JP2000505968A - 即時辞書更新がストリング探索とインターリーブされたデータ圧縮解凍システム - Google Patents
即時辞書更新がストリング探索とインターリーブされたデータ圧縮解凍システムInfo
- Publication number
- JP2000505968A JP2000505968A JP10507214A JP50721498A JP2000505968A JP 2000505968 A JP2000505968 A JP 2000505968A JP 10507214 A JP10507214 A JP 10507214A JP 50721498 A JP50721498 A JP 50721498A JP 2000505968 A JP2000505968 A JP 2000505968A
- Authority
- JP
- Japan
- Prior art keywords
- string
- character
- data
- signal
- code signal
- 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.)
- Granted
Links
- 230000006837 decompression Effects 0.000 title claims abstract description 59
- 238000013144 data compression Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 143
- 238000007906 compression Methods 0.000 claims abstract description 110
- 230000006835 compression Effects 0.000 claims abstract description 109
- 230000004044 response Effects 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000011084 recovery Methods 0.000 claims description 25
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000010257 thawing Methods 0.000 claims 3
- 238000012545 processing Methods 0.000 description 51
- 238000010586 diagram Methods 0.000 description 11
- 230000002457 bidirectional effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 230000007812 deficiency Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 241000233855 Orchidaceae Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】
辞書ベースのデータ圧縮解凍システムにおいて、圧縮器(10)では、辞書(13)で部分的なストリングWおよび文字Cを一致照合すると、ストリングPWの拡張文字としてCを付けた新しいストリングを辞書に入力する。ここで、Pは最後の出力圧力コード信号に対応するストリングである。読み込まれて、一致照合された入力文字の各々に対して更新ストリングが圧縮辞書に入力される(113)。更新は即時であり、現在のストリングの文字ごとの一致照合とインターリーブされる。更新プロセスは、辞書中に最長一致が見つかるまで続く。最長一致ストリングのコードはストリング一致照合サイクルにおいて出力される(106)。単一文字または複数文字ストリング“A”が辞書に存在すると、ストリングAAA...Aは、その長さに関係なく2つの圧縮コード信号に符号化される。この符号化により、解凍器において、未認識のコード信号が生ずる。解凍器(40)では、未認識のコード信号に応答して、先に受信したコード信号に対応する回復されたストリング(161)、未認識のコード信号、解凍器の現在コード、および先に回復されたストリングの文字数(135)に従って解凍器辞書(43)のストリングを更新する。
Description
【発明の詳細な説明】
即時辞書更新がストリング探索とインターリーブされたデータ圧縮解凍システム
発明の背景
1.発明の分野
本発明は辞書ベースのデータ圧縮解凍に関するものであり、特に圧縮解凍用の
辞書の更新方法に関するものである。
2.従来技術の説明
Lempel-Ziv(LZ)のアルゴリズムはLZ2として知られており、広く使用さ
れている多数の辞書ベースのデータ圧縮(compression)解凍(decompression)シス
テムの理論的な基礎を与えるものである。LZ2はJacobZlvとAbrahamLempelの
論文「Compression of Individual Sequences Via Variable-Rate Coding」,th
eIEEE Transactions on Information Theory,Vol.IT-24,No.5,September 19
78,pages 530-536に発表されている。LZWとして知られているあらゆる所で用
いられているデータ圧縮解凍装置は、V.42 bisモデムの圧縮解凍の標準として採
用され、1985年12月10日に発行されたWelchの米国特許第4,558,302号に記載され
ている。LZWはまた、GIFおよびTIFF画像通信規格において用いられる
データ圧縮解凍としても採用されている。LZ2の変形は1989年10月24日に発行
されたStorerの米国特許第4,876,541号に記載されている。LZ辞書ベースの圧
縮解凍装置のその他の例は、1984年8月7日に発行されたEastman等の米国特許
第4,464,650号;1989年3月21日に発行されたMiller等の米国特許第4,814,746号
;1992年10月6日に発行されたClark等の米国特許第5,153,591号;1993年12月8
日に発行されたLempel等の欧州特許出願公告第0 573 208 A1号に記載されてい
る。
上記の装置では、入力文字データのストリームが辞書に記載されている文字ス
トリングと一文字ずつ比較され、それとの突合せが行われる。一般には、最長の
一致(longest match)が求まるまで、文字ごとの比較が続けられる。一致に基づ
いて圧縮コードが出力され、1つまたは2つ以上の追加の文字ストリングで辞書
が更新される。Storerの特許('541)では、現在の最長一致ストリングのゼロで
な
いプレフィックスの全てを前の最長一致ストリングと連結することによって、辞
書は更新される。従って、現在の最長一致にN文字があれば、現在の最長一致を
求めた後でNストリングが辞書に追加される。Storerの特許では、これはAllPref
ixes(AP)更新法と呼ばれている。
他のタイプのデータ圧縮解凍方法はRun-Length Encoding(RLE)と呼ばれ
るものである。RLEのアルゴリズムは、繰返す文字または文字群のランを、そ
の文字または文字群とそのラン長さを表す圧縮コードを与えることで圧縮する。
従って、RLEは、同じ文字または文字のグループの長いランを符号化するのに
効果的である。例えば、RLEはデータファイルのはじめに含まれる長い空白の
連続を圧縮するのに有効である。また、RLEは画像の圧縮においても有効であ
り、陸と空の画像の空の部分のように、画像が同じ値を持つ連続したピクセルの
長いランを含む場合に有効である。
上記のLZ辞書ベースの圧縮解凍アルゴリズムは繰返す文字または文字群の長
いランを圧縮するのには特に有効ではない。AP更新法を用いても、長いランを
圧縮するには、数多くの圧縮コード出力が必要になる。
辞書ベース装置のこのような欠点は、従来はランレングスエンコーダにデータ
を加えて、符号化されたランレングスのデータをLZ辞書ベースの装置に加える
ことによって克服してきた。このようなアーキテクチャにおいて、ランレングス
エンコーダは辞書ベース圧縮器の前端部で使用されて、ランレングス復号器は辞
書ベース解凍器の出力端で使用される。そのような装置には、装置が大きくなり
、高価で、管理費が高くなり、そして処理時間が長くなると言う不利がある。
発明の概要
本発明は辞書ベースのデータ圧縮解凍装置で実施され、上記の欠陥を克服する
。ストリングAが辞書中に存在するとき、ストリングAAA...Aは、その長
さに関係なく2つの圧縮コード記号に符号化される。したがって、例えば空白や
ゼロのような繰返し文字のストリング、または同じ値を持つ連続する画像ピクセ
ルのような文字群などは、最初の遭遇時に非常に効率よく符号化される。
本発明の圧縮アルゴリズムでは、各入力文字が読まれ一致照合される間にスト
リングが圧縮辞書に取込まれる。従来は、最長一致が達成されて出力圧縮コード
記号が求まった時に、1つまたは2つ以上の更新ストリングが辞書に加えられる
。アルゴリズムの動作は次の通りである。部分的なストリングWと文字Cが辞書
中に存在する度に、ストリングPWの拡張文字としてCを付けた新しいストリン
グが辞書に加えられる。ここで、Pは最後の伝送出力圧縮コード記号で送られた
ストリングである。したがって、ストリングWが一致したとき、ストリング探索
プロセスでストリングPとWの文字が一致したので、ストリングPはWの文字で
拡張される。これは、「実行中(on-the-fly)」の辞書更新と呼べるもので、辞書
の更新は即時であり文字ごとにストリング探索でインターリーブされる。このよ
うに、入力と記憶されているストリングWとの文字ごとの一致照合(match)が行
われるとき、各一致文字が成長するストリングPWの末尾に付加される。更新プ
ロセスは入力データ文字が辞書中の最長ストリングWと一致した時に終わる。
一致照合されるストリングWが先に一致照合されたストリングPと一致すると
き、上記のランレングス符号化の利点が実現される。このように成った時に、圧
縮器は解凍器では認識されない圧縮コード記号を伝送する。解凍器は、圧縮辞書
と同期を保つために未認識コードプロセスを使用するが、このプロセスは、現在
割り当てられている解凍コード、未認識コード、先に復号されたストリングおよ
び先に復号されたストリングの文字数に基づいている。
図面の簡単な説明
図1は、本発明の実施において使用されるデータ圧縮サブシステムの略ブロッ
ク図である。
図2は、図1の圧縮器の圧縮コード出力を回復するデータ解凍サブシステムの
略ブロック図である。
図3aは、図1および図2の辞書の探索樹のノードの具象的なデータ構造を示
す図である。
図3bは、図1および図2の辞書の探索樹のノードの実際的なデータ構造を示
す図である。
図4は、図3aのデータ構造に従って図1および図2の辞書の探索樹のノード
を図示する概略ノード図である。
図4aは、図4のノードを使用するデータ記憶を図示する部分的な探索樹の模
式図である。
図5は、図3bのデータ構造に従って図1および図2の辞書の探索樹のノード
を図示する概略ノード図である。
図5aは、図5のノードを使用し図4aと同じストリングをストアする部分的
な探索樹の模式図である。
図6は、本発明にしたがってデータ圧縮を行うために図1の圧縮サブシステム
によって実行される動作を図示する制御フローチャートである。図6のフローチ
ャートは全ての単一文字ストリングで初期化される圧縮辞書に基づいている。
図7は、図6に従って生成される圧縮コードを解凍する図2の解凍サブシステ
ムによって実行される動作を図示する制御フローチャートである。図7のフロー
チャートは全ての単一文字ストリングで初期化される解凍辞書に基づいている。
図8は、図7および図10の未認識のコード処理を図示する制御フローチャー
トである。
図9は、無初期化圧縮辞書に基づく図6に類似の制御フローチャートである。
図10は、無初期化解凍辞書に基づく図7に類似の制御フローチャートである
。
図10の解凍フローチャートは図9に従って生成される圧縮コードを解凍する。
図11a〜図11eは、代表的な入力データ文字ストリームを圧縮する時の圧
縮辞書の連続する状態を図示する部分的な探索樹の模式図である。
図12a〜図12gは、入力データ文字ストリームが繰返し文字群である時の
圧縮辞書の連続する状態を図示する部分的な探索樹の模式図である。
好ましい実施例の説明
図1において、入力11に加えられる入力データ文字信号のストリームを出力
12の対応する圧縮コード信号のストリームに圧縮するデータ圧縮サブシステム
10が図示されている。文字ストリングをストアする辞書13は、上に引用した
参考資料に記載の方法で一般にRAMまたはCAMのようなメモリで実現されて
いる。文字ストリングは探索樹データベース構造に公知の方法でストアされてい
る。探索樹は、辞書13の記憶場所にストアされている互いに連結されたノード
から構成されている。辞書13の記憶場所には周知の方法でアドレス14でアク
セスすることができる。
探索樹ノードのデータ構造はノード番号16、文字フィールド17および関連
するノードポインタのフィールド18を含むノード15で図示されている。ノー
ド番号16は探索樹のノードを特定し、ノード15が蓄えられているメモリアド
レス14が便宜上ノード番号として利用される。文字フィールド17はノードの
データ文字値を含むために用いられる。フィールド18は、ノード15を親ノー
ド、子供ノードおよび同胞ノードなど関連する探索樹ノードに周知の方法でリン
クするポインタを含んでいる。
圧縮サブシステム10は双方向データバス21と双方向制御バス22を介して
辞書13に結合されている探索/更新制御部20を含んでいる。探索/更新制御
部20は現文字レジスタ23、現一致照合レジスタ(match register)24および
前一致照合レジスタ25として表されるワーキングレジスタを含んでいる。更に
、探索/更新制御部20は、圧縮コード値を辞書13にストアされている文字ス
トリングに割り当てるコード発生器26を含んでいる。コード発生器26はコー
ド番号を逐次に、またはハッシングによるように疑似ランダムに割り当てる。割
り当てられたコードにより、メモリアドレス14を介して辞書13の記憶場所に
アクセスする。このようにして、周知のように、アドレス14(ノード番号16
)は辞書13にストアされているストリングの圧縮コードとして利用される。
探索/更新制御部20は後述の方法で図6および図9の動作フローチャートに
従って圧縮サブシステム10の動作を制御する制御装置27を含む。
圧縮サブシステム10は入力11で受け取られる入力データ文字ストリームの
バッファとして働く文字レジスタ30を含んでいる。個々の入力データ文字は、
後述の動作に従って文字レジスタ30からバス31を介して現文字レジスタ23
に加えられる。探索/更新制御部20は、制御バス32を介して文字レジスタ3
0から入力文字データを受け取ることを制御する。
圧縮サブシステム10の動作は簡単に言えば次の通りである。入力データ文宇
は逐次的に現文宇レジスタ23に挿入され、最長一致が得られるまで辞書13に
記憶されているストリングに対して探索が行われる。現一致照合レジスタ24は
このプロセスで利用される。最長一致ストリングのノード番号16が圧縮コード
として出力12から与えられる。これらの探索動作は上記に引用した参考資料に
記載されているものと同じである。本発明にしたがって、入力データ文字が探索
されるストアされた辞書ストリングの文字を一致照合する間に、辞書13は、一
致照合される現入力文字で先の反復で一致照合された最長ストリングを拡張する
ことによって更新される。前一致照合レジスタ25はこのプロセスで利用される
。前一致照合ストリングは、このようにして拡張されるが、入力文字が引き続き
取込まれて一致照合されている間は、一致照合に使用可能である。したがって、
更新ストリングは、文字ごとのストリング探索とインターリーブされた形で直ち
に辞書13に加えられる。
図1を続いて参照して、図2において、圧縮サブシステム10の出力12から
供給される圧縮コード信号から元の入力データストリームの文字を回復する解凍
サブシステム40が図示されている。従って、解凍サブシステム40は入力41
で入力圧縮コード信号を受け取り、対応する回復された文字ストリングを出力4
2から出力する。解凍サブシステム40は、好ましくはメモリRAMで実施され
る辞書43を含んでいる。辞書43は、圧縮サブシステム10の辞書13に含ま
れるものと同じ探索樹データベースを含むように構成され、また更新される。各
々の入力圧縮コードが入力41で受け取られるとき、辞書43は、辞書13にス
トアされているものと同じデータ文字ストリングを含むように更新される。辞書
43にストアされている探索樹データベース構造は辞書43の記憶場所にストア
されている互いにリンクしたノードから構成されている。辞書43の記憶場所は
周知の方法でアドレス44によってアクセスすることができる。
探索樹ノードのデータ構造は、辞書13のノード15に関して上で説明したよ
うに、ノード番号46、文字フィールド47および関連するノードポインタのフ
ィールド48を含むノード45で図示されている。辞書13に関して上で説明し
たように、ノード番号46は探索樹ノードを特定し、ノード45がストアされて
いるメモリアドレス44はノード番号として利用される。文字フィールド47は
、ノードのデータ文字値を含むために利用される。フィールド48は、上記の
ようにノード45を親、子供および同胞ノードなどの関連する探索樹ノードにリ
ンクするポインタを含む。
解凍サブシステム40は、双方向データバス51および双方向制御バス52を
介して辞書43に結合された回復/更新制御部50を含んでいる。回復/更新制
御部50は、現在受信コードレジスタ53と前ストリングレジスタ54として表
されるワーキングレジスタを含んでいる。本発明によって、回復/更新制御部5
0は図8に関して詳細に説明される未認識コード処理部55を含む。
回復/更新制御部50は、更に、圧縮コード値を辞書43にストアされている
文字ストリングに割り当てるコード発生器56を含んでいる。コード発生器56
は、逐次的に、またはハッシングによるように疑似ランダムにコード番号を割り
当てる。装置の互換性のために、コード発生器56は、圧縮サブシステム10の
コード発生器26で利用されているのと同じプロセスとアルゴリズムを利用して
コード番号の割り当てを行う。割り当てられたコードによって、メモリアドレス
44を介して辞書43の記憶場所にアクセスする。このようにして、圧縮サブシ
ステム10に関して上に説明したように、アドレス44(ノード番号46)が辞
書43にストアされているストリングのコードとして利用される。
回復/更新制御部50は、後で説明する方法で図7、図8、および図10の動
作フローチャートにしたがって、解凍サブシステム40の動作を制御する制御装
置57を含んでいる。
解凍サブシステム40は、入力41で受け取られる圧縮コード信号のバッファ
として働くコードレジスタ60を含む。個々の圧縮コード信号は、後で説明する
動作にしたがって、コードレジスタ60からバス61を介して現在受信コードレ
ジスタ53に加えられる。回復/更新制御部50は、制御バス62を介してコー
ドレジスタ60からの圧縮コード信号の受け取りを制御する。
解凍サブシステム40の動作は簡単に言えば次のようである。現在受信コード
レジスタ53に挿入された入力圧縮コード信号は、アドレス44を介して辞書4
3にストアされている対応するストリングにアクセスする。回復プロセスが、関
連するノードポインタ48を利用して探索樹を逆方向にたどってストリングのノ
ードを追跡する時に、ストリングの文字は文字フィールド47から回復される。
ストリングから回復された文字は適当な順序で出力42から供給される。これら
のストリング回復動作は上に引用した参考資料に記載されているものと同じであ
る。辞書43は、現在回復されるストリングの各文字で先に回復されたストリン
グを拡張することによって更新される。前ストリングレジスタ54はこのプロセ
スで利用される。
対応するストリングが辞書43にストアされていない未認識圧縮コード信号は
、繰返し文字または文字群のストリングを圧縮する圧縮サブシステム10に呼応
して受け取られる。未認識圧縮コード信号が受け取られたときには、未認識コー
ド処理55が、未認識圧縮コード信号に対応するストリングを回復するために用
いられる。更に、圧縮プロセスの間に圧縮サブシステム10の辞書13にストア
された更新ストリングに対応する更新ストリングが解凍サブシステム40の辞書
43にもストアされる。未認識コード処理55の詳細は図8に関して後に説明さ
れる。
図3aにおいて、辞書13と43の探索樹のノードに関する具象的なデータ構
造が図示されている。本発明の好ましい実施例では、同じノードデータ構造が圧
縮サブシステム10と解凍サブシステム40の両方で利用されるので、図1と図
2の両方のなじみの参照数字が図3aに示されている。ノード番号16、46と
文字フィールド17、47は上で説明した。関連ノードポインタフィールド18
、48は、親ポインタフィールド66と子ポインタフィールド67を含む。周知
の方法で、親ポインタフィールド66は、現在ノード15、45の親ノードのノ
ード番号を含み、そして子ポインタフィールド67は現在ノード15、45の子
ノードのノード番号を含む。
当技術分野ではよく理解されている方法で、圧縮サブシステム10は次のよう
にして探索樹を下方に辿って探索を行う。子ノードの文字値が現在ノードにある
時に、いずれかの子ノードが現入力文字と一致するかどうかを確定するために、
子ノードの文字値が調べられる。一致するものがあれば、その子ノードは現在ノ
ードとなる。そして、現入力文字と一致する子ノードを持たない現在ノードに出
会うまで、このプロセスは次の入力文字について繰返される。このようになった
時に、最長一致のストリングが辞書13に見出されて、そのノード番号がこの最
長
一致ストリングの圧縮コード信号として用いられる。探索樹の前方向へ辿る探索
が、親ポインタフィールド66がナル値を持つ根ノードから始まる。
同様の方法で、周知であるが、現在ノード番号と現入力文字のハッシング関数
から探索すべき次のノードを見出すことによって、前方への探索を行うことがで
きる。このような実施例では、子ポインタフィールド67は利用されないだろう
。Welchの特許('302)は、LZWアルゴリズムのハッシュ探索の実施例を開示
している。
周知の方法で、図3aのデータ構造は、圧縮コード信号に対応するデータ文字
ストリングを回復するために探索樹を逆方向に辿る探索において、解凍サブシス
テム40によっても用いられる。圧縮コード信号がノード番号46のアドレスを
指定し、そして文字値は文字フィールド47にストアされている。親ポインタフ
ィールド66のノード番号は親ノードにアクセスするために用いられ、そしてそ
こに文字値がストアされている。このプロセスは、根ノードに到達するまで続け
られる。文字は順序が逆のこのプロセスによって回復されるので、LIFOスタ
ックまたは適当に構成された出力バッファのような機構が文字順序を逆にして元
のデータ文字ストリングを回復するために利用される。
圧縮辞書13または解凍辞書43にストアされているストリングは次のように
して拡張される。空記憶場所の次の使用可能コードはコード発生器26または5
6によって与えられ、そのノード番号は拡張されるノードの子ポインタ67に加
えられる。拡張されるノードのノード番号は空記憶場所の親ポインタフィールド
66に挿入される。拡張文字の文字値は空記憶場所の文字フィールド17または
47に挿入される。
図3bにおいて、辞書13および43の探索樹のノードに関する実際のデータ
構造が図示されている。このデータ構造と圧縮解凍装置におけるその実施はClar
kの特許('591)に説明されている。図3aについて説明したように、図3bの
データ構造は圧縮辞書13と解凍辞書43の両方で利用できるので、図1と図2
の両方のよく知られている参照数字が示されている。さらにまた、ノード番号1
6、46および文字フィールド17、47は先に説明されている。図3bのデー
タ構造において、関連ノードポインタフィールド18、48は、親ポインタフィ
ール
ド70、子ポインタフィールド71および同胞ポインタフィールド72から成っ
ている。親ポインタフィールド70は図3aの親ポインタフィールド66につい
て先に説明したのと同じ方法で利用される。子ポインタフィールド71と同胞ポ
インタフィールド72が図3aの子ポインタフィールド67に置き換わる。図3
bのデータ構造において、親ノードはその子のポインタフィールド71を使用し
て子ノードの1つのノード番号を指し、その指された子ノードはその同胞ポイン
タフィールド72を用いてその同胞ノードの1つのノード番号を指す。指された
同胞ノードが、今度は、その同胞ポインタフィールド72を用いて更に進んだ同
胞ノードを指す。このようにして、親ノードの全ての子のポインタが同胞ノード
のリンクされたリストに含まれるようになる。
入力文字の存在を同胞のリストで探索することを除けば、下方への探索は図3
aに関して上に説明した方法で行われる。ストリング回復のための逆方向への探
索は、図3aに関して上に説明した方法で行われ、子と全ての同胞の親ポインタ
フィールドを親のノード番号に設定することで実現される。探索を容易にするた
めに、同胞リストは昇順文字値の順序で配列することができる。
子のないノード(子ポインタフィールド=0)で表されるストリングの拡張は
、次に使用可能なコードを割り当てること、上記のように、次に使用可能な空記
憶場所を指定することおよびこの空記憶場所のノード番号を拡張されるノードの
子ポインタフィールド71に挿入することによって行われる。この新しくつくら
れた子ノードの親ポインタフィールド70は親のノード番号に設定され、拡張文
字値が新しくつくられた子の文字フィールドに挿入される。拡張されるノードが
既に子を持っている場合には、新しい同胞ノードがつくられて、同胞リストの適
当なノードの同胞ポインタフィールド72を調整することで同胞リストに挿入さ
れる。親のノード番号は新しくつくられた同胞ノードの親ポインタフィールド7
0に挿入される。
図4および図4aにおいて、図4は図3aのデータ構造にしたがって探索樹ノ
ード80を模式的に図示する。アドレス(ノード番号)、文字値、親ノードおよ
び子ノードが説明文で表されるようになっている。図4aは図4のノード80の
配列を利用するデータの蓄積を図示する部分的な探索樹を表すものである。図
4aの部分的な探索樹は、ストリングab、acおよびadをストアするノード81、
82、83および84から構成されている。このようにして、親ノード81の子
ポインタフィールド67(図3a)は子ノード82、83および84のノード番
号を含んでおり、一方で、子ノード82、83および84の親ポインタフィール
ド66は各々親ノード81のノード番号を含んでいる。
図5および図5aにおいて、図5は図3bのデータ構造にしたがって探索樹ノ
ード90を模式図的に図示する。アドレス(ノード番号)、文字値、親ノード、
子ノードおよび同胞ノードが説明文で表されるようになっている。図5aは、図
5のノード90の配列を利用する部分的な探索樹を表すものであり、ノード91
、92、93および94から成っている。図5aの部分的な探索樹は、図4aの
それと同じストリングをストアしている。このようにして、親ノード91の子ポ
インタフィールド71(図3b)は子ノード92のノード番号に設定される。子
ノード92の同胞ポインタフィールド72は同胞ノード93のノード番号に設定
され、同胞ノード93の同胞ポインタフィールド72は同胞ノード94のノード
番号に設定される。子ノード92、93および94の親ポインタフィールド70
はそれぞれ親ノード91のノード番号に設定される。
次の図6〜図10の詳細な説明において、図3bのデータ構造、図5の対応す
るノード配列および図5aの対応する探索樹構造の項で、動作の説明がされる。
コードはハッシングによるように疑似ランダムに割り当てることがてきることは
知られているが、コードはコード発生器26および56によって逐次的に割り当
てられるものと考えられる。ハッシングの実施例では、次に続くアドレスを決め
るためにノード番号コードと文字はハッシュされる。そのようなハッシングの実
施例では、子および同胞のポインタは利用されないだろう。しかし、図6〜図1
0のフローチャートでは、オペレーティグブロックのCODE=NEXT AVAILABLE COD
Eが次の順番のコードまたは次のハッシュコードのいずれかを完全に取り囲んで
いる。順次コード割当ての実施例では、これらの動作ブロックはより具体的には
、CODE=CODE+1である。
図6において、図1と図3bを引続き参照して、本発明によってデータ圧縮を
行うために、探索/更新制御部20が実行する詳細な動作を示す制御フロー
チャートが図示されている。制御部27は動作の実行を制御するための状態マシ
ンのような適当な回路を含んでいるものと考えられる。
図6のフローチャートは、全ての単一文字ストリングで初期設定される圧縮辞
書13に基づいている。従って、ブロック100は、それぞれのコード(ノード
番号)にストアされる単一文字ストリングの全てで辞書13をクリアして初期化
することができるようになっている。この動作は、単一文字ストリングをストア
するためにノード番号を逐次的に割り当てるコード生成器26を使用して行われ
る。ASCIIの実施では、最初の256コードが、256の単一文字ストリングを
ストアするためにコード発生器26によって割り当てられる。初期設定は、初期
化された記憶場所の文字フィールド17を圧縮が行われるアルファベットのそれ
ぞれの文字の文字値に設定することによって達成される。これらの初期化された
記憶場所の親ポインタフィールド70、子ポインタフィールド71および同胞ポ
インタフィールド72はゼロに設定される。初期化された記憶場所が辞書13に
ストリングをストアするための根ノードを与え、したがってこれらの初期化され
た記憶場所の親ポインタフィールド70はゼロのままになっていることが理解さ
れる。
これらの動作によって、辞書13の初期の記憶場所はそれぞれの単一文字スト
リングを含むように設定される。ASCIIの実施では、辞書13の最初の256の
記憶場所はそれぞれの256の単一文字ストリングを含んでいる。ブロック10
0の動作において、辞書13の残りの記憶場所はそのフィールドの全てをゼロに
設定することでクリアされる。ASCIIの実施では、266以上のノード番号を持
つ辞書の記憶場所はクリアされる。
ブロック101で、現一致照合レジスタ24はゼロに設定され、ブロック10
2で前一致照合レジスタ25がゼロに設定される。ブロック103で、次の入力
文字が現文字レジスタ23に入れられる。
ブロック104で、現文字で連結されている現一致照合ストリングが辞書中に
あるかどうかを確定するために探索が行われる。先に引用した参考資料に説明さ
れている手順など、どのような周知の適当な辞書探索の手順でも利用できる。こ
こにおいて、具体的には、ゼロでない現一致照合に対しては、現一致照合レジス
タ24は現一致照合ストリングのノード番号を含んでいる。現一致照合ノードの
子ポインタフィールド71で指された子が入力文字と比較される。入力文字が現
在ノードの子と一致すれば、その時ブロック104の判定は肯定の答えとなり、
YESのパスが取られる。子ノードが現文字と一致しない場合には、子ノードの
指す同胞リストが調べられて、現文字が同胞と一致するかどうか確定される。一
致があれば、YESのパスが取られる。しかし、現在ノードが子がないか、また
は現文字が現在ノードのどの子とも一致しないときには、ブロック104のNO
のパスが取られる。
現一致照合がゼロであれば、ブロック104は辞書13中で現文字に等しい文
字値を持っている根ノードを探す。辞書13は全ての単一文字ストリングで初期
化されているので、ブロック104からYESの分岐が自動的に取られる。
ブロック104からYESの分岐が取られたときには、図6の圧縮処理は、現
文字で連結される現一致照合が辞書13中で発見されて、更に長いストリングの
探索が続けられる点にある。従って、ブロック105で現一致照合は更新されて
、新しい現一致照合は現文字で連結された現存の現一致照合に等しく設定される
ようになる。これは現一致照合レジスタ24のノード番号を適当に更新すること
によって達成される。現一致照合がゼロでない時には、現一致照合レジスタ24
は上記の現文字と一致照合した子のノード番号(または同胞のノード番号)で更
新される。現一致照合がゼロであれば、現一致照合レジスタ24は現文字と一致
照合した単一文字ストリングのノード番号で更新される。単一文字ノード番号は
周知の方法でアルゴリズム的に得ることができ、または初期化された現文字値を
求めて記憶場所を探索することで見出すことができる。
ブロック104からNOの分岐が取られたならば、現文字で連結される現一致
照合は辞書13にストアされるストリングと一致しない。辞書13中で見出され
た現一致照合は、入力データ文字ストリームとの最長一致を与えるものであり、
そしてブロック104で現一致照合と連結された現文字はその一致を「破った」
。この点で、ブロック106が最長一致を表す圧縮コード信号を与える。最長一
致のこのコードは現一致照合レジスタ24に有るものであり、現一致照合のノー
ド番号である。
ブロック107では、現一致照合レジスタ24の内容が前一致照合レジスタ2
5に移される。このようにして、前一致照合レジスタ25は今は現在最長一致を
表す記憶場所のノード番号をストアする。前一致照合レジスタ25は後で説明さ
れる方法で辞書13を更新することで利用される。
現一致照合が前一致照合としてストアされた後は、ブロック110において現
文字は現一致照合としてストアされる。したがって、ブロック110は、次の一
致照合の最初または根文字として、先の一致を壊した不一致入力文字を利用して
次の最長一致するストリングの探索を始める。したがって、ブロック110にお
いて、現一致照合レジスタ24は、現文字の値を持つ初期化された単一文字根ノ
ードのノード番号に設定される。これはアルゴリズム的になされるか、またはブ
ロック105に関して先に説明した方法で探索することでなされるかのいずれか
である。
ブロック110は、また、次のロジックで実現することもできる。ブロック1
10におけるように現一致照合を現文字に設定しないで、現一致照合をゼロに設
定し、そして処理をブロック104の入力に返すことができる。この代替え処理
の結果は、辞書の初期化のために常にブロック104のYESのパスに通じるこ
とになり、このようにしてブロック105に至る。より少ない処理ステップで、
示されるように、ブロック110によって同じ結果が達成されることが理解され
る。しかし、このロジックは図9の無初期化圧縮処理で使用される。
ブロック105に達したとき、現一致照合の現文字拡張が辞書に見出されて、
本発明にしたがって、現文字を利用して前一致照合を拡張して辞書13にストア
される更新ストリングを与える。しかし、最初の入力文字だけが受け取られた後
でブロック105に達したときには、前一致照合がなくそして辞書13は、その
時点では更新はされないだろう。したがって、判定ブロック111は前一致照合
がゼロであるかどうかを確定する。これは、ブロック102でゼロに初期設定さ
れた前一致照合レジスタ25を調べることで達成される。前一致照合がゼロであ
れば、辞書の更新をバイパスしてブロック111からYESのパスが取られる。
最初の入力文字が処理された後で、ブロック105に達した時には、前の一致は
ゼロではなくて、ブロック111からNOのパスが取られて、本発明によって辞
書の更新が行われる。
したがって、ブロック112で、コード発生器26は次の使用可能なコードを
あたえる。次の使用可能なコードは、更新ストリングをストアする次に使用可能
な空辞書記憶場所のノード番号である。ブロック113で、現文字によって連結
された前一致照合は、辞書13中でこの次に使用可能なコードでアクセスされる
この次に使用可能な空記憶場所にストアされる。
ブロック113の記憶は次のようにして達成される。ブロック112の次に使
用可能なコードによってアクセスされる次に使用可能な空記憶場所の親ポインタ
フィールド70は、前一致照合レジスタ25にある前一致照合のノード番号に設
定される。この次の空記憶場所の文字フィールド17は現文字レジスタ23から
現文字の値に設定される。前一致照合親ノードはこの新しくつくられたノードと
次のようにしてリンクされている。前の一致親ノードのノード番号は前の一致レ
ジスタ25中にある。前一致照合親ノードが子がなければ(子ポインタフィール
ド=0)、ブロック112の次の使用可能なコードは、新しくつくられた子のノ
ード番号であるが、この前一致照合親の子ポインタフィールド71に挿入される
。前一致照合親が既に子を持っていれば、新しくつくられたノードのこの次に使
用可能なコードノード番号は前一致照合親の子の同胞リストに挿入される。その
リストの同胞の同胞ポインタフィールド72を調整して、新しくつくられた同胞
を収納し、したがって適当な同胞ノード番号を新しくつくられた同胞の同胞ポイ
ンタフィールド72に挿入するようにすることによって、これは行われる。
ブロック114は前一致照合レジスタ25を更新するために用いられ、ブロック
113に関して説明されたように、現文字によって拡張された前に一致照合され
たストリングのノード番号を指し示すようにする。これは、新しくつくられた子
または同胞のノード番号を、ブロック113に関して説明されたように、前一致
照合レジスタ25に挿入することによって達成される。このノード番号は、ブロ
ック112に関して説明される次に使用可能なコードであり、コード発生器26
によって与えられる。
ブロック112〜114によって辞書更新が行われた後に、現文字レジスタ2
3の現入力文字が入力データストリームの最後の入力文字であるかどうかを確定
するために判定ブロック115が入れられている。また、ブロック115には、
ブロック111のYESのパスから入り、先の説明されたように辞書更新をバイ
パスする。現文字が最後の文字であれば、ブロック115からYESのパスを取
りブロック116に至り、そこで現一致照合のコードが出力される。ブロック1
16にしたがって供給された圧縮コード出力は現一致照合レジスタ24内に存在
する。ブロック116にしたがって、圧縮コードを出力したのち、ブロック11
7が入れられて処理を終える。
しかし、現文字レジスタ23の現文字が最後の入力文字でなければ、ブロック
115からNOの分岐が取られて、パス118によりブロック103の入力に帰
る。ブロック103にしたがって、次の入力文字が現文字レジスタ23に挿入さ
れて、図6のデータ圧縮処理が続けられる。
一時的に処理を中止することが望ましい場合には、パス118のホールドブロ
ック119で中止が行われる。
上記より理解されることであるが、ブロック103〜105は最長一致ストリ
ングを辞書13で探索することを制御し、ブロック106は最長一致に対応する
圧縮コード出力を与える。ブロック110は、前ストリング一致照合サイクルで
不一致を生じた文字から始めて、次の最長一致の探索を始める。
ブロック107および112〜114は、本発明にしたがって辞書13の更新
を制御する。ブロック104が現入力文字が現一致照合の拡張に成功したと決定
した時に、ブロック112〜114はこの文字を拡張される過程にある前の一致
ストリングと連結する。このようにして、辞書更新は即時に且つ文字ごとにスト
リング探索とインターリーブして行なわれる。
一致照合される現在ストリングが拡張される前ストリングと同じ探索樹のパス
にある時には、繰返し文字または文字群のストリングを効率よく圧縮する現在ア
ルゴリズムの特性が実現されることが理解される。そのような入力ストリングは
、図8および図12に関して後で更に説明されるが、その長さに関係なく2つの
圧縮コード信号に圧縮される。
図7において、図2および図3bを引続き参照にして、図6にしたがって生成
される圧縮コードを解凍する回復/更新制御部50の実行するる動作を描く制御
フローチャートが図示されている。図7は全ての単一文字ストリングで初期化さ
れた解凍辞書43に基づいている。制御57は動作の実行を制御するために、状
態マシンのような適当な回路を含むものとして考えられる。
ブロック130にしたがって、解凍辞書43はクリアされ初期化される。辞書
43に関するブロック130の動作はブロック100と圧縮辞書13に関して先
に説明されたものと同じである。
ブロック131で、前ストリングレジスタ54はゼロにクリアされブロック1
32で入力圧縮コードが現在受信コードレジスタ53に挿入される。
判定ブロック133を伴う処理が続き、この判定ブロック133では、現在受
信コードレジスタ53にある現在受信コードに対応するストリングが辞書43の
なかにあるかどうかが決められる。通常は、辞書43は現在受信コードに対応す
るストリングを含んでいる。現在受信コードが、繰返し文字または文字群に遭遇
する圧縮器から生じたものである時に、例外が起きる。ブロック133の判定は
、現在受信コードをアドレスとして用いて辞書43にアクセスして、アクセスし
た辞書の記憶場所がクリアされているかどうかを確定することで遂げられる。辞
書がクリアされていれば、現在受信コードに対応するストリングは辞書にない。
代わりに、逐次コード割当て(代入)の実施例では、フロック133の判定は、
現在受信コードがコード発生器56の現存するコードより小さいかまたは等しい
かどうかを確定することで遂げられるであろう。現在受信コードがコード発生器
56の現存するコード以下であるときには、現在受信コードに対応するストリン
グが辞書43中にある。しかし、現在受信コードが現存コードよりも大きい時に
は、現在受信コードに対応するストリングが辞書43中にまだない。
現在受信コードに対応するストリングが辞書43中になければ、ブロック13
3からNOのパスを取って、未認識コード処理を実行するブロック55に至る。
未認識コード処理の詳細は図8に関して説明される。
現在受信コードに対応するストリングが辞書43にあるときには、ブロック1
33からYESのパスを取ってブロック134に至る。ブロック134で、現在
受信コードに対応するストリングの文字が、適当な周知の辞書探索プロセス(例
えば、Welchの特許('302)の図5、またはClarkの特許('591)の図5)によっ
て回復される。ブロック135で、パラメータnが与えられて、ブロック134
で回復された文字の数に等しく設定される。ブロック136で、インデックスi
は1に設定される。インデックスiは、ブロック134で回復されたストリング
のn個の文字を一ステップずつたどって、回復されたストリングの文字がその最
初の文字から始まって出力されるようにする。このようにして、ブロック137
は現在受信コードストリングのi番目の文字を出力するように備えられている。
判定ブロック140は、前ストリングがゼロに等しいかどうかを確定するため
に含まれている。この試験は、前ストリングレジスタ54の内容がゼロかどうか
を確定することによって果たされる。前ストリングレジスタ54がゼロであれば
、ブロック140からYESのパスを取って、辞書更新をバイパスする。ブロッ
ク140の機能は図6のブロック111に関して先に説明したものと同じである
。したがって、ブロック140からのYESのパスは最初の受け取り入力コード
に呼応する時だけ取られる。
前ストリングレジスタ54がゼロでない時には、ブロック140からNOのパ
スを取り、ブロック141で辞書43の次の空記憧場所に次の使用可能なコード
がコード発生器56によってあたえられる。ブロック142で、現在受信コード
に対応するストリングのi番目の文字と前ストリングが連結されて、この次の空
記憶場所にストアされる。ブロック143で、前ストリングレジスタ54が更新
されて、ブロック142の拡張された前ストリングのノード番号をストアする。
ブロック141〜143の実行で行われる動作は図6のブロック112〜114
に関して先に説明されたものと同じである。図7では前ストリングレジスタ54
が使用されるが、図6では前一致照合レジスタ25が含まれている。
ブロック144で、インデックスiは1つインクリメントされる。判定ブロッ
ク140からのYESのパスもブロック144の入力に加えられて、先に述べた
ようにブロック141〜143の辞書更新処理がバイパスされるようにされる。
判定ブロック145で、インデックスiはn+1に達したかどうかを確定する試
験が行われる。インデックスiがn+1に等しくないときには、ブロック145
からNOのパスを取り、ブロック137の入力に処理を返す。ブロック137お
よび140〜145を通る処理がi=n+1となるまで続けられる。
このようにして、現在受信コードストリングのn個の文字はブロック137か
ら正しい順序で出力され、そして前の回復ストリングは現在受信コードストリン
グの接頭部の全てで拡張される。ブロック141〜143の処理によって、図6
のブロック112〜114によって圧縮辞書13にストアされるのと同じストリ
ングが解凍辞書43にストアされる。ブロック141〜143にしたがって解凍
辞書43にストアされるストリングは、ブロック112〜114にしたがって圧
縮辞書13にストアされるストリングとそれぞれ同じアドレスからストアされる
。
インデックスiがn+1の値に達した時に、ブロック145からYESのパス
を取ってブロック146に至る。ブロック146で、現在受信コードストリング
は、次の入力コードを処理する用意に、前ストリングに取って代わる。これは、
現在受信コードレジスタ53の中味を前ストリングレジスタ54に挿入すること
によって達成される。未認識コード処理55はブロック146への入力として存
在している。
丁度処理されたばかりの現在受信コードが最後の入力コードでない場合には、
判定ブロック147はブロック147のNOのパスを介してブロック132の入
力に処理を返す。処理はパス148を介してブロック132に返り、次の入力圧
縮コードの処理を始める。一時的に処理を中止することが望ましいときには、パ
ス148中にあるホールドブロック149で行われる。解凍器のホールドブロッ
ク149は圧縮器のホールドブロック119に対応する。
ブロック147で、現在受信コードが最後の入力コードであるときには、ブロ
ック147からYESのパスを取って、ブロック150に至り、処理を終結する
。
ブロック141〜143が、現在受信コードの接頭部で先に回復されたストリ
ングを拡張してストアすることによって辞書43を更新している間に、一方で、
ブロック134および137が、現在受信コードに対応するストリングの文字を
回復して出力することが理解される。
図8において、未認識コード処理55の詳細が図示されている。ブロック16
0で、インデックスiは1に設定され、そして説明される理由でモジュロnにイ
ンクリメントされる。ブロック161で、前ストリングのn個の文字が回復され
る。前ストリング回復サイクルにおいては、これは現在受信コードストリングで
あったので、前ストリングはn個の文字を持っている。ブロック161は、ブロ
ック134に関して先に説明した周知の辞書ストリング回復プロセスを用いて、
前ストリングレジスタ54の内容を持つ辞書43にアクセスすることによって実
現される。
ブロック162で、コード発生器56は次の使用可能コードを次の空辞書記憶
場所に供給する。ブロック163で、前ストリングのi番目の文字で拡張された
前ストリングがこの次の空記憶場所にストアされる。ブロック164で、前スト
リングレジスタ54を更新してこの拡張された前ストリングのノード番号をスト
アすることで、前ストリングはブロック163の拡張された前ストリングで置換
えられる。ブロック162〜164の辞書更新の動作は、ブロック141〜14
3に関して先に説明したものと似ている。先に説明したように、ブロック141
〜143の辞書更新の実施については、図6のブロック112〜114に関して
詳細に説明された。ブロック162〜164の処理においては、前ストリングレ
ジスタ54が用いられる。
判定ブロック165で、コード発生器56によって現在与えられたコードが現
在受信コードレジスタ53中の現在受信コードに等しいかどうかを確定するため
にの試験が行われる。コード発生器56の現存コードが現在受信コードの値に達
していないときには、ブロック165からNOのパスを取ってブロック166に
至る。そこで、インデックスiは1だけインクリメントされたモジュロnになる
。コード発生器56の現存コードが現在受信コードに等しくなるまで、処理はブ
ロック162の入力に折り返されて、追加の更新ストリングをストアする。
ブロック165がコード発生器56の現存コードが現在受信コードレジスタ5
3中の現在受信コードに等しいことを知らせた時に、ブロック165からYES
のパスを取り、ブロック167に至る。ブロック165がコードが現在受信コー
ドに等しいと指示した時に、未認識現在受信コードに対応するストリングは直ち
に解凍辞書43にストアされることが理解される。
ブロック167で、現在受信コードに対応する文字は回復されて、各文字は最
初の文字から始めて出力される。ブロック167は、現在受信コードレジスタ5
3の内容を持つ辞書43にアクセスして、ブロック134に関して先に説明した
周知の辞書ストリング回復手順を使用して実現される。
以上より理解されることであるが、ブロック160〜167の処理によって、
未認識圧縮入力コードに対応するストリングは組み立てられ、解凍辞書43にス
トアされ、そしてその文字が回復されて出力される。図6の圧縮器が未認識コー
ドに係わるストリングを生成してストアするとき、圧縮器は伝送されるコードに
対応するストリングを超えるnストリングをストアすることが更に理解される。
このことは図12に関連して更に明らかにされる。これらのnストリングを組み
立ててストアする圧縮器の処理は次の通りである。
処理は、インデックスiが1だけインクリメントされたモジュロnのブロック
170に移る。ブロック171〜173はそれぞれブロック162〜164の処
理を繰返す。したがって、パラメータnが1つだけディクリメントされるブロッ
ク174に進む。そこで、パラメータnは判定ブロック175で試験されて、n
がゼロに等しいかどうかを確定される。nがゼロでなければ、NOのパスを取り
、ブロック175からブロック170の入力に戻る。パラメータnがゼロの値に
なったときに、未認識コード処理はブロック175のYESのパスで出て行く。
ブロック166と170において、インデックスiはインクリメントされたモ
ジュロnとなり、ブロック163と172にしたがってストアされているストリ
ングに適当な文字値を与えることを容易にする。使用されるnの値はブロック1
35(図7)で与えられるものであり、ブロック174のディクリメントに先立
っている。文字値はブロック161にしたがって回復される前ストリングのn個
の文字の値であり、iのインデックスがつけられている。ブロック161にした
がって回復される前ストリングのn個の文字は、ブロック163と172にした
がって組み立てられてストアされてるストリングのn文字接頭部を形成する。
図8の処理は、逐次コード割当てまたはハッシングのような疑似ランダムコー
ド割当てを含む、コード発生器26と56で使用されるあらゆる種類のコード割
当てプロセスに対して機能する。コード割当てプロセスが逐次であるときには、
図8のロジックは次のように簡単にすることができる。
逐次コード割当てについて、ブロック165の試験は「Code=Current Receiv
ed Code+n」となる。ブロック170〜175は削除されて未認識コード処理
はブ
ロック167から外にでる。
以上より理解されることであるが、ブロック167は未認識受信コードに対応
するストリングの文字を回復し、且つ、ブロック163と172は、図6に関し
て先に説明したように繰返し文字または文字群のストリングが生じたときに、圧
縮辞書13にストアされているのと同じストリングを解凍辞書43にストアする
。
図9において、図1と図3bを引続き参照して、本発明にしたがってデータ圧
縮を行うために、探索更新制御部20の実行する詳細な動作の制御フローチャー
トが図示されている。制御27は、動作の実行を制御するために、状態マシンの
ような、適当な回路を含むものとして考えられる。図9のフローチャートは無初
期化圧縮辞書13に基づいている。図9の無初期化の実施では、最初に文字が遭
遇された時に、未圧縮形の文字の伝送を伴ってゼロコードが伝送される。ゼロコ
ードは、そのような文字が圧縮器によって伝送されたという指示を解凍器に与え
る。最初に遭遇する文字は、圧縮辞書13にストアされて、文字との次の遭遇に
関して記憧信号文字ストリングまたは根ノードとして機能する。最初に遭遇する
文字の格納以外では、図9のフローチャートは図6のものと同じように機能する
。
ブロック180で、辞書13はクリアされる。辞書のクリアは、図3bのフィ
ールド17と70〜72をゼロに設定する。
図9のフローチャートはブロック181〜187と190〜194を含んでい
る。これらのブロックは、図6のブロック101、103〜107および112
〜117とそれぞれ同じである。図6のこれらのブロックに関する先の説明は、
次のことを除いて、図9のこれらのブロックに適用する。
ブロック183において、現一致照合がゼロであるときには、辞書13での探
索は単一文字ストリングが既に辞書に根ノードとして取込まれているかどうかを
確定するために行われる。単一文字ストリングが既に辞書にあれば、ブロック1
83からYESのパスを取り、そうでなければNOのパスを取る。ブロック18
4において、現一致照合がゼロの時には、現一致照合レジスタ24はブロック1
83で一致照合された単一文字根ノードのノード番号で更新される。更に、逐次
コード割当ての実施におけるブロック187に関して、この無初期化の実施では
、全ての辞書記憶場所が入力で遭遇するストリングのストアに使用可能であるの
で、
コード割当ては1から始まる。また、注意することとして、辞書更新をバイパス
する図6のブロック111は図9では必要がない。この理由は次の通りである。
この無初期化の実施では、最初の入力文字は、下で説明されるように、最初に遭
遇されて前一致照合に次の繰返しを与える文字である。
更に、ブロック185は図6のブロック106に対応する。ブロック185で
は、ブロック106におけるように、圧縮出力コードが現一致照合レジスタ24
に存在している。しかし、ブロック185では、現一致照合がゼロであるとき、
このゼロコードは、現入力文字が最初に遭遇された文字であることを表示して出
力される。
図9のフローチャートは、現一致照合レジスタ24の内容がゼロに等しいかど
うかを確定する判定ブロック195を含んでいる。現一致照合がゼロでなければ
、ブロック195からNOのパスを取ってブロック186に至り、そこで、図6
の対応するブロック107に関して先に説明されたように、現一致照合レジスタ
24の内容が前一致照合レジスタ25に移される。ブロック196で、現一致照
合レジスタ24はゼロに設定されて、処理は183の入力に移る。ブロック18
6は次のストリングのパーシング動作に向けて辞書更新の準備をし、ブロック1
96は次のストリング探索が現文字レジスタ23にある文字から始まるようにす
る。
ブロック195からYESのパスを取った場合には、現一致照合はゼロに等し
く、現文字レジスタ23の文字は最初に遭遇されたものである。このようにして
、ブロック197で、この文字が出力される。ブロック185はゼロ値の現一致
照合を出力したので、この最初に遭遇された現文字は、ブロック197から出力
されるが、上で説明したようにゼロコードが先にある。ブロック200で、次に
使用可能なコードが、辞書13の次に使用可能な空記憶場所を表示してコード発
生器26によって与えられる。ブロック201で、この次の空記憶場所に現文字
レジスタ23の現文字が単一文字ストリング根ノードとしてストアされる。ブロ
ック201の機能は、現文字レジスタ23からの文字をこの次の空記憶場所の文
字フィールドにストアすることで達成される。親ポインタフィールド70、子ポ
インタフィールド71および同胞ポインタフィールド72は全て既にブロック1
80でゼロにされている。
ブロック202で、前一致照合レジスタ25は、次のストリングのパーシング
動作における辞書更新のためにブロック201でつくられた根ノードに設定され
る。これは、前一致照合レジスタ25に、ブロック201で新しくつくられたこ
の根ノードのノード番号を挿入することで達成される。このノード番号はブロッ
ク200で与えられたばかりのコードになる。
判定ブロック203は、現文字レジスタ23にある文字が最後の入力文字であ
るかどうかを確定するためにある。最後でない場合には、ブロック203からN
Oのパスを取ってブロック182に至り、入力ストリームすら次のデータ文字信
号を取得する。しかし、ブロック203で試験された現文字が最後の入力文字で
あれば、ブロック203からYESのパスを取ってブロック194に至り、処理
を終了する。
以上より理解されることであるが、ブロック182〜184は辞書13を調べ
て最長一致ストリングを探索することを制御し、ブロック185は最長一致に対
応する圧縮コード出力をあたえる。また、ブロック185は、最初に遭遇された
文字の伝送に先立ってゼロコード出力を与える。ブロック196は、先ず現一致
照合レジスタ24をゼロにして次の最長一致の探索を始める。このように、最長
一致の探索は、前ストリング一致照合サイクルで不一致を引き起こした文字から
始まる。その文字は現文字レジスタにある。
ブロック186、187、190および191は本発明にしたがって辞書13
の更新を制御する。ブロック183が現入力文字が現一致照合を拡張することに
成功したと確定した時、ブロック187、190および191は、拡張されるプ
ロセスにある前に一致照合されたストリングとこの文字を連結する。ブロック1
95、197および200〜202は、最初に遭遇される文字の管理を制御する
。ブロック202は、次のストリング一致照合サイクルにおける可能性のある拡
張に向けて前一致照合の文字の準備をする。図9のロジックから理解されること
であるが、最初に遭遇する文字が幾つか連続して受け取られるときには、これら
の文字の最後のものだけが次のストリング一致照合サイクルで拡張される。
図10において、図2と図3bを引続き参照して、図9にしたがって生成され
た圧縮コードを解凍するために、回復更新制御部50の実行する動作を表す制御
フローチャートが図示されている。図10のフローチャートは無初期化解凍辞書
に基づくものである。制御57は、動作の実行を制御するために、状態マシンの
ような、適当な回路を含むものとして考えられる。
ブロック210で、解凍辞書43は図9のブロック180に関連して先に説明
された方法でクリアされる。したがって、解凍辞書43は図9の無初期化の辞書
13と全く同じ方法でクリアされる。
図10の解凍のフローチャートによって行われる動作は、図9に関して先に論
じた最初に遭遇される文字の管理に関すること以外は、図7の解凍のフローチャ
ートによって行われるものと同じである。したがって、図10は、図7のブロッ
ク55、132〜137、141〜147および150とそれぞれ同じ機能を行
う55、211〜217および220〜226を含んでいる。図7のブロック5
5、132〜137、141〜147および150に関して先になされた説明は
図10の対応するブロックに適用する。
図7のブロック140に対応するブロックは図10で使用されていない。前に
説明したように、ブロック140は前ストリングレジスタ54がゼロのときには
、辞書の更新をバイパスする。これは、図7の初期化の実施では最初に受け取る
入力コードに呼応して起きる。図10の無初期化の実施では、最初に受け取る入
力コードは最初に遭遇される文字のものであり、それによって後に説明されるよ
うに次のサイクルでの更新に前ストリングを供給する。
ブロック217、220および221の処理は図9のブロック187、190
および191によって圧縮辞書13にストアされたのと同じストリングを解凍辞
書43にストアする。ブロツク217、220および221にしたがって解凍辞
書43にストアされるストリングは、ブロック187、190および191にし
たがって圧縮辞書13にストアされるストリングとそれぞれ同じアドレスにスト
アされる。更に、ブロック55(図8)の未認識コード処理が図10を背景にし
て行われるとき、図8のブロック163と172は、図9の圧縮器の動作に関し
て繰返し文字または文字群のストリングが生じる時に、圧縮辞書13にストアさ
れるのと同じストリングを解凍辞書にストアする。
具体的には、ブロック212は図7のブロック133に対応する。ブロック1
33に関して先に行った説明がブロック212に適用される。但し、圧縮器が最
初に遭遇した文字の受け取りに先立つゼロの受信コードに関することは除く。し
かし、理解されることであるが、この状態は次に説明する図10の他のブランチ
で処理されるので、ブロック212まで処理が進んだときには、現在受信コード
はゼロでなくなっている。
ブロック211で、入力圧縮コード信号は現在受信コードレジスタ53に挿入
される。判定ブロック230は、現在受信コードがゼロかどうかを確定するため
に現在受信コードレジスタ53の内容を試験する。現在受信コードがゼロでにけ
ればブロック230から、NOのパスを取ってブロック212に入り、そこで先
に説明したように処理が進む。
しかし、現在受信コードがゼロであれば、図9の圧縮器が最初に遭遇した文字
は予期されている。したがって、この文字はブロック231から入力される。現
在受信コードレジスタ53が一時的にこの文字をホールドするために利用される
。ブロック232で、コード発生器56が解凍辞書43の次の空記憧場所に対応
する次に使用可能なコードを与える。ブロック233で、入力文字は単一文字根
ノードとしてこの次の空記憶場所にストアされる。これは、図9のブロック20
1に関して上に説明した方法でブロック233で達成される。このようにして、
解凍サブシステム40は、圧縮システム10が図9の無初期化実施で圧縮辞書1
3にストアするのと同じ単一文字ストリングを同じアドレスで解凍辞書43にス
トアする。
ブロック234で、解凍器の回復データ出力と圧縮器で受け取られる入力デー
タの間の整合性を保つために、ブロック231で受け取られた文字が出力される
。これは、文字が一時的にストアされていた現在受信コードレジスタ53からこ
の文字を出力することで果たされる。
ブロック235で、パラメータnは1に設定される。最初に遭遇されて丁度処
理されたばかりのこの文字が、もし圧縮器の入力で繰返し、未認識圧縮コードを
生成すような場合には、次の解凍サイクルで行われる未認識コード処理55に対
してn=1が適当な値である。
ブロック236で、前ストリングレシスタ54は、次のストリング回復サイク
ルにおける辞書更新のために、ブロック233でつくられた根ノードに設定され
る。これは、ブロック233で新しくつくられたこの根ノードのノード番号を前
ストリングレジスタ54に挿入することによって達成される。このノード番号は
ブロック232で与えられたばかりのコードである。図10のロジックから理解
されるであろうが、最初に遭遇する文字が幾つか連続して受け取られる場合には
、図9に関して説明されたものと同じ様な方法で、その最後の文字だけが次のス
トリング回復サイクルで拡張される。
ブロック236の出力はブロック225に入力を与えて、上に説明した処理を
続ける。
図11a〜図11eにおいて、代表的な入力データストリームを圧縮するとき
の、圧縮辞書13の連続した状態が図示されている。辞書の状態は部分探索樹で
模式図的に表されている。示されているように、圧縮される入力ストリームは「
abcfghx」である。図示されているコンマは、ストリングの構文解析を表
しており、仮想的なもので、入力データには含まれない。下線は現入力文字を示
している。図11aに示されるように、辞書13は初めにストリング「abc」
と「fgh」をストアしている。図11aにおいて、ストリング「abc」は最
長の一致照合ストリングとして丁度一致照合されたところであり、「abc」の
コードは矢印240で表されるように出力されている。したがって、ストリング
「abc」は仮想コンマ241で表されるように入力から構文解析される。
図11bで、次の入力文字「f」は矢印242で表されるように、ストリング
「fgh」の最初の文字と一致する。本発明にしたがって、図11aにおいて先
の圧縮コードとして伝送されたストリング「abc」は、矢印243で表される
ように、文字「f」で拡張される。
図11cにおいて、次の入力文字「g」は記憶ストリング「fgh」の第2文
字と一致する。そして、前の拡張されたストリング「abcf」は一致入力文字
「g」で拡張される。同様にして、図11dで、入力文字「h」はストリング「
fgh」の第3文字と一致して、成長する前ストリングの語尾に付加されてここ
でストリング「abcfgh」を形成する。
図11eにおいて、次の入力文字「x」はストリング「fgh」の一致を破り
、
矢印244で表されるように最長一致「fgh」のコードが出力される。ストリ
ング「fgh」は、仮想コンマ245で表されるように、入力から構文解析され
た。
図11a〜図11eから理解されることであるが、ストアされているストリン
グ「abc」は一致照合されたストリング「fgh」の全ての接頭部で拡張され
、また辞書の更新は即時に、そして現一致照合されるストリングの各文字を一致
照合することとインターリーブして行われる。このようにして、図11bで、ス
トリング「abcf」は次の繰返しで一致照合に使用可能となった。図11cで
、ストリング「abcfg」は次の繰返しで一致照合に使用可能となったし、図
11dで、ストリング「abcfgh」は次の繰返しで一致照合に使用可能とな
った。
更に、図11a〜図11eから理解されることであるが、解凍器は「abc」
と「fgh」について連続した圧縮出力コードを受け取る。「fgh」の出力コ
ードが受け取られた時に、解凍器は、前に受け取った圧縮コードに対応して回復
されたストリング「fgh」とストリング「abc」を用いて、図11a〜図1
1eに説明され且つ図示されるストリングを組み立ててストアする。
図12a〜図12gにおいて、本発明の即時の且つインターリーブされた辞書
更新の面によって提供される優れたランレングス符号化の方法が実証されている
。上で論じられたように、本発明は繰返し文字または文字群のランを、ランの長
さとは関係のない2つの圧縮コード記号に圧縮する。図12a〜図12gは、入
力データ文字ストリームが繰返し文字群である場合における圧縮辞書13の状態
を連続的に図示する部分探索樹の模式図的表現である。入力データストリームは
「abababax」として例示されている。このサンプル入力において、繰返
し文字群のランは文字群の断片で終わっていることに気がつく。次に述べる動作
は完全な文字群によるランの終結にも応用可能である。図11a〜図11eにお
けるように、仮想のコンマがストリングの構文解析を表し、下線が現入力文字を
表す。
図12aにおいて、圧縮辞書13は最初の2つの入力文字によって一致照合さ
れるストリング「ab」をストアしている。したがって、 「ab」のコードが
矢印250で表されるように出力される。入力からのストリング「ab」の構文
解
析は仮想のコンマ251で示される。
図12bにおいて、現入力文字「a」は、矢印252で示されるように、スト
アされたストリング「ab」の最初の文字と一致する。「ab」のコードは先の
圧縮コードとして伝送されたので、一致する文字「a」が、矢印253で示され
るように、ストリング「ab」の語尾に付加される。ここで、圧縮辞書13は一
致照合に使用できるストリング「aba」をストアする。
図12cにおいて、次の入力文字「b」はストアされているストリング「ab
a」の第2の文字と一致する。したがって、ストリング「aba」はこの文字で
拡張される。このようにして、圧縮辞書13は、ここで、一致照合に使用できる
ストリング「abab」をストアする。
入力文字の一致照合とストリング拡張のこのようなシーケンスは、次の3つの
入力文字について図12d〜図12fに図示されている。このように、図12d
でストリング「ababa」がストアされて一致照合に使用可能になり、図12
eでストリング「ababab」がストアされて一致照合に使用可能となり、図
12fでストリング「abababa」がストアされて一致照合に使用可能にな
る。
この繰返しのシーケンスが続くとき、入力文字の一致照合とストアされるスト
リングの拡張が探索樹の同じブランチで行われて、一致を破る文字が受け取られ
るまで続くことが分かる。このようにして続いている時に、コード発生器26(
図1)は絶えず新しいコードを供給して、新しくつくられたノードにストリング
をストアできるようにする。この点まで、解凍器は圧縮器で起きている、図12
b〜図12fに図示される活動に気付いていない。解凍器の受け取る最後の情報
は、図12aに関して記載されるストリング「ab」の出力コードであった。
図12gにおいて、圧縮辞書13に「ababax」はないので、入力文字「
x」は一致を破る。したがって、最長一致「ababa」のコードが矢印254
で示されるように出力される。したがって、このストリングは仮想のコンマ25
5で表されるように入力から構文解析される。図12gから理解されることであ
るが、2つの追加されたストリングが最も長い一致照合されたストリンクを越え
て圧縮器の辞書13にストアされている。これらのストリングはノード256と
257
で表される。
このようにして、図12a〜図12gから理解されることであるが、繰返し文
字群のストリング「ababa」は参照数字250と254で示される2つのコ
ード記号に圧縮された。更に、理解されることであるが、コードグループ「ab
」の繰返しランは図12fを越えて図示されているより長いランで続いたとして
も、たった2つのコード記号だけが圧縮に使用される。繰返しランは繰返す文字
グルーブの一部分で終わるが、完全なグループ「ab」で終結するように続ける
こともできることがわかる。
前記より理解されることであるが、図12gに参照数字254で示される出力
コードは、解凍器は未だストリング「ababa」をストアしていないので、解
凍器では認識されない。図8の未認識コード処理により、図12bおよび図12
cに示されるその接頭部と同様に、ストリング「ababa」が組み立てられて
ストアされる。更に、未認識コード処理により、図12gに参照数字256と2
57で示される追加の拡張されたストリングが組み立てられてストアされる。
図8で、ブロック160〜167の処理が、矢印254で示される未認識圧縮
コードに対応して、 「ababa」を組み立て、ストアし、さらに出力する。
ブロック170〜175の処理は、追加のストリング256と257を組み立て
てストアする。
図12a〜図12gの例において、未認識コード処理で使用された前ストリン
グはストリング「ab」であり、これは、解凍器が図12aに対応してストリン
グ回復サイクルを行った時に、解凍器辞書に既にストアされた。図8において、
パラメータnは2であり、インデックスiはインクリメントされるモジュロ2で
あり、図12b〜図12fに図示されるストリングを組み立てるためにブロック
163と172に連続的に繰返して文字「ab」を与える。
以上より理解されることであるが、繰返し文字または繰返し文字群のランが不
一致文字によってまたは入力文字を使い切ったことによって終結される時に、未
認識コードコード処理によって適当なストリングが組み立てられて回復される。
ランは、繰返し文字群の多文字群の断片で、または完全なグループで終結する。
図12a〜図12gは不一致文字「x」での終結を示し、また繰返しグループの
断片での終結を図示している。図12gで、ランは繰返しグループ「ab」の断
片「a」で終結している。繰返しグループが完全なグループ「ab」で終結する
とき、その適当な動作は上記の説明から容易に理解される。
以上より理解されることであるが、上記の処理は辞書13および43にストア
されるストリングの接頭部の特性を保存する。即ち、ストアされたストリングの
接頭部も辞書に存在する。
上記の実施例は、入力データ文字信号のストリームを圧縮している。入力デー
タ文字は、任意の対応する文字ビットサイズを有するどのようなアルファベット
サイズでもよい。例えば、データ文字は、8ビット文字の256文字ASCIIアル
ファベットのようなアルファベットを越えるどのような本文、例えばASCII文字
、であってもよい。また、入力データは、1ビットサイズの文字を有する2進文
字アルファベット1と0を越える2進文字であってもよい。例えば、このような
アルファベットはビットマップの画像で生じる。下線の引かれた2進データの2
文字アルファベットを越えて、本文データの圧縮をすることができることは理解
される。
上記の実施例は、最長一致の探索の観点から説明された。理解されることであ
るが、本発明による即時の且つインターリーブされた更新処理は、必ずしも最長
ではないストリングを一致照合するシステムにおいても使用できる。
本発明の上記の実施例は、ハードウェア、ファームウェア、ソフトウェアまた
はそれらの組合せで実現できることが理解される。種々の上記の機能を行えるよ
うに、個別回路部品を容易に実現することができる。ソフトウェアによる実施で
は、適当なマイクロプロセッサを、上記のフローチャートから容易に作られる符
号化でプログラムして使用できる。
本発明はその好ましい実施例で説明されたが、使用された単語は制限するもの
ではなくて説明の目的のもので有り、また、添付の請求の範囲内で、より広い面
から見た本発明の真の範囲と精神から逸脱することなく変更可能であることは理
解されるべきことである。
【手続補正書】特許法第184条の8第1項
【提出日】1998年5月5日(1998.5.5)
【補正内容】
辞書ベース装置のこのような欠点は、従来はランレングスエンコーダにデータ
を加えて、符号化されたランレングスのデータをLZ辞書ベースの装置に加える
ことによって克服してきた。このようなアーキテクチャにおいて、ランレングス
エンコーダは辞書ベース圧縮器の前端部で使用されて、ランレングス復号器は辞
書ベース解凍器の出力端で使用される。そのような装置には、装置が大きくなり
、高価で、管理費が高くなり、そして処理時間が長くなると言う不利がある。
繰返し文字ランを処理する他の手法は、1994年10月19日公表された英国特許出
願GB2 277 179 Aに開示されている。従来のLZ法が入力データ文字ストリーム
を圧縮し、その圧縮コードストリームを解凍するために用いられている。圧縮ア
ルゴリズムから生じた出力コードは、現在生成される圧縮コードがランに起因す
るものかどうかを確定するために監視される。そうである場合は、ランが完了し
たことを監視が指示するまで、圧縮器出力はディスエーブルされる。それから、
圧縮コードの出力が再イネーブルされる。受信したコードから、解凍器は抜けた
コードを「埋める。」
発明の概要
本発明は辞書ベースのデータ圧縮解凍装置で実施され、上記の欠陥を克服する
。ストリングAが辞書中に存在するとき、ストリングAAA...Aは、その長
さに関係なく2つの圧縮コード記号に符号化される。したがって、例えば空白や
ゼロのような繰返し文字のストリング、または同じ値を持つ連続する画像ピクセ
ルのような文字群などは、最初の遭遇時に非常に効率よく符号化される。
本発明の圧縮アルゴリズムでは、各入力文字が読まれ一致照合される間にスト
リングが圧縮辞書に取込まれる。従来は、最長一致が達成されて出力圧縮コード
記号が求まった時に、1つまたは2つ以上の更新ストリングが辞書に加えられる
。アルゴリズムの動作は次の通りである。部分的なストリングWと文字Cが辞書
中に存在する度に、ストリングPWの拡張文字としてCを付けた新しいストリン
グが辞書に加えられる。ここで、Pは最後の伝送出力圧縮コード記号で送られた
ストリングである。したがって、ストリングWが一致したとき、ストリング探索
プ
ロセスでストリングPとWの文字が一致したので、ストリングPはWの文字で拡
張される。これは、「実行中(on-the-fly)」の辞書更新と呼べるもので、辞書の
更新は即時であり文字ごとにストリング探索でインターリーブされる。このよう
に、入力と記憶されているストリングWとの文字ごとの一致照合が行われるとき
、各一致文字が成長するストリングPWの末尾に付加される。更新プロセスは入
力データ文字が辞書中の最長ストリングWと一致した時に終わる。
圧縮サブシステム10は双方向データバス21と双方向制御バス22を介して
辞書13に結合されている探索/更新制御部20を含んでいる。探索/更新制御
部20は現文字レジスタ23、現一致照合レジスタ24(match register)および
前一致照合レジスタ25として表されるワーキングレジスタを含んでいる。更に
、探索/更新制御部20は、圧縮コード値を辞書13にストアされている文字ス
トリングに割り当てるコード発生器26を含んでいる。コード発生器26はコー
ド番号を逐次に、またはハッシングによるように疑似ランダムに割り当てる。割
り当てられたコードにより、メモリアドレス14を介して辞書13の記憶場所に
アクセスする。このようにして、周知のように、アドレス14(ノード番号16
)は辞書13にストアされているストリングの圧縮コードとして利用される。
探索/更新制御部20は後述の方法で図6および図9の動作フローチャートに
従って圧縮サブシステム10の動作を制御する制御装置27を含む。
圧縮サブシステム10は入力11で受け取られる入力データ文字ストリームの
バッファとして働く文字レジスタ30を含んでいる。個々の入力データ文字は、
後述の動作に従って文字レジスタ30からバス31を介して現文字レジスタ23
に加えられる。探索/更新制御部20は、制御バス32を介して文字レジスタ3
0から入力文字データを受け取ることを制御する。
圧縮サブシステム10の動作は簡単に言えば次の通りである。入力データ文字
は逐次的に現文字レジスタ23に挿入され、最長一致が得られるまで辞書13に
記憶されているストリングに対して探索が行われる。現一致照合レジスタ24は
このプロセスで利用される。最長一致ストリングのノード番号16が圧縮コード
として出力12から与えられる。これらの探索動作は上記に引用した参考資料に
記載されているものと同じである。本発明にしたがって、入力データ文字が探索
されるストアされた辞書ストリングの文字を一致照合する間に、辞書13は、一
致照合される現入力文字で前圧縮出力コードに応答してストリングを拡張するこ
とによって更新される。前一致照合レジスタ25はこのプロセスで利用される。
前一致照合ストリングは、このようにして拡張されるが、入力文字が引き続き取
込まれて一致照合されている間は、一致照合に使用可能である。したがって、更
新ストリングは、文字ごとのストリング探索とインターリーブされた形で直ちに
辞書13に加えられる。
このようにして、図12a〜図12gから理解されることであるが、繰返し文
字群のストリング「ababa」は参照数字250と254で示される2つのコー
ド記号に圧縮された。更に、理解されることであるが、文字グループ「ab」の
繰返しランは図12fを越えて図示されているより長いランで続いたとしても、
たった2つのコード記号だけが圧縮に使用される。繰返しランは繰返す文字グル
ーブの一部分で終わるが、完全なグループ「ab」で終結するように続けること
もできることがわかる。
前記より理解されることであるが、図12gに参照数字254で示される出力
コードは、解凍器は未だストリング「ababa」をストアしていないので、解
凍器では認識されない。図8の未認識コード処理により、図12bおよび図12
cに示されるその接頭部と同様に、ストリング「ababa」が組み立てられて
ストアされる。更に、未認識コード処理により、図12gに参照数字256と2
57で示される追加の拡張されたストリングが組み立てられてストアされる。
図8で、ブロック160〜167の処理が、矢印254で示される未認識圧縮
コードに対応して、「ababa」を組み立て、ストアし、さらに出力する。ブ
ロック170〜175の処理は、追加のストリング256と257を組み立てて
ストアする。
図12a〜図12gの例において、未認識コード処理で使用された前ストリン
グはストリング「ab」であり、これは、解凍器が図12aに対応してストリン
グ回復サイクルを行った時に、解凍器辞書に既にストアされた。図8において、
パラメータnは2であり、インデックスiはインクリメントされるモジュロ2で
あり、図12b〜図12fに図示されるストリングを組み立てるためにブロック
163と172に連続的に繰返して文字「ab」を与える。請求の範囲
1.データ文字信号ストリーム(11)を圧縮コード信号ストリーム(12)に
圧縮するデータ圧縮装置(10)であって、
データ文字ストリングをストアする記憶手段(13)であって、各前記ストリ
ングが関連するコード(16)を有する記憶手段と、
所定の一致が確定するまで文字ごとの一致照合を行うために前記ストリームを
前記ストアされたストリングと比較することによって、前記データ文字ストリー
ムを探索する手段(103〜105)と、
前記圧縮コードストリームを供給するために、前記所定の一致と関連するコー
ドを供給する手段(106)と、
拡張されたストリングを前記記手段に取込む手段(107、112〜114)
であって、前記拡張されたストリングの入力が前記文字ごとの一致照合のデータ
文字の一致照合とインターリーブされ、前記拡張されたストリングが前記文字ご
との一致照合の間に各データ文字が一致照合されるとき各データ文字で順に拡張
される最後に出力されるコードに応答して先に一致照合されたストリングを有し
、1つの拡張されたストリングが前記文字ごとの一致照合の間に一致照合された
各前記データ文字に対して取込まれ、前記文字ごとの一致照合の前記データ文字
の一致照合とインターリーブされる前記拡張されたストリングの取込みは前記所
定の一致が確定するまで続く手段と、
それぞれのコード信号を前記拡張されたストリングに割り当てる手段(112
)とを具えたことを特徴とするデータ圧縮装置。
2.前記取込む手段が、各前記データ文字が一致照合される時で次のデータ文字
が一致照合される前に前記拡張されたストリングの1つを前記記憶手段に取込む
ように動作することを特徴とする請求項1に記載の装置。
3.前記所定の一致が前記データ文字ストリームと前記ストアされたストリング
の間の最長の一致を有し、
前記出力する手段が前記圧縮コードストリームを供給するために前記最長一致
と関連するコードを出力するように動作することを特徴とする請求項2に記載の
装置。
4.前記装置が連続するストリング一致照合サイクルで動作し、それぞれ最長の
一致照合されたストリングが前記連続するサイクルで確定され、現サイクルが先
のサイクルに続き、
前記先に一致照合されたストリングが前記先のサイクルで供給される、前記最
後に供給されたコードと一致照合され、
前記文字ごとの一致照合が前記現サイクルで行われ、前記先に一致照合された
ストリングが現サイクルの間に前記各データ文字で拡張されることを特徴とする
請求項3に記載の装置。
5.前記探索する手段および前記取込む手段が、部分ストリングWとデータ文字
Cが一致照合されるときに、前記拡張されたストリングの1つがストリングPW
の拡張文字として(但し、Pは前記先に一致照合されたストリングであり、Wは
現サイクルで一致照合されるプロセスにある)前記データ文字Cとともに前記記
憶手段に取込まれるように動作することを特徴とする請求項4に記載の装置。
6.前記探索する手段が、前記文字ごとの一致照合の間にデータ文字が一致しな
い時を確定することで、前記最長一致が達成された時を確定するように動作し、
前記探索する手段が、一致しなかった前記データ文字から次のストリング一致
照合サイクルを始める手段(110)を含むことを特徴とする請求項4に記載の
装置。
7.それぞれの関連するコードを有する全ての単一文字ストリングで前記記憶手
段を初期化する手段をさらに具えたことを特徴とする請求項1に記載の装置。
8.データ文字信号が出力されるという表示に続いて圧縮されない形で最初に遭
遇したデータ文字を出力する手段と、
単一文字ストリングとして前記最初に遭遇したデータ文字信号を前記記憶手段
に取込む手段とをさらに具えたことを特徴とする請求項1に記載の装置。
9.前記表示がゼロコードを含むことを特徴とする請求項8に記載の装置。
10.前記ストリングが、リンクされた樹木構造で前記記憶手段にストアされ、
前記データ文字のストリームが繰返し文字から成る繰返し文字ストリングを含み
、
前記装置が前記繰返し文字ストリングをその長さに関係なく2つの圧縮コード
に圧縮するように動作することを特徴とする請求項4に記載の装置。
11.前記先に一致照合されたストリングが前記繰返し文字を有し、
前記探索する手段が前記繰返し文字ストリングを前記樹木を辿るパスで一致照
合するように動作し、
前記取込む手段が前記拡張されたストリングを前記パスで取込むように動作し
、
それによって、前記繰返し文字ストリングをその長さに関係なく2つの圧縮コ
ードに圧縮することを特徴とする請求項10に記載の装置。
12.前記ストリングがリンクされた樹木構造で前記記憶手段にストアされ、前
記データ文字ストリームが繰返し文字群から成る繰返し文字群ストリングを含み
、
前記装置が前記繰返し文字群ストリングをその長さに関係なく2つの圧縮され
たコードに圧縮するように動作することを特徴とする請求項4に記載の装置。
13.前記先に一致照合されたストリングが前記繰返し文字群を有し、
前記探索する手段が前記繰返し文字群ストリングを前記樹木を辿るパスで一致
照合するように動作し、
前記取込む手段が前記拡張されたストリングを前記パスで取込むように動作し
、
それによって、前記繰返し文字群ストリングをその長さに関係なく2つの圧縮
コードに圧縮することを特徴とする請求項12に記載の装置。
14.データ文字ストリームに応答してデータ圧縮器によって供給される圧縮コ
ードストリーム(41)を受け取り、前記圧縮コードストリームから前記データ
文字ストリーム(42)を回復するように動作するデータ解凍装置(40)にお
いて、
データ文字ストリングをストアする記憶手段(43)であって、各前記ストリ
ングが関連するコード(46)を有する記憶手段と、
現在受信圧縮コードに応答してストリングを前記記憶手段から回復して、その
データ文字を回復するために前記現在受信圧縮コードで前記記憶手段にアクセス
する手段(132〜137、144、145)と、
前記現在受信圧縮コードに応答して前記回復されたストリングの各データ文字
で順に拡張される先に受信した圧縮コードに応答して先に回復されたストリング
を有する拡張されたストリングを前記記憶手段に取込む手段(140〜146)
と、
それぞれのコードを前記拡張されたストリングに割り当てる手段(141)と
、
未認識の圧縮コードの受け取りに応じて、前記先に回復されたストリングの各
データ文字によって順に、連続して繰返して、前記未認識の圧縮コードが取込ま
れるまで拡張される前記先に受信した圧縮コードに応答して前記先に回復された
ストリングを有する更に拡張されたストリング(163)を前記記憶手段に更に
取込む手段(160〜166)と、
それぞれのコードを前記更に拡張されたストリングに割り当てる手段(162
)と、
前記データ文字を回復するために前記未認識の圧縮コードに応答して前記デー
タ文字ストリングを供給する手段(167)と具えたことを特徴とするデータ解
凍装置。
15.前記更に取込む手段が、前記先に回復されたストリングのデータ文字によ
って、順に、更に拡張される前記未認識の圧縮コード信号に応答して前記ストリ
ングを有する追加の拡張されたストリング(172)を、前記追加の拡張された
い
くつかのストリングが前記記憶手段に取込まれるまで、前記記憶手段に取込む(
170〜176)ように動作し、前記数は前記先に回復されたストリングを有す
るデータ文字信号の数に等しく、
それぞれのコードを前記追加の拡張されたストリングに割り当てる手段(17
1)を含むことを特徴とする請求項14に記載の装置。
16.前記装置が連続するストリング回復サイクルで動作し、それぞれのストリ
ングが前記連続するサイクルで回復され、現サイクルが先のサイクルに続き、
前記先に回復されたストリングが前記先のサイクルで回復され、前記先に受信
した圧縮コードが前記先のサイクルで受け取られ、
前記現在受信圧縮コードが前記現サイクルの間に受け取られ、
前記取込む手段が前記現サイクルの間に前記拡張されたストリングを前記記憶
手段に取込むように動作することを特徴とする請求項15に記載の装置。
17.前記未認識の圧縮されたコードが前記現サイクルの間に受け取られ、
前記更に取込む手段が前記更に拡張されたストリングと前記追加の拡張された
ストリングを、前記現サイクルの間に、前記記憶手段に取込むように動作するこ
とを特徴とする請求項16に記載の装置。
18.それぞれ関連するコードを有する全ての単一文字ストリングで前記記憶手
段を初期化する手段をさらに具えたことを特徴とする請求項14に記載の装置。
19.前記圧縮コードストリームが、データ文字が受信中であるという表示に続
く圧縮されない形のデータ文字を含み、
データ文字に応答して圧縮されない形の前記データ文字が、前記データ文字ス
トリームにおいて前記データ圧縮器により最初に遭遇され、
前記装置が
圧縮されない形で受け取られる前記データ文字を前記記憶手段に単一文字スト
リングとして取込む手段と、
圧縮されない形で受け取られる前記データ文字を出力する手段とをさらに具え
たことを特徴とする請求項14に記載の装置。
20.前記表示がゼロコードを含むことを特徴とする請求項19に記載の装置。
21.前記データ文字ストリームが繰返し文字から成る繰返し文字ストリングを
含み、前記データ圧縮器が前記繰返し文字ストリングを2つの連続した圧縮コー
ドに圧縮するように動作し、
前記ストリングがリンクした樹木構造で前記記憶手段にストアされることを特
徴とする請求項17に記載の装置。
22.前記先に受信した圧縮コードが、前記連続する圧縮コードの第1の信号を
有し、前記未認識の圧縮コードが前記連続する圧縮コードの第2の信号を有し、
前記先に回復されたストリングが前記繰返す文字を有し、前記未認識の圧縮コ
ードに応答して前記ストリングが前記繰返す文字ストリングを有し、
前記先に回復されたストリングが前記樹木を辿るパスでストアされ、
前記取込む手段と前記更に取込む手段が前記更に拡張されたストリングと前記
追加の拡張されたストリングを前記パスで取込むように動作することを特徴とす
る請求項21に記載の装置。
23.前記データ文字ストリームが繰返し文字群から成る繰返す文字群ストリン
グを含み、前記データ圧縮器が前記繰返し文字群ストリングを2つの連続した圧
縮コードに圧縮するように動作し、
前記ストリングがリンクされた樹木構造で前記記憶手段にストアされることを
特徴とする請求項17に記載の装置。
24.前記先に受信した圧縮コードが、前記連続する圧縮コードの第1のコード
を有し、前記未認識の圧縮コードが前記連続する圧縮コードの第2のコードを有
し、
前記先に回復されたストリングが前記繰返す文字群を有し、前記未認識の圧縮
コードに応答して前記ストリングが前記繰返す文字群ストリングを有し、
前記先に回復されたストリングが前記樹木を辿るパスでストアされ、
前記取込む手段と前記更に取込む手段が前記更に拡張されたストリングと前記
追加の拡張されたストリングを前記パスで取込むように動作することを特徴とす
る請求項23に記載の装置。
25.前記更に取込む手段が前記先に回復されたストリングに従って前記更に拡
張されたストリングを生成するように動作し、データ文字の数は前記先に回復さ
れたストリングを有し、前記未認識の圧縮コードと前記コードは前記更に拡張さ
れたストリングに割り当てられ、前記更に拡張されたストリングの1つは前記未
認識の圧縮コードに応答してストリングであることを特徴とする請求項14に記
載の装置。
26.データ文字ストリーム(103)を圧縮コードストリーム(116)に圧
縮するデータ圧縮方法(図6)であって、
各ストリングがそれと関連するコード(16)を有するものであるデータ文字
ストリングを記憶手段(13)にストアするステップと、
所定の一致が確定するまで文字ごとの一致照合を行うために前記ストリームを
前記ストアされるストリングと比較する(104)ことによって前記データ文字
ストリームを探索する(103〜105)ステップと、
前記圧縮コードストリームを供給するために前記所定の一致と関連するコード
を出力する(106)ステップと、
拡張されたストリングを前記記憶手段に取込むステップ(107、112〜1
14であって)、前記拡張されたストリングの入力が前記文字ごとの一致照合の
データ文字の一致照合とインターリーブされ、前記拡張されたストリングが前記
文字ごとの一致照合の間に各データ文字が一致照合されるとき各データ文字で順
に拡張される最後に出力されるコードに応答して先に一致照合されたストリング
を有し、1つの拡張されたストリングが前記文字ごとの一致照合の間に一致照合
された各前記データ文字に対して取込まれ、前記文字ごとの一致照合の前記デー
タ文字の一致照合とインターリーブされる前記拡張されたストリングの取込みが
前記所定の一致が確定するまで続く手段と、
それぞれのコード信号を前記拡張されたストリングに割り当てるステップとを
具えたことを特徴とするデータ圧縮方法。
27.各前記データ文字の一致照合されるとき、次のデータ文字が一致照合され
る前に前記取込むステップが前記拡張されたストリングの1つを前記記憶手段に
取込むステップを含むことを特徴とする請求項26に記載の方法。
28.前記所定の一致が前記データ文字ストリームと前記ストアされたストリン
グの最長の一致を有し、
前記出力するステップが前記圧縮コードストリームを供給するために前記最長
一致と関連するコードを出力するステップを含むことを特徴とする請求項27に
記載の方法。
29.前記方法が連続するストリング一致照合サイクルで動作し、ぞぞれの最長
の一致照合されたストリングが前記連続するサイクルで確定され、現サイクルが
先のサイクルに続き、
前記先に一致照合されたストリングが前記先のサイクルで一致照合され、前記
最後に供給されたコードは前記先のサイクルで供給され、
前記文字ごとの一致照合が前記現サイクルで行われ、前記先に一致照合された
ストリングが現サイクルの間に前記各データ文字で拡張されることを特徴とする
請求項28に記載の装置。
30.前記探索のステップと前記取込みのステップが、部分ストリングWとデー
タ文字Cが一致照合されるとき、前記拡張されたストリングの1つがストリング
PWの拡張文字として(但し、Pは前記先に一致照合されたストリングであり、
Wは現サイクルで一致照合されるプロセスにある)前記データ文字Cとともに前
記記憶手段に取込まれることを特徴とする請求項29に記載の方法。
31.前記探索するステップが、前記文字ごとの一致照合をとる間にデータ文字
が一致しない時を確定することで、前記最長一致が達成された時を確定するステ
ップを含み、
前記探索するステップが、一致しなかった前記データ文字から次のストリング
一致照合サイクルを始める(110)ステップを含むことを特徴とする請求項2
9に記載の方法。
32.前記記憶手段をそれぞれ関連するコードを有する全ての単一文字ストリン
グで初期化する(100)ステップをさらに具えたことを特徴とする請求項26
に記載の方法。
33.データ文字が出力されるという表示に続いて圧縮されない形で最初に遭遇
したデータ文字を出力するステップと、
単一文字ストリングとして前記最初に遭遇したデータ文字を前記記憶手段に取
込むステップとをさらに具えたことを特徴とする請求項26に記載の方法。
34.前記表示がゼロコードを含むことを特徴とする請求項33に記載の方法。
35.前記ストアするステップが前記ストリングをリンクされた樹木構造で前記
記憶手段にストアするステップを含み、
前記データ文字ストリームが繰返し文字から成る繰返し文字ストリングを含み
、
前記方法が前記繰返し文字ストリングをその長さに関係なく2つの圧縮された
コードに圧縮することを特徴とする請求項29に記載の方法。
36.前記先に一致照合されたストリングが前記繰返し文字を有し、 前記探索
するステップが前記繰返し文字ストリングを前記樹木を辿るパスで一致照合する
ステップを含み、および
前記取込むステップが前記拡張されたストリングを前記パスで取込むステップ
を含み、
それによって、前記繰返し文字ストリングをその長さに関係なく2つの圧縮コ
ードに圧縮することを特徴とする請求項35に記載の方法。
37.前記ストアするステップが前記ストリングをリンクされた樹木構造で前記
記憶手段にストアするステップを含み、
前記データ文字ストリームが繰返し文字群から成る繰返し文字群ストリングを
含み、
前記方法が前記繰返し文字群ストリングをその長さに関係なく2つの圧縮コー
ドに圧縮することを特徴とする請求項29に記載の方法。
38.前記先に一致照合されたストリングが前記繰返し文字群を有し、
前記探索するステップが前記繰返し文字群ストリングを前記樹木を辿るパスで
一致照合するステップを含み、
前記取込むステップが前記拡張されたストリングを前記パスで取込むステップ
を含み、
それによって、前記繰返し文字群ストリングをその長さに関係なく2つの圧縮
コードに圧縮することを特徴とする請求項37に記載の方法。
39.データ文字ストリームに応答してデータ圧縮器によって供給される圧縮コ
ードストリーム(132)を受け取り、前記圧縮ストリームから前記データ文字
ストリーム(137)を回復するデータ解凍方法(図7)において、
各ストリングがそれと関連するコード(46)を有するデータ文字ストリング
を記憶手段(43)にストアするステップと、
前記記憶手段から現在受信圧縮コード信号に応答してストリングを回復し、そ
のデータ文字信号を回復するために前記現在受信圧縮コードで前記記憶手段にア
クセスする(132〜137、144、145)ステップと、
前記現在受信圧縮コードに応答して前記回復されたストリングの各データ文字
で順に拡張される先に受信した圧縮コードに応答して先に回復されたストリング
を有する拡張されたストリングを前記記憶手段に取込む(140〜146)ステ
ップと、
それぞれのコードを前記拡張されたストリングに割り当てる(141)ステッ
プと
未認識の圧縮コードの受信に応じて、前記先に回復されたストリングの各デー
タ文字で順に連続して繰返して前記未認識の圧縮コードに応答してストリングが
取込まれるまで拡張される前記先に受信した圧縮コードに応答して前記先に回復
されたストリングを有する更に拡張されるストリング(163)を前記記憶手段
に更に取込む(160〜166)ステップと、
それぞれのコードを前記更に拡張されたストリングに割り当てる(162)ス
テップと、
前記データ文字を回復するために前記未認識の圧縮コード信号に応答して前記
ストリングのデータ文字を供給する(167)ステップとを具えたことを特徴と
するデータ解凍方法。
40.前記更に取込むステップが、前記先に回復されたストリングのデータ文字
によって、順に、更に拡張される前記未認識の圧縮コードに応答して前記ストリ
ングを有する追加の拡張されたストリング(172)を、前記追加の拡張された
ストリングの数(その数は前記先に回復されたストリングを有するデータ文字の
数に等しい)が前記記憶手段に取込まれるまで、前記記憶手段に取込む(190
〜195)ステップを含み、それぞれのコードを前記追加の拡張されたストリン
グに割り当てる(171)ステップを含むことを特徴とする請求項39に記載の
方法。
41.前記方法が連続するストリング回復サイクルで動作し、それぞれのストリ
ングが前記連続するサイクルで回復され、現サイクルが先のサイクルに続き、
前記先に回復されたストリングが前記先のサイクルで回復され、前記先に受信
した圧縮コードが前記先のサイクルで受け取られ、
前記現在受信圧縮コードが前記現サイクルの間に受け取られ、
前記取込むステップが前記現サイクルの間に前記拡張されたストリングを前記
記憶手段に取込むステップを含むことを特徴とする請求項40に記載の方法。
42.前記未認識の圧縮コードが前記現サイクルの間に受け取られ、
前記更に取込むステップが前記更に拡張されたストリングと前記追加の拡張さ
れたストリングを、前記現サイクルの間に、前記記憶手段に取込むステップを含
むことを特徴とする請求項41に記載の方法。
43.それぞれ関連するコードを有する全ての単一文字ストリングで前記記憶手
段を初期化する(130)ステップをさらに具えたことを特徴とする請求項39
に記載の方法。
44.前記圧縮コードストリームが、データ文字が受け取られると言う表示に続
く圧縮されない形のデータ文字を含み、
データ文字に応答して圧縮されない形の前記データ文字が、前記データ文字ス
トリームにおいて前記データ圧縮器により最初に遭遇され、
前記方法が、
圧縮されない形で受け取られる前記データ文字を前記記憶手段に単一文字スト
リングとして取込むステップと、
圧縮されない形で受け取られる前記データ文字を出力するステップとをさらに
具えたことを特徴とする請求項39に記載の方法。
45.前記表示がゼロコードを含むことを特徴とする請求項44に記載の方法。
46.前記データ文字ストリームが繰返し文字から成る繰返し文字ストリングを
含み、前記データ圧縮器が前記繰返し文字ストリングを2つの連続した圧縮コー
ドに圧縮し、
前記ストアするステップが前記ストリングをリンクした樹木構造で前記記憶手
段にストアするステップを含むことを特徴とする請求項42に記載の方法。
47.前記先に受信した圧縮コードが、前記連続する圧縮コードの第1のコード
を有し、前記未認識の圧縮コードが前記連続する圧縮コードの第2のコードを有
し、
前記先に回復されたストリングが前記繰返し文字を有し、前記未認識の圧縮コ
ードに応答して前記ストリングが前記繰返し文字ストリングを有し、
前記先に回復されたストリングが前記樹木を辿るパスでストアされ、
前記取込むステップと前記更に取込むステップが前記更に拡張されたストリン
グと前記追加の拡張されたストリングを前記パスで取込むことを特徴とする請求
項46に記載の方法。
48.前記データ文字ストリームが繰返し文字群から成る繰返し文字群ストリン
グを含み、前記データ圧縮器が前記繰返し文字群ストリングを2つの連続した圧
縮コードに圧縮し、
前記ストアするステップが前記ストリングをリンクされた樹木構造で前記記憶
手段にストアするステップを含むことを特徴とする請求項42に記載の方法。
49.前記先に受信した圧縮コードが、前記連続する圧縮コードの第1のコード
を有し、前記未認識の圧縮コードが前記連続する圧縮コードの第2のコードを有
し、
前記先に回復されたストリングが前記繰返し文字群を有し、前記未認識の圧縮
コードに応答して前記ストリングが前記繰返し文字群ストリングを有し、
前記先に回復されたストリングが前記樹木を辿るパスでストアされ、
前記取込むステップと前記更に取込むステップが前記更に拡張されたストリン
グと前追加の拡張されたストリングを前記パスで取込むステップを含むことを特
徴とする請求項48に記載の方法。
50.前記更に取込むステップが前記先に回復されたストリングに従って前記更
に拡張されるストリングを生成するステップを含み、データ文字の数は前記先に
回復されたストリングを有し、前記未認識の圧縮コードと前記コードは前記更に
拡張されたストリングに割り当てられ、前記更に拡張されたストリングの1つは
前記未認識の圧縮コードに応答してストリングであることを特徴とする請求項3
9に記載の方法。
【手続補正書】
【提出日】1999年6月14日(1999.6.14)
【補正内容】
(1)明細書の請求の範囲を別紙の通りに補正する。
(2)明細書第23頁第8行の「表示」を「指示(指唆)」に補正する。
(3)明細書第23頁第23行の「表示」を「指示」に補正する。
(4)図面の図7A,図7B,図8および図9Bを別紙の通りに補正する。
別 紙
請求の範囲
1.データ文字ストリーム(11)を圧縮コードストリーム(12)に圧縮する
データ圧縮装置(10)であって、
データ文字ストリングをストアする記憶手段であって、各前記ストリングは関
連するコード(16)を有する記憶手段(13)と、
前記データ文字ストリームを前記ストアされたストリングと比較することによ
って、前記データ文字ストリームを探索し、所定の一致が確定するまで文字ごと
の一致照合を行う手段(103〜105)と、
前記所定の一致と関連するコードを出力して、前記圧縮コードストリームを供
給する手段(106)と、
拡張されたストリングを前記記憶手段に取込む手段であって、前記拡張された
ストリングの取込みは前記文字ごとの一致照合によるデータ文字の一致照合とイ
ンターリーブされ、前記拡張されたストリングは、最後に出力したコードに応答
する先に一致照合したストリングを拡張したストリングにより構成され、該拡張
は前記文字ごとの一致照合の間に一致照合される各データ文字で順に行われ、前
記文字ごとの一致照合の間に一致照合される前記データ文字ごとに1つの拡張さ
れたストリングが取込まれ、前記文字ごとの一致照合による前記データ文字の一
致照合とインターリーブされた前記拡張されたストリングの取込みは前記所定の
一致が確定するまで続く手段(107、112〜114)と、
それぞれのコードを前記拡張されたストリングに割り当てる手段(112)と
を具えたことを特徴とするデータ圧縮装置。
2.前記取込む手段は、各前記データ文字が一致照合される時で次のデータ文字
が一致照合される前に前記拡張されたストリングの1つを前記記憶手段に取込む
ように動作することを特徴とする請求項1に記載の装置。
3.前記所定の一致は、前記データ文字ストリームと前記ストアされたス
トリングとの間の最長の一致により構成され、
前記出力する手段は前記圧縮コードストリームを供給するために前記最長一致
と関連するコードを出力するように動作することを特徴とする請求項2に記載の
装置。
4.前記装置は連続するストリング一致照合サイクルで動作し、最長の一致照合
されたストリングの各々は前記連続するサイクルで確定され、現サイクルは先の
サイクルに続き、
前記先に一致照合したストリングは前記先のサイクルで一致照合され、前記最
後に供給したコードは前記先のサイクルで供給され、
前記文字ごとの一致照合は前記現サイクルで行われ、前記先に一致照合したス
トリングは前記現サイクルの間に前記各データ文字で拡張されることを特徴とす
る請求項3に記載の装置。
5.前記探索する手段および前記取込む手段は、部分ストリングWおよびデータ
文字Cを一致照合するときに、前記データ文字CをストリングPWの拡張文字と
して(但し、Pは前記先に一致照合したストリングであり、Wは現サイクルで一
致照合されるプロセスにある)前記拡張されたストリングの1つを前記記憶手段
に取込むように動作することを特徴とする請求項4に記載の装置。
6.前記探索する手段は、前記文字ごとの一致照合の間にデータ文字が一致しな
い時を確定することで、前記最長一致が達成された時を確定するように動作し、
前記探索する手段は、一致しなかった前記データ文字から次のストリング一致
照合サイクルを始める手段(110)を含むことを特徴とする請求
項4に記載の装置。
7.それぞれ関連するコードを有する全ての単一文字ストリングで前記記憶手段
を初期化する手段(100)をさらに具えたことを特徴とする請求項1に記載の
装置。
8.圧縮されていない形で最初に遭遇したデータ文字を、そのようなデータ文字
を出力するという指示に続いて出力する手段と、
前記最初に遭遇したデータ文字を前記記憶手段に単一文字ストリングとして取
込む手段とをさらに具えたことを特徴とする請求項1に記載の装置。
9.前記指示はゼロコードにより構成されることを特徴とする請求項8に記載の
装置。
10.前記ストリングはリンクされた樹木構造で前記記憶手段にストアされ、前
記データ文字ストリームは繰返し文字により構成された繰返し文字ストリングを
含み、
前記装置は前記繰返し文字ストリングをその長さに関係なく2つの圧縮コード
に圧縮するように動作することを特徴とする請求項4に記載の装置。
11.前記先に一致照合したストリングは前記繰返し文字により構成され、
前記探索する手段は前記繰返し文字ストリングを前記樹木を辿るパスで一致照
合するように動作し、
前記取込む手段は前記拡張されたストリングを前記パスに取込むように動作し
、
それによって、前記繰返し文字ストリングをその長さに関係なく2つの圧縮コ
ードに圧縮することを特徴とする請求項10に記載の装置。
12.前記ストリングはリンクされた樹木構造で前記記憶手段にストアされ、前
記データ文字ストリームは繰返し文字群により構成された繰返し文字群ストリン
グを含み、
前記装置は前記繰返し文字群ストリングをその長さに関係なく2つの圧縮コー
ドに圧縮するように動作することを特徴とする請求項4に記載の装置。
13.前記先に一致照合したストリングは前記繰返し文字群により構成され、
前記探索する手段は前記繰返し文字群ストリングを前記樹木を辿るパスで一致
照合するように動作し、
前記取込む手段は前記拡張されたストリングを前記パスに取込むように動作し
、
それによって、前記繰返し文字群ストリングをその長さに関係なく2つの圧縮
コードに圧縮することを特徴とする請求項12に記載の装置。
14.データ文字ストリームに応答する、データ圧縮器によって供給された圧縮
コードストリーム(41)を受け取り、前記圧縮コードストリームから前記デー
タ文字ストリーム(42)を回復するように動作するデータ解凍装置(40)で
あって、
データ文字ストリングをストアする記憶手段(43)であって、各前記ストリ
ングは関連するコード(46)を有する記憶手段と、
現在受信圧縮コードで前記記憶手段にアクセスし、前記現在受信圧縮コードに
応答するストリングを前記記憶手段から回復して、そのデータ文字を回復する手
段(132〜137、144、145)と、
拡張されたストリングを前記記憶手段に取込む手段であって、前記拡張された
ストリングは、先に受信した圧縮コードに応答する先に回復したストリングを拡
張したストリングにより構成され、該拡張は前記現在受信圧
縮コードに応答する前記回復したストリングの各データ文字で順に行われる手段
(140〜146)と、
それぞれのコードを前記拡張されたストリングに割り当てる手段(141)と
、
未認識の圧縮コードの受け取りに応じて、更に拡張されたストリング(163
)を前記記憶手段に更に取込む手段であって、前記更に拡張されたストリングは
、前記先に受信した圧縮コードに応答する前記先に回復したストリングを拡張し
たストリングにより構成され、該拡張は前記先に回復したストリングの各データ
文字によって順に、連続して繰返して、前記未認識の圧縮コードに応答するスト
リングが取込まれるまで行われる手段(160〜166)と、
それぞれのコードを前記更に拡張されたストリングに割り当てる手段(162
)と、
前記未認識の圧縮コードに応答する前記ストリングのデータ文字を供給して、
前記データ文字を回復する手段(167)とを具えたことを特徴とするデータ解
凍装置。
15.前記更に取込む手段は、追加の拡張されたストリング(172)を前記記
憶手段に取込むように動作し、前記追加の拡張されたストリングは、前記未認識
の圧縮コード信号に応答する前記ストリングを更に拡張したストリングにより構
成され、該拡張は前記先に回復したストリングのデータ文字によって順に、前記
追加の拡張されたストリングがある数だけ前記記憶手段に取込まれるまで行われ
、前記ある数は前記先に回復したストリングを構成するデータ文字の数に等しく
(170〜175)、
それぞれのコードを前記追加の拡張されたストリングに割り当てる手段(17
1)を含むことを特徴とする請求項14に記載の装置。
16.前記装置は連続するストリング回復サイクルで動作し、それぞれの
ストリングは前記連続するサイクルで回復され、現サイクルは先のサイクルに続
き、
前記先に回復したストリングは前記先のサイクルで回復され、前記先に受信し
た圧縮コードは前記先のサイクルで受け取られ、
前記現在受信圧縮コードは前記現サイクルの間に受け取られ、
前記取込む手段は前記現サイクルの間に前記拡張されたストリングを前記記憶
手段に取込むように動作することを特徴とする請求項15に記載の装置。
17.前記未認識の圧縮コードは前記現サイクルの間に受け取られ、
前記更に取込む手段は前記更に拡張されたストリングと前記追加の拡張された
ストリングを、前記現サイクルの間に、前記記憶手段に取込むように動作するこ
とを特徴とする請求項16に記載の装置。
18.それぞれ関連するコードを有する全ての単一文字ストリングで前記記憶手
段を初期化する手段(130)をさらに具えたことを特徴とする請求項14に記
載の装置。
19.前記圧縮コードストリームは、圧縮されていない形のデータ文字を、その
ようなデータ文字を受信中であるという指示の後に含み、
前記圧縮されていない形の前記データ文字は、前記データ圧縮器が前記データ
文字ストリームにおいて最初に遭遇したデータ文字に応答し、
前記装置は、
圧縮されていない形で受け取られる前記データ文字を前記記憶手段に単一文字
ストリングとして取込む手段と、
圧縮されていない形で受け取られる前記データ文字を出力する手段とをさらに
具えたことを特徴とする請求項14に記載の装置。
20.前記指示はゼロコードにより構成されることを特徴とする請求項19に記
載の装置。
21.前記データ文字ストリームは繰返し文字により構成された繰返し文字スト
リングを含み、前記データ圧縮器は前記繰返し文字ストリングを2つの連続した
圧縮コードに圧縮するように動作し、
前記ストリングはリンクした樹木構造で前記記憶手段にストアされることを特
徴とする請求項17に記載の装置。
22.前記先に受信した圧縮コードは前記連続した圧縮コードの第1のコードに
より構成され、前記未認識の圧縮コードは前記連続した圧縮コードの第2のコー
ドにより構成され、
前記先に回復したストリングは前記繰返し文字により構成され、前記未認識の
圧縮コードに応答する前記ストリングは前記繰返し文字ストリングにより構成さ
れ、
前記先に回復したストリングは前記樹木を辿るパスにストアされ、
前記取込む手段と前記更に取込む手段は前記更に拡張されたストリングと前記
追加の拡張されたストリングを前記パスに取込むように動作することを特徴とす
る請求項21に記載の装置。
23.前記データ文字ストリームは繰返し文字群により構成された繰返し文字群
ストリングを含み、前記データ圧縮器は前記繰返し文字群ストリングを2つの連
続した圧縮コードに圧縮するように動作し、
前記ストリングはリンクされた樹木構造で前記記憶手段にストアされることを
特徴とする請求項17に記載の装置。
24.前記先に受信した圧縮コードは前記連続した圧縮コードの第1のコードに
より構成され、前記未認識の圧縮コードは前記連続した圧縮コード
の第2のコードにより構成され、
前記先に回復したストリングは前記繰返し文字群により構成され、前記未認識
の圧縮コードに応答する前記ストリングは前記繰返し文字群ストリングにより構
成され、
前記先に回復したストリングは前記樹木を辿るパスにストアされ、
前記取込む手段と前記更に取込む手段は前記更に拡張されたストリングと前記
追加の拡張されたストリングを前記パスに取込むように動作することを特徴とす
る請求項23に記載の装置。
25.前記更に取込む手段は、前記先に回復したストリング、前記先に回復した
ストリングを構成するデータ文字の数、前記未認識の圧縮コード、および前記更
に拡張されたストリングに割り当てられた前記コードに従って前記更に拡張され
たストリングを生成するように動作し、前記更に拡張されたストリングの1つは
前記未認識の圧縮コードに応答するストリングであることを特徴とする請求項1
4に記載の装置。
26.データ文字ストリーム(103)を圧縮コードストリーム(116)に圧
縮するデータ圧縮方法(図6)であって、
データ文字ストリングを記憶手段(13)にストアするステップであって、各
前記ストリングは関連するコード(16)を有するステップと、
前記データ文字ストリームを前記ストアされたストリングと比較する(104
)ことによって、前記データ文字ストリームを探索し、所定の一致が確定するま
で文字ごとの一致照合を行うステップ(103〜105)と、
前記所定の一致と関連するコードを出力して、前記圧縮コードストリームを供
給するステップ(106)と、
拡張されたストリングを前記記憶手段に取込むステップであって、前記拡張さ
れたストリングの取込みは前記文字ごとの一致照合によるデータ文
字の一致照合とインターリーブされ、前記拡張されたストリングは、最後に出力
したコードに応答する先に一致照合したストリングを拡張したストリングにより
構成され、該拡張は前記文字ごとの一致照合の間に一致照合される各データ文字
で順に行われ、前記文字ごとの一致照合の間に一致照合される前記データ文字ご
とに1つの拡張されたストリングが取り込まれ、前記文字ごとの一致照合による
前記データ文字の一致照合とインターリーブされた前記拡張されたストリングの
取込みは前記所定の一致が確定するまで続くステップ(107、112〜114
)と、
それぞれのコード信号を前記拡張されたストリングに割り当てるステップ(1
12)とを具えたことを特徴とするデータ圧縮方法。
27.前記取込むステップは、各前記データ文字が一致照合される時で次のデー
タ文字が一致照合される前に前記拡張されたストリングの1つを前記記憶手段に
取込むステップを含むことを特徴とする請求項26に記載の方法。
28.前記所定の一致は、前記データ文字ストリームと前記ストアされたストリ
ングとの間の最長の一致により構成され、
前記出力するステップは前記圧縮コードストリームを供給するために前記最長
一致と関連するコードを出力するステップを含むことを特徴とする請求項27に
記載の方法。
29.前記方法が連続するストリング一致照合サイクルで動作し、最長の一致照
合されたストリングの各々は前記連続するサイクルで確定され、現サイクルは先
のサイクルに続き、
前記先に一致照合したストリングは前記先のサイクルで一致照合され、前記最
後に供給したコードは前記先のサイクルで供給され、
前記文字ごとの一致照合は前記現サイクルで行われ、前記先に一致照合
したストリングは前記現サイクルの間に前記各データ文字で拡張されることを特
徴とする請求項28に記載の方法。
30.前記探索するステップおよび前記取込むステップは、部分ストリングWお
よびデータ文字Cを一致照合するときに、前記データ文字CをストリングPWの
拡張文字として(但し、Pは前記先に一致照合したストリングであり、Wは現サ
イクルで一致照合されるプロセスにある)前記拡張されたストリングの1つを前
記記憶手段に取込むように実行されることを特徴とする請求項29に記載の方法
。
31.前記探索するステップは、前記文字ごとの一致照合の間にデータ文字が一
致しない時を確定することで、前記最長一致が達成された時を確定するステップ
を含み、
前記探索するステップは、一致しなかった前記データ文字から次のストリング
一致照合サイクルを始めるステップ(110)を含むことを特徴とする請求項2
9に記載の方法。
32.それぞれ関連するコードを有する全ての単一文字ストリングで前記記憶手
段を初期化するステップ(100)をさらに具えたことを特徴とする請求項26
に記載の方法。
33.圧縮されていない形で最初に遭遇したデータ文字を、そのようなデータ文
字を出力するという指示に続いて出力するステップと、
前記最初に遭遇したデータ文字を前記記憶手段に単一文字ストリングとして取
込むステップとをさらに具えたことを特徴とする請求項26に記載の方法。
34.前記指示はゼロコードにより構成されることを特徴とする請求項3
3に記載の方法。
35.前記ストアするステップは前記ストリングをリンクされた樹木構造で前記
記憶手段にストアするステップを含み、
前記データ文字ストリームは繰返し文字により構成された繰返し文字ストリン
グを含み、
前記方法は前記繰返し文字ストリングをその長さに関係なく2つの圧縮コード
に圧縮することを特徴とする請求項29に記載の方法。
36.前記先に一致照合したストリングは前記繰返し文字により構成され、
前記探索するステップは前記繰返し文字ストリングを前記樹木を辿るパスで一
致照合するステップを含み、
前記取込むステップは前記拡張されたストリングを前記パスに取込むステップ
を含み、
それによって、前記繰返し文字ストリングをその長さに関係なく2つの圧縮コ
ードに圧縮することを特徴とする請求項35に記載の方法。
37.前記ストアするステップは前記ストリングをリンクされた樹木構造で前記
記憶手段にストアするステップを含み、
前記データ文字ストリームは繰返し文字群により構成された繰返し文字群スト
リングを含み、
前記方法は前記繰返し文字群ストリングをその長さに関係なく2つの圧縮コー
ドに圧縮することを特徴とする請求項29に記載の方法。
38.前記先に一致照合したストリングは前記繰返し文字群により構成され、
前記探索するステップは前記繰返し文字群ストリングを前記樹木を辿るパスで
一致照合するステップを含み、
前記取込むステップは前記拡張されたストリングを前記パスに取込むステップ
を含み、
それによって、前記繰返し文字群ストリングをその長さに関係なく2つの圧縮
コードに圧縮することを特徴とする請求項37に記載の方法。
39.データ文字ストリームに応答する、データ圧縮器によって供給された圧縮
コードストリーム(132)を受け取り、前記圧縮コードストリームから前記デ
ータ文字ストリーム(137)を回復するデータ解凍方法(図7)であって、
データ文字ストリングを記憶手段(43)にストアするステップであって、各
前記ストリングは関連するコード(46)を有するステップと、
現在受信圧縮コードで前記記憶手段にアクセスし、前記現在受信圧縮コード信
号に応答するストリングを前記記憶手段から回復して、そのデータ文字を回復す
るステップ(132〜137、144、145)と、
拡張されたストリングを前記記憶手段に取込むステップであって、前記拡張さ
れたストリングは、先に受信した圧縮コードに応答する先に回復したストリング
を拡張したストリングにより構成され、該拡張は前記現在受信圧縮コードに応答
する前記回復したストリングの各データ文字で順に行われるステップ(140〜
146)と、
それぞれのコードを前記拡張されたストリングに割り当てるステップ(141
)と、
未認識の圧縮コードの受け取りに応じて、更に拡張されたストリング(163
)を前記記憶手段に更に取込むステップであって、前記更に拡張されたストリン
グは、前記先に受信した圧縮コードに応答する前記先に回復したストリングを拡
張したストリングにより構成され、該拡張は前記先に回復したストリングの各デ
ータ文字によって順に、連続して繰返して、前記未認識の圧縮コードに応答する
ストリングが取込まれるまで行われるステップ(160〜166)と、
それぞれのコードを前記更に拡張されたストリングに割り当てる(162)ス
テップと、
前記未認識の圧縮コードに応答する前記ストリングのデータ文字を供給して、
前記データ文字を回復するステップ(167)とを具えたことを特徴とするデー
タ解凍方法。
40.前記更に取込むステップは、追加の拡張されたストリング(172)を前
記記憶手段に取込むステップを含み、前記追加の拡張されたストリングは、前記
未認識の圧縮コード信号に応答する前記ストリングを更に拡張したストリングに
より構成され、該拡張は前記先に回復したストリングのデータ文字によって順に
、前記追加の拡張されたストリングがある数だけ前記記憶手段に取込まれるまで
行われ、前記ある数は前記先に回復したストリングを構成するデータ文字の数に
等しく(170〜175)、
それぞれのコードを前記追加の拡張されたストリングに割り当てるステップ(
171)を含むことを特徴とする請求項39に記載の方法。
41.前記方法は連続するストリング回復サイクルで動作し、それぞれのストリ
ングは前記連続するサイクルで回復され、現サイクルは先のサイクルに続き、
前記先に回復したストリングは前記先のサイクルで回復され、前記先に受信し
た圧縮コードは前記先のサイクルで受け取られ、
前記現在受信圧縮コードは前記現サイクルの間に受け取られ、
前記取込むステップは前記現サイクルの間に前記拡張されたストリングを前記
記憶手段に取込むステップを含むことを特徴とする請求項40に記載の方法。
42.前記未認識の圧縮コードは前記現サイクルの間に受け取られ、
前記更に取込むステップは前記更に拡張されたストリングと前記追加の
拡張されたストリングを、前記現サイクルの間に、前記記憶手段に取込むステッ
プを含むことを特徴とする請求項41に記載の方法。
43.それぞれ関連するコードを有する全ての単一文字ストリングで前記記憶手
段を初期化するステップ(130)をさらに具えたことを特徴とする請求項39
に記載の方法。
44.前記圧縮コードストリームは、圧縮されていない形のデータ文字を、その
ようなデータ文字を受信中であるという指示の後に含み、
前記圧縮されていない形の前記データ文字は、前記データ圧縮器が前記データ
文字ストリームにおいて最初に遭遇したデータ文字に応答し、
前記方法は、
圧縮されていない形で受け取られる前記データ文字を前記記憶手段に単一文字
ストリングとして取込むステップと、
圧縮されていない形で受け取られる前記データ文字を出力するステップとをさ
らに具えたことを特徴とする請求項39に記載の方法。
45.前記指示はゼロコードにより構成されることを特徴とする請求項44に記
載の方法。
46.前記データ文字ストリームは繰返し文字により構成された繰返し文字スト
リングを含み、前記データ圧縮器は前記繰返し文字ストリングを2つの連続した
圧縮コードに圧縮し、
前記ストアするステップは前記ストリングをリンクした樹木構造で前記記憶手
段にストアするステップを含むことを特徴とする請求項42に記載の方法。
47.前記先に受信した圧縮コードは前記連続した圧縮コードの第1のコ
ードにより構成され、前記未認識の圧縮コードは前記連続した圧縮コードの第2
のコードにより構成され、
前記先に回復したストリングは前記繰返し文字により構成され、前記未認識の
圧縮コードに応答する前記ストリングは前記繰返し文字ストリングにより構成さ
れ、
前記先に回復したストリングは前記樹木を辿るパスにストアされ、
前記取込むステップと前記更に取込むステップは前記更に拡張されたストリン
グと前記追加の拡張されたストリングを前記パスに取込むステップを含むことを
特徴とする請求項46に記載の方法。
48.前記データ文字ストリームは繰返し文字群により構成された繰返し文字群
ストリングを含み、前記データ圧縮器は前記繰返し文字群ストリングを2つの連
続した圧縮コードに圧縮し、
前記ストアするステップは前記ストリングをリンクされた樹木構造で前記記憶
手段にストアするステップを含むことを特徴とする請求項42に記載の方法。
49.前記先に受信した圧縮コードは前記連続した圧縮コードの第1のコードに
より構成され、前記未認識の圧縮コードは前記連続した圧縮コードの第2のコー
ドにより構成され、
前記先に回復したストリングは前記繰返し文字群により構成され、前記未認識
の圧縮コードに応答する前記ストリングは前記繰返し文字群ストリングにより構
成され、
前記先に回復したストリングは前記樹木を辿るパスにストアされ、
前記取込むステップと前記更に取込むステップは前記更に拡張されたストリン
グと前記追加の拡張されたストリングを前記パスに取込むステップを含むことを
特徴とする請求項48に記載の方法。
50.前記更に取込むステップは、前記先に回復したストリング、前記先に回復
したストリングを構成するデータ文字の数、前記未認識の圧縮コード、および前
記更に拡張されたストリングに割り当てられた前記コードに従って前記更に拡張
されたストリングを生成するステップを含み、前記更に拡張されたストリングの
1つは前記未認識の圧縮コードに応答するストリングであることを特徴とする請
求項39に記載の方法。
【図7】【図7】【図8】【図9】
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FI,FR,GB,GR,IE,IT,L
U,MC,NL,PT,SE),OA(BF,BJ,CF
,CG,CI,CM,GA,GN,ML,MR,NE,
SN,TD,TG),AP(GH,KE,LS,MW,S
D,SZ,UG,ZW),UA(AM,AZ,BY,KG
,KZ,MD,RU,TJ,TM),AL,AM,AT
,AU,AZ,BA,BB,BG,BR,BY,CA,
CH,CN,CU,CZ,DE,DK,EE,ES,F
I,GB,GE,GH,HU,IL,IS,JP,KE
,KG,KP,KR,KZ,LC,LK,LR,LS,
LT,LU,LV,MD,MG,MK,MN,MW,M
X,NO,NZ,PL,PT,RO,RU,SD,SE
,SG,SI,SK,SL,TJ,TM,TR,TT,
UA,UG,UZ,VN,YU,ZW
(72)発明者 クーパー,アルバート,ビー.
アメリカ合衆国 10021 ニューヨーク州
ニューヨーク 20 イースト 74 ティ
ーエイチ ストリート ナンバー 14シー
【要約の続き】
復されたストリングの文字数(135)に従って解凍器
辞書(43)のストリングを更新する。
Claims (1)
- 【特許請求の範囲】 1.データ文字信号ストリームを圧縮コード信号ストリームに圧縮するデータ圧 縮装置であって、 データ文字信号ストリングをストアする記憶手段であって、各前記ストリング が関連するコード信号を有する記憶手段と、 所定の一致が確定するまで文字ごとの一致照合を行うために前記ストリームを 前記ストアされたストリングと比較することによって、前記データ文字信号スト リームを探索する手段と、 前記圧縮コード信号ストリームを供給するために、前記所定の一致と関連する コード信号を供給する手段と、 各データ文字信号が一致照合されるとき、順に、各データ文字信号で拡張され る最後に供給されるコード信号に対応する先に一致照合されたストリングを有す る拡張されたストリングを、前記文字ごとの一致照合とインターリーブして、前 記記憶手段に取込む手段と、 それぞれのコード信号を前記拡張されたストリングに割り当てる手段とを具え たことを特徴とするデータ圧縮装置。 2.前記取込む手段が、各前記データ文字信号が一致照合される時で次のデータ 文字信号が一致照合される前に前記拡張されたストリングの1つを前記記憶手段 に取込むように動作することを特徴とする請求項1に記載の装置。 3.前記所定の一致が前記データ文字信号ストリームと前記ストアされたストリ ングの間の最長の一致を有し、 前記供給する手段が、前記圧縮コード信号ストリームを供給するために、前記 最長の一致に関連するコード信号を供給するように動作することを特徴とする請 求項2に記載の装置。 4.前記装置が連続するストリング一致照合サイクルで動作し、それぞれ最長の 一致照合されたストリングが前記連続するサイクルで確定され、現サイクルが先 のサイクルに続き、 前記先に一致照合されたストリングが前記先のサイクルで供給される、前記最 後に供給されたコード信号と一致照合され、 前記文字ごとの一致照合が前記現サイクルで行われ、前記先に一致照合された ストリングが現サイクルの間に前記各データ文字信号で拡張されることを特徴と する請求項3に記載の装置。 5.前記探索する手段および前記取込む手段が、部分ストリングWとデータ文字 信号Cが一致照合されるときに、前記拡張されたストリングの1つがストリング PWの拡張文字として(但し、Pは前記先に一致照合されたストリングであり、 Wは現サイクルで一致照合されるプロセスにある)前記データ文字信号Cととも に前記記憶手段に取込まれるように動作することを特徴とする請求項4に記載の 装置。 6.前記探索する手段が、前記文字ごとの一致照合の間にデータ文字信号が一致 しない時を確定することで、前記最長一致が達成された時を確定するように動作 し、 前記探索する手段が、一致しなかった前記データ文字信号から次のストリング 一致照合サイクルを始める手段を含むことを特徴とする請求項4に記載の装置。 7.更に、それぞれの関連するコードを有する全ての単一文字ストリングで前記 記憶手段を初期化する手段を含むことを特徴とする請求項1に記載の装置。 8.更に、データ文字信号が出力されるという表示に続いて圧縮されない形で最 初に遭遇したデータ文字信号を出力する手段と、 単一文字ストリングとして前記最初に遭遇したデータ文字信号を前記記憶手段 に取込む手段とを含むことを特徴とする請求項1に記載の装置。 9.前記表示がゼロコードを含むことを特徴とする請求項8に記載の装置。 10.前記ストリングが、リンクされた樹木構造で前記記憶手段にストアされ、 前記データ文字信号のストリームが繰返し文字から成る繰返し文字ストリングを 含み、 前記装置が前記繰返し文字ストリングをその長さに関係なく2つの圧縮コード 信号に圧縮するように動作することを特徴とする請求項4に記載の装置。 11.前記先に一致照合されたストリングが前記繰返し文字を有し、 前記探索する手段が前記繰返し文字ストリングを前記樹木を辿るパスで一致照 合するように動作し、 前記取込む手段が前記拡張されたストリングを前記パスで取込むように動作し 、それによって、前記繰返し文字ストリングをその長さに関係なく2つの圧縮コ ード信号に圧縮することを特徴とする請求項10に記載の装置。 12.前記ストリングがリンクされた樹木構造で前記記憶手段にストアされ、前 記データ文字信号ストリームが繰返し文字群から成る繰返し文字群ストリングを 含み、 前記装置が前記繰返し文字群ストリングをその長さに関係なく2つの圧縮され たコード信号に圧縮するように動作することを特徴とする請求項4に記載の装置 。 13.前記先に一致照合されたストリングが前記繰返し文字群を有し、 前記探索する手段が前記繰返し文字群ストリングを前記樹木を辿るパスで一致 照合するように動作し、 前記取込む手段が前記拡張されたストリングを前記パスで取込むように動作し 、それによって、前記繰返し文字群ストリングをその長さに関係なく2つの圧縮 コード信号に圧縮することを特徴とする請求項12に記載の装置。 14.データ文字信号ストリームに応答してデータ圧縮器によって供給される圧 縮コード信号ストリームを受け取り、前記圧縮コード信号ストリームから前記デ ータ文字信号ストリームを回復するように動作するデータ解凍装置において、 データ文字信号ストリングをストアする記憶手段であって、各前記ストリング が関連するコード信号を有する記憶手段と、 現在受信圧縮コード信号に対応するストリングを前記記憶手段から回復して、 そのデータ文字信号を回復するために前記現在受信圧縮コード信号で前記記憶手 段にアクセスする手段と、 前記現在受信圧縮コード信号に対応する前記回復されたストリングの各データ 文字信号で順に拡張される先に受信した圧縮コード信号に対応する先に回復され たストリングを有する拡張されたストリングを前記記憶手段に取込む手段と、 それぞれのコード信号を前記拡張されたストリングに割り当てる手段と、 未認識の圧縮コード信号の受け取りに応じて、前記先に回復されたストリング の各データ文字信号によって順に、連続して繰返して、前記未認識の圧縮コード 信号が取込まれるまで拡張される前記先に受信した圧縮コード信号に対応する前 記先に回復されたストリングを有する更に拡張されたストリングを前記記憶手段 に更に取込む手段と、 それぞれのコード信号を前記更に拡張されたストリングに割り当てる手段と、 前記データ文字信号を回復するために前記未認識の圧縮コード信号に対応する 前記データ文字信号ストリングを供給する手段とを具えたことを特徴とするデー タ解凍装置。 15.前記更に取込む手段が、前記先に回復されたストリングのデータ文字信号 によって、順に、更に拡張される前記未認識の圧縮コード信号に対応する前記ス トリングを有する追加の拡張されたストリングを、前記追加の拡張されたいくつ かのストリングが前記記憶手段に取込まれるまで、前記記憶手段に取込むように 動作し、前記数は前記先に回復されたストリングを有するデータ文字信号の数に 等しく、 それぞれのコード信号を前記追加の拡張されたストリングに割り当てる手段を 含むことを特徴とする請求項14に記載の装置。 16.前記装置が連続するストリング回復サイクルで動作し、それぞれのストリ ングが前記連続するサイクルで回復され、現サイクルが先のサイクルに続き、 前記先に回復されたストリングが前記先のサイクルで回復され、前記先に受信し た圧縮コード信号が前記先のサイクルで受け取られ、 前記現在受信圧縮コード信号が前記現サイクルの間に受け取られ、 前記取込む手段が前記現サイクルの間に前記拡張されたストリングを前記記憶 手段に取込むように動作することを特徴とする請求項15に記載の装置。 17.前記未認識の圧縮されたコード信号が前記現サイクルの間に受け取られ、 前記更に取込む手段が前記更に拡張されたストリングと前記追加の拡張された ストリングを、前記現サイクルの間に、前記記憶手段に取込むように動作するこ とを特徴とする請求項16に記載の装置。 18.更に、それぞれ関連するコードを有する全ての単一文字ストリングで前記 記憶手段を初期化する手段を含むことを特徴とする請求項14に記載の装置。 19.前記圧縮コード信号ストリームが、データ文字信号が受信中であるという 表示に続く圧縮されない形のデータ文字信号を含み、 データ文字信号に対応する圧縮されない形の前記データ文字信号が、前記デー タ文字信号ストリームにおいて前記データ圧縮器により最初に遭遇され、 前記装置が、 圧縮されない形で受け取られる前記データ文字信号を前記記憶手段に単一文字 ストリングとして取込む手段と、 圧縮されない形で受け取られる前記データ文字信号を出力する手段とをさらに 具えたことを特徴とする請求項14に記載の装置。 20.前記表示がゼロコードを含むことを特徴とする請求項19に記載の装置。 21.前記データ文字信号ストリームが繰返し文字から成る繰返し文字ストリン グを含み、前記データ圧縮器が前記繰返し文字ストリングを2つの連続した圧縮 コード信号に圧縮するように動作し、 前記ストリングがリンクした樹木構造で前記記憶手段にストアされることを特 徴とする請求項17に記載の装置。 22.前記先に受信した圧縮コード信号が、前記連続する圧縮コード信号の第1 の信号を有し、前記未認識の圧縮コード信号が前記連続する圧縮コード信号の第 2の信号を有し、 前記先に回復されたストリングが前記繰返す文字を有し、前記未認識の圧縮コ ード信号に対応する前記ストリングが前記繰返す文字ストリングを有し、 前記先に回復されたストリングが前記樹木を辿るパスでストアされ、 前記取込む手段と前記更に取込む手段が前記更に拡張されたストリングと前記 追加の拡張されたストリングを前記パスで取込むように動作することを特徴とす る請求項21に記載の装置。 23.前記データ文字信号ストリームが繰返し文字群から成る繰返す文字群スト リングを含み、前記データ圧縮器が前記繰返し文字群ストリングを2つの連続し た圧縮コード信号に圧縮するように動作し、 前記ストリングがリンクされた樹木構造で前記記憶手段にストアされることを 特徴とする請求項17に記載の装置。 24.前記先に受信した圧縮コード信号が、前記連続する圧縮コード信号の第1 の信号を有し、前記未認識の圧縮コード信号が前記連続する圧縮コード信号の第 2の信号を有し、 前記先に回復されたストリングが前記繰返す文字群を有し、前記未認識の圧縮 コード信号に対応する前記ストリングが前記繰返す文字群ストリングを有し、 前記先に回復されたストリングが前記樹木を辿るパスでストアされ、 前記取込む手段と前記更に取込む手段が前記更に拡張されたストリングと前記 追加の拡張されたストリングを前記パスで取込むように動作することを特徴とす る請求項23に記載の装置。 25.圧縮コード信号ストリームからデータ文字信号ストリームを回復するデー タ解凍装置であって、 前記圧縮コード信号ストリームを受け取る手段と、 データ文字信号ストリングをストアする記憶手段であって、各前記ストリング が関連するコード信号を有する記憶手段と、 前記記憶手段から現在受信圧縮コード信号に対応するストリングを回復し、そ のデータ文字信号を回復するために前記現在受信圧縮コード信号で前記記憶手段 にアクセスする手段と、 前記現在受信圧縮コード信号に対応する前記回復されたストリングの各データ 文字信号で順に拡張される先に受信した圧縮コード信号に対応する先に回復され たストリングを有する拡張されたストリングを前記記憶手段に取込む手段と、 未認識の圧縮コード信号の受信に応じて更に拡張されるストリングを前記記憶 手段に更に取込む手段と、 それぞれのコード信号を前記拡張されたストリングに、および更に拡張された ストリングに割り当てる手段とを備え、 前記更に取込む手段が前記先に回復されたストリングに従って前記更に拡張さ れたストリングを生成するように動作し、データ文字信号の数は前記先に回復さ れたストリングを有し、前記未認識の圧縮コード信号と前記コード信号は前記更 に拡張されたストリングに割り当てられ、前記更に拡張されたストリングの1つ は前記未認識の圧縮コード信号に対応するストリングであり、 さらに、前記データ文字信号を回復するために前記未認識の圧縮コード信号に 対応する前記ストリングのデータ文字信号を供給する手段を具えたことを特徴と するデータ解凍装置。 26.データ文字信号ストリームを圧縮コード信号ストリームに圧縮するデータ 圧縮方法であって、 各ストリングがそれと関連するコード信号を有するものであるデータ文字信号 ストリングを記憶手段にストアするステップと、 所定の一致が確定するまで文宇ごとの一致照合を行うために前記ストリームを 前記ストアされるストリングと比較することによって前記データ文字信号ストリ ームを探索するステップと、 前記圧縮コード信号ストリームを供給するために前記所定の一致と関連するコ ード信号を供給するステップと、 各データ文字信号の一致照合されるときに、順に、各データ文字信号で拡張さ れる最後に供給されたコード信号に対応する先に一致照合されたストリングを有 する拡張されたストリングを、前記文字ごとの一致照合とインターリーブして、 前記記憶手段に取込むステップと、および それぞれのコード信号を前記拡張されたストリングに割り当てるステップとを 具えたことを特徴とするデータ圧縮方法。 27.各前記データ文字信号が一致照合されるとき、次のデータ文字信号の一致 照合される前に前記取込むステップが前記拡張されたストリングの1つを前記記 憶手段に取込むステップを含むことを特徴とする請求項26に記載の方法。 28.前記所定の一致が前記データ文字信号ストリームと前記ストアされたスト リングの最長の一致を有し、 前記供給するステップが前記圧縮コード信号ストリームを供給するために前記 最長一致に関連するコード信号を供給するステップを含むことを特徴とする請求 項27に記載の方法。 29.前記方法が連続するストリング一致照合サイクルで動作し、ぞぞれの最長 の一致照合されたストリングが前記連続するサイクルで確定され、現サイクルが 先のサイクルに続き、 前記先に一致照合されたストリングが前記先のサイクルで一致照合され、前記 最後に供給されたコード信号は前記先のサイクルで供給され、 前記文字ごとの一致照合が前記現サイクルで行われ、前記先に一致照合された ストリングが現サイクルの間に前記各データ文字信号で拡張されることを特徴と する請求項28に記載の装置。 30.前記探索のステップと前記取込みのステップが、部分ストリングWとデー タ文字信号Cが一致照合されるとき、前記拡張されたストリングの1つがストリ ングPWの拡張文字として(但し、Pは前記先に一致照合されたストリングであ り、Wは現サイクルで一致照合されるプロセスにある)前記データ文字信号Cと ともに前記記憶手段に取込まれることを特徴とする請求項29に記載の方法。 31.前記探索するステップが、前記文字ごとの一致照合の間にデータ文字信号 が一致しない時を確定することで、前記最長一致が達成された時を確定するステ ップを含み、 前記探索するステップが、一致しなかった前記データ文字信号から次のストリ ング一致照合サイクルを始めるステップを含むことを特徴とする請求項29に記 載の方法。 32.前記記憶手段をそれぞれ関連するコードを有する全ての単一文字ストリン グで初期化するステップを含むことを特徴とする請求項26に記載の方法。 33.データ文字信号が出力されるという表示に続いて圧縮されない形で最初に 遭遇したデータ文字信号を出力するステップと、 単一文字ストリングとして前記最初に遭遇したデータ文字信号を前記記憶手段 に取込むステップとをさらに具えたことを特徴とする請求項26に記載の方法。 34.前記表示がゼロコードを含むことを特徴とする請求項33に記載の方法。 35.前記ストアするステップが前記ストリングをリンクされた樹木構造で前記 記憶手段にストアするステップを含み、 前記データ文字信号ストリームが繰返し文字から成る繰返し文字ストリングを 含み、 前記方法が前記繰返し文字ストリングをその長さに関係なく2つの圧縮された コード信号に圧縮することを特徴とする請求項29に記載の方法。 36.前記先に一致照合されたストリングが前記繰返し文字を有し、 前記探索するステップが前記繰返し文字ストリングを前記樹木を辿るパスで一 致照合するステップを含み、および 前記取込むステップが前記拡張されたストリングを前記パスで取込むステップ を含み、 それによって、前記繰返し文字ストリングをその長さに関係なく2つの圧縮コ ード信号に圧縮することを特徴とする請求項35に記載の方法。 37.前記ストアするステップが前記ストリングをリンクされた樹木構造で前記 記憶手段にストアするステップを含み、 前記データ文字信号ストリームが繰返し文字群から成る繰返し文字群ストリン グを含み、 前記方法が前記繰返し文字群ストリングをその長さに関係なく2つの圧縮コー ド信号に圧縮することを特徴とする請求項29に記載の方法。 38.前記先に一致照合されたストリングが前記繰返し文字群を有し、 前記探索するステップが前記繰返し文字群ストリングを前記樹木を辿るパスで 一致照合するステップを含み、 前記取込むステップが前記拡張されたストリングを前記パスで取込むステップ を含み、 それによって、前記繰返し文字群ストリングをその長さに関係なく2つの圧縮 コード信号に圧縮することを特徴とする請求項37に記載の方法。 39.データ文字信号ストリームに応答してデータ圧縮器によって供給される圧 縮コード信号ストリームを受け取り、前記圧縮信号ストリームから前記データ文 字信号ストリームを回復するデータ解凍方法において、 各ストリングがそれと関連するコード信号を有するデータ文字信号ストリング を記憶手段にストアするステップと、 前記記憶手段から現在受信圧縮コード信号に対応するストリングを回復し、そ のデータ文字信号を回復するために前記現在受信圧縮コード信号で前記記憶手段 にアクセスするステップと、 前記現在受信圧縮コード信号に対応する前記回復されたストリングの各データ 文字信号で順に拡張される先に受信した圧縮コード信号に対応する先に回復され たストリングを有する拡張されたストリングを前記記憶手段に取込むステップと 、 それぞれのコード信号を前記拡張されたストリングに割り当てるステップと 未認識の圧縮コード信号の受信に応じて、前記先に回復されたストリングの各 データ文字信号で順に連続して繰返して前記未認識の圧縮コード信号に対応する ストリングが取込まれるまで拡張される前記先に受信した圧縮コード信号に対応 する前記先に回復されたストリングを有する更に拡張されるストリングを前記記 憶手段に更に取込むステップと、 それぞれのコード信号を前記更に拡張されたストリングに割り当てるステップ と、 前記データ文字信号を回復するために前記未認識の圧縮コード信号に対応する 前記ストリングのデータ文字信号を供給するステップとを具えたことを特徴とす るデータ解凍方法。 40.前記更に取込むステップが、前記先に回復されたストリングのデータ文字 信号によって、順に、更に拡張される前記未認識の圧縮コード信号に対応する前 記ストリングを有する追加の拡張されたストリングを、前記追加の拡張されたス トリングの数(その数は前記先に回復されたストリングを有するデータ文字信号 の数に等しい)が前記記憶手段に取込まれるまで、前記記憶手段に取込むステッ プを含み、それぞれのコード信号を前記追加の拡張されたストリングに割り当て るステップを含むことを特徴とする請求項39に記載の方法。 41.前記方法が連続するストリング回復サイクルで動作し、それぞれのストリ ングが前記連続するサイクルで回復され、現サイクルが先のサイクルに続き、 前記先に回復されたストリングが前記先のサイクルで回復され、前記先に受信 した圧縮コード信号が前記先のサイクルで受け取られ、 前記現在受信圧縮コード信号が前記現サイクルの間に受け取られ、 前記取込むステップが前記現サイクルの間に前記拡張されたストリングを前記 記憶手段に取込むステップを含むことを特徴とする請求項40に記載の方法。 42.前記未認識の圧縮コード信号が前記現サイクルの間に受け取られ、 前記更に取込むステップが前記更に拡張されたストリングと前記追加の拡張さ れたストリングを、前記現サイクルの間に、前記記憶手段に取込むステップを含 むことを特徴とする請求項41に記載の方法。 43.更に、それぞれ関連するコードを有する全ての単一文字ストリングで前記 記憶手段を初期化するステップを含むことを特徴とする請求項39に記載の方法 。 44.前記圧縮コード信号ストリームが、データ文字信号が受け取られると言う 表示に続く圧縮されない形のデータ文字信号を含み、 データ文字信号に対応する圧縮されない形の前記データ文字信号が、前記デー タ文字信号ストリームにおいて前記データ圧縮器により最初に遭遇され、 前記方法が、 圧縮されない形で受け取られる前記データ文字信号を前記記憶手段に単一文宇 ストリングとして取込むステップと、 圧縮されない形で受け取られる前記データ文字信号を出力するステップとをさ らに具えたことを特徴とする請求項39に記載の方法。 45.前記表示がゼロコードを含むことを特徴とする請求項44に記載の方法。 46.前記データ文宇信号ストリームが繰返し文字から成る繰返し文字ストリン グを含み、前記データ圧縮器が前記繰返し文字ストリングを2つの連続した圧縮 コード信号に圧縮し、 前記ストアするステップが前記ストリングをリンクした樹木構造で前記記憶手 段にストアするステップを含むことを特徴とする請求項42に記載の方法。 47.前記先に受信した圧縮コード信号が、前記連続する圧縮コード信号の第1 の信号を有し、前記未認識の圧縮コード信号が前記連続する圧縮コード信号の第 2の信号を有し、 前記先に回復されたストリングが前記繰返し文字を有し、前記未認識の圧縮コ ード信号に対応する前記ストリングが前記繰返し文字ストリングを有し、 前記先に回復されたストリングが前記樹木を辿るパスでストアされ、 前記取込むステップと前記更に取込むステップが前記更に拡張されたストリン グと前記追加の拡張されたストリングを前記パスで取込むことを特徴とする請求 項46に記載の方法。 48.前記データ文字信号ストリームが繰返し文字群から成る繰返し文字群スト リングを含み、前記データ圧縮器が前記繰返し文字群ストリングを2つの連続し た圧縮コード信号に圧縮し、 前記ストアするステップが前記ストリングをリンクされた樹木構造で前記記憶 手段にストアするステップを含むことを特徴とする請求項42に記載の方法。 49.前記先に受信した圧縮コード信号が、前記連続する圧縮コード信号の第1 の信号を有し、前記未認識の圧縮コード信号が前記連続する圧縮コード信号の第 2の信号を有し、 前記先に回復されたストリングが前記繰返し文字群を有し、前記未認識の圧縮 コード信号に対応する前記ストリングが前記繰返し文字群ストリングを有し、 前記先に回復されたストリングが前記樹木を辿るパスでストアされ、 前記取込むステップと前記更に取込むステップが前記更に拡張されたストリン グと前記追加の拡張されたストリングを前記パスで取込むステップを含むことを 特徴とする請求項48に記載の方法。 50.圧縮コード信号ストリームからデータ文字信号ストリームを回復するデー タ解凍方法において、 前記圧縮コード信号ストリームを受け取るステップと、 各ストリングがそれに関連するコード信号を有するデータ文字信号ストリング を記憶手段にストアするステップと、 前記記憶手段から現在受信圧縮コード信号に対応するストリングを回復し、そ のデータ文字信号を回復するために前記現在受信圧縮コード信号で前記記憶手段 にアクセスするステップと、 前記現在受信圧縮コード信号に対応する前記回復されたストリングの各データ 文字信号で順に拡張される先に受信した圧縮コード信号に対応する先に回復され たストリングを有する拡張されたストリングを前記記憶手段に取込むステップと 、 未認識の圧縮コード信号の受信に応じて更に拡張されるストリングを前記記憶 手段に更に取込むステップと、 それぞれのコード信号を前記拡張されたストリングに、および更に拡張された ストリングに割り当てるステップとを含み、 前記更に取込むステップが前記先に回復されたストリングに従って前記更に拡 張されるストリングを生成するステップを含み、データ文字信号の数は前記先に 回復されたストリングを有し、前記未認識の圧縮コード信号と前記コード信号は 前記更に拡張されたストリングに割り当てられ、前記更に拡張されたストリング の1つは前記未認識の圧縮コード信号に対応するストリングであり、 さらに、前記データ文字信号を回復するために前記未認識の圧縮コード信号に 対応する前記ストリングのデータ文字信号を供給するステップを具えたことを特 徴とするデータ解凍方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2309496P | 1996-07-24 | 1996-07-24 | |
US08/753,871 | 1996-12-03 | ||
US08/753,871 US5861827A (en) | 1996-07-24 | 1996-12-03 | Data compression and decompression system with immediate dictionary updating interleaved with string search |
US60/023,094 | 1996-12-03 | ||
PCT/US1997/012943 WO1998004045A1 (en) | 1996-07-24 | 1997-07-23 | Data compression and decompression system with immediate dictionary updating interleaved with string search |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000505968A true JP2000505968A (ja) | 2000-05-16 |
JP3298894B2 JP3298894B2 (ja) | 2002-07-08 |
Family
ID=26696720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50721498A Expired - Fee Related JP3298894B2 (ja) | 1996-07-24 | 1997-07-23 | 即時辞書更新がストリング探索とインターリーブされたデータ圧縮解凍システム |
Country Status (10)
Country | Link |
---|---|
US (2) | US5861827A (ja) |
EP (1) | EP0914718B1 (ja) |
JP (1) | JP3298894B2 (ja) |
KR (1) | KR100332709B1 (ja) |
CN (1) | CN1145264C (ja) |
AT (1) | ATE199997T1 (ja) |
AU (1) | AU718366B2 (ja) |
CA (1) | CA2260883C (ja) |
DE (1) | DE69704362T2 (ja) |
WO (1) | WO1998004045A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004530318A (ja) * | 2001-02-01 | 2004-09-30 | ビーティージー・インターナショナル・リミテッド | 高速データ圧縮を提供する装置 |
JP2011530234A (ja) * | 2008-07-31 | 2011-12-15 | マイクロソフト コーポレーション | 大規模なデータストレージのための効率的な列ベースデータの符号化 |
WO2014106782A1 (en) * | 2013-01-03 | 2014-07-10 | International Business Machines Corporation | High bandwidth compression to encoded data streams |
JP2016034158A (ja) * | 2015-12-07 | 2016-03-10 | 富士通株式会社 | 符号処理のためのプログラム及びデータ構造 |
Families Citing this family (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999949A (en) * | 1997-03-14 | 1999-12-07 | Crandall; Gary E. | Text file compression system utilizing word terminators |
JP3421700B2 (ja) | 1998-01-22 | 2003-06-30 | 富士通株式会社 | データ圧縮装置及び復元装置並びにその方法 |
US6757647B1 (en) * | 1998-07-30 | 2004-06-29 | International Business Machines Corporation | Method for encoding regular expressions in a lexigon |
JP3541930B2 (ja) * | 1998-08-13 | 2004-07-14 | 富士通株式会社 | 符号化装置及び復号化装置 |
US6456209B1 (en) * | 1998-12-01 | 2002-09-24 | Lucent Technologies Inc. | Method and apparatus for deriving a plurally parsable data compression dictionary |
US6166665A (en) | 1999-03-08 | 2000-12-26 | Unisys Corporation | Data compression method and apparatus with embedded run-length encoding |
US6137428A (en) * | 1999-04-27 | 2000-10-24 | Unisys Corporation | Data compression method and apparatus with embedded run-length encoding using mathematical run processing |
US6169499B1 (en) | 1999-06-19 | 2001-01-02 | Unisys Corporation | LZW data compression/decompression apparatus and method with embedded run-length encoding/decoding |
US6188333B1 (en) * | 1999-08-12 | 2001-02-13 | Unisys Corporation | LZW data compression apparatus and method using look-ahead mathematical run processing |
US6404362B1 (en) | 1999-09-21 | 2002-06-11 | Unisys Corporation | Method and apparatus for reducing the time required for decompressing compressed data |
US6535886B1 (en) * | 1999-10-18 | 2003-03-18 | Sony Corporation | Method to compress linguistic structures |
GB0001711D0 (en) * | 2000-01-25 | 2000-03-15 | Btg Int Ltd | Data compression having improved compression speed |
GB0001707D0 (en) | 2000-01-25 | 2000-03-15 | Btg Int Ltd | Data compression having more effective compression |
US6307488B1 (en) * | 2000-05-04 | 2001-10-23 | Unisys Corporation | LZW data compression and decompression apparatus and method using grouped data characters to reduce dictionary accesses |
GB2367917A (en) * | 2000-10-12 | 2002-04-17 | Qas Systems Ltd | Retrieving data representing a postal address from a database of postal addresses using a trie structure |
US6985965B2 (en) * | 2000-11-16 | 2006-01-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Static information knowledge used with binary compression methods |
AR042582A1 (es) * | 2000-11-16 | 2005-06-29 | Ericsson Telefon Ab L M | Sistema y metodo de comunicaciones que utilizan formas de comunicacion de peticion - repuesta para la compresion de los datos |
US6359574B1 (en) * | 2001-01-22 | 2002-03-19 | Proxell Systems Ltd. | Method for identifying longest common substrings |
US20020138654A1 (en) * | 2001-03-21 | 2002-09-26 | Zhigang Liu | Apparatus, and associated method, for facilitating deletion of dictionary content pursuant to communication of signaling protocol messages |
US20030088537A1 (en) * | 2001-08-08 | 2003-05-08 | Nec Eluminant Technologies, Inc. | High speed data compression and decompression apparatus and method |
US6653950B2 (en) * | 2001-09-13 | 2003-11-25 | Unisys Corporation | Data compression method and apparatus utilizing cascaded subdictionaries |
US20030084031A1 (en) * | 2001-10-31 | 2003-05-01 | Tarquini Richard P. | System and method for searching a signature set for a target signature |
FI114051B (fi) * | 2001-11-12 | 2004-07-30 | Nokia Corp | Menetelmä sanakirjatiedon kompressoimiseksi |
US6466144B1 (en) * | 2001-11-30 | 2002-10-15 | Unisys Corporation | Data decompressor for use with a data compressor implemented with limited length character tables and compact string codes |
US7370120B2 (en) * | 2001-12-07 | 2008-05-06 | Propel Software Corporation | Method and system for reducing network latency in data communication |
US6657564B2 (en) * | 2001-12-13 | 2003-12-02 | International Business Machines Corporation | Method and apparatus for compressing data in which dictionary sizes are reduced |
US6614368B1 (en) * | 2002-01-16 | 2003-09-02 | Unisys Corporation | Data compression method and apparatus utilizing cascaded character tables |
US6628211B1 (en) | 2002-03-19 | 2003-09-30 | Unisys Corporation | Prefix table implemented data compression method and apparatus |
KR100532275B1 (ko) * | 2002-12-11 | 2005-11-29 | 삼성전자주식회사 | 이미지 압축방법 |
GB2400291A (en) * | 2003-04-05 | 2004-10-06 | Autodesk Canada Inc | Image processing using switch nodes |
US6756923B1 (en) * | 2003-05-30 | 2004-06-29 | Unisys Corporation | Data compressor utilizing switched input coincidence elements arranged in virtual levels |
FR2867337B1 (fr) * | 2004-03-08 | 2006-05-12 | Medialive | Procede et systeme de distribution securisee de textes numeriques compresses |
US9171100B2 (en) * | 2004-09-22 | 2015-10-27 | Primo M. Pettovello | MTree an XPath multi-axis structure threaded index |
CN101095284B (zh) * | 2004-12-28 | 2012-04-18 | 卡西欧电子工业株式会社 | 用于有选择地压缩和解压缩数据的设备与方法 |
US8175889B1 (en) | 2005-04-06 | 2012-05-08 | Experian Information Solutions, Inc. | Systems and methods for tracking changes of address based on service disconnect/connect data |
US7908242B1 (en) | 2005-04-11 | 2011-03-15 | Experian Information Solutions, Inc. | Systems and methods for optimizing database queries |
US7102552B1 (en) * | 2005-06-07 | 2006-09-05 | Windspring, Inc. | Data compression with edit-in-place capability for compressed data |
US7167115B1 (en) | 2005-08-26 | 2007-01-23 | American Megatrends, Inc. | Method, apparatus, and computer-readable medium for data compression and decompression utilizing multiple dictionaries |
US7664742B2 (en) | 2005-11-14 | 2010-02-16 | Pettovello Primo M | Index data structure for a peer-to-peer network |
CN1928850B (zh) * | 2006-08-11 | 2011-04-13 | 白杰 | 基于数据字典的数据压缩方法、装置 |
US8005759B2 (en) | 2006-08-17 | 2011-08-23 | Experian Information Solutions, Inc. | System and method for providing a score for a used vehicle |
US7912865B2 (en) | 2006-09-26 | 2011-03-22 | Experian Marketing Solutions, Inc. | System and method for linking multiple entities in a business database |
US8036979B1 (en) | 2006-10-05 | 2011-10-11 | Experian Information Solutions, Inc. | System and method for generating a finance attribute from tradeline data |
US8606666B1 (en) | 2007-01-31 | 2013-12-10 | Experian Information Solutions, Inc. | System and method for providing an aggregation tool |
US8285656B1 (en) | 2007-03-30 | 2012-10-09 | Consumerinfo.Com, Inc. | Systems and methods for data verification |
WO2008127288A1 (en) | 2007-04-12 | 2008-10-23 | Experian Information Solutions, Inc. | Systems and methods for determining thin-file records and determining thin-file risk levels |
WO2008147918A2 (en) | 2007-05-25 | 2008-12-04 | Experian Information Solutions, Inc. | System and method for automated detection of never-pay data sets |
US8301574B2 (en) | 2007-09-17 | 2012-10-30 | Experian Marketing Solutions, Inc. | Multimedia engagement study |
US9690820B1 (en) | 2007-09-27 | 2017-06-27 | Experian Information Solutions, Inc. | Database system for triggering event notifications based on updates to database records |
US8078454B2 (en) * | 2007-09-28 | 2011-12-13 | Microsoft Corporation | Two-pass hash extraction of text strings |
US7612693B2 (en) * | 2008-02-27 | 2009-11-03 | Red Hal, Inc. | Difference coding adaptive context model |
US7538697B1 (en) * | 2008-02-27 | 2009-05-26 | Red Hat, Inc. | Heuristic modeling of adaptive compression escape sequence |
US7612692B2 (en) * | 2008-02-27 | 2009-11-03 | Red Hat, Inc. | Bidirectional context model for adaptive compression |
US7868788B2 (en) * | 2008-06-17 | 2011-01-11 | The Hong Kong University Of Science And Technology | System and method for encoding data based on a compression technique with security features |
US8312033B1 (en) | 2008-06-26 | 2012-11-13 | Experian Marketing Solutions, Inc. | Systems and methods for providing an integrated identifier |
US7991689B1 (en) | 2008-07-23 | 2011-08-02 | Experian Information Solutions, Inc. | Systems and methods for detecting bust out fraud using credit data |
US8549483B1 (en) | 2009-01-22 | 2013-10-01 | Intuit Inc. | Engine for scalable software testing |
US7868792B2 (en) * | 2009-02-05 | 2011-01-11 | Polytechnic Institute Of New York University | Generating a boundary hash-based hierarchical data structure associated with a plurality of known arbitrary-length bit strings and using the generated hierarchical data structure for detecting whether an arbitrary-length bit string input matches one of a plurality of known arbitrary-length bit springs |
US8212695B2 (en) * | 2009-02-05 | 2012-07-03 | Polytechnic Institute Of New York University | Generating a log-log hash-based hierarchical data structure associated with a plurality of known arbitrary-length bit strings used for detecting whether an arbitrary-length bit string input matches one of a plurality of known arbitrary-length bit strings |
US9160611B2 (en) * | 2009-04-22 | 2015-10-13 | Webroot Inc. | System and method for performing longest common prefix strings searches |
US7868789B1 (en) * | 2009-06-28 | 2011-01-11 | Sap Ag | Dictionary-based order-preserving string compression for main memory column stores |
US20100332292A1 (en) | 2009-06-30 | 2010-12-30 | Experian Information Solutions, Inc. | System and method for evaluating vehicle purchase loyalty |
US8364518B1 (en) | 2009-07-08 | 2013-01-29 | Experian Ltd. | Systems and methods for forecasting household economics |
US8631028B1 (en) | 2009-10-29 | 2014-01-14 | Primo M. Pettovello | XPath query processing improvements |
US8725613B1 (en) | 2010-04-27 | 2014-05-13 | Experian Information Solutions, Inc. | Systems and methods for early account score and notification |
US9152727B1 (en) | 2010-08-23 | 2015-10-06 | Experian Marketing Solutions, Inc. | Systems and methods for processing consumer information for targeted marketing applications |
US8639616B1 (en) | 2010-10-01 | 2014-01-28 | Experian Information Solutions, Inc. | Business to contact linkage system |
US9147042B1 (en) | 2010-11-22 | 2015-09-29 | Experian Information Solutions, Inc. | Systems and methods for data verification |
US9483606B1 (en) | 2011-07-08 | 2016-11-01 | Consumerinfo.Com, Inc. | Lifescore |
CN103827908A (zh) | 2011-07-12 | 2014-05-28 | 益百利信息解决方案公司 | 用于大规模信贷数据处理架构的系统和方法 |
US8538686B2 (en) * | 2011-09-09 | 2013-09-17 | Microsoft Corporation | Transport-dependent prediction of destinations |
US8665124B2 (en) * | 2011-10-01 | 2014-03-04 | Intel Corporation | Compression format for high bandwidth dictionary compression |
US9853959B1 (en) | 2012-05-07 | 2017-12-26 | Consumerinfo.Com, Inc. | Storage and maintenance of personal data |
JP6032292B2 (ja) * | 2012-12-19 | 2016-11-24 | 富士通株式会社 | 圧縮プログラム、圧縮装置、伸張プログラムおよび伸張装置 |
US9087070B2 (en) * | 2013-01-31 | 2015-07-21 | Yahoo! Inc. | System and method for applying an efficient data compression scheme to URL parameters |
US9697263B1 (en) | 2013-03-04 | 2017-07-04 | Experian Information Solutions, Inc. | Consumer data request fulfillment system |
CN103326732B (zh) * | 2013-05-10 | 2016-12-28 | 华为技术有限公司 | 压缩数据的方法、解压数据的方法、编码器和解码器 |
WO2015019484A1 (ja) * | 2013-08-09 | 2015-02-12 | 株式会社日立製作所 | データ圧縮装置およびデータ伸張装置 |
US10102536B1 (en) | 2013-11-15 | 2018-10-16 | Experian Information Solutions, Inc. | Micro-geographic aggregation system |
US9529851B1 (en) | 2013-12-02 | 2016-12-27 | Experian Information Solutions, Inc. | Server architecture for electronic data quality processing |
US10262362B1 (en) | 2014-02-14 | 2019-04-16 | Experian Information Solutions, Inc. | Automatic generation of code for attributes |
US9576030B1 (en) | 2014-05-07 | 2017-02-21 | Consumerinfo.Com, Inc. | Keeping up with the joneses |
US9300322B2 (en) * | 2014-06-20 | 2016-03-29 | Oracle International Corporation | Encoding of plain ASCII data streams |
US10445152B1 (en) | 2014-12-19 | 2019-10-15 | Experian Information Solutions, Inc. | Systems and methods for dynamic report generation based on automatic modeling of complex data structures |
CN105893337B (zh) * | 2015-01-04 | 2020-07-10 | 伊姆西Ip控股有限责任公司 | 用于文本压缩和解压缩的方法和设备 |
CN106375177A (zh) * | 2015-07-21 | 2017-02-01 | 中兴通讯股份有限公司 | 消息传输方法和装置 |
KR101723804B1 (ko) | 2015-09-11 | 2017-04-18 | 한국과학기술연구원 | 힘센서 및 이의 제조방법 |
WO2018039377A1 (en) | 2016-08-24 | 2018-03-01 | Experian Information Solutions, Inc. | Disambiguation and authentication of device users |
CN110383319B (zh) | 2017-01-31 | 2023-05-26 | 益百利信息解决方案公司 | 大规模异构数据摄取和用户解析 |
US10097201B1 (en) * | 2017-11-30 | 2018-10-09 | Intel Corporation | LZ77 compression of data with data runs |
US10963434B1 (en) | 2018-09-07 | 2021-03-30 | Experian Information Solutions, Inc. | Data architecture for supporting multiple search models |
CN109802685B (zh) * | 2019-01-30 | 2022-12-27 | 上海兆芯集成电路有限公司 | 加速压缩方法以及加速压缩装置 |
CN109921799B (zh) * | 2019-02-20 | 2023-03-31 | 重庆邮电大学 | 一种基于聚能量字典学习的张量压缩方法 |
US11139827B2 (en) | 2019-03-15 | 2021-10-05 | Samsung Electronics Co., Ltd. | Conditional transcoding for encoded data |
TWI825305B (zh) * | 2019-04-16 | 2023-12-11 | 南韓商三星電子股份有限公司 | 轉換編碼器及進行轉換編碼的方法及製品 |
US11941065B1 (en) | 2019-09-13 | 2024-03-26 | Experian Information Solutions, Inc. | Single identifier platform for storing entity data |
KR102149778B1 (ko) | 2019-11-28 | 2020-09-01 | 김승식 | 관절 테이핑 보호대 및 그 제조방법 |
US11366735B2 (en) | 2020-08-20 | 2022-06-21 | Bank Of America Corporation | Dynamic data storage management |
US11880377B1 (en) | 2021-03-26 | 2024-01-23 | Experian Information Solutions, Inc. | Systems and methods for entity resolution |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814746A (en) * | 1983-06-01 | 1989-03-21 | International Business Machines Corporation | Data compression method |
US4558302A (en) * | 1983-06-20 | 1985-12-10 | Sperry Corporation | High speed data compression and decompression apparatus and method |
US4876541A (en) * | 1987-10-15 | 1989-10-24 | Data Compression Corporation | Stem for dynamically compressing and decompressing electronic data |
GB8815978D0 (en) * | 1988-07-05 | 1988-08-10 | British Telecomm | Method & apparatus for encoding decoding & transmitting data in compressed form |
GB8828796D0 (en) * | 1988-12-09 | 1989-01-18 | British Telecomm | Data compression |
US5389922A (en) * | 1993-04-13 | 1995-02-14 | Hewlett-Packard Company | Compression using small dictionaries with applications to network packets |
-
1996
- 1996-12-03 US US08/753,871 patent/US5861827A/en not_active Expired - Lifetime
-
1997
- 1997-07-23 AT AT97934278T patent/ATE199997T1/de not_active IP Right Cessation
- 1997-07-23 EP EP97934278A patent/EP0914718B1/en not_active Expired - Lifetime
- 1997-07-23 AU AU37378/97A patent/AU718366B2/en not_active Ceased
- 1997-07-23 DE DE69704362T patent/DE69704362T2/de not_active Expired - Fee Related
- 1997-07-23 CN CNB971974551A patent/CN1145264C/zh not_active Expired - Fee Related
- 1997-07-23 CA CA002260883A patent/CA2260883C/en not_active Expired - Fee Related
- 1997-07-23 KR KR1019997000596A patent/KR100332709B1/ko not_active IP Right Cessation
- 1997-07-23 WO PCT/US1997/012943 patent/WO1998004045A1/en active IP Right Grant
- 1997-07-23 JP JP50721498A patent/JP3298894B2/ja not_active Expired - Fee Related
-
1998
- 1998-12-30 US US09/223,352 patent/US6121901A/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004530318A (ja) * | 2001-02-01 | 2004-09-30 | ビーティージー・インターナショナル・リミテッド | 高速データ圧縮を提供する装置 |
JP2011530234A (ja) * | 2008-07-31 | 2011-12-15 | マイクロソフト コーポレーション | 大規模なデータストレージのための効率的な列ベースデータの符号化 |
WO2014106782A1 (en) * | 2013-01-03 | 2014-07-10 | International Business Machines Corporation | High bandwidth compression to encoded data streams |
GB2521082A (en) * | 2013-01-03 | 2015-06-10 | Ibm | High bandwidth compression to encoded data streams |
JP2016506197A (ja) * | 2013-01-03 | 2016-02-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 多バイト・フレームのパイプライン化圧縮のための方法、符号化データ・ストリームへの高帯域圧縮のための装置、およびコンピュータ・プログラム製品 |
JP2016034158A (ja) * | 2015-12-07 | 2016-03-10 | 富士通株式会社 | 符号処理のためのプログラム及びデータ構造 |
Also Published As
Publication number | Publication date |
---|---|
KR100332709B1 (ko) | 2002-04-15 |
DE69704362D1 (de) | 2001-04-26 |
DE69704362T2 (de) | 2001-08-09 |
CN1145264C (zh) | 2004-04-07 |
EP0914718A1 (en) | 1999-05-12 |
CN1228887A (zh) | 1999-09-15 |
AU718366B2 (en) | 2000-04-13 |
AU3737897A (en) | 1998-02-10 |
KR20000068018A (ko) | 2000-11-25 |
EP0914718B1 (en) | 2001-03-21 |
US6121901A (en) | 2000-09-19 |
CA2260883A1 (en) | 1998-01-29 |
CA2260883C (en) | 2002-06-04 |
US5861827A (en) | 1999-01-19 |
JP3298894B2 (ja) | 2002-07-08 |
ATE199997T1 (de) | 2001-04-15 |
WO1998004045A1 (en) | 1998-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000505968A (ja) | 即時辞書更新がストリング探索とインターリーブされたデータ圧縮解凍システム | |
US5229768A (en) | Adaptive data compression system | |
JP3913004B2 (ja) | データ圧縮方法及び装置及びコンピュータプログラム及び記憶媒体 | |
US6307488B1 (en) | LZW data compression and decompression apparatus and method using grouped data characters to reduce dictionary accesses | |
JP4156381B2 (ja) | 文字テーブルによって実施されるデータ圧縮の方法および装置 | |
JP3983674B2 (ja) | 動的に変更可能なまれに出会う列の組込みフィルタリングを有するデータ圧縮伸長の方法および装置 | |
JP2003507920A (ja) | ルックアヘッド数学的ラン処理を使用するlzwデータ圧縮装置および方法 | |
KR960024895A (ko) | 데이타 압축해제 방법, 데이타 압축 방법 및 메모리의 양을 감소시키는 방법 | |
RU2190295C2 (ru) | Система уплотнения и разуплотнения данных с непосредственным обновлением каталога, которое чередуют с поиском строк | |
JPH0764765A (ja) | データ圧縮装置及びデータ復元装置 | |
US6628211B1 (en) | Prefix table implemented data compression method and apparatus | |
JP3242795B2 (ja) | データ処理装置及びデータ処理方法 | |
JP3653226B2 (ja) | 埋込みランレングス符号化によるデータ圧縮方法および装置 | |
JPH07152533A (ja) | データ圧縮装置 | |
US6724330B1 (en) | Prefix table implemented data compression method and apparatus utilizing string code reassignment | |
JP3202488B2 (ja) | データ符号化及び復号化方式 | |
US6608570B1 (en) | Matrix implemented data compression apparatus and method | |
Klein et al. | Parallel Lempel Ziv Coding | |
JP2765239B2 (ja) | 適応的データ圧縮方式 | |
JP2699965B2 (ja) | データ圧縮方式及びデータ復元方式 | |
JP2003152548A (ja) | データ圧縮における文字列検索方法 | |
JP3054183B2 (ja) | データ圧縮装置の辞書書き替え方式 | |
Landau et al. | Parallel Lempel Ziv Coding | |
Tomi Klein et al. | Parallel Lempel Ziv Coding | |
JPH04299411A (ja) | ファイル圧縮装置およびファイル伸張装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080419 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090419 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |