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
Application number
JP2003101044A
Other languages
English (en)
Other versions
JP3910932B2 (ja
Inventor
Ramkrishna Ghildiyal
ラムクリシュナ・ジールディヤル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2003318739A publication Critical patent/JP2003318739A/ja
Application granted granted Critical
Publication of JP3910932B2 publication Critical patent/JP3910932B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • 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

Landscapes

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

Abstract

(57)【要約】 【課題】 データ部分の入力シーケンスを圧縮する。 【解決手段】 入力シーケンスを部分毎に順次トラバー
スして、各部分で開始する第1のシーケンス部分が先に
トラバースされた第2のシーケンス部分と整合するかど
うかを判定する。整合する場合、第1のシーケンスの長
さおよび第1のシーケンスと整合する第2のシーケンス
との間のオフセットを示す。入力シーケンス中のデータ
部分の少なくとも1つの非整合シーケンスのストリーム
を順次記録する。ストリームとは別個に順序付けられた
コードワードシーケンスを生成する。各コードワード
は、整合する第1のシーケンスに先行する非整合シーケ
ンスの長さ、関連するオフセット、および整合する第1
のシーケンスの長さを示す3つのデータアイテムを含
む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、本発明はデータ圧
縮に関し、特に、Lempel−Ziv技法の変形を使
用してデータシーケンスを圧縮するシステムおよび方法
に関する。
【0002】
【従来の技術】データ圧縮技法は、格納または伝送すべ
きデータ量を低減して記憶容量および伝送時間それぞれ
を低減するために使用される。いずれの場合であって
も、元データを再構築可能にするために、対応する解凍
技法を提供する必要がある。
【0003】多くのデータ圧縮および解凍技法が知られ
ているが、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技法を使用して入力文字シーケンスを圧縮す
ることによって得られる出力コードストリームを示す。
出力コードストリームは、入力文字シーケンスからの非
整合文字シーケンスで間が埋められたコードワードを含
む。コードワードは、出力コードワードを解凍するとき
に、先に現れた文字シーケンスを参照して、元の入力文
字シーケンスをコードストリームから再構築することが
できる。
【0004】LZO技法には改良の余地がある。コード
ワードは、非整合文字シーケンスで間を埋められるた
め、バイト配列する必要がある。コードワードが可変長
である場合、デリミタも必要である。コードワードをバ
イト配列する必要性およびデリミタの必要性により、結
果としてLZO出力コードストリームに異質なビットが
含まれることになる。コードワードが固定長である場
合、デリミタは必要ない。しかし、このような固定長コ
ードワードは、コードワード中のデータアイテムによっ
て表現可能な値までの長さの文字シーケンスしか表すこ
とができない。
【0005】
【発明が解決しようとする課題】したがって、本発明の
目的は、データ部分の入力シーケンスを圧縮するシステ
ムおよび方法を提供することである。
【0006】
【課題を解決するための手段】本発明の態様によれば、
データ部分の入力シーケンスを圧縮する方法が提供され
る。入力シーケンスを部分毎に順次トラバースして、各
部分で開始する第1のシーケンス部分が先にトラバース
された第2のシーケンス部分と整合するかどうかを判定
する。第1のシーケンスが第2のシーケンスと整合する
場合、第1のシーケンスの長さおよび第1のシーケンス
と整合する第2のシーケンスとの間のオフセットを示
す。入力シーケンス中のデータ部分の少なくとも1つの
非整合シーケンスのストリームを順次記録する。ストリ
ームとは別個に順序付けられたコードワードシーケンス
を生成する。各コードワードは、整合する第1のシーケ
ンスに先行する非整合シーケンスの長さ、関連するオフ
セット、および整合する第1のシーケンスの長さを示す
3つのデータアイテムを含む。
【0007】本発明の別の態様によれば、上述したよう
にデータ部分の入力シーケンスを圧縮する手段を備えた
圧縮システムが提供される。
【0008】本発明の別の態様によれば、計算装置によ
って実行可能であり、データ部分の入力シーケンスを圧
縮する上記方法を実行させる命令プログラムを有形に具
現する計算装置読み取り可能なプログラム格納装置が提
供される。
【0009】本発明は、図面を参照することによってよ
りよく理解されよう。
【0010】
【発明の実施の形態】図2は、本発明の教示を組み込ん
だデータ圧縮/解凍システム2を示す模式図である。本
システムは、転送媒体12を介して解凍システム10に
転送するために、文字シーケンス6(図4)を表すデー
タのバイト等データ部分の入力シーケンスを圧縮して出
力コードストリーム8(図4)にする手段を内蔵した圧
縮システム4を含む。解凍システム10は、コードスト
リーム8を受信し、コードストリーム8を解凍または拡
張して、文字シーケンス6を再構築する。
【0011】図3は、圧縮システム4および解凍システ
ム10として機能するように適宜プログラムすることの
できる計算システム14の通常の要素を示すブロック図
である。要素は、システムバス20を介してシステムメ
モリ18に接続されたプログラマブルプロセッサ16を
含む。プロセッサ16は、システムメモリ18ならびに
他の入出力(I/O)チャネル22および周辺装置24
にアクセスする。計算システム14はさらに、CD−R
OM、テープ、磁気媒体、EPROM、EEPROM、
ROM等少なくとも1つのプログラム格納装置26を含
む。計算システムは、本発明の実施形態によるデータシ
ーケンスを圧縮する方法を実施する1つまたは複数のコ
ンピュータプログラムを格納する。プロセッサ16は、
1つまたは複数のコンピュータプログラムを読み取り実
行して、本方法を実行する。各コンピュータプログラム
は、任意所望のコンピュータプログラミング言語(機械
語、アセンブリ言語、高水準手続き形言語、またはオブ
ジェクト指向プログラミング言語を含む)で実施するこ
とができる。いずれの場合であっても、言語はコンパイ
ル済みのまたは解釈済みの言語であることができる。
【0012】図4は、本方法を使用して文字シーケンス
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つのデータアイテムを含
む。
【0013】図5は、圧縮システム4を使用して文字シ
ーケンス6を圧縮する方法の一連のステップ60を示す
フローチャートである。この圧縮順60について、文字
シーケンス6をトラバースすなわち処理する順に従って
述べる。圧縮順60は、入力シーケンス受信ステップ6
2で開始され、圧縮システム4が文字シーケンス6を受
信する。図4における文字シーケンス6は、文字シーケ
ンス6でのそれぞれの位置に従って番号がふられた25
個の文字を含む。圧縮順60は、文字シーケンス6を受
信した後、初期化ステップ64に進み、ポインタ(図示
せず)が、文字シーケンス6中の最初の文字"A"の前の
文字位置を指すように初期化される。
【0014】次に、圧縮順60は入力シーケンスが空に
なったと判定するステップ66に進み、圧縮システム4
が、文字シーケンス6中のすべての文字が完全に処理さ
れたと判定する。このステップ66において、文字シー
ケンス6に処理する文字が残っていると判定された場
合、圧縮順60はポインタを進めるステップ68に進
む。このステップ68において、圧縮システム4はポイ
ンタを1つの文字位置分進めて、ポインタが文字シーケ
ンス6中の次の文字を指すようにする。文字シーケンス
6処理のこの時点において、ポインタは、文字"A"(1
番目の文字)を指すように進められる。圧縮順60は次
に、整合シーケンスをチェックするステップ70に進
む。このステップ70において、圧縮システム4は、ポ
インタが指している文字で開始する所定の最小文字数の
第1のシーケンスが、先にトラバースすなわち処理され
た第2の文字シーケンスと整合すると判定する。マッチ
ングは、他のLZ技法に使用されているハッシュ法を使
用して行われる。
【0015】整合シーケンスをチェックするステップ7
0に従って、整合するシーケンスがないと判定された場
合、圧縮順60は非整合シーケンス更新ステップ72に
進み、圧縮システム4が非整合文字カウンタ(図示せ
ず)を増分する。次いで、圧縮順60は、入力シーケン
スが空になったと判定するステップ66に戻る。圧縮順
60は、ポインタを進めるステップ68において、ポイ
ンタが7番目の文字"B"を指すまで、文字シーケンス6
の第1の非整合シーケンス"ABCDEF"(1番目から
6番目の文字)を処理する場合、ステップ66〜72を
ループする。この時点において、非整合文字カウンタ
が、非整合シーケンス"ABCDEF"の文字数または長
さにより6の値に増分されている。
【0016】整合シーケンスをチェックするステップ7
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
個の文字である。
【0017】次に、圧縮順60は、非整合シーケンスを
チェックするステップ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のバッファに書き込む。
【0018】非整合シーケンスをチェックするステップ
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を形成する。
【0019】次いで、圧縮順60は、入力シーケンスが
空になったと判定するステップ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のバッファに付加す
る。
【0020】同様に、圧縮順60を使用して、文字シー
ケンス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番目の文字)の間に非整合シーケンスがない
ことを示す。
【0021】最後の3個の文字"IJK"(23番目から
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
の長さであることができる。
【0022】次に、コードワード中のデータアイテムの
符号化フォーマットについて述べる。各データアイテム
は、少なくとも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ビットで表される。
【0023】
【表1】
【0024】上記符号化フォーマットを使用すると、コ
ードワードの表現には最小の21ビットが採用される。
したがって、非整合シーケンスとして第2のバッファに
1つまたは2つの整合文字を書き込むほうが、かかるコ
ードワードを使用して表すよりも経済的である。この理
由は、整合シーケンスをチェックするステップ70にお
ける所定の最小文字数が3文字になるように選択される
ためである。
【0025】有利なことに、上述した圧縮方法は、最後
のコードワード以外のすべてのコードワードをバイト位
置合わせする必要がない。コードワードは共にグループ
化されるため、非整合文字シーケンスからコードワード
を区切る必要もなくなる。
【0026】本発明を上記実施形態において実施するも
のとして説明したが、本発明がそれだけに限定されると
解釈すべきではない。たとえば、入力シーケンスをバイ
ト毎に処理する代わりに、他の長さのデータ部分を使用
して処理してもよい。
【0027】別の例として、固定数のmビットの代わり
に可変数のビットを使用して、データアイテム値を2m
で割った余りを表してもよい。たとえば、各コードワー
ド中の3つのデータアイテムそれぞれのこの余り部分
を、別のビット数で表してもよい。コードワード中の各
データアイテムの余りビット数は、圧縮中に決定するこ
とができる。この場合、データアイテムの余り部分を表
すために使用される余りビット数を示すさらなる情報を
出力コードストリームに含める必要がある。
【図面の簡単な説明】
【図1】文字シーケンスおよび従来技術によるLemp
el−Ziv−Oberhumer(LZO)技法を使
用して文字シーケンスを圧縮することによって得られる
出力コードストリームを示す模式図である。
【図2】解凍システムに転送するために、本発明の実施
形態による、データシーケンスを圧縮してコードストリ
ームにする圧縮システムを含むデータ圧縮/解凍システ
ムの模式図である。
【図3】図2の圧縮システムおよび解凍システムとして
使用しうる計算システムの典型的なハードウェア要素を
示すブロック図である。
【図4】図2の圧縮システムを使用して図1における文
字シーケンスを圧縮することによって得られる出力コー
ドストリームを示す模式図である。
【図5】文字シーケンスを圧縮するために図2に示す圧
縮システムにおける一連のステップを示すフローチャー
トである。
【符号の説明】
2・・・データ圧縮/解凍システム、 4・・・圧縮システム、 6・・・文字シーケンス、 8・・・出力コードストリーム、 10・・・解凍システム、 12・・・転送媒体、 14・・・計算システム、 16・・・プログラマブルプロセッサ、 18・・・システムメモリ、 20・・・システムバス、 22・・・入出力(I/O)チャネル、 24・・・周辺装置、 26・・・プログラム格納装置、 42・・・第1のシーケンス、 44・・・第2のシーケンス、 46・・・非整合バイトシーケンス、 48・・・順序付きシーケンス、 50・・・コードワード

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】データ部分の入力シーケンスを圧縮する方
    法であって、 前記入力シーケンスを部分毎に順次トラバースすること
    であって、それによって各部分で開始する部分の第1の
    シーケンスが、先にトラバースされた部分の第2のシー
    ケンスと整合するかどうかを判定する、トラバースする
    ことと、 前記第1のシーケンスが整合する場合、前記第1のシー
    ケンスの長さおよび前記第1のシーケンスと整合する第
    2のシーケンスとの間のオフセットを示すことと、 前記データ部分の少なくとも1つの非整合シーケンスの
    ストリームを順次記録することと、 前記ストリームとは別個の順序付きコードワードシーケ
    ンスを生成することであって、該コードワードはそれぞ
    れ、整合する第1のシーケンスに先行する非整合シーケ
    ンスの長さ、前記関連するオフセット、および前記整合
    する第1のシーケンスの長さを示す3つのデータアイテ
    ムを含むこととを含む方法。
  2. 【請求項2】ある長さの1つの前記順序付きコードワー
    ドシーケンスおよびデータ部分の前記少なくとも1つの
    非整合シーケンスのストリームを生成することをさらに
    含む請求項1記載の方法。
  3. 【請求項3】前記入力シーケンスを順次トラバースする
    ことは、 前記入力シーケンスを部分毎に順次トラバースして、各
    部分で開始する部分の第1の最長シーケンスが、先にト
    ラバースされた部分のシーケンスと整合するかどうかを
    決定することを含む請求項1記載の方法。
  4. 【請求項4】前記入力シーケンスを順次トラバースする
    ことは、前記入力シーケンスを部分毎に順次トラバース
    して、各部分で開始する少なくとも所定の最小部分数の
    部分の第1の最長シーケンスが、先にトラバースされた
    部分のシーケンスと整合するかどうかを判定することを
    含む請求項1記載の方法。
  5. 【請求項5】前記データアイテムはそれぞれ、バイト配
    列していない可変ビット長のものである請求項1記載の
    方法。
  6. 【請求項6】前記コードワードはバイト配列していない
    請求項5記載の方法。
  7. 【請求項7】前記データアイテムは、 データアイテムを2mで割った余りを表すmビットと、 前記mビットの前に付けられる少なくとも1つのデリミ
    タビットと、 データアイテムが2m−1よりも大きい場合、前記デー
    タアイテムを2mで割った商を表す、前記デリミタビッ
    トとは異なり、前記デリミタビットの前に付けられる前
    記少なくとも1つのビットとを含むビットシーケンスで
    表される請求項6記載の方法。
  8. 【請求項8】前記デリミタビットとは異なり、前記デリ
    ミタビットの前に付けられる少なくとも1つのビット
    は、1つまたは複数のビットを含み、該ビットはそれぞ
    れ2mデータ部分を表す請求項7記載の方法。
  9. 【請求項9】前記コードワードそれぞれにおける前記デ
    ータアイテムは、 前記データアイテムそれぞれを2mで割った余りそれぞ
    れを表し、前記入力シーケンスの圧縮中に求められる第
    1、第2、および第3の余りビット数と、 前記第1、第2、および第3の余りビット数それぞれの
    前に付けられる少なくとも1つのデリミタビットと、 データアイテムが2m−1よりも大きい場合、前記デー
    タアイテムを2mで割った商を表す、前記デリミタビッ
    トとは異なり、前記デリミタビットの前に付けられる少
    なくとも1つのビットと、を含むビットシーケンスで表
    され、 前記コードワードは、各コードワードにおける前記第
    1、第2、および第3の余りビット数を示す情報をさら
    に含む請求項6記載の方法。
  10. 【請求項10】データ部分の入力シーケンスを圧縮する
    圧縮システムであって、 前記入力シーケンスを部分毎に順次トラバースして、各
    部分で開始する第1のシーケンス部分が、先にトラバー
    スされた部分の第2のシーケンスと整合するかどうかを
    判定する手段と、 前記整合した第1のシーケンスの長さおよび前記第1の
    シーケンスと整合する第2のシーケンスとの間のオフセ
    ットを示す手段と、 前記データ部分の少なくとも1つの非整合シーケンスの
    ストリームを順次記録する手段と、 前記ストリームとは別個の順序付きコードワードシーケ
    ンスを生成する手段であって、前記コードワードはそれ
    ぞれ、整合する第1のシーケンスに先行する非整合シー
    ケンスの長さ、前記関連するオフセット、および前記整
    合する第1のシーケンスの長さを示す3つのデータアイ
    テムを含む手段とを備えるシステム。
  11. 【請求項11】ある長さの1つの前記順序付きコードワ
    ードシーケンスおよびデータ部分の前記少なくとも1つ
    の非整合シーケンスのストリームを生成する手段をさら
    に備える請求項10記載の圧縮システム。
  12. 【請求項12】前記入力シーケンスを順次トラバースす
    る手段は、前記入力シーケンスを部分毎に順次トラバー
    スして、各部分で開始する部分の第1の最長シーケンス
    が、先にトラバースされた部分のシーケンスと整合する
    かどうかを判定する手段を備える請求項10記載の圧縮
    システム。
  13. 【請求項13】前記入力シーケンスを順次トラバースす
    る手段は、前記入力シーケンスを部分毎に順次トラバー
    スして、各部分で開始する少なくとも所定の最小部分数
    の部分の第1の最長シーケンスが、先にトラバースされ
    た部分のシーケンスと整合するかどうかを判定する手段
    を備える請求項10記載の圧縮システム。
  14. 【請求項14】前記データアイテムはそれぞれ、バイト
    配列していない可変ビット長のものである請求項10記
    載の圧縮システム。
  15. 【請求項15】前記コードワードはバイト配列していな
    い請求項14記載の圧縮システム。
  16. 【請求項16】前記データアイテムは、 データアイテムを2mで割った余りを表すmビットと、 前記mビットの前に付けられる少なくとも1つのデリミ
    タビットと、 データアイテムが2m−1よりも大きい場合、前記デー
    タアイテムを2mで割った商を表す、前記デリミタビッ
    トとは異なり、前記デリミタビットの前に付けられる少
    なくとも1つのビットとを含むビットシーケンスで表さ
    れる請求項15記載の圧縮システム。
  17. 【請求項17】前記デリミタビットとは異なり、前記デ
    リミタビットの前に付けられる前記少なくとも1つのビ
    ットは、1つまたは複数のビットを含み、該ビットはそ
    れぞれ2mデータ部分を表す請求項16記載の圧縮シス
    テム。
  18. 【請求項18】前記コードワードそれぞれにおける前記
    データアイテムは、 前記データアイテムそれぞれを2mで割った余りそれぞ
    れを表し、前記入力シーケンスの圧縮中に求められる第
    1、第2、および第3の余りビット数と、 前記第1、第2、および第3の余りビット数それぞれの
    前に付けられる少なくとも1つのデリミタビットと、 データアイテムが2m−1よりも大きい場合、前記デー
    タアイテムを2mで割った商を表す、前記デリミタビッ
    トとは異なり、前記デリミタビットの前に付けられる少
    なくとも1つのビットと、を含むビットシーケンスで表
    され、 前記コードワードは、各コードワードにおける前記第
    1、第2、および第3の余りビット数を示す情報をさら
    に含む請求項15記載の圧縮システム。
  19. 【請求項19】計算装置によって実行可能であり、デー
    タ部分の入力シーケンスを圧縮する方法を実行させる命
    令プログラムを有形に具現する計算装置読み取り可能な
    プログラム格納装置であって、前記方法は、 前記入力シーケンスを部分毎に順次トラバースすること
    であって、それによって各部分で開始する第1のシーケ
    ンス部分が、先にトラバースされた部分の第2のシーケ
    ンスと整合するかどうかを判定する、トラバースするこ
    とと、 前記第1のシーケンスが整合する場合、前記第1のシー
    ケンスの長さおよび前記第1のシーケンスと整合する第
    2のシーケンスとの間のオフセットを示すことと、 前記データ部分の少なくとも1つの非整合シーケンスの
    ストリームを順次記録することと、 前記ストリームとは別個の順序付きコードワードシーケ
    ンスを生成することであって、前記コードワードはそれ
    ぞれ、整合する第1のシーケンスに先行する非整合シー
    ケンスの長さ、関連するオフセット、および前記整合す
    る第1のシーケンスの長さを示す3つのデータアイテム
    を含むこととを含むプログラム格納装置。
  20. 【請求項20】前記入力シーケンスを順次トラバースす
    ることは、前記入力シーケンスを部分毎に順次トラバー
    スして、各部分で開始する部分の第1の最長シーケンス
    が、先にトラバースされた部分のシーケンスと整合する
    かどうかを判定することを含む請求項19記載のプログ
    ラム格納装置。
JP2003101044A 2002-04-10 2003-04-04 データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体 Expired - Fee Related JP3910932B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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