JPH10341165A - 少量データへの適応を加速するデータ圧縮方法 - Google Patents

少量データへの適応を加速するデータ圧縮方法

Info

Publication number
JPH10341165A
JPH10341165A JP10095782A JP9578298A JPH10341165A JP H10341165 A JPH10341165 A JP H10341165A JP 10095782 A JP10095782 A JP 10095782A JP 9578298 A JP9578298 A JP 9578298A JP H10341165 A JPH10341165 A JP H10341165A
Authority
JP
Japan
Prior art keywords
data
context model
bit
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
JP10095782A
Other languages
English (en)
Inventor
Robert A Rust
ロバート・エー・ラスト
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 JPH10341165A publication Critical patent/JPH10341165A/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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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]

Landscapes

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

Abstract

(57)【要約】 【課題】効率よくデータを圧縮および圧縮解除する方法
および装置を提供する。 【解決手段】算術圧縮器が、文脈モデルを使用して、デ
ータの一部を圧縮し圧縮解除する。カウンタは処理され
たデータ量をカウントする。圧縮の後、カウンタのカウ
ントが増分される。カウントが事前定義の量より小さい
場合、第1の文脈モデルが選択され、カウントが事前定
義の量より大きい場合は、第2の文脈モデルが選択され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、算術的に符号化す
る方法および装置に関し、さらに詳細には、大量のデー
タについては高い圧縮率を維持しながら少量のデータへ
の適応を加速する、文脈モデルに関する。
【0002】
【従来の技術】デジタル・データ信号の流れを、圧縮さ
れたデジタル符号信号に符号化し、圧縮されたデジタル
・コード信号を元のデータにデコード(復号)するデー
タ圧縮システムは、従来技術として公知である。データ
圧縮とは、所与の形式のデータを、原文よりも少ないス
ペースですむ代替形式に変換しようとする処理を言う。
データ圧縮システムの目標は、所与のデジタル情報の本
文を保持するために必要な記憶量または伝送するために
必要な時間量を節約することである。
【0003】実際に役立つために、汎用デジタル・デー
タ圧縮システムはある基準を満足しなければならない。
このシステムは、双方向性(reciprocity)を有しなけれ
ばならない。データ圧縮システムが双方向性特性を有す
るためには、情報をいささかでも改変または損失するこ
となく、圧縮データを元の形に再拡張またはデコードす
ることが可能でなければならない。デコードされたデー
タと元のデータが、互いに同一であり、区別不可能でな
ければならない。双方向性特性は、情報理論で使用され
る厳密な無雑音性と同義語である。応用例によっては、
双方向性特性に厳密に固執しない。そのような適用例の
具体例はグラフィック・データを扱うものである。人間
の目は雑音に対しそれほど敏感ではないので、圧縮・圧
縮解除処理中に生じる情報のいくらかの改変または損失
は受け入れられる。
【0004】このシステムは、データ圧縮および圧縮解
除システムが通信している相手の装置により提供され受
諾されるデータ速度に関して充分な性能を提供しなけれ
ばならない。データの圧縮できる速度は、圧縮システム
への入力データ処理速度により決定され、通常は、1秒
あたり数百万バイト(メガバイト/秒)である。通常、
1メガバイト/秒を超える、今日のディスク、テープお
よび通信システムにおいて達成されるデータ速度を維持
するのに充分な性能が必要である。したがって、データ
圧縮および圧縮解除システムは、システム全体に悪影響
を与えないためには、充分に広い帯域幅を有していなけ
ればならない。データ圧縮および圧縮解除システムの性
能は、通常、圧縮および圧縮解除に必要な計算および統
計データを記憶し圧縮および圧縮解除処理をガイドする
ために利用される、ランダム・アクセス・メモリ(RA
M)などのシステム構成要素の速度により制限される。
圧縮装置の性能は、圧縮器中の1入力文字あたり必要な
プロセッサ・サイクル数により特徴づけられる。サイク
ル数が少ないほど、性能は高くなる。
【0005】データ圧縮および圧縮解除システムの設計
についての他の重要な基準は、圧縮比により特徴づけら
れる圧縮効率である。圧縮比とは、圧縮されない形式の
サイズを圧縮形式のサイズで割った比である。データを
圧縮可能にするには、データが冗長性を有していなけれ
ばならない。圧縮効率は、圧縮手順が入力データの冗長
性をどれだけ有効に使用するかにより決定される。通常
のコンピュータ記憶データにおいて、冗長性は、たとえ
ば、ディジット、バイト、文字など個々の記号の不均一
な利用、および共通語、ブランク・レコード・フィール
ドなどの記号シーケンスの頻繁な繰り返しで生じる。
【0006】汎用データ圧縮手順もまた、従来の当技術
分野で公知であり、Hoffman法、Tunstal
l法およびLempel−Ziv法の3つの重要な手順
がある。Hoffman法は広く知られ、使用されてい
る。D.A.Hoffmanの論文「A Method For Con
struction Of Minimum Redundancy Codes(最小冗長コ
ード構成法)」、Proceedings IRE、40、10、10
98〜1100頁(1952年9月)を参照されたい。
Tunstallアルゴリズムについては、B.P.T
unstallの博士論文「Synthesis of Noiseless C
ompression Codes(無雑音圧縮コードのシステム設
計)」、Georgia Institute of Technology(1967
年9月)を参照されたい。Lempel−Ziv法につ
いては、J.ZivとA.Lempelの共著論文「A
Universal Algorithm For SequentialData Compression
(逐次データ圧縮の普遍的アルゴリズム)」IEEE Trans
actions on Information Theory、IT−23、3、3
37〜343頁(1977年5月)のLempel−Z
iv手順を参照されたい。
【0007】最初に開発された汎用データ圧縮手順の1
つは、Hoffman法である。簡単に説明すると、H
offman法は記号の全長セグメントを可変長語にマ
ップする。Hoffmanデータ圧縮手順には2つの制
限がある。第1に、Hoffman手順は、圧縮される
入力データが記号の固定長セグメントに解析(parse)さ
れるという拘束の下で動作する。Hoffman手順
は、この拘束の下で得ることのできる最良の圧縮比を提
供するが、拘束が緩和されると、他の手順を利用するこ
とによりはるかによい圧縮比を得ることが可能である。
第2に、Hoffmanコーディングには、ソース・デ
ータの統計的特性のすべての知識が必要とされる。Ho
ffman手順は、各固定長入力セグメントが生じる確
率が既知であるという仮定の下で動作する。Hoffm
an手順のこの要件は、実際に、データの処理中に必要
な統計値を累積するこの手順の適応版を使用することに
より満足することができる。しかし、この方法は面倒で
あり、かなりの作業用記憶スペースを必要とし、適応中
の性能は最適とは言い難い。
【0008】Tunstallアルゴリズムは、記号の
可変長セグメントを固定長2進語にマップするもので、
固定長の拘束が入力セグメントではない出力セグメント
に適用される、Hoffman手順の補完物である。H
offman手順と同様に、Tunstall手順に
は、ソース・データの確率の予知が必要とされる。この
場合も、この予知要件は、データの処理中に統計値を累
積する適応版を利用することにより、ある程度満足する
ことができる。
【0009】Lempel−Ziv手順は記号の可変長
セグメントを可変長2進語にマップする。入力または出
力セグメントに拘束がないとき、これは漸近的に最適で
ある。この手順では、入力データ・ストリングが適応的
に成長したセグメントに解析され、各セグメントは入力
データからの1つの新しい記号を接尾させ入力ストリン
グの早期の部分のそっくりなコピーから構成される。作
成されるコピーは、可能な最長のものであり、早期に解
析されたどのセグメントとも一致するように強制される
ことはない。出力のセグメントに置き換わるコード語
は、早期にコピーされた部分が開始する場所を示すポイ
ンタ、コピーの長さ、および新しい記号からなる情報を
含む。
【0010】HoffmanまたはShannon−F
anoコーディングはデータを圧縮する完全な手段であ
るように思える。しかし、事実はそうではない。前述の
ように、このコーディング方法は、記号の確率が1/2
の整数べきであるときだけ最適であるが、通常はそうは
ならない。
【0011】算術コーディング技法には、この制限はな
い。すなわち、この技法はメッセージを単一ユニットと
して取り扱う(Hoffmanコーディングでは、あら
ゆる単一の可能なメッセージの列挙が必要となるはずの
技法)のと同じ効果を達成し、したがって、どのソース
についても圧縮効率に結び付いた理論エントロピーを達
成する。
【0012】算術コーディングにおいては、次から次へ
と判断が符号化されて、番号ライン沿いに、より小さ
く、より少ない包含間隔がうまく定義される。算術コー
ディングに関する追加情報はG.G.Langdon、
Jr.の論文「An Introduction To Arithmetic Encodi
ng(算術コーディング入門)」、IBM Journal of Resea
rch and Development、Vol.28、n.2、135
〜149ページ、1984年3月、およびD.R.He
lman、G.G.Langdon Jr、およびJ.
J.Rissanenの論文「Arithmetic Compression
Code Control Parameters Approximation(算術圧縮コ
ード制御パラメータ近似法)」、Vol.23、n.1
1、5112〜5114ページ、1981年4月、およ
びLangdon、Jr.他の米国特許第4,905,
297号「Arithmetic Coding Encoder And Decoder Sy
stem(算術コーディング・エンコーダおよびデコーダ・
システム)」に出ている。
【0013】前述の論文に言及されているように、算術
コーディングは、各判断が複数の可能な排他的結果また
は「イベント」を有すると規定する。各結果またはイベ
ントは、データ中で記号により表される。たとえば、イ
メージング環境にあっては、各判断は所与のピクセルが
黒であるか否かに対応する。判断の結果は、ピクセルが
黒の場合はY(すなわちYES)で、ピクセルが黒でな
い場合はN(すなわちNO)で表される。したがって、
複数の判断は一連の記号、たとえばYNNY・・・で表
される。
【0014】従来の算術コーディング技法によると、確
率ラインはその上に定義された現間隔を備える。最初の
現間隔は、0ないし1である。現間隔はセグメントに分
割され、セグメントは次の判断の1つの可能な結果に対
応する。各判断の可能な結果が2つだけの場合、現間隔
は2つのセグメントに分割される。各セグメントの長さ
は、それぞれの関連する確率に基づく。それぞれの確率
は、固定したままにすることも、判断データが入力され
るにつれて適応させることもできる。
【0015】圧縮効果をもたらすのは、より大きな頻度
で生じる記号に対する大きなセグメントの相関関係であ
る。前に引用した論文(「An Introduction To Arithme
ticEncoding」)には、各判断が「a」イベント(確率
50%)、「b」イベント(確率25%)、「c」イベ
ント(確率12.5%)、または「d」イベント(確率
12.5%)という結果をもたらす可能性がある、4記
号算術コーディングの例が述べられている。2進形式で
4つのイベントを表すためには、各判断ごとに2ビット
が必要である。この場合、イベントはそれぞれ、00、
01、10、11で表される。起こる可能性の高い「a
ab」などの32の判断では、直行符号化データは、0
0 00 01になり、6ビットが必要になる。しか
し、同論文の137頁に見られるように、算術コーディ
ング手法では、シーケンス「aab」を値0.001で
表すことができる。この情報は6ビットではなく、3ビ
ットで表すことができる。このビット結果は、比較的高
い関連する確率を有する連続イベントとして保存され
る。
【0016】多くのイベントが行われ、これについて低
い確率および比較的短いライン・セグメントがある場
合、保存性は低下する。前に言及した確率を使用して、
一連のイベント「dd」は符号化されたデータでは11
11で表されるはずであるが、算術コーディングによ
れば、「dd」イベントは、111111で表される。
より大きなセグメントは、実際に、それに対応してより
大きい頻度で生じるイベントに対応することを条件とし
て、確率の低い記号に必要な追加ビットよりは、確率の
高い記号が生じるときに達成される保存の方が重要とな
る。
【0017】算術コーディングは、圧縮ラン全体を通し
てデータに適応し、過去を決して忘れない。これは、そ
の辞書の内容を絶えず失う多くのLZベースの方式とは
逆である。LZは辞書を再構築し、したがって、データ
の次のセクションに適応する。LZ方式では、1KBの
データは100KBのデータと全く同じに圧縮される。
算術コーディングではラン全体を通してその確率を改善
し続けるが、1KBのデータでは算術コーディングがそ
の適応を最適化する機会がなかったので、同じ程度の改
善は得られない。しかし、算術コーディングは1KBの
データをLZ方式よりもよく圧縮する。
【0018】算術コーディングは確率表を使用し、イメ
ージ上に統計値を記憶する。各ビットが圧縮されると
き、ビットをどのように扱うべきかを決定するために、
表にアクセスする。表が大きいほど、最終/最適状態に
移るのに時間がかかる。しかし、表が大きいほど、より
多くの情報が各ビットに利用できるので、大きなイメー
ジほど圧縮比がよくなる。簡単な実験の示すところで
は、大きな表から利益を受ける分岐点は10KBあたり
であり、この点より後では、大きな表は著しくよい圧縮
比をもたらす。
【0019】プリンタの動作中に、いくつかの異なるタ
イプのイメージが作られる。あるイメージのサイズは1
00KBないし200KBであり、他のイメージのサイ
ズは僅か400Bまたはそれより小さいこともある。こ
の小さなイメージに、フォント・キャッシュが大いに役
立っている。ユニークな各文字が最初に作成され、フォ
ント・キャッシュに記憶されてから、印字が開始され
る。頁に応じて、フォント・キャッシュが使用するスペ
ースの量が頁のレンダリングが成功するかどうかによっ
て問題になることがある。
【0020】同一のプリンタがLAN環境で使用される
場合、フォントの使用法が一層重要になる。異なる何人
かのユーザが、各自の好みのフォントおよびポイント・
サイズを使用して、印字ジョブを送ることができる。新
しい各ジョブについて、プリンタは、要求された文字が
すでに前のジョブのフォント・キャッシュにセットされ
て存在しているかどうか判定する。存在しない場合は、
この文字をレンダリングするのに時間がかかる。プリン
タの記憶装置がフォント・キャッシュ文字で一緒なの
で、直ちに必要ではない、他の文字用の場所をあけるた
めにフォント・キャッシュから除去しなければならない
場合が生じる。したがって、フォント・キャッシュ文字
が長く、特に複数のジョブにわたって残っているほど、
ユーザが自分のプリントアウトを早く受け取る。フォン
ト・キャッシュ作成まで長時間待つこともまれではな
い。このことは、電源投入後、最初の頁を印字するとき
に、最もよく見られる。
【0021】
【発明が解決しようとする課題】本発明の課題は、大き
なイメージの圧縮比に小さな影響しか与えずに、フォン
ト・キャッシュ・データ(すなわち、小さなファイル)
に対して改善された圧縮比を提供する方法および装置を
提供することである。
【0022】
【課題を解決するための手段】本発明を達成するため
に、データを圧縮および圧縮解除する方法が提供され
る。この方法は、処理されるデータ量のカウントに基づ
いて文脈モデルを選択することによって達成される。算
術圧縮器が、文脈モデルを使用して、データの一部を圧
縮し圧縮解除する。カウンタは処理されたデータ量をカ
ウントする。圧縮の後、カウンタのカウントが増分され
る。カウントが事前定義の量より小さい場合、第1の文
脈モデルが選択され、カウントが事前定義の量より大き
い場合は、第2の文脈モデルが選択される。任意の数の
文脈モデルが定義でき、適当な判断点が選択できる。
【0023】データを圧縮または圧縮解除する装置も提
供され、この装置は算術圧縮器から作成される。この算
術圧縮器は、確率表、第1文脈モデル、および第2文脈
モデルを含む。シフト・レジスタが算術圧縮器に接続さ
れている。このシフト・レジスタはデータを受け取る。
カウンタが算術圧縮器に接続されている。このカウンタ
はデータの一部が事前定義の量より小さい場合は、デー
タの一部分を圧縮するために第1の文脈モデルを使用す
るよう、またデータの一部分が事前定義の量より大きい
場合は、データの一部分を圧縮するために第2の文脈モ
デルを使用するよう算術圧縮器に信号を送る。以下の詳
しい説明を添付の図面と共に考慮すれば、本発明がより
よく理解できるであろう。
【0024】
【発明の実施の形態】本発明は、本明細書に示す特定の
実施形態に制限されるものではない。図1を参照する
と、本発明の好ましい実施形態のハードウェア実施例の
ブロック図が示されている。算術圧縮器1116がビッ
ト101を圧縮しようとし、イメージ/シフト・レジス
タ1107からのデータが文脈モデル1115に渡され
る。文脈モデル1115は、イメージ/シフト・レジス
タ1107からのデータを確率表1113中にマップす
る。圧縮器は確率表1113および文脈モデル1115
と共にビット101を圧縮する。次いで、圧縮データ
は、一般に記憶装置(図示せず)に書き出される。ビッ
ト101はイメージ/シフト・レジスタ1107中にシ
フトされ、イメージからの新しいビットが101中にシ
フトされる。
【0025】圧縮解除は、一般に圧縮と同じ手段を使っ
て行われる。ただし、圧縮解除中には、算術圧縮器は圧
縮データを読み込み、確率表1113および文脈モデル
1115を使用してビット101を圧縮解除し記憶す
る。前記と同様に、ビット101が圧縮解除されると、
イメージ/シフト・レジスタ1107中のデータが左に
シフトされる。イメージ/シフト・レジスタ1107か
ら出るデータは、一般に記憶装置に記憶される。
【0026】イメージが圧縮または圧縮解除されると
き、圧縮器1114は確率表1113を使用して、イメ
ージ上に統計値を記憶する。各ビットが圧縮/圧縮解除
されるとき、このビットをどのように扱うべきかを決定
するために、確率表1113アクセスする。確率表11
13が大きいほど、最終/最適状態に到達するのに時間
がかかる。しかし、確率表1113が大きいほど、多く
の情報がビット101に利用できるので、大きなイメー
ジの圧縮比がよくなる。
【0027】圧縮されているビットの周りのデータのビ
ットを見ることにより、文脈モデル1115は確率表1
113中へのインデックスを発生する。インデクシング
の重要な態様は、アドレスされたロケーションに、符号
化/復号化されるビットの値に関する有用な情報が含ま
れていることである。さらに具体的に言うと、確率表を
インデックスするために使用されるビットは、符号化/
復号化されるビットの信頼できる予測を行うことができ
るように、重要な情報を提供できなければならない。予
測の信頼性が高いほど、イメージの圧縮性はよくなる。
【0028】本発明は、圧縮ランの開始時に統計値を迅
速に追跡し、イメージのサイズが増大するにつれて従来
のペースにスローダウンする。これは、各イメージのス
タート時に、確率表のサイズを制限することにより達成
される。より多くのデータが圧縮器を通過するにつれ
て、表のサイズが拡張される。確率のサイズは、イメー
ジの最初の5.1KBの文脈窓を徐々に開くことにより
制御できる。
【0029】図3を参照すると、より多くのデータが圧
縮されるにつれて、2次元文脈モデル300は拡張す
る。各ピクセルが確率表のアドレス・ラインに接続され
ている。ピクセル上の数字は、どの特定のアドレス・ビ
ットがそのピクセルによって制御されるかを示す。図3
のaを参照すると、データの最初の100バイトについ
て、アドレス・ビット9、8、7、6、1および0が強
制的にゼロにされ、それによって図2のaに示すように
確率表のサイズが有効に縮小される。データの次の1K
バイトについて、図3のbに示すように、アドレス・ビ
ット9、8および0が強制的にゼロにされ、図2のbに
示すように確率表のサイズが有効に縮小する。データの
次の4Kバイトについて、図3のcに示すように、アド
レス・ビット0が強制的にゼロにされ、図2のcに示す
ように確率表のサイズが有効に縮小する。次いで、図3
のdの文脈モデルおよび図2のdに示す全体の確率表
が、残りのデータを圧縮するために使用される。
【0030】図3のaのこの初期文脈モデル中で2つの
態様が重要である。第1に、ビット301の周りのピク
セルは、遠く離れたピクセルよりも使用されなければな
らない。したがって、アドレス・ビット5、4、3およ
び2が使用される。第2に、ほとんどすべてのイメージ
において、ゼロは1よりも普通である。そこで、マスク
されたビットを強制的にゼロにすることにより、マスク
を持ち上げた後、この態様が圧縮比のためになる。次の
ブロック(図3のb)で、ビット301に近いピクセル
がマスクされていない。この処理は、アドレス・ビット
のどれもがマスクされない最終ステージ(図3のd)ま
で続く。
【0031】図1のブロック図にカウンタを追加して修
正することにより、本発明を達成することができる。図
5に示すように、カウンタ1102が処理されたビット
の数をカウントする。カウンタ1102の出力が文脈モ
デル1115に信号を送って、どのビットをマスクする
か指示する。追加ビットが処理されるとき、文脈モデル
1115は、前述のようにより少数のビットをマスクす
るよう命令される。
【0032】図4に好ましい実施形態の流れ図を示す。
新しい各ファイルまたはイメージが処理されるとき、カ
ウンタが最初にリセットされる(401)。圧縮される
ビットがデータから取り出される(403)。カウント
がXより小さい場合(405)、小文脈モデル407が
ビットを圧縮するために使用される(419)。同様に
して、カウントがXよりも大きく、Yよりも小さい場合
は(409)、中文脈モデル411がビットを圧縮する
ために使用される(419)。カウントがYよりも大き
くZよりも小さい場合は413、大文脈モデル415が
ビットを圧縮するために使用される(419)。Zより
大きいバイトが処理されると、全文脈モデル417がビ
ットを圧縮するために使用される(419)。圧縮され
たデータは記憶される(421)。カウントが一つ増分
(インクリメント)され(423)、すべてのデータが
処理されたかどうか判定するために検査が行われる。次
のビットを処理する前に、シフト・レジスタ中のデータ
がシフトさせなければならない(426)。基本的アイ
ディアを実施しながら、本明細書に記載した操作順序が
変更できることを、当業者なら理解するであろう。ま
た、小、中、大、および全文脈モデルについて前述した
が、任意の数の文脈モデルが定義でき、X、Y、Z・・
・について適当な値が選択できる。
【0033】本発明は、大きなイメージの圧縮比に小さ
な影響しか与えずに、フォント・キャッシュ・データ
(すなわち、小さなファイル)に対して改善された圧縮
比を提供する。ラテン文字の特定の場合、フォント・キ
ャッシュ文字の圧縮が40%改善された。すなわち、従
来の算術コーディング圧縮技法と比較して40%以上圧
縮された文字が、フォント・キャッシュに含まれる。ア
ドレス・ビットをマスクする複雑さは非常に小さく、設
計に著しい量のロジックが追加されるだけである。
【0034】本発明の好ましい実施形態について説明し
たが、本発明の精神または添付の請求の範囲から逸脱す
ることなく、本発明に様々な修正を加えることができる
ことは、当業者にとって容易に理解されるであろう。
【0035】以上、本発明の実施例について詳述した
が、以下、本発明の各実施態様の例を示す。
【0036】(実施態様1)データを圧縮する方法であ
って、前記処理データの量のカウント(401)に基づ
いて文脈モデル(図3)を選択する(405〜415)
ステップと、前記文脈モデル(図3)を使用して、前記
データの一部を圧縮する(419)ステップとを含む方
法。
【0037】(実施態様2)前記処理データの前記量を
カウントするためにカウンタ(1102)を使用するス
テップと、前記圧縮ステップ(419)の後に、前記カ
ウンタのカウントを増分するステップ(423)とをさ
らに含む実施態様1に記載の方法。
【0038】(実施態様3)前記選択ステップ(405
〜415)が、前記カウントが事前定義した量より小さ
い場合に、第1の文脈モデル(407)を選択するステ
ップと、前記量が前記事前定義の量より大きい場合に、
第2の文脈モデル(415)を選択するステップとを含
むことを特徴とする、実施態様2に記載の方法。
【0039】(実施態様4)前記データの圧縮部分を記
憶するステップ(421)をさらに含む(419)実施
態様1に記載の方法。
【0040】(実施態様5)圧縮データを圧縮解除する
方法であって、処理済みの前記圧縮データの量のカウン
トに基づいて、文脈モデル(図3)を選択するステップ
(405〜415)と前記文脈モデル(図3)を使用し
て、前記圧縮データの一部を圧縮解除するステップ(4
19)とを含む方法。
【0041】(実施態様6)処理済みの前記圧縮データ
の前記量をカウントするためにカウンタ(1102)を
使用するステップと、前記圧縮解除ステップの後に、前
記カウンタカウントを増分するステップ(423)とを
さらに含む実施態様5に記載の方法。
【0042】(実施態様7)前記選択ステップが、前記
カウントが事前定義の量より小さい場合(405)に、
第1文脈モデルを選択する前記ステップ(407)と前
記量が前記所定量より大きい場合に、第2の文脈モデル
を選択するステップ(415)とを含むことを特徴とす
る、実施態様6に記載の方法。
【0043】(実施態様8)データを圧縮するための装
置(図5)であって、確率表(1113)、第1文脈モ
デル(1115)、および第2文脈モデル(1115)
を備える算術圧縮器(1116)と、前記算術圧縮器
(1116)に接続され、前記データを受け取るように
構成されたシフト・レジスタ(1101、101)と、
前記算術圧縮器(1116)に接続されたカウンタ(1
102)とを備え、前記カウンタ(1102)が、圧縮
すべきデータの一部分が事前定義の量より少ないとき、
前記部分を圧縮するために前記第1文脈モデル(111
5)を使用するよう前記算術圧縮器(1116)に信号
で知らせ、あるいは、前記部分が事前定義の量より多い
とき、前記部分を圧縮するために前記第2文脈モデル
(1115)を使用するよう前記算術圧縮器(111
6)に信号で知らせることを特徴とする装置。
【0044】(実施態様9)前記第1文脈モデル(11
15)が、前記事前定義の量より少ないデータ量につい
て最適化され、前記第2文脈モデル(1115)が、前
記事前定義の量より多いデータ量について最適化されて
いることを特徴とする、実施態様8に記載の装置。
【0045】(実施態様10)前記第1文脈モデル(1
115)が、前記シフト・レジスタ(1101、10
1)の内容を前記確率表(1113)の第1の部分にマ
ップし、前記第2文脈モデル(1115)が、前記シフ
ト・レジスタ(1101、101)の内容を前記確率表
(1113)の第2部分にマップすることを特徴とす
る、実施態様9に記載の装置。
【0046】
【発明の効果】以上のように、本発明を用いると、大き
なイメージの圧縮比に小さな影響しか与えずに、小さな
ファイルに対して改善された圧縮比を提供することがで
きる。
【図面の簡単な説明】
【図1】算術圧縮器のブロック図である。
【図2】使用される確率表の成長するサイズをグラフで
表した図である。
【図3】使用される確率表のサイズを動的に調整するた
めに、所与の文脈モデルがどのように使用できるかを示
す図である。
【図4】好ましい実施形態の論理的操作を示す流れ図で
ある。
【図5】本発明による算術圧縮器のブロック図である。
【符号の説明】
101:ビット 1102:カウンタ 1107:イメージ/シフト・レジスタ 1113:確率表 1114:圧縮器 1115:文脈モデル 1116:算術圧縮器

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データを圧縮する方法であって、 前記処理データの量のカウントに基づいて文脈モデルを
    選択するステップと、 前記文脈モデルを使用して、前記データの一部を圧縮す
    るステップとを含む方法。
JP10095782A 1997-04-09 1998-04-08 少量データへの適応を加速するデータ圧縮方法 Pending JPH10341165A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/833,776 US5886655A (en) 1997-04-09 1997-04-09 Arithmetic coding context model that accelerates adaptation for small amounts of data
US833,776 1997-04-09

Publications (1)

Publication Number Publication Date
JPH10341165A true JPH10341165A (ja) 1998-12-22

Family

ID=25265251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10095782A Pending JPH10341165A (ja) 1997-04-09 1998-04-08 少量データへの適応を加速するデータ圧縮方法

Country Status (3)

Country Link
US (1) US5886655A (ja)
JP (1) JPH10341165A (ja)
KR (1) KR100536980B1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1093827A (ja) * 1996-09-11 1998-04-10 Canon Inc 画像処理方法とその装置
US5880688A (en) * 1997-04-09 1999-03-09 Hewlett-Packard Company Arithmetic coding context model that adapts to the amount of data
KR100269140B1 (ko) * 1997-12-26 2000-10-16 윤종용 작은 화면을 위한 콘텍스트 발생 회로 및 그 방법
US6075470A (en) * 1998-02-26 2000-06-13 Research In Motion Limited Block-wise adaptive statistical data compressor
US6456209B1 (en) * 1998-12-01 2002-09-24 Lucent Technologies Inc. Method and apparatus for deriving a plurally parsable data compression dictionary
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
US6748457B2 (en) 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
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
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US7313817B2 (en) * 2003-06-17 2007-12-25 Lockheed Martin Corporation Data transmission system utilizing efficient complexity estimation of the kolmogorov complexity for data transmission
US7400277B2 (en) * 2004-04-06 2008-07-15 International Business Machines Corporation Method and system for the compression of probability tables
US20070096956A1 (en) * 2005-10-31 2007-05-03 Fujifilm Microdisks Usa Inc. Static defined word compressor for embedded applications
KR100692922B1 (ko) * 2006-02-08 2007-03-12 주식회사 이노와이어리스 이동통신망의 진단데이터 원격 로깅 방법
US7365659B1 (en) * 2006-12-06 2008-04-29 Silicon Image Gmbh Method of context adaptive binary arithmetic coding and coding apparatus using the same
WO2009009857A1 (en) * 2007-07-19 2009-01-22 Slipstream Data Inc. Method and system for reducing contexts for context based compression systems
US7623047B2 (en) * 2007-10-30 2009-11-24 Hewlett-Packard Development Company, L.P. Data sequence compression
US7656320B2 (en) * 2008-04-10 2010-02-02 Red Hat, Inc. Difference coding adaptive context model using counting

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6229372A (ja) * 1985-07-31 1987-02-07 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 2値デ−タの圧縮方法
US5045852A (en) * 1990-03-30 1991-09-03 International Business Machines Corporation Dynamic model selection during data compression
US5710562A (en) * 1995-08-31 1998-01-20 Ricoh Company Ltd. Method and apparatus for compressing arbitrary data

Also Published As

Publication number Publication date
KR19980081237A (ko) 1998-11-25
KR100536980B1 (ko) 2006-02-28
US5886655A (en) 1999-03-23

Similar Documents

Publication Publication Date Title
US5886655A (en) Arithmetic coding context model that accelerates adaptation for small amounts of data
US5016009A (en) Data compression apparatus and method
US5745608A (en) Storing data compressed with arithmetic coding in non-contiguous memory
US6597812B1 (en) System and method for lossless data compression and decompression
US5506580A (en) Data compression apparatus and method
US5126739A (en) Data compression apparatus and method
US5857035A (en) Arithmetic coding compressor for encoding multiple bit values
JP2713369B2 (ja) データ圧縮装置及び方法
US5973626A (en) Byte-based prefix encoding
US5229768A (en) Adaptive data compression system
JP3459030B2 (ja) 符号化システム
US5689255A (en) Method and apparatus for compressing and decompressing image data
US5874908A (en) Method and apparatus for encoding Lempel-Ziv 1 variants
US5710561A (en) Method and apparatus for double run-length encoding of binary data
US5877711A (en) Method and apparatus for performing adaptive data compression
KR20020075889A (ko) 보다 효율적인 데이터 압축
US5901251A (en) Arithmetic coding compressor using a context model that is adaptive to variable length patterns in bi-level image data
US5880688A (en) Arithmetic coding context model that adapts to the amount of data
EP0797348A2 (en) A one dimensional context model for entropy encoding digital halftone images with arithmetic coding
US5745603A (en) Two dimensional context model obtained without a line buffer for arithmetic coding
JP3266419B2 (ja) データ圧縮・伸長方式
JP3283150B2 (ja) データ圧縮・圧縮解除法
GB2305277A (en) A lossy data compression method
Reif et al. REAL-TIME DYNAMIC COMPRESSION OF VIDEO ON A GRID-CONNECTED PAR-ALLEL COMPUTER
JPH10108026A (ja) 非可逆データ圧縮方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040720

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040806

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060601

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060828

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070208