JP5874790B2 - Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program - Google Patents

Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program Download PDF

Info

Publication number
JP5874790B2
JP5874790B2 JP2014182102A JP2014182102A JP5874790B2 JP 5874790 B2 JP5874790 B2 JP 5874790B2 JP 2014182102 A JP2014182102 A JP 2014182102A JP 2014182102 A JP2014182102 A JP 2014182102A JP 5874790 B2 JP5874790 B2 JP 5874790B2
Authority
JP
Japan
Prior art keywords
motion vector
prediction
predicted
candidate
candidates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014182102A
Other languages
Japanese (ja)
Other versions
JP2015019402A (en
Inventor
福島 茂
茂 福島
博哉 中村
博哉 中村
英樹 竹原
英樹 竹原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2014182102A priority Critical patent/JP5874790B2/en
Publication of JP2015019402A publication Critical patent/JP2015019402A/en
Application granted granted Critical
Publication of JP5874790B2 publication Critical patent/JP5874790B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

動き補償を行う動画像符号化方式では、各ブロックで生成される動きベクトルの符号量
を削減する為に、動きベクトルに対して予測処理が行われる。AVCでは、符号化対象の
動きベクトルが周囲の隣接ブロックの動きベクトルと強い相関があることを利用して、周
囲の隣接ブロックからの予測を行うことにより予測動きベクトルを算出し、符号化対象の
動きベクトルと予測動きベクトルとの差分である差分動きベクトルを算出し、その差分動
きベクトルを符号化することによって符号量を削減している。
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. In AVC, by using the fact that the motion vector to be encoded has a strong correlation with the motion vector of the neighboring adjacent block, the prediction motion vector is calculated by performing prediction from the neighboring neighboring block, and the encoding 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)のよ
うに、符号化対象ブロックと隣接ブロックの大きさや形状が異なる場合は、左隣に複数の
隣接ブロックがある時はその中の一番上のブロックを、上に複数の隣接ブロックがある時
はその中の一番左のブロックを予測ブロックとし、決定された予測ブロックの動きベクト
ルから予測を実施する。
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, as shown in FIG. 34 (b), when the size and shape of the encoding target block and the adjacent block are different, when there are a plurality of adjacent blocks on the left, the top block among them is When there are a plurality of adjacent blocks, the leftmost block among them is set as a prediction block, and prediction is performed from the motion vector of the determined prediction block.

また、特許文献1に記載の技術は、処理対象ブロックの複数の隣接ブロックの動きベク
トルと参照画像情報から予測ベクトルを算出することで予測ベクトルの精度を向上させ、
符号化ベクトルの符号量の増加を抑制している。
In addition, the technique described in Patent Document 1 improves the accuracy of a prediction vector by calculating a prediction vector from motion vectors and reference image information of a plurality of adjacent blocks of a processing target block,
An increase in the code amount of the encoded vector is suppressed.

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

しかし、特許文献1に記載された方法では、予測ベクトルは一つしか得られないため、
画像によっては予測動きベクトルの予測精度が低下し、符号化効率が良くならない場合も
ある。
However, in the method described in Patent Document 1, only one prediction vector can be obtained.
Depending on the image, the prediction accuracy of the predicted motion vector may decrease, 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.

動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号部と、復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成部と、空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除部と、予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加部と、復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択部と、前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出部と、予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数制限部とを備えることを特徴とする動画像復号装置を提供する。
動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置が実行する動画像復号方法であって、規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号ステップと、復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成ステップと、空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除ステップと、予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加ステップと、復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出ステップとを有することを特徴とする動画像復号方法を提供する。
動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置が備えるコンピュータに実行させる動画像復号プログラムであって、規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号ステップと、復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成ステップと、空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除ステップと、予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加ステップと、復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出ステップとをコンピュータに実行させることを特徴とする動画像復号プログラムを提供する。
動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する受信装置であって、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをパケット処理して符号化ストリームを生成するパケット処理部と、前記符号化ストリームから、規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号部と、復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成部と、空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除部と、予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加部と、復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択部と、前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出部と、予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数制限部とを備えることを特徴とする受信装置を提供する。
動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する受信装置が実行する受信方法であって、パケット化された符号化データをネットワークを介して受信する受信ステップと、受信された符号化データをパケット処理して符号化ストリームを生成するパケット処理ステップと、前記符号化ストリームから、規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号ステップと、復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成ステップと、空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除ステップと、予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加ステップと、復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出ステップとを有することを特徴とする受信方法を提供する。
動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する受信装置が備えるコンピュータに実行させる受信プログラムであって、パケット化された符号化データをネットワークを介して受信する受信ステップと、受信された符号化データをパケット処理して符号化ストリームを生成するパケット処理ステップと、前記符号化ストリームから、規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号ステップと、復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成ステップと、空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除ステップと、予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加ステップと、復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出ステップとをコンピュータに実行させることを特徴とする受信プログラムを提供する。
A moving picture decoding apparatus for decoding a coded bit sequence in which the moving picture is coded using motion compensation in units of blocks obtained by dividing each picture of a moving picture, wherein a predicted motion comprising a prescribed number of predicted motion vector candidates Prediction from information indicating a prediction motion vector to be selected from the vector candidate list together with a difference motion vector and a motion vector of a decoded block spatially or temporally close to the decoding target block A motion vector predictor candidate generation unit for deriving a plurality of motion vector predictor candidates and generating a motion vector predictor candidate list; a vector value of a motion vector predictor predicted from spatially adjacent decoded blocks; Whether the vector value of the predicted motion vector predicted from the decoded blocks that are close in time is the same Without comparing, it is compared whether the vector value is the same between the predicted motion vector candidates predicted from the decoded blocks that are spatially close, and the predicted motion vector candidate having the same vector value is The predicted motion vector redundant candidate deletion unit that deletes at least one from the predicted motion vector candidate list, and the number of predicted motion vector candidates in the predicted motion vector candidate list after deletion of the predicted motion vector redundant candidate is more than a prescribed number. If the number of motion vector predictor candidates is small, the number of motion vector predictor candidates is added to the motion vector predictor candidate list so that the number of motion vector predictor candidates is a prescribed number, and the decoded selection of the motion vector candidates Based on the information indicating the predicted motion vector to be used, the predicted motion limited to include a predetermined number of predicted motion vector candidates A predicted motion vector selecting unit that selects a predicted motion vector from a vector candidate list; a motion vector calculating unit that calculates a motion vector used for motion compensated prediction by adding the selected predicted motion vector and the difference motion vector; When the number of motion vector predictor candidates is smaller than a predetermined number, a motion vector predictor that adds a predetermined motion vector predictor candidate to the motion vector predictor candidate list so that the number of motion vector predictor candidates is a predetermined number. A moving picture decoding apparatus comprising a vector candidate number limiting unit is provided.
A moving picture decoding method executed by 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, wherein a predetermined number of predictions are made A decoding step of decoding information indicating a prediction motion vector to be selected from a prediction motion vector candidate list made up of motion vector candidates together with a difference motion vector, and a decoded block that is spatially or temporally close to the decoding target block A prediction motion vector candidate generation step for generating a prediction motion vector candidate list by deriving a plurality of prediction motion vector candidates by predicting from any one of motion vectors, and prediction predicted from decoded blocks that are spatially close to each other The vector value of the motion vector and the predicted motion vector predicted from decoded blocks that are close in time Compare whether the vector values are the same between the predicted motion vector candidates predicted from the spatially adjacent decoded blocks without comparing the vector values. A prediction motion vector redundancy candidate deletion step for deleting a motion vector predictor candidate having the same value, leaving at least one candidate from the motion vector predictor candidate list, and prediction of the motion vector predictor candidate list after the motion vector redundancy candidate deletion When the number of motion vector candidates is less than a specified number, a predicted motion vector that adds a predetermined predicted motion vector candidate to the predicted motion vector candidate list so that the number of predicted motion vector candidates becomes a specified number a candidate number of additional steps, on the basis of the information indicating the predicted motion vector to be the decoded selected, prediction number of provisions of Prediction motion vector selection step for selecting a motion vector predictor from the motion vector predictor candidate list restricted to include a motion vector candidate, and adding the selected motion vector predictor and the difference motion vector to motion compensated prediction. And a motion vector calculating step for calculating a motion vector to be used.
A moving picture decoding program to be executed by a computer provided in 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 a moving picture, A decoding step for decoding information indicating a prediction motion vector to be selected from a prediction motion vector candidate list including a plurality of prediction motion vector candidates, together with a difference motion vector, and decoding that is spatially or temporally close to a decoding target block Prediction from one of the motion vectors of a completed block, deriving a plurality of motion vector predictor candidates, and generating a motion vector predictor candidate list, and predicting from a spatially adjacent decoded block From the predicted motion vector vector value and the decoded blocks that are close in time Whether the vector values are the same between the predicted motion vector candidates predicted from the spatially adjacent decoded blocks, without comparing whether the measured motion vector vectors are the same A prediction motion vector redundancy candidate deletion step of comparing the prediction motion vector candidates with the same vector value and deleting at least one candidate from the prediction motion vector candidate list, and after the prediction motion vector redundancy candidate deletion When the number of motion vector predictor candidates in the motion vector predictor candidate list is smaller than a predetermined number, a predetermined motion vector predictor is added to the motion vector predictor candidate list so that the number of motion vector predictor candidates is a predetermined number. information indicating the predicted motion vector candidate number of additional steps of adding a candidate, the predicted motion vector to be the selected decoded Based on the prediction motion vector selection step for selecting a prediction motion vector from the prediction motion vector candidate list limited to include a predetermined number of prediction motion vector candidates, and the selected prediction motion vector and the difference motion vector. There is provided a moving picture decoding program which causes a computer to execute a motion vector calculation step of calculating a motion vector used for motion compensation prediction by adding.
A receiving apparatus that decodes a coded bit string obtained by coding a moving picture using motion compensation in units of blocks obtained by dividing each picture of the moving picture, and receives packetized coded data via a network. A reception unit; a packet processing unit that packet-processes the received encoded data to generate an encoded stream; and a predicted motion vector candidate list including a predetermined number of predicted motion vector candidates from the encoded stream. A prediction unit that decodes information indicating a prediction motion vector to be selected together with a difference motion vector and a motion vector of a decoded block that is spatially or temporally close to the decoding target block, A motion vector predictor candidate generation unit that derives motion vector candidates and generates a motion vector predictor candidate list; and spatially Without comparing whether the vector value of the predicted motion vector predicted from the adjacent decoded block is the same as the vector value of the predicted motion vector predicted from the decoded block that is temporally adjacent, the space is not compared. Predictive motion vector candidates predicted from decoded blocks that are close to each other are compared to determine whether the vector values are the same, and the motion vector predictor candidates having the same vector value A motion vector redundancy candidate deletion unit that deletes at least one of the motion vector redundant candidates, and a motion vector predictor motion vector candidate list after the motion vector redundancy candidate deletion after the motion vector redundancy candidate deletion is less than a predetermined number The predicted motion vector candidate list includes a predetermined predicted motion vector so that the number of candidates becomes a specified number. A predicted motion vector candidate number adding unit for adding the complement, based on the information indicating the predicted motion vector to be the selected decoded, the motion vector predictor candidate list that is restricted to be from the predicted motion vector candidates of the specified number of A motion vector calculation unit that calculates a motion vector used for motion compensated prediction by adding the selected motion vector predictor and the difference motion vector, and a motion vector predictor. When the number of motion vector candidates is less than the specified number, the number of motion vector predictor candidates for adding a predetermined motion vector predictor candidate to the motion vector predictor candidate list so that the number of motion vector predictor candidates is the specified number. Provided is a receiving device comprising a limiting unit.
A receiving method executed by a receiving apparatus that decodes a coded bit string in which the moving picture is coded using motion compensation in units of blocks obtained by dividing each picture of the moving picture, the packetized coded data being networked A reception step for receiving the encoded data, a packet processing step for packetizing the received encoded data to generate an encoded stream, and a predicted motion vector comprising a specified number of predicted motion vector candidates from the encoded stream A prediction step for decoding information indicating a predicted motion vector to be selected from the candidate list together with the difference motion vector, and a motion vector of one of the decoded blocks spatially or temporally close to the decoding target block are predicted. A plurality of motion vector predictor candidates to generate a motion vector predictor candidate list. The motion vector candidate generation step, the vector value of the motion vector predictor predicted from the spatially adjacent decoded block, and the vector value of the motion vector predictor predicted from the temporally adjacent decoded block are the same Without comparing whether or not the predicted motion vectors predicted from the spatially adjacent decoded blocks are compared to see if the vector values are the same. A motion vector redundancy candidate deletion step for deleting vector candidates while leaving at least one from the motion vector predictor candidate list, and the number of motion vector predictor candidates in the motion vector candidate candidate list after the motion vector redundancy candidate deletion Is less than the specified number, the prediction is performed so that the number of motion vector predictor candidates is the specified number. A predicted motion vector candidate number of additional steps of adding a candidate of a predetermined prediction motion vector to the vector candidate list can, on the basis of the information indicating the predicted motion vector to be the selected decoded, from the predicted motion vector candidates of the specified number of A predicted motion vector selection step for selecting a predicted motion vector from the predicted motion vector candidate list restricted to be, and a motion vector used for motion compensated prediction by adding the selected predicted motion vector and the difference motion vector. And a motion vector calculating step for calculating the receiving method.
A reception program to be executed by a computer included in a reception device that decodes an encoded bit string obtained by encoding the moving image using motion compensation in units of blocks obtained by dividing each picture of the moving image, and packetized encoding A receiving step for receiving data via a network; a packet processing step for packetizing the received encoded data to generate an encoded stream; and a predetermined number of motion vector predictor candidates from the encoded stream. A decoding step for decoding information indicating a prediction motion vector to be selected from the prediction motion vector candidate list together with a difference motion vector, and any motion vector of a decoded block spatially or temporally close to the decoding target block To predict multiple motion vectors, and derive motion vector predictors. Prediction motion vector candidate generation step for generating a toll candidate list, a predicted motion vector vector value predicted from a spatially adjacent decoded block, and a predicted motion vector predicted from a temporally adjacent decoded block Compare whether the vector value is the same between predicted motion vector candidates predicted from spatially adjacent decoded blocks, without comparing whether the vector value is the same. A motion vector redundancy candidate deletion step for deleting motion vector motion vector candidates having the same value from the motion vector motion candidate list, leaving at least one motion vector candidate list deleted, and motion vector motion vector candidate lists after motion vector redundancy candidate deletion If the number of motion vector predictor candidates is less than the specified number, the number of motion vector predictor candidates is So that the number, on the basis of the information indicating the predicted motion vector candidate number of additional steps to add the candidate of the predicted motion vector candidate list in a predetermined prediction motion vector, the predicted motion vector to be the selected decoded, A prediction motion vector selection step of selecting a prediction motion vector from the prediction motion vector candidate list restricted to include a predetermined number of prediction motion vector candidates, and adding the selected prediction motion vector and the difference motion vector And a motion vector calculating step for calculating a motion vector used for motion compensation prediction.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒
体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効で
ある。
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 predicted motion vectors are calculated, an optimal predicted motion vector is selected from the plurality of predicted motion vectors, the generated code amount of the difference motion vector is reduced,
Encoding efficiency can be improved.

実施の形態に係る動きベクトルの予測方法を実行する動画像符号化装置の構成を示すブロック図である。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. 図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 the motion vector predictor of 1st embodiment. 予測動きベクトルの候補導出処理手順を示すフローチャートである。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 the motion vector predictor of 1st embodiment. 動きベクトルのスケーリング演算処理手順を示すフローチャートである。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 prediction motion vector derivation | leading-out procedure of the decoding side of 2nd embodiment. 第二の実施の形態の予測動きベクトルが空間予測動きベクトル候補であると判断した場合の予測動きベクトル選択パターンを説明する図である。It is a figure explaining the prediction motion vector selection pattern when it is judged that the prediction motion vector of 2nd Embodiment is a spatial prediction motion vector candidate. 予測動きベクトルの候補導出処理手順を示すフローチャートである。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 prediction block candidate derivation | leading-out process 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 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 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 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. Or
By using the encoding information of the surrounding blocks that have already been encoded, the amount of code is reduced by estimating the encoding information of the block to be 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.
A basic unit of address management for specifying a decoding target block (which is an encoding target block in the encoding process, and a decoding target block in the decoding process; hereinafter, used in this sense unless otherwise specified); To do. 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 divided into 4 tree blocks.
It is an encoded block that is obtained by further dividing the block obtained by dividing into four hierarchically twice.
It is a coding block of the minimum size.

(予測モードについて)
符号化ブロック単位で、符号化対象ブロックと同一ピクチャ内の符号化/復号済み周囲
の画像信号から予測を行うイントラ予測(MODE_INTRA)、及び符号化対象ブロックと異な
るピクチャの符号化/復号済み画像信号から予測を行うインター予測(MODE_INTER)を切
り替える。このイントラ予測(MODE_INTRA)とインター予測(MODE_INTER)を識別するモ
ードを予測モード(PredMode)と定義する。予測モード(PredMode)はイントラ予測(MO
DE_INTRA)、またはインター予測(MODE_INTER)を値として持ち、選択して符号化できる
(About prediction mode)
Intra-prediction (MODE_INTRA) in which prediction is performed from an encoded / decoded surrounding image signal in the same picture as the encoding target block, and an encoded / decoded image signal of a picture different from the encoding target block, in units of encoding block Switch the inter prediction (MODE_INTER) to perform prediction from. 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) is intra prediction (MO
DE_INTRA) or inter prediction (MODE_INTER) as a value, 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))の分割モード(Pa
rtMode)を2N×N分割(PART_2NxN)、符号化ブロックの輝度信号を垂直方向に分割し
、符号化ブロックを2つの予測ブロックとしたもの(図4(c))の分割モード(PartMo
de)をN×2N分割(PART_Nx2N)、符号化ブロックの輝度信号を水平と垂直の均等分割
により4つの予測ブロックとしたもの(図4(d))の分割モード(PartMode)をN×N
分割(PART_NxN)とそれぞれ定義する。なお、各分割モード(PartMode)毎に輝度信号の
縦横の分割比率と同様に色差信号も分割する。
(About split mode, prediction block, prediction unit)
Intra-prediction (MODE_INTRA) and inter-prediction (MODE)
When performing (_INTER), in order to reduce the unit for switching between the intra prediction method and the inter prediction method, prediction is performed by dividing the coded block as necessary. 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 luminance signal of the coding block is regarded as one prediction block without being divided (FIG. 4 (a))
The partition mode (PartMode) is divided into 2N × 2N partitions (PART_2Nx2N), the luminance signal of the coding block is horizontally divided into two prediction blocks (FIG. 4 (b)) (Panel mode (Pa)
rtMode) is divided into 2N × N (PART_2NxN), the luminance signal of the encoded block is divided in the vertical direction, and the encoded block is divided into two prediction blocks (FIG. 4C) (PartMo
de) is N × 2N division (PART_Nx2N), and the division mode (PartMode) of the luminance signal of the encoded block is made into four prediction blocks by horizontal and vertical equal division (FIG. 4D) is N × N.
Each is defined as a division (PART_NxN). Note that the color difference signal is also divided in the same manner as the vertical and horizontal division ratios of the luminance signal for each division mode (PartMode).

符号化ブロック内部において、各予測ブロックを特定する為に、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分割(P
ART_NxN)では、左上の予測ブロックの分割インデックスPartIdxを0とし、右上の予測ブ
ロックの分割インデックスPartIdxを1とし、左下の予測ブロックの分割インデックスPar
tIdxを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. FIG.
In the 2N × N division (PART_2NxN) shown in FIG. 2, 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. N shown in FIG.
In the × 2N division (PART_Nx2N), 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. N × N division (P
ART_NxN) sets the partition index PartIdx of the upper left prediction block to 0, the partition index PartIdx of the upper right prediction block to 1, and the partition index Par of the lower left prediction block
tIdx is set to 2, and the division index PartIdx of the lower right prediction block 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分割(PA
RT_2Nx2N)、2N×N分割(PART_2NxN)、及びN×2N分割(PART_Nx2N)に加えてN×
N分割(PART_NxN)を定義する。なお、最小の符号化ブロック以外にN×N分割(PART_N
xN)を定義しない理由は最小の符号化ブロック以外では、符号化ブロックを4分割して小
さな符号化ブロックを表現できるからである。
When the prediction mode (PredMode) is inter prediction (MODE_INTER), the partition mode (PartMode) is 2N × 2N partition (PART_2Nx2N) except for the coding block D which is the smallest coding block.
) 2N × N partition (PART_2NxN) and N × 2N partition (PART_Nx2N) are defined, and only the coding block D, which is the smallest coding block, has a partition mode (PartMode) of 2N × 2N partition (PA).
RT_2Nx2N), 2N x N split (PART_2NxN), and N x 2N split (PART_Nx2N) plus N x
N division (PART_NxN) is defined. In addition to the smallest encoded block, N × N division (PART_N
The reason for not defining xN) is that, except for the smallest encoded block, the encoded block can be divided into four to represent a small encoded 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 conversion block of the present embodiment is the origin (
0,0), and 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. 2:
Even in the case of 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. FIG.
FIG. 6, FIG. 7 and FIG. 8 show the encoding / decoding in the same picture as the prediction block to be encoded / decoded.
It is a figure explaining the prediction block group adjacent to the prediction block of decoding object. FIG. 9 shows an encoded / decoded picture that is temporally different from the prediction block to be encoded / decoded.
It is a figure explaining the prediction block group already encoded / decoded which exists in the position of the same position as the prediction block of encoding / decoding object, or its vicinity. 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 encoding / decoding in the same picture as the prediction block to be encoded / decoded is performed.
A first prediction block group composed of a prediction block A1 adjacent to the left side of the prediction block to be decoded and a prediction block A0 adjacent to the lower left vertex of the prediction block to be encoded / decoded is adjacent to the left side. Defined as a prediction block group.

なお、図6に示すように、符号化/復号対象の予測ブロックの左側に隣接する予測ブロ
ックのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、
左側に隣接する予測ブロックAがその符号化/復号対象の予測ブロックの左側の辺に隣接
していれば予測ブロックA1とし、符号化/復号対象の予測ブロックの左下の頂点に隣接
していれば予測ブロックA0とする。図6の例では、予測ブロックA0と予測ブロックA
1は同一の予測ブロックとなる。
In addition, 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,
If the prediction block A adjacent to the left side is adjacent to the left side of the prediction block to be encoded / decoded, the prediction block A1 is obtained. If the prediction block A is adjacent to the lower left vertex of the prediction block to be encoded / decoded, The prediction block is A0. In the example of FIG. 6, the prediction block A0 and the prediction block A
1 is the same prediction block.

なお、図7に示すように、符号化/復号対象の予測ブロックの左側の辺に隣接する予測
ブロックのサイズが符号化/復号対象の予測ブロックより小さく、複数存在する場合には
、本実施の形態においては左側に隣接する予測ブロックの中で最も下の予測ブロックA1
0だけを左側に隣接する予測ブロック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 form, the lowest prediction block A1 among the prediction blocks adjacent to the left side
Only 0 is the prediction block A1 adjacent to the left side.

左側に隣接する予測ブロックグループを定義したのとほぼ同様に、符号化/復号対象の
予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックの上側の辺に隣接
する予測ブロックB1、符号化/復号対象の予測ブロックの右上の頂点に隣接する予測ブ
ロックB0、および符号化/復号対象の予測ブロックの左上の頂点に隣接する予測ブロッ
クB2で構成される第2の予測ブロックグループを上側に隣接する予測ブロックグループ
と定義する。
In almost the same way as defining the prediction block group adjacent to the left side, the 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 is encoded. The second prediction block group composed of the prediction block B0 adjacent to the upper right vertex of the prediction block to be encoded / decoded and the prediction block B2 adjacent to the upper left vertex of the prediction block to be encoded / decoded are It is defined as an adjacent prediction block group.

なお、図8に示すように、符号化/復号対象の予測ブロックの上側に隣接する予測ブロ
ックのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、
上側に隣接する予測ブロックBがその符号化/復号対象の予測ブロックの上側の辺に隣接
していれば予測ブロックB1とし、符号化/復号対象の予測ブロックの右上の頂点に隣接
していれば予測ブロックB0とし、符号化/復号対象の予測ブロックの左上の頂点に隣接
していれば予測ブロックB2とする。図8の例では、予測ブロックB0と予測ブロックB
1と予測ブロックB2は同一の予測ブロックとなる。
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,
If the prediction block B adjacent to the upper side is adjacent to the upper side of the prediction block to be encoded / decoded, the prediction block B1 is used. If the prediction block B is adjacent to the upper right vertex of the prediction block to be encoded / decoded, The prediction block is B0, and 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 and the prediction block B
1 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 Is the rightmost prediction block B10 among the prediction blocks adjacent to the upper side.
Is the prediction block B1 adjacent to the upper side.

左側に隣接する予測ブロックグループとの相違は、符号化/復号対象の予測ブロックの
左上の頂点に隣接する予測ブロックB2を上側に隣接する予測ブロックグループに含めて
いることである。左上予測ブロックB2はどちらの予測ブロックグループに含めても構わ
ないが、ここでは上側に隣接する予測ブロックグループに含める。そのため、上側に隣接
する予測ブロックグループの方が左側に隣接する予測ブロックグループよりも構成する予
測ブロック数が多くなる。
The difference from the prediction block group adjacent to the left side is that the prediction block B2 adjacent to the upper left vertex of the prediction block to be encoded / decoded is included in the prediction block group adjacent to the upper side. The upper left prediction block B2 may be included in any prediction block group, but here is included in the prediction block group adjacent on the upper side. Therefore, the prediction block group adjacent on the upper side has a larger number of prediction blocks than the prediction block group adjacent on the left 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予測(P
red_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 B slice, any two reference pictures can be selected for each prediction block to perform inter prediction, and 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 designating the reference index of L0 or L1. L0 prediction (Pred
_L0) is inter prediction that refers to the reference picture managed in L0, and L1 prediction (P
red_L1) is inter prediction that refers to the reference picture managed in L1, and bi-prediction (
Pred_BI) 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, for constants and variables with subscript LX (X is 0 or 1) in the output, L0
, It is assumed that processing is performed for each 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 a picture with a smaller POC value is a picture that is output / displayed earlier in time,
The difference in POC between two pictures indicates the inter-picture distance in the time axis direction.

(実施の形態1)
本発明の実施の形態1について図面と共に説明する。図1は本発明の実施の形態に係る
動画像符号化装置の構成を示すブロック図である。実施の形態の動画像符号化装置は、画
像メモリ101、動きベクトル検出部102、差分動きベクトル算出部103、インター
予測情報推定部104、動き補償予測部105、予測方法決定部106、残差信号生成部
107、直交変換・量子化部108、第1の符号化ビット列生成部109、第2の符号化
ビット列生成部110、多重化部111、逆量子化・逆直交変換部112、復号画像信号
重畳部113、符号化情報格納メモリ114、および復号画像メモリ115を備える。
(Embodiment 1)
Embodiment 1 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 image signals of pictures to be encoded supplied in order of 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 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 detecting 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 in units of prediction blocks. 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. A list is generated, an optimum predicted motion vector is selected from a plurality of predicted motion vector candidates registered in the generated predicted motion vector list, and the motion vector detected by the motion vector detection unit 102 and the predicted motion vector are selected. A difference motion vector is calculated, 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 generated 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, and a merge candidate list is generated and generated. The optimal merge candidate is selected from a plurality of merge candidates registered in the merge candidate list thus selected, and inter prediction information such as the prediction mode, reference index, and motion vector of the selected merge candidate is sent to the motion compensated prediction unit 105. At the same time, a merge index that identifies the selected merge candidate is supplied to the prediction method determination unit 106.

動き補償予測部105は、動きベクトル検出部102およびインター予測情報推定部1
04により検出された動きベクトルを用いて参照ピクチャから動き補償予測により予測画
像信号を生成し、予測画像信号を予測方法決定部106に供給する。なお、L0予測、及
びL1予測では、片方向の予測を行う。双予測(Pred_BI)の場合は、双方向の予測を行
い、L0予測、L1予測のそれぞれのインター予測された信号に適応的に重み係数を掛け
算し、オフセット値を加算して重畳し、最終的な予測画像信号を生成する。
The motion compensation prediction unit 105 includes a motion vector detection unit 102 and an inter prediction information estimation unit 1.
A predicted image signal is generated from the reference picture by motion compensation prediction using the motion vector detected in 04, and the predicted image signal is supplied to the 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は複数の予測方法の差分動きベクトルの符号量、予測画像信号と
画像信号との間の歪量等を評価することにより、符号化ブロック単位でインター予測(PR
ED_INTER)かイントラ予測(PRED_INTRA)かを判別する予測モードPredMode、分割モード
PartModeを決定し、インター予測(PRED_INTER)では予測ブロック単位でマージモードか
否か等の予測方法を決定し、マージモードの場合はマージインデックス、マージモードで
ない場合はインター予測フラグ、予測動きベクトルインデックス、L0、L1の参照イン
デックス、差分動きベクトル等を決定して、決定に応じた符号化情報を第1の符号化ビッ
ト列生成部109に供給する。
The prediction method determining unit 106 evaluates inter-prediction (PR) for each coding block by evaluating the coding amount of the difference motion vector of the plurality of prediction methods, the distortion amount between the prediction image signal and the image signal, and the like.
ED_INTER) or intra prediction (PRED_INTRA) prediction mode PredMode, split mode
PartMode is determined, and in inter prediction (PRED_INTER), a prediction method such as whether or not the merge mode is used is determined for each prediction block. In the merge mode, the merge index is used. In the non-merge mode, the inter prediction flag, the prediction motion vector index, The reference indexes of L0 and L1, the differential motion vector, and the like are determined, and encoded information corresponding to the determination is supplied to the 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_INTRA)の場合、L0予測を利用する
かどうかを示すフラグpredFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1
は共に0である。一方、予測モードPredModeがインター予測(MODE_INTER)で、インター
予測モードがL0予測(Pred_L0)の場合、L0予測を利用するかどうかを示すフラグpre
dFlagL0は1, L1予測を利用するかどうかを示すフラグpredFlagL1は0である。インタ
ー予測モードがL1予測(Pred_L1)の場合、L0予測を利用するかどうかを示すフラグp
redFlagL0は0, L1予測を利用するかどうかを示すフラグpredFlagL1は1である。イン
ター予測モードが双予測(Pred_BI)の場合、L0予測を利用するかどうかを示すフラグp
redFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1は共に1である。予測
方法決定部106は、決定された予測モードに応じた予測画像信号を残差信号生成部10
7と復号画像信号重畳部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 intra prediction (MODE_INTRA), a flag predFlagL0 indicating whether to use the L0 prediction, a 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 pre indicating whether to use L0 prediction
dFlagL0 is 1, and flag predFlagL1 indicating whether to use L1 prediction is 0. When the inter prediction mode is L1 prediction (Pred_L1), a flag p indicating whether or not to use L0 prediction
RedFlagL0 is 0, and flag predFlagL1 indicating whether to use L1 prediction is 1. Flag p indicating whether to use L0 prediction when the inter prediction mode is bi-prediction (Pred_BI)
The flags predFlagL1 indicating whether to use redFlagL0 and L1 prediction are both 1. The prediction method determination unit 106 outputs a prediction image signal corresponding to the determined prediction mode to the residual signal generation unit 10.
7 and the decoded image signal superimposing 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 case of prediction mode PredMode, partition mode PartMode, and inter prediction (PRED_INTER) for each coding block,
Flag for determining whether or not the mode is merge mode, merge index in the case of merge mode, encoding information such as inter prediction mode, prediction motion vector index, and information on difference motion vector in the case of not merge mode, according to a prescribed syntax rule described later Entropy encoding is performed to generate a first encoded bit string, which is supplied to the multiplexing unit 111.

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

復号画像信号重畳部113は、予測方法決定部106による決定に応じた予測画像信号
と逆量子化・逆直交変換部112で逆量子化及び逆直交変換された残差信号を重畳して復
号画像を生成し、復号画像メモリ115に格納する。なお、復号画像に対して符号化によ
るブロック歪等の歪を減少させるフィルタリング処理を施して、復号画像メモリ115に
格納されることもある。
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、および復号画像メモリ21
0を備える。
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,
Inter prediction information estimation unit 205, motion compensation prediction unit 206, inverse quantization / inverse orthogonal transform unit 207
, Decoded image signal superimposing unit 208, encoded information storage memory 209, and decoded image memory 21
0 is provided.

図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 motion compensated prediction unit 105 of the moving image encoding device in FIG.
Each of the configurations of the inverse orthogonal transform unit 112, the decoded image signal superimposing unit 113, the encoded information storage memory 114, and the decoded image memory 115 has a corresponding function.

分離部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 decodes the supplied encoded bit string to perform orthogonal transform /
The quantized residual signal is calculated, and the orthogonal transform / quantized residual signal is supplied to the inverse quantization / inverse 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_INTRA)の場合、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. To generate a motion vector predictor list, which will be described later, and is decoded and supplied by the first encoded bit string decoding unit 202 from among a plurality of motion vector predictor candidates registered in the generated motion vector predictor list. A prediction motion vector corresponding to the prediction motion vector 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 motion compensation is performed together with other encoded information. The data is supplied to the prediction unit 206 and 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 intra prediction (MODE_INTRA), a flag predFlagL0 indicating whether to use L0 prediction and a 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 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 to generate a merge candidate list, which is registered in the generated 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 plurality of merge candidates, and the prediction mode PredMode, the division mode PartMode, and the L0 prediction of the selected merge candidate are selected. And inter prediction information such as a flag indicating whether or not to use L1 prediction, L0 and L1 reference indexes, and L0 and L1 motion vectors 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. Thus, 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 flag indicating whether a picture colPic at a different time used for calculating a temporal motion vector predictor candidate or a merge candidate is defined in the L0 reference list or the L1 reference list collocated
_from_l0_flag 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 the merge list index syntax element merge_idx [x0] [y0, which is a list of merge candidates to be referred to
] Is installed. 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の予測動きベクトルインデックスである。
On the other hand, when merge_flag [x0] [y0] is 0, it indicates that it is not the merge mode. When the slice type is B, the syntax element that identifies the inter prediction mode inter_pred_flag [x0] [y0
], And L0 prediction (Pred_L0), L1 prediction (Pred_L1), and bi-prediction (Pred_BI) are identified by this syntax element. In accordance with the inter prediction mode, for each of L0 and L1, the reference index syntax elements ref_idx_l0 [x0] [y0], ref_ for specifying the reference picture
idx_l1 [x0] [y0], the difference motion vector syntax element mvd_l0 [x0] [y0] [j], mvd, which is the difference between the motion vector of the predicted block obtained by motion vector detection and the predicted motion vector
_l1 [x0] [y0] [j] is installed. 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 (x0
, y0) is the reference index of L1 of the prediction block located in the prediction block and the 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.

実施の形態に係る動きベクトルの予測方法は、図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.

図12は、図1の動画像符号化装置の差分動きベクトル算出部103の詳細な構成を示
す図である。図12の太枠線で囲まれる部分は差分動きベクトル算出部103を示してい
る。
FIG. 12 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. 12 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、予測動きベクトル選択部1
26、および動きベクトル減算部127を含む。
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, predicted motion vector selection unit 1
26, and a motion vector subtraction unit 127.

この差分動きベクトル算出部103での差分動きベクトル算出処理は、符号化対象ブロ
ックで選択されたインター予測方法で用いる動きベクトルの差分動きベクトルをL0、L
1毎にそれぞれ算出する。具体的には符号化対象ブロックの予測モードPredModeがインタ
ー予測(MODE_INTER)で、符号化対象ブロックのインター予測モードがL0予測(Pred_L
0)の場合、L0の予測動きベクトルリストmvpListL0を算出して、予測動きベクトルmvpL
0を選択し、L0の動きベクトルの差分動きベクトルmvdL0を算出する。符号化対象ブロッ
クのインター予測モード(Pred_L1)がL1予測の場合、L1の予測動きベクトルリストm
vpListL1を算出して、予測動きベクトルmvpL1を選択し、L1の動きベクトルの差分動き
ベクトルmvdL1を算出する。符号化対象ブロックのインター予測モードが双予測(Pred_BI
)の場合、L0予測とL1予測が共に行われ、L0の予測動きベクトルリストmvpListL0
を算出して、L0の予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0の差分動
きベクトルmvdL0を算出するとともに、L1の予測動きベクトルリストmvpListL1を算出し
て、L1の予測動きベクトルmvpL1を算出し、L1の動きベクトルmvL1の差分動きベクト
ルmvdL1をそれぞれ算出する。
The difference motion vector calculation process in the difference motion vector calculation unit 103 is performed by using the difference motion vector of the motion vector used in the inter prediction method selected in the encoding target block as L0, L
Each one is calculated. Specifically, 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_L
0), a predicted motion vector list mvpListL0 of L0 is calculated, and the predicted motion vector mvpL
0 is selected, and a differential motion vector mvdL0 of the motion vector of L0 is calculated. When the inter prediction mode (Pred_L1) of the encoding target block is L1 prediction, the motion vector list m of L1
vpListL1 is calculated, a predicted motion vector mvpL1 is selected, and a differential motion vector mvdL1 of the L1 motion vector is calculated. The inter prediction mode of the current block is bi-prediction (Pred_BI
), Both L0 prediction and L1 prediction are performed, and the L0 prediction motion vector list mvpListL0
, L0 predicted motion vector mvpL0 is selected, L0 motion vector mvL0 differential motion vector mvdL0 is calculated, L1 predicted motion vector list mvpListL1 is calculated, and L1 predicted motion vector mvpL1 is calculated Then, the differential motion vector mvdL1 of the L1 motion vector mvL1 is calculated.

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. In addition, during the process of calculating the LX differential motion vector,
When referring to the information of the other list instead of LX, the other list is represented as LY.

予測動きベクトル候補生成部121は、L0、L1毎に、左側に隣接する予測ブロック
グループ(符号化対象の予測ブロックと同一ピクチャ内でその予測ブロックの左側に隣接
する予測ブロックグループ:図5のA0,A1)、上側に隣接する予測ブロックグループ
(符号化対象の予測ブロックと同一ピクチャ内でその予測ブロックの上側に隣接する予測
ブロックグループ:図5のB0,B1,B2)、異なる時間の予測ブロックグループ(符
号化対象の予測ブロックと時間的に異なるピクチャでその予測ブロックと同一位置あるい
はその近傍の位置に存在する既に符号化済みの予測ブロックグループ:図9のT0,T1
)の3つの予測ブロックグループから、予測ブロックグループごとに1つの動きベクトル
mvLXCol、mvLXA、mvLXBをそれぞれ導出して予測動きベクトル候補とし、予測動きベクト
ル候補登録部122に供給する。以下、mvLXColを時間予測動きベクトル候補、mvLXA及び
mvLXBを空間予測動きベクトル候補と呼ぶ。この予測動きベクトル候補の算出に際しては
、符号化対象の予測ブロックの参照インデックス及びPOCと、符号化情報格納メモリ1
14に格納されている符号化済みの予測ブロックの予測モード、参照リスト毎の参照イン
デックス、参照ピクチャのPOC、動きベクトル等の符号化情報を用いる。
For each of L0 and L1, the motion vector predictor candidate generating unit 121 has a prediction block group adjacent to the left 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 upper 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 Group (predicted block group that has already been encoded in a picture temporally different from the prediction block to be encoded and exists at the same position as that prediction block or in the vicinity thereof: T0 and T1 in FIG.
) One motion vector for each prediction block group
mvLXCol, mvLXA, and mvLXB are derived respectively as predicted motion vector candidates and supplied to the predicted motion vector candidate registration unit 122. Hereinafter, mvLXCol is a temporal prediction motion vector candidate, mvLXA and
mvLXB is called a spatial motion vector predictor candidate. In calculating the motion vector predictor candidate, the reference index and POC of the prediction block to be encoded, and the encoding information storage memory 1
14, encoding information such as a prediction mode of an encoded prediction block stored in 14, a reference index for each reference list, a POC of a reference picture, and a motion vector are used.

これらの予測動きベクトルの候補mvLXCol、mvLXA、mvLXBは符号化対象ピクチャのPO
Cと参照ピクチャのPOCとの関係に応じてスケーリングすることにより導出されること
もある。
These prediction motion vector candidates mvLXCol, mvLXA, and mvLXB are POs of the encoding target picture.
It may be derived by scaling according to the relationship between C and the POC of the reference picture.

予測動きベクトル候補生成部121は、予測ブロックグループ毎に、所定の順序で、そ
れぞれの予測ブロックグループ内の予測ブロックに対して、後述の条件判定を行い、最初
に条件に合致した予測ブロックの動きベクトルを選択し、予測動きベクトルの候補mvLXCo
l、mvLXA、mvLXBとする。
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, and the motion of the prediction block that first meets the conditions Select vector and predict motion vector candidate mvLXCo
l, mvLXA, mvLXB.

左側に隣接する予測ブロックグループから予測動きベクトルを算出する際には、左側に
隣接する予測ブロックグループの下から上の順序(図5のA0からA0,A1の順序)で
、上側に隣接する予測ブロックグループから予測動きベクトルを算出する際には、上側に
隣接する予測ブロックグループの右から左の順序(図5のB0からB0,B1,B2の順
序)で、異なる時間の予測ブロックグループから予測動きベクトルを算出する際には、図
9のT0からT0,T1の順序で、各予測ブロックに対して、後述の条件判定を行い、最
初に条件に合致した予測ブロックの動きベクトルを選択し、予測動きベクトルの候補をそ
れぞれmvLXCol、mvLXA、mvLXBとする。
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 mvLXCol, mvLXA, and mvLXB, 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、2、3、4の優先順
序でそれぞれの条件判定が適用される。一方、上側の隣接予測ブロックグループに対して
は、下記の条件判定1、2の優先順序でそれぞれの条件判定が適用される。
(Explanation of loop for condition judgment of spatial prediction block)
For the adjacent prediction block group on the left, the respective condition determinations are applied in the order of priority of the following condition determinations 1, 2, 3, and 4. On the other hand, the respective condition determinations are applied to the upper adjacent prediction block group in the priority order of the following condition determinations 1 and 2.

<条件判定>
条件判定1:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動
きベクトルと同じ参照リストLXで、同じ参照インデックス、すなわち同じ参照ピクチャ
を用いた予測が隣接予測ブロックでも行われている。
条件判定2:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動
きベクトルとは異なる参照リストLYであるが、同じ参照ピクチャを用いた予測が隣接予
測ブロックで行われている。
条件判定3:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動
きベクトルと同じ参照リストLXで、異なる参照ピクチャを用いた予測が隣接予測ブロッ
クで行われている。
条件判定4:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動
きベクトルとは異なる参照リストLYで、異なる参照ピクチャを用いた予測が隣接予測ブ
ロックで行われている。
<Condition judgment>
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.

これらの条件のいずれかに一致した場合、当該予測ブロックには条件に合致する動きベ
クトルを予測ベクトル候補として採用し、後に続く条件判定は行わない。なお、条件判定
1または条件判定2の条件に合致した場合、該当する隣接予測ブロックの動きベクトルは
符号化対象予測ブロックの参照ピクチャと同一であるので、そのまま予測動きベクトルの
候補とするが、条件判定3または条件判定4の条件に合致した場合、該当する隣接予測ブ
ロックの動きベクトルは符号化対象予測ブロックの参照ピクチャと異なるので、その動き
ベクトルを基にスケーリングにより算出して予測動きベクトルの候補とする。
If any of these conditions is met, a motion vector that matches the condition is adopted as a prediction vector candidate for the prediction block, and the subsequent condition determination is not performed. Note that, when the condition of condition determination 1 or condition determination 2 is met, the motion vector of the corresponding adjacent prediction block is the same as the reference picture of the encoding target prediction block, so that it is used as a prediction motion vector candidate as it is. When the condition of the determination 3 or the condition determination 4 is met, the motion vector of the corresponding adjacent prediction block is different from the reference picture of the encoding target prediction block, so that the prediction motion vector candidate is calculated by scaling based on the motion vector. And

上記の4つの条件判定を以下の順に予測ブロックグループ内の予測ブロックをスキャン
して予測ベクトルを決定する。
In the above four condition determinations, the prediction vector is determined by scanning the prediction block in the prediction block group in the following order.

<予測ベクトルのスキャン手順>
同じ参照ピクチャを用いたスケーリング演算が不要な予測動きベクトルの判定を優先し
、4つの条件判定のうち予測ブロック毎に2つの条件判定を行い、条件を満たさなければ
、次の予測ブロックの条件判定に移る。最初に条件判定1と条件判定2の条件判定を隣接
予測ブロックグループ内の各予測ブロックに対して行い、次に条件判定3と条件判定4の
条件判定を隣接予測ブロックグループ内の各予測ブロックに対して行う。
<Prediction vector scan procedure>
Priority is given to prediction motion vector determination that does not require scaling operations 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 for the next prediction block is performed. Move on. First, the condition determination of condition determination 1 and condition determination 2 is performed on each prediction block in the adjacent prediction block group, and then the condition determination of condition determination 3 and condition determination 4 is performed on each prediction block in the adjacent prediction block group. Against.

具体的には以下の優先順序で条件判定を行う。(ただし、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.予測ブロックN2の条件判定4(異なる参照リストLY、異なる参照ピクチャ)
11.予測ブロックN1の条件判定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). Prediction block N2 condition determination 1 (same reference list LX, same reference picture)
6). Condition determination 2 of the prediction block N2 (different reference list LY, same reference picture)
7). 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 N2 condition determination 4 (different reference list LY, different reference picture)
11. Condition determination 3 of the prediction block N1 (same reference list LX, different reference pictures)
12 Prediction block N2 condition determination 4 (different reference list LY, different reference picture)

上記のようにスキャンすることで、同じ参照ピクチャを用いたスケーリング演算が不要
な予測精度の高い予測動きベクトルが選択されやすいので、差分動きベクトルの符号量が
小さくなり符号化効率が向上する効果がある。
By scanning as described above, a prediction motion vector with high prediction accuracy that does not require a scaling operation using the same reference picture is easily selected, so that the coding amount of the difference motion vector is reduced and the encoding efficiency is improved. is there.

ここで、左側の隣接予測ブロックグループでは、2つの予測ブロックでグループが構成
されているため、上記スキャンの5.6.及び11.12.の手順は行わない。
Here, in the adjacent prediction block group on the left side, since the group is configured by two prediction blocks, 5.6. And 11.12. This procedure is not performed.

また、上側の隣接予測ブロックグループでは、3つの予測ブロックでグループが構成さ
れているため、上記スキャンの1〜12を行うことが可能であるが、本発明では、上記ス
キャンの1〜6の手順のみ行い、7〜12の手順を行なわない(条件判定3および4を行
わない)。すなわち、上側の隣接予測ブロックグループでは、スケーリング演算が必要な
条件でのスキャンを省略する。
Further, in the upper adjacent prediction block group, since the group is composed of three prediction blocks, the scans 1 to 12 can be performed. In the present invention, the steps 1 to 6 of the scan are performed. Only steps 7-12 are not performed (condition determinations 3 and 4 are not performed). That is, in the upper adjacent prediction block group, scanning under conditions that require a scaling operation is omitted.

これにより、上側の隣接予測ブロックグループの除算が必要となるスケーリング演算を
省略することができ、左側の隣接予測ブロックグループの予測ベクトル候補のみにスケー
リング演算を限定できる。左側の隣接予測ブロックグループと上側の隣接予測ブロックグ
ループとの並列処理を行う場合、空間予測ベクトル候補としてスケーリング演算回路を1
つのみ持てば良くなることで回路規模を削減することができる。さらに、左側の隣接予測
ブロックグループと上側の隣接予測ブロックグループとの並列処理を行う場合、隣接予測
ブロックグループ内の構成予測ブロック数の違いに起因する処理量の差を小さくすること
が可能である。つまり、予測ブロックの数の多い上側の隣接予測ブロックグループのスケ
ーリング演算の処理を省略することで、ボトルネックとなる最大演算量を小さくできる。
その結果、左側の隣接予測ブロックグループの演算量と上側の隣接予測ブロックグループ
の演算量の差が小さくとなり、効率的に並列処理を行える。
Thereby, the scaling operation that requires division of the upper adjacent prediction block group can be omitted, and the scaling operation can be limited only to the prediction vector candidates of the left adjacent prediction block group. When parallel processing is performed on the left adjacent prediction block group and the upper adjacent prediction block group, the scaling operation circuit is set to 1 as a spatial prediction vector candidate.
The circuit scale can be reduced by having only one. Furthermore, when performing parallel processing of the left adjacent prediction block group and the upper adjacent prediction block group, it is possible to reduce the difference in processing amount due to the difference in the number of constituent prediction blocks in the adjacent prediction block group. . That is, by omitting the scaling calculation process for the upper adjacent prediction block group having a large number of prediction blocks, the maximum calculation amount that becomes a bottleneck can be reduced.
As a result, the difference between the calculation amount of the left adjacent prediction block group and the calculation amount of the upper adjacent prediction block group becomes small, and parallel processing can be performed efficiently.

上記処理のフローについては、図17〜図21のフローチャートを用いて詳しく後述す
る。
The flow of the above process will be described in detail later using the flowcharts of FIGS.

隣接ブロックからの動き情報取得について説明する。本実施の形態では、動き情報を格
納するラインバッファおよびブロックバッファを設置する。左側に隣接する予測ブロック
から動き情報を取得する場合ブロックバッファから動き情報を取得し、上側に隣接する予
測ブロックについては、上側に隣接する予測ブロックがツリーブロック内である場合には
左側に隣接する予測ブロックと同様にブロックバッファから動き情報を取得し、上側に隣
接する予測ブロックがツリーブロック外である場合には、ラインバッファから動き情報を
取得する。
Acquisition of motion information from adjacent blocks will be described. In this embodiment, a line buffer and a block buffer for storing motion information are installed. When acquiring motion information from the prediction block adjacent to the left side, the motion information is acquired from the block buffer, and for the prediction block adjacent to the upper side, if the prediction block adjacent to the upper side is in the tree block, it is adjacent to the left side. Similar to the prediction block, the motion information is acquired from the block buffer. When the prediction block adjacent to the upper side is outside the tree block, the motion information is acquired from the line buffer.

ここで、動き情報のラインバッファのサイズを削減して内部メモリ使用量を減らすため
に、動き情報を格納するラインバッファのサイズを水平方向に1/2に圧縮する。具体的
には、ブロックバッファは隣接する未符号化ブロックの動きベクトル予測のために、動き
情報を動き補償予測の最小単位(例えば4x4ブロック)で保存して隣接ブロックからの
アクセスに備えるが、ラインバッファは動き補償予測の最小単位よりも水平方向に2倍大
きい単位(例えば4x8ブロック)に動き情報を間引いてラインバッファに格納する。こ
れにより、垂直方向に隣接するブロックがツリーブロック外である場合には、実際の当該
ブロックの動き情報と異なる動き情報を取得する可能性がある。つまり、動き情報のライ
ンバッファのサイズを水平方向に1/2に圧縮することより、結果として、上側に隣接す
る予測ブロックグループから導出される予測動きベクトルは左側に隣接する予測ブロック
グループから導出される予測動きベクトルと比較して予測動きベクトルとしての信頼性が
低下する。上側に隣接する予測ブロックグループにおいてスケーリング演算が必要な条件
でのスキャンを省略している理由の1つは、ラインバッファのサイズの削減により、上側
に隣接する予測ブロックグループからの予測動きベクトルのスケーリング演算を省略して
も符号化効率に与える影響が小さいためである。
Here, in order to reduce the size of the line buffer for motion information and reduce the amount of internal memory used, the size of the line buffer for storing motion information is compressed by half in the horizontal direction. Specifically, the block buffer stores motion information in a minimum unit of motion compensated prediction (for example, 4 × 4 blocks) for motion vector prediction of adjacent uncoded blocks, and prepares for access from adjacent blocks. The buffer thins out the motion information in a unit (for example, 4 × 8 blocks) that is twice as large in the horizontal direction as the minimum unit of motion compensation prediction and stores it in the line buffer. Thereby, when a block adjacent in the vertical direction is outside the tree block, there is a possibility of acquiring motion information different from the actual motion information of the block. In other words, by compressing the size of the line buffer of motion information by 1/2 in the horizontal direction, as a result, the motion vector predictor derived from the prediction block group adjacent to the upper side is derived from the prediction block group adjacent to the left side. Compared with the predicted motion vector, the reliability as the predicted motion vector is lowered. One of the reasons for skipping scanning under conditions that require scaling operations in the upper adjacent prediction block group is to scale the motion vector predictor from the upper adjacent prediction block group by reducing the size of the line buffer. This is because even if the operation is omitted, the influence on the coding efficiency is small.

ここで、ランバッファの圧縮率を1/2として説明したが、当然圧縮率が大きくなれば
なるほど、上側に隣接する予測ブロックグループから導出される予測動きベクトルの信頼
性が低下するため、上側に隣接する予測ブロックグループにおいてスケーリング演算が必
要な条件でのスキャンを省略する効果が高まる。
Here, the description has been given assuming that the compression rate of the run buffer is ½, but naturally, the higher the compression rate, the lower the reliability of the predicted motion vector derived from the prediction block group adjacent on the upper side. The effect of omitting scanning under conditions that require scaling operations in adjacent prediction block groups is enhanced.

異なる時間の予測ブロックグループからの予測ベクトル候補mvLXColの算出については
、図24〜図30のフローチャートを用いて詳しく後述する。
The calculation of the prediction vector candidate mvLXCol from the prediction block groups at different times will be described later in detail using the flowcharts of FIGS.

図12の説明に戻る。次に、予測動きベクトル候補登録部122は算出された予測動き
ベクトルの候補mvLXCol、mvLXA、mvLXBを予測動きベクトルリストmvpListLXに格納する。
Returning to the description of FIG. Next, the predicted motion vector candidate registration unit 122 stores the calculated predicted motion vector candidates mvLXCol, mvLXA, and mvLXB in the predicted motion vector list mvpListLX.

次に、予測動きベクトル冗長候補削除部123は、LXの予測動きベクトルリストmvpL
istLXに格納されたそれぞれの予測動きベクトルの候補の動きベクトルの値を比較し、予
測動きベクトルの候補の中から同一の動きベクトルの値をもつものを判定し、同一の動き
ベクトル値をもつと判定された予測動きベクトルの候補について最初の一つを残してそれ
以外を予測動きベクトルリストmvpListLXから削除して、予測動きベクトルの候補が重複
しないようにし、予測動きベクトルリストmvpListLXを更新する。
Next, the motion vector redundancy candidate deletion unit 123 performs the motion vector vector list mvpL of LX.
Compare the motion vector values of each motion vector predictor stored in istLX, determine the motion vector candidates that have the same motion vector value, and have the same motion vector value For the determined motion vector predictor candidates, the first motion vector candidate is left and the rest are deleted from the motion vector predictor list mvpListLX so that the motion vector predictor candidates do not overlap, and the motion vector predictor list mvpListLX is updated.

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

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

本実施の形態においては、最終候補数finalNumMVPCandを2と規定している。予測ベク
トルの候補数を固定する理由は、予測動きベクトルリストに登録される予測動きベクトル
の候補数が予測動きベクトルリストの構築状態に応じて変動すると、復号側では予測動き
ベクトルリストを構築してからでないと、予測動きベクトルインデックスをエントロピー
復号することができないため、予測動きベクトルリストの構築とエントロピー復号に依存
関係が発生し、エントロピー復号に待機時間が発生してしまう可能性があるためである。
さらに、エントロピー復号が異なる時間のピクチャの予測ブロックから導出された予測動
きベクトル候補mvLXColを含む予測動きベクトルリストの構築状態に依存すると、別のピ
クチャの符号化ビット列の復号時にエラーが発生した際に現在のピクチャの符号化ビット
列もそのエラーの影響を受けて正常にエントロピー復号を続けることができない問題があ
る。最終候補数finalNumMVPCandを固定した数に規定すると、予測動きベクトルリストの
構築と独立して、予測動きベクトルインデックスをエントロピー復号することができると
ともに、別のピクチャの符号化ビット列の復号時にエラーが発生してもその影響を受けず
に現在のピクチャの符号化ビット列のエントロピー復号を続けることができる。
In the present embodiment, the final candidate number finalNumMVPCand is defined as 2. The reason for fixing the number of prediction vector candidates is that when the number of prediction motion vector candidates registered in the prediction motion vector list fluctuates according to the construction state of the prediction motion vector list, the decoding side constructs the prediction motion vector list. Otherwise, entropy decoding of the motion vector predictor index cannot be performed, so that a dependency relationship occurs between the construction of the motion vector list and the entropy decoding, which may cause a waiting time for the entropy decoding. .
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 the error, 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の予測動きベクトル候補数numMVPCand
LXが規定された最終候補数finalNumMVPCandより小さい場合、予測動きベクトル候補数num
MVPCandLXが最終候補数finalNumMVPCandと同じ値になるまで、(0,0)の値を持つ動き
ベクトルを予測動きベクトルリストmvpListLXに追加することで予測動きベクトルの候補
数を規定値に制限する。この場合、重複して(0,0)の値を持つ動きベクトルが追加さ
れることがあるが、復号側では予測動きベクトルインデックスが0から(規定の候補数−
1)の範囲内でどのような値をとっても、予測動きベクトルを確定することができる。一
方、LXの予測動きベクトル候補数numMVPCandLXが規定された最終候補数finalNumMVPCan
dより大きい場合、予測動きベクトルリストmvpListLXからfinalNumMVPCand-1より大きい
インデックスに登録されている要素をすべて削除し、LXの予測動きベクトル候補数numM
VPCandLXを最終候補数finalNumMVPCandと同じ値にすることで予測動きベクトルの候補数
を規定値に制限する。更新された予測動きベクトルリストmvpListLXは予測動きベクトル
候補符号量算出部125と予測動きベクトル選択部126に供給される。
In the motion vector predictor candidate limit unit 124, the number of motion vector motion vector candidates numMVPCand
If LX is less than the specified final candidate number finalNumMVPCand, the number of motion vector predictor candidates num
Until the MVPCandLX becomes the same value as the final candidate number finalNumMVPCand, a motion vector having a value of (0, 0) is added to the predicted 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, the predicted motion vector index is changed from 0 (specified number of candidates−
The predicted motion vector can be determined by taking any value within the range of 1). On the other hand, the final candidate number finalNumMVPCan in which the number of predicted motion vectors for LX numMVPCandLX is specified
If it is greater than d, all elements registered at an index greater than finalNumMVPCand-1 are deleted from the motion vector list mvpListLX, and the number of motion vector candidates numM of LX
By setting VPCandLX 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, the motion vector detection unit 102 in FIG. 1 performs LX (X = 0 or 1) for each prediction block.
Motion vector mvLX is detected. These motion vectors mvLX are supplied to the predicted motion vector candidate code amount calculation unit 125 together with the predicted motion vector candidates in the updated predicted motion vector list mvpListLX.

予測動きベクトル候補符号量算出部125は、LX(X=0または1)の予測動きベク
トルリストmvpListLXの中に格納されたそれぞれの予測動きベクトルの候補mvpListLX[i]
ごとに動きベクトルmvLXとの差分動きベクトルを算出し、それら差分動きベクトルを符号
化したときの符号量をそれぞれ算出し、予測動きベクトル選択部126に供給する。
The motion vector predictor candidate code amount calculation unit 125 predicts each motion vector predictor candidate mvpListLX [i] stored in the motion vector list mvpListLX of LX (X = 0 or 1).
For each, a difference motion vector with the motion vector mvLX is calculated, and the amount of code when the difference motion vector is encoded is calculated and supplied to the predicted motion vector selection unit 126.

予測動きベクトル選択部126は、LXの予測動きベクトルリストmvpListLXに登録さ
れた各要素の中で、予測動きベクトルの候補毎の符号量が最小となる予測動きベクトルの
候補mvpListLX[i]をLXの予測動きベクトルmvpLXとして選択する。予測動きベクトルリ
ストmvpListLXの中で最小の発生符号量となる予測動きベクトルの候補が複数存在する場
合には、予測動きベクトルリストmvpListLXの中のインデックスiが小さい番号で表される
予測動きベクトルの候補mvpListLX[i]をLXの最適な予測動きベクトルmvpLXとして選択
する。選択された予測動きベクトルmvpLXを動きベクトル減算部127に供給する。さら
に、その選択された予測動きベクトルmvpLXに対応する予測動きベクトルリスト中のイン
デックスiをLXの予測動きベクトルインデックスmvpIdxLXとして出力する。
The motion vector predictor selection unit 126 selects a motion vector candidate mvpListLX [i] that has the smallest code amount for each motion vector predictor candidate from among the elements registered in the motion vector list mvpListLX of LX. Select as the predicted motion vector mvpLX. 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 is supplied to the motion vector subtraction unit 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は、LXの動きベクトルmvLXから選択されたLXの予
測動きベクトルmvpLXを減算することによりLXの差分動きベクトルmvdLXを算出し、差分
動きベクトルmvdLXを出力する。
mvdLX = mvLX - mvpLX
Finally, the motion vector subtraction unit 127 calculates the LX differential motion vector mvdLX by subtracting the selected LX predicted motion vector mvpLX from the LX motion vector mvLX, and outputs the differential 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の動きベクトル減算部127から供給
された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 127 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. I,
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にて処理が行われる。図13は、実施の形態の動画像符号化装
置に対応する図2の動画像復号装置の動きベクトル算出部204の詳細な構成を示す図で
ある。図13の太枠線で囲まれる部分は動きベクトル算出部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. 13 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. 13 indicates the motion vector calculation unit 204. Furthermore,
The part surrounded by the thick dotted line in the figure shows the operation part of the motion vector prediction method to be described later, and is also installed in the corresponding video encoding device in the same way, and the same determination result that is consistent between encoding and decoding So that you can get Hereinafter, a motion vector prediction method in decoding will be described with reference to FIG.

動きベクトル算出部204は、予測動きベクトル候補生成部221、予測動きベクトル
候補登録部222、予測動きベクトル冗長候補削除部223、予測動きベクトル候補数制
限部224、予測動きベクトル選択部225及び動きベクトル加算部226を含む。
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, and a motion vector. An adder 226 is 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,
A predicted 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, and a prediction motion vector list mvpListL0 of L0 is calculated.
Motion vector mvpL0 of L0, L0 motion vector mvL0 is calculated, and L1
The motion vector list mvpListL1 is calculated, the motion vector mvpL1 of L1 is calculated, and the motion vector mvL1 of L1 is calculated.

符号化側と同様に、復号側でもL0、L1それぞれについて、動きベクトル算出処理を
行うが、L0、L1ともに共通の処理となる。したがって、以下の説明においてはL0、
L1を共通のLXとして表す。L0の動きベクトルを算出する処理ではXが0であり、L
1の動きベクトルを算出する処理では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,
L1 is represented as a common LX. In the process of calculating the motion vector of L0, X is 0 and L
In the process of calculating the motion vector of 1, X is 1. In addition, 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は、符号化側の差分動きベクトル算出部103の中の予測動きベクトル候
補生成部121、予測動きベクトル候補登録部122及び予測動きベクトル冗長候補削除
部123、予測動きベクトル候補数制限部124とそれぞれ同じ動作をするように規定す
ることにより、符号化と復号で矛盾しない同一の予測動きベクトルの候補を符号化側及び
復号側で得ることができる。
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 predictor redundant candidate deletion unit 223, and a motion vector predictor candidate number restriction unit 224, which are differential motion vectors on the encoding side. It is specified that the motion vector predictor candidate generating unit 121, the motion vector predictor candidate registering unit 122, the motion vector predictor redundant candidate deleting unit 123, and the motion vector predictor candidate number limiting unit 124 in the calculation unit 103 perform the same operation. Thus, the same motion vector predictor candidates that are consistent between encoding and decoding can be obtained on the encoding side and the decoding side.

予測動きベクトル候補生成部221は、図12の符号化側の予測動きベクトル候補生成
部121と同一の処理を行う。復号して符号化情報格納メモリ209に記録されていた、
復号対象ブロックと同一ピクチャ内の復号対象ブロックと隣接する復号済みの予測ブロッ
ク及び異なるピクチャ内の復号対象ブロックと同一位置あるいはその近傍の位置に存在す
る復号済みの予測ブロック等の動きベクトルを符号化情報格納メモリ209から読み出す
。符号化情報格納メモリ209から読み出された復号済みの他のブロックの動きベクトル
から予測ブロックグループごとに予測動きベクトルの候補mvLXCol、mvLXA、mvLXBを生成
し、予測動きベクトル候補登録部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. Decoded and recorded in the encoded information storage memory 209,
Coding motion vectors such as a decoded prediction block adjacent to the decoding target block in the same picture as the decoding target block and a decoded prediction block existing at the same position as or near the decoding target block in a different picture Read from the information storage memory 209. Prediction motion vector candidates mvLXCol, mvLXA, and mvLXB are generated for each prediction block group from the motion vectors of other decoded blocks read from the encoded information storage memory 209 and supplied to the prediction motion vector candidate registration unit 222. .

これらの予測動きベクトルの候補mvLXCol、mvLXA、mvLXBは参照インデックスに応じて
スケーリングすることにより算出されることもある。なお、予測動きベクトル候補生成部
221は、図12の符号化側の予測動きベクトル候補生成部121と同一の処理を行うの
で、ここでは詳細な説明は省略する。
These predicted motion vector candidates mvLXCol, mvLXA, and mvLXB may be calculated by scaling according to the reference index. Note that the motion vector predictor candidate generation unit 221 performs the same processing as the motion vector predictor candidate generation unit 121 on the encoding side in FIG. 12, and thus detailed description thereof is omitted here.

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

次に、予測動きベクトル冗長候補削除部223は、図12の符号化側の予測動きベクト
ル冗長候補削除部123と同一の処理を行う。LXの予測動きベクトルリストmvpListLX
に格納された予測動きベクトルの候補の中から同一の動きベクトルの値をもつものを判定
し、同一の動きベクトル値をもつと判定された予測動きベクトルの候補について最初の一
つを残してそれ以外を予測動きベクトルリストmvpListLXから削除して、予測動きベクト
ルの候補が重複しないようにし、予測動きベクトルリストmvpListLXを更新する。
Next, the motion vector redundancy candidate deletion unit 223 performs the same processing as the motion vector redundancy candidate deletion unit 123 on the encoding side in FIG. LX predicted motion vector list mvpListLX
Among the motion vector predictor candidates that have the same motion vector value, and leave the first one of the motion vector predictor candidates determined to have the same motion vector value. Are deleted from the motion vector predictor list mvpListLX so that the motion vector predictor candidates do not overlap, and the motion vector predictor list mvpListLX is updated.

次に、予測動きベクトル候補数制限部224は、図12の符号化側の予測動きベクトル
候補数制限部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の予測動きベクトル候補数numMV
PCandLXを最終候補数finalNumMVPCandに固定する。
Further, in the motion vector predictor candidate number limiting unit 224, for the reason described on the encoding side,
Number of predicted motion vector candidates for LX numMV registered in the predicted motion vector list mvpListLX
PCandLX is fixed to the final candidate number finalNumMVPCand.

本実施の形態においては、最終候補数finalNumMVPCandを2と規定している。LXの予
測動きベクトル候補数numMVPCandLXが規定された最終候補数finalNumMVPCandより小さい
場合、予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandと同じ値にな
るまで、(0,0)の値を持つ動きベクトルを予測動きベクトルリストmvpListLXに追加
することで予測動きベクトルの候補数を規定値に制限する。この場合、重複して(0,0
)の値を持つ動きベクトルが追加されることがあるが、復号側では予測動きベクトルイン
デックスが0から規定値−1の範囲内でどのような値をとっても、予測動きベクトルを確
定することができる。一方、LXの予測動きベクトル候補数numMVPCandLXが規定された最
終候補数finalNumMVPCandより大きい場合、予測動きベクトルリストmvpListLXからfinalN
umMVPCand-1より大きいインデックスに登録されている要素をすべて削除し、LXの予測
動きベクトル候補数numMVPCandLXを最終候補数finalNumMVPCandと同じ値にすることで予
測動きベクトルの候補数を規定値に制限する。更新された予測動きベクトルリストmvpLis
tLXは予測動きベクトル選択部225に供給される。
In the present embodiment, the final candidate number finalNumMVPCand is defined as 2. 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, duplicate (0,0
) May be added, but on the decoding side, the predicted motion vector can be determined no matter what the predicted motion vector index is in the range from 0 to the specified value −1. . On the other hand, when the number of predicted motion vector candidates numMVPCandLX of LX is larger than the final number of final candidates finalNumMVPCand, the final motion vector list mvpListLX to finalN
All elements registered in an index larger than umMVPCand-1 are deleted, and the number of predicted motion vector candidates numMVPCandLX is set to the same value as the final candidate number finalNumMVPCand, thereby limiting the number of predicted motion vector candidates to a specified value. Updated predicted motion vector list mvpLis
tLX is supplied to the motion vector predictor selection unit 225.

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

予測動きベクトル選択部225は、第1符号化ビット列復号部202にて復号されたL
Xの予測動きベクトルインデックスmvpIdxLXが供給され、供給されたインデックスmvpIdx
LXに対応する予測動きベクトルの候補mvpListLX[mvpIdxLX]をLXの予測動きベクトルmvp
LXとして予測動きベクトルリストmvpListLXから取り出す。供給された予測動きベクトル
の候補を予測動きベクトルmvpLXとして動きベクトル加算部226に供給する。
The motion vector predictor selection unit 225 receives the L decoded by the first encoded bit string decoding unit 202.
X predicted motion vector index mvpIdxLX is supplied and supplied index mvpIdx
Predictive motion vector candidates mvpListLX [mvpIdxLX] corresponding to LX are converted into LX predicted motion vectors mvp.
Extracted from the motion vector predictor list mvpListLX as LX. The supplied motion vector predictor candidate is supplied to the motion vector adding unit 226 as a motion vector predictor mvpLX.

最後に動きベクトル加算部226は、第1符号化ビット列復号部202にて復号されて
供給されるLXの差分動きベクトルmvdLXとLXの予測動きベクトルmvpLXを加算すること
によりLXの動きベクトルmvを算出し、動きベクトルmvLXを出力する。
mvLX = mvpLX + mvdLX
Finally, the motion vector addition unit 226 calculates the LX motion vector mv by adding the LX differential motion vector mvdLX and the LX prediction motion vector mvpLX that are supplied after being decoded by the first encoded bit string decoding unit 202. And outputs a motion vector mvLX.
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の処理手順について、それぞれ図14、図15のフローチャートを用いて説明
する。図14は動画像符号化装置による差分動きベクトル算出処理手順を示すフローチャ
ートであり、図15は動画像復号装置による動きベクトル算出処理手順を示すフローチャ
ートである。
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 the flowcharts of FIGS. 14 and 15, respectively. FIG. 14 is a flowchart showing a difference motion vector calculation processing procedure by the moving image encoding device, and FIG. 15 is a flowchart showing a motion vector calculation processing procedure by the moving image decoding device.

図14を参照して符号化側の差分動きベクトル算出処理手順を説明する。符号化側では
、まず、差分動きベクトル算出部103で、予測動きベクトルの候補の最終候補数finalN
umMVCandを設定する(S100)。本実施の形態においては、最終候補数finalNumMVPCan
dを2と規定している。
With reference to FIG. 14, the differential motion vector calculation processing procedure on the encoding side will be described. On the encoding side, first, the differential motion vector calculation unit 103 performs the final candidate number finalN of predicted motion vector candidates.
umMVCand is set (S100). In the present embodiment, the final candidate number finalNumMVPCan
d is defined as 2.

続いて、差分動きベクトル算出部103で、符号化対象ブロックで選択されたインター
予測で用いる動きベクトルの差分動きベクトルをL0、L1毎にそれぞれ算出する(S1
01〜S106)。
Subsequently, the difference motion vector calculation unit 103 calculates the difference motion vector of the motion vector used in the inter prediction selected in the encoding target block for each of L0 and L1 (S1).
01-S106).

LXの差分動きベクトルmvdLXを算出する場合(S102のYES)、LXの予測動き
ベクトルの候補を算出してLXの予測動きベクトルリストmvpListLXを構築する(S10
3)。差分動きベクトル算出部103の中の予測動きベクトル候補生成部121で複数の
予測動きベクトルの候補を算出し、予測動きベクトル候補登録部122で予測動きベクト
ルリストmvpListLXに算出した予測動きベクトルの候補を追加し、予測動きベクトル冗長
候補削除部123で不要な予測動きベクトルの候補を削除し、予測動きベクトル候補数制
限部124で予測ベクトル候補数を予測動きベクトルリストmvpListLXに登録されている
LXの予測動きベクトル候補数numMVPCandLXに固定することにより、予測動きベクトルリ
ストmvpListLXを構築する。ステップS103の詳細な処理手順については図16のフロ
ーチャートを用いて後述する。
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 (S10).
3). 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 restriction unit 124 predicts the number of motion vector candidates in the motion vector list mvpListLX. The prediction motion vector list mvpListLX is constructed by fixing the number of motion vector candidates to numMVPCandLX. The detailed processing procedure of step S103 will be described later with reference to the flowchart of FIG.

続いて、予測動きベクトル候補符号量算出部125、及び予測動きベクトル選択部12
6により、LXの予測動きベクトルリストmvpListLXからLXの予測動きベクトルmvpLXを
選択する(S104)。まず、予測動きベクトル候補符号量算出部125で、動きベクト
ルmvLXと予測動きベクトルリストmvpListLXの中に格納された各予測動きベクトルの候補m
vpListLX[i]との差分であるそれぞれの差分動きベクトルを算出し、それら差分動きベク
トルを符号化したときの符号量を予測動きベクトルリストmvpListLXの要素ごとに算出し
、予測動きベクトル選択部126で、予測動きベクトルリストmvpListLXに登録された各
要素の中で、予測動きベクトルの候補毎の符号量が最小となる予測動きベクトルの候補mv
pListLX[i]を予測動きベクトルmvpLXとして選択する。予測動きベクトルリストmvpListLX
の中で最小の発生符号量となる予測動きベクトルの候補が複数存在する場合には、予測動
きベクトルリストmvpListLXの中のインデックスiが小さい番号で表される予測動きベクト
ルの候補mvpListLX[i]を最適予測動きベクトルmvpLXとして選択する。
Subsequently, the motion vector predictor candidate code amount calculation unit 125 and the motion vector predictor selection unit 12
6, the LX predicted motion vector mvpLX is selected from the LX predicted motion vector list mvpListLX (S104). First, the motion vector mvLX and the motion vector predictor candidate m stored in the motion vector predictor list mvpListLX are calculated by the motion vector predictor candidate code amount calculation unit 125.
Each difference motion vector, which is a difference from vpListLX [i], is calculated, a code amount when the difference motion vector is encoded is calculated for each element of the prediction motion vector list mvpListLX, and the prediction motion vector selection unit 126 Among the elements registered in the prediction motion vector list mvpListLX, the prediction motion vector candidate mv having the smallest code amount for each prediction motion vector candidate
pListLX [i] is selected as the predicted motion vector mvpLX. Predicted motion vector list mvpListLX
When there are a plurality of motion vector predictor candidates that have the smallest generated code amount, the motion vector candidate mvpListLX [i] represented by a smaller index i in the motion vector list mvpListLX Select as the optimal prediction motion vector mvpLX.

続いて、動きベクトル減算部127で、LXの動きベクトルmvLXから選択されたLXの
予測動きベクトルmvpLXを減算することによりLXの差分動きベクトルmvdLXを算出する(
S105)。
mvdLX = mvLX - mvpLX
Subsequently, the motion vector subtraction unit 127 calculates an LX differential motion vector mvdLX by subtracting the LX predicted motion vector mvpLX selected from the LX motion vector mvLX (
S105).
mvdLX = mvLX-mvpLX

次に、図15を参照して復号側の動きベクトル算出処理手順を説明する。復号側でも、
動きベクトル算出部204で、インター予測で用いる動きベクトルをL0,L1毎にそれ
ぞれ算出する(S201〜S206)。
Next, the decoding-side motion vector calculation processing procedure will be described with reference to FIG. Even on the decryption side,
The motion vector calculation unit 204 calculates a motion vector used for inter prediction for each of L0 and L1 (S201 to S206).

LXの動きベクトルmvdLXを算出する場合(S202のYES)、LXの予測動きベク
トルの候補を算出してLXの予測動きベクトルリストmvpListLXを構築する(S203)
。動きベクトル算出部204の中の予測動きベクトル候補生成部221で複数の予測動き
ベクトルの候補を算出し、予測動きベクトル候補登録部222で予測動きベクトルリスト
mvpListLXに算出した予測動きベクトルの候補を追加し、予測動きベクトル冗長候補削除
部223で不要な予測動きベクトルの候補を削除し、予測動きベクトル候補数制限部22
4で予測ベクトル候補数を予測動きベクトルリストmvpListLXに登録されているLXの予
測動きベクトル候補数numMVPCandLXに固定することにより、予測動きベクトルリストmvpL
istLXを構築する。ステップS203の詳細な処理手順については図16のフローチャー
トを用いて後述する。
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).
. A motion vector calculation unit 204 includes a motion vector predictor candidate generation unit 221 that calculates a plurality of motion vector predictor candidates, and a motion vector predictor candidate registration unit 222 predicts a motion vector predictor list.
Predicted motion vector candidates are added to mvpListLX, unnecessary motion vector redundancy candidate deletion unit 223 deletes unnecessary motion vector predictor candidates, and motion vector predictor candidate number limiting unit 22
In step 4, the number of predicted vector candidates is fixed to the number of predicted motion vector candidates numMVPCandLX of LX registered in the predicted motion vector list mvpListLX, so that the predicted motion vector list mvpL
Build istLX. The detailed processing procedure of step S203 will be described later with reference to the flowchart of FIG.

続いて、予測動きベクトル選択部225で予測動きベクトルリストmvpListLXから第1
符号化ビット列復号部202にて復号された予測動きベクトルのインデックスmvpIdxLXに
対応する予測動きベクトルの候補mvpListLX[mvpIdxLX]を選択された予測動きベクトルmvp
LXとして取り出す(S204)。
Subsequently, the predicted motion vector selection unit 225 selects the first motion vector from the predicted motion vector list mvpListLX.
The motion vector predictor mvp selected from the motion vector predictor candidate mvpListLX [mvpIdxLX] corresponding to the motion vector predictor index mvpIdxLX decoded by the encoded bit string decoding unit 202.
Take out as LX (S204).

続いて、動きベクトル加算部226で第1符号化ビット列復号部202にて復号されて
供給されるLXの差分動きベクトルmvdLXとLXの予測動きベクトルmvpLXを加算すること
によりLXの動きベクトルmvLXを算出する(S205)。
mvLX = mvpLX + mvdLX
Subsequently, the motion vector addition unit 226 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. (S205).
mvLX = mvpLX + mvdLX

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

(動きベクトルの予測方法)
図16は動画像符号化装置の差分動きベクトル算出部103及び動画像復号装置の動き
ベクトル算出部204とで共通する機能を有する予測動きベクトル候補生成部121及び
221、予測動きベクトル候補登録部122及び222、ならびに予測動きベクトル冗長
候補削除部123及び223、予測動きベクトル候補数制限部124及び224の処理手
順を表すフローチャートである。
(Motion vector prediction method)
FIG. 16 shows prediction motion vector candidate generation units 121 and 221 having a function common to the difference motion vector calculation unit 103 of the video encoding device and the motion vector calculation unit 204 of the video 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は異なる時間のピクチャの予
測ブロックからの予測動きベクトルの候補を導出し、異なる時間のピクチャの予測ブロッ
クの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXCol、及び
動きベクトルmvLXCol、参照インデックスrefIdxCol、リストListColを導出する(図16
のS301)。このステップS301の導出処理手順を図24〜図30のフローチャート
を用いて後ほど詳細に説明する。
First, the motion vector predictor candidate generation units 121 and 221 derive a motion vector predictor candidate from a prediction block of a picture at a different time, and a flag indicating whether the motion vector predictor candidate of a picture prediction block at a different time can be used. AvailableFlagLXCol, motion vector mvLXCol, reference index refIdxCol, and list ListCol are derived (FIG. 16).
S301). The derivation processing procedure of step S301 will be described in detail later with reference to the flowcharts of FIGS.

続いて、予測動きベクトル候補生成部121及び221は左側に隣接する予測ブロック
からの予測動きベクトルの候補を導出し、左側に隣接する予測ブロックの予測動きベクト
ル候補が利用できるかどうかを示すフラグavailableFlagLXA、及び動きベクトルmvLXA、
参照インデックスrefIdxA、リストListAを導出する(図16のS302)。なお、L0の
ときXは0、L1のときXは1とする(以下同様)。続いて、予測動きベクトル候補生成
部121及び221は上側に隣接する予測ブロックからの予測動きベクトルの候補を導出
し、上側に隣接する予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフ
ラグavailableFlagLXB、及び動きベクトルmvLXB、参照インデックスrefIdxB、リストList
Bを導出する(図16のS303)。図16のステップS302とS303の処理は参照
する隣接ブロックの位置と数が異なること、及び隣接ブロックのスキャン手順が異なるこ
と以外は共通であり、予測ブロックの予測動きベクトル候補が利用できるかどうかを示す
フラグavailableFlagLXN、及び動きベクトルmvLXN、参照インデックスrefIdxN、ListN(
NはAまたはB、以下同様)を導出する。S302及びS303の処理手順を図17〜図
21のフローチャートを用いて後ほど詳細に説明する。
Subsequently, the motion vector predictor candidate generation units 121 and 221 derive a motion vector predictor candidate from the prediction block adjacent on the left side, and a flag availableFlagLXA indicating whether the motion vector predictor candidate of the prediction block adjacent on the left side can be used. , And motion vector mvLXA,
A reference index refIdxA and a list ListA are derived (S302 in FIG. 16). 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 motion vector mvLXB, reference index refIdxB, list List
B is derived (S303 in FIG. 16). The processes in steps S302 and S303 in FIG. 16 are the same except that the positions and numbers of adjacent blocks to be referenced are different and the scanning procedures of the adjacent blocks are different, and it is determined whether the prediction motion vector candidates of the prediction block can be used. Flag availableFlagLXN, motion vector mvLXN, reference index refIdxN, ListN (
N is A or B, and so on. The processing procedure of S302 and S303 will be described in detail later using the flowcharts of FIGS.

続いて、予測動きベクトル候補登録部122及び222は予測動きベクトルリストmvpL
istLXを作成し、LXのそれぞれの予測ベクトルの候補mvLXCol, mvLXA, mvLXBを追加する
(図16のS304)。このステップS304の登録処理手順を図31のフローチャート
を用いて後ほど詳細に説明する。
Subsequently, the motion vector predictor candidate registration units 122 and 222 perform the motion vector predictor list mvpL.
istLX is created, and prediction vector candidates mvLXCol, mvLXA, and mvLXB of LX are added (S304 in FIG. 16). The registration processing procedure in step S304 will be described in detail later using the flowchart in FIG.

続いて、予測動きベクトル冗長候補削除部123及び223は予測動きベクトルリスト
mvpListLX内の左側に隣接する予測ブロックグループから導出された空間予測動きベクト
ル候補mvLXAおよび上側に隣接する予測ブロックグループから導出された空間予測動きベ
クトル候補mvLXBが同じ値を持っている場合に、一方を冗長な動きベクトルの候補と判断
し、最も小さい順序、即ち最も小さいインデックスiの動きベクトルの候補mvLXAを残して
、冗長な動きベクトルの候補mvLXBを取り除く(図16のS305)。冗長候補削除比較
部では、時間予測動きベクトル候補mvLXColと空間予測動きベクトル候補mvLXAまたはmvLX
B間の動きベクトル冗長性比較を行わない。これは、時間予測動きベクトル候補と空間予
測動きベクトル候補の生成はアクセスする動き情報メモリが異なることや各処理量が異な
ることから並列処理することが多いため、時間予測動きベクトル候補と空間予測動きベク
トル候補間の動きベクトル比較を行ってしまうと、並列処理を行う場合の同期を早める必
要があり、どちらかの処理の待ち時間が増加するためである。そのため、時間予測動きベ
クトル候補と空間予測動きベクトル候補の導出処理をできるだけ分離しておくことが望ま
しいため、本発明では時間予測動きベクトル候補と空間予測動きベクトル候補間の動きベ
クトル冗長性比較は行わない。時間予測動きベクトルと空間予測動きベクトルは、動きベ
クトルの導出プロセスが違うため異なる性質の予測動きベクトルが導出される。そのため
、時間予測動きベクトルと空間予測動きベクトルが同一となる確率は低く、時間予測動き
ベクトル候補と空間予測動きベクトル候補間の動きベクトル比較を行わなくても符号化効
率の低下はない。このステップS305の削除処理手順を図32のフローチャートを用い
て後ほど詳細に説明する。
Subsequently, the motion vector redundancy candidate deletion units 123 and 223 perform the motion vector predictor list.
If the spatial prediction motion vector candidate mvLXA derived from the left adjacent prediction block group in mvpListLX and the spatial prediction motion vector candidate mvLXB derived from the upper adjacent prediction block group have the same value, A redundant motion vector candidate is determined, and the redundant motion vector candidate mvLXB is removed while leaving the motion vector candidate mvLXA in the smallest order, that is, the smallest index i (S305 in FIG. 16). In the redundant candidate deletion comparison unit, the temporal prediction motion vector candidate mvLXCol and the spatial prediction motion vector candidate mvLXA or mvLX
The motion vector redundancy comparison between B is not performed. This is because temporal prediction motion vector candidates and spatial prediction motion vector candidates are generated in parallel because there are different motion information memories to be accessed and different processing amounts. This is because if motion vector comparison between vector candidates is performed, it is necessary to speed up synchronization when performing parallel processing, and waiting time of either processing increases. Therefore, since it is desirable to separate the temporal prediction motion vector candidate and the spatial prediction motion vector candidate derivation process as much as possible, in the present invention, the motion vector redundancy comparison between the temporal prediction motion vector candidate and the spatial prediction motion vector candidate is performed. Absent. A temporal motion vector predictor and a spatial motion vector predictor are different in the motion vector derivation process, so that motion vector predictors having different properties are derived. For this reason, the probability that the temporal prediction motion vector and the spatial prediction motion vector are the same is low, and there is no reduction in coding efficiency even if the motion vector comparison between the temporal prediction motion vector candidate and the spatial prediction motion vector candidate is not performed. The deletion processing procedure in step S305 will be described in detail later using the flowchart of FIG.

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

図16の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. 16 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.

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

次に、図16のS301およびS302の処理手順である左側および上側に隣接する予
測ブロックグループNからの予測動きベクトルの候補の導出方法について説明する。図1
7は前述のスキャン方法による図16の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. 16, will be described. FIG.
7 is a flowchart showing the predicted motion vector candidate derivation processing procedure of S301 and S302 of FIG. 16 by the above-described scanning method. The subscript X is 0 or 1 representing the reference list
, N contains A (left side) or B (upper side) indicating the area of the adjacent prediction block group.

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

まず、符号化/復号対象の予測ブロックに隣接する予測ブロックを特定し、それぞれの
予測ブロック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)の場合(S110
1の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 is a flag predFlagLX [xNk] [yNk] indicating whether to use the prediction modes PredMode and LX.
, LX reference index refIdxLX [xNk] [yNk], LX motion vector mvLX [xNk] [yNk]. A prediction block group adjacent to the left side of the prediction block to be encoded / decoded (N = A
) (YES in S1101), the encoding information is acquired by specifying the prediction block A0 adjacent to the lower left and the prediction block A1 adjacent to the left (S1102, S1103), and the upper side of the prediction block to be encoded / decoded. In the case of a prediction block group (N = B) adjacent to (S110)
1), the prediction block B0 adjacent to the upper right, the prediction block B1 adjacent to the upper right, and the prediction block B2 adjacent to the upper left are specified to obtain the encoding information (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 indicating whether or not a prediction motion vector is selected from the prediction block group N
The availableFlagLXN is 0, and the motion vector mvLXN representing the prediction block group N is (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 Condition Determination 1 or Condition Determination 2 described above is derived (S1108). Prediction block N0 of prediction block group N (N is A or B)
, N1, N2 (N2 is only the upper adjacent prediction block group B), the same reference list LX as the reference list LX that is the current target in the encoding / decoding target prediction block, or the encoding / decoding target prediction block Reference list LY opposite to current reference list LX
(Y =! X: When the current target reference list is L0, the opposite reference list is L1, and when the current target reference list is L1, the opposite reference list is L0). A predicted block having the motion vector is searched for as a motion vector predictor candidate.

図18は図17のステップS1108の導出処理手順を示すフローチャートである。隣
接する予測ブロックNk(k=0,1,2、ただし、2は上側の隣接予測ブロックグルー
プのみ)に対して、kが0,1,2の順番にそれぞれ以下の処理を行う(S1201〜S
1207)。NがAの場合下から上にA0,A1の順序で、NがBの場合、右から左にB
0,B1,B2の順序で、それぞれ以下の処理を行う。
FIG. 18 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, and 2 (S1201 to S120).
1207). When N is A, the order is A0, A1 from bottom to top. When N is B, B is from right to left.
The following processing is performed in the order of 0, B1, and B2, respectively.

隣接する予測ブロックNkが利用でき、予測ブロックNkの予測モードPredModeがイン
トラ(MODE_INTRA)でない場合(S1202のYES)、前述の条件判定1の条件判定を
行う(S1203)。隣接する予測ブロックNkのLXを利用するどうかを示すフラグpr
edFlagLX [xNk][yNk]が1、即ち隣接する予測ブロックNkが算出対象と同じLXの動き
ベクトルを用いてインター予測されており、隣接する予測ブロックNkのLXの参照イン
デックスrefIdxLX[xNk][yNk]と処理対象の予測ブロックのインデックスrefIdxLXが同じ、
即ち隣接する予測ブロックNkがLX予測で同じ参照ピクチャを用いてインター予測され
ている場合(S1203のYES)、ステップS1204に進み、そうでない場合(S1
203の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). Flag pr indicating whether or not to use LX of adjacent prediction block Nk
edFlagLX [xNk] [yNk] is 1, that is, the adjacent prediction block Nk is inter-predicted using the same LX motion vector as the calculation target, and the LX reference index refIdxLX [xNk] [yNk] of the adjacent prediction block Nk ] And the index refIdxLX of the prediction block to be processed are the same,
That is, when the adjacent prediction block Nk is inter-predicted using the same reference picture in LX prediction (YES in S1203), the process proceeds to step S1204, and otherwise (S1
203 NO), the condition determination of 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に設定され(S12
04)、本予測動きベクトル候補算出処理を終了する。
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. Reference index of block group N
refIdxN 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 (S12
04) The prediction motion vector candidate calculation process is terminated.

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

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

続いて、図17のフローチャートに戻り、左側に隣接する予測ブロックグループ(N=
A)であり、且つ、availableFlagLXNが0のとき(S1109のYES)、即ち左側に隣
接する予測ブロックグループにおいてステップS1108で予測動きベクトルの候補が算
出できなかった場合、前述の条件判定3または条件判定4に合致する予測動きベクトル候
補を算出する(S1110)。
Subsequently, returning to the flowchart of FIG. 17, the prediction block group (N =
A) and when availableFlagLXN is 0 (YES in S1109), that is, when the motion vector predictor candidate cannot be calculated in step S1108 in the prediction block group adjacent to the left side, the above-described condition determination 3 or condition determination A predicted motion vector candidate that matches 4 is calculated (S1110).

図19は図17のステップS1110の導出処理手順を示すフローチャートである。隣
接する予測ブロックNk(k=0,1)に対して、kが0,1の順番にそれぞれ以下の処
理を行う(S1301〜S1307)。
FIG. 19 is a flowchart showing the derivation process procedure of step S1110 of FIG. The following processing is performed on the adjacent prediction block Nk (k = 0, 1) in the order of k = 0, 1 (S1301 to S1307).

隣接する予測ブロックNkが利用でき、予測ブロックNkの予測モードPredModeがイン
トラ(MODE_INTRA)でない場合(S1302のYES)、前述の条件判定3の条件判定を
行う(S1303)。隣接する予測ブロックNkのLXを利用するどうかを示すフラグpr
edFlagLX [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). Flag pr indicating whether or not to use LX of adjacent prediction block Nk
If edFlagLX [xNk] [yNk] is 1, that is, if an adjacent prediction block Nk is inter-predicted using the same LX motion vector as the calculation target, the process proceeds to step S1304; otherwise (NO in S1303), step The condition is determined in S1305.

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

ステップ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が隣接する予測ブロックN
kの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 Prediction block N which is set to the same value as 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 adjacent
The LY reference index refIdxLY [xNk] [yNk] of k is set to the same value, the reference list ListN of the prediction block group N is set to LY (S1306), and the process proceeds to step S1308.

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

続いて、availableFlagLXNが1のとき(S1308のYES)、mvLXNをスケーリング
する(S1309)。このステップS1309の空間予測動きベクトル候補のスケーリン
グ演算処理手順を図20及び図21を用いて説明する。
Subsequently, when availableFlagLXN is 1 (YES in S1308), mvLXN is scaled (S1309). The scaling calculation processing procedure of the spatial prediction motion vector candidate in step S1309 will be described with reference to FIGS.

図20は図19のステップS1309の動きベクトルのスケーリング演算処理手順を示
すフローチャートである。
FIG. 20 is a flowchart showing the motion vector scaling processing procedure in step S1309 of FIG.

現在の符号化/復号対象ピクチャのPOCから、隣接予測ブロックのリストListNが参
照する参照ピクチャのPOCを減算してピクチャ間距離tdを算出する(S1601)。
なお、現在の符号化/復号対象ピクチャよりも隣接予測ブロックのリストListNで参照す
る参照ピクチャの方が表示順序で前の場合、ピクチャ間距離tdは正の値となり、現在の
符号化/復号対象ピクチャよりも隣接予測ブロックの参照リストListNで参照する参照ピ
クチャの方が表示順序で後の場合、ピクチャ間距離tdは負の値となる。
td=現在の符号化/復号対象ピクチャのPOC−隣接予測ブロックの参照リストLi
stNで参照する参照ピクチャのPOC
The inter-picture distance td is calculated by subtracting the POC of the reference picture referenced by the adjacent prediction block list ListN from the POC of the current encoding / decoding target picture (S1601).
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 td becomes 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 td is a negative value.
td = POC of current encoding / decoding target picture-reference list Li of adjacent prediction block
POC of the reference picture referenced by stN

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

続いて、次式によりmvLXNにスケーリング係数tb/tdを乗じることでスケーリング
演算処理を行い(S1603)、スケーリングされた動きベクトルmvLXNを得る。
mvLXN=tb/td*mvLXN
Subsequently, scaling operation processing is performed by multiplying mvLXN by the scaling coefficient tb / td according to the following equation (S1603) to obtain a scaled motion vector mvLXN.
mvLXN = tb / td * mvLXN

また、ステップS1603のスケーリング演算を整数精度の演算で行う場合の例を図2
1に示す。図21のステップS1604〜S1606の処理が、図20のステップS16
03の処理に相当する。
Further, an example in which the scaling operation in step S1603 is performed with integer precision arithmetic is shown in FIG.
It is shown in 1. The processing of steps S1604 to S1606 in FIG. 21 is the same as step S16 in FIG.
This corresponds to the process No. 03.

まず、図20のフローチャートと同様に、ピクチャ間距離tdとピクチャ間距離tbを
算出する(S1601、S1602)。
First, as in the flowchart of FIG. 20, the inter-picture distance td and the inter-picture distance tb are calculated (S1601, S1602).

続いて、次式により変数txを算出する(S1603)。
tx = ( 16384 + Abs( td / 2 ) ) / td
Subsequently, the variable tx is calculated by the following equation (S1603).
tx = (16384 + Abs (td / 2)) / td

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

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

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

まず、slice_typeとcollocated_from_l0_flagにより、異なる時間のピクチャcolPicを
L0の参照リスト或いはL1の参照リストのどちらに定義するかを決定する(図24のS
2101)。
First, based on slice_type and collocated_from_l0_flag, it is determined whether a picture colPic at a different time is defined as an L0 reference list or an L1 reference list (S in FIG. 24).
2101).

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

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

図26は図24のステップS2102の異なる時間のピクチャcolPicの予測ブロックco
lPUの導出処理手順を説明するフローチャートである。
FIG. 26 shows a prediction block co of a picture colPic at different times in step S2102 of FIG.
It is a flowchart explaining the derivation | leading-out process procedure of lPU.

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

次に、異なる時間の予測ブロック符号化ブロックのツリーブロックの外であるか、colP
UのPredModeがMODE_INTRAの場合(図26のS2302、S2303)、異なる時間のピ
クチャcolPic内で処理対象の予測ブロックと同一位置の中央右下に位置する予測ブロック
を異なる時間の予測ブロックcolPUに再設定する(図26のS2304)。この予測ブロ
ックは図9の予測ブロックT1に相当する。colPuがツリーブロックの外である場合にcol
Puを処理対象の予測ブロックと同一の中央右下に変更する理由は、ツリーブロック外から
のcolPU情報取得はハードウェアのメモリアクセスのコストが大きいためである。
Next, it is outside the tree block of the prediction block coding block at different time, or colP
When PredMode of U is MODE_INTRA (S2302 and S2303 in FIG. 26), the prediction block located at the lower right center of the same position as the processing target prediction block in the picture colPic at different time is reset to the prediction block colPU at different time (S2304 in FIG. 26). This prediction block corresponds to the prediction block T1 in FIG. col if colPu is outside the tree block
The reason why Pu is changed to the lower right center, which is the same as the prediction block to be processed, is that acquisition of colPU information from outside the tree block has a high memory access cost.

次に、図24のフローチャートに戻り、符号化/復号対象の予測ブロックと同位置の他
ピクチャの予測ブロックから算出されるLXの予測動きベクトルmvLXColと予測ブロック
グループColの参照リストLXの符号化情報が有効か否かを示すフラグavailableFlagL
XColを算出する(図24のS2103)。
Next, returning to the flowchart of FIG. 24, 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 Flag availableFlagL that indicates whether or not is valid
XCol is calculated (S2103 in FIG. 24).

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

異なる時間の予測ブロックcolPUのPredModeがMODE_INTRAか、利用できない場合(図2
7のS2401のNO、S2402のNO)、availableFlagLXColを0、mvLXColを(0
,0)とし(図27のS2403、S2404)、処理を終了する。
When PredMode of prediction block colPU at different time is MODE_INTRA or not available (Fig. 2
7 S2401 NO, S2402 NO), availableFlagLXCol is 0, mvLXCol is (0
, 0) (S2403, S2404 in FIG. 27), the process is terminated.

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

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

一方、予測ブロックcolPUのL0予測フラグPredFlagL0[xPCol][yPCol]が0でない場合
(図27のS2405のNO)、予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol]
[yPCol]が0かどうかを判定する。予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol
][yPCol]が0の場合(図27のS2409のYES)、動きベクトルmvColが予測ブロッ
クcolPUのL0の動きベクトルであるMvL0[xPCol][yPCol]と同じ値に設定され(図27の
S2410)、参照インデックスrefIdxColがL0の参照インデックスRefIdxL0[xPCol][y
PCol] と同じ値に設定され(図27のS2411)、リストListColがL0に設定される
(図27の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. 27), the L1 prediction flag PredFlagL1 [xPCol] of the prediction block colPU
Determine whether [yPCol] is 0. L1 prediction flag PredFlagL1 [xPCol of prediction block colPU
] [yPCol] is 0 (YES in S2409 in FIG. 27), the motion vector mvCol is set to the same value as MvL0 [xPCol] [yPCol], which is the L0 motion vector of the prediction block colPU (S2410 in FIG. 27). , Reference index RefIdxL0 [xPCol] [y with reference index refIdxCol being L0
PCol] is set to the same value (S2411 in FIG. 27), and the list ListCol is set to L0 (S2412 in FIG. 27).

予測ブロックcolPUのL0予測フラグPredFlagL0[xPCol][yPCol]と予測ブロックcolPUの
L1予測フラグPredFlagL1[xPCol][yPCol]が共に0でない場合(図27のS2405のN
O,S2409のNO)、予測ブロックcolPUのインター予測モードは双予測(Pred_BI)
であるので、L0、L1の2つの動きベクトルから、一方を選択する(図27のS241
3)。
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 (N in S2405 in FIG. 27)
O, NO in S2409), the inter prediction mode of the prediction block colPU is bi-prediction (Pred_BI)
Therefore, one of the two motion vectors L0 and L1 is selected (S241 in FIG. 27).
3).

図28は予測ブロックcolPUのインター予測モードが双予測(Pred_BI)のときの予測ブ
ロックのインター予測情報の導出処理手順を示すフローチャートである。
FIG. 28 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に登録されているすべてのピクチャのP
OCが現在の符号化/復号対象ピクチャの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_f
rom_l0_flagが0場合(S2503のYES)、予測ブロックcolPUのL0の方のインター
予測情報を選択し、フラグcollocated_from_l0_flagが1の場合(S2503のNO)、予
測ブロックcolPUのL1の方のインター予測情報を選択する。つまり、colPUがL1を用い
て定義されている場合はmvColとしてL0を選択し、colPUがL0を用いて定義されている
場合はmvColとしてL1を選択する。colPUの選択とmvColの選択リストを反対にすること
で、colPicから符号化対象ピクチャの方向に向いた参照画像に対する動きベクトルを用い
た内挿予測を行える可能性が精度の高い予測ベクトルを算出できる。
First, it is determined whether the POC of all pictures registered in all reference lists is smaller than the POC of the current encoding / decoding target picture (S2501), and a prediction block
P of all pictures registered in L0 and L1 which are all reference lists of colPU
When the OC is smaller than the POC of the current encoding / decoding target picture (YES in S2501)
), When X is 0, that is, when the prediction vector candidate of the motion vector of L0 of the prediction block to be encoded / decoded is calculated (YES in S2502), the inter prediction information of L0 of the prediction block colPU is selected. , X is 1, that is, when a prediction vector candidate of the L1 motion vector of the prediction block to be encoded / decoded is calculated (NO in S2502), the prediction block colPU
The L1 inter prediction information is selected. On the other hand, at least one of POCs of pictures registered in all reference lists L0 and L1 of the prediction block colPU is the current encoding /
If it is larger than the POC of the picture to be decoded (NO in S2501), the flag collocated_f
When rom_l0_flag is 0 (YES in S2503), the inter prediction information for L0 of the prediction block colPU is selected. When the flag collocated_from_l0_flag is 1 (NO in S2503), the inter prediction information for L1 of the prediction block colPU is selected. To do. That is, when colPU is defined using L1, L0 is selected as mvCol, and when colPU is defined using L0, L1 is selected as mvCol. By reversing the selection list of colPU and the selection list of mvCol, it is possible to calculate a prediction vector with high accuracy that can perform interpolation prediction using a motion vector for a reference image directed from colPic toward the encoding target picture. .

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

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

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

次に、図24のフローチャートに戻り、availableFlagLXColが1の場合(図24のS2
104のYES)、必要に応じてmvLXColをスケーリングする(図24のS2105)。
この動きベクトルmvLXColのスケーリング演算処理手順を図29及び図30を用いて説明
する。
Next, returning to the flowchart in FIG. 24, when availableFlagLXCol is 1 (S2 in FIG. 24).
104 YES), mvLXCol is scaled as necessary (S2105 in FIG. 24).
A procedure for scaling operation of the motion vector mvLXCol will be described with reference to FIGS.

図29は図24のステップS2105の動きベクトルのスケーリング演算処理手順を示
すフローチャートである。
FIG. 29 is a flowchart showing the motion vector scaling calculation processing procedure in step S2105 of FIG.

異なる時間のピクチャcolPicのPOCから、予測ブロックcolPUのリストListColで参照
する参照ピクチャのPOCを減算してピクチャ間距離tdを算出する(S2601)。な
お、異なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参
照ピクチャのPOCの方が表示順序で前の場合、ピクチャ間距離tdは正の値となり、異
なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参照ピク
チャのPOCの方が表示順序で後の場合、ピクチャ間距離tdは負の値となる。
td=異なる時間のピクチャcolPicのPOC−予測ブロックcolPUのリストListColで
参照する参照ピクチャのPOC
The inter-picture distance td is calculated by subtracting the POC of the reference picture referenced in the list ListCol of the prediction block colPU from the POC of the picture colPic at a different time (S2601). Note that when the POC of the reference picture referenced in the list Col of the prediction block colPU is earlier in the display order than the picture colPic at a different time, the inter-picture distance td is a positive value, and the prediction is more accurate than the picture colPic at a different time. When the POC of the reference picture referenced in the list ListCol of the block colPU is later in the display order, the inter-picture distance td becomes a negative value.
td = POC of picture colPic at different time-POC of reference picture referenced by list ListCol of prediction block colPU

現在の符号化/復号対象ピクチャのPOCから現在の符号化/復号対象ピクチャのリス
トLXが参照する参照ピクチャのPOCを減算してピクチャ間距離tbを算出する(S2
602)。なお、現在の符号化/復号対象ピクチャよりも現在の符号化/復号対象ピクチ
ャのリスト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 current encoding / decoding target picture list LX from the POC of the current encoding / decoding target picture (S2).
602). When the reference picture referenced in 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, and the inter-picture distance tb is a negative value when the reference picture referred to in the current encoding / decoding target picture list LX is later in the display order.
tb = POC of current encoding / decoding target picture-POC of reference picture referenced in reference list LX of current encoding / decoding target picture

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

また、ステップS2604のスケーリング演算を整数精度の演算で行う場合の例を図3
0に示す。図30のステップS2605〜S2607の処理が、図29のステップS26
04の処理に相当する。
Further, an example in which the scaling operation in step S2604 is performed with integer precision operation is shown in FIG.
0. The processing of steps S2605 to S2607 in FIG. 30 is the same as step S26 in FIG.
This corresponds to the process 04.

まず、図29のフローチャートと同様に、ピクチャ間距離tdとピクチャ間距離tbを
算出する(S2601、S2602)。
First, as in the flowchart of FIG. 29, the inter-picture distance td and the inter-picture distance tb are calculated (S2601, S2602).

続いて、ピクチャ間距離tdとtbを比較し(S2603)、ピクチャ間距離tdとt
bが等しい場合(S2603のYES)、本スケーリング演算処理を終了する。ピクチャ
間距離tdとtbが等しくない場合(S2603のNO)、次式により変数txを算出す
る(S2605)。
tx = ( 16384 + Abs( td / 2 ) ) / td
Subsequently, the inter-picture distances td and tb are compared (S2603), and the inter-picture distances td and tb are compared.
If b is 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 (S2605).
tx = (16384 + Abs (td / 2)) / td

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

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

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

図16のS301、S302、及びS303にて算出されたLXのそれぞれの予測動き
ベクトルの候補mvLXCol, mvLXA, mvLXBをLXの予測動きベクトルリストmvpListLXに追加
する(S304)。本発明の実施の形態では、優先順位をつけて、優先順位の高いものか
らLXの予測動きベクトルリストmvpListLXに予測動きベクトルの候補mvLXCol, mvLXA, m
vLXBを登録することで、優先順位の高い要素を予測動きベクトルリストの前方に配置する
。図16のS306で予測動きベクトルリストの中の要素数を制限する際に、予測動きベ
クトルリストの後方に配置された要素を予測動きベクトルリストから外すことで、優先順
位の高い要素を残す。
The candidate motion vector candidates mvLXCol, mvLXA, and mvLXB of LX calculated in S301, S302, and S303 in FIG. 16 are added to the LX motion vector predictor list mvpListLX (S304). In the embodiment of the present invention, priorities are assigned and prediction motion vector candidates mvLXCol, mvLXA, m are assigned to the LX prediction motion vector list mvpListLX from the highest priority.
By registering vLXB, an element with higher priority is placed in front of the motion vector predictor list. When the number of elements in the motion vector predictor list is limited in step S306 in FIG. 16, the elements placed at the rear of the motion vector predictor list are removed from the motion vector predictor list to leave 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, the index i registered in the predicted motion vector list mvpListLX
Candidate motion vector predictors that are elements of are represented by mvpListLX [i].

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

まず、予測動きベクトルリストmvpListLXのインデックスiを0に設定する(S3101
)。availableFlagLXColが1の場合(S3102のYES)、予測動きベクトルリストmv
pListLXのインデックスiに対応する位置にLXの予測動きベクトル候補mvLXColを登録し
(S3103)、インデックスiに1を加算することで更新する(S3104)。
First, the index i of the motion vector predictor list mvpListLX is set to 0 (S3101).
). When availableFlagLXCol is 1 (YES in S3102), the motion vector predictor list mv
The predicted motion vector candidate mvLXCol of LX is registered at the position corresponding to the index i of pListLX (S3103), and is updated by adding 1 to the index i (S3104).

続いて、availableFlagLXAが1の場合(S3105のYES)、予測動きベクトルリス
トmvpListLXmvpListLXのインデックスiに対応する位置にLXの予測動きベクトル候補mvL
XAを登録し(S3106)、インデックスiに1を加算することで更新する(S3107)
Subsequently, when availableFlagLXA is 1 (YES in S3105), a predicted motion vector candidate mvL of LX is located at a position corresponding to the index i of the predicted motion vector list mvpListLXmvpListLX.
XA is registered (S3106) and updated by adding 1 to index i (S3107).
.

続いて、availableFlagLXBが1の場合(S3108のYES)、予測動きベクトルリス
トmvpListLXのインデックスiに対応する位置にLXの予測動きベクトル候補mvLXBを登録
し(S3109)、予測動きベクトルリストへの登録処理を終了する。
Subsequently, when availableFlagLXB is 1 (YES in S3108), the LX predicted motion vector candidate mvLXB is registered at the position corresponding to the index i of the predicted motion vector list mvpListLX (S3109), and the registration process to the predicted motion vector list is performed. finish.

予測動きベクトルリストの登録順は、1つの時間予測動きベクトル候補を登録した後に
、2つの空間予測動きベクトル候補を登録する。つまり、時間予測動きベクトル候補の優
先順位を空間予測動きベクトル候補より高く設定する。
The registration order of the motion vector predictor list is such that two temporal motion vector predictor candidates are registered after one temporal motion vector predictor candidate is registered. That is, the priority order of temporal prediction motion vector candidates is set higher than that of spatial prediction motion vector candidates.

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

予測動きベクトル冗長候補削除部123及び223は予測動きベクトルリストmvpListL
Xに登録されている空間予測された動きベクトルの候補同士を比較し(S4101)、複
数の動きベクトルの候補が同じ値を持っている場合に(S4102のYES)、冗長な動
きベクトルの候補と判断し、最も小さい順序、即ち最も小さいインデックスiの動きベク
トルの候補を除いて冗長な動きベクトルの候補を取り除く(S4103)。ここで、時間
予測動きベクトル候補と空間予測動きベクトル候補間については動きベクトルの候補同士
の同一性比較を行わない。時間予測動きベクトル候補と空間予測動きベクトル候補の生成
はアクセスする動き情報メモリが異なることや各処理量が異なることから並列処理により
実装されることがある。時間予測動きベクトル候補と空間予測動きベクトル候補間の動き
ベクトル比較を行ってしまうと、並列処理を行う際に待ち時間が発生する。そのため、時
間予測動きベクトル候補と空間予測動きベクトル候補の依存性が無いことが望ましいため
、本発明では時間予測動きベクトル候補と空間予測動きベクトル候補間の動きベクトル冗
長性比較は行わない。ここで、更なる処理量の削減のために、空間予測動きベクトル候補
間の予測ベクトルが同一であるかどうかの判断も行わないことも可能である。なお、冗長
な動きベクトルの候補を取り除いた後、予測動きベクトルリストmvpListLXの中は、削除
された予測動きベクトルの候補の格納領域が空いている為、インデックスiが0を基準に
して、インデックスiが小さい予測動きベクトルの候補の順で詰めていく(S4104)
。例えば、インデックスiが1の予測動きベクトルの候補mvListLX[1]が削除され、インデ
ックスiが0及び2の予測動きベクトルの候補mvListLX[0], mvListLX[2]が残った場合、
インデックスiが2の予測動きベクトルの候補mvListLX[2]を新たにインデックスiが1の
予測動きベクトルの候補mvListLX[1]に変更する。さらに、インデックスiが2の予測動き
ベクトルの候補mvListLX[2]は存在しないものと設定する。
The motion vector redundancy candidate deletion units 123 and 223 perform the motion vector predictor list mvpListL.
The spatially predicted motion vector candidates registered in X are compared with each other (S4101), and when a plurality of motion vector candidates have the same value (YES in S4102), redundant motion vector candidates and Judgment is made, and redundant motion vector candidates are removed except for the motion vector candidate of the smallest index i, that is, the smallest index i (S4103). Here, the motion vector candidates are not compared between the temporal prediction motion vector candidates and the spatial prediction motion vector candidates. Generation of temporal prediction motion vector candidates and spatial prediction motion vector candidates may be implemented by parallel processing because of different motion information memories to be accessed and different processing amounts. If the motion vector comparison between the temporal motion vector predictor candidate and the spatial motion vector predictor candidate is performed, a waiting time occurs when performing parallel processing. Therefore, since it is desirable that there is no dependency between the temporal prediction motion vector candidate and the spatial prediction motion vector candidate, the present invention does not perform motion vector redundancy comparison between the temporal prediction motion vector candidate and the spatial prediction motion vector candidate. Here, in order to further reduce the processing amount, it is also possible not to determine whether the prediction vectors between the spatial prediction motion vector candidates are the same. 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 motion vector predictor candidates with the smallest (S4104).
. For example, when the motion vector candidate mvListLX [1] with the index i = 1 is deleted and the motion vector candidates mvListLX [0], mvListLX [2] with the index i = 0 and 2 remain,
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.

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

予測動きベクトル候補数制限部124及び予測動きベクトル候補数制限部224はLX
の予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数num
MVPCandLXを規定された最終候補数finalNumMVPCandに制限する。
The predicted motion vector candidate number limit unit 124 and the predicted motion vector candidate number limit unit 224
Number of motion vector motion vector candidates num registered in the motion vector motion vector list mvpListLX
Limit MVPCandLX to the specified 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)の値を持つ動きベクトルを登録し(
S5104)、numMVPCandLXに1を加算する(S5105)。numMVPCandLXとfinalNumMVP
Candが同じ値の場合(S5105のYES)、本制限処理を終了し、numMVPCandLXとfina
lNumMVPCandが同じ値でない場合(S5105のNO)、同じ値になるまで、ステップS
5104とS5105の処理を繰り返す。すなわち、LXの予測動きベクトル候補数numM
VPCandLXが最終候補数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. Register a motion vector with (
S5104), 1 is added to numMVPCandLX (S5105). numMVPCandLX and finalNumMVP
If Cand has the same value (YES in S5105), this restriction process is terminated, and numMVPCandLX and fina
If lNumMVPCand is not the same value (NO in S5105), step S
The processes of 5104 and S5105 are repeated. That is, the number of motion vector predictor candidates for LX numM
MVs having a value of (0, 0) are registered until VPCandLX 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と同じ値を設定して(S
5109)、本制限処理を終了する。
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), and the same value as finalNumMVPCand is set in numMVPCandLX (S
5109), 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.

(実施の形態2)
第二の実施の形態では、復号側では予測動きベクトルリストを生成せずに、予測動きベ
クトルを特定する。予測動きベクトルリストを生成する場合、空間候補と時間候補のそれ
ぞれでスケーリング演算を必要とするが、第二の実施の形態では予測動きベクトルリスト
を生成せずに予測動きベクトルを特定することで、スケーリング演算回数を抑制すること
が可能である。符号化装置の実施の形態及び復号装置のその他の実施の形態は実施の形態
1と同一である。なお、予測動きベクトルは第一の実施の形態と同一の復号結果が得られ
る。
(Embodiment 2)
In the second embodiment, the decoding side specifies a prediction motion vector without generating a prediction motion vector list. When generating a motion vector predictor list, a spatial operation and a time candidate each require a scaling operation, but in the second embodiment, by specifying a motion vector predictor without generating a motion vector predictor list, It is possible to suppress the number of scaling calculations. The embodiment of the encoding device and the other embodiments of the decoding device are the same as those of the first embodiment. Note that the same decoding result as that in the first embodiment is obtained for the predicted motion vector.

図22は実施の形態2における復号側の予測動きベクトル導出を示すフローチャートで
ある。
FIG. 22 is a flowchart showing prediction-side motion vector derivation on the decoding side in the second embodiment.

まず、予測動きベクトル候補のインデックスであるmvp_idx_LX及び時間候補が利用可能であるかどうかを示すavailableFlagLXColを取得する(S2201、S2202)。mvp_idx_LXとavailableFlagLXColの取得順序はとどちらでも良いので、S2201とS2202の順序を変更しても良い。次に、取得したmvp_idx_LXとavailableFlagLXColの値がmvp_idx_LX==0であり且つavailableFlagLXCol==1であるかどうかを判断する(S2203)。予測動きベクトルはmvLXCol, mvLXA, mvLXBの優先順序で登録(生成)されているため、mvp_idx_LX==0であり且つavailableFlagLXCol==1である場合には(S2203のYES)、予測動きベクトル候補は時間予測動きベクトル候補であると特定できるため、異なる時間からの予測ブロックから動きベクトルを導出し、導出された動きベクトルを予測動きベクトルとする(S2204)。mvp_idx_LX==0であり且つavailableFlagLXCol==1でない場合には(S2203のNO)、つまり、mvp_idx_LX=!0であるか、availableFlagLXCol==0の場合には、予測動きベクトル候補は空間予測動きベクトル候補であると特定できるため、空間の予測ブロックから動きベクトルを導出する。これは、本発明では予測ベクトル候補をmvLXCol, mvLXA, mvLXBの順序に登録し、時間予測動きベクトル候補の優先順位を一番高く設定しているため、時間予測動きベクトル候補が存在する場合には必ずmvp_idx_LX==0となり、mvp_idx_LX!=0の場合には、必ず空間予測動きベクトル候補と特定できること、及び、availableFlagLXCol==0の場合には、時間予測動きベクトル候補が存在しないことを示すことから、予測動きベクトルは空間予測動きベクトル候補と特定できることから、mvp_idx_LX及びavailableFlagLXColの値に応じて、予測動きベクトルが時間予測動きベクトル候補であるか、空間予測動きベクトル候補であるかを判断可能である。   First, mvp_idx_LX, which is an index of a motion vector predictor candidate, and availableFlagLXCol indicating whether the time candidate is available are acquired (S2201, S2202). Since the order of obtaining mvp_idx_LX and availableFlagLXCol may be either, the order of S2201 and S2202 may be changed. Next, it is determined whether the values of the acquired mvp_idx_LX and availableFlagLXCol are mvp_idx_LX == 0 and availableFlagLXCol == 1 (S2203). Since the predicted motion vectors are registered (generated) in the priority order of mvLXCol, mvLXA, and mvLXB, when mvp_idx_LX == 0 and availableFlagLXCol == 1 (YES in S2203), the predicted motion vector candidate is time Since it can be identified as a predicted motion vector candidate, a motion vector is derived from prediction blocks from different times, and the derived motion vector is used as a predicted motion vector (S2204). If mvp_idx_LX == 0 and not availableFlagLXCol == 1 (NO in S2203), that is, if mvp_idx_LX =! 0 or availableFlagLXCol == 0, the motion vector predictor candidate is a spatial motion vector predictor candidate Therefore, the motion vector is derived from the spatial prediction block. This is because in the present invention, the prediction vector candidates are registered in the order of mvLXCol, mvLXA, mvLXB, and the priority of the temporal prediction motion vector candidates is set to be the highest. When mvp_idx_LX == 0 and mvp_idx_LX! = 0, it can always be identified as a spatial prediction motion vector candidate, and when availableFlagLXCol == 0, it indicates that there is no temporal prediction motion vector candidate. Since the predicted motion vector can be identified as a spatial motion vector predictor candidate, it can be determined whether the motion vector predictor is a temporal motion vector predictor candidate or a spatial motion vector predictor candidate according to the values of mvp_idx_LX and availableFlagLXCol. .

予測動きベクトルが空間予測動きベクトル候補であると判断した場合(S2203のN
O)、第一の実施の形態の図16のS303同様に、左側の予測ブロックから予測ベクト
ル候補を導出し(S2205)、上側の予測ブロックから予測ベクトル候補を導出する(
S2206)。続いて、左側の予測ブロックからの予測ベクトル候補と上側の予測ブロッ
クからの予測ベクトルが同一動きベクトルでないかどうかを判断し、動きベクトルが同一
である場合には、一方を削除する(S2207)。最後にmvp_idx_LXの値に基づいて予測
動きベクトルを選択する(S2208)。ここで、更なる処理量の削減のために、空間予
測動きベクトル候補間の予測ベクトルが同一であるかどうかの判断も行わずに、availabl
eFlagLXAだけで空間予測動きベクトル候補を特定することも可能である。
When it is determined that the predicted motion vector is a spatial motion vector predictor candidate (N in S2203)
O) Like S303 in FIG. 16 of the first embodiment, a prediction vector candidate is derived from the left prediction block (S2205), and a prediction vector candidate is derived from the upper prediction block (S2205).
S2206). Subsequently, it is determined whether the prediction vector candidate from the left prediction block and the prediction vector from the upper prediction block are not the same motion vector. If the motion vectors are the same, one is deleted (S2207). Finally, a motion vector predictor is selected based on the value of mvp_idx_LX (S2208). Here, in order to further reduce the processing amount, availabl does not determine whether the prediction vectors between the spatial prediction motion vector candidates are the same.
Spatial motion vector predictor candidates can be specified only by eFlagLXA.

図23に予測動きベクトルが空間予測動きベクトル候補であると判断した場合(図22
のS2203のNO)の予測動きベクトル選択(図22のS2208)のパターンを示す
。mvp_idx_LX==0であり且つavailableFlagLXCol==0の場合には空間候補の1番目を選択し
、mvp_idx_LX==1であり且つavailableFlagLXCol==1の場合には空間候補の1番目を選択し
、mvp_idx_LX==1であり且つavailableFlagLXCol==0の場合には空間候補の2番目を選択す
る。また、各条件でそれぞれ空間予測動きベクトル候補が存在しない場合には予測動きベ
クトルを(0, 0)とする。
FIG. 23 shows that the motion vector predictor is a spatial motion vector candidate (FIG. 22).
No. of S2203 in FIG. 22) shows a predicted motion vector selection pattern (S2208 in FIG. 22). When mvp_idx_LX == 0 and availableFlagLXCol == 0, the first spatial candidate is selected. When mvp_idx_LX == 1 and availableFlagLXCol == 1, the first spatial candidate is selected, and mvp_idx_LX = If = 1 and availableFlagLXCol == 0, the second candidate space is selected. In addition, when there is no spatial motion vector predictor candidate for each condition, the motion vector predictor is set to (0, 0).

第二の実施の形態のように、予測動きベクトルリストを生成せずに予測動きベクトルを
特定することで、よって、第一の実施の形態で復号する場合と同一の予測ベクトルを得ら
れる上、以下の効果がある。
As in the second embodiment, by specifying the prediction motion vector without generating the prediction motion vector list, the same prediction vector as that in the case of decoding in the first embodiment can be obtained. It has the following effects.

mvp_idx_LX及びavailableFlagLXColの値から予測動きベクトルが時間予測動きベクトル
候補であるか空間予測動きベクトル候補であるか判断可能なため、時間予測動きベクトル
候補の予測ベクトル導出処理と空間予測動きベクトル候補の予測ベクトル導出処理のどち
らか一方のみ実行すればよいため、時間予測動きベクトル候補と空間予測動きベクトル候
補の両方を導出する場合と比較して、復号処理量が約半分になる。そのためソフトウェア
においては実行速度が速くなり、ハードウェアにおいては消費電力が削減できる。
Since it is possible to determine whether the motion vector predictor is a temporal motion vector predictor candidate or a spatial motion vector predictor candidate from the values of mvp_idx_LX and availableFlagLXCol, the prediction vector derivation process of the temporal motion vector predictor candidate and the prediction vector of the spatial motion vector predictor candidate Since only one of the derivation processes needs to be executed, the amount of decoding processing is reduced by about half compared to the case of deriving both temporal prediction motion vector candidates and spatial prediction motion vector candidates. Therefore, the execution speed is increased in software, and power consumption can be reduced in hardware.

また、予測動きベクトルリストを生成する場合、時間予測動きベクトル候補及び空間予
測動きベクトル候補のそれぞれで予測動きベクトルのスケーリング演算が必要な場合にお
いて、第一の実施の形態では、時間予測動きベクトル候補導出に1回、空間予測動きベク
トル候補導出に1回、スケーリング演算が必要であったが、第二の実施の形態では、時間
予測動きベクトル候補の予測ベクトル導出処理と空間予測動きベクトル候補の予測ベクト
ル導出処理のどちらかを選択して実行するため、復号側ではスケーリング演算を1回のみ
行うことで予測動きベクトルを導出可能である。そのため、特にハードウェアで除算が必
要となるスケーリング回路を、時間予測動きベクトル候補導出用と空間予測動きベクトル
候補導出用で共用可能になるため、回路規模を削減できる。
In addition, when generating a motion vector predictor list, when a motion vector scaling operation is required for each of a temporal motion vector predictor candidate and a spatial motion vector predictor candidate, in the first embodiment, a temporal motion vector predictor candidate Although a scaling operation is required once for derivation and once for spatial prediction motion vector candidate derivation, in the second embodiment, prediction vector derivation processing of temporal prediction motion vector candidates and prediction of spatial prediction motion vector candidates are performed. Since either one of the vector derivation processes is selected and executed, the prediction motion vector can be derived by performing the scaling operation only once on the decoding side. For this reason, a scaling circuit that requires division by hardware can be commonly used for temporal prediction motion vector candidate derivation and spatial prediction motion vector candidate derivation, so that the circuit scale can be reduced.

さらに、本発明の第一の実施の形態と第二の実施の形態の復号結果は同一であるため、
復号側でアーキテクチャの選択が可能となる。つまり、カムコーダなど符号化装置と復号
装置が一体となっているシステムなど、復号側と符号化側で同一の構成にしたい場合は、
第一の実施の形態のように予測動きベクトルのリストを生成して予測動きベクトルを特定
すれば良い。一方、復号側の処理量を削減することのみに注力する場合は、第二の実施の
形態のように、予測動きベクトルのリストを生成せずに時間候補であるか空間候補である
かを特定した後、空間候補導出又は時間候補導出の一方のみを動作させ予測動きベクトル
を特定すればよい。
Furthermore, since the decoding results of the first embodiment and the second embodiment of the present invention are the same,
The architecture can be selected on the decoding side. In other words, if you want to have the same configuration on the decoding side and encoding side, such as a system in which the encoding device and decoding device are integrated, such as a camcorder,
As in the first embodiment, a predicted motion vector list may be generated to identify a predicted motion vector. On the other hand, when focusing only on reducing the amount of processing on the decoding side, specify whether it is a temporal candidate or a spatial candidate without generating a list of predicted motion vectors, as in the second embodiment. After that, only one of the spatial candidate derivation and the temporal candidate derivation is operated to specify the predicted motion vector.

このような本発明の効果をもたらす実施の形態のポイントは以下の2点である。   The points of the embodiment that bring about the effects of the present invention are the following two points.

1.時間予測動きベクトル候補(候補が1つ)を空間予測動きベクトル候補(候補が2
つ)より優先順位を高く設定すること。
1. A temporal motion vector predictor candidate (one candidate) is converted into a spatial motion vector predictor candidate (candidate is 2).
2) Set a higher priority.

2.予測動きベクトルが同一である場合の冗長候補削除処理を時間予測動きベクトル候
補と空間予測動きベクトル候補間では行わないこと。(空間予測動きベクトル候補間のみ
冗長候補削除処理を許可する。)
2. The redundant candidate deletion process when the predicted motion vectors are the same is not performed between the temporal motion vector predictor candidate and the spatial motion vector predictor candidate. (Redundant candidate deletion processing is permitted only between spatial prediction motion vector candidates.)

つまり、単一の予測動きベクトル候補を持ち時間予測動きベクトル候補利用可能フラグ
availableFlagLXColによって予測動きベクトル候補が存在するかどうかを一意に決定でき
る時間予測動きベクトル候補の優先順位を高く設定し、複数の予測動きベクトル候補を持
ち予測動きベクトル候補の数が変化する空間予測動きベクトルの優先順位を低く設定して
予測動きベクトルを予測動きベクトルのリストに登録することが特徴である。空間予測動
きベクトル候補間では同一性判定により、冗長な候補が削除されて候補数が削減されるた
め、予測動きベクトル候補リスト上では優先順位を低くして下位に登録する。一方、時間
予測動きベクトル候補は、空間予測動きベクトル候補との間では同一性判定がされないた
め、時間予測動きベクトル候補については、予測動きベクトル候補リスト上では優先順位
を高くして上位に登録する。これにより、空間予測動きベクトルと時間予測動きベクトル
をリスト上で分離することが可能になり、動きベクトル予測において空間方向と時間方向
の分離性を高め、処理の効率化や回路規模の削減を図ることができる。
In other words, a temporal motion vector predictor candidate availability flag having a single motion vector predictor candidate
Spatial motion vector predictor that sets the priority of temporal motion vector candidates that can uniquely determine whether there is a motion vector predictor candidate availableFlagLXCol, sets multiple motion vector predictor candidates, and changes the number of motion vector predictor candidates It is a feature that the predicted motion vectors are registered in the list of predicted motion vectors with a lower priority set. Since the redundant candidates are deleted and the number of candidates is reduced by the identity determination between the spatial motion vector predictor candidates, the priority order is lowered and registered in the lower order on the motion vector predictor candidate list. On the other hand, since the temporal motion vector predictor candidate is not determined to be identical with the spatial motion vector predictor candidate, the temporal motion vector predictor candidate is registered at a higher priority on the motion vector predictor candidate list. . As a result, it is possible to separate the spatial prediction motion vector and the temporal prediction motion vector on the list, increase the separation between the spatial direction and the temporal direction in the motion vector prediction, and improve the processing efficiency and the circuit scale. be able to.

以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実
施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォ
ーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータ
フォーマットの符号化ストリームを復号することができる。
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 動きベクトル減算部、 201
分離部、 202 第1符号化ビット列復号部、 203 第2符号化ビット列復号部
、 204 動きベクトル算出部、 205 インター予測情報推定部、 206 動き
補償予測部、 207 逆量子化・逆直交変換部、 208 復号画像信号重畳部、 2
09 符号化情報格納メモリ、 210 復号画像メモリ、 221 予測動きベクトル
候補生成部、 222 予測動きベクトル候補登録部、 223 予測動きベクトル冗長
候補削除部、 224 予測動きベクトル候補数制限部、 225 予測動きベクトル選
択部、 226 動きベクトル加算部。
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 Prediction motion vector selection unit, 127 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, 2
09 encoding information storage memory, 210 decoded image memory, 221 prediction motion vector candidate generation unit, 222 prediction motion vector candidate registration unit, 223 prediction motion vector redundant candidate deletion unit, 224 prediction motion vector candidate number limiting unit, 225 prediction motion vector A selection unit, 226 a motion vector addition unit.

Claims (6)

動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、
規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号部と、
復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成部と、
空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除部と、
予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加部と、
復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択部と、
前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出部と
を備えることを特徴とする動画像復号装置。
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 a predicted motion vector to be selected from a predicted motion vector candidate list including a specified number of predicted motion vector candidates, together with a difference motion vector;
Predicted motion vector candidate generation by generating a motion vector candidate list by deriving a plurality of motion vector predictor candidates by predicting from a motion vector of a decoded block spatially or temporally close to the decoding target block And
Compare whether the vector value of the predicted motion vector predicted from the spatially adjacent decoded block is the same as the vector value of the predicted motion vector predicted from the temporally adjacent decoded block Without comparing the predicted motion vector candidates predicted from the spatially adjacent decoded blocks, whether the vector values are the same, the predicted motion vector candidates having the same vector value are A motion vector redundancy candidate deletion unit that deletes at least one from the motion vector candidate list;
When the number of motion vector predictor candidates in the motion vector predictor candidate list after the motion vector redundant candidate deletion is less than a specified number, the motion vector predictor candidates are set such that the number of motion vector predictor candidates is a specified number. A motion vector predictor candidate number adding unit for adding a candidate motion vector predictor to the list;
A motion vector predictor selection unit that selects a motion vector predictor from the motion vector predictor candidate list limited to include a predetermined number of motion vector predictor candidates based on the decoded information indicating the motion vector predictor to be selected; ,
A moving picture decoding apparatus comprising: a motion vector calculating unit that calculates a motion vector used for motion compensated prediction by adding the selected predicted motion vector and the difference motion vector.
動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置が実行する動画像復号方法であって、
規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号ステップと、
復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成ステップと、
空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除ステップと、
予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加ステップと、
復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、
前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出ステップと
を有することを特徴とする動画像復号方法。
A moving picture decoding method executed by a moving picture decoding apparatus that 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 step of decoding information indicating a prediction motion vector to be selected from a prediction motion vector candidate list including a predetermined number of prediction motion vector candidates together with a difference motion vector;
Predicted motion vector candidate generation by generating a motion vector candidate list by deriving a plurality of motion vector predictor candidates by predicting from a motion vector of a decoded block spatially or temporally close to the decoding target block Steps,
Compare whether the vector value of the predicted motion vector predicted from the spatially adjacent decoded block is the same as the vector value of the predicted motion vector predicted from the temporally adjacent decoded block Without comparing the predicted motion vector candidates predicted from the spatially adjacent decoded blocks, whether the vector values are the same, the predicted motion vector candidates having the same vector value are A predicted motion vector redundant candidate deletion step of deleting at least one from the motion vector candidate list;
When the number of motion vector predictor candidates in the motion vector predictor candidate list after the motion vector redundant candidate deletion is less than a specified number, the motion vector predictor candidates are set such that the number of motion vector predictor candidates is a specified number. A step of adding a number of motion vector predictor candidates for adding a candidate motion vector predictor to the list;
A prediction motion vector selection step of selecting a prediction motion vector from the prediction motion vector candidate list limited to be composed of a predetermined number of prediction motion vector candidates based on the decoded information indicating the prediction motion vector to be selected; ,
A moving picture decoding method comprising: a motion vector calculating step of calculating a motion vector used for motion compensation prediction by adding the selected predicted motion vector and the difference motion vector.
動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置が備えるコンピュータに実行させる動画像復号プログラムであって、
規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号ステップと、
復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成ステップと、
空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除ステップと、
予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加ステップと、
復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、
前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出ステップと
をコンピュータに実行させることを特徴とする動画像復号プログラム。
A moving picture decoding program to be executed by a computer provided in 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 step of decoding information indicating a prediction motion vector to be selected from a prediction motion vector candidate list including a predetermined number of prediction motion vector candidates together with a difference motion vector;
Predicted motion vector candidate generation by generating a motion vector candidate list by deriving a plurality of motion vector predictor candidates by predicting from a motion vector of a decoded block spatially or temporally close to the decoding target block Steps,
Compare whether the vector value of the predicted motion vector predicted from the spatially adjacent decoded block is the same as the vector value of the predicted motion vector predicted from the temporally adjacent decoded block Without comparing the predicted motion vector candidates predicted from the spatially adjacent decoded blocks, whether the vector values are the same, the predicted motion vector candidates having the same vector value are A predicted motion vector redundant candidate deletion step of deleting at least one from the motion vector candidate list;
When the number of motion vector predictor candidates in the motion vector predictor candidate list after the motion vector redundant candidate deletion is less than a specified number, the motion vector predictor candidates are set such that the number of motion vector predictor candidates is a specified number. A step of adding a number of motion vector predictor candidates for adding a candidate motion vector predictor to the list;
A prediction motion vector selection step of selecting a prediction motion vector from the prediction motion vector candidate list limited to be composed of a predetermined number of prediction motion vector candidates based on the decoded information indicating the prediction motion vector to be selected; ,
A moving picture decoding program that causes a computer to execute a motion vector calculating step of calculating a motion vector used for motion compensated prediction by adding the selected predicted motion vector and the difference motion vector.
動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する受信装置であって、
パケット化された符号化データをネットワークを介して受信する受信部と、
受信された符号化データをパケット処理して符号化ストリームを生成するパケット処理部と、
前記符号化ストリームから、規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号部と、
復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成部と、
空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除部と、
予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加部と、
復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択部と、
前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出部と
を備えることを特徴とする受信装置。
A receiving apparatus that 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 receiving unit for receiving packetized encoded data via a network;
A packet processing unit that packet-processes received encoded data to generate an encoded stream;
A decoding unit that decodes information indicating a prediction motion vector to be selected from a prediction motion vector candidate list including a predetermined number of prediction motion vector candidates from the encoded stream together with a difference motion vector;
Predicted motion vector candidate generation by generating a motion vector candidate list by deriving a plurality of motion vector predictor candidates by predicting from a motion vector of a decoded block spatially or temporally close to the decoding target block And
Compare whether the vector value of the predicted motion vector predicted from the spatially adjacent decoded block is the same as the vector value of the predicted motion vector predicted from the temporally adjacent decoded block Without comparing the predicted motion vector candidates predicted from the spatially adjacent decoded blocks, whether the vector values are the same, the predicted motion vector candidates having the same vector value are A motion vector redundancy candidate deletion unit that deletes at least one from the motion vector candidate list;
When the number of motion vector predictor candidates in the motion vector predictor candidate list after the motion vector redundant candidate deletion is less than a specified number, the motion vector predictor candidates are set such that the number of motion vector predictor candidates is a specified number. A motion vector predictor candidate number adding unit for adding a candidate motion vector predictor to the list;
A motion vector predictor selection unit that selects a motion vector predictor from the motion vector predictor candidate list limited to include a predetermined number of motion vector predictor candidates based on the decoded information indicating the motion vector predictor to be selected; ,
A receiving apparatus comprising: a motion vector calculating unit that calculates a motion vector used for motion compensated prediction by adding the selected predicted motion vector and the difference motion vector.
動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する受信装置が実行する受信方法であって、
パケット化された符号化データをネットワークを介して受信する受信ステップと、
受信された符号化データをパケット処理して符号化ストリームを生成するパケット処理ステップと、
前記符号化ストリームから、規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号ステップと、
復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成ステップと、
空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除ステップと、
予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加ステップと、
復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、
前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出ステップと
を有することを特徴とする受信方法。
A receiving method executed by a receiving apparatus that 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 reception step of receiving packetized encoded data via a network;
A packet processing step for packet-processing received encoded data to generate an encoded stream;
A decoding step of decoding information indicating a prediction motion vector to be selected from a prediction motion vector candidate list including a predetermined number of prediction motion vector candidates from the encoded stream together with a difference motion vector;
Predicted motion vector candidate generation by generating a motion vector candidate list by deriving a plurality of motion vector predictor candidates by predicting from a motion vector of a decoded block spatially or temporally close to the decoding target block Steps,
Compare whether the vector value of the predicted motion vector predicted from the spatially adjacent decoded block is the same as the vector value of the predicted motion vector predicted from the temporally adjacent decoded block Without comparing the predicted motion vector candidates predicted from the spatially adjacent decoded blocks, whether the vector values are the same, the predicted motion vector candidates having the same vector value are A predicted motion vector redundant candidate deletion step of deleting at least one from the motion vector candidate list;
When the number of motion vector predictor candidates in the motion vector predictor candidate list after the motion vector redundant candidate deletion is less than a specified number, the motion vector predictor candidates are set such that the number of motion vector predictor candidates is a specified number. A step of adding a number of motion vector predictor candidates for adding a candidate motion vector predictor to the list;
A prediction motion vector selection step of selecting a prediction motion vector from the prediction motion vector candidate list limited to be composed of a predetermined number of prediction motion vector candidates based on the decoded information indicating the prediction motion vector to be selected; ,
A receiving method comprising: a motion vector calculating step of calculating a motion vector used for motion compensated prediction by adding the selected predicted motion vector and the difference motion vector.
動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する受信装置が備えるコンピュータに実行させる受信プログラムであって、
パケット化された符号化データをネットワークを介して受信する受信ステップと、
受信された符号化データをパケット処理して符号化ストリームを生成するパケット処理ステップと、
前記符号化ストリームから、規定の数の予測動きベクトル候補からなる予測動きベクトル候補リストの中から選択すべき予測動きベクトルを示す情報を、差分動きベクトルとともに復号する復号ステップと、
復号対象ブロックと空間的又は時間的に近接する復号済みブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を導出し、予測動きベクトル候補リストを生成する予測動きベクトル候補生成ステップと、
空間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値と、時間的に近接する復号済みブロックから予測された予測動きベクトルのベクトルの値とが同一であるかどうかを比較することなく、空間的に近接する復号済みブロックから予測された予測動きベクトルの候補間でベクトルの値が同一であるかどうかを比較し、ベクトルの値が同一の予測動きベクトルの候補を、前記予測動きベクトル候補リストから少なくとも1つを残して削除する予測動きベクトル冗長候補削除ステップと、
予測動きベクトル冗長候補削除後の予測動きベクトル候補リストの予測動きベクトルの候補の数が規定の数より少ない場合、予測動きベクトルの候補の数が規定の数となるように、前記予測動きベクトル候補リストに所定の予測動きベクトルの候補を追加する予測動きベクトル候補数追加ステップと、
復号された前記選択すべき予測動きベクトルを示す情報にもとづいて、規定の数の予測動きベクトル候補からなるよう制限された前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、
前記選択された予測動きベクトルと前記差分動きベクトルを加算することにより動き補償予測に用いる動きベクトルを算出する動きベクトル算出ステップと
をコンピュータに実行させることを特徴とする受信プログラム。
A reception program to be executed by a computer included in a reception device that decodes a coded bit string obtained by coding the moving image using motion compensation in units of blocks obtained by dividing each picture of the moving image,
A reception step of receiving packetized encoded data via a network;
A packet processing step for packet-processing received encoded data to generate an encoded stream;
A decoding step of decoding information indicating a prediction motion vector to be selected from a prediction motion vector candidate list including a predetermined number of prediction motion vector candidates from the encoded stream together with a difference motion vector;
Predicted motion vector candidate generation by generating a motion vector candidate list by deriving a plurality of motion vector predictor candidates by predicting from a motion vector of a decoded block spatially or temporally close to the decoding target block Steps,
Compare whether the vector value of the predicted motion vector predicted from the spatially adjacent decoded block is the same as the vector value of the predicted motion vector predicted from the temporally adjacent decoded block Without comparing the predicted motion vector candidates predicted from the spatially adjacent decoded blocks, whether the vector values are the same, the predicted motion vector candidates having the same vector value are A predicted motion vector redundant candidate deletion step of deleting at least one from the motion vector candidate list;
When the number of motion vector predictor candidates in the motion vector predictor candidate list after the motion vector redundant candidate deletion is less than a specified number, the motion vector predictor candidates are set such that the number of motion vector predictor candidates is a specified number. A step of adding a number of motion vector predictor candidates for adding a candidate motion vector predictor to the list;
A prediction motion vector selection step of selecting a prediction motion vector from the prediction motion vector candidate list limited to be composed of a predetermined number of prediction motion vector candidates based on the decoded information indicating the prediction motion vector to be selected; ,
A reception program causing a computer to execute a motion vector calculation step of calculating a motion vector used for motion compensation prediction by adding the selected predicted motion vector and the difference motion vector.
JP2014182102A 2014-09-08 2014-09-08 Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program Active JP5874790B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014182102A JP5874790B2 (en) 2014-09-08 2014-09-08 Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014182102A JP5874790B2 (en) 2014-09-08 2014-09-08 Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011289286A Division JP5617834B2 (en) 2011-12-28 2011-12-28 Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016007145A Division JP6037061B2 (en) 2016-01-18 2016-01-18 Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program

Publications (2)

Publication Number Publication Date
JP2015019402A JP2015019402A (en) 2015-01-29
JP5874790B2 true JP5874790B2 (en) 2016-03-02

Family

ID=52439939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014182102A Active JP5874790B2 (en) 2014-09-08 2014-09-08 Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program

Country Status (1)

Country Link
JP (1) JP5874790B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9319716B2 (en) * 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding

Also Published As

Publication number Publication date
JP2015019402A (en) 2015-01-29

Similar Documents

Publication Publication Date Title
TWI616091B (en) Dynamic image decoding device, dynamic image decoding method, and recording medium storing dynamic image decoding program
JP6079912B2 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
JP6015821B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, 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
JP6183505B2 (en) Video encoding device
JP5962877B1 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission 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
JP5617834B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP2013131918A (en) Video decoder, video decoding method and video decoding program
JP5975146B2 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
JP5874790B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP5874792B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP5874793B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP5874791B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP2013074468A (en) Moving image decoder, moving image decoding method, and moving image decoding program
JP6037061B2 (en) Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program
JP5962876B1 (en) Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program
JP5962875B1 (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
JP2013074467A (en) Moving image encoder, moving image encoding method, and moving image encoding program
JP2013192080A (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

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141211

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20150717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160104

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 5874790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150