JP6744507B2 - Encoding method and decoding method - Google Patents

Encoding method and decoding method Download PDF

Info

Publication number
JP6744507B2
JP6744507B2 JP2020000687A JP2020000687A JP6744507B2 JP 6744507 B2 JP6744507 B2 JP 6744507B2 JP 2020000687 A JP2020000687 A JP 2020000687A JP 2020000687 A JP2020000687 A JP 2020000687A JP 6744507 B2 JP6744507 B2 JP 6744507B2
Authority
JP
Japan
Prior art keywords
prediction
unit
value
weight
image
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.)
Active
Application number
JP2020000687A
Other languages
Japanese (ja)
Other versions
JP2020058073A (en
Inventor
昭行 谷沢
昭行 谷沢
中條 健
健 中條
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2020000687A priority Critical patent/JP6744507B2/en
Publication of JP2020058073A publication Critical patent/JP2020058073A/en
Application granted granted Critical
Publication of JP6744507B2 publication Critical patent/JP6744507B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明の実施形態は、符号化方法、復号方法及び符号化データに関する。 Embodiments of the present invention relate to an encoding method, a decoding method, and encoded data.

近年、符号化効率を大幅に向上させた画像符号化方法が、ITU−T(International Telecommunication Union Telecommunication Standardization Sector)とISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)との共同で、ITU−T REC. H.264及びISO/IEC 14496−10(以下、「H.264」という)として勧告されている。 In recent years, an image coding method with greatly improved coding efficiency has been proposed by ITU-T in cooperation with International Telecommunication Union Telecommunication Standardization Sector (ITU-T) and International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC). TREC. H. H.264 and ISO/IEC 14496-10 (hereinafter referred to as “H.264”).

H.264には、符号化済みの画像を参照画像に用いて分数精度の動き補償予測を行うことにより、時間方向の冗長性を削除し、高い符号化効率を実現するインター予測符号化方式が開示されている。 H. H.264 discloses an inter-prediction coding method that eliminates redundancy in the time direction and realizes high coding efficiency by performing motion-compensated prediction with fractional accuracy using a coded image as a reference image. ing.

また、ISO/IEC MPEG(Moving Picture Experts Group)−1,2,4におけるインター予測符号化方式よりも、フェードやディゾルブ効果を含む動画像を高効率に符号化する方式も提案されている。この方式では、時間方向における明度変化を予測する枠組みとして、輝度と2つの色差とを有する入力動画像に対して分数精度の動き補償予測を行う。そして、参照画像と、輝度及び2つの色差毎の重み係数と、輝度及び2つの色差毎のオフセットと、を含む組み合わせ示すインデックスを用いて、予測画像に重み係数を乗じ、オフセットを加算する。 Further, a method of encoding a moving image including a fade effect or a dissolve effect with higher efficiency than the inter-prediction encoding method in ISO/IEC MPEG (Moving Picture Experts Group)-1, 2, 4 has been proposed. In this method, as a framework for predicting a change in lightness in the time direction, fractionally accurate motion-compensated prediction is performed on an input moving image having luminance and two color differences. Then, using the index indicating the combination including the reference image, the weighting coefficient for each of the brightness and the two color differences, and the offset for each of the brightness and the two color differences, the predicted image is multiplied by the weighting coefficient and the offset is added.

特開2004−7377号公報JP 2004-7377 A

しかしながら、上述したような従来技術では、インデックスを直値のまま符号化するため、符号化効率が低下してしまう。本発明が解決しようとする課題は、符号化効率を向上できる電子機器、復号方法及びプログラムを提供することである。 However, in the conventional technique as described above, since the index is coded as a direct value, the coding efficiency is reduced. The problem to be solved by the present invention is to provide an electronic device, a decoding method and a program capable of improving the coding efficiency.

実施形態の符号化方法は、参照画像と、輝度の重み係数と、前記輝度の重み係数の第1固定小数点精度と、色差の重み係数と、前記色差の重み係数の第2固定小数点精度とについてのインデックスを設定するステップと、前記第1固定小数点精度および前記第2固定小数点精度のいずれかを符号化するステップと、前記第1固定小数点精度と、前記第2固定小数点精度との差異と同じ値である、第1差分値を符号化するステップと、前記第1固定小数点精度で定められるビット数だけ“1”を左シフトすることによって得られる値と同じ値であって、かつ前記参照画像と対象画像との間の色差における画素値変化が特定の基準以下となる場合の前記色差の重み係数の値と同じ値である第1基準値を、前記第1固定小数点精度に基づいて導出するステップと、前記第1基準値と、前記輝度の重み係数と、の差異と同じ値である、前記輝度の重み係数の第2差分値を符号化するステップと、前記第2固定小数点精度で定められるビット数だけ“1”を左シフトすることによって得られる値と同じ値であって、かつ前記参照画像と対象画像との間の画素値変化が特定の基準以下となる場合の前記色差の重み係数の値と同じ値である第2基準値を、前記第2固定小数点精度に基づいて導出するステップと、前記色差の重み係数と前記第2基準値との差異と同じ値である、第3差分値を符号化するステップと、を含む。 The encoding method of the embodiment relates to a reference image, a luminance weighting factor, a first fixed point precision of the luminance weighting factor, a color difference weighting factor, and a second fixed point precision of the color difference weighting factor. The same as the difference between the first fixed-point precision and the second fixed-point precision; the step of setting the index of the first fixed-point precision; the step of encoding one of the first fixed-point precision and the second fixed-point precision; A step of encoding a first difference value, which is a value, and the same value as the value obtained by left-shifting "1" by the number of bits determined by the first fixed-point precision, and wherein the reference image A first reference value that is the same value as the value of the weighting coefficient of the color difference when the pixel value change in the color difference between the target image and the target image is less than or equal to a specific reference is derived based on the first fixed-point precision. And a step of encoding a second difference value of the luminance weighting coefficient, which is the same value as the difference between the first reference value and the luminance weighting coefficient, and is determined by the second fixed-point precision. Weight of the color difference when the pixel value change between the reference image and the target image is equal to or less than a specific reference value, which is the same as the value obtained by left-shifting "1" by the number of bits A step of deriving a second reference value that is the same value as the coefficient value based on the second fixed point precision, and a value that is the same as the difference between the color difference weighting coefficient and the second reference value, Encoding the difference value.

第1実施形態の符号化装置の例を示すブロック図。The block diagram which shows the example of the encoding apparatus of 1st Embodiment. 第1実施形態における画素ブロックの予測符号化順序例を示す説明図。FIG. 3 is an explanatory diagram showing an example of a predictive coding order of pixel blocks in the first embodiment. 第1実施形態におけるコーディングツリーブロックのブロックサイズ例を示す図。The figure which shows the block size example of the coding tree block in 1st Embodiment. 第1実施形態のコーディングツリーブロックの具体例を示す図。The figure which shows the specific example of the coding tree block of 1st Embodiment. 第1実施形態のコーディングツリーブロックの具体例を示す図。The figure which shows the specific example of the coding tree block of 1st Embodiment. 第1実施形態のコーディングツリーブロックの具体例を示す図。The figure which shows the specific example of the coding tree block of 1st Embodiment. 第1実施形態の予測画像生成部の例を示すブロック図。FIG. 3 is a block diagram showing an example of a predicted image generation unit according to the first embodiment. 第1実施形態の双方向予測における動き補償予測の動きベクトルの関係の例を示す図。The figure which shows the example of the relationship of the motion vector of the motion compensation prediction in bidirectional prediction of 1st Embodiment. 第1実施形態の複数フレーム動き補償部の例を示すブロック図。The block diagram which shows the example of the multi-frame motion compensation part of 1st Embodiment. 第1実施形態における重み係数の固定小数点精度の例の説明図。Explanatory drawing of the example of the fixed point precision of the weighting coefficient in 1st Embodiment. 第1実施形態のWPパラメータ情報例を示す図。The figure which shows the example of WP parameter information of 1st Embodiment. 第1実施形態のWPパラメータ情報例を示す図。The figure which shows the example of WP parameter information of 1st Embodiment. 第1実施形態のシンタクスの例を示す図。The figure which shows the example of the syntax of 1st Embodiment. 第1実施形態のピクチャパラメータセットシンタクスの例を示す図。The figure which shows the example of the picture parameter set syntax of 1st Embodiment. 第1実施形態のスライスヘッダーシンタクスの例を示す図。The figure which shows the example of the slice header syntax of 1st Embodiment. 第1実施形態のプレッドウェイトテーブルシンタクスの例を示す図。The figure which shows the example of the pread weight table syntax of 1st Embodiment. 第1実施形態の予測方法を明示的に示したシンタクス構成の例を示す図。The figure which shows the example of the syntax structure which showed the prediction method of 1st Embodiment explicitly. 第1実施形態の固定小数点精度の予測処理例を示すフローチャート。The flowchart which shows the prediction processing example of fixed point precision of 1st Embodiment. 第1実施形態の固定小数点精度の復元処理例を示すフローチャート。6 is a flowchart illustrating an example of fixed point precision restoration processing according to the first embodiment. 第1実施形態の重み係数の予測処理例を示すフローチャート。6 is a flowchart showing an example of weighting coefficient prediction processing according to the first embodiment. 第1実施形態の重み係数の復元処理例を示すフローチャート。6 is a flowchart showing an example of weighting coefficient restoration processing according to the first embodiment. 第1実施形態の重み係数の予測処理の他の例を示すフローチャート。The flowchart which shows the other example of the prediction process of the weighting coefficient of 1st Embodiment. 第1実施形態の重み係数の復元処理の他の例を示すフローチャート。The flowchart which shows the other example of the restoration process of the weighting coefficient of 1st Embodiment. 第1実施形態の色差信号の予測処理例を示すフローチャート。5 is a flowchart showing an example of color difference signal prediction processing according to the first embodiment. 第1実施形態の色差信号の復元処理例を示すフローチャート。6 is a flowchart showing an example of color difference signal restoration processing according to the first embodiment. 第1実施形態の重み係数の予測処理例の他の例を示すフローチャート。The flowchart which shows the other example of the prediction process example of the weighting coefficient of 1st Embodiment. 第1実施形態の重み係数の復元処理例の他の例を示すフローチャート。9 is a flowchart showing another example of the restoration processing example of the weighting factor of the first embodiment. 第2実施形態の復号装置の構成例を示すブロック図。The block diagram which shows the structural example of the decoding apparatus of 2nd Embodiment.

以下、添付図面を参照しながら、実施形態を詳細に説明する。以下の各実施形態の符号化装置及び復号装置は、LSI(Large-Scale Integration)チップ、DSP(Digital Signal Processor)、又はFPGA(Field Programmable Gate Array)などのハードウェアにより実現できる。また、以下の各実施形態の符号化装置及び復号装置は、コンピュータにプログラムを実行させること、即ち、ソフトウェアにより実現させることもできる。なお、以降の説明において、「画像」という用語は、「映像」、「画素」、「画像信号」、「絵」、又は「画像データ」などの用語に適宜読み替えることができる。 Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. The encoding device and the decoding device of each of the following embodiments can be realized by hardware such as an LSI (Large-Scale Integration) chip, a DSP (Digital Signal Processor), or an FPGA (Field Programmable Gate Array). In addition, the encoding device and the decoding device of each of the following embodiments can be realized by causing a computer to execute a program, that is, software. Note that in the following description, the term "image" can be appropriately read as a term such as "video", "pixel", "image signal", "picture", or "image data".

(第1実施形態)
第1実施形態では、動画像を符号化する符号化装置について説明する。
(First embodiment)
In the first embodiment, an encoding device that encodes a moving image will be described.

図1は、第1実施形態の符号化装置100の構成の一例を示すブロック図である。 FIG. 1 is a block diagram showing an example of the configuration of the encoding device 100 of the first embodiment.

符号化装置100は、入力画像を構成する各フレーム又は各フィールドを複数の画素ブロックに分割し、符号化制御部111から入力される符号化パラメータを用いて、分割した画素ブロックに対して予測符号化を行い、予測画像を生成する。そして符号化装置100は、複数の画素ブロックに分割した入力画像と予測画像とを減算して予測誤差を生成し、生成した予測誤差を直交変換及び量子化し、更にエントロピー符号化を行って符号化データを生成し、出力する。 The encoding apparatus 100 divides each frame or each field forming an input image into a plurality of pixel blocks, and uses a coding parameter input from the coding control unit 111, to predictively code the divided pixel blocks. Conversion to generate a predicted image. Then, the encoding device 100 subtracts the input image and the predicted image divided into a plurality of pixel blocks to generate a prediction error, orthogonally transforms and quantizes the generated prediction error, and further performs entropy coding to perform coding. Generate and output data.

符号化装置100は、画素ブロックのブロックサイズ及び予測画像の生成方法の少なくともいずれかが異なる複数の予測モードを選択的に適用して予測符号化を行う。予測画像の生成方法は、大別すると、符号化対象フレーム内で予測を行うイントラ予測と、時間的に異なる1以上の参照フレームを用いて動き補償予測を行うインター予測との2種類である。なお、イントラ予測は、画面内予測又はフレーム内予測などとも称され、インター予測は、画面間予測、フレーム間予測、又は動き補償予測などとも称される。 The coding apparatus 100 performs predictive coding by selectively applying a plurality of prediction modes in which at least one of the block size of a pixel block and the method of generating a predicted image is different. The methods of generating the predicted image are roughly classified into two types: intra prediction that performs prediction within the encoding target frame and inter prediction that performs motion compensation prediction using one or more temporally different reference frames. Intra prediction is also referred to as intra-picture prediction or intra-frame prediction, and inter-prediction is also referred to as inter-picture prediction, inter-frame prediction, motion compensation prediction, or the like.

図2は、第1実施形態における画素ブロックの予測符号化順序の一例を示す説明図である。図2に示す例では、符号化装置100は、画素ブロックの左上から右下に向かって予測符号化を行っており、符号化処理対象のフレームfにおいて、符号化対象画素ブロックcよりも左側及び上側に符号化済み画素ブロックpが位置している。以下では、説明の簡単化のため、符号化装置100は、図2に示す順序で予測符号化を行うものとするが、予測符号化の順序はこれに限定されるものではない。 FIG. 2 is an explanatory diagram showing an example of a predictive coding order of pixel blocks in the first embodiment. In the example illustrated in FIG. 2, the encoding device 100 performs the predictive encoding from the upper left to the lower right of the pixel block, and in the frame f to be encoded, the left side and the left side of the encoding target pixel block c. The encoded pixel block p is located on the upper side. In the following, for simplification of description, the coding apparatus 100 performs the predictive coding in the order shown in FIG. 2, but the predictive coding order is not limited to this.

画素ブロックは、画像を処理する単位を示し、例えば、M×Nサイズのブロック(M及びNは自然数)、コーディングツリーブロック、マクロブロック、サブブロック、又は1画素などが該当する。以降の説明では、基本的に、画素ブロックをコーディングツリーブロックの意味で使用するが、他の意味で使用する場合もある。例えば、プレディクションユニットの説明では、画素ブロックを、プレディクションユニットの画素ブロックの意味で使用する。また、ブロックはユニットなどの名称で呼ばれることもある。例えばコーディングブロックをコーディングユニットと呼ぶ。 The pixel block indicates a unit for processing an image, and corresponds to, for example, an M×N size block (M and N are natural numbers), a coding tree block, a macro block, a sub block, or one pixel. In the following description, the pixel block is basically used to mean a coding tree block, but it may be used to have another meaning. For example, in the description of the prediction unit, the pixel block is used to mean the pixel block of the prediction unit. In addition, a block may be called by a name such as a unit. For example, a coding block is called a coding unit.

図3Aは、第1実施形態におけるコーディングツリーブロックのブロックサイズの一例を示す図である。コーディングツリーブロックは、典型的には、図3Aに示すような64×64の画素ブロックである。但し、これに限定されるものではなく、32×32の画素ブロック、16×16の画素ブロック、8×8の画素ブロック、又は4×4の画素ブロックなどであってもよい。また、コーディングツリーブロックは、正方形でなくてもよく、例えば、M×Nサイズ(M≠N)の画素ブロックであってもよい。 FIG. 3A is a diagram showing an example of a block size of a coding tree block in the first embodiment. The coding tree block is typically a 64×64 pixel block as shown in FIG. 3A. However, the present invention is not limited to this, and may be a 32×32 pixel block, a 16×16 pixel block, an 8×8 pixel block, a 4×4 pixel block, or the like. Further, the coding tree block does not have to be a square, and may be, for example, a pixel block of M×N size (M≠N).

図3B〜図3Dは、第1実施形態のコーディングツリーブロックの具体例を示す図である。図3Bは、ブロックサイズが64×64(N=32)のコーディングツリーブロックを示している。Nは、基準となるコーディングツリーブロックのサイズを表しており、分割された場合のサイズがN、分割されない場合のサイズが2Nと定義されている。図3Cは、図3Bのコーディングツリーブロックを四分木分割したコーディングツリーブロックを示している。コーディングツリーブロックは、図3Cに示すように、四分木構造を持つ。コーディングツリーブロックが分割された場合、分割後の4つの画素ブロックに対して、図3Cに示すように、Zスキャン順で番号が付される。 3B to 3D are diagrams illustrating specific examples of the coding tree block according to the first embodiment. FIG. 3B shows a coding tree block having a block size of 64×64 (N=32). N represents the size of a coding tree block serving as a reference, and the size when divided is defined as N, and the size when not divided is defined as 2N. FIG. 3C shows a coding tree block obtained by dividing the coding tree block of FIG. 3B into quadtrees. The coding tree block has a quadtree structure as shown in FIG. 3C. When the coding tree block is divided, the four pixel blocks after the division are numbered in the Z scan order as shown in FIG. 3C.

なお、コーディングツリーブロックは、1つの四分木の番号内で更に四分木分割することができる。これにより、コーディングツリーブロックを階層的に分割することができる。この場合、分割の深さは、Depthで定義される。図3Dは、図3Bのコーディングツリーブロックを四分木分割したコーディングツリーブロックの1つを示し、ブロックサイズが32×32(N=16)となっている。図3Bに示すコーディングツリーブロックのDepthは0であり、図3Dに示すコーディングツリーブロックのDepthは、1である。なお、最もユニットが大きいコーディングツリーブロックは、ラージコーディングツリーブロックと呼ばれ、この単位で入力画像信号がラスタースキャン順に符号化される。 Note that the coding tree block can be further quadtree-divided within one quadtree number. This allows the coding tree block to be hierarchically divided. In this case, the depth of division is defined by Depth. FIG. 3D shows one of the coding tree blocks obtained by dividing the coding tree block of FIG. 3B into quadtrees, and has a block size of 32×32 (N=16). The depth of the coding tree block shown in FIG. 3B is 0, and the depth of the coding tree block shown in FIG. 3D is 1. The coding tree block having the largest unit is called a large coding tree block, and the input image signal is encoded in this unit in raster scan order.

以降の説明では、入力画像の符号化対象ブロック又はコーディングツリーブロックを予測対象ブロック又は予測画素ブロックと称することもある。なお、符号化単位は画素ブロックに限らず、フレーム、フィールド、スライス、ライン、及び画素の少なくともいずれかを用いることもできる。 In the following description, a coding target block or a coding tree block of an input image may be referred to as a prediction target block or a prediction pixel block. The coding unit is not limited to the pixel block, and at least one of a frame, a field, a slice, a line, and a pixel can be used.

符号化装置100は、図1に示すように、減算部101と、直交変換部102と、量子化部103と、逆量子化部104と、逆直交変換部105と、加算部106と、予測画像生成部107と、インデックス設定部108と、動き評価部109と、符号化部110とを、備える。なお、図1に示す符号化制御部111は、符号化装置100を制御するものであり、例えば、CPU(Central Processing Unit)などにより実現できる。 As shown in FIG. 1, the encoding device 100 includes a subtraction unit 101, an orthogonal transformation unit 102, a quantization unit 103, an inverse quantization unit 104, an inverse orthogonal transformation unit 105, an addition unit 106, and a prediction unit. An image generation unit 107, an index setting unit 108, a motion evaluation unit 109, and an encoding unit 110 are provided. The coding control unit 111 illustrated in FIG. 1 controls the coding device 100, and can be realized by, for example, a CPU (Central Processing Unit).

減算部101は、画素ブロックに分割された入力画像から対応する予測画像を減算して予測誤差を得る。減算部101は、予測誤差を出力し、直交変換部102に入力する。 The subtraction unit 101 subtracts the corresponding prediction image from the input image divided into pixel blocks to obtain a prediction error. The subtraction unit 101 outputs the prediction error and inputs it to the orthogonal transformation unit 102.

直交変換部102は、減算部101から入力された予測誤差に対して、例えば、離散コサイン変換(DCT)又は離散サイン変換(DST)のような直交変換を行い、変換係数を得る。直交変換部102は、変換係数を出力し、量子化部103に入力する。 The orthogonal transform unit 102 performs an orthogonal transform such as a discrete cosine transform (DCT) or a discrete sine transform (DST) on the prediction error input from the subtraction unit 101 to obtain transform coefficients. The orthogonal transformation unit 102 outputs the transformation coefficient and inputs it to the quantization unit 103.

量子化部103は、直交変換部102から入力された変換係数に対して量子化処理を行い、量子化変換係数を得る。具体的には、量子化部103は、符号化制御部111によって指定される量子化パラメータや量子化マトリクスなどの量子化情報に従って量子化を行う。より詳細には、量子化部103は、変換係数を量子化情報によって導出される量子化ステップサイズで除算し、量子化変換係数を得る。量子化パラメータは、量子化の細かさを示す。量子化マトリクスは、量子化の細かさを変換係数の成分毎に重み付けするために使用される。量子化部103は、量子化変換係数を出力し、逆量子化部104及び符号化部110に入力する。 The quantization unit 103 performs a quantization process on the transform coefficient input from the orthogonal transform unit 102 to obtain a quantized transform coefficient. Specifically, the quantization unit 103 performs quantization according to quantization information such as a quantization parameter and a quantization matrix designated by the encoding control unit 111. More specifically, the quantization unit 103 divides the transform coefficient by the quantization step size derived from the quantization information to obtain the quantized transform coefficient. The quantization parameter indicates the fineness of quantization. The quantization matrix is used for weighting the fineness of quantization for each component of the transform coefficient. The quantization unit 103 outputs the quantized transform coefficient and inputs it to the inverse quantization unit 104 and the encoding unit 110.

逆量子化部104は、量子化部103から入力された量子化変換係数に対して逆量子化処理を行い、復元変換係数を得る。具体的には、逆量子化部104は、量子化部103において使用された量子化情報に従って逆量子化を行う。より詳細には、逆量子化部104は、量子化情報によって導出された量子化ステップサイズを量子化変換係数に乗算し、復元変換係数を得る。なお、量子化部103において使用された量子化情報は、符号化制御部111の図示せぬ内部メモリからロードされて利用される。逆量子化部104は、復元変換係数を出力し、逆直交変換部105に入力する。 The inverse quantization unit 104 performs inverse quantization processing on the quantized transform coefficient input from the quantization unit 103 to obtain a restored transform coefficient. Specifically, the inverse quantization unit 104 performs inverse quantization according to the quantization information used in the quantization unit 103. More specifically, the dequantization unit 104 multiplies the quantized transform coefficient by the quantized step size derived from the quantized information to obtain the restored transformed coefficient. The quantization information used in the quantization unit 103 is loaded from an internal memory (not shown) of the encoding control unit 111 and used. The inverse quantization unit 104 outputs the restoration transform coefficient and inputs it to the inverse orthogonal transform unit 105.

逆直交変換部105は、逆量子化部104から入力された復元変換係数に対して、例えば、逆離散コサイン変換(IDCT)又は逆離散サイン変換(IDST)などのような逆直交変換を行い、復元予測誤差を得る。なお、逆直交変換部105が行う逆直交変換は、直交変換部102において行われた直交変換に対応する。逆直交変換部105は、復元予測誤差を出力し、加算部106に入力する。 The inverse orthogonal transform unit 105 performs an inverse orthogonal transform such as an inverse discrete cosine transform (IDCT) or an inverse discrete sine transform (IDST) on the restoration transform coefficient input from the inverse quantization unit 104, Get the reconstruction prediction error. The inverse orthogonal transform performed by the inverse orthogonal transform unit 105 corresponds to the orthogonal transform performed by the orthogonal transform unit 102. The inverse orthogonal transform unit 105 outputs the restoration prediction error and inputs it to the addition unit 106.

加算部106は、逆直交変換部105から入力された復元予測誤差と対応する予測画像とを加算し、局所復号画像を生成する。加算部106は、局所復号画像を出力し、予測画像生成部107に入力する。 The addition unit 106 adds the restoration prediction error input from the inverse orthogonal transform unit 105 and the corresponding predicted image to generate a locally decoded image. The addition unit 106 outputs the locally decoded image and inputs it to the predicted image generation unit 107.

予測画像生成部107は、加算部106から入力された局所復号画像を参照画像としてメモリ(図1では図示省略)に蓄積し、メモリに蓄積した参照画像を出力し、動き評価部109に入力する。また予測画像生成部107は、動き評価部109から入力される動き情報及びWPパラメータ情報に基づいて重み付き動き補償予測を行い、予測画像を生成する。予測画像生成部107は、予測画像を出力し、減算部101及び加算部106に入力する。 The predicted image generation unit 107 stores the locally decoded image input from the addition unit 106 in a memory (not shown in FIG. 1) as a reference image, outputs the reference image stored in the memory, and inputs the reference image to the motion evaluation unit 109. .. The predicted image generation unit 107 also performs weighted motion compensation prediction based on the motion information and the WP parameter information input from the motion evaluation unit 109, and generates a predicted image. The predicted image generation unit 107 outputs the predicted image and inputs the predicted image to the subtraction unit 101 and the addition unit 106.

図4は、第1実施形態の予測画像生成部107の構成の一例を示すブロック図である。予測画像生成部107は、図4に示すように、複数フレーム動き補償部201と、メモリ202と、単方向動き補償部203と、予測パラメータ制御部204と、参照画像セレクタ205と、フレームメモリ206と、参照画像制御部207と、を備える。 FIG. 4 is a block diagram showing an example of the configuration of the predicted image generation unit 107 according to the first embodiment. As shown in FIG. 4, the predicted image generation unit 107 includes a multiple frame motion compensation unit 201, a memory 202, a unidirectional motion compensation unit 203, a prediction parameter control unit 204, a reference image selector 205, and a frame memory 206. And a reference image control unit 207.

フレームメモリ206は、参照画像制御部207の制御の下、加算部106から入力された局所復号画像を参照画像として格納する。フレームメモリ206は、参照画像を一時保持するための複数のメモリセットFM1〜FMN(N≧2)を有する。 The frame memory 206 stores the locally decoded image input from the addition unit 106 as a reference image under the control of the reference image control unit 207. The frame memory 206 has a plurality of memory sets FM1 to FMN (N≧2) for temporarily holding a reference image.

予測パラメータ制御部204は、動き評価部109から入力される動き情報に基づいて、参照画像番号と予測パラメータとの複数の組み合わせをテーブルとして用意している。ここで、動き情報とは、動き補償予測で用いられる動きのズレ量を示す動きベクトルや参照画像番号、単方向/双方向予測などの予測モードに関する情報などを指す。予測パラメータは、動きベクトル及び予測モードに関する情報を指す。そして予測パラメータ制御部204は、入力画像に基づいて、予測画像の生成に用いる参照画像番号と予測パラメータとの組み合わせを選択して出力し、参照画像番号を参照画像セレクタ205に入力し、予測パラメータを単方向動き補償部203に入力する。 The prediction parameter control unit 204 prepares a plurality of combinations of reference image numbers and prediction parameters as a table based on the motion information input from the motion evaluation unit 109. Here, the motion information refers to a motion vector used for motion compensation prediction, a reference image number, information about a prediction mode such as unidirectional/bidirectional prediction, and the like. Prediction parameters refer to information about motion vectors and prediction modes. Then, the prediction parameter control unit 204 selects and outputs a combination of the reference image number and the prediction parameter used to generate the prediction image based on the input image, inputs the reference image number to the reference image selector 205, and outputs the prediction parameter. Is input to the unidirectional motion compensation unit 203.

参照画像セレクタ205は、フレームメモリ206が有するフレームメモリFM1〜FMNのいずれの出力端を接続するかを、予測パラメータ制御部204から入力された参照画像番号に従って切り替えるスイッチである。参照画像セレクタ205は、例えば、参照画像番号が0であれば、FM1の出力端を参照画像セレクタ205の出力端に接続し、参照画像番号がN−1であれば、FMNの出力端を参照画像セレクタ205の出力端に接続する。参照画像セレクタ205は、フレームメモリ206が有するフレームメモリFM1〜FMNのうち、出力端が接続されているフレームメモリに格納されている参照画像を出力し、単方向動き補償部203及び動き評価部109へ入力する。 The reference image selector 205 is a switch that switches which of the output ends of the frame memories FM1 to FMN included in the frame memory 206 is connected according to the reference image number input from the prediction parameter control unit 204. For example, the reference image selector 205 connects the output end of the FM1 to the output end of the reference image selector 205 if the reference image number is 0, and refers to the output end of the FMN if the reference image number is N-1. It is connected to the output end of the image selector 205. The reference image selector 205 outputs the reference image stored in the frame memory to which the output end is connected among the frame memories FM1 to FMN included in the frame memory 206, and the unidirectional motion compensation unit 203 and the motion evaluation unit 109. To enter.

単方向予測動き補償部203は、予測パラメータ制御部204から入力された予測パラメータと参照画像セレクタ205から入力された参照画像に従って、動き補償予測処理を行い、単方向予測画像を生成する。 The unidirectional prediction motion compensation unit 203 performs motion compensation prediction processing according to the prediction parameter input from the prediction parameter control unit 204 and the reference image input from the reference image selector 205 to generate a unidirectional prediction image.

図5は、第1実施形態の双方向予測における動き補償予測の動きベクトルの関係の一例を示す図である。動き補償予測では、参照画像を用いて補間処理が行われ、作成された補間画像と入力画像との符号化対象位置の画素ブロックからの動きのズレ量を元に単方向予測画像が生成される。ここで、ズレ量は、動きベクトルである。図5に示すように、双方向予測スライス(B−slice)では、2種類の参照画像と動きベクトルのセットを用いて予測画像が生成される。補間処理としては、1/2画素精度の補間処理や、1/4画素精度の補間処理などが用いられ、参照画像に対してフィルタリング処理が行われることによって、補間画像の値が生成される。例えば、輝度信号に対して1/4画素精度までの補間処理な可能なH.264では、ズレ量は整数画素精度の4倍で表現される。 FIG. 5: is a figure which shows an example of the relationship of the motion vector of the motion compensation prediction in the bidirectional prediction of 1st Embodiment. In motion compensation prediction, interpolation processing is performed using a reference image, and a unidirectional prediction image is generated based on the amount of motion shift from the pixel block at the encoding target position between the created interpolation image and the input image. .. Here, the shift amount is a motion vector. As shown in FIG. 5, in a bidirectional prediction slice (B-slice), a predicted image is generated using two types of reference images and a set of motion vectors. As the interpolation processing, interpolation processing with 1/2 pixel accuracy, interpolation processing with 1/4 pixel accuracy, or the like is used, and the value of the interpolation image is generated by performing the filtering processing on the reference image. For example, H.264 capable of performing interpolation processing up to ¼ pixel accuracy for a luminance signal. In H.264, the shift amount is represented by four times the integer pixel precision.

単方向予測動き補償部203は、単方向予測画像を出力し、メモリ202に一時的に格納する。ここで、動き情報(予測パラメータ)が双方向予測を示す場合には、複数フレーム動き補償部201が2種類の単方向予測画像を用いて重み付き予測を行うため、単方向予測動き補償部203は、1つ目に対応する単方向予測画像をメモリ202に格納し、2つ目に対応する単法予測画像を複数フレーム動き補償部201に直接出力する。ここでは、1つ目に対応する単方向予測画像を第一予測画像とし、2つ目に対応する単方向予測画像を第二予測画像とする。 The unidirectional predictive motion compensation unit 203 outputs the unidirectional predicted image and temporarily stores it in the memory 202. Here, when the motion information (prediction parameter) indicates bidirectional prediction, the multi-frame motion compensation unit 201 performs weighted prediction using two types of unidirectionally predicted images, so the unidirectionally predicted motion compensation unit 203. Stores the unidirectional predicted image corresponding to the first in the memory 202, and directly outputs the unidirectional predicted image corresponding to the second to the multi-frame motion compensation unit 201. Here, the unidirectionally predicted image corresponding to the first is the first predicted image, and the unidirectionally predicted image corresponding to the second is the second predicted image.

なお、単方向動き補償部203を2つ用意し、それぞれが2つの単方向予測画像を生成するようにしてもよい。この場合、動き情報(予測パラメータ)が単方向予測を示すときには、単方向動き補償部203が、1つ目の単方向予測画像を第一予測画像として複数フレーム動き補償部201に直接出力すればよい。 It should be noted that two unidirectional motion compensation units 203 may be prepared and each may generate two unidirectional predicted images. In this case, if the motion information (prediction parameter) indicates unidirectional prediction, the unidirectional motion compensating unit 203 may directly output the first unidirectional predicted image as the first predicted image to the multi-frame motion compensating unit 201. Good.

複数フレーム動き補償部201は、メモリ202から入力される第一予測画像、単方向予測動き補償部203から入力される第二予測画像、及び動き評価部109から入力されるWPパラメータ情報を用いて、重み付き予測を行って予測画像を生成する。複数フレーム動き補償部201は、予測画像を出力し、減算部101及び加算部106に入力する。 The multi-frame motion compensation unit 201 uses the first prediction image input from the memory 202, the second prediction image input from the unidirectional prediction motion compensation unit 203, and the WP parameter information input from the motion evaluation unit 109. , Weighted prediction is performed to generate a predicted image. The multi-frame motion compensation unit 201 outputs the predicted image and inputs it to the subtraction unit 101 and the addition unit 106.

図6は、第1実施形態の複数フレーム動き補償部201の構成の一例を示すブロック図である。複数フレーム動き補償部201は、図6に示すように、デフォルト動き補償部301と、重み付き動き補償部302と、WPパラメータ制御部303と、WPセレクタ304、305とを、備える。 FIG. 6 is a block diagram showing an example of the configuration of the multi-frame motion compensation unit 201 of the first embodiment. As shown in FIG. 6, the multi-frame motion compensation unit 201 includes a default motion compensation unit 301, a weighted motion compensation unit 302, a WP parameter control unit 303, and WP selectors 304 and 305.

WPパラメータ制御部303は、動き評価部109から入力されるWPパラメータ情報に基づいて、WP適用フラグ及び重み情報を出力し、WP適用フラグをWPセレクタ304、305に入力し、重み情報を重み付き動き補償部302に入力する。 The WP parameter control unit 303 outputs the WP application flag and weight information based on the WP parameter information input from the motion evaluation unit 109, inputs the WP application flag to the WP selectors 304 and 305, and weights the weight information. It is input to the motion compensation unit 302.

ここで、WPパラメータ情報は、重み係数の固定小数点精度、第一予測画像に対応する第一WP適用フラグ,第一重み係数,及び第一オフセット、並びに第二予測画像に対応する第二WP適応フラグ,第二重み係数,及び第二オフセットの情報を含む。WP適用フラグは、該当する参照画像及び信号成分毎に設定可能なパラメータであり、重み付き動き補償予測を行うかどうかを示す。重み情報は、重み係数の固定小数点精度、第一重み係数、第一オフセット、第二重み係数、及び第二オフセットの情報を含む。 Here, the WP parameter information includes the fixed point precision of the weighting factor, the first WP application flag corresponding to the first prediction image, the first weighting factor, and the first offset, and the second WP adaptation corresponding to the second prediction image. It includes information on a flag, a second weighting factor, and a second offset. The WP application flag is a parameter that can be set for each corresponding reference image and signal component, and indicates whether to perform weighted motion compensation prediction. The weight information includes fixed-point precision of the weight coefficient, first weight coefficient, first offset, second weight coefficient, and second offset information.

詳細には、WPパラメータ制御部303は、動き評価部109からWPパラメータ情報が入力されると、WPパラメータ情報を第一WP適用フラグ、第二WP適用フラグ、及び重み情報に分離して出力し、第一WP適用フラグをWPセレクタ304に入力し、第二WP適用フラグをWPセレクタ305に入力し、重み情報を重み付き動き補償部302に入力する。 Specifically, when the WP parameter information is input from the motion evaluation unit 109, the WP parameter control unit 303 separates the WP parameter information into a first WP application flag, a second WP application flag, and weight information, and outputs the weight information. , The first WP application flag is input to the WP selector 304, the second WP application flag is input to the WP selector 305, and the weight information is input to the weighted motion compensation unit 302.

WPセレクタ304、305は、WPパラメータ制御部303から入力されたWP適用フラグに基づいて、各々の予測画像の接続端を切り替える。WPセレクタ304、305は、各々のWP適用フラグが0の場合、各々の出力端をデフォルト動き補償部301へ接続する。そしてWPセレクタ304、305は、第一予測画像及び第二予測画像を出力し、デフォルト動き補償部301に入力する。一方、WPセレクタ304、305は、各々のWP適用フラグが1の場合、各々の出力端を重み付き動き補償部302へ接続する。そしてWPセレクタ304、305は、第一予測画像及び第二予測画像を出力し、重み付き動き補償部302に入力する。 The WP selectors 304 and 305 switch the connection end of each predicted image based on the WP application flag input from the WP parameter control unit 303. When each WP application flag is 0, the WP selectors 304 and 305 connect each output terminal to the default motion compensation unit 301. Then, the WP selectors 304 and 305 output the first predicted image and the second predicted image and input them to the default motion compensation unit 301. On the other hand, the WP selectors 304 and 305 connect the respective output ends to the weighted motion compensation unit 302 when the respective WP application flags are 1. Then, the WP selectors 304 and 305 output the first predicted image and the second predicted image and input them to the weighted motion compensation unit 302.

デフォルト動き補償部301は、WPセレクタ304、305から入力された2つの単方向予測画像(第一予測画像及び第二予測画像)を元に平均値処理を行い、予測画像を生成する。具体的には、デフォルト動き補償部301は、第一WP適用フラグ及び第二WP適用フラグが0の場合、数式(1)に基づいて平均値処理を行う。 The default motion compensation unit 301 performs average value processing based on the two unidirectionally predicted images (first predicted image and second predicted image) input from the WP selectors 304 and 305, and generates a predicted image. Specifically, when the first WP application flag and the second WP application flag are 0, the default motion compensation unit 301 performs the average value process based on Expression (1).

P[x,y]=Clip1((PL0[x,y]+PL1[x,y]+offset2)>>(shift2)) …(1) P[x,y]=Clip1((PL0[x,y]+PL1[x,y]+offset2)>>(shift2)) (1)

ここで、P[x,y]は予測画像、PL0[x,y]は第一予測画像、PL1[x,y]は第二予測画像である。offset2及びshift2は平均値処理における丸め処理のパラメータであり、第一予測画像及び第二予測画像の内部演算精度によって定まる。予測画像のビット精度をL、第一予測画像及び第二予測画像のビット精度をM(L≦M)とすると、shift2は数式(2)で定式化され、offset2は数式(3)で定式化される。 Here, P[x, y] is a predicted image, PL0[x, y] is a first predicted image, and PL1[x, y] is a second predicted image. offset2 and shift2 are parameters of the rounding process in the average value process, and are determined by the internal calculation accuracy of the first predicted image and the second predicted image. If the bit precision of the predicted image is L and the bit precision of the first predicted image and the second predicted image is M (L≦M), shift2 is formulated by Formula (2) and offset2 is formulated by Formula (3). To be done.

shift2=(M−L+1) …(2) shift2=(M−L+1) (2)

offset2=(1<<(shift2−1) …(3) offset2=(1<<(shift2-1)... (3)

例えば、予測画像のビット精度が8であり、第一予測画像及び第二予測画像のビット精度が14である場合、数式(2)よりshift2=7、数式(3)よりoffset2=(1<<6)となる。 For example, when the bit precision of the predicted image is 8 and the bit precision of the first predicted image and the second predicted image is 14, shift2=7 from Equation (2) and offset2=(1<< from Equation (3). 6).

なお、動き情報(予測パラメータ)で示される予測モードが単方向予測である場合、デフォルト動き補償部301は、第一予測画像のみを用いて、数式(4)に基づいて最終的な予測画像を算出する。 When the prediction mode indicated by the motion information (prediction parameter) is unidirectional prediction, the default motion compensation unit 301 uses only the first prediction image to calculate the final prediction image based on Expression (4). calculate.

P[x,y]=Clip1((PLX[x,y]+offset1)>>(shift1)) …(4) P[x,y]=Clip1((PLX[x,y]+offset1)>>(shift1)) (4)

ここで、PLX[x,y]は単方向予測画像(第一予測画像)を示しており、Xは参照リストの0又は1のいずれかを示す識別子である。例えば、参照リストが0の場合はPL0[x,y]、参照リストが1の場合はPL1[x,y]となる。offset1及びshift1は丸め処理のパラメータであり、第一予測画像の内部演算精度によって定まる。予測画像のビット精度をL、第一予測画像のビット精度をMとすると、shift1は数式(5)で定式化され、offset1は数式(6)で定式化される。 Here, PLX[x, y] indicates a unidirectional predicted image (first predicted image), and X is an identifier indicating either 0 or 1 in the reference list. For example, when the reference list is 0, it is PL0[x, y], and when the reference list is 1, it is PL1[x, y]. offset1 and shift1 are parameters for rounding processing, and are determined by the accuracy of the internal calculation of the first predicted image. If the bit precision of the predicted image is L and the bit precision of the first predicted image is M, shift1 is formulated by equation (5) and offset1 is formulated by equation (6).

shift1=(M−L) …(5) shift1=(ML) (5)

offset1=(1<<(shift1−1) …(6) offset1=(1<<(shift1-1)... (6)

例えば、予測画像のビット精度が8であり、第一予測画像のビット精度が14である場合、数式(5)よりshift1=6、数式(6)よりoffset1=(1<<5)となる。 For example, when the bit precision of the predicted image is 8 and the bit precision of the first predicted image is 14, shift1=6 from Formula (5) and offset1=(1<<5) from Formula (6).

重み付き動き補償部302は、WPセレクタ304、305から入力された2つの単方向予測画像(第一予測画像及び第二予測画像)とWPパラメータ制御部303から入力された重み情報とを元に重み付き動き補償を行う。具体的には、重み付き動き補償部302は、第一WP適用フラグ及び第二WP適用フラグが1の場合、数式(7)に基づいて重み付き処理を行う。 The weighted motion compensation unit 302 is based on the two unidirectional prediction images (first prediction image and second prediction image) input from the WP selectors 304 and 305 and the weight information input from the WP parameter control unit 303. Performs weighted motion compensation. Specifically, when the first WP application flag and the second WP application flag are 1, the weighted motion compensation unit 302 performs the weighting process based on Expression (7).

P[x,y]=Clip1(((PL0[x,y]*w0C+PL1[x,y]*w1C+(1<<logWDC))>>(logWDC+1))+((o0C+o1C+1)>>1)) …(7) P[x,y]=Clip1(((PL0[x,y]*w0C+PL1[x,y]*w1C+(1<<logWDC))>>(logWDC+1))+((o0C+o1C+1)>>1)) (7)

ここで、w0Cは第一予測画像に対応する重み係数、w1Cは第二予測画像に対応する重み係数、o0Cは第一予測画像に対応するオフセット、o1Cは第二予測画像に対応するオフセットを表す。以後、それぞれを第一重み係数、第二重み係数、第一オフセット、第二オフセットと呼ぶ。logWDCはそれぞれの重み係数の固定小数点精度を示すパラメータである。変数Cは、信号成分を意味する。例えば、YUV空間信号の場合、輝度信号をC=Yとし、Cr色差信号をC=Cr、Cb色差成分をC=Cbと表す。 Here, w0C represents a weighting coefficient corresponding to the first prediction image, w1C represents a weighting coefficient corresponding to the second prediction image, o0C represents an offset corresponding to the first prediction image, and o1C represents an offset corresponding to the second prediction image. .. Hereinafter, each is called a first weighting coefficient, a second weighting coefficient, a first offset, and a second offset. logWDC is a parameter indicating the fixed point precision of each weighting factor. The variable C means a signal component. For example, in the case of a YUV space signal, the luminance signal is C=Y, the Cr color difference signal is C=Cr, and the Cb color difference component is C=Cb.

なお、重み付き動き補償部302は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるlogWDCを数式(8)のように制御することで丸め処理を実現する。 Note that the weighted motion compensation unit 302 controls the logWDC, which is fixed-point precision, as in Equation (8) when the first prediction image and the second prediction image have different calculation precisions from each other, thereby performing a rounding process. To realize.

logWD’C=logWDC+offset1 …(8) logWD'C=logWDC+offset1 (8)

丸め処理は、数式(7)のlogWDCを、数式(8)のlogWD’Cに置き換えることで実現できる。例えば、予測画像のビット精度が8であり、第一予測画像及び第二予測画像のビット精度が14である場合、logWDCを再設定することにより、数式(1)のshift2と同様の演算精度における一括丸め処理を実現することが可能となる。 The rounding process can be realized by replacing the logWDC in Expression (7) with logWD′C in Expression (8). For example, when the bit precision of the predicted image is 8 and the bit precision of the first predicted image and the second predicted image is 14, by resetting logWDC, the calculation precision similar to shift2 in the equation (1) is obtained. It is possible to realize a batch rounding process.

なお、動き情報(予測パラメータ)で示される予測モードが単方向予測である場合、重み付き動き補償部302は、第一予測画像のみを用いて、数式(9)に基づいて最終的な予測画像を算出する。 Note that when the prediction mode indicated by the motion information (prediction parameter) is unidirectional prediction, the weighted motion compensation unit 302 uses only the first prediction image and the final prediction image based on Expression (9). To calculate.

P[x,y]=Clip1((PLX[x,y]*wXC+(1<<logWDC−1))>>(logWDC)) …(9) P[x,y]=Clip1((PLX[x,y]*wXC+(1<<logWDC-1))>>(logWDC)) (9)

ここで、PLX[x,y]は単方向予測画像(第一予測画像)を示し、wXCは単方向予測に対応する重み係数を示しており、Xは参照リストの0又は1のいずれかを示す識別子である。例えば、参照リストが0の場合はPL0[x,y]、w0C、参照リストが1の場合はPL1[x,y]、w1Cとなる。 Here, PLX[x, y] indicates a unidirectional prediction image (first prediction image), wXC indicates a weighting coefficient corresponding to unidirectional prediction, and X indicates either 0 or 1 in the reference list. It is an identifier to show. For example, when the reference list is 0, PL0[x, y] and w0C, and when the reference list is 1, PL1[x, y] and w1C.

なお、重み付き動き補償部302は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるlogWDCを双方向予測時と同様に数式(8)のように制御することで丸め処理を実現する。 Note that the weighted motion compensation unit 302 sets the logWDC, which is fixed-point precision, to the formula (8) as in the case of bidirectional prediction when the calculation accuracy of the first predicted image and the second predicted image is different from that of the predicted image. The rounding process is realized by controlling to.

丸め処理は、数式(7)のlogWDCを、数式(8)のlogWD’Cに置き換えることで実現できる。例えば、予測画像のビット精度が8であり、第一予測画像のビット精度が14である場合、logWDCを再設定することにより、数式(4)のshift1と同様の演算精度における一括丸め処理を実現することが可能となる。 The rounding process can be realized by replacing the logWDC in Expression (7) with logWD′C in Expression (8). For example, when the bit precision of the predicted image is 8 and the bit precision of the first predicted image is 14, by resetting logWDC, a batch rounding process with the same calculation precision as shift1 in Formula (4) is realized. It becomes possible to do.

図7は、第1実施形態における重み係数の固定小数点精度の一例の説明図であり、時間方向の明度変化がある動画像と階調値との変化の一例を示す図である。図7に示す例では、符号化対象フレームをFrame(t)とし、時間的に1つ前のフレームをFrame(t−1)、時間的に1つ後のフレームをFrame(t+1)としている。図7に示すように、白から黒に変化するフェード画像では、画像の明度(階調値)が時間とともに減少していく。重み係数は、図7における変化の度合いを意味しており、数式(7)及び数式(9)から明らかなように、明度変化がない場合に1.0の値を取る。固定小数点精度は、重み係数の小数点に対応する刻み幅を制御するパラメータであり、明度変化がない場合の重み係数は、1<<logWDCとなる。 FIG. 7 is an explanatory diagram of an example of fixed-point precision of the weighting factor in the first embodiment, and is a diagram illustrating an example of a change in a moving image having a brightness change in the time direction and a gradation value. In the example shown in FIG. 7, the encoding target frame is set to Frame(t), the temporally previous frame is set to Frame(t−1), and the temporally subsequent frame is set to Frame(t+1). As shown in FIG. 7, in a faded image that changes from white to black, the brightness (gradation value) of the image decreases with time. The weighting coefficient means the degree of change in FIG. 7, and takes a value of 1.0 when there is no change in lightness, as is clear from Expressions (7) and (9). The fixed point precision is a parameter that controls the step size corresponding to the decimal point of the weighting coefficient, and the weighting coefficient when the brightness does not change is 1<<logWDC.

なお、単方向予測の場合には、第二予測画像に対応する各種パラメータ(第二WP適応フラグ,第二重み係数,及び第二オフセットの情報)は利用されないため、予め定めた初期値に設定されていてもよい。 Note that, in the case of unidirectional prediction, various parameters (second WP adaptation flag, second weighting coefficient, and second offset information) corresponding to the second predicted image are not used, so set to a predetermined initial value. It may have been done.

図1に戻り、動き評価部109は、入力画像と予測画像生成部107から入力された参照画像とに基づき複数フレーム間の動き評価を行い、動き情報及びWPパラメータ情報を出力し、動き情報を予測画像生成部107及び符号化部110に入力し、WPパラメータ情報を予測画像生成部107及びインデックス設定部108に入力する。 Returning to FIG. 1, the motion evaluation unit 109 performs motion evaluation between a plurality of frames based on the input image and the reference image input from the predicted image generation unit 107, outputs motion information and WP parameter information, and outputs the motion information. The prediction image generation unit 107 and the encoding unit 110 are input, and the WP parameter information is input to the prediction image generation unit 107 and the index setting unit 108.

動き評価部109は、例えば、予測対象画素ブロックの入力画像と同位置に対応する複数の参照画像を起点として差分値を計算することで誤差を算出し、この位置を分数精度でずらし、誤差最小のブロックを探すブロックマッチングなどの手法により、最適な動き情報を算出する。動き評価部109は、双方向予測の場合には、単方向予測で導出された動き情報を用いて、数式(1)及び数式(4)に示すようなデフォルト動き補償予測を含むブロックマッチングを行うことにより、双方向予測の動き情報を算出する。 The motion evaluation unit 109 calculates an error by calculating a difference value using a plurality of reference images corresponding to the same position as the input image of the prediction target pixel block as a starting point, calculates the error, shifts this position with fractional accuracy, and calculates the minimum error. Optimal motion information is calculated by a method such as block matching that searches for the block. In the case of bidirectional prediction, the motion evaluation unit 109 uses the motion information derived by unidirectional prediction to perform block matching including default motion-compensated prediction as shown in Expressions (1) and (4). By doing so, the bidirectional prediction motion information is calculated.

この際、動き評価部109は、数式(7)及び数式(9)で示されるような重み付き動き補償予測を含むブロックマッチングを行うことにより、WPパラメータ情報を算出できる。なお、WPパラメータ情報の算出には、入力画像の明度勾配を用いて重み係数やオフセットを算出する方法や、符号化した際の予測誤差の累積による重み係数やオフセットの算出方法などを用いてもよい。またWPパラメータ情報は、符号化装置毎に予め定めた固定値を用いてもよい。 At this time, the motion evaluation unit 109 can calculate the WP parameter information by performing block matching including weighted motion-compensated prediction as shown in Expressions (7) and (9). Note that the WP parameter information may be calculated by using a method of calculating a weighting coefficient or offset using the brightness gradient of the input image, or a method of calculating a weighting coefficient or offset by accumulating prediction errors at the time of encoding. Good. Further, the WP parameter information may use a fixed value determined in advance for each encoding device.

ここで、図7を参照しながら、時間的に明度変化のある動画像から、重み係数、重み係数の固定小数点精度、及びオフセットを算出する方法を説明する。前述したように、図7に示すような白から黒に変化するフェード画像では、画像の明度(階調値)が時間とともに減少していく。動き評価部109は、この傾きを計算することにより、重み係数を算出することができる。 Here, a method of calculating a weighting coefficient, a fixed-point precision of the weighting coefficient, and an offset from a moving image whose brightness changes temporally will be described with reference to FIG. 7. As described above, in the faded image that changes from white to black as shown in FIG. 7, the brightness (gradation value) of the image decreases with time. The motion evaluation unit 109 can calculate the weighting coefficient by calculating this inclination.

また、重み係数の固定小数点精度は、この傾きの精度を示す情報であり、動き評価部109は、参照画像の時間的な距離と画像明度の変化度から、最適な値を計算できる。例えば、図7において、Frame(t−1)〜Frame(t+1)間の重み係数が小数点精度で0.75である場合、1/4精度であれば、3/4が表現できるため、動き評価部109は、固定小数点精度を2(1<<2)に設定する。固定小数点精度の値は、重み係数を符号化した場合の符号量に影響を与えるため、符号量と予測精度を考慮して最適な値を選択すればよい。なお、固定小数点精度の値は、予め定めた固定値としてもよい。 Further, the fixed point precision of the weighting factor is information indicating the precision of this inclination, and the motion evaluation unit 109 can calculate an optimum value from the temporal distance of the reference image and the degree of change in image brightness. For example, in FIG. 7, when the weighting factor between Frame(t-1) and Frame(t+1) is 0.75 in decimal point precision, 3/4 precision can be expressed as 3/4, and therefore motion estimation The unit 109 sets the fixed-point precision to 2 (1<<2). Since the fixed-point precision value affects the code amount when the weighting coefficient is encoded, the optimum value may be selected in consideration of the code amount and the prediction accuracy. The fixed-point precision value may be a fixed value determined in advance.

また、動き評価部109は、傾きが一致しない場合、一次関数の切片に対応する補正値(ズレ量)を求めることでオフセット値を算出できる。例えば、図7において、Frame(t−1)〜Frame(t+1)間の重み係数が小数点精度で0.60であり、固定小数点精度が1(1<<1)である場合、重み係数は1(つまり、重み係数の小数点精度0.50に該当)が設定される可能性が高い。この場合、重み係数の小数点精度は、最適な値である0.60から0.10ずれているため、動き評価部109は、この分の補正値を画素の最大値から計算し、オフセット値として設定する。画素の最大値が255である場合、動き評価部109は、25(255×0.1)などの値を設定すればよい。 When the inclinations do not match, the motion evaluation unit 109 can calculate the offset value by obtaining the correction value (deviation amount) corresponding to the intercept of the linear function. For example, in FIG. 7, when the weighting factor between Frame(t−1) and Frame(t+1) is 0.60 in decimal point precision and the fixed point precision is 1 (1<<1), the weighting factor is 1. (That is, the decimal point precision of the weighting coefficient is 0.50) is likely to be set. In this case, since the decimal point precision of the weighting coefficient deviates from the optimum value of 0.60 by 0.10, the motion evaluation unit 109 calculates a correction value for this amount from the maximum value of the pixels and sets it as an offset value. Set. When the maximum value of pixels is 255, the motion evaluation unit 109 may set a value such as 25 (255×0.1).

なお第1実施形態では、符号化装置100の一機能として動き評価部109を例示しているが、動き評価部109は符号化装置100の必須の構成ではなく、例えば、動き評価部109を符号化装置100外の装置としてもよい。この場合、動き評価部109で算出された動き情報及びWPパラメータ情報を符号化装置100にロードするようにすればよい。 In addition, in the first embodiment, the motion evaluation unit 109 is illustrated as one function of the encoding device 100, but the motion evaluation unit 109 is not an essential configuration of the encoding device 100, and, for example, the motion evaluation unit 109 is encoded. It may be a device other than the processing device 100. In this case, the motion information and the WP parameter information calculated by the motion evaluation unit 109 may be loaded into the encoding device 100.

インデックス設定部108は、動き評価部109から入力されたWPパラメータ情報を受け取り、参照リスト(リスト番号)と参照画像(参照番号)とを確認して、インデックス情報を出力し、符号化部110に入力する。インデックス設定部108は、動き評価部109から入力されたWPパラメータ情報を、後述するシンタクス要素にマッピングしてインデックス情報を生成する。 The index setting unit 108 receives the WP parameter information input from the motion evaluation unit 109, confirms the reference list (list number) and the reference image (reference number), outputs the index information, and outputs it to the encoding unit 110. input. The index setting unit 108 maps the WP parameter information input from the motion evaluation unit 109 to a syntax element described below to generate index information.

図8A及び図8Bは、第1実施形態のWPパラメータ情報の一例を示す図である。P−slice時のWPパラメータ情報の一例は、図8Aに示すとおりであり、B−slice時のWPパラメータ情報の一例は、図8A及び図8Bに示すとおりである。リスト番号は、予測方向を示す識別子であり、単方向予測時は0の値を取り、双方向予測時は2種類の予測を用いることができるため、0と1の2つの値を取る。参照番号は、フレームメモリ206に示される1〜Nに対応する値である。WPパラメータ情報は、参照リストと参照画像毎に保持されるため、B−slice時で必要な情報は、参照画像がN個とすると2N個となる。 8A and 8B are diagrams illustrating an example of WP parameter information according to the first embodiment. An example of the WP parameter information at the time of P-slice is as shown in FIG. 8A, and an example of the WP parameter information at the time of B-slice is as shown in FIG. 8A and FIG. 8B. The list number is an identifier indicating a prediction direction, and has a value of 0 during unidirectional prediction and two types of predictions during bidirectional prediction, and thus takes two values of 0 and 1. The reference number is a value corresponding to 1 to N shown in the frame memory 206. Since the WP parameter information is held for each reference list and each reference image, the information required for B-slice is 2N when the number of reference images is N.

図1に戻り、符号化部110は、量子化部103から入力された量子化変換係数、動き評価部109から入力された動き情報、インデックス設定部108から入力されたインデックス情報、及び符号化制御部111によって指定される量子化情報などの様々な符号化パラメータに対して符号化処理を行い、符号化データを生成する。符号化処理は、例えば、ハフマン符号化や算術符号化などが該当する。 Returning to FIG. 1, the encoding unit 110 includes a quantized transform coefficient input from the quantization unit 103, motion information input from the motion evaluation unit 109, index information input from the index setting unit 108, and encoding control. Encoding processing is performed on various encoding parameters such as quantization information designated by the unit 111 to generate encoded data. The encoding process corresponds to, for example, Huffman encoding or arithmetic encoding.

符号化パラメータとは、予測方法などを示す予測情報、量子化変換係数に関する情報、及び量子化に関する情報などの復号に必要となるパラメータである。例えば、符号化制御部111が図示せぬ内部メモリを持ち、この内部メモリに符号化パラメータが保持され、画素ブロックを符号化する際に隣接する既に符号化済みの画素ブロックの符号化パラメータを用いるようにできる。例えば、H.264のイントラ予測では、符号化済みの隣接ブロックの予測情報から、画素ブロックの予測情報を導出することができる。 The coding parameter is a parameter required for decoding prediction information indicating a prediction method and the like, information regarding a quantized transform coefficient, and information regarding quantization. For example, the encoding control unit 111 has an internal memory (not shown), the encoding parameters are held in this internal memory, and the encoding parameters of the adjacent already encoded pixel blocks are used when encoding the pixel blocks. You can For example, H.264. In H.264 intra prediction, the prediction information of the pixel block can be derived from the prediction information of the encoded adjacent block.

符号化部110は、生成した符号化データを、符号化制御部111が管理する適切な出力タイミングに従って出力する。出力された符号化データは、例えば、図示せぬ多重化部などで様々な情報が多重化されて、図示せぬ出力バッファなどに一時的に蓄積された後に、例えば、図示せぬ蓄積系(蓄積メディア)又は伝送系(通信回線)へ出力される。 The encoding unit 110 outputs the generated encoded data according to an appropriate output timing managed by the encoding control unit 111. The output encoded data is, for example, after various information is multiplexed by a multiplexing unit (not shown) and is temporarily stored in an output buffer (not shown), then, for example, a storage system (not shown) ( It is output to the storage medium) or the transmission system (communication line).

符号化部110は、エントロピー符号化部110Aと、インデックス再構成部110Bとを、備える。 The coding unit 110 includes an entropy coding unit 110A and an index reconstructing unit 110B.

エントロピー符号化部110Aは、入力されてきた情報に対して可変長符号化や算術符号化などの符号化処理を行う。例えば、H.264では、コンテキスト適応型の可変長符号化(CAVLC:Context based Adaptive Variable Length Coding)やコンテキスト適応型の算術符号化(CABAC:Context based Adaptive Binary Arithmetic Coding)などが用いられる。 The entropy coding unit 110A performs coding processing such as variable length coding and arithmetic coding on the input information. For example, H.264. In H.264, context-based variable length coding (CAVLC) and context-based adaptive coding (CABAC) are used.

インデックス再構成部110Bは、インデックス設定部108から入力されたインデックス情報のシンタクス要素の符号長を削減するため、シンタクス要素のパラメータの特徴に応じて予測処理を行い、シンタクス要素のそのままの値(直値)と予測値の差分値とを計算し、エントロピー符号化部110Aに出力する。予測処理の具体例は、後述する。 In order to reduce the code length of the syntax element of the index information input from the index setting unit 108, the index reconstructing unit 110B performs prediction processing according to the characteristics of the parameter of the syntax element, and the value of the syntax element as it is (direct (Value) and the difference value between the prediction values and outputs it to the entropy coding unit 110A. A specific example of the prediction process will be described later.

図9は、第1実施形態の符号化装置100が利用するシンタクス500の一例を示す図である。シンタクス500は、符号化装置100が入力画像(動画像データ)を符号化して生成した符号化データの構造を示している。符号化データを復号化する場合、後述の復号装置は、シンタクス500と同一のシンタクス構造を参照して動画像のシンタクス解釈を行う。 FIG. 9 is a diagram showing an example of the syntax 500 used by the encoding device 100 of the first embodiment. The syntax 500 indicates the structure of encoded data generated by the encoding device 100 encoding the input image (moving image data). When decoding the encoded data, the decoding device described below refers to the same syntax structure as the syntax 500 to perform syntax interpretation of the moving image.

シンタクス500は、ハイレベルシンタクス501、スライスレベルシンタクス502及びコーディングツリーレベルシンタクス503の3つのパートを含む。ハイレベルシンタクス501は、スライスよりも上位のレイヤのシンタクス情報を含む。スライスとは、フレーム若しくはフィールドに含まれる矩形領域又は連続領域を指す。スライスレベルシンタクス502は、各スライスを復号化するために必要な情報を含む。コーディングツリーレベルシンタクス503は、各コーディングツリー(即ち、各コーディングツリーブロック)を復号するために必要な情報を含む。これら各パートは、更に詳細なシンタクスを含む。 The syntax 500 includes three parts, a high level syntax 501, a slice level syntax 502, and a coding tree level syntax 503. The high level syntax 501 includes syntax information of a layer higher than the slice. A slice refers to a rectangular area or a continuous area included in a frame or field. Slice level syntax 502 contains the information needed to decode each slice. The coding tree level syntax 503 includes information necessary for decoding each coding tree (that is, each coding tree block). Each of these parts contains more detailed syntax.

ハイレベルシンタクス501は、シーケンスパラメータセットシンタクス504、ピクチャパラメータセットシンタクス505、及びアダプテーションパラメータセットシンタクス506などのシーケンス及びピクチャレベルのシンタクスを含む。 High-level syntax 501 includes sequence and picture-level syntax, such as sequence parameter set syntax 504, picture parameter set syntax 505, and adaptation parameter set syntax 506.

スライスレベルシンタクス502は、スライスヘッダーシンタクス507、プレッドウェイトテーブルシンタクス508、及びスライスデータシンタクス509などを含む。プレッドウェイトテーブルシンタクス508は、スライスヘッダーシンタクス507から呼び出される。 The slice level syntax 502 includes a slice header syntax 507, a pread weight table syntax 508, a slice data syntax 509, and the like. The pread weight table syntax 508 is called from the slice header syntax 507.

コーディングツリーレベルシンタクス503は、コーディングツリーユニットシンタクス510、トランスフォームユニットシンタクス511、及びプレディクションユニットシンタクス512などを含む。コーディングツリーユニットシンタクス510は、四分木構造を持つことができる。具体的には、コーディングツリーユニットシンタクス510のシンタクス要素として、更にコーディングツリーユニットシンタクス510を再帰呼び出しすることができる。即ち、1つのコーディングツリーブロックを四分木で細分化することができる。また、コーディングツリーユニットシンタクス510内にはトランスフォームユニットシンタクス511が含まれている。トランスフォームユニットシンタクス511は、四分木の最末端の各コーディングツリーユニットシンタクス510において呼び出される。トランスフォームユニットシンタクス511は、逆直交変換及び量子化などに関わる情報が記述されている。これらのシンタクスには、重み付き動き補償予測に関する情報が記述されてもよい。 The coding tree level syntax 503 includes a coding tree unit syntax 510, a transform unit syntax 511, a prediction unit syntax 512, and the like. The coding tree unit syntax 510 may have a quadtree structure. Specifically, the coding tree unit syntax 510 can be recursively called as a syntax element of the coding tree unit syntax 510. That is, one coding tree block can be subdivided into quadtrees. Further, the transform unit syntax 511 is included in the coding tree unit syntax 510. The transform unit syntax 511 is called in each coding tree unit syntax 510 at the end of the quadtree. The transform unit syntax 511 describes information related to inverse orthogonal transform and quantization. Information about weighted motion-compensated prediction may be described in these syntaxes.

図10は、第1実施形態のピクチャパラメータセットシンタクス505の一例を示す図である。weighted_pred_flagは、例えば、P−sliceに関する第1実施形態の重み付き補償予測の有効又は無効を示すシンタクス要素である。weighted_pred_flagが0である場合、P−slice内での第1実施形態の重み付き動き補償予測は無効となる。従って、WPパラメータ情報に含まれるWP適用フラグは常に0に設定され、WPセレクタ304、305は、各々の出力端をデフォルト動き補償部301へ接続する。一方、weighted_pred_flagが1である場合、P−slice内での第1実施形態の重み付き動き補償予測は有効となる。 FIG. 10 is a diagram showing an example of the picture parameter set syntax 505 of the first embodiment. weighted_pred_flag is, for example, a syntax element indicating valid or invalid of the weighted compensation prediction of the first embodiment regarding P-slice. When weighted_pred_flag is 0, the weighted motion-compensated prediction in the first embodiment in P-slice is invalid. Therefore, the WP application flag included in the WP parameter information is always set to 0, and the WP selectors 304 and 305 connect their output ends to the default motion compensation unit 301. On the other hand, when weighted_pred_flag is 1, the weighted motion compensation prediction of the first embodiment in P-slice is valid.

なお、別の例として、weighted_pred_flagが1である場合には、より下位のレイヤ(スライスヘッダー、コーディングツリーブロック、トランスフォームユニット、及びプレディクションユニットなど)のシンタクスにおいて、スライス内部の局所領域毎に第1実施形態の重み付き動き補償予測の有効又は無効を規定するようにしてもよい。 Note that as another example, when weighted_pred_flag is 1, in the syntax of lower layers (slice header, coding tree block, transform unit, prediction unit, etc.) The weighted motion-compensated prediction of one embodiment may be defined as valid or invalid.

weighted_bipred_idcは、例えば、B−sliceに関する第1実施形態の重み付き補償予測の有効又は無効を示すシンタクス要素である。weighted_bipred_idcが0である場合、B−slice内での第1実施形態の重み付き動き補償予測は無効となる。従って、WPパラメータ情報に含まれるWP適用フラグは常に0に設定され、WPセレクタ304、305は、各々の出力端をデフォルト動き補償部301へ接続する。一方、weighted_bipred_idcが1である場合、B−slice内での第1実施形態の重み付き動き補償予測は有効となる。 weighted_bipred_idc is, for example, a syntax element indicating validity or invalidity of the weighted compensation prediction of the first embodiment regarding B-slice. When weighted_bipred_idc is 0, the weighted motion-compensated prediction in the first embodiment in B-slice is invalid. Therefore, the WP application flag included in the WP parameter information is always set to 0, and the WP selectors 304 and 305 connect their output ends to the default motion compensation unit 301. On the other hand, when weighted_bipred_idc is 1, the weighted motion compensation prediction in the B-slice of the first embodiment is effective.

なお、別の例として、weighted_bipred_idcが1である場合には、より下位のレイヤ(スライスヘッダー、コーディングツリーブロック、及びトランスフォームユニットなど)のシンタクスにおいて、スライス内部の局所領域毎に第1実施形態の重み付き動き補償予測の有効又は無効を規定するようにしてもよい。 As another example, when weighted_bipred_idc is 1, in the syntax of a lower layer (slice header, coding tree block, transform unit, etc.), the local area inside the slice is different from that of the first embodiment. The weighted motion compensation prediction may be defined as valid or invalid.

図11は、第1実施形態のスライスヘッダーシンタクス507の一例を示す図である。slice_typeはスライスのスライスタイプ(I−slice,P−slice,B−sliceなど)を示している。pic_parameter_set_idは、いずれのピクチャパラメータセットシンタクス505を参照するかを示す識別子である。num_ref_idx_active_override_flagは、有効な参照画像の数を更新するかどうかを示すフラグであり、本フラグが1の場合、参照リストの参照画像数を定義するnum_ref_idx_l0_active_minus1及びnum_ref_idx_l1_active_minus1が利用できる。pred_weight_table()は、重み付き動き補償予測に利用するプレッドウェイトテーブルシンタクスを示す関数であり、前述のweighted_pred_flagが1かつP−sliceの場合、及びweighted_bipred_idcが1かつB−sliceの場合に、本関数が呼び出される。 FIG. 11 is a diagram showing an example of the slice header syntax 507 of the first embodiment. slice_type indicates the slice type of the slice (I-slice, P-slice, B-slice, etc.). pic_parameter_set_id is an identifier indicating which picture parameter set syntax 505 is referred to. num_ref_idx_active_override_flag is a flag indicating whether or not the number of valid reference images is updated. When this flag is 1, num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1 that define the number of reference images in the reference list can be used. pred_weight_table() is a function indicating the pread weight table syntax used for weighted motion compensation prediction, and when weighted_pred_flag is 1 and P-slice, and when weighted_bipred_idc is 1 and B-slice, this function is Be called.

図12は、第1実施形態のプレッドウェイトテーブルシンタクス508の一例を示す図である。luma_log2_weight_denomは、スライスにおける輝度信号の重み係数の固定小数点精度を表しており、数式(7)又は数式(9)のlogWDCに対応する値である。chroma_log2_weight_denomは、スライスにおける色差信号の重み係数の固定小数点精度を表しており、数式(7)又は数式(9)のlogWDCに対応する値である。chroma_format_idcは、色空間を表す識別子であり、MONO_IDXはモノクロ映像を示す値である。num_ref_common_active_minus1は、スライスにおける共通リストに含まれる参照画像の数から1を引いた値を示している。 FIG. 12 is a diagram showing an example of the pread weight table syntax 508 according to the first embodiment. luma_log2_weight_denom represents the fixed point precision of the weighting factor of the luminance signal in the slice, and is a value corresponding to logWDC in Expression (7) or Expression (9). chroma_log2_weight_denom represents the fixed point precision of the weighting coefficient of the color difference signal in the slice, and is a value corresponding to logWDC in Expression (7) or Expression (9). chroma_format_idc is an identifier indicating a color space, and MONO_IDX is a value indicating a monochrome image. num_ref_common_active_minus1 indicates a value obtained by subtracting 1 from the number of reference images included in the common list in the slice.

luma_weight_l0_flag及びluma_weight_l1_flagは、リスト0及びリスト1のそれぞれに対応する輝度信号におけるWP適応フラグを示している。本フラグが1の場合、スライス内全域で第1実施形態の輝度信号の重み付き動き補償予測が有効となる。chroma_weight_l0_flag及びchroma_weight_l1_flagは、リスト0及びリスト1のそれぞれに対応する色差信号におけるWP適応フラグを示している。本フラグが1の場合、スライス内全域で第1実施形態の色差信号の重み付き動き補償予測が有効となる。luma_weight_l0[i]及びluma_weight_l1[i]は、リスト0及びリスト1のそれぞれで管理されたi番目に対応する輝度信号の重み係数である。luma_offset_l0[i]及びluma_offset_l1[i]は、リスト0及びリスト1のそれぞれで管理されたi番目に対応する輝度信号のオフセットである。これらは、それぞれ、数式(7)又は数式(9)のw0C、w1C、o0C、o1Cに対応する値である。但し、C=Yとする。 luma_weight_l0_flag and luma_weight_l1_flag indicate WP adaptation flags in the luminance signal corresponding to each of list 0 and list 1. When this flag is 1, the weighted motion-compensated prediction of the luminance signal of the first embodiment is effective in the entire slice. chroma_weight_l0_flag and chroma_weight_l1_flag indicate the WP adaptation flags in the color difference signals corresponding to list 0 and list 1, respectively. When this flag is 1, the weighted motion compensation prediction of the color difference signals of the first embodiment is effective in the entire slice. luma_weight_l0[i] and luma_weight_l1[i] are weighting coefficients of the i-th luminance signal managed in each of list 0 and list 1. luma_offset_l0[i] and luma_offset_l1[i] are the offsets of the i-th luminance signal managed in each of the list 0 and the list 1. These are the values corresponding to w0C, w1C, o0C, and o1C in Expression (7) or Expression (9), respectively. However, C=Y.

chroma_weight_l0[i][j]及びchroma_weight_l1[i][j]は、リスト0及びリスト1のそれぞれで管理されたi番目に対応する色差信号の重み係数である。chroma_offset_l0[i][j]及びchroma_offset_l1[i][j]は、リスト0及びリスト1のそれぞれで管理されたi番目に対応する色差信号のオフセットである。これらは、それぞれ、数式(7)又は数式(9)のw0C、w1C、o0C、o1Cに対応する値である。但し、C=Cr又はCbとする。jは色差成分のコンポーネントを示しており、例えばYUV4:2:0信号の場合、j=0がCr成分、j=1がCb成分であることを示す。 chroma_weight_l0[i][j] and chroma_weight_l1[i][j] are weighting coefficients of the i-th corresponding color difference signal managed in list 0 and list 1, respectively. chroma_offset_l0[i][j] and chroma_offset_l1[i][j] are the offsets of the ith color-difference signal managed in list 0 and list 1, respectively. These are the values corresponding to w0C, w1C, o0C, and o1C in Expression (7) or Expression (9), respectively. However, C=Cr or Cb. j indicates a component of a color difference component, and in the case of a YUV 4:2:0 signal, for example, j=0 indicates a Cr component and j=1 indicates a Cb component.

ここで、シンタクス構成における重み付き予測に関連するそれぞれのシンタクス要素の予測方法の詳細について説明する。シンタクス要素の予測は、インデックス再構成部110Bにより行われる。図13は、第1実施形態の予測方法を明示的に示したシンタクス構成一例を示す図である。図13に示す例では、予測を導入したシンタクス要素をdeltaの接頭語を付けて示しているが、これらのシンタクス構成は基本的に図12で示したシンタクス構成を同じ構成要素を持つ。 Here, the details of the method of predicting each syntax element related to the weighted prediction in the syntax configuration will be described. The prediction of the syntax element is performed by the index reconstructing unit 110B. FIG. 13 is a diagram showing an example of a syntax configuration explicitly showing the prediction method of the first embodiment. In the example shown in FIG. 13, the syntax elements to which prediction is introduced are shown with a prefix of delta, but these syntax configurations basically have the same configuration elements as the syntax configuration shown in FIG.

まず、重み係数の固定小数点精度を示すluma_log2_weight_denom及びchroma_log2_weight_denomの信号間の予測方法について説明する。インデックス再構成部110Bは、数式(10)を用いて、luma_log2_weight_denom及びchroma_log2_weight_denomの信号間の予測処理を行い、数式(11)を用いて、復元処理を行う。ここでは、図12及び図13に示すとおり、luma_log2_weight_denomが先に定義されているため、luma_log2_weight_denomの値からchroma_log2_weight_denomを予測する。 First, a method of predicting between the signals of luma_log2_weight_denom and chroma_log2_weight_denom indicating the fixed point precision of the weight coefficient will be described. The index reconstructing unit 110B performs the prediction process between the signals of luma_log2_weight_denom and chroma_log2_weight_denom using the mathematical formula (10), and performs the restoration process using the mathematical formula (11). Here, as shown in FIGS. 12 and 13, since luma_log2_weight_denom is defined first, chroma_log2_weight_denom is predicted from the value of luma_log2_weight_denom.

delta_chroma_log2_weight_denom = (chroma_log2_weight_denom - luma_log2_weight_denom) …(10) delta_chroma_log2_weight_denom = (chroma_log2_weight_denom-luma_log2_weight_denom) (10)

chroma_log2_weight_denom = (luma_log2_weight_denom + delta_chroma_log2_weight_denom) …(11) chroma_log2_weight_denom = (luma_log2_weight_denom + delta_chroma_log2_weight_denom) (11)

図14は、第1実施形態のchroma_log2_weight_denomの予測処理の一例を示すフローチャートである。 FIG. 14 is a flowchart showing an example of the chroma_log2_weight_denom prediction process of the first embodiment.

まず、インデックス再構成部110Bは、インデックス情報に設定されているluma_log2_weight_denomを予測値として導出する(ステップS101)。 First, the index reconstructing unit 110B derives luma_log2_weight_denom set in the index information as a predicted value (step S101).

続いて、インデックス再構成部110Bは、chroma_log2_weight_denomからluma_log2_weight_denomを減算し(ステップS102)、差分値をdelta_chroma_log2_weight_denomとしてインデックス情報に設定する(ステップS103)。 Subsequently, the index reconstructing unit 110B subtracts luma_log2_weight_denom from chroma_log2_weight_denom (step S102) and sets the difference value as delta_chroma_log2_weight_denom in the index information (step S103).

図15は、第1実施形態のchroma_log2_weight_denomの復元処理の一例を示すフローチャートである。 FIG. 15 is a flowchart illustrating an example of chroma_log2_weight_denom restoration processing according to the first embodiment.

まず、インデックス再構成部110Bは、インデックス情報に既に設定されているluma_log2_weight_denomを予測値として導出する(ステップS201)。 First, the index reconstructing unit 110B derives the luma_log2_weight_denom already set in the index information as a predicted value (step S201).

続いて、インデックス再構成部110Bは、luma_log2_weight_denomをdelta_chroma_log2_weight_denomに加算し(ステップS202)、加算値をchroma_log2_weight_denomとしてインデックス情報に設定する(ステップS203)。 Subsequently, the index reconstructing unit 110B adds luma_log2_weight_denom to delta_chroma_log2_weight_denom (step S202), and sets the added value to the index information as chroma_log2_weight_denom (step S203).

フェード効果は、一般的に色空間別に異なる時間的変化をさせるケースが少ないため、信号成分毎の固定小数点精度は、輝度成分と色差成分で強い相関がある。このため、このように色空間内で予測することにより、固定小数点精度を示す情報量を削減できる。 In general, the fade effect is unlikely to change with time in different color spaces, so that the fixed point precision of each signal component has a strong correlation between the luminance component and the color difference component. Therefore, the amount of information indicating the fixed point precision can be reduced by performing the prediction in the color space in this way.

なお、数式(10)では、色差成分から輝度成分を減算しているが、輝度成分から色差成分を減算してもよい。この場合、数式(10)に応じて数式(11)も式を変形すればよい。 Note that although the luminance component is subtracted from the color difference component in Expression (10), the color difference component may be subtracted from the luminance component. In this case, the equation (11) may be modified according to the equation (10).

次に、輝度及び色差信号の重み係数をそれぞれ表すluma_weight_lx[i]及びchroma_weight_lx[i][j]の予測方法について説明する。ここで、xは、0又は1を示す識別子である。luma_weight_lx[i]及びchroma_weight_lx[i][j]の値は、それぞれ、luma_log2_weight_denom及びchroma_log2_weight_denomの値に応じて増減する。例えば、luma_log2_weight_denomの値が3である場合、明度変化がないと仮定した場合のluma_weight_lx[i]は、(1<<3)となる。一方、luma_log2_weight_denomの値が5である場合、明度変化がないと仮定した場合のluma_weight_lx[i]は、(1<<5)となる。 Next, a method of predicting luma_weight_lx[i] and chroma_weight_lx[i][j] representing the weighting factors of the luminance and color difference signals will be described. Here, x is an identifier indicating 0 or 1. The values of luma_weight_lx[i] and chroma_weight_lx[i][j] increase/decrease according to the values of luma_log2_weight_denom and chroma_log2_weight_denom, respectively. For example, when the value of luma_log2_weight_denom is 3, the luma_weight_lx[i] is (1<<3) assuming that there is no change in brightness. On the other hand, when the value of luma_log2_weight_denom is 5, the luma_weight_lx[i] is (1<<5) assuming that there is no change in brightness.

このため、インデックス再構成部110Bは、明度変化がない場合の重み係数を基準係数(デフォルト値)として予測処理を行う。具体的には、インデックス再構成部110Bは、数式(12)〜(13)を用いてluma_weight_lx[i]の予測処理を行い、数式(14)を用いて、復元処理を行う。同様に、インデックス再構成部110Bは、数式(15)〜(16)を用いてchroma_weight_lx[i]の予測処理を行い、数式(17)を用いて、復元処理を行う。 Therefore, the index reconstructing unit 110B performs the prediction process using the weighting coefficient when there is no brightness change as the reference coefficient (default value). Specifically, the index reconstructing unit 110B performs the prediction process of luma_weight_lx[i] using Formulas (12) to (13), and performs the restoration process using Formula (14). Similarly, the index reconstructing unit 110B performs the prediction process of chroma_weight_lx[i] using Formulas (15) to (16), and performs the restoration process using Formula (17).

delta_luma_weight_lx[i] = (luma_weight_lx[i] - default_luma_weight_lx) …(12) delta_luma_weight_lx[i] = (luma_weight_lx[i]-default_luma_weight_lx) (12)

default_luma_weight_lx = (1<<luma_log2_weight_denom) …(13) default_luma_weight_lx = (1<<luma_log2_weight_denom) (13)

luma_weight_lx[i] = (default_luma_weight_lx + delta_luma_weight_lx[i]) …(14) luma_weight_lx[i] = (default_luma_weight_lx + delta_luma_weight_lx[i]) (14)

delta_chroma_weight_lx[i][j] = (chroma_weight_lx[i][j] - default_chroma_weight_lx) …(15) delta_chroma_weight_lx[i][j] = (chroma_weight_lx[i][j]-default_chroma_weight_lx) (15)

default_chroma_weight_lx = (1<<chroma_log2_weight_denom) …(16) default_chroma_weight_lx = (1<<chroma_log2_weight_denom) (16)

chroma_weight_lx[i][j] = (default_chroma_weight_lx + delta_chroma_weight_lx[i][j]) …(17) chroma_weight_lx[i][j] = (default_chroma_weight_lx + delta_chroma_weight_lx[i][j]) (17)

ここで、default_luma_weight_lx、default_chroma_weight_lxは、それぞれ、輝度成分、色差成分における明度変化がないデフォルト値である。 Here, default_luma_weight_lx and default_chroma_weight_lx are default values with no brightness change in the luminance component and the color difference component, respectively.

図16は、第1実施形態のluma_weight_lx[i]の予測処理の一例を示すフローチャートである。 FIG. 16 is a flowchart showing an example of a luma_weight_lx[i] prediction process of the first embodiment.

まず、インデックス再構成部110Bは、インデックス情報に設定されているluma_log2_weight_denomを導出し(ステップS301)、default_luma_weight_lxを予測値として算出する(ステップS302)。 First, the index reconstructing unit 110B derives luma_log2_weight_denom set in the index information (step S301) and calculates default_luma_weight_lx as a predicted value (step S302).

続いて、インデックス再構成部110Bは、luma_weight_lx[i]からdefault_luma_weight_lxを減算し(ステップS303)、差分値をdelta_luma_weight_lx[i]としてインデックス情報に設定する(ステップS304)。 Subsequently, the index reconstructing unit 110B subtracts default_luma_weight_lx from luma_weight_lx[i] (step S303), and sets the difference value in the index information as delta_luma_weight_lx[i] (step S304).

なお、本処理を参照画像枚数分だけ繰り返すことでluma_weight_lx[i]に予測処理を適用できる。 Note that the prediction process can be applied to luma_weight_lx[i] by repeating this process for the number of reference images.

図17は、第1実施形態のluma_weight_lx[i]の復元処理の一例を示すフローチャートである。 FIG. 17 is a flowchart showing an example of the restoration process of luma_weight_lx[i] according to the first embodiment.

まず、インデックス再構成部110Bは、インデックス情報に既に設定されているdelta_luma_weight_lx[i]を導出し(ステップS401)、default_luma_weight_lxを予測値として算出する(ステップS402)。 First, the index reconstructing unit 110B derives delta_luma_weight_lx[i] already set in the index information (step S401) and calculates default_luma_weight_lx as a predicted value (step S402).

続いて、インデックス再構成部110Bは、delta_luma_weight_lx[i]をdefault_luma_weight_lxに加算し(ステップS403)、加算値をluma_weight_lx[i]としてインデックス情報に設定する(ステップS404)。 Subsequently, the index reconstructing unit 110B adds delta_luma_weight_lx[i] to default_luma_weight_lx (step S403), and sets the added value as luma_weight_lx[i] in the index information (step S404).

なお、ここでは輝度成分に対するフローチャートを示したが、色差成分(chroma_weight_lx[i][j])に関しても同様に予測処理と復元処理が実現できる。 Although the flowchart for the luminance component is shown here, the prediction process and the restoration process can be similarly realized for the color difference component (chroma_weight_lx[i][j]).

フェード効果を含む画像は、ある特定のフェード変化点でフェードを行い、それ以外の画像は通常の自然画像又はフェード効果のない画像であることが多い。この場合、重み係数は明度変化がない場合を取ることが多くなる。そこで、明度変化がない場合の初期値を、固定小数点精度から導出し、予測値として用いることで重み係数の符号量を削減できる。 An image including a fade effect is often faded at a specific fade change point, and other images are usually natural images or images without a fade effect. In this case, the weighting factor is often taken when there is no change in brightness. Therefore, it is possible to reduce the code amount of the weighting factor by deriving the initial value when there is no change in brightness from the fixed-point precision and using it as the predicted value.

なお、輝度及び色差信号の重み係数(luma_weight_lx[i]及びchroma_weight_lx[i][j])の予測値を、異なる参照番号又は異なるPOC番号で導出してもよい。この場合、符号化対象スライスから最も距離の近い参照番号をbase_idxとすると、インデックス再構成部110Bは、数式(18)を用いてluma_weight_lx[i]の予測処理を行い、数式(19)を用いて、復元処理を行う。同様に、インデックス再構成部110Bは、数式(20)を用いてchroma_weight_lx[i][j]の予測処理を行い、数式(21)を用いて、復元処理を行う。 Note that the prediction values of the weighting factors (luma_weight_lx[i] and chroma_weight_lx[i][j]) of the luminance and color difference signals may be derived with different reference numbers or different POC numbers. In this case, assuming that the reference number closest to the encoding target slice is base_idx, the index reconstruction unit 110B performs the prediction process of luma_weight_lx[i] using Equation (18) and uses Equation (19). , Restore process. Similarly, the index reconstructing unit 110B performs the prediction process of chroma_weight_lx[i][j] using Equation (20) and the restoration process using Equation (21).

delta_luma_weight_lx[i] = (luma_weight_lx[i] - luma_weight_lx[base_idx]) …(18) delta_luma_weight_lx[i] = (luma_weight_lx[i]-luma_weight_lx[base_idx]) (18)

luma_weight_lx[i] = (delta_luma_weight_lx[i] + luma_weight_lx[base_idx]) …(19) luma_weight_lx[i] = (delta_luma_weight_lx[i] + luma_weight_lx[base_idx]) (19)

delta_chroma_weight_lx[i][j] = (chroma_weight_lx[i][j] - chroma_weight_lx[base_idx][j]) …(20) delta_chroma_weight_lx[i][j] = (chroma_weight_lx[i][j]-chroma_weight_lx[base_idx][j]) (20)

chroma_weight_lx[i][j] = (delta_chroma_weight_lx[i][j] + chroma_weight_lx[base_idx][j]) …(21) chroma_weight_lx[i][j] = (delta_chroma_weight_lx[i][j] + chroma_weight_lx[base_idx][j]) (21)

ここで、数式(18)及び(20)では、i≠base_idxとなる。base_idxで示される参照番号の重み係数は、数式(18)及び(20)で利用できないので、数式(12)〜(13)及び(15)〜(16)を利用すればよい。 Here, in the equations (18) and (20), i≠base_idx. Since the weighting coefficient of the reference number indicated by base_idx cannot be used in Expressions (18) and (20), Expressions (12) to (13) and (15) to (16) may be used.

図18は、第1実施形態のluma_weight_lx[i]の予測処理の他の例を示すフローチャートである。 FIG. 18 is a flowchart showing another example of the luma_weight_lx[i] prediction process of the first embodiment.

まず、インデックス再構成部110Bは、基準となる参照番号を示すbaseidxを設定する(ステップS501)。ここでは、baseidxの値を、仮に0とする。 First, the index reconstructing unit 110B sets baseidx indicating a reference number serving as a reference (step S501). Here, the value of baseidx is assumed to be 0.

続いて、インデックス再構成部110Bは、baseidxに基づいて、インデックス情報からluma_weight_lx[baseidx]を予測値として導出する(ステップS502)。なお、baseidxで示されるインデックス情報のluma_weight_lx[baseidx]は、例えば、予測を行わず直値で符号化されている。 Next, the index reconstructing unit 110B derives luma_weight_lx[baseidx] as a predicted value from the index information based on baseidx (step S502). Note that the luma_weight_lx[baseidx] of the index information indicated by baseidx is encoded as a direct value without performing prediction, for example.

続いて、インデックス再構成部110Bは、luma_weight_lx[i]からluma_weight_lx[baseidx]を減算し(ステップS503)、差分値をdelta_luma_weight_lx[i]としてインデックス情報に設定する(ステップS504)。 Subsequently, the index reconstructing unit 110B subtracts luma_weight_lx[baseidx] from luma_weight_lx[i] (step S503), and sets the difference value as delta_luma_weight_lx[i] in the index information (step S504).

なお、本処理を参照画像枚数分だけ繰り返すことでbaseidx以外のluma_weight_lx[i]に予測処理を適用できる。 Note that the prediction process can be applied to luma_weight_lx[i] other than baseidx by repeating this process for the number of reference images.

図19は、第1実施形態のluma_weight_lx[i]の復元処理の他の例を示すフローチャートである。 FIG. 19 is a flowchart showing another example of the restoration process of luma_weight_lx[i] according to the first embodiment.

まず、インデックス再構成部110Bは、基準となる参照番号を示すbaseidxを設定する(ステップS601)。ここでは、baseidxの値を、仮に0とする。 First, the index reconstructing unit 110B sets baseidx indicating a reference number as a reference (step S601). Here, the value of baseidx is assumed to be 0.

続いて、インデックス再構成部110Bは、baseidxに基づいて、インデックス情報からluma_weight_lx[baseidx]を予測値として導出する(ステップS602)。なお、baseidxで示されるインデックス情報のluma_weight_lx[baseidx]は、例えば、予測を行わず直値で符号化又は復号されている。 Subsequently, the index reconstructing unit 110B derives luma_weight_lx[baseidx] as a predicted value from the index information based on baseidx (step S602). Note that the luma_weight_lx[baseidx] of the index information indicated by baseidx is encoded or decoded as a direct value without performing prediction, for example.

続いて、インデックス再構成部110Bは、delta_luma_weight_lx[i]をluma_weight_lx[baseidx]に加算し(ステップS603)、加算値をluma_weight_lx[i]としてインデックス情報に設定する(ステップS604)。 Subsequently, the index reconstructing unit 110B adds delta_luma_weight_lx[i] to luma_weight_lx[baseidx] (step S603), and sets the added value as luma_weight_lx[i] in the index information (step S604).

なお、ここでは輝度成分に対するフローチャートを示したが、色差成分(chroma_weight_lx[i][j])に関しても同様に予測処理と復元処理が実現できる。また、ここでは、例として、luma_weight_lx[i]の予測方法及び復元方法を説明したが、luma_offset_lx[i]に関しても同様に予測、復元が可能である。 Although the flowchart for the luminance component is shown here, the prediction process and the restoration process can be similarly realized for the color difference component (chroma_weight_lx[i][j]). In addition, here, the prediction method and the restoration method of the luma_weight_lx[i] are described as an example, but the luma_offset_lx[i] can be similarly predicted and restored.

また、輝度及び色差信号の重み係数(luma_weight_lx[i]及びchroma_weight_lx[i][j])の予測値を、符号化対象の参照スライスとの距離を用いて導出してもよい。この場合、インデックス再構成部110Bは、数式(22)を用いてluma_weight_lx[i]の予測処理を行い、数式(23)を用いて、復元処理を行う。同様に、インデックス再構成部110Bは、数式(24)を用いてchroma_weight_lx[i][j]の予測処理を行い、数式(25)を用いて、復元処理を行う。 In addition, the prediction values of the weighting coefficients (luma_weight_lx[i] and chroma_weight_lx[i][j]) of the luminance and color difference signals may be derived using the distance from the reference slice to be encoded. In this case, the index reconstructing unit 110B performs the prediction process of luma_weight_lx[i] by using the formula (22), and performs the restoration process by using the formula (23). Similarly, the index reconstructing unit 110B performs the prediction process of chroma_weight_lx[i][j] using Equation (24) and the restoration process using Equation (25).

delta_luma_weight_lx[i] = (luma_weight_lx[i] - luma_weight_lx[i-1]) …(22) delta_luma_weight_lx[i] = (luma_weight_lx[i]-luma_weight_lx[i-1]) (22)

luma_weight_lx[i] = (delta_luma_weight_lx[i] + luma_weight_lx[i-1]) …(23) luma_weight_lx[i] = (delta_luma_weight_lx[i] + luma_weight_lx[i-1]) (23)

delta_chroma_weight_lx[i][j] = (chroma_weight_lx[i][j] - chroma_weight_lx[i-1][j]) …(24) delta_chroma_weight_lx[i][j] = (chroma_weight_lx[i][j]-chroma_weight_lx[i-1][j]) (24)

chroma_weight_lx[i][j] = (delta_chroma_weight_lx[i][j] + chroma_weight_lx[i-1][j]) …(25) chroma_weight_lx[i][j] = (delta_chroma_weight_lx[i][j] + chroma_weight_lx[i-1][j]) (25)

ここで、数式(22)及び(24)では、i≠0となる。 Here, in equations (22) and (24), i≠0.

なお、本予測処理及び復号処理は、図18及び図19のフローチャートにおいて、baseidxにi-1番目の値(i≠0)を導入することと等価であるため、説明は省略する。なお、ここでは輝度成分に対するフローチャートを示したが、色差成分(chroma_weight_lx[i][j])に関しても同様に予測処理と復元処理が実現できる。また、ここでは、例として、luma_weight_lx[i]の予測方法及び復元方法を説明したが、luma_offset_lx[i]に関しても同様に予測、復元が可能である。 The prediction process and the decoding process are equivalent to introducing the (i-1)th value (i≠0) in baseidx in the flowcharts of FIGS. 18 and 19, and thus the description thereof will be omitted. Although the flowchart for the luminance component is shown here, the prediction process and the restoration process can be similarly realized for the color difference component (chroma_weight_lx[i][j]). In addition, here, the prediction method and the restoration method of the luma_weight_lx[i] are described as an example, but the luma_offset_lx[i] can be similarly predicted and restored.

符号化対象スライスが参照可能な参照スライスは、符号化効率の観点で符号化対象スライスから時間距離的又は空間距離的に近いスライスが設定される場合が多い。ここで、時間距離的に連続するスライスの輝度変化は相関が高いため、重み係数及びオフセットの時間距離的な相関も高い。そこで、基準となる参照スライスの重み係数及びオフセット値を用いて、時間的に異なる参照スライスの重み係数及びオフセット値を予測することで、効率良く符号量を削減できる。なお、空間的に同一の参照スライスは、同じ重み係数及びオフセット値を取る場合が多いため、同様の理由で予測を導入することにより、符号量を削減できる。 As a reference slice that can be referred to by the encoding target slice, a slice that is temporally or spatially close to the encoding target slice is often set from the viewpoint of encoding efficiency. Here, since the changes in luminance of slices that are continuous in terms of time distance have a high correlation, the weight coefficient and the offset also have a high time distance correlation. Therefore, it is possible to efficiently reduce the code amount by predicting the weighting coefficient and the offset value of the reference slice that are temporally different by using the weighting coefficient and the offset value of the reference reference slice. It should be noted that spatially identical reference slices often have the same weighting factor and offset value. Therefore, by introducing prediction for the same reason, the code amount can be reduced.

次に、色差信号のオフセットを表すchroma_offset_lx[i][j]の予測方法について説明する。YUVの色空間では、色差成分は、中央値からのズレ量で色を表現する。このため、重み係数を用いて中央値を考慮した明度変化からの変化量を予測値とすることができる。具体的には、インデックス再構成部110Bは、数式(26)〜(27)を用いてchroma_offset_lx[i][j]の予測処理を行い、数式(28)を用いて、復元処理を行う。 Next, a method of predicting chroma_offset_lx[i][j] representing the offset of the color difference signal will be described. In the YUV color space, the color difference component represents a color with an amount of deviation from the median value. For this reason, the amount of change from the change in brightness considering the median can be used as the predicted value using the weighting coefficient. Specifically, the index reconstructing unit 110B performs the prediction process of chroma_offset_lx[i][j] using the formulas (26) to (27), and performs the restoration process using the formula (28).

delta_chroma_offset_lx[i][j] = (chroma_offset_lx[i][j] + ( ( MED * chroma_weight_lx[i][j])>> chroma_log2_weight_denom) - MED ) …(26) delta_chroma_offset_lx[i][j] = (chroma_offset_lx[i][j] + (( MED * chroma_weight_lx[i][j])>> chroma_log2_weight_denom)-MED) …(26)

MED = (MaxChromaValue>>1) …(27) MED = (MaxChromaValue>>1) (27)

ここで、MaxChromaValueは色差信号が取れる最大明度を示している。例えば、8ビットの信号である場合、MaxChromaValueは255であり、MEDは128となる。 Here, MaxChromaValue indicates the maximum brightness at which the color difference signal can be obtained. For example, in the case of an 8-bit signal, MaxChromaValue is 255 and MED is 128.

chroma_offset_lx[i][j] = (delta_chroma_offset_lx[i][j] - ( ( MED * chroma_weight_lx[i][j])>> chroma_log2_weight_denom) + MED ) …(28) chroma_offset_lx[i][j] = (delta_chroma_offset_lx[i][j]-(( MED * chroma_weight_lx[i][j])>> chroma_log2_weight_denom) + MED) (28)

図20は、第1実施形態のchroma_offset_lx[i][j]の予測処理の一例を示すフローチャートである。 FIG. 20 is a flowchart showing an example of chroma_offset_lx[i][j] prediction processing according to the first embodiment.

まず、インデックス再構成部110Bは、インデックス情報に設定されているchroma_log2_weight_denomを導出する(ステップS701)。 First, the index reconstructing unit 110B derives chroma_log2_weight_denom set in the index information (step S701).

続いて、インデックス再構成部110Bは、インデックス情報に設定されているchroma_offset_lx[i][j]を導出する(ステップS702)。 Subsequently, the index reconstructing unit 110B derives chroma_offset_lx[i][j] set in the index information (step S702).

続いて、インデックス再構成部110Bは、色差信号の最大値(最大信号)の中間値を導出する(ステップS703)。 Subsequently, the index reconstructing unit 110B derives the intermediate value of the maximum value (maximum signal) of the color difference signals (step S703).

続いて、インデックス再構成部110Bは、delta_chroma_offsett_lx[i][j]を導出し、インデックス情報に設定する(ステップS704)。 Subsequently, the index reconstructing unit 110B derives delta_chroma_offsett_lx[i][j] and sets it as index information (step S704).

図21は、第1実施形態のchroma_offset_lx[i][j]の復元処理の一例を示すフローチャートである。 21 is a flowchart showing an example of chroma_offset_lx[i][j] restoration processing according to the first embodiment.

まず、インデックス再構成部110Bは、インデックス情報に既に設定されているchroma_log2_weight_denomを導出する(ステップS801)。 First, the index reconstructing unit 110B derives chroma_log2_weight_denom already set in the index information (step S801).

続いて、インデックス再構成部110Bは、インデックス情報に設定されているchroma_offset_lx[i][j]を導出する(ステップS802)。 Subsequently, the index reconstructing unit 110B derives chroma_offset_lx[i][j] set in the index information (step S802).

続いて、インデックス再構成部110Bは、色差信号の最大値(最大信号)の中間値を導出する(ステップS803)。 Subsequently, the index reconstructing unit 110B derives the intermediate value of the maximum value (maximum signal) of the color difference signals (step S803).

続いて、インデックス再構成部110Bは、chroma_offsett_lx[i][j]を導出し、インデックス情報に設定する(ステップS804)。 Subsequently, the index reconstructing unit 110B derives chroma_offsett_lx[i][j] and sets it as index information (step S804).

色差信号の信号特性を利用して、中央値からのズレ量を考慮した予測値を導入することにより、オフセット値をそのまま符号化する場合と比較して、色差信号のオフセット値の符号量を削減できる。 By using the signal characteristics of the color difference signal and introducing a prediction value that considers the amount of deviation from the median value, the code amount of the offset value of the color difference signal is reduced compared to the case where the offset value is coded as it is. it can.

次に、H.264などで定義されている重み付き予測の暗黙的重み付き予測のWPパラメータ導出方法を用いた重み係数及び固定小数点精度の予測値導出手法を説明する。H.264の暗黙的重み付き予測では、参照スライス間の時間的距離(POC番号の時間比率)に応じて、重み係数を導出している(オフセットは0となる)。参照スライス間の時間的距離は、POC番号に基づいて、符号化対象スライスと参照スライス間の距離を導出し、その距離比に基づいて重み係数が定まる。この際、固定小数点精度は固定値5に設定される。 Next, H.264. A method of deriving a weighted coefficient and a prediction value with fixed-point precision using a WP parameter derivation method of implicit weighted prediction of weighted prediction defined in H.264 and the like will be described. H. In the H.264 implicit weighted prediction, the weighting factor is derived (the offset becomes 0) according to the temporal distance between the reference slices (the time ratio of the POC numbers). For the temporal distance between reference slices, the distance between the encoding target slice and the reference slice is derived based on the POC number, and the weighting factor is determined based on the distance ratio. At this time, the fixed point precision is set to the fixed value 5.

例えばH.264では、数式(29)に示す疑似コードに従って重み係数が導出される。 For example, H. In H.264, weighting factors are derived according to the pseudo code shown in equation (29).

td = Clip3(-128, 127, POCA - POCB)
tb = Clip3(-128, 127, POCT - POCA)
tx = ( td != 0 ) ? ( ( 16384 + abs( td / 2 ) ) / td ) : (0)
DistScaleFactor = Clip3( -1024, 1023, ( tb * tx + 32 ) >> 6 )
implicit_luma_weight_l0[i] = 64 - (DistScaleFactor >> 2)
implicit_luma_weight_l1[i] = DistScaleFactor >> 2 …(29)
td = Clip3(-128, 127, POCA-POCB)
tb = Clip3(-128, 127, POCT-POCA)
tx = (td != 0 )? (( 16384 + abs( td / 2 )) / td ): (0)
DistScaleFactor = Clip3( -1024, 1023, (tb * tx + 32) >> 6)
implicit_luma_weight_l0[i] = 64-(DistScaleFactor >> 2)
implicit_luma_weight_l1[i] = DistScaleFactor >> 2 …(29)

ここで、POCAは、リスト1に対応する参照画像AのPOC番号、POCBは、リスト0に対応する参照画像BのPOC番号、POCTは、予測対象画像のPOC番号を示している。Clip3(L,M,N)は、最後の引数Nが、最初の2つが示す最小値Lと最大値Mの範囲を超えないようにクリップ処理を行う関数である。abs()関数は、引数の絶対値を返す関数である。td及びtbは、時間比を表しており、tdは、リスト1に対応する参照画像のPOC番号とリスト0に対応する参照画像のPOC番号の差、tbは、予測対象画像のPOC番号とリスト0に対応する参照画像のPOC番号の差を示す。これらの値によって重み係数の距離におけるスケーリング変数DistScaleFactorが導出される。DistScaleFactorに基づいて、リスト0及びリスト1に対応する重み係数(implicit_luma_weight_l0[i]、implicit_luma_weight_l1[i])が導出される。なお、色差信号についても同様に設定される。インデックス再構成部110Bは、ここで導出される固定小数点精度implicit_log2_weight_denomを用いて、数式(30)で固定小数点精度を予測する。 Here, POCA is the POC number of the reference image A corresponding to list 1, POCB is the POC number of the reference image B corresponding to list 0, and POCT is the POC number of the prediction target image. Clip3(L,M,N) is a function that performs clipping processing so that the last argument N does not exceed the range between the minimum value L and the maximum value M indicated by the first two. The abs() function is a function that returns the absolute value of its argument. td and tb represent time ratios, td is the difference between the POC number of the reference image corresponding to list 1 and the POC number of the reference image corresponding to list 0, and tb is the POC number of the prediction target image and the list. The difference between the POC numbers of the reference images corresponding to 0 is shown. These values lead to the scaling variable DistScaleFactor at the distance of the weighting factor. Based on DistScaleFactor, the weighting factors (implicit_luma_weight_l0[i], implicit_luma_weight_l1[i]) corresponding to list 0 and list 1 are derived. The color difference signal is set in the same manner. The index reconstructing unit 110B uses the fixed-point precision implicit_log2_weight_denom derived here to predict the fixed-point precision by the mathematical expression (30).

delta_luma_log2_weight_denom = (luma_log2_weight_denom - implicit_log2_weight_denom) …(30) delta_luma_log2_weight_denom = (luma_log2_weight_denom-implicit_log2_weight_denom) (30)

なお、色差信号の固定小数点精度も数式(30)で予測できる。この値は、数式(31)で復元される。 The fixed point precision of the color difference signal can also be predicted by the mathematical expression (30). This value is restored by equation (31).

luma_log2_weight_denom = (delta_luma_log2_weight_denom + implicit_log2_weight_denom) …(31) luma_log2_weight_denom = (delta_luma_log2_weight_denom + implicit_log2_weight_denom) …(31)

なお、色差信号の固定小数点精度も数式(31)と同様の方法で復元できる。 The fixed point precision of the color difference signal can also be restored by the same method as Expression (31).

次に、重み係数の予測式を説明する。暗黙的重み係数をimplicit_luma_weight_lx[i]とすると、インデックス再構成部110Bは、数式(32)で重み係数luma_weight_lx[i]を予測し、数式(33)で復元する。 Next, a weight coefficient prediction formula will be described. When the implicit weighting coefficient is implicit_luma_weight_lx[i], the index reconstructing unit 110B predicts the weighting coefficient luma_weight_lx[i] with Expression (32) and restores it with Expression (33).

if(luma_log2_weight_denom >= implicit_log2_weight_denom ) {
norm_denom = (luma_log2_weight_denom - implicit_log2_weight_denom)
delta_luma_weight_lx[i] = (luma_weight_lx[i] - (implicit_luma_weight_lx[i] << norm_denom) )

else{
norm_denom = (implicit_log2_weight_denom - luma_log2_weight_denom)
delta_luma_weight_lx[i] = (luma_weight_lx[i] - (implicit_luma_weight_lx[i] >> norm_denom) )
} …(32)
if(luma_log2_weight_denom >= implicit_log2_weight_denom) {
norm_denom = (luma_log2_weight_denom-implicit_log2_weight_denom)
delta_luma_weight_lx[i] = (luma_weight_lx[i]-(implicit_luma_weight_lx[i] << norm_denom))
}
else{
norm_denom = (implicit_log2_weight_denom-luma_log2_weight_denom)
delta_luma_weight_lx[i] = (luma_weight_lx[i]-(implicit_luma_weight_lx[i] >> norm_denom))
} (32)

ここでは、インデックス再構成部110Bは、暗黙的重み付き予測の固定小数点精度から大きいか小さいかにより、重み係数を補正して予測に利用する。 Here, the index reconstructing unit 110B corrects the weighting factor and uses it for prediction depending on whether the fixed-point precision of implicit weighted prediction is larger or smaller.

if(luma_log2_weight_denom >= implicit_log2_weight_denom ) {
norm_denom = (luma_log2_weight_denom - implicit_log2_weight_denom)
luma_weight_lx[i] = (delta_luma_weight_lx[i] + (implicit_luma_weight_lx[i] << norm_denom) )

else{
norm_denom = (implicit_log2_weight_denom - luma_log2_weight_denom)
luma_weight_lx[i] = (delta_luma_weight_lx[i] + (implicit_luma_weight_lx[i] >> norm_denom) )
} …(33)
if(luma_log2_weight_denom >= implicit_log2_weight_denom) {
norm_denom = (luma_log2_weight_denom-implicit_log2_weight_denom)
luma_weight_lx[i] = (delta_luma_weight_lx[i] + (implicit_luma_weight_lx[i] << norm_denom))
}
else{
norm_denom = (implicit_log2_weight_denom-luma_log2_weight_denom)
luma_weight_lx[i] = (delta_luma_weight_lx[i] + (implicit_luma_weight_lx[i] >> norm_denom))
} (33)

なお、数式(32)では輝度成分の重み係数の例を示したが、色差成分についても同様な方法を用いることにより予測値を導出できる。 In addition, although the example of the weighting coefficient of the luminance component is shown in Expression (32), the prediction value can be derived also for the color difference component by using a similar method.

図22は、第1実施形態のluma_weight_lx[i]の予測処理の他の例を示すフローチャートである。 FIG. 22 is a flowchart showing another example of the luma_weight_lx[i] prediction process of the first embodiment.

まず、インデックス再構成部110Bは、インデックス情報に設定されているluma_log2_weight_denomを導出する(ステップS901)。 First, the index reconstructing unit 110B derives luma_log2_weight_denom set in the index information (step S901).

続いて、インデックス再構成部110Bは、H.264の暗黙的重み付き予測の導出方法に従って、implicit_log2_weight_denom及びimplicit_luma_weight_lx[i]を導出する(ステップS902、S903)。 Subsequently, the index reconstructing unit 110B sends the H.264. According to the H.264 implicit weighted prediction derivation method, implicit_log2_weight_denom and implicit_luma_weight_lx[i] are derived (steps S902 and S903).

続いて、インデックス再構成部110Bは、luma_log2_weight_denomがimplicit_log2_weight_denom以上かどうかを判断する(ステップS904)。 Subsequently, the index reconstructing unit 110B determines whether luma_log2_weight_denom is greater than or equal to implicit_log2_weight_denom (step S904).

luma_log2_weight_denomがimplicit_log2_weight_denom以上の場合(ステップS904でYes)、インデックス再構成部110Bは、luma_log2_weight_denomからimplicit_log2_weight_denomを減算し(ステップS905)、implicit_luma_weight_lx[i]を減算した値分左シフトし、予測値を導出する(ステップS906)。 When luma_log2_weight_denom is greater than or equal to implicit_log2_weight_denom (Yes in step S904), the index reconstructing unit 110B subtracts implicit_log2_weight_denom from luma_log2_weight_denom (step S905) and derives the predicted value by subtracting implicit_luma_weight_lx[i] (left shift). Step S906).

一方、luma_log2_weight_denomがimplicit_log2_weight_denom以上でない場合(ステップS904でNo)、インデックス再構成部110Bは、implicit_log2_weight_denomからluma_log2_weight_denomを減算し(ステップS907)、implicit_luma_weight_lx[i]を減算した値分右シフトし、予測値を導出する(ステップS908)。 On the other hand, when luma_log2_weight_denom is not greater than or equal to implicit_log2_weight_denom (No in step S904), the index reconstructing unit 110B subtracts luma_log2_weight_denom from implicit_log2_weight_denom (step S907) and derives the predicted value by subtracting implicit_luma_weight_lx[i] and shifting it to the right. Yes (step S908).

続いて、インデックス再構成部110Bは、luma_weight_lx[i]から導出した予測値を減算し(ステップS909)、減算した値(差分値)をインデックス情報に設定する(ステップS910)。 Subsequently, the index reconstructing unit 110B subtracts the predicted value derived from luma_weight_lx[i] (step S909), and sets the subtracted value (difference value) in the index information (step S910).

図23は、第1実施形態のluma_weight_lx[i]の復元処理の他の例を示すフローチャートである。 FIG. 23 is a flowchart showing another example of the luma_weight_lx[i] restoration processing according to the first embodiment.

まず、インデックス再構成部110Bは、インデックス情報に既に設定されているluma_log2_weight_denomを導出する(ステップS1001)。 First, the index reconstructing unit 110B derives luma_log2_weight_denom already set in the index information (step S1001).

続いて、インデックス再構成部110Bは、H.264の暗黙的重み付き予測の導出方法に従って、implicit_log2_weight_denom及びimplicit_luma_weight_lx[i]を導出する(ステップS1002、S1003)。 Subsequently, the index reconstructing unit 110B sends the H.264. According to the derivation method of H.264 implicit weighted prediction, implicit_log2_weight_denom and implicit_luma_weight_lx[i] are derived (steps S1002 and S1003).

続いて、インデックス再構成部110Bは、luma_log2_weight_denomがimplicit_log2_weight_denom以上かどうかを判断する(ステップS1004)。 Subsequently, the index reconstructing unit 110B determines whether luma_log2_weight_denom is greater than or equal to implicit_log2_weight_denom (step S1004).

luma_log2_weight_denomがimplicit_log2_weight_denom以上の場合(ステップS1004でYes)、インデックス再構成部110Bは、luma_log2_weight_denomからimplicit_log2_weight_denomを減算し(ステップS1005)、implicit_luma_weight_lx[i]を減算した値分左シフトし、予測値を導出する(ステップS1006)。 When luma_log2_weight_denom is greater than or equal to implicit_log2_weight_denom (Yes in step S1004), the index reconstructing unit 110B subtracts implicit_log2_weight_denom from luma_log2_weight_denom (step S1005), and derives the predicted value by subtracting implicit_luma_weight_lx[i] (left shift). Step S1006).

一方、luma_log2_weight_denomがimplicit_log2_weight_denom以上でない場合(ステップS1004でNo)、インデックス再構成部110Bは、implicit_log2_weight_denomからluma_log2_weight_denomを減算し(ステップS1007)、implicit_luma_weight_lx[i]を減算した値分右シフトし、予測値を導出する(ステップS1008)。 On the other hand, when luma_log2_weight_denom is not equal to or greater than implicit_log2_weight_denom (No in step S1004), the index reconstructing unit 110B subtracts luma_log2_weight_denom from implicit_log2_weight_denom (step S1007) and derives the predicted value by subtracting implicit_luma_weight_lx[i] and shifting it to the right. Yes (step S1008).

続いて、インデックス再構成部110Bは、delta_luma_weight_lx[i]に導出した予測値を加算し(ステップS1009)、加算した値をインデックス情報に設定する(ステップS1010)。 Subsequently, the index reconstructing unit 110B adds the derived prediction value to delta_luma_weight_lx[i] (step S1009), and sets the added value as index information (step S1010).

なお、上記で説明した複数の予測手法は、単独で使用するだけでなく組み合わせて利用することもできる。例えば、数式(10)、数式(12)〜(13)、数式(15)〜(16)、及び数式(26)〜(27)を組み合わせるなどとすることにより、インデックス情報におけるシンタクス要素の符号量を効率良く削減することが可能となる。 The plurality of prediction methods described above can be used not only individually but also in combination. For example, by combining Expression (10), Expressions (12) to (13), Expressions (15) to (16), and Expressions (26) to (27), the code amount of the syntax element in the index information is combined. Can be efficiently reduced.

以上のように第1実施形態では、インデックス設定部108は、WPパラメータ情報を対応するシンタクス構成にマッピングしたインデックス情報を出力し、インデックス再構成部110Bは、シンタクス要素の冗長な表現を、当該スライス内で符号化される情報に基づいて予測する。従って、第1実施形態によれば、シンタクス要素をそのまま(直値で)符号化する場合と比較して、符号量を削減することができる。 As described above, in the first embodiment, the index setting unit 108 outputs index information obtained by mapping the WP parameter information into the corresponding syntax configuration, and the index reconfiguration unit 110B outputs the redundant representation of the syntax element to the slice. Predict based on information encoded within. Therefore, according to the first embodiment, the code amount can be reduced as compared with the case where the syntax element is encoded as it is (with a direct value).

ここで、符号化対象スライスで利用されるシンタクス要素の定義順(符号化順序)に基づいて、既に符号化済みのシンタクス要素から画面内相関として予測値を導出することや、明度変化がないことを仮定したデフォルト値から、予測値を導出することで、シンタクス要素の特徴を活かした予測が可能となり、結果としてシンタクス要素の符号化に必要なオーバーヘッドを削減できる効果を奏する。 Here, based on the definition order (encoding order) of the syntax elements used in the slice to be encoded, the predicted value is derived as the intra-frame correlation from the already encoded syntax elements, and the brightness does not change. By deriving the prediction value from the default value assuming that, it is possible to perform prediction that makes use of the characteristics of the syntax element, and as a result, it is possible to reduce the overhead required for encoding the syntax element.

なお、第1実施形態の図10〜図13に例示するシンタクステーブルの行間には、本実施形態において規定していないシンタクス要素が挿入されてもよいし、その他の条件分岐に関する記述が含まれていてもよい。また、シンタクステーブルを複数のテーブルに分割したり、複数のシンタクステーブルを統合したりしてもよい。また、例示した各シンタクス要素の用語は、任意に変更可能である。 It should be noted that syntax elements not defined in the present embodiment may be inserted between the rows of the syntax table illustrated in FIGS. 10 to 13 of the first embodiment, and description regarding other conditional branches is included. May be. Further, the syntax table may be divided into a plurality of tables or the plurality of syntax tables may be integrated. Moreover, the term of each syntax element illustrated can be arbitrarily changed.

以上説明したように、第1実施形態の符号化装置100は、符号化する情報のパラメータの相関を利用して空間冗長性を削除することにより、符号化効率が低下する問題を解消する。符号化装置100は、重み付き動き補償予測で用いるシンタクス要素をそのまま(直値で)符号化していた従来の構成と比較して、符号量を削減することができる。 As described above, the encoding device 100 of the first embodiment solves the problem of reduction in encoding efficiency by deleting spatial redundancy using the correlation of parameters of information to be encoded. The encoding apparatus 100 can reduce the code amount as compared with the conventional configuration in which the syntax elements used in the weighted motion compensation prediction are encoded as they are (in direct values).

(第2実施形態)
第2実施形態では、第1実施形態の符号化装置で符号化された符号化データを復号する復号装置について説明する。
(Second embodiment)
In the second embodiment, a decoding device that decodes the encoded data encoded by the encoding device of the first embodiment will be described.

図24は、第2実施形態の復号装置800の構成の一例を示すブロック図である。 FIG. 24 is a block diagram showing an example of the configuration of the decoding device 800 according to the second embodiment.

復号装置800は、図示せぬ入力バッファなどに蓄積された符号化データを復号画像に復号し、出力画像として図示せぬ出力バッファに出力する。符号化データは、例えば、図1の符号化装置100などから出力され、図示せぬ蓄積系、伝送系、又はバッファなどを経て、復号装置800に入力される。 The decoding device 800 decodes the encoded data accumulated in an input buffer (not shown) or the like into a decoded image and outputs it as an output image to an output buffer (not shown). The encoded data is output from, for example, the encoding device 100 in FIG. 1 or the like, and is input to the decoding device 800 via a storage system, a transmission system, a buffer, or the like (not shown).

復号装置800は、図24に示すように、復号部801と、逆量子化部802と、逆直交変換部803と、加算部804と、予測画像生成部805と、インデックス設定部806とを、備える。逆量子化部802、逆直交変換部803、加算部804、予測画像生成部805は、それぞれ、図1の逆量子化部104、逆直交変換部105、加算部106、予測画像生成部107、と実質的に同一又は類似の要素である。なお、図24に示す復号制御部807は、復号装置800を制御するものであり、例えば、CPUなどにより実現できる。 As shown in FIG. 24, the decoding device 800 includes a decoding unit 801, an inverse quantization unit 802, an inverse orthogonal transformation unit 803, an addition unit 804, a predicted image generation unit 805, and an index setting unit 806. Prepare The inverse quantization unit 802, the inverse orthogonal transformation unit 803, the addition unit 804, and the prediction image generation unit 805 are the inverse quantization unit 104, the inverse orthogonal transformation unit 105, the addition unit 106, the prediction image generation unit 107, and the prediction image generation unit 107 of FIG. 1, respectively. Is substantially the same as or similar to the element. The decoding control unit 807 shown in FIG. 24 controls the decoding device 800 and can be realized by, for example, a CPU.

復号部801は、符号化データの復号のために、1フレーム又は1フィールド毎にシンタクスに基づいて解読を行う。復号部801は、エントロピー復号部801Aと、インデックス再構成部801Bとを、備える。 The decoding unit 801 decodes each frame or field based on the syntax for decoding the encoded data. The decoding unit 801 includes an entropy decoding unit 801A and an index reconstructing unit 801B.

エントロピー復号部801Aは、各シンタクスの符号列を順次エントロピー復号し、予測モード、動きベクトル、及び参照番号などを含む動き情報、重み付き動き補償予測のためのインデックス情報、並びに量子化変換係数などの符号化対象ブロックの符号化パラメータを再生する。ここで、符号化パラメータとは、上記以外にも変換係数に関する情報、量子化に関する情報、などの復号に必要となるすべてのパラメータである。 The entropy decoding unit 801A sequentially entropy-decodes the code string of each syntax to obtain motion information including a prediction mode, motion vector, reference number, and the like, index information for weighted motion compensation prediction, quantized transform coefficient, and the like. The coding parameters of the coding target block are reproduced. Here, the coding parameters are all parameters other than those described above that are necessary for decoding information regarding transform coefficients, information regarding quantization, and the like.

具体的には、エントロピー復号部801Aは、入力されてきた符号化データに対して可変長復号処理や算術復号処理などの復号処理を行う機能を有する。例えば、H.264ではコンテキスト適応型の可変長符号化(CAVLC:Context based Adaptive Variable Length Coding)やコンテキスト適応型の算術符号化(CABAC:Context based Adaptive Binary Arithmetic Coding)などが用いられている。これらの処理は解読処理とも呼ばれる。 Specifically, the entropy decoding unit 801A has a function of performing a decoding process such as a variable length decoding process or an arithmetic decoding process on the input coded data. For example, H.264. In H.264, context-based variable-length coding (CAVLC) and context-based arithmetic coding (CABAC) are used for context-based adaptive coding (CABAC). These processes are also called decryption processes.

インデックス再構成部801Bは、解読されたインデックス情報を復元し、インデックス情報を再構成する。具体的には、インデックス再構成部801Bは、解読されたインデックス情報のシンタクス要素の符号長を削減するために、シンタクス要素のパラメータの特徴に応じて予測処理を行い、シンタクス要素を復元し、インデックス情報を再構成する。予測処理の具体例は、後述する。 The index reconstruction unit 801B restores the decrypted index information and reconstructs the index information. Specifically, the index reconstructing unit 801B performs a prediction process according to the characteristics of the parameter of the syntax element to reduce the code length of the syntax element of the decoded index information, restores the syntax element, and Reconstruct information. A specific example of the prediction process will be described later.

復号部801は、動き情報、インデックス情報、及び量子化変換係数を出力し、量子化変換係数を逆量子化部802に入力し、インデックス情報をインデックス設定部806に入力し、動き情報を予測画像生成部805に入力する。 The decoding unit 801 outputs the motion information, the index information, and the quantized transform coefficient, inputs the quantized transform coefficient to the inverse quantization unit 802, inputs the index information to the index setting unit 806, and sets the motion information to the predicted image. Input to the generation unit 805.

逆量子化部802は、復号部801から入力された量子化変換係数に対して逆量子化処理を行い、復元変換係数を得る。具体的には、逆量子化部802は、復号部801において使用された量子化情報に従って逆量子化を行う。より詳細には、逆量子化部802は、量子化情報によって導出された量子化ステップサイズを量子化変換係数に乗算し、復元変換係数を得る。逆量子化部802は、復元変換係数を出力し、逆直交変換部803に入力する。 The inverse quantization unit 802 performs an inverse quantization process on the quantized transform coefficient input from the decoding unit 801, and obtains a restored transform coefficient. Specifically, the inverse quantization unit 802 performs inverse quantization according to the quantization information used in the decoding unit 801. More specifically, the inverse quantization unit 802 multiplies the quantized transform coefficient by the quantized step size derived from the quantized information to obtain the restored transformed coefficient. The inverse quantization unit 802 outputs the restoration transform coefficient and inputs it to the inverse orthogonal transform unit 803.

逆直交変換部803は、逆量子化部802から入力された復元変換係数に対して、符号化側において行われた直交変換に対応する逆直交変換を行い、復元予測誤差を得る。逆直交変換部803は、復元予測誤差を出力し、加算部804に入力する。 The inverse orthogonal transform unit 803 performs an inverse orthogonal transform corresponding to the orthogonal transform performed on the encoding side on the restored transform coefficient input from the inverse quantization unit 802 to obtain a restored prediction error. The inverse orthogonal transformation unit 803 outputs the restoration prediction error and inputs it to the addition unit 804.

加算部804は、逆直交変換部803から入力された復元予測誤差と、対応する予測画像とを加算し、復号画像を生成する。加算部804は、復号画像を出力し、予測画像生成部805に入力する。また加算部804は、復号画像を出力画像として外部に出力する。出力画像は、その後図示せぬ外部の出力バッファなどに一時的に蓄積され、例えば、復号制御部807によって管理される出力タイミングに従って、図示せぬディスプレイやモニタなどの表示装置系又は映像デバイス系へ出力される。 The addition unit 804 adds the restoration prediction error input from the inverse orthogonal transformation unit 803 and the corresponding prediction image to generate a decoded image. The addition unit 804 outputs the decoded image and inputs the decoded image to the predicted image generation unit 805. Further, the addition unit 804 outputs the decoded image as an output image to the outside. The output image is then temporarily stored in an external output buffer (not shown) or the like, and is output to a display device system such as a display or monitor (not shown) or a video device system in accordance with the output timing managed by the decoding control unit 807, for example. Is output.

インデックス設定部806は、復号部801から入力されたインデックス情報を受け取り、WPパラメータ情報に変換して出力し、予測画像生成部805に入力する。具体的には、インデックス設定部806は、エントロピー復号部801Aで復号処理され、インデックス再構成部801Bで再構成されたインデックス情報を受け取る。そしてインデックス設定部806は、参照画像のリストと参照番号を確認して、WPパラメータ情報に変換し、変換したWPパラメータ情報を予測画像生成部805へ出力する。WPパラメータ情報については、図8A及び図8Bを参照して既に説明しているため、説明を省略する。 The index setting unit 806 receives the index information input from the decoding unit 801, converts the index information into WP parameter information, outputs the WP parameter information, and inputs the WP parameter information to the predicted image generation unit 805. Specifically, the index setting unit 806 receives the index information decoded by the entropy decoding unit 801A and reconstructed by the index reconstructing unit 801B. Then, the index setting unit 806 confirms the list of reference images and the reference numbers, converts them into WP parameter information, and outputs the converted WP parameter information to the predicted image generation unit 805. The WP parameter information has already been described with reference to FIGS. 8A and 8B, and thus the description will be omitted.

予測画像生成部805は、復号部801から入力された動き情報、インデックス設定部806から入力されたWPパラメータ情報、及び加算部804から入力された復号画像を用いて、予測画像815を生成する。 The predicted image generation unit 805 generates a predicted image 815 using the motion information input from the decoding unit 801, the WP parameter information input from the index setting unit 806, and the decoded image input from the addition unit 804.

ここで、図4を参照しながら、予測画像生成部805の詳細について説明する。予測画像生成部805は、予測画像生成部107同様、複数フレーム動き補償部201と、メモリ202と、単方向動き補償部203と、予測パラメータ制御部204と、参照画像セレクタ205と、フレームメモリ206と、参照画像制御部207と、を備える。 Here, the details of the predicted image generation unit 805 will be described with reference to FIG. Like the predicted image generation unit 107, the predicted image generation unit 805 includes a multiple frame motion compensation unit 201, a memory 202, a unidirectional motion compensation unit 203, a prediction parameter control unit 204, a reference image selector 205, and a frame memory 206. And a reference image control unit 207.

フレームメモリ206は、参照画像制御部207の制御の下、加算部106から入力された復号画像を参照画像として格納する。フレームメモリ206は、参照画像を一時保持するための複数のメモリセットFM1〜FMN(N≧2)を有する。 The frame memory 206 stores the decoded image input from the addition unit 106 as a reference image under the control of the reference image control unit 207. The frame memory 206 has a plurality of memory sets FM1 to FMN (N≧2) for temporarily holding a reference image.

予測パラメータ制御部204は、復号部801から入力される動き情報に基づいて、参照画像番号と予測パラメータとの複数の組み合わせをテーブルとして用意している。ここで、動き情報とは、動き補償予測で用いられる動きのズレ量を示す動きベクトルや参照画像番号、単方向/双方向予測などの予測モードに関する情報などを指す。予測パラメータは、動きベクトル及び予測モードに関する情報を指す。そして予測パラメータ制御部204は、動き情報に基づいて、予測画像の生成に用いる参照画像番号と予測パラメータとの組み合わせを選択して出力し、参照画像番号を参照画像セレクタ205に入力し、予測パラメータを単方向動き補償部203に入力する。 The prediction parameter control unit 204 prepares a plurality of combinations of reference image numbers and prediction parameters as a table based on the motion information input from the decoding unit 801. Here, the motion information refers to a motion vector used for motion compensation prediction, a reference image number, information about a prediction mode such as unidirectional/bidirectional prediction, and the like. Prediction parameters refer to information about motion vectors and prediction modes. Then, the prediction parameter control unit 204 selects and outputs a combination of the reference image number used for generating the predicted image and the prediction parameter based on the motion information, inputs the reference image number to the reference image selector 205, and outputs the prediction parameter. Is input to the unidirectional motion compensation unit 203.

参照画像セレクタ205は、フレームメモリ206が有するフレームメモリFM1〜FMNのいずれの出力端を接続するかを、予測パラメータ制御部204から入力された参照画像番号に従って切り替えるスイッチである。参照画像セレクタ205は、例えば、参照画像番号が0であれば、FM1の出力端を参照画像セレクタ205の出力端に接続し、参照画像番号がN−1であれば、FMNの出力端を参照画像セレクタ205の出力端に接続する。参照画像セレクタ205は、フレームメモリ206が有するフレームメモリFM1〜FMNのうち、出力端が接続されているフレームメモリに格納されている参照画像を出力し、単方向動き補償部203へ入力する。なお、復号装置800では、予測画像生成部805以外で参照画像は利用されないため、予測画像生成部805の外部へ参照画像を出力しなくてもよい。 The reference image selector 205 is a switch that switches which of the output ends of the frame memories FM1 to FMN included in the frame memory 206 is connected according to the reference image number input from the prediction parameter control unit 204. For example, the reference image selector 205 connects the output end of the FM1 to the output end of the reference image selector 205 if the reference image number is 0, and refers to the output end of the FMN if the reference image number is N-1. It is connected to the output end of the image selector 205. The reference image selector 205 outputs the reference image stored in the frame memory to which the output end is connected among the frame memories FM1 to FMN included in the frame memory 206, and inputs the reference image to the unidirectional motion compensation unit 203. In the decoding device 800, the reference image is not used except for the predicted image generation unit 805, and thus the reference image does not have to be output to the outside of the predicted image generation unit 805.

単方向予測動き補償部203は、予測パラメータ制御部204から入力された予測パラメータと参照画像セレクタ205から入力された参照画像に従って、動き補償予測処理を行い、単方向予測画像を生成する。動き補償予測については、図5を参照して既に説明しているため、説明を省略する。 The unidirectional prediction motion compensation unit 203 performs motion compensation prediction processing according to the prediction parameter input from the prediction parameter control unit 204 and the reference image input from the reference image selector 205 to generate a unidirectional prediction image. The motion-compensated prediction has already been described with reference to FIG. 5, so description thereof will be omitted.

単方向予測動き補償部203は、単方向予測画像を出力し、メモリ202に一時的に格納する。ここで、動き情報(予測パラメータ)が双方向予測を示す場合には、複数フレーム動き補償部201が2種類の単方向予測画像を用いて重み付き予測を行うため、単方向予測動き補償部203は、1つ目に対応する単方向予測画像をメモリ202に格納し、2つ目に対応する単法予測画像を複数フレーム動き補償部201に直接出力する。ここでは、1つ目に対応する単方向予測画像を第一予測画像とし、2つ目に対応する単方向予測画像を第二予測画像とする。 The unidirectional predictive motion compensation unit 203 outputs the unidirectional predicted image and temporarily stores it in the memory 202. Here, when the motion information (prediction parameter) indicates bidirectional prediction, the multi-frame motion compensation unit 201 performs weighted prediction using two types of unidirectionally predicted images, so the unidirectionally predicted motion compensation unit 203. Stores the unidirectional predicted image corresponding to the first in the memory 202, and directly outputs the unidirectional predicted image corresponding to the second to the multi-frame motion compensation unit 201. Here, the unidirectionally predicted image corresponding to the first is the first predicted image, and the unidirectionally predicted image corresponding to the second is the second predicted image.

なお、単方向動き補償部203を2つ用意し、それぞれが2つの単方向予測画像を生成するようにしてもよい。この場合、動き情報(予測パラメータ)が単方向予測を示すときには、単方向動き補償部203が、1つ目の単方向予測画像を第一予測画像として複数フレーム動き補償部201に直接出力すればよい。 It should be noted that two unidirectional motion compensation units 203 may be prepared and each may generate two unidirectional predicted images. In this case, if the motion information (prediction parameter) indicates unidirectional prediction, the unidirectional motion compensating unit 203 may directly output the first unidirectional predicted image as the first predicted image to the multi-frame motion compensating unit 201. Good.

複数フレーム動き補償部201は、メモリ202から入力される第一予測画像、単方向予測動き補償部203から入力される第二予測画像、及び動き評価部109から入力されるWPパラメータ情報を用いて、重み付き予測を行って予測画像を生成する。複数フレーム動き補償部201は、予測画像を出力し、加算部804に入力する。 The multi-frame motion compensation unit 201 uses the first prediction image input from the memory 202, the second prediction image input from the unidirectional prediction motion compensation unit 203, and the WP parameter information input from the motion evaluation unit 109. , Weighted prediction is performed to generate a predicted image. The multi-frame motion compensation unit 201 outputs the predicted image and inputs it to the addition unit 804.

ここで、図6を参照しながら、複数フレーム動き補償部201の詳細について説明する。複数フレーム動き補償部201は、予測画像生成部107同様、デフォルト動き補償部301と、重み付き動き補償部302と、WPパラメータ制御部303と、WPセレクタ304、305とを、備える。 Here, the details of the multi-frame motion compensation unit 201 will be described with reference to FIG. 6. Like the predicted image generation unit 107, the multi-frame motion compensation unit 201 includes a default motion compensation unit 301, a weighted motion compensation unit 302, a WP parameter control unit 303, and WP selectors 304 and 305.

WPパラメータ制御部303は、インデックス設定部806から入力されるWPパラメータ情報に基づいて、WP適用フラグ及び重み情報を出力し、WP適用フラグをWPセレクタ304、305に入力し、重み情報を重み付き動き補償部302に入力する。 The WP parameter control unit 303 outputs the WP application flag and weight information based on the WP parameter information input from the index setting unit 806, inputs the WP application flag to the WP selectors 304 and 305, and weights the weight information. It is input to the motion compensation unit 302.

ここで、WPパラメータ情報は、重み係数の固定小数点精度、第一予測画像に対応する第一WP適用フラグ,第一重み係数,及び第一オフセット、並びに第二予測画像に対応する第二WP適応フラグ,第二重み係数,及び第二オフセットの情報を含む。WP適用フラグは、該当する参照画像及び信号成分毎に設定可能なパラメータであり、重み付き動き補償予測を行うかどうかを示す。重み情報は、重み係数の固定小数点精度、第一重み係数、第一オフセット、第二重み係数、及び第二オフセットの情報を含む。なおWPパラメータ情報は、第1実施形態と同様の情報を表す。 Here, the WP parameter information includes the fixed point precision of the weighting factor, the first WP application flag corresponding to the first prediction image, the first weighting factor, and the first offset, and the second WP adaptation corresponding to the second prediction image. It includes information on a flag, a second weighting factor, and a second offset. The WP application flag is a parameter that can be set for each corresponding reference image and signal component, and indicates whether to perform weighted motion compensation prediction. The weight information includes fixed-point precision of the weight coefficient, first weight coefficient, first offset, second weight coefficient, and second offset information. The WP parameter information represents the same information as in the first embodiment.

詳細には、WPパラメータ制御部303は、インデックス設定部806からWPパラメータ情報が入力されると、WPパラメータ情報を第一WP適用フラグ、第二WP適用フラグ、及び重み情報に分離して出力し、第一WP適用フラグをWPセレクタ304に入力し、第二WP適用フラグをWPセレクタ305に入力し、重み情報を重み付き動き補償部302に入力する。 Specifically, when the WP parameter information is input from the index setting unit 806, the WP parameter control unit 303 separates the WP parameter information into a first WP applicable flag, a second WP applicable flag, and weight information, and outputs it. , The first WP application flag is input to the WP selector 304, the second WP application flag is input to the WP selector 305, and the weight information is input to the weighted motion compensation unit 302.

WPセレクタ304、305は、WPパラメータ制御部303から入力されたWP適用フラグに基づいて、各々の予測画像の接続端を切り替える。WPセレクタ304、305は、各々のWP適用フラグが0の場合、各々の出力端をデフォルト動き補償部301へ接続する。そしてWPセレクタ304、305は、第一予測画像及び第二予測画像を出力し、デフォルト動き補償部301に入力する。一方、WPセレクタ304、305は、各々のWP適用フラグが1の場合、各々の出力端を重み付き動き補償部302へ接続する。そしてWPセレクタ304、305は、第一予測画像及び第二予測画像を出力し、重み付き動き補償部302に入力する。 The WP selectors 304 and 305 switch the connection end of each predicted image based on the WP application flag input from the WP parameter control unit 303. When each WP application flag is 0, the WP selectors 304 and 305 connect each output terminal to the default motion compensation unit 301. Then, the WP selectors 304 and 305 output the first predicted image and the second predicted image and input them to the default motion compensation unit 301. On the other hand, the WP selectors 304 and 305 connect the respective output ends to the weighted motion compensation unit 302 when the respective WP application flags are 1. Then, the WP selectors 304 and 305 output the first predicted image and the second predicted image and input them to the weighted motion compensation unit 302.

デフォルト動き補償部301は、WPセレクタ304、305から入力された2つの単方向予測画像(第一予測画像及び第二予測画像)を元に平均値処理を行い、予測画像を生成する。具体的には、デフォルト動き補償部301は、第一WP適用フラグ及び第二WP適用フラグが0の場合、数式(1)に基づいて平均値処理を行う。 The default motion compensation unit 301 performs average value processing based on the two unidirectionally predicted images (first predicted image and second predicted image) input from the WP selectors 304 and 305, and generates a predicted image. Specifically, when the first WP application flag and the second WP application flag are 0, the default motion compensation unit 301 performs the average value process based on Expression (1).

なお、動き情報(予測パラメータ)で示される予測モードが単方向予測である場合、デフォルト動き補償部301は、第一予測画像のみを用いて、数式(4)に基づいて最終的な予測画像を算出する。 When the prediction mode indicated by the motion information (prediction parameter) is unidirectional prediction, the default motion compensation unit 301 uses only the first prediction image to calculate the final prediction image based on Expression (4). calculate.

重み付き動き補償部302は、WPセレクタ304、305から入力された2つの単方向予測画像(第一予測画像及び第二予測画像)とWPパラメータ制御部303から入力された重み情報とを元に重み付き動き補償を行う。具体的には、重み付き動き補償部302は、第一WP適用フラグ及び第二WP適用フラグが1の場合、数式(7)に基づいて重み付き処理を行う。 The weighted motion compensation unit 302 is based on the two unidirectional prediction images (first prediction image and second prediction image) input from the WP selectors 304 and 305 and the weight information input from the WP parameter control unit 303. Performs weighted motion compensation. Specifically, when the first WP application flag and the second WP application flag are 1, the weighted motion compensation unit 302 performs the weighting process based on Expression (7).

なお、重み付き動き補償部302は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるlogWDCを数式(8)のように制御することで丸め処理を実現する。 Note that the weighted motion compensation unit 302 controls the logWDC, which is fixed-point precision, as in Equation (8) when the first prediction image and the second prediction image have different calculation precisions from each other, thereby performing a rounding process. To realize.

また、動き情報(予測パラメータ)で示される予測モードが単方向予測である場合、重み付き動き補償部302は、第一予測画像のみを用いて、数式(9)に基づいて最終的な予測画像を算出する。 In addition, when the prediction mode indicated by the motion information (prediction parameter) is unidirectional prediction, the weighted motion compensation unit 302 uses only the first prediction image and the final prediction image based on Expression (9). To calculate.

なお、重み付き動き補償部302は、第一予測画像及び第二予測画像と予測画像との演算精度が異なる場合、固定小数点精度であるlogWDCを双方向予測時と同様に数式(8)のように制御することで丸め処理を実現する。 Note that the weighted motion compensation unit 302 sets the logWDC, which is fixed-point precision, to the formula (8) as in the case of bidirectional prediction when the calculation accuracy of the first predicted image and the second predicted image is different from that of the predicted image. The rounding process is realized by controlling to.

重み係数の固定小数点精度については、図7を参照して既に説明しているため、説明を省略する。なお、単方向予測の場合には、第二予測画像に対応する各種パラメータ(第二WP適応フラグ,第二重み係数,及び第二オフセットの情報)は利用されないため、予め定めた初期値に設定されていてもよい。 Since the fixed point precision of the weighting factor has already been described with reference to FIG. 7, the description thereof will be omitted. Note that, in the case of unidirectional prediction, various parameters (second WP adaptation flag, second weighting coefficient, and second offset information) corresponding to the second predicted image are not used, so set to a predetermined initial value. It may have been done.

復号部801は、図9に示すシンタクス500を利用する。シンタクス500は、復号部801の復号対象の符号化データの構造を示している。シンタクス500については、図9を参照して既に説明しているため、説明を省略する。また、ピクチャパラメータセットシンタクス505については、符号化が復号である点を除き、図10を参照して既に説明しているため、説明を省略する。また、スライスヘッダーシンタクス507についても、符号化が復号である点を除き、図11を参照して既に説明しているため、説明を省略する。また、プレッドウェイトテーブルシンタクス508についても、符号化が復号である点を除き、図12を参照して既に説明しているため、説明を省略する。 The decoding unit 801 uses the syntax 500 shown in FIG. The syntax 500 shows the structure of the encoded data to be decoded by the decoding unit 801. The syntax 500 has already been described with reference to FIG. 9, so description thereof will be omitted. Also, the picture parameter set syntax 505 has already been described with reference to FIG. 10 except that the encoding is decoding, and therefore description thereof will be omitted. Further, the slice header syntax 507 has also been described with reference to FIG. 11 except that the encoding is decoding, and thus the description thereof will be omitted. Further, the description of the pread weight table syntax 508 has also been omitted because it has already been described with reference to FIG. 12 except that the encoding is decoding.

ここで、シンタクス構成における重み付き予測に関連するそれぞれのシンタクス要素の予測方法の詳細について説明する。シンタクス要素の予測は、インデックス再構成部801Bにより行われる。第2実施形態の予測方法を明示的に示したシンタクス構成は、第2実施形態と同様であり、図13に示すとおりである。 Here, the details of the method of predicting each syntax element related to the weighted prediction in the syntax configuration will be described. The prediction of the syntax element is performed by the index reconstructing unit 801B. The syntax configuration explicitly showing the prediction method of the second embodiment is the same as that of the second embodiment and is as shown in FIG.

重み係数の固定小数点精度を示すluma_log2_weight_denom及びchroma_log2_weight_denomの信号間の予測方法については、数式(11)を用いて、復元処理が行われる。復元処理の詳細は、図15に示すとおりである。 Regarding the prediction method between the signals of luma_log2_weight_denom and chroma_log2_weight_denom indicating the fixed point precision of the weighting factor, the restoration process is performed using Expression (11). Details of the restoration process are as shown in FIG.

輝度及び色差信号の重み係数を表すluma_weight_lx[i]及びchroma_weight_lx[i][j]の予測方法については、数式(14)及び(17)を用いて、復元処理が行われる。復元処理の詳細は、図17に示すとおりである。 As for the method of predicting luma_weight_lx[i] and chroma_weight_lx[i][j], which represent the weighting factors of the luminance and color difference signals, the restoration process is performed using Equations (14) and (17). Details of the restoration process are as shown in FIG.

輝度及び色差信号の重み係数(luma_weight_lx[i]及びchroma_weight_lx[i][j])の予測値を、異なる参照番号又は異なるPOC番号で導出する予測方法については、数式(19)及び(21)を用いて、復元処理が行われる。復元処理の詳細は、図19に示すとおりである。 For the prediction method of deriving the prediction values of the weighting factors (luma_weight_lx[i] and chroma_weight_lx[i][j]) of the luminance and color difference signals with different reference numbers or different POC numbers, formulas (19) and (21) are used. Restoration processing is performed using this. Details of the restoration process are as shown in FIG.

輝度及び色差信号の重み係数(luma_weight_lx[i]及びchroma_weight_lx[i][j])の予測値を、符号化対象の参照スライスとの距離を用いて導出する予測方法については、数式(23)及び(25)を用いて、復元処理が行われる。復元処理の詳細は、図19のフローチャートにおいて、baseidxにi-1番目の値(i≠0)を導入することと等価である。 For the prediction method for deriving the prediction values of the weighting factors (luma_weight_lx[i] and chroma_weight_lx[i][j]) of the luminance and chrominance signals using the distance from the reference slice to be encoded, Equation (23) and The restoration process is performed using (25). The details of the restoration process are equivalent to introducing the (i-1)th value (i≠0) into baseidx in the flowchart of FIG.

H.264などで定義されている重み付き予測の暗黙的重み付き予測のWPパラメータ導出方法を用いた重み係数及び固定小数点精度の予測値導出手法については、数式(31)及び(33)を用いて、復元処理が行われる。復元処理の詳細は、図23に示すとおりである。 H. For the weight coefficient and the fixed-point-precision prediction value derivation method using the WP parameter derivation method of the implicit weighted prediction of the weighted prediction defined in H.264 or the like, using Equations (31) and (33), Restoration processing is performed. Details of the restoration process are as shown in FIG.

なお、上記説明した複数の予測手法は、単独で使用するだけでなく組み合わせて利用することもできる。例えば、数式(11)、数式(14)、数式(17)、及び数式(28)を組み合わせるなどとすることにより、インデックス情報におけるシンタクス要素の符号量を効率良く削減することが可能となる。 The plurality of prediction methods described above can be used not only individually but also in combination. For example, by combining Expression (11), Expression (14), Expression (17), and Expression (28), it is possible to efficiently reduce the code amount of the syntax element in the index information.

以上のように第2実施形態では、復号装置800は、符号化する情報のパラメータの相関を利用して空間冗長性を削除することにより、符号化効率が低下する問題を解消する。復号装置800は、重み付き動き補償予測で用いるシンタクス要素をそのまま(直値で)符号化していた従来の構成と比較して、符号量を削減することができる。 As described above, in the second embodiment, the decoding device 800 eliminates the problem of reduced coding efficiency by deleting the spatial redundancy by using the correlation of the parameters of the information to be coded. The decoding device 800 can reduce the code amount as compared with the conventional configuration in which the syntax elements used in the weighted motion compensation prediction are encoded as they are (in direct values).

(変形例)
上記第1〜第2実施形態では、フレームを16×16画素サイズなどの矩形ブロックに分割し、画面左上のブロックから右下に向かって順に符号化/復号を行う例について説明している(図2Aを参照)。しかしながら、符号化順序及び復号順序はこの例に限定されない。例えば、右下から左上に向かって順に符号化及び復号が行われてもよいし、画面中央から画面端に向かって渦巻を描くように符号化及び復号が行われてもよい。更に、右上から左下に向かって順に符号化及び復号が行われてもよいし、画面端から画面中央に向かって渦巻きを描くように符号化及び復号が行われてもよい。この場合、符号化順序によって参照できる隣接画素ブロックの位置が変わるので、適宜利用可能な位置に変更すればよい。
(Modification)
The first to second embodiments describe an example in which a frame is divided into rectangular blocks having a size of 16×16 pixels and the coding/decoding is sequentially performed from the block at the upper left of the screen toward the lower right (FIG. 2A). However, the encoding order and the decoding order are not limited to this example. For example, the encoding and decoding may be performed sequentially from the lower right side to the upper left side, or the encoding and decoding may be performed so as to draw a spiral from the center of the screen toward the screen edge. Furthermore, the encoding and decoding may be performed in order from the upper right to the lower left, or the encoding and decoding may be performed so as to draw a spiral from the screen edge toward the screen center. In this case, since the position of the adjacent pixel block that can be referred to changes depending on the encoding order, it may be changed to an appropriately usable position.

上記第1〜第2実施形態では、4×4画素ブロック、8×8画素ブロック、16×16画素ブロックなどの予測対象ブロックサイズを例示して説明を行ったが、予測対象ブロックは均一なブロック形状でなくてもよい。例えば、予測対象ブロックサイズは、16×8画素ブロック、8×16画素ブロック、8×4画素ブロック、4×8画素ブロックなどであってもよい。また、1つのコーディングツリーブロック内で全てのブロックサイズを統一させる必要はなく、複数の異なるブロックサイズを混在させてもよい。1つのコーディングツリーブロック内で複数の異なるブロックサイズを混在させる場合、分割数の増加に伴って分割情報を符号化又は復号するための符号量も増加する。そこで、分割情報の符号量と局部復号画像または復号画像の品質との間のバランスを考慮して、ブロックサイズを選択することが望ましい。 The first to second embodiments have been described by exemplifying the prediction target block size such as the 4×4 pixel block, the 8×8 pixel block, and the 16×16 pixel block, but the prediction target block is a uniform block. It does not have to be a shape. For example, the prediction target block size may be a 16×8 pixel block, an 8×16 pixel block, an 8×4 pixel block, a 4×8 pixel block, or the like. Further, it is not necessary to unify all block sizes in one coding tree block, and a plurality of different block sizes may be mixed. When a plurality of different block sizes are mixed in one coding tree block, the code amount for encoding or decoding the division information increases as the number of divisions increases. Therefore, it is desirable to select the block size in consideration of the balance between the code amount of the division information and the locally decoded image or the quality of the decoded image.

上記第1〜第2実施形態では、簡単化のために、輝度信号と色差信号における予測処理とを区別せず、色信号成分に関して包括的な説明を記述した。しかしながら、予測処理が輝度信号と色差信号との間で異なる場合には、同一または異なる予測方法が用いられてよい。輝度信号と色差信号との間で異なる予測方法が用いられるならば、色差信号に対して選択した予測方法を輝度信号と同様の方法で符号化又は復号できる。 In the above-described first and second embodiments, for simplification, a comprehensive description is given regarding the color signal component without distinguishing between the luminance signal and the prediction processing in the color difference signal. However, if the prediction process differs between the luminance signal and the color difference signal, the same or different prediction method may be used. If different prediction methods are used between the luminance signal and the color difference signal, the selected prediction method for the color difference signal can be encoded or decoded in the same manner as the luminance signal.

上記第1〜第2実施形態では、簡単化のために、輝度信号と色差信号における重み付き動き補償予測処理とを区別せず、色信号成分に関して包括的な説明を記述した。しかしながら、重み付き動き補償予測処理が輝度信号と色差信号との間で異なる場合には、同一または異なる重み付き動き補償予測処理が用いられてよい。輝度信号と色差信号との間で異なる重み付き動き補償予測処理が用いられるならば、色差信号に対して選択した重み付き動き補償予測処理を輝度信号と同様の方法で符号化又は復号できる。 In the above-described first and second embodiments, for simplification, a comprehensive description has been described regarding the color signal component without distinguishing between the luminance signal and the weighted motion compensation prediction processing in the color difference signal. However, when the weighted motion compensation prediction process differs between the luminance signal and the color difference signal, the same or different weighted motion compensation prediction process may be used. If different weighted motion compensation prediction processes are used between the luminance signal and the chrominance signal, the selected weighted motion compensation prediction process for the chrominance signal can be encoded or decoded in the same manner as the luminance signal.

上記第1〜第2実施形態では、シンタクス構成に示す表の行間には、本実施形態で規定していないシンタクス要素が挿入されることも可能であるし、それ以外の条件分岐に関する記述が含まれていても構わない。或いは、シンタクステーブルを複数のテーブルに分割、統合することも可能である。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更しても構わない。 In the first and second embodiments described above, syntax elements not defined in the present embodiment can be inserted between the rows of the table shown in the syntax configuration, and a description regarding other conditional branching is included. It doesn't matter. Alternatively, the syntax table can be divided and integrated into a plurality of tables. Further, it is not always necessary to use the same term, and it may be arbitrarily changed depending on the form to be used.

以上説明したように、各実施形態は、重み付き動き補償予測を行う際にシンタクス構成の冗長な情報を符号化する問題を解消しつつ、高効率な重み付き動き補償予測処理を実現する。故に、各実施形態によれば、符号化効率が向上し、ひいては主観画質も向上する。 As described above, each of the embodiments realizes highly efficient weighted motion compensation prediction processing while solving the problem of encoding redundant information of syntax configuration when performing weighted motion compensation prediction. Therefore, according to each embodiment, the coding efficiency is improved and the subjective image quality is also improved.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 While some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and modifications thereof are included in the scope and the gist of the invention, and are also included in the invention described in the claims and the scope equivalent thereto.

例えば、上記各実施形態の処理を実現するプログラムを、コンピュータで読み取り可能な記憶媒体に格納して提供することも可能である。記憶媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなど、プログラムを記憶でき、かつ、コンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。 For example, it is possible to store the program that implements the processes of the above-described embodiments in a computer-readable storage medium and provide the program. The storage medium may be a magnetic disk, an optical disk (CD-ROM, CD-R, DVD, etc.), a magneto-optical disk (MO, etc.), a semiconductor memory, or any other computer-readable storage medium that can store a program. For example, the storage format may be any form.

また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。 Further, the program that implements the processing of each of the above embodiments may be stored on a computer (server) connected to a network such as the Internet and may be downloaded by a computer (client) via the network.

100 符号化装置
101 減算部
102 直交変換部
103 量子化部
104 逆量子化部
105 逆直交変換部
106 加算部
107 予測画像生成部
108 インデックス設定部
109 動き評価部
110 符号化部
110A エントロピー符号化部
110B インデックス再構成部
111 符号化制御部
201 複数フレーム動き補償部
202 メモリ
203 単方向動き補償部
204 予測パラメータ制御部
205 参照画像セレクタ
206 フレームメモリ
207 参照画像制御部
301 デフォルト動き補償部
302 重み付き動き補償部
303 WPパラメータ制御部
304、305 WPセレクタ
800 復号装置
801 復号部
801A エントロピー復号部
801B インデックス再構成部
802 逆量子化部
803 逆直交変換部
804 加算部
805 予測画像生成部
806 インデックス設定部
807 復号制御部
100 Encoding device 101 Subtraction unit 102 Orthogonal transformation unit 103 Quantization unit 104 Inverse quantization unit 105 Inverse orthogonal transformation unit 106 Addition unit 107 Predicted image generation unit 108 Index setting unit 109 Motion evaluation unit 110 Encoding unit 110A Entropy encoding unit 110B Index reconstruction unit 111 Encoding control unit 201 Multi-frame motion compensation unit 202 Memory 203 Unidirectional motion compensation unit 204 Prediction parameter control unit 205 Reference image selector 206 Frame memory 207 Reference image control unit 301 Default motion compensation unit 302 Weighted motion Compensation unit 303 WP parameter control unit 304, 305 WP selector 800 Decoding device 801 Decoding unit 801A Entropy decoding unit 801B Index reconstruction unit 802 Dequantization unit 803 Inverse orthogonal transformation unit 804 Addition unit 805 Predicted image generation unit 806 Index setting unit 807 Decryption control unit

Claims (2)

参照画像と、輝度の重み係数と、前記輝度の重み係数の第1固定小数点精度と、色差の重み係数と、前記色差の重み係数の第2固定小数点精度とについてのインデックスを設定するステップと、
前記第1固定小数点精度および前記第2固定小数点精度のいずれかを符号化するステップと、
前記第1固定小数点精度と、前記第2固定小数点精度との差異と同じ値である、第1差分値を符号化するステップと、
前記第1固定小数点精度で定められるビット数だけ“1”を左シフトすることによって得られる値と同じ値であって、かつ前記参照画像と対象画像との間の輝度における画素値変化が特定の基準以下となる場合の前記輝度の重み係数の値と同じ値である第1基準値を、前記第1固定小数点精度に基づいて導出するステップと、
前記第1基準値と、前記輝度の重み係数と、の差異と同じ値である、前記輝度の重み係数の第2差分値を符号化するステップと、
前記第2固定小数点精度で定められるビット数だけ“1”を左シフトすることによって得られる値と同じ値であって、かつ前記参照画像と対象画像との間の画素値変化が特定の基準以下となる場合の前記色差の重み係数の値と同じ値である第2基準値を、前記第2固定小数点精度に基づいて導出するステップと、
前記色差の重み係数と前記第2基準値との差異と同じ値である、第3差分値を符号化するステップと、
を含む符号化方法。
Setting indexes for a reference image, a luminance weighting factor, a first fixed-point precision of the luminance weighting factor, a color difference weighting factor, and a second fixed-point precision of the color difference weighting factor;
Encoding either the first fixed point precision or the second fixed point precision;
Encoding a first difference value that is the same as the difference between the first fixed point precision and the second fixed point precision;
The value is the same as the value obtained by left-shifting “1” by the number of bits determined by the first fixed-point precision, and the pixel value change in luminance between the reference image and the target image is specific. Deriving, based on the first fixed point precision, a first reference value that is the same value as the value of the weighting coefficient of the brightness when the value is equal to or less than the reference.
Encoding a second difference value of the luminance weighting coefficient, which is the same value as the difference between the first reference value and the luminance weighting coefficient;
The value is the same as the value obtained by left-shifting "1" by the number of bits determined by the second fixed-point precision, and the pixel value change between the reference image and the target image is less than or equal to a specific criterion. A second reference value having the same value as the value of the color difference weighting coefficient in the case of
Encoding a third difference value that is the same value as the difference between the color difference weighting factor and the second reference value;
An encoding method including.
輝度の重み係数の第1固定小数点精度を復号するステップと、
前記第1固定小数点精度と、色差の重み係数の第2固定小数点精度との差異と同じ値である、第1差分値を復号するステップと、
前記第1固定小数点精度と前記第1差分値とを加算することにより、前記第2固定小数点精度を決定するステップと、
前記第1固定小数点精度で定められるビット数だけ“1”を左シフトすることによって得られる値と同じ値であって、かつ参照画像と対象画像との間の輝度における画素値変化が特定の基準以下となる場合の前記輝度の重み係数の値と同じ値を、前記輝度の重み係数の第1基準値と決定するステップと、
前記輝度の重み係数と前記第1基準値との差異と同じ値である、前記輝度の重み係数の第2差分値を復号するステップと、
前記第1基準値と前記第2差分値を加算することにより、前記輝度の重み係数を決定するステップと、
前記第2固定小数点精度で定められるビット数だけ“1”を左シフトすることによって得られる値と同じ値であって、かつ前記色差の重み係数と、前記参照画像と前記対象画像との間の画素値変化が特定の基準以下となる場合の前記色差の重み係数の値と同じ値である第2基準値と、の差分である第3差分値を復号するステップと、
前記第2固定小数点精度に基づいて前記第2基準値を導出するステップと、
前記第3差分値と前記第2基準値とを加算することにより前記色差の重み係数を導出するステップと、
を含む復号方法。
Decoding a first fixed point precision of the luminance weighting factor;
Decoding a first difference value that is the same as the difference between the first fixed-point precision and the second fixed-point precision of the color difference weighting factor;
Determining the second fixed-point precision by adding the first fixed-point precision and the first difference value;
The value is the same as the value obtained by left-shifting "1" by the number of bits determined by the first fixed-point precision, and the pixel value change in luminance between the reference image and the target image is a specific criterion. the same value as the value of the weighting factor of the luminance when the following determining a first reference value of the weighting factor of the luminance,
Decoding a second difference value of the luminance weighting coefficient, which is the same value as the difference between the luminance weighting coefficient and the first reference value;
Determining the weighting coefficient of the luminance by adding the first reference value and the second difference value;
The value is the same as the value obtained by left-shifting “1” by the number of bits determined by the second fixed-point precision, and the weighting coefficient of the color difference and between the reference image and the target image are Decoding a third difference value that is a difference between a second reference value that is the same value as the value of the color difference weighting coefficient when the pixel value change is less than or equal to a specific reference,
Deriving the second reference value based on the second fixed point precision;
Deriving the weighting coefficient of the color difference by adding the third difference value and the second reference value;
Decoding method including.
JP2020000687A 2020-01-07 2020-01-07 Encoding method and decoding method Active JP6744507B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020000687A JP6744507B2 (en) 2020-01-07 2020-01-07 Encoding method and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020000687A JP6744507B2 (en) 2020-01-07 2020-01-07 Encoding method and decoding method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018155704A Division JP2019009792A (en) 2018-08-22 2018-08-22 Encoding method, decoding method and encoded data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020094692A Division JP7000498B2 (en) 2020-05-29 2020-05-29 Storage device, transmitter and coding method

Publications (2)

Publication Number Publication Date
JP2020058073A JP2020058073A (en) 2020-04-09
JP6744507B2 true JP6744507B2 (en) 2020-08-19

Family

ID=70107797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020000687A Active JP6744507B2 (en) 2020-01-07 2020-01-07 Encoding method and decoding method

Country Status (1)

Country Link
JP (1) JP6744507B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007379A (en) * 2002-04-10 2004-01-08 Toshiba Corp Method for encoding moving image and method for decoding moving image
JP4015934B2 (en) * 2002-04-18 2007-11-28 株式会社東芝 Video coding method and apparatus
US8457203B2 (en) * 2005-05-26 2013-06-04 Ntt Docomo, Inc. Method and apparatus for coding motion and prediction weighting parameters
JP2007081518A (en) * 2005-09-12 2007-03-29 Victor Co Of Japan Ltd Moving image coding apparatus and moving image coding method
WO2007092215A2 (en) * 2006-02-02 2007-08-16 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
EP2302933A1 (en) * 2009-09-17 2011-03-30 Mitsubishi Electric R&D Centre Europe B.V. Weighted motion compensation of video
EP2375754A1 (en) * 2010-04-09 2011-10-12 Mitsubishi Electric R&D Centre Europe B.V. Weighted motion compensation of video

Also Published As

Publication number Publication date
JP2020058073A (en) 2020-04-09

Similar Documents

Publication Publication Date Title
JP5925801B2 (en) Encoding method, decoding method, encoding device, and decoding device
CN106791832B (en) Decoding device and decoding method
JP6419934B2 (en) Electronic device, encoding method and program
JP6088036B2 (en) Decoding method, decoding apparatus, and program
JP6262381B2 (en) Electronic device, decoding method and program
JP6744507B2 (en) Encoding method and decoding method
JP5702011B2 (en) Encoding method, encoding apparatus, and program
JP7000498B2 (en) Storage device, transmitter and coding method
RU2638756C2 (en) Encoding device, decoding device, encoding method and decoding method
JP6396566B2 (en) Electronic device, encoding method and program
JP6235745B2 (en) Electronic device, decoding method and program
JP6235742B2 (en) Electronic device, decoding method and program
JP6682594B2 (en) Encoding method and decoding method
JP5869160B2 (en) Decoding method, decoding apparatus, and program
JP6262380B2 (en) Electronic device, decoding method and program
JP6132950B2 (en) Encoding method, decoding method, encoding device, and decoding device
JP5916906B2 (en) Encoding method, decoding method, encoding device, and decoding device
JP2019009792A (en) Encoding method, decoding method and encoded data
JP2020074609A (en) Storage device, transmission device, reception device, and encoded data
JPWO2013057783A1 (en) Encoding method and decoding method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200107

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200129

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200403

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200428

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200529

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200529

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200611

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200616

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: 20200630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200730

R151 Written notification of patent or utility model registration

Ref document number: 6744507

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151