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
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
関し、特に画像圧縮処理装置等におけるデータ圧縮に用
いるハフマン符号化データを復号するハフマン符号復号
回路に関する。
ては、複数のメモリを備えてこれらを同時にアクセス
し、これらの中から復号語の含まれるメモリだけを選択
する方法があった。
図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とを備えて構
成されていた。
について説明する。
下のとき、符号のデータ列Dに’0’がある場合にはそ
のビット以降のビット数が7ビット以下であることを利
用している。
復号語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を設定する。
符号データ列の先頭から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に入力される。
の先頭ビットすなわち第15ビットが’0’であると
き、メモリ101の番号0の出力を選択するセレクト信
号をセレクタ201に供給する。また、データ列Dのパ
ターンがi−1個連続する’1’の列の後尾に’0’を
付加した数列の場合に、番号iの出力のメモリを選択す
る信号をセレクタ202に供給する。例えば、上記パタ
ーンが’10’の場合には、i=2であるから、番号2
の出力のメモリ102を選択する信号を、また、上記パ
ターンが8ビットの全部が’1’すなわち’11111
111’である場合には、番号8の出力のメモリ109
を選択する信号をそれぞれセレクタ201に供給する。
モリ101からの出力のうち符号長L4は上記ハフマン
符号データ列に送られ、次のハフマン符号データ列の先
頭を決定する。以下同様に上述の動作を反復することに
より復号処理が行われるというものであった。
128ワード×12ビット×8個+256ワード×2ビ
ット×1個=1280ワード×12ビットとなる。
ン符号復号回路は、複数個のメモリを必要とし同一容量
の1個のメモリに比べて集積化の場合におけるチップ面
積が増加するとともに価格も高くなるという欠点があっ
た。
号回路は、2(m+1) (mは整数)ビット以上のデータ列
から成るハフマン符号の先頭のビットからn(整数)ビ
ット目までのnビットが論理1でありn+1ビット目が
論理0である前記データ列のパターンを検出したときに
2m ×(n+1)に前記ハフマン符号のn+2ビット目
からn+2+mビット目までのmビットのデータ列を加
算して複数のハフマン復号語に対応する複数のアドレス
をそれぞれ生成する複数のパターン検出手段を備えるア
ドレス生成手段と、前記アドレスにより前記ハフマン復
号語およびこのハフマン復号語に対応するハフマン符号
長を出力する記憶手段とを備えて構成されている。
て説明する。
一の実施例を示すブロック図である。
に示すように、ハフマン符号のデータ列Dから所定の符
号列パターンを検出するパターン検出部11〜19を有
しそれらのパターンにそれぞれ対応するアドレスを生成
するアドレス生成部1と、アドレス生成部1の出力のア
ドレスをアドレス入力とするメモリ2とを備える。
例と同様に、ハフマン符号の語数が256以下のとき、
符号のデータ列Dに’0’がある場合にはそのビット以
降のビット数が7ビット以下であることを利用してい
る。
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ビットを入力されたそれぞれのハフマン符号デ
ータに置換することにより行なう。
ットとを設定する。従来例と同様に、復号語Aに対する
ハフマン符号を’0001’とする。したがって、メモ
リ2のアドレス’0000000000010…0’か
ら’0000000000011…1’の全部に復号語
Aと符号長L4とを設定する。また、復号語Cに対する
ハフマン符号を’11111010001’とする。こ
の場合には、メモリ2のアドレス’000000101
1000100’から’00000010110001
11’の全部に復号語Cと符号長L11とを設定する。
同様にして、各復号語に対応するハフマン符号について
のアドレスを設定する。以下具体的な例についてさらに
詳細に動作を説明する。
マン符号データ列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に入力す
る。
マン符号データ列Dを’11111010001…’と
する。先頭の6ビットが’111110’であるから、
アドレス生成部1において、’0280(H)’に先頭
から7ビット目すなわち第9ビットから第3ビットの7
ビット’10001**’を加算してアドレス出力しメ
モリ2をアクセスする。この結果、これらのアドレスに
設定されている復号語Cと符号長L11とが出力され
る。この、符号長L11は上記ハフマン符号データ列に
送られ、次のハフマン符号データ列Dの先頭を決定し、
先頭から16ビットをアドレス生成部1に入力する。以
下同様に上述の動作を反復することにより復号処理が行
われる。
同一の1280ワード×12ビットであるが、1個でよ
い。
する。
ク図である。
違点は、データ列Dを一時保持する符号バッファ3と、
メモリ2の代りに容量1280ワード×8ビットのメモ
リ4と、符号長出力部5と、データ列Dの先頭を指定す
る先頭指定部6とを付加したことである。
布の一例を示す図である。
部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とを設定する。
が符号バッファ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とに送る。以下同様にこの動作を反復することによ
り復号処理を行なう。
ないので、このためのメモリアクセスの所要時間を省略
でき、ハフマン符号データの先頭ビットの決定を高価な
高速メモリを使用することなく高速化できる。
明は上記実施例に限られることなく種々の変形が可能で
ある。例えば、画像圧縮のように復号語の数が少ない場
合にアドレス生成部に入力するハフマン符号データ16
ビットに対し、各パターン検出部で加算するビット数を
6以下、例えば5とし、メモリ容量を節減することも本
発明の主旨を逸脱しない限り適用できることは勿論であ
る。
符号復号回路は、メモリの所要個数が1個であるので、
集積化の場合におけるチップ面積を縮小できるとともに
価格も低減できるという効果がある。
を示すブロック図である。
を示すブロック図である。
る。
ック図である。
Claims (3)
- 【請求項1】 2(m+1) (mは整数)ビット以上のデー
タ列から成るハフマン符号の先頭のビットからn(整
数)ビット目までのnビットが論理1でありn+1ビッ
ト目が論理0である前記データ列のパターンを検出した
ときに2m ×(n+1)に前記ハフマン符号のn+2ビ
ット目からn+2+mビット目までのmビットのデータ
列を加算して複数のハフマン復号語に対応する複数のア
ドレスをそれぞれ生成する複数のパターン検出手段を備
えるアドレス生成手段と、 前記アドレスにより前記ハフマン復号語およびこのハフ
マン復号語に対応するハフマン符号長を出力する記憶手
段とを備えることを特徴とするハフマン符号復号回路。 - 【請求項2】 前記パターン検出手段が前記ハフマン符
号の最大符号長がp(≧m)ビットであるとき前記デー
タ列のパターンが前記先頭ビットからp−m−1ビット
目までの全てのビットが論理1である前記データ列のパ
ターンを検出したときに2m ×(p−m−1)に前記ハ
フマン符号のp−1ビット目からm+1ビット目までの
データ列を加算したアドレスを生成することを特徴とす
る請求項1記載のハフマン符号復号回路。 - 【請求項3】 2(m+1) (mは整数)ビット以上のデー
タ列から成るハフマン符号の先頭のビットからn(整
数)ビット目までのnビットが論理1でありn+1ビッ
ト目が論理0である前記データ列のパターンを検出した
ときに2m ×(n+1)に前記ハフマン符号のn+2ビ
ット目からn+2+mビット目までのmビットのデータ
列を加算して複数のハフマン復号語に対応する複数のア
ドレスをそれぞれ生成する複数のパターン検出手段を備
えるアドレス生成手段と、 予め定めた符号長分布にしたがった前記復号語の前記符
号長を出力する符号長出力手段と、 前記復号語を格納した記憶手段とを備えることを特徴と
するハフマン符号復号回路。
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) |
-
1992
- 1992-10-27 JP JP28802992A patent/JP2757716B2/ja not_active Expired - Lifetime
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 |