JP2013074468A - Moving image decoder, moving image decoding method, and moving image decoding program - Google Patents

Moving image decoder, moving image decoding method, and moving image decoding program Download PDF

Info

Publication number
JP2013074468A
JP2013074468A JP2011212013A JP2011212013A JP2013074468A JP 2013074468 A JP2013074468 A JP 2013074468A JP 2011212013 A JP2011212013 A JP 2011212013A JP 2011212013 A JP2011212013 A JP 2011212013A JP 2013074468 A JP2013074468 A JP 2013074468A
Authority
JP
Japan
Prior art keywords
motion vector
prediction
picture
prediction block
predicted
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.)
Withdrawn
Application number
JP2011212013A
Other languages
Japanese (ja)
Inventor
Hiroya Nakamura
博哉 中村
Shigeru Fukushima
茂 福島
Hideki Takehara
英樹 竹原
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.)
JVCKenwood Corp
Original Assignee
JVCKenwood 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 JVCKenwood Corp filed Critical JVCKenwood Corp
Priority to JP2011212013A priority Critical patent/JP2013074468A/en
Publication of JP2013074468A publication Critical patent/JP2013074468A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problem of an image decoding method using motion compensation prediction in which reduction in a total code amount is required by compressing encoding information.SOLUTION: A moving image decoder includes: a prediction motion vector candidate generation section 221 for generating a plurality of prediction motion vector candidates in accordance with prediction based on any one of motion vectors of a decoding object block and a decoded block adjacent to the decoding object block, both of the blocks being in the same picture; a prediction motion vector candidate registration section 222 for registering the prediction motion vector candidates by associating information on a distance between pictures with a prediction motion vector value before scaling calculation processing; a prediction motion vector scaling calculation section 226 for performing a scaling calculation of a prediction vector value of a selected prediction motion vector in accordance with a distance between pictures; and an addition section 227 for adding a prediction motion vector after scaling calculation processing to a differential motion vector in order to calculate the motion vector of the decoding object block.

Description

本発明は、動画像復号技術に関し、特に動き補償予測を利用した動画像復号技術に関する。   The present invention relates to a moving picture decoding technique, and more particularly to a moving picture decoding technique using motion compensated prediction.

動画像の圧縮符号化方式の代表的なものとして、MPEG−4 AVC/H.264の規格がある。MPEG−4 AVC/H.264では、ピクチャを複数の矩形ブロックに分割し、すでに符号化・復号したピクチャを参照ピクチャとし、参照ピクチャからの動きを予測する動き補償が用いられている。この動き補償により動きを予測する手法をインター予測と呼ぶ。MPEG−4 AVC/H.264でのインター予測では、複数のピクチャを参照ピクチャとして用いることができ、これらの複数の参照ピクチャから最も適した参照ピクチャをブロック毎に選択して動き補償を行う。そこで、それぞれの参照ピクチャには参照インデックスが割り当てられ、この参照インデックスにより、参照ピクチャを特定する。なお、Bピクチャでは、符号化・復号済みの参照ピクチャから最大で2枚を選択してインター予測に用いることができる。それらの2枚の参照ピクチャからの予測をそれぞれ主に前方向の予測として使われるL0予測(リスト0予測)、主に後方向の予測として使われるL1予測(リスト1予測)として区別している。   As a typical moving image compression encoding method, MPEG-4 AVC / H. There are H.264 standards. MPEG-4 AVC / H. In H.264, motion compensation is used in which a picture is divided into a plurality of rectangular blocks, a picture that has already been encoded / decoded is used as a reference picture, and motion from the reference picture is predicted. A technique for predicting motion by this motion compensation is called inter prediction. MPEG-4 AVC / H. In the inter prediction in H.264, a plurality of pictures can be used as reference pictures, and the most suitable reference picture is selected for each block from the plurality of reference pictures to perform motion compensation. Therefore, a reference index is assigned to each reference picture, and the reference picture is specified by this reference index. Note that, for B pictures, a maximum of two reference pictures that have been encoded and decoded can be selected and used for inter prediction. The predictions from these two reference pictures are distinguished as L0 prediction (list 0 prediction) mainly used as forward prediction and L1 prediction (list 1 prediction) mainly used as backward prediction.

さらに、L0予測とL1予測の2つのインター予測を同時に用いる双予測も定義されている。双予測の場合は、双方向の予測を行い、L0予測、L1予測のそれぞれのインター予測された信号に重み付け係数を掛け算し、オフセット値を加算して重畳し、最終的なインター予測画像信号を生成する。重み付け予測に用いる重み付け係数及びオフセット値はピクチャ単位で各リストの参照ピクチャ毎に代表的な値が設定され、符号化される。インター予測に関する符号化情報には、ブロック毎に、L0予測とL1予測、双予測を区別する予測モード、ブロック毎の参照リスト毎に、参照ピクチャを特定する参照インデックス、ブロックの移動方向・移動量を表す動きベクトルがあり、これらの符号化情報を符号化・復号する。   Furthermore, bi-prediction using two inter predictions of L0 prediction and L1 prediction at the same time is also defined. In the case of bi-prediction, bi-directional prediction is performed, the inter-predicted signals of L0 prediction and L1 prediction are multiplied by a weighting coefficient, an offset value is added and superimposed, and a final inter-predicted image signal is obtained. Generate. As weighting coefficients and offset values used for weighted prediction, representative values are set for each reference picture in each list and encoded. The encoding information related to inter prediction includes, for each block, a prediction mode for distinguishing between L0 prediction and L1 prediction and bi-prediction, a reference index for specifying a reference picture for each reference list for each block, and a moving direction and a moving amount of the block. There is a motion vector that expresses and encodes and decodes the encoded information.

動き補償を行う動画像符号化方式では、各ブロックで生成される動きベクトルの符号量を削減する為に、動きベクトルに対して予測処理が行われる。MPEG−4 AVC/H.264では、符号化対象の動きベクトルが周囲の隣接ブロックの動きベクトルと強い相関があることを利用して、周囲の隣接ブロックからの予測を行うことにより予測動きベクトルを算出し、符号化対象の動きベクトルと予測動きベクトルとの差分である差分動きベクトルを算出し、その差分動きベクトルを符号化することによって符号量を削減している。   In a moving picture coding system that performs motion compensation, a prediction process is performed on a motion vector in order to reduce the amount of code of the motion vector generated in each block. MPEG-4 AVC / H. In H.264, using the fact that the motion vector to be encoded has a strong correlation with the motion vectors of neighboring neighboring blocks, a prediction motion vector is calculated by performing prediction from neighboring neighboring blocks, and the coding target motion vector is calculated. A difference motion vector that is a difference between the motion vector and the predicted motion vector is calculated, and the difference motion vector is encoded to reduce the amount of codes.

具体的には、図34(a)に示されるように、周囲の隣接ブロックA,B,Cの動きベクトルから中央値を算出して予測動きベクトルとし、動きベクトルとその予測動きベクトルとの差分をとることで動きベクトルの符号量を削減している。但し、図34(b)のように符号化対象ブロックと隣接ブロックの大きさや形状が異なる場合は、左隣に複数の隣接ブロックがある時はその中の一番上のブロックを、上に複数の隣接ブロックがある時はその中の一番左のブロックを予測ブロックとし、図34(c)、(d)のように符号化対象ブロックが16×8画素或いは8×16画素で分割される場合は、周囲の隣接ブロックの動きベクトルの中央値を取るのではなく、動き補償ブロックの配置に応じて図31(c)、(d)の白抜き矢印で示されるように分割された領域毎に参照先の予測ブロックを決定し、決定された予測ブロックの動きベクトルから予測を実施する。   Specifically, as shown in FIG. 34A, a median value is calculated from the motion vectors of neighboring blocks A, B, and C in the vicinity to obtain a predicted motion vector, and the difference between the motion vector and the predicted motion vector By taking this, the amount of code of the motion vector is reduced. However, if the size and shape of the encoding target block and the adjacent block are different as shown in FIG. 34 (b), if there are multiple adjacent blocks on the left, When there is an adjacent block, the leftmost block is set as the prediction block, and the encoding target block is divided into 16 × 8 pixels or 8 × 16 pixels as shown in FIGS. 34 (c) and 34 (d). In this case, instead of taking the median value of the motion vectors of neighboring neighboring blocks, each area divided as indicated by the white arrows in FIGS. 31 (c) and 31 (d) according to the arrangement of the motion compensation blocks. Then, the prediction block of the reference destination is determined, and the prediction is performed from the motion vector of the determined prediction block.

特開2011−147172号公報JP 2011-147172 A

しかし、従来の方法では、予測ベクトルは一つしか得られないため、画像によっては予測動きベクトルの予測精度が低下し、符号化効率が良くならない場合もあった。   However, in the conventional method, since only one prediction vector is obtained, the prediction accuracy of the prediction motion vector may be lowered depending on the image, and the encoding efficiency may not be improved.

このような状況下、本発明者らは、動き補償予測を使用する動画像符号化方式において、符号化情報をより一層圧縮し、全体の符号量を削減する必要性を認識するに至った。   Under such circumstances, the present inventors have come to recognize the necessity of further compressing the encoded information and reducing the overall code amount in the moving image encoding method using motion compensation prediction.

本発明はこうした状況に鑑みてなされたものであり、その目的は、予測動きベクトルの候補を算出することにより、差分動きベクトルの符号量の削減を図って符号化効率を向上させる動画像復号技術を提供することにある。また、別の目的は、符号化情報の候補を算出することにより、符号化情報の符号量の削減を図って符号化効率を向上させる動画像復号技術を提供することにある。   The present invention has been made in view of such a situation, and an object of the present invention is to provide a moving picture decoding technique for improving the coding efficiency by calculating the prediction motion vector candidates and thereby reducing the code amount of the difference motion vector. Is to provide. Another object is to provide a moving picture decoding technique that improves encoding efficiency by calculating encoding information candidates to reduce the amount of encoded information.

上記課題を解決するために、本発明のある態様の動画像復号装置は、動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、予測動きベクトル候補リストにおける選択すべき予測動きベクトルのインデックスを示す情報を素分動きベクトルとともに復号する復号部(202)と、復号対象ブロックと同一ピクチャ内の前記復号対象ブロックと隣接する復号済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成する予測動きベクトル候補生成部(221)と、生成された前記予測動きベクトルの候補を、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、前記予測動きベクトル候補リストに登録する予測動きベクトル候補登録部(222)と、復号された前記予測動きベクトル候補リストにおける前記選択すべき予測動きベクトルのインデックスを示す情報にもとづいて、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択部(225)と、選択された前記予測動きベクトルのスケーリング演算処理前の予測ベクトル値を前記ピクチャ間距離に応じてスケーリング演算する予測動きベクトルスケーリング演算部(226)と、スケーリング演算処理後の前記予測動きベクトルと前記差分動きベクトルとを加算して前記復号対象ブロックの動きベクトルを算出する加算部(227)とを備える。   In order to solve the above problems, a moving picture decoding apparatus according to an aspect of the present invention decodes a coded bit string obtained by coding the moving picture using motion compensation in units of blocks obtained by dividing each picture of the moving picture. A decoding unit (202) that decodes information indicating an index of a predicted motion vector to be selected in a predicted motion vector candidate list together with an elementary motion vector, and the decoding in the same picture as the decoding target block A prediction motion vector candidate generation unit (221) that generates a plurality of prediction motion vector candidates by predicting from any motion vector of a decoded block adjacent to the target block, and the generated prediction motion vector candidates Information about the inter-picture distance required for the scaling calculation process to the predicted motion vector value before the scaling calculation process. In association with the prediction motion vector candidate registration unit (222) for registering in the prediction motion vector candidate list and information indicating the index of the prediction motion vector to be selected in the decoded prediction motion vector candidate list, A prediction motion vector selection unit (225) that selects a prediction motion vector from the prediction motion vector candidate list, and prediction that performs a scaling operation on the prediction vector value before the scaling operation processing of the selected prediction motion vector according to the inter-picture distance. A motion vector scaling operation unit (226); and an addition unit (227) that calculates the motion vector of the decoding target block by adding the predicted motion vector after the scaling operation processing and the difference motion vector.

本発明の別の態様は、動画像復号方法である。この方法は、動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号方法であって、予測動きベクトル候補リストにおける選択すべき予測動きベクトルのインデックスを示す情報を素分動きベクトルとともに復号する復号ステップと、復号対象ブロックと同一ピクチャ内の前記復号対象ブロックと隣接する復号済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成する予測動きベクトル候補生成ステップと、生成された前記予測動きベクトルの候補を、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、前記予測動きベクトル候補リストに登録する予測動きベクトル候補登録ステップと、復号された前記予測動きベクトル候補リストにおける前記選択すべき予測動きベクトルのインデックスを示す情報にもとづいて、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、選択された前記予測動きベクトルのスケーリング演算処理前の予測ベクトル値を前記ピクチャ間距離に応じてスケーリング演算する予測動きベクトルスケーリング演算ステップと、スケーリング演算処理後の前記予測動きベクトルと前記差分動きベクトルとを加算して前記復号対象ブロックの動きベクトルを算出する加算ステップとを備える。   Another aspect of the present invention is a video decoding method. This method is a moving picture decoding method for decoding a coded bit sequence in which the moving picture is coded by using motion compensation in units of blocks obtained by dividing each picture of the moving picture, and is selected in the predicted motion vector candidate list. A decoding step for decoding information indicating an index of a predicted motion vector together with a prime motion vector, and prediction from a motion vector of a decoded block adjacent to the decoding target block in the same picture as the decoding target block A prediction motion vector candidate generation step for generating a plurality of prediction motion vector candidates, and the generated prediction motion vector candidates are converted into predicted motion vector values before the scaling calculation processing, and the inter-picture distance required for the scaling calculation processing Prediction associated with information and registered in the predicted motion vector candidate list A motion vector candidate registration step and prediction motion vector selection for selecting a motion vector predictor from the motion vector predictor candidate list based on information indicating an index of the motion vector predictor to be selected in the decoded motion vector predictor candidate list A predicted motion vector scaling operation step for performing a scaling operation on the predicted vector value before the scaling operation processing of the selected predicted motion vector according to the inter-picture distance; and the predicted motion vector and the difference after the scaling operation processing Adding a motion vector to calculate a motion vector of the decoding target block.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.

本発明によれば、複数の予測動きベクトルを算出し、それら複数の予測動きベクトルの中から最適な予測動きベクトルを選択し、差分動きベクトルの発生符号量を削減させて、符号化効率を向上させることができる。   According to the present invention, a plurality of prediction motion vectors are calculated, an optimal prediction motion vector is selected from the plurality of prediction motion vectors, and the amount of generated code of the difference motion vector is reduced, thereby improving the encoding efficiency. Can be made.

実施の形態に係る動きベクトルの予測方法を実行する動画像符号化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the moving image encoder which performs the motion vector prediction method which concerns on embodiment. 実施の形態に係る動きベクトルの予測方法を実行する動画像復号装置の構成を示すブロック図である。It is a block diagram which shows the structure of the moving image decoding apparatus which performs the motion vector prediction method which concerns on embodiment. ツリーブロック、符号化ブロックを説明する図である。It is a figure explaining a tree block and an encoding block. 予測ブロックの分割モードを説明する図である。It is a figure explaining the division mode of a prediction block. 予測ブロックグループを説明する図である。It is a figure explaining a prediction block group. 予測ブロックグループを説明する図である。It is a figure explaining a prediction block group. 予測ブロックグループを説明する図である。It is a figure explaining a prediction block group. 予測ブロックグループを説明する図である。It is a figure explaining a prediction block group. 予測ブロックグループを説明する図である。It is a figure explaining a prediction block group. 動きベクトルの予測方法に関するスライスレベルでのビットストリームのシンタックスを説明する図である。It is a figure explaining the syntax of the bit stream in the slice level regarding the prediction method of a motion vector. 動きベクトルの予測方法に関する予測ブロックレベルでのビットストリームのシンタックスを説明する図である。It is a figure explaining the syntax of the bit stream in the prediction block level regarding the prediction method of a motion vector. 予測動きベクトルインデックスのシンタックス要素のエントロピー符号の一例を説明する図である。It is a figure explaining an example of the entropy code of the syntax element of a prediction motion vector index. 図1の差分動きベクトル算出部の詳細な構成を示すブロック図である。It is a block diagram which shows the detailed structure of the difference motion vector calculation part of FIG. 図2の動きベクトル算出部の詳細な構成を示すブロック図である。FIG. 3 is a block diagram illustrating a detailed configuration of a motion vector calculation unit in FIG. 2. 図1の差分動きベクトル算出部の差分動きベクトル算出処理手順を示すフローチャートである。It is a flowchart which shows the difference motion vector calculation process procedure of the difference motion vector calculation part of FIG. 図2の動きベクトル算出部の動きベクトル算出処理手順を示すフローチャートである。It is a flowchart which shows the motion vector calculation process procedure of the motion vector calculation part of FIG. 予測動きベクトルの候補の導出及び予測動きベクトルリスト構築処理手順を示すフローチャートである。It is a flowchart which shows the process of derivation | leading-out of the motion vector predictor candidate, and a motion vector predictor list construction process. 予測動きベクトルの候補導出処理手順を示すフローチャートである。It is a flowchart which shows the candidate derivation | leading-out process procedure of a motion vector predictor. 予測動きベクトルの候補導出処理手順を示すフローチャートである。It is a flowchart which shows the candidate derivation | leading-out process procedure of a motion vector predictor. 予測動きベクトルの候補導出処理手順を示すフローチャートである。It is a flowchart which shows the candidate derivation | leading-out process procedure of a motion vector predictor. 予測動きベクトルの候補導出処理手順を示すフローチャートである。It is a flowchart which shows the candidate derivation | leading-out process procedure of a motion vector predictor. 異なる時間のピクチャの導出処理手順を示すフローチャートである。It is a flowchart which shows the derivation | leading-out process of the picture of a different time. 異なる時間のピクチャの予測ブロックの導出処理手順を示すフローチャートである。It is a flowchart which shows the derivation | leading-out process procedure of the prediction block of the picture of a different time. 予測動きベクトルの候補導出処理手順を示すフローチャートである。It is a flowchart which shows the candidate derivation | leading-out process procedure of a motion vector predictor. 予測動きベクトルの候補導出処理手順を示すフローチャートである。It is a flowchart which shows the candidate derivation | leading-out process procedure of a motion vector predictor. 予測動きベクトル候補リストへの予測動きベクトルの候補の登録処理手順を示すフローチャートである。It is a flowchart which shows the registration process procedure of the candidate of a motion vector predictor to a motion vector predictor candidate list. 予測動きベクトル候補リストから冗長な予測動きベクトルの候補の削除処理手順を示すフローチャートである。It is a flowchart which shows the deletion process procedure of the redundant motion vector predictor candidate from a motion vector predictor candidate list. 予測動きベクトルの候補数の制限処理手順を示すフローチャートである。It is a flowchart which shows the restriction | limiting process procedure of the number of prediction motion vector candidates. 動きベクトルのスケーリング演算処理手順を示すフローチャートである。It is a flowchart which shows the scaling calculation process procedure of a motion vector. 整数演算による動きベクトルのスケーリング演算処理手順を示すフローチャートである。It is a flowchart which shows the scaling calculation process procedure of the motion vector by integer calculation. 予測動きベクトルの候補導出処理手順を示すフローチャートである。It is a flowchart which shows the candidate derivation | leading-out process procedure of a motion vector predictor. 予測動きベクトルの候補導出処理手順を示すフローチャートである。It is a flowchart which shows the candidate derivation | leading-out process procedure of a motion vector predictor. 予測動きベクトルの候補導出処理手順を示すフローチャートである。It is a flowchart which shows the candidate derivation | leading-out process procedure of a motion vector predictor. 従来の予測動きベクトルの算出方法を説明する図である。It is a figure explaining the calculation method of the conventional prediction motion vector.

本実施の形態では、動画像の符号化に関し、特にピクチャを任意のサイズ、形状の矩形ブロックに分割し、ピクチャ間でブロック単位に動き補償を行う動画像符号化における符号化効率を向上させる為に、符号化済みの周囲のブロックの動きベクトルから複数の予測動きベクトルを算出し、符号化対象のブロックの動きベクトルと選択された予測動きベクトルとの差分ベクトルを算出して符号化することによって符号量を削減する。あるいは、符号化済みの周囲のブロックの符号化情報を利用することにより、符号化対象ブロックの符号化情報を推定することによって符号量を削減する。また、動画像の復号の場合は、復号済みの周囲のブロックの動きベクトルから複数の予測動きベクトルを算出し、符号化ストリームから復号された差分ベクトルと選択された予測動きベクトルとから復号対象のブロックの動きベクトルを算出して復号する。あるいは、復号済みの周囲のブロックの符号化情報を利用することにより、復号対象ブロックの符号化情報を推定する。   In the present embodiment, with regard to moving picture coding, in particular, to improve coding efficiency in moving picture coding in which a picture is divided into rectangular blocks of an arbitrary size and shape and motion compensation is performed in units of blocks between pictures. In addition, by calculating a plurality of predicted motion vectors from the motion vectors of the surrounding blocks that have been encoded, and calculating and encoding a difference vector between the motion vector of the block to be encoded and the selected predicted motion vector Reduce the amount of code. Alternatively, the amount of code is reduced by estimating the encoding information of the encoding target block by using the encoding information of the surrounding blocks that have already been encoded. Also, in the case of decoding a moving image, a plurality of predicted motion vectors are calculated from the motion vectors of the peripheral blocks that have been decoded, and a decoding target is calculated from the difference vector decoded from the encoded stream and the selected predicted motion vector. The motion vector of the block is calculated and decoded. Alternatively, the encoding information of the decoding target block is estimated by using the encoding information of the peripheral blocks that have been decoded.

まず、本実施の形態において使用する技術、及び技術用語を定義する。   First, techniques used in the present embodiment and technical terms are defined.

(ツリーブロック、符号化ブロックについて)
実施の形態では、図3に示されるように、ピクチャ内を任意の同一サイズの正方の矩形の単位にて均等分割する。この単位をツリーブロックと定義し、ピクチャ内での符号化/復号対象ブロック(符号化処理においては符号化対象ブロック、復号処理においては復号対象ブロックのことである。以下、断りのない限り、この意味で用いる。)を特定するためのアドレス管理の基本単位とする。モノクロを除きツリーブロックは1つの輝度信号と2つの色差信号で構成される。ツリーブロックのサイズはピクチャサイズやピクチャ内のテクスチャに応じて、2のべき乗のサイズで自由に設定することができる。ツリーブロックはピクチャ内のテクスチャに応じて、符号化処理を最適にすべく、必要に応じてツリーブロック内の輝度信号、及び色差信号を階層的に4分割(縦横に2分割ずつ)して、ブロックサイズの小さいブロックにすることができる。このブロックをそれぞれ符号化ブロックと定義し、符号化及び復号を行う際の処理の基本単位とする。モノクロを除き符号化ブロックも1つの輝度信号と2つの色差信号で構成される。符号化ブロックの最大サイズはツリーブロックのサイズと同一である。符号化ブロックの最小のサイズとなる符号化ブロックを最小符号化ブロックと呼び、2のべき乗のサイズで自由に設定することができる。
(About tree blocks and coding blocks)
In the embodiment, as shown in FIG. 3, the picture is equally divided into square units of any same size. This unit is defined as a tree block, and is an encoding / decoding target block in a picture (an encoding target block in the encoding process and a decoding target block in the decoding process. Hereinafter, unless otherwise specified, It is used as a basic unit of address management for specifying. Except for monochrome, the tree block is composed of one luminance signal and two color difference signals. The size of the tree block can be freely set to a power of 2 depending on the picture size and the texture in the picture. In order to optimize the encoding process according to the texture in the picture, the tree block divides the luminance signal and chrominance signal in the tree block hierarchically into four parts (two parts vertically and horizontally) as necessary, The block can be made smaller in block size. Each block is defined as a coding block, and is a basic unit of processing when performing coding and decoding. Except for monochrome, the coding block is also composed of one luminance signal and two color difference signals. The maximum size of the coding block is the same as the size of the tree block. An encoded block having the minimum size of the encoded block is called a minimum encoded block, and can be freely set to a power of 2.

図3においては、符号化ブロックAは、ツリーブロックを分割せず、1つの符号化ブロックとしたものである。符号化ブロックBは、ツリーブロックを4分割してできた符号化ブロックである。符号化ブロックCは、ツリーブロックを4分割してできたブロックをさらに4分割してできた符号化ブロックである。符号化ブロックDは、ツリーブロックを4分割してできたブロックをさらに階層的に2度4分割してできた符号化ブロックであり、最小サイズの符号化ブロックである。   In FIG. 3, the encoding block A is a single encoding block without dividing the tree block. The encoding block B is an encoding block formed by dividing a tree block into four. The coding block C is a coding block obtained by further dividing the block obtained by dividing the tree block into four. The coding block D is a coding block obtained by further dividing the block obtained by dividing the tree block into four parts and further dividing the block into four twice hierarchically, and is a coding block of the minimum size.

(予測モードについて)
符号化ブロック単位で、符号化/復号済み(符号化処理においては符号化した信号を復号したピクチャ、予測ブロック、画像信号等に用い、復号処理においては復号したピクチャ、予測ブロック、画像信号等に用いる。以下、断りのない限り、この意味で用いる。)の周囲の画像信号から予測を行うイントラ予測(MODE_INTRA)、及び符号化/復号済みのピクチャの画像信号から予測を行うインター予測(MODE_INTER)を切り替える。このイントラ予測(MODE_INTRA)とインター予測(MODE_INTER)を識別するモードを予測モード(PredMode)と定義する。予測モード(PredMode)はイントラ予測(MODE_INTRA)、またはインター予測(MODE_INTER)を値として持ち、選択して符号化できる。
(About prediction mode)
Encoded / decoded in units of coding blocks (used in encoded processing for encoded picture, predicted block, image signal, etc., and used in decoded processing for decoded picture, predicted block, image signal, etc.) (Used in this sense unless otherwise noted.) Intra prediction (MODE_INTRA) in which prediction is performed from surrounding image signals, and inter prediction (MODE_INTER) in which prediction is performed from encoded / decoded picture image signals Switch. A mode for identifying the intra prediction (MODE_INTRA) and the inter prediction (MODE_INTER) is defined as a prediction mode (PredMode). The prediction mode (PredMode) has intra prediction (MODE_INTRA) or inter prediction (MODE_INTER) as a value, and can be selected and encoded.

(分割モード、予測ブロック、予測ユニットについて)
ピクチャ内をブロックに分割してイントラ予測(MODE_INTRA)及びインター予測(MODE_INTER)を行う場合、イントラ予測及びインター予測の方法を切り替える単位をより小さくするために、必要に応じて符号化ブロックを分割して予測を行う。この符号化ブロックの輝度信号と色差信号の分割方法を識別するモードを分割モード(PartMode)と定義する。さらに、この分割されたブロックを予測ブロックと定義する。図4に示すように、符号化ブロックの輝度信号の分割方法に応じて4種類の分割モード(PartMode)を定義する。符号化ブロックの輝度信号を分割せず1つの予測ブロックとみなしたもの(図4(a))の分割モード(PartMode)を2N×2N分割(PART_2Nx2N)、符号化ブロックの輝度信号を水平方向に2分割し、2つの予測ブロックとしたもの(図4(b))の分割モード(PartMode)を2N×N分割(PART_2NxN)、符号化ブロックの輝度信号を垂直方向に分割し、符号化ブロックを2つの予測ブロックとしたもの(図4(c))の分割モード(PartMode)をN×2N分割(PART_Nx2N)、符号化ブロックの輝度信号を水平と垂直の均等分割により4つの予測ブロックとしたもの(図4(d))の分割モード(PartMode)をN×N分割(PART_NxN)とそれぞれ定義する。なお、イントラ予測(MODE_INTRA)のN×N分割(PART_NxN)を除き、各分割モード(PartMode)毎に輝度信号の縦横の分割比率と同様に色差信号も分割する。
(About split mode, prediction block, prediction unit)
When performing intra prediction (MODE_INTRA) and inter prediction (MODE_INTER) by dividing the picture into blocks, the coded block is divided as necessary to reduce the unit for switching the intra prediction and inter prediction methods. Make predictions. A mode for identifying the division method of the luminance signal and the color difference signal of the coding block is defined as a division mode (PartMode). Furthermore, this divided block is defined as a prediction block. As shown in FIG. 4, four types of partition modes (PartMode) are defined according to the method of dividing the luminance signal of the coding block. The division mode (PartMode) of what is regarded as one prediction block without dividing the luminance signal of the coding block (FIG. 4A) is 2N × 2N division (PART_2Nx2N), and the luminance signal of the coding block is horizontally The division mode (PartMode) of the two prediction blocks (FIG. 4B) is divided into 2N × N divisions (PART_2NxN), the luminance signal of the encoded block is divided in the vertical direction, and the encoded block is The division mode (PartMode) of the two prediction blocks (FIG. 4 (c)) is N × 2N division (PART_Nx2N), and the luminance signal of the encoded block is divided into four prediction blocks by horizontal and vertical equal divisions. The division mode (PartMode) of (FIG. 4D) is defined as N × N division (PART_NxN), respectively. Except for N × N division (PART_NxN) of intra prediction (MODE_INTRA), the color difference signal is also divided for each division mode (PartMode) in the same manner as the vertical / horizontal division ratio of the luminance signal.

符号化ブロック内部において、各予測ブロックを特定する為に、0から開始する番号を、符号化順序で、符号化ブロック内部に存在する予測ブロックに対して割り当てる。この番号を分割インデックスPartIdxと定義する。図4の符号化ブロックの各予測ブロックの中に記述された数字は、その予測ブロックの分割インデックスPartIdxを表す。図4(b)に示す2N×N分割(PART_2NxN)では上の予測ブロックの分割インデックスPartIdxを0とし、下の予測ブロックの分割インデックスPartIdxを1とする。図4(c)に示すN×2N分割(PART_Nx2N)では左の予測ブロックの分割インデックスPartIdxを0とし、右の予測ブロックの分割インデックスPartIdxを1とする。図4(d)に示すN×N分割(PART_NxN)では、左上の予測ブロックの分割インデックスPartIdxを0とし、右上の予測ブロックの分割インデックスPartIdxを1とし、左下の予測ブロックの分割インデックスPartIdxを2とし、右下の予測ブロックの分割インデックスPartIdxを3とする。   In order to specify each prediction block within the coding block, a number starting from 0 is assigned to the prediction block existing inside the coding block in the coding order. This number is defined as a split index PartIdx. A number described in each prediction block of the encoded block in FIG. 4 represents a partition index PartIdx of the prediction block. In the 2N × N division (PART_2NxN) shown in FIG. 4B, the division index PartIdx of the upper prediction block is set to 0, and the division index PartIdx of the lower prediction block is set to 1. In the N × 2N division (PART_Nx2N) shown in FIG. 4C, the division index PartIdx of the left prediction block is set to 0, and the division index PartIdx of the right prediction block is set to 1. In the N × N partition (PART_NxN) shown in FIG. 4D, the partition index PartIdx of the upper left prediction block is 0, the partition index PartIdx of the upper right prediction block is 1, and the partition index PartIdx of the lower left prediction block is 2. And the division index PartIdx of the prediction block at the lower right is set to 3.

予測モード(PredMode)がインター予測(MODE_INTER)では、最小の符号化ブロックである符号化ブロックD以外では、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)、2N×N分割(PART_2NxN)、及びN×2N分割(PART_Nx2N)を定義し、最小の符号化ブロックである符号化ブロックDのみ、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)、2N×N分割(PART_2NxN)、及びN×2N分割(PART_Nx2N)に加えてN×N分割(PART_NxN)を定義する。なお、最小の符号化ブロック以外にN×N分割(PART_NxN)を定義しない理由は最小の符号化ブロック以外では、符号化ブロックを4分割して小さな符号化ブロックを表現できるからである。   When the prediction mode (PredMode) is inter prediction (MODE_INTER), except for the coding block D which is the smallest coding block, the partition mode (PartMode) is 2N × 2N partition (PART_2Nx2N), 2N × N partition (PART_2NxN), and N × 2N partition (PART_Nx2N) is defined, and only the coding block D which is the smallest coding block, the partition mode (PartMode) is 2N × 2N partition (PART_2Nx2N), 2N × N partition (PART_2NxN), and N × 2N In addition to the division (PART_Nx2N), N × N division (PART_NxN) is defined. The reason why N × N division (PART_NxN) is not defined other than the smallest coding block is that, except for the smallest coding block, the coding block can be divided into four to represent a small coding block.

(ツリーブロック、符号化ブロック、予測ブロック、変換ブロックの位置)
本実施の形態のツリーブロック、符号化ブロック、予測ブロック、変換ブロックを始めとする各ブロックの位置は、輝度信号の画面の一番左上の輝度信号の画素の位置を原点(0,0)とし、それぞれのブロックの領域に含まれる一番左上の輝度信号の画素の位置を(x,y)の二次元座標で表す。座標軸の向きは水平方向に右の方向、垂直方向に下の方向をそれぞれ正の向きとし、単位は輝度信号の1画素単位である。輝度信号と色差信号で画像サイズ(画素数)が同じである色差フォーマットが4:4:4の場合ではもちろんのこと、輝度信号と色差信号で画像サイズ(画素数)が異なる色差フォーマットが4:2:0、4:2:2の場合でも色差信号の各ブロックの位置をそのブロックの領域に含まれる輝度信号の画素の座標で表し、単位は輝度信号の1画素である。この様にすることで、色差信号の各ブロックの位置が特定できるのはもちろんのこと、座標の値を比較するだけで、輝度信号のブロックと色差信号のブロックの位置の関係も明確となる。
(Position of tree block, coding block, prediction block, transform block)
The position of each block including the tree block, the encoding block, the prediction block, and the transform block according to the present embodiment has the position of the pixel of the luminance signal at the upper left of the luminance signal screen as the origin (0, 0). The pixel position of the upper left luminance signal included in each block area is represented by two-dimensional coordinates (x, y). The direction of the coordinate axis is a right direction in the horizontal direction and a downward direction in the vertical direction, respectively, and the unit is one pixel unit of the luminance signal. Of course, the luminance signal and the color difference signal have the same image size (number of pixels) and the color difference format is 4: 4: 4. Of course, the luminance signal and the color difference signal have a different color size format of 4: 4. Even in the case of 2: 0, 4: 2: 2, the position of each block of the color difference signal is represented by the coordinates of the pixel of the luminance signal included in the block area, and the unit is one pixel of the luminance signal. In this way, not only can the position of each block of the color difference signal be specified, but also the relationship between the positions of the luminance signal block and the color difference signal block can be clarified only by comparing the coordinate values.

(予測ブロックグループについて)
複数の予測ブロックで構成されるグループを予測ブロックグループと定義する。図5、図6、図7及び図8は符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックに隣接する予測ブロックグループを説明する図である。図9は符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャにおいて、符号化/復号対象の予測ブロックと同一位置あるいはその近傍の位置に存在する既に符号化/復号済みの予測ブロックグループを説明する図である。図5、図6、図7、図8及び図9を用いて予測ブロックグループについて説明する。
(About prediction block groups)
A group composed of a plurality of prediction blocks is defined as a prediction block group. 5, FIG. 6, FIG. 7 and FIG. 8 are diagrams for explaining a prediction block group adjacent to a prediction block to be encoded / decoded within the same picture as the prediction block to be encoded / decoded. FIG. 9 shows an already encoded / decoded picture that exists at the same position as or near the predicted block to be encoded / decoded in a picture that has been encoded / decoded that is temporally different from the predicted block to be encoded / decoded It is a figure explaining this prediction block group. The prediction block group will be described with reference to FIGS. 5, 6, 7, 8, and 9.

図5に示すように、符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックの左側の辺に隣接する予測ブロックA1、および符号化/復号対象の予測ブロックの左下の頂点に隣接する予測ブロックA0で構成される第1の予測ブロックグループを左側に隣接する予測ブロックグループと定義する。   As shown in FIG. 5, the prediction block A1 adjacent to the left side of the prediction block to be encoded / decoded within the same picture as the prediction block to be encoded / decoded, and the prediction block to be encoded / decoded A first prediction block group including a prediction block A0 adjacent to the lower left vertex is defined as a prediction block group adjacent to the left side.

なお、図6に示すように、符号化/復号対象の予測ブロックの左側に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、左側に隣接する予測ブロックAがその符号化/復号対象の予測ブロックの左側の辺に隣接していれば予測ブロックA1とし、符号化/復号対象の予測ブロックの左下の頂点に隣接していれば予測ブロックA0とする。図6の例では、予測ブロックA0と予測ブロックA1は同一の予測ブロックとなる。   As shown in FIG. 6, even when the size of the prediction block adjacent to the left side of the prediction block to be encoded / decoded is larger than the prediction block to be encoded / decoded, the prediction adjacent to the left side according to the above condition is used. If the block A is adjacent to the left side of the prediction block to be encoded / decoded, the prediction block A1 is used. If the block A is adjacent to the lower left vertex of the prediction block to be encoded / decoded, the prediction block A0 is set. . In the example of FIG. 6, the prediction block A0 and the prediction block A1 are the same prediction block.

なお、図7に示すように、符号化/復号対象の予測ブロックの左側の辺に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより小さく、複数存在する場合には、本実施の形態においては左側に隣接する予測ブロックの中で最も下の予測ブロックA10だけを左側に隣接する予測ブロックA1とする。   In addition, as shown in FIG. 7, when the size of the prediction block adjacent to the left side of the prediction block to be encoded / decoded is smaller than the prediction block to be encoded / decoded and there are a plurality of prediction blocks, this embodiment In the embodiment, only the lowest prediction block A10 among the prediction blocks adjacent to the left side is set as the prediction block A1 adjacent to the left side.

符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックの上側の辺に隣接する予測ブロックB1、符号化/復号対象の予測ブロックの右上の頂点に隣接する予測ブロックB0、および符号化/復号対象の予測ブロックの左上の頂点に隣接する予測ブロックB2で構成される第2の予測ブロックグループを上側に隣接する予測ブロックグループと定義する。   A prediction block B1 adjacent to the upper side of the prediction block to be encoded / decoded within the same picture as the prediction block to be encoded / decoded, and a prediction block adjacent to the upper right vertex of the prediction block to be encoded / decoded A second prediction block group composed of B0 and a prediction block B2 adjacent to the top left vertex of the prediction block to be encoded / decoded is defined as a prediction block group adjacent to the upper side.

なお、図8に示すように、符号化/復号対象の予測ブロックの上側に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、上側に隣接する予測ブロックBがその符号化/復号対象の予測ブロックの上側の辺に隣接していれば予測ブロックB1とし、符号化/復号対象の予測ブロックの右上の頂点に隣接していれば予測ブロックB0とし、符号化/復号対象の予測ブロックの左上の頂点に隣接していれば予測ブロックB2とする。図8の例では、予測ブロックB0と予測ブロックB1と予測ブロックB2は同一の予測ブロックとなる。   In addition, as shown in FIG. 8, even when the size of the prediction block adjacent to the upper side of the prediction block to be encoded / decoded is larger than the prediction block to be encoded / decoded, the prediction adjacent to the upper side according to the above condition. If the block B is adjacent to the upper side of the prediction block to be encoded / decoded, the prediction block B1 is set. If the block B is adjacent to the upper right vertex of the prediction block to be encoded / decoded, the prediction block B0 is set. If it is adjacent to the top left vertex of the prediction block to be encoded / decoded, the prediction block is B2. In the example of FIG. 8, the prediction block B0, the prediction block B1, and the prediction block B2 are the same prediction block.

なお、図7に示すように、符号化/復号対象の予測ブロックの上側の辺に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより小さく、複数存在する場合には、実施の形態においては上側に隣接する予測ブロックの中で最も右の予測ブロックB10だけを上側に隣接する予測ブロックB1とする。   As shown in FIG. 7, when the size of the prediction block adjacent to the upper side of the prediction block to be encoded / decoded is smaller than the prediction block to be encoded / decoded, and there are a plurality of prediction blocks, the embodiment In FIG. 4, only the rightmost prediction block B10 among the prediction blocks adjacent on the upper side is set as the prediction block B1 adjacent on the upper side.

図9に示すように、符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャにおいて、符号化/復号対象の予測ブロックと同一位置あるいはその近傍の位置に存在する既に符号化/復号済みの予測ブロックグループT0およびT1で構成される第3の予測ブロックグループを異なる時間の予測ブロックグループと定義する。   As shown in FIG. 9, in an encoded / decoded picture that is temporally different from the prediction block to be encoded / decoded, an existing code that exists at the same position as the prediction block to be encoded / decoded or a position in the vicinity thereof. A third prediction block group composed of prediction / decoding prediction block groups T0 and T1 is defined as a prediction block group at different times.

(インター予測モード、参照リストについて)
本発明の実施の形態においては、符号化/復号済みのピクチャの画像信号から予測を行うインター予測では、複数の復号済みのピクチャを参照ピクチャとして用いることができる。複数の参照ピクチャから選択された参照ピクチャを特定するため、予測ブロック毎に参照インデックスを付ける。Bスライスでは予測ブロック毎に任意の2枚の参照ピクチャを選択してインター予測ことができ、インター予測モードとしてL0予測(Pred_L0)、L1予測(Pred_L1)、双予測(Pred_BI)がある。参照ピクチャはリスト構造のL0(参照リスト0)とL1(参照リスト1)で管理され、L0またはL1の参照インデックスを指定することにより参照ピクチャを特定することができる。L0予測(Pred_L0)はL0で管理されている参照ピクチャを参照するインター予測であり、L1予測(Pred_L1)はL1で管理されている参照ピクチャを参照するインター予測であり、双予測(Pred_BI)はL0予測とL1予測が共に行われ、L0とL1のそれぞれで管理されている1つずつの参照ピクチャを参照するインター予測である。Pスライスのインター予測ではL0予測のみが使用でき、Bスライスのインター予測ではL0予測、L1予測、L0予測とL1予測を平均または重み付け加算する双予測(Pred_BI)が使用できる。以降の処理において出力に添え字LX(Xは0または1)が付いている定数、変数に関しては、L0、L1ごとに処理が行われることを前提とする。
(Inter prediction mode, reference list)
In the embodiment of the present invention, in inter prediction in which prediction is performed from an image signal of a coded / decoded picture, a plurality of decoded pictures can be used as reference pictures. In order to identify a reference picture selected from a plurality of reference pictures, a reference index is attached to each prediction block. In the B slice, any two reference pictures can be selected for each prediction block and inter prediction can be performed. As inter prediction modes, there are L0 prediction (Pred_L0), L1 prediction (Pred_L1), and bi-prediction (Pred_BI). The reference picture is managed by L0 (reference list 0) and L1 (reference list 1) of the list structure, and the reference picture can be specified by specifying the reference index of L0 or L1. L0 prediction (Pred_L0) is inter prediction that refers to a reference picture managed in L0, L1 prediction (Pred_L1) is inter prediction that refers to a reference picture managed in L1, and bi-prediction (Pred_BI) is This is inter prediction in which both L0 prediction and L1 prediction are performed and one reference picture managed by each of L0 and L1 is referred to. Only L0 prediction can be used in inter prediction of P slice, and L0 prediction, L1 prediction, and bi-prediction (Pred_BI) that averages or weights and adds L0 prediction and L1 prediction can be used in inter prediction of B slice. In the subsequent processing, regarding constants and variables with subscript LX (X is 0 or 1) in the output, it is assumed that processing is performed for each of L0 and L1.

(POCについて)
POCは符号化されるピクチャに関連付けられる変数とし、ピクチャの出力/表示順序で1ずつ増加する値が設定される。POCの値によって、同じピクチャであるかを判別したり、出力/表示順序でのピクチャ間の前後関係を判別したり、ピクチャ間の距離を導出したりすることができる。例えば、2つのピクチャのPOCが同じ値を持つ場合、同一のピクチャであると判断できる。2つのピクチャのPOCが違う値を持つ場合、POCの値が小さいピクチャのほうが、時間的に先に出力/表示されるピクチャであると判断でき、2つのピクチャのPOCの差が時間軸方向でのピクチャ間距離を示す。
(About POC)
POC is a variable associated with the picture to be encoded, and is set to a value that increases by 1 in the picture output / display order. Based on the POC value, it is possible to determine whether they are the same picture, to determine the front-to-back relationship between pictures in the output / display order, or to derive the distance between pictures. For example, if the POCs of two pictures have the same value, it can be determined that they are the same picture. When the POCs of two pictures have different values, it can be determined that the picture with the smaller POC value is a picture that is output / displayed earlier in time, and the difference between the POCs of the two pictures is the time axis direction. Indicates the distance between pictures.

以下、図面と共に本発明の実施の形態を説明する。図1は本発明の実施の形態に係る動画像符号化装置の構成を示すブロック図である。実施の形態の動画像符号化装置は、画像メモリ101、動きベクトル検出部102、差分動きベクトル算出部103、インター予測情報推定部104、動き補償予測部105、予測方法決定部106、残差信号生成部107、直交変換・量子化部108、第1の符号化ビット列生成部109、第2の符号化ビット列生成部110、多重化部111、逆量子化・逆直交変換部112、復号画像信号重畳部113、符号化情報格納メモリ114、および復号画像メモリ115を備える。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a moving picture coding apparatus according to an embodiment of the present invention. The moving image encoding apparatus according to the embodiment includes an image memory 101, a motion vector detection unit 102, a difference motion vector calculation unit 103, an inter prediction information estimation unit 104, a motion compensation prediction unit 105, a prediction method determination unit 106, a residual signal. Generation unit 107, orthogonal transform / quantization unit 108, first encoded bit string generation unit 109, second encoded bit string generation unit 110, multiplexing unit 111, inverse quantization / inverse orthogonal transform unit 112, decoded image signal A superimposing unit 113, an encoded information storage memory 114, and a decoded image memory 115 are provided.

画像メモリ101は、撮影/表示時間順に供給された符号化対象のピクチャの画像信号を一時格納する。画像メモリ101は、格納された符号化対象のピクチャの画像信号を、所定の画素ブロック単位で、動きベクトル検出部102、予測方法決定部106、および残差信号生成部107に供給する。その際、撮影/表示時間順に格納されたピクチャの画像信号は、符号化順序に並べ替えられて、画素ブロック単位で、画像メモリ101から出力される。   The image memory 101 temporarily stores the image signal of the encoding target picture supplied in the order of shooting / display time. The image memory 101 supplies the stored image signal of the picture to be encoded to the motion vector detection unit 102, the prediction method determination unit 106, and the residual signal generation unit 107 in units of predetermined pixel blocks. At this time, the image signals of the pictures stored in the order of shooting / display time are rearranged in the encoding order and output from the image memory 101 in units of pixel blocks.

動きベクトル検出部102は、画像メモリ101から供給される画像信号と復号画像メモリ115から供給される参照ピクチャ間でブロックマッチング等により各予測ブロックサイズ、各予測モードのそれぞれの動きベクトルを各予測ブロック単位で検出し、検出された動きベクトルを動き補償予測部105、差分動きベクトル算出部103、および予測方法決定部106に供給する。   The motion vector detection unit 102 uses the motion vector of each prediction block size and each prediction mode by block matching between the image signal supplied from the image memory 101 and the reference picture supplied from the decoded image memory 115 for each prediction block. Detection is performed in units, and the detected motion vector is supplied to the motion compensation prediction unit 105, the difference motion vector calculation unit 103, and the prediction method determination unit 106.

差分動きベクトル算出部103は、符号化情報格納メモリ114に記憶されている既に符号化された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を算出して後述する予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から最適な予測動きベクトルを選択し、動きベクトル検出部102が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを予測方法決定部106に供給する。さらに、予測動きベクトルリストに登録された予測動きベクトルの候補から選択された予測動きベクトルを特定する予測動きベクトルインデックスを予測方法決定部106に供給する。差分動きベクトル算出部103の詳細な構成と動作は後述する。   The difference motion vector calculation unit 103 calculates a plurality of motion vector predictor candidates by using the encoded information of the already encoded image signal stored in the encoded information storage memory 114, and will be described later. The motion vector detection unit 102 selects an optimal motion vector predictor from a plurality of motion vector predictor candidates registered in the motion vector list and registered in the motion vector predictor list, and a motion vector difference is detected from the motion vector detected by the motion vector detection unit 102 and the motion vector predictor. And the calculated difference motion vector is supplied to the prediction method determination unit 106. Furthermore, a prediction motion vector index that identifies a prediction motion vector selected from prediction motion vector candidates registered in the prediction motion vector list is supplied to the prediction method determination unit 106. The detailed configuration and operation of the difference motion vector calculation unit 103 will be described later.

インター予測情報推定部104は、マージモードのインター予測情報を推定する。マージモードとは、当該予測ブロックの予測モード、参照インデックス(参照リストに登録されている複数の参照ピクチャから動き補償予測に利用する参照ピクチャを特定するための情報)、動きベクトル等のインター予測情報を符号化するのではなく、符号化済みの隣接するインター予測された予測ブロック、あるいは異なるピクチャのインター予測された予測ブロックのインター予測情報を利用するモードである。符号化情報格納メモリ114に記憶されている既に符号化された予測ブロックの符号化情報を用いて、複数のマージの候補(インター予測情報の候補)を算出してマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から最適なマージ候補を選択し、選択されたマージ候補の予測モード、参照インデックス、動きベクトル等のインター予測情報を動き補償予測部105に供給するとともに、選択されたマージ候補を特定するマージインデックスを予測方法決定部106に供給する。   The inter prediction information estimation unit 104 estimates inter prediction information in merge mode. The merge mode refers to inter prediction information such as a prediction mode of the prediction block, a reference index (information for specifying a reference picture used for motion compensation prediction from a plurality of reference pictures registered in the reference list), a motion vector, and the like. Is a mode in which inter prediction information of an adjacent inter-predicted prediction block that has been encoded or an inter-predicted prediction block of a different picture is used. A plurality of merge candidates (inter prediction information candidates) are calculated using the encoded information of the already encoded prediction block stored in the encoded information storage memory 114, registered in the merge candidate list, and merged. An optimal merge candidate is selected from a plurality of merge candidates registered in the candidate list, and inter prediction information such as a prediction mode, a reference index, and a motion vector of the selected merge candidate is supplied to the motion compensation prediction unit 105. The merge index that identifies the selected merge candidate is supplied to the prediction method determination unit 106.

動き補償予測部105は、動きベクトル検出部102およびインター予測情報推定部104により検出された動きベクトルを用いて参照ピクチャから動き補償予測により予測画像信号を生成し、予測画像信号を予測方法決定部106に供給する。なお、L0予測、及びL1予測では、片方向の予測を行う。双予測(Pred_BI)の場合は、双方向の予測を行い、L0予測、L1予測のそれぞれのインター予測された信号に適応的に重み係数を掛け算し、オフセット値を加算して重畳し、最終的な予測画像信号を生成する。   The motion compensation prediction unit 105 generates a prediction image signal by motion compensation prediction from a reference picture using the motion vectors detected by the motion vector detection unit 102 and the inter prediction information estimation unit 104, and uses the prediction image signal as a prediction method determination unit. 106. In L0 prediction and L1 prediction, one-way prediction is performed. In the case of bi-prediction (Pred_BI), bi-directional prediction is performed, the inter-predicted signals of L0 prediction and L1 prediction are adaptively multiplied by weighting factors, offset values are added and superimposed, and finally A predicted image signal is generated.

予測方法決定部106は差分動きベクトルの符号量、予測画像信号と画像信号との間の歪量等を評価することにより、複数の予測方法の中から、最適な符号化ブロック単位でインター予測(PRED_INTER)かイントラ予測(PRED_INTRA)かを判別する予測モードPredMode、分割モードPartModeを決定し、インター予測(PRED_INTER)では予測ブロック単位でマージモードか否か等の予測方法を決定し、マージモードの場合はマージインデックス、マージモードでない場合はインター予測フラグ、予測動きベクトルインデックス、L0、L1の参照インデックス、差分動きベクトル等を決定して、決定に応じた符号化情報を第1の符号化ビット列生成部109に供給する。   The prediction method determination unit 106 evaluates the code amount of the difference motion vector, the distortion amount between the prediction image signal and the image signal, and the like, so that inter prediction (in an optimal coding block unit) is selected from a plurality of prediction methods. In the merge mode, the prediction mode PredMode and the partition mode PartMode are determined to determine whether the prediction mode is PRED_INTER) or intra prediction (PRED_INTRA). In the inter prediction (PRED_INTER), the prediction method such as whether the mode is the merge mode or not is determined for each prediction block. Is a merge index, and when not in the merge mode, an inter prediction flag, a prediction motion vector index, L0 and L1 reference indexes, a difference motion vector, and the like are determined, and encoded information corresponding to the determination is determined as a first encoded bit string generation unit 109.

さらに、予測方法決定部106は、決定された予測方法を示す情報、及び決定された予測方法に応じた動きベクトル等を含む符号化情報を符号化情報格納メモリ114に格納する。ここで格納する符号化情報は、予測モードPredMode、分割モードPartMode、L0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0, predFlagL1、L0、L1の参照インデックスrefIdxL0, refIdxL1、L0、L1の動きベクトルmvL0, mvL1等である。ここで、予測モードPredModeがインター予測(MODE_INER)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1は共に0である。一方、予測モードPredModeがインター予測(MODE_INTER)で、インター予測モードがL0予測(Pred_L0)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は1, L1予測を利用するかどうかを示すフラグpredFlagL1は0である。インター予測モードがL1予測(Pred_L1)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は0, L1予測を利用するかどうかを示すフラグpredFlagL1は1である。インター予測モードが双予測(Pred_BI)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1は共に1である。予測方法決定部106は、決定された予測モードに応じた予測画像信号を残差信号生成部107と復号画像信号重畳部113に供給する。   Further, the prediction method determination unit 106 stores information indicating the determined prediction method and encoded information including a motion vector according to the determined prediction method in the encoded information storage memory 114. The encoded information stored here is the motion of the reference indexes refIdxL0, refIdxL1, L0, and L1 of the flags predFlagL0, predFlagL1, L0, and L1 indicating whether to use the prediction mode PredMode, the partition mode PartMode, the L0 prediction, and the L1 prediction. Vectors mvL0, mvL1, etc. Here, when the prediction mode PredMode is inter prediction (MODE_INER), the flag predFlagL0 indicating whether to use L0 prediction and the flag predFlagL1 indicating whether to use L1 prediction are both 0. On the other hand, when the prediction mode PredMode is inter prediction (MODE_INTER) and the inter prediction mode is L0 prediction (Pred_L0), a flag predFlagL0 indicating whether to use L0 prediction is 1, and a flag predFlagL1 indicating whether to use L1 prediction Is 0. When the inter prediction mode is L1 prediction (Pred_L1), the flag predFlagL0 indicating whether to use L0 prediction is 0, and the flag predFlagL1 indicating whether to use L1 prediction is 1. When the inter prediction mode is bi-prediction (Pred_BI), a flag predFlagL0 indicating whether to use L0 prediction and a flag predFlagL1 indicating whether to use L1 prediction are both 1. The prediction method determination unit 106 supplies a prediction image signal corresponding to the determined prediction mode to the residual signal generation unit 107 and the decoded image signal superposition unit 113.

残差信号生成部107は、符号化する画像信号と予測画像信号との減算を行うことにより残差信号を生成し、直交変換・量子化部108に供給する。   The residual signal generation unit 107 generates a residual signal by performing subtraction between the image signal to be encoded and the predicted image signal, and supplies the residual signal to the orthogonal transform / quantization unit 108.

直交変換・量子化部108は、残差信号に対して量子化パラメータに応じて直交変換及び量子化を行い直交変換・量子化された残差信号を生成し、第2の符号化ビット列生成部110と逆量子化・逆直交変換部112に供給する。さらに、直交変換・量子化部108は、量子化パラメータを符号化情報格納メモリ114に格納する。   The orthogonal transform / quantization unit 108 performs orthogonal transform and quantization on the residual signal in accordance with the quantization parameter to generate an orthogonal transform / quantized residual signal, and a second encoded bit string generation unit 110 and the inverse quantization / inverse orthogonal transform unit 112. Further, the orthogonal transform / quantization unit 108 stores the quantization parameter in the encoded information storage memory 114.

第1の符号化ビット列生成部109は、シーケンス、ピクチャ、スライス、符号化ブロック単位の情報に加えて、符号化ブロック及び予測ブロック毎に予測方法決定部106によって決定された予測方法に応じた符号化情報を符号化する。具体的には、符号化ブロック毎の予測モードPredMode、分割モードPartMode、インター予測(PRED_INTER)の場合、マージモードかどうかを判別するフラグ、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、差分動きベクトルに関する情報等の符号化情報を後述する規定のシンタックス規則に従って符号化して第1の符号化ビット列を生成し、多重化部111に供給する。   The first encoded bit string generation unit 109 adds information corresponding to the prediction method determined by the prediction method determination unit 106 for each encoding block and prediction block, in addition to the information in units of sequences, pictures, slices, and encoding blocks. Encoding information is encoded. Specifically, in the prediction mode PredMode, partition mode PartMode, and inter prediction (PRED_INTER) for each coding block, a flag that determines whether or not the mode is merge mode, merge index in the case of merge mode, and inter prediction in the case of not in merge mode Encoding information such as information on the mode, the predicted motion vector index, and the difference motion vector is encoded in accordance with a predetermined syntax rule described later to generate a first encoded bit string, and the encoded information is supplied to the multiplexing unit 111.

第2の符号化ビット列生成部110は、直交変換及び量子化された残差信号を規定のシンタックス規則に従ってエントロピー符号化して第2の符号化ビット列を生成し、多重化部111に供給する。多重化部111で、第1の符号化ビット列と第2の符号化ビット列を規定のシンタックス規則に従って多重化し、ビットストリームを出力する。   The second encoded bit string generation unit 110 generates a second encoded bit string by entropy-encoding the orthogonally transformed and quantized residual signal according to a prescribed syntax rule, and supplies the second encoded bit string to the multiplexing unit 111. The multiplexing unit 111 multiplexes the first encoded bit string and the second encoded bit string in accordance with a prescribed syntax rule, and outputs a bit stream.

逆量子化・逆直交変換部112は、直交変換・量子化部108から供給された直交変換・量子化された残差信号を逆量子化及び逆直交変換して残差信号を算出し、復号画像信号重畳部113に供給する。復号画像信号重畳部113は、予測方法決定部106による決定に応じた予測画像信号と逆量子化・逆直交変換部112で逆量子化及び逆直交変換された残差信号を重畳して復号画像を生成し、復号画像メモリ115に格納する。なお、復号画像に対して符号化によるブロック歪等の歪を減少させるフィルタリング処理を施して、復号画像メモリ115に格納されることもある。   The inverse quantization / inverse orthogonal transform unit 112 calculates a residual signal by performing inverse quantization and inverse orthogonal transform on the orthogonal transform / quantized residual signal supplied from the orthogonal transform / quantization unit 108 to perform decoding. This is supplied to the image signal superimposing unit 113. The decoded image signal superimposing unit 113 superimposes the predicted image signal according to the determination by the prediction method determining unit 106 and the residual signal that has been inverse quantized and inverse orthogonal transformed by the inverse quantization / inverse orthogonal transform unit 112 to decode the decoded image. Is generated and stored in the decoded image memory 115. The decoded image may be stored in the decoded image memory 115 after filtering processing for reducing distortion such as block distortion due to encoding.

図2は図1の動画像符号化装置に対応した本発明の実施の形態に係る動画像復号装置の構成を示すブロックである。実施の形態の動画像復号装置は、分離部201、第1符号化ビット列復号部202、第2符号化ビット列復号部203、動きベクトル算出部204、インター予測情報推定部205、動き補償予測部206、逆量子化・逆直交変換部207、復号画像信号重畳部208、符号化情報格納メモリ209、および復号画像メモリ210を備える。   FIG. 2 is a block diagram showing the configuration of the moving picture decoding apparatus according to the embodiment of the present invention corresponding to the moving picture encoding apparatus of FIG. The moving picture decoding apparatus according to the embodiment includes a separation unit 201, a first encoded bit string decoding unit 202, a second encoded bit string decoding unit 203, a motion vector calculation unit 204, an inter prediction information estimation unit 205, and a motion compensation prediction unit 206. , An inverse quantization / inverse orthogonal transform unit 207, a decoded image signal superimposing unit 208, an encoded information storage memory 209, and a decoded image memory 210.

図2の動画像復号装置の復号処理は、図1の動画像符号化装置の内部に設けられている復号処理に対応するものであるから、図2の動き補償予測部206、逆量子化・逆直交変換部207、復号画像信号重畳部208、符号化情報格納メモリ209、および復号画像メモリ210の各構成は、図1の動画像符号化装置の動き補償予測部105、逆量子化・逆直交変換部112、復号画像信号重畳部113、符号化情報格納メモリ114、および復号画像メモリ115の各構成とそれぞれ対応する機能を有する。   The decoding process of the moving picture decoding apparatus in FIG. 2 corresponds to the decoding process provided in the moving picture encoding apparatus in FIG. 1, so the motion compensation prediction unit 206 in FIG. The configurations of the inverse orthogonal transform unit 207, the decoded image signal superimposing unit 208, the encoded information storage memory 209, and the decoded image memory 210 are the same as those of the motion compensation prediction unit 105, the inverse quantization / inverse of the moving image encoding device in FIG. The orthogonal transform unit 112, the decoded image signal superimposing unit 113, the encoded information storage memory 114, and the decoded image memory 115 have functions corresponding to the respective configurations.

分離部201に供給されるビットストリームは規定のシンタックスの規則に従って分離し、分離された符号化ビット列が第1符号化ビット列復号部202、第2符号化ビット列復号部203に供給される。   The bit stream supplied to the separation unit 201 is separated according to a rule of a prescribed syntax, and the separated encoded bit string is supplied to the first encoded bit string decoding unit 202 and the second encoded bit string decoding unit 203.

第1符号化ビット列復号部202は、供給された符号化ビット列を復号して、シーケンス、ピクチャ、スライス、符号化ブロック単位の情報、及び、予測ブロック単位の符号化情報を得る。具体的には、符号化ブロック単位でインター予測(PRED_INTER)かイントラ予測(PRED_INTRA)かを判別する予測モードPredMode、分割モードPartMode、インター予測(PRED_INTER)の場合、マージモードかどうかを判別するフラグ、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、差分動きベクトル等に関する符号化情報を後述する規定のシンタックス規則に従って復号し、符号化情報を動きベクトル算出部204またはインター予測情報推定部205に供給する。   The first encoded bit string decoding unit 202 decodes the supplied encoded bit string to obtain sequence, picture, slice, encoded block unit information, and predicted block unit encoded information. Specifically, in the prediction mode PredMode for determining whether the prediction is inter prediction (PRED_INTER) or intra prediction (PRED_INTRA) for each coding block, split mode PartMode, and inter prediction (PRED_INTER), a flag for determining whether the mode is merge mode, When the merge mode is selected, the merge index is decoded. When the merge mode is not selected, the encoded information related to the inter prediction mode, the predicted motion vector index, the difference motion vector, and the like is decoded according to a predetermined syntax rule to be described later, and the encoded information is a motion vector calculation unit 204 or the inter prediction information estimation unit 205.

第2符号化ビット列復号部203は、供給された符号化ビット列を復号して直交変換・量子化された残差信号を算出し、直交変換・量子化された残差信号を逆量子化・逆直交変換部207に供給する。   The second encoded bit string decoding unit 203 calculates a residual signal that has been orthogonally transformed / quantized by decoding the supplied encoded bit string, and dequantized / inverted the residual signal that has been orthogonally transformed / quantized. This is supplied to the orthogonal transform unit 207.

動きベクトル算出部204は、復号対象の予測ブロックがマージモードでない時に、符号化情報格納メモリ209に記憶されている既に復号された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を算出して後述する予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から、第1符号化ビット列復号部202で復号され供給される予測動きベクトルインデックスに応じた予測動きベクトルを選択し、第1符号化ビット列復号部202で復号された差分ベクトルと選択された予測動きベクトルから動きベクトルを算出し、他の符号化情報とともに動き補償予測部206に供給するとともに、符号化情報格納メモリ209に格納する。ここで供給・格納する予測ブロックの符号化情報は、予測モードPredMode、分割モードPartMode、L0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0, predFlagL1、L0、L1の参照インデックスrefIdxL0, refIdxL1、L0、L1の動きベクトルmvL0, mvL1等である。ここで、予測モードPredModeがインター予測(MODE_INTER)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1は共に0である。一方、予測モードPredModeがインター予測(MODE_INTER)で、インター予測モードがL0予測(Pred_L0)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は1, L1予測を利用するかどうかを示すフラグpredFlagL1は0である。インター予測モードがL1予測(Pred_L1)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は0, L1予測を利用するかどうかを示すフラグpredFlagL1は1である。インター予測モードが双予測(Pred_BI)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1は共に1である。動きベクトル算出部204の詳細な構成と動作は後述する。   When the prediction block to be decoded is not in the merge mode, the motion vector calculation unit 204 uses the encoded information of the already decoded image signal stored in the encoded information storage memory 209 to generate a plurality of prediction motion vector candidates. And the motion vector is registered in a motion vector predictor list, which will be described later, and a motion vector predictor that is decoded and supplied from the plurality of motion vector predictor candidates registered in the motion vector predictor list by the first encoded bit string decoding unit 202. A prediction motion vector corresponding to the index is selected, a motion vector is calculated from the difference vector decoded by the first encoded bit string decoding unit 202 and the selected prediction motion vector, and the motion compensated prediction unit 206 together with other encoded information. And is stored in the encoded information storage memory 209. Here, the encoding information of the prediction block to be supplied / stored includes the prediction indexes PredFlagL0, predFlagL1, L0, and L1 reference indexes refIdxL0, refIdxL1, indicating whether to use the prediction mode PredMode, the partition mode PartMode, the L0 prediction, and the L1 prediction L0, L1 motion vectors mvL0, mvL1, etc. Here, when the prediction mode PredMode is inter prediction (MODE_INTER), the flag predFlagL0 indicating whether to use the L0 prediction and the flag predFlagL1 indicating whether to use the L1 prediction are both 0. On the other hand, when the prediction mode PredMode is inter prediction (MODE_INTER) and the inter prediction mode is L0 prediction (Pred_L0), a flag predFlagL0 indicating whether to use L0 prediction is 1, and a flag predFlagL1 indicating whether to use L1 prediction Is 0. When the inter prediction mode is L1 prediction (Pred_L1), the flag predFlagL0 indicating whether to use L0 prediction is 0, and the flag predFlagL1 indicating whether to use L1 prediction is 1. When the inter prediction mode is bi-prediction (Pred_BI), a flag predFlagL0 indicating whether to use L0 prediction and a flag predFlagL1 indicating whether to use L1 prediction are both 1. The detailed configuration and operation of the motion vector calculation unit 204 will be described later.

インター予測情報推定部205は、復号対象の予測ブロックがマージモードの時に、マージモードのインター予測情報を推定する。符号化情報格納メモリ114に記憶されている既に復号された予測ブロックの符号化情報を用いて、複数のマージの候補を算出してマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から第1符号化ビット列復号部202で復号され供給されるマージインデックスに対応したマージ候補を選択し、選択されたマージ候補の予測モードPredMode、分割モードPartMode、L0予測、及びL1予測を利用するかどうかを示すフラグ、L0、L1の参照インデックス、L0、L1の動きベクトル等のインター予測情報を動き補償予測部206に供給するとともに、符号化情報格納メモリ209に格納する。   The inter prediction information estimation unit 205 estimates the inter prediction information in the merge mode when the prediction block to be decoded is in the merge mode. Using the encoded information of the already decoded prediction block stored in the encoded information storage memory 114, a plurality of merge candidates are calculated and registered in the merge candidate list, and the plurality of merge candidates registered in the merge candidate list The merge candidate corresponding to the merge index decoded and supplied by the first encoded bit string decoding unit 202 is selected from the merge candidates, and the prediction mode PredMode, split mode PartMode, L0 prediction, and L1 prediction of the selected merge candidate are selected. Inter prediction information such as a flag indicating whether or not to use, reference indexes of L0 and L1, motion vectors of L0 and L1, and the like are supplied to the motion compensation prediction unit 206 and stored in the encoded information storage memory 209.

動き補償予測部206は、動きベクトル算出部204で算出された動きベクトルを用いて参照ピクチャから動き補償予測により予測画像信号を生成し、予測画像信号を復号画像信号重畳部208に供給する。なお、双予測(Pred_BI)の場合は、L0予測、L1予測の2つの動き補償予測画像信号に適応的に重み係数を掛け算して重畳し、最終的な予測画像信号を生成する。   The motion compensation prediction unit 206 generates a prediction image signal by motion compensation prediction from the reference picture using the motion vector calculated by the motion vector calculation unit 204, and supplies the prediction image signal to the decoded image signal superimposition unit 208. In the case of bi-prediction (Pred_BI), a weighted coefficient is adaptively multiplied and superimposed on the two motion-compensated predicted image signals of L0 prediction and L1 prediction to generate a final predicted image signal.

逆量子化・逆直交変換部207は、第1符号化ビット列復号部202で復号された直交変換・量子化された残差信号に対して逆直交変換及び逆量子化を行い、逆直交変換・逆量子化された残差信号を得る。   The inverse quantization / inverse orthogonal transform unit 207 performs inverse orthogonal transform and inverse quantization on the orthogonal transform / quantized residual signal decoded by the first encoded bit string decoding unit 202, and performs inverse orthogonal transform / An inverse quantized residual signal is obtained.

復号画像信号重畳部208は、動き補償予測部206で動き補償予測された予測画像信号と、逆量子化・逆直交変換部207により逆直交変換・逆量子化された残差信号とを重畳することにより、復号画像信号を復号し、復号画像メモリ210に格納する。復号画像メモリ210に格納する際には、復号画像に対して符号化によるブロック歪等を減少させるフィルタリング処理を施して、復号画像メモリ210に格納されることもある。   The decoded image signal superimposing unit 208 superimposes the predicted image signal subjected to motion compensation prediction by the motion compensation prediction unit 206 and the residual signal subjected to inverse orthogonal transform / inverse quantization by the inverse quantization / inverse orthogonal transform unit 207. As a result, the decoded image signal is decoded and stored in the decoded image memory 210. When stored in the decoded image memory 210, the decoded image may be stored in the decoded image memory 210 after filtering processing for reducing block distortion or the like due to encoding is performed on the decoded image.

(シンタックスについて)
次に、本実施の形態に係る動きベクトルの予測方法を備える動画像符号化装置により符号化され、復号装置により復号される動画像のビットストリームの符号化および復号の共通規則であるシンタックスについて説明する。
(About syntax)
Next, a syntax that is a common rule for encoding and decoding a bit stream of a moving image that is encoded by a moving image encoding device including the motion vector prediction method according to the present embodiment and decoded by the decoding device explain.

図10は本実施の形態により生成されるビットストリームのスライス単位でスライスヘッダーに記述される第1のシンタックス構造を示す。ただし、本実施の形態に関係のあるシンタックス要素のみを示している。スライスタイプがBの場合は、時間方向の予測動きベクトルの候補、またはマージ候補を算出する際に用いる異なる時間のピクチャcolPicが処理対象の予測ブロックが含まれるピクチャのL0の参照リスト或いはL1の参照リストのどちらに登録されている参照ピクチャを使用するかを示すフラグcollocated_from_l0_flagが設置される。フラグcollocated_from_l0_flagの詳細については後述する。   FIG. 10 shows a first syntax structure described in the slice header in units of slices of the bitstream generated according to the present embodiment. However, only syntax elements relevant to the present embodiment are shown. When the slice type is B, a picture colPic at a different time used when calculating a motion vector prediction candidate or merge candidate in the temporal direction is a reference list of L0 or a reference of L1 of a picture including a prediction block to be processed. A flag collocated_from_l0_flag indicating which reference picture registered in which list is used is set. Details of the flag collocated_from_l0_flag will be described later.

なお、以上のシンタックス要素はピクチャ単位で設定されるシンタックス要素を記述するピクチャ・パラメータ・セットに設置してもよい。   Note that the above syntax elements may be placed in a picture parameter set describing syntax elements set in units of pictures.

図11は予測ブロック単位に記述されるシンタックスパターンを示す。予測ブロックの予測モードPredModeの値がインター予測(MODE_INTER)の場合、マージモードかどうかを示すmerge_flag[x0][y0]が設置される。ここで、x0、y0は輝度信号のピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_flag[x0][y0]はピクチャ内の(x0, y0)に位置する予測ブロックのマージモードかどうかを示すフラグである。   FIG. 11 shows a syntax pattern described in units of prediction blocks. When the value of the prediction mode PredMode of the prediction block is inter prediction (MODE_INTER), merge_flag [x0] [y0] indicating whether the mode is the merge mode is set. Here, x0 and y0 are indices indicating the position of the upper left pixel of the prediction block in the picture of the luminance signal, and merge_flag [x0] [y0] is the prediction block located at (x0, y0) in the picture It is a flag indicating whether or not merge mode.

次に、merge_flag[x0][y0]が1の場合、マージモードであることを示し、参照するマージ候補のリストであるマージリストのインデックスのシンタックス要素merge_idx[x0][y0]が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_idx[x0][y0]はピクチャ内の(x0, y0)に位置する予測ブロックのマージインデックスである。   Next, when merge_flag [x0] [y0] is 1, it indicates merge mode, and a merge list index syntax element merge_idx [x0] [y0] is set, which is a list of merge candidates to be referred to. . Here, x0 and y0 are indices indicating the position of the upper left pixel of the prediction block in the picture, and merge_idx [x0] [y0] is the merge index of the prediction block located at (x0, y0) in the picture. is there.

一方、merge_flag[x0][y0]が0の場合、マージモードでないことを示し、スライスタイプがBの場合、インター予測モードを識別するシンタックス要素inter_pred_flag[x0][y0]が設置され、このシンタックス要素でL0予測(Pred_L0)、L1予測(Pred_L1)、双予測(Pred_BI)を識別する。L0、L1ごとに、参照ピクチャを特定するための参照インデックスのシンタックス要素ref_idx_l0[x0][y0]、ref_idx_l1[x0][y0]、動きベクトル検出にて求められた予測ブロックの動きベクトルと予測動きベクトルとの差分である差分動きベクトルのシンタックス要素mvd_l0[x0][y0][j]、mvd_l1[x0][y0][j]が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、ref_idx_l0[x0][y0]、mvd_l0[x0][y0][j]はそれぞれピクチャ内の(x0, y0)に位置する予測ブロックのL0の参照インデックス、及び差分動きベクトルであり、ref_idx_l1[x0][y0]、mvd_l1[x0][y0][j]はそれぞれピクチャ内の(x0, y0)に位置する予測ブロックのL1の参照インデックス、及び差分動きベクトルである。また、jは差分動きベクトルの成分を表し、jが0はx成分を、jが1はy成分を表す。次に、参照する予測動きベクトルの候補のリストである予測動きベクトルリストのインデックスのシンタックス要素mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]はピクチャ内の(x0, y0)に位置する予測ブロックのL0、L1の予測動きベクトルインデックスである。図12は規定された予測動きベクトルの候補数毎の予測動きベクトルインデックスのシンタックス要素mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]のエントロピー符号の一例である。予測動きベクトルの候補数が2の場合、予測動きベクトルインデックスが0の時、予測動きベクトルインデックスのシンタックス要素mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]の符号は'0'となり、予測動きベクトルインデックスが1の時、予測動きベクトルインデックスのシンタックス要素mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]の符号は'1'となる。予測動きベクトルの候補数が3の場合、予測動きベクトルインデックスが0の時、予測動きベクトルインデックスのシンタックス要素mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]の符号は'0'となり、予測動きベクトルインデックスが1の時、予測動きベクトルインデックスのシンタックス要素mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]の符号は'10'となり、予測動きベクトルインデックスが2の時、予測動きベクトルインデックスのシンタックス要素mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]の符号は'11'となる。本発明の実施の形態においては予測動きベクトルの候補数は後述の規定された最終候補数finalNumMVPCandと同じ値が設定され、これらの候補数の値を2と設定する。   On the other hand, when merge_flag [x0] [y0] is 0, this indicates that the mode is not merge mode. When the slice type is B, a syntax element inter_pred_flag [x0] [y0] for identifying the inter prediction mode is installed. The L0 prediction (Pred_L0), L1 prediction (Pred_L1), and bi-prediction (Pred_BI) are identified by the tax element. For each of L0 and L1, syntax elements ref_idx_l0 [x0] [y0] and ref_idx_l1 [x0] [y0] of the reference index for specifying the reference picture, the motion vector and prediction of the prediction block obtained by motion vector detection The differential motion vector syntax elements mvd_l0 [x0] [y0] [j] and mvd_l1 [x0] [y0] [j], which are the differences from the motion vector, are provided. Here, x0 and y0 are indexes indicating the position of the upper left pixel of the prediction block in the picture, and ref_idx_l0 [x0] [y0] and mvd_l0 [x0] [y0] [j] are respectively (x0 , y0) is the reference index of L0 of the prediction block and the differential motion vector, and ref_idx_l1 [x0] [y0] and mvd_l1 [x0] [y0] [j] are respectively (x0, y0) in the picture It is the reference index of L1 of the prediction block located, and a difference motion vector. Further, j represents a differential motion vector component, j represents 0 as an x component, and j represents 1 as a y component. Next, syntax elements mvp_idx_l0 [x0] [y0] and mvp_idx_l1 [x0] [y0] of an index of a predicted motion vector list that is a list of predicted motion vector candidates to be referred to are set. Here, x0 and y0 are indices indicating the position of the upper left pixel of the prediction block in the picture, and mvp_idx_l0 [x0] [y0] and mvp_idx_l1 [x0] [y0] are in (x0, y0) in the picture It is the prediction motion vector index of L0 and L1 of the prediction block located. FIG. 12 is an example of entropy codes of the syntax elements mvp_idx_l0 [x0] [y0] and mvp_idx_l1 [x0] [y0] of the predicted motion vector index for each number of defined predicted motion vector candidates. When the number of motion vector predictor candidates is 2, when the motion vector predictor index is 0, the signs of the motion vector index syntax elements mvp_idx_l0 [x0] [y0] and mvp_idx_l1 [x0] [y0] are “0”. When the predicted motion vector index is 1, the signs of the syntax elements mvp_idx_l0 [x0] [y0] and mvp_idx_l1 [x0] [y0] of the predicted motion vector index are “1”. When the number of motion vector predictor candidates is 3, when the motion vector predictor index is 0, the signs of the motion vector index syntax elements mvp_idx_l0 [x0] [y0] and mvp_idx_l1 [x0] [y0] are “0”. When the motion vector predictor index is 1, the syntax elements mvp_idx_l0 [x0] [y0] and mvp_idx_l1 [x0] [y0] of the motion vector predictor index are “10” and when the motion vector predictor index is 2, The signs of the syntax elements mvp_idx_l0 [x0] [y0] and mvp_idx_l1 [x0] [y0] of the predicted motion vector index are “11”. In the embodiment of the present invention, the number of motion vector predictor candidates is set to the same value as the final candidate number finalNumMVPCand defined below, and the value of the number of candidates is set to 2.

実施の形態に係る動きベクトルの予測方法は、図1の動画像符号化装置の差分動きベクトル算出部103及び図2の動画像復号装置の動きベクトル算出部204において実施される。   The motion vector prediction method according to the embodiment is implemented in the difference motion vector calculation unit 103 of the video encoding device in FIG. 1 and the motion vector calculation unit 204 of the video decoding device in FIG.

実施の形態による動きベクトルの予測方法を図面を用いて説明する。動きベクトルの予測方法は、符号化ブロックを構成する予測ブロック単位に、符号化及び復号の処理の何れでも実施される。予測ブロックの予測モードがインター予測(MODE_INTER)で、マージモードでない場合に、符号化の場合、符号化対象の動きベクトルから符号化する差分動きベクトルを算出する時に用いる符号化済みの動きベクトルを利用して予測動きベクトルを導出する際、復号の場合、復号対象の動きベクトルを算出する時に用いる復号済みの動きベクトルを利用して予測動きベクトルを導出する際に実施される。   A motion vector prediction method according to an embodiment will be described with reference to the drawings. The motion vector prediction method is performed in any of the encoding and decoding processes for each prediction block constituting the encoding block. When the prediction mode of the prediction block is inter prediction (MODE_INTER) and not the merge mode, in the case of encoding, the encoded motion vector used when calculating the differential motion vector to be encoded from the motion vector to be encoded is used. In the case of deriving the predicted motion vector, the decoding is performed when the predicted motion vector is derived using the decoded motion vector used when calculating the motion vector to be decoded.

(符号化における動きベクトルの予測)
上述のシンタックスに基づき、動画像のビットストリームを符号化する動画像符号化装置において、実施の形態に係る動きベクトルの予測方法の動作を説明する。動きベクトルの予測方法は、スライス単位で動き補償予測を行う場合、即ちスライスタイプがPスライス(片方向予測スライス)或いはBスライス(両方向予測スライス)の場合で、更に、スライスの中の予測ブロックの予測モードがインター予測(MODE_INTER)で、マージモードでない差分動きベクトルを符号化または復号する予測ブロックに適用される。
(Prediction of motion vector in encoding)
The operation of the motion vector prediction method according to the embodiment in the video encoding device that encodes a video bitstream based on the above-described syntax will be described. The motion vector prediction method is a method in which motion compensated prediction is performed in units of slices, that is, when the slice type is a P slice (unidirectional prediction slice) or a B slice (bidirectional prediction slice). The prediction mode is an inter prediction (MODE_INTER) and is applied to a prediction block that encodes or decodes a differential motion vector that is not a merge mode.

図13は、図1の動画像符号化装置の差分動きベクトル算出部103の詳細な構成を示す図である。図13の太枠線で囲まれる部分は差分動きベクトル算出部103を示している。   FIG. 13 is a diagram showing a detailed configuration of the differential motion vector calculation unit 103 of the moving picture encoding device of FIG. A portion surrounded by a thick frame line in FIG. 13 indicates the differential motion vector calculation unit 103.

更に、その内部の太点線で囲まれる部分は後述する動きベクトルの予測方法の動作部を示しており、実施の形態の動画像符号化装置と対応する動画像復号装置にも同様に設置され、符号化と復号で矛盾しない同一の判定結果を得られるようにしている。以下、この図を用いて、符号化における動きベクトルの予測方法を説明する。   Further, the part surrounded by a thick dotted line inside thereof shows an operation unit of a motion vector prediction method described later, and is similarly installed in a video decoding device corresponding to the video encoding device of the embodiment, The same determination result that does not contradict between encoding and decoding can be obtained. Hereinafter, a motion vector prediction method in encoding will be described with reference to FIG.

差分動きベクトル算出部103は、予測動きベクトル候補生成部121、予測動きベクトル候補登録部122、予測動きベクトル冗長候補削除部123、予測動きベクトル候補数制限部124、予測動きベクトル候補符号量算出部125、予測動きベクトル選択部126、予測動きベクトルスケーリング演算部127、および動きベクトル減算部128を含む。   The difference motion vector calculation unit 103 includes a prediction motion vector candidate generation unit 121, a prediction motion vector candidate registration unit 122, a prediction motion vector redundant candidate deletion unit 123, a prediction motion vector candidate number limit unit 124, and a prediction motion vector candidate code amount calculation unit. 125, a predicted motion vector selection unit 126, a predicted motion vector scaling calculation unit 127, and a motion vector subtraction unit 128.

この差分動きベクトル算出部103での差分動きベクトル算出処理は、符号化対象ブロックで選択されたインター予測方法で用いる動きベクトルの差分動きベクトルをL0、L1毎にそれぞれ算出する。具体的には符号化対象ブロックの予測モードPredModeがインター予測(MODE_INTER)で、符号化対象ブロックのインター予測モードがL0予測(Pred_L0)の場合、L0の予測動きベクトルリストmvpListL0を算出して、予測動きベクトルmvpL0を選択し、L0の動きベクトルの差分動きベクトルmvdL0を算出する。符号化対象ブロックのインター予測モード(Pred_L1)がL1予測の場合、L1の予測動きベクトルリストmvpListL1を算出して、予測動きベクトルmvpL1を選択し、L1の動きベクトルの差分動きベクトルmvdL1を算出する。符号化対象ブロックのインター予測モードが双予測(Pred_BI)の場合、L0予測とL1予測が共に行われ、L0の予測動きベクトルリストmvpListL0を算出して、L0の予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0の差分動きベクトルmvdL0を算出するとともに、L1の予測動きベクトルリストmvpListL1を算出して、L1の予測動きベクトルmvpL1を算出し、L1の動きベクトルmvL1の差分動きベクトルmvdL1をそれぞれ算出する。   In the differential motion vector calculation processing in the differential motion vector calculation unit 103, the differential motion vector of the motion vector used in the inter prediction method selected in the encoding target block is calculated for each of L0 and L1. Specifically, when the prediction mode PredMode of the encoding target block is inter prediction (MODE_INTER) and the inter prediction mode of the encoding target block is L0 prediction (Pred_L0), the prediction motion vector list mvpListL0 of L0 is calculated and predicted. A motion vector mvpL0 is selected, and a differential motion vector mvdL0 of the L0 motion vector is calculated. When the inter prediction mode (Pred_L1) of the encoding target block is L1 prediction, the L1 predicted motion vector list mvpListL1 is calculated, the predicted motion vector mvpL1 is selected, and the differential motion vector mvdL1 of the L1 motion vector is calculated. When the inter prediction mode of the encoding target block is bi-prediction (Pred_BI), both L0 prediction and L1 prediction are performed, a prediction motion vector list mvpListL0 of L0 is calculated, a prediction motion vector mvpL0 of L0 is selected, and L0 A difference motion vector mvdL0 of the L1 motion vector mvLL, a prediction motion vector list mvpListL1 of the L1, a prediction motion vector mvpL1 of the L1, and a difference motion vector mvdL1 of the motion vector mvL1 of the L1. .

L0、L1それぞれについて、差分動きベクトル算出処理を行うが、L0、L1ともに共通の処理となる。したがって、以下の説明においてはL0、L1を共通のLXとして表す。L0の差分動きベクトルを算出する処理ではXが0であり、L1の差分動きベクトルを算出する処理ではXが1である。また、LXの差分動きベクトルを算出する処理中に、LXではなく、もう一方のリストの情報を参照する場合、もう一方のリストをLYとして表す。   Difference motion vector calculation processing is performed for each of L0 and L1, but both L0 and L1 are common processing. Therefore, in the following description, L0 and L1 are represented as a common LX. In the process of calculating the differential motion vector of L0, X is 0, and in the process of calculating the differential motion vector of L1, X is 1. Further, when referring to the information of the other list instead of LX during the process of calculating the differential motion vector of LX, the other list is represented as LY.

予測動きベクトル候補生成部121は、L0、L1毎に、上側に隣接する予測ブロックグループ(符号化対象の予測ブロックと同一ピクチャ内でその予測ブロックの左側に隣接する予測ブロックグループ:図5のA0,A1)、左側に隣接する予測ブロックグループ(符号化対象の予測ブロックと同一ピクチャ内でその予測ブロックの上側に隣接する予測ブロックグループ:図5のB0,B1,B2)、異なる時間の予測ブロックグループ(符号化対象の予測ブロックと時間的に異なるピクチャ内でその予測ブロックと同一位置あるいはその近傍の位置に存在する既に符号化済みの予測ブロックグループ:図9のT0,T1)の3つの予測ブロックグループから、予測ブロックグループごとに1つの動きベクトルmvLXA、mvLXB、mvLXColをそれぞれ導出して予測動きベクトル候補とし、それらの動きベクトルmvLXA、mvLXB、mvLXColに対応するそれぞれのピクチャ間距離distA、distB、distColと共に、予測動きベクトル候補登録部122に供給する。なお、ピクチャ間距離distA、distB、distColの詳細については後述する。以下、mvLXA及びmvLXBを空間的な予測動きベクトル、mvLXColを時間的な予測動きベクトルと呼ぶ。この予測動きベクトル候補の選択に際しては、符号化情報格納メモリ114に格納されている符号化済みの予測ブロックの予測モード、参照リスト毎の参照インデックス、参照ピクチャのPOC、動きベクトル等の符号化情報を用いる。   For each of L0 and L1, the motion vector predictor candidate generation unit 121 has a prediction block group adjacent to the upper side (a prediction block group adjacent to the left side of the prediction block in the same picture as the prediction block to be encoded: A0 in FIG. 5). , A1), prediction block group adjacent to the left side (prediction block group adjacent to the upper side of the prediction block in the same picture as the prediction block to be encoded: B0, B1, B2 in FIG. 5), prediction blocks at different times Three predictions of a group (predicted block group that has already been encoded and exists at the same position as the prediction block in a picture temporally different from the prediction block to be encoded or a position near the prediction block: T0 and T1 in FIG. 9) From the block group, one motion vector mvLXA, mvLXB, mvLXCol for each prediction block group Out as a predicted motion vector candidates, their motion vectors mvLXA, MvLXB, each picture distance distA corresponding to MvLXCol, DISTB, with DistCol, supplies the predicted motion vector candidate registration unit 122. Details of the inter-picture distances distA, distB, and distCol will be described later. Hereinafter, mvLXA and mvLXB are referred to as spatial prediction motion vectors, and mvLXCol is referred to as a temporal prediction motion vector. When selecting the prediction motion vector candidate, encoding information such as the prediction mode of the encoded prediction block stored in the encoding information storage memory 114, the reference index for each reference list, the POC of the reference picture, the motion vector, etc. Is used.

予測動きベクトル候補生成部121は、各予測ブロックグループ毎に、所定の順序で、それぞれの予測ブロックグループ内の予測ブロックに対して、後述の条件判定を行い、最初に条件に合致した予測ブロックの動きベクトルを選択し、予測動きベクトルの候補mvLXA、mvLXB、mvLXColとする。   The motion vector predictor candidate generation unit 121 performs a later-described condition determination on the prediction blocks in each prediction block group in a predetermined order for each prediction block group. A motion vector is selected and set as the predicted motion vector candidates mvLXA, mvLXB, and mvLXCol.

左側に隣接する予測ブロックグループから予測動きベクトルを算出する際には、左側に隣接する予測ブロックグループの下から上の順序(図5のA0からA0,A1の順序)で、上側に隣接する予測ブロックグループから予測動きベクトルを算出する際には、上側に隣接する予測ブロックグループの右から左の順序(図5のB0からB0,B1,B2の順序)で、異なる時間の予測ブロックグループから予測動きベクトルを算出する際には、図9のT0からT0,T1の順序で、各予測ブロックに対して、後述の条件判定を行い、最初に条件に合致した予測ブロックの動きベクトルを選択し、予測動きベクトルの候補をそれぞれmvLXA、mvLXB、mvLXColとする。   When calculating a prediction motion vector from a prediction block group adjacent to the left side, predictions adjacent to the upper side in the order from the bottom to the top of the prediction block group adjacent to the left side (order of A0 to A0 and A1 in FIG. 5). When calculating a prediction motion vector from a block group, prediction is performed from prediction block groups at different times in the order from right to left of the prediction block group adjacent to the upper side (order B0 to B0, B1, and B2 in FIG. 5). When calculating the motion vector, condition determination to be described later is performed for each prediction block in the order of T0 to T0 and T1 in FIG. 9, and the motion vector of the prediction block that first matches the condition is selected. Predicted motion vector candidates are mvLXA, mvLXB, and mvLXCol, respectively.

即ち、左側の隣接予測ブロックグループでは、一番下の予測ブロックが最も優先順位が高く、下から上に向かって優先順位が付けられており、上側の隣接予測ブロックグループでは、一番右の予測ブロックが最も優先順位が高く、右から左に向かって優先順位が付けられている。異なる時間の予測ブロックグループでは、T0の予測ブロックが最も優先順位が高く、T0,T1の順に優先順位が付けられている。   That is, in the left adjacent prediction block group, the lowest prediction block has the highest priority, and the priority is given from the bottom to the top. In the upper adjacent prediction block group, the rightmost prediction block Blocks have the highest priority and are prioritized from right to left. In the prediction block group at different times, the prediction block of T0 has the highest priority, and the priority is given in the order of T0 and T1.

(空間予測ブロックの条件判定のループの説明)
左側の隣接予測ブロックグループ、及び上側の隣接予測ブロックグループの各隣接予測ブロックに対しては、後述するスキャン方法1、4、5、6では、下記の条件判定1、2、3、4の優先順序でそれぞれの条件判定が適用される。
条件判定1:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルと同じ参照リストLXで、同じ参照インデックス、すなわち同じ参照ピクチャを用いた予測が隣接予測ブロックでも行われている。
条件判定2:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルとは異なる参照リストLYであるが、同じ参照ピクチャを用いた予測が隣接予測ブロックで行われている。
条件判定3:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルと同じ参照リストLXで、異なる参照ピクチャを用いた予測が隣接予測ブロックで行われている。
条件判定4:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルとは異なる参照リストLYで、異なる参照ピクチャを用いた予測が隣接予測ブロックで行われている。
(Explanation of loop for condition judgment of spatial prediction block)
For each of the adjacent prediction blocks of the left adjacent prediction block group and the upper adjacent prediction block group, in the scanning methods 1, 4, 5, and 6 to be described later, the following condition determinations 1, 2, 3, and 4 are prioritized. Each condition decision is applied in order.
Condition determination 1: Prediction using the same reference index, that is, the same reference picture is performed in the adjacent prediction block with the same reference list LX as the motion vector of the LX that is the difference motion vector calculation target of the prediction block to be encoded / decoded. Yes.
Condition determination 2: Although the reference list LY is different from the LX motion vector of the differential motion vector calculation target of the prediction block to be encoded / decoded, prediction using the same reference picture is performed in the adjacent prediction block.
Condition determination 3: Prediction using a different reference picture is performed in the adjacent prediction block in the same reference list LX as the LX motion vector of the differential motion vector calculation target of the prediction block to be encoded / decoded.
Condition determination 4: Prediction using a different reference picture in a reference list LY different from a motion vector of an LX that is a difference motion vector calculation target of a prediction block to be encoded / decoded is performed in an adjacent prediction block.

また、後述するスキャン方法2、スキャン方法3では、条件判定1と条件判定3のいずれかを満たす条件判定5、条件判定2と条件判定4のいずれかを満たす条件判定6が適用される。
条件判定5:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルと同じ参照リストLXを用いた予測が隣接予測ブロックでも行われている。(参照ピクチャが同じかどうかは条件判定5では区別しない)
条件判定6:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルとは異なる参照リストLYを用いた予測が隣接予測ブロックでも行われている。(参照ピクチャが同じかどうかは条件判定6では区別しない)
In scanning method 2 and scanning method 3, which will be described later, condition determination 5 that satisfies either condition determination 1 or condition determination 3 and condition determination 6 that satisfies either condition determination 2 or condition determination 4 are applied.
Condition determination 5: Prediction using the same reference list LX as the motion vector of the LX that is the difference motion vector calculation target of the prediction block to be encoded / decoded is also performed in the adjacent prediction block. (Condition judgment 5 does not distinguish whether the reference pictures are the same)
Condition determination 6: Prediction using the reference list LY that is different from the motion vector of the LX that is the difference motion vector calculation target of the prediction block to be encoded / decoded is also performed in the adjacent prediction block. (Condition 6 does not distinguish whether the reference pictures are the same)

これらの条件のいずれかに一致した場合、当該予測ブロックには条件に合致する動きベクトルは存在すると判断し、後に続く条件判定は行わない。   If any of these conditions is met, it is determined that there is a motion vector that matches the condition in the prediction block, and the subsequent condition determination is not performed.

空間予測ブロックのスキャンのループの仕方として、上記の4つの条件判定の進め方によって、下記の6通りの方法を設定することができる。それぞれの方法によって予測ベクトルの相応しさと最大処理量が異なり、それらを考慮してこれらの方法から選択し設定する。スキャン方法1及びスキャン方法2については、それぞれ図18〜図20及び図31〜図33のフローチャートを用いて詳しく後述するが、他の方法についても、当業者であれば実施する手順についてはスキャン方法1及びスキャン方法2を実施する手順に準じて適宜設計できる事項であるから、詳しい説明を省略する。なお、ここでは動画像符号化装置における空間予測ブロックのスキャンのループ処理を説明するが、同様の処理は動画像復号装置においても可能である。   The following six methods can be set as the method of loop scanning of the spatial prediction block depending on the above-described four conditions. The appropriateness of the prediction vector and the maximum processing amount differ depending on each method, and these are selected and set in consideration of them. The scanning method 1 and the scanning method 2 will be described in detail later with reference to the flowcharts of FIGS. 18 to 20 and FIGS. 31 to 33, respectively. Since this is a matter that can be appropriately designed according to the procedure for performing 1 and scanning method 2, detailed description thereof will be omitted. In addition, although the loop process of the scan of the spatial prediction block in a moving image encoder is demonstrated here, the same process is also possible in a moving image decoder.

スキャン方法1:
同じ参照ピクチャを用いたスケーリング演算が不要な予測動きベクトルの判定を優先し、4つの条件判定のうち予測ブロック毎に2つの条件判定を行い、条件を満たさなければ、隣の予測ブロックの条件判定に移る。最初の周回では条件判定1と条件判定2の条件判定を行い、次の予測ブロックの周回では条件判定3と条件判定4の条件判定を行う。
Scanning method 1:
Priority is given to the determination of a prediction motion vector that does not require scaling operation using the same reference picture, and two condition determinations are performed for each prediction block among the four condition determinations. If the condition is not satisfied, the condition determination of the adjacent prediction block is performed. Move on. Condition determination 1 and condition determination 2 are performed in the first round, and condition determination 3 and condition determination 4 are performed in the next round of prediction blocks.

具体的には以下の優先順序で条件判定を行う。(ただし、NはAまたはB)
1.予測ブロックN0の条件判定1(同じ参照リストLX、同じ参照ピクチャ)
2.予測ブロックN0の条件判定2(異なる参照リストLY、同じ参照ピクチャ)
3.予測ブロックN1の条件判定1(同じ参照リストLX、同じ参照ピクチャ)
4.予測ブロックN1の条件判定2(異なる参照リストLY、同じ参照ピクチャ)
5.予測ブロックN2の条件判定1(同じ参照リストLX、同じ参照ピクチャ)、上側に隣接する予測ブロックグループのみ
6.予測ブロックN2の条件判定2(異なる参照リストLY、同じ参照ピクチャ)、上側に隣接する予測ブロックグループのみ
7.予測ブロックN0の条件判定3(同じ参照リストLX、異なる参照ピクチャ)
8.予測ブロックN0の条件判定4(異なる参照リストLY、異なる参照ピクチャ)
9.予測ブロックN1の条件判定3(同じ参照リストLX、異なる参照ピクチャ)
10.予測ブロックN1の条件判定4(異なる参照リストLY、異なる参照ピクチャ)
11.予測ブロックN2の条件判定3(同じ参照リストLX、異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
12.予測ブロックN2の条件判定4(異なる参照リストLY、異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
Specifically, the condition determination is performed in the following priority order. (However, N is A or B)
1. Condition determination 1 of the prediction block N0 (same reference list LX, same reference picture)
2. Prediction block N0 condition determination 2 (different reference list LY, same reference picture)
3. Condition determination 1 of the prediction block N1 (same reference list LX, same reference picture)
4). Condition determination 2 of the prediction block N1 (different reference list LY, same reference picture)
5. 5. Condition determination 1 of the prediction block N2 (the same reference list LX, the same reference picture), only the prediction block group adjacent on the upper side 6. Condition determination 2 of the prediction block N2 (different reference list LY, the same reference picture), only the prediction block group adjacent on the upper side Condition determination 3 of the prediction block N0 (same reference list LX, different reference pictures)
8). Prediction block N0 condition decision 4 (different reference list LY, different reference picture)
9. Condition determination 3 of the prediction block N1 (same reference list LX, different reference pictures)
10. Prediction block N1 condition determination 4 (different reference list LY, different reference picture)
11. 11. Condition determination 3 of the prediction block N2 (same reference list LX, different reference pictures), only the prediction block group adjacent on the upper side Predictive block N2 condition decision 4 (different reference list LY, different reference picture), upper adjacent prediction block group only

スキャン方法1によれば、同じ参照ピクチャを用いたスケーリング演算が不要な予測動きベクトルが選ばれやすいので、差分動きベクトルの符号量が小さくなる可能性が高くなる効果がある。また、条件判定の周回数が最大2回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数が後述するスキャン方法4に比べて少なくなり、複雑性が低減される。   According to the scanning method 1, since a prediction motion vector that does not require a scaling operation using the same reference picture is easily selected, there is an effect that the possibility that the code amount of the difference motion vector is reduced is increased. In addition, since the maximum number of rounds for condition determination is two, the number of memory accesses to the encoded information of the prediction block is reduced compared to the scan method 4 described later when considering implementation in hardware, and complexity is increased. Is reduced.

スキャン方法2:
同じリストを用いた予測動きベクトルの判定を優先し、4つの条件判定のうち予測ブロック毎に2つの条件判定を行い、条件を満たさなければ、隣の予測ブロックの条件判定に移る。最初の周回では条件判定1と条件判定3の条件判定を行い、次の予測ブロックの周回では条件判定2と条件判定4の条件判定を行う。この際、参照ピクチャが同じか異なるかは判定しない。
Scanning method 2:
Prioritizing the determination of the motion vector predictor using the same list, two condition determinations are performed for each prediction block among the four condition determinations. If the condition is not satisfied, the process proceeds to the condition determination for the adjacent prediction block. Condition determination 1 and condition determination 3 are performed in the first round, and condition determination 2 and condition determination 4 are performed in the next round of prediction blocks. At this time, it is not determined whether the reference pictures are the same or different.

具体的には以下の優先順序で条件判定を行う。(ただし、NはAまたはB)
1.予測ブロックN0の条件判定5(同じ参照リストLX、同じまたは異なる参照ピクチャ)
2.予測ブロックN1の条件判定5(同じ参照リストLX、同じまたは異なる参照ピクチャ)
3.予測ブロックN2の条件判定5(同じ参照リストLX、同じまたは異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
4.予測ブロックN0の条件判定6(異なる参照リストLY、同じまたは異なる参照ピクチャ)
5.予測ブロックN1の条件判定6(異なる参照リストLY、同じまたは異なる参照ピクチャ)
6.予測ブロックN2の条件判定6(異なる参照リストLY、同じまたは異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
Specifically, the condition determination is performed in the following priority order. (However, N is A or B)
1. Prediction block N0 condition decision 5 (same reference list LX, same or different reference pictures)
2. Prediction block N1 condition decision 5 (same reference list LX, same or different reference pictures)
3. 3. Condition determination 5 of the prediction block N2 (the same reference list LX, the same or different reference pictures), only the prediction block group adjacent on the upper side Prediction block N0 condition decision 6 (different reference lists LY, same or different reference pictures)
5. Condition determination 6 of the prediction block N1 (different reference lists LY, same or different reference pictures)
6). Condition determination 6 of the prediction block N2 (different reference lists LY, the same or different reference pictures), only the prediction block group adjacent on the upper side

スキャン方法2によれば、同じリストLXを用いた予測動きベクトルが選ばれやすくなる。また、参照ピクチャが同じかどうかは判定する必要がないので、条件判定の複雑性が低減される。   According to the scanning method 2, it becomes easy to select a motion vector predictor using the same list LX. In addition, since it is not necessary to determine whether the reference pictures are the same, the condition determination complexity is reduced.

スキャン方法3:
スキャン方法2と同様に同じリストを用いた予測動きベクトルの判定を優先する。ただし、同じ予測ブロックの条件判定を優先し、1つの予測ブロック内で2つの条件判定を行い、すべての条件に合致しない場合、当該予測ブロックには条件に合致する動きベクトルは存在しないものと判断し、次の予測ブロックの条件判定を行う。
Scan method 3:
Similar to the scan method 2, the determination of the motion vector predictor using the same list is given priority. However, priority is given to the condition determination of the same prediction block, and two condition determinations are performed within one prediction block. If all the conditions are not met, it is determined that there is no motion vector matching the condition in the prediction block. Then, the condition of the next prediction block is determined.

具体的には以下の優先順序で条件判定を行う。(ただし、NはAまたはB)
1.予測ブロックN0の条件判定5(同じ参照リストLX、同じまたは異なる参照ピクチャ)
2.予測ブロックN0の条件判定6(異なる参照リストLY、同じまたは異なる参照ピクチャ)
3.予測ブロックN1の条件判定5(同じ参照リストLX、同じまたは異なる参照ピクチャ)
4.予測ブロックN1の条件判定6(異なる参照リストLY、同じまたは異なる参照ピクチャ)
5.予測ブロックN2の条件判定5(同じ参照リストLX、同じまたは異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
6.予測ブロックN2の条件判定6(異なる参照リストLY、同じまたは異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
Specifically, the condition determination is performed in the following priority order. (However, N is A or B)
1. Prediction block N0 condition decision 5 (same reference list LX, same or different reference pictures)
2. Prediction block N0 condition decision 6 (different reference lists LY, same or different reference pictures)
3. Prediction block N1 condition decision 5 (same reference list LX, same or different reference pictures)
4). Condition determination 6 of the prediction block N1 (different reference lists LY, same or different reference pictures)
5. 5. Condition determination 5 of the prediction block N2 (the same reference list LX, the same or different reference pictures), only the prediction block group adjacent on the upper side Condition determination 6 of the prediction block N2 (different reference lists LY, the same or different reference pictures), only the prediction block group adjacent on the upper side

スキャン方法3によれば、さらに、スキャン方法2と同様に参照ピクチャが同じか異なるかは判定する必要がないので、複雑性が低減される。また、条件判定の周回数が最大でも1回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数がスキャン方法1、スキャン方法2に比べて少なくなり、複雑性が低減される。   According to the scanning method 3, it is not necessary to determine whether the reference pictures are the same or different as in the scanning method 2, so that the complexity is reduced. In addition, since the number of rounds of condition determination is at most one, the number of memory accesses to the encoded information of the prediction block is smaller than that of the scanning method 1 and the scanning method 2 when considering implementation in hardware. , Complexity is reduced.

スキャン方法4:
4つの条件判定のうち予測ブロック毎に1つの条件判定を行い、条件を満たさなければ、隣の予測ブロックの条件判定に移る。予測ブロック毎に条件判定を4周したら終了する。
Scanning method 4:
Of the four condition determinations, one condition determination is performed for each prediction block. If the condition is not satisfied, the process proceeds to the condition determination for the adjacent prediction block. If the condition determination is performed four times for each prediction block, the process is terminated.

具体的には以下の優先順序で条件判定を行う。(ただし、NはAまたはB)
1.予測ブロックN0の条件判定1(同じ参照リストLX、同じ参照ピクチャ)
2.予測ブロックN1の条件判定1(同じ参照リストLX、同じ参照ピクチャ)
3.予測ブロックN2の条件判定1(同じ参照リストLX、同じ参照ピクチャ)、上側に隣接する予測ブロックグループのみ
4.予測ブロックN0の条件判定2(異なる参照リストLY、同じ参照ピクチャ)
5.予測ブロックN1の条件判定2(異なる参照リストLY、同じ参照ピクチャ)
6.予測ブロックN2の条件判定2(異なる参照リストLY、同じ参照ピクチャ)、上側に隣接する予測ブロックグループのみ
7.予測ブロックN0の条件判定3(同じ参照リストLX、異なる参照ピクチャ)
8.予測ブロックN1の条件判定3(同じ参照リストLX、異なる参照ピクチャ)
9.予測ブロックN2の条件判定3(同じ参照リストLX、異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
10.予測ブロックN0の条件判定4(異なる参照リストLY、異なる参照ピクチャ)
11.予測ブロックN1の条件判定4(異なる参照リストLY、異なる参照ピクチャ)
12.予測ブロックN2の条件判定4(異なる参照リストLY、異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
Specifically, the condition determination is performed in the following priority order. (However, N is A or B)
1. Condition determination 1 of the prediction block N0 (same reference list LX, same reference picture)
2. Condition determination 1 of the prediction block N1 (same reference list LX, same reference picture)
3. 3. Condition determination 1 of the prediction block N2 (same reference list LX, same reference picture), only the prediction block group adjacent on the upper side Prediction block N0 condition determination 2 (different reference list LY, same reference picture)
5. Condition determination 2 of the prediction block N1 (different reference list LY, same reference picture)
6). 6. Condition determination 2 of the prediction block N2 (different reference list LY, the same reference picture), only the prediction block group adjacent on the upper side Condition determination 3 of the prediction block N0 (same reference list LX, different reference pictures)
8). Condition determination 3 of the prediction block N1 (same reference list LX, different reference pictures)
9. 9. Condition determination 3 of the prediction block N2 (same reference list LX, different reference pictures), only the prediction block group adjacent on the upper side Prediction block N0 condition decision 4 (different reference list LY, different reference picture)
11. Prediction block N1 condition determination 4 (different reference list LY, different reference picture)
12 Predictive block N2 condition decision 4 (different reference list LY, different reference picture), upper adjacent prediction block group only

スキャン方法4によれば、同じ参照ピクチャを用いたスケーリング演算が不要な予測動きベクトルが選ばれやすいので、差分動きベクトルの符号量が小さくなる可能性が高くなる効果がある。また、条件判定の周回数が最大4回となり、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数がスキャン方法1に比べて多くなるが、同じ参照リストの予測動きベクトルが選ばれやすくなる。   According to the scan method 4, since a prediction motion vector that does not require a scaling operation using the same reference picture is easily selected, there is an effect that the possibility that the code amount of the difference motion vector is reduced is increased. In addition, the number of rounds for condition determination is four times, and the number of memory accesses to the encoded information of the prediction block is larger than that in the scanning method 1 when considering implementation in hardware, but the prediction of the same reference list is performed. A motion vector is easily selected.

スキャン方法5:
最初の周回では予測ブロック毎に条件判定1の条件判定を行い条件を満たさなければ、隣の予測ブロックの条件判定に移る。次の周回では予測ブロック毎に条件判定2、条件判定3条件判定4順序で条件判定を行ってから隣に移る。
Scanning method 5:
In the first round, the condition determination of condition determination 1 is performed for each prediction block. In the next lap, condition determination is performed in order of condition determination 2, condition determination 3 and condition determination 4 for each prediction block, and then the process proceeds to the next.

具体的には以下の優先順序で条件判定を行う。(ただし、NはAまたはB)
1.予測ブロックN0の条件判定1(同じ参照リストLX、同じ参照ピクチャ)
2.予測ブロックN1の条件判定1(同じ参照リストLX、同じ参照ピクチャ)
3.予測ブロックN2の条件判定1(同じ参照リストLX、同じ参照ピクチャ)、上側に隣接する予測ブロックグループのみ
4.予測ブロックN0の条件判定2(異なる参照リストLY、同じ参照ピクチャ)
5.予測ブロックN0の条件判定3(同じ参照リストLX、異なる参照ピクチャ)
6.予測ブロックN0の条件判定4(異なる参照リストLY、異なる参照ピクチャ)
7.予測ブロックN1の条件判定2(異なる参照リストLY、同じ参照ピクチャ)
8.予測ブロックN1の条件判定3(同じ参照リストLX、異なる参照ピクチャ)
9.予測ブロックN1の条件判定4(異なる参照リストLY、異なる参照ピクチャ)
10.予測ブロックN2の条件判定2(異なる参照リストLY、同じ参照ピクチャ)、上側に隣接する予測ブロックグループのみ
11.予測ブロックN2の条件判定3(同じ参照リストLX、異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
12.予測ブロックN2の条件判定4(異なる参照リストLY、異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
Specifically, the condition determination is performed in the following priority order. (However, N is A or B)
1. Condition determination 1 of the prediction block N0 (same reference list LX, same reference picture)
2. Condition determination 1 of the prediction block N1 (same reference list LX, same reference picture)
3. 3. Condition determination 1 of the prediction block N2 (same reference list LX, same reference picture), only the prediction block group adjacent on the upper side Prediction block N0 condition determination 2 (different reference list LY, same reference picture)
5. Condition determination 3 of the prediction block N0 (same reference list LX, different reference pictures)
6). Prediction block N0 condition decision 4 (different reference list LY, different reference picture)
7). Condition determination 2 of the prediction block N1 (different reference list LY, same reference picture)
8). Condition determination 3 of the prediction block N1 (same reference list LX, different reference pictures)
9. Prediction block N1 condition determination 4 (different reference list LY, different reference picture)
10. 10. Condition determination 2 of the prediction block N2 (different reference list LY, same reference picture), only the prediction block group adjacent on the upper side 11. Condition determination 3 of the prediction block N2 (same reference list LX, different reference pictures), only the prediction block group adjacent on the upper side Predictive block N2 condition decision 4 (different reference list LY, different reference picture), upper adjacent prediction block group only

スキャン方法5によれば、同じ参照リストで同じ参照ピクチャを用いたスケーリング演算が不要な予測動きベクトルが選ばれやすいので、差分動きベクトルの符号量が小さくなる可能性が高くなる効果がある。また、条件判定の周回数が最大2回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数がスキャン方法4に比べて少なくなり、複雑性が低減される。   According to the scan method 5, a prediction motion vector that does not require a scaling operation using the same reference picture in the same reference list is easily selected, so that there is an effect that the possibility that the code amount of the difference motion vector is reduced is increased. In addition, since the maximum number of condition determination cycles is two, the number of memory accesses to the encoded information of the prediction block is less than that of the scan method 4 when considering implementation in hardware, and complexity is reduced. Is done.

スキャン方法6:
同じ予測ブロックの条件判定を優先し、1つの予測ブロック内で4つの条件判定を行い、すべての条件に合致しない場合、当該予測ブロックには条件に合致する動きベクトルは存在しないものと判断し、次の予測ブロックの条件判定を行う。
Scanning method 6:
Priority is given to condition determination of the same prediction block, and four condition determinations are performed within one prediction block. If all the conditions are not met, it is determined that there is no motion vector matching the condition in the prediction block. The condition of the next prediction block is determined.

具体的には以下の優先順序で条件判定を行う。(ただし、NはAまたはB)
1.予測ブロックN0の条件判定1(同じ参照リストLX、同じ参照ピクチャ)
2.予測ブロックN0の条件判定2(異なる参照リストLY、同じ参照ピクチャ)
3.予測ブロックN0の条件判定3(同じ参照リストLX、異なる参照ピクチャ)
4.予測ブロックN0の条件判定4(異なる参照リストLY、異なる参照ピクチャ)
5.予測ブロックN1の条件判定1(同じ参照リストLX、同じ参照ピクチャ)
6.予測ブロックN1の条件判定2(異なる参照リストLY、同じ参照ピクチャ)
7.予測ブロックN1の条件判定3(同じ参照リストLX、異なる参照ピクチャ)
8.予測ブロックN1の条件判定4(異なる参照リストLY、異なる参照ピクチャ)
9.予測ブロックN2の条件判定1(同じ参照リストLX、同じ参照ピクチャ)、上側に隣接する予測ブロックグループのみ
10.予測ブロックN2の条件判定2(異なる参照リストLY、同じ参照ピクチャ)、上側に隣接する予測ブロックグループのみ
11.予測ブロックN2の条件判定3(同じ参照リストLX、異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
12.予測ブロックN2の条件判定4(異なる参照リストLY、異なる参照ピクチャ)、上側に隣接する予測ブロックグループのみ
スキャン方法6によれば、スキャン方法3と同様に条件判定の周回数が最大でも1回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数がスキャン方法1、スキャン方法2、スキャン方法4、スキャン方法5に比べて少なくなり、複雑性が低減される。
Specifically, the condition determination is performed in the following priority order. (However, N is A or B)
1. Condition determination 1 of the prediction block N0 (same reference list LX, same reference picture)
2. Prediction block N0 condition determination 2 (different reference list LY, same reference picture)
3. Condition determination 3 of the prediction block N0 (same reference list LX, different reference pictures)
4). Prediction block N0 condition decision 4 (different reference list LY, different reference picture)
5. Condition determination 1 of the prediction block N1 (same reference list LX, same reference picture)
6). Condition determination 2 of the prediction block N1 (different reference list LY, same reference picture)
7). Condition determination 3 of the prediction block N1 (same reference list LX, different reference pictures)
8). Prediction block N1 condition determination 4 (different reference list LY, different reference picture)
9. 9. Condition determination 1 of the prediction block N2 (the same reference list LX, the same reference picture), only the prediction block group adjacent on the upper side 10. Condition determination 2 of the prediction block N2 (different reference list LY, same reference picture), only the prediction block group adjacent on the upper side 11. Condition determination 3 of the prediction block N2 (same reference list LX, different reference pictures), only the prediction block group adjacent on the upper side Condition determination 4 of the prediction block N2 (different reference list LY, different reference picture), only the prediction block group adjacent on the upper side According to the scan method 6, as in the scan method 3, the number of rounds of the condition determination is at most once. Therefore, when considering implementation in hardware, the number of memory accesses to the encoded information of the prediction block is smaller than that of scan method 1, scan method 2, scan method 4, and scan method 5, and complexity is reduced. Is done.

次に、予測動きベクトル候補登録部122は算出された予測動きベクトルの候補mvLXA、mvLXB、mvLXColの順番でLXの予測動きベクトルリストmvpListLXに格納する。   Next, the motion vector predictor candidate registration unit 122 stores the motion vector predictor candidates mvLXA, mvLXB, and mvLXCol in the order of the motion vector predictor candidates mvpListLX.

次に、予測動きベクトル冗長候補削除部123は、LXの予測動きベクトルリストmvpListLXに格納されたそれぞれの予測動きベクトルの候補の動きベクトルの値を比較し、予測動きベクトルの候補の中から同一の動きベクトルの値をもつものを判定し、同一の動きベクトル値をもつと判定された予測動きベクトルの候補について一つを残してそれ以外を予測動きベクトルリストmvpListLXから削除して、予測動きベクトルの候補が重複しないようにし、予測動きベクトルリストmvpListLXを更新する。予測動きベクトル候補の動きベクトルの値のみで候補の削除を判断する場合、同一の動きベクトルであるがピクチャ間距離が異なる予測動きベクトルの候補が予測動きベクトルリストから削除されることになる。そこで、予測動きベクトルリストmvpListLXに格納されたそれぞれの予測動きベクトルの候補の動きベクトルの値に加えてピクチャ間距離の値も比較し、予測動きベクトルの候補の中から同一のピクチャ間距離と動きベクトルの値をもつものを判定し、同一のピクチャ間距離と動きベクトル値をもつと判定された予測動きベクトルの候補について一つを残してそれ以外を予測動きベクトルリストmvpListLXから削除して、予測動きベクトルの候補が重複しないようにし、予測動きベクトルリストmvpListLXを更新することで、同一の動きベクトルであるがピクチャ間距離が異なる予測動きベクトルの候補が予測動きベクトルリストから削除される事を防ぐこともできる。ただし、予測動きベクトル候補の動きベクトルの値が(0,0)の場合には、ピクチャ間距離に応じてスケーリング演算を行っても予測動きベクトルの値が(0,0)となるため、動きベクトルの値が(0,0)の予測動きベクトル候補が複数存在する場合にはピクチャ間距離の値に関わらず、1つの候補を残してそれ以外の候補を冗長とみなして削除することもできる。   Next, the motion vector predictor redundant candidate deletion unit 123 compares the motion vector values of the motion vector predictor candidates stored in the motion vector list mvpListLX of the LX, and selects the same motion vector candidate from the motion vector predictor candidates. Judgment of motion vector values, leave one candidate motion vector candidate determined to have the same motion vector value, delete the rest from the motion vector predictor list mvpListLX, The predicted motion vector list mvpListLX is updated so that the candidates do not overlap. When deletion of a candidate is determined based only on the motion vector value of the predicted motion vector candidate, predicted motion vector candidates that have the same motion vector but different inter-picture distances are deleted from the predicted motion vector list. Therefore, in addition to the motion vector value of each predicted motion vector candidate stored in the predicted motion vector list mvpListLX, the inter-picture distance value is also compared, and the same inter-picture distance and motion are selected from the predicted motion vector candidates. Predicts those with vector values, leaves one candidate for the predicted motion vector determined to have the same inter-picture distance and motion vector value, and deletes the others from the predicted motion vector list mvpListLX for prediction Prevent motion vector candidates from overlapping, and update the motion vector predictor list mvpListLX to prevent deletion of motion vector candidates that have the same motion vector but different inter-picture distances from the motion vector predictor list You can also. However, when the motion vector value of the motion vector predictor candidate is (0, 0), the motion vector value is (0, 0) even if the scaling calculation is performed according to the inter-picture distance. When there are a plurality of motion vector predictor candidates whose vector value is (0, 0), regardless of the inter-picture distance value, one candidate can be left and other candidates can be regarded as redundant and deleted. .

予測動きベクトル候補数制限部124では、LXの予測動きベクトルリストmvpListLXに登録されている予測動きベクトルの候補数をカウントし、LXの予測動きベクトル候補数numMVPCandLXがカウントされた候補数の値に設定される。   In the motion vector predictor candidate number limiting unit 124, the number of motion vector predictor candidates registered in the motion vector list mvpListLX of LX is counted, and the motion vector candidate number numMVPCandLX of LX is set to the counted candidate value. Is done.

さらに、予測動きベクトル候補数制限部124では、LXの予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限する。   Further, the motion vector predictor candidate number limiting unit 124 limits the motion vector candidate number numMVPCandLX of LX registered in the motion vector list mvpListLX of LX to the defined final candidate number finalNumMVPCand.

本実施の形態においては、最終候補数finalNumMVPCandを規定している。なぜなら、予測動きベクトルリストに登録される予測動きベクトルの候補数が予測動きベクトルリストの構築状態に応じて変動すると、復号側では予測動きベクトルリストを構築してからでないと、予測動きベクトルインデックスをエントロピー復号することができないからである。さらに、エントロピー復号が異なる時間のピクチャの予測ブロックから導出された予測動きベクトル候補mvLXColを含む予測動きベクトルリストの構築状態に依存すると、別のピクチャの符号化ビット列の復号時にエラーが発生した際に現在のピクチャの符号化ビット列もその影響を受けて正常にエントロピー復号を続けることができない問題がある。最終候補数finalNumMVPCandを固定した数に規定すると、予測動きベクトルリストの構築と独立して、予測動きベクトルインデックスをエントロピー復号することができるとともに、別のピクチャの符号化ビット列の復号時にエラーが発生してもその影響を受けずに現在のピクチャの符号化ビット列のエントロピー復号を続けることができる。   In the present embodiment, the final candidate number finalNumMVPCand is defined. This is because if the number of motion vector predictor candidates registered in the motion vector predictor list fluctuates according to the state of construction of the motion vector predictor list, the motion vector list on the decoding side must be constructed before the motion vector predictor list is constructed. This is because entropy decoding cannot be performed. Furthermore, if entropy decoding depends on the construction state of the motion vector predictor list including the motion vector candidate mvLXCol derived from the prediction block of the picture at different time, when an error occurs when decoding the encoded bit string of another picture The encoded bit string of the current picture is also affected by this, and there is a problem that entropy decoding cannot be continued normally. If the final candidate number finalNumMVPCand is defined as a fixed number, the prediction motion vector index can be entropy-decoded independently of the construction of the prediction motion vector list, and an error occurs when decoding the encoded bit string of another picture. However, it is possible to continue the entropy decoding of the coded bit string of the current picture without being affected by this.

予測動きベクトル候補数制限部124では、LXの予測動きベクトル候補数numMVPCandLXが規定された最終候補数finalNumMVPCandより小さい場合、予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandと同じ値になるまで、(0,0)の値を持つ動きベクトルを予測動きベクトルリストmvpListLXに追加することで予測動きベクトルの候補数を規定値に制限する。この場合、重複して(0,0)の値を持つ動きベクトルが追加されることがあるが、復号側では予測動きベクトルインデックスが0から(規定の候補数−1)の範囲内でどのような値をとっても、予測動きベクトルを確定することができる。一方、LXの予測動きベクトル候補数numMVPCandLXが規定された最終候補数finalNumMVPCandより大きい場合、予測動きベクトルリストmvpListLXからfinalNumMVPCand-1より大きいインデックスに登録されている要素をすべて削除し、LXの予測動きベクトル候補数numMVPCandLXを最終候補数finalNumMVPCandと同じ値にすることで予測動きベクトルの候補数を規定値に制限する。更新された予測動きベクトルリストmvpListLXは予測動きベクトル候補符号量算出部125と予測動きベクトル選択部126に供給される。   When the number of predicted motion vector candidates numMVPCandLX is smaller than the specified final candidate number finalNumMVPCand, the predicted motion vector candidate number limit unit 124 (0 until the predicted motion vector candidate number numMVPCandLX becomes the same value as the final candidate number finalNumMVPCand. , 0) is added to the motion vector list mvpListLX to limit the number of motion vector predictor candidates to a specified value. In this case, a motion vector having a value of (0, 0) may be added in duplicate, but on the decoding side, how the predicted motion vector index falls within the range from 0 to (the number of specified candidates −1). Even if a large value is taken, the predicted motion vector can be determined. On the other hand, when the number of predicted motion vector candidates for LX numMVPCandLX is larger than the final number of final candidates defined, finalNumMVPCand, all the elements registered in the index larger than finalNumMVPCand-1 are deleted from the predicted motion vector list mvpListLX. By setting the number of candidates numMVPCandLX to the same value as the final candidate number finalNumMVPCand, the number of motion vector predictor candidates is limited to a specified value. The updated prediction motion vector list mvpListLX is supplied to the prediction motion vector candidate code amount calculation unit 125 and the prediction motion vector selection unit 126.

一方、図1の動きベクトル検出部102にて予測ブロック毎にLX(X=0または1)の動きベクトルmvLXが検出される。それらの動きベクトルmvLXは更新された予測動きベクトルリストmvpListLXの予測動きベクトルの候補とともに予測動きベクトル候補符号量算出部125に供給される。   On the other hand, a motion vector mvLX of LX (X = 0 or 1) is detected for each prediction block by the motion vector detection unit 102 in FIG. These motion vectors mvLX are supplied to the prediction motion vector candidate code amount calculation unit 125 together with the prediction motion vector candidates of the updated prediction motion vector list mvpListLX.

予測動きベクトル候補符号量算出部125は、LX(X=0または1)の予測動きベクトルリストmvpListLXの中に格納されたそれぞれの予測動きベクトルの候補mvpListLX[i]ごとに動きベクトルmvLXとの差分動きベクトルを算出し、それら差分動きベクトルを符号化したときの符号量をそれぞれ算出し、予測動きベクトル選択部126に供給する。差分動きベクトルの算出の際には、必要に応じてそれぞれの予測動きベクトルの候補を実際にスケーリング演算した値を用いてもよいし、スケーリング演算の際に必要となる除算をビットシフト演算で代用して算出した概算値を用いてもよい。このスケーリング演算には予測動きベクトルスケーリング演算部127を用いることもできる。   The motion vector predictor candidate code amount calculation unit 125 calculates the difference from the motion vector mvLX for each motion vector candidate mvpListLX [i] stored in the motion vector list mvpListLX of LX (X = 0 or 1). The motion vectors are calculated, the code amounts when the differential motion vectors are encoded are calculated, and supplied to the predicted motion vector selection unit 126. When calculating the differential motion vector, the value obtained by actually scaling each predicted motion vector candidate may be used as needed, or the division required for the scaling operation may be substituted with a bit shift operation. An approximate value calculated as above may be used. The predicted motion vector scaling calculator 127 can also be used for this scaling calculation.

予測動きベクトル選択部126は、LXの予測動きベクトルリストmvpListLXに登録された各要素の中で、予測動きベクトルの候補毎の符号量が最小となる予測動きベクトルの候補mvpListLX[i]と対応するピクチャ間距離をLXの予測動きベクトルmvpLXとピクチャ間距離distLXとして選択する。予測動きベクトルリストmvpListLXの中で最小の発生符号量となる予測動きベクトルの候補が複数存在する場合には、予測動きベクトルリストmvpListLXの中のインデックスiが小さい番号で表される予測動きベクトルの候補mvpListLX[i]をLXの最適な予測動きベクトルmvpLXとして選択する。選択された予測動きベクトルmvpLXとピクチャ間距離distLXを予測動きベクトルスケーリング演算部127に供給する。さらに、その選択された予測動きベクトルmvpLXに対応する予測動きベクトルリスト中のインデックスiをLXの予測動きベクトルインデックスmvpIdxLXとして出力する。   The motion vector predictor selection unit 126 corresponds to a motion vector predictor candidate mvpListLX [i] having the smallest code amount for each motion vector predictor candidate among the elements registered in the motion vector list mvpListLX of LX. The inter-picture distance is selected as the LX predicted motion vector mvpLX and the inter-picture distance distLX. In the case where there are a plurality of motion vector predictor candidates having the smallest generated code amount in the motion vector predictor list mvpListLX, the motion vector predictor candidates represented by the index i in the motion vector list mvpListLX with a small number mvpListLX [i] is selected as the LX optimum predicted motion vector mvpLX. The selected predicted motion vector mvpLX and inter-picture distance distLX are supplied to the predicted motion vector scaling calculator 127. Further, the index i in the predicted motion vector list corresponding to the selected predicted motion vector mvpLX is output as a predicted motion vector index mvpIdxLX of LX.

予測動きベクトルスケーリング演算部127は、選択された予測動きベクトルmvpLXをピクチャ間距離distLXに応じてスケーリング演算し、スケーリングされた予測動きベクトルmvpLXを動きベクトル減算部128に供給する。なお、予測動きベクトル候補符号量算出部125でそれぞれの予測動きベクトルの候補を実際にスケーリング演算した場合、その値を用いてもよい。スケーリング演算の詳細については図29、図30を用いて後述する。   The predicted motion vector scaling calculator 127 performs a scaling operation on the selected predicted motion vector mvpLX according to the inter-picture distance distLX, and supplies the scaled predicted motion vector mvpLX to the motion vector subtractor 128. Note that, when the motion vector predictor candidate code amount calculation unit 125 actually performs a scaling operation on each motion vector predictor candidate, the value may be used. Details of the scaling operation will be described later with reference to FIGS.

最後に動きベクトル減算部128は、LXの動きベクトルmvLXから選択され、ピクチャ間距離distLXに応じてスケーリングされたLXの予測動きベクトルmvpLXを減算することによりLXの差分動きベクトルmvdLXを算出し、差分動きベクトルmvdLXを出力する。
mvdLX = mvLX - mvpLX
Finally, the motion vector subtracting unit 128 calculates an LX differential motion vector mvdLX by subtracting the LX predicted motion vector mvpLX selected from the LX motion vector mvLX and scaled according to the inter-picture distance distLX. Outputs motion vector mvdLX.
mvdLX = mvLX-mvpLX

図1に戻り、動き補償予測部105は、復号画像メモリ115に格納されている復号ピクチャの画像信号を参照して動きベクトル検出部102から供給されるLX(X=0または1)の動きベクトルmvLXに応じて動き補償を行い、予測画像信号を得て、予測方法決定部106に供給する。   Returning to FIG. 1, the motion compensation prediction unit 105 refers to the image signal of the decoded picture stored in the decoded image memory 115, and the motion vector of LX (X = 0 or 1) supplied from the motion vector detection unit 102. Motion compensation is performed according to mvLX to obtain a predicted image signal, which is supplied to the prediction method determination unit 106.

予測方法決定部106は、予測方法を決定する。それぞれの予測モードごとに符号量と符号化歪を算出し、最も少ない発生符号量と符号化歪となる予測ブロックサイズと予測モードが決定される。差分動きベクトル算出部103の動きベクトル減算部128から供給されたLXの差分動きベクトルmvdLXと予測動きベクトル選択部126から供給された予測動きベクトルを表すLXの予測動きベクトルインデックスmvpIdxLXの符号化が行われ、動き情報の符号量を算出する。さらに、動き補償予測部105から供給される予測画像信号と、画像メモリ101から供給される符号化対象の画像信号との予測残差信号を符号化した予測残差信号の符号量を算出する。動き情報の符号量と予測残差信号の符号量とが加算された総発生符号量を算出し、第1の評価値とする。   The prediction method determination unit 106 determines a prediction method. The code amount and the coding distortion are calculated for each prediction mode, and the prediction block size and the prediction mode for the smallest generated code amount and coding distortion are determined. The LX differential motion vector mvdLX supplied from the motion vector subtraction unit 128 of the differential motion vector calculation unit 103 and the LX prediction motion vector index mvpIdxLX representing the prediction motion vector supplied from the prediction motion vector selection unit 126 are encoded. The code amount of motion information is calculated. Further, the code amount of the prediction residual signal obtained by encoding the prediction residual signal between the prediction image signal supplied from the motion compensation prediction unit 105 and the image signal to be encoded supplied from the image memory 101 is calculated. The total generated code amount obtained by adding the code amount of the motion information and the code amount of the prediction residual signal is calculated and used as the first evaluation value.

また、こうした予測残差信号を符号化後に、歪量評価の為に復号し、符号化により生じる元の画像信号との誤差を表す比率として符号化歪が算出される。これら総発生符号量と符号化歪とを動き補償毎に比較することで、最も少ない発生符号量と符号化歪となる予測ブロックサイズと予測モードが決定される。決定された予測ブロックサイズの予測モードに応じた動きベクトルmvLXに対して、上述した動きベクトルの予測方法が行われ、予測動きベクトルを表すインデックスmvpIdxLXが、予測ブロック単位の第2のシンタックスパターンで表されるシンタックス要素mvp_idx_lX[i]として符号化される。尚、ここで算出される発生符号量は、符号化過程をシミュレートしたものであることが望ましいが、簡便に近似したり、概算することも可能である。   Further, after encoding such a prediction residual signal, it is decoded for distortion amount evaluation, and the encoding distortion is calculated as a ratio representing an error from the original image signal caused by the encoding. By comparing the total generated code amount and the coding distortion for each motion compensation, the prediction block size and the prediction mode that generate the least generated code amount and the coding distortion are determined. The motion vector prediction method described above is performed on the motion vector mvLX corresponding to the prediction mode of the determined prediction block size, and the index mvpIdxLX representing the prediction motion vector is a second syntax pattern in units of prediction blocks. It is encoded as the represented syntax element mvp_idx_lX [i]. The generated code amount calculated here is preferably a simulation of the encoding process, but can be approximated or approximated easily.

(復号における動きベクトルの予測)
上述のシンタックスに基づき、符号化された動画像のビットストリームを復号する動画像復号装置において、本発明に係る動きベクトルの予測方法の動作を説明する。
(Prediction of motion vector in decoding)
The operation of the motion vector prediction method according to the present invention in the video decoding device that decodes the encoded video bitstream based on the above-described syntax will be described.

実施の形態に係る動きベクトルの予測方法が実施される場合、図2の動画像復号装置の動きベクトル算出部204にて処理が行われる。図14は、実施の形態の動画像符号化装置に対応する図2の動画像復号装置の動きベクトル算出部204の詳細な構成を示す図である。図14の太枠線で囲まれる部分は動きベクトル算出部204を示している。更に、その内部の太点線で囲まれる部分は後述する動きベクトルの予測方法の動作部を示しており、対応する動画像符号化装置にも同様に設置され、符号化と復号で矛盾しない同一の判定結果を得られるようにしている。以下、この図を用いて、復号における動きベクトルの予測方法を説明する。   When the motion vector prediction method according to the embodiment is performed, processing is performed by the motion vector calculation unit 204 of the video decoding device in FIG. FIG. 14 is a diagram illustrating a detailed configuration of the motion vector calculation unit 204 of the video decoding device of FIG. 2 corresponding to the video encoding device of the embodiment. A portion surrounded by a thick frame line in FIG. 14 indicates the motion vector calculation unit 204. Further, the part surrounded by the thick dotted line inside shows the operation part of the motion vector prediction method described later, which is also installed in the corresponding moving picture coding apparatus in the same way and has the same consistency between coding and decoding. Judgment results are obtained. Hereinafter, a motion vector prediction method in decoding will be described with reference to FIG.

動きベクトル算出部204は、予測動きベクトル候補生成部221、予測動きベクトル候補登録部222、予測動きベクトル冗長候補削除部223、予測動きベクトル候補数制限部224、予測動きベクトル選択部225、予測動きベクトルスケーリング演算部226及び動きベクトル加算部227を含む。   The motion vector calculation unit 204 includes a predicted motion vector candidate generation unit 221, a predicted motion vector candidate registration unit 222, a predicted motion vector redundant candidate deletion unit 223, a predicted motion vector candidate number limit unit 224, a predicted motion vector selection unit 225, a predicted motion A vector scaling calculation unit 226 and a motion vector addition unit 227 are included.

この動きベクトル算出部204での動きベクトル算出処理は、インター予測で用いる動きベクトルをL0,L1毎にそれぞれ算出する。具体的には符号化対象ブロックの予測モードPredModeがインター予測(MODE_INTER)で、符号化対象ブロックのインター予測モードがL0予測(Pred_L0)の場合、L0の予測動きベクトルリストmvpListL0を算出して、予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0を算出する。符号化対象ブロックのインター予測モードがL1予測(Pred_L1)の場合、L1の予測動きベクトルリストmvpListL1を算出して、予測動きベクトルmvpL1を選択し、L1の動きベクトルmvL1を算出する。符号化対象ブロックのインター予測モードが双予測(Pred_BI)の場合、L0予測とL1予測が共に行われ、L0の予測動きベクトルリストmvpListL0を算出して、L0の予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0を算出するとともに、L1の予測動きベクトルリストmvpListL1を算出して、L1の予測動きベクトルmvpL1を算出し、L1の動きベクトルmvL1をそれぞれ算出する。   In the motion vector calculation process in the motion vector calculation unit 204, a motion vector used in inter prediction is calculated for each of L0 and L1. Specifically, when the prediction mode PredMode of the encoding target block is inter prediction (MODE_INTER) and the inter prediction mode of the encoding target block is L0 prediction (Pred_L0), the prediction motion vector list mvpListL0 of L0 is calculated and predicted. A motion vector mvpL0 is selected, and a motion vector mvL0 of L0 is calculated. When the inter prediction mode of the encoding target block is L1 prediction (Pred_L1), the L1 predicted motion vector list mvpListL1 is calculated, the predicted motion vector mvpL1 is selected, and the L1 motion vector mvL1 is calculated. When the inter prediction mode of the encoding target block is bi-prediction (Pred_BI), both L0 prediction and L1 prediction are performed, a prediction motion vector list mvpListL0 of L0 is calculated, a prediction motion vector mvpL0 of L0 is selected, and L0 Motion vector mvL0, L1 predicted motion vector list mvpListL1 is calculated, L1 predicted motion vector mvpL1 is calculated, and L1 motion vector mvL1 is calculated.

符号化側と同様に、復号側でもL0、L1それぞれについて、動きベクトル算出処理を行うが、L0、L1ともに共通の処理となる。したがって、以下の説明においてはL0、L1を共通のLXとして表す。L0の動きベクトルを算出する処理ではXが0であり、L1の動きベクトルを算出する処理ではXが1である。また、LXの動きベクトルを算出する処理中に、LXではなく、もう一方のリストの情報を参照する場合、もう一方のリストをLYとして表す。   Similar to the encoding side, the motion vector calculation processing is performed for each of L0 and L1 on the decoding side, but both L0 and L1 are common processing. Therefore, in the following description, L0 and L1 are represented as a common LX. X is 0 in the process of calculating the L0 motion vector, and X is 1 in the process of calculating the L1 motion vector. When the information of the other list is referred to instead of LX during the process of calculating the LX motion vector, the other list is represented as LY.

動きベクトル算出部204の中の予測動きベクトル候補生成部221、予測動きベクトル候補登録部222、予測動きベクトル冗長候補削除部223、予測動きベクトル候補数制限部224及び予測動きベクトルスケーリング演算部226は、符号化側の差分動きベクトル算出部103の中の予測動きベクトル候補生成部121、予測動きベクトル候補登録部122及び予測動きベクトル冗長候補削除部123、予測動きベクトル候補数制限部124及び予測動きベクトルスケーリング演算部127とそれぞれ同じ動作をするように規定することにより、符号化と復号で矛盾しない同一の予測動きベクトルの候補を符号化側及び復号側で得ることができる。   The motion vector calculation unit 204 includes a motion vector predictor candidate generation unit 221, a motion vector predictor candidate registration unit 222, a motion vector motion redundancy candidate deletion unit 223, a motion vector motion vector candidate number limiting unit 224, and a motion vector predictor scaling calculation unit 226. The prediction motion vector candidate generation unit 121, the prediction motion vector candidate registration unit 122, the prediction motion vector redundant candidate deletion unit 123, the prediction motion vector candidate number restriction unit 124, and the prediction motion in the differential motion vector calculation unit 103 on the encoding side. By defining the same operation as that of the vector scaling operation unit 127, it is possible to obtain the same motion vector predictor candidates that are consistent in encoding and decoding on the encoding side and decoding side.

予測動きベクトル候補生成部221は、図13の符号化側の予測動きベクトル候補生成部121と同一の処理を行う。復号して符号化情報格納メモリ209に記録されていた、復号対象ブロックと同一ピクチャ内の復号対象ブロックと隣接する復号済みの予測ブロック及び異なるピクチャ内の復号対象ブロックと同一位置あるいはその近傍の位置に存在する復号済みの予測ブロック等の動きベクトルを符号化情報格納メモリ209から読み出す。符号化情報格納メモリ209から読み出された復号済みの他のブロックの動きベクトルから予測ブロックグループごとに予測動きベクトルの候補mvLXA、mvLXB、mvLXColを選択し、対応するピクチャ間距離distA、distB、distColと共に、予測動きベクトル候補登録部222に供給する。   The motion vector predictor candidate generation unit 221 performs the same processing as that of the motion vector predictor candidate generation unit 121 on the encoding side in FIG. The same position as or near the decoded prediction block adjacent to the decoding target block in the same picture as the decoding target block and the decoding target block in a different picture recorded in the encoded information storage memory 209 after decoding. Are read out from the encoded information storage memory 209. Predicted motion vector candidates mvLXA, mvLXB, mvLXCol are selected for each predicted block group from the motion vectors of other decoded blocks read from the encoded information storage memory 209, and the corresponding inter-picture distances distA, distB, distCol are selected. At the same time, the predicted motion vector candidate registration unit 222 is supplied.

なお、予測動きベクトル候補生成部221は、図13の符号化側の予測動きベクトル候補生成部121と同一の処理を行うので、図13の符号化側の予測動きベクトル候補生成部121で説明した予測動きベクトルを算出するためのスキャン方法1、2、3、4、5、6の条件判定は予測動きベクトル候補生成部221でも適用できるものとし、ここでは詳細な説明は省略する。   Since the motion vector predictor candidate generation unit 221 performs the same processing as that of the motion vector predictor candidate generation unit 121 on the encoding side in FIG. 13, the motion vector predictor candidate generation unit 121 on the encoding side in FIG. The condition determination of the scan methods 1, 2, 3, 4, 5, and 6 for calculating the predicted motion vector can be applied also by the predicted motion vector candidate generation unit 221, and detailed description thereof is omitted here.

次に、予測動きベクトル候補登録部222は図13の符号化側の予測動きベクトル候補登録部122と同一の処理を行う。算出された予測動きベクトルの候補mvLXA、mvLXB、mvLXColの順番でLXの予測動きベクトルリストmvpListLXに格納する。   Next, the motion vector predictor candidate registration unit 222 performs the same processing as that of the motion vector predictor candidate registration unit 122 on the encoding side in FIG. The calculated motion vector candidates mvLXA, mvLXB, and mvLXCol are stored in the LX motion vector predictor list mvpListLX in this order.

次に、予測動きベクトル冗長候補削除部223は、図13の符号化側の予測動きベクトル冗長候補削除部123と同一の処理を行う。LXの予測動きベクトルリストmvpListLXに格納されたそれぞれの予測動きベクトルの候補の動きベクトルの値を比較し、予測動きベクトルの候補の中から同一の動きベクトルの値をもつものを判定し、同一の動きベクトル値をもつと判定された予測動きベクトルの候補について一つを残してそれ以外を予測動きベクトルリストmvpListLXから削除して、予測動きベクトルの候補が重複しないようにし、予測動きベクトルリストmvpListLXを更新する。この場合、同一の動きベクトルであるがピクチャ間距離が異なる予測動きベクトルの候補が予測動きベクトルリストmvpListLXから削除されることになる。そこで、予測動きベクトルリストmvpListLXに格納されたそれぞれの予測動きベクトルの候補の動きベクトルの値に加えてピクチャ間距離の値も比較し、予測動きベクトルの候補の中から同一のピクチャ間距離distNと動きベクトルの値をもつものを判定し、同一のピクチャ間距離distNと動きベクトル値をもつと判定された予測動きベクトルの候補について一つを残してそれ以外を予測動きベクトルリストmvpListLXから削除して、予測動きベクトルの候補が重複しないようにし、予測動きベクトルリストmvpListLXを更新することで、同一の動きベクトルであるがピクチャ間距離が異なる予測動きベクトルの候補が予測動きベクトルリストから削除される事を防ぐこともできる。   Next, the motion vector redundancy candidate deletion unit 223 performs the same process as the motion vector redundancy candidate deletion unit 123 on the encoding side in FIG. The motion vector values of the motion vector predictor candidates stored in the motion vector list mvpListLX of the LX are compared, and the motion vector values of the motion vector predictor candidates that have the same motion vector value are determined. Predictive motion vector list mvpListLX is created by removing one candidate for the predicted motion vector determined to have motion vector values and deleting the other from the predicted motion vector list mvpListLX so that the predicted motion vector candidates do not overlap. Update. In this case, prediction motion vector candidates that have the same motion vector but different inter-picture distances are deleted from the prediction motion vector list mvpListLX. Therefore, in addition to the motion vector value of each predicted motion vector candidate stored in the predicted motion vector list mvpListLX, the inter-picture distance value is also compared, and the same inter-picture distance distN is selected from the predicted motion vector candidates. Judgments with motion vector values are made, leaving one of the predicted motion vector candidates determined to have the same inter-picture distance distN and motion vector values, and deleting the others from the motion vector predictor list mvpListLX The predicted motion vector candidates are not duplicated, and the predicted motion vector list mvpListLX is updated so that the predicted motion vector candidates that have the same motion vector but different inter-picture distances are deleted from the predicted motion vector list. Can also be prevented.

次に、予測動きベクトル候補数制限部224は、図13の符号化側の予測動きベクトル候補数制限部124と同一の処理を行う。予測動きベクトル候補数制限部224では、予測動きベクトルリストmvpListLXに登録されている要素数をカウントし、LXの予測動きベクトル候補数numMVPCandLXがカウントされた候補数の値に設定される。   Next, the motion vector predictor candidate number limiting unit 224 performs the same processing as the motion vector predictor candidate number limiting unit 124 on the encoding side in FIG. In the motion vector predictor candidate number limiting unit 224, the number of elements registered in the motion vector predictor list mvpListLX is counted, and the motion vector candidate number numMVPCandLX of LX is set to the value of the counted candidate number.

さらに、予測動きベクトル候補数制限部224では、符号化側で説明した理由により予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限する。LXの予測動きベクトル候補数numMVPCandLXが規定された最終候補数finalNumMVPCandより小さい場合、予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandと同じ値になるまで、(0,0)の値を持つ動きベクトルを予測動きベクトルリストmvpListLXに追加することで予測動きベクトルの候補数を規定値に制限する。この場合、重複して(0,0)の値を持つ動きベクトルが追加されることがあるが、復号側では予測動きベクトルインデックスが0から規定値−1の範囲内でどのような値をとっても、予測動きベクトルを確定することができる。一方、LXの予測動きベクトル候補数numMVPCandLXが規定された最終候補数finalNumMVPCandより大きい場合、予測動きベクトルリストmvpListLXからfinalNumMVPCand-1より大きいインデックスに登録されている要素をすべて削除し、LXの予測動きベクトル候補数numMVPCandLXを最終候補数finalNumMVPCandと同じ値にすることで予測動きベクトルの候補数を規定値に制限する。更新された予測動きベクトルリストmvpListLXは予測動きベクトル選択部225に供給される。   Furthermore, the motion vector predictor candidate number limiting unit 224 limits the number of predicted motion vector candidates numMVPCandLX of LX registered in the motion vector predictor list mvpListLX to the specified final candidate number finalNumMVPCand for the reason described on the encoding side. When the number of predicted motion vector candidates for LX numMVPCandLX is smaller than the specified final candidate number finalNumMVPCand, a motion vector having a value of (0, 0) is obtained until the predicted motion vector candidate number numMVPCandLX becomes the same value as the final candidate number finalNumMVPCand. By adding to the motion vector predictor list mvpListLX, the number of motion vector predictor candidates is limited to a specified value. In this case, a motion vector having a value of (0, 0) may be added in duplicate, but on the decoding side, any value within the range of the predicted motion vector index from 0 to the specified value −1 is taken. The predicted motion vector can be determined. On the other hand, when the number of predicted motion vector candidates for LX numMVPCandLX is larger than the final number of final candidates defined, finalNumMVPCand, all the elements registered in the index larger than finalNumMVPCand-1 are deleted from the predicted motion vector list mvpListLX. By setting the number of candidates numMVPCandLX to the same value as the final candidate number finalNumMVPCand, the number of motion vector predictor candidates is limited to a specified value. The updated motion vector predictor list mvpListLX is supplied to the motion vector predictor selection unit 225.

一方、第1符号化ビット列復号部202にて復号された予測ブロック毎のLX(X=0または1)の差分動きベクトルmvdLXが動きベクトル加算部227に供給される。第1符号化ビット列復号部202にて復号されたLXの予測動きベクトルの予測動きベクトルインデックスmvpIdxLXが予測動きベクトル選択部225に供給される。   On the other hand, the LX (X = 0 or 1) differential motion vector mvdLX for each prediction block decoded by the first encoded bit string decoding unit 202 is supplied to the motion vector addition unit 227. The predicted motion vector index mvpIdxLX of the LX predicted motion vector decoded by the first encoded bit string decoding unit 202 is supplied to the predicted motion vector selection unit 225.

予測動きベクトル選択部225は、第1符号化ビット列復号部202にて復号されたLXの予測動きベクトルインデックスmvpIdxLXが供給され、供給された予測動きベクトルインデックスmvpIdxLXに対応する予測動きベクトルの候補mvpListLX[mvpIdxLX]と対応するピクチャ間距離をそれぞれ選択されたLXの予測動きベクトルmvpLXとピクチャ間距離distLXとしてLXの予測動きベクトルリストmvpListLXから取り出す。供給された予測動きベクトルの候補を予測動きベクトルmvpLXとして動きベクトル加算部227に供給する。   The motion vector predictor selection unit 225 is supplied with the LX motion vector predictor index mvpIdxLX decoded by the first encoded bit stream decoder 202, and the motion vector predictor candidate mvpListLX [corresponding to the supplied motion vector predictor index mvpIdxLX The inter-picture distance corresponding to mvpIdxLX] is extracted from the LX predicted motion vector list mvpListLX as the selected LX predicted motion vector mvpLX and inter-picture distance distLX. The supplied candidate motion vector predictor is supplied to the motion vector adding unit 227 as a motion vector predictor mvpLX.

予測動きベクトルスケーリング演算部226は、図13の符号化側の予測動きベクトルスケーリング演算部127と同一の処理を行う。予測動きベクトルスケーリング演算部226は、選択された予測動きベクトルmvpLXをピクチャ間距離distLXに応じてスケーリング演算し、スケーリングされた予測動きベクトルmvpLXを動きベクトル加算部227に供給する。スケーリング演算の詳細については図29、図30を用いて後述する。   The predicted motion vector scaling calculator 226 performs the same processing as that of the predicted motion vector scaling calculator 127 on the encoding side in FIG. The predicted motion vector scaling calculator 226 performs a scaling operation on the selected predicted motion vector mvpLX according to the inter-picture distance distLX, and supplies the scaled predicted motion vector mvpLX to the motion vector adder 227. Details of the scaling operation will be described later with reference to FIGS.

最後に動きベクトル加算部227は、第1符号化ビット列復号部202にて復号されて供給されるLXの差分動きベクトルmvdLXとピクチャ間距離distNに応じてスケーリングされたLXの予測動きベクトルmvpLXを加算することによりLXの動きベクトルmvを算出し、動きベクトルmvLXを出力する。
mvLX = mvpLX + mvdLX
Finally, the motion vector adding unit 227 adds the LX differential motion vector mvdLX decoded and supplied by the first encoded bit string decoding unit 202 and the LX predicted motion vector mvpLX scaled according to the inter-picture distance distN. As a result, the LX motion vector mv is calculated, and the motion vector mvLX is output.
mvLX = mvpLX + mvdLX

以上のようにして、予測ブロック毎にLXの動きベクトルmvLXが算出される。この動きベクトルを使用して動き補償により予測画像信号が生成され、復号された予測残差信号と加算されることで復号画像信号が生成される。   As described above, the LX motion vector mvLX is calculated for each prediction block. A predicted image signal is generated by motion compensation using this motion vector, and is added to the decoded prediction residual signal to generate a decoded image signal.

動画像符号化装置の差分動きベクトル算出部103、動画像復号装置の動きベクトル算出部204の処理手順について、それぞれ図15、図16のフローチャートを用いて説明する。図15は動画像符号化装置による差分動きベクトル算出処理手順を示すフローチャートであり、図16は動画像復号装置による動きベクトル算出処理手順を示すフローチャートである。   Processing procedures of the difference motion vector calculation unit 103 of the moving image encoding device and the motion vector calculation unit 204 of the moving image decoding device will be described with reference to flowcharts of FIGS. 15 and 16, respectively. FIG. 15 is a flowchart showing a difference motion vector calculation processing procedure by the moving image encoding device, and FIG. 16 is a flowchart showing a motion vector calculation processing procedure by the moving image decoding device.

図15を参照して符号化側の差分動きベクトル算出処理手順を説明する。符号化側では、差分動きベクトル算出部103で、符号化対象ブロックで選択されたインター予測で用いる動きベクトルの差分動きベクトルをL0、L1毎にそれぞれ算出する(S101〜S107)。具体的には符号化対象ブロックの予測モードPredModeがインター予測(MODE_INTER)で、インター予測モードがL0予測(Pred_L0)の場合、L0の予測動きベクトルリストmvpListL0を算出して、予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0の差分動きベクトルmvdL0を算出する。符号化対象ブロックのインター予測モードがL1予測(Pred_L1)の場合、L1の予測動きベクトルリストmvpListL1を算出して、予測動きベクトルmvpL1を選択し、L1の動きベクトルmvL1の差分動きベクトルmvdL1を算出する。符号化対象ブロックのインター予測モードが双予測(Pred_BI)の場合、L0予測とL1予測が共に行われ、L0の予測動きベクトルリストmvpListL0を算出して、L0の予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0の差分動きベクトルmvdL0を算出するとともに、L1の予測動きベクトルリストmvpListL1を算出して、L1の予測動きベクトルmvpL1を算出し、L1の動きベクトルmvL1の差分動きベクトルmvdL1をそれぞれ算出する。   The difference motion vector calculation processing procedure on the encoding side will be described with reference to FIG. On the encoding side, the differential motion vector calculation unit 103 calculates the differential motion vector of the motion vector used in the inter prediction selected in the encoding target block for each of L0 and L1 (S101 to S107). Specifically, when the prediction mode PredMode of the encoding target block is inter prediction (MODE_INTER) and the inter prediction mode is L0 prediction (Pred_L0), a prediction motion vector list mvpListL0 of L0 is calculated and a prediction motion vector mvpL0 is selected. Then, the differential motion vector mvdL0 of the motion vector mvL0 of L0 is calculated. When the inter prediction mode of the block to be encoded is L1 prediction (Pred_L1), the prediction motion vector list mvpListL1 of L1 is calculated, the prediction motion vector mvpL1 is selected, and the differential motion vector mvdL1 of the motion vector mvL1 of L1 is calculated. . When the inter prediction mode of the encoding target block is bi-prediction (Pred_BI), both L0 prediction and L1 prediction are performed, a prediction motion vector list mvpListL0 of L0 is calculated, a prediction motion vector mvpL0 of L0 is selected, and L0 A difference motion vector mvdL0 of the L1 motion vector mvLL, a prediction motion vector list mvpListL1 of the L1, a prediction motion vector mvpL1 of the L1, and a difference motion vector mvdL1 of the motion vector mvL1 of the L1. .

L0、L1それぞれについて、差分動きベクトル算出処理を行うが、L0、L1ともに共通の処理となる。したがって、以下の説明においてはL0、L1を共通のLXとして表す。L0の差分動きベクトルを算出する処理ではXが0であり、L1の差分動きベクトルを算出する処理ではXが1である。また、LXの差分動きベクトルを算出する処理中に、LXではなく、もう一方のリストの情報を参照する場合、もう一方のリストをLYとして表す。   Difference motion vector calculation processing is performed for each of L0 and L1, but both L0 and L1 are common processing. Therefore, in the following description, L0 and L1 are represented as a common LX. In the process of calculating the differential motion vector of L0, X is 0, and in the process of calculating the differential motion vector of L1, X is 1. Further, when referring to the information of the other list instead of LX during the process of calculating the differential motion vector of LX, the other list is represented as LY.

LXの差分動きベクトルmvdLXを算出する場合(S102のYES)、LXの予測動きベクトルの候補を算出してLXの予測動きベクトルリストmvpListLXを構築する(S103)。差分動きベクトル算出部103の中の予測動きベクトル候補生成部121で複数の予測動きベクトルの候補を算出し、予測動きベクトル候補登録部122で予測動きベクトルリストmvpListLXに算出した予測動きベクトルの候補を追加し、予測動きベクトル冗長候補削除部123で不要な予測動きベクトルの候補を削除し、予測動きベクトル候補数制限部124で予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXが設定され、予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限することにより、予測動きベクトルリストmvpListLXを構築する。ステップS103の詳細な処理手順については図17のフローチャートを用いて後述する。   When the LX differential motion vector mvdLX is calculated (YES in S102), the LX predicted motion vector candidates are calculated to construct the LX predicted motion vector list mvpListLX (S103). The motion vector predictor candidate generation unit 121 in the motion vector difference calculation unit 103 calculates a plurality of motion vector predictor candidates, and the motion vector predictor candidate registration unit 122 calculates the motion vector predictor candidates calculated in the motion vector predictor list mvpListLX. In addition, the motion vector redundancy candidate deletion unit 123 deletes unnecessary motion vector predictor candidates, and the motion vector predictor candidate number limiting unit 124 registers the number of motion vector motion vector candidates numMVPCandLX in the motion vector list mvpListLX. Is set and the predicted motion vector list mvpListLX is constructed by limiting the number of predicted motion vector candidates numMVPCandLX of LX registered in the predicted motion vector list mvpListLX to the final number of final candidates finalNumMVPCand. The detailed processing procedure of step S103 will be described later with reference to the flowchart of FIG.

続いて、予測動きベクトル候補符号量算出部125、及び予測動きベクトル選択部126により、LXの予測動きベクトルリストmvpListLXからLXの予測動きベクトルmvpLXを選択する(S104)。まず、予測動きベクトル候補符号量算出部125で、予測動きベクトルリストmvpListLXの中に格納されたそれぞれの予測動きベクトルの候補mvpListLX[i]ごとに動きベクトルmvLXとの差分動きベクトルを算出し、それら差分動きベクトルを符号化したときの符号量を算出する。差分動きベクトルの算出の際には、必要に応じてそれぞれの予測動きベクトルの候補を実際にスケーリング演算した値を用いてもよいし、スケーリング演算を簡略化してスケーリング演算の際に必要となる除算をビットシフト演算で代用して算出した概算値を用いてもよい。さらに、予測動きベクトル選択部126で、予測動きベクトルリストmvpListLXに登録された各要素の中で、予測動きベクトルの候補毎の符号量が最小となる予測動きベクトルの候補mvpListLX[i]と対応するピクチャ間距離をそれぞれLXの予測動きベクトルmvpLXとピクチャ間距離distLXとして選択する。予測動きベクトルリストmvpListLXの中で最小の発生符号量となる予測動きベクトルの候補が複数存在する場合には、予測動きベクトルリストmvpListLXの中のインデックスiが小さい番号で表される予測動きベクトルの候補mvpListLX[i]を最適予測動きベクトルmvpLXとして選択する。   Subsequently, the predicted motion vector candidate code amount calculation unit 125 and the predicted motion vector selection unit 126 select the LX predicted motion vector mvpLX from the LX predicted motion vector list mvpListLX (S104). First, the prediction motion vector candidate code amount calculation unit 125 calculates a difference motion vector from the motion vector mvLX for each prediction motion vector candidate mvpListLX [i] stored in the prediction motion vector list mvpListLX, The code amount when the differential motion vector is encoded is calculated. When calculating the difference motion vector, the value obtained by actually scaling each predicted motion vector candidate may be used as necessary, or the division required for the scaling operation by simplifying the scaling operation An approximate value calculated by substituting with a bit shift operation may be used. Furthermore, among the elements registered in the motion vector predictor list mvpListLX by the motion vector predictor selection unit 126, it corresponds to a motion vector candidate mvpListLX [i] that has the smallest code amount for each motion vector predictor candidate. The inter-picture distances are selected as the LX predicted motion vector mvpLX and the inter-picture distance distLX, respectively. In the case where there are a plurality of motion vector predictor candidates having the smallest generated code amount in the motion vector predictor list mvpListLX, the motion vector predictor candidates represented by the index i in the motion vector list mvpListLX with a small number Select mvpListLX [i] as the optimal prediction motion vector mvpLX.

続いて、予測動きベクトルスケーリング演算部127で、選択された予測動きベクトルmvpLXをピクチャ間距離distLXに応じてスケーリング演算する(S105)。ステップS105の詳細な処理手順については図29、図30のフローチャートを用いて後述する。   Subsequently, the motion vector scaling calculator 127 performs a scaling operation on the selected motion vector mvpLX according to the inter-picture distance distLX (S105). The detailed processing procedure of step S105 will be described later with reference to the flowcharts of FIGS.

続いて、動きベクトル減算部128で、LXの動きベクトルmvLXからピクチャ間距離distNに応じてスケーリングされたLXの予測動きベクトルmvpLXを減算することによりLXの差分動きベクトルmvdLXを算出する(S106)。
mvdLX = mvLX - mvpLX
ただし、ステップS104で既にスケーリング演算による正確な差分動きベクトルを算出する場合にはステップS105及びステップS106の処理を省略し、ステップS104で算出された差分動きベクトルmvdLXの値を用いることもできる。
Subsequently, the motion vector subtraction unit 128 calculates the LX differential motion vector mvdLX by subtracting the LX predicted motion vector mvpLX scaled according to the inter-picture distance distN from the LX motion vector mvLX (S106).
mvdLX = mvLX-mvpLX
However, when the accurate difference motion vector is already calculated by the scaling operation in step S104, the processing of step S105 and step S106 may be omitted, and the value of the difference motion vector mvdLX calculated in step S104 may be used.

次に、図16を参照して復号側の動きベクトル算出処理手順を説明する。復号側では、動きベクトル算出部204で、インター予測で用いる動きベクトルをL0,L1毎にそれぞれ算出する(S201〜S207)。具体的には符号化対象ブロックの予測モードPredModeがインター予測(MODE_INTER)で、符号化対象ブロックのインター予測モードがL0予測(Pred_L0)の場合、L0の予測動きベクトルリストmvpListL0を算出して、予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0を算出する。符号化対象ブロックのインター予測モードがL1予測(Pred_L1)の場合、L1の予測動きベクトルリストmvpListL1を算出して、予測動きベクトルmvpL1を選択し、L1の動きベクトルmvL1を算出する。符号化対象ブロックのインター予測モードが双予測(Pred_BI)の場合、L0予測とL1予測が共に行われ、L0の予測動きベクトルリストmvpListL0を算出して、L0の予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0を算出するとともに、L1の予測動きベクトルリストmvpListL1を算出して、L1の予測動きベクトルmvpL1を算出し、L1の動きベクトルmvL1をそれぞれ算出する。   Next, the decoding-side motion vector calculation processing procedure will be described with reference to FIG. On the decoding side, the motion vector calculation unit 204 calculates motion vectors used for inter prediction for each of L0 and L1 (S201 to S207). Specifically, when the prediction mode PredMode of the encoding target block is inter prediction (MODE_INTER) and the inter prediction mode of the encoding target block is L0 prediction (Pred_L0), the prediction motion vector list mvpListL0 of L0 is calculated and predicted. A motion vector mvpL0 is selected, and a motion vector mvL0 of L0 is calculated. When the inter prediction mode of the encoding target block is L1 prediction (Pred_L1), the L1 predicted motion vector list mvpListL1 is calculated, the predicted motion vector mvpL1 is selected, and the L1 motion vector mvL1 is calculated. When the inter prediction mode of the encoding target block is bi-prediction (Pred_BI), both L0 prediction and L1 prediction are performed, a prediction motion vector list mvpListL0 of L0 is calculated, a prediction motion vector mvpL0 of L0 is selected, and L0 Motion vector mvL0, L1 predicted motion vector list mvpListL1 is calculated, L1 predicted motion vector mvpL1 is calculated, and L1 motion vector mvL1 is calculated.

符号化側と同様に、復号側でもL0、L1それぞれについて、動きベクトル算出処理を行うが、L0、L1ともに共通の処理となる。したがって、以下の説明においてはL0、L1を共通のLXとして表す。L0の動きベクトルを算出する処理ではXが0であり、L1の動きベクトルを算出する処理ではXが1である。また、LXの動きベクトルを算出する処理中に、LXではなく、もう一方のリストの情報を参照する場合、もう一方のリストをLYとして表す。   Similar to the encoding side, the motion vector calculation processing is performed for each of L0 and L1 on the decoding side, but both L0 and L1 are common processing. Therefore, in the following description, L0 and L1 are represented as a common LX. X is 0 in the process of calculating the L0 motion vector, and X is 1 in the process of calculating the L1 motion vector. When the information of the other list is referred to instead of LX during the process of calculating the LX motion vector, the other list is represented as LY.

LXの動きベクトルmvdLXを算出する場合(S202のYES)、LXの予測動きベクトルの候補を算出してLXの予測動きベクトルリストmvpListLXを構築する(S203)。動きベクトル算出部204の中の予測動きベクトル候補生成部221で複数の予測動きベクトルの候補を算出し、予測動きベクトル候補登録部222で予測動きベクトルリストmvpListLXに算出した予測動きベクトルの候補を追加し、予測動きベクトル冗長候補削除部223で不要な予測動きベクトルの候補を削除し、予測動きベクトル候補数制限部224で予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXが設定され、予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限することにより、予測動きベクトルリストmvpListLXを構築する。ステップS203の詳細な処理手順については図17のフローチャートを用いて後述する。   When calculating the LX motion vector mvdLX (YES in S202), the LX predicted motion vector candidates are calculated to construct the LX predicted motion vector list mvpListLX (S203). The motion vector calculation unit 204 includes a motion vector predictor candidate generation unit 221 that calculates a plurality of motion vector predictor candidates, and the motion vector predictor candidate registration unit 222 adds the motion vector predictor candidates calculated to the motion vector predictor list mvpListLX. Then, the motion vector redundancy candidate deletion unit 223 deletes unnecessary motion vector predictor candidates, and the motion vector predictor candidate number limit unit 224 stores the number of motion vector motion vector candidates numMVPCandLX registered in the motion vector predictor list mvpListLX. The predicted motion vector list mvpListLX is constructed by limiting the set number of predicted motion vector candidates numMVPCandLX of LX registered in the predicted motion vector list mvpListLX to the final number of final candidates finalNumMVPCand. The detailed processing procedure of step S203 will be described later using the flowchart of FIG.

続いて、予測動きベクトル選択部225でLXの予測動きベクトルリストmvpListLXから第1符号化ビット列復号部202にて復号された予測動きベクトルのインデックスmvpIdxLXに対応する予測動きベクトルの候補mvpListLX[mvpIdxLX]とピクチャ間距離をそれぞれ選択された予測動きベクトルmvpLXとピクチャ間距離distLXとして取り出す(S204)。   Subsequently, a predicted motion vector candidate mvpListLX [mvpIdxLX] corresponding to the predicted motion vector index mvpIdxLX decoded by the first encoded bit string decoding unit 202 from the LX predicted motion vector list mvpListLX by the predicted motion vector selection unit 225 and The inter-picture distance is extracted as the selected predicted motion vector mvpLX and inter-picture distance distLX (S204).

続いて、予測動きベクトルスケーリング演算部127で、選択された予測動きベクトルmvpLXをピクチャ間距離distLXに応じてスケーリング演算する(S205)。ステップS105の詳細な処理手順については図29、図30のフローチャートを用いて後述する。   Subsequently, the motion vector scaling calculator 127 performs a scaling operation on the selected motion vector mvpLX according to the inter-picture distance distLX (S205). The detailed processing procedure of step S105 will be described later with reference to the flowcharts of FIGS.

続いて、動きベクトル加算部227で第1符号化ビット列復号部202にて復号されて供給されるLXの差分動きベクトルmvdLXとLXの予測動きベクトルmvpLXを加算することによりLXの動きベクトルmvLXを算出する(S206)。
mvLX = mvpLX + mvdLX
Subsequently, the motion vector adding unit 227 calculates the LX motion vector mvLX by adding the LX differential motion vector mvdLX decoded and supplied by the first encoded bit string decoding unit 202 and the LX predicted motion vector mvpLX. (S206).
mvLX = mvpLX + mvdLX

次に、図15のS103、及び図16のS203で共通の予測動きベクトルの候補の導出及び予測動きベクトルリスト構築処理手順を図17のフローチャートを用いて詳細に説明する。   Next, a procedure for derivation of a prediction motion vector candidate common to S103 of FIG. 15 and S203 of FIG. 16 and a prediction motion vector list construction process will be described in detail with reference to the flowchart of FIG.

(動きベクトルの予測方法)
図17は動画像符号化装置の差分動きベクトル算出部103及び動画像復号装置の動きベクトル算出部204とで共通する機能を有する予測動きベクトル候補生成部121及び221、予測動きベクトル候補登録部122及び222、ならびに予測動きベクトル冗長候補削除部123及び223、予測動きベクトル候補数制限部124及び224の処理手順を表すフローチャートである。
(Motion vector prediction method)
FIG. 17 shows prediction motion vector candidate generation units 121 and 221 having a function common to the difference motion vector calculation unit 103 of the moving image encoding device and the motion vector calculation unit 204 of the moving image decoding device, and a prediction motion vector candidate registration unit 122. And 222, and the motion vector redundancy candidate deletion units 123 and 223 and the motion vector predictor candidate number limiting units 124 and 224 are flowcharts.

予測動きベクトル候補生成部121及び221は左側に隣接する予測ブロックからの予測動きベクトルの候補を導出し、左側に隣接する予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXA、及び動きベクトルmvLXA、参照インデックスrefIdxA、リストListAを導出する(図17のS301)。なお、L0のときXは0、L1のときXは1とする(以下同様)。続いて、予測動きベクトル候補生成部121及び221は上側に隣接する予測ブロックからの予測動きベクトルの候補を導出し、上側に隣接する予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXB、及び動きベクトルmvLXB、参照インデックスrefIdxB、リストListBを導出する(図17のS302)。図17のS301とS302の処理は参照する隣接ブロックの位置と数が異なる点以外は共通であり、予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXN、及び動きベクトルmvLXN、参照インデックスrefIdxN、ListN、ピクチャ間距離distN(NはAまたはB、以下同様)を導出する共通の導出処理手順を図18〜図20のフローチャートを用いて後ほど詳細に説明する。   The motion vector predictor candidate generation units 121 and 221 derive motion vector predictor candidates from the prediction block adjacent on the left side, a flag availableFlagLXA indicating whether the motion vector candidate of the prediction block adjacent on the left side can be used, and motion A vector mvLXA, a reference index refIdxA, and a list ListA are derived (S301 in FIG. 17). Note that X is 0 when L0 and X is 1 when L1 (the same applies hereinafter). Subsequently, the motion vector predictor candidate generation units 121 and 221 derive a motion vector predictor candidate from the upper adjacent prediction block, and a flag availableFlagLXB indicating whether the motion vector predictor candidate of the upper adjacent prediction block can be used. , And a motion vector mvLXB, a reference index refIdxB, and a list ListB are derived (S302 in FIG. 17). The processes of S301 and S302 in FIG. 17 are common except that the positions and numbers of adjacent blocks to be referenced are different, and a flag availableFlagLXN indicating whether or not a predicted motion vector candidate of a prediction block can be used, a motion vector mvLXN, and a reference index A common derivation procedure for deriving refIdxN, ListN, and inter-picture distance distN (N is A or B, the same applies hereinafter) will be described in detail later with reference to the flowcharts of FIGS.

続いて、予測動きベクトル候補生成部121及び221は異なる時間のピクチャの予測ブロックからの予測動きベクトルの候補を導出し、異なる時間のピクチャの予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXCol、及び動きベクトルmvLXCol、参照インデックスrefIdxCol、リストListCol、ピクチャ間距離distColを導出する(図17のS303)。このステップS303の導出処理手順を図21〜図28のフローチャートを用いて後ほど詳細に説明する。   Subsequently, the motion vector predictor candidate generation units 121 and 221 derive motion vector predictor candidates from the prediction blocks of the pictures at different times, and indicate whether the motion vector predictor candidates of the motion pictures at different times can be used. The flag availableFlagLXCol, the motion vector mvLXCol, the reference index refIdxCol, the list ListCol, and the inter-picture distance distCol are derived (S303 in FIG. 17). The derivation processing procedure of step S303 will be described in detail later with reference to the flowcharts of FIGS.

続いて、予測動きベクトル候補登録部122及び222はLXの予測動きベクトルリストmvpListLXを作成し、LXのそれぞれの予測ベクトルの候補mvLXA, mvLXB, mvLXColを追加する(図17のS304)。その際、LXのそれぞれの予測ベクトルの候補mvLXA, mvLXB, mvLXColに対応するそれぞれのピクチャ間距離distA, distB, distColも予測動きベクトルリストmvpListLXで関連付けて管理する。このステップS304の登録処理手順を図26のフローチャートを用いて後ほど詳細に説明する。   Subsequently, the motion vector predictor candidate registration units 122 and 222 create an LX motion vector predictor list mvpListLX, and add respective motion vector candidates mvLXA, mvLXB, and mvLXCol for LX (S304 in FIG. 17). At this time, the inter-picture distances distA, distB, and distCol corresponding to the respective prediction vector candidates mvLXA, mvLXB, and mvLXCol of LX are also managed in association with each other using the prediction motion vector list mvpListLX. The registration processing procedure in step S304 will be described in detail later using the flowchart of FIG.

続いて、予測動きベクトル冗長候補削除部123及び223は予測動きベクトルリストmvpListLX内で、複数の動きベクトルの候補の中から、同一のピクチャ間距離distNと動きベクトルの値を持っている場合に、冗長な動きベクトルの候補と判断し、最も小さい順序、即ち最も小さいインデックスiの動きベクトルの候補を除いて冗長な動きベクトルの候補を取り除く(図17のS305)。このステップS305の削除処理手順を図27のフローチャートを用いて後ほど詳細に説明する。   Subsequently, when the motion vector redundancy candidate deletion units 123 and 223 have the same inter-picture distance distN and motion vector values from a plurality of motion vector candidates in the motion vector predictor list mvpListLX, It is determined that the candidate is a redundant motion vector, and redundant motion vector candidates are removed except for the motion vector candidate with the smallest order, that is, the smallest index i (S305 in FIG. 17). The deletion processing procedure in step S305 will be described in detail later using the flowchart of FIG.

続いて、予測動きベクトル候補数制限部124及び224は予測動きベクトルリストmvpListLX内に追加された要素の数をカウントし、その数がLXの予測動きベクトル候補数numMVPCandLXに設定され、予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限する。(図17のS306)。このステップS306の制限処理手順を図28のフローチャートを用いて後ほど詳細に説明する。   Subsequently, the motion vector predictor candidate number limiting units 124 and 224 count the number of elements added in the motion vector predictor list mvpListLX, and the number is set as the motion vector vector candidate number numMVPCandLX of the LX. The number of predicted motion vector candidates for LX numMVPCandLX registered in mvpListLX is limited to the specified final candidate number finalNumMVPCand. (S306 in FIG. 17). The restriction processing procedure in step S306 will be described in detail later using the flowchart of FIG.

図17のS301、S302の左側または上側に隣接する予測ブロックから予測動きベクトルの候補をそれぞれ導出する手順について詳細に説明する。   A procedure for deriving motion vector predictor candidates from prediction blocks adjacent to the left or upper side of S301 and S302 in FIG. 17 will be described in detail.

図5、図6、図7、図8に示されるように、同一ピクチャ内の符号化ブロック内部を動き補償する為に定義される予測ブロック(図5、図6、図7、図8中の処理対象の予測ブロック)に隣接する周囲の予測ブロックから予測動きベクトルの候補を導出する。   As shown in FIGS. 5, 6, 7, and 8, a prediction block (in FIG. 5, FIG. 6, FIG. 7, and FIG. 8) that is defined for motion compensation within a coding block in the same picture. A motion vector predictor candidate is derived from surrounding prediction blocks adjacent to the processing target prediction block.

予測動きベクトルの候補は、処理対象の予測ブロックの左側に隣接する予測ブロックAk(k=0,1)、すなわちA0、A1から構成される予測ブロックグループA、上に隣接する予測ブロックBk(k=0,1,2)、すなわちB0、B1、B2から構成される予測ブロックグループBからそれぞれ予測動きベクトルの候補を選出する。   The motion vector predictor candidates are the prediction block Ak (k = 0, 1) adjacent to the left side of the prediction block to be processed, that is, the prediction block group A composed of A0 and A1, and the prediction block Bk (k) adjacent above. = 0, 1, 2), that is, predictive motion vector candidates are selected from the prediction block group B composed of B0, B1, and B2.

次に、図17のS301およびS302の処理手順である左側および上側に隣接する予測ブロックグループNからの予測動きベクトルの候補の導出方法について説明する。図18は前述のスキャン方法1による図17のS301およびS302の予測動きベクトル候補導出処理手順を示すフローチャートである。添え字Xには参照リストを表す0若しくは1、Nには隣接する予測ブロックグループの領域を表すA(左側)またはB(上側)が入る。   Next, a method for deriving prediction motion vector candidates from the prediction block group N adjacent on the left and upper sides, which is the processing procedure of S301 and S302 in FIG. 17, will be described. FIG. 18 is a flowchart showing a predicted motion vector candidate derivation process procedure of S301 and S302 of FIG. Subscript X contains 0 or 1 representing the reference list, and N represents A (left side) or B (upper side) representing the area of the adjacent prediction block group.

左側の予測ブロックから予測動きベクトルの候補を導出するには(図17のS301)、図18でNがAとして符号化/復号対象の予測ブロックの左側に隣接するA0、A1の予測ブロックから予測動きベクトルの候補を、上側の予測ブロックから予測動きベクトルの候補を導出するには(図17のS302)、図18でNがBとして上側に隣接するB0、B1、B2予測ブロックから予測動きベクトルの候補を、それぞれ以下の手順で算出する。   In order to derive motion vector predictor candidates from the left prediction block (S301 in FIG. 17), N is assumed to be A in FIG. 18, and prediction is performed from prediction blocks A0 and A1 adjacent to the left side of the prediction block to be encoded / decoded. In order to derive a motion vector candidate from the upper prediction block (S302 in FIG. 17), a motion vector predictor is predicted from the B0, B1, and B2 prediction blocks adjacent to the upper side with N as B in FIG. The candidates are calculated according to the following procedure.

まず、符号化/復号対象の予測ブロックに隣接する予測ブロックを特定し、それぞれの予測ブロックNk(k=0,1,2、ただし2は上側の予測ブロックグループのみ)が利用できる場合は符号化情報格納メモリ114または符号化情報格納メモリ209に格納されている符号化情報を取得する。ここで取得する隣接する予測ブロックNkの符号化情報は、予測モードPredMode、LXを利用するかどうかを示すフラグpredFlagLX [xNk][yNk]、LXの参照インデックスrefIdxLX [xNk][yNk]、LXの動きベクトルmvLX [xNk][yNk]である。符号化/復号対象の予測ブロックの左側に隣接する予測ブロックグループ(N=A)の場合(S1101のYES)、左下に隣接する予測ブロックA0、左に隣接する予測ブロックA1を特定して符号化情報を取得し(S1102、S1103)、符号化/復号対象の予測ブロックの上側に隣接する予測ブロックグループ(N=B)の場合(S1101のNO)、右上に隣接する予測ブロックB0、上に隣接する予測ブロックB1、左上に隣接する予測ブロックB2を特定して符号化情報を取得する(S1104、S1105、S1106)。なお、隣接する予測ブロックNkが符号化/復号対象予測ブロックを含むスライスの内側に位置する場合は利用でき、外側に位置する場合は利用できない。   First, a prediction block adjacent to a prediction block to be encoded / decoded is specified, and encoding is performed when each prediction block Nk (k = 0, 1, 2, where 2 is only the upper prediction block group) can be used. The encoded information stored in the information storage memory 114 or the encoded information storage memory 209 is acquired. The encoding information of the adjacent prediction block Nk acquired here includes the flags predFlagLX [xNk] [yNk] indicating whether to use the prediction modes PredMode and LX, the LX reference indexes refIdxLX [xNk] [yNk], and LX. The motion vector mvLX [xNk] [yNk]. In the case of a prediction block group (N = A) adjacent to the left side of the prediction block to be encoded / decoded (YES in S1101), the prediction block A0 adjacent to the lower left and the prediction block A1 adjacent to the left are specified and encoded. Information is acquired (S1102, S1103), and in the case of a prediction block group (N = B) adjacent to the upper side of the prediction block to be encoded / decoded (NO in S1101), adjacent to the prediction block B0 adjacent to the upper right Coding information is acquired by specifying the prediction block B1 to be predicted and the prediction block B2 adjacent to the upper left (S1104, S1105, S1106). It can be used when the adjacent prediction block Nk is located inside the slice including the prediction block to be encoded / decoded, and cannot be used when located outside.

次に、予測ブロックグループNから予測動きベクトルが選出されるか否かを示すフラグavailableFlagLXNを0、予測ブロックグループNを代表する動きベクトルmvLXNを(0,0)に設定する(S1107)。   Next, a flag availableFlagLXN indicating whether or not a prediction motion vector is selected from the prediction block group N is set to 0, and a motion vector mvLXN representing the prediction block group N is set to (0, 0) (S1107).

続いて、前述の条件判定1または条件判定2に合致する予測動きベクトル候補を選出する(S1108)。予測ブロックグループN(NはAまたはB)の隣接予測ブロックN0、N1、N2(N2は上側の隣接予測ブロックグループBのみ)の中で、符号化/復号対象予測ブロックで現在対象としている参照リストLXと同じ参照リストLX、または符号化/復号対象予測ブロックで現在対象としている参照リストLXと反対の参照リストLY(Y=!X:現在対象としている参照リストがL0のとき、反対の参照リストはL1、現在対象としている参照リストがL1のとき、反対の参照リストはL0)で同じ参照ピクチャの動きベクトルを持つ予測ブロックを探してその動きベクトルを予測動きベクトル候補とする。   Subsequently, a motion vector predictor candidate that matches the aforementioned condition determination 1 or condition determination 2 is selected (S1108). Reference list that is currently targeted by the prediction block to be encoded / decoded in the adjacent prediction blocks N0, N1, and N2 (N2 is only the upper adjacent prediction block group B) of the prediction block group N (N is A or B) The same reference list LX as LX, or the reference list LY opposite to the reference list LX that is the current target in the encoding / decoding target prediction block (Y =! X: the opposite reference list when the current target reference list is L0) Is L1, and when the current reference list is L1, the opposite reference list is L0), and the motion vector of the same reference picture is searched for and the motion vector is set as a motion vector predictor candidate.

図19は図18のステップS1108の導出処理手順を示すフローチャートである。隣接する予測ブロックNk(k=0,1,2、ただし、2は上側の隣接予測ブロックグループのみ)に対して、kが0,1,2の順番にそれぞれ以下の処理を行う(S1201〜S1207)。NがAの場合下から上にA0,A1の順序で、NがBの場合、右から左にB0,B1,B2の順序で、それぞれ以下の処理を行う。   FIG. 19 is a flowchart showing the derivation process procedure of step S1108 of FIG. For the adjacent prediction block Nk (k = 0, 1, 2, where 2 is only the upper adjacent prediction block group), the following processing is performed in the order of k, 0, 1, 2 (S1201 to S1207). ). When N is A, the following processing is performed in the order of A0 and A1 from bottom to top, and when N is B, the following processing is performed in the order of B0, B1, and B2 from right to left.

隣接する予測ブロックNkが利用でき、予測ブロックNkの予測モードPredModeがイントラ(MODE_INTRA)でない場合(S1202のYES)、前述の条件判定1の条件判定を行う(S1203)。隣接する予測ブロックNkのLXを利用するどうかを示すフラグpredFlagLX [xNk][yNk]が1、即ち隣接する予測ブロックNkが算出対象と同じLXの動きベクトルを用いてインター予測されており、隣接する予測ブロックNkのLXの参照インデックスrefIdxLX[xNk][yNk]と処理対象の予測ブロックのインデックスrefIdxLXが同じ、即ち隣接する予測ブロックNkがLX予測で同じ参照ピクチャを用いてインター予測されている場合(S1203のYES)、ステップS1204に進み、そうでない場合(S1203のNO)、ステップS1205の条件判定を行う。   When the adjacent prediction block Nk can be used and the prediction mode PredMode of the prediction block Nk is not intra (MODE_INTRA) (YES in S1202), the condition determination of the above-described condition determination 1 is performed (S1203). The flag predFlagLX [xNk] [yNk] indicating whether or not to use the LX of the adjacent prediction block Nk is 1, that is, the adjacent prediction block Nk is inter-predicted using the same LX motion vector as the calculation target and adjacent When the LX reference index refIdxLX [xNk] [yNk] of the prediction block Nk and the index refIdxLX of the prediction block to be processed are the same, that is, when adjacent prediction blocks Nk are inter-predicted using the same reference picture in LX prediction ( If YES in step S1203, the process advances to step S1204. If not (NO in step S1203), the condition determination in step S1205 is performed.

ステップS1203がYESの場合、フラグavailableFlagLXNが1に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLXの動きベクトルmvLX[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLXの参照インデックスrefIdxLX[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照リストListNがLXに設定され(S1204)、ステップS1208に進む。   When step S1203 is YES, the flag availableFlagLXN is set to 1, the prediction motion vector mvLXN of the prediction block group N is set to the same value as the LX motion vector mvLX [xNk] [yNk] of the adjacent prediction block Nk, and prediction is performed. The reference index refIdxN of the block group N is set to the same value as the LX reference index refIdxLX [xNk] [yNk] of the adjacent prediction block Nk, the reference list ListN of the prediction block group N is set to LX (S1204), step The process proceeds to S1208.

一方、ステップS1203がNOの場合、前述の条件判定2の条件判定を行う(S1205)。隣接する予測ブロックNkのLYを利用するどうかを示すフラグpredFlagLYが1、即ち隣接する予測ブロックNkが算出対象と異なるLYの動きベクトルを用いてインター予測されており、隣接する予測ブロックNkの現在対象としている参照リストLXと反対の参照リストLYの参照ピクチャのPOCと処理対象の予測ブロックのLXの参照ピクチャのPOCが同じ、即ち隣接する予測ブロックNkがLY予測で同じ参照ピクチャを用いてインター予測されている場合(S1205のYES)、ステップS1206に進み、フラグavailableFlagLXNが1に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLYの動きベクトルmvLY[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLYの参照インデックスrefIdxLY[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照リストListNがLYに設定され(S1206)、ステップS1208に進む。   On the other hand, when step S1203 is NO, the condition determination of the above-described condition determination 2 is performed (S1205). The flag predFlagLY indicating whether to use the LY of the adjacent prediction block Nk is 1, that is, the adjacent prediction block Nk is inter-predicted using a motion vector of LY different from the calculation target, and the current target of the adjacent prediction block Nk Inter prediction using the same reference picture in the LY prediction where the POC of the reference picture in the reference list LY opposite to the reference list LX is the same as the POC of the reference picture of the LX of the prediction block to be processed If YES in step S1205, the process advances to step S1206, the flag availableFlagLXN is set to 1, and the prediction motion vector mvLXN of the prediction block group N is the LY motion vector mvLY [xNk] [yNk] of the adjacent prediction block Nk. And the reference index refIdxN of the prediction block group N is It is set to the same value as the LY reference index refIdxLY [xNk] [yNk] of the adjacent prediction block Nk, the reference list ListN of the prediction block group N is set to LY (S1206), and the process proceeds to step S1208.

続いて、availableFlagLXNが1のとき(S1208のYES)、現在の符号化/復号対象ピクチャのPOCから、隣接予測ブロックの参照リストListNが参照する参照ピクチャのPOCを減算してピクチャ間距離distNを算出し(S1209)、本予測ベクトル候補選出処理を終了する。なお、現在の符号化/復号対象ピクチャよりも隣接予測ブロックのリストListNで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離distNは正の値となり、現在の符号化/復号対象ピクチャよりも隣接予測ブロックの参照リストListNで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離distNは負の値となる。
distN=現在の符号化/復号対象ピクチャのPOC−隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOC
Subsequently, when availableFlagLXN is 1 (YES in S1208), the inter-picture distance distN is calculated by subtracting the POC of the reference picture referenced by the reference list ListN of the adjacent prediction block from the POC of the current encoding / decoding target picture. (S1209), and the prediction vector candidate selection process ends. When the reference picture referred to in the adjacent prediction block list ListN is earlier in the display order than the current encoding / decoding target picture, the inter-picture distance distN is a positive value, and the current encoding / decoding target When the reference picture referenced in the reference list ListN of the adjacent prediction block is later in the display order than the picture, the inter-picture distance distN is a negative value.
distN = POC of current encoding / decoding target picture—POC of reference picture referenced in reference list ListN of adjacent prediction block

これらの条件に合致しない場合、即ちS1203のNO,またはS1205のNOの場合、kを1増加し、次の隣接予測ブロックの処理(S1201〜S1207)を行い、availableFlagLXNが1になるか、隣接ブロックA1またはB2の処理が終わるまで繰り返す。   If these conditions are not met, that is, if NO in S1203 or NO in S1205, k is incremented by 1 and the next adjacent prediction block processing (S1201 to S1207) is performed, and availableFlagLXN becomes 1 or adjacent block Repeat until A1 or B2 is finished.

続いて、図18のフローチャートに戻り、availableFlagLXNが0のとき(S1109のYES)、即ちステップS1108で予測動きベクトルの候補が算出できなかった場合、前述の条件判定3または条件判定4に合致する予測動きベクトル候補を算出する(S1110)。予測ブロックグループN(NはAまたはB)の隣接ブロックN0、N1、N2(N2は上側の隣接予測ブロックグループBのみ)の中で、符号化/復号対象予測ブロックで現在対象としている参照リストLXと同じ参照リストLX、または符号化/復号対象予測ブロックで現在対象としている参照リストLXと反対の参照リストLY(Y=!X:現在対象としている参照リストがL0のとき、反対の参照リストはL1、現在対象としている参照リストがL1のとき、反対の参照リストはL0)で異なる参照ピクチャの動きベクトルを持つ予測ブロックを探してその動きベクトルを予測動きベクトル候補とする。   Subsequently, returning to the flowchart of FIG. 18, when availableFlagLXN is 0 (YES in S1109), that is, when a motion vector predictor candidate cannot be calculated in step S1108, prediction that matches the above-described condition determination 3 or condition determination 4 Motion vector candidates are calculated (S1110). The reference list LX that is currently targeted by the prediction block to be encoded / decoded among the adjacent blocks N0, N1, and N2 (N2 is only the upper adjacent prediction block group B) of the prediction block group N (N is A or B) Or the reference list LY opposite to the current reference list LX in the encoding / decoding target prediction block (Y =! X: when the current target reference list is L0, the opposite reference list is L1, when the current target reference list is L1, the opposite reference list is L0), and a prediction block having a motion vector of a different reference picture is searched and the motion vector is set as a motion vector predictor candidate.

図20は図18のステップS1110の導出処理手順を示すフローチャートである。隣接する予測ブロックNk(k=0,1,2、ただし、2は上側の隣接予測ブロックグループのみ)に対して、kが0,1,2の順番にそれぞれ以下の処理を行う(S1301〜S1307)。NがAの場合下から上にA0,A1の順序で、NがBの場合、右から左にB0,B1,B2の順序で、それぞれ以下の処理を行う。   FIG. 20 is a flowchart showing the derivation process procedure of step S1110 of FIG. For adjacent prediction blocks Nk (k = 0, 1, 2, where 2 is only the upper adjacent prediction block group), the following processing is performed in the order of k, 0, 1, 2 (S1301 to S1307). ). When N is A, the following processing is performed in the order of A0 and A1 from bottom to top, and when N is B, the following processing is performed in the order of B0, B1, and B2 from right to left.

隣接する予測ブロックNkが利用でき、予測ブロックNkの予測モードPredModeがイントラ(MODE_INTRA)でない場合(S1302のYES)、前述の条件判定3の条件判定を行う(S1303)。隣接する予測ブロックNkのLXを利用するどうかを示すフラグpredFlagLX [xNk][yNk]が1、即ち隣接する予測ブロックNkが算出対象と同じLXの動きベクトルを用いてインター予測されている場合、ステップS1304に進み、そうでない場合(S1303のNO)、ステップS1305の条件判定を行う。   When the adjacent prediction block Nk can be used and the prediction mode PredMode of the prediction block Nk is not intra (MODE_INTRA) (YES in S1302), the condition determination of the above-described condition determination 3 is performed (S1303). When the flag predFlagLX [xNk] [yNk] indicating whether or not to use the LX of the adjacent prediction block Nk is 1, that is, when the adjacent prediction block Nk is inter-predicted using the same LX motion vector as the calculation target, step The process proceeds to S1304, and if not (NO in S1303), the condition is determined in Step S1305.

ステップS1303がYESの場合、フラグavailableFlagLXNが1に設定され、予測ブロックグループNのmvLXNが隣接する予測ブロックNkのLXの動きベクトルmvLX[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLXの参照インデックスrefIdxLX[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照リストListNがLXに設定され(S1304)、ステップS1308に進む。   When step S1303 is YES, the flag availableFlagLXN is set to 1, the mvLXN of the prediction block group N is set to the same value as the LX motion vector mvLX [xNk] [yNk] of the adjacent prediction block Nk, and the prediction block group N Is set to the same value as the LX reference index refIdxLX [xNk] [yNk] of the adjacent prediction block Nk, the reference list ListN of the prediction block group N is set to LX (S1304), and the process proceeds to step S1308. .

ステップS1303がNOの場合、前述の条件判定4の条件判定を行う(S1305)。隣接する予測ブロックNkのLYを利用するどうかを示すフラグpredFlagLYが1、即ち隣接する予測ブロックNkが算出対象と異なるLYの動きベクトルを用いてインター予測されている場合(S1305のYES)、フラグavailableFlagLXNが1に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLYの動きベクトルmvLY[xNk][yNk]と同じ値に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLYの動きベクトルmvLY[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLYの参照インデックスrefIdxLY[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照リストListNがLYに設定され(S1306)、ステップS1308に進む。   When step S1303 is NO, the condition determination of the above-described condition determination 4 is performed (S1305). When the flag predFlagLY indicating whether to use the LY of the adjacent prediction block Nk is 1, that is, when the adjacent prediction block Nk is inter-predicted using a motion vector of LY different from the calculation target (YES in S1305), the flag availableFlagLXN Is set to 1, the prediction motion vector mvLXN of the prediction block group N is set to the same value as the LY motion vector mvLY [xNk] [yNk] of the adjacent prediction block Nk, and the prediction motion vector mvLXN of the prediction block group N is The LY motion vector mvLY [xNk] [yNk] of the adjacent prediction block Nk is set to the same value, and the reference index refIdxN of the prediction block group N is the LY reference index refIdxLY [xNk] [yNk] of the adjacent prediction block Nk , The reference list ListN of the prediction block group N is set to LY (S1306), step The process proceeds to S1308.

一方、これらの条件に合致しない場合(S1303のNO,またはS1305のNOの場合)、kを1増加し、次の隣接予測ブロックの処理(S1301〜S1307)を行い、availableFlagLXNが1になるか、隣接ブロックA1またはB2の処理が終わるまで繰り返し、ステップS1308に進む。   On the other hand, if these conditions are not met (NO in S1303 or NO in S1305), k is incremented by 1, and the next adjacent prediction block is processed (S1301 to S1307), and availableFlagLXN becomes 1, The process is repeated until the processing of the adjacent block A1 or B2 is completed, and the process proceeds to step S1308.

続いて、availableFlagLXNが1のとき(S1308のYES)、現在の符号化/復号対象ピクチャのPOCから、隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOCを減算してピクチャ間距離distNを算出し(S1309)、本予測ベクトル候補選出処理を終了する。
distN=現在の符号化/復号対象ピクチャのPOC−隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOC
Subsequently, when availableFlagLXN is 1 (YES in S1308), the inter-picture distance distN is calculated by subtracting the POC of the reference picture referenced in the reference list ListN of the adjacent prediction block from the POC of the current encoding / decoding target picture. In step S1309, the prediction vector candidate selection process is terminated.
distN = POC of current encoding / decoding target picture—POC of reference picture referenced in reference list ListN of adjacent prediction block

次に、図17のS303の異なる時間のピクチャの予測ブロックから予測動きベクトルの候補の導出方法について詳細に説明する。図21は図17のステップS303の予測動きベクトル候補導出処理手順を説明するフローチャートである。   Next, a method for deriving motion vector predictor candidates from the prediction blocks of pictures at different times in S303 in FIG. 17 will be described in detail. FIG. 21 is a flowchart for explaining the predicted motion vector candidate derivation processing procedure in step S303 in FIG.

まず、スライスタイプslice_typeと前述のフラグcollocated_from_l0_flagにより、異なる時間のピクチャcolPicを導出する(図21のS2101)。   First, a picture colPic at a different time is derived based on the slice type slice_type and the aforementioned flag collocated_from_l0_flag (S2101 in FIG. 21).

図22は図21のステップS2101の異なる時間のピクチャcolPicの導出処理手順を説明するフローチャートである。スライスタイプslice_typeがBで、前述のフラグcollocated_from_l0_flagが0の場合(図22のS2201のYES、S2202のYES)、RefPicList1[0]、すなわち参照リストL1の参照インデックスが0のピクチャが異なる時間のピクチャcolPicとなる(図22のS2203)。そうでない場合、すなわち前述のフラグcollocated_from_l0_flagが1の場合(図22のS2201のNO、S2202のNO、S2204のNO)、RefPicList0[0]、すなわち参照リストL0の参照インデックスが0のピクチャが異なる時間のピクチャcolPicとなる(図22のS2205)。   FIG. 22 is a flowchart for explaining the procedure for deriving the picture colPic at different times in step S2101 of FIG. When the slice type slice_type is B and the aforementioned flag collocated_from_l0_flag is 0 (YES in S2201 in FIG. 22, YES in S2202), RefPicList1 [0], that is, the picture colPic at which the pictures with the reference index 0 in the reference list L1 have different times (S2203 in FIG. 22). Otherwise, that is, when the above-described flag collocated_from_l0_flag is 1 (NO in S2201, NO in S2202, NO in S2204 in FIG. 22), RefPicList0 [0], that is, pictures with a reference index 0 in the reference list L0 are different times. The picture is colPic (S2205 in FIG. 22).

次に、図21のフローチャートに戻り、異なる時間の予測ブロックcolPUを導出し、符号化情報を取得する(図21のS2102)。   Next, returning to the flowchart in FIG. 21, a prediction block colPU at a different time is derived, and encoded information is acquired (S2102 in FIG. 21).

図23は図21のステップS2102の異なる時間のピクチャcolPicの予測ブロックcolPUの導出処理手順を説明するフローチャートである。   FIG. 23 is a flowchart for explaining the procedure for deriving the prediction block colPU of the picture colPic at different times in step S2102 of FIG.

まず、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の右下(外側)に位置する予測ブロックを異なる時間の予測ブロックcolPUに設定する(図23のS2301)。この予測ブロックは図9の予測ブロックT0に相当する。   First, a prediction block located in the lower right (outside) of the same position as the processing target prediction block in a picture colPic at a different time is set as a prediction block colPU at a different time (S2301 in FIG. 23). This prediction block corresponds to the prediction block T0 in FIG.

次に、異なる時間の予測ブロックcolPUの符号化情報を取得する(図23のS2302)。異なる時間の予測ブロックcolPUが利用できないか、異なる時間の予測ブロックcolPUのPredModeがMODE_INTRAである場合(図23のS2303のYES、S2304のYES)、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の中央左上に位置する予測ブロックを異なる時間の予測ブロックcolPUに再設定する(図23のS2305)。この予測ブロックは図9の予測ブロックT1に相当する。   Next, the encoding information of the prediction block colPU at different times is acquired (S2302 in FIG. 23). When a prediction block colPU at a different time cannot be used or when PredMode of a prediction block colPU at a different time is MODE_INTRA (YES in S2303 in FIG. 23, YES in S2304), the prediction block to be processed in the picture colPic at a different time The prediction block located at the upper left center of the same position is reset to the prediction block colPU at a different time (S2305 in FIG. 23). This prediction block corresponds to the prediction block T1 in FIG.

次に、図21のフローチャートに戻り、符号化/復号対象の予測ブロックと同位置の他ピクチャの予測ブロックから算出されるLXの予測動きベクトルmvLXColと予測ブロックグループColの参照リストLXの符号化情報が有効か否かを示すフラグavailableFlagLXColを算出する(図21のS2103)。   Next, returning to the flowchart of FIG. 21, the LX prediction motion vector mvLXCol calculated from the prediction block of another picture at the same position as the prediction block to be encoded / decoded and the encoding information of the reference list LX of the prediction block group Col The flag availableFlagLXCol indicating whether or not is valid is calculated (S2103 in FIG. 21).

図24は図21のステップS2103のインター予測情報の導出処理を説明するフローチャートである。   FIG. 24 is a flowchart illustrating the inter prediction information derivation process in step S2103 of FIG.

異なる時間の予測ブロックcolPUのPredModeがMODE_INTRAか、利用できない場合(図24のS2401のNO、S2402のNO)、availableFlagLXColを0、mvLXColを(0,0)とし(図24のS2403、S2404)、処理を終了する。   When PredMode of the prediction block colPU at different time is MODE_INTRA or cannot be used (NO in S2401 in FIG. 24, NO in S2402), availableFlagLXCol is set to 0 and mvLXCol is set to (0, 0) (S2403 and S2404 in FIG. 24). Exit.

予測ブロックcolPUが利用できてPredModeがMODE_INTRAでない場合(図24のS2401のYES、S2402のYES)、以下の手順でmvColとrefIdxColを算出する。   When the prediction block colPU is available and PredMode is not MODE_INTRA (YES in S2401 and YES in S2402 in FIG. 24), mvCol and refIdxCol are calculated in the following procedure.

予測ブロックcolPUのL0予測が利用されているかどうかを示すフラグPredFlagL0[xPCol][yPCol]が0の場合(図24のS2405のYES)、予測ブロックcolPUの予測モードはPred_L1であるので、動きベクトルmvColが予測ブロックcolPUのL1の動きベクトルであるMvL1[xPCol][yPCol]と同じ値に設定され(図24のS2406)、参照インデックスrefIdxColがL1の参照インデックスRefIdxL1[xPCol][yPCol]と同じ値に設定され(図24のS2407)、リストListColがL1に設定される(図24のS2408)。   When the flag PredFlagL0 [xPCol] [yPCol] indicating whether or not the L0 prediction of the prediction block colPU is used (YES in S2405 in FIG. 24), the prediction mode of the prediction block colPU is Pred_L1, and thus the motion vector mvCol Is set to the same value as MvL1 [xPCol] [yPCol] which is the L1 motion vector of the prediction block colPU (S2406 in FIG. 24), and the reference index refIdxCol is set to the same value as the reference index RefIdxL1 [xPCol] [yPCol] of L1 It is set (S2407 in FIG. 24), and the list ListCol is set to L1 (S2408 in FIG. 24).

一方、予測ブロックcolPUのL0予測フラグPredFlagL0[xPCol][yPCol]が0でない場合(図24のS2405のNO)、予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol][yPCol]が0かどうかを判定する。予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol][yPCol]が0の場合(図24のS2409のYES)、動きベクトルmvColが予測ブロックcolPUのL0の動きベクトルであるMvL0[xPCol][yPCol]と同じ値に設定され(図24のS2410)、参照インデックスrefIdxColがL0の参照インデックスRefIdxL0[xPCol][yPCol]と同じ値に設定され(図24のS2411)、リストListColがL0に設定される(図24のS2412)。   On the other hand, when the L0 prediction flag PredFlagL0 [xPCol] [yPCol] of the prediction block colPU is not 0 (NO in S2405 in FIG. 24), it is determined whether the L1 prediction flag PredFlagL1 [xPCol] [yPCol] of the prediction block colPU is 0. . When the L1 prediction flag PredFlagL1 [xPCol] [yPCol] of the prediction block colPU is 0 (YES in S2409 in FIG. 24), the motion vector mvCol is the same as MvL0 [xPCol] [yPCol] that is the L0 motion vector of the prediction block colPU. (S2410 in FIG. 24), the reference index refIdxCol is set to the same value as the reference index RefIdxL0 [xPCol] [yPCol] of L0 (S2411 in FIG. 24), and the list ListCol is set to L0 (FIG. 24). S2412).

予測ブロックcolPUのL0予測フラグPredFlagL0[xPCol][yPCol]と予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol][yPCol]が共に0でない場合(図24のS2405のNO,S2409のNO)、予測ブロックcolPUのインター予測モードは双予測(Pred_BI)であるので、L0、L1の2つの動きベクトルから、一方を選択する(図24のS2413)。   When both the L0 prediction flag PredFlagL0 [xPCol] [yPCol] of the prediction block colPU and the L1 prediction flag PredFlagL1 [xPCol] [yPCol] of the prediction block colPU are not 0 (NO in S2405 in FIG. 24, NO in S2409), the prediction block colPU Since the inter prediction mode is bi-prediction (Pred_BI), one of the two motion vectors L0 and L1 is selected (S2413 in FIG. 24).

図25は予測ブロックcolPUのインター予測モードが双予測(Pred_BI)のときの予測ブロックのインター予測情報の導出処理手順を示すフローチャートである。   FIG. 25 is a flowchart illustrating a procedure for deriving inter prediction information of a prediction block when the inter prediction mode of the prediction block colPU is bi-prediction (Pred_BI).

まず、すべての参照リストに登録されているすべてのピクチャのPOCが現在の符号化/復号対象ピクチャのPOCより小さいかどうかを判定し(S2501)、予測ブロックcolPUのすべての参照リストであるL0及びL1に登録されているすべてのピクチャのPOCが現在の符号化/復号対象ピクチャのPOCより小さい場合で(S2501のYES)、Xが0、即ち符号化/復号対象の予測ブロックのL0の動きベクトルの予測ベクトル候補を算出している場合(S2502のYES)、予測ブロックcolPUのL0の方のインター予測情報を選択し、Xが1、即ち符号化/復号対象の予測ブロックのL1の動きベクトルの予測ベクトル候補を算出している場合(S2502のNO)、予測ブロックcolPUのL1の方のインター予測情報を選択する。一方、予測ブロックcolPUのすべての参照リストL0及びL1に登録されているピクチャのPOCの少なくとも1つが現在の符号化/復号対象ピクチャのPOCより大きい場合で(S2501のNO)、フラグcollocated_from_l0_flagが0の場合(S2503のYES)、予測ブロックcolPUのL0の方のインター予測情報を選択し、フラグcollocated_from_l0_flagが1の場合(S2503のNO)、予測ブロックcolPUのL1の方のインター予測情報を選択する。   First, it is determined whether the POCs of all the pictures registered in all the reference lists are smaller than the POC of the current encoding / decoding target picture (S2501), and L0 and all the reference lists of the prediction block colPU are determined. When the POC of all the pictures registered in L1 is smaller than the POC of the current encoding / decoding target picture (YES in S2501), X is 0, that is, the L0 motion vector of the prediction block to be encoded / decoding When the prediction vector candidate is calculated (YES in S2502), the inter prediction information of L0 of the prediction block colPU is selected, and X is 1, that is, the motion vector of L1 of the prediction block to be encoded / decoded. When the prediction vector candidate is calculated (NO in S2502), the inter prediction information on the L1 side of the prediction block colPU is selected. . On the other hand, when at least one of the POCs of the pictures registered in all the reference lists L0 and L1 of the prediction block colPU is larger than the POC of the current encoding / decoding target picture (NO in S2501), the flag collocated_from_l0_flag is 0 In the case (YES in S2503), the L0 inter prediction information of the prediction block colPU is selected. When the flag collocated_from_l0_flag is 1 (NO in S2503), the L1 inter prediction information of the prediction block colPU is selected.

予測ブロックcolPUのL0の方のインター予測情報を選択する場合(S2502のYES、S2503のYES)、動きベクトルmvColがMvL0[xPCol][yPCol]と同じ値に設定され(S2504)、参照インデックスrefIdxColがRefIdxL0[xPCol][yPCol]と同じ値に設定され(S2505)、リストListColがL0に設定される(S2506)。
予測ブロックcolPUのL1の方のインター予測情報を選択する場合(S2502のNO、S2503のNO)、動きベクトルmvColがMvL1[xPCol][yPCol]と同じ値に設定され(S2507)、参照インデックスrefIdxColがRefIdxL1[xPCol][yPCol]と同じ値に設定され(S2508)、リストListColがL1に設定される(S2509)。
When the inter prediction information of L0 of the prediction block colPU is selected (YES in S2502, YES in S2503), the motion vector mvCol is set to the same value as MvL0 [xPCol] [yPCol] (S2504), and the reference index refIdxCol is set. The same value as RefIdxL0 [xPCol] [yPCol] is set (S2505), and the list ListCol is set to L0 (S2506).
When the inter prediction information of L1 of the prediction block colPU is selected (NO in S2502 and NO in S2503), the motion vector mvCol is set to the same value as MvL1 [xPCol] [yPCol] (S2507), and the reference index refIdxCol is set. The same value as RefIdxL1 [xPCol] [yPCol] is set (S2508), and the list ListCol is set to L1 (S2509).

図24に戻り、予測ブロックcolPUからインター予測情報が取得できたらavailableFlagLXColを1とする(図24のS2414)。   Returning to FIG. 24, if inter prediction information can be acquired from the prediction block colPU, the availableFlagLXCol is set to 1 (S2414 in FIG. 24).

次に、図21のフローチャートに戻り、availableFlagLXColが1の場合(図21のS2104のYES)、異なる時間のピクチャcolPicのPOCから、予測ブロックcolPUのリストListColで参照する参照ピクチャのPOCを減算してピクチャ間距離distColを算出し(S2105)、本予測ベクトル候補選出処理を終了する。なお、異なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離distColは正の値となり、異なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離distColは負の値となる。
distCol=異なる時間のピクチャcolPicのPOC−予測ブロックcolPUのリストListColで参照する参照ピクチャのPOC
Next, returning to the flowchart of FIG. 21, when availableFlagLXCol is 1 (YES in S2104 of FIG. 21), the POC of the reference picture referenced in the list ListCol of the prediction block colPU is subtracted from the POC of the picture colPic at a different time. The inter-picture distance distCol is calculated (S2105), and the prediction vector candidate selection process ends. If the reference picture referenced in the list ListCol of the prediction block colPU is earlier in the display order than the picture colPic at a different time, the inter-picture distance distCol is a positive value, and the prediction block colPU is higher than the picture colPic at a different time When the reference picture referred to in the list ListCol is later in the display order, the inter-picture distance distCol is a negative value.
distCol = POC of picture colPic at different time-POC of reference picture referred to by list ListCol of prediction block colPU

図17のS304の予測動きベクトルの候補を予測動きベクトルリストに追加する手順について詳細に説明する。   The procedure for adding the motion vector predictor candidate in S304 of FIG. 17 to the motion vector predictor list will be described in detail.

図17のS301、S302、及びS303にて算出されたLXのそれぞれの予測動きベクトルの候補mvLXA, mvLXB, mvLXColをLXの予測動きベクトルリストmvpListLXに追加する(S304)。本発明の実施の形態では、優先順位をつけて、優先順位の高いものからLXの予測動きベクトルリストmvpListLXに予測動きベクトルの候補mvLXA, mvLXB, mvLXColを登録することで、優先順位の高い要素を予測動きベクトルリストの前方に配置する。図17のS306で予測動きベクトルリストの中の要素数を制限する際に、予測動きベクトルリストの後方に配置された要素を予測動きベクトルリストから外すことで、優先順位の高い要素を残す。   The predicted motion vector candidates mvLXA, mvLXB, and mvLXCol of LX calculated in S301, S302, and S303 in FIG. 17 are added to the LX predicted motion vector list mvpListLX (S304). In the embodiment of the present invention, by assigning priorities and registering predicted motion vector candidates mvLXA, mvLXB, and mvLXCol in the LX predicted motion vector list mvpListLX in order of priority, elements having higher priorities are registered. It is arranged in front of the predicted motion vector list. When the number of elements in the motion vector predictor list is limited in step S306 in FIG. 17, the elements arranged at the rear of the motion vector predictor list are removed from the motion vector predictor list, thereby leaving the elements with higher priority.

予測動きベクトルリストmvpListLXはリスト構造を成し、予測動きベクトルリスト内部の所在を示すインデックスiで管理され、インデックスiに対応する予測動きベクトルの候補を要素として格納する記憶領域が設けられている。インデックスiの数字は0から開始され、予測動きベクトルリストmvpListLXの記憶領域に、予測動きベクトルの候補が格納される。以降の処理では、予測動きベクトルリストmvpListLXに登録されたインデックスiの要素である予測動きベクトルの候補は、mvpListLX[i]で表す。   The motion vector predictor list mvpListLX has a list structure, is managed by an index i indicating the location inside the motion vector predictor list, and has a storage area for storing a motion vector predictor candidate corresponding to the index i as an element. The number of the index i starts from 0, and motion vector predictor candidates are stored in the storage area of the motion vector predictor list mvpListLX. In the subsequent processing, a motion vector predictor candidate that is an element of the index i registered in the motion vector predictor list mvpListLX is represented by mvpListLX [i].

次に、図17のS304のLXの予測動きベクトルリストmvpListLXへのLXの予測動きベクトルの候補mvLXA, mvLXB, mvLXColの登録処理方法について詳細に説明する。図26は図17のステップS304の予測動きベクトル候補登録処理手順を示すフローチャートである。   Next, the registration processing method of the LX predicted motion vector candidates mvLXA, mvLXB, and mvLXCol to the LX predicted motion vector list mvpListLX in S304 of FIG. 17 will be described in detail. FIG. 26 is a flowchart showing the predicted motion vector candidate registration processing procedure in step S304 of FIG.

まず、予測動きベクトルリストmvpListLXのインデックスiを0に設定する(S3101)。availableFlagLXAが1の場合(S3102のYES)、予測動きベクトルリストmvpListLXのインデックスiに対応する位置にLXの予測動きベクトル候補mvLXA、及びその予測動きベクトル候補に対応するピクチャ間距離distAを登録し(S3103)、インデックスiに1を加算することで更新する(S3104)。   First, the index i of the motion vector predictor list mvpListLX is set to 0 (S3101). When availableFlagLXA is 1 (YES in S3102), the LX predicted motion vector candidate mvLXA and the inter-picture distance distA corresponding to the predicted motion vector candidate are registered at the position corresponding to the index i in the predicted motion vector list mvpListLX (S3103). ), And updating by adding 1 to the index i (S3104).

続いて、availableFlagLXBが1の場合(S3105のYES)、予測動きベクトルリストmvpListLXmvpListLXのインデックスiに対応する位置にLXの予測動きベクトル候補mvLXB、及びその予測動きベクトル候補に対応するピクチャ間距離distBを登録し(S3106)、インデックスiに1を加算することで更新する(S3107)。   Subsequently, when availableFlagLXB is 1 (YES in S3105), the LX predicted motion vector candidate mvLXB and the inter-picture distance distB corresponding to the predicted motion vector candidate are registered at the position corresponding to the index i of the predicted motion vector list mvpListLXmvpListLX. Then, the index i is updated by adding 1 (S3107).

続いて、availableFlagLXColが1の場合(S3108のYES)、予測動きベクトルリストmvpListLXのインデックスiに対応する位置にLXの予測動きベクトル候補mvLXCol、及びその予測動きベクトル候補に対応するピクチャ間距離distColを登録し(S3109)、予測動きベクトルリストへの登録処理を終了する。   Subsequently, when availableFlagLXCol is 1 (YES in S3108), the LX predicted motion vector candidate mvLXCol and the inter-picture distance distCol corresponding to the predicted motion vector candidate are registered at the position corresponding to the index i of the predicted motion vector list mvpListLX. In step S3109, the process of registering in the motion vector predictor list ends.

次に、図17のS305の予測動きベクトルリスト中の冗長な予測動きベクトルの候補の削除方法について詳細に説明する。図27は図17のS305の予測動きベクトル冗長候補削除処理手順を示すフローチャートである。   Next, a method for deleting redundant motion vector predictor candidates in the motion vector predictor list in S305 in FIG. 17 will be described in detail. FIG. 27 is a flowchart showing the predicted motion vector redundant candidate deletion processing procedure in S305 of FIG.

まず、予測動きベクトル冗長候補削除部123及び223は予測動きベクトルリストmvpListLXに登録されている候補同士を比較する(S4101)。この際、それぞれの候補の動きベクトル同士を比較すると共に、その動きベクトルに対応するピクチャ間距離も比較する。複数の動きベクトルの候補のピクチャ間距離が同じ値で動きベクトルが同じ値または近い値を持っている場合に(S4102のYES)、冗長な動きベクトルの候補と判断し、最も小さい順序、即ち最も小さいインデックスiの動きベクトルの候補を除いて冗長な動きベクトルの候補を取り除く(S4103)。なお、冗長な動きベクトルの候補を取り除いた後、予測動きベクトルリストmvpListLXの中は、削除された予測動きベクトルの候補の格納領域が空いている為、インデックスiが0を基準にして、インデックスiが小さい予測動きベクトルの候補の順で詰めていく(S4104)。例えば、インデックスiが0の予測動きベクトルの候補mvListLX[0]が削除され、インデックスiが1及び2の予測動きベクトルの候補mvListLX[1], mvListLX[2]が残った場合、インデックスiが1の予測動きベクトルの候補mvListLX[1]を新たにインデックスiが0の予測動きベクトルの候補mvListLX[0]に変更する。さらに、インデックスiが2の予測動きベクトルの候補mvListLX[2]を新たにインデックスiが1の予測動きベクトルの候補mvListLX[1]に変更する。さらに、インデックスiが2の予測動きベクトルの候補mvListLX[2]は存在しないものと設定する。   First, the motion vector redundancy candidate deletion units 123 and 223 compare candidates registered in the motion vector predictor list mvpListLX (S4101). At this time, the candidate motion vectors are compared with each other, and the inter-picture distances corresponding to the motion vectors are also compared. When the inter-picture distances of a plurality of motion vector candidates are the same value and the motion vectors have the same value or close values (YES in S4102), it is determined as a redundant motion vector candidate, and the smallest order, that is, the most Redundant motion vector candidates are removed except for motion vector candidates with a small index i (S4103). After the redundant motion vector candidates are removed, the predicted motion vector list mvpListLX has an empty storage area for the deleted predicted motion vector candidates. Are packed in the order of the predicted motion vector candidates with the smallest (S4104). For example, if the motion vector candidate mvListLX [0] with index i 0 is deleted and the motion vector candidates mvListLX [1] and mvListLX [2] with index i 1 and 2 remain, the index i is 1 The predicted motion vector candidate mvListLX [1] is newly changed to a predicted motion vector candidate mvListLX [0] having an index i of 0. Furthermore, the motion vector candidate mvListLX [2] with index i of 2 is newly changed to the motion vector candidate mvListLX [1] with index i of 1. Further, it is set that the motion vector candidate mvListLX [2] having the index i of 2 does not exist.

なお、ステップS4101において、比較処理量を削減するために、ピクチャ間距離の比較を省略し、動きベクトルだけを比較の対象とすることもできる。この場合、ピクチャ間距離が異なる候補が削除されてしまうことがあるが、処理量削減を優先する場合に有効である。   In step S4101, in order to reduce the amount of comparison processing, the comparison of the inter-picture distance can be omitted and only the motion vector can be set as the comparison target. In this case, candidates with different inter-picture distances may be deleted, but this is effective when priority is given to reducing the processing amount.

次に、図17のS306の予測動きベクトルリスト中の動きベクトルの候補数の制限方法について詳細に説明する。図28は図17のS306の予測動きベクトル候補数制限処理手順を説明するフローチャートである。   Next, the method for limiting the number of motion vector candidates in the predicted motion vector list in S306 of FIG. 17 will be described in detail. FIG. 28 is a flowchart for explaining the predicted motion vector candidate number limit processing procedure in S306 of FIG.

予測動きベクトル候補数制限部124及び予測動きベクトル候補数制限部224はLXの予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限する。   The predicted motion vector candidate number limit unit 124 and the predicted motion vector candidate number limit unit 224 limit the LX predicted motion vector candidate number numMVPCandLX registered in the LX predicted motion vector list mvpListLX to the defined final candidate number finalNumMVPCand.

まず、LXの予測動きベクトルリストmvpListLXに登録されている要素数をカウントし、LXの予測動きベクトル候補数numMVPCandLXに設定する(S5101)。   First, the number of elements registered in the LX prediction motion vector list mvpListLX is counted and set to the number of LX prediction motion vector candidates numMVPCandLX (S5101).

続いて、LXの予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandよりも小さい場合(S5103のYES)、LXの予測動きベクトルリストmvpListLXのインデックスiが numMVPCandLXに対応する位置に(0, 0)の値を持つ動きベクトルとそれに対応する1の値を持つピクチャ間距離を登録し(S5104)、numMVPCandLXに1を加算する(S5105)。numMVPCandLXとfinalNumMVPCandが同じ値の場合(S5105のYES)、本制限処理を終了し、numMVPCandLXとfinalNumMVPCandが同じ値でない場合(S5105のNO)、同じ値になるまで、ステップS5104とS5105の処理を繰り返す。すなわち、LXの予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandに達するまで、(0, 0)の値を持つMVを登録する。このように重複して(0, 0)の値を持つMVを登録することにより、予測動きベクトルインデックスが0以上最終候補数finalNumMVPCand未満の範囲内でどのような値をとっても予測動きベクトルを確定することができる。   Subsequently, when the number of predicted motion vectors numMVPCandLX of LX is smaller than the number of final candidates finalNumMVPCand (YES in S5103), the index i of the predicted motion vector list mvpListLX of LX has a value of (0, 0) at the position corresponding to numMVPCandLX. And the inter-picture distance having a value of 1 corresponding thereto is registered (S5104), and 1 is added to numMVPCandLX (S5105). If numMVPCandLX and finalNumMVPCand have the same value (YES in S5105), this restriction process is terminated. If numMVPCandLX and finalNumMVPCand are not the same value (NO in S5105), the processes in steps S5104 and S5105 are repeated until they have the same value. That is, MVs having a value of (0, 0) are registered until the LX predicted motion vector candidate number numMVPCandLX reaches the final candidate number finalNumMVPCand. In this way, by registering MVs having a value of (0, 0) overlappingly, the predicted motion vector is determined regardless of the value of the predicted motion vector index within the range of 0 or more and less than the final candidate number finalNumMVPCand. be able to.

一方、LXの予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandよりも大きい場合(S5103のNO、S5107のYES)、LXの予測動きベクトルリストmvpListLXのインデックスiがfinalNumMVPCand-1より大きいすべての予測動きベクトル候補を削除し(S5108)、numMVPCandLXにfinalNumMVPCandと同じ値を設定して(S5105)、本制限処理を終了する。   On the other hand, when the number of predicted motion vectors numMVPCandLX for LX is larger than the number of final candidates finalNumMVPCand (NO in S5103, YES in S5107), all predicted motion vectors for which the index i of the predicted motion vector list mvpListLX for LX is greater than finalNumMVPCand-1 The candidate is deleted (S5108), the same value as finalNumMVPCand is set in numMVPCandLX (S5105), and this restriction process is terminated.

LXの予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandと等しい場合(S5103のNO、S5107のNO)、制限処理を施さずに本制限処理を終了する。   When the number of predicted motion vectors numMVPCandLX of LX is equal to the number of final candidates finalNumMVPCand (NO in S5103, NO in S5107), the limiting process is terminated without performing the limiting process.

本実施の形態においては、最終候補数finalNumMVPCandを規定している。なぜなら、予測動きベクトルリストに登録される予測動きベクトルの候補数が予測動きベクトルリストの構築状態に応じて変動すると、予測動きベクトルリストを構築してからでないと、予測動きベクトルインデックスをエントロピー復号することができないからである。さらに、エントロピー復号が異なる時間のピクチャの予測ブロックから導出された予測動きベクトル候補mvLXColを含む予測動きベクトルリストの構築状態に依存すると、別のピクチャの符号化ビット列の復号時にエラーが発生した際に現在のピクチャの符号化ビット列もその影響を受けて正常にエントロピー復号を続けることができない問題がある。最終候補数finalNumMVPCandを固定した数に規定すると、予測動きベクトルリストの構築と独立して、予測動きベクトルインデックスをエントロピー復号することができるとともに、別のピクチャの符号化ビット列の復号時にエラーが発生してもその影響を受けずに現在のピクチャの符号化ビット列のエントロピー復号を続けることができる。   In the present embodiment, the final candidate number finalNumMVPCand is defined. This is because if the number of motion vector predictor candidates registered in the motion vector predictor list fluctuates according to the state of construction of the motion vector predictor list, the motion vector predictor list must be constructed before entropy decoding of the motion vector predictor index. Because you can't. Furthermore, if entropy decoding depends on the construction state of the motion vector predictor list including the motion vector candidate mvLXCol derived from the prediction block of the picture at different time, when an error occurs when decoding the encoded bit string of another picture The encoded bit string of the current picture is also affected by this, and there is a problem that entropy decoding cannot be continued normally. If the final candidate number finalNumMVPCand is defined as a fixed number, the prediction motion vector index can be entropy-decoded independently of the construction of the prediction motion vector list, and an error occurs when decoding the encoded bit string of another picture. However, it is possible to continue the entropy decoding of the coded bit string of the current picture without being affected by this.

次に、図15のS105及び図16のS205の動きベクトルのスケーリング演算方法について詳細に説明する。   Next, the motion vector scaling calculation method in S105 of FIG. 15 and S205 of FIG. 16 will be described in detail.

図29は図15のS105及び図16のS205の動きベクトルのスケーリング演算処理手順を示すフローチャートである。   FIG. 29 is a flowchart showing the motion vector scaling calculation processing procedure of S105 of FIG. 15 and S205 of FIG.

まず、予測動きベクトルスケーリング演算部127及び226はピクチャ間距離distLXをピクチャ間距離tdとする(S1601)。   First, the predicted motion vector scaling calculators 127 and 226 set the inter-picture distance distLX as the inter-picture distance td (S1601).

現在の符号化/復号対象ピクチャのPOCから現在の符号化/復号対象ピクチャの参照リストLXが参照する参照ピクチャのPOCを減算してピクチャ間距離tbを算出する(S1602)。なお、現在の符号化/復号対象ピクチャよりも現在の符号化/復号対象ピクチャのリストLXが参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離tbは正の値となり、現在の符号化/復号対象ピクチャのリストLXが参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離tbは負の値となる。
tb=現在の符号化/復号対象ピクチャのPOC−現在の符号化/復号対象ピクチャの参照リストLXが参照する参照ピクチャのPOC
The inter-picture distance tb is calculated by subtracting the POC of the reference picture referenced by the reference list LX of the current encoding / decoding target picture from the POC of the current encoding / decoding target picture (S1602). When the reference picture referenced by the current encoding / decoding target picture list LX is earlier in the display order than the current encoding / decoding target picture, the inter-picture distance tb is a positive value, When the reference picture referred to by the encoding / decoding target picture list LX is later in the display order, the inter-picture distance tb is a negative value.
tb = POC of current encoding / decoding target picture-POC of reference picture referenced by reference list LX of current encoding / decoding target picture

続いて、ピクチャ間距離tdとtbを比較し(S1603)、ピクチャ間距離tdとtbが等しい場合(S1603のYES)、本スケーリング演算処理を終了する。ピクチャ間距離tdとtbが等しくない場合(S1603のNO)、 次式によりmvLXNにスケーリング係数tb/tdを乗じることでスケーリング演算を行い(S1604)スケーリングされた動きベクトルmvLXNを得る。
mvLXN=tb/td*mvLXN
Subsequently, the inter-picture distances td and tb are compared (S1603). If the inter-picture distances td and tb are equal (YES in S1603), the scaling calculation process is terminated. When the inter-picture distances td and tb are not equal (NO in S1603), scaling operation is performed by multiplying mvLXN by the scaling coefficient tb / td according to the following equation (S1604) to obtain a scaled motion vector mvLXN.
mvLXN = tb / td * mvLXN

また、ステップS1604の演算を整数精度の演算で行う場合の例を図30に示す。図30のステップS1605〜S1607の処理が、図29のステップS1604の処理に相当する。   FIG. 30 shows an example in which the calculation in step S1604 is performed with integer precision. The processing in steps S1605 to S1607 in FIG. 30 corresponds to the processing in step S1604 in FIG.

まず、図29のフローチャートと同様に、ピクチャ間距離distLXをピクチャ間距離tdとし(S2601)、ピクチャ間距離tbを算出する(S2602)。
続いて、ピクチャ間距離tdとtbを比較し(S2603)、ピクチャ間距離tdとtbが等しい場合(S2603のYES)、本スケーリング演算処理を終了する。ピクチャ間距離tdとtbが等しくない場合(S2603のNO)、次式により変数txを算出する(S1605)。
tx = ( 16384 + Abs( td / 2 ) ) / td
First, as in the flowchart of FIG. 29, the inter-picture distance distLX is set as the inter-picture distance td (S2601), and the inter-picture distance tb is calculated (S2602).
Subsequently, the inter-picture distances td and tb are compared (S2603). If the inter-picture distances td and tb are equal (YES in S2603), the scaling calculation process ends. If the inter-picture distances td and tb are not equal (NO in S2603), a variable tx is calculated by the following equation (S1605).
tx = (16384 + Abs (td / 2)) / td

続いて、次式によりスケーリング係数DistScaleFactorを算出する(S1606)。
DistScaleFactor = ( tb * tx + 32 ) >> 6
Subsequently, the scaling coefficient DistScaleFactor is calculated by the following equation (S1606).
DistScaleFactor = (tb * tx + 32) >> 6

続いて、次式により、スケーリングされた動きベクトルmvLXNを得る(S1607)。
mvLXN = ClipMv( Sign( DistScaleFactor * mvLXN ) * ( (Abs( DistScaleFactor * mvLXN ) + 127 ) >> 8 ) )
Subsequently, a scaled motion vector mvLXN is obtained by the following equation (S1607).
mvLXN = ClipMv (Sign (DistScaleFactor * mvLXN) * ((Abs (DistScaleFactor * mvLXN) + 127) >> 8))

以上の実施例では、図17のS301およびS302において、前述のスキャン方法1による左側および上側に隣接する予測ブロックグループNからの予測動きベクトルの候補の導出方法について説明した。ここでは、図17のS301およびS302において、前述のスキャン方法2による左側および上側に隣接する予測ブロックグループNからの予測動きベクトルの候補の導出方法について説明する。図31は前述のスキャン方法2による図17のステップS301およびS302の予測動きベクトル候補導出処理手順を示すフローチャートである。添え字Xには参照リストを表す0若しくは1、Nには隣接する予測ブロックグループの領域を表すA(左側)またはB(上側)が入る。図18のスキャン方法1による図17のステップS301およびS302の予測動きベクトル候補導出処理手順を示すフローチャートとは図18のステップS1108が図31のステップS1111となっている点と、図18のステップS1110が図31のステップS1112となっている点が異なり、それ以外は同一の動作となる。ここでは、図17と異なっている図31のステップS1111及びS1112について説明する。   In the above embodiment, the method of deriving motion vector predictor candidates from the prediction block group N adjacent on the left and upper sides by the above-described scanning method 1 in S301 and S302 of FIG. 17 has been described. Here, in S301 and S302 of FIG. 17, a method of deriving motion vector predictor candidates from the prediction block group N adjacent on the left and upper sides by the above-described scanning method 2 will be described. FIG. 31 is a flowchart showing the prediction motion vector candidate derivation processing procedure in steps S301 and S302 in FIG. Subscript X contains 0 or 1 representing the reference list, and N represents A (left side) or B (upper side) representing the area of the adjacent prediction block group. The flowchart showing the prediction motion vector candidate derivation processing procedure in steps S301 and S302 in FIG. 17 by the scanning method 1 in FIG. 18 is that step S1108 in FIG. 18 becomes step S1111 in FIG. 31, and step S1110 in FIG. However, step S1112 in FIG. 31 is different, and otherwise the operation is the same. Here, steps S1111 and S1112 of FIG. 31 that are different from FIG. 17 will be described.

まず、図31のステップS1111の条件判定5に合致する予測動きベクトル候補を選出する方法について説明する。図32は図31のステップS1111の処理手順を示すフローチャートである。隣接する予測ブロックNk(k=0,1,2、ただし、2は上側の隣接予測ブロックグループのみ)に対して、kが0,1,2の順番にそれぞれ以下の処理を行う(S1401〜S1405)。NがAの場合下から上にA0,A1の順序で、NがBの場合、右から左にB0,B1,B2の順序で、それぞれ以下の処理を行う。   First, a method for selecting a motion vector predictor candidate that matches the condition determination 5 in step S1111 of FIG. 31 will be described. FIG. 32 is a flowchart showing the processing procedure of step S1111 of FIG. For adjacent prediction blocks Nk (k = 0, 1, 2, where 2 is only the upper adjacent prediction block group), the following processing is performed in the order of k, 0, 1, 2 (S1401 to S1405). ). When N is A, the following processing is performed in the order of A0 and A1 from bottom to top, and when N is B, the following processing is performed in the order of B0, B1, and B2 from right to left.

隣接する予測ブロックNkが利用でき、予測ブロックNkの予測モードPredModeがイントラ(MODE_INTRA)でない場合(S1402のYES)、前述の条件判定5を満たすかどうかの条件判定を行う(S1403)。隣接する予測ブロックNkのLXを利用するどうかを示すフラグpredFlagLX [xNk][yNk]が1、即ち隣接する予測ブロックNkが算出対象と同じLXの動きベクトルを用いてインター予測されている場合(S1403のYES)、ステップS1404に進み、そうでない場合(S1403のNO)、ステップS1405のループ端に進む。   When the adjacent prediction block Nk can be used and the prediction mode PredMode of the prediction block Nk is not intra (MODE_INTRA) (YES in S1402), a condition determination is performed as to whether or not the above condition determination 5 is satisfied (S1403). When the flag predFlagLX [xNk] [yNk] indicating whether or not to use the LX of the adjacent prediction block Nk is 1, that is, when the adjacent prediction block Nk is inter-predicted using the same LX motion vector as the calculation target (S1403) YES), the process proceeds to step S1404. Otherwise (NO in S1403), the process proceeds to the loop end of step S1405.

ステップS1403がYESの場合、フラグavailableFlagLXNが1に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLXの動きベクトルmvLX[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLXの参照インデックスrefIdxLX[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照リストListNがLXに設定され(S1404)、ステップS1406に進む。   When step S1403 is YES, the flag availableFlagLXN is set to 1, the prediction motion vector mvLXN of the prediction block group N is set to the same value as the LX motion vector mvLX [xNk] [yNk] of the adjacent prediction block Nk, and prediction is performed. The reference index refIdxN of the block group N is set to the same value as the LX reference index refIdxLX [xNk] [yNk] of the adjacent prediction block Nk, and the reference list ListN of the prediction block group N is set to LX (S1404). The process proceeds to S1406.

続いて、availableFlagLXNが1のとき(S1406のYES)、現在の符号化/復号対象ピクチャのPOCから、隣接予測ブロックの参照リストListNが参照する参照ピクチャのPOCを減算してピクチャ間距離distNを算出し(S1407)、本予測ベクトル候補選出処理を終了する。なお、現在の符号化/復号対象ピクチャよりも隣接予測ブロックのリストListNで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離distNは正の値となり、現在の符号化/復号対象ピクチャよりも隣接予測ブロックの参照リストListNで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離distNは負の値となる。
distN=現在の符号化/復号対象ピクチャのPOC−隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOC
Subsequently, when availableFlagLXN is 1 (YES in S1406), the inter-picture distance distN is calculated by subtracting the POC of the reference picture referenced by the reference list ListN of the adjacent prediction block from the POC of the current encoding / decoding target picture. (S1407), and the prediction vector candidate selection process ends. When the reference picture referred to in the adjacent prediction block list ListN is earlier in the display order than the current encoding / decoding target picture, the inter-picture distance distN is a positive value, and the current encoding / decoding target When the reference picture referenced in the reference list ListN of the adjacent prediction block is later in the display order than the picture, the inter-picture distance distN is a negative value.
distN = POC of current encoding / decoding target picture—POC of reference picture referenced in reference list ListN of adjacent prediction block

これらの条件に合致しない場合、即ちS1402のNO,またはS1403のNOの場合、kを1増加し、次の隣接予測ブロックの処理(S1401〜S1405)を行い、availableFlagLXNが1になるか、隣接ブロックA1またはB2の処理が終わるまで繰り返す。   When these conditions are not met, that is, when NO in S1402 or NO in S1403, k is incremented by 1 and the next adjacent prediction block processing (S1401 to S1405) is performed, and availableFlagLXN becomes 1 or adjacent block Repeat until A1 or B2 is finished.

まず、図31のステップS1112の条件判定6に合致する予測動きベクトル候補を選出する方法について説明する。図33は図31のステップS1112の処理手順を示すフローチャートである。隣接する予測ブロックNk(k=0,1,2、ただし、2は上側の隣接予測ブロックグループのみ)に対して、kが0,1,2の順番にそれぞれ以下の処理を行う(S1401〜S1405)。NがAの場合下から上にA0,A1の順序で、NがBの場合、右から左にB0,B1,B2の順序で、それぞれ以下の処理を行う。   First, a method for selecting a motion vector predictor candidate that matches the condition determination 6 in step S1112 of FIG. 31 will be described. FIG. 33 is a flowchart showing the processing procedure of step S1112 of FIG. For adjacent prediction blocks Nk (k = 0, 1, 2, where 2 is only the upper adjacent prediction block group), the following processing is performed in the order of k, 0, 1, 2 (S1401 to S1405). ). When N is A, the following processing is performed in the order of A0 and A1 from bottom to top, and when N is B, the following processing is performed in the order of B0, B1, and B2 from right to left.

隣接する予測ブロックNkが利用でき、予測ブロックNkの予測モードPredModeがイントラ(MODE_INTRA)でない場合(S1502のYES)、前述の条件判定6を満たすかどうかの条件判定を行う(S1503)。隣接する予測ブロックNkのLYを利用するどうかを示すフラグpredFlagLY [xNk][yNk]が1、即ち隣接する予測ブロックNkが算出対象と異なるLYの動きベクトルを用いてインター予測されている場合(S1503のYES)、ステップS1504に進み、そうでない場合(S1503のNO)、ステップS1505のループ端に進む。   When the adjacent prediction block Nk can be used and the prediction mode PredMode of the prediction block Nk is not intra (MODE_INTRA) (YES in S1502), a condition determination is performed as to whether or not the above condition determination 6 is satisfied (S1503). When the flag predFlagLY [xNk] [yNk] indicating whether or not to use the LY of the adjacent prediction block Nk is 1, that is, when the adjacent prediction block Nk is inter-predicted using a motion vector of LY different from the calculation target (S1503) YES), the process proceeds to step S1504. Otherwise (NO in S1503), the process proceeds to the loop end of step S1505.

ステップS1503がYESの場合、フラグavailableFlagLXNが1に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLYの動きベクトルmvLY[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLYの参照インデックスrefIdxLY[xNk][yNk]と同じ値に設定され、予測ブロックグループNの参照リストListNがLYに設定され(S1504)、ステップS1506に進む。   When step S1503 is YES, the flag availableFlagLXN is set to 1, the prediction motion vector mvLXN of the prediction block group N is set to the same value as the LY motion vector mvLY [xNk] [yNk] of the adjacent prediction block Nk, and prediction is performed. The reference index refIdxN of the block group N is set to the same value as the LY reference index refIdxLY [xNk] [yNk] of the adjacent prediction block Nk, the reference list ListN of the prediction block group N is set to LY (S1504), step The process proceeds to S1506.

続いて、availableFlagLXNが1のとき(S1506のYES)、現在の符号化/復号対象ピクチャのPOCから、隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOCを減算してピクチャ間距離distNを算出し(S1507)、本予測ベクトル候補選出処理を終了する。なお、現在の符号化/復号対象ピクチャよりも隣接予測ブロックのリストListNで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離distNは正の値となり、現在の符号化/復号対象ピクチャよりも隣接予測ブロックの参照リストListNで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離distNは負の値となる。
distN=現在の符号化/復号対象ピクチャのPOC−隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOC
Subsequently, when availableFlagLXN is 1 (YES in S1506), the inter-picture distance distN is calculated by subtracting the POC of the reference picture referenced in the reference list ListN of the adjacent prediction block from the POC of the current encoding / decoding target picture. In step S1507, the prediction vector candidate selection process is terminated. When the reference picture referred to in the adjacent prediction block list ListN is earlier in the display order than the current encoding / decoding target picture, the inter-picture distance distN is a positive value, and the current encoding / decoding target When the reference picture referenced in the reference list ListN of the adjacent prediction block is later in the display order than the picture, the inter-picture distance distN is a negative value.
distN = POC of current encoding / decoding target picture—POC of reference picture referenced in reference list ListN of adjacent prediction block

これらの条件に合致しない場合、即ちS1402のNO,またはS1403のNOの場合、kを1増加し、次の隣接予測ブロックの処理(S1401〜S1405)を行い、availableFlagLXNが1になるか、隣接ブロックA1またはB2の処理が終わるまで繰り返す。   When these conditions are not met, that is, when NO in S1402 or NO in S1403, k is incremented by 1 and the next adjacent prediction block processing (S1401 to S1405) is performed, and availableFlagLXN becomes 1 or adjacent block Repeat until A1 or B2 is finished.

以上述べた実施の形態においては、複数の予測動きベクトルの候補を予測動きベクトルリストに登録する際に、スケーリング演算を行わず、予測動きベクトルを選択した後に、スケーリング演算を行う。本実施の形態によれば1つのリストにつき1回だけスケーリング演算を行えばよいので、スケーリング演算を行ってから予測動きベクトルリストに登録する手法に比べて、除算を含むスケーリング演算の回数が少なく、処理量を削減できる。   In the embodiment described above, when a plurality of motion vector predictor candidates are registered in the motion vector predictor list, the scaling operation is performed after selecting the motion vector predictor without performing the scaling operation. According to the present embodiment, since the scaling operation only needs to be performed once per list, the number of scaling operations including division is less than the method of performing the scaling operation and registering it in the predicted motion vector list. The amount of processing can be reduced.

また、予測動きベクトル候補リストに予測動きベクトルの候補を登録する際、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、予測動きベクトルの候補を予測動きベクトル候補リストに登録する。そして、予測動きベクトル候補リストに登録された予測動きベクトルの候補の内、冗長な候補はあらかじめ削除する。スケーリング演算処理前の予測動きベクトル値とピクチャ間距離の両方が互いに一致する候補は冗長である。ピクチャ間距離については調べずに、スケーリング演算処理前の予測動きベクトル値を比較して、スケーリング演算処理前の予測動きベクトル値が互いに一致する候補を冗長とみなして、一つの候補を残して残りは削除することもできる。ベクトル値が同じでピクチャ間距離が異なっていることはあまりないことから、スケーリング演算処理前の予測動きベクトル値が一致する候補を冗長とみなしても問題はほとんどないからであり、ピクチャ間距離の比較をしなくて済む分、処理量を抑えることのメリットの方が大きい。   Also, when registering motion vector predictor candidates in the motion vector predictor candidate list, predict motion vector predictor candidates by associating information about the inter-picture distance required for the scaling operation process with the predicted motion vector value before the scaling operation process. Register in the motion vector candidate list. Of the motion vector predictor candidates registered in the motion vector predictor candidate list, redundant candidates are deleted in advance. Candidates in which both the predicted motion vector value before the scaling calculation process and the inter-picture distance match each other are redundant. Without checking the inter-picture distance, the predicted motion vector values before scaling calculation processing are compared, and candidates with the same predicted motion vector values before scaling calculation processing are regarded as redundant, leaving one candidate remaining. Can also be deleted. This is because there is not much difference between inter-picture distances with the same vector value.Therefore, there is almost no problem even if a candidate with the same predicted motion vector value before scaling operation processing is considered redundant. The advantage of reducing the amount of processing is greater because the comparison is unnecessary.

また、以上述べた実施の形態においては、予測動きベクトル候補リストに予測動きベクトルの候補を登録する際、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、予測動きベクトルの候補を予測動きベクトル候補リストに登録するが、予測動きベクトルの候補に対応するピクチャ間距離に関する情報が特定できればよく、本発明においては関連付ける手段を問わない。例えば、ピクチャ間距離に関する情報は予測動きベクトルの候補と共に予測動きベクトル候補リストに登録してもよいし、予測動きベクトル候補リストに同期して管理されるピクチャ間距離情報リストを用意して、ピクチャ間距離に関する情報をピクチャ間距離情報リストに登録してもよい。   In the embodiment described above, when a motion vector predictor candidate is registered in the motion vector predictor candidate list, the information about the inter-picture distance necessary for the scaling operation processing is associated with the motion vector value before the scaling operation processing. Thus, although the motion vector candidates are registered in the motion vector predictor candidate list, it is only necessary to be able to specify information about the inter-picture distance corresponding to the motion vector predictor candidates, and any means for associating may be used in the present invention. For example, the information about the inter-picture distance may be registered in the prediction motion vector candidate list together with the prediction motion vector candidate, or an inter-picture distance information list managed in synchronization with the prediction motion vector candidate list is prepared, Information regarding the inter-distance may be registered in the inter-picture distance information list.

さらに、予測動きベクトルリストを構築する際に、符号化/復号対象の予測ブロックの参照インデックスを必要としないので、符号化側では参照インデックスを決定する前に予測動きベクトルリストの構築処理を開始することができる。また、復号側では参照インデックスをエントロピー復号する前に予測動きベクトルリストの構築処理を開始することができる。   Further, since the reference index of the prediction block to be encoded / decoded is not required when the prediction motion vector list is constructed, the encoding side starts the process of constructing the prediction motion vector list before determining the reference index. be able to. Also, the decoding side can start the process of constructing the motion vector predictor list before entropy decoding the reference index.

以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。   The moving image encoded stream output from the moving image encoding apparatus of the embodiment described above has a specific data format so that it can be decoded according to the encoding method used in the embodiment. Therefore, the moving picture decoding apparatus corresponding to the moving picture encoding apparatus can decode the encoded stream of this specific data format.

動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。   When a wired or wireless network is used to exchange an encoded stream between a moving image encoding device and a moving image decoding device, the encoded stream is converted into a data format suitable for the transmission form of the communication path. It may be transmitted. In that case, a video transmission apparatus that converts the encoded stream output from the video encoding apparatus into encoded data in a data format suitable for the transmission form of the communication channel and transmits the encoded data to the network, and receives the encoded data from the network Then, a moving image receiving apparatus that restores the encoded stream and supplies the encoded stream to the moving image decoding apparatus is provided.

動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。   The moving image transmitting apparatus is a memory that buffers the encoded stream output from the moving image encoding apparatus, a packet processing unit that packetizes the encoded stream, and transmission that transmits the packetized encoded data via the network. Part. The moving image receiving apparatus generates a coded stream by packetizing the received data, a receiving unit that receives the packetized coded data via a network, a memory that buffers the received coded data, and packet processing. And a packet processing unit provided to the video decoding device.

以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。   The above processing relating to encoding and decoding can be realized as a transmission, storage, and reception device using hardware, and is stored in a ROM (Read Only Memory), a flash memory, or the like. It can also be realized by firmware or software such as a computer. The firmware program and software program can be recorded on a computer-readable recording medium, provided from a server through a wired or wireless network, or provided as a data broadcast of terrestrial or satellite digital broadcasting Is also possible.

以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .

101 画像メモリ、 102 動きベクトル検出部、 103 差分動きベクトル算出部、 104 インター予測情報推定部、 105 動き補償予測部、 106 予測方法決定部、 107 残差信号生成部、 108 直交変換・量子化部、 109 第1の符号化ビット列生成部、 110 第2の符号化ビット列生成部、 111 多重化部、 112 逆量子化・逆直交変換部、 113 復号画像信号重畳部、 114 符号化情報格納メモリ、 115 復号画像メモリ、 121 予測動きベクトル候補生成部、 122 予測動きベクトル候補登録部、 123 予測動きベクトル冗長候補削除部、 124 予測動きベクトル候補数制限部、 125 予測動きベクトル候補符号量算出部、 126 予測動きベクトル選択部、 127 予測動きベクトルスケーリング演算部、 128 動きベクトル減算部、 201 分離部、 202 第1符号化ビット列復号部、 203 第2符号化ビット列復号部、 204 動きベクトル算出部、 205 インター予測情報推定部、 206 動き補償予測部、 207 逆量子化・逆直交変換部、 208 復号画像信号重畳部、 209 符号化情報格納メモリ、 210 復号画像メモリ、 221 予測動きベクトル候補生成部、 222 予測動きベクトル候補登録部、 223 予測動きベクトル冗長候補削除部、 224 予測動きベクトル候補数制限部、 225 予測動きベクトル選択部、 226 予測動きベクトルスケーリング演算部、 227 動きベクトル加算部。   DESCRIPTION OF SYMBOLS 101 Image memory, 102 Motion vector detection part, 103 Difference motion vector calculation part, 104 Inter prediction information estimation part, 105 Motion compensation prediction part, 106 Prediction method determination part, 107 Residual signal generation part, 108 Orthogonal transformation and quantization part 109 first encoded bit string generation unit, 110 second encoded bit string generation unit, 111 multiplexing unit, 112 inverse quantization / inverse orthogonal transform unit, 113 decoded image signal superimposing unit, 114 encoded information storage memory, 115 decoded image memory, 121 prediction motion vector candidate generation unit, 122 prediction motion vector candidate registration unit, 123 prediction motion vector redundant candidate deletion unit, 124 prediction motion vector candidate number limit unit, 125 prediction motion vector candidate code amount calculation unit, 126 Predicted motion vector selection unit, 127 prediction Vector scaling operation unit, 128 motion vector subtraction unit, 201 separation unit, 202 first encoded bit sequence decoding unit, 203 second encoded bit sequence decoding unit, 204 motion vector calculation unit, 205 inter prediction information estimation unit, 206 motion compensation Prediction unit, 207 inverse quantization / inverse orthogonal transform unit, 208 decoded image signal superimposing unit, 209 encoded information storage memory, 210 decoded image memory, 221 prediction motion vector candidate generation unit, 222 prediction motion vector candidate registration unit, 223 prediction A motion vector redundant candidate deletion unit, a 224 predicted motion vector candidate number limiting unit, a 225 predicted motion vector selection unit, a 226 predicted motion vector scaling operation unit, and a 227 motion vector addition unit.

Claims (5)

動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、
予測動きベクトル候補リストにおける選択すべき予測動きベクトルのインデックスを示す情報を差分動きベクトルとともに復号する復号部と、
復号対象ブロックと同一ピクチャ内の前記復号対象ブロックと隣接する復号済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成する予測動きベクトル候補生成部と、
生成された前記予測動きベクトルの候補を、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、前記予測動きベクトル候補リストに登録する予測動きベクトル候補登録部と、
復号された前記予測動きベクトル候補リストにおける前記選択すべき予測動きベクトルのインデックスを示す情報にもとづいて、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択部と、
選択された前記予測動きベクトルのスケーリング演算処理前の予測ベクトル値を前記ピクチャ間距離に応じてスケーリング演算する予測動きベクトルスケーリング演算部と、
スケーリング演算処理後の前記予測動きベクトルと前記差分動きベクトルとを加算して前記復号対象ブロックの動きベクトルを算出する加算部とを備えることを特徴とする動画像復号装置。
A moving picture decoding apparatus for decoding a coded bit string obtained by coding the moving picture using motion compensation in units of blocks obtained by dividing each picture of the moving picture,
A decoding unit that decodes information indicating an index of a predicted motion vector to be selected in the predicted motion vector candidate list together with a difference motion vector;
A motion vector predictor candidate generating unit that generates a plurality of motion vector predictor candidates by predicting from any motion vector of a decoded block adjacent to the current block in the same picture as the current block to be decoded;
Predicted motion vector candidates registered in the predicted motion vector candidate list by associating information about the inter-picture distance necessary for the scaling operation processing with the predicted motion vector value before the scaling operation processing, and generating the predicted motion vector candidates And
A prediction motion vector selection unit that selects a prediction motion vector from the prediction motion vector candidate list based on information indicating an index of the prediction motion vector to be selected in the decoded prediction motion vector candidate list;
A predicted motion vector scaling calculator that performs a scaling calculation on the predicted vector value before the scaling calculation processing of the selected predicted motion vector according to the inter-picture distance;
A moving picture decoding apparatus comprising: an addition unit that calculates the motion vector of the decoding target block by adding the predicted motion vector after the scaling calculation process and the difference motion vector.
前記予測動きベクトル候補リストに登録された前記予測動きベクトルの候補の内、互いにスケーリング演算処理前の予測動きベクトル値が一致する候補については、一つの候補を残して残りは削除する予測動きベクトル冗長候補削除部をさらに備えることを特徴とする請求項1に記載の動画像復号装置。   Among the motion vector predictor candidates registered in the motion vector predictor candidate list, the motion vector redundancy candidates that have the same motion vector predictor value before the scaling calculation process are left out and the rest are deleted. The moving picture decoding apparatus according to claim 1, further comprising a candidate deletion unit. 前記予測動きベクトル候補リストに登録された前記予測動きベクトルの候補の内、互いにスケーリング演算処理前の予測動きベクトル値および前記ピクチャ間距離が一致する候補については、一つの候補を残して残りは削除する予測動きベクトル冗長候補削除部をさらに備えることを特徴とする請求項1に記載の動画像復号装置。   Among the motion vector predictor candidates registered in the motion vector predictor candidate list, candidates for which the motion vector predictor values before the scaling calculation process and the inter-picture distances match each other remain, and the rest are deleted. The moving picture decoding apparatus according to claim 1, further comprising: a predicted motion vector redundant candidate deletion unit that performs. 動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号方法であって、
予測動きベクトル候補リストにおける選択すべき予測動きベクトルのインデックスを示す情報を差分動きベクトルとともに復号する復号ステップと、
復号対象ブロックと同一ピクチャ内の前記復号対象ブロックと隣接する復号済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成する予測動きベクトル候補生成ステップと、
生成された前記予測動きベクトルの候補を、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、前記予測動きベクトル候補リストに登録する予測動きベクトル候補登録ステップと、
復号された前記予測動きベクトル候補リストにおける前記選択すべき予測動きベクトルのインデックスを示す情報にもとづいて、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、
選択された前記予測動きベクトルのスケーリング演算処理前の予測ベクトル値を前記ピクチャ間距離に応じてスケーリング演算する予測動きベクトルスケーリング演算ステップと、
スケーリング演算処理後の前記予測動きベクトルと前記差分動きベクトルとを加算して前記復号対象ブロックの動きベクトルを算出する加算ステップとを備えることを特徴とする動画像復号方法。
A moving picture decoding method for decoding a coded bit string obtained by coding the moving picture using motion compensation in units of blocks obtained by dividing each picture of the moving picture,
A decoding step of decoding information indicating an index of a predicted motion vector to be selected in the predicted motion vector candidate list together with a difference motion vector;
A prediction motion vector candidate generation step for generating a plurality of motion vector predictor candidates by predicting from any one of the decoded blocks adjacent to the decoding target block in the same picture as the decoding target block;
Predicted motion vector candidates registered in the predicted motion vector candidate list by associating information about the inter-picture distance necessary for the scaling operation processing with the predicted motion vector value before the scaling operation processing, and generating the predicted motion vector candidates Steps,
A prediction motion vector selection step of selecting a prediction motion vector from the prediction motion vector candidate list based on information indicating an index of the prediction motion vector to be selected in the decoded prediction motion vector candidate list;
A predicted motion vector scaling operation step for performing a scaling operation on a predicted vector value before the scaling operation processing of the selected predicted motion vector according to the inter-picture distance;
A moving picture decoding method comprising: an adding step of calculating a motion vector of the decoding target block by adding the predicted motion vector after the scaling calculation process and the difference motion vector.
動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号プログラムであって、
予測動きベクトル候補リストにおける選択すべき予測動きベクトルのインデックスを示す情報を差分動きベクトルとともに復号する復号ステップと、
復号対象ブロックと同一ピクチャ内の前記復号対象ブロックと隣接する復号済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成する予測動きベクトル候補生成ステップと、
生成された前記予測動きベクトルの候補を、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、前記予測動きベクトル候補リストに登録する予測動きベクトル候補登録ステップと、
復号された前記予測動きベクトル候補リストにおける前記選択すべき予測動きベクトルのインデックスを示す情報にもとづいて、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、
選択された前記予測動きベクトルのスケーリング演算処理前の予測ベクトル値を前記ピクチャ間距離に応じてスケーリング演算する予測動きベクトルスケーリング演算ステップと、
スケーリング演算処理後の前記予測動きベクトルと前記差分動きベクトルとを加算して前記復号対象ブロックの動きベクトルを算出する加算ステップとをコンピュータに実行させることを特徴とする動画像復号プログラム。
A moving picture decoding program for decoding a coded bit string obtained by coding the moving picture using motion compensation in units of blocks obtained by dividing each picture of the moving picture,
A decoding step of decoding information indicating an index of a predicted motion vector to be selected in the predicted motion vector candidate list together with a difference motion vector;
A prediction motion vector candidate generation step for generating a plurality of motion vector predictor candidates by predicting from any one of the decoded blocks adjacent to the decoding target block in the same picture as the decoding target block;
Predicted motion vector candidates registered in the predicted motion vector candidate list by associating information about the inter-picture distance necessary for the scaling operation processing with the predicted motion vector value before the scaling operation processing, and generating the predicted motion vector candidates Steps,
A prediction motion vector selection step of selecting a prediction motion vector from the prediction motion vector candidate list based on information indicating an index of the prediction motion vector to be selected in the decoded prediction motion vector candidate list;
A predicted motion vector scaling operation step for performing a scaling operation on a predicted vector value before the scaling operation processing of the selected predicted motion vector according to the inter-picture distance;
A moving picture decoding program that causes a computer to execute an adding step of calculating a motion vector of the decoding target block by adding the predicted motion vector after the scaling operation processing and the difference motion vector.
JP2011212013A 2011-09-28 2011-09-28 Moving image decoder, moving image decoding method, and moving image decoding program Withdrawn JP2013074468A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011212013A JP2013074468A (en) 2011-09-28 2011-09-28 Moving image decoder, moving image decoding method, and moving image decoding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011212013A JP2013074468A (en) 2011-09-28 2011-09-28 Moving image decoder, moving image decoding method, and moving image decoding program

Publications (1)

Publication Number Publication Date
JP2013074468A true JP2013074468A (en) 2013-04-22

Family

ID=48478611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011212013A Withdrawn JP2013074468A (en) 2011-09-28 2011-09-28 Moving image decoder, moving image decoding method, and moving image decoding program

Country Status (1)

Country Link
JP (1) JP2013074468A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017518689A (en) * 2014-05-06 2017-07-06 寰發股▲ふん▼有限公司HFI Innovation Inc. Method of block vector prediction for INTRA block copy mode coding
US11051715B2 (en) * 2016-02-15 2021-07-06 Samsung Electronics Co., Ltd. Image processing apparatus, image processing method, and recording medium recording same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017518689A (en) * 2014-05-06 2017-07-06 寰發股▲ふん▼有限公司HFI Innovation Inc. Method of block vector prediction for INTRA block copy mode coding
US10666968B2 (en) 2014-05-06 2020-05-26 Hfi Innovation Inc. Method of block vector prediction for intra block copy mode coding
US11051715B2 (en) * 2016-02-15 2021-07-06 Samsung Electronics Co., Ltd. Image processing apparatus, image processing method, and recording medium recording same

Similar Documents

Publication Publication Date Title
JP6079912B2 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
WO2013099244A1 (en) Video encoding device, video encoding method, video encoding program, video decoding device, video decoding method, video decoding program
JP6015821B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
WO2013076981A1 (en) Video coding device, video coding method, video coding program, transmission device, transmission method, transmission program, video decoding device, video decoding method, video decoding program, receiving device, receiving method, and receiving program
JP2013132046A (en) Video decoder, video decoding method, video decoding program, receiver, receiving method, and receiving program
JP5747816B2 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
JP5962877B1 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
JP2013074468A (en) Moving image decoder, moving image decoding method, and moving image decoding program
JP2013131918A (en) Video decoder, video decoding method and video decoding program
JP5617834B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP2013074467A (en) Moving image encoder, moving image encoding method, and moving image encoding program
WO2013046707A1 (en) Video encoding device, video encoding method, video encoding program, transmitting device, transmitting method and transmitting program; and video decoding device, video decoding method, video decoding program, receiving device, receiving method and receiving program
JP5962875B1 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
JP5962876B1 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
JP6037061B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP5975146B2 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
JP2013131917A (en) Video encoder, video encoding method and video encoding program
JP2013110576A (en) Moving image decoding device, moving image decoding method, and moving image decoding program
JP2013110575A (en) Moving image encoding device, moving image encoding method, and moving image encoding program
JP2013192081A (en) Moving image decoding device, moving image decoding method and moving image decoding program
JP2013192080A (en) Moving image encoding device, moving image encoding method and moving image encoding program
JP2013132047A (en) Video encoder, video encoding method, video encoding program, transmitter, transmission method, and transmission program
JP2015019405A (en) Dynamic image decoding device, dynamic image decoding method, dynamic image decoding program, receiving device, receiving method, and receiving program

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141202