JP3415481B2 - 可変長符号の復号装置 - Google Patents

可変長符号の復号装置

Info

Publication number
JP3415481B2
JP3415481B2 JP14857799A JP14857799A JP3415481B2 JP 3415481 B2 JP3415481 B2 JP 3415481B2 JP 14857799 A JP14857799 A JP 14857799A JP 14857799 A JP14857799 A JP 14857799A JP 3415481 B2 JP3415481 B2 JP 3415481B2
Authority
JP
Japan
Prior art keywords
code
bits
bit
circuit
output
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 - Fee Related
Application number
JP14857799A
Other languages
English (en)
Other versions
JP2000341134A (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 Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP14857799A priority Critical patent/JP3415481B2/ja
Priority to EP00250165A priority patent/EP1056210A3/en
Priority to US09/580,129 priority patent/US6404359B1/en
Publication of JP2000341134A publication Critical patent/JP2000341134A/ja
Application granted granted Critical
Publication of JP3415481B2 publication Critical patent/JP3415481B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
を用いた可変長符号の復号装置に関する。
【0002】
【従来の技術】はじめに、モディファイド・ハフマン符
号(以下、単にMH符号と略す)について簡単に説明す
る。MH符号化方式とは、白/黒の2値画像に関して、
連続する同じ色(白か黒)の画素数(ランレングスと呼
ぶ)をMH符号に変換するものである。
【0003】MH符号では、白あるいは黒のランレング
スに対応する図9に示すようなターミネート符号や、図
10に示すようなメークアップ符号の2系統の符号を用
いている。これは、ランレングスを64で割った時の商
と余りとで表す方式であり、商に相当するのがメークア
ップ符号で、余りに相当するのが、ターミネート符号で
ある。従って、商をM、余りをTとすると、ランレング
スRLは、 RL=M×64+T で表すことができる。
【0004】ターミネート符号は、0〜63までのラン
レングスに対応しており、メークアップ符号は64の整
数倍で最大2560までのランレングスに対応してい
る。また、MH符号は「白」と「黒」を表すものに分か
れている。
【0005】例えば、図6に示すような白黒2値画像の
場合に、最初の白の画素が3つ続いていると、ランレン
グスは3となる。図9に示すMH符号のターミネート符
号表により、ランレングス3の白ラン用符号を見ると、
“1000”という符号を得ることができる。つまり、
0〜63画素までの範囲にあるランレングスは、ターミ
ネート符号だけで符号化する。
【0006】また、64画素以上のランレングスに関し
ては、まず、図10に示すメークアップ符号表を用いて
符号化する。その後、実際のランレングスと、メークア
ップ符号によって表されたランレングスとの差を表すタ
ーミネート符号が続く符号構成となる(図6の白130
のランレングスに対応する符号を参照)。
【0007】尚、ライン先頭の符号化は、白ランから行
い、実際に最初のランが黒ランの場合は、まず、ランレ
ングス0の白ランを符号化する。
【0008】次に、MH符号の特徴を説明する。MH符
号は、図7に示すフォーマットで構成されている。図7
に示すように、MH符号は最大13ビットで、そのビッ
トパターンの左側のビットが上位ビットで、右側のビッ
トが下位ビットである。MH符号は、0〜7個の上位ビ
ット領域71と、それに続く“1”の1ビット固定領域
72と、最大7ビットの下位ビット領域73とからな
る。上位ビット領域71の値は“0”であり、領域71
自体が存在しない場合もある。すなわち、MH符号は、
その符号系列において、最初の“1”が出現する前の
“0”の個数が最大7個であり、最初の“1”の後に続
く符号ビット数が最大でも7である。
【0009】例えば、図6の白画素が3個連続した時
は、領域71が存在せず、領域72の“1”と領域73
が“000”である4ビットのMH符号に符号化され
る。また、図6の白画素が130個連続した時は、領域
71が存在せず、領域72の“1”と領域73の“00
10”からなるMH符号と、領域71の1個の“0”
と、領域72の“1”と領域73の“11”からなるM
H符号が順次に出力される。MH符号は、上位ビットか
ら順次シリアルに伝送される。
【0010】次に、従来のMH符号の復号装置について
説明する。MH符号の復号化は、順次シリアルに伝送さ
れて入力されたMH符号をランレングスに変換するもの
である。これらの変換は、通常、ROM(リードオンリ
ーメモリ)に格納された復号化変換テーブルを参照して
行われる。
【0011】従来のMH符号の復号装置では、MH符号
が最大13ビットであることから、白/黒の情報1ビッ
トを加えた14ビットのアドレスを復号化変換ROMの
アドレスとして入力し、ランレングスの6ビット、符号
長の4ビット、ターミネート符号/メークアップ符号を
示す1ビットの合計11ビットの情報を得て、復号化を
行っている。
【0012】また、例えば、特公平2−2350に開示
されているMH符号の復号装置では、ROM容量を削減
するために、以下のような復号を行っている。すなわ
ち、この復号装置では、順次シリアルに伝送されて入力
されたMH符号系列において、最初の“1”が出現する
前の“0”の個数が最大7個であり、かつ最初の“1”
の後に続く符号ビット数が最大7であるという特性を利
用している。最初の“1”が出現する前の“0”の個数
を表す3ビットと、最初の“1”の後に続く符号7ビッ
トと、白/黒の情報1ビットを加えた11ビットのアド
レスを復号化変換ROMのアドレスとして入力する。そ
して、ランレングスの6ビット、1つのコードのうち、
連続する“0”の後に検出される“1”以降の実際の符
号の残りビット数を表す3ビット、ターミネート符号/
メークアップ符号を示す1ビットの合計10ビットの情
報を得て、復号化を行っている。
【0013】ただし、例えば33.6Kbps等の一定
レートで符号データが入力されてくる場合、符号長が比
較的長いものは、処理時間に余裕があるので良いが、比
較的短いものは、高速に処理をしなければ、次の処理に
間に合わなくなる。このため、ROMよりも高速に読み
出し可能なキャッシュメモリに一度処理した復号化デー
タを記憶し、同じ符号パターンが来たときに、復号デー
タをキャッシュメモリから読み出して利用し、低速なR
OMからの読み出しを省略するようにしている。
【0014】更に、特開平9−185548号には、高
速の参照が必要な比較的短い符号長に対応する復号デー
タを予め、キャッシュメモリに転送し、このキャッシュ
メモリをロックすることで、キャッシュミスを回避する
方法も提案されている。
【0015】図4は、従来のMH符号の復号装置の一例
を示すブロック図である。図4において、符号入力シフ
トレジスタ1はMH符号系列をビットシリアルに入力す
る8ビットのシフトレジスタであり、シフタ7により左
シフト制御がなされるようになっている。0カウント回
路3は、シフトレジスタ1における入力系列で最初に
“1”が出現するまでの最大7個の連続した“0”の数
を計数するものである。白/黒レジスタ2は、画像の白
または黒の色指定をなす1ビットのレジスタである。こ
こで、白/黒レジスタ2の内容は、後述の制御回路11
の出力T/Mビットの値がTを示す時、反転されるよう
になっている。
【0016】0カウントレジスタ4は、0カウント回路
3の計数出力である3ビットを保持するレジスタであ
る。ROM(リードオンリーメモリ)5は、復号化変換
用テーブルが予め格納されている記憶回路である。RO
M5は、0カウントレジスタ4の3ビットと、シフトレ
ジスタ1で最初に現れた“1”の後に続く7ビットの符
号ビットと、画像の白または黒の色を指定する白/黒レ
ジスタ2の1ビットとの合計11ビットをアドレス入力
とする。ROM5はまた、実際に復号するランレングス
(RL)を表す6ビットと、ターミネート符号/メーク
アップ符号(T/M)を示す1ビットと、シフトレジス
タ1で最初に現れた“1”の後に続く実際の符号の残り
ビット数を表す3ビットの合計10ビットを出力する。
【0017】キャッシュメモリ8は、高速に読み書きが
可能なメモリであり、アドレス入力として、0カウント
レジスタ4の3ビットと、白/黒レジスタ2のからの1
ビットが入力される。比較回路10は、シフトレジスタ
1の出力の上位7ビットと、キャッシュメモリ8から出
力されたタグ値7ビットとを比較し、一致した場合でか
つ、キャッシュメモリ8から出力される1ビットの有効
ビット値V(有効/無効)が有効の場合にのみ制御回路
11にキャッシュヒットを示す制御信号を出力する。そ
れ以外の場合、比較回路10はミスヒットの制御信号を
出力する。
【0018】制御回路11は、比較回路10からの制御
信号がキャッシュヒットの場合はキャッシュメモリ8か
ら出力されるランレングス(RL)を表す6ビットと、
ターミネート符号/メークアップ符号(T/M)を示す
1ビットと、シフトレジスタ1で最初に現れた“1”の
後に続く実際の符号の残りビット数を表す3ビットの合
計10ビットのデータを選択し出力する。比較回路6か
らの制御信号がミスヒットの場合、制御回路11は、R
OM5の10ビットのデータを選択して出力した後、こ
のデータをキャッシュメモリ8に書き込み、そのタグ部
にシフトレジスタ1の出力の上位7ビットを登録し、有
効ビットVをセット(有効に)する。
【0019】セレクタ6は、0カウントレジスタ4の3
ビット出力か、制御回路11の3ビット出力のいずれか
を選択してシフタ7への入力とするものである。シフタ
7は、この3ビット入力が示す数に「+1」を行って、
その数だけシフトレジスタ1の左シフト制御を行う。
【0020】画像生成回路12は、制御回路11からの
ランレングスの6ビット、白/黒レジスタ2からの1ビ
ット、ターミネート符号/メークアップ符号(T/M)
を示す1ビットの合計8ビットから、実際のランレング
ス画像を生成するものである。画像生成回路12の出力
は、FIFOメモリ13を介して画像情報として出力さ
れる。
【0021】図5は、図4の復号装置におけるキャッシ
ュメモリ8と比較回路10の構成例を示した図である。
キャッシュメモリ8は16ラインから構成されている。
各ラインは、タグ部、有効ビット(V)、データ(ラン
レングス、T/M、MH符号系列で最初に現れた“1”
の後に続く実際の符号の残りビット数)から成ってい
る。0カウントレジスタ4の3ビットと白/黒レジスタ
2の1ビットの合計4ビットがラインを選択するための
インデックスとなっている。また、シフトレジスタ1で
最初に現れた“1”の後に続く7ビットの符号ビットが
タグとなっており、ライン内の各データが有効か無効か
を示す1ビットの有効ビット(V)をタグに付随させて
持たせている。
【0022】比較回路10は、比較器101と論理積ゲ
ート102から構成されている。比較器101は、シフ
トレジスタ1で最初に現れた“1”の後に続く符号7ビ
ットと、キャッシュメモリ8から出力されたタグ値7ビ
ットとを比較し、一致した場合にラインヒットを表す制
御信号を出力する。論理積ゲート102は、比較器10
1からの制御信号と、キャッシュメモリ8から出力され
る1ビットの有効ビット値(V)との論理積を計算し出
力するものである。論理積ゲート102は、比較器10
1からの制御信号がラインヒットで、かつ、有効ビット
値(V)が有効の場合にのみキャッシュヒットを示す制
御信号を出力し、それ以外の場合にはミスヒットの制御
信号を出力する。
【0023】次に、上記の復号装置の動作について説明
する。図4において、順次シリアルに伝送されてきたM
H符号系列の最初の8ビットが符号入力用のシフトレジ
スタ1に入力される。この入力された値を0カウント回
路3を用いて、シフトレジスタ1の左端のビット位置か
ら最初に現れる“1”の前の0個数を得て、その値を0
カウントレジスタ4に格納する。0カウントレジスタ4
に格納された値は、セレクタ6により選択されて、シフ
タ7に送られる。
【0024】シフタ7では、この値に1を加えた値だけ
シフトレジスタ1の内容を左シフトすると共に、左シフ
トされたビット数だけ次の符号ビットをシフトレジスタ
1に入力する。これにより、シフトレジスタ1には、最
初に現れた“1”の後に続く最大7ビットの符号ビット
がセットされる。そして、このシフトレジスタ1で最初
に現れた“1”の後に続く7ビットの符号ビットと、白
/黒レジスタ2からの1ビットと、0カウントレジスタ
4の値を、アドレス値として、ROM5に入力する。R
OM5からは、ランレングス(RL)を表す6ビット
と、ターミネート符号/メークアップ符号を示す1ビッ
ト(T/M)と、最初に現れた“1”の後に続く実際の
符号の残りビット数(3ビット)の合計10ビットが出
力される。
【0025】これは図8に示されている。一方、0カウ
ントレジスタ4の出力の3ビットと、白/黒レジスタ2
の1ビットの合計4ビットは、アドレスとして、キャッ
シュメモリ8にも入力される。
【0026】図5を参照して、キャッシュメモリ8で
は、0カウントレジスタ4の3ビットと白/黒レジスタ
2の1ビットの合計4ビットをインデックスとしてライ
ンを選ぶ。キャッシュメモリ8からは、選ばれたライン
のタグ7ビット、有効ビット値(V)の1ビット、デー
タ(ランレングス、T/M、最初に現れた“1”の後に
続く実際の符号の残りビット数)の10ビットが出力さ
れる。選ばれたラインのタグは、比較器101に入力さ
れる。比較器101では、キャッシュメモリ8から出力
されたタグ値7ビットと、シフトレジスタ1で最初に現
れた“1”の後に続く7ビットとを比較し、一致した場
合にラインヒットを表す制御信号を出力する。論理積ゲ
ート102は、比較器101からの制御信号と、キャッ
シュメモリ8の選ばれたラインの有効ビット値(V)と
を受け、それらの論理積を計算して出力する。論理積ゲ
ート102からは、比較器101からの制御信号がライ
ンヒットで、かつ有効ビット値(V)が有効の場合にの
みキャッシュヒットを示す制御信号が出力され、それ以
外の場合にはミスヒットの制御信号が出力される。
【0027】図4に戻って、比較回路10からの制御信
号がキャッシュヒットの場合、制御回路11は、キャッ
シュメモリ8から出力されるランレングス(RL)を表
す6ビットと、ターミネート符号/メークアップ符号
(T/M)を示す1ビットと、最初に現れた“1”の後
に続く実際の符号の残りビット数を表す3ビットの合計
10ビットのデータを選択し出力する。比較回路10か
らの制御信号がミスヒットの場合、制御回路11は、R
OM5の10ビットのデータを選択し出力する。
【0028】続いて制御回路11は、このデータを0カ
ウントレジスタ4の3ビットと白/黒レジスタ2の1ビ
ットの合計4ビットで指定されるキャッシュメモリ8の
ラインに書き込む。制御回路11は更に、そのラインの
タグ部にシフトレジスタ1の出力の上位7ビットを登録
し、有効ビット(V)をセットする。これらの値は、次
回以降のキャッシュメモリ8のアクセスに使用される。
【0029】制御回路11から出力される10ビットの
データ(RL、T/M、最初に現れた“1”の後に続く
実際の符号の残りビット数)のうち、6ビットのランレ
ングス(RL)と1ビットのT/Mビットは、白/黒レ
ジスタ2の1ビットと共に画像生成回路12にパラレル
入力される。これらのデータは、画像生成回路12で画
像信号に復元された後、FIFOメモリ13にシリアル
入力される。ここで、T/Mビットの値がM(メークア
ップ符号)であった場合、ランレングスRLの値が64
倍されて復号される。T/Mビットの値がT(ターミネ
ート符号)であった場合、ランレングスRLの値はその
まま復号され、白/黒レジスタ2の内容は反転される。
【0030】また、制御回路11からは最初に現れた
“1”の後に続く実際の符号の残りビット数も出力さ
れ、セレクタ6により選択されてシフタ7に入力され
る。この最初に現れた“1”の後に続く実際の符号の残
りビット数は、次に復号化する符号の先頭位置を決める
情報となる。すなわち、制御回路11から出力された最
初に現れた“1”の後に続く実際の符号の残りビット数
は、セレクタ6を介してシフタ7に供給される。シフタ
7は、その値だけシフトレジスタ1の内容を左シフト
し、シフトレジスタ1にはシフト数だけ符号ビットが入
力される。これにより、シフトレジスタ1には、次に復
号化しようとする符号がセットされる。上記の操作を符
号入力がなくなるまで実行して復号を行う。
【0031】
【発明が解決しようとする課題】上記のような従来のM
H符号の復号装置では、可変長符号の一部をアドレス入
力として、キャッシュメモリ8をアクセスするため、キ
ャッシュメモリ8へのデータ格納に無駄が生じる。この
ため、キャッシュメモリ8へのヒット率も低いという問
題点があった。
【0032】例えば、図4に示した復号装置で、最初に
黒16(符号:0000010111)をデコードする
場合、0カウントレジスタ4の値は、0101(5)、
白/黒レジスタ2の値は黒(1)、最初に現れた“1”
の後に続く7ビットの符号は、0111XXX(ただ
し、XXXは、符号系列で黒16に続く次の符号の一
部)である。
【0033】このため、キャッシュメモリ8に入力され
るアドレス(インデックス)は、0カウントレジスタ4
の3ビットと、白/黒レジスタ2の1ビットの合計4ビ
ットの値なので01011、タグは最初に現れた“1”
の後に続く7ビットの符号なので、0111XXXとな
る。この場合、一番最初なので、キャッシュメモリ8に
はミスヒットで、ROM5から、データ(RL、T/
M、最初に現れた“1”の後に続く実際の符号の残りビ
ット数)が読み出される。このデータは、キャッシュメ
モリ8の01011番目のラインのデータ領域に格納さ
れる。同時にタグには0111XXXが格納され、有効
ビット(V)もセットされる。
【0034】次回以降のアクセスで黒16の符号が来た
場合、キャッシュメモリ8へは、アドレス(インデック
ス)として、01011が入力され、タグ値として、前
回格納した0111XXXが出力される。ただし、2回
目の黒16の後に続く符号が、1回目の黒16の後に続
く符号と同じである保証はないため、シフトレジスタ1
に格納された、最初に現れた“1”の後に続く7ビット
の符号は、0111YYY(ただし、YYYは、符号系
列で2回目の黒16に続く次の符号の一部)である。
【0035】ここで、符号系列で1回目の黒16に続く
次の符号の一部である“XXX”と、2回目の黒16に
続く次の符号の一部である“YYY”は必ずしも等しい
とは限らない。
【0036】従って、比較回路10にシフトレジスタ1
から入力されるデータは、0111YYYであり、必ず
しも、キャッシュメモリ8からのタグ値0111XXX
に等しいとは限らない。このため、黒16の復号化デー
タがキャッシュメモリ8上にあるにも関わらず、キャッ
シュミスとなり、必ずヒットするわけではない。
【0037】このように、従来のMH符号等の可変長符
号の復号化装置では、キャッシュメモリのヒット、ミス
ヒットの判断は、キャッシュメモリへの入力アドレスの
一部と、キャッシュメモリに格納されたタグの一致/不
一致で行われる。この時、キャッシュメモリの入力アド
レスには、可変長符号の一部が使用される。ただし、こ
の符号が入力された時点では、どこまでが符号であるか
不明であるため、最大符号長より短い符号が対象の場
合、実際の符号データ以外のデータ(この符号の後続の
符号データ)が入力アドレス値の一部となる。また、キ
ャッシュメモリに格納されているタグ値にも、復号化変
換ROMへの入力アドレス(可変長符号の一部)が使わ
れるため、実際の符号データ以外のデータ(この符号の
後続の符号データ)がタグ値の一部となる。このため、
実際の符号データ以外のデータ部分が同一であるとは限
らないため、キャッシュメモリへの入力アドレスの一部
と、キャッシュメモリに格納されたタグとは一致せず、
ミスヒットとなる場合が出てくる。
【0038】したがって、復号化データがキャッシュメ
モリ上にあるにも関わらず、キャッシュミスとなる場合
が存在し、キャッシュメモリのヒット率が低いという問
題点があった。
【0039】また、上記の特開平9−185548号の
ように比較的短い符号長に対応する復号データを予め、
キャッシュメモリに転送し、このキャッシュメモリをロ
ックしてキャッシュミスを回避する場合は、参照すべき
対象データがキャッシュメモリ上に無いことに起因する
キャッシュメモリのミスヒットは削減できるが、上記の
復号化データがキャッシュメモリ上にあるにも関わら
ず、キャッシュミスとなる問題点は、従来同様、存在す
る。
【0040】そこで、本発明の課題は、キャッシュメモ
リに効率よくデータを格納し、ヒット率の向上を図っ
た、キャッシュメモリを用いた可変長符号の復号装置を
提供することにある。
【0041】
【課題を解決するための手段】本発明のMH符号の復号
装置は、第1の部分と第2の部分からなる可変長符号の
前記第1の部分と第2の部分に基づいてアドレスとし、
当該アドレスに復号データ及び前記第2の部分の実符号
長を格納したROMと、前記可変長符号の第1の部分に
基づいてインデックスとし、第2の部分をタグとして、
前記復号データ及び前記第2の部分の実符号長を格納す
るキャッシュメモリとを備えた復号装置であって、被復
号可変長符号の前記第2の部分と前記キャッシュメモリ
のタグを前記キャッシュメモリ内の前記実符号長分だけ
比較することで、前記キャッシュメモリのヒット・ミス
ヒットの判定を行なうヒット・ミスヒット判断手段を備
えたことを特徴とする。特に、前記可変長符号はMH符
号系列であり、前記第1の部分はMH符号系列の先頭か
ら最初に1が出現するまでの0が続いた部分であり、前
記第2の部分はMH符号の最初に1が出現した後の残り
の符号であり、前記キャッシュメモリのインデックスは
前記第1の部分の0の個数である。
【0042】なお、前記ヒット・ミスヒット判断手段
は、マスク回路と比較回路とから成り、前記マスク回路
は、MH符号系列で最初に現れた“1”の後に続く7ビ
ットの符号ビットと、前記キャッシュメモリから出力さ
れるタグ値7ビットと、データの一部である最初に現れ
た“1”以降の実際の符号の残りビット数とを受けて、
前記最初に現れた“1”以降の実際の符号の残りビット
数以外をマスクした符号7ビットと、前記最初に現れた
“1”以降の実際の符号の残りビット数以外をマスクし
たタグ値7ビットとを出力し、前記比較回路は、前記マ
スク回路でマスクされた符号7ビットと前記マスク回路
でマスクされたタグ値7ビットとを比較し、一致した場
合でかつ、前記キャッシュメモリから出力される1ビッ
トの有効ビット値(V)が有効の場合にのみキャッシュ
ヒットの制御信号を出力し、それ以外の場合にはミスヒ
ットの制御信号を出力することを特徴とする。
【0043】また、前記マスク回路は、マスク値生成回
路と、第1、第2の論理積回路とから構成され、前記マ
スク値生成回路は、前記最初に現れた“1”以降の実際
の符号の残りビット数を受けて、前記最初に現れた
“1”以降の実際の符号の残りビット数以外を、マスク
値7ビットとして出力し、前記第1の論理積回路は、前
記マスク値7ビットと、前記キャッシュメモリから出力
されたタグ値7ビットとを受けて、これらの論理積を計
算することで、前記最初に現れた“1”以降の実際の符
号の残りビット数以外をマスクし、前記第2の論理積回
路は、前記マスク値7ビットと前記MH符号系列で最初
に現れた“1”の後に続く7ビットの符号ビットとを受
けて、これらの論理積を計算することで、最初に現れた
“1”以降の実際の符号の残りビット数以外をマスクす
ることを特徴とする。
【0044】更に、前記比較回路は、比較器と論理積ゲ
ートとから構成され、前記比較器は、前記マスク回路で
マスクされた符号7ビットと前記マスク回路でマスクさ
れたタグ値7ビットとを比較して、一致した場合にライ
ンヒットを表す制御信号を出力し、前記論理積ゲート
は、前記比較器からの制御信号と、前記キャッシュメモ
リから出力される1ビットの有効ビット値(V)との論
理積を計算して、前記比較器からの制御信号がラインヒ
ットで、かつ、前記有効ビット値(V)が有効の場合に
のみキャッシュヒットを示す制御信号を出力し、それ以
外の場合にはミスヒットの制御信号を出力することを特
徴とする。
【0045】本発明によればまた、前記キャッシュメモ
リを複数個有し、前記ヒット・ミスヒット判断手段は、
前記複数のキャッシュメモリのそれぞれに対応して設け
られたマスク回路と比較回路とを含み、前記各マスク回
路は、MH符号系列で最初に現れた“1”の後に続く7
ビットの符号ビットと、対応する前記キャッシュメモリ
から出力されるタグ値7ビットと、データの一部である
最初に現れた“1”以降の実際の符号の残りビット数と
を受けて、前記最初に現れた“1”以降の実際の符号の
残りビット数以外をマスクした符号7ビットと、前記最
初に現れた“1”以降の実際の符号の残りビット数以外
をマスクしたタグ値7ビットとを出力し、前記各比較回
路は、対応する前記マスク回路でマスクされた符号7ビ
ットと対応する前記マスク回路でマスクされたタグ値7
ビットとを比較し、一致した場合でかつ、前記キャッシ
ュメモリから出力される1ビットの有効ビット値(V)
が有効の場合にのみキャッシュヒットの制御信号を出力
し、それ以外の場合にはミスヒットの制御信号を出力す
る復号装置が提供される。この場合、該復号装置は更
に、制御回路と、符号入力用のシフトレジスタと、入力
符号系列で最初に“1”が出現するまでの最大7個の連
続した“0”の数を検出して3ビットを出力する0検出
手段と、前記0検出手段の検出結果の3ビットと、最初
に現れた“1”以降の7ビットの符号ビットと、対象と
なる画像の白/黒を示す1ビットとの合計11ビットを
アドレス入力とし、実際に復号するランレングス(R
L)を表す6ビットと、ターミネート符号/メークアッ
プ符号(T/M)を示す1ビットと、最初に現れた
“1”以降の実際の符号の残りビット数を表す3ビット
の合計10ビットを出力する復号化変換用ROMと、複
数の前記比較回路からの制御信号のいずれかがキャッシ
ュヒットの場合に、キャッシュヒットの制御信号を前記
制御回路に出力すると共に、どのキャッシュメモリがキ
ャッシュヒットしたかを示す判定信号を出力し、どの制
御信号もキャッシュミスの場合は、ミスヒットの制御信
号を前記制御回路に出力する判定回路と、前記判定信号
を受けて、該判定信号に基づいて、複数のキャッシュメ
モリのそれぞれから出力される10ビットのデータのう
ち、キャッシュヒットしたキャッシュメモリから出力さ
れる前記10ビットのデータを選択して出力する第1の
セレクタと、複数の前記キャッシュメモリからそれぞれ
出力される1ビットの有効ビット値(V)を受け、有効
ビット値(V)が無効となっているものがあれば、その
キャッシュメモリを選択するための選択制御信号を出力
し、いずれの有効ビット値(V)も有効であった場合に
は、複数の前記キャッシュメモリのうち、いずれか一つ
を強制的に選択して、それを示す選択制御信号を出力す
る選択回路と、前記選択制御信号を受けて、該選択制御
信号に基づいて、複数の前記キャッシュメモリのいずれ
か一つを選択する第2のセレクタとを含み、前記判定回
路からの制御信号がミスヒットの場合、前記制御回路
は、前記復号化変換用ROMの10ビットのデータを選
択して出力した後、このデータを前記第2のセレクタへ
も出力し、選択されたキャッシュメモリは、前記0検出
手段からの3ビットと画像の白/黒を示す1ビットの合
計4ビットで指定されるラインに、前記第2のセレクタ
を介して、10ビットのデータを書き込むと共に、デー
タを書き込んだラインのタグ部に前記シフトレジスタの
出力の上位7ビットを登録し、かつ有効ビット値(V)
をセットし、これらの値が、次回以降のキャッシュメモ
リのアクセスに使用されることを特徴とする。
【0046】
【作用】本発明では、可変長符号をアドレスとしてキャ
ッシュメモリをアクセスして復号化する。その際、キャ
ッシュメモリのヒット、ミスヒットの判断は、最初に現
れた“1”の後に続く7ビットの符号とキャッシュメモ
リに格納されたタグの一致/不一致で行われる。ここ
で、キャッシュメモリのヒット、ミスヒットの判断を、
キャッシュメモリから出力される最初に現れた“1”以
降の実際の符号の残りビット数を表す3ビットの情報を
使って、実符号長分以外をマスクし、比較することで行
うようにして、キャッシュメモリのヒット率を向上させ
ている。
【0047】
【発明の実施の形態】次に、本発明の実施の形態につい
て説明する。図1は、本発明のMH符号の復号装置の第
1の実施の形態を示すブロック図であり、マスク回路9
を備えた点に特徴を有する。図4に示された要素と同じ
部分には同一番号を付している。図1において、符号入
力用のシフトレジスタ1は、MH符号系列をビットシリ
アルに入力する8ビットのシフトレジスタであり、シフ
タ7により左シフト制御がなされる。0カウント回路3
は、シフトレジスタ1における入力系列で最初に“1”
が出現するまでの最大7個の連続した“0”の数を計数
するものである。白/黒レジスタ2は、画像の白または
黒の色指定をなす1ビットのレジスタである。ここで、
白/黒レジスタ2の内容は、後述の制御回路11の出力
T/Mビットの値がTを示す時、反転されるようになっ
ている。0カウントレジスタ4は、0カウント回路3の
計数出力である3ビットを保持するレジスタである。
【0048】ROM5は、復号化変換用テーブルが予め
格納されている記憶回路である。ROM5は、0カウン
トレジスタ4の3ビットと、シフトレジスタ1で最初に
現れた“1”の後に続く7ビットの符号ビットと、画像
の白または黒の色を指定する白/黒レジスタ2の1ビッ
トとの合計11ビットをアドレス入力とする。ROM5
はまた、実際に復号するランレングス(RL)を表す6
ビットと、ターミネート符号/メークアップ符号(T/
M)を示す1ビットと、シフトレジスタ1で最初に現れ
た“1”の後に続く実際の符号の残りビット数を表す3
ビットの合計10ビットを出力する。
【0049】キャッシュメモリ8は、高速に読み書きが
可能なメモリであり、アドレス入力として、0カウント
レジスタの3ビットと、白/黒レジスタ2の1ビットの
合計4ビットが入力される。マスク回路9には、シフト
レジスタ1の上位7ビット(最初に現れた“1”の後に
続く7ビットの符号)と、キャッシュメモリ8から出力
されるタグ値7ビットと、キャッシュメモリ8から出力
されるデータの一部である、最初に現れた“1”の後に
続く実際の符号の残りビット数が入力される。マスク回
路9からは、最初に現れた“1”の後に続く実際の符号
の残りビット数以外をマスクしたシフトレジスタ1の上
位7ビットと、最初に現れた“1”の後に続く実際の符
号の残りビット数以外をマスクしたタグ値7ビットとが
出力される。
【0050】比較回路10は、マスク回路9を介してマ
スクされたシフトレジスタ1の出力の上位7ビットと、
マスク回路9でマスクされたキャッシュメモリ8から出
力されたタグ値7ビットとを比較する。比較回路10
は、比較の結果、一致した場合でかつ、キャッシュメモ
リ8から出力される1ビットの有効ビット値(V)が有
効の場合にのみ制御回路11にキャッシュヒットを示す
制御信号を出力する。比較回路10は、それ以外の場合
にはミスヒットの制御信号を出力する。
【0051】制御回路11は、比較回路10からの制御
信号がキャッシュヒットの場合はキャッシュメモリ8か
ら出力されるランレングス(RL)を表す6ビットと、
ターミネート符号/メークアップ符号(T/M)を示す
1ビットと、シフトレジスタ1で最初に現れた“1”の
後に続く実際の符号の残りビット数を表す3ビットの合
計10ビットのデータを選択し出力する。比較回路6か
らの制御信号がミスヒットの場合、制御回路11は、R
OM5の10ビットのデータを選択し出力した後、この
データをキャッシュメモリ8に書き込み、そのタグ部に
シフトレジスタ1の出力の上位7ビットを登録し、有効
ビット(V)をセットする。
【0052】セレクタ6は、0カウントレジスタ4の3
ビット出力か制御回路11の3ビット出力のいずれかを
選択してシフタ7への入力とする。シフタ7はこの3ビ
ット入力が示す数に「+1」を行って、その数だけシフ
トレジスタ1の左シフト制御を行う。
【0053】画像生成回路12は、制御回路11からの
ランレングスの6ビット、白/黒レジスタ2からの1ビ
ット、ターミネート符号/メークアップ符号(T/M)
を示す1ビットの合計8ビットから、実際のランレング
ス画像を生成する。生成されたランレングス画像は、F
IFOメモリ13を介して画像情報として出力される。
【0054】図2は、図1における復号装置のキャッシ
ュメモリ8とマスク回路9と比較回路10の構成例を示
した図である。図2において、キャッシュメモリ8は1
6ラインから構成される。各ラインは、タグ部、有効ビ
ット(V)、データ(ランレングス、T/M、最初に現
れた“1”の後に続く実際の符号の残りビット数)から
成っている。0カウントレジスタ4の3ビットと白/黒
レジスタ2の1ビットの合計4ビットがラインを選択す
るためのインデックスとなっている。また、シフトレジ
スタ1で最初に現れた“1”の後に続く7ビットがタグ
となっており、ライン内の各データが有効か無効かを示
す1ビットの有効ビット(V)をタグに付随させて持た
せている。
【0055】マスク回路9は、マスク値生成回路91
と、論理積回路92、93とから構成されている。マス
ク値生成回路91には、最初に現れた“1”の後に続く
実際の符号の残りビット数(3ビット)が入力される。
マスク値生成回路91は、最初に現れた“1”の後に続
く実際の符号の残りビット数以外を、後段の論理積回路
92、93でマスクするためのマスク値(7ビット)を
出力する。
【0056】例えば、MH符号系列で最初に現れた
“1”の後に続く実際の符号の残りビット数が011
(3)の場合、マスク値は、1110000となる。論
理積回路92には、このマスク値7ビットと、キャッシ
ュメモリ8から出力されたタグ値7ビットとが入力され
る。論理積回路92は、これらの論理積を計算すること
で、最初に現れた“1”の後に続く実際の符号の残りビ
ット数以外をマスクする。一方、論理積回路93には、
マスク値7ビットと、シフトレジスタ1で最初に現れた
“1”の後に続く7ビットの符号ビットが入力される。
論理積回路93は、これらの論理積を計算することで、
最初に現れた“1”の後に続く実際の符号の残りビット
数以外をマスクする。
【0057】比較回路10は、比較器101と論理積ゲ
ート102から構成されている。比較器101は、マス
ク回路9を介してマスクされた、シフトレジスタ1で最
初に現れた“1”の後に続く7ビットと、マスク回路9
を介してマスクされた、キャッシュメモリ8から出力さ
れたタグ値7ビットとを比較し、一致した場合にライン
ヒットを表す制御信号を出力する。論理積ゲート102
は、比較器101からの制御信号と、キャッシュメモリ
8から出力される1ビットの有効ビット値(V)との論
理積を計算して出力する。論理積ゲート102は、比較
器101からの制御信号がラインヒットで、かつ、有効
ビット値(V)が有効の場合にのみキャッシュヒットを
示す制御信号を出力し、それ以外の場合にはミスヒット
の制御信号を出力する。
【0058】次に、第1の実施の形態による復号装置の
動作について説明する。図1において、順次シリアルに
伝送されてきたMH符号系列の最初の8ビットが符号入
力用のシフトレジスタ1に入力される。この入力された
値を0カウント回路3を用いて、シフトレジスタ1の左
端のビット位置から最初に現れる“1”の前の0個数を
得て、その値を0カウントレジスタ4に格納する。0カ
ウントレジスタ4に格納された値は、セレクタ6により
選択されて、シフタ7に送られる。
【0059】シフタ7では、この値に1を加えた値だけ
シフトレジスタ1の内容を左シフトすると共に、左シフ
トされたビット数だけ次の符号ビットをシフトレジスタ
1に入力する。これにより、シフトレジスタ1には、最
初に現れた“1”の後に続く最大7ビットの符号ビット
がセットされる。そして、ROM5には、最初に現れた
“1”の後に続く7ビットの符号ビットと、白/黒レジ
スタ2のからの1ビットと、0カウントレジスタ4の3
ビットの合計11ビットがアドレス値として、入力され
る。ROM5からは、ランレングス(RL)を表す6ビ
ットと、ターミネート符号/メークアップ符号(T/
M)を示す1ビットと、最初に現れた“1”の後に続く
符号ビットのビット数(3ビット)の合計10ビットが
出力される。
【0060】これは、図8に示されている通りである。
一方、0カウントレジスタ4の出力の3ビットと、白/
黒レジスタ2からの1ビットの合計4ビットは、アドレ
スとして、キャッシュメモリ8にも入力される。
【0061】図2を参照して、キャッシュメモリ8で
は、0カウントレジスタ4の3ビットと白/黒レジスタ
2の1ビットの合計4ビットをインデックスとしてライ
ンを選ぶ。キャッシュメモリ8からは、選ばれたライン
のタグ7ビット、有効ビット値(V)の1ビット、デー
タ(ランレングス、T/M、最初に現れた“1”の後に
続く実際の符号の残りビット数)の合計10ビットが出
力される。
【0062】キャッシュメモリ8から出力された10ビ
ットのデータの内、最初に現れた“1”の後に続く実際
の符号の残りビット数(3ビット)が、マスク回路9の
マスク値生成回路91に入力される。マスク回路9は、
最初に現れた“1”の後に続く実際の符号の残りビット
数以外を、論理積回路92、93でマスクするためのマ
スク値(7ビット)として出力する。
【0063】例えば、黒16(0000010111)
の場合、MH符号系列で最初に現れた“1”の後に続く
符号は0111で、最初に現れた“1”の後に続く実際
の符号の残りビット数は4である。このため、“10
0”(4)がマスク値生成回路91に入力され、マスク
値生成回路91からはマスク値として1111000が
出力される。論理積回路92には、マスク値生成回路9
1から出力されるマスク値7ビットと、キャッシュメモ
リ8から出力されたタグ値7ビットとが入力される。論
理積回路92は、これらの論理積を計算することで、最
初に現れた“1”の後に続く実際の符号の残りビット数
以外をマスクする。一方、論理積回路93には、マスク
値生成回路91から出力されるマスク値7ビットと、シ
フトレジスタ1で最初に現れた“1”の後に続く7ビッ
トの符号ビットが入力される。論理積回路93は、これ
らの論理積を計算することで、最初に現れた“1”の後
に続く実際の符号の残りビット数以外をマスクする。
【0064】比較回路10では、キャッシュメモリ8か
ら出力されたタグ値をマスク回路9を介してマスクした
7ビットと、シフトレジスタ1で最初に現れた“1”の
後に続く7ビットの符号ビットをマスク回路9を介して
マスクした7ビットとを比較する。比較回路10は、比
較の結果、一致した場合にラインヒットを表す制御信号
を出力する。比較器101からの制御信号と、キャッシ
ュメモリ8の選ばれたラインの有効ビット値(V)とが
比較回路10の論理積ゲート102に入力される。論理
積ゲート102は、これらの論理積を計算し出力する。
論理積ゲート102からは、比較器101からの制御信
号がラインヒットで、かつ、有効ビット値(V)が有効
の場合にのみキャッシュヒットを示す制御信号を出力
し、それ以外の場合にはミスヒットの制御信号を出力す
る。
【0065】図1に戻って、比較回路10からの制御信
号がキャッシュヒットの場合は、制御回路11は、キャ
ッシュメモリ8から出力されるランレングス(RL)を
表す6ビットと、ターミネート符号/メークアップ符号
(T/M)を示す1ビットと、最初に現れた“1”の後
に続く実際の符号の残りビット数を表す3ビットの合計
10ビットのデータを選択し出力する。比較回路10か
らの制御信号がミスヒットの場合、制御回路11は、R
OM5の10ビットのデータを選択し出力した後、この
データを0カウントレジスタ4の3ビットと白/黒レジ
スタ2の1ビットの合計4ビットで指定されるキャッシ
ュメモリ8のラインに書き込み、そのラインのタグ部に
シフトレジスタ1の出力の上位7ビットを登録し、有効
ビット(V)をセットする。これらの値は、次回以降の
キャッシュメモリ8のアクセスに使用される。
【0066】制御回路11から出力される10ビットの
データ(RL、T/M、最初に現れた“1”の後に続く
実際の符号の残りビット数)のうち、6ビットのランレ
ングス(RL)と1ビットのT/Mビットは、白/黒レ
ジスタの1ビットと共に画像生成回路12にパラレル入
力される。これらのデータは、画像生成回路12で画像
信号に復元された後、FIFOメモリ13にシリアル入
力される。ここで、T/Mビットの値がM(メークアッ
プ符号)であった場合、ランレングスRLの値が64倍
されて復号される。一方、T/Mビットの値がT(ター
ミネート符号)であった場合には、ランレングスRLの
値はそのまま復号され、白/黒レジスタ2の内容は反転
される。
【0067】制御回路11からは最初に現れた“1”の
後に続く符号ビットのビット数も出力される。このビッ
ト数は、セレクタ6により選択され、シフタ7に入力さ
れる。この最初に現れた“1”の後に続く実際の符号の
残りビット数は、次に復号化する符号の先頭位置を決め
る情報となる。すなわち、制御回路11から出力された
最初に現れた“1”の後に続く符号ビットのビット数
は、セレクタ6を介してシフタ7に供給される。シフタ
7は、その値だけシフトレジスタ1の内容を左シフト
し、符号入力用のシフトレジスタ1にはシフト数だけ符
号ビットを入力する。これにより、シフトレジスタ1に
は、次に復号化しようとする符号がセットされる。上記
の操作を符号入力がなくなるまで実行して復号を行う。
【0068】例えば、図1の復号装置で、最初に黒16
(0000010111)をデコードする場合、0の個
数は5なので、0カウントレジスタ4の値は、0101
(5)、白/黒レジスタ2の値は黒(1)、最初に現れ
た“1”の後に続く7ビットの符号は、0111XXX
(ただし、XXXは、符号系列で黒16に続く次の符号
の一部)である。このため、キャッシュメモリ8に入力
されるアドレス(インデックス)は、0カウントレジス
タ4の3ビットと、白/黒レジスタ2の1ビットの合計
4ビットの値なので01011、タグは最初に現れた
“1”の後に続く7ビットの符号なので、0111XX
Xとなる。この場合、一番最初なので、キャッシュメモ
リ8にはミスヒットで、ROM5から、データ(RL、
T/M、最初に現れた“1”の後に続く実際の符号の残
りビット数)が読み出される。このデータは、キャッシ
ュメモリ8の01011番目のラインのデータ領域に格
納される。同時に、タグには0111XXXが格納さ
れ、有効ビット(V)もセットされる。次回以降のアク
セスで黒16の符号が来た場合、シフトレジスタ1に格
納された、最初に現れた“1”の後に続く7ビットの符
号ビットは、0111YYY(ただし、YYYは、符号
系列で2回目の黒16に続く次の符号の一部)である。
【0069】キャッシュメモリ8へは、アドレス(イン
デックス)として、01011が入力され、タグ値とし
て、前回格納した0111XXXが出力される。ここ
で、キャッシュメモリ8から出力される10ビットのデ
ータの内、最初に現れた“1”の後に続く実際の符号の
残りビット数は4であるため、“100”(4)がマス
ク値生成回路91に入力される。マスク値生成回路91
からは、マスク値として1111000が出力される。
【0070】論理積回路92には、このマスク値7ビッ
ト“1111000”と、キャッシュメモリ8から出力
されたタグ値7ビット“0111XXX”が入力され
る。論理積回路92はこれらの論理積を計算し、“01
11000”を出力する。論理積回路93は、マスク値
7ビット“1111000”と、MH符号系列で最初に
現れた“1”の後に続く実際の符号7ビット“0111
YYY”が入力される。論理積回路93はこれらの論理
積を計算し、“0111000”を出力する。
【0071】比較回路10では、キャッシュメモリ8か
ら出力されたタグ値をマスク回路9を介してマスクした
7ビット“01111000”と、シフトレジスタ1で
最初に現れた“1”の後に続く符号をマスク回路9を介
してマスクした7ビット“01111000”とを比較
する。この場合、比較結果は一致しているので、比較回
路10はラインヒットを表す制御信号を出力する。ま
た、キャッシュメモリ8の選ばれたラインの有効ビット
値(V)はセット(有効)されている。図2を参照する
と、比較器101からの制御信号がラインヒットで、か
つ、有効ビット(V)が有効なので、比較回路10から
はキャッシュヒットを示す制御信号が出力される。
【0072】このように、シフトレジスタ1で最初に現
れた“1”の後に続く符号7ビットとキャッシュメモリ
8のタグの内容が異なっていても、最初に現れた“1”
の後に続く実際の符号の残りビット数の分だけ一致して
いれば、ヒットさせることができる。このため、ヒット
率が向上できる。
【0073】次に、図3を参照して、本発明の第2の実
施の形態について説明する。本形態は、キャッシュメモ
リを連想メモリの構成にしたもので、2つユニットに分
かれている。図3中、図1、図2と同一構成部分には同
一符号を付し、その説明を省略する。
【0074】キャッシュメモリ15は、キャッシュメモ
リ8と同一の構成であり、16ラインから構成される。
各ラインは、タグ部、有効ビット(V)、データ(ラン
レングス、T/M、最初に現れた“1”の後に続く実際
の符号の残りビット数)から成っている。マスク回路1
6も、マスク回路9と同一の構成である。マスク回路1
6は、シフトレジスタ1で最初に現れた“1”の後に続
く7ビットの符号と、キャッシュメモリ15から出力さ
れるタグ値7ビットと、キャッシュメモリ15から出力
されるデータの一部である、最初に現れた“1”の後に
続く実際の符号の残りビット数を表す3ビットが入力さ
れる。マスク回路16からは、最初に現れた“1”の後
に続く実際の符号の残りビット数以外をマスクしたシフ
トレジスタ1の上位7ビットと、最初に現れた“1”の
後に続く実際の符号の残りビット数以外をマスクしたタ
グ値7ビットが出力される。
【0075】比較回路17も比較回路10と同一の構成
である。比較回路17は、マスク回路16を介してマス
クされたシフトレジスタ1の出力の上位7ビットと、マ
スク回路16でマスクされたキャッシュメモリ15から
出力されたタグ値7ビットとを比較する。比較回路17
は、比較の結果が一致した場合でかつ、キャッシュメモ
リ15から出力される1ビットの有効ビット値(V)が
有効の場合にのみ判定回路18にキャッシュヒットを示
す制御信号を出力し、それ以外の場合にはミスヒットの
制御信号を出力する。
【0076】判定回路18は、比較回路10もしくは比
較回路17からの制御信号のどちらかがキャッシュヒッ
トの場合は、制御回路11にキャッシュヒットの制御信
号を出力する。これと同時に、判定回路18はまた、キ
ャッシュメモリ8もしくはキャッシュメモリ15のどち
らがキャッシュヒットしたか示す信号を、セレクタ20
に出力する。セレクタ20は、判定回路18からの信号
により、キャッシュメモリ8から出力される10ビット
のデータと、キャッシュメモリ15から出力される10
ビットのデータの内、キャッシュヒットした方を選択し
制御回路11に出力する。
【0077】比較回路10もしくは比較回路17からの
制御信号のどちらもキャッシュミスの場合は、判定回路
18は制御回路11にミスヒットの制御信号を出力す
る。
【0078】選択回路19には、キャッシュメモリ8か
ら出力される有効ビット(V)とキャッシュメモリ15
から出力される有効ビット(V)が入力される。選択回
路19では、キャッシュメモリ8とキャッシュメモリ1
5のうち、有効ビット(V)が無効となっているものが
あれば、そのキャッシュメモリを選択するための制御信
号をセレクタ14へ出力する。また、有効ビット(V)
がどちらも有効であった場合には、キャッシュメモリ8
とキャッシュメモリ15のうち、どちらか一方を強制的
に選択して、それを選択する信号をセレクタ14へ出力
する。
【0079】判定回路18からの制御信号がミスヒット
の場合、制御回路11は、ROM5の10ビットのデー
タを選択し出力した後、このデータをセレクタ14へも
出力する。
【0080】セレクタ14は、選択回路19の制御信号
により、キャッシュメモリ8かキャッシュメモリ15か
のどちらか一方を選択する。選択されたキャッシュメモ
リは、0カウントレジスタ4の3ビットと白/黒レジス
タ2の1ビットの合計4ビットで指定されるラインに、
セレクタ14を介して、10ビットのデータを書き込
む。選択されたキャッシュメモリは更に、データを書き
込んだラインのタグ部にシフトレジスタ1の出力の上位
7ビットを登録し、有効ビット(V)をセット(有効)
する。これらの値は、次回以降のキャッシュメモリのア
クセスに使用される。
【0081】このように、第2の実施の形態では、キャ
ッシュメモリを2ユニットの連想メモリの構成にしてい
る。これにより、同じインデックス(0カウントレジス
タ4の3ビットと、白/黒レジスタ2の1ビットの合計
4ビットの値)でアクセスされる復号化データを、2ユ
ニットのキャッシュメモリの空いている方のキャッシュ
メモリ上に格納することができるため、さらにキャッシ
ュメモリのヒット率を向上させることができる。
【0082】なお、第2の実施の形態では、2ユニット
のキャッシュメモリを用いた可変長符号の復号装置につ
いて説明したが、例えば、3ユニットとか4ユニットと
かの他の複数ユニットのキャッシュメモリを用い場合に
も適用可能である。
【0083】
【発明の効果】本発明によれば、以下のような効果が得
られる。
【0084】第1の効果は、復号化データがキャッシュ
メモリ上にある場合は、必ず、キャッシュヒットとな
り、キャッシュメモリのヒット率が向上することであ
る。
【0085】その理由は、可変長符号をアドレスとして
キャッシュメモリをアクセスして復号化する際、キャッ
シュメモリのヒット、ミスヒットの判断は、最初に現れ
た“1”の後に続く7ビットの符号とキャッシュメモリ
に格納されたタグの一致/不一致で行われるが、キャッ
シュメモリから出力される最初に現れた“1”以降の実
際の符号の残りビット数を表す3ビットの情報を使っ
て、実符号長分以外をマスクし、比較することで行うよ
うに構成しているためである。
【0086】第2の効果は、キャッシュメモリを2ユニ
ットの連想メモリの構成にすることで、さらにキャッシ
ュメモリのヒット率を向上させることができる。
【0087】その理由は、同じインデックス(0カウン
トレジスタの3ビットと、白/黒レジスタの1ビットの
合計4ビットの値)でアクセスされる復号化データを、
2ユニットのキャッシュメモリの空いている方のキャッ
シュメモリ上に格納することができるためである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のブロック図であ
る。
【図2】図1の一部の詳細ブロック図である。
【図3】本発明の第2の実施の形態のブロック図であ
る。
【図4】従来のMH符号の復号装置の一例を示すブロッ
ク図である。
【図5】図4の一部の詳細ブロック図である。
【図6】白/黒の2値画像の一例を示す図である。
【図7】MH符号のフォーマットを示す図である。
【図8】図1、図4のブロック図中のROMの入出力の
一例を示す図である。
【図9】MH符号におけるターミネート符号表を示す図
である。
【図10】MH符号におけるメークアップ符号表を示す
図である。
【符号の説明】
1 符号入力用のシフトレジスタ 2 白/黒レジスタ 3 0カウント回路 4 0カウントレジスタ 5 復号化変換用テーブルを格納するためのROM 6、14、20 セレクタ 7 シフタ 8、15 キャッシュメモリ 9、16 マスク回路 10、17 比較回路 11 制御回路 12 画像生成回路 13 FIFOメモリ 18 判定回路 19 選択回路 91 マスク値生成回路 92、93 論理積回路 101 比較器 102 論理積ゲート
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H03M 7/40 G06F 12/08 H04N 1/419

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1の部分と第2の部分からなる可変長
    符号の前記第1の部分と第2の部分に基づいてアドレス
    とし、当該アドレスに復号データ及び前記第2の部分の
    実符号長を格納したROMと、前記可変長符号の第1の
    部分に基づいてインデックスとし、第2の部分をタグと
    して、前記復号データ及び前記第2の部分の実符号長を
    格納するキャッシュメモリとを備えた復号装置であっ
    て、 被復号可変長符号の前記第2の部分と前記キャッシュメ
    モリのタグを前記キャッシュメモリ内の前記実符号長分
    だけ比較することで、前記キャッシュメモリのヒット・
    ミスヒットの判定を行なうヒット・ミスヒット判断手段
    を備えたことを特徴とする可変長符号の復号装置。
  2. 【請求項2】 請求項1記載の復号装置において、 前記可変長符号はMH符号系列であり、前記第1の部分
    はMH符号系列の先頭から最初に1が出現するまでの0
    が続いた部分であり、前記第2の部分はMH符号の最初
    に1が出現した後の残りの符号であり、前記キャッシュ
    メモリのインデックスは前記第1の部分の0の個数であ
    ることを特徴とする可変長符号の復号装置。
  3. 【請求項3】 請求項記載の復号装置において、 前記ヒット・ミスヒット判断手段は、マスク回路と比較
    回路とから成り、 前記マスク回路は、MH符号系列で最初に現れた“1”
    の後に続く7ビットの符号ビットと、前記キャッシュメ
    モリから出力されるタグ値7ビットと、データの一部で
    ある最初に現れた“1”以降の実際の符号の残りビット
    数とを受けて、前記最初に現れた“1”以降の実際の符
    号の残りビット数以外をマスクした符号7ビットと、前
    記最初に現れた“1”以降の実際の符号の残りビット数
    以外をマスクしたタグ値7ビットとを出力し、 前記比較回路は、前記マスク回路でマスクされた符号7
    ビットと前記マスク回路でマスクされたタグ値7ビット
    とを比較し、一致した場合でかつ、前記キャッシュメモ
    リから出力される1ビットの有効ビット値(V)が有効
    の場合にのみキャッシュヒットの制御信号を出力し、そ
    れ以外の場合にはミスヒットの制御信号を出力すること
    を特徴とする可変長符号の復号装置。
  4. 【請求項4】 請求項記載の復号装置において、 前記マスク回路は、マスク値生成回路と、第1、第2の
    論理積回路とから構成され、 前記マスク値生成回路は、前記最初に現れた“1”以降
    の実際の符号の残りビット数を受けて、前記最初に現れ
    た“1”以降の実際の符号の残りビット数以外を、マス
    ク値7ビットとして出力し、 前記第1の論理積回路は、前記マスク値7ビットと、前
    記キャッシュメモリから出力されたタグ値7ビットとを
    受けて、これらの論理積を計算することで、前記最初に
    現れた“1”以降の実際の符号の残りビット数以外をマ
    スクし、 前記第2の論理積回路は、前記マスク値7ビットと前記
    MH符号系列で最初に現れた“1”の後に続く7ビット
    の符号ビットとを受けて、これらの論理積を計算するこ
    とで、最初に現れた“1”以降の実際の符号の残りビッ
    ト数以外をマスクすることを特徴とする可変長符号の復
    号装置。
  5. 【請求項5】 請求項記載の復号装置において、 前記比較回路は、比較器と論理積ゲートとから構成さ
    れ、 前記比較器は、前記マスク回路でマスクされた符号7ビ
    ットと前記マスク回路でマスクされたタグ値7ビットと
    を比較して、一致した場合にラインヒットを表す制御信
    号を出力し、 前記論理積ゲートは、前記比較器からの制御信号と、前
    記キャッシュメモリから出力される1ビットの有効ビッ
    ト値(V)との論理積を計算して、前記比較器からの制
    御信号がラインヒットで、かつ、前記有効ビット値
    (V)が有効の場合にのみキャッシュヒットを示す制御
    信号を出力し、それ以外の場合にはミスヒットの制御信
    号を出力することを特徴とする可変長符号の復号装置。
  6. 【請求項6】 請求項記載の復号装置において、 前記キャッシュメモリを複数個有し、 前記ヒット・ミスヒット判断手段は、前記複数のキャッ
    シュメモリのそれぞれに対応して設けられたマスク回路
    と比較回路とを含み、 前記各マスク回路は、MH符号系列で最初に現れた
    “1”の後に続く7ビットの符号ビットと、対応する前
    記キャッシュメモリから出力されるタグ値7ビットと、
    データの一部である最初に現れた“1”以降の実際の符
    号の残りビット数とを受けて、前記最初に現れた“1”
    以降の実際の符号の残りビット数以外をマスクした符号
    7ビットと、前記最初に現れた“1”以降の実際の符号
    の残りビット数以外をマスクしたタグ値7ビットとを出
    力し、 前記各比較回路は、対応する前記マスク回路でマスクさ
    れた符号7ビットと対応する前記マスク回路でマスクさ
    れたタグ値7ビットとを比較し、一致した場合でかつ、
    前記キャッシュメモリから出力される1ビットの有効ビ
    ット値(V)が有効の場合にのみキャッシュヒットの制
    御信号を出力し、それ以外の場合にはミスヒットの制御
    信号を出力し、 該復号装置は更に、 制御回路と、 符号入力用のシフトレジスタと、 入力符号系列で最初に“1”が出現するまでの最大7個
    の連続した“0”の数を検出して3ビットを出力する0
    検出手段と、 前記0検出手段の検出結果の3ビットと、最初に現れた
    “1”以降の7ビットの符号ビットと、対象となる画像
    の白/黒を示す1ビットとの合計11ビットをアドレス
    入力とし、実際に復号するランレングス(RL)を表す
    6ビットと、ターミネート符号/メークアップ符号(T
    /M)を示す1ビットと、最初に現れた“1”以降の実
    際の符号の残りビット数を表す3ビットの合計10ビッ
    トを出力する復号化変換用ROMと、 複数の前記比較回路からの制御信号のいずれかがキャッ
    シュヒットの場合に、キャッシュヒットの制御信号を前
    記制御回路に出力すると共に、どのキャッシュメモリが
    キャッシュヒットしたかを示す判定信号を出力し、どの
    制御信号もキャッシュミスの場合は、ミスヒットの制御
    信号を前記制御回路に出力する判定回路と、 前記判定信号を受けて、該判定信号に基づいて、複数の
    キャッシュメモリのそれぞれから出力される10ビット
    のデータのうち、キャッシュヒットしたキャッシュメモ
    リから出力される前記10ビットのデータを選択して出
    力する第1のセレクタと、 複数の前記キャッシュメモリからそれぞれ出力される1
    ビットの有効ビット値(V)を受け、有効ビット値
    (V)が無効となっているものがあれば、そのキャッシ
    ュメモリを選択するための選択制御信号を出力し、いず
    れの有効ビット値(V)も有効であった場合には、複数
    の前記キャッシュメモリのうち、いずれか一つを強制的
    に選択して、それを示す選択制御信号を出力する選択回
    路と、 前記選択制御信号を受けて、該選択制御信号に基づい
    て、複数の前記キャッシュメモリのいずれか一つを選択
    する第2のセレクタとを含み、 前記判定回路からの制御信号がミスヒットの場合、前記
    制御回路は、前記復号化変換用ROMの10ビットのデ
    ータを選択して出力した後、このデータを前記第2のセ
    レクタへも出力し、 選択されたキャッシュメモリは、前記0検出手段からの
    3ビットと画像の白/黒を示す1ビットの合計4ビット
    で指定されるラインに、前記第2のセレクタを介して、
    10ビットのデータを書き込むと共に、データを書き込
    んだラインのタグ部に前記シフトレジスタの出力の上位
    7ビットを登録し、かつ有効ビット値(V)をセット
    し、 これらの値は、次回以降のキャッシュメモリのアクセス
    に使用されることを特徴とする可変長符号の復号装置。
JP14857799A 1999-05-27 1999-05-27 可変長符号の復号装置 Expired - Fee Related JP3415481B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP14857799A JP3415481B2 (ja) 1999-05-27 1999-05-27 可変長符号の復号装置
EP00250165A EP1056210A3 (en) 1999-05-27 2000-05-29 Variable length code decoding system
US09/580,129 US6404359B1 (en) 1999-05-27 2000-05-30 Variable length decoding system having a mask circuit for improved cache hit accuracy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14857799A JP3415481B2 (ja) 1999-05-27 1999-05-27 可変長符号の復号装置

Publications (2)

Publication Number Publication Date
JP2000341134A JP2000341134A (ja) 2000-12-08
JP3415481B2 true JP3415481B2 (ja) 2003-06-09

Family

ID=15455865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14857799A Expired - Fee Related JP3415481B2 (ja) 1999-05-27 1999-05-27 可変長符号の復号装置

Country Status (3)

Country Link
US (1) US6404359B1 (ja)
EP (1) EP1056210A3 (ja)
JP (1) JP3415481B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091407A (ja) * 2000-09-20 2002-03-27 Ricoh Co Ltd 画像表示装置
JP3772976B2 (ja) * 2002-05-22 2006-05-10 ソニー株式会社 プロセッサ、エンコーダ、デコーダ及び電子機器
US20060190251A1 (en) * 2005-02-24 2006-08-24 Johannes Sandvall Memory usage in a multiprocessor system
CN113626364B (zh) * 2021-06-30 2024-05-31 海光信息技术股份有限公司 一种高速串行接口以及用于高速串行接口的转换电路
CN113381768B (zh) * 2021-08-11 2021-11-09 苏州浪潮智能科技有限公司 一种哈夫曼校正编码方法、系统及相关组件

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61125283A (ja) * 1984-11-20 1986-06-12 Mitsubishi Electric Corp モデイフアイド・ハフマン符号の復号装置
JPH022350A (ja) 1988-06-16 1990-01-08 Sumitomo Electric Ind Ltd パーフォリン遺伝子
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
JPH06332664A (ja) * 1993-03-23 1994-12-02 Toshiba Corp 表示制御システム
US5642114A (en) * 1993-04-19 1997-06-24 Oki Electric Industry Co., Ltd. Variable length code decoder using a content addressable memory with match inhibiting gate
JP3025827B2 (ja) * 1993-09-14 2000-03-27 松下電器産業株式会社 可変長コード化装置
DE19526960A1 (de) * 1994-09-27 1996-03-28 Hewlett Packard Co Eine Übersetzungs-Querzuordnungs-Puffer-Organisation mit variabler Seitengrößenabbildung und Opfer-Cache-Speicherung
US5860086A (en) * 1995-06-07 1999-01-12 International Business Machines Corporation Video processor with serialization FIFO
US5781789A (en) * 1995-08-31 1998-07-14 Advanced Micro Devices, Inc. Superscaler microprocessor employing a parallel mask decoder
JP3778375B2 (ja) * 1995-12-28 2006-05-24 ソニー株式会社 可変長符号化方法および装置、並びに可変長復号化方法および装置
US5870576A (en) * 1996-12-16 1999-02-09 Hewlett-Packard Company Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures

Also Published As

Publication number Publication date
US6404359B1 (en) 2002-06-11
EP1056210A2 (en) 2000-11-29
JP2000341134A (ja) 2000-12-08
EP1056210A3 (en) 2004-01-07

Similar Documents

Publication Publication Date Title
US5627534A (en) Dual stage compression of bit mapped image data using refined run length and LZ compression
US7119807B2 (en) Image processing apparatus and image processing method
US5287487A (en) Predictive caching method and apparatus for generating a predicted address for a frame buffer
US4152762A (en) Associative crosspoint processor system
US4059850A (en) Memory system word group priority device with least-recently used criterion
JP3415481B2 (ja) 可変長符号の復号装置
KR0134750B1 (ko) 출력 장치 및 방법(Output Apparatus and Method)
JPH0553909A (ja) 画像データ処理におけるキヤツシユメモリ制御方式
US6771273B2 (en) Image display apparatus
USRE43301E1 (en) Method and apparatus for an improved stack arrangement and operations thereon
US5760787A (en) Data storage format
JP2687926B2 (ja) 符号復号化装置
JP3342380B2 (ja) 符号化及び復号装置とそれを適用した画像処理装置
JP2595900B2 (ja) 2値画像データの変化点座標検出装置
JP3247052B2 (ja) 画像データ変換処理方法及び装置
US6674912B2 (en) Data compression processing method and apparatus
JP3308940B2 (ja) 符号化方法および復号化方法
JP3455981B2 (ja) 文字コード変換方法および装置
JP2877244B2 (ja) 符号化装置
JP3221252B2 (ja) ハフマン復号器
JP3145510B2 (ja) 圧縮符号の復号化方法及び装置
JPS6329472B2 (ja)
JP2757716B2 (ja) ハフマン符号復号回路
JP2502869B2 (ja) キャラクタフォントデ―タの符号化処理方法
JPH0418686A (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: 20030305

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

Free format text: PAYMENT UNTIL: 20080404

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090404

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees