"動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、予測動きベクトル候補リストにおける選択すべき予測動きベクトルのインデックスを示す情報を差分動きベクトルとともに復号する復号部と、復号対象ブロックと同一ピクチャ内の前記復号対象ブロックと隣接する復号済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成する予測動きベクトル候補生成部と、生成された前記予測動きベクトルの候補を、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、前記予測動きベクトル候補リストに登録する予測動きベクトル候補登録部と、復号された前記予測動きベクトル候補リストにおける前記選択すべき予測動きベクトルのインデックスを示す情報にもとづいて、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択部と、選択された前記予測動きベクトルのスケーリング演算処理前の予測ベクトル値を前記ピクチャ間距離に応じてスケーリング演算する予測動きベクトルスケーリング演算部と、スケーリング演算処理後の前記予測動きベクトルと前記差分動きベクトルとを加算して前記復号対象ブロックの動きベクトルを算出する加算部とを備えることを特徴とする動画像復号装置。前記予測動きベクトル候補リストに登録された前記予測動きベクトルの候補の内、互いにスケーリング演算処理前の予測動きベクトル値が一致する候補については、一つの候補を残して残りは削除する予測動きベクトル冗長候補削除部をさらに備えることを特徴とする請求項1に記載の動画像復号装置。前記予測動きベクトル候補リストに登録された前記予測動きベクトルの候補の内、互いにスケーリング演算処理前の予測動きベクトル値および前記ピクチャ間距離が一致する候補については、一つの候補を残して残りは削除する予測動きベクトル冗長候補削除部をさらに備えることを特徴とする請求項1に記載の動画像復号装置。動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号方法であって、予測動きベクトル候補リストにおける選択すべき予測動きベクトルのインデックスを示す情報を差分動きベクトルとともに復号する復号ステップと、復号対象ブロックと同一ピクチャ内の前記復号対象ブロックと隣接する復号済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成する予測動きベクトル候補生成ステップと、生成された前記予測動きベクトルの候補を、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、前記予測動きベクトル候補リストに登録する予測動きベクトル候補登録ステップと、復号された前記予測動きベクトル候補リストにおける前記選択すべき予測動きベクトルのインデックスを示す情報にもとづいて、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、選択された前記予測動きベクトルのスケーリング演算処理前の予測ベクトル値を前記ピクチャ間距離に応じてスケーリング演算する予測動きベクトルスケーリング演算ステップと、スケーリング演算処理後の前記予測動きベクトルと前記差分動きベクトルとを加算して前記復号対象ブロックの動きベクトルを算出する加算ステップとを備えることを特徴とする動画像復号方法。動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号プログラムであって、予測動きベクトル候補リストにおける選択すべき予測動きベクトルのインデックスを示す情報を差分動きベクトルとともに復号する復号ステップと、復号対象ブロックと同一ピクチャ内の前記復号対象ブロックと隣接する復号済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成する予測動きベクトル候補生成ステップと、生成された前記予測動きベクトルの候補を、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、前記予測動きベクトル候補リストに登録する予測動きベクトル候補登録ステップと、復号された前記予測動きベクトル候補リストにおける前記選択すべき予測動きベクトルのインデックスを示す情報にもとづいて、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、選択された前記予測動きベクトルのスケーリング演算処理前の予測ベクトル値を前記ピクチャ間距離に応じてスケーリング演算する予測動きベクトルスケーリング演算ステップと、スケーリング演算処理後の前記予測動きベクトルと前記差分動きベクトルとを加算して前記復号対象ブロックの動きベクトルを算出する加算ステップとをコンピュータに実行させることを特徴とする動画像復号プログラム。しかし、従来の方法では、予測ベクトルは一つしか得られないため、画像によっては予測動きベクトルの予測精度が低下し、符号化効率が良くならない場合もあった。このような状況下、本発明者らは、動き補償予測を使用する動画像符号化方式において、符号化情報をより一層圧縮し、全体の符号量を削減する必要性を認識するに至った。本発明はこうした状況に鑑みてなされたものであり、その目的は、予測動きベクトルの候補を算出することにより、差分動きベクトルの符号量の削減を図って符号化効率を向上させる動画像復号技術を提供することにある。また、別の目的は、符号化情報の候補を算出することにより、符号化情報の符号量の削減を図って符号化効率を向上させる動画像復号技術を提供することにある。上記課題を解決するために、本発明のある態様の動画像復号装置は、動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、予測動きベクトル候補リストにおける選択すべき予測動きベクトルのインデックスを示す情報を素分動きベクトルとともに復号する復号部202と、復号対象ブロックと同一ピクチャ内の前記復号対象ブロックと隣接する復号済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成する予測動きベクトル候補生成部221と、生成された前記予測動きベクトルの候補を、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、前記予測動きベクトル候補リストに登録する予測動きベクトル候補登録部222と、復号された前記予測動きベクトル候補リストにおける前記選択すべき予測動きベクトルのインデックスを示す情報にもとづいて、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択部225と、選択された前記予測動きベクトルのスケーリング演算処理前の予測ベクトル値を前記ピクチャ間距離に応じてスケーリング演算する予測動きベクトルスケーリング演算部226と、スケーリング演算処理後の前記予測動きベクトルと前記差分動きベクトルとを加算して前記復号対象ブロックの動きベクトルを算出する加算部227とを備える。本発明の別の態様は、動画像復号方法である。この方法は、動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号方法であって、予測動きベクトル候補リストにおける選択すべき予測動きベクトルのインデックスを示す情報を素分動きベクトルとともに復号する復号ステップと、復号対象ブロックと同一ピクチャ内の前記復号対象ブロックと隣接する復号済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成する予測動きベクトル候補生成ステップと、生成された前記予測動きベクトルの候補を、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、前記予測動きベクトル候補リストに登録する予測動きベクトル候補登録ステップと、復号された前記予測動きベクトル候補リストにおける前記選択すべき予測動きベクトルのインデックスを示す情報にもとづいて、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、選択された前記予測動きベクトルのスケーリング演算処理前の予測ベクトル値を前記ピクチャ間距離に応じてスケーリング演算する予測動きベクトルスケーリング演算ステップと、スケーリング演算処理後の前記予測動きベクトルと前記差分動きベクトルとを加算して前記復号対象ブロックの動きベクトルを算出する加算ステップとを備える。なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。本発明によれば、複数の予測動きベクトルを算出し、それら複数の予測動きベクトルの中から最適な予測動きベクトルを選択し、差分動きベクトルの発生符号量を削減させて、符号化効率を向上させることができる。本実施の形態では、動画像の符号化に関し、特にピクチャを任意のサイズ、形状の矩形ブロックに分割し、ピクチャ間でブロック単位に動き補償を行う動画像符号化における符号化効率を向上させる為に、符号化済みの周囲のブロックの動きベクトルから複数の予測動きベクトルを算出し、符号化対象のブロックの動きベクトルと選択された予測動きベクトルとの差分ベクトルを算出して符号化することによって符号量を削減する。あるいは、符号化済みの周囲のブロックの符号化情報を利用することにより、符号化対象ブロックの符号化情報を推定することによって符号量を削減する。また、動画像の復号の場合は、復号済みの周囲のブロックの動きベクトルから複数の予測動きベクトルを算出し、符号化ストリームから復号された差分ベクトルと選択された予測動きベクトルとから復号対象のブロックの動きベクトルを算出して復号する。あるいは、復号済みの周囲のブロックの符号化情報を利用することにより、復号対象ブロックの符号化情報を推定する。まず、本実施の形態において使用する技術、及び技術用語を定義する。ツリーブロック、符号化ブロックについて実施の形態では、図3に示されるように、ピクチャ内を任意の同一サイズの正方の矩形の単位にて均等分割する。この単位をツリーブロックと定義し、ピクチャ内での符号化/復号対象ブロック符号化処理においては符号化対象ブロック、復号処理においては復号対象ブロックのことである。以下、断りのない限り、この意味で用いる。を特定するためのアドレス管理の基本単位とする。モノクロを除きツリーブロックは1つの輝度信号と2つの色差信号で構成される。ツリーブロックのサイズはピクチャサイズやピクチャ内のテクスチャに応じて、2のべき乗のサイズで自由に設定することができる。ツリーブロックはピクチャ内のテクスチャに応じて、符号化処理を最適にすべく、必要に応じてツリーブロック内の輝度信号、及び色差信号を階層的に4分割縦横に2分割ずつして、ブロックサイズの小さいブロックにすることができる。このブロックをそれぞれ符号化ブロックと定義し、符号化及び復号を行う際の処理の基本単位とする。モノクロを除き符号化ブロックも1つの輝度信号と2つの色差信号で構成される。符号化ブロックの最大サイズはツリーブロックのサイズと同一である。符号化ブロックの最小のサイズとなる符号化ブロックを最小符号化ブロックと呼び、2のべき乗のサイズで自由に設定することができる。図3においては、符号化ブロックAは、ツリーブロックを分割せず、1つの符号化ブロックとしたものである。符号化ブロックBは、ツリーブロックを4分割してできた符号化ブロックである。符号化ブロックCは、ツリーブロックを4分割してできたブロックをさらに4分割してできた符号化ブロックである。符号化ブロックDは、ツリーブロックを4分割してできたブロックをさらに階層的に2度4分割してできた符号化ブロックであり、最小サイズの符号化ブロックである。予測モードについて符号化ブロック単位で、符号化/復号済み符号化処理においては符号化した信号を復号したピクチャ、予測ブロック、画像信号等に用い、復号処理においては復号したピクチャ、予測ブロック、画像信号等に用いる。以下、断りのない限り、この意味で用いる。の周囲の画像信号から予測を行うイントラ予測MODEINTRA、及び符号化/復号済みのピクチャの画像信号から予測を行うインター予測MODEINTERを切り替える。このイントラ予測MODEINTRAとインター予測MODEINTERを識別するモードを予測モードPredModeと定義する。予測モードPredModeはイントラ予測MODEINTRA、またはインター予測MODEINTERを値として持ち、選択して符号化できる。分割モード、予測ブロック、予測ユニットについてピクチャ内をブロックに分割してイントラ予測MODEINTRA及びインター予測MODEINTERを行う場合、イントラ予測及びインター予測の方法を切り替える単位をより小さくするために、必要に応じて符号化ブロックを分割して予測を行う。この符号化ブロックの輝度信号と色差信号の分割方法を識別するモードを分割モードPartModeと定義する。さらに、この分割されたブロックを予測ブロックと定義する。図4に示すように、符号化ブロックの輝度信号の分割方法に応じて4種類の分割モードPartModeを定義する。符号化ブロックの輝度信号を分割せず1つの予測ブロックとみなしたもの図4aの分割モードPartModeを2N×2N分割PART2Nx2N、符号化ブロックの輝度信号を水平方向に2分割し、2つの予測ブロックとしたもの図4bの分割モードPartModeを2N×N分割PART2NxN、符号化ブロックの輝度信号を垂直方向に分割し、符号化ブロックを2つの予測ブロックとしたもの図4cの分割モードPartModeをN×2N分割PARTNx2N、符号化ブロックの輝度信号を水平と垂直の均等分割により4つの予測ブロックとしたもの図4dの分割モードPartModeをN×N分割PARTNxNとそれぞれ定義する。なお、イントラ予測MODEINTRAのN×N分割PARTNxNを除き、各分割モードPartMode毎に輝度信号の縦横の分割比率と同様に色差信号も分割する。符号化ブロック内部において、各予測ブロックを特定する為に、0から開始する番号を、符号化順序で、符号化ブロック内部に存在する予測ブロックに対して割り当てる。この番号を分割インデックスPartIdxと定義する。図4の符号化ブロックの各予測ブロックの中に記述された数字は、その予測ブロックの分割インデックスPartIdxを表す。図4bに示す2N×N分割PART2NxNでは上の予測ブロックの分割インデックスPartIdxを0とし、下の予測ブロックの分割インデックスPartIdxを1とする。図4cに示すN×2N分割PARTNx2Nでは左の予測ブロックの分割インデックスPartIdxを0とし、右の予測ブロックの分割インデックスPartIdxを1とする。図4dに示すN×N分割PARTNxNでは、左上の予測ブロックの分割インデックスPartIdxを0とし、右上の予測ブロックの分割インデックスPartIdxを1とし、左下の予測ブロックの分割インデックスPartIdxを2とし、右下の予測ブロックの分割インデックスPartIdxを3とする。予測モードPredModeがインター予測MODEINTERでは、最小の符号化ブロックである符号化ブロックD以外では、分割モードPartModeは2N×2N分割PART2Nx2N、2N×N分割PART2NxN、及びN×2N分割PARTNx2Nを定義し、最小の符号化ブロックである符号化ブロックDのみ、分割モードPartModeは2N×2N分割PART2Nx2N、2N×N分割PART2NxN、及びN×2N分割PARTNx2Nに加えてN×N分割PARTNxNを定義する。なお、最小の符号化ブロック以外にN×N分割PARTNxNを定義しない理由は最小の符号化ブロック以外では、符号化ブロックを4分割して小さな符号化ブロックを表現できるからである。ツリーブロック、符号化ブロック、予測ブロック、変換ブロックの位置本実施の形態のツリーブロック、符号化ブロック、予測ブロック、変換ブロックを始めとする各ブロックの位置は、輝度信号の画面の一番左上の輝度信号の画素の位置を原点0,0とし、それぞれのブロックの領域に含まれる一番左上の輝度信号の画素の位置をx,yの二次元座標で表す。座標軸の向きは水平方向に右の方向、垂直方向に下の方向をそれぞれ正の向きとし、単位は輝度信号の1画素単位である。輝度信号と色差信号で画像サイズ画素数が同じである色差フォーマットが4:4:4の場合ではもちろんのこと、輝度信号と色差信号で画像サイズ画素数が異なる色差フォーマットが4:2:0、4:2:2の場合でも色差信号の各ブロックの位置をそのブロックの領域に含まれる輝度信号の画素の座標で表し、単位は輝度信号の1画素である。この様にすることで、色差信号の各ブロックの位置が特定できるのはもちろんのこと、座標の値を比較するだけで、輝度信号のブロックと色差信号のブロックの位置の関係も明確となる。予測ブロックグループについて複数の予測ブロックで構成されるグループを予測ブロックグループと定義する。図5、図6、図7及び図8は符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックに隣接する予測ブロックグループを説明する図である。図9は符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャにおいて、符号化/復号対象の予測ブロックと同一位置あるいはその近傍の位置に存在する既に符号化/復号済みの予測ブロックグループを説明する図である。図5、図6、図7、図8及び図9を用いて予測ブロックグループについて説明する。図5に示すように、符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックの左側の辺に隣接する予測ブロックA1、および符号化/復号対象の予測ブロックの左下の頂点に隣接する予測ブロックA0で構成される第1の予測ブロックグループを左側に隣接する予測ブロックグループと定義する。なお、図6に示すように、符号化/復号対象の予測ブロックの左側に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、左側に隣接する予測ブロックAがその符号化/復号対象の予測ブロックの左側の辺に隣接していれば予測ブロックA1とし、符号化/復号対象の予測ブロックの左下の頂点に隣接していれば予測ブロックA0とする。図6の例では、予測ブロックA0と予測ブロックA1は同一の予測ブロックとなる。なお、図7に示すように、符号化/復号対象の予測ブロックの左側の辺に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより小さく、複数存在する場合には、本実施の形態においては左側に隣接する予測ブロックの中で最も下の予測ブロックA10だけを左側に隣接する予測ブロックA1とする。符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックの上側の辺に隣接する予測ブロックB1、符号化/復号対象の予測ブロックの右上の頂点に隣接する予測ブロックB0、および符号化/復号対象の予測ブロックの左上の頂点に隣接する予測ブロックB2で構成される第2の予測ブロックグループを上側に隣接する予測ブロックグループと定義する。なお、図8に示すように、符号化/復号対象の予測ブロックの上側に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、上側に隣接する予測ブロックBがその符号化/復号対象の予測ブロックの上側の辺に隣接していれば予測ブロックB1とし、符号化/復号対象の予測ブロックの右上の頂点に隣接していれば予測ブロックB0とし、符号化/復号対象の予測ブロックの左上の頂点に隣接していれば予測ブロックB2とする。図8の例では、予測ブロックB0と予測ブロックB1と予測ブロックB2は同一の予測ブロックとなる。なお、図7に示すように、符号化/復号対象の予測ブロックの上側の辺に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより小さく、複数存在する場合には、実施の形態においては上側に隣接する予測ブロックの中で最も右の予測ブロックB10だけを上側に隣接する予測ブロックB1とする。図9に示すように、符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャにおいて、符号化/復号対象の予測ブロックと同一位置あるいはその近傍の位置に存在する既に符号化/復号済みの予測ブロックグループT0およびT1で構成される第3の予測ブロックグループを異なる時間の予測ブロックグループと定義する。インター予測モード、参照リストについて本発明の実施の形態においては、符号化/復号済みのピクチャの画像信号から予測を行うインター予測では、複数の復号済みのピクチャを参照ピクチャとして用いることができる。複数の参照ピクチャから選択された参照ピクチャを特定するため、予測ブロック毎に参照インデックスを付ける。Bスライスでは予測ブロック毎に任意の2枚の参照ピクチャを選択してインター予測ことができ、インター予測モードとしてL0予測PredL0、L1予測PredL1、双予測PredBIがある。参照ピクチャはリスト構造のL0参照リスト0とL1参照リスト1で管理され、L0またはL1の参照インデックスを指定することにより参照ピクチャを特定することができる。L0予測PredL0はL0で管理されている参照ピクチャを参照するインター予測であり、L1予測PredL1はL1で管理されている参照ピクチャを参照するインター予測であり、双予測PredBIはL0予測とL1予測が共に行われ、L0とL1のそれぞれで管理されている1つずつの参照ピクチャを参照するインター予測である。Pスライスのインター予測ではL0予測のみが使用でき、Bスライスのインター予測ではL0予測、L1予測、L0予測とL1予測を平均または重み付け加算する双予測PredBIが使用できる。以降の処理において出力に添え字LXXは0または1が付いている定数、変数に関しては、L0、L1ごとに処理が行われることを前提とする。POCについてPOCは符号化されるピクチャに関連付けられる変数とし、ピクチャの出力/表示順序で1ずつ増加する値が設定される。POCの値によって、同じピクチャであるかを判別したり、出力/表示順序でのピクチャ間の前後関係を判別したり、ピクチャ間の距離を導出したりすることができる。例えば、2つのピクチャのPOCが同じ値を持つ場合、同一のピクチャであると判断できる。2つのピクチャのPOCが違う値を持つ場合、POCの値が小さいピクチャのほうが、時間的に先に出力/表示されるピクチャであると判断でき、2つのピクチャのPOCの差が時間軸方向でのピクチャ間距離を示す。以下、図面と共に本発明の実施の形態を説明する。図1は本発明の実施の形態に係る動画像符号化装置の構成を示すブロック図である。実施の形態の動画像符号化装置は、画像メモリ101、動きベクトル検出部102、差分動きベクトル算出部103、インター予測情報推定部104、動き補償予測部105、予測方法決定部106、残差信号生成部107、直交変換量子化部108、第1の符号化ビット列生成部109、第2の符号化ビット列生成部110、多重化部111、逆量子化逆直交変換部112、復号画像信号重畳部113、符号化情報格納メモリ114、および復号画像メモリ115を備える。画像メモリ101は、撮影/表示時間順に供給された符号化対象のピクチャの画像信号を一時格納する。画像メモリ101は、格納された符号化対象のピクチャの画像信号を、所定の画素ブロック単位で、動きベクトル検出部102、予測方法決定部106、および残差信号生成部107に供給する。その際、撮影/表示時間順に格納されたピクチャの画像信号は、符号化順序に並べ替えられて、画素ブロック単位で、画像メモリ101から出力される。動きベクトル検出部102は、画像メモリ101から供給される画像信号と復号画像メモリ115から供給される参照ピクチャ間でブロックマッチング等により各予測ブロックサイズ、各予測モードのそれぞれの動きベクトルを各予測ブロック単位で検出し、検出された動きベクトルを動き補償予測部105、差分動きベクトル算出部103、および予測方法決定部106に供給する。差分動きベクトル算出部103は、符号化情報格納メモリ114に記憶されている既に符号化された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を算出して後述する予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から最適な予測動きベクトルを選択し、動きベクトル検出部102が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを予測方法決定部106に供給する。さらに、予測動きベクトルリストに登録された予測動きベクトルの候補から選択された予測動きベクトルを特定する予測動きベクトルインデックスを予測方法決定部106に供給する。差分動きベクトル算出部103の詳細な構成と動作は後述する。インター予測情報推定部104は、マージモードのインター予測情報を推定する。マージモードとは、当該予測ブロックの予測モード、参照インデックス参照リストに登録されている複数の参照ピクチャから動き補償予測に利用する参照ピクチャを特定するための情報、動きベクトル等のインター予測情報を符号化するのではなく、符号化済みの隣接するインター予測された予測ブロック、あるいは異なるピクチャのインター予測された予測ブロックのインター予測情報を利用するモードである。符号化情報格納メモリ114に記憶されている既に符号化された予測ブロックの符号化情報を用いて、複数のマージの候補インター予測情報の候補を算出してマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から最適なマージ候補を選択し、選択されたマージ候補の予測モード、参照インデックス、動きベクトル等のインター予測情報を動き補償予測部105に供給するとともに、選択されたマージ候補を特定するマージインデックスを予測方法決定部106に供給する。動き補償予測部105は、動きベクトル検出部102およびインター予測情報推定部104により検出された動きベクトルを用いて参照ピクチャから動き補償予測により予測画像信号を生成し、予測画像信号を予測方法決定部106に供給する。なお、L0予測、及びL1予測では、片方向の予測を行う。双予測PredBIの場合は、双方向の予測を行い、L0予測、L1予測のそれぞれのインター予測された信号に適応的に重み係数を掛け算し、オフセット値を加算して重畳し、最終的な予測画像信号を生成する。予測方法決定部106は差分動きベクトルの符号量、予測画像信号と画像信号との間の歪量等を評価することにより、複数の予測方法の中から、最適な符号化ブロック単位でインター予測PREDINTERかイントラ予測PREDINTRAかを判別する予測モードPredMode、分割モードPartModeを決定し、インター予測PREDINTERでは予測ブロック単位でマージモードか否か等の予測方法を決定し、マージモードの場合はマージインデックス、マージモードでない場合はインター予測フラグ、予測動きベクトルインデックス、L0、L1の参照インデックス、差分動きベクトル等を決定して、決定に応じた符号化情報を第1の符号化ビット列生成部109に供給する。さらに、予測方法決定部106は、決定された予測方法を示す情報、及び決定された予測方法に応じた動きベクトル等を含む符号化情報を符号化情報格納メモリ114に格納する。ここで格納する符号化情報は、予測モードPredMode、分割モードPartMode、L0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0predFlagL1、L0、L1の参照インデックスrefIdxL0refIdxL1、L0、L1の動きベクトルmvL0mvL1等である。ここで、予測モードPredModeがインター予測MODEINERの場合、L0予測を利用するかどうかを示すフラグpredFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1は共に0である。一方、予測モードPredModeがインター予測MODEINTERで、インター予測モードがL0予測PredL0の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は1L1予測を利用するかどうかを示すフラグpredFlagL1は0である。インター予測モードがL1予測PredL1の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は0L1予測を利用するかどうかを示すフラグpredFlagL1は1である。インター予測モードが双予測PredBIの場合、L0予測を利用するかどうかを示すフラグpredFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1は共に1である。予測方法決定部106は、決定された予測モードに応じた予測画像信号を残差信号生成部107と復号画像信号重畳部113に供給する。残差信号生成部107は、符号化する画像信号と予測画像信号との減算を行うことにより残差信号を生成し、直交変換量子化部108に供給する。直交変換量子化部108は、残差信号に対して量子化パラメータに応じて直交変換及び量子化を行い直交変換量子化された残差信号を生成し、第2の符号化ビット列生成部110と逆量子化逆直交変換部112に供給する。さらに、直交変換量子化部108は、量子化パラメータを符号化情報格納メモリ114に格納する。第1の符号化ビット列生成部109は、シーケンス、ピクチャ、スライス、符号化ブロック単位の情報に加えて、符号化ブロック及び予測ブロック毎に予測方法決定部106によって決定された予測方法に応じた符号化情報を符号化する。具体的には、符号化ブロック毎の予測モードPredMode、分割モードPartMode、インター予測PREDINTERの場合、マージモードかどうかを判別するフラグ、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、差分動きベクトルに関する情報等の符号化情報を後述する規定のシンタックス規則に従って符号化して第1の符号化ビット列を生成し、多重化部111に供給する。第2の符号化ビット列生成部110は、直交変換及び量子化された残差信号を規定のシンタックス規則に従ってエントロピー符号化して第2の符号化ビット列を生成し、多重化部111に供給する。多重化部111で、第1の符号化ビット列と第2の符号化ビット列を規定のシンタックス規則に従って多重化し、ビットストリームを出力する。逆量子化逆直交変換部112は、直交変換量子化部108から供給された直交変換量子化された残差信号を逆量子化及び逆直交変換して残差信号を算出し、復号画像信号重畳部113に供給する。復号画像信号重畳部113は、予測方法決定部106による決定に応じた予測画像信号と逆量子化逆直交変換部112で逆量子化及び逆直交変換された残差信号を重畳して復号画像を生成し、復号画像メモリ115に格納する。なお、復号画像に対して符号化によるブロック歪等の歪を減少させるフィルタリング処理を施して、復号画像メモリ115に格納されることもある。図2は図1の動画像符号化装置に対応した本発明の実施の形態に係る動画像復号装置の構成を示すブロックである。実施の形態の動画像復号装置は、分離部201、第1符号化ビット列復号部202、第2符号化ビット列復号部203、動きベクトル算出部204、インター予測情報推定部205、動き補償予測部206、逆量子化逆直交変換部207、復号画像信号重畳部208、符号化情報格納メモリ209、および復号画像メモリ210を備える。図2の動画像復号装置の復号処理は、図1の動画像符号化装置の内部に設けられている復号処理に対応するものであるから、図2の動き補償予測部206、逆量子化逆直交変換部207、復号画像信号重畳部208、符号化情報格納メモリ209、および復号画像メモリ210の各構成は、図1の動画像符号化装置の動き補償予測部105、逆量子化逆直交変換部112、復号画像信号重畳部113、符号化情報格納メモリ114、および復号画像メモリ115の各構成とそれぞれ対応する機能を有する。分離部201に供給されるビットストリームは規定のシンタックスの規則に従って分離し、分離された符号化ビット列が第1符号化ビット列復号部202、第2符号化ビット列復号部203に供給される。第1符号化ビット列復号部202は、供給された符号化ビット列を復号して、シーケンス、ピクチャ、スライス、符号化ブロック単位の情報、及び、予測ブロック単位の符号化情報を得る。具体的には、符号化ブロック単位でインター予測PREDINTERかイントラ予測PREDINTRAかを判別する予測モードPredMode、分割モードPartMode、インター予測PREDINTERの場合、マージモードかどうかを判別するフラグ、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、差分動きベクトル等に関する符号化情報を後述する規定のシンタックス規則に従って復号し、符号化情報を動きベクトル算出部204またはインター予測情報推定部205に供給する。第2符号化ビット列復号部203は、供給された符号化ビット列を復号して直交変換量子化された残差信号を算出し、直交変換量子化された残差信号を逆量子化逆直交変換部207に供給する。動きベクトル算出部204は、復号対象の予測ブロックがマージモードでない時に、符号化情報格納メモリ209に記憶されている既に復号された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を算出して後述する予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から、第1符号化ビット列復号部202で復号され供給される予測動きベクトルインデックスに応じた予測動きベクトルを選択し、第1符号化ビット列復号部202で復号された差分ベクトルと選択された予測動きベクトルから動きベクトルを算出し、他の符号化情報とともに動き補償予測部206に供給するとともに、符号化情報格納メモリ209に格納する。ここで供給格納する予測ブロックの符号化情報は、予測モードPredMode、分割モードPartMode、L0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0predFlagL1、L0、L1の参照インデックスrefIdxL0refIdxL1、L0、L1の動きベクトルmvL0mvL1等である。ここで、予測モードPredModeがインター予測MODEINTERの場合、L0予測を利用するかどうかを示すフラグpredFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1は共に0である。一方、予測モードPredModeがインター予測MODEINTERで、インター予測モードがL0予測PredL0の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は1L1予測を利用するかどうかを示すフラグpredFlagL1は0である。インター予測モードがL1予測PredL1の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は0L1予測を利用するかどうかを示すフラグpredFlagL1は1である。インター予測モードが双予測PredBIの場合、L0予測を利用するかどうかを示すフラグpredFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1は共に1である。動きベクトル算出部204の詳細な構成と動作は後述する。インター予測情報推定部205は、復号対象の予測ブロックがマージモードの時に、マージモードのインター予測情報を推定する。符号化情報格納メモリ114に記憶されている既に復号された予測ブロックの符号化情報を用いて、複数のマージの候補を算出してマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から第1符号化ビット列復号部202で復号され供給されるマージインデックスに対応したマージ候補を選択し、選択されたマージ候補の予測モードPredMode、分割モードPartMode、L0予測、及びL1予測を利用するかどうかを示すフラグ、L0、L1の参照インデックス、L0、L1の動きベクトル等のインター予測情報を動き補償予測部206に供給するとともに、符号化情報格納メモリ209に格納する。動き補償予測部206は、動きベクトル算出部204で算出された動きベクトルを用いて参照ピクチャから動き補償予測により予測画像信号を生成し、予測画像信号を復号画像信号重畳部208に供給する。なお、双予測PredBIの場合は、L0予測、L1予測の2つの動き補償予測画像信号に適応的に重み係数を掛け算して重畳し、最終的な予測画像信号を生成する。逆量子化逆直交変換部207は、第1符号化ビット列復号部202で復号された直交変換量子化された残差信号に対して逆直交変換及び逆量子化を行い、逆直交変換逆量子化された残差信号を得る。復号画像信号重畳部208は、動き補償予測部206で動き補償予測された予測画像信号と、逆量子化逆直交変換部207により逆直交変換逆量子化された残差信号とを重畳することにより、復号画像信号を復号し、復号画像メモリ210に格納する。復号画像メモリ210に格納する際には、復号画像に対して符号化によるブロック歪等を減少させるフィルタリング処理を施して、復号画像メモリ210に格納されることもある。シンタックスについて次に、本実施の形態に係る動きベクトルの予測方法を備える動画像符号化装置により符号化され、復号装置により復号される動画像のビットストリームの符号化および復号の共通規則であるシンタックスについて説明する。図10は本実施の形態により生成されるビットストリームのスライス単位でスライスヘッダーに記述される第1のシンタックス構造を示す。ただし、本実施の形態に関係のあるシンタックス要素のみを示している。スライスタイプがBの場合は、時間方向の予測動きベクトルの候補、またはマージ候補を算出する際に用いる異なる時間のピクチャcolPicが処理対象の予測ブロックが含まれるピクチャのL0の参照リスト或いはL1の参照リストのどちらに登録されている参照ピクチャを使用するかを示すフラグcollocatedfroml0flagが設置される。フラグcollocatedfroml0flagの詳細については後述する。なお、以上のシンタックス要素はピクチャ単位で設定されるシンタックス要素を記述するピクチャパラメータセットに設置してもよい。図11は予測ブロック単位に記述されるシンタックスパターンを示す。予測ブロックの予測モードPredModeの値がインター予測MODEINTERの場合、マージモードかどうかを示すmergeflagx0y0が設置される。ここで、x0、y0は輝度信号のピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、mergeflagx0y0はピクチャ内のに位置する予測ブロックのマージモードかどうかを示すフラグである。次に、mergeflagx0y0が1の場合、マージモードであることを示し、参照するマージ候補のリストであるマージリストのインデックスのシンタックス要素mergeidxx0y0が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、mergeidxx0y0はピクチャ内のに位置する予測ブロックのマージインデックスである。一方、mergeflagx0y0が0の場合、マージモードでないことを示し、スライスタイプがBの場合、インター予測モードを識別するシンタックス要素interpredflagx0y0が設置され、このシンタックス要素でL0予測PredL0、L1予測PredL1、双予測PredBIを識別する。L0、L1ごとに、参照ピクチャを特定するための参照インデックスのシンタックス要素refidxl0x0y0、refidxl1x0y0、動きベクトル検出にて求められた予測ブロックの動きベクトルと予測動きベクトルとの差分である差分動きベクトルのシンタックス要素mvdl0x0y0j、mvdl1x0y0jが設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、refidxl0x0y0、mvdl0x0y0jはそれぞれピクチャ内のに位置する予測ブロックのL0の参照インデックス、及び差分動きベクトルであり、refidxl1x0y0、mvdl1x0y0jはそれぞれピクチャ内のに位置する予測ブロックのL1の参照インデックス、及び差分動きベクトルである。また、jは差分動きベクトルの成分を表し、jが0はx成分を、jが1はy成分を表す。次に、参照する予測動きベクトルの候補のリストである予測動きベクトルリストのインデックスのシンタックス要素mvpidxl0x0y0、mvpidxl1x0y0が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、mvpidxl0x0y0、mvpidxl1x0y0はピクチャ内のに位置する予測ブロックのL0、L1の予測動きベクトルインデックスである。図12は規定された予測動きベクトルの候補数毎の予測動きベクトルインデックスのシンタックス要素mvpidxl0x0y0、mvpidxl1x0y0のエントロピー符号の一例である。予測動きベクトルの候補数が2の場合、予測動きベクトルインデックスが0の時、予測動きベクトルインデックスのシンタックス要素mvpidxl0x0y0、mvpidxl1x0y0の符号は0となり、予測動きベクトルインデックスが1の時、予測動きベクトルインデックスのシンタックス要素mvpidxl0x0y0、mvpidxl1x0y0の符号は1となる。予測動きベクトルの候補数が3の場合、予測動きベクトルインデックスが0の時、予測動きベクトルインデックスのシンタックス要素mvpidxl0x0y0、mvpidxl1x0y0の符号は0となり、予測動きベクトルインデックスが1の時、予測動きベクトルインデックスのシンタックス要素mvpidxl0x0y0、mvpidxl1x0y0の符号は10となり、予測動きベクトルインデックスが2の時、予測動きベクトルインデックスのシンタックス要素mvpidxl0x0y0、mvpidxl1x0y0の符号は11となる。本発明の実施の形態においては予測動きベクトルの候補数は後述の規定された最終候補数finalNumMVPCandと同じ値が設定され、これらの候補数の値を2と設定する。実施の形態に係る動きベクトルの予測方法は、図1の動画像符号化装置の差分動きベクトル算出部103及び図2の動画像復号装置の動きベクトル算出部204において実施される。実施の形態による動きベクトルの予測方法を図面を用いて説明する。動きベクトルの予測方法は、符号化ブロックを構成する予測ブロック単位に、符号化及び復号の処理の何れでも実施される。予測ブロックの予測モードがインター予測MODEINTERで、マージモードでない場合に、符号化の場合、符号化対象の動きベクトルから符号化する差分動きベクトルを算出する時に用いる符号化済みの動きベクトルを利用して予測動きベクトルを導出する際、復号の場合、復号対象の動きベクトルを算出する時に用いる復号済みの動きベクトルを利用して予測動きベクトルを導出する際に実施される。符号化における動きベクトルの予測上述のシンタックスに基づき、動画像のビットストリームを符号化する動画像符号化装置において、実施の形態に係る動きベクトルの予測方法の動作を説明する。動きベクトルの予測方法は、スライス単位で動き補償予測を行う場合、即ちスライスタイプがPスライス片方向予測スライス或いはBスライス両方向予測スライスの場合で、更に、スライスの中の予測ブロックの予測モードがインター予測MODEINTERで、マージモードでない差分動きベクトルを符号化または復号する予測ブロックに適用される。図13は、図1の動画像符号化装置の差分動きベクトル算出部103の詳細な構成を示す図である。図13の太枠線で囲まれる部分は差分動きベクトル算出部103を示している。更に、その内部の太点線で囲まれる部分は後述する動きベクトルの予測方法の動作部を示しており、実施の形態の動画像符号化装置と対応する動画像復号装置にも同様に設置され、符号化と復号で矛盾しない同一の判定結果を得られるようにしている。以下、この図を用いて、符号化における動きベクトルの予測方法を説明する。差分動きベクトル算出部103は、予測動きベクトル候補生成部121、予測動きベクトル候補登録部122、予測動きベクトル冗長候補削除部123、予測動きベクトル候補数制限部124、予測動きベクトル候補符号量算出部125、予測動きベクトル選択部126、予測動きベクトルスケーリング演算部127、および動きベクトル減算部128を含む。この差分動きベクトル算出部103での差分動きベクトル算出処理は、符号化対象ブロックで選択されたインター予測方法で用いる動きベクトルの差分動きベクトルをL0、L1毎にそれぞれ算出する。具体的には符号化対象ブロックの予測モードPredModeがインター予測MODEINTERで、符号化対象ブロックのインター予測モードがL0予測PredL0の場合、L0の予測動きベクトルリストmvpListL0を算出して、予測動きベクトルmvpL0を選択し、L0の動きベクトルの差分動きベクトルmvdL0を算出する。符号化対象ブロックのインター予測モードPredL1がL1予測の場合、L1の予測動きベクトルリストmvpListL1を算出して、予測動きベクトルmvpL1を選択し、L1の動きベクトルの差分動きベクトルmvdL1を算出する。符号化対象ブロックのインター予測モードが双予測PredBIの場合、L0予測とL1予測が共に行われ、L0の予測動きベクトルリストmvpListL0を算出して、L0の予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0の差分動きベクトルmvdL0を算出するとともに、L1の予測動きベクトルリストmvpListL1を算出して、L1の予測動きベクトルmvpL1を算出し、L1の動きベクトルmvL1の差分動きベクトルmvdL1をそれぞれ算出する。L0、L1それぞれについて、差分動きベクトル算出処理を行うが、L0、L1ともに共通の処理となる。したがって、以下の説明においてはL0、L1を共通のLXとして表す。L0の差分動きベクトルを算出する処理ではXが0であり、L1の差分動きベクトルを算出する処理ではXが1である。また、LXの差分動きベクトルを算出する処理中に、LXではなく、もう一方のリストの情報を参照する場合、もう一方のリストをLYとして表す。予測動きベクトル候補生成部121は、L0、L1毎に、上側に隣接する予測ブロックグループ符号化対象の予測ブロックと同一ピクチャ内でその予測ブロックの左側に隣接する予測ブロックグループ:図5のA0,A1、左側に隣接する予測ブロックグループ符号化対象の予測ブロックと同一ピクチャ内でその予測ブロックの上側に隣接する予測ブロックグループ:図5のB0,B1,B2、異なる時間の予測ブロックグループ符号化対象の予測ブロックと時間的に異なるピクチャ内でその予測ブロックと同一位置あるいはその近傍の位置に存在する既に符号化済みの予測ブロックグループ:図9のT0,T1の3つの予測ブロックグループから、予測ブロックグループごとに1つの動きベクトルmvLXA、mvLXB、mvLXColをそれぞれ導出して予測動きベクトル候補とし、それらの動きベクトルmvLXA、mvLXB、mvLXColに対応するそれぞれのピクチャ間距離distA、distB、distColと共に、予測動きベクトル候補登録部122に供給する。なお、ピクチャ間距離distA、distB、distColの詳細については後述する。以下、mvLXA及びmvLXBを空間的な予測動きベクトル、mvLXColを時間的な予測動きベクトルと呼ぶ。この予測動きベクトル候補の選択に際しては、符号化情報格納メモリ114に格納されている符号化済みの予測ブロックの予測モード、参照リスト毎の参照インデックス、参照ピクチャのPOC、動きベクトル等の符号化情報を用いる。予測動きベクトル候補生成部121は、各予測ブロックグループ毎に、所定の順序で、それぞれの予測ブロックグループ内の予測ブロックに対して、後述の条件判定を行い、最初に条件に合致した予測ブロックの動きベクトルを選択し、予測動きベクトルの候補mvLXA、mvLXB、mvLXColとする。左側に隣接する予測ブロックグループから予測動きベクトルを算出する際には、左側に隣接する予測ブロックグループの下から上の順序図5のA0からA0,A1の順序で、上側に隣接する予測ブロックグループから予測動きベクトルを算出する際には、上側に隣接する予測ブロックグループの右から左の順序図5のB0からB0,B1,B2の順序で、異なる時間の予測ブロックグループから予測動きベクトルを算出する際には、図9のT0からT0,T1の順序で、各予測ブロックに対して、後述の条件判定を行い、最初に条件に合致した予測ブロックの動きベクトルを選択し、予測動きベクトルの候補をそれぞれmvLXA、mvLXB、mvLXColとする。即ち、左側の隣接予測ブロックグループでは、一番下の予測ブロックが最も優先順位が高く、下から上に向かって優先順位が付けられており、上側の隣接予測ブロックグループでは、一番右の予測ブロックが最も優先順位が高く、右から左に向かって優先順位が付けられている。異なる時間の予測ブロックグループでは、T0の予測ブロックが最も優先順位が高く、T0,T1の順に優先順位が付けられている。空間予測ブロックの条件判定のループの説明左側の隣接予測ブロックグループ、及び上側の隣接予測ブロックグループの各隣接予測ブロックに対しては、後述するスキャン方法1、4、5、6では、下記の条件判定1、2、3、4の優先順序でそれぞれの条件判定が適用される。条件判定1:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルと同じ参照リストLXで、同じ参照インデックス、すなわち同じ参照ピクチャを用いた予測が隣接予測ブロックでも行われている。条件判定2:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルとは異なる参照リストLYであるが、同じ参照ピクチャを用いた予測が隣接予測ブロックで行われている。条件判定3:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルと同じ参照リストLXで、異なる参照ピクチャを用いた予測が隣接予測ブロックで行われている。条件判定4:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルとは異なる参照リストLYで、異なる参照ピクチャを用いた予測が隣接予測ブロックで行われている。また、後述するスキャン方法2、スキャン方法3では、条件判定1と条件判定3のいずれかを満たす条件判定5、条件判定2と条件判定4のいずれかを満たす条件判定6が適用される。条件判定5:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルと同じ参照リストLXを用いた予測が隣接予測ブロックでも行われている。参照ピクチャが同じかどうかは条件判定5では区別しない条件判定6:符号化/復号対象の予測ブロックの差分動きベクトル算出対象のLXの動きベクトルとは異なる参照リストLYを用いた予測が隣接予測ブロックでも行われている。参照ピクチャが同じかどうかは条件判定6では区別しないこれらの条件のいずれかに一致した場合、当該予測ブロックには条件に合致する動きベクトルは存在すると判断し、後に続く条件判定は行わない。空間予測ブロックのスキャンのループの仕方として、上記の4つの条件判定の進め方によって、下記の6通りの方法を設定することができる。それぞれの方法によって予測ベクトルの相応しさと最大処理量が異なり、それらを考慮してこれらの方法から選択し設定する。スキャン方法1及びスキャン方法2については、それぞれ図18~図20及び図31~図33のフローチャートを用いて詳しく後述するが、他の方法についても、当業者であれば実施する手順についてはスキャン方法1及びスキャン方法2を実施する手順に準じて適宜設計できる事項であるから、詳しい説明を省略する。なお、ここでは動画像符号化装置における空間予測ブロックのスキャンのループ処理を説明するが、同様の処理は動画像復号装置においても可能である。スキャン方法1:同じ参照ピクチャを用いたスケーリング演算が不要な予測動きベクトルの判定を優先し、4つの条件判定のうち予測ブロック毎に2つの条件判定を行い、条件を満たさなければ、隣の予測ブロックの条件判定に移る。最初の周回では条件判定1と条件判定2の条件判定を行い、次の予測ブロックの周回では条件判定3と条件判定4の条件判定を行う。具体的には以下の優先順序で条件判定を行う。ただし、NはAまたはB1.予測ブロックN0の条件判定1同じ参照リストLX、同じ参照ピクチャ2.予測ブロックN0の条件判定2異なる参照リストLY、同じ参照ピクチャ3.予測ブロックN1の条件判定1同じ参照リストLX、同じ参照ピクチャ4.予測ブロックN1の条件判定2異なる参照リストLY、同じ参照ピクチャ5.予測ブロックN2の条件判定1同じ参照リストLX、同じ参照ピクチャ、上側に隣接する予測ブロックグループのみ6.予測ブロックN2の条件判定2異なる参照リストLY、同じ参照ピクチャ、上側に隣接する予測ブロックグループのみ7.予測ブロックN0の条件判定3同じ参照リストLX、異なる参照ピクチャ8.予測ブロックN0の条件判定4異なる参照リストLY、異なる参照ピクチャ9.予測ブロックN1の条件判定3同じ参照リストLX、異なる参照ピクチャ10.予測ブロックN1の条件判定4異なる参照リストLY、異なる参照ピクチャ11.予測ブロックN2の条件判定3同じ参照リストLX、異なる参照ピクチャ、上側に隣接する予測ブロックグループのみ12.予測ブロックN2の条件判定4異なる参照リストLY、異なる参照ピクチャ、上側に隣接する予測ブロックグループのみスキャン方法1によれば、同じ参照ピクチャを用いたスケーリング演算が不要な予測動きベクトルが選ばれやすいので、差分動きベクトルの符号量が小さくなる可能性が高くなる効果がある。また、条件判定の周回数が最大2回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数が後述するスキャン方法4に比べて少なくなり、複雑性が低減される。スキャン方法2:同じリストを用いた予測動きベクトルの判定を優先し、4つの条件判定のうち予測ブロック毎に2つの条件判定を行い、条件を満たさなければ、隣の予測ブロックの条件判定に移る。最初の周回では条件判定1と条件判定3の条件判定を行い、次の予測ブロックの周回では条件判定2と条件判定4の条件判定を行う。この際、参照ピクチャが同じか異なるかは判定しない。具体的には以下の優先順序で条件判定を行う。ただし、NはAまたはB1.予測ブロックN0の条件判定5同じ参照リストLX、同じまたは異なる参照ピクチャ2.予測ブロックN1の条件判定5同じ参照リストLX、同じまたは異なる参照ピクチャ3.予測ブロックN2の条件判定5同じ参照リストLX、同じまたは異なる参照ピクチャ、上側に隣接する予測ブロックグループのみ4.予測ブロックN0の条件判定6異なる参照リストLY、同じまたは異なる参照ピクチャ5.予測ブロックN1の条件判定6異なる参照リストLY、同じまたは異なる参照ピクチャ6.予測ブロックN2の条件判定6異なる参照リストLY、同じまたは異なる参照ピクチャ、上側に隣接する予測ブロックグループのみスキャン方法2によれば、同じリストLXを用いた予測動きベクトルが選ばれやすくなる。また、参照ピクチャが同じかどうかは判定する必要がないので、条件判定の複雑性が低減される。スキャン方法3:スキャン方法2と同様に同じリストを用いた予測動きベクトルの判定を優先する。ただし、同じ予測ブロックの条件判定を優先し、1つの予測ブロック内で2つの条件判定を行い、すべての条件に合致しない場合、当該予測ブロックには条件に合致する動きベクトルは存在しないものと判断し、次の予測ブロックの条件判定を行う。具体的には以下の優先順序で条件判定を行う。ただし、NはAまたはB1.予測ブロックN0の条件判定5同じ参照リストLX、同じまたは異なる参照ピクチャ2.予測ブロックN0の条件判定6異なる参照リストLY、同じまたは異なる参照ピクチャ3.予測ブロックN1の条件判定5同じ参照リストLX、同じまたは異なる参照ピクチャ4.予測ブロックN1の条件判定6異なる参照リストLY、同じまたは異なる参照ピクチャ5.予測ブロックN2の条件判定5同じ参照リストLX、同じまたは異なる参照ピクチャ、上側に隣接する予測ブロックグループのみ6.予測ブロックN2の条件判定6異なる参照リストLY、同じまたは異なる参照ピクチャ、上側に隣接する予測ブロックグループのみスキャン方法3によれば、さらに、スキャン方法2と同様に参照ピクチャが同じか異なるかは判定する必要がないので、複雑性が低減される。また、条件判定の周回数が最大でも1回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数がスキャン方法1、スキャン方法2に比べて少なくなり、複雑性が低減される。スキャン方法4:4つの条件判定のうち予測ブロック毎に1つの条件判定を行い、条件を満たさなければ、隣の予測ブロックの条件判定に移る。予測ブロック毎に条件判定を4周したら終了する。具体的には以下の優先順序で条件判定を行う。ただし、NはAまたはB1.予測ブロックN0の条件判定1同じ参照リストLX、同じ参照ピクチャ2.予測ブロックN1の条件判定1同じ参照リストLX、同じ参照ピクチャ3.予測ブロックN2の条件判定1同じ参照リストLX、同じ参照ピクチャ、上側に隣接する予測ブロックグループのみ4.予測ブロックN0の条件判定2異なる参照リストLY、同じ参照ピクチャ5.予測ブロックN1の条件判定2異なる参照リストLY、同じ参照ピクチャ6.予測ブロックN2の条件判定2異なる参照リストLY、同じ参照ピクチャ、上側に隣接する予測ブロックグループのみ7.予測ブロックN0の条件判定3同じ参照リストLX、異なる参照ピクチャ8.予測ブロックN1の条件判定3同じ参照リストLX、異なる参照ピクチャ9.予測ブロックN2の条件判定3同じ参照リストLX、異なる参照ピクチャ、上側に隣接する予測ブロックグループのみ10.予測ブロックN0の条件判定4異なる参照リストLY、異なる参照ピクチャ11.予測ブロックN1の条件判定4異なる参照リストLY、異なる参照ピクチャ12.予測ブロックN2の条件判定4異なる参照リストLY、異なる参照ピクチャ、上側に隣接する予測ブロックグループのみスキャン方法4によれば、同じ参照ピクチャを用いたスケーリング演算が不要な予測動きベクトルが選ばれやすいので、差分動きベクトルの符号量が小さくなる可能性が高くなる効果がある。また、条件判定の周回数が最大4回となり、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数がスキャン方法1に比べて多くなるが、同じ参照リストの予測動きベクトルが選ばれやすくなる。スキャン方法5:最初の周回では予測ブロック毎に条件判定1の条件判定を行い条件を満たさなければ、隣の予測ブロックの条件判定に移る。次の周回では予測ブロック毎に条件判定2、条件判定3条件判定4順序で条件判定を行ってから隣に移る。具体的には以下の優先順序で条件判定を行う。ただし、NはAまたはB1.予測ブロックN0の条件判定1同じ参照リストLX、同じ参照ピクチャ2.予測ブロックN1の条件判定1同じ参照リストLX、同じ参照ピクチャ3.予測ブロックN2の条件判定1同じ参照リストLX、同じ参照ピクチャ、上側に隣接する予測ブロックグループのみ4.予測ブロックN0の条件判定2異なる参照リストLY、同じ参照ピクチャ5.予測ブロックN0の条件判定3同じ参照リストLX、異なる参照ピクチャ6.予測ブロックN0の条件判定4異なる参照リストLY、異なる参照ピクチャ7.予測ブロックN1の条件判定2異なる参照リストLY、同じ参照ピクチャ8.予測ブロックN1の条件判定3同じ参照リストLX、異なる参照ピクチャ9.予測ブロックN1の条件判定4異なる参照リストLY、異なる参照ピクチャ10.予測ブロックN2の条件判定2異なる参照リストLY、同じ参照ピクチャ、上側に隣接する予測ブロックグループのみ11.予測ブロックN2の条件判定3同じ参照リストLX、異なる参照ピクチャ、上側に隣接する予測ブロックグループのみ12.予測ブロックN2の条件判定4異なる参照リストLY、異なる参照ピクチャ、上側に隣接する予測ブロックグループのみスキャン方法5によれば、同じ参照リストで同じ参照ピクチャを用いたスケーリング演算が不要な予測動きベクトルが選ばれやすいので、差分動きベクトルの符号量が小さくなる可能性が高くなる効果がある。また、条件判定の周回数が最大2回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数がスキャン方法4に比べて少なくなり、複雑性が低減される。スキャン方法6:同じ予測ブロックの条件判定を優先し、1つの予測ブロック内で4つの条件判定を行い、すべての条件に合致しない場合、当該予測ブロックには条件に合致する動きベクトルは存在しないものと判断し、次の予測ブロックの条件判定を行う。具体的には以下の優先順序で条件判定を行う。ただし、NはAまたはB1.予測ブロックN0の条件判定1同じ参照リストLX、同じ参照ピクチャ2.予測ブロックN0の条件判定2異なる参照リストLY、同じ参照ピクチャ3.予測ブロックN0の条件判定3同じ参照リストLX、異なる参照ピクチャ4.予測ブロックN0の条件判定4異なる参照リストLY、異なる参照ピクチャ5.予測ブロックN1の条件判定1同じ参照リストLX、同じ参照ピクチャ6.予測ブロックN1の条件判定2異なる参照リストLY、同じ参照ピクチャ7.予測ブロックN1の条件判定3同じ参照リストLX、異なる参照ピクチャ8.予測ブロックN1の条件判定4異なる参照リストLY、異なる参照ピクチャ9.予測ブロックN2の条件判定1同じ参照リストLX、同じ参照ピクチャ、上側に隣接する予測ブロックグループのみ10.予測ブロックN2の条件判定2異なる参照リストLY、同じ参照ピクチャ、上側に隣接する予測ブロックグループのみ11.予測ブロックN2の条件判定3同じ参照リストLX、異なる参照ピクチャ、上側に隣接する予測ブロックグループのみ12.予測ブロックN2の条件判定4異なる参照リストLY、異なる参照ピクチャ、上側に隣接する予測ブロックグループのみスキャン方法6によれば、スキャン方法3と同様に条件判定の周回数が最大でも1回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数がスキャン方法1、スキャン方法2、スキャン方法4、スキャン方法5に比べて少なくなり、複雑性が低減される。次に、予測動きベクトル候補登録部122は算出された予測動きベクトルの候補mvLXA、mvLXB、mvLXColの順番でLXの予測動きベクトルリストmvpListLXに格納する。次に、予測動きベクトル冗長候補削除部123は、LXの予測動きベクトルリストmvpListLXに格納されたそれぞれの予測動きベクトルの候補の動きベクトルの値を比較し、予測動きベクトルの候補の中から同一の動きベクトルの値をもつものを判定し、同一の動きベクトル値をもつと判定された予測動きベクトルの候補について一つを残してそれ以外を予測動きベクトルリストmvpListLXから削除して、予測動きベクトルの候補が重複しないようにし、予測動きベクトルリストmvpListLXを更新する。予測動きベクトル候補の動きベクトルの値のみで候補の削除を判断する場合、同一の動きベクトルであるがピクチャ間距離が異なる予測動きベクトルの候補が予測動きベクトルリストから削除されることになる。そこで、予測動きベクトルリストmvpListLXに格納されたそれぞれの予測動きベクトルの候補の動きベクトルの値に加えてピクチャ間距離の値も比較し、予測動きベクトルの候補の中から同一のピクチャ間距離と動きベクトルの値をもつものを判定し、同一のピクチャ間距離と動きベクトル値をもつと判定された予測動きベクトルの候補について一つを残してそれ以外を予測動きベクトルリストmvpListLXから削除して、予測動きベクトルの候補が重複しないようにし、予測動きベクトルリストmvpListLXを更新することで、同一の動きベクトルであるがピクチャ間距離が異なる予測動きベクトルの候補が予測動きベクトルリストから削除される事を防ぐこともできる。ただし、予測動きベクトル候補の動きベクトルの値が0,0の場合には、ピクチャ間距離に応じてスケーリング演算を行っても予測動きベクトルの値が0,0となるため、動きベクトルの値が0,0の予測動きベクトル候補が複数存在する場合にはピクチャ間距離の値に関わらず、1つの候補を残してそれ以外の候補を冗長とみなして削除することもできる。予測動きベクトル候補数制限部124では、LXの予測動きベクトルリストmvpListLXに登録されている予測動きベクトルの候補数をカウントし、LXの予測動きベクトル候補数numMVPCandLXがカウントされた候補数の値に設定される。さらに、予測動きベクトル候補数制限部124では、LXの予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限する。本実施の形態においては、最終候補数finalNumMVPCandを規定している。なぜなら、予測動きベクトルリストに登録される予測動きベクトルの候補数が予測動きベクトルリストの構築状態に応じて変動すると、復号側では予測動きベクトルリストを構築してからでないと、予測動きベクトルインデックスをエントロピー復号することができないからである。さらに、エントロピー復号が異なる時間のピクチャの予測ブロックから導出された予測動きベクトル候補mvLXColを含む予測動きベクトルリストの構築状態に依存すると、別のピクチャの符号化ビット列の復号時にエラーが発生した際に現在のピクチャの符号化ビット列もその影響を受けて正常にエントロピー復号を続けることができない問題がある。最終候補数finalNumMVPCandを固定した数に規定すると、予測動きベクトルリストの構築と独立して、予測動きベクトルインデックスをエントロピー復号することができるとともに、別のピクチャの符号化ビット列の復号時にエラーが発生してもその影響を受けずに現在のピクチャの符号化ビット列のエントロピー復号を続けることができる。予測動きベクトル候補数制限部124では、LXの予測動きベクトル候補数numMVPCandLXが規定された最終候補数finalNumMVPCandより小さい場合、予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandと同じ値になるまで、0,0の値を持つ動きベクトルを予測動きベクトルリストmvpListLXに追加することで予測動きベクトルの候補数を規定値に制限する。この場合、重複して0,0の値を持つ動きベクトルが追加されることがあるが、復号側では予測動きベクトルインデックスが0から規定の候補数-1の範囲内でどのような値をとっても、予測動きベクトルを確定することができる。一方、LXの予測動きベクトル候補数numMVPCandLXが規定された最終候補数finalNumMVPCandより大きい場合、予測動きベクトルリストmvpListLXからfinalNumMVPCand1より大きいインデックスに登録されている要素をすべて削除し、LXの予測動きベクトル候補数numMVPCandLXを最終候補数finalNumMVPCandと同じ値にすることで予測動きベクトルの候補数を規定値に制限する。更新された予測動きベクトルリストmvpListLXは予測動きベクトル候補符号量算出部125と予測動きベクトル選択部126に供給される。一方、図1の動きベクトル検出部102にて予測ブロック毎にLXX=0または1の動きベクトルmvLXが検出される。それらの動きベクトルmvLXは更新された予測動きベクトルリストmvpListLXの予測動きベクトルの候補とともに予測動きベクトル候補符号量算出部125に供給される。予測動きベクトル候補符号量算出部125は、LXX=0または1の予測動きベクトルリストmvpListLXの中に格納されたそれぞれの予測動きベクトルの候補mvpListLXiごとに動きベクトルmvLXとの差分動きベクトルを算出し、それら差分動きベクトルを符号化したときの符号量をそれぞれ算出し、予測動きベクトル選択部126に供給する。差分動きベクトルの算出の際には、必要に応じてそれぞれの予測動きベクトルの候補を実際にスケーリング演算した値を用いてもよいし、スケーリング演算の際に必要となる除算をビットシフト演算で代用して算出した概算値を用いてもよい。このスケーリング演算には予測動きベクトルスケーリング演算部127を用いることもできる。予測動きベクトル選択部126は、LXの予測動きベクトルリストmvpListLXに登録された各要素の中で、予測動きベクトルの候補毎の符号量が最小となる予測動きベクトルの候補mvpListLXiと対応するピクチャ間距離をLXの予測動きベクトルmvpLXとピクチャ間距離distLXとして選択する。予測動きベクトルリストmvpListLXの中で最小の発生符号量となる予測動きベクトルの候補が複数存在する場合には、予測動きベクトルリストmvpListLXの中のインデックスiが小さい番号で表される予測動きベクトルの候補mvpListLXiをLXの最適な予測動きベクトルmvpLXとして選択する。選択された予測動きベクトルmvpLXとピクチャ間距離distLXを予測動きベクトルスケーリング演算部127に供給する。さらに、その選択された予測動きベクトルmvpLXに対応する予測動きベクトルリスト中のインデックスiをLXの予測動きベクトルインデックスmvpIdxLXとして出力する。予測動きベクトルスケーリング演算部127は、選択された予測動きベクトルmvpLXをピクチャ間距離distLXに応じてスケーリング演算し、スケーリングされた予測動きベクトルmvpLXを動きベクトル減算部128に供給する。なお、予測動きベクトル候補符号量算出部125でそれぞれの予測動きベクトルの候補を実際にスケーリング演算した場合、その値を用いてもよい。スケーリング演算の詳細については図29、図30を用いて後述する。最後に動きベクトル減算部128は、LXの動きベクトルmvLXから選択され、ピクチャ間距離distLXに応じてスケーリングされたLXの予測動きベクトルmvpLXを減算することによりLXの差分動きベクトルmvdLXを算出し、差分動きベクトルmvdLXを出力する。mvdLXmvLXmvpLX図1に戻り、動き補償予測部105は、復号画像メモリ115に格納されている復号ピクチャの画像信号を参照して動きベクトル検出部102から供給されるLXX=0または1の動きベクトルmvLXに応じて動き補償を行い、予測画像信号を得て、予測方法決定部106に供給する。予測方法決定部106は、予測方法を決定する。それぞれの予測モードごとに符号量と符号化歪を算出し、最も少ない発生符号量と符号化歪となる予測ブロックサイズと予測モードが決定される。差分動きベクトル算出部103の動きベクトル減算部128から供給されたLXの差分動きベクトルmvdLXと予測動きベクトル選択部126から供給された予測動きベクトルを表すLXの予測動きベクトルインデックスmvpIdxLXの符号化が行われ、動き情報の符号量を算出する。さらに、動き補償予測部105から供給される予測画像信号と、画像メモリ101から供給される符号化対象の画像信号との予測残差信号を符号化した予測残差信号の符号量を算出する。動き情報の符号量と予測残差信号の符号量とが加算された総発生符号量を算出し、第1の評価値とする。また、こうした予測残差信号を符号化後に、歪量評価の為に復号し、符号化により生じる元の画像信号との誤差を表す比率として符号化歪が算出される。これら総発生符号量と符号化歪とを動き補償毎に比較することで、最も少ない発生符号量と符号化歪となる予測ブロックサイズと予測モードが決定される。決定された予測ブロックサイズの予測モードに応じた動きベクトルmvLXに対して、上述した動きベクトルの予測方法が行われ、予測動きベクトルを表すインデックスmvpIdxLXが、予測ブロック単位の第2のシンタックスパターンで表されるシンタックス要素mvpidxlXiとして符号化される。尚、ここで算出される発生符号量は、符号化過程をシミュレートしたものであることが望ましいが、簡便に近似したり、概算することも可能である。復号における動きベクトルの予測上述のシンタックスに基づき、符号化された動画像のビットストリームを復号する動画像復号装置において、本発明に係る動きベクトルの予測方法の動作を説明する。実施の形態に係る動きベクトルの予測方法が実施される場合、図2の動画像復号装置の動きベクトル算出部204にて処理が行われる。図14は、実施の形態の動画像符号化装置に対応する図2の動画像復号装置の動きベクトル算出部204の詳細な構成を示す図である。図14の太枠線で囲まれる部分は動きベクトル算出部204を示している。更に、その内部の太点線で囲まれる部分は後述する動きベクトルの予測方法の動作部を示しており、対応する動画像符号化装置にも同様に設置され、符号化と復号で矛盾しない同一の判定結果を得られるようにしている。以下、この図を用いて、復号における動きベクトルの予測方法を説明する。動きベクトル算出部204は、予測動きベクトル候補生成部221、予測動きベクトル候補登録部222、予測動きベクトル冗長候補削除部223、予測動きベクトル候補数制限部224、予測動きベクトル選択部225、予測動きベクトルスケーリング演算部226及び動きベクトル加算部227を含む。この動きベクトル算出部204での動きベクトル算出処理は、インター予測で用いる動きベクトルをL0,L1毎にそれぞれ算出する。具体的には符号化対象ブロックの予測モードPredModeがインター予測MODEINTERで、符号化対象ブロックのインター予測モードがL0予測PredL0の場合、L0の予測動きベクトルリストmvpListL0を算出して、予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0を算出する。符号化対象ブロックのインター予測モードがL1予測PredL1の場合、L1の予測動きベクトルリストmvpListL1を算出して、予測動きベクトルmvpL1を選択し、L1の動きベクトルmvL1を算出する。符号化対象ブロックのインター予測モードが双予測PredBIの場合、L0予測とL1予測が共に行われ、L0の予測動きベクトルリストmvpListL0を算出して、L0の予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0を算出するとともに、L1の予測動きベクトルリストmvpListL1を算出して、L1の予測動きベクトルmvpL1を算出し、L1の動きベクトルmvL1をそれぞれ算出する。符号化側と同様に、復号側でもL0、L1それぞれについて、動きベクトル算出処理を行うが、L0、L1ともに共通の処理となる。したがって、以下の説明においてはL0、L1を共通のLXとして表す。L0の動きベクトルを算出する処理ではXが0であり、L1の動きベクトルを算出する処理ではXが1である。また、LXの動きベクトルを算出する処理中に、LXではなく、もう一方のリストの情報を参照する場合、もう一方のリストをLYとして表す。動きベクトル算出部204の中の予測動きベクトル候補生成部221、予測動きベクトル候補登録部222、予測動きベクトル冗長候補削除部223、予測動きベクトル候補数制限部224及び予測動きベクトルスケーリング演算部226は、符号化側の差分動きベクトル算出部103の中の予測動きベクトル候補生成部121、予測動きベクトル候補登録部122及び予測動きベクトル冗長候補削除部123、予測動きベクトル候補数制限部124及び予測動きベクトルスケーリング演算部127とそれぞれ同じ動作をするように規定することにより、符号化と復号で矛盾しない同一の予測動きベクトルの候補を符号化側及び復号側で得ることができる。予測動きベクトル候補生成部221は、図13の符号化側の予測動きベクトル候補生成部121と同一の処理を行う。復号して符号化情報格納メモリ209に記録されていた、復号対象ブロックと同一ピクチャ内の復号対象ブロックと隣接する復号済みの予測ブロック及び異なるピクチャ内の復号対象ブロックと同一位置あるいはその近傍の位置に存在する復号済みの予測ブロック等の動きベクトルを符号化情報格納メモリ209から読み出す。符号化情報格納メモリ209から読み出された復号済みの他のブロックの動きベクトルから予測ブロックグループごとに予測動きベクトルの候補mvLXA、mvLXB、mvLXColを選択し、対応するピクチャ間距離distA、distB、distColと共に、予測動きベクトル候補登録部222に供給する。なお、予測動きベクトル候補生成部221は、図13の符号化側の予測動きベクトル候補生成部121と同一の処理を行うので、図13の符号化側の予測動きベクトル候補生成部121で説明した予測動きベクトルを算出するためのスキャン方法1、2、3、4、5、6の条件判定は予測動きベクトル候補生成部221でも適用できるものとし、ここでは詳細な説明は省略する。次に、予測動きベクトル候補登録部222は図13の符号化側の予測動きベクトル候補登録部122と同一の処理を行う。算出された予測動きベクトルの候補mvLXA、mvLXB、mvLXColの順番でLXの予測動きベクトルリストmvpListLXに格納する。次に、予測動きベクトル冗長候補削除部223は、図13の符号化側の予測動きベクトル冗長候補削除部123と同一の処理を行う。LXの予測動きベクトルリストmvpListLXに格納されたそれぞれの予測動きベクトルの候補の動きベクトルの値を比較し、予測動きベクトルの候補の中から同一の動きベクトルの値をもつものを判定し、同一の動きベクトル値をもつと判定された予測動きベクトルの候補について一つを残してそれ以外を予測動きベクトルリストmvpListLXから削除して、予測動きベクトルの候補が重複しないようにし、予測動きベクトルリストmvpListLXを更新する。この場合、同一の動きベクトルであるがピクチャ間距離が異なる予測動きベクトルの候補が予測動きベクトルリストmvpListLXから削除されることになる。そこで、予測動きベクトルリストmvpListLXに格納されたそれぞれの予測動きベクトルの候補の動きベクトルの値に加えてピクチャ間距離の値も比較し、予測動きベクトルの候補の中から同一のピクチャ間距離distNと動きベクトルの値をもつものを判定し、同一のピクチャ間距離distNと動きベクトル値をもつと判定された予測動きベクトルの候補について一つを残してそれ以外を予測動きベクトルリストmvpListLXから削除して、予測動きベクトルの候補が重複しないようにし、予測動きベクトルリストmvpListLXを更新することで、同一の動きベクトルであるがピクチャ間距離が異なる予測動きベクトルの候補が予測動きベクトルリストから削除される事を防ぐこともできる。次に、予測動きベクトル候補数制限部224は、図13の符号化側の予測動きベクトル候補数制限部124と同一の処理を行う。予測動きベクトル候補数制限部224では、予測動きベクトルリストmvpListLXに登録されている要素数をカウントし、LXの予測動きベクトル候補数numMVPCandLXがカウントされた候補数の値に設定される。さらに、予測動きベクトル候補数制限部224では、符号化側で説明した理由により予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限する。LXの予測動きベクトル候補数numMVPCandLXが規定された最終候補数finalNumMVPCandより小さい場合、予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandと同じ値になるまで、0,0の値を持つ動きベクトルを予測動きベクトルリストmvpListLXに追加することで予測動きベクトルの候補数を規定値に制限する。この場合、重複して0,0の値を持つ動きベクトルが追加されることがあるが、復号側では予測動きベクトルインデックスが0から規定値-1の範囲内でどのような値をとっても、予測動きベクトルを確定することができる。一方、LXの予測動きベクトル候補数numMVPCandLXが規定された最終候補数finalNumMVPCandより大きい場合、予測動きベクトルリストmvpListLXからfinalNumMVPCand1より大きいインデックスに登録されている要素をすべて削除し、LXの予測動きベクトル候補数numMVPCandLXを最終候補数finalNumMVPCandと同じ値にすることで予測動きベクトルの候補数を規定値に制限する。更新された予測動きベクトルリストmvpListLXは予測動きベクトル選択部225に供給される。一方、第1符号化ビット列復号部202にて復号された予測ブロック毎のLXX=0または1の差分動きベクトルmvdLXが動きベクトル加算部227に供給される。第1符号化ビット列復号部202にて復号されたLXの予測動きベクトルの予測動きベクトルインデックスmvpIdxLXが予測動きベクトル選択部225に供給される。予測動きベクトル選択部225は、第1符号化ビット列復号部202にて復号されたLXの予測動きベクトルインデックスmvpIdxLXが供給され、供給された予測動きベクトルインデックスmvpIdxLXに対応する予測動きベクトルの候補mvpListLXmvpIdxLXと対応するピクチャ間距離をそれぞれ選択されたLXの予測動きベクトルmvpLXとピクチャ間距離distLXとしてLXの予測動きベクトルリストmvpListLXから取り出す。供給された予測動きベクトルの候補を予測動きベクトルmvpLXとして動きベクトル加算部227に供給する。予測動きベクトルスケーリング演算部226は、図13の符号化側の予測動きベクトルスケーリング演算部127と同一の処理を行う。予測動きベクトルスケーリング演算部226は、選択された予測動きベクトルmvpLXをピクチャ間距離distLXに応じてスケーリング演算し、スケーリングされた予測動きベクトルmvpLXを動きベクトル加算部227に供給する。スケーリング演算の詳細については図29、図30を用いて後述する。最後に動きベクトル加算部227は、第1符号化ビット列復号部202にて復号されて供給されるLXの差分動きベクトルmvdLXとピクチャ間距離distNに応じてスケーリングされたLXの予測動きベクトルmvpLXを加算することによりLXの動きベクトルmvを算出し、動きベクトルmvLXを出力する。mvLXmvpLXmvdLX以上のようにして、予測ブロック毎にLXの動きベクトルmvLXが算出される。この動きベクトルを使用して動き補償により予測画像信号が生成され、復号された予測残差信号と加算されることで復号画像信号が生成される。動画像符号化装置の差分動きベクトル算出部103、動画像復号装置の動きベクトル算出部204の処理手順について、それぞれ図15、図16のフローチャートを用いて説明する。図15は動画像符号化装置による差分動きベクトル算出処理手順を示すフローチャートであり、図16は動画像復号装置による動きベクトル算出処理手順を示すフローチャートである。図15を参照して符号化側の差分動きベクトル算出処理手順を説明する。符号化側では、差分動きベクトル算出部103で、符号化対象ブロックで選択されたインター予測で用いる動きベクトルの差分動きベクトルをL0、L1毎にそれぞれ算出するS101~S107。具体的には符号化対象ブロックの予測モードPredModeがインター予測MODEINTERで、インター予測モードがL0予測PredL0の場合、L0の予測動きベクトルリストmvpListL0を算出して、予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0の差分動きベクトルmvdL0を算出する。符号化対象ブロックのインター予測モードがL1予測PredL1の場合、L1の予測動きベクトルリストmvpListL1を算出して、予測動きベクトルmvpL1を選択し、L1の動きベクトルmvL1の差分動きベクトルmvdL1を算出する。符号化対象ブロックのインター予測モードが双予測PredBIの場合、L0予測とL1予測が共に行われ、L0の予測動きベクトルリストmvpListL0を算出して、L0の予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0の差分動きベクトルmvdL0を算出するとともに、L1の予測動きベクトルリストmvpListL1を算出して、L1の予測動きベクトルmvpL1を算出し、L1の動きベクトルmvL1の差分動きベクトルmvdL1をそれぞれ算出する。L0、L1それぞれについて、差分動きベクトル算出処理を行うが、L0、L1ともに共通の処理となる。したがって、以下の説明においてはL0、L1を共通のLXとして表す。L0の差分動きベクトルを算出する処理ではXが0であり、L1の差分動きベクトルを算出する処理ではXが1である。また、LXの差分動きベクトルを算出する処理中に、LXではなく、もう一方のリストの情報を参照する場合、もう一方のリストをLYとして表す。LXの差分動きベクトルmvdLXを算出する場合S102のYES、LXの予測動きベクトルの候補を算出してLXの予測動きベクトルリストmvpListLXを構築するS103。差分動きベクトル算出部103の中の予測動きベクトル候補生成部121で複数の予測動きベクトルの候補を算出し、予測動きベクトル候補登録部122で予測動きベクトルリストmvpListLXに算出した予測動きベクトルの候補を追加し、予測動きベクトル冗長候補削除部123で不要な予測動きベクトルの候補を削除し、予測動きベクトル候補数制限部124で予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXが設定され、予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限することにより、予測動きベクトルリストmvpListLXを構築する。ステップS103の詳細な処理手順については図17のフローチャートを用いて後述する。続いて、予測動きベクトル候補符号量算出部125、及び予測動きベクトル選択部126により、LXの予測動きベクトルリストmvpListLXからLXの予測動きベクトルmvpLXを選択するS104。まず、予測動きベクトル候補符号量算出部125で、予測動きベクトルリストmvpListLXの中に格納されたそれぞれの予測動きベクトルの候補mvpListLXiごとに動きベクトルmvLXとの差分動きベクトルを算出し、それら差分動きベクトルを符号化したときの符号量を算出する。差分動きベクトルの算出の際には、必要に応じてそれぞれの予測動きベクトルの候補を実際にスケーリング演算した値を用いてもよいし、スケーリング演算を簡略化してスケーリング演算の際に必要となる除算をビットシフト演算で代用して算出した概算値を用いてもよい。さらに、予測動きベクトル選択部126で、予測動きベクトルリストmvpListLXに登録された各要素の中で、予測動きベクトルの候補毎の符号量が最小となる予測動きベクトルの候補mvpListLXiと対応するピクチャ間距離をそれぞれLXの予測動きベクトルmvpLXとピクチャ間距離distLXとして選択する。予測動きベクトルリストmvpListLXの中で最小の発生符号量となる予測動きベクトルの候補が複数存在する場合には、予測動きベクトルリストmvpListLXの中のインデックスiが小さい番号で表される予測動きベクトルの候補mvpListLXiを最適予測動きベクトルmvpLXとして選択する。続いて、予測動きベクトルスケーリング演算部127で、選択された予測動きベクトルmvpLXをピクチャ間距離distLXに応じてスケーリング演算するS105。ステップS105の詳細な処理手順については図29、図30のフローチャートを用いて後述する。続いて、動きベクトル減算部128で、LXの動きベクトルmvLXからピクチャ間距離distNに応じてスケーリングされたLXの予測動きベクトルmvpLXを減算することによりLXの差分動きベクトルmvdLXを算出するS106。mvdLXmvLXmvpLXただし、ステップS104で既にスケーリング演算による正確な差分動きベクトルを算出する場合にはステップS105及びステップS106の処理を省略し、ステップS104で算出された差分動きベクトルmvdLXの値を用いることもできる。次に、図16を参照して復号側の動きベクトル算出処理手順を説明する。復号側では、動きベクトル算出部204で、インター予測で用いる動きベクトルをL0,L1毎にそれぞれ算出するS201~S207。具体的には符号化対象ブロックの予測モードPredModeがインター予測MODEINTERで、符号化対象ブロックのインター予測モードがL0予測PredL0の場合、L0の予測動きベクトルリストmvpListL0を算出して、予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0を算出する。符号化対象ブロックのインター予測モードがL1予測PredL1の場合、L1の予測動きベクトルリストmvpListL1を算出して、予測動きベクトルmvpL1を選択し、L1の動きベクトルmvL1を算出する。符号化対象ブロックのインター予測モードが双予測PredBIの場合、L0予測とL1予測が共に行われ、L0の予測動きベクトルリストmvpListL0を算出して、L0の予測動きベクトルmvpL0を選択し、L0の動きベクトルmvL0を算出するとともに、L1の予測動きベクトルリストmvpListL1を算出して、L1の予測動きベクトルmvpL1を算出し、L1の動きベクトルmvL1をそれぞれ算出する。符号化側と同様に、復号側でもL0、L1それぞれについて、動きベクトル算出処理を行うが、L0、L1ともに共通の処理となる。したがって、以下の説明においてはL0、L1を共通のLXとして表す。L0の動きベクトルを算出する処理ではXが0であり、L1の動きベクトルを算出する処理ではXが1である。また、LXの動きベクトルを算出する処理中に、LXではなく、もう一方のリストの情報を参照する場合、もう一方のリストをLYとして表す。LXの動きベクトルmvdLXを算出する場合S202のYES、LXの予測動きベクトルの候補を算出してLXの予測動きベクトルリストmvpListLXを構築するS203。動きベクトル算出部204の中の予測動きベクトル候補生成部221で複数の予測動きベクトルの候補を算出し、予測動きベクトル候補登録部222で予測動きベクトルリストmvpListLXに算出した予測動きベクトルの候補を追加し、予測動きベクトル冗長候補削除部223で不要な予測動きベクトルの候補を削除し、予測動きベクトル候補数制限部224で予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXが設定され、予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限することにより、予測動きベクトルリストmvpListLXを構築する。ステップS203の詳細な処理手順については図17のフローチャートを用いて後述する。続いて、予測動きベクトル選択部225でLXの予測動きベクトルリストmvpListLXから第1符号化ビット列復号部202にて復号された予測動きベクトルのインデックスmvpIdxLXに対応する予測動きベクトルの候補mvpListLXmvpIdxLXとピクチャ間距離をそれぞれ選択された予測動きベクトルmvpLXとピクチャ間距離distLXとして取り出すS204。続いて、予測動きベクトルスケーリング演算部127で、選択された予測動きベクトルmvpLXをピクチャ間距離distLXに応じてスケーリング演算するS205。ステップS105の詳細な処理手順については図29、図30のフローチャートを用いて後述する。続いて、動きベクトル加算部227で第1符号化ビット列復号部202にて復号されて供給されるLXの差分動きベクトルmvdLXとLXの予測動きベクトルmvpLXを加算することによりLXの動きベクトルmvLXを算出するS206。mvLXmvpLXmvdLX次に、図15のS103、及び図16のS203で共通の予測動きベクトルの候補の導出及び予測動きベクトルリスト構築処理手順を図17のフローチャートを用いて詳細に説明する。動きベクトルの予測方法図17は動画像符号化装置の差分動きベクトル算出部103及び動画像復号装置の動きベクトル算出部204とで共通する機能を有する予測動きベクトル候補生成部121及び221、予測動きベクトル候補登録部122及び222、ならびに予測動きベクトル冗長候補削除部123及び223、予測動きベクトル候補数制限部124及び224の処理手順を表すフローチャートである。予測動きベクトル候補生成部121及び221は左側に隣接する予測ブロックからの予測動きベクトルの候補を導出し、左側に隣接する予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXA、及び動きベクトルmvLXA、参照インデックスrefIdxA、リストListAを導出する図17のS301。なお、L0のときXは0、L1のときXは1とする以下同様。続いて、予測動きベクトル候補生成部121及び221は上側に隣接する予測ブロックからの予測動きベクトルの候補を導出し、上側に隣接する予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXB、及び動きベクトルmvLXB、参照インデックスrefIdxB、リストListBを導出する図17のS302。図17のS301とS302の処理は参照する隣接ブロックの位置と数が異なる点以外は共通であり、予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXN、及び動きベクトルmvLXN、参照インデックスrefIdxN、ListN、ピクチャ間距離distNNはAまたはB、以下同様を導出する共通の導出処理手順を図18~図20のフローチャートを用いて後ほど詳細に説明する。続いて、予測動きベクトル候補生成部121及び221は異なる時間のピクチャの予測ブロックからの予測動きベクトルの候補を導出し、異なる時間のピクチャの予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXCol、及び動きベクトルmvLXCol、参照インデックスrefIdxCol、リストListCol、ピクチャ間距離distColを導出する図17のS303。このステップS303の導出処理手順を図21~図28のフローチャートを用いて後ほど詳細に説明する。続いて、予測動きベクトル候補登録部122及び222はLXの予測動きベクトルリストmvpListLXを作成し、LXのそれぞれの予測ベクトルの候補mvLXAmvLXBmvLXColを追加する図17のS304。その際、LXのそれぞれの予測ベクトルの候補mvLXAmvLXBmvLXColに対応するそれぞれのピクチャ間距離distAdistBdistColも予測動きベクトルリストmvpListLXで関連付けて管理する。このステップS304の登録処理手順を図26のフローチャートを用いて後ほど詳細に説明する。続いて、予測動きベクトル冗長候補削除部123及び223は予測動きベクトルリストmvpListLX内で、複数の動きベクトルの候補の中から、同一のピクチャ間距離distNと動きベクトルの値を持っている場合に、冗長な動きベクトルの候補と判断し、最も小さい順序、即ち最も小さいインデックスiの動きベクトルの候補を除いて冗長な動きベクトルの候補を取り除く図17のS305。このステップS305の削除処理手順を図27のフローチャートを用いて後ほど詳細に説明する。続いて、予測動きベクトル候補数制限部124及び224は予測動きベクトルリストmvpListLX内に追加された要素の数をカウントし、その数がLXの予測動きベクトル候補数numMVPCandLXに設定され、予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限する。図17のS306。このステップS306の制限処理手順を図28のフローチャートを用いて後ほど詳細に説明する。図17のS301、S302の左側または上側に隣接する予測ブロックから予測動きベクトルの候補をそれぞれ導出する手順について詳細に説明する。図5、図6、図7、図8に示されるように、同一ピクチャ内の符号化ブロック内部を動き補償する為に定義される予測ブロック図5、図6、図7、図8中の処理対象の予測ブロックに隣接する周囲の予測ブロックから予測動きベクトルの候補を導出する。予測動きベクトルの候補は、処理対象の予測ブロックの左側に隣接する予測ブロックAkk=0,1、すなわちA0、A1から構成される予測ブロックグループA、上に隣接する予測ブロックBkk=0,1,2、すなわちB0、B1、B2から構成される予測ブロックグループBからそれぞれ予測動きベクトルの候補を選出する。次に、図17のS301およびS302の処理手順である左側および上側に隣接する予測ブロックグループNからの予測動きベクトルの候補の導出方法について説明する。図18は前述のスキャン方法1による図17のS301およびS302の予測動きベクトル候補導出処理手順を示すフローチャートである。添え字Xには参照リストを表す0若しくは1、Nには隣接する予測ブロックグループの領域を表すA左側またはB上側が入る。左側の予測ブロックから予測動きベクトルの候補を導出するには図17のS301、図18でNがAとして符号化/復号対象の予測ブロックの左側に隣接するA0、A1の予測ブロックから予測動きベクトルの候補を、上側の予測ブロックから予測動きベクトルの候補を導出するには図17のS302、図18でNがBとして上側に隣接するB0、B1、B2予測ブロックから予測動きベクトルの候補を、それぞれ以下の手順で算出する。まず、符号化/復号対象の予測ブロックに隣接する予測ブロックを特定し、それぞれの予測ブロックNkk=0,1,2、ただし2は上側の予測ブロックグループのみが利用できる場合は符号化情報格納メモリ114または符号化情報格納メモリ209に格納されている符号化情報を取得する。ここで取得する隣接する予測ブロックNkの符号化情報は、予測モードPredMode、LXを利用するかどうかを示すフラグpredFlagLXxNkyNk、LXの参照インデックスrefIdxLXxNkyNk、LXの動きベクトルmvLXxNkyNkである。符号化/復号対象の予測ブロックの左側に隣接する予測ブロックグループN=Aの場合S1101のYES、左下に隣接する予測ブロックA0、左に隣接する予測ブロックA1を特定して符号化情報を取得しS1102、S1103、符号化/復号対象の予測ブロックの上側に隣接する予測ブロックグループN=Bの場合S1101のNO、右上に隣接する予測ブロックB0、上に隣接する予測ブロックB1、左上に隣接する予測ブロックB2を特定して符号化情報を取得するS1104、S1105、S1106。なお、隣接する予測ブロックNkが符号化/復号対象予測ブロックを含むスライスの内側に位置する場合は利用でき、外側に位置する場合は利用できない。次に、予測ブロックグループNから予測動きベクトルが選出されるか否かを示すフラグavailableFlagLXNを0、予測ブロックグループNを代表する動きベクトルmvLXNを0,0に設定するS1107。続いて、前述の条件判定1または条件判定2に合致する予測動きベクトル候補を選出するS1108。予測ブロックグループNNはAまたはBの隣接予測ブロックN0、N1、N2N2は上側の隣接予測ブロックグループBのみの中で、符号化/復号対象予測ブロックで現在対象としている参照リストLXと同じ参照リストLX、または符号化/復号対象予測ブロックで現在対象としている参照リストLXと反対の参照リストLYY=X:現在対象としている参照リストがL0のとき、反対の参照リストはL1、現在対象としている参照リストがL1のとき、反対の参照リストはL0で同じ参照ピクチャの動きベクトルを持つ予測ブロックを探してその動きベクトルを予測動きベクトル候補とする。図19は図18のステップS1108の導出処理手順を示すフローチャートである。隣接する予測ブロックNkk=0,1,2、ただし、2は上側の隣接予測ブロックグループのみに対して、kが0,1,2の順番にそれぞれ以下の処理を行うS1201~S1207。NがAの場合下から上にA0,A1の順序で、NがBの場合、右から左にB0,B1,B2の順序で、それぞれ以下の処理を行う。隣接する予測ブロックNkが利用でき、予測ブロックNkの予測モードPredModeがイントラMODEINTRAでない場合S1202のYES、前述の条件判定1の条件判定を行うS1203。隣接する予測ブロックNkのLXを利用するどうかを示すフラグpredFlagLXxNkyNkが1、即ち隣接する予測ブロックNkが算出対象と同じLXの動きベクトルを用いてインター予測されており、隣接する予測ブロックNkのLXの参照インデックスrefIdxLXxNkyNkと処理対象の予測ブロックのインデックスrefIdxLXが同じ、即ち隣接する予測ブロックNkがLX予測で同じ参照ピクチャを用いてインター予測されている場合S1203のYES、ステップS1204に進み、そうでない場合S1203のNO、ステップS1205の条件判定を行う。ステップS1203がYESの場合、フラグavailableFlagLXNが1に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLXの動きベクトルmvLXxNkyNkと同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLXの参照インデックスrefIdxLXxNkyNkと同じ値に設定され、予測ブロックグループNの参照リストListNがLXに設定されS1204、ステップS1208に進む。一方、ステップS1203がNOの場合、前述の条件判定2の条件判定を行うS1205。隣接する予測ブロックNkのLYを利用するどうかを示すフラグpredFlagLYが1、即ち隣接する予測ブロックNkが算出対象と異なるLYの動きベクトルを用いてインター予測されており、隣接する予測ブロックNkの現在対象としている参照リストLXと反対の参照リストLYの参照ピクチャのPOCと処理対象の予測ブロックのLXの参照ピクチャのPOCが同じ、即ち隣接する予測ブロックNkがLY予測で同じ参照ピクチャを用いてインター予測されている場合S1205のYES、ステップS1206に進み、フラグavailableFlagLXNが1に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLYの動きベクトルmvLYxNkyNkと同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLYの参照インデックスrefIdxLYxNkyNkと同じ値に設定され、予測ブロックグループNの参照リストListNがLYに設定されS1206、ステップS1208に進む。続いて、availableFlagLXNが1のときS1208のYES、現在の符号化/復号対象ピクチャのPOCから、隣接予測ブロックの参照リストListNが参照する参照ピクチャのPOCを減算してピクチャ間距離distNを算出しS1209、本予測ベクトル候補選出処理を終了する。なお、現在の符号化/復号対象ピクチャよりも隣接予測ブロックのリストListNで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離distNは正の値となり、現在の符号化/復号対象ピクチャよりも隣接予測ブロックの参照リストListNで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離distNは負の値となる。distN=現在の符号化/復号対象ピクチャのPOC-隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOCこれらの条件に合致しない場合、即ちS1203のNO,またはS1205のNOの場合、kを1増加し、次の隣接予測ブロックの処理S1201~S1207を行い、availableFlagLXNが1になるか、隣接ブロックA1またはB2の処理が終わるまで繰り返す。続いて、図18のフローチャートに戻り、availableFlagLXNが0のときS1109のYES、即ちステップS1108で予測動きベクトルの候補が算出できなかった場合、前述の条件判定3または条件判定4に合致する予測動きベクトル候補を算出するS1110。予測ブロックグループNNはAまたはBの隣接ブロックN0、N1、N2N2は上側の隣接予測ブロックグループBのみの中で、符号化/復号対象予測ブロックで現在対象としている参照リストLXと同じ参照リストLX、または符号化/復号対象予測ブロックで現在対象としている参照リストLXと反対の参照リストLYY=X:現在対象としている参照リストがL0のとき、反対の参照リストはL1、現在対象としている参照リストがL1のとき、反対の参照リストはL0で異なる参照ピクチャの動きベクトルを持つ予測ブロックを探してその動きベクトルを予測動きベクトル候補とする。図20は図18のステップS1110の導出処理手順を示すフローチャートである。隣接する予測ブロックNkk=0,1,2、ただし、2は上側の隣接予測ブロックグループのみに対して、kが0,1,2の順番にそれぞれ以下の処理を行うS1301~S1307。NがAの場合下から上にA0,A1の順序で、NがBの場合、右から左にB0,B1,B2の順序で、それぞれ以下の処理を行う。隣接する予測ブロックNkが利用でき、予測ブロックNkの予測モードPredModeがイントラMODEINTRAでない場合S1302のYES、前述の条件判定3の条件判定を行うS1303。隣接する予測ブロックNkのLXを利用するどうかを示すフラグpredFlagLXxNkyNkが1、即ち隣接する予測ブロックNkが算出対象と同じLXの動きベクトルを用いてインター予測されている場合、ステップS1304に進み、そうでない場合S1303のNO、ステップS1305の条件判定を行う。ステップS1303がYESの場合、フラグavailableFlagLXNが1に設定され、予測ブロックグループNのmvLXNが隣接する予測ブロックNkのLXの動きベクトルmvLXxNkyNkと同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLXの参照インデックスrefIdxLXxNkyNkと同じ値に設定され、予測ブロックグループNの参照リストListNがLXに設定されS1304、ステップS1308に進む。ステップS1303がNOの場合、前述の条件判定4の条件判定を行うS1305。隣接する予測ブロックNkのLYを利用するどうかを示すフラグpredFlagLYが1、即ち隣接する予測ブロックNkが算出対象と異なるLYの動きベクトルを用いてインター予測されている場合S1305のYES、フラグavailableFlagLXNが1に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLYの動きベクトルmvLYxNkyNkと同じ値に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLYの動きベクトルmvLYxNkyNkと同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLYの参照インデックスrefIdxLYxNkyNkと同じ値に設定され、予測ブロックグループNの参照リストListNがLYに設定されS1306、ステップS1308に進む。一方、これらの条件に合致しない場合S1303のNO,またはS1305のNOの場合、kを1増加し、次の隣接予測ブロックの処理S1301~S1307を行い、availableFlagLXNが1になるか、隣接ブロックA1またはB2の処理が終わるまで繰り返し、ステップS1308に進む。続いて、availableFlagLXNが1のときS1308のYES、現在の符号化/復号対象ピクチャのPOCから、隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOCを減算してピクチャ間距離distNを算出しS1309、本予測ベクトル候補選出処理を終了する。distN=現在の符号化/復号対象ピクチャのPOC-隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOC次に、図17のS303の異なる時間のピクチャの予測ブロックから予測動きベクトルの候補の導出方法について詳細に説明する。図21は図17のステップS303の予測動きベクトル候補導出処理手順を説明するフローチャートである。まず、スライスタイプslicetypeと前述のフラグcollocatedfroml0flagにより、異なる時間のピクチャcolPicを導出する図21のS2101。図22は図21のステップS2101の異なる時間のピクチャcolPicの導出処理手順を説明するフローチャートである。スライスタイプslicetypeがBで、前述のフラグcollocatedfroml0flagが0の場合図22のS2201のYES、S2202のYES、RefPicList10、すなわち参照リストL1の参照インデックスが0のピクチャが異なる時間のピクチャcolPicとなる図22のS2203。そうでない場合、すなわち前述のフラグcollocatedfroml0flagが1の場合図22のS2201のNO、S2202のNO、S2204のNO、RefPicList00、すなわち参照リストL0の参照インデックスが0のピクチャが異なる時間のピクチャcolPicとなる図22のS2205。次に、図21のフローチャートに戻り、異なる時間の予測ブロックcolPUを導出し、符号化情報を取得する図21のS2102。図23は図21のステップS2102の異なる時間のピクチャcolPicの予測ブロックcolPUの導出処理手順を説明するフローチャートである。まず、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の右下外側に位置する予測ブロックを異なる時間の予測ブロックcolPUに設定する図23のS2301。この予測ブロックは図9の予測ブロックT0に相当する。次に、異なる時間の予測ブロックcolPUの符号化情報を取得する図23のS2302。異なる時間の予測ブロックcolPUが利用できないか、異なる時間の予測ブロックcolPUのPredModeがMODEINTRAである場合図23のS2303のYES、S2304のYES、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の中央左上に位置する予測ブロックを異なる時間の予測ブロックcolPUに再設定する図23のS2305。この予測ブロックは図9の予測ブロックT1に相当する。次に、図21のフローチャートに戻り、符号化/復号対象の予測ブロックと同位置の他ピクチャの予測ブロックから算出されるLXの予測動きベクトルmvLXColと予測ブロックグループColの参照リストLXの符号化情報が有効か否かを示すフラグavailableFlagLXColを算出する図21のS2103。図24は図21のステップS2103のインター予測情報の導出処理を説明するフローチャートである。異なる時間の予測ブロックcolPUのPredModeがMODEINTRAか、利用できない場合図24のS2401のNO、S2402のNO、availableFlagLXColを0、mvLXColを0,0とし図24のS2403、S2404、処理を終了する。予測ブロックcolPUが利用できてPredModeがMODEINTRAでない場合図24のS2401のYES、S2402のYES、以下の手順でmvColとrefIdxColを算出する。予測ブロックcolPUのL0予測が利用されているかどうかを示すフラグPredFlagL0xPColyPColが0の場合図24のS2405のYES、予測ブロックcolPUの予測モードはPredL1であるので、動きベクトルmvColが予測ブロックcolPUのL1の動きベクトルであるMvL1xPColyPColと同じ値に設定され図24のS2406、参照インデックスrefIdxColがL1の参照インデックスRefIdxL1xPColyPColと同じ値に設定され図24のS2407、リストListColがL1に設定される図24のS2408。一方、予測ブロックcolPUのL0予測フラグPredFlagL0xPColyPColが0でない場合図24のS2405のNO、予測ブロックcolPUのL1予測フラグPredFlagL1xPColyPColが0かどうかを判定する。予測ブロックcolPUのL1予測フラグPredFlagL1xPColyPColが0の場合図24のS2409のYES、動きベクトルmvColが予測ブロックcolPUのL0の動きベクトルであるMvL0xPColyPColと同じ値に設定され図24のS2410、参照インデックスrefIdxColがL0の参照インデックスRefIdxL0xPColyPColと同じ値に設定され図24のS2411、リストListColがL0に設定される図24のS2412。予測ブロックcolPUのL0予測フラグPredFlagL0xPColyPColと予測ブロックcolPUのL1予測フラグPredFlagL1xPColyPColが共に0でない場合図24のS2405のNO,S2409のNO、予測ブロックcolPUのインター予測モードは双予測PredBIであるので、L0、L1の2つの動きベクトルから、一方を選択する図24のS2413。図25は予測ブロックcolPUのインター予測モードが双予測PredBIのときの予測ブロックのインター予測情報の導出処理手順を示すフローチャートである。まず、すべての参照リストに登録されているすべてのピクチャのPOCが現在の符号化/復号対象ピクチャのPOCより小さいかどうかを判定しS2501、予測ブロックcolPUのすべての参照リストであるL0及びL1に登録されているすべてのピクチャのPOCが現在の符号化/復号対象ピクチャのPOCより小さい場合でS2501のYES、Xが0、即ち符号化/復号対象の予測ブロックのL0の動きベクトルの予測ベクトル候補を算出している場合S2502のYES、予測ブロックcolPUのL0の方のインター予測情報を選択し、Xが1、即ち符号化/復号対象の予測ブロックのL1の動きベクトルの予測ベクトル候補を算出している場合S2502のNO、予測ブロックcolPUのL1の方のインター予測情報を選択する。一方、予測ブロックcolPUのすべての参照リストL0及びL1に登録されているピクチャのPOCの少なくとも1つが現在の符号化/復号対象ピクチャのPOCより大きい場合でS2501のNO、フラグcollocatedfroml0flagが0の場合S2503のYES、予測ブロックcolPUのL0の方のインター予測情報を選択し、フラグcollocatedfroml0flagが1の場合S2503のNO、予測ブロックcolPUのL1の方のインター予測情報を選択する。予測ブロックcolPUのL0の方のインター予測情報を選択する場合S2502のYES、S2503のYES、動きベクトルmvColがMvL0xPColyPColと同じ値に設定されS2504、参照インデックスrefIdxColがRefIdxL0xPColyPColと同じ値に設定されS2505、リストListColがL0に設定されるS2506。予測ブロックcolPUのL1の方のインター予測情報を選択する場合S2502のNO、S2503のNO、動きベクトルmvColがMvL1xPColyPColと同じ値に設定されS2507、参照インデックスrefIdxColがRefIdxL1xPColyPColと同じ値に設定されS2508、リストListColがL1に設定されるS2509。図24に戻り、予測ブロックcolPUからインター予測情報が取得できたらavailableFlagLXColを1とする図24のS2414。次に、図21のフローチャートに戻り、availableFlagLXColが1の場合図21のS2104のYES、異なる時間のピクチャcolPicのPOCから、予測ブロックcolPUのリストListColで参照する参照ピクチャのPOCを減算してピクチャ間距離distColを算出しS2105、本予測ベクトル候補選出処理を終了する。なお、異なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離distColは正の値となり、異なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離distColは負の値となる。distCol=異なる時間のピクチャcolPicのPOC-予測ブロックcolPUのリストListColで参照する参照ピクチャのPOC図17のS304の予測動きベクトルの候補を予測動きベクトルリストに追加する手順について詳細に説明する。図17のS301、S302、及びS303にて算出されたLXのそれぞれの予測動きベクトルの候補mvLXAmvLXBmvLXColをLXの予測動きベクトルリストmvpListLXに追加するS304。本発明の実施の形態では、優先順位をつけて、優先順位の高いものからLXの予測動きベクトルリストmvpListLXに予測動きベクトルの候補mvLXAmvLXBmvLXColを登録することで、優先順位の高い要素を予測動きベクトルリストの前方に配置する。図17のS306で予測動きベクトルリストの中の要素数を制限する際に、予測動きベクトルリストの後方に配置された要素を予測動きベクトルリストから外すことで、優先順位の高い要素を残す。予測動きベクトルリストmvpListLXはリスト構造を成し、予測動きベクトルリスト内部の所在を示すインデックスiで管理され、インデックスiに対応する予測動きベクトルの候補を要素として格納する記憶領域が設けられている。インデックスiの数字は0から開始され、予測動きベクトルリストmvpListLXの記憶領域に、予測動きベクトルの候補が格納される。以降の処理では、予測動きベクトルリストmvpListLXに登録されたインデックスiの要素である予測動きベクトルの候補は、mvpListLXiで表す。次に、図17のS304のLXの予測動きベクトルリストmvpListLXへのLXの予測動きベクトルの候補mvLXAmvLXBmvLXColの登録処理方法について詳細に説明する。図26は図17のステップS304の予測動きベクトル候補登録処理手順を示すフローチャートである。まず、予測動きベクトルリストmvpListLXのインデックスiを0に設定するS3101。availableFlagLXAが1の場合S3102のYES、予測動きベクトルリストmvpListLXのインデックスiに対応する位置にLXの予測動きベクトル候補mvLXA、及びその予測動きベクトル候補に対応するピクチャ間距離distAを登録しS3103、インデックスiに1を加算することで更新するS3104。続いて、availableFlagLXBが1の場合S3105のYES、予測動きベクトルリストmvpListLXmvpListLXのインデックスiに対応する位置にLXの予測動きベクトル候補mvLXB、及びその予測動きベクトル候補に対応するピクチャ間距離distBを登録しS3106、インデックスiに1を加算することで更新するS3107。続いて、availableFlagLXColが1の場合S3108のYES、予測動きベクトルリストmvpListLXのインデックスiに対応する位置にLXの予測動きベクトル候補mvLXCol、及びその予測動きベクトル候補に対応するピクチャ間距離distColを登録しS3109、予測動きベクトルリストへの登録処理を終了する。次に、図17のS305の予測動きベクトルリスト中の冗長な予測動きベクトルの候補の削除方法について詳細に説明する。図27は図17のS305の予測動きベクトル冗長候補削除処理手順を示すフローチャートである。まず、予測動きベクトル冗長候補削除部123及び223は予測動きベクトルリストmvpListLXに登録されている候補同士を比較するS4101。この際、それぞれの候補の動きベクトル同士を比較すると共に、その動きベクトルに対応するピクチャ間距離も比較する。複数の動きベクトルの候補のピクチャ間距離が同じ値で動きベクトルが同じ値または近い値を持っている場合にS4102のYES、冗長な動きベクトルの候補と判断し、最も小さい順序、即ち最も小さいインデックスiの動きベクトルの候補を除いて冗長な動きベクトルの候補を取り除くS4103。なお、冗長な動きベクトルの候補を取り除いた後、予測動きベクトルリストmvpListLXの中は、削除された予測動きベクトルの候補の格納領域が空いている為、インデックスiが0を基準にして、インデックスiが小さい予測動きベクトルの候補の順で詰めていくS4104。例えば、インデックスiが0の予測動きベクトルの候補mvListLX0が削除され、インデックスiが1及び2の予測動きベクトルの候補mvListLX1mvListLX2が残った場合、インデックスiが1の予測動きベクトルの候補mvListLX1を新たにインデックスiが0の予測動きベクトルの候補mvListLX0に変更する。さらに、インデックスiが2の予測動きベクトルの候補mvListLX2を新たにインデックスiが1の予測動きベクトルの候補mvListLX1に変更する。さらに、インデックスiが2の予測動きベクトルの候補mvListLX2は存在しないものと設定する。なお、ステップS4101において、比較処理量を削減するために、ピクチャ間距離の比較を省略し、動きベクトルだけを比較の対象とすることもできる。この場合、ピクチャ間距離が異なる候補が削除されてしまうことがあるが、処理量削減を優先する場合に有効である。次に、図17のS306の予測動きベクトルリスト中の動きベクトルの候補数の制限方法について詳細に説明する。図28は図17のS306の予測動きベクトル候補数制限処理手順を説明するフローチャートである。予測動きベクトル候補数制限部124及び予測動きベクトル候補数制限部224はLXの予測動きベクトルリストmvpListLXに登録されているLXの予測動きベクトル候補数numMVPCandLXを規定された最終候補数finalNumMVPCandに制限する。まず、LXの予測動きベクトルリストmvpListLXに登録されている要素数をカウントし、LXの予測動きベクトル候補数numMVPCandLXに設定するS5101。続いて、LXの予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandよりも小さい場合S5103のYES、LXの予測動きベクトルリストmvpListLXのインデックスiがnumMVPCandLXに対応する位置にの値を持つ動きベクトルとそれに対応する1の値を持つピクチャ間距離を登録しS5104、numMVPCandLXに1を加算するS5105。numMVPCandLXとfinalNumMVPCandが同じ値の場合S5105のYES、本制限処理を終了し、numMVPCandLXとfinalNumMVPCandが同じ値でない場合S5105のNO、同じ値になるまで、ステップS5104とS5105の処理を繰り返す。すなわち、LXの予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandに達するまで、の値を持つMVを登録する。このように重複しての値を持つMVを登録することにより、予測動きベクトルインデックスが0以上最終候補数finalNumMVPCand未満の範囲内でどのような値をとっても予測動きベクトルを確定することができる。一方、LXの予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandよりも大きい場合S5103のNO、S5107のYES、LXの予測動きベクトルリストmvpListLXのインデックスiがfinalNumMVPCand1より大きいすべての予測動きベクトル候補を削除しS5108、numMVPCandLXにfinalNumMVPCandと同じ値を設定してS5105、本制限処理を終了する。LXの予測動きベクトル候補数numMVPCandLXが最終候補数finalNumMVPCandと等しい場合S5103のNO、S5107のNO、制限処理を施さずに本制限処理を終了する。本実施の形態においては、最終候補数finalNumMVPCandを規定している。なぜなら、予測動きベクトルリストに登録される予測動きベクトルの候補数が予測動きベクトルリストの構築状態に応じて変動すると、予測動きベクトルリストを構築してからでないと、予測動きベクトルインデックスをエントロピー復号することができないからである。さらに、エントロピー復号が異なる時間のピクチャの予測ブロックから導出された予測動きベクトル候補mvLXColを含む予測動きベクトルリストの構築状態に依存すると、別のピクチャの符号化ビット列の復号時にエラーが発生した際に現在のピクチャの符号化ビット列もその影響を受けて正常にエントロピー復号を続けることができない問題がある。最終候補数finalNumMVPCandを固定した数に規定すると、予測動きベクトルリストの構築と独立して、予測動きベクトルインデックスをエントロピー復号することができるとともに、別のピクチャの符号化ビット列の復号時にエラーが発生してもその影響を受けずに現在のピクチャの符号化ビット列のエントロピー復号を続けることができる。次に、図15のS105及び図16のS205の動きベクトルのスケーリング演算方法について詳細に説明する。図29は図15のS105及び図16のS205の動きベクトルのスケーリング演算処理手順を示すフローチャートである。まず、予測動きベクトルスケーリング演算部127及び226はピクチャ間距離distLXをピクチャ間距離tdとするS1601。現在の符号化/復号対象ピクチャのPOCから現在の符号化/復号対象ピクチャの参照リストLXが参照する参照ピクチャのPOCを減算してピクチャ間距離tbを算出するS1602。なお、現在の符号化/復号対象ピクチャよりも現在の符号化/復号対象ピクチャのリストLXが参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離tbは正の値となり、現在の符号化/復号対象ピクチャのリストLXが参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離tbは負の値となる。tb=現在の符号化/復号対象ピクチャのPOC-現在の符号化/復号対象ピクチャの参照リストLXが参照する参照ピクチャのPOC続いて、ピクチャ間距離tdとtbを比較しS1603、ピクチャ間距離tdとtbが等しい場合S1603のYES、本スケーリング演算処理を終了する。ピクチャ間距離tdとtbが等しくない場合S1603のNO、次式によりmvLXNにスケーリング係数tb/tdを乗じることでスケーリング演算を行いS1604スケーリングされた動きベクトルmvLXNを得る。mvLXN=tb/tdmvLXNまた、ステップS1604の演算を整数精度の演算で行う場合の例を図30に示す。図30のステップS1605~S1607の処理が、図29のステップS1604の処理に相当する。まず、図29のフローチャートと同様に、ピクチャ間距離distLXをピクチャ間距離tdとしS2601、ピクチャ間距離tbを算出するS2602。続いて、ピクチャ間距離tdとtbを比較しS2603、ピクチャ間距離tdとtbが等しい場合S2603のYES、本スケーリング演算処理を終了する。ピクチャ間距離tdとtbが等しくない場合S2603のNO、次式により変数txを算出するS1605。txtd続いて、次式によりスケーリング係数DistScaleFactorを算出するS1606。DistScaleFactor6続いて、次式により、スケーリングされた動きベクトルmvLXNを得るS1607。mvLXNClipMv1278以上の実施例では、図17のS301およびS302において、前述のスキャン方法1による左側および上側に隣接する予測ブロックグループNからの予測動きベクトルの候補の導出方法について説明した。ここでは、図17のS301およびS302において、前述のスキャン方法2による左側および上側に隣接する予測ブロックグループNからの予測動きベクトルの候補の導出方法について説明する。図31は前述のスキャン方法2による図17のステップS301およびS302の予測動きベクトル候補導出処理手順を示すフローチャートである。添え字Xには参照リストを表す0若しくは1、Nには隣接する予測ブロックグループの領域を表すA左側またはB上側が入る。図18のスキャン方法1による図17のステップS301およびS302の予測動きベクトル候補導出処理手順を示すフローチャートとは図18のステップS1108が図31のステップS1111となっている点と、図18のステップS1110が図31のステップS1112となっている点が異なり、それ以外は同一の動作となる。ここでは、図17と異なっている図31のステップS1111及びS1112について説明する。まず、図31のステップS1111の条件判定5に合致する予測動きベクトル候補を選出する方法について説明する。図32は図31のステップS1111の処理手順を示すフローチャートである。隣接する予測ブロックNkk=0,1,2、ただし、2は上側の隣接予測ブロックグループのみに対して、kが0,1,2の順番にそれぞれ以下の処理を行うS1401~S1405。NがAの場合下から上にA0,A1の順序で、NがBの場合、右から左にB0,B1,B2の順序で、それぞれ以下の処理を行う。隣接する予測ブロックNkが利用でき、予測ブロックNkの予測モードPredModeがイントラMODEINTRAでない場合S1402のYES、前述の条件判定5を満たすかどうかの条件判定を行うS1403。隣接する予測ブロックNkのLXを利用するどうかを示すフラグpredFlagLXxNkyNkが1、即ち隣接する予測ブロックNkが算出対象と同じLXの動きベクトルを用いてインター予測されている場合S1403のYES、ステップS1404に進み、そうでない場合S1403のNO、ステップS1405のループ端に進む。ステップS1403がYESの場合、フラグavailableFlagLXNが1に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLXの動きベクトルmvLXxNkyNkと同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLXの参照インデックスrefIdxLXxNkyNkと同じ値に設定され、予測ブロックグループNの参照リストListNがLXに設定されS1404、ステップS1406に進む。続いて、availableFlagLXNが1のときS1406のYES、現在の符号化/復号対象ピクチャのPOCから、隣接予測ブロックの参照リストListNが参照する参照ピクチャのPOCを減算してピクチャ間距離distNを算出しS1407、本予測ベクトル候補選出処理を終了する。なお、現在の符号化/復号対象ピクチャよりも隣接予測ブロックのリストListNで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離distNは正の値となり、現在の符号化/復号対象ピクチャよりも隣接予測ブロックの参照リストListNで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離distNは負の値となる。distN=現在の符号化/復号対象ピクチャのPOC-隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOCこれらの条件に合致しない場合、即ちS1402のNO,またはS1403のNOの場合、kを1増加し、次の隣接予測ブロックの処理S1401~S1405を行い、availableFlagLXNが1になるか、隣接ブロックA1またはB2の処理が終わるまで繰り返す。まず、図31のステップS1112の条件判定6に合致する予測動きベクトル候補を選出する方法について説明する。図33は図31のステップS1112の処理手順を示すフローチャートである。隣接する予測ブロックNkk=0,1,2、ただし、2は上側の隣接予測ブロックグループのみに対して、kが0,1,2の順番にそれぞれ以下の処理を行うS1401~S1405。NがAの場合下から上にA0,A1の順序で、NがBの場合、右から左にB0,B1,B2の順序で、それぞれ以下の処理を行う。隣接する予測ブロックNkが利用でき、予測ブロックNkの予測モードPredModeがイントラMODEINTRAでない場合S1502のYES、前述の条件判定6を満たすかどうかの条件判定を行うS1503。隣接する予測ブロックNkのLYを利用するどうかを示すフラグpredFlagLYxNkyNkが1、即ち隣接する予測ブロックNkが算出対象と異なるLYの動きベクトルを用いてインター予測されている場合S1503のYES、ステップS1504に進み、そうでない場合S1503のNO、ステップS1505のループ端に進む。ステップS1503がYESの場合、フラグavailableFlagLXNが1に設定され、予測ブロックグループNの予測動きベクトルmvLXNが隣接する予測ブロックNkのLYの動きベクトルmvLYxNkyNkと同じ値に設定され、予測ブロックグループNの参照インデックスrefIdxNが隣接する予測ブロックNkのLYの参照インデックスrefIdxLYxNkyNkと同じ値に設定され、予測ブロックグループNの参照リストListNがLYに設定されS1504、ステップS1506に進む。続いて、availableFlagLXNが1のときS1506のYES、現在の符号化/復号対象ピクチャのPOCから、隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOCを減算してピクチャ間距離distNを算出しS1507、本予測ベクトル候補選出処理を終了する。なお、現在の符号化/復号対象ピクチャよりも隣接予測ブロックのリストListNで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離distNは正の値となり、現在の符号化/復号対象ピクチャよりも隣接予測ブロックの参照リストListNで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離distNは負の値となる。distN=現在の符号化/復号対象ピクチャのPOC-隣接予測ブロックの参照リストListNで参照する参照ピクチャのPOCこれらの条件に合致しない場合、即ちS1402のNO,またはS1403のNOの場合、kを1増加し、次の隣接予測ブロックの処理S1401~S1405を行い、availableFlagLXNが1になるか、隣接ブロックA1またはB2の処理が終わるまで繰り返す。以上述べた実施の形態においては、複数の予測動きベクトルの候補を予測動きベクトルリストに登録する際に、スケーリング演算を行わず、予測動きベクトルを選択した後に、スケーリング演算を行う。本実施の形態によれば1つのリストにつき1回だけスケーリング演算を行えばよいので、スケーリング演算を行ってから予測動きベクトルリストに登録する手法に比べて、除算を含むスケーリング演算の回数が少なく、処理量を削減できる。また、予測動きベクトル候補リストに予測動きベクトルの候補を登録する際、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、予測動きベクトルの候補を予測動きベクトル候補リストに登録する。そして、予測動きベクトル候補リストに登録された予測動きベクトルの候補の内、冗長な候補はあらかじめ削除する。スケーリング演算処理前の予測動きベクトル値とピクチャ間距離の両方が互いに一致する候補は冗長である。ピクチャ間距離については調べずに、スケーリング演算処理前の予測動きベクトル値を比較して、スケーリング演算処理前の予測動きベクトル値が互いに一致する候補を冗長とみなして、一つの候補を残して残りは削除することもできる。ベクトル値が同じでピクチャ間距離が異なっていることはあまりないことから、スケーリング演算処理前の予測動きベクトル値が一致する候補を冗長とみなしても問題はほとんどないからであり、ピクチャ間距離の比較をしなくて済む分、処理量を抑えることのメリットの方が大きい。また、以上述べた実施の形態においては、予測動きベクトル候補リストに予測動きベクトルの候補を登録する際、スケーリング演算処理前の予測動きベクトル値にスケーリング演算処理に必要なピクチャ間距離に関する情報を関連付けて、予測動きベクトルの候補を予測動きベクトル候補リストに登録するが、予測動きベクトルの候補に対応するピクチャ間距離に関する情報が特定できればよく、本発明においては関連付ける手段を問わない。例えば、ピクチャ間距離に関する情報は予測動きベクトルの候補と共に予測動きベクトル候補リストに登録してもよいし、予測動きベクトル候補リストに同期して管理されるピクチャ間距離情報リストを用意して、ピクチャ間距離に関する情報をピクチャ間距離情報リストに登録してもよい。さらに、予測動きベクトルリストを構築する際に、符号化/復号対象の予測ブロックの参照インデックスを必要としないので、符号化側では参照インデックスを決定する前に予測動きベクトルリストの構築処理を開始することができる。また、復号側では参照インデックスをエントロピー復号する前に予測動きベクトルリストの構築処理を開始することができる。以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROMリードオンリメモリやフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。"