JPS6345131B2 - - Google Patents

Info

Publication number
JPS6345131B2
JPS6345131B2 JP18009282A JP18009282A JPS6345131B2 JP S6345131 B2 JPS6345131 B2 JP S6345131B2 JP 18009282 A JP18009282 A JP 18009282A JP 18009282 A JP18009282 A JP 18009282A JP S6345131 B2 JPS6345131 B2 JP S6345131B2
Authority
JP
Japan
Prior art keywords
symbol
symbols
state
source
determined
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
Application number
JP18009282A
Other languages
English (en)
Other versions
JPS5885629A (ja
Inventor
Jooji Rangudon Junia Guren
Yohanesu Risanen Yoruma
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 JPS5885629A publication Critical patent/JPS5885629A/ja
Publication of JPS6345131B2 publication Critical patent/JPS6345131B2/ja
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • 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/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory

Landscapes

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

Description

【発明の詳細な説明】 〔技術分野〕 本発明は圧縮を効率よく行なうための記号源の
適応モデル化に係る。
〔背景技術〕
1981年6月に刊行されたIEEE Transactions
on Communicationsの第29巻第6号に掲載され
ているLangdon及びRissanenの論文
“Compression of Black―White Images With
Arithmetic Coding”には、モデル及び符号ユニ
ツトを別々に備えた圧縮システムが紹介されてい
る。モデルは記号源の統計的性質を近似するもの
である。各記号はモデル及び符号ユニツトへ同時
に供給される。符号ユニツトは、モデルによる条
件付けに従つて、後続の1以上の記号を符号化す
る。
モデルは有限状態機械(以下FSMと略称)に
よつて構成され、それに記号源の統計が与えられ
る。符号ユニツトもFSMである。モデル及び符
号ユニツトは或る符号関数を実現させる。ここで
云う符号関数とは、源アルフアベツトにおける各
ストリング(源ストリング)を符号アルフアベツ
トにおける対応するストリング(符号ストリン
グ)へ写像するものである。計算が複雑にならな
いようにするため、源ストリングが長い場合に
は、符号ストリングへの写像は単一のステツプで
は完了されない。殆んどの符号関数は、瞬間関数
値、源記号及び他の属性によつて次の関数値が決
まるという点で帰納的(recursive)である。一
般に、符号関数は源ストリングの連続する各記号
に対して左から右に一連の演算を遂行することに
よつて実現される。ただし、物理的に実現可能な
らしめるため、帰納的関数は有限記憶をもつもの
が選ばれる。
符号操作及び復号操作は共にFSMで遂行され
る。FSMは、符号操作又は復号操作の各演算の
度に、入力を受取り、出力を与え、そしてその内
部状態を変える。符号器は源ストリング中の記号
を1つずつ受取り、それらに対し可逆変換を行な
つて符号ストリングを生成する。モデル及び符号
器は別々のFSMであるから、モデルの状態は符
号器の状態から区別できる。
無損失のデータ圧縮システムを設計する場合、
まず源がモデル化され、次いでこのモデル化され
た源に対して符号が案出される。例えば、8ビツ
トの2値記号即ち「バイト」によつてストリング
が構成される普通のアルフアベツトを考えてみ
る。どのようなシーケンスであつても、256種類
(28=256)の記号がすべて現われることはめつた
にない。記号源の性質にもよるが、普通は40乃至
80個の少数の記号が現われるだけである。従つ
て、内部状態及びメモリ・サイズを節約すること
ができる。
源記号の生起確率が前に生じた源記号と全く無
関係であるような源は0次マルコフ源(記憶のな
い源)と呼ばれる。しかしながら記憶のない源は
まれであり、記号間に何らかの関係があることが
多い。これは条件付きの事象及び確率によつて表
わされる。より一般的な情報源として、n個の区
別可能な記号を持ち、各記号の生起が先行するm
個の記号によつて影響を受けるものを考える。こ
のような源はm次マルコフ源と呼ばれ、或る記号
が生起する条件付き確率はm個の先行記号によつ
て決まる。従つて、m次マルコフ源においては、
m個の先行記号がそのときの源の状態を定めるこ
とになる。生起し得る記号の数をqとすると、m
次マルコフ源はqm種類の状態を持つている。例
えばq=256、m=2とすると、状態の数は65536
に達する。従つて、高次マルコフ源のモデル化は
実際には殆んど不可能であることがわかる。
前述の論文に開示されているモデル化によれ
ば、「文脈」が識別される。文脈は、現ペルが与
えられると、符号化されるべき次のペルの条件付
き確率分布を識別する。文脈或いは条件付けクラ
スという概念は「状態」を一般化したものであ
る。いずれにしても、分布を決定する実際の統計
量や計数値は入力ペル・ストリームから導出され
る。記号源の条件付けクラス或いは文脈について
は固定されたモデルが使用され、1つのデータ・
パス内の各文脈における条件付き確率分布につい
ては適応モデル化が行なわれる。
1次マルコフ・モデルの取扱いには様々な方法
がある。例えば1974年11月26日付のIBM Report
RC5150に掲載されているMommens及びRaviv
の“Coding For Data Compaction”によれば、
1次マルコフ・モデルを用いることによつて、1
つの高次文字ストリームが複数の低次文字ストリ
ームへ分解される。これには複数のパスが含まれ
る。最初のパスは、記号ストリームの最初の完全
1次マルコフ・モデルの条件付き確率を得るため
のものである。状態数は、ほぼ等しい条件付き確
率分布を持つた同値類を作成することによつて減
らされる。次いで、各同値類について圧縮符号が
生成される。圧縮符号を記号に割当てるためには
2番目のパスが必要である。米国特許第4099257
号には、固定された部分1次マルコフ・モデルを
用いて、文字を文脈的に符号化する技術が開示さ
れている。例えば、文字“t”が常に小文字であ
る場合、その先行記号がピリオド“.”であれば、
それは大文字として符号化される。
〔本発明の概要〕
文脈或いは条件付けクラスの数を増やせば、源
記号の統計に対するモデルの忠実度を向上させら
れることは知られていたが、本発明者は、2レベ
ルの適応モデルが記号源の完全1次マルコフ・モ
デルを十分に近似し得ることを見出した。第1レ
ベルでは、条件付け文脈自体が適応方式で生成さ
れる。第2レベルでは、選択された各条件付け文
脈について、ストリングの符号化時に記号統計が
適応方式で決定される。予め定められている特徴
は、条件付け状態の最大数だけである。各状態は
次記号のための確率分布に対応する。この確率分
布は当該状態にのみ依存している。状態の選択
は、次のようにして1つのパスで行なわれる。ま
ず、条件付けを目的として、すべての記号が単一
の「団塊」状態に割当てられ、次いで選択基準を
満たすことの結果として、生起頻度の高い記号又
はそのストリングが付加的な条件付け状態として
加えられる。或る状態が作り出されると直ちに、
条件付け状態に従属する確率分布を決定するため
の第2の適応プロセスを開始することができる。
状態従属確率のインデイケータは必要なときに符
号ユニツトへ送られる。
より具体的に云うと、本発明はデータ圧縮のた
めに予め選択された最大数の状態を用いて、高次
マルコフ源の適応モデル化を行なう。その際のス
テツプとして、(1)予め選択された回数Mだけ生じ
る最初のk−1個の記号が確定され(パラメータ
kはアルフアベツト・サイズNを超えない)、(2)
k−1個の異なつた記号及び団塊状態によつて形
成されるk個の状態の各々が次記号と対にされ且
つそれに関連する条件付き確率分布が決定され、
そして(3)この分布を表わすパラメータが外部の圧
縮符号化プロセスに与えられる。
明らかに、本発明に従う二重適応は、完全1次
モデルで必要な記憶よりも少ない記憶で、単一パ
ス圧縮及び部分1次モデル化を可能にする。もし
N個の記号の1次モデルがN×N個の確率を保持
できる大きさのテーブルを必要とするのであれ
ば、本発明はk×Nしか必要としない。例えば、
各記号が8ビツト(1バイト)である源は256種
類の記号を発生し得るが、区別可能な記号を49種
類しか持つていなければN=256、k=50となり、
従つてk×Nは12800であるが、N×nは65536に
達する。
具体的に説明しよう。なお、以下において、状
態aiの下で記号ajが発生する、つまり記号aiに続
いて記号ajが発生する条件付き確率分布をP(ai
|aj)と表わすことにする。
今、記号al、……、aNが発生し得るとしそのう
ち最初にal、……ak-1の各々が発生頻度の高いも
のとして確定されたとする。この場合、状態al
……、ak-1がそれぞれ設定され、確率分布{P
(al|al)、……、P(al|aN)}、……、{P(ak-1

al)、……、P(ak-1|aN)}が決定されて符号化
手段に渡される。一方、記号ak、……、aNには共
通した1個の状態(以下、状態xと記す)が割り
当てられる。そして、確率分布{P(x|al)、…
…、P(x|aN)}が決定されて符号化手段に渡さ
れる。つまり、P(ak|al)、P(ak+1|al)、……、
P(aN|al)は一まとめにして扱われ、akに続くal
とaNに続くalの両方について同様の符号化が行わ
れることになる。
このような構成により、モデル化に当たつては
k×N個の確率を保持しておけばよく、記憶域の
節約につながる。もちろん、P(ak|al)とP(aN
|al)は厳密には違うが、akやaNに続いてalが発
生する確率は小さいわけだから、akやaNに続くal
に関して最適な符号が割り当てられなくても、効
率はさほど低下しない。したがつて、本発明の効
果は、1次マルコフ源とみなし得る記号源から記
号を受け取る圧縮符号化システムにおいて、圧縮
効率を維持しつつ、条件付き記号確率分布保持用
の記憶域のサイズを従来よりも小さく済ませるこ
とにある。
本発明の特長は、kの値を固定し、k−1個の
「最も有用な」文字を見つけてそれらを状態(文
脈)として働かせることにある。k番目の状態
は、残りすべての文字が一固まりになつている状
態(団塊状態)である。あとで説明する特殊なラ
ン状態のために、幾つかの付加的な状態を利用し
てもよい。
或る状態が「有用」であるというためには、そ
の状態は頻繁に生起しなければならず、更に次記
号のための“スキユーされた”条件付き確率分布
を持つていなければならない。この後者の要求
は、次記号に対して低い条件付きエントロピーを
与える。これら2つの要求は競合するかも知れな
いが、実験によれば、1次マルコフ・モデルを用
いて圧縮を行える場合には、最も頻繁に生じる記
号はまた低い条件付きエントロピーを持つ傾向が
ある。
「記号」及び「状態」という用語は幾つかの意
味で使用される。まず記号はモデルの状態を選択
する。少なくとも記号は団塊状態の一員である。
次に、記号は符号化目的物である。記号のこの役
割を表わすため、「次」記号という用語を使用す
ることがある。また、選択された記号によつて決
まる状態において記号が生起する、ともいう。
〔実施例の説明〕
A 理論的考察 モデルは構造及び1組の確率パラメータから
成る。構造は有限個の文脈によつて定義され
る。アルフアベツトSにおける記号のすべての
有限ストリングs=x(1)、x(2)……の集合は文
脈或いは条件付けクラスへ分割される。「文脈」
という考え方は「状態」を一般化したものであ
る。各ストリングsをその文脈z=f(s)へ
写像する一般帰納的関数fが存在する。各文脈
zに関連する確率パラメータの集合を〔(i/
z)〕で表わすことにする。この集合に含まれ
る各確率パラメータは0以上の値を持つてお
り、それらを合計すると1になる。これらのパ
ラメータは集合的に「統計」と呼ばれる。文脈
z=f(s)が与えられると、ストリングsに
続く記号がiである条件付き確率P(i/f
(s))がモデル統計関数によつて割当てられ
る。文脈の集合、より正確には一般帰納的関数
(構造関数)fは、P(i/f(s))が文脈f
(s)及び記号iにのみ依存していれば、集合
〔P(i/z)〕と共に、定常モデルを定義する。
文脈zにおいて生じるストリングsの相次ぐ
記号をs〔z〕で表わす。適応関数アルフアは、
ストリングsにおける文脈zの過去の記号生起
に基いて条件付き確率P(i/z、s〔z〕)を
生成する。
適応統計:アルフア:(i、s、f(s))P
(i/z、s〔z〕) この定式化は2ステツプのプロセスである。
第1ステツプでは、各記号について文脈zを決
定するモデル構造関数fが評価される。第2ス
テツプでは、記号i及びその文脈における過去
の状態について条件付き確率P(i/z、s
〔z〕)を決定するモデル統計関数が評価され
る。モデル統計関数のための適応は先行ストリ
ングsからの情報を含む。殆んどの場合、アル
フアは記号の相対的生起頻度を決定するための
計数機構を含む。ストリングがビツト単位であ
れば、適応統計を二者択一式に変えてもよい。
上述の如き適応の定式化においては、各文脈
は独立記号源として扱われる。z以外の文脈に
生じた過去の記号は、zにおいて条件付けられ
る確率の割当てに影響を及ぼさない。
定常モデル及び適応統計モデルのいずれにお
いても、確率の総数k(n−1)はモデルの複
雑さを示す。kは文脈の数、nは区別可能な記
号の数である。明らかに、モデルの複雑さとい
うのは、符号ストリングが処理されるときに符
号器及び復号器が共にアクセスしなければなら
ない作業テーブルの大きさに関係する。この情
報は、各々がn−1個のワード(符号化パラメ
ータを含む)から成るk個のサブテーブルへ組
織化されるものと考えてよく、これまで考察し
てきた定常モデル及び適応モデルの複雑さは、
アルフアベツト及び文脈の集合の濃度に関係す
る。これは源記号ストリングから独立してい
る。構造関数fはFSM(有限状態機械)によつ
て実施され得る。その場合は、状態と文脈とを
区別するのが望ましい。しかしながら、モデル
の複雑さは、FSMの内部状態の数より少ない
こともある条件付け文脈の数に依存する。
B 文脈の適応 以前は、適応というのは常に条件付き確率P
(i/z、s〔z〕)の推定に限られていた。こ
れは統計関数の一般化と考えられる。
各記号が1バイト幅である源記号アルフアベ
ツトの1次マルコフ・モデルは256種類の条件
付け状態を持つている。任意のストリングに生
じ得る文脈の数kはk<256に制限される。云
い換えれば、kはモデル構造関数fの範囲の濃
度である。ストリングが符号化されるときに、
最大k個の「最良」文脈を決定することができ
る。これは、モデルの実質的な複雑さがk(n
−1)であることを意味する。完全1次マルコ
フ・モデルの場合はn(n−1)である。
バイトの各値は、深さが8の完全に平衡化さ
れた2進樹における葉と考えることができる。
各バイト値に対し、根から対応する葉に至る一
意的な経路が存在する。i番目のビツトの値は
i番目の「枝」を選択する。所与のバイトによ
つて定められた経路を根のところからたどつて
いけば、各々の内部節を通過するときに対応す
る枝の計数値の保持及び更新が可能である。
FSMを構成するため、内部節は状態に対応さ
せられる。1975年にAddison―Wesley社から
出版されたD.Knuthの“The Art of
Computer Programming”、Vol.1、
Fundamental Algorithms(第2版)に記載さ
れているように、或る節への経路はその節のア
ドレスを定め、その子アドレスは、一方の子に
ついて親アドレスを倍にし、他方の子について
倍の親アドレスを1だけ増すことによつて与え
られる。各ビツトの統計は、2つの成分から成
る連合文脈上で条件付けられる。第1の成分
は、文脈或いは条件付けクラスを表わす構造関
数fによつて決定される。各文脈zに対応する
ワード・サブテーブルが存在する。第2の成分
は、深さが8の2進樹の内部節である。節はバ
イト内のビツト位置及びそれまでのビツトの値
に一意的に対応する。かくして、2進事象が条
件付けられる総合文脈は、適応式に決定された
記号文脈z及び処理されているバイトの接頭部
から成る。
文脈上の各2進記号の統計を更新し維持する
ため、ストリング中の各2進記号について2つ
のカウントc(0/s)及びc(1/s)が生成
される。小さい方のカウントc(L/s)の値
を制御すると都合がよい。確率ゃ小さい記号を
Lで表わし、確率が大きい記号をL′で表わすこ
とにする。もし反対の記号L′が観測されると、
大きい方のカウントc(L′/s)が1だけ更新
されて、カウントc(L′/s・L′)が生成され
る。s・L′は、ストリングsに連結される記号
L′を意味する。小さい方のカウントは1のまま
である。もし次の記号がLであれば、c(L/
sL)は更新されない。その代り、この同じ比
はc(L′/sL)を半分にすることによつて得ら
れる。それによつてc(L′/sL)が1よりも小
さくなると、その値は1に丸められ、そして記
号L及びL′の役割が切替えられる。最後に、適
応統計関数アルフアは、大きい方のカウントc
(L′/s)をスキユー数K(s)としてまとめ
る。スキユー数はモデル・ユニツトの第2ステ
ージから出力されて符号器へ供給される整数の
制御パラメータである。これは、1981年4月に
発行されたIBM Technical Disclosure
Bulletin第23巻、第11号の第5112〜5114頁に掲
載されているHelman他の“Arithmetic
Compression Code Control Parameter
Approximation”に記載されている。スキユ
ー数はカウントc(L′/s)の対数に比例して
増加する。例えば、カウント1はスキユー数1
を与え、カウント2及び3はスキユー数2を与
え、カウント4、5、6及び7はスキユー数3
を与える。適応策は推定された比c(L/
s)/(c(L/s))+c(L′/S))を特別の
確率2-K(s)で近似し、符号化されるべき記号の
統計をスキユー(L(s)、K(s))の形で与え
る。
C ラン・モード 記号が繰返すか否かの事象を記述するため単
一スキユーを用いてランを符号化する場合に
は、そのための文脈を定義する必要がある。或
る記号が連続してr回生じたときにはラン・モ
ードを定めてよい。rの代表的な値は3であ
る。符号化された最後の3つの記号が同じ値を
持つているとラン・モードに入り、符号化され
る次の事象はランの「継続」又は「停止」を示
す。「継続」事象が符号化されると、最後のr
個の記号は同じ値を持つており、次の事象はラ
ン・モードのもとで生じる。カウントc(L′/
s)はその度に更新される。ラン・モードのた
めの符号化プロセスは、「停止」事象が符号化
されるまで、記号の各繰返しの間続けられる。
「停止」事象後は、ラン・カウントc(L′/s)
は半分にされ、次いで記号モードに入る。ラン
を停止させた記号は、前のラン記号の文脈のも
とで符号化される。
ラン・モードの入り方及び記号の各繰返しを
符号化する方法は前述のとおりであるが、ラ
ン・モードにおいては、カウントc(L′/s)
の場所を示す必要がある。例えば、符号化パラ
メータ・テーブルのアドレスが8ビツトであれ
ば、256個のワードが使用される。ただし、テ
ーブルのワード0は不使用でもよい。従つて、
各記号文脈のためのサブテーブルにおける予備
ワードをラン・モードに割当てることができ
る。そのため、記号モードにおいては、ワード
1から始まる255個のワードのうち内部節に対
応するワードがアドレス指定される。前に述べ
たアドレスを2倍にする技法は、2進樹の節を
下つていくのに用いられる。ラン・モードにお
いてはテーブルのワード0がアドレス指定され
る。
D 構成 本発明に従う圧縮サブシステムの構成を第1
図に示す。記号は源2から発生され、モデル構
造ユニツト1及び符号ユニツト17へ同時に供
給される。モデル構造ユニツト1は受取つた記
号からその条件付け状態を決定する。この情報
は記号と共に適応統計ユニツト3へ送られる。
適応統計ユニツト3は各状態についての統計
(条件付き確率分布)をビツト単位での適応性
をもつて維持する。記号は、1980年11月に発行
されたIBM Technical Disclosure Bulletin第
23巻、第6号の第2528〜2529頁に掲載されてい
るLangdon他の“Deblocking Method For
Use With An Adaptive Arithmetic
Encoder/Decoder”に記載の如き線形化され
た樹構造によつて1ビツトずつ符号化される。
この樹構造は、前述のHelman他の論文に述
べられている適応スキユー情報を与える。樹構
造のエントリは、確率の大きい記号L′について
のカウント・フイールドc(L′/s)及びL′値
を表わすビツトから成る。カウント・フイール
ドの先頭のビツト1の位置がスキユー値を示
す。符号化されるべき記号中のビツト値はL値
と比較され、それによりパス15へ信号ISLPS
が出力されて符号ユニツト17へ供給される。
符号ユニツト17は、米国特許第4286256号の
方法に従つて、ビツトを符号ストリームの作業
端へ符号化し、その結果の可変長ストリング
VLS(パス21)をストローブ値(パス19)、
桁上げ(パス23)びシフト量(パス25)と
共に可変長―固定長変換バツフア27へ供給す
る。バツフア27は、符号化されたストリング
をブロツク化するための論理を含んでいるのが
好ましい。桁上げは例えば特願昭55−60768号
の明細書に記載の如くに制御される。
第2図は、第1適応ステージ即ちモデル構造
ユニツト1の一構成例を示したものである。カ
ウント・テーブル35は異なつた記号値毎に1
つのワード(全部で256)を含み、圧縮のため
の条件付け文脈を決定するのに使用される。既
に述べたように、第1図の適応統計ユニツト3
は各条件付け文脈に対応する条件付き確率分布
を保持している。しかしながら、モデル構造ユ
ニツト1は条件付け状態を識別するパラメータ
を適応統計ユニツト3へ送らなければならな
い。現記号に続く記号を符号化するための状態
は、カウント・テーブル35をアドレス指定す
る記号値によつて決定される。
カウント・テーブル35の各ワードはカウン
ト・フイールド及び状態フイールドを含む。カ
ウント・フイールドは、当該アドレスに対応す
る記号の生起カウントを表わす。状態フイール
ドは記号のための状態指示子を含む。ワードが
読取られるとき、これらのフイールドはカウン
ト・レジスタ45及び状態レジスタ43へ各々
ロードされる。カウント・レジスタ45は並列
ロード形のレジスタで、カウント値の増分が可
能である。カウント・フイールドは、よりポピ
ユラーな記号を決定するために記号例をカウン
トするのに用いられる。前述の団塊状態は
“0”の状態指示子を持つており、すべての記
号は最初はこの状態で圧縮される。
状態はポピユラーな記号に指示子を割当てる
ことによつて作り出される。圧縮されるべき各
記号はカウント・テーブル35をアクセスする
のに用いられる。カウント・レジスタ45へ読
出された値は増分された後、Nレジスタ49に
あるシステム制御パラメータN(例えば50)と
比較される。両者が等しいことが比較器51で
検出されると、割当てレジスタ61から次に使
用可能な未割当ての状態指示子が割当てられ
る。割当てレジスタ61は“1”に初期設定さ
れる。これは、選択された条件付け記号に割当
てられるべき次の状態指示子である。記号のた
めの状態指示子は、カウント・テーブル35か
ら読出された値である。カウントの増分及び割
当てレジスタ61からの新しい指示子の選択に
続いて、新しいカウント及び状態指示子がカウ
ント・テーブル35に書戻される。
新しい条件付け状態の作成に続いて割当てレ
ジスタ61が増分される。割当てレジスタ61
が許容可能な条件付け状態の最大数を越えて増
分されると、カウント及び割当て機構は減勢さ
れる。カウント・テーブル35中の状態指示子
は、その時点から記号シーケンスの終りまで、
そのままに保たれる。代替策として、カウント
及び割当て機構を例えば4000バイト毎に再初期
設定するようにしてもよい。
次に、ラン・モードについて考察する。新し
い記号が記号レジスタ33に書込まれるとき
は、前の記号値は前記号レジスタ34に書込ま
れる。現記号及び前記号は比較器36で比較さ
れ、もし等しければラン・カウント・レジスタ
38が増分される。この増分された値は、比較
器40で所定の値r(例えば3)と比較され、
もしr以上であればラン・モードに入る。ラ
ン・モードに入ると、記号レジスタ33にあつ
てラン・モードへの切替えを行わせた記号に続
く記号のところから、符号化されたラン事象が
開始する。
記号の新しい値は記号サイクルの開始時に到
着する。これは適応統計ユニツト3の方へ送ら
れる。この記号は、前の記号によつて決定され
た状態指示子或いは文脈のもとで符号化され
る。記号レジスタ33にあつた前の値は、現記
号のための状態を決定するためにカウント・テ
ーブル35をアクセスするのに使用されてい
る。ラン・モードについての条件が満足される
と、記号モードからの切替えが行われる。しか
しながら、適応統計ユニツト3はランのスキユ
ーのために、なおカウント・テーブル35のワ
ード0を使用する。
適応統計ユニツト3では、モデル構造ユニツ
ト1の各記号サイクル毎に8サイクルが必要で
ある。即ち、8ビツトの記号の各ビツト毎に1
サイクルがとられる。ラン・モードにおいて
は、適応統計ユニツト3は、比較器36からパ
ス11上に一致信号が発生されると1サイクル
しかとらず、発生されなければ9サイクルと
る。後者の場合、最初のサイクルはランの終り
を示し、残り8サイクルで、ランを停止させた
記号の値が符号化される。
モデル構造ユニツト1は記号レジスタ33に
ある記号をパス5を介して適応統計ユニツト3
へ送る。パス9は比較器40からのラン状態情
報を送り、パス7は状態レジスタ43の内容
(次が非ラン状態であることを示す)を送る。
カウント・テーブル35には論理要素57の出
力が書戻される。論諭要素57は、マルチプレ
クサ(MUX)53を介して供給される4ビツ
トの状態レジスタ43及び割当てレジスタ61
の内容と6ビツトのカウント・レジスタ45の
内容とを連結して、10ビツトの更新されたワー
ドをパス59へ出力する。
第3図は伸張サブシステムの一構成例を示し
たものである。パス29及び31を介して受取
られた符号ストリングは固定長―可変長変換バ
ツフア75に累積される。バツフア75は圧縮
された符号ストリングの作業端を復号ユニツト
79に供給する。復号ユニツト79は適応統計
ユニツト81からのビツト毎のスキユーも受取
る。適応統計ユニツト81は、復号されるべき
次の記号の状態を決定するモデル構造ユニツト
83からの状態指示子を使用する。各サブサイ
クルにおいて復号ユニツト79は別のビツトを
復号する。記号モードの場合、8個のビツトが
復号される度に、適応統計ユニツト81で使用
される条件付け状態が変化される。
モデル構造ユニツト中で実施される本発明
は、記号モード又はラン・モードの表示を与
え、どの256ワード・サブテーブルが適応統計
ユニツトによつて使用されるかを指示する。記
号モードにおいては、適応統計ユニツトは指示
されたサブテーブルを用いて処理を進め、前述
のようにして各サブテーブル・ワードを検索
し、更新する。サブテーブル・ワードは、圧縮
符号器へ送られるスキユー(L(s)、K(s))
を決定するのに用いられる。ラン・モードにお
いては、適応統計ユニツトは指示されたサブテ
ーブルのワード0を検索し、更新する。
本発明は、パラメータの制御のもとに事象を
符号化するどのような圧縮符号器でも実施可能
である。一例として、1978年11月に発行された
IEEE Transaction on Information Theory
の第671〜673頁に掲載されているGallagerの
“Variation on a Theme by Huffman”に
記載の如き適応ハフマン符号ユニツトを挙げて
おく。復号は、符号器側のものと同じ適応統計
ユニツトから供給される符号パラメータを用い
て、事象毎に実行される。上記の論文によれ
ば、符号パラメータは一組の符号ワードから成
り、同じ2ステツプ・プロセスによつて決定さ
れる。即ち、構造関数fが各バイトを文脈f
(s)に及び記号モード又はラン・モードに割
当て、次いて統計関数アルフアが符号パラメー
タを決定するために適切なサブテーブルをアク
セスし、更新する。
既に述べたように、本発明は予め決められた統
計に依存していない。1次条件付け状態として最
もポピユラーな記号を用いることにより、効率の
よい圧縮が達成される。更に、本発明に従えばデ
ータを1回通過させるだけでよい。これは前述の
如き二重適応にもかかわらず可能である。二重適
応とは、モデル構造ユニツト及び適応統計ユニツ
トの適応を意味する。即ち、(1)モデル構造ユニツ
トはポピユラーな記号を条件付け文脈として選択
し使用することによつて適応し、(2)適応統計ユニ
ツトは各ビツト毎のスキユー数に適応する。
【図面の簡単な説明】
第1図は本発明を実施し得る圧縮システムのブ
ロツク図、第2図はモデル構造ユニツトの詳細を
示すブロツク図、第3図は伸張サブシステムのブ
ロツク図である。

Claims (1)

  1. 【特許請求の範囲】 1 N種類の記号を発生し得る、1次マルコフ源
    とみなし得る記号源と、該記号源から記号を受取
    つて圧縮符号化のための制御パラメータを生成す
    る適応手段と、該適応手段からの制御パラメータ
    に従つて前記記号源からの記号を圧縮符号化する
    符号化手段とを具備し、前記適応手段は上記N種
    類の記号の中から発生頻度の高い順にk−1(k
    ≦N−1)個の記号を確定し、該k−1個の記号
    によつて決まるk−1個の状態と残りの記号に共
    通して割り当てられた1個の状態から成るk個の
    状態の各々について、該状態と上記N種類の各記
    号とを対にした条件付き確率の分布を決定し、該
    分布を表わすパラメータを前記制御パラメータと
    して前記符号化手段へ供給することを特徴とする
    圧縮符号化システム。 2 上記適応手段は、 最初上記N種類の記号に共通して1個の状態を
    設定し、 発生頻度の高い記号を確定する度に、該確定さ
    れた記号によつて決まる1個の状態を設定すると
    ともに、上記最初に設定された状態へ割り当てら
    れた記号群から該記号を除く ことを特徴とする特許請求の範囲第1項記載の圧
    縮符号化システム。
JP18009282A 1981-11-09 1982-10-15 圧縮符号化システム Granted JPS5885629A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31954281A 1981-11-09 1981-11-09
US319542 1981-11-09

Publications (2)

Publication Number Publication Date
JPS5885629A JPS5885629A (ja) 1983-05-23
JPS6345131B2 true JPS6345131B2 (ja) 1988-09-08

Family

ID=23242688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18009282A Granted JPS5885629A (ja) 1981-11-09 1982-10-15 圧縮符号化システム

Country Status (3)

Country Link
EP (1) EP0079442B1 (ja)
JP (1) JPS5885629A (ja)
DE (1) DE3278850D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022053448A1 (en) 2020-09-09 2022-03-17 Northvolt Ab Process for preparing battery grade metal sulphate solutions

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4672679A (en) * 1983-08-16 1987-06-09 Wang Laboratories, Inc. Context redundancy text compression
US4633490A (en) * 1984-03-15 1986-12-30 International Business Machines Corporation Symmetrical optimized adaptive data compression/transfer/decompression system
US4612532A (en) * 1984-06-19 1986-09-16 Telebyte Corportion Data compression apparatus and method
US4749983A (en) * 1986-04-29 1988-06-07 International Business Machines Corporation Compression of multilevel signals
CA1291820C (en) * 1986-09-15 1991-11-05 William B. Pennebaker Probability estimation based on decision history
US5023611A (en) * 1989-07-28 1991-06-11 At&T Bell Laboratories Entropy encoder/decoder including a context extractor
US5471207A (en) * 1994-02-23 1995-11-28 Ricoh Company Ltd. Compression of palettized images and binarization for bitwise coding of M-ary alphabets therefor
US7274671B2 (en) 2001-02-09 2007-09-25 Boly Media Communications, Inc. Bitwise adaptive encoding using prefix prediction

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3694813A (en) * 1970-10-30 1972-09-26 Ibm Method of achieving data compaction utilizing variable-length dependent coding techniques
US4099257A (en) * 1976-09-02 1978-07-04 International Business Machines Corporation Markov processor for context encoding from given characters and for character decoding from given contexts
US4286256A (en) * 1979-11-28 1981-08-25 International Business Machines Corporation Method and means for arithmetic coding utilizing a reduced number of operations
JPS5755669A (en) * 1980-09-05 1982-04-02 Ibm Dynamic data compressing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022053448A1 (en) 2020-09-09 2022-03-17 Northvolt Ab Process for preparing battery grade metal sulphate solutions

Also Published As

Publication number Publication date
EP0079442B1 (en) 1988-07-27
EP0079442A2 (en) 1983-05-25
EP0079442A3 (en) 1985-11-06
JPS5885629A (ja) 1983-05-23
DE3278850D1 (en) 1988-09-01

Similar Documents

Publication Publication Date Title
US4494108A (en) Adaptive source modeling for data file compression within bounded memory
US5710562A (en) Method and apparatus for compressing arbitrary data
JP2610084B2 (ja) データ伸長方法および装置ならびにデータ圧縮伸長方法および装置
US3675211A (en) Data compaction using modified variable-length coding
Núñez et al. Gbit/s lossless data compression hardware
US5175543A (en) Dictionary reset performance enhancement for data compression applications
US5870036A (en) Adaptive multiple dictionary data compression
JPH0779262B2 (ja) 圧縮データの符号化方法
EP0691628A2 (en) Data compression method and system
US5886655A (en) Arithmetic coding context model that accelerates adaptation for small amounts of data
KR20020075889A (ko) 보다 효율적인 데이터 압축
US5353024A (en) Method for data compression having an improved encoding algorithm which utilizes a token stacking technique
JPH0779263B2 (ja) データ圧縮方法
JPH0888568A (ja) データの可逆符号化方法
US5901177A (en) High speed variable length code decoding apparatus and method
US7253752B2 (en) Coding apparatus, decoding apparatus, coding method, decoding method and program
US5815096A (en) Method for compressing sequential data into compression symbols using double-indirect indexing into a dictionary data structure
JPS6345131B2 (ja)
US5610603A (en) Sort order preservation method used with a static compression dictionary having consecutively numbered children of a parent
JP2968112B2 (ja) 符号変換方法
US7348901B2 (en) Method and system for decoding variable length encoded signals, computer program product therefor
JPH03204234A (ja) 圧縮データ復元方法
JPH03204235A (ja) 圧縮データの復号方法
JP3061278B2 (ja) 可変ビット長コード語のビット長通信方法
US5745603A (en) Two dimensional context model obtained without a line buffer for arithmetic coding