"動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像を符号化する動画像符号化装置であって、符号化対象ブロックと同一ピクチャ内の前記符号化対象ブロックと隣接する符号化済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成し、生成した予測動きベクトルの候補を予測動きベクトル候補リストに登録する予測動きベクトル候補生成部と、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択部と、前記予測動きベクトル候補リストにおける前記選択された予測動きベクトルのインデックスを示す情報を符号化する符号化部とを備え、前記予測動きベクトル候補生成部は、前記符号化済みのブロックを複数の予測ブロックグループに分割して各グループの予測動きベクトルの候補を生成する際に、前記予測動きベクトル候補リストに未登録の予測ブロックグループの予測動きベクトルの候補と、前記予測動きベクトル候補リストに既登録の予測ブロックグループの予測動きベクトルの候補とのベクトル間差分を計算し、その差分に関する評価値が所定の閾値未満と判定された場合、前記未登録の予測ブロックグループの予測動きベクトルの候補は前記予測動きベクトル候補リストに登録しないと判定することを特徴とする動画像符号化装置。前記予測動きベクトル候補生成部は、前記未登録の予測ブロックグループの予測動きベクトルの候補と、前記既登録の予測ブロックグループの予測動きベクトルの候補との予測動きベクトルの水平成分及び垂直成分ごとの差分絶対値を差分評価値とし、前記水平成分及び垂直成分の各差分評価値がそれぞれの所定の閾値未満と判定された場合、前記未登録の予測ブロックグループの予測動きベクトルの候補は前記予測動きベクトル候補リストに登録しないと判定することを特徴とする請求項1に記載の動画像符号化装置。前記予測動きベクトル候補生成部は、前記未登録の予測ブロックグループの予測動きベクトルの候補と、前記既登録の予測ブロックグループの予測動きベクトルの候補との予測動きベクトルの水平成分の差分絶対値と垂直成分の差分絶対値とを加算した値を差分評価値とし、前記差分評価値が所定の閾値未満と判定された場合、前記未登録の予測ブロックグループの予測動きベクトルの候補は前記予測動きベクトル候補リストに登録しないと判定することを特徴とする請求項1に記載の動画像符号化装置。動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像を符号化する動画像符号化方法であって、符号化対象ブロックと同一ピクチャ内の前記符号化対象ブロックと隣接する符号化済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成し、生成した予測動きベクトルの候補を予測動きベクトル候補リストに登録する予測動きベクトル候補生成ステップと、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、前記予測動きベクトル候補リストにおける前記選択された予測動きベクトルのインデックスを示す情報を符号化する符号化ステップとを備え、前記予測動きベクトル候補生成ステップは、前記符号化済みのブロックを複数の予測ブロックグループに分割して各グループの予測動きベクトルの候補を生成する際に、前記予測動きベクトル候補リストに未登録の予測ブロックグループの予測動きベクトルの候補と、前記予測動きベクトル候補リストに既登録の予測ブロックグループの予測動きベクトルの候補とのベクトル間差分を計算し、その差分に関する評価値が所定の閾値未満と判定された場合、前記未登録の予測ブロックグループの予測動きベクトルの候補は前記予測動きベクトル候補リストに登録しないと判定することを特徴とする動画像符号化方法。動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像を符号化する動画像符号化プログラムであって、符号化対象ブロックと同一ピクチャ内の前記符号化対象ブロックと隣接する符号化済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成し、生成した予測動きベクトルの候補を予測動きベクトル候補リストに登録する予測動きベクトル候補生成ステップと、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、前記予測動きベクトル候補リストにおける前記選択された予測動きベクトルのインデックスを示す情報を符号化する符号化ステップとをコンピュータに実行させ、前記予測動きベクトル候補生成ステップは、前記符号化済みのブロックを複数の予測ブロックグループに分割して各グループの予測動きベクトルの候補を生成する際に、前記予測動きベクトル候補リストに未登録の予測ブロックグループの予測動きベクトルの候補と、前記予測動きベクトル候補リストに既登録の予測ブロックグループの予測動きベクトルの候補とのベクトル間差分を計算し、その差分に関する評価値が所定の閾値未満と判定された場合、前記未登録の予測ブロックグループの予測動きベクトルの候補は前記予測動きベクトル候補リストに登録しないと判定することを特徴とする動画像符号化プログラム。しかし、非特許文献1に記載された方法では、予測ベクトルは一つしか得られないため、画像によっては予測動きベクトルの予測精度が低下し、符号化効率が良くならない場合もあった。このような状況下、本発明者らは、動き補償予測を使用する画像符号化方式において、符号化情報をより一層圧縮し、全体の符号量を削減する必要性を認識するに至った。本発明はこうした状況に鑑みてなされたものであり、その目的は、予測動きベクトルの候補を算出することにより、差分動きベクトルの符号量の削減を図って符号化効率を向上させる動画像符号化技術を提供することにある。また、別の目的は、符号化情報の候補を算出することにより、符号化情報の符号量の削減を図って符号化効率を向上させる動画像符号化技術を提供することにある。上記課題を解決するために、本発明のある態様の動画像符号化装置は、動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像を符号化する動画像符号化装置であって、符号化対象ブロックと同一ピクチャ内の前記符号化対象ブロックと隣接する符号化済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成し、生成した予測動きベクトルの候補を予測動きベクトル候補リストに登録する予測動きベクトル候補生成部120、121と、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択部124と、前記予測動きベクトル候補リストにおける前記選択された予測動きベクトルのインデックスを示す情報を符号化する符号化部109とを備える。前記予測動きベクトル候補生成部120、121は、前記符号化済みのブロックを複数の予測ブロックグループに分割して各グループの予測動きベクトルの候補を生成する際に、前記予測動きベクトル候補リストに未登録の予測ブロックグループの予測動きベクトルの候補と、前記予測動きベクトル候補リストに既登録の予測ブロックグループの予測動きベクトルの候補とのベクトル間差分を計算し、その差分に関する評価値が所定の閾値未満と判定された場合、前記未登録の予測ブロックグループの予測動きベクトルの候補は前記予測動きベクトル候補リストに登録しないと判定する。本発明の別の態様は、動画像符号化方法である。この方法は、動画像の各ピクチャを分割したブロック単位で動き補償を用いて前記動画像を符号化する動画像符号化方法であって、符号化対象ブロックと同一ピクチャ内の前記符号化対象ブロックと隣接する符号化済みのブロックのいずれかの動きベクトルから予測して、複数の予測動きベクトルの候補を生成し、生成した予測動きベクトルの候補を予測動きベクトル候補リストに登録する予測動きベクトル候補生成ステップと、前記予測動きベクトル候補リストから予測動きベクトルを選択する予測動きベクトル選択ステップと、前記予測動きベクトル候補リストにおける前記選択された予測動きベクトルのインデックスを示す情報を符号化する符号化ステップとを備える。前記予測動きベクトル候補生成ステップは、前記符号化済みのブロックを複数の予測ブロックグループに分割して各グループの予測動きベクトルの候補を生成する際に、前記予測動きベクトル候補リストに未登録の予測ブロックグループの予測動きベクトルの候補と、前記予測動きベクトル候補リストに既登録の予測ブロックグループの予測動きベクトルの候補とのベクトル間差分を計算し、その差分に関する評価値が所定の閾値未満と判定された場合、前記未登録の予測ブロックグループの予測動きベクトルの候補は前記予測動きベクトル候補リストに登録しないと判定する。なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。本発明によれば、複数の予測動きベクトルを算出し、それら複数の予測動きベクトルの中から最適な予測動きベクトルを選択し、差分動きベクトルの発生符号量を削減させて、符号化効率を向上させることができる。実施の形態では、動画像の符号化に関し、特にピクチャを矩形ブロックに分割し、ピクチャ間でブロック単位に動き補償を行う動画像符号化における符号化効率を向上させる為に、符号化済みの周囲のブロックの動きベクトルから複数の予測動きベクトルを算出し、符号化対象のブロックの動きベクトルと選択された予測動きベクトルとの差分ベクトルを算出して符号化することによって符号量を削減する。あるいは、符号化済みの周囲のブロックの符号化情報を利用することにより、符号化対象ブロックの符号化情報を推定することによって符号量を削減する。また、動画像の復号の場合は、復号済みの周囲のブロックの動きベクトルから複数の予測動きベクトルを算出し、符号化ストリームから復号された差分ベクトルと選択された予測動きベクトルとから復号対象のブロックの動きベクトルを算出して復号する。あるいは、復号済みの周囲のブロックの符号化情報を利用することにより、復号対象ブロックの符号化情報を推定する。図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に記憶されている既に符号化された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を算出して後述するMVPリストに登録し、MVPリストに登録された複数の予測動きベクトルの候補の中から最適な予測動きベクトルを選択し、動きベクトル検出部102が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを予測方法決定部106に供給する。これらの符号化情報に加えて、後述するように予測ブロックごとに重みづけ予測に用いる重み付けパラメータを切り替える場合は、選択された予測ブロックの重み付け予測の重み付けパラメータ動き補償画像信号に乗算する重みづけ係数値及び加算する重み付けオフセット値も予測方法決定部106に供給する。さらに、MVPリストに登録された予測動きベクトルの候補から選択された予測動きベクトルを特定するMVPインデックスを予測方法決定部106に供給する。差分動きベクトル算出部103の詳細な構成と動作は後述する。インター予測情報推定部104は、マージモードのインター予測情報を推定する。マージモードとは、当該予測ブロックの予測モード、参照インデックス参照リストに登録されている複数の参照画像から動き補償予測に利用する参照画像を特定するための情報、動きベクトル等のインター予測情報を符号化するのではなく、符号化済みの隣接するインター予測された予測ブロック、あるいは異なる画像のインター予測された予測ブロックのインター予測情報を利用するモードである。符号化情報格納メモリ114に記憶されている既に符号化された予測ブロックの符号化情報を用いて、複数のマージの候補インター予測情報の候補を算出て後述するマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から最適なマージ候補を選択し、選択されたマージ候補の予測モード、参照インデックス、動きベクトル等のインター予測情報を動き補償予測部105に供給するとともに、選択されたマージ候補を特定するマージインデックスを予測方法決定部106に供給する。これらの符号化情報に加えて、後述するように予測ブロックごとに重み付けパラメータを切り替える場合は、選択されたマージ候補の重み付け予測の重み付けパラメータも動き補償予測部105に供給する。さらに、選択されたマージ候補を特定するマージインデックスを予測方法決定部106に供給する。なお、これらの符号化情報に加えて、選択された符号化済みの予測ブロックの量子化の量子化パラメータ等の符号化情報も予測値として利用することができ、予測する場合は予測する符号化情報を予測方法決定部106に供給する。動き補償予測部105は、動きベクトル検出部102およびインター予測情報推定部104により検出された動きベクトルを用いて参照ピクチャから動き補償予測により予測画像信号を生成し、予測画像信号を予測方法決定部106に供給する。なお、主に前方向の予測として使われるL0予測、及び主に後方向の予測として使われるL1予測では、片方向の予測を行う。双予測の場合は、双方向の予測を行い、主に前方向の予測として使われるL0予測、主に後方向の予測として使われるL1予測のそれぞれのインター予測された信号に適応的に重み係数を掛け算し、オフセット値を加算して重畳し、最終的な予測画像信号を生成する。なお、重み付け予測に用いる重み付け係数、オフセット値から成る重み付けパラメータはピクチャ単位で切り替えてもよいし、スライス単位で切り替えてもよいし、予測ブロック単位で切り替えてもよい。この重み付けパラメータは、ピクチャ単位またはスライス単位で切り替える場合、ピクチャ単位またはスライス単位で各リストの参照ピクチャ毎に代表的な値が設定されて符号化される。予測ブロック単位で切り替える場合、予測ブロック単位に重み付けパラメータが設定されて符号化される。予測方法決定部106は差分動きベクトルの符号量、動き補償予測信号と画像信号との間の歪量等を評価することにより、複数の予測方法の中から、最適な予測ブロックサイズ予測ブロックサイズについては図4を参照して後述する、予測モード、マージモードか否か等の予測方法を決定し、決定された予測方法を示す情報、及び決定された予測方法に応じた差分動きベクトル等を含む符号化情報を第1の符号化ビット列生成部109に供給する。なお、必要に応じて重み付け予測を行う際に用いる重み付けパラメータ、量子化/逆量子化を行う際に用いる量子化パラメータの符号化情報の予測値も第1の符号化ビット列生成部109に供給する。さらに、予測方法決定部106は、決定された予測方法を示す情報、及び決定された予測方法に応じた動きベクトル等を含む符号化情報を符号化情報格納メモリ114に格納する。なお、必要に応じて予測方法決定部106から供給される重み付け予測の重み付けパラメータを符号化情報格納メモリ114に格納する。予測方法決定部106は、決定された予測モードに応じた動き補償予測画像信号を残差信号生成部107と復号画像信号重畳部113に与える。残差信号生成部107は、符号化する画像信号と予測信号との引き算を行い残差信号を生成し、直交変換量子化部108に与える。直交変換量子化部108は、残差信号に対して量子化パラメータに応じて直交変換及び量子化を行い直交変換量子化された残差信号を生成し、第2の符号化ビット列生成部110と逆量子化逆直交変換部112に供給する。さらに、直交変換量子化部108は、量子化パラメータを符号化情報格納メモリ114に格納する。第1の符号化ビット列生成部109は、シーケンス、ピクチャ、スライス、符号化ブロック単位の情報に加えて、予測ブロック毎に予測方法決定部106によって決定された予測方法に応じた符号化情報を符号化する。具体的には、インター予測かどうかを判別するパラメータ、インター予測の場合、マージモードかどうかを判別するパラメータ、マージモードの場合はマージインデックス、マージモードでない場合は予測モード、MVPインデックス、差分動きベクトルに関する情報等の符号化情報を後述する規定のシンタックス規則に従って符号化して第1の符号化ビット列を生成し、多重化部111に供給する。なお、マージモードの場合、後述するマージ候補リストに登録されるマージ候補が1つの場合、マージインデックスmergeIdxは0と特定できるので、符号化しない。同様に、マージモードでない場合、後述するMVPリストに登録される予測動きベクトルの候補が1つの場合、MVPインデックスmergeIdxは0と特定できるので、符号化しない。ここで、MVPインデックスを符号化する際、MVPリストにおいて優先順位が高いすなわちインデックス番号が小さいMVPインデックスほど符号長が短い符号を割り当てて可変長符号化する。同様に、マージインデックスを符号化する際、マージリストにおいて優先順位が高いすなわちインデックス番号が小さいマージインデックスほど符号長が短い符号を割り当てて可変長符号化する。なお、重み付け予測を予測ブロック単位で適応的に切り替える場合は、マージモードでない場合に予測方法決定部106から供給される重み付け予測の重み付けパラメータも符号化する。量子化の量子化パラメータ符号化情報の予測値と実際に用いる値との差分を符号化する。第2の符号化ビット列生成部110は、直交変換及び量子化された残差信号を規定のシンタックス規則に従ってエントロピー符号化して第2の符号化ビット列を生成し、多重化部111に供給する。多重化部111で、第1の符号化ビット列と第2の符号化ビット列を規定のシンタックス規則に従って多重化し、ビットストリームを出力する。逆量子化逆直交変換部112は、直交変換量子化部108から供給された直交変換量子化された残差信号を逆量子化及び逆直交変換して残差信号を算出し、復号画像信号重畳部113に供給する。復号画像信号重畳部113は、予測方法決定部106による決定に応じた予測信号と逆量子化逆直交変換部112で逆量子化及び逆直交変換された残差信号を重畳して復号画像を生成し、復号画像メモリ115に格納する。なお、復号画像に対して符号化によるブロック歪等の歪を減少させるフィルタリング処理を施して、復号画像メモリ115に格納されることもある。その場合、必要に応じてALFやデブロッキングフィルタ等のポストフィルタの情報を識別するフラグ等の予測された符号化情報を符号化情報格納メモリ114に格納する。図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は、供給された符号化ビット列を復号して、シーケンス、ピクチャ、スライス、符号化ブロック単位の情報、及び、予測ブロック単位の符号化情報を得る。具体的には、インター予測かどうかを判別するパラメータ、インター予測かどうかを判別するパラメータ、マージモードの場合はマージインデックス、マージモードでない場合は予測モード、MVPインデックス、差分動きベクトル等に関する符号化情報を後述する規定のシンタックス規則に従って復号し、符号化情報を動きベクトル算出部204またはインター予測情報推定部205と動き補償予測部206に与えるとともに符号化情報格納メモリ209に格納する。なお、マージモードの場合、後述するマージ候補リストに登録されるマージ候補が1つの場合、マージインデックスmergeIdxは0と特定できるので、符号化ビット列には符号化されておらず、mergeIdxを0とする。したがって、マージモードの場合、第1符号化ビット列復号部202では、インター予測情報推定部205で算出されたマージ候補リストに登録されるマージ候補の数が供給される。同様に、マージモードでない場合、後述するMVPリストに登録される予測動きベクトルの候補が1つの場合、MVPインデックスmvpIdxは0と特定できるので、符号化されておらず、mvpIdxを0とする。したがって、マージモードでない場合、第1符号化ビット列復号部202では、動きベクトル算出部204で算出されたMVPリストに登録される予測動きベクトル候補の数が供給される。第2符号化ビット列復号部203は、供給された符号化ビット列を復号して直交変換量子化された残差信号を算出し、直交変換量子化された残差信号を逆量子化逆直交変換部207に与える。動きベクトル算出部204は、復号対象の予測ブロックがマージモードでない時に、符号化情報格納メモリ209に記憶されている既に復号された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を算出して後述するMVPリストに登録し、MVPリストに登録された複数の予測動きベクトルの候補の中から、第1符号化ビット列復号部202で復号され供給される符号化情報に応じた予測動きベクトルを選択し、第1符号化ビット列復号部202で復号された差分ベクトルと選択された予測動きベクトルから動きベクトルを算出し、動き補償予測部206に供給するとともに、符号化情報格納メモリ209に供給する。さらに、動きベクトル算出部204で算出されたMVPリストに登録される予測動きベクトル候補の数を第1符号化ビット列復号部202に供給する。動きベクトル算出部204の詳細な構成と動作は後述する。インター予測情報推定部205は、復号対象の予測ブロックがマージモードの時に、マージモードのインター予測情報を推定する。符号化情報格納メモリ114に記憶されている既に復号された予測ブロックの符号化情報を用いて、複数のマージの候補を算出して後述するマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から第1符号化ビット列復号部202で復号され供給されるマージインデックスに対応したマージ候補を選択し、選択されたマージ候補の予測モード、参照インデックス、予測動きベクトル等のインター予測情報を動き補償予測部206に供給するとともに、符号化情報格納メモリ209に格納する。さらに、インター予測情報推定部205で算出されたマージ候補リストに登録されるマージ候補の数を第1符号化ビット列復号部202に供給する。これらの符号化情報に加えて、後述するように予測ブロックごとに重み付けパラメータを切り替える場合は、選択されたマージ候補の重み付け予測の重み付けパラメータも動き補償予測部206に供給する。なお、選択された符号化済みの予測ブロックのこれらの符号化情報に加えて、量子化の量子化パラメータのインター予測情報以外の符号化情報も予測値として利用することができ、予測する場合は予測する符号化情報を予測方法決定部106に供給することもできる。動き補償予測部206は、動きベクトル算出部204で算出された動きベクトルを用いて参照ピクチャから動き補償予測により予測画像信号を生成し、予測画像信号を復号画像信号重畳部208に供給する。なお、両予測の場合は、L0予測、L1予測の2つの動き補償予測画像信号に適応的に重み係数を掛け算して重畳し、最終的な予測画像信号を生成する。逆量子化逆直交変換部207は、第1符号化ビット列復号部202で復号された直交変換量子化された残差信号に対して逆直交変換及び逆量子化を行い、逆直交変換逆量子化された残差信号を得る。復号画像信号重畳部208は、動き補償予測部206で動き補償予測された予測画像信号と、逆量子化逆直交変換部207により逆直交変換逆量子化された残差信号とを重畳することにより、復号画像信号を復号し、復号画像メモリ210に格納する。復号画像メモリ210に格納する際には、復号画像に対して符号化によるブロック歪等を減少させるフィルタリング処理を施して、復号画像メモリ210に格納されることもある。実施の形態に係る動きベクトルの予測方法は、図1の動画像符号化装置の差分動きベクトル算出部103及び図2の動画像復号装置の動きベクトル算出部204において実施される。動きベクトルの予測方法の実施例を説明する前に、本実施例において使用する用語を定義する。符号化ブロックについて実施の形態では、図3に示されるように、画面内を任意の同一サイズの正方の矩形の単位にて均等分割する。この単位をツリーブロックと定義し、画像内での符号化/復号対象ブロック符号化においては符号化対象ブロック、復号においては復号対象ブロックを特定するためのアドレス管理の基本単位とする。ツリーブロックは画面内のテクスチャに応じて、符号化処理を最適にすべく、必要に応じてツリーブロック内を階層的に4分割して、ブロックサイズの小さいブロックにすることが出来る。このブロックを符号化ブロックと定義し、符号化及び復号を行う際の処理の基本単位とする。ツリーブロックは最大サイズの符号化ブロックでもある。符号化ブロックをこれ以上4分割出来ない最小のサイズとなる符号化ブロックを最小符号化ブロックと呼ぶこととする。予測ブロックについて画面内をブロックに分割して動き補償を行う場合、動き補償のブロックサイズをより小さくした方が、よりきめ細かい予測を行うことが出来ることから、いくつかのブロック形状、およびサイズの中から最適なものを選択して、符号化ブロック内部を分割して動き補償を行う仕組みを取り入れている。この動き補償を行う単位を予測ブロックと呼ぶ。図4に示すように、符号化ブロック内部を分割せず1つの予測ブロックとみなしたもの図4aを2Nx2N分割、水平方向に2分割し、2つの予測ブロックとしたもの図4bを2NxN分割、垂直方向に分割し、2つの予測ブロックとしたもの図4cをNx2N分割、水平と垂直の均等分割により2つの予測ブロックとしたもの図4dをNxN分割とそれぞれ定義する。符号化ブロック内部において、各予測ブロックを特定する為に、0から開始する番号を、符号化ブロック内部に存在する予測ブロックに対して割り当てる。この番号を予測ブロックインデックスpuPartIdxと定義する。図4の符号化ブロックの各予測ブロックの中に記述された数字は、その予測ブロックの予測ブロックインデックスpuPartIdxを表す。予測ブロックグループについて複数の予測ブロックで構成されるグループを予測ブロックグループと定義する。図5は符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックに隣接する予測ブロックグループを説明する図である。図9は符号化/復号対象の予測ブロックと時間的に異なるピクチャにおいて、符号化/復号対象の予測ブロックと同一位置あるいはその近傍の位置に存在する既に符号化/復号済みの予測ブロックグループを説明する図である。図5、図6、図7、図8、図9を用いて本発明の予測ブロックグループについて説明する。符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックの左側に隣接する予測ブロックA1、および符号化/復号対象の予測ブロックの左下に隣接する予測ブロックA0、で構成される第1の予測ブロックグループを左側に隣接する予測ブロックグループと定義する。なお、図6に示すように、符号化/復号対象の予測ブロックの左側に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、左側に隣接する予測ブロックAがその符号化/復号対象の予測ブロックの左側に隣接していれば予測ブロックA1とし、符号化/復号対象の予測ブロックの左下に隣接していれば予測ブロックA0とする。なお、図7に示すように、符号化/復号対象の予測ブロックの左側に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより小さく、複数存在する場合には、その中で最も下の予測ブロックA10だけを左側に隣接する予測ブロックA1として左側に隣接する予測ブロックグループに含ませる。ただし、その中で最も上の予測ブロックA12だけを左側に隣接する予測ブロックA1として左側に隣接する予測ブロックグループに含ませることもできるし、最も下の予測ブロックA10と最も上の予測ブロックA12を共に左側に隣接する予測ブロックグループに含ませてもよいし、左側に隣接するすべての予測ブロックA10、A11、A12を左側に隣接する予測ブロックグループに含ませてもよい。符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックの上側に隣接する予測ブロックB1、符号化/復号対象の予測ブロックの右上に隣接する予測ブロックB0、および符号化/復号対象の予測ブロックの左上に隣接する予測ブロックB2で構成される第2の予測ブロックグループを上側に隣接する予測ブロックグループと定義する。なお、図8に示すように、符号化/復号対象の予測ブロックの上側に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、上側に隣接する予測ブロックBがその符号化/復号対象の予測ブロックの上側に隣接していれば予測ブロックB1とし、符号化/復号対象の予測ブロックの右上に隣接していれば予測ブロックB0とし、符号化/復号対象の予測ブロックの左上に隣接していれば予測ブロックB2とする。なお、図7に示すように、符号化/復号対象の予測ブロックの上側に隣接する予測ブロックのサイズが小さく、複数存在する場合には、その中で最も右の予測ブロックB10だけを上側に隣接する予測ブロックB1として上側に隣接する予測ブロックグループに含ませる。ただし、その中で最も左の予測ブロックB12だけを上側に隣接する予測ブロックB1として上側に隣接する予測ブロックグループに含ませることもできるし、最も右の予測ブロックB10と最も左の予測ブロックB12を共に左側に隣接する予測ブロックグループに含ませてもよいし、上側に隣接する予測ブロックをすべて上側に隣接する予測ブロックグループに含ませてもよい。図9に示すように、符号化/復号対象の予測ブロックと時間的に異なるピクチャにおいて、符号化/復号対象の予測ブロックと同一位置あるいはその近傍の位置に存在する既に符号化/復号済みの予測ブロックグループT0,T1,T2,T3,およびT4で構成される第3の予測ブロックグループを異なる時間の予測ブロックグループと定義する。参照リストについて符号化及び復号の際には参照リストLX毎の参照インデックスから参照ピクチャを指定して参照する。L0とL1の2つ用意されていて、Xには0或いは1が入る。参照リストL0に登録されている参照ピクチャを参照するインター予測をL0予測Pred_L0と呼び、参照リストL1に登録されている参照ピクチャを参照する動き補償予測をL1予測Pred_L1と呼ぶ。主としてL0予測は前方向予測に、L1予測は後方向予測として使用され、PスライスではL0予測のみ、BスライスではL0予測、L1予測、L0予測とL1予測を平均または重み付け加算する両予測Pred_BIが使用出来る。以降の処理において出力に添え字LXが付いている値に対しては、L0予測、L1予測ごとに処理を行うことを前提とする。POCについてPOCは符号化される画像に関連付けられる変数とし、出力順序で1ずつ増加する値が設定されるものとする。POCの値によって、同じ画像であるかを判別したり、出力順序での前後関係を判別したり、画像間の距離を判別したりすることができる。例えば、2つの画像のPOCが同じ値を持つ場合、同一の画像であると判断できる。2つの画像のPOCが違う値を持つ場合、POCの値が小さい画像のほうが、先に出力される画像であると判断でき、2つの画像のPOCの差がフレーム間距離を示す。実施の形態による動きベクトルの予測方法を図面を用いて説明する。動きベクトルの予測方法は、符号化ブロックを構成する予測ブロック単位に、符号化及び復号の処理の何れでも実施される。動き補償による画像間符号化インター予測が選択された場合に、符号化の場合、符号化対象の動きベクトルから符号化する差分動きベクトルを算出する時に用いる符号化済みの動きベクトルを利用して予測動きベクトルを算出する際、復号の場合、復号対象の動きベクトルを算出する時に用いる復号済みの動きベクトルを利用して予測動きベクトルを算出する際に実施される。シンタックスについてまず、本実施例に係る動きベクトルの予測方法を備える動画像符号化装置により符号化される動画像のビットストリームの符号化および復号の共通規則であるシンタックスについて説明する。図10は本発明により生成されるビットストリームのスライス単位でスライスヘッダーに記述される第1のシンタックス構造を示す。ただし、本発明に関係のあるシンタックス要素のみを示している。スライス単位で動き補償による画像間予測インター予測を行う場合、即ちスライスタイプがP片方向予測或いはB両方向予測の場合に、シンタックス要素mvp_candidate_threshold_valueが設置される。シンタックス要素はmvp_candidate_threshold_valueはMVP候補の中で冗長な候補を削除する際のスレッショルドを示す値を符号化/復号するために設置され、0以上の値をとる。このシンタックス要素はmvp_candidate_threshold_valueの値の詳細な用途については後述する。さらに、スライスタイプがBの場合は、時間方向の予測動きベクトルの候補、またはマージ候補を算出する際に用いる時間方向で異なるピクチャcolPicが処理対象の予測ブロックが含まれるピクチャのL0の参照リスト或いはL1の参照リストのどちらに登録されている参照画像を使用するかを示す第3フラグcollocated_from_l0_flagが設置される。なお、以上のシンタックス要素はピクチャ単位で設定されるシンタックス要素を記述するピクチャパラメータセットに設置してもよい。図11は予測ブロック単位に記述されるシンタックスパターンを示す。予測ブロックの予測モードPredModeの値が画像間予測インター予測を示すMODE_INTERの場合、マージモードかどうかを示すmerge_flag[x0][y0]が設置される。ここで、x0、y0は輝度信号の画面内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_flag[x0][y0]は画面内のx0,y0に位置する予測ブロックのマージモードかどうかを示すフラグである。次に、merge_flag[x0][y0]が1の場合、マージモードであることを示し、NumMergeCandが1つを超える場合に、参照する予測動きベクトルの候補のリストであるマージリストのインデックスのシンタックス要素merge_idx[x0][y0]が設置される。ここで、x0、y0は画面内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_idx[x0][y0]は画面内のx0,y0に位置する予測ブロックのマージインデックスである。関数NumMergeCandはマージ候補の数を表し、後述にて説明される。このマージリストのインデックスのシンタックス要素merge_idx[x0][y0]がマージ候補の数NumMergeCandが1より大きい場合にだけ符号化されるのは、予測動きベクトルの候補の総数が1つであれば、その1つがマージ候補となるので、merge_idx[x0][y0]を伝送せずとも参照するマージ候補が確定する為である。一方、merge_flag[x0][y0]が0の場合、マージモードでないことを示し、スライスタイプがBの場合、インター予測モードを識別するシンタックス要素inter_pred_flag[x0][y0]が設置される。参照リストLXX=0または1ごとに、参照ピクチャを特定するための参照ピクチャインデックスのシンタックス要素ref_idx_lX[x0][y0]、動きベクトル検出にて求められた予測ブロックの動きベクトルと予測動きベクトルとの差分動きベクトルのシンタックス要素mvd_lX[x0][y0][j]が設置される。ここで、Xは0或いは1で予測方向を示し、配列のインデックスx0は予測ブロックのx座標、y0は予測ブロックのy座標、jは差分動きベクトルの成分を表し、j=0はx成分を、j=1はy成分を表す。次に、予測動きベクトルの候補の総数が1つを超える場合に、参照する予測動きベクトルの候補のリストであるMVPリストのインデックスのシンタックス要素mvp_idx_lX[x0][y0]が設置される。ここで、x0、y0は画面内での予測ブロックの左上の画素の位置を示すインデックスであり、mvp_idx_lX[x0][y0]は画面内のx0,y0に位置する予測ブロックのリストLXのMVPインデックスである。添え字LXは参照リストを表し、L0とL1の2つ用意されていて、Xには0或いは1が入る。関数NumMVPCandLXは、予測方向LXXは0或いは1で予測ブロックの予測動きベクトルの候補の総数を算出する関数を表し、後述にて説明される。このMVPリストのインデックスmvp_idx_lX[x0][y0]は動きベクトルの予測方法により予測動きベクトルの候補の総数NumMVPCandLXが1より大きい場合に符号化される。予測動きベクトルの候補の総数が1つであれば、その1つが予測動きベクトルとなるので、mvp_idx_lX[x0][y0]を伝送せずとも参照する予測動きベクトルの候補が確定する為である。符号化における動きベクトルの予測上述のシンタックスに基づき、動画像のビットストリームを符号化する動画像符号化装置において、実施の形態に係る動きベクトルの予測方法の動作を説明する。動きベクトルの予測方法は、スライス単位で動き補償による画像間予測を行う場合、即ちスライスタイプがPスライス片方向予測スライス或いはBスライス両方向予測スライスの場合で、更に、スライスの中の予測ブロックの予測モードが画像間予測MODE_INTERの予測ブロックに適用される。図12は、図1の動画像符号化装置の差分動きベクトル算出部103の詳細な構成を示す図である。図12の太枠線で囲まれる部分は差分動きベクトル算出部103を示している。更に、その内部の太点線で囲まれる部分は後述する動きベクトルの予測方法の動作部を示しており、実施の形態の動画像符号化装置と対応する動画像復号装置にも同様に設置され、符号化と復号で矛盾しない同一の判定結果を得られるようにしている。以下、この図を用いて、符号化における動きベクトルの予測方法を説明する。差分動きベクトル算出部103は、予測動きベクトル候補生成部120、予測動きベクトル登録部121、予測動きベクトル候補同一判定部122、予測動きベクトル候補符号量算出部123、予測動きベクトル選択部124、および動きベクトル減算部125を含む。この差分動きベクトル算出部103での差分動きベクトル算出処理は、符号化対象ブロックで選択されたインター予測方法で用いる動きベクトルの差分動きベクトルをそれぞれ算出する。具体的には符号化対象ブロックがL0予測の場合、L0の動きベクトルの差分動きベクトルを算出し、符号化対象ブロックがL1予測の場合、L1の動きベクトルの差分動きベクトルを算出する。符号化対象ブロックが双予測の場合、L0予測とL1予測が共に行われ、L0の動きベクトルの差分動きベクトル、およびL1の動きベクトルの差分動きベクトルをそれぞれ算出する。予測動きベクトル候補生成部120は、参照リストL0、L1毎に、上側に隣接する予測ブロックグループ符号化対象の予測ブロックと同一ピクチャ内でその予測ブロックの左側に隣接する予測ブロックグループ:図5のA0,A1、左側に隣接する予測ブロックグループ符号化対象の予測ブロックと同一ピクチャ内でその予測ブロックの上側に隣接する予測ブロックグループ:図5のB0,B1,B2、異なる時間の予測ブロックグループ符号化対象の予測ブロックと時間的に異なるピクチャ内でその予測ブロックと同一位置あるいはその近傍の位置に存在する既に符号化済みの予測ブロックグループ:図9のT0,T1,T2,T3の3つの予測ブロックグループから、各予測ブロックグループごとに1つの動きベクトルmvLXA、mvLXB、mvLXColをそれぞれ算出し、予測動きベクトル候補とし、予測動きベクトル登録部121に供給する。以下、mvLXA及びmvLXBを空間的な動きベクトル、mvLXColを時間的な動きベクトルと呼ぶ。この予測動きベクトル候補の算出に際しては、符号化情報格納メモリ114に格納されている符号化済みの予測ブロックの予測モード、参照リスト毎の参照インデックス、参照ピクチャのPOC、動きベクトル等の符号化情報を用いる。これらの予測動きベクトルの候補mvLXA、mvLXB、mvLXColは符号化対象画像のPOCと参照ピクチャのPOCとの関係に応じてスケーリングすることにより算出されることもある。予測動きベクトル候補生成部120は、各予測ブロックグループ毎に、所定の順序で、それぞれの予測ブロックグループ内の予測ブロックに対して、後述の条件判定を行い、最初に条件に合致した予測ブロックの動きベクトルを選択し、予測動きベクトルの候補mvLXA、mvLXB、mvLXColとする。左側に隣接する予測ブロックグループから予測動きベクトルを算出する際には、左側に隣接する予測ブロックグループの下から上の順序図5のA0からA0,A1の順序で、上側に隣接する予測ブロックグループから予測動きベクトルを算出する際には、上側に隣接する予測ブロックグループの右から左の順序図5のB0からB0,B1,B2の順序で、異なる時間の予測ブロックグループから予測動きベクトルを算出する際には、図9のT0からT0,T1,T2,T3の順序で、各予測ブロックに対して、後述の条件判定を行い、最初に条件に合致した予測ブロックの動きベクトルを選択し、予測動きベクトルの候補をそれぞれmvLXA、mvLXB、mvLXColとする。即ち、左側の隣接予測ブロックグループでは、一番下の予測ブロックが最も優先順位が高く、下から上に向かって優先順位が付けられており、上側の隣接予測ブロックグループでは、一番右の予測ブロックが最も優先順位が高く、右から左に向かって優先順位が付けられている。異なる時間の予測ブロックグループでは、T0の予測ブロックが最も優先順位が高く、T0,T1,T2,T3の順に優先順位が付けられている。この予測ブロックの位置による優先順位を優先順位Aとする。空間予測ブロックの条件判定のループの説明左側の隣接予測ブロックグループ、及び上側の隣接予測ブロックグループの各隣接予測ブロックに対しては下記の条件判定1、2、3、4の優先順序でそれぞれの条件判定が適用される。ただし、後述する方法5のみ例外として、条件判定1、3、2、4の優先順序でそれぞれの条件判定が適用される。条件判定1:符号化/復号対象の予測ブロックの差分動きベクトル算出対象の動きベクトルと同じ参照リストで、同じ参照インデックス、すなわち参照フレームを用いた予測が隣接予測ブロックでも行われている。条件判定2:符号化/復号対象の予測ブロックの差分動きベクトル算出対象の動きベクトルとは異なる参照リストであるが、同じ参照フレームを用いた予測が隣接予測ブロックで行われている。条件判定3:符号化/復号対象の予測ブロックの差分動きベクトル算出対象の動きベクトルと同じ参照リストで、異なる参照フレームを用いた予測が隣接予測ブロックで行われている。条件判定4:符号化/復号対象の予測ブロックの差分動きベクトル算出対象の動きベクトルとは異なる参照リストで、異なる参照フレームを用いた予測が隣接予測ブロックで行われている。この優先順位を優先順位Bとする。これらの条件のいずれかに一致した場合、当該予測ブロックには条件に合致する動きベクトルは存在すると判断し、後に続く条件判定は行わない。なお、条件判定1または条件判定2の条件に合致した場合、該当する隣接予測ブロックの動きベクトルは同じ参照フレームに対応するものであるので、そのまま予測動きベクトルの候補とするが、条件判定3または条件判定4の条件に合致した場合、該当する隣接予測ブロックの動きベクトルは異なる参照フレームに対応するものであるので、その動きベクトルを基にスケーリングにより算出して予測動きベクトルの候補とする。なお、各隣接予測ブロックの条件判定を並列ではなく、直列に処理する場合、2番目に行う予測ブロックグループの条件判定においては左側の隣接予測ブロックグループの条件判定が先の場合、上側の隣接予測ブロックグループの条件判定では、当該予測ブロックグループの予測動きベクトルの候補が前の予測ブロックグループで決定した予測動きベクトルの候補と同じ値になる場合、その予測動きベクトルの候補を採用せず、次の条件判定に移ってもよい。このように次の条件判定を行うことで、予測動きベクトルの候補の減少を防ぐことが出来る。空間予測ブロックのスキャンのループの仕方として、上記の4つの条件判定の進め方によって、下記の4通りの方法を設定することができる。それぞれの方法によって予測ベクトルの相応しさと最大処理量が異なり、それらを考慮してこれらの方法から選択し設定する。方法1についてのみ、図17~21のフローチャートを用いて詳しく後述するが、他の方法2~4についても、当業者であれば方法2~4を実施する手順については方法1を実施する手順に準じて適宜設計できる事項であるから、詳しい説明を省略する。なお、ここでは動画像符号化装置における空間予測ブロックのスキャンのループ処理を説明するが、同様の処理は動画像復号装置においても可能であることはいうまでもない。方法1:4つの条件判定のうち予測ブロック毎に1つの条件判定を行い、条件を満たさなければ、隣の予測ブロックの条件判定に移る。予測ブロック毎に条件判定を4周したら終了。具体的には以下の優先順序で条件判定を行う。ただし、NはAまたはB1.予測ブロックN0の条件判定1同じ参照リスト、同じ参照フレーム2.予測ブロックN1の条件判定1同じ参照リスト、同じ参照フレーム3.予測ブロックN2の条件判定1同じ参照リスト、同じ参照フレーム4.予測ブロックN0の条件判定2異なる参照リスト、同じ参照フレーム5.予測ブロックN1の条件判定2異なる参照リスト、同じ参照フレーム6.予測ブロックN2の条件判定2異なる参照リスト、同じ参照フレーム7.予測ブロックN0の条件判定3同じ参照リスト、異なる参照フレーム8.予測ブロックN1の条件判定3同じ参照リスト、異なる参照フレーム9.予測ブロックN2の条件判定3同じ参照リスト、異なる参照フレーム10.予測ブロックN0の条件判定4異なる参照リスト、異なる参照フレーム11.予測ブロックN1の条件判定4異なる参照リスト、異なる参照フレーム12.予測ブロックN2の条件判定4異なる参照リスト、異なる参照フレーム方法1によれば、同じ参照フレームを用いたスケーリングされない予測動きベクトルが選ばれやすいので、差分動きベクトルの符号量が小さくなる可能性が高くなるという効果がある。方法2:同じ予測フレームを用いたスケーリングされない予測動きベクトルの判定を優先し、4つの条件判定のうち予測ブロック毎に2つの条件判定を行い、条件を満たさなければ、隣の予測ブロックの条件判定に移る。最初の周回では条件判定1と条件判定2の条件判定を行い、次の予測ブロックの周回では条件判定3と条件判定4の条件判定を行う。具体的には以下の優先順序で条件判定を行う。ただし、NはAまたはB1.予測ブロックN0の条件判定1同じ参照リスト、同じ参照フレーム2.予測ブロックN0の条件判定2異なる参照リスト、同じ参照フレーム3.予測ブロックN1の条件判定1同じ参照リスト、同じ参照フレーム4.予測ブロックN1の条件判定2異なる参照リスト、同じ参照フレーム5.予測ブロックN2の条件判定1同じ参照リスト、同じ参照フレーム6.予測ブロックN2の条件判定2異なる参照リスト、同じ参照フレーム7.予測ブロックN0の条件判定3同じ参照リスト、異なる参照フレーム8.予測ブロックN0の条件判定4異なる参照リスト、異なる参照フレーム9.予測ブロックN1の条件判定3同じ参照リスト、異なる参照フレーム10.予測ブロックN1の条件判定4異なる参照リスト、異なる参照フレーム11.予測ブロックN2の条件判定3同じ参照リスト、異なる参照フレーム12.予測ブロックN2の条件判定4異なる参照リスト、異なる参照フレーム方法2によれば、方法1と同様に、同じ参照フレームを用いたスケーリングされない予測動きベクトルが選ばれやすいので、差分動きベクトルの符号量が小さくなる可能性が高くなるという効果がある。また、条件判定の周回数が最大2回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数が方法1に比べて少なくなり、複雑性が低減される。方法3:最初の周回では予測ブロック毎に条件判定1の条件判定を行い条件を満たさなければ、隣の予測ブロックの条件判定に移る。次の周回では予測ブロック毎に条件判定2、条件判定3条件判定4順序で条件判定を行ってから隣に移る。具体的には以下の優先順序で条件判定を行う。ただし、NはAまたはB1.予測ブロックN0の条件判定1同じ参照リスト、同じ参照フレーム2.予測ブロックN1の条件判定1同じ参照リスト、同じ参照フレーム3.予測ブロックN2の条件判定1同じ参照リスト、同じ参照フレーム4.予測ブロックN0の条件判定2異なる参照リスト、同じ参照フレーム5.予測ブロックN0の条件判定3同じ参照リスト、異なる参照フレーム6.予測ブロックN0の条件判定4異なる参照リスト、異なる参照フレーム7.予測ブロックN1の条件判定2異なる参照リスト、同じ参照フレーム8.予測ブロックN1の条件判定3同じ参照リスト、異なる参照フレーム9.予測ブロックN1の条件判定4異なる参照リスト、異なる参照フレーム10.予測ブロックN2の条件判定2異なる参照リスト、同じ参照フレーム11.予測ブロックN2の条件判定3同じ参照リスト、異なる参照フレーム12.予測ブロックN2の条件判定4異なる参照リスト、異なる参照フレーム方法3によれば、同じ参照リストで同じ参照フレームを用いたスケーリングされない予測動きベクトルが選ばれやすいので、差分動きベクトルの符号量が小さくなる可能性が高くなるという効果がある。また、条件判定の周回数が最大2回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数が方法1に比べて少なくなり、複雑性が低減される。方法4:同じ予測ブロックの条件判定を優先し、1つの予測ブロック内で4つの条件判定を行い、すべての条件に合致しない場合、当該予測ブロックには条件に合致する動きベクトルは存在しないものと判断し、次の予測ブロックの条件判定を行う。具体的には以下の優先順序で条件判定を行う。ただし、NはAまたはB1.予測ブロックN0の条件判定1同じ参照リスト、同じ参照フレーム2.予測ブロックN0の条件判定2異なる参照リスト、同じ参照フレーム3.予測ブロックN0の条件判定3同じ参照リスト、異なる参照フレーム4.予測ブロックN0の条件判定4異なる参照リスト、異なる参照フレーム5.予測ブロックN1の条件判定1同じ参照リスト、同じ参照フレーム6.予測ブロックN1の条件判定2異なる参照リスト、同じ参照フレーム7.予測ブロックN1の条件判定3同じ参照リスト、異なる参照フレーム8.予測ブロックN1の条件判定4異なる参照リスト、異なる参照フレーム9.予測ブロックN2の条件判定1同じ参照リスト、同じ参照フレーム10.予測ブロックN2の条件判定2異なる参照リスト、同じ参照フレーム11.予測ブロックN2の条件判定3同じ参照リスト、異なる参照フレーム12.予測ブロックN2の条件判定4異なる参照リスト、異なる参照フレーム方法4によれば、条件判定の周回数が最大でも1回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数が方法1、方法2、方法3に比べて少なくなり、複雑性が低減される。方法5:方法4と同様に、同じ予測ブロックの条件判定を優先し、1つの予測ブロック内で4つの条件判定を行い、すべての条件に合致しない場合、当該予測ブロックには条件に合致する動きベクトルは存在しないものと判断し、次の予測ブロックの条件判定を行う。ただし、予測ブロック内の条件判定においては、方法4は同じ参照フレームであることをより優先しているが、方法5は同じ参照リストであることを優先する。具体的には以下の優先順序で条件判定を行う。ただし、NはAまたはB1.予測ブロックN0の条件判定1同じ参照リスト、同じ参照フレーム2.予測ブロックN0の条件判定3同じ参照リスト、異なる参照フレーム3.予測ブロックN0の条件判定2異なる参照リスト、同じ参照フレーム4.予測ブロックN0の条件判定4異なる参照リスト、異なる参照フレーム5.予測ブロックN1の条件判定1同じ参照リスト、同じ参照フレーム6.予測ブロックN1の条件判定3同じ参照リスト、異なる参照フレーム7.予測ブロックN1の条件判定2異なる参照リスト、同じ参照フレーム8.予測ブロックN1の条件判定4異なる参照リスト、異なる参照フレーム9.予測ブロックN2の条件判定1同じ参照リスト、同じ参照フレーム10.予測ブロックN2の条件判定3同じ参照リスト、異なる参照フレーム11.予測ブロックN2の条件判定2異なる参照リスト、同じ参照フレーム12.予測ブロックN2の条件判定4異なる参照リスト、異なる参照フレーム方法5によれば、さらに、方法4に比べて予測ブロックの参照リストの参照回数を減らすことができ、メモリへのアクセス回数、条件判定等の処理量を削減することにより複雑性を低減することができる。また、方法4と同様に、条件判定の周回数が最大でも1回となるので、ハードウェアへの実装を考慮した際に予測ブロックの符号化情報へのメモリアクセス回数が方法1、方法2、方法3に比べて少なくなり、複雑性が低減される。次に、予測動きベクトル登録部121は予測動きベクトルの候補mvLXA、mvLXB、mvLXColの優先順位を評価し、優先順位に応じた順番でMVPリストmvpListLXに格納する。このMVPリストmvpListLXに格納する手順については後ほど詳細に説明する。次に、予測動きベクトル候補同一判定部122は、MVPリストmvpListLXに格納された予測動きベクトルの候補の中から同一の動きベクトルの値をもつものを判定し、同一の動きベクトル値をもつと判定された予測動きベクトルの候補について一つを残してそれ以外をMVPリストmvpListLXから削除して、予測動きベクトルの候補が重複しないようにし、MVPリストmvpListLXを更新する。予測動きベクトル候補同一判定部122は、更新されたMVPリストmvpListLXを予測動きベクトル候補符号量算出部123と予測動きベクトル選択部124に与える。一方、図1の動きベクトル検出部102にて予測ブロック毎に動きベクトルmvが検出される。その動きベクトルmvは更新されたMVPリストmvpListLXの予測動きベクトルの候補とともに予測動きベクトル候補符号量算出部123に入力される。予測動きベクトル候補符号量算出部123は、動きベクトルmvとMVPリストmvpListLXの中に格納された各予測動きベクトルの候補mvpListLX[i]との差分であるそれぞれの差分動きベクトルを算出し、それら差分動きベクトルを符号化したときの符号量をMVPリストmvpListLXの要素ごとに算出し、予測動きベクトル選択部124に供給する。予測動きベクトル選択部124は、MVPリストmvpListLXに登録された各要素の中で、予測動きベクトルの候補毎の符号量が最小となる予測動きベクトルの候補mvpListLX[i]を予測動きベクトルmvpとして選択し、MVPリストmvpListLXの中で最小の発生符号量となる予測動きベクトルの候補が複数存在する場合には、MVPリストmvpListLXの中のインデックスiが小さい番号で表される予測動きベクトルの候補mvpListLX[i]を最適予測動きベクトルmvpとして選択する。選択された予測動きベクトルmvpを動きベクトル減算部125に供給する。さらに、その選択された予測動きベクトルmvpに対応するMVPリスト中のインデックスiをLXX=0または1のMVPインデックスmvp_idxとして出力する。なお、予測動きベクトル選択部124は必要に応じてmvp_idxが指し示すMVPリスト中の予測ブロックで用いられた符号化情報も図1の予測方法決定部106に出力する。ここで出力する符号化情報は、重み付け予測の重み付けパラメータ、量子化の量子化パラメータ等が含まれる。最後に動きベクトル減算部125は、動きベクトルmvから選択された予測動きベクトルmvpを減産することにより差分動きベクトルmvdを算出し、差分動きベクトルmvdを出力する。mvd=mv-mvp図1に戻り、動き補償予測部105は、復号画像メモリ115に格納されている復号画像を参照して動きベクトル検出部102から供給される動きベクトルmvに応じて動き補償を行い、動き補償予測信号を得て、予測方法決定部106に供給する。予測方法決定部106は、予測方法を決定する。それぞれの予測モードごとに符号量と符号化歪を算出し、最も少ない発生符号量と符号化歪となる予測ブロックサイズと予測モードが決定される。差分動きベクトル算出部103の動きベクトル減算部125から供給された差分動きベクトルmvdと予測動きベクトル選択部124から供給された予測動きベクトルを表すインデックスmvp_idxの符号化が行われ、動き情報の符号量を算出する。さらに、動き補償予測部105から供給される動き補償予測信号と、画像メモリ101から供給される符号化対象の画像信号との予測残差信号を符号化した予測残差信号の符号量を算出する。動き情報の符号量と予測残差信号の符号量とが加算された総発生符号量を算出し、第1の評価値とする。また、こうした差分画像を符号化後に、歪量評価の為に復号し、符号化により生じる元画像との誤差を表す比率として符号化歪が算出される。これら総発生符号量と符号化歪とを動き補償毎に比較することで、最も少ない発生符号量と符号化歪となる予測ブロックサイズと予測モードが決定される。決定された予測ブロックサイズの予測モードに応じた動きベクトルmvに対して、上述した動きベクトルの予測方法が行われ、予測動きベクトルを表すインデックスが、予測ブロック単位の第2のシンタックスパターンで表されるフラグmvp_idx_lX[i]として符号化される。尚、ここで算出される発生符号量は、符号化過程をシミュレートしたものであることが望ましいが、簡便に近似したり、概算することも可能である。復号における動きベクトルの予測上述のシンタックスに基づき、符号化された動画像のビットストリームを復号する動画像復号装置において、本発明に係る動きベクトルの予測方法の動作を説明する。最初に、第1符号化ビット列復号部202にて復号されるビットストリームの各フラグについて説明する。図10は本発明の動画像符号化装置により生成され、第1符号化ビット列復号部202により復号されるビットストリームのスライス単位でスライスヘッダーに記述される第1のシンタックス構造である。ただし、本発明に関係のあるシンタックス要素のみを示している。ビットストリームのスライスヘッダーの中に記述されているフラグから、スライスタイプがP或いはBの場合、シンタックス要素mvp_candidate_threshold_valueを復号する。シンタックス要素はmvp_candidate_threshold_valueはMVP候補の中で冗長な候補を削除する際のスレッショルドを示す値を符号化/復号するために設置され、0以上の値をとる。このシンタックス要素はmvp_candidate_threshold_valueの値の詳細な用途については後述する。さらに、スライスタイプがBの場合は、時間方向の予測動きベクトルの候補、またはマージ候補を算出する際に用いる時間方向で異なるピクチャcolPicが処理対象の予測ブロックが含まれるピクチャのL0の参照リスト或いはL1の参照リストのどちらに登録されている参照画像を使用するかを示す第3フラグcollocated_from_l0_flagを復号し、処理対象の予測ブロックが含まれるピクチャの参照ピクチャのリストのうちL0或いはL1のどちらを使用するか判別する。なお、以上のシンタックス要素はピクチャ単位で設定されるシンタックス要素を記述するピクチャパラメータセットに設置してもよい。図11は本発明の動画像符号化装置により生成され、第1符号化ビット列復号部202により復号されるビットストリームの予測ブロック単位で記述される第2のシンタックスパターンである。予測ブロック単位に記述されるシンタックスパターンを示す。インター予測の場合予測ブロックがインター予測かどうかを示す予測モードPredModeのがインター予測を示すMODE_INTERの場合、マージモードかどうかを示すmerge_flag[x0][y0]が復号される。ここで、x0、y0は画面内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_flag[x0][y0]は画面内のx0,y0に位置する予測ブロックのマージモードかどうかを示すフラグである。次に、merge_flag[x0][y0]が1の場合、マージモードの候補の総数NumMergeCandが1つを超える場合に、参照する予測動きベクトルの候補のリストであるマージリストのインデックスのシンタックス要素merge_idx[x0][y0]が復号される。ここで、x0、y0は画面内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_idx[x0][y0]は画面内のx0,y0に位置する予測ブロックのマージインデックスである。一方、merge_flag[x0][y0]が0の場合、参照リストLXX=0または1ごとに、動きベクトル検出にて求められた予測ブロックの動きベクトルと予測動きベクトルとの差分動きベクトルのシンタックス要素mvd_lX[x0][y0][j]が復号される。ここで、Xは0或いは1で予測方向を示し、配列のインデックスx0は予測ブロックのx座標、y0は予測ブロックのy座標、jは差分動きベクトルの成分を表し、j=0はx成分を、j=1はy成分を表す。次に、予測動きベクトルの候補の総数が1つを超える場合に、参照する予測動きベクトルの候補のリストであるMVPリストのインデックスのシンタックス要素mvp_idx_lX[x0][y0]が復号される。ここで、x0、y0は画面内での予測ブロックの左上の画素の位置を示すインデックスであり、mvp_idx_lX[x0][y0]は画面内のx0,y0に位置する予測ブロックのリストLXのMVPインデックスである。添え字LXは参照リストを表し、L0とL1の2つ用意されていて、Xには0或いは1が入る。関数NumMVPCandLXは、予測方向LXXは0或いは1で予測ブロックの予測動きベクトルの候補の総数を算出する関数を表し、後述にて説明される。このMVPリストのインデックスmvp_idx_lX[x0][y0]は動きベクトルの予測方法により予測動きベクトルの候補の総数NumMVPCandLXが1より大きい場合に復号される。予測動きベクトルの候補の総数が1つであれば、その1つが予測動きベクトルとなるので、mvp_idx_lX[x0][y0]を伝送せずとも参照する予測動きベクトルの候補が確定する為である。実施の形態に係る動きベクトルの予測方法が実施される場合、図2の動画像復号装置の動きベクトル算出部204にて処理が行われる。図13は、実施の形態の動画像符号化装置に対応する図2の動画像復号装置の動きベクトル算出部204の詳細な構成を示す図である。図13の太枠線で囲まれる部分は動きベクトル算出部204を示している。更に、その内部の太点線で囲まれる部分は後述する動きベクトルの予測方法の動作部を示しており、対応する動画像符号化装置にも同様に設置され、符号化と復号で矛盾しない同一の判定結果を得られるようにしている。以下、この図を用いて、復号における動きベクトルの予測方法を説明する。動きベクトル算出部204は、予測動きベクトル候補生成部220、予測動きベクトル登録部221、予測動きベクトル候補同一判定部222、予測動きベクトル選択部223及び動きベクトル加算部224を含む。動きベクトル算出部204の中の予測動きベクトル候補生成部220、予測動きベクトル登録部221及び予測動きベクトル候補同一判定部222は、符号化側の差分動きベクトル算出部103の中の予測動きベクトル候補生成部120、予測動きベクトル登録部121及び予測動きベクトル候補同一判定部122とそれぞれ同じ動作をするように規定することにより、符号化と復号で矛盾しない同一の予測動きベクトルの候補を符号化側及び復号側で得ることができる。予測動きベクトル候補生成部220は、図12の符号化側の予測動きベクトル候補生成部120と同一の処理を行う。復号して符号化情報格納メモリ209に記録されていた、復号対象ブロックと同一ピクチャ内の復号対象ブロックと隣接する復号済みの予測ブロック及び異なるピクチャ内の復号対象ブロックと同一位置あるいはその近傍の位置に存在する復号済みの予測ブロック等の動きベクトルを符号化情報格納メモリ209から読み出す。符号化情報格納メモリ209から読み出された復号済みの他のブロックの動きベクトルから少なくとも1つ以上の予測動きベクトルの候補mvLXA、mvLXB、mvLXColを生成し、予測動きベクトル登録部221に供給する。これらの予測動きベクトルの候補mvLXA、mvLXB、mvLXColは参照インデックスに応じてスケーリングすることにより算出されることもある。なお、予測動きベクトル候補生成部220は、図12の符号化側の予測動きベクトル候補生成部120と同一の処理を行うので、図12の符号化側の予測動きベクトル候補生成部120で説明した予測動きベクトルを算出するための方法1、2、3、4、5の条件判定は予測動きベクトル候補生成部220でも適用できるものとし、ここでは詳細な説明は省略する。次に、予測動きベクトル登録部221は図12の符号化側の予測動きベクトル登録部121と同一の処理を行う。予測動きベクトルの候補mvLXA、mvLXB、mvLXColの優先順位を評価し、優先順位に応じた順番でMVPリストmvpListLXに格納する。このMVPリストmvpListLXに格納する手順については後ほど詳細に説明する。次に、予測動きベクトル候補同一判定部222は、図12の符号化側の予測動きベクトル候補同一判定部122と同一の処理を行う。MVPリストmvpListLXに格納された予測動きベクトルの候補の中から同一の動きベクトルの値をもつものを判定し、同一の動きベクトル値をもつと判定された予測動きベクトルの候補について一つを残してそれ以外をMVPリストmvpListLXから削除して、予測動きベクトルの候補が重複しないようにし、MVPリストmvpListLXを更新する。更新されたMVPリストmvpListLXは予測動きベクトル選択部223に与えられる。一方、第1符号化ビット列復号部202にて復号された差分動きベクトルmvdが動きベクトル加算部224に入力される。予測動きベクトルのインデックスを示すmvp_idxが符号化されている場合は、第1符号化ビット列復号部202にて復号された予測動きベクトルのインデックスmvp_idxが予測動きベクトル選択部223に入力される。このようにして予測動きベクトル選択部223には、MVPリストmvpListLXの中に残った予測動きベクトルの候補と、予測動きベクトルのインデックスを示すmvp_idxが符号化されていた場合は、復号された予測動きベクトルのインデックスmvp_idxも入力される。予測動きベクトル選択部223は、最初にMVPリストmvpListLXに残った予測動きベクトルの候補が1つであるかどうかを判定し、1つの場合、MVPリストmvpListLXに残った予測動きベクトルの候補を予測動きベクトルmvpとして取り出す。MVPリストmvpListLXの中に予測動きベクトルの候補が1つより多く残った場合、第1符号化ビット列復号部202にて復号された予測動きベクトルのインデックスmvp_idxが読み込まれ、読み込まれたインデックスmvp_idxに対応する予測動きベクトルの候補をMVPリストmvpListLXから取り出す。取り出された予測動きベクトルの候補を予測動きベクトルmvpとして動きベクトル加算部224に供給する。最後に動きベクトル加算部224は、第1符号化ビット列復号部202にて復号されて供給される差分動きベクトルmvdと予測動きベクトルmvpを加算することにより動きベクトルmvを算出し、動きベクトルmvを出力する。mv=mvpmvd以上のようにして、予測ブロック毎に動きベクトルが算出される。この動きベクトルを使用して動き補償により予測画像が生成され、ビットストリームから復号された残差信号と加算されることで復号画像が生成される。動画像符号化装置の差分動きベクトル算出部103、動画像復号装置の動きベクトル算出部204の処理手順について、それぞれ図14、図15のフローチャートを用いて説明する。図14は動画像符号化装置による差分動きベクトル算出処理手順を示すフローチャートであり、図15は動画像復号装置による動きベクトル算出処理手順を示すフローチャートである。まず、図14を参照して符号化側の処理手順を説明する。符号化側では、差分動きベクトル算出部103の中の予測動きベクトル候補生成部120、予測動きベクトル登録部121、及び予測動きベクトル候補同一判定部122により、予測動きベクトルの候補を算出し、MVPリストに算出した予測動きベクトルの候補を追加し、不要な予測動きベクトルの候補を削除することにより、MVPリストを構築するS101。続いて、予測動きベクトル候補符号量算出部123により、動きベクトルmvとMVPリストmvpListLXの中に格納された各予測動きベクトルの候補mvpListLX[i]との差分であるそれぞれの差分動きベクトルを算出し、それら差分動きベクトルを符号化したときの符号量をMVPリストmvpListLXの要素ごとに算出し、予測動きベクトル選択部124により、MVPリストmvpListLXに登録された各要素の中で、予測動きベクトルの候補毎の符号量が最小となる予測動きベクトルの候補mvpListLX[i]を予測動きベクトルmvpとして選択し、MVPリストmvpListLXの中で最小の発生符号量となる予測動きベクトルの候補が複数存在する場合には、MVPリストmvpListLXの中のインデックスiが小さい番号で表される予測動きベクトルの候補mvpListLX[i]を最適予測動きベクトルmvpとして選択する。選択された予測動きベクトルmvpを動きベクトル減算部125に供給する。さらに、その選択された予測動きベクトルmvpに対応するMVPリスト中のインデックスiをLXX=0または1のMVPインデックスmvp_idxとして出力するS102。続いて、動きベクトル減算部125は、動きベクトルmvとから選択された予測動きベクトルmvpとの差分を計算することにより差分動きベクトルmvdを算出し、差分動きベクトルmvdを出力するS103。mvd=mv-mvp次に、図15を参照して復号側の処理手順を説明する。復号側でも前述したように符号化側と同様に、動きベクトル算出部204の中の予測動きベクトル候補生成部220、予測動きベクトル登録部221、及び予測動きベクトル候補同一判定部222により、予測動きベクトルの候補を算出し、MVPリストに算出した予測動きベクトルの候補を追加し、不要な予測動きベクトルの候補を削除することにより、MVPリストを構築するS201。続いて、予測動きベクトル選択部223により、最初にMVPリストmvpListLXに残った予測動きベクトルの候補が1つであるかどうかを判定し、1つの場合、MVPリストmvpListLXに残った予測動きベクトルの候補を予測動きベクトルmvpとして取り出す。MVPリストmvpListLXの中に予測動きベクトルの候補が1つより多く残った場合、第1符号化ビット列復号部202にて復号された予測動きベクトルのインデックスmvp_idxが読み込まれ、読み込まれたインデックスmvp_idxに対応する予測動きベクトルの候補をMVPリストmvpListLXから取り出す。S202。続いて、動きベクトル加算部224により、第1符号化ビット列復号部202にて復号されて供給される差分動きベクトルmvdと予測動きベクトルmvpを加算することにより動きベクトルmvを算出し、動きベクトルmvを出力する。図15のS203。mv=mvpmvd図14のS101、及び図15のS201で共通の予測動きベクトルの算出及びMVPリスト構築方法の処理手順を図16のフローチャートを用いて詳細に説明する。まず、動画像符号化装置及び動画像復号装置で共通する動きベクトルの予測方法について説明する。動きベクトルの予測方法実施の形態に係る予測動きベクトルの算出及びMVPリスト構築方法は予測ブロック単位に図16に示される諸過程で参照リストLXXは0または1毎に実施される。予測モードPredModeがMODE_INTERインター予測で、インター予測方法を示すフラグinter_pred_flag[x0][y0]が、Pred_L0L0予測またはPred_BI両予測の時には、参照リストL0用の予測動きベクトルの候補を算出し、MVPリストを構築する。ここで、x0、y0は画面内での予測ブロックの左上の画素の位置を示すインデックスであり、inter_pred_flag[x0][y0]は画面内のx0,y0に位置する予測ブロックのインター予測方法を示すフラグである。inter_pred_flag[x0][y0]が、Pred_L1L1予測またはPred_BI両予測の時には、参照リストL1用の予測動きベクトルの候補を算出し、MVPリストを構築する。つまり、inter_pred_flag[x0][y0]が、Pred_BI両予測の時には、参照リストL0用と参照リストL1用のそれぞれの予測動きベクトルの候補を算出してMVPリストを構築する。図16は動画像符号化装置の差分動きベクトル算出部103及び動画像復号装置の動きベクトル算出部204とで共通する機能を有する予測動きベクトル候補生成部120及び220、予測動きベクトル登録部121及び221、ならびに予測動きベクトル候補同一判定部122及び222の処理の流れを表すフローチャートである。以下、諸過程を順を追って説明する。左側に隣接する予測ブロックからの予測動きベクトルの候補を算出し、利用できるかどうかを示すフラグavailableFlagLXA、及び動きベクトルmvLXA、参照ピクチャのPOCpocLXAを出力する図16のS301。なお、L0のときXは0、L1のときXは1とする以下同様。続いて、上側に隣接する予測ブロックからの予測動きベクトルの候補を算出し、利用できるかどうかを示すフラグavailableFlagLXB、及び動きベクトルmvLXB、参照ピクチャのPOCpocLXBを算出する図16のS302。図16のS301とS302の処理は共通であり、利用できるかどうかを示すフラグavailableFlagLXN、及び動きベクトルmvLXN、参照ピクチャのPOCpocLXNNはAまたはB、以下同様を算出する共通の算出処理手順を図17~22のフローチャートを用いて後ほど詳細に説明する。続いて、時間の予測動きベクトルの候補を算出し、利用できるかどうかを示すフラグavailableFlagLXCol、及び動きベクトルmvLXCol、クロスしているかどうかを示すフラグmvXCrossFlagを出力する図16のS303。これらの算出処理手順を図24~29と図22のフローチャートを用いて後ほど詳細に説明する。続いて、MVPリストmvpListLXを作成し、予測ベクトルの候補mvLXNNはA、BまたはCol、以下同様を追加する図16のS304。これらの算出処理手順を図30~36のフローチャートを用いて後ほど詳細に説明する。続いて、MVPリストmvpListLX内で、複数の動きベクトルが近い値を持っている場合に、冗長な動きベクトルを取り除く図16のS305。続いて、図15に戻り、MVPリストmvpListLX内の要素の数NumMVPCandLXが1の場合、最終的なMVPインデックスmvpIdxを0とし、そうでない場合には、mvpIdxをmvp_idx_LX[xP,yP]とする図15のS202ここで、xP、yPは画面内での予測ブロックの左上の画素の位置を示すインデックスであり、mvp_idx_lX[xP][yP]は画面内のxP,yPに位置する予測ブロックのリストLXL0またはL1のMVPインデックスである。添え字LXは参照リストを表し、L0とL1の2つ用意されていて、Xには0或いは1が入る。続いて、LXのMVPリスト内のmvpIdx番目に登録されている動きベクトルmvpListLX[mvpIdx]が最終的なリストLXの予測動きベクトルmvpLXに割り当てられる図15のS203。[左側または上側に隣接する1つ以上の予測ブロックから予測動きベクトルの候補をそれぞれ導出図16のS301、S302]この処理における入力は、符号化/復号対象の予測ブロックの先頭である左上の画素の符号化/復号対象画像内での座標xP,yP、および符号化/復号対象の予測ブロックの幅nPSWと高さnPSH、予測ブロックの参照リスト毎の参照インデックスrefIdxLXXは0或いは1である。添え字LXは参照リストを表し、L0とL1の2つ用意されていて、Xには0或いは1が入る。参照リストL0、L1は複数の参照ピクチャの候補からブロック単位に任意のピクチャを参照して動き補償を行うために、複数の参照ピクチャを管理するためのリストであり、参照インデックスrefIdxLXは参照ピクチャを指定するために参照リスト毎に各参照ピクチャに割り当てたインデックスである。この処理における出力は左側または上側に隣接する予測ブロックの動きベクトルmvLXN、および予測ブロックグループNの参照リストLXの符号化情報が有効か否かを示すフラグavailableFlagLXNであり、添え字Xには参照リストを表す0若しくは1、Nには隣接する予測ブロックグループの領域を表すA左側またはB上側が入る。図5、図6、図7、図8に示されるように、同一ピクチャ内の符号化ブロック内部を動き補償する為に定義される予測ブロックの予測ブロック図12中の処理対象の予測ブロックに隣接する周囲の予測ブロックから予測動きベクトルの候補を導出する。図5は、処理対象の予測ブロックとそれに隣接する予測ブロックを示す。予測動きベクトルの候補は、処理対象の予測ブロックの左側に隣接する予測ブロックAkk=0,1から構成される予測ブロックグループA、上に隣接する予測ブロックBkk=0,1,2から構成される予測ブロックグループBからそれぞれ予測動きベクトルの候補を選出する。図17のフローチャートを用いて、図16のS301およびS302の処理手順である左側および上側に隣接する予測ブロックグループNからの予測動きベクトルの候補mvLXNの算出方法について説明する。添え字Xには参照リストを表す0若しくは1、Nには隣接する予測ブロックグループの領域を表すA左側またはB上側が入る。図17で、変数N=Aとして符号化/復号対象の予測ブロックの左側に隣接する1つ以上の予測ブロックから予測動きベクトルの候補を、変数N=Bとして上側に隣接する1つ以上の予測ブロックから予測動きベクトルの候補を、それぞれ以下の手順で算出する。まず、符号化/復号対象の予測ブロックに隣接する予測ブロックを特定し、それぞれの予測ブロックNkk=0,1,2、ただし2は上側の予測ブロックグループのみが利用できる場合は符号化情報を取得するS1101、S1102、S1103。符号化/復号対象の予測ブロックの左側に隣接する予測ブロックグループN=Aの場合、左下に隣接する予測ブロックA0、左に隣接する予測ブロックA1を特定して符号化情報を取得し、符号化/復号対象の予測ブロックの上側に隣接する予測ブロックグループN=Bの場合、右上に隣接する予測ブロックB0、上に隣接する予測ブロックB1、左上に隣接する予測ブロックB2を特定して符号化情報を取得するS1101、S1102、S1103。なお、隣接する予測ブロックNkが符号化/復号対象予測ブロックを含むスライスの内側に位置する場合は利用でき、外側に位置する場合は利用できない。次に、予測ブロックグループNから予測動きベクトルが選出されるか否かを示すフラグavailableFlagLXNを0、予測ブロックグループNを代表する動きベクトルmvLXNを0,0、予測ブロックグループNを代表する動きベクトルがスケーリングされていないことを示すフラグMvXNNonScaleを0に設定するS1104、S1105、S1106。続いて、図18に示すフローチャートの処理を行うS1107。予測ブロックグループNの隣接予測ブロックN0、N1、N2N2は上側の隣接予測ブロックグループのみの中で、符号化/復号対象予測ブロックで現在対象としている参照リストLXと同じ参照リストLXで同じ参照インデックスの動きベクトルを持つ予測ブロックを探す。図18は図17のステップS1107の処理手順を示すフローチャートである。隣接する予測ブロックNkk=0,1,2、ただし、2は上側の隣接予測ブロックグループのみに対して、kが0,1,2の順番にそれぞれ以下の処理を行うS1201~S1212。NがAの場合下から上、NがBの場合、右から左に順番にそれぞれ以下の処理を行う。隣接する予測ブロックNkが利用できS1202のYES、予測ブロックNkの符号化モードPredModeがイントラMODE_INTRAでなくS1203のYES、隣接する予測ブロックNkのpredFlagLXLX予測であるかどうかを示すフラグが1である場合S1204のYES、隣接する予測ブロックNkの参照インデックスrefIdxLX[xNk][yNk]と処理対象の予測ブロックのインデックスrefIdxLXを比較するS1205。両者の参照インデックスが同じ場合S1205のYES、予測動きベクトルmvLXNはmvLXN[xNk][yNk]と同じ値に設定するS1206。左側の隣接予測ブロックグループAの処理を行っている場合S1207のYES、ステップS1209の処理に進み、上側の隣接予測ブロックグループBの処理を行っている場合S1207のNO、ステップS1208の処理に進む。ステップS1208では現在の処理で取得した予測動きベクトル候補が取得済みの予測動くベクトル候補、すなわち、他の予測ブロックグループで取得した予測動きベクトルの候補と近い値かどうかを判断し、近い値を持つ場合は予測動きベクトル候補として除外しS1208のYES、別の予測動きベクトル候補の探索に移行する。一方、近い値でない場合S1208のNO、ステップS1209の処理に進む。具体的には上側の予測動きベクトル候補mvLXBがすでに候補として算出した左側の予測動きベクトル候補mvLXAと近い値を持つかどうかを判断し、近い値を持つ場合、候補から除外して、別の予測動きベクトル候補の探索に移行する。このような処理を施すのは、差分動きベクトルMVDの符号量を削減するために、複数の予測動きベクトルMVPの候補を設定するが、予測動きベクトル候補同士が近い値を持つ冗長な予測動きベクトル候補を設定した場合、冗長なMVPの候補を指定するためにMVPインデックスの符号量が増加してしまい、MVDの符号量の削減効果を打ち消してしまうからである。S1208では、以下の条件に従って、冗長な予測動きベクトルの候補か否かを判断する。mvLXAのx成分の値とmvLXBのx成分の値の差分の絶対値が所定のスレッショルド値以下であり条件式A、かつ、mvLXAのy成分の値とmvLXBのy成分の値の差分の絶対値がスレッショルド値T以下である条件式B場合、予測動きベクトル候補mvLXAと予測動きベクトル候補mvLXBは近い値を持つと判定し、mvLXBを冗長な予測動きベクトルの候補とみなす。|mvLXAのx成分の値-mvLXBのx成分の値|<=T条件式A|mvLXAのy成分の値-mvLXBのy成分の値|<=T条件式B各成分毎に所定のスレッショルド値Tを設ける理由は、差分動きベクトルはx成分、y成分毎に符号化され、各成分のどちらかが離れた値を持つ予測動きベクトル候補である場合には、予測動きベクトル候補として有効である確率が高いためである。なお、スレッショルド値Tは図10を用いて説明したシンタックス要素mvpcandidatethresholdvalueの値により設定する。なお、本実施の形態においては、x成分、y成分共通のスレッショルド値Tとして、共通のシンタックス要素mvpcandidatethresholdvalueにより設定したが、x成分、y成分のそれぞれについてスレッショルド値Tx、Tyとして、x成分、y成分それぞれのシンタックス要素により設定してもよい。Tを0に設定することで、mvLXAと同じmvLXBを候補から除外することができる。スレッショルド値Tは画像サイズ、動きベクトルの精度、コンテンツの内容に応じて適切な値が異なるが、動きベクトルの精度が4分の1画素精度の場合、Tは0から4程度の値を設定するとよい。また、条件式A、条件式Bでは、差分の絶対値を用いたが、差分の二乗値により評価してもよい。この場合スレッショルド値Tは0から16程度の値を設定するとよい。また、スレッショルド値以下を条件判断に用いたが、スレッショルド値未満を条件判断に用いてもよい。この場合、前記スレッショルド値に1を加えた値をスレッショルド値として設定する。また、mvLXAのx成分の値とmvLXBのx成分の値の差分の絶対値とmvLXAのy成分の値とmvLXBのy成分の値の差分の絶対値を加算した値がスレッショルド値T以下である条件式C場合、mvLXBを冗長な予測動きベクトルの候補とみなしてもよい。|mvLXAのx成分の値-mvLXBのx成分の値||mvLXAのy成分の値-mvLXBのy成分の値|<=T条件式Cこの条件式Cを用いた方法では比較回数が1回で済むので、条件式Aと条件式Bを用いて2回比較する方法よりも比較回数が少なくなり、処理量を軽減することができる。この場合、Tは0から6程度の値を設定するとよい。この条件式Cを用いた方法においても、差分の二乗値を用いることができる。この場合スレッショルド値Tは0から32程度の値を設定するとよい。なお、スレッショルド値は、図10を用いて説明したシンタックス要素mvp_candidate_threshold_valueの値により設定するが、予め規定した固定値を用いてもよい。続いて、フラグavailableFlagLXNは1と設定しS1209、refIdxNはrefIdxLX[xNk][yNk]と同じ値に設定しS1210、ListNはLXと設定しS1211、本予測動きベクトル候補算出処理を終了する。一方、これらの条件に合致しない場合S1202のNO,S1203のNO,S1204のNO,S1205のNO,またはS1208のYESの場合、kを1増加し、次の隣接予測ブロックの処理S1202~S1211を行い、availableFlagLXNが1になるか、隣接ブロックA1またはB2の処理が終わるまで繰り返す。続いて、図17のフローチャートに戻り、availableFlagLXNが0のときS1108のYES、図19に示すフローチャートの処理を行うS1109。予測ブロックグループNの隣接予測ブロックN0、N1、N2N2は上側の隣接予測ブロックグループのみの中で、符号化/復号対象予測ブロックで現在対象としている参照リストLXと反対の参照リストLYY=X:現在対象としている参照リストがL0のとき、反対の参照リストはL1、現在対象としている参照リストがL1のとき、反対の参照リストはL0で同じ参照POCの動きベクトルを持つ予測ブロックを探す。図19は図17のステップS1109の処理手順を示すフローチャートである。隣接する予測ブロックNkk=0,1,2、ただし、2は上側の隣接予測ブロックグループのみに対して、kが0,1,2の順番にそれぞれ以下の処理を行うS1301~S1313。NがAの場合下から上、NがBの場合、右から左に順番にそれぞれ以下の処理を行う。隣接する予測ブロックNkが利用できS1302のYES、予測ブロックNkの符号化モードPredModeがイントラMODE_INTRAでなくS1303のYES、隣接する予測ブロックNkのpredFlagLYLY予測であるかどうかを示すフラグが1である場合S1304のYES、隣接する予測ブロックNkの現在対象としている参照リストLXと反対の参照リストLYの参照ピクチャRefPicListY[refIdxLY[xNk][yNk]]のPOCRefPicOrderCntcurrPic,refIdxLY[xNk][yNk],LYと処理対象の予測ブロックのLXの参照ピクチャRefPicListX[refIdxLX]のPOCRefPicOrderCntcurrPic,refIdxLX,LXを比較するS1305。両者の参照ピクチャのPOCが同じ場合S1305のYES、mvLXNはmvLXN[xNk][yNk]と同じ値に設定するS1306。左側の隣接予測ブロックグループAの処理を行っている場合S1307のYES、ステップS1309の処理に進み、上側の隣接予測ブロックグループBの処理を行っている場合S1307のNO、ステップS1308の処理に進む。ステップS1308ではステップS1209と同様の処理により現在の処理で取得した予測動きベクトルがこれまでに取得した予測動きベクトルの候補と近い値かどうかを判断し、近い値を持つ場合は候補として除外しS1308のYES、別の予測動きベクトルを探す。一方、近い値でない場合S1308のNO、ステップS1309の処理に進む。続いて、フラグavailableFlagLXNは1と設定しS1309、refIdxNはrefIdxLY[xNk][yNk]と同じ値に設定しS1310、ListNはLYと設定しS1311、本予測動きベクトル候補算出処理を終了する。一方、これらの条件に合致しない場合S1302のNO,S1303のNO,S1304のNO,またはS1305のNO,またはS1308のYESの場合、kを1増加し、次の隣接予測ブロックの処理S1302~S1311を行い、availableFlagLXNが1になるか、隣接ブロックA1またはB2の処理が終わるまで繰り返す。続いて、図17のフローチャートに戻り、availableFlagLXNが0のときS1110のYES、図20に示すフローチャートの処理を行うS1111。予測ブロックグループNの隣接ブロックN0、N1、N2N2は上側の隣接予測ブロックグループのみの中で、符号化/復号対象予測ブロックで現在対象としている参照リストLXと同じ参照リストLXで異なる参照POCの動きベクトルを持つ予測ブロックを探す。図20は図17のステップS1111の処理手順を示すフローチャートである。隣接する予測ブロックNkk=0,1,2、ただし、2は上側の隣接予測ブロックグループのみに対して、kが0,1,2の順番にそれぞれ以下の処理を行うS1401~S1412。NがAの場合下から上、NがBの場合、右から左に順番にそれぞれ以下の処理を行う。隣接する予測ブロックNkが利用できS1402のYES、予測ブロックNkの符号化モードPredModeがイントラMODE_INTRAでなくS1403のYES、隣接する予測ブロックNkのpredFlagLXLX予測であるかどうかを示すフラグが1である場合S1404のYES、mvLXNはmvLXN[xNk][yNk]と同じ値に設定するS1405。続いて、mvLXNをスケーリングするS1406。次式によりmvLXNにスケーリング係数tb/tdを乗じることでスケーリング処理を行う。mvLXN=tb/tdmvLXNただし、tdは現在の符号化/復号対象画像のPOCPicOrderCntcurrPicと、隣接予測ブロックの参照リストListNが参照する参照ピクチャRefPicListN[refIdxN]のPOCRefPicOrderCntcurrPic,refIdxN,ListNの差である。td=PicOrderCntcurrPic-RefPicOrderCntcurrPic,refIdxN,ListNtbは現在の符号化/復号対象画像のPOCPicOrderCntcurrPicと、現在の符号化/復号対象画像の参照リストLXが参照する参照ピクチャのPOCとの差である。tb=PicOrderCntcurrPic-RefPicOrderCntcurrPic,refIdxLX,LX続いて、左側の隣接予測ブロックグループAの処理を行っている場合S1407のYES、ステップS1409の処理に進み、上側の隣接予測ブロックグループBの処理を行っている場合S1407のNO、ステップS1408の処理に進む。ステップS1408ではステップS1209およびS1308と同様の処理により現在の処理で取得した予測動きベクトルがこれまでに取得した予測動きベクトルの候補と近い値かどうかを判断し、近い値を持つ場合は候補として除外しS1408のYES、別の予測動きベクトルを探す。一方、近い値でない場合S1408のNO、ステップS1409の処理に進む。続いて、フラグavailableFlagLXNは1と設定しS1409、refIdxNはrefIdxLX[xNk][yNk]と同じ値に設定しS1410、ListNはLXと設定するS1411。一方、これらの条件に合致しない場合S1402のNO,S1403のNOS1404のNO,またはS1408のYESの場合、kを1増加し、次の隣接予測ブロックの処理S1402~S1411を行い、availableFlagLXNが1になるか、隣接ブロックA1またはB2の処理が終わるまで繰り返す。続いて、図17のフローチャートに戻り、availableFlagLXNが0のときS1112のYES、図21に示すフローチャートの処理を行うS1113。予測ブロックグループNの隣接予測ブロックN0、N1、N2N2は上側の隣接予測ブロックグループのみの中で、符号化/復号対象予測ブロックで現在対象としている参照リストLXと反対の参照リストLYY=X:現在対象としている参照リストがL0のとき、反対の参照リストはL1、現在対象としている参照リストがL1のとき、反対の参照リストはL0で異なる参照POCの動きベクトルを持つ予測ブロックを探す図21は図17のステップS1113の処理手順を示すフローチャートである。隣接する予測ブロックNkk=0,1,2、ただし、2は上側の隣接予測ブロックグループのみに対して、kが0,1,2の順番にそれぞれ以下の処理を行うS1501~S15xx。NがAの場合下から上、NがBの場合、右から左に順番にそれぞれ以下の処理を行う。隣接する予測ブロックNkが利用できS1502のYES、予測ブロックNkの符号化モードPredModeがイントラMODE_INTRAでなくS1503のYES、隣接する予測ブロックNkのpredFlagLYLY予測であるかどうかを示すフラグが1である場合S1504のYES、mvLXNはmvLXN[xNk][yNk]と同じ値に設定しS1506、mvLXNをスケーリングするS1507。ステップS1507ではS1407と同様の処理によりスケーリング処理を行う。続いて、左側の隣接予測ブロックグループAの処理を行っている場合S1507のYES、ステップS1509の処理に進み、上側の隣接予測ブロックグループBの処理を行っている場合S1507のNO、ステップS1508の処理に進む。ステップS1508ではステップS1209、S1308およびS1408と同様の処理により現在の処理で取得した予測動きベクトルがこれまでに取得した予測動きベクトルの候補と近い値かどうかを判断し、近い値を持つ場合は候補として除外しS1408のYES、別の予測動きベクトルを探す。一方、近い値でない場合S1408のNO、ステップS1409の処理に進む。続いて、フラグavailableFlagLXNは1と設定しS1505、mvLXNはmvLXN[xNk][yNk]と同じ値に設定しS1506、refIdxNはrefIdxLY[xNk][yNk]と同じ値に設定しS1507、ListNはLYと設定するS1508。一方、これらの条件に合致しない場合S1502のNO,S1503のNO,またはS1504のNOの場合、kを1増加し、次の隣接予測ブロックの処理S1502~S1508を行い、availableFlagLXNが1になるか、N2の処理が終わるまで繰り返す。[時間方向の予測動きベクトルの候補を導出図16のS303]この処理における入力は、符号化/復号対象の予測ブロックの先頭である左上の画素の符号化/復号対象画像内での座標xP,yP、および符号化/復号対象の予測ブロックの幅nPSWと高さnPSH、予測ブロックの参照リスト毎の参照インデックスrefIdxLXXは0或いは1である。添え字LXは参照リストを表し、L0とL1の2つ用意されていて、Xには0或いは1が入る。参照リストL0、L1は複数の参照ピクチャの候補からブロック単位に任意のピクチャを参照して動き補償を行うために、複数の参照ピクチャを管理するためのリストであり、参照インデックスrefIdxLXは参照ピクチャを指定するために参照リスト毎に各参照ピクチャに割り当てたインデックスである。この処理における出力は予測ブロックの予測ブロックと同位置の他ピクチャの予測ブロックの動きベクトルmvLXCol、および予測ブロックグループColの参照リストLXの符号化情報が有効か否かを示すフラグavailableFlagLXColであり、添え字Xには参照リストを表す0若しくは1が入る。図24は図16のステップS303の処理手順を説明するフローチャートである。まず、slice_typeとcollocated_from_l0_flagにより、基準となるピクチャcolPicを算出する図24のS2101。図25は図24のステップS2101の基準ピクチャcolPicの算出処理手順を説明するフローチャートである。slice_typeがBで、図10の第3フラグcollocated_form_l0_flagが0の場合図25のS2201のYES、S2202のYES、RefPicList1[0]、すなわち参照ピクチャリスト1の参照インデックスが0のピクチャがcolPicとなる図25のS2203。そうでない場合図25のS2201のNO、S2202のNO、S2204のNO、RefPicList0[0]、すなわち参照ピクチャリスト0の参照インデックスが0のピクチャがcolPicとなる図25のS2205。次に、図24のフローチャートに戻り、予測ブロックcolPuを算出し、符号化情報を取得する図24のS2102。図26は図24のステップS2102の予測ブロックcolPuの算出処理手順を説明するフローチャートである。まず、colPic内で処理対象の予測ブロックと同一位置の右下外側に位置する予測ブロックをcolPuに設定する図26のS2301。この予測ブロックは図9の予測ブロックT0に相当する。次に、予測ブロックcolPuの符号化情報を取得する。予測ブロックcolPuのPredModeがMODE_INTRAか、利用できない場合図26のS2303、S2304、colPic内で処理対象の予測ブロックと同一位置の左上内側に位置する予測ブロックをcolPuに設定する図26のS2305。この予測ブロックは図9の予測ブロックT1に相当する。なお、図示していないが、予測ブロックcolPuのPredModeがMODE_INTRAか、利用できない場合、図9の予測ブロックT2、T3の順番に利用できるPredModeがMODE_INTRAでない予測ブロックを探す。次に、図24のフローチャートに戻り、mvLXColとavailableFlagLXColを算出する図24のS2103。図27は図24のステップS2103のインター予測情報の算出処理を説明するフローチャートである。予測ブロックcolPuのPredModeがMODE_INTRAか、利用できない場合図27のS2401のNO、S2402のNO、availableFlagLXColを0、mvLXColを0,0とし図27のS2403、S2404、処理を終了する。予測ブロックcolPuが利用できてPredModeがMODE_INTRAでない場合図27のS2401のYES、S2402のYES、以下の手順でmvColとrefIdxColを算出する。予測ブロックcolPuのL0予測フラグPredFlagL0[xPCol][yPCol]が0の場合図27のS2405のYES、予測ブロックcolPuの予測モードはPred_L1であるので、動きベクトルmvColと参照インデックスrefIdxColは良予測ブロックcolPuのL1の動きベクトルであるMvL1[xPCol][yPCol]とL1の参照インデックスRefIdxL1[xPCol][yPCol]にそれぞれ設定する図27のS2406、S2407。さらに、設定された動きベクトルmvColが符号化/復号対象の予測ブロックを含むピクチャを横切っているかどうかを確認し、Mv1Crossを設定する図27のS2408。次に図29を参照して動きベクトルMVのクロス判定を説明する。図29はcolPuの動きベクトルmvColが符号化/復号対象の予測ブロックを含むピクチャを横切って参照画像を指し示しているかどうかの確認処理を説明するフローチャートである。基準ピクチャcolPicのPOCPicOrderCntcolPicが符号化/復号対象ピクチャのPOCPicOrderCntcurrPicよりも小さく、mvColが指し示す参照ピクチャのPOCRefPicOrderCntcolPic,RefIdxColLX,LXが符号化/復号対象ピクチャのPOCPicOrderCntcurrPicよりも大きい場合図27のS2601のYES、符号化/復号対象ピクチャを挟んで基準ピクチャcolPicが過去、参照ピクチャが未来に位置するので、動きベクトルmvColが符号化/復号対象の予測ブロックを含むピクチャを横切って参照画像を指し示していると判断し、MvXCrossを1とする図27のS2602。そうではなく図27のS2601のNO、基準ピクチャcolPicのPOCPicOrderCntcolPicが符号化/復号対象ピクチャのPOCPicOrderCntcurrPicよりも大きく、mvColが指し示す参照ピクチャのPOCRefPicOrderCntcolPic,RefIdxColLX,LXが符号化/復号対象ピクチャのPOCPicOrderCntcurrPicよりも小さい場合図27のS2603のYES、符号化/復号対象ピクチャを挟んで基準ピクチャcolPicが未来、参照ピクチャが過去に位置するので、動きベクトルmvColが符号化/復号対象の予測ブロックを含むピクチャを横切って参照画像を指し示していると判断し、MvXCrossを1とする図27のS2602。以上の条件に合致しない場合図27のS2601のNO、S2603のNO、動きベクトルmvColが符号化/復号対象の予測ブロックを含むピクチャを横切って参照画像を指し示していないと判断し、MvXCrossを0とする図27のS2604。再び図27に戻り、MvCrossをMv1Crossの値に設定する図27のS2409。本実施の形態においては、フラグMvXCrossが1、即ち基準ピクチャcolPicのcolPuの動きベクトルmvColが符号化/復号対象の予測ブロックを含むピクチャを横切って参照画像を指し示している場合、その動きベクトルmvColは、符号化/復号対象の予測ブロックの予測動きベクトルの候補として比較的相応しいと判断する。一方、フラグMvXCrossが0、即ち基準ピクチャcolPicのcolPuの動きベクトルmvColが符号化/復号対象の予測ブロックを含むピクチャを横切って参照画像を指し示していない場合、その動きベクトルmvColは、符号化/復号対象の予測ブロックの予測動きベクトルの候補として比較的相応しくないと判断する。即ち、フラグMvXCrossを予測動きベクトルの候補として相応しいかどうかの判断の指針のひとつとして用いる。予測ブロックcolPuのL1予測フラグPredFlagL1[xPCol][yPCol]が0でない場合図27のS2410のYES、予測ブロックcolPuの予測モードはPred_BIであるので、2つの動きベクトルから、一方を選択する図27のS2415。図28は予測ブロックcolPuの予測モードがPred_BIのときの予測ブロックのインター予測情報の取得処理方法を説明するフローチャートである。動きベクトルmvColと参照インデックスrefIdxColは予測ブロックcolPuのL0の動きベクトルであるMvL0[xPCol][yPCol]とL0の参照インデックスRefIdxL0[xPCol][yPCol]にそれぞれ設定する図27のS2411、S2412。まず、RefIdxColLXにL0の参照インデックスRefIdxL0[xPCol][yPCol]を設定し図28のS2502、L0の動きベクトルが符号化/復号対象の予測ブロックを含むピクチャを横切るかどうかを確認してMv0Crossを設定する図28のS2503。さらに、RefIdxColLXにL1の参照インデックスRefIdxL1[xPCol][yPCol]を設定し図28のS2502、L1の動きベクトルが符号化/復号対象の予測ブロックを含むピクチャを横切るかどうかを確認してMv1Crossを設定する図28のS2503。Mv0Crossが0でかつMv1Crossが1の場合図28のS2505のYES、または、Mv0CrossがMv1Crossと等しく、参照インデックスリストがL1の場合図28のS2506のYES、L1の方のインター予測情報を選択し図28のS2507、動きベクトルmvCol、参照インデックスrefIdxCol、リストListCol、MvCrossは、MvL1[xPCol][yPCol]、RefIdxColL1及びL1、Mv0Crossにそれぞれ設定される図28のS2508、S2509、S2510。そうでない場合図28のS2505のNO、S2506のNO、L0の方のインター予測情報を選択し図28のS2511、動きベクトルmvCol、参照インデックスrefIdxCol、リストListCol、MvCrossは、MvL0[xPCol][yPCol]、RefIdxColL0及びL0、Mv0Crossにそれぞれ設定される図28のS2512、S2513、S2514。図27に戻り、インター予測情報が取得できたらavailableFlagLXColを1とする図27のS2416。次に、図24のフローチャートに戻り、availableFlagLXColが1の場合図24のS2104のYES、必要に応じてmvLXColをスケーリングする。このmvLXColのスケーリングには図22に示すmvLXNのスケーリング処理を行う図24のS2105。図22は図24のステップS2105の動きベクトルのスケーリング処理手順を示すフローチャートである。図23は、動きベクトルの時間方向のスケーリングを具体例で説明する図である。もし、参照する予測ブロックの参照リストListNの参照ピクチャRefPicListN[refIdxLN]のPOCRefPicOrderCntcurrPic,refIdxN,ListNがLXの参照ピクチャRefPicListX[refIdxLX]のPOCRefPicOrderCntcurrPic,refIdxLX,LXと等しい場合S1601のYES、mvLXNをそのままの値としS1602、そうでない場合S1601のNO、次式によりスケーリング処理を行う。mvLXN=tb/tdmvLXNただし、tdは現在の符号化/復号対象画像のPOCPicOrderCntcurrPicと、隣接予測ブロックの参照リストListNが参照する参照ピクチャRefPicListN[refIdxN]のPOCRefPicOrderCntcurrPic,refIdxN,ListNの差である。td=PicOrderCntcurrPic-RefPicOrderCntcurrPic,refIdxN,ListNtbは現在の符号化/復号対象画像のPOCPicOrderCntcurrPicと、現在の符号化/復号対象画像の参照リストLXが参照する参照ピクチャのPOCとの差である。tb=PicOrderCntcurrPic-RefPicOrderCntcurrPic,refIdxLX,LX[予測動きベクトルの候補をMVPリストに追加図16のS304]図16のS301、S302、及びS303にて算出された予測動きベクトルの候補mvLXNN=A,B,ColをMVPリストmvpListLXに追加するS304。図30はMVPリストへの予測動きベクトルの候補の追加処理手順を示すフローチャートである。本方式では、優先順位をつけて、優先順位の高いものからMVPリストmvpListLXに予測動きベクトルの候補を登録することで、MVPインデックスmvp_idx_lX[x0][y0]の符号量を削減する。優先順位の高い要素をMVPリストの前方に配置することで、符号量を削減する。例えば、MVPリストmvpListLXの要素が3個の場合、MVPリストのインデックス0を0、インデックス1を10、インデックス2を11とすることで、インデックス0を表す符号量が1ビットとなり、インデックス0に発生頻度が高いと考えられる要素を登録することで、符号量を削減する。MVPリストmvpListLXはリスト構造を成し、MVPリスト内部の所在を示すインデックスと、インデックスに対応する予測動きベクトルの候補を要素として格納する記憶領域が設けられている。インデックスの数字は0から開始され、MVPリストmvpListLXの記憶領域に、予測動きベクトルの候補が格納される。以降の処理では、MVPリストmvpListLXに登録されたインデックスiの予測動きベクトルの候補は、mvpListLX[i]で表すこととし、MVPリストmvpListLXとは配列表記をすることで区別することとする。図30はMVPリストmvpListLXへの予測動きベクトルの候補登録処理手順を示すフローチャートである。まず、availableFlagLXAが1の場合S3301のYES、MVPリストmvpListLXの先頭にmvLXAを登録するS3302。続いて、availableFlagLXBが1の場合S3303のYES、MVPリストmvpListLXの最後にmvLXBを登録するS3304。続いて、availableFlagLXColが1の場合S3305のYES、MVPリストmvpListLXの最後にmvLXColを登録するS3306。[MVPリストの中の近い値を持つ予測動きベクトルの候補を削除図16のS305]予測動きベクトルの候補のMVPリストmvpListLXの中で、近い動きベクトルの値を持つ予測動きベクトルの候補が存在する場合、一方を削除する。まず、mvLXAとmvLXColが共に存在する場合、mvLXAとmvLXColを前述の条件式Aと条件式Bを用いる方法、あるいは条件式Cを用いた方法と同様の方法により比較し、条件に合致した場合、mvLXColをMVPリストmvpListLXから削除する。続いて、mvLXBとmvLXColが共に存在する場合、mvLXBとmvLXColを前述の条件式Aと条件式Bを用いる方法、あるいは条件式Cを用いた方法と同様の方法により比較し、条件に合致した場合、mvLXColをMVPリストmvpListLXから削除する。なお、mvLXAとmvLXBはすでに比較しているので、再度比較する必要はないが、処理を単純化するために再度比較してもよい。削除処理の終了後、MVPリストmvpListLXの中は、削除された予測動きベクトルの候補の格納領域が空いている為、インデックス0を基準にして、インデックスが小さい予測動きベクトルの候補の順で詰めていく。例えば、インデックス1,4の予測動きベクトルの候補が削除され、インデックス0,2及び3が残った場合、インデックス0はそのままとして、インデックス2の予測動きベクトルの候補をインデックス1の格納領域に移動し、インデックス3の予測動きベクトルの候補をインデックス2の格納領域に移動して、MVPリストmvpListLXの中を更新する。以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROMリードオンリメモリやフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。"