JP2755091B2 - Encoding method and encoding method - Google Patents
Encoding method and encoding methodInfo
- Publication number
- JP2755091B2 JP2755091B2 JP5013374A JP1337493A JP2755091B2 JP 2755091 B2 JP2755091 B2 JP 2755091B2 JP 5013374 A JP5013374 A JP 5013374A JP 1337493 A JP1337493 A JP 1337493A JP 2755091 B2 JP2755091 B2 JP 2755091B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- carry
- register
- area
- output
- 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 - Fee Related
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】[0001]
【産業上の利用分野】この発明は、桁上がり伝幡を制御
する符号化方式及び符号化方法に関する。 BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention controls a carry
The present invention relates to an encoding method and an encoding method.
【0002】[0002]
【従来の技術】データの圧縮・伸長の1つの方法として
算術符号化が知られている。一般に算術符号化では、0
以上1未満の数直線上に有効領域を設けて入力データ系
列の出現確率比に分割し、新たな系列に対する有効領域
を割り当て更新する操作が繰り返される。算術符号は有
効領域内の小数で表され、例えば「J.L.Mitch
ell,W.B.Pennebaker:”Softw
are implementations of th
e Q−Coder”,IBM Journalof
Research and Development,
VOL.32No.6 pp.753〜774,198
8」に示された2値算術符号化(−Hが付くフローチャ
ート図。以下、−Hが付くフローチャート図について説
明する)では有効領域下界値の座標として与えている。2. Description of the Related Art Arithmetic coding is known as one method of data compression / decompression. Generally, in arithmetic coding, 0
The operation of providing the effective area on the number line less than 1 and dividing the data into the appearance probability ratio of the input data series, and allocating and updating the effective area for the new series is repeated. The arithmetic code is represented by a decimal number in the effective area, for example, “JL Mitch”.
ell, W.C. B. Pennebaker: "Softw
are implementations of th
e Q-Coder ", IBM Journalof
Research and Development,
VOL. 32 No. 6 pp. 753-774,198
In the binary arithmetic coding shown in FIG. 8 (a flowchart attached with -H. Hereinafter, a flowchart attached with -H will be described), it is given as the coordinates of the lower bound of the effective area.
【0003】上記文献によれば、算術符号化の符号化・
復号は次のような演算(手順)により進めることができ
る。Cは算術符号の値、Aは有効領域の幅、Qeは出現
確率(qとする)の低いシンボル(符号化時において入
力値≠予測値、復号時において出力値≠予測値)である
LPS(これに対して符号化時において入力値=予測
値、復号時において出力値=予測値である出現確率p=
1−qの高いシンボルをMPSという)の領域幅であ
り、有効領域Aを分割したLPS領域はMPS領域より
数直線下位に位置させるものとする。 (符号化手順) if 入力値=予測値(MPS符号化処理) A←A−Qe C←C+Qe else(入力値≠予測値;LPS符号化処理) A←Qe end (復号手順) if C≧Qe(MPS復号処理) MPSに復号(出力値←予測値) A←A−Qe C←C−Qe else(C<Qe;LPS復号処理) LPSに復号(出力値←非予測値) A←Qe end[0003] According to the above-mentioned document, coding of arithmetic coding
Decoding can proceed by the following operation (procedure). C is the value of the arithmetic code, A is the width of the effective area, and Qe is a symbol (input value 出現 prediction value at the time of encoding and output value 符号 prediction value at the time of decoding) LPS ( On the other hand, the occurrence probability p = the input value = prediction value at the time of encoding and the output value = prediction value at the time of decoding
It is assumed that the LPS area obtained by dividing the effective area A is positioned several lines lower than the MPS area. (Encoding procedure) if Input value = Predicted value (MPS encoding process) A ← A−Qe C ← C + Qeelse (Input value ≠ Predicted value; LPS encoding process) A ← Qe end (Decoding procedure) if C ≧ Qe (MPS decoding processing) Decoding into MPS (output value ← predicted value) A ← A-Qe C ← C-Qe else (C <Qe; LPS decoding processing) Decoding into LPS (output value ← non-predicted value) A ← Qe end
【0004】ここで、LPSの領域幅Qeは有効領域幅
AとLPSの出現確率qとの積として求められるが、出
現確率qのとりうる0以上0.5未満の範囲をいくつか
の確率状態に分割し、出現確率qの属する確率状態ごと
にLPSの領域幅Qeを固定(例えば2のべき乗の逆数
で近似する)することにより演算負荷を減じ、残りの領
域A−QeをMPS領域に当てる手法をとる。LPSの
領域幅Qeは確率状態をインデクスとしてテーブルを参
照することで得られる。Here, the LPS area width Qe is obtained as a product of the effective area width A and the appearance probability q of the LPS. The calculation load is reduced by fixing the LPS region width Qe for each probability state to which the appearance probability q belongs (for example, approximation by the reciprocal of the power of 2), and assigning the remaining region A-Qe to the MPS region. Take the technique. The LPS region width Qe can be obtained by referring to the table using the probability state as an index.
【0005】また、演算により更新された有効領域幅A
がある値Amin (通常は0.5、上記文献では同じ重み
を0.75とみる)より小さくなったときに正規化(Re
normalize )を行う。正規化とはAmin より小さくなっ
た有効領域AをAmin より大きくなるまで算術符号Cと
ともに2倍ずつ拡大していくものである。正規化で2倍
するごとに1ビットの算術符号を出力することになる。
正規化により有効領域Aは常に0.5以上1未満(上記
文献では0.75以上1.5未満)に修正され、確率状
態ごとにLPSの領域幅Qe(Qe<Amin )を固定し
て与えても常に割り当てられるべきMPS領域を確保
し、MPS領域がなくならないようにする。演算が行わ
れるレジスタで保持しきれない桁は切り捨てられるが、
限られた有効桁数での演算誤差は正規化を行うことによ
ってより小さく抑えることができる。Further, the effective area width A updated by calculation
Normalization (Re
normalize). The normalization is to expand the effective area A smaller than Amin by two times together with the arithmetic code C until it becomes larger than Amin. Every time it is doubled by normalization, a 1-bit arithmetic code is output.
The effective area A is always corrected to 0.5 or more and less than 1 (0.75 or more and less than 1.5 in the above document) by normalization, and the LPS area width Qe (Qe <Amin) is fixed for each probability state. Even so, the MPS area to be allocated is always secured so that the MPS area does not run out. Digits that cannot be held in the register where the operation is performed are truncated,
The calculation error with a limited number of significant digits can be reduced by performing normalization.
【0006】例えば、上記文献に示す従来例の符号伝送
装置を図86に示す。入力側のモデル・確率発生器1
は、情報源からの入力データ10の入力に対して、入力
値YN11の出現に先立つ予測値MPS12と非予測値
LPS13(予測値MPS12の反転値)に割り当てる
領域幅Qe14を出力する。毎回1ビット挿入方式によ
る算術符号器2aは、入力側のモデル・確率発生器1が
出力する入力値YN11と予測値MPS12とLPS領
域幅Qe14の入力に対して、算術符号化による算術符
号15aにバイトX’FF’(16進表記。以下、16
進数はX’値’で表記するものとする)が出現するごと
に下位からの桁上がりの有無を示す桁上がり制御信号1
00aを1ビット挿入する毎回1ビット挿入方式によっ
て送出する。毎回1ビット挿入方式による算術復号器3
aは、毎回1ビット挿入方式による算術符号器2aから
送出された算術符号15aおよび復号すべき出力値YN
16に先立つ予測値MPS17とLPS領域幅Qe19
の入力に対して、桁上がり制御信号100aを検出・処
理して取り込んだ算術符号15aを算術復号した出力値
YN16を出力する。出力側のモデル・確率発生器4
は、復号される出力値YN16に対して、出力値YN1
6の出現に先立つ予測値MPS17と非予測値LPS1
8(予測値MPS17の反転値)の領域幅Qe19を出
力し、この値を基に復号により出力値YN16を得て出
力データ20を出力する。For example, FIG. 86 shows a conventional code transmission apparatus disclosed in the above-mentioned document. Input side model / probability generator 1
Outputs an area width Qe14 to be assigned to the predicted value MPS12 and the non-predicted value LPS13 (inverted value of the predicted value MPS12) prior to the appearance of the input value YN11 in response to the input of the input data 10 from the information source. The arithmetic encoder 2a using the 1-bit insertion method every time converts the input value YN11, predicted value MPS12 and LPS area width Qe14 output from the input side model / probability generator 1 into an arithmetic code 15a by arithmetic coding. Byte X'FF '(hexadecimal notation; hereafter 16
Each time a radix number is represented by X'value '), a carry control signal 1 indicating presence / absence of a carry from the bottom
Each time 00a is inserted by 1 bit, it is transmitted by the 1-bit insertion method. Arithmetic decoder 3 with 1-bit insertion every time
a is an arithmetic code 15a sent from the arithmetic encoder 2a using the one-bit insertion method each time and an output value YN to be decoded.
Predicted value MPS17 and LPS region width Qe19 prior to 16
, An output value YN16 obtained by arithmetically decoding the arithmetic code 15a captured by detecting and processing the carry control signal 100a is output. Output side model / probability generator 4
Is the output value YN1 for the decoded output value YN16.
6 and the non-predicted value LPS1 prior to the appearance of 6
An area width Qe19 of 8 (inverted value of the predicted value MPS17) is output, an output value YN16 is obtained by decoding based on this value, and output data 20 is output.
【0007】上記従来例の符号伝送装置は、伝送される
算術符号中にバイトX’FF’が出現するごとにその直
後のバイトの最上位ビットに1ビットの桁上がり制御信
号としてビット’0’を挿入して算術演算時に下位から
発生する桁上がりを上位へ伝播させないように吸収させ
る伝送制御方式(毎回1ビット挿入方式)をとる。ただ
し、桁上がり制御信号が桁上がりを吸収した場合にはビ
ット’1’となる。In the conventional code transmission apparatus, each time a byte X'FF 'appears in a transmitted arithmetic code, a bit' 0 'is added to the most significant bit of the byte immediately after it as a carry control signal of one bit. And a transmission control method (a 1-bit insertion method each time) is employed to absorb carry generated from the lower part during arithmetic operation so as not to propagate to the upper part. However, when the carry control signal absorbs the carry, the bit becomes “1”.
【0008】入力側のモデル・確率発生器1は図86の
ように、入力データ10の入力に対して入力値YN11
とその入力値YN11の出現に先立つ予測値MPS12
と非予測値LPS13の領域幅Qe14を算術符号器2
aへ出力する。算術符号器2aにて正規化が行われたと
き非予測値LPS13の確率状態を遷移させ、LPS領
域幅Qe14を更新する。The model / probability generator 1 on the input side receives an input value YN11 for an input of input data 10 as shown in FIG.
And the predicted value MPS12 prior to the appearance of the input value YN11
And the region width Qe14 of the non-predicted value LPS13
Output to a. When normalization is performed by the arithmetic encoder 2a, the probability state of the non-prediction value LPS13 is changed, and the LPS region width Qe14 is updated.
【0009】毎回1ビット挿入方式による算術符号器2
aは図87のように、符号化を毎回1ビット挿入方式に
よる算術符号化手段5aで示されるフローチャート図に
沿って行う。INITENCは符号化開始時に初期化処
理を行うものである。MPS,Qe,YNの獲得は入力
側のモデル・確率発生器1から3つのパラメータ(入力
値YN11、予測値MPS12、LPS領域幅Qe1
4)を受け取ることで実現される。ENCODEは受け
取ったパラメータを用いて符号化の実処理を行うもので
ある。MPS,Qe,YNの獲得およびENCODEは
パラメータの入力が終了するまで繰り返される。FLU
SHはパラメータの入力がすべて終了した後に符号化の
後処理を行うものである。Arithmetic encoder 2 using 1-bit insertion method each time
As shown in FIG. 87, encoding is performed in accordance with the flowchart shown in the arithmetic encoding means 5a by the one-bit insertion method every time as shown in FIG. INITENC performs initialization processing at the start of encoding. MPS, Qe, and YN are obtained from the input side model / probability generator 1 by three parameters (input value YN11, predicted value MPS12, LPS area width Qe1).
This is realized by receiving 4). ENCODE performs actual processing of encoding using the received parameters. The acquisition of MPS, Qe, YN and ENCODE are repeated until the input of the parameters is completed. FLU
SH performs post-coding processing after input of all parameters is completed.
【0010】毎回1ビット挿入方式による算術符号器2
aのCレジスタ30は図88のように、32ビットのレ
ジスタで構成されている。Cレジスタ30において、小
数点はビット11とビット12の間に採られ、ビット0
〜11をCxレジスタ31、ビット12〜15をCsレ
ジスタ32、ビット16〜23をCbレジスタ33、ビ
ット24〜31をCfレジスタ34と分割して指すこと
とする。LPS領域幅Qe14はCxレジスタ31と同
精度でCxレジスタ部31に加算される。算術符号15
aとしては、Cbレジスタ部33またはビット17〜2
4の内容が算術符号バッファへ出力される。Cfレジス
タ部34は算術符号バッファへの出力タイミングを示す
のに使用され、出力フラグがセットされ、Cレジスタ3
0の最上位ビットまでシフトされたときに1バイト分の
算術符号15aが蓄積され、算術符号バッファ(Bバッ
ファ36)への書き込みが可能になったことを示す。A
レジスタ35は図87のように、16ビットのレジスタ
で構成され、Cxレジスタ31と小数点を対応させ、L
PS領域幅Qe14との演算が行われる。Arithmetic coder 2 using 1-bit insertion method each time
As shown in FIG. 88, the C register 30 of a is composed of a 32-bit register. In the C register 30, the decimal point is taken between bit 11 and bit 12 and bit 0
11 to Cx register 31, bits 12 to 15 to Cs register 32, bits 16 to 23 to Cb register 33, and bits 24 to 31 to Cf register 34. The LPS region width Qe14 is added to the Cx register unit 31 with the same precision as the Cx register 31. Arithmetic code 15
a is the Cb register unit 33 or bits 17 to 2
4 is output to the arithmetic code buffer. The Cf register section 34 is used to indicate the output timing to the arithmetic code buffer, an output flag is set, and the C register 3
When shifted to the most significant bit of 0, one byte of the arithmetic code 15a is accumulated, indicating that writing to the arithmetic code buffer (B buffer 36) is enabled. A
The register 35 is composed of a 16-bit register as shown in FIG.
The calculation with the PS region width Qe14 is performed.
【0011】毎回1ビット挿入方式による算術符号化手
段5aでの符号化処理をフローチャート図を示して説明
する。まず、フローチャート図の中で使用される変数・
定数を示す。 C Cレジスタ値(符号レジスタ) 〜30 Cx Cxレジスタ値(ビット0〜11) 〜31 Cs Csレジスタ値(ビット12〜15) 〜32 Cb Cbレジスタ値(ビット16〜23) 〜33 Cf Cfレジスタ値(ビット24〜31) 〜34 A Aレジスタ値(有効領域幅) 〜35 YN 入力値 〜11 MPS 予測値 〜12 LPS 非予測値 〜13 Qe LPS領域幅 〜14 B Bバッファ値,バッファポインタの指すバイト 〜36 BP バッファポインタ(算術符号バッファ格納先の指定) 〜37 CT 後処理(FLUSH)用カウンタ値 〜38 Amin 有効領域最小値(正規化実行条件用) BPST 算術符号バッファ先頭アドレス LEN バッファ容量(単位:バイト) BE バッファ終了アドレスThe encoding process in the arithmetic encoding means 5a by the one-bit insertion method each time will be described with reference to a flowchart. First, the variables used in the flowchart
Indicates a constant. C C register value (sign register) 3030 Cx Cx register value (bits 0 to 11) 3131 Cs Cs register value (bits 12 to 15) 3232 Cb Cb register value (bits 16 to 23) 3333 Cf Cf register value (Bits 24 to 31) 3434 A A register value (effective area width) 3535 YN input value 1111 MPS predicted value 1212 LPS unpredicted value 1313 Qe LPS area width 1414 BB buffer value, pointed by buffer pointer Byte 3636 BP Buffer pointer (designation of arithmetic code buffer storage destination) 3737 CT Counter value for post-processing (FLUSH) 3838 Amin Minimum effective area (for normalization execution condition) BPST Arithmetic code buffer head address LEN buffer capacity ( (Unit: bytes) BE buffer end address
【0012】符号化開始時の初期化処理であるINIT
ENCは図89のように、まずテーブルのセットアップ
を行う。そして算術符号バッファの確保・設定を行う。
バッファポインタBP37はバッファ先頭アドレスBP
STより1つ前を指し、その内容であるBバッファ36
には特別の意味を持つバイトX’FF’でない値として
バイトX’80’をセットする。Aレジスタ35には初
期値として有効領域最小値をセットする。Amin には有
効領域最小値をセットし、Amin については符号化処理
中に変更はない。Cレジスタ30にはCfレジスタ部3
4へ出力フラグのみをセットする。符号化開始時の状態
において出力されるべき算術符号はCxレジスタ31
(小数点)以下であるからビット11がCbレジスタ3
3の最上位ビット(ビット23)に達したとき最初の出
力が行われるように出力フラグはCbレジスタ33内部
(ビット20)にセットされる。INIT which is an initialization process at the start of encoding
The ENC first sets up the table as shown in FIG. Then, the arithmetic code buffer is secured and set.
The buffer pointer BP37 is the buffer head address BP
Point to one before ST, and its contents, B buffer 36
Is set to a byte X'80 'as a value which is not a byte X'FF' having a special meaning. The minimum value of the effective area is set in the A register 35 as an initial value. Amin is set to the minimum value of the effective area, and Amin is not changed during the encoding process. In the C register 30, the Cf register section 3
Only the output flag is set to 4. The arithmetic code to be output in the state at the start of encoding is the Cx register 31
Bit 11 is in Cb register 3 because it is less than (decimal point)
The output flag is set in the Cb register 33 (bit 20) so that the first output is performed when the third most significant bit (bit 23) is reached.
【0013】符号化の実処理であるENCODEは図9
0のように、入力側のモデル・確率発生器1から得られ
た入力値YN11が1ならばCODEYN1、0ならば
CODEYN0を実行する。ENCODE, which is the actual processing of encoding, is shown in FIG.
If the input value YN11 obtained from the model / probability generator 1 on the input side is 1, such as 0, CODEYN1 is executed, and if 0, CODEYN0 is executed.
【0014】入力値YN11=1の処理であるCODE
YN1は図91のように、予測値MPS12が1ならば
MPS符号化処理としてAレジスタ値35からLPS領
域幅Qe14を減じ、Cレジスタ値30にLPS領域幅
Qe14を加えて更新する。更新したAレジスタ値35
が有効領域最小値Amin よりも小さいときには正規化処
理RENORMEを行う。予測値MPS12が0ならば
LPS符号化処理としてAレジスタ値35をLPS領域
幅Qe14に更新し、Cレジスタ値30は更新せずに正
規化処理RENORMEを行う。CODE which is processing of input value YN11 = 1
As shown in FIG. 91, if the predicted value MPS12 is 1, YN1 subtracts the LPS region width Qe14 from the A register value 35 as the MPS encoding process and updates the C register value 30 by adding the LPS region width Qe14. Updated A register value 35
Is smaller than the effective area minimum value Amin, a normalization process RENORME is performed. If the predicted value MPS12 is 0, the A register value 35 is updated to the LPS area width Qe14 as the LPS encoding process, and the normalization process RENORME is performed without updating the C register value 30.
【0015】入力値YN11=0の処理であるCODE
YN0は図92のように、予測値MPS12が0ならば
MPS符号化処理としてAレジスタ値35からLPS領
域幅Qe14を減じ、Cレジスタ値30にLPS領域幅
Qe14を加えて更新する。更新したAレジスタ値35
が有効領域最小値Amin よりも小さいときには正規化処
理RENORMEを行う。予測値MPS12が1ならば
LPS符号化処理としてAレジスタ値35をLPS領域
幅Qe14に更新し、Cレジスタ値30は更新せずに正
規化処理RENORMEを行う。CODE which is processing of input value YN11 = 0
As shown in FIG. 92, if the predicted value MPS12 is 0, YN0 updates the A register value 35 by subtracting the LPS area width Qe14 from the A register value 35 and adds the LPS area width Qe14 to the C register value 30 as MPS encoding processing. Updated A register value 35
Is smaller than the effective area minimum value Amin, a normalization process RENORME is performed. If the predicted value MPS12 is 1, the A register value 35 is updated to the LPS area width Qe14 as the LPS encoding process, and the normalization process renorme is performed without updating the C register value 30.
【0016】符号化の正規化処理であるRENORME
は図93のように、Aレジスタ35を1ビット左にシフ
ト(SLL:Shift Left Logical)させて2倍の乗算を
実現している。Cレジスタ値30が負の場合出力フラグ
が左シフト操作により最上位ビットにセットされたこと
を示し、1バイトの算術符号15aが出力可能になった
ことを意味する。そこで、Cレジスタ30を1ビット左
シフトさせた後に算術符号15aをBバッファ36へ出
力する出力処理BYTEOUTを行う。負でなければC
レジスタ30を1ビット左シフトのみさせて1バイトの
算術符号15aが出力可能となるのを待つ。さらにAレ
ジスタ値35が有効領域最小値Amin よりも小さいとき
にはCレジスタ30、Aレジスタ35の両方についてA
レジスタ値35が有効領域最小値Amin 以上になるまで
Aレジスタ35の左シフト操作から繰り返す。そして正
規化処理終了時に入力側のモデル・確率発生器1が出力
するLPS領域幅Qe14を次なる確率状態でとるべき
LPS領域幅Qe14に更新させる。RENORME which is a normalization process of encoding
As shown in FIG. 93, the A register 35 is shifted left by one bit (SLL: Shift Left Logical) to realize double multiplication. If the C register value 30 is negative, it indicates that the output flag has been set to the most significant bit by the left shift operation, which means that the one-byte arithmetic code 15a has been output. Therefore, an output process BYTEOUT for outputting the arithmetic code 15a to the B buffer 36 after shifting the C register 30 left by one bit is performed. C if not negative
It waits until the register 30 is shifted only one bit to the left to output the one-byte arithmetic code 15a. Further, when the A register value 35 is smaller than the effective area minimum value Amin, A
The operation is repeated from the left shift operation of the A register 35 until the register value 35 becomes equal to or more than the effective area minimum value Amin. Then, at the end of the normalization processing, the LPS region width Qe14 output from the input-side model / probability generator 1 is updated to the LPS region width Qe14 to be taken in the next probability state.
【0017】算術符号15aの出力処理であるBYTE
OUTは図94のように、Bバッファ値36がバイト
X’FF’ならば7ビット出力処理SHIP7を行う。
バイトX’FF’でなく、Cレジスタ値30がX’FF
FFFF’より大きい場合には桁上がりをBバッファ3
6へ伝播させる。Cレジスタ値30がX’FFFFF
F’より大きい場合とはLPS領域幅Qe14の加算に
よりCsレジスタ32、Cbレジスタ33を経て桁上が
りがCfレジスタ34の最下位ビット(キャリービッ
ト)まで伝播したときである。この結果Bバッファ値3
6がバイトX’FF’となればCレジスタ30のキャリ
ービット(Bバッファ36へ伝播済み)をクリアして7
ビット出力処理SHIP7を行う。Bバッファ値36が
バイトX’FF’でなければ8ビット出力処理SHIP
8を行う。最初にBバッファ値36がバイトX’FF’
でなく、Cレジスタ値30がX’FFFFFF’より大
きくなければ8ビット出力処理SHIP8を行う。BYTE which is an output process of the arithmetic code 15a
OUT performs 7-bit output processing SHIP7 if the B buffer value 36 is byte X'FF 'as shown in FIG.
Not byte X'FF 'but C register value 30 is X'FF
If it is larger than FFFF ', carry is added to B buffer 3
Propagate to 6. C register value 30 is X'FFFFF
The case where the carry is larger than F ′ is when the carry propagates to the least significant bit (carry bit) of the Cf register 34 via the Cs register 32 and the Cb register 33 by the addition of the LPS area width Qe14. As a result, the B buffer value 3
When 6 becomes byte X'FF ', the carry bit of C register 30 (propagated to B buffer 36) is cleared and 7
The bit output processing SHIP7 is performed. If the B buffer value 36 is not byte X'FF ', 8-bit output processing SHIP
Perform Step 8. First, B buffer value 36 is byte X'FF '
If the C register value 30 is not larger than X'FFFFFF ', the 8-bit output processing SHIP8 is performed.
【0018】8ビット出力処理であるSHIP8は図9
5のように、まずBバッファ36の更新処理NEXTB
YTEを行う。Cレジスタ値30を16ビット右にシフ
ト(SRL:Shift Right Logical )させた値、つまり
Cbレジスタ部33(ビット16〜23)をBバッファ
36に出力する。Cレジスタ値30の出力済みまたは不
要なビット(ビット16〜31)をクリアし、残したビ
ットの最上位ビット(ビット15)が正規化によりCb
レジスタ33の最上位ビット(ビット23)に達したと
きにBYTEOUTが行われるように出力フラグをビッ
ト24にセットする。SHIP8, which is an 8-bit output process, is shown in FIG.
5, first, the update processing NEXTB of the B buffer 36
Perform YTE. A value obtained by shifting the C register value 30 to the right by 16 bits (SRL: Shift Right Logical), that is, the Cb register unit 33 (bits 16 to 23) is output to the B buffer 36. The output or unnecessary bits (bits 16 to 31) of the C register value 30 are cleared, and the most significant bit (bit 15) of the remaining bits is normalized by Cb.
The output flag is set to bit 24 so that BYTEOUT is performed when the most significant bit (bit 23) of register 33 is reached.
【0019】7ビット出力処理であるSHIP7は図9
6のように、まずBバッファ36の更新処理NEXTB
YTEを行う。Cレジスタ値30を17ビット右にシフ
トさせた値、つまりCbレジスタ33の上位7ビット
(ビット17〜23)とCfレジスタ34の最下位ビッ
ト(ビット24)をBバッファ36に出力する。ビット
24は挿入すべき桁上がり制御信号100aとして出力
され、バイトX’FF’の直後のバイトの最上位ビット
に位置付けられる。Cレジスタ値30の出力済みまたは
不要なビット(ビット17〜31)をクリアし、残した
ビットの最上位ビット(ビット16)が正規化によりC
bレジスタ33の最上位ビット(ビット23)に達した
ときにBYTEOUTが行われるように出力フラグをビ
ット25にセットする。FIG. 9 shows SHIP7 which is a 7-bit output process.
6, the update processing NEXTB of the B buffer 36 is performed first.
Perform YTE. A value obtained by shifting the C register value 30 to the right by 17 bits, that is, the upper 7 bits (bits 17 to 23) of the Cb register 33 and the least significant bit (bit 24) of the Cf register 34 are output to the B buffer 36. Bit 24 is output as carry control signal 100a to be inserted and is positioned at the most significant bit of the byte immediately following byte X'FF '. The output or unnecessary bits (bits 17 to 31) of the C register value 30 are cleared, and the most significant bit (bit 16) of the remaining bits is normalized to C
The output flag is set to bit 25 so that BYTEOUT is performed when the most significant bit (bit 23) of the b register 33 is reached.
【0020】符号化のBバッファ36の更新処理である
NEXTBYTEは図97のように、バッファポインタ
BP37を1進めて更新し、バッファポインタBP37
がバッファ終了アドレスBEより小さくなければ(等し
ければ)算術符号バッファに蓄積した算術符号15aを
伝送し、バッファポインタBP37をバッファ先頭アド
レスBPSTに再初期化する。NEXTBYTE, which is an update process of the encoding B buffer 36, updates the buffer pointer BP37 by one, as shown in FIG.
Is smaller than the buffer end address BE (if equal), the arithmetic code 15a stored in the arithmetic code buffer is transmitted, and the buffer pointer BP37 is reinitialized to the buffer head address BPST.
【0021】符号化の後処理であるFLUSHは図98
のように、後処理用カウンタ値CT38をCxレジスタ
部31,Csレジスタ部32,Cbレジスタ部33を掃
き出すための総ビット数24にセットする。次に後処理
用カウンタ値CT38を1減じて、Cレジスタ値30が
負すなわち最上位ビットに出力フラグが位置した場合に
はCレジスタ30を1ビット左にシフトさせた後に算術
符号15aの最終出力処理FINALBYTESを行
う。Cレジスタ値30が正すなわち1バイトの算術符号
15aが出力可能でない場合にはCレジスタ30を1ビ
ット左にシフトのみさせ、後処理用カウンタ値CT38
の減算処理から繰り返す。FLUSH, which is post-coding processing, is shown in FIG.
As described above, the post-processing counter value CT38 is set to the total bit number 24 for sweeping out the Cx register unit 31, the Cs register unit 32, and the Cb register unit 33. Next, the post-processing counter value CT38 is decremented by one, and when the C register value 30 is negative, that is, when the output flag is located at the most significant bit, the C register 30 is shifted one bit to the left and then the final output of the arithmetic code 15a Processing FINALBYTES is performed. If the C register value 30 is positive, that is, if the one-byte arithmetic code 15a cannot be output, the C register 30 is shifted only one bit to the left, and the post-processing counter value CT38
Is repeated from the subtraction process.
【0022】算術符号15aの最終出力処理であるFI
NALBYTESは図99のように、Bバッファ値36
がバイトX’FF’ならば7ビット掃き出し処理FLU
SH7を行う。バイトX’FF’でなく、Cレジスタ値
30がX’FFFFFF’より大きい場合には桁上がり
をBバッファ36へ伝播させる。Cレジスタ値30が
X’FFFFFF’より大きい場合とはLPS領域幅Q
e14の加算によりCsレジスタ32、Cbレジスタ3
3を経て桁上がりがCfレジスタ34の最下位ビット
(キャリービット)まで伝播していたときである。この
結果Bバッファ値36がバイトX’FF’となればキャ
リービットをクリアして7ビット掃き出し処理FLUS
H7を行う。Bバッファ値36がバイトX’FF’でな
ければ8ビット掃き出し処理FLUSH8を行う。最初
にBバッファ値36がバイトX’FF’でなく、Cレジ
スタ値30がX’FFFFFF’より大きくなければ8
ビット掃き出し処理FLUSH8を行う。8ビット掃き
出し処理FLUSH8または7ビット掃き出し処理FL
USH7を行った後に後処理用カウンタ値CT38が正
ならば最初のBバッファ値36の内容がバイトX’F
F’か否かの判断から繰り返す。後処理用カウンタ値C
T38が正でなければバッファポインタBP37を1進
める。なお、算術符号15aがバイト境界で終了しない
ときバイト境界までビット’0’が付加される。そして
バッファ先頭アドレスBPSTから蓄積しているBP−
BPSTバイトの算術符号15aを伝送して符号化処理
を終了する。FI which is the final output processing of the arithmetic code 15a
NALBYTES has a B buffer value of 36 as shown in FIG.
If 7 is byte X'FF ', 7-bit sweep processing FLU
Perform SH7. If the C register value 30 is larger than X'FFFFFF 'instead of byte X'FF', the carry is propagated to B buffer 36. The case where the C register value 30 is larger than X'FFFFFF 'means the LPS area width Q
By adding e14, Cs register 32 and Cb register 3
This is when the carry has propagated to the least significant bit (carry bit) of the Cf register 34 via 3. As a result, when the B buffer value 36 becomes byte X'FF ', the carry bit is cleared and the 7-bit sweep processing FLUS is performed.
Perform H7. If the B buffer value 36 is not the byte X'FF ', an 8-bit flush process FLUSH8 is performed. First, if the B buffer value 36 is not byte X'FF 'and the C register value 30 is not greater than X'FFFFFF',
The bit flush processing FLUSH8 is performed. 8-bit sweep processing FLUSH8 or 7-bit sweep processing FL
If the post-processing counter value CT38 is positive after performing USH7, the contents of the first B buffer value 36 are bytes X'F
It repeats from the judgment of F '. Post-processing counter value C
If T38 is not positive, the buffer pointer BP37 is advanced by one. If the arithmetic code 15a does not end on a byte boundary, a bit '0' is added up to the byte boundary. The BP- stored from the buffer head address BPST-
The BPST byte arithmetic code 15a is transmitted, and the encoding process ends.
【0023】8ビット掃き出し処理であるFLUSH8
は図100のように、まずBバッファ36の更新処理N
EXTBYTEを行う。Cレジスタ30を16ビット右
にシフトさせた値、つまりCbレジスタ部33(ビット
16〜23)をBバッファ36に出力する。Cレジスタ
値30の出力済みまたは不要なビット(ビット16〜3
1)をクリアし、残したビットの最上位ビット(ビット
15)がCbレジスタ33の最上位ビット(ビット2
3)に達するようにCレジスタ30を8ビット左にシフ
トさせるとともに後処理用カウンタ値CT38から8を
減じる。FLUSH8 which is an 8-bit sweeping process
100, first, as shown in FIG.
Perform EXTBYTE. The value obtained by shifting the C register 30 rightward by 16 bits, that is, the Cb register unit 33 (bits 16 to 23) is output to the B buffer 36. Output or unnecessary bits of the C register value 30 (bits 16 to 3)
1), and the most significant bit (bit 15) of the remaining bits is the most significant bit (bit 2) of the Cb register 33.
The C register 30 is shifted to the left by 8 bits so as to reach 3), and 8 is subtracted from the post-processing counter value CT38.
【0024】7ビット掃き出し処理であるFLUSH7
は図101のように、まずBバッファ36の更新処理N
EXTBYTEを行う。Cレジスタ30を17ビット右
にシフトさせてCbレジスタ33の上位7ビット(ビッ
ト17〜23)とCfレジスタ34の最下位ビット(ビ
ット24)をBバッファ36に出力する。出力されるビ
ット24は桁上がり制御信号100aとして挿入され、
バイトX’FF’の直後のバイトの最上位ビットに位置
付けられる。Cレジスタ値30の出力済みまたは不要な
ビット(ビット17〜31)をクリアし、残したビット
の最上位ビット(ビット16)がCbレジスタ33の最
上位ビット(ビット23)に達するようにCレジスタ3
0を7ビット左にシフトさせるとともに後処理用カウン
タ値CT38から7を減じる。FLUSH7 which is a 7-bit sweeping process
101. First, as shown in FIG.
Perform EXTBYTE. The C register 30 is shifted to the right by 17 bits, and the upper 7 bits (bits 17 to 23) of the Cb register 33 and the least significant bit (bit 24) of the Cf register 34 are output to the B buffer 36. Output bit 24 is inserted as carry control signal 100a,
It is located at the most significant bit of the byte immediately after byte X'FF '. The output or unnecessary bits (bits 17 to 31) of the C register value 30 are cleared, and the C register is set so that the most significant bit (bit 16) of the remaining bits reaches the most significant bit (bit 23) of the Cb register 33. 3
It shifts 0 to the left by 7 bits and subtracts 7 from the post-processing counter value CT38.
【0025】毎回1ビット挿入方式による算術復号器3
aは図87のように、復号を毎回1ビット挿入方式によ
る算術復号手段6aで示されるフローチャート図に沿っ
て行う。INITDECは復号開始時に初期化処理を行
うものである。MPS,Qeの獲得は出力側のモデル・
確率発生器4から2つのパラメータ(予測値MPS1
7、LPS領域幅Qe19)を受け取ることで実現され
る。DECODEは受け取った算術符号15aとパラメ
ータから復号の実処理を実行し、出力パラメータ(出力
値YN16)を出力するものである。MPS,Qeの獲
得およびDECODEはパラメータの入出力が終了する
まで繰り返される。Arithmetic decoder 3 by 1-bit insertion method every time
In FIG. 87A, decoding is performed in accordance with the flowchart shown by the arithmetic decoding means 6a using the 1-bit insertion method every time, as shown in FIG. INITDEC performs initialization processing at the start of decoding. MPS and Qe acquisition is the output model
From the probability generator 4, two parameters (predicted value MPS1
7. This is realized by receiving the LPS region width Qe19). DECODE executes actual decoding processing from the received arithmetic code 15a and parameters, and outputs output parameters (output value YN16). The acquisition of MPS, Qe and DECODE are repeated until the input / output of parameters is completed.
【0026】毎回1ビット挿入方式による算術復号器3
aのCレジスタ50は図102のように、32ビットの
レジスタで構成されている。Cレジスタ50において、
小数点はビット27とビット28の間に採られ、ビット
0〜7をCfレジスタ51、ビット8〜15をCnレジ
スタ52、ビット16〜27(〜ビット31)をCxレ
ジスタ53と分割して指すこととする。LPS領域幅Q
e19はCxレジスタ53と同精度でCxレジスタ部5
3から減算される。算術符号15aは、Cnレジスタ部
52またはビット9〜16に算術符号バッファから取り
込まれる。Cfレジスタ部51は算術符号バッファから
の入力タイミングを示すのに使用され、入力フラグがセ
ットされ、Cnレジスタ52の最下位ビットまでシフト
されたときに次なる1バイトの算術符号15aの入力が
必要なことを示す。Aレジスタ54は図54のように、
16ビットのレジスタで構成され、Cxレジスタ53と
小数点を対応させ、LPS領域幅Qe19との演算が行
われる。Arithmetic decoder 3 using 1-bit insertion method each time
As shown in FIG. 102, the C register 50a is composed of a 32-bit register. In the C register 50,
The decimal point is taken between bits 27 and 28. Bits 0-7 are divided into Cf register 51, bits 8-15 are divided into Cn register 52, and bits 16-27 (~ bit 31) are divided into Cx register 53. And LPS area width Q
e19 is the same precision as the Cx register 53 and the Cx register unit 5
It is subtracted from 3. The arithmetic code 15a is fetched from the arithmetic code buffer into the Cn register unit 52 or bits 9 to 16. The Cf register section 51 is used to indicate the input timing from the arithmetic code buffer. When the input flag is set and the bit is shifted to the least significant bit of the Cn register 52, the next 1-byte arithmetic code 15a needs to be input. It is shown. The A register 54, as shown in FIG.
A 16-bit register is used, and the Cx register 53 is associated with the decimal point, and the calculation with the LPS area width Qe19 is performed.
【0027】毎回1ビット挿入方式による算術復号手段
6aでの復号処理をフローチャート図を示して説明す
る。まず、フローチャート図の中で使用される変数・定
数を示す。 C Cレジスタ値(復号レジスタ) 〜50 Cf Cfレジスタ値(ビット0〜7) 〜51 Cn Cnレジスタ値(ビット8〜15) 〜52 Cx Cxレジスタ値(ビット16〜31) 〜53 A Aレジスタ値(有効領域幅) 〜54 YN 出力値 〜16 MPS 予測値 〜17 LPS 非予測値 〜18 Qe LPS領域幅 〜19 B Bバッファ値,バッファポインタの指すバイト 〜55 BP バッファポインタ(算術符号バッファ格納先の指定) 〜56 Amin 有効領域最小値(正規化実行条件用) BPST 算術符号バッファ先頭アドレス LEN バッファ容量(単位:バイト) BE バッファ終了アドレスThe decoding processing by the arithmetic decoding means 6a by the one-bit insertion method each time will be described with reference to a flowchart. First, variables and constants used in the flowchart are shown. C C register value (decoding register) 5050 Cf Cf register value (bits 0 to 7) 5151 Cn Cn register value (bits 8 to 15) 5252 Cx Cx register value (bits 16 to 31) 5353 A A register value (Effective area width) 5454 YN output value 1616 MPS predicted value 1717 LPS unpredicted value 1818 Qe LPS area width 1919 BB buffer value, byte pointed by buffer pointer 5555 BP buffer pointer (arithmetic code buffer storage destination) )-56 Amin Effective area minimum value (for normalization execution conditions) BPST Arithmetic code buffer start address LEN buffer capacity (unit: bytes) BE buffer end address
【0028】復号開始時の初期化処理であるINITD
ECは図103のように、まずテーブルのセットアップ
を行う。そして算術符号バッファの確保・設定を行う。
バッファポインタBP56はバッファ先頭アドレスBP
STを指し、バッファに算術符号15aを受け取る。A
レジスタ54には初期値として有効領域最小値をセット
する。Amin には有効領域最小値をセットし、Amin に
ついては復号処理中に変更はない。Cxレジスタ部53
に算術符号15aを入力するために、まずBバッファ値
55を16ビット左にシフトさせて取り込む。次に算術
符号15aの入力処理BYTEINを行って算術符号1
5aをCnレジスタ部52に取り込んだ後、さらにCレ
ジスタ50を4ビット左にシフトすることによりCxレ
ジスタ53(12ビット)を初期化、すなわち復号すべ
き算術符号15bをCxレジスタに設定する。INITD which is initialization processing at the start of decoding
The EC first sets up the table as shown in FIG. Then, the arithmetic code buffer is secured and set.
The buffer pointer BP56 is the buffer start address BP
ST, the arithmetic code 15a is received in the buffer. A
The minimum value of the effective area is set in the register 54 as an initial value. Amin is set to the minimum value of the effective area, and Amin is not changed during the decoding process. Cx register unit 53
In order to input the arithmetic code 15a, the B buffer value 55 is first shifted left by 16 bits and taken in. Next, the input process BYTEIN of the arithmetic code 15a is performed to obtain the arithmetic code 1
After taking 5a into the Cn register section 52, the Cx register 53 (12 bits) is initialized by shifting the C register 50 to the left by 4 bits, that is, the arithmetic code 15b to be decoded is set in the Cx register.
【0029】復号の実処理であるDECODEは図10
4のように、Cxレジスタ値53が出力側のモデル・確
率発生器4から得られたLPS領域幅Qe19以上なら
ばMPS復号処理として出力値YN16を予測値MPS
17として復号し、Cレジスタ値50、Aレジスタ値5
4ともにLPS領域幅Qe19を減じて更新する。更新
したAレジスタ値54が有効領域最小値Amin よりも小
さいときには正規化処理RENORMDを行う。Cxレ
ジスタ値53がLPS領域幅Qe19未満ならばLPS
復号処理として出力値YN16を非予測値LPS18と
して復号し、Aレジスタ値54をLPS領域幅Qe19
に更新し、Cレジスタ値50は更新せずに正規化処理R
ENORMDを行う。DECODE, which is the actual decryption process, is shown in FIG.
4, if the Cx register value 53 is equal to or larger than the LPS area width Qe19 obtained from the model / probability generator 4 on the output side, the output value YN16 is converted to the predicted value MPS as MPS decoding processing.
17 and the C register value 50 and the A register value 5
4 is updated by subtracting the LPS region width Qe19. When the updated A register value 54 is smaller than the effective area minimum value Amin, a normalization process RENORMD is performed. LPS if Cx register value 53 is less than LPS area width Qe19
As a decoding process, the output value YN16 is decoded as the non-prediction value LPS18, and the A register value 54 is set to the LPS area width Qe19.
And the normalization process R without updating the C register value 50
Perform ENORMD.
【0030】復号の正規化処理であるRENORMDは
図105のように、Cfレジスタ51の入力フラグがC
nレジスタ52の最下位ビットにシフトされ、Cfレジ
スタ値51がバイトX’00’となったならば算術符号
15aの入力処理であるBYTEINを行う。そしてC
レジスタ50、Aレジスタ54をそれぞれ1ビット左に
シフトさせる。さらにAレジスタ値54が有効領域最小
値Amin よりも小さいときにはCfレジスタ値51がバ
イトX’00’か否かの判断から繰り返す。そして正規
化処理終了時に出力側のモデル・確率発生器4が出力す
るLPS領域幅Qe19を次なる確率状態でとるべきL
PS領域幅Qe19に更新させる。As shown in FIG. 105, RENORMD, which is a decoding normalization process, is performed when the input flag of the Cf register 51 is set to C
When the value is shifted to the least significant bit of the n register 52 and the Cf register value 51 becomes byte X'00 ', BYTEIN which is input processing of the arithmetic code 15a is performed. And C
The register 50 and the A register 54 are each shifted left by one bit. Further, when the A register value 54 is smaller than the effective area minimum value Amin, the process is repeated from the judgment as to whether or not the Cf register value 51 is byte X'00 '. Then, at the end of the normalization processing, the LPS region width Qe19 output from the model / probability generator 4 on the output side is set to the following probability state.
The PS area width Qe19 is updated.
【0031】算術符号15aの入力処理であるBYTE
INは図106のように、Bバッファ値55がバイト
X’FF’ならばまずBバッファ55の更新処理GET
BYTEを行い、更新されたBバッファ55は桁上がり
制御信号100aを最上位ビットに持っている。正規化
により7ビット(桁上がり制御信号100aは除くた
め)シフト後に1バイトの算術符号15aの入力処理が
行われるように入力フラグをCfレジスタ51のビット
1にセットし、Cnレジスタ52をクリアし、Bバッフ
ァ値55を9ビット左シフトした値をCレジスタ50に
加えることにより入力する。Bバッファ55の最上位ビ
ットである桁上がり制御信号100aはCxレジスタ5
3の最下位ビット(ビット16)にそのまま加えられる
ことにより吸収した桁上がりを伝播させることができ
る。Bバッファ値55がバイトX’FF’でなければ正
規化により8ビットシフト後に算術符号15aの入力処
理が行われるように入力フラグをCfレジスタ51のビ
ット0にセットし、Cnレジスタ52にBバッファ値5
5をそのまま入力する。BYTE as input processing of arithmetic code 15a
As shown in FIG. 106, if the B buffer value 55 is byte X'FF 'as shown in FIG.
BYTE is performed, and the updated B buffer 55 has the carry control signal 100a in the most significant bit. The input flag is set to bit 1 of the Cf register 51 and the Cn register 52 is cleared so that the input process of the 1-byte arithmetic code 15a is performed after shifting by 7 bits (to exclude the carry control signal 100a) by normalization. , B buffer value 55 is shifted by 9 bits to the left and added to C register 50 for input. The carry control signal 100a, which is the most significant bit of the B buffer 55, is
By being added to the least significant bit (bit 16) of 3 as it is, the absorbed carry can be propagated. If the B buffer value 55 is not byte X'FF ', the input flag is set to bit 0 of the Cf register 51 so that the input processing of the arithmetic code 15a is performed after the shift by 8 bits by normalization, and the B buffer is stored in the Cn register 52. Value 5
Enter 5 as is.
【0032】復号のBバッファ55の更新処理であるG
ETBYTEは図107のように、バッファポインタB
P56を1進めて更新し、バッファポインタBP56が
バッファ終了アドレスBEより小さくなければ(等しけ
れば)算術符号バッファに算術符号15aを受け取り、
バッファポインタBP56をバッファ先頭アドレスBP
STに再初期化する。G for updating the B buffer 55 for decoding
ETBYTE is the buffer pointer B as shown in FIG.
When P56 is updated by 1 and the buffer pointer BP56 is not smaller than the buffer end address BE (if equal), the arithmetic code buffer 15 receives the arithmetic code 15a,
The buffer pointer BP56 is set to the buffer start address BP.
Reinitialize to ST.
【0033】出力側のモデル・確率発生器4は図86の
ように、復号される出力値YN16に対してまずその出
力値YN16の出現に先立つ予測値MPS17と非予測
値LPS18の領域幅Qe19を算術復号器3aへ出力
し、復号された出力値YN16を入力として受け取り、
出力データ20を出力する。算術復号器3aにて正規化
が行われたとき非予測値LPS18の確率状態を遷移さ
せ、LPS領域幅Qe19を更新する。As shown in FIG. 86, the model / probability generator 4 on the output side calculates the region width Qe19 of the predicted value MPS17 and the non-predicted value LPS18 prior to the appearance of the output value YN16 for the decoded output value YN16. Output to the arithmetic decoder 3a and receive as input the decoded output value YN16,
The output data 20 is output. When the arithmetic decoder 3a normalizes, the probability state of the non-prediction value LPS18 is changed, and the LPS region width Qe19 is updated.
【0034】[0034]
【発明が解決しようとする課題】上記のような従来の符
号伝送装置では、符号を伝送する符号系列で一定の1ラ
ン長毎に1ビットの桁上がり伝搬吸収用制御ビットを毎
回挿入する伝送制御方式 (毎回1ビット挿入方式)を採
るから、1ラン長に比例して挿入ビット数が多くなり伝
送する総符号長を長くする問題があった。 In the conventional code transmission device as described above , a fixed one-line code sequence is used to transmit a code.
One carry propagation absorption control bit per bit length
Transmission control method (one-bit insertion method each time)
The number of inserted bits increases in proportion to the length of one run, and
There is a problem that the total code length to be transmitted is lengthened.
【0035】この発明の請求項1から5は上記のような
問題点を解決しようとするためになされたもので、伝送
符号長を短くすることを目的としている。[0035] From a first aspect of the present invention 5 has been made in order to solve the above problem, the transmission
The purpose is to shorten the code length .
【0036】また、この発明の請求項6から13は上記
のような問題点を解決しようとするためになされたもの
で、符号伝送装置で生成される算術符号系列中に所定の
個数のビット’1’が連続して出現すると後の算術符号
化演算の際に発生する桁上がりにより検出されたビット
パターン01・・・1が反転する可能性の有無が有りと
判定されたとき、つまり有効領域内に桁上がり境界が存
在するときに、有効領域を非桁上がり領域または桁上が
り領域のいずれかを選択し、有効領域を修正することに
よりビットパターンをそのまままたは反転して確定させ
ることを可能とする符号化方式(適応領域切捨て方式)
を提供することにより総符号長を短くすることを目的と
している。Further, claims 6 to 13 of the present invention have been made to solve the above problems, and a predetermined number of bits are included in an arithmetic code sequence generated by a code transmission device. When it is determined that there is a possibility that the bit pattern 01... 1 detected due to a carry generated in the subsequent arithmetic encoding operation when 1 ′ appears continuously, there is a possibility of inversion, that is, the effective area When there is a carry boundary in the, the effective area can be selected from either the non-carry area or the carry area, and the effective area can be modified to fix the bit pattern as it is or reverse. Encoding method (adaptive region truncation method)
To shorten the total code length.
【0037】また、同様な判定がなされたとき、桁上が
り境界を次シンボルの優勢シンボルと劣勢シンボルの対
応領域の境界に移動させ、桁上がり領域と非桁上がり領
域をそれぞれのシンボル対応領域とする符号化方式(適
応境界移動方式)を提供することにより、同様に総符号
長を短くすることを目的としている。When a similar determination is made, the carry boundary is moved to the boundary of the corresponding region between the superior symbol and the inferior symbol of the next symbol, and the carry region and the non-carry region are used as the respective symbol corresponding regions. It is another object of the present invention to provide an encoding method (adaptive boundary moving method) to shorten the total code length.
【0038】さらに、同様な判定がなされたとき、桁上
がり境界によって分割された桁上がり領域と非桁上がり
領域のうち小さい領域を切り捨てる適応領域切捨て方式
と次シンボルに対応させる領域境界を桁上がり境界に移
動させる適応境界移動方式から方式を選択して適用する
符号化方式(効率最大化方式)を提供することを目的と
している。Further, when a similar determination is made, an adaptive area truncation method for truncating a small area of the carry area and the non-carry area divided by the carry boundary, and a region boundary corresponding to the next symbol as a carry boundary It is an object of the present invention to provide a coding method (efficiency maximizing method) that selects and applies a method from an adaptive boundary moving method for moving to an optimal boundary moving method.
【0039】この効率最大化方式の実現にあたっては桁
上がり領域と非桁上がり領域のうち小さい領域の有効領
域に占める比率と符号化パラメータから符号長の期待値
を適応領域切捨て方式と適応境界移動方式について計算
し、期待値の小さい方式を選択して適用することで適応
領域切捨て方式または適応境界移動方式のみを適用する
場合よりさらに符号長のロスが小さくなる桁上がり制御
を実現することを目的としている。In realizing this efficiency maximizing method, the expected value of the code length is calculated from the ratio of the small area of the carry area and the non-carry area to the effective area and the coding parameter. With the aim of achieving carry control in which the loss in code length is further reduced than when only the adaptive region truncation method or the adaptive boundary moving method is applied by selecting and applying the method with the smaller expected value. I have.
【0040】また、同じく効率最大化方式の実現にあた
っては桁上がり境界によって分割された桁上がり領域と
非桁上がり領域のうち小さい領域の有効領域に占める比
率と固定または簡易な計算により得られるしきい値との
比較により適応領域切捨て方式と適応境界移動方式から
適用する方式を選択する効率最大化方式を提供すること
により適応領域切捨て方式または適応境界移動方式のみ
を適用する場合よりさらに符号長のロスが小さくなる桁
上がり制御を比較的簡単なハードウェアで実現すること
を目的としている。Similarly, in realizing the efficiency maximizing method, the ratio of the small area to the effective area of the carry area and the non-carry area divided by the carry boundary and a threshold obtained by a fixed or simple calculation. A code length loss is further provided by providing an efficiency maximization method that selects an applied method from the adaptive region truncation method and the adaptive boundary moving method by comparing the value with the adaptive region truncation method or the adaptive boundary moving method. The purpose of the present invention is to realize a carry control in which the value is reduced by relatively simple hardware.
【0041】[0041]
【課題を解決するための手段】第1の発明に係る符号化
方式は、所定の符号化方式による符号出力と桁上がり発
生信号出力とにより情報を符号化する符号化手段と、 上
記符号化手段により符号化された所定数の符号を記憶す
るとともに、桁上がりを伝播させる機能をもつ記憶手段
と、 符号化手段によって符号化された符号が符号化手段
から出力された桁上がり発生信号による桁上がりを伝播
させることにより、上位の出力済みの符号と上記記憶手
段に記憶された符号とから所定のパターンが発生するこ
とを検出する検出手段と、 上記符号化手段からの符号出
力と桁上がり発生信号出力を監視し、上記記憶手段を用
いて、上記符号化手段からの符号出力に所定のパターン
が連続していることを検出し、所定のパターンの連続終
了後に、その所定のパターンの連続終了を示す信号と下
位桁からの桁上がり有無を示す桁上がり発生信号とから
構成される制御信号を付加する制御信号付加手段とを備
えたものである。 Means for Solving the Problems Coding according to the first invention
The method consists of code output and carry
Encoding means for encoding information by the raw signal output ;
A predetermined number of codes encoded by the encoding means are stored.
Storage means with a function to propagate carry
And the code coded by the coding means
Propagates the carry caused by the carry generation signal output from
By doing so, the upper output code and the memory
A predetermined pattern is generated from the code stored in the column.
Detection means for detecting the door, leaving the code from the encoding means
Monitor the force and carry signal output and use the storage
A predetermined pattern is added to the code output from the coding means.
Is detected, and the end of the predetermined pattern
After that, a signal indicating the end of the predetermined pattern
From the carry generation signal that indicates the presence of a carry from the
Control signal adding means for adding a configured control signal.
It is a thing.
【0042】第2の発明に係る符号化方式は、所定の符
号化方式による符号出力と桁上がり 発生信号出力とによ
り情報を符号化する符号化手段と、 上記符号化手段によ
り符号化された符号を出力するために記憶する記憶手段
と、 上記符号化手段により符号化された符号が所定のパ
ターンを発生した場合、上記記憶手段により記憶された
所定のパターンの連続する数をカウントするカウント手
段と、 上記符号化手段の符号化の結果、上記記憶手段に
より記憶した連続する所定のパターンを変更する必要が
生じた場合、上記カウント手段がカウントした数に基づ
いて、上記記憶手段が記憶した連続する所定のパターン
を変更する変更手段と、 上記符号化手段の符号化の結
果、上記記憶手段により記憶した連続する所定のパター
ンを変更する必要が生じない場合、所定のパターンの連
続終了後に、その所定のパターンの連続終了を示す信号
と下位桁からの桁上がり有無を示す桁上がり発生信号と
から構成される制御信号を付加する制御信号付加手段と
を備えたものである。 The encoding method according to the second invention is characterized in that a predetermined code
Between the code output by the coding method and the carry generation signal output.
Encoding means for encoding the information Ri, in the coding means
Storage means for storing the encoded code for output
And the code encoded by the encoding means
When a turn occurs, the information stored in the storage means is stored.
Counting hand that counts consecutive numbers of a given pattern
And the result of encoding by the encoding means in the storage means
Need to change more memorized continuous predetermined pattern
If it occurs, it is based on the number counted by the counting means.
And a continuous predetermined pattern stored in the storage means.
Means for changing the encoding and the encoding result of the encoding means.
As a result, the continuous predetermined pattern stored by the storage means
If it is not necessary to change the
After the end of the continuation, a signal indicating the continuation of the predetermined pattern
And a carry generation signal indicating whether or not a carry from the lower digit is present, and
Control signal adding means for adding a control signal composed of
It is provided with.
【0043】第3の発明に係る符号化方式は、カウント
手段は所定の数まで連続する所定のパターンをカウント
し、符号化手段はカウント手段がカウントした数に基づ
いて変更手段に対して所定のパターンを変更するか否か
を指示するものである。In the coding method according to the third invention, the counting means counts a predetermined pattern which continues up to a predetermined number, and the coding means gives a predetermined number to the changing means based on the number counted by the counting means. you indication whether or not to change the pattern is also of the.
【0044】第4の発明に係る符号化方式は、所定の符
号化方式による符号出力と桁上がり発生信号出力とによ
り情報を符号化する符号化手段と、 上記符号化手段によ
り符号化された符号を出力するために記憶する記憶手段
と、 上記符号化手段により符号化された符号が所定のパ
ターンを発生した場合、上記記憶手段により記憶された
所定のパターンの連続する数をカウントする第1のカウ
ント手段と、 上記符号化手段により符号化された符号が
所定のパターンを発生した後の最初の所定のパターン以
外の符号を記憶するパターン記憶手段と、 上記パターン
記憶手段により記憶された符号の後に発生する上記符号
化手段による連続する所定のパターンの発生の数をカウ
ントする第2のカウント手段と、 上記符号化手段の符号
化の結果、上記記憶手段により記憶した連続する所定の
パターンを変更する必要が生じた場合、上記第1と第2
のカウント手段によりカウントした連続する所定のパタ
ーンの数とパターン記憶手段により記憶した符号の値に
基づいて上記記憶手段が記憶した連続する所定のパター
ンを変更する変更手段と、 上記符号化手段の符号化の結
果、上記記憶手段により記憶した連続する所定のパター
ンを変更する必要が生じない場合、所定のパターンの連
続終了後に、その所定のパターンの連続終了を示す信号
と下位桁からの桁上がり有無を示す桁上がり発生信号と
から構成される制御信号を付加する制御信号付加手段と
を備えたものである。 The encoding method according to the fourth invention is characterized in that a predetermined code
Between the code output by the coding method and the carry generation signal output.
Encoding means for encoding the information Ri, in the coding means
Storage means for storing the encoded code for output
And the code encoded by the encoding means
When a turn occurs, the information stored in the storage means is stored.
A first cow counting a continuous number of predetermined patterns;
And the code encoded by the encoding means
After the first predetermined pattern after generating the predetermined pattern
Pattern storage means for storing an external code, and the pattern
The code generated after the code stored by the storage means;
The number of successive occurrences of the predetermined pattern by the
A second counting means for counting, and a code of the coding means.
As a result of the conversion, the continuous predetermined
If it is necessary to change the pattern, the first and second
Continuous predetermined pattern counted by the counting means of
The number of patterns and the value of the code stored by the pattern storage means.
A predetermined pattern stored in the storage means based on the
Means for changing the coding, and the coding of the coding means.
As a result, the continuous predetermined pattern stored by the storage means
If it is not necessary to change the
After the end of the continuation, a signal indicating the continuation of the predetermined pattern
And a carry generation signal indicating whether or not a carry from the lower digit is present, and
Control signal adding means for adding a control signal composed of
It is provided with.
【0045】第5の発明に係る符号化方法は、以下の工
程を有するものである。 (a)所定の符号化方式による符号出力と桁上がり発生
信号出力とにより情報を符号化する符号化工程、 (b)上記符号化工程により符号化された符号を記憶す
る記憶工程、 (c)上記符号化工程により符号化された符号が桁上が
りを伝播する符号であるとき、その連続する数を所定の
数までカウントするカウント工程、 (d)上記符号化工程により桁上がりの必要が発生した
とき、上記カウント工程によりカウントした数に基づい
て、上記記憶工程により記憶した符号に対して桁上がり
の伝播を行うか、上記符号化工程により符号化された符
号に桁上がりを伝播させずに所定数以上連続する所定パ
ターン以降に、その所定のパターンの連続終了を示す信
号と下位桁からの桁上がりの有無を示す桁上がり発生信
号とから構成される制御信号を挿入するかのいずれかを
実行する桁上がり制御工程。 The encoding method according to the fifth invention comprises the following steps:
It has a process. (A) Code output by a predetermined encoding method and occurrence of carry
An encoding step of encoding information by a signal output; and (b) storing a code encoded by the encoding step.
That storage step, sign on digits encoded by (c) said encoding step
When the code propagates through the
A counting step of counting up to the number, (d) a need for a carry has arisen due to the above encoding step
Sometimes, based on the number counted in the above counting process
And carry over the code stored in the storage step.
Or the code encoded by the encoding process described above.
No more carry over to the specified number
After the turn, a signal indicating the continuation of the predetermined pattern
Signal indicating whether or not a carry from the lower digit has occurred.
Or insert a control signal consisting of
The carry control process to be performed.
【0046】第6の発明に係る符号化方式は、以下の要
素を有するものである。 (a)所定の有効領域を情報源シンボルの出現確率に分
割して新たな情報源シンボルに対する有効領域に割り当
てることにより情報源シンボルを算術符号化する算術符
号化手段、 (b)上記算術符号化手段と符号化過程において出力す
べき符号系列の中から所定のビットパターンを検出する
検出手段、 (c)上記検出手段により所定のビットパターンが検出
された場合、上記算術符号化手段による符号化過程にお
ける後の桁上がり発生によって上記検出されたビットパ
ターンが反転する可能性の有無を判定する判定手段、 (d)上記判定手段により桁上がり発生の可能性がある
と判定された場合、有効領域を強制的に変更して桁上が
りの発生の可能性を解消するか若しくは桁上がりを強制
的に発生させる強制確定手段。The encoding system according to the sixth invention has the following elements. (A) arithmetic coding means for arithmetically coding an information source symbol by dividing a predetermined effective area into occurrence probabilities of information source symbols and allocating it to an effective area for a new information source symbol; Means and detecting means for detecting a predetermined bit pattern from a code sequence to be output in the coding process; (c) when the predetermined bit pattern is detected by the detecting means, the coding process by the arithmetic coding means Determining means for determining whether there is a possibility that the detected bit pattern is inverted due to the occurrence of a carry in (d). (D) If the determination means determines that there is a possibility of carry, the effective area is changed Forcible determination means for eliminating the possibility of a carry by forcibly changing or forcibly generating a carry.
【0047】第7の発明に係る符号化方式は、有効領域
内に桁上がり境界が存在するかを判定することにより桁
上がり発生の可能性の有無を判定することを特徴とする
ものである。The encoding method according to the seventh invention is characterized in that it is determined whether or not there is a possibility that a carry will occur by determining whether or not a carry boundary exists in the effective area.
【0048】第8の発明に係る符号化方式は、有効領域
を桁上がり境界で分割し、分割されたいずれか一方の領
域を新たな有効領域とすることを特徴とするものであ
る。The encoding method according to the eighth invention is characterized in that an effective area is divided at a carry boundary and one of the divided areas is used as a new effective area.
【0049】第9の発明に係る符号化方式は、以下の要
素を有するものである。 (a)情報源シンボルを算術符号化する算術符号化手
段、 (b)上記算術符号化手段において出力すべき符号系列
中に所定のビットパターンを検出する検出手段、 (c)上記検出手段により所定のビットパターンが検出
された場合、上記算術符号化手段による符号化過程にお
いて後の桁上がり発生により検出されたビットパターン
が反転する可能性の有無を判定する判定手段、 (d)上記判定手段において桁上がりの可能性が有ると
判定された場合、有効領域を桁上がり境界で桁上がり領
域と非桁上がり領域に分離し、大きくない方の領域を切
り捨て、残る大きい領域の方を有効領域として選択する
領域選択手段。The encoding system according to the ninth invention has the following elements. (A) arithmetic coding means for arithmetically coding an information source symbol; (b) detection means for detecting a predetermined bit pattern in a code sequence to be output by the arithmetic coding means; and (c) predetermined detection by the detection means. When the bit pattern is detected, the determining means determines whether or not there is a possibility that the detected bit pattern is inverted due to the occurrence of a subsequent carry in the encoding process by the arithmetic coding means. If it is determined that there is a possibility of carry, the effective area is separated into a carry area and a non-carry area at the carry boundary, the smaller area is truncated, and the remaining large area is selected as the effective area. Area selecting means to be used.
【0050】第10の発明に係る符号化方式は、以下の
要素を有するものである。 (a)情報源シンボルを算術符号化する算術符号化手
段、 (b)上記算術符号化手段において出力すべき符号系列
中に所定のビットパターンを検出する検出手段、 (c)上記検出手段により所定のビットパターンが検出
された場合、上記算術符号化手段による符号化過程にお
いて後の桁上がり発生により検出されたビットパターン
が反転する可能性の有無を判定する判定手段、 (d)上記判定手段において桁上がりの可能性が有ると
判定された場合、次シンボルの符号化パラメータで指示
される劣勢シンボルと優勢シンボルの対応領域の境界
を、桁上がり領域と非桁上がり領域とが分かれる桁上が
り境界に移動させる境界移動手段、 (e)上記境界移動手段により与えられる桁上がり領域
と非桁上がり領域のうち小さくない領域に優勢シンボ
ル、残る領域に劣勢シンボルを割り当てる適応領域割当
手段。The encoding system according to the tenth aspect has the following elements. (A) arithmetic coding means for arithmetically coding an information source symbol; (b) detection means for detecting a predetermined bit pattern in a code sequence to be output by the arithmetic coding means; and (c) predetermined detection by the detection means. When the bit pattern is detected, the determining means determines whether or not there is a possibility that the detected bit pattern is inverted due to the occurrence of a subsequent carry in the encoding process by the arithmetic coding means. If it is determined that there is a possibility of carry, the boundary of the corresponding region between the inferior symbol and the superior symbol indicated by the encoding parameter of the next symbol is changed to the carry boundary where the carry region and the non-carry region are separated. (E) a dominant thin area in a not-significant area of the carry area and the non-carry area provided by the boundary move means. Bol, an adaptive area allocating means for allocating inferior symbols to remaining areas.
【0051】第11の発明に係る符号化方式は、上記強
制確定手段が、 (a)有効領域を桁上がり境界で桁上がり領域と非桁上
がり領域に分離し、大きくない方の領域を切り捨て、残
る大きい領域の方を有効領域として選択する領域選択手
段と、 (b)次シンボルの符号化パラメータで指示される劣勢
シンボルと優勢シンボルの対応領域の境界を、桁上がり
領域と非桁上がり領域とが分かれる桁上がり境界に移動
させる境界移動手段、及び、上記境界移動手段により与
えられる桁上がり領域と非桁上がり領域のうち小さくな
い領域に優勢シンボル、残る領域に劣勢シンボルを割り
当てる適応領域割当手段と、 (c)上記領域選択手段による処理又は上記適応領域割
当手段による処理のいずれかを選択する方式選択手段と
を有することを特徴とする。 The encoding method according to the eleventh invention is characterized in that
Braking confirmation means, carry region and on Hiketa in carry boundary: (a) effective area
Area, cut off the smaller area,
Area selection method to select the larger area as the effective area
And (b) the inferiority indicated by the coding parameter of the next symbol
Carry the boundary of the corresponding area of the symbol and the dominant symbol
Move to carry boundary where area and non-carry area separate
Boundary moving means, and the boundary moving means
The carry area and the non-carry area
The superior symbol is assigned to the area that is not
Adaptive region assigning means for applying, treatment with (c) the area selecting means or the adaptation region split
A method selecting means for selecting any of the processing by the means;
It is characterized by having.
【0052】第12の発明に係る符号化方式は、上記方
式選択手段が、有効領域の桁上がり境界により区分され
る桁上がり領域と非桁上がり領域のうち小さい領域の有
効領 域に占める領域比率と劣勢シンボルの出現確率か
ら、上記領域選択手段による処理と上記適応領域割当手
段による処理とにおける次シンボルまで含めた理論的な
符号長の期待値を計算して比較し、期待値の小さい処理
を選択することを特徴とする。 The encoding system according to the twelfth aspect is the
The formula selection means is divided by the carry boundary of the effective area.
Small carry area and non-carry area
Or the probability of occurrence of area ratio and the inferior symbol occupied in the efficiency area
The processing by the region selection means and the adaptive region
Theoretical processing including the next symbol
Calculates the expected value of the code length, compares it, and processes with a small expected value
Is selected.
【0053】第13の発明に係る符号化方式は、上記方
式選択手段が、有効領域の桁上がり境界により区分され
る桁上がり領域と非桁上がり領域のうち小さい領域の有
効領域に占める領域比率が劣勢シンボルの出現確率また
は符号化パラメータから固定または簡易な計算により得
られるしきい値未満ならば上記領域選択手段による処理
を選択し、またしきい値以上ならば上記適応領域割当手
段による処理を選択することを特徴とする。 The encoding method according to the thirteenth aspect is the encoding method
The formula selection means is divided by the carry boundary of the effective area.
Small carry area and non-carry area
If the area ratio in the effective area is
Can be obtained from coding parameters by fixed or simple calculation.
If it is less than the threshold value, the processing by the area selecting means
And if it is above the threshold value,
It is characterized in that processing by stages is selected.
【0054】[0054]
【作用】第1の発明の符号化方式は、符号化手段からの
符号出力と桁上がり発生信号出力を監視し、記憶手段を
用いて、符号化手段からの符号出力に所定のパターンが
連続していることを検出し、所定のパターンの連続終了
後に、その所定のパターンの連続終了を示す信号と下位
桁からの桁上がり有無を示す桁上がり発生信号とから構
成される制御信号を付加する。 According to the first aspect of the present invention, the encoding method comprises the steps of:
Monitor the sign output and carry output signal, and
Using a predetermined pattern in the code output from the coding means
Detects continuity and terminates the pattern continuously
Later, a signal indicating the continuation of the predetermined pattern and a lower
It is composed of a carry signal that indicates the presence of a carry from the digit.
A control signal to be generated is added.
【0055】第2の発明の符号化方式は、記憶手段によ
り記憶した連続する所定のパターンを変更する必要が生
じない場合、所定のパターンの連続終了後に、その所定
のパターンの連続終了を示す信号と下位桁からの桁上が
り有無を示す桁上がり発生信号とから構成される制御信
号を付加する。 The encoding method according to the second aspect of the present invention uses the storage means.
It is necessary to change the continuous predetermined pattern
Otherwise, after the end of the specified pattern,
Signal indicating the end of the pattern
Control signal consisting of
Add a number.
【0056】第3の発明の符号化方式は、第2の発明の
符号化方式のカウント手段が所定の数までしか連続する
所定のパターンをカウントしない場合を想定したもので
ある。もし、カウント手段が無限に所定のパターンをカ
ウントする場合は、出力バッファとして機能する記憶手
段に記憶された符号を出力することができなくなる。従
って、カウント手段のカウントの最大値をあらかじめ定
めておき、そのカウント値以内の場合には符号化手段が
記憶手段に記憶してあるX’FF’等の所定のパターン
を変更する旨の指示を出すようにしたものであり、も
し、カウント手段によるカウントが所定の数よりも大き
な数を示している場合には、記憶手段に記憶されている
符号はすでに出力されている場合も有り得る、あるい
は、すでに出力されてしまった場合であるという考えに
基づき、所定のパターンの終了後、所定のパターンでな
い符号に対して桁上がり制御信号を挿入し、すでに生成
した所定のパターンに対して桁上がりの有無を後から知
らせるようにするものである。The coding method according to the third invention is based on the assumption that the counting means of the coding method according to the second invention counts a predetermined pattern which continues only up to a predetermined number. If the counting means counts a predetermined pattern indefinitely, the code stored in the storage means functioning as an output buffer cannot be output. Therefore, the maximum value of the count of the counting means is determined in advance, and when the maximum value is less than the count value, the encoding means issues an instruction to change a predetermined pattern such as X'FF 'stored in the storage means. If the count by the counting means indicates a number larger than a predetermined number, the code stored in the storage means may have already been output, or Based on the idea that it has already been output, after the completion of the predetermined pattern, a carry control signal is inserted for a code that is not the predetermined pattern, and whether a carry has been generated for the already generated predetermined pattern. Will be notified later.
【0057】第4の発明の符号化方式は、符号化手段の
符号化の結果、記憶手段により記憶した連続する所定の
パターンを変更する必要が生じない場合、所定のパター
ンの連続終了後に、その所定のパターンの連続終了を示
す信号と下位桁からの桁上がり有無を示す桁上がり発生
信号とから構成される制御信号を付加する。 The encoding system according to a fourth aspect of the present invention is a
As a result of the encoding, the continuous predetermined
If you do not need to change the pattern,
After the end of a series of patterns, the end of the pattern
Signal and carry from the lower digit
A control signal composed of a signal and a control signal is added.
【0058】第5の発明の符号化方法は、符号化工程に
より桁上がりの必要が発生したとき、カウント工程によ
りカウントした数に基づいて、記憶工程により記憶した
符号に対して桁上がりの伝播を行うか、符号化工程によ
り符号化された符号に桁上がりを伝播させずに所定数以
上連続する所定パターン以降に、その所定のパターンの
連続終了を示す信号と下位桁からの桁上がりの有無を示
す桁上がり発生信号とから構成される制御信号を挿入す
るかのいずれかを実行する。 The encoding method according to a fifth aspect of the present invention includes
When the need for more carry occurs, the counting process
Based on the counted number.
Propagate the carry to the code or
Over the specified number without carrying carry to the encoded code.
After the upper consecutive predetermined pattern,
Indicates a signal indicating the end of continuous operation and indicates whether a carry from the lower digit has occurred.
Control signal consisting of
Or one of them.
【0059】第6の発明の符号化方式は、伝送される算
術符号中に所定のビットパターン01・・・1を検出
し、桁上がりによるビットパターンの変化の可能性をあ
らかじめ判定し、可能性が有ると判定されたとき、有効
領域の上界値または下界値を強制的に変更してあらかじ
め桁上がりの可能性を解消させるか、強制的に桁上がり
を起こさせるので、桁上がりによる符号(ビット)確定
の遅延を抑えられる上に符号長のロスを従来方式より小
さくできる。The encoding method according to the sixth invention detects a predetermined bit pattern 01... 1 in an arithmetic code to be transmitted, determines in advance the possibility of a change in the bit pattern due to a carry, and When it is determined that there is a value, the upper bound or the lower bound of the effective area is forcibly changed to eliminate the possibility of carry in advance, or the carry is forcibly caused. Bit), the delay of the determination can be suppressed, and the loss of the code length can be reduced as compared with the conventional method.
【0060】第7の発明の符号化方式は、判定手段が桁
上がりの可能性の有無を上界値と下界値の間(すなわち
有効領域内)に桁上がり境界があるかどうかにより判定
するので、容易に桁上がりの可能性を判定できる。In the coding method according to the seventh aspect of the present invention, the determination means determines whether or not a carry is possible based on whether or not there is a carry boundary between an upper bound value and a lower bound value (that is, within an effective area). The possibility of carry can be easily determined.
【0061】第8の発明の符号化方式は、強制解消手段
が、有効領域を桁上がり境界で分割して、分割した領域
のいずれかを新たな有効領域とするので、新たな有効領
域内には桁上がり境界が存在しないことになり、強制的
に桁上がりの伝幡問題を解消することができ、かつ符号
長のロスを従来方式より小さくできる。According to the encoding method of the eighth aspect, the forcible canceling means divides the effective area at a carry boundary and sets any of the divided areas as a new effective area. Since no carry boundary exists, the problem of carry propagation can be forcibly solved, and the loss of code length can be made smaller than in the conventional method.
【0062】第9の発明の符号化方式は、上記手段・構
成で、例えば、情報源からの入力データをシンボルとし
て算術符号化し送信する算術符号中に’0’を先頭と
し、所定の個数のビット’1’が連続して出現すると後
の算術符号化演算の際に発生する桁上がりにより、検出
ビットパターン01・・・1が10・・・0に反転する
可能性の有無を調べ、もし可能性が有りと判定されたと
き、非桁上がり領域と桁上がり領域のうち小さくない領
域を選択し有効領域として選択し、有効領域を修正する
適応領域切捨て方式をとる。非桁上がり領域が選択され
たときは、ビットパターンをそのまま確定し、桁上がり
領域が選択されたときは桁上がり領域に有効領域を限定
するため、符号ビットパターン01・・・1に桁上がり
を生じさせる。算術復号は符号化側とまったく同様に符
号系列を生成し、受信した算術符号と比較することによ
りシンボルに復号して出力データを得る。すなわち、第
9の発明は従来の毎回1ビット挿入方式のように桁上が
りの可能性の有無に関わらず毎回1ビットずつ桁上がり
制御信号を挿入するのに対し、有効領域を桁上がり領
域、あるいは非桁上がり領域のどちらかに修正を行うも
ので、桁上がり制御信号を挿入する必要がなく、切り捨
てられる領域がロスとなるが、その符号長は等価的に1
ビット以下となるため桁上がり制御信号挿入による場合
のロスより常に小さくすることができる。A coding method according to a ninth aspect of the present invention is the coding means according to the above-mentioned means, wherein, for example, the arithmetic code to be input is a symbol as input data from an information source and is transmitted. If the bit '1' appears continuously, it is checked whether there is a possibility that the detected bit pattern 01... 1 is inverted to 10. When it is determined that there is a possibility, an area that is not small among the non-carry area and the carry area is selected and selected as an effective area, and an adaptive area truncation method of correcting the effective area is adopted. When the non-carry area is selected, the bit pattern is fixed as it is, and when the carry area is selected, the carry area is limited to the sign bit pattern 01. Cause. In arithmetic decoding, a code sequence is generated in exactly the same way as on the encoding side, and is decoded into a symbol by comparing with a received arithmetic code to obtain output data. That is, the ninth invention inserts a carry control signal by one bit every time regardless of the possibility of carry as in the conventional one-bit insert method every time, whereas the effective area is a carry area or The correction is performed in one of the non-carry areas, and there is no need to insert a carry control signal, and the truncated area is lost.
Since the number of bits is equal to or less than the bit, it is possible to always reduce the loss due to insertion of the carry control signal.
【0063】第10の発明の符号化方式は、第6の発明
の符号化方式と同様な検出・判定を行い、後の算術符号
化演算の際に発生する桁上がりにより検出されたビット
パターン01・・・1が反転する可能性の有無が有りと
判定されたとき、桁上がり境界を次シンボルの優勢シン
ボルと劣勢シンボルの対応領域の分割境界に移動させ、
桁上がり領域と非桁上がり領域のうち小さくない領域に
優勢シンボル、残る領域に劣勢シンボルを割り当てる適
応境界移動方式をとる。算術復号は符号化と同様に符号
系列を生成し受信した算術符号と比較することによりシ
ンボルに復号して出力データを得る。すなわち、第10
の発明では、従来の毎回1ビット挿入方式のような桁上
がり制御信号を挿入する必要がなく、有効領域を桁上が
り領域と非桁上がり領域への割当を行うことにより符号
化パラメータで与えられる領域との差によりロスが生じ
るが桁上がり制御信号挿入によるロスより平均的に小さ
くなる桁上がり制御が実行できる。The encoding system of the tenth aspect of the present invention performs the same detection and determination as the encoding scheme of the sixth aspect of the invention, and detects a bit pattern 01 detected by a carry generated in a later arithmetic encoding operation. ..., when it is determined that there is a possibility that 1 is inverted, the carry boundary is moved to the division boundary of the corresponding region between the superior symbol and the inferior symbol of the next symbol,
An adaptive boundary moving method is used in which a dominant symbol is assigned to an area that is not small among the carry area and a non-carry area, and a inferior symbol is assigned to the remaining area. In the arithmetic decoding, a code sequence is generated in the same manner as the encoding, and is compared with a received arithmetic code to decode the symbol into a symbol to obtain output data. That is, the tenth
In the present invention, it is not necessary to insert a carry control signal as in the conventional one-bit insertion method every time, and the effective area is allocated to the carry area and the non-carry area, and the area given by the encoding parameter is obtained. However, carry control can be executed, which is smaller than the loss caused by insertion of the carry control signal.
【0064】第11の発明の符号化方式は、第7の発明
の符号化方式と同様な検出・判定を行い、後の算術符号
化演算の際に発生する桁上がりにより検出されたビット
パターン01・・・1が反転する可能性の有無が有りと
判定されたとき、適応領域切捨て方式または適応境界移
動方式の一方を選択する効率最大化方式をとる。算術復
号は符号化と同様に符号系列を生成し受信した算術符号
と比較することによりシンボルに復号して出力データを
得る。The encoding system of the eleventh invention performs the same detection and determination as the encoding system of the seventh invention, and detects a bit pattern 01 detected by a carry generated at the time of a later arithmetic encoding operation. ... When it is determined that there is a possibility that 1 may be inverted, an efficiency maximizing method of selecting one of the adaptive region truncation method and the adaptive boundary moving method is adopted. In the arithmetic decoding, a code sequence is generated in the same manner as the encoding, and is compared with a received arithmetic code to decode the symbol into a symbol to obtain output data.
【0065】第12の発明の符号化方式は、有効領域の
桁上がり境界により区分される桁上がり領域と非桁上が
り領域のうち小さい領域の有効領域に占める領域比率と
次シンボルにおける劣勢シンボルの出現確率から、適応
領域切捨て方式と適応境界移動方式における次シンボル
まで含めた理論的な符号長の期待値を計算して比較し、
期待値の小さい方式を選択することにより符号化効率の
よい最適な方式の選択を実現する効率最大化方式をと
る。According to a twelfth aspect of the present invention, there is provided an encoding method according to the present invention, wherein the ratio of a smaller area to the effective area of the carry area and the non-carry area divided by the carry boundary of the effective area and the appearance of the inferior symbol in the next symbol From the probability, the expected value of the theoretical code length including the next symbol in the adaptive region truncation method and the adaptive boundary moving method is calculated and compared,
An efficiency maximization method is adopted in which a method having a small expected value is selected to select an optimal method with high coding efficiency.
【0066】第13の発明の符号化方式は、有効領域の
桁上がり境界により区分される桁上がり領域と非桁上が
り領域のうち小さい領域の有効領域に占める領域比率が
次シンボルにおける劣勢シンボルの出現確率または符号
化パラメータから固定または簡易な計算により得られる
しきい値未満ならば適応領域切捨て方式、またしきい値
以上ならば適応境界移動方式を選択することにより方式
選択の簡易化を実現する効率最大化方式をとる。According to a thirteenth aspect of the present invention, in the coding method according to the thirteenth aspect, the ratio of the smaller one of the carry region and the non-carry region to the effective region divided by the carry boundary of the effective region is the appearance of the inferior symbol in the next symbol. Efficiency that simplifies system selection by selecting the adaptive region truncation method if it is less than the threshold value obtained by fixed or simple calculation from the probability or coding parameter, and the adaptive boundary moving method if it is more than the threshold value Use the maximization method.
【0067】[0067]
【実施例】実施例1. この実施例では、制御信号をバイト単位を境界として挿
入する場合を説明する。この発明を示す一実施例の符号
伝送装置は、図1のように、入力側のモデル・確率発生
器1と出力側のモデル・確率発生器4は、上記従来例の
図40に対応する。1回2ビット挿入方式による算術符
号器2bは、入力側のモデル・確率発生器1が出力する
入力値YN11と予測値MPS12とLPS領域幅Qe
14の入力を用いて、算術符号15bを生成し、その算
術符号15b中に連続した一定数以上のバイトX’F
F’が出現するごとに以降最初に出現するX’FF’で
ないバイトの上位2ビットに、下位からの桁上がりの有
無を示す桁上がり制御信号100bを挿入する1回2ビ
ット挿入方式を実行する。1回2ビット挿入方式による
算術復号器3bは、1回2ビット挿入方式による算術符
号器2bから送出された算術符号15bおよび復号すべ
き出力値YN16に対する予測値MPS17とLPS領
域幅Qe19の入力を用いて、桁上がり制御信号100
bを検出・処理して取り込んだ算術符号15bを算術復
号した出力値YN16を出力する。[Embodiment 1] In this embodiment, a case where a control signal is inserted with a byte unit as a boundary will be described. In a code transmission apparatus according to an embodiment of the present invention, as shown in FIG. 1, a model / probability generator 1 on the input side and a model / probability generator 4 on the output side correspond to FIG. Arithmetic encoder 2b using the one-time two-bit insertion method includes input value YN11, predicted value MPS12, and LPS area width Qe output from input side model / probability generator 1.
14, an arithmetic code 15b is generated, and a certain number or more of consecutive bytes X'F in the arithmetic code 15b are generated.
A two-bit insertion method is performed in which a carry control signal 100b indicating whether a carry from the lower bit is present is inserted into the upper two bits of a non-X'FF 'byte that appears first after each occurrence of F'. . The one-time two-bit insertion arithmetic decoder 3b receives the arithmetic code 15b sent from the one-time two-bit insertion type arithmetic encoder 2b and the predicted value MPS17 and the LPS area width Qe19 for the output value YN16 to be decoded. Using the carry control signal 100
The arithmetic unit 15 outputs an output value YN16 obtained by arithmetically decoding the arithmetic code 15b obtained by detecting and processing b.
【0068】この実施例の符号伝送装置は、伝送される
算術符号中に一定数以上連続したバイトX’FF’が出
現するごとに以降最初に出現するX’FF’でないバイ
トの上位2ビットに桁上がり制御信号としてビット’0
0’を挿入して算術演算時に下位から発生する桁上がり
を上位へ伝播させないように吸収させる伝送制御方式
(1回2ビット挿入方式)を採る。ただし、桁上がり制
御信号が桁上がりを吸収した場合にはビット’01’と
なる。The code transmission apparatus of this embodiment is arranged such that each time a certain number or more of consecutive bytes X'FF 'appear in a transmitted arithmetic code, the upper two bits of the first non-X'FF' byte appearing thereafter. Bit '0 as carry control signal
A transmission control method (one 2-bit insertion method) is employed in which 0 'is inserted to absorb a carry generated from a lower part during an arithmetic operation so as not to propagate to an upper part. However, when the carry control signal absorbs the carry, the bit becomes “01”.
【0069】1回2ビット挿入方式による算術符号器2
bは図2のように、符号化を1回2ビット挿入方式によ
る算術符号化手段5bで示されるフローチャート図に沿
って行う。INITENC、MPS,Qe,YNの獲
得、ENCODE、FLUSHの機能は図41における
毎回1ビット挿入方式による算術符号化手段5aで果た
す機能と同様である。Arithmetic encoder 2 based on 2-bit insertion once
In FIG. 2B, encoding is performed according to a flowchart shown by the arithmetic encoding means 5b using the 2-bit insertion method once, as shown in FIG. The functions of INITENC, MPS, Qe, YN acquisition, ENCODE, and FLUSH are the same as the functions performed by the arithmetic coding unit 5a using the 1-bit insertion method each time in FIG.
【0070】1回2ビット挿入方式による算術符号器2
bのCレジスタ30(Cxレジスタ31、Csレジスタ
32、Cbレジスタ33、Cfレジスタ34)とAレジ
スタ35の仕様は、図42における毎回1ビット挿入方
式による算術符号器2aのレジスタ仕様と同じである。
βバッファ39は図3のように、32ビットのレジスタ
で構成されている。βバッファ39においてビット0〜
7をβtバッファ40、ビット8〜23をβiバッファ
41、ビット24〜31をβhバッファ42と分割して
指すこととする。Cレジスタ30から送出された算術符
号15b(Cbレジスタ部33またはビット18〜2
5)をβtバッファ部40に受け取る前に8ビット左シ
フトして蓄積していたβhバッファ部42の算術符号1
5bをBバッファ36に送出する。βバッファ39はC
レジスタ30で検出された桁上がりを内部で伝播させる
役割があり、βhバッファ部42はBバッファ36にオ
ーバーラップしている。Fレジスタ43は図4のよう
に、4ビットのシフトレジスタで構成されている。Fレ
ジスタ43はCレジスタ30から1バイトの算術符号1
5b(Cbレジスタ部33またはビット18〜25)が
送出されるごとに1ビットのシフト処理が行われ、最下
位ビットから任意のビットを取り込むことができ、また
はシフト処理の代わりに同時にすべてのビットを0にク
リアすることができる。Arithmetic encoder 2 based on 2-bit insertion once
The specifications of the C register 30 (Cx register 31, Cs register 32, Cb register 33, Cf register 34) and A register 35 of b are the same as the register specifications of the arithmetic encoder 2a using the 1-bit insertion method each time in FIG. .
The β buffer 39 is composed of a 32-bit register as shown in FIG. Bit 0 in the β buffer 39
7 is divided into a βt buffer 40, bits 8 to 23 are divided into βi buffers 41, and bits 24 to 31 are divided into βh buffers 42. Arithmetic code 15b sent from C register 30 (Cb register section 33 or bits 18-2
5) The arithmetic code 1 of the βh buffer unit 42 that has been shifted left by 8 bits and accumulated before being received by the βt buffer unit 40
5b is sent to the B buffer 36. β buffer 39 is C
There is a role to propagate the carry detected by the register 30 internally, and the βh buffer unit 42 overlaps the B buffer 36. The F register 43 is formed of a 4-bit shift register as shown in FIG. The F register 43 is a one-byte arithmetic code 1 from the C register 30.
Each time 5b (Cb register 33 or bits 18 to 25) is sent out, one-bit shift processing is performed, and any bit can be fetched from the least significant bit, or all bits are simultaneously replaced instead of shift processing. Can be cleared to zero.
【0071】1回2ビット挿入方式による算術符号化手
段5bでの符号化処理をフローチャート図を示して説明
する。フローチャート図の中で使用される変数・定数
は、β(βバッファ値)とF(Fレジスタ値)を加える
以外は毎回1ビット挿入方式による算術符号化手段5a
で使用される変数・定数と同様である。 β βバッファ値 〜39 βt βtバッファ値(ビット0〜7) 〜40 βi βiバッファ値(ビット8〜23) 〜41 βh βhバッファ値(ビット24〜31;=Bバッファ) 〜42 F F(フラグ)レジスタ値 〜43The encoding process in the arithmetic encoding means 5b based on the one-time 2-bit insertion method will be described with reference to a flowchart. Variables and constants used in the flowchart are arithmetic coding means 5a using a 1-bit insertion method every time except for adding β (β buffer value) and F (F register value).
Same as variables and constants used in. β β buffer value 3939 βt βt buffer value (bits 0 to 7) 4040 βi βi buffer value (bits 8 to 23) 4141 βh βh buffer value (bits 24 to 31; = B buffer) 4242 FF (flag ) Register value ~ 43
【0072】符号化開始時の初期化処理であるINIT
ENCは図5のように、まずテーブルのセットアップを
行う。そして算術符号バッファの確保・設定を行う。バ
ッファポインタBP37はバッファ先頭アドレスBPS
Tより4つ前を指し、βバッファ39には特別の意味を
持つX’FFFFFFFF’でない値としてX’000
00080’をセットする。Aレジスタ35には初期値
として有効領域最小値をセットする。Fレジスタ43に
はB’0000’(2進表記。以下、2進数はB’値’
で表記するものとする)を初期値としてセットする。A
min には有効領域最小値をセットし、Amin については
符号化処理中に変更はない。Cレジスタ30にはCfレ
ジスタ部34へ出力フラグのみをセットする。符号化開
始時の状態において出力されるべき算術符号15bはC
xレジスタ31(小数点)以下であるからビット11が
Cbレジスタ33の最上位ビット(ビット23)に達し
たとき最初の出力が行われるように出力フラグはCbレ
ジスタ33内部(ビット20)にセットされる。INIT which is initialization processing at the start of encoding
The ENC first sets up the table as shown in FIG. Then, the arithmetic code buffer is secured and set. The buffer pointer BP37 is the buffer start address BPS
X'000 as a value that is not X'FFFFFFFF ', which has a special meaning,
Set 000000 '. The minimum value of the effective area is set in the A register 35 as an initial value. In the F register 43, B'0000 '(binary notation; hereinafter, a binary number is a B' value)
Is set as an initial value. A
The minimum value of the effective area is set for min, and Amin is not changed during the encoding process. Only the output flag is set to the Cf register unit 34 in the C register 30. The arithmetic code 15b to be output in the state at the start of encoding is C
The output flag is set inside the Cb register 33 (bit 20) so that the first output is performed when the bit 11 reaches the most significant bit (bit 23) of the Cb register 33 because it is less than the x register 31 (decimal point). You.
【0073】符号化の実処理であるENCODE、入力
値YN11=1の処理であるCODEYN1、入力値Y
N11=0の処理であるCODEYN0、符号化の正規
化処理であるRENORMEはそれぞれ図44、図4
5、図46、図47のように毎回1ビット挿入方式によ
る算術符号化手段5aと同様の処理を行う。ENCODE which is the actual process of encoding, CODEYN1 which is the process of input value YN11 = 1, and input value Y
CODEYN0, which is the processing of N11 = 0, and RENORME, which is the normalization processing of the encoding, are shown in FIGS.
5, the same processing as the arithmetic coding means 5a using the 1-bit insertion method is performed every time as shown in FIGS.
【0074】算術符号15bの出力処理であるBYTE
OUTは図6のように、βバッファ値39がX’FFF
FFFFF’ならば6または8ビット出力処理SHIP
6OR8を行う。X’FFFFFFFF’でなく、Cレ
ジスタ値30がX’FFFFFF’より大きい場合には
桁上がりをβバッファ39へ伝播させる。Cレジスタ値
30がX’FFFFFF’より大きい場合とはLPS領
域幅Qe14の加算によりCsレジスタ32、Cbレジ
スタ33を経て桁上がりがCfレジスタ34の最下位ビ
ット(キャリービット)まで伝播したときである。この
結果βバッファ値39がX’FFFFFFFF’となれ
ばCレジスタ30のキャリービット(βバッファ39へ
伝播済み)をクリアして6または8ビット出力処理SH
IP6OR8を行う。βバッファ値39がX’FFFF
FFFF’でなく、Fレジスタ値43が0(=B’00
00’)ならば8ビット出力処理SHIP8を行い、0
でなければCレジスタ30のキャリービット(βバッフ
ァ39へ伝播済み)をクリアして6ビット出力処理SH
IP6を行う。最初にβバッファ値39がバイトX’F
FFFFFFF’でなく、Cレジスタ値30がX’FF
FFFF’より大きくなければ8ビット出力処理SHI
P8を行う。BYTE which is output processing of arithmetic code 15b
OUT indicates that the β buffer value 39 is X'FFFF as shown in FIG.
6 or 8 bit output processing SHIP if FFFFF '
Perform 6OR8. If the C register value 30 is larger than X'FFFFFF 'instead of X'FFFFFFFF', the carry is propagated to the β buffer 39. The case where the C register value 30 is larger than X'FFFFFF 'is when the carry propagates through the Cs register 32 and the Cb register 33 to the least significant bit (carry bit) of the Cf register 34 by addition of the LPS area width Qe14. . As a result, when the β buffer value 39 becomes X'FFFFFFFF ', the carry bit (propagated to the β buffer 39) of the C register 30 is cleared and the 6- or 8-bit output processing SH is performed.
Perform IP6OR8. β buffer value 39 is X'FFFF
F register value 43 is 0 (= B'00) instead of FFFF '
00 ′), 8-bit output processing SHIP8 is performed, and 0
Otherwise, the carry bit (propagated to the β buffer 39) of the C register 30 is cleared and the 6-bit output processing SH is performed.
Perform IP6. First the β buffer value 39 is byte X'F
Not FFFFFFF 'but C register value 30 is X'FF
If not greater than FFFF ', 8-bit output processing SHI
Perform P8.
【0075】8ビット出力処理であるSHIP8は図7
のように、まずBバッファ36の更新処理NEXTBY
TEを行う。Cレジスタ値30を16ビット右にシフト
させた値、つまりCbレジスタ部33(ビット16〜2
3)をβtバッファ40に出力する。Cレジスタ値30
の出力済みまたは不要なビット(ビット16〜31)を
クリアし、残したビットの最上位ビット(ビット15)
が正規化によりCbレジスタ33の最上位ビット(ビッ
ト23)に達したときにBYTEOUTが行われるよう
に出力フラグをビット24にセットする。ここで、βt
バッファ値40がバイトX’FF’ならばFレジスタ値
43を1ビット左にシフトさせる。βtバッファ値40
がバイトX’FF’でなく、βバッファ値39がX’F
FFFFFFE’ならばFレジスタ値43をB’000
1’とし、X’FFFFFFFE’でなければFレジス
タ値43をB’0000’とする。SHIP8 which is an 8-bit output process is shown in FIG.
First, the update processing NEXTBY of the B buffer 36 is performed.
Perform TE. A value obtained by shifting the C register value 30 rightward by 16 bits, that is, the Cb register unit 33 (bits 16 to 2)
3) is output to the βt buffer 40. C register value 30
Of output or unnecessary bits (bits 16 to 31) are cleared, and the most significant bit (bit 15) of the remaining bits is cleared.
Sets the output flag to bit 24 so that BYTEOUT is performed when reaches the most significant bit (bit 23) of Cb register 33 by normalization. Where βt
If the buffer value 40 is byte X'FF ', the F register value 43 is shifted left by one bit. βt buffer value 40
Is not byte X'FF 'and β buffer value 39 is X'F
If FFFFFFE ', set the F register value 43 to B'000
1 ', and if not X'FFFFFFFFE', the F register value 43 is set to B'0000 '.
【0076】6または8ビット出力処理であるSHIP
6OR8は図8のように、まずBバッファ36の更新処
理NEXTBYTEを行う。Cbレジスタ部33がバイ
トX’FF’ならばバイトX’FF’以外が出力される
までバイトX’FF’をβtバッファ40にそのまま出
力する。すなわちCレジスタ値30を16ビット右にシ
フトさせた値、つまりCbレジスタ部33(ビット16
〜23)をβtバッファ40に出力する。Cレジスタ値
30の出力済みまたは不要なビット(ビット16〜3
1)をクリアし、残したビットの最上位ビット(ビット
15)が正規化によりCbレジスタ33の最上位ビット
(ビット23)に達したときにBYTEOUTが行われ
るように出力フラグをビット24にセットする。Cbレ
ジスタ部33がバイトX’FF’でなければ4バイト
(以上)のX’FFFFFFFF’に続くバイトX’F
F’以外が出力されることになる。そこで、Cレジスタ
値30を18ビット右にシフトさせた値、つまりCbレ
ジスタ33の上位6ビット(ビット18〜23)とCf
レジスタ34の下位2ビット(ビット24,25;この
ときビット25は常にビット’0’)をBバッファ36
に出力する。出力されるビット24,25は桁上がり制
御信号100bとして算術符号15bに挿入され、βバ
ッファ値39であるX’FFFFFFFF’(または4
バイト以上続いているバイトX’FF’)の直後のX’
FF’でないバイトの上位2ビットに位置付けられる。
Cレジスタ値30の出力済みまたは不要なビット(ビッ
ト18〜31)をクリアし、残したビットの最上位ビッ
ト(ビット17)が正規化によりCbレジスタ33の最
上位ビット(ビット23)に達したときにBYTEOU
Tが行われるように出力フラグをビット26にセットす
る。そして、Fレジスタ値43をB’0000’とす
る。SHIP for 6- or 8-bit output processing
The 6OR 8 first performs an update process NEXTBYTE of the B buffer 36 as shown in FIG. If the Cb register unit 33 has the byte X'FF ', the byte X'FF' is output to the βt buffer 40 as it is until a byte other than the byte X'FF 'is output. That is, the value obtained by shifting the C register value 30 rightward by 16 bits, that is, the Cb register unit 33 (bit 16
To 23) to the βt buffer 40. Output or unnecessary bits of the C register value 30 (bits 16 to 3)
1) is cleared, and the output flag is set to bit 24 so that BYTEOUT is performed when the most significant bit (bit 15) of the remaining bits reaches the most significant bit (bit 23) of the Cb register 33 by normalization. I do. If the Cb register section 33 is not the byte X'FF ', the byte X'F following the 4-byte (or more) X'FFFFFFFF'
Other than F 'will be output. Therefore, a value obtained by shifting the C register value 30 to the right by 18 bits, that is, the upper 6 bits (bits 18 to 23) of the Cb register 33 and Cf
The lower 2 bits (bits 24 and 25; bit 25 is always bit '0') of register 34 are stored in B buffer 36
Output to Output bits 24 and 25 are inserted into arithmetic code 15b as carry control signal 100b, and X'FFFFFFFF '(or 4) which is β buffer value 39.
X 'immediately after byte X'FF') which continues for more than bytes
It is located in the upper two bits of the byte that is not FF '.
The output or unnecessary bits (bits 18 to 31) of the C register value 30 are cleared, and the most significant bit (bit 17) of the remaining bits reaches the most significant bit (bit 23) of the Cb register 33 by normalization. Sometimes BYTEOU
Set the output flag in bit 26 so that T is performed. Then, the F register value 43 is set to B'0000 '.
【0077】6ビット出力処理であるSHIP6は図9
のように、まずBバッファ36の更新処理NEXTBY
TEを行う。Cレジスタ値30を18ビット右にシフト
させた値、つまりCbレジスタ33の上位6ビット(ビ
ット18〜23)とCfレジスタ34の下位2ビット
(ビット24,25;このときビット25は常にビッ
ト’0’)をBバッファ36に出力する。出力されるビ
ット24,25は桁上がり制御信号100bとして算術
符号15bに挿入され、βバッファ値39であるX’F
FFFFFFF’(または4バイト以上続いているバイ
トX’FF’)の直後のX’FF’でないバイトの上位
2ビットに位置付けられる。Cレジスタ値30の出力済
みまたは不要なビット(ビット18〜31)をクリア
し、残したビットの最上位ビット(ビット17)が正規
化によりCbレジスタ33の最上位ビット(ビット2
3)に達したときにBYTEOUTが行われるように出
力フラグをビット26にセットする。そして、Fレジス
タ値43をB’0000’とする。FIG. 9 shows SHIP6 which is a 6-bit output process.
First, the update processing NEXTBY of the B buffer 36 is performed.
Perform TE. A value obtained by shifting the C register value 30 to the right by 18 bits, that is, the upper 6 bits (bits 18 to 23) of the Cb register 33 and the lower 2 bits (bits 24 and 25; the bit 25 is always a bit ' 0 ') to the B buffer 36. Output bits 24 and 25 are inserted into arithmetic code 15b as carry control signal 100b, and X'F which is
It is located in the upper two bits of a non-X'FF 'byte immediately after FFFFFFF' (or a byte X'FF 'that continues for four or more bytes). The already output or unnecessary bits (bits 18 to 31) of the C register value 30 are cleared, and the most significant bit (bit 17) of the remaining bits is normalized to the most significant bit (bit 2) of the Cb register 33.
Set the output flag in bit 26 so that BYTEOUT is performed when 3) is reached. Then, the F register value 43 is set to B'0000 '.
【0078】符号化のBバッファ36の更新処理である
NEXTBYTEは図10のように、βバッファ値39
を24ビット右にシフトさせた値、つまりβhバッファ
部42をBバッファ36に出力後、バッファポインタB
P37を1進めて更新し、βバッファ39を8ビット左
にシフトし、バッファポインタBP37がバッファ終了
アドレスBEより小さくなければ(等しければ)算術符
号バッファに蓄積した算術符号15bを伝送し、バッフ
ァポインタBP37をバッファ先頭アドレスBPSTに
再初期化する。As shown in FIG. 10, NEXTBYTE, which is an update process of the B buffer 36 for encoding, has a β buffer value 39
Is shifted to the right by 24 bits, that is, after the βh buffer unit 42 is output to the B buffer 36, the buffer pointer B
The P37 is incremented by 1, the β buffer 39 is shifted 8 bits to the left, and if the buffer pointer BP37 is not smaller than the buffer end address BE (if equal), the arithmetic code 15b accumulated in the arithmetic code buffer is transmitted, and the buffer pointer The BP 37 is reinitialized to the buffer start address BPST.
【0079】符号化の後処理であるFLUSHは図11
のように、後処理用カウンタ値CT38を48(Cxレ
ジスタ部31,Csレジスタ部32,Cbレジスタ部3
3、βtバッファ部40,βiバッファ部41を掃き出
すための総ビット数)にセットする。次に後処理用カウ
ンタ値CT38を1減じて、Cレジスタ値30が負(最
上位ビットに出力フラグが位置したとき)でなければC
レジスタ30を1ビット左にシフトして後処理用カウン
タ値CT38の減算処理から繰り返す。Cレジスタ値3
0が負ならばCレジスタ30を1ビット左にシフトして
算術符号15bの最終出力処理FINALBYTESを
行う。FLUSH, which is post-coding processing, is shown in FIG.
, The post-processing counter value CT38 is set to 48 (Cx register section 31, Cs register section 32, Cb register section 3).
3, the total number of bits for sweeping out the βt buffer unit 40 and the βi buffer unit 41). Next, the post-processing counter value CT38 is decremented by one, and if the C register value 30 is not negative (when the output flag is located at the most significant bit), C
The register 30 is shifted one bit to the left, and the processing is repeated from the subtraction processing of the post-processing counter value CT38. C register value 3
If 0 is negative, the C register 30 is shifted one bit to the left to perform the final output processing FINALBYTES of the arithmetic code 15b.
【0080】算術符号15bの最終出力処理であるFI
NALBYTESは図12のように、βバッファ値39
がX’FFFFFFFF’ならば6または8ビット掃き
出し処理FLUSH6OR8を行う。βバッファ値39
がX’FFFFFFFF’でなく、Cレジスタ値30が
X’FFFFFF’より大きい場合には桁上がりをβバ
ッファ39へ伝播させる。Cレジスタ値30がX’FF
FFFF’より大きい場合とはLPS領域幅Qe14の
加算によりCsレジスタ32、Cbレジスタ33を経て
桁上がりがCfレジスタ34の最下位ビット(キャリー
ビット)まで伝播したときである。この結果βバッファ
値39がX’FFFFFFFF’となればCレジスタ3
0のキャリービット(βバッファ39へ伝播済み)をク
リアして6または8ビット掃き出し処理FLUSH6O
R8を行う。βバッファ値39がX’FFFFFFF
F’でなく、Fレジスタ値43が0(=B’000
0’)ならば8ビット出力処理SHIP8を行い、0で
なければCレジスタ30のキャリービット(βバッファ
39へ伝播済み)をクリアして6ビット出力処理SHI
P6を行う。最初にβバッファ値39がバイトX’FF
FFFFFF’でなく、Cレジスタ値30がX’FFF
FFF’より大きくなければ8ビット掃き出し処理FL
USH8を行う。8ビット掃き出し処理FLUSH8ま
たは6または8ビット掃き出し処理FLUSH6OR8
を行った後に後処理用カウンタ値CT38が正ならば最
初のβバッファ値39の内容がX’FFFFFFFF’
か否かの判断から繰り返す。後処理用カウンタ値CT3
8が正でなければβバッファ値39を24ビット右にシ
フトさせた値、つまりβhバッファ部42をBバッファ
36に出力後、バッファポインタBP37を1進める。
なお、算術符号15bがバイト境界で終了しないときバ
イト境界までビット’0’が付加される。そしてバッフ
ァ先頭アドレスBPSTから蓄積しているBP−BPS
Tバイトの算術符号15bを伝送して符号化処理を終了
する。FI which is the final output processing of the arithmetic code 15b
NALBYTES is a β buffer value 39 as shown in FIG.
Is X'FFFFFFFF ', a 6- or 8-bit sweeping process FLUSH6OR8 is performed. β buffer value 39
Is not X'FFFFFFFF 'and the C register value 30 is larger than X'FFFFFF', the carry is propagated to the β buffer 39. C register value 30 is X'FF
The case where the carry is larger than FFFF 'is when the carry propagates to the least significant bit (carry bit) of the Cf register 34 through the Cs register 32 and the Cb register 33 by the addition of the LPS area width Qe14. As a result, if the β buffer value 39 becomes X'FFFFFFFF ', the C register 3
Clear carry bit of 0 (propagated to β buffer 39) and flush 6 or 8 bits FLUSH6O
Perform R8. β buffer value 39 is X'FFFFFFFF
F register value 43 is 0 (= B'000) instead of F '
If 0 '), the 8-bit output processing SHIP8 is performed. If not 0, the carry bit (propagated to the β buffer 39) of the C register 30 is cleared and the 6-bit output processing SHI8 is performed.
Perform P6. First, the β buffer value 39 is byte X'FF
Not FFFFFF 'but C register value 30 is X'FFFF
If not larger than FFF ', 8-bit sweep processing FL
Perform USH8. 8-bit sweep processing FLUSH8 or 6 or 8-bit sweep processing FLUSH6OR8
Is performed, if the post-processing counter value CT38 is positive, the content of the first β buffer value 39 is X'FFFFFFFF '
Repeat from the judgment of whether or not. Post-processing counter value CT3
If 8 is not positive, the value obtained by shifting the β buffer value 39 to the right by 24 bits, that is, the βh buffer unit 42 is output to the B buffer 36, and then the buffer pointer BP37 is advanced by one.
If the arithmetic code 15b does not end on a byte boundary, a bit '0' is added up to the byte boundary. BP-BPS accumulated from the buffer head address BPST
After transmitting the T-byte arithmetic code 15b, the encoding process ends.
【0081】8ビット掃き出し処理であるFLUSH8
は図13のように、まずBバッファ36の更新処理NE
XTBYTEを行う。Cレジスタ値30を16ビット右
にシフトさせた値、つまりCbレジスタ部33(ビット
16〜23)をβtバッファ40に出力する。Cレジス
タ値30の出力済みまたは不要なビット(ビット16〜
31)をクリアし、残したビットの最上位ビット(ビッ
ト15)がCbレジスタ33の最上位ビット(ビット2
3)に達するようにCレジスタ30を8ビット左にシフ
トさせるとともに後処理用カウンタ値CT38から8を
減じる。ここで、βtバッファ値40がバイトX’F
F’ならばFレジスタ43を1ビット左に論理シフトさ
せる。βtバッファ値40がバイトX’FF’なく、β
バッファ値39がX’FFFFFFFE’ならばFレジ
スタ値43をB’0001’とし、X’FFFFFFF
E’でなければFレジスタ値43をB’0000’とす
る。FLUSH8 which is 8-bit sweep processing
As shown in FIG. 13, first, update processing NE of the B buffer 36
Perform XTBYTE. The value obtained by shifting the C register value 30 rightward by 16 bits, that is, the Cb register unit 33 (bits 16 to 23) is output to the βt buffer 40. Output or unnecessary bits of the C register value 30 (bits 16 to
31), and the most significant bit (bit 15) of the remaining bits is the most significant bit (bit 2) of the Cb register 33.
The C register 30 is shifted to the left by 8 bits so as to reach 3), and 8 is subtracted from the post-processing counter value CT38. Here, βt buffer value 40 is byte X′F
If F ', the F register 43 is logically shifted left by one bit. βt buffer value 40 is not byte X'FF ', β
If the buffer value 39 is X'FFFFFFFFE ', the F register value 43 is set to B'0001' and X'FFFFFFFF
If it is not E ', the F register value 43 is set to B'0000'.
【0082】6または8ビット掃き出し処理であるFL
USH6OR8は図14のように、まずBバッファ36
の更新処理NEXTBYTEを行う。Cbレジスタ部3
3がバイトX’FF’ならばバイトX’FF’以外が出
力されるまでバイトX’FF’をβtバッファ40にそ
のまま出力する。すなわちCレジスタ値30を16ビッ
ト右にシフトさせた値、つまりCbレジスタ部33(ビ
ット16〜23)をβtバッファ40に出力する。Cレ
ジスタ値30の出力済みまたは不要なビット(ビット1
6〜31)をクリアし、残したビットの最上位ビット
(ビット15)が正規化によりCbレジスタ33の最上
位ビット(ビット23)に達するようにCレジスタ30
を8ビット左にシフトさせるとともに後処理用カウンタ
値CT38から8を減じる。Cbレジスタ部33がバイ
トX’FF’でなければ4バイト(以上)のX’FFF
FFFFF’に続くバイトX’FF’以外が出力される
ことになる。そこで、Cレジスタ値30を18ビット右
にシフトさせた値、つまりCbレジスタ33の上位6ビ
ット(ビット18〜23)とCfレジスタ34の下位2
ビット(ビット24,25;このときビット25は常に
ビット’0’)をBバッファ36に出力する。出力され
るビット24,25は桁上がり制御信号100bとして
算術符号15bに挿入され、βバッファ値39である
X’FFFFFFFF’(または4バイト以上続いてい
るバイトX’FF’)の直後のX’FF’でないバイト
の上位2ビットに位置付けられる。Cレジスタ値30の
出力済みまたは不要なビット(ビット18〜31)をク
リアし、残したビットの最上位ビット(ビット17)が
Cbレジスタ33の最上位ビット(ビット23)に達す
るようにCレジスタ30を6ビット左にシフトさせると
ともに後処理用カウンタ値CT38から6を減じる。そ
して、Fレジスタ値43をB’0000’とする。FL for 6- or 8-bit sweep processing
As shown in FIG. 14, the USH6OR8
Update processing NEXTBYTE is performed. Cb register section 3
If 3 is the byte X'FF ', the byte X'FF' is output to the βt buffer 40 as it is until something other than the byte X'FF 'is output. That is, a value obtained by shifting the C register value 30 to the right by 16 bits, that is, the Cb register unit 33 (bits 16 to 23) is output to the βt buffer 40. Output or unnecessary bits of C register value 30 (bit 1
6 to 31) so that the most significant bit (bit 15) of the remaining bits reaches the most significant bit (bit 23) of the Cb register 33 by normalization.
Is shifted to the left by 8 bits, and 8 is subtracted from the post-processing counter value CT38. If the Cb register unit 33 is not byte X'FF ', 4 bytes (or more) of X'FFFF
The bytes other than the byte X'FF 'following the FFFFF' will be output. Therefore, the value obtained by shifting the C register value 30 to the right by 18 bits, that is, the upper 6 bits (bits 18 to 23) of the Cb register 33 and the lower 2 bits of the Cf register 34
Bits (bits 24 and 25; bit 25 is always bit '0') are output to B buffer 36. Output bits 24 and 25 are inserted into arithmetic code 15b as carry control signal 100b, and X 'immediately after X'FFFFFFFF' which is β buffer value 39 (or byte X'FF 'which continues 4 bytes or more). It is located in the upper two bits of the byte that is not FF '. The output or unnecessary bits (bits 18 to 31) of the C register value 30 are cleared, and the C register is set so that the most significant bit (bit 17) of the remaining bits reaches the most significant bit (bit 23) of the Cb register 33. 30 is shifted to the left by 6 bits, and 6 is subtracted from the post-processing counter value CT38. Then, the F register value 43 is set to B'0000 '.
【0083】6ビット掃き出し処理であるFLUSH6
は図15のように、まずBバッファ36の更新処理NE
XTBYTEを行う。Cレジスタ値30を18ビット右
にシフトさせた値、つまりCbレジスタ33の上位6ビ
ット(ビット18〜23)とCfレジスタ34の下位2
ビット(ビット24,25;このときビット25は常に
ビット’0’)をBバッファ36に出力する。出力され
るビット24,25は桁上がり制御信号100bとして
算術符号15bに挿入され、βバッファ値39である
X’FFFFFFFF’(または4バイト以上続いてい
るバイトX’FF’)の直後のX’FF’でないバイト
の上位2ビットに位置付けられる。Cレジスタ値30の
出力済みまたは不要なビット(ビット18〜31)をク
リアし、残したビットの最上位ビット(ビット17)が
Cbレジスタ33の最上位ビット(ビット23)に達す
るようにCレジスタ30を6ビット左にシフトさせると
ともに後処理用カウンタ値CT38から6を減じる。そ
して、Fレジスタ値43をB’0000’とする。FLUSH6 for 6-bit sweep processing
As shown in FIG. 15, first, update processing NE of the B buffer 36 is performed.
Perform XTBYTE. A value obtained by shifting the C register value 30 rightward by 18 bits, that is, the upper 6 bits (bits 18 to 23) of the Cb register 33 and the lower 2 bits of the Cf register 34
Bits (bits 24 and 25; bit 25 is always bit '0') are output to B buffer 36. Output bits 24 and 25 are inserted into arithmetic code 15b as carry control signal 100b, and X 'immediately after X'FFFFFFFF' which is β buffer value 39 (or byte X'FF 'which continues 4 bytes or more). It is located in the upper two bits of the byte that is not FF '. The output or unnecessary bits (bits 18 to 31) of the C register value 30 are cleared, and the C register is set so that the most significant bit (bit 17) of the remaining bits reaches the most significant bit (bit 23) of the Cb register 33. 30 is shifted to the left by 6 bits, and 6 is subtracted from the post-processing counter value CT38. Then, the F register value 43 is set to B'0000 '.
【0084】1回2ビット挿入方式による算術復号器3
bは図2のように、復号を1回2ビット挿入方式による
算術復号手段6bで示されるフローチャート図に沿って
行う。INITDEC、MPS,Qeの獲得、DECO
DEの機能は図41における毎回1ビット挿入方式によ
る算術復号手段6aで果たす機能と同様である。Arithmetic decoder 3 based on one-time two-bit insertion method
b, as shown in FIG. 2, the decoding is performed according to the flowchart shown by the arithmetic decoding means 6b using the 2-bit insertion method once. INITDEC, MPS, Qe acquisition, DECO
The function of the DE is the same as the function performed by the arithmetic decoding means 6a using the 1-bit insertion method each time in FIG.
【0085】1回2ビット挿入方式による算術復号器3
bのCレジスタ50(Cfレジスタ51、Cnレジスタ
52、Cxレジスタ53)とAレジスタ54の仕様は、
図56における毎回1ビット挿入方式による算術復号器
3aのレジスタ仕様と同じである。βバッファ57は図
16のように、32ビットのレジスタで構成されてい
る。βバッファ57においてビット0〜7をβtバッフ
ァ58、ビット8〜23をβiバッファ59、ビット2
4〜31をβhバッファ60と分割して指すこととす
る。βバッファ値57の更新は、Bバッファ55更新に
先立って8ビット左にシフトして入力の履歴として不要
となったβhバッファ部60の内容を捨て、Bバッファ
値55をβtバッファ部58に取り込むことにより行
う。Arithmetic decoder 3 based on two-bit insertion once
The specifications of the C register 50 (Cf register 51, Cn register 52, Cx register 53) and A register 54 of b
This is the same as the register specification of the arithmetic decoder 3a using the 1-bit insertion method each time in FIG. The .beta. buffer 57 is composed of a 32-bit register as shown in FIG. In the β buffer 57, bits 0 to 7 are assigned to the βt buffer 58, bits 8 to 23 are assigned to the βi buffer 59, and bit 2
4 to 31 are indicated separately from the βh buffer 60. To update the β buffer value 57, the contents of the βh buffer unit 60 that are shifted to the left by 8 bits and become unnecessary as an input history before the B buffer 55 is updated are discarded, and the B buffer value 55 is taken into the βt buffer unit 58. It is done by doing.
【0086】1回2ビット挿入方式による算術復号手段
6bでの復号処理をフローチャート図を示して説明す
る。フローチャート図の中で使用される変数・定数は、
β(βバッファ値)を加える以外は毎回1ビット挿入方
式による算術復号手段6aで使用される変数・定数と同
様である。 β βバッファ値 〜57 βt βtバッファ値(ビット0〜7) 〜58 βi βiバッファ値(ビット8〜23) 〜59 βh βhバッファ値(ビット24〜31) 〜60The decoding process in the arithmetic decoding means 6b based on the one-time 2-bit insertion method will be described with reference to a flowchart. The variables and constants used in the flowchart are
Except for adding β (β buffer value), it is the same as the variable / constant used in the arithmetic decoding means 6a by the 1-bit insertion method every time. β β buffer value 5757 βt βt buffer value (bits 0 to 7) 5858 βi βi buffer value (bits 8 to 23) 5959 βh βh buffer value (bits 24 to 31) 6060
【0087】復号開始時の初期化処理であるINITD
ECは図17のように、まずテーブルのセットアップを
行う。そして算術符号バッファの確保・設定を行う。バ
ッファポインタBP56はバッファ先頭アドレスBPS
Tを指し、バッファに算術符号15bを受け取る。βバ
ッファ57には特別の意味を持つX’FFFFFFF
F’でない値としてX’00000001’をセットす
る。Aレジスタ54には初期値として有効領域最小値を
セットし、Amin には有効領域最小値をセットする。A
min については符号化処理中に変更はない。Cxレジス
タ部53に算術符号15bを入力するために、まずBバ
ッファ値55を16ビット左にシフトさせて取り込む。
次に算術符号15bの入力処理BYTEINを行って算
術符号15bをCnレジスタ部52に取り込んだ後、さ
らにCレジスタ50を4ビット左にシフトすることによ
りCxレジスタ53(12ビット)を初期化、すなわち
復号すべき算術符号15bをCxレジスタに設定する。INITD which is initialization processing at the start of decoding
The EC first sets up the table as shown in FIG. Then, the arithmetic code buffer is secured and set. The buffer pointer BP56 is a buffer head address BPS.
Pointing to T, the buffer receives the arithmetic code 15b. X'FFFFFFF with special meaning is stored in the β buffer 57
X'00000001 'is set as a value other than F'. The minimum value of the effective area is set in the A register 54 as an initial value, and the minimum value of the effective area is set in Amin. A
min is not changed during the encoding process. In order to input the arithmetic code 15b to the Cx register unit 53, the B buffer value 55 is first shifted left by 16 bits and taken in.
Next, the arithmetic code 15b is subjected to input processing BYTEIN to fetch the arithmetic code 15b into the Cn register unit 52, and then the C register 50 is further shifted left by 4 bits to initialize the Cx register 53 (12 bits). The arithmetic code 15b to be decoded is set in the Cx register.
【0088】復号の実処理であるDECODE、復号の
正規化処理であるRENORMDはそれぞれ図43、図
44のように毎回1ビット挿入方式による算術復号手段
6aと同様の処理を行う。DECODE, which is the actual decoding, and RENORMD, which is the normalization of the decoding, perform the same processing as the arithmetic decoding means 6a using the 1-bit insertion method each time as shown in FIGS. 43 and 44, respectively.
【0089】算術符号15bの入力処理であるBYTE
INは図18のように、まずBバッファ55の更新処理
GETBYTEを行う。βバッファ値57がX’FFF
FFFFF’であれば更新されたBバッファ値55がバ
イトX’FF’ならば桁上がり制御信号100bを含ん
でいないのでCfレジスタ51に正規化により8ビット
シフト後に算術符号15bの入力処理が行われるように
入力フラグをビット0にセットし、Cnレジスタ52に
Bバッファ値55をそのまま入力する。Bバッファ値5
5がバイトX’FF’でなければ、桁上がり制御信号1
00bが上位2ビットに含まれているのでCfレジスタ
51に正規化により6ビット(桁上がり制御信号100
bは除くため)シフト後に算術符号15bの入力処理が
行われるように入力フラグをビット2にセットし、Cn
レジスタ52をクリアし、Bバッファ値55を10ビッ
ト左シフトした値をCレジスタ50に加えることにより
入力する。Bバッファ55の上位2ビットである桁上が
り制御信号100b(最上位ビットは常にビット’
0’)はCxレジスタ53の下位2ビット(ビット1
6,17)にそのまま加えられることにより吸収した桁
上がりを伝播させることができる。βバッファ値57が
X’FFFFFFFF’でなければCfレジスタ51に
正規化により8ビットシフト後に算術符号15bの入力
処理が行われるように入力フラグをビット0にセット
し、Cnレジスタ52にBバッファ値55をそのまま入
力する。BYTE as input processing of arithmetic code 15b
As shown in FIG. 18, the IN first performs an update process GETBYTE of the B buffer 55. β buffer value 57 is X'FFF
If the updated B buffer value 55 is FFFFF 'and the updated B buffer value 55 is byte X'FF', since the carry control signal 100b is not included, the Cf register 51 is shifted to the Cf register 51 by 8 bits by normalization, and the input processing of the arithmetic code 15b is performed. Thus, the input flag is set to bit 0, and the B buffer value 55 is input to the Cn register 52 as it is. B buffer value 5
If 5 is not byte X'FF ', carry control signal 1
Since 00b is included in the upper 2 bits, 6 bits (carry control signal 100
The input flag is set to bit 2 so that the arithmetic processing of the arithmetic code 15b is performed after the shift, and Cn
The register 52 is cleared and a value obtained by shifting the B buffer value 55 to the left by 10 bits is added to the C register 50 for input. The carry control signal 100b, which is the upper 2 bits of the B buffer 55 (the most significant bit is always bit '
0 ′) is the lower 2 bits (bit 1) of the Cx register 53.
6, 17), the carried carry can be propagated. If the β buffer value 57 is not X'FFFFFFFF ', the input flag is set to bit 0 so that the arithmetic code 15b is input to the Cf register 51 after an 8-bit shift by normalization, and the B buffer value is stored in the Cn register 52. Enter 55 as it is.
【0090】復号のBバッファ55の更新処理であるG
ETBYTEは図19のように、βバッファ57は8ビ
ット左にシフトしてβhバッファ部60を捨てるととも
にβtバッファ部58を空け、Bバッファ値55をβt
バッファ部58に取り込んで更新し、バッファポインタ
BP56を1進めて更新し、バッファポインタBP56
がバッファ終了アドレスBEより小さくなければ(等し
ければ)算術符号バッファに算術符号15bを受け取
り、バッファポインタBP56をバッファ先頭アドレス
BPSTに再初期化する。G for updating the B buffer 55 for decoding
As shown in FIG. 19, the ETBYTE shifts the β buffer 57 to the left by 8 bits, discards the βh buffer unit 60, empties the βt buffer unit 58, and sets the B buffer value 55 to βt
The buffer pointer BP56 is updated by taking it into the buffer unit 58 and the buffer pointer BP56 is incremented by one.
Is smaller than the buffer end address BE (if equal), the arithmetic code 15b is received in the arithmetic code buffer, and the buffer pointer BP56 is reinitialized to the buffer start address BPST.
【0091】以上のように、この実施例では、情報源か
らの入力データの入力に対して、入力値YNと前記入力
値YNの出現に対する予測値MPSと非予測値LPSの
領域幅(またはその近似値)Qeを出力し、正規化が行
われたとき前記非予測値LPSの確率状態を遷移させ、
前記LPS領域幅Qeを更新する入力側のモデル・確率
発生器と、復号される出力値YNに対して、前記出力値
YNの出現に対する予測値MPSと非予測値LPSの領
域幅(またはその近似値)Qeを出力し、前記出力値Y
Nを得ることにより出力データを出力し正規化が行われ
たとき前記非予測値LPSの確率状態を遷移させ、前記
LPS領域幅Qeを更新する出力側のモデル・確率発生
器とを備えた符号伝送装置において、前記入力側のモデ
ル・確率発生器が出力する前記入力値YNと前記予測値
MPSと前記LPS領域幅Qeの入力に対して、確率数
直線(0以上1未満)上の有効領域幅であるAレジスタ
値を前記非予測値LPSの領域幅Qeと前記予測値MP
Sの領域幅A−Qeとに分割し、前記入力値YNと前記
予測値MPSが同じときは新たな前記有効領域幅AにA
−Qeを割り当てて更新し、異なるときは新たな前記有
効領域幅AにQeを割り当てて更新し、割り当てられた
前記有効領域Aの下界値となるようにCレジスタ値を演
算して更新し、前記Cレジスタから出力した算術符号を
一時的に蓄えて前記Cレジスタ値の演算時に発生する桁
上がりを伝播させる機能を持ったβバッファを備え、該
桁上がりが一定数以上連続したバイトX’FF’を越え
て伝播する可能性を前記βバッファがすべてバイトX’
FF’で満たされる(この実施例ではX’FFFFFF
FF’)ことによる第1の場合または設定された一定数
に1足りないバイトX’FF’の連続にバイトX’F
E’が続く算術符号15b(この実施例ではX’FFF
FFFFE’)を出力済みであることをFレジスタを用
いて記憶し前記βバッファでバイトX’FE’まで該桁
上がりが伝播すれば一定数の連続したバイトX’FF’
が発生することによる第2の場合により検出し、前記β
バッファ内で桁上がりを伝播させきれないとき桁上がり
制御信号を以降最初に出現するX’FF’でないバイト
の上位2ビットに挿入して桁上がりの有無を後から伝送
し、前記入力側のモデル・確率発生器からの入力が終了
するまで該分割・割当処理を逐次的に繰り返し前記算術
符号を送出する1回2ビット挿入方式による算術符号器
と、前記1回2ビット挿入方式による算術符号器から送
出された前記算術符号および復号すべき前記出力値YN
に対する前記予測値MPSと前記LPS領域幅Qeの入
力に対して、確率数直線上の有効領域幅であるAレジス
タ値を前記非予測値LPSの領域幅Qeと前記予測値M
PSの領域幅A−Qeとに分割し、入力された前記算術
符号の入力履歴を一時的に蓄えるβバッファを備え、前
記算術符号にバイトX’FF’が一定数以上続いている
ことを前記βバッファを用いて検出し、前記桁上がり制
御信号を検出・処理して前記算術符号をCレジスタに取
り込み、前記Cレジスタ値より前記非予測値LPSへ割
り当てられる前記LPS領域幅Qeが小さければ前記出
力値YNを前記予測値MPSに復号し新たな前記有効領
域幅AにA−Qeを割り当てて更新し、大きければ前記
出力値YNを前記非予測値LPSに復号し新たな前記有
効領域幅AにQeを割り当てて更新し、割り当てられた
前記有効領域Aの下界値が前記算術符号の基準となるよ
うに前記Cレジスタ値を修正して更新し、前記算術符号
から復号した前記出力値YNの出力が終了するまで該分
割・割当処理を逐次的に繰り返す1回2ビット挿入方式
による算術復号器とを設けることを特徴とする符号伝送
装置を説明した。As described above, in this embodiment, when the input data is input from the information source, the area width of the input value YN, the predicted value MPS and the non-predicted value LPS for the appearance of the input value YN (or the area width thereof). Approximate value) Qe is output, and when the normalization is performed, the probability state of the non-predicted value LPS is changed,
For the input-side model / probability generator that updates the LPS region width Qe, and for the decoded output value YN, the region width of the predicted value MPS and the non-predicted value LPS for the appearance of the output value YN (or an approximation thereof) Value) Qe and outputs the output value Y
N, output data is output, and when normalization is performed, the probability state of the non-predicted value LPS is transited, and an output-side model / probability generator for updating the LPS region width Qe is provided. In the transmission apparatus, an effective area on a probability number line (0 or more and less than 1) with respect to the input of the input value YN, the predicted value MPS, and the LPS area width Qe output from the model / probability generator on the input side. The A register value, which is the width, is determined by comparing the area width Qe of the non-predicted value LPS with the predicted value MP.
S, and when the input value YN and the predicted value MPS are the same, A is added to the new effective area width A.
Assigning and updating Qe, and when different, assigning and updating Qe to the new effective area width A, calculating and updating the C register value to be the lower bound of the assigned effective area A, A β buffer having a function of temporarily storing an arithmetic code output from the C register and propagating a carry generated at the time of calculating the C register value; 'Because the β buffer is all bytes X'
FF '(X'FFFFFF in this embodiment)
FF ') in the first case or in a sequence of bytes X'FF' which is less than the predetermined fixed number of bytes X'F '
Arithmetic code 15b followed by E '(X'FFFF in this embodiment)
FFFFE ') has been output using the F register, and if the carry propagates to byte X'FE' in the β buffer, a certain number of consecutive bytes X'FF '
Is detected in the second case due to the occurrence of
When the carry cannot be propagated in the buffer, a carry control signal is inserted into the upper two bits of the first non-X'FF 'byte to be transmitted, and the presence or absence of a carry is transmitted later. An arithmetic encoder based on a one-time two-bit insertion method for sequentially repeating the division / allocation processing until the input from the probability generator is completed, and an arithmetic encoder based on the one-time two-bit insertion method for transmitting the arithmetic code; And the output value YN to be decoded
Input the predicted value MPS and the LPS region width Qe to the A register value, which is the effective region width on the probability number line, using the region width Qe of the non-predicted value LPS and the predicted value M
A region buffer A-Qe of the PS, and a β buffer for temporarily storing the input history of the input arithmetic code, wherein the arithmetic code is followed by a predetermined number of bytes X′FF ′. Detects using a β buffer, detects and processes the carry control signal, fetches the arithmetic code into a C register, and if the LPS area width Qe assigned to the non-predicted value LPS is smaller than the C register value, The output value YN is decoded into the predicted value MPS, A-Qe is assigned to the new effective area width A and updated. If the output value YN is larger, the output value YN is decoded into the non-predicted value LPS and the new effective area width A is updated. And updates the C register value so that the lower bound of the assigned effective area A becomes a reference of the arithmetic code, and updates the output obtained by decoding the arithmetic code. Described a code transmission apparatus characterized by provision of an arithmetic decoder according to one 2-bit insertion system to repeat the division and assignment process sequentially until the output of YN is completed.
【0092】なお、この実施例で1回2ビット挿入方式
をとるとき、毎回1ビット挿入方式において計2ビット
以上挿入されるのはX’FF7FFF7F・・・’とな
る4バイト以上の算術符号15aのパターンが出現した
場合であり、32ビット(4バイト)のβバッファ3
9,57を設けて検出するバイトX’FF’の連続数を
4以上とした。これは4バイトで2ビット挿入されると
みればβバッファ39,57を3バイト(βiバッファ
41,59を1バイトとする)として実現することも可
能で、nバイト(n≧3)のβバッファ39,57を設
けるときβiバッファ41,59をn−2バイトとすれ
ばよい。In this embodiment, when the two-bit insertion method is used once, a total of two or more bits are inserted in the one-bit insertion method each time when the arithmetic code 15a of 4 bytes or more that is X'FF7FFF7F... Is a 32-bit (4 byte) β buffer 3
The number of consecutive bytes X'FF 'detected by providing 9, 57 is 4 or more. If it is assumed that 2 bits are inserted in 4 bytes, the β buffers 39 and 57 can be realized as 3 bytes (the βi buffers 41 and 59 are 1 byte), and β buffers of n bytes (n ≧ 3) can be realized. When the buffers 39 and 57 are provided, the βi buffers 41 and 59 may have n-2 bytes.
【0093】図20はβバッファとF(フラグ)レジス
タの状態遷移を示す図である。この状態遷移は桁上がり
(キャリ)がない場合を示しており、βバッファ値によ
りFレジスタがONになったりOFFになったりする。
ここで、特徴となるのは、X’FFFFFF’後にX’
FE’が発生したときFレジスタの最下位ビットがオン
になり、その後、X’FF’の発生により順に左にシフ
トする点である。この場合以外はFレジスタはクリアさ
れる。このFレジスタの機能はX’FE’が桁上がりに
よりX’FF’に変更され、X’FF’が4バイト連続
することがあるので、これを検出することにある。X’
FF’の間にあるX’FE’が桁上がりのためX’F
F’に変更され、X’FF’が4バイト以上続いた場合
は、X’FF’となったバイトの直後に2ビットの桁上
がり制御信号を挿入しなければならない。前記βバッフ
ァの途中(最下位バイトでない)にあるバイトX’F
E’が該桁上がりでバイトX’FF’となった場合該桁
上がりが伝播したバイトはX’00’となるためCbレ
ジスタの上位6ビットとCfレジスタの下位2ビットを
出力することで発生したバイトX’FF’の直後の2ビ
ットに挿入すべき該桁上がり制御信号であるビット’0
0’の挿入に代えることができる。前記Fレジスタは前
記βバッファのバイト数(例えば4バイト)に対して同
数のビット(4ビット)で構成し、上記の条件でバイト
X’FE’が出力されたとき最下位ビットに1をセット
し、前記βレジスタが8ビットシフトされると同時に1
ビットシフトし前記βバッファ内のバイトX’FE’を
追跡する。従来例の方式で毎回2ビット(以上)挿入す
る方式をとるならば、この実施例の方式ではβバッファ
39,57を特に設けることなく構成できる。FIG. 20 is a diagram showing the state transition of the β buffer and the F (flag) register. This state transition shows a case where there is no carry (carry), and the F register is turned ON or OFF depending on the β buffer value.
Here, the feature is that after X'FFFFFF ', X'
The point is that the least significant bit of the F register is turned on when FE 'occurs, and then shifted to the left sequentially by the occurrence of X'FF'. Otherwise, the F register is cleared. The function of the F register is to detect that X'FE 'is changed to X'FF' due to a carry, and X'FF 'may be continuous for 4 bytes. X '
X'FE 'between FF' carries X'F
If it is changed to F 'and X'FF' continues for 4 bytes or more, a carry control signal of 2 bits must be inserted immediately after the byte that has become X'FF '. Byte X'F in the middle of the β buffer (not the least significant byte)
If E 'becomes the byte X'FF' due to the carry, the byte to which the carry propagates becomes X'00 ', so it is generated by outputting the upper 6 bits of the Cb register and the lower 2 bits of the Cf register. Bit '0' which is the carry control signal to be inserted into the two bits immediately after the byte X'FF '
It can be replaced by insertion of 0 '. The F register is composed of the same number of bits (4 bits) as the number of bytes (for example, 4 bytes) of the β buffer, and when the byte X'FE 'is output under the above conditions, 1 is set to the least significant bit. And the β register is shifted by 8 bits and
Bit shift and track byte X'FE 'in the β buffer. If a method of inserting 2 bits (or more) every time is adopted in the method of the conventional example, the method of this embodiment can be configured without providing the β buffers 39 and 57 in particular.
【0094】実施例2. 次に、第2〜第5の発明の実施例について説明する。上
記実施例1ではβバッファを用いることにより桁上がり
制御信号の挿入を減少させる場合を示したが、上記シス
テムをLSI等の集積回路で構成するような場合にはβ
バッファ用回路及びその桁上がりのための加算回路を設
ける必要があり、限られた領域がこのβバッファ用回路
及びその桁上がりのための加算回路のために圧迫されて
しまうという不具合がある。この実施例の符号伝送装置
は、βバッファをなくしβバッファ用回路及びその桁上
がりのための加算回路を設ける必要がなく、Cレジスタ
から出力した算術符号中に連続して出現するバイトX’
FF’の出力を一時的に待機させて記憶(本実施例では
記憶する最長バイト長を4バイト=32ビットとした)
し、桁上がりが発生すれば記憶している範囲内で伝播さ
せ、桁上がりの伝播が記憶可能な最長バイト長を越える
ときは連続するバイトX’FF’の直後のX’FF’で
ないバイトの上位2ビットにビット’00’を桁上がり
制御信号として挿入して桁上がりを上位へ伝播させない
ように吸収させる伝送制御方式(1回2ビット挿入方
式)を採ることを特徴とする(ただし、桁上がり制御信
号が桁上がりを吸収した場合にはビット’01’とな
る)。Embodiment 2 FIG. Next, embodiments of the second to fifth inventions will be described. In the first embodiment, the case where the insertion of the carry control signal is reduced by using the β buffer is described. However, when the system is configured by an integrated circuit such as an LSI,
It is necessary to provide a buffer circuit and an adder circuit for the carry thereof, and there is a problem that a limited area is pressed by the β buffer circuit and the adder circuit for the carry. The code transmission apparatus of this embodiment eliminates the need for a β buffer and a circuit for a β buffer and an adder circuit for carry thereof, and a byte X ′ continuously appearing in an arithmetic code output from a C register.
The output of FF 'is temporarily put on standby and stored (in this embodiment, the maximum byte length to be stored is 4 bytes = 32 bits)
If a carry occurs, it is propagated within the stored range. If carry propagation exceeds the maximum storable byte length, a byte other than X'FF 'immediately following the consecutive byte X'FF' is transmitted. A transmission control method (one-time two-bit insertion method) is adopted in which a bit '00' is inserted as a carry control signal in the upper two bits to absorb the carry so as not to propagate to the higher order. If the carry control signal absorbs a carry, the bit becomes '01'.)
【0095】入力側のモデル・確率発生器は、情報源か
らの入力データの入力に対して、入力値YNと入力値Y
Nの出現に対する予測値MPSと非予測値LPSの領域
幅(またはその近似値)Qeを出力し、正規化が行われ
たとき非予測値LPSの確率状態を遷移させ、非予測値
LPSの領域幅Qeを更新する。The input-side model / probability generator responds to input data input from the information source by input value YN and input value Y.
The region width (or an approximate value thereof) Qe of the predicted value MPS and the non-predicted value LPS for the appearance of N is output, and when the normalization is performed, the probability state of the non-predicted value LPS is changed, and the region of the non-predicted value LPS is changed. Update the width Qe.
【0096】1回2ビット挿入方式による算術符号器
は、入力側のモデル・確率発生器が出力する入力値YN
と予測値MPSとLPS領域幅Qeの入力に対して、確
率数直線(0以上1未満)上の有効領域幅であるAレジ
スタ値を非予測値LPSの領域幅Qeと予測値MPSの
領域幅A−Qeとに分割し、入力値YNと予測値MPS
が同じときは新たな有効領域幅AにA−Qeを割り当て
て更新し、異なるときは新たな有効領域幅AにQeを割
り当てて更新し、割り当てられた有効領域Aの下界値と
なるようにCレジスタ値を演算して更新し、Cレジスタ
から出力した算術符号を必要ならば一定の長さまで蓄え
てCレジスタ値の演算時に発生する桁上がりを伝播させ
る機能を備え、該桁上がりが一定数以上連続したバイト
X’FF’を越えて伝播する可能性を検出し、桁上がり
を伝播させきれないとき桁上がり制御信号を以降最初に
出現するX’FF’でないバイトの上位2ビットに挿入
して桁上がりの有無を後から伝送し、入力側のモデル・
確率発生器からの入力が終了するまで分割・割当処理を
逐次的に繰り返し算術符号を送出する。The arithmetic encoder using the one-time 2-bit insertion method has an input value YN output from the model / probability generator on the input side.
And the predicted value MPS and the LPS region width Qe, the A register value which is the effective region width on the probability line (0 or more and less than 1) is changed to the region width Qe of the non-predicted value LPS and the region width of the predicted value MPS. A-Qe and the input value YN and the predicted value MPS
Are equal to each other, A-Qe is assigned to the new effective area width A and updated. If they are different, Qe is assigned to the new effective area width A and updated, so that the lower bound of the assigned effective area A is obtained. It has a function of calculating and updating the C register value, storing the arithmetic code output from the C register up to a certain length if necessary, and propagating a carry generated at the time of calculating the C register value. Detecting the possibility of propagation beyond the above consecutive bytes X'FF 'and inserting a carry control signal into the upper 2 bits of the first non-X'FF' byte appearing after the carry cannot be propagated. The presence or absence of carry is transmitted later, and the input model
The division / allocation processing is sequentially repeated until the input from the probability generator is completed, and an arithmetic code is transmitted.
【0097】1回2ビット挿入方式による算術復号器
は、1回2ビット挿入方式による算術符号器から送出さ
れた算術符号および復号すべき出力値YNに対する予測
値MPSとLPS領域幅Qeの入力に対して、確率数直
線上の有効領域幅であるAレジスタ値を非予測値LPS
の領域幅Qeと予測値MPSの領域幅A−Qeとに分割
し、算術符号にバイトX’FF’が一定数以上続いてい
ることを検出し、桁上がり制御信号を検出・処理して算
術符号をCレジスタに取り込み、Cレジスタ値より非予
測値LPSへ割り当てられるLPS領域幅Qeが小さけ
れば出力値YNを予測値MPSに復号し新たな有効領域
幅AにA−Qeを割り当てて更新し、大きければ出力値
YNを非予測値LPSに復号し新たな有効領域幅AにQ
eを割り当てて更新し、割り当てられた有効領域Aの下
界値が算術符号の基準となるようにCレジスタ値を修正
して更新し、算術符号から復号した出力値YNの出力が
終了するまで分割・割当処理を逐次的に繰り返す。The arithmetic decoder using the one-time two-bit insertion method inputs the arithmetic code sent from the one-time two-bit insertion type arithmetic encoder and the predicted value MPS and the LPS area width Qe for the output value YN to be decoded. On the other hand, the A register value, which is the effective area width on the probability number line, is changed to the non-predicted value LPS
Is divided into a region width Qe of the prediction value MPS and a region width A-Qe of the prediction value MPS, and it is detected that the arithmetic code has a certain number of bytes X'FF 'continuing over a predetermined number. If the sign is taken into the C register and the LPS area width Qe assigned to the non-predicted value LPS is smaller than the C register value, the output value YN is decoded into the predicted value MPS, and A-Qe is assigned to the new effective area width A and updated. If it is larger, the output value YN is decoded into a non-prediction value LPS, and Q is added to the new effective area width A.
e is updated, the C register value is updated and updated so that the lower bound of the allocated effective area A becomes the reference of the arithmetic code, and the division is performed until the output of the output value YN decoded from the arithmetic code is completed. -Repeat the assignment process sequentially.
【0098】出力側のモデル・確率発生器は、復号され
る出力値YNに対して、出力値YNの出現に対する予測
値MPSと非予測値LPSの領域幅(またはその近似
値)Qeを出力し、出力値YNを得ることにより出力デ
ータを出力し、正規化が行われたとき非予測値LPSの
確率状態を遷移させ、LPS領域幅Qeを更新する。The output-side model / probability generator outputs, for the decoded output value YN, the region width (or an approximate value) Qe of the predicted value MPS and the non-predicted value LPS for the appearance of the output value YN. , The output value YN, and outputs the output data. When the normalization is performed, the probability state of the non-predicted value LPS is changed, and the LPS region width Qe is updated.
【0099】第2、第3、第4、第5の発明を示す一実
施例の符号伝送装置を図21に示す。入力側のモデル・
確率発生器1と出力側のモデル・確率発生器4は、上記
従来例の図40に対応する。1回2ビット挿入方式によ
る算術符号器2bは、入力側のモデル・確率発生器1が
出力する入力値YN11と予測値MPS12とLPS領
域幅Qe14の入力を用いて、算術符号15bを生成
し、その算術符号15b中に連続した一定数以上のバイ
トX’FF’が出現するごとに以降最初に出現するX’
FF’でないバイトの上位2ビットに、下位からの桁上
がりの有無を示す桁上がり制御信号100bを挿入する
1回2ビット挿入方式を実行する。1回2ビット挿入方
式による算術復号器3bは、1回2ビット挿入方式によ
る算術符号器2bから送出された算術符号15bおよび
復号すべき出力値YN16に対する予測値MPS17と
LPS領域幅Qe19の入力を用いて、桁上がり制御信
号100bを検出・処理して取り込んだ算術符号15b
を算術復号した出力値YN16を出力する。FIG. 21 shows a code transmission apparatus according to an embodiment showing the second, third, fourth, and fifth inventions. Input side model
The probability generator 1 and the model / probability generator 4 on the output side correspond to FIG. The arithmetic encoder 2b based on the one-time 2-bit insertion method generates an arithmetic code 15b using the input value YN11, the predicted value MPS12, and the LPS area width Qe14 output from the input-side model / probability generator 1, Every time a certain number or more of consecutive bytes X'FF 'appear in the arithmetic code 15b, the first appearing X'
A two-bit insertion method is performed in which a carry control signal 100b indicating whether a carry from the lower bit is present is inserted into the upper two bits of a byte other than FF '. The one-time two-bit insertion arithmetic decoder 3b receives the arithmetic code 15b sent from the one-time two-bit insertion type arithmetic encoder 2b and the predicted value MPS17 and LPS area width Qe19 for the output value YN16 to be decoded. The arithmetic code 15b obtained by detecting and processing the carry control signal 100b
Is output as an output value YN16.
【0100】この実施例の符号伝送装置は、伝送される
算術符号中に一定数以上連続したバイトX’FF’が出
現するごとに以降最初に出現するX’FF’でないバイ
トの上位2ビットに桁上がり制御信号としてビット’0
0’を挿入して算術演算時に下位から発生する桁上がり
を上位へ伝播させないように吸収させる伝送制御方式
(1回2ビット挿入方式)を採る(ただし、桁上がり制
御信号が桁上がりを吸収した場合にはビット’01’と
なる)。The code transmission apparatus according to this embodiment uses the upper 2 bits of the first non-X'FF 'byte that appears every time a certain number or more of consecutive bytes X'FF' appear in the transmitted arithmetic code. Bit '0 as carry control signal
A transmission control method (one-bit insertion method once) that inserts 0 'and absorbs a carry generated from the lower part during arithmetic operation so as not to propagate to the upper part is adopted (however, the carry control signal absorbs the carry. In this case, the bit is “01”).
【0101】1回2ビット挿入方式による算術符号器2
bは図22のように、符号化を1回2ビット挿入方式に
よる算術符号化手段5bで示されるフローチャート図に
沿って行う。INITENC、MPS,Qe,YNの獲
得、ENCODE、FLUSHの機能は図41における
毎回1ビット挿入方式による算術符号化手段5aで果た
す機能と同様である。Arithmetic coder 2 by one-time two-bit insertion method
b, as shown in FIG. 22, the encoding is performed according to the flowchart shown by the arithmetic encoding means 5b using the 2-bit insertion method once. The functions of INITENC, MPS, Qe, YN acquisition, ENCODE, and FLUSH are the same as the functions performed by the arithmetic coding unit 5a using the 1-bit insertion method each time in FIG.
【0102】1回2ビット挿入方式による算術符号器2
bのCレジスタ30(Cxレジスタ31、Csレジスタ
32、Cbレジスタ33、Cfレジスタ34)とAレジ
スタ35の仕様は、図42における毎回1ビット挿入方
式による算術符号器2aのレジスタ仕様と同じである。Arithmetic encoder 2 based on 2-bit insertion once
The specifications of the C register 30 (Cx register 31, Cs register 32, Cb register 33, Cf register 34) and A register 35 of b are the same as the register specifications of the arithmetic encoder 2a using the 1-bit insertion method each time in FIG. .
【0103】1回2ビット挿入方式による算術符号化手
段5bでの符号化処理をフローチャート図を示して説明
する。フローチャート図の中で使用される変数・定数
は、J(Jカウンタ値),K(Kカウンタ値),PT
(連続パターン出力用カウンタ値)を加える以外は毎回
1ビット挿入方式による算術符号化手段5aで使用され
る変数・定数と同様である。 J Jカウンタ値 〜39 K Kカウンタ値 〜40 PT 連続パターン出力用カウンタ値 〜41The encoding process in the arithmetic encoding means 5b based on the one-time 2-bit insertion method will be described with reference to a flowchart. Variables and constants used in the flowchart are J (J counter value), K (K counter value), PT
Except for adding a (continuous pattern output counter value), it is the same as the variable / constant used in the arithmetic coding means 5a by the 1-bit insertion method every time. JJ counter value 3939 KK counter value 4040 PT Counter value for continuous pattern output 4141
【0104】符号化開始時の初期化処理であるINIT
ENCは図23のように、まずテーブルのセットアップ
を行う。そして算術符号バッファの確保・設定を行う。
バッファポインタBP37はバッファ先頭アドレスBP
STより1つ前を指し、Jカウンタ値39、Kカウンタ
40は初期値を0とする。Aレジスタ35には初期値と
して有効領域最小値をセットする。Amin には有効領域
最小値をセットし、Amin については符号化処理中に変
更はない。Cレジスタ30にはCfレジスタ部34へ出
力フラグのみをセットする。符号化開始時の状態におい
て出力されるべき算術符号15bはCxレジスタ31
(小数点)以下であるからビット11がCbレジスタ3
3の最上位ビット(ビット23)に達したとき最初の出
力が行われるように出力フラグはCbレジスタ33内部
(ビット20)にセットされる。INIT which is initialization processing at the start of encoding
The ENC first sets up the table as shown in FIG. Then, the arithmetic code buffer is secured and set.
The buffer pointer BP37 is the buffer head address BP
It indicates one before ST, and the J counter value 39 and the K counter 40 have initial values of 0. The minimum value of the effective area is set in the A register 35 as an initial value. Amin is set to the minimum value of the effective area, and Amin is not changed during the encoding process. Only the output flag is set to the Cf register unit 34 in the C register 30. The arithmetic code 15b to be output in the state at the start of encoding is the Cx register 31
Bit 11 is in Cb register 3 because it is less than (decimal point)
The output flag is set in the Cb register 33 (bit 20) so that the first output is performed when the third most significant bit (bit 23) is reached.
【0105】符号化の実処理であるENCODE、入力
値YN11=1の処理であるCODEYN1、入力値Y
N11=0の処理であるCODEYN0、符号化の正規
化処理であるRENORMEはそれぞれ図44、図4
5、図46、図47のように毎回1ビット挿入方式によ
る算術符号化手段5aと同様の処理を行う。ENCODE which is the actual process of encoding, CODEYN1 which is the process of input value YN11 = 1, and input value Y
CODEYN0, which is the processing of N11 = 0, and RENORME, which is the normalization processing of the encoding, are shown in FIGS.
5, the same processing as the arithmetic coding means 5a using the 1-bit insertion method is performed every time as shown in FIGS.
【0106】算術符号15bの出力処理であるBYTE
OUTは図24のように、Kカウンタ値40が4ならば
6または8ビット出力処理SHIP6OR8を行う。K
カウンタ値40が4でなく、Cレジスタ値30がX’F
FFFFF’より大きい場合には桁上がりをBバッファ
36へ伝播させる。Cレジスタ値30がX’FFFFF
F’より大きい場合とはLPS領域幅Qe14の加算に
よりCsレジスタ32、Cbレジスタ33を経て桁上が
りがCfレジスタ34の最下位ビット(キャリービッ
ト)まで伝播したときである。この結果Bバッファ36
がX’FF’となりかつJカウンタ値39が3ならばC
レジスタ30のキャリービット(βバッファ36へ伝播
済み)をクリアしてKカウンタ値40が0ならば6また
は8ビット出力処理SHIP6OR8、Kカウンタ値4
0が0でなければ6ビット出力処理SHIP6を行う。
Bバッファ36がX’FF’でなくまたはJカウンタ値
39が3でなければ8ビット出力処理SHIP8を行
う。最初にKカウンタ値40が4でなく、Cレジスタ値
30がX’FFFFFF’より大きくなければ8ビット
出力処理SHIP8を行う。BYTE which is output processing of arithmetic code 15b
OUT performs 6- or 8-bit output processing SHIP6OR8 if the K counter value 40 is 4, as shown in FIG. K
If the counter value 40 is not 4 and the C register value 30 is X'F
If it is larger than FFFFF ', the carry is propagated to the B buffer 36. C register value 30 is X'FFFFF
The case where the carry is larger than F ′ is when the carry propagates to the least significant bit (carry bit) of the Cf register 34 via the Cs register 32 and the Cb register 33 by the addition of the LPS area width Qe14. As a result, the B buffer 36
Becomes X'FF 'and J counter value 39 is 3, then C
If the carry bit (propagated to the β buffer 36) of the register 30 is cleared and the K counter value 40 is 0, 6 or 8 bit output processing SHIP6OR8, K counter value 4
If 0 is not 0, 6-bit output processing SHIP6 is performed.
If the B buffer 36 is not X'FF 'or the J counter value 39 is not 3, 8-bit output processing SHIP8 is performed. First, if the K counter value 40 is not 4 and the C register value 30 is not larger than X'FFFFFF ', an 8-bit output process SHIP8 is performed.
【0107】8ビット出力処理であるSHIP8は図2
5のように、Cbレジスタ値33がバイトX’FF’な
らばKカウンタ値40をインクリメントし、その結果K
カウンタ値40が4となればバイトX’FF’の連続出
力処理SHIPXFFを行い、Cレジスタ値30の出力
済みまたは不要なビット(ビット16〜31)をクリア
し、残したビットの最上位ビット(ビット15)が正規
化によりCbレジスタ33の最上位ビット(ビット2
3)に達したときにBYTEOUTが行われるように出
力フラグをビット24にセットする。Cbレジスタ値3
3がバイトX’FF’でなければ、Kカウンタ値40が
0でなくCレジスタ値30がX’FFFFFF’より大
きいときバイトX’FF’の連続出力処理SHIPXF
F、Kカウンタ値40が0でなくCレジスタ値30が
X’FFFFFF’より大きくないときバイトX’0
0’の連続出力処理SHIPX00を行い、Kカウンタ
値40が0のときと併せてBバッファ36の更新処理N
EXTBYTEを行う。そして、Cレジスタ値30を1
6ビット右にシフトさせた値、つまりCbレジスタ部3
3(ビット16〜23)をBバッファ36に出力する。
Cレジスタ値30の出力済みまたは不要なビット(ビッ
ト16〜31)をクリアし、残したビットの最上位ビッ
ト(ビット15)が正規化によりCbレジスタ33の最
上位ビット(ビット23)に達したときにBYTEOU
Tが行われるように出力フラグをビット24にセット
し、Jカウンタ値39にKカウンタ値40をセットした
後Kカウンタ値40を0にする。SHIP8 which is an 8-bit output process is shown in FIG.
As shown in FIG. 5, if the Cb register value 33 is byte X'FF ', the K counter value 40 is incremented.
When the counter value 40 becomes 4, the continuous output processing SHIPXFF of the byte X'FF 'is performed, the output or unnecessary bits (bits 16 to 31) of the C register value 30 are cleared, and the most significant bit (bits) of the remaining bits is cleared. The most significant bit (bit 2) of the Cb register 33 is normalized by normalization.
Set the output flag in bit 24 so that BYTEOUT is performed when 3) is reached. Cb register value 3
If the K counter value 40 is not 0 and the C register value 30 is larger than X'FFFFFF ', the continuous output processing SHIPXF of the byte X'FF' is performed unless 3 is the byte X'FF '.
When the F and K counter values 40 are not 0 and the C register value 30 is not greater than X'FFFFFF ', the byte X'0
A continuous output process SHIP00 of 0 'is performed, and the update process N of the B buffer 36 is performed together with the case where the K counter value 40 is 0.
Perform EXTBYTE. Then, the C register value 30 is set to 1
The value shifted right by 6 bits, that is, the Cb register unit 3
3 (bits 16 to 23) is output to the B buffer 36.
The output or unnecessary bits (bits 16 to 31) of the C register value 30 are cleared, and the most significant bit (bit 15) of the remaining bits reaches the most significant bit (bit 23) of the Cb register 33 by normalization. Sometimes BYTEOU
The output flag is set to bit 24 so that T is performed, the K counter value 40 is set to the J counter value 39, and the K counter value 40 is set to 0.
【0108】6または8ビット出力処理であるSHIP
6OR8は図26のように、まずBバッファ36の更新
処理NEXTBYTEを行う。Cbレジスタ部33がバ
イトX’FF’ならばバイトX’FF’以外が出力され
るまでバイトX’FF’をBバッファ36にそのまま出
力する。すなわちCレジスタ値30を16ビット右にシ
フトさせた値、つまりCbレジスタ部33(ビット16
〜23)をBバッファ36に出力する。Cレジスタ値3
0の出力済みまたは不要なビット(ビット16〜31)
をクリアし、残したビットの最上位ビット(ビット1
5)が正規化によりCbレジスタ33の最上位ビット
(ビット23)に達したときにBYTEOUTが行われ
るように出力フラグをビット24にセットする。Jカウ
ンタ値39、Kカウンタ値40(=4)はそのままでよ
い。Cbレジスタ部33がバイトX’FF’でなければ
4バイト(以上)のX’FFFFFFFF’に続くバイ
トX’FF’以外が出力されることになる。そこで、C
レジスタ値30を18ビット右にシフトさせた値、つま
りCbレジスタ33の上位6ビット(ビット18〜2
3)とCfレジスタ34の下位2ビット(ビット24,
25;このときビット25は常にビット’0’)をBバ
ッファ36に出力する。出力されるビット24,25は
桁上がり制御信号100bとして算術符号15bに挿入
され、4バイト以上続いているバイトX’FF’の直後
のX’FF’でないバイトの上位2ビットに位置付けら
れる。Cレジスタ値30の出力済みまたは不要なビット
(ビット18〜31)をクリアし、残したビットの最上
位ビット(ビット17)が正規化によりCbレジスタ3
3の最上位ビット(ビット23)に達したときにBYT
EOUTが行われるように出力フラグをビット26にセ
ットし、Jカウンタ値39を4、Kカウンタ値40を0
にする。SHIP for 6- or 8-bit output processing
The 6OR8 first performs an update process NEXTBYTE of the B buffer 36 as shown in FIG. If the Cb register unit 33 has the byte X'FF ', the byte X'FF' is output to the B buffer 36 as it is until a byte other than the byte X'FF 'is output. That is, the value obtained by shifting the C register value 30 rightward by 16 bits, that is, the Cb register unit 33 (bit 16
To 23) are output to the B buffer 36. C register value 3
Outputted or unnecessary bits of 0 (bits 16 to 31)
And the most significant bit (bit 1) of the remaining bits
When 5) reaches the most significant bit (bit 23) of the Cb register 33 by normalization, the output flag is set to bit 24 so that BYTEOUT is performed. The J counter value 39 and the K counter value 40 (= 4) may be left as they are. If the Cb register unit 33 is not the byte X'FF ', a byte other than the byte X'FF' following the 4-byte (or more) X'FFFFFFFF 'is output. So, C
A value obtained by shifting the register value 30 to the right by 18 bits, that is, the upper 6 bits (bits 18 to 2) of the Cb register 33
3) and the lower 2 bits of the Cf register 34 (bits 24,
25; At this time, bit 25 always outputs bit '0') to the B buffer 36. The output bits 24 and 25 are inserted into the arithmetic code 15b as the carry control signal 100b, and are positioned in the upper two bits of the non-X'FF 'byte immediately after the byte X'FF' continuing for 4 or more bytes. The output or unnecessary bits (bits 18 to 31) of the C register value 30 are cleared, and the most significant bit (bit 17) of the remaining bits is normalized so that the Cb register 3
BYT when it reaches the most significant bit of bit 3 (bit 23)
The output flag is set to bit 26 so that EOUT is performed, the J counter value 39 is set to 4, and the K counter value 40 is set to 0.
To
【0109】6ビット出力処理であるSHIP6は図2
7のように、まずバイトX’00’の連続出力処理SH
IPX00を行い、Bバッファ36の更新処理NEXT
BYTEを行う。Cレジスタ30からは4バイト(以
上)のX’FFFFFFFF’に続くバイトX’FF’
以外が出力されることになり、18ビット右にシフトさ
せた値、つまりCbレジスタ33の上位6ビット(ビッ
ト18〜23)とCfレジスタ34の下位2ビット(ビ
ット24,25;ビット25は常にビット’0’)をB
バッファ36に出力する。出力されるビット24,25
は桁上がり制御信号100bとして算術符号15bに挿
入され、4バイト以上続いているバイトX’FF’の直
後のX’FF’でないバイトの上位2ビットに位置付け
られる。Cレジスタ値30の出力済みまたは不要なビッ
ト(ビット18〜31)をクリアし、残したビットの最
上位ビット(ビット17)が正規化によりCbレジスタ
33の最上位ビット(ビット23)に達したときにBY
TEOUTが行われるように出力フラグをビット26に
セットし、Jカウンタ値39を4、Kカウンタ値40を
0にする。SHIP6 which is a 6-bit output process is shown in FIG.
7, first, the continuous output processing SH of the byte X'00 '
Performs IPX00 and updates the B buffer 36 NEXT
Perform BYTE. Byte X'FF 'following 4 bytes (or more) of X'FFFFFFFF' from C register 30
Are output, the value shifted 18 bits to the right, that is, the upper 6 bits (bits 18 to 23) of the Cb register 33 and the lower 2 bits (bits 24 and 25; bit 25) of the Cf register 34 are always Bit '0') to B
Output to the buffer 36. Output bits 24 and 25
Is inserted into the arithmetic code 15b as the carry control signal 100b, and is positioned in the upper two bits of the non-X'FF 'byte immediately after the byte X'FF' continuing for 4 or more bytes. The output or unnecessary bits (bits 18 to 31) of the C register value 30 are cleared, and the most significant bit (bit 17) of the remaining bits reaches the most significant bit (bit 23) of the Cb register 33 by normalization. Sometimes BY
The output flag is set to bit 26 so that TEOUT is performed, the J counter value 39 is set to 4, and the K counter value 40 is set to 0.
【0110】バイトX’00’の連続出力処理SHIP
X00は図28のように、連続パターン出力用カウンタ
値PT41にKカウンタ値40をセットする。Bバッフ
ァ36の更新処理NEXTBYTEを行い、Bバッファ
値36をバイトX’00’とし、連続パターン出力用カ
ウンタ値PT41をデクリメントする。そして、連続パ
ターン出力用カウンタ値PT41が0より大きければB
バッファ36の更新処理NEXTBYTEから繰り返
す。Continuous output processing of byte X'00 'SHIP
In X00, the K counter value 40 is set to the continuous pattern output counter value PT41 as shown in FIG. An update process NEXTBYTE of the B buffer 36 is performed, the B buffer value 36 is set to the byte X'00 ', and the continuous pattern output counter value PT41 is decremented. Then, if the continuous pattern output counter value PT41 is larger than 0, B
The update processing of the buffer 36 is repeated from NEXTBYTE.
【0111】バイトX’FF’の連続出力処理SHIP
XFFは図29のように、連続パターン出力用カウンタ
値PT41にKカウンタ値40をセットする。Bバッフ
ァ36の更新処理NEXTBYTEを行い、Bバッファ
値36をバイトX’FF’とし、連続パターン出力用カ
ウンタ値PT41をデクリメントする。そして、連続パ
ターン出力用カウンタ値PT41が0より大きければB
バッファ36の更新処理NEXTBYTEから繰り返
す。Continuous output processing SHIP of byte X'FF '
The XFF sets the K counter value 40 to the continuous pattern output counter value PT41 as shown in FIG. The update process NEXTBYTE of the B buffer 36 is performed, the B buffer value 36 is set to the byte X'FF ', and the continuous pattern output counter value PT41 is decremented. Then, if the continuous pattern output counter value PT41 is larger than 0, B
The update processing of the buffer 36 is repeated from NEXTBYTE.
【0112】符号化のBバッファ36の更新処理である
NEXTBYTE、符号化の後処理であるFLUSH
は、それぞれ図51、図52のように毎回1ビット挿入
方式による算術符号化手段5aと同様の処理を行う。NEXTBYTE for updating the B buffer 36 for encoding, FLUSH for post-processing for encoding
Performs the same processing as the arithmetic coding means 5a using the 1-bit insertion method every time as shown in FIGS. 51 and 52, respectively.
【0113】算術符号15bの最終出力処理であるFI
NALBYTESは図30、図31のように、Kカウン
タ値40が4ならば6または8ビット掃き出し処理FL
USH6OR8を行う。Kカウンタ値40が4でなく、
Cレジスタ値30がX’FFFFFF’より大きい場合
には桁上がりをBバッファ36へ伝播させる。Cレジス
タ値30がX’FFFFFF’より大きい場合とはLP
S領域幅Qe14の加算によりCsレジスタ32、Cb
レジスタ33を経て桁上がりがCfレジスタ34の最下
位ビット(キャリービット)まで伝播したときである。
この結果Bバッファ36がX’FF’となりかつJカウ
ンタ値39が3ならばCレジスタ30のキャリービット
(βバッファ36へ伝播済み)をクリアしてKカウンタ
値40が0ならば6または8ビット掃き出し処理FLU
SH6OR8、Kカウンタ値40が0でなければ6ビッ
ト掃き出し処理FLUSH6を行う。Bバッファ36が
X’FF’でなくまたはJカウンタ値39が3でなけれ
ば8ビット掃き出し処理FLUSH8を行う。最初にK
カウンタ値40が4でなく、Cレジスタ値30がX’F
FFFFF’より大きくなければ8ビット掃き出し処理
FLUSH8を行う。8ビット掃き出し処理FLUSH
8または6または8ビット掃き出し処理FLUSH6O
R8を行った後に後処理用カウンタ値CT38が正なら
ば最初のKカウンタ値が4か否かの判断から繰り返す。
後処理用カウンタ値CT38が正でなければ、Kカウン
タ値40が0でなくかつ4でないときはバイトX’F
F’の連続出力処理SHIPXFFを行い、バッファポ
インタBP37を1進める。なお、算術符号15bがバ
イト境界で終了しないときバイト境界までビット’0’
が付加される。そしてバッファ先頭アドレスBPSTか
ら蓄積しているBP−BPSTバイトの算術符号15b
を伝送して符号化処理を終了する。FI which is the final output processing of arithmetic code 15b
NALBYTES indicates, as shown in FIGS. 30 and 31, if the K counter value 40 is 4, 6 or 8 bit sweeping processing FL
Perform USH6OR8. If the K counter value 40 is not 4,
If the C register value 30 is larger than X'FFFFFF ', the carry is propagated to the B buffer 36. C register value 30 is greater than X'FFFFFF 'LP
By adding the S region width Qe14, the Cs register 32, Cb
This is when the carry propagates through the register 33 to the least significant bit (carry bit) of the Cf register 34.
As a result, when the B buffer 36 becomes X'FF 'and the J counter value 39 is 3, the carry bit (propagated to the β buffer 36) of the C register 30 is cleared, and when the K counter value 40 is 0, 6 or 8 bits. Discharge processing FLU
If the SH6OR8 and the K counter value 40 are not 0, a 6-bit sweeping process FLUSH6 is performed. If the B buffer 36 is not X'FF 'or the J counter value 39 is not 3, the 8-bit flush processing FLUSH8 is performed. First K
If the counter value 40 is not 4 and the C register value 30 is X'F
If it is not larger than FFFFF ', an 8-bit flush process FLUSH8 is performed. 8-bit sweep processing FLUSH
8 or 6 or 8 bit sweep processing FLUSH6O
If the post-processing counter value CT38 is positive after performing R8, the process is repeated from the determination whether the first K counter value is 4 or not.
If the post-processing counter value CT38 is not positive, the byte X'F if the K counter value 40 is not 0 and 4
F ′ continuous output processing SHIPXFF is performed, and the buffer pointer BP37 is advanced by one. If the arithmetic code 15b does not end on a byte boundary, the bit '0' is reached up to the byte boundary.
Is added. The arithmetic code 15b of the BP-BPST byte accumulated from the buffer head address BPST
Is transmitted to end the encoding process.
【0114】8ビット掃き出し処理であるFLUSH8
は図32のように、Cbレジスタ値33がバイトX’F
F’ならばKカウンタ値40をインクリメントし、その
結果Kカウンタ値40が4となればバイトX’FF’の
連続出力処理SHIPXFFを行い、Cレジスタ値30
の出力済みまたは不要なビット(ビット16〜31)を
クリアし、残したビットの最上位ビット15がCbレジ
スタ33の最上位ビット(ビット23)に達するように
Cレジスタ30を8ビット左にシフトさせるとともに後
処理用カウンタ値CT38から8を減じる。Cbレジス
タ値33がバイトX’FF’でなければ、Kカウンタ値
40が0でなくCレジスタ値30がX’FFFFFF’
より大きいときバイトX’FF’の連続出力処理SHI
PXFF、Kカウンタ値40が0でなくCレジスタ値3
0がX’FFFFFF’より大きくないときバイトX’
00’の連続出力処理SHIPX00を行い、Kカウン
タ値40が0のときと併せてBバッファ36の更新処理
NEXTBYTEを行う。そして、Cレジスタ値30を
16ビット右にシフトさせた値、つまりCbレジスタ部
33(ビット16〜23)をBバッファ36に出力す
る。Cレジスタ値30の出力済みまたは不要なビット
(ビット16〜31)をクリアし、残したビットの最上
位ビット(ビット15)がCbレジスタ33の最上位ビ
ット(ビット23)に達するようにCレジスタ30を8
ビット左にシフトさせるとともに後処理用カウンタ値C
T38から8を減じ、Jカウンタ値39にKカウンタ値
40をセットした後Kカウンタ値40を0にする。FLUSH8 which is 8-bit sweep processing
As shown in FIG. 32, the Cb register value 33 is the byte X'F
If F ', the K counter value 40 is incremented. As a result, if the K counter value 40 becomes 4, the continuous output processing SHIPXFF of the byte X'FF' is performed, and the C register value 30
Is cleared, and the C register 30 is shifted 8 bits to the left so that the most significant bit 15 of the remaining bits reaches the most significant bit (bit 23) of the Cb register 33. At the same time, 8 is subtracted from the post-processing counter value CT38. If the Cb register value 33 is not byte X'FF ', the K counter value 40 is not 0 and the C register value 30 is X'FFFFFF'
When greater than, continuous output processing SHI of byte X'FF '
PXFF, K counter value 40 is not 0 but C register value 3
Byte 0 'if 0 is not greater than X'FFFFFF'
A continuous output process SHIPX00 of 00 ′ is performed, and an update process NEXTBYTE of the B buffer 36 is performed together with the case where the K counter value 40 is 0. Then, a value obtained by shifting the C register value 30 to the right by 16 bits, that is, the Cb register unit 33 (bits 16 to 23) is output to the B buffer 36. The output or unnecessary bits (bits 16 to 31) of the C register value 30 are cleared, and the C register is set so that the most significant bit (bit 15) of the remaining bits reaches the most significant bit (bit 23) of the Cb register 33. 30 to 8
The bit is shifted to the left and the post-processing counter value C
After subtracting 8 from T38, the K counter value 40 is set to the J counter value 39, and the K counter value 40 is set to 0.
【0115】6または8ビット掃き出し処理であるFL
USH6OR8は図33のように、まずBバッファ36
の更新処理NEXTBYTEを行う。Cbレジスタ部3
3がバイトX’FF’ならばバイトX’FF’以外が出
力されるまでバイトX’FF’をBバッファ36にその
まま出力する。すなわちCレジスタ値30を16ビット
右にシフトさせた値、つまりCbレジスタ部33(ビッ
ト16〜23)をBバッファ36に出力する。Cレジス
タ値30の出力済みまたは不要なビット(ビット16〜
31)をクリアし、残したビットの最上位ビット(ビッ
ト15)が正規化によりCbレジスタ33の最上位ビッ
ト(ビット23)に達するようにCレジスタ30を8ビ
ット左にシフトさせるとともに後処理用カウンタ値CT
38から8を減じる。Jカウンタ値39、Kカウンタ値
40(=4)はそのままでよい。Cbレジスタ部33が
バイトX’FF’でなければ4バイト(以上)のX’F
FFFFFFF’に続くバイトX’FF’以外が出力さ
れることになる。そこで、Cレジスタ値30を18ビッ
ト右にシフトさせた値、つまりCbレジスタ33の上位
6ビット(ビット18〜23)とCfレジスタ34の下
位2ビット(ビット24,25;このときビット25は
常にビット’0’)をBバッファ36に出力する。出力
されるビット24,25は桁上がり制御信号100bと
して算術符号15bに挿入され、4バイト以上続いてい
るバイトX’FF’の直後のX’FF’でないバイトの
上位2ビットに位置付けられる。Cレジスタ値30の出
力済みまたは不要なビット(ビット18〜31)をクリ
アし、残したビットの最上位ビット(ビット17)がC
bレジスタ33の最上位ビット(ビット23)に達する
ようにCレジスタ30を6ビット左にシフトさせるとと
もに後処理用カウンタ値CT38から6を減じ、Jカウ
ンタ値39を4、Kカウンタ値40を0にする。FL for 6- or 8-bit sweep processing
As shown in FIG. 33, the USH6OR8
Update processing NEXTBYTE is performed. Cb register section 3
If 3 is byte X'FF ', byte X'FF' is output to B buffer 36 as it is until something other than byte X'FF 'is output. That is, a value obtained by shifting the C register value 30 to the right by 16 bits, that is, the Cb register unit 33 (bits 16 to 23) is output to the B buffer 36. Output or unnecessary bits of the C register value 30 (bits 16 to
31), the C register 30 is shifted 8 bits to the left so that the most significant bit (bit 15) of the remaining bits reaches the most significant bit (bit 23) of the Cb register 33 by normalization, and is used for post-processing. Counter value CT
Subtract 8 from 38. The J counter value 39 and the K counter value 40 (= 4) may be left as they are. If the Cb register section 33 is not byte X'FF ', 4 bytes (or more) of X'F
Bytes other than byte X'FF 'following FFFFFFF' will be output. Therefore, a value obtained by shifting the C register value 30 to the right by 18 bits, that is, the upper 6 bits (bits 18 to 23) of the Cb register 33 and the lower 2 bits (bits 24 and 25; The bit “0” is output to the B buffer 36. The output bits 24 and 25 are inserted into the arithmetic code 15b as the carry control signal 100b, and are positioned in the upper two bits of the non-X'FF 'byte immediately after the byte X'FF' continuing for 4 or more bytes. The output or unnecessary bits (bits 18 to 31) of the C register value 30 are cleared, and the most significant bit (bit 17) of the remaining bits is C
The C register 30 is shifted 6 bits to the left so as to reach the most significant bit (bit 23) of the b register 33, and the post-processing counter value CT38 is decremented by 6, the J counter value 39 is 4, and the K counter value 40 is 0. To
【0116】6ビット掃き出し処理であるFLUSH6
は図34のように、まずバイトX’00’の連続出力処
理SHIPX00を行い、Bバッファ36の更新処理N
EXTBYTEを行う。Cレジスタ30からは4バイト
(以上)のX’FFFFFFFF’に続くバイトX’F
F’以外が出力されることになり、18ビット右にシフ
トさせた値、つまりCbレジスタ33の上位6ビット
(ビット18〜23)とCfレジスタ34の下位2ビッ
ト(ビット24,25;ビット25は常にビット’
0’)をBバッファ36に出力する。出力されるビット
24,25は桁上がり制御信号100bとして算術符号
15bに挿入され、4バイト以上続いているバイトX’
FF’の直後のX’FF’でないバイトの上位2ビット
に位置付けられる。Cレジスタ値30の出力済みまたは
不要なビット(ビット18〜31)をクリアし、残した
ビットの最上位ビット(ビット17)がCbレジスタ3
3の最上位ビット(ビット23)に達するようにCレジ
スタ30を6ビット左にシフトさせるとともに後処理用
カウンタ値CT38から6を減じ、Jカウンタ値39を
4、Kカウンタ値40を0にする。FLUSH6 for 6-bit sweep processing
Performs the continuous output processing SHIPX00 of the byte X'00 'as shown in FIG.
Perform EXTBYTE. From the C register 30, byte X'F following 4 bytes (or more) of X'FFFFFFFF '
A value other than F 'is output, and the value shifted right by 18 bits, that is, the upper 6 bits (bits 18 to 23) of the Cb register 33 and the lower 2 bits (bits 24 and 25; bit 25) of the Cf register 34 Is always a bit
0 ') to the B buffer 36. Output bits 24 and 25 are inserted into arithmetic code 15b as carry control signal 100b, and byte X 'which continues for 4 or more bytes
It is located in the upper two bits of the non-X'FF 'byte immediately after FF'. The output or unnecessary bits (bits 18 to 31) of the C register value 30 are cleared, and the most significant bit (bit 17) of the remaining bits is changed to the Cb register 3
The C register 30 is shifted to the left by 6 bits so as to reach the most significant bit of 3 (bit 23), and the post-processing counter value CT38 is reduced by 6 to set the J counter value 39 to 4 and the K counter value 40 to 0. .
【0117】1回2ビット挿入方式による算術復号器3
bは図22のように、復号を1回2ビット挿入方式によ
る算術復号手段6bで示されるフローチャート図に沿っ
て行う。INITDEC、MPS,Qeの獲得、DEC
ODEの機能は図41における毎回1ビット挿入方式に
よる算術復号手段6aで果たす機能と同様である。Arithmetic decoder 3 based on 2-bit insertion once
In FIG. 22B, decoding is performed in accordance with the flowchart shown by the arithmetic decoding means 6b using the 2-bit insertion method once, as shown in FIG. INITDEC, MPS, Qe acquisition, DEC
The function of the ODE is the same as the function performed by the arithmetic decoding means 6a using the 1-bit insertion method each time in FIG.
【0118】1回2ビット挿入方式による算術復号器3
bのCレジスタ50(Cfレジスタ51、Cnレジスタ
52、Cxレジスタ53)とAレジスタ54の仕様は、
図56における毎回1ビット挿入方式による算術復号器
3aのレジスタ仕様と同じである。Arithmetic decoder 3 based on 2-bit insertion once
The specifications of the C register 50 (Cf register 51, Cn register 52, Cx register 53) and A register 54 of b
This is the same as the register specification of the arithmetic decoder 3a using the 1-bit insertion method each time in FIG.
【0119】1回2ビット挿入方式による算術復号手段
6bでの復号処理をフローチャート図を示して説明す
る。フローチャート図の中で使用される変数・定数は、
K(Kカウンタ値)を加える以外は毎回1ビット挿入方
式による算術復号手段6aで使用される変数・定数と同
様である。 K Kカウンタ値 〜57The decoding process in the arithmetic decoding means 6b based on the one-time 2-bit insertion method will be described with reference to a flowchart. The variables and constants used in the flowchart are
Except for adding K (K counter value), it is the same as the variable / constant used in the arithmetic decoding means 6a by the 1-bit insertion method every time. KK counter value ~ 57
【0120】復号開始時の初期化処理であるINITD
ECは図35のように、まずテーブルのセットアップを
行う。そして算術符号バッファの確保・設定を行う。バ
ッファポインタBP56はバッファ先頭アドレスBPS
Tを指し、バッファに算術符号15bを受け取る。Aレ
ジスタ54には初期値として有効領域最小値をセット
し、Amin には有効領域最小値をセットする。Amin に
ついては符号化処理中に変更はない。Kカウンタ値57
は初期値を0とする。Cxレジスタ部53に算術符号1
5bを入力するために、まずBバッファ値55を16ビ
ット左にシフトさせて取り込む。次に算術符号15bの
入力処理BYTEINを行って算術符号15bをCnレ
ジスタ部52に取り込んだ後、さらにCレジスタ50を
4ビット左にシフトすることによりCxレジスタ53
(12ビット)を初期化、すなわち復号すべき算術符号
15bをCxレジスタに設定する。INITD which is initialization processing at the start of decoding
The EC first sets up the table as shown in FIG. Then, the arithmetic code buffer is secured and set. The buffer pointer BP56 is a buffer head address BPS.
Pointing to T, the buffer receives the arithmetic code 15b. The minimum value of the effective area is set in the A register 54 as an initial value, and the minimum value of the effective area is set in Amin. Amin is not changed during the encoding process. K counter value 57
Has an initial value of 0. Arithmetic code 1 in Cx register 53
In order to input 5b, the B buffer value 55 is first shifted left by 16 bits and taken in. Next, the arithmetic code 15b is input into the Cx register 53 by performing the input process BYTEIN to fetch the arithmetic code 15b into the Cn register unit 52, and further shifting the C register 50 left by 4 bits.
(12 bits) are initialized, that is, the arithmetic code 15b to be decoded is set in the Cx register.
【0121】復号の実処理であるDECODE、復号の
正規化処理であるRENORMDはそれぞれ図58、図
59のように毎回1ビット挿入方式による算術復号手段
6aと同様の処理を行う。DECODE, which is the actual processing of decoding, and RENORMD, which is the normalization processing of decoding, perform the same processing as the arithmetic decoding means 6a using the 1-bit insertion method every time as shown in FIGS. 58 and 59, respectively.
【0122】算術符号15bの入力処理であるBYTE
INは図36のように、Kカウンタ値57が4ならばま
ずBバッファ55の更新処理GETBYTEを行い、更
新されたBバッファ値55がバイトX’FF’ならば桁
上がり制御信号100bを含んでいないのでCfレジス
タ51に正規化により8ビットシフト後に算術符号15
bの入力処理BYTEINが行われるように入力フラグ
をビット0にセットし、Cnレジスタ52にBバッファ
55をそのまま入力し、Kカウンタ値57はそのままに
する。Bバッファ値55がバイトX’FF’でなけれ
ば、桁上がり制御信号100bが上位2ビットに含まれ
ているのでCfレジスタ51に正規化により6ビット
(桁上がり制御信号100bは除くため)シフト後に算
術符号15bの入力処理BYTEINが行われるように
入力フラグをビット2にセットし、Cnレジスタ52を
クリアし、Bバッファ55を10ビット左シフトした値
をCレジスタ50に加えることにより入力し、Kカウン
タ値57を0にする。Bバッファ55の上位2ビットで
ある桁上がり制御信号100b(最上位ビットは常にビ
ット’0’)はCxレジスタ53の下位2ビット(ビッ
ト16,17)にそのまま加えられることにより吸収し
た桁上がりを伝播させることができる。Kカウンタ値5
7が4でなければまずBバッファ55の更新処理GET
BYTEを行い、Cfレジスタ51に正規化により8ビ
ットシフト後に算術符号15bの入力処理BYTEIN
が行われるように入力フラグをビット0にセットし、C
nレジスタ52にBバッファ値55をそのまま入力す
る。入力されたBバッファ値55がバイトX’FF’な
らばKカウンタ値57をインクリメントし、Bバッファ
値55がバイトX’FF’でなければKカウンタ値57
を0とする。BYTE as input processing of arithmetic code 15b
As shown in FIG. 36, if the K counter value 57 is 4, as shown in FIG. 36, the update processing GETBYTE of the B buffer 55 is first performed, and if the updated B buffer value 55 is the byte X'FF ', the carry control signal 100b is included. There is no arithmetic code 15
The input flag is set to bit 0 so that the input process BYTEIN of b is performed, the B buffer 55 is directly input to the Cn register 52, and the K counter value 57 is maintained. If the B buffer value 55 is not the byte X'FF ', the carry control signal 100b is included in the upper two bits, so that the Cf register 51 is shifted by 6 bits (to exclude the carry control signal 100b) by normalization. The input flag is set to bit 2 so that the input processing BYTEIN of the arithmetic code 15b is performed, the Cn register 52 is cleared, and the value obtained by shifting the B buffer 55 to the left by 10 bits is added to the C register 50. The counter value 57 is set to 0. The carry control signal 100b, which is the upper 2 bits of the B buffer 55 (the most significant bit is always bit '0'), is added to the lower 2 bits (bits 16 and 17) of the Cx register 53 as it is, thereby eliminating the carry absorbed. Can be propagated. K counter value 5
If 7 is not 4, first the update processing GET of the B buffer 55
BYTE is performed, and after 8 bits are shifted by normalization to the Cf register 51, the input processing BYTEIN of the arithmetic code 15b is performed.
Set the input flag to bit 0 so that
The B buffer value 55 is directly input to the n register 52. If the input B buffer value 55 is byte X'FF ', the K counter value 57 is incremented. If the B buffer value 55 is not byte X'FF', the K counter value 57 is incremented.
Is set to 0.
【0123】復号のBバッファ55の更新処理であるG
ETBYTEは、図61のように毎回1ビット挿入方式
による算術復号手段6aと同様の処理を行う。G for updating the B buffer 55 for decoding
The ETBYTE performs the same processing as the arithmetic decoding means 6a using the 1-bit insertion method every time as shown in FIG.
【0124】なお、この実施例の1回2ビット挿入方式
をとるとき、毎回1ビット挿入方式において計2ビット
以上挿入されるのはX’FF7FFF7F・・・’とな
る4バイト以上の算術符号15aのパターンが出現した
場合であり、記憶して待機させるバイトX’FF’の連
続数を4以上とした。記憶して出力を待機させるバイト
X’FF’の連続数をKカウンタは4まで数えたとき4
バイトのX’FF’を出力してKカウンタ値をそのまま
にし、以降出力がバイトX’FF’ならば逐次出力して
いくことにより5以上は数えなくても桁上がり制御信号
を挿入することを可能にする。つまり、Jカウンタ、K
カウンタともに3ビットで構成すればよいことになる。When the two-bit insertion method of this embodiment is used, two bits or more are inserted each time in the one-bit insertion method each time when the arithmetic code 15a of 4 bytes or more that is X'FF7FFF7F... In this case, the number of consecutive bytes X'FF 'to be stored and waited is set to four or more. When the K counter counts the number of consecutive bytes X'FF 'to store and wait for output to 4
Byte X'FF 'is output and the K counter value is kept as it is, and if the output is byte X'FF' thereafter, it is sequentially output so that the carry control signal can be inserted without counting 5 or more. to enable. That is, J counter, K
It is only necessary that both counters are composed of 3 bits.
【0125】次に、図37を用いて具体的な例について
説明する。図37は符号データストリームとカウンタ値
Kの関係を示す図である。カウンタ値KはCレジスタか
ら送出済みのバイトX’FF’の数をカウントする。こ
の送出済みのバイトX’FF’はまだ出力されておらず
出力を待機させられている状態である。Kが4となった
時点で4バイトのX’FF’を出力し、その後X’F
F’が継続してCレジスタから出力される場合において
も、K=4のままバイトX’FF’を逐次出力するもの
とする。このようにKは最大4までカウントされ、Kが
4となっている場合にはバイトX’FF’が連続して出
力され続けていることを示している。Kが1から3の場
合であって、Cレジスタから桁上がりを検出した旨の通
知があった場合には、この桁上がりを伝播させることが
この4バイトの範囲内で可能になる。Next, a specific example will be described with reference to FIG. FIG. 37 is a diagram showing the relationship between the code data stream and the counter value K. The counter value K counts the number of bytes X'FF 'transmitted from the C register. The transmitted byte X'FF 'has not been output yet and is in a state of waiting for output. When K becomes 4, 4-byte X'FF 'is output, and then X'F
Even when F 'is continuously output from the C register, the byte X'FF' is sequentially output with K = 4. As described above, K is counted up to a maximum of 4, and when K is 4, it indicates that the byte X'FF 'is continuously output. In the case where K is 1 to 3 and a notification that a carry has been detected from the C register, the carry can be propagated within the range of 4 bytes.
【0126】次に、図38はカウンタK以外にカウンタ
Jを設けた場合を説明するための図である。図38は符
号データストリームとカウンタ値J、Kの関係を示す図
である。バッファ値BはバッファポインタBPの指すバ
イト値である。カウンタ値Kは前述した図37と同様の
機能をもつカウンタである。カウンタ値Jはバッファ値
Bとそれ以前に出力されたバイトX’FF’以外のバイ
トとで挟まれたバイトX’FF’の数を示している。す
なわちバッファ値Bから前に続くバイトX’FF’の数
を示している。カウンタ値J、Kはともに最大4までカ
ウントできればよいものとする。FIG. 38 is a diagram for explaining a case where a counter J is provided in addition to the counter K. FIG. 38 is a diagram showing the relationship between the code data stream and the counter values J and K. The buffer value B is a byte value indicated by the buffer pointer BP. The counter value K is a counter having the same function as that of FIG. The counter value J indicates the number of bytes X'FF 'sandwiched between the buffer value B and bytes other than the bytes X'FF' output before. That is, it indicates the number of bytes X'FF 'following the buffer value B. It is assumed that both the counter values J and K can be counted up to a maximum of four.
【0127】図39は、図38に示したカウンタ値J、
Kの機能を示すための具体例を示す図である。図39
(a1)に示すようにJ=2、K=2でBの値がX’1
0’である場合において、Cレジスタから桁上がりを検
出した旨の通知があった場合は、(a2)に示すように
Bの値がX’11’に変化し、Kで示された2バイトが
桁上がりの結果、X’FF’からX’00’に変化する
ことになる。この動作は図37に示したものと全く同様
のものであり、Jの値およびBの値を用いる例ではな
い。FIG. 39 shows the counter value J, shown in FIG.
FIG. 6 is a diagram showing a specific example for showing the function of K. FIG.
As shown in (a1), when J = 2 and K = 2 and the value of B is X′1
In the case of 0 ', if there is a notice from the C register that a carry has been detected, the value of B changes to X'11' as shown in (a2), and 2 bytes indicated by K Changes from X'FF 'to X'00' as a result of carry. This operation is exactly the same as that shown in FIG. 37, and is not an example using the values of J and B.
【0128】次に(b1)はBの値がX’FE’を示し
ている例であり、この時点でCレジスタから桁上がりを
検出した旨の通知があった場合には(b2)に示すよう
にBの値がX’FF’になり、Kで示された2バイトは
桁上がりのためにバイトX’00’の値を示すことにな
る。この桁上がりの結果、Jで示す2バイトおよびBの
値バイトX’FF’により3つのバイトX’FF’だけ
が連続することになるが、このシステムでは4バイト以
上X’FF’が連続する場合にのみそれ以降に続くバイ
ト(符号)から桁上がりが生じたか否かを示すための桁
上がり制御信号を挿入するようになっているため、(b
2)の場合においては何等桁上がり制御符号を挿入する
必要は生じない。Next, (b1) shows an example in which the value of B indicates X'FE ', and if a notification that a carry has been detected from the C register at this time is shown in (b2). Thus, the value of B becomes X'FF ', and the two bytes indicated by K indicate the value of byte X'00' due to carry. As a result of this carry, only three bytes X'FF 'are continued by the two bytes indicated by J and the value byte X'FF' of B, but in this system, X'FF 'is continued by four bytes or more. Only in this case, a carry control signal for indicating whether or not a carry has occurred from a byte (sign) subsequent to the succeeding byte (code) is inserted.
In case 2), there is no need to insert any carry control code.
【0129】次に(c1)に示すようにJが3の値を示
し、Bの値がバイトX’FE’を示し、Kが2の値を示
し、この場合においてCレジスタから桁上がりを検出し
た旨の通知があった場合について説明する。この場合は
Bの値がバイトX’FF’になり、Kで示される2バイ
トは桁上がりが発生したため、バイトX’FF’からバ
イトX’00’に変化することになる。そしてもともと
あったJで示される3バイトとBの値バイトX’FF’
が連続することになり、4つのバイトX’FF’が連続
してしまうことになる。この場合には連続する4つのバ
イトX’FF’以降の最初のバイト(図において、Aの
バイト)に先に連続するバイトX’FF’への桁上がり
の有無を示す桁上がり制御信号を有さなければならない
ことになる。しかしこのAで示すバイトはすでにCレジ
スタより出力されたものであるため変更することができ
ない。そこでAで示すバイトの上位2ビットに挿入すべ
き桁上がり制御信号をCレジスタから出力されるバイト
の上位2ビットに’00’を挿入するものとする。この
ようにCレジスタから出力するバイトに2ビットの桁上
がり制御信号を挿入することにより、(c2)における
AとBで示されるバイトが2ビットずつずれた格好で生
成されたものと見なすことができる。すなわちAとBで
示されるバイトは桁上がりが生じたために常にバイト
X’00’である。従って、Cレジスタからビット’0
0’を桁上がり制御信号として挿入する訳であるが、こ
の2ビット’00’はすでに発生しているAとBで示さ
れるバイトX’00’の値と連続することによりAで示
されるバイトの上位2ビット’00’を桁上がり制御信
号として挿入されたビット’00’とみなすことが可能
になる。このようにカウンタ値Jが桁上がり制御信号挿
入のための意味を持つのはJが3であり、かつカウンタ
値Kで記憶されたバイトを介した桁上がりによりBの値
自身がバイトX’FF’に変更された場合であり、Cレ
ジスタはこの条件のもとで桁上がり制御信号’00’を
挿入するものである。Next, as shown in (c1), J indicates a value of 3, B indicates a byte X'FE ', and K indicates a value of 2. In this case, a carry is detected from the C register. A description will be given of a case in which a notification to that effect has been received. In this case, the value of B becomes byte X'FF ', and since the carry of two bytes indicated by K has occurred, the byte X'FF' changes to byte X'00 '. And the original 3 bytes indicated by J and the value byte X'FF 'of B
Are consecutive, and four bytes X'FF 'are consecutive. In this case, the first byte (the byte A in the figure) after the four consecutive bytes X'FF 'has a carry control signal indicating whether or not there is a carry to the consecutive bytes X'FF' earlier. You have to do it. However, since the byte indicated by A has already been output from the C register, it cannot be changed. Therefore, a carry control signal to be inserted into the upper two bits of the byte indicated by A is to be inserted into the upper two bits of the byte output from the C register. By inserting the carry control signal of 2 bits into the byte output from the C register in this way, it is possible to regard that the bytes indicated by A and B in (c2) are generated with the appearance shifted by 2 bits. it can. In other words, the bytes indicated by A and B are always byte X'00 'because a carry has occurred. Therefore, bit '0' is read from the C register.
0 is inserted as a carry control signal. The two bits' 00 'are connected to the already generated byte X'00' indicated by A and B, so that the byte indicated by A Can be regarded as bit '00' inserted as a carry control signal. As described above, the counter value J has a meaning for inserting the carry control signal when J is 3, and the value of B itself becomes the byte X'FF due to the carry through the byte stored as the counter value K. The C register inserts a carry control signal '00' under this condition.
【0130】以上のようにこの実施例では、情報源から
の入力データの入力に対して、入力値YNと前記入力値
YNの出現に対する予測値MPSと非予測値LPSの領
域幅(またはその近似値)Qeを出力し、正規化が行わ
れたとき前記非予測値LPSの確率状態を遷移させ、前
記LPS領域幅Qeを更新する入力側のモデル・確率発
生器と、復号される出力値YNに対して、前記出力値Y
Nの出現に対する予測値MPSと非予測値LPSの領域
幅(またはその近似値)Qeを出力し、前記出力値YN
を得ることにより出力データを出力し正規化が行われた
とき前記非予測値LPSの確率状態を遷移させ、前記L
PS領域幅Qeを更新する出力側のモデル・確率発生器
とを備えた符号伝送装置において、前記入力側のモデル
・確率発生器が出力する前記入力値YNと前記予測値M
PSと前記LPS領域幅Qeの入力に対して、確率数直
線(0以上1未満)上の有効領域幅であるAレジスタ値
を前記非予測値LPSの領域幅Qeと前記予測値MPS
の領域幅A−Qeとに分割し、前記入力値YNと前記予
測値MPSが同じときは新たな前記有効領域幅AにA−
Qeを割り当てて更新し、異なるときは新たな前記有効
領域幅AにQeを割り当てて更新し、割り当てられた前
記有効領域Aの下界値となるようにCレジスタ値を演算
して更新し、前記Cレジスタから出力した算術符号を必
要ならば一定の長さまで蓄えて前記Cレジスタ値の演算
時に発生する桁上がりを伝播させる機能を備え、一定数
以上連続したバイトX’FF’(16進表記)を越えて
該桁上がりが伝播する可能性を検出し、該桁上がりを伝
播させきれないとき桁上がり制御信号を以降最初に出現
するX’FF’でないバイトの上位2ビットに挿入して
桁上がりの有無を後から伝送し、前記入力側のモデル・
確率発生器からの入力が終了するまで該分割・割当処理
を逐次的に繰り返し前記算術符号を送出する1回2ビッ
ト挿入方式による算術符号化手段を備えた算術符号器
と、前記1回2ビット挿入方式による算術符号器から送
出された前記算術符号および復号すべき前記出力値YN
に対する前記予測値MPSと前記LPS領域幅Qeの入
力に対して、確率数直線上の有効領域幅であるAレジス
タ値を前記非予測値LPSの領域幅Qeと前記予測値M
PSの領域幅A−Qeとに分割し、前記算術符号にバイ
トX’FF’が一定数以上続いていることを検出し、前
記桁上がり制御信号を検出・処理して前記算術符号をC
レジスタに取り込み、前記Cレジスタ値より前記非予測
値LPSへ割り当てられる前記LPS領域幅Qeが小さ
ければ前記出力値YNを前記予測値MPSに復号し新た
な前記有効領域幅AにA−Qeを割り当てて更新し、大
きければ前記出力値YNを前記非予測値LPSに復号し
新たな前記有効領域幅AにQeを割り当てて更新し、割
り当てられた前記有効領域Aの下界値が前記算術符号の
新たな基準(原点)となるように前記Cレジスタ値を修
正して更新し、前記算術符号から復号した前記出力値Y
Nの出力が終了するまで該分割・割当処理を逐次的に繰
り返す1回2ビット挿入方式による算術復号手段を備え
た算術復号器とを設けることを特徴とする符号伝送装置
を説明した。As described above, in this embodiment, when the input data is input from the information source, the area width of the input value YN and the predicted value MPS and the non-predicted value LPS for the appearance of the input value YN (or an approximate value thereof). Value) Qe, and when normalization is performed, the probability state of the non-predicted value LPS is transited, and the input side model / probability generator for updating the LPS region width Qe, and the decoded output value YN The output value Y
Output the region width (or an approximate value thereof) Qe of the predicted value MPS and the non-predicted value LPS for the appearance of N, and output the output value YN
, The output data is output, and when the normalization is performed, the probability state of the non-predicted value LPS is transited.
In a code transmission apparatus provided with an output-side model / probability generator for updating a PS region width Qe, the input value YN output from the input-side model / probability generator and the prediction value M
In response to the input of PS and the LPS area width Qe, the A register value which is the effective area width on the probability number line (0 or more and less than 1) is changed to the area width Qe of the non-predicted value LPS and the predicted value MPS.
When the input value YN and the predicted value MPS are the same, a new effective area width A is defined as A-Qe.
Qe is assigned and updated; if different, Qe is assigned and updated to the new effective area width A, and the C register value is calculated and updated to be the lower bound of the assigned effective area A; The arithmetic code output from the C register is stored to a certain length if necessary, and a function to propagate a carry generated at the time of calculating the value of the C register is provided. Is detected, and if the carry cannot be propagated, a carry control signal is inserted into the upper two bits of the first non-X'FF 'byte to carry. Is transmitted later, and the model on the input side
An arithmetic encoder having arithmetic coding means by a one-time two-bit insertion method for sequentially repeating the division / allocation process until the input from the probability generator is completed, and transmitting the arithmetic code; The arithmetic code sent from the arithmetic encoder by the insertion method and the output value YN to be decoded
Input the predicted value MPS and the LPS region width Qe to the A register value, which is the effective region width on the probability number line, using the region width Qe of the non-predicted value LPS and the predicted value M
It is divided into the area width A-Qe of the PS, it is detected that the arithmetic code is followed by a certain number of bytes X'FF ', and the carry control signal is detected and processed to convert the arithmetic code into C.
If the LPS area width Qe assigned to the non-predicted value LPS is smaller than the C register value, the output value YN is decoded into the predicted value MPS and A-Qe is assigned to the new effective area width A. If the value is larger, the output value YN is decoded to the non-prediction value LPS, and Qe is assigned to the new effective area width A to be updated. The lower bound value of the assigned effective area A is the new lower limit of the arithmetic code. The C register value is corrected and updated so as to be a proper reference (origin), and the output value Y decoded from the arithmetic code is updated.
An explanation has been given of a code transmission apparatus provided with an arithmetic decoder provided with an arithmetic decoding means using a one-time two-bit insertion method in which the division / allocation processing is sequentially repeated until the output of N is completed.
【0131】上記のような実施例の符号伝送装置では、
伝送される算術符号中に一定数以上連続したバイトX’
FF’が出現するごとに以降最初に出現するX’FF’
でないバイトの上位2ビットに桁上がり制御信号として
ビット’00’または’01’を挿入する伝送制御方式
(1回2ビット挿入方式)を採るから、従来のようにバ
イトX’FF’の直後のバイトの最上位ビットに桁上が
り制御信号としてビット’0’または’1’を挿入する
伝送制御方式(毎回1ビット挿入方式)に比べ、従来方
式で同数(計2ビット)の桁上がり制御信号が挿入され
るバイト数を計数するJカウンタ,Kカウンタを設ける
ことにより挿入される桁上がり制御信号の総ビット数は
常に少なくなり伝送する総符号長を短くできる効果があ
る。In the code transmission apparatus of the above embodiment,
A certain number of consecutive bytes X 'in the transmitted arithmetic code
X'FF ', which appears first after each occurrence of FF'
A transmission control method (one-time two-bit insertion method) of inserting a bit '00' or '01' as a carry control signal into the upper two bits of a non-byte byte is adopted. Compared with the transmission control method of inserting a bit '0' or '1' as a carry control signal into the most significant bit of a byte (one-bit insertion method every time), the carry control signal of the same number (2 bits in total) in the conventional method is used. By providing a J counter and a K counter for counting the number of bytes to be inserted, the total number of bits of the carry control signal to be inserted is always reduced, so that the total code length to be transmitted can be shortened.
【0132】上記実施例1又は2ではデータを圧縮・伸
長する一つの方法として算術符号化を示したがこの発明
は算術符号化に限らず他の符号化を用いてもよい。所定
のパターンとして連続するバイトX’FF’のパターン
を検出・操作する場合を示したが、これと異なるパター
ンでも構わない。また、上記実施例1又は2では桁上が
りが発生することによりすでに出力済みの符号が変更さ
れることを防止するために桁上がりの有無を後から桁上
がり制御信号を挿入して伝送する場合を例にしたが、後
から伝送する情報は桁上がりに限るものではなく、後か
ら生じた符号結果によりすでに伝送してしまった符号の
パターンを変更したり、符号を制御したりする場合でも
構わない。さらに、上記実施例1又は2では挿入される
桁上がり制御信号は2ビット’00’あるいは’01’
の場合を示したが、他のパターンでもよいしまた2ビッ
トに限る必要もない。また、桁上がり制御信号をX’F
F’でないバイトの上位2ビット以外に挿入するように
してもよい。また、上記実施例2では桁上がり制御信号
として2ビットの場合を示したが、従来例で説明したよ
うに1ビットの桁上がり制御信号を挿入する場合におい
ても第2から第5の発明である符号化方式及び符号化方
法を用いることが可能である。In the first or second embodiment, arithmetic coding is shown as one method of compressing / decompressing data. However, the present invention is not limited to arithmetic coding, and other coding may be used. Although the case where a pattern of consecutive bytes X'FF 'is detected and operated as a predetermined pattern has been described, a different pattern may be used. Further, in the first or second embodiment, in order to prevent the already output code from being changed due to the occurrence of a carry, a case where a carry control signal is inserted and transmitted later to determine whether there is a carry or not. Although the example is described, the information transmitted later is not limited to the carry, and the pattern of the code already transmitted may be changed or the code may be controlled according to the code result generated later. . Further, in the first or second embodiment, the carry control signal to be inserted is 2 bits '00' or '01'.
However, other patterns may be used, and it is not necessary to limit to 2 bits. Also, the carry control signal is X'F
It is also possible to insert a byte other than the upper 2 bits of a byte other than F '. In the second embodiment, the case where the carry control signal is 2 bits is shown. However, as described in the conventional example, the case where a 1-bit carry control signal is inserted is also the second to fifth inventions. Coding method and coding method
It is possible to use the method .
【0133】実施例3. この実施例では、算術符号系列中に所定のビットパター
ンを検出し、後の算術符号化演算の際に発生する桁上が
りにより検出されたビットパターン01・・・1が反転
する可能性が有りと判定されたとき、有効領域を桁上り
境界で分割した非桁上がり領域または桁上がり領域の一
方を選択して新たな有効領域に修正する適応領域切捨て
方式について説明する。Embodiment 3 FIG. In this embodiment, a predetermined bit pattern is detected in the arithmetic code sequence, and it is determined that there is a possibility that the detected bit pattern 01... 1 is inverted due to a carry generated in the arithmetic coding operation performed later. An adaptive area truncation method for selecting one of a non-carry area and a carry area in which an effective area is divided at a carry boundary when the determination is made and correcting it to a new effective area will be described.
【0134】適応領域切捨て方式とは下界アドレス(下
界値)として符号化レジスタより上位にNビットの符号
バッファを有している時、正規化処理の途中でこのバッ
ファに01・・11というパターンが出現し、有効領域
内に桁上がり境界値Tが存在し、桁上がりの可能性があ
る時、桁上がり境界値Tにより分割された、下位の(非
桁上がり)領域幅R0と上位の(桁上がり)領域幅R1
のうち小さい方の領域を強制的に切捨て、大きい領域を
新たな有効領域として即時に桁上がりの有無を確定させ
る方式である。この時、復号側でも符号化側と同様の判
定により桁上がり制御を実行できるので復号可能性は保
たれる。有効領域の下界値C、上界値Uは領域R0、R
1の比較から次のように変更される。The adaptive area truncation method means that when a lower bound address (lower bound value) has an N-bit code buffer higher than the encoding register, a pattern of 01..11 is stored in this buffer during normalization processing. When a carry boundary value T exists within the effective area and there is a possibility of carry, the lower (non-carry) area width R0 and the upper (digit) divided by the carry boundary value T Rise) region width R1
Out of the smaller area is forcibly cut off, and the larger area is set as a new effective area and the presence or absence of a carry is immediately determined. At this time, since the carry control can be executed on the decoding side by the same determination as that on the encoding side, the decoding possibility is maintained. The lower bound value C and the upper bound value U of the effective area are the areas R0, R
From the comparison of 1, the following is changed.
【0135】 R0=T−C R1=U−T R0≦R1 : C=T=C+R0 A=R1 下界値のみ更新 R0>R1 : U=T=C+R0 A=R0 上界値のみ更新R0 = TC R1 = UT R0 ≦ R1: C = T = C + R0 A = R1 Only lower bound value is updated R0> R1: U = T = C + R0 A = R0 Only upper bound value is updated
【0136】図40は前述した適応領域切捨て方式の簡
単な概念を示す図である。図の左側に示すように有効領
域が下界値Cと上界値Uの間にあり、下界値の最上位ビ
ットが0であり、上界値の最上位ビット1の場合には桁
上がり境界値T(T=X’100000’,ただしU≠
T)が有効領域内に存在することになる。この下界値か
ら桁上がり境界値までを非桁上がり領域R0とし、桁上
がり境界値から上界値までの領域を桁上がり領域R1と
する。この適応領域切捨て方式の例は桁上がり領域R1
が非桁上がり領域R0よりも大きい場合を示しているた
め、非桁上がり領域R0が切り捨てられ修正された有効
領域は図の右側に示すように元の桁上がり領域R1が新
たな有効領域として割り当てられることになる。すなわ
ち、下界値が桁上がりの境界値Tと等しく設定されるこ
とにより、修正された有効領域内には桁上がり境界値T
が存在しないことになるため強制的に桁上がりが発生
し、桁上がり伝幡問題は解消する。FIG. 40 is a diagram showing a simple concept of the adaptive region truncation method described above. As shown on the left side of the drawing, the effective area is between the lower bound value C and the upper bound value U, the most significant bit of the lower bound value is 0, and the most significant bit 1 of the upper bound value is the carry boundary value. T (T = X'100000 ', where U ≠
T) will be in the valid area. The region from the lower bound value to the carry boundary value is a non-carry region R0, and the region from the carry boundary value to the upper bound value is a carry region R1. An example of the adaptive region truncation method is the carry region R1.
Is larger than the non-carry area R0, the non-carry area R0 is truncated and the modified effective area is assigned with the original carry area R1 as a new effective area as shown on the right side of the figure. Will be done. That is, by setting the lower bound value equal to the carry boundary value T, the carry boundary value T is included in the corrected effective area.
The carry is forcibly generated because of the absence of the carry, and the carry propagation problem is solved.
【0137】この発明を示す一実施例の符号伝送装置を
図41に示す。入力側のモデル・確率発生器1と出力側
のモデル・確率発生器4は、上記従来例の図86に対応
する。適応領域切捨て方式による算術符号器2cは、入
力側のモデル・確率発生器1が出力する入力値YN11
と予測値MPS12とLPS領域幅Qe14の入力を用
いて、算術符号15cを生成する適応領域切捨て方式を
実行する。適応領域切捨て方式による算術復号器3c
は、適応領域切捨て方式による算術符号器2cから送出
された算術符号15cおよび復号すべき出力値YN16
に先立つ予測値MPS17とLPS領域幅Qe19の入
力を用いて、取り込んだ算術符号15cを算術復号した
出力値YN16を出力する。FIG. 41 shows a code transmission apparatus according to an embodiment of the present invention. The input-side model / probability generator 1 and the output-side model / probability generator 4 correspond to FIG. 86 of the conventional example. The arithmetic encoder 2c based on the adaptive region truncation method has an input value YN11 output by the model / probability generator 1 on the input side.
The adaptive region truncation method for generating the arithmetic code 15c is performed using the input of the prediction value MPS12 and the LPS region width Qe14. Arithmetic decoder 3c based on adaptive region truncation
Are the arithmetic code 15c sent from the arithmetic encoder 2c based on the adaptive region truncation method and the output value YN16 to be decoded.
Using the input of the predicted value MPS17 and the LPS region width Qe19 preceding the above, an output value YN16 obtained by arithmetically decoding the acquired arithmetic code 15c is output.
【0138】適応領域切捨て方式による算術符号器2c
は図42のように、符号化を適応領域切捨て方式による
算術符号化手段5cで示されるフローチャート図に沿っ
て行う。INITENC、MPS,Qe,YNの獲得、
ENCODE、FLUSHの機能は図87における毎回
1ビット挿入方式(従来例)による算術符号化手段5a
で果たす機能と同様である。Arithmetic encoder 2c based on adaptive region truncation
Performs encoding according to the flowchart shown in the arithmetic encoding means 5c using the adaptive region truncation method as shown in FIG. Acquisition of INITENC, MPS, Qe, YN,
The functions of ENCODE and FLUSH are performed by the arithmetic coding means 5a using the 1-bit insertion method (conventional example) every time in FIG.
This is the same as the function performed by.
【0139】適応領域切捨て方式による算術符号器2c
のAレジスタ35の仕様は、図88における毎回1ビッ
ト挿入方式(従来例)による算術符号器2aのレジスタ
仕様と同様である。Cレジスタ40は図43のように、
32ビットのレジスタで構成されている。Cレジスタ4
0において、小数点はビット11とビット12の間に採
られ、ビット0〜20をCeレジスタ41、ビット0〜
11をCxレジスタ42、ビット12〜20をCvレジ
スタ43、ビット12〜19をCbレジスタ44、ビッ
ト20をCyレジスタ45、ビット21〜23をCsレ
ジスタ46、ビット24〜31をCfレジスタ47と分
割して指すこととする。LPS領域幅Qe14はCxレ
ジスタ42と同精度でCxレジスタ部42に加算され
る。算術符号15cとしては、Cbレジスタ部44の内
容が算術符号バッファへ出力される。Cfレジスタ部4
7は算術符号バッファへの出力タイミングを示すのに使
用され、出力フラグがセットされ、Cレジスタ40の最
上位ビットまでシフトされたときに1バイト分の算術符
号15cが蓄積され、算術符号バッファ(Bバッファ3
6)への書き込みが可能になったことを示す。Uレジス
タ48は図43のように、12ビットのレジスタで構成
され、Aレジスタ35と同様にCxレジスタ42と小数
点を対応させ、有効領域の上界値を示す。Arithmetic encoder 2c using adaptive region truncation method
The specification of the A register 35 is the same as the register specification of the arithmetic encoder 2a by the 1-bit insertion method (conventional example) every time in FIG. The C register 40 is as shown in FIG.
It consists of a 32-bit register. C register 4
At 0, the decimal point is taken between bit 11 and bit 12 and bits 0-20 are
11 is a Cx register 42, bits 12 to 20 are a Cv register 43, bits 12 to 19 are a Cb register 44, bits 20 are a Cy register 45, bits 21 to 23 are a Cs register 46, and bits 24 to 31 are a Cf register 47. And point to it. The LPS area width Qe14 is added to the Cx register section 42 with the same precision as the Cx register 42. As the arithmetic code 15c, the contents of the Cb register 44 are output to the arithmetic code buffer. Cf register section 4
7 is used to indicate the output timing to the arithmetic code buffer, an output flag is set, and when shifted to the most significant bit of the C register 40, the arithmetic code 15c for one byte is accumulated, and the arithmetic code buffer ( B buffer 3
Indicates that writing to 6) has become possible. The U register 48 is composed of a 12-bit register as shown in FIG. 43, and, like the A register 35, associates the Cx register 42 with a decimal point and indicates the upper bound value of the effective area.
【0140】適応領域切捨て方式による算術符号化手段
5cでの符号化処理をフローチャート図を示して説明す
る。ここで、切り捨てられる領域は非桁上がり領域また
は桁上がり領域のいずれかであるが、これらの領域幅が
等しいときは非桁上がり領域を切り捨てるものとする。
フローチャート図の中で使用される変数・定数は、C
(Cレジスタ値)とU(Uレジスタ値)、T(桁上がり
境界値)、R0(非桁上がり領域幅)、R1(桁上がり
領域幅)を加える以外は毎回1ビット挿入方式(従来
例)による算術符号化手段5aで使用される変数・定数
と同様である。また、新たに演算子(表記)としてLS
Bを定義する。 C Cレジスタ値 〜40 Ce Ceレジスタ値(ビット0〜20) 〜41 Cx Cxレジスタ値(ビット0〜11) 〜42 Cv Cvレジスタ値(ビット12〜20) 〜43 Cb Cbレジスタ値(ビット12〜19) 〜44 Cy Cyレジスタ値(ビット20) 〜45 Cs Csレジスタ値(ビット21〜23) 〜46 Cf Cfレジスタ値(ビット24〜31) 〜47 U Uレジスタ値(有効領域上界値) 〜48 T 桁上がり境界値 〜70 R0 非桁上がり領域幅 〜71 R1 桁上がり領域幅 〜72 LSB X レジスタXの最下位ビット値The encoding process in the arithmetic encoding means 5c according to the adaptive region truncation method will be described with reference to a flowchart. Here, the region to be truncated is either the non-carry region or the carry region. If these regions have the same width, the non-carry region is truncated.
The variables and constants used in the flowchart are C
1 bit insertion method every time except adding (C register value) and U (U register value), T (carry boundary value), R0 (non-carry area width), and R1 (carry area width) (conventional example) Are the same as the variables and constants used in the arithmetic coding means 5a. Also, a new operator (notation) is LS
Define B. CC register value 4040 Ce Ce register value (bits 0 to 20) 4141 Cx Cx register value (bits 0 to 11) 4242 Cv Cv register value (bits 12 to 20) 4343 Cb Cb register value (bits 12 to 19) 4444 Cy Cy register value (bit 20) 4545 Cs Cs register value (bits 21 to 23) 4646 Cf Cf register value (bits 24 to 31) 4747 UU register value (effective area upper limit value) 〜 48 T Carry boundary value 7070 R0 Non-carry area width 7171 R1 Carry area width 7272 LSB X Least significant bit value of register X
【0141】フローチャート図中の符号化の実処理であ
るENCODE、符号化のBバッファ36の更新処理で
あるNEXTBYTEは、毎回1ビット挿入方式(従来
例)による算術符号化手段5aの同名の処理を行う。In the flowchart, ENCODE, which is the actual processing of encoding, and NEXTBYTE, which is the processing of updating the B buffer 36, perform the processing of the same name of the arithmetic encoding means 5a by the 1-bit insertion method (conventional example) every time. Do.
【0142】符号化開始時の初期化処理であるINIT
ENCは図44のように、まずテーブルのセットアップ
を行う。そして算術符号バッファの確保・設定を行う。
バッファポインタBP37はバッファ先頭アドレスBP
STより1つ前を指し、その内容であるBバッファ36
には特に指定する必要はないがX’00’をセットす
る。Aレジスタ35には初期値として有効領域最小値を
セットする。Amin には有効領域最小値をセットし、A
min については符号化処理中に変更はない。Cレジスタ
40にはCfレジスタ部47へ出力フラグのみをセット
する。符号化開始時の状態において出力されるべき算術
符号15cはCxレジスタ31(小数点)以下であるか
らビット11がCbレジスタ44の最上位ビット(ビッ
ト19)に達したとき最初の出力が行われるように出力
フラグはCfレジスタ47最下位ビット(ビット24)
にセットされる。Uレジスタ48には初期値としてAレ
ジスタ35と同じ値をセットする。INIT which is initialization processing at the start of encoding
The ENC first sets up the table as shown in FIG. Then, the arithmetic code buffer is secured and set.
The buffer pointer BP37 is the buffer head address BP
Point to one before ST, and its contents, B buffer 36
Need not be specified, but X'00 'is set. The minimum value of the effective area is set in the A register 35 as an initial value. Amin is set to the minimum value of the effective area.
min is not changed during the encoding process. In the C register 40, only the output flag is set in the Cf register unit 47. Since the arithmetic code 15c to be output in the state at the start of encoding is equal to or smaller than the Cx register 31 (decimal point), the first output is performed when the bit 11 reaches the most significant bit (bit 19) of the Cb register 44. The output flag is the least significant bit (bit 24) of the Cf register 47
Is set to The same value as the A register 35 is set in the U register 48 as an initial value.
【0143】入力値YN11=1の処理であるCODE
YN1は図45のように、MPS12が1でないとき有
効領域上界値を変更するためUレジスタ値48をCxレ
ジスタ値42とLPS領域幅14を加えた値とする以外
は毎回1ビット挿入方式(従来例)による算術符号化手
段5aの同名の処理と同様の処理内容を行う。CODE which is processing of input value YN11 = 1
As shown in FIG. 45, the YN1 is a one-bit insertion method every time except that the U register value 48 is a value obtained by adding the Cx register value 42 and the LPS region width 14 in order to change the upper limit value of the effective region when the MPS 12 is not 1. The same processing contents as the processing of the same name of the arithmetic coding means 5a according to the conventional example) are performed.
【0144】入力値YN11=0の処理であるCODE
YN0は図46のように、MPS12が0でないとき有
効領域上界値を変更するためUレジスタ値48をCxレ
ジスタ値42とLPS領域幅14を加えた値とする以外
は毎回1ビット挿入方式(従来例)による算術符号化手
段5aの同名の処理と同様の処理内容を行う。CODE which is processing of input value YN11 = 0
As shown in FIG. 46, the YN0 is a one-bit insertion method every time except that the U register value 48 is a value obtained by adding the Cx register value 42 and the LPS region width 14 in order to change the upper bound of the effective area when the MPS 12 is not 0, as shown in FIG. The same processing contents as the processing of the same name of the arithmetic coding means 5a according to the conventional example) are performed.
【0145】符号化の正規化処理であるRENORME
は図47のように、まず領域切捨て判定処理であるRO
UNDOFFを行い、Aレジスタ値35が有効領域最小
値Amin よりも小さいときの繰り返し処理を、Cレジス
タ30、Aレジスタ35の両方についてAレジスタ値3
5が有効領域最小値Amin 以上になるまで領域切捨て判
定処理であるROUNDOFFから行う以外は毎回1ビ
ット挿入方式(従来例)による算術符号化手段5aの同
名の処理と同様の処理内容を行う。RENORME which is a normalization process of encoding
As shown in FIG. 47, first, RO which is an area truncation determination process is performed.
UNDOFF is performed, and the repetition processing when the A register value 35 is smaller than the effective area minimum value Amin is performed for both the C register 30 and the A register 35 with the A register value 3
The same processing as the processing of the same name of the arithmetic coding means 5a by the 1-bit insertion method (conventional example) is performed every time, except that the processing from ROUNDOFF which is the area truncation determination processing is performed until 5 becomes equal to or more than the effective area minimum value Amin.
【0146】領域切捨て判定処理であるROUNDOF
Fは図48のように、Cvレジスタ値43がX’0F
F’(9ビット)でなければ何も行わない。X’0F
F’ならば桁上がり境界値T70に0をセットする。桁
上がり境界値T70により、非桁上がり領域幅R071
は桁上がり境界値T70とCxレジスタ値42との差、
また桁上がり領域幅R172はUレジスタ値48と桁上
がり境界値T70との差で表される。ここで、桁上がり
境界値T70が有効領域内に存在する条件として非桁上
がり領域幅R071が有効領域幅を示すAレジスタ値3
5未満であるとき、非桁上がり領域幅R071が桁上が
り領域幅R172以下であればAレジスタ値35から非
桁上がり領域幅R071を減じ、Cレジスタ値40に非
桁上がり領域幅R071を加える。非桁上がり領域幅R
071が桁上がり領域幅R172より大きければAレジ
スタ値35から桁上がり領域幅R172を減じ、Uレジ
スタ値48から桁上がり領域幅R172を減じて有効領
域の修正が行われる。非桁上がり領域幅R071が有効
領域幅を示すAレジスタ値35以上であるときは有効領
域の修正は行わない。ROUNDOF which is an area truncation determination process
F indicates that the Cv register value 43 is X'0F as shown in FIG.
If it is not F '(9 bits), nothing is performed. X'0F
If F ′, 0 is set to the carry boundary value T70. By the carry boundary value T70, the non-carry area width R071
Is the difference between the carry boundary value T70 and the Cx register value 42,
The carry region width R172 is represented by the difference between the U register value 48 and the carry boundary value T70. Here, as a condition that the carry boundary value T70 exists in the effective area, the non-carry area width R071 is the A register value 3 indicating the effective area width.
When it is less than 5, if the non-carry area width R071 is equal to or smaller than the carry area width R172, the non-carry area width R071 is subtracted from the A register value 35, and the non-carry area width R071 is added to the C register value 40. Non-carry region width R
If 071 is larger than the carry area width R172, the carry area width R172 is subtracted from the A register value 35, and the carry area width R172 is subtracted from the U register value 48, and the effective area is corrected. When the non-carry region width R071 is equal to or larger than the A register value 35 indicating the effective region width, the effective region is not corrected.
【0147】算術符号15cの出力処理であるBYTE
OUTは図49のように、Cyレジスタ値30がBバッ
ファ36の最下位ビット値に等しくなければBバッファ
36まで桁上がりが伝播していると判断できるためBバ
ッファ値36に1を加える。次にBバッファ36の更新
処理NEXTBYTEを行う。Cbレジスタ部44をB
バッファ36に出力し、Cfレジスタ47に出力フラグ
となる1(X’01’)を再セットし、Csレジスタ4
6をクリアする。BYTE which is output processing of arithmetic code 15c
As shown in FIG. 49, if the Cy register value 30 is not equal to the least significant bit value of the B buffer 36 as shown in FIG. Next, an update process NEXTBYTE of the B buffer 36 is performed. Set the Cb register section 44 to B
The data is output to the buffer 36 and the output flag 1 (X'01 ') is reset in the Cf register 47.
Clear 6.
【0148】符号化の後処理であるFLUSHは図50
のように、後処理用カウンタ値CT38を20(Cxレ
ジスタ部42,Cbレジスタ部33を掃き出すための総
ビット数)にセットし、Cレジスタ40の左シフトと同
時にUレジスタ48も左シフトする以外は毎回1ビット
挿入方式(従来例)による算術符号化手段5aの同名の
処理と同様の処理内容を行う。FLUSH, which is post-coding processing, is shown in FIG.
, The post-processing counter value CT38 is set to 20 (the total number of bits for sweeping out the Cx register section 42 and the Cb register section 33), and the U register 48 is also shifted left simultaneously with the left shift of the C register 40. Performs the same processing contents as the processing of the same name of the arithmetic coding means 5a by the 1-bit insertion method (conventional example) every time.
【0149】算術符号15cの最終出力処理であるFI
NALBYTESは図51のように、Cyレジスタ値3
0がBバッファ36の最下位ビット値に等しくなければ
Bバッファ36まで桁上がりが伝播していると判断でき
るためBバッファ値36に1を加える。次にBバッファ
36の更新処理NEXTBYTEを行う。Cbレジスタ
部44をBバッファ36に出力し、出力フラグは後処理
用カウンタ値38で代用されるため0をセットし、Cs
レジスタ46をクリアする。Cレジスタ40を8ビット
左シフトし、後処理用カウンタ値CT38から8を減じ
る。ここで後処理用カウンタ値38CTが正ならばCy
レジスタ値30とBバッファ36の最下位ビット値の比
較から繰り返す。後処理用カウンタ値CT38が正でな
ければバッファポインタBP37を1進める。なお、算
術符号15cがバイト境界で終了しないときバイト境界
までビット’0’が付加される。そしてバッファ先頭ア
ドレスBPSTから蓄積しているBP−BPSTバイト
の算術符号15cを伝送して符号化処理を終了する。FI which is the final output processing of arithmetic code 15c
NALBYTES is, as shown in FIG.
If 0 is not equal to the least significant bit value of the B buffer 36, it can be determined that a carry has propagated to the B buffer 36, so 1 is added to the B buffer value 36. Next, an update process NEXTBYTE of the B buffer 36 is performed. The Cb register 44 is output to the B buffer 36, and the output flag is set to 0 because the post-processing counter value 38 substitutes for it.
Clear the register 46. The C register 40 is shifted left by 8 bits, and 8 is subtracted from the post-processing counter value CT38. Here, if the post-processing counter value 38CT is positive, Cy
It repeats from the comparison of the register value 30 and the least significant bit value of the B buffer 36. If the post-processing counter value CT38 is not positive, the buffer pointer BP37 is advanced by one. If the arithmetic code 15c does not end on a byte boundary, a bit '0' is added up to the byte boundary. Then, the arithmetic code 15c of the accumulated BP-BPST byte is transmitted from the buffer head address BPST, and the encoding process ends.
【0150】適応領域切捨て方式による算術復号器3c
は、算術符号15cの復号を次のような演算(手順)に
より進める。有効領域幅A、LPSの領域幅Qeは従来
技術文献に示されたものと同様である。毎回1ビット挿
入方式(従来例)の算術復号器3aと異なる点は、復号
器でも符号Cを構成していき、受信した算術符号15c
(Dとする)と小数点を合わせて比較することにより復
号を進める点にある。 (復号手順) if D≧C+Qe(MPS復号処理) MPSに復号(出力値←予測値) A←A−Qe C←C+Qe else(D<C+Qe;LPS復号処理) LPSに復号(出力値←非予測値) A←Qe endArithmetic decoder 3c using adaptive region truncation method
Advances the decoding of the arithmetic code 15c by the following operation (procedure). The effective area width A and the area width Qe of the LPS are the same as those shown in the related art document. The difference from the arithmetic decoder 3a of the 1-bit insertion method (conventional example) is that the decoder also forms the code C and the received arithmetic code 15c
(Referred to as D) and the decimal point are combined and compared to perform decoding. (Decoding procedure) if D ≧ C + Qe (MPS decoding process) Decode to MPS (output value ← predicted value) A ← A−Qe C ← C + Qe else (D <C + Qe; LPS decoding process) Decode to LPS (output value ← non-predicted value) Value) A ← Qe end
【0151】適応領域切捨て方式による算術復号器3c
は図42のように、復号を適応領域切捨て方式による算
術復号手段6cで示されるフローチャート図に沿って行
う。INITDEC、MPS,Qeの獲得、DECOD
Eの機能は図87における毎回1ビット挿入方式(従来
例)による算術復号手段6aで果たす機能と同様であ
る。Arithmetic decoder 3c based on adaptive region truncation
Performs decoding according to the flowchart shown in the arithmetic decoding means 6c based on the adaptive region truncation method as shown in FIG. INITDEC, MPS, Qe acquisition, DECODE
The function of E is the same as the function performed by the arithmetic decoding means 6a by the one-bit insertion method (conventional example) every time in FIG.
【0152】適応領域切捨て方式による算術復号器3c
は復号過程でも符号を構成するためCレジスタ40(C
eレジスタ41、Cxレジスタ42、Cvレジスタ4
3、Cbレジスタ44、Cyレジスタ45、Csレジス
タ46、Cfレジスタ47)とUレジスタ48、Aレジ
スタ35の仕様は、図43における適応領域切捨て方式
による算術符号器2cのレジスタ仕様と同様である。復
号用符号の受信のためのDレジスタ60は図52のよう
に、32ビットのレジスタで構成されている。Dレジス
タ60において、小数点はビット19とビット20の間
に採られ、ビット0〜7をDnレジスタ61、ビット8
〜28をDeレジスタ62、ビット8〜19をDxレジ
スタ63、ビット20〜28をDvレジスタ64、ビッ
ト29〜31をDsレジスタ65と分割して指すことと
する。算術符号15cは、符号化過程でCfレジスタ4
7のフラグによりCbレジスタ部44の出力をしていた
タイミングで、Dnレジスタ部52に算術符号バッファ
から取り込まれる。復号過程でCレジスタ40で構成さ
れる算術符号とDレジスタ60に受信された算術符号1
5cはCeレジスタ部41とDeレジスタ部62が比較
の対象となる。Arithmetic decoder 3c based on adaptive region truncation
Is a C register 40 (C
e register 41, Cx register 42, Cv register 4
3, the specifications of the Cb register 44, the Cy register 45, the Cs register 46, the Cf register 47), the U register 48, and the A register 35 are the same as the register specifications of the arithmetic encoder 2c based on the adaptive area truncation method in FIG. The D register 60 for receiving the decoding code is composed of a 32-bit register as shown in FIG. In the D register 60, the decimal point is taken between bit 19 and bit 20, and bits 0 to 7 are stored in the Dn register 61, bit 8
28 to 28, the Dx register 63, the bits 8 to 19, the Dv register 64, and the bits 29 to 31 to the Ds register 65. The arithmetic code 15c is stored in the Cf register 4 during the encoding process.
At the timing when the output of the Cb register section 44 is performed by the flag of No. 7, the data is taken into the Dn register section 52 from the arithmetic code buffer. The arithmetic code composed of the C register 40 and the arithmetic code 1 received by the D register 60 in the decoding process
5c is a comparison target of the Ce register unit 41 and the De register unit 62.
【0153】適応領域切捨て方式による算術復号手段6
cでの復号処理をフローチャート図を用いて説明する。
フローチャート図の中で使用される変数・定数・演算子
(表記)は、B(Bバッファ値)、BP(バッファポイ
ンタ)は毎回1ビット挿入方式(従来例)の算術復号手
段6aとし、他はD(Dレジスタ値)を加える以外は適
応領域切捨て方式による算術符号化手段5cで使用され
る変数・定数・演算子(表記)と同様である。ただし、
Cfレジスタ47には算術符号化手段5cで使用された
出力フラグは、入力フラグとして用いられる。 D Dレジスタ値 〜60 Dn Dnレジスタ値(ビット0〜7) 〜61 De Deレジスタ値(ビット8〜28) 〜62 Dx Dxレジスタ値(ビット8〜19) 〜63 Dv Dvレジスタ値(ビット20〜28) 〜64 Ds Dsレジスタ値(ビット29〜31) 〜65Arithmetic decoding means 6 by adaptive area truncation method
The decoding process in c will be described with reference to a flowchart.
Variables, constants, and operators (notation) used in the flowchart are B (B buffer value), BP (buffer pointer) is 1-bit insertion method (conventional example) every time, and arithmetic decoding means 6a is used. Except for adding D (D register value), it is the same as the variable / constant / operator (notation) used in the arithmetic coding means 5c based on the adaptive region truncation method. However,
The output flag used in the arithmetic coding means 5c is used as an input flag in the Cf register 47. DD register value 6060 Dn Dn register value (bits 0 to 7) 6161 De De register value (bits 8 to 28) 6262 Dx Dx register value (bits 8 to 19) 6363 Dv Dv register value (bits 20 to 28) to 64 Ds Ds register value (bits 29 to 31) to 65
【0154】フローチャート図中の復号のBバッファ5
5の更新処理であるGETBYTEは、毎回1ビット挿
入方式(従来例)による算術復号手段6aの同名の処理
を行う。B buffer 5 for decoding in the flowchart
GETBYTE, which is the update process of No. 5, performs the process of the same name of the arithmetic decoding means 6a by the 1-bit insertion method (conventional example) every time.
【0155】復号開始時の初期化処理であるINITD
ECは図53のように、まずテーブルのセットアップを
行う。そして算術符号バッファの確保・設定を行う。バ
ッファポインタBP37はバッファ先頭アドレスBPS
Tを指す。Aレジスタ35には初期値として有効領域最
小値をセットする。Amin には有効領域最小値をセット
し、Amin については符号化処理中に変更はない。Cレ
ジスタ40にはCfレジスタ部47へ出力フラグのみを
セットする。符号化開始時の状態において出力されるべ
き算術符号15cはCxレジスタ31(小数点)以下で
あるからビット11がCbレジスタ44の最上位ビット
(ビット19)に達したとき最初の出力が行われるよう
に出力フラグはCfレジスタ47最下位ビット(ビット
24)にセットされる。Uレジスタ48には初期値とし
てAレジスタ35と同じ値をセットする。Dレジスタ6
0に算術符号15cを入力するために、まずBバッファ
値55を16ビット左にシフトさせて取り込む。次に算
術符号15cの入力処理BYTEINを行って算術符号
15cをDnレジスタ部61に取り込んだ後、さらにD
レジスタ60を4ビット左にシフトすることによりDx
レジスタ63(12ビット)を初期化、すなわち復号す
べき算術符号15cをDxレジスタ部63に設定する。INITD which is initialization processing at the start of decoding
The EC first sets up the table as shown in FIG. Then, the arithmetic code buffer is secured and set. The buffer pointer BP37 is the buffer start address BPS
Point to T. The minimum value of the effective area is set in the A register 35 as an initial value. Amin is set to the minimum value of the effective area, and Amin is not changed during the encoding process. In the C register 40, only the output flag is set in the Cf register unit 47. Since the arithmetic code 15c to be output in the state at the start of encoding is equal to or less than the Cx register 31 (decimal point), the first output is performed when the bit 11 reaches the most significant bit (bit 19) of the Cb register 44. The output flag is set to the least significant bit (bit 24) of the Cf register 47. The same value as the A register 35 is set in the U register 48 as an initial value. D register 6
In order to input the arithmetic code 15c to 0, first, the B buffer value 55 is shifted left by 16 bits and taken in. Next, the arithmetic code 15c is input into the Dn register unit 61 by performing the input process BYTEIN of the arithmetic code 15c,
By shifting register 60 to the left by 4 bits, Dx
The register 63 (12 bits) is initialized, that is, the arithmetic code 15c to be decoded is set in the Dx register unit 63.
【0156】復号の実処理であるDECODEは図54
のように、Deレジスタ値62がCeレジスタ値41と
出力側のモデル・確率発生器4から得られたLPS領域
幅Qe19の和以上ならばMPS復号処理として出力値
YN16を予測値MPS17として復号し、Aレジスタ
値35からLPS領域幅Qe19を減じ、Cレジスタ値
50にLPS領域幅Qe19を加えて更新する。更新し
たAレジスタ値35が有効領域最小値Amin よりも小さ
いときには正規化処理RENORMDを行う。Deレジ
スタ値62がCeレジスタ値41と出力側のモデル・確
率発生器4から得られたLPS領域幅Qe19の和未満
ならばLPS復号処理として出力値YN16を非予測値
LPS18として復号し、Aレジスタ値35をLPS領
域幅Qe19、Uレジスタ48をCxレジスタ値42と
LPS領域幅Qe19の和に更新し、正規化処理REN
ORMDを行う。DECODE, which is the actual decryption processing, is shown in FIG.
If the De register value 62 is equal to or larger than the sum of the Ce register value 41 and the LPS region width Qe19 obtained from the model / probability generator 4 on the output side, the output value YN16 is decoded as the predicted value MPS17 as MPS decoding processing. , The LPS area width Qe19 is subtracted from the A register value 35, and the LPS area width Qe19 is added to the C register value 50 for updating. When the updated A register value 35 is smaller than the effective area minimum value Amin, a normalization process RENORMD is performed. If the De register value 62 is less than the sum of the Ce register value 41 and the LPS area width Qe19 obtained from the model / probability generator 4 on the output side, the output value YN16 is decoded as the non-predicted value LPS18 as LPS decoding processing, and the A register The value 35 is updated to the sum of the LPS area width Qe19 and the U register 48 to the sum of the Cx register value 42 and the LPS area width Qe19.
Perform ORMD.
【0157】復号の正規化処理RENORMDは図55
のように、Aレジスタ35、Uレジスタ48の左シフト
と同時にDレジスタ60も左シフトさせ、算術符号15
cの出力処理であるBYTEOUTの代わりに算術符号
15cの入力処理であるBYTEINを行い、入力側の
モデル・確率発生器1を出力側のモデル・確率発生器
4、LPS領域幅Qe14をLPS領域幅19とする以
外は、適応領域切捨て方式による算術符号化手段5cの
符号化の正規化処理RENORMEと同様の処理内容を
行う。The decoding normalization processing RENOMD is shown in FIG.
, The D register 60 is also shifted left at the same time as the A register 35 and U register 48 are shifted left.
The input model / probability generator 1 is replaced by the output model / probability generator 4 and the LPS area width Qe14 is changed to the LPS area width by performing BYTEIN as input processing of the arithmetic code 15c instead of BYTEOUT as output processing of c. Except for setting it to 19, the same processing contents as the normalization processing RENORME of the coding by the arithmetic coding means 5c using the adaptive area truncation method are performed.
【0158】算術符号15cの入力処理であるBYTE
INは図56のように、まずBバッファ55の更新処理
GETBYTEを行う。Cfレジスタ47に正規化によ
り8ビットシフト後に算術符号15cの入力処理が行わ
れるように入力フラグ1(X’01’)をセットし、C
sレジスタ46をクリアする。Dnレジスタ部61には
Bバッファ値55を取り込む。BYTE as input processing of arithmetic code 15c
IN first performs an update process GETBYTE of the B buffer 55 as shown in FIG. The input flag 1 (X'01 ') is set in the Cf register 47 so that the arithmetic processing of the arithmetic code 15c is performed after the 8-bit shift by normalization.
Clear the s register 46. The D buffer 61 takes in the B buffer value 55.
【0159】次に、図57、図58は適応領域切捨て方
式による領域切捨ての概念を示した図である。図中の数
字’0’、’1’はビット値を示し、’x’は不定のビ
ット値(’0’または’1’のどちらでもよい)を表し
ている。図57、図58においてCvレジスタは5ビッ
ト、Cxレジスタ、Aレジスタ、Uレジスタは4ビッ
ト、変数である桁上がり境界値T、非桁上がり領域幅R
0、桁上がり領域幅R1は4ビットとする。ただし、U
レジスタ、変数TはCeレジスタ(Cxレジスタ+Cv
レジスタ)の精度に合わせて9ビットで表記した。図5
7のA−1〜A−4は適応領域切捨て方式による桁上が
り制御の一実行例で、桁上がり領域を選択する場合を示
している。A−1は正規化開始時のレジスタと変数の値
を示しているが、正規化の途中と解釈しても構わない。
A−1において、Ceレジスタ(Cxレジスタ+Cvレ
ジスタ)は有効領域の下界値を保持しており、A,Uレ
ジスタは有効領域の上界値を保持している。またAレジ
スタはCeレジスタに保持された下界値とUレジスタに
保持された上界値の差を保持している。従って、Aレジ
スタ値は有効領域幅を有している。A−1の状態ではこ
のAレジスタ値が0101である状態を示している。従
って有効領域イメージの中で有効領域幅は5として示さ
れている。また、A−1において81で示したXと82
で示したXは同じビット値である。従ってA−1の状態
においては、下界値と上界値の間に桁上がり境界という
ものは存在していない。また、A−1の状態において、
有効領域幅は5であり、全体の0.5(1000)以下
の幅をもっている。従って、A−1の状態から正規化処
理を行い有効領域幅を0.5以上にする処理を行う。Next, FIGS. 57 and 58 are views showing the concept of area truncation by the adaptive area truncation method. Numerals '0' and '1' in the figure indicate bit values, and 'x' indicates an indefinite bit value (either '0' or '1'). 57 and 58, the Cv register has 5 bits, the Cx register, the A register, and the U register have 4 bits, the carry boundary value T which is a variable, and the non-carry area width R.
0, the carry area width R1 is 4 bits. Where U
The register and the variable T are the Ce register (Cx register + Cv
(Register) in 9 bits. FIG.
7A-1 to A-4 are examples of carry control by the adaptive region truncation method, and show a case where a carry region is selected. A-1 indicates the values of the registers and variables at the start of normalization, but may be interpreted as being in the middle of normalization.
In A-1, the Ce register (Cx register + Cv register) holds the lower bound of the effective area, and the A and U registers hold the upper bound of the effective area. The A register holds the difference between the lower bound value held in the Ce register and the upper bound value held in the U register. Therefore, the A register value has the effective area width. The state of A-1 indicates a state in which the A register value is 0101. Accordingly, the effective area width is shown as 5 in the effective area image. In addition, X indicated by 81 in A-1 and 82
The Xs indicated by are the same bit values. Therefore, in the state of A-1, there is no carry boundary between the lower bound value and the upper bound value. In the state of A-1,
The effective area width is 5, and has a width of 0.5 (1000) or less. Therefore, a normalization process is performed from the state of A-1 to make the effective area width 0.5 or more.
【0160】A−2はA−1の状態から正規化が行われ
た状態を示している。ここで正規化とは有効領域幅を2
倍することを指しており、Aレジスタ値がA−1では0
101であったのに対し、A−2では1ビット左にシフ
トして(すなわち2倍されて)1010に変化してい
る。同様にCEレジスタ(Cxレジスタ+Cvレジス
タ)も正規化により1ビット左にシフトされている。同
様にUレジスタも1ビット左にシフトされている。この
A−2の状態は83に示した値0と84に示した値1に
より下界値と上界値の間に桁上がり境界Tが存在してい
る。これを有効領域イメージで図示すると、Aが5の幅
をもっていたのに対し正規化により2倍になりAが10
の幅を有している。そしてこの10の幅をもったいずれ
かに桁上がり境界Tが存在することになる。そして、下
界値からTまでの幅をR0とし、桁上がり境界Tから上
界値までの幅をR1とする。このようにA−2の状態は
桁上がり境界値Tが有効領域幅Aの中に存在する場合に
桁上がりの可能性があると判定し、この桁上がりの可能
性がある場合には、強制的にこの時点で桁上がりを生じ
ないようにするものである。このように、A−2では正
規化の過程でCv値が01・・・1(5ビット)とな
り、桁上がり制御のために各変数値が計算され、T値は
10・・・0(9ビット)となるが4ビットでは0とな
り,R0(=T−Cx)値はA値未満であるから桁上が
り可能性は有りと判定される。R1(=U−T)値はR
0値より大きくなる。よって、A−3では非桁上がり領
域R0を切り捨て、桁上がり領域R1が有効領域となる
ようにA値をR1値に修正し、有効領域下界値であるC
x値にR0値を加えて桁上がりをCvレジスタまで伝播
させ、ビット値を確定するとともに下界値を桁上がり境
界とする。A-2 shows a state in which normalization has been performed from the state of A-1. Here, normalization means that the effective area width is 2
The A register value is 0 when the A register value is A-1.
On the other hand, in the case of A-2, it is shifted to the left by one bit (that is, doubled) and changed to 1010. Similarly, the CE register (Cx register + Cv register) is shifted one bit to the left by normalization. Similarly, the U register is shifted one bit to the left. In the state of A-2, a carry boundary T exists between the lower bound value and the upper bound value due to the value 0 shown in 83 and the value 1 shown in 84. When this is illustrated in the effective area image, A has a width of 5 but doubles by normalization, and A becomes 10
Has a width of Then, a carry boundary T exists at any one of these 10 widths. Then, the width from the lower bound to T is R0, and the width from the carry boundary T to the upper bound is R1. As described above, in the state of A-2, when the carry boundary value T exists within the effective area width A, it is determined that there is a possibility of carry, and when there is a possibility of carry, the forced operation is performed. At this point, no carry is caused. As described above, in A-2, the Cv value becomes 01... 1 (5 bits) in the process of normalization, each variable value is calculated for carry control, and the T value is 10. Bit), but becomes 0 for 4 bits, and since the R0 (= T−Cx) value is less than the A value, it is determined that there is a possibility of carry. R1 (= UT) value is R
It becomes larger than 0 value. Therefore, in A-3, the non-carry area R0 is discarded, the A value is corrected to the R1 value so that the carry area R1 becomes an effective area, and the lower limit C of the effective area is set.
The carry is propagated to the Cv register by adding the R0 value to the x value, and the bit value is determined, and the lower bound value is set as the carry boundary.
【0161】A−3の状態では85で示した値1と86
で示した値1により下界値と上界値の間には桁上がり境
界値Tが存在しないことになる。従って、有効領域の中
には桁上がり境界が存在しないことになる。このように
A−2からA−3の状態に変化させることにより有効領
域内に存在した桁上がり境界を修正後の有効領域内に存
在させないようにすることにより桁上がり伝幡を防止す
るものである。次に、A−3の状態で有効領域幅が0.
5以下である場合には、この有効領域幅を0.5以上に
するために正規化処理が行われる。すなわち、A−3に
よる有効領域の修正後は、A値が1000を越えるまで
正規化を続け、A−4で正規化を終了する。In the state of A-3, the values 1 and 86 indicated by 85
The value 1 indicates that the carry boundary value T does not exist between the lower bound value and the upper bound value. Therefore, there is no carry boundary in the effective area. In this way, by changing the state from A-2 to A-3, the carry boundary existing in the effective area is prevented from being present in the corrected effective area, thereby preventing carry propagation. is there. Next, in the state of A-3, the effective area width is 0.
If it is less than 5, normalization processing is performed to make the effective area width 0.5 or more. That is, after the effective area is corrected by A-3, normalization is continued until the A value exceeds 1000, and the normalization ends at A-4.
【0162】図58のB−1〜B−4は適応領域切捨て
方式による桁上がり制御の一実行例で、非桁上がり領域
を選択する場合を示している。B−1は正規化開始時の
レジスタと変数の値を示しているが、正規化の途中と解
釈しても構わない。B−1の状態では、Aレジスタの値
は0011であり、この値が0.5以下であるため正規
化処理が行われる。B−1の状態では81で示したXと
82で示したXは0同士または1同士であるため、有効
領域内には桁上がり境界が存在していない。しかしB−
1のように正規化が行われた結果、83の値が0、84
の値が1となると、すなわちCeレジスタとUレジスタ
が1ビットずつ左へシフトしたことによりその先頭ビッ
トが異なる場合には、有効領域内に桁上がり境界値Tが
存在することになる。すなわちB−2では正規化の過程
でCv値が01・・・1(5ビット)となり、桁上がり
制御のために各変数値が計算され、T値は10・・・0
(9ビット)となるが4ビットでは0となり,R0(=
T−Cx)値はA値未満であるから桁上がり可能性は有
りと判定される。R1(=U−T)値はR0値より小さ
くなる。よって、B−3では桁上がり領域R1を切り捨
て、非桁上がり領域R0が有効領域となるようにA値を
R0値に修正し、有効領域上界値であるU値を桁上がり
境界値とする。B−3の状態では85で示した値0と8
6で示した値1は異なった値ではあるが、Uレジスタに
新たに設定された値は桁上がり境界値であるため、Ce
レジスタとUレジスタの間に桁上がり境界値が存在する
ことはない。また、B−3の状態ではR0を新たな有効
領域幅として用いるが、この有効領域幅が0.5以下の
場合には正規化処理が行われる。すなわちB−3の有効
領域幅の修正後は、A値が1000を越えるまで正規化
を続け、B−4で正規化を終了する。以上のように図5
6及び図57に示したこの実施例の適応領域切捨て方式
は、有効領域内に桁上がり境界が存在する場合には、桁
上がり境界と下界値との差および桁上がり境界値と上界
値の差を比較し、小さい方の値を持つ領域を切り捨てる
ことにより桁上がり境界が上界値または下界値となるよ
うに修正すれば有効領域内に桁上がり境界が存在しなく
なり符号化演算の過程でのCeレジスタ41を越える桁
上がり伝播が発生しない。B-1 to B-4 in FIG. 58 show an example of carrying control by the adaptive region truncation method, in which a non-carry region is selected. B-1 indicates the values of registers and variables at the start of normalization, but may be interpreted as being in the middle of normalization. In the state of B-1, the value of the A register is 0011, and since this value is 0.5 or less, normalization processing is performed. In the state of B-1, X indicated by 81 and X indicated by 82 are 0s or 1s, and therefore, no carry boundary exists in the effective area. But B-
As a result of normalization such as 1, the value of 83 is 0, 84
Is 1, that is, if the Ce register and the U register are shifted to the left one bit at a time and the first bits are different, the carry boundary value T exists in the effective area. That is, in B-2, the Cv value becomes 01... 1 (5 bits) in the process of normalization, each variable value is calculated for carry control, and the T value is 10.
(9 bits), but 0 in 4 bits, and R0 (=
Since the (T-Cx) value is less than the A value, it is determined that there is a possibility of carry. The value of R1 (= UT) is smaller than the value of R0. Therefore, in B-3, the carry region R1 is truncated, the A value is corrected to the R0 value so that the non-carry region R0 becomes an effective region, and the U value, which is the upper bound value of the effective region, is set as the carry boundary value. . In the state of B-3, the values 0 and 8 indicated by 85
Although the value 1 indicated by 6 is a different value, the value newly set in the U register is a carry boundary value.
There is no carry boundary value between the register and the U register. In the state of B-3, R0 is used as a new effective area width. When the effective area width is 0.5 or less, normalization processing is performed. That is, after the correction of the effective area width of B-3, normalization is continued until the A value exceeds 1000, and the normalization ends at B-4. As described above, FIG.
The adaptive region truncation method of this embodiment shown in FIGS. 6 and 57 uses the difference between the carry boundary and the lower bound value and the difference between the carry boundary value and the upper bound value when the carry boundary exists in the effective area. If the difference is compared and the region having the smaller value is truncated to correct the carry boundary to be the upper or lower bound value, the carry boundary does not exist in the effective area and the coding operation is performed in the process of the encoding operation. Carry propagation beyond the Ce register 41 does not occur.
【0163】以上のように、この実施例では、情報源か
らの入力データの入力に対して、入力値YNの出現に先
立つ予測値MPSという情報と非予測値LPSに割り当
てる領域幅Qeという情報を出力し、正規化が行われた
とき前記非予測値LPSの確率状態を遷移させ、前記L
PS領域幅Qe(またはそのインデクス)を更新する入
力側のモデル・確率発生器と、復号される出力値YNに
対して、前記出力値YNの出現に先立つ予測値MPSと
いう情報と非予測値LPSに割り当てる領域幅Qeとい
う情報を出力し、この値を基にした復号により前記出力
値YNを得て出力データを出力し正規化が行われたとき
前記非予測値LPSの確率状態を遷移させ、前記LPS
領域幅Qe(またはそのインデクス)を更新する出力側
のモデル・確率発生器とを備えた符号伝送装置におい
て、前記入力側のモデル・確率発生器が出力するYNの
予測値MPSとLPS領域幅Qeの入力に対して、確率
数直線(0以上1未満)上の有効領域幅であるAレジス
タ値を前記非予測値LPSの領域幅Qeと前記予測値M
PSの領域幅A−Qeとに分割し、前記入力値YNと前
記予測値MPSが一致したときは新たな前記有効領域幅
AにA−Qeを割り当てることにより更新し、異なると
きは新たな前記有効領域幅AにQeを割り当てることに
より更新し、Cレジスタ値、Uレジスタ値を新たに割り
当てられた有効領域の下界値、上界値となるようにそれ
ぞれ演算して更新し、新たな有効領域が設定された有効
領域最小値より小さくなったときに行われる正規化の途
中で前記Cレジスタの特定部分に所定のビットパターン
が出現し、後の桁上がり発生による該ビットパターンが
反転する可能性を上界値と下界値から有効領域内に桁上
がり境界が存在するか否かで判断し、反転する可能性が
有ると判定された場合に有効領域を桁上がり境界で桁上
がり領域と非桁上がり領域に分離し、大きくない方の領
域を切り捨て、残る大きい領域の方が有効領域となるよ
うに前記Aレジスタ値、前記Cレジスタ値、前記Uレジ
スタ値を修正し、前記入力側のモデル・確率発生器から
の入力が終了するまで該分割・割当・修正処理を逐次的
に繰り返し前記算術符号を送出する適応領域切捨て方式
による算術符号器と、前記適応領域切捨て方式による算
術符号器から送出された前記算術符号および復号すべき
前記出力値YNに先立つ前記予測値MPSと前記LPS
領域幅Qeの入力に対して、確率数直線上の有効領域幅
であるAレジスタ値を前記非予測値LPSの領域幅Qe
と前記予測値MPSの領域幅A−Qeとに分割し、受信
した算術符号を示すDレジスタ値がCレジスタ値と前記
非予測値LPSの領域幅Qeの和以上のときは前記出力
値YNを前記予測値MPSと判断して復号し、新たな前
記有効領域幅AにA−Qeを割り当てることにより更新
し、Cレジスタ値と前記非予測値LPSの領域幅Qeの
和未満のときは前記出力値YNを前記非予測値LPSと
判断して復号し、新たな前記有効領域幅AにQeを割り
当てることにより更新し、Cレジスタ値、Uレジスタ値
を新たに割り当てられた有効領域の下界値、上界値とな
るようにそれぞれ演算して更新し、新たな有効領域が設
定された有効領域最小値より小さくなったときに行われ
る正規化の途中で前記Cレジスタの特定部分に所定のビ
ットパターンが出現し、後の桁上がり発生により該ビッ
トパターンが反転する可能性が有ると判定された場合に
有効領域を桁上がり境界で桁上がり領域と非桁上がり領
域に分離し、大きくない方の領域を切り捨て、残る大き
い領域の方が有効領域となるように前記Aレジスタ値、
前記Cレジスタ値、前記Uレジスタ値を修正し、前記算
術符号から復号した前記出力値YNの出力が終了するま
で該分割・割当・修正処理を逐次的に繰り返す適応領域
切捨て方式による算術復号器とを設けることを特徴とす
る符号伝送装置を説明した。As described above, in this embodiment, in response to input of input data from the information source, information called the predicted value MPS prior to the appearance of the input value YN and information called the area width Qe assigned to the non-predicted value LPS are input. Output, and when the normalization is performed, the probability state of the non-predicted value LPS is transited.
An input-side model / probability generator for updating the PS region width Qe (or its index), and for a decoded output value YN, information on a predicted value MPS prior to the appearance of the output value YN and a non-predicted value LPS And outputs the output value YN by decoding based on this value, outputs the output data, and when the normalization is performed, transits the probability state of the non-predicted value LPS. The LPS
In a code transmission apparatus provided with an output-side model / probability generator for updating a region width Qe (or an index thereof), a prediction value MPS of YN output from the input-side model / probability generator and an LPS region width Qe Of the non-predicted value LPS and the predicted value M
When the input value YN and the predicted value MPS match, the data is updated by allocating A-Qe to the new effective area width A, and when the input value YN and the predicted value MPS are different, the new effective area width A is updated. The effective area width A is updated by allocating Qe, and the C register value and the U register value are respectively operated and updated to become the lower bound value and the upper bound value of the newly assigned effective area, respectively. During the normalization performed when is smaller than the set effective area minimum value, a predetermined bit pattern may appear in a specific portion of the C register, and the bit pattern may be inverted due to the occurrence of a subsequent carry. Is determined from the upper bound value and the lower bound value based on whether a carry boundary exists in the effective area.If it is determined that there is a possibility of inversion, the effective area is shifted to the carry area at the carry boundary and the non-digit. Up The A register value, the C register value, and the U register value are modified so that the remaining large area becomes an effective area, and the input side model The division / assignment / correction processing is sequentially repeated until the input from the probability generator is completed. And the predicted value MPS and the LPS prior to the arithmetic code and the output value YN to be decoded.
In response to the input of the region width Qe, the A register value which is the effective region width on the probability number line is changed to the region width Qe of the non-predicted value LPS.
And the region width A-Qe of the predicted value MPS, and when the received D register value indicating the arithmetic code is equal to or greater than the sum of the C register value and the region width Qe of the non-predicted value LPS, the output value YN is Judgment is made as the predicted value MPS, which is decoded and updated by assigning A-Qe to the new effective area width A. When the value is less than the sum of the C register value and the area width Qe of the non-predicted value LPS, the output is output. The value YN is determined and decoded as the non-predicted value LPS, updated by assigning Qe to the new effective area width A, and the C register value and the U register value are set to the lower bound of the newly assigned effective area; A predetermined bit pattern is added to a specific portion of the C register in the middle of normalization performed when a new effective area is smaller than the set effective area minimum value. Comes out However, if it is determined that the bit pattern may be inverted due to the occurrence of a subsequent carry, the effective area is separated into a carry area and a non-carry area at a carry boundary, and the smaller area is truncated. The A register value so that the remaining large area is an effective area,
An arithmetic decoder based on an adaptive region truncation method which modifies the C register value and the U register value and sequentially repeats the division / assignment / correction process until the output of the output value YN decoded from the arithmetic code is completed; Has been described.
【0164】なお、この実施例の適応領域切捨て方式を
とるとき、算術符号化・復号の過程の符号演算における
Cxレジスタ部より上位への桁上がりは必ずCvレジス
タ内で伝播させ終らせることが可能である。正規化によ
り左シフト処理が行われ、符号出力できるタイミングで
Cyレジスタ値がBバッファ最下位ビット値と異なると
きCレジスタから符号出力済みのBバッファへの桁上が
りの発生が検出できる。Cbレジスタ部をBバッファへ
出力した後クリアしていないので桁上がりがなければC
yレジスタ値がBバッファ最下位ビット値は等しくなけ
ればならない。桁上がりが検出されるとき適応領域切捨
方式によりBバッファ値はX’FF’とならないように
制御されているのでBバッファをインクリメントによる
修正が可能である。仮にBバッファ値がX’FF’であ
れば桁上がりはさらに上位へ伝播させなければならない
が、現在のバッファポインタの指すBバッファより上位
への桁上がりの伝播はすでに不可能である。そこで、適
応領域切捨て方式は正規化時にCvレジスタ部がX’0
FF’(9ビット)となり桁上がりの可能性がある(有
効領域内に桁上がり境界を含む)ならば非桁上がり領域
または桁上がり領域のいずれか小さい領域を切り捨て小
さくない領域を新たな有効領域として桁上がり境界値を
有効領域の上界値または下界値としてあらかじめ修正す
ることにより桁上がりによる符号(ビット)確定の遅延
を抑える。算術復号器において符号を構成しながら復号
を実現するため算術符号器と同様に有効領域の修正処理
を行うことができる。When the adaptive region truncation method of this embodiment is employed, the carry to the higher order than the Cx register in the code operation in the arithmetic coding / decoding process can be always propagated in the Cv register and terminated. It is. If the value of the Cy register is different from the least significant bit value of the B buffer at the timing when the code can be output, the occurrence of a carry from the C register to the B buffer that has already output the code can be detected at the timing when the code can be output. Since the Cb register has not been cleared after being output to the B buffer, if there is no carry, C
The y register value must be the same as the B buffer least significant bit value. When the carry is detected, the B buffer value is controlled so as not to be X'FF 'by the adaptive area truncation method, so that the B buffer can be corrected by increment. If the B-buffer value is X'FF ', the carry must be propagated further up, but it is already impossible to propagate the carry up to the B-buffer indicated by the current buffer pointer. Therefore, in the adaptive area truncation method, the Cv register section is set to X'0 at the time of normalization.
If FF ′ (9 bits) is set and there is a possibility of carry (including a carry boundary in the effective area), the smaller area of either the non-carry area or the carry area is truncated to a new effective area. By correcting the carry boundary value in advance as the upper or lower bound value of the effective area, the delay of the sign (bit) determination due to the carry is suppressed. In order to realize decoding while constructing a code in the arithmetic decoder, correction processing of the effective area can be performed in the same manner as the arithmetic encoder.
【0165】実施例4. 次に、この実施例では、算術符号系列中に所定のビット
パターンを検出し、後の算術符号化演算の際に発生する
桁上がりにより検出されたビットパターン01・・・1
が反転する可能性が有りと判定されたとき、次の優勢シ
ンボルと劣勢シンボルの対応領域の境界を非桁上がり領
域と桁上がり領域とに分ける桁上がり境界に移動させ、
小さくない領域に優勢シンボル、残る領域に劣勢シンボ
ルを適応的に割り当てる適応境界移動方式について説明
する。Embodiment 4 FIG. Next, in this embodiment, a predetermined bit pattern is detected in an arithmetic code sequence, and a bit pattern 01... 1 detected due to a carry generated in a later arithmetic coding operation.
When it is determined that there is a possibility of inversion, the boundary of the corresponding region between the next superior symbol and the inferior symbol is moved to a carry boundary for dividing into a non-carry region and a carry region,
An adaptive boundary moving method for adaptively assigning a superior symbol to an area that is not small and an inferior symbol to the remaining area will be described.
【0166】適応境界移動方式は適応領域切捨て方式と
同様に正規化時に符号バッファが01・・11となり、
有効領域内に桁上がり境界値Tが存在する時、正規化が
仮に完了していなくとも、次シンボルyに対して桁上が
り境界値Tにより分割された下位の領域幅R0と上位の
領域幅R1のうち小さい領域にLPS(劣勢シンボ
ル)、大きい領域にMPS(優勢シンボル)を対応さ
せ、符号化を行うことにより、次シンボルyで桁上がり
の有無を確定させる方式である。このとき領域の境界値
は決まっているので正規化が完了していない時点で符号
化を行うとしても符号化効率への影響はない。復号可能
性は適応領域切捨て方式と同様に成立する。即ち、 R0≦R1 : y=LPS→A=R0 y=MPS→A=R1 R0>R1 : y=LPS→A=R1 y=MPS→A=R0 図59は前述した適応境界移動方式に関する概念を示す
図である。図の左側に示すように有効領域が下界値と上
界値の間に存在しており、下界値の最上位ビットが0で
あり、上界値の最上位ビットが1であるため、この有効
領域内に桁上がり境界値T(T=X’100000’)
が存在することになる。この桁上がり境界値Tと下界値
の間を非桁上がり領域R0とし、桁上がり境界値Tと上
界値の間の領域を桁上がり領域R1とする。この例にお
いては桁上がり領域R1が非桁上がり領域よりも大きい
場合であるので、桁上がり領域R1をMPS(優勢シン
ボル)に対応させ、非桁上がり領域R0をLPS(劣勢
シンボル)に対応させる。そしてこの例のように次シン
ボルyがMPSである場合には桁上がりの領域R1が新
たな有効領域として選択される。すなわち、新たな下界
値として桁上がり境界値Tが設定される。この新たな下
界値の最上位ビットは1であり、上界値の最上位ビット
も1であるため新たな有効領域内に桁上がり境界値が存
在することはない。In the adaptive boundary moving method, the code buffer becomes 01 · 11 during normalization as in the adaptive area truncation method.
When the carry boundary value T exists in the effective region, even if the normalization is not completed, the lower region width R0 and the upper region width R1 divided by the carry boundary value T for the next symbol y. In this method, LPS (inferior symbol) is associated with a small area and MPS (dominant symbol) is associated with a large area, and encoding is performed to determine whether a carry is present in the next symbol y. At this time, since the boundary value of the region is determined, even if the encoding is performed at the time when the normalization is not completed, there is no influence on the encoding efficiency. Decodability is established similarly to the adaptive region truncation method. R0 ≦ R1: y = LPS → A = R0 y = MPS → A = R1 R0> R1: y = LPS → A = R1 y = MPS → A = R0 FIG. 59 shows the concept relating to the above-described adaptive boundary moving method. FIG. As shown on the left side of the figure, the effective area exists between the lower bound value and the upper bound value, the most significant bit of the lower bound value is 0, and the most significant bit of the upper bound value is 1, so The carry boundary value T in the area (T = X'100000 ')
Will exist. A region between the carry boundary value T and the lower bound value is a non-carry region R0, and a region between the carry boundary value T and the upper bound value is a carry region R1. In this example, since the carry region R1 is larger than the non-carry region, the carry region R1 corresponds to the MPS (dominant symbol) and the non-carry region R0 corresponds to the LPS (inferior symbol). When the next symbol y is the MPS as in this example, the carry region R1 is selected as a new effective region. That is, the carry boundary value T is set as a new lower bound value. Since the most significant bit of the new lower bound value is 1 and the most significant bit of the upper bound value is also 1, there is no carry boundary value in the new effective area.
【0167】この発明を示す一実施例の符号伝送装置は
図60のように、入力側のモデル・確率発生器1と出力
側のモデル・確率発生器4は、上記従来例の図86に対
応する。適応境界移動方式による算術符号器2dは、入
力側のモデル・確率発生器1が出力する入力値YN11
と予測値MPS12とLPS領域幅Qe14の入力を用
いて、算術符号15dを生成する適応境界移動方式を実
行する。適応境界移動方式による算術復号器3dは、適
応境界移動方式による算術符号器2dから送出された算
術符号15dおよび復号すべき出力値YN16に先立つ
予測値MPS17とLPS領域幅Qe19の入力を用い
て、取り込んだ算術符号15dを算術復号した出力値Y
N16を出力する。FIG. 60 shows a code transmission apparatus according to an embodiment of the present invention. As shown in FIG. 60, a model / probability generator 1 on the input side and a model / probability generator 4 on the output side correspond to FIG. I do. Arithmetic encoder 2d based on the adaptive boundary movement method has an input value YN11 output from model / probability generator 1 on the input side.
Using the input of the predicted value MPS12 and the input of the LPS region width Qe14, the adaptive boundary moving method for generating the arithmetic code 15d is executed. The arithmetic decoder 3d based on the adaptive boundary shift method uses the arithmetic code 15d sent from the arithmetic encoder 2d based on the adaptive boundary shift method and the input of the predicted value MPS17 and the LPS area width Qe19 preceding the output value YN16 to be decoded. An output value Y obtained by arithmetically decoding the acquired arithmetic code 15d.
N16 is output.
【0168】適応境界移動方式による算術符号器2dは
図61のように、符号化を適応境界移動方式による算術
符号化手段5dで示されるフローチャート図に沿って行
う。INITENC、MPS,Qe,YNの獲得、EN
CODE、FLUSHの機能は図87における毎回1ビ
ット挿入方式(従来例)による算術符号化手段5aで果
たす機能と同様である。As shown in FIG. 61, the arithmetic encoder 2d based on the adaptive boundary moving system performs coding according to the flowchart shown by the arithmetic coding means 5d based on the adaptive boundary moving system. INITENC, acquisition of MPS, Qe, YN, EN
The functions of CODE and FLUSH are the same as the functions performed by the arithmetic coding means 5a using the 1-bit insertion method (conventional example) every time in FIG.
【0169】適応境界移動方式による算術符号器2dの
Aレジスタ35、Cレジスタ40(Ceレジスタ41、
Cxレジスタ42、Cvレジスタ43、Cbレジスタ4
4、Cyレジスタ45、Csレジスタ46、Cfレジス
タ47)、Uレジスタ48の仕様は、適応領域切捨て方
式(第1の実施例)による算術符号器2cのレジスタ仕
様と同様である。The A register 35 and the C register 40 (the Ce register 41,
Cx register 42, Cv register 43, Cb register 4
4, the specifications of the Cy register 45, the Cs register 46, the Cf register 47) and the U register 48 are the same as the register specifications of the arithmetic encoder 2c according to the adaptive area truncation method (first embodiment).
【0170】適応境界移動方式による算術符号化手段5
dでの符号化処理をフローチャート図を示して説明す
る。ここで、非桁上がり領域幅と桁上がり領域幅が等し
いときは非桁上がり領域に劣勢シンボルを通常通り割り
当てるものとする。フローチャート図の中で使用される
変数・定数・演算子(表記)は、MFLGを加える以外
は適応領域切捨て方式(第1の実施例)による算術符号
器2cの変数・定数・演算子(表記)と同様である。 MFLG 境界移動フラグ 〜73Arithmetic encoding means 5 using the adaptive boundary shifting method
The encoding process in d will be described with reference to a flowchart. Here, when the non-carry area width is equal to the carry area width, the inferior symbol is assigned to the non-carry area as usual. Variables, constants, and operators (notations) used in the flowcharts are variables, constants, and operators (notations) of the arithmetic encoder 2c by the adaptive region truncation method (first embodiment) except that MFLG is added. Is the same as MFLG boundary movement flag ~ 73
【0171】フローチャート図中の入力値YN11=1
の処理であるCODEYN1、入力値YN11=0の処
理であるCODEYN0、算術符号15dの出力処理で
あるBYTEOUT、符号化のBバッファ36の更新処
理であるNEXTBYTE、符号化の後処理であるFL
USH、算術符号15dの最終出力処理であるFINA
LBYTESは、適応領域切捨て方式(第1の実施例)
による算術符号化手段5cの同名の処理を行う。Input value YN11 = 1 in the flowchart
CODEYN1 which is processing of input value, CODEYN0 which is processing of input value YN11 = 0, BYTEOUT which is processing of outputting arithmetic code 15d, NEXTBYTE which is processing of updating B buffer 36 of encoding, and FL which is post-processing of encoding
USH, FINA which is the final output processing of arithmetic code 15d
LBYTES is an adaptive area truncation method (first embodiment)
To perform the processing of the same name of the arithmetic encoding means 5c.
【0172】符号化開始時の初期化処理であるINIT
ENCは図62のように、境界移動フラグMFLG73
の初期値として0をセットする以外は適応領域切捨て方
式(第1の実施例)による算術符号化手段5cの同名の
処理と同様の処理内容を行う。INIT which is an initialization process at the start of encoding
ENC is a boundary movement flag MFLG73 as shown in FIG.
Except that 0 is set as the initial value of the arithmetic coding means 5c by the adaptive region truncation method (first embodiment).
【0173】符号化の実処理であるENCODEは図6
3のように、境界移動フラグMFLG73が1でないと
きLPS領域幅Qe14の領域に劣勢シンボルの領域を
そのまま対応させて、入力側のモデル・確率発生器1か
ら得られた入力値YN11が1ならばCODEYN1、
0ならばCODEYN0を実行する。境界移動フラグM
FLG73が1であるとき、正規化処理であるRENO
RMEで計算済み(破線部)の桁上がり境界値T70、
非桁上がり領域幅R071、桁上がり領域幅R172か
ら、LPS領域幅Qe14を非桁上がり領域幅R071
に修正し、領域移動フラグMFLG73を0とする。L
PS領域幅Qe14は入力側のモデル・確率発生器1か
ら与えられるものであるが、この修正により優勢シンボ
ルと劣勢シンボルの対応領域の境界値は桁上がり境界値
T70となる。ここで、非桁上がり領域幅R071が桁
上がり領域幅R172以下であれば非桁上がり領域幅R
071が桁上がり領域R172より小さいということで
あるから、非桁上がり領域R071に劣勢シンボルの領
域を対応させて、入力側のモデル・確率発生器1から得
られた入力値YN11が1ならばCODEYN1、0な
らばCODEYN0を実行する。また、非桁上がり領域
幅R071が桁上がり領域幅R172より大きいならば
非桁上がり領域幅R071が桁上がり領域R172より
大きいということであるから、より大きい非桁上がり領
域R071に優勢シンボルの領域を対応させて、入力側
のモデル・確率発生器1から得られた入力値YN11が
1ならばCODEYN1EX、0ならばCODEYN0
EXを実行する。ENCODE which is the actual processing of encoding is shown in FIG.
3, when the boundary movement flag MFLG73 is not 1, the inferior symbol area is directly associated with the LPS area width Qe14, and if the input value YN11 obtained from the input side model / probability generator 1 is 1, CODEYN1,
If 0, CODEYN0 is executed. Boundary movement flag M
When FLG73 is 1, RENO which is a normalization process
Carry boundary value T70 already calculated by RME (broken line part),
From the non-carry region width R071 and the carry region width R172, the LPS region width Qe14 is changed to the non-carry region width R071.
And the area movement flag MFLG73 is set to 0. L
The PS region width Qe14 is given from the model / probability generator 1 on the input side. With this correction, the boundary value of the corresponding region between the superior symbol and the inferior symbol becomes the carry boundary value T70. Here, if the non-carry region width R071 is equal to or smaller than the carry region width R172, the non-carry region width R
071 is smaller than the carry region R172, so that the non-carry region R071 is made to correspond to the region of the inferior symbol, and if the input value YN11 obtained from the input side model / probability generator 1 is 1, CODEYN1 , 0, execute CODEYN0. If the non-carry region width R071 is larger than the carry region width R172, it means that the non-carry region width R071 is larger than the carry region R172. Correspondingly, if the input value YN11 obtained from the model / probability generator 1 on the input side is 1, CODEYN1EX, if it is 0, CODEYN0
Execute EX.
【0174】入力値YN11=1の処理であるCODE
YN1EXは図64のように、予測値MPS12が0な
らばLPS符号化処理としてAレジスタ値35からLP
S領域幅Qe14を減じ、Cレジスタ値30にLPS領
域幅Qe14を加えて更新し、正規化処理RENORM
Eを行う。予測値MPS12が0でなければMPS符号
化処理としてAレジスタ値35をLPS領域幅Qe14
に更新し、更新したAレジスタ値35が有効領域最小値
Amin よりも小さいときには正規化処理RENORME
を行う。CODE which is processing of input value YN11 = 1
As shown in FIG. 64, if the predicted value MPS12 is 0, YN1EX is converted from the A register value 35 to LP by LPS encoding processing.
The S region width Qe14 is reduced, the LPS region width Qe14 is added to the C register value 30 for updating, and normalization processing RENORM is performed.
Perform E. If the predicted value MPS12 is not 0, the A register value 35 is set to the LPS area width Qe14 as MPS encoding processing.
And if the updated A register value 35 is smaller than the effective area minimum value Amin,
I do.
【0175】入力値YN11=0の処理であるCODE
YN0EXは図65のように、予測値MPS12が1な
らばLPS符号化処理としてAレジスタ値35からLP
S領域幅Qe14を減じ、Cレジスタ値30にLPS領
域幅Qe14を加えて更新し、正規化処理RENORM
Eを行う。予測値MPS12が1でなければMPS符号
化処理としてAレジスタ値35をLPS領域幅Qe14
に更新し、更新したAレジスタ値35が有効領域最小値
Amin よりも小さいときには正規化処理RENORME
を行う。CODE which is processing of input value YN11 = 0
As shown in FIG. 65, if the predicted value MPS12 is 1, YN0EX is converted from the A register value 35 to LP by LPS encoding processing.
The S region width Qe14 is reduced, the LPS region width Qe14 is added to the C register value 30 for updating, and normalization processing RENORM is performed.
Perform E. If the predicted value MPS12 is not 1, the A register value 35 is changed to the LPS area width Qe14 as MPS encoding processing.
And if the updated A register value 35 is smaller than the effective area minimum value Amin,
I do.
【0176】符号化の正規化処理であるRENORME
は図66のように、Cvレジスタ値43がX’0FF’
(9ビット)でなければ、Aレジスタ35、Uレジスタ
48を1ビット左にシフトさせる。Cレジスタ値40が
負の場合出力フラグが左シフト操作により最上位ビット
にセットされたことを示し、1バイトの算術符号15d
が出力可能になったことを意味する。そこで、Cレジス
タ40を1ビット左シフトさせた後に算術符号15dを
Bバッファ36へ出力する出力処理BYTEOUTを行
う。負でなければCレジスタ40を1ビット左シフトの
みさせて1バイトの算術符号15dが出力可能となるの
を待つ。Aレジスタ値35が有効領域最小値Amin より
も小さいときには、Aレジスタ値35が有効領域最小値
Amin 以上になるまでCvレジスタ値43がX’0F
F’(9ビット)か否かの比較からの処理を繰り返し、
Aレジスタ値35が有効領域最小値Amin 以上になった
とき正規化終了と判断され、入力側のモデル・確率発生
器1が出力するLPS領域幅Qe14を次なる確率状態
でとるべきLPS領域幅Qe14に更新させる。Cvレ
ジスタ値43がX’0FF’(9ビット)ならば、桁上
がり境界値T70に0をセットする。桁上がり境界値T
70により、非桁上がり領域幅R071は桁上がり境界
値T70とCxレジスタ値42との差、また桁上がり領
域幅R172はUレジスタ値48と桁上がり境界値T7
0との差で表される。ここで、桁上がり境界値T70が
有効領域内に存在する条件として非桁上がり領域幅R0
71が有効領域幅を示すAレジスタ値35未満であると
き、境界移動フラグMFLG73に1をセットして正規
化を強制終了させ、入力側のモデル・確率発生器1が出
力するLPS領域幅Qe14を次なる確率状態でとるべ
きLPS領域幅Qe14に更新させる。非桁上がり領域
幅R071が有効領域幅を示すAレジスタ値35以上で
あるとき、Aレジスタ35、Uレジスタ48を1ビット
左にシフトさせる。Cレジスタ値40が負の場合出力フ
ラグが左シフト操作により最上位ビットにセットされた
ことを示し、1バイトの算術符号15dが出力可能にな
ったことを意味する。そこで、Cレジスタ40を1ビッ
ト左シフトさせた後に算術符号15dをBバッファ36
へ出力する出力処理BYTEOUTを行う。負でなけれ
ばCレジスタ40を1ビット左シフトのみさせて1バイ
トの算術符号15dが出力可能となるのを待つ。Aレジ
スタ値35が有効領域最小値Amin よりも小さいときに
は、Aレジスタ値35が有効領域最小値Amin 以上にな
るまでCvレジスタ値43がX’0FF’(9ビット)
か否かの比較からの処理を繰り返し、Aレジスタ値35
が有効領域最小値Amin 以上になったとき正規化終了と
判断され、入力側のモデル・確率発生器1が出力するL
PS領域幅Qe14を次なる確率状態でとるべきLPS
領域幅Qe14に更新させる。RENORME which is a normalization process of encoding
As shown in FIG. 66, the Cv register value 43 is X'0FF '
If not (9 bits), the A register 35 and the U register 48 are shifted left by one bit. If the C register value 40 is negative, it indicates that the output flag has been set to the most significant bit by the left shift operation, and the 1-byte arithmetic code 15d
Means that can be output. Therefore, an output process BYTEOUT for outputting the arithmetic code 15d to the B buffer 36 after shifting the C register 40 left by one bit is performed. If it is not negative, the C register 40 is shifted left by one bit only, and waits for the output of the 1-byte arithmetic code 15d. When the A register value 35 is smaller than the effective area minimum value Amin, the Cv register value 43 is set to X'0F until the A register value 35 becomes equal to or more than the effective area minimum value Amin.
The process from the comparison of whether or not F ′ (9 bits) is repeated,
When the A register value 35 becomes equal to or larger than the effective area minimum value Amin, it is determined that the normalization is completed, and the LPS area width Qe14 to be taken by the LPS area width Qe14 output from the input side model / probability generator 1 in the next probability state. To update. If the Cv register value 43 is X'0FF '(9 bits), 0 is set to the carry boundary value T70. Carry boundary value T
70, the non-carry region width R071 is the difference between the carry boundary value T70 and the Cx register value 42, and the carry region width R172 is the U register value 48 and the carry boundary value T7.
It is represented by the difference from 0. Here, a condition that the carry boundary value T70 exists in the effective area is a non-carry area width R0.
When 71 is less than the A register value 35 indicating the effective area width, 1 is set to the boundary movement flag MFLG73 to forcibly terminate the normalization, and the LPS area width Qe14 output from the model / probability generator 1 on the input side is changed to The LPS region width Qe14 to be taken in the next probability state is updated. When the non-carry region width R071 is equal to or larger than the A register value 35 indicating the effective region width, the A register 35 and the U register 48 are shifted left by one bit. When the C register value 40 is negative, it indicates that the output flag has been set to the most significant bit by the left shift operation, which means that the one-byte arithmetic code 15d can be output. Therefore, after shifting the C register 40 left by one bit, the arithmetic code 15d is stored in the B buffer 36.
An output process BYTEOUT for outputting the data to the memory is performed. If it is not negative, the C register 40 is shifted left by one bit only, and waits for the output of the 1-byte arithmetic code 15d. When the A register value 35 is smaller than the effective area minimum value Amin, the Cv register value 43 is X'0FF '(9 bits) until the A register value 35 becomes equal to or more than the effective area minimum value Amin.
The processing from the comparison as to whether or not the A register value is 35 is repeated.
Is smaller than the effective area minimum value Amin, it is determined that normalization has been completed, and the L output by the model / probability generator 1 on the input side.
LPS to take PS region width Qe14 in the next probability state
The area width is updated to Qe14.
【0177】適応境界移動方式による算術復号器3dは
図61のように、復号を適応境界移動方式による算術復
号手段6dで示されるフローチャート図に沿って行う。
INITDEC、MPS,Qeの獲得、DECODEの
機能は図87における毎回1ビット挿入方式(従来例)
による算術復号手段6aで果たす機能と同様である。As shown in FIG. 61, the arithmetic decoder 3d based on the adaptive boundary moving method performs decoding according to the flowchart shown by the arithmetic decoding means 6d based on the adaptive boundary moving method.
The functions of INITDEC, MPS, Qe acquisition, and DECODE are the one-bit insertion method each time in FIG. 87 (conventional example)
Is the same as the function performed by the arithmetic decoding means 6a.
【0178】適応境界移動方式による算術復号器3dは
復号過程でも符号を構成するためCレジスタ40(Ce
レジスタ41、Cxレジスタ42、Cvレジスタ43、
Cbレジスタ44、Cyレジスタ45、Csレジスタ4
6、Cfレジスタ47)とUレジスタ48、Aレジスタ
35、Dレジスタ60(Dnレジスタ61、Deレジス
タ62、Dxレジスタ63、Dvレジスタ64、Dsレ
ジスタ65)の仕様は、適応領域切捨て方式による算術
復号器3cのレジスタ仕様と同様である。The arithmetic decoder 3d based on the adaptive boundary shift method forms a code even in the decoding process, so that the C register 40 (Ce)
Register 41, Cx register 42, Cv register 43,
Cb register 44, Cy register 45, Cs register 4
6, Cf register 47), U register 48, A register 35, and D register 60 (Dn register 61, De register 62, Dx register 63, Dv register 64, Ds register 65) This is the same as the register specification of the unit 3c.
【0179】適応境界移動方式による算術復号手段6d
での復号処理をフローチャート図を示して説明する。フ
ローチャート図の中で使用される変数・定数・演算子
(表記)は、適応境界移動方式による算術符号化手段5
dと同様にMFLG73を加える以外は適応領域切捨て
方式(第1の実施例)による算術復号手段6cで使用さ
れる変数・定数・演算子(表記)と同様である。Arithmetic decoding means 6d using adaptive boundary shifting method
Will be described with reference to a flowchart. Variables, constants, and operators (notations) used in the flowchart are arithmetic coding means 5 using the adaptive boundary moving method.
Except for adding the MFLG 73 in the same way as in d, it is the same as the variable / constant / operator (notation) used in the arithmetic decoding means 6c based on the adaptive region truncation method (first embodiment).
【0180】フローチャート図中の算術符号15dの入
力処理であるBYTEIN、復号のBバッファ55の更
新処理であるGETBYTEは、適応領域切捨て方式
(第1の実施例)による算術復号手段6cの同名の処理
を行う。In the flowchart, BYTEIN, which is input processing of the arithmetic code 15d, and GETBYTE, which is update processing of the decoding B buffer 55, have the same name as the arithmetic decoding means 6c by the adaptive area truncation method (first embodiment). I do.
【0181】復号開始時の初期化処理であるINITD
ECは図67のように、境界移動フラグMFLG73の
初期値として0をセットする以外は適応領域切捨て方式
(第1の実施例)による算術復号手段6cの同名の処理
と同様の処理内容を行う。INITD which is initialization processing at the start of decoding
The EC performs the same processing contents as the processing of the same name of the arithmetic decoding means 6c by the adaptive area truncation method (first embodiment) except that 0 is set as the initial value of the boundary movement flag MFLG73 as shown in FIG.
【0182】復号の実処理であるDECODEは図6
8、図69のように、境界移動フラグMFLG73が1
でないときLPS領域幅Qe19の領域に劣勢シンボル
の領域をそのまま対応させて、Deレジスタ値62がC
eレジスタ値41と出力側のモデル・確率発生器4から
得られたLPS領域幅Qe19の和以上ならばMPS復
号処理として出力値YN16を予測値MPS17として
復号し、Aレジスタ値35からLPS領域幅Qe19を
減じ、Cレジスタ値50にLPS領域幅Qe19を加え
て更新する。更新したAレジスタ値35が有効領域最小
値Amin よりも小さいときには正規化処理RENORM
Dを行う。Deレジスタ値62がCeレジスタ値41と
出力側のモデル・確率発生器4から得られたLPS領域
幅Qe19の和未満ならばLPS復号処理として出力値
YN16を非予測値LPS18として復号し、Aレジス
タ値35をLPS領域幅Qe19、Uレジスタ48をC
xレジスタ値42とLPS領域幅Qe19の和に更新
し、正規化処理RENORMDを行う。境界移動フラグ
MFLG73が1であるとき、正規化処理であるREN
ORMDで計算済み(破線部)の桁上がり境界値T7
0、非桁上がり領域幅R071、桁上がり領域幅R17
2から、LPS領域幅Qe19を非桁上がり領域幅R0
71に修正し、領域移動フラグMFLG73を0とす
る。LPS領域幅Qe19は入力側のモデル・確率発生
器1から与えられるものであるが、この修正により優勢
シンボルと劣勢シンボルの対応領域の境界値は桁上がり
境界値T70となる。ここで、非桁上がり領域幅R07
1が桁上がり領域幅R172以下であれば非桁上がり領
域幅R071が桁上がり領域R172より小さいという
ことであるから、非桁上がり領域R071に劣勢シンボ
ルの領域を対応させて、Deレジスタ値62がCeレジ
スタ値41と出力側のモデル・確率発生器4から得られ
たLPS領域幅Qe19の和以上ならばMPS復号処理
として出力値YN16を予測値MPS17として復号
し、Aレジスタ値35からLPS領域幅Qe19を減
じ、Cレジスタ値50にLPS領域幅Qe19を加えて
更新する。更新したAレジスタ値35が有効領域最小値
Amin よりも小さいときには正規化処理RENORMD
を行う。また、非桁上がり領域幅R071が桁上がり領
域幅R172より大きいならば非桁上がり領域幅R07
1が桁上がり領域R172より大きいということである
から、より大きい非桁上がり領域R071に優勢シンボ
ルの領域を対応させて、Deレジスタ値62がCeレジ
スタ値41と出力側のモデル・確率発生器4から得られ
たLPS領域幅Qe19の和以上ならばLPS復号処理
として出力値YN16を非予測値LPS18として復号
し、Aレジスタ値35からLPS領域幅Qe19を減
じ、Cレジスタ値50にLPS領域幅Qe19を加えて
更新し、正規化処理RENORMDを行う。Deレジス
タ値62がCeレジスタ値41と出力側のモデル・確率
発生器4から得られたLPS領域幅Qe19の和未満な
らばMPS復号処理として出力値YN16を予測値MP
S17として復号し、Aレジスタ値35をLPS領域幅
Qe19、Uレジスタ48をCxレジスタ値42とLP
S領域幅Qe19の和に更新する。更新したAレジスタ
値35が有効領域最小値Amin よりも小さいときには正
規化処理RENORMDを行う。DECODE, which is the actual decryption process, is shown in FIG.
8, as shown in FIG. 69, the boundary movement flag MFLG73 is set to 1
If not, the area of the inferior symbol is made to correspond to the area of the LPS area width Qe19 as it is, and the De register value 62 becomes C
If the e-register value 41 and the LPS region width Qe19 obtained from the model / probability generator 4 on the output side are equal to or greater than the sum, the output value YN16 is decoded as the predicted value MPS17 as the MPS decoding process, and the LPS region width is obtained from the A register value 35. Qe19 is subtracted, and LP register area width Qe19 is added to C register value 50 for updating. When the updated A register value 35 is smaller than the effective area minimum value Amin, normalization processing RENORM
Perform D. If the De register value 62 is less than the sum of the Ce register value 41 and the LPS area width Qe19 obtained from the model / probability generator 4 on the output side, the output value YN16 is decoded as the non-predicted value LPS18 as LPS decoding processing, and the A register Value 35 is LPS area width Qe19, U register 48 is C
The value is updated to the sum of the x register value 42 and the LPS area width Qe19, and the normalization processing RENORMD is performed. When the boundary movement flag MFLG73 is 1, REN which is a normalization process
Carry boundary value T7 calculated by ORMD (broken line part)
0, non-carry area width R071, carry area width R17
2, the LPS region width Qe19 is changed to the non-carry region width R0.
71 and the area movement flag MFLG73 is set to 0. The LPS region width Qe19 is given from the input-side model / probability generator 1. By this correction, the boundary value of the corresponding region between the superior symbol and the inferior symbol becomes the carry boundary value T70. Here, the non-carry region width R07
If 1 is equal to or smaller than the carry area width R172, it means that the non-carry area width R071 is smaller than the carry area R172, and the De register value 62 is set by associating the non-carry area R071 with the area of the inferior symbol. If the Ce register value 41 and the LPS area width Qe19 obtained from the model / probability generator 4 on the output side are equal to or larger than the output value YN16, the output value YN16 is decoded as the predicted value MPS17 as the MPS decoding processing. Qe19 is subtracted, and LP register area width Qe19 is added to C register value 50 for updating. When the updated A register value 35 is smaller than the effective area minimum value Amin, the normalization processing RENORMD
I do. If the non-carry region width R071 is larger than the carry region width R172, the non-carry region width R07
Since 1 is larger than the carry area R172, the De register value 62 is made to correspond to the Ce register value 41 and the model / probability generator 4 on the output side by making the area of the dominant symbol correspond to the larger non-carry area R071. If the value is equal to or larger than the sum of the LPS area widths Qe19 obtained from the above, the output value YN16 is decoded as the non-prediction value LPS18 as LPS decoding processing, the LPS area width Qe19 is subtracted from the A register value 35, and the LPS area width Qe19 is added to the C register value 50. , And normalization processing RENORMD is performed. If the De register value 62 is smaller than the sum of the Ce register value 41 and the LPS region width Qe19 obtained from the model / probability generator 4 on the output side, the output value YN16 is subjected to the MPS decoding processing to obtain the predicted value MP.
The decoding is performed as S17, the A register value 35 is the LPS area width Qe19, the U register 48 is the Cx register value 42 and the LP
Update to the sum of the S region width Qe19. When the updated A register value 35 is smaller than the effective area minimum value Amin, a normalization process RENORMD is performed.
【0183】復号の正規化処理RENORMDは図70
のように、Aレジスタ35、Uレジスタ48の左シフト
と同時にDレジスタ60も左シフトさせ、算術符号15
dの出力処理であるBYTEOUTの代わりに算術符号
15dの入力処理であるBYTEINを行い、入力側の
モデル・確率発生器1を出力側のモデル・確率発生器
4、LPS領域幅Qe14をLPS領域幅19とする以
外は、適応境界移動方式による算術符号化手段5dの符
号化の正規化処理RENORMEと同様の処理内容を行
う。The normalization process RENORMD for decryption is shown in FIG.
, The D register 60 is also shifted left at the same time as the A register 35 and U register 48 are shifted left.
Perform BYTEIN, which is an input process of arithmetic code 15d, instead of BYTEOUT, which is an output process of d. Except for setting it to 19, the same processing contents as the normalization processing RENORME of the coding of the arithmetic coding means 5d by the adaptive boundary moving method are performed.
【0184】図71、図72は適応境界移動方式による
境界移動の概念を示した図である。図71、図72にお
いてレジスタ、変数の精度は図57、図58と同様とす
る。図71のA−1〜A−5は適応境界移動方式による
桁上がり制御の一実行例で、桁上がり制御直後のシンボ
ルが劣勢シンボルで桁上がり領域が選択される場合を示
している。A−1は正規化開始時のレジスタと変数の値
を示しているが、正規化の途中と解釈しても構わない。
A−1の状態ではAレジスタ値が0011である。従っ
て、有効領域幅は3である。この値は有効領域全体から
みて有効領域最小値である0.5(1000)以下であ
るため正規化処理が行われる。なお、A−1の状態では
81で示されたXと82で示されたXは同じビット値で
あるため有効領域内に桁上がり境界が存在することはな
い。A−2はA−1の状態から正規化処理が行われた状
態を示している。A−2の状態では83に示した値が
0、84に示した値が1であるため、下界値と上界値の
間に桁上がり境界値が存在することが判明できる。従っ
て、正規化した結果、Aレジスタが0110という値を
示しており未だ全体の0.5以下の値を示している場合
でもこの時点で正規化を強制的に終了する。もし、A−
2の状態においても83の値と84の値が同じビット値
である場合には有効領域幅内に桁上がり境界は存在しな
いため、さらに正規化処理を続行する。ここではA−2
において有効領域内に桁上がり境界が存在するため、正
規化処理はここで強制的に終了される。すなわち、A−
2では正規化の過程でCvレジスタ値が01・・・1
(5ビット)となり、桁上がり制御のために各変数値が
計算され、T値は10・・・0(9ビット)となるが4
ビットでは0となり,R0(=T−Cx)値はA値未満
であるから桁上がり可能性は有りと判定される。R1
(=U−T)値はR0値より大きくなる。この時点でA
値は1000に達しないが、正規化は未完のまま強制終
了させる。次に、符号化を行うシンボルとして劣勢シン
ボルが入力されてきた場合を示しており、A−3では次
シンボルとして劣勢シンボルの符号化を行うが、このと
きLPS領域幅Qeの領域を劣勢シンボル対応領域とせ
ず、非桁上がり領域R0より小さい桁上がり領域R1を
劣勢シンボルに対応させて、桁上がり領域R1を新たな
有効領域となるようにA値をR1値に修正し、有効領域
下界値であるCxにR0値を加えて桁上がりをCvレジ
スタまで伝播させ、ビット値を確定するとともに下界値
を桁上がり境界とする。A−3の状態では、85で示し
た値と86示した値が1であるため下界値と上界値の間
には桁上がり境界が存在していないことになる。また、
A−3においてはA−2におけるR1の値を新たな有効
領域幅として用いることになる。そしてこの値は001
0であるため全体の有効領域幅の0.5以下であるため
これが0.5以上となるまで正規化処理が繰り返され
る。A−4で正規化が開始され、A値が1000を越え
るまで正規化を続け、A−5で正規化を終了する。FIGS. 71 and 72 are views showing the concept of boundary movement by the adaptive boundary movement method. In FIGS. 71 and 72, the precision of registers and variables is the same as in FIGS. 57 and 58. A-1 to A-5 in FIG. 71 are examples of carry control by the adaptive boundary movement method, and show a case in which the carry-out area is selected because the symbol immediately after carry control is the inferior symbol. A-1 indicates the values of the registers and variables at the start of normalization, but may be interpreted as being in the middle of normalization.
In the state of A-1, the A register value is 0011. Therefore, the effective area width is 3. Since this value is equal to or less than 0.5 (1000), which is the minimum value of the effective area when viewed from the entire effective area, the normalization processing is performed. In the state of A-1, X indicated by 81 and X indicated by 82 have the same bit value, so that a carry boundary does not exist in the effective area. A-2 shows a state in which normalization processing has been performed from the state of A-1. In the state of A-2, the value indicated by 83 is 0 and the value indicated by 84 is 1, so it can be seen that a carry boundary value exists between the lower bound value and the upper bound value. Therefore, as a result of normalization, even if the A register indicates a value of 0110 and still indicates a value of 0.5 or less, the normalization is forcibly terminated at this point. If A-
Even in the state of 2, if the value of 83 and the value of 84 are the same bit value, there is no carry boundary within the effective area width, so that the normalization processing is further continued. Here, A-2
Since there is a carry boundary in the effective area in, the normalization processing is forcibly ended here. That is, A-
In the case of 2, the Cv register value is 01 ... 1 in the process of normalization.
(5 bits), each variable value is calculated for carry control, and the T value becomes 10... 0 (9 bits), but 4
The bit is 0, and the R0 (= T−Cx) value is less than the A value, so it is determined that there is a possibility of carry. R1
The (= UT) value is greater than the R0 value. At this point A
Although the value does not reach 1000, normalization is terminated incompletely. Next, a case is shown in which an inferior symbol is input as a symbol to be encoded. In A-3, the inferior symbol is encoded as the next symbol. Instead of using the region, the carry region R1 smaller than the non-carry region R0 is made to correspond to the inferior symbol, and the A value is corrected to the R1 value so that the carry region R1 becomes a new effective region. The carry is propagated to the Cv register by adding the R0 value to a certain Cx, the bit value is determined, and the lower bound value is set as the carry boundary. In the state of A-3, since the value indicated by 85 and the value indicated by 86 are 1, there is no carry boundary between the lower bound value and the upper bound value. Also,
In A-3, the value of R1 in A-2 is used as a new effective area width. And this value is 001
Since it is 0, it is 0.5 or less of the entire effective area width, so that the normalization process is repeated until it becomes 0.5 or more. Normalization is started in A-4, normalization is continued until the A value exceeds 1000, and normalization is ended in A-5.
【0185】図72のB−3〜B−4は適応境界移動方
式による桁上がり制御の一実行例で、桁上がり制御直後
のシンボルが優勢シンボルで非桁上がり領域が選択され
る場合を示している。上記A−2の状態から、B−3で
は次に符号化を行うシンボルとして優勢シンボルを入力
する場合を示しており、B−3では次シンボルとして優
勢シンボルの符号化を行うが、このときLPS領域幅Q
eの領域を劣勢シンボル対応領域とせず、桁上がり領域
R1より大きい非桁上がり領域R0を優勢シンボルに対
応させて、非桁上がり領域R0が有効領域となるように
A値をR0値に修正し、有効領域上界値であるU値を桁
上がり境界値とする。B−3の状態では85で示した値
と86で示した値は異なるがUレジスタに新たに設定さ
れた値は桁上がり境界値Tであるため下界値と上界値の
間に桁上がり境界が存在することはない。修正後は、A
値が1000を越えるまで正規化を続け、B−4で正規
化を終了する。この例では、非桁上がり領域R0が桁上
がり領域R1より大きい場合で優勢シンボルに対して非
桁上がり領域R0、劣勢シンボルに対して桁上がり領域
R1を対応させたが、桁上がり領域R1が非桁上がり領
域R0より大きい場合では優勢シンボルに対して桁上が
り領域R1、劣勢シンボルに対して非桁上がり領域R0
を対応させることになる。B-3 to B-4 in FIG. 72 show an example of the carry control by the adaptive boundary moving method, in which the symbol immediately after the carry control is the dominant symbol and the non-carry area is selected. I have. From the state of A-2, B-3 shows a case where a dominant symbol is input as a next symbol to be encoded, and B-3 encodes a dominant symbol as a next symbol. Area width Q
The A value is corrected to the R0 value such that the non-carrying area R0 larger than the carry area R1 is made to correspond to the dominant symbol without setting the area e as the inferior symbol corresponding area, and the non-carry area R0 becomes an effective area. , The U value that is the upper bound value of the effective area is set as the carry boundary value. In the state of B-3, the value indicated by 85 and the value indicated by 86 are different, but the value newly set in the U register is the carry boundary value T, so that the carry boundary between the lower bound value and the upper bound value. Never exist. After correction, A
Normalization is continued until the value exceeds 1000, and the normalization ends at B-4. In this example, when the non-carry area R0 is larger than the carry area R1, the non-carry area R0 corresponds to the superior symbol and the carry area R1 corresponds to the inferior symbol. If the carry area is larger than the carry area R0, the carry area R1 for the superior symbol and the non-carry area R0 for the inferior symbol.
Will correspond.
【0186】以上のように、この実施例では、情報源か
らの入力データの入力に対して、入力値YNの出現に先
立つ予測値MPSという情報と非予測値LPSに割り当
てる領域幅Qeという情報を出力し、正規化が行われた
とき前記非予測値LPSの確率状態を遷移させ、前記L
PS領域幅Qe(またはそのインデクス)を更新する入
力側のモデル・確率発生器と、復号される出力値YNに
対して、前記出力値YNの出現に先立つ予測値MPSと
いう情報と非予測値LPSに割り当てる領域幅Qeとい
う情報を出力し、この値を基にした復号により前記出力
値YNを得て出力データを出力し正規化が行われたとき
前記非予測値LPSの確率状態を遷移させ、前記LPS
領域幅Qe(またはそのインデクス)を更新する出力側
のモデル・確率発生器とを備えた符号伝送装置におい
て、前記入力側のモデル・確率発生器が出力するYNの
予測値MPSとLPS領域幅Qeの入力に対して、確率
数直線(0以上1未満)上の有効領域幅であるAレジス
タ値を前記非予測値LPSの領域幅Qeと前記予測値M
PSの領域幅A−Qeとに分割し、前記入力値YNと前
記予測値MPSが一致したときは新たな前記有効領域幅
AにA−Qeを割り当てることにより更新し、異なると
きは新たな前記有効領域幅AにQeを割り当てることに
より更新し、Cレジスタ値、Uレジスタ値を新たに割り
当てられた有効領域の下界値、上界値となるようにそれ
ぞれ演算して更新し、新たな有効領域が設定された有効
領域最小値より小さくなったときに行われる正規化の途
中で前記Cレジスタの特定部分に所定のビットパターン
が出現し、後の桁上がり発生により該ビットパターンが
反転する可能性が有ると判定された場合に正規化を強制
終了させ、有効領域を桁上がり境界Tで桁上がり領域R
1と非桁上がり領域R0に分離し、次シンボルに対して
より小さい領域を劣勢シンボル、残る領域を優勢シンボ
ルに対応させ、前記入力値YNと前記予測値MPSが一
致したときは新たな前記有効領域幅Aに大きい領域(R
0≦R1ならばR1、R0>R1ならばR0)を割り当
てることにより更新し、異なるときは新たな前記有効領
域幅Aに小さい領域(R0≦R1ならばR0、R0>R
1ならばR1)を割り当てることにより更新し、Cレジ
スタ値、Uレジスタ値を新たに割り当てられた有効領域
の下界値、上界値となるようにそれぞれ演算して更新
し、新たな有効領域が設定された有効領域最小値より大
きくなるように正規化を行った後に通常処理に戻り、前
記入力側のモデル・確率発生器からの入力が終了するま
で該分割・割当処理を逐次的に繰り返し前記算術符号を
送出する適応境界移動方式による算術符号器と、前記適
応領域切捨て方式による算術符号器から送出された前記
算術符号および復号すべき前記出力値YNに対する前記
予測値MPSと前記LPS領域幅Qeの入力に対して、
確率数直線上の有効領域幅であるAレジスタ値を前記非
予測値LPSの領域幅Qeと前記予測値MPSの領域幅
A−Qeとに分割し、受信した算術符号を示すDレジス
タ値がCレジスタ値と前記非予測値LPSの領域幅Qe
の和以上のときは前記出力値YNを前記予測値MPSと
判断して復号し、新たな前記有効領域幅AにA−Qeを
割り当てることにより更新し、Cレジスタ値と前記非予
測値LPSの領域幅Qeの和未満のときは前記出力値Y
Nを前記非予測値LPSと判断して復号し、新たな前記
有効領域幅AにQeを割り当てることにより更新し、C
レジスタ値、Uレジスタ値を新たに割り当てられた有効
領域の下界値、上界値となるようにそれぞれ演算して更
新し、新たな有効領域が設定された有効領域最小値より
小さくなったときに行われる正規化の途中で前記Cレジ
スタの特定部分に所定のビットパターンが出現し、後の
桁上がり発生により該ビットパターンが反転する可能性
が有ると判定された場合に正規化を強制終了させ、有効
領域を桁上がり境界Tで桁上がり領域R1と非桁上がり
領域R0に分離し、次シンボルに対してより小さい領域
を劣勢シンボル、残る領域を優勢シンボルに対応させ、
受信した算術符号を示すDレジスタ値がCレジスタ値と
前記桁上がり領域幅R0の和以上のときは前記出力値Y
Nを前記桁上がり領域R1に対応させたシンボル(R0
≦R1ならば優勢シンボル、R0>R1ならば劣勢シン
ボル)として復号し新たな前記有効領域幅AにA−R0
を割り当てることにより更新し、Cレジスタ値と前記桁
上がり領域幅R0の和未満のときは前記出力値YNを前
記非桁上がり領域R0に対応させたシンボル(R0≦R
1ならば劣勢シンボル、R0>R1ならば優勢シンボ
ル)として復号し新たな前記有効領域幅AにR0を割り
当てることにより更新し、Cレジスタ値、Uレジスタ値
を新たに割り当てられた有効領域の下界値、上界値とな
るようにそれぞれ演算して更新し、新たな有効領域が設
定された有効領域最小値より大きくなるように正規化を
行った後に通常処理に戻り、前記算術符号から復号した
前記出力値YNの出力が終了するまで該分割・割当処理
を逐次的に繰り返す適応境界移動方式による算術復号器
とを設けることを特徴とする符号伝送装置を説明した。As described above, in this embodiment, in response to input of input data from the information source, information of the predicted value MPS prior to the appearance of the input value YN and information of the region width Qe to be allocated to the non-predicted value LPS are obtained. Output, and when the normalization is performed, the probability state of the non-predicted value LPS is transited.
An input-side model / probability generator for updating the PS region width Qe (or its index), and for a decoded output value YN, information on a predicted value MPS prior to the appearance of the output value YN and a non-predicted value LPS And outputs the output value YN by decoding based on this value, outputs the output data, and when the normalization is performed, transits the probability state of the non-predicted value LPS. The LPS
In a code transmission apparatus provided with an output-side model / probability generator for updating a region width Qe (or an index thereof), a prediction value MPS of YN output from the input-side model / probability generator and an LPS region width Qe Of the non-predicted value LPS and the predicted value M
When the input value YN and the predicted value MPS match, the data is updated by allocating A-Qe to the new effective area width A, and when the input value YN and the predicted value MPS are different, the new effective area width A is updated. The effective area width A is updated by allocating Qe, and the C register value and the U register value are respectively operated and updated to become the lower bound value and the upper bound value of the newly assigned effective area, respectively. During the normalization performed when is smaller than the set effective area minimum value, a predetermined bit pattern may appear in a specific portion of the C register, and the bit pattern may be inverted due to a subsequent carry. Is determined, the normalization is forcibly terminated, and the effective area is shifted to the carry boundary R at the carry boundary T.
1 and a non-carry region R0, the region smaller than the next symbol is associated with the inferior symbol, the remaining region is associated with the superior symbol, and when the input value YN and the predicted value MPS match, the new effective A large area (R
The allocation is updated by assigning R1 if 0 ≦ R1, and R0 if R0> R1, and if different, a new area smaller than the effective area width A (R0, R0> R if R0 ≦ R1).
If it is 1, it is updated by allocating R1), and the C register value and the U register value are updated by calculating the lower bound value and the upper bound value of the newly allocated effective area, respectively. After performing normalization so as to be larger than the set effective area minimum value, the process returns to the normal process, and the division / assignment process is sequentially repeated until the input from the model / probability generator on the input side ends. An arithmetic encoder based on an adaptive boundary shifting method for transmitting an arithmetic code, the predicted value MPS and the LPS region width Qe for the arithmetic code transmitted from the arithmetic encoder based on the adaptive region truncation method and the output value YN to be decoded. For the input of
The A register value, which is the effective area width on the probability number line, is divided into the area width Qe of the non-predicted value LPS and the area width A-Qe of the predicted value MPS, and the D register value indicating the received arithmetic code is C Register value and area width Qe of the unpredicted value LPS
When the output value YN is equal to or greater than the sum, the output value YN is determined as the predicted value MPS, decoded, updated by assigning A-Qe to the new effective area width A, and the C register value and the non-predicted value LPS are updated. If the output value Y is less than the sum of the region widths Qe,
N is determined as the non-predicted value LPS, decoded, and updated by assigning Qe to the new effective area width A;
The register value and the U register value are calculated and updated so as to be the lower bound value and the upper bound value of the newly assigned effective area, respectively, and when the new effective area becomes smaller than the set effective area minimum value. When a predetermined bit pattern appears in a specific portion of the C register during normalization to be performed, and it is determined that there is a possibility that the bit pattern is inverted due to the occurrence of a subsequent carry, the normalization is forcibly terminated. , The effective area is separated into a carry area R1 and a non-carry area R0 at the carry boundary T, and a smaller area with respect to the next symbol is made to correspond to the inferior symbol, and the remaining area is made to correspond to the dominant symbol.
When the D register value indicating the received arithmetic code is equal to or larger than the sum of the C register value and the carry area width R0, the output value Y is output.
N corresponding to the carry region R1 (R0
≤ R1 as the superior symbol, and R0> R1 as the inferior symbol).
And if the value is less than the sum of the C register value and the carry area width R0, the output value YN is made to correspond to the non-carry area R0 by a symbol (R0 ≦ R
(1 if inferior symbol, R0> R1 if superior symbol) and update by allocating R0 to the new effective area width A, and lower the C register value and U register value in the newly allocated effective area. Value, updated to be the upper bound, respectively, and returned to normal processing after normalization was performed so that the new effective area was larger than the set effective area minimum value, and decoding was performed from the arithmetic code. A description has been given of the code transmission apparatus, which is provided with an arithmetic decoder based on the adaptive boundary moving method that sequentially repeats the division / allocation processing until the output of the output value YN is completed.
【0187】なお、この実施例の適応境界移動方式をと
るとき、適応領域切捨て方式と同様、算術符号化・復号
の過程の符号演算におけるCxレジスタ部より上位への
桁上がりは必ずCvレジスタ内で伝播させ終わることが
可能である。適応境界移動方式は正規化時にCvレジス
タ部がX’0FF’(9ビット)となり桁上がりの可能
性がある(有効領域内に桁上がり境界を含む)ならば次
なるシンボルに対する優勢シンボルと劣勢シンボルの対
応領域の境界を桁上がり境界に移動させ、桁上がり領域
と非桁上がり領域の大きくない方の領域を優勢シンボ
ル、残る大きい領域の方の領域を劣勢シンボルに対応さ
せることにより桁上がり境界値を有効領域の上界値また
は下界値とすることにより桁上がりによる符号(ビッ
ト)確定の遅延を抑える。算術復号器において符号を構
成しながら復号を実現するため算術符号器と同様に有効
領域の分割・割当処理を行うことができる。When the adaptive boundary moving method of this embodiment is adopted, the carry to the higher order than the Cx register in the code operation in the arithmetic coding / decoding process is always stored in the Cv register, as in the adaptive region truncation method. It is possible to end propagation. In the adaptive boundary moving method, the Cv register portion becomes X'0FF '(9 bits) at the time of normalization and there is a possibility of carry (if the carry area is included in the effective area), the superior symbol and the inferior symbol for the next symbol The boundary of the corresponding area is moved to the carry boundary, and the area of the carry area and the non-carry area, which is not large, is corresponded to the superior symbol, and the area of the remaining large area is corresponded to the inferior symbol, so that the carry boundary value is obtained. Is set to the upper or lower bound value of the effective area, thereby suppressing the delay of code (bit) determination due to carry. In order to realize decoding while constructing a code in the arithmetic decoder, the effective area can be divided and assigned in the same manner as the arithmetic encoder.
【0188】実施例5. 次に、この実施例(第11の発明,第12の発明に関す
る)では、算術符号系列中に所定のビットパターンを検
出し、後の算術符号化演算の際に発生する桁上がりによ
り検出されたビットパターン01・・・1が反転する可
能性が有りと判定されたとき、適応領域切捨て方式(実
施例3)の切捨て領域の比率と適応境界移動方式(実施
例4)のLPS割当領域の比率から理論的に求められる
次のシンボルの符号化を含めた符号長を比較し符号長の
小さい方式を適用する効率最大化方式について説明す
る。Embodiment 5 FIG. Next, in this embodiment (related to the eleventh invention and the twelfth invention), a predetermined bit pattern is detected in an arithmetic code sequence, and the predetermined bit pattern is detected by a carry generated in a later arithmetic coding operation. When it is determined that there is a possibility that bit pattern 01... 1 is inverted, the ratio of the truncated region of the adaptive region truncation method (the third embodiment) to the ratio of the LPS allocation region of the adaptive boundary moving method (the fourth embodiment) A method for maximizing the efficiency of comparing the code lengths including the encoding of the next symbol theoretically obtained from the above and applying a system with a small code length will be described.
【0189】この実施例ではR0,R1のうち大きくな
い方の領域の全体領域に対する比率をαとする(0<α
≦0.5)。即ちαは適応領域切捨て方式では切捨て領
域比となり、適応境界移動方式ではLPSの割当領域比
となる。桁上がり制御に伴うロスは切捨て方式では−l
og2 (1−α)であるが、適応境界移動方式では次の
符号化事象におけるシンボルの出現確率がロスに影響す
るので、次シンボルの符号化も含めた符号長で両方式の
比較を行う。LPSの出現確率をq、切捨て方式の符号
長をL0、移動方式の符号長をL1とすると、 L0=−log2 (1−α)−q×log2 q −(1−q)×log2 (1−q) L1=−q×log2 α−(1−q)×log2 (1−α) で示され、L0はα=0で、L1はα=qで、いずれも
最小となり、この時桁上がり制御に伴う符号化のロスは
0である。桁上がり制御の実施条件は両方式とも同一で
あるので、常に効率のよい方式を選択する「効率最大化
方式」が可能である。L0,L1の値から両方式の効率
が一致するのは次式が満たされるときである。 log2 {(1−α)/α}=H(q)/q ただし、H(q)は確率qにおけるエントロピー この式を満たす領域比率αをα1とすると、最適切替え
は以下のようにする。すなわち、0≦α<α1のときL
0<L1となり適応領域切捨て方式を採用し、α1≦α
≦0.5のときL0≧L1となり適応境界移動方式を採
用する。In this embodiment, the ratio of the smaller one of R0 and R1 to the entire region is α (0 <α
≦ 0.5). That is, α is a truncated area ratio in the adaptive area truncation scheme, and is an LPS assigned area ratio in the adaptive boundary moving scheme. Loss due to carry control is -1 in truncation method
og 2 (1−α), but in the adaptive boundary moving method, since the appearance probability of the symbol in the next encoding event affects the loss, the two types are compared using the code length including the encoding of the next symbol. . Assuming that the appearance probability of LPS is q, the code length of the truncation method is L0, and the code length of the moving method is L1, L0 = −log 2 (1−α) −q × log 2 q− (1−q) × log 2 (1−q) L1 = −q × log 2 α− (1−q) × log 2 (1−α), where L0 is α = 0, L1 is α = q, and both are minimum; At this time, the encoding loss accompanying carry control is zero. Since the condition for carrying the carry control is the same for both methods, an “efficiency maximizing method” that always selects an efficient method is possible. The efficiencies of both equations match from the values of L0 and L1 when the following equation is satisfied. log 2 {(1−α) / α} = H (q) / q where H (q) is the entropy at the probability q If the area ratio α that satisfies this equation is α1, the most appropriate replacement is as follows. That is, when 0 ≦ α <α1, L
0 <L1 and the adaptive region truncation method is adopted, and α1 ≦ α
When ≦ 0.5, L0 ≧ L1, and the adaptive boundary moving method is adopted.
【0190】この発明を示す一実施例の符号伝送装置は
図73のように、入力側のモデル・確率発生器1と出力
側のモデル・確率発生器4は、上記従来例の図86に対
応する。効率最大化方式による算術符号器2eは、入力
側のモデル・確率発生器1が出力する入力値YN11と
予測値MPS12とLPS領域幅Qe14の入力を用い
て、算術符号15eを生成する効率最大化方式を実行す
る。効率最大化方式による算術復号器3eは、効率最大
化方式による算術符号器2eから送出された算術符号1
5eおよび復号すべき出力値YN16に先立つ予測値M
PS17とLPS領域幅Qe19の入力を用いて、取り
込んだ算術符号15eを算術復号した出力値YN16を
出力する。FIG. 73 shows a code transmission apparatus according to an embodiment of the present invention. As shown in FIG. 73, an input-side model / probability generator 1 and an output-side model / probability generator 4 correspond to FIG. I do. The arithmetic encoder 2e based on the efficiency maximizing method uses the input of the input value YN11, the predicted value MPS12, and the LPS area width Qe14 output from the input-side model / probability generator 1 to generate an arithmetic code 15e. Execute the method. The arithmetic decoder 3e based on the efficiency maximizing method uses the arithmetic code 1 transmitted from the arithmetic encoder 2e based on the efficiency maximizing method.
5e and the predicted value M prior to the output value YN16 to be decoded
Using the input of the PS 17 and the input of the LPS area width Qe 19, an output value YN 16 obtained by arithmetically decoding the acquired arithmetic code 15 e is output.
【0191】効率最大化方式による算術符号器2eは図
74のように、符号化を効率最大化方式による算術符号
化手段5eで示されるフローチャート図に沿って行う。
INITENC、MPS,Qe,YNの獲得、ENCO
DE、FLUSHの機能は図87における毎回1ビット
挿入方式(従来例)による算術符号化手段5aで果たす
機能と同様である。As shown in FIG. 74, the arithmetic encoder 2e based on the maximum efficiency system performs coding according to the flowchart shown by the arithmetic coding means 5e using the maximum efficiency system.
INITENC, acquisition of MPS, Qe, YN, ENCO
The functions of DE and FLUSH are the same as the functions performed by the arithmetic coding means 5a using the 1-bit insertion method (conventional example) every time in FIG.
【0192】効率最大化方式による算術符号器2eのA
レジスタ35、Cレジスタ40(Ceレジスタ41、C
xレジスタ42、Cvレジスタ43、Cbレジスタ4
4、Cyレジスタ45、Csレジスタ46、Cfレジス
タ47)、Uレジスタ48の仕様は、適応境界移動方式
(実施例4)による算術符号器2dのレジスタ仕様と同
様である。A of the arithmetic encoder 2e based on the efficiency maximizing method
Register 35, C register 40 (Ce register 41, C register
x register 42, Cv register 43, Cb register 4
4, the specifications of the Cy register 45, the Cs register 46, the Cf register 47) and the U register 48 are the same as the register specifications of the arithmetic encoder 2d according to the adaptive boundary moving method (the fourth embodiment).
【0193】効率最大化方式による算術符号化手段5e
での符号化処理をフローチャート図を示して説明する。
ここで、適応領域切捨て方式の切捨て領域の比率と適応
境界移動方式のLPS割当領域比率から求められる次の
シンボルの符号化を含めた符号長が等しいときはどちら
の方式でもよいが適応領域切捨て方式を適用する場合に
ついて説明した。また、適応境界移動方式を適用時に非
桁上がり領域幅と桁上がり領域幅が等しいときは非桁上
がり領域に劣勢シンボルを通常通り割り当てるものとす
る。フローチャート図の中で使用される変数・定数・演
算子(表記)は、切捨て領域比率またはLPS割当領域
比率であるα、LPSの出現確率q、適応領域切捨て方
式による符号長L0、適応境界移動方式による符号長L
1、適応領域切捨て方式による切捨て領域比率αにおけ
る符号長LEN0、適応境界移動方式によるLPS割当
領域比率αにおける符号長LEN1を加える以外は適応
境界移動方式(実施例4)による算術符号器2dの変数
・定数・演算子(表記)と同様である。 α 切捨て領域比率αまたはLPS割当領域比率α 〜74 q LPSの出現確率q(=Qe/A) 〜75 L0 適応領域切捨て方式による符号長L0 〜76 L1 適応境界移動方式による符号長L1 〜77 LEN0(α) 適応領域切捨て方式による 切捨て領域比率αにおける符号長 =−log2 (1−α)−q×log2 q −(1−q)×log2 (1−q) LEN1(α) 適応境界移動方式による LPS割当領域比率αにおける符号長 =−q×log2 α−(1−q)×log2 (1−α)Arithmetic coding means 5e based on the efficiency maximizing method
Will be described with reference to a flowchart.
Here, when the code length including the coding of the next symbol obtained from the ratio of the truncated region of the adaptive region truncation system and the ratio of the LPS allocation region of the adaptive boundary moving system is equal, either method may be used. Has been described. Further, when the non-carry area width is equal to the carry area width when the adaptive boundary moving method is applied, the inferior symbol is assigned to the non-carry area as usual. Variables, constants, and operators (notation) used in the flowchart are α, which is a truncated area ratio or an LPS allocated area ratio, an appearance probability q of LPS, a code length L0 by an adaptive area truncation method, and an adaptive boundary moving method. Code length L
1. Variables of the arithmetic encoder 2d by the adaptive boundary moving method (Example 4) except that the code length LEN0 at the truncated region ratio α by the adaptive region truncation method and the code length LEN1 at the LPS allocation region ratio α by the adaptive boundary moving method are added.・ Same as constants and operators (notation). α Truncated area ratio α or LPS allocated area ratio α ~ 74 q Probability of LPS q (= Qe / A) ~ 75 L0 Code length L0 ~ 76 L1 by adaptive area truncation method Code length L1 ~ 77 LEN0 by adaptive boundary moving method (Α) Code length at truncated region ratio α by adaptive region truncation method = −log 2 (1−α) −q × log 2 q− (1−q) × log 2 (1−q) LEN1 (α) Adaptive boundary Code length at LPS allocation area ratio α by moving method = −q × log 2 α− (1−q) × log 2 (1−α)
【0194】フローチャート図中の符号化開始時の初期
化処理であるINITENC、符号化の実処理であるE
NCODE、入力値YN11=1の処理であるCODE
YN1、入力値YN11=0の処理であるCODEYN
0、入力値YN11=1の処理であるCODEYN1E
X、入力値YN11=0の処理であるCODEYN0E
X、算術符号15eの出力処理であるBYTEOUT、
符号化のBバッファ36の更新処理であるNEXTBY
TE、符号化の後処理であるFLUSH、算術符号15
eの最終出力処理であるFINALBYTESは、適応
境界移動方式(実施例4)による算術符号化手段5dの
同名の各処理を行う。In the flowchart, INITINC which is initialization processing at the start of encoding, and E which is actual processing of encoding.
NCODE, CODE which is processing of input value YN11 = 1
CODEYN which is processing of YN1 and input value YN11 = 0
CODEYN1E which is processing of 0, input value YN11 = 1
X, CODEYN0E which is processing of input value YN11 = 0
X, BYTEOUT which is an output process of the arithmetic code 15e,
NEXTBY which is an update process of the encoding B buffer 36
TE, FLUSH post-coding, arithmetic code 15
FINALBYTES, which is the final output processing of e, performs each processing of the same name of the arithmetic coding means 5d by the adaptive boundary moving method (the fourth embodiment).
【0195】符号化の正規化処理であるRENORME
は図75、図76のように、Cvレジスタ値43がX’
0FF’(9ビット)でなければ、Aレジスタ35、U
レジスタ48を1ビット左にシフトさせる。Cレジスタ
値40が負の場合出力フラグが左シフト操作により最上
位ビットにセットされたことを示し、1バイトの算術符
号15dが出力可能になったことを意味する。そこで、
Cレジスタ40を1ビット左シフトさせた後に算術符号
15dをBバッファ36へ出力する出力処理BYTEO
UTを行う。負でなければCレジスタ40を1ビット左
シフトのみさせて1バイトの算術符号15dが出力可能
となるのを待つ。Aレジスタ値35が有効領域最小値A
min よりも小さいときには、Aレジスタ値35が有効領
域最小値Amin 以上になるまでCvレジスタ値43が
X’0FF’(9ビット)か否かの比較からの処理を繰
り返し、Aレジスタ値35が有効領域最小値Amin 以上
になったとき正規化終了と判断され、入力側のモデル・
確率発生器1が出力するLPS領域幅Qe14を次なる
確率状態でとるべきLPS領域幅Qe14に更新させ
る。Cvレジスタ値43がX’0FF’(9ビット)な
らば、桁上がり境界値T70に0をセットする。桁上が
り境界値T70により、非桁上がり領域幅R071は桁
上がり境界値T70とCxレジスタ値42との差、また
桁上がり領域幅R172はUレジスタ値48と桁上がり
境界値T70との差で表される。非桁上がり領域幅R0
71が有効領域幅を示すAレジスタ値35以上であると
き、Aレジスタ35、Uレジスタ48を1ビット左にシ
フトさせる。Cレジスタ値40が負の場合出力フラグが
左シフト操作により最上位ビットにセットされたことを
示し、1バイトの算術符号15dが出力可能になったこ
とを意味する。そこで、Cレジスタ40を1ビット左シ
フトさせた後に算術符号15dをBバッファ36へ出力
する出力処理BYTEOUTを行う。負でなければCレ
ジスタ40を1ビット左シフトのみさせて1バイトの算
術符号15dが出力可能となるのを待つ。Aレジスタ値
35が有効領域最小値Amin よりも小さいときには、A
レジスタ値35が有効領域最小値Amin 以上になるまで
Cvレジスタ値43がX’0FF’(9ビット)か否か
の比較からの処理を繰り返し、Aレジスタ値35が有効
領域最小値Amin 以上になったとき正規化終了と判断さ
れ、入力側のモデル・確率発生器1が出力するLPS領
域幅Qe14を次なる確率状態でとるべきLPS領域幅
Qe14に更新させる。非桁上がり領域幅R071が有
効領域幅を示すAレジスタ値35未満であるときに桁上
がり境界値T70が有効領域内に存在し、適応領域切捨
て方式または適応境界移動方式を適用する。非桁上がり
領域幅R071と桁上がり領域幅R172を比較し、非
桁上がり領域幅R071が桁上がり領域幅R172以下
ならば、非桁上がり領域幅R071の領域比率α74
(=非桁上がり領域幅R071/Aレジスタ値35)を
求め、適応領域切捨て方式による切捨て領域比率α74
における符号長L076と適応境界移動方式によるLP
S割当領域比率α74における符号長L177を計算
し、符号長L076が符号長L177より大きければ境
界移動フラグMFLG73に1をセットして正規化を強
制終了させ、入力側のモデル・確率発生器1が出力する
LPS領域幅Qe14を次なる確率状態でとるべきLP
S領域幅Qe14に更新させる。符号長L076が符号
長L177より大きくなければAレジスタ値35から非
桁上がり領域幅R071を減じ、Cレジスタ値40に非
桁上がり領域幅R071を加えることにより非桁上がり
領域R071を切り捨て、Aレジスタ35、Uレジスタ
48を1ビット左にシフトさせる。Cレジスタ値40が
負の場合出力フラグが左シフト操作により最上位ビット
にセットされたことを示し、1バイトの算術符号15d
が出力可能になったことを意味する。そこで、Cレジス
タ40を1ビット左シフトさせた後に算術符号15dを
Bバッファ36へ出力する出力処理BYTEOUTを行
う。負でなければCレジスタ40を1ビット左シフトの
みさせて1バイトの算術符号15dが出力可能となるの
を待つ。Aレジスタ値35が有効領域最小値Amin より
も小さいときには、Aレジスタ値35が有効領域最小値
Amin 以上になるまでCvレジスタ値43がX’0F
F’(9ビット)か否かの比較からの処理を繰り返し、
Aレジスタ値35が有効領域最小値Amin 以上になった
とき正規化終了と判断され、入力側のモデル・確率発生
器1が出力するLPS領域幅Qe14を次なる確率状態
でとるべきLPS領域幅Qe14に更新させる。非桁上
がり領域幅R071が桁上がり領域幅R172より大き
いならば、桁上がり領域幅R172の領域比率α74
(=非桁上がり領域幅R172/Aレジスタ値35)を
求め、適応領域切捨て方式による切捨て領域比率α74
における符号長L076と適応境界移動方式によるLP
S割当領域比率α76における符号長L177を計算
し、符号長L076が符号長L177より大きければ境
界移動フラグMFLG73に1をセットして正規化を強
制終了させ、入力側のモデル・確率発生器1が出力する
LPS領域幅Qe14を次なる確率状態でとるべきLP
S領域幅Qe14に更新させる。符号長L076が符号
長L177より大きくなければ、Aレジスタ値35から
桁上がり領域幅R172を減じ、Uレジスタ値48から
桁上がり領域幅R172を減じることにより桁上がり領
域R172を切り捨て、Aレジスタ35、Uレジスタ4
8を1ビット左にシフトさせる。Cレジスタ値40が負
の場合出力フラグが左シフト操作により最上位ビットに
セットされたことを示し、1バイトの算術符号15dが
出力可能になったことを意味する。そこで、Cレジスタ
40を1ビット左シフトさせた後に算術符号15dをB
バッファ36へ出力する出力処理BYTEOUTを行
う。負でなければCレジスタ40を1ビット左シフトの
みさせて1バイトの算術符号15dが出力可能となるの
を待つ。Aレジスタ値35が有効領域最小値Amin より
も小さいときには、Aレジスタ値35が有効領域最小値
Amin以上になるまでCvレジスタ値43がX’0F
F’(9ビット)か否かの比較からの処理を繰り返し、
Aレジスタ値35が有効領域最小値Amin 以上になった
とき正規化終了と判断され、入力側のモデル・確率発生
器1が出力するLPS領域幅Qe14を次なる確率状態
でとるべきLPS領域幅Qe14に更新させる。RENORME which is a normalization process of encoding
75 and 76, the Cv register value 43 is X ′
If it is not 0FF '(9 bits), A register 35, U
Shift register 48 left one bit. When the C register value 40 is negative, it indicates that the output flag has been set to the most significant bit by the left shift operation, which means that the one-byte arithmetic code 15d can be output. Therefore,
Output processing BYTEO that outputs arithmetic code 15d to B buffer 36 after shifting C register 40 left by 1 bit
Perform UT. If it is not negative, the C register 40 is shifted left by one bit only, and waits for the output of the 1-byte arithmetic code 15d. The A register value 35 is the effective area minimum value A
When the A register value 35 is smaller than the effective area minimum value Amin, the processing from the comparison as to whether the Cv register value 43 is X'0FF '(9 bits) is repeated until the A register value 35 becomes valid. When the value becomes equal to or more than the area minimum value Amin, it is determined that the normalization is completed, and the
The LPS region width Qe14 output from the probability generator 1 is updated to the LPS region width Qe14 to be taken in the next probability state. If the Cv register value 43 is X'0FF '(9 bits), 0 is set to the carry boundary value T70. By the carry boundary value T70, the non-carry region width R071 is represented by the difference between the carry boundary value T70 and the Cx register value 42, and the carry region width R172 is represented by the difference between the U register value 48 and the carry boundary value T70. Is done. Non-carry region width R0
When 71 is equal to or larger than the A register value 35 indicating the effective area width, the A register 35 and the U register 48 are shifted left by one bit. When the C register value 40 is negative, it indicates that the output flag has been set to the most significant bit by the left shift operation, which means that the one-byte arithmetic code 15d can be output. Therefore, an output process BYTEOUT for outputting the arithmetic code 15d to the B buffer 36 after shifting the C register 40 left by one bit is performed. If it is not negative, the C register 40 is shifted left by one bit only, and waits for the output of the 1-byte arithmetic code 15d. When the A register value 35 is smaller than the effective area minimum value Amin, A
Until the register value 35 becomes equal to or more than the effective area minimum value Amin, the processing from the comparison of whether the Cv register value 43 is X'0FF '(9 bits) is repeated, and the A register value 35 becomes equal to or more than the effective area minimum value Amin. Then, it is determined that the normalization is completed, and the LPS region width Qe14 output from the model / probability generator 1 on the input side is updated to the LPS region width Qe14 to be obtained in the next probability state. When the non-carry area width R071 is less than the A register value 35 indicating the effective area width, the carry boundary value T70 exists in the effective area, and the adaptive area truncation method or the adaptive boundary moving method is applied. The non-carry area width R071 is compared with the carry area width R172, and if the non-carry area width R071 is equal to or smaller than the carry area width R172, the area ratio α74 of the non-carry area width R071.
(= Non-carry area width R071 / A register value 35) is obtained, and the truncated area ratio α74 by the adaptive area truncation method is obtained.
Length L076 and LP by Adaptive Boundary Shift Method
The code length L177 at the S allocation area ratio α74 is calculated, and if the code length L076 is larger than the code length L177, the boundary movement flag MFLG73 is set to 1 to forcibly terminate the normalization, and the input side model / probability generator 1 LP to take the output LPS region width Qe14 in the next probability state
The S region width is updated to Qe14. If the code length L076 is not greater than the code length L177, the non-carry area R071 is subtracted from the A register value 35, and the non-carry area R071 is truncated by adding the non-carry area width R071 to the C register value 40, and the A register 35, shift the U register 48 left by one bit. If the C register value 40 is negative, it indicates that the output flag has been set to the most significant bit by the left shift operation, and the 1-byte arithmetic code 15d
Means that can be output. Therefore, an output process BYTEOUT for outputting the arithmetic code 15d to the B buffer 36 after shifting the C register 40 left by one bit is performed. If it is not negative, the C register 40 is shifted left by one bit only, and waits for the output of the 1-byte arithmetic code 15d. When the A register value 35 is smaller than the effective area minimum value Amin, the Cv register value 43 is set to X'0F until the A register value 35 becomes equal to or more than the effective area minimum value Amin.
The process from the comparison of whether or not F ′ (9 bits) is repeated,
When the A register value 35 becomes equal to or larger than the effective area minimum value Amin, it is determined that the normalization is completed, and the LPS area width Qe14 to be taken by the LPS area width Qe14 output from the input side model / probability generator 1 in the next probability state. To update. If the non-carry region width R071 is larger than the carry region width R172, the region ratio α74 of the carry region width R172
(= Non-carry area width R172 / A register value 35) is obtained, and the truncated area ratio α74 by the adaptive area truncation method is obtained.
Length L076 and LP by Adaptive Boundary Shift Method
The code length L177 at the S allocation area ratio α76 is calculated, and if the code length L076 is larger than the code length L177, the boundary movement flag MFLG73 is set to 1 to forcibly terminate the normalization, and the input side model / probability generator 1 LP to take the output LPS region width Qe14 in the next probability state
The S region width Qe14 is updated. If the code length L076 is not greater than the code length L177, the carry area width R172 is subtracted from the A register value 35, and the carry area R172 is truncated by subtracting the carry area width R172 from the U register value 48. U register 4
8 is shifted one bit to the left. When the C register value 40 is negative, it indicates that the output flag has been set to the most significant bit by the left shift operation, which means that the one-byte arithmetic code 15d can be output. Therefore, after shifting the C register 40 left by one bit, the arithmetic code 15d is changed to B
Output processing BYTEOUT for outputting to the buffer 36 is performed. If it is not negative, the C register 40 is shifted left by one bit only, and waits for the output of the 1-byte arithmetic code 15d. When the A register value 35 is smaller than the effective area minimum value Amin, the Cv register value 43 is set to X'0F until the A register value 35 becomes equal to or more than the effective area minimum value Amin.
The process from the comparison of whether or not F ′ (9 bits) is repeated,
When the A register value 35 becomes equal to or larger than the effective area minimum value Amin, it is determined that the normalization is completed, and the LPS area width Qe14 to be taken by the LPS area width Qe14 output from the input side model / probability generator 1 in the next probability state. To update.
【0196】効率最大化方式による算術復号器3eは図
74のように、復号を効率最大化方式による算術復号手
段6eで示されるフローチャート図に沿って行う。IN
ITDEC、MPS,Qeの獲得、DECODEの機能
は図87における毎回1ビット挿入方式(従来例)によ
る算術復号手段6aで果たす機能と同様である。As shown in FIG. 74, the arithmetic decoder 3e based on the maximum efficiency method performs decoding according to the flowchart shown by the arithmetic decoding means 6e using the maximum efficiency method. IN
The functions of ITDEC, MPS, acquisition of Qe, and DECODE are the same as the functions performed by the arithmetic decoding means 6a by the 1-bit insertion method (conventional example) every time in FIG.
【0197】効率最大化方式による算術復号器3eは復
号過程でも符号を構成するためCレジスタ40(Ceレ
ジスタ41、Cxレジスタ42、Cvレジスタ43、C
bレジスタ44、Cyレジスタ45、Csレジスタ4
6、Cfレジスタ47)とUレジスタ48、Aレジスタ
35、Dレジスタ60(Dnレジスタ61、Deレジス
タ62、Dxレジスタ63、Dvレジスタ64、Dsレ
ジスタ65)の仕様は、適応境界移動方式(実施例4)
による算術符号器3dのレジスタ仕様と同様である。The arithmetic decoder 3e based on the efficiency maximizing method uses the C register 40 (Ce register 41, Cx register 42, Cv register 43, C
b register 44, Cy register 45, Cs register 4
6, Cf register 47), U register 48, A register 35, and D register 60 (Dn register 61, De register 62, Dx register 63, Dv register 64, Ds register 65) are based on the adaptive boundary moving method (the embodiment). 4)
Is the same as the register specification of the arithmetic encoder 3d.
【0198】効率最大化方式による算術復号手段6eで
の復号処理をフローチャート図を示して説明する。フロ
ーチャート図の中で使用される変数・定数・演算子(表
記)は、効率最大化方式による算術符号化手段5eと同
様に切捨て領域比率またはLPS割当領域比率であるα
74、LPSの出現確率q75、適応領域切捨て方式に
よる符号長L076、適応境界移動方式による符号長L
177、適応領域切捨て方式による切捨て領域比率αに
おける符号長LEN0、適応境界移動方式によるLPS
割当領域比率αにおける符号長LEN1を加える以外は
適応境界移動方式(実施例4)による算術復号手段6d
で使用される変数・定数・演算子(表記)と同様であ
る。The decoding processing by the arithmetic decoding means 6e according to the efficiency maximizing method will be described with reference to a flowchart. Variables, constants, and operators (notations) used in the flowchart are α, which are truncated area ratios or LPS assigned area ratios, as in the arithmetic coding unit 5e using the maximum efficiency method.
74, appearance probability q75 of LPS, code length L076 by adaptive region truncation method, code length L by adaptive boundary moving method
177, code length LEN0 at truncated area ratio α by adaptive area truncation method, LPS by adaptive boundary moving method
Arithmetic decoding means 6d by the adaptive boundary moving method (fourth embodiment) except that the code length LEN1 at the allocation area ratio α is added.
Are the same as variables, constants, and operators (notation) used in.
【0199】フローチャート図中の復号開始時の初期化
処理であるINITDEC、復号の実処理であるDEC
ODE、算術符号15eの入力処理であるBYTEI
N、復号のBバッファ55の更新処理であるGETBY
TEは、適応境界移動方式(実施例4)による算術復号
手段6dの同名の処理を行う。In the flowchart, INITDEC which is initialization processing at the start of decoding, and DEC which is actual decoding processing
BYTEI which is an input process of ODE and arithmetic code 15e
N, GETBY which is an update process of the decryption B buffer 55
The TE performs the process of the same name of the arithmetic decoding means 6d by the adaptive boundary moving method (the fourth embodiment).
【0200】復号の正規化処理であるRENORMDは
図77、図78のように、Aレジスタ35、Uレジスタ
48の左シフトと同時にDレジスタ60も左シフトさ
せ、算術符号15eの出力処理であるBYTEOUTの
代わりに算術符号15eの入力処理であるBYTEIN
を行い、入力側のモデル・確率発生器1を出力側のモデ
ル・確率発生器4、LPS領域幅Qe14をLPS領域
幅19とする以外は、効率最大化方式による算術符号化
手段5eの符号化の正規化処理RENORMEと同様の
処理内容を行う。As shown in FIGS. 77 and 78, RENORMD, which is a normalization process for decoding, shifts the D register 60 to the left simultaneously with the left shift of the A register 35 and the U register 48, and BYTEOUT which is the output process of the arithmetic code 15e. BYTEIN which is the input processing of the arithmetic code 15e instead of
And the coding of the arithmetic coding means 5e by the maximum efficiency method except that the input side model / probability generator 1 is the output side model / probability generator 4 and the LPS region width Qe14 is the LPS region width 19. The same processing contents as the normalization processing RENORME are performed.
【0201】以上のように、この実施例では、正規化の
途中でCレジスタの特定部分に所定ビットパターンが出
現し、後の桁上がり発生によりビットパターンが反転す
る可能性が有ると判定された場合に有効領域を桁上がり
境界で桁上がり領域と非桁上がり領域に分離し、より小
さい領域の有効領域に占める領域比率αを求め、適応領
域切捨て方式(実施例3)による切捨て領域比率αにお
ける符号長L0と適応境界移動方式(実施例4)による
LPS割当領域比率αにおける符号長L1から次シンボ
ルまで含めた符号長の期待値を小さく実現できる方式を
適用する。その符号長L0,L1は各領域比率αと次シ
ンボルに対するLPS出現確率qから次式LEN0,L
EN1により計算される。 L0=LEN0(α)=−log2 (1−α)−q×log2 q −(1−q)×log2 (1−q) L1=LEN1(α)=−q×log2 α−(1−q)×log2 (1−α) 領域比率αは0≦α≦0.5、LPS出現確率qは0≦
q≦0.5の範囲でとることができる。As described above, in this embodiment, it has been determined that a predetermined bit pattern appears in a specific portion of the C register during normalization, and that there is a possibility that the bit pattern will be inverted due to the occurrence of a subsequent carry. In this case, the effective area is separated into a carry area and a non-carry area at the carry boundary, and the area ratio α of the smaller area in the effective area is determined. A method that can realize a small expected value of the code length including the code length L1 to the next symbol in the LPS allocation area ratio α by the code length L0 and the adaptive boundary moving method (the fourth embodiment) is applied. The code lengths L0 and L1 are obtained from the following equations LEN0 and LEN based on each area ratio α and the LPS appearance probability q for the next symbol.
Calculated by EN1. L0 = LEN0 (α) = − log 2 (1−α) −q × log 2 q− (1−q) × log 2 (1−q) L1 = LEN1 (α) = − q × log 2 α− ( 1−q) × log 2 (1−α) The area ratio α is 0 ≦ α ≦ 0.5, and the LPS appearance probability q is 0 ≦
It can be taken in the range of q ≦ 0.5.
【0202】理論符号長L0,L1は図79のように、
LPS出現確率qを0,0.1,0.3,0.5とした
とき領域比αに対して表すことができる。LPS出現確
率の値が決まったとき実線で示される曲線をとる方式を
適用すれば最適な方式選択が実現できる。The theoretical code lengths L0 and L1 are as shown in FIG.
When the LPS appearance probability q is set to 0, 0.1, 0.3, 0.5, it can be expressed with respect to the area ratio α. When the value of the LPS appearance probability is determined, an optimal method can be selected by applying a method that takes a curve indicated by a solid line.
【0203】次に、従来方式である毎回1ビット挿入方
式と本実施例とを比較する。下界値の上位ビットが01
・・・11で上界値の上位ビットが10・・・00であ
るというのが、本方式の桁上がり制御の条件であるが、
毎回1ビット挿入方式では下界値の上位ビットが01・
・・10で上界値の上位ビットが01・・・11であり
結果的に桁上がりが生じた場合(確率1/2と仮定)を
も含むことになると考えられるので、本方式の桁上がり
制御頻度は毎回1ビット挿入方式の約2/3とみなせ
る。また、制御に伴う符号長のロスは、毎回1ビット挿
入方式が常に1ビットであるのに対し、効率最大化方式
ではαとqの分布を一様と仮定すると約0.12ビット
となる。従って全体としては桁上がり制御に伴う符号長
のロスをこれまでの約1/12に短縮できると推測でき
る。Next, the present embodiment is compared with the conventional one-bit insertion method every time. Upper bit of lower bound value is 01
.. 11, the upper bit of the upper bound value is 10... 00, which is the condition of the carry control of this method.
In the 1-bit insertion method, the upper bit of the lower bound value is 01 ·
···························································································································· The control frequency can be regarded as about 2/3 of the 1-bit insertion method every time. Further, the loss of the code length due to the control is about 0.12 bits assuming that the distribution of α and q is uniform in the efficiency maximization method, while the 1-bit insertion method is always 1 bit each time. Therefore, it can be estimated that the loss of the code length due to the carry control can be reduced to about 1/12 of the conventional level.
【0204】以上のように、この実施例では、情報源か
らの入力データの入力に対して、入力値YNと前記入力
値YNの出現に先立つ予測値MPSという情報と非予測
値LPSに割り当てる領域幅Qeという情報を出力し、
正規化が行われたとき前記非予測値LPSの確率状態を
遷移させ、前記LPS領域幅Qe(またはそのインデク
ス)を更新する入力側のモデル・確率発生器と、復号さ
れる出力値YNに対して、前記出力値YNの出現に先立
つ予測値MPSという情報と非予測値LPSに割り当て
る領域幅Qeという情報を出力し、この値を基に前記出
力値YNを得て出力データを出力し正規化が行われたと
き前記非予測値LPSの確率状態を遷移させ、前記LP
S領域幅Qe(またはそのインデクス)を更新する出力
側のモデル・確率発生器とを備えた符号伝送装置におい
て、前記入力側のモデル・確率発生器が出力するYNの
予測値MPSとLPS領域幅Qeの入力に対して、確率
数直線(0以上1未満)上の有効領域幅であるAレジス
タ値を前記非予測値LPSの領域幅Qeと前記予測値M
PSの領域幅A−Qeとに分割し、前記入力値YNと前
記予測値MPSが一致したときは新たな前記有効領域幅
AにA−Qeを割り当てることにより更新し、異なると
きは新たな前記有効領域幅AにQeを割り当てることに
より更新し、Cレジスタ値、Uレジスタ値を新たに割り
当てられた有効領域の下界値、上界値となるようにそれ
ぞれ演算して更新し、新たな有効領域が設定された有効
領域最小値より小さくなったときに行われる正規化の途
中で前記Cレジスタの特定部分に所定のビットパターン
が出現し、後の桁上がり発生により該ビットパターンが
反転する可能性が有ると判定された場合に有効領域を桁
上がり境界Tで桁上がり領域R1と非桁上がり領域R0
に分離し、より小さい領域の有効領域に占める領域比率
αを求め、適応領域切捨て方式による切捨て領域比率α
における符号長L0と適応境界移動方式によるLPS割
当領域比率αにおける符号長L1を計算し、符号長L1
が符号長L0未満ならば適応境界移動方式を適用し、次
シンボルの劣勢シンボルに対応する領域に桁上がり領域
R1と非桁上がり領域R0のうち小さい領域、優勢シン
ボルに残る領域を割り当て、一方、符号長L1が符号長
L0以上ならば適応領域切捨て方式を適用し、桁上がり
領域R1と非桁上がり領域R0のうち小さい領域を切り
捨て、残る領域を有効領域に修正し、前記入力側のモデ
ル・確率発生器からの入力が終了するまで該分割・割当
・修正処理を逐次的に繰り返し前記算術符号を送出する
効率最大化方式による算術符号器と、前記適応領域切捨
て方式による算術符号器から送出された前記算術符号お
よび復号すべき前記出力値YNに対する前記予測値MP
Sと前記LPS領域幅Qeの入力に対して、確率数直線
上の有効領域幅であるAレジスタ値を前記非予測値LP
Sの領域幅Qeと前記予測値MPSの領域幅A−Qeと
に分割し、受信した算術符号を示すDレジスタ値がCレ
ジスタ値と前記非予測値LPSの領域幅Qeの和以上の
ときは前記出力値YNを前記予測値MPSと判断して復
号し、新たな前記有効領域幅AにA−Qeを割り当てる
ことにより更新し、Cレジスタ値と前記非予測値LPS
の領域幅Qeの和未満のときは前記出力値YNを前記非
予測値LPSと判断して復号し、新たな前記有効領域幅
AにQeを割り当てることにより更新し、Cレジスタ
値、Uレジスタ値を新たに割り当てられた有効領域の下
界値、上界値となるようにそれぞれ演算して更新し、新
たな有効領域が設定された有効領域最小値より小さくな
ったときに行われる正規化の途中で前記Cレジスタの特
定部分に所定のビットパターンが出現し、後の桁上がり
発生により該ビットパターンが反転する可能性が有ると
判定された場合に有効領域を桁上がり境界Tで桁上がり
領域R1と非桁上がり領域R0に分離し、より小さい領
域の有効領域に占める領域比率αを求め、適応領域切捨
て方式による切捨て領域比率αにおける符号長L0と適
応境界移動方式によるLPS割当領域比率αにおける符
号長L1を計算し、符号長L1が符号長L0未満ならば
適応境界移動方式を適用し、次シンボルの劣勢シンボル
に対応する領域に桁上がり領域R1と非桁上がり領域R
0のうち小さい領域、優勢シンボルに残る領域を割り当
て、一方、符号長L1が符号長L0以上ならば適応領域
切捨て方式を適用し、桁上がり領域R1と非桁上がり領
域R0のうち小さい領域を切り捨て、残る領域を有効領
域に修正し、前記算術符号から復号した前記出力値YN
の出力が終了するまで該分割・割当処理を逐次的に繰り
返す効率最大化方式による算術復号器とを設けることを
特徴とする符号伝送装置を説明した。As described above, in this embodiment, in response to the input of the input data from the information source, the input value YN, the information of the predicted value MPS prior to the appearance of the input value YN, and the area to be assigned to the non-predicted value LPS. Outputs information of width Qe,
When the normalization is performed, the probability state of the non-predicted value LPS is transited, and the input side model / probability generator for updating the LPS region width Qe (or its index), and the decoded output value YN Then, information of a predicted value MPS prior to the appearance of the output value YN and information of a region width Qe to be assigned to the non-predicted value LPS are output, and the output value YN is obtained based on this value, and output data is output and normalized. Is performed, the probability state of the non-predicted value LPS is changed,
In a code transmission apparatus including an output-side model / probability generator for updating an S region width Qe (or an index thereof), a predicted value MPS and an LPS region width of YN output from the input-side model / probability generator In response to the input of Qe, the A register value, which is the effective area width on the probability number straight line (0 or more and less than 1), is calculated using the area width Qe of the non-predicted value LPS and the predicted value M
When the input value YN and the predicted value MPS match, the data is updated by allocating A-Qe to the new effective area width A, and when the input value YN and the predicted value MPS are different, the new effective area width A is updated. The effective area width A is updated by allocating Qe, and the C register value and the U register value are respectively operated and updated to become the lower bound value and the upper bound value of the newly assigned effective area, respectively. During the normalization performed when is smaller than the set effective area minimum value, a predetermined bit pattern may appear in a specific portion of the C register, and the bit pattern may be inverted due to a subsequent carry. Is determined to exist, the effective area is shifted to the carry boundary T by a carry area R1 and a non-carry area R0.
And the area ratio α of the smaller area in the effective area is obtained, and the truncated area ratio α by the adaptive area truncation method is obtained.
And the code length L1 at the LPS allocation area ratio α by the adaptive boundary moving method are calculated, and the code length L1
Is smaller than the code length L0, the adaptive boundary moving method is applied, and a smaller region of the carry region R1 and the non-carry region R0, a region remaining in the superior symbol, is assigned to the region corresponding to the inferior symbol of the next symbol. If the code length L1 is equal to or longer than the code length L0, the adaptive region truncation method is applied, a smaller region of the carry region R1 and the non-carry region R0 is truncated, and the remaining region is corrected to an effective region. The division / assignment / correction processing is sequentially repeated until the input from the probability generator is completed.The arithmetic encoder based on the efficiency maximizing method for transmitting the arithmetic code and the arithmetic encoder based on the adaptive region truncation method are used. The predicted value MP for the arithmetic code and the output value YN to be decoded
In response to the input of S and the LPS area width Qe, the A register value which is the effective area width on the probability number line is changed to the non-predicted value LP
S is divided into the area width Qe of S and the area width A-Qe of the predicted value MPS, and when the D register value indicating the received arithmetic code is equal to or greater than the sum of the C register value and the area width Qe of the non-predicted value LPS, The output value YN is determined and decoded as the predicted value MPS, updated by allocating A-Qe to the new effective area width A, and the C register value and the non-predicted value LPS are updated.
When the output value YN is less than the sum of the region widths Qe, the output value YN is determined as the non-predicted value LPS, decoded, updated by assigning Qe to the new effective region width A, and the C register value and the U register value are updated. Is calculated and updated so as to be the lower and upper bounds of the newly assigned effective area, and during the normalization performed when the new effective area becomes smaller than the set effective area minimum value. When a predetermined bit pattern appears in a specific portion of the C register, and it is determined that there is a possibility that the bit pattern is inverted due to the occurrence of a subsequent carry, the valid area is changed to a carry area R1 at a carry boundary T. And the non-carry region R0, and the area ratio α of the smaller area in the effective area is obtained, and the code length L0 at the truncated area ratio α by the adaptive area truncation method and the adaptive boundary moving method The code length L1 at the LPS allocation area ratio α is calculated, and if the code length L1 is less than the code length L0, the adaptive boundary moving method is applied, and the carry area R1 and the non-carry area are applied to the area corresponding to the next inferior symbol. R
0, a region remaining in the dominant symbol is allocated. On the other hand, if the code length L1 is equal to or greater than the code length L0, the adaptive region truncation method is applied, and the smaller region of the carry region R1 and the non-carry region R0 is truncated. , The remaining area is corrected to an effective area, and the output value YN decoded from the arithmetic code
A code transmission apparatus characterized by providing an arithmetic decoder employing an efficiency maximization method for sequentially repeating the division / allocation processing until the output of the code transmission is completed.
【0205】実施例6. 上記実施例5では、正規化の途中でCレジスタの特定部
分に所定ビットパターンが出現し、後の桁上がり発生に
よりビットパターンが反転する可能性が有ると判定され
た場合に有効領域を桁上がり境界で桁上がり領域と非桁
上がり領域に分離し、より小さい領域の有効領域に占め
る領域比率αを求め、適応領域切捨て方式(実施例3)
による切捨て領域比率αにおける符号長L0と適応境界
移動方式(実施例4)によるLPS割当領域比率αにお
ける符号長L1から次シンボルまで含めた符号長の期待
値を小さく実現できる方式を適用するが、符号長L0,
L1の対数計算による負荷はかなり大きいものとなる。Embodiment 6 FIG. In the fifth embodiment, when a predetermined bit pattern appears in a specific portion of the C register during normalization, and it is determined that there is a possibility that the bit pattern is inverted due to the occurrence of a subsequent carry, the effective area is raised. Adaptive region truncation method in which a carry region and a non-carry region are separated at a boundary, and an area ratio α of the smaller area in the effective area is obtained.
A method that can realize a small expected value of the code length including the code length L0 from the code length L1 in the LPS allocation area ratio α according to the adaptive boundary moving method (the fourth embodiment) to the next symbol is applied. Code length L0,
The load due to the logarithmic calculation of L1 is quite large.
【0206】そこで、この実施例(第13の発明に関す
る)では、効率最大化方式(実施例5)における理論的
な符号長の比較を行わずに、算術符号系列中に所定のビ
ットパターンを検出し、後の算術符号化演算の際に発生
する桁上がりにより検出されたビットパターン01・・
・1が反転する可能性が有りと判定されたとき、適応領
域切捨て方式(実施例3)の切捨て領域の比率と適応境
界移動方式(実施例4)のLPS割当領域の比率と固定
または簡易な計算により得られるしきい値との比較によ
り適用する方式を選択する効率最大化方式について説明
する。すなわち、最適な切替えは複雑な計算を伴うた
め、ここでは、簡易な方式として方式選択のしきい値α
1を固定値または簡易に計算して得られる値THとする
方式を説明する。しきい値THとしては例えば0.2,
q,q/2などが挙げられる。Therefore, in this embodiment (related to the thirteenth invention), a predetermined bit pattern is detected in an arithmetic code sequence without comparing theoretical code lengths in the efficiency maximizing method (embodiment 5). And a bit pattern 01... Detected by a carry generated in a later arithmetic coding operation.
When it is determined that there is a possibility that 1 is inverted, the ratio of the truncated region of the adaptive region truncation method (the third embodiment) and the ratio of the LPS allocation region of the adaptive boundary moving method (the fourth embodiment) are fixed or simple. An efficiency maximizing method for selecting a method to be applied by comparison with a threshold value obtained by calculation will be described. In other words, since the optimal switching involves complicated calculations, here, the method selection threshold α is used as a simple method.
A method of setting 1 to a fixed value or a value TH obtained by simple calculation will be described. As the threshold value TH, for example, 0.2,
q, q / 2 and the like.
【0207】領域比率と固定の(または簡易な計算によ
り得られる)しきい値との比較により適用する方式を選
択する効率最大化方式による算術符号化手段5eでの符
号化処理をフローチャート図を示して説明する。フロー
チャート図の中で使用される変数・定数・演算子(表
記)は、適応領域切捨て方式による符号長L0、適応境
界移動方式による符号長L1、および適応領域切捨て方
式による切捨て領域比率αにおける符号長LEN0、適
応境界移動方式によるLPS割当領域比率αにおける符
号長LEN1を使わず、方式選択のしきい値THを加え
る以外は効率最大化方式(実施例5)による算術符号化
手段5eの変数・定数・演算子(表記)と同様である。
なお、方式選択のしきい値THは0.2に固定した場合
について説明する。 TH 方式選択のしきい値 〜78A flowchart showing the encoding processing by the arithmetic encoding means 5e according to the efficiency maximizing method for selecting a method to be applied by comparing the area ratio with a fixed (or obtained by a simple calculation) threshold value is shown. Will be explained. The variables, constants, and operators (notation) used in the flowchart are the code length L0 according to the adaptive region truncation method, the code length L1 according to the adaptive boundary moving method, and the code length at the truncated region ratio α according to the adaptive region truncation method. LEN0, Variables / constants of arithmetic coding means 5e by the efficiency maximizing method (Embodiment 5) except that the code length LEN1 at the LPS allocation area ratio α by the adaptive boundary moving method is not used and a threshold value TH for selecting the method is added.・ Same as operator (notation).
The case where the threshold value TH for selecting the method is fixed to 0.2 will be described. TH method selection threshold ~ 78
【0208】フローチャート図中の符号化の実処理であ
るENCODE、入力値YN11=1の処理であるCO
DEYN1、入力値YN11=0の処理であるCODE
YN0、入力値YN11=1の処理であるCODEYN
1EX、入力値YN11=0の処理であるCODEYN
0EX、算術符号15eの出力処理であるBYTEOU
T、符号化のBバッファ36の更新処理であるNEXT
BYTE、符号化の後処理であるFLUSH、算術符号
15eの最終出力処理であるFINALBYTESは、
効率最大化方式(実施例5)による算術符号化手段5e
の同名の各処理を行う。In the flowchart, ENCODE is an actual process of encoding, and CO is a process of input value YN11 = 1.
CODE which is the processing of DEYN1 and input value YN11 = 0
CODEYN which is processing of YN0 and input value YN11 = 1
CODEYN which is processing of 1EX, input value YN11 = 0
BYTEOU which is the output processing of 0EX and the arithmetic code 15e
T, NEXT which is an update process of the encoding B buffer 36
BYTE, FLUSH, which is post-coding processing, and FINALBYTES, which is the final output processing of the arithmetic code 15e,
Arithmetic encoding means 5e using the efficiency maximizing method (Embodiment 5)
Perform each process of the same name.
【0209】符号化開始時の初期化処理であるINIT
ENCは図80のように、方式選択のしきい値TH78
を0.2にセットする以外は効率最大化方式(実施例
5)による算術符号化手段5eの同名の処理と同様の処
理内容を行う。INIT which is an initialization process at the start of encoding
ENC is a threshold value TH78 for system selection as shown in FIG.
Is set to 0.2, the same processing content as the processing of the same name of the arithmetic coding means 5e by the efficiency maximizing method (Embodiment 5) is performed.
【0210】符号化の正規化処理であるRENORME
は図81、図82のように、Cvレジスタ値43がX’
0FF’(9ビット)でなければ、Aレジスタ35、U
レジスタ48を1ビット左にシフトさせる。Cレジスタ
値40が負の場合出力フラグが左シフト操作により最上
位ビットにセットされたことを示し、1バイトの算術符
号15dが出力可能になったことを意味する。そこで、
Cレジスタ40を1ビット左シフトさせた後に算術符号
15dをBバッファ36へ出力する出力処理BYTEO
UTを行う。負でなければCレジスタ40を1ビット左
シフトのみさせて1バイトの算術符号15dが出力可能
となるのを待つ。Aレジスタ値35が有効領域最小値A
min よりも小さいときには、Aレジスタ値35が有効領
域最小値Amin 以上になるまでCvレジスタ値43が
X’0FF’(9ビット)か否かの比較からの処理を繰
り返し、Aレジスタ値35が有効領域最小値Amin 以上
になったとき正規化終了と判断され、入力側のモデル・
確率発生器1が出力するLPS領域幅Qe14を次なる
確率状態でとるべきLPS領域幅Qe14に更新させ
る。Cvレジスタ値43がX’0FF’(9ビット)な
らば、桁上がり境界値T70に0をセットする。桁上が
り境界値T70により、非桁上がり領域幅R071は桁
上がり境界値T70とCxレジスタ値42との差、また
桁上がり領域幅R172はUレジスタ値48と桁上がり
境界値T70との差で表される。非桁上がり領域幅R0
71が有効領域幅を示すAレジスタ値35以上であると
き、Aレジスタ35、Uレジスタ48を1ビット左にシ
フトさせる。Cレジスタ値40が負の場合出力フラグが
左シフト操作により最上位ビットにセットされたことを
示し、1バイトの算術符号15dが出力可能になったこ
とを意味する。そこで、Cレジスタ40を1ビット左シ
フトさせた後に算術符号15dをBバッファ36へ出力
する出力処理BYTEOUTを行う。負でなければCレ
ジスタ40を1ビット左シフトのみさせて1バイトの算
術符号15dが出力可能となるのを待つ。Aレジスタ値
35が有効領域最小値Amin よりも小さいときには、A
レジスタ値35が有効領域最小値Amin 以上になるまで
Cvレジスタ値43がX’0FF’(9ビット)か否か
の比較からの処理を繰り返し、Aレジスタ値35が有効
領域最小値Amin 以上になったとき正規化終了と判断さ
れ、入力側のモデル・確率発生器1が出力するLPS領
域幅Qe14を次なる確率状態でとるべきLPS領域幅
Qe14に更新させる。非桁上がり領域幅R071が有
効領域幅を示すAレジスタ値35未満であるときに桁上
がり境界値T70が有効領域内に存在し、適応領域切捨
て方式または適応境界移動方式を適用する。非桁上がり
領域幅R071と桁上がり領域幅R172を比較し、非
桁上がり領域幅R071が桁上がり領域幅R172以下
ならば、非桁上がり領域幅R071の領域比率α74
(=非桁上がり領域幅R071/Aレジスタ値35)を
求め、非桁上がり領域幅R071の領域比率α74が方
式選択のしきい値TH78以上ならば境界移動フラグM
FLG73に1をセットして正規化を強制終了させ、入
力側のモデル・確率発生器1が出力するLPS領域幅Q
e14を次なる確率状態でとるべきLPS領域幅Qe1
4に更新させる。非桁上がり領域幅R071の領域比率
α74が方式選択のしきい値TH78未満ならばAレジ
スタ値35から非桁上がり領域幅R071を減じ、Cレ
ジスタ値40に非桁上がり領域幅R071を加えること
により非桁上がり領域R071を切り捨て、Aレジスタ
35、Uレジスタ48を1ビット左にシフトさせる。C
レジスタ値40が負の場合出力フラグが左シフト操作に
より最上位ビットにセットされたことを示し、1バイト
の算術符号15dが出力可能になったことを意味する。
そこで、Cレジスタ40を1ビット左シフトさせた後に
算術符号15dをBバッファ36へ出力する出力処理B
YTEOUTを行う。負でなければCレジスタ40を1
ビット左シフトのみさせて1バイトの算術符号15dが
出力可能となるのを待つ。Aレジスタ値35が有効領域
最小値Amin よりも小さいときには、Aレジスタ値35
が有効領域最小値Amin 以上になるまでCvレジスタ値
43がX’0FF’(9ビット)か否かの比較からの処
理を繰り返し、Aレジスタ値35が有効領域最小値Ami
n 以上になったとき正規化終了と判断され、入力側のモ
デル・確率発生器1が出力するLPS領域幅Qe14を
次なる確率状態でとるべきLPS領域幅Qe14に更新
させる。非桁上がり領域幅R071が桁上がり領域幅R
172より大きいならば、桁上がり領域幅R172の領
域比率α74(=非桁上がり領域幅R172/Aレジス
タ値35)を求め、桁上がり領域幅R172の領域比率
α74が方式選択のしきい値TH78以上ならば境界移
動フラグMFLG73に1をセットして正規化を強制終
了させ、入力側のモデル・確率発生器1が出力するLP
S領域幅Qe14を次なる確率状態でとるべきLPS領
域幅Qe14に更新させる。桁上がり領域幅R172の
領域比率α74が方式選択のしきい値TH78未満なら
ばAレジスタ値35から桁上がり領域幅R172を減
じ、Uレジスタ値48から桁上がり領域幅R172を減
じることにより桁上がり領域R172を切り捨て、Aレ
ジスタ35、Uレジスタ48を1ビット左にシフトさせ
る。Cレジスタ値40が負の場合出力フラグが左シフト
操作により最上位ビットにセットされたことを示し、1
バイトの算術符号15dが出力可能になったことを意味
する。そこで、Cレジスタ40を1ビット左シフトさせ
た後に算術符号15dをBバッファ36へ出力する出力
処理BYTEOUTを行う。負でなければCレジスタ4
0を1ビット左シフトのみさせて1バイトの算術符号1
5dが出力可能となるのを待つ。Aレジスタ値35が有
効領域最小値Amin よりも小さいときには、Aレジスタ
値35が有効領域最小値Amin 以上になるまでCvレジ
スタ値43がX’0FF’(9ビット)か否かの比較か
らの処理を繰り返し、Aレジスタ値35が有効領域最小
値Amin 以上になったとき正規化終了と判断され、入力
側のモデル・確率発生器1が出力するLPS領域幅Qe
14を次なる確率状態でとるべきLPS領域幅Qe14
に更新させる。RENORME which is a normalization process of encoding
81 and 82 show that the Cv register value 43 is X '
If it is not 0FF '(9 bits), A register 35, U
Shift register 48 left one bit. When the C register value 40 is negative, it indicates that the output flag has been set to the most significant bit by the left shift operation, which means that the one-byte arithmetic code 15d can be output. Therefore,
Output processing BYTEO that outputs arithmetic code 15d to B buffer 36 after shifting C register 40 left by 1 bit
Perform UT. If it is not negative, the C register 40 is shifted left by one bit only, and waits for the output of the 1-byte arithmetic code 15d. The A register value 35 is the effective area minimum value A
When the A register value 35 is smaller than the effective area minimum value Amin, the processing from the comparison as to whether the Cv register value 43 is X'0FF '(9 bits) is repeated until the A register value 35 becomes valid. When the value becomes equal to or more than the area minimum value Amin, it is determined that the normalization is completed, and the
The LPS region width Qe14 output from the probability generator 1 is updated to the LPS region width Qe14 to be taken in the next probability state. If the Cv register value 43 is X'0FF '(9 bits), 0 is set to the carry boundary value T70. By the carry boundary value T70, the non-carry region width R071 is represented by the difference between the carry boundary value T70 and the Cx register value 42, and the carry region width R172 is represented by the difference between the U register value 48 and the carry boundary value T70. Is done. Non-carry region width R0
When 71 is equal to or larger than the A register value 35 indicating the effective area width, the A register 35 and the U register 48 are shifted left by one bit. When the C register value 40 is negative, it indicates that the output flag has been set to the most significant bit by the left shift operation, which means that the one-byte arithmetic code 15d can be output. Therefore, an output process BYTEOUT for outputting the arithmetic code 15d to the B buffer 36 after shifting the C register 40 left by one bit is performed. If it is not negative, the C register 40 is shifted left by one bit only, and waits for the output of the 1-byte arithmetic code 15d. When the A register value 35 is smaller than the effective area minimum value Amin, A
Until the register value 35 becomes equal to or more than the effective area minimum value Amin, the processing from the comparison of whether the Cv register value 43 is X'0FF '(9 bits) is repeated, and the A register value 35 becomes equal to or more than the effective area minimum value Amin. Then, it is determined that the normalization is completed, and the LPS region width Qe14 output from the model / probability generator 1 on the input side is updated to the LPS region width Qe14 to be obtained in the next probability state. When the non-carry area width R071 is less than the A register value 35 indicating the effective area width, the carry boundary value T70 exists in the effective area, and the adaptive area truncation method or the adaptive boundary moving method is applied. The non-carry area width R071 is compared with the carry area width R172, and if the non-carry area width R071 is equal to or smaller than the carry area width R172, the area ratio α74 of the non-carry area width R071.
(= Non-carry area width R071 / A register value 35) is obtained, and if area ratio α74 of non-carry area width R071 is equal to or greater than threshold value TH78 for method selection, boundary movement flag M
The normalization is forcibly terminated by setting 1 to FLG73, and the LPS region width Q output by the input model / probability generator 1
LPS region width Qe1 to take e14 in the next probability state
Update to 4. If the area ratio α74 of the non-carry area width R071 is smaller than the threshold value TH78 of the method selection, the non-carry area width R071 is subtracted from the A register value 35, and the non-carry area width R071 is added to the C register value 40. The non-carry region R071 is truncated, and the A register 35 and the U register 48 are shifted one bit to the left. C
When the register value 40 is negative, it indicates that the output flag has been set to the most significant bit by the left shift operation, which means that the 1-byte arithmetic code 15d has become available for output.
Therefore, an output process B that outputs the arithmetic code 15d to the B buffer 36 after shifting the C register 40 left by one bit
Perform YTEOUT. If not negative, set C register 40 to 1
It waits until the 1-bit arithmetic code 15d can be output by shifting only the bits to the left. When the A register value 35 is smaller than the effective area minimum value Amin, the A register value 35
The processing from the comparison of whether the Cv register value 43 is X'0FF '(9 bits) is repeated until the A register value 35 becomes equal to or more than the effective area minimum value Amin.
When it becomes n or more, it is determined that the normalization is completed, and the LPS region width Qe14 output from the input-side model / probability generator 1 is updated to the LPS region width Qe14 to be taken in the next probability state. The non-carry region width R071 is the carry region width R
If it is larger than 172, the area ratio α74 of the carry area width R172 (= non-carry area width R172 / A register value 35) is obtained, and the area ratio α74 of the carry area width R172 is equal to or larger than the threshold value TH78 of the method selection. Then, the boundary movement flag MFLG73 is set to 1 to forcibly terminate the normalization, and the LP output from the input side model / probability generator 1 is set.
The S region width Qe14 is updated to the LPS region width Qe14 to be taken in the next probability state. If the area ratio α74 of the carry area width R172 is smaller than the threshold value TH78 of the method selection, the carry area width R172 is subtracted from the A register value 35, and the carry area width R172 is subtracted from the U register value 48, so that the carry area is obtained. R 172 is discarded, and the A register 35 and U register 48 are shifted left by one bit. If the C register value 40 is negative, it indicates that the output flag has been set to the most significant bit by the left shift operation, and 1
This means that the byte arithmetic code 15d can be output. Therefore, an output process BYTEOUT for outputting the arithmetic code 15d to the B buffer 36 after shifting the C register 40 left by one bit is performed. C register 4 if not negative
1 byte arithmetic code 1 with 0 shifted left by 1 bit only
Wait until 5d becomes available for output. When the A register value 35 is smaller than the effective area minimum value Amin, the processing from the comparison of whether the Cv register value 43 is X'0FF '(9 bits) until the A register value 35 becomes equal to or more than the effective area minimum value Amin. Is repeated, and when the A register value 35 becomes equal to or more than the effective area minimum value Amin, it is determined that the normalization is completed, and the LPS area width Qe output by the model / probability generator 1 on the input side is output.
LPS region width Qe14 to take 14 in the next probability state
To update.
【0211】領域比率と固定または簡易な計算により得
られるしきい値との比較により適用する方式を選択する
効率最大化方式による算術復号手段6eでの復号処理を
フローチャート図を示して説明する。フローチャート図
の中で使用される変数・定数・演算子(表記)は、しき
い値との比較により適用する方式を選択する効率最大化
方式による算術符号化手段5eと同様に適応領域切捨て
方式による符号長L077、適応境界移動方式による符
号長L177、および適応領域切捨て方式による切捨て
領域比率αにおける符号長LEN0、適応境界移動方式
によるLPS割当領域比率αにおける符号長LEN1を
使わず、方式選択のしきい値TH78を加える以外は効
率最大化方式(実施例5)による算術復号手段6eの変
数・定数・演算子(表記)と同様である。なお、方式選
択のしきい値THは0.2に固定した場合について説明
する。A decoding process in the arithmetic decoding means 6e based on the efficiency maximizing method for selecting a method to be applied by comparing the area ratio with a threshold value obtained by a fixed or simple calculation will be described with reference to a flowchart. Variables, constants, and operators (notations) used in the flowchart are based on the adaptive region truncation method as in the arithmetic coding means 5e based on the efficiency maximization method for selecting a method to be applied by comparison with a threshold value. The code selection is performed without using the code length L077, the code length L177 according to the adaptive boundary moving method, the code length LEN0 at the truncated region ratio α according to the adaptive region truncation method, and the code length LEN1 at the LPS allocation region ratio α according to the adaptive boundary moving method. Except for adding the threshold value TH78, it is the same as the variable / constant / operator (notation) of the arithmetic decoding means 6e by the efficiency maximizing method (Embodiment 5). The case where the threshold value TH for selecting the method is fixed to 0.2 will be described.
【0212】フローチャート図中の復号の実処理である
DECODE、算術符号15eの入力処理であるBYT
EIN、復号のBバッファ55の更新処理であるGET
BYTEは、効率最大化方式(実施例5)による算術復
号手段6eの同名の処理を行う。In the flowchart, DECODE which is the actual decoding process, and BYT which is the input process of the arithmetic code 15e
EIN, GET which is an update process of the B buffer 55 for decryption
BYTE performs the process of the same name of the arithmetic decoding means 6e according to the efficiency maximizing method (fifth embodiment).
【0213】復号開始時の初期化処理であるINITD
ECは図83のように、方式選択のしきい値TH78を
0.2にセットする以外は効率最大化方式(実施例5)
による算術復号手段6eの同名の処理と同様の処理内容
を行う。[0213] INITD which is initialization processing at the start of decoding
As for EC, as shown in FIG. 83, the method for maximizing efficiency is performed except that the threshold value TH78 for system selection is set to 0.2 (Embodiment 5).
Performs the same processing content as the processing of the same name of the arithmetic decoding means 6e.
【0214】復号の正規化処理であるRENORMDは
図84、図85のように、Aレジスタ35、Uレジスタ
48の左シフトと同時にDレジスタ60も左シフトさ
せ、算術符号15fの出力処理であるBYTEOUTの
代わりに算術符号15fの入力処理であるBYTEIN
を行い、入力側のモデル・確率発生器1を出力側のモデ
ル・確率発生器4、LPS領域幅Qe14をLPS領域
幅19とする以外は、効率最大化方式による算術符号化
手段5fの符号化の正規化処理RENORMEと同様の
処理内容を行う。As shown in FIG. 84 and FIG. 85, RENORMD which is a normalization process of decoding shifts the D register 60 to the left simultaneously with the left shift of the A register 35 and the U register 48, and BYTEOUT which is the output process of the arithmetic code 15f. Instead of BYTEIN which is the input processing of the arithmetic code 15f
, And the encoding of the arithmetic encoding means 5f by the maximum efficiency method except that the input side model / probability generator 1 is the output side model / probability generator 4 and the LPS region width Qe14 is the LPS region width 19. The same processing contents as the normalization processing RENORME are performed.
【0215】以上のように、この実施例では、情報源か
らの入力データの入力に対して、入力値YNと前記入力
値YNの出現に先立つ予測値MPSという情報と非予測
値LPSに割り当てる領域幅Qeという情報を出力し、
正規化が行われたとき前記非予測値LPSの確率状態を
遷移させ、前記LPS領域幅Qe(またはそのインデク
ス)を更新する入力側のモデル・確率発生器と、復号さ
れる出力値YNに対して、前記出力値YNの出現に先立
つ予測値MPSという情報と非予測値LPSに割り当て
る領域幅Qeという情報を出力し、この値を基に前記出
力値YNを得て出力データを出力し正規化が行われたと
き前記非予測値LPSの確率状態を遷移させ、前記LP
S領域幅Qe(またはそのインデクス)を更新する出力
側のモデル・確率発生器とを備えた符号伝送装置におい
て、前記入力側のモデル・確率発生器が出力するYNの
予測値MPSとLPS領域幅Qeの入力に対して、確率
数直線(0以上1未満)上の有効領域幅であるAレジス
タ値を前記非予測値LPSの領域幅Qeと前記予測値M
PSの領域幅A−Qeとに分割し、前記入力値YNと前
記予測値MPSが一致したときは新たな前記有効領域幅
AにA−Qeを割り当てることにより更新し、異なると
きは新たな前記有効領域幅AにQeを割り当てることに
より更新し、Cレジスタ値、Uレジスタ値を新たに割り
当てられた有効領域の下界値、上界値となるようにそれ
ぞれ演算して更新し、新たな有効領域が設定された有効
領域最小値より小さくなったときに行われる正規化の途
中で前記Cレジスタの特定部分に所定のビットパターン
が出現し、後の桁上がり発生により該ビットパターンが
反転する可能性が有ると判定された場合に有効領域を桁
上がり境界Tで桁上がり領域R1と非桁上がり領域R0
に分離し、より小さい領域の有効領域に占める領域比率
αを求め、領域比率αが方式選択のしきい値TH以上な
らば適応境界移動方式を適用し、次シンボルの劣勢シン
ボルに対応する領域に桁上がり領域R1と非桁上がり領
域R0のうち小さい領域、優勢シンボルに残る領域を割
り当て、一方、領域比率αが方式選択のしきい値TH未
満ならば適応領域切捨て方式を適用し、桁上がり領域R
1と非桁上がり領域R0のうち小さい領域を切り捨て、
残る領域を有効領域に修正し、前記入力側のモデル・確
率発生器からの入力が終了するまで該分割・割当・修正
処理を逐次的に繰り返し前記算術符号を送出する、しき
い値により方式を選択する効率最大化方式による算術符
号器と、前記適応領域切捨て方式による算術符号器から
送出された前記算術符号および復号すべき前記出力値Y
Nに対する前記予測値MPSと前記LPS領域幅Qeの
入力に対して、確率数直線上の有効領域幅であるAレジ
スタ値を前記非予測値LPSの領域幅Qeと前記予測値
MPSの領域幅A−Qeとに分割し、受信した算術符号
を示すDレジスタ値がCレジスタ値と前記非予測値LP
Sの領域幅Qeの和以上のときは前記出力値YNを前記
予測値MPSと判断して復号し、新たな前記有効領域幅
AにA−Qeを割り当てることにより更新し、Cレジス
タ値と前記非予測値LPSの領域幅Qeの和未満のとき
は前記出力値YNを前記非予測値LPSと判断して復号
し、新たな前記有効領域幅AにQeを割り当てることに
より更新し、Cレジスタ値、Uレジスタ値を新たに割り
当てられた有効領域の下界値、上界値となるようにそれ
ぞれ演算して更新し、新たな有効領域が設定された有効
領域最小値より小さくなったときに行われる正規化の途
中で前記Cレジスタの特定部分に所定のビットパターン
が出現し、後の桁上がり発生により該ビットパターンが
反転する可能性が有ると判定された場合に有効領域を桁
上がり境界Tで桁上がり領域R1と非桁上がり領域R0
に分離し、より小さい領域の有効領域に占める領域比率
αを求め、領域比率αが方式選択のしきい値TH以上な
らば適応境界移動方式を適用し、次シンボルの劣勢シン
ボルに対応する領域に桁上がり領域R1と非桁上がり領
域R0のうち小さい領域、優勢シンボルに残る領域を割
り当て、一方、領域比率αが方式選択のしきい値TH未
満ならば適応領域切捨て方式を適用し、桁上がり領域R
1と非桁上がり領域R0のうち小さい領域を切り捨て、
残る領域を有効領域に修正し、前記算術符号から復号し
た前記出力値YNの出力が終了するまで該分割・割当処
理を逐次的に繰り返す、しきい値により方式を選択する
効率最大化方式による算術復号器とを設けることを特徴
とする符号伝送装置を説明した。As described above, in this embodiment, in response to input of input data from the information source, the input value YN, the information of the predicted value MPS prior to the appearance of the input value YN, and the area to be allocated to the non-predicted value LPS. Outputs information of width Qe,
When the normalization is performed, the probability state of the non-predicted value LPS is transited, and the input side model / probability generator for updating the LPS region width Qe (or its index), and the decoded output value YN Then, information of a predicted value MPS prior to the appearance of the output value YN and information of a region width Qe to be assigned to the non-predicted value LPS are output, and the output value YN is obtained based on this value, and output data is output and normalized. Is performed, the probability state of the non-predicted value LPS is changed,
In a code transmission apparatus including an output-side model / probability generator for updating an S region width Qe (or an index thereof), a predicted value MPS and an LPS region width of YN output from the input-side model / probability generator In response to the input of Qe, the A register value, which is the effective area width on the probability number straight line (0 or more and less than 1), is calculated using the area width Qe of the non-predicted value LPS and the predicted value M
When the input value YN and the predicted value MPS match, the data is updated by allocating A-Qe to the new effective area width A, and when the input value YN and the predicted value MPS are different, the new effective area width A is updated. The effective area width A is updated by allocating Qe, and the C register value and the U register value are respectively operated and updated to become the lower bound value and the upper bound value of the newly assigned effective area, respectively. During the normalization performed when is smaller than the set effective area minimum value, a predetermined bit pattern may appear in a specific portion of the C register, and the bit pattern may be inverted due to a subsequent carry. Is determined to exist, the effective area is shifted to the carry boundary T by a carry area R1 and a non-carry area R0.
And the area ratio α of the smaller area in the effective area is obtained. If the area ratio α is equal to or more than the threshold value TH for selecting the method, the adaptive boundary moving method is applied, and the area corresponding to the inferior symbol of the next symbol is applied. The smaller region of the carry region R1 and the non-carry region R0 and the region remaining in the dominant symbol are allocated. On the other hand, if the region ratio α is smaller than the threshold value TH for system selection, the adaptive region truncation method is applied to carry region. R
Truncate a small area of 1 and non-carry area R0,
The remaining area is corrected into an effective area, and the division / allocation / correction processing is sequentially repeated until the input from the model / probability generator on the input side is completed, and the arithmetic code is transmitted. An arithmetic coder according to an efficiency maximization method to be selected, the arithmetic code sent from the arithmetic coder according to the adaptive region truncation method, and the output value Y to be decoded.
In response to the input of the predicted value MPS and the LPS region width Qe with respect to N, the A register value which is the effective region width on the probability number line is changed to the region width Qe of the non-predicted value LPS and the region width A of the predicted value MPS. -Qe, the D register value indicating the received arithmetic code is the C register value and the unpredicted value LP
When the output value YN is equal to or greater than the sum of the area widths Qe of S, the output value YN is determined as the predicted value MPS, decoded, updated by allocating A-Qe to the new effective area width A, and the C register value and the When the output value YN is less than the sum of the region widths Qe of the non-predicted values LPS, the output value YN is determined as the non-predicted value LPS, decoded, updated by assigning Qe to the new effective region width A, and the C register value is updated. , The U register value is calculated and updated so as to be the lower bound value and the upper bound value of the newly allocated effective area, respectively, and is performed when the new effective area becomes smaller than the set effective area minimum value. A predetermined bit pattern appears in a specific portion of the C register during normalization, and when it is determined that there is a possibility that the bit pattern is inverted due to the occurrence of a carry afterward, the effective area is defined by a carry boundary T. digit Non-carry area and the gully area R1 R0
And the area ratio α of the smaller area in the effective area is determined. If the area ratio α is equal to or larger than the threshold value TH for selecting the method, the adaptive boundary moving method is applied, and the area corresponding to the inferior symbol of the next symbol is applied. The smaller region of the carry region R1 and the non-carry region R0 and the region remaining in the dominant symbol are allocated. On the other hand, if the region ratio α is smaller than the threshold value TH for system selection, the adaptive region truncation system is applied, and the carry region is applied. R
Truncate a small area of 1 and non-carry area R0,
The remaining area is corrected to an effective area, and the division / allocation processing is sequentially repeated until the output of the output value YN decoded from the arithmetic code is completed. A code transmission apparatus characterized by including a decoder has been described.
【0216】この実施例では、方式選択のしきい値TH
を0.2に固定して説明するが、他の値でも構わない。
また、しきい値THをあらかじめ設定せずに、たとえば
LPS出現確率q、あるいはq/2など理論に基づく符
号長の計算と比較して簡易な計算による値を毎度設定す
ることも可能である。このときには、符号化開始時の初
期化処理INITENC、復号開始時の初期化処理IN
ITDECにおける方式選択のしきい値THの初期設定
は不要となる。In this embodiment, the threshold value TH for system selection
Is fixed at 0.2, but other values may be used.
Instead of setting the threshold value TH in advance, for example, it is also possible to set a value obtained by a simple calculation, such as the LPS appearance probability q or q / 2, which is a simple calculation as compared with the calculation of the code length based on the theory. At this time, initialization processing INITENC at the start of encoding and initialization processing IN at the start of decoding
Initial setting of the threshold value TH for system selection in ITDEC becomes unnecessary.
【0217】上記のような実施例の符号伝送装置では、
伝送される算術符号中に所定のビットパターン01・・
・1を検出し、桁上がりによるビットパターンの変化の
可能性をあらかじめ判定し、可能性が有ると判定された
とき、実施例3では桁上がり境界により分割される非桁
上がり領域と桁上がり領域のいずれか小さい領域を切り
捨て有効領域を修正する方式(適応領域切捨て方式)、
実施例4では非桁上がり領域と桁上がり領域を次シンボ
ルに対する優勢シンボル、劣勢シンボルの対応領域とす
る方式(適応境界移動方式)をとることによって桁上が
り境界値を有効領域の上界値または下界値とすることに
より桁上がりによる符号(ビット)確定の遅延を抑えら
れる。また、実施例3(適応領域切捨て方式)では、従
来例(毎回1ビット挿入方式)が桁上がりの可能性の有
無に関わらず毎回1ビットずつ桁上がり制御信号を挿入
するのに対し、有効領域を桁上がり領域、あるいは非桁
上がり領域のどちらかに修正を行うもので、桁上がり制
御信号を挿入する必要がなく、切り捨てられる領域がロ
スとなるが、切り捨てられる領域は1/2以下なのでそ
の符号長ロスは等価的に1ビット以下となるため桁上が
り制御信号挿入による場合のロスより常に小さくし、総
符号長を短くすることができる。同様に、実施例4(適
応境界移動方式)では、従来例(毎回1ビット挿入方
式)のような桁上がり制御信号を挿入する必要がなく、
有効領域を桁上がり領域と非桁上がり領域への割当を行
うことにより符号化パラメータで与えられる領域との差
によりロスが生じるが桁上がり制御信号挿入によるロス
より平均的に小さくなる桁上がり制御が実行でき、総符
号長を短くすることができる。また、実施例5(効率最
大化方式)では、適応領域切捨て方式と適応境界移動方
式における理論的な符号長の期待値を比較し、より小さ
い符号長を実現する最適な方式を選択して適用すること
で1方式に固定して適用するときのロスをより小さく
し、総符号長をより短くすることができる。さらに、実
施例6(効率最大化方式)では、桁上がり領域と非桁上
がり領域のうち小さい領域の有効領域に対する比率と、
次シンボルのLPS出現確率または符号化パラメータか
ら固定または簡易な計算により得られるしきい値との比
較によって方式選択を行い、しきい値未満ならば適応領
域切捨て方式、またしきい値以上ならば適応境界移動方
式を適用することで1方式に固定して適用するときのロ
スをより小さくし、総符号長をより短くすることができ
る。In the code transmission device of the above embodiment,
In the transmitted arithmetic code, a predetermined bit pattern 01...
1 is detected, the possibility of a change in the bit pattern due to carry is determined in advance, and when it is determined that there is a possibility, in the third embodiment, a non-carry region and a carry region divided by a carry boundary. Any of the smaller areas is truncated to correct the effective area (adaptive area truncation),
In the fourth embodiment, the non-carry region and the carry region are set as the corresponding regions of the superior symbol and the inferior symbol with respect to the next symbol (adaptive boundary moving system), so that the carry boundary value is the upper or lower bound of the effective region. By setting the value, the delay of the sign (bit) determination due to the carry can be suppressed. Further, in the third embodiment (adaptive area truncation method), the conventional example (one-bit insertion method each time) inserts a carry control signal by one bit each time regardless of the possibility of carry, whereas the effective area Is corrected to either the carry area or the non-carry area. There is no need to insert a carry control signal, and the truncated area is lost, but the truncated area is less than 1/2. Since the code length loss is equivalently 1 bit or less, it is always smaller than the loss caused by insertion of the carry control signal, and the total code length can be shortened. Similarly, in the fourth embodiment (adaptive boundary moving method), there is no need to insert a carry control signal as in the conventional example (1 bit insertion method every time).
By assigning the effective area to the carry area and the non-carry area, a loss occurs due to the difference between the area given by the encoding parameter, but the carry control which is on average smaller than the loss due to the insertion of the carry control signal is performed. And the total code length can be shortened. In the fifth embodiment (efficiency maximization method), the theoretical expected value of the code length in the adaptive region truncation method and the adaptive boundary moving method is compared, and the optimum method for realizing a smaller code length is selected and applied. By doing so, it is possible to further reduce the loss when the method is fixedly applied to one method and to shorten the total code length. Further, in the sixth embodiment (efficiency maximization method), the ratio of the smaller area to the effective area, of the carry area and the non-carry area,
A method is selected by comparing the LPS appearance probability of the next symbol or a threshold obtained by a fixed or simple calculation from the coding parameter. By applying the boundary moving method, it is possible to further reduce the loss when the method is fixedly applied to one method and to shorten the total code length.
【0218】上記実施例3又は4でCxレジスタからC
vレジスタへの桁上がりは、優勢シンボルの符号化・復
号による桁上がり(第1の場合)、適応領域切捨て方式
をとったとき非桁上がり領域を切り捨て桁上がり領域を
選択する有効領域の強制修正による桁上がり(第2の場
合)、適応境界移動方式をとったとき次シンボルの対応
領域として桁上がり領域が割り当てられることによる桁
上がり(第3の場合)であり、いずれも有効領域の下界
値の演算または修正に伴って発生する。符号出力のタイ
ミングで、Ceレジスタ(CxレジスタとCvレジス
タ)内で伝播させきれなかった桁上がりの検出をBバッ
ファの最下位ビットとCyレジスタ(Cvレジスタの最
上位ビット)の比較により行っており、2つのビットが
一致しないとき桁上がりの検出とする。こうして検出し
た桁上がりによる符号(ビットパターン)の修正ができ
るのは、BバッファまでであるからBバッファ値がX’
FF’のときには第1の場合の桁上がりは発生してはな
らない。毎回1ビット挿入方式による従来例では、Bバ
ッファがX’FF’のときこのような桁上がりを桁上が
り制御信号の挿入により吸収させる桁上がり制御を行っ
ている。適応領域切捨て方式および適応境界移動方式、
また2方式から適用方式を選択する効率最大化方式で
は、有効領域内に出力済みの符号に対して所定の桁数以
上伝播する桁上がりが発生する可能性があるとき桁上が
りの境界を有効領域の上界値または下界値とすること
で、従来例のように出力される符号のバイト境界に桁上
がり制御信号を挿入する必要のない桁上がり制御を可能
としている。In the third or fourth embodiment, the Cx register
The carry in the v register is caused by encoding / decoding of the dominant symbol (in the first case). When the adaptive area truncation method is used, the non-carry area is truncated. The effective area for selecting the carry area is forcibly corrected. (The second case), and the carry (third case) due to the assignment of the carry area as the corresponding area of the next symbol when the adaptive boundary moving method is adopted, and the lower bound value of the effective area in each case. It occurs with the calculation or correction of. At the code output timing, the carry that could not be propagated in the Ce register (Cx register and Cv register) was detected by comparing the least significant bit of the B buffer with the Cy register (most significant bit of the Cv register). When the two bits do not match, the carry is detected. The code (bit pattern) based on the carry detected in this way can be corrected up to the B buffer.
In the case of FF ', the carry in the first case must not occur. In the conventional example using the one-bit insertion method each time, when the B buffer is at X'FF ', carry control is performed to absorb such carry by inserting a carry control signal. Adaptive region truncation method and adaptive boundary moving method,
In addition, in the efficiency maximizing method that selects an application method from the two methods, when there is a possibility that a carry that propagates a predetermined number of digits or more to a code already output in the effective area may occur, a boundary of the carry is set to the effective area. By using the upper bound value or the lower bound value, carry control without inserting a carry control signal at the byte boundary of the output code as in the related art is enabled.
【0219】上記実施例3又は4で行っている桁上がり
の可能性の判定について説明する。まず、出力済みの符
号に対して所定の桁数(8ビット)の桁上がりを伝播さ
せうるか否かを正規化の途中でCvレジスタがX’0F
F’(9ビット)となることにより実際の可能性判定に
入る。桁上がり境界はCeレジスタと同精度で表せば
X’100000’(21ビット)となり、桁上がり境
界値Tは常にX’000’(12ビット)となるので変
数またはレジスタを必ずしも設けなくてもよい。桁上が
り境界が有効領域を分割するとき桁上がり境界より下位
の領域を非桁上がり領域R0、上位の領域を桁上がり領
域R1と呼ぶことにするが、桁上がり境界と有効領域下
界との距離(T−Cx)がAレジスタ値を越える(T−
Cx≧A)場合は桁上がり境界が有効領域上界より上位
にあり、有効領域の内部(上界は有効領域外とみなす)
には存在していないために桁上がり境界による有効領域
の分割は不可能であり、桁上がりの可能性は無しと判定
される。桁上がり境界による有効領域の分割が可能な場
合は桁上がり可能性は有りと判定される。The determination of the possibility of carry, which is performed in the third or fourth embodiment, will be described. First, in the course of normalization, the Cv register determines whether X'0F can be transmitted by a predetermined number of digits (8 bits) with respect to the output code.
When it becomes F '(9 bits), actual possibility determination starts. If the carry boundary is expressed with the same precision as the Ce register, it becomes X'100000 '(21 bits), and the carry boundary value T is always X'000' (12 bits), so that it is not always necessary to provide a variable or a register. . When the carry boundary divides the effective area, an area below the carry boundary is referred to as a non-carry area R0, and an upper area is referred to as a carry area R1, and the distance between the carry boundary and the effective area lower bound ( T-Cx) exceeds the value of the A register (T-Cx).
In the case of Cx ≧ A), the carry boundary is higher than the upper bound of the effective area and is inside the effective area (the upper bound is regarded as outside the effective area)
, It is impossible to divide the effective area by the carry boundary, and it is determined that there is no possibility of carry. If the effective area can be divided by the carry boundary, it is determined that there is a possibility of carry.
【0220】Aレジスタ、Uレジスタは、初期値にX’
1000’(13ビット)をセットしたが、演算時の桁
下がり(ボロー)を無視することによりCxレジスタと
同じ12ビットの精度(X’000’)でも実現でき
る。桁上がり境界値T、非桁上がり領域幅R0、桁上が
り領域幅R1も同様に12ビットの精度があればよい。
例えば、12ビットの精度で非桁上がり領域幅R0(桁
上がり境界値T−Cxレジスタ値)を桁下がりを無視し
て計算し、有効領域幅であるAレジスタ値未満であれば
有効領域の上界値であるUレジスタ値をそのまま桁上が
り領域幅R1(Uレジスタ値−桁上がり境界値T)とし
て扱うことができる。また、Uレジスタ値はCxレジス
タ値とAレジスタ値の和としても得られるので必ずしも
レジスタとしてUレジスタを設けずに実現することもで
きる。The A register and the U register store X 'in the initial value.
Although 1000 '(13 bits) is set, it can be realized with the same 12-bit precision (X'000') as the Cx register by ignoring the borrow at the time of operation. Similarly, the carry boundary value T, the non-carry area width R0, and the carry area width R1 only need to have an accuracy of 12 bits.
For example, the non-carry area width R0 (carry boundary value T-Cx register value) is calculated with a precision of 12 bits while ignoring the borrow. The U register value, which is the boundary value, can be directly handled as the carry region width R1 (U register value−carry boundary value T). In addition, since the U register value is obtained as the sum of the Cx register value and the A register value, it can be realized without necessarily providing the U register as a register.
【0221】実施例7. 上記実施例5、6では符号化方式を適応領域切捨て方式
と適応境界移動方式の2方式から選択する方式を説明し
たが、3方式以上の符号化方式から選択するように設定
しても構わない。Embodiment 7 FIG. In the fifth and sixth embodiments, the description has been given of the method in which the encoding method is selected from the two methods of the adaptive area truncation method and the adaptive boundary moving method. .
【0222】[0222]
【発明の効果】上記のような第1から第5の発明の符号
化方式及び符号化方法では、符号を伝送する符号系列で
一定の1ラン長以上の1ラン終了直後に1ビットの桁上
がり制御信号を1回挿入する伝送制御方式(1回2ビッ
ト挿入方式)を採るから、従来のように1ビットの桁上
がり制御信号を毎回挿入する伝送制御方式(毎回1ビッ
ト挿入方式)に比べ、挿入ビット数が少なくなり伝送す
る総符号長を短くできる効果がある。In coding method and the coding method of the first to the fifth invention as described above according to the present invention, one bit per run immediately after the completion of at code sequence over a certain 1 run length for transmitting the sign-digit Since the transmission control method of inserting the carry control signal once (two-bit insertion method at one time) is adopted, it is compared with the conventional transmission control method of inserting a one-bit carry control signal every time (one-bit insertion method every time). This has the effect of reducing the number of inserted bits and reducing the total code length to be transmitted.
【0223】上記のような第6から第13の発明の符号
化方式によれば、符号伝送装置で生成される算術符号系
列中に所定の個数のビット’1’が連続して出現すると
後の算術符号化演算の際に発生する桁上がりにより検出
されたビットパターン01・・・1が反転する可能性の
有無が有りと判定されたとき、有効領域を修正すること
により、桁上がりが伝搬しないようにするので、総符号
長を短くすることができる。According to the above-described coding schemes of the sixth to thirteenth aspects, when a predetermined number of bits “1” appear continuously in an arithmetic code sequence generated by the code transmission device, the subsequent bits are used. When it is determined that there is a possibility of inversion of the bit pattern 01... 1 detected due to a carry generated in the arithmetic coding operation, the carry is not propagated by correcting the effective area. As a result, the total code length can be reduced.
【0224】特に、第9の発明は有効領域を非桁上がり
領域または桁上がり領域のいずれかを選択し、有効領域
を修正することによりビットパターンをそのまままたは
反転して確定させることを可能とする符号化方式(適応
領域切捨て方式)を提供することにより総符号長を短く
する。In particular, the ninth invention makes it possible to select either a non-carry area or a carry area as the effective area and correct the effective area to fix the bit pattern as it is or in reverse. The total code length is shortened by providing an encoding method (adaptive region truncation method).
【0225】また、第10の発明は桁上がり境界を次シ
ンボルの優勢シンボルと劣勢シンボルの対応領域の境界
に移動させ、桁上がり領域と非桁上がり領域をそれぞれ
のシンボル対応領域とする符号化方式(適応境界移動方
式)を提供することにより、同様に総符号長を短くす
る。The tenth invention is an encoding method in which a carry boundary is moved to a boundary between a region corresponding to a superior symbol and a region inferior to the next symbol, and a carry region and a non-carry region are used as respective symbol corresponding regions. (Adaptive Boundary Movement) also reduces the total code length.
【0226】そして、第11の発明は桁上がり境界によ
って分割された桁上がり領域と非桁上がり領域のうち小
さい領域を切り捨てる適応領域切捨て方式と次シンボル
に対応させる領域境界を桁上がり境界に移動させる適応
境界移動方式から方式を選択して適用する符号化方式
(効率最大化方式)を提供する桁上がり制御を実現で
き、適用方式に自由度を与える効果がある。 In the eleventh invention, an adaptive area truncation method for truncating a small area of a carry area and a non-carry area divided by a carry boundary, and an area boundary corresponding to the next symbol is moved to the carry boundary. Carry-over control that provides an encoding method (efficiency maximization method) that selects and applies a method from the adaptive boundary movement method can be realized, and has an effect of giving a degree of freedom to the applied method .
【0227】第12の発明は第11の発明における方式
の選択を桁上がり領域と非桁上がり領域のうち小さい領
域の有効領域に占める比率と符号化パラメータから符号
長の期待値を適応領域切捨て方式と適応境界移動方式に
ついて計算し、期待値の小さい方式を選択して適用する
効率最大化方式を提供することにより適応領域切捨て方
式または適応境界移動方式のみを適用する場合よりさら
にロスが小さくなる桁上がり制御を実現でき、総符号長
を短くできる効果がある。According to a twelfth aspect of the present invention, the method of the eleventh aspect is selected by selecting an expected value of the code length from the ratio of a small area of the carry area and the non-carry area to the effective area and an encoding parameter, and an adaptive area truncation method. And the adaptive boundary movement method, and select the method with the smaller expected value to provide the maximum efficiency method to apply, thereby reducing the loss even more than applying only the adaptive region truncation method or the adaptive boundary movement method. Ascent control can be realized, and the total code length can be shortened.
【0228】第13の発明は第11の発明における方式
の選択を桁上がり境界によって分割された桁上がり領域
と非桁上がり領域のうち小さい領域の有効領域に占める
比率と固定または簡易な計算により得られるしきい値と
の比較により適応領域切捨て方式と適応境界移動方式か
ら適用する方式を選択する効率最大化方式を提供するこ
とにより適応領域切捨て方式または適応境界移動方式の
みを適用する場合よりさらにロスが小さくなる桁上がり
制御を実現でき、総符号長を短くできる効果がある。According to a thirteenth aspect, the selection of the method according to the eleventh aspect is obtained by a fixed or simple calculation of a ratio of a small area to an effective area among a carry area and a non-carry area divided by a carry boundary. By providing an efficiency maximizing method for selecting a method to be applied from the adaptive region truncation method and the adaptive boundary moving method by comparing with a threshold value obtained by applying the adaptive region truncating method or the adaptive boundary moving method only, Thus, there is an effect that the carry control can be realized so that the total code length can be shortened.
【図1】第1の発明を示す一実施例の符号伝送装置の機
能ブロック図。FIG. 1 is a functional block diagram of a code transmission apparatus according to an embodiment of the present invention.
【図2】この発明の1回2ビット挿入方式による算術符
号器の1回2ビット挿入方式による算術符号化手段と1
回2ビット挿入方式による算術複号器の1回2ビット挿
入方式による算術復号手段のフローチャート図。FIG. 2 is a block diagram of an arithmetic encoder based on a one-time two-bit insertion method according to the present invention;
FIG. 9 is a flow chart of an arithmetic decoding unit using a two-bit insertion method for an arithmetic decoder using a two-bit insertion method.
【図3】この発明の算術符号器のβバッファの構成図。FIG. 3 is a configuration diagram of a β buffer of the arithmetic encoder according to the present invention.
【図4】この発明の算術符号器のFレジスタの構成図。FIG. 4 is a configuration diagram of an F register of the arithmetic encoder according to the present invention.
【図5】この発明の1回2ビット挿入方式による符号化
開始時の初期化処理INITENCの処理フローチャー
ト図。FIG. 5 is a processing flowchart of initialization processing INITENC at the start of encoding by the one-time 2-bit insertion method of the present invention.
【図6】この発明の1回2ビット挿入方式による算術符
号の出力処理BYTEOUTの処理フローチャート図。FIG. 6 is a processing flowchart of an arithmetic code output process BYTEOUT according to the one-time two-bit insertion method of the present invention;
【図7】この発明の1回2ビット挿入方式による8ビッ
ト出力処理SHIP8の処理フローチャート図。FIG. 7 is a processing flowchart of an 8-bit output process SHIP8 according to the one-time 2-bit insertion method of the present invention.
【図8】この発明の1回2ビット挿入方式による6また
は8ビット出力処理SHIP6OR8の処理フローチャ
ート図。FIG. 8 is a processing flowchart of a 6 or 8 bit output process SHIP6OR8 according to the one-time 2-bit insertion method of the present invention.
【図9】この発明の1回2ビット挿入方式による6ビッ
ト出力処理SHIP6の処理フローチャート図。FIG. 9 is a processing flowchart of a 6-bit output process SHIP6 according to the one-time 2-bit insertion method of the present invention.
【図10】この発明の1回2ビット挿入方式によるBバ
ッファ更新処理NEXTBYTEの処理フローチャート
図。FIG. 10 is a processing flowchart of a B buffer update process NEXTBYTE according to the one-time 2-bit insertion method of the present invention.
【図11】この発明の1回2ビット挿入方式による符号
化後処理FLUSHの処理フローチャート図。FIG. 11 is a processing flowchart of post-encoding processing FLUSH according to the one-time two-bit insertion method of the present invention.
【図12】この発明の1回2ビット挿入方式による算術
符号の最終出力処理FINALBYTESの処理フロー
チャート図。FIG. 12 is a processing flowchart of the final output processing FINALBYTES of an arithmetic code by the one-time 2-bit insertion method of the present invention;
【図13】この発明の1回2ビット挿入方式による8ビ
ット掃き出し処理FLUSH8の処理フローチャート
図。FIG. 13 is a processing flowchart of an 8-bit sweeping process FLUSH8 according to the one-time 2-bit insertion method of the present invention.
【図14】この発明の1回2ビット挿入方式による6ま
たは8ビット掃き出し処理FLUSH6OR8の処理フ
ローチャート図。FIG. 14 is a flowchart of a 6- or 8-bit sweeping process FLUSH6OR8 according to the one-time 2-bit insertion method of the present invention.
【図15】この発明の1回2ビット挿入方式による6ビ
ット掃き出し処理FLUSH6の処理フローチャート
図。FIG. 15 is a processing flowchart of a 6-bit sweeping process FLUSH6 according to the one-time 2-bit insertion method of the present invention.
【図16】この発明の算術復号器のβバッファの構成
図。FIG. 16 is a configuration diagram of a β buffer of the arithmetic decoder according to the present invention.
【図17】この発明の1回2ビット挿入方式による復号
開始時の初期化処理INITDECの処理フローチャー
ト図。FIG. 17 is a processing flowchart of initialization processing INITDEC at the start of decoding by the one-time 2-bit insertion method of the present invention.
【図18】この発明の1回2ビット挿入方式による算術
符号の入力処理BYTEINの処理フローチャート図。FIG. 18 is a flowchart of an arithmetic code input process BYTEIN according to the one-time two-bit insertion method of the present invention;
【図19】この発明の1回2ビット挿入方式によるBバ
ッファ更新処理GETBYTEの処理フローチャート
図。FIG. 19 is a processing flowchart of a B-buffer update process GETBYTE according to the one-time 2-bit insertion method of the present invention.
【図20】この発明のβバッファとF(フラグ)レジス
タの状態遷移図。FIG. 20 is a state transition diagram of the β buffer and the F (flag) register of the present invention.
【図21】第2〜第5の発明を示す一実施例の符号伝送
装置の機能ブロック図。FIG. 21 is a functional block diagram of a code transmission device according to an embodiment showing the second to fifth inventions;
【図22】この発明の1回2ビット挿入方式による算術
符号器の1回2ビット挿入方式による算術符号化手段と
1回2ビット挿入方式による算術復号器の1回2ビット
挿入方式による算術復号手段のフローチャート図。FIG. 22 is a diagram illustrating an arithmetic coding unit using a once-two-bit insertion method of an arithmetic encoder using a one-time two-bit insertion method and an arithmetic decoding unit using a once-two-bit insertion method of an arithmetic decoder using a once-two-bit insertion method according to the present invention; The flowchart figure of a means.
【図23】この発明の1回2ビット挿入方式による符号
化開始時の初期化処理INITENCの処理フローチャ
ート図。FIG. 23 is a processing flowchart of initialization processing INITENC at the start of encoding by the one-time 2-bit insertion method of the present invention.
【図24】この発明の1回2ビット挿入方式による算術
符号の出力処理BYTEOUTの処理フローチャート
図。FIG. 24 is a flowchart of an arithmetic code output process BYTEOUT according to the one-time two-bit insertion method of the present invention;
【図25】この発明の1回2ビット挿入方式による8ビ
ット出力処理SHIP8の処理フローチャート図。FIG. 25 is a processing flowchart of an 8-bit output process SHIP8 according to the one-time 2-bit insertion method of the present invention.
【図26】この発明の1回2ビット挿入方式による6ま
たは8ビット出力処理SHIP6OR8の処理フローチ
ャート図。FIG. 26 is a processing flowchart of a 6 or 8 bit output process SHIP6OR8 according to the one-time 2-bit insertion method of the present invention.
【図27】この発明の1回2ビット挿入方式による6ビ
ット出力処理SHIP6の処理フローチャート図。FIG. 27 is a processing flowchart of a 6-bit output process SHIP6 according to the one-time 2-bit insertion method of the present invention.
【図28】この発明の1回2ビット挿入方式によるバイ
トX’00’の連続出力処理SHIPX00の処理フロ
ーチャート図。FIG. 28 is a flowchart of a continuous output process SHIPX00 of bytes X'00 'according to the one-time 2-bit insertion method of the present invention.
【図29】この発明の1回2ビット挿入方式によるバイ
トX’FF’の連続出力処理SHIPXFFの処理フロ
ーチャート図。FIG. 29 is a processing flowchart of a continuous output process SHIPXFF of bytes X'FF 'by the one-time 2-bit insertion method of the present invention.
【図30】この発明の1回2ビット挿入方式による算術
符号の最終出力処理FINALBYTESの処理フロー
チャート図。FIG. 30 is a processing flowchart of a final output process FINALBYTES of an arithmetic code by a one-time 2-bit insertion method according to the present invention;
【図31】この発明の1回2ビット挿入方式による算術
符号の最終出力処理FINALBYTESの処理フロー
チャート図。FIG. 31 is a processing flowchart of a final output processing FINALBYTES of an arithmetic code by a one-time 2-bit insertion method according to the present invention;
【図32】この発明の1回2ビット挿入方式による8ビ
ット掃き出し処理FLUSH8の処理フローチャート
図。FIG. 32 is a flowchart of an 8-bit sweeping process FLUSH8 according to the one-time 2-bit insertion method of the present invention.
【図33】この発明の1回2ビット挿入方式による6ま
たは8ビット掃き出し処理FLUSH6OR8の処理フ
ローチャート図。FIG. 33 is a flowchart of a 6 or 8 bit sweeping process FLUSH6OR8 according to the one-time 2-bit insertion method of the present invention.
【図34】この発明の1回2ビット挿入方式による6ビ
ット掃き出し処理FLUSH6の処理フローチャート
図。FIG. 34 is a flowchart of a 6-bit sweeping process FLUSH6 according to the one-time 2-bit insertion method of the present invention.
【図35】この発明の1回2ビット挿入方式による復号
開始時の初期化処理INITDECの処理フローチャー
ト図。FIG. 35 is a processing flowchart of initialization processing INITDEC at the start of decoding by the one-time 2-bit insertion method of the present invention.
【図36】この発明の1回2ビット挿入方式による算術
符号の入力処理BYTEINの処理フローチャート図。FIG. 36 is a flowchart of the arithmetic code input process BYTEIN according to the one-time two-bit insertion method of the present invention;
【図37】この発明に係る符号化方式の符号データスト
リームとカウンタ値Kの関係を示す図。FIG. 37 is a diagram showing a relationship between a code data stream of the encoding method according to the present invention and a counter value K.
【図38】この発明に係る符号化方式のデータストリー
ムとカウンタ値J、Kの関係を示す図。FIG. 38 is a diagram showing the relationship between the data stream of the encoding method according to the present invention and the counter values J and K.
【図39】図38に示したカウンタ値J、Kの具体的な
動作を説明するための図。FIG. 39 is a view for explaining a specific operation of the counter values J and K shown in FIG. 38;
【図40】この発明の実施例3の概略動作を示す図。FIG. 40 is a view schematically showing the operation of the third embodiment of the present invention.
【図41】この発明を示す一実施例の符号伝送装置の機
能ブロック図。FIG. 41 is a functional block diagram of a code transmission apparatus according to an embodiment of the present invention.
【図42】この発明の適応領域切捨て方式による算術符
号器の適応領域切捨て方式による算術符号化手段と適応
領域切捨て方式による算術復号器の適応領域切捨て方式
による算術復号手段のフローチャート図。FIG. 42 is a flowchart of the arithmetic coding means based on the adaptive region truncation method and the arithmetic decoding means based on the adaptive region truncation method of the arithmetic decoder based on the adaptive region truncation method of the present invention;
【図43】この発明の算術符号器のCレジスタ、Uレジ
スタの構成図。FIG. 43 is a configuration diagram of a C register and a U register of the arithmetic encoder according to the present invention.
【図44】この発明の適応領域切捨て方式による符号化
開始時の初期化処理INITENCの処理フローチャー
ト図。FIG. 44 is a processing flowchart of initialization processing INITENC at the start of encoding by the adaptive region truncation method of the present invention.
【図45】この発明の適応領域切捨て方式による入力値
=1の処理CODEYN1の処理フローチャート図。FIG. 45 is a processing flowchart of processing CODEYN1 for an input value = 1 by the adaptive area truncation method of the present invention.
【図46】この発明の適応領域切捨て方式による入力値
=0の処理CODEYN0の処理フローチャート図。FIG. 46 is a processing flowchart of processing CODEYN0 of the input value = 0 according to the adaptive area truncation method of the present invention.
【図47】この発明の適応領域切捨て方式による符号化
の正規化処理RENORMEの処理フローチャート図。FIG. 47 is a processing flowchart of encoding normalization processing RENORME according to the adaptive region truncation method of the present invention.
【図48】この発明の適応領域切捨て方式による領域切
捨て判定処理ROUNDOFFの処理フローチャート
図。FIG. 48 is a processing flowchart of a region truncation determination process ROUNDOFF according to the adaptive region truncation method of the present invention.
【図49】この発明の適応領域切捨て方式による算術符
号の出力処理BYTEOUTの処理フローチャート図。FIG. 49 is a flowchart of an arithmetic code output process BYTEOUT according to the adaptive region truncation method of the present invention;
【図50】この発明の適応領域切捨て方式による符号化
後処理FLUSHの処理フローチャート図。FIG. 50 is a processing flowchart of post-coding processing FLUSH according to the adaptive region truncation method of the present invention.
【図51】この発明の適応領域切捨て方式による算術符
号の最終出力処理FINALBYTESの処理フローチ
ャート図。FIG. 51 is a processing flowchart of a final output processing FINALBYTES of an arithmetic code according to the adaptive region truncation method of the present invention;
【図52】この発明の算術復号器のDレジスタの構成
図。FIG. 52 is a configuration diagram of a D register of the arithmetic decoder according to the present invention.
【図53】この発明の適応領域切捨て方式による復号開
始時の初期化処理INITDECの処理フローチャート
図。FIG. 53 is a processing flowchart of initialization processing INITDEC at the start of decoding by the adaptive area truncation method of the present invention.
【図54】この発明の適応領域切捨て方式による復号の
実処理DECODEの処理フローチャート図。FIG. 54 is a processing flowchart of actual decoding process DECODE according to the adaptive region truncation method of the present invention;
【図55】この発明の適応領域切捨て方式による復号の
正規化処理RENORMDの処理フローチャート図。FIG. 55 is a processing flowchart of a normalization processing RENORMD of decoding by the adaptive region truncation method of the present invention.
【図56】この発明の適応領域切捨て方式による算術符
号の入力処理BYTEINの処理フローチャート図。FIG. 56 is a processing flowchart of arithmetic code input processing BYTEIN according to the adaptive region truncation method of the present invention.
【図57】この発明による適応領域切捨て方式の領域切
捨ての概念図。FIG. 57 is a conceptual diagram of area truncation of the adaptive area truncation method according to the present invention.
【図58】この発明による適応領域切捨て方式の領域切
捨ての概念図。FIG. 58 is a conceptual diagram of area truncation of the adaptive area truncation method according to the present invention.
【図59】この発明の実施例4の概略動作を示す図。FIG. 59 is a view schematically showing the operation of the fourth embodiment of the present invention.
【図60】この発明を示す一実施例の符号伝送装置の機
能ブロック図。FIG. 60 is a functional block diagram of a code transmission apparatus according to an embodiment of the present invention.
【図61】この発明の適応境界移動方式による算術符号
器の適応境界移動方式による算術符号化手段と適応境界
移動方式による算術復号器の適応境界移動方式による算
術復号手段のフローチャート図。FIG. 61 is a flowchart of the arithmetic coding means of the adaptive encoder according to the present invention, and the arithmetic decoding means of the arithmetic decoder employing the adaptive boundary shifting method;
【図62】この発明の適応境界移動方式による符号化開
始時の初期化処理INITENCの処理フローチャート
図。FIG. 62 is a processing flowchart of initialization processing INITENC at the start of encoding by the adaptive boundary movement method of the present invention.
【図63】この発明の適応境界移動方式による符号化の
実処理ENCODEの処理フローチャート図。FIG. 63 is a processing flowchart of actual processing ENCODE of encoding by the adaptive boundary moving method according to the present invention;
【図64】この発明の適応境界移動方式による入力値=
1の処理CODEYN1EXの処理フローチャート図。FIG. 64: Input value by the adaptive boundary moving method of the present invention =
FIG. 3 is a processing flowchart of the first process CODEYN1EX.
【図65】この発明の適応境界移動方式による入力値=
0の処理CODEYN0EXの処理フローチャート図。FIG. 65: Input value by the adaptive boundary moving method of the present invention =
0 is a processing flowchart of CODEYN0EX.
【図66】この発明の適応境界移動方式による符号化の
正規化処理RENORMEの処理フローチャート図。FIG. 66 is a processing flowchart of a coding normalization process RENORME according to the adaptive boundary movement method of the present invention.
【図67】この発明の適応境界移動方式による復号開始
時の初期化処理INITDECの処理フローチャート
図。FIG. 67 is a processing flowchart of initialization processing INITDEC at the start of decoding by the adaptive boundary movement method of the present invention.
【図68】この発明の適応境界移動方式による復号の実
処理DECODEの処理フローチャート図。FIG. 68 is a processing flowchart of an actual decoding process DECODE according to the adaptive boundary moving method of the present invention;
【図69】この発明の適応境界移動方式による復号の実
処理DECODEの処理フローチャート図。FIG. 69 is a processing flowchart of an actual decoding process DECODE according to the adaptive boundary movement method of the present invention;
【図70】この発明の適応境界移動方式による復号の正
規化処理RENORMDの処理フローチャート図。FIG. 70 is a processing flowchart of a decoding normalization process RENORMD by the adaptive boundary movement method of the present invention.
【図71】この発明による適応境界移動方式の境界移動
の概念図。FIG. 71 is a conceptual diagram of the boundary movement of the adaptive boundary movement method according to the present invention.
【図72】この発明による適応境界移動方式の境界移動
の概念図。FIG. 72 is a conceptual diagram of the boundary movement of the adaptive boundary movement method according to the present invention.
【図73】この発明の実施例5、6を示す一実施例の符
号伝送装置の機能ブロック図。FIG. 73 is a functional block diagram of a code transmission apparatus according to an embodiment showing Embodiments 5 and 6 of the present invention.
【図74】この発明の効率最大化方式による算術符号器
の効率最大化方式による算術符号化手段と効率最大化方
式による算術復号器の効率最大化方式による算術復号手
段のフローチャート図。FIG. 74 is a flowchart of the arithmetic coding means of the arithmetic encoder according to the maximum efficiency method of the present invention and the arithmetic decoding means of the maximum efficiency method of the arithmetic decoder according to the maximum efficiency method;
【図75】この発明の効率最大化方式による符号化の正
規化処理RENORMEの処理フローチャート図。FIG. 75 is a processing flowchart of a coding normalization process RENORME according to the efficiency maximization method of the present invention.
【図76】この発明の効率最大化方式による符号化の正
規化処理RENORMEの処理フローチャート図。FIG. 76 is a processing flowchart of a coding normalization process RENORME according to the efficiency maximization method of the present invention.
【図77】この発明の効率最大化方式による復号の正規
化処理RENORMDの処理フローチャート図。FIG. 77 is a processing flowchart of a decoding normalization process RENORMD by the efficiency maximization method of the present invention.
【図78】この発明の効率最大化方式による復号の正規
化処理RENORMDの処理フローチャート図。FIG. 78 is a processing flowchart of a decoding normalization process RENORMD according to the efficiency maximization method of the present invention.
【図79】この発明による適応領域切捨て方式と適応境
界移動方式の領域比αに対する理論符号長を比較するた
めの図。FIG. 79 is a diagram for comparing the theoretical code length with respect to the area ratio α between the adaptive area truncation method and the adaptive boundary moving method according to the present invention.
【図80】この発明の効率最大化方式による符号化開始
時の初期化処理INITENCの処理フローチャート
図。FIG. 80 is a processing flowchart of initialization processing INITENC at the start of encoding by the efficiency maximization method of the present invention.
【図81】この発明の効率最大化方式による符号化の正
規化処理RENORMEの処理フローチャート図。FIG. 81 is a processing flowchart of a coding normalization process RENORME according to the efficiency maximization method of the present invention.
【図82】この発明の効率最大化方式による符号化の正
規化処理RENORMEの処理フローチャート図。FIG. 82 is a processing flowchart of a coding normalization process RENORME according to the efficiency maximization method of the present invention;
【図83】この発明の効率最大化方式による復号開始時
の初期化処理INITDECの処理フローチャート図。FIG. 83 is a processing flowchart of initialization processing INITDEC at the start of decoding according to the efficiency maximization method of the present invention;
【図84】この発明の効率最大化方式による復号の正規
化処理RENORMDの処理フローチャート図。FIG. 84 is a processing flowchart of a decoding normalization process RENORMD by the efficiency maximization method of the present invention.
【図85】この発明の効率最大化方式による復号の正規
化処理RENORMDの処理フローチャート図。FIG. 85 is a processing flowchart of a decoding normalization process RENORMD by the efficiency maximization method of the present invention.
【図86】従来例の符号伝送装置の機能ブロック図。FIG. 86 is a functional block diagram of a conventional code transmission apparatus.
【図87】従来の毎回1ビット挿入方式による算術符号
器の毎回1ビット挿入方式による算術符号化手段と毎回
1ビット挿入方式による算術復号器の毎回1ビット挿入
方式による算術復号手段のフローチャート図。FIG. 87 is a flowchart of a conventional arithmetic coding unit using a one-bit insertion method in an arithmetic encoder using a one-bit insertion method every time and an arithmetic decoding means using a one-bit insertion method every time in an arithmetic decoder using a one-bit insertion method every time.
【図88】従来の算術符号器のCレジスタ、Aレジスタ
の構成図。FIG. 88 is a configuration diagram of a C register and an A register of a conventional arithmetic encoder.
【図89】従来の毎回1ビット挿入方式による符号化開
始時の初期化処理INITENCの処理フローチャート
図。FIG. 89 is a flowchart of a conventional initialization process INITENC at the start of encoding by the one-bit insertion method every time.
【図90】従来の符号化の実処理ENCODEの処理フ
ローチャート図。FIG. 90 is a flowchart of a conventional encoding actual process ENCODE.
【図91】従来の入力値=1の処理CODEYN1の処
理フローチャート図。FIG. 91 is a process flowchart of a conventional process CODEYN1 with an input value of 1;
【図92】従来の入力値=0の処理CODEYN0の処
理フローチャート図。FIG. 92 is a process flowchart of a conventional process CODEYN0 for input value = 0.
【図93】従来の符号化の正規化処理RENORMEの
処理フローチャート図。FIG. 93 is a processing flowchart of a conventional encoding normalization process RENORME.
【図94】従来の毎回1ビット挿入方式による算術符号
の出力処理BYTEOUTの処理フローチャート図。FIG. 94 is a flowchart of a conventional arithmetic code output process BYTEOUT using a one-bit insertion method each time.
【図95】従来の1ビット挿入方式による8ビット出力
処理SHIP8の処理フローチャート図。FIG. 95 is a processing flowchart of an 8-bit output process SHIP8 according to a conventional 1-bit insertion method.
【図96】従来の毎回1ビット挿入方式による7ビット
出力処理SHIP7の処理フローチャート図。FIG. 96 is a processing flowchart of a conventional 7-bit output processing SHIP7 by a 1-bit insertion method every time.
【図97】従来の示す毎回1ビット挿入方式によるBバ
ッファ更新処理NEXTBYTEの処理フローチャート
図。FIG. 97 is a process flowchart of a conventional B buffer update process NEXTBYTE by a one-bit insertion method every time.
【図98】従来の毎回1ビット挿入方式による符号化後
処理FLUSHの処理フローチャート図。FIG. 98 is a process flowchart of a conventional post-encoding process FLUSH by the 1-bit insertion method every time.
【図99】従来の毎回1ビット挿入方式による算術符号
の最終出力処理FINALBYTESの処理フローチャ
ート図。FIG. 99 is a processing flowchart of a final output processing FINALBYTES of an arithmetic code by a conventional one-bit insertion method every time.
【図100】従来の毎回1ビット挿入方式による8ビッ
ト掃き出し処理FLUSH8の処理フローチャート図。FIG. 100 is a flowchart of a conventional 8-bit sweeping process FLUSH8 using a 1-bit insertion method every time.
【図101】従来の毎回1ビット挿入方式による7ビッ
ト掃き出し処理FLUSH7の処理フローチャート図。FIG. 101 is a process flowchart of a conventional 7-bit sweeping process FLUSH7 using a 1-bit insertion method every time.
【図102】従来の算術復号器のCレジスタ、Aレジス
タの構成図。FIG. 102 is a configuration diagram of a C register and an A register of a conventional arithmetic decoder.
【図103】従来の毎回1ビット挿入方式による復号開
始時の初期化処理INITDECの処理フローチャート
図。FIG. 103 is a flowchart of a conventional initialization process INITDEC at the start of decoding by the conventional one-bit insertion method.
【図104】従来の復号の実処理DECODEの処理フ
ローチャート図。FIG. 104 is a processing flowchart of a conventional actual decoding process DECODE.
【図105】従来の復号の正規化処理RENORMDの
処理フローチャート図。FIG. 105 is a process flowchart of a conventional decoding normalization process RENORMD.
【図106】従来の毎回1ビット挿入方式による算術符
号の入力処理BYTEINの処理フローチャート図。FIG. 106 is a flowchart of a conventional arithmetic code input process BYTEIN using a one-bit insertion method each time.
【図107】従来の毎回1ビット挿入方式によるBバッ
ファ更新処理GETBYTEの処理フローチャート図。FIG. 107 is a process flowchart of a conventional B buffer update process GETBYTE using a one-bit insertion method every time.
1 入力側のモデル・確率発生器 2a 毎回1ビット挿入方式による算術符号器 2c 適応領域切捨て方式による算術符号器 2d 適応境界移動方式による算術符号器 2e 効率最大化方式による算術符号器 3a 毎回1ビット挿入方式による算術復号器 3c 適応領域切捨て方式による算術復号器 3d 適応境界移動方式による算術復号器 3e 効率最大化方式による算術復号器 4 出力側のモデル・確率発生器 5a 毎回1ビット挿入方式による算術符号化手段 5c 適応領域切捨て方式による算術符号化手段 5d 適応境界移動方式による算術符号化手段 5e 効率最大化方式による算術符号化手段 6a 毎回1ビット挿入方式による算術復号手段 6c 適応領域切捨て方式による算術復号手段 6d 適応境界移動方式による算術復号手段 6e 効率最大化方式による算術復号手段 10 入力データ 11 入力値YN 12 予測値MPS 13 非予測値LPS 14 LPS領域幅Qe 15a 毎回1ビット挿入方式による桁上がり制御信号
を含んだ算術符号 15c 適応領域切捨て方式による算術符号 15d 適応境界移動方式による算術符号 15e 効率最大化方式による算術符号 16 出力値YN 17 予測値MPS 18 非予測値LPS 19 LPS領域幅Qe 20 出力データ 30 Cレジスタ値(符号レジスタ)(従来例) 31 Cxレジスタ値(ビット0〜11)(従来例) 32 Csレジスタ値(ビット12〜15)(従来例) 33 Cbレジスタ値(ビット16〜23)(従来例) 34 Cfレジスタ値(ビット24〜31)(従来例) 35 Aレジスタ値(有効領域幅) 36 Bバッファ値(バッファポインタの指すバイト) 37 バッファポインタBP(算術符号バッファ格納先
の指定) 38 後処理(FLUSH)用カウンタ値CT 40 Cレジスタ値(符号レジスタ)(実施例) 41 Ceレジスタ値(ビット0〜20)(実施例) 42 Cxレジスタ値(ビット0〜11)(実施例) 43 Cvレジスタ値(ビット12〜20)(実施例) 44 Cbレジスタ値(ビット12〜19)(実施例) 45 Cyレジスタ値(ビット20)(実施例) 46 Csレジスタ値(ビット21〜23)(実施例) 47 Cfレジスタ値(ビット24〜31)(実施例) 48 Uレジスタ値(ビット24〜31) 50 Cレジスタ値(符号レジスタ)(従来例) 51 Cfレジスタ値(ビット0〜7)(従来例) 52 Cnレジスタ値(ビット8〜15)(従来例) 53 Cxレジスタ値(ビット16〜31)(従来例) 54 Aレジスタ値(有効領域幅) 55 Bバッファ値(バッファポインタの指すバイト) 56 バッファポインタBP(算術符号バッファ格納先
の指定) 60 Dレジスタ値(符号受信レジスタ)(実施例) 61 Dnレジスタ値(ビット0〜7)(実施例) 62 Deレジスタ値(ビット8〜28)(実施例) 63 Dxレジスタ値(ビット8〜19)(実施例) 64 Dvレジスタ値(ビット20〜28)(実施例) 65 Dsレジスタ値(ビット29〜31)(実施例) 70 桁上がり境界値T 71 非桁上がり領域幅R0 72 桁上がり領域幅R1 73 境界移動フラグMFLG 74 切捨て領域比率αまたはLPS割当領域比率α 75 LPSの出現確率q(=Qe/A) 76 適応領域切捨て方式による符号長L0 77 適応境界移動方式による符号長L1 78 方式選択のしきい値TH Amin 有効領域最小値(正規化実行条件用) BPST 算術符号バッファ先頭アドレス LEN バッファ容量(単位:バイト) BE バッファ終了アドレス LSB X レジスタXの最下位ビット値 LEN0(α) 適応領域切捨て方式による切捨て領域
比率αにおける符号長 =−log2 (1−α)−q×log2 q −(1−q)×log2 (1−q) LEN1(α) 適応境界移動方式によるLPS割当領
域比率αにおける符号長 =−q×log2 α−(1−q)×log2 (1−α)Reference Signs List 1 Input side model / probability generator 2a Arithmetic encoder by 1-bit insertion method every time 2c Arithmetic encoder by adaptive region truncation method 2d Arithmetic encoder by adaptive boundary shift method 2e Arithmetic encoder by efficiency maximization method 3a 1 bit each time Arithmetic decoder by insertion method 3c Arithmetic decoder by adaptive region truncation method 3d Arithmetic decoder by adaptive boundary moving method 3e Arithmetic decoder by efficiency maximization method 4 Model / probability generator on output side 5a Arithmetic by 1-bit insertion method every time Coding means 5c Arithmetic coding means by adaptive region truncation method 5d Arithmetic coding means by adaptive boundary moving method 5e Arithmetic coding means by maximum efficiency method 6a Arithmetic decoding means by 1-bit insertion method every time 6c Arithmetic by adaptive region truncation method Decoding means 6d Arithmetic decoding means by adaptive boundary moving method 6e Arithmetic decoding means by maximizing method 10 Input data 11 Input value YN 12 Predicted value MPS 13 Non-predicted value LPS 14 LPS area width Qe 15a Arithmetic code including carry control signal by 1 bit insertion method every time 15c Adaptive area truncation method Arithmetic code 15d Arithmetic code by adaptive boundary moving method 15e Arithmetic code by efficiency maximization method 16 Output value YN 17 Predicted value MPS 18 Non-predicted value LPS 19 LPS area width Qe 20 Output data 30 C register value (code register) (conventional example) 31 Cx register value (bits 0 to 11) (conventional example) 32 Cs register value (bits 12 to 15) (conventional example) 33 Cb register value (bits 16 to 23) (conventional example) 34 Cf register value (bit 24) 31) (Conventional example) 35 A register value (effective area width) 36 B buffer Key value (byte pointed by buffer pointer) 37 Buffer pointer BP (designation of arithmetic code buffer storage destination) 38 Counter value CT for post-processing (FLUSH) 40 C register value (code register) (Example) 41 Ce register value (bit) 0-20) (Example) 42 Cx register value (bits 0-11) (Example) 43 Cv register value (Bits 12-20) (Example) 44 Cb register value (Bits 12-19) (Example) 45 Cy register value (bit 20) (Example) 46 Cs register value (bits 21 to 23) (Example) 47 Cf register value (Bits 24 to 31) (Example) 48 U register value (Bits 24 to 31) 50 C register value (sign register) (conventional example) 51 Cf register value (bits 0 to 7) (conventional example) 52 Cn register value (bit 8 to 15) (conventional example) 53 Cx register value (bits 16 to 31) (conventional example) 54 A register value (effective area width) 55 B buffer value (byte indicated by buffer pointer) 56 buffer pointer BP (arithmetic code buffer) (Specification of storage destination) 60 D register value (sign receiving register) (Example) 61 Dn register value (bits 0 to 7) (Example) 62 De register value (Bits 8 to 28) (Example) 63 Dx register value (Bits 8 to 19) (Example) 64 Dv register value (bits 20 to 28) (Example) 65 Ds register value (Bits 29 to 31) (Example) 70 Carry-up boundary value T 71 Non-carry-up area width R0 72 Carry region width R1 73 Boundary movement flag MFLG 74 Truncated region ratio α or LPS assigned region ratio α 75 LPS appearance probability q (= Q / A) 76 Code length L0 based on adaptive area truncation method 77 Code length L1 78 based on adaptive boundary movement method TH Amin Minimum value of effective area (for normalization execution conditions) BPST Arithmetic code buffer start address LEN buffer capacity (Unit: bytes) BE buffer end address LSB X Least significant bit value of register X LEN0 (α) Code length at truncated area ratio α by adaptive area truncation method = −log 2 (1−α) −q × log 2 q − (1-q) × log 2 (1-q) LEN1 (α) Code length at LPS allocation area ratio α by the adaptive boundary movement method = −q × log 2 α− (1-q) × log 2 (1-α )
───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉田 雅之 鎌倉市大船五丁目1番1号 三菱電機株 式会社 通信システム研究所内 (58)調査した分野(Int.Cl.6,DB名) H03M 7/40──────────────────────────────────────────────────続 き Continuation of the front page (72) Inventor Masayuki Yoshida 5-1-1, Ofuna Kamakura City Mitsubishi Electric Corporation Communication Systems Research Laboratories (58) Field surveyed (Int. Cl. 6 , DB name) H03M 7 / 40
Claims (13)
信号出力とにより情報を符号化する符号化手段、 (b)上記符号化手段により符号化された所定数の符号
を記憶するとともに、桁上がりを伝播させる機能をもつ
記憶手段、 (c)符号化手段によって符号化された符号が符号化手
段から出力された桁上がり発生信号による桁上がりを伝
播させることにより、上位の出力済みの符号と上記記憶
手段に記憶された符号とから所定のパターンが発生する
ことを検出する検出手段、 (d)上記符号化手段からの符号出力と桁上がり発生信
号出力を監視し、上記記憶手段を用いて、上記符号化手
段からの符号出力に所定のパターンが連続していること
を検出し、所定のパターンの連続終了後に、その所定の
パターンの連続終了を示す信号と下位桁からの桁上がり
有無を示す桁上がり発生信号とから構成される制御信号
を付加する制御信号付加手段。1. A coding method having the following elements: (a) coding means for coding information by a code output according to a predetermined coding method and a carry generation signal output; and (b) a code by the coding means. Predetermined number of codes
As well as memorize, and has a function of propagating a carry
Storage means, (c) encoded codes by propagating a carry by carry generate signal outputted from the encoding means by the encoding means, higher output has been code and the storage
Detecting means for detecting that the the stored sign means a predetermined pattern is generated by monitoring the sign output and carry generation signal output from the (d) the coding means, with reference to the storage means, the Detecting that a predetermined pattern is continuous with the code output from the encoding means, and after the predetermined pattern has been completed, a signal indicating the end of the predetermined pattern and a digit indicating whether or not a carry from the lower digit has occurred. Control signal adding means for adding a control signal composed of a rising signal.
信号出力とにより情報を符号化する符号化手段、 (b)上記符号化手段により符号化された符号を出力す
るために記憶する記憶手段、 (c)上記符号化手段により符号化された符号が所定の
パターンを発生した場合、上記記憶手段により記憶され
た所定のパターンの連続する数をカウントするカウント
手段、 (d)上記符号化手段の符号化の結果、上記記憶手段に
より記憶した連続する所定のパターンを変更する必要が
生じた場合、上記カウント手段がカウントした数に基づ
いて、上記記憶手段が記憶した連続する所定のパターン
を変更する変更手段、 (e)上記符号化手段の符号化の結果、上記記憶手段に
より記憶した連続する所定のパターンを変更する必要が
生じない場合、所定のパターンの連続終了後に、その所
定のパターンの連続終了を示す信号と下位桁からの桁上
がり有無を示す桁上がり発生信号とから構成される制御
信号を付加する制御信号付加手段。2. A coding method having the following elements: (a) coding means for coding information by a code output according to a predetermined coding method and a carry generation signal output; and (b) a code by the coding means. Storage means for storing the encoded code for output, (c) when the code encoded by the encoding means generates a predetermined pattern, a continuous number of the predetermined pattern stored by the storage means (D) when it is necessary to change the continuous predetermined pattern stored in the storage unit as a result of the encoding by the encoding unit, based on the number counted by the counting unit, Changing means for changing a continuous predetermined pattern stored in the storage means; (e) as a result of the encoding by the encoding means, a continuous predetermined pattern stored in the storage means; When it is not necessary to change the turn, after the end of the continuation of the predetermined pattern, a control signal composed of a signal indicating the continuation of the predetermined pattern and a carry generation signal indicating the presence or absence of a carry from the lower digit is output. Control signal adding means to be added.
は所定の数まで連続する所定のパターンをカウントし、
符号化手段は上記カウント手段がカウントした数に基づ
いて変更手段に対して記憶手段に記憶した所定のパター
ンを変更する旨の指示を行うことを特徴とする請求項2
記載の符号化方式。3. In the above-mentioned encoding method, the counting means counts a predetermined pattern which continues up to a predetermined number,
3. The encoding device according to claim 2, wherein the encoding device instructs the changing device to change the predetermined pattern stored in the storage device based on the number counted by the counting device.
The coding method described.
信号出力とにより情報を符号化する符号化手段、 (b)上記符号化手段により符号化された符号を出力す
るために記憶する記憶手段、 (c)上記符号化手段により符号化された符号が所定の
パターンを発生した場合、上記記憶手段により記憶され
た所定のパターンの連続する数をカウントする第1のカ
ウント手段、 (d)上記符号化手段により符号化された符号が所定の
パターンを発生した後の最初の所定のパターン以外の符
号を記憶するパターン記憶手段、 (e)上記パターン記憶手段により記憶された符号の後
に発生する上記符号化手段による連続する所定のパター
ンの発生の数をカウントする第2のカウント手段、 (f)上記符号化手段の符号化の結果、上記記憶手段に
より記憶した連続する所定のパターンを変更する必要が
生じた場合、上記第1と第2のカウント手段によりカウ
ントした連続する所定のパターンの数とパターン記憶手
段により記憶した符号の値に基づいて上記記憶手段が記
憶した連続する所定のパターンを変更する変更手段、 (g)上記符号化手段の符号化の結果、上記記憶手段に
より記憶した連続する所定のパターンを変更する必要が
生じない場合、所定のパターンの連続終了後に、その所
定のパターンの連続終了を示す信号と下位桁からの桁上
がり有無を示す桁上がり発生信号とから構成される制御
信号を付加する制御信号付加手段。4. A coding method having the following elements: (a) coding means for coding information by a code output according to a predetermined coding method and a carry generation signal output; and (b) a code by the coding means. Storage means for storing the encoded code for output, (c) when the code encoded by the encoding means generates a predetermined pattern, a continuous number of the predetermined pattern stored by the storage means (D) pattern storage means for storing a code other than the first predetermined pattern after the code coded by the coding means has generated a predetermined pattern; (e) Second counting means for counting the number of successive occurrences of the predetermined pattern by the encoding means occurring after the code stored by the pattern storage means; (f) the code As a result of the encoding by the converting means, if it becomes necessary to change the continuous predetermined pattern stored by the storage means, the number of the predetermined continuous patterns counted by the first and second counting means and the pattern storage Changing means for changing the continuous predetermined pattern stored by the storage means based on the value of the code stored by the means; (g) as a result of the coding by the coding means, the continuous predetermined pattern stored by the storage means If it is not necessary to change the pattern, after the end of the predetermined pattern, a control signal composed of a signal indicating the end of the predetermined pattern and a carry generation signal indicating the presence or absence of a carry from the lower digit is output. Control signal adding means to be added.
信号出力とにより情報を符号化する符号化工程、 (b)上記符号化工程により符号化された符号を記憶す
る記憶工程、 (c)上記符号化工程により符号化された符号が桁上が
りを伝播する符号であるとき、その連続する数を所定の
数までカウントするカウント工程、 (d)上記符号化工程により桁上がりの必要が発生した
とき、上記カウント工程によりカウントした数に基づい
て、上記記憶工程により記憶した符号に対して桁上がり
の伝播を行うか、上記符号化工程により符号化された符
号に桁上がりを伝播させずに所定数以上連続する所定パ
ターン以降に、その所定のパターンの連続終了を示す信
号と下位桁からの桁上がりの有無を示す桁上がり発生信
号とから構成される制御信号を挿入するかのいずれかを
実行する桁上がり制御工程。5. An encoding method comprising the following steps : (a) an encoding step of encoding information by a code output by a predetermined encoding method and a carry generation signal output; and (b) an encoding step by the encoding step. (C) a counting step of counting a continuous number up to a predetermined number when the code encoded in the encoding step is a code that propagates a carry; (d) When a carry is required in the encoding step, carry of the carry is performed on the code stored in the storage step based on the number counted in the counting step, or the code is transmitted in the encoding step. A signal indicating the end of the continuation of the predetermined pattern after a predetermined pattern that continues for a predetermined number or more without carrying a carry to the digitized code.
Signal indicating whether or not a carry from the lower digit has occurred.
Carry control step of executing one degree from the whether to insert the constructed control signal.
ンボルの出現確率に分割して新たな情報源シンボルに対
する有効領域に割り当てることにより情報源シンボルを
算術符号化する算術符号化手段、 (b)上記算術符号化手段と符号化過程においてにおい
て出力すべき符号系列の中から所定のビットパターンを
検出する検出手段、 (c)上記検出手段により所定のビットパターンが検出
された場合、上記算術符号化手段による符号化過程にお
ける後の桁上がり発生によって上記検出されたビットパ
ターンが反転する可能性の有無を判定する判定手段、 (d)上記判定手段により桁上がり発生の可能性がある
と判定された場合、有効領域を強制的に変更して桁上が
りの発生の可能性を解消するか若しくは桁上がりを強制
的に発生させる強制確定手段。6. An encoding method having the following elements: (a) providing a predetermined effective area, dividing the effective area into occurrence probabilities of information source symbols, and allocating the divided information to an effective area for a new information source symbol; Arithmetic coding means for arithmetically coding a source symbol; (b) detection means for detecting a predetermined bit pattern from a code sequence to be output in the arithmetic coding means and the coding process; When a predetermined bit pattern is detected by the above, the determination means determines whether there is a possibility that the detected bit pattern is inverted due to the occurrence of a carry in the encoding process by the arithmetic encoding means, (d) When it is determined by the determination means that a carry may occur, the effective area is forcibly changed to eliminate the possibility of carry. Or carry forcibly Force established means for generating a.
境界が存在するかを判定することにより桁上がり発生の
可能性の有無を判定することを特徴とする請求項6記載
の符号化方式。7. The encoding method according to claim 6, wherein said determination means determines whether or not a carry is likely to occur by determining whether or not a carry boundary exists in the effective area. .
り境界で分割し、分割されたいずれか一方の領域を新た
な有効領域とすることを特徴とする請求項7記載の符号
化方式。8. The encoding method according to claim 7, wherein said forced determination means divides the effective area at a carry boundary and sets any one of the divided areas as a new effective area.
り境界で桁上がり領域と非桁上がり領域に分離し、大き
くない方の領域を切り捨て、残る大きい領域の方を有効
領域として選択する領域選択手段を有する請求項7記載
の符号化方式。9. The forced determination means separates an effective area into a carry area and a non-carry area at a carry boundary, cuts off a smaller area, and selects a remaining larger area as an effective area. The encoding method according to claim 7, further comprising a selection unit.
号化パラメータで指示される劣勢シンボルと優勢シンボ
ルの対応領域の境界を、桁上がり領域と非桁上がり領域
とが分かれる桁上がり境界に移動させる境界移動手段
と、上記境界移動手段により与えられる桁上がり領域と
非桁上がり領域のうち小さくない領域に優勢シンボル、
残る領域に劣勢シンボルを割り当てる適応領域割当手段
とを有する請求項7記載の符号化方式。10. The forcible determination means shifts a boundary of a corresponding region between a less-probable symbol and a superior symbol indicated by a coding parameter of a next symbol to a carry boundary where a carry region and a non-carry region are separated. A boundary moving means, a dominant symbol in a non-small one of a carry area and a non-carry area provided by the boundary move means,
8. The coding method according to claim 7, further comprising: an adaptive area allocating means for allocating a less probable symbol to the remaining area.
がり領域に分離し、大きくない方の領域を切り捨て、残
る大きい領域の方を有効領域として選択する領域選択手
段と、 (b)次シンボルの符号化パラメータで指示される劣勢
シンボルと優勢シンボルの対応領域の境界を、桁上がり
領域と非桁上がり領域とが分かれる桁上がり境界に移動
させる境界移動手段、及び、上記境界移動手段により与
えられる桁上がり領域と非桁上がり領域のうち小さくな
い領域に優勢シンボル、残る領域に劣勢シンボルを割り
当てる適応領域割当手段と、 (c)上記領域選択手段による処理又は上記適応領域割
当手段による処理のいずれかを選択する方式選択手段と
を有する請求項7記載の符号化方式。 11. The forcible determination means includes: (a) setting an effective area at a carry boundary to a carry area and a non-carry area;
Area, cut off the smaller area,
Area selection method to select the larger area as the effective area
And (b) the inferiority indicated by the coding parameter of the next symbol
Carry the boundary of the corresponding area of the symbol and the dominant symbol
Move to carry boundary where area and non-carry area separate
Boundary moving means, and the boundary moving means
The carry area and the non-carry area
The superior symbol is assigned to the area that is not
Adaptive region assigning means for applying, treatment with (c) the area selecting means or the adaptation region split
A method selecting means for selecting any of the processing by the means;
The encoding method according to claim 7, comprising:
がり境界により区分される桁上がり領域と非桁上がり領
域のうち小さい領域の有効領域に占める領域比率と劣勢
シンボルの出現確率から、上記領域選択手段による処理
と上記適応領域割当手段による処理とにおける次シンボ
ルまで含めた理論的な符号長の期待値を計算して比較
し、期待値の小さい処理を選択することを特徴とする請
求項11記載の符号化方式。12. The method selection means, from the occurrence probabilities of the area ratio and the inferior symbol occupying the active area of the small region in the carry region and the non-carry regions divided by the carry boundary of the effective region, the region Processing by selection means
12. The coding method according to claim 11, wherein an expected value of a theoretical code length including the next symbol in the processing by the adaptive area allocating means is calculated and compared, and a processing having a small expected value is selected. method.
がり境界により区分される桁上がり領域と非桁上がり領
域のうち小さい領域の有効領域に占める領域比率が劣勢
シンボルの出現確率または符号化パラメータから固定ま
たは簡易な計算により得られるしきい値未満ならば上記
領域選択手段による処理を選択し、またしきい値以上な
らば上記適応領域割当手段による処理を選択することを
特徴とする請求項11記載の符号化方式。13. The system selection means according to claim 1, wherein a ratio of an area occupying a smaller effective area to an effective area among a carry area and a non-carry area divided by a carry boundary of an effective area is a probability of occurrence of a less-probable symbol or an encoding parameter. Above if it is less than the threshold obtained by fixed or simple calculation from
12. The coding method according to claim 11 , wherein the processing by the area selecting means is selected, and the processing by the adaptive area allocating means is selected if the processing is equal to or larger than the threshold value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5013374A JP2755091B2 (en) | 1992-06-22 | 1993-01-29 | Encoding method and encoding method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4-162778 | 1992-06-22 | ||
JP16277892 | 1992-06-22 | ||
JP5013374A JP2755091B2 (en) | 1992-06-22 | 1993-01-29 | Encoding method and encoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0685687A JPH0685687A (en) | 1994-03-25 |
JP2755091B2 true JP2755091B2 (en) | 1998-05-20 |
Family
ID=26349155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5013374A Expired - Fee Related JP2755091B2 (en) | 1992-06-22 | 1993-01-29 | Encoding method and encoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2755091B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3745160B2 (en) | 1999-04-12 | 2006-02-15 | 三菱電機株式会社 | Encoding device, decoding device, encoding method, and decoding method |
JP3801501B2 (en) | 2001-12-18 | 2006-07-26 | 三菱電機株式会社 | Encoding apparatus, decoding apparatus, encoding / decoding apparatus, encoding method, decoding method, encoding / decoding method, and program |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0537391A (en) * | 1990-12-28 | 1993-02-12 | Mitsubishi Electric Corp | Device and system for code transmission |
-
1993
- 1993-01-29 JP JP5013374A patent/JP2755091B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0537391A (en) * | 1990-12-28 | 1993-02-12 | Mitsubishi Electric Corp | Device and system for code transmission |
Also Published As
Publication number | Publication date |
---|---|
JPH0685687A (en) | 1994-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5045852A (en) | Dynamic model selection during data compression | |
US6906647B2 (en) | Method and apparatus for arithmetic coding, including probability estimation state table creation | |
US6825782B2 (en) | Method and apparatus for arithmetic coding and termination | |
JP2800880B2 (en) | High-speed decoding arithmetic coding device | |
CN101167368B (en) | Method and device for realizing arithmetic coding/decoding | |
JPH10107645A (en) | Coder and coding system | |
JPH0744462B2 (en) | Compression encoding method and decoding method | |
US11265561B2 (en) | Method and apparatus for range derivation in context adaptive binary arithmetic coding | |
KR950013404B1 (en) | Coding transmittion and method | |
DK3079261T3 (en) | METHOD AND APPARATUS FOR ARITHMETIC DECODATION | |
US5668737A (en) | High-speed data processor and coding method | |
US6778109B1 (en) | Method for efficient data encoding and decoding | |
WO1997035422A1 (en) | Encoder, decoder and methods used therefor | |
JPH0669813A (en) | Decoding device of variable-length code | |
EP0658982B1 (en) | System for bi-level symbol coding-decoding with saved storage and method for the same | |
CN1983334A (en) | Method and device for realizing arithmetic coding and decoding | |
JPH1051791A (en) | Image coder and image decoder | |
US6850175B1 (en) | Method and apparatus for arithmetic coding | |
JP2755091B2 (en) | Encoding method and encoding method | |
JPH11340838A (en) | Coder and decoder | |
EP0264784B1 (en) | Convolutional encoder | |
Feygin et al. | Minimizing error and VLSI complexity in the multiplication free approximation of arithmetic coding | |
KR19990075942A (en) | Adaptive Arithmetic Coding and Its Decoding Method | |
JPH06121172A (en) | Picture encoder | |
JP2783019B2 (en) | Encoding device, encoding method, encoding method, decoding method, and decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080306 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090306 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100306 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100306 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110306 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |