JPH04223717A - データ圧縮モデル選択方法及びシステム - Google Patents
データ圧縮モデル選択方法及びシステムInfo
- Publication number
- JPH04223717A JPH04223717A JP3042191A JP4219191A JPH04223717A JP H04223717 A JPH04223717 A JP H04223717A JP 3042191 A JP3042191 A JP 3042191A JP 4219191 A JP4219191 A JP 4219191A JP H04223717 A JPH04223717 A JP H04223717A
- Authority
- JP
- Japan
- Prior art keywords
- model
- data
- stream
- block
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013144 data compression Methods 0.000 title claims abstract description 14
- 238000007906 compression Methods 0.000 claims abstract description 30
- 230000006835 compression Effects 0.000 claims abstract description 30
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 230000003213 activating effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
- H03M7/48—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明はデータ圧縮に関するもの
であり、より具体的には、データ・ストリームの様々な
部分の圧縮を最適化し、それによってストリーム全体の
圧縮を最適化するため、データ・ストリームの圧縮符号
化中に使用する符号化モデルを動的に選択する方法およ
び手段に関するものである。
であり、より具体的には、データ・ストリームの様々な
部分の圧縮を最適化し、それによってストリーム全体の
圧縮を最適化するため、データ・ストリームの圧縮符号
化中に使用する符号化モデルを動的に選択する方法およ
び手段に関するものである。
【0002】
【従来の技術】データ・セットの圧縮符号化用の様々な
モデルが既知である。それらのモデルはそれぞれ、デー
タ項目またはシンボルの確率分布を推定する目的でコン
テキストを確定する。通常、2値ファクシミリ画像など
所与のエンティティを記述するモデルは、前述の画像を
表現する所与のデータ・セットに対して良好な圧縮を行
うように最適化される。この1例が周知のハフマン(H
uffman)符号化である。残念ながら、ある所与の
データ・セットの圧縮を最適化する画像モデルを、その
統計的特性が非常に異なる第2のデータ・セットに適用
しても、ほとんどの場合うまく働かない。その反対に第
2のデータ・セットを最もよく圧縮するよう最適化され
たモデルは、第1のデータ・セットに対してうまく働か
ないと予想される。可能なデータ・セットの全範囲で働
く単一のモデルを考案できれば望ましいが、これらのデ
ータ・セットは統計的特性がさまざまに変化するので、
全データ・セットに対して最適化された単一のモデルが
もたらす性能は、単一のデータ・セットまたはデータ・
セットの一部分に対する可能な最高の性能には及ばない
ことが示唆される。明らかに、最高の性能が実現される
のは、各データ・セットまたはその一部分の符号化中に
実際に符号化を行っている時に、最適のモデルが動的に
選択できる場合である。
モデルが既知である。それらのモデルはそれぞれ、デー
タ項目またはシンボルの確率分布を推定する目的でコン
テキストを確定する。通常、2値ファクシミリ画像など
所与のエンティティを記述するモデルは、前述の画像を
表現する所与のデータ・セットに対して良好な圧縮を行
うように最適化される。この1例が周知のハフマン(H
uffman)符号化である。残念ながら、ある所与の
データ・セットの圧縮を最適化する画像モデルを、その
統計的特性が非常に異なる第2のデータ・セットに適用
しても、ほとんどの場合うまく働かない。その反対に第
2のデータ・セットを最もよく圧縮するよう最適化され
たモデルは、第1のデータ・セットに対してうまく働か
ないと予想される。可能なデータ・セットの全範囲で働
く単一のモデルを考案できれば望ましいが、これらのデ
ータ・セットは統計的特性がさまざまに変化するので、
全データ・セットに対して最適化された単一のモデルが
もたらす性能は、単一のデータ・セットまたはデータ・
セットの一部分に対する可能な最高の性能には及ばない
ことが示唆される。明らかに、最高の性能が実現される
のは、各データ・セットまたはその一部分の符号化中に
実際に符号化を行っている時に、最適のモデルが動的に
選択できる場合である。
【0003】モデル選択は従来技術で一般に使用されて
きたが、その技法は、次のいずれかであった。1.米国
特許第3394352号明細書に開示されているような
、データ構造から巧妙に導出された値を使用して、それ
を効率的に単一のより複雑なモデルにする、決定論的な
技法。2.米国特許第4901363号明細書に開示さ
れているような、ディザ・ハーフトーン画像用の算術符
号化技法を伴う、2つの選択枝のうちの1つを使用する
もの。3.米国特許第3830964号明細書に開示さ
れているような、各データ・ブロックごとに選択判断の
ハフマン符号化を使用するもの。
きたが、その技法は、次のいずれかであった。1.米国
特許第3394352号明細書に開示されているような
、データ構造から巧妙に導出された値を使用して、それ
を効率的に単一のより複雑なモデルにする、決定論的な
技法。2.米国特許第4901363号明細書に開示さ
れているような、ディザ・ハーフトーン画像用の算術符
号化技法を伴う、2つの選択枝のうちの1つを使用する
もの。3.米国特許第3830964号明細書に開示さ
れているような、各データ・ブロックごとに選択判断の
ハフマン符号化を使用するもの。
【0004】第3の場合、その基礎となる発想は、同じ
入力データ・ブロックを圧縮する際に使用される2つの
異なるモデルの符号化速度を測定し、そのブロックに対
して最も効率的なモデルを選択するものである。しかし
、この従来技術および、符号化テーブルを使用する米国
特許第4730348号明細書などの関連する従来技術
では、テスト区間が常に所与のサイズの入力データ・ブ
ロックであり、固定式のコード割当てを使用していたの
で、この手法では、モデル選択を符号化するのに必要な
ビットに関してかなりの追加コストが生じた。
入力データ・ブロックを圧縮する際に使用される2つの
異なるモデルの符号化速度を測定し、そのブロックに対
して最も効率的なモデルを選択するものである。しかし
、この従来技術および、符号化テーブルを使用する米国
特許第4730348号明細書などの関連する従来技術
では、テスト区間が常に所与のサイズの入力データ・ブ
ロックであり、固定式のコード割当てを使用していたの
で、この手法では、モデル選択を符号化するのに必要な
ビットに関してかなりの追加コストが生じた。
【0005】データ圧縮に算術符号化を用いる場合(G
. G. Langdon, ”An Introdu
ction toArithmetic Coding
”, IBM Journal of Researc
h and Development, Vol.28
, No.2, pp. 135−149, Marc
h 1984 を参照)、圧縮手順は2つの部分に分割
できる。すなわち、1.入力シンボルのストリームおよ
び2値判断のコンテキストから一連の2値判断を発生す
るモデル・セクションと、 2.所与のコンテキスト内で各判断の確率を推定し、そ
れを符号化する、アダプタ/コーダ・セクションである
。 この符号化プロセスは適応的な性質であるので、所与の
判断を高い成功率で予測できる場合、その判断を行うた
めの圧縮ビットに関するコストが非常に低いという長所
がある。この技法をモデル選択に適用する場合、あるモ
デルが他のモデルに比べてはるかによく所与のデータ・
セットを圧縮するとき、良い方のモデルを使用するよう
に判断を符号化すると、圧縮されたデータ・ストリーム
に対するオーバヘッドは大して増加しない。
. G. Langdon, ”An Introdu
ction toArithmetic Coding
”, IBM Journal of Researc
h and Development, Vol.28
, No.2, pp. 135−149, Marc
h 1984 を参照)、圧縮手順は2つの部分に分割
できる。すなわち、1.入力シンボルのストリームおよ
び2値判断のコンテキストから一連の2値判断を発生す
るモデル・セクションと、 2.所与のコンテキスト内で各判断の確率を推定し、そ
れを符号化する、アダプタ/コーダ・セクションである
。 この符号化プロセスは適応的な性質であるので、所与の
判断を高い成功率で予測できる場合、その判断を行うた
めの圧縮ビットに関するコストが非常に低いという長所
がある。この技法をモデル選択に適用する場合、あるモ
デルが他のモデルに比べてはるかによく所与のデータ・
セットを圧縮するとき、良い方のモデルを使用するよう
に判断を符号化すると、圧縮されたデータ・ストリーム
に対するオーバヘッドは大して増加しない。
【0006】”Adaptive Models fo
r Nonstationary Sources”,
IBM Internal Report RJ 4
673, April 24, 1985 で、M.
Wax、 J.Rissanen および K. Mo
hiuddin は、”APredictive Mi
nimum Description Length
Principle”,IBM Internal R
esearch Report RJ 5002, J
anuary 1986 (”Stochastic
Complexity and Modeling”
として Ann. of Statistics, S
eptember, 1986 にも掲載)に本発明の
共同発明者 J. J.Rissanen が記載した
原理を、算術コーダ用の確率推定に適用している。そこ
で述べられている基本的発想は、簡単に記すと、確率の
値を複数個維持し、各シンボルを符号化する際に、その
とき最短のコード・ストリームを提供する値を選択する
というものである。本発明の好ましい実施例では、モデ
ルを算術符号化技法によって符号化する際にモデルを動
的に選択する問題に、Rissanen の予測的最短
記述子長(PMDL)原理を修正した形で適用する。具
体的に言うと、本発明は、PMDL原理を逆転した形で
適用し、すなわち、圧縮データの所与のブロックに送ら
れるデータ・セットの量を最大にして、2つまたはそれ
以上のモデル間で選択を行う機構を提供する。
r Nonstationary Sources”,
IBM Internal Report RJ 4
673, April 24, 1985 で、M.
Wax、 J.Rissanen および K. Mo
hiuddin は、”APredictive Mi
nimum Description Length
Principle”,IBM Internal R
esearch Report RJ 5002, J
anuary 1986 (”Stochastic
Complexity and Modeling”
として Ann. of Statistics, S
eptember, 1986 にも掲載)に本発明の
共同発明者 J. J.Rissanen が記載した
原理を、算術コーダ用の確率推定に適用している。そこ
で述べられている基本的発想は、簡単に記すと、確率の
値を複数個維持し、各シンボルを符号化する際に、その
とき最短のコード・ストリームを提供する値を選択する
というものである。本発明の好ましい実施例では、モデ
ルを算術符号化技法によって符号化する際にモデルを動
的に選択する問題に、Rissanen の予測的最短
記述子長(PMDL)原理を修正した形で適用する。具
体的に言うと、本発明は、PMDL原理を逆転した形で
適用し、すなわち、圧縮データの所与のブロックに送ら
れるデータ・セットの量を最大にして、2つまたはそれ
以上のモデル間で選択を行う機構を提供する。
【0007】
【発明が解決しようとする課題】したがって、本発明の
目的は、圧縮されるデータの各セクションに対してそれ
ぞれ最適のモデルが利用されるように、様々な圧縮符号
化技法によってデータを圧縮する際に用いられる様々な
モデル間で選択を行うための、効率的な一般的技法を提
供することである。
目的は、圧縮されるデータの各セクションに対してそれ
ぞれ最適のモデルが利用されるように、様々な圧縮符号
化技法によってデータを圧縮する際に用いられる様々な
モデル間で選択を行うための、効率的な一般的技法を提
供することである。
【0008】
【課題を解決するための手段】したがって、本発明は、
改良された符号化手順をモデル選択の概念に適用する方
法および手段を実施する。この方法および手段では、少
なくとも2つのモデルが、たとえばハードウェア実施様
態内で並列に、実行され、圧縮データの所与のセットま
たはセグメントに対して最高の符号化性能をもたらすモ
デルが使用される。より具体的には、最高の性能を決定
するために、1)2つまたはそれ以上のモデルを用いて
、比較可能なサイズのセグメントまたはブロックの圧縮
されたデータをそれぞれ生成し、2)最も多くの入力デ
ータを圧縮したモデルを選択する。これは、1)各モデ
ルを用いて所与のサイズの入力データ・セットを圧縮し
、2)圧縮された出力データのそれぞれのサイズによっ
て最適モデルを決定する、という従来技術の手法とは対
照的である。好ましい実施例では、所与のモデルを用い
て生成された判断シーケンスとモデル選択判断の両方が
、適応算術コーダを用いて、圧縮データに符号化される
。圧縮データの各セグメントまたはブロックは、現在実
行されているモデルを使用するように判断を符号化する
ことによってスタートする。各モデルは、算術コーダの
パラメータが前のブロックの終りに確立されてからスタ
ートする。最適モデルが圧縮したコード・ストリームだ
けが出力に使用される。そのコード・ストリームは、そ
のモデルを選択するためのオーバヘッドをその中に含ん
でいる。どのモデルを実行するかの判断は、所与の数の
入力シンボルを符号化した後ではなくて、圧縮されたデ
ータの定義域内で行われるので、モデル選択判断のオー
バヘッドは圧縮されたデータに比例する。どのモデルが
所与のサイズの圧縮されたブロックに対して最も多くの
入力シンボルを符号化したかに基づいて、最適モデルを
選ぶ。すなわち、競争に負けたモデルは、それだけの量
の入力データ・セットを符号化しなかったことになる。 続いて選択された圧縮ブロックは、記憶または転送のた
め、入力シンボルから、圧縮データの最適な出力を生成
するために、出力コード・ストリームとしてまとめられ
る。
改良された符号化手順をモデル選択の概念に適用する方
法および手段を実施する。この方法および手段では、少
なくとも2つのモデルが、たとえばハードウェア実施様
態内で並列に、実行され、圧縮データの所与のセットま
たはセグメントに対して最高の符号化性能をもたらすモ
デルが使用される。より具体的には、最高の性能を決定
するために、1)2つまたはそれ以上のモデルを用いて
、比較可能なサイズのセグメントまたはブロックの圧縮
されたデータをそれぞれ生成し、2)最も多くの入力デ
ータを圧縮したモデルを選択する。これは、1)各モデ
ルを用いて所与のサイズの入力データ・セットを圧縮し
、2)圧縮された出力データのそれぞれのサイズによっ
て最適モデルを決定する、という従来技術の手法とは対
照的である。好ましい実施例では、所与のモデルを用い
て生成された判断シーケンスとモデル選択判断の両方が
、適応算術コーダを用いて、圧縮データに符号化される
。圧縮データの各セグメントまたはブロックは、現在実
行されているモデルを使用するように判断を符号化する
ことによってスタートする。各モデルは、算術コーダの
パラメータが前のブロックの終りに確立されてからスタ
ートする。最適モデルが圧縮したコード・ストリームだ
けが出力に使用される。そのコード・ストリームは、そ
のモデルを選択するためのオーバヘッドをその中に含ん
でいる。どのモデルを実行するかの判断は、所与の数の
入力シンボルを符号化した後ではなくて、圧縮されたデ
ータの定義域内で行われるので、モデル選択判断のオー
バヘッドは圧縮されたデータに比例する。どのモデルが
所与のサイズの圧縮されたブロックに対して最も多くの
入力シンボルを符号化したかに基づいて、最適モデルを
選ぶ。すなわち、競争に負けたモデルは、それだけの量
の入力データ・セットを符号化しなかったことになる。 続いて選択された圧縮ブロックは、記憶または転送のた
め、入力シンボルから、圧縮データの最適な出力を生成
するために、出力コード・ストリームとしてまとめられ
る。
【0009】本発明のもう1つの特徴は、いつ選択が行
われるか、すなわちいつブロックが完了するかを決定す
るために、入力データ・ストリーム中の特徴的な確率が
最も低いシンボル(LPS)を使用することである。切
替えの判断は、LPSが符号化された後に始めて行われ
る。この特徴により、選択される圧縮ブロックのサイズ
がその結果わずかに変化するかもしれないが、モデル選
択の不安定性が取り除かれる。また、使用されなかった
モデル経路の統計値は、ブロックのスタート時にそのモ
デル経路が持っていた値にリセットされる。したがって
、コード・ストリームを復号するのに用いる手段は、1
パス型のデコーダである。算術符号化で使用される被加
数レジスタ内のシフト・カウントを用いて、いつブロッ
クが完了したかを決定し、そのため、ビットの詰込み(
stuffing)が必要なときの余分な計算が不要に
なる。
われるか、すなわちいつブロックが完了するかを決定す
るために、入力データ・ストリーム中の特徴的な確率が
最も低いシンボル(LPS)を使用することである。切
替えの判断は、LPSが符号化された後に始めて行われ
る。この特徴により、選択される圧縮ブロックのサイズ
がその結果わずかに変化するかもしれないが、モデル選
択の不安定性が取り除かれる。また、使用されなかった
モデル経路の統計値は、ブロックのスタート時にそのモ
デル経路が持っていた値にリセットされる。したがって
、コード・ストリームを復号するのに用いる手段は、1
パス型のデコーダである。算術符号化で使用される被加
数レジスタ内のシフト・カウントを用いて、いつブロッ
クが完了したかを決定し、そのため、ビットの詰込み(
stuffing)が必要なときの余分な計算が不要に
なる。
【0010】好ましい実施例は算術符号化を対象として
いるが、本発明のモデル選択のための技法は、全く一般
的であり、2つ以上のモデルが存在するほとんどどんな
データ圧縮問題にも適用可能であり、どんな形の圧縮符
号化をも使用できる。
いるが、本発明のモデル選択のための技法は、全く一般
的であり、2つ以上のモデルが存在するほとんどどんな
データ圧縮問題にも適用可能であり、どんな形の圧縮符
号化をも使用できる。
【0011】
【実施例】本発明は、圧縮されるデータの各セクション
に対して最適のモデルが利用されるように、データ、好
ましくは算術符号化技法によって符号化されるデータを
圧縮するための複数のモデルのうちから選択を行う、効
率的な一般的技法を提供することを対象としている。以
下に説明する好ましい実施例のすべての特徴の意味を完
全に理解するために、「従来の技術」で述べた関係論文
を研究して、算術符号化の実施の知識を十分に習得する
ことを推奨する。また、以下の特許および特許出願は、
関連する算術符号化の具体的な改良された実施様態を教
示している。 米国特許第4286256号明細書 米国特許第4369463号明細書 米国特許第4633490号明細書 米国特許第4463342号明細書 米国特許第4652856号明細書 米国特許第4891643号明細書 米国特許第4905297号明細書 米国特許出願第193170号明細書 米国特許出願第222332号明細書
に対して最適のモデルが利用されるように、データ、好
ましくは算術符号化技法によって符号化されるデータを
圧縮するための複数のモデルのうちから選択を行う、効
率的な一般的技法を提供することを対象としている。以
下に説明する好ましい実施例のすべての特徴の意味を完
全に理解するために、「従来の技術」で述べた関係論文
を研究して、算術符号化の実施の知識を十分に習得する
ことを推奨する。また、以下の特許および特許出願は、
関連する算術符号化の具体的な改良された実施様態を教
示している。 米国特許第4286256号明細書 米国特許第4369463号明細書 米国特許第4633490号明細書 米国特許第4463342号明細書 米国特許第4652856号明細書 米国特許第4891643号明細書 米国特許第4905297号明細書 米国特許出願第193170号明細書 米国特許出願第222332号明細書
【0012】本発明で利用する算術符号化技法のあらゆ
る詳細および長所の完全な理解を助けるために、前述の
論文および特許の教示を参照により本明細書に合体する
。
る詳細および長所の完全な理解を助けるために、前述の
論文および特許の教示を参照により本明細書に合体する
。
【0013】以下の本発明の好ましい実施例の特徴につ
いての以下の説明を理解するには、まず、データの圧縮
と解除を行うための算術符号化を実施する際に、たとえ
ば連続するシンボルの形の入力データ・ストリームが、
コンピュータ内部で作用を受けて判断またはデータの列
を生成し、それが記憶または転送のために圧縮されたデ
ータの出力ストリームに符号化されることを理解された
い。圧縮されたデータ・ストリームを復号すると、入力
ストリームを再生することができる。より具体的には、
この目的のために、シンボルを、何らかの物理エンティ
ティを表し、符号化アルゴリズムの1回の繰り返しで符
号化される原始データの1要素であると定義する。これ
は通常、大きな字母系から取り出される。たとえば、1
バイトのデータは、256個の要素を含む字母系から取
り出した1つのシンボルであり、したがってこのような
シンボルは、256個の値のうちのどの値をも取り得る
。物理エンティティに関連する現象または事象に基づき
、1つのモデルを用いて、シンボルのストリームから一
連の判断またはデータのストリングが生成される。事象
とは、事前には未知である結果をともなう出来事である
。モデルは判断のコンテキストを提供する。このコンテ
キストは、原始データの部分集合または他の関数から導
出され、連続するシンボルの確率分布の推定を助ける。 アダプタ/コーダは、所与のコンテキストにおける、そ
れぞれの判断の確率を推定し、符号化する。算術符号化
プロセスでは、データ・ストリーム内の判断が次々に符
号化されて、前の区間に内包された、だんだん小さくな
る数直線上の区間を定義する。最初の区間は、たとえば
、0から1まででよい。それぞれの判断が符号化される
につれて、現区間は、それぞれ次の判断の起こり得る結
果の1つに対応する複数のセグメントに分割される。そ
れぞれの判断で起こり得る結果が2つだけ(すなわち、
各判断=2値事象)の場合、現区間は、それぞれ関連す
る確率に基づく長さを有する2つのセグメントに分割さ
れる。確率は、固定されたままであっても、判断データ
が符号化されるとき適応させても良い。頻繁に発生する
シンボルに大きなセグメントを相関させると、圧縮効果
が高まる。
いての以下の説明を理解するには、まず、データの圧縮
と解除を行うための算術符号化を実施する際に、たとえ
ば連続するシンボルの形の入力データ・ストリームが、
コンピュータ内部で作用を受けて判断またはデータの列
を生成し、それが記憶または転送のために圧縮されたデ
ータの出力ストリームに符号化されることを理解された
い。圧縮されたデータ・ストリームを復号すると、入力
ストリームを再生することができる。より具体的には、
この目的のために、シンボルを、何らかの物理エンティ
ティを表し、符号化アルゴリズムの1回の繰り返しで符
号化される原始データの1要素であると定義する。これ
は通常、大きな字母系から取り出される。たとえば、1
バイトのデータは、256個の要素を含む字母系から取
り出した1つのシンボルであり、したがってこのような
シンボルは、256個の値のうちのどの値をも取り得る
。物理エンティティに関連する現象または事象に基づき
、1つのモデルを用いて、シンボルのストリームから一
連の判断またはデータのストリングが生成される。事象
とは、事前には未知である結果をともなう出来事である
。モデルは判断のコンテキストを提供する。このコンテ
キストは、原始データの部分集合または他の関数から導
出され、連続するシンボルの確率分布の推定を助ける。 アダプタ/コーダは、所与のコンテキストにおける、そ
れぞれの判断の確率を推定し、符号化する。算術符号化
プロセスでは、データ・ストリーム内の判断が次々に符
号化されて、前の区間に内包された、だんだん小さくな
る数直線上の区間を定義する。最初の区間は、たとえば
、0から1まででよい。それぞれの判断が符号化される
につれて、現区間は、それぞれ次の判断の起こり得る結
果の1つに対応する複数のセグメントに分割される。そ
れぞれの判断で起こり得る結果が2つだけ(すなわち、
各判断=2値事象)の場合、現区間は、それぞれ関連す
る確率に基づく長さを有する2つのセグメントに分割さ
れる。確率は、固定されたままであっても、判断データ
が符号化されるとき適応させても良い。頻繁に発生する
シンボルに大きなセグメントを相関させると、圧縮効果
が高まる。
【0014】具体例として、各判断の結果、事象“a”
(確率50%)、事象“b”(確率25%)、事象“c
”(確率12.5%)または事象“d”(確率12.5
%)のいずれが生じる、4シンボル算術符号化の例が、
上述の論文”An Introductionto A
rithmetic Coding” に記述されてい
る。これらの事象は、本明細書の図1に示すように数直
線上で表すことができる。図1では、これらは、0から
1までの単位区間の直線上のコード・ポイントである。 単位区間は、それぞれが左端の点に対応するシンボルで
識別される4つの副区間に分割される。2進小数形式の
シンボル“a”に対応する副区間は0から0.1までで
あり、“b”に対応するのは0.1から0.11まで、
“c”に対応するのは0.11から0.111まで、“
d”に対応するのは0.111から1.0までである。 ただし、副区間はその起点を含み、終点を含まない。各
コード・ポイントの右側の副区間が、そのシンボルの確
率に対応する幅またはサイズを有することに留意された
い。たとえば、“a”ではそれは単位区間の1/2であ
り、“d”では1/8である。また、4つの事象を2進
形式で表現するには、各判断ごとに2ビットが必要であ
る。事象はそれぞれ00、01、10、11で表される
。
(確率50%)、事象“b”(確率25%)、事象“c
”(確率12.5%)または事象“d”(確率12.5
%)のいずれが生じる、4シンボル算術符号化の例が、
上述の論文”An Introductionto A
rithmetic Coding” に記述されてい
る。これらの事象は、本明細書の図1に示すように数直
線上で表すことができる。図1では、これらは、0から
1までの単位区間の直線上のコード・ポイントである。 単位区間は、それぞれが左端の点に対応するシンボルで
識別される4つの副区間に分割される。2進小数形式の
シンボル“a”に対応する副区間は0から0.1までで
あり、“b”に対応するのは0.1から0.11まで、
“c”に対応するのは0.11から0.111まで、“
d”に対応するのは0.111から1.0までである。 ただし、副区間はその起点を含み、終点を含まない。各
コード・ポイントの右側の副区間が、そのシンボルの確
率に対応する幅またはサイズを有することに留意された
い。たとえば、“a”ではそれは単位区間の1/2であ
り、“d”では1/8である。また、4つの事象を2進
形式で表現するには、各判断ごとに2ビットが必要であ
る。事象はそれぞれ00、01、10、11で表される
。
【0015】符号化手法を比較すると、たとえば高い確
率を有する“aab”など3判断セットの場合、符号化
されない直接データは、00 00 01となり、
6ビットが必要であることがわかる。しかし、図2に見
られるように、算術符号化手法によれば、シーケンス“
aab”を値.001で表現することができる。手短か
に言えば、算術符号化のプロセスは以下のように進行す
る。 符号化された“a”の副区間が(0,.1)であるとす
ると、この区間は次に、元の単位区間と同じ比率で再分
割され、その結果、2番目のシンボル“a”に割り当て
られる副区間は(0,..01)になる。次に、3番目
のシンボル“b”について、副区間(0,.01)が再
分割された結果、副区間(.001, .011)にな
る。したがって、“aab”情報は、2進形式での6ビ
ットではなく、3ビット、すなわち.001で表現でき
る。
率を有する“aab”など3判断セットの場合、符号化
されない直接データは、00 00 01となり、
6ビットが必要であることがわかる。しかし、図2に見
られるように、算術符号化手法によれば、シーケンス“
aab”を値.001で表現することができる。手短か
に言えば、算術符号化のプロセスは以下のように進行す
る。 符号化された“a”の副区間が(0,.1)であるとす
ると、この区間は次に、元の単位区間と同じ比率で再分
割され、その結果、2番目のシンボル“a”に割り当て
られる副区間は(0,..01)になる。次に、3番目
のシンボル“b”について、副区間(0,.01)が再
分割された結果、副区間(.001, .011)にな
る。したがって、“aab”情報は、2進形式での6ビ
ットではなく、3ビット、すなわち.001で表現でき
る。
【0016】このビットの保存は、比較的高い関連する
確率をもつ連続する事象が発生するときに生じる。一方
、確率が低く、線分が比較的短い事象が多数発生する場
合には、保存は悪くなる。すなわち、上述の確率の場合
、事象“dd”のシーケンスは、.111111で表さ
れる。その結果、大きなセグメントが、それに応じた高
い頻度で発生する事象に対応づけられている場合、確率
の低いシンボルに必要な追加ビットよりも、確率の高い
シンボルが発生した場合に達成される保存の方が大きく
なる。したがって、関連する確率(およびそれに対応す
るセグメント長)をそれぞれの事象の実際の確率に適度
に追随させることが重要である。
確率をもつ連続する事象が発生するときに生じる。一方
、確率が低く、線分が比較的短い事象が多数発生する場
合には、保存は悪くなる。すなわち、上述の確率の場合
、事象“dd”のシーケンスは、.111111で表さ
れる。その結果、大きなセグメントが、それに応じた高
い頻度で発生する事象に対応づけられている場合、確率
の低いシンボルに必要な追加ビットよりも、確率の高い
シンボルが発生した場合に達成される保存の方が大きく
なる。したがって、関連する確率(およびそれに対応す
るセグメント長)をそれぞれの事象の実際の確率に適度
に追随させることが重要である。
【0017】より多くの判断データ履歴が集められるに
つれて、事象確率を推定するための様々な技法が提案さ
れてきた。確率エスティメータ(推定機能)を適応させ
るための一般的な方法が、上記の特許出願第22223
2号明細書に記載されている。本発明の環境の理解を助
けるため、上記の特許出願を参照により本明細書に合体
する。前述の手短かな説明から理解されるように、区間
の境界を定めるコード・ポイントは、大きさとして取り
扱われ、その結果、区間を定義するために、左端の点C
および区間幅Aが指定される。これら2つのパラメータ
の値は、2つのシフト・レジスタに保持され、さらに分
割を行うためにAが利用できる符号化の間、コード・ポ
イントCおよび利用可能な幅Aの「現在値」を用いて繰
返し演算が開始する。この演算は、符号化されたシンボ
ルの値を利用して、CおよびAの「新しい」値を決定す
る。新しい区間の左端の点は、現コード・ポイント値C
に、現区間の区間幅Aと符号化されるシンボルiの累積
確率Piの積を加えた和である。すなわち、新しいC
= 現在のC+(A×Pi)たとえば、“aa”を
符号化した後、現在のコード・ポイントCは0であり、
区間幅Aは0.01である。“aab”の場合、新しい
コード・ポイントは0.001であり、これは現在のC
=0にAとPiの積すなわち(0.01×0.100)
を加えることによって求められる。現区間の幅Aは、そ
れまでに符号化されたデータ・シンボルの確率の積であ
る。すなわち、新しいA = 現在のA×Pi ただし、Piは現シンボルiの確率である。従って、“
aab”を符号化した後、区間幅は(0.1)×(0.
1)×(0.01)すなわち0.0001となる。
つれて、事象確率を推定するための様々な技法が提案さ
れてきた。確率エスティメータ(推定機能)を適応させ
るための一般的な方法が、上記の特許出願第22223
2号明細書に記載されている。本発明の環境の理解を助
けるため、上記の特許出願を参照により本明細書に合体
する。前述の手短かな説明から理解されるように、区間
の境界を定めるコード・ポイントは、大きさとして取り
扱われ、その結果、区間を定義するために、左端の点C
および区間幅Aが指定される。これら2つのパラメータ
の値は、2つのシフト・レジスタに保持され、さらに分
割を行うためにAが利用できる符号化の間、コード・ポ
イントCおよび利用可能な幅Aの「現在値」を用いて繰
返し演算が開始する。この演算は、符号化されたシンボ
ルの値を利用して、CおよびAの「新しい」値を決定す
る。新しい区間の左端の点は、現コード・ポイント値C
に、現区間の区間幅Aと符号化されるシンボルiの累積
確率Piの積を加えた和である。すなわち、新しいC
= 現在のC+(A×Pi)たとえば、“aa”を
符号化した後、現在のコード・ポイントCは0であり、
区間幅Aは0.01である。“aab”の場合、新しい
コード・ポイントは0.001であり、これは現在のC
=0にAとPiの積すなわち(0.01×0.100)
を加えることによって求められる。現区間の幅Aは、そ
れまでに符号化されたデータ・シンボルの確率の積であ
る。すなわち、新しいA = 現在のA×Pi ただし、Piは現シンボルiの確率である。従って、“
aab”を符号化した後、区間幅は(0.1)×(0.
1)×(0.01)すなわち0.0001となる。
【0018】したがって、上述の米国特許第49052
97号明細書で開示されているような簡単な実施例では
、ある事象に対する複数の可能な確率値Qeが、テーブ
ル内などで規定される。数直線区間または被加数値Aが
定義され、各判断ごとに被加数値が減少される。被加数
値をどれだけ減少させるかは、事象に依存する。すなわ
ち、各判断の結果それぞれ、1)現推定確率がQeであ
る確率の低いシンボル(LPS)、または2)確率の高
いシンボル(MPS)のいずれかが入力される2値応用
例では、LPSが入力されると被加数値は現在のQe値
に減少され、MPSが入力されると被加数値AはA−Q
eと計算される結果となる。更新されたAの値が所定の
最小値AMIN(Qeの最大値よりも大きい)より小さ
い場合、更新された値は、Aが少なくともAMINにな
るまで(好ましくは2倍にすることによって)正規化し
直される。この同時係属の特許出願の技法の基本的な着
想は、Aが正規化し直されるたびにQeの値が更新され
ることである。LPS事象に続いて再正規化が行われる
場合、Qe値(このLPS事象の推定確率を表す)が増
加される。MPS事象に続いて再正規化が行われる場合
は、Qe値が減少する。Qeの変化を被加数値の再正規
化と連動させることによって、カウンタを必要とせずに
Qeが変化する時点が容易に決定され、従来の技法とは
違って、Qe値に基づいて実際のQe確率を詳細に追跡
できる。線区間または被加数値Aは、通常はコンピュー
タ内のシフト・レジスタ(被加数レジスタまたはAレジ
スタ)に保持されているので、再正規化は最上位の0ビ
ットをシフト・アウトすることによって実施される。
97号明細書で開示されているような簡単な実施例では
、ある事象に対する複数の可能な確率値Qeが、テーブ
ル内などで規定される。数直線区間または被加数値Aが
定義され、各判断ごとに被加数値が減少される。被加数
値をどれだけ減少させるかは、事象に依存する。すなわ
ち、各判断の結果それぞれ、1)現推定確率がQeであ
る確率の低いシンボル(LPS)、または2)確率の高
いシンボル(MPS)のいずれかが入力される2値応用
例では、LPSが入力されると被加数値は現在のQe値
に減少され、MPSが入力されると被加数値AはA−Q
eと計算される結果となる。更新されたAの値が所定の
最小値AMIN(Qeの最大値よりも大きい)より小さ
い場合、更新された値は、Aが少なくともAMINにな
るまで(好ましくは2倍にすることによって)正規化し
直される。この同時係属の特許出願の技法の基本的な着
想は、Aが正規化し直されるたびにQeの値が更新され
ることである。LPS事象に続いて再正規化が行われる
場合、Qe値(このLPS事象の推定確率を表す)が増
加される。MPS事象に続いて再正規化が行われる場合
は、Qe値が減少する。Qeの変化を被加数値の再正規
化と連動させることによって、カウンタを必要とせずに
Qeが変化する時点が容易に決定され、従来の技法とは
違って、Qe値に基づいて実際のQe確率を詳細に追跡
できる。線区間または被加数値Aは、通常はコンピュー
タ内のシフト・レジスタ(被加数レジスタまたはAレジ
スタ)に保持されているので、再正規化は最上位の0ビ
ットをシフト・アウトすることによって実施される。
【0019】この算術符号化の実施様態は、更新された
判断履歴に基づいて確率を適応させることに加えて、「
繰上り伝播」や「借り伝播」など、問題となる他の様態
を含んでいる。「繰上り伝播」の問題は、下記の規約に
従って、連続する判断入力でコード・ストリームCを更
新する、第1のタイプの算術符号化エンコーダで顕著で
ある。 (1)符号化中のシンボルがLPSである場合、Cは同
じ値を保ち、新しいA=Qeが現区間になる。 (2)符号化中のシンボルがMPSである場合、CはC
+Qeに更新され、新しいA=現在のA−Qeが現区間
になる。区間Aが小さくなり、Cに加えられる区間がず
っと小さくなるにつれて、Cの精度(すなわち、コード
・ストリームの長さ)が増加する。この精度は、符号化
のために判断データが入力される限り、際限なく増大す
る。Cは不定の長さ(および精度)でよいが、コード・
ストリーム情報を保持するためにコンピュータ内で利用
できるメモリは有限なので、繰上りが発生する場合に問
題が生じ得る。具体的には、コード・ストリーム値が数
百個の1のシーケンスであるのに、Cの最近のビットし
かシフト・レジスタ(コード・レジスタまたはCレジス
タ)に保持されていない場合、何らかのAをCに加えな
ければならない場合に問題が生ずる。最近のビットしか
アクセス可能ではないので、繰上りが数百個の1ビット
に伝播することができなくなる。繰上り伝播の解決策の
1つは、ビット詰込みと称し、従来技術で既知である。 従来技術のビット詰込みは、1列に並んだ所定の数の1
ビットの後に、少なくとも1つの繰上りを受けるビット
を挿入することを提案している。
判断履歴に基づいて確率を適応させることに加えて、「
繰上り伝播」や「借り伝播」など、問題となる他の様態
を含んでいる。「繰上り伝播」の問題は、下記の規約に
従って、連続する判断入力でコード・ストリームCを更
新する、第1のタイプの算術符号化エンコーダで顕著で
ある。 (1)符号化中のシンボルがLPSである場合、Cは同
じ値を保ち、新しいA=Qeが現区間になる。 (2)符号化中のシンボルがMPSである場合、CはC
+Qeに更新され、新しいA=現在のA−Qeが現区間
になる。区間Aが小さくなり、Cに加えられる区間がず
っと小さくなるにつれて、Cの精度(すなわち、コード
・ストリームの長さ)が増加する。この精度は、符号化
のために判断データが入力される限り、際限なく増大す
る。Cは不定の長さ(および精度)でよいが、コード・
ストリーム情報を保持するためにコンピュータ内で利用
できるメモリは有限なので、繰上りが発生する場合に問
題が生じ得る。具体的には、コード・ストリーム値が数
百個の1のシーケンスであるのに、Cの最近のビットし
かシフト・レジスタ(コード・レジスタまたはCレジス
タ)に保持されていない場合、何らかのAをCに加えな
ければならない場合に問題が生ずる。最近のビットしか
アクセス可能ではないので、繰上りが数百個の1ビット
に伝播することができなくなる。繰上り伝播の解決策の
1つは、ビット詰込みと称し、従来技術で既知である。 従来技術のビット詰込みは、1列に並んだ所定の数の1
ビットの後に、少なくとも1つの繰上りを受けるビット
を挿入することを提案している。
【0020】算術符号化パラメータおよびその環境に関
する前述の情報を利用して、これより本発明の好ましい
実施例の特徴を具体的に説明する。最初に、本発明によ
るモデル選択を評価する際に、好ましい手法では以下の
ステップまたは考慮を組み込んでいる。 1.各モデルによって、物理的現象を表す連続するシン
ボルの入力データ・ストリームから、所与のサイズの長
さより大きいまたはそれに等しい圧縮データの新しいブ
ロックが生成されるまで、2つまたはそれ以上のモデル
を、ハードウェア実施様態内で効果的に並列に実行する
。前記シンボルは、一連の算術的に符号化された判断デ
ータまたは類似データを生成するのに用いられる。各モ
デルは、被加数(A)レジスタ、コード(C)レジスタ
および以前に圧縮された算術コーダのデータを用いて、
同じ開始点からスタートする。各モデルごとに別々の統
計区域がコンピュータ内に確保される。 2.モデルごとに、圧縮された各ブロックの始めに符号
化された最初の判断が、実行されているモデルを識別す
る。したがって、モデルはそれぞれ、そのモデルを選択
する判断を符号化する。モデル選択のための判断は、そ
のモデルが前のブロックで使用されたかどうかに基づい
て条件づけられる。多くの場合、これは「1次」モデル
と称する所与のモデルの継続が有利になる。 3.必要なすべての再正規化を含めてシンボルの符号化
が完了した後に、圧縮データのブロックが完成したかど
うか検査する。 4.2値算術符号化を使用する際、ブロックの終りかど
うか調べる検査は、確率の低いシンボル(LPS)が符
号化または復号されたときに限って行う。この結果、圧
縮されたブロックの「所与のサイズ」は、モデルが異な
るとわずかにサイズが異なる可能性があるが、このよう
なブロックは、ほぼ同じサイズ、すなわち本発明の目的
に適合する比較可能なサイズのものになる。 5.現ブロックの符号化されたデータの長さは、被加数
シフト・カウントによって決定できる。これにより、実
際に符号化されたデータ・ストリームにビットを詰め込
むことによって生じる複雑さが回避される。 6.現ブロック内で最も多くの入力シンボルを圧縮した
モデルを選択する。 7.最適のモデルによって生成された圧縮データ・スト
リームまたはブロックが、出力データ・ストリームに追
加され、選択されなかったモデルに関する統計が、その
ブロックの始めに有効であった値にリセットされる。ス
テップ2および7のおかげで、デコーダは、データを圧
縮解除する際に、ブロックごとに最適のモデルだけを実
行すれば十分である。したがって、エンコーダの計算労
力は、実行されるモデルの数にほぼ比例して増加するも
のの、デコーダは1パス形デコーダである。
する前述の情報を利用して、これより本発明の好ましい
実施例の特徴を具体的に説明する。最初に、本発明によ
るモデル選択を評価する際に、好ましい手法では以下の
ステップまたは考慮を組み込んでいる。 1.各モデルによって、物理的現象を表す連続するシン
ボルの入力データ・ストリームから、所与のサイズの長
さより大きいまたはそれに等しい圧縮データの新しいブ
ロックが生成されるまで、2つまたはそれ以上のモデル
を、ハードウェア実施様態内で効果的に並列に実行する
。前記シンボルは、一連の算術的に符号化された判断デ
ータまたは類似データを生成するのに用いられる。各モ
デルは、被加数(A)レジスタ、コード(C)レジスタ
および以前に圧縮された算術コーダのデータを用いて、
同じ開始点からスタートする。各モデルごとに別々の統
計区域がコンピュータ内に確保される。 2.モデルごとに、圧縮された各ブロックの始めに符号
化された最初の判断が、実行されているモデルを識別す
る。したがって、モデルはそれぞれ、そのモデルを選択
する判断を符号化する。モデル選択のための判断は、そ
のモデルが前のブロックで使用されたかどうかに基づい
て条件づけられる。多くの場合、これは「1次」モデル
と称する所与のモデルの継続が有利になる。 3.必要なすべての再正規化を含めてシンボルの符号化
が完了した後に、圧縮データのブロックが完成したかど
うか検査する。 4.2値算術符号化を使用する際、ブロックの終りかど
うか調べる検査は、確率の低いシンボル(LPS)が符
号化または復号されたときに限って行う。この結果、圧
縮されたブロックの「所与のサイズ」は、モデルが異な
るとわずかにサイズが異なる可能性があるが、このよう
なブロックは、ほぼ同じサイズ、すなわち本発明の目的
に適合する比較可能なサイズのものになる。 5.現ブロックの符号化されたデータの長さは、被加数
シフト・カウントによって決定できる。これにより、実
際に符号化されたデータ・ストリームにビットを詰め込
むことによって生じる複雑さが回避される。 6.現ブロック内で最も多くの入力シンボルを圧縮した
モデルを選択する。 7.最適のモデルによって生成された圧縮データ・スト
リームまたはブロックが、出力データ・ストリームに追
加され、選択されなかったモデルに関する統計が、その
ブロックの始めに有効であった値にリセットされる。ス
テップ2および7のおかげで、デコーダは、データを圧
縮解除する際に、ブロックごとに最適のモデルだけを実
行すれば十分である。したがって、エンコーダの計算労
力は、実行されるモデルの数にほぼ比例して増加するも
のの、デコーダは1パス形デコーダである。
【0021】実験による証明
2つの7画素プレディクタを2つのモデルとして用いた
符号化試験で、前述の考察は、様々な面で望ましいこと
が確認された。一方の7画素プレディクタ“Preus
s”モデル(G. G. Langdon and J
. Rissanen, ”Compression
of Black−White Images wit
h Arithmetic Coding”, IEE
E Trans. Commun. Vol. COM
−29,NO.6, June 1981 を参照)は
、算術符号化技法と共に用いると、標準CCITT文書
セットCCITT1−CCITT8に対して優れた圧縮
を達成することがわかっている(R. Hunter
and A. Robinson, ”Interna
tional Digital FacsimileC
oding Standards”, Proc. I
EEE 68, NO.7, 1980を参照)が、デ
ジタル・ハーフトーン画像ではあまりうまく働かない。 もう一方の単純な水平7画素プレディクタ(すなわち、
最後の7画素)は、デジタル・ハーフトーンにはうまく
動作するが、標準CCITT画像には、“Preuss
”モデルに比べてあまりうまく働かないことが判明して
いる。これら2つのモデルは、この2種類の画像に対す
る挙動がかなり異なるので、本発明のモデル選択アルゴ
リズムを実験するための優れた基礎となる。実験に使用
した算術コーダは、共同発明者 W. B. Penn
ebacker および J. L. Mitchel
l が論文 ”Software implement
ations of the Q−Coder”, I
BM J. Res. Develop., Vol.
32, NO.6, pp. 753−774,Nov
ember 1988 に記載したバージョンの「Qコ
ーダ」である。Preussモデル・データは、R.B
. Arps らが論文 ”A multi−purp
ose VLSI chip for adaptiv
edata compression ofbilev
el images”,IBM Journal of
Research and Development
, November1988,pp.775−795
に記載した、7ビット・テンプレート・モデルと共に
「Qコーダ」を使用して開発された。
符号化試験で、前述の考察は、様々な面で望ましいこと
が確認された。一方の7画素プレディクタ“Preus
s”モデル(G. G. Langdon and J
. Rissanen, ”Compression
of Black−White Images wit
h Arithmetic Coding”, IEE
E Trans. Commun. Vol. COM
−29,NO.6, June 1981 を参照)は
、算術符号化技法と共に用いると、標準CCITT文書
セットCCITT1−CCITT8に対して優れた圧縮
を達成することがわかっている(R. Hunter
and A. Robinson, ”Interna
tional Digital FacsimileC
oding Standards”, Proc. I
EEE 68, NO.7, 1980を参照)が、デ
ジタル・ハーフトーン画像ではあまりうまく働かない。 もう一方の単純な水平7画素プレディクタ(すなわち、
最後の7画素)は、デジタル・ハーフトーンにはうまく
動作するが、標準CCITT画像には、“Preuss
”モデルに比べてあまりうまく働かないことが判明して
いる。これら2つのモデルは、この2種類の画像に対す
る挙動がかなり異なるので、本発明のモデル選択アルゴ
リズムを実験するための優れた基礎となる。実験に使用
した算術コーダは、共同発明者 W. B. Penn
ebacker および J. L. Mitchel
l が論文 ”Software implement
ations of the Q−Coder”, I
BM J. Res. Develop., Vol.
32, NO.6, pp. 753−774,Nov
ember 1988 に記載したバージョンの「Qコ
ーダ」である。Preussモデル・データは、R.B
. Arps らが論文 ”A multi−purp
ose VLSI chip for adaptiv
edata compression ofbilev
el images”,IBM Journal of
Research and Development
, November1988,pp.775−795
に記載した、7ビット・テンプレート・モデルと共に
「Qコーダ」を使用して開発された。
【0022】以下の3つの表は、上に示した7つのステ
ップを用いると効率がよいことを裏付ける実験的な証拠
を与える。表した欄中、“2D”は2次元Preuss
モデルを指し、“1D”は水平7画素プレディクタ・モ
デルを指す。“2V”は、2Dモデルが(両者の性能が
等しい場合に選択される)1次モデルとなるモデル選択
を指し、“1V”は1Dモデルが1次モデルとなるモデ
ル選択を指す。“1Vr”および“2Vr”は、モデル
が使用されなかった場合に統計表がリセットされること
を示す。“block”(ブロック)と題した欄の“3
2”は、モデル選択が32個(またはそれ以上)の圧縮
ビットごとに行われたことを示す。特に注記した場合を
除き、右の欄は、完全に復号可能なファイルの圧縮後の
ビット・カウントの総計である。
ップを用いると効率がよいことを裏付ける実験的な証拠
を与える。表した欄中、“2D”は2次元Preuss
モデルを指し、“1D”は水平7画素プレディクタ・モ
デルを指す。“2V”は、2Dモデルが(両者の性能が
等しい場合に選択される)1次モデルとなるモデル選択
を指し、“1V”は1Dモデルが1次モデルとなるモデ
ル選択を指す。“1Vr”および“2Vr”は、モデル
が使用されなかった場合に統計表がリセットされること
を示す。“block”(ブロック)と題した欄の“3
2”は、モデル選択が32個(またはそれ以上)の圧縮
ビットごとに行われたことを示す。特に注記した場合を
除き、右の欄は、完全に復号可能なファイルの圧縮後の
ビット・カウントの総計である。
【0023】表 I:〓
各モデル単独の場合に関する動的モデル選択の結果を示
す試験データ。CCITT2は、CCITT文書セット
中の回路図のファクシミリ画像であり、boat2xは
、上述の R. B. Arps らの論文で図示され
考察されている、ボートの比較的小さなデジタル・ハー
フトーン画像の回転バージョンである。
す試験データ。CCITT2は、CCITT文書セット
中の回路図のファクシミリ画像であり、boat2xは
、上述の R. B. Arps らの論文で図示され
考察されている、ボートの比較的小さなデジタル・ハー
フトーン画像の回転バージョンである。
【0024】表 II:〓
ブロック・サイズの影響がないことを示す試験データ。
2つのモデルを別々に実行した場合の性能データは表
【
0025】表 III: 複数の試験ファイルに関する結果の一覧表。この表に引
用された数値は、すべて2Dモデルを1次モデルとして
用い、使用されなかったモデルの統計表をリセットした
場合のものである。
0025】表 III: 複数の試験ファイルに関する結果の一覧表。この表に引
用された数値は、すべて2Dモデルを1次モデルとして
用い、使用されなかったモデルの統計表をリセットした
場合のものである。
【0026】
【0027】* 同じ原グレイスケール画像から5つの
技法でハーフトーン化されたファイル(90バイト/行
)** 右端に白を埋め込んで216バイト/行にした
技法でハーフトーン化されたファイル(90バイト/行
)** 右端に白を埋め込んで216バイト/行にした
【0028】使用したMMRアルゴリズムは、K. L
. Anderson, F. C. Mintzer
, G. Goertzel,J. L. Mitch
ell, K. S. Pennington, an
d W. B.Pennebaker の論文 ”Bi
nary−Image−Manipulation A
lgorithms in the Image Vi
ewFacility”,the IBM J. Re
s.Develop. Vol.31, No.1,
pp. 16−31, January 1987 に
記載のCCITTグループ4アルゴリズムの変形である
。最初の2つのハーフトーン画像は、上述の IEEE
Trans. Commun. Vol. COM−
29,No.6, June 1981 に所載の G
. G. Langdon and J. Rissa
nen の論文で論じられているデジタル・ハーフトー
ン画像である。第3のハーフトーンは、W. B. P
ennebaker and J. L. Mitch
ell の論文”Probability Estim
ation for the Q−Coder”,IB
M J. Res. Develop., Vol.3
2, No.6,pp.737−752, Novem
ber 1988 に記載されている。次の10個のハ
ーフトーン画像は、それぞれ Y. Chen, F.
Mintzer and K. Penningto
n の論文 ”PANDA:Processing A
lgorithm for Noncoded Doc
ument Acquisition”,the IB
M J. Res. Develop. Vol.31
, No.1, pp. 32−43, Januar
y 1987 に記載された画像の2つのバージョンで
ある。 最後のハーフトーンは、G. Goertzel an
d G. R. Thompson の論文 ”Di
gital Halftoning on the I
BM 4250 Printer”,the IBM
J. Res. Develop. Vol. 31,
No.1,pp. 32−15, January 1
987 の図16である。the IBM J. Re
s. Develop., November 198
8 のp.759の表2も参照されたい。
. Anderson, F. C. Mintzer
, G. Goertzel,J. L. Mitch
ell, K. S. Pennington, an
d W. B.Pennebaker の論文 ”Bi
nary−Image−Manipulation A
lgorithms in the Image Vi
ewFacility”,the IBM J. Re
s.Develop. Vol.31, No.1,
pp. 16−31, January 1987 に
記載のCCITTグループ4アルゴリズムの変形である
。最初の2つのハーフトーン画像は、上述の IEEE
Trans. Commun. Vol. COM−
29,No.6, June 1981 に所載の G
. G. Langdon and J. Rissa
nen の論文で論じられているデジタル・ハーフトー
ン画像である。第3のハーフトーンは、W. B. P
ennebaker and J. L. Mitch
ell の論文”Probability Estim
ation for the Q−Coder”,IB
M J. Res. Develop., Vol.3
2, No.6,pp.737−752, Novem
ber 1988 に記載されている。次の10個のハ
ーフトーン画像は、それぞれ Y. Chen, F.
Mintzer and K. Penningto
n の論文 ”PANDA:Processing A
lgorithm for Noncoded Doc
ument Acquisition”,the IB
M J. Res. Develop. Vol.31
, No.1, pp. 32−43, Januar
y 1987 に記載された画像の2つのバージョンで
ある。 最後のハーフトーンは、G. Goertzel an
d G. R. Thompson の論文 ”Di
gital Halftoning on the I
BM 4250 Printer”,the IBM
J. Res. Develop. Vol. 31,
No.1,pp. 32−15, January 1
987 の図16である。the IBM J. Re
s. Develop., November 198
8 のp.759の表2も参照されたい。
【0029】前述したように、モデル選択は、過去にい
くつかの異なる意味で試行されてきたが、本発明の好ま
しい技法は、多くの重要な点で従来技術を改良すること
がわかる。たとえば、 1.モデル選択判断は、現在実行されているモデルを使
用するように判断を符号化することによって、圧縮デー
タの各ブロックがスタートするように、算術的に符号化
することができる。すべてのモデルは、算術コーダのパ
ラメータが前のブロックの終りに確立されてからスター
トする。最適モデルが圧縮したコード・ストリームだけ
が記憶または転送のために送られ、そのコード・ストリ
ームは、そのモデルを選択するためのオーバヘッドをそ
の中に含んでいる。 2.どのモデルを実行するかの判断は、所与の数の入力
シンボルを符号化した後ではなくて、圧縮されたデータ
の定義域内で行われる。したがって、モデル選択判断の
オーバヘッドは、圧縮されたデータに比例する。どのモ
デルが所与のサイズの圧縮されたブロックに対して最も
多くの入力シンボルを符号化したかに基づいて、最適の
モデルを選択する。競争に負けたモデルは、それだけの
量の入力データ・セットを符号化しなかったことになる
。したがって、選択プロセスに要する時間に対して符号
化された入力データの量が最大になる。 3.切換え、すなわち所与のサイズでブロックを終了さ
せるかどうかの判断は、確率が低いシンボル(LPS)
が符号化された後にだけ行われる。したがって、各モデ
ルごとにブロックのサイズがわずかに変化するかもしれ
ないが、モデル選択の目的では比較可能なままである。 ただし、この手法では、モデル選択の不安定性が取り除
かれる。 4.使用されなかったモデル経路の統計値または推定確
率が、ブロックのスタート時にそのモデル経路が持って
いた値にリセットされる。したがって、デコーダは1パ
ス形デコーダである。 5.被加数レジスタのシフト・カウントを用いて、いつ
ブロックが完了するかを決定できる。これによって、ビ
ット詰込みが必要なときの余分な計算が不要になる。
くつかの異なる意味で試行されてきたが、本発明の好ま
しい技法は、多くの重要な点で従来技術を改良すること
がわかる。たとえば、 1.モデル選択判断は、現在実行されているモデルを使
用するように判断を符号化することによって、圧縮デー
タの各ブロックがスタートするように、算術的に符号化
することができる。すべてのモデルは、算術コーダのパ
ラメータが前のブロックの終りに確立されてからスター
トする。最適モデルが圧縮したコード・ストリームだけ
が記憶または転送のために送られ、そのコード・ストリ
ームは、そのモデルを選択するためのオーバヘッドをそ
の中に含んでいる。 2.どのモデルを実行するかの判断は、所与の数の入力
シンボルを符号化した後ではなくて、圧縮されたデータ
の定義域内で行われる。したがって、モデル選択判断の
オーバヘッドは、圧縮されたデータに比例する。どのモ
デルが所与のサイズの圧縮されたブロックに対して最も
多くの入力シンボルを符号化したかに基づいて、最適の
モデルを選択する。競争に負けたモデルは、それだけの
量の入力データ・セットを符号化しなかったことになる
。したがって、選択プロセスに要する時間に対して符号
化された入力データの量が最大になる。 3.切換え、すなわち所与のサイズでブロックを終了さ
せるかどうかの判断は、確率が低いシンボル(LPS)
が符号化された後にだけ行われる。したがって、各モデ
ルごとにブロックのサイズがわずかに変化するかもしれ
ないが、モデル選択の目的では比較可能なままである。 ただし、この手法では、モデル選択の不安定性が取り除
かれる。 4.使用されなかったモデル経路の統計値または推定確
率が、ブロックのスタート時にそのモデル経路が持って
いた値にリセットされる。したがって、デコーダは1パ
ス形デコーダである。 5.被加数レジスタのシフト・カウントを用いて、いつ
ブロックが完了するかを決定できる。これによって、ビ
ット詰込みが必要なときの余分な計算が不要になる。
【0030】2つの特定のモデルおよび2値算術符号化
に関して、好ましい実施例を基本的に説明し、これらを
用いて上述の実験的証明試験を行ったが、本発明のモデ
ル選択のための技法は、全く一般的であり、2つ以上の
モデルが存在するほとんどどんなデータ圧縮問題に適用
可能であり、どんな形の圧縮符号化をも使用できること
を理解されたい。
に関して、好ましい実施例を基本的に説明し、これらを
用いて上述の実験的証明試験を行ったが、本発明のモデ
ル選択のための技法は、全く一般的であり、2つ以上の
モデルが存在するほとんどどんなデータ圧縮問題に適用
可能であり、どんな形の圧縮符号化をも使用できること
を理解されたい。
【0031】圧縮データ・ブロックのサイズを、処理さ
れた入力データのサイズと比較し、そのモデルが入力デ
ータを引き延ばしている場合には「非圧縮」モデルに切
り換える実施例を含むことも意図されている。また、上
述したように、1次モデルは、以前に使用したモデルに
基づいて最初に使用されるモデルであり、その結果、1
次モデルともう1つのモデルの間で優劣がつかなかった
場合、1次モデルを選択してモデルの切換えを避けるこ
とが好ましい。さらにこの点に関して、圧縮データ・ブ
ロックあたりの符号化された入力シンボルの数に基づい
て、1次モデルに対する閾値を選択することができる。 その場合、圧縮された入力シンボルの数が閾値を越える
限り、別のモデルは処理されない。したがって、1次モ
デルが優れた圧縮を達成しているとき、エンコーダは1
パス形エンコーダとなることができる。
れた入力データのサイズと比較し、そのモデルが入力デ
ータを引き延ばしている場合には「非圧縮」モデルに切
り換える実施例を含むことも意図されている。また、上
述したように、1次モデルは、以前に使用したモデルに
基づいて最初に使用されるモデルであり、その結果、1
次モデルともう1つのモデルの間で優劣がつかなかった
場合、1次モデルを選択してモデルの切換えを避けるこ
とが好ましい。さらにこの点に関して、圧縮データ・ブ
ロックあたりの符号化された入力シンボルの数に基づい
て、1次モデルに対する閾値を選択することができる。 その場合、圧縮された入力シンボルの数が閾値を越える
限り、別のモデルは処理されない。したがって、1次モ
デルが優れた圧縮を達成しているとき、エンコーダは1
パス形エンコーダとなることができる。
【0032】所与のモデルによって出力される圧縮デー
タの量を選択プロセスで使用する本発明の技法は、新し
い可変長コードワード・テーブルを生成するために適応
区間を決定する際の可変長符号化に適用できることも意
図されている。この場合も、選択されたモデルだけが、
その可変長コードワード・テーブルが変更される。
タの量を選択プロセスで使用する本発明の技法は、新し
い可変長コードワード・テーブルを生成するために適応
区間を決定する際の可変長符号化に適用できることも意
図されている。この場合も、選択されたモデルだけが、
その可変長コードワード・テーブルが変更される。
【0033】好ましい実施例では、圧縮のために選択さ
れたモデルをデコーダに知らせるモデル識別子が、各ブ
ロックの始めに組み込まれる。デコーダは、受け取った
圧縮データの量に基づいて、いつ識別子を探すべきかを
知るように適合されている。また、モデル識別子の符号
化を回避するため、エンコーダおよびデコーダが、符号
化されたデータの過去の履歴を参照して、次の圧縮デー
タ・ブロックに使用されるモデルを識別することも可能
である。
れたモデルをデコーダに知らせるモデル識別子が、各ブ
ロックの始めに組み込まれる。デコーダは、受け取った
圧縮データの量に基づいて、いつ識別子を探すべきかを
知るように適合されている。また、モデル識別子の符号
化を回避するため、エンコーダおよびデコーダが、符号
化されたデータの過去の履歴を参照して、次の圧縮デー
タ・ブロックに使用されるモデルを識別することも可能
である。
【0034】本発明は、ハードウェアおよびソフトウェ
アのいずれでも実施できることが理解されよう。前者の
場合、上述の R.B Arps らの論文で論じられ
たIBMの適応2値画像圧縮(ABIC)チップなどの
タイプのVLSIチップに機能を組め込むことができる
。後者の場合、ソフトウェアを、IBM S/370
などの汎用コンピュータ上で実行できるように適合させ
ることができる。
アのいずれでも実施できることが理解されよう。前者の
場合、上述の R.B Arps らの論文で論じられ
たIBMの適応2値画像圧縮(ABIC)チップなどの
タイプのVLSIチップに機能を組め込むことができる
。後者の場合、ソフトウェアを、IBM S/370
などの汎用コンピュータ上で実行できるように適合させ
ることができる。
【0035】
【発明の効果】本発明は、圧縮されるデータの各セクシ
ョンに対して最適のモデルが利用されるように、圧縮符
号化技法によってデータを圧縮する際に用いられる2つ
またはそれ以上のモデルの間で選択を行うための、効率
的な一般的技法を提供する。
ョンに対して最適のモデルが利用されるように、圧縮符
号化技法によってデータを圧縮する際に用いられる2つ
またはそれ以上のモデルの間で選択を行うための、効率
的な一般的技法を提供する。
【図1】事象a、b、cおよびdが直線上のコード・ポ
イントとして表されそれぞれの幅が推定確率に対応し、
それぞれが左端の点のシンボルで識別される4つの副区
間に分割されている、算術符号化で使用される数直線ま
たは0から1までの単位区間を示す図である。
イントとして表されそれぞれの幅が推定確率に対応し、
それぞれが左端の点のシンボルで識別される4つの副区
間に分割されている、算術符号化で使用される数直線ま
たは0から1までの単位区間を示す図である。
【図2】データ・ストリング“aab”を符号化する際
の単位区間の連続する再分割を示す、図1の数直線を示
す図である。
の単位区間の連続する再分割を示す、図1の数直線を示
す図である。
Claims (20)
- 【請求項1】複数のモデルを具備し、各モデルは、入力
シンボルに応答して、モデルの特性に基づき、データ・
ストリングの形で符号化されたデータを生成するもので
あり、入力シンボルのストリームの連続する各部分をそ
れぞれ符号化するための複数のデータ圧縮モデルのうち
で最適のものを動的に選択することにより、前記ストリ
ームの圧縮を最大にするコンピュータ化された方法であ
って、前記ストリーム中の同一のシンボルから始めて、
各モデルを用いて入力シンボルのストリームからデータ
・ストリングをそれぞれ生成するステップと、前記デー
タ・ストリングを圧縮符号化して、各ブロックが比較可
能なサイズである圧縮データ・ブロックを生成するステ
ップと、入力シンボルの圧縮が最大になった圧縮データ
・ブロックを選択するステップと、選択された圧縮デー
タ・ブロックを出力データ・ストリームに加えるステッ
プと、前記選択されたモデルに入力された最後のシンボ
ルの後に続く入力シンボルから始めて、前記入力シンボ
ル・ストリームの次に続く部分について前述の諸ステッ
プを繰り返すステップとを含むことを特徴とする方法。 - 【請求項2】圧縮符号化ステップが算術符号化を含むこ
とを特徴とする、請求項1に記載の方法。 - 【請求項3】圧縮符号化ステップが2値算術符号化を含
み、前記圧縮データ・ブロックが確率の低いシンボルが
符号化された後にのみ完了することを特徴とする、請求
項1に記載の方法。 - 【請求項4】当該のブロックを生成するモデルを示すモ
デル識別子を、各圧縮データ・ブロックの始めに符号化
するステップと、選択された圧縮データ・ブロックを出
力データ・ストリームに加える際に、選択されたブロッ
ク用のモデル識別子をその中に含めるステップとをさら
に含むことを特徴とする、請求項1に記載の方法。 - 【請求項5】前記モデル識別子を、圧縮データ・ブロッ
クを復号するのに使用することを特徴とする、請求項4
に記載の方法。 - 【請求項6】前記当該のデータ・ストリングの過去の履
歴を用いて、次の圧縮データ・ブロックに使用されるモ
デルを識別することを特徴とする、請求項1に記載の方
法。 - 【請求項7】圧縮データ・ブロック当たりの符号化され
た入力シンボルの数に基づいて閾値が選択され、圧縮デ
ータ・ブロック当たりの符号化された入力シンボルの数
が前記閾値を上回る限り、次の圧縮データ・ブロックに
使用される前記モデルが使用され続け、代わりのモデル
は処理されないことを特徴とする、請求項6に記載の方
法。 - 【請求項8】前記圧縮データ・ブロックに推定確率値が
関連付けられ、さらに、次のブロックの生成の始めに、
選択されなかったモデルに対する推定確率値を以前の推
定値にリセットするステップを含むことを特徴とする、
請求項1に記載の方法。 - 【請求項9】前記モデルのうちの1つが、選択された圧
縮データ・ブロックのサイズを圧縮済みの入力シンボル
の数のサイズと比較し、両者のうちの小さい方を出力デ
ータ・ストリームに加えるべく選択することを含むこと
を特徴とする、請求項1に記載の方法。 - 【請求項10】圧縮符号化ステップが可変長符号化を含
むことを特徴とする、請求項1に記載の方法。 - 【請求項11】データ・シンボルのストリームの圧縮が
最大になるように、ストリーム中のデータ・シンボルを
圧縮するための複数のデータ圧縮モデルのうちの1つを
選択するための、コンピュータ化された方法であって、
各モデルについて、当該モデルを使用し、前記ストリー
ム中の同一のデータ・シンボルから始めて、形成される
圧縮データ・ブロックが比較可能なサイズになるまで、
ストリームから入力されたデータ・シンボルから圧縮デ
ータ・ブロックを形成するステップと、前記形成された
ブロックのうちからの最も多くの入力シンボルが圧縮さ
れたブロックを生成したモデルを選択するステップとを
含むことを特徴とする方法。 - 【請求項12】前記圧縮データ・ブロックが、前記スト
リーム中の同一のシンボルから始めて、各モデルを用い
て入力シンボルのストリームから当該のデータ・ストリ
ングを生成するステップと、前記データ・ストリングを
圧縮符号化して、前記圧縮データ・ブロックを生成する
ステップとによって形成されることを特徴とする、請求
項11に記載の方法 - 【請求項13】確率の低いシンボルが符号化された後の
み、前記当該の圧縮データ・ブロックが完了することを
特徴とする、請求項12に記載の方法。 - 【請求項14】各モデルが入力シンボルのストリームに
応答してデータ・ストリングを生成するという、算術符
号化および復号で使用するための複数のデータ圧縮モデ
ルのうちで最適のものを動的に選択するコンピュータ化
された方法であって、前記入力シンボル・ストリーム中
の同一のシンボルから始めて、前記モデルのそれぞれを
用いて、当該のモデルに対するモデル選択判断を含む前
記入力シンボルから、当該のデータ・ストリングを生成
するステップと、前記ブロックのそれぞれが少なくとも
所与のサイズであり、所与のブロックに対する各モデル
の符号化を、同一のコード・ストリームおよび確率区間
で開始して、適応算術コーダを用いて、各モデルごとに
モデル選択判断およびデータ・ストリングを符号化して
、各モデルごとに当該の圧縮データ・ブロックを生成す
るステップと、圧縮された入力データ・シンボルの量に
基づいて、算術符号化中に生成された圧縮データ・ブロ
ックのうちから最高の符号化性能をもつモデルを選択す
るステップとを含むことを特徴とする方法。 - 【請求項15】複数のモデルを具備し、各モデルは、入
力シンボルに応答して、モデルの特性に基づき、当該の
データ・ストリングの形で符号化されたデータを生成す
るものであり、入力シンボルのストリームの連続する各
部分をそれぞれ符号化するための複数のデータ圧縮モデ
ルのうちで最適のものを動的に選択することにより、前
記ストリームの圧縮を最大にするコンピュータ化された
システムであって、前記ストリーム中の同一の入力シン
ボルから始めて、前記データ圧縮モデルのそれぞれを用
いて入力シンボルのストリームからデータ・ストリング
をそれぞれ生成する手段と、前記データ・ストリングを
圧縮符号化してそれぞれ比較可能なサイズである当該の
圧縮データ・ブロックを生成する手段と、入力シンボル
の圧縮が最大になった圧縮データ・ブロックを選択する
手段と、選択された圧縮データ・ブロックを出力データ
・ストリームに加える手段と、前記選択されたモデルに
入力された最後のシンボルの後に続く入力シンボルから
始めて、前記入力ストリームのすべての部分が圧縮され
て前記出力データ・ストリームに加えられるまで、前記
入力シンボル・ストリームの次に続く部分に作用するよ
う前記の手段を作動させる手段とを含むことを特徴とす
るシステム。 - 【請求項16】前記圧縮符号化手段が、前記データ・ス
トリングを算術的に符号化する手段を含むことを特徴と
する、請求項15に記載のシステム。 - 【請求項17】前記圧縮符号化手段が、前記データ・ス
トリングを可変長符号化する手段を含むことを特徴とす
る、請求項15に記載のシステム。 - 【請求項18】さらに、次のブロックの生成の開始時に
、選択されなかったモデルに対する、前記圧縮データ・
ブロックに関連する推定確率値を、前の推定値にリセッ
トする手段を含むことを特徴とする、請求項15に記載
のシステム。 - 【請求項19】データ・シンボルのストリームの圧縮が
最大になるように、ストリーム中のデータ・シンボルを
圧縮するための複数のデータ圧縮モデルのうちの1つを
選択するための、コンピュータ化されたシステムであっ
て、各モデルについて当該モデルを使用し、前記ストリ
ーム中の同一のデータ・シンボルから始めて、形成され
る圧縮データ・ブロックが比較可能なサイズになるまで
、ストリームから入力されたデータ・シンボルから圧縮
データ・ブロックを形成する手段と、前記形成されたブ
ロックのうちの最も多くの入力シンボルが圧縮されたブ
ロックを選択する手段とを含むことを特徴とするシステ
ム。 - 【請求項20】各モデルが入力シンボルのストリームに
応答してデータ・ストリングを生成するという、算術符
号化および復号で使用するための複数のデータ圧縮モデ
ルのうちの1つを動的に選択するコンピュータ化された
システムであって、前記入力シンボル・ストリーム中の
同一のシンボルから始めて、前記モデルのそれぞれを用
いて、当該のモデルに対するモデル選択判断を含む前記
入力シンボルから、当該のデータ・ストリングを生成す
る手段と、前記ブロックのそれぞれが、少なくとも所与
のサイズであり、所与のブロックに対する各モデルの符
号化を、同一のコード・ストリームおよび確率区間で開
始して、各モデルごとにモデル選択判断およびデータ・
ストリングを符号化して、各モデルごとに当該の圧縮デ
ータ・ブロックを生成する適応算術コーダ手段と、圧縮
された入力データ・シンボルの量に基づいて、算術符号
化中に生成された圧縮データ・ブロックのうちから最適
の符号化性能をもつモデルを選択する手段とを含むこと
を特徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/502,909 US5045852A (en) | 1990-03-30 | 1990-03-30 | Dynamic model selection during data compression |
US502909 | 1990-03-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04223717A true JPH04223717A (ja) | 1992-08-13 |
JPH0793586B2 JPH0793586B2 (ja) | 1995-10-09 |
Family
ID=23999919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3042191A Expired - Lifetime JPH0793586B2 (ja) | 1990-03-30 | 1991-02-15 | データ圧縮モデル選択方法及びシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US5045852A (ja) |
EP (1) | EP0448802A3 (ja) |
JP (1) | JPH0793586B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002541523A (ja) * | 1999-03-31 | 2002-12-03 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | 符号化/復号のための方法および装置 |
JP2012531776A (ja) * | 2009-07-01 | 2012-12-10 | トムソン ライセンシング | 算術符号化及び復号化方法 |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2065578C (en) * | 1991-04-22 | 1999-02-23 | David W. Carr | Packet-based data compression method |
JP3123792B2 (ja) * | 1991-11-05 | 2001-01-15 | 株式会社リコー | 算術符号を用いる符号化装置および復号化装置 |
ES2278378T3 (es) * | 1992-06-09 | 2007-08-01 | Canon Kabushiki Kaisha | Aparato de codificacion. |
US5272478A (en) * | 1992-08-17 | 1993-12-21 | Ricoh Corporation | Method and apparatus for entropy coding |
US5424732A (en) * | 1992-12-04 | 1995-06-13 | International Business Machines Corporation | Transmission compatibility using custom compression method and hardware |
US5323155A (en) * | 1992-12-04 | 1994-06-21 | International Business Machines Corporation | Semi-static data compression/expansion method |
US5467087A (en) * | 1992-12-18 | 1995-11-14 | Apple Computer, Inc. | High speed lossless data compression system |
US5602976A (en) * | 1993-02-23 | 1997-02-11 | Adobe Systems Incorporated | Method and apparatus for saving printer memory |
US5640551A (en) * | 1993-04-14 | 1997-06-17 | Apple Computer, Inc. | Efficient high speed trie search process |
JPH07205496A (ja) * | 1994-01-14 | 1995-08-08 | Oki Electric Ind Co Ltd | ページプリンタ及びデータ圧縮方法 |
JP3274284B2 (ja) * | 1994-08-08 | 2002-04-15 | キヤノン株式会社 | 符号化装置およびその方法 |
CA2156889C (en) * | 1994-09-30 | 1999-11-02 | Edward L. Schwartz | Method and apparatus for encoding and decoding data |
KR960015195A (ko) * | 1994-10-31 | 1996-05-22 | 배순훈 | 트리 구조 이원 연산 코딩 장치 |
US5684478A (en) * | 1994-12-06 | 1997-11-04 | Cennoid Technologies, Inc. | Method and apparatus for adaptive data compression |
US5654702A (en) * | 1994-12-16 | 1997-08-05 | National Semiconductor Corp. | Syntax-based arithmetic coding for low bit rate videophone |
JPH0969951A (ja) * | 1995-06-20 | 1997-03-11 | Ricoh Co Ltd | 符号化方法及び復号化方法 |
US6021433A (en) * | 1996-01-26 | 2000-02-01 | Wireless Internet, Inc. | System and method for transmission of data |
US7035914B1 (en) | 1996-01-26 | 2006-04-25 | Simpleair Holdings, Inc. | System and method for transmission of data |
JP3816957B2 (ja) * | 1996-03-15 | 2006-08-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ディジタル情報信号符号化方法および装置 |
JP3267504B2 (ja) * | 1996-03-26 | 2002-03-18 | 富士通株式会社 | データ圧縮装置およびデータ復元装置 |
US6188795B1 (en) * | 1996-06-13 | 2001-02-13 | Dublin City University | Data compression |
EP0820149A3 (de) * | 1996-07-16 | 2000-10-04 | Connect Plus Ingenieurgesellschaft für Datentechnik mbH | Verfahren zur zeitoptimierten Datenübertragung zwischen mindestens einem Sender und mindestens einem Empfänger |
DE19630127C1 (de) * | 1996-07-25 | 1998-01-08 | Connect Plus Ingenieurgesellsc | Verfahren zur zeitoptimierten Datenübertragung zwischen mindestens einem Sender und mindestens einem Empfänger |
GB2337386B (en) | 1996-09-09 | 2001-04-04 | Dennis J Dupray | Location of a mobile station |
US7903029B2 (en) | 1996-09-09 | 2011-03-08 | Tracbeam Llc | Wireless location routing applications and architecture therefor |
US6236365B1 (en) | 1996-09-09 | 2001-05-22 | Tracbeam, Llc | Location of a mobile station using a plurality of commercial wireless infrastructures |
US7714778B2 (en) | 1997-08-20 | 2010-05-11 | Tracbeam Llc | Wireless location gateway and applications therefor |
US7274332B1 (en) | 1996-09-09 | 2007-09-25 | Tracbeam Llc | Multiple evaluators for evaluation of a purality of conditions |
US9134398B2 (en) | 1996-09-09 | 2015-09-15 | Tracbeam Llc | Wireless location using network centric location estimators |
US5912636A (en) * | 1996-09-26 | 1999-06-15 | Ricoh Company, Ltd. | Apparatus and method for performing m-ary finite state machine entropy coding |
US6094453A (en) * | 1996-10-11 | 2000-07-25 | Digital Accelerator Corporation | Digital data compression with quad-tree coding of header file |
KR100518640B1 (ko) * | 1996-11-11 | 2005-12-14 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 라이스인코더/디코더를사용한데이터압축/복원장치및방법 |
US6167426A (en) | 1996-11-15 | 2000-12-26 | Wireless Internet, Inc. | Contact alerts for unconnected users |
EP1359755B1 (en) * | 1996-12-20 | 2005-11-09 | Koninklijke Philips Electronics N.V. | A coded information signal |
US5880688A (en) * | 1997-04-09 | 1999-03-09 | Hewlett-Packard Company | Arithmetic coding context model that adapts to the amount of data |
US5886655A (en) * | 1997-04-09 | 1999-03-23 | Hewlett-Packard Company | Arithmetic coding context model that accelerates adaptation for small amounts of data |
US6757440B2 (en) | 1997-06-19 | 2004-06-29 | Electronics For Imaging, Inc. | Methods and apparatus for data compression |
AU757819B2 (en) * | 1997-06-19 | 2003-03-06 | Electronics For Imaging, Inc. | Method and apparatus for data compression |
US6757436B2 (en) | 1997-06-19 | 2004-06-29 | Electroncs For Imaging, Inc. | Methods and apparatus for data compression based on modeling schemes |
US6230200B1 (en) * | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
KR100281321B1 (ko) * | 1998-03-26 | 2001-02-01 | 전주범 | 적응적인 산술 부호화 및 그 복호화 방법 |
US8135413B2 (en) | 1998-11-24 | 2012-03-13 | Tracbeam Llc | Platform and applications for wireless location and other complex services |
US6195024B1 (en) | 1998-12-11 | 2001-02-27 | Realtime Data, Llc | Content independent data compression method and system |
US6624761B2 (en) | 1998-12-11 | 2003-09-23 | Realtime Data, Llc | Content independent data compression method and system |
US6442680B1 (en) * | 1999-01-29 | 2002-08-27 | International Business Machines Corporation | Method and system for compressing reduced instruction set computer (RISC) executable code |
US6583887B1 (en) * | 1999-02-26 | 2003-06-24 | Hewlett-Packard Development Company, L.P. | Method and apparatus for data compression |
US6601104B1 (en) * | 1999-03-11 | 2003-07-29 | Realtime Data Llc | System and methods for accelerated data storage and retrieval |
US6604158B1 (en) | 1999-03-11 | 2003-08-05 | Realtime Data, Llc | System and methods for accelerated data storage and retrieval |
US6611213B1 (en) * | 1999-03-22 | 2003-08-26 | Lucent Technologies Inc. | Method and apparatus for data compression using fingerprinting |
US6304833B1 (en) * | 1999-04-27 | 2001-10-16 | The United States Of America As Represented By The Secretary Of The Navy | Hypothesis selection for evidential reasoning systems |
WO2002000316A1 (en) | 1999-09-24 | 2002-01-03 | Goldberg Sheldon F | Geographically constrained network services |
US6748457B2 (en) | 2000-02-03 | 2004-06-08 | Realtime Data, Llc | Data storewidth accelerator |
US20030191876A1 (en) | 2000-02-03 | 2003-10-09 | Fallon James J. | Data storewidth accelerator |
US9875492B2 (en) | 2001-05-22 | 2018-01-23 | Dennis J. Dupray | Real estate transaction system |
US10641861B2 (en) | 2000-06-02 | 2020-05-05 | Dennis J. Dupray | Services and applications for a communications network |
US10684350B2 (en) | 2000-06-02 | 2020-06-16 | Tracbeam Llc | Services and applications for a communications network |
US7417568B2 (en) | 2000-10-03 | 2008-08-26 | Realtime Data Llc | System and method for data feed acceleration and encryption |
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 |
US6731229B2 (en) | 2001-02-09 | 2004-05-04 | International Business Machines Corporation | Method to reduce storage requirements when storing semi-redundant information in a database |
US7386046B2 (en) | 2001-02-13 | 2008-06-10 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
US20020118885A1 (en) * | 2001-02-27 | 2002-08-29 | Bernard Smeets | Font compression and retrieval |
US8082096B2 (en) | 2001-05-22 | 2011-12-20 | Tracbeam Llc | Wireless location routing applications and architecture therefor |
GB2381606A (en) * | 2001-10-31 | 2003-05-07 | Hewlett Packard Co | Data compression, storage and analysis |
US7903892B2 (en) * | 2002-10-29 | 2011-03-08 | Ati Technologies Ulc | Image analysis for image compression suitability and real-time selection |
US8111928B2 (en) | 2003-02-13 | 2012-02-07 | Ati Technologies Ulc | Method and apparatus for compression of multi-sampled anti-aliasing color data |
US7764833B2 (en) * | 2003-02-13 | 2010-07-27 | Ati Technologies Ulc | Method and apparatus for anti-aliasing using floating point subpixel color values and compression of same |
US7643679B2 (en) * | 2003-02-13 | 2010-01-05 | Ati Technologies Ulc | Method and apparatus for block based image compression with multiple non-uniform block encodings |
US7161507B2 (en) * | 2004-08-20 | 2007-01-09 | 1St Works Corporation | Fast, practically optimal entropy coding |
US7420992B1 (en) | 2005-03-17 | 2008-09-02 | Packeteer, Inc. | Adaptive network traffic compression mechanism including dynamic selection of compression algorithms |
US7606429B2 (en) * | 2005-03-25 | 2009-10-20 | Ati Technologies Ulc | Block-based image compression method and apparatus |
US7265691B2 (en) * | 2005-06-23 | 2007-09-04 | 1Stworks Corporation | Modeling for enumerative encoding |
US7649909B1 (en) | 2006-06-30 | 2010-01-19 | Packeteer, Inc. | Adaptive tunnel transport protocol |
EP2153610A4 (en) * | 2007-06-01 | 2010-09-15 | Research In Motion Ltd | INTERACTIVE COMPRESSION WITH SEVERAL UNITS OF COMPRESSION STATUS INFORMATION |
WO2009009857A1 (en) * | 2007-07-19 | 2009-01-22 | Slipstream Data Inc. | Method and system for reducing contexts for context based compression systems |
EP2261859A1 (en) | 2009-06-10 | 2010-12-15 | Thomson Licensing | Method for encoding/decoding a 3D mesh model that comprises one or more components |
WO2011088595A1 (en) | 2010-01-25 | 2011-07-28 | Thomson Licensing | Method for encoding normals of a 3d mesh model, method for decoding normals of a 3d mesh model, encoder and decoder |
US9538493B2 (en) | 2010-08-23 | 2017-01-03 | Finetrak, Llc | Locating a mobile station and applications therefor |
US9075816B2 (en) | 2011-08-24 | 2015-07-07 | Google Inc. | System and method of compressing data in font files |
US8779950B2 (en) | 2012-03-05 | 2014-07-15 | Dcba, Llc | Command encoded data compression |
CN102684703A (zh) * | 2012-04-26 | 2012-09-19 | 北京师范大学 | 一种高效的数字高程模型数据无损压缩的方法 |
US9305368B2 (en) * | 2013-06-21 | 2016-04-05 | Intel Corporation | Compression and decompression of graphics data using pixel region bit values |
US10147046B2 (en) * | 2014-10-30 | 2018-12-04 | International Business Machines Corporation | System and methodology to handle misdirected input data during multi partitioned real time analytics |
US9736081B2 (en) | 2015-06-04 | 2017-08-15 | At&T Intellectual Property I, L.P. | Apparatus and method to improve compression and storage data |
US10419772B2 (en) * | 2015-10-28 | 2019-09-17 | Qualcomm Incorporated | Parallel arithmetic coding techniques |
US9952771B1 (en) * | 2016-03-31 | 2018-04-24 | EMC IP Holding Company LLC | Method and system for choosing an optimal compression algorithm |
US10387991B2 (en) | 2016-07-01 | 2019-08-20 | Intel Corporation | Method and apparatus for frame buffer compression |
US11281641B1 (en) | 2017-05-23 | 2022-03-22 | Amazon Technologies, Inc. | Evaluating encoding history for late encoding binding of data |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6221389A (ja) * | 1985-07-19 | 1987-01-29 | Matsushita Electric Ind Co Ltd | ブロツク符号化装置 |
JPH01158825A (ja) * | 1987-12-16 | 1989-06-21 | Fujitsu Ltd | 適応型符号化制御方式 |
JPH0234038A (ja) * | 1988-07-23 | 1990-02-05 | Hitachi Ltd | データ圧縮装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3394352A (en) * | 1965-07-22 | 1968-07-23 | Electronic Image Systems Corp | Method of and apparatus for code communication |
US4286256A (en) * | 1979-11-28 | 1981-08-25 | International Business Machines Corporation | Method and means for arithmetic coding utilizing a reduced number of operations |
US4646061A (en) * | 1985-03-13 | 1987-02-24 | Racal Data Communications Inc. | Data communication with modified Huffman coding |
US4905297A (en) * | 1986-09-15 | 1990-02-27 | International Business Machines Corporation | Arithmetic coding encoder and decoder system |
US4891643A (en) * | 1986-09-15 | 1990-01-02 | International Business Machines Corporation | Arithmetic coding data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders |
US4730348A (en) * | 1986-09-19 | 1988-03-08 | Adaptive Computer Technologies | Adaptive data compression system |
US4929946A (en) * | 1989-02-09 | 1990-05-29 | Storage Technology Corporation | Adaptive data compression apparatus including run length encoding for a tape drive system |
-
1990
- 1990-03-30 US US07/502,909 patent/US5045852A/en not_active Expired - Fee Related
- 1990-12-13 EP EP19900124057 patent/EP0448802A3/en not_active Ceased
-
1991
- 1991-02-15 JP JP3042191A patent/JPH0793586B2/ja not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6221389A (ja) * | 1985-07-19 | 1987-01-29 | Matsushita Electric Ind Co Ltd | ブロツク符号化装置 |
JPH01158825A (ja) * | 1987-12-16 | 1989-06-21 | Fujitsu Ltd | 適応型符号化制御方式 |
JPH0234038A (ja) * | 1988-07-23 | 1990-02-05 | Hitachi Ltd | データ圧縮装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002541523A (ja) * | 1999-03-31 | 2002-12-03 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | 符号化/復号のための方法および装置 |
JP2012531776A (ja) * | 2009-07-01 | 2012-12-10 | トムソン ライセンシング | 算術符号化及び復号化方法 |
Also Published As
Publication number | Publication date |
---|---|
JPH0793586B2 (ja) | 1995-10-09 |
EP0448802A2 (en) | 1991-10-02 |
EP0448802A3 (en) | 1992-01-08 |
US5045852A (en) | 1991-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04223717A (ja) | データ圧縮モデル選択方法及びシステム | |
KR100648258B1 (ko) | 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더 | |
KR100750165B1 (ko) | 압축률 향상을 위해 개선된 컨텍스트 모델 선택을 사용하는cabac 부호화 방법 및 장치, 그리고 cabac복호화 방법 및 장치 | |
US5363099A (en) | Method and apparatus for entropy coding | |
US6894628B2 (en) | Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables | |
US6100825A (en) | Cluster-based data compression system and method | |
CN108886367B (zh) | 用于压缩和解压缩数据的方法、设备和*** | |
WO2006070925A1 (en) | Device and data method for selective compression and decompression and data format for compressed data | |
CN105406873B (zh) | 算术编码的方法和设备 | |
Belyaev et al. | Binary Arithmetic Coding System with Adaptive Probability Estimation by" Virtual Sliding Window" | |
US5668737A (en) | High-speed data processor and coding method | |
Ono et al. | Bi-level image coding with MELCODE-comparison of block type code and arithmetic type code | |
US6055273A (en) | Data encoding and decoding method and device of a multiple-valued information source | |
WO2010044099A1 (en) | Lossless content encoding | |
JP3593884B2 (ja) | 符号化装置および復号装置 | |
CN111818335B (zh) | 一种熵编码方法和装置、电子设备 | |
US7209593B2 (en) | Apparatus, method, and programs for arithmetic encoding and decoding | |
Niemi et al. | Interpolative coding as an alternative to arithmetic coding in bi-level image compression | |
JP4013680B2 (ja) | 復号装置および復号方法 | |
JP2005521324A (ja) | 損失のないデータの圧縮および圧縮解除方法および装置 | |
Ahmadvand et al. | A new pipelined architecture for JPEG2000 MQ-coder | |
JP2003174365A (ja) | 復号化装置及びその方法 | |
Helman et al. | Data compression | |
KR100207428B1 (ko) | 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법 | |
Kampf | Performance as a function of compression |