JP2757716B2 - ハフマン符号復号回路 - Google Patents

ハフマン符号復号回路

Info

Publication number
JP2757716B2
JP2757716B2 JP28802992A JP28802992A JP2757716B2 JP 2757716 B2 JP2757716 B2 JP 2757716B2 JP 28802992 A JP28802992 A JP 28802992A JP 28802992 A JP28802992 A JP 28802992A JP 2757716 B2 JP2757716 B2 JP 2757716B2
Authority
JP
Japan
Prior art keywords
bit
bits
huffman
huffman code
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
JP28802992A
Other languages
English (en)
Other versions
JPH06140937A (ja
Inventor
成則 木内
明 澤田
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.)
NEC Corp
Original Assignee
Nippon Electric 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
Priority to JP28802992A priority Critical patent/JP2757716B2/ja
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to EP98120330A priority patent/EP0920136B1/en
Priority to DE69329092T priority patent/DE69329092T2/de
Priority to DE69332253T priority patent/DE69332253T2/de
Priority to US08/135,448 priority patent/US5467088A/en
Priority to EP93116585A priority patent/EP0593046B1/en
Priority to KR1019930021495A priority patent/KR0138971B1/ko
Publication of JPH06140937A publication Critical patent/JPH06140937A/ja
Application granted granted Critical
Publication of JP2757716B2 publication Critical patent/JP2757716B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はハフマン符号復号回路に
関し、特に画像圧縮処理装置等におけるデータ圧縮に用
いるハフマン符号化データを復号するハフマン符号復号
回路に関する。
【0002】
【従来の技術】従来のハフマン符号復号回路の一例とし
ては、複数のメモリを備えてこれらを同時にアクセス
し、これらの中から復号語の含まれるメモリだけを選択
する方法があった。
【0003】従来のこの種のハフマン符号復号回路は、
図4に示すように、先頭を第15ビットとし第15〜第
0ビットの16ビットのハフマン符号から成る入力デー
タ列Dの第14ビット〜第8ビット、第13〜第7ビッ
ト、第12〜第6ビット、第11〜第5ビット、第10
〜第4ビット、第9〜第3ビット、第8〜第2ビット、
第7〜第1ビット、および第7〜第0ビットをそれぞれ
アドレス入力とし復号出力0〜8をそれぞれ出力するメ
モリ101〜109と、セレクタ201と、セレクタ2
01を制御するセレクト信号生成部202とを備えて構
成されていた。
【0004】次に、従来のハフマン符号復号回路の動作
について説明する。
【0005】本例では、ハフマン符号の語数が256以
下のとき、符号のデータ列Dに’0’がある場合にはそ
のビット以降のビット数が7ビット以下であることを利
用している。
【0006】まず、メモリ101〜109に、それぞれ
復号語8ビットと符号長4ビットとを設定する。メモリ
101は、データ列Dの先頭ビットに’0’があるハフ
マン符号における復号語を表すものについてその復号語
および符号長Lを設定する。例えば、復号語Aに対する
ハフマン符号が’0001’であれば、メモリ101の
アドレス’0010…0’から’0011…1’の全て
に復号語Aと符号長4を設定する。同様に、メモリ10
2には、データ列Dの先頭の2ビット目に’0’がある
ハフマン符号における復号語を表すものについてその復
号語および符号長Lを設定する。例えば、復号語Bに対
するハフマン符号が’10011’であれば、メモリ1
2のアドレス’0110…0’から’0111…1’の
全てに復号語Bと符号長L5を設定する。以下同様にし
て、データ列Dのパターンがi(整数)−1個連続す
る’1’の列の後尾に’0’を付加した数列の場合に、
番号iの出力のメモリに対して復号語および符号長Lを
設定する。また、データ列Dの先頭8ビットが全部’
1’すなわち’11111111’の場合には、メモリ
109に対して復号語および符号長Lを設定する。
【0007】この動作は、以下のようになる。ハフマン
符号データ列の先頭から16ビットのデータ列Dの先頭
から2ビット目の第14ビットから第8ビットの7ビッ
トを番号0の出力のメモリ101に、先頭から3ビット
目の第13ビット〜第6ビットを番号1の出力のメモリ
102に、以下同様にして、番号7の出力のメモリ10
8まで、先頭からtビット目からの7ビットのデータを
番号t−2の出力のメモリにそれぞれ入力し、下位8ビ
ットすなわち第7〜第0ビットをメモリ109に入力す
る。同時に、データ列Dはセレクト信号生成部201に
供給される。ここで、ハフマン符号データ列’0001
…’が入力されたと想定すると、メモリ101のアドレ
スの上位3ビットに、’001’が入力される。メモリ
101の設定は上述のように、アドレス’0010…
0’から’0011…1’は復号語Aと符号長L4であ
るから、復号語Aおよび符号長L4が出力される。他の
メモリ102〜109についても、上述のアドレス入力
に対応する復号語および符号長Lを出力する。これらの
メモリ101〜109の復号語および符号長Lの出力は
セレクタ201に入力される。
【0008】セレクト信号生成部202は、データ列D
の先頭ビットすなわち第15ビットが’0’であると
き、メモリ101の番号0の出力を選択するセレクト信
号をセレクタ201に供給する。また、データ列Dのパ
ターンがi−1個連続する’1’の列の後尾に’0’を
付加した数列の場合に、番号iの出力のメモリを選択す
る信号をセレクタ202に供給する。例えば、上記パタ
ーンが’10’の場合には、i=2であるから、番号2
の出力のメモリ102を選択する信号を、また、上記パ
ターンが8ビットの全部が’1’すなわち’11111
111’である場合には、番号8の出力のメモリ109
を選択する信号をそれぞれセレクタ201に供給する。
【0009】セレクタ201から出力された番号0のメ
モリ101からの出力のうち符号長L4は上記ハフマン
符号データ列に送られ、次のハフマン符号データ列の先
頭を決定する。以下同様に上述の動作を反復することに
より復号処理が行われるというものであった。
【0010】上述の例の場合では、所要メモリ容量は、
128ワード×12ビット×8個+256ワード×2ビ
ット×1個=1280ワード×12ビットとなる。
【0011】
【発明が解決しようとする課題】上述した従来のハフマ
ン符号復号回路は、複数個のメモリを必要とし同一容量
の1個のメモリに比べて集積化の場合におけるチップ面
積が増加するとともに価格も高くなるという欠点があっ
た。
【0012】
【課題を解決するための手段】本発明のハフマン符号復
号回路は、2(m+1) (mは整数)ビット以上のデータ列
から成るハフマン符号の先頭のビットからn(整数)ビ
ット目までのnビットが論理1でありn+1ビット目が
論理0である前記データ列のパターンを検出したときに
m ×(n+1)に前記ハフマン符号のn+2ビット目
からn+2+mビット目までのmビットのデータ列を加
算して複数のハフマン復号語に対応する複数のアドレス
をそれぞれ生成する複数のパターン検出手段を備えるア
ドレス生成手段と、前記アドレスにより前記ハフマン復
号語およびこのハフマン復号語に対応するハフマン符号
長を出力する記憶手段とを備えて構成されている。
【0013】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0014】図1は本発明のハフマン符号復号回路の第
一の実施例を示すブロック図である。
【0015】本実施例のハフマン符号復号回路は、図1
に示すように、ハフマン符号のデータ列Dから所定の符
号列パターンを検出するパターン検出部11〜19を有
しそれらのパターンにそれぞれ対応するアドレスを生成
するアドレス生成部1と、アドレス生成部1の出力のア
ドレスをアドレス入力とするメモリ2とを備える。
【0016】次に、本実施例の動作について説明する。
【0017】本実施例のハフマン符号復号回路は、従来
例と同様に、ハフマン符号の語数が256以下のとき、
符号のデータ列Dに’0’がある場合にはそのビット以
降のビット数が7ビット以下であることを利用してい
る。
【0018】ここで、ハフマン符号の最大符号長Lを1
6ビット、復号語を8ビットとする。アドレス生成部1
のパターン検出部11は、先頭を第15ビットとし第1
5〜第0ビットの16ビットのハフマン符号から成る入
力データ列Dの先頭ビットすなわち、第15ビットが’
0’である場合には、’0000(H)’に第14ビッ
ト〜第8ビットの7ビットを加算してアドレス出力す
る。パターン検出部12は、第15ビットが’1’であ
り、先頭から2ビット目すなわち第14ビットが’0’
である場合には、’0080(H)’に先頭から3ビッ
ト目すなわち第13ビットから第7ビットを加算してア
ドレス出力する。パターン検出部13は、先頭の2ビッ
トすなわち第15,14ビットが’1’で、第13ビッ
トが’0’である場合には、’0100(H)’に先頭
から4ビット目すなわち第12ビットから第6ビットを
加算してアドレス出力する。パターン検出部14は、先
頭の3ビットすなわち第15〜第13ビットが’1’
で、第12ビットが’0’である場合には、’0180
(H)’に先頭から5ビット目すなわち第11ビットか
ら第5ビットを加算してアドレス出力する。パターン検
出部15は、先頭の4ビットすなわち第15〜第12ビ
ットが’1’で、第11ビットが’0’である場合に
は、’0200(H)’に先頭から6ビット目すなわち
第10ビットから第4ビットを加算してアドレス出力す
る。パターン検出部16は、先頭の5ビットすなわち第
15〜第11ビットが’1’で、第10ビットが’0’
である場合には、’0280(H)’に先頭から7ビッ
ト目すなわち第9ビットから第3ビットを加算してアド
レス出力する。パターン検出部17は、先頭の6ビット
すなわち第15〜第10ビットが’1’で、第9ビット
が’0’である場合には、’0300(H)’に先頭か
ら8ビット目すなわち第8ビットから第2ビットを加算
してアドレス出力する。パターン検出部18は、先頭の
7ビットすなわち第15〜第9ビットが’1’で、第8
ビットが’0’である場合には、’0380(H)’に
先頭から9ビット目すなわち第7ビットから第1ビット
を加算してアドレス出力する。パターン検出部19は、
先頭から8ビットすなわち第15〜第8ビットが全部’
1’の場合には、’0400(H)’に先頭から9ビッ
ト目すなわち第7ビットから第0ビットを加算してアド
レス出力する。ここで、7ビット加算および8ビット加
算のいずれの場合も、16進数の’0000’,’00
80’,…を2進数で表したときの下位7ビットあるい
は下位8ビットを入力されたそれぞれのハフマン符号デ
ータに置換することにより行なう。
【0019】メモリ2に復号語8ビットと符号長L4ビ
ットとを設定する。従来例と同様に、復号語Aに対する
ハフマン符号を’0001’とする。したがって、メモ
リ2のアドレス’0000000000010…0’か
ら’0000000000011…1’の全部に復号語
Aと符号長L4とを設定する。また、復号語Cに対する
ハフマン符号を’11111010001’とする。こ
の場合には、メモリ2のアドレス’000000101
1000100’から’00000010110001
11’の全部に復号語Cと符号長L11とを設定する。
同様にして、各復号語に対応するハフマン符号について
のアドレスを設定する。以下具体的な例についてさらに
詳細に動作を説明する。
【0020】まず、アドレス生成部1に入力されたハフ
マン符号データ列Dを’0001…’と想定する。先頭
ビットの第15ビットが’0’であるから、アドレス生
成部1において、’0000(H)’に第14ビット〜
第8ビットの7ビット’001****’を加算してア
ドレス出力する。前述のように、メモリ2のアドレス’
0000000000010…0’から’000000
0000011…1’の全てに復号語Aと符号長L4と
を設定してあるから、これら復号語Aと符号長L4とが
出力される。この、符号長L4は上記ハフマン符号デー
タ列に送られ、次のハフマン符号データ列Dの先頭を決
定し、先頭から16ビットをアドレス生成部1に入力す
る。
【0021】次に、アドレス生成部1に入力されたハフ
マン符号データ列Dを’11111010001…’と
する。先頭の6ビットが’111110’であるから、
アドレス生成部1において、’0280(H)’に先頭
から7ビット目すなわち第9ビットから第3ビットの7
ビット’10001**’を加算してアドレス出力しメ
モリ2をアクセスする。この結果、これらのアドレスに
設定されている復号語Cと符号長L11とが出力され
る。この、符号長L11は上記ハフマン符号データ列に
送られ、次のハフマン符号データ列Dの先頭を決定し、
先頭から16ビットをアドレス生成部1に入力する。以
下同様に上述の動作を反復することにより復号処理が行
われる。
【0022】この場合、メモリ2の所要容量は、従来と
同一の1280ワード×12ビットであるが、1個でよ
い。
【0023】次に、本発明の第二の実施例について説明
する。
【0024】図1は本発明の第二の実施例を示すブロッ
ク図である。
【0025】前述の第一の実施例に対する本実施例の相
違点は、データ列Dを一時保持する符号バッファ3と、
メモリ2の代りに容量1280ワード×8ビットのメモ
リ4と、符号長出力部5と、データ列Dの先頭を指定す
る先頭指定部6とを付加したことである。
【0026】次に、本実施例の動作について説明する。
【0027】図3はハフマン符号データ列Dの符号長分
布の一例を示す図である。
【0028】メモリ4に復号語8ビットを、符号長出力
部5に符号長分布にしたがった復号語の符号長Lを出力
するように設定する。上述の例と同様に、復号語Aのハ
フマン符号に対するハフマン符号を’0001’とす
る。したがって、メモリ4には、アドレス’00000
00000010…0’から’00000000000
11…1’の全部に復号語Aと符号長L4とを設定す
る。図3の符号長分布から、データ列Dの先頭の2ビッ
トが’00’であると符号長Lは4、’01’であると
符号長Lは5、’10’であると符号長Lは6、’1
1’であると符号長Lは7とそれぞれ求められる。入力
データ列Dが’0001*…*’であると、先頭の2ビ
ットが’00’であるので、符号長出力部5は符号長L
4を出力するよう設定する。同様にして、各復号語に対
するハフマン符号のアドレスと符号長Lとを設定する。
【0029】ハフマン符号のデータ列D’0001…’
が符号バッファ3に入力されると、符号バッファ3はデ
ータ列Dの16ビットを蓄積し、さらにアドレス生成部
1と符号長出力部5とに送る。アドレス生成部1では、
先頭の第15ビットが’0’であるので、第一の実施例
と同様に’0000(H)’に第14ビット〜第8ビッ
トの7ビット’001****’を加算してアドレス出
力し、対応する復号語Aがメモリ4から出力される。同
時に符号長出力部5には、上述のように、入力データ列
D’0001*…*’が入力され、先頭の2ビットが’
00’であるから符号長L4を出力する。この符号長L
4は先頭指定部6に送られる。先頭指定部6は、この符
号長L4により、符号バッファ3に蓄積されているデー
タ列Dの先頭の4ビットが復号語Aに対するハフマン符
号であると判定し、先頭から5ビット目が次のハフマン
符号データ列の先頭ビットになることを指示する先頭指
定信号Hを符号バッファ3に送る。符号バッファ3は、
上記次の先頭ビットから16ビットを新たな入力データ
Dとして蓄積し、さらにアドレス生成部1と符号長出力
部5とに送る。以下同様にこの動作を反復することによ
り復号処理を行なう。
【0030】本実施例では、符号長をメモリから出力し
ないので、このためのメモリアクセスの所要時間を省略
でき、ハフマン符号データの先頭ビットの決定を高価な
高速メモリを使用することなく高速化できる。
【0031】以上、本発明の実施例を説明したが、本発
明は上記実施例に限られることなく種々の変形が可能で
ある。例えば、画像圧縮のように復号語の数が少ない場
合にアドレス生成部に入力するハフマン符号データ16
ビットに対し、各パターン検出部で加算するビット数を
6以下、例えば5とし、メモリ容量を節減することも本
発明の主旨を逸脱しない限り適用できることは勿論であ
る。
【0032】
【発明の効果】以上説明したように、本発明のハフマン
符号復号回路は、メモリの所要個数が1個であるので、
集積化の場合におけるチップ面積を縮小できるとともに
価格も低減できるという効果がある。
【図面の簡単な説明】
【図1】本発明のハフマン符号復号回路の第一の実施例
を示すブロック図である。
【図2】本発明のハフマン符号復号回路の第二の実施例
を示すブロック図である。
【図3】ハフマン符号の符号長分布の一例を示す図であ
る。
【図4】従来のハフマン符号復号回路の一例を示すブロ
ック図である。
【符号の説明】
1 アドレス生成部 2,4,101〜109 メモリ 3 符号バッファ 5 符号長出力部 6 先頭指定部 11〜19 パターン検出部 201 セレクタ 202 セレクト信号生成部
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) H03M 7/40

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 2(m+1) (mは整数)ビット以上のデー
    タ列から成るハフマン符号の先頭のビットからn(整
    数)ビット目までのnビットが論理1でありn+1ビッ
    ト目が論理0である前記データ列のパターンを検出した
    ときに2m ×(n+1)に前記ハフマン符号のn+2ビ
    ット目からn+2+mビット目までのmビットのデータ
    列を加算して複数のハフマン復号語に対応する複数のア
    ドレスをそれぞれ生成する複数のパターン検出手段を備
    えるアドレス生成手段と、 前記アドレスにより前記ハフマン復号語およびこのハフ
    マン復号語に対応するハフマン符号長を出力する記憶手
    段とを備えることを特徴とするハフマン符号復号回路。
  2. 【請求項2】 前記パターン検出手段が前記ハフマン符
    号の最大符号長がp(≧m)ビットであるとき前記デー
    タ列のパターンが前記先頭ビットからp−m−1ビット
    目までの全てのビットが論理1である前記データ列のパ
    ターンを検出したときに2m ×(p−m−1)に前記ハ
    フマン符号のp−1ビット目からm+1ビット目までの
    データ列を加算したアドレスを生成することを特徴とす
    る請求項1記載のハフマン符号復号回路。
  3. 【請求項3】 2(m+1) (mは整数)ビット以上のデー
    タ列から成るハフマン符号の先頭のビットからn(整
    数)ビット目までのnビットが論理1でありn+1ビッ
    ト目が論理0である前記データ列のパターンを検出した
    ときに2m ×(n+1)に前記ハフマン符号のn+2ビ
    ット目からn+2+mビット目までのmビットのデータ
    列を加算して複数のハフマン復号語に対応する複数のア
    ドレスをそれぞれ生成する複数のパターン検出手段を備
    えるアドレス生成手段と、 予め定めた符号長分布にしたがった前記復号語の前記符
    号長を出力する符号長出力手段と、 前記復号語を格納した記憶手段とを備えることを特徴と
    するハフマン符号復号回路。
JP28802992A 1992-10-13 1992-10-27 ハフマン符号復号回路 Expired - Lifetime JP2757716B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP28802992A JP2757716B2 (ja) 1992-10-27 1992-10-27 ハフマン符号復号回路
DE69329092T DE69329092T2 (de) 1992-10-13 1993-10-13 Huffman-Kode-Decodierungsschaltung
DE69332253T DE69332253T2 (de) 1992-10-13 1993-10-13 Dekodierschaltung für Huffman-Codes
US08/135,448 US5467088A (en) 1992-10-13 1993-10-13 Huffman code decoding circuit
EP98120330A EP0920136B1 (en) 1992-10-13 1993-10-13 Huffman code decoding circuit
EP93116585A EP0593046B1 (en) 1992-10-13 1993-10-13 Huffman code decoding circuit
KR1019930021495A KR0138971B1 (ko) 1992-10-13 1993-10-13 허프만 부호 복호회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28802992A JP2757716B2 (ja) 1992-10-27 1992-10-27 ハフマン符号復号回路

Publications (2)

Publication Number Publication Date
JPH06140937A JPH06140937A (ja) 1994-05-20
JP2757716B2 true JP2757716B2 (ja) 1998-05-25

Family

ID=17724902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28802992A Expired - Lifetime JP2757716B2 (ja) 1992-10-13 1992-10-27 ハフマン符号復号回路

Country Status (1)

Country Link
JP (1) JP2757716B2 (ja)

Also Published As

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

Similar Documents

Publication Publication Date Title
US3675211A (en) Data compaction using modified variable-length coding
KR0138971B1 (ko) 허프만 부호 복호회로
JPH05276052A (ja) ハフマンコードワードをデコードする方法及び装置
US4591829A (en) Run length code decoder
US4800535A (en) Interleaved memory addressing system and method using a parity signal
JPS603657B2 (ja) フアーストイン・フアーストアウト記憶装置
US4691364A (en) Bit pattern conversion apparatus
JPH01182992A (ja) 半導体記憶装置
JP3166447B2 (ja) 画像処理装置及び画像処理方法
JP2757716B2 (ja) ハフマン符号復号回路
JP3009007B2 (ja) 2元符号復号回路
JPH0315221B2 (ja)
JP2842094B2 (ja) ハフマン復号回路
US5625786A (en) Microprogram memory output circuit for selectively outputting fields of microinstruction word to a plurality of data terminals
JPS59113582A (ja) 記憶装置
JP2998532B2 (ja) 二次元符号化テーブルのアドレス生成回路
JPS602984A (ja) メモリ駆動回路
JPH0149072B2 (ja)
JP3345912B2 (ja) 漢字パターン格納メモリ読み出し制御回路
JPH0148594B2 (ja)
JPH0650478B2 (ja) デ−タ圧縮記憶方式
JP2556160B2 (ja) 圧縮符号伸長装置
KR0153051B1 (ko) 프로그램가능한 맵핑회로
JPH06268528A (ja) 可変長符号復号器
JPH0490267A (ja) 可変長符号の復号回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980210

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

Free format text: PAYMENT UNTIL: 20080313

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090313

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100313

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100313

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110313

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110313

Year of fee payment: 13

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110313

Year of fee payment: 13

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110313

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120313

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20130313

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20130313

Year of fee payment: 15