JPH0366227A - 圧縮符号化方法及びシステム並びに復号方法 - Google Patents
圧縮符号化方法及びシステム並びに復号方法Info
- Publication number
- JPH0366227A JPH0366227A JP2190885A JP19088590A JPH0366227A JP H0366227 A JPH0366227 A JP H0366227A JP 2190885 A JP2190885 A JP 2190885A JP 19088590 A JP19088590 A JP 19088590A JP H0366227 A JPH0366227 A JP H0366227A
- Authority
- JP
- Japan
- Prior art keywords
- symbol
- context
- pattern
- symbols
- probability
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000007906 compression Methods 0.000 title claims description 16
- 230000006835 compression Effects 0.000 title claims description 16
- 230000004044 response Effects 0.000 claims description 6
- 238000013213 extrapolation Methods 0.000 claims description 2
- 230000007547 defect Effects 0.000 abstract 1
- 230000001186 cumulative effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 235000019892 Stellar Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013329 compounding Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002655 kraft paper Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S706/00—Data processing: artificial intelligence
- Y10S706/90—Fuzzy logic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は、算術符号化の改善方法及びその方法の実行シ
ステムに関する。
ステムに関する。
B、従来技術
算術符号化器(エン”コーグ)は、R15sanenに
よって開発され、1976年5月に刊行された“Gen
eralized Kraft Inequality
Arj、thmeticCoding”、IBM J
ournal of Re6earch andDev
elopment、 Volume20. No、 3
においてはしめて発表された。この算術符号化によれば
、マルチ・アルファベット・データの圧縮が可能になる
。マルチ・アルファベラ1〜・データとは、そのシンボ
ルの各々がマルチ・シンボル・アルファベラ1〜の1つ
であるようなデータを言う。ソース・データ・ストリン
グの圧縮とは、その情報内容を減じることなしに、ソー
ス・データ・ストリングに関連するデータの量を減らす
ことを言う。したがって、ソース・データ・ストリング
を圧縮すると、出力データはオリジナル・ソース・デー
タよりも少ない7− データ量で構成されるけれども、ソース・データ全体を
再構成することは依然として可能である。
よって開発され、1976年5月に刊行された“Gen
eralized Kraft Inequality
Arj、thmeticCoding”、IBM J
ournal of Re6earch andDev
elopment、 Volume20. No、 3
においてはしめて発表された。この算術符号化によれば
、マルチ・アルファベット・データの圧縮が可能になる
。マルチ・アルファベラ1〜・データとは、そのシンボ
ルの各々がマルチ・シンボル・アルファベラ1〜の1つ
であるようなデータを言う。ソース・データ・ストリン
グの圧縮とは、その情報内容を減じることなしに、ソー
ス・データ・ストリングに関連するデータの量を減らす
ことを言う。したがって、ソース・データ・ストリング
を圧縮すると、出力データはオリジナル・ソース・デー
タよりも少ない7− データ量で構成されるけれども、ソース・データ全体を
再構成することは依然として可能である。
算術符号化プロシージャでは、通常、出力データ・スト
リングは単位区間(0,1)内の2進少数として表わさ
れる。工984年3月に刊行されたLangdor J
r、著の“An Introduction t。
リングは単位区間(0,1)内の2進少数として表わさ
れる。工984年3月に刊行されたLangdor J
r、著の“An Introduction t。
Arithmetic Coding” 、 IBM
Journal of Re5earchand De
velokment、 Volume28. Na 2
で説明されているように、算術符号化は単位区間(un
itinterval)を細分化するプロセスに関連す
る。この細分化は、単位区間に沿ってソース・アルファ
ベット中のシンボルごとにコード・ポイントCnを決め
ていくことによって遠戚される。ここで、各コード・ポ
イントは、先行するシンボルの発生確率の総和に等しい
。各コード・ポイントの右側の部分区間(sub−in
terval)の幅あるいはサイズと言うべきAnは、
対応するシンボルまでのソース・データ・ストリングの
発生確率を表わす。
Journal of Re5earchand De
velokment、 Volume28. Na 2
で説明されているように、算術符号化は単位区間(un
itinterval)を細分化するプロセスに関連す
る。この細分化は、単位区間に沿ってソース・アルファ
ベット中のシンボルごとにコード・ポイントCnを決め
ていくことによって遠戚される。ここで、各コード・ポ
イントは、先行するシンボルの発生確率の総和に等しい
。各コード・ポイントの右側の部分区間(sub−in
terval)の幅あるいはサイズと言うべきAnは、
対応するシンボルまでのソース・データ・ストリングの
発生確率を表わす。
例えば、アルファベットがシンボルa。−amから構成
され、その発生確率がそれぞれp (0)8− 〜p (m)であるとしよう。ソース・データ・ス1−
リングがa。第5a3・・・・・であるならば、最初の
シンボルa。は、部分区間〔○、 p (0) )の中
で符号化される。これは、元の単位区間内にあって、そ
の幅A1がp (0)に等しくてシンボルa。
され、その発生確率がそれぞれp (0)8− 〜p (m)であるとしよう。ソース・データ・ス1−
リングがa。第5a3・・・・・であるならば、最初の
シンボルa。は、部分区間〔○、 p (0) )の中
で符号化される。これは、元の単位区間内にあって、そ
の幅A1がp (0)に等しくてシンボルa。
の発生確率に単純に対応する第1の部分区間を表わす。
ソース・データ・ストリングの第2のシンボル第5を符
号化するためには、シンボルa。の発生確率を条件とす
る第5の発生確率を決定しなければならない。さらに、
第2シンボルa5に関連する累積確率も計算しなければ
ならない。その結果、第2シンボルa5に対応する部分
区間は、allに対応する第1部分区間内の第2の部分
区間になる。数学的には、第2部分区間の@A2はp
(0)・p (5) 、すなわちシンボルa。、第5の
各発生確率の積に等しい。単位区間内で第2部分区間の
開始点は、第1部分区間の@A□と第2シンボルa5に
関連する累積確率5(5)とに依存する。
号化するためには、シンボルa。の発生確率を条件とす
る第5の発生確率を決定しなければならない。さらに、
第2シンボルa5に関連する累積確率も計算しなければ
ならない。その結果、第2シンボルa5に対応する部分
区間は、allに対応する第1部分区間内の第2の部分
区間になる。数学的には、第2部分区間の@A2はp
(0)・p (5) 、すなわちシンボルa。、第5の
各発生確率の積に等しい。単位区間内で第2部分区間の
開始点は、第1部分区間の@A□と第2シンボルa5に
関連する累積確率5(5)とに依存する。
すなわち、それらの積A1・5(5)に等しい。
このようにしてソース・データ・ストリングの各シンボ
ルが単位区間内で相次いで符号化されていくと、それぞ
れを特定のコード・ポイントと幅でもって特定すること
が可能である部分区間が相次いで生成される。現在の部
分区間についてのコード・ポイントは、先行する区間又
は部分区間の中での現在部分区間の始まりに対応する。
ルが単位区間内で相次いで符号化されていくと、それぞ
れを特定のコード・ポイントと幅でもって特定すること
が可能である部分区間が相次いで生成される。現在の部
分区間についてのコード・ポイントは、先行する区間又
は部分区間の中での現在部分区間の始まりに対応する。
上述のように、これは現在シンボルに関連する累積確率
に等しい。したがって、第n部分区間に関連するコード
・ポイントは、第(n−1)部分区間に関連するコード
・ポイントに第(n−1)部分区間の幅と現在シンボル
の累積確率の積を足したものに等しい。すなわち、Cn
” C+ A n S−1 (i)となる。新しい小区間の幅は、(現在シンボルを
含めて)それまで符号化されたすべてのシンボルの確率
の積に等しい。すなわち、上述のソース・データ・スト
リングについてならp (o)P(5)・P(3)・・
・・・・ということになる。このようにして、幅Anと
第n小区間のコード・ポイントCnに対応するデータに
よって、ソース・データ・ストリング中の先頭の(n+
1)個のシンボルが符号化される。したがって、算術コ
ーグには、これらのデータを記憶するために、通常Aレ
ジスタ、Cレジスタと呼ばれる2つのメモリ・レジスタ
が必要となる。
に等しい。したがって、第n部分区間に関連するコード
・ポイントは、第(n−1)部分区間に関連するコード
・ポイントに第(n−1)部分区間の幅と現在シンボル
の累積確率の積を足したものに等しい。すなわち、Cn
” C+ A n S−1 (i)となる。新しい小区間の幅は、(現在シンボルを
含めて)それまで符号化されたすべてのシンボルの確率
の積に等しい。すなわち、上述のソース・データ・スト
リングについてならp (o)P(5)・P(3)・・
・・・・ということになる。このようにして、幅Anと
第n小区間のコード・ポイントCnに対応するデータに
よって、ソース・データ・ストリング中の先頭の(n+
1)個のシンボルが符号化される。したがって、算術コ
ーグには、これらのデータを記憶するために、通常Aレ
ジスタ、Cレジスタと呼ばれる2つのメモリ・レジスタ
が必要となる。
データ・ストリングを構成するシンボルの正確な発生確
率に依拠するとき、算術コーグは、ソース・データ・ス
トリングのエントロピーに対応する最適の圧縮を行う。
率に依拠するとき、算術コーグは、ソース・データ・ス
トリングのエントロピーに対応する最適の圧縮を行う。
しかしながら、実際には、従来の算術符号化プロシージ
ャーのインプリメンテーションは、正確な確率を決定す
ることの困難さゆえに、近似を導入する傾向があった。
ャーのインプリメンテーションは、正確な確率を決定す
ることの困難さゆえに、近似を導入する傾向があった。
そのような近似によれば、算術符号化オペレーションの
効率が低下し、出力データ・ストリングが理論的最小値
、つまりエントロピーよりも多くのシンボルをもって生
成されることになる。さらに、一連の小区間の各々の幅
を決定するのに必要とされている乗算をなくすために、
−層の近似が導入されている。
効率が低下し、出力データ・ストリングが理論的最小値
、つまりエントロピーよりも多くのシンボルをもって生
成されることになる。さらに、一連の小区間の各々の幅
を決定するのに必要とされている乗算をなくすために、
−層の近似が導入されている。
米国特許第4286256号明細書では、演算の数を減
らした算術符号化の方法及び装置が開示11− されている。その特許発明によれば、現在のコード・ポ
イントを符号化するのに先立って、部分区間の幅に対応
する内部積の1つを切捨てることによって乗算を簡略化
している。しかしながら、この方法は2進ソース(つま
り、シンボルを2つだけ持つアルファベット)にしか適
さない。つまり、この方法は、ソース・データ・ストリ
ングの各シンボルを、確率の高い事象または低い事象の
どちらかとして符号化することはできるけれども、マル
チ・アルファベット・コードには適さない。
らした算術符号化の方法及び装置が開示11− されている。その特許発明によれば、現在のコード・ポ
イントを符号化するのに先立って、部分区間の幅に対応
する内部積の1つを切捨てることによって乗算を簡略化
している。しかしながら、この方法は2進ソース(つま
り、シンボルを2つだけ持つアルファベット)にしか適
さない。つまり、この方法は、ソース・データ・ストリ
ングの各シンボルを、確率の高い事象または低い事象の
どちらかとして符号化することはできるけれども、マル
チ・アルファベット・コードには適さない。
米国特許第4652856号明細書では、乗算なしのマ
ルチ・アルファベット算術符号が開示されている。そこ
では、部分区間の各々が上述のような浮動少数魚形式で
ストアされる6そして、Aレジスタに収められる仮数は
、0.1より大きな2進小数とされる。該明細書で提唱
される近似方法によれば、可変の基準を採用して、部分
区画の仮数を(2進の)0.1に正確に切り捨てるか、
もしくは1に切り上げる(round up)かのどち
らかを行わせる。このような近似を使ってもなお所2− 望の圧縮を達成できるけれども、効率の点ではロスがあ
る。換言すると、圧縮データ・ストリングを表現するた
めに、最低限のビット数より多くのビット数が必要とさ
れる。このような非能率は、圧縮対象のソース・データ
の性質に依存する6特開平2−53329号公報には、
各シンボルが(m+1)個のシンボルa。、・・・、a
からなる有限のセットから取り出されるソース・デー
タ・ストリングの圧縮表現を生成する改善された方法が
開示される。この方法は算術符号化プロシージャに依拠
しており、ソース・データ・ストリングが所定区間内の
相次ぐ部分区間として帰納的に生成される。各部分区間
の幅は、理論的には先行部分区間の幅に現在シンボルの
確率を掛けた積に等しい。改良点は、適当なシフト・レ
ジスタを用いる1回のシフト・アンド・アト・オペレー
ションによって近似を達成できるように、先行部分区間
の幅を近似することから得られる。
ルチ・アルファベット算術符号が開示されている。そこ
では、部分区間の各々が上述のような浮動少数魚形式で
ストアされる6そして、Aレジスタに収められる仮数は
、0.1より大きな2進小数とされる。該明細書で提唱
される近似方法によれば、可変の基準を採用して、部分
区画の仮数を(2進の)0.1に正確に切り捨てるか、
もしくは1に切り上げる(round up)かのどち
らかを行わせる。このような近似を使ってもなお所2− 望の圧縮を達成できるけれども、効率の点ではロスがあ
る。換言すると、圧縮データ・ストリングを表現するた
めに、最低限のビット数より多くのビット数が必要とさ
れる。このような非能率は、圧縮対象のソース・データ
の性質に依存する6特開平2−53329号公報には、
各シンボルが(m+1)個のシンボルa。、・・・、a
からなる有限のセットから取り出されるソース・デー
タ・ストリングの圧縮表現を生成する改善された方法が
開示される。この方法は算術符号化プロシージャに依拠
しており、ソース・データ・ストリングが所定区間内の
相次ぐ部分区間として帰納的に生成される。各部分区間
の幅は、理論的には先行部分区間の幅に現在シンボルの
確率を掛けた積に等しい。改良点は、適当なシフト・レ
ジスタを用いる1回のシフト・アンド・アト・オペレー
ションによって近似を達成できるように、先行部分区間
の幅を近似することから得られる。
この公報では、発明の詳細な実行例として、5シンボル
・アルファベットから取り出された7個のシンボルから
なるソース・データ・ストリングの符号化法が説明され
ている。そして、説明の便宜のために、各シンボルの発
生確率は既知であり不変であると仮定されていた。実際
には、この方法1よ、同一のシンボルであってもソース
・データストリング中での発生のし方によって発生確率
が変わるような、より一般的な状況にも、よく適してい
る。それにもかかわらず、上記公報は、改良算術コーグ
の特定のインプリメンテーションにのみ関与しており、
確率のデリベーション(derivation)には関
与していない。
・アルファベットから取り出された7個のシンボルから
なるソース・データ・ストリングの符号化法が説明され
ている。そして、説明の便宜のために、各シンボルの発
生確率は既知であり不変であると仮定されていた。実際
には、この方法1よ、同一のシンボルであってもソース
・データストリング中での発生のし方によって発生確率
が変わるような、より一般的な状況にも、よく適してい
る。それにもかかわらず、上記公報は、改良算術コーグ
の特定のインプリメンテーションにのみ関与しており、
確率のデリベーション(derivation)には関
与していない。
実際、ソース・データ・ストリング中のシンボルの確率
が当該シンボルの現れる文脈(context)に依存
することはよく知られている。「文脈」とは、注目して
いるシンボルの直近のシンボル・パターンを意味する。
が当該シンボルの現れる文脈(context)に依存
することはよく知られている。「文脈」とは、注目して
いるシンボルの直近のシンボル・パターンを意味する。
したがって、1次元ストリング中のある特定シンボルの
文脈には、当該シンボルの一方又は両方の側の工以上の
シンボルが含まれることになる、したがって、例えば、
ソース・データ・ストリングが、色が黒か白に応じて各
画素がOか1になり得るような、イメージ処理システム
における画素情報を現わす場合、イメージの暗い部分で
はすべての画素はOであり、イメージの明るい部分では
すべての画素は1である。その結果、明るい部分の中の
ある特定の画素は、その四方を値1の画素でもって囲ま
れることになるであろう。ある特定画素の確率を決定す
るに際し、先行する2画素からなる文脈を考えるなら、
イメージの明るい部分の中央にある画素の文脈は、1L
X(Xは当該特定画素)に等しいことになるのは明らか
である。
文脈には、当該シンボルの一方又は両方の側の工以上の
シンボルが含まれることになる、したがって、例えば、
ソース・データ・ストリングが、色が黒か白に応じて各
画素がOか1になり得るような、イメージ処理システム
における画素情報を現わす場合、イメージの暗い部分で
はすべての画素はOであり、イメージの明るい部分では
すべての画素は1である。その結果、明るい部分の中の
ある特定の画素は、その四方を値1の画素でもって囲ま
れることになるであろう。ある特定画素の確率を決定す
るに際し、先行する2画素からなる文脈を考えるなら、
イメージの明るい部分の中央にある画素の文脈は、1L
X(Xは当該特定画素)に等しいことになるのは明らか
である。
上述の事項を言い換えると、ある特定のシンボルの確率
は、その文脈に依存する。したがって、上記の例におい
て、あるシンボルの文脈が11Xであることがわかって
いるなら1問題のシンボルが王である蓋然性は、文脈が
O○である場合よりもずっと高い。さらに、シンボルの
文脈の中のシンボル数が2個に限らずそれより多い数で
あるならば、ある特定のシンボルの確率をその文脈の関
数としてさらに一層正確に決定することが可能に5− なる。したがって、文脈が10個のシンボルを含み、か
つそのすべてが工である場合において、問題のシンボル
がOに等しい確率は、文脈を構成するシンボルの数が2
個で、かつ両方がともに1である場合よりも、はるかに
小さい。
は、その文脈に依存する。したがって、上記の例におい
て、あるシンボルの文脈が11Xであることがわかって
いるなら1問題のシンボルが王である蓋然性は、文脈が
O○である場合よりもずっと高い。さらに、シンボルの
文脈の中のシンボル数が2個に限らずそれより多い数で
あるならば、ある特定のシンボルの確率をその文脈の関
数としてさらに一層正確に決定することが可能に5− なる。したがって、文脈が10個のシンボルを含み、か
つそのすべてが工である場合において、問題のシンボル
がOに等しい確率は、文脈を構成するシンボルの数が2
個で、かつ両方がともに1である場合よりも、はるかに
小さい。
シンボルの確率をその文脈の関数として決定することは
周知であり、上述の特許明細書の何れにおいても使用す
ることが可能である。あるシンボルの情報量(info
rmation content)が式(1)によって
与えられることも知られている。
周知であり、上述の特許明細書の何れにおいても使用す
ることが可能である。あるシンボルの情報量(info
rmation content)が式(1)によって
与えられることも知られている。
i=−1og2p (1)
ここでpは、当該シンボルの発生確率に等しい。
したがって、各シンボルがOか1であるような2進デー
タを送信する場合、ソース・データ・ストリングに登場
するシンボルの各々につき、圧縮(された)データ・ス
トリング中に登場する平均ビット数は、iの期待値に等
しいことが示され得る。すなわち、下記式(2)のよう
になる。
タを送信する場合、ソース・データ・ストリングに登場
するシンボルの各々につき、圧縮(された)データ・ス
トリング中に登場する平均ビット数は、iの期待値に等
しいことが示され得る。すなわち、下記式(2)のよう
になる。
平均ビット数=−(p1og2p(1−p)log2(
1−p)) (2)上記式から容易にわかることだが、
2進アルフ16− アベツトの場合において、あるシンボルの発生確率が0
.5であるならば、当該シンボルを圧縮するのに要する
平均ピッ1〜数は1に等しい。すなわち、圧縮は不可能
である。n個のシンボルを有するアルファベラ1への場
合、シンボルの確率が1/nに等しいならば、圧縮は不
可能である。
1−p)) (2)上記式から容易にわかることだが、
2進アルフ16− アベツトの場合において、あるシンボルの発生確率が0
.5であるならば、当該シンボルを圧縮するのに要する
平均ピッ1〜数は1に等しい。すなわち、圧縮は不可能
である。n個のシンボルを有するアルファベラ1への場
合、シンボルの確率が1/nに等しいならば、圧縮は不
可能である。
イメージ・データの圧縮に関して上述の例を再び考えて
みる。イメージの暗と明の領域に対応する単純な2値の
ケースにおいて、文脈が・・OOO・・・または・・・
111 ・であるような画素を圧縮するのに要する平均
ビット数は、1よりもかなり少ない。したがって、ソー
ス・データを効率よく圧縮することができる。しかしな
がら、イメージの暗と明の領域の境にある画素の確率は
0.5に等しい。なぜなら、現在シンボルと暗領域の所
定数の画素を含む文脈に基づくなら、現在画素は○であ
ると推測されるだろうけれども、現在シンボルと明領域
の同数の画素を含む文脈に基づくなら、現在シンボルは
lであると同程度に期待されるであろうだからである。
みる。イメージの暗と明の領域に対応する単純な2値の
ケースにおいて、文脈が・・OOO・・・または・・・
111 ・であるような画素を圧縮するのに要する平均
ビット数は、1よりもかなり少ない。したがって、ソー
ス・データを効率よく圧縮することができる。しかしな
がら、イメージの暗と明の領域の境にある画素の確率は
0.5に等しい。なぜなら、現在シンボルと暗領域の所
定数の画素を含む文脈に基づくなら、現在画素は○であ
ると推測されるだろうけれども、現在シンボルと明領域
の同数の画素を含む文脈に基づくなら、現在シンボルは
lであると同程度に期待されるであろうだからである。
その結果、イメージ・データを送信するに際し、イメー
ジの実質的に暗の領域と実質的に明の領域の境に位置す
る画素に対応するデータを明瞭に送信するためには、情
報当りの支出が高価なものでならざるを得ない。
ジの実質的に暗の領域と実質的に明の領域の境に位置す
る画素に対応するデータを明瞭に送信するためには、情
報当りの支出が高価なものでならざるを得ない。
C0発明が解決しようとする課題
本発明の目的は、シンボルの確率が該シンボルの文脈に
応じて決定され、かつ従来の算術符号器に付随した欠点
が実質的に減少しあるいは除かれた算術符号器を提供す
ることにある。
応じて決定され、かつ従来の算術符号器に付随した欠点
が実質的に減少しあるいは除かれた算術符号器を提供す
ることにある。
00課題を解決するための手段
本発明の広い局面によれば、シンボルのパターンに算術
符号化を施して、圧縮された出力コード・ストリングを
生成する方法であって、上記シンボルは有限のシンボル
のセットから取られ、各シンボルは上記パターン中のあ
る位置に出現し、上記コード・ストリングは上記シンボ
ルの上記位置に出現する確率に依拠するある数であるよ
うな圧縮符号化方法において、以下のステップを含むこ
とを特徴とする方法が提供される。
符号化を施して、圧縮された出力コード・ストリングを
生成する方法であって、上記シンボルは有限のシンボル
のセットから取られ、各シンボルは上記パターン中のあ
る位置に出現し、上記コード・ストリングは上記シンボ
ルの上記位置に出現する確率に依拠するある数であるよ
うな圧縮符号化方法において、以下のステップを含むこ
とを特徴とする方法が提供される。
(a)各位置の近傍の位置の所与の第1のサブ・パター
ンを評価することによって、該パターン中の予測可能位
置PPと予測不能位置UPを決定する。
ンを評価することによって、該パターン中の予測可能位
置PPと予測不能位置UPを決定する。
ここで、該位置サブパターンが所与のシンボル・サブパ
ターン・セットのうちの何れか1つを含むときにUPは
定義され、その他のすべての場合にPPが定義される。
ターン・セットのうちの何れか1つを含むときにUPは
定義され、その他のすべての場合にPPが定義される。
(b)PP中の各シンボルについて、各自の位置におけ
る各自のシンボルの確率を用いて、通常の算術符号化を
適用する。
る各自のシンボルの確率を用いて、通常の算術符号化を
適用する。
(c)UP中の各シンボルについて、各自の位置に出現
し得るシンボルの所与のセットの組合せ確率を用いて、
通常の算術符号化を適用する。
し得るシンボルの所与のセットの組合せ確率を用いて、
通常の算術符号化を適用する。
本発明の第2の局面によれば、シンボルのパターンに無
損失算術符号化を施して、圧縮された出力コード・スト
リングを生成する方法であって、上記シンボルは有限の
シンボルのセットから取られ、各シンボルは上記パター
ン中のある位置に出現し、上記コード・ストリングは上
記シンボルの上記位置に出現する確率に依拠するある数
であるような圧縮符号化方法において、以下のステップ
9− を含むことを特徴とする方法が提供される。
損失算術符号化を施して、圧縮された出力コード・スト
リングを生成する方法であって、上記シンボルは有限の
シンボルのセットから取られ、各シンボルは上記パター
ン中のある位置に出現し、上記コード・ストリングは上
記シンボルの上記位置に出現する確率に依拠するある数
であるような圧縮符号化方法において、以下のステップ
9− を含むことを特徴とする方法が提供される。
(a)各位置の近傍の、文脈を表わす位置の所与の第1
のサブ・パターンを評価することによって、該パターン
中の予測可能位置PPと予測不能位置UPを決定する。
のサブ・パターンを評価することによって、該パターン
中の予測可能位置PPと予測不能位置UPを決定する。
ここで、該位置サブパターンが選択されたシンボル・サ
ブパターン・セットのうちの何れか1つを含むときにU
Pは定義され、その他のすべての場合にPPが定義され
る。
ブパターン・セットのうちの何れか1つを含むときにU
Pは定義され、その他のすべての場合にPPが定義され
る。
(b)PP中の各シンボルについて、各自の文脈におけ
る各自のシンボルの確率を用いて、通常の算術符号化を
適用する。
る各自のシンボルの確率を用いて、通常の算術符号化を
適用する。
(c)UP中の各シンボルについて、上記UPが予測可
能となるように、上記所与の第1のサブパターンよりも
大きな第2の位置のサブパターンを評価する。
能となるように、上記所与の第1のサブパターンよりも
大きな第2の位置のサブパターンを評価する。
(d)上記第2のサブパターンから導かれた各シンボル
の更新された確率によって、算術符号化を実行する。
の更新された確率によって、算術符号化を実行する。
本発明の第3の局面によれば、上述の方法を実行するた
めのシステムであって、 20 各シンボルについて、上記第1のサブパターンを記憶す
るための第1のメモリと、 可能性のあるサブパターンの所定のセットを記憶するた
めの第2のメモリと、 各シンボルについて、第1メモリ中の第1のサブパター
ンを第2メモリ中のサブパターン・セットのサブパター
ンと比較し、上記第1のサブパターンと第■の信号を生
成し、そうでない場合には第2の信号を生成する比較手
段と、 可能性のあるサブパターンの完全セットの各々に応じた
シンボル・セラ1へ中の各シンボルの確率を保持する第
1のルックアップ・テーブルを記憶するための第3のメ
モリと、 上記所定のサブパターン・セットに応じた可能性のある
シンボルの所定のセットの組合せ確率を保持する第2の
ルックアップ・テーブルを記憶するための第4のメモリ
と、 比較手段と結合され、上記第1の信号に応答して、上記
第3メモリを読み取る一方、上記第2の信号に応答して
上記第4メモリを読み取り、上記第1のサブパターンに
対応する記憶されている確率を決定する読取手段と、 読取手段と結合され、決定された確率に応答して各シン
ボルを符号化する算術符号手段を具備する°、圧縮符号
化システムが提供される。
めのシステムであって、 20 各シンボルについて、上記第1のサブパターンを記憶す
るための第1のメモリと、 可能性のあるサブパターンの所定のセットを記憶するた
めの第2のメモリと、 各シンボルについて、第1メモリ中の第1のサブパター
ンを第2メモリ中のサブパターン・セットのサブパター
ンと比較し、上記第1のサブパターンと第■の信号を生
成し、そうでない場合には第2の信号を生成する比較手
段と、 可能性のあるサブパターンの完全セットの各々に応じた
シンボル・セラ1へ中の各シンボルの確率を保持する第
1のルックアップ・テーブルを記憶するための第3のメ
モリと、 上記所定のサブパターン・セットに応じた可能性のある
シンボルの所定のセットの組合せ確率を保持する第2の
ルックアップ・テーブルを記憶するための第4のメモリ
と、 比較手段と結合され、上記第1の信号に応答して、上記
第3メモリを読み取る一方、上記第2の信号に応答して
上記第4メモリを読み取り、上記第1のサブパターンに
対応する記憶されている確率を決定する読取手段と、 読取手段と結合され、決定された確率に応答して各シン
ボルを符号化する算術符号手段を具備する°、圧縮符号
化システムが提供される。
このように、本発明によれば、データは予測可能ポイン
トと予測不能ポイントに対応するクラスに分けられ、別
々に取り扱われる。予測可能ポイントは算術符号器を使
って通常のやり方で符号化される。予測不能ポイントの
符号化を望むときは、有損失(lossy)又は無損失
(lossless)符号器のどちらがインプリメント
されているかによって、数通りのオプションが存在する
。どちらの場合も、通常の算術符号器をインプリメント
することによって、予測不能シンボルを含むシンボルの
完全クラスが送信される。しかし、現在シンボルの確率
を利用するのではなくて、予測不能ポイントを含むシン
ボルの完全クラスの組合せ確率が利用される。
トと予測不能ポイントに対応するクラスに分けられ、別
々に取り扱われる。予測可能ポイントは算術符号器を使
って通常のやり方で符号化される。予測不能ポイントの
符号化を望むときは、有損失(lossy)又は無損失
(lossless)符号器のどちらがインプリメント
されているかによって、数通りのオプションが存在する
。どちらの場合も、通常の算術符号器をインプリメント
することによって、予測不能シンボルを含むシンボルの
完全クラスが送信される。しかし、現在シンボルの確率
を利用するのではなくて、予測不能ポイントを含むシン
ボルの完全クラスの組合せ確率が利用される。
有損失符号化については、これで十分であり、適当なデ
コーダが、どのシンボルクラスが予測不能ポイントによ
って表わされているかを決定することが可能である。予
測不能ポイント自身は、符号化されることなしに、それ
が属する一般クラスを表示する。このようにして、情報
量当りの支出は、シンボル自身が符号化される場合より
も低価になる。
コーダが、どのシンボルクラスが予測不能ポイントによ
って表わされているかを決定することが可能である。予
測不能ポイント自身は、符号化されることなしに、それ
が属する一般クラスを表示する。このようにして、情報
量当りの支出は、シンボル自身が符号化される場合より
も低価になる。
無損失符号化については、予測不能ポイントの文脈が、
当該ポイントにおけるシンボルの確率がnシンボル・ア
ルファベットの場合に1 / nとは異なる値になるよ
うに、増大されてよい。
当該ポイントにおけるシンボルの確率がnシンボル・ア
ルファベットの場合に1 / nとは異なる値になるよ
うに、増大されてよい。
復号時には、相次いでシンボルが復合される際の、各シ
ンボルの各自の文脈が、符号器のものと全く同一のルー
ルに従って、該シンボルが予測可能又は予測不能ポイン
トのどちらを表わしているかを決定するのに使われる。
ンボルの各自の文脈が、符号器のものと全く同一のルー
ルに従って、該シンボルが予測可能又は予測不能ポイン
トのどちらを表わしているかを決定するのに使われる。
予測可能ポイントの場合、シンボルは算術符号化の通常
のルールを使って復合される。一方、予測不能ポイント
の場合には、有損失又は無損失複合のどちらかが要求さ
れているかに応じて、数通りのオプションが存在3− する。
のルールを使って復合される。一方、予測不能ポイント
の場合には、有損失又は無損失複合のどちらかが要求さ
れているかに応じて、数通りのオプションが存在3− する。
有損失復号の場合、予測不能ポイントは、予測不能ポイ
ントがそのメンバーである完全クラスを示す補助シンボ
ルによって単に置換されるだけである。この場合、生成
される復号出力ストリングは、ユニークなストリングで
はなく、可能性のあるストリングのセットである。
ントがそのメンバーである完全クラスを示す補助シンボ
ルによって単に置換されるだけである。この場合、生成
される復号出力ストリングは、ユニークなストリングで
はなく、可能性のあるストリングのセットである。
無損失復号の場合、予測不能ポイントに関しl/nとは
異なる確率を獲得し、それによって予測を可能にするた
めに、符号化についてなされたとの全く同様にして、予
測不能ポイントの文脈が増大されてよい。本発明による
エパス・デコーダでは、予測不能ポイントの近傍におい
て、該ポイントの前に出現するシンボルの数を増やすこ
とによって、文脈が増大される。本発明による2パス・
デコーダでは、予測不能ポイントの後に出現するポイン
トも考慮することによって、文脈が増大される。
異なる確率を獲得し、それによって予測を可能にするた
めに、符号化についてなされたとの全く同様にして、予
測不能ポイントの文脈が増大されてよい。本発明による
エパス・デコーダでは、予測不能ポイントの近傍におい
て、該ポイントの前に出現するシンボルの数を増やすこ
とによって、文脈が増大される。本発明による2パス・
デコーダでは、予測不能ポイントの後に出現するポイン
トも考慮することによって、文脈が増大される。
有損失デコーダでは、ストリング・セットを表わす補助
シンボルでもって予測不能ポイントを置−24= 換するかわりに、予測不能ポイントの近傍において復号
されたストリングを内挿又は外挿することによって予測
不能ポイントを推測することも可能である。
シンボルでもって予測不能ポイントを置−24= 換するかわりに、予測不能ポイントの近傍において復号
されたストリングを内挿又は外挿することによって予測
不能ポイントを推測することも可能である。
E、実施例
第1図は、本発明による、一般化された符号化プロシー
ジャの流れ図である。このプロシージャの主要ステップ
には、1.3.4、及び5の番号が付されているけれど
も、その理由は後で第7図を参照するとこで明らかにな
るであろう。
ジャの流れ図である。このプロシージャの主要ステップ
には、1.3.4、及び5の番号が付されているけれど
も、その理由は後で第7図を参照するとこで明らかにな
るであろう。
ソース・データ・ストリング中の各シンボルについて、
文脈は、当該シンボルの近傍の、所与のサブ・パターン
の位置を評価することによって決定される。ソース・デ
ータ・ストリングが1次であるなら、文脈は、現在シン
ボルの一方の側のシンボルだけあるいは両方の側のシン
ボルを名慮することによって、評価され得る。例えばイ
メージ処理で発生するような2次元データの場合には、
現在シンボルの四方のシンボルの何れかあるいはすべて
を考慮することになる。明らかに、リアル・タイムでの
文脈の評価において、現在シンボルの後に発生するシン
ボルを考慮することが必要とされる場合には、ソース・
データ・ストリングを一旦記憶して後処理をすることが
必要になるので、データ捕捉とデータ圧縮の間に短い遅
延が存在することになる。現実には、遅延は極めて短い
ので、無視することができる。
文脈は、当該シンボルの近傍の、所与のサブ・パターン
の位置を評価することによって決定される。ソース・デ
ータ・ストリングが1次であるなら、文脈は、現在シン
ボルの一方の側のシンボルだけあるいは両方の側のシン
ボルを名慮することによって、評価され得る。例えばイ
メージ処理で発生するような2次元データの場合には、
現在シンボルの四方のシンボルの何れかあるいはすべて
を考慮することになる。明らかに、リアル・タイムでの
文脈の評価において、現在シンボルの後に発生するシン
ボルを考慮することが必要とされる場合には、ソース・
データ・ストリングを一旦記憶して後処理をすることが
必要になるので、データ捕捉とデータ圧縮の間に短い遅
延が存在することになる。現実には、遅延は極めて短い
ので、無視することができる。
現在のシンボルの文脈が評価されたなら、該現在文脈に
依拠する条件付き確率が決定される。これによって、現
在シンボルを、(nシンボル・アルファベットの場合に
は)確率が1 / nに等しい予測不能ポイント(un
predictable point、以下UPと略す
ることもある)又は他のすべての確率に対応する予測可
能ポイント(predictablepoint、以上
PPと略することもある)に分類することが可能になる
。予測可能ポイントPPの符号化は、現在シンボルの確
率に依拠する標準算術符号化法によって行われる。
依拠する条件付き確率が決定される。これによって、現
在シンボルを、(nシンボル・アルファベットの場合に
は)確率が1 / nに等しい予測不能ポイント(un
predictable point、以下UPと略す
ることもある)又は他のすべての確率に対応する予測可
能ポイント(predictablepoint、以上
PPと略することもある)に分類することが可能になる
。予測可能ポイントPPの符号化は、現在シンボルの確
率に依拠する標準算術符号化法によって行われる。
第1図に示されるように、予測不能ポイントUPを処理
するためには、有損失(ファジィ)符号化又は無損失符
号化のどちらが要求されるかに応じて、2つの方法のう
ちの工つをとることができる。有損失(1ossy)符
号化の場合には、現在シンボルに対応するファジー・セ
ット(現在シンボルを含む異なるシンボルのセット)の
確率が決定され、その後、この組合せ(combine
d)確率を使って算術符号化が実行されるので、現在シ
ンボルの属す、るクラス全部のポイントが効率よく送信
される。無損失(1ossless)符号化を行うため
には、確率が1 / nとは異なるものになるように、
したがって、ポイントが予測可能になるように、現在シ
ンボルの文脈が増大する。算術符号化は、この大きくな
った文脈に依拠して、新たに決定された確率を使って実
行されるので、現在シンボルを損失なしに符号化するこ
とができる。
するためには、有損失(ファジィ)符号化又は無損失符
号化のどちらが要求されるかに応じて、2つの方法のう
ちの工つをとることができる。有損失(1ossy)符
号化の場合には、現在シンボルに対応するファジー・セ
ット(現在シンボルを含む異なるシンボルのセット)の
確率が決定され、その後、この組合せ(combine
d)確率を使って算術符号化が実行されるので、現在シ
ンボルの属す、るクラス全部のポイントが効率よく送信
される。無損失(1ossless)符号化を行うため
には、確率が1 / nとは異なるものになるように、
したがって、ポイントが予測可能になるように、現在シ
ンボルの文脈が増大する。算術符号化は、この大きくな
った文脈に依拠して、新たに決定された確率を使って実
行されるので、現在シンボルを損失なしに符号化するこ
とができる。
第2図には、無損失符号化を行う他の方法が示される。
予測可能ポイントは第1図に関して述べたのと全く同様
にして処理される。予測不能ポイントUPに遭遇すると
、まず現在シンボルの属するファジー・セットの確率が
決定され、次いでこ27− の組合せ確率を使って算術符号化が実行されて、現在シ
ンボルの属するクラス全部のポイントが効率よく送信さ
れる。これは第1図に示されたプロシージャと同一であ
る。しかしながら、ここで、現在シンボルが予測可能と
なるようにその文脈が増大され、次いでこの拡大された
新しい文脈を使って現在シンボルの確率が決定される。
にして処理される。予測不能ポイントUPに遭遇すると
、まず現在シンボルの属するファジー・セットの確率が
決定され、次いでこ27− の組合せ確率を使って算術符号化が実行されて、現在シ
ンボルの属するクラス全部のポイントが効率よく送信さ
れる。これは第1図に示されたプロシージャと同一であ
る。しかしながら、ここで、現在シンボルが予測可能と
なるようにその文脈が増大され、次いでこの拡大された
新しい文脈を使って現在シンボルの確率が決定される。
新しい確率は(nシンボル・アルファベットの場合)も
はや1 / nではなく、したがって現在シンボルは拡
大された文脈を使って予測可能であり、算術符号化を普
通のやり方で適用することができる。
はや1 / nではなく、したがって現在シンボルは拡
大された文脈を使って予測可能であり、算術符号化を普
通のやり方で適用することができる。
上記説明より、2つの重要な点が浮かび上がる。
まず、すべてのケースにおいて、予測可能ポイントは、
標準的な算術符号化技法を用いて従来通りに処理される
。しかしながら、予測不能ポイントは、同様に処理する
とデータ圧縮効率を低下させるので、2段階又は3段階
で処理されることになるが、その理由は後で明らかにす
る。第1段階では、当該予測不能ポイントの属するシン
ボルの完全クラスに関する情報が獲得される。オプショ
ン28 として、現在シンボルの属するファジー・セットを転送
するために算術符号化をここで実行しても差し支えない
(第2図)。最終段階では、予測不能ポイントを予測可
能にするために、拡大された文脈が評価され、算術符号
化が再度実行される。
標準的な算術符号化技法を用いて従来通りに処理される
。しかしながら、予測不能ポイントは、同様に処理する
とデータ圧縮効率を低下させるので、2段階又は3段階
で処理されることになるが、その理由は後で明らかにす
る。第1段階では、当該予測不能ポイントの属するシン
ボルの完全クラスに関する情報が獲得される。オプショ
ン28 として、現在シンボルの属するファジー・セットを転送
するために算術符号化をここで実行しても差し支えない
(第2図)。最終段階では、予測不能ポイントを予測可
能にするために、拡大された文脈が評価され、算術符号
化が再度実行される。
したがって、第1図を参照して述べた2段階方法では、
各予測不能ポイントUPについて、算術符号化のステッ
プは、拡大された文脈を使って、1度だけ実行される。
各予測不能ポイントUPについて、算術符号化のステッ
プは、拡大された文脈を使って、1度だけ実行される。
第2図を参照して述べた3段階法では、算術符号化のス
テップは、2度、つまり完全ファジー・セットの符号化
について1度と現在シンボルの符号化について1度実行
される。
テップは、2度、つまり完全ファジー・セットの符号化
について1度と現在シンボルの符号化について1度実行
される。
しかしながら、このケースでは、追加的な算術符号化ス
テップが必要であるけれども、現在シンボルが属するフ
ァジー・セットの知識は決定されており、したがって、
デゴーダには知られていることを理解しなければならな
い。その結果、新しい拡大された文脈の中で、現在シン
ボルの確率は、2段階方法のそれとは同じにならず、し
たがってソース・データ・ストリングをより効率的に圧
縮することができる。さらに、文脈の拡大量をファジー
・セットに応じて換えることもできる。これに対し、フ
ァジー・セットの知識をまず符号化することを行わない
ならば、文脈の拡大量は常に同じでなければならない。
テップが必要であるけれども、現在シンボルが属するフ
ァジー・セットの知識は決定されており、したがって、
デゴーダには知られていることを理解しなければならな
い。その結果、新しい拡大された文脈の中で、現在シン
ボルの確率は、2段階方法のそれとは同じにならず、し
たがってソース・データ・ストリングをより効率的に圧
縮することができる。さらに、文脈の拡大量をファジー
・セットに応じて換えることもできる。これに対し、フ
ァジー・セットの知識をまず符号化することを行わない
ならば、文脈の拡大量は常に同じでなければならない。
第3図には、有損失(ファジー)符号化を行う他の方法
が示される。その主要なステップには10から15まで
の番号が付されているけれども、その理由は後で第8図
を参照することで明らかになるであろう。第3図に示さ
れるファジー符号化法において、予測可能ポイントPP
は、第1図に関して述べたのと全く同様に、通常の算術
符号化法にしたがって処理される。しかしながら、この
ケースでは、予測不能ポイントUPは違って処理される
。tJPkこ対応する現在ポイントは補助(auxil
iary)シンボルにセットされ、現在シンボルの属す
るファジー・セットの確率が決定される。この11組合
せ(combined )”確率の知識に基づいて算術
符号化が適用され、UPの属するシンボルの完全クラス
に対応する情報が効率よく送信される。
が示される。その主要なステップには10から15まで
の番号が付されているけれども、その理由は後で第8図
を参照することで明らかになるであろう。第3図に示さ
れるファジー符号化法において、予測可能ポイントPP
は、第1図に関して述べたのと全く同様に、通常の算術
符号化法にしたがって処理される。しかしながら、この
ケースでは、予測不能ポイントUPは違って処理される
。tJPkこ対応する現在ポイントは補助(auxil
iary)シンボルにセットされ、現在シンボルの属す
るファジー・セットの確率が決定される。この11組合
せ(combined )”確率の知識に基づいて算術
符号化が適用され、UPの属するシンボルの完全クラス
に対応する情報が効率よく送信される。
上記ファジー符号化の説明の中で、2点に注意しなけれ
ばならない。第1に補助シンボルはデコーダに送信され
ない、補助シンボルは、後続の文脈を正確に評価できる
ように、エンコーダの中の一時バッファにストアされる
。上述のことかられかるように、文脈はソース・データ
・ストリング中のシンボルの条件付きに確率を決定する
。したがって、ある特定シンボルの文脈がUPを含んで
いる場合、現在シンボルの確率を正確に決定するために
は、現在文脈の中でのUPの存在及び位置を知る必要が
る。実際、補助シンボルは、個々の位置の元の(初期の
)シンボルがUPであったことを示すフラグにすぎない
。
ばならない。第1に補助シンボルはデコーダに送信され
ない、補助シンボルは、後続の文脈を正確に評価できる
ように、エンコーダの中の一時バッファにストアされる
。上述のことかられかるように、文脈はソース・データ
・ストリング中のシンボルの条件付きに確率を決定する
。したがって、ある特定シンボルの文脈がUPを含んで
いる場合、現在シンボルの確率を正確に決定するために
は、現在文脈の中でのUPの存在及び位置を知る必要が
る。実際、補助シンボルは、個々の位置の元の(初期の
)シンボルがUPであったことを示すフラグにすぎない
。
第2に、第3図を参照して説明した算術符号化法では、
レシーバ側でユニークなストリング中デコードすること
ができない。その代り、予測不能ポイントUPがその属
する完全クラスの形で明記されたストリング・セラ1〜
が送信される。その結果、デコードされたストリングの
情報量はオリジ−31− ナル・ソース・ストリングよりもいくらか少ない。
レシーバ側でユニークなストリング中デコードすること
ができない。その代り、予測不能ポイントUPがその属
する完全クラスの形で明記されたストリング・セラ1〜
が送信される。その結果、デコードされたストリングの
情報量はオリジ−31− ナル・ソース・ストリングよりもいくらか少ない。
それゆえ、かかるエンコーダは“ファジー”エンコーダ
と呼ばれる。ファジー算術符号器をイメージ処理で用い
ると、圧縮率は改善されるけれども、イメージの品質は
多少低下する。イメージの品質が低下する場合、本発明
によるファジー算術符号化は、そのようなエラーが目立
たないような領域に限定されなければならないことは明
らかであろう。
と呼ばれる。ファジー算術符号器をイメージ処理で用い
ると、圧縮率は改善されるけれども、イメージの品質は
多少低下する。イメージの品質が低下する場合、本発明
によるファジー算術符号化は、そのようなエラーが目立
たないような領域に限定されなければならないことは明
らかであろう。
第1〜3図を参照して述べた本発明法及び従来の算術符
号器に比してのパフォーマンスの向上を明示するために
、詳細な具体例を以下に揚げる。
号器に比してのパフォーマンスの向上を明示するために
、詳細な具体例を以下に揚げる。
2進アルフアベツトから取られたシンボルを含む、次の
ようなソース・データ・ストリングについて考える。
ようなソース・データ・ストリングについて考える。
S RT = 111100000111110010
01010011110000000上述のように、算
術符号器は、A、Cと称される2つのシフト・レジスタ
を用いる。Aレジスタはコード区間の長さを表わす一方
、Cレジスタはコードの実際の値を持つ。Aレジスタの
内容は、32 それまでに符号化された全シンボルの確率の積に等しい
。即ち、以下の式によって与えられる。
01010011110000000上述のように、算
術符号器は、A、Cと称される2つのシフト・レジスタ
を用いる。Aレジスタはコード区間の長さを表わす一方
、Cレジスタはコードの実際の値を持つ。Aレジスタの
内容は、32 それまでに符号化された全シンボルの確率の積に等しい
。即ち、以下の式によって与えられる。
A= p(al)p(a2)p(a3)・・・−p(a
n−t)p(an)したがって、 log2A = log、 p (ax )+1og2
p (a2)310g2p (a3)+−1og2p(
an−、)+1og2p(an)となる。
n−t)p(an)したがって、 log2A = log、 p (ax )+1og2
p (a2)310g2p (a3)+−1og2p(
an−、)+1og2p(an)となる。
1og2Aは、Aレジスタを正規化するのに必要なシフ
ト数を表わし、さらにはCレジスタから抽出されるコー
ドの長さを決定する。結果として、算術符号器から導入
されるコードの長さは、ソース・データ・ストリング中
の2を底とする符号化された各シンボルの確率の対数を
加算することによって計算することができる。
ト数を表わし、さらにはCレジスタから抽出されるコー
ドの長さを決定する。結果として、算術符号器から導入
されるコードの長さは、ソース・データ・ストリング中
の2を底とする符号化された各シンボルの確率の対数を
加算することによって計算することができる。
以下の実行例では、A及びCレジスタの具体的な数値は
考慮しない。なぜなら、2つの方法を比較する上で関心
をひくのは、圧縮済コード中のビット数だけであって、
コード自体の具体的な数値ではないからである。
考慮しない。なぜなら、2つの方法を比較する上で関心
をひくのは、圧縮済コード中のビット数だけであって、
コード自体の具体的な数値ではないからである。
例1:従来の算術符号器
ソース・ストリングSTR中でO又は1を発見する確率
が、以下のような文脈に依存すると仮定する。
が、以下のような文脈に依存すると仮定する。
文脈=11X : p(1)=0.7 p(0)=0
.31を符号化するのに要するビット数=−1og20
.7=0.510を符号化するのに要するビット数=−
1og20.3=1.74文脈=OOX : p(1)
=0.33 p(0)=0.671を符号化するのに
要するビット数=−1og20.33=1.600を符
号化するのに要するビット数=−1og20.67=0
.58文脈=01X : p(1)=0.5 p(o
)=o、s1を符号化するのに要するビット数=−1o
g20.5=1.000を符号化するのに要するビット
数”−1og20.5”1.OO文脈、10X : p
(1)、0.17 p(0)=0.831を符号化す
るのに要するビット数ニーlog20.17=2.56
0を符号化するのに要するビット数=−1og20.8
3=0.27S T R= 111100000111
11001001010011110000000ステ
ツプO:初期設定: c=o、bbb ステップ1:文脈=11X 5TR(1)=11を符
号化するのに要するビット数=0.51c=o、bbb Rem、=0.51ビツト ステップ2;文脈=11X 5TR(2)=11を符
号化するのに要するビット数=0.5]c=o、bbb
b Rem、=0.02ビツト ステップ3:文脈=11X 5TR(3)=11を符
号化するのに要するビット数=0.51c=o、bbb
b Reff1.=0.53ビツト ステップ4:文脈=11X 5TR(4)=11を符
号化するのに要するビット数=0.51c=o、bbb
bb Rem、=0.04ビツト 5 ステップ5:文脈=IIX 5TR(5)=00を符
号化するのに要するビット数=1.74c=o、bbb
bbb Rem、=0.78ビツト ステップ6:文脈=10X 5TR(6)=00を符
号化するのに要するビット数=0.27c =o、bb
bbbbb Rem、=0.05ビツト ステップ7:文脈=00X 5TR(7)=00を符
号化するのに要するビット数=0.58c:o、bbb
bbbb Rem、=0.63ビツト ステップ8:文脈==OOX 5TR(8)=00を
符号化するのに要するビット数=0.58c=o、bb
bbbbbb Rem、=0.21ピツト スフ−7プ9:文脈=OOX 5TR(9)=00を
符号化するのに要するビット数:0.58c =o、b
bbbbbbb Rem、=0.79ビツト 36 ステツプ10:文脈=00X 5TR(10)=11
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbb Rem、=0.39ビツト ステップ11:文脈=01X 5TR(11)=11
を符号化するのに要するビット数=1.0Oc=o、b
bbbbbbbbbb Rei、=0.39ビツト ステップ12:文脈=11X 5TR(12)=11
を符号化するのに要するビット数=0.51c=o、b
bbbbbbbbbb Rem、=0.90ビツト ステップ13:文脈=11X 5TR(13)=11
を符号化するのに要するビット数=0.51c=o、b
bbbbbbbbbbb Rem、=0.41ビツト ステップ14:文脈=11X 5TR(14)=1王
を符号化するのに要するビット数=0.51c=o、b
bbbbbbbbbbb Rem、=0.92ビット ステップ15:文脈=11X 5TR(15)=00
を符号化するのに要するビット数=1.74c=o、b
bbbbbbbbbbbb Rem、=0.66ビツト ステツプ16:文脈=10X 5TR(16)=00
を符号化するのに要するビット数=0.27c=o、
bbbbbbbbbbbbbRem、=0.93ビツト ステップ17:文脈=00X 5TR(17)=11
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbbbbbbbRem、=0.53ビツ
ト ステップ18:文脈=OIX 5TR(18)=00
を符号化するのに要するビット数=1.0Oc=o、b
bbbbbbbbbbbbbbbRem、=0.53ビ
ツト ステップ19:文脈=10X 5TR(19)=00
を符号化するのに要するビット数=0.27c=o、b
bbbbbbbbbbbbbbbRem、=0.80ビ
ツト 39− ステップ25:文脈=OOX 5TR(25)=11
を符号化するのに要するビット数=1.60c =o、
bbbbbbbbbbbbbbbbbbbbbbRem
、=0.83ビツト ステップ26:文脈=OIX 5TR(26)=11
を符号化するのに要するビット数=1.OOc =o、
bbbbbbbbbbbbbbbbbbbbbbbRe
m、=0.83ビツト ステップ27:文脈=11X 5TR(27)=11
を符号化するのに要するビット数=0.510=0゜ Rem、=0.34ビツト ステップ28:文脈=11X 5TR(28)=11
を符号化するのに要するビット数=0.510=0゜ Rem、=0.85ビツト ステップ29:文脈=11X 5TR(29)=00
を符号化するのに要するビット数=1.740=0゜ Rem、=0.59ビツト ステップ20:文脈=00X STR,(20)=1
1を符号化するのに要するビット数=1.60C=O,
bbbbbbbbbbbbt+bbbbbRem、=0
.40ビツト ステップ21:文脈=OIX 5TR(21)=00
を符号化するのに要するビット数=i、、o。
.31を符号化するのに要するビット数=−1og20
.7=0.510を符号化するのに要するビット数=−
1og20.3=1.74文脈=OOX : p(1)
=0.33 p(0)=0.671を符号化するのに
要するビット数=−1og20.33=1.600を符
号化するのに要するビット数=−1og20.67=0
.58文脈=01X : p(1)=0.5 p(o
)=o、s1を符号化するのに要するビット数=−1o
g20.5=1.000を符号化するのに要するビット
数”−1og20.5”1.OO文脈、10X : p
(1)、0.17 p(0)=0.831を符号化す
るのに要するビット数ニーlog20.17=2.56
0を符号化するのに要するビット数=−1og20.8
3=0.27S T R= 111100000111
11001001010011110000000ステ
ツプO:初期設定: c=o、bbb ステップ1:文脈=11X 5TR(1)=11を符
号化するのに要するビット数=0.51c=o、bbb Rem、=0.51ビツト ステップ2;文脈=11X 5TR(2)=11を符
号化するのに要するビット数=0.5]c=o、bbb
b Rem、=0.02ビツト ステップ3:文脈=11X 5TR(3)=11を符
号化するのに要するビット数=0.51c=o、bbb
b Reff1.=0.53ビツト ステップ4:文脈=11X 5TR(4)=11を符
号化するのに要するビット数=0.51c=o、bbb
bb Rem、=0.04ビツト 5 ステップ5:文脈=IIX 5TR(5)=00を符
号化するのに要するビット数=1.74c=o、bbb
bbb Rem、=0.78ビツト ステップ6:文脈=10X 5TR(6)=00を符
号化するのに要するビット数=0.27c =o、bb
bbbbb Rem、=0.05ビツト ステップ7:文脈=00X 5TR(7)=00を符
号化するのに要するビット数=0.58c:o、bbb
bbbb Rem、=0.63ビツト ステップ8:文脈==OOX 5TR(8)=00を
符号化するのに要するビット数=0.58c=o、bb
bbbbbb Rem、=0.21ピツト スフ−7プ9:文脈=OOX 5TR(9)=00を
符号化するのに要するビット数:0.58c =o、b
bbbbbbb Rem、=0.79ビツト 36 ステツプ10:文脈=00X 5TR(10)=11
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbb Rem、=0.39ビツト ステップ11:文脈=01X 5TR(11)=11
を符号化するのに要するビット数=1.0Oc=o、b
bbbbbbbbbb Rei、=0.39ビツト ステップ12:文脈=11X 5TR(12)=11
を符号化するのに要するビット数=0.51c=o、b
bbbbbbbbbb Rem、=0.90ビツト ステップ13:文脈=11X 5TR(13)=11
を符号化するのに要するビット数=0.51c=o、b
bbbbbbbbbbb Rem、=0.41ビツト ステップ14:文脈=11X 5TR(14)=1王
を符号化するのに要するビット数=0.51c=o、b
bbbbbbbbbbb Rem、=0.92ビット ステップ15:文脈=11X 5TR(15)=00
を符号化するのに要するビット数=1.74c=o、b
bbbbbbbbbbbb Rem、=0.66ビツト ステツプ16:文脈=10X 5TR(16)=00
を符号化するのに要するビット数=0.27c=o、
bbbbbbbbbbbbbRem、=0.93ビツト ステップ17:文脈=00X 5TR(17)=11
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbbbbbbbRem、=0.53ビツ
ト ステップ18:文脈=OIX 5TR(18)=00
を符号化するのに要するビット数=1.0Oc=o、b
bbbbbbbbbbbbbbbRem、=0.53ビ
ツト ステップ19:文脈=10X 5TR(19)=00
を符号化するのに要するビット数=0.27c=o、b
bbbbbbbbbbbbbbbRem、=0.80ビ
ツト 39− ステップ25:文脈=OOX 5TR(25)=11
を符号化するのに要するビット数=1.60c =o、
bbbbbbbbbbbbbbbbbbbbbbRem
、=0.83ビツト ステップ26:文脈=OIX 5TR(26)=11
を符号化するのに要するビット数=1.OOc =o、
bbbbbbbbbbbbbbbbbbbbbbbRe
m、=0.83ビツト ステップ27:文脈=11X 5TR(27)=11
を符号化するのに要するビット数=0.510=0゜ Rem、=0.34ビツト ステップ28:文脈=11X 5TR(28)=11
を符号化するのに要するビット数=0.510=0゜ Rem、=0.85ビツト ステップ29:文脈=11X 5TR(29)=00
を符号化するのに要するビット数=1.740=0゜ Rem、=0.59ビツト ステップ20:文脈=00X STR,(20)=1
1を符号化するのに要するビット数=1.60C=O,
bbbbbbbbbbbbt+bbbbbRem、=0
.40ビツト ステップ21:文脈=OIX 5TR(21)=00
を符号化するのに要するビット数=i、、o。
c=o、bbbbbbbbbbbbbbbbbbbRe
m、=0.40ビツト ステップ22:文脈=10X 5TR(22)=11
を符号化するのに要するビット数=2.56c=o、b
bbbbbbbbbbbbbbbbbbbRem、=0
.96ビツト ステツプ23:文脈=01X 5TR(23)=00
を符号化するのに要するピッl−数=i、o。
m、=0.40ビツト ステップ22:文脈=10X 5TR(22)=11
を符号化するのに要するビット数=2.56c=o、b
bbbbbbbbbbbbbbbbbbbRem、=0
.96ビツト ステツプ23:文脈=01X 5TR(23)=00
を符号化するのに要するピッl−数=i、o。
c=o、bbbbbbbbbbbbbbbbbbbbR
em、=0.96ビツト ステツプ24:文脈=10X 5TR(24)=00
を符号化するのに要するビット数=0.27C=0.b
bbbbbbbbbbbbbbbbbbbbRem、=
0.23ビツト 40− ステップ30:文脈=10X 5TR(30)=00
を符号化するのに要するビット数=0.27C=0゜ Rem、=0.86ビツト ステツプ31:文脈=00X 5TR(31)=00
を符号化するのに要するビット数=0.58C=0゜ Rem、=0.44ビツト ステップ32:文脈=OOX 5TR(32)=00
を符号化するのに要するビット数=0.58C=0゜ Rem、=0.02ビツト ステップ33:文脈=OOX 5TR(33)=00
を符号化するのに要するビット数=0.58C:0゜ Rem、=0.60ビツト ステップ34:文脈=00X 5TR(34)=00
を符号化するのに要するビット数=0.58C=O。
em、=0.96ビツト ステツプ24:文脈=10X 5TR(24)=00
を符号化するのに要するビット数=0.27C=0.b
bbbbbbbbbbbbbbbbbbbbRem、=
0.23ビツト 40− ステップ30:文脈=10X 5TR(30)=00
を符号化するのに要するビット数=0.27C=0゜ Rem、=0.86ビツト ステツプ31:文脈=00X 5TR(31)=00
を符号化するのに要するビット数=0.58C=0゜ Rem、=0.44ビツト ステップ32:文脈=OOX 5TR(32)=00
を符号化するのに要するビット数=0.58C=0゜ Rem、=0.02ビツト ステップ33:文脈=OOX 5TR(33)=00
を符号化するのに要するビット数=0.58C:0゜ Rem、=0.60ビツト ステップ34:文脈=00X 5TR(34)=00
を符号化するのに要するビット数=0.58C=O。
Rem、=0.18ピツ1、
ステップ35:文脈=OOX 5TR(35)=00
を符号化するのに要するビット数=0.58C=0゜ 上記のステップの内容のうち、ステップ2.3.4につ
いてだけ簡単に説明しておく。ステップ2では、文脈1
1Xの下で、1が符号化される。そのために要するビッ
ト数は0.51である。よって、ステップ1と2を合わ
せて、0.51+0゜51=1.02ビツトが符号化に
必要になる。よってCがlビット増化する。そして、1
.02の少数部分0.02ビツトが残る。このことをR
em、=0.02ビツトと表わしている。
を符号化するのに要するビット数=0.58C=0゜ 上記のステップの内容のうち、ステップ2.3.4につ
いてだけ簡単に説明しておく。ステップ2では、文脈1
1Xの下で、1が符号化される。そのために要するビッ
ト数は0.51である。よって、ステップ1と2を合わ
せて、0.51+0゜51=1.02ビツトが符号化に
必要になる。よってCがlビット増化する。そして、1
.02の少数部分0.02ビツトが残る。このことをR
em、=0.02ビツトと表わしている。
ステップ3では0.51ビツトが符号化に必要とされる
。よって、Rem、=0.02+0.51=0.53ビ
ツトとなる。
。よって、Rem、=0.02+0.51=0.53ビ
ツトとなる。
ステップ4では0.51ビツトが符号化に必要とされる
。よって、ステップ3のRem、に0゜51を足すと、
1.04ビツトとなり、lを越えた。よって、Cが1ビ
ツト増加する。そして、1゜04の小数部分0.04ビ
ツトが残る。即ち、Rem、=0.04ビツトである。
。よって、ステップ3のRem、に0゜51を足すと、
1.04ビツトとなり、lを越えた。よって、Cが1ビ
ツト増加する。そして、1゜04の小数部分0.04ビ
ツトが残る。即ち、Rem、=0.04ビツトである。
このようにして、最終的には、圧縮コードの長さは32
ビツトとなる。そのコード・ストリングをデコードすれ
ば、オリジナル・ソース・データ・ストリングSTRが
複製される。
ビツトとなる。そのコード・ストリングをデコードすれ
ば、オリジナル・ソース・データ・ストリングSTRが
複製される。
例2:ファジー論論理算術量器(FLAC)ソース・デ
ータ・ストリングSTR中でO又は1を発見する確率が
、以下のような文脈に依存すると仮定する。
ータ・ストリングSTR中でO又は1を発見する確率が
、以下のような文脈に依存すると仮定する。
文脈=11X : p(1)=0.7 p(0)=0
.31を符号化するのに要するビット数=−1og20
.7−0.510を符号化するのに要するビット数=−
1og20.3=1.74文脈=OOX : p(1)
=0.33 p(0)=0.671を符号化するのに
要するビット数=−1og20,334.600を符号
化するのに要するビット数=−1og20.67二〇、
58文文脈上0X : p(1)=0.17 p(0
)=0.831を符号化するのに要するビット数=−1
0g2Q、 17=2.560を符号化するのに要する
ビット数=−1og20.83−0.27文脈=01X
:“DON’T CARE””=(1,0)を符号化
するのに要するビット数=043− 文脈=I X : p(1)=0.75 p(0)−
0,831を符号化するのに要するビット数=−1og
、0.75=0.420を符号化するのに要するビット
数ニー10g20.25=2.00* 文脈= LX : p(1)=0.67 p(0)=
0.331を符号化するのに要するビット数=−1og
20.67”0.580を符号化するのに要するビット
数=−1og20.33=1.60ネ 文脈二〇x:p(1)=0.85p(0)=0.151
を符号化するのに要するビット数=−1og20.85
=0.230を符号化するのに要するビット数ニーlo
g、0.15=2.74S T R= 1111000
0011111001001010011110000
00044− ステップ○:初期設定: c=o、bbb ステップ1:文脈=11X 5TR(1)=11を符
号化するのに要するビット数=0.5]c=o、bbb Rem、=0.51ビツト ステップ2:文脈=11X 5TR(2)=11を符
号化するのに要するビット数=0.51c=o、bbb
b Rem、=0.02ビツト ステップ3:文脈=11X 5TR(3)=11を符
号化するのに要するビット数=0.51c=o、bbb
b ReIll、=0.53ピツ1、 ステップ4:文脈=11X 5TR(4)=11を符
号化するのに要するビット数=0.51c=o、bbb
bb Re11.=0.04ビット ステップ5:文脈=11X 5TR(5)=00を符
号化するのに要するビット数=1.74c=o、bbb
bbb Rem、=0.78ビツト ステップ6:文脈=10X 5TR(6)=00を符
号化するのに要するビット数=0.27c=o、bbb
bbbb Rem、=0.05ビツト ステップ7:文脈=00X 5TR(7)=00を符
号化するのに要するビット数=0.58c=o、bbb
bbbb Rem、=0.63ビット ステップ8:文脈=OOX 5TR(8)=00を符
号化するのに要するビット数=0.58c、o、bbb
bbbbb Relu、=0.21ビツト ステップ9:文脈=OOX 5TR(9)=00を符
号化するのに要するビット数=0.58c=o、bbb
bbbbb Rem、=0.79ビツト 47− ステップ14:文脈=11X 5TR(14)=11
を符号化するのに要するビット数=0.51c=o、b
bbbbbbbbbbb Rem、=0.OOビット ステップ15:文脈=11X 5TR(15)=00
を符号化するのに要するビット数=1.74c=o、b
bbbbbbbbbbbb Rem、=0.74ビツト ステップ16:文脈=10X 5TR(16)=00
を符号化するのに要するビット数=0.27c=o、b
bbbbbbbbbbbbbRen+、=0.01ビツ
ト ステップ17:文脈=OOX 5TR(17)=11
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbbbbbbbRem、=0.61ビツ
ト ステップ18:文脈=01X 5TR(18)=”*
を符号化するのに要するビット数:=O,OOc =o
、bbbbbbbbbbbbbbbRem、=0.61
ビツト ステップ10:文脈=OOX 5TR(10)=11
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbb Rem、=0.39ピツ1、 X−7−ツフll:文脈=OIX 5TR(11)=
”*を符号化するのに要するビット数=0.00c=o
、bbbbbbbbbb Rem、=0.39ビツト ステップ12:文脈=I X 5TR(12)=11
を符号化するのに要する゛ビット数=0.42c=o、
bbbbbbbbbb Rem、=0.81ビツト ステップ13:文脈= LX 5TR(13)=1王
を符号化するのに要するビット数=0.58c=o、b
bbbbbbbbbb Rem、=0.49ビツト 48 ステップ19:文脈=I X 5TR(19)=00
を符号化するのに要するビット数=2.0Oc=o、b
bbbbbbbbbbbbbbbbRem、=0.61
ビツト ステップ20:文脈= OX 5TR(20)=11
を符号化するのに要するビット数=0.23c=o、b
bbbbbbbbbbbbbbbbRem 、=0.8
4ビツト ステップ21:文脈=OIX 5TR(21)=”*
を符号化するのに要するビット数=0.00c =o、
bbbbbbbbbbbbbbbbbRem、=0.3
4ビツト ステップ22:文脈=IX 5TR(22)=11を
符号化するのに要するビット数=0゜42c=o、bb
bbbbbbbbbbbbbbbbRem、=0.26
ビット ステップ23:文脈= IX 5TR(23)=00
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbbbbbbbbbbbRem、=0.
86ビツト ステツプ24:文脈=10X 5TR(24)=00
を符号化するのに要するビット数=0.27c=o、b
bbbbbbbbbbbbbbbbbbbRem、=0
.13ビツト ステップ25:文脈=OOX 5TR(25)=11
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbbbbbbbbbbbbbRem、=
0.73ビツト ステラフ26:文脈=OIX 5TR(26)=’*
を符号化するのに要するビット数=0.00c=o、b
bbbbbbbbbbbbbbbbbbbbRem、=
0.73ビツト ステップ27:文脈=I X 5TR(27)=11
を符号化するのに要するビット数=0.42c =o、
bbbbbbbbbbbbbbbbbbbbbbRem
、=0.15ビツト ステップ28二文脈= LX 5TR(28)=11
を符号化するのに要するビット数=0.58c =o、
bbbbbbbbbbbbbbbbbbbbbbRem
、=0.73ビツト ステップ29:文脈=11X 5TR(29)=00
を符号化するのに要するビット数=1.74C=O。
.31を符号化するのに要するビット数=−1og20
.7−0.510を符号化するのに要するビット数=−
1og20.3=1.74文脈=OOX : p(1)
=0.33 p(0)=0.671を符号化するのに
要するビット数=−1og20,334.600を符号
化するのに要するビット数=−1og20.67二〇、
58文文脈上0X : p(1)=0.17 p(0
)=0.831を符号化するのに要するビット数=−1
0g2Q、 17=2.560を符号化するのに要する
ビット数=−1og20.83−0.27文脈=01X
:“DON’T CARE””=(1,0)を符号化
するのに要するビット数=043− 文脈=I X : p(1)=0.75 p(0)−
0,831を符号化するのに要するビット数=−1og
、0.75=0.420を符号化するのに要するビット
数ニー10g20.25=2.00* 文脈= LX : p(1)=0.67 p(0)=
0.331を符号化するのに要するビット数=−1og
20.67”0.580を符号化するのに要するビット
数=−1og20.33=1.60ネ 文脈二〇x:p(1)=0.85p(0)=0.151
を符号化するのに要するビット数=−1og20.85
=0.230を符号化するのに要するビット数ニーlo
g、0.15=2.74S T R= 1111000
0011111001001010011110000
00044− ステップ○:初期設定: c=o、bbb ステップ1:文脈=11X 5TR(1)=11を符
号化するのに要するビット数=0.5]c=o、bbb Rem、=0.51ビツト ステップ2:文脈=11X 5TR(2)=11を符
号化するのに要するビット数=0.51c=o、bbb
b Rem、=0.02ビツト ステップ3:文脈=11X 5TR(3)=11を符
号化するのに要するビット数=0.51c=o、bbb
b ReIll、=0.53ピツ1、 ステップ4:文脈=11X 5TR(4)=11を符
号化するのに要するビット数=0.51c=o、bbb
bb Re11.=0.04ビット ステップ5:文脈=11X 5TR(5)=00を符
号化するのに要するビット数=1.74c=o、bbb
bbb Rem、=0.78ビツト ステップ6:文脈=10X 5TR(6)=00を符
号化するのに要するビット数=0.27c=o、bbb
bbbb Rem、=0.05ビツト ステップ7:文脈=00X 5TR(7)=00を符
号化するのに要するビット数=0.58c=o、bbb
bbbb Rem、=0.63ビット ステップ8:文脈=OOX 5TR(8)=00を符
号化するのに要するビット数=0.58c、o、bbb
bbbbb Relu、=0.21ビツト ステップ9:文脈=OOX 5TR(9)=00を符
号化するのに要するビット数=0.58c=o、bbb
bbbbb Rem、=0.79ビツト 47− ステップ14:文脈=11X 5TR(14)=11
を符号化するのに要するビット数=0.51c=o、b
bbbbbbbbbbb Rem、=0.OOビット ステップ15:文脈=11X 5TR(15)=00
を符号化するのに要するビット数=1.74c=o、b
bbbbbbbbbbbb Rem、=0.74ビツト ステップ16:文脈=10X 5TR(16)=00
を符号化するのに要するビット数=0.27c=o、b
bbbbbbbbbbbbbRen+、=0.01ビツ
ト ステップ17:文脈=OOX 5TR(17)=11
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbbbbbbbRem、=0.61ビツ
ト ステップ18:文脈=01X 5TR(18)=”*
を符号化するのに要するビット数:=O,OOc =o
、bbbbbbbbbbbbbbbRem、=0.61
ビツト ステップ10:文脈=OOX 5TR(10)=11
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbb Rem、=0.39ピツ1、 X−7−ツフll:文脈=OIX 5TR(11)=
”*を符号化するのに要するビット数=0.00c=o
、bbbbbbbbbb Rem、=0.39ビツト ステップ12:文脈=I X 5TR(12)=11
を符号化するのに要する゛ビット数=0.42c=o、
bbbbbbbbbb Rem、=0.81ビツト ステップ13:文脈= LX 5TR(13)=1王
を符号化するのに要するビット数=0.58c=o、b
bbbbbbbbbb Rem、=0.49ビツト 48 ステップ19:文脈=I X 5TR(19)=00
を符号化するのに要するビット数=2.0Oc=o、b
bbbbbbbbbbbbbbbbRem、=0.61
ビツト ステップ20:文脈= OX 5TR(20)=11
を符号化するのに要するビット数=0.23c=o、b
bbbbbbbbbbbbbbbbRem 、=0.8
4ビツト ステップ21:文脈=OIX 5TR(21)=”*
を符号化するのに要するビット数=0.00c =o、
bbbbbbbbbbbbbbbbbRem、=0.3
4ビツト ステップ22:文脈=IX 5TR(22)=11を
符号化するのに要するビット数=0゜42c=o、bb
bbbbbbbbbbbbbbbbRem、=0.26
ビット ステップ23:文脈= IX 5TR(23)=00
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbbbbbbbbbbbRem、=0.
86ビツト ステツプ24:文脈=10X 5TR(24)=00
を符号化するのに要するビット数=0.27c=o、b
bbbbbbbbbbbbbbbbbbbRem、=0
.13ビツト ステップ25:文脈=OOX 5TR(25)=11
を符号化するのに要するビット数=1.60c=o、b
bbbbbbbbbbbbbbbbbbbbRem、=
0.73ビツト ステラフ26:文脈=OIX 5TR(26)=’*
を符号化するのに要するビット数=0.00c=o、b
bbbbbbbbbbbbbbbbbbbbRem、=
0.73ビツト ステップ27:文脈=I X 5TR(27)=11
を符号化するのに要するビット数=0.42c =o、
bbbbbbbbbbbbbbbbbbbbbbRem
、=0.15ビツト ステップ28二文脈= LX 5TR(28)=11
を符号化するのに要するビット数=0.58c =o、
bbbbbbbbbbbbbbbbbbbbbbRem
、=0.73ビツト ステップ29:文脈=11X 5TR(29)=00
を符号化するのに要するビット数=1.74C=O。
Rem、=0.47ビツト
ステツプ30:文脈=10X 5TR(30)=00
を符号化するのに要するピッ1〜数=0.270=0゜ Rem、=0.74ビツト 51− ステップ31:文脈=OOX 5TR(31)=00
を符号化するのに要するビット数=0.58C=0゜ Rem、=0.32ビツト ステップ32:文脈=OOX 5TR(32)=00
を符号化するのに要するビット数=0.580二〇。
を符号化するのに要するピッ1〜数=0.270=0゜ Rem、=0.74ビツト 51− ステップ31:文脈=OOX 5TR(31)=00
を符号化するのに要するビット数=0.58C=0゜ Rem、=0.32ビツト ステップ32:文脈=OOX 5TR(32)=00
を符号化するのに要するビット数=0.580二〇。
Re11.=0.90ビツト
ステップ33:文脈=OOX 5TR(33)=00
を符号化するのに要するビット数=0.58C=0゜ Rem、=0.48ビツト ステップ34:文脈=00X 5TR(34)=00
を符号化するのに要するビット数=0.58C=0゜ Rem、=0.06ビツト ステツプ35:文脈=00X 5TR(35)=00
を符号化するのに要するビット数=0.58C=0゜ このようにして得られた圧縮コードの長さは252− 9ビツトにすぎない。このコードのデコードは従来の算
術復号器と同様のやり方で行われ、次のようなストリン
グ・セットが得られる S S =11110000011110010110
01110000000最後に、FLACデコーダが、
ストリングSS水 中の に対応する予測不能ポイントUPを、次のような
補間によって評価するようにプログラムされていると仮
定する。即ち、 の右のシンボルが1であるならば、
は1に置き換えられる。そうでないならば、0に置き換
えられる。これによって、ソース・ストリングSTRに
ついての、次のような最終評価STR’ が得られる。
を符号化するのに要するビット数=0.58C=0゜ Rem、=0.48ビツト ステップ34:文脈=00X 5TR(34)=00
を符号化するのに要するビット数=0.58C=0゜ Rem、=0.06ビツト ステツプ35:文脈=00X 5TR(35)=00
を符号化するのに要するビット数=0.58C=0゜ このようにして得られた圧縮コードの長さは252− 9ビツトにすぎない。このコードのデコードは従来の算
術復号器と同様のやり方で行われ、次のようなストリン
グ・セットが得られる S S =11110000011110010110
01110000000最後に、FLACデコーダが、
ストリングSS水 中の に対応する予測不能ポイントUPを、次のような
補間によって評価するようにプログラムされていると仮
定する。即ち、 の右のシンボルが1であるならば、
は1に置き換えられる。そうでないならば、0に置き換
えられる。これによって、ソース・ストリングSTRに
ついての、次のような最終評価STR’ が得られる。
S T R’ =11110000011111001
001110011110000000一方、STRは
次の通りであった。
001110011110000000一方、STRは
次の通りであった。
S T R=1111000001111100100
1010011110000000このように、評価さ
れたコード・ストリングSTR′とオリジナルのコード
・ストリングSTRとは、長さにおいて等しく、第21
番目のシンボルが違うだけである。
1010011110000000このように、評価さ
れたコード・ストリングSTR′とオリジナルのコード
・ストリングSTRとは、長さにおいて等しく、第21
番目のシンボルが違うだけである。
上述の例に関して、デコードは従来の算術復号方法によ
ると説明した。これは正しく、上述の例において35コ
ード・ポイント中の31コード・ポイントを構成する予
測可能ポイントPPについて、5デコードは標準的な算
術復号方法を用いて行われる。しかしながら、この方法
は、上記被評価コード・ストリングSTR’ において
で示された予測不能ポイントUPを解釈するために、
若干修正する必要がある。
ると説明した。これは正しく、上述の例において35コ
ード・ポイント中の31コード・ポイントを構成する予
測可能ポイントPPについて、5デコードは標準的な算
術復号方法を用いて行われる。しかしながら、この方法
は、上記被評価コード・ストリングSTR’ において
で示された予測不能ポイントUPを解釈するために、
若干修正する必要がある。
第4図乃至第6図には、予測不能ポイントを処理するた
めに、標準算術復号器に加えるべき若干の修正を説明す
る流れ図が示されている。
めに、標準算術復号器に加えるべき若干の修正を説明す
る流れ図が示されている。
第4図は、第1図を参照して説明した方法に従って符号
化された予測不能ポイントをデコードするための、関連
ある追加的なステップを示す。被復号ストリングが補助
シンボルを含む場合、現在ポイントがデフォルトの文脈
の中で予測不能であることが示される。もしそれ以上に
何のアクションもとられず、補助シンボルがオリジナル
・シンボル・アルファベットの1つのシンボルと置き換
えられない場合、復号出カストリングは、上記の例2で
説明したように、可能性のあるストリングのセットを表
わす。そうでない場合には、第1図に示された符号器が
使用したのと同じルールに従って、補助シンボルの文脈
が拡大され、これによって予測不能ポイントは予測可能
になり、復号が可能となる。
化された予測不能ポイントをデコードするための、関連
ある追加的なステップを示す。被復号ストリングが補助
シンボルを含む場合、現在ポイントがデフォルトの文脈
の中で予測不能であることが示される。もしそれ以上に
何のアクションもとられず、補助シンボルがオリジナル
・シンボル・アルファベットの1つのシンボルと置き換
えられない場合、復号出カストリングは、上記の例2で
説明したように、可能性のあるストリングのセットを表
わす。そうでない場合には、第1図に示された符号器が
使用したのと同じルールに従って、補助シンボルの文脈
が拡大され、これによって予測不能ポイントは予測可能
になり、復号が可能となる。
上記の例2では、被評価出カストリングSTR’中の補
助シンボル については、文脈を増大させることによる
復号は行われなくて、補間が行われた。第5図は、補助
シンボルの値を、先に復号されたシンボルと後に復号さ
れたシンボルを両方含む当該シンボルの文脈の知識に基
づいて補間する2パス・デコード・オペレーションの一
部を示す。
助シンボル については、文脈を増大させることによる
復号は行われなくて、補間が行われた。第5図は、補助
シンボルの値を、先に復号されたシンボルと後に復号さ
れたシンボルを両方含む当該シンボルの文脈の知識に基
づいて補間する2パス・デコード・オペレーションの一
部を示す。
換言すると、補助シンボルの前後でリアル・タイムでデ
コードされたシンボルが、これらのシンボルの間での内
挿による現在シンボルの値の評価に用いられる。このよ
うなデコード方法を″2パス″′と呼ぶのは、補助シン
ボルを評価するために、被復号シンボル・ストリングに
沿った2つのパスが必要とされるからである。第1のパ
スでは、予測55 可能ポイントがデコードされるとともに、予測不能ポイ
ントの値ではなく場所が決定される。そのようにして生
成されたストリングは、第2のパスにおいて、各予測不
能ポイントの前後の予測可能ポイントを含む文脈から当
該予測不能のポイントの値を内挿すべく、スキャンされ
る。
コードされたシンボルが、これらのシンボルの間での内
挿による現在シンボルの値の評価に用いられる。このよ
うなデコード方法を″2パス″′と呼ぶのは、補助シン
ボルを評価するために、被復号シンボル・ストリングに
沿った2つのパスが必要とされるからである。第1のパ
スでは、予測55 可能ポイントがデコードされるとともに、予測不能ポイ
ントの値ではなく場所が決定される。そのようにして生
成されたストリングは、第2のパスにおいて、各予測不
能ポイントの前後の予測可能ポイントを含む文脈から当
該予測不能のポイントの値を内挿すべく、スキャンされ
る。
第6図は、1パス・デコーディングによって予測不能ポ
イントを評価するという、別のやり方を示す。ここでは
、被復号ストリングに沿った1回のパスが用いられ、各
補助シンボルは、その先行文脈からの外挿によって評価
される。このケースでは予測不能ポイントの後に現れる
シンボルは考慮されないので、補助シンボルのデコード
は、ストリングのデコードと同時に“in fligh
t”で実行され得るのである。
イントを評価するという、別のやり方を示す。ここでは
、被復号ストリングに沿った1回のパスが用いられ、各
補助シンボルは、その先行文脈からの外挿によって評価
される。このケースでは予測不能ポイントの後に現れる
シンボルは考慮されないので、補助シンボルのデコード
は、ストリングのデコードと同時に“in fligh
t”で実行され得るのである。
第7図は、第1図に示された方法を用いる算術符号器内
のユニット間のデータの流れを示す。入力ストリング中
の新シンボルaiごとに1、それの文脈C1が所定のル
ールに従って決定される。
のユニット間のデータの流れを示す。入力ストリング中
の新シンボルaiごとに1、それの文脈C1が所定のル
ールに従って決定される。
ルックアップ・テーブル(3)は、予測可能ボイ56−
ントと予測不能ポイントに夫々対応するシンボルとファ
ジー・セットのすべての、文脈C1に応した確率を収容
している。予測可能ポインl−P Pについては、ルッ
クアップ・テーブル(3)からの出力は、現在シンボル
ai又はこのシンボルを含むファジー・セットの確率p
(i)と、それの累積確率S (i)である。p (
i)とS (i)の値はセレクタ(6)に入力され、そ
の出力であるpとSは算術符号器(5)に入力される。
ジー・セットのすべての、文脈C1に応した確率を収容
している。予測可能ポインl−P Pについては、ルッ
クアップ・テーブル(3)からの出力は、現在シンボル
ai又はこのシンボルを含むファジー・セットの確率p
(i)と、それの累積確率S (i)である。p (
i)とS (i)の値はセレクタ(6)に入力され、そ
の出力であるpとSは算術符号器(5)に入力される。
算術符号器(5)は、セレクタ(6)から夫々導かれた
確率pと累積確率Sに従って、現在シンボル又は現在フ
ァジー・セットを符号化する。
確率pと累積確率Sに従って、現在シンボル又は現在フ
ァジー・セットを符号化する。
第2のルックアップ・テーブル(4)は、増大した文脈
C2に対応した確率p’ (i)と累積確率S’
(i)を収容する。p″ (i)とS″ (i)の値は
セレクータ(6)に入力され、第1文脈C1が予測不能
ポイントUPを示す場合に選択される。
C2に対応した確率p’ (i)と累積確率S’
(i)を収容する。p″ (i)とS″ (i)の値は
セレクータ(6)に入力され、第1文脈C1が予測不能
ポイントUPを示す場合に選択される。
セレクタ(6)からの出力であるpとSは算術符号器(
5)に供給され、当該シンボルが通)ii゛のやり方で
符号化されるのを可能にする。
5)に供給され、当該シンボルが通)ii゛のやり方で
符号化されるのを可能にする。
次に、第8図を参照すると、そこには第3図に基づいて
説明した方法を用いるファジー算術符号器における種々
のシフト・レジスタ間の関係が示されている。入力スト
リング中の各シンボルaiについて、文脈が決定される
(11)。この文脈は、予測可能ポイントPPと予測不
能ポイントUPを分けることを可能にする標準文脈テー
ブルと照合される。予測可能ポイントについての確率p
(i)と累積確率S (i)を収容するルックアップ・
テーブル(12)によって夫々の確率が決定され、それ
らは算術符号器(15)に入力されて、通常のやり方で
処理される。予測不能ポイントUPについては、現在シ
ンボルaiが上記例2では1によって示された補助シン
ボルにセットされ、しかる後、現在シンボルaiを含む
ファジー・セットについての確率を収めている第2のル
ックアップ・テーブル(14)がアクセスされる。p′
(i)とS’ (i)によって表示され、夫々現在フ
ァジー・セットの確率と累積確率に対応する、第2ルツ
クアツプ・テーブル(14)からの出力は、算術符号器
(15)に入力され、通常のやり方で処理される。
説明した方法を用いるファジー算術符号器における種々
のシフト・レジスタ間の関係が示されている。入力スト
リング中の各シンボルaiについて、文脈が決定される
(11)。この文脈は、予測可能ポイントPPと予測不
能ポイントUPを分けることを可能にする標準文脈テー
ブルと照合される。予測可能ポイントについての確率p
(i)と累積確率S (i)を収容するルックアップ・
テーブル(12)によって夫々の確率が決定され、それ
らは算術符号器(15)に入力されて、通常のやり方で
処理される。予測不能ポイントUPについては、現在シ
ンボルaiが上記例2では1によって示された補助シン
ボルにセットされ、しかる後、現在シンボルaiを含む
ファジー・セットについての確率を収めている第2のル
ックアップ・テーブル(14)がアクセスされる。p′
(i)とS’ (i)によって表示され、夫々現在フ
ァジー・セットの確率と累積確率に対応する、第2ルツ
クアツプ・テーブル(14)からの出力は、算術符号器
(15)に入力され、通常のやり方で処理される。
第9図には、第5図を参照して説明した2パス・デコー
ディング方法を用いる2パス・デコーダの1部が示され
ている。第1パスの後、再構成されたストリングはレジ
スタ(20)に入力され、再構成されたストリングの1
ポイントずつのスキャンを可能にする。現在シンボルa
iが所定の補助シンボル・セットの中の1つであるとき
には、文脈と現在補助シンボルaiがインターポレータ
(内挿器) (21)に供給され、そこで予め定義さ
れたルールに従って補助シンボルがシンボル・アルファ
ベットの中の対応するシンボルに置き換えられる。イン
ターポレータ(21)からの出力は、現在シンボルai
とともにセレクタ(22)に入力される。セレクタ22
の出力は、現在シンボルaiが補助シンボルか否かに応
じて、現在シンボルai又はインターポレータ(21)
からの出力のどちらかになる。
ディング方法を用いる2パス・デコーダの1部が示され
ている。第1パスの後、再構成されたストリングはレジ
スタ(20)に入力され、再構成されたストリングの1
ポイントずつのスキャンを可能にする。現在シンボルa
iが所定の補助シンボル・セットの中の1つであるとき
には、文脈と現在補助シンボルaiがインターポレータ
(内挿器) (21)に供給され、そこで予め定義さ
れたルールに従って補助シンボルがシンボル・アルファ
ベットの中の対応するシンボルに置き換えられる。イン
ターポレータ(21)からの出力は、現在シンボルai
とともにセレクタ(22)に入力される。セレクタ22
の出力は、現在シンボルaiが補助シンボルか否かに応
じて、現在シンボルai又はインターポレータ(21)
からの出力のどちらかになる。
一般的なケースでは、ファジー・セットの数は9−
1より多いことがあり得ることが理解されよう。
そのようなケースでは、現在の補助シンボルは、現在文
脈と現在シンボルaiの属する特定のファジー・セット
とに従って再構成される。例えば、コード・ストリング
が子音字、母音字、数字、及び句読点(つまり4つの異
なったデータ・クラス)から成り、ある特定の予測不能
ポイントは母音字であることがわかっているならば、2
パス・デコーダの第1パスの際に、現在シンボルは母音
字クラスに対応するある特定の補助シンボルに置換され
る。そして、第2パスの際に、該シンボルは現在文脈か
ら補間され、これによって、該補助シンボルはある特定
の母音字と置き換えられる。
脈と現在シンボルaiの属する特定のファジー・セット
とに従って再構成される。例えば、コード・ストリング
が子音字、母音字、数字、及び句読点(つまり4つの異
なったデータ・クラス)から成り、ある特定の予測不能
ポイントは母音字であることがわかっているならば、2
パス・デコーダの第1パスの際に、現在シンボルは母音
字クラスに対応するある特定の補助シンボルに置換され
る。そして、第2パスの際に、該シンボルは現在文脈か
ら補間され、これによって、該補助シンボルはある特定
の母音字と置き換えられる。
このように、本発明によれば、必要に応じて、有損失又
は無損失符号化に適合し得る算術符号化の改善された方
法が提供される。本発明の有損失符号化によれば、従来
の算術符号器に比べて、16%も圧縮率が向上し得るこ
とが発見された。予測不能ポイントUPの数は比較的少
ないので、これらの問題のポイントにもっと多くのコン
ピユー60− ティング・リソースを割り当てることも可能である。例
えば、ある所与のアプリケーションに関して、アベイラ
ブルなCPUパワーをもってしては文脈の決定に4ビツ
トしか割り当てられないということもある。かかる状況
の下では、ソース・データ・ストリング中の各ポイント
について16通りの文脈しか考慮することができない。
は無損失符号化に適合し得る算術符号化の改善された方
法が提供される。本発明の有損失符号化によれば、従来
の算術符号器に比べて、16%も圧縮率が向上し得るこ
とが発見された。予測不能ポイントUPの数は比較的少
ないので、これらの問題のポイントにもっと多くのコン
ピユー60− ティング・リソースを割り当てることも可能である。例
えば、ある所与のアプリケーションに関して、アベイラ
ブルなCPUパワーをもってしては文脈の決定に4ビツ
トしか割り当てられないということもある。かかる状況
の下では、ソース・データ・ストリング中の各ポイント
について16通りの文脈しか考慮することができない。
しかしながら、1%の予測不能ポイントUPについて1
0ビツトを割り当て、1024通りの文脈を作り出すこ
とも十分可能である。その結果、予測不能ポイントのエ
ントロピーが減少し、全体的な圧縮率が向上する。
0ビツトを割り当て、1024通りの文脈を作り出すこ
とも十分可能である。その結果、予測不能ポイントのエ
ントロピーが減少し、全体的な圧縮率が向上する。
F、効果
本発明によれば、シンボルの確率が該シンボルの文脈に
応じて決定される算術符号化において、圧縮の効率を従
来よりも向上させることができる。
応じて決定される算術符号化において、圧縮の効率を従
来よりも向上させることができる。
第1図は、本発明による、一般化された無損失又はファ
ジー算術符号化方法の主要なステップを示す流れ図であ
る。 第2図は、本発明による無損失算術符号化方法の主要な
ステップを示す流れ図である。 第3図は、本発明によるファジー算術符号化方法の主要
なステップを示す流れ図である。 第4図は第1図に示した符号化法とともに用いるのに適
した復号方法の主要なステップを示す流れ図である。 第5図は、第3図に示した符号化法とともに用いるのに
適した2パス復号方法の追加的なステップを示す流れ図
である。 第6図は第3図に示した符号化法とともに用いられる1
パス復号方法を示す流れ図である。 第7図は、第1図の符号化プロシージャを実行する際の
レジスタ間でのデータの流れを示す図である。 第8図は、第3図の符号化プロシージャを実行する際の
レジスタ間でのデータの流れを示す図である。 第9図は、第8図の符号化プロシージャ実行の際の、2
パス・デコーダにおけるレジスタ間でのデータの流れを
示す図である。
ジー算術符号化方法の主要なステップを示す流れ図であ
る。 第2図は、本発明による無損失算術符号化方法の主要な
ステップを示す流れ図である。 第3図は、本発明によるファジー算術符号化方法の主要
なステップを示す流れ図である。 第4図は第1図に示した符号化法とともに用いるのに適
した復号方法の主要なステップを示す流れ図である。 第5図は、第3図に示した符号化法とともに用いるのに
適した2パス復号方法の追加的なステップを示す流れ図
である。 第6図は第3図に示した符号化法とともに用いられる1
パス復号方法を示す流れ図である。 第7図は、第1図の符号化プロシージャを実行する際の
レジスタ間でのデータの流れを示す図である。 第8図は、第3図の符号化プロシージャを実行する際の
レジスタ間でのデータの流れを示す図である。 第9図は、第8図の符号化プロシージャ実行の際の、2
パス・デコーダにおけるレジスタ間でのデータの流れを
示す図である。
Claims (9)
- (1)シンボルのパターンに算術符号化を施して、圧縮
された出力コード・ストリングを生成する方法であって
、上記シンボルは有限のシンボルのセットから取られ、
各シンボルは上記パターン中のある位置に出現し、上記
コード・ストリングは上記シンボルの上記位置に出現す
る確率に依拠するある数であるような圧縮符号化方法に
おいて、以下のステップを含むことを特徴とする方法。 (a)各位置の近傍の、文脈を表わす位置の所与の第1
のサブ・パターンを評価することによって、該パターン
中の予測可能位置PPと予測不能位置UPを決定する。 ここで、該位置サブパターンが選択されたシンボル・サ
ブパターン・セットのうちの何れか1つを含むときにU
Pは定義され、その他のすべての場合にPPが定義され
る。 (b)PP中の各シンボルについて、各自の文脈におけ
る各自のシンボルの確率を用いて、通常の算術符号化を
適用する。 (c)UP中の各シンボルについて、各自の位置に出現
し得るシンボルの所定のセットの組合せ確立を用いて、
通常の算術符号化を適用する。 - (2)シンボルのパターンに無損失算術符号化を施して
、圧縮された出力コード・ストリングを生成する方法で
あって、上記シンボルは有限のシンボルのセットから取
られ、各シンボルは上記パターン中のある位置に出現し
、上記コード・ストリングは上記シンボルの上記位置に
出現する確率に依拠するある数であるような圧縮符号化
方法において、以下のステップを含むことを特徴とする
方法。 (a)各位置の近傍の、文脈を表わす位置の所与の第1
のサブ・パターンを評価することによって、該パターン
中の予測可能位置PPと予測不能位置UPを決定する。 ここで、該位置サブパターンが選択されたシンボル・サ
ブパターン・セットのうちの何れか1つを含むときにU
Pは定義され、その他のすべての場合にPPが定義され
る。 (b)PP中の各シンボルについて、各自の文脈におけ
る各自のシンボルの確率を用いて、通常の算術符号化を
適用する。 (c)UP中の各シンボルについて、上記UPが予測可
能となるように、上記所与の第1のサブパターンよりも
大きな第2の位置のサブパターンを評価する。 (d)上記第2のサブパターンから導かれた各シンボル
の更新された確率によって、算術符号化を実行する。 - (3)UP中の各シンボルについて、さらに、上記UP
が予測可能となるように、上記所与の第1のサブパター
ンよりも大きな第2の位置のサブパターンを評価し、 上記第2のサブパターンから導かれた各シンボルの更新
された確率によって、算術符号化を実行する ことを特徴とする、請求項1記載の方法。 - (4)有損失符号化を行うために、UP中の各シンボル
について、第1の位置のサブパターン中の対応するシン
ボルが補助シンボルに置き換えられることを特徴とする
、請求項1記載の方法。 - (5)請求項1乃至4の何れかに記載の方法を実行する
ためのシステムであって、 各シンボルについて、文脈を表わす上記第1の位置のサ
ブパターンを記憶するための第1のメモリと、 可能性のあるサブパターンの所定のセットを記憶するた
めの第2のメモリと、 各シンボルについて、第1メモリ中の第1のサブパター
ンを第2メモリ中のサブパターン・セットのサブパター
ンと比較し、上記第1のサブパターンとマッチする上記
サブパターン・セット中のサブパターンがある場合には
第1の信号を生成し、そうでない場合には第2の信号を
生成する比較手段と、 可能性のあるサブパターンの完全セットの各々の文脈中
でのシンボル・セット中の各シンボルの確率を保持する
第1のルックアップ・テーブルを記憶するための第3の
メモリと、上記所定のサブパターン・セットの各々の文
脈での可能性のあるシンボルの所定のセットの組合せ確
率を保持する第2のルックアップ・テーブルを記憶する
ための第4のメモリと、 比較手段と結合され、上記第1の信号に応答して上記第
3メモリを読み取る一方、上記第2の信号に応答して上
記第4メモリを読み取り、上記サブパターンに対応する
記憶されている確率を決定する読取手段と、 読取手段と結合され、決定された確率に応答して各シン
ボルを符号化する算術符号化手段を具備する、圧縮符号
化システム。 - (6)請求項1記載の方法に従って符号化されたシンボ
ル・パターンを表わすコード・ストリングを復号する方
法であって、 出力コード・ストリング中の各位置について、その近傍
の、符号化の際に用いた位置の所与の第1のサブパター
ンに対応する位置のサブパターンを評価し、該サブパタ
ーンが所与のシンボル・サブパターン・セットのうちの
1つ又は1以上のシンボルが補助シンボルと置換された
これら所与のシンボル・サブパターンの何れかを含むか
否かを決定し、 テスト結果が肯定的であって予測不能ポイントUPを示
す場合には、出力シンボル・パターン中の各自の位置に
補助シンボルを挿入し、 テスト結果が否定的であって予測可能ポイントPPを示
す場合には、コード・ストリングの頭部(リーディング
)デジットを評価することによって、オリジナル・シン
ボル・パターンの1シンボルを再構成すべく通常の算術
符号化を適用し、コード・ストリングから、復号され再
構成されたシンボルに対応する数を引くことによって、
コード・ストリングの頭部デジットを変更し、出力スト
リング中の各補助シンボルについて、最終出力シンボル
・パターン中の各自の位置に実際に挿入されるべきシン
ボルを、各補助シンボルの近傍の復号・再構成されたシ
ンボルの文脈に基づいて決定する ステップを含むことを特徴とする方法。 - (7)各補助シンボルが、当該補助シンボルに先行する
先行して復号されたシンボルのパターンから外挿するこ
とによって、上記シンボル・セット中の1つのシンボル
と置換される、請求項6記載の方法。 - (8)各補助シンボルが、当該補助シンボルの前と後の
、当該補助シンボルに先行して復号されたシンボルのパ
ターンの間で内挿することによって、上記シンボル・セ
ット中の1つのシンボルと置換される、請求項6記載の
方法。 - (9)出力シンボル・パターン中に出現する各補助シン
ボルについて、各補助シンボルに対応するオリジナル・
シンボルの決定が可能になるように、各補助シンボルの
近傍の位置のサブパターンが拡大される、請求項6記載
の方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IL91158A IL91158A (en) | 1989-07-28 | 1989-07-28 | Method and system for arithmetic coding and decoding |
| IL091158 | 1989-07-31 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0366227A true JPH0366227A (ja) | 1991-03-20 |
Family
ID=11060228
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2190885A Pending JPH0366227A (ja) | 1989-07-28 | 1990-07-20 | 圧縮符号化方法及びシステム並びに復号方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5142283A (ja) |
| EP (1) | EP0412047A1 (ja) |
| JP (1) | JPH0366227A (ja) |
| IL (1) | IL91158A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100488421B1 (ko) * | 1997-10-17 | 2005-07-07 | 주식회사 팬택앤큐리텔 | 이진영상의 손실 부호화 방법 |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5313204A (en) * | 1991-04-25 | 1994-05-17 | Mitsubishi Denki Kabushiki Kaisha | Encoding and decoding devices with predictor and detector |
| US5675714A (en) * | 1992-03-30 | 1997-10-07 | Canon Kabushiki Kaisha | Mode identifying method and output apparatus using such a method |
| US5414423A (en) * | 1993-04-29 | 1995-05-09 | International Business Machines Corporation | Stabilization of probability estimates by conditioning on prior decisions of a given context |
| US5546080A (en) * | 1994-01-03 | 1996-08-13 | International Business Machines Corporation | Order-preserving, fast-decoding arithmetic coding arithmetic coding and compression method and apparatus |
| DE4429585C1 (de) * | 1994-08-19 | 1995-11-23 | Bosch Gmbh Robert | Verfahren zur arithmetischen Decodierung |
| JP3302210B2 (ja) * | 1995-02-10 | 2002-07-15 | 富士通株式会社 | データ符号化/復号化方法及び装置 |
| US5751859A (en) * | 1995-06-14 | 1998-05-12 | Lucent Technologies Inc. | Compression of text images by soft pattern matching |
| US6968003B1 (en) * | 1996-01-29 | 2005-11-22 | International Business Machines Corporation | Speed-memory tradeoff for MPEG decoders |
| JP2840589B2 (ja) * | 1996-02-09 | 1998-12-24 | 富士通株式会社 | データ圧縮装置及びデータ復元装置 |
| US6415061B1 (en) | 1997-06-13 | 2002-07-02 | Cisco Technology, Inc. | Method of updating dictionaries in a data transmission system using data compression |
| IL122393A0 (en) * | 1997-12-01 | 1998-06-15 | Ttr Technologies Ltd | A code word for use in digital optical media and a method of generation thereof |
| US6952823B2 (en) * | 1998-09-01 | 2005-10-04 | Pkware, Inc. | Software patch generator using compression techniques |
| US7111094B1 (en) * | 1999-08-02 | 2006-09-19 | Shin-Ping Liu | System, method and algorithm for the optimization of entropy for lossless compression |
| US6318156B1 (en) * | 1999-10-28 | 2001-11-20 | Micro Motion, Inc. | Multiphase flow measurement system |
| JP2003526986A (ja) * | 2000-03-07 | 2003-09-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 算術的に符号化された情報信号の算術復号化 |
| US20060143180A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
| US20050015608A1 (en) * | 2003-07-16 | 2005-01-20 | Pkware, Inc. | Method for strongly encrypting .ZIP files |
| US6879988B2 (en) * | 2000-03-09 | 2005-04-12 | Pkware | System and method for manipulating and managing computer archive files |
| US20060155788A1 (en) * | 2000-03-09 | 2006-07-13 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
| US20060173848A1 (en) * | 2000-03-09 | 2006-08-03 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
| US20060143199A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
| US20060143253A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
| US8230482B2 (en) | 2000-03-09 | 2012-07-24 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
| US20060143249A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
| US7844579B2 (en) * | 2000-03-09 | 2010-11-30 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
| US8959582B2 (en) | 2000-03-09 | 2015-02-17 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
| US20060143237A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
| US20060173847A1 (en) * | 2000-03-09 | 2006-08-03 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
| KR100405819B1 (ko) * | 2001-01-15 | 2003-11-14 | 한국과학기술원 | 이진 영상의 데이터 압축 및 복원방법 |
| WO2002061948A2 (en) * | 2001-01-30 | 2002-08-08 | California Institute Of Technology | Lossless and near-lossless source coding for multiple access networks |
| US6677868B2 (en) * | 2001-03-16 | 2004-01-13 | Sharp Laboratories Of America, Inc. | Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols |
| US7161507B2 (en) * | 2004-08-20 | 2007-01-09 | 1St Works Corporation | Fast, practically optimal entropy coding |
| US7265691B2 (en) * | 2005-06-23 | 2007-09-04 | 1Stworks Corporation | Modeling for enumerative encoding |
| US8779950B2 (en) | 2012-03-05 | 2014-07-15 | Dcba, Llc | Command encoded data compression |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3701108A (en) * | 1970-10-30 | 1972-10-24 | Ibm | Code processor for variable-length dependent codes |
| US4463342A (en) * | 1979-06-14 | 1984-07-31 | International Business Machines Corporation | Method and means for carry-over control in the high order to low order pairwise combining of digits of a decodable set of relatively shifted finite number strings |
| US4286256A (en) * | 1979-11-28 | 1981-08-25 | International Business Machines Corporation | Method and means for arithmetic coding utilizing a reduced number of operations |
| US4494108A (en) * | 1981-11-09 | 1985-01-15 | International Business Machines Corporation | Adaptive source modeling for data file compression within bounded memory |
| US4672539A (en) * | 1985-04-17 | 1987-06-09 | International Business Machines Corp. | File compressor |
| JPS6229372A (ja) * | 1985-07-31 | 1987-02-07 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 2値デ−タの圧縮方法 |
| US4652856A (en) * | 1986-02-04 | 1987-03-24 | International Business Machines Corporation | Multiplication-free multi-alphabet arithmetic code |
| 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 |
| CA1291821C (en) * | 1986-09-15 | 1991-11-05 | Glen G. Langdon, Jr. | Arithmetic coding encoder and decoder system |
| US4881075A (en) * | 1987-10-15 | 1989-11-14 | Digital Equipment Corporation | Method and apparatus for adaptive data compression |
| IL86993A (en) * | 1988-07-05 | 1991-07-18 | Ibm Israel | Method of generating a compressed representation of a source data string |
| US5023611A (en) * | 1989-07-28 | 1991-06-11 | At&T Bell Laboratories | Entropy encoder/decoder including a context extractor |
-
1989
- 1989-07-28 IL IL91158A patent/IL91158A/xx not_active IP Right Cessation
-
1990
- 1990-06-18 EP EP90810442A patent/EP0412047A1/en not_active Withdrawn
- 1990-07-19 US US07/555,560 patent/US5142283A/en not_active Expired - Lifetime
- 1990-07-20 JP JP2190885A patent/JPH0366227A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100488421B1 (ko) * | 1997-10-17 | 2005-07-07 | 주식회사 팬택앤큐리텔 | 이진영상의 손실 부호화 방법 |
Also Published As
| Publication number | Publication date |
|---|---|
| IL91158A (en) | 1993-01-31 |
| IL91158A0 (en) | 1990-03-19 |
| US5142283A (en) | 1992-08-25 |
| EP0412047A1 (en) | 1991-02-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0366227A (ja) | 圧縮符号化方法及びシステム並びに復号方法 | |
| US5045852A (en) | Dynamic model selection during data compression | |
| US4989000A (en) | Data string compression using arithmetic encoding with simplified probability subinterval estimation | |
| US5801650A (en) | Decoding apparatus and method | |
| KR100241792B1 (ko) | 이미지데이터를 부호화하고 해독하는 방법 및 장치 | |
| JP2766302B2 (ja) | 可変長符号並列解読方法および装置 | |
| JPH02290371A (ja) | パターン・フリークエンシイを有するイメージの圧縮方法及びシステム並びにイメージのパターン・フリークエンシイ決定方法及びシステム | |
| EP0658982A2 (en) | System for bi-level symbol coding-decoding with saved storage and method for the same | |
| EP0349677B1 (en) | Image coding system | |
| US5198898A (en) | Data compressing system for compressing serial image data with color information | |
| JPH11168632A (ja) | ディザ画像の2値表現処理方法、ディザ画像の圧縮2値表現圧縮解除方法、及びディザ画像の圧縮及び圧縮解除システム | |
| US20090256730A1 (en) | Advanced Lossless Bit Coding | |
| JP3676078B2 (ja) | ランレングス符号化方法及び圧縮装置 | |
| US6549665B1 (en) | Image signal processing device | |
| JPH0723238A (ja) | 画像データ圧縮及び復元装置 | |
| JP2003333347A (ja) | 2値画像データの圧縮方法及び復元方法、並びに2値画像データの圧縮装置及び復元装置 | |
| JP2000115549A (ja) | 符号化装置及び符号化方法、並びに復号化装置及び復号化方法 | |
| JP3235510B2 (ja) | 符号化方法及び符号化装置、復号化方法及び復号化装置 | |
| JP2859507B2 (ja) | 画像データの圧縮・伸長方法および装置 | |
| JP2615215B2 (ja) | 画像データ圧縮方式 | |
| JP4095454B2 (ja) | データ復号装置及びデータ復号方法 | |
| JPH05298063A (ja) | 符号化装置 | |
| JP3302253B2 (ja) | 情報の符号化復号化方法およびその装置 | |
| JPH06152988A (ja) | 可変長符号の復号化装置 | |
| JP2004128619A (ja) | 符号化方法 |