[go: up one dir, main page]

WO2004051863A1 - Automated method for lossless data compression and decompression of a binary string - Google Patents

Automated method for lossless data compression and decompression of a binary string Download PDF

Info

Publication number
WO2004051863A1
WO2004051863A1 PCT/IT2002/000762 IT0200762W WO2004051863A1 WO 2004051863 A1 WO2004051863 A1 WO 2004051863A1 IT 0200762 W IT0200762 W IT 0200762W WO 2004051863 A1 WO2004051863 A1 WO 2004051863A1
Authority
WO
WIPO (PCT)
Prior art keywords
string
binary
words
value
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IT2002/000762
Other languages
French (fr)
Inventor
Elena Leanza
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATOP Innovation SpA
Original Assignee
ATOP Innovation SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATOP Innovation SpA filed Critical ATOP Innovation SpA
Priority to AU2002368408A priority Critical patent/AU2002368408A1/en
Priority to PCT/IT2002/000762 priority patent/WO2004051863A1/en
Publication of WO2004051863A1 publication Critical patent/WO2004051863A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Definitions

  • the present invention concerns an automated method for compressing binary strings without information loss, or lossless compression method, and related automated method for decompressing, which makes possible, in a simple, fast and inexpensively producible way, to minimise in a lossless way the dimension of binary strings.
  • the present invention further concerns the instruments necessary to perform the automated methods and to the apparatus performing the same.
  • the compression methods can be classified according to the congruence between decompressed data and original data, dividing the concerned compression methods into methods having no information loss or "lossless” methods, when the data reconstructed or decompressed from the compressed data are identical to the original ones, and methods hav- ing information losses or "lossy” methods, in which the reconstructed data lose a portion of the original data information.
  • lossless methods are preferable and, in some specific applications when all the information must be kept, are the only ones that may be used. Examples of lossless methods are the Huffman encoding method and the Lempel-Ziv-Welch, or LZW, encoding method.
  • the Huffman method operates only on static strings, creating a corresponding dictionary for each string, while the LZW method operates on dynamic strings, creating a dynamically updated dictionary. Consequently, both said methods are complex and their computer execution is slow.
  • each encoding method is suitably designed in connection with specific types of data to be encoded, newer and newer encoding requirements for data having particular characteristics are being encountered. This causes a certain difficulty of use, especially in case of transmission of composite data, requiring the use of different encoding methods.
  • the datum related to the pres ⁇ is the datum related to the pres ⁇
  • the output string E may further comprise an initial flag bit for indicating whether at least one binary value B k is not present within the input string S (and, therefore, the specific flags of each individual binary value B k must be read) or all the binary values B k are present (and, therefore, the output string E does not comprise specific flags of each in- dividual binary value B k because all the values must be read).
  • the datum related to the presence of at least one word having binary value B k within the string S k may be the number N ⁇ of words located within the string S k .
  • the sorting rule may assume the 2" binary values (B) as positive binary values and the sorting 0 fixed during step A may be either the decreasing sorting or the increasing sorting of such positive binary values.
  • the method may count the number of occurrences of each binary value B k within the input binary string S, and the sorting rule may fix the sorting O according to either the decreasing sorting or the increasing sorting of the occurrences of the binary values B k within the input binary string S, the method further comprising the step: F. juxtaposing to the output string E data related to the sorting O fixed during step A.
  • the method is automatically adaptive to the type of file to be compressed, in conformity to the occurrences of the binary values.
  • step D.3 the elements d k are juxtaposed to the output string E according to a binary encoded
  • sentation defines a first positive integer value g k , with g k ⁇ 0 , and a sec-
  • d k may be represented by (g k +x k + 2) binary bits according to the formula:
  • W the division — , i.e. it is equal to W -In ⁇ ;
  • the method may also comprise the step:
  • the method may determine the optimum first and second positive integer values g k and x k by means of a trial and error process.
  • the trial and error process may verify the size of memory needed to represent the array A k according to the binary encoded representation for all the values of the first and second positive integer values g k and x k ranging, respectively, from 0 and G, with G > 0 , and from 0 and X, with X > 0.
  • the method may furthermore comprise the step:
  • the method still comprises the step:
  • the method is iterated, being applied at each h-Vn iteration, with h > ⁇ , to the output string E obtained by the preceding ( ⁇ -l)-th iteration.
  • n h _ x and n h of bits, included in the words into which the corresponding input strings S are subdivided during step C may be different with respect to one another: n h _ x ⁇ n h
  • an automated method for decompressing a compressed binary string E of input data into a binary string S of output data characterised in that the compressed bi- nary string E of input data has been obtained by applying to the binary string S the just described automated compression method, and in that it comprises the following steps:
  • the decompression method may be iterated, the compressed binary string E of input data having being obtained by applying to the binary string S the iterated automated compression method.
  • an electronic apparatus comprising at least one central processing unit and at least one memory unit, characterised in that it executes the automated compression method previously illustrated.
  • an electronic apparatus comprising at least one central processing unit and at least one memory unit, characterised in that it executes the automated decompression method described before.
  • an electric, magnetic or electromagnetic signal modulated by a digital signal characterised in that said digital signal comprises at least one compressed binary string E obtained by means of the automated compression method previously illustrated.
  • a computer program comprising code means adapted to execute, when running on a computer, the automated compression method previously described. It is further subject matter of this invention a memory medium readable by a computer, storing a program, characterised in that the program is the computer program just described.
  • Figure 1 schematically shows a portion of a binary string S of input data to be compressed by means of a preferred embodiment of the auto- mated method according to the invention
  • Figure 2 schematically shows the portion of the string S of Figure 1 ;
  • Figure 3 schematically shows a flow chart of the trial and error process for determining the first and the second optimum positive integer values g k and x k according to the preferred embodiment of the automated method according to the invention
  • Figure 4 schematically shows a first portion of the compressed binary string E of output data generated by the preferred embodiment of the automated method according to the invention
  • Figure 5 schematically shows a portion of a second string Si gener- ated during the execution of the preferred embodiment of the automated compression method according to the invention
  • Figure 6 schematically shows a second portion of the compressed binary string E of output data generated by the preferred embodiment of the automated method according to the invention
  • Figure 7 schematically shows a third portion of the compressed bi ⁇
  • Figure 8 schematically shows a flow chart of the preferred embodi-
  • word 1 comprises n bits, where in a preferred embodiment of the invention
  • n 8.
  • the string S may be padded with a
  • Each word 1 may assume one binary value B among 2 n different bi ⁇
  • the method fixes a sorting O of such 2 n values according to a corresponding sorting rule:
  • the method scans the string S for determining the position of the words 1' having the binary value B Q which is in the first position within the sorting 0, and it stores their reciprocal distances df" in a memory array A Q ; in the embodiment of Figure 1 , such first binary value is the value "11111111".
  • each one of the No elements of the array A Q in case N 0 > 0 , is represented according to a suitable encoded binary representation.
  • this may be represented in one of three different ways: 1 ) in the case when df' ⁇ 2 8 " [2] df" is represented by (g 0 + 1) binary bits, the first of which is equal to "0" and the following g 0 bits form the positive two's complement binary representation having g 0 bits of the value of df" ; in other words, in this case df" is represented according to the formula:
  • d ,pB is represented by g 0 + XQ + 2 binary bits, where
  • In[x] is the operator returning the integer part of X, in such a way that
  • bits are equal to "1", the following bit is equal to "0' and the last (go +*o) D ' ts are tne positive two's complement binary
  • a second binary string S is constructed, either physically or logically, which is obtained by eliminating from the initial string S all the words 1 ' having the binary value B 0 .
  • the output string E comprises only one flag bit equal to "0".
  • the method scans the string Si for determining the position of the words having the binary value B ⁇ which is in the second position within the sorting O, and it stores their reciprocal distances df in a corresponding memory array A ⁇ ; in the embodiment of the method shown in the Figures, such second binary value is the value "11111110".
  • the array A ⁇ contains N j elements related to the distances df , for i - 0,1,2,...,N - I , which locate the positions within the string S L of the Ni words having binary value B ⁇ .
  • the embodi- ment of the method shown in the Figures fixes two positive integer values gi and x ⁇ which minimise the size of memory needed to represent the array A ⁇ according to the encoded representation, illustrated above with reference to the array A Q .
  • the method executes similar operations on the third string S 2 , scanning it for determining the position of the words having the binary value B 2 which is in the third position within the sorting O, and it stores their reciprocal distances df 2 in a memory array A 2 ; in the embodiment of the method shown in the Figures, such third binary value is the value "11111101".
  • the string S 2 comprises N 2 words, with N 2 > 0 , having the binary value B 2
  • a fourth binary string S 3 is constructed, either physically or logically, which is obtained by eliminating from the third string S 2 all the words having the binary value B 2 .
  • the method iterates the preceding steps for all the 2"
  • the method advantageously stores the initial size of the
  • D d k is represented only by the bit "0"
  • Figure 8 shows a flow chart which schematically summarises the method steps illustrated above.
  • the embodiment of the method shown in the Figures may be iterated, that is the output string E may be subjected to the same steps of the compression method, schematically shown in Figure 8, being treated as it were an input string S so as to obtain a new output string E ⁇ .
  • the initial size of the input string S is advantageously stored only once at the head of the last output string.
  • the string E is subdivided in words comprising the same number n of bits, if the new output string E ⁇ which is obtained has smaller size, otherwise the string E is subdivided in words comprising a number n x of bits that is different from n bits, preferably n ⁇ n .
  • the number n h of bits of the words into which the input string to be compressed has been subdivided is stored at the output string head.
  • the automated decompression method reconstructs the input string S starting from the output string E.
  • the output string E is read according to a sorting reversed with respect to the sorting O used for constructing it, carrying out the following steps:
  • sion method must also be iterated up to reconstructing the input string S.
  • an input data string to be compressed may prelimi ⁇
  • the receiving apparatus may incrementally reconstruct the origi ⁇
  • nal input data string starting from the different consecutive segments, by incrementally juxtaposing the segments obtained from decompression of the compressed segments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The present invention concerns an automated method for lossless compression method, of a binary string (S) of input data into a compressed binary string (E) of output data, which subdivides the input string (S) into words (1) each comprising n bits and, on the basis of a sorting ; O = {B0, B1, B2,…,B2n-1} = {Bk}k=0,1,2,…,2n-1 of the 2n binary values (B) which may be assumed by a binary word, for each binary value Bk of the sorting O, for k = 0, 1, 2,(2n-2), assuming that (S0 = S), it locates the words having binary value Bk within the string Sk, it sores in an array Ak the distance diBk of each located word with respect to the preceding word having binary value Bk, it juxtaposes to the output string (E) the elementsdiBk stored in the array Ak and it constructs a string Sk+1 obtained by eliminating from the string Sk the Nk located words, the method finally juxtaposing to the output string (E) the number N2n-1 of words of the last string S2n-1. The present invention also concerns the related automated method for decompressing a compressed binary string (E) of input data into a binary string (S) of output data. The present invention further concerns the instruments necessary to perform the automated methods and to the apparatus performing the same.

Description

AUTOMATED METHOD FOR COMPRESSING BINARY STRINGS WITHOUT INFORMATION LOSS, AND RELATED AUTOMATED METHOD FOR DECOMPRESSING.
* * * * * * * The present invention concerns an automated method for compressing binary strings without information loss, or lossless compression method, and related automated method for decompressing, which makes possible, in a simple, fast and inexpensively producible way, to minimise in a lossless way the dimension of binary strings. The present invention further concerns the instruments necessary to perform the automated methods and to the apparatus performing the same.
It is known that one of the main problems of computer technology and, more broadly, of telecommunications, lies in the larger and larger amount of data needed for processing. This causes a heavy occupation of memories readable by computers, such as removable (e.g. CD-ROMs and floppy disks) or fixed (the so-called Hard Disks of computers) memory media, and a consequent long occupation of telecommunications networks during information transmission, which involves higher transmission error probability, higher transmission cost, and physical limitation to the feasibility of specific real time applications. In this regard, it is possible to consider some applications for transmitting large data quantity by employing transmission channels having limited capacity; in particular, it is possible to recall the attempt for carrying out an interactive television service, known as Video-on-Demand, based upon the twin wire telephone network, that, due to the great limitations of the channel, has to necessarily transmit a smaller data quantity, making consequently the television image resolution worse. Considering that the quantity of information presently stored in computers and/or exchanged through telecommunications networks is rapidly growing, also due to the big push exerted by the Internet which extensively uses information having large data quantity (such as digital images), the problem of reducing the quantity of data representing both in- formation and application programs is extremely critical.
In order to solve such problem, many solutions have been developed, providing for an encoding of data, represented in binary format, according to suitable methods in order to reduce the memory occupation. Generally, such encoding methods are particularly advantageous when applied to specific types of data to be encoded, having specific characteristics. In other words, each individual encoding method is more or less advantageous depending on if it is applied, for instance, to data representing stationary images or to data representing video images or to data representing sounds. The compression methods can be classified according to the congruence between decompressed data and original data, dividing the concerned compression methods into methods having no information loss or "lossless" methods, when the data reconstructed or decompressed from the compressed data are identical to the original ones, and methods hav- ing information losses or "lossy" methods, in which the reconstructed data lose a portion of the original data information. Obviously lossless methods are preferable and, in some specific applications when all the information must be kept, are the only ones that may be used. Examples of lossless methods are the Huffman encoding method and the Lempel-Ziv-Welch, or LZW, encoding method.
Such methods have some drawbacks.
For instance, the Huffman method operates only on static strings, creating a corresponding dictionary for each string, while the LZW method operates on dynamic strings, creating a dynamically updated dictionary. Consequently, both said methods are complex and their computer execution is slow.
Moreover, just because each encoding method is suitably designed in connection with specific types of data to be encoded, newer and newer encoding requirements for data having particular characteristics are being encountered. This causes a certain difficulty of use, especially in case of transmission of composite data, requiring the use of different encoding methods.
Therefore, the search of improved encoding methods aimed at even more compressing the data to be stored and/or transmitted is being even more developed.
It is an object of this invention, therefore, to provide an automated method for compressing binary strings without information loss, or lossless compression method, which is simple, fast executed by a com- puter, and which makes possible minimise the number of bits needed to represent the number under consideration.
It is another object of this invention to provide such a compression method which generates compressed data strings suitably organised so as to be possibly further compressed.
It is still object of this invention to provide the related automated method for decompressing, and the instruments necessary to perform the automated methods and the apparatus performing the same.
It is specific subject matter of this invention an automated method for compressing, without information loss, or lossless compression method, a binary string S of input data into a compressed binary string E of output data, characterised in that it comprises the following steps:
A. fixing a sorting O of the 2" binary values (B), which may be assumed by a binary word comprising n bits, according to a rule of sorting: O = {B0,B B2,...,B2»_l} = {Bk}k=0 l 2 r_λ ;
B. inizialising the output string E to the void string:
£ ="" ;
C. subdividing the input string S into words each comprising n bits;
D. for each binary value Bk of the sorting O, for k = 0,1,2,...,(2" -2), as- suming that S0 = S ,
D.1 locating within the string Sk the Nk words, with Nk ≥ 0 , having the binary value Bk , D.2 in the case when Nk > 0 , storing in an array Ak the distance dt k , for 7 = 0,1,2,...,Nk - 1 , of each word located during step D.1 with respect to the preceding word having binary value Bk , in
such a way that the distance d " of the first located word is
equal to the number of words of the string Sk which precede it
and the distance dt k of the located words following the first
one is equal to the number of words interposed between the
word located during step D.1 and the preceding word having
binary value Bk ,
D.3 juxtaposing to the output string E a datum related to the pres¬
ence of at least one word having binary value Bk within the
D string Sk and, in the case when Nk > 0 , the elements di * , for
i - 0,1,2,..., Nk - 1 , stored in the array Ak during step D.2,
D.4 constructing a string Sk+i obtained by eliminating from the
string Sk the Nk words, with N ≥ 0 , located during step D.1
having the binary value Bk , and repeating loop D,
E. juxtaposing to the output string E the number N2»_ι of words of the
last string S2"-ι -
Preferably according to the invention, the datum related to the pres¬
ence of at least one word having binary value Bk within the string Sk ,
which is juxtaposed to the output string E during step D.3, is a flag bit, still
more preferably equal to "1", in the case when at least one word having
binary value Bk is present within the string Sk , or otherwise is equal to
"0", in the case when no word having binary value Bk is present within
the string Sk .
Alternatively, the output string E may further comprise an initial flag bit for indicating whether at least one binary value Bk is not present within the input string S (and, therefore, the specific flags of each individual binary value Bk must be read) or all the binary values Bk are present (and, therefore, the output string E does not comprise specific flags of each in- dividual binary value Bk because all the values must be read).
Always according to the invention, the datum related to the presence of at least one word having binary value Bk within the string Sk , which is juxtaposed to the output string E during step D.3, may be the number N^ of words located within the string Sk . Still according to the invention, the sorting rule may assume the 2" binary values (B) as positive binary values and the sorting 0 fixed during step A may be either the decreasing sorting or the increasing sorting of such positive binary values.
Furthermore according to the invention, during step A the method may count the number of occurrences of each binary value Bk within the input binary string S, and the sorting rule may fix the sorting O according to either the decreasing sorting or the increasing sorting of the occurrences of the binary values Bk within the input binary string S, the method further comprising the step: F. juxtaposing to the output string E data related to the sorting O fixed during step A.
In this way, the method is automatically adaptive to the type of file to be compressed, in conformity to the occurrences of the binary values.
Preferably according to the invention, during step D.3 the elements d k are juxtaposed to the output string E according to a binary encoded
representation.
Still more preferably according to the invention, said encoded repre¬
sentation defines a first positive integer value gk , with gk ≥0 , and a sec-
ond positive integer value χk , with xk > 0 , and the value of dt * is repre¬
sented according to:
- a first mode, in the case when
Figure imgf000008_0001
- a second mode, in the case when
Figure imgf000008_0002
- a third mode, in the case when
D
Always according to the invention, according to said first mode, di *
may be represented:
- in the case when gk > 0 , by (gk + 1) binary bits according to the
formula ([3]):
where "&" is the juxtaposition operator and [z\ is the positive
two's complement binary representation having t bits of the value Z;
and
in the case when gk = 0 , by only one binary bit equal to
"0"
Still according to the invention, according to said second mode, d k may be represented by (gk +xk + 2) binary bits according to the formula:
Figure imgf000009_0001
Furthermore according to the invention, according to said third mode,
di k is represented:
A -2*»
- in the case when χk > 0, by gk + χk + 2 +M binary
bits, where In[x] is the operator returning the integer part of X,
according to the formula:
Figure imgf000009_0002
Figure imgf000009_0005
W where & "l" is the operator constructing a string including W bits y=ι
W_ equal to "1" and Re is the operator returning the remainder of Y
W the division — , i.e. it is equal to W -In\ ; and
Y
in the case when binary
Figure imgf000009_0003
bits according to the formula:
Figure imgf000009_0004
Figure imgf000009_0006
Always according to the invention, for each binary value Bk of the sorting O, for k = 0,1,2,...,(2" - 2), it may be
8k = 8 xk = x Still according to the invention, the method may also comprise the step:
G. juxtaposing to the output string E data related to the first positive integer Value g and to the second positive integer value x. . Preferably according to the invention, the method may determine for each array Ak , for k = 0,1,2,...,(2" - 2], the optimum first and second positive integer values gk and xk , i.e. which are apt to minimise the size of memory needed to represent the array Ak according to the binary encoded representation, the method juxtaposing to the output string E, during step D.3, data related to the optimum first and second positive integer values gk and xk .
Furthermore according to the invention, the method may determine the optimum first and second positive integer values gk and xk by means of a trial and error process.
Always according to the invention, the trial and error process may verify the size of memory needed to represent the array Ak according to the binary encoded representation for all the values of the first and second positive integer values gk and xk ranging, respectively, from 0 and G, with G > 0 , and from 0 and X, with X > 0.
Preferably according to the invention, G=12 and/or X=3. Still preferably according to the invention, the number n of bits, included in the words into which the input string S is subdivided during step C, is an involution of 2: n = 2m Furthermore according to the invention, the method may furthermore comprise the step:
H. juxtaposing to the output string E data related to the number n of bits included in the words into which the input string S is subdivided during step C. Preferably according to the invention, the method still comprises the step:
I. juxtaposing to the output string E data related to the size of the input string S.
Still preferably according to the invention, the method is iterated, being applied at each h-Vn iteration, with h > \ , to the output string E obtained by the preceding (Λ-l)-th iteration.
Always according to the invention, for at least two consecutive iterations (h-\) and h, with h > \ , the corresponding numbers nh_x and nh of bits, included in the words into which the corresponding input strings S are subdivided during step C, may be different with respect to one another: nh_x ≠ nh It is still specific subject matter of this invention an automated method for decompressing a compressed binary string E of input data into a binary string S of output data, characterised in that the compressed bi- nary string E of input data has been obtained by applying to the binary string S the just described automated compression method, and in that it comprises the following steps:
J. reading within the compressed string E the number N2»_ι of words having the binary value τ5 "'>
K. constructing a string S2»_, comprising N2»_χ words having the binary value B2"_\ \ L. for each binary value Bk of the sorting 0, for k =
Figure imgf000012_0001
- 3J, ,2,1,0 , constructing a corresponding string Sk executing the steps of the loop:
L 1 initialising the string Sk to the string S , L.2 reading within the compressed string E the datum related to the presence of at least one word having binary value Bk within the string Sk , L.3 in the case when at least one word having binary value Bk is present within the string Sk , reading within the compressed string E the values d k , for i = 0,1,2, ,Nk - \ , with Nk ≥ 0 , of the distances of each word having binary value Bk from the preceding word having binary value Bk , and inserting into the string Sk words having the binary value Bk at the positions located by the values d " L 4 repeating the loop L, M. assuming the binary string S of output data equal to the string S0 :
S = S0 . Always according to the invention, the decompression method may be iterated, the compressed binary string E of input data having being obtained by applying to the binary string S the iterated automated compression method. It is also subject matter of this invention an electronic apparatus, comprising at least one central processing unit and at least one memory unit, characterised in that it executes the automated compression method previously illustrated.
It is further subject matter of this invention an electronic apparatus, comprising at least one central processing unit and at least one memory unit, characterised in that it executes the automated decompression method described before.
It is still subject matter of this invention an electric, magnetic or electromagnetic signal modulated by a digital signal, characterised in that said digital signal comprises at least one compressed binary string E obtained by means of the automated compression method previously illustrated.
It is another subject matter of this invention a computer program comprising code means adapted to execute, when running on a computer, the automated compression method previously described. It is further subject matter of this invention a memory medium readable by a computer, storing a program, characterised in that the program is the computer program just described.
It is another subject matter of this invention a computer program comprising code means adapted to execute, when running on a computer, the automated decompression method illustrated before.
It is further subject matter of this invention a memory medium readable by a computer, storing a program, characterised in that the program is the computer program just described. The present invention will be now described, by way of illustration and not by way of limitation, according to its preferred embodiments, by particularly referring to the Figures of the enclosed drawings, in which:
Figure 1 schematically shows a portion of a binary string S of input data to be compressed by means of a preferred embodiment of the auto- mated method according to the invention;
Figure 2 schematically shows the portion of the string S of Figure 1 ;
Figure 3 schematically shows a flow chart of the trial and error process for determining the first and the second optimum positive integer values gk and xk according to the preferred embodiment of the automated method according to the invention;
Figure 4 schematically shows a first portion of the compressed binary string E of output data generated by the preferred embodiment of the automated method according to the invention;
Figure 5 schematically shows a portion of a second string Si gener- ated during the execution of the preferred embodiment of the automated compression method according to the invention;
Figure 6 schematically shows a second portion of the compressed binary string E of output data generated by the preferred embodiment of the automated method according to the invention; Figure 7 schematically shows a third portion of the compressed bi¬
nary string E of output data generated by the preferred embodiment of the automated method according to the invention; and
Figure 8 schematically shows a flow chart of the preferred embodi-
ment of the automated compression method according to the invention.
In the following of the description same references will be used to indicate alike elements in the Figures.
With reference to Figure 1 , it may be observed that the automated
compression method firstly subdivides into words 1 of equal length the
string S, having binary representation, which is to be compressed. Each
word 1 comprises n bits, where in a preferred embodiment of the invention
n = 8. Advantageously, in case the size of the string S is not a multiple of
n, in order to obtain a last word of n bits the string S may be padded with a
tail of bits equal to "0".
Each word 1 may assume one binary value B among 2n different bi¬
nary values, which, for n = 8, are equal to 28 = 256. The method fixes a sorting O of such 2n values according to a corresponding sorting rule:
Figure imgf000015_0001
In the embodiment of the method shown in the Figures, the words 1 are
considered as positive binary numbers the sorting of which is the de¬
creasing sorting from the decimal value 255, equal to the binary value "11111111", to the value 0, equal to the binary value "00000000".
With reference to Figure 2, the method scans the string S for determining the position of the words 1' having the binary value BQ which is in the first position within the sorting 0, and it stores their reciprocal distances df" in a memory array AQ ; in the embodiment of Figure 1 , such first binary value is the value "11111111". In particular, in the embodiment of Figure 2, the distance df" of the first word V equal to B0 ="11111111" is equal to the number of words 1 of the string S which precede it, while the distance df° (for /' > 0) between two successive words V equal to B0-"\ 1 11111" is equal to the number of words 1 which separate them, in such a way that in the case when two words equal to BQ='"\ 1111111" are consecutive, as in the case of the words 1" of Figure 2, their reciprocal distance is equal to 0, so that in Figure 2 it is df" = 0.
Assuming that the string S comprises N0 words, with N0 > 0 , having binary value B0 , at the end of such step of scanning the string S for searching all the words having binary value B0 , the array AQ contains N0 elements related to the distances
Figure imgf000016_0001
for /' = 0,1,2,..., N0 - 1 , which locate the positions within the string S of the N0 words V having binary value
%
In the embodiment of the method shown in the Figures, each one of the No elements of the array AQ , in case N0 > 0 , is represented according to a suitable encoded binary representation. In particular, being de- fined two positive integer values g0 and xQ , with g0 ≥ 0 and x0 > 0 , depending on the value of df" this may be represented in one of three different ways: 1 ) in the case when df' < 28" [2] df" is represented by (g0 + 1) binary bits, the first of which is equal to "0" and the following g0 bits form the positive two's complement binary representation having g0 bits of the value of df" ; in other words, in this case df" is represented according to the formula:
"0 "& H [3]
where "&" is the juxtaposition operator and [z]t is the positive two's complement binary representation having t bits of the value Z; ) in the case when
Figure imgf000017_0001
df" is represented by (go + χo + 2) binary bits the first of which is equal to "1", the second one is equal to "0" and the following (g0 + xQ) bits are the positive two's complement binary representation having (g0 + χ0) bits of the value of ψi ° - 28° j; in other words, in this case d ,pB, is represented according to the formula:
"10"& ^' - 2*^ [5] o +*o) ) finally, in the case when
2(s« +x«) < dB" [6]
d ,pB, is represented by g0 + XQ + 2 binary bits, where
Figure imgf000017_0002
In[x] is the operator returning the integer part of X, in such a way that
the first bit of the encoded representation is equal to "1", the following
bits are equal to "1", the following bit is equal to "0'
Figure imgf000017_0003
and the last (go +*o) D'ts are tne positive two's complement binary
Bn d. 28" representation having (go + *o) D'ts °f tne value of Re
>(g„ +*o )
W_ where Re is the operator returning the remainder of the division Y
W_ W_ i.e. it is equal to W -Iή in other words, in this third case Y Y
d ,pBB is represented according to the formula:
Figure imgf000018_0001
w where & T is the operator constructing a string including W bits
equal to "1".
In the embodiment of the method shown in the Figures, the two posi-
tive integer values g0 and x0 are fixed through a trial and error process
which finds the optimum values of g0 and x0 that minimise the size of
memory needed to represent the array AQ according to the encoded rep¬
resentation. Specifically, with reference to Figure 3, immediately under¬
standable to one skilled in the art, for each trial value of g0 between 0
and G, with G > 0 , the method verifies the memory occupation of the rep¬
resentation of the array AQ for each value of xQ between 0 and X, with
X > 0 , and it considers as optimum values of g0 and χ0 the ones which
minimise such memory occupation. Preferably, G=12 and X=3. With reference to Figure 4, it may be observed that at the end of the step of encoded representation of the array AQ , the method constructs an output string E comprising:
- a first flag bit equal to "1", for indicating that at least one word of value B0 exists within the string S (i.e. the array AQ comprises at least one element df" ),
- the values of g0 and x0 , and
- the No elements of the array AQ having encoded representation.
As it will be illustrated later on, it is not necessary to insert into the output string E the value of N0. However, alternative embodiments of the method may provide, instead of the first flag bit of indicating the presence of at least one word of value BQ within the string S, for the insertion into the output string E of the value of N0 (which assumes the value 0, in case of absence of words of value v30 within the string S). Moreover, as shown in Figure 5, a second binary string S: is constructed, either physically or logically, which is obtained by eliminating from the initial string S all the words 1 ' having the binary value B0.
In the case when the string S does not comprise any word of value equal to B0 , that is N0 = 0 , the output string E comprises only one flag bit equal to "0".
Afterward, similarly to what executed during the preceding step, the method scans the string Si for determining the position of the words having the binary value Bλ which is in the second position within the sorting O, and it stores their reciprocal distances df in a corresponding memory array Aγ ; in the embodiment of the method shown in the Figures, such second binary value is the value "11111110".
Assuming that the string Si comprises Ni words, with Ni > 0 , having the binary value Bγ , at the end of such scanning step of the string Si for searching all the words having the binary value Bx , the array Aλ contains Nj elements related to the distances df , for i - 0,1,2,...,N - I , which locate the positions within the string SL of the Ni words having binary value Bγ.
Similarly to what done for the array AQ , in case Ni > 0 , the embodi- ment of the method shown in the Figures fixes two positive integer values gi and xλ which minimise the size of memory needed to represent the array Aγ according to the encoded representation, illustrated above with reference to the array AQ .
With reference to Figure 6, it may be observed that, in case Ni > 0 , at the end of the step of encoded representation of the array Ax , the method juxtaposes at the head of the output string E
- a first flag bit of flag equal to "1", for indicating that at least one word of value Bγ exists within the string S (i.e. the array A comprises at least one element di ' ), - the values of gi and xi , and
- the Ni elements of the array A having encoded representation.
In case the string S does not comprises any word of value equal to τ5ι , that is Ni = 0 , only one flag bit equal to "0" is juxtaposed to the output string E. A third binary string S2 is then constructed, either physically or logically, which is obtained by eliminating from the second string Si all the words having the binary value τ9ι .
The method executes similar operations on the third string S2 , scanning it for determining the position of the words having the binary value B2 which is in the third position within the sorting O, and it stores their reciprocal distances df2 in a memory array A2 ; in the embodiment of the method shown in the Figures, such third binary value is the value "11111101". Assuming that the string S2 comprises N2 words, with N2 > 0 , having the binary value B2 , at the end of such scanning step the array A2 contains N2 elements related to the distances df , for /' = 0,1,2,..., N2 - 1. Similarly to what previously done, in case N2 > 0 the method fixes two positive integer values g2 and x2 which minimise the size of memory needed to represent the array A2 according to the already illustrated encoded representation, and, as shown in Figure 7, at the head of the output string E there are juxtaposed:
- a first flag bit equal to "1",
- the values of g2 and x2 , and
- the N2 elements of the array A2 having encoded representation. Also, in case the string S does not comprise any word of value equal to B2 , that is N2 = 0, only one flag bit equal to "0" is juxtaposed to the output string E.
Afterward, a fourth binary string S3 is constructed, either physically or logically, which is obtained by eliminating from the third string S2 all the words having the binary value B2.
In other words, the method iterates the preceding steps for all the 2"
different binary values Bt according to the sorting O. However, for the last
binary value Br_λ , that in the embodiment of Figure 1 is the value
"00000000", the method stores only the number N2»_ι of words having
such binary value Br_γ , since the last string S2»_, comprises only words
having such binary value Bτ_γ , so that the related reciprocal distances
dt 2"-' have constant value equal to 0. Therefore, for the last binary value
B _γ it is not even executed an encoded representation as previously
illustrated.
Finally, the method advantageously stores the initial size of the
compressed string S, without the possible tail of bits equal to "0".
The embodiment of the method shown in the Figures provides for the
following specific cases of the encoded representation for specific values
of gk and xk , for £ = 0,1,2,...,2" - 2 :
- in the case when gk = 0 , if the inequality [2] occurs, the element
D d k is represented only by the bit "0"; and
- in the case when χ = 0 , the inequality [4] may never occur and,
therefore, in case the inequality [6] occurs, the encoded repre-
sentation of the element dfk does not comprise the first bit "1",
i.e. this is represented according to the formula
Figure imgf000022_0001
Figure 8 shows a flow chart which schematically summarises the method steps illustrated above.
The embodiment of the method shown in the Figures may be iterated, that is the output string E may be subjected to the same steps of the compression method, schematically shown in Figure 8, being treated as it were an input string S so as to obtain a new output string Eγ . In this case, the initial size of the input string S is advantageously stored only once at the head of the last output string.
In particular, the string E is subdivided in words comprising the same number n of bits, if the new output string Eγ which is obtained has smaller size, otherwise the string E is subdivided in words comprising a number nx of bits that is different from n bits, preferably n < n . Still more preferably, the sizes nh of the words in which the strings to be compressed are subdivided ad each Λ-th iteration are equal to involutions of 2, according to the formula: nh = 2m> The number nh of bits of the words into which the input string to be compressed has been subdivided is stored at the output string head.
The automated decompression method reconstructs the input string S starting from the output string E. In particular, the output string E is read according to a sorting reversed with respect to the sorting O used for constructing it, carrying out the following steps:
- reading the number nh of bits of the words forming the string S;
- constructing a string S _l comprising N _{ words having the binary value B _x
- for each successive binary value Bk , for k decreasing from (2" - 2) to
0,
- reading the flag bit and, in case it is equal to "1", reading the
values of gk and xk and constructing a string S^ by inserting
into the string Sk+l words having the binary value Bk at the po-
sitions located by the values dχ k interpreted according to the
encoded representation of formulas [3], [5], [7] and [8].
It is clear that, knowing the number of words included in the string
+1, it is not necessary to know the number N^ of words having binary
value Bk to be inserted into the string S , thanks to the fact that the at-
D tempt of reading f k , for i ≥ Nk , would be inconsistent with the number
of words included in the string Sk+γ.
In case the compression method has been iterated, the decompres-
sion method must also be iterated up to reconstructing the input string S.
Advantageously, an input data string to be compressed may prelimi¬
narily be subdivided in equal parts or "segments", all of which may sepa¬
rately be compressed for being then, for example, transmitted and, at re¬
ception, decompressed and composed so as to form again the original
string. This segmentation is done in order on the one hand to lighten the
compression process and on the other hand to allow data to be sent in
several segments along one of common data transmission lines, in such a
way that the receiving apparatus may incrementally reconstruct the origi¬
nal input data string starting from the different consecutive segments, by incrementally juxtaposing the segments obtained from decompression of the compressed segments.
The preferred embodiments have been above described and some modifications of this invention have been suggested, but it should be un- derstood that those skilled in the art can make other variations and changes, without so departing from the related scope of protection, as defined by the following claims.

Claims

1. Automated method for compressing, without information loss, or
lossless compression method, a binary string S of input data into a com¬
pressed binary string E of output data, characterised in that it comprises
the following steps:
A. fixing a sorting 0 of the 2n binary values (B), which may be assumed
by a binary word comprising n bits, according to a rule ([1 ]) of sort¬
ing:
0 = {Bθ>BhB2> >BT-l} = iBk }k=0,l,2,...,2"-l ' B. inizialising the output string E to the void string:
E ="" ;
C. subdividing the input string S into words (1 ) each comprising n bits;
D. for each binary value Bk of the sorting 0, for k = 0,1,2,..., 2n -2], as¬
suming that So = S ,
D.1 locating within the string S^ the N^ words, with Nk ≥ 0 , having
the binary value Bk ,
D.2 in the case when Nk > 0 , storing in an array Ak the distance
D dt k , for /' = 0,1,2,... ,NΛ - 1 , of each word located during step D.1
with respect to the preceding word having binary value Bk , in
such a way that the distance dfk of the first located word is
equal to the number of words of the string S^ which precede it
and the distance dt * of the located words following the first
one is equal to the number of words interposed between the
word located during step D.1 and the preceding word having binary value Bk , D.3 juxtaposing to the output string E a datum related to the presence of at least one word having binary value Bk within the string Sk and, in the case when Nk > 0 , the elements dt k , for i = 0,1,2,...,Nk - 1 , stored in the array Ak during step D.2,
D.4 constructing a string Sk+l obtained by eliminating from the string S^ the Nk words, with N ≥ 0 , located during step D.1 having the binary value Bk , and repeating loop D, E. juxtaposing to the output string E the number N2»_ι of words of the last string S2»_ι -
2. Method according to claim 1 , characterised in that the datum related to the presence of at least one word having binary value Bk within the string Sk , which is juxtaposed to the output string E during step D.3, is a flag bit.
3. Method according to claim 2, characterised in that said flag bit is equal to "1", in the case when at least one word having binary value Bk is present within the string S , or otherwise is equal to "0", in the case when no word having binary value Bk is present within the string Sk .
4. Method according to claim 1 , characterised in that the datum re- lated to the presence of at least one word having binary value Bk within the string Sk , which is juxtaposed to the output string E during step D.3, is the number N^ of words located within the string S^ .
5. Method according to anyone of the preceding claims, characterised in that the sorting rule assumes the 2" binary values (B) as positive binary values and the sorting O fixed during step A is either the decreasing sorting or the increasing sorting of such positive binary values.
6. Method according to anyone of the claims from 1 to 4, characterised in that during step A the method counts the number of occurrences of each binary value Bk within the input binary string S, and the sorting rule fixes the sorting 0 according to either the decreasing sorting or the increasing sorting of the occurrences of the binary values Bk within the input binary string S, the method further comprising the step: F. juxtaposing to the output string E data related to the sorting O fixed during step A.
7. Method according to anyone of the preceding claims, character- ised in that during step D.3 the elements dt k are juxtaposed to the output string E according to a binary encoded representation.
8. Method according to claim 7, characterised in that said encoded representation defines a first positive integer value gk , with gk ≥ 0 , and a second positive integer value xk , with xk ≥ 0 , and the value of dt k is represented according to:
- a first mode, in the case ([2]) when
Figure imgf000028_0001
- a second mode, in the case ([4]) when
Figure imgf000028_0002
- a third mode, in the case ([6]) when
Figure imgf000028_0003
9. Method according to claim 8, characterised in that according to said first mode, d ,tβ k. is represented:
- in the case when gk > 0 , by (gk +l) binary bits according to the
formula ([3]):
"0"& kH
where "&" is the juxtaposition operator and [z is the positive
two's complement binary representation having t bits of the value Z;
and
- in the case when gk = 0 , by only one binary bit equal to
"0"
10. Method according to claim 8 or 9, characterised in that according
to said second mode, dl k is represented by gk +xk + 2) binary bits ac¬
cording to the formula ([5]):
Figure imgf000029_0001
11. Method according to anyone of the claims from 8 a 10, Character¬
ised in that according to said third mode, dt s k ' is represented
A 2 > in the case when xk > 0, by 8k + xk + 2 + binary
bits, where In[x] is the operator returning the integer part of X,
according to the formula ([7]):
Figure imgf000029_0002
w where & "l" is the operator constructing a string including W bits
W_ equal to "1" and Re is the operator returning the remainder of Y
the division
in the case binary
Figure imgf000030_0001
bits according to the formula ([8]):
Figure imgf000030_0002
12. Method according to anyone of the claims from 8 to 11 , charac¬
terised in that for each binary value Bk of the sorting 0, for
k = 0,l,2,...,{2" - 2), it is
gk = g x = x
13. Method according to claim 12, characterised in that it also com¬
prises the step:
G. juxtaposing to the output string E data related to the first positive in-
teger value g and to the second positive integer value x.
14. Method according to anyone of the claims from 8 to 12, charac¬
terised in that it determines for each array Ak , for k = 0,1,2,..., 2" -2), the
optimum first and second positive integer values gk and xk , i.e. which are apt to minimise the size of memory needed to represent the array Ak according to the binary encoded representation, the method juxtaposing to the output string E, during step D.3, data related to the optimum first and second positive integer values gk and xk .
15. Method according to claim 14, characterised in that it determines the optimum first and second positive integer values gk and xk by means of a trial and error process.
16. Method according to claim 15, characterised in that the trial and error process verifies the size of memory needed to represent the array Ak according to the binary encoded representation for all the values of the first and second positive integer values gk and χk ranging, respectively, from 0 and G, with G > 0 , and from 0 and X, with X > 0.
17. Method according to claim 16, characterised in that G=12 and/or X=3.
18. Method according to anyone of the preceding claims, characterised in that the number n of bits, included in the words into which the input string S is subdivided during step C, is an involution of 2: n = 2m
19. Method according to anyone of the preceding claims, character- ised in that it furthermore comprises the step:
H. juxtaposing to the output string E data related to the number n of bits included in the words into which the input string S is subdivided during step C.
20. Method according to anyone of the preceding claims, character- ised in that it still comprises the step:
I. juxtaposing to the output string E data related to the size of the input string S.
21. Method according to anyone of the preceding claims, character- ised in that it is iterated, being applied at each h-ih iteration, with h > 1 , to the output string E obtained by the preceding (Λ-l)-th iteration.
22. Method according to claim 21 , characterised in that, for at least two consecutive iterations (h-ϊ) and h, with h > \ , the corresponding numbers nh_γ and nh of bits, included in the words into which the corre- sponding input strings S are subdivided during step C, are different with respect to one another: nh-\ ≠ nh
23. Automated method for decompressing a compressed binary string E of input data into a binary string S of output data, characterised in that the compressed binary string E of input data has been obtained by applying to the binary string S the automated compression method according to anyone of claims from 1 to 20, and in that it comprises the following steps:
J. reading within the compressed string E the number N2"_ι of words having the binary value Bτ_γ ;
K. constructing a string S _l comprising N "_ι words having the binary value B2n_ \ L. for each binary value Bk of the sorting O, for k =
Figure imgf000032_0001
-3 J,..., 2,1,0 , constructing a corresponding string S^ executing the steps of the loop:
L.1 initialising the string Sk to the string Sk+ι,
L.2 reading within the compressed string E the datum related to the
presence of at least one word having binary value Bk within the
string Sk ,
L.3 in the case when at least one word having binary value Bk is
present within the string Sk , reading within the compressed
string E the values dfk , for i = oχ2,...,Nk - 1 , with N^ > 0 , of
the distances of each word having binary value Bk from the
preceding word having binary value Bk , and inserting into the
string S^ words having the binary value Bk at the positions lo-
D cated by the values dt k
L.4 repeating the loop L,
M. assuming the binary string S of output data equal to the string S0 :
S = SQ .
24. Method according to claim 23, characterised in that it is iterated,
the compressed binary string E of input data having being obtained by
applying to the binary string S the automated compression method ac¬
cording to claim 21 or 22.
25. Electronic apparatus, comprising at least one central processing
unit and at least one memory unit, characterised in that it executes the
automated compression method according to anyone of the claims from 1
to 22.
26. Electronic apparatus, comprising at least one central processing unit and at least one memory unit, characterised in that it executes the automated decompression method according to claim 23 or 24.
27. Electric, magnetic or electromagnetic signal modulated by a digital signal, characterised in that said digital signal comprises at least one compressed binary string E obtained by means of the automated compression method according to anyone of the claims from 1 to 22.
28. Computer program comprising code means adapted to execute, when running on a computer, the automated compression method according to anyone of the claims from 1 to 22.
29. Memory medium readable by a computer, storing a program, characterised in that the program is the computer program according to claim 28.
30. Computer program comprising code means adapted to execute, when running on a computer, the automated decompression method ac- cording to claim 23 or 24.
31. Memory medium readable by a computer, storing a program, characterised in that the program is the computer program according to claim 30.
PCT/IT2002/000762 2002-12-04 2002-12-04 Automated method for lossless data compression and decompression of a binary string Ceased WO2004051863A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2002368408A AU2002368408A1 (en) 2002-12-04 2002-12-04 Automated method for lossless data compression and decompression of a binary string
PCT/IT2002/000762 WO2004051863A1 (en) 2002-12-04 2002-12-04 Automated method for lossless data compression and decompression of a binary string

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IT2002/000762 WO2004051863A1 (en) 2002-12-04 2002-12-04 Automated method for lossless data compression and decompression of a binary string

Publications (1)

Publication Number Publication Date
WO2004051863A1 true WO2004051863A1 (en) 2004-06-17

Family

ID=32448851

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IT2002/000762 Ceased WO2004051863A1 (en) 2002-12-04 2002-12-04 Automated method for lossless data compression and decompression of a binary string

Country Status (2)

Country Link
AU (1) AU2002368408A1 (en)
WO (1) WO2004051863A1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007149358A1 (en) * 2006-06-19 2007-12-27 Essex Pa, L.L.C. Data compression
US7508325B2 (en) 2006-09-06 2009-03-24 Intellectual Ventures Holding 35 Llc Matching pursuits subband coding of data
US7586424B2 (en) 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
US7689049B2 (en) 2006-08-31 2010-03-30 Donald Martin Monro Matching pursuits coding of data
US7707213B2 (en) 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location
US7707214B2 (en) 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location with indirect addressing
US7783079B2 (en) 2006-04-07 2010-08-24 Monro Donald M Motion assisted data enhancement
US7786903B2 (en) 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7786907B2 (en) 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7791513B2 (en) 2008-10-06 2010-09-07 Donald Martin Monro Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7845571B2 (en) 2006-06-19 2010-12-07 Monro Donald M Data compression
US7864086B2 (en) 2008-10-06 2011-01-04 Donald Martin Monro Mode switched adaptive combinatorial coding/decoding for electrical computers and digital data processing systems
US7974488B2 (en) 2006-10-05 2011-07-05 Intellectual Ventures Holding 35 Llc Matching pursuits basis selection
EP2595076A3 (en) * 2011-11-18 2013-10-23 Tata Consultancy Services Limited Compression of genomic data
US8674855B2 (en) 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text
US10194175B2 (en) 2007-02-23 2019-01-29 Xylon Llc Video coding with embedded motion

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3523247A1 (en) * 1985-06-28 1987-01-02 Siemens Ag DEVICE FOR REDUCING BINARY DATA FLOWS
US6388585B1 (en) * 1998-08-11 2002-05-14 Matsushita Electric Industrial Co Ltd Method for data compression and decompression using decompression instructions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3523247A1 (en) * 1985-06-28 1987-01-02 Siemens Ag DEVICE FOR REDUCING BINARY DATA FLOWS
US6388585B1 (en) * 1998-08-11 2002-05-14 Matsushita Electric Industrial Co Ltd Method for data compression and decompression using decompression instructions

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HOSANG M.: "A character elimination algorithm for lossless data compression", MADE PUPLIC DURING DATA COMPRESSION CONFERENCE 2002, 2 April 2002 (2002-04-02) - 4 April 2002 (2002-04-04), pages 1 - 9, XP002246070, Retrieved from the Internet <URL:UNKNOWN> [retrieved on 20030617] *
HOSANG M.: "A character elimination algorithm for lossless data compression", PROCEEDINGS DATA COMPRESSION CONFERENCE 2002, 2 April 2002 (2002-04-02) - 4 April 2002 (2002-04-04), Snowbird, UT, USA, pages 457, XP002246068 *
MOFFAT A ET AL: "SELF-INDEXING INVERTED FILES FOR FAST TEXT RETRIEVAL", ACM TRANSACTIONS ON INFORMATION SYSTEMS, ASSOCIATION FOR COMPUTING MACHINERY, NEW YORK, US, vol. 14, no. 4, 1 October 1996 (1996-10-01), pages 349 - 379, XP000635100, ISSN: 1046-8188 *
PECHURA M. A., MCINTYRE D. R.: "Data Compression using static Huffman code-decode tables", COMMUNICATIONS OF THE ACM, vol. 28, no. 6, June 1985 (1985-06-01), pages 612 - 616, XP002246069 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8674855B2 (en) 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text
US7783079B2 (en) 2006-04-07 2010-08-24 Monro Donald M Motion assisted data enhancement
US7586424B2 (en) 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
US7845571B2 (en) 2006-06-19 2010-12-07 Monro Donald M Data compression
WO2007149358A1 (en) * 2006-06-19 2007-12-27 Essex Pa, L.L.C. Data compression
KR101092106B1 (en) 2006-06-19 2011-12-12 에섹스 피에이 엘엘씨 Data compression
US8038074B2 (en) 2006-06-19 2011-10-18 Essex Pa, L.L.C. Data compression
US7770091B2 (en) 2006-06-19 2010-08-03 Monro Donald M Data compression for use in communication systems
JP2009542092A (en) * 2006-06-19 2009-11-26 エセックス パ エルエルシー Data compression method
US7689049B2 (en) 2006-08-31 2010-03-30 Donald Martin Monro Matching pursuits coding of data
US7508325B2 (en) 2006-09-06 2009-03-24 Intellectual Ventures Holding 35 Llc Matching pursuits subband coding of data
US7974488B2 (en) 2006-10-05 2011-07-05 Intellectual Ventures Holding 35 Llc Matching pursuits basis selection
US7707214B2 (en) 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location with indirect addressing
US7707213B2 (en) 2007-02-21 2010-04-27 Donald Martin Monro Hierarchical update scheme for extremum location
US12457370B2 (en) 2007-02-23 2025-10-28 Xylon Llc Video coding with embedded motion
US12034980B2 (en) 2007-02-23 2024-07-09 Xylon Llc Video coding with embedded motion
US10194175B2 (en) 2007-02-23 2019-01-29 Xylon Llc Video coding with embedded motion
US11622133B2 (en) 2007-02-23 2023-04-04 Xylon Llc Video coding with embedded motion
US10958944B2 (en) 2007-02-23 2021-03-23 Xylon Llc Video coding with embedded motion
US10523974B2 (en) 2007-02-23 2019-12-31 Xylon Llc Video coding with embedded motion
US7786903B2 (en) 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7864086B2 (en) 2008-10-06 2011-01-04 Donald Martin Monro Mode switched adaptive combinatorial coding/decoding for electrical computers and digital data processing systems
US7791513B2 (en) 2008-10-06 2010-09-07 Donald Martin Monro Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7786907B2 (en) 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US8972200B2 (en) 2011-11-18 2015-03-03 Tata Consultancy Services Limited Compression of genomic data
EP2595076A3 (en) * 2011-11-18 2013-10-23 Tata Consultancy Services Limited Compression of genomic data

Also Published As

Publication number Publication date
AU2002368408A1 (en) 2004-06-23

Similar Documents

Publication Publication Date Title
US6100825A (en) Cluster-based data compression system and method
Acharya et al. JPEG2000 standard for image compression: concepts, algorithms and VLSI architectures
US7102552B1 (en) Data compression with edit-in-place capability for compressed data
JP3337633B2 (en) Data compression method and data decompression method, and computer-readable recording medium recording data compression program or data decompression program
US5818877A (en) Method for reducing storage requirements for grouped data values
US5659631A (en) Data compression for indexed color image data
US8929402B1 (en) Systems and methods for compressing packet data by predicting subsequent data
WO2004051863A1 (en) Automated method for lossless data compression and decompression of a binary string
JP6025923B2 (en) System and method for compressing a stream of integer data
Fitriya et al. A review of data compression techniques
Deorowicz Universal lossless data compression algorithms
WO1999038286A2 (en) Adaptive packet compression apparatus and method
US6304676B1 (en) Apparatus and method for successively refined competitive compression with redundant decompression
US6225922B1 (en) System and method for compressing data using adaptive field encoding
Niemi et al. Burrows‐Wheeler post‐transformation with effective clustering and interpolative coding
Djusdek et al. Adaptive image compression using adaptive Huffman and LZW
US20080001790A1 (en) Method and system for enhancing data compression
CN114337680B (en) Compression processing method and device, storage medium and electronic equipment
Kattan et al. Evolution of human-competitive lossless compression algorithms with GP-zip2
Mohamed Wireless communication systems: Compression and decompression algorithms
WO2004051861A1 (en) Automated method for compressing binary strings without information loss, and related automated method for decompressing
Rincy et al. Preprocessed text compression method for Malayalam text files
Das et al. Design an Algorithm for Data Compression using Pentaoctagesimal SNS
Jeromel et al. Comparison of entropy coders for lossless grayscale image compression
Rajendra 16 BIT UNICODE TEXT COMPRESSION

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established
32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 69(1) EPC EPO FORM 1205A DD 08-09-05

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP