JP3076461B2 - ハフマン復号化回路およびハフマン復号化方法 - Google Patents

ハフマン復号化回路およびハフマン復号化方法

Info

Publication number
JP3076461B2
JP3076461B2 JP28486292A JP28486292A JP3076461B2 JP 3076461 B2 JP3076461 B2 JP 3076461B2 JP 28486292 A JP28486292 A JP 28486292A JP 28486292 A JP28486292 A JP 28486292A JP 3076461 B2 JP3076461 B2 JP 3076461B2
Authority
JP
Japan
Prior art keywords
huffman
decoding
code
data
huffman code
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.)
Expired - Lifetime
Application number
JP28486292A
Other languages
English (en)
Other versions
JPH06139346A (ja
Inventor
正文 田中
Original Assignee
鐘紡株式会社
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
Application filed by 鐘紡株式会社 filed Critical 鐘紡株式会社
Priority to JP28486292A priority Critical patent/JP3076461B2/ja
Publication of JPH06139346A publication Critical patent/JPH06139346A/ja
Application granted granted Critical
Publication of JP3076461B2 publication Critical patent/JP3076461B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ハフマン符号化方式
により符号化されたハフマン符号を復号するためのハフ
マン復号化回路およびハフマン復号化方法に関する。
【0002】
【従来の技術】画像データは非常に多くの情報量を含ん
でいる。そのため、画像データをそのままの形で処理す
るのは、メモリ容量および通信速度の点で実用的ではな
い。そこで、画像データ圧縮技術が重要となる。
【0003】画像データ圧縮の国際標準の1つとしてJ
PEG(Joint Photographic Expert Group )がある。
JPEGでは、非可逆符号化を行なうDCT(離散コサ
イン変換)方式と、二次元空間でDPCM(Differenti
alPCM)を行なう可逆符号化方式が採用されている。
以下、DCT方式の画像データ圧縮を説明する。
【0004】(1) DCT方式の基本構成 図10は、DCT方式を実行するためのシステムの基本
構成を示すブロック図である。
【0005】符号化側では、DCT装置100が、入力
される原画像データにDCT変換を行ない、DCT係数
を出力する。量子化器200は、量子化テーブル400
を参照してDCT係数に量子化処理を行ない、量子化さ
れたDCT係数(以下、量子化DCT係数と呼ぶ)を出
力する。エントロピー符号化器300は、符号化テーブ
ル500を参照して量子化DCT係数にエントロピー符
号化処理を行ない、圧縮データを出力する。エントロピ
ー符号化の方式としてハフマン符号化方式が用いられ
る。
【0006】復号化側では、エントロピー復号器600
が、符号化テーブル500を参照して圧縮データにエン
トロピー復号化処理を行ない、量子化DCT係数を出力
する。逆量子化器700は、量子化テーブル400を参
照して量子化DCT係数に逆量子化処理を行ない、DC
T係数を出力する。逆DCT装置800は、DCT係数
に逆DCT変換を行ない、再生画像データを出力する。
【0007】(2) DCT変換 次に、DCT変換を説明する。まず、図11に示すよう
に、画像データを複数の8×8画素ブロックに分割す
る。図12に示すように、1つの8×8画素ブロック内
の各画素データの値をPX Y (X,Y=0,…,7)で
示す。ここで、X,Yがブロック内の画素データの位置
を表わしている。
【0008】分割された各8×8画素ブロックに対して
次式による二次元DCT変換を行なう。
【0009】
【数1】
【0010】ここで、SU V はDCT係数を表わし、
U,VはDCT係数の位置を表わす。U=V=0の場合
にはCU =CV =1/√2となり、その他の場合にはC
U =C V =1となる。さらに、画素データPX Y のビッ
ト精度が8ビットの場合にはL S =128となり、画素
データPX Y のビット精度が12ビットの場合にはLS
=2048となる。
【0011】DCT変換の結果、64個のDCT係数S
U V が得られる。DCT係数S0 0はDC係数と呼ば
れ、残りの63個のDCT係数はAC係数と呼ばれる。
【0012】DC係数は8×8画素データの平均値(直
流成分)を示している。式(1)に示されるように、各
画素データPX Y よりLS を引くことにより、DC係数
の期待値を0にレベルシフトしている。
【0013】図12に示すように、DCT変換されたブ
ロックの左上および右下がそれぞれDCT係数S0 0
7 7 に対応している。DCT変換されたブロックの左
から右に進むにつれて高周波の水平周波数成分を多く含
み、上から下に進むにつれて高周波の垂直周波数成分を
多く含むことになる。
【0014】一方、次式に示す逆DCT変換によりDC
T係数SU V から64個の画素データPX Y (X,Y=
0,…,7)を得ることができる。
【0015】
【数2】
【0016】式(2)に示されるように、各画素データ
にLS を加えることにより、レベルシフト分を元に戻し
ている。
【0017】図13に、8×8画素ブロックの一例およ
びその画素ブロックをDCT変換した結果を示す。図1
3からわかるように、DC係数および低周波成分のAC
係数の絶対値が大きくなっている。たとえば、DC係数
0 0 は260、AC係数S 0 1 は49、AC係数S
1 0 は−79である。
【0018】(3) 量子化 DCT係数SU V は係数位置ごとに異なる量子化テーブ
ルQU V を用いて次式により線形量子化され、量子化D
CT係数rU V が得られる。
【0019】 rU V =round(SU V /QU V ) …(3) roundは、最も近い整数への整数化を意味する。図
14に、量子化DCT係数rU V 、DCT係数SU V
よび量子化テーブルQU V の関係が示される。
【0020】復号化側では、逆量子化が行なわれる。後
述のハフマン復号化で得られた量子化DCT係数をr
U V とすると、次式により逆量子化を行なう。
【0021】 SU V =rU V ×QU V …(4) 量子化テーブルQU V の値を変化させることにより画質
を制御することができる。量子化テーブルQU V の値を
小さく設定すると、量子化DCT係数rU V の値が大き
くなり、画質のよい画像を符号化することができる。逆
に、量子化テーブルQU V の値を大きく設定すると、量
子化DCT係数rU V の値が小さくなり、符号化情報量
は減少するが、画質は劣化する。
【0022】このように、量子化テーブルQU V の値を
変えることにより、画質および符号化情報量を自由に制
御することができる。
【0023】図15に量子化テーブルの一例を示す。一
般に、人間の視覚はローパスフィルタの特性を持ってい
るといわれており、高周波成分には鈍感である。したが
って、高周波成分に対応するDCT係数には荒い量子化
を行なってもその影響があまり目立たない。そのため、
図15に示すように、量子化テーブルの高周波成分には
大きな値が設定されている。
【0024】図16は、図13に示されるDCT係数に
対して図15に示される量子化テーブルを用いて量子化
を行なった結果を示す。たとえば、S0 0 =260,Q
0 0=16であるので、r0 0 =round(260/
16)=16となる。また、S0 1 =49,Q0 1 =1
1であるので、r0 1 =round(49/11)=4
となる。さらに、S1 0 =−79,Q1 0 =12である
ので、r1 0 =round(49/12)=−7とな
る。
【0025】(4) エントロピー符号化 量子化DCT係数rU V はエントロピー符号化されて圧
縮データが出力される。以下に示すように、DC係数と
AC係数とで符号化方法が異なる。
【0026】(a) DC係数の符号化 図17に、DC係数のハフマン符号化のフロー図を示
す。DC係数のハフマン符号化では、1つ前のブロック
のDC係数Di - 1 と現在のブロックのDC係数Di
の差分の値(DC差分値)ΔDCi を符号化する。上述
したように、DC係数は8×8画素ブロックの画素デー
タの平均値を示している。したがって、コンピュータグ
ラフィック画像のような特殊な画像を除いて、隣接する
ブロックのDCT係数が大きく変化することはあまりな
い。そのため、DC差分値は0の近傍に集中する。DC
差分値を符号化することにより高能率な符号化が期待で
きる。
【0027】DC差分値は、図19に示すテーブルに従
って16のグループに分類される。すなわち、図19の
テーブルに従って、求められたDC差分値がどのグルー
プに属するかを求める。たとえば、DC差分値0のグル
ープ番号SSSSは“0”であり、DC差分値−1,1
のグループ番号SSSSは“1”である。また、DC差
分値−3,−2,2,3のグループ番号SSSSは
“2”であり、DC差分値−7〜−4,4〜7のグルー
プ番号SSSSは“3”である。
【0028】DC差分値は、図20に示すハフマン符号
テーブルを用いてハフマン符号に符号化される。たとえ
ば、グループ番号SSSSが“2”であるDC差分値に
はハフマン符号“011”が割当てられ、グループ番号
SSSSが“3”であるDC差分値にはハフマン符号
“100”が割当てられている。
【0029】たとえば、グループ番号“2”には8個の
DC差分値−7〜−4,4〜7が含まれるので、3ビッ
トの付加ビットにより8個のDC差分値のうち1つが特
定される。付加ビットはDC差分値の小さい方から順に
小さい値が割当てられる。たとえば、グループ番号
“2”の場合には、DC差分値−7に付加ビット“00
0”を割当て、DC差分値−6に付加ビット“001”
を割当て、DC差分値7に“111”を割当てる。
【0030】前のブロックのDC係数が25であり、現
在のブロックのDC係数が16であるとすれば、DC差
分値は−9となる。図19のテーブルより、DC差分値
−9のグループ番号SSSSは“4”である。したがっ
て、図20のハフマン符号テーブルにより、グループ番
号“4”のハフマン符号は“101”となる。DC差分
値−9はグループ番号“4”に属するDC差分値のうち
小さい方から7番目であるため、図20に示すように、
付加ビットは“0110”となる。
【0031】(b) AC係数の符号化 図22に、AC係数のハフマン符号化のフロー図を示
す。AC係数のハフマン符号化では、図23に示すよう
に、AC係数が、まずジグザグスキャンによって一次元
に配列される。この一次元に配列されたAC係数は、以
下に説明するように、連続する“0”の係数(無効係
数)の長さを示すラン長と“0”以外の係数(有効係
数)の値とを用いて符号化される。すなわち、無効係数
のラン長NNNNと有効係数のグループ番号SSSSと
を用いてハフマン符号化される。
【0032】AC係数は、図24に示すテーブルに従っ
てグループ分けされる。図24に示すように、グループ
番号SSSSは有効係数が属するグループを限定するだ
けである。1つのグループに属する有効係数のうちの1
つを特定するために、付加ビットが用いられる。AC係
数のハフマン符号化では、ラン長NNNNとグループ番
号SSSSとの組合せに対してハフマン符号が割当てら
れる。図25に、AC係数のためのハフマン符号テーブ
ルを示す。そのハフマン符号テーブルを用いて、ラン長
/グループ番号がハフマン符号に符号化される。
【0033】ブロック内の最後のAC係数が0のときに
は、最後の有効係数に対応するハフマン符号の直後に
“EOB”(End of Block)を付け、その
ブロックのハフマン符号化を終了する。ただし、ブロッ
ク内の最後のAC係数が0以外のときには、“EOB”
は付けない。また、無効係数のラン長が“15”を越え
る場合には、16の無効係数ごとに無効係数のラン長1
6を表わす“ZRL”を残りのラン長が15以下になる
まで続けて付けた後、残りのラン長をNNNNとしてハ
フマン符号化する。
【0034】たとえば、図16に示されるAC係数のハ
フマン符号化を説明する。まず、最初のAC係数の有効
係数はr0 1 =4である。図24のテーブルより、グル
ープ番号SSSSは“3”となる。また、無効係数のラ
ン長NNNNは0である。したがって、図25のハフマ
ン符号テーブルより、ハフマン符号は“100”とな
る。図26に示すように、有効係数4はグループ番号
“3”に属するAC係数のうち小さい方から5番目であ
るので、付加ビットは“100”となる。よって、有効
係数r0 1 は“100100”と符号化される。
【0035】次の有効係数はr1 0 =−7である。グル
ープ番号SSSSは“3”であり、無効係数のラン長N
NNNは0である。図26に示すように、有効係数−7
はグループ番号“3”に属するAC係数のうち最も小さ
いので、付加ビットは“000”となる。よって、有効
係数r1 0 は“100000”と符号化される。
【0036】ジグザグスキャンによって、次の有効係数
はr1 1 =3である。図24のテーブルよりグループ番
号SSSSは“2”となる。この場合、AC係数r2 0
が0であるので、ラン長NNNNは1となる。したがっ
て、図25のハフマン符号テーブルよりハフマン符号は
“11011”となる。図26に示すように、有効係数
3はグループ番号“2”に属するAC係数のうち最も大
きいので、付加ビットは“11”となる。よって、AC
係数r2 0 ,r1 1 は“1101111”と符号化され
る。
【0037】図27に、上記のハフマン符号例を示す。
図27に示すように、8×8画素ブロックの64個の画
素データを、連続する符号化データ(圧縮データ)に符
号化することができる。
【0038】図28に示すように、各圧縮データは可変
長のハフマン符号および可変長の付加ビットからなる。
ハフマン符号の長さをハフマン符号長と呼び、付加ビッ
トの長さを付加ビット長と呼ぶ。また、ハフマン符号長
と付加ビット長との合計をトータルビット長と呼ぶ。ハ
フマン符号長および付加ビット長は各圧縮データによっ
て異なる。
【0039】(5) 従来のハフマン復号化回路 図29は、従来のハフマン復号化回路の主要部の構成を
示すブロック図である。
【0040】図29において、連続する圧縮データの3
2ビットが、ラッチイネーブル機能を有する32ビット
のレジスタ1に並列に与えられる。レジスタ1の出力デ
ータは、同様にラッチイネーブル機能を有する32ビッ
トのレジスタ2に与えられる。レジスタ2の出力データ
およびレジスタ1の出力データは、64ビットのバレル
シフタ3に並列に与えられる。バレルシフタ3は、与え
られたデータを最大32ビットまでビットシフトする機
能を有する。
【0041】バレルシフタ3に保持されるデータの先頭
の16ビットは、メモリテーブル12に与えられる。メ
モリテーブル12は、与えられた16ビットのデータに
基づいて、トータルビット長データTBL、エンドオブ
ブロック符号EOB、ラン長データRL、付加ビット長
データABLおよびハフマン符号長データHCLを出力
する。
【0042】5ビットの加算器6は、メモリテーブル1
2から与えられるトータルビット長データTBLを累積
加算してバレルシフタ3のシフト量を算出する。加算器
6は、累積加算結果が32以上になるとキャリー信号C
Rを出力する。5ビットのレジスタ7は、加算器6の出
力データをラッチする。デコーダ8は、レジスタ7の出
力データをデコードしてバレルシフタ3のシフト量を制
御する。
【0043】一方、レジスタ9は、メモリテーブル12
から出力されるエンドオブブロック符号EOB、ラン長
データRL、付加ビット長データABLおよびハフマン
符号長データHCLならびにバレルシフタ3に保持され
る先頭の32ビットのデータをラッチする。付加ビット
抽出回路10は、レジスタ9から出力される付加ビット
長データABLおよびハフマン符号長データHCLに基
づいて32ビットのデータから付加ビットABを抽出す
る。
【0044】コントロール回路13は、加算器6からの
キャリー信号CRを受け、レジスタ1,2にラッチイネ
ーブル信号LE1を与え、レジスタ7,9にラッチイネ
ーブル信号LE2を与える。また、コントロール回路1
3は、メモリテーブル12の読出動作を制御する制御信
号CNTを発生する。
【0045】レジスタ1,2,7,9およびコントロー
ル回路13にはクロック信号CKが与えられ、レジスタ
7およびコントロール回路13にはリセット信号RST
が与えられる。
【0046】次に、図29のハフマン復号化回路の動作
を説明する。まず、リセット信号RSTによりコントロ
ール回路13がリセットされ、かつレジスタ7の内容が
0にクリアされる。それにより、デコーダ8から出力さ
れるバレルシフタ3のシフト量が0に設定される。
【0047】まず、DCハフマン符号(DC係数に対応
するハフマン符号)がデコードされる。コントロール回
路13からのイネーブル信号LE1によりレジスタ2に
圧縮データの最初の32ビットがラッチされ、レジスタ
1に圧縮データの次の32ビットがラッチされる。それ
により、バレルシフタ3にレジスタ2から出力される最
初の32ビットの圧縮データおよびレジスタ1から出力
される次の32ビットの圧縮データが与えられる。
【0048】バレルシフタ3内の圧縮データの先頭の1
6ビットが、アドレス信号としてメモリテーブル12に
与えられる。コントロール回路13からの制御信号CN
Tに応答してメモリテーブル12の読出動作が行なわれ
る。それにより、先頭の16ビットのデータに含まれる
DCハフマン符号に対応するハフマン符号長データHC
L、付加ビット長データABLおよびトータルビット長
データTBLが出力される。トータルビット長データT
BLは、加算器6に与えられ、累積加算される。
【0049】次に、コントロール回路13は、レジスタ
7,9にラッチイネーブル信号LE2を与える。レジス
タ7は、ラッチイネーブル信号LE2に応答して加算器
6の累積加算結果をラッチしてデコーダ8に与える。デ
コーダ8は、レジスタ7からの累積加算結果をデコード
してバレルシフタ3にシフト量を示すシフト信号を与え
る。バレルシフタ3は、圧縮データを累積加算結果分ビ
ットシフトする。
【0050】レジスタ9は、ラッチイネーブル信号LE
2に応答して、メモリテーブル12から読出されたハフ
マン符号長データHCLおよび付加ビット長データAB
Lならびにバレルシフタ3から出力される32ビットの
データをラッチして出力する。付加ビット抽出回路10
は、ハフマン符号長データHCLおよび付加ビット長デ
ータABLに基づいて、32ビットのデータから付加ビ
ットABを抽出する。このようにして、DCハフマン符
号のデコードが終了する。
【0051】同様にして、ACハフマン符号(AC係数
に対応するハフマン符号)がデコードされる。ACハフ
マン符号のデコード時には、メモリテーブル12から、
ハフマン符号長データHCL、付加ビット長データAB
L、ラン長データRLおよびトータルビット長データT
BLが出力される。
【0052】その間、加算器6の累積加算結果が32以
上になると、加算器6からキャリー信号CRが出力され
る。コントロール回路13は、キャリー信号CRに応答
して、レジスタ1,レジスタ2にラッチイネーブル信号
LE1を与える。それにより、バレルシフタ3の後半の
32ビットに新たな32ビットの圧縮データが与えられ
る。
【0053】このようにして、メモリテーブル12から
エンドオブブロック符号EOBが読出されるか、または
ブロック完了まで、ACハフマン符号のデコードが続け
られる。
【0054】上記のようにして得られた付加ビットAB
およびラン長データRLに基づいて量子化DCT係数を
得ることができる。
【0055】
【発明が解決しようとする課題】従来のハフマン復号化
回路において、ハフマン符号化の速度は、バレルシフタ
3、加算器6、デコーダ8およびメモリテーブル12を
構成するハードウェアの動作速度により決定される。こ
れらのうち、メモリテーブル12のアクセス時間が、ハ
フマン符号化処理の高速化の妨げとなっている。
【0056】また、メモリテーブル12には、ハフマン
符号の最大符号長に等しい16ビットの圧縮データがア
ドレス信号として与えられる。そのため、メモリテーブ
ル12のアドレス空間は21 6 ワードとなる。このよう
に、メモリテーブル12の容量が非常に大きくなる。
【0057】そこで、最大符号長の前半のビットおよび
後半のビットでメモリテーブルを分割することにより必
要なメモリ容量を減らすことが行なわれている。しか
し、それでも、ハフマン符号の数の約5〜6倍のメモリ
容量が必要となる。このように、依然としてハフマン復
号化回路の回路規模は大きい。
【0058】この発明の目的は、小さい回路規模で高速
にハフマン復号化処理を行なうことができるハフマン復
号化回路およびハフマン復号化方法を提供することであ
る。
【0059】
【課題を解決するための手段】この発明にかかるハフマ
ン復号化回路は、複数のデコード手段および選択手段を
備える。複数のハフマン符号は符号長に基づいて複数の
グループに分類される。複数のデコード手段は、複数の
グループに対応して設けられかつ各々が対応するグルー
プ内のハフマン符号をデコードする。選択手段は、与え
られたハフマン符号の先頭ビットから連続する同一値の
ビット数に基づいて複数のデコード手段の1つを選択し
て活性化する。
【0060】複数のデコード手段は、メモリ素子からな
る第1のデコード手段およびロジック回路からなる第2
のデコード手段を含んでもよい。第1のデコード手段は
長い符号長のハフマン符号を含むグループに割当てら
れ、第2のデコード手段は短い符号長のハフマン符号を
含むグループに割当てられる。
【0061】複数のデコード手段の各々は、付加ビット
長およびトータルビット長を出力する。付加ビット長お
よびトータルビット長からハフマン符号長を算出する演
算手段をさらに含んでもよい。
【0062】この発明に係るハフマン復号化方法は次の
ステップを含む。複数のハフマン符号を符号長に基づい
て複数のグループに分類する。与えられたハフマン符号
をデコードする複数のデコード手段を複数のグループに
それぞれ割当てる。与えられたハフマン符号の先頭ビッ
トから連続する同一値のビット数に基づいて複数のデコ
ード手段の1つを選択して活性化する。
【0063】複数のデコード手段は、メモリ素子からな
る第1のデコード手段およびロジック回路からなる第2
のデコード手段を含んでもよい。第1のデコード手段を
長い符号長のハフマン符号を含むグループに割当て、第
2のデコード手段を短い符号長のハフマン符号を含むグ
ループに割当てる。
【0064】
【作用】この発明に係るハフマン復号化回路およびハフ
マン復号化方法においては、複数のハフマン符号が符号
長に基づいて複数のグループに分類され、複数のグルー
プに複数のデコード手段がそれぞれ割当てられる。それ
により、デコード手段の全体の容量および回路規模が小
さくなる。
【0065】ハフマン符号の性質に着目すると、長い符
号長のハフマン符号では先頭ビットからあるビットまで
同一値が連続し、短い符号長のハフマン符号では先頭ビ
ットからあるビットまでに異なる値が混在する。
【0066】この性質を利用すると、先頭ビットから連
続する同一値のビット数に基づいて、与えられたハフマ
ン符号がどのグループに属するかを判別することがで
き、そのグループに割当てられたデコード手段を選択す
ることができる。
【0067】ハフマン符号化方式においては、出現頻度
の高いデータには短い符号長のハフマン符号が割当てら
れ、出現頻度の低いデータには長い符号長のハフマン符
号が割当てられる。
【0068】一方、ロジック回路により構成されるデコ
ード手段は、動作速度は速いが回路規模が比較的大きく
なる。それに対して、メモリ素子により構成されるデコ
ード手段は、動作速度は速くないが、回路規模は比較的
小さくなる。
【0069】したがって、出現頻度の高い短い符号長の
ハフマン符号を高速動作が可能なロジック回路によりデ
コードし、出現頻度の低い長い符号長のハフマン符号を
回路規模が小さいメモリ素子によりデコードすると、全
体として、高速動作が可能でかつ回路規模が小さい復号
化回路が得られる。
【0070】また、付加ビット長およびトータルビット
長からハフマン符号長を算出する演算手段をさらに設け
れば、各デコード手段が付加ビット長、トータルビット
長およびハフマン符号長を出力する場合に比べて、各デ
コード手段の回路規模が小さくなる。
【0071】
【実施例】以下、この発明の一実施例によるハフマン復
号化回路およびハフマン復号化装置を図面を参照しなが
ら詳細に説明する。
【0072】この実施例のハフマン復号化回路およびハ
フマン復号化方法では、図1に示すようにハフマン符号
がハフマン符号長に基づいて3つのグループG1,G
2,G3に分類される。
【0073】ハフマン符号長が6ビット以下のハフマン
符号はグループG1に割当てられ、ハフマン符号長が7
ビット以上12ビット以下のハフマン符号はグループG
2に割当てられ、ハフマン符号長が13ビット以上16
ビット以下のハフマン符号はグループG3に割当てられ
る。
【0074】ハフマン符号は次のような規則性を有す
る。6ビット以下のハフマン符号では、先頭ビットから
第4ビットまでに少なくとも1つの“0”が存在する。
また、7ビット以上12ビット以下のハフマン符号で
は、先頭ビットから第4ビットまでがすべて“1”であ
りかつ第5ビットから最終ビットまでに少なくとも1つ
の“0”が存在する。さらに、13ビット以上16ビッ
ト以下のハフマン符号では、先頭ビットから第9ビット
までがすべて“1”となっている。
【0075】この規則性を利用することによって、与え
られたハフマン符号がグループG1,G2,G3のいず
れに属するかを判別することができる。
【0076】グループG1に属するハフマン符号は高速
のロジック回路からなるデコード回路によりデコードさ
れ、グループG2,G3に属するハフマン符号はRAM
(ランダムアクセスメモリ)からなるメモリテーブルに
よりデコードされる。
【0077】図2に示すように、デコード回路には、グ
ループG1のハフマン符号を含む圧縮データの先頭ビッ
トから第6ビットまでが入力される。
【0078】グループG2のハフマン符号については先
頭ビットから第4ビットまでがすべて“1”であるの
で、第5ビットから第12ビットまでを用いて1つのハ
フマン符号を特定することができる。そのため、メモリ
テーブルには、グループG2のハフマン符号を含む圧縮
データの第5ビットから第12ビットまでがアドレス信
号として与えられる。
【0079】グループG3のハフマン符号については先
頭ビットから第9ビットまでがすべて“1”であるの
で、第10ビットから第16ビットまでを用いて1つの
ハフマン符号を特定することができる。そのため、メモ
リテーブルには、グループG3のハフマン符号を含む圧
縮データの第10ビットから第16ビットまでがアドレ
ス信号として与えられる。
【0080】上記のようにグループ分けすることによっ
て、デコード回路の回路規模が小さくなり、かつ各メモ
リテーブルに必要なメモリ容量が小さくなる。
【0081】また、出現頻度の高い6ビット以下のハフ
マン符号を高速のロジック回路によりデコードすること
によって、ハフマン復号化回路の全体の処理速度が高速
化する。なお、シミュレーションによれば、6ビット以
下のハフマン符号の出現頻度は約85%である。
【0082】図3は、この実施例によるハフマン復号化
回路の主要部の構成を示すブロック図である。
【0083】図3のハフマン復号化回路が図29のハフ
マン復号化回路と異なるのは、メモリテーブル12の代
わりにデコーダ4およびデコーダブロック5が設けら
れ、コントロール回路13の代わりにコントロール回路
11が設けられている点である。
【0084】図3において、圧縮データの32ビット
は、ラッチイネーブル機能を有する32ビットのレジス
タ1に並列に与えられる。レジスタ1の出力データは、
同様にラッチイネーブル機能を有する32ビットのレジ
スタ2に与えられる。レジスタ2の出力データおよびレ
ジスタ1の出力データは、64ビットのバレルシフタ3
に並列に与えられる。バレルシフタ3は、与えられたデ
ータを最大32ビットまでビットシフトする機能を有す
る。
【0085】バレルシフタ3に保持されるデータの先頭
の16ビットは、デコーダ4およびデコーダブロック5
に与えられる。デコーダ4は、バレルシフタ3から与え
られる16ビットのデータに基づいて、与えられたデー
タが6ビット以下のハフマン符号(グループG1)を含
むか、7ビット以上12ビット以下のハフマン符号(グ
ループG2)を含むかあるいは13ビット以上16ビッ
ト以下のハフマン符号(グループG3)を含むかを検出
し、デコーダ選択信号DS1,DS2,DS3を発生す
る。
【0086】ただし、デコーダ4は、コントロール回路
11から与えられるDC符号選択信号DCSLがアクテ
ィブ状態のときには、デコーダ選択信号DS1,DS
2,DS3を出力しない。
【0087】デコーダブロック5は、デコーダ選択信号
DS1,DS2,DS3に応答して、バレルシフタ3か
ら与えられる16ビットのデータをデコードし、トータ
ルビット長データTBL、エンドオブブロック符号EO
B、ラン長データRL、付加ビット長データABLおよ
びハフマン符号長データHCLを発生する。
【0088】5ビットの加算器6は、デコーダブロック
5から与えられるトータルビット長データTBLを累積
加算してバレルシフタ3のシフト量を算出する。加算器
6は、累積加算結果が32以上になると、キャリー信号
CRを出力する。5ビットのレジスタ7は、加算器6の
出力データをラッチする。デコーダ8は、レジスタ7の
出力データをデコードしてバレルシフタ3のシフト量を
制御する。
【0089】一方、レジスタ9は、デコーダブロック5
から出力されるエンドオブブロック符号EOB、ラン長
データRL、付加ビット長データABLおよびハフマン
符号長データHCLならびにバレルシフタ3から出力さ
れる先頭の32ビットのデータをラッチする。付加ビッ
ト抽出回路10は、レジスタ9から出力される付加ビッ
ト長データABLおよびハフマン符号長データHCLに
基づいて、バレルシフタ3から出力される32ビットの
データから付加ビットABを抽出する。
【0090】コントロール回路11は、デコーダ4によ
り発生されるデコーダ選択信号DS1および加算器6か
ら出力されるキャリー信号CRを受け、レジスタ1,2
にラッチイネーブル信号LE1を与え、レジスタ7,9
にラッチイネーブル信号LE2を与える。
【0091】レジスタ1,2,7,9およびコントロー
ル回路11にはクロック信号CKが与えられ、レジスタ
7およびコントロール回路11にはリセット信号RST
が与えられる。
【0092】図4は、デコーダブロック5の詳細な構成
を示すブロック図である。デコーダブロック5は、デコ
ード回路51、メモリテーブル52、メモリテーブル5
3、デコード回路54、減算器55、3ステートバッフ
ァ56およびゲート回路57を含む。
【0093】デコード回路51,54は高速動作が可能
なロジック回路により構成され、メモリテーブル52,
53はRAMにより構成される。
【0094】デコード回路51には、16ビットの圧縮
データの先頭ビットから第6ビットまでが与えられる。
メモリテーブル52には、16ビット圧縮データの第5
ビットから第12ビットまでが与えられる。メモリテー
ブル53には、16ビットの圧縮データの第10ビット
から第16ビットまでが与えられる。デコード回路54
には、16ビットの圧縮データの先頭ビットから第9ビ
ットまでが与えられる。
【0095】デコード回路51は、デコーダ選択信号D
S1に応答して活性化され、6ビット以下のACハフマ
ン符号をデコードして、ハフマン符号長データHCL、
ラン長データRL、付加ビット長データABL、トータ
ルビット長データTBLおよびエンドオブブロック符号
EOBを出力する。メモリテーブル52は、デコーダ選
択信号DS2に応答して活性化され、7ビット以上12
ビット以下のACハフマン符号をデコードして、ラン長
データRL、付加ビット長データABLおよびトータル
ビット長データTBLを出力する。メモリテープル53
は、デコーダ選択信号DS3に応答して活性化され、1
3ビット以上16ビット以下のACハフマン符号をデコ
ードして、ラン長データRL、付加ビット長データAB
Lおよびトータルビット長データTBLを出力する。
【0096】デコード回路54は、DC符号選択信号D
CSLに応答して活性化され、DCハフマン符号をデコ
ードして、ハフマン符号長データHCL、付加ビット長
データABLおよびトータルビット長データTBLを出
力する。
【0097】減算器55は、メモリテーブル52,53
から出力されるトータルビット長データTBLから付加
ビット長データABLを減算し、ハフマン符号長データ
HCLを出力する。減算器55から出力されるハフマン
符号長データHCLは3ステートバッファ56に与えら
れる。一方、ゲート回路57の一方の入力端子にはデコ
ーダ選択信号DS2が与えられ、他方の入力端子にはデ
コーダ選択信号DS3が与えられる。3ステートバッフ
ァ56はゲート回路57の出力信号により制御される。
【0098】デコーダ選択信号DS2,DS3のいずれ
かがアクティブ状態になると、3ステートバッファ56
は同通状態となり、デコーダ選択信号DS2,DS3の
両方が非アクティブ状態になると、3ステートバッファ
56は高インピーダンス状態になる。
【0099】次に、図3および図4に示されるハフマン
復号化回路の動作を説明する。まず、リセット信号RS
Tによりコントロール回路11がリセットされ、かつレ
ジスタ7の内容が0にクリアされる。それにより、デコ
ーダ8から出力されるバレルシフタ3のシフト量が0に
設定される。
【0100】まず、DCハフマン符号がデコードされ
る。コントロール回路11は、DC符号選択信号CDS
Lをアクティブ状態にする。このとき、デコーダ4から
発生されるデコーダ選択信号DS1,DS2,DS3は
すべて非アクティブ状態となっている。それにより、デ
コーダブロック5内のデコード回路54が活性状態にな
り、デコード回路51およびメモリテーブル52,53
が非活性状態になる。
【0101】次に、コントロール回路11からのラッチ
イネーブル信号LE1によりレジスタ2に圧縮データの
最初の32ビットがラッチされ、レジスタ1に圧縮デー
タの次の32ビットがラッチされる。それにより、バレ
ルシフタ3に、レジスタ2から出力される最初の32ビ
ットの圧縮データおよびレジスタ1から出力される次の
32ビットの圧縮データが与えられる。
【0102】バレルシフタ32内の圧縮データの先頭の
16ビットはデコーダ4およびデコーダブロック5に与
えられる。デコーダブロック5内のデコード回路51に
より16ビットの圧縮データに含まれるDCハフマン符
号がデコードされ、ハフマン符号長データHCL、付加
ビット長データABLおよびトータルビット長データT
BLが出力される。トータルビット長データTBLは加
算器6に与えられ、累積加算される。
【0103】コントロール回路11は、デコーダ4から
出力されるデコード終了信号(図示せず)に応答してラ
ッチイネーブル信号LE1,LE2のタイミングを制御
する。コントロール回路11は、デコーダ4からデコー
ド終了信号を受けると、直ちにレジスタ7,9にラッチ
イネーブル信号LE2を与える。
【0104】レジスタ7は、ラッチイネーブル信号LE
2に応答して、加算器6の累積加算結果をラッチしてデ
コーダ8に与える。デコーダ8は、レジスタ7からの累
積加算結果をデコードして、バレルシフタ3にシフト量
を示すシフト信号を与える。バレルシフタ3は、圧縮デ
ータを累積加算結果分ビットシフトする。
【0105】レジスタ9は、ラッチイネーブル信号LE
2に応答して、デコーダブロック5から出力されるハフ
マン符号長データHCLおよび付加ビット長データAB
Lならびにバレルシフタ3から出力される32ビットの
圧縮データをラッチして出力する。付加ビット抽出回路
10は、レジスタ9から与えられるハフマン符号長デー
タHCLおよび付加ビット長データABLに基づいて、
32ビットの圧縮データから付加ビットABを抽出して
出力する。
【0106】DCハフマン符号のデコードが終了する
と、コントロール回路11は、DC符号選択信号DCS
Lを非アクティブ状態にする。それにより、デコーダ4
は、バレルシフタ3から与えられる16ビットの圧縮デ
ータに基づいて、デコーダ選択信号DS1,DS2,D
S3の1つをアクティブ状態にする。
【0107】デコーダ選択信号DS1がアクティブ状態
になると、デコーダブロック5内のデコード回路51に
より圧縮データに含まれるACハフマン符号がデコード
され、ハフマン符号長データHCL、ラン長データR
L、付加ビット長データABLおよびトータルビット長
データTBLが出力される。
【0108】デコーダ選択信号DS2がアクティブ状態
になると、デコーダブロック5内のメモリテーブル52
から、圧縮データに含まれるACハフマン符号に対応す
るラン長データRL、付加ビット長データABLおよび
トータルビット長データTBLが読出される。
【0109】デコーダ選択信号DS3がアクティブ状態
になると、デコーダブロック5内のメモリテーブル53
から、圧縮データに含まれるACハフマン符号に対応す
るラン長データRL、付加ビット長データABLおよび
トータルビット長データTBLが読出される。
【0110】デコーダ選択信号DS2,DS3がアクテ
ィブ状態のときには、コントロール回路11から減算器
55に与えられるイネーブル信号SEがアクティブ状態
になり、減算器55が活性化される。減算器55は、ト
ータルビット長データTBLから付加ビット長データA
BLを減算し、ハフマン符号長データHCLを3ステー
トバッファ56に与える。このとき、ゲート回路57の
出力信号はアクティブ状態となっているので、3ステー
トバッファ56は同通状態となる。したがって、ハフマ
ン符号長データHCLが3ステートバッファ56から出
力される。減算器55の演算は加算器6の演算と並列に
行なわれるので、減算器55の演算により処理時間が増
大することはない。このように減算器55を用いてハフ
マン符号長データHCLを算出することによりメモリテ
ーブル52,53のメモリ容量を削減することが可能と
なる。
【0111】コントロール回路11は、デコーダ4から
デコード終了信号を受けると、レジスタ7,9にラッチ
イネーブル信号LE2を与える。レジスタ7は、ラッチ
イネーブル信号LE2に応答して、加算器6の累積加算
結果をラッチしてデコーダ8に与える。デコーダ8は、
レジスタ7から与えられる累積加算結果をデコードし
て、バレルシフタ3にシフト量を示すシフト信号を与え
る。バレルシフタ3は、圧縮データを累積加算結果分ビ
ットシフトする。
【0112】レジスタ9は、ラッチイネーブル信号LE
2に応答して、デコーダブロック5から出力されるハフ
マン符号長データHCL、付加ビット長データABLお
よびラン長データRLならびにバレルシフタ3から出力
される32ビットの圧縮データをラッチして出力する。
付加ビット抽出回路10は、レジスタ9から出力される
ハフマン符号長データHCLおよび付加ビット長データ
ABLに基づいて、32ビットの圧縮データから付加ビ
ット長ABを抽出して出力する。
【0113】その間、加算器6の累積加算結果が32以
上になると、加算器6からキャリー信号CRが出力され
る。コントロール回路11は、キャリー信号CRに応答
して、レジスタ1にラッチイネーブル信号LE1を与え
る。これにより、バレルシフタ3の後半の32ビットに
新たな32ビットの圧縮データが与えられる。
【0114】このようにして、デコーダブロック5内の
デコード回路51からエンドオブブロック符号EOBが
出力されるまで、ACハフマン符号のデコードが続けら
れる。
【0115】図5は、デコーダ4の構成を示す回路図で
ある。デコーダ4は、4入力ANDゲート41、6入力
NANDゲート42および2入力NANDゲート43を
含む。
【0116】ANDゲート41の4つの入力端子には、
16ビットの圧縮データの先頭ビットから第4ビットま
でが与えられる。ANDゲート41の出力端子からデコ
ーダ選択信号DS1が出力される。NANDゲート42
の1つの入力端子にはANDゲート41の出力信号が与
えられ、残りの5つの入力端子には16ビットの圧縮デ
ータの第5ビットから第9ビットまでが与えられる。N
ANDゲート42の出力端子からデコーダ選択信号DS
3が出力される。NANDゲート43の一方の入力端子
にはNANDゲート42の出力信号が与えられ、他方の
入力端子にはANDゲート41の出力信号が与えられ
る。NANDゲート43の出力端子からデコーダ選択信
号DS2が出力される。
【0117】16ビットの圧縮データの先頭ビットから
第4ビットまでの少なくとも1つが“0”であれば、A
NDゲート41から出力されるデコーダ選択信号DS1
がローレベル(アクティブ状態)となる。このとき、N
ANDゲート42から出力されるデコーダ選択信号DS
3およびNANDゲート43から出力されるデコーダ選
択信号DS2はハイレベル(非アクティブ状態)とな
る。
【0118】16ビットの圧縮データの先頭ビットから
第4ビットまでがすべて“1”であれば、ANDゲート
41から出力されるデコーダ選択信号DS1はハイレベ
ルとなる。このとき、16ビットの圧縮データの第5ビ
ットから第9ビットまでの少なくとも1つが“0”であ
れば、NANDゲート42から出力されるデコーダ選択
信号DS3がハイレベルとなり、NANDゲート43か
ら出力されるデコーダ選択信号DS2がローレベル(ア
クティブ状態)となる。
【0119】16ビットの圧縮データの先頭ビットから
第9ビットまでがすべて“1”であれば、ANDゲート
41から出力されるデコーダ選択信号DS1がハイレベ
ルとなり、NANDゲート42から出力されるデコーダ
選択信号DS3がローレベル(アクティブ状態)とな
る。このとき、NANDゲート43から出力されるデコ
ーダ選択信号DS2をハイレベルとなる。
【0120】図6は、デコーダ回路51の構成を示すブ
ロック図である。デコーダ回路51は、組合せ回路51
1、および6ビット以下のハフマン符号の数と同じ数の
19ビットのレジスタ512を含む。
【0121】組合せ回路511には、16ビットの圧縮
データの先頭ビットから第6ビットまでが与えられる。
各レジスタ512には、ACハフマン符号に対応するハ
フマン符号長データHCL、ラン長データRL、付加ビ
ット長データABLおよびトータルビット長データTB
Lが予め記憶される。また、エンドオブブロック符号E
OBが、該当するレジスタ512に予め記憶される。
【0122】組合せ回路511に与えられるデータに従
って、複数のレジスタ512の1つが選択され、選択さ
れたレジスタ512からハフマン符号長データHCL、
ラン長データRL、付加ビット長データABLおよびト
ータルビット長データTBLが出力される。選択された
レジスタ512にエンドオブブロック符号EOBが記憶
されている場合には、エンドオブブロック符号EOBも
出力される。
【0123】図7は、メモリテーブル52の構成を示す
ブロック図である。メモリテーブル52はスタティック
RAM521からなる。
【0124】スタティックRAM521のアドレス線5
22には、16ビットの圧縮データの第5ビットから第
12ビットまでがアドレス信号として与えられる。
【0125】スタティックRAM521のアドレス信号
は8ビットであるので、スタティックRAM521のア
ドレス空間は28 ワードとなる。スタティックRAM5
21の各アドレスには、ハフマンAC符号に対応するラ
ン長データRL、付加ビット長データABLおよびトー
タルビット長データTBLが予め記憶される。
【0126】スタティックRAM521のアドレス線5
22に与えられるデータに従って、データ線523を介
してラン長データRL、付加ビット長データABLおよ
びトータルビット長データTBLが読出される。
【0127】図8は、メモリテーブル53の構成を示す
ブロック図である。メモリテーブル53はスタティック
RAM531からなる。
【0128】スタティックRAM531のアドレス線5
32には、16ビットの圧縮データの第10ビットから
第16ビットまでがアドレス信号として与えられる。
【0129】スタティックRAM531に与えられるア
ドレス信号は7ビットであるので、スタティックRAM
531のアドレス空間は27 ワードとなる。スタティッ
クRAM531の各アドレスには、ACハフマン符号に
対応するラン長データRL、付加ビット長データABL
およびトータルビット長データTBLが予め記憶され
る。
【0130】スタティックRAM531のアドレス線5
32に与えられるデータに従って、データ線533を介
してラン長データRL、付加ビット長データABLおよ
びトータルビット長データTBLが読出される。
【0131】図9は、デコード回路54の構成を示すブ
ロック図である。デコード回路54は、組合せ回路54
1、およびDCハフマン符号の数と等しい数の14ビッ
トのレジスタ542を含む。
【0132】組合せ回路541には、16ビットの圧縮
データの先頭ビットから第9ビットまでが与えられる。
各レジスタ542には、DCハフマン符号に対応するハ
フマン符号長データHCL、付加ビット長データABL
およびトータルビット長データTBLが予め記憶され
る。
【0133】組合せ回路541に与えられるデータに従
って、複数のレジスタ542の1つが選択され、選択さ
れたレジスタ542からハフマン符号長データHCL、
付加ビット長データABLおよびトータルビット長デー
タTBLが出力される。
【0134】図6に示されるデコード回路51および図
9に示されるデコード回路54の動作速度は、図7に示
されるメモリテーブル52および図8に示されるメモリ
テーブル53の動作速度よりも1桁速い。上記実施例の
ように、デコードブロック5を構成することによって、
ハフマン復号化回路の処理速度が高速になり、かつ回路
規模が小さくなる。
【0135】
【発明の効果】以上のようにこの発明によれば、複数の
ハフマン符号を符号長に基づいて複数のグループに分類
し、複数のグループに複数のデコード手段をそれぞれ割
当てることにより、デコード手段の全体の容量および回
路規模が小さくなる。
【0136】また、出現頻度の高い短い符号長のハフマ
ン符号を高速動作が可能なロジック回路によりデコード
し、かつ出現頻度の低い長い符号長のハフマン符号を回
路規模が小さいメモリ素子によりデコードすることによ
り、全体として、高速動作が可能でかつ回路規模が小さ
いハフマン復号化回路が得られる。
【0137】さらに、付加ビット長およびトータルビッ
ト長からハフマン符号長を算出する演算手段をさらに設
けることによって、各デコード手段の回路規模をさらに
縮小することが可能となる。
【図面の簡単な説明】
【図1】この発明の実施例のハフマン復号化回路および
ハフマン復号化方法におけるハフマン符号のグループ化
を示す図である。
【図2】各グループに属するハフマン符号のデコードの
際にデコード回路またはメモリテーブルに与えられるビ
ットを示す図である。
【図3】この発明の実施例のハフマン複合化回路の主要
部の構成を示すブロック図である。
【図4】図3のハフマン複合化回路に含まれるデコーダ
ブロックの詳細な構成を示すブロック図である。
【図5】図3のハフマン複合化回路に含まれるデコーダ
の詳細な構成を示す回路図である。
【図6】図4のデコーダブロックに含まれるデコード回
路の構成を示すブロック図である。
【図7】図4のデコーダブロックに含まれるメモリテー
ブルの構成を示すブロック図である。
【図8】図4のデコーダブロックに含まれるメモリテー
ブルの構成を示すブロック図である。
【図9】図4のデコーダブロックに含まれるデコード回
路の構成を示すブロック図である。
【図10】DCT方式の画像データ圧縮システムの基本
構成を示すブロック図である。
【図11】画像データのブロック化を示す図である。
【図12】8×8画素ブロックおよびDCT変換された
ブロックを示す図である。
【図13】8×8画素ブロックおよびDCT係数の一例
を示す図である。
【図14】DCT係数、量子化DCT係数および量子化
テーブルの関係を示す図である。
【図15】量子化テーブルの一例を示す図である。
【図16】量子化DCT係数の一例を示す図である。
【図17】DC係数のハフマン符号化を示すフロー図で
ある。
【図18】DC差分値を説明するための図である。
【図19】DC差分値のグループ化を示す図である。
【図20】DC差分値のためのハフマン符号テーブルを
示す図である。
【図21】DC差分値のための付加ビットを示す図であ
る。
【図22】AC係数のハフマン符号化を示すフロー図で
ある。
【図23】ジグザグスキャンを説明するための図であ
る。
【図24】AC係数のグループ化を示す図である。
【図25】AC係数のためのハフマン符号テーブルを示
す図である。
【図26】AC係数のための付加ビットを示す図であ
る。
【図27】ハフマン符号化の一例を示す図である。
【図28】圧縮データの構造を示す図である。
【図29】従来のハフマン複合化回路の主要部の構成を
示すブロック図である。
【符号の説明】
1,2 レジスタ 3 バレルシフタ 4 デコーダ 5 デコーダブロック 6 加算器 7 レジスタ 8 デコーダ 9 レジスタ 10 付加ビット抽出回路 11 コントロール回路 51,54 デコード回路 52,53 メモリテーブル 55 減算器 56 3ステートバッファ 57 ゲート回路 DS1,DS2,DS3 デコーダ選択信号 DCSL DC符号選択信号 LE1,LE2 ラッチイネーブル信号 HCL ハフマン符号長データ ABL 付加ビット長データ RL ラン長データ EOB エンドオブブロック符号 AB 付加ビット なお、各図中同一符号は同一または相当部分を示す。

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 符号長に基づいて複数のグループに分類
    されるハフマン符号を復号するためのハフマン復号化回
    路であって、 符号長の長いグループに割当てられ、その割当てられた
    グループに属するハフマン符号をデコードする第1のデ
    コード手段と、 符号長の短いグループに割当てられ、その割当てられた
    グループに属するハフマン符号を前記第1のデコード手
    段よりも高速でデコードする第2の デコード手段と、 与えられたハフマン符号の先頭から数ビットに基づいて
    ハフマン符号が前記グループのいずれに属するかを判別
    し、前記第1および第2のデコード手段のうちその判別
    したグループに割当てられたデコード手段を選択して活
    性化する選択手段とを備えた、ハフマン復号化回路。
  2. 【請求項2】 前記第1のデコード手段はメモリ素子か
    らなり、前記第2のデコード手段はロジック回路からな
    る、請求項1記載のハフマン復号化回路。
  3. 【請求項3】 前記第1および第2のデコード手段の各
    々は、付加ビット長およびトータルビット長を含む復号
    化情報を出力し、 前記付加ビット長および前記トータルビット長からハフ
    マン符号長を算出する演算手段をさらに含む、請求項1
    記載のハフマン復号化回路。
  4. 【請求項4】 符号長に基づいて複数のグループに分類
    されるハフマン符号を復号するためのハフマン復号化方
    法であって、 与えられたハフマン符号の先頭から数ビットに基づいて
    ハフマン符号が前記グループのいずれに属するかを判別
    し、 ハフマン符号が符号長の長いグループに属すると判別し
    た場合、そのグループに割当てられた第1のデコード手
    段を選択し、その選択した第1のデコード手段によりそ
    のハフマン符号をデコードし、 ハフマン符号が符号長の短いグループに属すると判別し
    た場合、そのグループに割当てられた第2のデコード手
    段を選択し、その選択した第2のデコード手段によりそ
    のハフマン符号を前記第1のデコード手段よりも高速で
    デコードする、 ハフマン復号化方法。
  5. 【請求項5】 前記第1のデコード手段はメモリ素子か
    らなり、前記第2のデコード手段はロジック回路からな
    る、請求項4記載のハフマン復号化方法。
JP28486292A 1992-10-23 1992-10-23 ハフマン復号化回路およびハフマン復号化方法 Expired - Lifetime JP3076461B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28486292A JP3076461B2 (ja) 1992-10-23 1992-10-23 ハフマン復号化回路およびハフマン復号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28486292A JP3076461B2 (ja) 1992-10-23 1992-10-23 ハフマン復号化回路およびハフマン復号化方法

Publications (2)

Publication Number Publication Date
JPH06139346A JPH06139346A (ja) 1994-05-20
JP3076461B2 true JP3076461B2 (ja) 2000-08-14

Family

ID=17683995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28486292A Expired - Lifetime JP3076461B2 (ja) 1992-10-23 1992-10-23 ハフマン復号化回路およびハフマン復号化方法

Country Status (1)

Country Link
JP (1) JP3076461B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961474B1 (en) 1998-02-27 2005-11-01 Shikino High-Tech Co., Ltd. Huffman encoder for encoding/decoding DCT coefficients
JP4526209B2 (ja) * 2001-05-15 2010-08-18 パナソニック株式会社 可変長符号伸長方法および装置並びに可変長符号圧縮伸長方法および装置
JP2007158698A (ja) * 2005-12-05 2007-06-21 Matsushita Electric Ind Co Ltd 画像復号装置及び画像復号方法

Also Published As

Publication number Publication date
JPH06139346A (ja) 1994-05-20

Similar Documents

Publication Publication Date Title
Shahbahrami et al. Evaluation of Huffman and arithmetic algorithms for multimedia compression standards
US6219457B1 (en) Method and system for decoding data encoded in a variable length code word
US7764842B2 (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, and image decoding program
KR101818102B1 (ko) 인코딩된 비디오 데이터의 변환 유닛의 서브세트를 인코딩 및 디코딩하는 방법, 장치 및 시스템
KR102466326B1 (ko) 변환 계수 코딩
KR100813877B1 (ko) 효율적인 h.264/avc cavlc 디코딩 방법
Moon et al. An efficient decoding of CAVLC in H. 264/AVC video coding standard
US7953285B2 (en) Method and circuit of high performance variable length coding and decoding for image compression
JPH099261A (ja) 信号圧縮装置
Hu et al. A new lossless compression scheme based on Huffman coding scheme for image compression
JP4181887B2 (ja) 可変長符号化装置、及びその方法
KR0148151B1 (ko) 개선된 차분동부호테이블을 이용한 차분동벡터값의 가변장부호화방법 및 그 장치
Amer et al. Towards MPEG-4 part 10 system on chip: a VLSI prototype for context-based adaptive variable length coding (CAVLC)
JP2009021775A (ja) 符号化装置及び符号化方法
JP3076461B2 (ja) ハフマン復号化回路およびハフマン復号化方法
JP2001217721A (ja) ハフマン符号化装置、ハフマン符号化方法およびハフマン符号化処理プログラムを記録した記録媒体
Lee et al. A design of high-performance pipelined architecture for H. 264/AVC CAVLC decoder and low-power implementation
JP2003174365A (ja) 復号化装置及びその方法
Hmida et al. A high performance architecture design of cavlc coding suitable for real-time applications
JP3049265B2 (ja) 画像データ符号化回路
Larrauri A new Algorithm for Lossless Compression applied to two-dimensional Static Images
JP4447903B2 (ja) 信号処理装置、信号処理方法、記録媒体及びプログラム
JP2003333339A (ja) 画像符号化装置及び画像符号化方法
JP2008141382A (ja) 符号化装置および方法、並びにプログラム
JPH04274674A (ja) データ変換装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19991109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000530

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080609

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090609

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100609

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100609

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110609

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120609

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130609

Year of fee payment: 13

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130609

Year of fee payment: 13

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130609

Year of fee payment: 13