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

ハフマン符号の復号回路

Info

Publication number
JPH0410716A
JPH0410716A JP11054590A JP11054590A JPH0410716A JP H0410716 A JPH0410716 A JP H0410716A JP 11054590 A JP11054590 A JP 11054590A JP 11054590 A JP11054590 A JP 11054590A JP H0410716 A JPH0410716 A JP H0410716A
Authority
JP
Japan
Prior art keywords
code
huffman code
length
data
input
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
Application number
JP11054590A
Other languages
English (en)
Inventor
Hirofumi Sakagami
弘文 阪上
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP11054590A priority Critical patent/JPH0410716A/ja
Publication of JPH0410716A publication Critical patent/JPH0410716A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野] この発明は複数の異なる符号長の符号群からなるハフマ
ン符号を、高速で復号することの出来るハフマン符号の
復号回路に関する。
〔従来の技術〕
少ないビット数で能率よくディジタル信号の伝送または
記録を行うために、出現確率の高いデータを表す符号列
は短く、出現確率の低いデータを表す符号列は長く設定
し、全体として平均符号長が最小となるように設定する
符号化方式が知られている。このような符号列の長さが
一定でない符号は可変長符号または不等長符号と称され
、代表的なものにハフマン符号がある。
第5図にハフマン符号の構成法を示す。ハフマン符号の
構成法は、図(a)に示すように、まず複数M個、例え
ば6個の情報源記号31〜S6を生起確率の大きいもの
から順に並べ、生起確率の最も小さい情報源記号2個を
まとめて一つの情報源記号に置き換え、その合成確率を
新しい情報源記号の生起確率とする。この例では、記号
SSと86とをまとめて一つの情報源記号に置き換え、
その合成確率を新しい情報源記号の生起確率としている
。この結果、記号数の一つ少ない新たな情報源記号の組
が得られる。次いで、再び生起確率の大きいものから順
に並べ換え、最後に生起確率が「1.00Jの記号が残
るまで前述の処理を繰り返す。
このようにして符号の木を作り(図(b))、最後に枝
分かれに従って“0′°とII I IIの符号を各記
号に割り当てる(図(C))。
第6図はこのようにして生成したハフマン符号の復号回
路の従来例を示す構成図である。
この復号回路は、ビットシリアルに入力されるハフマン
符号を8ビツトのパラレルデータに変換する直−並列変
換部10、ハフマン符号を固定長デー・夕に変換するハ
フマン符号変換テーブルとハフマン符号の符号長を記憶
するハフマン符号レングステーブルとを有する復号部1
1、復号部11からの固定長データをラッチするDFF
 12、復号部11からのレングスデータをロードして
ダウンカウントシ、カウント値が零になったときにDF
F12にラッチパルスを出力するレングスカウンタ部1
3からなる。
この構成において、入力されるハフマン符号は直−並列
変換部10で8ビツトのパラレルデータに変換され、次
いで復号部11で固定長データとレングスデータとに変
換される。固定長データはスタートパルスの到来と共に
発生するラッチパルスによってDFF12にラッチされ
、レングスデータはレングスカウンタ部13にロードさ
れる。
カウンタ部13では、ロードされたレングスデータをダ
ウンカウントし、カウント値が“0”′になった時点で
DFF12に次のラッチパルスを出力する。
一方、カウンタ部13でのダウンカウントに同期して直
−並列変換部10に入力されるハフマン符号もシフトし
ているので、次のラッチパルスが出力される時点では、
復号部11から次のハフマン符号が復号されてその固定
長データがDFFI2にラッチされる。このようにして
、上記手順による動作が繰り返され、ハフマン符号の復
号化が行われる。
〔発明が解決しようとする課題] 前述の従来例では、復号部11内にハフマン符号変換テ
ーブルとレングステーブルとを設ける必要があるため、
メモリの記憶容量が増大するという不都合がある。
この発明はハフマン符号の長さ(レングス)を記憶する
レングステーブルを不要とし、メモリの容量を減少させ
るようにしたハフマン符号の復号回路を提供することを
目的とする。
〔課題を解決するだめの手段〕
この発明によるハフマン符号の復号回路は、ビットシリ
アルに入力されるノ飄フマン符号を直−並列変換するシ
フトレジスタと、シフトレジスタに入力されるハフマン
符号のビット数を計数するカウンタと、カウンタのカウ
ント値をデコードするデコーダと、ハフマン符号の符号
長別に固定長データを記憶する複数の変換テーブルとを
備え、デコーダの出力によって複数の変換テーブルの中
からシフトレジスタに入力されるハフマン符号のビット
数と同一符号長の変換テーブルを選択し、この選択した
変換テーブルの中に入力されるハフマン符号に対応する
固定長データが存在するか否かを検出し、存在する場合
は検出した固定長データをハフマン符号の復号データと
して出力するように構成されている。
〔作 用〕
この発明の構成によると、入力ハフマン符号は1ビツト
ずつシフトレジスタに入力され、パラレルデータに変換
されて符号長別に設定された複数の変換テーブルに入力
される。シフトレジスタに入力されるハフマン符号のビ
ット数(符号長)はカウンタによってカウントされてお
り、そのカウント値はデコーダによってデコードされて
対応する符号長の変換テーブルのみをイネーブルする。
イネーブルした変換テーブルの中にシフトレジスタに入
力されたハフマン符号に対応する固定長データが存在す
るときは、その固定長データを復号データとして出力し
、存在しないときは、シフトレジスタにハフマン符号の
次のビットを人力して同様の処理を行う。
このように、ハフマン符号を1ビツトずつシフトレジス
タに入力し、入力したビット数(符号長)をカウンタで
カウントしてそのカウント値(符号長)に対応する変換
テーブルを複数の変換テーブルの中から選択して復号す
るようにしたので、従来の復号回路のようにハフマン符
号の符号長を記憶するレングステーブルを設ける必要が
なく、少ない記憶容量のメモリで構成することが出来る
〔実施例〕
第1図はこの発明によるハフマン符号の復号回路の一実
施例を示す構成図である。
この実施例はビットシリアルで入力されるハフマン符号
を、8ビツトのパラレルデータに変換するシフトレジス
タ1、このシフトレジスタ1に入力されるハフマン符号
のビット数を、クロックパルスφを計数することによっ
て計数するカウンタ2、カウンタ2のカラントイ直をデ
コードするデコーダ3、ハフマン符号の符号長側に固定
長データを記憶する複数個のメモリ4a〜4h、メモリ
4a〜4hから出力される固定長データをラッチするラ
ッチ回路5、メモリ4a〜4hから出力されるフラッグ
データを検出してラッチ回路5にラッチパルスを供給し
、さらにこのラッチパルスをオア回路6を介してカウン
タ2にロードパルスとして供給するフラグ検出部7から
構成される。また、カウンタ2のロード入力には、この
復号回路の復号動作を開始するためのスタートパルスが
オア回路6を介して入力される。
第2図はこの実施例におけるハフマン符号と固定長デー
タとの関係を示す変換テーブルで、12種頻の固定長デ
ータ「0」〜「11Jに対し2〜9ビツトのハフマン符
号が対応している。第3図は第2図の変換テーブルをハ
フマン符号の符号長側に分け、固定長データとフラッグ
データとを各符号長側にメモリ4a〜4hに記憶した変
換テーブルである。なお、図中*印のビットは°°0”
または°“1”°の何れでもよいことを意味している。
この構成において、スタートパルスが入力されると、オ
ア回路6を経てカウンタ2にロードパルスが供給され、
カウンタ2に“1゛′がロードされる。同時にシフトレ
ジスタ1にハフマン符号の第1ビツトが入力される。な
お、カウンタ2からシフトレジスタ1に供給されるクロ
ック制御信号によってハフマン符号の各ビットデータが
シフトレジスタ1へ入力されるタイミングとカウンタ2
がインクリメントされるタイミングとを同期させる。
この実施例では、1ビツトのハフマン符号は存在しない
ため、次に到来するクロックパルスφによってカウンタ
2がインクリメントされ、同時にシフトレジスタ1にハ
フマン符号の第2ビツトが入力される。これによってデ
コーダ3がカウンタ2のカウント値゛2”を受けてデコ
ードし、メモリ4a〜4hのうちのメモリ4aのみをイ
ネーブル状態とする。そして、イネーブル状態としたメ
モリ4aの中にシフ1−レジスタ1に入力された2ビツ
トのハフマン符号と対応する固定長データが存在すると
きは、メモリ4aからフラッグデーラダ′1”を出力し
、フラッグ検出部7からラッチパルスを出力する。これ
によってメモリ4aから出力される固定長データ(4ビ
ツト)がラッチ回路5にラッチされる。
こうして第1のハフマン符号の復号が終了すると、フラ
ッグ検出部7から出力されたラッチパルスがオア回路6
を経てカウンタ2にロードパルスとして供給され、次の
ハフマン符号の復号が再開される。
これに対して、メモリ4aの中に対応する固定長データ
が存在しないときは、次のクロックパルスφの到来によ
ってカウンタ2がインクリメントされ、同時にシフトレ
ジスタ1にハフマン符号の第3ビツトが入力される。デ
コーダ3はカウンタ2のカウント値“3゛をデコードし
、今度はメモリ4bのみをイネーブル状態として、前述
と同様の処理を行う。
このようにして、ハフマン符号を1ビツトずつシフトレ
ジスタ1に入力し、入力したビット数をカウンタ2でカ
ウントしてそのカウント値から入力されたハフマン符号
のビット数に対応するピント数(符号長)の変換テーブ
ルを選択し、選択した変換テーブルの中に入力されたハ
フマン符号に対応する固定長データが存在するか否かを
検出することによってハフマン符号の復号を行うように
している。
第4図は、ハフマン符号として“10001 ”という
データが入力されたときの動作を説明するためのタイミ
ングチャートである。
この復号回路は前述したようにスタートパルス(図(a
))によって起動され、クロックパルスφ(φ1.φ2
.φ3.・・・)(図(b))によって駆動される。
スタートパルスが入力されると、オア回路6を介してカ
ウンタ2にロードパルス(図(C))が供給され、カウ
ンタ2に「1」がロードされる。この間にパルスφ2が
到来するとカウンタ2のカウント値が「1」となり(図
(d))、同時にシフトレジスタlに第1ピッド′1′
′が入力される(図(e))。
次いで、パルスφ3が到来するとカウンタ2のカウント
値が「2」となり(図(d))、同時にシフトレジスタ
1に第2ビツト“′0”°が入力される(図(e))。
カウント値が「2」となったことによりデコーダ3から
メモリ4aを選択するチップセレクト信号が出力され、
同時にシフトレジスタ1の出力1〜2から2ビツトのデ
ータ“10゛がメモリ4aにアドレスとして供給される
。しかし、メモリ4aには、第3図の変換テーブルに示
すように、アドレス°“10゛′に対応する固定長デー
タは記憶されていないので、フラッグデータは“0″の
ままとなり、フラッグ検出部6からラッチパルスが出力
されない。
次いで、パルスφ4の到来によってカウンタ2のカウン
ト値が「3」となり(図(d))、同時にシフトレジス
タlに第3ビツト″0”が入力される(図(e))。こ
のためシフトレジスタ1の出力1〜3から3ビツトのデ
ータ“100″°が出力され、同時にデコーダ3からメ
モリ4bを選択するチップセレクト信号が出力される。
メモリ4bには、アドレス“′100”に対応する固定
長データ「2」が記憶されているので、フラッグデータ
が“′1′。
となり(図(f))、固定長データ「2」 (図(局)
が4ビツトの固定長データ”0010”として出力れる
一方、フラッグ検出部7はフラッグデータ“°1゛を受
けてラッチパルス(図(h))を出力し、このラッチパ
ルスによってラッチ回路5に固定長データをラッチする
(図(i))。これによって、ハフマン符号“’ioo
”が固定長デーラダ”o o i o”に変換されたこ
とになる。
次いで、フラッグ検出部7から出力されたラッチパルス
はオア回路6を経てカウンタ2にロードパルスとして供
給され、カウンタ2に再び「1」がロードされて次のハ
フマン符号の復号が行われる。
以下同様にして前述の動作を繰り返し、パルスφ6の到
来によってカウント値が「2」となると、デコーダ3の
出力によってメモリ4aが選択され、2ビットのデータ
“°01°゛がメモリ4aにアドレスとして供給される
。メモリ4aには、アドレス” 01 ”に対応する固
定長データ「1」が記憶されているので、フラッグデー
タ“1゛および固定長データ「1」がそれぞれ出力され
、固定長データ「1」は4ビツトの固定長データ“”0
001”としてラッチ回路5にラッチされる。
こうしてハフマン符号” 10001”は、符号“i 
o o ”が固定長データ「2」、符号+1011+が
固定長データ「1」にそれぞれ変換されて復号される。
〔発明の効果〕
この発明によれば、入力されるハフマン符号のビット数
をカウントし、そのカウント出力によってビット数(符
号長)別に設けた複数の変換チープルの中から対応する
ビット数の変換テーブルを選択し、選択した変換テーブ
ルの中に入力されたハフマン符号に対応する固定長デー
タが存在するか否かを検出することによってハフマン符
号の復号を行うようにしているので、従来の復号回路の
ように変換テーブルの他に符号長を記憶するレングステ
ーブルを設ける必要がなく、メモリの記憶容量を減少さ
せることが可能となる。
・・・ラッチ、 7・・・フラッグ検出部。

Claims (1)

  1. 【特許請求の範囲】 ビットシリアルに入力されるハフマン符号を直−並列変
    換するシフトレジスタと、 上記シフトレジスタに入力されるハフマン符号のビット
    数を計数するカウンタと、 上記カウンタのカウント値をデコードするデコーダと、 上記ハフマン符号の符号長別に固定長データを記憶する
    複数の変換テーブルとを備え、 上記デコーダの出力によって上記複数の変換テーブルの
    中から上記シフトレジスタに入力されるハフマン符号の
    ビット数と同一符号長の変換テーブルを選択し、この選
    択した変換テーブルの中に上記入力されるハフマン符号
    に対応する固定長データが存在するか否かを検出し、存
    在する場合は検出した固定長データを上記ハフマン符号
    の復号データとして出力することを特徴とするハフマン
    符号の復号回路。
JP11054590A 1990-04-27 1990-04-27 ハフマン符号の復号回路 Pending JPH0410716A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11054590A JPH0410716A (ja) 1990-04-27 1990-04-27 ハフマン符号の復号回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11054590A JPH0410716A (ja) 1990-04-27 1990-04-27 ハフマン符号の復号回路

Publications (1)

Publication Number Publication Date
JPH0410716A true JPH0410716A (ja) 1992-01-14

Family

ID=14538541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11054590A Pending JPH0410716A (ja) 1990-04-27 1990-04-27 ハフマン符号の復号回路

Country Status (1)

Country Link
JP (1) JPH0410716A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0599418A2 (en) * 1992-11-27 1994-06-01 Koninklijke Philips Electronics N.V. Encoding and decoding data
JPH07249994A (ja) * 1994-03-09 1995-09-26 Nec Corp ハフマン符号復号化回路
CN106788451A (zh) * 2016-11-30 2017-05-31 郑州云海信息技术有限公司 一种哈夫曼解码方法及其装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0599418A2 (en) * 1992-11-27 1994-06-01 Koninklijke Philips Electronics N.V. Encoding and decoding data
JPH07249994A (ja) * 1994-03-09 1995-09-26 Nec Corp ハフマン符号復号化回路
CN106788451A (zh) * 2016-11-30 2017-05-31 郑州云海信息技术有限公司 一种哈夫曼解码方法及其装置
CN106788451B (zh) * 2016-11-30 2021-03-09 苏州浪潮智能科技有限公司 一种哈夫曼解码方法及其装置

Similar Documents

Publication Publication Date Title
US4677421A (en) Digital information signal encoding method with reduced run length and improved self-clocking
US3689899A (en) Run-length-limited variable-length coding with error propagation limitation
US5173695A (en) High-speed flexible variable-length-code decoder
CA1193016A (en) Method and apparatus for n-to-m encoding
US3675211A (en) Data compaction using modified variable-length coding
EP0162558B1 (en) Method and apparatus for generating a run length limited code
US4731678A (en) Digital data recording and reproducing method
US4985700A (en) Variable-length coding/decoding device
JPH09130254A (ja) パルス変調方法とパルス変調装置及びパルス復調装置
KR940023249A (ko) 디지탈 신호의 부호화 방법, 부호화용 테이블 생성 방법, 부호화 장치 및 부호화 방법
JP3032134B2 (ja) 映像信号のための可変長復号器
JP2811651B2 (ja) 符号化/復号する方法と装置
JPH0410716A (ja) ハフマン符号の復号回路
GB2365723A (en) Serial to parallel conversion by extracting even and odd numbered data pulses synchronously with leading and trailing edges of clock pulses respectively
JPS6243382B2 (ja)
JP2563239B2 (ja) 同期パタ−ン選定方法
JPS6028171B2 (ja) Romを用いた符号復号回路
KR850001689B1 (ko) 디지탈 정보 인코딩 방법
JP2658826B2 (ja) 復調装置
JPH02265329A (ja) 符号逆変換装置
KR850000954B1 (ko) 복 호 장 치
JP2690175B2 (ja) 不等長符号復号回路
JPH05235775A (ja) 情報変換方法及びそれを用いた情報変換装置
JPH0918352A (ja) 並列入力/直列出力装置および並列入力/直列出力方法
JPH06164417A (ja) 符号化装置