WO2002001728A1 - Method for numerical compression and decompression of binary data - Google Patents
Method for numerical compression and decompression of binary data Download PDFInfo
- Publication number
- WO2002001728A1 WO2002001728A1 PCT/IT2001/000329 IT0100329W WO0201728A1 WO 2002001728 A1 WO2002001728 A1 WO 2002001728A1 IT 0100329 W IT0100329 W IT 0100329W WO 0201728 A1 WO0201728 A1 WO 0201728A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- string
- sub
- compressed
- binary
- strings
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Definitions
- the first classification type divides the concerned encoding methods into methods having no information loss or "lossless” methods, in which the data reconstructed or decoded from the encoded data are identical to the original ones, and methods having information losses or “lossy” methods, in which the reconstructed data lose a portion of the original data information.
- lossless methods are the Run Lenght Encoding (RLE), the Huffman encoding method and the Lempel- Ziv-Welch or LZW encoding method; an example of lossy method is the Coarser Sampling and/or Quantization or CS&Q method.
- the RLE and LZW encoding methods entail variable length original data and fixed length encoded data
- the Huffman encoding method entails fixed length original data and variable length encoded data
- the CS&Q encoding method entails both original data and encoded data with fixed length.
- each item s k of said succession S is equal to a polynomial of the p preceding items, where l ⁇ p ⁇ r, according to formula
- the method according to this invention can comprise: - an initial step in which the information relating to the number L of bits of said input data binary string is stored;
- - a check step to check whether said CURRENT STRING has been effectively compressed;
- - a check step performed when the result of the preceding check step (7) is positive, to check whether said COMPRESSED STRING has a size greater than a pre-established value D , where D ⁇ L , - an allotment step, performed when the result of the preceding check step is positive, to allot COMPRESSED STRING to CURRENT STRING, and subsequent repetition of the step loop, starting from said compression block;
- - a check step performed when the result of one of the two preceding check steps is negative, to check whether the size of, the juxtaposition of the information concerning the size L and of the COMPRESSED STRING is smaller than L ;
- the information concerning the number! of bits of the input data binary string is stored by a pre-established number t of bits.
- STRING comprises the following steps: ⁇ .. subdividing said CURRENT STRING into / sub-strings comprising n bits, where n ⁇ n ⁇ , and
- said step block for compressing said CURRENT STRING to said COMPRESSED STRING, when the size W of said CURRENT STRING is not a multiple of n fills at least a sub-string with a tail of bits equal to "0".
- step block for compressing said CURRENT STRING to said COMPRESSED STRING, when the size W of said
- CURRENT STRING is not a multiple of n , fills the last sub-string with a tail of bits equal to "0".
- said block for compressing said CURRENT STRING to said COMPRESSED STRING, for each sub- string not comprising two consecutive bits equal to "1", designated as canonical sub-string, and not successive to an other canonical sub-string, in the scanning order creates a corresponding compressed binary substring d m _ x d m _ 2 ...d d 0 .
- said block for compressing said CURRENT STRING to said COMPRESSED STRING, for each sub-string not comprising two consecutive bits equal to "1", designated as canonical substring, creates a corresponding compressed binary sub-string d m _ x d m _ 2 ...d d ⁇ .
- STRING to said COMPRESSED STRING performs a processing operation on each sub-string comprising at least two consecutive bits equal to "1", designated as redundant or not canonical sub-string, and not successive in the scanning order to an other sub-string for which a compressed binary sub-string has been created, and, when the sub-string obtained by processing said redundant sub-string is canonical, creates a compressed binary sub-string d m _ x d m _ 2 ...d x d Q corresponding to said processed sub-string.
- STRING to said COMPRESSED STRING performs a processing operation on each sub-string comprising at least two consecutive bits equal to "1", designated as redundant or not canonical sub-string, and, when the sub-string obtained by processing said redundant sub-string is canonical, creates a compressed binary sub-string d m _ x d m _ 2 ...d x d 0 corresponding to said processed sub-string.
- said block for compressing said CURRENT STRING to said COMPRESSED STRING performs said processing operation during the same scan of the / sub-strings in which it creates the compressed binary sub-strings corresponding to the canonical sub-strings.
- said block for compressing said CURRENT STRING to said COMPRESSED STRING performs said processing operation in a scan of the / sub-strings subsequent to the scan during which it creates the compressed binary sub-strings corresponding to the canonical sub-strings.
- said compression block performs said processing operation for each redundant or not canonical sub-string that is not adjacent , in the scanning order, to another sub-string for which a compressed binary sub-string has been created.
- said processing operation can include a logic NOT operation.
- processing operation can include a logic
- XOR operation with at least one mask or a logic XOR operation with a mask, comprising a number r of bits not higher than n (r ⁇ n ), which mask is defined as the one that makes the maximum number of redundant sub-strings to be processed canonical.
- said processing operation can comprise a binary arithmetic operation, preferably performed by means of at least a binary constant, comprising a number r of bits not higher than n (r ⁇ n ).
- said block for compressing said CURRENT STRING to said COMPRESSED STRING also creates a header string comprising, for each of the / sub-strings into which said
- CURRENT STRING is subdivided, an assembly of bits which indicates whether the corresponding sub-string of the CURRENT STRING has been compressed and/or whether the corresponding sub-string of the
- the header string comprises / bits, each of which uniquely corresponds to a sub-string of the CURRENT STRING and it is equal to "1", if the corresponding sub-string is compressed, or it is equal to
- the header string comprises, for each sub-string of said CURRENT STRING that is compressed after having been processed, at least a corresponding bit to indicate the processing type performed on the corresponding sub-string.
- the header string further comprises said at least one mask. In an other particular embodiment of the method according to this invention, the header string further comprises said at least one binary constant.
- said compression block compresses at least one sub-string a n ._ x a n ,_ 2 ...a x a Q > having a number of bits, where ri ⁇ I , of the header string according to the Run Length
- a flag conmprising one or more bits is inserted ahead of or following to said COMPRESSED
- the block for compressing said CURRENT STRING to a COMPRESSED STRING comprises:
- T designated as canonical sub-string, a corresponding compressed binary string d m _ d m _ 2 ...d x d 0 is created, a first header string being also created during such scan and comprising, for each of said / sub-string into which said CURRENT STRING is subdivided, a bit that is equal to "1", if the corresponding sub-string is compressed, or a bit that is equal to "0", if the corresponding sub-string is not compressed, and - one or more further step iterations, in which a processing operation is performed on each sub-string in respect of which, during the preceding iteration, no corresponding compressed binary sub-string d m ⁇ d m _ 2 ...d d 0 has been created, and, when the sub-string as furnished by said processing operation is canonical, a compressed binary sub-string d m _ x d m _ 2 ..d x d 0 corresponding to the processed sub-string, is
- said processing operation comprises a logic NOT and/or a logic XOR with at least one mask and/or a logic XOR with at least one mask including a number r of bits not higher than n (r ⁇ n ), which is designated as the mask that makes the maximum number of sub-strings, in respect of which no corresponding compressed binary sub-string d m - ⁇ d m _ 2 --d d 0 was created during the preceding iteration, canonical.
- said header string further comprises said at least one mask.
- said processing operation comprises a binary arithmetic operation, particularly performed with at least one binary constant comprising a number r of bits not higher than n ( r ⁇ n ).
- said header string can comprise said at least one binary constant.
- said step block for compressing said CURRENT STRING to said COMPRESSED STRING also compresses the first header string and/or at least one of said further header strings.
- said compression block compresses the first header string and/or at least one of said further header strings according to the method in which said compression block compresses at least one sub-string a n ,_ x a n ,_ 2 ...a x a 0 , having a number ri of bits, where ri ⁇ I , of the header string according to the method , in which the succession 5 is defined by the following formula:
- said block for compressing said CURRENT STRING to said COMPRESSED STRING comprises: a) a first iteration of steps, in which:
- a first scan of the CURRENT STRING is performed by means of a first window (59) having a size n n ⁇ n ⁇ n not higher than a maximum value WD , said first window scanning said CURRENT STRING by shifting itself by a bit pitch WS in the range of M WD (1 ⁇ WS X ⁇ WD ),
- a scan of the reject string furnished by the preceding iteration is performed by means of a corresponding further window having a progressively decreasing size n lg ⁇ « lg _, said further window scanning the concerned reject string by shifting itself by a bit pitch WS g in the range of 1 ⁇ o WS g _ x ( ⁇ ⁇ WS g ⁇ WS g x ),
- WD ⁇ M and preferably
- n Xg n Xg _ x -I .
- said block for compressing said CURRENT STRING to said COMPRESSED STRING comprises, preliminarly to said first iteration of steps, a processing operation of said CURRENT STRING.
- said block for compressing said CURRENT STRING to said COMPRESSED STRING comprises a first step for counting the number P of bits equal to "1" occurring in said CURRENT STRING.
- L v a logic NOT operation is performed on said current string and an extended string is created starting from the string generated by said not operation by juxtaposing a bit "0" to each bit equal to "1" .
- said block for compressing said CURRENT STRING to said COMPRESSED STRING comprises performing a logic XOR operation on said CURRENT STRING by means of at least one mask comprising a number r of bits not higher than L (r ⁇ L ), designed in order that the string generated by said XOR operation fulfils the following condition
- each of said / sub-strings, into which said CURRENT STRING is subdivided is compressed to a compressed sub-string including a first portion, designated as "mantissa", comprising a number m of bits, furnished by the method according to the Fibonacci compression procedure, and a second portion, designated as "exponent”, comprising a number z of bits, that is variable as the mantissa varies, where z > 0 and equal to the number of bits needed for representing the number of n-bit strings to which the same whole numeric value N corresponds, when they are construed by means of the succession according to the Fibonacci compression procedure, said compression block further providing for pre-establishing an order of all of the 77 -bit strings, to which the same whole numeric value N corresponds, and for the exponent to identify the index of the redundant representation corresponding to the compressed
- the method can be terminated as soon as all of the sub-strings into which the input binary string was subdivided are compressed.
- the n-b ⁇ strings construed according the Fibonacci succession, not comprising two consecutive bits equal to "1" and designated as canonical strings, bolong to the first redundancy order.
- This invention further concerns a method for decompression of a compressed binary string characterized in that said compressed binary string is generated starting from a data binary string comprising a number L of bits, by means of the descriobed compression method.
- This invention also covers an electronic apparatus comprising at least a central processing unit and at least a memory unit, characterized in that it performs the compression method as above described, as well as an electronic apparatus comprising at least a central processing unit and at least a memory unit, characterized in that it performs the described decompression method.
- an electric, magnetic or electromagnetic signal modulated by a digital signal comprising at least one data string, wherein said at least one data string is a compressed binary string generated, starting from a data binary string having a number
- This invention further describes and claims a memory medium readable by a processor containing at least one data string, characterized in that said at least one data string is a compressed binary string generated, starting from a data binary string having a number L of bits, by means of the above described compression method.
- processor program comprising code means adapted to perform, when they operate on a processor, the herein described and claimed compression method
- FIG. 1 schematically shows a binary_ string compression in which use is made of a new fractional numeric representation
- Figure 2 schematically shows a binary string compression according to a preferred embodiment of the method of this invention
- Figure 3 shows a flow diagram of a first embodiment of the method according to this invention
- Figure 4 schematically shows two strings as used and/or processed by the method of Figure 3;
- Figure 5 shows a flow diagram of a particular step block of the method of Figure 3;
- Figure 6 schematically shows some strings used and/or processed by a second embodiment of the compression method according to this invention.
- Figure 7 shows a flow diagram of a particular step block of the method of Figure 6;
- Figure 8 schematically shows some strings used and/or processed by a further embodiment of the compression method according to this invention.
- Figure 9 schematically shows some strings used and/or processed by a further embodiment of the compression method according to this invention.
- Figure 10 schematically shows some strings used and/or processed by a further embodiment of the compression method according to this invention
- Figure 11 schematically shows some strings used and/or processed by a further embodiment of the compression method according to this invention
- Figure 12 schematically shows some strings used and/or processed by a further embodiment of the compression method according to this invention.
- the starting consideration of this invention relates to the symbolic representation of numerals.
- the more generalised representation of numerals is based upon weighed positional numeration systems.
- Such systems utilise a limited assembly of elementary symbols ⁇ c 0 ci ... c b ., ⁇ , called “figures”, to which a generally progressive numeric value is assigned, whose number b (equal to a positive whole number higher than 1 ) is called “base" of the numeric system.
- the decimal portion can be computed by introducing, on the right side of the symbol having the least significant weight, further symbols whose numeric weights are equal to powers of said base b in which the exponent is again function of the position and negative.
- the most popular numeric system is the decimal system, in which the base b is equal to 10.
- the digital data generally have representations utilising a binary system, in which the base b is equal to 2 and whose two figures are symbols "0" and "1".
- the generalised use of such binary representation is firstly due to the efficiency and reliability of its implementations, in which the two mentioned figures correspond to only two states of a pre-established physical entity (for instance: absence or presence of a signal, minimum value or maximum value of a voltage).
- the data can also be construed by means of different numeric systems, such as the octal (base b equal to 8) and hexadecimal (base b equal to 16) systems.
- particular codes such as the decimal code represented in binary form or BCD, can exploit the binary system.
- a n-bit binary string a n - ⁇ a n . 2 ... a 0 construed according a binary representation, represents a whole numeric value N equal to the sum of the items of succession B, among the first n items, whose corresponding bit a,- is equal to "1".
- the inventor developed a novel method for compressing digital data which, provided that certain conditions are fulfilled, enables them to be retrieved by a corresponding decompression method adapted to maintain their integrity.
- n-bit numeral F will have a generally not-whole value furnished by formula [1].
- Fiw x that can be represented by a fractionally represented 7-bit numeral F is equal to: ff-l LU _ ⁇
- a /7-bit fractionally represented numeric value can be fractionally represented numeric value can be expressed in a binary representation by a m-bit string, in which the number m of bits is not higher than n (m ⁇ n).
- the inventor developed a novel numeric representation that can be alternatively utilisabie in stead of the above described fractional representation and enables the original binary string to be retrieved in simple manner, starting from a compressed string, so as to guarantee an effective bit saving.
- the method according to this invention utilises the formalism expressed in formula (2) for representing a positive whole numeral, by resorting to an increasing monotonic succession S ⁇ fso, Si, s l ... ⁇ of whole numerals other than the binary succession B.
- s 0 1
- said ratio R k trends to a constant value R as said index k increases:
- any item S k at least starting from an index r (being k ⁇ r) can be equal to a function f adapted to return whole values of p preceding items, where 1 ⁇ p ⁇ r.
- function f of formula (11) can be a polynominal of said p preceding items:
- constant coefficients e (for h- 1 , 2, ...p) are preferably whole numerals having positive, negative or zero values.
- Tables l a and l b evidence, under variation of the number n of bits of a binary string a n . ⁇ a n . 2 ... a 1 a 0 by which a whole numeric value N is represented by the Fibonacci succession, item S k of succession S t corresponding to the most significant bit a n . ⁇ (S n - ⁇ ), the maximum whole value NpibM x that can be represented by formula (10) as well as the number m of bits of the binary string means d m - ⁇ d m . 2 ... di do by which N FibMA x can be represented by means of a binary representation.
- Table l a and Table l b are related to values of n variable from 1 to 42 and from 43 to 64, respectively.
- n-bit binary strings is equal to the number of dispositions with repetitions of 2 items of class n, equal to 2"
- the number of values that can be represented by a n-bit Fibonacci representation is equal to (N F ; b MAX + 1) or is lower than 2"
- some numeric values N can be represented by a Fibonacci representation by more than one string. This is apparent from formula (13) which evidences that a binary string "100" as construed by a Fibonacci representation furnishes the same numeric value as binary string "011".
- the binary strings construed by the Fibonacci representation are designed as “canonical” strings, when they do not include two consecutive bits equal to "1" (in other words they do not include bit pairs equal to "11"), while they are designed as “non canonical” strings or also “redundant” strings, when they include at least two consecutive bits equal to "1” (in other words, they include at least a bit pair equal to "11").
- the number Ncs of canonical strings is equal to
- strings as canonical strings, including also strings comprising at least a bit pair equal to "11".
- the starting binary string 1 not always can be unequivocally ascertained without furnishing further information that enable to identify which Fibonacci string, taken among the various possible ones, corresponds to said numeric value N.
- the inventor developed various embodiments of the compression and decompression methods according to this invention that account for the possible redundant strings.
- the flow chart of the first embodiment of the compression method according to this invention includes a starting step 3 in which the size of the input binary string to be compressed, equal to the number of L bits, is stored.
- the methods stores said size L always with the same number t of bits.
- the method includes then a step 4 in which the maximum size D as desired for the compressed binary string is established.
- size D can be established by an operator also by allotting a maximum percentage value of the compressed binary string with respect to the size L of the input binary string.
- the input string is allotted to an auxiliary string designated as "CURRENT STRING".
- the method performs a set of steps starting with a compression block 6 wherein the CURRENT STRING is compressed, according to some steps that will be hereinbelow more detailedly described and the compression result is allotted to a second auxiliary string, designated as "COMPRESSED STRING".
- the method performs then a step 7 wherein it is checked that the CURRENT STRING has been effectively compressed or that the COMPRESSED " STRING has a smaller size than the CURRENT STRING; in the positive, a step 8 is performed to check whether the COMPRESSED STRING has a size greater than D and, in the positive, a step 9 is carried out to allot the COMPRESSED STRING to the CURRENT STRING and, subsequently, the method repeats the loop starting again from the compression block 6.
- step 10 the method performs a step 10 to check whether the juxtaposition (designated by operator "&") of the information relating to size L (preferably stored by t bits) and of the COMPRESSE STRING is smaller than L: in the positive, the method performs a step 11 in which the juxtaposition of the information concerning size L and of the COMPRESSED STRING is allotted to an output string; in the negative, the method performs a step 12 wherein the input string is allotted to the output string, because it was not possible to compress such input string.
- step corresponding to steps 10, 11 and 12 can be provided also for other embodiments of the compression method according to this invention.
- Compression block 6 carries out a compression of the current string by subdividing it into sub-strings each comprising n bits (where n ⁇ n m in- 7) and by compressing only the canonical strings, according to the procedure shown in Figure 2, and by avoiding to compress two consecutive sub-strings.
- n 10; even more preferably, n > 13.
- Block 6 creates a header string, having a number of bits equal to the number of sub-strings, such that each bit of the header string is equal to "1", if the corresponding sub-string is compressed, otherwise is equal to "0". Lastly, block 6 also compresses the header string, that is certainly canonical, since two consecutive sub-strings are never compressed. More detailedly, by referring to Figures 4 and 5, it can be observed that the compression block 6 performs a starting step 14 wherein the CURRENT STRING 15, comprising W bits, is subdivided into sub-strings each of which comprises n bits. In particular, the number / of sub-strings is given by
- the compression block 6 subsequently performs an initialisation step 16 wherein
- a first auxiliary pointer variable designated as "PRECEDING BIT" is initialised to point to a constant having a binary value equal to "0";
- CURRENT BIT a second auxiliary pointer variable, designated as "CURRENT BIT" is initialised to point to the first bit of the header string; and - the first sub-string of the CURRENT STRING 15 is allotted to an auxiliary variable designated as "CURRENT SUBSTRING".
- the compression block 6 performs a set of steps whist starts with a step 18 by checking whether the value pointer to by PRECEDENT BIT is equal to "0". In the positive, a subsequent step 19 is carried out in order to check whether the CURRENT SUB-STRING is canonical.
- a step 20 is performed to compress the CURRENT SUB-STRING according to the procedure shown in Figure 2, henceforth designated as "Fibonacci compression".
- the n bits a ⁇ - ⁇ a n-2 ... a ? a 0 of the CURRENT SUB-STRING are construed according to the Fibonacci representation by computing their numeric value N, expressed by formula (10), that is then represented by a m-bit binary representation d m . ⁇ d m . 2 ... d 1 d 0 , that is allotted to an auxiliary variable designated as "COMPRESSED SU- STRING".
- step 21 is performed to add (by juxtaposition) the COMPRESSED SUB-STRING to the PENDING CONSTRUCTION STRING and a step 22 is performed to allot a binary value "1" to the header string bit pointed to by the CURRENT BIT.
- the method performs a step 23 to add (by juxtaposition) the CURRENT SUB-STRING to the PENDING CONSTRUCTION STRING as well as a step 24 to allot a binary value "0" to the header string bit pointed to by the CURRENT BIT.
- step 25 is performed in order to check whether the CURRENT SUB-STRING was the last sub-string of the CURRENT STRING 15.
- a step 26 is performed to compress the header string and a step 27 is performed to allot the juxtaposition of the compressed header string and of the PENDING CONSTRUCTION STRING to the COMPRESSED STRING.
- said step 26 can compress the header string by Run Length Encoding (RLE) or by means of a Fibonacci compression operation, possibly by subdividing the header string into sub-strings comprising a number n' of bits also different from n, by filling the last of them with the necessary zero tail and, preferably, by providing a pre- established number of sub-strings forming the header string.
- RLE Run Length Encoding
- Fibonacci compression operation possibly by subdividing the header string into sub-strings comprising a number n' of bits also different from n, by filling the last of them with the necessary zero tail and, preferably, by providing a pre- established number of sub-strings forming the header string.
- the header string can be compressed both by RLE and by Fibonacci compression, by inserting ahead of the COMPRESSED STRING an indication bit or flag, the value of which indicates the compression type utilised to compress the header string.
- step 28 is performed:
- - CURRENT BIT is allotted to PRECEDING BIT
- - CURRENT BIT is up-dated to point to the subsequent bit of the header string
- Figure 4 shows the situation relating to the third iteration of the step set in the flow chart of Figure 5.
- each bit of the header string could be equal to "0", if the corresponding sub-string is compressed, or equal to "1", if the corresponding sub-string is not compressed.
- a second embodiment of the compression method according to this invention provides for processing at least a portion of the sub-string of the CURRENT STRING appearing not to be canonical, in order to make them canonical.
- a logic NOT operation is performed (by inverting the value of each individual bit) in order to check whether the concerned sub-string becomes canonical and, in the positive, the inverted sub-string is compressed.
- the above second embodiment provides a slightly different set of steps of the compression block 6 with respect to the one shown in the flow chart of Figure 5.
- the step set also includes a further check step 19. If the result of the check is positive, a step 19 is performed to allot a binary value "1" to the bit pointed to by the CURRENT BIT, a step 30 is performed to up-date said CURRENT BIT, that is updated so as to point to the subsequent bit of the header string, and a step 31 is performed to allot a binary value "0" to the bit pointed to by the CURRENT BIT.
- the considered sub-string of the CURRENT STRING 15 is canonical and can be compressed, under allotment of a binary value "10" to the corresponding bit pair of the header string.
- step 32 is performed as a logic NOT operation on said CURRENT SUB-STRING, whose bits are individually converted from “0" to "1” or from "1" to "0".
- a step 33 is carried out to check that the CURRENT SUB-STRING is canonical.
- step 33 furnishes a positive resulf
- a step 34 is performed to allot a binary value "1" to the bit of the header " string pointed to by the CURRENT BIT
- a step 35 is performed for up-dating the CURRENT BIT, that is up-dated so as to point to the subsequent bit of the header string
- a step 36 is performed to allot a binary value "1" to the bit of the header string pointed to by the CURRENT BIT.
- a step 20 is performed in order to compress the CURRENT SUB-STRING to a COMPRESSED SUB-STRING
- a step 21 is performed in order to add (by juxtaposition) the COMPRESSED SUB-STRING to a PENDING CONSTRUCTION STRING
- a step 37 is performed to up-date the PRECEDING BIT, that up-dated so as to point to the bit of the header string that precedes the one pointed to by the CURRENT BIT (in order to point to the first bit of the pair corresponding to the compressed substring).
- step 38 is performed as a logic NOT operation on the CURRENT SUB-STRING, in order to counteract the NOT operation of step 32 and reversing it to its original contents.
- step 23 is performed to juxtapose the CURRENT SUB-STRING to the PENDING CONSTRUCTION STRING, a step 24 is performed to allot a binary value "0" to the header string bit pointed to by the CURRENT BIT and step 39 is performed in order to up-date the PRECEDING BIT to which the CURRENT BIT is allotted.
- a step 25 is performed in order to check whether the CURRENT SUB-STRING were or not the last sub-string of the CURRENT STRING 15. If the result is positive, a step 26 is performed so as to compress the header string and a step 27 is performed in order to allot the juxtaposition of the compressed header string and of PENDING CONSTRUCTION STRING.
- the header string can also advantageously include the number of sub-strings into which said CURRENT STRING 15 is subdivided.
- an up- dating step 40 is performed including:
- the CURRENT BIT is up-dated so as to point to the subsequent bit of the header section
- Figure 6 illustrates the situation relating to the third iteration of the step set of the flow chard of Figure 7.
- the canonical sub-strings of the CURRENT STRING 15 are designated by letter C, while the not-canonical or redundant ones are designates by letters ⁇ /C.
- the sub-strings designated by letter are the ones that cannot be compressed because they are subsequent to a compressed sub-string and, in respect thereof, the result of the check step 18 is negative.
- the first sub-string is directly compressed, as it is a canonical one, and the corresponding bit pair in the header string has a binary value of "10", the second sub-string has a binary value is not compressed and the corresponding bit in the header string has a value of "0”, the third sub-string is compressed after having been subjected to a logic NOT operation, so that the corresponding bit pair in the header string has a binary value of "11".
- the step set of the compression block 6 shown in Figure 7 does not include the step 18 aimed at checking whether the value pointed to by the PRECEDING BIT is equal to "0".
- the header string comprises bit pair equal to "11”
- the control of step 18 can be considered as quite unnecessary, because the insertion of pairs that make the header string non-canonical is anyway allowed.
- the utilisation of the pointer variable PRECEDING BIT is fruitless. Consequently, step 16 of the compression lock should be modified by climatating the initialisation of the PRECEDING BIT and the step set of Figure 7 does not even include a step 37 and a step 39.
- the processing operation of at least a portion of the sub- strings of the CURRENT STRING appearing not to be canonical, so as to make them canonical takes place at the end of the CURRENT STRING scan, in contrast to the second embodiment in which such processing operation occurs sub-string by sub-string during such scan.
- said compression block 6 again includes the steps illustrated in the flow chart of Figure 5, but, ahead of step 6 which compresses the header string, a new scan of the PENDING CONSTRUCTION STRING during which:
- the identified sub-strings are processed, preferably by performing a logic NOT operation
- the header string is the same as that obtained in connection with the first embodiment of the method according to Figures 4 and 5.
- a bit for each compressed substring is added to the header string, more specifically a bit equal to "0", if the sub-string has (already) been compressed to its original format, or a bit equal to "1", if the sub-string is compressed after having been processed. If the sub-string is compressed after having been processed, the corresponding bit of the first section of the header string is also converted from "0" to "1".
- the CURRENT STRING 15 comprises both canonical sub-strings C and not canonical sub-strings ⁇ /C.
- CONSTRUCTION STRING 41 comprises compressed sub-strings CS and not canonical sub-strings NC, while the header string 42 comprises a bit for each sub-string, such bit being equal to "1", if it corresponds to a not canonical (and not compressed) sub-string NC.
- a tail 43 of the header string is created so as to have bits corresponding to compressed sub-strings CS; n particular, for each compressed sub-string starting from the original sub-string, or for each bit 80 having a value "1" of the header string 42 as obtained at the end of the CURRENT STRING 15 scan, said tail 43 comprises a bit having a value "0".
- the not canonical substrings 44 and 44' are identified as processable sub-strings, because they are not adjacent to compressed sub-strings CS.
- the corresponding bits 45 and 45' of the header string are equal to "0" and are adjacent to preceding or subsequent bits also equal to "0".
- the not canonical sub-strings 44 and 44' are subjected to a logic NOT operation and after having been so processed, they can appear to be canonical (as sub-string 46 in Figure 8) or still not canonical (as substring 47 in Figure 8).
- the sub-string 46 that became canonical after said logic NOT operation are compressed to corresponding sub-strings 48 which are substituted for the corresponding original sub-string 44 in the PENDING CONSTRUCTION STRING 41 , while the corresponding bit 45 of the first section of the header string is converted from "0" to "1" and a corresponding bit 49 having a value "1" is added to the tail portion 43 of the header string.
- the header string 50 obtained as a result of the juxtaposition of the first portion 42' (some bits of which have been possibly converted during the new scan course) and of the tail 43, is compressed.
- the compressed string, not shown, furnished by the compression block is obtained by juxtaposition of the header string and of the PENDING CONSTRUCTION STRING 41.
- the first portion 42' of the header string can be separately compressed with respect to the tail portion 43 and the compressed string can be obtained by juxtaposition, at any order, of the first compressed portion of the header string, of the PENDING CONSTRUCTION STRING 41 and of the compressed tail portion of the header string.
- the compressed substring can also be separately juxtaposed to the items comprising the compressed string.
- the processing operation of at least some of the sub-string of the CURRENT STRING appearing not to be canonical still takes place at the end of the CURRENT STRING scan, but ajogic XOR operation is performed by means of a purposely computed mask.
- the mask comprises a number r of bits not higher than n (where r ⁇ n) and it is designed as the mask adapted to make the maximum number of not canonical processable sub-strings canonical (or, in other words, not adjacent to compressed sub-strings).
- the XOR operation mask is inserted, possibly compressed separately from or together with a portion of the header string, into the compressed string furnished by compression block 6.
- the sub-strings of the CURRENT STRING are compressed, possibly after having been processed in successive iterations in order to make them canonical, without imposing the condition that at least one of two adjacent strings be not compressed.
- STRING 15 comprises canonical sub-string C and not canonical substrings NC.
- a first iteration is carried out in order that all canonical sub-strings C are compressed and a first header string 51 is created which comprises a number of bits equal to the number of sub-strings of the CURRENT STRING 15, having each bit equal to "1", if the corresponding sub-string C has been compressed due to the fact that it is a canonical sub-string, or it is equal to "0", if the corresponding sub-string ⁇ /C has not been compressed, due to the fact that it is a not canonical sub-string.
- a second iteration is subsequently carried out in which the not canonical sub-strings NC of the CURRENT STRING 15 are subjected to a logic XOR operation 52 by means of a mask M-i designed so as to make the maximum number of sub-strings ⁇ /C canonical.
- said mask M-i comprises a number r of bits not higher than the number n of bits comprising the CURRENT STRING 15 (where r ⁇ n).
- the string 53 as obtained by said XOR operation performed on the sub-strings ⁇ /C of the CURRENT STRING 15 and on the mask 7 comprises canonical sub-strings C and not canonical sub-strings NC.
- all canonical sub-strings C of said string 53 are compressed and the method provides for creating a second header string 54 comprising a number of bits equal to the number of sub-strings of said string 53, similarly to the first header string 51 in respect of the CURRENT STRING 15.
- the method provides for a third iteration in which the not canonical sub-strings of said string 53 are subjected to a logic XOR operation 55 by means of a r-bit mask M 2 , designed so as to make the maximum number of not canonical sub-strings ⁇ /C canonical.
- the string 53 as obtained by said XOR operation performed on the sub-strings ⁇ /C of said string 53 and on the mask M 2 comprises canonical sub-strings C and not canonical sub-strings NC.
- all canonical sub-strings C of string 55 are compressed and the method provides for creating a third header string 57, comprising a number of bits equal to the number of sub-strings of the string 56, similarly to the previous header strings 51 and 54.
- the iteration number in this method can be pre-established or variable.
- the iterations can be terminated when the number of still not canonical strings (equal to the number of bit having a value "0" in the lastly generated header string) is lower than a minimum threshold value, depending on the bit saving A for each sub-string as well as on the bit amount needed to store a further possibly compressed header string and a further possibly compressed mask.
- a seventh embodiment of the compression method according to this invention provides for a repeatable set of operations aimed at performing a dynamic subdivision of the input binary string to be compressed.
- Such dynamic subdivision identifies and interactively compresses canonical sub-strings wherever positioned within the input string and having a size, namely a number of bits, progressively decreasing at each iteration, by also storing an index assembly that indicates the position of each sub-string within the input binary string.
- the method also provides for a possible processing operation of the string obtained at the end of the iterations of each repetition.
- the input data string 58 to be compressed has a length L not greater than the allowed maximum length M.
- M is equal to 1024.
- the above mentioned seventh embodiment of the compression method scans said string 58 by means of a window 59 having a size nn not greater than a maximum value WD ⁇ M.
- window 59 identifies a canonical sub-string C n n, having a size nn, within string 58, an index identifying the position of the canonical sub-string C m n is stored and said canonical sub-string C m n is compressed to a sub-string of smaller size, according to the Fibonacci compression procedure.
- nn is not lower than n mm - 7 (where n mm ⁇ n-u ⁇ WD).
- Figure 10 shows two canonical sub-strings C n n having an index in and i 12 , respectively, that are compressed to two corresponding sub-strings SC and SC 12 .
- said indexes in and i 12 are the address of the first bit of the respective canonical sub-string C n n within said string 58; even more preferably, upon identifying a canonical sub-string C n11 , said window 59 starts again scanning from the first bit subsequent to the canonical sub-string C n11 (in the example of Figure 10, it starts again scanning from bits (in + n ) and (i ⁇ 2 + n-n)).
- the number Gi of canonical sub-strings C 1 that have been compressed is stored.
- These portions 60, 60' and 60" of said string 58 not including canonical substrings C n n with size nn are then juxtaposed to one another in a reject string (preferably, the juxtaposition is carried out bit during scanning).
- n ⁇ 2 n»- 1.
- an index i 2 ⁇ and i 22 which identifies the position of said canonical sub-string Cn 12 is stored and each canonical sub-string Cn-12 is compressed to a corresponding sub-string SC 12 and SC 2 2 , according to the Fibonacci compression procedure.
- the concerned compression method iterates the scans of the reject strings as obtained from the previous scan, by means of subsequent windows having a progressively decreasing size n- ⁇ g .
- n 1g n 1g .- ⁇ - 1.
- no canonical sub-.string n 1g having a size n ig is identified during one or more intermediate iterations; in such case, only the number G g of canonical sub- strings Cn ?g that have been compressed, equal to zero, is stored.
- the canonical sub-strings Cn 1g are juxtaposed to one another, so as to form groups comprising at least two of them; then the Fibonacci compression is carried out on the so obtained juxtaposition.
- the iterations are terminated when it is no more possible to compress the last generated reject string; this occurs in three cases:
- the method provides for creating a compressed string 65 comprising: - the number F of scans carried out up to the last scan in which an effective compression operation has been performed (such number also accounts for any intermediate possible iterations that have not identified and compressed canonical sub-strings);
- the various previously listed information items can be stored in the compressed string 65 by juxtaposition according to any pre-established order, preferably with the scan number F positioned at the begin or at the end of the compressed string 65.
- the compressed string 65 is subsequently subjected to a second repetition of the previously described iterations.
- the method provides for performing further repetitions of the iterative scans on the compressed strings as achieved at the end of each repetition.
- the method provides for processing the compressed string generated by the last repetition in which at least one canonical sub-string has been compressed in at least one iteration.
- processing operation preferably includes: - a logic NOT operation carried out on the whole compressed string, and/or
- the method can also provide for storing a flag indicating the types of the processing operation carried out (in the case it could provide for more than one) and/or of the possible masks of the logic XOR operation and/or of the possible constant binary values and/or of any identification indexes to identify the bit blocks of the compressed string subjected to a processing operation. In this way, the method is terminated when the desired value of the compression ratio CR is reached.
- an eighth embodiment of the compression method provides for a first counting step aimed at counting the number P of bits having a value "1" included in the input binary string 66 to be compressed, having a size L
- a suitable threshold value P MA X aimed at counting the number P of bits having a value "1" included in the input binary string 66 to be compressed, having a size L
- P MA X a suitable threshold value
- an extended string 67 is created from said string 66 by juxtaposition of a bit "0" to each one of the P bits equal to "1"; the extended string 67 has a size (L+P).
- the Fibonacci compression procedure is carried out on said extended string 67, that comprises only canonical sub-strings, in order to generate a complex string 68 having a size X.
- the threshold value P MAX is given by the maximum value of P that enables to make
- the number P of bits equal to "1" appearing in the input binary string 66 to be compressed ought to be not higher than the following percentage value of size L of the binary string 66.
- the method can provide for a preliminary logic NOT operation carried out on said binary string 66 so as to enable the method of Figure 11 to be applied to the inverted string.
- the method can also provide for a logic XOR operation to be carried out on said binary string 66 by means of mask comprising a number r of bits not higher than L (where r ⁇ L), suitably designed so that the string furnished by said XOR operation fulfils condition (12) and consequently the method of Figure 11 is applicable to sit.
- the logic XOR operation can be carried out by subdividing said string 66 into packets including a number r of bits.
- the above mentioned eighth embodiment of the compression method can be applied to a data binary string to be compressed in combination with one or more embodiments.
- numeric values N As previously described, given a n-bit binary string and considered the assembly of numeric values N that can be represented by means of the Fibonacci representation, while all numeric values N are represented by a canonical string, not all of the numeric values N are represented by further redundant strings and, consequently, the number of redundant strings generally varies as the specific numeric value N (among the ones also represented by redundant strings) varies.
- a ninth embodiment of the compression method according to the invention exploits this property of the Fibonacci representation.
- the input binary string 69 to be compressed having a size L, is subdivided into sub- strings 70 each comprising n bits. Should said size L of the binary string be not a multiple of n, the last sub-string is filled with a tail of bits equal to "0".
- Each sub-string 70 is compressed by the Fibonacci compression procedure to a sub-string 71 including a first portion 72, designated as "mantissa", comprising a number m of bits fixed in respect of all sub-strings 71 , and a second portion 73, designated as "exponent', comprising a number Z of bits, that is variable as the mantissa 72 varies.
- the number Z of bits in the exponent 73, where z ⁇ O, is equal to the number of bits needed for representing the number of redundant strings of the Fibonacci representation of the numeric value N represented by the binary representation 73.
- the order of all of the canonical and redundant strings of the Fibonacci representation of each numeric value N is pre-established and the exponent 73 identifies the index of the Fibonacci representation furnished by the corresponding sub-string 70.
- the number of its possible Fibonacci representations, or the number of any possible redundant strings appears to be uniquely determined and, therefore, the number Z of bits of the exponent 73 is uniquely determined, as well.
- the index relating to the canonical string as stored in said exponent 73 is the one having all of the bits equal to "0".
- the method provides for creating a compressed string 74 with a size X by juxtaposition of a sub-string 75 for storing the size L of the input binary string 69 and of the ordered assembly of compressed sub-strings 71.
- said sub-string 75 is not compressed and preferably comprises always the same number of bits.
- said compressed string 74 is in turn subjected to compression, as it is shown in Figure 12, with exclusion of said sub-string 75 that remains un-compressed and is also part of the further string generated by the second iteration of the compression procedure.
- the compression method of Figure 12 can be iterated as long as the size XEN D of the last compressed string appears to be not greater than a maximum pre-established value D, selectable by an operator.
- the de-compression method For each compressed sub-string 71 , the de-compression method according to the above ninth embodiment of the compression method, automatically computers, by reading the numeric value N contained in the mantissa 72, the number of the corresponding Fibonacci representations and, should such number be higher than 1 , and, by reading the binary value of said exponent 73, it identifies which Fibonacci representation, between the canonical and the redundant ones, ought to be allotted to the de-compressed sub-string 70.
- such identification can be realised by means of a suitable processing operation following under the possibilities of a person skilled in the art, based upon the teaching of this invention, or by directly reading a table structured in order that the mantissa 72 and the exponent 73 furnish the address value of the item of the table in which the specific Fibonacci string to be allotted to the de-compressed sub-string 70 is stored.
- a tenth embodiment of the compression method according to this invention is based upon definition of a pre-established order of all the canonical and redundant strings of the Fibonacci representation of each numeric value N, so as to establish a redundancy order of the strings.
- the canonical strings corresponds to the first redundancy order.
- the input binary string to be compressed having a size L, is subdivided into sub-strings each comprising n bits. Should the dimension L of the input binary string be not a multiple of n, the last substring is filled with a tail of bits equal to "0".
- the method performs a first iteration in which it compresses all strings corresponding to the first redundancy order and stores information relating to their position in the input binary string (for instance, the serial index of the sub-string within the input binary string).
- the- number of sub-strings corresponding to the first redundancy order that have been all compressed is stored. Those portions of the input string not including sub-strings corresponding to the first redundancy order are juxtaposed to one another in a first reject string.
- the method performs a second iteration in which it compresses all strings corresponding to the second redundancy order and stores information relating to their position in the first reject string (for instance, the serial index of the sub-string within the first reject string).
- the number of sub-strings corresponding to the second redundancy order that have been all compressed is stored.
- Those portions of the reject string not including substrings corresponding to the second redundancy order are juxtaposed to one another in a second reject string.
- the method again performs further similar iterations, in each of which it compresses all of the sub-strings corresponding to a further redundancy order.
- the method performa all of the iterations up to the last redundancy order or it is terminated as soon as all of the sub-strings into which the input binary string had been subdivided are compressed (and, therefore, the last generated reject string is void).
- the last iteration does not store the information relating to the position of the sub-string that are being compressed within the reject string generated by the preceding iteration, due to the fact that, since all of the sub-strings are stored, it is only sufficient to know their number.
- the compressed output data binary string comprises, for each iteration, the compressed sub-strings and all information in respect of their numeber and of the positions (with exclusion of the last iteration) of the starting sub-strings.
- the inventor in some laboratory lests, the inventor ascertained the possibility to compress an input data binary string having a size L to an output binary string having a size D, with a very high compression ratio, defined as between the bit amount saved in the compressed string and the size of the input string.
- the compression method according to this invention is adapted to compress in the same way input binary strings of any type, without applying compression optimization techniques specifically conceived for a particular file type, as it occurs in presently most generally adopted conventional compression methods.
- the software and/or hardware implementation of this invention turn out to be extremely efficient and substantially rapid.
- the compression method according to this inventin allows to store, upon compression, large data amounts under an extremely restricted and freely selective memory occupation. This enables for instance stationery or movement image sequences to be stored without information loss (lossless) on memory media of limited capability (for instance movie films presently recorded on DVD, upon compression by the method according to this invention, could be stored on a single CD- ROM).
- the compression method allows to transmit large data amounts upon compression, in short times on channels of restricted capability, thereby achieving a very noticeable cost reduction.
- This could allow to transmit for instance television channel in real time on the Internet network , without image degradation (lossless), thereby also realizing interactive channels, such as Video on Demand.
- the concerned method could also allow the cellular radiotelephones to be connected in real time and at low cost to the Intemet network.
- the present invention could also be applied to cryptographying information and/or messages, by suitably processing the concerned data during compression (for instance by performing a binary arithmetic operation on at least a portion of the string to be compressed, before, during or at the end of the compression procedure).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Devices For Executing Special Programs (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
- Holo Graphy (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/311,924 US6788224B2 (en) | 2000-06-26 | 2001-06-25 | Method for numeric compression and decompression of binary data |
AU70995/01A AU7099501A (en) | 2000-06-26 | 2001-06-25 | Method for numerical compression and decompression of binary data |
EP01949885A EP1297630A1 (en) | 2000-06-26 | 2001-06-25 | Method for numerical compression and decompression of binary data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT2000RM000347A ITRM20000347A1 (en) | 2000-06-26 | 2000-06-26 | NUMERICAL REPRESENTATION METHOD. |
ITRM2000A000347 | 2000-06-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2002001728A1 true WO2002001728A1 (en) | 2002-01-03 |
Family
ID=11454804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IT2001/000329 WO2002001728A1 (en) | 2000-06-26 | 2001-06-25 | Method for numerical compression and decompression of binary data |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1297630A1 (en) |
AU (1) | AU7099501A (en) |
IT (1) | ITRM20000347A1 (en) |
WO (1) | WO2002001728A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110504973A (en) * | 2018-05-16 | 2019-11-26 | 北京京东尚科信息技术有限公司 | Compressing file, decompressing method and device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4187500A (en) * | 1976-07-19 | 1980-02-05 | Taganrogsky Radiotekhnichesky Institut, USSR, Taganrog | Method and device for reduction of Fibonacci p-codes to minimal form |
-
2000
- 2000-06-26 IT IT2000RM000347A patent/ITRM20000347A1/en unknown
-
2001
- 2001-06-25 AU AU70995/01A patent/AU7099501A/en not_active Abandoned
- 2001-06-25 WO PCT/IT2001/000329 patent/WO2002001728A1/en not_active Application Discontinuation
- 2001-06-25 EP EP01949885A patent/EP1297630A1/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4187500A (en) * | 1976-07-19 | 1980-02-05 | Taganrogsky Radiotekhnichesky Institut, USSR, Taganrog | Method and device for reduction of Fibonacci p-codes to minimal form |
Non-Patent Citations (4)
Title |
---|
APOSTOLICO A ET AL: "Robust transmission of unbounded strings using Fibonacci representations", IEEE TRANSACTIONS ON INFORMATION THEORY, MARCH 1987, USA, vol. IT-33, no. 2, pages 238 - 245, XP001024782, ISSN: 0018-9448 * |
FRAENKEL A S ET AL: "Robust universal complete codes for transmission and compression", DISCRETE APPLIED MATHEMATICS, 4 JAN. 1996, ELSEVIER, NETHERLANDS, vol. 64, no. 1, pages 31 - 55, XP001034292, ISSN: 0166-218X * |
FROUGNY C: "FIBONACCI REPRESENTATIONS AND FINITE AUTOMATA", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE INC. NEW YORK, US, vol. 37, no. 2, 1 March 1991 (1991-03-01), pages 393 - 399, XP000147151, ISSN: 0018-9448 * |
RAO K N: "Security audit for embedded avionics systems", FIFTH ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE (CAT. NO.89TH0287-3), TUCSON, AZ, USA, 4-8 DEC. 1989, 1990, Los Alamitos, CA, USA, IEEE Comput. Soc. Press, USA, pages 78 - 84, XP001034273, ISBN: 0-8186-2006-4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110504973A (en) * | 2018-05-16 | 2019-11-26 | 北京京东尚科信息技术有限公司 | Compressing file, decompressing method and device |
Also Published As
Publication number | Publication date |
---|---|
ITRM20000347A1 (en) | 2001-12-26 |
ITRM20000347A0 (en) | 2000-06-26 |
EP1297630A1 (en) | 2003-04-02 |
AU7099501A (en) | 2002-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5471207A (en) | Compression of palettized images and binarization for bitwise coding of M-ary alphabets therefor | |
US20060171533A1 (en) | Method and apparatus for encoding and decoding key data | |
US5818877A (en) | Method for reducing storage requirements for grouped data values | |
US6633242B2 (en) | Entropy coding using adaptable prefix codes | |
EP1322119A2 (en) | Apparatus for encoding and decoding key data and keyvalue data of coordinate interpolator and recording medium | |
US7365658B2 (en) | Method and apparatus for lossless run-length data encoding | |
US20050052295A1 (en) | Method and apparatus for arithmetic coding, including probability estimation state table creation | |
EP0949589B1 (en) | Data compression by use of prime exponents | |
US6788224B2 (en) | Method for numeric compression and decompression of binary data | |
CN1139861A (en) | Length changeable code and segment and device | |
US5594435A (en) | Permutation-based data compression | |
KR100604364B1 (en) | Arithmetic encoding and decoding of an information signal | |
JP3990464B2 (en) | Data efficient quantization table for digital video signal processor | |
US20220005229A1 (en) | Point cloud attribute encoding method and device, and point cloud attribute decoding method and devcie | |
JP3230933B2 (en) | Data decompression device, data decompression method, decoding device, decoding method, encoding device, and entropy decoder | |
WO2002001728A1 (en) | Method for numerical compression and decompression of binary data | |
EP1289302B1 (en) | Coding and decoding apparatus of key data for graphic animation and method thereof | |
GB2319689A (en) | An entropy encoder using context modelling with data reordering | |
EP1322118A2 (en) | Method and apparatus for encoding and decoding key data | |
EP0047382A2 (en) | Adaptive compression encoding of a binary-source symbol string | |
JP2934603B2 (en) | Method and apparatus for decoding variable length code | |
JP2548122B2 (en) | Encoder | |
EP1750447A2 (en) | Method and apparatus for encoding and decoding key data | |
JP3093451B2 (en) | Redundancy reduction coding device | |
EP1320265A2 (en) | Method and apparatus for encoding and decoding position interpolator |
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 PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA 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 ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2001949885 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10311924 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 2001949885 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2001949885 Country of ref document: EP |