JPH10209878A - データ展開装置 - Google Patents

データ展開装置

Info

Publication number
JPH10209878A
JPH10209878A JP2841497A JP2841497A JPH10209878A JP H10209878 A JPH10209878 A JP H10209878A JP 2841497 A JP2841497 A JP 2841497A JP 2841497 A JP2841497 A JP 2841497A JP H10209878 A JPH10209878 A JP H10209878A
Authority
JP
Japan
Prior art keywords
data
source data
dictionary
register
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.)
Withdrawn
Application number
JP2841497A
Other languages
English (en)
Inventor
Tokuo Kumaki
徳雄 熊木
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.)
Advantest Corp
Original Assignee
Advantest 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 Advantest Corp filed Critical Advantest Corp
Priority to JP2841497A priority Critical patent/JPH10209878A/ja
Publication of JPH10209878A publication Critical patent/JPH10209878A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 圧縮データ列を高速に展開して圧縮前のデー
タを復元することができるデータ展開装置を提供するこ
と。 【解決手段】 データ展開装置1は、圧縮データ列を展
開して圧縮前の原始データ列を復元するためのものであ
り、この展開処理を行うために圧縮語レジスタ10、マ
ルチプレクサ12、パイプラインレジスタ14、復号長
カウンタ16、復号オフセットレジスタ18、復号オフ
セットデコーダ20、復号語レジスタ22を備えてい
る。一致サイズmとオフセットnが含まれる圧縮データ
用のシンボルが入力されると、復号オフセットデコーダ
20によってオフセットnをデコードすることにより、
パイプラインレジスタ14のn段目の出力が有効にな
る。このとき、復号長カウンタ16によってマルチプレ
クサ12の選択状態が切り換えられ、パイプラインレジ
スタ14から出力されるmワードの原始データが選択さ
れる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、Lempel-Ziv符号に
よる符号化アルゴリズムを用いて圧縮されたデータを展
開するデータ展開装置に関する。
【0002】
【従来の技術】一般に、製造した半導体の試験を行う半
導体試験装置は、入力端子に入力パターンデータを入力
し、このとき出力端子に現れる出力パターンデータを調
べることにより、半導体の良否を試験している。この半
導体試験装置を用いて試験を行う場合、まず試験に先立
って、上述した入力パターンデータと、半導体が正常で
あるときにこの入力パターンデータに対応して得られる
であろう出力パターンデータとを半導体試験装置に転送
する必要がある。このようにして転送されるテストパタ
ーンデータは、例えば今日のマイクロプロセッサを試験
する場合を考えると数百メガバイトから数ギガバイトに
も達する。このため、予め作成したテストパターンデー
タを圧縮して半導体試験装置に転送し、半導体試験装置
においてこの圧縮されたテストパターンデータを展開し
て試験を行う手法が必要とされている。
【0003】データの圧縮および展開を行う方法として
は従来から各種のアルゴリズムを用いた方法が知られて
おり、その代表的なものとしてユニバーサル符号の一種
であるLempel-Ziv符号が知られている。このLempel-Ziv
符号には、いわゆるスライド辞書に基づいた狭義のLemp
el-Ziv符号と、いわゆる動的辞書に基づいたLempel-Ziv
-Welch符号とがあり、後者は圧縮時の負担が小さい代わ
りに展開時の負担が大きいという特徴があり、反対に前
者は圧縮時の負担が大きい代わりに展開時の負担が小さ
いという特徴がある。半導体試験装置にテストパターン
データを転送する場合には、データ展開中は半導体試験
装置が使用できなくなることを考慮すると、転送後のデ
ータをできるだけ短時間で展開することができるスライ
ド辞書に基づいたLempel-Ziv符号が適している。本明細
書では、スライド辞書に基づいた狭義のLempel-Ziv符号
をLempel-Ziv符号と称して説明を行うものとする。
【0004】
【発明が解決しようとする課題】ところで、上述したよ
うにLempel-Ziv符号を用いて圧縮したテストパターンデ
ータを半導体試験装置に転送して展開する場合には展開
速度の高速化が要求されるが、この展開処理を汎用プロ
セッサを使用した展開ソフトウエアで行おうとすると、
ソフトウエア動作であるために動作速度に数MHz程度
の展開速度の制限があり、半導体試験装置に対するテス
トパターンデータの供給能力としては数Mバイト/sec
程度が上限となる。
【0005】また、汎用のプロセッサではなく専用の圧
縮/展開プロセッサを用いて、Lempel-Ziv符号による圧
縮データの展開を行う場合、圧縮/展開プロセッサを制
御するソフトウエア(ファームウエア)とマイクロプロ
セッサが必要となり、結果的にソフトウエア制御の介入
により圧縮/展開プロセッサの動作速度が制限され、半
導体試験装置に対するテストパターンの供給能力として
は10〜20Mバイト/sec 程度が上限となる。
【0006】このように、汎用あるいは専用のプロセッ
サによるソフトウエア処理によってデータの展開を行っ
た場合にはデータ展開速度が遅いため、半導体試験装置
のように膨大な圧縮データを短時間で展開するような用
途には向いておらず、高速にデータの展開を行うことが
できる専用ハードウエアによるデータ展開装置が望まれ
ていた。
【0007】本発明は、このような点に鑑みて創作され
たものであり、その目的は圧縮データ列を高速に展開し
て圧縮前のデータを復元することができるデータ展開装
置を提供することにある。
【0008】
【課題を解決するための手段】上述した課題を解決する
ために、本発明のデータ展開装置は、辞書格納手段と、
辞書読み出し位置特定手段と、選択手段とを備えてい
る。辞書格納手段は、最も最近に展開が終了した所定ワ
ード数の原始データ列を辞書として格納するものであ
り、展開処理が進むにしたがって更新される。原始デー
タを含む第2の圧縮符号が入力されると、選択手段は、
この第2の圧縮符号に含まれる原始データを選択出力し
て辞書の更新を行う。また、圧縮前の原始データ列にお
いてnワード後に2度目に現れるmワードの原始データ
を置き換えた第1の圧縮符号が入力されると、選択手段
は、この第1の圧縮符号に含まれる位置データnに基づ
いて辞書読み出し位置特定手段によって特定される辞書
内の原始データを先頭に、第1の圧縮符号に含まれる一
致長データmに相当するワード数の原始データを辞書か
ら読み出し、この読み出した原始データを用いて辞書の
更新を行う。
【0009】このように、原始データが含まれる圧縮符
号が入力された場合には、この圧縮符号に含まれる原始
データを選択出力し、一致長データmと位置データnと
が含まれる圧縮符号が入力された場合には、辞書内の所
定の原始データを選択出力しており、入力される圧縮符
号に応じて選択出力する原始データを切り替えるだけで
あるため、圧縮データ列の展開を高速に行うことができ
る。
【0010】また、上述した辞書格納手段をパイプライ
ンレジスタによって、辞書読み出し位置特定手段をデコ
ーダによって、選択手段を選択回路と選択指示回路によ
ってそれぞれ構成することが可能である。パイプライン
レジスタは、高速に(例えば動作クロック毎に)データ
の読み書きおよび転送動作が可能であり、デコーダによ
って所定のデコード処理を行うだけで直ちに辞書の該当
する原始データを特定することができるため、上述した
原始データ列への展開処理を高速に行う場合に特に適し
ている。
【0011】また、上述したようにパイプラインレジス
タ等を用いる代わりに、辞書格納手段をメモリによっ
て、辞書読み出し位置特定手段を読み出し制御回路によ
って、選択手段を選択回路と選択指示回路によってそれ
ぞれ構成するようにしてもよい。読み出し制御回路によ
って、メモリから読み出す原始データのアドレスを特定
することにより、メモリを上述したパイプラインレジス
タの代わりに用いることが可能となり、この場合には大
容量の辞書を容易に実現することができる。
【0012】また、上述した展開処理を行う場合、入力
された圧縮データ列に含まれる各圧縮符号が、一致長デ
ータmおよび位置データnを含む第1の圧縮符号である
か原始データを含む第2の圧縮符号であるかを識別する
方法としては、各圧縮符号に自身がいずれの圧縮符号で
あるかを示す一致フラグ等の識別データを含ませる場合
と、各圧縮符号とは別に後出の圧縮符号がいずれの圧縮
符号であるかを示すヘッダ等の識別データを付加する場
合がある。
【0013】
【発明の実施の形態】本発明を適用したデータ展開装置
は、ハードウエアによって実現することにより、Lempel
-Ziv符号による圧縮データ列を高速に展開し、圧縮前の
原始データを高速に復元することに特徴がある。以下、
一実施形態のデータ展開装置について、図面を参照しな
がら具体的に説明する。
【0014】〔第1の実施形態〕図1は、本発明を適用
した第1の実施形態のデータ展開装置の構成を示す図で
ある。同図に示すデータ展開装置1は、Lempel-Ziv符号
を用いて圧縮された圧縮データ列を展開して圧縮前の原
始データ列を復元するためのものであり、この展開処理
を行うために圧縮語レジスタ10、マルチプレクサ1
2、パイプラインレジスタ14、復号長カウンタ16、
復号オフセットレジスタ18、復号オフセットデコーダ
20、復号語レジスタ22を備えている。
【0015】上述したパイプラインレジスタ14が辞書
格納手段に、復号オフセットレジスタ18、復号オフセ
ットデコーダ20が(後に説明する第2の実施形態では
これらに加えてコントローラ30が)辞書読み出し位置
特定手段に、マルチプレクサ12、復号長カウンタ16
が(後に説明する第2の実施形態ではこれらに加えてコ
ントローラ30が)選択手段にそれぞれ対応している。
また、マルチプレクサ12が選択回路に、復号長カウン
タ16が選択指示回路に対応している。
【0016】上述したデータ展開装置1の各構成の動作
を説明する前に、展開処理の対象となるLempel-Ziv符号
について説明する。図2は、圧縮データ列と圧縮前の原
始データ列の例を示す図である。
【0017】図2(A)に示すように、圧縮前の原始デ
ータ列として、原始データa0 、a1 、・・・、aL
0 、b1 、・・・、bM 、a0 、a1 、・・・、a
L 、c0 、c1 、・・・、cN を考えるものとする。こ
のように、先行する複数ワードの原始データa0 〜aL
が後出の原始データ列の中に繰り返し現れる場合に、Le
mpel-Ziv符号では、図2(B)に示すように、後出の原
始データa0 〜aL が識別データとしての一致フラグ
“1”を含む第1の圧縮符号としての圧縮データ用のシ
ンボルDa に置き換えられる。また、先行する複数ワー
ドの原始データに一致せず、圧縮が行われない各原始デ
ータは、識別データとしての一致フラグ“0”を含む第
2の圧縮符号としての非圧縮データ用のシンボルa0
等に置き換えられる。
【0018】図3は、圧縮データ列に含まれる各シンボ
ルの例を示す図であり、図3(A)には一致フラグ
“1”を先頭ビットとして含む圧縮データ用のシンボル
a の内容が、図3(B)には一致フラグ“0”を先頭
ビットとして含む非圧縮データ用のシンボルの内容が示
されている。圧縮データ用のシンボルDa は、図3
(A)に示すように例えば16ビットで構成されてお
り、最上位ビットが一致フラグ“1”に対応し、次の7
ビットが先行する何ワードの原始データに一致するかを
示す一致長データとしての一致サイズmに対応し、下位
の8ビットが何ワード分先行する原始データ列に一致す
るかを示す位置データとしてのオフセットnに対応して
いる。
【0019】また、非圧縮データ用のシンボルa0 ′等
は、一般のLempel-Ziv符号では図3(B)に示すよう
に、例えば各原始データが8ビットで構成されるものと
すると、その最上位に1ビットの一致フラグ“0”が付
加された構成を有しているが、本実施形態では図3
(C)に示すように16ビットで構成されており、最上
位ビットが一致フラグ“0”に対応し、次の7ビットの
それぞれが“0”であり、下位の8ビットが原始データ
に対応している。
【0020】図1に示す圧縮語レジスタ10は、図3
(A)あるいは(C)に示した圧縮データ列の各シンボ
ルが入力され、シンボル単位でデータを保持するための
ものである。マルチプレクサ12は、圧縮語レジスタ1
0に保持された非圧縮データ用のシンボルa0 ′等に含
まれる原始データと、パイプラインレジスタ14に格納
された原始データ(後述する)とを選択的に出力する。
【0021】パイプラインレジスタ14は、着目してい
る圧縮データ用のシンボルDa が入力されたときに、そ
れまでに展開処理が終了して復元された直前の所定ワー
ド数の原始データを辞書として格納するためのものであ
り、u個の格納部としてのレジスタが縦続接続されたu
段のパイプライン構成を有している。パイプラインレジ
スタ14の初段のレジスタに入力され保持されたデータ
は、2番目以降のデータが入力されると、次第に2段
目、3段目、・・・の各レジスタに転送されるシフト動
作が行われる。
【0022】復号長カウンタ16は、圧縮語レジスタ1
0に図3(A)に示す圧縮データ用のシンボルDa が保
持されたときに、このシンボルに含まれる一致サイズm
を計数の初期値として取り込んで所定の計数動作を行う
ものである。復号長カウンタ16によって所定の計数動
作が行われている間は、上述したマルチプレクサ12に
おいて、パイプラインレジスタ14側のデータが選択さ
れる。
【0023】復号オフセットレジスタ18は、圧縮語レ
ジスタ10に圧縮データ用のシンボルDa が保持された
ときに、このシンボルに含まれるオフセットnを取り込
んで保持するためのものであり、この保持されたオフセ
ットnが復号オフセットデコーダ20に向けて出力され
る。復号オフセットデコーダ20は、入力されるオフセ
ットデータnに対して所定のデコード処理を行うことに
より、パイプラインレジスタ14を構成するu個のレジ
スタの中のいずれか一つから復号語バス24に対する出
力を有効にする指示をパイプラインレジスタ14に向け
て出力する。
【0024】復号語レジスタ22は、マルチプレクサ1
2から出力されるデータを順に保持する。この復号語レ
ジスタ22に保持されたデータが、展開された圧縮前の
原始データとしてデータ展開装置1から出力される。
【0025】本実施形態のデータ展開装置1はこのよう
な構成を有しており、次にその動作を説明する。
【0026】図2(B)に示した圧縮データ列の各シン
ボルa0 ′、a1 ′、・・・が本実施形態のデータ展開
装置1に入力されると、圧縮語レジスタ10は、これら
各シンボルを入力された順に保持するとともに、この保
持した各シンボルのデータを後段のマルチプレクサ12
あるいは復号長カウンタ16、復号オフセットレジスタ
18に向けて出力する。
【0027】図2(B)に示した圧縮データ列では、ま
ず最初に非圧縮データ用のシンボルa0 ′〜aL ′、b
0 ′〜bM ′が順に圧縮語レジスタ10に保持される。
マルチプレクサ12は、各シンボルの最上位ビットの一
致フラグが“0”であるとき、すなわち図3(C)に示
す非圧縮データ用のシンボルが圧縮語レジスタ10に保
持されると(あるいは復号長カウンタ16が所定の計数
動作を行わずにその計数値が例えば「0」のときに)、
このシンボルの下位8ビットに含まれる原始データを選
択的に出力する。したがって、図2(B)に示す圧縮デ
ータ列に含まれる非圧縮データ用のシンボルa0 ′〜a
L ′、b0 ′〜bM ′が圧縮語レジスタ10に保持され
ると、マルチプレクサ12からは各シンボルの下位8ビ
ットに含まれる原始データa0 〜aL 、b0 〜bM が選
択的に出力される。
【0028】このようにしてマルチプレクサ12から出
力された圧縮前の原始データa0 〜aL 、b0 〜bM
それぞれは、復号語レジスタ22に入力されるととも
に、パイプラインレジスタ14の初段のレジスタに入力
される。上述したように、パイプラインレジスタ14
は、初段のレジスタに入力されたデータを順に2段目以
降の各レジスタにシフトする動作を行っている。このシ
フト動作は、例えば1クロックに1回の割合で行われ
る。したがって、最初から数えて(L+M+2)ワード
目の原始データbM がマルチプレクサ12から出力され
ているときには、パイプラインレジスタ14の(L+M
+2)段目のレジスタから初段のレジスタまでの各段に
原始データa0 〜aL 、b0 〜bM のそれぞれが格納さ
れる。
【0029】次に、圧縮データ用のシンボルDa が圧縮
語レジスタ10に入力されて保持される。復号長カウン
タ16は、圧縮語レジスタ10に保持されたシンボルD
a の最上位ビットの一致フラグが“1”であるとき、す
なわち図3(A)に示す圧縮データのシンボルが圧縮語
レジスタ10に保持されると、このシンボルDa の第8
ビットから第14ビットまでの7ビットに含まれる一致
サイズmを計数の初期値として取り込んで所定の計数動
作を開始する。この復号長カウンタ16の計数結果はマ
ルチプレクサ12の制御端子に入力されており、マルチ
プレクサ12では上述した一致サイズmに対応するクロ
ック数分だけ、選択するデータを切り替えて、パイプラ
インレジスタ14側から入力されるデータを出力する。
【0030】図2(B)に示す圧縮データ用のシンボル
a を考えた場合には上述した一致サイズmは(L+
1)であり、復号長カウンタ16は、一致サイズ(L+
1)を計数の初期値として動作クロックに同期した減算
動作を行う。そして、マルチプレクサ12は、この復号
長カウンタ16の計数結果が「0」になるまで、復号語
バス24から入力されるデータを選択して出力する。
【0031】また、復号オフセットレジスタ18は、図
3(A)に示す圧縮データ用のシンボルDa が圧縮語レ
ジスタ10に保持されると、このシンボルDa の下位8
ビットに含まれるオフセットnを取り込んで保持する。
復号オフセットデコーダ20は、この保持されたオフセ
ットnに対して所定のデコード処理を行い、パイプライ
ンレジスタ14のu段のレジスタのいずれかに、復号語
バス24に向けたデータ出力を許可する制御信号を出力
する。
【0032】図2(B)に示す圧縮データのシンボルD
a を考えた場合には上述したオフセットnは(L+M+
2)であり、復号オフセットデコーダ20は、パイプラ
インレジスタ14の(L+M+2)段目のレジスタの制
御端子に入力する制御信号のみを“0”、それ以外のレ
ジスタの制御端子に入力する全ての制御信号を“1”と
するデコード結果を出力する。パイプラインレジスタ1
4の各レジスタは、復号語バス24に対する出力の制御
信号が“0”のときのみデータを復号語バス24に出力
する。したがって、以後パイプラインレジスタ14の
(L+M+2)段目のレジスタに格納されたデータが復
号語バス24に出力される。
【0033】ところで、上述したようにパイプラインレ
ジスタ14の(L+M+2)段目のレジスタには、シン
ボルDa よりも(L+M+2)個分先行する非圧縮デー
タ用のシンボルa0 ′に含まれる原始データa0 が格納
されている。したがって、マルチプレクサ12は、復号
語バス24を介して入力される(L+M+2)段目のレ
ジスタのデータa0 を選択して出力する。以後、パイプ
ラインレジスタ14内のシフト動作によって、原始デー
タa1 、a2 、・・・が順番に(L+M+2)段目のレ
ジスタに格納されるため、復号長カウンタ16の計数値
が「0」になるまで(L+M+2)段目のレジスタから
復号語バス24に出力される原始データa1 、a2 、・
・・がマルチプレクサ12によって選択され、出力され
る。この結果、シンボルDa に(L+M+2)個分先行
するシンボルa0 を先頭に(L+1)個のシンボルa
0 ′〜aL ′に含まれる原始データa0 〜aL がマルチ
プレクサ12によって繰り返し選択され、パイプライン
レジスタ14に再度入力されて辞書の更新が行われると
ともに、復号語レジスタ22を介してデータ展開装置1
の出力として取り出される。
【0034】その後、復号長カウンタ16の計数値が
「0」になると、マルチプレクサ12によって再び圧縮
語レジスタ10側のデータが選択され、シンボルc0
以降の各シンボルに対する原始データの抽出動作が行わ
れる。
【0035】このように、本実施形態のデータ展開装置
1では、最上位ビットに含まれる一致フラグが“1”で
ある圧縮データ用のシンボルDa が入力されたときに、
このシンボルに含まれるオフセットn(=L+M+2)
が復号オフセットレジスタ18に入力され、復号オフセ
ットデコーダ20によってパイプラインレジスタ14の
(L+M+2)段目のレジスタに対して、復号語バス2
4に対するデータの出力が許可される。また、このシン
ボルDa に含まれる一致サイズm(=L+1)が復号長
カウンタ16に入力され、マルチプレクサ12からは復
号語バス24を介して入力される(L+1)個の原始デ
ータa0 〜aL が繰り返し選択され、復号語レジスタ2
2を介して出力される。したがって、シンボルDa が圧
縮前の原始データa0 〜aL に展開され、しかもこの展
開処理はパイプラインレジスタ14内の所定段のレジス
タから出力される原始データをマルチプレクサ12によ
って選択出力するだけであり、高速に展開処理を行うこ
とができる。
【0036】〔第2の実施形態〕上述した第1の実施形
態では、図3(A)、(C)に示すように、圧縮データ
列の各シンボルの最上位ビットに一致フラグを含んでお
り、この一致フラグに応じてマルチプレクサ12による
選択状態の切り替え、復号長カウンタ16による一致サ
イズmの取り込み、および復号オフセットレジスタ18
によるオフセットnの取り込みを行うようにしたが、各
シンボルに一致フラグを含ませずに、各シンボルとは別
に後出のシンボルが非圧縮データ用のシンボルであるか
圧縮データ用のシンボルであるかを識別するために、識
別データとしてのヘッダを付加した圧縮データ列を用い
てもよい。
【0037】まず最初に、本実施形態において展開処理
の対象となる圧縮データ列と圧縮前の原始データ列との
関係を説明する。図4は、本実施形態の原始データ列と
圧縮データ列の具体例を示す図であり、同図(A)が原
始データ列を、同図(B)が圧縮データ列をそれぞれ示
している。なお、図4(A)に示す圧縮前の原始データ
列としては図2(A)に示したデータ列と同じものを考
える。
【0038】原始データの各ワードが、先行する原始デ
ータの各ワードのいずれにも一致しない場合には、それ
らの原始データのそれぞれを非圧縮データ用のシンボル
として出力するとともに、その先頭に以後の所定ワード
数のデータが非圧縮データ用のシンボルであることを示
すヘッダH0 を付加する。図4(A)に示す原始データ
列では、先頭の(L+M+2)ワード分の原始データが
この非圧縮データ用のシンボルそのものに対応してお
り、その先頭に、以後の(L+M+2)ワードが非圧縮
データ用のシンボル(原始データ)であることを示すヘ
ッダH0 が付加されている。
【0039】また、原始データの連続する複数ワード
が、先行する原始データの複数ワードに一致する場合に
は、繰り返し現れる後出の複数ワードの原始データを所
定の圧縮データ用のシンボルD0 、D1 に置き換えると
ともに、その先頭に以後の所定ワード数のデータが圧縮
データ用のシンボルであることを示すヘッダH1 を付加
する。図4(A)に示す原始データ列では、原始データ
列において2回目に現れる原始データa0 〜aL が2ワ
ードの圧縮データ用シンボルD0 、D1 に置き換えら
れ、その先頭に、以後の2ワードが圧縮データ用のシン
ボルであることを示すヘッダH1 が付加されている。
【0040】図5は、非圧縮データ用のシンボルおよび
圧縮データ用のシンボルの前に付加されるヘッダと圧縮
データ用のシンボルの具体例を示す図である。非圧縮デ
ータ用のシンボルの先頭に付加されるヘッダH0 は、図
5(A)に示すように、最上位ビットが一致フラグ
“0”に対応し、下位の7ビットがこのヘッダH0 に続
く非圧縮データ用のシンボルのワード数(図4に示す圧
縮データの場合にはこのワード数は(L+M+2))に
対応している。また、圧縮データ用のシンボルの先頭に
付加されるヘッダH1 は、図5(B)に示すように、最
上位ビットが一致フラグ“1”に対応しており、下位の
7ビットがこのヘッダH1 に続く圧縮データ用のシンボ
ルのワード数(図4(B)に示す圧縮データ列の場合に
はこのワード数は2)に対応している。
【0041】また、圧縮データ用シンボルD0 、D1
それぞれには、図5(C)に示すように、この圧縮デー
タ用のシンボルが先行する何ワードの原始データに一致
するかを示す一致サイズmと、何ワード分先行する原始
データ列に一致するかを示すオフセットnとが含まれて
いる。
【0042】図6は、第2の実施形態のデータ展開装置
の構成を示す図である。同図に示すデータ展開装置2
は、図4(B)に示す圧縮データ列を展開して図4
(A)に示す圧縮前の原始データ列を復元するためのも
のであり、この展開処理を行うために圧縮語レジスタ1
0、マルチプレクサ12、パイプラインレジスタ14、
復号長カウンタ16、復号オフセットレジスタ18、復
号オフセットデコーダ20、復号語レジスタ22および
コントローラ30を備えている。コントローラ30を除
く各構成は、図1に示したデータ展開装置1の各構成と
基本的に同じ動作を行うものであり、対応する構成につ
いては同一の符号が付されている。
【0043】コントローラ30は、圧縮データ列が入力
されたときに、この圧縮データ列に含まれる非圧縮デー
タ用のヘッダH0 および圧縮データ用のヘッダH1 を抽
出し、各ヘッダに応じた制御動作を行う。
【0044】具体的には、本実施形態のデータ展開装置
2に最上位ビットの一致フラグが“0”である非圧縮デ
ータ用のヘッダH0 が入力されると、コントローラ30
は、このヘッダH0 に含まれる非圧縮データ用のシンボ
ルのワード数(L+M+2)を読み出して、圧縮語レジ
スタ10に対してこれ以後入力される(L+M+2)ワ
ードの各シンボルを順に保持してマルチプレクサ12に
向けて出力するための指示を行う。このとき、復号長カ
ウンタ16は動作しておらず、その計数結果は例えば
「0」であるため、マルチプレクサ12は、圧縮語レジ
スタ10から入力される各シンボルに含まれる原始デー
タa0 〜aL 、b0 〜bM を選択して出力する。
【0045】このようにしてマルチプレクサ12から出
力された原始データa0 〜aL 、b0 〜bM のそれぞれ
は、復号語レジスタ22に入力されるとともに、パイプ
ラインレジスタ14の初段のレジスタに入力される。以
後の(L+M+2)個の原始データが入力されるパイプ
ラインレジスタ14の動作は図1に示したデータ展開装
置1の場合と全く同じであり、(L+M+2)個の原始
データa0 〜aL 、b0 〜bM の入力が終了した時点
で、パイプラインレジスタ14の(L+M+2)段目か
ら初段までの各段のレジスタに原始データa0 〜aL
0 〜bM のそれぞれが格納される。
【0046】次に、本実施形態のデータ展開装置2に最
上位ビットの一致フラグが“1”である圧縮データ用の
ヘッダH1 が入力されると、コントローラ30は、次に
入力されて圧縮語レジスタ10に保持されている圧縮デ
ータ用の最初のシンボルD0(一致サイズm)を取り込
む指示を復号長カウンタ16に送るとともに、その次に
入力されて圧縮語レジスタ10に保持されている圧縮デ
ータ用の2番目のシンボルD1 (オフセットn)を取り
込む指示を復号オフセットレジスタ18に送る。
【0047】このようにして、復号長カウンタ16に一
致サイズm(=L+1)が、復号オフセットレジスタ1
8にオフセットn(=L+M+2)がそれぞれ取り込ま
れる。以後、図1に示したデータ展開装置1の場合と同
様に、復号オフセットデコーダ20からパイプラインレ
ジスタ14に送られる制御信号によってパイプラインレ
ジスタ14の(L+M+2)段目のレジスタから復号語
バス24に対するデータ出力が許可され、復号長カウン
タ16の計数値が「0」になるまで(L+1)個の原始
データa0 〜aL がパイプラインレジスタ14から読み
出され、マルチプレクサ12によって選択される。
【0048】このように、本実施形態のデータ展開装置
2では、最上位ビットの一致フラグが“1”である圧縮
データ用のヘッダH1 が入力されたときに、圧縮データ
用のシンボルD1 に含まれるオフセットn(=L+M+
2)が復号オフセットレジスタ18に入力され、復号オ
フセットデコーダ20によってパイプラインレジスタ1
4の(L+M+2)段目のレジスタから復号語バス24
に対するデータの出力が許可される。また、圧縮データ
用のシンボルD0 に含まれる一致サイズm(L+1)が
復号長カウンタ16に入力され、マルチプレクサ12か
らは復号語バス24を介して入力される(L+1)個の
原始データa0 〜aL が繰り返し選択され、復号語レジ
スタ22を介して出力される。
【0049】したがって、圧縮データ用のシンボルD
0 、D1 が圧縮前の原始データa0 〜aL に展開され、
しかも上述した第1の実施形態と同様に、この展開処理
はパイプラインレジスタ14内の所定段のレジスタから
出力される原始データ列をマルチプレクサ12によって
選択出力するだけであり、高速に展開処理を行うことが
できる。特に、本実施形態において展開処理の対象とし
ている圧縮データ列は、非圧縮データ用のシンボルとし
て原始データそのものを用いているため、非圧縮データ
の発生確率が高い場合であっても圧縮データ列の圧縮率
を高めることができ、このような圧縮データ列を高速に
展開することができる。
【0050】なお、本発明は上記実施形態に限定される
ものではなく、本発明の要旨の範囲内で種々の変形実施
が可能である。例えば、図1に示した第1の実施形態の
データ展開装置1や図6に示した第2の実施形態のデー
タ展開装置2では、マルチプレクサ12から出力された
原始データをパイプラインレジスタ14に入力すると同
時に、復号語レジスタ22を介してデータ展開装置1、
2の出力として取り出したが、パイプラインレジスタ1
4の2段目以降のレジスタの格納データを復号語レジス
タ22を介して取り出すようにしてもよい。
【0051】また、上述した各実施形態では、原始デー
タの1ワードが8ビットで構成される場合を示したが、
1ワードの構成ビット数はこれに限定されず、他の複数
ビット(例えば4ビットや16ビット)で構成するよう
にしてもよい。
【0052】また、上述した各実施形態では、マルチプ
レクサ12から出力された原始データを辞書として格納
するためにパイプラインレジスタ14を用いたが、他の
辞書格納手段を用いるようにしてもよい。図7は、辞書
格納手段としてメモリを用いた場合の構成を示す図であ
る。同図に示すデータ展開装置1Aは、図1に示したデ
ータ展開装置1のパイプラインレジスタ14と復号オフ
セットデコーダ20を、メモリ40、書き込み制御回路
42および読み出し制御回路44に置き換えた構成を有
している。図7に示す復号オフセットレジスタ18、書
き込み制御回路42、読み出し制御回路44が辞書読み
出し位置特定手段に対応している。
【0053】例えば、図2(B)に示す非圧縮データ用
のシンボルa0 ′〜aL ′、b0 ′〜bM ′が入力さ
れ、これらに含まれる原始データa0 〜aL 、b0 〜b
M がマルチプレクサ12から出力されている間は、書き
込み制御回路42によってメモリ40の書き込みアドレ
スを順次更新していって、連続したアドレスに順番に原
始データa0 〜aL 、b0 〜bM が書き込まれる。次
に、圧縮データ用のシンボルDa が入力され、このシン
ボルに含まれるオフセットnが復号オフセットレジスタ
18に取り込まれると、読み出し制御回路44は、書き
込み制御回路42から出力されるその時点の書き込みア
ドレスから復号オフセットレジスタ18に保持されたオ
フセットnを減算した値を読み出しアドレスに設定し、
以後この読み出しアドレスから順に一致サイズmに相当
するワード数の原始データの読み出しが行われる。
【0054】図8は、メモリ40に格納される各原始デ
ータと書き込みアドレスWAおよび読み出しアドレスR
Aの関係を示す図である。図8(A)は、データ展開装
置1Aに非圧縮データ用のシンボルa0 ′〜aL ′、b
0 ′〜bM ′が入力され、各シンボルに含まれる原始デ
ータa0 〜aL 、b0 〜bM がメモリ40の連続した領
域に格納された状態を示している。例えば、先頭のシン
ボルa0 ′に含まれる原始データa0 がアドレス「1」
の領域に格納されるものとし、以後書き込みアドレスW
Aが更新されてアドレス「L+M+2」までの各領域に
原始データが格納される。このようにして原始データb
M がアドレス「L+M+2」に格納された時点では、書
き込み制御回路42によって設定される書き込みアドレ
スは、原始データbM が格納された領域の次のアドレス
「L+M+3」となる。
【0055】次に、圧縮データ用のシンボルDa がデー
タ展開装置1Aに入力されると、このシンボルDa に含
まれるオフセットnが復号オフセットレジスタ18を介
して読み出し制御回路44に入力され、読み出しアドレ
スRAの設定が行われる。上述したように、読み出し制
御回路44は、その時点の書き込みアドレスWA(=L
+M+3)からオフセットn(=L+M+2)を減算し
た値((L+M+3)−(L+M+2)=1)を読み出
しアドレスRAとして設定する。したがって、図8
(B)に示すように、メモリ40のアドレス「1」に格
納された原始データa0 が読み出され、このデータがマ
ルチプレクサ12を介して再度メモリ40に入力され
て、その時点における書き込みアドレス「L+M+3」
の領域に書き込まれる。このようなメモリ40からのデ
ータの読み出しおよび書き込みは、シンボルDa に含ま
れる一致サイズmに相当する回数分行われ、その結果、
図8(C)に示すように、圧縮データのシンボルDa
(L+1)ワードの原始データa0 〜aL に展開され
る。
【0056】また、上述した図7では、図1に示したデ
ータ展開装置1の一部をメモリ40等に置き換えた場合
を説明したが、図6に示したデータ展開装置2のパイプ
ラインレジスタ14と復号オフセットデコーダ20を、
メモリ40、書き込み制御回路42および読み出し制御
回路44に置き換えるようにしてもよい。
【0057】
【発明の効果】上述したように、本発明によれば、原始
データが含まれる圧縮符号が入力された場合には、この
圧縮符号に含まれる原始データを選択出力し、一致長デ
ータmと位置データnとが含まれる圧縮符号が入力され
た場合には、辞書内の所定の原始データを選択出力して
おり、入力される圧縮符号に応じて選択出力する原始デ
ータを切り替えるだけであるため、圧縮データ列の展開
を高速に行うことができる。
【0058】また、上述した辞書格納手段をパイプライ
ンレジスタによって、辞書読み出し位置特定手段をデコ
ーダによって、選択手段を選択回路と選択指示回路によ
ってそれぞれ構成することにより、圧縮データ列の展開
処理を高速に行うことができる。
【0059】また、上述した辞書格納手段をメモリによ
って、辞書読み出し位置特定手段を読み出し制御回路に
よって、選択手段を選択回路と選択指示回路によってそ
れぞれ構成することにより、大容量の辞書を容易に実現
することができる。
【図面の簡単な説明】
【図1】本発明を適用した第1の実施形態のデータ展開
装置の構成を示す図である。
【図2】図1に示すデータ展開装置に入力される圧縮デ
ータ列と圧縮前の原始データ列の具体例を示す図であ
る。
【図3】圧縮データ用のシンボルと非圧縮データ用のシ
ンボルの具体例を示す図である。
【図4】第2の実施形態のデータ展開装置に入力される
圧縮データ列と圧縮前の原始データ列の具体例を示す図
である。
【図5】圧縮データ用のシンボルと非圧縮データ用のシ
ンボルの具体例を示す図である。
【図6】第2の実施形態のデータ展開装置の構成を示す
図である。
【図7】図1に示すデータ展開装置に含まれるパイプラ
インレジスタをメモリに置き換えた場合の変形例の構成
を示す図である。
【図8】図7に示すメモリの書き込みアドレスと読み出
しアドレスの関係を示す図である。
【符号の説明】
1、2 データ展開装置 10 圧縮語レジスタ 12 マルチプレクサ 14 パイプラインレジスタ 16 復号長カウンタ 18 復号オフセットレジスタ 20 復号オフセットデコーダ 22 復号語レジスタ 30 コントローラ 40 メモリ 42 書き込み制御回路 44 読み出し制御回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 mワードの原始データがnワード分離れ
    て再度現れる原始データ列に対し、2度目以降に現れる
    前記mワードの原始データについては一致長データmお
    よび位置データnを含む第1の圧縮符号に置き換えると
    ともに、それ以外の各原始データについては各原始デー
    タを含む第2の圧縮符号とした圧縮データ列が入力さ
    れ、前記圧縮データ列を展開して前記原始データ列を出
    力するデータ展開装置において、 展開済みの原始データ列の最後尾に位置する所定ワード
    数のデータ列を辞書として格納する辞書格納手段と、 前記第1の圧縮符号に含まれる前記位置データnに基づ
    いて、既にnワード分先行して展開されている前記辞書
    格納手段内の原始データを特定する辞書読み出し位置特
    定手段と、 前記圧縮データ列として前記第2の圧縮符号が入力され
    たときに、前記第2の圧縮符号に含まれる原始データを
    選択出力し、前記圧縮データ列として前記第1の圧縮符
    号が入力されたときに、前記辞書読み出し位置特定手段
    によって特定された前記辞書格納手段内の原始データを
    先頭に前記一致長データmに相当するワード数の原始デ
    ータを前記辞書格納手段から読み出して選択出力して、
    前記辞書格納手段に格納された辞書の更新を行う選択手
    段と、 を備え、前記辞書格納手段に入力される原始データ列を
    展開後の原始データ列として出力することを特徴とする
    データ展開装置。
  2. 【請求項2】 請求項1において、 前記辞書格納手段は、前記辞書として格納する原始デー
    タの最大ワード数に対応する複数段の格納部を有し、入
    力される原始データを前記複数の格納部間で順にシフト
    するパイプラインレジスタであり、 前記辞書読み出し位置特定手段は、前記第1の圧縮符号
    に含まれる前記位置データnに基づく所定のデコード処
    理を行って、原始データの読み出しを行う前記パイプラ
    インレジスタの格納部を特定するデコーダであり、 前記選択手段は、前記デコーダによって特定される前記
    パイプラインレジスタの格納部から読み出される前記一
    致長データmに相当するワード数の原始データと前記第
    2の圧縮符号に含まれる原始データとを選択的に出力す
    る選択回路と、前記選択回路によって選択されるデータ
    の切り替えを行う選択指示回路とを含んでおり、 前記パイプラインレジスタに入力される原始データ列あ
    るいは前記パイプラインレジスタのいずれかの格納部に
    格納される原始データ列を展開後の原始データ列として
    出力することを特徴とするデータ展開装置。
  3. 【請求項3】 請求項1において、 前記辞書格納手段は、辞書として格納する原始データの
    最大ワード数に対応する複数の格納領域を有し、入力さ
    れる原始データを前記複数の格納領域のそれぞれに格納
    するメモリであり、 前記辞書読み出し位置特定手段は、その時点における前
    記メモリの書き込みアドレスと、前記第1の圧縮符号に
    含まれる前記位置データnとに基づいて、nワード分先
    行して前記メモリに格納された原始データの読み出しア
    ドレスを特定する読み出し制御回路であり、 前記選択手段は、前記読み出し制御回路によって特定さ
    れる前記メモリの所定アドレスを先頭アドレスとして読
    み出される前記一致長データmに相当するワード数の原
    始データと前記第2の圧縮符号に含まれる原始データと
    を選択的に出力する選択回路と、前記選択回路によって
    選択されるデータの切り替えを行う選択指示回路とを含
    んでおり、 前記メモリに入力される原始データ列あるいは前記メモ
    リのいずれかの格納領域に格納される原始データ列を展
    開後の原始データ列として出力することを特徴とするデ
    ータ展開装置。
JP2841497A 1997-01-28 1997-01-28 データ展開装置 Withdrawn JPH10209878A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2841497A JPH10209878A (ja) 1997-01-28 1997-01-28 データ展開装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2841497A JPH10209878A (ja) 1997-01-28 1997-01-28 データ展開装置

Publications (1)

Publication Number Publication Date
JPH10209878A true JPH10209878A (ja) 1998-08-07

Family

ID=12248005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2841497A Withdrawn JPH10209878A (ja) 1997-01-28 1997-01-28 データ展開装置

Country Status (1)

Country Link
JP (1) JPH10209878A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006332982A (ja) * 2005-05-25 2006-12-07 Sony Corp デコーダ回路及びデコード方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006332982A (ja) * 2005-05-25 2006-12-07 Sony Corp デコーダ回路及びデコード方法
JP4586633B2 (ja) * 2005-05-25 2010-11-24 ソニー株式会社 デコーダ回路、デコード方法及びデータ記録装置

Similar Documents

Publication Publication Date Title
JP3309028B2 (ja) 連想記憶メモリ内の複数辞書管理を改良したlempel−zivデータ圧縮のための装置、及び方法
US5612693A (en) Sliding window data compression using a toroidal bit shift register
US5870036A (en) Adaptive multiple dictionary data compression
JP3342700B2 (ja) ストリングリバーサル機構を具備した単一クロックサイクルデータ圧縮装置/圧縮解除装置
JP3007235B2 (ja) 可変長符号の伸長装置および圧縮伸長装置
JPH08274649A (ja) Lempel−Zivタイプ・アルゴリズムを用いたデータ圧縮装置
JPH11145849A (ja) 符号化方法及びデータ圧縮器
KR870008446A (ko) 2진 데이타 압축·신장 처리 장치
US6404362B1 (en) Method and apparatus for reducing the time required for decompressing compressed data
JP2001313686A (ja) データ分析方法及び装置
JP2002009625A (ja) 高速データ圧縮/復元用エントロピーコーデック
JP4586633B2 (ja) デコーダ回路、デコード方法及びデータ記録装置
JPH10209878A (ja) データ展開装置
KR20080075773A (ko) 고정 크기 코드워드 테이블을 이용한 gif 압축 해제를위한 방법 및 장치
US6615310B1 (en) Lossless data compressor with all CAM words available
JP3087488B2 (ja) データ復元回路
JPH09246990A (ja) 可変長符号復号化器
JP3210183B2 (ja) データ圧縮方法及び装置
US6653949B1 (en) Data compression apparatus and method utilizing tandem coupled matrices
JPS5953579B2 (ja) 文字圧縮装置
JPH10154065A (ja) バス制御装置
US6812866B1 (en) Data decompressor utilizing sequentially coupled logic elements
US6756923B1 (en) Data compressor utilizing switched input coincidence elements arranged in virtual levels
KR100251952B1 (ko) 그래픽압축데이터용압축해제장치및방법
JPH08161148A (ja) データ切り出し装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040406