JPH11511306A - 大ギャップを有するスライド窓データ圧縮システム - Google Patents

大ギャップを有するスライド窓データ圧縮システム

Info

Publication number
JPH11511306A
JPH11511306A JP9507908A JP50790897A JPH11511306A JP H11511306 A JPH11511306 A JP H11511306A JP 9507908 A JP9507908 A JP 9507908A JP 50790897 A JP50790897 A JP 50790897A JP H11511306 A JPH11511306 A JP H11511306A
Authority
JP
Japan
Prior art keywords
match
data
symbol
compression system
symbols
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
Application number
JP9507908A
Other languages
English (en)
Other versions
JP4057650B2 (ja
Inventor
エイ オーズリー、パトリツク
ジユニア ベーカー、ケネス
エイ フレンチ、キヤサリン
シー ツワイグル、グレツグ
Original Assignee
アドヴアンスド ハードウエア アーキテクチヤーズ インコーポレーテツド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アドヴアンスド ハードウエア アーキテクチヤーズ インコーポレーテツド filed Critical アドヴアンスド ハードウエア アーキテクチヤーズ インコーポレーテツド
Publication of JPH11511306A publication Critical patent/JPH11511306A/ja
Application granted granted Critical
Publication of JP4057650B2 publication Critical patent/JP4057650B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/417Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
    • H04N1/4175Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding involving the encoding of tone transitions with respect to tone transitions in a reference line
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3086Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 大ギャップを有するスライド窓データ圧縮システムはインプリメントが簡単であり、また広範囲なバイレベルイメージにわたって良好な圧縮結果を与える。非常に小さい窓サイズを有するスライド窓圧縮器は、少なくともデータシンボルの1つの走査線を保持するのに十分に大きい記憶バッファと共に利用される。到来するデータシンボルと1つの特定のプログラム可能な位置に記憶されているシンボルとの間の合致をチェックする回路が記憶バッファと結び付けられている。このプログラム可能な位置は、好ましくは、正確に1つの走査線長さだけ離れている。合致位置は小さい窓の範囲内にあるか、もしくは特定のプログラム可能な位置に正確に等しい。圧縮器全体が大ギャップを有するスライド窓(SWBG)として見られ得る。このスライド窓は走査線の長さに相当する長さであり、後続の大ギャップを有する小さい窓と、その後の走査線の端における1つの特定のプログラム可能な位置とから成っている。

Description

【発明の詳細な説明】 大ギャップを有するスライド窓データ圧縮システム発明の分野 本発明はデータ圧縮およびデータ復元の分野に関する。一層詳細には、本発明 は、適応性かつ無損失のスキームを使用してデータを圧縮し、またバイレベルの イメージデータで良好に働くデータ圧縮器に関する。発明の背景 データ圧縮の目的は、圧縮されるデータに対して必要とされる伝送時間および 記憶空間を減ずることである。データ圧縮はテキストデータおよびイメージデー タを含む種々のデータ形式で有用である。多くの圧縮スキームがテキストデータ およびイメージデータの双方に対して開発されてきた。Witten、Moff atおよびBell著の図書Managing GigabytesおよびSt orer編の図書Image and text Compressionはこ のような圧縮スキームを記述している。 データ圧縮器の効率は、圧縮されないキャラクタの数を圧縮されるキャラクタ の数により除算することにより計算される圧縮比と呼ぼれる量により測られる。 圧縮比が高いほど、圧縮されるデータの密度は大きい。圧縮比が2であるという ことは圧縮後のキャラクタの数が圧縮前のキャラクタの数の半分であることを意 味する。 データ圧縮器の他の重要な特性は、いかに正確復元器(decompress or)からの出力が元の入力に合致するかである。圧縮方法は2つの分類、無損 失および有損失、に分けられ得る。無損失の方法は圧縮されたデータからの元の データの正確な再構成を許す。無損失の方法はテキスト圧縮への応用またはデー タがその元の条件に完全に復元されることが不可欠である他の応用に最も適切で ある。有損失の方法は圧縮および復元の間に多少の誤りが生起することを許す。 圧縮および復元の方法のこれらの形式は、ディジタルにサンプルされるアナログ データのような、良好な近似で十分であるところに使用されている。 辞書ベースの圧縮スキームは、テキスト圧縮に対して広く普及している。これ らの無損失の圧縮システムでは、到来するデータが将来のデータを圧縮するのに 使用される辞書を作るのに使用される。詳細には、スライド辞書またはスライド 窓圧縮器は最後のNのテキストシンボルを辞書として使用する。これは、新しい シンボルが到来するごとに圧縮辞書を更新するので、適応性のスキームである。 データは到来するシンボルと辞書の内容との間の合致を探索することによりコー ド化される。もし合致が見い出されないならば、到来するシンボルは“生”でま たはそのままで送られる。もし到来するシンボルのストリングと、最初のバイト が入力される時にその最初のバイトを窓のなかに有するストリングとの間に、合 致が見い出されるならば、個々のシンボルを送る代わりにコード対が送られる。 コード対は到来するデータに対して相対的な合致の窓のなかの位置と、合致する ストリングの長さとから成っている。圧縮はこのようなシステムのなかで、コー ド対を表すのに必要とされるビットの数が個々のシンボルを表すのに必要とされ るビットの数よりも小さい時に達成される。スライド窓圧縮器に対する1つの実 施例は“シストロリック‐ストリング合致論理による適応性データ圧縮システム ”という名称の1994年6月13日付けの米国特許出願第08/259,76 0号明細書に開示されており、その内容を参照によりここに組み入れたものとす る。 スライド窓テキスト圧縮器は、シンボルのいくつかのストリングは反復的に生 起し、またシンボルはそれらの隣のシンボルに似ているという仮定に頼っている 。このことはテキストファイルの場合にしばしば真であるので、この形式の圧縮 器はこのようなファイルを圧縮するのにかなり有効に使用され得る。他方におい て、この仮定はグレイスケールまたはカラーイメージのようないくつかのイメー ジデータに対しては良好な仮定ではない。この形式の応用では、イメージの隣接 領域は類似して(たとえばグレイの少し異なる濃淡で)現れるが、正確に同一に は現れない。辞書ベースの圧縮器は上記のようにシンボルの間の正確な合致を必 要とし、またこのようなイメージでは良好に働かないであろう。この形式のイメ ージデータに対する一層有効なアプローチは、Gregory Wallace による論文“JPEG静止画像圧縮標準”、ACM通信、1991年4月に記載 され ているJPEG標準のような有損失のスキームの部類の1つ、またはRice、 YehおよびMillerによる“非常に高い速度の汎用の無損失のコード化モ ジュールに対するアルゴリズム”、JPL出版物91−1に記載されているRi ceアルゴリズムのような差動的コード化を行う無損失の圧縮アルゴリズムを使 用することである。 ファクシミリまたは計算機プリンタ文書に含まれているバイレベルまたは白黒 イメージのようないくつかの形式のイメージデータは、スライド窓または他の辞 書ベースの圧縮器を使用して効果的に圧縮される。これらのイメージはたいてい 画素あたり1つのビット、たとえぼ黒もしくは白、を使用して表されるので、単 一の画素を表すのに1つよりも多いビットが使用されるグレイスケールまたはカ ラーイメージの場合にくらべて、ストリングの間の正確な合致がはるかに得られ やすい。バイレベルの二次元データの圧縮を最大にするのには、水平方向および 垂直方向の双方のデータ相関を考慮に入れる必要がある。両相関はスライド窓を 少なくとも1つの走査線を含むのに十分に大きくすることにより検出され得る。 しかし、1つの走査線は、もし走査またはプリント密度が非常に高いならば、多 数のシンボルを含み得る。この大きい窓サイズはスライド窓圧縮器の実現を複雑 にする。 多くのより簡単な圧縮器がバイレベルデータに対して開発されてきた。この応 用に対する明白な選択は、ランレングス圧縮コードである。ランレングスコード の基礎となっているアイデアは、一般に可変長さのコードを使用して0および1 のランがランの長さによってコード化されていることである。ランはビットごと もしくはバイトごとであってよい。たとえば、Witten、Moffatおよ びBell著の図書Managing Gigabytesに記載されているよ うなファクシミリ伝送用のCCITTグループ3およびグループ4標準は、到来 するデータと以前の走査線との比較も組み入れるランレングスコード化スキーム を規定している。これらの形式のスキームは一般に最も簡単なデータに非常に良 好に適しており、他方においてスライド窓圧縮器は、単なる1および0のランよ りも複雑なパターンを考慮に入れるので、一層複雑なバイレベルのデータに一層 良好に適している。ランレングスコーダはスライド窓圧縮器のサブセットである とみなされ得る。なぜならば、スライド窓圧縮器は以前に圧縮されたシンボルと の合致を許すことによりランを考慮に入れるからである。こうして、0および1 のランが圧縮されるだけでなく、他のバイトパターンのランも圧縮される。 バイレベルイメージ圧縮に対して、必要とされることは、簡単にインプリメン トし得ると共に一層複雑なイメージの場合にも良好な圧縮結果を達成し得る圧縮 スキームである。本発明の概要 大ギャップを有するスライド窓データ圧縮システムはインプリメントが簡単で あり、また広範囲なバイレベルイメージにわたって良好な圧縮結果を与える。非 常に小さい窓サイズを有するスライド窓圧縮器は、少なくともデータシンボルの 1つの走査線を保持するのに十分に大きい記憶バッファと共に利用される。到来 するデータシンボルと1つの特定のプログラム可能な位置に記憶されているシン ボルとの間の合致をチェックする回路が記憶バッファと結び付けられている。こ のプログラム可能な位置は、好ましくは、正確に1つの走査線長さだけ離れてい る。合致位置は小さい窓の範囲内にあるか、もしくは特定のプログラム可能な位 置に正確に等しい。圧縮器全体が大ギャップを有するスライド窓(SWBG)と して見られ得る。このスライド窓は走査線の長さに相当する長さであり、後続の 大ギャップを有する小さい窓と、その後の走査線の端における1つの特定のプロ グラム可能な位置とから成っている。図面の簡単な説明 図1は本発明による大ギャップを有するスライド窓(SWBG)圧縮器の概要 ブロック図を示す。 図2aは大ギャップを有するスライド窓の概念図を示す。 図2bはスライド窓の二次元の解釈を示す。 図3aは本発明の小さいスライド窓に対して利用されるMバイトCAMの概要 ブロック図を示す。 図3bはMバイトCAMのなかに使用されるストリング合致モジュールの概要 ブロック図を示す。 図3cはMバイトCAMのなかのストリング合致モジュールの作動を制御する 状態遷移図を示す。 図3dはCAM書込みアドレスおよび書込みイネーブル信号を発生するのに使 用される論理回路の概要ブロック図を示す。 図3eはCAM合致アドレスを発生するのに使用される論理回路の概要ブロッ ク図を示す。 図4aは合致選択モジュールの概要ブロック図を示す。 図4bは合致選択状態機械の作動を制御する状態遷移図を示す。 図4cはポストコード‐エンコーダの論理回路の概要ブロック図を示す。 図5は本発明の復元器の概要ブロック図を示す。好ましい実施例の詳細な説明 本発明は、大ギャップを有するスライド窓(SWBG)圧縮器として知られて いるハードウェア適応性データ圧縮システムである。SWBG圧縮器のブロック 図が図1に示されている。圧縮されるべき到来するシンボルCHARIN101 を運ぶデータバスは、Mバイトの内容アドレスメモリ(CAM)スライド窓圧縮 器103および走査線バッファ105に接続されている。プログラム可能走査線 値S信号線119も走査線バッファ105に入力として接続されている。Mバイ トのCAMベースのスライド窓圧縮器103は4つの出力を有する。CAM合致 信号線GMAT107、CAM合致アドレスバスCADD109、書込みアドレ スバスWADD111および現在バイトデータバスBO113の4つである。す べての出力107、109、101および113は、合致選択モジュール115 に入力として接続されている。走査線バッファ105は2つの出力を有する。す なわち、最後の辞書リセット以後に1つの走査線全体が入力されていたどうかを 指示する信号線VALID123、および到来するシンボルから正確に1走査線 長さだけ離れているメモリ位置において走査線バッファのなかに記憶されている シンボルを伝送するデータバスBS121である。走査線バッファ105からの 出力121および123の双方も、合致選択モジュール115に入力として接続 されている。合致選択モジュール115は、走査線およびCAM合致の双方が生 起している時に、走査線を出力するかCAM合致を出力するかを決定する。合致 選択モジュール115の出力は、走査線合致信号線SM411、CAM合致信号 線CM409および生データ信号線RD429を含んでおり、これらの信号線は 可変長さのポストコード‐エンコーダ127に入力として接続されており、この エンコーダ127は圧縮されたデータを次々と信号線129を経て記憶システム に出力する。 図1中に示されているように、データバス101を経て到来する圧縮されるべ きシンボルまたはバイトCHARINは、2つの並列な経路を通る。第1の経路 はMバイトのCAMベースのスライド窓圧縮器103を通る経路であり、そこで スライド窓のなかに含まれている以前のシンボルとの比較が行われる。圧縮器1 03は適切な形式のスライド窓圧縮器を使用して実現され得る。好ましくは、圧 縮器103は前記の米国特許出願第08/259,760号明細書に記載されて いる形式のものである。この圧縮器103の作動は後で詳細に説明される。好ま しい実施例では、CAMベースのスライド窓圧縮器の窓サイズMは16に等しい 。スライド窓圧縮器103は、到来するシンボルをCAM103のなかに記憶さ れているシンボルと比較し、また適切な情報を合致選択モジュール115に出力 する。 圧縮されるべきシンボルまたはバイトCHARINが通る第2の経路は、走査 線バッファ105を通る経路である。走査線バッファ105は先ず到来するシン ボルをその後の検索のための次に利用可能なメモリ位置に記憶する。プログラム 可能な走査線値Sは走査線のバイト長さに等しい。好ましくは、走査線バッファ 105は2048バイトを記憶し得る。この実施例では、走査線長さ値Sは1か ら2047までの範囲内の任意の数であり得るので、走査線長さ値Sを特定する のに11ビットが必要とされる。 走査線長さ値Sを使用して、走査線バッファ105はデータバス121上にシ ンボルBSを出力する。シンボルBSは到来するシンボルから正確に走査線長さ値 Sシンボルだけ離れて走査線バッファのなかに記憶されているシンボルである。 走査線バッファ105も、最後の辞書リセット以後に少なくともS値が走査線バ ッファのなかに入力されていることを合致選択モジュール115に報知する信号 を信号線VALID123上に出力する。従って、信号線VALID123上の 信号は、データバス121上の値BSが正当であることを合致選択モジュール1 15に報知する。 CAMベースのスライド窓圧縮器103および走査線バッファ105からの情 報を使用して、合致選択モジュール115は、もし1つよりも多い合致が生起し ているならば、どの合致を選ぶかを決定し、または、もし合致が生起していない ならば、生バイトを決定する。可変長さのポストコード‐エンコーダ127は、 合致の長さを決定するのに合致選択モジュール115からの信号を使用し、また 次いで走査線合致、CAM合致または生バイトを可変ビット長さのコード語にエ ンコードする。可変長さのコード語は次いで連結され、バイトに分けられ、また 出力信号線129を経て記憶または伝送システムに送られる。 CAMベースのスライド窓圧縮器103および走査線バッファ105は、概念 的に図2aに示されているような大ギャップを有するスライド窓として考察され 得る。図2aは本発明の概念を示す目的でのみ示されており、本発明の実際的な インプリメントを示すものではない。図2aに示されているスライド窓はS+1 のセル201を含んでいる。0ないしM−1の番号を付けられている右側のMの セルは、スライド窓圧縮器103のスライド窓を表し、ここに、いま到来中のバ イトを含めて、データストリームのなかの到来するシンボルの最後のMバイトが 記憶される。到来しているバイトを記憶するセル0を例外として、これらのセル の各々のなかで、到来しているバイトとこのスライド窓のなかに記憶されている バイトとの間の合致がチェックされる。 ギャップ部分203が最初のMセルに続く。ギャップ部分203のなかのセル は記憶のために使用されるが、到来しているバイトとの合致はチェックされない 。このギァップのなかにS+1−Mのセルが存在する。ギャップ部分203は、 到来するデータのバイトが記憶される走査線バッフアを表す。最後のセル205 はシンボルBSを表し、また正確に1つの走査線長さSだけ現在到来しているバ イトから離れているバイトを含んでいる。合致はこのセルのなかで、以下に説明 されるように、合致選択モジュール115によりチェックされる。 走査線長さSの値がプログラム可能であれば、図2aのスライド窓はギャップ を有する可変長さのスライド窓である。図2aの図示は、新しいバイトが入るた びにセル205のなかに記憶されているバイトが窓から外へシフトして、到来す るバイトが窓の右側にシフトされ、また先に記憶されたバイトが左にシフトする ことを示唆している。本発明の実際の実施例では、スライド窓は固定して保持さ れているデータと移動している書込みアドレスポインタおよび状態情報を有する 循環するキューである。 本発明のスライド窓の第2の概念的な表し方が図2bに示されている。この図 面も本発明の概念を示す目的でのみ示されており、本発明の実際的な実施を示す ものではない。図2bには、スライド窓211の位置が圧縮されている現在の走 査線213および以前に圧縮された走査線215に関して示されている。到来す るデータバイトから正確に走査線長さだけ離れているセル217は到来するデー タバイトを記憶するセル219の上に置かれて示されている。 スライド窓圧縮器103は、図3a中に示されているように、必要な制御回路 を有するストリング合致モジュール(SMM)301の連鎖から成っている。現 在の入力シンボルは、書込みイネーブル信号線WREN(j)321をイネーブ ルすることにより、SMM(j)301としてシンボル化されて、現在のストリ ング合致モジュールに書かれる。後続のクロックサイクルで、次の入力がアレイ SMM(j+1)のなかで次のストリング合致モジュールに書かれる。 jの値は0で開始し、またクロックサイクルごとに最大1回ずつ1だけインク リメントされる。データはアレイのなかで固定されているが、状態情報は状態信 号線ST(j)上の隣接するSMMの間をシフトされている。状態信号線ST( j)は、合致が生起していないこと、SMM301が合致の開始点にあることも しくはSMM301が合致の中央にあることを指示する。 単一のグローバル合致(GMAT)信号107は、いずれかのSMM301が 合致の中央にある時を指示するのに使用される。信号線GMAT107はSMM の各々への入力である。信号線GMAT107は2つの機能を有する。グローバ ル合致信号GMAT107は、CAMが少なくとも2つのキャラクタの合致する ストリングを検出していることを表示する。第2に、グローバル合致信号GMA T107は、最長の合致するストリングのみが報告されることを保証するメカニ ズムを提供する。グローバル合致信号GMAT107は、後で説明されるSMM 301モジュールの内側で状態機械363を制御することにより第2のメカニズ ムを提供する。グローバル合致信号GMAT107は、ストリング合致信号線S TRMAT(j)307のいずれかが能動的であり、また信号ENABLE13 0が能動的である時に、ORゲート309およびANDゲート310により能動 化される。信号線ENABLE130は一層良好な圧縮のための好ましい実施例 で使用されており、また合致選択モジュール115と共に説明されている。 各SMM301は近‐合致‐イネーブル信号NMEN(j)を有する。近‐合 致‐イネーブル信号NMEN(j)は、最も長い現在のストリング合致を報告す るSMMのどれがキューのヘッドに最も近いかを決定するべく、SMMの間に連 鎖されている。キューのヘッドは、現在の入力シンボルが書込まれた、書込みイ ネーブル信号線WEEN321が能動的であるアレイのなかのSMM301であ るとみなされている。 各SMM301は最近‐ワード‐合致信号NWMAT(j)323をも有する 。各クロックサイクルの間にただ1つの最近‐ワード‐合致信号NWMAT(j )323が仮定され、能動的な書込みイネーブル信号WREN(j)に最も近い 最長の現在のストリング合致の最後のシンボルを含んでいるSMM301の位置 を表示する。 ストリング合致モジュールの構造は図3bに示されている。各SMM301は CAMワード361、ストリング合致状態機械363およびアドレス論理モジュ ール365から成っている。 各CAMワード361は、そのSMM301に対する書込みイネーブル信号線 WREN321が能動的である時に、入力バスCHARIN101からの1バイ トのシンボルを記憶する。書込みイネーブル信号線WREN321が不能動的で あり、またCAMワード361が書かれていない時には、キューのヘッドに現在 書かれている入力シンボルが探索されている。キャラクタ合致信号線CHMAT 367は、CAMワード361の内容が入力バスCHARIN101上のシンボ ルと合致する時、CAMワード361により仮定されている。このキャラクタ合 致信号は次いでストリング合致状態機械(SMSM)363に通される。キャラ クタ合致信号線CHMAT367は、書込みイネーブル信号線321がSMM3 01のなかで能動的である時、ディスエーブルされている。 SMSM363の機能は、最後のシンボルが現在のSMM301の結び付けら れているCAMワード361のなかに存在しているバッファストリングの状態を 追跡することである。各SMM301は、バッファストリングが現在の入力スト リングと合致しない、合致の開始である、または合致の中央であることを仮定す る信号線の対STOUT369を有する。この信号線の対STOUT369は、 信号線STIN371の対としてアレイのなかの次のSMSM363に連結され ている。この状態情報は、新しいキャラクタが入力バスCHARIN101から 入力されるつど一回、SMSMの間をシフトされる。状態情報はイネーブル信号 WREN321と同一の方向に通される。 各SMM301は、SMSM363とアドレス論理モジュール365との間に 連結されているストリング合致信号線STRMAT307を含んでいる。信号線 STRMAT307は、バッフアストリングが少なくとも現在の入力ストリング の最後の2つのキャラクタと合致する、たとえば合致の中央にある時、SMSM 363により仮定されている。状態情報は、新しい入力シンボルが受け入れられ た各クロックサイクルで、能動的な書込みイネーブル信号WREN321の方向 に、右にシフトされる。 アドレス論理モジュール(ALM)365は、近‐ワード‐合致信号線NWM AT323および近‐合致‐イネーブル‐出力信号線NMENOUT373を出 力するモジュールである。ALM365は、SMM301のなかの合致が能動的 書込みイネーブル信号線WREN321に最も近いか否かを決定する組み合わせ 論理ブロックである。これは、多重ストリング合致が生起する時に必要とされる 。ALM365は、SMM301が本当に最も近い合致である時に、近‐ワード ‐合致信号線NWMAT323を仮定する。信号線NWMAT323は、現在の SMM301のなかの信号線STRMAT307と隣のSMMから入力されてい る信号線NMENIN375のなかの近‐合致‐イネーブルとから導き出される 。信号線NMENIN375のなかの近‐合致‐イネーブルが能動的である時、 現 在のSMM301とキューのヘッドとの間に能動的なSTRMAT信号を含んで いるSMMは存在しない。従って、近‐ワード‐合致信号線NWMAT323は 、現在のSMM301が、現在の入力ストリングと合致する最も長いバッフアス トリングの最も新しい段階の最後のシンボルを含んでいることを仮定する。もし 信号線NMENIN375が能動的であり、また信号線STRMAT307も能 動的であれば、現在のSMM301は最も近い合致を含んでいる。もし信号線N MENIN375が不能動的であれば、最も近い合致は以前の能動的書込みイネ ーブル信号線WREN321により近い。ALM365も隣のSMMに対する信 号NMENIN375である出力信号NMENOUT373を生ずる。信号線N WMAT323およびNMENOUT373の基本的機能は下式により与えられ ている。 近‐合致‐イネーブル信号NMENOUT373およびNMENNIN375 は、書込みイネーブル信号WREN321の運動と反対の方向に通される。 ストリング合致状態機械(SMSM)363に対する状態遷移図が図3cに示 されている。SMSM363は、その出力、ストリング合致信号線STRMAT 307、が単に以前のSMM301の現在の状態の関数であり、また以前のSM M301へのどの入力にも複合的に関係しない点で、Mooreスタイル状態機 械に似ている。このことは本発明のような応用において、より大きいクロック速 度を許すという利点を有する。 通常の状態機械と異なり、現在の状態変数が次の状態論理に入力としてフィー ドバックされず、それらはアレイのなかの隣のSMM301のSMSM363に シフトされる。従って、SMSMモジュール363は同期論理アレイ要素として 考えられ得る。ここに存在するSMSM機能およびグローバル合致プロトコルが 、入力データがバッフアのなかで物理的にシフトし、またSMSM状態情報が固 定にとどまるWhitingスタイル圧縮アーキテクチュアのクロックレート改 善をも可能にすることは特記されるべきである。こうして、Whitingスタ イル‐アーキテクチュアのなかで、SMSMは通常のMooreスタイル状態機 械 として現れる。 SMSMの速い初期化を容易にするため、辞書のリセット時に、すべてのSM SMはリセット状態R381に強制的に入れられる。リセット状態R381は、 バッフアワードがまだ書かれておらず、従ってまたSMSM363がグローバル 合致信号GMAT107を仮定し得ないことを意味する。CAMワード361は 空であるとみなされており、また合致はリセット状態R381の間は生起し得な い。SMSM363は、SMMが書かれているCAMワード361の後でのみリ セット状態R381を去る。書込みイネーブル信号線WREN321が所与のバ ッフアワードに対して仮定されている時、そのSMSM363は状態X383に 達し、また合致ストリングを捜し始める。最後のモジュール(モジュールn−1 )のリセット状態が最初のモジュール(モジュール0)に通されるのを阻止する べく、簡単な論理回路が使用されている。この回路は、もしモジュールn−1が リセット状態R381にあるならば、Xの状態を常に通す。 SMSM363は、CAMワード361の内容が現在の入力ストリングと合致 しないか、合致の開始にあるか、または少なくとも現在の入力ストリングの最後 の2つのキャラクタと合致する合致ストリングのなかにあるかを決定する。SM SM363がリセット状態R381から状態X383へ移動し終わっている時、 このことは、システムが圧縮すべきデータの受信を開始しているが、SMM30 1に対するCAMワード361のなかに記憶されているワードがキューのヘッド に記憶されている現在の入力シンボルと合致しないことを意味する。信号線CH MAT367が能動化されて、CAMワード361のなかに記憶されているワー ドがキューのヘッドに記憶されている現在の入力シンボルと合致しないことを信 号する時、SMSM363は状態Y385に移動して、最後の入力シンボルのみ が合致されたことを表示する。 もしSMSM363が既に状態Y385にあるならば、第2の合致キャラクタ がSMSM363を状態Y385から状態Z387へ移動する。状態Z387は 、現在のSMM301が最大の知られている長さの圧縮可能な合致ストリングを 検出し終わっていることを表す。ここで信号線STRMAT307は、そのSM SM363が、信号線GMAT107を能動化する状態Z387へ移動し終わっ て いるSMM301に対して能動化されている。最長の合致の1つよりも多い場合 が生起し得るので、1つよりも多いSMM301が信号線STRMAT307を 仮定し、また同一のクロックサイクルのなかで状態Z387へ移動し、現在の最 長の合致ストリングの多重の場合が検出されていることを表示する。 ストリング合致状態機械SMSM363は状態Yへ、また次いで状態Zへ遷移 しなければならないので、グローバル合致信号GMAT107は合致の第2のバ イトまで能動的にならない。いったん能動状態になると、グローバル合致信号G MAT107は、入力バスCHARIN101上のキャラクタが、隣の状態機械 363がZ(合致)状態にあるセル361のすべてとの合致に失敗するまで、能 動状態にとどまる。異なる置き換えにおけるバック‐ツー‐バックのCAM合致 が可能である。グローバル合致信号GMAT107は第2の合致の第1のバイト に対して簡単にデアサート(de‐assert)する。 ストリング合致がスライド窓圧縮器103のなかで生起する時、グローバル合 致信号GMAT107は能動化されており、また合致選択モジュール115が通 知されている。合致されたCAMワード361のアドレスはアドレスバス109 を経て合致選択モジュール115にも伝送される。 図3dは、アドレスバス111を経て合致選択モジュール115に伝送される CAM書込みアドレスWADDを計算するのに必要とされるカウンタ341を示 す。好ましい実施例では、スライド窓圧縮器103は16のセルを含んでおり、 またこうして4ビットの書込みアドレスカウンタ341で十分である。従って、 代替的な実施例で、もしスライド窓圧縮器103が追加的なセルを含んでいるな らば、書込みアドレスカウンタ341は追加的なビットを含んでいるように拡張 されなければならない。書込みアドレスカウンタ341は、書込みアドレスバス WADD111上の書込みアドレスを図3a中に示されているようにSMMアレ イにより必要とされる書込みイネーブル信号WREN(j)321に対する適切 な値に変換するのに使用されている書込みアドレスバスWADD111によりア ドレスデコーダ343に接続されている。 図3eは、アドレスバス109を経て伝送されるべきCAM合致アドレスCA DDを計算するアドレス‐エンコーダ351を示す。ALM365の各々からの 近‐ワード‐合致信号NWMAT(j)323は、アドレス‐エンコーダ351 に入力され、またアドレスバス109上に出力されるCAM合致アドレスCAD Dを計算するのに使用される。図3dおよび図3eの双方に示されているハード ウェアはスライド窓圧縮器103のなかに含まれている。 CAMベースのスライド窓圧縮器103への並列なデータ経路は、走査線バッ フア105である。走査線バッフア105はデータバスCHARIN101から 到来するシンボルを受け入れ、そのシンボルをバッフアのなかに記憶し、また以 前にSバイトで記憶されたシンボルBSをデータバス121上に出力する。走査 線バッフア105はプログラム可能な長さの先入れ‐先出し(FIFO)バッフ アとして作動する。シンボルBSを出力することに加えて、走査線バッフア10 5は信号線123上に信号VALIDをも出力する。信号VALIDは、少なく ともSバイトが最後の辞書リセット以後に走査線バッフア105のなかに記憶さ れている時に、能動的である。辞書リセットの後に、信号VALIDは、正確に Sバイトの1つの走査線が走査線バッフア105のなかに記憶された後に能動化 されている。 合致選択モジュール115の概要ブロック図が図4aに示されている。現在の 入力バイトBOと、1つの走査線長さだけ離れている以前の入力バイトBSとを伝 送する信号線113および121は、それぞれコンパレータ401に入力として 接続されている。2つのバイトBOおよびBSが走査線バッフア105のなかで正 確にSバイトの走査線長さだけ離れていることは特記されるべきである。コンパ レータ401は2つのバイトBOおよびBSを比較し、また結果CMPを信号線4 03上に出力する。信号CMPは2つのバイトBOよびBSが等しい時のみ能動的 である。信号線403はANDゲート405に入力として接続されている。信号 VALIDを伝送する信号線123はANDゲート405に他の入力として接続 されている。論理ゲート405は信号CMPおよび信号VALIDに論理的AN D演算を行い、また結果SMATを信号線407上に出力する。 走査線合致信号407は合致選択状態機械408に入力として接続されている 。グローバル合致信号GMATを伝送する信号線107も合致選択状態機械40 8に入力として接続されている。後で詳細に説明されるように、合致選択状態機 械 408は、2つの並列な経路上での合致の間のアービトレーションを行い、CA M合致が存在し、かつコンパレータ401が2つのバイトBOおよびBSが等しい ことを信号する時に、CAM合致に優先を与える。合致状態機械は、CAM合致 が選択される時、CAM合致信号CMを信号線409上に出力し、また、走査線 合致が選択される時、走査線合致信号SMを信号線411上に出力する。 終了論理ブロック420は、CAM合致長さがプログラム可能な最大長さに制 限されている時、合致終了信号TERMを発生する。信号TERMは合致選択状 態機械408に入力として接続されている信号線440上に伝送される。好まし い実施例では信号TERMは、合致値CLOMのCAM長さが256に等しい時 、能動化される。好ましい実施例では、ポストコーダが走査線合致を最大256 に制限する。たとえば、長さ257の走査線合致は長さ256のコード語とそれ に続く長さ1の他のコード語とに分けられ得る。しかし、長さ257のCAM合 致は同一の仕方で分けられ得ない。なぜならば、長さ1のCAM合致は許されて いないからである。終了論理は後続の単一の生バイトを有する長さ256のコー ド語を強制する。従って、終了論理は256よりも長いCAM合致をより小さい CAM合致のシリーズに分ける必要がある。 CAM合致アドレスCADDアドレスバス109および書込みアドレスWAD Dアドレスバス111は、置換計算回路422に入力として接続されている。置 換計算回路422は、合致が終了した時にCAMのなかに書かれているバイトに 関してCAM合致位置を関連させる置換値DISPを計算する。この合致位置ま たは置換値DISPは信号線424上に出力される。 現在入力バイトBO信号線113は、遅延ブロック450に接続されており、 そこでそれは適切な長さの時間だけ遅延させられる。遅延ブロック450の出力 428はマルチプレクサ426に入力として接続されている。マルチプレクサ4 26は、CAM合致信号CM409および走査線合致信号SM411が共に不能 動的である時には常に、生データ信号線RD427上に生バイト428を出力す る。マルチプレクサ426は、CAM合致信号CM409が能動的である時には 常に、生データ信号線RD427上にCAM合致置換DISP424を出力する 。好ましい実施例では、マルチプレクサ426は、走査線合致信号SM411が 能 動的である時に、生バイト428を出力するが、その値は決して必要とされない し、使用もされない。 合致選択状態機械408は、図4bに示されている状態遷移図により支配され ている。状態A421は不合致に相当し、状態B423は少なくとも1つのバイ トの走査線合致に相当し、また状態C425は少なくとも2つのバイトのCAM 合致に相当する。本発明の好ましい実施例では、少なくとも2つのバイトのCA M合致は、合致選択状態機械408が状態A421にある時、1つのバイトの走 査線合致に優先する。従って、合致選択状態機械408が状態A421にあり、 また少なくとも2つのバイトのCAM合致が存在する時、合致選択状態機械40 8は状態C425に移動し、またCAM合致信号CMが能動化される。状態A4 21もしくは状態C425から、もしCAM合致は存在しないが走査線合致は存 在するならば、合致選択状態機械408は状態B423に移動し、また走査線合 致信号SMが能動化される。もしCAM合致が最大長さに達するならば、信号T ERMが能動化され、また合致が終了され、それにより合致選択状態機械は状態 A421に復帰する。イネーブル信号130が、好ましい実施例では、圧縮を改 善するのに使用される。CAMおよび走査線合致回路は、合致選択状態機械40 8にアービトレーションを行わせるべく、完全に並列に作動し得る。しかし圧縮 器は以下のシナリオであまり効率的でない:走査線合致SMAT407およびC AM合致信号GMAT107が共に現在能動的であり、また合致選択状態機械4 08が走査線合致を出力している。さらに、データストリームがより小さい置換 で合致するストリングを含んでおり、合致信号GMAT107を最初に仮定した CAM合致よりも短く、また走査線合致の間に開始する。もし、走査線合致が終 了する時に、CAM合致信号GMAT107がまだ能動的であれば、圧縮器は最 適な置換よりも長い置換によりCAM合致に切換わるであろう。好ましい実施例 では、合致選択状態機械が状態Cにある時、イネーブル信号ENABLE130 がデ‐アサートされており、グローバル合致信号GMAT107を抑制し、また こうしてCAM合致を阻止する。こうすることにより、走査合致が終了する時に 、その後のCAM合致が最小可能な置換を有することが保証される。 合致選択状態機械の出力、走査線合致信号SM411およびCAM合致信号C M409、は生データ信号線RD427と一緒にポストコード‐モジュールに接 続されている。ポストコード‐モジュール127は、走査線合致信号SM411 およびCAM合致信号CM409が能動的であるクロックの数により合致の長さ を決定する。走査線合致に対しては長さは、走査線合致信号SM411が能動的 であるクロックの数である。CAM合致に対しては長さは、CAM合致信号CM 409が能動的であるクロックの数よりも1つ多い。なぜならば、CAM合致信 号CM409はCAM合致の最初のクロックに対しては不能動的であるからであ る。走査線合致信号SMおよびCAM合致信号CMは相互に排他的であるから、 単一の合致長さカウンタ450が合致の長さを決定し得る。合致長さカウントL OM451はカウンタ450からエンコード論理454へ出力される。レジスタ 出力SM2、CM2およびRD2はそれぞれ簡単に走査線合致信号SM411、 CAM合致信号CM409および生データ信号RD427であり、これらは合致 長さカウンタ出力LOM451の長さに相当するように遅延されている。エンコ ード論理454は、レジスタ出力SM2 462が不能動状態に遷移する時、走 査合致長さLOMに相当するコード語CW455を出力する。エンコード論理4 54は、出力CM2 461が不能動状態に遷移する時、CAM合致長さLOM および置換出力RD2 453に相当するコード語CW455を出力する。エン コード論理454は、出力SM2および出力CM2が現在および以前のクロック に対して不能動的である時、生バイトRD2 453に相当するコード語CW4 55を出力する。シフタ456はすべてのコード語CW455を受け入れ、また それらを個々の圧縮されたバイトに分ける。これらのバイトは次いで信号線12 9上に出力される。 表Iは16に等しいスライド窓長さM、2から256までのCAM合致長さ範 囲および1から256までの走査線合致長さ範囲を有する好ましい実施例のポス トコードを示す。ポストコードはBackus‐Naurフォーマットで示され ている。 本発明による復元器の概要ブロック図が図5に示されている。圧縮されたデー タは信号線501を経て記憶または伝送システムから復元器へ伝送される。信号 線501はポストコードーデコーダ‐論理ブロック503に入力として接続され ている。ポストコード‐デコーダ‐論理ブロック503は到来する可変長さのコ ード語を、先に説明されたように、コード語および先行のフラグビットに従って 、CAM合致コード対(DISP、CLOM)、走査線合致長さ値SLOMもし くは生バイトRAWに変換する。 ポストコード‐デコーダ‐論理ブロック503の出力は信号線505上に伝送 される。信号線505は読出し/書込みランダムアクセスメモリ(RAM)制御 論理ブロック507に入力として接続されている。RAM制御論理ブロック50 7は信号線509および511によりランダムアクセスメモリ(RAM)513 に接続されている。好ましくは、RAM513は2048バイトの記憶能力があ る。ポストコード‐デコーダ‐論理ブロック503からの情報を使用して、RA M制御論理ブロック507は適切なバイトをRAM513に書込み、またそれか ら読出す。RAM制御論理ブロック507は次いで復元されたバイトを信号線5 15を経てホストに出力する。詳細には、もしポストコード‐デコーダ‐論理ブ ロック503が生バイト、RAW、を報告しているならば、RAM制御論理ブロ ック507は信号線509を使用してそのバイトをRAM513に書込み、また 生バイト、RAW、を出力信号線515上に出力する。もしポストコード‐デコ ーダ‐論理ブロック503が走査線合致長さ値SLOMを報告しているならば、 RAM制御論理ブロック507はRAM513のなかの適切なアドレス、たとえ ば現在のRAM書込みアドレスに対して1つの走査線長さだけ以前のアドレスを 読み、そのバイトを現在の書込みアドレスにおいてRAM513に書込み、また そのバイトを出力信号線515上に出力する。これは走査線合致長さ値SLOM により指定される値に等しいいくつかのバイトに対して生起し、各バイトに対す るRAM513書込みアドレスをインクリメントする。もしポストコード‐デコ ーダ‐論理ブロック503がCAM合致コード対(DISP、CLOM)を報告 しているならば、RAM制御論理ブロック507は、現在のRAM書込みアドレ スからディスプレイ値DISPを差し引くことにより指定されるRAM513の なかの適切なアドレスからバイトを読み、そのバイトを現在の書込みアドレスに おいてRAM513に書込み、またそのバイトを出力信号線515上に出力する 。これは合致値CLOMのCAM長さにより指定される値に等しいいくつかのバ イ トに対して生起し、各バイトに対するRAM513書込みアドレスをインクリメ ントする。 圧縮および復元プロセスを示すべく、下記の例が示され、また説明される。下 記の16進で表されているバイトのシーケンスを考察する。 データのこのストリームはデータバス101を経て、16に等しいCAMスラ イド窓サイズMと20に等しい走査線長さSとを有する本発明のデータ圧縮器に 入力される。もしバイトが左から右へ、また次いでトップからボトムへエンコー ドされるならば、結果としての圧縮されたデータのシーケンスは本発明のデータ 圧縮器から出力され、そこで生バイトは16進で表されており、またCAM合致 コード対は10進で(DISP、CLOM)として表されており、また走査線合 致長さは10進で(SLOM)として表されている。 上記の情報がポストコード論理ブロック127から出力される時、それは記憶 または伝送システムへの伝送のために、上記のように、適切な先行のフラグビッ トによりエンコードされる。 最初の20バイトは最初の走査線を形成するので,以前の走査線への合致は、 信号VALID123が能動化であるために、生起し得ない。最初のバイトは生 バイトとして出力される。第2のバイトは1の置換および9の合致長さ(1、9 )を有するCAM合致を開始する。バイト11は、どの以前のバイトとも合致し ないので、生バイトとして出力される。バイト12は、第10のバイトと合致す るけれども、まだ生バイトとして出力される。なぜならば、2つの連続するバイ トが、グローバル合致信号GMAT107が能動的になる以前に、合致しなけれ ばならないからである。バイト13は置換3ないし12においてキャラクタ合致 を発生し、対応するストリング合致状態機械363を第1の合致状態385に入 らせる。バイト14は置換4ないし12において合致を継続し、すべての9つの ス トリング合致状態機械363を、グローバル合致信号GMAT107が仮定され ているストリング合致状態387に入らせる。バイト15ないし22により、漸 次により少ないストリング合致状態機械363が合致し続ける。このプロセスの 間、各々の新しいバイトがデータストリームのなかでより早くストリング合致を 生ずるにつれて、CAMにより表示される置換は4から12へ増大する。データ ストリームの開始を通り越す置換は行われ得ないので、バイト23はCAM合致 を終了する。なお、注意すべきこととして、バイト21および22は上の線と合 致し、また走査線合致信号SMAT407を能動状態にするけれども、合致選択 状態機械408はCAM合致を、それが終了するまで、報告し続ける。バイト2 3は上の線と合致し(バイト3)、またバイト29を通じて持続する走査線合致 を開始する。バイト30は全く合致せず、従って生バイトである。バイト31お よび32は上の走査線と合致し、また2バイトの走査合致を形成する。バイト3 3は生バイトである。バイト34(00)は上の線とCAMのなかに記憶されて いる以前のバイトとの双方と合致する。合致の第2のバイトが走査合致信号SM AT407の間に能動的になるまで、グローバル合致信号GMAT107が能動 的にならないので、合致選択状態機械408は走査線合致を選び、それが次いで 10のバイトに対してランする。バイト44ないし47はバイト33ないし36 と合致して、4バイトのCAM合致(B、4)を形成する。バイト48ないし5 0は上の線または15の以前のバイトのどれとも合致せず、従って生バイトとし て出力される。バイト51および52は上の線と合致して、2バイトの走査線合 致(2)を形成する。バイト53はバイト52と合致し、またバイト54はバイ ト53と合致して、2の置換を有する2バイトのCAM合致(2、2)を形成す る。バイト55は上の線または最後の15バイトと合致せず、従ってそれは生バ イトとして出力される。バイト56はバイト48と合致し、またバイト57はバ イト49と合致して、8の置換を有する2バイトのCAM合致(8、2)を形成 する。バイト58および59はバイト48および49ともバイト56および57 とも合致する。アドレス論理モジュール365は常に最小の置換を有する合致を 報告する。従って、バイト56および57がより近いので、2の長さを有する置 換2のCAM合致が出力される(2、2)。最後のバイトは上の線と合致し、ま た1バイトの走査線合致(1)として出力される。ポストコード‐エンコーダ1 27による最後のシンボル出力は、データストリームが完了していることを示す レコードマーカーの終了である。 当業者に明らかなように、この圧縮されたデータストリームを復元するために は、図5に示されているように、圧縮された値および生バイトが復元器に入力さ れる。復元器は上記のプロセスを逆に進めて、生バイトを出力し、またコード対 および走査線合致長さ値SLOMを圧縮復元するのにデータの以前の値を使用す る。復元が完了した時、データの元のストリームが復元されている。 さらに当業者に明らかなように、本発明のシステムは、好ましい実施例に含ま れている1つの位置に追加して、多重の以前の走査線との合致位置を含んでいて よい。スライド窓圧縮器103はより大きいまたはより小さいCAMを含んでい るものとして設計されていてもよい。 請求の範囲により定められている本発明の範囲から離れることなく、好ましい 実施例に他の種々の変形が行われ得ることは当業者にとって容易に明らかであろ う。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フレンチ、キヤサリン エイ アメリカ合衆国 83843 アイダホ モス コウ セントリンカーン エス 521 (72)発明者 ツワイグル、グレツグ シー アメリカ合衆国 83843 アイダホ モス コウ アスバーリー #1 エス 116

Claims (1)

  1. 【特許請求の範囲】 1.データ圧縮システムにおいて、 a.入力源から第1の複数個のデータシンボルを順次に受信するための手段と、 b.大ギャップを有するスライド窓データ圧縮器を実現するための手段とを含ん でおり、現在の入力シンボルが第2の複数個の連続的な以前に受信されたシンボ ルおよび1つまたはそれ以上の不連続的な以前に受信されたシンボルと比較され 、また前記の実現のための手段が前記の順次受信のための手段に接続されている ことを特徴とするデータ圧縮システム。 2.前記の実現のための手段が、 a.第2の複数個の連続的な以前に受信されたシンボルを記憶するため、また現 在の入力シンボルを第2の複数個の連続的な以前に受信されたシンボルと比較す るため、各々が書込み、探索および読出しを行い得る第2の複数個の内容参照可 能メモリセルを含んでいる内容参照可能メモリと、 b.現在の入力シンボルを記憶し、1つまたはそれ以上の以前に受信されたシン ボルを出力するため、データシンボルの少なくとも1つの走査線を記憶し、また ランダムアクセスメモリセルのなかの特定の位置に記憶されている1つまたはそ れ以上の以前に受信されたシンボルを出力し得るランダムアクセスメモリセルと を含んでいることを特徴とする請求項1記載のデータ圧縮システム。 3.合致を示す情報が内容参照可能メモリセルの間で転送され、またシンボルが 内容参照可能メモリセルの間で転送されないことを特徴とする請求項2記載のデ ータ圧縮システム。 4.2つまたはそれ以上の隣接する入力シンボルが隣接する内容参照可能メモリ 位置と合致する時に内容参照可能メモリがCAM合致信号を出力することを特徴 とする請求項2記載のデータ圧縮システム。 5.さらに、内容参照可能メモリとランダムアクセスメモリとに接続された合致 選択状態機材を含み、該機材は、内容参照可能メモリのなかの合致と、現在の入 力シンボルと特定の位置に記憶されている1つまたはそれ以上の以前に受信され たシンボルとの間の合致との間の選択をするため現在の入力シンボルを受信する ためのものであることを特徴とする請求項4記載のデータ圧縮システム。 6.CAM合致信号が能動化されており、また現在の入力シンボルも特定の位置 に記憶されている1つまたはそれ以上の以前に受信されたシンボルの1つと合致 する時に、合致選択状態機械が少なくとも2つのシンボルの内容参照可能メモリ のなかの合致に優先性を与えることを特徴とする請求項5記載のデータ圧縮シス テム。 7.さらに、以前に圧縮されたデータを復元するための手段を含んでいることを 特徴とする請求項6記載のデータ圧縮システム。 8.復元のめの手段がランダムアクセスメモリと、以前に圧縮されたデータから 第1の複数個のデータシンボルを構成するためランダムアクセスメモリに接続さ れている制御論理回路とを含んでいることを特徴とする請求項7記載のデータ圧 縮システム。 9.データ圧縮システムにおいて、 a.入力源から第1の複数個のデータシンボルを順次に受信するための手段と、 b.シンボルの現在の1つを第2の複数個の内容参照可能メモリセルの1つのな かに同時に記憶し、また、現在のシンボルが以前に受信されたシンボルと合致す るかどうかを決定するべく、現在のシンボルを第3の複数個の以前に受信された シンボルと比較するための手段であって、現在のシンボルが以前に受信されたシ ンボルの1つと合致する時に第1の出力信号を出力し、またCAM合致 を特定するために、第1の複数個のデータシンボルを受信するべく接続されてい る手段と、 c.シンボルの現在の1つを記憶し、またシンボルの現在の1つを記憶のための 手段のなかの正確なプログラム可能な位置に記憶されている1つまたはそれ以上 の以前に受信されたシンボルと比較するための手段であって、現在のシンボルが 正確なプログラム可能な位置に記憶されている1つまたはそれ以上の以前に受信 されたシンボルの1つと合致する時に第2の出力信号を出力し、また正確な位置 合致を特定するために、第1のデータシンボルを順次に受信するべく接続されて いる手段と を含んでいることを特徴とするデータ圧縮システム。 10.同時に記憶するための手段のなかで合致を示す状態情報がセルの間で転送 され、またシンボルがセルの間で転送されないことを特徴とする請求項9記載の データ圧縮システム。 11.さらに、CAM合致と正確な位置合致との間の選択をするため第1の出力 信号と第2の出力信号との間に接続されている手段を含んでいることを特徴とす る請求項9記載のデータ圧縮システム。 12.選択のための手段が、CAM合致および正確な位置合致の双方が同時に生 起する時に、CAM合致を選択することを特徴とする請求項11記載のデータ圧 縮システム。 13.1つまたはそれ以上の以前に受信されたシンボルと第3の複数個の以前に 受信されたシンボルとがすべてデータシンボルのストリームのなかにあることを 特徴とする請求項12記載のデータ圧縮システム。 14.さらに、1つまたはそれ以上の以前に受信されたシンボルがデータシンボ ルのストリームのなかの第3の複数個の以前に受信されたシンボルと不連続的で あることを特徴とする請求項13記載のデータ圧縮システム。 15.第2の複数個の内容参照可能メモリセルが書込み、探索および読出しのた めの手段を含んでおり、また全体として内容参照可能メモリセルを形成すること を特徴どする請求項11記載のデータ圧縮システム。 16.第2の複数個の内容参照可能メモリセルが16の内容参照可能メモリセル を含んでいることを特徴とする請求項15記載のデータ圧縮システム。 17.さらに、もし1つよりも多い最長の合致ストリングが内容参照可能メモリ のなかに記憶されているならば、内容参照可能メモリのなかに記憶されているど の最長の合致ストリングが内容参照可能メモリのなかに記憶されている最後のバ イトの位置に最も近いかを決定するための手段を含んでいることを特徴とする請 求項15記載のデータ圧縮システム。 18.記憶のための手段がデータシンボルの少なくとも1つの走査線を記憶し得 るメモリバッフアを含んでいることを特徴とする請求項17記載のデータ圧縮シ ステム。 19.メモリバッフアが2048のデータシンボルを記憶し得ることを特徴とす る請求項18記載のデータ圧縮システム。 20.さらに、第2の複数個のストリング合致状態機械を含んでおり、これらの ストリング合致状態機械の各々が内容参照可能メモリのなかのデータの記憶され ているバイトに作用的に連結されていることを特徴とする請求項18記載のデー タ圧縮システム。 21.ストリング合致状態機械の各々が、 a.記憶されているデータが現在の入力ストリングと合致しないことを信号する 第1の段階と、 b.記憶されているデータが現在の入力ストリングの最後のキャラクタのみと合 致することを信号する第2の段階と、 c.記憶されているデータが少なくとも入力ストリングの最後の2つのキャラク タと合致することを信号する第2の段階と の3つの段階を含んでいることを特徴とする請求項20記載のデータ圧縮システ ム。 22.ストリング合致状態機械の各々が初期化のための第4の状態を含んでおり 、リセット信号によりストリング合致状態機械のすべてが第4の状態に強制され ることを特徴とする請求項21記載のデータ圧縮システム。 23.同時記憶および比較のための手段がさらに、第2の複数個のストリング合 致モジュールのアレイを含んでおり、各ストリング合致モジュールがCAMワー ド、ストリング合致状態機械およびアドレス論理モジュールを含んでいることを 特徴とする請求項1記載のデータ圧縮システム。 24.第2の複数個のストリング合致モジュールのアレイが一次元の円形のキュ ーのなかに配置されていることを特徴とする請求項23記載のデータ圧縮システ ム。 25.さらに、以前に圧縮されたデータを圧縮復元するための手段を含んでいる ことを特徴とする請求項24記載のデータ圧縮システム。 26.データシンボルの到来するストリームを圧縮するための方法において、 a.入力源から第1の複数個のデータシンボルを順次に受信する過程と、 b.シンボルの現在の1つを第2の複数個の内容参照可能メモリセルの1つのな かに同時に記憶し、また、現在のシンボルが以前に受信されたシンボルとと合致 するかどうかを決定するべく、現在のシンボルを第3の複数個の以前に受信 されたシンボルと比較する過程と、 c.現在のシンボルが内容参照可能メモリセルのなかの以前に受信されたシンボ ルの1つと合致する時にCAM合致を信号する過程と、 d.CAM合致が2つの連続的な入力シンボルに関して信号される時に内容参照 可能メモリのなかのシンボルの合致するストリングを表すコード対を含んでいる ポストコード値を出力する過程と、 e.現在のシンボルを記憶し、また現在のシンボルをランダムアクセスメモリの なかの特定のプログラム可能な位置に記憶されている1つまたはそれ以上の以前 に受信されたシンボルと比較する過程と、 f.現在のシンボルが特定のプログラム可能な位置に記憶されている1つまたは それ以上の以前に受信されたシンボルの1つと合致する時に走査線合致を信号す る過程と、 g.走査線合致が信号されている時に合致値の長さを含んでいるポストコード値 を出力する過程と、 h.CAM合致も走査線合致も信号されていない時に現在のシンボルを含んでい る生の値を出力する過程と を含んでいることを特徴とする方法。 27.さらに、CAM合致および走査線合致の双方が同時に信号される時にCA M合致を選択する過程を含んでいることを特徴とする請求項26記載の方法。 28.内容参照可能メモリセルとランダムアクセスメモリのなかの特定のプログ ラム可能な位置とが不連続的であることを特徴とする請求項27記載の方法。 29.第2の複数個の内容参照可能メモリが16の内容参照可能メモリセルを含 んでいることを特徴とする請求項28記載の方法。 30.ランダムアクセスメモリが2048のデータシンボルを記憶することを特 徴とする請求項29記載の方法。 31.さらに、圧縮されたデータを復元し、また第1の複数個のデータシンボル を再構成する過程を含んでいることを特徴とする請求項28記載の方法。 32.データの到来するストリームを圧縮し、また圧縮されたデータを表すポス トコード値を出力するためのデータ圧縮システムにおいて、 a.現在のシンボルを同時に記憶し、またそれを以前に受信されたシンボルと比 較するため、一度に1つのシンボルで到来するデータのストリームを受信するべ く接続されているスライド窓圧縮器と、 b.現在のシンボルを記憶し、また特定のプログラム可能な位置において走査線 バッフアのなかに記憶されている1つまたはそれ以上の以前に受信されたシンボ ルを出力するため、一度に1つのシンボルで到来するデータのストリームを受信 するべく接続されている走査線バッフアと、 c.スライド窓圧縮器のなかの合致の間の選択をし、また合致位置、および合致 長さまたは走査線バッフアのなかの合致を表すコード対を出力し、また走査線合 致の長さの値を出力し、または、もし合致が生起しないならば、現在のシンボル を含んでいる生のバイトを出力するために、スライド窓圧縮器および走査線バッ フアに接続されている合致選択モジュールと を含んでいることを特徴とするデータ圧縮システム。 33.さらに、合致選択モジュールからのデータ出力をエンコードし、またそれ を記憶または伝送システムに出力するために合致選択モジュールに接続されてい るポストコード論理ブロックを含んでいることを特徴とする請求項32記載のデ ータ圧縮システム。 34.スライド窓圧縮器が16の内容参照可能メモリセルを含んでいることを特 徴とする請求項33記載のデータ圧縮システム。 35.走査線バッフアが2048の記憶位置を含んでいることを特徴とする請求 項34記載のデータ圧縮システム。 36.もしスライド窓圧縮器のなかの合致と走査線バッフアのなかの合致との双 方が同時に生起するならば、合致選択モジュールがスライド窓圧縮器のなかの合 致を選択することを特徴とする請求項35記載のデータ圧縮システム。 37.さらに、以前に圧縮されたデータを復元し、また到来するデータのストリ ームを再構成するための復元器論理回路を含んでいることを特徴とする請求項3 6記載のデータ圧縮システム。
JP50790897A 1995-08-02 1996-08-01 大ギャップを有するスライド窓データ圧縮システム Expired - Lifetime JP4057650B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/510,148 1995-08-02
US08/510,148 US5694125A (en) 1995-08-02 1995-08-02 Sliding window with big gap data compression system
PCT/US1996/012664 WO1997005737A1 (en) 1995-08-02 1996-08-01 Sliding window with big gap data compression system

Publications (2)

Publication Number Publication Date
JPH11511306A true JPH11511306A (ja) 1999-09-28
JP4057650B2 JP4057650B2 (ja) 2008-03-05

Family

ID=24029566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50790897A Expired - Lifetime JP4057650B2 (ja) 1995-08-02 1996-08-01 大ギャップを有するスライド窓データ圧縮システム

Country Status (3)

Country Link
US (1) US5694125A (ja)
JP (1) JP4057650B2 (ja)
WO (1) WO1997005737A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154569A (en) * 1995-03-16 2000-11-28 Kabushiki Kaisha Toshiba System and method for coding and/or decoding image including bit-map of different levels
JP3730385B2 (ja) 1997-12-05 2006-01-05 株式会社東芝 デ−タ圧縮装置
US6216175B1 (en) * 1998-06-08 2001-04-10 Microsoft Corporation Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations
US6314478B1 (en) 1998-12-29 2001-11-06 Nec America, Inc. System for accessing a space appended to a circular queue after traversing an end of the queue and upon completion copying data back to the queue
US6771196B2 (en) * 1999-12-14 2004-08-03 Broadcom Corporation Programmable variable-length decoder
US6262675B1 (en) 1999-12-21 2001-07-17 International Business Machines Corporation Method of compressing data with an alphabet
US6650261B2 (en) * 2001-09-06 2003-11-18 Xerox Corporation Sliding window compression method utilizing defined match locations
US7529716B1 (en) 2002-06-20 2009-05-05 Welsh Thomas M Mail arbitrator
US6771193B2 (en) * 2002-08-22 2004-08-03 International Business Machines Corporation System and methods for embedding additional data in compressed data streams
US7415596B2 (en) * 2003-01-24 2008-08-19 Gigafin Networks, Inc. Parser table/production rule table configuration using CAM and SRAM
US7797326B2 (en) * 2006-04-18 2010-09-14 International Business Machines Corporation Method of obtaining data samples from a data stream and of estimating the sortedness of the data stream based on the samples
US7764205B2 (en) * 2007-08-27 2010-07-27 Comtech Aha Corporation Decompressing dynamic huffman coded bit streams
US8013762B2 (en) * 2009-11-03 2011-09-06 Seagate Technology Llc Evaluating alternative encoding solutions during data compression
US9690928B2 (en) * 2014-10-25 2017-06-27 Mcafee, Inc. Computing platform security methods and apparatus
CN111384961B (zh) * 2018-12-28 2022-07-26 上海寒武纪信息科技有限公司 数据压缩解压装置和数据压缩方法
CN116683916B (zh) * 2023-08-03 2023-10-10 山东五棵松电气科技有限公司 一种数据中心容灾系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5010345A (en) * 1989-12-28 1991-04-23 International Business Machines Corporation Data compression method
US5473326A (en) * 1990-12-14 1995-12-05 Ceram Incorporated High speed lossless data compression method and apparatus using side-by-side sliding window dictionary and byte-matching adaptive dictionary
JP2699839B2 (ja) * 1993-12-03 1998-01-19 日本電気株式会社 半導体装置の製造方法

Also Published As

Publication number Publication date
WO1997005737A1 (en) 1997-02-13
JP4057650B2 (ja) 2008-03-05
US5694125A (en) 1997-12-02

Similar Documents

Publication Publication Date Title
US5532693A (en) Adaptive data compression system with systolic string matching logic
US5748904A (en) Method and system for segment encoded graphic data compression
US5818873A (en) Single clock cycle data compressor/decompressor with a string reversal mechanism
JP4057650B2 (ja) 大ギャップを有するスライド窓データ圧縮システム
US5627534A (en) Dual stage compression of bit mapped image data using refined run length and LZ compression
JP2915568B2 (ja) テープドライブシステムのための適応データ圧縮装置
WO2020187709A1 (en) Methods and devices for handling equiprobable symbols in entropy coding
US4360840A (en) Real time data compression/decompression scheme for facsimile transmission system
KR100331351B1 (ko) 이진입력데이터스트림압축방법
US5225832A (en) High speed variable length decoder
JPH04501349A (ja) データ予備圧縮装置及びデータ予備圧縮システム及びデータ圧縮比改善方法
US5857035A (en) Arithmetic coding compressor for encoding multiple bit values
JPS60116228A (ja) ディジタル信号ストリーム圧縮方法及び圧縮装置
JPH114170A (ja) 2進データのダブル・ランレングス符号化の方法および装置
JPH08289157A (ja) 2値化画像の圧縮のための二次元的方法およびシステム
US5488366A (en) Segmented variable length decoding apparatus for sequentially decoding single code-word within a fixed number of decoding cycles
US5949909A (en) Apparatus for decompressing multiple codes in a single clock cycle
GB2319689A (en) An entropy encoder using context modelling with data reordering
JP3195427B2 (ja) データ変換/逆変換装置
US5745603A (en) Two dimensional context model obtained without a line buffer for arithmetic coding
EP0768799A2 (en) Method and circuit for rearranging output data in variable-length decoder
KR100462603B1 (ko) 영상 데이타 압축 및 복원 방법 및 장치
JPH09219782A (ja) 印字用データ発生装置
JP3082930B2 (ja) 画像処理装置
JP3283150B2 (ja) データ圧縮・圧縮解除法

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040113

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040414

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041102

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041125

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20041202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131221

Year of fee payment: 6

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

EXPY Cancellation because of completion of term