JP3286898B2 - Encoding device, decoding device, image encoding device, and image decoding device - Google Patents
Encoding device, decoding device, image encoding device, and image decoding deviceInfo
- Publication number
- JP3286898B2 JP3286898B2 JP32838096A JP32838096A JP3286898B2 JP 3286898 B2 JP3286898 B2 JP 3286898B2 JP 32838096 A JP32838096 A JP 32838096A JP 32838096 A JP32838096 A JP 32838096A JP 3286898 B2 JP3286898 B2 JP 3286898B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- processing
- normalization
- encoding
- value
- 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 Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【0001】[0001]
【発明の属する技術分野】この発明は画像情報などの符
号化及び復号化に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to encoding and decoding of image information and the like.
【0002】[0002]
【従来の技術】マルコフ情報源の符号化についてはシン
ボル系列を数直線上で0.0から1.0までの間に写像
(マッピング)しその座標を例えば2進表示したものを
符号語として符号化する数直線表示符号化方式(算術符
号化方式)が知られている。図1はその概念図である。
簡単のため2値の無記憶から出力されるシンボル”1”
の出現確率をr、”0”の出現確率を1−rとし、シン
ボル”1”に対する範囲を下位に配置した場合を示して
いる。無記憶情報源の出力系列長を3とすると、右端の
C(000)〜C(111)のそれぞれの座標を2進表
示し、区別のつく桁までで打ち切ってそれぞれの符号語
とすれば受信側では送信側と同様の過程を経ることによ
り復号が可能である。このような系列では第i時点での
シンボル系列の数直線上へのマッピング範囲のAi 、そ
の範囲の最小の座標Ci は出現したシンボルai が”
0”のとき2. Description of the Related Art For encoding a Markov information source, a symbol sequence is mapped (mapped) between 0.0 and 1.0 on a number line, and its coordinates are represented, for example, in binary, as a code word. A number line display coding method (arithmetic coding method) is known. FIG. 1 is a conceptual diagram.
Symbol "1" output from binary memory for simplicity
, The occurrence probability of “0” is represented by r, the occurrence probability of “0” is represented by 1−r, and the range for the symbol “1” is arranged at a lower position. Assuming that the output sequence length of the memoryless information source is 3, the coordinates of each of C (000) to C (111) at the right end are displayed in binary, and the coordinates are truncated to a distinguishable digit to obtain each codeword. The decoding can be performed on the side through the same process as the transmitting side. In such a sequence, A i of the mapping range on the number line of the symbol sequence at the i-th time point, and the minimum coordinate C i of the range is determined by the symbol a i that appears.
0 ”
【0003】[0003]
【数1】 (Equation 1)
【0004】[0004]
【数2】 (Equation 2)
【0005】出現したシンボルai が”1”のときWhen the appearing symbol a i is “1”
【0006】[0006]
【数3】 (Equation 3)
【0007】[0007]
【数4】 (Equation 4)
【0008】となる。さて、An overview
of the basic principles o
f the Q−corder−Adaptive b
inaryarithmetic corder(IB
M Journal of Research & D
evelopment Vol.32 No.6 No
v.1988)に記載されているように演算負荷の大き
い掛け算等の演算回数を減らすためにはrAi-1 を演算
せずに、複数の固定値をセットとしてテーブルに用意
し、その中からマルコフ状態に対応する値を選択する方
法を採ることにより有限精度で符号化、復号化が実現で
きる。したがって、マッピングが順次繰り返されると範
囲(領域)Ai-1 は次第に小さくなっていくので演算の
精度を保つため正規化処理(例えばAi-1 を2のべき乗
倍すること)が必要であり実際の符号語では上記固定値
は常に同じものとし、演算時に2のべき乗分の1すなわ
ち2進数のシフトを行うことで処理される。ここで、r
Ai-1 をSと近似すると、前述した式は、それぞれ次の
ようになる。ai が”0”のとき[0008] By the way, An overview
of the basic princes o
f the Q-coder-Adaptive b
inaryarithmatic corder (IB
M Journal of Research & D
development Vol. 32 No. 6 No
v. 1988), in order to reduce the number of calculations such as multiplications with a large calculation load, rA i-1 is not calculated, but a plurality of fixed values are prepared as a set in a table. By adopting a method of selecting a value corresponding to, encoding and decoding can be realized with finite accuracy. Therefore, if the mapping is sequentially repeated, the range (area) A i-1 becomes gradually smaller, so that it is necessary to perform a normalization process (for example, multiply A i-1 by a power of 2) in order to maintain the calculation accuracy. In an actual code word, the fixed value is always the same, and is processed by performing a shift of a power of two, that is, a binary number at the time of calculation. Where r
When A i-1 is approximated to S, the above-described equations are respectively as follows. When ai is "0"
【0009】[0009]
【数5】 (Equation 5)
【0010】[0010]
【数6】 (Equation 6)
【0011】ai が”1”のときWhen a i is "1"
【0012】[0012]
【数7】 (Equation 7)
【0013】[0013]
【数8】 (Equation 8)
【0014】となる。ここで、本来、前シンボル迄の範
囲(領域)Ai-1 はマッピングが繰り返されるにしたが
って、逐次小さくなっていくのでSも逐次小さくしてい
く必要がある。Sを小さくすることは具体的にはシフト
動作で2のべき乗分の1とすることで実現される。しか
し、Sを小さくしていくとその上位ビットに直接演算に
関係のない0増えて行くだけなので、逆にAi-1 を2の
べき乗倍し、Ai-1を最小値(初期値の1/2)に保つ
ことによって 一定値のSを用いると考えることができ
る。これを正規化処理と呼ぶ。なお、以下ではシンボル
ai が”0”の場合をMPS(優勢シンボル:より出現
確率の高いシンボル)、”1”の場合をLPS(劣勢シ
ンボル:より出現確率の低いシンボル)とする。すなわ
ち、事前に予測変換処理が行われており出現確率の高い
と想定されるMPSか低いと想定されるLPSかで表現
されているものとする。また、上述したシンボルai
が”1”のときの範囲## EQU1 ## Here, originally, the range (area) A i-1 up to the previous symbol gradually decreases as the mapping is repeated, so that it is necessary to reduce S accordingly. The reduction of S is specifically realized by making the shift operation a power of two. However, when S is reduced, the higher bits only increase by 0 which is not directly related to the operation. Therefore, Ai -1 is multiplied by a power of 2, and Ai -1 is reduced to the minimum value (initial value of the initial value). It can be considered that a constant value of S is used by keeping the value at 1/2. This is called normalization processing. Hereinafter, the case where the symbol a i is “0” is referred to as MPS (dominant symbol: a symbol having a higher appearance probability), and the case of “1” is referred to as LPS (inferior symbol: a symbol having a lower appearance probability). In other words, it is assumed that the prediction conversion process has been performed in advance, and the MPS is assumed to have a high appearance probability and is assumed to be low. Also, the symbols a i described above
Range when is "1"
【0015】[0015]
【数9】 (Equation 9)
【0016】は劣勢シンボルの範囲(領域)となる。ま
た、図2は従来の符号化装置を示すブロック図であり、
図において、1は前シンボルに割り当てられた範囲(領
域)の値を一時記憶するレジスタ、2は減算器、3は範
囲(領域)の切替器、4は座標の切替器、5は正規化処
理によるシフト量を決定するシフト器、6は符号化出力
を演算する演算部である。つぎに、動作を図に基づいて
説明する。図示していない予測見積部でマルコフ情報源
の状態から複数の値を持つテーブルより選択されたS
(劣勢シンボル範囲(領域))が入力されると減算器2
はレジスタ1に記憶されている前シンボルの範囲(領
域)Ai-1 との差(Ai-1 −S)を求め出力する。優勢
シンボルに割り当てる範囲(領域)(Ai-1 −S)と劣
勢シンボルに割り当てる範囲(領域)Sが切替器3に入
力され、シンボルが優勢シンボルか劣勢シンボルかによ
り切り替えられる。すなわち、シンボルが優勢シンボル
であればシンボルに割り当てる範囲(領域)Is the range (area) of the inferior symbol. FIG. 2 is a block diagram showing a conventional encoding device.
In the figure, 1 is a register for temporarily storing the value of a range (region) allocated to the previous symbol, 2 is a subtractor, 3 is a range (region) switch, 4 is a coordinate switch, and 5 is a normalization process. Is a shifter for determining the shift amount of the data, and 6 is a calculation unit for calculating an encoded output. Next, the operation will be described with reference to the drawings. S selected from a table having a plurality of values from the state of the Markov information source by a prediction estimating unit (not shown)
When (inferior symbol range (area)) is input, subtracter 2
Calculates the difference (A i−1 −S) from the range (area) A i−1 of the previous symbol stored in the register 1 and outputs the difference. The range (region) (A i-1 -S) to be assigned to the superior symbol and the range (region) S to be assigned to the inferior symbol are input to the switch 3 and are switched depending on whether the symbol is the superior symbol or the inferior symbol. That is, if the symbol is a dominant symbol, the range (area) to be assigned to the symbol
【0017】[0017]
【数10】 (Equation 10)
【0018】として出力し、劣勢シンボルであればシン
ボルに割り当てる範囲(領域)[0018] If the symbol is a less-probable symbol, the range (area) to be assigned to the symbol
【0019】[0019]
【数11】 [Equation 11]
【0020】として出力する。また、切替器4では優勢
シンボルか劣勢シンボルかにより入力される劣勢シンボ
ル範囲(領域)Sまたは固定値0のどちらかを前シンボ
ルに割り当てた範囲(領域)Ai-1 の最小座標Ci-1 に
対する差分座標ΔCとして出力する。すなわち、上位に
配置された優勢シンボルであれば差分座標Is output. Further, the switching unit 4 assigns either the inferior symbol range (region) S or the fixed value 0, which is input according to the superior symbol or the inferior symbol, to the preceding symbol, the minimum coordinate C i− of the range (region) A i−1. It is output as the difference coordinate ΔC for 1 . That is, if the symbol is a dominant symbol arranged at a higher position, the difference coordinates
【0021】[0021]
【数12】 (Equation 12)
【0022】として出力し、下位に配置された劣勢シン
ボルであれば差分座標And outputs the difference coordinates if the symbols are inferiorly arranged at lower levels.
【0023】[0023]
【数13】 (Equation 13)
【0024】として出力する。切替器3の出力Ai はレ
ジスタ1及びシフト器5に送られる。シンボルai に対
する割り当てられた範囲(領域)Ai はレジスタ1に記
憶され次のシンボルの範囲(領域)算出のデータとな
る。シフト器5では入力される範囲(領域)Ai を1/
2と比較し、1/2より小さい場合には範囲(領域)A
i を2倍した後再度1/2と比較して、範囲(領域)A
i が1/2を越えるまでの2倍することを繰り返す。そ
して範囲(領域)Ai が1/2を越えるまでの拡大回数
lを求め、座標のシフト量lとしてレジスタ1及び演算
部6へ出力する。そして、演算部6は切替器4およびシ
フト器5の出力を入力として符号語の演算を行い出力す
る。演算部6には過去からの差分座標が累積加算され記
憶されている。すなわち、この累積加算された値は前シ
ンボルに割り当てられた範囲(領域)の最小座標Ci-1
に等しい。入力差分座標ΔCは前シンボルの最小座標C
i−1に加算され現シンボルの割り当て範囲(領域)の
最小座標Ci を得る。この最小座標Ci をシフト量l
(ビット)だけシフトさせ有効範囲内の最大座標と一致
する部分があるかを調べる。もし一致する部分があれば
その部分を確定座標ビットすなわち符号語として出力す
る。Is output. The output A i of the switch 3 is fed to the register 1 and the shifter 5. Symbol a range assigned for i (region) A i is stored in the register 1 a following range of symbols (region) calculated data. The shifter 5 reduces the input range (area) A i by 1 /
Compared to 2, if smaller than 1/2, range (area) A
After doubling i , comparing it with 再度 again, the range (area) A
Repeat the doubling until i exceeds 1/2. Then, the number of expansions 1 until the range (area) A i exceeds 1 / is obtained, and is output to the register 1 and the arithmetic unit 6 as the coordinate shift amount l. The operation unit 6 receives the outputs of the switch 4 and the shifter 5 as inputs, performs an operation on the codeword, and outputs the result. The arithmetic unit 6 accumulates and stores difference coordinates from the past. That is, the accumulated value is the minimum coordinate C i-1 of the range (area) assigned to the previous symbol.
be equivalent to. The input difference coordinate ΔC is the minimum coordinate C of the previous symbol.
It is added to i-1 to obtain a minimum coordinate C i of allocation range of the current symbol (region). The minimum coordinate C i is set to the shift amount l
(Bit), and check whether there is a portion that matches the maximum coordinate within the effective range. If there is a matching part, the part is output as a fixed coordinate bit, that is, a code word.
【0025】つぎに、一般的な算術符号化装置と算術復
号化装置について詳細に説明する。算術復号化の符号化
装置(Encoder)・復号化装置(Decode
r)は、ITU−Tの国際標準勧告T.82に記載され
るテーブルおよび処理フローによって実現できる。以
下、この算術符号化をQM−Coder、その符号化装
置をQM符号部7、その復号化装置をQM復号部8と呼
ぶものとし、その符号化装置、復号化装置の概略構成を
図3、図4に示す。図3において9は入力画像を記憶す
る画像メモリ、10は出現する確率の高い画素値MPS
(More Probable Symbolo優勢シ
ンボル)を予測値として記憶する各1ビットのMPSテ
ーブル、11は予測値の予測一致確率の程度を統計11
3の状態(State)に分類した状態番号(0〜11
2)を記憶する各7ビットのSTテーブル、12はLP
S領域幅を16ビットで表すLSZテーブル、13はM
PS遷移先を7ビットで表するNMPSテーブル、14
はLPS遷移先を7ビットで表すNLPSテーブル、1
5は予測値反転判定を1ビットで表すSWTCHテーブ
ル、16は上記MPSテーブル10からの予測値と上記
画像メモリ9からの画素Pixを入力しシンボルを出力
する画素シンボル変換器、17、18は上記MPSテー
ブル10とSTテーブル11との値を更新する更新処理
器、19は符号器である。Next, a general arithmetic coding device and a general arithmetic decoding device will be described in detail. Arithmetic decoding encoder (Encoder) / decoder (Decode)
r) is the ITU-T international standard recommendation T. 82 can be realized by the table and the processing flow. Hereinafter, this arithmetic coding is referred to as a QM-coder, the coding device is referred to as a QM encoding unit 7, and the decoding device is referred to as a QM decoding unit 8. The schematic configuration of the coding device and the decoding device is shown in FIG. As shown in FIG. In FIG. 3, 9 is an image memory for storing an input image, and 10 is a pixel value MPS having a high probability of appearing.
1-bit MPS table that stores (More Probable Symbolo dominant symbol) as a predicted value.
State number (0 to 11) classified into state 3 (State)
2) 7-bit ST table for storing 2), 12 is LP
An LSZ table in which the S area width is represented by 16 bits.
NMPS table indicating PS transition destination by 7 bits, 14
Is an NLPS table representing the LPS transition destination with 7 bits, 1
Reference numeral 5 denotes a SWTCH table representing 1-bit prediction value inversion determination, 16 denotes a pixel symbol converter that inputs a prediction value from the MPS table 10 and a pixel Pix from the image memory 9 and outputs a symbol, and 17 and 18 denote a pixel symbol converter. An update processor 19 for updating the values of the MPS table 10 and the ST table 11 is an encoder.
【0026】なお、上記LSZテーブル12、NMPS
テーブル13、NLPSテーブル14、SWTCHテー
ブル15を確率推定テーブルとする。次に符号化装置の
動作について、図3にもとづいて説明する。図3におい
て、QM符号部7の入力は2つあり、第1の入力はコン
テクスト(Context)であり、第2の入力は符号
化する画素である。出力は符号である。画像メモリ9
は、画像を蓄積し、符号化の対象となる画素(Pixe
l)に対してモデルテンプレート(Model Tem
plate)で指定された近隣の符号化/復号済みの1
0画素の参照パターンであるコンテクスト(10ビッ
ト。総数1024)を生成する。また、符号化のとき同
時に符号化対象画素を出力する。QM−Coderに
は、コンテクストを生成するための図5に示される2ラ
インおよび3ラインの標準モデルテンプレートが用意さ
れている。QM−Coderでは、符号化対象画素に対
する各コンテクストごとに画素値の予測一致確率を推定
し、その変動に伴って学習しながら符号化を進める。学
習は、コンテクストをインデクスとする2つの変数テー
ブル(MPSテーブル10、STテーブル11)を書き
換えることによって行われる。変数テーブルの他に、符
号化の際に状態番号(ステート)をインデクスとして参
照する定数テーブル(確率推定テーブル)が存在する。
その設定値を表1に示す。LPS領域幅を16ビットで
表すLSZテーブル12、MPS遷移先を7ビットで表
すNMPSテーブル13、LPS遷移先を7ビットで表
すNLPSテーブル14、予測値反転判定を1ビットで
表すSWTCHテーブル15である。(ここで示した英
字の変数・定数テーブル名は、後述の処理フローで用い
る配列名とする。)LSZテーブル12のLPS領域幅
は、算術符号器19内の演算部で参照され、適応予測の
学習には直接的には関係しない。算術符号器19の内部
ではLSZを用いて演算が行われ、演算精度が低下した
際には正規化処理(リノーマライズ。Renormal
ize)を行う。この正規化処理が行われるとき、同時
に学習を行う。正規化処理が発生したときの符号化シン
ボルがMPSであればMPS状態遷移先テーブル13の
NMPS値を、LPSであればLPS状態遷移テーブル
14のNLPS値をSTテーブル11に書き込み、状態
が遷移される。符号化のとき画素シンボル変換器16が
シンボル14を算術符号器19、更新処理器17、18
へ出力する。The LSZ table 12, NMPS
The table 13, the NLPS table 14, and the SWTCH table 15 are used as probability estimation tables. Next, the operation of the encoding device will be described with reference to FIG. In FIG. 3, there are two inputs to the QM encoding unit 7, a first input is a context, and a second input is a pixel to be encoded. The output is a sign. Image memory 9
Represents a pixel (Pixe) that stores an image and is to be encoded.
l) to the model template (Model Tem).
plate / encoded / decoded 1 in the neighborhood specified by
A context (10 bits; total number 1024), which is a reference pattern of 0 pixels, is generated. In addition, the encoding target pixel is output at the same time as the encoding. In the QM-coder, a standard model template of two lines and three lines shown in FIG. 5 for generating a context is prepared. In the QM-coder, the prediction coincidence probability of the pixel value is estimated for each context with respect to the encoding target pixel, and the encoding is advanced while learning according to the fluctuation. The learning is performed by rewriting two variable tables (MPS table 10 and ST table 11) each having a context as an index. In addition to the variable table, there is a constant table (probability estimation table) that refers to a state number (state) as an index during encoding.
Table 1 shows the set values. An LSZ table 12 representing the LPS area width by 16 bits, an NMPS table 13 representing the MPS transition destination by 7 bits, an NLPS table 14 representing the LPS transition destination by 7 bits, and a SWTCH table 15 representing the prediction value inversion determination by 1 bit. . (The alphabetic variable / constant table names shown here are array names used in the processing flow described later.) The LPS area width of the LSZ table 12 is referred to by an arithmetic unit in the arithmetic encoder 19 and is used for adaptive prediction. It is not directly related to learning. The arithmetic operation is performed inside the arithmetic encoder 19 using the LSZ. When the arithmetic precision is reduced, a normalization process (renormalization. Renormalization) is performed.
size). When this normalization process is performed, learning is performed at the same time. If the coded symbol at the time of the normalization processing is MPS, the NMPS value of the MPS state transition destination table 13 is written into the ST table 11 if it is an LPS, and if it is LPS, the state is changed. You. At the time of encoding, the pixel symbol converter 16 converts the symbol 14 into an arithmetic coder 19 and update processors 17 and 18.
Output to
【0027】また、正規化処理がLPSによるものであ
るとき、その予測一致確率が1/2であればMPS値を
反転(演算「1−MPS」)させてMPSテーブル10
に書き込む。一致確率が1/2であるかどうかは、予測
値反転判定テーブルSWTCH12のSWTCHテーブ
ル15のSWTCH値をフラグとして判定することがで
きる。このように、2つの変数テーブルST11および
MPSテーブル10に対して、それぞれ更新処理を行
い、個別に管理しなければならない。図3において、テ
ーブルST11およびMPS10の各更新処理器17、
18が更新値を決定し、テーブル値を書き換えることに
よって更新処理が行われる。図6は、表1によるQM−
Coderの状態遷移図である(状態数が113と多い
ため一部のみ示した)。各枠は1つの状態を示し、その
内部の数字は状態番号(括弧内は16進表記)を示して
いる。「MPS」と付いた矢印はMPS(正規化処理を
伴う場合)による状態遷移、「LPS」と付いた矢印は
LPSによる状態遷移である。MPS、LPSによる状
態の遷移先はNMPSテーブル13、NLPSテーブル
14の値による。下線の付いたLPS状態遷移はSWT
CHテーブル15の値が1であり、予測値の反転を伴
う。状態遷移の例を示す。符号化処理の開始時はすべて
のコンテクストについて「状態=0、予測値=0」に初
期化される。ここでは、コンテクストCXをただ1つ取
るものとして状態遷移を説明する。符号化処理の過程に
おいて、コンテクストCXに対する状態番号はST(C
X)、予測値はMPS(CX)で変数テーブルから参照
できる。第1シンボルとして劣勢シンボルLPSが出現
すると、状態ST(CX)は0から1に遷移する。実際
のLPSによる遷移先は、When the normalization processing is based on LPS, if the predicted coincidence probability is 1 /, the MPS value is inverted (operation “1-MPS”) and the MPS table 10
Write to. Whether the coincidence probability is 1/2 can be determined by using the SWTCH value in the SWTCH table 15 of the predicted value inversion determination table SWTCH12 as a flag. As described above, the two variable tables ST11 and the MPS table 10 need to be updated and managed individually. In FIG. 3, each update processor 17 of the tables ST11 and MPS10,
18 determines an update value and updates the table value to perform the update process. FIG. 6 shows QM-
It is a state transition diagram of Coder (only a part was shown because the number of states is as many as 113). Each frame indicates one state, and the number inside the state indicates the state number (hexadecimal notation is shown in parentheses). The arrow with “MPS” is a state transition by MPS (when normalization processing is involved), and the arrow with “LPS” is a state transition by LPS. The state transition destination by the MPS and LPS depends on the values of the NMPS table 13 and the NLPS table 14. The underlined LPS state transition is SWT
The value of the CH table 15 is 1, accompanied by inversion of the predicted value. The example of a state transition is shown. At the start of the encoding process, "state = 0, predicted value = 0" is initialized for all contexts. Here, the state transition will be described assuming that only one context CX is taken. In the encoding process, the state number for the context CX is ST (C
X), the predicted value can be referenced from the variable table by MPS (CX). When the inferior symbol LPS appears as the first symbol, the state ST (CX) changes from 0 to 1. The transition destination by the actual LPS is
【0028】[0028]
【数14】 [Equation 14]
【0029】として示され、STテーブル11の値をThe value of the ST table 11 is
【0030】[0030]
【数15】 (Equation 15)
【0031】に更新する。このとき、Is updated to At this time,
【0032】[0032]
【数16】 (Equation 16)
【0033】(図中「LPS」(下線付き))であれば
予測値を同時に更新する。つまり、MPSテーブル10
のMPS(CX)は0から1(反転値)となる。第2シ
ンボルも劣勢シンボルLPSならば、遷移先はIf ("LPS" (underlined) in the figure), the predicted value is updated at the same time. That is, the MPS table 10
The MPS (CX) of 0 changes from 0 to 1 (inverted value). If the second symbol is also the inferior symbol LPS, the transition destination is
【0034】[0034]
【数17】 [Equation 17]
【0035】となり、この場合In this case,
【0036】[0036]
【数18】 (Equation 18)
【0037】であるため予測値更新は不要である。第3
シンボルが優勢シンボルMPSならば正規化処理が行わ
れるときのみ状態を遷移させる。説明上、遷移があると
仮定すれば、遷移先はTherefore, updating of the predicted value is unnecessary. Third
If the symbol is the dominant symbol MPS, the state is changed only when the normalization processing is performed. For the sake of explanation, assuming that there is a transition, the transition destination is
【0038】[0038]
【数19】 [Equation 19]
【0039】となる。ここで説明した状態遷移を図中に
「***」で示した。なお、上述の状態遷移について
は、復号においても同様である。符号化処理フローを説
明する前に、符号器19中に設けられた符号化レジスタ
20および領域幅レジスタ22のビット配置を図7に示
す。符号化レジスタ20において、bit15とbit
16の間に小数点を設定し、”x”(16ビット)はL
SZテーブル12に対する演算部(Cx22)であり、
キャリがある場合はより上位へ伝搬する。”s”(3ビ
ット)はスペーサビット部(Cs23)、”b”(8ビ
ット)はバイト出力部(Cb24)、”c”(1ビッ
ト)は桁上がり判定部(Cc25)である。符号化の過
程において、符号化レジスタ20のレジスタ値は符号化
したシンボルに対応させた領域の下界値となるように更
新される。領域幅レジスタA21は符号化レジスタ20
の小数点に対応して、”x”レジスタ部に合わせて”
a”(16ビット)が小数部として配置され、初期状態
の値でのみ整数部(bit16)が”1”となる。領域
幅(領域サイズともいう)は、A−LSZ(下方領域
幅)またはLSZ(上方領域幅)に更新され、初期値
(整数部=”1”)を除いて1/2の重みを示すbit
15が”1”となるように正規化され、1/2以上に保
つことによって上方領域幅としていかなるLSZをLS
Zテーブル12から選択しても下方領域の確保を保証し
ている。正規化処理では、領域幅レジスタ21と、符号
化レジスタ20を同時に拡大する。QM−Coderで
は、状態に対して固定サイズとなるLSZテーブル12
から与えられる上方領域LSZ値は通常LPSに割り当
てるが、下方領域が上方領域より小さくなるときにはM
PSに割り当てる「条件付きMPS/LPS交換」を行
っている。LPSを符号化したとき、および「条件付き
MPS/LPS交換」を適用してMPSを符号化したと
きには正規化処理が行われる。このレジスタのビット配
置を基に、符号化の処理フローを説明する。処理フロー
中の用語「レイヤ」は階層的符号化の場合の「(解像
度)層」、「ストライプ」は画像をNライン単位(最終
ストライプのみNライン以下)で区切った「短冊」を意
味する。ここでは、レイヤ数=1として説明するが、複
数レイヤの符号化への拡張を妨げるものではない。符号
化処理フローを説明するために、図3、図7、表1で説
明した変数、テーブル、レジスタの他に、次の補助変数
CT26、BUFFER27、SC28、TEMP29
を使用する。CT26は、正規化処理による符号化レジ
スタ20および領域幅レジスタ21のシフト数を計数
し、値が0となったとき次の符号バイト出力を行うため
の補助変数である。BUFFER27は、符号化レジス
タ20から出力された符号バイト値を格納する補助変数
である。SC28は、符号化のみで使用され、符号化レ
ジスタ20から出力された符号バイト値が0xffであ
るときその連続数を計数する補助変数である。TEMP
29は、符号化のみで使用され、BUFFER27への
桁上がりを検出し、桁上がり処理後はその下位8ビット
を新たなBUFFER値27とするための補助変数であ
る。符号化レジスタ20からTEMP29を介して設定
されるBUFFER27は桁上がり処理を行うことなく
0xffとなることはなく、その時点でBUFFER2
7から下位、つまりBUFFER27及びSC個の0x
ffは符号化レジスタ21より上位への桁上がりあれば
変更されるため符号化レジスタ20から出力されていて
も符号として確定できていない。## EQU1 ## The state transition described here is indicated by “***” in the figure. Note that the above-described state transition is the same in decoding. Before describing the encoding process flow, FIG. 7 shows the bit arrangement of the encoding register 20 and the area width register 22 provided in the encoder 19. In the encoding register 20, bit 15 and bit
A decimal point is set between 16 and "x" (16 bits) is L
An operation unit (Cx22) for the SZ table 12,
If there is a carry, it propagates to a higher level. "S" (3 bits) is a spacer bit portion (Cs23), "b" (8 bits) is a byte output portion (Cb24), and "c" (1 bit) is a carry determination portion (Cc25). In the course of the encoding, the register value of the encoding register 20 is updated so as to be the lower limit value of the area corresponding to the encoded symbol. The area width register A21 is an encoding register 20
Corresponding to the decimal point of "x"
a "(16 bits) is arranged as a decimal part, and the integer part (bit 16) becomes" 1 "only in the initial state value. The region width (region size) is A-LSZ (lower region width) or Bit updated to LSZ (upper area width) and indicating a weight of 1/2 except for the initial value (integer part = "1")
15 is normalized to be “1”, and by keeping it at 1 / or more, any LSZ as the upper region width is set to LS.
Even if a selection is made from the Z table 12, the securing of the lower area is guaranteed. In the normalization processing, the area width register 21 and the encoding register 20 are simultaneously enlarged. In the QM-coder, the LSZ table 12 has a fixed size for the state.
Is normally assigned to LPS, but when the lower region is smaller than the upper region, M
"Conditional MPS / LPS exchange" assigned to PS is performed. A normalization process is performed when the LPS is coded and when the “conditional MPS / LPS exchange” is applied and the MPS is coded. An encoding process flow will be described based on the bit arrangement of this register. The term “layer” in the processing flow refers to “(resolution) layer” in the case of hierarchical coding, and “stripes” refers to “strips” obtained by dividing an image in units of N lines (only the last stripe is N lines or less). Here, the description will be made on the assumption that the number of layers is 1, but this does not prevent extension to coding of a plurality of layers. In order to explain the encoding processing flow, the following auxiliary variables CT26, BUFFER27, SC28, and TEMP29 in addition to the variables, tables, and registers described in FIGS.
Use The CT 26 is an auxiliary variable for counting the number of shifts of the encoding register 20 and the area width register 21 by the normalization processing, and outputting the next code byte when the value becomes 0. The BUFFER 27 is an auxiliary variable that stores the code byte value output from the encoding register 20. SC28 is an auxiliary variable used only for encoding and counting the number of consecutive bytes when the code byte value output from the encoding register 20 is 0xff. TEMP
An auxiliary variable 29 is used only for encoding, detects a carry to the BUFFER 27, and sets the lower 8 bits as a new BUFFER value 27 after carry processing. The BUFFER 27 set from the encoding register 20 via the TEMP 29 does not become 0xff without performing the carry process.
7 lower, ie BUFFER27 and SC 0x
Since ff is changed if it is carried higher than the encoding register 21, it cannot be determined as a code even if it is output from the encoding register 20.
【0040】図8は、符号化処理の全体の流れを示すE
NCODER処理フローである。勧告T.82の本処理
フローにあるTP(Typical Predicti
on)およびDP(Deterministic Pr
ediction)に関する処理は本発明および従来例
とは直接的な関係がないため省略する。まず、S101
ではINITENCを呼び出し、符号化処理の初期化を
行う。S102では画素PIXとコンテクストCXの組
を1つずつ読み出し、S103では符号器(ENCOD
E)によって符号化を行う。S104ではストライプ
(または画像)が終了するまでS102およびS103
を繰り返し、終了したときS105でFLUSHを呼び
出して符号化処理の後処理を行う。FIG. 8 is a flow chart E showing the overall flow of the encoding process.
It is an NCODER processing flow. Recommendation T. 82, the TP (Typical Predictive) in this processing flow.
on) and DP (Deterministic Pr)
The processing relating to (ediction) is not directly related to the present invention and the conventional example, and will not be described. First, S101
Then, INITENC is called to initialize the encoding process. In S102, one set of the pixel PIX and the context CX is read one by one, and in S103, the encoder (ENCODE) is read.
Encoding is performed according to E). In S104, S102 and S103 until the stripe (or image) ends.
Is repeated, and at the end, FLUSH is called in S105 to perform post-processing of the encoding process.
【0041】図9は、符号化対象画素値(PIX)とM
PSテーブル10からの出力値(予測値)の一致・不一
致から呼び出す処理を切り替えるENCODE処理フロ
ーである。S111では画素値と予測値の一致・不一致
を判定し、一致ならばMPS、不一致ならばLPSを符
号化する。S113ではCODEMPSを呼び出してM
PSを、S112ではCODELPSを呼び出してLP
Sを符号化する。FIG. 9 shows a pixel value to be encoded (PIX) and M
9 is an ENCODE processing flow for switching a process to be called based on a match / mismatch of an output value (predicted value) from the PS table 10. In step S111, it is determined whether or not the pixel value matches the predicted value. If the pixel value matches the predicted value, the MPS is encoded. In S113, CODEMPS is called and M
PS, and S112 calls CODELPS to LP
Encode S.
【0042】図10は、符号化対象画素値(PIX)と
MPSテーブル10からの出力値(予測値)が不一致の
とき、すなわちLPSを符号化する際に呼び出されるC
ODELPS処理フローである。まず、S121では一
時的に領域幅レジスタ21の値は、下方領域幅に更新さ
れる。S122ではMPSの領域とLPSの領域とを比
較するS122の判定がYesならば、条件付きMPS
/LPS交換が適用され、下方領域を符号化するため領
域幅レジスタ21はそのままとし、符号化レジスタ20
Aは更新しない。S122の判定がNoならば、上方領
域を符号化し、S123で領域下界値である符号化レジ
スタ20、S124で領域幅である領域幅レジスタ21
を更新する。S125の判定でSWTCHテーブル15
の定数SWTCH値が1ならば、S126で予測値(M
PSテーブル16)の反転・更新を行う。LPS符号化
では、S127でNLPSテーブル14参照による状態
遷移を行い、S128でRENORMEを呼び出して正
規化処理を行う。FIG. 10 shows a case where the encoding target pixel value (PIX) and the output value (predicted value) from the MPS table 10 do not match, that is, C which is called when encoding the LPS.
It is an ODELPS processing flow. First, in S121, the value of the area width register 21 is temporarily updated to the lower area width. In S122, if the determination in S122 for comparing the MPS area with the LPS area is Yes, the conditional MPS
/ LPS exchange is applied, the region width register 21 is left as it is to encode the lower region, and the coding register 20
A does not update. If the determination in S122 is No, the upper region is encoded, and the encoding register 20 which is the region lower bound value in S123, and the region width register 21 which is the region width in S124.
To update. SWTCH table 15 in the determination of S125
If the constant SWTCH value is 1, the predicted value (M
Invert / update the PS table 16). In the LPS encoding, a state transition is performed by referring to the NLPS table 14 in S127, and a normalization process is performed by calling RENORME in S128.
【0043】図11は、符号化対象画素値(PIX)と
MPSテーブル10からの出力値(予測値)が一致のと
き、すなわちMPSを符号化する際に呼び出されるCO
DEMPS処理フローである。まず、S131では一時
的に領域幅レジスタ21の値は、下方領域幅に更新され
る。S132の判定がNoならばそのままCODEMP
S処理を終了する。S132の判定がYesならば、必
ずS136でNMPSテーブル13参照による状態遷移
を行い、S137でRENORMEを呼び出して正規化
処理を行う。S136およびS137の前に、S133
の判定がYesならば、下方領域を符号化するため領域
幅レジスタ21はそのままとし、符号化レジスタ20は
更新しない。S133の判定がNoならば、条件付きM
PS/LPS交換が適用され、上方領域を符号化し、S
134で符号化レジスタ20、S135で領域幅レジス
タ21を更新する。FIG. 11 shows the CO called when the pixel value to be coded (PIX) matches the output value (predicted value) from the MPS table 10, that is, when the MPS is coded.
It is a demps processing flow. First, in S131, the value of the area width register 21 is temporarily updated to the lower area width. If the determination in S132 is No, the CODEMP is left as it is.
The S processing ends. If the determination in S132 is Yes, the state transition by referring to the NMPS table 13 is always performed in S136, and the normalization process is performed by calling RENORME in S137. Before S136 and S137, S133
Is determined, the region width register 21 is left as it is to encode the lower region, and the encoding register 20 is not updated. If the determination in S133 is No, conditional M
A PS / LPS exchange is applied, encoding the upper region,
At 134, the encoding register 20 is updated, and at S135, the area width register 21 is updated.
【0044】図12は、正規化処理を行うRENORM
E処理フローである。S141では領域幅レジスタ2
1、S142では符号化レジスタ20を1ビット上位へ
シフトすることによって2倍の乗算と等価な演算を行
う。S143で変数CT26から1を減じ、S144で
変数CT26が0か否か判定し、判定がYesならばS
145でBYTEOUT処理を呼び出して符号化レジス
タ20から1バイト符号を出力する。S146の判定
は、正規化処理の終了判定を行っており、領域幅レジス
タ21が0x8000未満ならばS141からS145
を繰り返し、0x8000以上となれば領域が1/2以
上となり終了する。FIG. 12 shows a RENORM for performing a normalization process.
It is an E processing flow. In S141, the area width register 2
1. In S142, an operation equivalent to double multiplication is performed by shifting the encoding register 20 one bit higher. In S143, 1 is subtracted from the variable CT26. In S144, it is determined whether the variable CT26 is 0 or not.
At 145, the BYTEOUT process is called to output a one-byte code from the encoding register 20. In the determination in S146, the end of the normalization processing is determined. If the area width register 21 is less than 0x8000, the processing in S141 to S145 is performed.
Is repeated, and if it becomes 0x8000 or more, the area becomes 以上 or more, and the process ends.
【0045】図13は、符号化レジスタ20から1バイ
トずつ符号を出力させるBYTEOUT処理フローであ
る。出力するバイトは符号化レジスタ20のバイト出力
部(Cb24)である。桁上がりを判定するための桁上
がり判定部(Cc25)も同時に処理する。S151で
符号化レジスタ20の値(Cb24)および符号化レジ
スタの値(Cc25)の計9ビットを変数TEMP29
に設定する。S152で桁上がりがある場合、FIG. 13 is a BYTEOUT processing flow for outputting a code from the encoding register 20 one byte at a time. The output byte is the byte output part (Cb24) of the encoding register 20. The carry determination unit (Cc25) for determining carry is also processed at the same time. In S151, a total of 9 bits of the value (Cb24) of the encoding register 20 and the value (Cc25) of the encoding register are set to the variable TEMP29.
Set to. If there is a carry in S152,
【0046】[0046]
【数20】 (Equation 20)
【0047】桁上がりがない場合にはS159で0xF
Fである場合、0xFF未満である場合に分けてバイト
出力を処理する。S152の判定がYesの場合、すで
に符号化レジスタ20から出力済みの符号をS153で
BUFFER27の値に桁上がりの1を加えた値、S1
54でSC個のバイト値0(蓄積していた0xFFが桁
上がりの伝搬により0x00となった)の合計SC+1
バイトが桁上がりを伝搬された符号値として確定する。
S155で変数SC28を0とし、S156で変数BU
FFER27に変数TEMPの下位8ビットを設定す
る。S157で変数TEMP29として処理した符号化
レジスタ20の(Cc25)、(Cb24)をクリア
し、S158で次の出力まで8ビットを処理するため変
数CT26に8を設定する。S159の判定がYesの
場合は、符号は確定できず、変数値SC28に1を加え
て0xFFを蓄積する。S159の判定がNoの場合
は、すでに符号化レジスタ20から出力済みの符号をS
153でBUFFER値、S154でSC個のバイト値
0xFFの合計SC+1バイトが符号値として確定す
る。S163で変数SC28を0とし、S164で変数
BUFFER27に変数TEMP29(桁上がりがない
ためそのまま8ビット)を設定する。If there is no carry, 0xF in S159
If it is F, the byte output is processed separately for the case where it is less than 0xFF. If the determination in S152 is Yes, the code that has already been output from the encoding register 20 is the value obtained by adding the carry 1 to the value of BUFFER27 in S153, S1
The sum SC + 1 of the SC byte values 0 (the accumulated 0xFF has become 0x00 due to carry propagation) at 54
The byte determines the carry as the propagated code value.
The variable SC28 is set to 0 in S155, and the variable BU is set in S156.
The lower 8 bits of the variable TEMP are set in FFER27. In step S157, (Cc25) and (Cb24) of the encoding register 20 processed as the variable TEMP29 are cleared, and in step S158, 8 is set in the variable CT26 to process 8 bits until the next output. If the determination in S159 is Yes, the sign cannot be determined, and 1 is added to the variable value SC28 to accumulate 0xFF. If the determination in S159 is No, the code already output from the encoding register 20 is replaced by S
At 153, a BUFFER value is determined, and at S154, a total SC + 1 byte of SC byte values 0xFF is determined as a code value. In S163, the variable SC28 is set to 0, and in S164, the variable BUF29 is set to the variable TEMP29 (8 bits as it is because there is no carry).
【0048】図14は、符号化開始時のSTテーブル1
1、MPSテーブル10および各変数の初期値を設定す
るINITENC処理フローである。S171の「この
レイヤの第1ストライプ」はレイヤおよびストライプの
概念を持ち込まない場合「画像の符号化開始の時点」を
意味し、複数のストライプから構成される画像では変数
テーブルをストライプごとに初期化せずに処理を続ける
こともできる。S171では、このレイヤの画素の第1
ストライプか、またはテーブルを強制リセットするのか
を判定する。S171の判定がYesならば、S172
ですべてのコンテクストCX2に対して変数テーブルで
あるSTテーブル11、MPSテーブル10を初期化す
る。S173はSC28を、S174は領域幅レジスタ
21の値を、S175は符号化レジスタ20を、S17
6は変数CT26を初期化する。変数CT26の初期値
は符号化レジスタ20の(Cb24)のビット数と(C
s23)のビット数の和であり、11ビット処理したと
き最初の符号出力を行うことになる。S171の判定が
Noの場合は、S177では変数テーブルの初期化を行
わず、同じレイヤの直前のストライプ終端のテーブル値
を再設定する。FIG. 14 shows an ST table 1 at the start of encoding.
1. INITENC processing flow for setting the MPS table 10 and initial values of each variable. When the concept of layer and stripe is not introduced, the “first stripe of this layer” in S171 means “at the time of starting image coding”. For an image composed of a plurality of stripes, the variable table is initialized for each stripe. Processing can be continued without performing. In S171, the first pixel of this layer
Determine whether to stripe or force reset the table. If the determination in S171 is Yes, S172
Initializes the ST table 11 and the MPS table 10 which are variable tables for all contexts CX2. S173 is SC28, S174 is the value of the area width register 21, S175 is the encoding register 20, S17 is
6 initializes a variable CT26. The initial value of the variable CT26 is the number of bits of (Cb24) of the encoding register 20 and (Cb24).
s23) is the sum of the number of bits, and the first code output is performed when 11 bits are processed. If the determination in S171 is No, the variable table is not initialized in S177, and the table value at the end of the stripe immediately before the same layer is reset.
【0049】図15は、符号化終了時に符号化レジスタ
20に残った値を掃き出す処理を含めた後処理を行うF
LUSH処理フローである。S181でCLEARBI
TSを呼び出して符号化レジスタ20に残った符号の有
効桁数を最小にする。S182はFINALWRITE
Sを呼び出して変数BUFFER27、SC28および
符号化レジスタ20の符号を最終的に出力する。S18
3で符号の第1バイトは変数BUFFER27が符号化
レジスタ20値の出力に先だって(整数部として)出力
されるため除去する。S184で符号は最終有効領域内
の小数座標であるから、必要であれば終端に連続するバ
イト0x00は除去することができる。FIG. 15 shows an F which performs post-processing including a process of sweeping out the value remaining in the encoding register 20 at the end of encoding.
It is a LUSH processing flow. CLEARBI in S181
The TS is called to minimize the number of significant digits of the code remaining in the encoding register 20. S182 is FINAL WRITE
S is called to finally output the variables BUFFER 27 and SC 28 and the sign of the encoding register 20. S18
In step 3, the first byte of the code is removed because the variable BUFFER 27 is output (as an integer part) prior to the output of the value of the encoding register 20. In S184, since the code is a decimal coordinate in the final effective area, the byte 0x00 that is continuous at the end can be removed if necessary.
【0050】図16は、符号化終了時の符号の有効桁数
を最小とするための処理を行うCLEARBITS処理
フローである。これによって、符号は終端に可能な限り
0x00が連続する値とする。S191は変数TEMP
29として符号化レジスタ20の最終有効領域の上界値
の下位2バイト(Cx22)をクリアした値を設定して
いる。S192では上界値の下位2バイトのクリアした
値と符号化レジスタ20の値との大小を比較する。S1
92の判定がYesならば、S193で変数値TEMP
29にクリアし過ぎた分を戻して符号化レジスタ20値
とする。S192の判定がNoならば、変数値TEMP
29を符号化レジスタ20の値とする。FIG. 16 is a CLEARBITS processing flow for performing processing for minimizing the number of significant digits of a code at the end of encoding. Thus, the code has a value in which 0x00 continues as far as possible at the end. S191 is a variable TEMP
29 is set to a value obtained by clearing the lower two bytes (Cx22) of the upper bound of the last valid area of the encoding register 20. In S192, the magnitude of the cleared value of the lower 2 bytes of the upper bound value is compared with the value of the encoding register 20. S1
If the determination in 92 is Yes, the variable value TEMP is set in S193.
29 is returned to the value of the encoding register 20 by returning the over-cleared value. If the determination in S192 is No, the variable value TEMP
29 is the value of the encoding register 20.
【0051】図17は、符号化終了時点で確定した符号
を符号化レジスタ20に残った値まで書き出すFINA
LWRITES処理フローである。S201でCレジス
タを変数値CT26で示されるビット数だけシフトして
符号出力および桁上がり判定を可能とする。S202で
桁上がりの有無を判定する。S202の判定がYesな
らば桁上がりがあり、Noならば桁上がりはない。BY
TEOUT処理フローと同様にS203、S204で桁
上がりのある符号値、S207、S208で桁上がりの
ない符号値とする符号化レジスタ20から出力済みのS
C+1バイトの符号を確定する。S205で符号化レジ
スタの(Cb24)値(1バイト)、S206でその下
位1バイトを出力して符号出力が完了する。FIG. 17 shows a FINA in which the code determined at the end of encoding is written up to the value remaining in the encoding register 20.
It is an LWRITES processing flow. In step S201, the C register is shifted by the number of bits indicated by the variable value CT26 to enable code output and carry determination. At S202, the presence or absence of a carry is determined. If the determination in S202 is Yes, there is a carry, and if No, there is no carry. BY
As in the TEOUT processing flow, S203 and S204 output a code value with a carry, and S207 and S208 output a code value without a carry.
The code of the C + 1 byte is determined. In S205, the (Cb24) value (1 byte) of the encoding register is output, and in S206, the lower 1 byte is output, and the code output is completed.
【0052】つぎに復号化装置及びその装置の復号化処
理方法について説明する。図4において9は出力画像を
記憶する画像メモリ、10は出現する確率の高い画素値
MPS(More Probable Symbolo
優勢シンボル)を予測値として記憶する各1ビットの
MPSテーブル、11は予測値の予測一致確率の程度を
統計113の状態(State)に分類した状態番号
(0〜112)を記憶する各7ビットのSTテーブル、
12はLPS領域幅を16ビットで表すLSZテーブ
ル、13はMPS遷移先を7ビットで表するNMPSテ
ーブル、14はLPS遷移先を7ビットで表すNLPS
テーブル、15は予測値反転判定を1ビットで表すSW
TCHテーブル、16は上記MPSテーブル10からの
予測値と上記画像メモリ9からの画素PIXを入力しシ
ンボルを出力する画素シンボル変換器、17、18は上
記MPSテーブル10とSTテーブル11との値を更新
する更新処理器、30は復号器である。Next, a decoding apparatus and a decoding processing method of the apparatus will be described. In FIG. 4, 9 is an image memory for storing an output image, and 10 is a pixel value MPS (More Probable Symbololo) having a high probability of appearing.
1-bit MPS table for storing a dominant symbol) as a predicted value; 11 for each 7-bit for storing a state number (0 to 112) in which the degree of the prediction match probability of the predicted value is classified into a state 113 of the statistics 113 ST table,
12 is an LSZ table indicating the LPS area width by 16 bits, 13 is an NMPS table indicating the MPS transition destination by 7 bits, and 14 is an NLPS indicating the LPS transition destination by 7 bits.
Table 15 is a SW that indicates the predicted value inversion determination by 1 bit
The TCH table 16 is a pixel symbol converter that inputs the predicted value from the MPS table 10 and the pixel PIX from the image memory 9 and outputs a symbol, and 17 and 18 are the values of the MPS table 10 and the ST table 11, respectively. An update processor 30 for updating is a decoder.
【0053】なお、符号化同様に上記LSZテーブル1
2、NMPSテーブル13、NLPSテーブル14、S
WTCHテーブル15を確率推定テーブルとする。次に
復号化装置の動作について、図4にもとづいて説明す
る。図4において、QM復号部8の入力は2つあり、第
1の入力はコンテクストであり、第2の入力は符号であ
る。出力は、復号された画素である。画像メモリ9は、
画像を蓄積し、復号の対象となる画素に対してモデルテ
ンプレートで指定された近隣の符号化/復号済みの10
画素の参照パターンであるコンテクスト(10ビット。
総数1024)を生成する。また、QM−Coderに
は、コンテクストを生成するための図5に示される符号
化/復号化共通の2ラインおよび3ラインの標準モデル
テンプレートが用意されている。QM−Coderで
は、符号化同様に復号化対象画素に対する各コンテクス
トごとに画素値の予測一致確率を推定し、その変動に伴
って学習しながら復号を進める。学習は、コンテクスト
をインデクスとする2つの変数テーブル(MPSテーブ
ル10、STテーブル11)を書き換えることによって
行われる。変数テーブルの他に、復号の際に状態番号
(ステート)をインデクスとして参照する定数テーブル
(確率推定テーブル)が存在する。その設定値を表1に
示す。Note that the LSZ table 1
2, NMPS table 13, NLPS table 14, S
The WTCH table 15 is used as a probability estimation table. Next, the operation of the decoding device will be described with reference to FIG. In FIG. 4, there are two inputs to the QM decoding unit 8, a first input is a context, and a second input is a code. The output is the decoded pixel. The image memory 9
The image is accumulated, and the neighboring encoded / decoded 10 pixels specified in the model template for the pixel to be decoded are stored.
The context (10 bits, which is the reference pattern of the pixel).
1024) is generated. In addition, the QM-Coder is provided with two-line and three-line standard model templates common to encoding / decoding shown in FIG. 5 for generating a context. In the QM-coder, similarly to the encoding, the prediction coincidence probability of the pixel value is estimated for each context with respect to the decoding target pixel, and the decoding is advanced while learning according to the fluctuation. The learning is performed by rewriting two variable tables (MPS table 10 and ST table 11) each having a context as an index. In addition to the variable table, there is a constant table (probability estimation table) that refers to a state number (state) as an index when decoding. Table 1 shows the set values.
【0054】[0054]
【表1】 [Table 1]
【0055】LPS領域幅を16ビットで表すLSZテ
ーブル12、MPS遷移先を7ビットで表すNMPSテ
ーブル13、LPS遷移先を7ビットで表すNLPSテ
ーブル14、予測値反転判定を1ビットで表すSWTC
Hテーブル15である。(ここで示した英字の変数・定
数テーブル名は、後述の処理フローで用いる配列名とす
る。) LSZテーブル12のLPS領域幅は、算術復号器30
内の演算部で参照され、適応予測の学習には直接的には
関係しない。算術復号器30の内部ではLSZを用いて
演算が行われ、演算精度が低下した際には正規化処理
(リノーマライズ。Renormalize)を行う。
この正規化処理が行われるとき、同時に学習を行う。正
規化処理が発生したときの復号化シンボルがMPSであ
ればMPS状態遷移先テーブル13のNMPS値を、L
PSであればLPS状態遷移テーブル14NLPS値を
STテーブル11に書き込み、状態が遷移される。復号
のとき復号器30がシンボルをシンボル画素変換器1
6、更新処理器17、18へ出力する。また、正規化処
理がLPSによるものであるとき、その予測一致確率が
1/2であればMPS値を反転(演算「1−MPS」)
させてMPSテーブル10に書き込む。一致確率が1/
2であるかどうかは、予測値反転判定テーブルSWTC
H12のSWTCHテーブル15のSWTCH値をフラ
グとして判定することができる。このように、2つの変
数テーブルST11およびMPSテーブル10に対し
て、それぞれ更新処理を行い、個別に管理しなければな
らない。図4において、テーブルST11およびMPS
10の各更新処理器17、18が更新値を決定し、テー
ブル値を書き換えることによって更新処理が行われる。An LSZ table 12 representing the LPS area width by 16 bits, an NMPS table 13 representing the MPS transition destination by 7 bits, an NLPS table 14 representing the LPS transition destination by 7 bits, and a SWTC representing the prediction value inversion judgment by 1 bit
H table 15. (The alphabetic variable / constant table name shown here is the array name used in the processing flow described later.) The LPS area width of the LSZ table 12 is the arithmetic decoder 30
And is not directly related to adaptive prediction learning. The arithmetic operation is performed inside the arithmetic decoder 30 using the LSZ. When the arithmetic precision is reduced, a normalization process (Renormalize) is performed.
When this normalization process is performed, learning is performed at the same time. If the decoded symbol at the time of occurrence of the normalization processing is MPS, the NMPS value of the MPS state transition destination table 13 is set to L
If it is PS, the LPS state transition table 14 writes the NLPS value in the ST table 11 and the state is changed. When decoding, the decoder 30 converts the symbol into the symbol pixel converter 1
6. Output to the update processors 17 and 18. Also, when the normalization processing is based on LPS, if the predicted matching probability is 1 /, the MPS value is inverted (operation “1-MPS”).
Then, the data is written in the MPS table 10. Match probability is 1 /
2 is determined by the predicted value inversion determination table SWTC.
The SWTCH value in the SWTCH table 15 of H12 can be determined as a flag. As described above, the two variable tables ST11 and the MPS table 10 need to be updated and managed individually. In FIG. 4, table ST11 and MPS
The update processing is performed by each of the 10 update processors 17 and 18 determining the update value and rewriting the table value.
【0056】つぎに上記符号化処理の説明と同様に復号
化処理フローを説明する前に復号器中に設けられた復号
レジスタ31および領域幅レジスタ32のビット配置を
図19に示す。復号レジスタにおいて、下位ワードCL
OW33と上位ワードCHIGH35は32ビットのレ
ジスタとして実現でき、MSBであるbit31の上位
に小数点を設定し、”b”(8ビット)はバイト入力部
(CLOWレジスタ33)の上位バイトCb34、”
x”(16ビット)はLSZテーブル12の値に対する
演算部Cx36(CHIGHレジスタ35)である。復
号の過程において、Cレジスタ値は復号したシンボルに
対応させた領域の下界値からその領域内の座標である符
号4へのオフセット値となるように更新される。領域幅
レジスタA32は復号化レジスタ31の小数点に対応し
て、”x”レジスタ部に合わせて”a”(16ビット)
が小数部として配置され、初期状態の値でのみ整数部
(bit16)が”1”となる。領域幅(領域サイズと
もいう)は、A−LSZ(下方領域幅)またはLSZ
(上方領域幅)に更新され、初期値(整数部=”1”)
を除いて1/2の重みを示すbit15が”1”となる
ように正規化され、1/2以上に保つことによって上方
領域幅としていかなるLSZをLSZテーブル12から
選択しても下方領域の確保を保証している。正規化処理
では、領域幅レジスタ32と復号化レジスタ31を同時
に拡大する。Next, FIG. 19 shows the bit arrangement of the decoding register 31 and the area width register 32 provided in the decoder before describing the decoding processing flow in the same manner as the description of the encoding processing. In the decoding register, the lower word CL
The OW 33 and the upper word CHIGH 35 can be realized as a 32-bit register, and a decimal point is set at the upper position of the MSB, bit 31, and “b” (8 bits) is the upper byte Cb 34, “” of the byte input unit (CLOW register 33).
x ″ (16 bits) is an operation unit Cx36 (CHIGR register 35) for the value of the LSZ table 12. In the decoding process, the C register value is calculated from the lower bound value of the area corresponding to the decoded symbol to the coordinates in the area. The area width register A32 is updated to be an offset value to the code 4. The area width register A32 corresponds to the decimal point of the decoding register 31, and is set to "a" (16 bits) in accordance with the "x" register section.
Are arranged as decimal parts, and the integer part (bit 16) becomes “1” only in the initial state value. The area width (also called area size) is A-LSZ (lower area width) or LSZ
(Upper area width), initial value (integer part = "1")
The bit 15 indicating the weight of 1/2 is normalized to be "1" except for the above, and by keeping it at 1/2 or more, the lower area is secured even if any LSZ is selected from the LSZ table 12 as the upper area width. Is guaranteed. In the normalization processing, the area width register 32 and the decoding register 31 are simultaneously enlarged.
【0057】QM−Coderでは、状態に対して固定
サイズとなるLSZテーブル12から与えられる上方領
域LSZは通常LPSに割り当てるが、下方領域が上方
領域より小さくなるときにはMPSに割り当てる「条件
付きMPS/LPS交換」を行っている。LPSを復号
化したとき、および「条件付きMPS/LPS交換」を
適用してMPSを復号化したときには正規化処理が行わ
れる。このレジスタのビット配置をもとに、復号化の処
理フローを説明する。処理フロー中の用語「レイヤ」の
解釈は符号化と同様であり、レイヤ数=1として説明す
るが、複数レイヤの復号化への拡張を妨げるものではな
い。復号化処理フローを説明するため、図4、図19、
表1で説明した変数、テーブル、レジスタの他に次ぎの
補助変数CT26、BUFFER27を使用する。CT
26は正規化処理による復号レジスタ31および領域幅
レジスタ32のシフト数を計数し、値が0となった時次
ぎの符号バイトの入力を行うための補助変数であるBU
FFER27は符号から復号レジスタ31のCbレジス
タ34へ入力される符号バイト値を格納する補助変数で
ある。In the QM-coder, the upper area LSZ provided from the LSZ table 12 having a fixed size with respect to the state is normally allocated to the LPS, but when the lower area is smaller than the upper area, the upper area LSZ is allocated to the MPS. Exchange ". When the LPS is decoded, and when the MPS is decoded by applying the “conditional MPS / LPS exchange”, a normalization process is performed. A decoding process flow will be described based on the bit arrangement of this register. The interpretation of the term “layer” in the processing flow is the same as that of the encoding, and the explanation is made assuming that the number of layers = 1, but this does not prevent extension to decoding of a plurality of layers. In order to explain the decryption processing flow, FIGS.
In addition to the variables, tables and registers described in Table 1, the following auxiliary variables CT26 and BUFFER27 are used. CT
Reference numeral 26 denotes an auxiliary variable BU which counts the number of shifts of the decoding register 31 and the area width register 32 by the normalization processing, and inputs the next code byte when the value becomes 0.
FFER 27 is an auxiliary variable that stores a code byte value input from the code to the Cb register 34 of the decoding register 31.
【0058】図18は、復号処理の全体の流れを示すD
ECODER処理フローである。勧告T.82の本処理
フローにあるTPおよびDPに関する処理は本発明およ
び従来例とは関係がないため省略する。まず、S211
ではINITDECを呼び出し、復号処理の初期化を行
う。S212ではコンテクストCX2の組を1つずつ読
み出し、S213ではDECODEによって画素PIX
の復号を行う。S214ではストライプ(または画像)
が終了するまでS212およびS213を繰り返す。FIG. 18 is a diagram showing the entire flow of the decoding process.
It is an ECODER processing flow. Recommendation T. The processes related to TP and DP in the present process flow of 82 are not related to the present invention and the conventional example, and therefore will be omitted. First, S211
Then, INITDEC is called to initialize the decoding process. In S212, the set of contexts CX2 is read out one by one, and in S213, the pixel PIX is
Is decrypted. In S214, stripe (or image)
S212 and S213 are repeated until is completed.
【0059】図20は、復号対象画素を復号するDEC
ODE処理フローである。まず、S221で一時的に領
域幅レジスタ32値は、下方領域幅に更新される。S2
22の判定がYesならば、下方領域を復号する。S2
23の判定がYesならば、S224でMPS_EXC
HANGEを呼び出して、S225でRENORMDを
呼び出して正規化処理を行う。S223の判定がNoな
らば、正規化処理することなくMPSを復号し、MPS
テーブル10の予測値を画素値(PIX)とする。ま
た、S222の判定がNoならば、上方領域を復号す
る。S227でLPS_EXCHANGEを呼び出し
て、S228でRENORMDを呼び出して正規化処理
を行う。MPS_EXCHANGE、LPS_EXCH
ANGEを呼び出すパスでは、それぞれ復号すべき領域
は決まっても領域の大小を比較しないと復号対象がMP
SかLPSか判断できない。そのため呼び出した処理フ
ローでそれぞれ復号される画素値を決定する。FIG. 20 shows a DEC for decoding a pixel to be decoded.
It is an ODE processing flow. First, in S221, the value of the area width register 32 is temporarily updated to the lower area width. S2
If the determination at 22 is Yes, the lower area is decoded. S2
If the determination in Step 23 is Yes, MPS_EXC in S224
HANGE is called, and in S225, RENORMD is called to perform normalization processing. If the determination in S223 is No, the MPS is decoded without performing the normalization process, and the MPS
The predicted value in Table 10 is defined as a pixel value (PIX). If the determination in S222 is No, the upper area is decoded. In S227, LPS_EXCHANGE is called, and in S228, RENORMD is called to perform normalization processing. MPS_EXCHANGE, LPS_EXCH
In the path for calling the ANGE, the area to be decoded is determined, but if the size of the area is not compared, the decoding target is MP
S or LPS cannot be determined. Therefore, the pixel values to be decoded in the called processing flow are determined.
【0060】図21は、上方領域を復号するLPS_E
XCHANGE処理フローである。S231の判定がY
esならばMPSを復号する。S232で復号レジスタ
31を、S233で領域幅レジスタ32を更新する。S
234ではMPSテーブル10からの予測値をそのまま
画素値(PIX)とする。S235でNMPSテーブル
13参照による状態遷移を行う。また、S231の判定
がNoならばLPSを復号する。S236で復号レジス
タ31を、S237で領域幅レジスタ32を更新する。
S238では非予測値「1−予測値」を画素値(PI
X)とする。S239の判定がYesならば、S240
で予測値(MPSテーブル)10の反転・更新を行う。
S241でNLPSテーブル14参照による状態遷移を
行う。FIG. 21 shows LPS_E for decoding the upper region.
It is an XCHANGE processing flow. The determination in S231 is Y
If es, the MPS is decrypted. The decoding register 31 is updated in S232, and the area width register 32 is updated in S233. S
At 234, the prediction value from the MPS table 10 is used as it is as a pixel value (PIX). In S235, a state transition is performed by referring to the NMPS table 13. If the determination in S231 is No, the LPS is decoded. In S236, the decoding register 31 is updated, and in S237, the area width register 32 is updated.
In S238, the non-prediction value “1-prediction value” is set to the pixel value (PI
X). If the determination in S239 is Yes, S240
To invert / update the predicted value (MPS table) 10.
In S241, a state transition is performed by referring to the NLPS table 14.
【0061】図22は、下方領域を復号するMPS_E
XCHANGE処理フローである。S251の判定がY
esならばLPSを復号する。S252では非予測値を
画素値(PIX)とする。S253の判定がYesなら
ば、S254で予測値(MPSテーブル)10の反転・
更新を行う。S255でNLPSテーブル14参照によ
る状態遷移を行う。また、S251の判定がNoならば
LPSを復号する。S256ではMPSテーブル10の
予測値をそのまま画素値(PIX)とする。S257で
NMPSテーブル13参照による状態遷移を行う。FIG. 22 shows an MPS_E for decoding the lower region.
It is an XCHANGE processing flow. The determination in S251 is Y
If es, the LPS is decoded. In S252, the non-prediction value is set as a pixel value (PIX). If the determination in S253 is Yes, the inversion of the predicted value (MPS table) 10 is performed in S254.
Perform an update. In S255, a state transition is performed by referring to the NLPS table 14. If the determination in S251 is No, the LPS is decoded. In S256, the prediction value of the MPS table 10 is directly used as a pixel value (PIX). In S257, a state transition is performed by referring to the NMPS table 13.
【0062】図23は、正規化処理を行うRENORM
D処理フローである。S261で変数CT26が0か否
か判定し、判定がYesならばS262でBYTEIN
を呼び出して復号レジスタ31に1バイト符号を入力す
る。S263では領域レジスタ32、S264では復号
レジスタ31を1ビット上位へシフトすることによって
2倍の乗算と等価な演算を行う。S265でCT26か
ら1を減じる。S266の判定は、正規化処理の終了判
定を行っており、領域幅レジスタ22が0x8000未
満ならばS261からS265を繰り返す。S267で
変数CT26が0か否か判定し、判定がYesならばS
268でBYTEINを呼び出して復号レジスタ31に
1バイト符号を入力する。FIG. 23 shows a RENORM for performing a normalization process.
It is a D process flow. In S261, it is determined whether or not the variable CT26 is 0. If the determination is Yes, BYTEIN is determined in S262.
And inputs a one-byte code to the decoding register 31. In S263, the area register 32 is shifted, and in S264, the decoding register 31 is shifted by one bit to perform an operation equivalent to double multiplication. In S265, 1 is subtracted from CT26. In the determination of S266, the end of the normalization process is determined, and if the area width register 22 is less than 0x8000, S261 to S265 are repeated. In S267, it is determined whether or not the variable CT26 is 0. If the determination is Yes, S is executed.
In 268, BYTEIN is called to input a one-byte code to the decoding register 31.
【0063】図24は、復号レジスタ31に符号を1バ
イトずつ読み込むBYTEIN処理フローである。SC
D(Stripe Coded Data)はストライ
プに対する符号である。S271で判定がYesの場
合、S272で読み出す符号がないため変数BUFFE
R27は0とする。S273で変数BUFFER27を
CLOWレジスタ33(Cb34)に読み込み、S27
4で次の入力まで8ビットを処理するため変数CT26
に8を設定する。また、S271で判定がNoの場合、
S275で1バイト符号を変数BUFFER27に読み
込む。FIG. 24 is a BYTEIN processing flow for reading the code into the decoding register 31 byte by byte. SC
D (Stripe Coded Data) is a code for the stripe. If the determination is Yes in S271, there is no code to read in S272, so that the variable BUFFE
R27 is set to 0. In step S273, the variable BUFFER27 is read into the CLOW register 33 (Cb34).
Variable CT26 for processing 8 bits until the next input at 4
Is set to 8. If the determination is No in S271,
In step S275, the one-byte code is read into the variable BUFFER27.
【0064】図25は、復号開始時のSTテーブル1
1、MPSテーブル10および各変数の初期値を設定す
るINITDEC処理フローである。テーブルの初期値
設定に関するS281、S282、S290について
は、符号化処理のINITENC処理フローのS17
1、S172、S177と同様である。復号レジスタ3
1の初期値は、Cxレジスタ36およびCbレジスタ3
4に符号を3バイト読み込むことで設定される。S28
3で復号レジスタ31をクリアし、S284でBYTE
INを呼び出して符号4をCbレジスタ37に1バイト
読み込む。S285を8ビットシフトして、S286で
BYTEINを呼び出して符号をCbレジスタ34に1
バイト読み込む。S287で復号レジスタ31を8ビッ
トシフトして、S288でBYTEINを呼び出して符
号をCbレジスタ34に1バイト読み込む。これで、合
計3バイトの符号をCxレジスタ36およびCbレジス
タ34に設定したことになる。S289では領域幅レジ
スタ32の初期値を設定する。なお上記表1および一部
の処理フローにおいて「例えば0x8000」のプレフ
ィックス”0x”は16進数を示しており、領域幅レジ
スタ22、32における「0x8000」は正規化処理
の実行の要否の判定するための領域幅の最少値(1/2
の重み)を示している。FIG. 25 shows the ST table 1 at the start of decoding.
1. INITDEC processing flow for setting the initial values of the MPS table 10 and each variable. Regarding S281, S282, and S290 relating to the initial value setting of the table, S17 of the INITINC processing flow of the encoding processing is performed.
1, S172 and S177. Decryption register 3
The initial value of 1 is set in the Cx register 36 and the Cb register 3
4 is set by reading a code of 3 bytes. S28
3 to clear the decryption register 31, and S284: BYTE
IN is called and code 4 is read into the Cb register 37 by 1 byte. S285 is shifted by 8 bits, BYTEIN is called in S286, and the code is set to 1 in the Cb register 34.
Read bytes. In S287, the decoding register 31 is shifted by 8 bits, and in S288, BYTEIN is called to read the code into the Cb register 34 by 1 byte. Thus, a code of three bytes in total is set in the Cx register 36 and the Cb register 34. In S289, the initial value of the area width register 32 is set. In Table 1 and some processing flows, the prefix “0x” of “for example, 0x8000” indicates a hexadecimal number, and “0x8000” in the area width registers 22 and 32 determines whether or not the execution of the normalization processing is necessary. Value of the area width (1/2
Weight).
【0065】[0065]
【発明が解決しようとする課題】従来例の符号化/復号
化では、算術符号化/復号化の演算精度を確保するため
に行う正規化処理において、領域のサイズを2倍に拡大
するごとに終了判定をしており判定が不要な場合であっ
ても必ず判定するため、一括して拡大を行えず符号化/
復号を高速に実行できないという問題点があった。この
発明は、以上のような問題点を解決するためになされた
ものであり、正規化処理を状況別に分類し、領域拡大の
総ビット数が特定または限定できるときに拡大の一括処
理を可能とする。また、最小限の判定による正規化処理
内容の設定を独立させ、一括して拡大処理が可能なとき
は拡大処理回数、拡大終了判定回数、符号バイト入力ま
たは出力の判定回数等を削減することを目的とする。In the encoding / decoding of the prior art, in the normalization processing performed to secure the arithmetic precision of arithmetic coding / decoding, every time the size of the area is doubled, Since the end determination is made and even if the determination is unnecessary, the determination is always made.
There is a problem that decoding cannot be performed at high speed. The present invention has been made in order to solve the above problems, and classifies normalization processing according to situations, and enables batch processing of expansion when the total number of bits of area expansion can be specified or limited. I do. In addition, the setting of the contents of the normalization processing by the minimum judgment is made independent, and when the enlargement processing can be performed collectively, the number of times of enlargement processing, the number of times of enlargement end judgment, the number of times of code byte input or output judgment, etc. are reduced. Aim.
【0066】[0066]
【課題を解決するための手段】請求項1に係る符号化装
置は、現行シンボルに対する領域(Ai)が該設定値と
比較して小さいときに適用される正規化処理について複
数の拡大処理を予め設けて、上記領域(Ai)と該設定
値と比較して、上記領域(Ai)が小さい場合、該複数
の拡大処理の中から情況に適した正規化処理を選択して
実行するものである。An encoding apparatus according to claim 1 performs a plurality of enlargement processes for a normalization process applied when an area (A i ) for a current symbol is smaller than the set value. provided in advance, compared to the region (a i) and setting value, when the area (a i) is small, selects and executes normalization processing suitable for the circumstances from the enlargement process of the plurality of Things.
【0067】請求項2に係る復号化装置は、現行シンボ
ルに対する領域(Ai)が該設定値と比較して小さいと
きに適用される正規化処理について複数の拡大処理を予
め設けて、上記領域(Ai)と該設定値と比較して、上
記領域(Ai)が小さい場合、該複数の拡大処理の中か
ら情況に適した正規化処理を選択して実行するものであ
る。In the decoding apparatus according to the second aspect, a plurality of enlargement processes are provided in advance for a normalization process applied when the area (A i ) for the current symbol is smaller than the set value, and If the area (A i ) is smaller than (A i ) and the set value, a normalization process suitable for the situation is selected from the plurality of enlargement processes and executed.
【0068】請求項3に係る符号化装置方は、正規化処
理をおこなう際、領域拡大の総ビット数があらかじめ自
明である状態固有のサイズの領域に対して拡大する正規
化処理を設けたものである。According to a third aspect of the present invention, in performing the normalization processing, a normalization processing is provided for expanding a region having a state-specific size in which the total number of bits of the region expansion is obvious in advance. It is.
【0069】請求項4に係る復号化装置は、正規化処理
をおこなう際、領域拡大の総ビット数があらかじめ自明
である状態固有のサイズの領域に対して拡大する正規化
処理を設けたものである。In the decoding apparatus according to the fourth aspect, when performing the normalization processing, a normalization processing is provided for expanding a region having a state-specific size in which the total number of bits of the region expansion is obvious in advance. is there.
【0070】請求項5に係る符号化装置は、正規化処理
をおこなう際、現行の全領域から状態固有のサイズの領
域を除いた領域に対して拡大する正規化処理を設けたも
のである。According to a fifth aspect of the present invention, in performing the normalization processing, the normalization processing is provided for enlarging an area excluding a state-specific size area from the current entire area.
【0071】請求項6に係る復号化装置は、正規化処理
をおこなう際、現行の全領域から状態固有のサイズの領
域を除いた領域に対して拡大する正規化処理を設けたも
のである。In the decoding apparatus according to the sixth aspect, when performing the normalization processing, a normalization processing is provided for enlarging an area excluding a state-specific size area from the entire current area.
【0072】請求項7に係る符号化装置は、正規化処理
をおこなう際、優勢シンボルの領域に対して拡大する正
規化処理を設けたものである。According to a seventh aspect of the present invention, when the normalizing process is performed, a normalizing process for enlarging a region of a dominant symbol is provided.
【0073】請求項8に係る復号化装置は、正規化処理
をおこなう際、優勢シンボルの領域対して拡大する正規
化処理を設けたものである。In the decoding apparatus according to the eighth aspect, when performing the normalization processing, a normalization processing for enlarging the area of the dominant symbol is provided.
【0074】請求項9に係る符号化装置は、正規化処理
をおこなう際、状態固有のサイズを補正することによっ
て領域拡大の総ビット数が限定できる領域に対して拡大
する正規化処理を設けたものである。According to a ninth aspect of the present invention, in performing the normalization processing, the normalization processing is provided for expanding the area in which the total number of bits of the area expansion can be limited by correcting the state-specific size. Things.
【0075】請求項10に係る復号化装置は、正規化処
理をおこなう際、状態固有のサイズを補正することによ
って領域拡大の総ビット数が限定できる領域に対して拡
大する正規化処理を設けたものである。In the decoding apparatus according to the tenth aspect, when the normalization processing is performed, the normalization processing for expanding the area in which the total number of bits of the area expansion can be limited by correcting the state-specific size is provided. Things.
【0076】請求項11に係わる画像符号化処理装置
は、上記の符号化装置を電子計算機、スキャナ、ファク
シミリ、プリンタ、半導体チップ等に備えたものであ
る。An image coding apparatus according to claim 11 is provided with the above coding apparatus in an electronic computer, a scanner, a facsimile, a printer, a semiconductor chip or the like.
【0077】請求項12に係わる画像復号化処理装置
は、上記復号化装置を電子計算機、スキャナ、ファクシ
ミリ、プリンタ、半導体チップ等に備えたものである。According to a twelfth aspect of the present invention, there is provided an image decoding apparatus comprising the above decoding apparatus in an electronic computer, a scanner, a facsimile, a printer, a semiconductor chip, or the like.
【0078】[0078]
実施の形態1.図26は、この発明に係る画像符号化処
理装置の構成図である。この発明に係る画像復号化処理
装置も、図26に示した画像符号化処理装置と同様の構
成を持つ。画像符号化装置37は、ディスプレイユニッ
ト38、キーボード39、マウス40、マウスパッド4
1、システムユニット42、コンパクトディスク装置4
3を備えている。この発明の画像符号化/復号処理装置
は、例えば、図26に示すように、コンパクトディスク
装置43から符号化画像を入力して復号し、復号した画
像情報をシステムユニット42に転送し、ディスプレイ
ユニット38に表示するものである。或いは、ディスプ
レイユニット38に表示された画像を符号化して、コン
パクトディスク装置43に出力するものである。また、
画像情報を符号化して図示していない回線を経由して画
像情報を伝送するものである。しかし、この発明に係る
画像符号化/復号処理装置は、図26に示したパーソナ
ルコンピュータやワークステーションに限る必要はな
く、どのような形式であっても良い。例えば、コンパク
トディスク装置43の代わりに、ビデオプレーヤを入力
装置にしても構わないし、ネットワークからの画像デー
タを入力するようにしても構わない。また、入力するデ
ータは、アナログデータであっても構わないし、デジタ
ルデータであっても構わない。Embodiment 1 FIG. FIG. 26 is a configuration diagram of an image encoding processing device according to the present invention. The image decoding processing device according to the present invention also has the same configuration as the image coding processing device shown in FIG. The image encoding device 37 includes a display unit 38, a keyboard 39, a mouse 40, and a mouse pad 4.
1, system unit 42, compact disk device 4
3 is provided. For example, as shown in FIG. 26, the image encoding / decoding processing device of the present invention inputs and decodes an encoded image from a compact disk device 43, transfers the decoded image information to a system unit 42, 38. Alternatively, the image displayed on the display unit 38 is encoded and output to the compact disk device 43. Also,
It encodes image information and transmits the image information via a line (not shown). However, the image encoding / decoding processing device according to the present invention is not limited to the personal computer and the workstation shown in FIG. 26, and may be of any type. For example, instead of the compact disk device 43, a video player may be used as an input device, or image data from a network may be input. The input data may be analog data or digital data.
【0079】また、本発明の画像符号化/復号処理装置
は、図26に示すように、独立した筐体で存在しても構
わないが、図27に示すように、プリンタ44やスキャ
ナ45やファクシミリ装置46等の周辺装置の筐体の内
部に納められているものでも構わない。また、その他テ
レビカメラや測定機や計算機等のシステムボードの一部
分として存在している場合であっても構わない。また、
図27には示していないが、図27に示した各装置をロ
ーカルエリアネットワーク(LAN)で接続し、互いに
符号化した情報を伝送する場合であっても構わない。ま
た、アナログまたはデジタル公衆回線(ISDN等)の
広域ネットワークを用いて符号化した情報を送受信する
ような場合であっても構わない。本実施の形態では、画
像符号化処理装置における符号部及び画像復号処理装置
における復号部では、以下で説明する符号化/復号をお
こなうものとする。QM−Coderをはじめとする算
術符号化では、演算精度を確保するために正規化処理を
行う。本実施の形態は、上方領域(LSZ)または下方
領域(A−LSZ)を正規化処理する場合において、唯
一の正規化処理フローのみを適用するのではなく、処理
結果は同じであっても処理過程が異なる複数の処理フロ
ー候補(予め記憶する)の中から1つを選択して適用す
ることを特徴とし、従来の処理フローがその候補の1つ
であっても構わない。また、上方、下方領域は配置が上
下逆であっても構わない。The image encoding / decoding processing device of the present invention may exist in a separate housing as shown in FIG. 26, but as shown in FIG. It may be housed in the housing of a peripheral device such as the facsimile device 46 or the like. In addition, the present invention may be a case where it exists as a part of a system board such as a television camera, a measuring machine, and a computer. Also,
Although not shown in FIG. 27, a case where the devices shown in FIG. 27 are connected via a local area network (LAN) and mutually encoded information is transmitted may be used. Further, the information may be transmitted and received using a wide area network such as an analog or digital public line (such as ISDN). In the present embodiment, the encoding unit in the image encoding processing device and the decoding unit in the image decoding processing device perform encoding / decoding described below. In arithmetic coding such as QM-coder, normalization is performed to ensure calculation accuracy. In the present embodiment, when performing normalization processing on the upper region (LSZ) or the lower region (A-LSZ), processing is performed not only by applying a single normalization processing flow, but even when the processing results are the same. It is characterized in that one of a plurality of processing flow candidates (stored in advance) having different processes is selected and applied, and a conventional processing flow may be one of the candidates. The arrangement of the upper and lower regions may be upside down.
【0080】すでに、符号化処理で行われるRENOR
ME処理フロー、復号処理で行われるRENORMD処
理フローについては従来例で常に1ビットずつ拡大する
処理フローを説明しているが、ここでは正規化処理を行
う条件を2つに分類して専用の処理フローを用意する。 (1)LSZ領域を拡大する正規化処理 (2)(A−LSZ)領域を拡大する正規化処理 正規化処理の分類の根拠を示す。(1)を分類する根拠
は、LSZ値が決まれば正規化処理終了までにシフトす
るビット数が一意に決まってしまうため1ビットシフト
ごとに終了判定を行う必要はなく、バイト入出力が入る
場合は一旦分割するしかないが、基本的に一括してシフ
ト処理できることである。(2)を分類する根拠は、L
SZでない領域(A−LSZ)の拡大は1ビットまたは
2ビットしかないため2回目の拡大を行った場合は終了
判定が必要ないことである。シフト数が限定される理由
は、領域幅レジスタ21、32の最小値は0x800
0、表1で与えられるLSZの最大値は0x5b12で
あるから(A−LSZ)の最小値は0x24eeとな
り、2ビットシフト(4倍)で必ず0x8000以上と
なる。正規化処理を分類するに当たって、LSZ領域の
正規化処理に対して一意に決定される拡大シフト数を示
す定数テーブルLSZS37を導入する。状態番号S=
0〜112で示される状態Sについて、RENOR already performed in the encoding process
Regarding the ME processing flow and the RENORMD processing flow performed in the decoding processing, the processing flow of always expanding one bit at a time has been described in the conventional example, but here, the conditions for performing the normalization processing are classified into two and dedicated processing is performed. Prepare a flow. (1) Normalization processing for expanding LSZ area (2) Normalization processing for expanding (A-LSZ) area The basis of the classification of the normalization processing is shown. The reason for classifying (1) is that if the LSZ value is determined, the number of bits to be shifted by the end of the normalization processing is uniquely determined, so it is not necessary to determine the end for each bit shift, and when byte input / output is required Can only be divided once, but basically it is possible to perform shift processing collectively. The basis for classifying (2) is L
Since the expansion of the non-SZ area (A-LSZ) has only one bit or two bits, the end determination is not required when the second expansion is performed. The reason that the number of shifts is limited is that the minimum value of the area width registers 21 and 32 is 0x800
0, since the maximum value of LSZ given in Table 1 is 0x5b12, the minimum value of (A-LSZ) is 0x24ee, which is always 0x8000 or more by a 2-bit shift (4 times). In classifying the normalization processing, a constant table LSZS37 indicating the number of enlargement shifts uniquely determined for the normalization processing of the LSZ area is introduced. State number S =
Regarding the state S indicated by 0 to 112,
【0081】[0081]
【数21】 (Equation 21)
【0082】(”<<”は左論理シフトを示す)となる
最小の整数Nを領域LSZ(S)の拡大シフト数LSZ
S(S)として設定する。このように設定されたテーブ
ルを表2に示す。(“<<” indicates a left logical shift), and the minimum integer N is the expanded shift number LSZ of the area LSZ (S).
Set as S (S). Table 2 shows the table thus set.
【0083】[0083]
【表2】 [Table 2]
【0084】本実施の形態における符号化および復号処
理フローを示す。本実施の形態において、符号化処理に
おける処理フローENCODER(図8)、ENCOD
ER(図9)、BYTEOUT(図13)、INITE
NC(図14)、FLUSH(図15)、CLEARB
ITS(図16)、FINALWRITES(図1
7)、復号における処理フローDECODER(図1
8)、LPS_EXCHANGE(図21)、MPS_
EXCHANGE(図22)、BYTEIN(図2
4)、INITDEC(図25)は、従来例における処
理フローと同様である。また、同一名称の処理フローで
すでに説明したものと同一の処理要素は、同一識別子を
そのまま付けている。[0102] The encoding and decoding processing flows in the present embodiment will be described. In the present embodiment, the processing flow ENCODER (FIG. 8) in the encoding processing, ENCODE
ER (FIG. 9), BYTEOUT (FIG. 13), INITE
NC (Fig. 14), FLUSH (Fig. 15), CLEARB
ITS (FIG. 16), FINALWRITES (FIG. 1)
7), processing flow DECODER in decryption (FIG. 1)
8), LPS_EXCHANGE (FIG. 21), MPS_
EXCHANGE (FIG. 22), BYTEIN (FIG. 2)
4), INITDEC (FIG. 25) is the same as the processing flow in the conventional example. In addition, the same processing elements as those already described in the processing flow with the same name have the same identifier.
【0085】図28は、CODELPS処理フローで従
来例の図10に対応する。S122で判定Yesならば
条件付きMPS/LPS交換が適用されて下方領域(A
−LSZ)、判定Noならば上方領域LSZを符号化す
る。S404のLSZ領域専用の正規化処理RENOR
MELSZ、S408の(A−LSZ)領域の1ビット
または2ビット専用の正規化処理RENORME12を
独立させることによって従来フローのS125からS1
27で行っていた予測値反転の判定(S125)と反転
処理(S126)、およびNLPSテーブル参照による
状態遷移(S127)を兼ねてS401からS403、
およびS405からS407として適用している。FIG. 28 shows a CODELPS processing flow corresponding to FIG. 10 of the conventional example. If the determination is Yes in S122, the conditional MPS / LPS exchange is applied and the lower area (A
-LSZ), if the determination is No, the upper region LSZ is encoded. Normalization processing RNOR for exclusive use of LSZ area in S404
MELSZ, S408: The normalization process RNORME12 dedicated to 1 bit or 2 bits in the (A-LSZ) area in S408 is made independent, so that S125 to S1 of the conventional flow can be performed.
S401 to S403 also serve as the prediction value inversion determination (S125) and inversion processing (S126) performed in 27 and the state transition (S127) with reference to the NLPS table.
And S405 to S407.
【0086】図29は、CODEMPS処理フローで従
来例の図11に対応する。S133で判定Yesならば
条件付きMPS/LPS交換が適用されて上方領域LS
Z、判定Noならば下方領域(A−LSZ)を符号化す
る。S422のLSZ領域専用の正規化処理RENOR
MELSZ、S424の(A−LSZ)領域の1ビット
または2ビット専用の正規化処理RENORME12を
独立させることによって従来フローのS136で行って
いた状態遷移をS421およびS423として適用して
いる。FIG. 29 shows a CODEMPS processing flow corresponding to FIG. 11 of the conventional example. If the determination is Yes in S133, a conditional MPS / LPS exchange is applied and the upper area LS
If Z is No, the lower area (A-LSZ) is encoded. Normalization processing RNOR dedicated to LSZ area in S422
The state transitions performed in S136 of the conventional flow are applied as S421 and S423 by making the normalization processing RENORME12 dedicated to 1 bit or 2 bits in the (A-LSZ) area of MELSZ and S424 independent.
【0087】図30は、新規のRENORME12処理
フローで、(A−LSZ)領域の正規化処理のみに適用
される。S431で領域幅レジスタ21を下方領域サイ
ズに修正する。更新された(A−LSZ)領域の拡大す
べきシフト数は、S432の判定で決定でき、判定Ye
sで1ビット、判定Noで2ビットとなる。シフト数が
2ビット(S432判定No)のとき、S433で領域
幅レジスタ21を2ビット一括して拡大する。S434
で符号化レジスタ20の第1シフトでの符号バイト出力
の有無を判定し、判定YesならばS435およびS4
37で1ビットずつ2回拡大し、その途中にS436で
BYTEOUTを呼び出す。S438で変数CTを1減
じるが、S435で同様の処理を行わないのはBYTE
OUT処理の呼出しの判定が不要となるためである。S
434で判定NoならばS439で符号化レジスタ20
を2ビット一括して拡大し、S440で変数CTを2減
じ、S441で変数値CTが0ならばBYTEOUT処
理を呼び出す。シフト数が1ビット(S432判定Ye
s)のとき、S443で領域幅レジスタ21、S444
で符号化レジスタ20を1ビットシフトし、変数CTを
1減じ、説明済みのS441およびS442でBYTE
OUT処理の呼出しを判定・実行する。FIG. 30 shows a new RENORME12 processing flow, which is applied only to the (A-LSZ) area normalization processing. In S431, the area width register 21 is corrected to a lower area size. The number of shifts to be expanded in the updated (A-LSZ) region can be determined by the determination in S432, and the determination Ye
1 bit for s and 2 bits for No. When the number of shifts is 2 bits (No in S432), the area width register 21 is expanded by 2 bits in S433. S434
To determine whether or not there is a code byte output in the first shift of the encoding register 20, and if the determination is Yes, S435 and S4
In step 37, BYTEOUT is called in step S436. The variable CT is decremented by 1 in S438, but the same processing is not performed in S435.
This is because it is not necessary to determine whether to call the OUT processing. S
If the determination is No at 434, the encoding register 20 is determined at S439.
Are collectively enlarged by 2 bits, the variable CT is reduced by 2 in S440, and if the variable value CT is 0 in S441, the BYTEOUT process is called. If the shift number is 1 bit (S432 decision Ye
In the case of s), in S443, the area width register 21 and S444
Shifts the encoding register 20 by 1 bit, decrements the variable CT by 1, and executes BYTE in S441 and S442 described above.
Judge and execute the call of the OUT processing.
【0088】図31は、新規のRENORMELSZ処
理フローで、LSZ領域の正規化処理のみに適用され
る。S451で新規の変数RNMにはLSZSテーブル
37からLSZ領域の拡大すべきシフト数を設定する。
S452で領域幅レジスタ21を一括して拡大する。S
453で2つの変数値RNMとCTを比較して、大、
小、等の3通りに処理を分ける。変数値RNMが変数値
CTより大きい第1の場合(>)は、S454で符号化
レジスタ20をCTビット一括して拡大し、S455で
変数RNMを変数CTだけ減じ、S456でBYTEO
UTを呼び出す。さらに変数値RNMが変数値CTより
大きければS454からS456の一括拡大を繰り返
す。変数RNMが変数CTより小さくなっても、S45
8の判定で変数値RNMが0より大きいならば、S45
9で符号化レジスタ20Aを残りのRNMビット一括し
て拡大し、S460で変数CTを変数RNMだけ減じ
る。S453で変数値RNMが変数値CTと等しい第2
の場合(=)は、S461で符号化レジスタ20AをC
Tビット一括して拡大し、S462でBYTEOUTを
呼び出す。S453で変数値RNMが変数値CTより小
さい第3の場合(<)は、S463でCTビット一括し
て拡大し、S464で変数CTを変数RNMだけ減じ
る。S454およびS461で変数CTの減算処理を行
わないのはBYTEOUT処理の呼出しの判定が不要と
なるためである。FIG. 31 shows a new RENORMELZZ processing flow, which is applied only to the normalization processing of the LSZ area. In step S451, the number of shifts to be expanded in the LSZ area is set in the new variable RNM from the LSZS table 37.
In step S452, the area width register 21 is collectively enlarged. S
At 453, comparing the two variable values RNM and CT,
The processing is divided into three types, such as small and the like. In the first case (>) where the variable value RNM is larger than the variable value CT (>), the coding register 20 is collectively expanded in CT bits in S454, the variable RNM is reduced by the variable CT in S455, and BYTEO is generated in S456.
Call the UT. If the variable value RNM is larger than the variable value CT, the batch enlargement from S454 to S456 is repeated. Even if the variable RNM becomes smaller than the variable CT, S45
If the variable value RNM is larger than 0 in the judgment of S8, S45
In step 9, the encoding register 20A is expanded collectively by the remaining RNM bits, and in step S460, the variable CT is reduced by the variable RNM. In step S453, the second variable value RNM is equal to the variable value CT.
In the case of (=), in S461, the encoding register 20A is set to C
The T bits are collectively enlarged, and BYTEOUT is called in S462. In the third case (<) where the variable value RNM is smaller than the variable value CT in S453, the CT bits are collectively enlarged in S463, and the variable CT is reduced by the variable RNM in S464. The reason why the subtraction processing of the variable CT is not performed in S454 and S461 is that it is not necessary to determine whether to call the BYTEOUT processing.
【0089】図32は、DECODE処理フローで従来
例の図20に対応する。正規化処理RENORMDを呼
び出していたS225をS471として(A−LSZ)
領域の拡大専用の正規化処理RENORMD12、S2
28をS472としてLSZ領域の拡大専用の正規化処
理RENORMDLSZに変更する。FIG. 32 is a DECODE processing flow corresponding to FIG. 20 of the conventional example. S225 calling the normalization processing RENORMD is set as S471 (A-LSZ)
Normalization processing RENOMD12, S2 dedicated to area enlargement
28 is changed to S472 as the normalization processing renormdlsz dedicated to enlargement of the LSZ area.
【0090】図33は、新規のRENORMD12処理
フローで、(A−LSZ)領域の正規化処理にのみ適用
される。処理内容は、符号化処理のRENORME12
処理フローにおいて記載されたバイト出力処理BYTE
OUTが入力処理BYTEINとなる以外は基本的に同
様である。FIG. 33 shows a new RENORMD12 processing flow, which is applied only to the (A-LSZ) area normalization processing. The processing content is the encoding processing RENORM12.
Byte output processing BYTE described in the processing flow
This is basically the same except that OUT becomes the input processing BYTEIN.
【0091】図34は、新規のRENORMDLSZ処
理フローで、LSZ領域の正規化処理にのみ適用され
る。処理内容は、符号化処理のRENORMELSZ処
理フローにおいて記載されたバイト出力処理BYTEO
UTが入力処理BYTEINとなる以外は基本的に同様
である。要するに上記実施の形態1においては、正規化
処理の際に、正規化処理のための複数の正規化処理パタ
ーンを設けておき、数直線上の範囲に対応させた範囲
が、所定の範囲を越えさせるもっとも適切な拡大処理パ
ターン(正規化処理パターン)を上記正規化処理パター
ンから判定し、正規化実行するものである。また上記複
数の正規化処理パターンとして、(1)領域拡大の総ビ
ット数があらかじめ自明である状態固有サイズの領域に
対する正規化処理の処理過程、(2)現行の全領域から
状態固有のサイズ領域を除いた領域に対する正規化処理
等の処理過程を設けている。FIG. 34 shows a new RENORMLSZZ processing flow, which is applied only to the LSZ area normalization processing. The processing content is the byte output processing BYTEO described in the RENORMELZZ processing flow of the encoding processing.
This is basically the same except that the UT becomes the input processing BYTEIN. In short, in the first embodiment, a plurality of normalization processing patterns for the normalization processing are provided at the time of the normalization processing, and the range corresponding to the range on the number line exceeds the predetermined range. The most appropriate enlargement processing pattern (normalization processing pattern) to be performed is determined from the above-described normalization processing pattern, and normalization is performed. Further, as the plurality of normalization processing patterns, (1) a process of normalization processing on an area having a state-specific size in which the total number of bits for area expansion is obvious in advance; and (2) a state-specific size area from the current entire area. , Processing steps such as normalization processing are provided for the region excluding.
【0092】実施の形態2.本実施の形態は、符号化/
復号シンボル、かつ/あるいは、上方領域(LSZ)/
下方領域(A−LSZ)を処理する場合において、唯一
の正規化処理フローのみを適用するのではなく、処理結
果は同じであっても処理過程が異なる複数の処理フロー
候補(予め記憶する)の中から1つを選択して適用する
ことを特徴とし、従来の処理フローがその候補の1つで
あっても構わない。また、上方、下方領域の配置が上下
逆であっても構わない。実施の形態1で説明した正規化
処理の2つの分類に、さらにMPS符号化/復号による
正規化処理を追加し、3分類とする。 (1)LSZ領域を拡大する正規化処理(LPS符号化
/復号による) (2)(A−LSZ)領域を拡大する正規化処理(LP
S符号化/復号による) (3)MPS符号化/復号による正規化処理 ここで、(1)、(2)は実施の形態1において説明済
みであるため、(3)の正規化処理の分類の根拠のみを
示す。(3)を分類する根拠は、MPS符号化/復号に
よる正規化処理はどちらの領域であっても必ず1ビット
のシフト(2倍拡大)となるため終了判定が必要ないこ
とである。条件付きMPS/LPS交換が適用されてM
PSへは必ず大きい領域が割り当てられるため、領域幅
レジスタ21値の最小値0x8000の1/2以上確保
され、1ビットシフト(2倍)で必ず0x8000以上
となる。本実施の形態において、符号化処理における処
理フローENCODER(図28)、ENCODE(図
9)、CODELPS(図10)、RENORME12
(図30)、RENORMELSZ(図31)、BYT
EOUT(図13)、INITENC(図14)、FL
USH(図15)、CLEARBITS(図16)、F
INALWRITES(図17)、復号処理における処
理フローDECODER(図18)、RENORME1
2(図33)、RENORMELSZ(図34)、BY
TEIN(図24)、INITDEC(図25)は、実
施の形態1における処理フローと同様である。また、同
一名称の処理フローですでに説明したものと同一の処理
要素は、同一識別子をそのまま付けている。Embodiment 2 In the present embodiment, encoding /
Decoded symbol and / or upper region (LSZ) /
When processing the lower region (A-LSZ), not only a single normalized processing flow is applied, but a plurality of processing flow candidates (stored in advance) having different processing steps even if the processing results are the same. It is characterized in that one of them is selected and applied, and the conventional processing flow may be one of the candidates. Further, the arrangement of the upper and lower regions may be upside down. Normalization processing by MPS encoding / decoding is further added to the two classifications of the normalization processing described in the first embodiment, and the classification is made into three classifications. (1) Normalization processing for expanding the LSZ area (by LPS encoding / decoding) (2) Normalization processing (LP for expanding the (A-LSZ) area
(By S encoding / decoding) (3) Normalization processing by MPS encoding / decoding Since (1) and (2) have already been described in the first embodiment, the classification of the normalization processing of (3) Only the grounds for are shown. The basis for classifying (3) is that normalization processing by MPS encoding / decoding always shifts 1 bit (enlarged twice) in any of the areas, so that it is not necessary to determine the end. M with conditional MPS / LPS exchange applied
Since a large area is always allocated to the PS, the minimum value of the area width register 21 value of 0x8000 or more is ensured, and is always 0x8000 or more by one bit shift (double). In the present embodiment, processing flows ENCODER (FIG. 28), ENCODE (FIG. 9), CODELPS (FIG. 10), and RENORM12 in the encoding process
(FIG. 30), RENORMELZZ (FIG. 31), BYT
EOUT (FIG. 13), INITENC (FIG. 14), FL
USH (FIG. 15), CLEARBITS (FIG. 16), F
INALWRITES (FIG. 17), processing flow DECODER in decoding processing (FIG. 18), RENORME1
2 (FIG. 33), RENORMELZZ (FIG. 34), BY
TEIN (FIG. 24) and INITDEC (FIG. 25) are the same as the processing flow in the first embodiment. In addition, the same processing elements as those already described in the processing flow with the same name have the same identifier.
【0093】図35は、CODEMPS処理フローで実
施の形態1の図29に対応する。MPS符号化では条件
付きMPS/LPS交換の有無に関わらず、S601で
正規化処理RENORMEMPSを呼び出して1ビット
拡大する。FIG. 35 is a CODEMPS processing flow corresponding to FIG. 29 of the first embodiment. In the MPS coding, regardless of the presence or absence of the conditional MPS / LPS exchange, in S601, the normalization process RENORMEPMS is called and one bit is enlarged.
【0094】図36は、新規のRENORMEMPS処
理フローで、MPS符号化による正規化処理に適用され
る。処理フローは基本的に従来例の図12と同様である
が、1ビット専用の正規化処理であるため終了判定を行
うS146が不要となる。処理フロー名称が異なるた
め、S141からS145をS611からS615で示
している。FIG. 36 is a flowchart of a new RENORMEMPS process, which is applied to normalization by MPS coding. The processing flow is basically the same as that of the conventional example shown in FIG. 12, but since the normalization processing is performed only for one bit, the step S146 for determining the end is unnecessary. Since the processing flow names are different, S141 to S145 are indicated by S611 to S615.
【0095】図37は、DECODE処理フローで実施
の形態1の図32に対応する。正規化処理の呼出しをS
471をMPS_EXCHANGE、S472をLPS
_EXCHANGEの処理フローに移動させており、移
動させた各処理フローで復号シンボルによって適用すべ
き正規化処理フローを呼び出す。FIG. 37 is a DECODE processing flow and corresponds to FIG. 32 of the first embodiment. Call normalization processing S
471 is MPS_EXCHANGE, S472 is LPS
The processing flow is moved to the processing flow of _EXCHANGE, and a normalization processing flow to be applied by a decoded symbol is called in each of the moved processing flows.
【0096】図38は、LPS_EXCHANGE処理
フローで従来例の図21に対応する。S231の判定で
分岐したパスで処理の最後に正規化処理を呼び出す。判
定YesではS235の後にS621でMPS専用の正
規化処理RENORMDMPS、判定NoではS241
の後にS622でLSZ領域専用の正規化処理RENO
RMDLSZの呼出しが付加された。FIG. 38 is an LPS_EXCHANGE processing flow corresponding to FIG. 21 of the conventional example. The normalization processing is called at the end of the processing in the path branched in the determination of S231. In the judgment Yes, after S235, in S621, the normalization processing RENORMDMPS dedicated to the MPS is performed. In the judgment No, S241 is performed.
Is followed by S622 in the LSZ area-specific normalization processing RENO
A call to RMDLSZ was added.
【0097】図39は、MPS_EXCHANGE処理
フローで従来例の図22に対応する。S251の判定で
分岐したパスで処理の最後に正規化処理を呼び出す。判
定YesではS255の後にS622で(A−LSZ)
領域専用の正規化処理RENORMD12、判定Noで
はS257の後にS621でMPS専用の正規化処理R
ENORMDMPSの呼出しが付加された。FIG. 39 is an MPS_EXCHANGE processing flow corresponding to FIG. 22 of the conventional example. The normalization process is called at the end of the process in the path branched in the determination of S251. In the judgment Yes, after S255, in S622 (A-LSZ)
The normalization process RENORMD12 dedicated to the area, and in the determination No, after S257, the normalization process R dedicated to the MPS is performed in S621 in S621.
A call to ENORMDMPS was added.
【0098】図40は、新規のRENORMDMPS処
理フローで、MPS復号による正規化処理に適用され
る。従来例の図23の復号における正規化処理フローを
図12の符号化における正規化処理フローの符号バイト
出力処理BYTEOUTを入力処理BYTEINに変更
したものと基本的に同様であるが、1ビット専用の正規
化処理であるため終了判定(S266に相当)が不要と
なる。つまり、図36に示されたRENORMEMPS
処理フローの符号バイト出力処理BYTEOUTを入力
処理BYTEINに変更した処理フローとなっている。FIG. 40 is a flowchart of a new RENORM DMPS process, which is applied to normalization by MPS decoding. The normalization process flow in the decoding of FIG. 23 of the conventional example is basically the same as the normalization process flow in the encoding process of FIG. 12 in which the code byte output process BYTEOUT is changed to the input process BYTEIN. Since the processing is the normalization processing, the end determination (corresponding to S266) becomes unnecessary. That is, RENORMEMPS shown in FIG.
This is a processing flow in which the code byte output processing BYTEOUT of the processing flow is changed to the input processing BYTEIN.
【0099】評価画像を使用した実施の形態2による導
入効果を表3に示す。Table 3 shows the introduction effect of the second embodiment using the evaluation image.
【0100】[0100]
【表3】 [Table 3]
【0101】RENORMELSZ処理では、変数RN
Mを設定する際のLSZSテーブル37を参照する処理
が従来に対して新規に増えているが、他の処理の削減は
その処理の増加を解消できるだけの効果がある。誤差拡
散画像は文字画像に比較して正規化処理回数が多く、2
画素に1回処理を行っているため各処理の削減回数の比
率が2画像で大きく変わらなくても導入効果は大きくな
る。要するに、本実施の形態2においては、上述の実施
の形態1に対して、優勢シンボル(MPS)に対する正
規化処理の処理過程を設けたものである。In the RENORMELZZ processing, the variable RN
Although the number of processes for referring to the LSZS table 37 when setting M is newly increased compared to the related art, the reduction of other processes has the effect of eliminating the increase in the number of processes. The error diffusion image has a large number of normalization processes compared to the character image.
Since the processing is performed once for each pixel, the introduction effect is increased even if the ratio of the number of reductions in each processing does not change significantly between the two images. In short, the second embodiment is different from the first embodiment in that a normalization process for a dominant symbol (MPS) is provided.
【0102】実施の形態3.本実施の形態は、実施の形
態2と同様に、符号化/復号シンボル、かつ/あるい
は、上方領域/下方領域を処理する場合において、唯一
の正規化処理フローのみを適用するのではなく、処理結
果は同じであっても処理過程が異なる複数の処理フロー
候補の中から1つを選択して適用すること、またサイズ
を補正した領域に対する専用の正規化処理フローを用意
することを特徴とし、従来の処理フローがその候補の1
つであっても構わない。また、上方、下方領域の配置が
上下逆であっても構わない。従来技術、実施の形態1お
よび実施の形態2で説明してきた算術符号化の1例であ
るQM−Coderは、LSZという固定領域をLP
S、残りの領域A−LSZをMPSに割り当てるが、L
SZ>A−LSZという条件が成立するとき、MPSと
LPSの対応を交換する「条件付きMPS/LPS交
換」を適用し、出現確率の大小と領域の大小が逆転しな
いようにすることによって符号化効率の低下を抑えてい
る。実施の形態3では、算術符号化において、QM−C
oderのような条件付きMPS/LPS交換を適用せ
ず、Embodiment 3 FIG. In the present embodiment, as in Embodiment 2, when encoding / decoding symbols and / or upper / lower regions are processed, processing is performed not by applying only a single normalization processing flow but by performing processing. It is characterized in that one is selected and applied from a plurality of processing flow candidates having the same processing result but different processing steps, and that a dedicated normalization processing flow is prepared for a region whose size has been corrected, Conventional processing flow is one of the candidates
It may be one. Further, the arrangement of the upper and lower regions may be upside down. The QM-coder, which is an example of the arithmetic coding described in the prior art and the first and second embodiments, uses a fixed region called LSZ as LP
S, allocate the remaining area A-LSZ to MPS,
When the condition of SZ> A-LSZ is satisfied, “conditional MPS / LPS exchange” for exchanging the correspondence between MPS and LPS is applied, and encoding is performed by preventing the magnitude of the appearance probability and the magnitude of the region from being reversed. The decrease in efficiency is suppressed. In the third embodiment, in arithmetic coding, QM-C
without applying conditional MPS / LPS exchanges like order
【0103】[0103]
【数22】 (Equation 22)
【0104】あるいはOr
【0105】[0105]
【数23】 (Equation 23)
【0106】、[0106]
【0107】[0107]
【数24】 (Equation 24)
【0108】となる変数値Variable value
【0109】[0109]
【数25】 (Equation 25)
【0110】によって調整し、MPS領域(A−LSZ
+α)、LPS領域(LSZ−α)に再配分する場合を
説明する。この方法によれば、MPS、LPSの下方、
上方領域との対応は常に固定される。また、MPS領域
(A−LSZ+α)をAの最小値0x8000の1/2
(=0x4000)以上となるように保証できるため、
0x8000以上となるまでの拡大は常に従来通り1ビ
ットとなる。LPS領域(LSZ−α)は従来のLSZ
領域よりαだけ小さくなるため、正規化シフト数はLS
ZSより大きくなることがある。ここでは、Adjusted by the MPS area (A-LSZ)
+ Α), and the case of reallocation to the LPS area (LSZ-α) will be described. According to this method, below the MPS and LPS,
The correspondence with the upper region is always fixed. Further, the MPS area (A-LSZ + α) is set to a half of the minimum value A of 0x8000.
(= 0x4000) or more,
Expansion up to 0x8000 or more is always one bit as in the past. The LPS region (LSZ-α) is the same as the conventional LSZ
Is smaller than the area by α, the normalized shift number is LS
It may be larger than ZS. here,
【0111】[0111]
【数26】 (Equation 26)
【0112】のときAt the time
【0113】[0113]
【数27】 [Equation 27]
【0114】で再配分を行う方式について説明する。α
は最大LSZ/2となるため、LPS領域(LSZ−
α)の正規化シフト数はLSZSまたは(LSZS+
1)となる。この場合、従来のLPS領域幅を補正した
ことによって領域(LSZ−α)の正規化シフト数は2
つに限定できる。LPS領域を上方、MPS領域を下方
へ固定的に配置するものとして説明を行う。補正前の下
方領域(MPS領域)幅をX(<0x8000)とする
と、Next, a method of reallocation will be described. α
Is the maximum LSZ / 2, so the LPS region (LSZ-
α) is a normalized shift number of LSZS or (LSZS +
1). In this case, the normalized shift number of the area (LSZ-α) is 2 by correcting the conventional LPS area width.
Can be limited to one. The description will be made on the assumption that the LPS region is fixedly arranged above and the MPS region is fixedly arranged below. If the width of the lower region (MPS region) before correction is X (<0x8000),
【0115】[0115]
【数28】 [Equation 28]
【0116】と表せるので、補正後の領域幅はThus, the area width after correction is
【0117】[0117]
【数29】 (Equation 29)
【0118】となる。補正前の上方領域(LPS領域)
幅はLSZであるから、補正後の領域幅はIs obtained. Upper area before correction (LPS area)
Since the width is LSZ, the area width after correction is
【0119】[0119]
【数30】 [Equation 30]
【0120】となる。本実施の形態において、符号化処
理における処理フローENCODER(図8)、ENC
ODE(図9)、RENORME12(図30)、RE
NORMELSZ(図31)、RENORMEMPS
(図36)、BYTEOUT(図13)、INITEN
C(図14)、FLUSH(図15)、CLEARBI
TS(図16)、FINALWRITES(図17)、
復号処理における処理フローDECODER(図1
8)、RENORMD12(図33)、RENORME
LSZ(図34)、RENORMDMPS(図40)、
BYTEIN(図24)、INITDEC(図25)
は、実施の形態2における処理フローと同様である。ま
た、同一名称の処理フローですでに説明したものと同一
の処理要素は、同一識別子をそのまま付けている。Is obtained. In the present embodiment, the processing flow ENCODER (FIG. 8) in the encoding processing, ENC
ODE (FIG. 9), RENORM12 (FIG. 30), RE
NORMELSZ (FIG. 31), RENORMEMPS
(FIG. 36), BYTEOUT (FIG. 13), INITEN
C (FIG. 14), FLUSH (FIG. 15), CLEARBI
TS (FIG. 16), FINALWRITES (FIG. 17),
Processing flow DECODER in decoding processing (FIG. 1)
8), RENORMD12 (FIG. 33), RENORME
LSZ (FIG. 34), RENORMDMPS (FIG. 40),
BYTEIN (FIG. 24), INITDEC (FIG. 25)
Is the same as the processing flow in the second embodiment. In addition, the same processing elements as those already described in the processing flow with the same name have the same identifier.
【0121】図41は、CODELPS処理フローで実
施の形態1の図28に対応し、上方領域を符号化する。
S121で下方領域、すなわちMPS領域幅を計算す
る。S651で、判定Yesならば領域の補正は不要
で、図29で説明したS123〜S404をそのまま実
行する。判定Noならば領域の補正を行い、S652で
符号化レジスタ20、S653でMPS領域幅となって
いる領域幅レジスタ21を更新する。S654、S65
5、S656は、S401、S402、S403の処理
と同じく、予測値反転の判定、反転、およびLPSによ
る状態遷移を行っている。S657で、領域補正の伴う
LPS符号化専用の正規化処理RENORMEALPH
Aを呼び出す。FIG. 41 is a CODELPS processing flow corresponding to FIG. 28 of the first embodiment, and encodes the upper region.
In S121, the lower area, that is, the MPS area width is calculated. If the determination is Yes in S651, the correction of the area is unnecessary, and S123 to S404 described in FIG. 29 are executed as they are. If the determination is No, the area is corrected, and the encoding register 20 is updated in S652, and the area width register 21 which is the MPS area width is updated in S653. S654, S65
In steps S656 and S656, similarly to the processing in steps S401, S402, and S403, the determination of the predicted value inversion, the inversion, and the state transition by the LPS are performed. In step S657, a normalization process RENORMEALPH dedicated to LPS encoding with area correction
Call A.
【0122】図42は、CODEMPS処理フローで実
施の形態2の図35に対応し、下方領域を符号化する。
S131で下方領域、すなわちMPS領域幅を計算す
る。S132で判定Noならばそのまま符号化を終了す
る。判定Yesならば領域の補正を行い、S661で領
域幅レジスタ21を更新する。領域の補正を行ったとき
のみ正規化処理が必要となり、S136でMPSによる
状態遷移を行い、S601でMPS符号化専用の正規化
処理RENORMEMPSを呼び出す。FIG. 42 shows a CODEMPS processing flow corresponding to FIG. 35 of the second embodiment, and encodes the lower region.
In S131, the lower region, that is, the MPS region width is calculated. If the determination is No in S132, the encoding is terminated. If the determination is Yes, the area is corrected, and the area width register 21 is updated in S661. Normalization processing is required only when the area is corrected. In S136, state transition by MPS is performed, and in S601, normalization processing RENORMEMPS dedicated to MPS encoding is called.
【0123】図43は、新規のRENORMEALPH
A処理フローで、領域補正の伴うLPS符号化による正
規化処理に適用される。処理フローは基本的に実施の形
態1の図31のRENORMELSZ処理フローと同様
であるが、S452とS453の間にS671〜S67
3が追加されている。S671で領域補正によりLSZ
Sビットのシフト処理で拡大された領域幅レジスタ21
が0x8000以上とならない場合を判定する。判定Y
esの場合はS672で正規化処理の総シフト数である
RNMを1増やし、S673で領域幅レジスタ21をさ
らに1ビット拡大する。残りの処理は図31で説明済み
である。FIG. 43 is a flow chart of the new RENORMALPH
In the processing flow A, the processing is applied to the normalization processing by the LPS encoding accompanied by the area correction. The processing flow is basically the same as the RENORMELZZ processing flow of FIG. 31 of the first embodiment, but between S452 and S453, S671-S67.
3 has been added. LSZ by area correction in S671
Area width register 21 expanded by S-bit shift processing
Is not greater than or equal to 0x8000. Judgment Y
In the case of es, RNM which is the total shift number of the normalization processing is increased by 1 in S672, and the area width register 21 is further expanded by 1 bit in S673. The remaining processing has already been described with reference to FIG.
【0124】図44は、DECODE処理フローで実施
の形態2の図37に対応する。S221で下方領域、す
なわちMPS領域幅を計算する。S681で判定Noな
らば領域補正なし、判定Yesならば領域補正ありとな
る。S681の判定Noのとき、S222の判定Yes
ならば下方領域、すなわちMPSを復号し、S226で
復号画素値を予測値とする。S222の判定Noならば
上方領域(LSZ)、すなわちLPSを復号する。S6
82〜S688は図38のLPS_EXCHANGEに
おけるS236〜S622の処理と同じである。S68
1の判定Yesならば領域補正処理DECODEALP
HAを呼び出す。FIG. 44 is a DECODE processing flow and corresponds to FIG. 37 of the second embodiment. In S221, the lower region, that is, the MPS region width is calculated. If the determination is No in S681, the area is not corrected, and if the determination is Yes, the area is corrected. When the determination is No in S681, the determination in S222 is Yes.
If so, the lower region, that is, the MPS is decoded, and the decoded pixel value is set as a predicted value in S226. If No in S222, the upper area (LSZ), that is, the LPS is decoded. S6
Steps 82 to S688 are the same as the steps S236 to S622 in the LPS_EXCHANGE of FIG. S68
If the judgment of 1 is Yes, the area correction processing DECODEALP
Call HA.
【0125】図45は、新規のDECODEALPHA
処理フローで、領域補正を伴う復号処理を行う。S69
1で領域補正後の下方領域、すなわちMPS領域幅を計
算する。S692で判定Yesならば下方領域、すなわ
ちMPS、判定Noならば上方領域、すなわちLPSを
復号する。S692の判定Yesならば、S693でM
PSによる状態遷移を行い、S694でMPS復号専用
の正規化処理RENORMDMPSを呼び出し、S69
5で予測値を復号画素値とする。S692で判定Noな
らば、S696で復号化レジスタ31B、S697で領
域幅レジスタ32を更新し、S698で非予測値を復号
画素値とする。S699、S700、S701は、予測
値反転の判定、反転、およびLPSによる状態遷移を行
っている。S702で、領域補正の伴うLPS復号専用
の正規化処理RENORMDALPHAを呼び出す。FIG. 45 shows the new DECODEALPHA
In the processing flow, a decoding process with region correction is performed. S69
In step 1, the lower area after the area correction, that is, the MPS area width is calculated. If the determination is Yes in S692, the lower region, that is, the MPS is decoded. If the determination is No, the upper region, that is, the LPS is decoded. If Yes in S692, M in S693
A state transition is performed by the PS, and in S694, a normalization process RENORM DMPS dedicated to MPS decoding is called, and S69 is performed.
In 5, the prediction value is set as a decoded pixel value. If the determination is No in S692, the decoding register 31B is updated in S696, the area width register 32 is updated in S697, and the non-prediction value is set as the decoded pixel value in S698. In S699, S700, and S701, the determination of the inversion of the predicted value, the inversion, and the state transition by the LPS are performed. In step S702, a normalization process RENORMALPHA dedicated to LPS decoding accompanied by area correction is called.
【0126】図46は、新規のRENORMDALPH
A処理フローで、領域補正の伴うLPS符号化による正
規化処理に適用される。処理フローは基本的に実施の形
態1の図34のRENORMELSZ処理フローと同様
であるが、S502とS503の間にS711〜S71
3が追加されている。S711で領域補正によりLSZ
Sビットのシフト処理で拡大された領域幅レジスタ32
が0x8000以上とならない場合を判定する。判定Y
esの場合はS712で正規化処理の総シフト数である
RNMを1増やし、S713で領域幅レジスタ32をさ
らに1ビット拡大する。残りの処理は図34で説明済み
である。要するに本実施の形態3においては、状態固有
のサイズを補正することによって領域拡大総ビット数が
限定できる領域に対する正規化処理の処理過程を設けた
ものである。FIG. 46 shows the new RENORMALPH
In the processing flow A, the processing is applied to the normalization processing by the LPS encoding accompanied by the area correction. The processing flow is basically the same as the RENORMELZZ processing flow of FIG. 34 of the first embodiment, but between S502 and S503, S711-S71.
3 has been added. LSZ by area correction in S711
Area width register 32 enlarged by S-bit shift processing
Is not greater than or equal to 0x8000. Judgment Y
In the case of es, RNM which is the total shift number of the normalization processing is increased by 1 in S712, and the area width register 32 is further expanded by 1 bit in S713. The remaining processing has already been described with reference to FIG. In short, the third embodiment is provided with a process of normalization processing for an area in which the total number of bits for area expansion can be limited by correcting the state-specific size.
【0127】実施の形態1、実施の形態2および実施の
形態3では、算術符号化の1例を示したものであり、説
明したQM−Coderでは桁上がり伝搬範囲が制限さ
れず純粋な座標値を符号として出力/入力しているが、
符号上位への桁上がり伝搬範囲が制限されるとき符号中
に制御信号を付加する方法(例えばビットスタッフ法)
などを用いて符号出力/入力したとしても、BYTEO
UT処理、FINALWRITES処理、BYTEIN
処理、INITENC処理、INITDEC処理の内容
を変更するに過ぎず、この実施の形態1、実施の形態2
および実施の形態3の導入を本質的に妨げるものではな
い。The first, second, and third embodiments show an example of arithmetic coding. In the QM-coder described above, the carry propagation range is not limited and pure coordinate values are used. Is output / input as a code,
A method of adding a control signal to a code when the carry propagation range to the upper part of the code is limited (for example, a bit stuff method)
Even if code output / input is performed using
UT processing, FINALWRITES processing, BYTEIN
Only the contents of the processing, the INITENC processing, and the INITDEC processing are changed.
And it does not essentially hinder the introduction of the third embodiment.
【0128】[0128]
【発明の効果】以上のように、この発明によれば、算術
符号化の正規化処理を状況に適した正規化処理を選択実
行するので、状況に合った拡大処理の一括化と判定処理
の削減によって最適な正規化処理の選択が可能となる。
特に、符号化および復号処理において、正規化処理の一
部を一括化または省略することによって高速化を実現で
きる。As described above, according to the present invention, the normalization processing of arithmetic coding is performed by selecting a normalization processing suitable for the situation. The reduction enables selection of an optimal normalization process.
In particular, in the encoding and decoding processes, speeding up can be realized by integrating or omitting a part of the normalization process.
【図1】 従来のマルコフ情報源の符号化を示す図であ
る。FIG. 1 is a diagram illustrating encoding of a conventional Markov information source.
【図2】 従来の符号化器を示す図である。FIG. 2 is a diagram illustrating a conventional encoder.
【図3】 従来の符号化器の概略構成図を示す図であ
る。FIG. 3 is a diagram showing a schematic configuration diagram of a conventional encoder.
【図4】 従来の復号化器の概略構成図を示す図であ
る。FIG. 4 is a diagram showing a schematic configuration diagram of a conventional decoder.
【図5】 従来のモデルテンプレートを示す図である。FIG. 5 is a diagram showing a conventional model template.
【図6】 従来の状態遷移を示す図である。FIG. 6 is a diagram showing a conventional state transition.
【図7】 従来の符号化演算用レジスタを示す図であ
る。FIG. 7 is a diagram illustrating a conventional encoding operation register.
【図8】 従来のENCODER処理フローを示す図で
ある。FIG. 8 is a diagram showing a conventional ENCODER processing flow.
【図9】 従来のENCODE処理フローを示す図であ
る。FIG. 9 is a diagram showing a conventional ENCODE processing flow.
【図10】 従来のCODELPS処理フローを示す図
である。FIG. 10 is a diagram showing a conventional CODELPS processing flow.
【図11】 従来のCODEMPS処理フローを示す図
である。FIG. 11 is a diagram showing a conventional CODEMPS processing flow.
【図12】 従来のRENORME処理フローを示す図
である。FIG. 12 is a diagram showing a conventional RENOMEME processing flow.
【図13】 従来のBYTEOUT処理フローを示す図
である。FIG. 13 is a diagram showing a conventional BYTEOUT processing flow.
【図14】 従来のINITENC処理フローを示す図
である。FIG. 14 is a diagram showing a conventional INITENC processing flow.
【図15】 従来のFLUSH処理フローを示す図であ
る。FIG. 15 is a diagram showing a conventional FLUSH processing flow.
【図16】 従来のCLEARBITS処理フローを示
す図である。FIG. 16 is a diagram showing a conventional CLEARBITS processing flow.
【図17】 従来のFINALWRITES処理フロー
を示す図である。FIG. 17 is a diagram showing a conventional FINALWRITES processing flow.
【図18】 従来のDECODER処理フローを示す図
である。FIG. 18 is a diagram showing a conventional DECODER processing flow.
【図19】 従来の復号化演算用レジスタを示す図であ
る。FIG. 19 is a diagram showing a conventional register for decoding operation.
【図20】 従来のDECODE処理フローを示す図で
ある。FIG. 20 is a diagram showing a conventional DECODE processing flow.
【図21】 従来のLPS_EXCHANGE処理フロ
ーを示す図である。FIG. 21 is a diagram showing a conventional LPS_EXCHANGE processing flow.
【図22】 従来のMPS_EXCHANGE処理フロ
ーを示す図である。FIG. 22 is a diagram showing a conventional MPS_EXCHANGE processing flow.
【図23】 従来のRENORMD処理フローを示す図
である。FIG. 23 is a diagram showing a conventional RENORMD processing flow.
【図24】 従来のBYTEIN処理フローを示す図で
ある。FIG. 24 is a diagram showing a conventional BYTEIN processing flow.
【図25】 従来のINITDEC処理フローを示す図
である。FIG. 25 is a diagram showing a conventional INITDEC processing flow.
【図26】 この発明の画像符号化/復号化装置の全体
構成を示す図である。FIG. 26 is a diagram illustrating an overall configuration of an image encoding / decoding device according to the present invention.
【図27】 この発明の画像符号化/復号化装置の全体
構成を示す図である。FIG. 27 is a diagram illustrating an overall configuration of an image encoding / decoding device according to the present invention.
【図28】 この発明のCODELPS処理フローを示
す図である。FIG. 28 is a diagram showing a CODELPS processing flow of the present invention.
【図29】 この発明のCODEMPS処理フローを示
す図である。FIG. 29 is a diagram showing a CODEMPS processing flow of the present invention.
【図30】 この発明のRENORME12処理フロー
を示す図である。FIG. 30 is a diagram showing a flow of a RENOME 12 process of the present invention.
【図31】 この発明のRENORMELSZ処理フロ
ーを示す図である。FIG. 31 is a diagram showing a RENORMELZZ processing flow of the present invention.
【図32】 この発明のDECODE処理フローを示す
図である。FIG. 32 is a diagram showing a DECODE processing flow of the present invention.
【図33】 この発明のRENORMD12処理フロー
を示す図である。FIG. 33 is a diagram showing a RENORMD12 processing flow of the present invention.
【図34】 この発明のRENORMDLSZ処理フロ
ーを示す図である。FIG. 34 is a diagram showing a RENORMDLSZ processing flow of the present invention.
【図35】 この発明のCODEMPS処理フローを示
すずである。FIG. 35 is a flowchart showing a CODEMPS processing flow of the present invention.
【図36】 この発明のRENORMEMPS処理フロ
ーを示す図である。FIG. 36 is a diagram showing a RENORMEMPS processing flow of the present invention.
【図37】 この発明のDECODE処理フローを示す
図である。FIG. 37 is a diagram showing a DECODE processing flow of the present invention.
【図38】 この発明のLPS EXCHANGE処理
フローを示す図である。FIG. 38 is a diagram showing an LPS EXCHANGE processing flow of the present invention.
【図39】 この発明のMPS EXCHANGE処理
フローを示す図である。FIG. 39 is a diagram showing an MPS EXCHANGE processing flow of the present invention.
【図40】 この発明のRENORMDMPS処理フロ
ーを示す図である。FIG. 40 is a diagram showing a RENORM DMPS processing flow of the present invention.
【図41】 この発明のCODELPS処理フローを示
す図であるFIG. 41 is a diagram showing a CODELPS processing flow of the present invention.
【図42】 この発明のCODEMPS処理フローを示
す図である。FIG. 42 is a diagram showing a CODEMPS processing flow of the present invention.
【図43】 この発明のRENORMEALPAH処理
フローを示す図である。FIG. 43 is a diagram showing a flow of a RENORMAL APAH process of the present invention.
【図44】 この発明のDECODE処理フローを示す
図である。FIG. 44 is a diagram showing a DECODE processing flow of the present invention.
【図45】 この発明のDECODEALPH処理フロ
ーを示す図である。FIG. 45 is a diagram showing a DECODEALPH processing flow of the present invention.
【図46】 この発明のRENORMDALPH処理フ
ローを示す図である。FIG. 46 is a diagram showing a RENORMALPH processing flow of the present invention.
7 QM符号部、8 QM復号部、9 画像メモリ、1
0 予測値テーブルMPS、11 ステートテーブルS
T、12 LPS領域幅テーブルLSZ、13MPS状
態遷移先テーブルNMPS、14 LPS状態遷移先テ
ーブルNLPS、15 予測値反転判定テーブルSWT
CH、16 画素シンボル変換器、シンボル画素変換
器、17 予測値更新処理器、18 ステート更新処理
器、19算術符号器、30 算術復号器。7 QM encoder, 8 QM decoder, 9 image memory, 1
0 Predicted value table MPS, 11 State table S
T, 12 LPS area width table LSZ, 13 MPS state transition destination table NMPS, 14 LPS state transition destination table NLPS, 15 predicted value inversion determination table SWT
CH, 16 pixel symbol converter, symbol pixel converter, 17 predicted value update processor, 18 state update processor, 19 arithmetic encoder, 30 arithmetic decoder.
フロントページの続き (56)参考文献 特開 昭58−85629(JP,A) 特開 平6−85684(JP,A) 特開 平5−37391(JP,A) 特開 平6−311046(JP,A) 特開 平10−79938(JP,A) 特開 昭63−76525(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/40 Continuation of the front page (56) References JP-A-58-85629 (JP, A) JP-A-6-85684 (JP, A) JP-A-5-37391 (JP, A) JP-A-6-311046 (JP, A) JP-A-10-79938 (JP, A) JP-A-63-76525 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) H03M 7/40
Claims (12)
シンボルに対する数直線上の領域(Ai-1 )を現行シン
ボルに対して出現確率の低いシンボルである劣勢シンボ
ルへ対応させる固定サイズの領域(S)と出現確率の高
いシンボルである優勢シンボルへ対応させる領域(A
i-1−S )とに分割して該現行シンボルの出現値により
選択される領域を新たな数直線上の領域(Ai )とし、
領域(Ai )のサイズが所定の設定値より小さくなる場
合に該設定値以上となるように拡大する正規化処理を行
って数直線上の演算精度を保持することによって数直線
上の座標を符号として出力する符号化装置において、 現行シンボルに対する領域(Ai)が該設定値と比較し
て小さいときに適用される正規化処理について複数の拡
大処理を予め設けて、上記領域(Ai)と該設定値と比
較して、上記領域(Ai)が小さい場合、該複数の拡大
処理の中から情況に適した正規化処理を選択して実行す
ることを特徴とする符号化装置。When encoding a digital signal, a fixed-size area (S i ) in which an area (A i−1 ) on a number line with respect to the immediately preceding symbol corresponds to a less probable symbol having a lower appearance probability than the current symbol. ) And a region (A
i−1 −S) and an area selected by the appearance value of the current symbol is defined as an area (A i ) on a new number line,
When the size of the area (A i ) is smaller than a predetermined set value, the coordinates on the number line are maintained by performing a normalization process for enlarging the area so that it becomes equal to or larger than the set value and maintaining the calculation accuracy on the number line. In an encoding device that outputs a code, a plurality of enlargement processes are provided in advance for a normalization process applied when the area (A i ) for the current symbol is smaller than the set value, and the area (A i ) An encoding apparatus characterized in that, when the area (A i ) is smaller than the set value, a normalization process suitable for a situation is selected and executed from the plurality of enlargement processes.
シンボルに対する数直線上の領域(Ai-1 )を現行シン
ボルに対して出現確率の低いシンボルである劣勢シンボ
ルへ対応させる固定サイズの領域(S)と出現確率の高
いシンボルである優勢シンボルへ対応させる領域(A
i-1−S )とに分割して該現行シンボルの出現値により
選択される領域を新たな数直線上の領域(Ai )とし、
領域(Ai )のサイズが所定の設定値より小さくなる場
合に該設定値以上となるように拡大する正規化処理を行
って数直線上の演算精度を保持することによって数直線
上の座標を符号として入力する復号化装置において、 現行シンボルに対する領域(Ai)が該設定値と比較し
て小さいときに適用される正規化処理について複数の拡
大処理を予め設けて、上記領域(Ai)と該設定値と比
較して、上記領域(Ai)が小さい場合、該複数の拡大
処理の中から情況に適した正規化処理を選択して実行す
ることを特徴とする復号化装置。2. When decoding a digital signal, a fixed-size area (S i ) in which an area (A i-1 ) on the number line with respect to the immediately preceding symbol is made to correspond to an inferior symbol having a low appearance probability with respect to the current symbol. ) And a region (A
i−1 −S) and an area selected by the appearance value of the current symbol is defined as an area (A i ) on a new number line,
When the size of the area (A i ) is smaller than a predetermined set value, the coordinates on the number line are maintained by performing a normalization process for enlarging the area so that it becomes equal to or larger than the set value and maintaining the calculation accuracy on the number line. In the decoding apparatus for inputting a code, a plurality of enlargement processes are provided in advance for the normalization process applied when the area (A i ) for the current symbol is smaller than the set value, and the area (A i ) And when the area (A i ) is smaller than the set value, a normalization process suitable for the situation is selected and executed from the plurality of enlargement processes.
ビット数があらかじめ自明である状態固有のサイズの領
域に対して拡大する正規化処理を設けたことを特徴とす
る請求項1記載の符号化装置。3. The normalization process according to claim 1, wherein, when performing the normalization process, a normalization process is provided for expanding a region having a state-specific size in which the total number of bits of the region expansion is obvious in advance. Encoding device.
ビット数があらかじめ自明である状態固有のサイズの領
域に対して拡大する正規化処理を設けたことを特徴とす
る請求項2に記載の復号化装置。4. The normalization process according to claim 2, wherein, when performing the normalization process, a normalization process for expanding a region having a size specific to a state in which the total number of bits of the region expansion is self-evident is provided. Decryption device.
から状態固有のサイズの領域を除いた領域に対して拡大
する正規化処理を設けたことを特徴とする請求項1に記
載の符号化装置。5. The code according to claim 1, wherein, when the normalization processing is performed, a normalization processing for enlarging an area excluding a state-specific size area from the entire current area is provided. Device.
から状態固有のサイズの領域を除いた領域に対して拡大
する正規化処理を設けたことを特徴とする請求項2に記
載の復号化装置。6. The decoding according to claim 2, wherein, when performing the normalization processing, a normalization processing for enlarging an area excluding a state-specific size area from the entire current area is provided. Device.
の領域に対して拡大する正規化処理を設けたことを特徴
とする請求項1に記載の符号化装置。7. The encoding apparatus according to claim 1, wherein when performing the normalization processing, a normalization processing for enlarging a region of a dominant symbol is provided.
の領域対して拡大する正規化処理を設けたことを特徴と
する請求項2に記載の復号化装置。8. The decoding apparatus according to claim 2, wherein when performing the normalization processing, a normalization processing for expanding a region of a dominant symbol is provided.
イズを補正することによって領域拡大の総ビット数が限
定できる領域に対して拡大する正規化処理を設けたこと
を特徴とする請求項1に記載の符号化装置。9. The normalization process according to claim 1, further comprising the step of: correcting a size specific to a state to expand a region in which the total number of bits of the region expansion can be limited. An encoding device according to claim 1.
サイズを補正することによって領域拡大の総ビット数が
限定できる領域に対して拡大する正規化処理を設けたこ
とを特徴とする請求項2に記載の復号化装置。10. The normalizing process according to claim 2, wherein a normalizing process is provided for enlarging an area in which the total number of bits of the area expansion can be limited by correcting a state-specific size. 3. The decoding device according to claim 1.
子計算機、スキャナ、ファクシミリ、プリンタ、半導体
チップ等に備えられることを特徴とする画像符号化処理
装置。11. An image coding processing apparatus according to claim 1, wherein said coding apparatus is provided in an electronic computer, a scanner, a facsimile, a printer, a semiconductor chip, or the like.
子計算機、スキャナ、ファクシミリ、プリンタ、半導体
チップ等に備えられることを特徴とする画像復号化処理
装置。12. An image decoding processing apparatus according to claim 2, wherein the decoding apparatus is provided in an electronic computer, a scanner, a facsimile, a printer, a semiconductor chip, or the like.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32838096A JP3286898B2 (en) | 1996-12-09 | 1996-12-09 | Encoding device, decoding device, image encoding device, and image decoding device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32838096A JP3286898B2 (en) | 1996-12-09 | 1996-12-09 | Encoding device, decoding device, image encoding device, and image decoding device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10173544A JPH10173544A (en) | 1998-06-26 |
JP3286898B2 true JP3286898B2 (en) | 2002-05-27 |
Family
ID=18209608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32838096A Expired - Fee Related JP3286898B2 (en) | 1996-12-09 | 1996-12-09 | Encoding device, decoding device, image encoding device, and image decoding device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3286898B2 (en) |
-
1996
- 1996-12-09 JP JP32838096A patent/JP3286898B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10173544A (en) | 1998-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3519416B2 (en) | Encoding device and decoding device | |
EP0260462B1 (en) | Arithmetic coding for data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders | |
JP2000115781A (en) | Coder | |
EP1045520B1 (en) | Arithmetic coding with prevention of carry over propagation | |
JP2001230935A (en) | Method and device for arithmetic encoding/decoding | |
JP3286898B2 (en) | Encoding device, decoding device, image encoding device, and image decoding device | |
JP2002094386A (en) | Encoder, decoder, coding method and decoding method | |
JP2002262102A (en) | Image coder, image coding method, and its storage medium | |
JP3459759B2 (en) | Arithmetic decoding device | |
JP3255808B2 (en) | Compression / expansion device | |
JP3342380B2 (en) | Encoding and decoding apparatus and image processing apparatus to which the same is applied | |
JP4110558B2 (en) | Encoding device, decoding device, encoding method, and decoding method | |
JP2891818B2 (en) | Encoding device | |
JP2001326938A (en) | Coding and decoding method, its device and image processor adopting the same | |
JP3141794B2 (en) | Decryption device | |
JP3146109B2 (en) | Binary image coding device | |
JP3484900B2 (en) | Image data encoding device | |
JPH11187274A (en) | Encoding method, device and image processor adapting the same | |
JP2783221B2 (en) | Decryption method | |
JP3232533B2 (en) | Image encoding device, image decoding device, and image encoding / decoding device | |
JP3223118B2 (en) | Image encoding device, image decoding device, and image encoding / decoding device | |
JP3382492B2 (en) | Image processing apparatus and method | |
JPH11220629A (en) | Image encoding method/device and image processor | |
JP2020048041A (en) | Image decompression device, and control method and program for the same | |
JPH0591343A (en) | Binary data encoding method and binary data decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080315 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090315 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100315 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100315 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110315 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110315 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120315 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130315 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130315 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140315 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |