JPH08288861A - データ圧縮方法、データ圧縮解除方法及びデータ・コーディング装置 - Google Patents

データ圧縮方法、データ圧縮解除方法及びデータ・コーディング装置

Info

Publication number
JPH08288861A
JPH08288861A JP8016880A JP1688096A JPH08288861A JP H08288861 A JPH08288861 A JP H08288861A JP 8016880 A JP8016880 A JP 8016880A JP 1688096 A JP1688096 A JP 1688096A JP H08288861 A JPH08288861 A JP H08288861A
Authority
JP
Japan
Prior art keywords
data
block
dictionary
compression
compressed
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.)
Pending
Application number
JP8016880A
Other languages
English (en)
Inventor
Peter A Franaszek
ピーター・アンソニー・フラナツェク
John T Robinson
ジョン・ティモシー・ロビンソン
Joy A Thomas
ジョイ・アロイシアス・トーマス
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08288861A publication Critical patent/JPH08288861A/ja
Pending 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
    • 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
    • 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/46Conversion 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
    • H03M7/48Conversion 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 alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 所要の方法の内最適な方法により、またディ
クショナリ・ベース圧縮の場合には、所要のディクショ
ナリ・セットの内最適なものを使用して、データ・ブロ
ックを動的に圧縮する。 【解決手段】 複数のデータ圧縮メカニズムを使用して
データを圧縮し圧縮解除する装置及び方法。データの各
ブロックの代表的サンプルがテストされ、ブロックに用
いるのに適したデータ圧縮メカニズムが選択される。ブ
ロックは次に、選択されたメカニズムで圧縮され、圧縮
されたブロックには選択されたメカニズムの識別子が付
けられる。圧縮解除の場合は、その識別子が調べられ
て、ブロックに用いるのに適したデータ圧縮解除メカニ
ズムが選択される。ブロックはそこで選択されたメカニ
ズムにより圧縮解除される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にはデータ
処理装置に関し、特にデータを圧縮する装置及び方法に
関する。
【0002】
【従来の技術】一般にデータの圧縮では、シンボルのス
トリームが取られてコードに変換される。圧縮が効果的
なら、得られたコードのストリームは元のシンボル・ス
トリームよりも小さい。あるシンボルあるいはシンボル
のセットに対してあるコードを出力するかどうかの決定
はモデルによる。モデルは入力シンボルを処理し、どの
コードを出力するかを決定するためのデータとルールを
集めただけのものである。コンピュータ・プログラムは
このモデルを使い、各シンボルの確率を正確に定義し、
この確率を基にして適切なコードを出力する。
【0003】データ圧縮法は、ロスのないように(つま
りエラーの発生やデータの損失がないように)しなけれ
ばならないことが少なくない。この例外としては、例え
ばグラフィック・イメージやデジタル化音声に関するア
プリケーションがある。ロスのない圧縮は、圧縮/展開
サイクル後に入力データ・ストリームの正確な複製を出
力することを保証した方式からなる。これは、データベ
ース・レコード、表計算、ワープロ等のファイルを格納
する際によく用いられる圧縮のタイプである。こうした
アプリケーションの場合、たとえ1つのビットが失われ
れたとしても致命的な結果になる。
【0004】ロスのないデータ圧縮は、一般にはタイプ
の異なる2つのモデリングの一方を使って実現される。
統計をベースにするかディクショナリ(辞書)をベース
にするかである。統計的モデリングは、その文字の出現
の確率を用いて、一度に1つのシンボルを読み取ってエ
ンコードする。統計モデルはシンボルを、使用するビッ
トが元のシンボルよりも少ないビット列にエンコードす
ることによって圧縮を実現する。圧縮の質はモデルを開
発する際のプログラムの質による。モデルは、シンボル
について正しい確率を予測しなければならない。このよ
うな確率が一様分布から遠ければ遠いほど圧縮率は高ま
る。
【0005】ディクショナリ・ベースのモデリングで
は、コーディング・プログラムの重要性は薄れ、モデル
がきわめて重要になる。ディクショナリ・ベースの圧縮
プロセスは、全く違った方法によりデータを圧縮する。
このプロセス群は、個々のシンボルを可変長ビット列と
してはエンコードせず、シンボルの可変長文字列を個々
のポインタとしてエンコードする。ポインタは、句(フ
レーズ)ディクショナリへのインデックスになる。ポイ
ンタが、それが置き換えるフレーズよりも小さい場合に
圧縮が行なわれる。ディクショナリ・ベース圧縮は、多
くの点で一般には理解されやすい。日常生活では、電話
番号、デューイ10進数、郵便番号等を使って大きな文
字列をエンコードしている。ディクショナリ・ベースの
エンコーダが行なっているのは基本的にはこれと変わら
ない。
【0006】一般に、ディクショナリ・ベース圧縮はフ
レーズをポインタで置き換える。ポインタのビット数が
フレーズのビット数より少なければ圧縮が行なわれる。
しかしディクショナリを作成・維持する方法はさまざま
である。
【0007】圧縮が行なわれる前にスタティック・ディ
クショナリが作成され、これはデータが圧縮されている
間には変化しない。例えば、ある州の登録自動車をすべ
て格納したデータベースに用いられるスタティック・デ
ィクショナリは、"Ford"、"Jones"、"1994"等の単語を
中心にした数千のエントリで間に合う。このディクショ
ナリは、一度コンパイルされれば、エンコーダとデコー
ダ両方により必要に応じて用いられる。
【0008】スタティック・ディクショナリには長所も
短所もあるが、それでもスタティック・ディクショナリ
を使ったディクショナリ・ベースの圧縮法は、ほとんど
その場しのぎであり、実現形態に依存し汎用ではない。
【0009】周知のディクショナリ・ベース・プロセス
の多くはアダプティブ(適応型)である。適応方式は、
圧縮が始まるときに完全に定義したディクショナリを用
意するのではなく、ディクショナリなしで始めるか、デ
フォルトの基本ディクショナリで始めるかいずれかであ
る。圧縮が進むと、このプロセスは後で用いられる新し
いフレーズをエンコード済みトークンとして追加する。
【0010】データ圧縮一般の詳しい説明については、
Mark Nelsonによる"The Data Compression Book"(1992
by M&T Publishing,Inc.)を参照されたい。
【0011】先に述べた通り、過去のあるシーケンスの
シンボルの履歴は、将来のシーケンスの挙動について貴
重な情報を与える。データの圧縮や予測のためにこの情
報を使用するためさまざまな汎用法が考え出されてい
る。例えば、J. ZivとA. Lempelによる"Compression of
Individual Sequences by Variable Rate Coding"(IE
EE Trans. Inform. Theory, IT-24: 530-536、1978)に
説明されているLempel-Ziv("LZ")圧縮プロセスは、
過去のシンボルを使ってフレーズのディクショナリを作
成し、このディクショナリを使って文字列を圧縮する。
LempelとZivが示している通り、このプロセスは、圧縮
比があらゆる定常エルゴード的(どのシーケンスもある
いはかなり大きなサンプルも等しく全体を表すプロセス
に関する)シーケンスについてエントロピに収束すると
いう点で、さまざまな分野で最適である。従って、この
ような圧縮は、ある長いシーケンスが任意に与えられて
いるときは、シーケンスの分布が前もってわかるかのよ
うにうまく行なわれる。
【0012】Lempel-Zivの圧縮法は、そのシンプルさと
実現の容易さから広く普及している(実際、Lempel-Ziv
という呼称は、ディクショナリ・ベースの汎用コーディ
ング法を指して用いられることが多く、結果ここに述べ
る標準的な方法はこの大きなクラスの1つに過ぎなくな
っている)。この圧縮法は、データ圧縮のエントロピ限
度を漸近的に達成する。ただし収束は遅い場合があり、
短いシーケンスについては改良の余地がある。特に各フ
レーズの終わりに、プロセスはフレーズ・ツリーのルー
トに戻るのでコンテキスト情報が失われる。この問題の
解決法として、Plotnik、Weinberger、及びZivが提案し
たものがある。これは有限状態ソースに関し、Plotni
k、M. J. Weiberger、及びJ. Zivによる"Upper Bounds
on the Probability of Sequences Emitted by Finite-
State Sources and on the Redundancy of the Lempel-
Ziv Algorithm"(IEEE Trans. Inform. Theory, IT-38
(1):66-72, Jan. 1992)に述べられている。彼らの考え
は、ソースの有限状態モデルの各ソース状態(または想
定状態)について別々のLZライクなツリーを維持する
ことであった。Plotnik、Weinberger、及びZivは、この
手続きが漸近的に最適であることを示した。
【0013】米国特許出願番号第253047号(19
94年6月2日)は、コンテキスト情報が、データ処理
装置内のディクショナリ・ベース圧縮プロセスと共に実
現される圧縮装置について述べている。この圧縮装置
は、入力データ列内の次のフレーズをエンコードする前
に動的プログラミングを通して、次のフレーズをエンコ
ードする際に用いられる統計的に最適なディクショナリ
・セットを導く。このディクショナリ・セットの選択
は、プロセス内の各ディクショナリの過去の使用状態に
依存する。従ってディクショナリの選択は、エンコー
ダ、デコーダ両方に使用できるソースの状態機械記述を
用いた圧縮法で求められるようなシーケンスの前提モデ
ル、ではなく、圧縮に関するそれぞれの性能に直接関係
する。選択されたディクショナリ・セットはデータ処理
装置によって、次のデータ・フレーズをエンコードする
ために実現される。フレーズのコンテキストは、エンコ
ーディング・プロセスについて選択されたセットからデ
ィクショナリを選択するために用いられる。このプロセ
スで、次のフレーズに対応するディクショナリ内のフレ
ーズへのポインタが計算される。
【0014】上述の方式には、圧縮器と圧縮解除器がそ
れぞれ、先の文字列から次のフレーズに用いられるディ
クショナリを計算できるという特性がある。これにはデ
ィクショナリのIDを追加する必要がないという利点が
あるが、どれを使用するかは推定に基づくから、選ばれ
たディクショナリは、実際には使用するのに最適なもの
ではない可能性がある。さらに場合によっては、他のタ
イプの圧縮法を使用することで圧縮が改良されることが
ある。
【0015】
【発明が解決しようとする課題】本発明の目的は、所要
の方法の内最適なものを使用して、またディクショナリ
・ベース圧縮の場合には、所要のディクショナリ・セッ
トの内最適なものを使用して、データ・ブロックを動的
に圧縮することである。
【0016】
【課題を解決するための手段】本発明の一面に従って、
複数のデータ圧縮メカニズムを使用してデータを圧縮す
る装置及び方法が提供される。データの各ブロックを表
すサンプルがテストされて、データ圧縮メカニズムの内
そのブロックに用いるのに適したものが選択される。ブ
ロックは次に、選択されたメカニズムによって圧縮さ
れ、圧縮済みブロックに、選択されたメカニズムの識別
子が付けられる。
【0017】本発明の他の側面に従って、複数のデータ
圧縮解除メカニズムを使用してデータを圧縮解除する装
置及び方法が提供される。データの各ブロックは、ブロ
ックを圧縮するのに用いられる方法あるいはメカニズム
を示すコーディング識別子を含む。コーディング識別子
が調べられて、ブロックに用いるのに適したデータ圧縮
解除メカニズムが選択される。ブロックは次に選択され
たメカニズムにより圧縮解除される。
【0018】
【発明の実施の形態】本発明に使用するのに適した装置
構造を図1に示す。装置は、圧縮されていないデータ・
ブロック15を格納する第1メモリ10にアクセスする
CPU5を含む。CPU5と同じ情報処理装置内か別
の"リモート"装置内に第2メモリ20がある。メモリ1
0、20は半導体メモリ、磁気記憶装置(ディスク、テ
ープ等)、光記憶装置等の情報記憶媒体である。データ
・ブロックは第1メモリと第2メモリの間を転送され
る。
【0019】第2メモリのサイズが一定であるとき、第
2メモリ20に格納できるデータ・ブロックを増やすに
は、データ・ブロック25を圧縮したフォーマットで第
2メモリに格納すればよい。そのため、データ・ブロッ
クを第2メモリに転送されるとき圧縮する圧縮器30
と、データ・ブロックを第1メモリに転送されるとき圧
縮解除する圧縮解除器40がある。
【0020】この説明では、"コーディング"という言葉
は、一般にエンコーディング(圧縮)かデコーディング
(圧縮解除)の意味で使用する。また"CODEC"とい
う言葉はエンコーディングとデコーディングの両方を実
行する装置を指す。
【0021】図2は、本発明の原理に従って動作するデ
ータ圧縮器220とデータ圧縮解除器270を示す。デ
ータ圧縮器220、圧縮解除器270、及び関連ロジッ
クはそれぞれ、図1の圧縮器30、圧縮解除器40に代
わる。この実施例で、圧縮されていないデータ・ブロッ
ク210はオプションでタイプ情報205を格納でき
る。タイプ情報は、例えばあるフォーマットでエンコー
ドされたイメージ・データ、あるプログラミング言語の
ソース・コード等である。データ・ブロック210はデ
ータ圧縮器220へ入力される。
【0022】データ圧縮器220とデータ圧縮解除器2
70は、圧縮法テーブル240と、複数のディクショナ
リ・ブロック1、2、nを含むメモリ250を共有す
る。テーブル240とメモリ250はそれぞれ1つの共
有エンティティでよく、あるいはまたそれぞれが1つの
ローカルにデータ圧縮器220側、データ圧縮解除器2
70側に置かれるように複製することもできる。圧縮法
テーブル240には、例えば圧縮ルーチンへのポインタ
のアレイや圧縮/圧縮解除ハードウェア要素のデバイス
・アドレスを追加できる。テーブル240の方法エント
リはそれぞれ、方法がディクショナリ・ベースかそうで
ないかを示す識別子240aを含む。
【0023】ディクショナリ・ブロックは、ディクショ
ナリ・ブロック・メモリ内のブロックのオフセットを指
定するインデックスによって識別される。以下に詳しく
述べるが、圧縮器220は圧縮の方法を選択する。ディ
クショナリ・ベースの方法の場合、圧縮器220はディ
クショナリ・ブロックも選択し、データを圧縮する。圧
縮器は、圧縮されたデータ・ブロック230を出力し、
これに、選択された圧縮法を示すインデックス(M)2
32が付き、ディクショナリ・ベースの方法の場合には
ディクショナリ・ブロック識別子(D)が付く。これは
圧縮済みブロックの圧縮法記述(CMD)エリア235
にエンコードされる。
【0024】データの圧縮、圧縮解除にディクショナリ
を用いることは周知のことであり、例えば米国特許出願
番号第253047号(1994年6月2日)及び米国
特許第4814746号に述べられている。
【0025】圧縮法識別子Mが、またディクショナリ・
ベースの方法では、ディクショナリ・ブロック識別子D
が、CMDエリア235にエンコードされた圧縮済みデ
ータ・ブロック230は、圧縮解除器270に入力され
る。圧縮解除器270は、圧縮法テーブル240にある
指定の方法を使用して(インデックスとして圧縮法識別
子を使用して)、またディクショナリ・ベースの方法の
場合には、ディクショナリ・ブロック・メモリ250に
ある指定のディクショナリ・ブロックを使用して、デー
タを圧縮解除し、圧縮解除されたデータ・ブロック28
0を出力する。
【0026】図3にデータ圧縮器220の全体構造を示
す。各要素については以下に詳しく説明する。圧縮され
ていないブロック210が入力として、最初にブロック
310にあると、圧縮法リスト(CML)が決定され
る。CMLは形式がMまたは(M、D)のエントリのア
レイで、後者の形式はディクショナリ・ベースの方法に
用いられる。Mは、先に図2に関して述べた圧縮法テー
ブル240へのインデックスであり、Dは、これも先に
図2に関して述べた、ディクショナリ・ブロック・メモ
リ250に格納されたディクショナリ・ブロックのディ
クショナリ・ブロック識別子である。
【0027】次にブロック320で、各方法または(方
法、ディクショナリ)のペアが、圧縮されていないデー
タ・ブロック205から取られたサンプルについてテス
トされ、得られたサンプル圧縮結果がセーブされる。ブ
ロック330で、最適な方法または(方法、ディクショ
ナリ)のペアが見つけられる(すなわち圧縮率がもっと
も高いもの)。最適方法は、各方法について、圧縮され
ていないサンプルのサイズを、圧縮されたサンプルのサ
イズと比較することによってすぐに決定される。好適な
実施例の場合、複数の方法それぞれによって圧縮された
同じブロックのサイズがテーブルに格納され、最適方法
はテーブルを調べて、もっとも小さい圧縮済みブロック
を見つけることによって決定される。最適なサンプル圧
縮結果が、しきい値条件(圧縮されていないサンプルに
比べて圧縮率が30%等)を満足しない場合、この時点
で335のようにブロックを圧縮しないことが決定され
る。この場合、ブロックは非圧縮フォーマットで格納さ
れる。他の場合、ブロックはブロック340で、ブロッ
ク330で見つかった最適方法(及び該当する場合には
ディクショナリ)により圧縮され、方法または(方法、
ディクショナリ)のペアがブロックのCMDエリア23
5でエンコードされ、圧縮されたデータ・ブロック23
0が出力として得られる。
【0028】ディクショナリ圧縮の方法では、代表的サ
ンプルをテストする方法として、ある数(例えば30)
のフレーズの圧縮比が決定される。フレーズはすべてテ
ストできることを理解されたい。シンボル・ベースの圧
縮(ハフマン・コーディングまたは算術コーディング
等)の場合、ある数(例えば150)あるいはパーセン
ト(例えば10%乃至20%)のシンボルをテストでき
る。
【0029】データ圧縮器220の動作を図4、図5及
び図6に示す。
【0030】ステップ401で、ある圧縮されていない
ブロックBのデータ・タイプ(定数、イメージ等)がわ
かる場合、ステップ404で、CML(圧縮法リスト)
が、そのデータ・タイプのために予め選択された圧縮方
法のリストにセットされる。他の場合、データ・タイプ
が不明の場合、ステップ407でCMLはデフォルトの
圧縮方法リストにセットされる。
【0031】次に、CML内のディクショナリ・ベース
の方法Mそれぞれについて以下のステップが実行され
る。ここでは、CML内の各エントリEのチェックが行
なわれる。最初、ステップ409で、Eが最初のCML
エントリにセットされる。次に、ステップ411で、E
の方法がディクショナリ・ベースかどうか判定される。
そうでない場合、ステップ429が実行され、Eが最後
のCMLエントリかどうかチェックされる。そうでない
場合、ステップ431でEは次のCMLエントリにセッ
トされ、方法はステップ411に戻る。ステップ429
で、Eが最後のCMLエントリであることが判定された
場合はループは終了し、方法はステップ434に進む。
【0032】ステップ411のテストで、Eの方法がデ
ィクショナリ・ベースと判定された場合は以下のステッ
プが実行され、これらのステップが終了すると制御はス
テップ429に進む。
【0033】ステップ414で、データ・タイプがわか
るかどうか(すなわちブロックのタイプ・フィールド2
05に"データ・タイプ"・エントリがあるかどうか)判
定される。データ・タイプがある場合、ステップ41
7、421、424、427で、Eをリスト(M、D
1)、(M、D2)、...、(M、Dj)で置き換え
ることでCMLが拡張される。ここに(D1、...、
Dj)は、圧縮方法Mを使用するときにデータ・タイプ
について予め選択されたディクショナリ・ブロック識別
子のリストである。他の場合(データ・タイプがわから
ない場合)、ステップ419、421、424、427
で、Eがリスト(M、D1')、(M、D
2')、...、(M、Dk')で置き換えられる。ここ
に(D1'、...、Dk')は、圧縮方法Mのディクシ
ョナリ・ブロック識別子のデフォルト・リストである。
【0034】次に、CMLの形式Mか(M、D)のエン
トリEそれぞれについてステップ437、439、44
1、444、447が実行される(後者のエントリはデ
ィクショナリ・ベースの方法)。
【0035】ステップ434で、EはCMLの最初のエ
ントリにセットされ、エントリ番号として用いられるI
は1にセットされる。ステップ437乃至447が終了
するとステップ449で、Eが最後のCMLエントリか
どうかがチェックされる。そうでない場合、ステップ4
51でEは次のCMLエントリにセットされ、Iは増分
され、制御はブロック437に戻る。他の場合ループは
終了し制御はステップ454に進む。
【0036】ステップ437乃至447はループの本体
をなす。ステップ437、439、441、444は、
Bからのサンプルに圧縮法Mを(Mがディクショナリ・
ベースならディクショナリDも)適用する。B(b1、
b2)はB内の連続バイトb1乃至b2からなる。これ
により長さKバイトの圧縮サンプルが得られる。次にス
テップ447で、得られた圧縮済みサンプルの長さK
が、エントリCRTT(I)として圧縮比テスト・テー
ブルCRTTにセーブされる。このテーブルは整数のア
レイである。注意:上述の圧縮テストは独立しており、
図はシーケンシャル・ループを示しているが、これらの
テストをすべてパラレルに行なう形態も可能である。
【0037】次にステップ454で、テーブルCRTT
内でもっとも小さい圧縮済みの長さ、例えばエントリC
RTT(Q)が見つけられる。ステップ457でもっと
も小さい圧縮済み長さがしきい値と比較される。圧縮さ
れていない入力ブロックがすべて一定のサイズなら、し
きい値も一定である。他の場合、しきい値は入力ブロッ
ク・サイズの関数として計算できる。例えばしきい値
は、現在圧縮されているブロックのサイズのある分数と
して計算できる。
【0038】ステップ457で、CRTT(Q)が充分
小さくないと判定された場合、ステップ459でデータ
・ブロックBは圧縮されない。他の場合、ステップ45
7でCRTT(Q)が充分小さいと判定された場合、ス
テップ461で、EはCMLのQ番目のエントリに等し
くセットされる。ここにEは形式Mまたは(M、D)で
ある。ステップ464、467、470で、BはMを、
またMがディクショナリ・ベースならディクショナリD
も、使用してB'に圧縮される。次にステップ457
で、Eは圧縮済みブロック(B')のCMD(圧縮法記
述)プレフィクス・エリアに記録され、得られたブロッ
クB'が出力される。
【0039】図7は圧縮解除器270の構造を示す。あ
る圧縮済みブロック230を入力とすると、最初にブロ
ック510で、ブロックを圧縮するための方法が(CM
Dフィールドをデコードすることによって)、また方法
がディクショナリ・ベースであれば、用いられるディク
ショナリの識別子も、見つけられる。次にブロック52
0で、圧縮法とディクショナリ(適用される場合)によ
りブロックが圧縮解除され、圧縮されていないデータ・
ブロック280が出力として得られる。
【0040】図8は、本発明の原理を記憶装置に応用し
た例を示す。記憶装置には、任意のデータ・ブロックが
格納され検索されるRAM(ランダム・アクセス・メモ
リ)620がある。メモリが一杯になる前に格納でき
る、圧縮されていないデータ・ブロックの総バイト数を
増やすため、圧縮されていないブロック210が、圧縮
済みブロック230として格納される前にデータ圧縮器
220によって圧縮され、検索されたときデータ圧縮解
除器270によって圧縮解除される。
【0041】この例で、メモリ620の一部は、ディク
ショナリ・ブロック250を格納するのに用いられる。
ディクショナリ・ブロックは、前もって決定される、あ
る個数の固定したスタティック・ブロック、また後述す
るように作成されて後で削除される、ある個数のブロッ
クを含む。
【0042】簡単のため、圧縮されていないデータ・ブ
ロックはすべて、ある一定サイズであると仮定する(例
えば4096バイト)。このブロックはそれぞれ、例え
ば512バイトのサブブロック8個からなる。場合によ
っては、最初のこのサブブロックをディクショナリとし
て使用することで、固定スタティック・ディクショナリ
よりも圧縮率が向上することがあり得る。この方法は、
圧縮法テーブル240の603として示した。代わり
に、各サブブロックの最初の64バイトを取り、これら
を連接して512バイトのディクショナリにすると、あ
る種のフレーズ・パターンを持つブロックには最適なデ
ィクショナリになり得る。この方法は図の604に示し
ている。図に示したこの他の3つの方法は、算術コーデ
ィング600、ラン・レングス・コーディング601、
及びスタティック・ディクショナリ602の固定セット
の1つを使用するLZ1である。
【0043】データ圧縮器は、先に述べたように動作す
るが、最適圧縮法が、最初のサブブロック602を使用
することか、あるいは複数のサブブロックを連接するこ
とと判明した場合、ディクショナリはこの時点でディク
ショナリ・ブロック250の1つとして格納され、標準
的な方式でディクショナリ・ディレクトリ640が更新
され、ディクショナリ・ディレクトリにより与えられる
ディクショナリ・ブロックのIDがCMDに格納され
る。いずれにしろ圧縮済みデータ・ブロック230はメ
モリ620に格納され、ブロック識別子のメモリ・アド
レス630へのマッピングが標準的な方式で更新され
る。逆にデータ圧縮解除器は、先に述べたように動作す
るが、圧縮済みブロックが検索されると、最初のサブブ
ロックまたは複数のサブブロックの連接という方法が用
いられたことがわかった場合、圧縮済みデータ・ブロッ
クがメモリから削除されているなら、ディクショナリも
この時点でディクショナリ・ブロックのセットから削除
される。
【0044】図9は、本発明の原理に従った、圧縮装置
のエンコーダ/デコーダのブロック図である。図9の装
置は、読出し専用メモリ710に格納されたプログラム
・コード712の制御下でデータ・ブロックのエンコー
ディング、デコーディングを制御するマイクロプロセッ
サ(μP)708を含む。プログラム・コードは図4乃
至図6の方法と図7の圧縮解除を実現する。装置はま
た、マイクロプロセッサ708から送られる制御データ
により決定されるエンコーディングとデコーディングの
両方の機能を実行するCODEC702、704、70
6を含む。CODECはハードウェア・ロジック回路
に、またはマイクロプロセッサ708によって実行され
るプログラム・コードとして、組み込める。圧縮法テー
ブル240は、マイクロプロセッサによってアドレスさ
れ読み出される読出し専用メモリ714に格納される。
ブロック・アドレスIDマップ630、ディクショナリ
・ディレクトリ640、ディクショナリ・ブロック25
0、及び圧縮済みブロック230はRAM(ランダム・
アクセス・メモリ)716、718、720に格納され
る(これらは複数のメモリでも、1つのメモリ内のアド
レス・スペースでもよい)。
【0045】本発明の装置及び方法は、いくつかの方法
で変更及び拡張できる。例えば複数のディクショナリ・
ブロックを1つの論理ディクショナリとして使用でき
る。このような例では、ディクショナリ・ブロック・セ
ット、例えばD1、D2、...、Dnをディクショナ
リ・ベースの圧縮法、例えばLempel-Ziv1(LZ1)に
よって、あたかも順序づけられたセットが論理的に1つ
のディクショナリであるかのように使用できる。この場
合D1、D2、...、Dnは、1つの論理ディクショ
ナリDに連結されるとみなされ、圧縮された出力のポイ
ンタは、n個の実際のディクショナリ・ブロックの1つ
のサブストリングを指す。
【0046】また別の変形例として、圧縮器と圧縮解除
器によって用いられるディクショナリ・ブロックのセッ
トは所定セットに固定する必要はない。例えばこのセッ
トは最初は空でよく、ディクショナリ・ベースの圧縮法
によって作成されたディクショナリは、ディクショナリ
・ブロックの最大数に達するまで、後のブロックが圧縮
される際にセットに追加できる。
【0047】さらに、圧縮解除のためにあるディクショ
ナリ・ブロックを要する圧縮済みブロックが現在はない
場合(これはCMDフィールドを調べることで判定でき
る)、そのディクショナリ・ブロックは現在のディクシ
ョナリ・ブロック・セットから削除できる。
【0048】この他の可能性の内、ディクショナリ・ブ
ロック・セットはLRU的な方式により管理可能であ
る。つまり、新しいディクショナリ・ブロックを追加す
るためには、最近の使用率がもっとも低いディクショナ
リ・ブロック(圧縮解除のために現在は必要ないもの)
を置き換えるよう選択できる。
【0049】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0050】(1)複数のデータ圧縮メカニズムを使用
してデータを圧縮する方法であって、データのブロック
の一部をテストして、前記ブロックに用いるのに適した
データ圧縮メカニズムを1つ選択するステップと、前記
選択されたメカニズムを使用して前記ブロックを圧縮す
るステップと、圧縮されたブロックに、前記選択された
1つのメカニズムの識別子を付けるステップと、を含
む、圧縮方法。 (2)前記識別子を使用して、データを圧縮解除するた
めに使用する前記1つのメカニズムを識別するステップ
を含む、上記(1)記載の方法。 (3)前記データ圧縮メカニズムは、ラン・レングス・
エンコーダ、アダプティブ・ディクショナリ及びスタテ
ィック・ディクショナリの内少なくとも2つから選択さ
れる、上記(1)記載の方法。 (4)前記データ圧縮メカニズムの内少なくとも1つは
ディクショナリからなる、上記(1)記載の方法。 (5)複数のデータ圧縮メカニズムと、圧縮されるデー
タを格納するメモリと、データのブロックの一部をテス
トして、前記ブロックに用いるのに適したデータ圧縮メ
カニズムを1つ選択し、圧縮に適した前記データ圧縮メ
カニズムの1つにデータをルーティングする第1ロジッ
クと、圧縮済みの各ブロックに、前記選択された1つの
メカニズムの識別子を付ける第2ロジックと、を含む、
データ・コーディング装置。 (6)前記第2ロジックは、前記ブロックの内少なくと
もいくつかに、ディクショナリを識別するフィールドを
付ける手段を含む、上記(5)記載の装置。 (7)複数の圧縮解除メカニズムと、前記識別子を使用
して、データを圧縮解除するのに使用する前記1つのメ
カニズムを識別し、各データ・ブロックを、これに応答
する前記圧縮解除メカニズムの内対応する1つにルーテ
ィングするルーティング・ロジックと、を含む、上記
(5)記載の装置。 (8)複数のデータ圧縮解除メカニズムを使用してデー
タを圧縮解除する方法であって、データ・ブロックそれ
ぞれに付属のコーディング識別子をデコードして、前記
ブロックに用いるのに適したデータ圧縮解除メカニズム
1つを選択するステップと、前記選択された1つのメカ
ニズムを使用して前記ブロックを圧縮解除するステップ
と、を含む、データ圧縮解除方法。 (9)前記データ圧縮解除メカニズムは、ラン・レング
ス・エンコーダ、アダプティブ・ディクショナリ及びス
タティック・ディクショナリの内少なくとも2つから選
択される、上記(8)記載の方法。 (10)前記データ圧縮解除メカニズムの内少なくとも
1つはディクショナリからなる、上記(8)記載の方
法。 (11)複数のデータ圧縮解除メカニズムと、圧縮解除
されるデータの、少なくともいくつかは複数のデータ要
素からなる、ブロックを受信するバッファと、各ブロッ
クに付属のコーディング識別子をテストして、前記ブロ
ックに用いるのに適したデータ圧縮解除メカニズムを1
つ選択し、圧縮解除するのに適した前記1つのデータ圧
縮解除メカニズムに前記ブロックをルーティングするロ
ジックと、を含む、データ・コーディング装置。 (12)前記ロジックは、各ブロックの一部をディクシ
ョナリとして使用する手段を含む、上記(11)記載の
装置。 (13)前記ロジックは、ディクショナリとして使用
し、最適な圧縮結果をもたらす各ブロックのサブセット
を選択する手段を含む、上記(11)記載の装置。
【図面の簡単な説明】
【図1】本発明に使用するのに適した装置構造の図であ
る。
【図2】本発明の原理に従ったデータ圧縮器とデータ圧
縮解除器の図である。
【図3】図2のデータ圧縮器の全体構造の図である。
【図4】図3のデータ圧縮器の動作のフローチャートを
示す図である。
【図5】図3のデータ圧縮器の動作のフローチャートを
示す図である。
【図6】図3のデータ圧縮器の動作のフローチャートを
示す図である。
【図7】図2のデータ圧縮解除器の全体構造の図であ
る。
【図8】本発明の原理に従った圧縮と圧縮解除を取り入
れた記憶装置の図である。
【図9】本発明の原理に従った圧縮装置のエンコーダ/
デコーダのブロック図である。
【符号の説明】
5 CPU 10 第1メモリ 15、25 データ・ブロック 20 第2メモリ 30 圧縮器 40 圧縮解除器 205 タイプ情報 210 非圧縮データ・ブロック 220 データ圧縮器 230 圧縮済みデータ・ブロック 235 CMDエリア 240 圧縮法テーブル 250 メモリ 270 データ圧縮解除器 280 圧縮解除データ・ブロック 600 算術コーディング 601 ラン・レングス・コーディング 602 スタティック・ディクショナリ 620、716、718、720 RAM 630 メモリ・アドレス 640 ディクショナリ・ディレクトリ 710、714 読出し専用メモリ 712 プログラム・コード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン・ティモシー・ロビンソン アメリカ合衆国10598、ニューヨーク州ヨ ークタウン・ハイツ、ノース・ディアフィ ールド・アベニュー 3314 (72)発明者 ジョイ・アロイシアス・トーマス アメリカ合衆国10607、ニューヨーク州ホ ワイト・プレインズ、ビルトン・ロード 21

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】複数のデータ圧縮メカニズムを使用してデ
    ータを圧縮する方法であって、 データのブロックの一部をテストして、前記ブロックに
    用いるのに適したデータ圧縮メカニズムを1つ選択する
    ステップと、 前記選択されたメカニズムを使用して前記ブロックを圧
    縮するステップと、 圧縮されたブロックに、前記選択された1つのメカニズ
    ムの識別子を付けるステップと、 を含む、圧縮方法。
  2. 【請求項2】前記識別子を使用して、データを圧縮解除
    するために使用する前記1つのメカニズムを識別するス
    テップを含む、請求項1記載の方法。
  3. 【請求項3】前記データ圧縮メカニズムは、ラン・レン
    グス・エンコーダ、アダプティブ・ディクショナリ及び
    スタティック・ディクショナリの内少なくとも2つから
    選択される、請求項1記載の方法。
  4. 【請求項4】前記データ圧縮メカニズムの内少なくとも
    1つはディクショナリからなる、請求項1記載の方法。
  5. 【請求項5】複数のデータ圧縮メカニズムと、 圧縮されるデータを格納するメモリと、 データのブロックの一部をテストして、前記ブロックに
    用いるのに適したデータ圧縮メカニズムを1つ選択し、
    圧縮に適した前記データ圧縮メカニズムの1つにデータ
    をルーティングする第1ロジックと、 圧縮済みの各ブロックに、前記選択された1つのメカニ
    ズムの識別子を付ける第2ロジックと、 を含む、データ・コーディング装置。
  6. 【請求項6】前記第2ロジックは、前記ブロックの内少
    なくともいくつかに、ディクショナリを識別するフィー
    ルドを付ける手段を含む、請求項5記載の装置。
  7. 【請求項7】複数の圧縮解除メカニズムと、 前記識別子を使用して、データを圧縮解除するのに使用
    する前記1つのメカニズムを識別し、各データ・ブロッ
    クを、これに応答する前記圧縮解除メカニズムの内対応
    する1つにルーティングするルーティング・ロジック
    と、 を含む、請求項5記載の装置。
  8. 【請求項8】複数のデータ圧縮解除メカニズムを使用し
    てデータを圧縮解除する方法であって、 データ・ブロックそれぞれに付属のコーディング識別子
    をデコードして、前記ブロックに用いるのに適したデー
    タ圧縮解除メカニズム1つを選択するステップと、 前記選択された1つのメカニズムを使用して前記ブロッ
    クを圧縮解除するステップと、 を含む、データ圧縮解除方法。
  9. 【請求項9】前記データ圧縮解除メカニズムは、ラン・
    レングス・エンコーダ、アダプティブ・ディクショナリ
    及びスタティック・ディクショナリの内少なくとも2つ
    から選択される、請求項8記載の方法。
  10. 【請求項10】前記データ圧縮解除メカニズムの内少な
    くとも1つはディクショナリからなる、請求項8記載の
    方法。
  11. 【請求項11】複数のデータ圧縮解除メカニズムと、 圧縮解除されるデータの、少なくともいくつかは複数の
    データ要素からなる、ブロックを受信するバッファと、 各ブロックに付属のコーディング識別子をテストして、
    前記ブロックに用いるのに適したデータ圧縮解除メカニ
    ズムを1つ選択し、圧縮解除するのに適した前記1つの
    データ圧縮解除メカニズムに前記ブロックをルーティン
    グするロジックと、 を含む、データ・コーディング装置。
  12. 【請求項12】前記ロジックは、各ブロックの一部をデ
    ィクショナリとして使用する手段を含む、請求項11記
    載の装置。
  13. 【請求項13】前記ロジックは、ディクショナリとして
    使用し、最適な圧縮結果をもたらす各ブロックのサブセ
    ットを選択する手段を含む、請求項11記載の装置。
JP8016880A 1995-02-24 1996-02-01 データ圧縮方法、データ圧縮解除方法及びデータ・コーディング装置 Pending JPH08288861A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US393967 1982-06-30
US08/393,967 US5870036A (en) 1995-02-24 1995-02-24 Adaptive multiple dictionary data compression

Publications (1)

Publication Number Publication Date
JPH08288861A true JPH08288861A (ja) 1996-11-01

Family

ID=23556986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8016880A Pending JPH08288861A (ja) 1995-02-24 1996-02-01 データ圧縮方法、データ圧縮解除方法及びデータ・コーディング装置

Country Status (3)

Country Link
US (1) US5870036A (ja)
EP (1) EP0729237A2 (ja)
JP (1) JPH08288861A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214403B2 (en) 2009-03-24 2012-07-03 Kabushiki Kaisha Toshiba Structured document management device and method
JP2012221172A (ja) * 2011-04-07 2012-11-12 Canon Inc 情報処理装置、情報処理方法
EP3051430A1 (en) 2015-01-30 2016-08-03 Fujitsu Limited Encoding program, decompression program, compression method, decompression method, compression device and decompresssion device
US9479195B2 (en) 2015-01-30 2016-10-25 Fujitsu Limited Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device
EP3154202A1 (en) 2015-10-05 2017-04-12 Fujitsu Limited Encoding program, encoding method, encoding device, decoding program, decoding method, and decoding device
JP2017169117A (ja) * 2016-03-17 2017-09-21 株式会社東芝 データ圧縮システム及び方法

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826225A (en) * 1996-09-18 1998-10-20 Lucent Technologies Inc. Method and apparatus for improving vector quantization performance
US6253264B1 (en) 1997-03-07 2001-06-26 Intelligent Compression Technologies Coding network grouping data of same data type into blocks using file data structure and selecting compression for individual block base on block data type
US5999949A (en) * 1997-03-14 1999-12-07 Crandall; Gary E. Text file compression system utilizing word terminators
US6100824A (en) * 1998-04-06 2000-08-08 National Dispatch Center, Inc. System and method for data compression
AU4218199A (en) * 1998-05-27 1999-12-13 Microsoft Corporation System and method for entropy encoding quantized transform coefficients of a signal
US6697525B1 (en) * 1998-10-02 2004-02-24 Parthusceva Ltd. System method and apparatus for performing a transform on a digital image
US6624761B2 (en) * 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US9792308B2 (en) * 1998-12-11 2017-10-17 Realtime Data, Llc Content estimation data compression
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
US6597812B1 (en) * 1999-05-28 2003-07-22 Realtime Data, Llc System and method for lossless data compression and decompression
US20030191876A1 (en) * 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
US6748457B2 (en) * 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
AU2001241321A1 (en) * 2000-03-03 2001-09-12 Vill Ab Infinite level meta-learning through compression
US9143546B2 (en) * 2000-10-03 2015-09-22 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
US7417568B2 (en) * 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US20020101932A1 (en) * 2000-11-29 2002-08-01 Montgomery Dennis L. Method and apparatus for encoding information using multiple passes and decoding in a single pass
US6978047B2 (en) 2000-11-29 2005-12-20 Etreppid Technologies Llc Method and apparatus for storing digital video content provided from a plurality of cameras
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
KR100359118B1 (ko) * 2001-03-20 2002-11-04 주식회사 아름테크놀로지 균일 엔트로피 데이터에 대한 비손실 압축방법
US7272663B2 (en) * 2001-08-28 2007-09-18 International Business Machines Corporation Method and system for delineating data segments subjected to data compression
GB2381606A (en) * 2001-10-31 2003-05-07 Hewlett Packard Co Data compression, storage and analysis
US6577254B2 (en) 2001-11-14 2003-06-10 Hewlett-Packard Development Company, L.P. Data compression/decompression system
US7039106B2 (en) * 2002-03-25 2006-05-02 Intel Corporation Processing digital data prior to compression
US7574719B1 (en) 2002-06-27 2009-08-11 Microsoft Corporation Program guide data compression
GB2396777A (en) * 2002-12-23 2004-06-30 Telsis Holdings Ltd Using alpha addresses in place of numeric addresses in gsm networks
US7342902B2 (en) * 2003-04-15 2008-03-11 Cisco Technology, Inc. Two stage loss-less compressor for a clear channel over a packet network
CA2475189C (en) * 2003-07-17 2009-10-06 At&T Corp. Method and apparatus for window matching in delta compressors
US7420992B1 (en) 2005-03-17 2008-09-02 Packeteer, Inc. Adaptive network traffic compression mechanism including dynamic selection of compression algorithms
US7818728B1 (en) * 2005-04-04 2010-10-19 Qd Technology Llc Maximizing system resources used to decompress read-only compressed analytic data in a relational database table
US7590641B1 (en) * 2005-04-04 2009-09-15 Qd Technology, Llc Selecting various algorithms to compress columns of analytic data in a read-only relational database in a manner that allows decompression of the compressed data using minimal system resources
WO2007099327A2 (en) * 2006-03-01 2007-09-07 Symbian Software Limited Data compression
US20090187586A1 (en) * 2006-03-31 2009-07-23 Qd Technology Llc Selecting various algorithms to compress columns of analytic data in a read-only relational database in a manner that allows decompression of the compressed data using minimal system resources
US8081093B2 (en) * 2006-04-28 2011-12-20 Ricoh Company, Ltd. Code transforming apparatus and code transforming method
WO2007138601A2 (en) 2006-05-31 2007-12-06 Storwize Ltd. Method and system for transformation of logical data objects for storage
US8868930B2 (en) 2006-05-31 2014-10-21 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
US7649909B1 (en) 2006-06-30 2010-01-19 Packeteer, Inc. Adaptive tunnel transport protocol
US7769729B2 (en) * 2007-05-21 2010-08-03 Sap Ag Block compression of tables with repeated values
US8032499B2 (en) * 2007-05-21 2011-10-04 Sap Ag Compression of tables based on occurrence of values
US8442988B2 (en) 2010-11-04 2013-05-14 International Business Machines Corporation Adaptive cell-specific dictionaries for frequency-partitioned multi-dimensional data
KR20120134916A (ko) 2011-06-03 2012-12-12 삼성전자주식회사 저장 장치 및 저장 장치를 위한 데이터 처리 장치
GB2501527B (en) * 2012-04-27 2014-03-12 Broadcom Corp Method apparatus and computer program for encoding a bit string
US8686881B1 (en) * 2013-01-02 2014-04-01 International Business Machines Corporation Efficient estimation of data compression ratios
BR112015023973B1 (pt) 2013-08-19 2021-12-14 Huawei Technologies Co., Ltd Método e aparelho de processamento de objeto de dados
US9977802B2 (en) 2013-11-21 2018-05-22 Sap Se Large string access and storage
US9977801B2 (en) 2013-11-21 2018-05-22 Sap Se Paged column dictionary
US9959072B2 (en) * 2013-12-20 2018-05-01 Sandisk Technologies Llc Systems and methods of compressing data
US10235377B2 (en) 2013-12-23 2019-03-19 Sap Se Adaptive dictionary compression/decompression for column-store databases
US20150227540A1 (en) * 2014-02-12 2015-08-13 Hitachi, Ltd. System and method for content-aware data compression
JP6686639B2 (ja) * 2016-03-31 2020-04-22 富士通株式会社 符号化プログラム、符号化装置、符号化方法、復号化プログラム、復号化装置および復号化方法
FR3051061B1 (fr) * 2016-05-03 2019-09-20 Idemia Identity And Security Procede de sauvegarde et de restauration de donnees d'un element securise
US10790044B2 (en) * 2016-05-19 2020-09-29 Seven Bridges Genomics Inc. Systems and methods for sequence encoding, storage, and compression
US10311026B2 (en) * 2016-05-27 2019-06-04 International Business Machines Corporation Compressed data layout for optimizing data transactions
US10169362B2 (en) * 2016-07-07 2019-01-01 Cross Commerce Media, Inc. High-density compression method and computing system
US10187081B1 (en) * 2017-06-26 2019-01-22 Amazon Technologies, Inc. Dictionary preload for data compression
US20190081637A1 (en) * 2017-09-08 2019-03-14 Nvidia Corporation Data inspection for compression/decompression configuration and data type determination
JP7159557B2 (ja) * 2017-12-28 2022-10-25 富士通株式会社 動的辞書の生成プログラム、動的辞書の生成方法および復号化装置
US10509676B1 (en) * 2018-10-29 2019-12-17 EMC IP Holding Company LLC Techniques for optimizing entropy computations
US11502705B2 (en) * 2019-06-21 2022-11-15 Sap Se Advanced database decompression
DE102019220084B3 (de) * 2019-12-18 2021-03-04 Continental Automotive Gmbh Verfahren, ein Sender und ein System zur kontinuierlichen Optimierung der Datenkomprimierung unter Verwendung häufigkeitsbasierter Wörterbuch-Nachschlagetabellen in einem Fahrzeug
US11507274B2 (en) * 2020-10-22 2022-11-22 Dell Products L.P. System and method to use dictionaries in LZ4 block format compression
US11500540B2 (en) * 2020-10-28 2022-11-15 EMC IP Holding Company LLC Adaptive inline compression
EP4350527A4 (en) * 2021-07-08 2024-08-21 Huawei Tech Co Ltd DATA COMPRESSION METHOD AND APPARATUS, COMPUTER DEVICE AND STORAGE MEDIUM

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL91221A (en) * 1989-08-04 1995-03-30 Ibm Israel Binary text compression method
US5467087A (en) * 1992-12-18 1995-11-14 Apple Computer, Inc. High speed lossless data compression system
US5389922A (en) * 1993-04-13 1995-02-14 Hewlett-Packard Company Compression using small dictionaries with applications to network packets

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214403B2 (en) 2009-03-24 2012-07-03 Kabushiki Kaisha Toshiba Structured document management device and method
JP2012221172A (ja) * 2011-04-07 2012-11-12 Canon Inc 情報処理装置、情報処理方法
EP3051430A1 (en) 2015-01-30 2016-08-03 Fujitsu Limited Encoding program, decompression program, compression method, decompression method, compression device and decompresssion device
KR20160094315A (ko) 2015-01-30 2016-08-09 후지쯔 가부시끼가이샤 기억 매체, 압축 방법, 신장 방법, 압축 장치 및 신장 장치
US9479195B2 (en) 2015-01-30 2016-10-25 Fujitsu Limited Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device
US9509334B2 (en) 2015-01-30 2016-11-29 Fujitsu Limited Non-transitory computer-readable recording medium, compression method, decompression method, compression device and decompression device
EP3154202A1 (en) 2015-10-05 2017-04-12 Fujitsu Limited Encoding program, encoding method, encoding device, decoding program, decoding method, and decoding device
US9882582B2 (en) 2015-10-05 2018-01-30 Fujitsu Limited Non-transitory computer-readable recording medium, encoding method, encoding device, decoding method, and decoding device
JP2017169117A (ja) * 2016-03-17 2017-09-21 株式会社東芝 データ圧縮システム及び方法

Also Published As

Publication number Publication date
US5870036A (en) 1999-02-09
EP0729237A2 (en) 1996-08-28

Similar Documents

Publication Publication Date Title
JPH08288861A (ja) データ圧縮方法、データ圧縮解除方法及びデータ・コーディング装置
JP3273119B2 (ja) データ圧縮・伸長装置
JP2581903B2 (ja) バイト整列式データ圧縮方法及び装置
US6597812B1 (en) System and method for lossless data compression and decompression
US7492290B1 (en) Alternative encoding for LZSS output
JP3009727B2 (ja) 改良形データ圧縮装置
US5748122A (en) Data processing apparatus and data processing method
JP3342700B2 (ja) ストリングリバーサル機構を具備した単一クロックサイクルデータ圧縮装置/圧縮解除装置
WO2019153700A1 (zh) 编解码方法、装置及编解码设备
JP3634711B2 (ja) 入力データストリームの圧縮方法とその装置
KR100353171B1 (ko) 적응형데이터압축을수행하는방법및장치
US5874908A (en) Method and apparatus for encoding Lempel-Ziv 1 variants
US9665590B2 (en) Bitmap compression for fast searches and updates
US20190052284A1 (en) Data compression apparatus, data decompression apparatus, data compression program, data decompression program, data compression method, and data decompression method
JPH06168096A (ja) データ符号化方式及びデータ復元方式
JP4156381B2 (ja) 文字テーブルによって実施されるデータ圧縮の方法および装置
JPH07107303A (ja) ハフマン符号の復号化方法
JP3061278B2 (ja) 可変ビット長コード語のビット長通信方法
GB2378868A (en) Data Compression
JP2825960B2 (ja) データ圧縮方法及び復元方法
JP2999587B2 (ja) データ圧縮及び復元方式
GB2360916A (en) Compression encoder which transmits difference between new data word and recent data word where this falls within a threshold
GB2360917A (en) Run length compression encoding of runs of similar data words
Paris A new compression algorithm based on the locality principle of information
JPH0683573A (ja) データ圧縮方式