JP2007116501A - Arithmetic encoding and decoding device - Google Patents

Arithmetic encoding and decoding device Download PDF

Info

Publication number
JP2007116501A
JP2007116501A JP2005306793A JP2005306793A JP2007116501A JP 2007116501 A JP2007116501 A JP 2007116501A JP 2005306793 A JP2005306793 A JP 2005306793A JP 2005306793 A JP2005306793 A JP 2005306793A JP 2007116501 A JP2007116501 A JP 2007116501A
Authority
JP
Japan
Prior art keywords
context
symbol
decoding
symbol data
unit
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.)
Pending
Application number
JP2005306793A
Other languages
Japanese (ja)
Inventor
Takushi Tashiro
拓志 田代
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2005306793A priority Critical patent/JP2007116501A/en
Publication of JP2007116501A publication Critical patent/JP2007116501A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an arithmetic encoding and decoding device which is inexpensively manufactured without enlarging a buffer amount. <P>SOLUTION: The device comprises: a symbol predicting part (12) for predicting that symbol data being decoded takes a value for increasing processing man-hours in subsequent processing procedures to be determined by the value of the symbol data; a context generating part (4) for reading a context, based on the decoding symbol data or the prediction symbol data; an arithmetic part (7) for inputting the context and decoding encoding data; a comparing part (13) for comparing the decoding symbol data with the prediction symbol data; and a control part (10) for performing control to conduct decoding with the use of the context which is read based on the prediction symbol data when the comparison result is coincidence and to conduct decoding after performing context reading processing again based on the decoding symbol data when the result is not coincidence. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、動画像圧縮符号化に用いられる算術符号の復号化装置に関するものである。   The present invention relates to an arithmetic code decoding apparatus used for moving picture compression encoding.

H.264、バッファ
ITU−Tでは、動画像圧縮符号化標準方式として、H.264を規格化している。
この動画像圧縮符号化システムは、図6に示すように、画像変換符号化部21、エントロピー符号化部22、多重伝送部23からなる。
画像変換符号化部21は、入力された映像信号から、動き補償予測した予測誤差をDCT変換、量子化して、エントロピー符号化部22に出力する。エントロピー符号化部22では、入力データのうちDCT係数を可変長符号化するとともに、その他付随データを、指数ゴロム符号、および算術符号により符号化する。可変長符号化された各種データはフォーマットにしたがって多重化され、バッファを介して情報発生量を均一に整え、多重伝送部23から出力される。
以上のように、H.264では、エントロピー符号化の1つとして、算術符号が用いられる。また、これら符号化・復号化には、データ平滑化用のバッファを必要としている。
H. H.264, buffer ITU-T uses H.264 as a standard method for video compression encoding. H.264 is standardized.
As shown in FIG. 6, the moving image compression encoding system includes an image conversion encoding unit 21, an entropy encoding unit 22, and a multiplex transmission unit 23.
The image transform coding unit 21 DCT transforms and quantizes the motion compensation predicted prediction error from the input video signal, and outputs the result to the entropy coding unit 22. The entropy encoding unit 22 performs variable-length encoding of the DCT coefficient in the input data, and encodes other accompanying data using an exponential Golomb code and an arithmetic code. Various types of variable-length encoded data are multiplexed according to the format, and the amount of information generated is uniformly adjusted via a buffer, and output from the multiplex transmission unit 23.
As described above, H.P. In H.264, an arithmetic code is used as one of entropy coding. These encoding / decoding require a data smoothing buffer.

算術符号
算術符号は、0と1の間の確率区間(レンジ)を、符号化対象である各シンボルの出現確率によって再帰的に分割(1度分割したものを更に分割)し、シンボル系列を分割された部分区間内の代表点に対応させ、その位置を表す2進小数を符号とするものである。
H.264で使われる算術符号は、CABAC(コンテキスト適応型2値算術符号)と呼ばれ、符号化対象データであるシンタックス要素は2値化されて、 “0”、“1” のシンボル列とされるとともに、前記シンボルは出現確率により優勢確率シンボル(MPS)に属するか、劣勢確率シンボル(LPS)に属するか識別され、符号化処理される。これら“0”、“1”の出現確率は、初期値としてシンタックス要素に関連付けたテーブルで与えられるとともに、入力されたシンボルの値により更新される適応化方式となっている。またコンテキストとは、シンボルの周囲の状況を指す言葉であるが、具体的には、後述するように、符号化対象シンボルの優勢確率シンボルの値(“0”または“1”)、およびその確率レンジを表す(非特許文献1参照。以下同様)。
Arithmetic code An arithmetic code divides a symbol sequence by recursively dividing a probability interval (range) between 0 and 1 according to the appearance probability of each symbol to be encoded (subdivided once). The binary decimal representing the position is used as a code corresponding to the representative point in the partial section.
H. The arithmetic code used in H.264 is called CABAC (context adaptive binary arithmetic code), and the syntax element that is the data to be encoded is binarized into symbol strings of “0” and “1”. In addition, the symbol is identified as belonging to the dominant probability symbol (MPS) or the inferior probability symbol (LPS) according to the appearance probability, and is encoded. The appearance probabilities of “0” and “1” are given in a table associated with the syntax element as an initial value, and are adapted to be updated according to the input symbol value. The context is a word indicating the situation around the symbol. Specifically, as will be described later, the value of the dominant probability symbol (“0” or “1”) of the encoding target symbol and the probability thereof. Represents a range (see Non-Patent Document 1).

符号化部
次にH.264の算術符号を例にとって、符号化・復号化装置の構成を説明する。算術符号の符号化装置は、図7(A)に示すように、符号化対象の通常多値で表現されているシンタックス要素(SE)を可変長の2値化シンボルデータ(SD)列に変換する2値化部6、シンボルのコンテキスト(Ctx)を計算処理するするコンテキスト計算部4、前記コンテキストと入力したシンボルから算術符号データ(CD)列を計算して出力する算術符号化部5、およびシンボルを入力して次のシンボルについてのシンタックス要素情報を出力するとともに、これらを制御する符号化制御部9から構成される。
Encoding unit The configuration of the encoding / decoding device will be described using an H.264 arithmetic code as an example. As shown in FIG. 7 (A), the arithmetic code encoding apparatus converts a syntax element (SE) represented by a normal multi-value to be encoded into a binary symbol data (SD) string of variable length. A binarization unit 6 for conversion, a context calculation unit 4 for calculating a context (Ctx) of a symbol, an arithmetic encoding unit 5 for calculating and outputting an arithmetic code data (CD) sequence from the context and the input symbol, And a symbol is input, syntax element information for the next symbol is output, and the encoding control unit 9 controls these.

復号化部
算術符号の復号化装置は、図7(B)に示すように、シンボルのコンテキスト(Ctx)を計算処理するコンテキスト計算部4、前記コンテキストと復号化対象の符号化データ(CD)列からシンボル(SD)を復号して出力する算術復号化部7、前記復号されたシンボル列からシンタックス要素(SE)を復元するSE復元部8、およびシンボルを入力して次のシンボルについてのシンタックス要素情報を出力するとともに、これらを制御する復号制御部10から構成される。
As shown in FIG. 7B, the decoding unit arithmetic code decoding apparatus includes a context calculation unit 4 for calculating a symbol context (Ctx), and the context and encoded data (CD) sequence to be decoded. An arithmetic decoding unit 7 that decodes and outputs a symbol (SD) from the symbol, an SE restoration unit 8 that restores a syntax element (SE) from the decoded symbol sequence, and a symbol for the next symbol by inputting the symbol It is composed of a decoding control unit 10 that outputs tax element information and controls them.

コンテキスト計算部
コンテキスト計算部4は、図7(C)に示すように、コンテキスト読み出し部1、確率更新部2、およびシンボルの確率を表す3つのテーブル(確率テーブル、LPSレンジテーブル、確率更新テーブル)から構成されており、符号化・復号化で共通に使用される。
確率テーブル3−1は、コンテキスト番号(cIdx)を見出しとして確率状態番号(sIdx)および優勢確率シンボル(MPS)が記述されたテーブルで、sIdxの値は更新可能となっている。LPSレンジテーブル3−2は、確率状態番号(sIdx)を見出しとして確率レンジ(Rng)が記述されたテーブルである。確率更新テーブル3−3は、確率状態番号(sIdx)を見出しとして、符号化されたシンボルの値(MPS、LPS)に応じて、確率テーブルの更新確率に相当する次のsIdxの値(t_MPS、t_LPS)が記述されたテーブルである。
コンテキスト読み出し部1は、シンボルのシンタックス要素情報を入力して、優勢確率シンボル(MPS)、確率レンジ(Rng)よりなるコンテキスト(Ctx)を出力する。
更新部3は、コンテキスト番号(cIdx)、確率状態番号(sIdx)、およびシンボル(SD)を入力して、確率テーブルの確率状態番号(sIdx)を更新する。
As shown in FIG. 7C, the context calculation unit 4 includes a context reading unit 1, a probability update unit 2, and three tables representing the probability of symbols (probability table, LPS range table, probability update table). And is commonly used for encoding and decoding.
The probability table 3-1 is a table in which the probability state number (sIdx) and the dominant probability symbol (MPS) are described with the context number (cIdx) as a headline, and the value of sIdx can be updated. The LPS range table 3-2 is a table in which the probability range (Rng) is described with the probability state number (sIdx) as a heading. The probability update table 3-3 uses the probability state number (sIdx) as a heading, and in accordance with the encoded symbol values (MPS, LPS), the next sIdx value (t_MPS, corresponding to the update probability of the probability table) t_LPS).
The context reading unit 1 inputs the syntax element information of the symbol, and outputs a context (Ctx) including a dominant probability symbol (MPS) and a probability range (Rng).
The updating unit 3 inputs the context number (cIdx), the probability state number (sIdx), and the symbol (SD), and updates the probability state number (sIdx) in the probability table.

符号化フロー
次に、図8(A)フローチャートに従って算術符号の符号化処理について説明する。
まず、順序制御のため、シンタックス要素を識別するカウンタ、符号化処理の経過すなわち符号データ(CD)列を保存する符号レジスタ(CR)などの初期設定を行う(ステップS21)。
2値化部6は、シンタックス要素(SE)を2値シンボル(SD)列に変換して、2値化する(ステップS22)。
符号化制御部9は、現在のシンボルについての情報から、次に符号化するシンボルについてのシンタックス要素(SE)情報(SEの種類、そのSEでのビット順位など)を解析して、SE情報として出力する(ステップS23)。
コンテキスト読み出し部1は、入力したSE情報からコンテキスト(Ctx)を求め、算術符号化部5に出力する(ステップS24)。すなわち、SE情報から、コンテキスト番号(cIdx)を求め、そのcIdxにより、確率テーブルを参照して確率状態番号(sIdx)、優勢確率シンボル(MPS)を読み出し、さらに、LPSレンジテーブルを参照して前記sIdxを見出しとする確率レンジ(Rng)を読み出し、MPS、Rngよりなるコンテキスト(Ctx)を出力する。
ステップS22で2値化されたシンボル(SD)を1ビット読み込み、算術符号化部5に出力する(ステップS25)。
算術符号化部5は、前記コンテキスト(Ctx)に基づいて、前記入力されたシンボル(SD)を符号化する(ステップS26)。
確率更新部2は、入力シンボル(SD)に応じて、確率更新テーブルから次のsIdxを読み出し、確率テーブルの更新を行う(ステップS27)。すなわち、確率更新テーブルを参照して、確率状態番号(sIdx)、および符号化したSDがMPSかLPSかの情報から、次のsIdxの値(t_MPSまたはt_LPS)を求める。そして、確率テーブルの前記コンテキスト番号(cIdx)を見出しとする確率状態番号sIdxを、前記次のsIdxの値に置き換える。以上により、各シンボルの出現確率に応じて、動的に確率が更新される。
以上の手順を、そのシンタックス要素(SE)の全ビットが終わるまで繰り返し、そのSEの符号化を終了する(ステップS28)。
さらに、全てのシンタックス要素の符号化が終わるまで繰り返し、符号化を終了する(ステップS29)。
Encoding Flow Next, the arithmetic code encoding process will be described with reference to the flowchart of FIG.
First, for order control, initialization is performed such as a counter for identifying syntax elements, the progress of encoding processing, that is, a code register (CR) for storing code data (CD) strings (step S21).
The binarization unit 6 converts the syntax element (SE) into a binary symbol (SD) sequence and binarizes it (step S22).
The encoding control unit 9 analyzes the syntax element (SE) information (SE type, bit order in the SE, etc.) about the symbol to be encoded next from the information about the current symbol to obtain SE information. (Step S23).
The context reading unit 1 obtains a context (Ctx) from the input SE information and outputs it to the arithmetic coding unit 5 (step S24). That is, the context number (cIdx) is obtained from the SE information, and the probability state number (sIdx) and the dominant probability symbol (MPS) are read with reference to the probability table by the cIdx, and further, the above-mentioned reference is made with reference to the LPS range table. A probability range (Rng) having sIdx as a headline is read, and a context (Ctx) composed of MPS and Rng is output.
One bit of the symbol (SD) binarized in step S22 is read and output to the arithmetic coding unit 5 (step S25).
The arithmetic encoding unit 5 encodes the input symbol (SD) based on the context (Ctx) (step S26).
The probability update unit 2 reads the next sIdx from the probability update table according to the input symbol (SD), and updates the probability table (step S27). That is, referring to the probability update table, the next value of sIdx (t_MPS or t_LPS) is obtained from the probability state number (sIdx) and information indicating whether the encoded SD is MPS or LPS. Then, the probability state number sIdx having the context number (cIdx) in the probability table as a headline is replaced with the value of the next sIdx. As described above, the probability is dynamically updated according to the appearance probability of each symbol.
The above procedure is repeated until all bits of the syntax element (SE) are completed, and the encoding of the SE is completed (step S28).
Further, the coding is repeated until coding of all syntax elements is completed (step S29).

復号化フロー
図8(B)のフローチャートに従って、算術符号の復号化処理について説明する。
まず、順序制御のための初期設定を行う(ステップS31)。
復号化対象の符号データ(CD)列を符号レジスタ(CR)に読み込む(ステップS32)。
復号制御部10は、符号化と同様、復号したシンボルの情報から、次に復号するシンボルについてのSE情報を解析して、SE情報として出力する(ステップS33)。
コンテキスト読み出し部1は、符号化と同様、入力したSE情報からコンテキスト(Ctx)を求め、算術復号化部7に出力する(ステップS34)。
算術復号化部6は、前記コンテキストに基づいて、復号対象である符号レジスタ(CR)から、シンボル(SD)1ビットを復号する(ステップS35)。
確率更新部2は、符号化と同様、復号化されたシンボル(SD)に応じて、確率テーブルの確率更新を行い(ステップS36)、復号化されたSDを記憶する(ステップS37)。
以上の手順を、シンタックス要素(SE)の全ビットの復号が終わるまで繰り返し(ステップS38)、終わったら、SE復元部8は、記憶されたシンボル(SD)列から、シンタックス要素を復元する(ステップS39)。
さらに、全てのシンタックス要素(SE)の復元が終了するまで繰り返し、復号を終了する(ステップS40)。
Decoding Flow Arithmetic code decoding processing will be described with reference to the flowchart of FIG.
First, initial setting for order control is performed (step S31).
The code data (CD) string to be decoded is read into the code register (CR) (step S32).
Similar to the encoding, the decoding control unit 10 analyzes the SE information about the symbol to be decoded next from the decoded symbol information, and outputs it as SE information (step S33).
The context reading unit 1 obtains the context (Ctx) from the input SE information, and outputs it to the arithmetic decoding unit 7 (step S34).
The arithmetic decoding unit 6 decodes 1 bit of the symbol (SD) from the code register (CR) to be decoded based on the context (step S35).
Similar to encoding, the probability update unit 2 updates the probability in the probability table according to the decoded symbol (SD) (step S36), and stores the decoded SD (step S37).
The above procedure is repeated until the decoding of all bits of the syntax element (SE) is completed (step S38). When the decoding is completed, the SE restoration unit 8 restores the syntax element from the stored symbol (SD) sequence. (Step S39).
Further, the decoding is repeated until the restoration of all the syntax elements (SE) is completed (step S40).

高速化
以上の構成と処理により、CABAC方式の算術符号化・復号化装置が実現できるが、シンボルごとに複雑な処理が必要となるため、高速化、小回路規模化が期待される。そこで高速化する方法について述べる。
符号化処理では、図9(A)に示すように、符号化制御、コンテキスト読み出し、更新の3ステップは、シンボル(SD)列が既知のため、算術符号化の結果にかかわらず、いずれも入力情報が整っている。そこで、図9(B)に示すように、前記符号化制御、コンテキスト読み出し、更新の3ステップを、算術符号化のステップと並列に動作させることにより高速化できる。なお、更新ステップは、次のコンテキスト読み出しの前に処理すればよいので、算術符号化ステップの前に処理しても、後に処理しても良い。
一方、復号化処理では、図10(A)に示すように、更新、復号制御には、算術復号結果のシンボル(SD)の値を必要とし、コンテキスト読み出しは、更新結果を必要とする。このため復号処理では、算術復号化ステップを、復号制御、コンテキスト読み出しステップと並列動作させることができず、例えば図10(B)に示すような処理となり、単純には並列処理による高速化はできない。
A CABAC-type arithmetic coding / decoding device can be realized by a configuration and processing higher than that of speedup, but since complicated processing is required for each symbol, speedup and a small circuit scale are expected. Therefore, a method for speeding up will be described.
In the encoding process, as shown in FIG. 9A, the three steps of encoding control, context reading, and updating are all input regardless of the result of arithmetic encoding because the symbol (SD) sequence is known. Information is in place. Therefore, as shown in FIG. 9B, the three steps of encoding control, context reading, and updating can be speeded up by operating in parallel with the arithmetic encoding step. Since the update step may be processed before the next context read, it may be processed before or after the arithmetic coding step.
On the other hand, in the decoding process, as shown in FIG. 10A, update and decoding control require the value of the symbol (SD) of the arithmetic decoding result, and context reading requires the update result. For this reason, in the decoding process, the arithmetic decoding step cannot be operated in parallel with the decoding control and the context reading step. For example, the processing shown in FIG. 10B is performed, and the speed cannot be increased simply by the parallel processing. .

従来例
そこで、図11に示すように、復号処理においても並列処理により高速化する方法が提案されている。すなわち、復号制御に必要な復号されたシンボルの代わりに、復号されるシンボルは1つ前のコンテキスト読み出しステップでの優勢確率シンボル(MPS)であると仮定した予測シンボル(pSD=MPS)を使って、復号制御ステップを、算術復号ステップと並行して進め、後で前記予測シンボル(pSD)を実際に算術復号化器により復号されたシンボル(dSD)と比較して、間違っていた場合に限り、実際の復号シンボル(dSD)を使って更新、符号化制御、コンテキスト読み出しの3ステップをやり直すものである。(例えば、特許文献1参照。)この方式では、予測シンボルとして出現確率の高いMPSを選んでいるため、予測があたる確率は高く、トータルの処理時間は短くできて、高速化できる。
特開平9−148941号公報(第8−7頁、第1−3図) 大久保 栄 監修 「H.264/AVC教科書」インプレス 2004年 ITU−T Rec. H.264(2003) “Advanced video coding for generic audiovisual services”
Conventional Example Therefore, as shown in FIG. 11, a method for speeding up the decoding process by parallel processing has been proposed. That is, instead of the decoded symbol necessary for decoding control, a prediction symbol (pSD = MPS) is used, assuming that the symbol to be decoded is the dominant probability symbol (MPS) in the previous context read step. The decoding control step proceeds in parallel with the arithmetic decoding step, and only if the prediction symbol (pSD) is compared with the symbol (dSD) actually decoded by the arithmetic decoder later and is wrong. The actual decoding symbol (dSD) is used to redo the three steps of update, encoding control, and context reading. (For example, refer to Patent Document 1.) In this method, since the MPS having a high appearance probability is selected as the prediction symbol, the probability of the prediction is high, the total processing time can be shortened, and the speed can be increased.
Japanese Patent Laid-Open No. 9-148941 (page 8-7, Fig. 1-3) Supervised by Sakae Okubo “H.264 / AVC Textbook”, Impress 2004 ITU-T Rec. H. H.264 (2003) “Advanced video coding for generic audiovisual services”

しかしながら、この優勢確率シンボル(MPS)をシンボル予測値とする手法は、予測的中率が高く、トータル時間で見れば高速化できるが、処理工数の多いシンボルと処理工数の少ないシンボルの工数差の最大値を小さくできるわけではない。このため、回路的には、データの流れを平滑化するバッファの量を小さくできず、回路規模が大きくなり、製造コストを安価にできないという問題があった。   However, the method using the dominant probability symbol (MPS) as a symbol prediction value has a high predictive predictive value and can be accelerated in terms of the total time. The maximum value cannot be reduced. For this reason, in terms of circuit, there is a problem that the amount of the buffer for smoothing the data flow cannot be reduced, the circuit scale is increased, and the manufacturing cost cannot be reduced.

そこで、本発明は、上記のような問題点を解消するためになされたもので、バッファ量を大きくすることなく、製造コストの安価な算術符号復号化装置を提供することを目的とする。   Accordingly, the present invention has been made to solve the above-described problems, and an object of the present invention is to provide an arithmetic code decoding apparatus that is inexpensive to manufacture without increasing the buffer amount.

本願発明における第1の発明は、直前のシンボルデータに基づいて、次のシンボルデータの復号に必要な情報が記述されたコンテキストテーブルからコンテキストを読み出して、符号化データを復号する算術符号復号化装置において、復号中の前記直前のシンボルデータは、シンボルデータの値により決まるそれ以降の処理手順のうち、処理工数が多くなる値をとるものと予測するシンボル予測部(SD予測部12)と、前記直前の復号シンボルデータ、または前記シンボル予測部で予測された前記予測シンボルデータに基づき、コンテキストを読み出して、出力するコンテキスト生成部(コンテキスト計算部4)と、前記コンテキストを入力して、符号化データを復号する演算部(算術復号化器7)と、前記直前の復号シンボルデータの結果と、前記シンボル予測部で予測された前記予測シンボルデータとの比較を行う比較部(比較部13)と、前記比較部で比較された結果が一致していると判定された場合には、前記予測シンボルデータに基づいて読み出されたコンテキストを前記演算部に出力し、一致していないと判定された場合には、前記直前の復号シンボルデータの結果に基づいて再度コンテキストの読み出し処理を行い、読み出されたコンテキストを前記演算部に出力するよう制御する制御部(復号制御部10)と、を備えたことを特徴とする算術符号復号化装置を提供する。
第2の発明は、直前のシンボルデータに基づいて、次のシンボルデータの復号に必要な情報が記述されたコンテキストテーブルからコンテキストを読み出して、符号化データを復号する算術符号復号化装置において、前記コンテキストを入力して、符号化データを復号(ステップS6)すると同時に、前記復号中のシンボルデータの復号結果は、シンボルデータの値により決まるそれ以降の処理手順のうち、処理工数が多くなる値をとるものと予測して先読みした予測シンボルデータに基づき、コンテキストの読み出し処理(ステップS1、S2)を行い、前記符号化データの復号が終了し、シンボルデータの復号結果が得られた時、復号結果のシンボルデータと前記予測シンボルデータとの比較(ステップS3)を行い、前記比較された結果が一致していると判定された場合には、前記予測シンボルデータに基づいて読み出されたコンテキストを前記演算部に出力(ステップS3)し、一致していないと判定された場合には、前記直前の復号結果のシンボルデータに基づいて再度コンテキストの読み出し処理(ステップS4、S5)を行い、読み出されたコンテキストを前記演算部に出力して、前記出力されたコンテキストにより符号化データを復号(ステップS6)することを特徴とする算術符号復号化方法を提供する。
The first invention in the present invention is an arithmetic coding / decoding device that reads out a context from a context table in which information necessary for decoding the next symbol data is described based on the immediately preceding symbol data and decodes the coded data The symbol prediction unit (SD prediction unit 12) that predicts that the immediately preceding symbol data being decoded has a value that increases the number of processing steps among the subsequent processing procedures determined by the value of the symbol data, Based on the immediately preceding decoded symbol data or the prediction symbol data predicted by the symbol prediction unit, a context generation unit (context calculation unit 4) that reads out and outputs the context, and inputs the context, the encoded data Between the arithmetic unit (arithmetic decoder 7) for decoding the decoded symbol data immediately before And a comparison unit (comparison unit 13) that compares the prediction symbol data predicted by the symbol prediction unit and a result of comparison by the comparison unit match, The context read based on the prediction symbol data is output to the arithmetic unit, and when it is determined that they do not match, the context is read again based on the result of the immediately preceding decoded symbol data, There is provided an arithmetic code decoding device comprising: a control unit (decoding control unit 10) that controls to output the read context to the arithmetic unit.
According to a second aspect of the present invention, there is provided an arithmetic coding / decoding device that reads out a context from a context table in which information necessary for decoding next symbol data is described based on immediately preceding symbol data, and decodes encoded data. The context is input and the encoded data is decoded (step S6). At the same time, the decoding result of the symbol data being decoded is a value that increases the number of processing steps in the subsequent processing procedures determined by the value of the symbol data. Based on the predicted symbol data predicted to be taken and read in advance, a context reading process (steps S1 and S2) is performed. When decoding of the encoded data is completed and a decoding result of the symbol data is obtained, a decoding result is obtained. Is compared with the predicted symbol data (step S3), and the compared results are compared. Are determined to match, the context read based on the predicted symbol data is output to the arithmetic unit (step S3), and if it is determined that they do not match, Based on the symbol data of the immediately preceding decoding result, the context reading process is performed again (steps S4 and S5), the read context is output to the arithmetic unit, and the encoded data is decoded by the output context ( An arithmetic code decoding method characterized by performing step S6) is provided.

本発明における第1の発明によれば、復号中の前記直前のシンボルデータは、シンボルデータの値により決まるそれ以降の処理手順のうち、処理工数が多くなる値をとるものと予測するシンボル予測部と、前記直前の復号シンボルデータ、または前記シンボル予測部で予測された前記予測シンボルデータに基づき、コンテキストを読み出して、出力するコンテキスト生成部と、前記コンテキストを入力して、符号化データを復号する演算部と、 前記直前の復号シンボルデータの結果と、前記シンボル予測部で予測された前記予測シンボルデータとの比較を行う比較部と、前記比較部で比較された結果が一致していると判定された場合には、前記予測シンボルデータに基づいて読み出されたコンテキストを前記演算部に出力し、一致していないと判定された場合には、前記直前の復号シンボルデータの結果に基づいて再度コンテキストの読み出し処理を行い、読み出されたコンテキストを前記演算部に出力するよう制御する制御部とを備えている。
また第2の発明によれば、前記コンテキストを入力して、符号化データを復号すると同時に、前記復号中のシンボルデータの復号結果は、シンボルデータの値により決まるそれ以降の処理手順のうち、処理工数が多くなる値をとるものと予測して先読みした予測シンボルデータに基づき、コンテキストの読み出し処理を行い、前記符号化データの復号が終了し、シンボルデータの復号結果が得られた時、復号結果のシンボルデータと前記予測シンボルデータとの比較を行い、前記比較された結果が一致していると判定された場合には、前記予測シンボルデータに基づいて読み出されたコンテキストを前記演算部に出力し、一致していないと判定された場合には、前記直前の復号結果のシンボルデータに基づいて再度コンテキストの読み出し処理を行い、読み出されたコンテキストを前記演算部に出力して、前記出力されたコンテキストにより符号化データを復号する。
このため本発明では、常に処理工数の多いシンボルを選択して先読み予測して、そのコンテキスト読み出し処理を、復号処理と並列動作させることが可能となり、予測が当たった場合には、特に処理工数の多いシンボルに限り処理時間が短縮できる。また予測が外れた場合には、実際の復号シンボルにより再度コンテキストが読み出し処理されるので、正しく復号できるとともに、並列動作時間が使われないだけなので、処理時間は並列動作させない場合とあまり変わらない。
以上により、もともと処理工数の少ないシンボルの処理時間は変わらず、処理工数の多いシンボルの処理時間が短縮できるので、処理工数の多いシンボルと処理工数の少ないシンボルの工数差を縮め、単位時間あたりのデータ処理工数を平滑化して、必要となるバッファメモリ量を減らし回路規模を小さくすることができるとともに、適度な高速化も可能となる。
According to the first aspect of the present invention, the symbol prediction unit that predicts that the immediately preceding symbol data being decoded takes a value that increases the number of processing steps among the subsequent processing procedures determined by the value of the symbol data. Then, based on the immediately preceding decoded symbol data or the predicted symbol data predicted by the symbol prediction unit, a context is read and output, and the context is input to decode the encoded data It is determined that the calculation unit, the comparison result of the immediately preceding decoded symbol data, the comparison unit that compares the prediction symbol data predicted by the symbol prediction unit, and the comparison result of the comparison unit are the same If it is, the context read based on the predicted symbol data is output to the arithmetic unit and does not match A control unit that performs a context read process again based on the result of the immediately preceding decoded symbol data and outputs the read context to the calculation unit.
According to the second invention, the context is input and the encoded data is decoded. At the same time, the decoding result of the symbol data being decoded is a processing step in the subsequent processing procedures determined by the value of the symbol data. Based on the predicted symbol data that has been prefetched by predicting that the number of man-hours will be increased, the context is read out, and when the decoding of the encoded data is completed and the decoding result of the symbol data is obtained, the decoding result The symbol data and the predicted symbol data are compared, and if it is determined that the compared results match, the context read based on the predicted symbol data is output to the arithmetic unit If it is determined that they do not match, the context read process is performed again based on the symbol data of the immediately preceding decoding result. Was carried out, the context read and output to the arithmetic unit, decodes the encoded data by said output contexts.
For this reason, in the present invention, it is possible to always select a symbol having a large number of processing steps and perform prefetch prediction, and to perform the context read processing in parallel with the decoding processing. Only a large number of symbols can reduce the processing time. In addition, when the prediction is lost, the context is read again by the actual decoded symbol, so that the decoding can be performed correctly and the parallel operation time is not used. Therefore, the processing time is not much different from the case where the parallel operation is not performed.
As a result, the processing time for symbols with a low processing man-hour does not change, and the processing time for symbols with a high processing man-hour can be shortened. By smoothing the data processing man-hours, the amount of buffer memory required can be reduced, the circuit scale can be reduced, and an appropriate speed increase can be achieved.

以下、本発明の各実施形態に係る算術符号復号化装置について図1〜図5を用いて説明する。図1は、本願発明の実施形態における算術符号復号化装置の構成を示す図である。図2は、本発明の算術符号復号化装置における復号処理のフローチャートである。図3は、本発明の算術符号復号化装置における「処理工数の多いシンボル」の説明図で、(A)は2値化方法例、(B)は処理フロー例である。図4は、本発明の算術符号復号化装置におけるテーブル・ルックアップにより2値化する場合のシンタックス要素のシンボル予測値を示す図である。図5は、本発明の算術符号復号化装置における復号化処理手順のタイミングチャートである。   The arithmetic code decoding apparatus according to each embodiment of the present invention will be described below with reference to FIGS. FIG. 1 is a diagram showing a configuration of an arithmetic code decoding apparatus according to an embodiment of the present invention. FIG. 2 is a flowchart of the decoding process in the arithmetic code decoding apparatus of the present invention. 3A and 3B are explanatory diagrams of “symbols with a large number of processing steps” in the arithmetic coding / decoding apparatus of the present invention, in which FIG. 3A is an example of a binarization method, and FIG. FIG. 4 is a diagram showing symbol predictive values of syntax elements when binarization is performed by table lookup in the arithmetic code decoding apparatus of the present invention. FIG. 5 is a timing chart of the decoding processing procedure in the arithmetic code decoding apparatus of the present invention.

構成
本発明における算術符号復号化装置は、図1に示すように、コンテキスト計算部4、算術復号化器7、SE復元部8、および復号制御部10から構成されている。以下、本発明の構成のうち、背景技術で説明した図7(B)復号化器と異なる復号制御部10を中心に説明する。
復号制御部10は、SE解析部11、シンボル予測部12、およびシンボル比較部13から構成されている。
シンボル予測部12は、前記SE解析部からの情報を元に、後述する方法により、より多くの処理工数を必要とするシンボルを選択して、これを予測シンボル(pSD)として出力する。またシンボル比較部13は、シンボル予測部から出力された前記予測シンボル(pSD)と、算術復号化器7で復号化された実際の復号シンボル(dSD)を比較して、一致か、不一致かを判定、判定結果を出力する。
SE解析部11は、シンボル予測部1から先読みした予測シンボル、またシンボル比較部の判定結果、およびシンタックス要素SEを解析して、従来の復号制御部10同様、復号動作を制御するとともに、次に復号使用としているシンボルのSE情報をコンテキスト計算部4に出力する。
Configuration As shown in FIG. 1, the arithmetic code decoding apparatus according to the present invention includes a context calculation unit 4, an arithmetic decoder 7, an SE restoration unit 8, and a decoding control unit 10. Hereinafter, in the configuration of the present invention, the decoding control unit 10 different from the decoder in FIG. 7B described in the background art will be mainly described.
The decoding control unit 10 includes an SE analysis unit 11, a symbol prediction unit 12, and a symbol comparison unit 13.
Based on the information from the SE analysis unit, the symbol prediction unit 12 selects a symbol that requires a larger number of processing steps by a method described later, and outputs this as a prediction symbol (pSD). Further, the symbol comparison unit 13 compares the prediction symbol (pSD) output from the symbol prediction unit with the actual decoded symbol (dSD) decoded by the arithmetic decoder 7 to determine whether or not they match. Outputs judgment and judgment result.
The SE analysis unit 11 analyzes the prediction symbol pre-read from the symbol prediction unit 1, the determination result of the symbol comparison unit, and the syntax element SE, and controls the decoding operation as in the conventional decoding control unit 10. The SE information of the symbol that is used for decoding is output to the context calculation unit 4.

復号化フロー
次に、図2に従って、本発明の算術符号復号化装置における復号化処理動作を説明する。復号化処理は、基本的な流れは、背景技術で図8(B)により説明したフローと同一であるため、図8(B)の“S”から“C”までの異なるステップについて説明する。なお、以下の説明で、シンボル、およびステップのサフィックスn、n+1は、復号フローのサイクル番号で、タイミングの前後関係を表す。
復号制御部10では、シンボル予測部12出力の「処理工数の多い」予測シンボル(pSDn)を入力して、SE解析部11により、次に復号するシンボルの情報を解析して、SE情報として出力する。(ステップS1)。なお、この時、通常は、1サイクル前の前記予測シンボルの復号処理(後述するステップS6に相当する。)が並列動作で進行中である。
コンテキスト読み出し部1は、符号化と同様、入力したSE情報からコンテキスト(Ctx)を読み出し、算術復号化器7に出力する(ステップS2)。
シンボル比較部13は、前記算術復号化器7により復号されたシンボル(dSDn)と、前記予測シンボル(pSDn)を比較し、両シンボルが一致した場合は、ステップS6に飛び、異なる場合はステップS4に進む(ステップS3)。
復号制御部10では、SE解析部11は、復号されたシンボル(dSDn)を入力(ステップS1で入力した予測シンボルの反転に相当する。)して、次に復号するシンボルの情報の解析をやり直して、SE情報として出力する(ステップS4)。
コンテキスト読み出し部1は、入力したSE情報からコンテキスト(Ctx)を求め、算術復号化部7に出力する(ステップS5)。以上のステップ3〜5は、予測シンボルの予測が外れ復号シンボルに一致しない場合、前記復号されたシンボル(dSDn)を入力して、再度コンテキストの読み出しを行うことに相当する。
算術復号化部6は、ステップS2またはステップS5によって読み出された正しいコンテキスト(Ctx)に基づいて、符号レジスタ(CR)の符号列から、シンボル(dSDn+1)を復号する(ステップS6)。
確率更新部2は、ステップS6で復号化された復号シンボル(dSDn+1)に基づいて、確率テーブル3−1の確率更新を行うとともに、前記復号シンボルを記憶する(ステップS7)。
Decoding Flow Next, the decoding processing operation in the arithmetic code decoding apparatus of the present invention will be described with reference to FIG. Since the basic flow of the decoding process is the same as the flow described with reference to FIG. 8B in the background art, different steps from “S” to “C” in FIG. 8B will be described. In the following description, the symbols and step suffixes n and n + 1 are the cycle numbers of the decoding flow and represent the timing context.
In the decoding control unit 10, the “high processing man-hour” prediction symbol (pSDn) output from the symbol prediction unit 12 is input, and the SE analysis unit 11 analyzes information on a symbol to be decoded next and outputs it as SE information. To do. (Step S1). At this time, normally, the decoding process of the prediction symbol one cycle before (corresponding to step S6 described later) is in progress in parallel operation.
The context reading unit 1 reads the context (Ctx) from the input SE information and outputs it to the arithmetic decoder 7 as in the encoding (step S2).
The symbol comparison unit 13 compares the symbol (dSDn) decoded by the arithmetic decoder 7 and the prediction symbol (pSDn). If both symbols match, the process jumps to step S6, and if different, step S4. (Step S3).
In the decoding control unit 10, the SE analysis unit 11 inputs the decoded symbol (dSDn) (corresponding to the inversion of the prediction symbol input in step S1), and reanalyzes the information of the symbol to be decoded next. And output as SE information (step S4).
The context reading unit 1 obtains a context (Ctx) from the input SE information and outputs it to the arithmetic decoding unit 7 (step S5). The above steps 3 to 5 correspond to inputting the decoded symbol (dSDn) and reading out the context again when the prediction of the prediction symbol is out of sync and does not match the decoded symbol.
The arithmetic decoding unit 6 decodes the symbol (dSDn + 1) from the code string of the code register (CR) based on the correct context (Ctx) read in step S2 or step S5 (step S6).
The probability update unit 2 updates the probability of the probability table 3-1, based on the decoded symbol (dSDn + 1) decoded in step S6, and stores the decoded symbol (step S7).

シンボル予測
次に、処理工数の多いシンボル(pSD)の予測方法について説明する。
H.264のCABACで符号化する場合、シンタックス要素(SE)の符号化の順番は決まっているが、基本的に可変長であり、SEそのものの2値化シンボル長はデータにより異なる。またSEを符号化する場合、複数処理手順のうちどの処理を実行するかも、先行するシンボルの値によって決まっている。このため、可変長符号の復号化では、シンボルの値により、後続する処理が変わり、SE復号化終了までの処理工数が変わる。
そこで、本発明では、復号化処理中のシンボルを分析することにより、後続するシンボルの処理工数の大小を判定するものである。H.264の算術符号で使われるシンタックス要素は、2値化の方法により、大きくは5種類に分類されている。以下2値化方法に従って、予測値の例とその理由を示す(非特許文献2参照。)。
1 ユナリー・バイナライゼーション
シンボル予測値を1とする。
2 トランケーティッド・ユナリー・バイナライゼーション
シンボル予測値を1とする。
3 結合ユナリー/K次指数ゴロム・バイナライゼーション
シンボル予測値を1とする。
上記1、2、3のに関しては、図3(A)に示すように、シンタックス要素(SE)は「1・・110」と1が連続して、0で終端となるよう2値化されている。このため、図3(B)に示すように、シンボルに0が出力されると、そのシンタックス要素の処理は終了して、次のステート(シンタックス要素)に移る。一方、1が出力された場合は、そのシンタックス要素の処理はまだ続くので、処理工数は多くなる。
なお、この時の確率テーブルの更新処理は、見かけ上データごとに更新されるが、実際にはその過程をメモリしておいて、その更新確率を使ってコンテキストを読み出し、テーブルへの更新書き込みは、最後にまとめて行うことで高速化できる。
4 固定長バイナライゼーション
1)Pre_intra4x4_pred_mode_flag
シンボル予測値を0とする。
このフラグが1の時は、予測方向の予測が当たったため次のステップに進むが、フラグが0の時は、予測が外れて、シンタックス要素がRem_intra4x4_pred_modeに移行して新たな処理が発生するため、処理工数が多い。
2)Last_significant_coeff_flag
シンボル予測値を0とする。
このフラグが1の場合は、次のステップであるCoeff_abs_level_minus1に進むが、このフラグが0の場合は、再度前のステップのCignificant_coeff_flagに戻るため、処理工数が多い。
3)Coded_block_pattern_luma
シンボル予測値を1とする。
このフラグが0の時は、その8x8ブロックには係数が存在せずSignificant_coeff_flag以降の処理を行わなくて良いため、処理工数が少ない。逆に、このフラグが1となった場合は、処理工数が多い。
4)Coded_block_flag
シンボル予測値を1とする。
Coded_block_pattern_lumaと同じ理由による。
5)Significant_coeff_flag
シンボル予測値を1とする。
このフラグが1の場合、後段のCoeff_abs_level_minus1、Coeff_sign_flagで処理を行わなければならず、より処理工数が多くなる。
5 テーブル・ルックアップ
シンボル予測値を図4の表に示す。
個々の説明は省略するが、いずれも、図3(B)に示すように、更なるデータ処理を必要とするシンボルを選択して予測値としたものである。すなわち、上記4、5に関しては、ステップごとに、複数の処理手順から処理工数の多い処理を前もって記憶しておいて、予測時それを選択すればよい。
なお、以上により「処理工数の多いシンボル」の予測方法を説明したが、復号化処理中のシンボルの値に係わらず、次のコンテキストが決まる場合は、処理工数の大小に関係しないので、シンボル比較を行わない。例えば、新たなシンタックス要素が始まる場合、コンテキストの計算には、その前の復号出力は必要ないので、もともと並列処理が可能である。シンボル予測部は、既知の所定の値を予測すればよい。
Symbol Prediction Next, a method for predicting a symbol (pSD) having a large number of processing steps will be described.
H. In the case of encoding with H.264 CABAC, the encoding order of syntax elements (SE) is determined, but it is basically a variable length, and the binary symbol length of the SE itself differs depending on the data. In addition, when encoding an SE, which of the plurality of processing procedures is executed is determined by the value of the preceding symbol. For this reason, in the decoding of the variable length code, the subsequent processing changes depending on the symbol value, and the processing man-hours until the end of the SE decoding changes.
Therefore, in the present invention, the number of man-hours for processing the subsequent symbol is determined by analyzing the symbol being decoded. H. Syntax elements used in H.264 arithmetic codes are roughly classified into five types according to the binarization method. Hereinafter, according to the binarization method, examples of predicted values and the reasons thereof will be shown (see Non-Patent Document 2).
1 Unary binarization The symbol prediction value is 1.
2 Truncated unary binarization The symbol prediction value is 1.
3 Combined unary / Kth-order exponent Golomb binarization The symbol prediction value is 1.
Regarding the above 1, 2, and 3, as shown in FIG. 3A, the syntax element (SE) is binarized so that “1... 110” and 1 are consecutive and 0 ends. ing. For this reason, as shown in FIG. 3B, when 0 is output to the symbol, the processing of the syntax element ends and the process proceeds to the next state (syntax element). On the other hand, when 1 is output, the processing of the syntax element is still continued, and the number of processing steps increases.
The update process of the probability table at this time is apparently updated for each data, but actually the process is stored in memory, the context is read using the update probability, and the update write to the table is It is possible to speed up by carrying out at the end.
4 Fixed-length binarization 1) Pre_intra4x4_pred_mode_flag
The symbol prediction value is set to 0.
When this flag is 1, the prediction direction has been predicted and the process proceeds to the next step. However, when the flag is 0, the prediction is lost and the syntax element shifts to Rem_intra4x4_pred_mode and new processing occurs. There are many processing man-hours.
2) Last_significant_coeff_flag
The symbol prediction value is set to 0.
When this flag is 1, the process proceeds to the next step, Coeff_abs_level_minus1, but when this flag is 0, the process returns to the previous step Significant_coeff_flag, and the number of processing steps is large.
3) Coded_block_pattern_luma
The symbol prediction value is 1.
When this flag is 0, there is no coefficient in the 8 × 8 block, and the processing after Significant_coeff_flag does not need to be performed, so the number of processing steps is small. Conversely, when this flag is 1, the number of processing steps is large.
4) Coded_block_flag
The symbol prediction value is 1.
For the same reason as Coded_block_pattern_luma.
5) Significant_coeff_flag
The symbol prediction value is 1.
When this flag is 1, processing must be performed with Coeff_abs_level_minus1 and Coeff_sign_flag in the subsequent stage, which increases the number of processing steps.
5 Table Lookup Symbol prediction values are shown in the table of FIG.
Each description is omitted, but in each case, as shown in FIG. 3B, symbols that require further data processing are selected and used as predicted values. That is, with respect to the above 4 and 5, for each step, a process with a large number of processing steps is stored in advance from a plurality of processing procedures, and it may be selected at the time of prediction.
In addition, although the prediction method of "a symbol with many processing man-hours" was demonstrated above, when the next context is decided irrespective of the value of the symbol under decoding processing, since it does not relate to the size of processing man-hours, symbol comparison Do not do. For example, when a new syntax element is started, since the previous decoding output is not necessary for the calculation of the context, the parallel processing can be originally performed. The symbol prediction unit may predict a known predetermined value.

処理工数差縮小
次に、処理工数の多いシンボルの処理時間が並列処理により短くなることを説明する。図5は、復号処理の例を示したすタイミング図で、上段と下段で並列処理を表している。
まず、前サイクルからのコンテキスト(Ctx)を受けて、算術符号化S6、更新S7からなる復号ステップn−1が開始される。同時に、予測シンボル(pSDnー1)を先読みして、復号制御S1、コンテキスト読み出しS2からなる読み出しステップnが開始される。
次に、復号ステップn−1によりシンボル(dSDn−1)が復号されると、pSDn−1とdSDn−1が比較され、この例では、比較結果が一致したため、読み出しステップn出力のCtxを受けて復号ステップnが開始される。すなわち、復号結果は、処理工数の多いシンボルだったため、予測が当たって、並列処理が有効となり、処理時間が短くなったものである。
同時に、予測シンボル(pSDn)を先読みして、読み出しステップn+1が開始される。
復号ステップnによりシンボル(dSDn)が復号されると、pSDnとdSDnが比較され、この例では、比較結果が不一致だったため、シンボル(dSDn)をもとに、復号制御S4、コンテキスト読み出しS5よりなる再読み出しステップn+1が開始される。すなわち、この場合は、復号結果は、処理工数の少ないシンボルだったため、予測が外れ、並列処理が無効となり、本来必要な再読み出しステップに移る。このため、処理時間は短縮できない。
そして、再読み出しステップn+1出力のCtxを受けて復号ステップn+1が開始され、dSDn+1を復号する。
同時に、次のシンボルのための読み出しステップn+2を開始する。
以上のような手順をとることにより、処理工数の多いシンボルは、予測が当たって、並列処理により処理時間が短縮される。また、処理工数の少ないシンボルは、予測が外れて、読み出し処理をやり直すが、図10(B)に示す先読み無しの場合の時間と、ほとんど変わらずに処理できる。この方法は、時間短縮の考え方は、従来例と同じであるが、予測シンボルの選び方が異なるため、処理工数の多いシンボルだけ処理時間を短くすることができる。
Reduction of processing man-hour difference Next, it will be explained that the processing time of a symbol having a large processing man-hour is shortened by parallel processing. FIG. 5 is a timing chart showing an example of the decoding process, and the parallel processing is shown in the upper and lower stages.
First, in response to the context (Ctx) from the previous cycle, a decoding step n-1 including arithmetic coding S6 and update S7 is started. At the same time, the prediction symbol (pSDn−1) is prefetched, and a reading step n including decoding control S1 and context reading S2 is started.
Next, when the symbol (dSDn-1) is decoded by the decoding step n-1, pSDn-1 and dSDn-1 are compared. In this example, since the comparison result matches, the Ctx output from the reading step n is received. Thus, the decoding step n is started. That is, since the decoding result is a symbol having a large number of processing steps, the prediction is successful, the parallel processing becomes effective, and the processing time is shortened.
At the same time, the prediction symbol (pSDn) is pre-read and the reading step n + 1 is started.
When the symbol (dSDn) is decoded by the decoding step n, pSDn and dSDn are compared. In this example, the comparison result is inconsistent, and therefore, based on the symbol (dSDn), the decoding control S4 and the context reading S5 are included. A reread step n + 1 is started. That is, in this case, since the decoding result is a symbol with a small number of processing steps, the prediction is lost, the parallel processing becomes invalid, and the process proceeds to a re-reading step that is originally necessary. For this reason, processing time cannot be shortened.
Then, upon receiving Ctx output from the re-reading step n + 1, the decoding step n + 1 is started, and dSDn + 1 is decoded.
At the same time, the reading step n + 2 for the next symbol is started.
By taking the above procedure, a symbol having a large number of processing steps is predicted, and the processing time is shortened by parallel processing. Further, a symbol with a small number of processing steps is not predicted and is read out again, but can be processed almost the same as the time without pre-reading shown in FIG. 10B. In this method, the concept of time reduction is the same as that of the conventional example, but since the method of selecting a prediction symbol is different, the processing time can be shortened only for symbols with a large number of processing steps.

効果
以上のように、本発明によれば、上記した構成があるので、処理工数の多いシンボルの処理時間を短縮して、処理工数の多いシンボルと少ないシンボルの処理工数の差を縮め、単位時間あたりの処理工数を平滑化することにより、必要となるバッファメモリ量を減らし回路規模を小さくすることができる。さらに、先読みしない場合と比較すると、回路規模もそれほど増えず、高速化できる。
As described above, according to the present invention, since there is the above-described configuration, the processing time of a symbol with a large number of processing steps is shortened, and the difference between the processing number of a symbol with a large number of processing steps and a symbol with a small number of processing steps is reduced. By smoothing the number of processing steps, the required buffer memory amount can be reduced and the circuit scale can be reduced. Furthermore, compared with the case of not prefetching, the circuit scale does not increase so much and the speed can be increased.

本願発明の実施形態における算術符号復号化装置の構成を示す図である。It is a figure which shows the structure of the arithmetic code decoding apparatus in embodiment of this invention. 本発明の算術符号復号化装置における復号化処理のフローチャートである。It is a flowchart of the decoding process in the arithmetic code decoding apparatus of this invention. 本発明の算術符号復号化装置における「処理工数の多いシンボル」の説明図で、(A)は2値化方法例、(B)は処理フロー例である。In the arithmetic code decoding apparatus of this invention, it is explanatory drawing of the "symbol with many processing man-hours", (A) is a binarization method example, (B) is a processing flow example. 本発明の算術符号復号化装置におけるテーブル・ルックアップにより2値化する場合のシンタックス要素のシンボル予測値を示す図である。It is a figure which shows the symbol prediction value of a syntax element in the case of binarizing by the table look-up in the arithmetic coding / decoding apparatus of this invention. 本発明の算術符号復号化装置における復号化処理手順のタイミングチャートである。It is a timing chart of the decoding process procedure in the arithmetic code decoding apparatus of this invention. 動画像圧縮符号化システムの構成を示す図である。It is a figure which shows the structure of a moving image compression encoding system. 算術符号化・復号化装置の構成図で、(A)は符号化器、(B)は復号化器、(C)はコンテキスト計算部を示す。It is a block diagram of an arithmetic coding / decoding apparatus, (A) shows an encoder, (B) shows a decoder, and (C) shows a context calculation unit. 算術符号化・復号化装置における符号化・復号化処理のフローチャートで、(A)は、符号化処理、(B)は、復号化処理を示す。In the flowchart of the encoding / decoding process in an arithmetic encoding / decoding apparatus, (A) shows an encoding process and (B) shows a decoding process. 算術符号化・復号化装置における符号化処理手順のタイミングチャートで、(A)は、処理に必要な情報、(B)は、処理手順例の説明図である。It is a timing chart of the encoding process sequence in an arithmetic encoding / decoding apparatus, (A) is information required for a process, (B) is explanatory drawing of the example of a process sequence. 算術符号化・復号化装置における復号化処理手順のタイミングチャートで、(A)は、処理に必要な情報、(B)は、処理手順例の説明図である。It is a timing chart of the decoding process sequence in an arithmetic coding / decoding apparatus, (A) is information required for a process, (B) is explanatory drawing of the example of a process sequence. 従来の算術符号復号化装置における復号化処理手順のタイミングチャートである。It is a timing chart of the decoding process procedure in the conventional arithmetic code decoding apparatus.

符号の説明Explanation of symbols

1 コンテキスト読出部
2 確率更新部
3 各種テーブル
4 コンテキスト計算部
7 算術復号化器
8 シンタックス要素復元部
10 復号制御部
11 シンタックス要素解析部
12 シンボル予測部
13 シンボル比較部
SE シンタックス要素
SD シンボルデータ
MPS 優勢確率シンボル
LPS 劣勢確率シンボル
pSD 予測シンボルデータ
dSD 復号シンボルデータ
CD 符号データ
CR 符号レジスタ
Ctx コンテキスト
Rng 確率レンジ 確率区間
cIdx コンテキスト番号
sIdx 確率状態番号
t_MPS、t_LPS 確率更新後のsIdxの値

DESCRIPTION OF SYMBOLS 1 Context reading part 2 Probability update part 3 Various tables 4 Context calculation part 7 Arithmetic decoder 8 Syntax element decompression | restoration part 10 Decoding control part 11 Syntax element analysis part 12 Symbol prediction part 13 Symbol comparison part SE Syntax element SD Symbol Data MPS Dominant probability symbol LPS Inferior probability symbol pSD Predicted symbol data dSD Decoded symbol data CD Code data CR Code register Ctx Context Rng Probability range Probability interval cIdx Context number sIdx Probability state number t_MPS, t_LPS Value of sIdx after probability update

Claims (2)

直前のシンボルデータに基づいて、次のシンボルデータの復号に必要な情報が記述されたコンテキストテーブルからコンテキストを読み出して、符号化データを復号する算術符号復号化装置において、
復号中の前記直前のシンボルデータは、シンボルデータの値により決まるそれ以降の処理手順のうち、処理工数が多くなる値をとるものと予測するシンボル予測部と、
前記直前の復号シンボルデータ、または前記シンボル予測部で予測された前記予測シンボルデータに基づき、コンテキストを読み出して、出力するコンテキスト生成部と、
前記コンテキストを入力して、符号化データを復号する演算部と、
前記直前の復号シンボルデータの結果と、前記シンボル予測部で予測された前記予測シンボルデータとの比較を行う比較部と、
前記比較部で比較された結果が一致していると判定された場合には、前記予測シンボルデータに基づいて読み出されたコンテキストを前記演算部に出力し、一致していないと判定された場合には、前記直前の復号シンボルデータの結果に基づいて再度コンテキストの読み出し処理を行い、読み出されたコンテキストを前記演算部に出力するよう制御する制御部と、
を備えたことを特徴とする算術符号復号化装置。
In the arithmetic coding / decoding device that reads the context from the context table in which information necessary for decoding the next symbol data is described based on the immediately preceding symbol data and decodes the coded data,
The symbol prediction unit that predicts that the immediately preceding symbol data being decoded has a value that increases the number of processing steps among the subsequent processing procedures determined by the value of the symbol data,
Based on the immediately preceding decoded symbol data or the prediction symbol data predicted by the symbol prediction unit, a context generation unit that reads and outputs a context;
An arithmetic unit that inputs the context and decodes encoded data;
A comparison unit that compares the result of the preceding decoded symbol data with the prediction symbol data predicted by the symbol prediction unit;
When it is determined that the comparison results in the comparison unit match, the context read based on the prediction symbol data is output to the calculation unit, and it is determined that they do not match A control unit that performs a context read process again based on the result of the immediately preceding decoded symbol data, and controls to output the read context to the arithmetic unit;
An arithmetic code decoding apparatus comprising:
直前のシンボルデータに基づいて、次のシンボルデータの復号に必要な情報が記述されたコンテキストテーブルからコンテキストを読み出して、符号化データを復号する算術符号復号化装置において、
前記コンテキストを入力して、符号化データを復号すると同時に、
前記復号中のシンボルデータの復号結果は、シンボルデータの値により決まるそれ以降の処理手順のうち、処理工数が多くなる値をとるものと予測して先読みした予測シンボルデータに基づき、コンテキストの読み出し処理を行い、
前記符号化データの復号が終了し、シンボルデータの復号結果が得られた時、復号結果のシンボルデータと前記予測シンボルデータとの比較を行い、
前記比較された結果が一致していると判定された場合には、前記予測シンボルデータに基づいて読み出されたコンテキストを前記演算部に出力し、一致していないと判定された場合には、前記直前の復号結果のシンボルデータに基づいて再度コンテキストの読み出し処理を行い、読み出されたコンテキストを前記演算部に出力して、
前記出力されたコンテキストにより符号化データを復号する
ことを特徴とする算術符号復号化方法。


In the arithmetic coding / decoding device that reads the context from the context table in which information necessary for decoding the next symbol data is described based on the immediately preceding symbol data and decodes the coded data,
At the same time as inputting the context and decoding the encoded data,
The decoding result of the symbol data being decoded is a context reading process based on predictive symbol data that is prefetched by predicting that it takes a value that increases the number of processing steps among subsequent processing procedures determined by the value of the symbol data And
When decoding of the encoded data is completed and a decoding result of symbol data is obtained, the symbol data of the decoding result is compared with the predicted symbol data,
When it is determined that the compared results match, the context read based on the predicted symbol data is output to the arithmetic unit, and when it is determined that they do not match, Based on the symbol data of the immediately preceding decoding result, the context is read again, and the read context is output to the arithmetic unit,
An arithmetic code decoding method, wherein encoded data is decoded according to the output context.


JP2005306793A 2005-10-21 2005-10-21 Arithmetic encoding and decoding device Pending JP2007116501A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005306793A JP2007116501A (en) 2005-10-21 2005-10-21 Arithmetic encoding and decoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005306793A JP2007116501A (en) 2005-10-21 2005-10-21 Arithmetic encoding and decoding device

Publications (1)

Publication Number Publication Date
JP2007116501A true JP2007116501A (en) 2007-05-10

Family

ID=38098271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005306793A Pending JP2007116501A (en) 2005-10-21 2005-10-21 Arithmetic encoding and decoding device

Country Status (1)

Country Link
JP (1) JP2007116501A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009100474A (en) * 2007-10-16 2009-05-07 Ind Technol Res Inst System and method for context-based adaptive binary arithmetic encoding and decoding
JP2014502827A (en) * 2011-01-14 2014-02-03 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン Entropy encoding and decoding scheme

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009100474A (en) * 2007-10-16 2009-05-07 Ind Technol Res Inst System and method for context-based adaptive binary arithmetic encoding and decoding
JP2014502827A (en) * 2011-01-14 2014-02-03 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン Entropy encoding and decoding scheme
US9083374B2 (en) 2011-01-14 2015-07-14 Ge Video Compression, Llc Entropy encoding and decoding scheme using VLC coding and pipe or entropy coding for high compression efficiency
US9473169B2 (en) 2011-01-14 2016-10-18 Ge Video Compression Llc Entropy encoding and decoding scheme
US9647683B2 (en) 2011-01-14 2017-05-09 Ge Video Compression, Llc Entropy encoding and decoding scheme
US9698818B2 (en) 2011-01-14 2017-07-04 Ge Video Compression, Llc Entropy encoding and decoding scheme
CN107196662A (en) * 2011-01-14 2017-09-22 Ge视频压缩有限责任公司 Entropy code apparatus and method, entropy decoding apparatus and method and storage medium
US9806738B2 (en) 2011-01-14 2017-10-31 Ge Video Compression, Llc Entropy encoding and decoding scheme
US10090856B2 (en) 2011-01-14 2018-10-02 Ge Video Compression, Llc Entropy encoding and decoding scheme
US20190013822A1 (en) 2011-01-14 2019-01-10 Ge Video Compression, Llc Entropy encoding and decoding scheme
US10224953B2 (en) 2011-01-14 2019-03-05 Ge Video Compression, Llc Entropy encoding and decoding scheme
US10404272B2 (en) 2011-01-14 2019-09-03 Ge Video Compression, Llc Entropy encoding and decoding scheme
US10419017B2 (en) 2011-01-14 2019-09-17 Ge Video Compression, Llc Entropy encoding and decoding scheme
US10581454B2 (en) 2011-01-14 2020-03-03 Ge Video Compression, Llc Entropy encoding and decoding scheme
US10644719B2 (en) 2011-01-14 2020-05-05 Ge Video Compression, Llc Entropy encoding and decoding scheme
US10826524B2 (en) 2011-01-14 2020-11-03 Ge Video Compression, Llc Entropy encoding and decoding scheme
US10855309B2 (en) 2011-01-14 2020-12-01 Ge Video Compression, Llc Entropy encoding and decoding scheme
CN107196662B (en) * 2011-01-14 2021-07-30 Ge视频压缩有限责任公司 Entropy encoding apparatus and method, entropy decoding apparatus and method, and storage medium
US11405050B2 (en) 2011-01-14 2022-08-02 Ge Video Compression, Llc Entropy encoding and decoding scheme

Similar Documents

Publication Publication Date Title
US7365660B2 (en) Method and device for decoding syntax element in CABAC decoder
KR100694098B1 (en) Arithmetic decoding method and apparatus using the same
US7079057B2 (en) Context-based adaptive binary arithmetic coding method and apparatus
US7408487B2 (en) Method and apparatus for CABAC-based encoding having high compression ratio using improved context model selection and method and apparatus for CABAC-based decoding
RU2637879C2 (en) Encoding and decoding of significant coefficients depending on parameter of indicated significant coefficients
JP4717780B2 (en) Encoding apparatus and control method thereof
US6549676B1 (en) Encoding device
KR100717055B1 (en) Method of decoding bin values using pipeline architecture, and decoding apparatus therefor
US7817864B2 (en) Coding apparatus and decoding apparatus
KR101678223B1 (en) Multimedia signature coding and decoding
KR20060012093A (en) Context-based adaptive binary arithmetic decoder of pipeline structure for high speed decoding operation
JP4785706B2 (en) Decoding device and decoding method
EP0658982B1 (en) System for bi-level symbol coding-decoding with saved storage and method for the same
US11431978B2 (en) Video decoding method and video decoding device for improving decoding efficiency
JP4179638B2 (en) Arithmetic encoding / decoding of digital information signals
US7079050B2 (en) Arithmetic decoding of an arithmetically encoded information signal
JP2007116501A (en) Arithmetic encoding and decoding device
JP2013009167A (en) Entropy encoding apparatus, entropy decoding apparatus, entropy encoding method and entropy decoding method
JP2008141278A (en) Decoding circuit
KR100686354B1 (en) Huffman decoding method and device for using variable length tree
US6919830B1 (en) Arithmetic decoding of an arithmetically encoded information signal
JP2011176831A (en) Coding apparatus and method of controlling the same
TW202218431A (en) Arithmetic encoder for arithmetically encoding and arithmetic decoder for arithmetically decoding a sequence of information values, methods for arithmetically encoding and decoding a sequence of information values and computer program for implementing these methods
JP3212393B2 (en) Encoding device
JP3108243B2 (en) Encoding and decoding device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100608