JP2007074337A - Coding device and method therefor - Google Patents
Coding device and method therefor Download PDFInfo
- Publication number
- JP2007074337A JP2007074337A JP2005258789A JP2005258789A JP2007074337A JP 2007074337 A JP2007074337 A JP 2007074337A JP 2005258789 A JP2005258789 A JP 2005258789A JP 2005258789 A JP2005258789 A JP 2005258789A JP 2007074337 A JP2007074337 A JP 2007074337A
- Authority
- JP
- Japan
- Prior art keywords
- quantization
- quantization parameter
- encoding
- circuit
- coding
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、算術符号化を適用したエンコーダの符号量制御の精度を向上させ、高能率・高画質の符号化を行う符号化装置に関する。 The present invention relates to an encoding apparatus that improves the accuracy of code amount control of an encoder to which arithmetic encoding is applied, and performs encoding with high efficiency and high image quality.
算術符号化は、情報源シンボルの発生確率に応じて情報量を理論限界まで可逆圧縮できる技術である。画像符号化の分野では、JPEG2000規格(ISO/IEC15444)、H.264/MPEG4−AVC規格(非特許文献1参照)等に採用されている。H.264においては、コンテキスト適応算術符号化(CABAC:Context Adaptive Binary Arithmetic Coding)として、シンタックスの確率特性に応じた効率の高い符号化を実現している。 Arithmetic coding is a technique that can reversibly compress the amount of information to the theoretical limit in accordance with the occurrence probability of the information source symbol. In the field of image coding, the JPEG2000 standard (ISO / IEC15444), H.264, etc. H.264 / MPEG4-AVC standard (see Non-Patent Document 1) and the like. H. In H.264, high-efficiency coding according to the probability characteristics of the syntax is realized as context adaptive arithmetic coding (CABAC).
H.264におけるコンテキスト適応算術符号化について、図9を用いて説明する。図9は、算術符号化回路を説明する図である。図9において算術符号化回路140は、2値化回路510、コンテキスト計算回路520、2値算術符号化回路530から構成される。以下、この回路の動作について説明する。
H. The context adaptive arithmetic coding in H.264 will be described with reference to FIG. FIG. 9 is a diagram for explaining the arithmetic coding circuit. In FIG. 9, the
フラグ等の符号化情報や変換係数データといった多値入力データ501に対し、2値化回路510が2値化を行う。2値化は、制御情報502から入力データの種類であるシンタックスエレメント(syntax element)を判別し、データの確率特性によって、ユーナリー・バイナライゼーション(unary binarization)や固定長バイナライゼーション(fixed−length binarization)といった複数の方式を使い分ける。2値算術符号化回路530は2値化されたバイナリ列503を算術符号化し、バイナリ列509を出力する。
A
コンテキスト計算回路520は、シンタックスエレメントを示す制御情報502に基づいて、バイナリ列503における現在の1ビットを符号化するために用いるコンテキストインデックス(ctxIdx)の値を、規格で定められた表1より求める。
Based on the
表1より、ctxIdxは0から459までの460個の値を取りうる。1個のシンタックスエレメントに対して、スライスタイプによりctxIdxの選択が異なる。また、例えばスライスタイプIにおけるmb_field_decoding_flagのctxIdxが70−72となっているように、ctxIdxの値が複数個存在するシンタックスエレメントに対しては、シンタックスエレメント毎に決められた規則(非特許文献1参照)によってctxIdxの値が複数個の中から一意に決定される。 From Table 1, ctxIdx can take 460 values from 0 to 459. For one syntax element, the selection of ctxIdx differs depending on the slice type. In addition, for a syntax element in which a plurality of ctxIdx values exist, for example, ctxIdx of mb_field_decoding_flag in slice type I is 70-72, a rule determined for each syntax element (non-patent literature) 1), the value of ctxIdx is uniquely determined from a plurality of values.
コンテキスト計算回路520は、460個のctxIdxの値毎に発生確率情報を初期化して記憶する。発生確率情報とは、バイナリシンボル0又は1のうち発生確率の高い方のシンボルを示すMPSと、発生確率pStateの組である。求められたctxIdxの値に対応した発生確率情報を、コンテキスト情報504と呼ぶことにする。
The
コンテキスト計算回路520は、コンテキスト情報504を生成して2値算術符号化回路530に入力する。このように、算術符号化を行うシンタックスエレメントによって2値算術符号化回路530に入力されるシンボルの発生確率つまりコンテキスト情報504が適応的に切り替わることにより、バイナリシンボルの発生確率が動的に変わるバイナリ列503に対して、最適な算術符号化が可能となる。
The
2値算術符号化回路530の動作について、図10を用いて説明する。図10において、シンボル0の発生確率が0.75(2進数で0.11)、シンボル1の発生確率が0.25の情報源から{0,0,0,1}のバイナリ列が入力された場合を考える。この場合、現在のコンテキスト情報504は、発生確率の高い方のシンボルを示すMPS=0、発生確率pState=0.11で表される。pStateは、正規化された整数値で表現されるが、ここでは簡単のため2進数の確率値とする。コンテキスト情報504は、今回の2値算術符号化により更新され、コンテキスト計算回路520に戻される。コンテキスト計算回路520では、対応するctxIdxの発生確率情報を更新する。この値は、次回に同じコンテキストの符号化が行われる時に再利用される。
The operation of the binary
図10において、1個目の入力バイナリ値0が入力されると、[0,1]の区間が確率0.11で区切られる0側に区間が狭められ、[0,0.11]になる。2個目の入力0が入力されると、[0,0.11]の区間が[0,0.1001]に狭められる。ここで、0.1001=0.11*0.11である。同様にして、3個目の入力0により区間が[0,0.011011]になる。4個目の入力1は、1側の区間に狭められるため、最終的な区間が[0.01010001,0.011011]に狭められる。ここで、この最終的な区間に含まれる値のうち、最短の語長を持つものが符号語となる。0.011は、この区間に含まれるので、小数点以下の011が出力バイナリ列となり、4ビットの入力値が3ビットに圧縮されたことになる。実際には、出力するビット(0もしくは1)が確定した時点で確率値の左ビットシフトを行うリノーマライゼーション(renormalization)と呼ばれる処理が行われる。
動画像符号化においては、特定のビットレートの条件下で画質を最大限に高めるため、各マクロブロックを符号化する際の量子化幅を決定するための量子化パラメータを適切に制御して、符号量制御を行う必要がある。そのためには、現在のマクロブロックまたはフレームに対してどの程度の量子化パラメータで符号化すればどの程度の符号量が得られるか、という符号量予測を行うことが必須であり、様々な方式が用いられている。 In moving picture coding, in order to maximize the image quality under a specific bit rate condition, appropriately control the quantization parameter for determining the quantization width when coding each macroblock, It is necessary to perform code amount control. For this purpose, it is essential to perform code amount prediction such as how much code amount can be obtained by encoding with the current macroblock or frame with various quantization parameters. It is used.
そのための基本的な方式として、マクロブロックやフレームといった単位で一度ある量子化パラメータで仮符号化を行って発生符号量を測定した後に、符号化するための最適な量子化パラメータを算出する方式がある。例えば、リアルタイムエンコーダにおいて、1フレームの遅延を行って、1フレームの仮符号化を行った後に符号化を行う場合がある。また、フレームより小さいスライスといった単位で仮符号化と符号化を繰り返すこともできる。リアルタイムエンコーダでない場合には、GOP(Group Of Pictures)やシーケンス全体といったより大きな単位で実施する2パスエンコードと呼ばれる符号化を行うことができる。 As a basic method for that purpose, there is a method for calculating an optimal quantization parameter for encoding after performing temporary encoding with a quantization parameter once in units such as a macroblock and a frame and measuring a generated code amount. is there. For example, in a real-time encoder, there is a case where encoding is performed after a delay of one frame and a provisional encoding of one frame. Also, provisional encoding and encoding can be repeated in units such as slices smaller than a frame. If it is not a real-time encoder, encoding called 2-pass encoding performed in larger units such as GOP (Group Of Pictures) or the entire sequence can be performed.
しかし、算術符号化を用いた場合の符号量制御において、ある量子化パラメータで仮符号化を行って算術符号化後の発生符号量を取得した後に、改めて設定した量子化パラメータで符号化を行う場合、量子化パラメータの変更によりシンボルの確率分布が仮符号化のときと異なってしまうので、符号量予測が精度よく行えないという課題があった。 However, in code amount control when arithmetic coding is used, provisional coding is performed with a certain quantization parameter to obtain a generated code amount after arithmetic coding, and then coding is performed with a newly set quantization parameter. In this case, since the probability distribution of the symbol differs from that in the temporary encoding due to the change of the quantization parameter, there is a problem that the code amount prediction cannot be performed with high accuracy.
本発明はこのような課題に鑑み、算術符号化を適用した符号化装置の符号量制御の精度を向上させることを目的とする。 In view of such a problem, an object of the present invention is to improve the accuracy of code amount control of an encoding device to which arithmetic encoding is applied.
上記課題を解決するために本発明の符号化装置は、信号を符号化するための符号化装置であって、入力された信号を直交変換して係数データを出力する直交変換回路と、係数データを量子化するための量子化回路と、量子化回路で量子化するための量子化パラメータを生成する量子化制御回路と、量子化回路で量子化されたデータに対して量子化パラメータに基づいて算術符号化を行う算術符号化回路とを有し、仮符号化時において、量子化制御回路は、量子化パラメータとして仮量子化パラメータを複数の代表量子化パラメータから選択することにより生成し、算術符号化回路は、仮量子化パラメータに基づいて係数データの発生確率を示す情報を含むコンテキスト情報を選択し、コンテキスト情報に基づいて算術符号化を行うと共に算術符号化したデータの発生符号量を算出し、符号化時において、量子化制御回路は、仮量子化パラメータ、発生符号量及び符号化時に与えるべき所定の符号量に基づいて量子化パラメータとしての最適量子化パラメータを生成し、算術符号化回路は、最適量子化パラメータ及び所定のコンテキスト情報に基づいて算術符号化を行う構成とした。 In order to solve the above-described problems, an encoding apparatus according to the present invention is an encoding apparatus for encoding a signal, an orthogonal transform circuit that orthogonally transforms an input signal and outputs coefficient data, and coefficient data A quantization circuit for quantizing the data, a quantization control circuit for generating a quantization parameter for quantization by the quantization circuit, and a data quantized by the quantization circuit based on the quantization parameter An arithmetic encoding circuit that performs arithmetic encoding, and at the time of provisional encoding, the quantization control circuit generates the arithmetic by selecting the provisional quantization parameter as a quantization parameter from a plurality of representative quantization parameters, The encoding circuit selects context information including information indicating the probability of occurrence of coefficient data based on the temporary quantization parameter, performs arithmetic encoding based on the context information, and performs arithmetic The generated code amount of the encoded data is calculated, and at the time of encoding, the quantization control circuit determines the optimum quantization parameter based on the temporary quantization parameter, the generated code amount and a predetermined code amount to be given at the time of encoding. The quantization parameter is generated, and the arithmetic coding circuit is configured to perform arithmetic coding based on the optimum quantization parameter and predetermined context information.
本発明によれば、様々な量子化パラメータに対する予測符号量の精度を高め、算術符号化を適用したリアルタイムエンコーダの符号量制御の精度を向上させることが可能となるので、高能率・高画質の符号化を行う符号化装置を実現することが可能となる。 According to the present invention, it is possible to improve the accuracy of the prediction code amount for various quantization parameters and improve the accuracy of the code amount control of a real-time encoder to which arithmetic coding is applied. An encoding apparatus that performs encoding can be realized.
以下、本発明の実施の形態について、図面を参照しながら説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(実施の形態1)
本発明の実施の形態1による映像符号化装置の例を図1に示す。図1において、映像符号化装置100は、直交変換回路としてのDCT回路110、逆DCT回路111、量子化回路120、逆量子化回路121、適応量子化制御回路130、コンテキスト選択回路131、算術符号化回路140、イントラ予測回路150、インター予測回路160、動き予測回路161、デブロックフィルタ回路170から構成される。以上のように構成された映像符号化装置について、以下その動作を説明する。
(Embodiment 1)
An example of a video encoding apparatus according to
最初に、映像符号化の流れについて図1を用いて説明する。まず、フレーム内のデータのみで復号可能となるイントラマクロブロックの符号化について説明する。マクロブロックとは、通常16x16画素のブロックであり、後述するDCT変換やイントラ予測の単位となるブロックを複数個含む。入力されたディジタル映像信号101において符号化対象のマクロブロックの各画素値は、イントラ予測回路150において作成された符号化対象のマクロブロックの画素予測値と、画素毎の差分値が計算され、16x16画素の差分値のブロックが生成される。
First, the flow of video encoding will be described with reference to FIG. First, encoding of an intra macroblock that can be decoded only with data in a frame will be described. The macro block is a block of 16 × 16 pixels in general, and includes a plurality of blocks serving as units of DCT conversion and intra prediction described later. For each pixel value of the macroblock to be encoded in the input digital video signal 101, the pixel prediction value of the macroblock to be encoded created in the
次に、差分値のブロックに対してDCT回路110にてDCT変換が行われる。この処理は、通常4x4画素や8x8画素のブロック単位に行われ、周波数成分の係数データが出力される。係数データは量子化回路120に入力されて量子化される。量子化された係数データは、算術符号化回路140により算術符号化される。さらに、量子化後の係数データは逆量子化回路121と逆DCT回路111にて復号され、前記マクロブロックの画素予測値との画素ごとの加算が行われ、16x16画素の復号画素に変換される。得られた復号画素は、イントラ予測回路150に入力される。イントラ予測回路150では、後に符号化される周辺のマクロブロックのための画素予測値が作成される。
Next, DCT conversion is performed on the difference value block by the
次に、フレーム間の予測を用いるインターマクロブロックの符号化について説明する。動き予測回路161では、現在符号化するブロック(動き補償の単位となるブロック)と参照フレームの画素とのマッチング処理を行い、誤差が最小となるようなベクトル値が算出される。動き予測の結果に基づいてインター予測回路160が出力した、符号化対象のマクロブロックの画素予測値と、映像信号101における符号化対象のマクロブロックの画素値との差分値が計算され、DCT回路110に入力される。この後の処理は、基本的にイントラマクロブロックの符号化と同様である。逆DCT回路111にて復号された係数は、前記マクロブロックの画素予測値との画素ごとの加算が行われる。得られた復号画素は、視覚的なブロック歪みの低減のためにデブロックフィルタ回路170経由でインター予測回路160に入力する場合が多い。
Next, encoding of an inter macroblock using inter-frame prediction will be described. The
本発明は、符号量予測を行う「仮符号化」と、最終的な出力のための符号化を行う「符号化」の2種類のフェーズから構成される。この2種類のフェーズを図1の映像符号化装置で実現する方法を、図2を用いて説明する。図2において、量子化幅を制御するための量子化パラメータを与えることのできる最小単位の個数をNとし、N個の最小単位の集合を動作単位と呼ぶ。通常は最小単位をマクロブロックとする。Nは任意の自然数とすることができる。Nは例えば、1個のスライスを構成するマクロブロック数、1フレームを構成するマクロブロック数、Mフレーム(Mは2以上の自然数)を構成するマクロブロック数などに設定することができる。後述するが、本実施の形態では動作単位を1スライスとして説明する。すなわちNとしては、1スライスを構成するマクロブロックの個数を採用する。図2のように動作単位毎に、0番目からN−1番目のマクロブロックまでのN回の仮符号化を行った後、0番目からN−1番目のマクロブロックまでのN回の符号化を行う。以降、この動作を繰り返す。 The present invention includes two types of phases, “provisional encoding” for performing code amount prediction and “encoding” for performing encoding for final output. A method of realizing these two types of phases with the video encoding device of FIG. 1 will be described with reference to FIG. In FIG. 2, the minimum number of units that can provide a quantization parameter for controlling the quantization width is N, and a set of N minimum units is called an operation unit. Usually, the minimum unit is a macroblock. N can be any natural number. N can be set to, for example, the number of macroblocks constituting one slice, the number of macroblocks constituting one frame, the number of macroblocks constituting M frame (M is a natural number of 2 or more), and the like. As will be described later, in this embodiment, the operation unit is described as one slice. That is, as N, the number of macroblocks constituting one slice is employed. As shown in FIG. 2, after performing N times of temporary encoding from the 0th to the (N-1) th macroblock for each operation unit, N times of encoding from the 0th to the (N-1) th macroblock are performed. I do. Thereafter, this operation is repeated.
図2における仮符号化#n(0≦n≦N−1)の動作を、図3を用いて説明する。図3は、図1の映像符号化装置の主要部分を抜き出したものである。DCT回路110から出力された1マクロブロック分の係数データ180が量子化回路120に入力されると、適応量子化制御回路130が決定した仮量子化パラメータQP1(n)181を量子化回路120に入力する。仮量子化パラメータQP1(n)181の決定方法については後述する。量子化回路120は、与えられた仮量子化パラメータQP1(n)181で量子化を行う。量子化された係数データ184は、算術符号化回路140bに入力される。算術符号化回路140bは、コンテキスト選択回路131より仮量子化パラメータQP1(n)181の値と1対1に対応したコンテキスト選択情報183を受け取り、算術符号化を行い、バイナリ列191を出力する。Q種類(Qは自然数)の仮量子化パラメータQP1(n)181を用いる場合、コンテキスト選択情報183は、0からQ−1までの整数値とすることができる。1マクロブロックに対する算術符号化によって出力されたバイナリ列191の長さ(ビット数)を示す発生符号量R1(n)182は、適応量子化制御回路130に入力される。
The operation of provisional encoding #n (0 ≦ n ≦ N−1) in FIG. 2 will be described with reference to FIG. FIG. 3 shows the main part of the video encoding apparatus shown in FIG. When the
本発明による算術符号化回路140bを図15に示す。算術符号化回路140bは、図9の算術符号化回路140のコンテキスト計算回路520を、量子化パラメータ適応コンテキスト計算回路521で置き換えたものである。量子化パラメータ適応コンテキスト計算回路521は、460個のコンテキストインデックスctxIdx及びQ種類(Qは自然数)の量子化パラメータの組み合わせ毎に、合計で460×Q個の発生確率情報を記憶する。量子化パラメータ適応コンテキスト計算回路521は、制御情報502から計算したctxIdxと、コンテキスト選択情報183を受け取り、記憶している460×Q個の発生確率情報の中から、ctxIdx及びコンテキスト選択情報の値に対応したコンテキスト情報504を出力する。
An
以上のように出力されたコンテキスト情報504は、算術符号化回路140bに多値入力データ501として入力された係数データ184を符号化する際に、2値算術符号化回路530において参照される。つまり、係数データ184の算術符号化において、量子化パラメータにより異なる発生確率情報を参照していることになる。
The
次に、図2における符号化#n(0≦n≦N−1)の動作を、図4を用いて説明する。図4は、図1の映像符号化装置の主要部分を抜き出したものである。仮符号化後の発生符号量R1(n)182を入力された適応量子化制御回路130は、仮量子化パラメータQP1(n)181、発生符号量R1(n)182と、N個のマクロブロックに与えるべき符号量Tに基づいて、最適量子化パラメータQP2(n)185を算出して量子化回路120に入力する。QP2(n)185は、制御の状況などにより量子化回路120に入力される前に値を修正される場合もある。量子化回路120は、与えられた最適な量子化パラメータQP2(n)185で量子化を行う。量子化された係数データ187は算術符号化回路140bに入力される。符号化#nにおいて、コンテキスト選択回路131は動作しない。仮符号化とは異なり、算術符号化回路140bに入力されるコンテキスト選択情報183は常に固定であり、算術符号化回路140bは算術符号化回路140と同じ動作をする。算術符号化における発生符号量R2(n)186の値は、現在までの累積発生符号量として、最適量子化パラメータQP2(n)の値の修正に用いるため、適応量子化制御回路130に入力される。
Next, the operation of encoding #n (0 ≦ n ≦ N−1) in FIG. 2 will be described with reference to FIG. FIG. 4 shows the main part of the video encoding apparatus shown in FIG. The adaptive
図3の仮符号化の具体例を、図5のような1920x1080画素の1フレームの符号化においてスライス単位に最適な量子化パラメータを算出する例を用いて説明する。1920x1080画素のフレームは、16x16画素のマクロブロックが120x68=8160個で構成される。フレームを分割するスライスは、任意の連続したマクロブロックの集合として定義できるが、例えば1個のスライスが2040個のマクロブロックを含み、1フレームが4個のスライスで構成される場合を考える。この場合、N=2040と設定できる。 A specific example of provisional encoding in FIG. 3 will be described using an example in which an optimum quantization parameter is calculated for each slice in encoding of one frame of 1920 × 1080 pixels as shown in FIG. A frame of 1920 × 1080 pixels is composed of 120 × 68 = 8160 macroblocks of 16 × 16 pixels. A slice that divides a frame can be defined as a set of arbitrary continuous macroblocks. For example, a case where one slice includes 2040 macroblocks and one frame includes four slices is considered. In this case, N = 2040 can be set.
まず、仮量子化パラメータQP1(n)を決定する。仮量子化パラメータは、マクロブロック毎に複数の候補の中からひとつを選択して設定される。すなわち1個のマクロブロックに対する仮量子化パラメータQP1(n)は、任意の異なるQ種類の代表量子化パラメータqp1(x)(x=0,1,…,Q−1)から1個を選んで、当該マクロブロックの仮量子化パラメータQP1(n)に設定することで決定できる。例えば、0と20の2種類の代表量子化パラメータqp1(x)={0,20}を与える場合を考える。ここで、F(x)={A0,A1,…,AQ-1}(Anは整数)の表記は、F(0)=A0、F(1)=A1、…F(Q−1)=AQ-1を意味するものとする。各マクロブロックの仮量子化パラメータは、これら2種類のうちのいずれかを選択することになる。また、2種類の代表量子化パラメータの選択頻度は等しくなるようにする。この場合、半分のマクロブロックに量子化パラメータ0を、残り半分のマクロブロックに量子化パラメータ20を与える。また、仮量子化パラメータがスライス内で偏るのを防ぐため、スライス内に交互又はランダムに仮量子化パラメータを配置する。図5の例のように、プログレッシブにおいては通常のラスタスキャン順に交互に、インターレースではマクロブロックの対毎に交互に仮量子化パラメータを与えることができる。
First, the temporary quantization parameter QP 1 (n) is determined. The temporary quantization parameter is set by selecting one of a plurality of candidates for each macroblock. That is, the provisional quantization parameter QP 1 (n) for one macroblock is obtained by changing one of arbitrary different Q kinds of representative quantization parameters qp 1 (x) (x = 0, 1,..., Q−1). This can be determined by selecting and setting the provisional quantization parameter QP 1 (n) of the macroblock. For example, consider a case where two types of representative quantization parameters qp 1 (x) = {0, 20}, 0 and 20, are given. Here, the notation of F (x) = {A 0 , A 1 ,..., A Q-1 } (A n is an integer) is F (0) = A 0 , F (1) = A 1 ,. (Q-1) = A It shall mean Q-1 . One of these two types is selected as the provisional quantization parameter for each macroblock. Also, the selection frequencies of the two types of representative quantization parameters are made equal. In this case, the
仮符号化における代表量子化パラメータqp1(x)の種類Qと、値qp1(x)(x=0,1,…,Q−1)の決定方法について、図6を用いて説明する。適応量子化制御回路130が仮符号化のために用いる代表量子化パラメータの種類Qは、2040の約数、又はインターレースの符号化を行うためマクロブロックを対にする場合は1020の約数とすることができる。このように代表量子化パラメータの種類Qを設定すれば、スライス内で任意の代表量子化パラメータが出現する回数を一定にできる。例えばプログレッシブの場合、Qとしては2040の約数である5、10、20が選択できる。これらの場合、1個のスライス内における各代表量子化パラメータの出現回数はそれぞれ408回、204回、102回となる。
A method for determining the type Q of the representative quantization parameter qp 1 (x) and the value qp 1 (x) (x = 0, 1,..., Q−1) in provisional encoding will be described with reference to FIG. The representative quantization parameter type Q used by the adaptive
代表量子化パラメータqp1(x)としては、エンコーダで選択できる量子化パラメータの範囲から異なる値をQ個選択するが、最適な符号化のための符号量予測が行い易くなるように、値を適度に分散させるのが好ましい。例えば、エンコーダで選択できる量子化パラメータQPが0から51の範囲である場合、一例として、Q=10、qp1(x)={0,4,8,12,16,22,28,34,42,51}を選択することができる。また、前もってフレームの符号化難易度や目標符号量の情報から、符号化時の量子化パラメータQP2(n)を任意の範囲に制限できる場合には、制限された範囲内でより細かい間隔で代表量子化パラメータqp1(x)を選択することが可能である。例えば、量子化パラメータQP2(n)として0から31までしか用いないことを決定している場合は、一例として、Q=10、qp1(x)={0,3,6,9,12,15,19,23,27,31}を選択することができる。 Representative quantization parameter qp 1 (x), so that a different value from a range of quantization parameters that can be selected by the encoder will be Q pieces selected, facilitated the code amount prediction for the optimum coding, the value It is preferable to disperse appropriately. For example, when the quantization parameter QP that can be selected by the encoder is in the range of 0 to 51, as an example, Q = 10, qp 1 (x) = {0, 4, 8, 12, 16, 22, 28, 34, 42, 51} can be selected. In addition, when the quantization parameter QP 2 (n) at the time of encoding can be limited to an arbitrary range from information on the encoding difficulty level of the frame and the target code amount in advance, at a finer interval within the limited range. It is possible to select the representative quantization parameter qp 1 (x). For example, when it is determined that only 0 to 31 are used as the quantization parameter QP 2 (n), as an example, Q = 10, qp 1 (x) = {0, 3, 6, 9, 12 , 15, 19, 23, 27, 31} can be selected.
仮量子化パラメータQP1(n)(n=0,1,…,N−1)をqp1(x)(x=0,1,…,Q−1)の中から選択する方法を説明する。この選択方法は、スライス内で代表量子化パラメータが分散して配置されるように設定された、nの値からxの値への写像の式で実現することができる。写像の式の好ましい例として、プログレッシブの場合は数式1を、インターレースの場合は数式2を用いることができる。
x=((n%mb_width)+d(n))%Q (数式1)
x=(((n/2)%mb_width)+d(n))%Q (数式2)
但し、演算A%Bは、整数Aを整数Bで割った剰余を与える演算である。また、nは現在符号化しているマクロブロック番号である。nは、スライス単位またはフレーム単位で0にリセットする。演算A/Bは、整数Aを整数Bで割った商を与える演算である。mb_widthは水平方向のマクロブロック数であり、図5の例では120である。d(n)は垂直方向の分散配置を行うための変数で、例えばプログレッシブの場合は数式3で、インターレースの場合は数式4で定義できる。
d(n)=((n/mb_width)*a)%Q (数式3)
d(n)=(((n/2)/mb_width)*a)%Q (数式4)
但し、aはQと互いに素になる整数である。このd(n)により、mb_width%Q=0となるQを選択している場合、代表量子化パラメータの並びが1ライン進む毎に(Q−a)個だけ右にシフトされる。図6の例ではa=7であり、1ライン進む毎に水平方向にQ−a=10−7=3マクロブロックずつQP1(n)の値がずれているのが確認できる。
A method of selecting the temporary quantization parameter QP 1 (n) (n = 0, 1,..., N−1) from qp 1 (x) (x = 0, 1,..., Q−1) will be described. . This selection method can be realized by a formula of mapping from the value of n to the value of x set so that representative quantization parameters are distributed and arranged in the slice. As a preferable example of the mapping formula,
x = ((n% mb_width) + d (n))% Q (Formula 1)
x = ((((n / 2)% mb_width) + d (n))% Q (Formula 2)
However, the operation A% B is an operation that gives a remainder obtained by dividing the integer A by the integer B. N is a macroblock number currently encoded. n is reset to 0 in slice units or frame units. The operation A / B is an operation that gives a quotient obtained by dividing the integer A by the integer B. mb_width is the number of macroblocks in the horizontal direction, and is 120 in the example of FIG. d (n) is a variable for performing the vertical dispersive arrangement, and can be defined by, for example, Expression 3 for progressive and
d (n) = ((n / mb_width) * a)% Q (Formula 3)
d (n) = (((n / 2) / mb_width) * a)% Q (Formula 4)
However, a is an integer which is relatively prime to Q. When Q that satisfies mb_width% Q = 0 is selected by d (n), the sequence of representative quantization parameters is shifted to the right by (Q−a) each time one line advances. In the example of FIG. 6, a = 7, and it can be confirmed that the value of QP 1 (n) is shifted by Qa = 10 −7 = 3 macroblocks in the horizontal direction every time one line is advanced.
図4の符号化における最適量子化パラメータQP2(n)の算出方法を、図7の具体例を用いて説明する。まず、2040個のマクロブロックを含むスライス1個を、仮量子化パラメータを使用して仮符号化する。次に、同じ代表量子化パラメータqp1(x)を使用して仮符号化されたマクロブロック毎に発生符号量R1(n)の総和を取り、スライス予測符号量r1(x)とする。qp1(x)={0,4,8,12,16,22,28,34,42,51}(x=0,1,…,9)の各々に対し、発生符号量R1(n)(n=0,1,…,N−1)を代表量子化パラメータ毎に総和を取った結果であるスライス予測符号量r1(x)がr1(x)={171248,120058,79390,56516,40760,24026,14864,7966,4742,2572}であるとする。ここで、例えばr1(0)=171248は以下のマクロブロックに対する符号量を加算することで求めることができる。mb_width=1920画素/16画素=120、a=7として、数式1及び数式3は、x=((n%120)+d(n))%10、d(n)=((n/120)*7)%10となる。よって、代表量子化パラメータqp1(0)=0を使用して仮符号化したマクロブロック、すなわちn=0,10,20,…,110,123,133,…,233,246,256,…,356,…,1928,1938,…,2038のマクロブロックに対する発生符号量R1(n)を合計した結果が、171248であったと仮定していることになる。また、ビットレート、フレームレート、フレームの複雑度、スライスの符号化タイプなどの情報を用いて割り当てたスライスの目標符号量T=300000ビットを仮定する。
A method of calculating the optimum quantization parameter QP 2 (n) in the encoding of FIG. 4 will be described using a specific example of FIG. First, one slice including 2040 macroblocks is provisionally encoded using provisional quantization parameters. Next, the sum of the generated code amount R 1 (n) is calculated for each macroblock temporarily encoded using the same representative quantization parameter qp 1 (x) to obtain a slice prediction code amount r 1 (x). . qp 1 (x) = {0, 4, 8, 12, 16, 22, 28, 34, 42, 51} (x = 0, 1,..., 9), the generated code amount R 1 (n ) (n = 0,1, ..., n-1) is the result of taking the sum for each representative quantization parameter slice prediction code amount r 1 (x) is r 1 (x) = {171248,120058,79390 , 56516, 40760, 24026, 14864, 7966, 4742, 2572}. Here, for example, r 1 (0) = 171248 can be obtained by adding code amounts for the following macroblocks. Assuming that mb_width = 1920 pixels / 16 pixels = 120 and a = 7,
最初に、qp1(x)とr1(x)から、量子化パラメータQPとスライス予測符号量の関係を図7のように座標軸にプロットすることができる。r1(x)は、各x=QPに対して204個ずつのマクロブロックの発生符号量の総和になっているから、各QPに対するスライス予測符号量は、r1(x)を10倍することで求められる。また、QP値をプロットした後にQP値を線形補間して全てのQP値(0≦QP≦51)に対するスライス予測符号量のグラフを作成することができる。 First, from qp 1 (x) and r 1 (x), the relationship between the quantization parameter QP and the slice prediction code amount can be plotted on the coordinate axes as shown in FIG. Since r 1 (x) is the sum of generated code amounts of 204 macroblocks for each x = QP, the slice prediction code amount for each QP is 10 times r 1 (x). Is required. In addition, after plotting the QP value, the QP value can be linearly interpolated to create a graph of the slice prediction code amount for all the QP values (0 ≦ QP ≦ 51).
スライスの目標符号量T=300000とこのグラフの交点を求めることで、目標符号量を発生するのに最適な量子化パラメータQP2(n)=QPopt(0≦n≦2039)を求めることができる。QPoptの算出は、線形補間により、数式5で求められる。
QPopt=q+(QP1(q+1)−QP1(q))*(Q*r1(q)−T)/(Q*r1(q)−Q*r1(q+1)) (数式5)
但し、qは0≦q≦Q−1の整数であり、Q*r1(q+1)≦T≦Q*r1(q)を満たす値とする。ここでは、1スライスを通じてひとつの最適量子化パラメータを使用することとしている。また、すべてのqに対しT>Q*r1(q)となる場合はq=0、すべてのqに対しT<Q*r1(q)となる場合はq=Q−1とする。このため、あらかじめ仮量子化パラメータとしてQP1(0)=min(QP)=0、QP1(Q−1)=max(QP)=51としておくのが望ましい。
By obtaining the target code amount T = 300,000 of the slice and the intersection of this graph, the optimum quantization parameter QP 2 (n) = QP opt (0 ≦ n ≦ 2039) for generating the target code amount can be obtained. it can. The calculation of QP opt is obtained by Equation 5 by linear interpolation.
QP opt = q + (QP 1 (q + 1) −QP 1 (q)) * (Q * r 1 (q) −T) / (Q * r 1 (q) −Q * r 1 (q + 1)) (Formula 5 )
However, q is an integer of 0 ≦ q ≦ Q−1 and is a value satisfying Q * r 1 (q + 1) ≦ T ≦ Q * r 1 (q). Here, one optimal quantization parameter is used throughout one slice. Also, q = 0 when T> Q * r 1 (q) for all q, and q = Q−1 when T <Q * r 1 (q) for all q. For this reason, it is desirable to set QP 1 (0) = min (QP) = 0 and QP 1 (Q−1) = max (QP) = 51 in advance as temporary quantization parameters.
数式5を用いて、QPoptは、QPopt=16+(22−16)*(407600−300000)/(407600−240260)≒19.9となる。量子化パラメータは整数であるので、20を最適量子化パラメータQP2(n)とする。なお、小数点以下の値によっては小さい側の値19を選択する場合もある。 Using Equation 5, QP opt is QP opt = 16 + (22−16) * (407600−300000) / (407600−240260) ≈19.9. Since the quantization parameter is an integer, 20 is set as the optimum quantization parameter QP 2 (n). Depending on the value after the decimal point, the smaller value 19 may be selected.
本発明により符号量予測精度が向上する理由について説明する。仮符号化では、マクロブロック単位等の短い周期で仮量子化パラメータを変化させることで精度の高い符号量予測を行うことが可能となる。しかし従来の算術符号化回路140を仮符号化に用いた場合には、以下の問題がある。DCT変換による係数データのシンボルの確率分布は、量子化パラメータにより大きく異なる。これは例えば、大きな量子化パラメータで量子化した場合に係数データにゼロが出現する確率が高くなるが、小さな量子化パラメータではゼロが出現しにくくなることからわかる。よって、仮符号化においてN個のマクロブロックをQ種類の量子化パラメータで符号化する場合、様々な確率分布の量子化パラメータに対して状態遷移を行って得た発生符号量は、画像符号化として望ましい1種類の量子化パラメータで常に符号化し続けた場合と比較して誤差が大きくなる傾向がある。なぜなら、1種類の量子化パラメータの場合はある特定の確率をもって状態遷移し続けるからである。この結果、仮符号化と符号化の間で状態遷移の乖離が大きくなってしまう。これに対し本発明の算術符号化回路140bでは、係数データに相当するシンタックスに対してQ種類の代表量子化パラメータqp1(x)(x=0,1,…,Q−1)毎に状態値を保持して更新することにより、仮符号化における算術符号化の状態遷移が1種類の量子化パラメータで常に符号化した場合に近づき、結果として符号量予測精度を向上させることができる。また、符号化時には量子化パラメータによらず同じコンテキスト情報504を使用することで、通常のCABACによる符号化を行うため、符号化規格に合致したストリームを出力することができる。
The reason why the code amount prediction accuracy is improved by the present invention will be described. In provisional encoding, it is possible to perform highly accurate code amount prediction by changing the provisional quantization parameter in a short cycle such as a macroblock unit. However, when the conventional
本実施の形態では、最適量子化パラメータQP2(n)として固定のQPoptを与える例を示したが、例えばQPoptをN個のマクロブロックの符号化に対する初期値として用い、それ以降の量子化パラメータはフィードバック制御による符号量制御を行い、最適量子化パラメータQP2(n)を動的に変更することが可能である。フィードバック制御は、あるマクロブロック番号mにおいて、符号化時の発生符号量R2(n)を0≦n≦mの範囲で加算した累積発生符号量Bと、ある時点(例えばマクロブロック番号N−1)までの目標符号量Tとの差分である残存符号量T−Bを、残存しているマクロブロックn(m<n≦N−1)の目標符号量Sに設定することで行うことができる。また、マクロブロックの輝度値や色差値、周波数領域での特徴等に基づいて量子化パラメータQP2(n)を動的に変更する処理も可能である。 In the present embodiment, an example in which a fixed QP opt is given as the optimum quantization parameter QP 2 (n) has been shown. For example, QP opt is used as an initial value for encoding N macroblocks, and the subsequent quantum The quantization parameter is subjected to code amount control by feedback control, and the optimal quantization parameter QP 2 (n) can be dynamically changed. In the feedback control, in a certain macroblock number m, the generated code amount R 2 (n) at the time of encoding is added within a range of 0 ≦ n ≦ m, and at a certain time (for example, the macroblock number N− The remaining code amount TB, which is the difference from the target code amount T until 1), is set to the target code amount S of the remaining macroblock n (m <n ≦ N−1). it can. In addition, it is possible to dynamically change the quantization parameter QP 2 (n) based on the luminance value and color difference value of the macroblock, the characteristics in the frequency domain, and the like.
本実施の形態では、Nをスライス単位として説明したが、より小さい単位で仮符号化と符号化を行うことで発生符号量R2(n)を得て、その結果を仮量子化パラメータの選択に反映するような場合や、フィードバック制御を小さい単位で行う場合には、数マクロブロック等の小さい単位で実施しても効果的である。Nを固定として説明したが、Nをフレーム単位又はその他の単位で動的に変更することも可能である。また、スライス予測符号量のグラフを線形補間して求める例を示したが、スプライン補間等、高度な数値補間も可能である。 In the present embodiment, N is described as a slice unit. However, the generated encoding amount R 2 (n) is obtained by performing temporary encoding and encoding in smaller units, and the result is selected as a temporary quantization parameter. In the case where it is reflected in the above, or when the feedback control is performed in a small unit, it is effective to implement it in a small unit such as several macroblocks. Although N is described as being fixed, it is also possible to dynamically change N in frame units or other units. Moreover, although the example which calculates | requires by performing the linear interpolation of the graph of a slice prediction code amount was shown, advanced numerical interpolations, such as spline interpolation, are also possible.
本実施の形態では仮符号化を1回のみ行う例を示したが、リアルタイムの符号化が必要でない場合や、仮符号化をパイプライン化又は並列化することにより一定の遅延で多くの処理が行える場合には、仮符号化を何回行っても良い。 In this embodiment, an example in which provisional encoding is performed only once has been shown. However, when real-time encoding is not necessary, or when provisional encoding is pipelined or parallelized, many processes can be performed with a certain delay. If possible, the provisional encoding may be performed any number of times.
本実施の形態では、映像符号化のH.264規格におけるコンテキスト適応算術符号化を例にとって説明したが、量子化された係数データに対して算術符号化を適用でき、量子化パラメータを適応的に変更できる符号化装置又は符号化方法であれば、これに限定されるものではない。 In the present embodiment, H.264 for video coding is used. The context adaptive arithmetic coding in the H.264 standard has been described as an example, but any coding apparatus or coding method that can apply arithmetic coding to quantized coefficient data and adaptively change the quantization parameter can be used. However, the present invention is not limited to this.
本実施の形態を用いて符号化したビットストリームは、テープ、光ディスク、磁気ディスク、半導体メモリといった記録媒体に記録して、高能率・高画質の映像を再配布可能な形式にすることができる。 The bit stream encoded using the present embodiment can be recorded on a recording medium such as a tape, an optical disk, a magnetic disk, or a semiconductor memory, so that a high-efficiency and high-quality video can be redistributed.
(実施の形態2)
本実施の形態は、実施の形態1に対して、仮符号化と符号化を行う回路を独立とした構成を示すものである。
(Embodiment 2)
This embodiment shows a configuration in which a circuit that performs provisional encoding and encoding is independent of the first embodiment.
図8に、本実施の形態における映像符号化装置の構成を示す。映像符号化装置600は、仮符号化回路610、符号化回路620、適応量子化制御回路630、FIFOバッファ640から構成される。仮符号化回路610および符号化回路620は、それぞれが実施の形態1で説明した映像符号化装置100と同等の構成を持つものとする。このように構成された映像符号化装置600について、以下動作を説明する。
FIG. 8 shows the configuration of the video encoding apparatus according to the present embodiment. The
映像信号601が入力されると、仮符号化回路610にてN個のマクロブロックに対する仮符号化が行われる。発生符号量R1(n)は、適応量子化制御回路630に渡される。また映像信号601は、FIFOバッファ640に入力され、N個のマクロブロック分のデータとして保持される。適応量子化制御回路630において最適量子化パラメータQP2(n)の算出が終了すると、遅延された映像信号601がFIFOバッファ640から符号化回路620に入力され、N個のマクロブロックに対して最適量子化パラメータQP2(n)による符号化が行われる。その結果、出力ビットストリーム602を得る。
When the
本実施の形態の利点は、仮符号化と符号化の回路を別とすることにより、図11の効果が得られる点である。図11のように、符号化回路620でマクロブロック#0から#N−1を符号化している時間に、仮符号化回路610で次のN個のマクロブロック#Nから#2N−1に対する仮符号化が行える。よって、リアルタイム動作が可能な符号化回路を2つ接続し、仮符号化回路610の内部にのみ、仮量子化パラメータを与える適応量子化制御回路130と、コンテキスト選択回路131を実装することにより、本実施の形態は容易に実現できる。
The advantage of this embodiment is that the effect of FIG. 11 can be obtained by separating the provisional encoding and encoding circuits. As shown in FIG. 11, at the time when the
(実施の形態3)
本実施の形態は、実施の形態1の構成をソフトウェアで実現するための構成を示すものである。
(Embodiment 3)
The present embodiment shows a configuration for realizing the configuration of the first embodiment with software.
本発明による映像符号化処理を、図12のフローチャートを用いて説明する。映像符号化処理200が開始されると、動作単位を決定する(210)。Nは実施の形態1で説明した通りである。
The video encoding process according to the present invention will be described with reference to the flowchart of FIG. When the
仮量子化パラメータQP1(n)の決定ステップ220では、仮符号化処理230で量子化するための仮量子化パラメータを算出する。具体的には、N個のマクロブロックに対する仮量子化パラメータQP1(n)(n=0,1,…,N−1)を,Q種類の代表量子化パラメータqp1(x)(x=0,1,…,Q−1)の中から割り当てる。決定された仮量子化パラメータQP1(n)に基づいて、マクロブロックの仮符号化処理230をN回繰り返す(261)。
In the
最適量子化パラメータQP2(n)の算出ステップ240では、符号化処理250で量子化するための量子化パラメータを算出する。具体的には、仮符号化処理230における仮量子化パラメータQP1(n)と発生符号量R1(n)(n=0,1,…,N−1)、およびN個のマクロブロックに割り当てるべき目標符号量Tに基づいて、N個のマクロブロックの最適量子化パラメータQP2(n)(n=0,1,…,N−1)を算出する。算出された最適量子化パラメータQP2(n)に基づいて、マクロブロックの符号化処理250をN回繰り返す(262)。最後に、全ての映像データの符号化が完了していれば終了(290)し、完了していなければステップ220の仮量子化パラメータの算出ステップに戻り、次の映像データに対して同じ処理を繰り返す(260)。
In the
仮符号化処理230の動作を、図13のフローチャートを用いて説明する。最初にDCT処理270を行う。仮量子化パラメータQP1(n)による量子化(231)を行った後、QP1(n)に応じて異なる算術符号化のコンテキスト選択(232)を行う。この操作は、特にDCT変換による係数データに相当するシンタックスの算術符号化に際しては、コンテキスト即ち状態値(MPSやpState)を、量子化パラメータQP1(n)∈qp1(x)(x=0,1,…,Q−1)毎に切替えて使用するものである。つまり、CABACが使用するDCT変換による係数データに相当するシンタックスの状態値を、Q種類に増やしてqp1(x)毎に保持し、QP1(n)によって使う状態値を分けることになる。仮符号化における算術符号化(233)を行って発生符号量R1(n)を得る。その後、逆量子化処理272、逆DCT処理271、イントラ予測及びインター予測を含む予測処理280を行って終了(239)する。
The operation of the
符号化処理250の動作を、図14のフローチャートを用いて説明する。最初にDCT処理270を行う。量子化パラメータQP2(n)による量子化(251)を行った後、算術符号化のコンテキスト選択(252)を行う。この操作は、仮符号化処理230において代表量子化パラメータqp1(x)によって異なるコンテキスト情報を用いたのとは異なり、量子化パラメータによって異なるコンテキスト情報を用いることはしない。算術符号化(253)を行って発生符号量R2(n)を得る。その後、逆量子化処理272、逆DCT処理271、イントラ予測及びインター予測を含む予測処理280を行って終了(259)する。
The operation of the
本実施の形態により、実施の形態1をソフトウェアで実現することが可能となる。 According to the present embodiment, the first embodiment can be realized by software.
本発明の符号化装置は、カメラレコーダや録画装置などリアルタイム動作が必要な記録装置に有効である。 The encoding apparatus of the present invention is effective for a recording apparatus that requires real-time operation, such as a camera recorder or a recording apparatus.
100 映像符号化装置
101 映像信号入力
110 DCT回路
111 逆DCT回路
120 量子化回路
121 逆量子化回路
130 適応量子化制御回路
131 コンテキスト選択回路
140 算術符号化回路
150 イントラ予測回路
160 インター予測回路
161 動き予測回路
200 映像符号化処理
210 動作単位Nの決定ステップ
220 仮量子化パラメータQP1(n)の算出ステップ
230 仮符号化処理
231 仮量子化パラメータQP1(n)による量子化ステップ
232 QP1(n)に応じて異なる算術符号化のコンテキスト選択ステップ
233 仮符号化における算術符号化ステップ
240 最適量子化パラメータQP2(n)の算出ステップ
250 符号化処理
251 量子化パラメータQP2(n)による量子化ステップ
252 QP2(n)によらない算術符号化のコンテキスト選択ステップ
253 算術符号化ステップ
DESCRIPTION OF
Claims (13)
入力された前記信号を直交変換して係数データを出力する直交変換回路と、
前記係数データを量子化するための量子化回路と、
前記量子化回路で量子化するための量子化パラメータを生成する量子化制御回路と、
前記量子化回路で量子化されたデータに対して前記量子化パラメータに基づいて算術符号化を行う算術符号化回路とを有し、
仮符号化時において、
前記量子化制御回路は、前記量子化パラメータとして仮量子化パラメータを複数の代表量子化パラメータから選択することにより生成し、
前記算術符号化回路は、前記仮量子化パラメータに基づいて前記係数データの発生確率を示す情報を含む前記コンテキスト情報を選択し、前記コンテキスト情報に基づいて算術符号化を行うと共に算術符号化したデータの発生符号量を算出し、
符号化時において、
前記量子化制御回路は、前記仮量子化パラメータ、前記発生符号量及び符号化時に与えるべき所定の符号量に基づいて前記量子化パラメータとしての最適量子化パラメータを生成し、
前記算術符号化回路は、前記最適量子化パラメータ及び所定のコンテキスト情報に基づいて算術符号化を行うことを特徴とする符号化装置。 An encoding device for encoding a signal,
An orthogonal transform circuit that orthogonally transforms the input signal and outputs coefficient data;
A quantization circuit for quantizing the coefficient data;
A quantization control circuit for generating a quantization parameter for quantization by the quantization circuit;
An arithmetic coding circuit that performs arithmetic coding on the data quantized by the quantization circuit based on the quantization parameter;
At the time of provisional encoding,
The quantization control circuit generates a temporary quantization parameter as the quantization parameter by selecting from a plurality of representative quantization parameters,
The arithmetic coding circuit selects the context information including information indicating the occurrence probability of the coefficient data based on the temporary quantization parameter, performs arithmetic coding based on the context information, and arithmetically encoded data The generated code amount of
When encoding,
The quantization control circuit generates an optimal quantization parameter as the quantization parameter based on the temporary quantization parameter, the generated code amount, and a predetermined code amount to be given at the time of encoding,
The coding apparatus according to claim 1, wherein the arithmetic coding circuit performs arithmetic coding based on the optimum quantization parameter and predetermined context information.
前記量子化制御回路における前記量子化パラメータの生成は、連続したQ個の前記係数データに対して互いに異なるQ個の量子化パラメータを選択することで行うことを特徴とする、請求項2に記載の符号化装置。 N is N = L * Q (L is a natural number),
The generation of the quantization parameter in the quantization control circuit is performed by selecting different Q quantization parameters for consecutive Q pieces of coefficient data. Encoding device.
入力された前記信号を直交変換して係数データを出力する直交変換回路と、
複数の代表量子化パラメータから選択することにより第1の量子化パラメータを生成する第1の量子化制御回路と、
前記第1の量子化パラメータに基づいて前記係数データを量子化して第1の量子化データとする第1の量子化回路と、
前記第1の量子化パラメータに基づいて前記係数データの発生確率を示す情報を含む前記コンテキスト情報を選択し、前記コンテキスト情報を用いて前記第1の量子化データに対して算術符号化を行うと共に算術符号化したデータの発生符号量を算出する第1の算術符号化回路と、
前記第1の量子化パラメータ、前記発生符号量及び符号化時に与えるべき所定の符号量に基づいて第2の量子化パラメータを生成する第2の量子化制御回路と、
前記第2の量子化パラメータに基づいて前記係数データを量子化して第2の量子化データとする第2の量子化回路と、
前記第2の量子化パラメータ及び所定のコンテキスト情報に基づいて前記第2の量子化データに対して算術符号化を行う第2の算術符号化回路とを有することを特徴とする符号化装置。 An encoding device for encoding a signal,
An orthogonal transform circuit that orthogonally transforms the input signal and outputs coefficient data;
A first quantization control circuit that generates a first quantization parameter by selecting from a plurality of representative quantization parameters;
A first quantization circuit that quantizes the coefficient data based on the first quantization parameter to obtain first quantized data;
The context information including information indicating the occurrence probability of the coefficient data is selected based on the first quantization parameter, and arithmetic coding is performed on the first quantized data using the context information. A first arithmetic encoding circuit for calculating a generated code amount of the arithmetically encoded data;
A second quantization control circuit for generating a second quantization parameter based on the first quantization parameter, the generated code amount, and a predetermined code amount to be given at the time of encoding;
A second quantization circuit that quantizes the coefficient data based on the second quantization parameter to obtain second quantized data;
A coding apparatus comprising: a second arithmetic coding circuit that performs arithmetic coding on the second quantized data based on the second quantization parameter and predetermined context information.
前記第1の量子化制御回路における前記第1の量子化パラメータの生成は、連続したQ個の前記係数データに対して互いに異なるQ個の代表量子化パラメータを選択することで行うことを特徴とする、請求項5に記載の符号化装置。 N is N = L * Q (L is a natural number),
The generation of the first quantization parameter in the first quantization control circuit is performed by selecting Q representative quantization parameters different from each other for consecutive Q pieces of coefficient data. The encoding device according to claim 5.
前記コンテキスト情報は、少なくとも発生確率の高いシンボルを示すMPS値と、
前記シンボルの発生確率を示すpState値とを有し、
前記係数データは、前記信号を周波数成分に変換した係数であることを特徴とする、請求項1乃至7のうちいずれかに記載の符号化装置。 The signal is a video signal;
The context information includes at least an MPS value indicating a symbol having a high probability of occurrence;
A pState value indicating the probability of occurrence of the symbol,
8. The encoding apparatus according to claim 1, wherein the coefficient data is a coefficient obtained by converting the signal into a frequency component.
入力された前記信号を直交変換して係数データを出力する直交変換処理ステップと、
第1の量子化パラメータを複数の代表量子化パラメータから選択することにより生成し、前記第1の量子化パラメータに基づいて前記係数データを量子化して第1の量子化データとする第1の量子化ステップと、
前記量子化パラメータに基づいて前記係数データの発生確率を示す情報を含む前記コンテキスト情報を選択し、前記コンテキスト情報に基づいて前記第1の量子化データに対して算術符号化を行うと共に算術符号化したデータの発生符号量を算出する第1の算術符号化ステップと、
符号化時において、
前記第1の量子化パラメータ、前記発生符号量及び符号化時に与えるべき所定の符号量に基づいて第2の量子化パラメータを生成し、前記第2の量子化パラメータに基づいて前記係数データを量子化して第2の量子化データとする第2の量子化ステップと、
前記第2の量子化パラメータ及び所定のコンテキスト情報に基づいて前記第2の量子化データに対して算術符号化を行う前記第2の算術符号化ステップとを有することを特徴とする符号化方法。 An encoding method for encoding a signal, comprising:
An orthogonal transform processing step of orthogonally transforming the input signal and outputting coefficient data;
A first quantum generated by selecting a first quantization parameter from a plurality of representative quantization parameters, and quantizing the coefficient data based on the first quantization parameter to obtain first quantized data Step,
The context information including information indicating the occurrence probability of the coefficient data is selected based on the quantization parameter, and arithmetic coding is performed on the first quantized data and arithmetic coding is performed based on the context information. A first arithmetic encoding step for calculating a generated code amount of the processed data;
When encoding,
A second quantization parameter is generated based on the first quantization parameter, the generated code amount and a predetermined code amount to be given at the time of encoding, and the coefficient data is quantized based on the second quantization parameter. A second quantization step that is converted into second quantized data;
And a second arithmetic encoding step for performing arithmetic encoding on the second quantized data based on the second quantization parameter and predetermined context information.
前記Q個の代表量子化パラメータから任意の一個の量子化パラメータを選択して前記量子化パラメータを生成することを特徴とする、請求項9に記載の符号化方法。 The first quantization step is representative of Q (Q is a natural number of 2 or more) when generating the quantization parameter for quantizing the coefficient data of N (N is a natural number of 2 or more). Set the quantization parameter,
The encoding method according to claim 9, wherein the quantization parameter is generated by selecting any one quantization parameter from the Q representative quantization parameters.
前記第1の量子化ステップにおける量子化パラメータの生成は、連続したQ個の前記係数データに対して互いに異なるQ個の代表量子化パラメータを選択することで行うことを特徴とする、請求項10に記載の符号化方法。 N is N = L * Q (L is a natural number),
The quantization parameter generation in the first quantization step is performed by selecting Q representative quantization parameters different from each other for consecutive Q pieces of coefficient data. The encoding method described in 1.
前記コンテキストは、少なくとも発生確率の高いシンボルを示すMPS値と、
前記シンボルの発生確率を示すpState値とを有し、
前記係数データは、前記信号を周波数成分に変換した係数であることを特徴とする、請求項9乃至12のうちいずれかに記載の符号化方法。 The signal is a video signal;
The context includes at least an MPS value indicating a symbol having a high probability of occurrence;
A pState value indicating the probability of occurrence of the symbol,
13. The encoding method according to claim 9, wherein the coefficient data is a coefficient obtained by converting the signal into a frequency component.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005258789A JP2007074337A (en) | 2005-09-07 | 2005-09-07 | Coding device and method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005258789A JP2007074337A (en) | 2005-09-07 | 2005-09-07 | Coding device and method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007074337A true JP2007074337A (en) | 2007-03-22 |
Family
ID=37935411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005258789A Pending JP2007074337A (en) | 2005-09-07 | 2005-09-07 | Coding device and method therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007074337A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6444576A (en) * | 1987-08-12 | 1989-02-16 | Matsushita Electric Ind Co Ltd | Arithmetic circuit |
JP2012523728A (en) * | 2009-04-09 | 2012-10-04 | トムソン ライセンシング | Method and apparatus for encoding an input bit sequence and corresponding decoding method and apparatus |
US8351500B2 (en) | 2008-01-16 | 2013-01-08 | Nec Corporation | Entropy encoder, video coding apparatus, video coding method and video coding program |
JP2013258465A (en) * | 2012-06-11 | 2013-12-26 | Nippon Hoso Kyokai <Nhk> | Processing system, preprocessing device, postprocessing device, preprocessing program and postprocessing program |
JP2015504292A (en) * | 2012-01-19 | 2015-02-05 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Context-adaptive entropy coding with reduced initial value set |
-
2005
- 2005-09-07 JP JP2005258789A patent/JP2007074337A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6444576A (en) * | 1987-08-12 | 1989-02-16 | Matsushita Electric Ind Co Ltd | Arithmetic circuit |
US8351500B2 (en) | 2008-01-16 | 2013-01-08 | Nec Corporation | Entropy encoder, video coding apparatus, video coding method and video coding program |
JP2012523728A (en) * | 2009-04-09 | 2012-10-04 | トムソン ライセンシング | Method and apparatus for encoding an input bit sequence and corresponding decoding method and apparatus |
JP2015504292A (en) * | 2012-01-19 | 2015-02-05 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Context-adaptive entropy coding with reduced initial value set |
US9654772B2 (en) | 2012-01-19 | 2017-05-16 | Qualcomm Incorporated | Context adaptive entropy coding with a reduced initialization value set |
JP2017225132A (en) * | 2012-01-19 | 2017-12-21 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Context adaptive entropy coding with reduced initialization value set |
JP2013258465A (en) * | 2012-06-11 | 2013-12-26 | Nippon Hoso Kyokai <Nhk> | Processing system, preprocessing device, postprocessing device, preprocessing program and postprocessing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11671599B2 (en) | Data encoding and decoding | |
KR102424328B1 (en) | Methods of coding block information using quadtree and appararuses for using the same | |
US11039142B2 (en) | Encoding and decoding of significant coefficients in dependence upon a parameter of the significant coefficients | |
JP4354520B2 (en) | Encoder | |
US10893273B2 (en) | Data encoding and decoding | |
JP6400092B2 (en) | Data encoding and decoding | |
JP5492206B2 (en) | Image encoding method and image decoding method, and image encoding device and image decoding device | |
US9544599B2 (en) | Context adaptive data encoding | |
US20140286417A1 (en) | Data encoding and decoding | |
KR101974952B1 (en) | Methods of coding intra prediction mode using two candidate intra prediction modes and apparatuses using the same | |
JP5231243B2 (en) | Encoding apparatus and encoding method | |
JP5116704B2 (en) | Image coding apparatus and image coding method | |
JP2009021775A (en) | Coder and coding method | |
JP2007074337A (en) | Coding device and method therefor | |
WO2013068733A1 (en) | Context adaptive data encoding | |
GB2496193A (en) | Context adaptive data encoding and decoding | |
JP2014068247A (en) | Code amount calculation device and program and moving image encoder and program |