JPH10163880A - Data decoder - Google Patents
Data decoderInfo
- Publication number
- JPH10163880A JPH10163880A JP2155197A JP2155197A JPH10163880A JP H10163880 A JPH10163880 A JP H10163880A JP 2155197 A JP2155197 A JP 2155197A JP 2155197 A JP2155197 A JP 2155197A JP H10163880 A JPH10163880 A JP H10163880A
- Authority
- JP
- Japan
- Prior art keywords
- data
- code
- length
- code word
- 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.)
- Pending
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、可変長符号化され
たデータストリームを、符号化される前の元データに復
号化するデータ復号化器に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data decoder for decoding a variable-length coded data stream into original data before being coded.
【0002】[0002]
【従来の技術】例えば、ファクシミリや遠隔通信会議シ
ステムなどのように、画像データをサンプリングしてデ
ィジタル情報化し、これを例えば遠隔地に伝送するメデ
ィアにおいては、画質に対する要求が年々高度化されて
おり、例えば白黒2値画像から多階調画像化され、さら
に現在では、カラー画像化されているものもある。一般
的に、画像データの情報量は大きく、特に、多階調画像
化、カラー画像化された画像データの情報量は膨大なも
のになる。2. Description of the Related Art In a medium such as a facsimile or a telecommunication conference system which samples image data and converts it into digital information and transmits the digital information to a remote place, the demand for image quality is increasing year by year. For example, there is an image which is converted into a multi-tone image from a black-and-white binary image and further converted into a color image at present. Generally, the amount of information of image data is large, and particularly, the amount of information of multi-tone image data and color image data is enormous.
【0003】このため、例えば画像データを遠隔地に伝
送したり、保存したりするときには、画像データを圧縮
し、その情報量を削減するデータ圧縮技術が用いられ
る。例えば、人間の視覚が高周波成分に鈍感であること
を利用して、画像データの高周波成分、すなわち、人間
の目では識別が困難な部分を削除し、画像データを圧縮
することにより、画質を全く落とさず、あるいは人間の
目では識別できない程度の僅かな劣化だけで、その情報
量を削減することができる。For this reason, for example, when transmitting or storing image data to a remote place, a data compression technique for compressing the image data and reducing the amount of information is used. For example, taking advantage of the fact that human vision is insensitive to high-frequency components, high-frequency components of image data, that is, portions that are difficult to be identified by human eyes are deleted, and image data is compressed to completely reduce image quality. The amount of information can be reduced without being dropped or with only a slight deterioration that cannot be recognized by human eyes.
【0004】このようなデータ圧縮技術の1つとして
は、例えばカラー静止画像の国際標準符号化方式である
JPEG(Joint Photographic Experts Group)アルゴ
リズムがある。図6に示されるように、例えばJPEG
のDCT(Discrete Cosine Transform :離散コサイン
変換)方式において、画像データの符号化および復号化
は、例えば原画像データを水平8画素×垂直8画素のブ
ロックに分割し、この64画素からなるブロックを単位
として行われる。One of such data compression techniques is, for example, the JPEG (Joint Photographic Experts Group) algorithm which is an international standard encoding method for color still images. As shown in FIG. 6, for example, JPEG
In the DCT (Discrete Cosine Transform) system, encoding and decoding of image data is performed, for example, by dividing original image data into blocks of 8 pixels in the horizontal direction by 8 pixels in the vertical direction, and a block of 64 pixels is used as a unit. It is performed as.
【0005】まず、原画像データの符号化は、符号化装
置22により行われる。符号化装置22においては、D
CT回路24により、個々のブロックの各画素の値に対
して離散コサイン変換が行われ、量子化回路26によ
り、量子化テーブル28に基づいて量子化され、エント
ロピー符号化回路30により、符号化テーブル32に基
づいて、例えばハフマン符号化されて圧縮され、可変長
符号化された原画像データは、例えば伝送路を通じて伝
送される。First, encoding of original image data is performed by an encoding device 22. In the encoding device 22, D
The discrete cosine transform is performed on the value of each pixel of each block by the CT circuit 24, quantized by the quantization circuit 26 based on the quantization table 28, and encoded by the entropy coding circuit 30. For example, the original image data that has been subjected to, for example, Huffman encoding and compression, and has been subjected to variable-length encoding, is transmitted through, for example, a transmission path.
【0006】これとは逆に、原画像データの復号化は、
復号化装置34により行われる。復号化装置34におい
ては、エントロピー復号化回路36により、可変長符号
化されデータストリーム化されたブロックの各画素の値
に対して、同一符号化テーブル32を用いてハフマン復
号化され、逆量子化回路38により、同一量子化テーブ
ル28を用いて逆量子化され、逆DCT回路40によ
り、逆離散コサイン変換されて伸張され、復号画像デー
タを得る。On the contrary, decoding of the original image data is
This is performed by the decoding device 34. In the decoding device 34, the value of each pixel of the variable-length coded data stream block is Huffman-decoded by the entropy decoding circuit 36 using the same coding table 32, and is inversely quantized. The circuit 38 performs inverse quantization using the same quantization table 28, performs inverse discrete cosine transform and expands the inverse DCT circuit 40, and obtains decoded image data.
【0007】ここで、水平8画素(X=0〜7)×垂直
8画素(Y=0〜7)=64画素(PXY)のブロック
を、DCT変換した結果得られる64個の係数(SXY)
の内、係数S00はDC成分と呼ばれ、残りの63個の係
数S01〜S77はAC成分と呼ばれている。DC成分は、
64画素の平均値(直流成分)を示すものである。ハフ
マン符号化/復号化においては、これらのDC成分およ
びAC成分で異なった符号化および復号化がなされてい
る。Here, a block of eight horizontal pixels (X = 0 to 7) × eight vertical pixels (Y = 0 to 7) = 64 pixels (P XY ) is converted into 64 coefficients (S XY )
Of the coefficient S 00 is called a DC component, the remaining 63 coefficients S 01 to S 77 are called AC components. The DC component is
It shows the average value (DC component) of 64 pixels. In Huffman encoding / decoding, different encoding and decoding are performed on these DC and AC components.
【0008】ハフマン符号化において、例えばAC係数
の符号化は、量子化されたデータをジグザグスキャンし
た後、連続する0の係数の長さを示すラン長を求め、0
に続く0以外のAC係数の値から、そのAC係数のグル
ープ番号(SSSS)を求め、これらのラン長とグルー
プ番号に応じて、1〜16ビットの符号長を有する符号
語を割り当て、この符号語に、グループ番号に応じて、
0〜15ビットの付加ビットを付加することにより行わ
れる。In Huffman coding, for example, for coding AC coefficients, a zigzag scan is performed on quantized data, and a run length indicating the length of successive 0 coefficients is obtained.
, A group number (SSSS) of the AC coefficient is obtained from the value of the AC coefficient other than 0, and a code word having a code length of 1 to 16 bits is assigned according to the run length and the group number. Word, depending on the group number,
This is performed by adding 0-15 additional bits.
【0009】これに対し、例えば可変長符号化されたA
C係数のデータストリームの復号化は、個々のAC係数
に相当する符号語が可変長であるため、まず、データス
トリームの最初の符号語に相当するデータの符号長を求
め、次いで、データストリームの先頭から、この符号長
に相当するビット数の符号語を取り出し、この符号語に
応じてラン長とグループ番号を求めた後、グループ番号
から付加ビットのビット数を求めることにより行われ
る。On the other hand, for example, a variable-length coded A
The decoding of the data stream of the C coefficient is performed by first determining the code length of the data corresponding to the first code word of the data stream because the code word corresponding to the individual AC coefficient is of variable length. This is performed by extracting a code word having the number of bits corresponding to the code length from the head, obtaining a run length and a group number according to the code word, and then calculating the number of additional bits from the group number.
【0010】このように、可変長符号化されたデータス
トリームを、符号化される前の元データに復号化するた
めには、まず、それぞれの符号語に相当するデータの符
号長を求める必要がある。以下同様に、JPEGのカラ
ー静止画像符号化方式を例に挙げて、可変長符号化され
たデータストリームの、それぞれの符号語に相当するデ
ータの符号長を求める回路、動作およびその問題点につ
いて説明する。As described above, in order to decode a variable-length-encoded data stream into original data before being encoded, it is necessary to first determine the code length of data corresponding to each codeword. is there. Similarly, the circuit, operation, and its problems for determining the code length of data corresponding to each code word in a variable-length-encoded data stream will be described using the JPEG color still image coding method as an example. I do.
【0011】なお、符号化/復号化方式としては、同様
に、ハフマン符号化/復号化方式を用い、符号化/復号
化テーブルとして、図2に示されるJPEGの推奨する
AC係数の輝度成分のハフマンテーブルを用いるものと
する。また、図示例のハフマンテーブルは、ラン長とグ
ループ番号(SSSS)とに応じて、1〜16ビットの
符号長を有する符号語を割り当てたもので、ここでは、
これらの16種類の符号長は、4ビットのコードSIZ
E[3:0]で表現されるものとする。Similarly, the Huffman coding / decoding method is used as the coding / decoding method, and the coding / decoding table is used for the luminance component of the AC coefficient recommended by JPEG shown in FIG. A Huffman table shall be used. The Huffman table in the illustrated example is one in which codewords having a code length of 1 to 16 bits are allocated according to the run length and the group number (SSSS).
These 16 kinds of code lengths are 4 bits code SIZ.
It is assumed that E [3: 0] is used.
【0012】ここで、図7に、従来のデータ復号化器の
一例の構成回路図を示す。このデータ復号化器42は、
上述するように、4ビットのコードで表現される1〜1
6ビットの符号長を有する符号語に可変長符号化された
データストリームを復号化する際に、それぞれの符号語
の符号長を求めるものであって、シフター44、フリッ
プフロップ46、メモリ48、比較器50、マルチプレ
クサ群52(52a,52b,52c,52d)、レジ
スタ群54(54a,54b,54c,54d)および
制御回路56により構成されている。FIG. 7 is a circuit diagram showing an example of a conventional data decoder. This data decoder 42
As described above, 1 to 1 represented by a 4-bit code
When decoding a data stream that has been variable-length coded into a code word having a code length of 6 bits, the code length of each code word is determined, and a shifter 44, a flip-flop 46, a memory 48, It comprises a device 50, a multiplexer group 52 (52a, 52b, 52c, 52d), a register group 54 (54a, 54b, 54c, 54d) and a control circuit 56.
【0013】図示例のデータ復号化器42において、可
変長符号化されたデータストリームはシフター44に入
力され、シフター44の出力はフリップフロップ46に
入力され、フリップフロップ46の出力は、データスト
リームのデータとメモリ48の出力とを比較する比較器
50の入力端子Aに入力されている。従って、比較器5
0の入力端子Bにはメモリ48の出力が入力され、比較
器50の出力は、それぞれのマルチプレクサ群52の一
方の入力端子に入力されている。In the illustrated data decoder 42, the variable-length coded data stream is input to a shifter 44, the output of the shifter 44 is input to a flip-flop 46, and the output of the flip-flop 46 is the output of the data stream. The data is input to an input terminal A of a comparator 50 that compares the data with the output of the memory 48. Therefore, the comparator 5
The output of the memory 48 is input to the input terminal B of 0, and the output of the comparator 50 is input to one input terminal of each of the multiplexer groups 52.
【0014】また、マルチプレクサ群52の出力は、符
号語の符号長のサイズを表すコードを一時的に保持する
それぞれのレジスタ群54に入力され、レジスタ群54
の出力は、それぞれのマルチプレクサ群52の他方の入
力端子、メモリ48およびシフター44に入力されると
ともに、符号語の符号長を表す4ビットのコードSIZ
E[3:0]として出力されている。なお、シフター4
4およびマルチプレクサ群52の制御端子には、これら
の動作を制御する制御回路56の出力が接続されてい
る。The output of the multiplexer group 52 is input to each register group 54 for temporarily holding a code representing the size of the code length of the code word.
Is input to the other input terminal of each of the multiplexer groups 52, the memory 48, and the shifter 44, and a 4-bit code SIZ representing the code length of the code word is input.
It is output as E [3: 0]. In addition, shifter 4
4 and the control terminal of the multiplexer group 52 are connected to the output of a control circuit 56 for controlling these operations.
【0015】このデータ復号化器42において、データ
ストリームとして、例えば1101011100100
001101111100101…が入力されたとす
る。図示例のデータ復号化器42においては、まず、制
御回路56により、符号長のコードSIZE[3]が1
とされ、即ち、SIZE[3:0]がh’8(16進
数)とされ、データストリームの最初の符号語に相当す
るデータの符号長が9ビット長以上であるか、あるい
は、9ビット長よりも小さいかが検出される。In the data decoder 42, for example, 1101011100100 as a data stream
Assume that 001101111100101... Have been input. In the data decoder 42 in the illustrated example, first, the control circuit 56 sets the code length code SIZE [3] to 1
That is, SIZE [3: 0] is h'8 (hexadecimal), and the code length of the data corresponding to the first codeword of the data stream is 9 bits or more, or 9 bits Is detected.
【0016】これにより、データストリームは、まず、
シフター44により、その先頭のデータから9ビット分
のデータ110101110がシフトされて出力され、
シフター44から出力されたデータはフリップフロップ
46に保持され、フリップフロップ46に保持されたデ
ータは、比較器50の入力端子Aに入力される。一方、
メモリ48からは、9ビット長の符号語の最小値111
110110が出力され、同様に、比較器50の入力端
子Bに入力される。Thus, the data stream is first
The shifter 44 shifts and outputs 9-bit data 110101110 from the first data,
The data output from the shifter 44 is held in a flip-flop 46, and the data held in the flip-flop 46 is input to an input terminal A of a comparator 50. on the other hand,
From the memory 48, the minimum value 111 of the 9-bit codeword is read.
110110 is output and similarly input to the input terminal B of the comparator 50.
【0017】比較器50においては、データ11010
1110と、9ビット長の符号語の最小値111110
110とが比較される。ここでは、データ110101
110<9ビット長の符号語の最小値11111011
0であるから、比較器50の比較結果は0、即ち、最初
の符号語に相当するデータの符号長は9ビット長よりも
小さく、符号長のコードSIZE[3]は0であり、こ
の比較結果は、マルチプレクサ52aを介してレジスタ
54aに保持される。In the comparator 50, the data 11010
1110 and the minimum value of the 9-bit codeword 111110
110 is compared. Here, data 110101
110 <minimum value of a code word having a length of 9 bits 11111011
Since it is 0, the comparison result of the comparator 50 is 0, that is, the code length of the data corresponding to the first code word is smaller than 9 bits, and the code SIZE [3] of the code length is 0. The result is held in the register 54a via the multiplexer 52a.
【0018】以下同様にして、符号長のコードSIZE
[2]が1とされ、即ち、SIZE[3:0]がh’4
とされ、データストリームの先頭から5ビット分のデー
タ11010と、5ビット長の符号語の最小値1101
0とが比較される。ここでは、データ11010=5ビ
ット長の符号語の最小値11010であるから、符号長
のコードSIZE[2]は1であり、この比較結果は、
マルチプレクサ52bを介してレジスタ54bに保持さ
れる。In the same manner, the code SIZE of the code length
[2] is set to 1, that is, SIZE [3: 0] is h′4
The data 11010 of 5 bits from the head of the data stream and the minimum value 1101 of the code word having a length of 5 bits
0 is compared. Here, since the data 11010 is the minimum value 11010 of the 5-bit codeword, the code length code SIZE [2] is 1, and the comparison result is
The data is held in the register 54b via the multiplexer 52b.
【0019】次いで、符号長のコードSIZE[1]が
1とされ、即ち、SIZE[3:0]がh’6とされ、
データストリームの先頭から7ビット分のデータ110
1011と、7ビット長の符号語の最小値111100
0とが比較される。ここでは、データ1101011<
7ビット長の符号語の最小値1111000であるか
ら、符号長のコードSIZE[1]は0であり、この比
較結果は、マルチプレクサ52cを介してレジスタ54
cに保持される。Next, the code SIZE [1] of the code length is set to 1, that is, SIZE [3: 0] is set to h'6,
7-bit data 110 from the beginning of the data stream
1011 and the minimum value 111100 of a 7-bit codeword
0 is compared. Here, data 1101011 <
Since the minimum value of the 7-bit code word is 1111000, the code length code SIZE [1] is 0, and the comparison result is stored in the register 54 via the multiplexer 52c.
c.
【0020】最後に、符号長のコードSIZE[0]が
1とされ、即ち、SIZE[3:0]がh’5とされ、
データストリームの先頭から6ビット分のデータ110
101と、6ビット長の符号語の最小値111010と
が比較される。ここでは、データ110101<6ビッ
ト長の符号語の最小値111010であるから、符号長
のコードSIZE[0]は0であり、この比較結果は、
マルチプレクサ52dを介してレジスタ54dに保持さ
れる。Finally, the code length code SIZE [0] is set to 1, that is, SIZE [3: 0] is set to h'5,
6-bit data 110 from the beginning of the data stream
101 is compared with the minimum value 1111010 of the 6-bit codeword. Here, since the data 110101 <the minimum value 111010 of the code word having a 6-bit length, the code SIZE [0] of the code length is 0, and the comparison result is as follows.
The data is held in the register 54d via the multiplexer 52d.
【0021】このように、符号長のコードSIZE
[3:0]を1ビットずつ順次確定させていくことによ
り、データストリームの最初の符号語に相当するデータ
の符号長のコードSIZE[3:0]がh’4であるこ
とが確定され、符号長が5ビットであることが検出され
る。As described above, the code length code SIZE
By sequentially determining [3: 0] bit by bit, it is determined that the code length code SIZE [3: 0] of the data corresponding to the first codeword of the data stream is h′4, It is detected that the code length is 5 bits.
【0022】しかしながら、従来のデータ復号化器42
においては、可変長符号化されたデータストリームを復
号化する際に、個々の符号語の符号長のコードを、1ビ
ットずつ段階的に分けて確定させる必要があるため、処
理スピードが遅いという欠点があった。また、上述する
ハフマン符号化/復号化のように、使用する符号化/復
号化テーブルが予め決まっている場合には、マルチプレ
クサ群52やレジスタ群54、制御回路56等、無駄な
回路が多く、無駄な処理をしているという問題点もあっ
た。However, the conventional data decoder 42
, When decoding a variable-length-encoded data stream, it is necessary to determine the code of the code length of each codeword in steps of 1 bit, so that the processing speed is slow. was there. Further, when the encoding / decoding table to be used is determined in advance as in the above-described Huffman encoding / decoding, there are many useless circuits such as the multiplexer group 52, the register group 54, and the control circuit 56. There was also a problem that unnecessary processing was performed.
【0023】[0023]
【発明が解決しようとする課題】本発明の目的は、前記
従来技術に基づく問題点をかえりみて、可変長符号化さ
れたデータストリームを復号化する際に、符号語の符号
長を高速に確定することができ、さらには、その回路規
模を大幅に削減することができるデータ復号化器を提供
することにある。SUMMARY OF THE INVENTION An object of the present invention is to determine the code length of a code word at a high speed when decoding a variable-length coded data stream in view of the above-mentioned problems in the prior art. Another object of the present invention is to provide a data decoder which can greatly reduce the circuit scale.
【0024】[0024]
【課題を解決するための手段】上記目的を達成するため
に、本発明は、可変長符号化されたデータを、このデー
タに相当する符号語の符号長に応じてシフトするシフタ
ーと、このシフターから出力されたデータを保持するフ
リップフロップと、符号化/復号化テーブルに定義され
た所定の符号長を持つそれぞれの符号語の最小値を保持
するレジスタ群と、前記フリップフロップに保持された
データと前記レジスタ群に保持されたそれぞれの符号語
の最小値とを比較する比較器群と、この比較器群の比較
結果から、前記データに相当する符号語の符号長をエン
コードするエンコーダとを有することを特徴とするデー
タ復号化器を提供するものである。In order to achieve the above object, the present invention provides a shifter for shifting variable-length coded data in accordance with the code length of a code word corresponding to the data, and a shifter for shifting the data. And a register group for holding the minimum value of each code word having a predetermined code length defined in the encoding / decoding table, and a data group for storing the data held in the flip-flop. And a comparator group for comparing the minimum value of each code word held in the register group with an encoder for encoding a code length of a code word corresponding to the data based on a comparison result of the comparator group. A data decoder is provided.
【0025】また、本発明は、可変長符号化されたデー
タを、このデータに相当する符号語の符号長に応じてシ
フトするシフターと、このシフターから出力されたデー
タを保持するフリップフロップと、前記フリップフロッ
プに保持されたデータと予め決定された符号化/復号化
テーブルに定義された所定の符号長を持つそれぞれの符
号語の最小値とを比較する比較器群と、この比較器群の
比較結果から、前記データに相当する符号語の符号長を
エンコードするエンコーダとを有することを特徴とする
データ復号化器を提供するものである。Also, the present invention provides a shifter for shifting variable-length encoded data in accordance with the code length of a code word corresponding to the data, a flip-flop for holding data output from the shifter, A comparator group for comparing the data held in the flip-flop with the minimum value of each code word having a predetermined code length defined in a predetermined encoding / decoding table; An encoder for encoding a code length of a code word corresponding to the data based on a result of the comparison is provided.
【0026】また、本発明は、可変長符号化されたデー
タを、このデータに相当する符号語の符号長に応じてシ
フトするシフターと、このシフターから出力されたデー
タを保持するフリップフロップと、符号化/復号化テー
ブルに定義された所定の符号長を持つそれぞれの符号語
の最大値を保持するレジスタ群と、前記フリップフロッ
プに保持されたデータと前記レジスタ群に保持されたそ
れぞれの符号語の最大値とを比較する比較器群と、この
比較器群の比較結果から、前記データに相当する符号語
の符号長をエンコードするエンコーダとを有することを
特徴とするデータ復号化器を提供するものである。The present invention also provides a shifter for shifting variable-length encoded data in accordance with the code length of a code word corresponding to the data, a flip-flop for holding data output from the shifter, A register group for holding the maximum value of each code word having a predetermined code length defined in the encoding / decoding table; data held in the flip-flop; and respective code words held in the register group And a encoder that encodes the code length of a code word corresponding to the data based on the comparison result of the comparator group. Things.
【0027】さらに、本発明は、可変長符号化されたデ
ータを、このデータに相当する符号語の符号長に応じて
シフトするシフターと、このシフターから出力されたデ
ータを保持するフリップフロップと、前記フリップフロ
ップに保持されたデータと予め決定された符号化/復号
化テーブルに定義された所定の符号長を持つそれぞれの
符号語の最大値とを比較する比較器群と、この比較器群
の比較結果から、前記データに相当する符号語の符号長
をエンコードするエンコーダとを有することを特徴とす
るデータ復号化器を提供するものである。Further, the present invention provides a shifter for shifting variable-length encoded data in accordance with the code length of a code word corresponding to the data, a flip-flop for holding data output from the shifter, A comparator group for comparing the data held in the flip-flop with the maximum value of each code word having a predetermined code length defined in a predetermined encoding / decoding table; An encoder for encoding a code length of a code word corresponding to the data based on a result of the comparison is provided.
【0028】[0028]
【発明の実施の形態】以下に、添付の図面に示す好適実
施例に基づいて、本発明のデータ復号化器を詳細に説明
する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a data decoder according to the present invention will be described in detail based on a preferred embodiment shown in the accompanying drawings.
【0029】図1は、本発明のデータ復号化器の一実施
例の構成回路図である。図示例のデータ復号化器10a
は、例えば4ビットのコードで表現される1〜16ビッ
トの符号長を有する符号語に可変長符号化されたデータ
ストリームを復号化する際に、それぞれの符号語の符号
長を求めるものであって、図示例においては、シフター
12a、フリップフロップ14a、レジスタ群16a、
比較器群18a(CMP16a,CMP15a,…,C
MP1a)およびエンコーダ20aにより構成されてい
る。FIG. 1 is a circuit diagram of a data decoder according to an embodiment of the present invention. Illustrated data decoder 10a
Is used to determine the code length of each codeword when decoding a data stream that has been variable-length coded into codewords having a code length of 1 to 16 bits represented by a 4-bit code, for example. In the illustrated example, the shifter 12a, the flip-flop 14a, the register group 16a,
The comparator group 18a (CMP16a, CMP15a,..., C
MP1a) and the encoder 20a.
【0030】図示例のデータ復号化器10aにおいて、
可変長符号化されたデータストリームはシフター12a
に入力され、シフター12aの出力はフリップフロップ
14aに入力されている。比較器18aの入力端子A,
Bには、それぞれフリップフロップ14aの出力および
レジスタ16aの出力が入力され、比較器18aの出力
はエンコーダ20aに入力されている。また、エンコー
ダ20aの出力は、シフター12aに入力されるととも
に、符号語の符号長を表す4ビットのコードSIZE
[3:0]として出力されている。In the illustrated data decoder 10a,
The variable-length coded data stream is transmitted to the shifter 12a.
, And the output of the shifter 12a is input to the flip-flop 14a. The input terminal A of the comparator 18a,
The output of the flip-flop 14a and the output of the register 16a are input to B, and the output of the comparator 18a is input to the encoder 20a. The output of the encoder 20a is input to the shifter 12a and a 4-bit code SIZE representing the code length of the code word.
It is output as [3: 0].
【0031】ここで、シフター12aは、可変長符号化
され、データストリームとされたデータを、このデータ
に相当する符号語の符号長に応じてシフトするものであ
って、シフター12aからは、図示例においては、シフ
トされた後のデータストリームの先頭から16ビット分
のデータが出力される。フリップフロップ14aは、シ
フター12aから出力されたデータ、図示例において
は、16ビット分のデータを保持するものである。Here, the shifter 12a shifts the data which has been variable-length coded to be a data stream in accordance with the code length of a code word corresponding to this data. In the illustrated example, data of 16 bits from the head of the shifted data stream is output. The flip-flop 14a holds data output from the shifter 12a, in the illustrated example, 16-bit data.
【0032】レジスタ群16aは、符号化/復号化テー
ブルに定義された所定の符号長を持つそれぞれの符号語
の最小値、ここでは、1〜16ビットの符号長を持つそ
れぞれの符号語の最小値を保持するものである。このレ
ジスタ群16aには、データを復号化する前に、符号化
/復号化の際に使用する符号化/復号化テーブルに定義
された所定の符号長を持つそれぞれの符号語の最小値が
保持される。The register group 16a stores the minimum value of each code word having a predetermined code length defined in the encoding / decoding table, here, the minimum value of each code word having a code length of 1 to 16 bits. It holds the value. Before decoding data, the register group 16a holds the minimum value of each code word having a predetermined code length defined in an encoding / decoding table used for encoding / decoding. Is done.
【0033】それぞれの符号語の最小値をレジスタ群1
6aに書き込む方法としては、例えば符号化/復号化テ
ーブルに定義された所定の符号長を持つそれぞれの符号
語の最小値を保持するRAM,ROM等のメモリを設
け、このメモリからレジスタ群16aに、それぞれの符
号語の最小値が書き込まれるように構成してもよいし、
あるいは、プログラムにより、レジスタ群16aに直
接、それぞれの符号語の最小値が書き込まれるように構
成してもよい。The minimum value of each code word is stored in the register group 1
As a method of writing to the 6a, for example, a memory such as a RAM or a ROM for holding the minimum value of each code word having a predetermined code length defined in the encoding / decoding table is provided. , The minimum value of each codeword may be written,
Alternatively, the minimum value of each codeword may be directly written into the register group 16a by a program.
【0034】比較器群18aは、フリップフロップ14
aに保持されたデータと、レジスタ群16aに保持され
た、符号化/復号化テーブルに定義された所定の符号長
を持つそれぞれの符号語の最小値とを比較するものであ
る。この実施例では、フリップフロップ14aに保持さ
れたデータと、1〜16ビットの符号長を持つそれぞれ
の符号語の最小値とを比較し、フリップフロップ14a
に保持されたデータが、それぞれの符号語の最小値以上
であることを検出する。The comparator group 18a includes the flip-flop 14
The comparison is made between the data held in a and the minimum value of each code word having a predetermined code length defined in the encoding / decoding table, held in the register group 16a. In this embodiment, the data held in the flip-flop 14a is compared with the minimum value of each code word having a code length of 1 to 16 bits.
Is greater than or equal to the minimum value of each codeword.
【0035】エンコーダ20aは、比較器群18aの比
較結果から、フリップフロップ14aに保持されている
データに相当する符号語の符号長をエンコードするもの
である。The encoder 20a encodes the code length of the code word corresponding to the data held in the flip-flop 14a from the comparison result of the comparator group 18a.
【0036】このように、図示例のデータ復号化器10
aにおいては、従来のデータ復号化器のように、符号長
のコードを保持するマルチプレクサおよびレジスタや、
データ復号化器の動作を制御する制御回路等、符号長の
コードを1ビットずつ段階的に分けて確定させるために
必要であった無駄な回路を省くことができ、データ復号
化器の回路規模を大幅に削減することができる。また、
複雑な回路制御が必要ないため、回路設計も極めて容易
であるという利点がある。As described above, the data decoder 10 in the illustrated example is used.
a, like a conventional data decoder, a multiplexer and a register for holding a code having a code length,
It is possible to omit a useless circuit, such as a control circuit for controlling the operation of the data decoder, which is necessary to determine the code of the code length step by step by one bit, and to reduce the circuit scale of the data decoder. Can be greatly reduced. Also,
Since complicated circuit control is not required, there is an advantage that circuit design is extremely easy.
【0037】本発明のデータ復号化器は、基本的に以上
のような構成を有するものである。次に、本発明のデー
タ復号化器の動作について説明する。The data decoder of the present invention basically has the above configuration. Next, the operation of the data decoder of the present invention will be described.
【0038】このデータ復号化器10aにおいて、ま
ず、入力されたデータストリームは、シフター12aに
よってシフトされ、その先頭から16ビット分のデータ
が出力される。シフター12aから出力された16ビッ
ト分のデータは、フリップフロップ14aに保持され、
フリップフロップ14aに保持された16ビット分のデ
ータは、データの先頭から、それぞれの比較器18aが
比較するビット数に応じたビット数が、それぞれの比較
器18aの入力端子Aに入力される。In the data decoder 10a, first, an input data stream is shifted by a shifter 12a, and data of 16 bits from the head is output. The 16-bit data output from the shifter 12a is held in the flip-flop 14a,
As for the 16-bit data held in the flip-flop 14a, the number of bits corresponding to the number of bits compared by each comparator 18a is input to the input terminal A of each comparator 18a from the beginning of the data.
【0039】一方、比較器群18aの入力端子Bには、
それぞれレジスタ群16aの出力、すなわち、符号化/
復号化テーブルに定義された1〜16ビットの符号長を
持つそれぞれの符号語の最小値が入力される。例えば、
比較器18a(CMP5a)には、フリップフロップ1
4aに保持された16ビット分のデータの内、データの
先頭から5ビット分のデータと、レジスタ16aに保持
された、5ビットの符号長を持つ符号語の最小値とが入
力される。On the other hand, the input terminal B of the comparator group 18a
The output of the register group 16a, that is,
The minimum value of each codeword having a code length of 1 to 16 bits defined in the decoding table is input. For example,
The comparator 18a (CMP5a) has a flip-flop 1
Of the 16 bits of data held in 4a, the data of 5 bits from the beginning of the data and the minimum value of a code word having a code length of 5 bits held in register 16a are input.
【0040】比較器群18aにおいては、フリップフロ
ップ14aに保持された16ビットのデータの内、デー
タの先頭から、それぞれの比較器18a(CMP16
a,CMP15a,…,CMP1a)が比較するビット
数に応じたビット数分のデータと、それぞれのレジスタ
16aに保持された、それぞれの符号長を持つ符号語の
最小値とが比較され、比較器群18aからは、フリップ
フロップ14aに保持されたデータに相当する符号語の
符号長に応じた比較結果が出力される。In the comparator group 18a, of the 16-bit data held in the flip-flop 14a, each of the comparators 18a (CMP 16
a, CMP15a,..., CMP1a) are compared with the data of the number of bits corresponding to the number of bits to be compared with the minimum value of the codeword having each code length held in each register 16a. The group 18a outputs a comparison result corresponding to the code length of the code word corresponding to the data held in the flip-flop 14a.
【0041】例えば、フリップフロップ14aに保持さ
れたデータに相当する符号語の符号長が5ビットである
場合、その比較結果として、比較器18a(CMP16
a,CMP15a,…,CMP6a)からは0が出力さ
れ、比較器18a(CMP5a,CMP4a,…,CM
P1a)からは1が出力される。For example, when the code length of the code word corresponding to the data held in the flip-flop 14a is 5 bits, the comparator 18a (CMP 16
, CMP15a,..., CMP6a) outputs 0, and the comparator 18a (CMP5a, CMP4a,.
1 is output from P1a).
【0042】比較器群18aから出力された比較結果は
エンコーダ20aに入力され、エンコーダ20aにおい
て、フリップフロップ14aに保持されたデータに相当
する符号語の符号長が、4ビットのコードSIZE
[3:0]にエンコードされる。エンコーダ20aによ
りエンコードされた符号長のコードSIZE[3:0]
は、シフター12aにフィードバックされ、シフター1
2aにおいて、データストリームは、符号長のコードS
IZE[3:0]に応じてシフトされ、以後、上述する
動作が繰り返し行われる。The comparison result output from the comparator group 18a is input to the encoder 20a, where the code length of the code word corresponding to the data held in the flip-flop 14a is a 4-bit code SIZE.
Encoded to [3: 0]. Code SIZE [3: 0] having a code length encoded by the encoder 20a
Is fed back to the shifter 12a, and the shifter 1
2a, the data stream is of code length code S
The shift is performed according to ISE [3: 0], and thereafter, the above-described operation is repeatedly performed.
【0043】このように、図示例のデータ復号化器10
aによれば、可変長符号化されたデータストリームを復
号化する際に、従来のデータ復号化器42のように、符
号長のコードを1ビットずつ段階的に分けて確定させる
のではなく、フリップフロップ14aに保持されたデー
タと、それぞれのレジスタ16aに保持された、それぞ
れの符号長を持つ符号語の最小値とが同時に並列に比較
されて、符号長のコードがエンコードされるため、無駄
な処理を省き、処理スピードを極めて高速化することが
できるという利点がある。As described above, the data decoder 10 in the illustrated example is used.
According to a, when decoding a variable-length-encoded data stream, instead of determining the code length code step by step by one bit as in the conventional data decoder 42, Since the data held in the flip-flop 14a and the minimum value of the code word having each code length held in each register 16a are simultaneously compared in parallel and the code of the code length is encoded, There is an advantage that the processing speed can be extremely increased by eliminating unnecessary processing.
【0044】本発明のデータ復号化器は、基本的に以上
のように動作するものである。以上、本発明のデータ復
号化器について詳細に説明したが、本発明は上記実施例
に限定されず、本発明の主旨を逸脱しない範囲におい
て、種々の改良や変更をしてもよいのはもちろんであ
る。The data decoder of the present invention basically operates as described above. As described above, the data decoder of the present invention has been described in detail. However, the present invention is not limited to the above embodiments, and various improvements and modifications may be made without departing from the spirit of the present invention. It is.
【0045】例えば、レジスタ群16aは、あらゆる種
類の符号化/復号化テーブルに対応できるように設けら
れるものであって、予め使用する符号化/復号化テーブ
ルが決められており、この符号化/復号化テーブルにお
いて定義されている、それぞれの符号長を持つ符号語の
それぞれの最小値が判っている場合には、即ち、それぞ
れの符号長を持つ符号語のそれぞれの最小値が固定値で
ある場合には、必ずしも必要なものではない。For example, the register group 16a is provided so as to correspond to all kinds of encoding / decoding tables, and an encoding / decoding table to be used is determined in advance. When the minimum value of each code word having each code length defined in the decoding table is known, that is, each minimum value of each code word having each code length is a fixed value. In that case, it is not always necessary.
【0046】また、比較器群18aは、あらゆる種類の
符号化/復号化テーブルに対応できるように回路設計さ
れていてもよいが、同様に、予め使用する符号化/復号
化テーブルが決められている場合には、極めて小型化す
ることも可能である。The comparator group 18a may be designed so as to be compatible with all types of encoding / decoding tables. Similarly, the encoding / decoding tables to be used are determined in advance. In such a case, the size can be extremely reduced.
【0047】以下に、JPEGのカラー静止画像符号化
方式において、符号化/復号化テーブルとして、図2に
示されるJPEGの推奨するAC係数の輝度成分のハフ
マンテーブルを用いることが予め決定されている場合を
例に挙げて、本発明のデータ復号化器に用いられる比較
器群の回路構成について説明する。ここで、図2に示さ
れるJPEGの推奨するAC係数の輝度成分のハフマン
テーブルから抜粋した、それぞれの符号長の符号語の最
小値を示す。In the JPEG color still image coding system, it is determined in advance that the Huffman table of JPEG recommended AC coefficient luminance components shown in FIG. 2 is used as the coding / decoding table. The circuit configuration of a group of comparators used in the data decoder of the present invention will be described by taking a case as an example. Here, the minimum values of the codewords of the respective code lengths extracted from the Huffman table of the luminance component of the AC coefficient recommended by JPEG shown in FIG. 2 are shown.
【0048】 [0048]
【0049】上記それぞれの符号長の符号語の最小値に
示されるように、符号長が1ビット、13ビットおよび
14ビットの符号語は存在していないし、符号長が2ビ
ットの符号語の最小値は00である。また、これ以外の
符号長を持つ符号語の最小値は、上位ビット側に1が連
続して並んでいる。これらのことから、それぞれの比較
器の回路構成は、上位ビット側に連続する1を検出し、
かつ、これに続くビットが、符号語の最小値以上である
ことを検出すればよいことが判る。As shown in the minimum values of the code words of the respective code lengths, the code words having the code lengths of 1 bit, 13 bits, and 14 bits do not exist, and the minimum value of the code word having the code length of 2 bits. The value is 00. As for the minimum value of the code word having a code length other than this, 1 is continuously arranged on the upper bit side. From these facts, the circuit configuration of each comparator detects consecutive ones on the upper bit side,
In addition, it can be seen that it is sufficient to detect that the bit following this is equal to or larger than the minimum value of the code word.
【0050】ここで、図3(a)および(b)に、それ
ぞれ比較器の概念図および上記AC係数の輝度成分のハ
フマンテーブルに従って最適化された比較器群の回路構
成の一例を示す。同図において、例えば比較器CMP1
6aは、データA[15:0]と、16ビットの符号長
を持つ符号語の最小値Bとを比較して、その比較結果T
を出力するものである。また、CMP15a〜CMP1
aについても同様である。FIGS. 3 (a) and 3 (b) show a conceptual diagram of a comparator and an example of a circuit configuration of a comparator group optimized according to the Huffman table of the luminance component of the AC coefficient. In the figure, for example, a comparator CMP1
6a compares data A [15: 0] with a minimum value B of a code word having a code length of 16 bits, and a comparison result T
Is output. In addition, CMP15a to CMP1
The same applies to a.
【0051】例えば、比較器CMP16aの回路構成
は、上位ビット側の連続する1を検出するために、デー
タA[15:0]の内、連続する1の値を持つデータA
[15:7]までの論理積(AND)を取り、かつ、こ
れに続くビットが、符号語の最小値以上であることを検
出するために、残りのデータA[6:0]の内、データ
A[6:1]までの論理和(OR)を取り、これらの検
出結果の論理積を取るものである。For example, the circuit configuration of the comparator CMP16a is such that the data A [15: 0] having a continuous value of 1 among the data A [15: 0] in order to detect the consecutive 1s on the upper bit side.
In order to take a logical product (AND) up to [15: 7] and detect that the following bit is greater than or equal to the minimum value of the codeword, the remaining data A [6: 0] The logical sum (OR) up to the data A [6: 1] is calculated, and the logical product of these detection results is calculated.
【0052】これにより、比較器CMP16aにおいて
は、データA[15:0]が、16ビットの符号長を持
つ符号語の最小値B以上である場合に、その比較結果T
として1が出力され、これとは逆に、データA[15:
0]が、16ビットの符号長を持つ符号語の最小値Bよ
りも小さい場合に、その比較結果Tとして0が出力され
る。また、比較器CMP15a〜CMP1aについて
も、同様に、データAと符号語の最小値とが比較され、
その比較結果Tが出力される。Thus, in the comparator CMP16a, when the data A [15: 0] is equal to or larger than the minimum value B of the code word having the code length of 16 bits, the comparison result T
And 1 is output, and conversely, data A [15:
0] is smaller than the minimum value B of the code word having the code length of 16 bits, 0 is output as the comparison result T. Similarly, for the comparators CMP15a to CMP1a, the data A is compared with the minimum value of the code word.
The comparison result T is output.
【0053】なお、AC係数の輝度成分のハフマンテー
ブルを例に挙げて説明したが、例えばAC係数の色差成
分についても、同様に、レジスタ群16aを用いず、比
較器群18aの回路を簡単に構成することができるし、
あるいは、DC係数や、ハフマンテーブル以外の符号化
/復号化テーブルを用いた場合であっても、同様に、レ
ジスタ群16aを用いることなく、比較器群18aの回
路構成を簡単化することができることは言うまでもない
ことである。Although the Huffman table of the luminance component of the AC coefficient has been described as an example, for the color difference component of the AC coefficient, for example, similarly, the circuit of the comparator group 18a is simply simplified without using the register group 16a. Can be configured and
Alternatively, even when a DC coefficient or an encoding / decoding table other than the Huffman table is used, similarly, the circuit configuration of the comparator group 18a can be simplified without using the register group 16a. Needless to say.
【0054】このように、本発明のデータ復号化器にお
いては、ハフマン符号化/復号化等のように、使用する
符号化/復号化テーブルが予め決まっている場合には、
符号化/復号化テーブルに定義された所定の符号長を持
つそれぞれの符号語の最小値を保持するためのレジスタ
群16aが不要となり、さらに、比較器群18aの構成
を極めて小型化することができるため、データ復号化器
10aの回路規模を大幅に削減することも可能である。As described above, in the data decoder of the present invention, when the encoding / decoding table to be used is determined in advance, as in Huffman encoding / decoding, etc.
The register group 16a for holding the minimum value of each code word having a predetermined code length defined in the encoding / decoding table becomes unnecessary, and the configuration of the comparator group 18a can be extremely reduced in size. Therefore, the circuit scale of the data decoder 10a can be significantly reduced.
【0055】なお、上記実施例においては、可変長符号
化されたデータと、符号化/復号化テーブルに定義され
た所定の符号長を持つそれぞれの符号語の最小値とを比
較して、可変長符号化されたデータに相当する符号語の
符号長を求める場合を例に挙げて説明したが、これとは
逆に、符号化/復号化テーブルに定義された所定の符号
長を持つそれぞれの符号語の最大値を用いて、可変長符
号化されたデータに相当する符号語の符号長を求めるよ
うにしてもよい。In the above embodiment, the variable length coded data is compared with the minimum value of each code word having a predetermined code length defined in the coding / decoding table, and the variable length coded data is compared with the variable length coded data. Although the case where the code length of the code word corresponding to the long-coded data is obtained has been described as an example, conversely, each code having a predetermined code length defined in the coding / decoding table is described. Using the maximum value of the codeword, the code length of the codeword corresponding to the variable-length encoded data may be obtained.
【0056】図4は、本発明のデータ復号化器の別の実
施例の構成回路図である。図示例のデータ復号化器10
bは、図1に示されるデータ復号化器10aにおいて、
それぞれの符号長の符号語の最小値の代わりに、それぞ
れの符号長の符号語の最大値を用いて、可変長符号化さ
れたデータに相当する符号語の符号長を求めるようにし
たもので、シフター12b、フリップフロップ14b、
レジスタ群16b、比較器群18b(CMP15b,C
MP14b,…,CMP1b)およびエンコーダ20b
を有する。FIG. 4 is a circuit diagram showing another embodiment of the data decoder of the present invention. Illustrated data decoder 10
b is the data decoder 10a shown in FIG.
Instead of the minimum value of the codeword of each code length, using the maximum value of the codeword of each code length, the code length of the codeword corresponding to the variable-length coded data is obtained. , A shifter 12b, a flip-flop 14b,
Register group 16b, comparator group 18b (CMP 15b, C
MP14b,..., CMP1b) and encoder 20b
Having.
【0057】ここで、データ復号化器10bにおいて
は、16ビットの符号長を持つ符号語の最大値よりも大
きいものは存在しないので、可変長符号化されたデータ
と、符号化/復号化テーブルに定義された16ビットの
符号長を持つ符号語の最大値とを比較する必要はない。Here, in the data decoder 10b, there is no code decoder having a code length of 16 bits larger than the maximum value of the code word, so that the variable-length coded data and the coding / decoding table Does not need to be compared with the maximum value of a code word having a code length of 16 bits as defined in.
【0058】従って、図示例のデータ復号化器10bに
おいて、シフター12bからは、データの符号長に応じ
てシフトされた後のデータストリームの先頭から15ビ
ット分のデータが出力され、フリップフロップ14b
は、シフター12bから出力された15ビット分のデー
タを保持する。また、レジスタ群16bは、符号化/復
号化テーブルに定義された所定の符号長を持つそれぞれ
の符号語の最大値、この実施例の場合には、1〜15ビ
ットの符号長を持つそれぞれの符号語の最大値を保持す
る。Therefore, in the data decoder 10b in the illustrated example, the shifter 12b outputs 15-bit data from the head of the data stream after being shifted according to the code length of the data, and the flip-flop 14b
Holds the 15-bit data output from the shifter 12b. The register group 16b stores the maximum value of each code word having a predetermined code length defined in the encoding / decoding table. In this embodiment, each of the register groups 16b has a code length of 1 to 15 bits. Holds the maximum value of the codeword.
【0059】また、比較器群18bは、フリップフロッ
プ14bに保持されたデータと、レジスタ群16bに保
持された、符号化/復号化テーブルに定義された所定の
符号長を持つそれぞれの符号語の最大値とを比較する。
この実施例では、フリップフロップ14bに保持された
データと、1〜15ビットの符号長を持つそれぞれの符
号語の最大値とを比較し、フリップフロップ14bに保
持されたデータが、それぞれの符号語の最大値よりも大
きいか否かを検出する。The comparator group 18b stores the data held in the flip-flop 14b and the codewords held in the register group 16b and having the predetermined code length defined in the encoding / decoding table. Compare with the maximum value.
In this embodiment, the data held in the flip-flop 14b is compared with the maximum value of each code word having a code length of 1 to 15 bits, and the data held in the flip-flop 14b is Is greater than or equal to the maximum value.
【0060】このように、データ復号化器10bにおい
ては、可変長符号化されたデータと、符号化/復号化テ
ーブルに定義された16ビットの符号長を持つ符号語の
最大値との比較が不要であるため、図1に示されるデー
タ復号化器10aにおいて、さらに、フリップフロップ
14b、レジスタ16および比較器18bの、16ビッ
ト目のデータのための1ビット分の回路が不要となり、
データ復号化器の回路規模をさらに削減することができ
るという利点がある。As described above, in the data decoder 10b, the comparison between the variable-length coded data and the maximum value of the code word having the code length of 16 bits defined in the coding / decoding table is performed. Since it is unnecessary, the data decoder 10a shown in FIG. 1 further does not need a circuit for one bit for the 16th bit data of the flip-flop 14b, the register 16, and the comparator 18b.
There is an advantage that the circuit scale of the data decoder can be further reduced.
【0061】このデータ復号化器10bの動作は、可変
長符号化されたデータと、それぞれの符号長を持つ符号
語の最小値とを比較する代わりに、それぞれの符号長を
持つ符号語の最大値と比較する点を除いて、図1に示さ
れるデータ復号化器10aの動作と同じである。すなわ
ち、まず、データストリームは、シフター12bにより
データに相当する符号語の符号長に応じてシフトされ、
その先頭から15ビット分のデータがフリップフロップ
14bに保持される。The operation of the data decoder 10b is to compare the variable-length coded data with the minimum value of the code word having each code length, instead of comparing the maximum value of the code word having each code length. The operation is the same as that of the data decoder 10a shown in FIG. That is, first, the data stream is shifted by the shifter 12b according to the code length of the codeword corresponding to the data,
The 15-bit data from the top is held in the flip-flop 14b.
【0062】続いて、比較器群18bのそれぞれの比較
器CMP15b,CMP14b,…,CMP1bにおい
て、フリップフロップ14bに保持された15ビットの
データの内、データの先頭から、それぞれの比較器CM
P15b,CMP14b,…,CMP1bが比較するビ
ット数に応じたビット数分のデータと、それぞれのレジ
スタ16bに保持された、それぞれの符号長を持つ符号
語の最大値とが比較され、その比較結果が出力される。Subsequently, in each of the comparators CMP15b, CMP14b,..., CMP1b of the comparator group 18b, of the 15-bit data held in the flip-flop 14b, each of the comparators CM starts from the head of the data.
P15b, CMP14b,..., CMP1b are compared with the data of the number of bits corresponding to the number of bits to be compared with the maximum value of the codeword having the code length held in each register 16b, and the comparison result Is output.
【0063】例えば、フリップフロップ14bに保持さ
れたデータに相当する符号語の符号長が5ビットであれ
ば、比較結果として、比較器CMP15b,CMP14
b,…,CMP5bからは0が出力され、比較器CMP
4b,CMP3b,…,CMP1bからは1が出力され
る。この比較結果は、エンコーダ20bによりエンコー
ドされ、シフター12bにより、データに相当する符号
語の符号長に応じてデータストリームがシフトされ、以
後、上述する動作が繰り返し行われる。For example, if the code length of the code word corresponding to the data held in the flip-flop 14b is 5 bits, the comparators CMP15b and CMP14
,..., CMP5b output 0, and the comparator CMP
4b, CMP3b,..., CMP1b output 1. The comparison result is encoded by the encoder 20b, the data stream is shifted by the shifter 12b according to the code length of the codeword corresponding to the data, and thereafter, the above-described operation is repeated.
【0064】なお、図1に示されるデータ復号化器10
aの場合と同じように、データ復号化器10bにおいて
も、予め使用する符号化/復号化テーブルが決定されて
おり、かつ、この符号化/復号化テーブルにおいて定義
されている、それぞれの符号長を持つ符号語のそれぞれ
の最大値が判っている場合には、レジスタ群16bを省
略し、比較器群18bを最適化して小型化することがで
きるのはもちろんである。The data decoder 10 shown in FIG.
As in the case of a, the encoding / decoding table to be used is determined in advance in the data decoder 10b, and the respective code lengths defined in the encoding / decoding table are used. If the maximum value of each of the codewords having the following is known, the register group 16b can be omitted, and the comparator group 18b can be optimized and downsized.
【0065】以下同様に、JPEGのカラー静止画像符
号化方式において、符号化/復号化テーブルとして、図
2に示されるJPEGの推奨するAC係数の輝度成分の
ハフマンテーブルを用いる場合を例に挙げて、データ復
号化器10bに用いられる比較器群18bの回路構成に
ついて説明する。ここで、図2に示されるJPEGの推
奨するAC係数の輝度成分のハフマンテーブルから抜粋
した、それぞれの符号長の符号語の最大値を示す。Similarly, in the JPEG color still image coding method, a case where a Huffman table of luminance components of AC coefficients recommended by JPEG shown in FIG. 2 is used as an encoding / decoding table will be described as an example. The circuit configuration of the comparator group 18b used in the data decoder 10b will be described. Here, the maximum value of the codeword of each code length extracted from the Huffman table of the luminance component of the AC coefficient recommended by JPEG shown in FIG. 2 is shown.
【0066】 [0066]
【0067】上記それぞれの符号長の符号語の最大値に
示されるように、符号長が1ビット、13ビットおよび
14ビットの符号語は存在していないし、符号長が2ビ
ットの符号語の最大値は01である。また、これ以外の
符号長を持つ符号語の最大値は、上位ビット側に1が連
続して並んでいる。これらのことから、それぞれの比較
器の回路構成は、上位ビット側に連続する1を検出し、
かつ、これに続くビットが、符号語の最大値よりも大き
いことを検出すればよいことが判る。As indicated by the maximum values of the code words of the respective code lengths, the code words of the code lengths of 1 bit, 13 bits and 14 bits do not exist, and the maximum of the code words of the code length of 2 bits is not present. The value is 01. As for the maximum value of the codeword having a code length other than this, 1 is continuously arranged on the upper bit side. From these facts, the circuit configuration of each comparator detects consecutive ones on the upper bit side,
In addition, it can be seen that it is sufficient to detect that the following bit is larger than the maximum value of the code word.
【0068】ここで、図5(a)および(b)に、それ
ぞれ比較器の概念図および上記AC係数の輝度成分のハ
フマンテーブルに従って最適化された比較器群の回路構
成の一例を示す。同図において、例えば比較器CMP1
5bは、データA[15:1]と、15ビットの符号長
を持つ符号語の最大値Bとを比較して、その比較結果T
を出力するものである。また、CMP14b〜CMP1
bについても同様である。FIGS. 5A and 5B show conceptual diagrams of the comparator and an example of a circuit configuration of the comparator group optimized according to the Huffman table of the luminance component of the AC coefficient. In the figure, for example, a comparator CMP1
5b compares the data A [15: 1] with the maximum value B of the code word having a code length of 15 bits, and the comparison result T
Is output. In addition, CMP14b to CMP1
The same applies to b.
【0069】例えば、比較器CMP15bの回路構成
は、上位ビット側の連続する1を検出するために、デー
タA[15:1]の内、連続する1の値を持つデータA
[15:7]までの論理積(AND)を取り、かつ、こ
れに続くビットが、15ビットの符号語の最大値よりも
大きいことを検出するために、残りのデータA[6:
1]の各ビットが全て0であることから、データA
[6:1]の全ての論理和(OR)を取り、これらの検
出結果の論理積を取るものである。For example, the circuit configuration of the comparator CMP15b is such that the data A [15: 1] having a continuous value of 1 among the data A [15: 1] in order to detect consecutive 1s on the upper bit side.
The remaining data A [6:] are ANDed up to [15: 7] to detect that the following bit is greater than the maximum value of the 15-bit codeword.
1] are all 0, the data A
All logical sums (OR) of [6: 1] are calculated, and the logical product of these detection results is calculated.
【0070】これにより、比較器CMP15bにおいて
は、データA[15:1]が、15ビットの符号長を持
つ符号語の最大値Bよりも大きい場合に、その比較結果
Tとして1が出力され、これとは逆に、データA[1
5:1]が、15ビットの符号長を持つ符号語の最大値
B以下である場合に、その比較結果Tとして0が出力さ
れる。また、比較器CMP14b〜CMP1bについて
も、同様に、データAと符号語の最大値とが比較され、
その比較結果Tが出力される。Thus, in the comparator CMP15b, when the data A [15: 1] is larger than the maximum value B of the code word having the code length of 15 bits, 1 is output as the comparison result T, Conversely, data A [1
5: 1] is equal to or smaller than the maximum value B of the code word having the code length of 15 bits, 0 is output as the comparison result T. Similarly, for the comparators CMP14b to CMP1b, the data A is compared with the maximum value of the code word.
The comparison result T is output.
【0071】このように、本発明のデータ復号化器にお
いては、符号語の最小値を用いてデータの符号長を求め
る場合も、最大値を用いる場合も同じように、上記AC
係数の輝度成分のハフマンテーブルに限定されず、予め
使用する符号化/復号化テーブルが決定され、かつ、こ
の符号化/復号化テーブルにおける、それぞれの符号長
の符号語の最大値が判っていれば、レジスタ群16bを
省略し、比較器群18bを最適化して小型化することが
できる。As described above, in the data decoder of the present invention, the same applies to the case where the code length of the data is obtained using the minimum value of the codeword and the case where the maximum value is used.
The coding / decoding table to be used is not limited to the Huffman table of the luminance components of the coefficients, and the maximum value of the codeword of each code length in the coding / decoding table is known. For example, the register group 16b can be omitted, and the comparator group 18b can be optimized and downsized.
【0072】[0072]
【発明の効果】以上詳細に説明した様に、本発明のデー
タ復号化器によれば、可変長符号化された符号語に相当
するデータと、それぞれの符号長を持つ符号語の最小値
または最大値とを同時に並列に比較して、符号長のコー
ドをエンコードするようにしたため、無駄な処理を省
き、処理スピードを極めて高速化することができる。ま
た、本発明のデータ復号化器によれば、従来のデータ復
号化器では、符号長のコードを1ビットずつ段階的に分
けて確定させるために必要であった無駄な回路を省くこ
とができ、さらに、使用する符号化/復号化テーブルに
応じて、比較器群の構成を極めて小型化することもでき
るため、データ復号化器の回路規模を大幅に削減するこ
とができ、回路設計も極めて容易になるという利点があ
る。As described above in detail, according to the data decoder of the present invention, the data corresponding to the variable length coded code word and the minimum value of the code word having each code length or Since the maximum value is simultaneously compared in parallel to encode a code having a code length, useless processing can be omitted, and the processing speed can be extremely increased. Further, according to the data decoder of the present invention, in the conventional data decoder, it is possible to omit a useless circuit that is necessary to determine the code length code step by step by one bit. Furthermore, since the configuration of the comparator group can be extremely reduced in accordance with the encoding / decoding table to be used, the circuit scale of the data decoder can be significantly reduced, and the circuit design can be extremely reduced. There is an advantage that it becomes easy.
【図1】 本発明のデータ復号化器の一実施例の構成回
路図である。FIG. 1 is a configuration circuit diagram of an embodiment of a data decoder according to the present invention.
【図2】 JPEGの推奨するAC係数の輝度成分のハ
フマンテーブル(インターフェース:CQ出版社刊行、
1991年12月号、p170参照)である。FIG. 2 is a Huffman table of luminance components of AC coefficients recommended by JPEG (interface: published by CQ Publisher,
(December 1991, p. 170).
【図3】 (a)および(b)は、それぞれ比較器の概
念図およびAC係数の輝度成分のハフマンテーブルに従
って最適化された比較器群の一実施例の構成回路であ
る。FIGS. 3A and 3B are circuit diagrams of an embodiment of a comparator group optimized according to a conceptual diagram of a comparator and a Huffman table of luminance components of AC coefficients, respectively.
【図4】 本発明のデータ復号化器の別の実施例の構成
回路図である。FIG. 4 is a configuration circuit diagram of another embodiment of the data decoder of the present invention.
【図5】 (a)および(b)は、それぞれ比較器の概
念図およびAC係数の輝度成分のハフマンテーブルに従
って最適化された比較器群の別の実施例の構成回路であ
る。5A and 5B are circuit diagrams of another embodiment of a comparator group optimized according to a conceptual diagram of a comparator and a Huffman table of luminance components of AC coefficients, respectively.
【図6】 JPEGのDCT方式における符号化/復号
化の概念図である。FIG. 6 is a conceptual diagram of encoding / decoding in the JPEG DCT method.
【図7】 従来のデータ復号化器の一例の構成回路図で
ある。FIG. 7 is a configuration circuit diagram of an example of a conventional data decoder.
10a,10b,42 データ復号化器 12a,12b,44 シフター 14a,14b,46 フリップフロップ 16a,16b,54(54a,54b,54c,54
d) レジスタ群 18a(CMP16a,CMP15a,…,CMP1
a),18b(CMP15b,CMP14b,…,CM
P1b) 比較器群 20a,20b エンコーダ 22 符号化装置 24 DCT回路 26 量子化回路 28 量子化テーブル 30 エントロピー符号化回路 32 符号化テーブル 34 復号化装置 36 エントロピー復号化回路 38 逆量子化回路 40 逆DCT回路 48 メモリ 50 比較器 52(52a,52b,52c,52d) マルチプレ
クサ群 56 制御回路10a, 10b, 42 Data decoder 12a, 12b, 44 Shifter 14a, 14b, 46 Flip-flop 16a, 16b, 54 (54a, 54b, 54c, 54
d) Register group 18a (CMP16a, CMP15a,..., CMP1)
a), 18b (CMP15b, CMP14b, ..., CM
P1b) Comparator group 20a, 20b Encoder 22 Encoding device 24 DCT circuit 26 Quantization circuit 28 Quantization table 30 Entropy encoding circuit 32 Encoding table 34 Decoding device 36 Entropy decoding circuit 38 Inverse quantization circuit 40 Inverse DCT Circuit 48 Memory 50 Comparator 52 (52a, 52b, 52c, 52d) Multiplexer group 56 Control circuit
Claims (4)
に相当する符号語の符号長に応じてシフトするシフター
と、このシフターから出力されたデータを保持するフリ
ップフロップと、符号化/復号化テーブルに定義された
所定の符号長を持つそれぞれの符号語の最小値を保持す
るレジスタ群と、前記フリップフロップに保持されたデ
ータと前記レジスタ群に保持されたそれぞれの符号語の
最小値とを比較する比較器群と、この比較器群の比較結
果から、前記データに相当する符号語の符号長をエンコ
ードするエンコーダとを有することを特徴とするデータ
復号化器。1. A shifter for shifting variable-length encoded data according to the code length of a code word corresponding to the data, a flip-flop for holding data output from the shifter, and encoding / decoding. Registers holding the minimum value of each code word having a predetermined code length defined in the conversion table, data held in the flip-flop and minimum value of each code word held in the register group, And a encoder that encodes the code length of a code word corresponding to the data based on the comparison result of the comparator group.
に相当する符号語の符号長に応じてシフトするシフター
と、このシフターから出力されたデータを保持するフリ
ップフロップと、前記フリップフロップに保持されたデ
ータと予め決定された符号化/復号化テーブルに定義さ
れた所定の符号長を持つそれぞれの符号語の最小値とを
比較する比較器群と、この比較器群の比較結果から、前
記データに相当する符号語の符号長をエンコードするエ
ンコーダとを有することを特徴とするデータ復号化器。2. A shifter for shifting variable-length encoded data in accordance with the code length of a code word corresponding to the data, a flip-flop holding data output from the shifter, A comparator group for comparing the held data with the minimum value of each codeword having a predetermined code length defined in a predetermined encoding / decoding table, and a comparison result of the comparator group, An encoder for encoding a code length of a code word corresponding to the data.
に相当する符号語の符号長に応じてシフトするシフター
と、このシフターから出力されたデータを保持するフリ
ップフロップと、符号化/復号化テーブルに定義された
所定の符号長を持つそれぞれの符号語の最大値を保持す
るレジスタ群と、前記フリップフロップに保持されたデ
ータと前記レジスタ群に保持されたそれぞれの符号語の
最大値とを比較する比較器群と、この比較器群の比較結
果から、前記データに相当する符号語の符号長をエンコ
ードするエンコーダとを有することを特徴とするデータ
復号化器。3. A shifter for shifting variable-length encoded data in accordance with a code length of a code word corresponding to the data, a flip-flop for holding data output from the shifter, and encoding / decoding. A register group that holds the maximum value of each code word having a predetermined code length defined in the conversion table, the data held in the flip-flop and the maximum value of each code word held in the register group. And a encoder that encodes the code length of a code word corresponding to the data based on the comparison result of the comparator group.
に相当する符号語の符号長に応じてシフトするシフター
と、このシフターから出力されたデータを保持するフリ
ップフロップと、前記フリップフロップに保持されたデ
ータと予め決定された符号化/復号化テーブルに定義さ
れた所定の符号長を持つそれぞれの符号語の最大値とを
比較する比較器群と、この比較器群の比較結果から、前
記データに相当する符号語の符号長をエンコードするエ
ンコーダとを有することを特徴とするデータ復号化器。4. A shifter for shifting variable-length encoded data according to a code length of a code word corresponding to the data, a flip-flop for holding data output from the shifter, A comparator group for comparing the held data with the maximum value of each code word having a predetermined code length defined in a predetermined encoding / decoding table, and a comparison result of the comparator group, An encoder for encoding a code length of a code word corresponding to the data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2155197A JPH10163880A (en) | 1996-10-02 | 1997-02-04 | Data decoder |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26167096 | 1996-10-02 | ||
JP8-261670 | 1996-10-02 | ||
JP2155197A JPH10163880A (en) | 1996-10-02 | 1997-02-04 | Data decoder |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10163880A true JPH10163880A (en) | 1998-06-19 |
Family
ID=26358637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2155197A Pending JPH10163880A (en) | 1996-10-02 | 1997-02-04 | Data decoder |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10163880A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6433709B1 (en) | 1999-09-10 | 2002-08-13 | Kabushiki Kaisha Toshiba | Decoding method and decoding apparatus for variable length code words, and computer readable recording medium for storing decoding program for variable length code words |
JP2007104194A (en) * | 2005-10-03 | 2007-04-19 | Akuseru:Kk | Decoding system |
CN100433157C (en) * | 2003-11-24 | 2008-11-12 | 联发科技股份有限公司 | Information replying method and device |
-
1997
- 1997-02-04 JP JP2155197A patent/JPH10163880A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6433709B1 (en) | 1999-09-10 | 2002-08-13 | Kabushiki Kaisha Toshiba | Decoding method and decoding apparatus for variable length code words, and computer readable recording medium for storing decoding program for variable length code words |
CN100433157C (en) * | 2003-11-24 | 2008-11-12 | 联发科技股份有限公司 | Information replying method and device |
JP2007104194A (en) * | 2005-10-03 | 2007-04-19 | Akuseru:Kk | Decoding system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5945930A (en) | Data processing apparatus | |
US5818877A (en) | Method for reducing storage requirements for grouped data values | |
US8401321B2 (en) | Method and apparatus for context adaptive binary arithmetic coding and decoding | |
JP4113114B2 (en) | DCT compression using GOLOMB-RICE coding | |
RU2417518C2 (en) | Efficient coding and decoding conversion units | |
US8111934B2 (en) | Extension of two-dimensional variable length coding for image compression | |
US6128413A (en) | Method and apparatus for data compression | |
JP2004531995A5 (en) | ||
JPH08116447A (en) | Coder for image signal | |
JP3087835B2 (en) | Image encoding method and apparatus and image decoding method and apparatus | |
EP0635807B1 (en) | Coding apparatus for image compression | |
US6157327A (en) | Encoding/decoding device | |
US20040006582A1 (en) | Digital image coding device and method | |
US6879725B2 (en) | Method, system, and program for decoding a section from compressed data | |
JPH10163880A (en) | Data decoder | |
JP2002369010A (en) | Image coder and image decoder | |
JPH05151349A (en) | Image data compressing method and encoding circuit | |
JPH06152988A (en) | Decoder for variable length encoding | |
JP2004328406A (en) | Code amount controlling method and coder | |
JP6821184B2 (en) | Image decoder | |
JP2001217722A (en) | Device and method for encoding information, and computer readable storage medium | |
KR100189523B1 (en) | Image compression apparatus and method and decoding method by using image separation and arithmatic coding | |
JP2000261812A (en) | Image coder and decoder | |
JPH11331844A (en) | Fixed length block encoder and decoder | |
JPH0799453A (en) | Method and equipment for variable length encoding using few memories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20031021 |