JPH08288858A - Variable length code decoding device - Google Patents

Variable length code decoding device

Info

Publication number
JPH08288858A
JPH08288858A JP8419995A JP8419995A JPH08288858A JP H08288858 A JPH08288858 A JP H08288858A JP 8419995 A JP8419995 A JP 8419995A JP 8419995 A JP8419995 A JP 8419995A JP H08288858 A JPH08288858 A JP H08288858A
Authority
JP
Japan
Prior art keywords
code
length
data
boundary
code length
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.)
Granted
Application number
JP8419995A
Other languages
Japanese (ja)
Other versions
JP3317079B2 (en
Inventor
Yoshiharu Yoshida
慶春 吉田
Yoshio Ichiyanagi
好男 一柳
Nobukazu Miyoshi
伸和 三好
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=13823814&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH08288858(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP08419995A priority Critical patent/JP3317079B2/en
Publication of JPH08288858A publication Critical patent/JPH08288858A/en
Application granted granted Critical
Publication of JP3317079B2 publication Critical patent/JP3317079B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE: To provide the variable length code decoding device which can be used for code data, whose code length cannot be unequivocally detected from the ID code, and requires only the decoding table capacity corresponding to the total number of code data. CONSTITUTION: Code data having a maximum or minimum value in a set of code data of the same code length is stored in a code data storage means 11 as a boundary code with respect to each code length. By code length calculation means 12, the value of data of a certain length from the head of input code data is compared with values of respective boundary codes stored in the code data storage means 11, and the code length of code data to be decoded is calculated based on the comparison results. The difference value between input code data and the boundary code having the same code length out of boundary codes in the code data storage means is obtained by a difference value determining means 13. Decoded data is obtained from this difference value by a decoded data calculation means 14.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、可変長符号により符号
化された一連の符号データを順次復号する可変長符号復
号装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a variable length code decoding device for sequentially decoding a series of code data coded by a variable length code.

【0002】[0002]

【従来の技術】可変長符号化は、固定長の情報サンプル
に対して発生頻度の高い情報サンプルには短い符号を割
当て、発生頻度の低い情報サンプルには長い符号を割当
てることにより、全体として発生情報量を小さくする符
号化方式である。
2. Description of the Related Art Variable-length coding occurs as a whole by assigning a short code to a frequently-occurring information sample to a fixed-length information sample and a long code to an infrequently-occurring information sample. This is a coding method that reduces the amount of information.

【0003】この種の可変長符号により符号化された一
連の符号データを受信側にて復号する場合、受信データ
を構成する各符号データは区々の長さを有していること
から、受信データ中の各符号データの符号長を検出しつ
つ各符号データの復号を行うことが必要となり、そのた
めの可変長符号復号装置が受信側に設けられる。
When a series of code data coded by this type of variable length code is decoded on the receiving side, since each code data forming the received data has a different length, the received data is received. It is necessary to decode each code data while detecting the code length of each code data in the data, and a variable length code decoding device for that purpose is provided on the receiving side.

【0004】従来の可変長符号復号装置は、一連の符号
データを受信するための入力バッファと、入力バッファ
から一連の符号データを受け取り、このデータを上位方
向へシフトすることにより符号データの頭出しを行うバ
レルシフタと、バレルシフタの出力データを固定長の情
報に復号する復号テーブルと、バレルシフタの出力デー
タ中の先頭の符号データの符号長を検出し、バレルシフ
タへシフト量として出力する符号長テーブルとから構成
されていた。
A conventional variable-length code decoding apparatus receives an input buffer for receiving a series of code data, receives a series of code data from the input buffer, and shifts this data in the upper direction to locate the code data. From the barrel shifter, the decoding table that decodes the output data of the barrel shifter into fixed-length information, and the code length table that detects the code length of the first code data in the output data of the barrel shifter and outputs it as the shift amount to the barrel shifter. Was configured.

【0005】このような構成においては、任意の符号長
を有し、しかも、その符号長の不明な符号データを1つ
の固定長データに対応付けるため、膨大な容量の復号テ
ーブルが必要となる。例えば、簡単のため、以下の3種
類の符号データA,B,Cを復号テーブルによって復号
する場合を考える。 符号データA: △△ 符号長2ビット 符号データB: △△△ 符号長3ビット 符号データC: △△△△ 符号長4ビット
In such a configuration, since a code data having an arbitrary code length and an unknown code length is associated with one fixed length data, a decoding table having an enormous capacity is required. For example, for simplicity, consider a case where the following three types of code data A, B, and C are decoded by a decoding table. Code data A: △△ Code length 2 bits Code data B: △△△ Code length 3 bits Code data C: △△△△ Code length 4 bits

【0006】この場合、バレルシフタの出力データの先
頭から4ビットを取り出し、この4ビットのデータが△
△XXならば符号データAに対応した固定長データ、△
△△Xならば符号データBに対応したもの、△△△△な
らば符号データCに対応したものを出力することにより
復号を行うこととなる。ここで、Xは不特定値である。
In this case, 4 bits are taken out from the head of the output data of the barrel shifter, and this 4-bit data is Δ
If ΔXX, fixed length data corresponding to code data A, Δ
If ΔΔX, the data corresponding to the code data B is output, and if ΔΔΔΔ, the data corresponding to the code data C is output to perform decoding. Here, X is an unspecified value.

【0007】しかしながら、不特定値をアドレスとして
受け付ける復号テーブルを作成することはできないの
で、結局、復号テーブルのアドレスを4ビットとし、各
アドレスに以下のような固定長データを記憶させること
となる。
However, since it is not possible to create a decoding table that accepts an unspecified value as an address, the address of the decoding table is eventually set to 4 bits and the following fixed length data is stored at each address.

【0008】 <アドレス> <固定長データ> △△00 符号データAに対応した固定長データ △△01 符号データAに対応した固定長データ △△10 符号データAに対応した固定長データ △△11 符号データAに対応した固定長データ △△△0 符号データBに対応した固定長データ △△△1 符号データBに対応した固定長データ △△△△ 符号データBに対応した固定長データ<Address> <Fixed Length Data> ΔΔ00 Fixed Length Data Corresponding to Code Data A ΔΔ01 Fixed Length Data Corresponding to Code Data A ΔΔ10 Fixed Length Data Corresponding to Code Data A ΔΔ11 Fixed length data corresponding to code data A ΔΔΔ0 Fixed length data corresponding to code data B ΔΔΔ1 Fixed length data corresponding to code data B ΔΔΔΔ Fixed length data corresponding to code data B

【0009】このように上述した従来の可変長符号復号
装置は、符号データの種類の数に比べ複号化テーブルの
容量が必要以上に大きくなるという問題点があった。
As described above, the conventional variable-length code decoding apparatus described above has a problem that the capacity of the decoding table becomes larger than necessary in comparison with the number of types of code data.

【0010】この問題点を考慮した方式として、1つの
符号に対して1つのアドレスを割当て、複号テーブルの
容量を符号の総数分に抑えることができる復号方式が特
開平5ー95292号公報、特開平5ー152973号公
報で提案されている。
As a method considering this problem, there is a decoding method in which one address can be assigned to one code and the capacity of the decoding table can be suppressed to the total number of codes. It is proposed in JP-A-5-152973.

【0011】特開平5ー95292号公報、特開平5ー1
52973号公報で示された技術においては、可変長符
号の各符号データの内容を予め取り決める際、図17に
示すように、同一符号長の各符号データには語頭に同一
のパターン(以下「IDコード」と呼ぶ)を持たせてお
く。そして、復号装置が一連の符号データからなる受信
データを復号する際には、まず、受信データの先頭のI
Dコードに基づいて符号長を検出する。次いで、この検
出した符号長に基づいて復号テーブルの中の前記符号長
に対応する先頭アドレス(以下「オフセット」と呼ぶ)
を生成する。そして、受信データからIDコードを削除
し、その残りの部分により決定される変位を前記オフセ
ットに加算し、当該符号データに対応した復号テーブル
のアドレスを決定するものである。
Japanese Unexamined Patent Publication No. 5-95292 and Japanese Unexamined Patent Publication No. 5-1
In the technique disclosed in Japanese Patent No. 52973, when the contents of each piece of code data of a variable length code are preliminarily determined, as shown in FIG. 17, each piece of code data having the same code length has the same pattern (hereinafter referred to as “ID Code)). Then, when the decoding device decodes the reception data consisting of a series of code data, first, the I at the beginning of the reception data is
The code length is detected based on the D code. Then, based on the detected code length, the start address corresponding to the code length in the decoding table (hereinafter referred to as "offset")
Generate Then, the ID code is deleted from the received data, the displacement determined by the remaining portion is added to the offset, and the address of the decoding table corresponding to the code data is determined.

【0012】[0012]

【発明が解決しようとする課題】しかし、可変長符号の
生成方法によっては、IDコードから一意に符号長が得
られるとは限らず、例えば図18に示すような符号の場
合、IDコードから符号長を検出することは出来ない。
しかしながら、特開平5ー95292号公報、特開平5ー
152973号公報で示された復号装置は、図17のよ
うにIDコードから一意に符号長が検出できるように構
成された符号体系で符号化された符号デタに対してのみ
有効で、図18のようにIDコードから一意に符号長が
検出できない符号体系で符号化された符号データに対し
て、適用することができないという問題がある。
However, depending on the method of generating the variable length code, the code length is not always obtained uniquely from the ID code. For example, in the case of the code shown in FIG. 18, the code length is obtained from the ID code. The length cannot be detected.
However, the decoding devices disclosed in Japanese Patent Laid-Open Nos. 5-95292 and 5-152973 are coded by a coding system configured to uniquely detect the code length from the ID code as shown in FIG. There is a problem in that it cannot be applied to code data encoded by a code system in which the code length cannot be uniquely detected from the ID code as shown in FIG.

【0013】本発明は以上の問題点を考慮し、IDコー
ドから一意に符号長が検出できるように構成された符号
に対してのみではなく、IDコードから一意に符号長が
検出できない符号に対しても汎用的に使用でき、かつ復
号テーブルの容量を符号の総数分に抑えることができる
可変長符号復号装置を提供することを目的とする。
In consideration of the above problems, the present invention is applied not only to a code configured to uniquely detect a code length from an ID code, but also to a code whose unique code length cannot be detected from an ID code. However, it is an object of the present invention to provide a variable-length code decoding device that can be used universally and that can suppress the capacity of the decoding table to the total number of codes.

【0014】[0014]

【課題を解決するための手段】図1に本発明の基本的な
構成を示す。すなわち、本発明は、可変長符号により符
号化された一連の符号データを順次復号する復号装置に
おいて、同一符号長の符号データの集合のうち最も値の
大きい符号データまたは最も値の小さい符号データを各
符号長毎に境界符号として記憶する符号データ記憶手段
11と、入力符号データ列と前記符号データ記憶手段に
記憶された各境界符号とを比較し、各比較結果に基づい
て、復号すべき符号データの符号長を算出する符号長算
出手段12と、前記復号すべき符号データと前記符号デ
ータ記憶手段に記憶されている各境界符号のうち前記符
号長算出手段により算出された符号長と同一の符号長を
有するものとの差分値を決定する差分値決定手段13
と、前記差分値決定手段により決定された差分値から復
号データを求める復号データ算出手段14とを備えたこ
とを特徴とする可変長符号復号装置を要旨とする。
FIG. 1 shows the basic configuration of the present invention. That is, the present invention, in a decoding device for sequentially decoding a series of code data encoded by a variable-length code, selects the code data having the largest value or the code data having the smallest value from a set of code data having the same code length. A code data storage unit 11 that stores a boundary code for each code length is compared with an input code data string and each boundary code stored in the code data storage unit, and a code to be decoded based on each comparison result. A code length calculating means 12 for calculating the code length of data, and the same code length as the code length calculated by the code length calculating means among the boundary data stored in the code data to be decoded and the code data storing means. Difference value determining means 13 for determining a difference value with a code length
And a decoded data calculation unit 14 for obtaining decoded data from the difference value determined by the difference value determination unit.

【0015】[0015]

【作用】前記構成によれば、可変長符号により符号化さ
れた符号データが入力されると、符号長算出手段12に
おいて入力符号データ列と符号データ記憶手段11に記
憶された各符号長の境界符号とから入力符号データ列の
先頭に含まれる符号データの符号長が算出される。次
に、差分値決定手段において上記符号データと符号デー
タ記憶手段に記憶されている各境界符号のうち符号長算
出手段により算出された符号長を有するものとの差分値
が決定される。そして、復号データ算出手段において前
記差分値決定手段で決定された前記差分値に基づいて復
号データが求められる。
According to the above construction, when the code data coded by the variable length code is input, the boundary between the input code data string in the code length calculation means 12 and each code length stored in the code data storage means 11. The code length of the code data included at the beginning of the input code data string is calculated from the code. Then, the difference value determining means determines a difference value between the code data and one of the boundary codes stored in the code data storing means and having the code length calculated by the code length calculating means. Then, the decoded data is calculated by the decoded data calculation means based on the difference value determined by the difference value determination means.

【0016】[0016]

【実施例】【Example】

<第1実施例>以下、本発明の第1実施例を図面に基づ
き詳述する。図2は本実施例の可変長符号復号装置を示
すブロック図である。この可変長符号復号装置は、境界
符号を格納した境界符号記憶部21と、入力符号データ
と境界符号記憶部21の出力する各境界符号とを比較す
ることにより符号長を検出する符号長算出回路22と、
入力符号データと境界符号記憶部21の出力する境界符
号の差分値を求め該差分値から復号テーブル24のアド
レスを生成するアドレス演算器23と、復号テーブル2
4とからなる。
<First Embodiment> A first embodiment of the present invention will be described in detail below with reference to the drawings. FIG. 2 is a block diagram showing the variable-length code decoding apparatus according to this embodiment. This variable-length code decoding apparatus detects a code length by comparing a boundary code storage unit 21 storing a boundary code with input code data and each boundary code output from the boundary code storage unit 21. 22 and
An address calculator 23 that obtains a difference value between the input code data and the boundary code output from the boundary code storage unit 21, and generates an address of the decoding table 24 from the difference value; and the decoding table 2
4 and.

【0017】最大符号長を8ビットとした可変長符号の
例を図3に示す。以下では、この図3に示す可変長符号
で符号化された符号データを復号する可変長符号復号装
置について説明をする。本実施例では、取り扱う全種類
の符号データを各々符号長が同一のもの同士の集合に区
分する。そして、各集合内において、同一符号長を有す
る各符号データを昇順にソートし、最も値の小さい符号
データを当該集合における境界符号として定める。この
境界符号は、当該集合内の符号データを符号長の異なっ
た隣の集合に属する符号データと区別する際の閾値とし
て使用される。なお、詳細は後述する。
An example of a variable length code having a maximum code length of 8 bits is shown in FIG. In the following, a variable length code decoding apparatus for decoding coded data encoded by the variable length code shown in FIG. 3 will be described. In this embodiment, all types of code data to be handled are divided into sets having the same code length. Then, in each set, each code data having the same code length is sorted in ascending order, and the code data having the smallest value is determined as the boundary code in the set. This boundary code is used as a threshold when distinguishing the code data in the set from the code data belonging to the adjacent set having different code lengths. The details will be described later.

【0018】図3の符号表に示された符号体系から境界
符号を抽出すると、符号長2の符号データの集合の境界
符号は”00”、符号長3の符号データの集合の境界符
号は”100”、以下符号長4は”1010”、符号長
5は”11010”、符号長6は”111010”、符
号長7は”1111000”、符号長8は”11111
000”となる。この境界符号は図4に示すように符号
長ごとに境界符号記憶部21に格納されている。これら
の境界符号は最大符号長8にそろえられ、符号長が8ビ
ット未満の符号は下位ビット側にビットをそろえ、上位
空きビットには’0’を詰めるものとする。
When the boundary code is extracted from the code system shown in the code table of FIG. 3, the boundary code of the set of code data of code length 2 is "00" and the boundary code of the set of code data of code length 3 is " 100 ", code length 4 is" 1010 ", code length 5 is" 11010 ", code length 6 is" 1111010 ", code length 7 is" 1111000 ", code length 8 is" 11111 ".
This boundary code is stored in the boundary code storage unit 21 for each code length as shown in FIG. 4. These boundary codes are arranged in the maximum code length 8 and the code length is less than 8 bits. As for the code, the bits are aligned on the lower bit side, and the upper empty bits are filled with "0".

【0019】図5に復号テーブル24の内容を示す。復
号テーブル24は符号データの総数分のアドレス領域を
有する。各符号データに対しては1つのアドレスが割当
てられ、符号データに対応した固定長データ(以下、復
号値という。)が当該符号データに対応するアドレスに
格納されている。また、同一符号長の各符号データに対
応した各復号値は、復号テーブル24の連続した領域に
格納されている。すなわち、図5に示す復号テーブルに
おいて、符号長2の各符号データの復号値の格納領域と
してアドレス0〜1が割当てられており、符号長3の各
符号データの復号値の格納領域としてアドレス2が割当
てられており、以下、符号長4の領域としてアドレス3
〜5、符号長5の領域としてアドレス6〜8、符号長6
の領域としてアドレス9〜10、符号長7の領域として
アドレス11〜14、符号長8の領域としてアドレス1
5〜19がそれぞれ割当てられている。
FIG. 5 shows the contents of the decoding table 24. The decoding table 24 has address areas for the total number of code data. One address is assigned to each code data, and fixed length data (hereinafter, referred to as a decoded value) corresponding to the code data is stored in the address corresponding to the code data. Further, each decoded value corresponding to each code data having the same code length is stored in a continuous area of the decoding table 24. That is, in the decoding table shown in FIG. 5, addresses 0 to 1 are assigned as the storage areas of the decoded values of the code data of code length 2, and the address 2 is stored as the storage areas of the decoded values of the code data of code length 3. Is assigned, and the address 3 is assigned as a code length 4 area.
˜5, address 6 to 8 as code length 5 area, code length 6
Addresses 9 to 10, areas 11 to 14 as code length 7 areas, and address 1 as code length 8 areas
5 to 19 are assigned respectively.

【0020】さらに各符号長に対応した領域内の復号値
の並びは同一符号長の符号データの大きさに応じた順で
格納されていて、ここでは復号値は符号データの小さい
順で格納されている。例えば、符号長5を例に取ると、
図3に示される符号長5を有する各符号データを小さい
順に並べると、 ”11010”、 ”11011”、 ”11100” となる。そして、図3によれば、これらに対応した各固
定長データは次の通りである。
Further, the arrangement of the decoded values in the area corresponding to each code length is stored in the order corresponding to the size of the code data having the same code length. Here, the decoded values are stored in the ascending order of the code data. ing. For example, taking code length 5 as an example,
When the respective code data having the code length 5 shown in FIG. 3 are arranged in the ascending order, they are “11010”, “11011”, and “11100”. Then, according to FIG. 3, the fixed length data corresponding to these are as follows.

【0021】 <符号データ> <固定長データ> ”11010” 11 ”11011” 9 ”11100” 1<Code Data> <Fixed Length Data> “11010” 11 “11011” 9 “11100” 1

【0022】従って、図5に示す復号テーブルの符号長
5に対応した領域には、この符号データの並びに従い、
上記各符号データに対応する各復号値が「11」、
「9」、「1」の順で復号データとして格納されてい
る。ここで、復号テーブルにおいて各符号長の境界符号
が格納されているアドレス(例えば上記”11010”
に対応したアドレス)を以下では「境界アドレス」と呼
ぶ。
Therefore, in the area corresponding to the code length 5 of the decoding table shown in FIG. 5, according to the arrangement of the code data,
Each decoded value corresponding to each coded data is “11”,
The data is stored as decoded data in the order of "9" and "1". Here, the address where the boundary code of each code length is stored in the decoding table (for example, "11010" above)
Will be referred to as "boundary address" below.

【0023】図6は図2における符号長算出回路22の
内部構成を示した図である。符号長算出回路22は、境
界符号記憶部21から出力される各符号長ごとの境界符
号と入力符号データとの比較を行なう比較器61a〜6
1fと、比較器61a〜61fの出力から符号長を生成
する符号長生成回路62から構成されている。比較器6
1aは符号長3の境界符号の下位3ビットと入力符号デ
ータの上位3ビットを比較し、比較器61bは符号長4
の境界符号の下位4ビットと入力符号データの上位4ビ
ットを、比較器61cは符号長5の境界符号の下位5ビ
ットと入力符号データの上位5ビットを、比較器61d
は符号長6の境界符号の下位6ビットと入力符号データ
の上位6ビットを、比較器61eは符号長7の境界符号
の下位7ビットと入力符号データの上位7ビットを、比
較器61fは符号長8の境界符号8ビットと入力符号デ
ータ8ビットを、それぞれ比較する。比較器61a〜6
1fは入力符号データが境界値よりも小さい時は’1’
を、そうでない時は’0’を出力するようになってい
る。
FIG. 6 is a diagram showing the internal configuration of the code length calculation circuit 22 in FIG. The code length calculation circuit 22 compares the boundary code for each code length output from the boundary code storage unit 21 and the input code data with the comparators 61a to 6a.
1f, and a code length generation circuit 62 that generates a code length from the outputs of the comparators 61a to 61f. Comparator 6
1a compares the lower 3 bits of the boundary code having a code length of 3 with the upper 3 bits of the input code data, and the comparator 61b has a code length of 4
The lower 4 bits of the boundary code and the upper 4 bits of the input code data, and the comparator 61c compares the lower 5 bits of the boundary code of code length 5 and the upper 5 bits of the input code data with the comparator 61d.
Is the lower 6 bits of the boundary code of code length 6 and the upper 6 bits of the input code data, the comparator 61e is the lower 7 bits of the boundary code of code length 7 and the upper 7 bits of the input code data, and the comparator 61f is the code The 8-bit boundary code of 8 bits and the input code data of 8 bits are compared with each other. Comparators 61a-6
1f is "1" when the input code data is smaller than the boundary value
Otherwise, '0' is output.

【0024】符号長生成回路62は、比較器61a〜6
1fの出力から符号長の生成を行ない、図7の対応表に
示すように、比較器61a〜61fの出力結果に応じて
符号長を出力する。
The code length generation circuit 62 includes comparators 61a to 6a.
The code length is generated from the output of 1f, and the code length is output according to the output results of the comparators 61a to 61f, as shown in the correspondence table of FIG.

【0025】図8は図2におけるアドレス演算器23の
内部構成を示した図である。アドレス演算器23は、境
界符号記憶部21の各符号長ごとの境界符号出力から符
号長算出回路22が出力した符号長に対応した境界符号
を選択する選択回路81と、入力符号データをシフタの
ビット幅から符号長を減じた分だけ下位方向にシフトし
上位空きビットに’0’を詰めるバレルシフタ82と、
バレルシフタ82の出力から選択回路81の出力を減算
する減算器83と、符号長ごとの境界アドレスが格納さ
れた境界アドレス記憶部84と、符号長算出回路22が
出力した符号長に対応する境界アドレスと減算器83の
出力結果を加算する加算器85から構成されている。
FIG. 8 is a diagram showing the internal configuration of the address calculator 23 in FIG. The address calculator 23 selects the boundary code corresponding to the code length output by the code length calculation circuit 22 from the boundary code output for each code length of the boundary code storage unit 21, and the input code data of the shifter. A barrel shifter 82 that shifts in the lower direction by the amount obtained by subtracting the code length from the bit width, and fills the upper empty bits with "0";
A subtractor 83 that subtracts the output of the selection circuit 81 from the output of the barrel shifter 82, a boundary address storage unit 84 that stores a boundary address for each code length, and a boundary address that corresponds to the code length output by the code length calculation circuit 22. And an adder 85 for adding the output results of the subtractor 83.

【0026】上述したように、境界アドレスは、各符号
長の境界符号に割り当てられたアドレスである。図5の
復号テーブルから各符号長に対応した境界アドレスを抽
出すると、符号長2の境界アドレスは「0」、符号長3
の境界アドレスは「2」、以下符号長4は「3」、符号
長5は「6」、符号長6は「9」、符号長7は「1
1」、符号長8は「15」、となる。この境界アドレス
は図9に示すように符号長ごとに境界アドレス記憶部8
4に格納されている。
As described above, the boundary address is an address assigned to the boundary code of each code length. When the boundary address corresponding to each code length is extracted from the decoding table of FIG. 5, the boundary address of code length 2 is “0” and the code length is 3
Has a boundary address of "2", code length 4 is "3", code length 5 is "6", code length 6 is "9", and code length 7 is "1".
1 "and the code length 8 is" 15 ". This boundary address is stored in the boundary address storage unit 8 for each code length as shown in FIG.
Stored in 4.

【0027】次に入力符号データ”11110101”
を復号する過程を例に、本実施例による可変長符号復号
装置の一連の動作を説明する。
Next, input code data "11110101"
A series of operations of the variable-length code decoding apparatus according to the present embodiment will be described by taking the process of decoding as an example.

【0028】まず、入力符号データは符号長算出回路2
2に入力され、境界符号記憶部21の各境界符号値と比
較される。比較器61aでは”111”と”100”が
比較され’0’が出力される。同様に比較器61bで
は”1111”と”1010”が比較され’0’が、比
較器61cでは”11110”と”11010”が比較
され’0’が、比較器61dでは”111101”と”
111010”が比較され’0’が、比較器61eで
は”1111010”と”1111000”が比較さ
れ’0’が、比較器61fでは”11110101”
と”11111000”が比較され’1’が、それぞれ
出力される。比較器61a〜61fの出力は”0000
01”となり、この結果符号長生成回路62から符号長
「7」が出力される。
First, the input code data is code length calculation circuit 2
2 and is compared with each boundary code value in the boundary code storage unit 21. The comparator 61a compares "111" with "100" and outputs "0". Similarly, the comparator 61b compares "1111" and "1010" with "0", the comparator 61c compares "11110" and "11010" with "0", and the comparator 61d has "111101" with "111".
111010 "is compared to" 0 "," 6111010 "and" 1111000 "are compared to" 0 "in the comparator 61e, and" 11110101 "to the comparator 61f.
And "11111000" are compared and "1" is output. The outputs of the comparators 61a to 61f are "0000".
As a result, the code length generation circuit 62 outputs the code length “7”.

【0029】続いてアドレス演算器23に符号長「7」
が入力され、選択回路81において符号長「7」の境界
符号”01111000”が選択される。入力符号デー
タ”11110101”はバレルシフタ82において、
1ビット下位方向にシフトされ上位ビットに’0’が付
加され”01111010”となる。”0111101
0”と”01111000”が減算器83に入力され減
算結果「2」を出力する。減算結果「2」と境界アドレ
ス記憶部84の出力する符号長「7」に対応する境界ア
ドレス「11」が加算器85に入力され加算結果「1
3」を得る。この加算結果「13」が復号テーブル24
のアドレスとして入力され、入力符号データ”1111
0101”の先頭に含まれる符号”1111010”の
復号値「2」が得られる。
Then, the code length "7" is sent to the address calculator 23.
Is input, and the selection circuit 81 selects the boundary code “01111000” having the code length “7”. In the barrel shifter 82, the input code data “11110101” is
One bit is shifted in the lower direction and "0" is added to the upper bit to become "01111010". "0111101
"0" and "01111000" are input to the subtractor 83 and the subtraction result "2" is output. The subtraction result “2” and the boundary address “11” corresponding to the code length “7” output from the boundary address storage unit 84 are input to the adder 85 and the addition result “1” is input.
3 ”. This addition result “13” is the decoding table 24.
Input code data "1111"
The decoded value "2" of the code "1111010" included at the beginning of "0101" is obtained.

【0030】<第2実施例>以下、本発明の第2の実施
例を図面に基づき詳述する。図10は本実施例による可
変長符号復号装置を示すブロック図である。この可変長
符号復号装置は、境界符号を格納した境界符号記憶部1
01と、入力符号データと境界符号記憶部101の出力
する各境界符号とを比較することにより符号長を検出す
る符号長算出回路102と、入力符号データと符号長算
出回路102の出力する符号長から復号テーブル104
のアドレスを生成するアドレス演算器103と、復号テ
ーブル104とからなる。
<Second Embodiment> A second embodiment of the present invention will be described in detail below with reference to the drawings. FIG. 10 is a block diagram showing the variable length code decoding apparatus according to the present embodiment. This variable-length code decoding device is provided with a boundary code storage unit 1 that stores a boundary code.
01, the code length calculation circuit 102 for detecting the code length by comparing the input code data with each boundary code output from the boundary code storage unit 101, and the code length output from the input code data and the code length calculation circuit 102. To decryption table 104
The address arithmetic unit 103 for generating the address of 1 and the decoding table 104.

【0031】図3の符号表の例をもとに、以下この可変
長符号で符号化された符号化データを復号する場合につ
いて説明をする。また本実施例では境界符号を各符号長
の中の最も大きい符号とすることを前提として以下の説
明をする。
The case of decoding the coded data coded by the variable length code will be described below based on the example of the code table of FIG. Further, in the present embodiment, the following description will be made on the assumption that the boundary code is the largest code among the code lengths.

【0032】図3の符号表から境界符号を抽出すると、
符号長2の境界符号は”01”、符号長3の境界符号
は”100”、以下符号長4は”1100”、符号長5
は”11100”、符号長6は”111011”、符号
長7は”1111011”、符号長8は”111111
00”となる。この境界符号は図11に示すように符号
長ごとに境界符号記憶部101に格納されている。境界
符号は最大符号長8にそろえられ、8ビット未満の符号
は下位ビット側にビットをそろえ、上位空きビットに
は’0’を詰めるものとする。
When the boundary code is extracted from the code table of FIG.
The boundary code of the code length 2 is "01", the boundary code of the code length 3 is "100", and the code length 4 is "1100" and the code length 5 hereinafter.
Is "11100", code length 6 is "111011", code length 7 is "1111011", and code length 8 is "111111".
This boundary code is stored in the boundary code storage unit 101 for each code length as shown in FIG. 11. The boundary code is aligned with the maximum code length of 8, and codes less than 8 bits are on the lower bit side. The bits are aligned with each other, and the upper vacant bits are filled with "0".

【0033】図12に復号テーブル104の内容を示
す。同図に示すように、符号長8の復号値の格納領域と
してアドレス0〜4を割当て、符号長7の復号値の格納
領域としてアドレス5〜8を割当て、以下、符号長6の
領域としてアドレス9〜10、符号長5の領域としてア
ドレス11〜13、符号長4の領域としてアドレス14
〜16、符号長3の領域としてアドレス17、符号長2
の領域としてアドレス18〜19、をそれぞれ割当てて
いる。各符号長ごとの領域内の復号値の並びは同一符号
長の符号データの大きさに応じた順で格納されていて、
ここでは復号値は符号データの小さい順で格納されてい
る。例えば、符号長5を例に取ると、符号長5の符号デ
ータを小さい順に並べると、”11010”、”110
11”、”11100”となるが、復号テーブルの符号
長5の領域にはこの符号データの並びで、符号に対応す
る復号値が「11」、「9」、「1」の順で格納されて
いる。
FIG. 12 shows the contents of the decoding table 104. As shown in the figure, addresses 0 to 4 are assigned as storage areas for decoded values of code length 8, addresses 5 to 8 are assigned as storage areas for decoded values of code length 7, 9 to 10, addresses 11 to 13 as a code length 5 area, and address 14 as a code length 4 area
˜16, address 17 as code length 3 and code length 2
Addresses 18 to 19 are respectively allocated as the areas. The array of decoded values in each area for each code length is stored in the order according to the size of the code data of the same code length,
Here, the decoded values are stored in ascending order of coded data. For example, taking the code length of 5 as an example, when the code data of the code length of 5 is arranged in ascending order, “11010” and “110
11 "and" 11100 ", the decoded value corresponding to the code is stored in the order of" 11 "," 9 ", and" 1 "in this code data array in the area of the code length 5 of the decoding table. ing.

【0034】図13は図10における符号長算出回路1
02の内部構成を示した図である。符号長算出回路10
2は、境界符号記憶部101の各符号長ごとの境界符号
出力と入力符号データとの比較を行なう比較器131a
〜131fと、比較器131a〜131fの出力から符
号長を生成する符号長生成回路132から構成されてい
る。
FIG. 13 shows the code length calculation circuit 1 in FIG.
2 is a diagram showing an internal configuration of 02. FIG. Code length calculation circuit 10
Reference numeral 2 denotes a comparator 131a that compares the boundary code output for each code length of the boundary code storage unit 101 with the input code data.
To 131f and a code length generation circuit 132 that generates a code length from the outputs of the comparators 131a to 131f.

【0035】比較器131aは入力符号データと符号長
2の境界符号との比較、131bは入力符号データと符
号長3の境界符号との比較、131cは入力符号データ
と符号長4の境界符号との比較、131dは入力符号デ
ータと符号長5の境界符号との比較、131eは入力符
号データと符号長6の境界符号との比較、131fは入
力符号データと符号長7の境界符号との比較を行なう。
The comparator 131a compares the input code data with the boundary code of code length 2, 131b compares the input code data with the boundary code of code length 3, and 131c compares the input code data with the boundary code of code length 4. , 131d is a comparison between input code data and a boundary code having a code length of 5, 131e is a comparison between input code data and a boundary code having a code length of 6, 131f is a comparison between input code data and a boundary code having a code length of 7. Do.

【0036】ここで、比較器131a〜131fに入力
する入力符号データと境界符号のビット数は、同一符号
長の符号において共通する先頭の同一ビット(図3の符
号では”1”)繰り返しパターンを除いた残りデータの
ビット数で制限されている。例えば、131eでは入力
符号データと符号長6の境界符号との比較を行なってい
るが、符号長6の符号において共通する同一ビット繰り
返しパターンは”111”なので、このパターンを除い
たビット数「3」の比較を行なう。つまり、入力符号デ
ータの上位6ビット中の下位3ビットと符号長6の境界
符号の下位3ビットの比較を行なう。以下、同様に、比
較器131aは符号長2の境界符号の下位2ビットと入
力符号データの上位2ビットを比較し、比較器131b
は符号長3の境界符号の下位2ビットと入力符号データ
の上位3ビット中の下位2ビットを、比較器131cは
符号長4の境界符号の下位3ビットと入力符号データの
上位4ビット中の下位3ビットを、比較器131dは符
号長5の境界符号の下位3ビットと入力符号データの上
位6ビットの下位3ビットを、比較器131fは符号長
7の境界符号下位3ビットと入力符号データの上位7ビ
ットの中の下位3ビットを、それぞれ比較する。比較器
131a〜131fは入力符号データが境界値よりも大
きい時は’1’を、そうでない時は’0’を出力するよ
うになっている。
Here, the number of bits of the input code data and the boundary code input to the comparators 131a to 131f is the same bit (“1” in the code of FIG. 3) repeating pattern at the head common to the codes of the same code length. It is limited by the number of bits of the remaining data. For example, in 131e, input code data is compared with a boundary code having a code length of 6, but the same bit repeating pattern common to codes having a code length of 6 is "111", so the number of bits excluding this pattern is "3". Make a comparison. That is, the lower 3 bits of the upper 6 bits of the input code data are compared with the lower 3 bits of the boundary code of code length 6. Hereinafter, similarly, the comparator 131a compares the lower 2 bits of the boundary code having the code length 2 with the upper 2 bits of the input code data, and the comparator 131b.
Is the lower 2 bits of the boundary code of code length 3 and the lower 2 bits of the upper 3 bits of the input code data, and the comparator 131c is the lower 3 bits of the boundary code of code length 4 and the upper 4 bits of the input code data. The low-order 3 bits, the comparator 131d outputs the low-order 3 bits of the boundary code of code length 5 and the low-order 3 bits of the high-order 6 bits of the input code data, and the comparator 131f outputs the low-order 3 bits of the boundary code of the code length 7 and the input code data. The lower 3 bits of the upper 7 bits of are compared with each other. The comparators 131a to 131f output "1" when the input code data is larger than the boundary value, and output "0" otherwise.

【0037】符号長生成回路132は比較器131a〜
131fの出力結果から符号長の生成を行ない、図14
の対応表に示すように、比較器131a〜131fの出
力に応じて符号長を出力する。
The code length generation circuit 132 includes comparators 131a-131a.
The code length is generated from the output result of 131f, and FIG.
As shown in the correspondence table of, the code length is output according to the outputs of the comparators 131a to 131f.

【0038】第2実施例で使用する符号長算出回路は、
入力符号データと境界符号の比較を行なう比較器のビッ
ト幅を削減することにより、第1実施例の符号長算出回
路にくらべ、回路規模を小さくでき、高速に動作させる
ことができる。
The code length calculation circuit used in the second embodiment is
By reducing the bit width of the comparator that compares the input code data and the boundary code, the circuit scale can be reduced and the operation can be performed at high speed, as compared with the code length calculation circuit of the first embodiment.

【0039】図15は図10におけるアドレス演算器1
03の内部構成を示した図である。アドレス演算器10
3は、入力符号データをシフタのビット幅から符号長を
減じた分だけ下位方向にシフトし上位空きビット’0’
を詰めるバレルシフタ151と、符号長ごとの境界符号
と境界アドレスの差分を格納した差分記憶部152と、
差分記憶部152の出力する符号長に対応する差分とバ
レルシフタ151の出力結果を減算する減算器153か
ら構成されている。
FIG. 15 shows the address calculator 1 in FIG.
It is a diagram showing the internal configuration of 03. Address calculator 10
3 shifts the input code data in the lower direction by the amount obtained by subtracting the code length from the bit width of the shifter, and the upper empty bit is "0".
A barrel shifter 151 for storing the difference, a difference storage unit 152 that stores the difference between the boundary code and the boundary address for each code length,
The subtracter 153 is configured to subtract the difference corresponding to the code length output from the difference storage unit 152 and the output result of the barrel shifter 151.

【0040】図12の復号テーブルから、各符号長の境
界アドレスを抽出すると、符号長2の境界アドレスは
「19」、符号長3の境界アドレスは「17」、以下符
号長4は「16」、符号長5は「13」、符号長6は
「10」、符号長7は「8」、符号長8は「4」とな
る。この各符号長の境界アドレスと図11に示された各
符号長の境界符号との差分「境界符号−境界アドレス」
は、符号長2は「−18」、符号長3は「−13」、符
号長4は「−4」、符号長5は「15」、符号長6は
「49」、符号長7は「115」、符号長8は「24
8」となる。この差分が図16に示すように符号長ごと
に差分記憶部152に格納されている。ここでは、「境
界符号−境界アドレス」を格納しているが、「境界アド
レス−境界符号」の値を格納しても構わない。その場合
は図15のアドレス演算器内の減算器153を加算器に
置き換えることで対応できる。
When the boundary address of each code length is extracted from the decoding table of FIG. 12, the boundary address of the code length 2 is “19”, the boundary address of the code length 3 is “17”, and the code length 4 is “16”. , The code length 5 is “13”, the code length 6 is “10”, the code length 7 is “8”, and the code length 8 is “4”. Difference between the boundary address of each code length and the boundary code of each code length shown in FIG. 11 "boundary code-boundary address"
, Code length 2 is "-18", code length 3 is "-13", code length 4 is "-4", code length 5 is "15", code length 6 is "49", code length 7 is " 115 ”and the code length 8 is“ 24
8 ". This difference is stored in the difference storage unit 152 for each code length as shown in FIG. Here, "boundary code-boundary address" is stored, but the value of "boundary address-boundary code" may be stored. In that case, the subtractor 153 in the address calculator of FIG. 15 can be replaced by an adder.

【0041】第2実施例で使用するアドレス演算器は、
あらかじめ境界符号と境界アドレスの差分を記憶装置に
格納しておくことにより、第1実施例のアドレス演算器
にくらべ、選択回路、減算器が必要なくなるため、回路
規模を小さくでき、高速に動作させることができる。
The address calculator used in the second embodiment is
By storing the difference between the boundary code and the boundary address in the storage device in advance, a selection circuit and a subtracter are not required as compared with the address arithmetic unit of the first embodiment, so that the circuit scale can be reduced and the operation can be performed at high speed. be able to.

【0042】次に入力符号データ”10011111”
を復号する過程を例に、本実施例による可変長符号復号
装置の一連の動作を説明する。
Next, input code data "10011111"
A series of operations of the variable-length code decoding apparatus according to the present embodiment will be described by taking the process of decoding as an example.

【0043】まず、入力符号データは符号長算出回路1
02に入力され、境界符号記憶部101の各境界符号値
と比較される。比較器131aでは入力符号”1001
1111”の上位2ビット”10”と符号長2の境界符
号”01”が比較され’1’が出力される。同様に比較
器131bでは入力符号の上位3ビット中の下位2ビッ
ト”00”と符号長3の境界符号の下位2ビット”0
0”が比較され’0’が、比較器131cでは入力符号
の上位4ビットの中の下位3ビット”001”と符号長
4の境界符号の下位3ビット”100”が比較され’
0’が、比較器131dでは入力符号の上位5ビットの
中の下位3ビット”011”と符号長5の境界符号の3
ビット”100”が比較され’0’が、比較器131e
では入力符号の上位6ビットの中の下位3ビット”11
1”と符号長6の境界符号の下位3ビット”011”が
比較され’1’が、比較器131fでは入力符号の上位
7ビットの中の下位3ビット”111”と符号長7の境
界符号の下位3ビット”011”が比較され’1’が、
それぞれ出力される。比較器131a〜131fの出力
は”100011”となり、この結果符号長生成回路で
は符号長「3」が出力される。
First, the input code data is code length calculation circuit 1
02, and is compared with each boundary code value in the boundary code storage unit 101. In the comparator 131a, the input code "1001"
The upper 2 bits "11" of 1111 "and the boundary code" 01 "of code length 2 are compared and" 1 "is output. Similarly, the comparator 131b outputs the lower 2 bits" 00 "of the upper 3 bits of the input code. And the lower 2 bits of the boundary code of code length 3 "0"
"0" is compared, and "0" is compared, and the comparator 131c compares the lower 3 bits "001" of the upper 4 bits of the input code with the lower 3 bits "100" of the boundary code of code length 4.
0'in the comparator 131d, the lower 3 bits "011" of the upper 5 bits of the input code and the boundary code 3 of the code length 5
Bit "100" is compared and "0" is detected by comparator 131e
Then, the lower 3 bits “11” of the upper 6 bits of the input code
1 "is compared with the lower 3 bits" 011 "of the boundary code having the code length 6 to be" 1 ", and the comparator 131f outputs the lower 3 bits" 111 "of the upper 7 bits of the input code and the boundary code having the code length 7 The lower 3 bits of "011" are compared and "1" is
It is output respectively. The outputs of the comparators 131a to 131f are "100011", and as a result, the code length generating circuit outputs the code length "3".

【0044】アドレス演算器103に符号長「3」が入
力されると、入力符号データ”10011111”はバ
レルシフタ151において、5ビット下位方向にシフト
され上位ビットに’0’が付加され、”0000010
0”となる。差分記憶部152は符号長「3」に対応す
る境界符号/境界アドレス差分「ー13」を出力し、該
差分出力「ー13」とバレルシフタ151の出力”00
000100”(=4)が減算器153に入力され、減
算結果「17」を得る。この減算結果「17」を復号テ
ーブル104のアドレスとして入力することにより、入
力符号データ”10011111”の先頭に含まれる符
号”100”の復号値「6」が得られる。
When the code length "3" is input to the address calculator 103, the input code data "10011111" is shifted in the lower direction by 5 bits in the barrel shifter 151 and "0" is added to the upper bit, and "0000010" is added.
The difference storage unit 152 outputs the boundary code / boundary address difference “−13” corresponding to the code length “3”, and outputs the difference output “−13” and the output “00” of the barrel shifter 151.
000100 ″ (= 4) is input to the subtractor 153, and the subtraction result “17” is obtained. By inputting the subtraction result “17” as the address of the decoding table 104, the decoded value “6” of the code “100” included in the head of the input code data “10011111” is obtained.

【0045】[0045]

【発明の効果】以上のように、本発明によれば、入力符
号データと境界符号から符号長を算出し、入力符号デー
タと符号長に対応する境界符号との差分値をもとめ、こ
の差分値から復号テーブルのアドレスを算出することに
より、復号テーブルの容量を符号の総数分に抑え符号化
データの復号を行なうことができる。また、本発明によ
れば、ある特有の符号で符号化された符号データに対し
てだけではなく、任意の符号で符号化された符号化デー
タに対して復号を行なうことができる。
As described above, according to the present invention, the code length is calculated from the input code data and the boundary code, and the difference value between the input code data and the boundary code corresponding to the code length is obtained. By calculating the address of the decoding table from, the capacity of the decoding table can be suppressed to the total number of codes and the encoded data can be decoded. Further, according to the present invention, it is possible to perform decoding not only on coded data coded by a specific code but also on coded data coded by an arbitrary code.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の原理を説明するブロック図である。FIG. 1 is a block diagram illustrating the principle of the present invention.

【図2】 本発明の第1実施例による可変長符号復号装
置の構成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of a variable length code decoding device according to a first exemplary embodiment of the present invention.

【図3】 同実施例で取り扱う可変長符号を説明する図
である。
FIG. 3 is a diagram illustrating a variable length code handled in the embodiment.

【図4】 同実施例の境界符号記憶部を説明する図であ
る。
FIG. 4 is a diagram illustrating a boundary code storage unit of the embodiment.

【図5】 同実施例の復号テーブルを説明する図であ
る。
FIG. 5 is a diagram illustrating a decoding table of the same embodiment.

【図6】 同実施例の符号長算出回路を説明するブロッ
ク図である。
FIG. 6 is a block diagram illustrating a code length calculation circuit according to the same embodiment.

【図7】 同実施例の符号長生成回路を説明する図であ
る。
FIG. 7 is a diagram illustrating a code length generation circuit of the same embodiment.

【図8】 同実施例のアドレス演算器を説明するブロッ
ク図である。
FIG. 8 is a block diagram illustrating an address calculator of the embodiment.

【図9】 同実施例の境界アドレス記憶部を説明するブ
ロック図である。
FIG. 9 is a block diagram illustrating a boundary address storage unit of the embodiment.

【図10】 本発明の第2実施例による可変長符号復号
装置の構成を示すブロック図である。
FIG. 10 is a block diagram showing a configuration of a variable length code decoding device according to a second exemplary embodiment of the present invention.

【図11】 同実施例の境界符号記憶部を説明する図で
ある。
FIG. 11 is a diagram illustrating a boundary code storage unit of the embodiment.

【図12】 同実施例の復号テーブルを説明する図であ
る。
FIG. 12 is a diagram illustrating a decoding table according to the same embodiment.

【図13】 同実施例の符号長算出回路を説明するブロ
ック図である。
FIG. 13 is a block diagram illustrating a code length calculation circuit according to the same embodiment.

【図14】 同実施例の符号長生成回路を説明する図で
ある。
FIG. 14 is a diagram illustrating a code length generation circuit of the same embodiment.

【図15】 同実施例のアドレス演算器を説明するブロ
ック図である。
FIG. 15 is a block diagram illustrating an address calculator of the embodiment.

【図16】 同実施例の差分記憶部を説明する図であ
る。
FIG. 16 is a diagram illustrating a difference storage unit of the embodiment.

【図17】 従来例の可変長符号を説明する図である。FIG. 17 is a diagram illustrating a conventional variable length code.

【図18】 可変長符号を説明する図である。FIG. 18 is a diagram illustrating a variable length code.

【符号の説明】[Explanation of symbols]

11 符号データ記憶手段 12 符号長算出手段 13 差分値決定手段 14 復号データ算出手段 21,101 境界符号記憶部 22,102 符号長算出回路 23,103 アドレス演算器 24,104 復号テーブル 11 code data storage means 12 code length calculation means 13 difference value determination means 14 decoded data calculation means 21, 101 boundary code storage section 22, 102 code length calculation circuit 23, 103 address calculator 24, 104 decoding table

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 可変長符号により符号化された一連の符
号データを順次復号する復号装置において、 同一符号長の符号データの集合のうち最も値の大きい符
号データまたは最も値の小さい符号データを各符号長毎
に境界符号として記憶する符号データ記憶手段と、 入力符号データ列と前記符号データ記憶手段に記憶され
た各境界符号とを比較し、各比較結果に基づいて、復号
すべき符号データの符号長を算出する符号長算出手段
と、 前記復号すべき符号データと前記符号データ記憶手段に
記憶されている各境界符号のうち前記符号長算出手段に
より算出された符号長と同一の符号長を有するものとの
差分値を決定する差分値決定手段と、 前記差分値決定手段により決定された差分値から復号デ
ータを求める復号データ算出手段とを備えたことを特徴
とする可変長符号復号装置。
1. A decoding device for sequentially decoding a series of code data encoded by a variable length code, wherein each of the code data having the largest value or the code data having the smallest value is set in a set of code data having the same code length. Code data storage means for storing each code length as a boundary code is compared with the input code data string and each boundary code stored in the code data storage means, and based on each comparison result, the code data to be decoded A code length calculating means for calculating a code length, and the same code length as the code length calculated by the code length calculating means among the boundary data stored in the code data to be decoded and the code data storing means. A difference value determining means for determining a difference value with the one having, and a decoded data calculating means for obtaining decoded data from the difference value determined by the difference value determining means. Variable length decoding apparatus according to claim.
JP08419995A 1995-04-10 1995-04-10 Variable length code decoding device Expired - Lifetime JP3317079B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08419995A JP3317079B2 (en) 1995-04-10 1995-04-10 Variable length code decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08419995A JP3317079B2 (en) 1995-04-10 1995-04-10 Variable length code decoding device

Publications (2)

Publication Number Publication Date
JPH08288858A true JPH08288858A (en) 1996-11-01
JP3317079B2 JP3317079B2 (en) 2002-08-19

Family

ID=13823814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08419995A Expired - Lifetime JP3317079B2 (en) 1995-04-10 1995-04-10 Variable length code decoding device

Country Status (1)

Country Link
JP (1) JP3317079B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411229B2 (en) 2000-04-28 2002-06-25 Matsushita Electric Industrial Co., Ltd. Variable length decoder
JP2002261623A (en) * 2001-02-28 2002-09-13 Canon Inc Decoding device, decoding method, storage medium and program software
JP2009267813A (en) * 2008-04-25 2009-11-12 Mitsubishi Electric Corp Huffman decoding apparatus and huffman decoding method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411229B2 (en) 2000-04-28 2002-06-25 Matsushita Electric Industrial Co., Ltd. Variable length decoder
JP2002261623A (en) * 2001-02-28 2002-09-13 Canon Inc Decoding device, decoding method, storage medium and program software
JP2009267813A (en) * 2008-04-25 2009-11-12 Mitsubishi Electric Corp Huffman decoding apparatus and huffman decoding method

Also Published As

Publication number Publication date
JP3317079B2 (en) 2002-08-19

Similar Documents

Publication Publication Date Title
US5404140A (en) Coding system
US6563956B1 (en) Method and apparatus for compressing data string
US5032838A (en) Variable length code parallel decoding apparatus and method
EP0510627B1 (en) Encoding and decoding devices
US7548175B2 (en) Encoding apparatus, decoding apparatus, encoding method, computer readable medium storing program thereof, and computer data signal
JPH06315089A (en) Encoded method and system
US5404138A (en) Apparatus for decoding variable length codes
US4975698A (en) Modified quasi-gray digital encoding technique
EP0788282B1 (en) Quantization method
EP0658982B1 (en) System for bi-level symbol coding-decoding with saved storage and method for the same
JPH0851370A (en) Device and method for encoding
EA200201010A1 (en) ELECTION DATA COMPRESSION FOR DIGITAL MESSAGE INFORMATION
EP2056221A1 (en) Split state machines for matching
JPH08288858A (en) Variable length code decoding device
US4924421A (en) Priority encoding system
JP3119025B2 (en) Encoding device and decoding device
US5499202A (en) Residue circuit
JP2000350043A (en) Arithmetic coder and arithmetic decoder
JPH07249995A (en) Data encoding device
JP3427651B2 (en) Arithmetic coding apparatus and flash processing method thereof
JPH0567978A (en) Coder/decoder
JP3484900B2 (en) Image data encoding device
KR100584540B1 (en) Context memory acess apparatus for joint bilevel image expert group decoding operation at high speed
JP2599375B2 (en) Vector quantization method
JPH0685684A (en) Binary arithmetic encoder