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
Application number
JP2190885A
Other languages
English (en)
Inventor
Dan S Chevion
ダン・サミユエル・シエヴイオン
Ehud D Karnin
エフド・ドヴ・カルニン
Eugeniusz Walach
ユゲニウム・ワラツク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0366227A publication Critical patent/JPH0366227A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/90Fuzzy 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− データ量で構成されるけれども、ソース・データ全体を
再構成することは依然として可能である。
算術符号化プロシージャでは、通常、出力データ・スト
リングは単位区間(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は、
対応するシンボルまでのソース・データ・ストリングの
発生確率を表わす。
例えば、アルファベットがシンボルa。−amから構成
され、その発生確率がそれぞれ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)とに依存する。
すなわち、それらの積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つのメモリ・レジスタ
が必要となる。
データ・ストリングを構成するシンボルの正確な発生確
率に依拠するとき、算術コーグは、ソース・データ・ス
トリングのエントロピーに対応する最適の圧縮を行う。
しかしながら、実際には、従来の算術符号化プロシージ
ャーのインプリメンテーションは、正確な確率を決定す
ることの困難さゆえに、近似を導入する傾向があった。
そのような近似によれば、算術符号化オペレーションの
効率が低下し、出力データ・ストリングが理論的最小値
、つまりエントロピーよりも多くのシンボルをもって生
成されることになる。さらに、一連の小区間の各々の幅
を決定するのに必要とされている乗算をなくすために、
−層の近似が導入されている。
米国特許第4286256号明細書では、演算の数を減
らした算術符号化の方法及び装置が開示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回のシフト・アンド・アト・オペレー
ションによって近似を達成できるように、先行部分区間
の幅を近似することから得られる。
この公報では、発明の詳細な実行例として、5シンボル
・アルファベットから取り出された7個のシンボルから
なるソース・データ・ストリングの符号化法が説明され
ている。そして、説明の便宜のために、各シンボルの発
生確率は既知であり不変であると仮定されていた。実際
には、この方法1よ、同一のシンボルであってもソース
・データストリング中での発生のし方によって発生確率
が変わるような、より一般的な状況にも、よく適してい
る。それにもかかわらず、上記公報は、改良算術コーグ
の特定のインプリメンテーションにのみ関与しており、
確率のデリベーション(derivation)には関
与していない。
実際、ソース・データ・ストリング中のシンボルの確率
が当該シンボルの現れる文脈(context)に依存
することはよく知られている。「文脈」とは、注目して
いるシンボルの直近のシンボル・パターンを意味する。
したがって、1次元ストリング中のある特定シンボルの
文脈には、当該シンボルの一方又は両方の側の工以上の
シンボルが含まれることになる、したがって、例えば、
ソース・データ・ストリングが、色が黒か白に応じて各
画素がOか1になり得るような、イメージ処理システム
における画素情報を現わす場合、イメージの暗い部分で
はすべての画素はOであり、イメージの明るい部分では
すべての画素は1である。その結果、明るい部分の中の
ある特定の画素は、その四方を値1の画素でもって囲ま
れることになるであろう。ある特定画素の確率を決定す
るに際し、先行する2画素からなる文脈を考えるなら、
イメージの明るい部分の中央にある画素の文脈は、1L
X(Xは当該特定画素)に等しいことになるのは明らか
である。
上述の事項を言い換えると、ある特定のシンボルの確率
は、その文脈に依存する。したがって、上記の例におい
て、あるシンボルの文脈が11Xであることがわかって
いるなら1問題のシンボルが王である蓋然性は、文脈が
O○である場合よりもずっと高い。さらに、シンボルの
文脈の中のシンボル数が2個に限らずそれより多い数で
あるならば、ある特定のシンボルの確率をその文脈の関
数としてさらに一層正確に決定することが可能に5− なる。したがって、文脈が10個のシンボルを含み、か
つそのすべてが工である場合において、問題のシンボル
がOに等しい確率は、文脈を構成するシンボルの数が2
個で、かつ両方がともに1である場合よりも、はるかに
小さい。
シンボルの確率をその文脈の関数として決定することは
周知であり、上述の特許明細書の何れにおいても使用す
ることが可能である。あるシンボルの情報量(info
rmation content)が式(1)によって
与えられることも知られている。
i=−1og2p (1) ここでpは、当該シンボルの発生確率に等しい。
したがって、各シンボルがOか1であるような2進デー
タを送信する場合、ソース・データ・ストリングに登場
するシンボルの各々につき、圧縮(された)データ・ス
トリング中に登場する平均ビット数は、iの期待値に等
しいことが示され得る。すなわち、下記式(2)のよう
になる。
平均ビット数=−(p1og2p(1−p)log2(
1−p)) (2)上記式から容易にわかることだが、
2進アルフ16− アベツトの場合において、あるシンボルの発生確率が0
.5であるならば、当該シンボルを圧縮するのに要する
平均ピッ1〜数は1に等しい。すなわち、圧縮は不可能
である。n個のシンボルを有するアルファベラ1への場
合、シンボルの確率が1/nに等しいならば、圧縮は不
可能である。
イメージ・データの圧縮に関して上述の例を再び考えて
みる。イメージの暗と明の領域に対応する単純な2値の
ケースにおいて、文脈が・・OOO・・・または・・・
111 ・であるような画素を圧縮するのに要する平均
ビット数は、1よりもかなり少ない。したがって、ソー
ス・データを効率よく圧縮することができる。しかしな
がら、イメージの暗と明の領域の境にある画素の確率は
0.5に等しい。なぜなら、現在シンボルと暗領域の所
定数の画素を含む文脈に基づくなら、現在画素は○であ
ると推測されるだろうけれども、現在シンボルと明領域
の同数の画素を含む文脈に基づくなら、現在シンボルは
lであると同程度に期待されるであろうだからである。
その結果、イメージ・データを送信するに際し、イメー
ジの実質的に暗の領域と実質的に明の領域の境に位置す
る画素に対応するデータを明瞭に送信するためには、情
報当りの支出が高価なものでならざるを得ない。
C0発明が解決しようとする課題 本発明の目的は、シンボルの確率が該シンボルの文脈に
応じて決定され、かつ従来の算術符号器に付随した欠点
が実質的に減少しあるいは除かれた算術符号器を提供す
ることにある。
00課題を解決するための手段 本発明の広い局面によれば、シンボルのパターンに算術
符号化を施して、圧縮された出力コード・ストリングを
生成する方法であって、上記シンボルは有限のシンボル
のセットから取られ、各シンボルは上記パターン中のあ
る位置に出現し、上記コード・ストリングは上記シンボ
ルの上記位置に出現する確率に依拠するある数であるよ
うな圧縮符号化方法において、以下のステップを含むこ
とを特徴とする方法が提供される。
(a)各位置の近傍の位置の所与の第1のサブ・パター
ンを評価することによって、該パターン中の予測可能位
置PPと予測不能位置UPを決定する。
ここで、該位置サブパターンが所与のシンボル・サブパ
ターン・セットのうちの何れか1つを含むときにUPは
定義され、その他のすべての場合にPPが定義される。
(b)PP中の各シンボルについて、各自の位置におけ
る各自のシンボルの確率を用いて、通常の算術符号化を
適用する。
(c)UP中の各シンボルについて、各自の位置に出現
し得るシンボルの所与のセットの組合せ確率を用いて、
通常の算術符号化を適用する。
本発明の第2の局面によれば、シンボルのパターンに無
損失算術符号化を施して、圧縮された出力コード・スト
リングを生成する方法であって、上記シンボルは有限の
シンボルのセットから取られ、各シンボルは上記パター
ン中のある位置に出現し、上記コード・ストリングは上
記シンボルの上記位置に出現する確率に依拠するある数
であるような圧縮符号化方法において、以下のステップ
9− を含むことを特徴とする方法が提供される。
(a)各位置の近傍の、文脈を表わす位置の所与の第1
のサブ・パターンを評価することによって、該パターン
中の予測可能位置PPと予測不能位置UPを決定する。
ここで、該位置サブパターンが選択されたシンボル・サ
ブパターン・セットのうちの何れか1つを含むときにU
Pは定義され、その他のすべての場合にPPが定義され
る。
(b)PP中の各シンボルについて、各自の文脈におけ
る各自のシンボルの確率を用いて、通常の算術符号化を
適用する。
(c)UP中の各シンボルについて、上記UPが予測可
能となるように、上記所与の第1のサブパターンよりも
大きな第2の位置のサブパターンを評価する。
(d)上記第2のサブパターンから導かれた各シンボル
の更新された確率によって、算術符号化を実行する。
本発明の第3の局面によれば、上述の方法を実行するた
めのシステムであって、 20 各シンボルについて、上記第1のサブパターンを記憶す
るための第1のメモリと、 可能性のあるサブパターンの所定のセットを記憶するた
めの第2のメモリと、 各シンボルについて、第1メモリ中の第1のサブパター
ンを第2メモリ中のサブパターン・セットのサブパター
ンと比較し、上記第1のサブパターンと第■の信号を生
成し、そうでない場合には第2の信号を生成する比較手
段と、 可能性のあるサブパターンの完全セットの各々に応じた
シンボル・セラ1へ中の各シンボルの確率を保持する第
1のルックアップ・テーブルを記憶するための第3のメ
モリと、 上記所定のサブパターン・セットに応じた可能性のある
シンボルの所定のセットの組合せ確率を保持する第2の
ルックアップ・テーブルを記憶するための第4のメモリ
と、 比較手段と結合され、上記第1の信号に応答して、上記
第3メモリを読み取る一方、上記第2の信号に応答して
上記第4メモリを読み取り、上記第1のサブパターンに
対応する記憶されている確率を決定する読取手段と、 読取手段と結合され、決定された確率に応答して各シン
ボルを符号化する算術符号手段を具備する°、圧縮符号
化システムが提供される。
このように、本発明によれば、データは予測可能ポイン
トと予測不能ポイントに対応するクラスに分けられ、別
々に取り扱われる。予測可能ポイントは算術符号器を使
って通常のやり方で符号化される。予測不能ポイントの
符号化を望むときは、有損失(lossy)又は無損失
(lossless)符号器のどちらがインプリメント
されているかによって、数通りのオプションが存在する
。どちらの場合も、通常の算術符号器をインプリメント
することによって、予測不能シンボルを含むシンボルの
完全クラスが送信される。しかし、現在シンボルの確率
を利用するのではなくて、予測不能ポイントを含むシン
ボルの完全クラスの組合せ確率が利用される。
有損失符号化については、これで十分であり、適当なデ
コーダが、どのシンボルクラスが予測不能ポイントによ
って表わされているかを決定することが可能である。予
測不能ポイント自身は、符号化されることなしに、それ
が属する一般クラスを表示する。このようにして、情報
量当りの支出は、シンボル自身が符号化される場合より
も低価になる。
無損失符号化については、予測不能ポイントの文脈が、
当該ポイントにおけるシンボルの確率がnシンボル・ア
ルファベットの場合に1 / nとは異なる値になるよ
うに、増大されてよい。
復号時には、相次いでシンボルが復合される際の、各シ
ンボルの各自の文脈が、符号器のものと全く同一のルー
ルに従って、該シンボルが予測可能又は予測不能ポイン
トのどちらを表わしているかを決定するのに使われる。
予測可能ポイントの場合、シンボルは算術符号化の通常
のルールを使って復合される。一方、予測不能ポイント
の場合には、有損失又は無損失複合のどちらかが要求さ
れているかに応じて、数通りのオプションが存在3− する。
有損失復号の場合、予測不能ポイントは、予測不能ポイ
ントがそのメンバーである完全クラスを示す補助シンボ
ルによって単に置換されるだけである。この場合、生成
される復号出力ストリングは、ユニークなストリングで
はなく、可能性のあるストリングのセットである。
無損失復号の場合、予測不能ポイントに関しl/nとは
異なる確率を獲得し、それによって予測を可能にするた
めに、符号化についてなされたとの全く同様にして、予
測不能ポイントの文脈が増大されてよい。本発明による
エパス・デコーダでは、予測不能ポイントの近傍におい
て、該ポイントの前に出現するシンボルの数を増やすこ
とによって、文脈が増大される。本発明による2パス・
デコーダでは、予測不能ポイントの後に出現するポイン
トも考慮することによって、文脈が増大される。
有損失デコーダでは、ストリング・セットを表わす補助
シンボルでもって予測不能ポイントを置−24= 換するかわりに、予測不能ポイントの近傍において復号
されたストリングを内挿又は外挿することによって予測
不能ポイントを推測することも可能である。
E、実施例 第1図は、本発明による、一般化された符号化プロシー
ジャの流れ図である。このプロシージャの主要ステップ
には、1.3.4、及び5の番号が付されているけれど
も、その理由は後で第7図を参照するとこで明らかにな
るであろう。
ソース・データ・ストリング中の各シンボルについて、
文脈は、当該シンボルの近傍の、所与のサブ・パターン
の位置を評価することによって決定される。ソース・デ
ータ・ストリングが1次であるなら、文脈は、現在シン
ボルの一方の側のシンボルだけあるいは両方の側のシン
ボルを名慮することによって、評価され得る。例えばイ
メージ処理で発生するような2次元データの場合には、
現在シンボルの四方のシンボルの何れかあるいはすべて
を考慮することになる。明らかに、リアル・タイムでの
文脈の評価において、現在シンボルの後に発生するシン
ボルを考慮することが必要とされる場合には、ソース・
データ・ストリングを一旦記憶して後処理をすることが
必要になるので、データ捕捉とデータ圧縮の間に短い遅
延が存在することになる。現実には、遅延は極めて短い
ので、無視することができる。
現在のシンボルの文脈が評価されたなら、該現在文脈に
依拠する条件付き確率が決定される。これによって、現
在シンボルを、(nシンボル・アルファベットの場合に
は)確率が1 / nに等しい予測不能ポイント(un
predictable point、以下UPと略す
ることもある)又は他のすべての確率に対応する予測可
能ポイント(predictablepoint、以上
PPと略することもある)に分類することが可能になる
。予測可能ポイントPPの符号化は、現在シンボルの確
率に依拠する標準算術符号化法によって行われる。
第1図に示されるように、予測不能ポイントUPを処理
するためには、有損失(ファジィ)符号化又は無損失符
号化のどちらが要求されるかに応じて、2つの方法のう
ちの工つをとることができる。有損失(1ossy)符
号化の場合には、現在シンボルに対応するファジー・セ
ット(現在シンボルを含む異なるシンボルのセット)の
確率が決定され、その後、この組合せ(combine
d)確率を使って算術符号化が実行されるので、現在シ
ンボルの属す、るクラス全部のポイントが効率よく送信
される。無損失(1ossless)符号化を行うため
には、確率が1 / nとは異なるものになるように、
したがって、ポイントが予測可能になるように、現在シ
ンボルの文脈が増大する。算術符号化は、この大きくな
った文脈に依拠して、新たに決定された確率を使って実
行されるので、現在シンボルを損失なしに符号化するこ
とができる。
第2図には、無損失符号化を行う他の方法が示される。
予測可能ポイントは第1図に関して述べたのと全く同様
にして処理される。予測不能ポイントUPに遭遇すると
、まず現在シンボルの属するファジー・セットの確率が
決定され、次いでこ27− の組合せ確率を使って算術符号化が実行されて、現在シ
ンボルの属するクラス全部のポイントが効率よく送信さ
れる。これは第1図に示されたプロシージャと同一であ
る。しかしながら、ここで、現在シンボルが予測可能と
なるようにその文脈が増大され、次いでこの拡大された
新しい文脈を使って現在シンボルの確率が決定される。
新しい確率は(nシンボル・アルファベットの場合)も
はや1 / nではなく、したがって現在シンボルは拡
大された文脈を使って予測可能であり、算術符号化を普
通のやり方で適用することができる。
上記説明より、2つの重要な点が浮かび上がる。
まず、すべてのケースにおいて、予測可能ポイントは、
標準的な算術符号化技法を用いて従来通りに処理される
。しかしながら、予測不能ポイントは、同様に処理する
とデータ圧縮効率を低下させるので、2段階又は3段階
で処理されることになるが、その理由は後で明らかにす
る。第1段階では、当該予測不能ポイントの属するシン
ボルの完全クラスに関する情報が獲得される。オプショ
ン28 として、現在シンボルの属するファジー・セットを転送
するために算術符号化をここで実行しても差し支えない
(第2図)。最終段階では、予測不能ポイントを予測可
能にするために、拡大された文脈が評価され、算術符号
化が再度実行される。
したがって、第1図を参照して述べた2段階方法では、
各予測不能ポイントUPについて、算術符号化のステッ
プは、拡大された文脈を使って、1度だけ実行される。
第2図を参照して述べた3段階法では、算術符号化のス
テップは、2度、つまり完全ファジー・セットの符号化
について1度と現在シンボルの符号化について1度実行
される。
しかしながら、このケースでは、追加的な算術符号化ス
テップが必要であるけれども、現在シンボルが属するフ
ァジー・セットの知識は決定されており、したがって、
デゴーダには知られていることを理解しなければならな
い。その結果、新しい拡大された文脈の中で、現在シン
ボルの確率は、2段階方法のそれとは同じにならず、し
たがってソース・データ・ストリングをより効率的に圧
縮することができる。さらに、文脈の拡大量をファジー
・セットに応じて換えることもできる。これに対し、フ
ァジー・セットの知識をまず符号化することを行わない
ならば、文脈の拡大量は常に同じでなければならない。
第3図には、有損失(ファジー)符号化を行う他の方法
が示される。その主要なステップには10から15まで
の番号が付されているけれども、その理由は後で第8図
を参照することで明らかになるであろう。第3図に示さ
れるファジー符号化法において、予測可能ポイントPP
は、第1図に関して述べたのと全く同様に、通常の算術
符号化法にしたがって処理される。しかしながら、この
ケースでは、予測不能ポイントUPは違って処理される
。tJPkこ対応する現在ポイントは補助(auxil
iary)シンボルにセットされ、現在シンボルの属す
るファジー・セットの確率が決定される。この11組合
せ(combined )”確率の知識に基づいて算術
符号化が適用され、UPの属するシンボルの完全クラス
に対応する情報が効率よく送信される。
上記ファジー符号化の説明の中で、2点に注意しなけれ
ばならない。第1に補助シンボルはデコーダに送信され
ない、補助シンボルは、後続の文脈を正確に評価できる
ように、エンコーダの中の一時バッファにストアされる
。上述のことかられかるように、文脈はソース・データ
・ストリング中のシンボルの条件付きに確率を決定する
。したがって、ある特定シンボルの文脈がUPを含んで
いる場合、現在シンボルの確率を正確に決定するために
は、現在文脈の中でのUPの存在及び位置を知る必要が
る。実際、補助シンボルは、個々の位置の元の(初期の
)シンボルがUPであったことを示すフラグにすぎない
第2に、第3図を参照して説明した算術符号化法では、
レシーバ側でユニークなストリング中デコードすること
ができない。その代り、予測不能ポイントUPがその属
する完全クラスの形で明記されたストリング・セラ1〜
が送信される。その結果、デコードされたストリングの
情報量はオリジ−31− ナル・ソース・ストリングよりもいくらか少ない。
それゆえ、かかるエンコーダは“ファジー”エンコーダ
と呼ばれる。ファジー算術符号器をイメージ処理で用い
ると、圧縮率は改善されるけれども、イメージの品質は
多少低下する。イメージの品質が低下する場合、本発明
によるファジー算術符号化は、そのようなエラーが目立
たないような領域に限定されなければならないことは明
らかであろう。
第1〜3図を参照して述べた本発明法及び従来の算術符
号器に比してのパフォーマンスの向上を明示するために
、詳細な具体例を以下に揚げる。
2進アルフアベツトから取られたシンボルを含む、次の
ようなソース・データ・ストリングについて考える。
S RT = 111100000111110010
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)となる。
1og2Aは、Aレジスタを正規化するのに必要なシフ
ト数を表わし、さらにはCレジスタから抽出されるコー
ドの長さを決定する。結果として、算術符号器から導入
されるコードの長さは、ソース・データ・ストリング中
の2を底とする符号化された各シンボルの確率の対数を
加算することによって計算することができる。
以下の実行例では、A及びCレジスタの具体的な数値は
考慮しない。なぜなら、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。
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。
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。
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ビツトと表わしている。
ステップ3では0.51ビツトが符号化に必要とされる
。よって、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ビツトである。
このようにして、最終的には、圧縮コードの長さは32
ビツトとなる。そのコード・ストリングをデコードすれ
ば、オリジナル・ソース・データ・ストリングSTRが
複製される。
例2:ファジー論論理算術量器(FLAC)ソース・デ
ータ・ストリング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。
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二〇。
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’ が得られる。
S T R’ =11110000011111001
001110011110000000一方、STRは
次の通りであった。
S T R=1111000001111100100
1010011110000000このように、評価さ
れたコード・ストリングSTR′とオリジナルのコード
・ストリングSTRとは、長さにおいて等しく、第21
番目のシンボルが違うだけである。
上述の例に関して、デコードは従来の算術復号方法によ
ると説明した。これは正しく、上述の例において35コ
ード・ポイント中の31コード・ポイントを構成する予
測可能ポイントPPについて、5デコードは標準的な算
術復号方法を用いて行われる。しかしながら、この方法
は、上記被評価コード・ストリングSTR’ において
 で示された予測不能ポイントUPを解釈するために、
若干修正する必要がある。
第4図乃至第6図には、予測不能ポイントを処理するた
めに、標準算術復号器に加えるべき若干の修正を説明す
る流れ図が示されている。
第4図は、第1図を参照して説明した方法に従って符号
化された予測不能ポイントをデコードするための、関連
ある追加的なステップを示す。被復号ストリングが補助
シンボルを含む場合、現在ポイントがデフォルトの文脈
の中で予測不能であることが示される。もしそれ以上に
何のアクションもとられず、補助シンボルがオリジナル
・シンボル・アルファベットの1つのシンボルと置き換
えられない場合、復号出カストリングは、上記の例2で
説明したように、可能性のあるストリングのセットを表
わす。そうでない場合には、第1図に示された符号器が
使用したのと同じルールに従って、補助シンボルの文脈
が拡大され、これによって予測不能ポイントは予測可能
になり、復号が可能となる。
上記の例2では、被評価出カストリングSTR’中の補
助シンボル については、文脈を増大させることによる
復号は行われなくて、補間が行われた。第5図は、補助
シンボルの値を、先に復号されたシンボルと後に復号さ
れたシンボルを両方含む当該シンボルの文脈の知識に基
づいて補間する2パス・デコード・オペレーションの一
部を示す。
換言すると、補助シンボルの前後でリアル・タイムでデ
コードされたシンボルが、これらのシンボルの間での内
挿による現在シンボルの値の評価に用いられる。このよ
うなデコード方法を″2パス″′と呼ぶのは、補助シン
ボルを評価するために、被復号シンボル・ストリングに
沿った2つのパスが必要とされるからである。第1のパ
スでは、予測55 可能ポイントがデコードされるとともに、予測不能ポイ
ントの値ではなく場所が決定される。そのようにして生
成されたストリングは、第2のパスにおいて、各予測不
能ポイントの前後の予測可能ポイントを含む文脈から当
該予測不能のポイントの値を内挿すべく、スキャンされ
る。
第6図は、1パス・デコーディングによって予測不能ポ
イントを評価するという、別のやり方を示す。ここでは
、被復号ストリングに沿った1回のパスが用いられ、各
補助シンボルは、その先行文脈からの外挿によって評価
される。このケースでは予測不能ポイントの後に現れる
シンボルは考慮されないので、補助シンボルのデコード
は、ストリングのデコードと同時に“in fligh
t”で実行され得るのである。
第7図は、第1図に示された方法を用いる算術符号器内
のユニット間のデータの流れを示す。入力ストリング中
の新シンボルaiごとに1、それの文脈C1が所定のル
ールに従って決定される。
ルックアップ・テーブル(3)は、予測可能ボイ56− ントと予測不能ポイントに夫々対応するシンボルとファ
ジー・セットのすべての、文脈C1に応した確率を収容
している。予測可能ポインl−P Pについては、ルッ
クアップ・テーブル(3)からの出力は、現在シンボル
ai又はこのシンボルを含むファジー・セットの確率p
 (i)と、それの累積確率S (i)である。p (
i)とS (i)の値はセレクタ(6)に入力され、そ
の出力であるpとSは算術符号器(5)に入力される。
算術符号器(5)は、セレクタ(6)から夫々導かれた
確率pと累積確率Sに従って、現在シンボル又は現在フ
ァジー・セットを符号化する。
第2のルックアップ・テーブル(4)は、増大した文脈
C2に対応した確率p’  (i)と累積確率S’  
(i)を収容する。p″ (i)とS″ (i)の値は
セレクータ(6)に入力され、第1文脈C1が予測不能
ポイントUPを示す場合に選択される。
セレクタ(6)からの出力であるpとSは算術符号器(
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)に入力され、通常のやり方で処理される。
第9図には、第5図を参照して説明した2パス・デコー
ディング方法を用いる2パス・デコーダの1部が示され
ている。第1パスの後、再構成されたストリングはレジ
スタ(20)に入力され、再構成されたストリングの1
ポイントずつのスキャンを可能にする。現在シンボルa
iが所定の補助シンボル・セットの中の1つであるとき
には、文脈と現在補助シンボルaiがインターポレータ
(内挿器)  (21)に供給され、そこで予め定義さ
れたルールに従って補助シンボルがシンボル・アルファ
ベットの中の対応するシンボルに置き換えられる。イン
ターポレータ(21)からの出力は、現在シンボルai
とともにセレクタ(22)に入力される。セレクタ22
の出力は、現在シンボルaiが補助シンボルか否かに応
じて、現在シンボルai又はインターポレータ(21)
からの出力のどちらかになる。
一般的なケースでは、ファジー・セットの数は9− 1より多いことがあり得ることが理解されよう。
そのようなケースでは、現在の補助シンボルは、現在文
脈と現在シンボルaiの属する特定のファジー・セット
とに従って再構成される。例えば、コード・ストリング
が子音字、母音字、数字、及び句読点(つまり4つの異
なったデータ・クラス)から成り、ある特定の予測不能
ポイントは母音字であることがわかっているならば、2
パス・デコーダの第1パスの際に、現在シンボルは母音
字クラスに対応するある特定の補助シンボルに置換され
る。そして、第2パスの際に、該シンボルは現在文脈か
ら補間され、これによって、該補助シンボルはある特定
の母音字と置き換えられる。
このように、本発明によれば、必要に応じて、有損失又
は無損失符号化に適合し得る算術符号化の改善された方
法が提供される。本発明の有損失符号化によれば、従来
の算術符号器に比べて、16%も圧縮率が向上し得るこ
とが発見された。予測不能ポイントUPの数は比較的少
ないので、これらの問題のポイントにもっと多くのコン
ピユー60− ティング・リソースを割り当てることも可能である。例
えば、ある所与のアプリケーションに関して、アベイラ
ブルなCPUパワーをもってしては文脈の決定に4ビツ
トしか割り当てられないということもある。かかる状況
の下では、ソース・データ・ストリング中の各ポイント
について16通りの文脈しか考慮することができない。
しかしながら、1%の予測不能ポイントUPについて1
0ビツトを割り当て、1024通りの文脈を作り出すこ
とも十分可能である。その結果、予測不能ポイントのエ
ントロピーが減少し、全体的な圧縮率が向上する。
F、効果 本発明によれば、シンボルの確率が該シンボルの文脈に
応じて決定される算術符号化において、圧縮の効率を従
来よりも向上させることができる。
【図面の簡単な説明】
第1図は、本発明による、一般化された無損失又はファ
ジー算術符号化方法の主要なステップを示す流れ図であ
る。 第2図は、本発明による無損失算術符号化方法の主要な
ステップを示す流れ図である。 第3図は、本発明によるファジー算術符号化方法の主要
なステップを示す流れ図である。 第4図は第1図に示した符号化法とともに用いるのに適
した復号方法の主要なステップを示す流れ図である。 第5図は、第3図に示した符号化法とともに用いるのに
適した2パス復号方法の追加的なステップを示す流れ図
である。 第6図は第3図に示した符号化法とともに用いられる1
パス復号方法を示す流れ図である。 第7図は、第1図の符号化プロシージャを実行する際の
レジスタ間でのデータの流れを示す図である。 第8図は、第3図の符号化プロシージャを実行する際の
レジスタ間でのデータの流れを示す図である。 第9図は、第8図の符号化プロシージャ実行の際の、2
パス・デコーダにおけるレジスタ間でのデータの流れを
示す図である。

Claims (9)

    【特許請求の範囲】
  1. (1)シンボルのパターンに算術符号化を施して、圧縮
    された出力コード・ストリングを生成する方法であって
    、上記シンボルは有限のシンボルのセットから取られ、
    各シンボルは上記パターン中のある位置に出現し、上記
    コード・ストリングは上記シンボルの上記位置に出現す
    る確率に依拠するある数であるような圧縮符号化方法に
    おいて、以下のステップを含むことを特徴とする方法。 (a)各位置の近傍の、文脈を表わす位置の所与の第1
    のサブ・パターンを評価することによって、該パターン
    中の予測可能位置PPと予測不能位置UPを決定する。 ここで、該位置サブパターンが選択されたシンボル・サ
    ブパターン・セットのうちの何れか1つを含むときにU
    Pは定義され、その他のすべての場合にPPが定義され
    る。 (b)PP中の各シンボルについて、各自の文脈におけ
    る各自のシンボルの確率を用いて、通常の算術符号化を
    適用する。 (c)UP中の各シンボルについて、各自の位置に出現
    し得るシンボルの所定のセットの組合せ確立を用いて、
    通常の算術符号化を適用する。
  2. (2)シンボルのパターンに無損失算術符号化を施して
    、圧縮された出力コード・ストリングを生成する方法で
    あって、上記シンボルは有限のシンボルのセットから取
    られ、各シンボルは上記パターン中のある位置に出現し
    、上記コード・ストリングは上記シンボルの上記位置に
    出現する確率に依拠するある数であるような圧縮符号化
    方法において、以下のステップを含むことを特徴とする
    方法。 (a)各位置の近傍の、文脈を表わす位置の所与の第1
    のサブ・パターンを評価することによって、該パターン
    中の予測可能位置PPと予測不能位置UPを決定する。 ここで、該位置サブパターンが選択されたシンボル・サ
    ブパターン・セットのうちの何れか1つを含むときにU
    Pは定義され、その他のすべての場合にPPが定義され
    る。 (b)PP中の各シンボルについて、各自の文脈におけ
    る各自のシンボルの確率を用いて、通常の算術符号化を
    適用する。 (c)UP中の各シンボルについて、上記UPが予測可
    能となるように、上記所与の第1のサブパターンよりも
    大きな第2の位置のサブパターンを評価する。 (d)上記第2のサブパターンから導かれた各シンボル
    の更新された確率によって、算術符号化を実行する。
  3. (3)UP中の各シンボルについて、さらに、上記UP
    が予測可能となるように、上記所与の第1のサブパター
    ンよりも大きな第2の位置のサブパターンを評価し、 上記第2のサブパターンから導かれた各シンボルの更新
    された確率によって、算術符号化を実行する ことを特徴とする、請求項1記載の方法。
  4. (4)有損失符号化を行うために、UP中の各シンボル
    について、第1の位置のサブパターン中の対応するシン
    ボルが補助シンボルに置き換えられることを特徴とする
    、請求項1記載の方法。
  5. (5)請求項1乃至4の何れかに記載の方法を実行する
    ためのシステムであって、 各シンボルについて、文脈を表わす上記第1の位置のサ
    ブパターンを記憶するための第1のメモリと、 可能性のあるサブパターンの所定のセットを記憶するた
    めの第2のメモリと、 各シンボルについて、第1メモリ中の第1のサブパター
    ンを第2メモリ中のサブパターン・セットのサブパター
    ンと比較し、上記第1のサブパターンとマッチする上記
    サブパターン・セット中のサブパターンがある場合には
    第1の信号を生成し、そうでない場合には第2の信号を
    生成する比較手段と、 可能性のあるサブパターンの完全セットの各々の文脈中
    でのシンボル・セット中の各シンボルの確率を保持する
    第1のルックアップ・テーブルを記憶するための第3の
    メモリと、上記所定のサブパターン・セットの各々の文
    脈での可能性のあるシンボルの所定のセットの組合せ確
    率を保持する第2のルックアップ・テーブルを記憶する
    ための第4のメモリと、 比較手段と結合され、上記第1の信号に応答して上記第
    3メモリを読み取る一方、上記第2の信号に応答して上
    記第4メモリを読み取り、上記サブパターンに対応する
    記憶されている確率を決定する読取手段と、 読取手段と結合され、決定された確率に応答して各シン
    ボルを符号化する算術符号化手段を具備する、圧縮符号
    化システム。
  6. (6)請求項1記載の方法に従って符号化されたシンボ
    ル・パターンを表わすコード・ストリングを復号する方
    法であって、 出力コード・ストリング中の各位置について、その近傍
    の、符号化の際に用いた位置の所与の第1のサブパター
    ンに対応する位置のサブパターンを評価し、該サブパタ
    ーンが所与のシンボル・サブパターン・セットのうちの
    1つ又は1以上のシンボルが補助シンボルと置換された
    これら所与のシンボル・サブパターンの何れかを含むか
    否かを決定し、 テスト結果が肯定的であって予測不能ポイントUPを示
    す場合には、出力シンボル・パターン中の各自の位置に
    補助シンボルを挿入し、 テスト結果が否定的であって予測可能ポイントPPを示
    す場合には、コード・ストリングの頭部(リーディング
    )デジットを評価することによって、オリジナル・シン
    ボル・パターンの1シンボルを再構成すべく通常の算術
    符号化を適用し、コード・ストリングから、復号され再
    構成されたシンボルに対応する数を引くことによって、
    コード・ストリングの頭部デジットを変更し、出力スト
    リング中の各補助シンボルについて、最終出力シンボル
    ・パターン中の各自の位置に実際に挿入されるべきシン
    ボルを、各補助シンボルの近傍の復号・再構成されたシ
    ンボルの文脈に基づいて決定する ステップを含むことを特徴とする方法。
  7. (7)各補助シンボルが、当該補助シンボルに先行する
    先行して復号されたシンボルのパターンから外挿するこ
    とによって、上記シンボル・セット中の1つのシンボル
    と置換される、請求項6記載の方法。
  8. (8)各補助シンボルが、当該補助シンボルの前と後の
    、当該補助シンボルに先行して復号されたシンボルのパ
    ターンの間で内挿することによって、上記シンボル・セ
    ット中の1つのシンボルと置換される、請求項6記載の
    方法。
  9. (9)出力シンボル・パターン中に出現する各補助シン
    ボルについて、各補助シンボルに対応するオリジナル・
    シンボルの決定が可能になるように、各補助シンボルの
    近傍の位置のサブパターンが拡大される、請求項6記載
    の方法。
JP2190885A 1989-07-28 1990-07-20 圧縮符号化方法及びシステム並びに復号方法 Pending JPH0366227A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100488421B1 (ko) * 1997-10-17 2005-07-07 주식회사 팬택앤큐리텔 이진영상의 손실 부호화 방법

Families Citing this family (34)

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

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

Cited By (1)

* Cited by examiner, † Cited by third party
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) 符号化方法