JPH03220870A - How to automatically create a variable-length code decoding table - Google Patents
How to automatically create a variable-length code decoding tableInfo
- Publication number
- JPH03220870A JPH03220870A JP2014966A JP1496690A JPH03220870A JP H03220870 A JPH03220870 A JP H03220870A JP 2014966 A JP2014966 A JP 2014966A JP 1496690 A JP1496690 A JP 1496690A JP H03220870 A JPH03220870 A JP H03220870A
- Authority
- JP
- Japan
- Prior art keywords
- child
- decoding table
- node
- code
- decoding
- 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.)
- Pending
Links
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、符号の木で表現できるような可変長符号の復
号化テーブルを1つのメモリ内に自動的に作成するため
の方法に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a method for automatically creating a decoding table for variable length codes that can be expressed as a code tree in one memory.
符号の木で表現できるような可変長符号の代表例としゼ
ハフマン符号がある。このハフマン符号は、発生頻度の
多い事象には短い符号を、また発生頻度の少ない事象に
は長い符号を割り当て、全体として平均符号長が最短符
号となるような可変長符号である。このハフマン符号を
利用した画像データの符号化方式の例として、例えば、
ISO/JTC1/ SC2/WG8で採用された自然
静止画像符号化の国際標準化案がある。この国際標準化
案におけるベースラインシステムでは、ADCT (適
応的離散コサイン変換)とハフマン符号を用いた符号化
方式を採用している。Zehafman code is a typical example of a variable length code that can be expressed as a code tree. This Huffman code is a variable length code that assigns short codes to events that occur frequently and long codes to events that occur less frequently, so that the overall average code length is the shortest code. As an example of an image data encoding method using this Huffman code, for example,
There is an international standardization proposal for natural still image coding adopted by ISO/JTC1/SC2/WG8. The baseline system in this international standardization proposal employs an encoding method using ADCT (adaptive discrete cosine transform) and Huffman codes.
上記国際標準化案のベースラインシステムにおけるハフ
マン符号の復号方法は次の通りである。The Huffman code decoding method in the baseline system of the above international standardization proposal is as follows.
すなわち、全事象を予め符号ビット数に従ってソーティ
ングしておき、ビット数の小さい事象から順に全事象に
符号を割り当てていく。復号化テーブルの各メモリ番地
は各事象に対応しており、それぞれの番地にそれぞれの
事象の値、符号化データ、符号ビット数が格納されてい
る。したがって、まず、最初の事象に対応するメモリ番
地の符号化データを表す部分の中で、最下位ビットのみ
を“1 ”とし、それ以外のビットを0゛とする。以下
、着目している事象の1つ前の事象の符号化データに“
1”を足し、さらに、もし符号化ビット数が前の事象よ
りも増えた場合には、その増えたビット数分だけ符号化
データを左(上位)へビットシフトし、着目している事
象の符号化データとするものである。That is, all events are sorted in advance according to the number of code bits, and codes are assigned to all events in order from the smallest number of bits. Each memory address of the decoding table corresponds to each event, and each address stores the value of each event, encoded data, and number of encoded bits. Therefore, first, in the portion representing the encoded data of the memory address corresponding to the first event, only the least significant bit is set to "1" and the other bits are set to 0. Below, the encoded data of the event immediately before the event of interest is “
1”, and if the number of encoded bits increases from the previous event, bit-shift the encoded data to the left (higher) by the increased number of bits, and This is encoded data.
上記復号処理を、各節点の左の技を符号“0”右の技を
符号“l”にそれぞれ対応させた符号の木で考えると次
のようになる。まず最初に、最小ビット数の符号化デー
タを表す節点に最初の事象を対応させ、以下、符号の木
を右へ進みながら、各事象につき符号ビット数と同じ深
さの節点にその事象を対応させていく。そして、符号の
木の右端に達したら、次は左端に移り、以下同様な動作
を繰り返していく。If the above decoding process is considered as a code tree in which the technique on the left of each node corresponds to the code "0" and the technique on the right corresponds to the code "l", the result is as follows. First, we match the first event to the node representing the encoded data with the minimum number of bits, and as we proceed through the code tree to the right, we match each event to the node at the same depth as the number of coded bits. I'll let you do it. When the right end of the code tree is reached, the next step is to move to the left end, and the same operation is repeated.
第5図と第6図にこの処理の具体例を示す。第5図中の
“、poIolはソーティングの際の通し番号、”hu
fftab、value”は事象の値(便宜上、各値を
アルファアベットA〜Jで表現) 、”hufftab
、5izeは符号ビット数、“hufftab、cod
e”は符号化データ(2進数)を示す。第6図は第5図
の符号の木である。第6図において、各終端節点には、
その終端節点に対応する°’paint’= 0〜9と
”hufftab。A specific example of this process is shown in FIGS. 5 and 6. In Figure 5, ", poIol is the serial number used for sorting,""hu"
fftab, value" is the value of the event (for convenience, each value is expressed as alpha abet A to J), "hufftab
, 5ize is the number of code bits, “hufftab, cod
e" indicates encoded data (binary number). Figure 6 is a code tree of Figure 5. In Figure 6, each terminal node has the following characters:
°'paint' = 0 to 9 and "hufftab" corresponding to the terminal node.
value”=A〜Jが、また、それ以外の節点(根お
よび中間節点)には、符号の木を構成するときの順番に
従った通し番号0〜8がそれぞれ記されている。value"=A to J, and the other nodes (root and intermediate nodes) are respectively written with serial numbers 0 to 8 according to the order in which the code tree is constructed.
第6図の符号の木を用いた場合の復号の手順は次の通り
である。まず、根(節点=O)からスタートシ、入力符
号列を1ビツトづつ解釈しながら、もし“0”であれば
左の子へ、“1′”であれば右の子へ進むということを
繰り返し、終端節点に達したらそこに書いである値を復
号すべき事象の値とする。The decoding procedure when using the code tree shown in FIG. 6 is as follows. First, start from the root (node = O) and interpret the input code string bit by bit, and if it is "0", proceed to the left child, and if "1'", proceed to the right child. Repeat this process, and when you reach the terminal node, the value written there is taken as the value of the event to be decoded.
従来、第6図のような符号の木を効率よくテーブル表現
する方法の1つとして、エイボなどの提案した方法(°
“アルゴリズムの設計と解析r”p。Conventionally, one method of efficiently representing a code tree as shown in Figure 6 in a table is the method proposed by Eibo et al.
“Algorithm Design and Analysis” p.
47、^、v、エイホ他著、野崎他訳、サイエンス社。47, ^, v, by Eiho et al., translated by Nozaki et al., Science Publishing.
1986年)がある。これによると、第6図の符号の木
は第7図のような復号化テーブルで表現される。1986). According to this, the code tree shown in FIG. 6 is expressed by a decoding table as shown in FIG. 7.
第6図の根および中間節点に記された番号が第7図での
“address″2こ対応し、各“address”
には“1eftson”と”rightson’という
二つの値が用意されている。” lef tson”に
は、着目している接点の左の子が中間節点の場合には、
その節点の“address(復号継続命令に相当)が
、また、着目している接点が終端節点の場合には、対応
する事象の値(復号終了命令に相当)がそれぞれ入って
いる。終端節点であるか否かは、フラグビットを用いて
判断される。rightson″についても同様である
。The numbers written on the roots and intermediate nodes in Figure 6 correspond to the two "addresses" in Figure 7, and each "address"
There are two values available for "1eftson" and "rightson'."Leftson" has two values: "1eftson" and "rightson'.
The address of the node (corresponding to the decoding continuation command) is contained, and if the contact point of interest is the terminal node, the value of the corresponding event (corresponding to the decoding end command) is stored. Whether it exists or not is determined using a flag bit. The same applies to "rightson".
この第7図の復号化テーブルを用いて復号するには、常
に“address” =Oからスタートし、人力符号
列を1ビツトづつ見ながら、もし“0”であれば”Ie
ftson”の値、“1”であれば“rightson
”の値を参照しつつ先へ進んでいくのである。To decode using the decoding table shown in Fig. 7, always start from “address” = O, and while looking at the manual code string bit by bit, if
If the value of “ftson” is “1”, “rightson”
” while referring to the value.
また、他の復号方法として、特公昭63−38153号
の「ランレングス符号の復号方法」がある。この復号方
法は、モディファイド・ハフマン符号などのランレング
ス符号の復号に関するもので、この方法を利用して以下
のように復号することができる。Further, as another decoding method, there is a ``Run-length code decoding method'' in Japanese Patent Publication No. 63-38153. This decoding method relates to decoding run-length codes such as modified Huffman codes, and using this method, decoding can be performed as follows.
まず、第6図の符号の木を第8図のように書き換えてみ
る。第8図を作成する手順は次の通りである。第6図の
根(節点0)に着目すると、これを基準とした深さ2未
満の節点はないということが分かる。そこで、深さlの
中間節点(節点1゜2)を消し、深さ2の中間節点(節
点3,4)および終端節点(節点A、B)を直接銀(節
点0)につなぐ。以下、節点3,4をそれぞれ基準とし
て同様の操作を繰り返していくと、第8図が得られる。First, try rewriting the code tree in Figure 6 as shown in Figure 8. The procedure for creating FIG. 8 is as follows. Focusing on the root (node 0) in FIG. 6, it can be seen that there is no node with a depth less than 2 based on this root. Therefore, the intermediate node at depth l (node 1°2) is deleted, and the intermediate node at depth 2 (nodes 3 and 4) and the terminal nodes (nodes A and B) are directly connected to silver (node 0). Hereinafter, by repeating the same operation using nodes 3 and 4 as reference points, FIG. 8 is obtained.
この第8図が第6図と大きく異なる点は、第6図では終
端節点を除くすべての節点がそれぞれ2つの子を持つ、
いわゆる二分木であるのに対し、第8図では節点によっ
て子の数が異なる点である。The major difference between Fig. 8 and Fig. 6 is that in Fig. 6, all nodes except the terminal node each have two children.
In contrast to what is called a binary tree, the number of children differs depending on the node in FIG. 8.
第8図を用いて復号を行う手順は次の通りである。根(
節点0)からスタートし、入力符号列から2ビット取り
込んで、もし、“oo“なら節点4へ ’11’”なら
節点3へそれぞれ進み、“01”またSよ“10°”な
ら復号事象の値として“A゛または“B”をそれぞれ得
る。節点4へ進んだ場合はさらに2ビ7トを取り込み、
節点3へ進んだ場合はさらにlビット取り込み、以下同
様にして終端節点に達するまで復号を続ける。The procedure for decoding using FIG. 8 is as follows. root(
Start from node 0), take in 2 bits from the input code string, if “oo” go to node 4, if “11” go to node 3, if “01” or S is “10°” then go to node 3. "A" or "B" is obtained as the value. If you proceed to node 4, take in another 2 bits,
When the process advances to node 3, 1 more bits are taken in, and decoding is continued in the same manner until reaching the terminal node.
第8図の符号の木をテーブル表現するために注意すべき
点は、第1に、何ヒ゛ントまとめて解釈すべきかを明記
する必要があるという点である。第6図のときは常に1
どノドづつ解釈していたが、第8図では節点によって解
釈ヒ゛ット数が変わるからである。第2に、解釈するビ
ット数によって分岐の数(1ビツトなら2通り、2ビツ
トなら4通り)が異なるという点である。第6図では、
常に2通りの分岐(’ lef tson”と“rig
htson”) L/かないため、テーブルを簡単に
表現できたが、第8図の場合はそれほど簡単ではない。In order to express the code tree in FIG. 8 as a table, it is important to note that, first, it is necessary to specify how many hints are to be interpreted together. When in Figure 6, it is always 1
This is because the number of interpretation hits changes depending on the node in Figure 8, although we were interpreting each node one by one. Second, the number of branches varies depending on the number of bits to be interpreted (two for one bit, four for two bits). In Figure 6,
There are always two branches (' left tson' and 'rig
htson") L/, so the table could be expressed easily, but in the case of Figure 8, it is not so easy.
これらの点に留意して作成した第8図に対する復号化テ
ーブルが第9図である。ただし、この第9図の復号化テ
ーブルは、前述の特公昭63−38153号において1
個のメモリで表現されていたものを、複数個のメモリに
分けて表現し直したものである。FIG. 9 shows a decoding table for FIG. 8 created with these points in mind. However, the decoding table shown in Fig. 9 is
What was previously represented in one memory is divided into multiple memories and re-expressed.
第9図の復号化テーブルの内容は次の通りである。すな
わち、復号化テーブルとして5個のメモリO〜4を用意
し、メモリ0の先頭番地“address=0に“2ビ
ット取り込め” (復号継続命令)と書き込み、このア
ドレスに続いて、解釈すべきビット数に対応する22=
4個のアドレス空間が確保される。この4個のアドレス
空間“address =1〜4には、入力符号列の2
個のそれぞれの場合に対する命令が“00“、“01”
、“10”、“11”の順(第8図の符号の木でいえば
左から右の順)に格納されている。この“addres
s ” = 1〜4に格納される命令の具体的内容は、
次に移るべき節点が中間節点ならば、例えば“addr
ess”=1のように“メモリ2へ飛べ”という復号継
続命令であり、これに応してその飛び先のメモリ2の先
頭番地“’address”=Oには再びその節点で解
釈すべきビット数に対応した“2ビット取り込め”°と
いう復号継続命令が格納される。以下、同様のことが繰
り返される。The contents of the decoding table in FIG. 9 are as follows. In other words, prepare 5 memories O to 4 as decoding tables, write "Import 2 bits" (decoding continuation instruction) to the first address "address=0" of memory 0, and write the bits to be interpreted following this address. 22 = corresponding to the number
Four address spaces are reserved. These four address spaces “address = 1 to 4 contain 2 bits of the input code string.
The instructions for each case are “00”, “01”
, "10", and "11" (in order from left to right in the code tree of FIG. 8). This “address
The specific contents of the instructions stored in s”=1 to 4 are as follows:
If the next node to move to is an intermediate node, for example, “addr
This is a decoding continuation instruction that says "jump to memory 2" as shown in "ess" = 1, and in response, the first address of memory 2 at the jump destination "'address" = O contains the bit that should be interpreted at that node again. A decoding continuation command "capture 2 bits" corresponding to the number is stored.The same process is repeated thereafter.
一方、次に移るべき節点が終端節点ならば、例えばメモ
リOの“address“=2のように″事象はA”と
いう復号終了命令が格納され、そこで復号が終了する。On the other hand, if the next node to be moved to is the terminal node, a decoding end command such as "event is A" is stored, such as "address"=2 in memory O, and decoding ends there.
なお、上記三種類の命令はフラグビットでそれぞれ区別
される。Note that the above three types of instructions are distinguished from each other by flag bits.
〔発明が解決しようとする課題]
従来においては、上記したような復号化チーフルを用い
、復号を行っていた。しかしながら、第7図のごとき復
号化テーブルの場合、圧縮された画像データ列に対して
、復号化テーブルの最初の番地から順番に1ビツトづつ
符号化テーブルと照らし合わせていき、人力符号列と一
致する符号化データを見つけねばならず、復号に時間が
かかるという欠点がある。[Problems to be Solved by the Invention] Conventionally, decoding was performed using a decoding chifur as described above. However, in the case of a decoding table as shown in Fig. 7, the compressed image data string is checked against the encoding table one bit at a time starting from the first address of the decoding table, and it matches the human code string. The disadvantage is that the encoded data must be found, and decoding takes time.
一方、第9図のごとき復号化テーブルは、モディファイ
ド・ハフマン符号のように予め符号化データが決まって
いるランレングス符号を表現するために考案された固定
テーブルであり、ハフマン符号のように人力事象データ
によって符号化データが適応的に変化する符号にはその
まま適用することができない。また、特公昭63−38
153号には、第9図の復号化テーブルを自動的に作成
するためのテーブル作成方法については何ら提案されて
おらず、ただ単にランレングス符号の復号方法が開示さ
れているだけである。On the other hand, the decoding table shown in Figure 9 is a fixed table devised to express run-length codes in which encoded data is determined in advance, such as modified Huffman codes. This method cannot be directly applied to codes in which encoded data changes adaptively depending on the data. In addition, the special public
No. 153 does not propose any table creation method for automatically creating the decoding table shown in FIG. 9, but merely discloses a run-length code decoding method.
そこで、本出願人は先に、第9図のごとき復号化テーブ
ルを自動的に作成するためのテーブル作成方法について
出願した。この方法は、符号の木の根のそれぞれの子あ
るいはその子孫に含まれる前記ソーティングされた事象
の範囲を、前記符号ビット数データから算出した各事象
に対応する終端節点の前記子に対する重みを用いて求め
、該重みからそれぞれの子が終端節点か中間節点かを判
断し、子が終端節点の場合には復号終了命令を復号化テ
ーブルに書き込み、子が中間節点の場合には復号継続命
令を復号化テーブルに書き込むとともにその子を新たな
根とし、上記動作を再帰的に繰り返すことにより、第9
図のごとき可変長符号の復号化テーブルを自動的に作成
するようにしたものである。さらに、該方法において、
着目している根を基準として符号ビット数データが最小
である事象に対応する終端節点および当該終端節点と深
さの等しい中間節点をすべて根に直結し、これらの節点
をそれぞれ新たな子と見なすことにより、更に効率よく
復号化テーブルを自動作成するようにしたものである。Therefore, the present applicant previously filed an application for a table creation method for automatically creating a decoding table as shown in FIG. This method calculates the range of the sorted events included in each child or descendant of the root of the code tree using the weight for the child of the terminal node corresponding to each event calculated from the code bit number data. , determines whether each child is a terminal node or an intermediate node from the weight, and if the child is a terminal node, writes a decoding end instruction to the decoding table, and if the child is an intermediate node, decodes a decoding continue instruction. By writing to the table, making the child a new root, and repeating the above operation recursively, the ninth
A decoding table for variable length codes as shown in the figure is automatically created. Furthermore, in the method,
Directly connect all terminal nodes corresponding to the event with the minimum code bit number data and intermediate nodes with the same depth as the terminal node to the root, and consider each of these nodes as new children. This makes it possible to automatically create a decoding table more efficiently.
しかしながら、本出願人の提案したこれらの方法では、
復号継続命令でのメモリアドレスの設定ができないため
、復号継続命令の度に異なるメモリへ飛ぶように構成せ
ねばならず、復号化テーブルを作成するには複数のメモ
リを必要とするという欠点があった。However, in these methods proposed by the applicant,
Since the memory address cannot be set in the decoding continuation command, it must be configured to jump to a different memory each time the decoding continuation command is issued, and it has the disadvantage that multiple memories are required to create a decoding table. Ta.
本発明は、上記事情の下になされたもので、その目的と
するところは、前記した本出願人の方法を改良し、入力
事象の値とその符号ビット数の2つを用い、しかもただ
1つのメモリを用いて第9図のごとき復号化テーブルを
自動作威し得る、可変長符号の復号化テーブルの自動作
成方法を提供することである。The present invention has been made under the above circumstances, and its purpose is to improve the above-described method of the applicant, use two values, the value of the input event and the number of sign bits, and use only one. An object of the present invention is to provide a method for automatically creating a decoding table for variable length codes, which can automatically create a decoding table as shown in FIG. 9 using two memories.
本発明は、上記目的を遠戚するため、符号ビ・ノド数の
少ないものから順にソーティングされた事象およびその
事象に対応する符号ビ・ノド数データを入力事象データ
として符号の木で表現できるような可変長符号の復号化
テーブルであって、連続して伝送される可変長符号化デ
ータの先頭から所定のビット数づつ取り出したビ・ノド
列の結果により選択される複数の命令を持ち、符号の木
の根のそれぞれの子あるいはその子孫に含まれる前記ソ
ーティングされた事象の範囲を、前記符号ビ・ノド数デ
ータから算出した各事象に対応する終端節点の前記子に
対する重みを用いて求め、該重みからそれぞれの子が終
端節点か中間節点かを判断し、子が終端節点の場合には
復号終了命令を復号化テーブルに書き込み、子が中間節
点の場合には復号継続命令を復号化テーブルに書き込む
とともに、その子を新たな根として前記動作を再帰的に
繰り返すことにより可変長符号の復号化テーブルを自動
的に作成する方法乙こおいて、前記子が中間節点の場合
には、その子を新たな根として再帰的に当該子およびそ
の子孫についての復号化テーブルを作成した後に、当該
子および子孫の部分についての復号化テーブルの終端ア
ドレスを記憶しておき、該符号化テーブルを作成した子
の後に現れる前記符号の木の根につらなる他の子につい
て、その子を新たな根として再帰的に復号化テーブルを
作成する際、当該他の子およびその子孫についての復号
化テーブルの作成を前記記憶した終端アドレスの次のア
ドレスから続けるようにしたものである。In order to achieve the above-mentioned object distantly, the present invention is capable of expressing events sorted in descending order of number of code bits and nodes and code number data corresponding to the events as input event data in a code tree. A decoding table for variable-length codes, which has a plurality of instructions selected according to the result of a bit string extracted from the beginning of variable-length coded data that is continuously transmitted. The range of the sorted events included in each child of the root of the tree or its descendants is determined using the weight for the child of the terminal node corresponding to each event calculated from the code number data, and the weight is calculated. Determine whether each child is a terminal node or an intermediate node from In addition, a method for automatically creating a variable-length code decoding table by repeating the above operation recursively with the child as a new root.B.In this case, if the child is an intermediate node, After recursively creating a decoding table for the child and its descendants as a root, the end address of the decoding table for the child and descendants is stored, and after the child for which the encoding table was created, When recursively creating a decoding table for another child connected to the root of the code tree that appears, using that child as a new root, the creation of the decoding table for the other child and its descendants is performed using the stored terminal address. It is designed to continue from the next address.
さらに、前記方法において、着目している根を基準とし
て符号ビット数データが最小である事象に対応する終端
節点および当該終端節点と深さの等しい中間節点をすべ
て根に直結し、これらの節点をそれぞれ新たな子と見な
し、これら複数の子に対応する部分の復号化テーブルの
終端アドレスを最小符号ビット数から算出して記憶して
おき、前記子の中で最初に現れた中間節点である子を新
たな根として再帰的に当該子およびその子孫についての
復号化テーブルを作成する際、前記記憶した復号化テー
ブルの終端アドレスの次のアドレスから復号化テーブル
の作成を続けるようにしたものである。Furthermore, in the above method, all terminal nodes corresponding to the event having the minimum code bit number data with respect to the root of interest and intermediate nodes having the same depth as the terminal node are directly connected to the root, and these nodes are Each child is considered to be a new child, and the end address of the decoding table corresponding to these multiple children is calculated from the minimum number of code bits and stored, and the child that is the first intermediate node that appears among the children is When recursively creating a decoding table for the child and its descendants using the decoding table as a new root, the creation of the decoding table is continued from the address next to the end address of the stored decoding table. .
子が中間節点の場合、当該子およびその子孫についての
復号化テーブルを作成した後、その復号化テーブルの終
端アドレスを記憶し、次の他の子およびその子孫につい
ての復号化テーブルを該記憶した終端アドレスの次のア
ドレスから続けて作成する。したがって、可変長符号を
効率よく復号可能な復号化テーブルが1個のメモリに自
動作成される。If the child is an intermediate node, after creating a decoding table for the child and its descendants, store the end address of the decoding table, and store the decoding table for the next other child and its descendants. Continuously create from the address following the terminal address. Therefore, a decoding table that can efficiently decode variable length codes is automatically created in one memory.
さらに、着目している根を基準として符号ビット数デー
タが最小である事象に対応する終端節点および当該終端
節点と深さの等しい中間節点をすべて根に直結し、これ
らの節点をそれぞれ新たな子と見なした符号の木を用い
て復号化テーブルの作成を行う。したがって、更に効率
よく復号可能な復号化テーブルが1個のメモリに自動作
成される。Furthermore, all terminal nodes corresponding to the event with the minimum code bit number data and intermediate nodes having the same depth as the terminal node are directly connected to the root, and each of these nodes is created as a new child. A decoding table is created using the code tree considered as Therefore, a decoding table that allows more efficient decoding is automatically created in one memory.
以下、図面を参照して本発明の実施例につき説明する。 Embodiments of the present invention will be described below with reference to the drawings.
第2図は、前述した第6図とまったく同じ構成の符号の
木である。本発明の場合、この符号の木において、各終
端節点A−Jに°“符号ビット数”(第5図の“huf
ftab、5ize”の値)とその節点の“重み“が記
されている。例えば、終端節点Aにおいて、節点への下
に記された2つの数値のうち、左の数値2が符号ビット
数を、右のカッコ内の数値(1/4)が重みを表してい
る。この重みは、その終端節点の符号ヒ゛ット数をnと
すると1/2”で定義する。ここでの“重み”は各終端
接点の根に対する重みであり、全終端節点の“′重み”
の総和はlである。FIG. 2 is a code tree having exactly the same structure as FIG. 6 described above. In the case of the present invention, in this code tree, each end node A-J is given the "number of code bits"("huf" in FIG.
ftab, 5ize" value) and the "weight" of that node. For example, at the terminal node A, of the two numbers written below the node, the left number 2 indicates the number of sign bits. , the value (1/4) in parentheses on the right represents the weight.This weight is defined as 1/2'', where n is the number of code hits at the terminal node. The “weight” here is the weight for the root of each terminal contact, and the “′weight” of all terminal nodes
The total sum is l.
本発明は“°符号ビット数“と“重み′を付した上記第
2図のごとき符号の木を用いて復号化テーブルを自動作
成するものであるが、以下の説明においては、最も効率
のよい請求項(2)記載の方法による場合を例にとって
、その処理例を述べる。請求項(1)記載の方法の場合
は、後述する第3図の符号の木を用いずに、前記第2図
の符号の木を用いて同様の処理を実行すればよい。The present invention automatically creates a decoding table using the code tree shown in FIG. An example of the processing will be described using the method according to claim (2) as an example.In the case of the method according to claim (1), the code tree shown in FIG. Similar processing can be performed using the code tree of .
さて、請求項(2)記載の方法を実施する場合、まず最
初に、第2図の符号の木を第3図のように変形する。す
なわち、第2図において、入力事象データの最小符号ビ
ット数は2ビットであるので、符号ビット数=2の事象
に対応する終端節点A。Now, when carrying out the method according to claim (2), the code tree shown in FIG. 2 is first transformed as shown in FIG. 3. That is, in FIG. 2, since the minimum number of sign bits of input event data is 2 bits, the terminal node A corresponds to an event with the number of sign bits=2.
B、およびこれと同じ深さの中間節点3,4をすべて根
(節点0)に直結する。このようにして得られた新たな
符号の木を第3図に示す。B and intermediate nodes 3 and 4 at the same depth are all directly connected to the root (node 0). The new code tree obtained in this way is shown in FIG.
第3図から分かるように、一つの子あるいはその子孫に
含まれる各事象に対応する各終端節点のpaint”の
値(節点A−Jの下半部内の数字)は深さに従って連続
している。したがって、1つの子あるいはその子孫に含
まれる事象の範囲を表現するには、それに対応する“p
aint”の最小値と最大値を示せばよいことがわかる
。そこで、以後、この最小値を°“stp”、最大値を
“enp”とおく3本実施例は、この第3図に基づいて
、以下のようにして1つのメモリ内に、第9図の復号化
テーブルと等価な第1図のごとき復号化テーブルを自動
的に作成するものである。As can be seen from Figure 3, the values of "paint" (numbers in the lower half of nodes A-J) of each terminal node corresponding to each event included in one child or its descendants are continuous according to the depth. Therefore, to express the range of events included in one child or its descendants, the corresponding “p
It can be seen that it is sufficient to indicate the minimum and maximum values of ``aint''.Thus, from now on, the minimum value will be referred to as ``stp'' and the maximum value as ``enp''.The three embodiments will be based on this FIG. The decoding table shown in FIG. 1, which is equivalent to the decoding table shown in FIG. 9, is automatically created in one memory as follows.
すなわち、まず最初に、第1図の復号化テーブルの先頭
番地“”address = 0に“2ビット取り込み
、アドレスlへ飛べ”という復号継続命令を書き込む。That is, first, a decoding continuation command "fetch 2 bits and jump to address l" is written to the first address "" address = 0 of the decoding table shown in FIG.
ここでの°゛22ビツトいうのは、前述の最小符号ビッ
ト数の値に対応する。22 bits here corresponds to the value of the minimum number of code bits mentioned above.
ところで、最小符号ビット数は2であるから、子の数は
22=4個と計算できる。したがって、この4個の子に
対応する部分の符号化テーブルの記述には4つのアドレ
スが必要となることが分かる。ここまでの段階では、第
1図の復号化テーブルにはまだ’address =
0にしか命令が書き込まれていないので、この4個の子
を記述するための符号化テーブルの終端アドレスはO+
4=4、すなわち“address = 4と計算でき
る。そこで、この終端アドレス“address=5を
enad”=4とおいて記憶しておく。By the way, since the minimum number of code bits is 2, the number of children can be calculated as 22=4. Therefore, it can be seen that four addresses are required to describe the portion of the encoding table corresponding to these four children. Up to this point, the decoding table in Figure 1 still has 'address =
Since instructions are only written to 0, the end address of the encoding table for describing these four children is O+
4=4, that is, "address=4." Therefore, this terminal address "address=5" is set as enad=4 and stored.
次に、第3図における各符号ビット数から最小符号ビッ
ト数=2ビットをそれぞれ引いたものを新たな符号ビッ
ト数とし、この符号ビット数に応じて各終端節点の“′
重み”も新たに算出し直す。Next, the new number of code bits is obtained by subtracting the minimum number of code bits = 2 bits from each code bit number in FIG.
"Weight" is also newly calculated.
これを第4図に示す。第4図から、例えば、節点4の子
孫の各事象(E、F、G、H,I、J)の“重み”の総
和がlになることが分かる。他の3つの節点(A、B、
3)についても同様である。This is shown in FIG. From FIG. 4, it can be seen that, for example, the sum of the "weights" of the descendant events (E, F, G, H, I, J) of node 4 is l. The other three nodes (A, B,
The same applies to 3).
そして、第4図において“stp”=0とおき、そこか
ら“paint”の値の順に各終端節点の“重み”の和
を計算していき、その和が最初に1となった時点の“p
aint”を“enp”とする。第4図の場合、節点A
の“重み”は1であるから、“enp =“stp”=
0となり、この最初の子(節点A)およびその子孫に含
まれる事象はただ1個のみであることが分かる。したが
って、この子(節点A)は終端節点であることが分かる
ので、第1図の復号化テーブルの“”address”
=2に“°事象はA″という復号終了命令を書き込んで
次へ進む。Then, in Fig. 4, set "stp" = 0, and then calculate the sum of "weights" of each terminal node in the order of the "paint" value, and when the sum becomes 1 for the first time, " p
aint” is “enp”. In the case of Fig. 4, the node A
Since the “weight” of is 1, “enp = “stp” =
0, and it can be seen that there is only one event included in this first child (node A) and its descendants. Therefore, it can be seen that this child (node A) is the terminal node, so the ""address" in the decoding table in Figure 1
A decoding end command "°event is A" is written in =2 and the process proceeds to the next step.
次に、°“stp”=0+1=1とおいて、上記と同様
の処理を行うが、ここでもやはり次の節点Bが“重み°
’=1であり、“enp“=“stp”=1となる。Next, the same process as above is performed by setting ° “stp” = 0 + 1 = 1, but here again the next node B is “weight °
'=1, and "enp"="stp"=1.
したがって、二番目の子(節点B)も終端節点であるこ
とが分かるので、一番目と同様に、復号化テーブルの“
address = 3に“事象はB”という復号終了
命令を書き込んで次へ進む。Therefore, it can be seen that the second child (node B) is also a terminal node, so like the first child, "
Write the decoding end command “Event is B” to address = 3 and proceed to the next step.
次に、“stp”=1+1=2とおいて同様の処理を行
うが、ここでは“enp=3なので、三番目の子(節点
3)は子孫を持つ中間節点であり、その子孫に含まれる
事象の数は2個であることが分かる。また、“stp”
=2(節点C)の符号ビット数はlであるから、節点3
を新たな根とみなした場合の最小符号長は1ビツトであ
ることが分かる。Next, the same process is performed with "stp" = 1 + 1 = 2, but here "enp = 3, so the third child (node 3) is an intermediate node that has descendants, and the events included in the descendants It can be seen that the number of is 2. Also, “stp”
Since the number of sign bits of =2 (node C) is l, node 3
It can be seen that the minimum code length when is regarded as a new root is 1 bit.
さらに、前記したように終端アドレス“enad″=4
と記憶していることから、復号化テーブルの“addr
ess = 5から先は空きアドレスであることが分か
る。Furthermore, as mentioned above, the terminal address "enad"=4
Since I remember that, “addr” in the decryption table
It can be seen that the address after ess = 5 is a free address.
そこで、復号化テーブルの“address = 4に
“lビット取り込み、アドレス5へ飛べ”という復号継
続命令を書き込む。そして、着目している三番目の子(
1点3)を新たな根とみなし、上記の動作を再帰的に繰
り返す。これにより“address=5に“事象はC
”、また“address=5に“′事象はD”の各復
号終了命令を得る。そして、この節点3の部分について
の復号化テーブルの終端アドレス“address =
6を“enad”=6として記憶する。Therefore, write the decoding continuation command "fetch l bit and jump to address 5" to "address = 4" in the decoding table.
1 point 3) is regarded as a new root, and the above operation is repeated recursively. As a result, the “event at address=5” is C.
” and “event is D” at address=5. Then, the end address of the decoding table for this node 3 part “address =
6 is stored as “enad”=6.
次に、“stp”=3+1=4とおいて、四番目の子(
節点4)についても同様の処理を行う。この際、“st
p”=4、“”stp”=4(節点E)の符号ビット数
は2であるから、節点4を新たな根とみなした場合の最
小符号長は2ビツトとなる。したがって、四番目の子(
節点4)−は子孫を持つ中間節点であることが分かる。Next, set "stp" = 3 + 1 = 4 and add the fourth child (
Similar processing is performed for node 4). At this time, “st”
Since the number of code bits for p"=4 and "stp"=4 (node E) is 2, the minimum code length when node 4 is regarded as a new root is 2 bits. Therefore, the fourth child (
It can be seen that node 4)- is an intermediate node with descendants.
また、記憶されている終端アドレスは“enad”=6
である。Also, the stored terminal address is “enad”=6
It is.
そこで、復号化テーブルの”address = 1に
″2ヒーノト取り込み、アドレス7へ飛べ“という復号
m続命令を書き込む。そしで、着目している四番目の子
(節点4)を新たな根とみなし、上述したと同様の処理
動作を再帰的に繰り返す。Therefore, we write a decoding m-continuation instruction that says ``Fetch 2 he notes to address = 1 and jump to address 7'' in the decoding table.Then, we consider the fourth child (node 4) we are looking at as a new root. , the same processing operations as described above are repeated recursively.
上記処理動作を中間節点がなくなるまで再帰的に繰り戊
子と、最終的に、第1図に示すような復号化テーブルが
作成される。The above processing operations are repeated recursively until there are no intermediate nodes, and finally a decoding table as shown in FIG. 1 is created.
なお、前記実施例例では、最小符号ビット数を2とした
が、これは−例にすぎない。また、これに関連してメモ
リ中の前記“2ビット取り込め“。In the above embodiment, the minimum number of code bits is 2, but this is just an example. Also, in connection with this, the above-mentioned "2 bits are taken in" in memory.
という復号命令の取り込みビット数も変わることはいう
までもない。Needless to say, the number of bits taken in by the decoding instruction also changes.
請求項(1)記載の方法によるときは、子が中間節点の
場合には、その子を新たな根として再帰的に当該子およ
びその子孫についての復号化テーブルを作成した後に、
当該子および子孫の部分についての復号化テーブルの終
端アドレスを記憶しておき、該符号化テーブルを作成し
た子の後に現れる前記符号の木の根につらなる他の子に
ついて、その子を新たな根として再帰的に復号化テーブ
ルを作成する際、当該他の子およびその子孫についての
復号化テーブルの作成を前記記憶した終端アドレスの次
のアドレスから続けるようにしたので、可変長符号を効
率よく復号するための復号化テーブルを1個のメモリに
自動作成することができる。According to the method described in claim (1), when the child is an intermediate node, after recursively creating a decoding table for the child and its descendants by using the child as a new root,
The end address of the decoding table for the child and descendant part is memorized, and for other children connected to the root of the code tree that appear after the child that created the encoding table, recursively use that child as a new root. When creating a decoding table for the other child and its descendants, the creation of the decoding table for the other child and its descendants continues from the address next to the stored end address. A decoding table can be automatically created in one memory.
また、請求項〔2)記載の方法によるときは、着目して
いる根を基準として符号ビット数データが最小である事
象に対応する終端節点および当該終端節点と深さの等し
い中間節点をすべて根に直結し、これらの節点をそれぞ
れ新たな子と見なし、これら複数の子に対応する部分の
復号化テーブルの終端アドレスを最小符号ビット数から
算出して記憶しておき、前記子の中で最初に現れた中間
節点である子を新たな根として再帰的に当該子およびそ
の子孫についての復号化テーブルを作成する際、前記記
憶した復号化テーブルの終端アドレスの次のアドレスか
ら復号化テーブルの作成を続けるよう!こしたので、更
に効率よく復号可能な復号化チーフルを1個のメモリに
自動作成することができる。In addition, when using the method described in claim [2], all terminal nodes corresponding to the event having the minimum code bit number data and intermediate nodes having the same depth as the terminal node are all root nodes. These nodes are each considered as a new child, and the end address of the decoding table corresponding to these multiple children is calculated from the minimum number of code bits and stored, and the first node among the children is When recursively creating a decoding table for the child and its descendants using a child that is an intermediate node appearing in as a new root, the decoding table is created from the address next to the end address of the stored decoding table. Let's continue! Therefore, it is possible to automatically create a decoded chifur that can be decoded more efficiently in one memory.
第1図は本発明方法により作成した復号化チーフルの一
例を示す図、
第2図は本発明方法の復号化テーブル作成のための符号
の木の例を示す図、
第3図は第2図において最小符号ビット深さの節点を根
に直結して書き直した符号の木を示す図、
第4図は第3図において重み付けをし直した符号の木を
示す図、
第5図は自然静止画像符号化の国際標準化案における復
号化テーブルの例を示す図、
第6図は第5図の復号化テーブルのための符号の木を示
す図、
第7図はエイホの方法による復号化テーブルの例を示す
図、
第8図は第6図Sこおいて最小符号ビット深さの節点を
根に直結して書き直した符号の木を示す図、
第9図は第8図の符号の木による復号化テーブルの例を
示す図である。
特許出廟人
株式会社
リ
コ
第
1
図
1 r e++冴ふのため角番3の木のσ1」第
図
第
図
3暗13(−i) 3(−fl 3暗)華3菌1:3・
\・′?″f2t<1丁(しニレ托酢号♂不・第。
図
1釦轡〒千衆1イ乙柔1:2+丁う?を号(じテーク)
しη 51°J第5図
第
図
弊5I!1の樗e4ヒテーブ1しの5め^?t%q本第
図
半6 ffi IZ R<1’7 Z d ・(’ ツ
ト3yn%J、UJ+5JJtレマ1Jlr:。
斤号のネ
第
図
(C1)
メ
ベニ
ワ
○
第8 因のζ今焉^ネ にrig号ヅどブーツ:しの5
1ツ第
図FIG. 1 is a diagram showing an example of a decoding code tree created by the method of the present invention, FIG. 2 is a diagram showing an example of a code tree for creating a decoding table by the method of the present invention, and FIG. Figure 4 shows the code tree rewritten by directly connecting the nodes with the minimum code bit depth to the roots. Figure 4 shows the code tree re-weighted in Figure 3. Figure 5 shows a natural still image. A diagram showing an example of a decoding table in the international standardization proposal for encoding. Figure 6 is a diagram showing a code tree for the decoding table in Figure 5. Figure 7 is an example of a decoding table according to Eiho's method. Figure 8 is a diagram showing a code tree rewritten by directly connecting the node with the minimum code bit depth to the root in Figure 6S. Figure 9 is a diagram showing decoding using the code tree in Figure 8. FIG. 3 is a diagram showing an example of a conversion table. Patent Source Co., Ltd. Riko No. 1 Fig. 1 r e++ Saefu Kakuban 3 Tree σ1'' Fig. Fig. 3 Dark 13 (-i) 3 (-fl 3 Dark) Hana 3 Bacteria 1:3.
\・′? ″f2t<1 chou (Shinire Tsubaki Vinegar No. ♂ Non・No.
η 51°JFigure 5Figure 5I! 1st tree e4 hiteb 1st 5th ^? t%q book 1st figure half 6 ffi IZ R<1'7 Z d ・(' ツト3yn%J,UJ+5JJtlemma 1Jlr:. 2nd figure of cat issue (C1) mebeniwa ○ 8th cause ζ now end^ne Nirig boots: Shino 5
1st diagram
Claims (2)
された事象およびその事象に対応する符号ビット数デー
タを入力事象データとして符号の木で表現できるような
可変長符号の復号化テーブルであって、連続して伝送さ
れる可変長符号化データの先頭から所定のビット数づつ
取り出したビット列の結果により選択される複数の命令
を持ち、符号の木の根のそれぞれの子あるいはその子孫
に含まれる前記ソーティングされた事象の範囲を、前記
符号ビット数データから算出した各事象に対応する終端
節点の前記子に対する重みを用いて求め、該重みからそ
れぞれの子が終端節点か中間節点かを判断し、子が終端
節点の場合には復号終了命令を復号化テーブルに書き込
み、子が中間節点の場合には復号継続命令を復号化テー
ブルに書き込むとともに、その子を新たな根として前記
動作を再帰的に繰り返すことにより可変長符号の復号化
テーブルを自動的に作成する方法において、 前記子が中間節点の場合には、その子を新たな根として
再帰的に当該子およびその子孫についての復号化テーブ
ルを作成した後に、当該子および子孫の部分についての
復号化テーブルの終端アドレスを記憶しておき、 該符号化テーブルを作成した子の後に現れる前記符号の
木の根につらなる他の子について、その子を新たな根と
して再帰的に復号化テーブルを作成する際、当該他の子
およびその子孫についての復号化テーブルの作成を前記
記憶した終端アドレスの次のアドレスから続けることを
特徴とする可変長符号の復号化テーブルの自動作成方法
。(1) A variable-length code decoding table that can express events sorted in descending order of code bit number and code bit number data corresponding to the event as input event data as a code tree, and that is continuous. It has a plurality of instructions selected according to the result of a bit string extracted from the beginning of variable-length encoded data that is transmitted by a predetermined number of bits, and includes the sorted instructions included in each child or descendant of the root of the code tree. The range of events is calculated using the weight for the child of the terminal node corresponding to each event calculated from the code bit number data, and from the weight it is determined whether each child is a terminal node or an intermediate node. In the case of a node, a decoding end instruction is written to the decoding table, and if the child is an intermediate node, a decoding continue instruction is written to the decoding table, and the above operation is repeated recursively with the child as a new root. In a method for automatically creating a decoding table for a long code, if the child is an intermediate node, the decoding table for the child and its descendants is recursively created using the child as a new root, and then the decoding table for the child and its descendants is recursively created. The end address of the decoding table for the child and descendant parts is memorized, and for other children connected to the root of the code tree that appear after the child that created the encoding table, recursively use that child as a new root. A method for automatically creating a decoding table for a variable length code, characterized in that when creating the decoding table, the creation of the decoding table for the other child and its descendants is continued from the address next to the stored end address. .
である事象に対応する終端節点および当該終端節点と深
さの等しい中間節点をすべて根に直結し、これらの節点
をそれぞれ新たな子と見なし、 これら複数の子に対応する部分の復号化テーブルの終端
アドレスを最小符号ビット数から算出して記憶しておき
、 前記子の中で最初に現れた中間節点である子を新たな根
として再帰的に当該子およびその子孫についての復号化
テーブルを作成する際、前記記憶した復号化テーブルの
終端アドレスの次のアドレスから復号化テーブルの作成
を続けること を特徴とする可変長符号の復号化テーブルの自動作成方
法。(2) In the method described in claim (1), all the terminal nodes corresponding to the event having the minimum code bit number data and the intermediate nodes having the same depth as the terminal node are set as roots based on the root of interest. These nodes are directly connected, each of these nodes is considered as a new child, and the end address of the decoding table corresponding to these multiple children is calculated from the minimum number of code bits and stored, and the first node among the children is When recursively creating a decoding table for the child and its descendants using the child, which is an intermediate node, as a new root, the decoding table is created from the address next to the end address of the stored decoding table. A method for automatically creating a decoding table for a variable length code, characterized in that:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014966A JPH03220870A (en) | 1990-01-26 | 1990-01-26 | How to automatically create a variable-length code decoding table |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014966A JPH03220870A (en) | 1990-01-26 | 1990-01-26 | How to automatically create a variable-length code decoding table |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03220870A true JPH03220870A (en) | 1991-09-30 |
Family
ID=11875722
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014966A Pending JPH03220870A (en) | 1990-01-26 | 1990-01-26 | How to automatically create a variable-length code decoding table |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03220870A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5481364A (en) * | 1992-11-10 | 1996-01-02 | Fuji Photo Film Co., Ltd. | Apparatus for adaptively generating a decoder table for variable-length codes using a stored coding table |
| JP2002252563A (en) * | 2001-02-23 | 2002-09-06 | Yamaha Corp | Method and device for decoding hofmann code, and table for hofmann code decoding and its generating method |
| JP2002344328A (en) * | 2001-05-21 | 2002-11-29 | Ricoh Co Ltd | Decoding device, program, and variable-length code decoding method |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6338153A (en) * | 1986-08-04 | 1988-02-18 | Toshiba Corp | Electrolytic cell for flow coulometry |
-
1990
- 1990-01-26 JP JP2014966A patent/JPH03220870A/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6338153A (en) * | 1986-08-04 | 1988-02-18 | Toshiba Corp | Electrolytic cell for flow coulometry |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5481364A (en) * | 1992-11-10 | 1996-01-02 | Fuji Photo Film Co., Ltd. | Apparatus for adaptively generating a decoder table for variable-length codes using a stored coding table |
| JP2002252563A (en) * | 2001-02-23 | 2002-09-06 | Yamaha Corp | Method and device for decoding hofmann code, and table for hofmann code decoding and its generating method |
| JP2002344328A (en) * | 2001-05-21 | 2002-11-29 | Ricoh Co Ltd | Decoding device, program, and variable-length code decoding method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4501288B2 (en) | Huffman code decoding method, decoding apparatus, Huffman code decoding table, and method for creating the same | |
| JP3231663B2 (en) | Data compression method | |
| JP3974036B2 (en) | How to perform Huffman decoding | |
| EP0813167A2 (en) | Method and apparatus for font compression and decompression | |
| JP3083730B2 (en) | System and method for compressing data information | |
| CA2285598A1 (en) | Method and apparatus for lossless digital data compression | |
| JP2021145281A (en) | Compression device, and decompression device and method | |
| US20030210164A1 (en) | Method of generating Huffman code length information | |
| JP4098187B2 (en) | Variable length code decoding apparatus and method | |
| JPS59231683A (en) | Data compression system | |
| JPH03220870A (en) | How to automatically create a variable-length code decoding table | |
| TWI330473B (en) | Huffman decoding method | |
| JP3167305B2 (en) | Automatic creation of decoding table for variable length code | |
| JPH07107303A (en) | Decoding method for huffman code | |
| JP4673524B2 (en) | How to filter digital data | |
| JPH07170197A (en) | Variable length code decoding table automatic generation method | |
| JP3346626B2 (en) | Data compression device | |
| CN113157255B (en) | A Code Generation Method for Syntax Tree Decoder | |
| JP2537551B2 (en) | Variable length code decoding circuit | |
| JP2006238036A (en) | Computer graphics data encoding device, decoding device, encoding method, and decoding method | |
| JPH0936748A (en) | Huffman encoding method and apparatus, Huffman decoding method and apparatus | |
| Boucheham | ShaLTeRR: A contribution to short and long-term redundancy reduction in digital signals | |
| JP2002084198A (en) | Variable length code decoding method and apparatus, and decoding table | |
| JPH0738447A (en) | Run length extraction method in Huffman code encoding, Huffman code conversion method, and MH encoding processing method | |
| JPH0832454A (en) | Data coding and decoding system |