JP2011024001A - Context-adaptive entropy coding method and apparatus, context-adaptive entropy decoding method and apparatus, and programs therefor - Google Patents
Context-adaptive entropy coding method and apparatus, context-adaptive entropy decoding method and apparatus, and programs therefor Download PDFInfo
- Publication number
- JP2011024001A JP2011024001A JP2009167650A JP2009167650A JP2011024001A JP 2011024001 A JP2011024001 A JP 2011024001A JP 2009167650 A JP2009167650 A JP 2009167650A JP 2009167650 A JP2009167650 A JP 2009167650A JP 2011024001 A JP2011024001 A JP 2011024001A
- Authority
- JP
- Japan
- Prior art keywords
- context
- context table
- information
- decoding
- encoding
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は,高能率画像信号符号化におけるコンテクスト適応エントロピ符号化,復号技術に関するものである。 The present invention relates to a context adaptive entropy encoding / decoding technique in high-efficiency image signal encoding.
H.264/AVC等の代表的な動画像符号化方式に対応した動画像符号化装置では,量子化されたDCT係数や動きベクトルなどの各種の符号化シンボル(これをシンタックス・エレメントという)を,エントロピ符号化部によりエントロピ符号化する処理が行われる。 H. In a moving picture coding apparatus corresponding to a typical moving picture coding method such as H.264 / AVC, various coded symbols such as quantized DCT coefficients and motion vectors (this is called a syntax element) The entropy encoding unit performs entropy encoding processing.
動画像復号装置では,動画像符号化装置のエントロピ符号化部によって符号化された符号化データを,エントロピ復号部によってシンタックス・エレメントに復号する。 In the moving image decoding apparatus, the encoded data encoded by the entropy encoding unit of the moving image encoding apparatus is decoded into a syntax element by the entropy decoding unit.
H.264/AVC では,このエントロピ符号化処理として,CABAC(非特許文献1参照)と呼ばれる方式が採用されている。CABAC(Context-Adaptive Binary Arithmetic Coding )は,コンテクスト適応型の算術符号に分類される方式であり,以下の3つの処理から構成される。
(1)binarization:多値のシンタックス・エレメントを2値信号へ変換する処理である。
(2)context modeling:2値信号の符号化のために,符号化対象シンボルの確率モデル(コンテクストテーブル)を選択する処理である。また,コンテスクトテーブルは,符号化済みの2値信号を用いて,更新される。
(3)binary arithmetic coding:選択されたコンテクストテーブルを用いて,2値信号を2値算術符号化する処理である。
H. In H.264 / AVC, a method called CABAC (see Non-Patent Document 1) is adopted as the entropy encoding process. CABAC (Context-Adaptive Binary Arithmetic Coding) is a method classified as a context-adaptive arithmetic code, and includes the following three processes.
(1) binarization: a process of converting a multilevel syntax element into a binary signal.
(2) context modeling: a process of selecting a probability model (context table) of a symbol to be encoded for encoding a binary signal. The context table is updated using the encoded binary signal.
(3) binary arithmetic coding: a process of performing binary arithmetic coding on a binary signal using a selected context table.
コンテクストテーブルは,符号化対象シンボルに対して,周辺シンボルとの条件付き発生確率をモデル化したものである。周辺シンボルによって決定される状態をコンテクストと呼び,さらにコンテクストを細分化(コンテクスト分類と呼ぶ)し,各コンテクストに応じて,適切な確率モデルを付与することで,符号化効率の向上が図られている。 The context table models conditional occurrence probabilities with surrounding symbols for the encoding target symbol. The state determined by the surrounding symbols is called a context, and the context is further subdivided (called context classification), and an appropriate probability model is assigned to each context to improve coding efficiency. Yes.
図11に,CABACの構成例を示す。CABAC100は,シンタックス・エレメントである多値信号を2値信号に変換する2値化部101と,符号化すべき2値信号の発生確率を周囲の状況に応じて計算・更新するコンテクスト計算部102と,コンテクスト計算部102から与えられた2値信号発生確率に基づき2値信号を算術符号化する2値算術符号化部103からなる。
FIG. 11 shows a configuration example of CABAC. The CABAC 100 includes a
コンテクスト計算部102では,2値信号の発生確率を複数保持しており,現在の符号化対象や周囲の状況に応じて発生確率を切り替えて2値算術符号化部103に与える。2値信号の発生確率は,発生確率が高い0,1のいずれかのシンボル(MPS:Most Probable Symbol) とその発生確率テーブル(MPSの発生確率を持つテーブル。番号を指定すると対応した発生確率が得られる) の番号pStateIdx で保持されている(図11(B)参照)。
The
発生確率テーブル番号pStateIdx に対応するMPSの発生確率は,pStateIdexの値が大きくなるほど,MPSの高い発生確率に対応するようになっている。 The MPS occurrence probability corresponding to the occurrence probability table number pStateIdx corresponds to a higher MPS occurrence probability as the value of pStateIdex increases.
CABACでは,コンテクスト計算部102が1つの符号化動作ごとにpStateIdx を更新することにより,2値信号の発生確率を適応的に切り替える。図11(C)は,発生確率テーブル番号の更新値の表を示している。この表では,MPS(Most Probable Symbol:0,1のうちで発生確率が高い方のシンボル) を符号化した場合の更新後のpStateIdx の値をtransIdxMPS ,LPS(Least Probable Symbol :0,1のうちで発生確率が低い方のシンボル) を符号化した場合の更新後のpStateIdx の値をtransIdxLPS として示している。この表に従って,MPSを符号化したか,LPSを符号化したかによって1符号化動作ごとに,発生確率テーブル番号pStateIdx が更新され,発生確率テーブルが切り替えられる。
In CABAC, the
この発生確率テーブル番号pStateIdx や,現在のMPS,符号化状態などの情報を1セットとして,マクロブロック(MB)タイプ,CBP,BCBP,MAP,MVD等の符号化対象のシンタックス・エレメントごとに切り替えて,CABACによるエントロピ符号化が行われる。 This occurrence probability table number pStateIdx, current MPS, encoding state, and other information are set as one set and switched for each syntax element to be encoded such as macroblock (MB) type, CBP, BCBP, MAP, MVD, etc. Thus, entropy encoding by CABAC is performed.
符号化対象シンボルに対して,その周辺シンボルによって決定される状態をコンテクストと呼ぶが,このような符号化シンボルの条件付き発生確率をモデル化した確率モデルの情報(CABACでは,発生確率テーブル番号pStateIdx や発生確率テーブル,現在のMPS等の情報)を示すものを,ここではコンテクストテーブルとして説明する。 A state determined by its surrounding symbols for a coding target symbol is called a context. Information on a probability model obtained by modeling the conditional occurrence probability of such a coding symbol (in CABAC, occurrence probability table number pStateIdx) And the occurrence probability table, information on the current MPS, etc.) will be described here as a context table.
CABACは,マクロブロック(MB)の集合であるスライス(slice) と呼ばれる単位で,コンテクストテーブルの内容を初期化している。すなわち,スライスの符号化開始時に,あらかじめ与えられた固定のテーブル値を初期値として使用している。しかし,スライス内の信号は,必ずしも統計的性質が類似した信号であるとは限らない。例えば,動物体領域と背景領域とが混在する場合,両者は,統計的に異なる性質を有する。 CABAC initializes the contents of the context table in units called slices, which are sets of macroblocks (MB). That is, a fixed table value given in advance is used as an initial value at the start of slice encoding. However, the signal in the slice is not necessarily a signal having similar statistical properties. For example, when a moving object region and a background region coexist, both have statistically different properties.
本来,こうした統計的性質の異なる信号は,別のコンテクストへ分類することで,さらに,符号化効率の向上が見込める。つまり,前述のような統計的性質の異なる信号が混在した条件下では,コンテクスト分類による符号化効率の向上には改善の余地が残る。 Originally, signals with different statistical properties can be further classified into different contexts to further improve coding efficiency. That is, under the condition where signals having different statistical properties are mixed as described above, there is still room for improvement in improving coding efficiency by context classification.
本発明はかかる事情に鑑みてなされたものであって,コンテクスト分類に基づく適応エントロピ符号化において,マクロブロックを時空間領域においてクラスに分類し,クラス毎にコンテクスト分類に基づく適応処理を行う適応エントロピ符号化方法を確立することを目的とする。 The present invention has been made in view of such circumstances, and in adaptive entropy coding based on context classification, an adaptive entropy that classifies macroblocks into classes in the space-time domain and performs adaptive processing based on context classification for each class. The purpose is to establish an encoding method.
本発明では,時空間領域においてマクロブロック(以下,MBと記すこともある)を,性質の類似した集合(クラスと呼ぶ)に分類する。この分類は,マクロブロックの各符号化シンボルごとに行ってもよい。なお,分類するクラス数Mは,符号化器・復号器間で予め取り決めた値を用いるものとする。この値以外を用いる場合には,符号化データの付加情報として,復号器に伝送するものとする。ここで性質の類似した集合に分類するとは,画像の統計的性質が同じであったり,画像における位置がある特定領域であったりというように,あらかじめ定められた何らかの分類基準によって分類することをいう。 In the present invention, macroblocks (hereinafter sometimes referred to as MB) are classified into sets (called classes) having similar properties in the spatio-temporal region. This classification may be performed for each encoded symbol of the macroblock. Note that the number M of classes to be classified is a value determined in advance between the encoder and the decoder. When a value other than this value is used, it is transmitted to the decoder as additional information of encoded data. Here, to classify into a set with similar properties means to classify according to some predetermined classification criteria such as the same statistical properties of the image or a specific region where the position in the image is. .
スライス等の単位で符号化を開始するときに,コンテクストテーブルの初期設定に用いる情報は,符号化開始時における符号化対象マクロブロックと同一クラスに属する符号化済みのマクロブロックから継承するものとする。この継承元となる符号化済みマクロブロックを参照マクロブロックという。参照マクロブロックはフレーム番号,スライス番号,MB番号に基づき同定されるものとする。 When starting encoding in units such as slices, the information used for initial setting of the context table shall be inherited from the encoded macroblock belonging to the same class as the encoding target macroblock at the start of encoding. . The encoded macroblock that is the inheritance source is referred to as a reference macroblock. The reference macroblock is identified based on the frame number, slice number, and MB number.
参照マクロブロックの指定方法は,以下のとおりである。
[フレーム番号の指定方法1]:フレーム番号を指定する情報を付加情報として伝送する。
[フレーム番号の指定方法2]:対象マクロブロックがPピクチャ(p-picuture)の場合,フレーム間予測の参照フレームを用いる。この場合,参照マクロブロックを指定する情報は,フレーム間予測の情報を共有するため,新たな付加情報は発生しない。
[スライス番号の指定方法1]:スライス番号を指定する情報を付加情報として伝送する。
[スライス番号の指定方法2]:対象マクロブロックがPピクチャの場合,フレーム間予測の参照フレームにおいて,対象マクロブロックのスライス番号と同一番号のスライスを用いる。この場合,参照マクロブロックを指定する情報は,フレーム間予測の情報を共有するため,新たな付加情報は発生しない。
[スライス番号の指定方法3]:上記の「スライス番号の指定方法1」および「スライス番号の指定方法2」を適宜,切り替える。この方式の場合,切替えは1ビットのフラグで指定する。
[MB番号の指定方法1]:MB番号を指定する情報を付加情報として伝送する。
[MB番号の指定方法2]:対象マクロブロックがPピクチャの場合,フレーム間予測における参照領域に基づき参照マクロブロックを同定する。参照領域が複数のマクロブロックをまたぐ場合には,最大面積を占めるマクロブロックを参照マクロブロックとする。この場合,参照マクロブロックを指定する情報は,フレーム間予測の情報を共有するため,新たな付加情報は発生しない。
The reference macroblock is specified as follows.
[Frame number specifying method 1]: Information specifying a frame number is transmitted as additional information.
[Frame number designation method 2]: When the target macroblock is a P picture (p-picuture), a reference frame for interframe prediction is used. In this case, since the information specifying the reference macroblock shares the inter-frame prediction information, no new additional information is generated.
[Slice number specification method 1]: Information specifying a slice number is transmitted as additional information.
[Slice number designation method 2]: When the target macroblock is a P picture, a slice having the same number as the slice number of the target macroblock is used in a reference frame for interframe prediction. In this case, since the information specifying the reference macroblock shares the inter-frame prediction information, no new additional information is generated.
[Slice number designation method 3]: “Slice
[MB number specification method 1]: Information specifying the MB number is transmitted as additional information.
[MB number designation method 2]: When the target macroblock is a P picture, the reference macroblock is identified based on the reference region in the inter-frame prediction. When the reference region straddles a plurality of macroblocks, the macroblock occupying the maximum area is set as the reference macroblock. In this case, since the information specifying the reference macroblock shares the inter-frame prediction information, no new additional information is generated.
このように本発明では,同一クラス内において情報の継承を行い,コンテクストテーブルの初期設定を行う。クラス分類の基準および具体的な分類方法は,符号化器側で自由に設定できるものとする。クラス分類方法は,符号化効率と演算量のトレードオフがあるため,このトレードオフにどのような解を与えるかは,符号化器側の裁量とし,クラス分類の枠組みを与えることが本発明の目的である。これは,動画像符号化において,動きベクトルの推定が符号化器が一定の自由度をもって設計できるフレームワークと同様の設計思想である。 As described above, in the present invention, information is inherited in the same class, and the initial setting of the context table is performed. Class classification criteria and specific classification methods can be freely set on the encoder side. Since the class classification method has a trade-off between coding efficiency and computational complexity, what kind of solution is given to this trade-off is at the discretion of the encoder, and a class classification framework is provided. Is the purpose. This is a design philosophy similar to a framework in which the encoder can design the motion vector estimation with a certain degree of freedom in moving picture coding.
例えばスライスは,マクロブロックの集合として,H.264に規定されている。本発明では,クラスの一例としてスライスを利用することができる。 For example, a slice is a H.264 as a set of macroblocks. H.264. In the present invention, a slice can be used as an example of a class.
復号時にも,スライス等の復号を開始するときに,コンテクストテーブルの初期設定に用いる情報は,復号開始時における復号対象マクロブロックと同一クラスに属する復号済みのマクロブロックから継承し,それによってコンテクストテーブルの初期化を行う。 Also at the time of decoding, information used for initial setting of the context table when starting decoding of a slice or the like is inherited from a decoded macroblock belonging to the same class as the decoding target macroblock at the start of decoding, and thereby the context table. Initialize the.
本発明により,同一の統計的性質をもつマクロブロックから構成されるクラスに対して,コンテクストテーブルの初期化が行われるため,クラス内の信号に特化した適応処理が可能となり,符号量削減が期待できる。 According to the present invention, since the context table is initialized for a class composed of macroblocks having the same statistical properties, adaptive processing specialized for signals within the class becomes possible, and the code amount can be reduced. I can expect.
以下,図面を用いながら本発明の実施の形態を詳細に説明する。図1は,本発明の一実施形態に係るコンテクスト適応エントロピ符号化装置の構成例を示す。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 shows a configuration example of a context adaptive entropy encoding apparatus according to an embodiment of the present invention.
コンテクスト適応エントロピ符号化装置1は,クラス分類情報記憶部10,コンテクストテーブル初期値設定部11,コンテクスト計算部12,2値化部14,2値算術符号化部15を備える。コンテクスト計算部12は,内部のメモリ領域にコンテクストテーブルを記憶するコンテクストテーブル記憶部13を有する。
The context adaptive
このコンテクスト適応エントロピ符号化装置1は,H.264/AVC等の動画像符号化装置において,量子化されたDCT係数や動きベクトルなどの各種の符号化シンボルをエントロピ符号化するときに用いられる。ここでは,例として主にCABACをベースに,本発明を組み込む処理例を説明するが,本発明の対象は,CABACに限定されるものではなく,コンテクスト適応符号化であれば,他の方式にも同様に適用可能である。
This context adaptive
2値化部14は,図11に示した従来のCABAC100における2値化部101と同様に,符号化対象であるシンタックス・エレメントの多値信号を2値信号に変換する処理を行う。なお,符号化対象信号が多値信号でないような場合には,2値化部14を省略する構成としてもよい。
Similar to the
2値算術符号化部15は,2値化部14の出力である2値信号を,コンテクスト計算部12から与えられた2値信号発生確率に従って算術符号化し,符号化ストリームの符号化ビットを出力する。2値算術符号化部15についても,図11に示した従来の2値算術符号化部103と同様なものにより構成することができる。
The binary
コンテクスト計算部12も,現在の符号化対象や周囲の状況に応じてコンテクストテーブル記憶部13に記憶されている発生確率を切り替えて,2値算術符号化部15に2値信号発生確率を与える処理を行う点に関しては基本的に従来技術と同様である。ただし,スライス符号化開始時などの符号化単位ごとに,コンテクストテーブル初期値設定部11によって初期化されたコンテクストテーブルを用いる点が従来技術と異なる。
The
クラス分類情報記憶部10には,複数フレームもしくは複数スライスについての各符号化済みマクロブロックがどのクラスに分類されているかの情報,また,そのマクロブロックの符号化終了時のコンテクストテーブルの情報(例えば発生確率テーブル番号やMPS等の情報)が記憶される。
The class classification
コンテクストテーブル初期値設定部11は,ある符号化単位,例えばスライスの符号化開始時に,符号化開始時における符号化対象マクロブロックと同一クラスに属する参照マクロブロックのコンテクストテーブルの情報を,クラス分類情報記憶部10から取得し,その情報をもとにコンテクストテーブル記憶部13に記憶されたコンテクストテーブルの初期化を行う。例えば,CABACの場合,発生確率テーブル番号pStateIdx として,参照マクロブロックの符号化結果によって更新された発生確率テーブル番号pStateIdx を初期値とする設定を行う。
The context table initial
これにより,2値算術符号化部15では,クラス内の信号に特化した適応符号化が行われることになり,符号化効率が向上することになる。
As a result, the binary
次に,コンテクスト適応エントロピ符号化装置1の処理の流れについて,図2に示すフローチャートに従って説明する。ここでは,スライスの符号化開始時にコンテクストテーブルを初期化する場合の処理の流れを説明するが,他の符号化単位の開始時にコンテクストテーブルを初期化する実施も同様に可能である。また,符号化対象マクロブロックのクラスが他のクラスに変わったときに,コンテクストテーブルを初期化するようにしてもよい。
Next, the processing flow of the context adaptive
[ステップS10]:すべてのスライスについて,以下のステップS11〜S110の処理を繰り返す。 [Step S10]: The following steps S11 to S110 are repeated for all slices.
[ステップS11]:符号化対象スライス内の全マクロブロックについて,コンテクスト適応エントロピ符号化の対象となるシンタックス・エレメントを読み込む。これは,例えばDCT係数,マクロブロックのモード情報,動きベクトル等である。 [Step S11]: For all macroblocks in the encoding target slice, a syntax element to be subjected to context adaptive entropy encoding is read. This is, for example, DCT coefficients, macroblock mode information, motion vectors, and the like.
[ステップS12]:シンタックス・エレメントごとに,コンテクストテーブルの更新に用いる符号化済みスライスにおけるシンタックス・エレメントのコンテクストテーブル情報を指定する。ここでのコンテクストテーブルの更新とは,コンテクストテーブルの初期化を意味し,コンテクストテーブル情報を指定するとは,図1に示すクラス分類情報記憶部10に記憶されている該当するクラスのコンテクストテーブル情報を指定することを意味する。従来のCABACでは,シンタックス・エレメントごとに固定のテーブルを用いて,コンテクストテーブルを初期化していたのに対し,本発明では,クラスにチューニングされたコンテクストテーブル情報を用いてコンテクストテーブルを初期化する。このコンテクストテーブル情報を指定する処理の詳細については,後に図5〜図9を用いて説明する。
[Step S12]: For each syntax element, specify the context table information of the syntax element in the encoded slice used for updating the context table. The update of the context table here means initialization of the context table. When the context table information is designated, the context table information of the corresponding class stored in the class classification
[ステップS13]:次に,現在のスライス内のすべてのマクロブロック(MB)ごとに,以下のステップS14〜S19の処理を繰り返す。 [Step S13]: Next, the following steps S14 to S19 are repeated for every macroblock (MB) in the current slice.
[ステップS14]:2値化部14により多値のシンタックス・エレメントを2値信号へ変換する。この2値信号を以降では2値シンボルと呼ぶ。 [Step S14]: The binarization unit 14 converts the multi-value syntax element into a binary signal. This binary signal is hereinafter referred to as a binary symbol.
[ステップS15]:2値シンボルに対して,符号化済みの周辺マクロブロックの同種の2値シンボルの情報を用いて,コンテクストテーブルを選択する。CABACを用いる場合には,非特許文献1に示されているCABACの規定に従う。
[Step S15]: For a binary symbol, a context table is selected by using the same type of binary symbol information of the encoded peripheral macroblock. When CABAC is used, the CABAC regulations shown in
[ステップS16]:コンテクストテーブルを同一クラスに属する符号化済みの2値シンボルを用いて更新する。CABACを用いる場合には,CABACの規定に従う。CABACの場合,図11(C)に示した発生確率テーブル番号の更新値に従って,発生確率テーブル番号を更新することになる。スライスの先頭では,このコンテクストテーブルの更新を,ステップS12で指定されたコンテクストテーブル情報を用いて行うことになる。 [Step S16]: The context table is updated using encoded binary symbols belonging to the same class. When using CABAC, follow the CABAC regulations. In the case of CABAC, the occurrence probability table number is updated according to the update value of the occurrence probability table number shown in FIG. At the head of the slice, the context table is updated using the context table information specified in step S12.
[ステップS17]:更新されたコンテクストテーブルを用いて,符号化対象の2値シンボルを,2値算術符号化部15によってエントロピ符号化する。
[Step S17]: The binary symbol to be encoded is entropy-encoded by the binary
[ステップS18]:更新されたコンテクストテーブルの情報をクラス分類情報記憶部10のメモリに書き出す。この書き出しは,後段のスライスの符号化開始時に,参照情報として本MBにおいて更新されたコンテクストテーブルを参照するために行われる。なお,スライスのMB集合を1クラスとした場合,すなわち後述する図5のコンテクストテーブル初期値設定処理(その1)の情報の指定方法を用いた場合,コンテクストテーブルの情報の書き出しは,スライス単位で行う。その他の場合には,MB単位でコンテクストテーブルの情報を書き出す。
[Step S18]: The updated context table information is written in the memory of the class classification
[ステップS19,S110]:以上の処理をスライス内のすべてのMBに対して繰り返し,さらにすべてのスライスに対して同様に処理を繰り返して,スライスが終了したならば処理を終了する。 [Steps S19, S110]: The above processing is repeated for all MBs in the slice, and the processing is repeated in the same manner for all slices. When the slice is completed, the processing ends.
図3は,本発明の一実施形態に係るコンテクスト適応エントロピ復号装置の構成例を示す。 FIG. 3 shows a configuration example of a context adaptive entropy decoding apparatus according to an embodiment of the present invention.
コンテクスト適応エントロピ復号装置2は,クラス分類情報記憶部20,コンテクストテーブル初期値設定部21,コンテクスト計算部22,2値算術復号部24,シンタックス・エレメント変換部25を備える。コンテクスト計算部22は,内部のメモリ領域にコンテクストテーブルを記憶するコンテクストテーブル記憶部23を有する。
The context adaptive
このコンテクスト適応エントロピ復号装置2は,H.264/AVC等の動画像復号装置において,動画像の符号化ストリームを復号するときに用いられる。ここでも符号化の場合と同様に,CABACをベースにした処理例を説明するが,コンテクスト適応復号であれば,他の方式にも同様に適用可能である。
This context adaptive
2値算術復号部24は,復号対象の符号化データを,コンテクスト計算部22から与えられた2値信号発生確率に従って算術復号し,復号した結果の2値信号(2値シンボル)を出力する。シンタックス・エレメント変換部25は,算術復号して得られた2値信号を多値のシンタックス・エレメントに変換する。これらは,従来のCABACにおける復号方法と同様である。
The binary
コンテクスト計算部22も,現在の復号対象や周囲の状況に応じてコンテクストテーブル記憶部23に記憶されている発生確率を切り替えて,2値算術復号部24に2値信号発生確率を与える処理を行う点に関しては基本的に従来技術と同様である。ただし,スライス復号開始時などの復号単位ごとに,コンテクストテーブル初期値設定部21によって初期化されたコンテクストテーブルを用いる点が従来技術と異なる。
The
クラス分類情報記憶部20には,複数フレームもしくは複数スライスについての各復号済みマクロブロックがどのクラスに分類されているかの情報,また,そのマクロブロックの復号終了時のコンテクストテーブルの情報(例えば発生確率テーブル番号やMPS等の情報)が記憶される。
In the class classification
コンテクストテーブル初期値設定部21は,ある復号単位,例えばスライスの復号開始時に,復号開始時における復号対象マクロブロックと同一クラスに属する参照マクロブロックのコンテクストテーブルの情報を,クラス分類情報記憶部20から取得し,その情報をもとにコンテクストテーブル記憶部23に記憶されたコンテクストテーブルの初期化を行う。例えば,CABACの場合,発生確率テーブル番号pStateIdx として,参照マクロブロックの復号結果によって更新された発生確率テーブル番号pStateIdx を初期値とする設定を行う。
The context table initial
次に,コンテクスト適応エントロピ復号装置2の処理の流れについて,図4に示すフローチャートに従って説明する。ここでは,スライスの復号開始時にコンテクストテーブルを初期化する場合の処理の流れを説明するが,他の復号単位の開始時にコンテクストテーブルを初期化する実施も同様に可能である。また,復号対象マクロブロックのクラスが他のクラスに変わったときに,コンテクストテーブルを初期化するようにしてもよい。ただし,この初期化の単位は,符号化時の処理と合わせる必要がある。
Next, the flow of processing of the context adaptive
[ステップS20]:すべてのスライスについて,以下のステップS21〜S210の処理を繰り返す。 [Step S20]: The following steps S21 to S210 are repeated for all slices.
[ステップS21]:復号対象スライス内の全マクロブロックについて,コンテクスト適応エントロピ復号の対象となるシンタックス・エレメントの符号化データを読み込む。これは,例えばDCT係数,マクロブロックのモード情報,動きベクトル等をエントロピ符号化したデータである。 [Step S21]: For all macroblocks in the decoding target slice, the encoded data of the syntax element to be subjected to context adaptive entropy decoding is read. This is, for example, data obtained by entropy encoding DCT coefficients, macroblock mode information, motion vectors, and the like.
[ステップS22]:シンタックス・エレメントごとに,コンテクストテーブルの更新に用いる復号済みスライスにおけるシンタックス・エレメントのコンテクストテーブル情報を指定する。ここでのコンテクストテーブルの更新とは,コンテクストテーブルの初期化を意味し,コンテクストテーブル情報を指定するとは,図3に示すクラス分類情報記憶部20に記憶されている該当するクラスのコンテクストテーブル情報を指定することを意味する。従来のCABACでは,シンタックス・エレメントごとに固定のテーブルを用いて,コンテクストテーブルを初期化していたのに対し,本発明では,クラスにチューニングされたコンテクストテーブル情報を用いてコンテクストテーブルを初期化する。このコンテクストテーブル情報を指定する処理の詳細については,後に図5〜図9を用いて説明する。
[Step S22]: For each syntax element, specify the context table information of the syntax element in the decoded slice to be used for updating the context table. The update of the context table here means the initialization of the context table. When the context table information is designated, the context table information of the corresponding class stored in the class classification
[ステップS23]:次に,現在のスライス内のすべてのマクロブロック(MB)ごとに,以下のステップS24〜S29の処理を繰り返す。 [Step S23]: Next, the following steps S24 to S29 are repeated for every macroblock (MB) in the current slice.
[ステップS24]:復号済みの周辺マクロブロックの同種の2値シンボルの情報を用いて,コンテクストテーブルを選択する。CABACを用いる場合には,非特許文献1に示されているCABACの規定に従う。
[Step S24]: A context table is selected by using the same kind of binary symbol information of the decoded neighboring macroblocks. When CABAC is used, the CABAC regulations shown in
[ステップS25]:コンテクストテーブルを同一クラスに属する復号済みの2値シンボルを用いて更新する。CABACを用いる場合には,CABACの規定に従う。スライスの先頭では,このコンテクストテーブルの更新を,ステップS22で指定されたコンテクストテーブル情報を用いて行う。 [Step S25]: The context table is updated using decoded binary symbols belonging to the same class. When using CABAC, follow the CABAC regulations. At the head of the slice, this context table is updated using the context table information specified in step S22.
[ステップS26]:更新されたコンテクストテーブルを用いて,復号対象の2値シンボルを,2値算術復号部24によってエントロピ復号する。
[Step S26]: The binary symbol to be decoded is entropy-decoded by the binary
[ステップS27]:復号された2値シンボルを,シンタックス・エレメント変換部25によって多値のシンタックス・エレメントに変換し,出力する。
[Step S27]: The decoded binary symbol is converted into a multi-value syntax element by the syntax
[ステップS28]:更新されたコンテクストテーブルの情報をクラス分類情報記憶部20のメモリに書き出す。この書き出しは,後段のスライスの復号開始時に,参照情報として本MBにおいて更新されたコンテクストテーブルを参照するために行われる。なお,スライスのMB集合を1クラスとした場合,すなわち後述する図5のコンテクストテーブル初期値設定処理(その1)の情報の指定方法を用いた場合,コンテクストテーブルの情報の書き出しは,スライス単位で行う。その他の場合には,MB単位でコンテクストテーブルの情報を書き出す。
[Step S <b> 28]: The updated context table information is written in the memory of the class classification
[ステップS29,S210]:以上の処理をスライス内のすべてのMBに対して繰り返し,さらにすべてのスライスに対して同様に処理を繰り返して,スライスが終了したならば処理を終了する。 [Steps S29 and S210]: The above processing is repeated for all MBs in the slice, and the processing is repeated in the same manner for all slices. When the slice is completed, the processing ends.
次に,図2に示すステップS12および図4に示すステップS22の詳細な処理について,いくつかの例を説明する。これらの例の違いは,コンテクストテーブルの更新(初期化)に用いる情報の指定方法の違いであり,どの参照マクロブロックのコンテクストテーブル情報を継承するかの指定の方法の違いである。 Next, some examples of detailed processing in step S12 shown in FIG. 2 and step S22 shown in FIG. 4 will be described. The difference between these examples is the difference in the method of specifying information used for updating (initializing) the context table, and the difference in the method of specifying which reference macroblock's context table information is inherited.
参照マクロブロックを指定する場合には,基本的にはフレーム番号,スライス番号,MB番号を特定する必要があるが,例えば他の情報で特定することができる場合には,番号の指定を省略して符号化における付加情報の発生を抑えることもできる。例えば,フレーム間予測で参照が指定されたフレーム内の情報を用いる場合には,フレーム番号の指定を省略することができる。また,例えば1クラスが1スライスに対応しているような場合には,スライス単位で指定し,マクロブロック単位での指定を省略するような実施も可能である。 When specifying a reference macroblock, it is basically necessary to specify the frame number, slice number, and MB number. For example, if other information can be specified, specification of the number is omitted. Thus, generation of additional information in encoding can be suppressed. For example, when using information in a frame for which reference is specified in inter-frame prediction, specification of a frame number can be omitted. Further, for example, when one class corresponds to one slice, it is possible to specify in units of slices and omit specification in units of macroblocks.
図5のコンテクストテーブル初期値設定処理(その1)は,ステップS12(図2)およびステップS22(図4)で行う処理であるが,コンテクストテーブルの更新に用いる情報をスライス単位で指定する方法の場合であり,MB単位での指定は行わない。 The context table initial value setting process (part 1) in FIG. 5 is a process performed in step S12 (FIG. 2) and step S22 (FIG. 4), and is a method of designating information used for updating the context table in units of slices. This is a case, and designation in MB units is not performed.
図5の処理では,参照フレーム指定方法フラグF1と参照スライス指定方法フラグF2を用いる。参照フレーム指定方法フラグF1は,“1”のときフレーム番号を指定する情報を付加情報として伝送することを指定し,“0”のときフレーム間予測において参照しているフレーム番号を共有することを指定するフラグである。また,参照スライス指定方法フラグF2は,“1”のときスライス番号を指定する情報を付加情報として伝送することを指定し,“0”のとき参照マクロブロックを指定する情報としてフレーム間予測の情報を共有することを指定するフラグである。これらのフラグF1,F2は,どの指定方法を用いるかによってスライスなどの符号化前に事前に設定される。または,符号化の状況に応じて,切り替える実施も可能である。 In the processing of FIG. 5, the reference frame designation method flag F1 and the reference slice designation method flag F2 are used. The reference frame designation method flag F1 specifies that information specifying the frame number is transmitted as additional information when “1”, and shares the frame number referenced in inter-frame prediction when “0”. The flag to specify. The reference slice designation method flag F2 specifies that information specifying a slice number is transmitted as additional information when “1”, and information of interframe prediction as information specifying a reference macroblock when “0”. Is a flag that specifies sharing. These flags F1 and F2 are set in advance before encoding such as a slice depending on which designation method is used. Alternatively, it is possible to perform switching according to the coding situation.
まず,参照フレーム指定方法フラグF1が,“1”かどうかを判定する(ステップS50)。フラグF1が“1”の場合,フレーム番号を指定した情報を参照フレームインデックスとして読み込む(ステップS51)。フラグF1が“0”の場合,符号化対象MBがフレーム間予測において参照しているフレーム番号を参照フレームインデックスとして読み込む(ステップS52)。 First, it is determined whether or not the reference frame designation method flag F1 is “1” (step S50). When the flag F1 is “1”, information specifying the frame number is read as a reference frame index (step S51). If the flag F1 is “0”, the frame number referred to by the encoding target MB in inter-frame prediction is read as a reference frame index (step S52).
次に,参照スライス指定方法フラグF2が,“1”かどうかを判定する(ステップS53)。フラグF2が“1”の場合,スライス番号を指定した情報を参照スライスインデックスとして読み込む(ステップS54)。その後,参照フレームインデックスで指定されたフレームにおいて,参照スライスインデックスにより指定されたスライスの最終MBのコンテクストテーブルを読み込み,それをコンテクストテーブルの更新(初期化)に用いる情報として利用する(ステップS55)。フラグF2が“0”の場合,参照フレームインデックスで指定されたフレームにおいて,符号化対象MBがフレーム間予測のスライス番号と同一番号のスライスの最終MBのコンテクストテーブルを読み込み,それをコンテクストテーブルの更新(初期化)に用いる情報として利用する(ステップS56)。 Next, it is determined whether or not the reference slice designation method flag F2 is “1” (step S53). When the flag F2 is “1”, information specifying the slice number is read as a reference slice index (step S54). Thereafter, in the frame specified by the reference frame index, the context table of the last MB of the slice specified by the reference slice index is read and used as information used for updating (initializing) the context table (step S55). When the flag F2 is “0”, in the frame specified by the reference frame index, the encoding target MB reads the context table of the last MB of the slice having the same number as the inter-frame prediction slice number, and updates the context table. This is used as information used for (initialization) (step S56).
図6のコンテクストテーブル初期値設定処理(その2)は,ステップS12(図2)およびステップS22(図4)で行う処理であるが,図5では,スライス単位でコンテクストテーブルの更新に用いる情報を指定したのに対し,図6では,MB単位で指定する。 The context table initial value setting process (part 2) in FIG. 6 is a process performed in step S12 (FIG. 2) and step S22 (FIG. 4). In FIG. 5, information used for updating the context table in units of slices. In contrast to this, in FIG. 6, it is specified in units of MB.
図6の例では,前述した参照フレーム指定方法フラグF1と参照スライス指定方法フラグF2の他に,参照マクロブロック指定方法フラグF3を用いる。参照マクロブロック指定方法フラグF3は,“1”のときMB番号を指定する情報を付加情報として伝送することを指定し,“0”のときフレーム間予測における動きベクトル情報を利用し,MB番号を指定する情報として新たな付加情報は用いないことを指定する。 In the example of FIG. 6, in addition to the above-described reference frame designation method flag F1 and reference slice designation method flag F2, a reference macroblock designation method flag F3 is used. The reference macroblock specifying method flag F3 specifies that information specifying the MB number is transmitted as additional information when “1”, and uses the motion vector information in the inter-frame prediction when “0”, and sets the MB number. Specifies that new additional information is not used as the information to be specified.
まず,参照フレーム指定方法フラグF1が,“1”かどうかを判定する(ステップS60)。フラグF1が“1”の場合,フレーム番号を指定した情報を参照フレームインデックスとして読み込む(ステップS61)。フラグF1が“0”の場合,符号化対象MBがフレーム間予測において参照しているフレーム番号を参照フレームインデックスとして読み込む(ステップS62)。 First, it is determined whether or not the reference frame designation method flag F1 is “1” (step S60). When the flag F1 is “1”, information specifying the frame number is read as a reference frame index (step S61). When the flag F1 is “0”, the frame number referred to by the encoding target MB in inter-frame prediction is read as a reference frame index (step S62).
次に,参照スライス指定方法フラグF2が,“1”かどうかを判定する(ステップS63)。フラグF2が“1”の場合,スライス番号を指定した情報を参照スライスインデックスとして読み込む(ステップS64)。フラグF2が“0”の場合,参照フレームインデックスで指定されたフレームにおいて,符号化対象MBのスライス番号を参照スライスインデックスとして読み込む(ステップS65)。 Next, it is determined whether the reference slice designation method flag F2 is “1” (step S63). When the flag F2 is “1”, information specifying the slice number is read as a reference slice index (step S64). When the flag F2 is “0”, the slice number of the encoding target MB is read as the reference slice index in the frame specified by the reference frame index (step S65).
次に,参照マクロブロック指定方法フラグF3が,“1”かどうかを判定する(ステップS66)。フラグF3が“1”の場合,MB番号を指定した情報を参照MBインデックスとして読み込む(ステップS67)。その後,参照フレームインデックスで指定されたフレームにおける,参照スライスインデックスにより指定されたスライスにおいて,参照MBインデックスにより指定されたMBのもつコンテクストテーブルを読み込み,それをコンテクストテーブルの更新(初期化)に用いる情報として利用する(ステップS68)。フラグF3が“0”の場合,符号化対象MBに対してフレーム間予測の動きベクトル情報を読み込む(ステップS69)。その後,参照フレームインデックスで指定されたフレームにおける,参照スライスインデックスにより指定されたスライスにおいて,動きベクトルにより,フレーム間予測の参照領域として指定された領域において最大面積を占めるMBのもつコンテクストテーブルを読み込み,それをコンテクストテーブルの更新(初期化)に用いる情報として利用する(ステップS610)。 Next, it is determined whether or not the reference macroblock specifying method flag F3 is “1” (step S66). When the flag F3 is “1”, information specifying the MB number is read as a reference MB index (step S67). Thereafter, in the frame specified by the reference frame index, in the slice specified by the reference slice index, the context table of the MB specified by the reference MB index is read and used for updating (initializing) the context table. (Step S68). When the flag F3 is “0”, motion vector information for inter-frame prediction is read for the encoding target MB (step S69). After that, in the slice specified by the reference slice index in the frame specified by the reference frame index, the context table of the MB occupying the maximum area in the area specified as the reference area for inter-frame prediction is read by the motion vector, It is used as information used for updating (initializing) the context table (step S610).
図7および図8のコンテクストテーブル初期値設定処理(その3)は,図6と同様に,ステップS12(図2)およびステップS22(図4)で行う処理であり,コンテクストテーブルの更新に用いる情報をMB単位で指定する例である。ただし,この例では,スライス番号の指定方法を適宜切り替えることを行う。 The context table initial value setting process (part 3) in FIGS. 7 and 8 is the process performed in step S12 (FIG. 2) and step S22 (FIG. 4), as in FIG. 6, and is information used for updating the context table. This is an example of designating in MB units. However, in this example, the slice number designation method is switched as appropriate.
まず,参照フレーム指定方法フラグF1が,“1”かどうかを判定する(ステップS70)。フラグF1が“1”の場合,フレーム番号を指定した情報を参照フレームインデックスとして読み込む(ステップS71)。フラグF1が“0”の場合,符号化対象MBがフレーム間予測において参照しているフレーム番号を参照フレームインデックスとして読み込む(ステップS72)。 First, it is determined whether or not the reference frame designation method flag F1 is “1” (step S70). When the flag F1 is “1”, information specifying the frame number is read as a reference frame index (step S71). When the flag F1 is “0”, the frame number referred to by the encoding target MB in inter-frame prediction is read as a reference frame index (step S72).
次に,参照スライス指定方法フラグF2が,“1”かどうかを判定する(ステップS73)。フラグF2が“1”でない場合,図8のステップS710へ進む。フラグF2が“1”の場合,スライス番号を指定した情報を参照スライスインデックスとして読み込む(ステップS74)。 Next, it is determined whether or not the reference slice designation method flag F2 is “1” (step S73). If the flag F2 is not “1”, the process proceeds to step S710 in FIG. If the flag F2 is “1”, information specifying the slice number is read as a reference slice index (step S74).
次に,参照マクロブロック指定方法フラグF3が,“1”かどうかを判定する(ステップS75)。フラグF3が“1”の場合,MB番号を指定した情報を参照MBインデックスとして読み込む(ステップS76)。その後,参照フレームインデックスで指定されたフレームにおける,参照スライスインデックスにより指定されたスライスにおいて,参照MBインデックスにより指定されたMBのもつコンテクストテーブルを読み込み,それをコンテクストテーブルの更新(初期化)に用いる情報として利用する(ステップS77)。フラグF3が“0”の場合,符号化対象MBに対してフレーム間予測の動きベクトル情報を読み込む(ステップS78)。その後,参照フレームインデックスで指定されたフレームにおける,参照スライスインデックスにより指定されたスライスにおいて,動きベクトルにより,フレーム間予測の参照領域として指定された領域において最大面積を占めるMBのもつコンテクストテーブルを読み込み,それをコンテクストテーブルの更新(初期化)に用いる情報として利用する(ステップS79)。 Next, it is determined whether or not the reference macroblock designation method flag F3 is “1” (step S75). When the flag F3 is “1”, information specifying the MB number is read as a reference MB index (step S76). Thereafter, in the frame specified by the reference frame index, in the slice specified by the reference slice index, the context table of the MB specified by the reference MB index is read and used for updating (initializing) the context table. (Step S77). When the flag F3 is “0”, motion vector information for inter-frame prediction is read for the encoding target MB (step S78). After that, in the slice specified by the reference slice index in the frame specified by the reference frame index, the context table of the MB occupying the maximum area in the area specified as the reference area for inter-frame prediction is read by the motion vector, It is used as information used for updating (initializing) the context table (step S79).
参照スライス指定方法フラグF2が“0”の場合,次に参照マクロブロック指定方法フラグF3が“1”かどうかを判定する(図8のステップS710)。フラグF3が“1”の場合,参照フレームインデックスで指定されたフレームにおいて,符号化対象MBのスライス番号と同一番号を参照スライスインデックスとする(ステップS711)。また,MB番号を指定した情報を参照MBインデックスとして読み込む(ステップS712)。その後,参照フレームインデックスで指定されたフレームにおける,参照スライスインデックスにより指定されたスライスにおいて,参照MBインデックスにより指定されたMBのもつコンテクストテーブルを読み込み,それをコンテクストテーブルの更新(初期化)に用いる情報として利用する(ステップS713)。 If the reference slice designation method flag F2 is “0”, it is next determined whether or not the reference macroblock designation method flag F3 is “1” (step S710 in FIG. 8). When the flag F3 is “1”, the same number as the slice number of the encoding target MB is set as the reference slice index in the frame specified by the reference frame index (step S711). Also, information specifying the MB number is read as a reference MB index (step S712). Thereafter, in the frame specified by the reference frame index, in the slice specified by the reference slice index, the context table of the MB specified by the reference MB index is read and used for updating (initializing) the context table. (Step S713).
ステップS710の判定におけるフラグF3が“0”の場合,符号化対象MBに対してフレーム間予測の動きベクトル情報を読み込む(ステップS714)。その後,参照フレームインデックスで指定されたフレームにおける,参照スライスインデックスにより指定されたスライスにおいて,動きベクトルにより,フレーム間予測の参照領域として指定された領域において最大面積を占めるMBのもつコンテクストテーブルを読み込み,それをコンテクストテーブルの更新(初期化)に用いる情報として利用する(ステップS715)。 When the flag F3 in the determination in step S710 is “0”, motion vector information for inter-frame prediction is read for the encoding target MB (step S714). After that, in the slice specified by the reference slice index in the frame specified by the reference frame index, the context table of the MB occupying the maximum area in the area specified as the reference area for inter-frame prediction is read by the motion vector, It is used as information used for updating (initializing) the context table (step S715).
図9のコンテクストテーブル初期値設定処理(その4)は,図6と同様に,ステップS12(図2)およびステップS22(図4)で行う処理であり,コンテクストテーブルの更新に用いる情報をMB単位で指定する例である。ただし,図9の例は,スライス内のMBの指定を,フレーム間予測における参照領域に基づき参照マクロブロックを決める方法に固定した方法である。したがって,この例では参照マクロブロック指定方法フラグF3は用いない。 The context table initial value setting process (part 4) in FIG. 9 is the process performed in step S12 (FIG. 2) and step S22 (FIG. 4) as in FIG. 6, and information used for updating the context table is stored in MB units. It is an example specified by. However, the example of FIG. 9 is a method in which the designation of MBs in a slice is fixed to a method of determining a reference macroblock based on a reference region in inter-frame prediction. Therefore, in this example, the reference macroblock designation method flag F3 is not used.
まず,参照フレーム指定方法フラグF1が,“1”かどうかを判定する(ステップS80)。フラグF1が“1”の場合,フレーム番号を指定した情報を参照フレームインデックスとして読み込む(ステップS81)。フラグF1が“0”の場合,符号化対象MBがフレーム間予測において参照しているフレーム番号を参照フレームインデックスとして読み込む(ステップS82)。 First, it is determined whether or not the reference frame designation method flag F1 is “1” (step S80). When the flag F1 is “1”, information specifying the frame number is read as a reference frame index (step S81). When the flag F1 is “0”, the frame number referred to by the encoding target MB in inter-frame prediction is read as a reference frame index (step S82).
次に,参照スライス指定方法フラグF2が,“1”かどうかを判定する(ステップS83)。フラグF2が“1”の場合,スライス番号を指定した情報を参照スライスインデックスとして読み込む(ステップS84)。フラグF2が“0”の場合,参照フレームインデックスで指定されたフレームにおいて,符号化対象MBのスライス番号を参照スライスインデックスとして読み込む(ステップS85)。 Next, it is determined whether or not the reference slice designation method flag F2 is “1” (step S83). When the flag F2 is “1”, information specifying the slice number is read as a reference slice index (step S84). When the flag F2 is “0”, the slice number of the encoding target MB is read as the reference slice index in the frame specified by the reference frame index (step S85).
次に,符号化対象MBに対してフレーム間予測の動きベクトル情報を読み込む(ステップS86)。その後,参照フレームインデックスで指定されたフレームにおける,参照スライスインデックスにより指定されたスライスにおいて,動きベクトルにより,フレーム間予測の参照領域として指定された領域において最大面積を占めるMBのもつコンテクストテーブルを読み込み,それをコンテクストテーブルの更新(初期化)に用いる情報として利用する(ステップS87)。 Next, motion vector information for inter-frame prediction is read into the encoding target MB (step S86). After that, in the slice specified by the reference slice index in the frame specified by the reference frame index, the context table of the MB occupying the maximum area in the area specified as the reference area for inter-frame prediction is read by the motion vector, It is used as information used for updating (initializing) the context table (step S87).
図5〜図9に示す各種の指定方法の例のように,フレーム番号の指定方法,スライス番号の指定方法,MBの指定方法として,どのような指定方法を用いるかをフラグなどにより切り替えてコンテクストテーブルの更新に用いる情報を指定することができる。 As shown in the examples of various specification methods shown in FIG. 5 to FIG. 9, a context number is switched by using a flag or the like as a frame number specification method, a slice number specification method, or an MB specification method. Information used to update the table can be specified.
どの指定方法を用いるかについては,例えば各種の指定方法の一つに固定する方法,各種の指定方法について,総当りの探索によって符号量を最小化できる指定方法を選択する方法,マクロブロックの指定方法はいずれかに固定し,フレーム番号とスライス番号の指定方法については,総当りの探索によって符号量を最小化できる指定方法を選択する方法などの中から,符号化前または各スライスの符号化開始時に選択するというような実施が可能である。 As to which specification method is used, for example, a method of fixing to one of various specification methods, a method of selecting a specification method that can minimize the code amount by brute force search, and a specification of a macro block The method is fixed to either, and the frame number and slice number can be specified before encoding or encoding of each slice from among the selection methods that can minimize the code amount by brute force search. Implementations such as selecting at the start are possible.
符号化開始の前に一つの指定方法に固定する場合,例えば符号化前にトレーニング画像を用いて予備実験を行い,その結果,符号量が最も小さくなった指定方法を選択するというようにしてもよい。 When fixing to one designation method before the start of encoding, for example, a preliminary experiment is performed using a training image before encoding, and as a result, a specification method with the smallest code amount is selected. Good.
以上の各種の参照マクロブロックの指定方法によって定まるマクロブロックのコンテクストテーブルを継承し,コンテクストテーブルを更新(初期化)することによって,適応的にクラスにチューニングされたコンテクストテーブルを用いて,エントロピ符号化を行うことができるようになる。 Entropy coding using the context table adaptively tuned to the class by inheriting the macroblock context table determined by the above-mentioned various reference macroblock specification methods and updating (initializing) the context table Will be able to do.
図10に,本システムをソフトウェアプログラムを用いて実現する場合のハードウェア構成例を示す。本システムは,プログラムを実行するCPU30と,CPU30がアクセスするプログラムやデータが格納されるRAM等のメモリ31と,カメラ等からの符号化対象の画像信号を入力する画像信号入力部32(ディスク装置等による画像信号を記憶する記憶部でもよい)と,CPU30に実行させるソフトウェアプログラムであるH.264に代表されるような動画像符号化プログラム34が格納されたプログラム記憶装置33と,CPU30がメモリ31にロードされた動画像符号化プログラム34を実行することにより生成された符号化ストリームを,例えばネットワークを介して出力する符号化ストリーム出力部36(ディスク装置等による符号化ストリームを記憶する記憶部でもよい)とが,バスで接続された構成になっている。
FIG. 10 shows an example of a hardware configuration when this system is realized by using a software program. This system includes a
特に,本実施例に係るコンテクスト適応エントロピ符号化をCPU30に実行させるためのコンテクスト適応エントロピ符号化プログラム35は,動画像符号化プログラム34の一部として,または動画像符号化プログラム34とは別に,プログラム記憶装置33に格納され,符号化時にはメモリ31にロードされて実行される。
In particular, the context adaptive
本実施例に係るコンテクスト適応エントロピ復号方法をソフトウェアプログラムによって実現する場合にも,同様なハードウェア構成を用いて実現することが可能である。 Even when the context adaptive entropy decoding method according to the present embodiment is realized by a software program, it can be realized by using a similar hardware configuration.
1 コンテクスト適応エントロピ符号化装置
2 コンテクスト適応エントロピ復号装置
10,20 クラス分類情報記憶部
11,21 コンテクストテーブル初期値設定部
12,22 コンテクスト計算部
13,23 コンテクストテーブル記憶部
14 2値化部
15 2値算術符号化部
24 2値算術復号部
25 シンタックス・エレメント変換部
DESCRIPTION OF
Claims (8)
符号化対象となるブロックまたはシンボルの符号化対象データを,あらかじめ定められた分類基準に従って複数のクラスに分類した情報と,符号化済みの符号化対象データに対する確率モデル情報とを記憶するクラス分類情報記憶手段を参照し,ある符号化単位の符号化開始時に,これから符号化する符号化対象データと同一のクラスに属する符号化済みの符号化対象データの確率モデル情報を用いて,コンテクストテーブルを初期化するコンテクストテーブル初期値設定過程と,
前記コンテクストテーブル初期値設定過程によって初期化されたコンテクストテーブルが持つ確率モデル情報に従って符号化対象データを符号化し,その符号化結果に従って前記コンテクストテーブルが持つ確率モデル情報を更新するとともに,その更新された確率モデル情報を前記クラス分類情報記憶手段に書き出す符号化過程とを有する
ことを特徴とするコンテクスト適応エントロピ符号化方法。 In a context adaptive entropy encoding method for entropy encoding encoding target data using a context table holding probability model information that models conditional occurrence probability of encoding target symbols,
Class classification information that stores information that classifies the data to be encoded of a block or symbol to be encoded into a plurality of classes according to a predetermined classification standard, and probability model information for the encoded data that has already been encoded Referring to the storage means, at the start of encoding of a certain encoding unit, the context table is initialized by using the probability model information of the encoded target data that belongs to the same class as the target data to be encoded. The context table initial value setting process,
The encoding target data is encoded according to the probability model information of the context table initialized by the context table initial value setting process, the probability model information of the context table is updated according to the encoding result, and the updated A context adaptive entropy encoding method comprising: an encoding step of writing probability model information to the class classification information storage means.
前記コンテクストテーブル初期値設定過程では,これから符号化する符号化対象データと同一のクラスに属する符号化済みの符号化対象データの確率モデル情報を参照する際に,フレーム間予測で参照が指定されたフレームの参照位置情報が示す位置に対応する符号化対象データの確率モデル情報を参照する
ことを特徴とするコンテクスト適応エントロピ符号化方法。 The context adaptive entropy encoding method according to claim 1,
In the context table initial value setting process, when referring to the probability model information of the encoded target data that belongs to the same class as the target data to be encoded, the reference is specified in the inter-frame prediction. A context adaptive entropy encoding method characterized by referring to probability model information of encoding target data corresponding to a position indicated by reference position information of a frame.
符号化対象となるブロックまたはシンボルの符号化対象データを,あらかじめ定められた分類基準に従って複数のクラスに分類した情報と,符号化済みの符号化対象データに対する確率モデル情報とを記憶するクラス分類情報記憶手段と,
ある符号化単位の符号化開始時に,前記クラス分類情報記憶手段を参照し,これから符号化する符号化対象データと同一のクラスに属する符号化済みの符号化対象データの確率モデル情報を用いて,コンテクストテーブルを初期化するコンテクストテーブル初期値設定手段と,
前記コンテクストテーブル初期値設定手段によって初期化されたコンテクストテーブルが持つ確率モデル情報に従って符号化対象データを符号化し,その符号化結果に従って前記コンテクストテーブルが持つ確率モデル情報を更新するとともに,その更新された確率モデル情報を前記クラス分類情報記憶手段に書き出す符号化手段とを備える
ことを特徴とするコンテクスト適応エントロピ符号化装置。 In a context adaptive entropy encoding device that entropy-encodes encoding target data using a context table that stores probability model information that models the conditional occurrence probability of the encoding target symbol,
Class classification information that stores information that classifies the data to be encoded of a block or symbol to be encoded into a plurality of classes according to a predetermined classification standard, and probability model information for the encoded data that has already been encoded Storage means;
At the start of encoding of a certain encoding unit, referring to the class classification information storage means, using the probability model information of the encoded target data that belongs to the same class as the target data to be encoded, A context table initial value setting means for initializing the context table;
The encoding target data is encoded according to the probability model information of the context table initialized by the context table initial value setting means, the probability model information of the context table is updated according to the encoding result, and the updated A context adaptive entropy encoding device, comprising: encoding means for writing the probability model information to the class classification information storage means.
復号対象となるブロックまたはシンボルの復号対象データを,あらかじめ定められた分類基準に従って複数のクラスに分類した情報と,復号済みの復号対象データに対する確率モデル情報とを記憶するクラス分類情報記憶手段を参照し,ある復号単位の復号開始時に,これから復号する復号対象データと同一のクラスに属する復号済みの復号対象データの確率モデル情報を用いて,コンテクストテーブルを初期化するコンテクストテーブル初期値設定過程と,
前記コンテクストテーブル初期値設定過程によって初期化されたコンテクストテーブルが持つ確率モデル情報に従って復号対象データを復号し,その復号結果に従って前記コンテクストテーブルが持つ確率モデル情報を更新するとともに,その更新された確率モデル情報を前記クラス分類情報記憶手段に書き出す復号過程とを有する
ことを特徴とするコンテクスト適応エントロピ復号方法。 In a context adaptive entropy decoding method for entropy decoding decoding target data using a context table holding probability model information that models a conditional occurrence probability of a decoding target symbol,
Refers to the class classification information storage means for storing information obtained by classifying decoding target data of a block or symbol to be decoded into a plurality of classes according to a predetermined classification criterion and probability model information for the decoded decoding target data A context table initial value setting process for initializing a context table using probability model information of decoded decoding target data belonging to the same class as the decoding target data to be decoded at the start of decoding of a certain decoding unit;
The decoding target data is decoded according to the probability model information of the context table initialized by the context table initial value setting process, the probability model information of the context table is updated according to the decoding result, and the updated probability model A context adaptive entropy decoding method, comprising: a decoding step of writing information to the class classification information storage means.
前記コンテクストテーブル初期値設定過程では,これから復号する復号対象データと同一のクラスに属する復号済みの復号対象データの確率モデル情報を参照する際に,フレーム間予測で参照が指定されたフレームの参照位置情報が示す位置に対応する復号対象データの確率モデル情報を参照する
ことを特徴とするコンテクスト適応エントロピ復号方法。 The context adaptive entropy decoding method according to claim 4,
In the context table initial value setting process, when referring to the probability model information of the decoded decoding target data belonging to the same class as the decoding target data to be decoded, the reference position of the frame for which reference is specified in inter-frame prediction A context adaptive entropy decoding method characterized by referring to probability model information of decoding target data corresponding to a position indicated by information.
復号対象となるブロックまたはシンボルの復号対象データを,あらかじめ定められた分類基準に従って複数のクラスに分類した情報と,復号済みの復号対象データに対する確率モデル情報とを記憶するクラス分類情報記憶手段と,
ある復号単位の復号開始時に,前記クラス分類情報記憶手段を参照し,これから復号する復号対象データと同一のクラスに属する復号済みの復号対象データの確率モデル情報を用いて,コンテクストテーブルを初期化するコンテクストテーブル初期値設定手段と,
前記コンテクストテーブル初期値設定手段によって初期化されたコンテクストテーブルが持つ確率モデル情報に従って復号対象データを復号し,その復号結果に従って前記コンテクストテーブルが持つ確率モデル情報を更新するとともに,その更新された確率モデル情報を前記クラス分類情報記憶手段に書き出す復号手段とを備える
ことを特徴とするコンテクスト適応エントロピ復号装置。 In a context adaptive entropy decoding device that entropy decodes decoding target data using a context table that stores probability model information that models a conditional occurrence probability of a decoding target symbol,
Class classification information storage means for storing information obtained by classifying decoding target data of a block or symbol to be decoded into a plurality of classes according to a predetermined classification criterion, and probability model information for decoded decoding target data;
At the start of decoding of a certain decoding unit, the class classification information storage means is referred to, and the context table is initialized by using the probability model information of decoded decoding target data belonging to the same class as the decoding target data to be decoded. A context table initial value setting means;
The decoding target data is decoded according to the probability model information held by the context table initialized by the context table initial value setting means, the probability model information held by the context table is updated according to the decoding result, and the updated probability model A context adaptive entropy decoding apparatus comprising: decoding means for writing information to the class classification information storage means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009167650A JP5133950B2 (en) | 2009-07-16 | 2009-07-16 | Context adaptive entropy encoding method and apparatus, context adaptive entropy decoding method and apparatus, and program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009167650A JP5133950B2 (en) | 2009-07-16 | 2009-07-16 | Context adaptive entropy encoding method and apparatus, context adaptive entropy decoding method and apparatus, and program thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011024001A true JP2011024001A (en) | 2011-02-03 |
JP5133950B2 JP5133950B2 (en) | 2013-01-30 |
Family
ID=43633671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009167650A Expired - Fee Related JP5133950B2 (en) | 2009-07-16 | 2009-07-16 | Context adaptive entropy encoding method and apparatus, context adaptive entropy decoding method and apparatus, and program thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5133950B2 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012114693A1 (en) * | 2011-02-24 | 2012-08-30 | パナソニック株式会社 | Arithmetic decoding method and arithmetic encoding method |
WO2013002585A3 (en) * | 2011-06-28 | 2013-04-11 | 삼성전자 주식회사 | Method and apparatus for entropy encoding/decoding |
WO2014014251A1 (en) * | 2012-07-16 | 2014-01-23 | 삼성전자 주식회사 | Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus for signaling sao parameter |
JP2015526014A (en) * | 2012-07-02 | 2015-09-07 | サムスン エレクトロニクス カンパニー リミテッド | Video entropy encoding method and apparatus, and video entropy decoding method and apparatus |
KR20180045886A (en) * | 2010-04-05 | 2018-05-04 | 삼성전자주식회사 | Method and apparatus for low complexity entropy encoding/decoding |
PH12017501462A1 (en) * | 2012-06-27 | 2019-01-28 | Sony Corp | Image processing device and method |
CN111465964A (en) * | 2017-10-19 | 2020-07-28 | 交互数字Vc控股公司 | Method and apparatus for encoding/decoding geometry of point cloud representing 3D object |
CN112270198A (en) * | 2020-10-27 | 2021-01-26 | 北京百度网讯科技有限公司 | Role determination method and device, electronic equipment and storage medium |
WO2024104507A1 (en) * | 2022-11-14 | 2024-05-23 | 杭州海康威视数字技术股份有限公司 | Coding method and apparatus, decoding method and apparatus, and device and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007300455A (en) * | 2006-05-01 | 2007-11-15 | Victor Co Of Japan Ltd | Arithmetic encoding apparatus, and context table initialization method in arithmetic encoding apparatus |
JP2008104207A (en) * | 2002-05-02 | 2008-05-01 | Fraunhofer-Ges Zur Foerderung Der Angewandten Forschung Ev | Method and apparatus for coding and decoding binary state, and computer program corresponding thereto |
JP2008312229A (en) * | 2008-07-14 | 2008-12-25 | Mitsubishi Electric Corp | Digital signal coding apparatus, digital signal decoding apparatus, digital signal arithmetic coding method, and digital signal arithmetic decoding method |
JP2009021775A (en) * | 2007-07-11 | 2009-01-29 | Panasonic Corp | Coder and coding method |
-
2009
- 2009-07-16 JP JP2009167650A patent/JP5133950B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008104207A (en) * | 2002-05-02 | 2008-05-01 | Fraunhofer-Ges Zur Foerderung Der Angewandten Forschung Ev | Method and apparatus for coding and decoding binary state, and computer program corresponding thereto |
JP2007300455A (en) * | 2006-05-01 | 2007-11-15 | Victor Co Of Japan Ltd | Arithmetic encoding apparatus, and context table initialization method in arithmetic encoding apparatus |
JP2009021775A (en) * | 2007-07-11 | 2009-01-29 | Panasonic Corp | Coder and coding method |
JP2008312229A (en) * | 2008-07-14 | 2008-12-25 | Mitsubishi Electric Corp | Digital signal coding apparatus, digital signal decoding apparatus, digital signal arithmetic coding method, and digital signal arithmetic decoding method |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180045886A (en) * | 2010-04-05 | 2018-05-04 | 삼성전자주식회사 | Method and apparatus for low complexity entropy encoding/decoding |
JP2017055452A (en) * | 2011-02-24 | 2017-03-16 | サン パテント トラスト | Arithmetic decoding method and arithmetic coding method |
US10462463B2 (en) | 2011-02-24 | 2019-10-29 | Sun Patent Trust | Arithmetic decoding method and arithmetic coding method |
US9319675B2 (en) | 2011-02-24 | 2016-04-19 | Panasonic Intellectual Property Corporation Of America | Arithmetic decoding method and arithmetic coding method |
US10757414B2 (en) | 2011-02-24 | 2020-08-25 | Sun Patent Trust | Arithmetic decoding method and arithmetic coding method |
US9930336B2 (en) | 2011-02-24 | 2018-03-27 | Sun Patent Trust | Arithmetic decoding method and arithmetic coding method |
WO2012114693A1 (en) * | 2011-02-24 | 2012-08-30 | パナソニック株式会社 | Arithmetic decoding method and arithmetic encoding method |
JP2018117363A (en) * | 2011-02-24 | 2018-07-26 | サン パテント トラスト | Arithmetic decoding method and arithmetic coding method |
JP5876030B2 (en) * | 2011-02-24 | 2016-03-02 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | Arithmetic decoding method and arithmetic coding method |
WO2013002585A3 (en) * | 2011-06-28 | 2013-04-11 | 삼성전자 주식회사 | Method and apparatus for entropy encoding/decoding |
US9661326B2 (en) | 2011-06-28 | 2017-05-23 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy encoding/decoding |
PH12017501462A1 (en) * | 2012-06-27 | 2019-01-28 | Sony Corp | Image processing device and method |
US9407936B2 (en) | 2012-07-02 | 2016-08-02 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy coding video and method and apparatus for entropy decoding video |
JP2015526014A (en) * | 2012-07-02 | 2015-09-07 | サムスン エレクトロニクス カンパニー リミテッド | Video entropy encoding method and apparatus, and video entropy decoding method and apparatus |
US9516350B2 (en) | 2012-07-02 | 2016-12-06 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy coding video and method and apparatus for entropy decoding video |
US9426496B2 (en) | 2012-07-02 | 2016-08-23 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy coding video and method and apparatus for entropy decoding video |
US9591333B2 (en) | 2012-07-02 | 2017-03-07 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy coding video and method and apparatus for entropy decoding video |
US9525891B2 (en) | 2012-07-02 | 2016-12-20 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy coding video and method and apparatus for entropy decoding video |
JP2016213895A (en) * | 2012-07-02 | 2016-12-15 | サムスン エレクトロニクス カンパニー リミテッド | Video decoding method and apparatus therefor |
US9787992B2 (en) | 2012-07-16 | 2017-10-10 | Samsung Electronics Co., Ltd. | Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus for signaling SAO parameters |
US10277903B2 (en) | 2012-07-16 | 2019-04-30 | Samsung Electronics Co., Ltd. | Video encoding method and video encoding for signaling SAO parameters |
US10356421B2 (en) | 2012-07-16 | 2019-07-16 | Samsung Electronics Co., Ltd. | Video encoding method and video encoding for signaling SAO parameters |
US10362313B2 (en) | 2012-07-16 | 2019-07-23 | Samsung Electronics Co., Ltd. | Video encoding method and video encoding for signaling SAO parameters |
US10021399B2 (en) | 2012-07-16 | 2018-07-10 | Samsung Electronics Co., Ltd. | Video encoding method and video encoding for signaling SAO parameters |
WO2014014251A1 (en) * | 2012-07-16 | 2014-01-23 | 삼성전자 주식회사 | Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus for signaling sao parameter |
CN111465964A (en) * | 2017-10-19 | 2020-07-28 | 交互数字Vc控股公司 | Method and apparatus for encoding/decoding geometry of point cloud representing 3D object |
CN112270198A (en) * | 2020-10-27 | 2021-01-26 | 北京百度网讯科技有限公司 | Role determination method and device, electronic equipment and storage medium |
WO2024104507A1 (en) * | 2022-11-14 | 2024-05-23 | 杭州海康威视数字技术股份有限公司 | Coding method and apparatus, decoding method and apparatus, and device and storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP5133950B2 (en) | 2013-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5133950B2 (en) | Context adaptive entropy encoding method and apparatus, context adaptive entropy decoding method and apparatus, and program thereof | |
KR102614661B1 (en) | Method for coding/decoding of intra prediction mode and computer readable redording meduim thereof | |
JP7550290B2 (en) | Video Decoding Method | |
RU2666319C1 (en) | Method, device and system for coding and decoding the unit of coding | |
KR101897378B1 (en) | Method and apparatus for encoding or decoding a palette in palette coding mode | |
TW202029765A (en) | Method and apparatuses for coding transform blocks | |
US11006116B2 (en) | Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to picture data | |
JP2018507597A (en) | Pallet predictor initializer when encoding or decoding a self-contained coding structure | |
KR102600727B1 (en) | Binary arithmetic coding using parameterized probability estimation finite state machines | |
CN114615504B (en) | Video decoding method, video encoding method, device and equipment | |
US11695962B2 (en) | Encoding and decoding methods and corresponding devices | |
KR102380579B1 (en) | Method and device for context-adaptive binary arithmetic coding of a sequence of binary symbols representing a syntax element related to video data | |
JP5047244B2 (en) | Context adaptive entropy encoding method and apparatus, context adaptive entropy decoding method and apparatus, and program thereof | |
WO2009107777A1 (en) | Moving image encoding/decoding device | |
GB2534607A (en) | Palette predictor initializer when encoding or decoding self-contained coding structures | |
JP2022538007A (en) | Image data encoding and decoding | |
JP2024159991A (en) | Video Decoding Method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111018 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120710 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120822 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121106 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121108 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151116 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5133950 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |