WO1998033279A1 - Method and system for compressing data based upon context tree algorithm - Google Patents
Method and system for compressing data based upon context tree algorithm Download PDFInfo
- Publication number
- WO1998033279A1 WO1998033279A1 PCT/EP1998/000521 EP9800521W WO9833279A1 WO 1998033279 A1 WO1998033279 A1 WO 1998033279A1 EP 9800521 W EP9800521 W EP 9800521W WO 9833279 A1 WO9833279 A1 WO 9833279A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- value
- parameter
- node
- block
- previous
- 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
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
Definitions
- the invention relates to a method for constructing a tree for a context tree algorithm for coding symbols , which method comprises the steps of:
- -x- in dependence of a value of a symbol to be coded, adapting a value of either a first parameter or a second parameter, which values correspond to a node of said tree, -y- in dependence of a value of a previous symbol, in case said node is preceded by a previous node, continuing with step -x- for said previous node , and
- Such a method is disadvantageous because it needs a giant memory capacity.
- the method according to the invention is characterised in that, in dependence of at least one value of said parameters, said other previous node is created or is not created.
- said other previous node is created or is not created.
- the invention is based, inter alia, on the insight that it is not necessary to create each possible node.
- the problem of known methods needing a giant memory capacity is solved by making the creation of a node dependent upon at least one value of said parameters for preventing the creation of unnecessary nodes .
- the method according to the invention is neither restricted to context tree weighting algoritms nor to binary tree sources, the method according to the invention can be used for constructing a tree for a context tree algorithm for coding symbols, which symbols each can have at least two symbol values.
- a first embodiment of the method according to the invention is characterised in that the first parameter is a(n) and the second parameter is b(n) , the values of these parameters corresponding to said node n, said other previous node being created in case a(n) > 0 and b(n) > 0.
- said other previous node is for example not created in case a(n) ⁇ 2 and b(n) ⁇ 2, or is for example not created in case a(n)/b(n) ⁇ 0.001 or a(n)/b(n) > 1000.
- a second embodiment of the method according to the invention is characterised in that a third parameter i(n) defines said node being preceded or not being preceded by a previous node, said creation of said other previous node comprising the definition of a fourth parameter j being an index of the other previous node, with a(j) and b(j) being initiated, with i(j) getting the value 0, with i(n) getting the value j, and with n getting the value i(n) .
- a less efficient but accurate way of initiating a(j) and b(j) could for example be realised by using stored values of previous symbols .
- a third embodiment of the method according to the invention is characterised in that, in the initiation, a(j) gets the value 0 and b(j) gets the value 0.
- a fourth embodiment of the method according to the invention is characterised in that the method comprises a step being situated between step -x- on the one hand and steps -y- and -z- on the other hand of: -w- a fifth parameter d being adapted for each further node and being compared with a threshold value D after each adaptation.
- the invention further relates to a system for constructing a tree for a context tree algorithm for coding symbols , which system comprises processor means and memory means for storing at first locations belonging to a node values of parameters and for storing at second locations belonging to a previous node values of parameters and for storing at third locations belonging to an other previous node values of parameters, said processor means comprising
- - adaptation means for, in dependence of a value of a symbol to be coded, adapting a value of either a first parameter or a second parameter, which values are stored at at least two of said first locations ,
- - comparison means for, in dependence of a value of a previous symbol, comparing a value of a third parameter, which value is stored at at least one of said first locations, with a prefixed value, whereby, in case of a first comparison result, a value of either a first parameter or a second parameter is adapted, which values are stored at at least two of said second locations , in dependence of a value of a symbol to be coded, by using said adaptation means, and
- - allocation means for, in case of a second comparison result, in dependence of a value of a previous symbol , allocating a value to a fourth parameter, which value is stored at at least one of said third locations, whereby, a value of either a first parameter or a second parameter is adapted, which values are stored at at least two of said third locations, in dependence of a value of a symbol to be coded, by using said adaptation means.
- a system is disadvantageous because it needs a giant memory capacity.
- - check means for checking at least one value of at least of said first and second parameters for, in case of a first check result, activating said allocation means and for, in case of a second check result, deactivating said allocation means.
- a first embodiment of the system according to the invention is characterised in that the first parameter is a(n) and the second parameter is b(n) , the values of these parameters being stored at said at least two of said first locations, with a(n) > 0 and b(n) > 0 resulting in said first check result, and with other cases resulting in said second check result.
- a second embodiment of the system according to the invention is characterised in that the third parameter is i(n) and the fourth parameter is j, with a(j) and b(j) being initiated, with i(j) getting the value 0, with i(n) getting the value j, and with n getting the value i(n) .
- a third embodiment of the system according to the invention is characterised in that, in the initiation, a(j) gets the value 0 and b(j) gets the value 0.
- figure 1 a flow chart illustrating the method according to the invention
- figure 2 a flow chart illustrating a context tree algorithm based on the method according to the invention.
- the flow chart depicted in figure 1 comprises blocks having the following meaning:
- block 6 is d>D ? if yes , go to block 7 if no , go to block 8
- block 7 stop further construction tree for x(t)
- block 8 is x(t-d)-0 ? if yes , go to block 9 if no , go to block 14
- block 10 is a(n)>0 and b(n)>0 ? if yes, go to block 11 if no, go to block 12
- block 12 stop further construction tree for x(t)
- block 15 is a(n)>0 and b(n)>0 ? if yes , go to block 16 if no, go to block 17
- block 17 stop further construction tree for x(t)
- x gets the value of x(t)
- n gets the value one (indicating the root of the tree)
- a fifth parameter d gets the value zero (block 1).
- x(t) will have either the value one or the value zero.
- a first parameter a(n) is increased with the value one
- a second parameter b(n) is increased with the value one (blocks 2,3).
- the fifth parameter d is increased with the value one (block 5) , after which the increased fifth parameter d is compared with a threshold value D (block 6).
- the method is stopped (block 7), otherwise a value of a previous symbol x(t-d) is compared with the value zero (block 8).
- a third parameter i 0 (n) is compared with the value zero (block 9) .
- the values of the first parameter a(n) and of the second parameter b(n) are compared with the value zero (block 10) .
- a fourth parameter j gets a value being an index of an other previous node (a new node)
- the first parameter a(j ) gets the value zero
- the second parameter b(j) gets the value zero
- the third parameter i 0 (j) gets the value zero
- the third parameter i ⁇ (j) gets the value zero (indicating that, due to the creation of the other previous node, this other previous node is not preceded by further nodes)
- the third parameter i 0 (n) gets the value of the fourth parameter j (block 11) .
- n gets the value of the third parameter i 0 (n) (block 13) .
- i 0 (n)>0 indicating that said node is preceded by a previous node
- n also gets the value of the third parameter i 0 (n) (block 13) , but without the adaptation of the fourth parameter j etc. Then the method is repeated, starting with block 2.
- a fourth parameter j gets a value being an index of an other previous node (a new node)
- the first parameter a(j) gets the value zero
- the second parameter b(j) gets the value zero
- the third parameter i 0 (j) gets the value zero
- the third parameter i j ⁇ (j) gets the value zero (indicating that, due to the creation of the other previous node, this other previous node is not preceded by further nodes)
- the third parameter i ⁇ (n) gets the value of the fourth parameter j (block 16) .
- n gets the value of the third parameter i ⁇ (n) (block 18).
- i ⁇ n ⁇ O indicating that said node is preceded by a previous node
- n also gets the value of the third parameter i ⁇ n) (block 18), but without the adaptation of the fourth parameter j etc. Then the method is repeated, starting with block 2.
- the method for constructing a tree for a context tree algorithm for coding symbols comprises the steps of: -x- in dependence of a value of a symbol x(t) to be coded, adapting a value of either a first parameter a(n) or a second parameter b(n) , which values correspond to a node of said tree (blocks 1,2,3,4,5), -y- in dependence of a value of a previous symbol x(t-d) , in case said node is preceded by a previous node, continuing with step -x- for said previous node (blocks 8,9,13 or 8,14,18), and -z- in dependence of a value of a previous symbol, in case said node is not preceded by a previous node, creating an other previous node and continuing with step -x- for said other previous node (blocks 8,9,11,13 or 8,14,16,18) , and is characterised in that, in dependence of at least one value of said parameters , said other previous previous no
- the method is characterised in that said other previous node is created in case a(n) > 0 and b(n) > 0 (blocks 10,11 or 15,16).
- said other previous node is for example not created in case a(n) ⁇ 2 and b(n) ⁇ 2, or is for example not created in case a(n)/b(n) ⁇ 0.001 or a(n)/b(n) > 1000.
- a third parameter i(n) defines said node being preceded or not being preceded by a previous node, said creation of said other previous node comprising the definition of a fourth parameter j being an index of the other previous node, with a(j) and b(j) being initiated, with i(j) getting the value 0, with i(n) getting the value j, and with n getting the value i(n) (blocks 9,11 or 14,16).
- a less efficient but accurate way of initiating a(j) and b(j) could for example be realised by using stored values which have been found earlier.
- the method is characterised in that, in the initiation, a(j) gets the value 0 and b(j) gets the value 0 (block 11 or 16) . This is an efficient but less accurate way of initiating a(j ) and b(j).
- the method is characterised in that the method comprises a step being situated between step -x- on the one hand and steps -y- and -z- on the other hand of: -w- a fifth parameter d being adapted for each further node and being compared with a threshold value D after each adaptation (block 6) .
- the fifth parameter d By introducing the fifth parameter d and comparing it with the threshold value D the method for constructing a tree is limited for trees having a maximum depth being equal to the threshold value D.
- block 22 is t>T ? if yes , go to block 23 if no, go to block 24
- a sixth parameter t gets the value one (block 21) , after which the value of the sixth parameter t is compared with a further threshold value T (block 22): in case t>T, there are no more operations (block 23) , otherwise the statistical calculations and the coding of x(t) are performed (block 24) , which for example is disclosed in IEEE Transactions on INFORMATION THEORY, May 1995, Volume 41, Number 3, in particular "The Context-Tree
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002278605A CA2278605C (en) | 1997-01-24 | 1998-01-22 | Method and system for compressing data based upon context tree algorithm |
AU62941/98A AU727633B2 (en) | 1997-01-24 | 1998-01-22 | Method and system for compressing data based upon context tree algorithm |
PCT/EP1998/000521 WO1998033279A1 (en) | 1997-01-24 | 1998-01-22 | Method and system for compressing data based upon context tree algorithm |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97200199A EP0855803B1 (en) | 1997-01-24 | 1997-01-24 | Method and system for compressing data based upon context tree algorithm |
EP97200199.4 | 1997-01-24 | ||
PCT/EP1998/000521 WO1998033279A1 (en) | 1997-01-24 | 1998-01-22 | Method and system for compressing data based upon context tree algorithm |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1998033279A1 true WO1998033279A1 (en) | 1998-07-30 |
Family
ID=26070265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP1998/000521 WO1998033279A1 (en) | 1997-01-24 | 1998-01-22 | Method and system for compressing data based upon context tree algorithm |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO1998033279A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470347B1 (en) | 1999-09-01 | 2002-10-22 | International Business Machines Corporation | Method, system, program, and data structure for a dense array storing character strings |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5298896A (en) * | 1993-03-15 | 1994-03-29 | Bell Communications Research, Inc. | Method and system for high order conditional entropy coding |
-
1998
- 1998-01-22 WO PCT/EP1998/000521 patent/WO1998033279A1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5298896A (en) * | 1993-03-15 | 1994-03-29 | Bell Communications Research, Inc. | Method and system for high order conditional entropy coding |
Non-Patent Citations (1)
Title |
---|
WILLEMS F M J ET AL: "THE CONTEXT-TREE WEIGHTING METHOD: BASIC PROPERTIES", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 41, no. 3, 1 May 1995 (1995-05-01), pages 653 - 664, XP000577288 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6470347B1 (en) | 1999-09-01 | 2002-10-22 | International Business Machines Corporation | Method, system, program, and data structure for a dense array storing character strings |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3553106B2 (en) | Text compression driver construction method and input text string compression method | |
Schweinsberg | A necessary and sufficient condition for the Λ-coalescent to come down from infinity. | |
US5650783A (en) | Data coding/decoding device and method | |
CN113011581B (en) | Neural network model compression method and device, electronic equipment and readable storage medium | |
JP3410629B2 (en) | Variable length coding circuit and variable length coding method | |
CN111814973B (en) | Memory computing system suitable for neural ordinary differential equation network computing | |
WO1989009517A1 (en) | Method and apparatus for statistically encoding digital data | |
US7079056B2 (en) | Method of encoding and storing in a machine control computer a compressed data lookup table | |
US4967196A (en) | Apparatus for decoding variable-length encoded data | |
Hartman et al. | Optimal parsing of strings | |
EP0855803B1 (en) | Method and system for compressing data based upon context tree algorithm | |
CN108880559B (en) | Data compression method, data decompression method, compression equipment and decompression equipment | |
WO1998033279A1 (en) | Method and system for compressing data based upon context tree algorithm | |
US5574826A (en) | Memory organization method for a fuzzy logic controller and corresponding device | |
EP1488527A1 (en) | Method and apparatus for lossless compression and decompression of data | |
US4736387A (en) | Quantizing apparatus | |
Ginesta et al. | Vector quantization of contextual information for lossless image compression | |
US5864308A (en) | System, coding section, arrangement, coding apparatus, and method | |
WO2001061543A9 (en) | Method for compression of small computer data files | |
JP2001188563A (en) | Effective sectioning method for audio coding | |
CN116719476B (en) | Compressed storage method and device for mobile phone numbers, electronic equipment and storage medium | |
CN117278056B (en) | Social security information processing method and system | |
Ng et al. | Incremental mining of association patterns on compressed data | |
Ryabko et al. | Fast and Space-Efficient Adaptive Arithmetic Coding⋆ | |
WO1998027657A1 (en) | System and method for pre-entropic coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM GW HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN 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 | ||
ENP | Entry into the national phase |
Ref document number: 2278605 Country of ref document: CA Ref country code: CA Ref document number: 2278605 Kind code of ref document: A Format of ref document f/p: F |
|
WWE | Wipo information: entry into national phase |
Ref document number: 62941/98 Country of ref document: AU |
|
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 Ref document number: 1998531621 Format of ref document f/p: F |
|
WWG | Wipo information: grant in national office |
Ref document number: 62941/98 Country of ref document: AU |