JPS636172B2 - - Google Patents

Info

Publication number
JPS636172B2
JPS636172B2 JP56502278A JP50227881A JPS636172B2 JP S636172 B2 JPS636172 B2 JP S636172B2 JP 56502278 A JP56502278 A JP 56502278A JP 50227881 A JP50227881 A JP 50227881A JP S636172 B2 JPS636172 B2 JP S636172B2
Authority
JP
Japan
Prior art keywords
mps
lps
symbol
shift
string
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
JP56502278A
Other languages
English (en)
Other versions
JPS58500308A (ja
Inventor
Guren Jooji Junia Rangudon
Joruma Yohanesu Risanen
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 JPS58500308A publication Critical patent/JPS58500308A/ja
Publication of JPS636172B2 publication Critical patent/JPS636172B2/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

Landscapes

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

Description

請求の範囲 1 nビツト長(mは任意の正の整数)の2n個の
実現可能な2進シンボル・ストリングai=b(1)、
b(2)、……、b(n)(ただしi=1、2、……、
2n)を順序付けし、一番目の2進シンボル・スト
リングa1から任意の順序位置の直前の2進シンボ
ル・ストリングai-1までの各2進シンボル・スト
リングの生起確率を累積して累積確率を求めてい
くと、上記任意の順序位置の2進シンボル・スト
リングaiと上記累積確率とが一対一に対応するこ
とを利用し、上記累積確率に対応するストリング
を上記2進シンボル・ストリングaiの符号として
出力する算術的圧縮符号化方法において、 上記2進シンボル・ストリングaiの部分ストリ
ングs=b(1)、b(2)、……、b(j)(ただしj=
1、2、……、n、sはaiにもなりうる)に対す
る累積確率に対応するストリングをC(s)、上記
部分ストリングsの生起確率に対応する補助量を
T(s)とし、 C(s、MPS)=C(s)+2-k T(s、MPS)=T(s)−2-k C(s、LPS)=C(s) T(s、LPS)=2-k (ただしMPSは最も生起確率の大きいシンボル、
LPSは最も生起確率の小さいシンボル、kはシン
ボルLPSの生起確率を2-kとして表わすパラメー
タ、(s、MPS)および(s、LPS)は上記部分
ストリングsにそれぞれb(j+1)としてMPS
およびLPSを連結してなる2進シンボル・ストリ
ングである) の規則に基づいてj=1、2、……、nの部分ス
トリングsについて順次ストリングC(s)を決定
していく際に、 ストリングC(s)のq個の最下位ビツトをスト
アする第1シフト・レジスタおよび補助量T(s)
をストアする第2シフト・レジスタを用意し、 b(j+1)がMPSの場合は、第1シフト・レ
ジスタの内容を2-k増加する動作と第2シフト・
レジスタの内容を2-k減少する動作とを同時に実
行し、第2シフト・レジスタが先頭に0を含をで
いれば前記両レジスタの内容を左シフトして先頭
に1が位置するようにし、 b(j+1)がLPSの場合は、第1シフト・レ
ジスタの内容をk桁左シフトし、第2シフト・レ
ジスタの内容を1にセツトするようにすることを
特徴とする算術的圧縮符号化方法。 技術分野 本発明は予定ソース確率間隔に対応する値を有
するパラメータによつて制御される条件付き2進
ソースの算術的圧縮符号化に係る。 背景技術 FIFO算術的ストリング符号化の先行技術は米
国特許出願第098285号(1979年11月28日)に詳細
に記述されている。また、FIFO算術的符号スト
リングにおけるキヤリー制御方法は米国特許出願
第048319号(1979年6月14日)およびIBM
Technical Disclosure Bulletin、Vol.23、ペー
ジ310〜312(1980年6月発行)に詳細に説明され
ている。 算術的符号化において、前の2進ソース記号の
符号化から生じる前の符号ストリングに被加数を
加えることによつて現在の符号ストリングが反復
して生成されることがRissanen and Langdon、
“Arithmetic Coding”IBM Journal of
Research and Development、Vol.23、No.2、
March1979に開示されている。解読は符号スト
リングの最上位部分の検査と、その大きさから前
記符号ストリングの数値を越えない最大被加数の
決定を含む。前記被加数は次々と差引かれる。解
読された記号は差引かれた被加数に対応するソー
ス英字記号である。 Rissanen and Langdon、“Universal
Modeling and Coding”、IEEE、Trans.
Information Theory、Vol.IT―27、No.1、
January1981において、データ圧縮問題はモデル
化部分および符号化部分に区分される。本発明は
圧縮の符号化面のみを取扱う。間隔(0、1)、
すなわち0を含むが1を含まない数列上の半開き
間隔における数としてFIFO算術的符号によつて
生成される符号ストリングについても前記資料に
記述されている。符号はこの間隔に沿つて有理数
を取扱うように拘束される。ソース・ストリング
は1回に1つのソース記号bずつ、反復して符号
化される。実際には、算術的符号化は前記間隔を
次々と細分する。それまでに符号化されたソー
ス・ストリングs=b(1)、b(2)……b(j)に対応す
る小間隔は間隔の下位境界C(s)および間隔の大
きさを規定する数T(s)によつて規定される。重
要なことは、小間隔の大きさは一定精度で表わさ
れ、T(s)の2進表示における有効桁数の長さは
予定されたqビツトである。このように規定され
た小間隔は〔C(s)、C(s)+T(s)〕と表示し得る。
間隔は下位境界C(s)を含み、数C(s)+T(s)まで
の範囲(C(s)+T(s)を含まず)に及ぶ。 前記米国特許出願第098285号における先行技術
によれば、次の記号を符号化するため、間隔長T
(s)はソース記号値がある部分の数と同数の部分
に細分されなければならない。2進数の場合、
各々のソース記号は2つの記号値の1つだけをと
る。これは間隔が2つの対応する大きさの値Tを
有する2つの部分に区分されることを必要とす
る。値Tは整数値の制御パラメータkによつて計
算される。こうして、区分すなわち細分動作から
生じる2つの大きさTは、それぞれMPS(最も生
起確率の多い記号)およびLPS(最も生起確率の
少ない記号)に割当てられる。先行技術で開示さ
れた細分動作では: 大きさ1:T(s)×(1−2-k) (1a) 大きさ2:T(s)×2-k (1b) 新しい小間隔は次のように符号化される: 次の場合がMPSの場合: 〔C(s)、C(s)+大きさ1〕 (2a) 次の記号がLPSの場合: 〔C(s)+大きさ1、C(s)+大きさ2〕 (2b) 数式2bで、大きさ1がC(s)に加えられて新し
い下位境界を形成するので、大きさ1は被加数と
呼ばれる。 また、符号化される1および0のストリームは
LPSによつて終了されたMPSの続きとして表示
可能である。エンコーダの動作は符号ストリング
値C(s)および現在の小間隔の大きさT(s)の変更
を必要とする。記号bの反復符号化に続くこれま
での符号化ストリングをs.bで示すと、先行技術
は次のように表わされる: 各々のMPSに対して: C(s.MPS)=C(s) (3a) T(s.MPS)=T(s)×(1−2-k) (3b) 各々のLPSに対して: C(s.LPS)=C(s)+T(s.MPS) (3c) T(s.LPS)=T(s)×2-k (3d) これは、2進記号ストリングで各々のLPSの生
起によつて、最悪事態のサイクル・タイムは4つ
の動作を実行するエンコーダを必要とする。これ
らは下記ステツプを含む。 (1) T(s.MPS)を形成するために制御パラメー
タkの関数としての内部変数T(s)をシフトと
減算によつて減少させる。 (2) この変数をC(s)のq最下位ビツトに加える。 (3) 両者を予定の量だけ左シフトする。 各々のMPSの生起によつて、エンコーダは (1) 前記のように、内部変数を減少させる。 (2) 先行する1がない場合に、C(s)およびT(s)
の双方の正規化左シフトを実行する。 重要なことは、前のステツプ(ステツプ1)か
ら生じるTを次のステツプ(ステツプ2)で使用
しなければならないので、現在値だけを使用する
同時更新の可能性はないことである。 発明の説明 本発明によつて解決を求められる技術的問題
は、各々の符号化および解読のサイクルにおいて
動作の同時性を増加することによつて、FIFO算
術的エンコーダのスループツトを増大する問題で
ある。これについて、本発明は最初、式2の内部
の細分の順序を逆にすることを前提とする。先
ず、圧縮された符号ストリームC(s)の大きさの
変更が、LPSに代つて各々のMPSにおいて生じ
る。2番目に、内部変数T(s)の関数によつてC
(s)を増加する代りに、各々のLPSの生起によつ
てC(s)を予定量左シフトすることが決定される。
正規化されない内部変数は2-kとなり、単に左シ
フトによつて正規化される。3番目に、前のT
(s)の値と無関係な制御パラメータkの関数とし
てC(s)およびT(s)の双方を更新することによつ
て同時性が得られる。その結果、1つの2進記号
を符号化するのに必要な順次動作数は、kビツト
の単一シフト(LPS)、または加算時間とそれに
続く判断および1ビツト・シフト(MPS)のい
ずれかに減少する。 本発明は各々のMPSに対して予定されたソー
ス英字確率間隔に対応する値を有するパラメータ
の関数が、C(s)およびT(s)のいずれの過去の状
態の関数ではなかつたことから、C(s)およびT
(s)双方を同時に増加させるのに使用可能であつ
たという予想外の観測結果による進歩であると見
ることができる。これは、各々のLPSの生起によ
つて、最初にT(s)の更新を、次にC(s)の更新を
必要とした先行技術におけるFIFO算術的符号化
技術と対照的である。 本発明は、2進記号ストリングs=b(1)、b(2)
……b(j)、……b(n)からの連続記号b(j)に応じ
る位置の高低を大きさの順序とする算術的圧縮2
進ストリームC(s.b)を反復して発生するための
方法および装置として理解される。本発明は次の
ステツプを含む。 (1) C(s)のq最下位ビツトおよび内部変数T(s)
をそれぞれの第1および第2レジスタに書込
む。 (2) 各々のb(j)について、b(j)がMPSを構成す
るかどうかを検査し、LPSの期待値約2-kに対
する整数パラメータ近似値kを受取る。 (3) b(j)がMPSならば、第1レジスタの内容を
2-k増加し、かつ第2レジスタの内容を2-k減少
し、第2レジスタが先行する0を含むならば、
両方のレジスタの内容を左シフト正規化する。 (4) b(j)がLPSならば、第1レジスタの内容をk
桁だけ左シフトし、かつ第2レジスタの内容を
1にセツトする。 本発明の概略の説明を終えるにあたつて、従前
の算術符号化および本発明の算術符号化について
補足的な説明を加えることとする。 算術符号化の本質はシンボル・ストリングの生
起確率と、順序化された多数のシンボル系列の累
積確率とで把握することができる。3ビツト長の
シンボル・ストリングを考えてみよう。このシン
ボル・ストリングは8個(=23)あり、それぞれ
を表のようにi=0〜7に順序付けることができ
る。
【表】
【表】 この表においてT(ai)はストリングaiが生起す
る確率である。シンボル1、0が生起する確率を
それぞれ0.3、0.7とした。したがつてたとえばT
(000)=0.73=0.343である。またC(ai)は累積確率
であり、たとえばC(a2)はT(a0)、T(a1)の和であ
る。一般化すると となる。定義および具体的な例からも理解できる
ように0<C(a0)<C(a1)<C(a2)<……<1であ
り、ストリングaiと累積確率C(ai)とは一対一で
関係付けることができ、累積確率C(ai)を用いて
符号化が可能である。もちろんこのままでは伝送
効率が悪いのでC(ai)の情報のうち必要なものだ
けを送ればよい。表の例では2進小数化した累積
確率C(ai)2の一部のみを送つている。たとえばai
では010を送る。 さてつぎにどのようにして累積確率C(ai)を得
るかについて考えよう。いま符号化すべきシンボ
ル・ストリングをnビツトとしておく。そしてそ
のシンボル・ストリングの部分ストリングsまで
累積確率が得られているとする。ところで部分シ
ンボル・ストリングsに続いて最も生起確率の小
さいシンボルLPS、たとえば1が発生して構成さ
れるシンボル・ストリングの累積確率は C(s、LPS)=C(s)+T(s、MPS) で表わされる。なお、MPSは最も生起確率の大
きいシンボルたとえば0である。この式では、
s、LPSの前の順位にs、MPSがあり、C(s、
LPS)はC(s、MPS)にT(s、MPS)すなわ
ちs、MPSのシンボル・ストリングの生起確率
を足したものとなることを前提としている。そし
てC(s、MPS)としてはC(s)を用いる。結局 C(s、LPS)=C(s)+T(s、MPS) T(s、LPS)=T(s)×p C(s、MPS)=C(s) T(s、MPS)=T(s)×(1-p) である。ただし、pはLPSの生起確率であり、p
=2-Qと表わすことができる。 以上の規則を用いてC(0)=0、T(0)=1から
順次ビツト数を伸ばしていけば所望のnビツト長
のシンボル・ストリングの符号C(ai)を得ること
ができる。 なお、上述の規則ではT(s、CPS)でp=2-Q
を掛けるためT(s)がそのままでは急激に小さな
ものとなつてしまう。そこでT(s、LPS)はT
(s)のままとし、逆にC(s、LPS)に2Qを掛けて
全体として等価となるようにしている。このよう
にするとT(s、LPS)を所定のレジスタにスト
アし続けるのが容易となる。また、2Qの乗算はC
(s)をQビツトだけ左にシフトさせればよい。 本発明の工夫は、より簡易な計算で符号化しよ
うという課題に応えるものである。この工夫はシ
ンボル・ストリングの順序付けを変更することに
ある。すなわち、従前ではs、MPSのつぎにs、
LPSが位置するようにしているためs、LPSの累
積確率C(s、LPS)はC(s)にs、MPSの生起確
率をさらに足したものとなつている。C(s、
MPS)はC(s)と等しい。本発明ではこれを逆に
してC(s、LPS)のつぎにC(s、MPS)が位
置するようにしている。したがつて原理的には C(s、MPS)=C(s)+T(s、LPS) T(s、MPS)=T(s)×(1−2-k) C(s、LPS)=C(s) T(s、LPS)=T(s)×2-k という規則を用いる。ところで、この場合T(s、
LPS)では2-kの乗算があり、この乗算が繰り返
されるとT(s)が大変小さくなつてレジスタに有
意の情報を保持するのが困難となる。そこで、T
(s、LPS)=1と強制的にセツトし、これにあわ
せてC(s、LPS)に2kを乗算する。すなわちk
ビツトだけ左シフトを行う。他方、到来ビツトが
MPSの場合にはT(s、MPS)はそう小さい値
にならないので、そのような処理は行わず、単に
近似計算する。T(s)はほぼ1であるから、T
(s、MPS)=T(s)×(1−2-k)=T(s)−T(s)2-k
=T(s)−2-kとする。また、C(s、MPS)=C(s)
+T(s、LPS)=C(s)+2-kとする。 以上を整数するとつぎのようになる。 C(s、MPS)=C(s)+2-k T(s、MPS)=T(s)−2-k C(s、LPS)=C(s)→×2k T(s、LPS)=2-k→1 以上の処理によればMPSに対しては2-kを求
め、これをC(s)、およびT(s)から同時に+また
は−処理すればよく、LPSに対してはTを1にセ
ツトし、C(s)をkビツトだけ左にシフトさせれ
ばよい。極めて簡単に処理を行うことができる。 なおT(s、MPS)=T(s)−2-kで最上位にゼロ
がくることがあるが、この場合保持レジスタが有
効に利用できないので、T(s、MPS)の内容を
左に1ビツトシフトする(正規化)。この場合C
(s、MPS)も1ビツトだけシフトさせて帳尻を
合わせる。
【図面の簡単な説明】
第1図はソースおよびモデルの両方に対する符
号化されたインターフエースを示すブロツク図、 第2図は符号化アルゴリズムの流れ図、 第3図は本発明の方法を実施する2つのALU
ループの符号化装置を示すブロツク図である。 発明を実施するための最良の形態 下記の式は本発明による符号化動作(後で説明
する正規化を除く)を定義するものである。 各々のMPSに対して C(s.MPS)=C(s)+2-k (4a) T(s.MPS)=T−2-k (4b) 各々のLPSに対して C(s.LPS)=C(s) (4c) T(s.LPS)=2-k (4d) 被加数を正しい場所に加えるためにC(s)の動
作限界に対する小間隔サイズTの有効ビツトの調
整を維持することが必要であると認められる。こ
の付加に続いて、符号ストリングC(s.b)の動作
限界を再調整する必要がある。再正規化および符
号ストリング再調整の動作は次のステツプを必要
とする。記号LPSが符号化されるならば、正規化
されない大きさは0.00……0100の形式の2-kであ
る。先行する0の数は“k”である。これは正規
化内部変数T(s.LPS)=1.00……0であることを
意味する。コード・ストリングC(s.LPS)の正
規化されない動作限界は前の符号化サイクルで見
つかるものと同じであり、kビツトのシフトだけ
を必要とする。しかしながら、符号化される記号
がMPSであれば、正規化されない内部変数はT
(s)−2-kである。正規化されない符号ストリング
はC(s)+2-kである。これらの動作は同時に実行
可能であるが、前記米国特許出願第048319号にお
いて処理し得るC(s)のキヤリーが生じることも
ある。しかしながら、再調整は、必要であつて
も、1ビツトのシフトだけである。 圧縮システムの装置の論理ブロツク図を示す第
1図で、2進記号のソース1は経路3によつてエ
ンコーダ13にビツト列を与える。ソース・モデ
ル5はソース・ストリングの経歴に基づいて機械
動作する有限状態で、経路9上にソース英字確率
間隔を表わす制御パラメータkを発生し、符号化
される記号がMPSまたはLPSのいずれであるか
について経路7上に表示する。符号化されるビツ
トが4a、4bの関係および4c、4dの関係によつて
定義されるMPSまたはLPSのいずれであるかに
よつて、エンコーダ13は符号ストリングC(s)
の動作限界を変更し、かつその内部変数T(s)を
変更する。エンコーダ13の出力はバツフア15
に送られる。バツフア15は最新発生符号ストリ
ングのセグメントを保持する。更に、エンコーダ
13はC(s)から固定幅のワードをアセンブルし、
出力バス17で媒体に送る。エンコーダ13とバ
ツフア15のインターフエースは固定線路並列経
路によつて実施可能である。経路19の信号は符
号化された記号値がMPSまたはLPSのいずれで
あつたかをバツフア15に知らせる。記号が
MPSであつた場合は、バツフア15は経路21
上に現われる値kからのシフト量を決定する。そ
の結果、バツフア15は経路23によつてエンコ
ーダ13からkビツトを受取る。kビツトはビツ
ト〔0、(k−1)〕である。これらのビツトはバ
ツフアされている符号ストリング・セグメントに
移される。その結果、バツフア15はバス17に
よつて固定長セグメントを出力するとともに、例
えば前記米国特許出願第048319号に記述されてい
るキヤリー伝播を防止するビツト・スタツフイン
グ動作を実行することができる。 エンコーダ13によつて操作されるビツトが
LPSであることが経路19によつて示される場
合、バツフア15は経路27上の“C/OUT”
の値をバツフアされた符号ストリング・セグメン
トに加える。経路29上に現われる正規化に関す
る値“NORM”がアクテイブでない場合は、再
正規化は要求されていない。それに対し、経路2
9上のビツトがアクテイブであれば、ビツト値C
(0)をバツフアされた符号ストリング・セグメン
トにシフトすることによつて“1”ビツト再正規
化シフトが実行される。固定長出力またはビツ
ト・スタツフイングのバツフア動作は圧縮符号化
されたビツトが恰かもMPSであつたかのように
行われる。 第2図は式4a、4bおよび式4c、4dを実行する
ための計算についての流れ図を示す。C(s)の動
作限界(qビツト)および内部変数T(s)に対し、
一対のシフト・レジスタCおよびTをそれぞれ指
定することによつて、これらのシフト・レジスタ
のみが装置で符号化動作に関連するメモリである
ことが明白である。最初に、シフト・レジスタC
およびTがそれぞれqビツトの値0.00……0およ
び1.00……0にセツトされる。各々符号化サイク
ルの間に、エンコーダ15はパラメータkを供給
し、かつ記号がMPSまたはLPSのいずであるか
の表示を供給する。記号がLPSであれば、シフ
ト・レジスタTの内容は1.00にセツトされ、符号
ストリング・レジスタ内容Cは右側のビツト位置
に挿入される0によつてkビツトだけ左シフトさ
れる。記号がMPSであれば、Tレジスタの内容
は2-k減分されるが、Cレジスタの内容2-k増分さ
れる。Cレジスタの最上位の桁の内容はバツフア
15に転送される。次の問題はTレジスタのT
(0)の桁に先行する0が存在するかどうかである。
それが存在しない場合、エンコーダ13は次の符
号化サイクルに進む。先行する0がある場合は、
Tを再正規化し、符号ストリングの動作限界を再
調整する必要がある。これはTおよびCレジスタ
の内容をそれぞれ1ビツト左シフトするステツプ
と、最下位ビツトに0を挿入するステツプを含
む。C(0)、すなわちCレジスタの最上位ビツト
の内容は、経路25によつてバツフア15に転送
される。その後、次の符号化サイクルの処理が可
能になる。 次に本発明の符号化応答の例について説明す
る。 記号0はMPSを、記号1はLPSを示すものと
する。また、5つの記号b(1)、b(2)、b(3)、b(4)
およびb(5)から成るソース・ストリングはその順
番にそれぞれ 0、1、0、0、1 の値を有するものとする。 更に、これらのビツト位置のスキユー番号を表
わすk(1)、k(2)、k(3)、k(4)およびk(5)はその順
番にそれぞれ 2、4、4、3、2 を示すものとする。演算は精度5ビツト(q=
5)で実行される。 エンコーダ13に対し、ソース・モデル5はk
の値を与える。この値から、非ゼロの被加数は
2-kとして形成される。MPSの場合、被加数はC
に加えられてC′を生じ、Tから差引かれてT′を
生じる。キヤリーはエンコーダ13からバツフア
15に送られる。T′における先行ビツトが1の
場合、Tの再正規化またはCの再調整は不要であ
る。T′における先行ビツトが0の場合、Tは再
正規化され、C′はゼロ充填1ビツト左シフトによ
つてCに再調整される。 最初の状態:C=0.0000 T=1.0000 注:ステツプ(a)は正規化せずにC′を生じる細分
動作を実行する。ステツプ(b)はTが正規化される
ときのデータ処理部分を示す。CおよびTの同時
操作は両者を同じラインに乗せることによつて行
われる。 k(1)=2、b(1)=0:被加数=.01 (a) C′=0.0000+0.01=0.0100 T′=1.0000−.0100=0.1100 (b) C=00.1000(再調整) T=1.1000 k(2)=4、b(2)=1:被加数=0 (a) C′=00.1000(4桁シフトされる) T′=0.0001 (b) C=001000.0000(再調整) T=1.0000 k(3)=4、b(3)=0:被加数=0001 (a) C′=001000.0000+.0001=001000.0001 T′=1.0000−.0001=0.1111 (b) C=001 0000.0010(再調整) T=1.1110 k(4)=3、b(4)=0:被加数=.0010 (a) C′=0010000.0010+0010=0010000.0100 T′=1.1110−.0010=1.1100 (b) C=001 0000.0100(再調整不要) T=1.100 k(5)=2、b(5)=1:被加数=0 (a) C′=001 0000.0100+0 T′=0.0100 (b) C=0 0100 0001.0000 T=1.0000 (左2シフトによる再調整) デコーダ69(第3図)はストリング
0010000010000#を受取るものとする。#はスト
リング終了標識である。 第3図に示すエンコーダ13のブロツク図で
は、符号ストリームC(s)および内部変数T(s)の
新しい値を独自にかつ同時に計算すること、およ
びこれらの新しい値について符号ストリングの動
作限界を再調整することが行なわれる。そのた
め、エンコーダ13の実施例として一対の計算ル
ープが使用される。第1のループはシフト・レジ
スタC41、加算器49、マルチプレクサ53お
よび経路37を含む。第2のループはシフト・レ
ジスタT59、減算器63、マルチプレクサ55
および経路57を含む。従つて、エンコーダ13
におけるメモリ素子はシフト・レジスタC41お
よびT59のみである。これらのシフト・レジス
タは反復サイクルの終了でクロツクされるエン
ジ・トリガD型フリツプフロツプによつて構成さ
れる。連続するクロツクの能動的転移の間の持続
時間はループにおいて各レジスタに与えられる最
悪事態組合せ回路の遅延時間を越える。ジフト・
レジスタT59の場合、エツジ・トリガ信号と対
照的にレベル感知信号に応答する“CLEAR”入
力がある。“CLEAR”入力ラインのアクテイ
ブ・レベルは大低のD型フリツプフロツプの場合
のようにエツジ・トリガ入力に優先する。 排他的ORゲートXOR31は経路7によつてソ
ース・モデル5から送られたMPS/LPS表示と、
経路3によつてソース1から送られた0または1
の2進記号値を終了する。XOR31の出力は符
号化される記号をMPSまたはLPSのどちらかに
特徴づける。これは加算器49が経路43からの
シフト・レジスタC41の内容と他の加算器入力
からのオペランド2-kを組合せることによつて行
われる。シフト・レジスタC41の内容は符号ス
トリングC(s)のq最下位ビツト(動作限界)を
構成する。前記組合せの結果(和)によつて生じ
たアクテイブなキヤリー出力信号“C/OUT”
は経路27によつてバツフア15に送られる。
MPSサイクルの符号化において、1ビツト再正
規化シフトを必要とすることがある。これはシフ
ト・レジスタT59における最上位ビツトが0の
ときに生じる。次に、経路29上の信号はマルチ
プレクサ53および55の出力を適当に選択する
とともに、経路29によつてバツフア15に送ら
れる。これに関して、C(s)の動作限界の最調整
はマルチプレクサ53の機能であり、シフト・レ
ジスタC41の最上位ビツト、すなわちC(0)は
バツフア25への経路25に現われる。マルチプ
レクサ53の左入力は左シフト出力から形成さ
れ、右入力は経路51からの加算器49のもとの
ままの出力である。マルチプレクサ53はマルチ
プレクサ35の右入力に結合される出力バス37
を有する。マルチプレクサ35の出力はシフト・
レジスタC41のデータ入力となり、クロツク・
サイクルの終りで前記レジスタにロードされる。 経路33の信号がLPSであれば、経路39を介
してマルチプレクサ35に作用するシフト・ネツ
トワーク47の制御の下にシフト・レジスタC4
1の内容は左シフトされるソース・モデル5から
の4ビツト幅の経路9を介してシフト・ネツトワ
ーク47に送られた制御パラメータkによつてシ
フトの大きさは制御される。シフト・ネツトワー
ク47を制御するほか、パラメータkはまた経路
21を介してバツフア15に送られる。経路33
のLPS表示と同時に、クリア信号がシフト・レジ
スタT59に送られる。それによつて最上位ビツ
トが1にセツトされる。その場合、シフト・レジ
スタC41からバツフア15に送られるのはビツ
ト位置C(0)からC(k-1) に送られるk最上位ビ
ツトである。これはC(s)の値は不変であるが、
符号ストリングの動作限界はkビツトの左シフト
によつて再調整されることを意味する。この動作
を実行するシフト・ネツトワーク47はゼロ充填
高速シフト型である。シフト・ネツトワーク47
の出力は経路39からマルチプレクサ35の左入
力を経てシフト・レジスタC41に送られる。制
御信号がLPSのアクテイブを示すとき、マルチプ
レクサ35で右入力が選択される。シフト・ネツ
トワーク47の出力はシフト・レジスタC41に
送られ、サイクルの終りでシフト・レジスタC4
1にロードされる。このサイクルで、バツフア1
5はシフト・レジスタC41の先行kビツトを受
取らなければならない。経路23はシフト・レジ
スタC41の全ビツトをバツフア15に送る。バ
ツフア15は経路21を介して送られる値kの制
御の下に正しい量を選択しなければならない。 経路33の信号がMPSであれば、デコーダ6
9から得られる2-kおよび経路61を介して得ら
れるシフト・レジスタT59の内容をオペランド
入力として減算器63に加えることによつて正規
化されない値Tが計算される。正規化されない差
は経路65に現われる。減算器63から得られた
差の先行ビツトはそれが先行0であるかどうか検
査される。前記最上位ビツトが先行0であれば、
1ビツト位置の左シフトがマルチプレクサ55の
左入力で実行される。先行0がない場合、減算器
63の出力は経路65からマルチプレクサ55を
変更なしに通り、シフト・レジスタT59に戻
る、すなわちサイクルの終りでシフト・レジスタ
T59にロードされる。 解読は符号化と双対であることは広く認められ
ている。前に述べたように、符号ストリングの最
上位部を検査し、その大きさから符号ストリング
の値を越えない最大の被加数を決定することによ
つて解読は行われる。この被加数は差引かれ、解
読された記号はその被加数に相当するものであ
る。符号ストリームC(s)の最上位部に加えて、
デコーダ69が受取らなければならない2つの情
報は制御パラメータkおよびMPS値である。デ
コーダ69は前記情報によつて、その点で前に符
号化された記号を解読しなければならない。本発
明の原理によつて、第3図に示すエンコーダ装置
の簡単な変更によつて、前記解読は次に説明する
ように実行可能である。 次の説明において、MPS値は0とする。記号
b(i)のどれが符号化されたか分らないが、符号化
パラメータk(i)は既知であるので、非ゼロの被加
数を形成できる。b(i)を決定するには、試行被加
数2-kを形成し、Cから2-kを差引いて試行結果R
を形成する。同時にTから試行被加数を差引いて
T′を形成する。試行結果Rが負であればb(i)=
LPS、すなわち本実施例では1である。前記Rが
負でない場合はb(i)=MPS、すなわち本実施例
では0である。Rは再調整されない新しいCの値
である。その結果によつて反復変数Tを調整す
る。下記において、ステツプ(a)は試行減算を示
し、その結果はR(Cの試行値)になる。ステツ
プ(b)で記号は解読される。ステツプ(C)で、Tはそ
れに応じて調整され、TおよびCは再調整され
る。 初期状態: C=0.0100 0001 0000# T=1.0000 k(1)=2:試行被加数=.01 (a) R=0.0100 001 000−.01 =0.0000 0001 0000 T′=1.0000−.01=.1100 (b) R0:b(1)=0.結果を保持し、正規化と再
調整を行なう。 (c) C=00.0000 0010 000# T=1.1000 k(2)=4:試行被加数=.0001 (a) R=00.0000 0010 000−.0001=負 T′=1.0111 (b) R<0:b(2)=1. Cをk=4ビツト左シフ
トし、 Tを1にリセツトする。 (c) C=0.0010 000# T=1.0000 k(3)=4:試行被加数=.0001 (a) R=0.000100 000#−.0001 =0.0001 000 T′=1.0000−.0001=0.1111 (b) R0:b(3)=0.試行結果を保持する。正規
化と再調整を行なう。 (c) R=0.0010 00# T=1.1110 k(4)=3:試行被加数=.0010 (a) R=0.0010 00#−.0010=0.0000 00# T′=1.1110−.0010=1.1100 (b) R0:b(4)=0.試行結果を保持する。再正
規化せず。 (c) C=0.0000 00# T=1.1100 k(5)=2:試行被加数=.0100 (a) R=0.0000 001#−.0100=負 T′=1.1100−0100=1.1000 (b) R<0:b(5)=1. Cをk=2ビツト左シフ
トし、 Tを1にリセツトする。 (c) C=0.0000# T=1.0000 符号ストリングの終りはCの上位5ビツトに達
し、Cはゼロである。解解処理は終了である。 デコーダはエンコーダと同じように実施される
が、それにはソース・モデルが含まれ、連続して
解読された記号b(i)がソース・モデルに送られて
k(i)が得られる。その外に、いくつかの追加があ
る。第一に、Cから2-kを差引く能力が必要であ
る。第二に、キヤリー出力値は解読サイクルに対
しb(i)=0またはb(i)=1を示す制御入力とな
る。第三に、エンコーダ13では、正規化左シフ
トおよびCのLPS左シフトは“ゼロ充填”を伴な
う。デコーダでは、Cに対するこれらのシフトは
デコーダ入力バツフアにおける次の先行ビツトか
ら“充填”を受取る。
JP50227881A 1981-03-30 1981-03-30 値の同時更新を用いた高速度算術的圧縮符号化 Granted JPS58500308A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1981/000400 WO1982003514A1 (en) 1981-03-30 1981-03-30 High-speed arithmetic compression coding using concurrent value updating

Publications (2)

Publication Number Publication Date
JPS58500308A JPS58500308A (ja) 1983-02-24
JPS636172B2 true JPS636172B2 (ja) 1988-02-08

Family

ID=22161163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50227881A Granted JPS58500308A (ja) 1981-03-30 1981-03-30 値の同時更新を用いた高速度算術的圧縮符号化

Country Status (4)

Country Link
EP (1) EP0079333B1 (ja)
JP (1) JPS58500308A (ja)
DE (1) DE3177223D1 (ja)
WO (1) WO1982003514A1 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4122440A (en) * 1977-03-04 1978-10-24 International Business Machines Corporation Method and means for arithmetic string coding

Also Published As

Publication number Publication date
EP0079333A1 (en) 1983-05-25
JPS58500308A (ja) 1983-02-24
DE3177223D1 (de) 1990-11-22
EP0079333B1 (en) 1990-10-17
EP0079333A4 (en) 1987-07-06
WO1982003514A1 (en) 1982-10-14

Similar Documents

Publication Publication Date Title
US4467317A (en) High-speed arithmetic compression coding using concurrent value updating
US4286256A (en) Method and means for arithmetic coding utilizing a reduced number of operations
US4905297A (en) Arithmetic coding encoder and decoder system
EP0231736B1 (en) Method and apparatus for arithmetic compression coding of binary numbers
US4891643A (en) Arithmetic coding data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders
JP2549254B2 (ja) 有限アルファベットの任意記号の発生確率予測方法及び装置
US4989000A (en) Data string compression using arithmetic encoding with simplified probability subinterval estimation
US4463342A (en) 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
US5045852A (en) Dynamic model selection during data compression
JP3017379B2 (ja) 符号化方法、符号化装置、復号方法、復号器、データ圧縮装置及び遷移マシン生成方法
US6677869B2 (en) Arithmetic coding apparatus and image processing apparatus
JP3684128B2 (ja) 算術符号化/復号化方法ならびに算術符号化/復号化装置
EP0260461B1 (en) Arithmetic coding encoding and decoding method
JP3801501B2 (ja) 符号化装置及び復号装置及び符号化・復号装置及び符号化方法及び復号方法及び符号化・復号方法及びプログラム
Jiang et al. Parallel design of arithmetic coding
JPS636172B2 (ja)
KR100207428B1 (ko) 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법
KR100256463B1 (ko) 임의의 베이스의 심볼을 가산하거나 감산하는 프로세스 및 시스템
Cena et al. A Q-Coder algorithm with carry free addition
JPH08195680A (ja) 算術符号復号化装置
JPH1032496A (ja) 算術符号化装置
Ling et al. Hardware module for an adaptive modeling unit of multi-symbol multiplication-free arithmetic encoder
Cena et al. A Q-Coder algorithm with carry free addition
JPH0846520A (ja) 算術符号化装置及び算術符号復号化装置
Shah et al. Data compressor decompressor IC