JP2548272B2 - 可変長符号化コード復号装置 - Google Patents
可変長符号化コード復号装置Info
- Publication number
- JP2548272B2 JP2548272B2 JP63031231A JP3123188A JP2548272B2 JP 2548272 B2 JP2548272 B2 JP 2548272B2 JP 63031231 A JP63031231 A JP 63031231A JP 3123188 A JP3123188 A JP 3123188A JP 2548272 B2 JP2548272 B2 JP 2548272B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- code
- bit
- length
- decoded
- 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
【発明の詳細な説明】 産業上の利用分野 本発明は、画像データの通信・記録等のように、その
ままでは取り扱うデータ量が大規模となり、経済的でな
くなる場合に、データ圧縮及び冗長度抑圧を目的とした
可変長符号化コードの復号装置に関する。
ままでは取り扱うデータ量が大規模となり、経済的でな
くなる場合に、データ圧縮及び冗長度抑圧を目的とした
可変長符号化コードの復号装置に関する。
従来の技術 従来の可変長符号化コード復号装置は、可変長符号化
コードの生成メカニズムを逆にさかのぼっていく手法
で、コードの復号処理を行っている。つまり、コード化
の体系を二分岐枝による木構造であると見なし、その根
幹の方向から樹状端に向かってトレースを行うというや
り方である。これを、例えば第5図(a)の、ハフマン
の手法による符号化コード系を用いて説明する。ハフマ
ン符号では、事象A,B,C,D,Eがそれぞれ表示する生起確
率を有するときに、それぞれの生起確率について各ステ
ップで下位の2個の事象の生起確率の和を求めてまとめ
ていくという処理を行い、最後に処理すべき事象の数が
2個になった時にその処理を終了する。その後に逆方向
から各ステップ毎に“0"および“1"のコードを割り当て
て行けばよいという方法である。第5図(b)はこのコ
ード系を二分岐枝による木構造で示したものであり、こ
の木構造をトレースする形で復号処理が行われる。第5
図(a),(b)を用いて、その復号処理過程を説明す
ると、第1ビット目が、“1"であればそのコードは事象
Aを示しているとして復号処理が完了する。第1ビット
目が“0"であればP1分岐点に移動し、この場合は復号が
完了していないので次の第2ビット目を参照し、その値
が“1"であれば、そのコード“01"は事象Bを示してい
るとして復号処理が完了する。第2ビット目が“0"であ
ればP2分岐点へ移動し、以下、ある事象を示す端点まで
このようなトレース動作を繰り返す。このように、トレ
ースの方向を制御すると同時に、その移動後の点が最終
端点、つまり復号処理が終了したかどうかということを
フラグ情報を用いて、検出することにより、可変長符号
化コードの復号処理を実現することができる。
コードの生成メカニズムを逆にさかのぼっていく手法
で、コードの復号処理を行っている。つまり、コード化
の体系を二分岐枝による木構造であると見なし、その根
幹の方向から樹状端に向かってトレースを行うというや
り方である。これを、例えば第5図(a)の、ハフマン
の手法による符号化コード系を用いて説明する。ハフマ
ン符号では、事象A,B,C,D,Eがそれぞれ表示する生起確
率を有するときに、それぞれの生起確率について各ステ
ップで下位の2個の事象の生起確率の和を求めてまとめ
ていくという処理を行い、最後に処理すべき事象の数が
2個になった時にその処理を終了する。その後に逆方向
から各ステップ毎に“0"および“1"のコードを割り当て
て行けばよいという方法である。第5図(b)はこのコ
ード系を二分岐枝による木構造で示したものであり、こ
の木構造をトレースする形で復号処理が行われる。第5
図(a),(b)を用いて、その復号処理過程を説明す
ると、第1ビット目が、“1"であればそのコードは事象
Aを示しているとして復号処理が完了する。第1ビット
目が“0"であればP1分岐点に移動し、この場合は復号が
完了していないので次の第2ビット目を参照し、その値
が“1"であれば、そのコード“01"は事象Bを示してい
るとして復号処理が完了する。第2ビット目が“0"であ
ればP2分岐点へ移動し、以下、ある事象を示す端点まで
このようなトレース動作を繰り返す。このように、トレ
ースの方向を制御すると同時に、その移動後の点が最終
端点、つまり復号処理が終了したかどうかということを
フラグ情報を用いて、検出することにより、可変長符号
化コードの復号処理を実現することができる。
この手法は、実際のハードウェアでは、RAMあるいはR
OMを用いて分岐点情報をアドレスによって表現すること
により容易に実現することができる。
OMを用いて分岐点情報をアドレスによって表現すること
により容易に実現することができる。
発明が解決しようとする課題 しかしながら、この方法では、復号されるコードを1
ビットずつシフトして復号回路に入力し、復号処理を行
うため、復号されるべき可変長符号化コードのコード長
が長いと、復号処理に要する時間が長くなる欠点があっ
た。
ビットずつシフトして復号回路に入力し、復号処理を行
うため、復号されるべき可変長符号化コードのコード長
が長いと、復号処理に要する時間が長くなる欠点があっ
た。
すなわち、従来の方法では、復号されるべき可変長符
号化コードがmビット長であれば、m回のテーブル参照
を必要とし、コード長が長ければ、復号化にかかる時間
が長くなっていた。
号化コードがmビット長であれば、m回のテーブル参照
を必要とし、コード長が長ければ、復号化にかかる時間
が長くなっていた。
本発明は、かかる点に鑑み、復号されるべきコード
を、複数ビット一括で復号回路に与えることにより一回
の一致検出処理ごとに、可変長符号化コードを復号する
装置を提供するものである。
を、複数ビット一括で復号回路に与えることにより一回
の一致検出処理ごとに、可変長符号化コードを復号する
装置を提供するものである。
課題を解決するための手段 本発明は、要約するに、可変長符号化コードからなる
データ列を複数ビット単位で入力信号として入力し、そ
の入力信号に対し1ビット毎に、ドントケア部分を含ん
で予め定められた符号化コードテーブルと一致するか否
かの検出を行い、その入力信号に対応する固定長コード
データを出力するデータ比較アレイを備えた可変長符号
化コード復号装置である。また、上記装置は、復号され
るべき、可変長コードからなるデータ列を、直前に復号
処理を終了した可変長符号化コードのビット長の分だけ
シフトさせるバレルシフターをもっている。さらに、デ
ータ比較アレイによって可変長符号化コードを固定長コ
ードに復号し、その固定長コードに従ってパターンを生
成するパターン生成部と、復号された前記固定長コード
データを一時的に蓄積することのできるデータキューバ
ッファーを前記データ比較アレイと前記パターン生成部
との間に設けている。
データ列を複数ビット単位で入力信号として入力し、そ
の入力信号に対し1ビット毎に、ドントケア部分を含ん
で予め定められた符号化コードテーブルと一致するか否
かの検出を行い、その入力信号に対応する固定長コード
データを出力するデータ比較アレイを備えた可変長符号
化コード復号装置である。また、上記装置は、復号され
るべき、可変長コードからなるデータ列を、直前に復号
処理を終了した可変長符号化コードのビット長の分だけ
シフトさせるバレルシフターをもっている。さらに、デ
ータ比較アレイによって可変長符号化コードを固定長コ
ードに復号し、その固定長コードに従ってパターンを生
成するパターン生成部と、復号された前記固定長コード
データを一時的に蓄積することのできるデータキューバ
ッファーを前記データ比較アレイと前記パターン生成部
との間に設けている。
作用 本発明によれば、上記のように、入力される複数ビッ
トの可変長符号化コード列に対して、ドントケア部分を
含む一致検出をデータ比較アレイを用いて一括して行
う。これにより、一回の一致処理によって必ず一個の可
変長符号化コードに対する復号処理を行うことができ
る。
トの可変長符号化コード列に対して、ドントケア部分を
含む一致検出をデータ比較アレイを用いて一括して行
う。これにより、一回の一致処理によって必ず一個の可
変長符号化コードに対する復号処理を行うことができ
る。
実施例 本発明の可変長符号化コード復号装置の一実施例を図
面を用いて説明する。第1図は、本発明の一実施例を示
すブロック図であり、データシフター1、データ比較ア
レイ2、データキューバッファー3、パターン生成回路
4より構成される。複数ビットのデータシフトが可能な
前記データシフター1では、入力される可変長符号化コ
ードからなるデータから、前回の復号処理された可変長
符号化コードのビット長を、データ比較アレイ2からフ
ィードバックさせて、シフト量として与えることによ
り、今回の復号処理の対象となるデータを抽出する。デ
ータ比較アレイ2では、データシフター1から出力され
たデータが、ここに準備されている符号化コードテーブ
ルと間でドントケアを含む一致検出が行われる。
面を用いて説明する。第1図は、本発明の一実施例を示
すブロック図であり、データシフター1、データ比較ア
レイ2、データキューバッファー3、パターン生成回路
4より構成される。複数ビットのデータシフトが可能な
前記データシフター1では、入力される可変長符号化コ
ードからなるデータから、前回の復号処理された可変長
符号化コードのビット長を、データ比較アレイ2からフ
ィードバックさせて、シフト量として与えることによ
り、今回の復号処理の対象となるデータを抽出する。デ
ータ比較アレイ2では、データシフター1から出力され
たデータが、ここに準備されている符号化コードテーブ
ルと間でドントケアを含む一致検出が行われる。
データ比較アレイ2に入力されたデータの一致検出
は、予め定められた符号化コードテーブルと比較するこ
とによって行われる。その時、比較用の符号化コードテ
ーブルのビットメモリのうち、ある部分は一致しなくて
もよい、すなわち、ドントケアを指定することを、マス
ク機能と呼ぶ。これは、比較用の符号化テーブルに指示
を与えることによって決められる。
は、予め定められた符号化コードテーブルと比較するこ
とによって行われる。その時、比較用の符号化コードテ
ーブルのビットメモリのうち、ある部分は一致しなくて
もよい、すなわち、ドントケアを指定することを、マス
ク機能と呼ぶ。これは、比較用の符号化テーブルに指示
を与えることによって決められる。
また、一致検出された可変長コードのビット長は、次
回のデータシフト量として前記複数ビットデータシフタ
ー1にフィードバックされ、一致検出によって得られた
固定長コードは、データキューバッファー3を経て、パ
ターン生成回路4に与えられる。データキューバッファ
ー3は、先入れ先出し(FIFO)型RAMで構成され、パタ
ーン生成回路4でのパターン生成に要する時間が、復号
されたコードによって異なるため、パターン生成回路4
での処理時間とデータ比較アレイ2での処理時間との差
を吸収するために用いる。パターン生成回路4は、デー
タキューバッファー3から与えられる固定長コードによ
り、実際のデータパターンの生成を行う。たとえば、処
理される可変長符号化コードが、ファクシミリ等で用い
られるランレングスコードの場合には、このパターン生
成回路4では“白”及び“黒”に対応するビット列を生
成する。
回のデータシフト量として前記複数ビットデータシフタ
ー1にフィードバックされ、一致検出によって得られた
固定長コードは、データキューバッファー3を経て、パ
ターン生成回路4に与えられる。データキューバッファ
ー3は、先入れ先出し(FIFO)型RAMで構成され、パタ
ーン生成回路4でのパターン生成に要する時間が、復号
されたコードによって異なるため、パターン生成回路4
での処理時間とデータ比較アレイ2での処理時間との差
を吸収するために用いる。パターン生成回路4は、デー
タキューバッファー3から与えられる固定長コードによ
り、実際のデータパターンの生成を行う。たとえば、処
理される可変長符号化コードが、ファクシミリ等で用い
られるランレングスコードの場合には、このパターン生
成回路4では“白”及び“黒”に対応するビット列を生
成する。
以下図面を参照して本発明の実施例について詳細に説
明する。
明する。
第2図は、本発明の一実施例を示すブロック図であ
り、11はNビット幅のデータバス、12はマルチプレク
サ、13はNビット幅の下位データレジスタ、14はNビッ
ト幅の上位データレジスタ、15は制御部、16は2Nビット
のデータから、連続したNビットのデータをシフト操作
で選択できるバレルシフター、17は入力データレジス
タ、18はデータ比較アレイで、19のコンパレータアレイ
と20の復号情報テーブルから構成される。符号化コード
テーブルはコンパレータアレイ19に格納されており、復
号情報テーブルは、固定長コードと復号したデータのビ
ット数を含んでいる。21は出力データレジスタ、22はFI
FO型メモリ構造を有するデータキューバッファー、23は
データキューバッファー22に対するリード/ライト制御
部、24はパターン生成回路である。ここで、Nビットは
復号化対象の可変長符号化コードの最も長いコード長以
上のものであるとする。
り、11はNビット幅のデータバス、12はマルチプレク
サ、13はNビット幅の下位データレジスタ、14はNビッ
ト幅の上位データレジスタ、15は制御部、16は2Nビット
のデータから、連続したNビットのデータをシフト操作
で選択できるバレルシフター、17は入力データレジス
タ、18はデータ比較アレイで、19のコンパレータアレイ
と20の復号情報テーブルから構成される。符号化コード
テーブルはコンパレータアレイ19に格納されており、復
号情報テーブルは、固定長コードと復号したデータのビ
ット数を含んでいる。21は出力データレジスタ、22はFI
FO型メモリ構造を有するデータキューバッファー、23は
データキューバッファー22に対するリード/ライト制御
部、24はパターン生成回路である。ここで、Nビットは
復号化対象の可変長符号化コードの最も長いコード長以
上のものであるとする。
復号処理をされる可変長符号化コードからなるデータ
が、Nビット単位でデータバス11を通じて上位データレ
ジスタ14と下位データレジスタ13とに入力される。この
時、データは右ずめで下位データレジスタ13、上位デー
タレジスタ14の順に入力される。マルチプレクサ12は、
制御部15からの制御信号101に従い下位データレジスタ1
3に、データバス11のデータを入力するか、上位データ
レジスタ14のデータを入力するかを選択する。直前の復
号処理で復号されたコードのビット長がn1ビットであれ
ば、入力データレジスタ17のデータの中でn1ビット分は
既に用いられたものである。そこで上位データレジスタ
14中のデータと下位データレジスタ13中のデータとをバ
レルシフター16を用いて、今回復号処理を受けるべきデ
ータとして、入力データレジスタ17へ入力し、更新する
必要がある。現在、バレルシフターに与えられているシ
フト量n1に、今回のn2ビットのシフト量を加えたシフト
量がNビットを越えると(n1+n2>N)、シフト操作だ
けではNビットの有効データを、入力データレジスタ17
には与えられない。そこで、制御部15は、制御信号102
と101によって上位データレジスタ14のデータをマルチ
プレクサ12を通して下位データレジスタ13に転送し、そ
の後に制御信号103によりデータバス11を介して新規デ
ータを上位データレジスタ14に入力する。そして、(n1
+n2−N)を新しいシフト量として、バレルシフター16
によるシフト操作を行う。
が、Nビット単位でデータバス11を通じて上位データレ
ジスタ14と下位データレジスタ13とに入力される。この
時、データは右ずめで下位データレジスタ13、上位デー
タレジスタ14の順に入力される。マルチプレクサ12は、
制御部15からの制御信号101に従い下位データレジスタ1
3に、データバス11のデータを入力するか、上位データ
レジスタ14のデータを入力するかを選択する。直前の復
号処理で復号されたコードのビット長がn1ビットであれ
ば、入力データレジスタ17のデータの中でn1ビット分は
既に用いられたものである。そこで上位データレジスタ
14中のデータと下位データレジスタ13中のデータとをバ
レルシフター16を用いて、今回復号処理を受けるべきデ
ータとして、入力データレジスタ17へ入力し、更新する
必要がある。現在、バレルシフターに与えられているシ
フト量n1に、今回のn2ビットのシフト量を加えたシフト
量がNビットを越えると(n1+n2>N)、シフト操作だ
けではNビットの有効データを、入力データレジスタ17
には与えられない。そこで、制御部15は、制御信号102
と101によって上位データレジスタ14のデータをマルチ
プレクサ12を通して下位データレジスタ13に転送し、そ
の後に制御信号103によりデータバス11を介して新規デ
ータを上位データレジスタ14に入力する。そして、(n1
+n2−N)を新しいシフト量として、バレルシフター16
によるシフト操作を行う。
バレルシフター16では、制御部15からの制御信号104
に従い、上位データレジスタ14のデータと下位データレ
ジスタ13のデータとの2Nビットから、連続したNビット
のデータをシフト操作によって選択する。そして、この
選択されたNビットデータが入力データレジスタ17に入
力される。データ比較アレイ18の中に含まれているコン
パレータアレイ19は、各ビットセルに対して比較操作を
行う時、ドントケアを選択的に与えるマスク機能と、ワ
イヤードOR型の一致検出機能を有している。取り扱う符
号化コードテーブルの変更が容易であるようにするた
め、RAMでこの部分を構成する。第3図,第4図はその
一実施例である。第3図,第4図の詳細な説明は後述す
る。コンパレータアレイ19で得られた一致信号106は、
復号情報テーブル20に入力される。
に従い、上位データレジスタ14のデータと下位データレ
ジスタ13のデータとの2Nビットから、連続したNビット
のデータをシフト操作によって選択する。そして、この
選択されたNビットデータが入力データレジスタ17に入
力される。データ比較アレイ18の中に含まれているコン
パレータアレイ19は、各ビットセルに対して比較操作を
行う時、ドントケアを選択的に与えるマスク機能と、ワ
イヤードOR型の一致検出機能を有している。取り扱う符
号化コードテーブルの変更が容易であるようにするた
め、RAMでこの部分を構成する。第3図,第4図はその
一実施例である。第3図,第4図の詳細な説明は後述す
る。コンパレータアレイ19で得られた一致信号106は、
復号情報テーブル20に入力される。
復号情報テーブル20は、前述の一致信号に従いパター
ン生成回路24で実データとしてのパターン列を生成する
のに必要な固定長コードと、一致検出された可変長符号
化コードが何ビット長であったかを示す情報とを出力デ
ータレジスタ21に出力する。出力データレジスタ21から
は、一致検出された可変長符号化コードのビット長が、
信号線109により制御部15に入力され、バレルシフター1
6の次回の制御に用いられる。前記パターン生成回路24
を制御する固定長の情報は、信号線108を通じてデータ
キューバッファー22に入力される。データキューバッフ
ァー22への読み出し/書き込みは、データキューリード
/ライト制御回路23によって制御される。書き込みタイ
ミングは、制御部15から信号線110を介して与えられ、
読み出しタイミングは、パターン生成回路24から信号線
114を介して与えられる。但し、この時データキューバ
ッファー22がキューフルで新しい情報を書き込めない場
合、キューフルであることを示すQFL信号をQFL=“ハ
イ”として、信号線111を介して制御部15に戻し、QFL=
“ロウ”となりQFL信号が解除されるまで、データの一
致検出処理を一時停止させる。
ン生成回路24で実データとしてのパターン列を生成する
のに必要な固定長コードと、一致検出された可変長符号
化コードが何ビット長であったかを示す情報とを出力デ
ータレジスタ21に出力する。出力データレジスタ21から
は、一致検出された可変長符号化コードのビット長が、
信号線109により制御部15に入力され、バレルシフター1
6の次回の制御に用いられる。前記パターン生成回路24
を制御する固定長の情報は、信号線108を通じてデータ
キューバッファー22に入力される。データキューバッフ
ァー22への読み出し/書き込みは、データキューリード
/ライト制御回路23によって制御される。書き込みタイ
ミングは、制御部15から信号線110を介して与えられ、
読み出しタイミングは、パターン生成回路24から信号線
114を介して与えられる。但し、この時データキューバ
ッファー22がキューフルで新しい情報を書き込めない場
合、キューフルであることを示すQFL信号をQFL=“ハ
イ”として、信号線111を介して制御部15に戻し、QFL=
“ロウ”となりQFL信号が解除されるまで、データの一
致検出処理を一時停止させる。
一方、データキューバッファー22がキューエンプティ
で何らデータが存在しない場合は、キューエンプティで
あることを示すQEMP信号をQEMP=“ハイ”として、信号
線115を介してパターン生成回路24に入力し、QEMP=
“ロウ”となりQEMP信号が解除されるまで、パターン生
成処理を一時停止させる。このように、データキューバ
ッファー22は、パターン生成回路24の処理時間と一致検
出処理の処理時間との差を吸収する一種のバッファとし
て働く。パターン生成回路24は、可変長符号化コードに
コード化された実際のパターン列を生成する。
で何らデータが存在しない場合は、キューエンプティで
あることを示すQEMP信号をQEMP=“ハイ”として、信号
線115を介してパターン生成回路24に入力し、QEMP=
“ロウ”となりQEMP信号が解除されるまで、パターン生
成処理を一時停止させる。このように、データキューバ
ッファー22は、パターン生成回路24の処理時間と一致検
出処理の処理時間との差を吸収する一種のバッファとし
て働く。パターン生成回路24は、可変長符号化コードに
コード化された実際のパターン列を生成する。
次に、第3図,第4図を用いて、第2図中の一致検出
用のコンパレータアレイ19の一実施例について詳細に説
明する。
用のコンパレータアレイ19の一実施例について詳細に説
明する。
第3図は、コンパレータアレイを構成する1ビットの
比較回路であり、第4図はその比較回路を用いて5ワー
ド×5ビットのコンパレータアレイを構成した例であ
る。第1のP型トランジスタ31と、第2のP型トランジ
スタ32とのソース端子を電源端子304に接続する。第1
のP型トランジスタ31のドレイン端子を、第3のN型ト
ランジスタ33のソース端子と第5のN型トランジスタ35
のドレイン端子と接続し、さらに信号線306を介して第
2のP型トランジスタ32のゲート端子と第6のN型トラ
ンジスタ36のゲート端子と第1のインバータ48の入力に
接続する。第2のP型トランジスタ32のドレイン端子
を、第4のN型トランジスタ34のソース端子と第6のN
型トランジスタ36のドレイン端子と、さらに第1のP型
トランジスタ31のゲート端子と第5のN型トランジスタ
35のゲート端子とに接続する。第5のN型トランジスタ
35のソース端子と第6のN型トランジスタ36のソース端
子は接地する。第3,第4のN型トランジスタ33,34のド
レイン端子はそれぞれビット信号線302,303に接続す
る。第3,第4のN型トランジスタ33,34のゲート端子は
ともにコード情報ワード線301に接続する。
比較回路であり、第4図はその比較回路を用いて5ワー
ド×5ビットのコンパレータアレイを構成した例であ
る。第1のP型トランジスタ31と、第2のP型トランジ
スタ32とのソース端子を電源端子304に接続する。第1
のP型トランジスタ31のドレイン端子を、第3のN型ト
ランジスタ33のソース端子と第5のN型トランジスタ35
のドレイン端子と接続し、さらに信号線306を介して第
2のP型トランジスタ32のゲート端子と第6のN型トラ
ンジスタ36のゲート端子と第1のインバータ48の入力に
接続する。第2のP型トランジスタ32のドレイン端子
を、第4のN型トランジスタ34のソース端子と第6のN
型トランジスタ36のドレイン端子と、さらに第1のP型
トランジスタ31のゲート端子と第5のN型トランジスタ
35のゲート端子とに接続する。第5のN型トランジスタ
35のソース端子と第6のN型トランジスタ36のソース端
子は接地する。第3,第4のN型トランジスタ33,34のド
レイン端子はそれぞれビット信号線302,303に接続す
る。第3,第4のN型トランジスタ33,34のゲート端子は
ともにコード情報ワード線301に接続する。
第7のN型トランジスタ37のドレイン端子と第8のN
型トランジスタ38のドレイン端子はともにセンス信号線
309に接続する。第7のN型トランジスタ37のゲート端
子は、第1のインバータ48の出力信号を入力信号とする
第2のインバータ49の出力端子と接続する。同様に第8
図のN型トランジスタ38のゲート端子は第1のインバー
タ48の出力端子と接続する。第7のN型トランジスタ37
のソース端子は第9のN型トランジスタ39のドレイン端
子と接続する。第8のN型トランジスタ38のソース端子
は第10のN型トランジスタ40のドレイン端子と接続す
る。第9のN型トランジスタ39のゲート端子を被比較デ
ータ線310に接続し、第10のN型トランジスタ40のゲー
ト端子を被比較データ線311に接続する。第9,第10のN
型トランジスタ39,40のソース端子をともに第11のN型
トランジスタ41のドレイン端子に接続する。第11のN型
トランジスタ41のゲート端子を第3のインバータ50の出
力端子に接続し、そのソース端子を接地する。
型トランジスタ38のドレイン端子はともにセンス信号線
309に接続する。第7のN型トランジスタ37のゲート端
子は、第1のインバータ48の出力信号を入力信号とする
第2のインバータ49の出力端子と接続する。同様に第8
図のN型トランジスタ38のゲート端子は第1のインバー
タ48の出力端子と接続する。第7のN型トランジスタ37
のソース端子は第9のN型トランジスタ39のドレイン端
子と接続する。第8のN型トランジスタ38のソース端子
は第10のN型トランジスタ40のドレイン端子と接続す
る。第9のN型トランジスタ39のゲート端子を被比較デ
ータ線310に接続し、第10のN型トランジスタ40のゲー
ト端子を被比較データ線311に接続する。第9,第10のN
型トランジスタ39,40のソース端子をともに第11のN型
トランジスタ41のドレイン端子に接続する。第11のN型
トランジスタ41のゲート端子を第3のインバータ50の出
力端子に接続し、そのソース端子を接地する。
第12,第13のP型トランジスタ42,43のソース端子を電
源端子317に接続する。第12のP型トランジスタ42のド
レイン端子を第14のN型トランジスタ44のソース端子と
第6のN型トランジスタ46のドレインと接続し、さらに
信号線318を介して第3のインバータ50の入力端子と第1
3のP型トランジスタ43のゲート端子と第17のN型トラ
ンジスタ47のゲート端子に接続する。第13のP型トラン
ジスタ43のドレイン端子を第15のN型トランジスタ45の
ソース端子と第17のN型トランジスタ47のドレイン端子
と第12のP型トランジスタ42のゲート端子と第16のN型
トランジスタ46のゲート端子と接続する。第16,第17の
N型トランジスタ46,47のソース端子を接地する。第14
のN型トランジスタ44のドレイン端子をビット信号線31
4と接続し、第15のN型トランジスタ45のドレイン端子
をビット信号線315と接続する。第14,第15のN型トラン
ジスタ44,45のゲート端子をマスクワード線313に接続す
る。
源端子317に接続する。第12のP型トランジスタ42のド
レイン端子を第14のN型トランジスタ44のソース端子と
第6のN型トランジスタ46のドレインと接続し、さらに
信号線318を介して第3のインバータ50の入力端子と第1
3のP型トランジスタ43のゲート端子と第17のN型トラ
ンジスタ47のゲート端子に接続する。第13のP型トラン
ジスタ43のドレイン端子を第15のN型トランジスタ45の
ソース端子と第17のN型トランジスタ47のドレイン端子
と第12のP型トランジスタ42のゲート端子と第16のN型
トランジスタ46のゲート端子と接続する。第16,第17の
N型トランジスタ46,47のソース端子を接地する。第14
のN型トランジスタ44のドレイン端子をビット信号線31
4と接続し、第15のN型トランジスタ45のドレイン端子
をビット信号線315と接続する。第14,第15のN型トラン
ジスタ44,45のゲート端子をマスクワード線313に接続す
る。
次にこの比較回路の動作説明を行う。第3図におい
て、2点鎖線で囲まれた部分Aは、比較時に対照される
符号化コードテーブルのデータを記憶するメモリセルと
して働き、コード情報ワード線301を“ハイ”に設定す
ることにより、ビット信号線302,303からコード情報が
書き込まれる。但し、ビット信号線302,303は一方が
“ハイ”であれば、他方が“ロウ”である関係を有す
る。同様に、2点鎖線で囲まれた部分Bは、符号化コー
ドデータのうち一致を検出しなくてもよい、すなわちド
ントケアとするビット位置を指定するデータ(以後、マ
スクデータという)を記憶するメモリセルとして働き、
マスクワード線313を“ハイ”に設定することにより、
ビット信号線314,315からマスクデータが書き込まれ
る。
て、2点鎖線で囲まれた部分Aは、比較時に対照される
符号化コードテーブルのデータを記憶するメモリセルと
して働き、コード情報ワード線301を“ハイ”に設定す
ることにより、ビット信号線302,303からコード情報が
書き込まれる。但し、ビット信号線302,303は一方が
“ハイ”であれば、他方が“ロウ”である関係を有す
る。同様に、2点鎖線で囲まれた部分Bは、符号化コー
ドデータのうち一致を検出しなくてもよい、すなわちド
ントケアとするビット位置を指定するデータ(以後、マ
スクデータという)を記憶するメモリセルとして働き、
マスクワード線313を“ハイ”に設定することにより、
ビット信号線314,315からマスクデータが書き込まれ
る。
A,Bの部分以外がワイヤードOR型の一致検出回路とし
て動作する。今、比較される符号化コードデータが第1
のインバータ48の出力CDと第2のインバータ49の出力▲
▼と表わされ、マスクデータが第3のインバータ50
の出力と表わされ、ビット信号線310,311から入力さ
れる復号化しようとする可変長符号コードデータをそれ
ぞれDT,▲▼とし、センス信号線309をSENSEと表わ
し、それぞれのデータの組み合わせによりSENSEがどう
なるかを示したものが第1表である。
て動作する。今、比較される符号化コードデータが第1
のインバータ48の出力CDと第2のインバータ49の出力▲
▼と表わされ、マスクデータが第3のインバータ50
の出力と表わされ、ビット信号線310,311から入力さ
れる復号化しようとする可変長符号コードデータをそれ
ぞれDT,▲▼とし、センス信号線309をSENSEと表わ
し、それぞれのデータの組み合わせによりSENSEがどう
なるかを示したものが第1表である。
この表でPASSと書かれたものは、SENSEがこの比較回
路ではデータが一致したかドントケアの場合で、“ロ
ウ”レベルにならなかったことを意味し、FAILは不一致
のためにSENSEが“ロウ”レベルになったことを意味す
る。
路ではデータが一致したかドントケアの場合で、“ロ
ウ”レベルにならなかったことを意味し、FAILは不一致
のためにSENSEが“ロウ”レベルになったことを意味す
る。
第1表より明らかなように、=0の時、マスク機能
が働き、このビットはドントケアとして動作する。すな
わち、CD,▲▼の値とDT,▲▼の値とが一致でも
不一致でもPASSとなっている。一方、=1の時には、
一致検出動作を行う。すなわち、CD,▲▼の値とDT,
▲▼の値とが一致の時だけ、PASSとなっている。
が働き、このビットはドントケアとして動作する。すな
わち、CD,▲▼の値とDT,▲▼の値とが一致でも
不一致でもPASSとなっている。一方、=1の時には、
一致検出動作を行う。すなわち、CD,▲▼の値とDT,
▲▼の値とが一致の時だけ、PASSとなっている。
第4図においては、第3図の一致検出用比較回路をDi
j(i=1〜5,j=1〜5)で示す。比較すべきコード情
報を書き込むコード情報ワード線はCWi(i=1〜
5)、マスク機能をビット単位に与えるためのマスクデ
ータを書き込むマスクワード線はMWi(i=1〜5)で
ある。第3図において、コード情報及びマスクデータを
与えるビット信号線302,314及び303,315はそれぞれ▲
▼i(i=1〜5)及びCDi(i=1〜5)であり、
また被比較データ線310,311はそれぞれDTi(i=1〜
5)と▲▼i(i=1〜5)と示される。このアレ
イでは、まずCWi,MWiのワード線を順次選択して、ビッ
ト信号線CDi,▲▼iにより各比較回路Dijに対する
マスク情報と比較コード情報を設定し、その後に被比較
データ線DTi,▲▼iから復号化しようとする可変長
符号化コードデータを入力することにより、同時に複数
ビットのコードの一致検出を行うことができる。
j(i=1〜5,j=1〜5)で示す。比較すべきコード情
報を書き込むコード情報ワード線はCWi(i=1〜
5)、マスク機能をビット単位に与えるためのマスクデ
ータを書き込むマスクワード線はMWi(i=1〜5)で
ある。第3図において、コード情報及びマスクデータを
与えるビット信号線302,314及び303,315はそれぞれ▲
▼i(i=1〜5)及びCDi(i=1〜5)であり、
また被比較データ線310,311はそれぞれDTi(i=1〜
5)と▲▼i(i=1〜5)と示される。このアレ
イでは、まずCWi,MWiのワード線を順次選択して、ビッ
ト信号線CDi,▲▼iにより各比較回路Dijに対する
マスク情報と比較コード情報を設定し、その後に被比較
データ線DTi,▲▼iから復号化しようとする可変長
符号化コードデータを入力することにより、同時に複数
ビットのコードの一致検出を行うことができる。
この図の場合、比較結果は5ワード分で、Si(i=1
〜5)で示される。尚、図中のRは負荷60であり、Si
(i=1〜5)にプルアップ抵抗として加えて、ワイヤ
ードORを実現するために挿入される。
〜5)で示される。尚、図中のRは負荷60であり、Si
(i=1〜5)にプルアップ抵抗として加えて、ワイヤ
ードORを実現するために挿入される。
発明の効果 以上説明したように、本発明の可変長符号化コード復
号装置では、入力される複数ビットの可変長符号化コー
ド列を、ドントケア部分を含んで予め定められた符号化
コードテーブルと一致するか否かの一致検出をデータ比
較アレイを用いて一括して行うことにより、一回の一致
処理によって一個の可変長符号化コードに対する復号処
理を行うことが可能で、復号処理の高速化を実現するこ
とができる。
号装置では、入力される複数ビットの可変長符号化コー
ド列を、ドントケア部分を含んで予め定められた符号化
コードテーブルと一致するか否かの一致検出をデータ比
較アレイを用いて一括して行うことにより、一回の一致
処理によって一個の可変長符号化コードに対する復号処
理を行うことが可能で、復号処理の高速化を実現するこ
とができる。
第1図は本発明の原理ブロック図、第2図は本発明の実
施例のブロック図、第3図は1ビットの比較回路図、第
4図は第3図の比較回路を用いて5ワード×5ビット構
成のコンパレータアレイを構成した場合のブロック図、
第5図(a),(b)は符号化コードの二分岐枝による
木構造図である。 1……複数ビットデータシフター、2……データ比較ア
レイ、3……データキューバッファー、4……パターン
生成回路、11……Nビット幅のデータバス、12……マル
チプレクサ、13……下位データレジスタ、14……上位デ
ータレジスタ、15……制御部、16……バレルシフター、
17……入力データレジスタ、18……データ比較アレイ、
19……コンパレータアレイ、20……復号情報テーブル、
21……出力データレジスタ、22……データキューバッフ
ァー、23……データキューリード/ライト制御部、24…
…パターン生成回路、101〜104……制御信号線、105〜1
08……データ信号線、109〜112……制御信号線、113,11
6データ信号線、114,115……制御信号線、31〜47……ト
ランジスタ、48〜50……インバータ、301〜318……信号
線。
施例のブロック図、第3図は1ビットの比較回路図、第
4図は第3図の比較回路を用いて5ワード×5ビット構
成のコンパレータアレイを構成した場合のブロック図、
第5図(a),(b)は符号化コードの二分岐枝による
木構造図である。 1……複数ビットデータシフター、2……データ比較ア
レイ、3……データキューバッファー、4……パターン
生成回路、11……Nビット幅のデータバス、12……マル
チプレクサ、13……下位データレジスタ、14……上位デ
ータレジスタ、15……制御部、16……バレルシフター、
17……入力データレジスタ、18……データ比較アレイ、
19……コンパレータアレイ、20……復号情報テーブル、
21……出力データレジスタ、22……データキューバッフ
ァー、23……データキューリード/ライト制御部、24…
…パターン生成回路、101〜104……制御信号線、105〜1
08……データ信号線、109〜112……制御信号線、113,11
6データ信号線、114,115……制御信号線、31〜47……ト
ランジスタ、48〜50……インバータ、301〜318……信号
線。
Claims (2)
- 【請求項1】可変長符号化コードからなるデータ列を複
数ビット単位で入力データとして入力し、前記可変長符
号化コードの最も長いコード長以上の数をNとした場合
に、 前記入力データのうち2NビットのデータをNビット単位
で受け取る上位ビットレジスタと下位ビットレジスタ
と、 前記2Nビットのデータを復号されたコードのコード長n
に基づいてシフトし復号すべきNビットのデータを出力
するバレルシフターと、 前記復号すべきNビットのデータに対し1ビット毎に、
ドントケア部分を含んで予め定められた符号化コードテ
ーブルと一致するか否かの検出を行い、復号化された固
定長コードデータを出力するとともに、復号されたコー
ドのコード長nを前記バレルシフターにフィードバック
入力するデータ比較アレイとを備えた可変長符号化コー
ド復号装置。 - 【請求項2】データ比較アレイによって可変長符号化コ
ードを固定長コードに復号し、その固定長コードに従っ
てパターンを生成するパターン生成部と、復号された前
記固定長コードデータを一時的に蓄積することができる
データキューバッファーを前記データ比較アレイと前記
パターン生成部との間に設けたことを特徴とする特許請
求の範囲第1項記載の可変長符号化コード復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63031231A JP2548272B2 (ja) | 1988-02-12 | 1988-02-12 | 可変長符号化コード復号装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63031231A JP2548272B2 (ja) | 1988-02-12 | 1988-02-12 | 可変長符号化コード復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01206728A JPH01206728A (ja) | 1989-08-18 |
JP2548272B2 true JP2548272B2 (ja) | 1996-10-30 |
Family
ID=12325638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63031231A Expired - Lifetime JP2548272B2 (ja) | 1988-02-12 | 1988-02-12 | 可変長符号化コード復号装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2548272B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5566254B2 (ja) * | 2010-10-19 | 2014-08-06 | 三菱電機株式会社 | データ処理装置 |
-
1988
- 1988-02-12 JP JP63031231A patent/JP2548272B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH01206728A (ja) | 1989-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5150430A (en) | Lossless data compression circuit and method | |
CA2007168C (en) | Variable length string matcher | |
JP2915568B2 (ja) | テープドライブシステムのための適応データ圧縮装置 | |
US5440753A (en) | Variable length string matcher | |
JP2986076B2 (ja) | データを圧縮及び圧縮解除するための方法及び装置 | |
JP3225638B2 (ja) | データを圧縮するための装置及び方法並びにデータ処理システム | |
EP0634839A1 (en) | Data search device | |
US6437715B1 (en) | Decimal to binary coder/decoder | |
KR0138971B1 (ko) | 허프만 부호 복호회로 | |
KR870008446A (ko) | 2진 데이타 압축·신장 처리 장치 | |
CN114222973A (zh) | 用于解压缩包括多个数据流的压缩输入数据的解压缩引擎 | |
JPS61139846A (ja) | 誤り訂正・検出方式 | |
JP2548272B2 (ja) | 可変長符号化コード復号装置 | |
US5671238A (en) | Method and circuitry for generating r-bit parallel CRC code for an l-bit data source | |
De Agostino | A parallel decoding algorithm for LZ2 data compression | |
JP3138342B2 (ja) | 可変長符号の復号装置 | |
US11561738B2 (en) | Memory system | |
JPH07177040A (ja) | 可変長符号化装置 | |
Horelick | Simple, Versatile CAMAC Crate Controller and Interrupt Priority ENC Oding Module | |
JP2757716B2 (ja) | ハフマン符号復号回路 | |
JP3054787B2 (ja) | 可変長符号の復号装置 | |
JP3088785B2 (ja) | 可変長符号の復号装置 | |
JP2787146B2 (ja) | データ圧縮伸長装置 | |
SU968801A2 (ru) | Устройство дл параллельного счета количества единиц (нулей) в двоичном числе | |
KR100247062B1 (ko) | 링구조를 갖는 선입선출 방식 및 회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070808 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080808 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080808 Year of fee payment: 12 |