JP2000261324A - ハフマン復号化回路 - Google Patents

ハフマン復号化回路

Info

Publication number
JP2000261324A
JP2000261324A JP11062750A JP6275099A JP2000261324A JP 2000261324 A JP2000261324 A JP 2000261324A JP 11062750 A JP11062750 A JP 11062750A JP 6275099 A JP6275099 A JP 6275099A JP 2000261324 A JP2000261324 A JP 2000261324A
Authority
JP
Japan
Prior art keywords
code
data
huffman
standard
bit
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.)
Withdrawn
Application number
JP11062750A
Other languages
English (en)
Inventor
Masanari Asano
眞成 浅野
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 Holdings Corp
Fujifilm Microdevices Co Ltd
Original Assignee
Fujifilm Microdevices Co Ltd
Fuji Photo Film 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
Application filed by Fujifilm Microdevices Co Ltd, Fuji Photo Film Co Ltd filed Critical Fujifilm Microdevices Co Ltd
Priority to JP11062750A priority Critical patent/JP2000261324A/ja
Publication of JP2000261324A publication Critical patent/JP2000261324A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 標準ハフマンテーブルと非標準ハフマンテー
ブルのいずれを使用した符号データでも復号化すること
ができるハフマン復号化回路を提供することを課題とす
る。 【解決手段】 復号化対象の符号が標準のハフマンテー
ブル又は非標準のハフマンテーブルのいずれを使用して
符号化されたものかの判定を行う判定手段(1)と、標
準のハフマンテーブルを使用して符号化されたものであ
ると判定された場合には、標準のハフマンテーブルを使
用して復号化する標準復号化回路(2)と、非標準のハ
フマンテーブルを使用して符号化されたものであると判
定された場合には、非標準のハフマンテーブルを使用し
て復号化コンピュータプログラムに従って復号化するソ
フトウエア処理手段(3)とを有するハフマン復号化回
路。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ハフマン符号を復
号化するためのハフマン復号化回路に関する。
【0002】
【従来の技術】図8は、ハフマン符号の例を示す図表で
ある。
【0003】復号データは、例えば0,1,2,3,
4,・・・である。それに対応して、符号データは、0
0,01,10,110,1110,・・・である。符
号データは、データ長が2ビット、3ビット、4ビット
等と種々の長さであり、固定されていない。ただし、n
ビットの符号データの上位ビットは、(n−1)ビット
長以下の符号データとは異なるように設定されている。
【0004】符号データは、入力データ(復号データ)
を符号化することにより生成されるデータであり、例え
ば2進数で表現される。復号データは、符号データを復
号化することにより生成されるデータであり、例えば1
0進数で表現される。
【0005】ハフマン符号とは、出現頻度の高い入力デ
ータに対しては、短いデータ長の符号データを割り当
て、出現頻度の低い入力データに対しては、長いデータ
長の符号データを割り当てるものである。これにより、
使用する平均的なデータ長を短くすることができ、符号
データ全体のデータ量を少なくすることができる。
【0006】図9は、従来技術によるハフマン復号化回
路の構成を示すブロック図である。
【0007】符号データ比較処理部31は、外部から符
号データ列IN1を受け、先頭から最短コード長だけ取
り出す。最短コード長とは、符号データの中で最も短い
ビット長であり、図8の場合では2である。符号データ
比較処理部31は、最短コード長である2を基に、コー
ド長2の最小値min(2)と最大値max(2)をハ
フマンmin/maxポインタテーブル33から表引き
する。上記のかっこ内の数値は、コード長を示す。
【0008】最小値min(2)は、コード長が2であ
る中の最小値であり、図8の例では00(0)である。
最大値max(2)は、コード長が2である中の最大値
であり、図8の例では10(2)である。
【0009】符号データ比較処理部31は、外部から入
力される符号データIN1のビット列のうち、先頭2ビ
ットデータcode(2)が、最小値min(2)と最
大値max(2)の間にあるか否かを比較する。最小値
min(2)と最大値max(2)の間にあれば、00
(0),01(1),10(2)のいずれかである。符
号データ比較処理部31は、外部から入力された符号デ
ータIN1の先頭2ビットデータcode(2)から最
小値min(2)を引いた値PT=code(2)−m
in(2)とコード長L=2をハフマン復号テーブル3
2に出力する。
【0010】例えば、code(2)=00であれば、
ポインタPT=code(2)−min(2)=00と
なり、code(2)=01であれば、ポインタPT=
01となり、code(2)=10であれば、ポインタ
PT=10となる。
【0011】ハフマン復号テーブル32は、ポインタP
Tとコード長Lを受けて、対応する復号データOUT1
を出力する。例えば、ポインタPT=00,コード長L
=2を受ければ、復号データOUT1=0を出力する。
【0012】一方、符号データ比較処理部31におい
て、先頭2ビットデータcode(2)が最小値min
(2)と最大値max(2)の間に入らないと判断され
たときには、外部から新たに1ビットの符号データIN
1を取り込む。そして、先頭3ビットデータcode
(3)が3ビットの最小値min(3)と最大値max
(3)の間に入るか否かを比較する。最小値min
(3)と最大値max(3)は、ハフマンmin/ma
xポインタテーブル33から表引きされる。図8の場合
は、最小値min(3)が110であり、最大値max
(3)も110である。
【0013】符号データcode(3)が最小値min
(3)=110と最大値max(3)=110の間に入
る場合、図8の例では、符号データcode(3)=1
10であるので、符号データ比較処理部31からポイン
タPT=0,コード長L=3が出力される。
【0014】ポインタPTは、code(3)−min
(3)で表されるので、図8の場合には、1ビットあれ
ば十分である。それに対し、符号データcode(3)
は、3ビット必要であるので、符号データcode
(3)を直接ハフマン復号テーブル32に供給するより
も、ポインタPTを供給する方が情報量が少なくてす
む。この傾向は、ビット長が長い符号データほど、効果
が大きい。
【0015】ハフマン復号テーブル32は、ポインタP
Tとコード長Lを受けて、復号データOUT1を出力す
る。最小値min(3)と最大値max(3)の間に入
らなければ、コード長Lを1増やして4ビットについて
の符号データcode(4)の比較を繰り返す。
【0016】コード符号データcode(i)が最小値
min(i)と最大値max(i)の間に入らないとき
には、同様な処理を繰り返す。符号データの最大コード
長が例えば16であるとすると、コード長L=2〜16
の範囲内で比較が行われる。最短の処理では、1回の処
理(L=2)で終了し、最長の処理では、15回の処理
(L=2〜16)で終了する。
【0017】
【発明が解決しようとする課題】従来のハフマン復号化
回路は、符号データのコード長により、復号データが生
成されるまでの時間が異なる。符号データのコード長が
短いほど、復号データは速く生成され、符号データのコ
ード長が長いほど、復号データは遅く生成される。
【0018】一般にJPEG(joint photo
graphic expert group)方式等の
圧縮データを伸張するシステムでは、ハフマン復号化、
逆量子化、逆DCT(逆離散コサイン変換)の各処理を
行う。この内、逆量子化と逆DCT処理は、高速化のた
めにハードウエア化することは比較的容易である。しか
し、ハフマン復号化処理は、復号化しようとするデータ
が標準ハフマンテーブルで符号化されているものか、あ
るいは非標準ハフマンテーブルで符号化されているもの
かにより、復号化に使用するハフマンテーブルが変わっ
てくる。
【0019】一般に、インターネットやデジタルスチル
カメラ等で使用される圧縮データを含め、現在の情報メ
ディア媒体のハフマン符号化方式のほぼ9割は標準ハフ
マンテーブルを使用して処理されている。残りの1割程
度の符号データだけが非標準のハフマンテーブルを使用
している。
【0020】しかし、データの再生装置側としては標準
と非標準のいずれのハフマンテーブルで符号化されてい
ても対応できるようにしておくことがユーザの利便性か
ら望まれる。いずれのテーブルの符号データであっても
復号化できるようにするには、構成が複雑になり、ハフ
マン符号化回路が大型化し、しかも処理時間が長くかか
る。例えば、JPEG方式では約1.6Kバイトのメモ
リが必要である。頻度の少ない非標準ハフマンテーブル
による圧縮データの復号化にも対応するために、装置の
ハードウエア量を相当量増加させることはコストパフォ
ーマンスの点から好ましくない。
【0021】本発明の目的は、ハードウエア量をそれほ
ど増加することなく、標準ハフマンテーブルと非標準ハ
フマンテーブルのいずれを使用した符号データでも復号
化することができるハフマン復号化回路を提供すること
である。
【0022】
【課題を解決するための手段】本発明の一観点によれ
ば、外部から供給される異なるビット長の符号を復号化
するハフマン復号化回路であって、外部から供給される
ハフマンテーブル情報に基づき、復号化対象の符号が標
準のハフマンテーブルを使用して符号化されたものか、
あるいは非標準のハフマンテーブルを使用して符号化さ
れたものかの判定を行う判定手段と、前記判定手段によ
り前記符号が標準のハフマンテーブルを使用して符号化
されたものであると判定された場合には、前記標準のハ
フマンテーブルを使用して外部から供給される符号を復
号化する標準復号化回路と、前記判定手段により前記符
号が非標準のハフマンテーブルを使用して符号化された
ものであると判定された場合には、前記非標準のハフマ
ンテーブルを使用して復号化コンピュータプログラムに
従って外部から供給される符号を復号化するソフトウエ
ア処理手段とを有するハフマン復号化回路が提供され
る。
【0023】入力される符号が標準のハフマンテーブル
を使用して符号化されたものである場合に、標準復号化
回路で復号化したデータを出力し、非標準のハフマンテ
ーブルを使用して符号化されたものである場合に、ソフ
トウエア処理手段で復号化する。
【0024】
【発明の実施の形態】図1は、本発明の実施例によるハ
フマン復号化回路を使用した画像データ伸張装置の構成
を示すブロック図である。ヘッダ解析部1、標準ハフマ
ン復号化回路2、ソフトウエア復号化処理部3、及びデ
ータ切り替え部4がハフマン復号化回路を構成する。ハ
フマン復号化回路にはハードウエアで構成された逆量子
化回路5と逆DCT回路6が接続される。
【0025】ヘッダ解析部1には、圧縮データが入力さ
れる。圧縮データは、例えばJPEG規格の圧縮データ
である。圧縮データのフォーマットは図2に示すような
形式である。圧縮データは、ヘッダHD及びJPEG圧
縮データ8を含む。ヘッダHDは、ハフマンテーブル7
を含む。ハフマンテーブル7は、ハフマンテーブルその
ものであり、その大きさは例えば120バイトである。
【0026】ヘッダ解析部1は、ヘッダHDにあるハフ
マンテーブル7を読み出して、自らが持つ標準ハフマン
テーブルと比較し、同じかどうか判定する。同じであれ
ば、JPEG圧縮データ8が標準ハフマンテーブルを使
用して符号化されていることを意味し、同じでなければ
JPEG圧縮データ8が非標準のハフマンテーブルを使
用して符号化されていることを意味する。
【0027】上記の両者のハフマンテーブル内の全ての
データについて比較することが好ましいが、比較処理の
高速化のため、ハフマンテーブル内の一部のデータ(サ
ンプルデータ)のみを比較して、上記の判定を行っても
よい。また、ヘッダHD内に、使用するハフマンテーブ
ルの識別子が含まれている場合には、その識別子を基
に、使用するハフマンテーブルが標準のハフマンテーブ
ルか否かを判定してもよい。
【0028】入力された圧縮データが標準ハフマンテー
ブルで符号化されたものであると判定されると、圧縮デ
ータは標準ハフマン復号化回路2に送られて、そこで復
号化が行われる。標準ハフマン復号化回路2は、内部に
標準ハフマンテーブルを有し、ハードウエア処理により
復号化を行う高速の復号化回路である。標準ハフマンテ
ーブル復号化回路2の詳細は、後で図3を参照して説明
する。
【0029】ヘッダ解析部1は切り替え装置4を制御し
て標準ハフマン復号化回路2の出力を逆量子化回路5に
入力させる。
【0030】他方、入力された圧縮データが標準ハフマ
ンテーブルによるものでないと判定されると、圧縮デー
タはソフトウエア復号化処理部3で復号化処理が行われ
る。ソフトウエア復号化処理部3は、マイクロプロセッ
サ(MPU)3aとメモリ3bを用いたソフトウエア処
理の実行部であり、圧縮データのヘッダHDに記録され
た非標準のハフマンテーブル7そのものを使用してメモ
リに格納された復号化コンピュータプログラムに従って
復号化を行う。
【0031】ソフトウエア復号化処理部3は、ヘッダH
D内のハフマンテーブルを使用するので、内部にハフマ
ンテーブルを予め用意する必要はない。非標準ハフマン
テーブルは、使用頻度が少ないものの種類が多いので、
その全てをソフトウエア復号化処理部3が予め用意する
ことはハフマン復号化回路を大型化させ、好ましくな
い。ソフトウエア復号化処理部3は、非標準ハフマンテ
ーブルを予め用意しなくても、外部から供給されるヘッ
ダHD内のハフマンテーブルを使用するので、多種の非
標準ハフマンテーブルに対応可能である。
【0032】非標準ハフマンテーブルの種類が少ないと
きには、ソフトウエア復号化処理部3の内部に非標準ハ
フマンテーブルを予め用意してもよい。
【0033】MPU3aとメモリ3bは画像データ伸張
装置側がもともと有するものを利用することができるの
でハードウエアの追加は少なくてすむ。このソフトウエ
アコンピュータプログラムとしては、ISO/IEC
IS 10918−1,Annex C(ハフマンテー
ブルについての仕様),Annex E,F(符号化、
復号化についての仕様)に記載のフローチャートを利用
できる。
【0034】ヘッダ解析部1は切り替え装置4を制御し
てソフトウエア復号処理部3の出力を逆量子化回路5に
入力させる。
【0035】図3は、本実施例による標準ハフマン復号
化回路2の構成を示すブロック図である。
【0036】ハフマン復号化回路は、例えばJPEG方
式によるデジタル静止画像のデータ伸長の際に用いるこ
とができる。デジタル画像のデータ伸長は、ハフマン復
号化処理を用いて、データ伸長を行う。
【0037】復号化の対象となる符号データは、例えば
図8に示すものであり、最短コード長が2ビット、最長
コード長が16ビットであるとする。
【0038】符号データ取込部11は、最初に最長コー
ド長(=16)分だけ、外部から符号データIN1をシ
リアルに取り込む(抽出する)。そして、シリアルに受
け取った16ビットの符号データIN1をパラレルデー
タIN2として、ハフマン復号用ルックアップテーブル
12に供給する。符号データ取込部11は、シフトレジ
スタを用いて構成することができる。詳細は、後に説明
する。
【0039】ルックアップテーブル12は、16ビット
の符号データIN2を受けて、上位から何ビットが有効
なハフマン符号データであるのかを示す符号サイズnと
それに対応する復号データOUT1を出力する。例え
ば、上位2ビットが00であれば、符号サイズn=2と
復号データOUT1=0を出力する。
【0040】ルックアップテーブル12は、例えばRO
M、RAMまたは組合せ論理回路で構成することができ
る。詳細な構成は、後に説明する。
【0041】ルックアップテーブル12から出力された
符号サイズnは、符号データ取込部11にフィードバッ
クされる。符号データ取込部11は、復号化が行われた
上位nビット(例えば、2ビット)を捨てて、外部から
新たに2ビットの符号データIN1を取り込む。そし
て、新たに形成された(抽出された)16ビットの符号
データIN2をルックアップテーブル12に供給し、処
理を繰り返す。
【0042】図4は、符号データ取込部11に取り込ま
れる符号データを示す概念図である。図4(A)は、あ
る時点で符号データ取込部11に蓄えられた符号データ
を示し、図4(B)は、符号データ取込部11における
途中の処理過程を示し、図4(C)は、新たに符号デー
タIN1が取り込まれることにより形成される符号デー
タを示す。
【0043】まず、符号データ取込部11には、図4
(A)の16ビット符号データ15が蓄えられている。
符号データ15がルックアップテーブル12(図3)に
供給され、上位nビットデータ19がテーブルの符号と
一致すると、符号サイズnと復号データOUT1がルッ
クアップテーブル12から出力される。符号データ取込
部11には、未だ16ビットの符号データ15が残った
ままである。上位nビットデータ19は、既に復号化さ
れたデータであり、残るデータ18は未だ復号化されて
いないデータ(未処理データ)である。符号データ取込
部11は、ルックアップテーブル12から符号サイズn
を受けて、符号データ15を左へnビットシフトする
(図4(B))。
【0044】符号データ16(図4(B))は、符号デ
ータ15(図4(A))を左へnビットシフトし、オー
バフローしたnビットを捨てた(16−n)ビットの符
号データである。符号データ16は、上位に未処理デー
タ18が位置し、下位nビットは0で埋められる。前回
復号化された符号データ19(図4(A))は、結果と
して、捨てられたことになる。
【0045】左へnビットシフトした後は、外部からn
ビットの符号データIN1を新たに取り込み、符号デー
タ16(図4(B))と符号データIN1を加算する
(図4(C))。図4(C)の符号データ17は、符号
データ16(図4(B))と符号データIN1を加算し
た符号データであり、新たに形成される符号データIN
2として、符号データ取込部11(図3)からルックア
ップテーブル12へ供給される。
【0046】以上のように、符号データ取込部11は、
符号データ19(図4(A))について復号化が行われ
ると、復号化された符号データ19を捨てて、外部から
新たに符号データIN1(図4(C))を取り込む。
【0047】以上は、シフトレジスタ等のビットシフト
手段と加算器を用いる場合を例に述べたが、ビットシフ
ト手段のみを用いて構成することもできる。
【0048】ハフマン復号用ルックアップテーブル12
から符号データ取込部11に符号サイズnが供給される
と、符号データ取込部11内のビットシフト手段に外部
から新たにnビットの符号データIN1がシリアルに入
力される。nビットの符号データIN1が入力される
と、ビットシフト手段に蓄えられている符号データは、
nビットシフトし、上位nビットは外に押し出され、新
たなnビットの符号データIN2が形成される。
【0049】図5は、図3のルックアップテーブル12
の構成例を示す概略図である。
【0050】ROMまたはRAMにより、ルックアップ
テーブル12を構成する例を説明する。ルックアップテ
ーブル12は、16ビットのアドレスADRにより指定
され、各アドレスには復号データOUT1と符号サイズ
nが記憶されている。
【0051】図3において、ルックアップテーブル12
には、16ビットの符号データIN2が入力される。符
号データIN2は、ルックアップテーブル12のアドレ
スADRに対応し、対応するアドレスADRの復号デー
タOUT1と符号サイズnがルックアップテーブル12
から出力される。
【0052】例えば、符号データIN2の上位2ビット
が00であるならば、図8に示すように復号データは0
である。その場合、符号データIN2は0000…00
〜0011…11のうちのいずれか1つである。符号デ
ータIN2が0000…00〜0011…11のうちの
いずれであっても、ルックアップテーブル12は、復号
データOUT1=0と符号サイズn=2を出力する。
【0053】また、符号データIN2の上位2ビットが
01であるならば、符号データIN2は0100…00
〜0111…11のうちのいずれか1つであるので、復
号データOUT1=1と符号サイズn=2を出力する。
【0054】なお、ルックアップテーブル12は、RO
MまたはRAMの他、AND回路やOR回路等を用いた
組合せ論理回路により実現させることができる。その場
合は、符号データIN2の上位2ビットが00であれ
ば、その他のビットの値に関係なく、復号データOUT
1=1と符号サイズn=2を出力するように論理回路を
組み合わせればよい。
【0055】図6は、論理回路を用いたハフマン復号用
ルックアップテーブル12の構成例を示すブロック図で
ある。
【0056】ルックアップテーブル12には、最長コー
ド長(16ビット)のビット長を有する符号データIN
2が供給される。論理回路21は、ビット長が2の符号
データの復号化を行うため、符号データIN2の上位2
ビットを受けて、復号データOUT1と符号サイズnを
出力する。
【0057】例えば図8の場合、上位2ビットが00、
01または10のときには、下位14ビットの値にかか
わりなく、復号データOUT1と符号サイズnを出力す
る。
【0058】論理回路22は、ビット長が3の符号デー
タの復号化を行うため、符号データIN2の上位3ビッ
トを受けて、復号データOUT1と符号サイズnを出力
する。同様にして、以上のような論理回路が4ビット以
上についても設けられる。
【0059】以上の複数の論理回路21,22,・・・
から出力される復号データOUT1と符号サイズnは、
セレクタ26に入力される。セレクタ26は、選択信号
SELに応じて、入力される複数の復号データOUT1
と符号サイズnの組の中から1組の復号データOUT1
と符号サイズnを出力する。
【0060】選択回路25は、符号データIN2に応じ
て、選択信号SELをセレクタ26に供給する。選択回
路25は、例えば16ビットからなる符号データIN2
を受けて、上位何ビットが符号であるかを決定する。符
号データIN2の上位2ビットが符号であれば、論理回
路21から出力される復号データOUT1と符号サイズ
nを選択し、符号データIN2の上位3ビットが符号で
あれば、論理回路22から出力される復号データOUT
1と符号サイズnを選択するための、選択信号SELを
セレクタ26に出力する。
【0061】なお、各論理回路21,22,・・・に選
択回路25を含ませ、選択回路25を削除してもよい。
その場合、各論理回路21,22,・・・がセレクタ2
6に選択信号SELを出力することになる。
【0062】論理回路21,22,・・・は、並列に処
理されるので、符号のビット長にほとんど関係なく、常
に高速に復号データOUT1を出力することができる。
【0063】組合せ論理回路により、ルックアップテー
ブル12を実現した場合には、ROMまたはRAMの場
合に比べ、かなり小さなハードウェア量で実現すること
ができ、消費電力の低減を図ることができる。
【0064】図7は、論理回路とメモリを用いたハフマ
ン復号用ルックアップテーブル12の構成例を示すブロ
ック図である。
【0065】組合せ論理回路27は、2ビットの符号を
復号化するための手段であり、メモリ28は、図5に示
すハフマン復号用テーブルと同様の構成であり、3ビッ
ト以上の符号を復号化するためのテーブルである。
【0066】組合せ論理回路27は、符号データIN2
の上位2ビットを受けて、上位2ビットが符号であれ
ば、復号データOUT1と符号サイズnを出力すると共
に、選択信号SELを出力する。上位2ビットが符号で
ないときには、選択信号SELを出力しない。
【0067】メモリ28は、符号データIN2のうち、
上位2ビット以外のビット(例えば、下位14ビット)
を受けて、復号データOUT1と符号サイズnを出力す
る。符号データIN2の上位3ビット以上が符号である
場合には、図8に示すように、上位2ビットが全て同じ
値となる(例えば、上位2ビットは常に“11”であ
る)ので、上位2ビットをメモリ28に入力しなくても
よい。
【0068】セレクタ29には、組合せ論理回路27と
メモリ28からそれぞれ出力される復号データOUT1
と符号サイズnが入力される。セレクタ29は、組合せ
論理回路27から供給される選択信号SELに応じて、
組合せ論理回路27またはメモリ28のいずれかから供
給される復号データOUT1と符号サイズnを出力す
る。
【0069】セレクタ29は、符号データIN2の上位
に含まれる符号が2ビットである場合には、組合せ論理
回路27から供給される復号データOUT1と符号サイ
ズnを出力し、符号が3ビット以上であるときには、メ
モリ28から供給される復号データOUT1と符号サイ
ズnを出力する。
【0070】図5に示したように、RAMまたはROM
等のメモリによりルックアップテーブル12を構成した
場合、符号の最長ビットを16ビットとすれば、64K
(=216)のアドレス領域が用意される。各アドレスに
は、例えば12ビットの復号データOUT1と4ビット
の符号サイズnが記憶される。この場合に、必要なメモ
リ容量は、64K×(12ビット+4ビット)=128
Kバイトである。ただし、1バイトは8ビットである。
【0071】一方、図7に示したように、メモリと組合
せ論理回路によりルックアップテーブル12を構成した
場合、復号データOUT1と符号サイズnのビット数は
上記と同じであるが、14ビット(=16−2)の符号
データを基にアドレスを形成するので、アドレス領域は
16K(=214)となる。したがって、必要なメモリ容
量は、16K×(12ビット+4ビット)=32Kバイ
トである。
【0072】ルックアップテーブル12は、メモリ単独
で構成するよりも、メモリと組合せ論理回路を組み合わ
せて構成する方が、メモリ容量が少なくてすむ。なお、
図7では、組合せ論理回路27が2ビットの符号につい
てのみ復号化を行う場合について述べたが、3ビット以
上の符号についても復号化を行わせることもできる。
【0073】以上のように、本実施例の標準ハフマン復
号化回路2は、復号化対象の符号データのコード長に関
係なく、常に高速で復号データOUT1を出力すること
ができる。
【0074】従来は、ハフマン符号の理論を単純に回路
化したものであり、復号化対象の符号データのコード長
が長ければ長いほど一致する符号データを探すために必
要な比較回数が多くなっていた。そして、ほとんどの場
合が複数回の比較を行わなければならなかったので、復
号化速度が遅かった。
【0075】以上説明した実施例では、標準ハフマンテ
ーブル用のハードウエア構成の復号化回路と、非標準ハ
フマンテーブル用のソフトウエア処理による復号化部と
を設け、圧縮データのハフマンテーブルの種類に応じて
復号化回路の出力と復号化部の出力とを切り替えるの
で、標準あるいは非標準ハフマンテーブルによる符号デ
ータのいずれにも対応できる。さらに、符号データをル
ックアップテーブル12に入力することにより、復号化
対象の符号データのコード長に関係なく、直ちに符号デ
ータを復号化し、出力することができるので、高速な復
号化が可能である。本実施例の復号化回路をデータ伸張
装置に使用して、逆量子化回路と逆DCT回路をハード
ウエアで構成すれば、約9割の圧縮データがハードウエ
アの標準ハフマン復号化回路で復号化できるので、全部
ハードウエア処理となり高速化が期待できる。また、残
りの約1割の圧縮データは、復号化処理のみをソフトウ
エアで行い、逆量子化と逆DCT処理がハードウエアで
行えるので、JPEG伸張全体としては高速処理が可能
となる。
【0076】以上実施例に沿って本発明を説明したが、
本発明はこれらに制限されるものではない。例えば、種
々の変更、改良、組み合わせ等が可能なことは当業者に
自明であろう。
【0077】
【発明の効果】以上説明したように、本発明によれば、
ハードウエア量をそれほど増加することなく、標準ハフ
マンテーブルと非標準ハフマンテーブルのいずれを使用
した符号データでも復号化することができる。
【0078】また、標準ハフマン復号化回路では、一定
のビット長を有する符号データを抽出して、復号化手段
に入力することにより、直ちに復号データを出力するこ
とができるので、高速な復号化が可能である。
【図面の簡単な説明】
【図1】本発明の実施例によるハフマン復号化回路を含
むデータ伸張装置の構成を示すブロック図である。
【図2】JPEG方式の符号データフォーマットの一例
を示す概略図である。
【図3】本発明の実施例による標準ハフマン復号化回路
の構成を示すブロック図である。
【図4】符号データ取込部に取り込まれる符号データを
示す。図4(A)はある時点で符号データ取込部に蓄え
られた符号データを示し、図4(B)は符号データ取込
部における途中の処理過程を示し、図4(C)は新たに
符号データIN1が取り込まれることにより形成される
符号データを示す概念図である。
【図5】図3のルックアップテーブルの構成例を示す概
略図である。
【図6】図3のルックアップテーブルの他の構成例を示
す概略図である。
【図7】図3のルックアップテーブルのさらに他の構成
例を示す概略図である。
【図8】ハフマン符号の例を示す図表である。
【図9】従来技術によるハフマン復号化回路の構成を示
すブロック図である。
【符号の説明】
1 ヘッダ解析部 2 標準ハフマン復号化回路 3 ソフトウエア復号化処理部 4 切り替え部 5 逆量子化回路 6 逆DCT回路 7 ハフマンテーブル定義領域 11 符号データ取込部 12 ハフマン復号用ルックアップテーブル 21,22,27 論理回路 28 メモリ 25 選択回路 26,29 セレクタ 31 符号データ比較処理部 32 ハフマン復号テーブル 33 ハフマンmin/maxポインタテーブル

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 外部から供給される異なるビット長の符
    号を復号化するハフマン復号化回路であって、 外部から供給されるハフマンテーブル情報に基づき、復
    号化対象の符号が標準のハフマンテーブルを使用して符
    号化されたものか、あるいは非標準のハフマンテーブル
    を使用して符号化されたものかの判定を行う判定手段
    と、 前記判定手段により前記符号が標準のハフマンテーブル
    を使用して符号化されたものであると判定された場合に
    は、前記標準のハフマンテーブルを使用して外部から供
    給される符号を復号化する標準復号化回路と、 前記判定手段により前記符号が非標準のハフマンテーブ
    ルを使用して符号化されたものであると判定された場合
    には、前記非標準のハフマンテーブルを使用して復号化
    コンピュータプログラムに従って外部から供給される符
    号を復号化するソフトウエア処理手段とを有するハフマ
    ン復号化回路。
  2. 【請求項2】 前記標準復号化回路は、ハードウエア処
    理により符号化を行う請求項1記載のハフマン復号化回
    路。
  3. 【請求項3】 前記標準復号化回路は、 外部から供給される符号のビット列を取り込み、一定の
    ビット長の符号データを抽出する符号データ抽出手段
    と、 前記符号データ抽出手段により抽出される符号データを
    受けて、該符号データの上位ビットの符号に対応する復
    号データが存在する場合、下位ビットに関係なく該復号
    データと該上位ビットのビット長とを出力する復号化手
    段とを有し、前記符号データ抽出手段は、前記復号化手
    段から出力されるビット長の上位ビットのデータを捨て
    て、代わりに新たに外部から供給されるデータを該ビッ
    ト長分取り込み、前記一定のビット長の符号データを抽
    出する手段を含み、 前記符号データ抽出手段が抽出する符号データの一定の
    ビット長は、前記復号化手段から出力されるビット長の
    うちで最長のビット長と同じかまたはそれよりも長いビ
    ット長である請求項1又は2記載のハフマン復号化回
    路。
  4. 【請求項4】 前記復号化手段は、前記符号データ抽出
    手段により抽出される符号データのビット長を有するア
    ドレスを有し、符号データの上位ビットがアドレスの所
    定上位アドレスに一致するときは下位ビットにかかわら
    ず該上位ビットの符号データに対応する復号データとビ
    ット長を該アドレスのデータとして記憶するメモリを有
    する請求項3記載のハフマン復号化回路。
  5. 【請求項5】 前記復号化手段は、組合せ論理回路であ
    る請求項3記載のハフマン復号化回路。
  6. 【請求項6】 前記復号化手段は、 前記符号データ抽出手段により抽出される符号データの
    ビット長より短いビット長を有するアドレスを有し、符
    号データの上位ビットがアドレスの所定上位アドレスに
    一致するときは下位ビットにかかわらず該上位ビットの
    符号データに対応する復号データとビット長を該アドレ
    スのデータとして記憶するメモリと、 前記符号データ抽出手段により抽出される符号データを
    受けて、該符号データの上位ビットの符号に対応する復
    号データが存在する場合、下位ビットに関係なく該復号
    データと該上位ビットのビット長とを出力する組合せ論
    理回路とを有する請求項3記載のハフマン復号化回路。
  7. 【請求項7】 前記符号データ抽出手段は、前記復号化
    手段が出力するビット長だけデータを移動させるための
    ビットシフト手段を含む請求項3〜6のいずれかに記載
    のハフマン復号化回路。
  8. 【請求項8】 外部から供給される異なるビット長の符
    号を復号化するハフマン復号化回路であって、 外部から供給されるハフマンテーブルを含むハフマンテ
    ーブル情報に基づき、復号化対象の符号が標準のハフマ
    ンテーブルを使用して符号化されたものか、あるいは非
    標準のハフマンテーブルを使用して符号化されたものか
    の判定を行う判定手段と、 標準のハフマンテーブルを有し、前記判定手段により前
    記符号が標準のハフマンテーブルを使用して符号化され
    たものであると判定された場合には、該標準のハフマン
    テーブルを使用して外部から供給される符号を復号化す
    る標準復号化回路と、 前記判定手段により前記符号が非標準のハフマンテーブ
    ルを使用して符号化されたものであると判定された場合
    には、前記外部から供給されるハフマンテーブルを使用
    して外部から供給される符号を復号化する非標準復号化
    回路とを有するハフマン復号化回路。
  9. 【請求項9】 前記標準復号化回路はハードウエア処理
    により符号化を行い、前記非標準復号化回路はソフトウ
    エア処理により符号化を行う請求項8記載のハフマン復
    号化回路。
JP11062750A 1999-03-10 1999-03-10 ハフマン復号化回路 Withdrawn JP2000261324A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11062750A JP2000261324A (ja) 1999-03-10 1999-03-10 ハフマン復号化回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11062750A JP2000261324A (ja) 1999-03-10 1999-03-10 ハフマン復号化回路

Publications (1)

Publication Number Publication Date
JP2000261324A true JP2000261324A (ja) 2000-09-22

Family

ID=13209402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11062750A Withdrawn JP2000261324A (ja) 1999-03-10 1999-03-10 ハフマン復号化回路

Country Status (1)

Country Link
JP (1) JP2000261324A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002261623A (ja) * 2001-02-28 2002-09-13 Canon Inc 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
WO2005088840A1 (ja) * 2004-03-12 2005-09-22 Matsushita Electric Industrial Co., Ltd. 可変長符号復号装置
JP2009529814A (ja) * 2006-03-09 2009-08-20 ヨーロピアン スペース エージェンシー 衛星ナビゲーション・システムに使用するための受信機および送信機
US8018359B2 (en) 2009-04-21 2011-09-13 International Business Machines Corporation Conversion of bit lengths into codes
JP2014161012A (ja) * 2014-02-24 2014-09-04 European Space Agency 衛星ナビゲーション・システムに使用するための受信機および送信機
US11509421B2 (en) 2018-08-07 2022-11-22 Mitsubishi Electric Corporation Distribution matching circuit, distribution dematching circuit, distribution matching method, distribution dematching method, and optical transmission system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002261623A (ja) * 2001-02-28 2002-09-13 Canon Inc 復号装置、復号方法、記憶媒体及びプログラムソフトウェア
WO2005088840A1 (ja) * 2004-03-12 2005-09-22 Matsushita Electric Industrial Co., Ltd. 可変長符号復号装置
JPWO2005088840A1 (ja) * 2004-03-12 2008-01-31 松下電器産業株式会社 可変長符号復号装置
US7683807B2 (en) 2004-03-12 2010-03-23 Panasonic Corporation Variable-length-code decoding device
JP4516068B2 (ja) * 2004-03-12 2010-08-04 パナソニック株式会社 可変長符号復号装置
JP2009529814A (ja) * 2006-03-09 2009-08-20 ヨーロピアン スペース エージェンシー 衛星ナビゲーション・システムに使用するための受信機および送信機
US8018359B2 (en) 2009-04-21 2011-09-13 International Business Machines Corporation Conversion of bit lengths into codes
JP2014161012A (ja) * 2014-02-24 2014-09-04 European Space Agency 衛星ナビゲーション・システムに使用するための受信機および送信機
US11509421B2 (en) 2018-08-07 2022-11-22 Mitsubishi Electric Corporation Distribution matching circuit, distribution dematching circuit, distribution matching method, distribution dematching method, and optical transmission system

Similar Documents

Publication Publication Date Title
JP3349617B2 (ja) ハフマンデコーダー
JP3332619B2 (ja) 復号装置およびその方法
US6219457B1 (en) Method and system for decoding data encoded in a variable length code word
US7257264B2 (en) Image processing apparatus and method for compression-encoding image area information
JP4023548B2 (ja) 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法
US8532192B2 (en) Video processing apparatus and a method of processing video data
JP2009100474A (ja) コンテキスト適応バイナリ算術符号化と復号化のシステム及び方法
JP3341962B2 (ja) 可変長復号器及び可変長符号値を復号化する方法
JPH10107645A (ja) 符号化器及び符号化システム
JPH06152435A (ja) 可変長符号の伸長装置および圧縮伸長装置
US8457428B2 (en) Image coding apparatus, control method thereof, and storage medium
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
JP2001308715A (ja) 可変長符号化装置および可変長復号装置
JP4098187B2 (ja) 可変長コード復号化装置及び方法
JP2000261324A (ja) ハフマン復号化回路
US8970405B2 (en) Method and apparatus for entropy decoding
JPH10271016A (ja) 符号/復号化器
JP4100836B2 (ja) 画像処理装置
US8073270B2 (en) Image decoding apparatus and method
JPH08167855A (ja) ハフマン復号化回路
US8385664B2 (en) Method for progressive JPEG image decoding
JP4607638B2 (ja) 可変長復号装置及び方法
JP3781012B2 (ja) 画像データ圧縮方法、画像データ伸長方法、および画像データ伸長回路
JP2000138933A (ja) 画像符号化装置
JP2689020B2 (ja) 符号伸長方法及び描画装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060606