JP2003318739A - データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体 - Google Patents
データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体Info
- Publication number
- JP2003318739A JP2003318739A JP2003101044A JP2003101044A JP2003318739A JP 2003318739 A JP2003318739 A JP 2003318739A JP 2003101044 A JP2003101044 A JP 2003101044A JP 2003101044 A JP2003101044 A JP 2003101044A JP 2003318739 A JP2003318739 A JP 2003318739A
- Authority
- JP
- Japan
- Prior art keywords
- sequence
- bit
- data
- length
- matching
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
スして、各部分で開始する第1のシーケンス部分が先に
トラバースされた第2のシーケンス部分と整合するかど
うかを判定する。整合する場合、第1のシーケンスの長
さおよび第1のシーケンスと整合する第2のシーケンス
との間のオフセットを示す。入力シーケンス中のデータ
部分の少なくとも1つの非整合シーケンスのストリーム
を順次記録する。ストリームとは別個に順序付けられた
コードワードシーケンスを生成する。各コードワード
は、整合する第1のシーケンスに先行する非整合シーケ
ンスの長さ、関連するオフセット、および整合する第1
のシーケンスの長さを示す3つのデータアイテムを含
む。
Description
縮に関し、特に、Lempel−Ziv技法の変形を使
用してデータシーケンスを圧縮するシステムおよび方法
に関する。
きデータ量を低減して記憶容量および伝送時間それぞれ
を低減するために使用される。いずれの場合であって
も、元データを再構築可能にするために、対応する解凍
技法を提供する必要がある。
ているが、Lempel−Ziv(LZ)技法およびそ
の変形が最も普及している。Welchによる「High Speed
Data Compression and Decompression Apparatus and M
ethod」と題する米国特許第4,558,302号、Wat
erworthによる「Data Compression System」と題する米
国特許第4,701,745号、およびMiller他による
「Data Compression Method」と題する米国特許第4,
814,746号が、こういったLZ技法のいくつかを
開示する特許である。LZ変形の1つは、LZ Obe
rhumer(LZO)技法として知られている。図1
は、LZO技法を使用して入力文字シーケンスを圧縮す
ることによって得られる出力コードストリームを示す。
出力コードストリームは、入力文字シーケンスからの非
整合文字シーケンスで間が埋められたコードワードを含
む。コードワードは、出力コードワードを解凍するとき
に、先に現れた文字シーケンスを参照して、元の入力文
字シーケンスをコードストリームから再構築することが
できる。
ワードは、非整合文字シーケンスで間を埋められるた
め、バイト配列する必要がある。コードワードが可変長
である場合、デリミタも必要である。コードワードをバ
イト配列する必要性およびデリミタの必要性により、結
果としてLZO出力コードストリームに異質なビットが
含まれることになる。コードワードが固定長である場
合、デリミタは必要ない。しかし、このような固定長コ
ードワードは、コードワード中のデータアイテムによっ
て表現可能な値までの長さの文字シーケンスしか表すこ
とができない。
目的は、データ部分の入力シーケンスを圧縮するシステ
ムおよび方法を提供することである。
データ部分の入力シーケンスを圧縮する方法が提供され
る。入力シーケンスを部分毎に順次トラバースして、各
部分で開始する第1のシーケンス部分が先にトラバース
された第2のシーケンス部分と整合するかどうかを判定
する。第1のシーケンスが第2のシーケンスと整合する
場合、第1のシーケンスの長さおよび第1のシーケンス
と整合する第2のシーケンスとの間のオフセットを示
す。入力シーケンス中のデータ部分の少なくとも1つの
非整合シーケンスのストリームを順次記録する。ストリ
ームとは別個に順序付けられたコードワードシーケンス
を生成する。各コードワードは、整合する第1のシーケ
ンスに先行する非整合シーケンスの長さ、関連するオフ
セット、および整合する第1のシーケンスの長さを示す
3つのデータアイテムを含む。
にデータ部分の入力シーケンスを圧縮する手段を備えた
圧縮システムが提供される。
って実行可能であり、データ部分の入力シーケンスを圧
縮する上記方法を実行させる命令プログラムを有形に具
現する計算装置読み取り可能なプログラム格納装置が提
供される。
りよく理解されよう。
だデータ圧縮/解凍システム2を示す模式図である。本
システムは、転送媒体12を介して解凍システム10に
転送するために、文字シーケンス6(図4)を表すデー
タのバイト等データ部分の入力シーケンスを圧縮して出
力コードストリーム8(図4)にする手段を内蔵した圧
縮システム4を含む。解凍システム10は、コードスト
リーム8を受信し、コードストリーム8を解凍または拡
張して、文字シーケンス6を再構築する。
ム10として機能するように適宜プログラムすることの
できる計算システム14の通常の要素を示すブロック図
である。要素は、システムバス20を介してシステムメ
モリ18に接続されたプログラマブルプロセッサ16を
含む。プロセッサ16は、システムメモリ18ならびに
他の入出力(I/O)チャネル22および周辺装置24
にアクセスする。計算システム14はさらに、CD−R
OM、テープ、磁気媒体、EPROM、EEPROM、
ROM等少なくとも1つのプログラム格納装置26を含
む。計算システムは、本発明の実施形態によるデータシ
ーケンスを圧縮する方法を実施する1つまたは複数のコ
ンピュータプログラムを格納する。プロセッサ16は、
1つまたは複数のコンピュータプログラムを読み取り実
行して、本方法を実行する。各コンピュータプログラム
は、任意所望のコンピュータプログラミング言語(機械
語、アセンブリ言語、高水準手続き形言語、またはオブ
ジェクト指向プログラミング言語を含む)で実施するこ
とができる。いずれの場合であっても、言語はコンパイ
ル済みのまたは解釈済みの言語であることができる。
6を圧縮することによって得られる出力コードストリー
ム8を示す。概して、圧縮システム4は、各文字がバイ
トに格納されている場合、バイト毎に文字シーケンス6
を順次トラバースして、トラバースされた各バイトで開
始する第1のバイトシーケンスが先にトラバースされた
第2のバイトシーケンスと整合するかどうかを判定す
る。第1のシーケンス42が第2のシーケンス44と整
合する場合、圧縮システム4は、第1のシーケンス42
のバイト単位の長さ、第1のシーケンス42の冒頭と第
2のシーケンス44の冒頭との間のバイト単位でのオフ
セットを示す。圧縮システム4はまた、文字シーケンス
6中の任意の非整合バイトシーケンス46を順次記録す
る。文字シーケンス6が完全にトラバースされると、非
整合シーケンス46のストリームとは別個のコードワー
ド50の順序付きシーケンス48が生成される。コード
ワードのこの順序付きシーケンス48および非整合シー
ケンス46のストリームは、文字シーケンス6の圧縮デ
ータを定義する。コードワード50および非整合シーケ
ンス46はそれぞれ、文字シーケンス6に現れる順序に
並べられる。各コードワード50は、整合する第1のシ
ーケンス42に先行する非整合シーケンス46の長さ、
整合した第1のシーケンス42と整合する第2のシーケ
ンス44との間のオフセット、および整合した第1のシ
ーケンス42の長さを示す3つのデータアイテムを含
む。
ーケンス6を圧縮する方法の一連のステップ60を示す
フローチャートである。この圧縮順60について、文字
シーケンス6をトラバースすなわち処理する順に従って
述べる。圧縮順60は、入力シーケンス受信ステップ6
2で開始され、圧縮システム4が文字シーケンス6を受
信する。図4における文字シーケンス6は、文字シーケ
ンス6でのそれぞれの位置に従って番号がふられた25
個の文字を含む。圧縮順60は、文字シーケンス6を受
信した後、初期化ステップ64に進み、ポインタ(図示
せず)が、文字シーケンス6中の最初の文字"A"の前の
文字位置を指すように初期化される。
なったと判定するステップ66に進み、圧縮システム4
が、文字シーケンス6中のすべての文字が完全に処理さ
れたと判定する。このステップ66において、文字シー
ケンス6に処理する文字が残っていると判定された場
合、圧縮順60はポインタを進めるステップ68に進
む。このステップ68において、圧縮システム4はポイ
ンタを1つの文字位置分進めて、ポインタが文字シーケ
ンス6中の次の文字を指すようにする。文字シーケンス
6処理のこの時点において、ポインタは、文字"A"(1
番目の文字)を指すように進められる。圧縮順60は次
に、整合シーケンスをチェックするステップ70に進
む。このステップ70において、圧縮システム4は、ポ
インタが指している文字で開始する所定の最小文字数の
第1のシーケンスが、先にトラバースすなわち処理され
た第2の文字シーケンスと整合すると判定する。マッチ
ングは、他のLZ技法に使用されているハッシュ法を使
用して行われる。
0に従って、整合するシーケンスがないと判定された場
合、圧縮順60は非整合シーケンス更新ステップ72に
進み、圧縮システム4が非整合文字カウンタ(図示せ
ず)を増分する。次いで、圧縮順60は、入力シーケン
スが空になったと判定するステップ66に戻る。圧縮順
60は、ポインタを進めるステップ68において、ポイ
ンタが7番目の文字"B"を指すまで、文字シーケンス6
の第1の非整合シーケンス"ABCDEF"(1番目から
6番目の文字)を処理する場合、ステップ66〜72を
ループする。この時点において、非整合文字カウンタ
が、非整合シーケンス"ABCDEF"の文字数または長
さにより6の値に増分されている。
0において、所定の最小文字数、たとえば3個の文字の
第1のシーケンスと第2のシーケンスとが整合すると判
定された場合、圧縮順60は最長整合を見つけるステッ
プ74に進む。これは、別のシーケンス"BCD"(2番
目から4番目の文字)と整合するシーケンス"BCD"
(7番目から9番目の文字)に直面する場合である。最
長整合を見つけるステップ74では、圧縮システム4
が、先に処理された文字の第2の文字シーケンスと整合
する、ポインタが指す文字で開始する最長の第1のシー
ケンスを判定する。文字シーケンス6の処理におけるこ
の時点で、最長の第1のシーケンス42は"BCD"(7
番目から9番目の文字)である。圧縮システム4は、2
つの整合するシーケンス42、44の冒頭の間のオフセ
ットすなわち文字数と、これらシーケンス42、44の
うちの一方の長さすなわち文字数とを示す。オフセット
および長さは、整合した第1のシーケンス"BCD"(7
番目から9番目の文字)についてそれぞれ5個および3
個の文字である。
チェックするステップ76に進み、圧縮システム4が、
現在の整合した第1のシーケンス42の前に非整合シー
ケンスがあると判定する。このステップ76において非
整合シーケンス46があると判定された場合、圧縮シス
テム4は、第1の出力ステップ78において、非整合シ
ーケンス46の文字数すなわち長さをシステムメモリ1
8中の第1のバッファ(図示せず)に付加する。非整合
シーケンス"ABCDEF"(1番目から6番目の文字)
の場合、6の値が、後述する符号化フォーマットに従っ
て第1のバッファに書き込まれる。また、第1の出力ス
テップ78において、圧縮システム4は、非整合文字シ
ーケンス46をシステムメモリ18中の第2のバッファ
(図示せず)に付加する。文字シーケンス6処理のこの
時点において、圧縮システム4は、シーケンス"ABC
DEF"を第2のバッファに書き込む。
76において、非整合シーケンスがないと判定された場
合、圧縮システム4は、第2の出力ステップ80におい
て、値0を第1のバッファに付加する。第1の出力ステ
ップ78および第2の出力ステップ80から、圧縮順6
0は第3の出力ステップ82に進み、圧縮システム4が
整合した第1のシーケンス42のオフセットおよび長さ
を第1のバッファに付加する。オフセットおよび長さの
双方もまた、符号化フォーマットに従って符号化され
る。この第3の出力ステップ82において、圧縮システ
ム4はまた、相応に進められ、非整合文字カウンタをク
リアする。文字シーケンス6処理のこの時点まで、第1
のバッファは値6、5、および2それぞれを有する3つ
のデータアイテムを含む。これら3つのデータアイテム
がコードワード50を形成する。
空になったと判定するステップ66に戻り、文字シーケ
ンス6中のすべての文字が処理されるまで、上記ステッ
プ68〜82を繰り返す。具体的には、圧縮順60は、
非整合シーケンス"GHI"(10番目から12番目の文
字)を処理する場合、ステップ66〜72を繰り返す。
圧縮順60は、ステップ70においてシーケンス"CD
G"(13番目から15番目の文字)を処理する場合、
別のシーケンス"CDG"(8番目から10番目の文字)
に整合するため、最長整合を見つけるステップ74に進
む。最長整合を見つけるステップ74において、最長の
整合シーケンスはシーケンス"CDGHIC"(13番目
から18番目の文字)であると判定される。このシーケ
ンス"CDGHIC"に関連するオフセットは5であり、
シーケンスの長さは6である。したがって、圧縮システ
ム4は、第1の出力ステップ78および第3の出力ステ
ップ82において、第1のバッファに値3、5、および
6のデータアイテムを有する別のコードワードを付加す
る。圧縮システム4はまた、第2の出力ステップ80に
おいて、整合シーケンス"CDGHIC"(13番目から
18番目の文字)の前の非整合シーケンス"GHI"(1
0番目から12番目の文字)を第2のバッファに付加す
る。
ケンス6の残りのシーケンス"EFBCIJK"(19番
目から25番目の文字)を処理する。シーケンス"EF
BC"(19番目から22番目の文字)を処理すると、
値0、14、および4のデータアイテムを有する第3の
コードワードが第1のバッファに付加されることにな
る。第3のコードワード50における値0の第1のデー
タアイテムは、第2の出力ステップ80において、第1
のバッファに付加される。この値0のデータアイテム
は、整合シーケンス"EFBC"(19番目から22番目
の文字)と先の整合シーケンス"CDGHIC"(13番
目から18番目の文字)の間に非整合シーケンスがない
ことを示す。
25番目の文字)を処理する際、圧縮順60は、ステッ
プ66において、文字シーケンス6中のすべての文字が
処理されたことを判定する。次いで、圧縮順60は第4
の出力ステップ84に進む。この第4の出力ステップ8
4では、圧縮システム4が残りの非整合シーケンス"I
JK"(23番目から25番目の文字)を第2のバッフ
ァに書き込む。圧縮順60は最終的に終了ステップ86
において終了し、転送媒体12を介して解凍システム1
0(図2)に転送するためなど、圧縮されたデータすな
わちコードワード50によって定義されるコードストリ
ームおよび非整合シーケンス46を使用する準備が整
う。コードワード50および非整合シーケンス46が単
一メッセージにおいて解凍システム10に連続して送信
される場合、コードストリームは、偶然に非整合シーケ
ンス46の冒頭であるコードワード50のシーケンス4
8の終わりを示す情報をさらに含む。この情報は、固定
ビット数で符号化しうるコードワードのシーケンス48
の長さであることができる。
符号化フォーマットについて述べる。各データアイテム
は、少なくとも1つのデリミタビットが前に付いた所定
数のビット(mビット)によって表される。所定数のビ
ットは、単一の"1"デリミタビットが前に付いた6ビッ
トであることができる。6ビットで表すことのできる最
大の値は、26−1=63である。データアイテムの値
が63以下である場合、値を表すには7ビット(1つの
デリミタビット+6ビット)で十分である。しかし、値
が63を越える場合、6ビットは、その値を26で割っ
た余りを表すことになる。値を26で割った商は、たと
えば、"1"のデリミタビットとは認識可能に異なる等し
い数の"0"ビットで表される。これら"0"ビットはそれ
ぞれ、64の追加の値を表す。以下の表は、各種値を表
すために使用されるビット列の例を示す。値45は、デ
リミタの"1"ビット(太字の斜体)および6ビットを含
む7ビットで表される。値67は、さらなる"0"ビット
を"1"デリミタビットの前に含む8ビットで表される。
同様に、値200は、合計値192を表す先行する3個
の"0"ビットを含む10ビットで表される。
ードワードの表現には最小の21ビットが採用される。
したがって、非整合シーケンスとして第2のバッファに
1つまたは2つの整合文字を書き込むほうが、かかるコ
ードワードを使用して表すよりも経済的である。この理
由は、整合シーケンスをチェックするステップ70にお
ける所定の最小文字数が3文字になるように選択される
ためである。
のコードワード以外のすべてのコードワードをバイト位
置合わせする必要がない。コードワードは共にグループ
化されるため、非整合文字シーケンスからコードワード
を区切る必要もなくなる。
のとして説明したが、本発明がそれだけに限定されると
解釈すべきではない。たとえば、入力シーケンスをバイ
ト毎に処理する代わりに、他の長さのデータ部分を使用
して処理してもよい。
に可変数のビットを使用して、データアイテム値を2m
で割った余りを表してもよい。たとえば、各コードワー
ド中の3つのデータアイテムそれぞれのこの余り部分
を、別のビット数で表してもよい。コードワード中の各
データアイテムの余りビット数は、圧縮中に決定するこ
とができる。この場合、データアイテムの余り部分を表
すために使用される余りビット数を示すさらなる情報を
出力コードストリームに含める必要がある。
el−Ziv−Oberhumer(LZO)技法を使
用して文字シーケンスを圧縮することによって得られる
出力コードストリームを示す模式図である。
形態による、データシーケンスを圧縮してコードストリ
ームにする圧縮システムを含むデータ圧縮/解凍システ
ムの模式図である。
使用しうる計算システムの典型的なハードウェア要素を
示すブロック図である。
字シーケンスを圧縮することによって得られる出力コー
ドストリームを示す模式図である。
縮システムにおける一連のステップを示すフローチャー
トである。
Claims (20)
- 【請求項1】データ部分の入力シーケンスを圧縮する方
法であって、 前記入力シーケンスを部分毎に順次トラバースすること
であって、それによって各部分で開始する部分の第1の
シーケンスが、先にトラバースされた部分の第2のシー
ケンスと整合するかどうかを判定する、トラバースする
ことと、 前記第1のシーケンスが整合する場合、前記第1のシー
ケンスの長さおよび前記第1のシーケンスと整合する第
2のシーケンスとの間のオフセットを示すことと、 前記データ部分の少なくとも1つの非整合シーケンスの
ストリームを順次記録することと、 前記ストリームとは別個の順序付きコードワードシーケ
ンスを生成することであって、該コードワードはそれぞ
れ、整合する第1のシーケンスに先行する非整合シーケ
ンスの長さ、前記関連するオフセット、および前記整合
する第1のシーケンスの長さを示す3つのデータアイテ
ムを含むこととを含む方法。 - 【請求項2】ある長さの1つの前記順序付きコードワー
ドシーケンスおよびデータ部分の前記少なくとも1つの
非整合シーケンスのストリームを生成することをさらに
含む請求項1記載の方法。 - 【請求項3】前記入力シーケンスを順次トラバースする
ことは、 前記入力シーケンスを部分毎に順次トラバースして、各
部分で開始する部分の第1の最長シーケンスが、先にト
ラバースされた部分のシーケンスと整合するかどうかを
決定することを含む請求項1記載の方法。 - 【請求項4】前記入力シーケンスを順次トラバースする
ことは、前記入力シーケンスを部分毎に順次トラバース
して、各部分で開始する少なくとも所定の最小部分数の
部分の第1の最長シーケンスが、先にトラバースされた
部分のシーケンスと整合するかどうかを判定することを
含む請求項1記載の方法。 - 【請求項5】前記データアイテムはそれぞれ、バイト配
列していない可変ビット長のものである請求項1記載の
方法。 - 【請求項6】前記コードワードはバイト配列していない
請求項5記載の方法。 - 【請求項7】前記データアイテムは、 データアイテムを2mで割った余りを表すmビットと、 前記mビットの前に付けられる少なくとも1つのデリミ
タビットと、 データアイテムが2m−1よりも大きい場合、前記デー
タアイテムを2mで割った商を表す、前記デリミタビッ
トとは異なり、前記デリミタビットの前に付けられる前
記少なくとも1つのビットとを含むビットシーケンスで
表される請求項6記載の方法。 - 【請求項8】前記デリミタビットとは異なり、前記デリ
ミタビットの前に付けられる少なくとも1つのビット
は、1つまたは複数のビットを含み、該ビットはそれぞ
れ2mデータ部分を表す請求項7記載の方法。 - 【請求項9】前記コードワードそれぞれにおける前記デ
ータアイテムは、 前記データアイテムそれぞれを2mで割った余りそれぞ
れを表し、前記入力シーケンスの圧縮中に求められる第
1、第2、および第3の余りビット数と、 前記第1、第2、および第3の余りビット数それぞれの
前に付けられる少なくとも1つのデリミタビットと、 データアイテムが2m−1よりも大きい場合、前記デー
タアイテムを2mで割った商を表す、前記デリミタビッ
トとは異なり、前記デリミタビットの前に付けられる少
なくとも1つのビットと、を含むビットシーケンスで表
され、 前記コードワードは、各コードワードにおける前記第
1、第2、および第3の余りビット数を示す情報をさら
に含む請求項6記載の方法。 - 【請求項10】データ部分の入力シーケンスを圧縮する
圧縮システムであって、 前記入力シーケンスを部分毎に順次トラバースして、各
部分で開始する第1のシーケンス部分が、先にトラバー
スされた部分の第2のシーケンスと整合するかどうかを
判定する手段と、 前記整合した第1のシーケンスの長さおよび前記第1の
シーケンスと整合する第2のシーケンスとの間のオフセ
ットを示す手段と、 前記データ部分の少なくとも1つの非整合シーケンスの
ストリームを順次記録する手段と、 前記ストリームとは別個の順序付きコードワードシーケ
ンスを生成する手段であって、前記コードワードはそれ
ぞれ、整合する第1のシーケンスに先行する非整合シー
ケンスの長さ、前記関連するオフセット、および前記整
合する第1のシーケンスの長さを示す3つのデータアイ
テムを含む手段とを備えるシステム。 - 【請求項11】ある長さの1つの前記順序付きコードワ
ードシーケンスおよびデータ部分の前記少なくとも1つ
の非整合シーケンスのストリームを生成する手段をさら
に備える請求項10記載の圧縮システム。 - 【請求項12】前記入力シーケンスを順次トラバースす
る手段は、前記入力シーケンスを部分毎に順次トラバー
スして、各部分で開始する部分の第1の最長シーケンス
が、先にトラバースされた部分のシーケンスと整合する
かどうかを判定する手段を備える請求項10記載の圧縮
システム。 - 【請求項13】前記入力シーケンスを順次トラバースす
る手段は、前記入力シーケンスを部分毎に順次トラバー
スして、各部分で開始する少なくとも所定の最小部分数
の部分の第1の最長シーケンスが、先にトラバースされ
た部分のシーケンスと整合するかどうかを判定する手段
を備える請求項10記載の圧縮システム。 - 【請求項14】前記データアイテムはそれぞれ、バイト
配列していない可変ビット長のものである請求項10記
載の圧縮システム。 - 【請求項15】前記コードワードはバイト配列していな
い請求項14記載の圧縮システム。 - 【請求項16】前記データアイテムは、 データアイテムを2mで割った余りを表すmビットと、 前記mビットの前に付けられる少なくとも1つのデリミ
タビットと、 データアイテムが2m−1よりも大きい場合、前記デー
タアイテムを2mで割った商を表す、前記デリミタビッ
トとは異なり、前記デリミタビットの前に付けられる少
なくとも1つのビットとを含むビットシーケンスで表さ
れる請求項15記載の圧縮システム。 - 【請求項17】前記デリミタビットとは異なり、前記デ
リミタビットの前に付けられる前記少なくとも1つのビ
ットは、1つまたは複数のビットを含み、該ビットはそ
れぞれ2mデータ部分を表す請求項16記載の圧縮シス
テム。 - 【請求項18】前記コードワードそれぞれにおける前記
データアイテムは、 前記データアイテムそれぞれを2mで割った余りそれぞ
れを表し、前記入力シーケンスの圧縮中に求められる第
1、第2、および第3の余りビット数と、 前記第1、第2、および第3の余りビット数それぞれの
前に付けられる少なくとも1つのデリミタビットと、 データアイテムが2m−1よりも大きい場合、前記デー
タアイテムを2mで割った商を表す、前記デリミタビッ
トとは異なり、前記デリミタビットの前に付けられる少
なくとも1つのビットと、を含むビットシーケンスで表
され、 前記コードワードは、各コードワードにおける前記第
1、第2、および第3の余りビット数を示す情報をさら
に含む請求項15記載の圧縮システム。 - 【請求項19】計算装置によって実行可能であり、デー
タ部分の入力シーケンスを圧縮する方法を実行させる命
令プログラムを有形に具現する計算装置読み取り可能な
プログラム格納装置であって、前記方法は、 前記入力シーケンスを部分毎に順次トラバースすること
であって、それによって各部分で開始する第1のシーケ
ンス部分が、先にトラバースされた部分の第2のシーケ
ンスと整合するかどうかを判定する、トラバースするこ
とと、 前記第1のシーケンスが整合する場合、前記第1のシー
ケンスの長さおよび前記第1のシーケンスと整合する第
2のシーケンスとの間のオフセットを示すことと、 前記データ部分の少なくとも1つの非整合シーケンスの
ストリームを順次記録することと、 前記ストリームとは別個の順序付きコードワードシーケ
ンスを生成することであって、前記コードワードはそれ
ぞれ、整合する第1のシーケンスに先行する非整合シー
ケンスの長さ、関連するオフセット、および前記整合す
る第1のシーケンスの長さを示す3つのデータアイテム
を含むこととを含むプログラム格納装置。 - 【請求項20】前記入力シーケンスを順次トラバースす
ることは、前記入力シーケンスを部分毎に順次トラバー
スして、各部分で開始する部分の第1の最長シーケンス
が、先にトラバースされた部分のシーケンスと整合する
かどうかを判定することを含む請求項19記載のプログ
ラム格納装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/120,026 US6501395B1 (en) | 2002-04-10 | 2002-04-10 | System, method and computer readable medium for compressing a data sequence |
US10/120026 | 2002-04-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003318739A true JP2003318739A (ja) | 2003-11-07 |
JP3910932B2 JP3910932B2 (ja) | 2007-04-25 |
Family
ID=22387845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003101044A Expired - Fee Related JP3910932B2 (ja) | 2002-04-10 | 2003-04-04 | データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6501395B1 (ja) |
JP (1) | JP3910932B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6826301B2 (en) * | 2002-10-07 | 2004-11-30 | Infocus Corporation | Data transmission system and method |
US6819272B2 (en) * | 2002-11-06 | 2004-11-16 | Hewlett-Packard Development Company, L.P. | System, method and computer readable medium for compressing a data sequence for partial decompressing |
US9346556B2 (en) | 2012-07-31 | 2016-05-24 | General Electric Company | Method and apparatus for providing in-flight weather data |
US9634689B2 (en) * | 2014-08-20 | 2017-04-25 | Sunedison Semiconductor Limited (Uen201334164H) | Method and system for arranging numeric data for compression |
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 |
GB2172127B (en) | 1985-03-06 | 1988-10-12 | Ferranti Plc | Data compression system |
US5710719A (en) * | 1995-10-19 | 1998-01-20 | America Online, Inc. | Apparatus and method for 2-dimensional data compression |
JP3541930B2 (ja) * | 1998-08-13 | 2004-07-14 | 富士通株式会社 | 符号化装置及び復号化装置 |
US6262675B1 (en) * | 1999-12-21 | 2001-07-17 | International Business Machines Corporation | Method of compressing data with an alphabet |
-
2002
- 2002-04-10 US US10/120,026 patent/US6501395B1/en not_active Expired - Fee Related
-
2003
- 2003-04-04 JP JP2003101044A patent/JP3910932B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3910932B2 (ja) | 2007-04-25 |
US6501395B1 (en) | 2002-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5608396A (en) | Efficient Ziv-Lempel LZI data compression system using variable code fields | |
JP3009727B2 (ja) | 改良形データ圧縮装置 | |
JP2915568B2 (ja) | テープドライブシステムのための適応データ圧縮装置 | |
US5229768A (en) | Adaptive data compression system | |
JP2610084B2 (ja) | データ伸長方法および装置ならびにデータ圧縮伸長方法および装置 | |
US5455577A (en) | Method and system for data compression | |
US7817069B2 (en) | Alternative encoding for LZSS output | |
JP3025301B2 (ja) | データ予備圧縮装置及びデータ予備圧縮システム及びデータ圧縮比改善方法 | |
KR100353171B1 (ko) | 적응형데이터압축을수행하는방법및장치 | |
US5874908A (en) | Method and apparatus for encoding Lempel-Ziv 1 variants | |
US10587285B1 (en) | Hardware friendly data compression | |
JP2000315954A (ja) | 入力データストリームの圧縮方法とその装置 | |
JPS6356726B2 (ja) | ||
JP2003318739A (ja) | データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体 | |
JP3242795B2 (ja) | データ処理装置及びデータ処理方法 | |
US6819272B2 (en) | System, method and computer readable medium for compressing a data sequence for partial decompressing | |
JP3241787B2 (ja) | データ圧縮方式 | |
JP3653226B2 (ja) | 埋込みランレングス符号化によるデータ圧縮方法および装置 | |
JP3143029B2 (ja) | データ圧縮方法及びその装置並びにデータ伸長方法及びその装置 | |
JP3143030B2 (ja) | データ圧縮方法及びその装置並びにデータ伸長方法及びその装置 | |
JP3442105B2 (ja) | データ圧縮および復元方式 | |
JP2999587B2 (ja) | データ圧縮及び復元方式 | |
JPH06274311A (ja) | データ圧縮装置及びデータ復元装置 | |
JPH056260A (ja) | 日本語データ圧縮方式 | |
FI115937B (fi) | Häviötön datan tiivistäminen ja purkaminen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040413 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060118 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060418 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060711 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060731 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061121 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20061221 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070125 |
|
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: 20100202 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110202 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120202 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130202 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130202 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130202 Year of fee payment: 6 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130202 Year of fee payment: 6 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140202 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |