JPH11145848A - 改善されたデータ圧縮効率を提供する方法及び事前圧縮器 - Google Patents
改善されたデータ圧縮効率を提供する方法及び事前圧縮器Info
- Publication number
- JPH11145848A JPH11145848A JP10228812A JP22881298A JPH11145848A JP H11145848 A JPH11145848 A JP H11145848A JP 10228812 A JP10228812 A JP 10228812A JP 22881298 A JP22881298 A JP 22881298A JP H11145848 A JPH11145848 A JP H11145848A
- Authority
- JP
- Japan
- Prior art keywords
- data
- byte
- data byte
- run
- counter
- 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
- 238000013144 data compression Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 18
- 238000007906 compression Methods 0.000 claims description 58
- 230000006835 compression Effects 0.000 claims description 58
- 238000007781 pre-processing Methods 0.000 claims description 2
- 230000003044 adaptive effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006837 decompression Effects 0.000 description 7
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 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
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- 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/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- 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
装置を提供すること。 【解決手段】 データ圧縮器に、改善されたデータ圧縮
効率を提供するための方法が開示される。非圧縮データ
・ストリームをデータ圧縮ユニットに送信する前に、非
圧縮データ・ストリームからの入来データ・バイトが、
最初に非圧縮データ・ストリームからの先行データ・バ
イトと比較される。入来データ・バイトと先行データ・
バイトとの一致に応答して、第1のカウンタ値が増分さ
れる。第1のカウンタ値が事前設定値に達した後、入来
データ・バイトとその先行データ・バイトとの続く一致
に応答して、第2のカウンタ値が増分される。入来デー
タ・バイトのランの完了時に、そのラン部分の代わり
に、第2のカウンタ値が最終的にデータ圧縮ユニットに
送信される。それによりデータ圧縮ユニットは、非圧縮
データ・ストリーム内におけるランの発生後、迅速にそ
の最適な圧縮率を再開することができる。
Description
縮する方法及び装置に関し、特に、適応データ圧縮を実
行する方法及び装置に関する。更に詳細には、本発明は
適応データ圧縮器のための改善されたデータ圧縮効率を
提供する方法及び装置に関する。
れるデータのタイプは、非常に変化し得る。従って、大
抵の圧縮アルゴリズムは、広い範囲のデータ・タイプに
渡り、優れた圧縮性能を達成するために、事実上適応型
である。従来のLempel-Ziv1(LZ_1)及びLempel-Zi
v2(LZ_2)圧縮アルゴリズムは、この概念をある程
度実現する。
が、初期には空の履歴バッファに移動される。この履歴
バッファはバイト幅シフト・レジスタと見なされ、一旦
履歴バッファが完全に充填されると、各新たな入来バイ
トが最も古いデータ・バイトを履歴バッファから追い出
す。履歴バッファ内の現内容が入来データと比較され、
まだ履歴バッファ内に留まる以前に発生した入来データ
・バイトのマッチング・ストリングまたはシーケンスが
識別される。この入来データ・シーケンスが次に、履歴
バッファ内のマッチング・ストリングの開始ポイント、
及びマッチング・ストリングの長さを提供するより小さ
な形式に符号化され、このことがLZ_1圧縮アルゴリ
ズムの基本を構成する。LZ_1伸張器は、LZ_1圧
縮器内の履歴バッファと同一のデータ履歴を有する履歴
バッファを保持し、参照を復号するとき、単にこうした
ストリングをその出力として複写する。
が保持され、これらの辞書入力の参照がLZ_2圧縮ア
ルゴリズムの基本を構成する。入来データが辞書入力の
1つに合致するとき、長さを符号化する必要はない。な
ぜなら、長さも辞書内に保持されるからである。従っ
て、LZ_2圧縮アルゴリズムからの圧縮された出力デ
ータは、通常、辞書入力を表す数字のシーケンスを含む
だけである。適応LZ_2技法は、入来データにもとづ
き連続的に新たな辞書入力を追加する。LZ_1の場合
同様、LZ_2圧縮器及びLZ_2伸張器の両者は、同
一の構造で始まり、同一の構造を保持するが、LZ_2
の場合には、辞書がフルになるとき、異なる管理方法が
使用される。
に"ラン(runs)"として知られる同一の文字のシーケン
スを含むことが、しばしば見い出される。例えば、実行
可能コードは、しばしば、"00"文字の相当量のランを含
む。また、コード・コンパイラは、しばしば、行列また
は変数を既知の状態に初期化するために、ヌル・データ
を生成する。更に、データベース・ソフトウェアは、し
ばしば、全て空白または全て0の文字を有するデータ・
フィールドを割当てる。更にバイナリ・ビットマップ・
イメージ・データは、しばしば、全て空白の8画素を表
す大量の"空白(whitespace)"(通常"00"文字)を含
む。その他に、特に1画素当たり1バイトにより符号化
されるグレイ・スケールまたはカラー・イメージ・デー
タは、同一データ・バイトの長いランを含み得る。
おいて、不要で非生産的な適応化をもたらし得る。更
に、LZ_1の履歴バッファまたはLZ_2の辞書は、
ランからの同一データ・バイトにより容易にオーバフロ
ーし得るので、データ圧縮器がランの後にその最適な圧
縮率を再開するには、しばらくの時間がかかる。結果的
に、データ圧縮器がランの発生後、その最適な圧縮効率
をより迅速に再開できるように、より優れたデータ圧縮
効率をデータ圧縮器に提供する方法及び装置を提供する
ことが望まれる。
は、データを圧縮するための改善された方法及び装置を
提供することにある。
行する改善された方法及び装置を提供することにある。
器のためのより優れたデータ圧縮効率を提供する改善さ
れた方法及び装置を提供することにある。
非圧縮データ・ストリームがデータ圧縮ユニットに送信
される。しかしながら、非圧縮データ・ストリームをデ
ータ圧縮ユニットに送信する前に、非圧縮データ・スト
リームからの入来データ・バイトが、最初に非圧縮デー
タ・ストリームからの先行データ・バイトと比較され
る。入来データ・バイトと先行データ・バイトとの一致
に応答して、第1のカウンタ値が増分される。第1のカ
ウンタ値が事前設定値に達した後、入来データ・バイト
とその先行データ・バイトとの続く一致に応答して、第
2のカウンタ値が増分される。入来データ・バイトのラ
ンの完了時にそのラン部分の代わりに、第2のカウンタ
値が最終的にデータ圧縮ユニットに送信される。それに
よりデータ圧縮ユニットは、非圧縮データ・ストリーム
内におけるランの発生後、迅速にその最適な圧縮率を再
開することができる。
Ziv2などの、たくさんのタイプの適応データ圧縮アルゴ
リズムと共に実現され得る。当業者であれば、本発明が
ハードウェアまたはソフトウェアのいずれかにより実現
され得ることが理解できよう。
得るデータ圧縮ユニットのブロック図が示される。図示
のように、圧縮ユニット10は、制御装置11及びラン
ダム・アクセス・メモリ(RAM)または連想記憶装置
(CAM)12に接続される。任意のタイプの圧縮アル
ゴリズムが圧縮ユニット10内で実現され得る。適応圧
縮アルゴリズムの例には、当業者には周知のLempel-Ziv
1及びLempel-Ziv2などの従来のアルゴリズム、または適
応無損失データ圧縮(ALDC:Adaptive Lossless Da
ta Compression)などの、より現代的なアルゴリズムが
含まれる。ALDCについては、"QIC Development Sta
ndard QIC-154"、Rev.A、10 Mar 94、Quarter-Inch Ca
rtridge Drive Standards、nc.で詳細に述べられてい
る。Lempel-Ziv1の履歴バッファ或いはLempel-Ziv2の辞
書などの選択される圧縮アルゴリズムに関連付けられる
全てのデータ構造が、RAM/CAM12内に保持され
る。それ自体、RAM/CAM12の最適サイズは、圧
縮ユニット10内で使用される圧縮アルゴリズムのタイ
プに依存する。動作中、最初に非圧縮データ・ストリー
ムが圧縮ユニット10により、データ送信装置13から
受信される。データ符号化の後、圧縮されたデータ・ス
トリームが、次にデータ受信装置14に伝送される。
が組み込まれ得るデータ伸張ユニットのブロック図が示
される。図示のように、伸張ユニット15は制御装置1
6及びRAM17に接続される。RAM12同様、伸張
ユニット15の全てのデータ構造がRAM17内に保持
され、RAM17のサイズは、圧縮ユニット10内で使
用される圧縮アルゴリズムのタイプに依存する。動作
中、圧縮されたデータ・ストリームが、最初に伸張ユニ
ット15によりデータ送信装置19から受信される。デ
ータ復号の後、圧縮解除されたデータ・ストリームが、
伸張ユニット15からデータ受信装置18に伝送され
る。
に従い、図1の圧縮ユニット10に対して、改善された
圧縮効率を提供するデータ事前圧縮器のブロック図が示
される。事前圧縮ユニット20は、好適にはデータ送信
装置13と圧縮ユニット10との間に結合される。図示
のように、事前圧縮ユニット20は、第1のレジスタ2
2、第2のレジスタ23、比較器24、第1のカウンタ
25、第2のカウンタ26、及びマルチプレクサ21を
含む。
各入来データ・バイトが、最初に第1のレジスタ22に
記憶される。この入来データ・バイトは、非圧縮データ
・ストリームからの別の入来データ・バイトの到来時
に、第2のレジスタ23に送信される。従って、第2の
レジスタ23は、非圧縮データ・ストリームからの前の
(すなわち直前の)データ・バイトの値を保持する。次
に比較器24により、第1のレジスタ22に記憶される
入来データ・バイトが、第2のレジスタ23に記憶され
る前のデータ・バイトと比較される。第1のカウンタ2
5は当初、0にリセットされ、比較器24により第1の
レジスタ22に記憶されるデータ・バイトと、第2のレ
ジスタ23に記憶されるデータ・バイトとの一致が示さ
れる度に増分される。他方、第1のレジスタ22に記憶
されるデータ・バイトと、第2のレジスタ23に記憶さ
れるデータ・バイトとが不一致の場合、第1のカウンタ
25は再度、0にリセットされる。また、非圧縮データ
・ストリームからの入来データ・バイトは、第1のレジ
スタ22に記憶されるデータ・バイト(すなわち入来デ
ータ・バイト)と、第2のレジスタ23に記憶されるデ
ータ・バイトとが不一致の場合、マルチプレクサ21を
介して圧縮ユニット10に送信される。
設定値が存在し、一旦この事前設定値に達すると、非圧
縮データ・ストリームからの前のデータ・バイトと一致
する任意の追加の入来データ・バイトが廃棄される。こ
のことは、非圧縮データ・ストリーム内のラン条件の発
生を意味する。この時点で、入来データ・バイトとその
前のデータ・バイトとの一致条件に対して、第2のカウ
ンタ26が代わりに増分される。入来データ・バイトと
その前のデータ・バイトとの不一致が最終的に発生する
と、第2のカウンタ26内に記憶された累算カウントが
圧縮ユニット10に渡され、不一致の入来データ・バイ
トがそれに続く。
り小さいべきであり、ラン・レングス4に対応して値と
して3を取るべきである。このことがほとんどの非圧縮
データ・ストリームに対して極めて最適であることが判
明している。従って、事前設定値4未満のランを含む非
圧縮データ・ストリームからの全てのデータ・バイト
は、単に圧縮ユニット10に渡され、そこで使用される
圧縮アルゴリズムに従い処理される。
ースであるので、カウンタ25、26は好適には文字と
同一のサイズであり、通常8ビット長である。ランが事
前設定値と丁度同一の長さの場合、カウント値"00"が
圧縮ユニット10に渡される。ランが事前設定値よりも
1バイト長い場合には、カウント値"01"が圧縮ユニッ
ト10に渡される(以下同様)。8ビット文字が使用さ
れる場合、最高値がカウント継続文字として使用され
る。
に従い、データ事前圧縮器の改善されたデータ圧縮効率
を提供する方法の状態図が示される。状態(00)から
開始し、使用可能フラグ、第1のカウンタ、第2のカウ
ンタが0にリセットされ、次に状態(01)に移行す
る。状態(01)では、事前圧縮器がデータ・バイト入
力要求を待機する。状態(02)では、使用可能フラグ
が0にセットされているか否かを判定し、肯定の場合、
状態(04)に移行し、否定の場合、状態(03)に移
行する。
なデータ・バイトが圧縮器に転送される。状態(04)
では、データ・バイトがデータ送信装置からフェッチさ
れ、状態(05)に移行する。状態(05)では、第1
のカウンタが事前設定限度か否かが判定され、肯定の場
合、状態(08)に移行し、否定の場合、状態(07)
に移行する。
が前のバイトと同一か否かが判定され、肯定の場合、状
態(08)に移行し、否定の場合、状態(07)に移行
する。
リセットされ、状態(09)に移行する。状態(08)
では、第1のカウンタが1増分され、次に状態(09)
に移行する。状態(09)では、新たなデータ・バイト
が圧縮器に転送され、次に状態(01)に移行する。
が前のバイトと同一か否かが判定され、肯定の場合、状
態(13)に移行し、否定の場合、状態(11)に移行
する。状態(12)では、使用可能フラグが1にセット
され、次に状態(01)に移行する。
分され、次に状態(14)に移行する。状態(14)で
は、第2のカウンタがその最大値か否かが判定され、肯
定の場合、状態(15)に移行し、否定の場合、状態
(04)に移行する。
縮器に転送され、次に状態(16)に移行する。状態
(16)では、第2のカウンタ値が"01"にリセットさ
れ、次に状態(01)に移行する。
に従う、対応するデータ事後圧縮器のハイレベル状態図
が示される。状態(00)から開始し、拡張フラグ、第
1のカウンタ、第2のカウンタが0にリセットされ、次
に状態(01)に移行する。
ータ・バイトの出力を待機する。状態(02)では、拡
張フラグが0にセットされているか否かを判定し、肯定
の場合、状態(13)に移行し、否定の場合、状態(0
3)に移行する。
値が第2のカウンタにロードされる。状態(04)で
は、第2のカウント値がその最大値であるか否かが判定
され、肯定の場合、状態(09)に移行し、否定の場
合、状態(05)に移行する。
ットされ、次に状態(06)に移行する。状態(06)
では、第2のカウンタ値が0か否かが判定され、肯定の
場合、状態(00)に移行し、否定の場合、状態(0
7)に移行する。状態(07)では、前のデータ・バイ
トが出力に転送され、次に状態(08)に移行する。状
態(08)では、第2のカウンタが1減分され、次に状
態(06)に移行する。
トされ、次に状態(10)に移行する。状態(10)で
は、前のデータ・バイトが出力に転送され、次に状態
(11)に移行する。状態(11)では、第2のカウン
タが1減分され、次に状態(12)に移行する。状態
(12)では、第2のカウンタ値が1よりも大きいか否
かが判定され、肯定の場合、状態(10)に移行し、否
定の場合、状態(01)に移行する。
設定限度か否かが判定され、肯定の場合、状態(03)
に移行し、否定の場合、状態(14)に移行する。
値が出力に転送され、次に状態(15)に移行する。状
態(15)では、新たなデータ・バイトが前のバイトと
同一か否かが判定され、肯定の場合、状態(17)に移
行し、否定の場合、状態(16)に移行する。状態(1
6)では、第1のカウンタ値が0にリセットされ、次に
状態(01)に移行する。状態(17)では、第1のカ
ウンタが1増分され、次に状態(01)に移行する。
力データ・ストリームにもとづく、事前圧縮ユニット2
0からの結果を示す例である。この例では、事前設定値
が3にセットされ、また8ビット記号(1バイト)が使
用される。
善されたデータ圧縮効率を提供するための方法及び装置
を提供する。圧縮ユニットが例証の目的のために、本開
示全体を通じて使用されるが、当業者であれば、上述の
事前圧縮器が、対応する事後伸張器を使用しなければな
らないことが理解できよう。こうした事後伸張器は、好
適には、図2の伸張ユニット15とデータ受信装置18
の間に結合される。
する。伸張ユニットから出力される各データ・バイト
が、その前のデータ・バイトと比較され、カウンタが増
分またはリセットされる。カウンタが事前設定値に達す
ると、次のデータ・バイトが、ランの継続を構成する最
終値出力の追加の複写数を示すカウントとして処理され
なければならず、更に圧縮データ・バイトを復号する前
に、複写されなければならない。
て、カウントが次の記号に継続されなければ、最大カウ
ント記号値がこの値のカウントを示すために使用され、
これが同一の規則に従い処理されなければならない。こ
のように、カウント継続文字の使用は、任意の長さのラ
ンの符号化を可能にし、ある記号のラン・レングスが事
前に設定されたしきい値に丁度等しいときに欠点を有す
る。
データ記号を保持するための余分なレジスタ、比較器、
及びカウンタの他に、少量の制御論理回路を要求するだ
けである。実際、連想記憶装置(CAM)ベースの圧縮
器では、レジスタが既にハードウェア内に存在するが、
いずれにしても、本発明を実現するために使用される余
分なシリコン面積は僅かである。
ズムに適用可能であり、明らかにそれ自体、長いランの
データに対しては、相当な圧縮を提供することができる
(8ビット記号において250:1を上回る)。汎用適
応圧縮アルゴリズムでは、このことは重要な利点であ
る。なぜなら、こうした圧縮アルゴリズムは一般に、入
来データのストリームがその圧縮アルゴリズムに適する
ように使用されるべきか否かに関係無しに適応するから
である。例えばLempel-Ziv1アルゴリズムは、長いラン
の同一データに対して、最大圧縮率約90:1を達成で
きるに過ぎない。
の事項を開示する。
ータ圧縮効率を提供する方法であって、前記データ圧縮
ユニットにより受信される非圧縮データ・ストリームか
らの入来データ・バイトと、前のデータ・バイトとを比
較するステップと、前記入来データ・バイトと前記前の
データ・バイトとの一致に応答して、第1のカウンタ値
を増分するステップと、前記第1のカウンタ値が、前記
非圧縮データ・ストリーム内のランを示す事前設定値に
達したことに応答して、第2のカウンタ値を増分するス
テップと、前記非圧縮データ・ストリーム内の前記ラン
を前記第2のカウンタ値により置換するステップと、前
記非圧縮データ・ストリームを前記データ圧縮ユニット
に伝送し、該圧縮ユニットが、前記非圧縮データ・スト
リーム内における前記ランの発生後、迅速に最適な圧縮
率を再開できるようにするステップと、を含む、方法。 (2)前記入来データ・バイトと前記前のデータ・バイ
トとの不一致に応答して、前記第1のカウンタをリセッ
トするステップを含む、前記(1)記載の方法。 (3)前記第2のカウンタ値を増分するステップが、前
記入来データ・バイトと前記前のデータ・バイトとの続
く一致に応答して、前記第2のカウンタ値を増分するス
テップを含む、前記(1)記載の方法。 (4)前記入来データ・バイトを廃棄するステップを含
む、前記(3)記載の方法。 (5)前記ランの完了が、前記入来データ・バイトと前
記前のデータ・バイトとの不一致により示される、前記
(1)記載の方法。 (6)データ圧縮ユニットに改善されたデータ圧縮効率
を提供する方法であって、前記データ圧縮ユニットによ
り受信される非圧縮データ・ストリームからの入来デー
タ・バイトと、前のデータ・バイトとを比較することに
より、前記非圧縮データ・ストリームを事前処理するス
テップと、前記非圧縮データ・ストリーム内のランの開
始を示す、前記入来データ・バイトと前記前のデータ・
バイトとの一致に応答して、第1のカウンタ値を増分す
るステップと、前記非圧縮データ・ストリーム内の前記
ランの残りの部分を示す、前記第1のカウンタ値が事前
設定値に達した後の、前記入来データ・バイトと前記前
のデータ・バイトとの続く一致に応答して、第2のカウ
ンタ値を増分するステップと、前記非圧縮データ・スト
リーム内の前記ランの前記残りの部分を、前記第2のカ
ウンタ値により置換するステップと、前記第2のカウン
タ値が埋め込まれた前記非圧縮データ・ストリームを前
記データ圧縮ユニットに伝送し、該圧縮ユニットが、前
記非圧縮データ・ストリーム内における前記ランの発生
にも関わらず、迅速に最適な圧縮効率を再開できるよう
にするステップと、を含む、方法。 (7)前記入来データ・バイトと前記前のデータ・バイ
トとの不一致に応答して、前記第1のカウンタをリセッ
トするステップを含む、前記(6)記載の方法。 (8)前記入来データ・バイトを廃棄するステップを含
む、前記(6)記載の方法。 (9)前記ランの完了が、前記入来データ・バイトと前
記前のデータ・バイトとの不一致により示される、前記
(6)記載の方法。 (10)データ圧縮ユニットに改善されたデータ圧縮効
率を提供する事前圧縮器であって、前記データ圧縮ユニ
ットにより受信される非圧縮データ・ストリームからの
入来データ・バイトと、前のデータ・バイトとを比較す
る比較器と、前記比較器に接続され、前記入来データ・
バイトと前記前のデータ・バイトとの一致の数をカウン
トする第1のカウンタと、前記比較器に接続され、前記
第1のカウンタが事前設定値に達した後に、前記入来デ
ータ・バイトと前記前のデータ・バイトとの一致の数を
カウントする第2のカウンタと、前記入来データ・バイ
トのランの完了時に、前記第2のカウンタの値を前記デ
ータ圧縮ユニットに送信し、該圧縮ユニットが、前記非
圧縮データ・ストリーム内における前記ランの発生後、
迅速にその最適な圧縮率を再開できるようにする、送信
装置と、を含む、事前圧縮器。 (11)前記入来データ・バイトと前記前のデータ・バ
イトとの不一致に応答して、前記第1のカウンタをリセ
ットするリセット手段を含む、前記(10)記載の事前
圧縮器。 (12)前記第2のカウンタの増分の間に、前記入来デ
ータ・バイトを廃棄する手段を含む、前記(10)記載
の事前圧縮器。 (13)前記ランの完了が、前記入来データ・バイトと
前記前のデータ・バイトとの不一致により示される、前
記(10)記載の事前圧縮器。 (14)前記非圧縮データ・ストリーム内の前記ラン
を、前記第2のカウンタ値により置換する手段を含む、
前記(10)記載の事前圧縮器。
ニットのブロック図である。
伸張ユニットのブロック図である。
ットに改善された圧縮効率を提供するデータ事前圧縮器
のブロック図である。
器のための改善されたデータ圧縮効率を提供する方法の
状態図である。
器のための改善されたデータ圧縮効率を提供する方法の
状態図である。
たは連想記憶装置(CAM) 13 データ送信装置 14、18 データ受信装置 15 データ伸張ユニット 20 事前圧縮ユニット 21 マルチプレクサ 22 第1のレジスタ 23 第2のレジスタ 24 比較器 25 第1のカウンタ 26 第2のカウンタ
Claims (14)
- 【請求項1】データ圧縮ユニットに改善されたデータ圧
縮効率を提供する方法であって、 前記データ圧縮ユニットにより受信される非圧縮データ
・ストリームからの入来データ・バイトと、前のデータ
・バイトとを比較するステップと、 前記入来データ・バイトと前記前のデータ・バイトとの
一致に応答して、第1のカウンタ値を増分するステップ
と、 前記第1のカウンタ値が、前記非圧縮データ・ストリー
ム内のランを示す事前設定値に達したことに応答して、
第2のカウンタ値を増分するステップと、 前記非圧縮データ・ストリーム内の前記ランを前記第2
のカウンタ値により置換するステップと、 前記非圧縮データ・ストリームを前記データ圧縮ユニッ
トに伝送し、該圧縮ユニットが、前記非圧縮データ・ス
トリーム内における前記ランの発生後、迅速に最適な圧
縮率を再開できるようにするステップと、 を含む、方法。 - 【請求項2】前記入来データ・バイトと前記前のデータ
・バイトとの不一致に応答して、前記第1のカウンタを
リセットするステップを含む、請求項1記載の方法。 - 【請求項3】前記第2のカウンタ値を増分するステップ
が、前記入来データ・バイトと前記前のデータ・バイト
との続く一致に応答して、前記第2のカウンタ値を増分
するステップを含む、請求項1記載の方法。 - 【請求項4】前記入来データ・バイトを廃棄するステッ
プを含む、請求項3記載の方法。 - 【請求項5】前記ランの完了が、前記入来データ・バイ
トと前記前のデータ・バイトとの不一致により示され
る、請求項1記載の方法。 - 【請求項6】データ圧縮ユニットに改善されたデータ圧
縮効率を提供する方法であって、 前記データ圧縮ユニットにより受信される非圧縮データ
・ストリームからの入来データ・バイトと、前のデータ
・バイトとを比較することにより、前記非圧縮データ・
ストリームを事前処理するステップと、 前記非圧縮データ・ストリーム内のランの開始を示す、
前記入来データ・バイトと前記前のデータ・バイトとの
一致に応答して、第1のカウンタ値を増分するステップ
と、 前記非圧縮データ・ストリーム内の前記ランの残りの部
分を示す、前記第1のカウンタ値が事前設定値に達した
後の、前記入来データ・バイトと前記前のデータ・バイ
トとの続く一致に応答して、第2のカウンタ値を増分す
るステップと、 前記非圧縮データ・ストリーム内の前記ランの前記残り
の部分を、前記第2のカウンタ値により置換するステッ
プと、 前記第2のカウンタ値が埋め込まれた前記非圧縮データ
・ストリームを前記データ圧縮ユニットに伝送し、該圧
縮ユニットが、前記非圧縮データ・ストリーム内におけ
る前記ランの発生にも関わらず、迅速に最適な圧縮効率
を再開できるようにするステップと、 を含む、方法。 - 【請求項7】前記入来データ・バイトと前記前のデータ
・バイトとの不一致に応答して、前記第1のカウンタを
リセットするステップを含む、請求項6記載の方法。 - 【請求項8】前記入来データ・バイトを廃棄するステッ
プを含む、請求項6記載の方法。 - 【請求項9】前記ランの完了が、前記入来データ・バイ
トと前記前のデータ・バイトとの不一致により示され
る、請求項6記載の方法。 - 【請求項10】データ圧縮ユニットに改善されたデータ
圧縮効率を提供する事前圧縮器であって、 前記データ圧縮ユニットにより受信される非圧縮データ
・ストリームからの入来データ・バイトと、前のデータ
・バイトとを比較する比較器と、 前記比較器に接続され、前記入来データ・バイトと前記
前のデータ・バイトとの一致の数をカウントする第1の
カウンタと、 前記比較器に接続され、前記第1のカウンタが事前設定
値に達した後に、前記入来データ・バイトと前記前のデ
ータ・バイトとの一致の数をカウントする第2のカウン
タと、 前記入来データ・バイトのランの完了時に、前記第2の
カウンタの値を前記データ圧縮ユニットに送信し、該圧
縮ユニットが、前記非圧縮データ・ストリーム内におけ
る前記ランの発生後、迅速にその最適な圧縮率を再開で
きるようにする、送信装置と、 を含む、事前圧縮器。 - 【請求項11】前記入来データ・バイトと前記前のデー
タ・バイトとの不一致に応答して、前記第1のカウンタ
をリセットするリセット手段を含む、請求項10記載の
事前圧縮器。 - 【請求項12】前記第2のカウンタの増分の間に、前記
入来データ・バイトを廃棄する手段を含む、請求項10
記載の事前圧縮器。 - 【請求項13】前記ランの完了が、前記入来データ・バ
イトと前記前のデータ・バイトとの不一致により示され
る、請求項10記載の事前圧縮器。 - 【請求項14】前記非圧縮データ・ストリーム内の前記
ランを、前記第2のカウンタ値により置換する手段を含
む、請求項10記載の事前圧縮器。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/934335 | 1997-09-19 | ||
| US08/934,335 US5874907A (en) | 1997-09-19 | 1997-09-19 | Method and apparatus for providing improved data compression efficiency for an adaptive data compressor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11145848A true JPH11145848A (ja) | 1999-05-28 |
| JP3065585B2 JP3065585B2 (ja) | 2000-07-17 |
Family
ID=25465369
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10228812A Expired - Fee Related JP3065585B2 (ja) | 1997-09-19 | 1998-08-13 | 改善されたデータ圧縮効率を提供する方法及び事前圧縮器 |
Country Status (8)
| Country | Link |
|---|---|
| US (1) | US5874907A (ja) |
| EP (1) | EP0903867B1 (ja) |
| JP (1) | JP3065585B2 (ja) |
| KR (1) | KR100300789B1 (ja) |
| DE (1) | DE69833094T2 (ja) |
| MY (1) | MY115600A (ja) |
| SG (1) | SG66494A1 (ja) |
| TW (1) | TW410505B (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000059226A (ja) * | 1998-07-28 | 2000-02-25 | Xerox Corp | 最小マッチ長が3のプリマッチストリングマッチアレイ |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6624761B2 (en) | 1998-12-11 | 2003-09-23 | Realtime Data, Llc | Content independent data compression method and system |
| US6604158B1 (en) * | 1999-03-11 | 2003-08-05 | Realtime Data, Llc | System and methods for accelerated data storage and retrieval |
| US6601104B1 (en) * | 1999-03-11 | 2003-07-29 | Realtime Data Llc | System and methods for accelerated data storage and retrieval |
| DE19962971A1 (de) * | 1999-12-24 | 2001-06-28 | Bosch Gmbh Robert | Verfahren zur Datenübertragung über ein Bussystem |
| US20010047473A1 (en) * | 2000-02-03 | 2001-11-29 | Realtime Data, Llc | Systems and methods for computer initialization |
| US20030191876A1 (en) * | 2000-02-03 | 2003-10-09 | Fallon James J. | Data storewidth accelerator |
| US9143546B2 (en) | 2000-10-03 | 2015-09-22 | Realtime Data Llc | System and method for data feed acceleration and encryption |
| US7417568B2 (en) * | 2000-10-03 | 2008-08-26 | Realtime Data Llc | System and method for data feed acceleration and encryption |
| US8692695B2 (en) | 2000-10-03 | 2014-04-08 | Realtime Data, Llc | Methods for encoding and decoding data |
| US7386046B2 (en) * | 2001-02-13 | 2008-06-10 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
| EP1451708B1 (en) * | 2001-12-10 | 2012-03-28 | SAP Portals Israel Ltd. | Apparatus and method for optimized and secured reflection of network services to remote locations |
| DE10301362B4 (de) * | 2003-01-16 | 2005-06-09 | GEMAC-Gesellschaft für Mikroelektronikanwendung Chemnitz mbH | Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche |
| US9614772B1 (en) | 2003-10-20 | 2017-04-04 | F5 Networks, Inc. | System and method for directing network traffic in tunneling applications |
| US7103685B1 (en) * | 2004-01-16 | 2006-09-05 | Xilinx, Inc. | Bitstream compression with don't care values |
| US8024483B1 (en) | 2004-10-01 | 2011-09-20 | F5 Networks, Inc. | Selective compression for network connections |
| US7109895B1 (en) * | 2005-02-01 | 2006-09-19 | Altera Corporation | High performance Lempel Ziv compression architecture |
| US7937510B1 (en) | 2005-02-01 | 2011-05-03 | Altera Corporation | Lempel Ziv compression architecture |
| US7482954B1 (en) | 2005-02-25 | 2009-01-27 | Xilinx, Inc. | Bitstream compression for a programmable device |
| US7783781B1 (en) | 2005-08-05 | 2010-08-24 | F5 Networks, Inc. | Adaptive compression |
| US8533308B1 (en) | 2005-08-12 | 2013-09-10 | F5 Networks, Inc. | Network traffic management through protocol-configurable transaction processing |
| US8275909B1 (en) * | 2005-12-07 | 2012-09-25 | F5 Networks, Inc. | Adaptive compression |
| US7882084B1 (en) | 2005-12-30 | 2011-02-01 | F5 Networks, Inc. | Compression of data transmitted over a network |
| US7873065B1 (en) | 2006-02-01 | 2011-01-18 | F5 Networks, Inc. | Selectively enabling network packet concatenation based on metrics |
| US8565088B1 (en) | 2006-02-01 | 2013-10-22 | F5 Networks, Inc. | Selectively enabling packet concatenation based on a transaction boundary |
| US8417833B1 (en) | 2006-11-29 | 2013-04-09 | F5 Networks, Inc. | Metacodec for optimizing network data compression based on comparison of write and read rates |
| US9106606B1 (en) | 2007-02-05 | 2015-08-11 | F5 Networks, Inc. | Method, intermediate device and computer program code for maintaining persistency |
| US8238677B2 (en) * | 2008-03-07 | 2012-08-07 | International Business Machines Corporation | Adaptive lossless data compression method for compression of color image data |
| GR1008346B (el) * | 2013-11-04 | 2014-11-03 | Νικολαος Χρηστου Πετρελλης | Μεθοδος και συσκευη παρεμβολης για πιστοτερη αναπαρασταση και συμπιεση σηματος |
| US11158364B2 (en) | 2019-05-31 | 2021-10-26 | Micron Technology, Inc. | Apparatuses and methods for tracking victim rows |
| US11158373B2 (en) * | 2019-06-11 | 2021-10-26 | Micron Technology, Inc. | Apparatuses, systems, and methods for determining extremum numerical values |
| US11462291B2 (en) | 2020-11-23 | 2022-10-04 | Micron Technology, Inc. | Apparatuses and methods for tracking word line accesses |
| US11482275B2 (en) | 2021-01-20 | 2022-10-25 | Micron Technology, Inc. | Apparatuses and methods for dynamically allocated aggressor detection |
| US11863209B2 (en) * | 2021-08-18 | 2024-01-02 | Pixart Imaging Inc. | Integrated circuit and method capable of minimizing circuit area of non-volatile memory circuit |
| US12165687B2 (en) | 2021-12-29 | 2024-12-10 | Micron Technology, Inc. | Apparatuses and methods for row hammer counter mat |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2396479A1 (fr) * | 1977-06-30 | 1979-01-26 | Cit Alcatel | Installation de transmission de fac-simile a reduction de redondance |
| US4626829A (en) | 1985-08-19 | 1986-12-02 | Intelligent Storage Inc. | Data compression using run length encoding and statistical encoding |
| US4679094A (en) * | 1986-10-14 | 1987-07-07 | The Associated Press | Method for compression and transmission of video information |
| US5016009A (en) * | 1989-01-13 | 1991-05-14 | Stac, Inc. | Data compression apparatus and method |
| JPH088642B2 (ja) * | 1989-07-27 | 1996-01-29 | 富士通株式会社 | 網点画像データ圧縮装置 |
| CA2077271C (en) * | 1991-12-13 | 1998-07-28 | David J. Craft | Method and apparatus for compressing data |
| US5486826A (en) * | 1994-05-19 | 1996-01-23 | Ps Venture 1 Llc | Method and apparatus for iterative compression of digital data |
| US5612693A (en) * | 1994-12-14 | 1997-03-18 | International Business Machines Corporation | Sliding window data compression using a toroidal bit shift register |
| KR100254402B1 (ko) * | 1994-12-19 | 2000-05-01 | 전주범 | 줄-길이 부호화방법 및 줄-길이 부호화기 |
| US5608396A (en) * | 1995-02-28 | 1997-03-04 | International Business Machines Corporation | Efficient Ziv-Lempel LZI data compression system using variable code fields |
| US5627534A (en) * | 1995-03-23 | 1997-05-06 | International Business Machines Corporation | Dual stage compression of bit mapped image data using refined run length and LZ compression |
-
1997
- 1997-09-19 US US08/934,335 patent/US5874907A/en not_active Expired - Lifetime
-
1998
- 1998-04-03 TW TW087105113A patent/TW410505B/zh active
- 1998-08-13 JP JP10228812A patent/JP3065585B2/ja not_active Expired - Fee Related
- 1998-08-17 MY MYPI98003736A patent/MY115600A/en unknown
- 1998-08-19 KR KR1019980033612A patent/KR100300789B1/ko not_active Expired - Fee Related
- 1998-09-14 EP EP98307420A patent/EP0903867B1/en not_active Expired - Lifetime
- 1998-09-14 DE DE69833094T patent/DE69833094T2/de not_active Expired - Lifetime
- 1998-09-18 SG SG1998003740A patent/SG66494A1/en unknown
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000059226A (ja) * | 1998-07-28 | 2000-02-25 | Xerox Corp | 最小マッチ長が3のプリマッチストリングマッチアレイ |
Also Published As
| Publication number | Publication date |
|---|---|
| DE69833094D1 (de) | 2006-03-30 |
| EP0903867B1 (en) | 2006-01-04 |
| TW410505B (en) | 2000-11-01 |
| DE69833094T2 (de) | 2006-08-31 |
| KR100300789B1 (ko) | 2001-09-22 |
| MY115600A (en) | 2003-07-31 |
| EP0903867A1 (en) | 1999-03-24 |
| SG66494A1 (en) | 1999-07-20 |
| JP3065585B2 (ja) | 2000-07-17 |
| KR19990029322A (ko) | 1999-04-26 |
| US5874907A (en) | 1999-02-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3065585B2 (ja) | 改善されたデータ圧縮効率を提供する方法及び事前圧縮器 | |
| US8090027B2 (en) | Data compression using an arbitrary-sized dictionary | |
| US6633242B2 (en) | Entropy coding using adaptable prefix codes | |
| US5293379A (en) | Packet-based data compression method | |
| JP3141001B2 (ja) | 符号化方法及びデータ圧縮器、並びにコンピュータ・プログラムを記録した記録媒体 | |
| US5003307A (en) | Data compression apparatus with shift register search means | |
| US5532694A (en) | Data compression apparatus and method using matching string searching and Huffman encoding | |
| KR100314419B1 (ko) | 변형렘펠-지브1을인코딩하기위한방법및장치 | |
| US20070150497A1 (en) | Block data compression system, comprising a compression device and a decompression device and method for rapid block data compression with multi-byte search | |
| CA2128127A1 (en) | Method and system for data compression | |
| CN1630984A (zh) | 增量和连续的数据压缩 | |
| US9362948B2 (en) | System, method, and computer program product for saving and restoring a compression/decompression state | |
| JP2003524983A (ja) | 複数コーダを用いる最適化ロスレス圧縮のための方法及び装置 | |
| JPH07170196A (ja) | 2値シンボルの符号化・復号化回路 | |
| US6289130B1 (en) | Method for real-time lossless data compression of computer data | |
| JP3839604B2 (ja) | データ処理方法 | |
| JP3266419B2 (ja) | データ圧縮・伸長方式 | |
| JP3653226B2 (ja) | 埋込みランレングス符号化によるデータ圧縮方法および装置 | |
| US6522270B1 (en) | Method of coding frequently occurring values | |
| US6583736B1 (en) | Bitcode sequence coding of frequently occurring values | |
| JP3143030B2 (ja) | データ圧縮方法及びその装置並びにデータ伸長方法及びその装置 | |
| KR20080045842A (ko) | 이미지 압축 및 복원을 위한 장치 및 방법 | |
| JPH08116270A (ja) | データ圧縮方法及びその装置並びにデータ伸長方法及びその装置 | |
| JPH0659857A (ja) | データ圧縮装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090512 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 13 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 13 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| S802 | Written request for registration of partial abandonment of right |
Free format text: JAPANESE INTERMEDIATE CODE: R311802 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 13 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140512 Year of fee payment: 14 |
|
| S633 | Written request for registration of reclamation of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313633 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |