JP2549254B2 - 有限アルファベットの任意記号の発生確率予測方法及び装置 - Google Patents

有限アルファベットの任意記号の発生確率予測方法及び装置

Info

Publication number
JP2549254B2
JP2549254B2 JP5267523A JP26752393A JP2549254B2 JP 2549254 B2 JP2549254 B2 JP 2549254B2 JP 5267523 A JP5267523 A JP 5267523A JP 26752393 A JP26752393 A JP 26752393A JP 2549254 B2 JP2549254 B2 JP 2549254B2
Authority
JP
Japan
Prior art keywords
symbol
probability
symbols
arbitrary
old
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.)
Expired - Lifetime
Application number
JP5267523A
Other languages
English (en)
Other versions
JPH06222904A (ja
Inventor
ポール・ドナルド・ヒーレイ
ヨルマ・ヨハネス・リサネン
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 JPH06222904A publication Critical patent/JPH06222904A/ja
Application granted granted Critical
Publication of JP2549254B2 publication Critical patent/JP2549254B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にデータ符号化分野
に関し、特に記号ストリング又はデータ・ストリームに
おける記号の過去の発生にもとづく記号確率の計算に関
する。
【0002】
【従来の技術】データ記憶或いは遠隔ポイント間におけ
るデータ転送の効率を改良する数多くの技術及びシステ
ムが開発されてきた。データはしばしば用語"アルファ
ベット"と呼ばれる所定の記号セットからの符号化記号
のストリングを含む。周知の例は、情報交換用米国標準
コード(ASCII:American Standard Code forInfo
mation Interchange)であり、これは英数字、句読記
号、及び種々の特殊なコマンド文字を2進値に符号化す
る。もちろん、数字、句読点又は区別的発音符を含む他
の記号セット、或いは2進又は他の表現も本発明の範疇
に含まれる。用語"アルファベット"はこうした記号セッ
トをカバーする最も広い意味で使用される。
【0003】ASCII記号などのいくつかのタイプの
記号は、全て等しい長さ(length)を有する。しかしな
がら、データ通信環境にもとづく文字に関しては、全て
の文字が同じ頻度で現れない。これらの文字の発生頻度
に関わらず、全ての文字(ASCIIコードなど)に対
し等しい長さのコードを割当てることは非効率的である
ことが知られている。効率を改良するために、様々なデ
ータ圧縮方法が使用されてきた。これらの方法は、一般
に記号の発生確率が減少すると、そのビット長が増加す
るコードにより符号化する。
【0004】データ圧縮又は符号化のこうした技術
は、"エントロピ符号化"と呼ばれる。エントロピ符号化
においては、より確率の高い事象は比較的少ない数のビ
ットにより特徴化されるコードワードにより表され、一
方、確率の低い事象は比較的大きな数のビットにより表
される。コードワード長の正確な割当ては、情報理論の
概念により示され、事象の発生の予測確率にもとづく。
予測される確率が高いほど、コードワード長の割当て及
び圧縮が効率的となる。
【0005】データの量を累算し、データ内の各記号に
対する全確率を計算し、伝送以前に大量のデータを符号
化することにより、発生頻度分布が計算可能である。し
かしながら、記号ストリーム内のアルファベット記号の
発生確率は原因にもとづき予測される。すなわち、符号
化される記号以前の記号の発生にもとづき、符号化され
る記号の後に続く記号の発生にはよらない。これは符号
化された記号が受信時に復号化されることによる。任意
の符号化記号の到来時、以前に受信された符号化記号だ
けが受信器にとって使用可能である。
【0006】一般に、事象又は発生の確率は以前のデー
タ、或いは直観、数学、仮定、統計収集などにもとづく
初期予測からの予測値として決定される。初期予測の予
測値は次に続く発生事象により測定される。
【0007】ある従来技術では、記号の発生確率がデー
タ処理以前に決定され、固定される。データがこれらの
固定確率に従い符号化される。これらのシステムでは、
得られる結果が、一般に文字の実際の発生率を反映しな
い確率値にもとづくという欠点を有する。なぜなら、こ
れらの発生率は、文字のデータ・ストリーム内における
位置により変化するからである。結果的にデータ・スト
リームが最適効率により符号化されない。
【0008】ある従来のデータ圧縮システムは、符号化
装置及び復号化装置の両方において、記号発生頻度に依
存する。Kenemuthによる米国特許出願第4516246
号、"Data Compression System" では、データ・ストリ
ーム内の文字列が、ストリーム内の記号の頻度を決定す
るために、記号ストリームのサンプルのヒストグラムを
使用することにより、圧縮形式に符号化される。この方
法は、頻度又はヒストグラムが新たな記号の到来時に再
評価されるために、適応型である。しかしながら、この
方法は、符号化が固定サイズの過去の区間における度数
分布にもとづく点で、欠点を有する。これは記号の傾向
に対する感度を制限する。
【0009】他の従来の適応型のデータ圧縮システム
は、確率予測の適応性に依存する。Duttweilerによる米
国特許出願第5025258号、"Adaptive Probabilit
yEstimator for Entropy Encoding/Decoding"では、確
率予測器の適応率を制御式に調整することにより、より
正確な確率予測を獲得する。すなわち、適応率を予測さ
れる実際の確率値に適合させることにより、適応率が最
適化される。特に、適応率は予測される最も好適な確率
値の逆数に比例するように最適化される。この方法はま
た、記号発生の確率予測が可変となるようにも適応す
る。しかしながら、確率予測が過去の記号発生の相対度
数にもとづいており、時間的分布を考慮しないため、記
号発生頻度の実際の傾向はまだ予想されない。
【0010】Chamzasらによる米国特許出願第5023
611号、"Entropy Encoder/Decoder Including a Con
text Extractor"では、記号のコンテキストを定義する
ために使用されるコンテキスト抽出器の遅れ時間の構成
を調整することにより、より正確な確率予測が獲得され
る。この方法は固定区間方法を改良するが、各時間ポイ
ントにおける非選択区間の影響を必然的に無視しなけれ
ばならない。
【0011】従って、上述の従来技術の欠点を克服する
ために、データ通信環境において使用されるデータ圧縮
技術は、記号発生の傾向を確率計算において考慮し、好
適には、より最近過去の発生に対しより大きな重み付け
をするように、記号発生の重み付けを行うべきである。
こうした技術は、既に転送された記号の分布にもとづ
き、可能性のある全ての記号に対し、最適なコード割当
てを効率的に計算することが可能でなければならない。
更に、記号ストリームにおける記号の度数分布の変化を
検出し、それに従い符号化方法を適応可能でなければな
らない。
【0012】
【発明が解決しようとする課題】本発明の目的は、過去
の記号発生傾向にもとづき記号発生確率を確立すること
により、改良されたデータ圧縮を可能とする、データ圧
縮及び符号化において使用される、記号発生確率を決定
する適応型のシステム及び方法を提供することである。
【0013】本発明の別の目的は、より最近の記号発生
に対し、より大きな重み付けをするように過去の記号発
生の重み付けを行う、データ圧縮及び符号化において使
用される、記号発生確率を決定するシステム及び方法を
提供することである。
【0014】本発明の別の目的は、過去の複数の区間に
おける記号発生を考慮して将来の記号発生確率を予測す
る、データ圧縮及び符号化において使用される、記号発
生確率を決定するシステム及び方法を提供することであ
る。
【0015】
【課題を解決するための手段】任意記号の発生確率の適
応計算は、最初に任意記号の発生の初期確率の予測値を
計算することにより決定される。アルファベット記号の
初期確率は、記号ストリング内の記号の過去の発生に調
和する確率値を生成する周知の手段により計算される。
これは当初、記号メモリ又は"コンテキスト抽出器"(以
降で詳述)が記号の過去の発生を含み、それ以後の確率
については、記号のこれらの過去の発生に部分的にもと
づき計算されるからである。
【0016】初期確率を計算する好適な方法は、事前定
義される区間内又は多数のネスト化区間内における記号
発生回数をカウントし、各ネスト化区間内における記号
発生の正規化回数を利用する。記号アルファベット内の
各記号は、固有の確率予測、及び対応する確率レジスタ
が提供される。
【0017】本発明によれば、ネスト化される複数の区
間が使用される。すなわち、各ネスト化区間は、最も最
近の記号を含む記号ストリングの共通の第1の位置を共
用する。区間は最も最近受信された記号をプリデート
(pre-date)する連続的に受信される記号を様々な数含
む。好適にはネスト化区間の数は、2の整数乗に等し
い。また、区間が特定のサイズの制約条件に依存するこ
とが望ましい。一般に、区間はそれらに含まれる記号の
数に関し、全て同一の底の累乗である長さを有する。そ
れとは別に、区間はその比率が2の整数乗であるサイズ
を有することができる。ここで詳述される実施例では、
区間のサイズは2の整数乗である。
【0018】区間内に現存する記号は、記号コンテキス
トを形成する。次の記号がアルファベットの任意記号で
ある確率は、現在区間内に存在するその任意記号の発生
回数にもとづいて決定される。記号コンテキストに入力
される新たな記号は、各区間の最も最近の記号位置に入
力され、実質的に、最も以前に到来した記号を各区間か
ら押出す。
【0019】新記号は複数の新記号の部分的確率分散を
定義し、それぞれは各ネスト化区間に関連する。新記号
はまた全体的な新記号分散を定義し、これは記号発生確
率の部分的増分変化を表す。新記号に一致する記号に対
しては、この新記号による確率分散は確率の増分とな
る。他の全ての記号に対しては、新記号による確率分散
は、確率の変化を生じない。任意の区間における新記号
の部分的確率分散は、区間の長さの逆数として定義され
る。新記号の分散は、全ての区間に渡るその新記号の部
分的確率分散の平均として定義される。
【0020】同様に各ネスト化区間を離脱する各旧記号
は、それぞれの区間における各記号に対応する旧記号の
部分的確率分散を定義する。区間を離脱する旧記号が任
意記号に一致する区間では、旧記号の部分的確率分散
は、その任意記号にとって確率の減少となる。他の全て
の区間においては、その旧記号の部分的確率分散は、確
率の変化を生じない。全体的な旧記号の確率分散が、ア
ルファベットの各記号に対応して計算される。任意記号
に対し旧記号の確率分散は、その任意記号の発生を失う
区間におけるその旧記号の部分的確率分散の平均であ
る。任意の区間における旧記号の部分的確率分散は、区
間の長さの逆数として定義される。
【0021】このようにして、新記号の到来以前の時刻
における任意記号の発生確率が提供されると、記号分散
を加算及び減算することにより、その新記号の到来以後
の時刻におけるその任意記号の発生確率が計算される。
特に、新記号が任意記号であり、且つ0値以外の場合、
正の値を有する新記号分散が旧確率に加算され、任意記
号に一致する各旧記号に対応する正の要素と、その任意
記号に一致しない各旧記号に対応する0値要素を有する
旧記号分散が、旧確率から減算される。
【0022】新記号の増分分散及び旧記号の増分分散の
数学的及び論理的組合わせは、旧記号及び新記号の排他
的論理和(XOR)比較に等しい。新記号及びある区間
を離脱する旧記号の両者が任意記号に一致するか、或い
は両者共に一致しない場合、その区間におけるその任意
記号の発生回数は変化しない。すなわち、その区間に対
応する組合わせ確率分散は0である。新記号及び旧記号
の一方が任意記号に一致し、他方が一致しない場合、そ
の区間におけるその任意記号の発生回数は変化し、確率
分散は0でない値を有する。従って、後述される本発明
の実施例では、区間を基本とする新記号と旧記号とのブ
ール差を決定し、確率分散が非ゼロ値を有するかどうか
を決定するXOR装置を使用する。
【0023】従ってその後の確率予測は、続く新記号分
散と旧記号分散のXOR比較により予測される。この比
較は各区間からの要素を含む分散絶対値を生成し、これ
は次に初期確率に加算或いはそれから減算されて、更新
確率を生成する。こうして続く確率予測を決定するため
に、記号コンテキスト内の全てのデータを操作すること
が回避される。
【0024】ネスト化区間の数が2の整数乗として選択
されると、区間長もまた2の累乗に選択され、確率予測
は、記号アルファベット内の各記号の初期確率に対する
新記号分散及び旧記号分散にもとづいて、簡単な計算に
より求められる。
【0025】
【実施例】本発明によれば、記号ストリーム内のアルフ
ァベット記号の発生確率を、記号の過去の発生及び発生
傾向にもとづき決定する方法及び装置が提供される。こ
うした確率は、次に、符号化される各記号にコードを割
当てるために有利に使用される。記号ストリング内に文
字が頻繁に出現することが予測されるほど、そのコード
は短くなる。
【0026】位数Nの基本的度数モデルでは、記号スト
リング又は記号コンテキスト内の次の記号として発生す
る記号の確率は、現記号で終了する長さNの区間におけ
る記号頻度により等式化される。確率は有限過去の関数
であるが、過去の記号コンテキスト内の各記号発生に対
しては、均一な重みが割当てられるために、こうしたモ
デルは適応性を有する。基本度数モデルに従い、記号ス
トリーム内に現れる任意記号sの確率p(s) は、同一サ
ンプル・ウィンドウ内の記号の総数Nに対する記号sの
発生回数n(s)の比率として定義される。すなわち、
【数1】p(s)=n(s)/N (1)
【0027】で与えられ、これらの確率は各記号に対し
て計算される。
【0028】式(1)において、区間内の任意記号の全
ての発生に対し、等しい重み付け又は値が与えられる。
すなわち各記号発生は、現時点からの現区間内における
任意記号発生の相対間隔に無関係に、等しい重み付け又
は重要度を与えられる。
【0029】記号確率予測のより高度な適応計算は、統
計的に局所変化に適応することにより達成される。現時
点からの間隔が増加すると、重み又は重要度の減少が任
意記号発生に割当てられる。例えば、位数Nの適応型の
ある度数モデルは、一般に次のように定義される。
【数2】
【0030】ここでmは区間の数であり、φkはk番目
の区間の重み係数であり、 Cs(Ik)は区間I k にお
ける任意記号sのカウントである。式(2)は要素基本
度数モデルからの予測の凸状重み付け平均を表す。
【0031】Mohiuddinらによる"Adaptive Model for N
onstationary Source"(IBMTechnical Disclosure Bull
etin、Vol.28、No.11、Apr.1986、pp.4798-4800)
では、用語"フォーゲティング係数(forgetting facto
r)" が使用されており、これは記号ストリングの"スラ
イディング・ウィンドウ"に代わるものである。式
(2)は度数すなわち区間内における任意記号の発生頻
度に関するが、数学的に等価な公式では、時間に関し次
のように示される。
【数3】
【0032】ここで次の関係がある。
【数4】
【0033】この等価な形式では、式(3)はMohiuddi
n らの"フォーゲティング"係数の代替を提供し、次の記
号発生の確率を好適に計算する。
【0034】式(2)及び式(3)は、分布のクラスが
Rissanenの確率的複雑性形式(stochastic complexity
formalism)(Rissanen、"Stochastic Complexity"、Jo
urnal of the Royal Statistical Society、Series
B.、Vol.49、No.3、1987)における"以前の"分布に
関して統合される様子を例証する。式(2)において、
以前の分布は重みφk を含み、分布のクラスは時刻tに
おいて基本度数モデルにより決定されるクラスとなり、
モデルとなるストリング又は区間のセットは、単に"次
の"記号のセットであるか、有限のアルファベットであ
る。しかしながら、以前の分布を選択する問題が残る。
【0035】長さn、重みがk番目の区間において、1
/(k+1)に比例する全ての区間について考慮するも
のとする。ここで0≦k≦n−1である。直観的でなく
数学的には、式(2)における重みφk が、1/(k+
1)の様に複雑な場合に、適応型度数モデル全体を更新
することは、明らかに容易ではない。各記号発生は過去
に1ステップ遡るために、新たな重み計算は係数k+1
/(k+2)による乗算を含む。全ての可能性のある重
み値が事前に記憶されていたとしても、各ステップにお
ける加算の総数は、値を変更する記号の数のオーダとな
る。
【0036】一般に、式(2)で与えられる区間の全セ
ットを使用することは、計算が高価となる。従って、次
に示す近似が行われる。
【数5】
【0037】ここでCs (a、b)は記号ストリーム区
間における記号sの発生回数であり、lk はk番目の区
間長の底2の対数である。
【0038】区間長が2の整数乗すなわちlk が整数、
重みが2の累乗、及び区間の数nが2の累乗である制限
を加えることにより計算効率が達成され、記号確率を生
成する有利で単純な方法及び装置が実現される。例え
ば、式(4)において、lk =kと設定すると、比較的
区間数の少ない場合では、全ての区間に渡り、重み付け
方法1/(k+1)に対して、非常に良好な近似を生成
する。
【0039】本発明によれば、ストリングの以前に発生
した記号に対し、重み係数φk が適応される。これは以
前に発生した記号の様々な連続グループを包含する区間
を定義することにより達成される。こうした区間は、以
前に発生した記号のそれぞれが異なる数の区間に含まれ
るようにネスト化、すなわちオーバラップされる。確率
分散が各区間に対応して計算される。従って、以前に発
生した任意記号が多くの区間に含まれるほど、その文字
により影響される確率分散の数は大きくなる。すなわ
ち、その記号に対応する重み係数φk が大きくなる。
【0040】本発明の技術思想の範疇において、区間の
数及び相関し合うそれらのサイズが変化することが理解
されよう。また、区間をネスト化する方法についても変
更可能である。これら全ての要因が、以前に発生した異
なる記号に適応される相対重みを変更するように機能す
る。しかしながら、特定の制約条件がこれらの要因に加
わると、確率計算が巧妙に計算効率よく実施されること
が既に述べられた。従って、本発明の実施例はこれらの
制約条件に従う。すなわち、全ての区間が最も最近の記
号、及び最も最近の記号から時間的に遡って連続的に受
信された記号のセットを含む。区間の数は2の整数乗で
あり、区間のサイズは2の累乗である。最小区間は好適
には単一記号のサイズである。区間サイズは2の連続的
累乗が好適であるが、それに限るものではない。すなわ
ち、例えば8区間を用いるシステムが、区間サイズ比
1:2:4:8:32:128:256:1024を有
する。記号ストリームに関する統計的情報が知れている
場合、しばしば、2の特定の累乗を省くことが望まし
く、この場合には64及び512が省かれている。同様
に、これは1/(k+1)以外の重み付け方法の近似を
考慮する。後述される本発明の実施例は、これらの属性
を有する。
【0041】本発明の実施例である2つのクラスについ
て述べることにする。第1のクラスは2進記号ストリー
ム、すなわち0と1の2個の記号だけを有する2進アル
ファベットの記号ストリームを扱う。第2のクラスはn
配列記号を扱う。従って、第2のクラスでは、アルファ
ベットの記号数には固有の制限が存在しない。記号はn
ビットの2進数、文字セット又は他の適切な形式により
表される。
【0042】図1を参照すると、データ・ストリーム
が、n個の記号を含む有限アルファベットSにおける記
号ストリング<St>として表されている。tはストリン
グ指標である。任意の時刻tにおいて、過去の値
St-m...St-1の関数としてのアルファベットSの確率
分布が望まれる。
【0043】本発明の第1の実施例によれば、アルファ
ベットSは2進であり、0と1の2個の記号だけを含
み、アルファベットの記号数nは2である。この単純な
ケースでは、記号0及び1にそれぞれ対応する確率p
(0)及びp(1)の和が、
【数6】p(0)+p(1)=1
【0044】であることが容易に理解される。n個の記
号のアルファベットが使用される、より一般的なケース
では、アルファベット内のn個の記号に対応する確率の
総和は次のようになる。
【数7】
【0045】記号ストリングはコンテキスト抽出器1の
入力として提供される。コンテキスト抽出器1は、記号
ストリング<St>上のコンテキスト又はサンプルを抽出
する。本発明の目的のために、コンテキストは現時点よ
り以前に受信されて、コンテキスト抽出器1に記憶され
ている記号のセットとして定義される。コンテキスト抽
出器1は好適には、記号ストリング<St>の記号を受信
してシフトするシフト・レジスタ、或いは循環バッファ
すなわちキューを含む。循環バッファでは、記号はバッ
ファの終わりに達するまで連続メモリ・ロケーションに
書込まれ、その後、バッファの先頭に循環される。
【0046】コンテキスト抽出器1は更に複数のネスト
化区間を提供する。シフト・レジスタ及びキューなどの
メモリ構造の動作は、当業者には知られており、これら
の装置の使用に関する詳細な説明については省略する。
区間はメモリ・ロケーション又はシフト・レジスタ・ス
テージに関連して定義される。新記号nsが受信され記
憶されると、各区間の内容が実質的にシフトされる。従
って新記号が各区間内で、最も最近受信された記号に対
応する位置に配置される。各新記号nsがコンテキスト
抽出器1に入力されると、旧記号os(k) がk番目の区
間の終わりで失われる。これはm個の区間の各々に対応
して実施される。ここで0≦k≦m−1である。
【0047】コンテキスト抽出器1はn個の各区間から
旧記号を提供する出力、タップ、又は出力ポインタなど
の適切な手段を含む。
【0048】各記号Sに対応して1個、或いは合計m個
の複数の確率予測器が提供される。2進記号ストリング
に対して作用する図1のシステムの場合、2個の確率発
生器2及び3が示されている。確率発生器2は2進記号
1が発生する確率を生成し、確率発生器3は2進記号0
が発生する確率を生成する。
【0049】一般にn個の記号アルファベットでは、1
乃至n−1個の記号の確率の総和を引いた値が、残りの
記号の確率に等しい。従って、確率発生器の1個を取り
除き、残りの確率を生成するための計算を実行する適切
な装置を追加することが可能である。n−1個の確率発
生器を使用するシステムを実現する様々な方法が存在す
る。いずれの各確率も1から減算され、それらの確率が
加算され、その総和が1から減算されるか、それらの特
定の組合わせが実行される。2進アルファベットなどの
2個の記号アルファベットの場合では、これは有利に実
行される。より大きなアルファベットでは、こうした実
施例は複雑となり有利性に欠ける。
【0050】図2は図1に類似するシステムのブロック
図を示すが、前述の減算方法を使用し、2進アルファベ
ットの両方の記号の確率を決定するための適切な変更が
実施されている。確率発生器の1個は除去されている。
2個の記号しか存在しないため確率を加算したり、減算
シーケンスを実行する必要はない。確率発生器2により
生成される確率は、"1−X"と記される減算器5により
単に1から減算され、その結果、他の記号の確率が生成
される。n個の記号を含むより大きなアルファベットで
は、図2の実施例はn−1個の確率発生器、及びそれら
が生成するn−1個の確率の加算器、或いは減算器5へ
確率を減数として提供するシーケンサなどの適切な装置
を必要とする。
【0051】次に示す説明は再度図1に注目するが、適
宜、図2も参照される。有限アルファベット内の各記号
の発生確率が更新されて、確率予測器2のそれぞれに記
憶される。旧記号os(k) がコンテキスト抽出器1から
各確率予測器2に供給される。確率予測器の詳細を次に
説明する。
【0052】本発明が実施される環境を説明するため
に、算術エンコーダ・ユニット4が提供される。エンコ
ーダ4はアルファベットの各記号の確率を受信するよう
に結合される。本発明により生成される確率を使用し
て、エンコーダ4は記号ストリームをデータ圧縮コーデ
ィングにより効率的に符号化する。結果的に過去の記号
発生の関数としてセットされる次の記号の確率にもとづ
き、記号ストリームが従来の記号コーディングの場合に
比較して、より高速に転送される。
【0053】図3及び図4は、図1及び図2の確率予測
器2及び3のいずれかの2つの実施例の詳細図を示す。
図3はn配列記号アルファベットに対応して使用される
一般的な図を示す。図4は2進アルファベットの場合に
使用される単純化バージョンを示す。
【0054】図3及び図4の両方において、確率レジス
タ104は確率予測器に関連する任意記号の確率p(s)
を記憶するために提供される。初期状態において、確率
レジスタ104はそれぞれの記号に対応する初期確率を
含む。この状態は時刻tにおいて式(3)に調和する。
すなわち、アルファベットの各記号の初期確率が、オペ
レーションの開始以前に、それぞれの確率予測器の確率
レジスタ104に記憶される。初期確率は、式(4)を
満足するためにコンテキスト抽出器1に初期記憶され
る、記号ストリームの一部に含まれるそれぞれの記号の
過去の発生にもとづき計算される。
【0055】初期確率は好適には以下に示すように決定
される。最初に、記号ストリングの以前に発生した記号
がコンテキスト抽出器1にロードされ、ネスト化区間内
に存在する様々な部分が識別される。各区間に対し、ア
ルファベットの各記号の発生回数がカウントされる。次
に各区間内の各記号に対し、発生回数が正規化される。
これは好適には、発生回数をその区間内の記号の総数に
より除算して求められる。各記号に対する確率が、次に
各区間における正規化発生にもとづき決定される。これ
は好適には、正規化発生を平均化して求められる。最後
に、各記号に対応する結果が、それぞれの確率レジスタ
に記憶される。
【0056】初期確率が計算され記憶された後、システ
ムは記号ストリームの新たな記号を受信開始する準備が
整う。nsで示される新たな記号の到来時、確率が前述
されたように変更される。
【0057】本発明は記号発生の初期確率及び初期確率
に対する分散にもとづき、記号発生の確率を適応性よく
予測する方法を提供する。初期確率に対する分散は2つ
の要素を含む。第1は新記号分散、又は任意記号の初期
確率に関する各ネスト化区間の最初の位置に入力される
新記号の作用である。第2は旧記号分散、又は任意記号
の初期確率に関する各ネスト化区間の最後の位置を離脱
する旧記号の作用である。
【0058】ネスト化区間のセット内の各区間は、共通
な最初の位置を共用する。アルファベット記号の任意の
1つである新記号nsが到来すると、これは各区間の最
も最近の記号位置に入力する。従って、各区間内の任意
記号の発生回数が1増分される(1つ又は複数の区間に
おける旧記号osもまた任意記号に相当する場合、回数
は同じままである)。任意記号の確率は、各区間におけ
る新記号の到来により、増加する(もちろん、これは1
つ又は複数の区間からの任意記号の離脱が、増加をキャ
ンセルしない場合に限る)。新記号の到来により生ずる
確率の増加は、次のように表される。
【数8】
【0059】離脱する旧記号の値が任意記号の値に等し
い場合、各区間kはその区間を離脱する上記旧記号os
(k) に対応して1カウントを失う。区間の好適なネスト
化構成では、任意の区間を離脱する各記号は、その区間
における任意記号の発生回数に影響し、他の区間に対し
ては影響を与えない。ある区間からの旧記号の離脱によ
って生じる確率の減少は、次のように表される。
【数9】
【0060】式(5)及び式(6)は、ストリング・コ
ンテキストに入力される新記号、及び複数の各ネスト化
区間の最終位置を離脱する旧記号の記号確率に対し、ネ
ット効果を提供する。到来する新記号の値及び各離脱す
る旧記号の値が全て任意記号の値に等しい場合、確率は
式(5)及び式(6)に従い、それぞれ増分及び減分
し、結果的に互いに相殺される。従って任意記号に対応
する確率は変化しない。
【0061】図1、図3及び図4を参照すると、コンテ
キスト抽出器1からの旧記号os(k) はバス・ライン9
9を介して、確率予測器2及び3に供給される。また、
入力される新記号nsはバス98を介して、確率予測器
2及び3に供給される。前述の理論的説明によれば、各
確率予測器は新記号の到来に応答して、それぞれの任意
記号の発生の確率p(s) の変化を計算する。任意記号の
発生の更新された確率は、図3及び図4の確率レジスタ
に記憶される。(i)新記号が任意記号であるか否か、
及び(ii)区間単位で、区間を離脱する旧記号が任意
記号であるか否か、と言う観点で変化が計算される。
【0062】確率変化を計算する様々な方法が存在す
る。本発明の実施例によれば、図3又は図4の装置が使
用され、次に述べる方法が実行される。
【0063】更に本発明の実施例によれば、新記号及び
旧記号の確率分散が表1に従い計算される。確率の分散
は各区間に対応して、新記号が任意記号に一致するか、
またその区間を離脱する旧記号が任意記号に一致するか
に依存して決定される。新記号及び旧記号の両者が任意
記号に一致するか、或いは両者共に一致しない場合に
は、新記号の到来及び旧記号の喪失による確率の変化は
発生しない。一方、旧記号と新記号の一方は任意記号に
一致するが、他方は一致しない場合、非ゼロの確率分散
が存在する。表1に示されるように、確率分散の符号す
なわち確率の増加又は減少にそれぞれ対応する+又は−
は、旧記号及び新記号のどちらが確率予測器の任意記号
に一致するかにより決定される。
【0064】表1はこれらの条件を一覧表に示し、各ケ
ースにおける確率への影響を示す。第1及び第4のケー
スでは、区間内の任意記号の発生回数は変化せず、確率
の変化は発生しない。第2のケースでは、任意記号の発
生回数は1増加し、確率の増加が発生する。第3のケー
スでは、任意記号の発生回数は1減少し、確率の減少が
発生する。
【表1】
【0065】表1が実施される厳密な様子は、図3と図
4では異なる。図3のより一般的なケースについて最初
に説明し、続いて図4の単純化されたケースについて述
べることにする。
【0066】図3は、表1を実施する論理網を示す。旧
記号os0からosn-1が、コンテキスト抽出器1から論
理装置(排他的論理和(XOR))の配列90の入力に
供給される。配列90の装置はまた、適切な手段91に
より供給される任意記号を受信する。配列90は、表1
の中央欄において、旧記号と任意記号とを排他的論理和
することにより論理テストを実施し、旧記号が任意記号
に一致するか否かを確認する。装置の出力は表1の中央
欄に従い、一致又は不一致を表すデータ又は信号とな
る。
【0067】更に入力される新記号を受信し、それを任
意記号と比較する論理装置92が提供される。装置92
もまたXORゲートで示される。装置90の出力及び装
置92の出力を受信する論理装置の配列93が更に追加
される。区間単位で、配列93は表1の4つの条件のど
れが発生したかを判断する。表1の右欄から理解される
ように、装置92によるテスト結果及び装置90の1個
が一致すると(すなわちケース1及びケース4)、確率
変化は0となる。これは直観的にも理解される。なぜな
ら任意の区間において、新記号と旧記号の両者が任意記
号に一致するか、或いは両者共に一致しない場合、その
区間における任意記号の発生回数は変化しないからであ
る。結果的に、任意記号の発生の確率は変化しない。
【0068】図において、前述のXORゲートは都合に
応じて、ハイ真理(high-true) 或いはロウ真理(low-
true)の出力を有するように示される。各出力の適切な
論理位相の詳細な説明はここでは省くことにする。しか
しながら、当業者には容易に理解されるように、本発明
による確率予測器の特定の実施例では、適切なハイ真理
出力又はロウ真理出力を提供する論理設計が要求され
る。当業者においては、不要な実験を要せずに、こうし
た設計に対応することが可能であろう。
【0069】論理装置93(XORゲート)は確率分散
の絶対値を反映する出力を生成する。表1から、XOR
ゲートは第2及び第3のケースでは第1の値の出力を生
成し、第1及び第4のケースでは第2の値の出力を生成
する。結果は2進数形式でテンポラリ・レジスタ105
に記憶される。2進数のそれぞれのビット位置は、それ
ぞれの区間の重み係数として機能する。テンポラリ・レ
ジスタ105は到来する新記号(ns)、及び記号コン
テキスト抽出器101に記憶される複数の各ネスト化区
間の最終位置を離脱する旧記号os(k) に対して実行さ
れるXORオペレーションの結果を記憶する。
【0070】結果の2進数をレジスタ104に記憶され
る確率値に加算する、或いはそこから減算する加算器/
減算器106が提供される。表1の第2及び第3のケー
スによれば、加算又は減算は新記号が任意記号に一致す
るか否かにもとづいて実行される。
【0071】XORゲート92の出力は、加算器/減算
器106に制御信号を供給する。加算器/減算器106
はこの信号にもとづき加算又は減算を実行する。新記号
nsが任意記号に一致する場合、テンポラリ・レジスタ
105の内容が確率レジスタ104の内容に加算され、
続く区間における任意記号の確率(ps(t+1))が
好適に予測される。新記号nsが任意記号に一致しない
場合、テンポラリ・レジスタ105の内容が確率レジス
タ104の内容から減算され、続く区間における任意記
号の確率(ps(t+1)) が好適に予測される。
【0072】式(5)及び式(6)の組合わせは、XO
Rオペレーションにより数学的又は論理的に表現される
任意記号の分散を表現する。各離脱する旧記号の増分分
散(式(6)から求まる)は、0(離脱する旧記号の値
が任意記号に等しくない)又は1(旧記号の値が任意記
号の値に等しい)である。更に、到来する新記号の分散
(式(5))は、各位置において0(新記号の値が任意
記号に等しくない)か、各位置において1(新記号の値
が任意記号の値に等しい)である。0の場合、旧記号の
増分分散値が確率予測から減算される。1の場合、対応
する離脱する旧記号の値が任意記号に相当しなければ、
新記号の増分分散値が確率予測に加算される。任意記号
に相当する場合には、到来する新記号及び離脱する旧記
号の作用は相殺される。
【0073】図3に示される確率予測器は、表1及び式
(5)及び式(6)の一般的な実施例である。ハードウ
ェアの実施例が示されているが、ソフトウェアによる実
施例についても使用可能なことが理解されよう。ソフト
ウェア実施例は、旧記号及び新記号を提供する手段、任
意の確率予測器に関連する任意の記号を記憶する手段、
記号の比較を実行する手段、及び結果の確率分散を記憶
される確率に加算或いはそれから減算する手段を含む。
【0074】示される論理装置は、2進アルファベット
の記号ストリームに対し作用するシステムを示す。n配
列のアルファベットが使用される場合、記号間の比較は
実質的に同様に実施されるが、示されるXORゲートは
n配列のアルファベットの特定の性質に従う装置により
置換される。例えば、ASCII記号のビット表現の記
号ストリームが使用される場合、例えば2入力XORゲ
ートの配列を使用することにより、記号はビット単位で
比較される。記号が一致するかどうかの全体的な判断を
生成するために、これらのXORゲートの出力が一緒に
論理和(OR)される。OR機能の出力は記号が一致す
る場合には0となり、一致しない場合は1となる。
【0075】2進記号アルファベットすなわち2個の記
号だけのアルファベットの特定のケースでは、図3の確
率予測器は図4に示すように単純化される。単純化は表
1の第4のケースに起因する。アルファベット内に2個
の記号だけしか存在しないため、新記号も旧記号も任意
記号に一致しない場合には、旧記号と新記号とが互いに
一致することになる。従って、確率分散の絶対値を決定
するために、論理テストは旧記号と新記号との一致確認
だけに減る。両者が任意記号に一致するかどうかに無関
係に、互いに一致する場合は、区間における任意記号の
発生回数は変化せず、確率分散は0となる。新記号及び
旧記号が一致しない場合には、新記号又は旧記号の一方
が任意記号に等しく、他方が等しくない。この場合、結
果的にその区間における任意記号の発生回数は変化しな
ければならない。従って確率分散は非ゼロの絶対値を有
する。
【0076】図4を参照すると、論理装置97の配列が
提供され、コンテキスト抽出器1の種々の区間から旧シ
ンボルを受信し、それらの旧記号が任意記号に一致する
かをテストする。装置97は排他的論理和(XOR)ゲ
ートとして示される。
【0077】各確率予測器はコンテキスト抽出器1の各
区間に対応して、1個のXORゲートを含む。配列97
のXORゲートは第1の入力として新記号を受信し、第
2の入力として任意記号を受信する。図3のケースと同
様、ハード配線又はレジスタ内記憶などにより、任意記
号が適切に供給される。
【0078】結果はテンポラリ・レジスタ105に2進
数形式で記憶される。2進数のそれぞれのビット位置
は、それぞれの区間における重み係数として作用する。
テンポラリ・レジスタ105は到来する新記号(n
s)、及び記号コンテキスト抽出器101に記憶される
複数の各ネスト化区間の最終位置を離脱する旧記号os
(k)に対して実行されるXOR演算結果を記憶する。
【0079】結果の2進数を、レジスタ104に記憶さ
れる確率値に加算或いはそれから減算するために、加算
器/減算器106が再度提供される。表1の第2及び第
3のケースによれば、新記号が任意記号に一致するかど
うかにもとづき、加算又は減算が実行される。
【0080】新記号を受信し、それをこの確率発生器の
任意記号と比較し、一致又は不一致を示す出力信号を提
供するために、XOR装置107が再度提供される。加
算器/減算器106はこの信号を制御信号として受信
し、その値にもとづき加算又は減算を実行する。新記号
nsが任意記号に一致する場合、テンポラリ・レジスタ
105の内容が確率レジスタ104の内容に追加され、
続く区間における任意記号の確率(ps(t+1)) が
好適に予測される。新記号nsが任意記号に一致しない
場合、テンポラリ・レジスタ105の内容が確率レジス
タ105の内容から減算され、続く区間における任意記
号の確率(ps(t+1)) が好適に予測される。
【0081】初期確率、新記号、旧記号、及び更新確率
の間の関係は、例を提示することにより最も分かり易く
説明される。説明のために、2進記号アルファベットを
使用するシステムが示される。しかしながら、相関は2
進アルファベットに特定されるものではなく、有限のア
ルファベットに拡張される。
【0082】図5(A)乃至(E)は、図4の確率予測
器のオペレーションを示す5つのスナップショットであ
る。上述のように、示される確率予測器は特定の任意記
号に関連する。説明の都合上、データ・ストリームが2
進アルファベットを表す1と0のストリームとして示さ
れている。以降で述べられるように、本発明はn配列記
号のアルファベットに適用可能である。こうした別の実
施例では、表される2進記号ストリームは、n配列デー
タ・ストリームの記号と、表される確率予測器に関連す
る任意記号との論理一致チェックの結果に相当する。例
えば1が一致を示し、0が不一致を示す。こうした別の
実施例では、XOR装置などの適切なチェック回路が提
供される。次に図示のように、1と0のストリームが確
率予測器に提供される。
【0083】図5(A)乃至(E)の5つの各スナップ
ショットにおいて、記号ストリームは左側に到来し、左
から右に移動する。コンテキスト抽出器1の内容が各ス
ナップショットにおいて右にシフトし、入力値がコンテ
ント抽出器の左側から1つずつ入力される。
【0084】図5(A)は記号ストリングの例を示し、
記号コンテント抽出器1に提供される最も最近の8個の
記号発生を表す。記号コンテキスト抽出器1はまた4個
のネスト化区間のセットを提供する。上述の区間の特性
によれば、区間長は2の整数乗である。例では、区間長
は1(最左端記号)、2(最左端の2個の記号)、4
(最左端の4個の記号)、及び8(図示の8個の全記
号)である。更に、区間数4は2の整数乗である。
【0085】図5(A)は確率レジスタ104に記憶さ
れる初期確率を示す。説明の都合上、初期確率はこれま
でに受信した記号シーケンスを基礎として、そのオペレ
ーションの間にシステムが獲得した確率に由来する。
【0086】しかしながら、システムが丁度起動したば
かりでまだ記号を受信していない場合、初期確率は式
(4)に従う記号発生の基本度数に由来する。従って、
図5(A)において、任意記号(1)の初期確率は次の
ようになる。
【数10】 p(1)=1/4(0/1+1/2+3/4+5/8)=15/32 (7)
【0087】図5(A)はまたテンポラリ・レジスタ1
05を示し、これは記号コンテキスト抽出器1に入力さ
れる新記号の値と、k個の各ネスト化区間の最終位置を
離脱するそれぞれの旧記号の値os(k) とのXOR比較
結果の内容を提供する。
【0088】確率予測器のオペレーションは次のようで
ある。コンテキスト抽出器1内の4個の各区間の旧記号
が、入力される新記号とXORされる。この新記号は各
区間の最新の記号である。XOR演算は、(i)不一致
記号が区間からシフト出力され、不一致記号がシフト入
力される時、或いは(ii)一致記号がシフト出力さ
れ、一致希望がシフト入力される時に、任意の区間にお
いて0結果を有することが分かる。どちらの場合にも、
その区間における確率分散は0である。一方、XOR演
算は、(iii)不一致記号がシフト出力され、一致記
号がシフト入力される時、或いは(iv)一致記号がシ
フト出力され、不一致記号がシフト入力される時、1の
結果を有する。ケース(iii)では、確率分散はその
区間において増加し、ケース(iv)では減少する。X
OR演算の非ゼロの結果が適切に確率に加算又は減算さ
れる。
【0089】XOR演算結果は2進数として、テンポラ
リ・レジスタ105に記憶される。この2進数は入力さ
れる記号の値によって、確率レジスタ104内の現在の
確率に加算又はそこから減算される。レジスタ104は
第1ビットに続いて暗黙的2進小数点を有し、この例に
おける最大確率値が1.0である事実を反映する。
【0090】表される例では2進数が生成されるが、他
の実施例では、2以外の任意の基数を有する数が使用さ
れる。こうした別の実施例では、桁(使用される特定の
数体系の基数による)がそれぞれの区間に対応する。ま
た示される2進数字は、2の整数乗の逆数に相当する重
み係数を反映するが、これらの他の実施例では、それぞ
れの重み係数は基数の整数乗の逆数に相当する。
【0091】最も古い記号が任意記号でない場合、区間
における任意記号の数は増加し、その区間における確率
が増加する。従って、現在の確率に加算されるテンポラ
リ・レジスタ105の値は、各区間に対応して1ビット
を含み、各区間において任意記号に一致しない記号がシ
フト出力される。こうした記号は区間に従うビット位置
により重み付けされる。
【0092】図5(B)は、確率予測器の任意記号に一
致しない新記号nsの到来時における、記号コンテキス
ト抽出器1の内容、及び確率レジスタ104の内容を示
す。確率は上記式(7)に調和して、次のように更新さ
れる。
【数11】 p(1)=1/4(0/1+0/2+2/4+4/8)=8/32 (7)
【0093】このように本発明は、各ネスト化区間に入
力される新記号の値及び各ネスト化区間の最終位置を離
脱する旧記号の値と同様に、記号コンテキスト抽出器1
の特性関係を利用する。確率が新記号の到来時に更新さ
れ、これは最初に新記号の値を各ネスト化区間を離脱す
る旧記号と比較することにより達成される。本発明によ
れば、この比較はXOR演算に従い、結果が初期確率に
加算或いはそれから減算される。到来する新記号の値が
任意記号に等しい場合、テンポラリ・レジスタの内容が
初期確率に加算される。到来する新記号の値が任意記号
に等しくない場合、テンポラリ・レジスタの内容が初期
確率から減算される。
【0094】このように例では、図5(A)のテンポラ
リ・レジスタは到来する新記号nsと、複数の各ネスト
化区間を離脱する旧記号とのXOR演算の結果を提供す
る。到来する新記号の値(0)が任意記号の値(1)に
等しくない場合、テンポラリ・レジスタの内容が初期レ
ジスタ104の内容から減算される。演算の実行により
次の結果が生じる。
【数12】
【0095】結果の値が上記式(8)の確率予測に一致
することが分かる。
【0096】図5(C)は、到来する新記号の値が任意
記号の値に等しい場合を表す。前述のように、遷移時に
おける確率は次のように予測される。
【数13】 p(1)=1/4(1/1+1/2+2/4+5/8)=21/32 (9)
【0097】テンポラリ・レジスタの内容は、到来する
新記号の値とネスト化区間のセットの各々の最終位置を
離脱する旧記号の値との関係を反映するように、再度更
新される。到来する新記号の値(1)が任意記号の値
(1)に等しいと、テンポラリ・レジスタの内容が確率
レジスタ(104)の内容に加算される。演算の実行に
より、次の結果が生じる。
【数14】
【0098】結果の値はここでも上記式(9)の確率予
測に一致する。
【0099】図5(D)は到来する新記号の値が再度任
意記号の値に等しい場合を表す。前述のように、遷移時
における確率は次のように予測される。
【数15】 p(1)=1/4(1/1+2/2+2/4+5/8)=25/32 (10)
【0100】この場合にも、テンポラリ・レジスタの内
容が到来する新記号の値と、ネスト化区間のセットの各
々の最終位置を離脱する旧記号の値との関係を反映する
ように、再度更新される。到来する新記号の値(1)が
任意記号の値(1)に等しいと、テンポラリ・レジスタ
(105)の内容が確率レジスタ(104)の内容に加
算される。演算の実行により、図5(E)に示される次
の結果が生じる。
【数16】
【0101】図1及び図2の実施例は、2進データ・ス
トリームの場合、或いはデータ・ストリームの各記号を
任意記号と比較し(XORなどによる)、各データ記号
が任意記号に一致したかどうかを示す2進値を生成する
適切な回路と組合わせて、好適に使用される。しかしな
がら、本発明はまたn配列記号の場合にも直接実施する
ことができる。
【0102】図6を参照すると、n配列記号ストリーム
の場合に使用される図1に類似のシステム・アーキテク
チャが開示される。このアーキテクチャはデータ・スト
リーム内のn配列記号に対応して、ビット単位で記号チ
ェックを実行する手段を提供するように拡張される。ス
トリームはシリアル又はパラレルであり、ヘッダ或いは
他のオーバヘッド情報を含む適切な通信プロトコルに従
う。データが適切な方法(本発明にとって本質的でな
い)でストリームから抽出され、そのようにして抽出さ
れたデータが次に図6のシステムに提供される。
【0103】コンテキスト抽出器201は図1のコンテ
キスト抽出器1に類似である。単純化のため、エンコー
ダ4は図6では省略されているが、実際には存在するも
のとして理解される。前述のように、コンテキスト抽出
器201は好適にはデータ・シフト・レジスタ又は循環
バッファである。コンテキスト抽出器201は複数の区
間を含む。図1の実施例と同様、区間が特定の特性を有
する場合には、計算効率が実現される。すなわち、各区
間が最も最近受信された記号を含み、且つ区間が好適に
は2の整数乗のサイズを有し、更に区間数が好適には2
の整数乗となるように、区間がネスト化される。
【0104】旧記号os(k) が提供される区間の終り
を識別するために、当業者には既知であるポインタ又は
データ・タップなどの適切な手段が提供される。従って
区間の終りはos(0)からos(m-1)とラベル化され
る。それぞれの区間は2(l0)個乃至2 (l(m-1))個の記号
を記憶するメモリ容量を含む。
【0105】コンテキスト抽出器内の記号、或いは記号
メモリ201は、1ビットより多くの2進コードによっ
て表現されるが、前述の実施例の場合と同一の基本的テ
ストが適用される。すなわち、新記号及び旧記号が比較
され、これらが一致しない場合には、確率分散が非ゼロ
の絶対値を有する。新記号は任意記号と比較され、新記
号が任意記号に等しい場合、非ゼロの確率分散が旧確率
に加算される。それ以外の場合には、旧確率から減産さ
れる。従ってXOR機能が単一ビット記号に対し単一の
XORゲートにより実行されるのではなく、マルチビッ
ト記号に対しビット単位で実行されることを除けば、本
質的に同一のXOR機能が実行されることが必要であ
る。
【0106】XOR演算は確率予測器内に存在する論理
手段により実行されることが理解されよう。こうした実
施例では、旧記号は区間の終りから確率予測器にバス転
送され、新記号は新記号入力から確率予測器にバス転送
され、任意記号はそれぞれの確率予測器において、ハー
ド配線又は適切なレジスタ記憶などの適切な方法により
使用可能となる。
【0107】しかしながら、n配列記号のアルファベッ
トに対応する本発明の実施例は、図6に示される追加要
素を含む。各区間の終りで、バス202が記号メモリ2
01に結合されて、記号を抽出する。バス202は図6
ではラインで示されているが、バス202がマルチビッ
ト記号を転送するのに好適な構成を有することが理解さ
れよう。例えば、バス202はパラレルであり、記号を
構成するビット数に相当する別々のリード線数を有す
る。
【0108】バス202は複数のセレクタ204に経路
指定され、これらのセレクタは旧記号及び新記号のXO
R演算をビット単位で実行し、結果のビットを一緒にO
Rして、旧記号及び新記号が一致するか否かを示す単一
のビットを生成する。セレクタ204の出力は確率予測
器203にバス転送される。確率予測器203はその大
部分が、図4の確率予測器に機能的に等価である。しか
しながら、セレクタ204内の論理は図4のゲート97
を含むが、ここでは省略されている。
【0109】n配列アルファベットでは、記号数は前述
の2進アルファベットにおける2個の記号より大きい可
能性があり、より多くの確率予測器203が提供される
ことが理解されよう。再度、図2に関連して示され説明
されたものと類似の減算器及び付随のハードウェアが提
供されない場合には、確率予測器203の数はアルファ
ベット内の記号数mに等しく、そうでない場合は、確率
予測器203の数は1減少されてn−1となる。
【0110】新記号は前述の実施例の場合と同様、コン
テキスト抽出器201の第1の位置に入力し、従って各
ネスト化区間に入力する。新記号はまた、実質的にデコ
ーダとして機能するセレクタ205にも入力する。セレ
クタ205は、それぞれがアルファベットの各記号に対
応するn個の出力を有し、これらはバス206を介して
それぞれの確率予測器203に接続される。セレクタ2
05は新記号がアルファベットのどの記号であるかを識
別し、その信号が任意記号であることを示すハイ論理信
号などの第1の状態の出力信号を確率予測器203に提
供する。セレクタ205は他の全ての確率予測器203
に対しては、ロウ論理信号などの第2の状態の出力信号
を提供する。図4の確率予測器のXORゲート107に
ついてもここでは省略されている。
【0111】図6と前述の実施例との構造的な相違を考
慮すると、確率予測器203は実質的に同様に動作し
て、確率分散を生成し、アルファベットの各記号に対応
して記憶される確率値を更新する。これらの確率は次に
記号ストリームを符号化するために、エンコーダ(図示
せず)に提供される。
【0112】本発明の実施例の前述の説明から、アルフ
ァベットの任意記号に対応する確率値は0から1に変化
することが理解される。任意文字がコンテキスト抽出器
1又は201の最大区間を充填するのに十分に大きな記
号ストリーム内に現れない場合、その文字に対応する確
率は0となる。一方、完全に任意文字から形成される繰
返しシーケンスが受信されて全コンテキスト抽出器1又
は201を充填する場合、確率は1となる。これらの状
態は式(1)(均等重み付け)又は式(2)(より最近
受信された記号に大きな重み付けをする)のいずれかに
対応して真である。
【0113】しかしながら、算術コーディングなどの特
定のアプリケーションでは、他の考慮のために、全ての
確率が正で、且つ1より小さいことが強要される。本発
明によれば、示された方法及び装置の変更により、全て
の確率が非ゼロ、且つ正である要求に対し、それらの精
度を大幅に低下することなく適合することが可能であ
る。
【0114】本発明の別の実施例では、こうした変更と
して区間内における少なくとも1記号が任意記号に相当
することを仮定することにより、少なくとも1区間内に
おける任意記号の確率を計算する方法が含まれる。これ
は記号ストリームにおける記号発生の計算確率と実際の
確率との間の不一致度を最小化するために、最大区間に
対して、或いは最小の重みを有する区間に対して、好適
に実施される。
【0115】これがアルファベットの各記号を含む区間
の、特定記号の位置を取り扱うことにより実施されるこ
とも好適である。すなわち、アルファベット内にn個の
記号が存在する場合、あたかもアルファベット内のn個
の記号の各々がn個の記号位置に含まれるかのように、
n個の記号位置が確保され取り扱われる。より多くの記
号位置がこのように使用されると、1個又は複数の記号
が複数の位置を有する。しかしながら、各記号を1つの
位置に限定すると、記号発生の計算による確率と実際の
確率との差が再度最小化される。使用される記号位置は
好適には最大区間内に収まるが、他の小さな区間の外に
配置されて、区間内の各記号に対して可能な最小の重み
を提供する。
【0116】図7は図6に類似のコンテキスト抽出器2
01を表す。説明の都合上、次に述べる条件が仮定され
る。コンテキスト抽出器201は32個の記号容量を有
する。データ・ストリームは3個の記号アルファベット
からの記号を含む。アルファベットを形成する記号は
a、b及びcである。データ・ストリームはコンテキス
ト抽出器201に左から入力する。説明のために6個の
区間が示されている。前述の説明により、区間は全て左
から開始する。本発明の態様によれば、最大区間を除
き、区間サイズは2の累乗に関連する。最大区間の最後
の3個の記号位置は、アルファベットの3個の記号の各
々の1つを含む。従って、入力記号のための32個の記
号位置の代わりに、最大区間は32−3=29の記号位
置を有する。しかしながら、記号確率計算は区間の32
個全ての記号位置に対して実施される。従って、記号の
1つがデータ・ストリーム内に現れない場合にも、その
記号に対応する確率は非ゼロで1より小さい正の値を有
する。
【0117】こうした構成が2の累乗に関連するm個の
区間を有するコンテキスト抽出器及びn記号アルファベ
ットにおいて使用される時、記号に対応して可能な最低
確率が0から
【数17】1/(m×2expl(m-1)
【0118】に増加する。また、任意記号に対応して可
能な最大確率は1から
【数18】1−(n−1)/(m×2expl(m-1)
【0119】に減少する。本発明の実施例はレジスタ、
論理ゲートなどのハードウェア要素に関連して説明され
たが、本発明がソフトウェアによっても実施可能なこと
が容易に理解されよう。確率値を保持するレジスタ及び
テンポラリ・レジスタは、アドレス可能コンピュータ・
メモリ・ロケーションなどのソフトウェア・アクセス可
能メモリ構造として容易に実施される。コンテキスト抽
出器が循環バッファとして実施される場合、これらは実
質的にソフトウェアにより制御されるポインタを使用し
てアクセスされるソフトウェア・データ構造である。そ
れとは別に、シフト・レジスタに等価なソフトウェア
が、当分野に携わるプログラマによって困難無く達成さ
れよう。ハードウェア論理ゲートにより実行されるよう
に説明された論理演算についても、適切なソフトウェア
演算により実行可能である。このように本発明の方法
は、ハードウェアと同様、ソフトウェア、或いはハード
ウェアとソフトウェアの適切な組合わせにおいても実現
される。更に本発明は、プログラムされたフロッピー・
ディスク、メモリ・モジュールなどのコンピュータ・プ
ログラム製品においても実現され、これらはコンピュー
タ・システム又はデータ符号化システムにより使用され
る。こうした製品は、記録媒体及びその上に記録される
ソフトウェア手段を含み、これがコンピュータ・システ
ム又はデータ符号化システムに対し、前述の本発明の詳
細な説明に従うオペレーションを実行するように命令す
る。
【0120】
【発明の効果】以上説明したように、本発明によれば、
データ圧縮及び符号化において、過去の記号発生の傾向
にもとづき記号発生確率を確立することにより、改良さ
れたデータ圧縮を可能とする、適応型の記号発生確率の
決定方法及びシステムが提供される。
【図面の簡単な説明】
【図1】本発明の第1の実施例による2進アルファベッ
トの確率予測器のブロック図である。
【図2】本発明の別の実施例による2進アルファベット
の確率予測器のブロック図である。
【図3】本発明の実施例による図1及び図2の確率予測
器の一部の詳細図である。
【図4】本発明の実施例による図1及び図2の確率予測
器の一部の詳細図である。
【図5】任意記号に一致する記号及び一致しない記号を
含む記号ストリームの受信時における、2進アルファベ
ットの任意記号に対する図4の確率予測器の動作を示す
スナップショット図である。
【図6】本発明の別の実施例によるn配列アルファベッ
トに対する確率予測器のブロック図である。
【図7】本発明の別の実施例によるコンテキスト抽出器
を表す図である。
【符号の説明】
1、201 コンテキスト抽出器 2、3 確率発生器 4 算術エンコーダ・ユニット 97 ゲート 104 確率レジスタ 105 テンポラリ・レジスタ 106 加算器/減算器 107 XOR装置 203 確率予測器 204、205 セレクタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ヨルマ・ヨハネス・リサネン アメリカ合衆国95032、カリフォルニア 州ロス・ガトス、テレシタ・ウェイ 140

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】有限アルファベットの任意記号が該有限ア
    ルファベットの記号の記号ストリング内で発生する確率
    を予測する方法であって、 記憶媒体に保持される以前に発生した記号の発生に対
    し、より最近発生した記号に対してより大きな重み付け
    をするステップと、 上記任意記号の重み付けされた以前の発生にもとづき、
    次に発生する記号が上記任意記号である確率を計算する
    ステップと、 を含む方法。
  2. 【請求項2】上記重み付けステップが、上記記憶媒体内
    に複数の区間を定義するステップ、上記複数の各区間に
    おけるそれぞれの発生回数を有する上記任意記号、及び
    以前に発生した記号を含む上記区間の数によって重み付
    けされる上記以前に発生した記号、を含む請求項1記載
    の方法。
  3. 【請求項3】上記計算ステップが、上記複数の区間にお
    ける上記任意記号の上記それぞれの発生回数にもとづき
    確率を計算するステップを含む、請求項2記載の方法。
  4. 【請求項4】初期に確率を計算し、記憶するステップを
    含み、 上記計算ステップが、 (i)確率の変化を計算するステップと、 (ii)上記確率の変化に従い上記記憶される確率を変
    更するステップと、 を含む、請求項3記載の方法。
  5. 【請求項5】有限アルファベットの任意記号が該有限ア
    ルファベットの記号の記号ストリング内で発生する確率
    を予測する装置であって、 以前に発生した記号を記憶する手段と、 記憶される記号に対し、より最近発生した記号ほどより
    大きな重み係数により重み付けする手段と、 任意記号の重み付けされた以前の発生にもとづき、次に
    発生する記号が上記任意記号である確率を計算する手段
    と、 を含む装置。
  6. 【請求項6】上記重み付け手段が、上記記憶手段内に複
    数の区間を定義する手段、上記複数の各区間におけるそ
    れぞれの発生回数を有する上記任意記号、及び以前に発
    生した記号を含む上記区間の数によって重み付けされる
    上記以前に発生した記号、を含む請求項4記載の装置。
  7. 【請求項7】上記計算手段が、上記複数の区間における
    上記任意記号の上記それぞれの発生回数にもとづき確率
    を計算する手段を含む、請求項5記載の装置。
  8. 【請求項8】ストリングにおける記号の発生頻度に従
    い、複数の記号を含む有限アルファベットからの記号の
    ストリングを適応型に予測して符号化するデータ符号化
    システムであって、 上記ストリングの各連続的記号を新記号として受信する
    ための入力、複数の区間、及び該複数の各区間の連続的
    最終記号をそれぞれの旧記号として提供する上記複数の
    各区間に対応する出力を有する、符号化された上記記号
    ストリングを受信するコンテキスト抽出器と、 各々が有限アルファベットの複数の記号の任意の記号に
    対応する確率予測器であって、新記号及び旧記号を受信
    して、該新記号が上記任意記号に一致するか否か、並び
    にそれぞれの旧記号が上記任意記号に一致するか否かに
    もとづき、対応する上記任意記号の発生確率値を更新す
    る回路を含む、複数の確率予測器と、 を含むシステム。
JP5267523A 1992-11-20 1993-10-26 有限アルファベットの任意記号の発生確率予測方法及び装置 Expired - Lifetime JP2549254B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/979,699 US5357250A (en) 1992-11-20 1992-11-20 Adaptive computation of symbol probabilities in n-ary strings
US979699 1992-11-20

Publications (2)

Publication Number Publication Date
JPH06222904A JPH06222904A (ja) 1994-08-12
JP2549254B2 true JP2549254B2 (ja) 1996-10-30

Family

ID=25527079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5267523A Expired - Lifetime JP2549254B2 (ja) 1992-11-20 1993-10-26 有限アルファベットの任意記号の発生確率予測方法及び装置

Country Status (2)

Country Link
US (1) US5357250A (ja)
JP (1) JP2549254B2 (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583500A (en) * 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
US5717394A (en) * 1993-02-10 1998-02-10 Ricoh Company Ltd. Method and apparatus for encoding and decoding data
JP3302210B2 (ja) * 1995-02-10 2002-07-15 富士通株式会社 データ符号化/復号化方法及び装置
US5710562A (en) * 1995-08-31 1998-01-20 Ricoh Company Ltd. Method and apparatus for compressing arbitrary data
JP3267504B2 (ja) * 1996-03-26 2002-03-18 富士通株式会社 データ圧縮装置およびデータ復元装置
DE69625345T2 (de) * 1996-07-15 2003-09-04 Koninkl Kpn Nv System mit Kodierungssektion, Kodierungsvorrichtung und Methode
EP0879465B1 (en) * 1996-11-07 2005-11-16 Koninklijke Philips Electronics N.V. Data processing of a bitstream signal
EP0855803B1 (en) * 1997-01-24 2000-01-19 Koninklijke KPN N.V. Method and system for compressing data based upon context tree algorithm
JP3367370B2 (ja) * 1997-03-14 2003-01-14 三菱電機株式会社 適応符号化方法
US5808572A (en) * 1997-05-22 1998-09-15 National Science Council Method and apparatus for finite-length arithmetic coding
DE69820264T2 (de) * 1997-07-09 2004-09-09 Quvis, Inc., Topeka Gerät und verfahren zur entropiekodierung
US6956973B1 (en) * 1997-09-30 2005-10-18 Texas Instruments Incorporated Image compression
US6819797B1 (en) * 1999-01-29 2004-11-16 International Business Machines Corporation Method and apparatus for classifying and querying temporal and spatial information in video
US20030185455A1 (en) * 1999-02-04 2003-10-02 Goertzen Kenbe D. Digital image processor
US20030142875A1 (en) * 1999-02-04 2003-07-31 Goertzen Kenbe D. Quality priority
US6756922B2 (en) * 2001-05-21 2004-06-29 International Business Machines Corporation Method and system for compression of a set of mostly similar strings allowing fast retrieval
US7366910B2 (en) * 2001-07-17 2008-04-29 The Boeing Company System and method for string filtering
US7460722B2 (en) * 2002-01-11 2008-12-02 Canon Kabushiki Kaisha Encoding of digital data with determination of sample path
FR2834832B1 (fr) * 2002-01-11 2005-05-20 Canon Kk Codage de donnees numeriques avec calcul d'histogramme
US7516050B2 (en) * 2005-03-09 2009-04-07 Poulin Christian D Defining the semantics of data through observation
US8171238B1 (en) 2007-07-05 2012-05-01 Silver Peak Systems, Inc. Identification of data stored in memory
US8392684B2 (en) 2005-08-12 2013-03-05 Silver Peak Systems, Inc. Data encryption in a network memory architecture for providing data based on local accessibility
US8095774B1 (en) 2007-07-05 2012-01-10 Silver Peak Systems, Inc. Pre-fetching data into a memory
US8811431B2 (en) 2008-11-20 2014-08-19 Silver Peak Systems, Inc. Systems and methods for compressing packet data
US8929402B1 (en) 2005-09-29 2015-01-06 Silver Peak Systems, Inc. Systems and methods for compressing packet data by predicting subsequent data
US8489562B1 (en) 2007-11-30 2013-07-16 Silver Peak Systems, Inc. Deferred data storage
KR20090005001A (ko) * 2006-04-21 2009-01-12 가부시끼가이샤 도시바 엔트로피 부호화 방법 및 장치와, 엔트로피 복호화 방법 및장치
US8755381B2 (en) 2006-08-02 2014-06-17 Silver Peak Systems, Inc. Data matching using flow based packet data storage
US8885632B2 (en) 2006-08-02 2014-11-11 Silver Peak Systems, Inc. Communications scheduler
US8160977B2 (en) * 2006-12-11 2012-04-17 Poulin Christian D Collaborative predictive model building
US8144037B2 (en) * 2007-07-12 2012-03-27 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US7990289B2 (en) * 2007-07-12 2011-08-02 Intellectual Ventures Fund 44 Llc Combinatorial coding/decoding for electrical computers and digital data processing systems
US8055085B2 (en) * 2007-07-12 2011-11-08 Intellectual Ventures Fund 44 Llc Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems
US8307115B1 (en) 2007-11-30 2012-11-06 Silver Peak Systems, Inc. Network memory mirroring
US20110023079A1 (en) * 2008-03-20 2011-01-27 Mark Alan Schultz System and method for processing priority transport stream data in real time in a multi-channel broadcast multimedia system
US8676865B2 (en) * 2008-05-20 2014-03-18 International Business Machines Corporation Adaptive lazy merging
US10164861B2 (en) 2015-12-28 2018-12-25 Silver Peak Systems, Inc. Dynamic monitoring and visualization for network health characteristics
US9717021B2 (en) 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay
US10805840B2 (en) 2008-07-03 2020-10-13 Silver Peak Systems, Inc. Data transmission via a virtual wide area network overlay
US8743683B1 (en) 2008-07-03 2014-06-03 Silver Peak Systems, Inc. Quality of service using multiple flows
US8561105B2 (en) * 2008-11-04 2013-10-15 Thomson Licensing System and method for a schedule shift function in a multi-channel broadcast multimedia system
EP2356815A1 (en) * 2008-11-07 2011-08-17 Thomson Licensing System and method for providing content stream filtering in a multi-channel broadcast multimedia system
EP2239852A1 (en) * 2009-04-09 2010-10-13 Thomson Licensing Method and device for encoding an input bit sequence and corresponding decoding method and device
US9094691B2 (en) * 2010-03-15 2015-07-28 Mediatek Singapore Pte. Ltd. Methods of utilizing tables adaptively updated for coding/decoding and related processing circuits thereof
WO2011128268A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
US9130991B2 (en) 2011-10-14 2015-09-08 Silver Peak Systems, Inc. Processing data packets in performance enhancing proxy (PEP) environment
US9626224B2 (en) 2011-11-03 2017-04-18 Silver Peak Systems, Inc. Optimizing available computing resources within a virtual environment
US9948496B1 (en) 2014-07-30 2018-04-17 Silver Peak Systems, Inc. Determining a transit appliance for data traffic to a software service
US9875344B1 (en) 2014-09-05 2018-01-23 Silver Peak Systems, Inc. Dynamic monitoring and authorization of an optimization device
US10432484B2 (en) 2016-06-13 2019-10-01 Silver Peak Systems, Inc. Aggregating select network traffic statistics
US9967056B1 (en) 2016-08-19 2018-05-08 Silver Peak Systems, Inc. Forward packet recovery with constrained overhead
US11044202B2 (en) 2017-02-06 2021-06-22 Silver Peak Systems, Inc. Multi-level learning for predicting and classifying traffic flows from first packet data
US10257082B2 (en) 2017-02-06 2019-04-09 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows
US10771394B2 (en) 2017-02-06 2020-09-08 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows on a first packet from DNS data
US10892978B2 (en) 2017-02-06 2021-01-12 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows from first packet data
US10735736B2 (en) * 2017-08-29 2020-08-04 Google Llc Selective mixing for entropy coding in video compression
US11212210B2 (en) 2017-09-21 2021-12-28 Silver Peak Systems, Inc. Selective route exporting using source type
US10637721B2 (en) 2018-03-12 2020-04-28 Silver Peak Systems, Inc. Detecting path break conditions while minimizing network overhead
US11296720B2 (en) * 2020-08-24 2022-04-05 Innogrit Technologies Co., Ltd. Data compression using reduced numbers of occurrences

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3769453A (en) * 1972-08-17 1973-10-30 Ibm Finite memory adaptive predictor
US4325085A (en) * 1980-06-09 1982-04-13 Digital Communications Corporation Method and apparatus for adaptive facsimile compression using a two dimensional maximum likelihood predictor
US4355306A (en) * 1981-01-30 1982-10-19 International Business Machines Corporation Dynamic stack data compression and decompression system
US4516246A (en) * 1982-02-26 1985-05-07 Prentice Corporation Data compression system
CA1203910A (en) * 1983-04-05 1986-04-29 Akira Hirano Method and apparatus for adaptive predictive encoding/decoding of multi-level picture signals
US4633490A (en) * 1984-03-15 1986-12-30 International Business Machines Corporation Symmetrical optimized adaptive data compression/transfer/decompression system
US4791403A (en) * 1985-12-04 1988-12-13 International Business Machines Corporation Log encoder/decorder system
US4933883A (en) * 1985-12-04 1990-06-12 International Business Machines Corporation Probability adaptation for arithmetic coders
US4935882A (en) * 1986-09-15 1990-06-19 International Business Machines Corporation Probability adaptation for arithmetic coders
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
US4905297A (en) * 1986-09-15 1990-02-27 International Business Machines Corporation Arithmetic coding encoder and decoder system
US4725885A (en) * 1986-12-22 1988-02-16 International Business Machines Corporation Adaptive graylevel image compression system
US4862167A (en) * 1987-02-24 1989-08-29 Hayes Microcomputer Products, Inc. Adaptive data compression method and apparatus
US4785356A (en) * 1987-04-24 1988-11-15 International Business Machines Corporation Apparatus and method of attenuating distortion introduced by a predictive coding image compressor
US5025258A (en) * 1989-06-01 1991-06-18 At&T Bell Laboratories Adaptive probability estimator for entropy encoding/decoding
US5023611A (en) * 1989-07-28 1991-06-11 At&T Bell Laboratories Entropy encoder/decoder including a context extractor
US4973961A (en) * 1990-02-12 1990-11-27 At&T Bell Laboratories Method and apparatus for carry-over control in arithmetic entropy coding

Also Published As

Publication number Publication date
JPH06222904A (ja) 1994-08-12
US5357250A (en) 1994-10-18

Similar Documents

Publication Publication Date Title
JP2549254B2 (ja) 有限アルファベットの任意記号の発生確率予測方法及び装置
EP0231736B1 (en) Method and apparatus for arithmetic compression coding of binary numbers
US4905297A (en) Arithmetic coding encoder and decoder system
US5045852A (en) Dynamic model selection during data compression
US5973630A (en) Data compression for use with a communications channel
EP0945988B1 (en) Arithmetic encoding/decoding and probability estimation method
DK176874B1 (da) Adaptiv kodningsfremgangsmåde
US4122440A (en) Method and means for arithmetic string coding
US7161507B2 (en) Fast, practically optimal entropy coding
JPH0117295B2 (ja)
EP0381078A2 (en) Coding method of image information
EP0021283A1 (en) Digital data apparatus
JPH0744462B2 (ja) 圧縮符号化方法及び復号方法
JPH0834434B2 (ja) 符号化装置及び符号化方法
JPH0358574A (ja) 網点画像データ圧縮装置
JP3684128B2 (ja) 算術符号化/復号化方法ならびに算術符号化/復号化装置
EP0260461B1 (en) Arithmetic coding encoding and decoding method
CN113467949B (zh) 边缘计算环境下用于分布式dnn训练的梯度压缩方法
US6292115B1 (en) Data compression for use with a communications channel
Boo et al. A VLSI architecture for arithmetic coding of multilevel images
Feygin et al. Minimizing error and VLSI complexity in the multiplication free approximation of arithmetic coding
JPH11103257A (ja) 算術符号化復号化装置
JP3018990B2 (ja) 算術符号化装置
US5886911A (en) Fast calculation method and its hardware apparatus using a linear interpolation operation
EP0047382A2 (en) Adaptive compression encoding of a binary-source symbol string