(57)【要約】【課題】階層符号化を使用する画像符号化方式において、符号化情報をより一層圧縮し、全体の符号量を削減する。【解決手段】スケーラブル符号化を用いて各階層のピクチャを分割したブロック単位でインター予測を用いて画像が符号化された符号化ビット列を復号する画像復号装置において、マージ候補生成部２３１は、拡張階層における復号対象の予測ブロックと同一ピクチャ内の復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報から、インター予測情報の候補を導出し、復号対象の予測ブロックよりも下位階層の復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出する。インター予測情報選択部２３６は、復号されたインデックスに基づいて、導出されたインター予測情報の候補から、復号対象の予測ブロックのインター予測情報となるインター予測情報の候補を選択する。【選択図】図１６
2014072762.tif 000002
【特許請求の範囲】
【請求項１】
画像を階層的に符号化するスケーラブル符号化を用いて、各階層のピクチャを分割したブロック単位でインター予測を用いて前記画像が符号化された符号化ビット列を復号する画像復号装置であって、
拡張階層における復号対象の予測ブロックのインター予測情報として選択すべきインター予測情報の候補を示すインデックスを復号する復号部と、
前記復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報から、インター予測情報の候補を導出する第１の予測情報導出部と、
前記復号対象の予測ブロックよりも下位階層の復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出する第２の予測情報導出部と、
復号された前記インデックスに基づいて、導出されたインター予測情報の候補から、前記復号対象の予測ブロックのインター予測情報となるインター予測情報の候補を選択する選択部とを備えることを特徴とする画像復号装置。
【請求項２】
画像を階層的に符号化するスケーラブル符号化を用いて、各階層のピクチャを分割したブロック単位でインター予測を用いて前記画像が符号化された符号化ビット列を復号する画像復号装置であって、
拡張階層における復号対象の予測ブロックのインター予測情報として選択すべきインター予測情報の候補を示すインデックスを復号する復号部と、
前記復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報から、インター予測情報の候補を導出する第１の予測情報導出部と、
前記復号対象の予測ブロックよりも下位階層の復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出する第２の予測情報導出部と、
前記復号対象の予測ブロックと同一階層内で時間的に異なる復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出する第３の予測情報導出部と、
復号された前記インデックスに基づいて、導出されたインター予測情報の候補から、前記復号対象の予測ブロックのインター予測情報となるインター予測情報の候補を選択する選択部とを備えることを特徴とする画像復号装置。
【請求項３】
画像を階層的に符号化するスケーラブル符号化を用いて、各階層のピクチャを分割したブロック単位でインター予測を用いて前記画像が符号化された符号化ビット列を復号する画像復号装置であって、
拡張階層における復号対象の予測ブロックのインター予測情報として選択すべきインター予測情報の候補を示すインデックスを復号する復号部と、
前記復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報から、インター予測情報の候補を導出する第１の予測情報導出部と、
前記復号対象の予測ブロックよりも下位階層の復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出するモードと、前記復号対象の予測ブロックと同一階層内で時間的に異なる復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出するモードの少なくとも一方を無効化して、インター予測情報の候補を導出する第２の予測情報導出部と、
復号された前記インデックスに基づいて、導出されたインター予測情報の候補から、前記復号対象の予測ブロックのインター予測情報となるインター予測情報の候補を選択する選択部とを備えることを特徴とする画像復号装置。
【請求項４】
画像を階層的に符号化するスケーラブル符号化を用いて、各階層のピクチャを分割したブロック単位でインター予測を用いて前記画像が符号化された符号化ビット列を復号する画像復号方法であって、
拡張階層における復号対象の予測ブロックのインター予測情報として選択すべきインター予測情報の候補を示すインデックスを復号する復号ステップと、
前記復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報から、インター予測情報の候補を導出する第１の予測情報導出ステップと、
前記復号対象の予測ブロックよりも下位階層の復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出する第２の予測情報導出ステップと、
復号された前記インデックスに基づいて、導出されたインター予測情報の候補から、前記復号対象の予測ブロックのインター予測情報となるインター予測情報の候補を選択する選択ステップとを備えることを特徴とする画像復号方法。
【請求項５】
画像を階層的に符号化するスケーラブル符号化を用いて、各階層のピクチャを分割したブロック単位でインター予測を用いて前記画像が符号化された符号化ビット列を復号する画像復号プログラムであって、
拡張階層における復号対象の予測ブロックのインター予測情報として選択すべきインター予測情報の候補を示すインデックスを復号する復号ステップと、
前記復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報から、インター予測情報の候補を導出する第１の予測情報導出ステップと、
前記復号対象の予測ブロックよりも下位階層の復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出する第２の予測情報導出ステップと、
復号された前記インデックスに基づいて、導出されたインター予測情報の候補から、前記復号対象の予測ブロックのインター予測情報となるインター予測情報の候補を選択する選択ステップとをコンピュータに実行させることを特徴とする画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像復号技術に関し、階層符号化を利用した画像復号技術に関する。
【背景技術】
【０００２】
画像信号を粗い情報から細かい情報へと階層的に符号化する技術としてスケーラブル符号化がある。スケーラブル符号化により圧縮符号化されたデータは再び符号化することなく復号した時の画像の品質を向上させたり、低下させたりすることが可能である。
【０００３】
スケーラブル符号化を用いると、例えば高い品質の復号および再生が可能な端末の場合はスケーラブル符号化で圧縮符号化されたすべてのデータを使用して、鮮明な画像を復号して再生し、低い品質の復号および再生しかできない端末ではスケーラブル符号化で圧縮符号化されたデータの一部を用いて画像を復号し再生することが可能である。スケーラブル符号化においては、解像度、画像のサイズ、Ｓ／Ｎ比などの品質の段階が階層的に分けられている。またスケーラブル符号化は階層符号化とも呼ばれる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−１７７９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような状況下、本発明者らは、階層符号化を使用する画像符号化方式において、符号化情報をより一層圧縮し、全体の符号量を削減する必要性を認識するに至った。
【０００６】
本発明はこうした状況に鑑みてなされたものであり、その目的は、階層符号化に用いる予測情報の候補を状況に応じて導出することにより、符号化情報の符号量の削減を図って符号化効率を向上させる画像復号技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の画像復号装置は、画像を階層的に符号化するスケーラブル符号化を用いて、各階層のピクチャを分割したブロック単位でインター予測を用いて前記画像が符号化された符号化ビット列を復号する画像復号装置であって、拡張階層における復号対象の予測ブロックのインター予測情報として選択すべきインター予測情報の候補を示すインデックスを復号する復号部（２０２）と、前記復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報から、インター予測情報の候補を導出する第１の予測情報導出部（２３１）と、前記復号対象の予測ブロックよりも下位階層の復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出する第２の予測情報導出部（２３１）と、復号された前記インデックスに基づいて、導出されたインター予測情報の候補から、前記復号対象の予測ブロックのインター予測情報となるインター予測情報の候補を選択する選択部（２３６）とを備える。
【０００８】
本発明の別の態様もまた、画像復号装置である。この装置は、画像を階層的に符号化するスケーラブル符号化を用いて、各階層のピクチャを分割したブロック単位でインター予測を用いて前記画像が符号化された符号化ビット列を復号する画像復号装置であって、拡張階層における復号対象の予測ブロックのインター予測情報として選択すべきインター予測情報の候補を示すインデックスを復号する復号部（２０２）と、前記復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報から、インター予測情報の候補を導出する第１の予測情報導出部（２３１）と、前記復号対象の予測ブロックよりも下位階層の復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出する第２の予測情報導出部（２３１）と、前記復号対象の予測ブロックと同一階層内で時間的に異なる復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出する第３の予測情報導出部（２３１）と、復号された前記インデックスに基づいて、導出されたインター予測情報の候補から、前記復号対象の予測ブロックのインター予測情報となるインター予測情報の候補を選択する選択部（２３６）とを備える。
【０００９】
本発明のさらに別の態様もまた、画像復号装置である。この装置は、画像を階層的に符号化するスケーラブル符号化を用いて、各階層のピクチャを分割したブロック単位でインター予測を用いて前記画像が符号化された符号化ビット列を復号する画像復号装置であって、拡張階層における復号対象の予測ブロックのインター予測情報として選択すべきインター予測情報の候補を示すインデックスを復号する復号部（２０２）と、前記復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報から、インター予測情報の候補を導出する第１の予測情報導出部（２３１）と、前記復号対象の予測ブロックよりも下位階層の復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出するモードと、前記復号対象の予測ブロックと同一階層内で時間的に異なる復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出するモードの少なくとも一方を無効化して、インター予測情報の候補を導出する第２の予測情報導出部（２３１）と、復号された前記インデックスに基づいて、導出されたインター予測情報の候補から、前記復号対象の予測ブロックのインター予測情報となるインター予測情報の候補を選択する選択部（２３６）とを備える。
【００１０】
本発明のさらに別の態様は、画像復号方法である。この方法は、画像を階層的に符号化するスケーラブル符号化を用いて、各階層のピクチャを分割したブロック単位でインター予測を用いて前記画像が符号化された符号化ビット列を復号する画像復号方法であって、拡張階層における復号対象の予測ブロックのインター予測情報として選択すべきインター予測情報の候補を示すインデックスを復号する復号ステップと、前記復号対象の予測ブロックと同一ピクチャ内の前記復号対象の予測ブロックに近接する復号済みの予測ブロックのインター予測情報から、インター予測情報の候補を導出する第１の予測情報導出ステップと、前記復号対象の予測ブロックよりも下位階層の復号済みのピクチャにおける予測ブロックのインター予測情報から、インター予測情報の候補を導出する第２の予測情報導出ステップと、復号された前記インデックスに基づいて、導出されたインター予測情報の候補から、前記復号対象の予測ブロックのインター予測情報となるインター予測情報の候補を選択する選択ステップとを備える。
【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、動き補償予測に用いる予測情報の候補を状況に応じて導出することにより、伝送する符号化情報の発生符号量を削減させて、符号化効率を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態に係る動画像符号化装置の構成を示すブロック図である。
【図２】実施の形態に係る動画像復号装置の構成を示すブロック図である。
【図３】実施の形態に係る動画像符号化装置の階層画像符号化部の構成を示すブロック図である。
【図４】実施の形態に係る動画像符号化装置の階層画像復号部の構成を示すブロック図である。
【図５】ツリーブロック、符号化ブロックを説明する図である。
【図６】予測ブロックの分割モードを説明する図である。
【図７】マージモードでの空間マージ候補の予測ブロックを説明する図である。
【図８】マージモードでの空間マージ候補の予測ブロックを説明する図である。
【図９】マージモードでの空間マージ候補の予測ブロックを説明する図である。
【図１０】マージモードでの空間マージ候補の予測ブロックを説明する図である。
【図１１】マージモードでの時間マージ候補導出の際に参照する予測ブロックを説明する図である。
【図１２】符号化または復号対象となる対象となる３階層の階層画像を説明する図である。
【図１３】本実施の形態における下位階層のピクチャと上位階層のピクチャの位置の関係を説明する図である。
【図１４】マージモードでの階層間マージ候補導出の際に参照する予測ブロックを説明する図である。
【図１５】図１の動画像符号化装置の階層画像符号化部のインター予測情報導出部の詳細な構成を示すブロック図である。
【図１６】図２の動画像復号装置の階層画像復号部のインター予測情報導出部の詳細な構成を示すブロック図である。
【図１７】マージモードのマージ候補の導出処理及びマージ候補リストの構築処理手順を説明するフローチャートである。
【図１８】マージモードの空間マージ候補導出処理手順を説明するフローチャートである。
【図１９】マージモードの時間マージ候補導出処理手順を説明するフローチャートである。
【図２０】マージモードの異なる時間のピクチャの導出処理手順を説明するフローチャートである。
【図２１】マージモードの時間マージ候補導出処理の際の異なる時間のピクチャの予測ブロックの導出処理手順を説明するフローチャートである。
【図２２】マージモードの時間マージ候補導出処理手順を説明するフローチャートである。
【図２３】マージモードの時間マージ候補導出処理手順を説明するフローチャートである。
【図２４】動きベクトルのスケーリング演算処理手順を説明するフローチャートである。
【図２５】動きベクトルのスケーリング演算処理手順を説明するフローチャートである。
【図２６】マージモードの階層間マージ候補導出処理手順を説明するフローチャートである。
【図２７】マージモードの階層間マージ候補導出処理の際の参照階層のピクチャの予測ブロックの導出処理手順を説明するフローチャートである。
【図２８】マージモードの階層間マージ候補導出処理手順を説明するフローチャートである。
【図２９】動きベクトルのスケーリング演算処理手順を説明するフローチャートである。
【図３０】動きベクトルのスケーリング演算処理手順を説明するフローチャートである。
【図３１】マージ候補リストへのマージ候補の登録処理手順を説明するフローチャートである。
【図３２】マージモードの追加マージ候補導出処理手順を説明するフローチャートである。
【図３３】図１の動画像符号化装置の階層画像符号化部の差分動きベクトル算出部の詳細な構成を示す図である。
【図３４】図２の動画像復号装置の階層画像復号部の動きベクトル算出部の詳細な構成を示す図である。
【図３５】動画像符号化装置の階層画像符号化部による差分動きベクトル算出処理手順を示すフローチャートである。
【図３６】動画像復号装置の階層画像復号部による動きベクトル算出処理手順を示すフローチャートである。
【図３７】予測動きベクトル候補の導出処理及び予測動きベクトル候補リストの構築処理手順を表すフローチャートである。
【図３８】図３７の空間予測動きベクトル候補導出処理手順を示すフローチャートである。
【図３９】図３８のステップＳ６１０８の空間予測動きベクトル候補の導出処理手順を示すフローチャートである。
【図４０】図３８のステップＳ６１１０の空間予測動きベクトル候補の導出処理手順を示すフローチャートである。
【図４１】図４０のステップＳ６３０９の動きベクトルのスケーリング演算処理手順を示すフローチャートである。
【図４２】図４１のステップＳ６４０３の動きベクトルのスケーリング演算を整数精度の演算で行う場合の例を示すフローチャートである。
【図４３】図３７のステップＳ５０４の時間予測動きベクトル候補導出処理手順を説明するフローチャートである。
【図４４】図１７のステップＳ１０５の階層間予測動きベクトル候補導出処理手順を説明するフローチャートである。
【図４５】図４４のステップＳ３１０４の階層間予測動きベクトル候補ＩＬの導出処理手順を説明するフローチャートである。
【図４６】図３７のステップＳ５０７の予測動きベクトル候補登録処理手順を示すフローチャートである。
【図４７】図３７のステップＳ５０８の予測動きベクトル冗長候補削除処理手順を示すフローチャートである。
【図４８】図３７のステップＳ５０９の予測動きベクトル候補数制限処理手順を説明するフローチャートである。
【図４９】各種のフラグを符号化する方法を示すフローチャートである。
【図５０】各種のフラグを復号する方法を示すフローチャートである。
【図５１】階層間マージ候補を先頭に登録する場合のマージ候補リストへのマージ候補の登録処理手順を示すフローチャートである。
【図５２】マージモードの階層間マージ候補導出処理の際の参照階層のピクチャの予測ブロックの導出処理手順を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本実施の形態について説明する。本実施の形態では、動画像の符号化に関し、画像を階層的に符号化するスケーラブル符号化を用いて、各階層のピクチャを任意のサイズ、形状の矩形ブロックに分割し、ピクチャ間でブロック単位に動き補償を行う動画像符号化における符号化効率を向上させる為に、符号化対象ブロックに近接するブロック、符号化済みのピクチャのブロック、または符号化済みの階層のピクチャのブロックの動きベクトルから複数の予測動きベクトルを導出し、符号化対象のブロックの動きベクトルと選択された予測動きベクトルとの差分ベクトルを算出して符号化することによって符号量を削減する。あるいは、符号化対象ブロックに近接するブロック、符号化済みのピクチャのブロック、または符号化済みの階層のピクチャのブロックの符号化情報を利用することにより、符号化対象ブロックの符号化情報を導出することによって符号量を削減する。また、動画像の復号の場合は、復号対象ブロックに近接するブロック、復号済みのピクチャのブロック、または復号済みの階層のピクチャのブロックの動きベクトルから複数の予測動きベクトルを算出し、符号化ストリームから復号された差分ベクトルと選択された予測動きベクトルとから復号対象のブロックの動きベクトルを算出して復号する。あるいは、復号対象ブロックに近接するブロック、復号済みのピクチャのブロック、または復号済みの階層のピクチャのブロックの符号化情報を利用することにより、復号対象ブロックの符号化情報を導出する。
【００１５】
まず、本実施の形態において使用する技術、及び技術用語を定義する。
【００１６】
（ツリーブロック、符号化ブロックについて）
実施の形態では、ピクチャを１つまたは複数分割したスライスが符号化の基本単位となっており、スライス毎にスライスの種類を示す情報であるスライスタイプが設定される。図５に示されるように、スライス内を任意の同一サイズの正方の矩形の単位にて均等分割する。この単位をツリーブロックと定義し、スライス内での符号化または復号対象ブロック（符号化処理においては符号化対象ブロック、復号処理においては復号対象ブロックのことである。以下、断りのない限り、この意味で用いる。）を特定するためのアドレス管理の基本単位とする。モノクロを除きツリーブロックは１つの輝度信号と２つの色差信号で構成される。ツリーブロックのサイズはピクチャサイズやピクチャ内のテクスチャに応じて、２のべき乗のサイズで自由に設定することができる。ツリーブロックはピクチャ内のテクスチャに応じて、符号化処理を最適にすべく、必要に応じてツリーブロック内の輝度信号、及び色差信号を階層的に４分割（縦横に２分割ずつ）して、ブロックサイズの小さいブロックにすることができる。このブロックをそれぞれ符号化ブロックと定義し、符号化及び復号を行う際の処理の基本単位とする。モノクロを除き符号化ブロックも１つの輝度信号と２つの色差信号で構成される。符号化ブロックの最大サイズはツリーブロックのサイズと同一である。符号化ブロックの最小のサイズとなる符号化ブロックを最小符号化ブロックと呼び、２のべき乗のサイズで自由に設定することができる。
【００１７】
図５においては、符号化ブロックＡは、ツリーブロックを分割せず、１つの符号化ブロックとしたものである。符号化ブロックＢは、ツリーブロックを４分割してできた符号化ブロックである。符号化ブロックＣは、ツリーブロックを４分割してできたブロックをさらに４分割してできた符号化ブロックである。符号化ブロックＤは、ツリーブロックを４分割してできたブロックをさらに階層的に２度４分割してできた符号化ブロックであり、最小サイズの符号化ブロックである。
【００１８】
（予測モードについて）
符号化ブロック単位で、符号化または復号対象ピクチャ内の復号済み（符号化処理においては符号化した信号を復号したピクチャ、予測ブロック、画像信号等に用い、復号処理においては復号したピクチャ、予測ブロック、画像信号等に用いる。以下、断りのない限り、この意味で用いる。）の周囲の画像信号から予測を行うイントラ予測（MODE_INTRA）、及び符号化または復号済みのピクチャの画像信号から予測を行うインター予測（MODE_INTER）を切り替える。このイントラ予測（MODE_INTRA）とインター予測（MODE_INTER）を識別するモードを予測モード（PredMode）と定義する。予測モード（PredMode）はイントラ予測（MODE_INTRA）、またはインター予測（MODE_INTER）を値として持ち、選択して符号化できる。
【００１９】
（分割モード、予測ブロック、予測ユニットについて）
ピクチャ内をブロックに分割してイントラ予測（MODE_INTRA）及びインター予測（MODE_INTER）を行う場合、イントラ予測及びインター予測の方法を切り替える単位をより小さくするために、必要に応じて符号化ブロックを分割して予測を行う。この符号化ブロックの輝度信号と色差信号の分割方法を識別するモードを分割モード（PartMode）と定義する。さらに、この分割されたブロックを予測ブロックと定義する。図６に示すように、符号化ブロックの輝度信号の分割方法に応じて８種類の分割モード（PartMode）を定義する。
【００２０】
図６（ａ）に示す符号化ブロックの輝度信号を分割せず１つの予測ブロックとみなした分割モード（PartMode）を２Ｎ×２Ｎ分割（PART_2Nx2N）と定義する。図６（ｂ）、（ｃ）、（ｄ）に示す符号化ブロックの輝度信号を上下に並ぶ２つの予測ブロックに分割する分割モード（PartMode）をそれぞれ２Ｎ×Ｎ分割（PART_2NxN）、２Ｎ×ｎＵ分割（PART_2NxnU）、２Ｎ×ｎＤ分割（PART_2NxnD）と定義する。ただし、２Ｎ×Ｎ分割（PART_2NxN）は上下に１：１の比率で分割した分割モードであり、２Ｎ×ｎＵ分割（PART_2NxnU）は上下に１：３の比率で分割した分割モードであり、２Ｎ×ｎＤ分割（PART_2NxnD）は上下に３：１の比率で分割した分割モードである。図６（ｅ）、（ｆ）、（ｇ）に示す符号化ブロックの輝度信号を左右に並ぶ２つの予測ブロックに分割する分割モード（PartMode）をそれぞれＮ×２Ｎ分割（PART_Nx2N）、ｎＬ×２Ｎ分割（PART_nLx2N）、ｎＲ×２Ｎ分割（PART_nRx2N）と定義する。ただし、Ｎ×２Ｎ分割（PART_Nx2N）は左右に１：１の比率で分割した分割モードであり、ｎＬ×２Ｎ分割（PART_nLx2N）は左右に１：３の比率で分割した分割モードであり、ｎＲ×２Ｎ分割（PART_nRx2N）は左右に３：１の比率で分割した分割モードである。図６（ｈ）に示す符号化ブロックの輝度信号を上下左右に４分割して、４つの予測ブロックとした分割モード（PartMode）をＮ×Ｎ分割（PART_NxN）とそれぞれ定義する。
【００２１】
なお、各分割モード（PartMode）毎に輝度信号の縦横の分割比率と同様に色差信号も分割する。
【００２２】
符号化ブロック内部において、各予測ブロックを特定する為に、０から開始する番号を、符号化順序で、符号化ブロック内部に存在する予測ブロックに対して割り当てる。この番号を分割インデックスPartIdxと定義する。図６の符号化ブロックの各予測ブロックの中に記述された数字は、その予測ブロックの分割インデックスPartIdxを表す。図６（ｂ）、（ｃ）、（ｄ）に示す２Ｎ×Ｎ分割（PART_2NxN）、２Ｎ×ｎＵ分割（PART_2NxnU）、２Ｎ×ｎＤ分割（PART_2NxnD）では上の予測ブロックの分割インデックスPartIdxを０とし、下の予測ブロックの分割インデックスPartIdxを１とする。図６（ｅ）、（ｆ）、（ｇ）に示すＮ×２Ｎ分割（PART_Nx2N）、ｎＬ×２Ｎ分割（PART_nLx2N）、ｎＲ×２Ｎ分割（PART_nRx2N）では左の予測ブロックの分割インデックスPartIdxを０とし、右の予測ブロックの分割インデックスPartIdxを１とする。図６（ｈ）に示すＮ×Ｎ分割（PART_NxN）では、左上の予測ブロックの分割インデックスPartIdxを０とし、右上の予測ブロックの分割インデックスPartIdxを１とし、左下の予測ブロックの分割インデックスPartIdxを２とし、右下の予測ブロックの分割インデックスPartIdxを３とする。
【００２３】
予測モード（PredMode）がインター予測（MODE_INTER）では、分割モード（PartMode）は２Ｎ×２Ｎ分割（PART_2Nx2N）、２Ｎ×Ｎ分割（PART_2NxN）、２Ｎ×ｎＵ分割（PART_2NxnU）、２Ｎ×ｎＤ分割（PART_2NxnD）、Ｎ×２Ｎ分割（PART_Nx2N）、ｎＬ×２Ｎ分割（PART_nLx2N）、及びｎＲ×２Ｎ分割（PART_nRx2N）を定義する。最小の符号化ブロックである符号化ブロックＤのみ、分割モード（PartMode）は２Ｎ×２Ｎ分割（PART_2Nx2N）、２Ｎ×Ｎ分割（PART_2NxN）、２Ｎ×ｎＵ分割（PART_2NxnU）、２Ｎ×ｎＤ分割（PART_2NxnD）、Ｎ×２Ｎ分割（PART_Nx2N）、ｎＬ×２Ｎ分割（PART_nLx2N）、及びｎＲ×２Ｎ分割（PART_nRx2N）に加えてＮ×Ｎ分割（PART_NxN）を定義することもできるが、本実施の形態においては、分割モード（PartMode）がＮ×Ｎ分割（PART_NxN）を定義しないものとする。
【００２４】
予測モード（PredMode）がイントラ予測（MODE_INTRA）では、最小の符号化ブロックである符号化ブロックＤ以外では、分割モード（PartMode）は２Ｎ×２Ｎ分割（PART_2Nx2N）だけを定義し、最小の符号化ブロックである符号化ブロックＤのみ、分割モード（PartMode）は２Ｎ×２Ｎ分割（PART_2Nx2N）に加えてＮ×Ｎ分割（PART_NxN）を定義する。なお、最小の符号化ブロック以外にＮ×Ｎ分割（PART_NxN）を定義しない理由は最小の符号化ブロック以外では、符号化ブロックを４分割して小さな符号化ブロックを表現できるからである。
【００２５】
（ツリーブロック、符号化ブロック、予測ブロック、変換ブロックの位置）
本実施の形態のツリーブロック、符号化ブロック、予測ブロック、変換ブロックを始めとする各ブロックの位置は、輝度信号の画面の一番左上の輝度信号の画素の位置を原点（０，０）とし、それぞれのブロックの領域に含まれる一番左上の輝度信号の画素の位置を（ｘ，ｙ）の二次元座標で表す。座標軸の向きは水平方向に右の方向、垂直方向に下の方向をそれぞれ正の向きとし、単位は輝度信号の１画素単位である。輝度信号と色差信号で画像サイズ（画素数）が同じである色差フォーマットが４：４：４の場合ではもちろんのこと、輝度信号と色差信号で画像サイズ（画素数）が異なる色差フォーマットが４：２：０、４：２：２の場合でも色差信号の各ブロックの位置をそのブロックの領域に含まれる輝度信号の画素の座標で表し、単位は輝度信号の１画素である。この様にすることで、色差信号の各ブロックの位置が特定できるのはもちろんのこと、座標の値を比較するだけで、輝度信号のブロックと色差信号のブロックの位置の関係も明確となる。
【００２６】
（インター予測モード、参照リストについて）
本発明の実施の形態においては、復号済みのピクチャの画像信号から予測を行うインター予測では、複数の復号済みのピクチャを参照ピクチャとして用いることができる。複数の参照ピクチャから選択された参照ピクチャを特定するため、予測ブロック毎に参照インデックスを付ける。Ｂスライスでは予測ブロック毎に任意の２枚の参照ピクチャを選択してインター予測を行うことができ、インター予測モードとしてＬ０予測（Pred_L0）、Ｌ１予測（Pred_L1）、双予測（Pred_BI）がある。参照ピクチャはリスト構造のＬ０（参照リスト０）とＬ１（参照リスト１）で管理され、Ｌ０またはＬ１の参照インデックスを指定することにより参照ピクチャを特定することができる。Ｌ０予測（Pred_L0）はＬ０で管理されている参照ピクチャを参照するインター予測であり、Ｌ１予測（Pred_L1）はＬ１で管理されている参照ピクチャを参照するインター予測であり、双予測（Pred_BI）はＬ０予測とＬ１予測が共に行われ、Ｌ０とＬ１のそれぞれで管理されている１つずつの参照ピクチャを参照するインター予測である。Ｐスライスのインター予測ではＬ０予測のみが使用でき、Ｂスライスのインター予測ではＬ０予測、Ｌ１予測、Ｌ０予測とＬ１予測を平均または重み付け加算する双予測（Pred_BI）が使用できる。以降の処理において出力に添え字ＬＸが付いている定数、変数に関しては、Ｌ０、Ｌ１ごとに処理が行われることを前提とする。
【００２７】
（マージモード、マージ候補）
マージモードとは、符号化または復号対象の予測ブロックの予測モード、参照インデックス、動きベクトル等のインター予測情報を符号化または復号するのではなく、符号化または復号対象の予測ブロックと同一ピクチャ内でその符号化または復号対象の予測ブロックに近接する予測ブロック、あるいは符号化または復号対象の予測ブロックと時間的に異なる復号済みのピクチャの符号化または復号対象の予測ブロックと同一位置あるいはその付近（近傍の位置）に存在する予測ブロックのインター予測情報から符号化または復号対象の予測ブロックのインター予測情報を導出することによりインター予測を行うモードである。符号化または復号対象の予測ブロックと同一ピクチャ内でその符号化または復号対象の予測ブロックに近接する予測ブロック及びその予測ブロックのインター予測情報を空間マージ候補、符号化または復号対象の予測ブロックと時間的に異なる復号済みのピクチャの符号化または復号対象の予測ブロックと同一位置あるいはその付近（近傍の位置）に存在する予測ブロック及びその予測ブロックのインター予測情報から導出されるインター予測情報を時間マージ候補とする。それぞれのマージ候補はマージ候補リストに登録され、マージインデックスによりインター予測で用いるマージ候補を特定する。
【００２８】
（近接する予測ブロックについて）
図７、図８、図９及び図１０は空間マージ候補、および予測動きベクトル候補の導出の際に参照する符号化または復号対象の予測ブロックと同一ピクチャ内でその符号化または復号対象の予測ブロックに近接する予測ブロックを説明する図である。図１１は時間マージ候補、および予測動きベクトル候補の導出の際に参照する符号化または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおいて、符号化または復号対象の予測ブロックと同一位置あるいはその付近に存在する既に符号化または復号済みの予測ブロックを説明する図である。図７、図８、図９、図１０及び図１１を用いて符号化または復号対象の予測ブロックの空間方向に近接する予測ブロック、及び異なる時間の同一位置の予測ブロックについて説明する。
【００２９】
図７に示すように、符号化または復号対象の予測ブロックと同一ピクチャ内でその符号化または復号対象の予測ブロックの左側の辺に近接する予測ブロックＡ１、上側の辺に近接する予測ブロックＢ１、右上の頂点に近接する予測ブロックＢ０、左下の頂点に近接する予測ブロックＡ０、および左上の頂点に近接する予測ブロックＢ２を空間方向に近接する予測ブロックと定義する。また、符号化または復号対象の予測ブロックの左下の頂点に近接する予測ブロックＡ０、および符号化または復号対象の予測ブロックの左側の辺に近接する予測ブロックＡ１で構成される第１の予測ブロックグループを左側に近接する予測ブロックグループと定義する。符号化または復号対象の予測ブロックの右上の頂点に近接する予測ブロックＢ０、符号化または復号対象の予測ブロックの上側の辺に近接する予測ブロックＢ１、および符号化または復号対象の予測ブロックの左上の頂点に近接する予測ブロックＢ２で構成される第２の予測ブロックグループを上側に近接する予測ブロックグループと定義する。
【００３０】
なお、図８に示すように、符号化または復号対象の予測ブロックの左側の辺に近接する予測ブロックのサイズが符号化または復号対象の予測ブロックより小さく、複数存在する場合には、本実施の形態においては左側の辺に近接する予測ブロックの中で最も下の予測ブロックＡ１０を左側の辺に近接する予測ブロックＡ１とする。
【００３１】
同様に、符号化または復号対象の予測ブロックの上側の辺に近接する予測ブロックのサイズが符号化または復号対象の予測ブロックより小さく、複数存在する場合には、本実施の形態においては上側の辺に近接する予測ブロックの中で最も右の予測ブロックＢ１０を上側の辺に近接する予測ブロックＢ１とする。
【００３２】
なお、図９に示すように、符号化または復号対象の予測ブロックの左側に近接する予測ブロックＡのサイズが符号化または復号対象の予測ブロックより大きい場合にも、前記条件に従い、左側に近接する予測ブロックＡがその符号化または復号対象の予測ブロックの左側の辺に近接していれば予測ブロックＡ１とし、符号化または復号対象の予測ブロックの左下の頂点に近接していれば予測ブロックＡ０とし、符号化または復号対象の予測ブロックの左上の頂点に近接していれば予測ブロックＢ２とする。図９の例では、予測ブロックＡ０、予測ブロックＡ１及び予測ブロックＢ２は同一の予測ブロックとなる。
【００３３】
なお、図１０に示すように、符号化または復号対象の予測ブロックの上側に近接する予測ブロックＢのサイズが符号化または復号対象の予測ブロックより大きい場合にも、前記条件に従い、上側に近接する予測ブロックＢがその符号化または復号対象の予測ブロックの上側の辺に近接していれば予測ブロックＢ１とし、符号化または復号対象の予測ブロックの右上の頂点に近接していれば予測ブロックＢ０とし、符号化または復号対象の予測ブロックの左上の頂点に近接していれば予測ブロックＢ２とする。図１０の例では、予測ブロックＢ０、予測ブロックＢ１及び予測ブロックＢ２は同一の予測ブロックとなる。
【００３４】
図１１に示すように、符号化または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおいて、符号化または復号対象の予測ブロックと同一位置あるいはその付近に存在する既に復号済みの予測ブロックＴ０およびＴ１を異なる時間の同一位置の予測ブロックと定義する。また、異なる時間のピクチャの予測ブロックグループＴ０およびＴ１で構成される第３の予測ブロックグループを異なる時間の予測ブロックグループと定義する。
【００３５】
（ＰＯＣについて）
ＰＯＣは符号化されるピクチャに関連付けられる変数とし、ピクチャの出力順序で１ずつ増加する値が設定される。ＰＯＣの値によって、同じピクチャであるかを判別したり、出力順序でのピクチャ間の前後関係を判別したり、ピクチャ間の距離を導出したりすることができる。例えば、２つのピクチャのＰＯＣが同じ値を持つ場合、同一のピクチャであると判断できる。２つのピクチャのＰＯＣが違う値を持つ場合、ＰＯＣの値が小さいピクチャのほうが、先に出力されるピクチャであると判断でき、２つのピクチャのＰＯＣの差が時間軸方向でのピクチャ間距離を示す。
【００３６】
次に本実施の形態で符号化または復号対象となる階層画像について説明する。図１２は本実施の形態で符号化または復号対象となる３階層の階層画像を説明する図である。階層画像Ｍ（２）は最も上位階層の画像であり、階層画像Ｍ（１）は階層画像Ｍ（２）より解像度の小さい下位階層の画像である。階層画像Ｍ（０）は階層画像Ｍ（１）よりさらに解像度の小さい最下位階層の画像である。本実施の形態においては、階層画像Ｍ（０）の符号化および復号を行う階層を階層０、階層画像Ｍ（１）の符号化および復号を行う階層を階層１、階層画像Ｍ（２）の符号化および復号を行う階層を階層２とする。また、最下位階層である階層０をベース階層、最下位階層以外の階層である階層１、階層２を拡張階層と定義し、階層１を第１の拡張階層、階層２を第２の拡張階層とする。なお、ピクチャ単位、あるいはスライス単位で、階層を特定するためのＩＤを割り当てることにより、各階層を特定することができる。
【００３７】
ピクチャＰ１１、Ｐ１２、Ｐ１３、Ｐ１４、Ｐ１５はベース階層の階層画像Ｍ（０）を構成し、ピクチャＰ２１、Ｐ２２、Ｐ２３、Ｐ２４、Ｐ２５は第１の拡張階層の階層画像Ｍ（１）を構成し、ピクチャＰ３１、Ｐ３２、Ｐ３３、Ｐ３４、Ｐ３５は第２の拡張階層の階層画像Ｍ（２）を構成する。
最上位階層の階層画像Ｍ（２）のピクチャＰ３１、Ｐ３２、Ｐ３３、Ｐ３４、Ｐ３５をスケーリングにより縮小したピクチャが階層画像Ｍ（１）のそれぞれピクチャＰ２１、Ｐ２２、Ｐ２３、Ｐ２４、Ｐ２５であり、さらに縮小したピクチャが階層画像Ｍ（０）のそれぞれピクチャＰ１１、Ｐ１２、Ｐ１３、Ｐ１４、Ｐ１５である。
【００３８】
次に、本実施の形態における下位階層のピクチャと上位階層のピクチャの時間軸上の位置の関係について図１３を用いて説明する。本実施の形態においては、同じ時刻の画像は同じＰＯＣの値を持つものとする。例えば、ベース階層の階層画像Ｍ（０）のピクチャＰ１１、階層画像Ｍ（１）のピクチャＰ２１、最上位階層の階層画像Ｍ（２）のピクチャＰ３１は同じＰＯＣの値である。同じく、ピクチャＰ１２、Ｐ２２、Ｐ３２のＰＯＣは同一の値であり、同じく、ピクチャＰ１３、Ｐ２３、Ｐ３３のＰＯＣは同一の値であり、同じく、ピクチャＰ１４、Ｐ２４、Ｐ３４のＰＯＣは同一の値であり、同じく、ピクチャＰ１５、Ｐ２５、Ｐ３５のＰＯＣは同一の値である。また、各階層のインター予測の参照構造は下位階層の参照構造を継承しているものとする。例えば、ベース階層の階層画像Ｍ（０）のＰ１３のＬ０のインデックス０の参照ピクチャがＰ１１、Ｌ１のインデックス０の参照ピクチャがＰ１５である場合、拡張階層の階層画像Ｍ（１）のＰ２３のＬ０のインデックス０の参照ピクチャがＰ２１（Ｐ２１は下位階層のＰ１１のＰＯＣと同じ値のＰＯＣを持つ）、Ｌ１のインデックス０の参照ピクチャがＰ２５（Ｐ２５は下位階層のＰ１５のＰＯＣと同じ値のＰＯＣを持つ）となり、拡張階層の階層画像Ｍ（２）のＰ３３のＬ０のインデックス０の参照ピクチャがＰ３１（Ｐ３１は下位階層のＰ１１、Ｐ２１のＰＯＣと同じ値のＰＯＣを持つ）、Ｌ１のインデックス０の参照ピクチャがＰ３５（Ｐ３５は下位階層のＰ１５、Ｐ２５のＰＯＣと同じ値のＰＯＣを持つ）となる。ただし、本実施の形態においては、下位階層で符号化および復号されるフレームレートが小さい場合、例えば、ベース階層Ｍ（０）において、ピクチャＰ１２の符号化および復号を行わない場合でも、その上位階層の階層画像Ｍ（１）のピクチャＰ２２は符号化及び復号することがあり、Ｐ２２のＬ０のインデックス０の参照ピクチャがＰ２１、Ｌ１のインデックス０の参照ピクチャがＰ２３となる。
【００３９】
次に、本実施の形態における階層間の参照関係について説明する。本実施の形態においては上位階層である拡張階層のピクチャを符号化または復号する際に、符号化または復号対象の拡張階層のピクチャと同じ値のＰＯＣを持つ下位階層の同じ時刻のピクチャの符号化情報を利用して、符号化または復号を行う。拡張階層を符号化または復号する際に参照する下位階層を参照階層と定義する。図１２では、階層画像Ｍ（１）のピクチャＰ２３を符号化または復号する際には、階層画像Ｍ（０）を参照階層とし、階層画像Ｍ（０）のピクチャＰ１３の符号化情報を利用する。さらに、階層画像Ｍ（２）のピクチャＰ３３を符号化または復号する際には、階層画像Ｍ（１）を参照階層とし、階層画像Ｍ（１）のピクチャＰ２３の符号化情報を利用する。ただし、階層画像Ｍ（０）のピクチャＰ１２が符号化されない場合、階層画像Ｍ（１）のピクチャＰ２２の符号化及び復号の際には、参照階層のピクチャＰ１２を参照せずに符号化及び復号を行う。
【００４０】
ここで、本実施の形態における下位階層のピクチャと上位階層のピクチャの空間軸上の位置の関係について図１４を用いて説明する。図１４において、参照階層となる下位階層のピクチャを符号化または復号対象の拡張階層となる上位階層と同じ解像度で表したピクチャがスケーリングされた参照階層（下位階層）のピクチャである。符号化または復号対象の階層のピクチャの左上を原点としたときのスケーリングされた参照階層（下位階層）のピクチャの左上のｘ座標がLeftOffsetであり、ｙ座標がTopOffsetである。さらに、参照階層（下位階層）のピクチャの幅がRefWidthであり、高さがRefHeightである。さらに、スケーリングされた参照階層（下位階層）のピクチャの幅がScaledRefWidthであり、高さがScaledRefHeightである。
【００４１】
図１４に示すように、符号化または復号対象の予測ブロックと階層の異なる復号済みのピクチャにおいて、符号化または復号対象の予測ブロックに対応する既に復号済みの予測ブロックＬ０およびＬ１を参照階層の同一位置の予測ブロックと定義する。また、異なる時間のピクチャの予測ブロックグループＬ０およびＬ１で構成される第４の予測ブロックグループを参照階層の予測ブロックグループと定義する。
【００４２】
図１は本発明の実施の形態に係る動画像符号化装置の構成を示すブロック図であり、図３は動画像符号化装置の階層画像符号化部を構成する階層画像符号化部の構成を示すブロック図である。動画像符号化装置は符号化制御部１１、階層画像符号化部１２、１３、１４、多重化部１５を備えている。本実施の形態の動画像符号化装置は同じ構成の階層画像符号化部を階層分だけ積み重ねた構成をとっている。Ｍ（０）、Ｍ（１）、Ｍ（２）は本動画像符号化装置に供給されるそれぞれの階層画像であり、Ｓ（０）、Ｓ（１）、Ｓ（２）は符号化の結果得られる各階層の符号化ビット列である。本実施例では３階層で説明しているが、２階層、あるいは４階層以上の階層画像も符号化することができる。
【００４３】
図１に示す符号化制御部１１は表示時間順に入力された各階層の階層画像Ｍ（０）、Ｍ（１）、Ｍ（２）を符号化する階層画像符号化部１２、１３、１４を制御する。階層画像符号化部１２は符号化制御部１１により符号化タイミング等を制御されてベース階層の階層画像Ｍ（０）を符号化し、ベース階層の符号化ビット列Ｓ（０）を得て、多重化部１５に供給される。
【００４４】
同様に、階層画像符号化部１３は第１の拡張階層の階層画像Ｍ（１）を符号化し、第１の拡張階層の符号化ビット列Ｓ（１）を得て、多重化部１５に供給される。さらに、階層画像符号化部１４は第２の拡張階層の階層画像Ｍ（２）を符号化し、第２の拡張階層の符号化ビット列Ｓ（２）を得て、多重化部１５に供給される。多重化部１５は符号化された各階層の符号化ビット列Ｓ（０）、Ｓ（１）、Ｓ（２）を多重化し、出力する。
【００４５】
なお、上位の階層画像を符号化または復号する際には、下位の階層を参照階層とし、参照階層の符号化情報あるいは復号画像信号を参照して符号化または復号することにより、符号化効率を向上させる。符号化制御部１１は、上位の階層画像のピクチャを符号化する前に、参照階層のピクチャを符号化し、上位画像の階層画像のピクチャの符号化の際に、参照階層のピクチャの符号化情報を利用できるように制御する。
【００４６】
本実施の形態においては、階層画像符号化部１３が第１の拡張階層を符号化する際には、下位の階層であるベース階層を参照階層とし、参照階層であるベース階層の符号化情報を参照して、符号化する。階層画像符号化部１４が第２の拡張階層を符号化する際には、下位の階層である第１の拡張階層を参照階層とし、参照階層である第１の拡張階層の符号化情報を参照して、符号化する。
【００４７】
図２は図１の階層画像符号化部に対応した本発明の実施の形態に係る階層画像復号部の構成を示すブロックである。階層画像復号部は復号制御部２１、階層画像復号部２２、２３、２４、分離部２５を備えている。本実施の形態の動画像復号装置は同じ構成の階層画像復号部を階層分だけ積み重ねた構成をとっている。分離部２５には動画像符号化装置で符号化された符号化ビット列が供給され、その符号化ビット列から各階層の符号化ビット列Ｓ'（０）、Ｓ'（１）、Ｓ'（２）に分離し、階層画像復号部２２、２３、２４にそれぞれ供給する。Ｍ'（０）、Ｍ'（１）、Ｍ'（２）は本動画像符号化装置に供給されるそれぞれの階層画像であり、は符号化の結果得られる各階層の符号化ビット列である。本実施例では３階層で説明しているが、２階層、あるいは４階層以上の階層画像も復号することができる。
【００４８】
図２に示す復号制御部２１は分離部から供給される情報に応じて、各階層の階層画像Ｍ（０）、Ｍ（１）、Ｍ（２）を符号化する階層画像復号部２２、２３、２４を制御する。階層画像復号部２２はベース階層の符号化ビット列Ｓ'（０）を復号し、ベース階層の階層画像Ｍ'（０）を得て、出力する。同様に、階層画像復号部２３は第１の拡張階層の符号化ビット列Ｓ'（１）を符号化し、第１の拡張階層の階層画像Ｍ'（１）を得て、出力する。さらに、階層画像復号部２４は第２の拡張階層の符号化ビット列Ｓ'（２）を符号化し、第２の拡張階層の階層画像Ｍ'（２）を得て、出力する。
【００４９】
なお、符号化側で説明したように、上位の階層画像を復号する際には、下位の階層を参照階層とし、参照階層の符号化情報あるいは復号画像信号を参照して復号することにより、符号化効率を向上させる。
【００５０】
本実施の形態においては、階層画像復号部２３が第１の拡張階層を復号する際には、下位の階層であるベース階層を参照階層とし、参照階層であるベース階層の符号化情報を参照して復号することにより、符号化効率を向上させる。階層画像復号部２４が第２の拡張階層を復号する際には、下位の階層である第１の拡張階層を参照階層とし、参照階層である第１の拡張階層の符号化情報を参照して、復号する。したがって、本実施の形態においては、上位の階層画像のピクチャを復号する際には、参照する下位の階層画像のピクチャはすでに復号済みであるものとする。
【００５１】
図３は本実施の形態の図１の動画像符号化装置を構成する各階層の階層画像符号化部１２、１３、１４の構成を示すブロック図である。各階層の階層画像符号化部１２、１３、１４は共通の符号化方法で符号化することができる。ただし、ベース階層の階層画像符号化部１２は他の階層の符号化情報を用いずに符号化するが、拡張階層の階層画像符号化部１３、１４は参照階層の符号化情報を用いて符号化する。実施の形態の動画像符号化装置の階層画像符号化部は、画像メモリ１０１、ヘッダ情報設定部１１７、動きベクトル検出部１０２、差分動きベクトル算出部１０３、インター予測情報導出部１０４、インター予測部１０５、イントラ予測部１０６、予測方法決定部１０７、残差信号生成部１０８、直交変換・量子化部１０９、第１符号化ビット列生成部１１８、第２符号化ビット列生成部１１０、第３符号化ビット列生成部１１１、多重化部１１２、逆量子化・逆直交変換部１１３、復号画像信号重畳部１１４、符号化情報格納メモリ１１５、および復号画像メモリ１１６を備える。なお、符号化制御部１１の制御は図３におけるすべてのブロック対して及ぶ。
【００５２】
ヘッダ情報設定部１１７は、シーケンス、ピクチャ、スライス単位の情報を設定する。設定されたシーケンス、ピクチャ、スライス単位の情報はインター予測情報導出部１０４、第１符号化ビット列生成部１１８に供給するとともに、図示していないがすべてのブロックに供給する。後述するシーケンス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能か否かをフラグsps_temporal_mvp_enable_flag、シーケンス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能か否かをフラグsps_inter_layer_mvp_enable_flag、スライス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするか否かをフラグslice_temporal_mvp_enable_flag、スライス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするか否かをフラグslice_inter_layer_mvp_enable_flagはヘッダ情報設定部で設定され、インター予測情報導出部１０４、差分動きベクトル算出部１０３、第１符号化ビット列生成部１１８に供給される。
【００５３】
画像メモリ１０１は、撮影／表示時間順に供給された符号化対象のピクチャの画像信号を一時格納する。画像メモリ１０１は、格納された符号化対象のピクチャの画像信号を、所定の画素ブロック単位で、動きベクトル検出部１０２、予測方法決定部１０７、および残差信号生成部１０８に供給する。その際、撮影／表示時間順に格納されたピクチャの画像信号は、符号化順序に並べ替えられて、画素ブロック単位で、画像メモリ１０１から出力される。
【００５４】
動きベクトル検出部１０２は、画像メモリ１０１から供給される画像信号と復号画像メモリ１１６から供給される参照ピクチャ間でブロックマッチング等により各予測ブロックサイズ、各予測モード、各参照ピクチャ（参照インデックス）のそれぞれの動きベクトルを各予測ブロック単位で検出し、検出された動きベクトルを対応する予測ブロックサイズ、予測モード、参照インデックスの情報とともにインター予測情報として、インター予測部１０５、差分動きベクトル算出部１０３、および予測方法決定部１０７に供給する。
【００５５】
差分動きベクトル算出部１０３は、予測動きベクトル候補を導出して、差分動きベクトルを算出する。差分動きベクトルを導出する際は、ベース階層の符号化においては、同じ階層の符号化情報格納メモリ１１５に記憶されている既に符号化された予測ブロックの符号化情報を用いる。拡張階層の符号化においては、同じ階層の符号化情報格納メモリ１１５に記憶されている既に符号化された同じ階層の予測ブロックの符号化情報に加えて、参照階層の符号化情報格納メモリ１１５に記憶されている既に符号化された参照階層の予測ブロックの符号化情報も用いる。これらの符号化情報を用いて、複数の予測動きベクトルの候補を導出して後述する予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から最適な予測動きベクトルを選択し、動きベクトル検出部１０２が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを予測方法決定部１０７に供給する。さらに、予測動きベクトルリストに登録された予測動きベクトルの候補から選択された予測動きベクトルを特定する予測動きベクトルインデックスを予測方法決定部１０７に供給する。差分動きベクトル算出部１０３の詳細な構成と動作は後述する。
【００５６】
インター予測情報導出部１０４は、マージモードでのマージ候補を導出する。マージ候補を導出する際は、ベース階層の符号化においては、同じ階層の符号化情報格納メモリ１１５に記憶されている既に符号化された同じ階層の予測ブロックの符号化情報を用いる。拡張階層の符号化においては、同じ階層の符号化情報格納メモリ１１５に記憶されている既に符号化された同じ階層の予測ブロックの符号化情報に加えて、参照階層の符号化情報格納メモリ１１５に記憶されている既に符号化された参照階層の予測ブロックの符号化情報も用いる。これらの符号化情報を用いて、複数のマージ候補を導出して後述するマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から適したマージ候補を選択し、選択されたマージ候補の各予測ブロックのＬ０予測、及びＬ１予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報をインター予測部１０５に供給するとともに、選択されたマージ候補を特定するマージインデックスを予測方法決定部１０７に供給する。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。インター予測情報導出部１０４の詳細な構成と動作は後述する。
【００５７】
インター予測部１０５は、動きベクトル検出部１０２およびインター予測情報導出部１０４により検出された動きベクトルを用いて参照ピクチャからインター予測（動き補償予測）により予測画像信号を生成し、予測画像信号を予測方法決定部１０７に供給する。なお、Ｌ０予測、及びＬ１予測では、片方向の予測を行う。双予測（Pred_BI）の場合は、双方向の予測を行い、Ｌ０予測、Ｌ１予測のそれぞれのインター予測された信号に適応的に重み係数を掛け算し、オフセット値を加算して重畳し、最終的な予測画像信号を生成する。
【００５８】
イントラ予測部１０６は、各イントラ予測モードについてイントラ予測を行う。復号画像メモリ１１６に格納されている復号済みの画像信号からイントラ予測により予測画像信号を生成し、複数のイントラ予測モードの中から適したイントラ予測モードを選択し、選択されたイントラ予測モード、及び選択されたイントラ予測モードに応じた予測画像信号を予測方法決定部１０７に供給する。
【００５９】
予測方法決定部１０７はそれぞれの予測方法毎に符号化情報及び残差信号の符号量、予測画像信号と画像信号との間の歪量等を評価することにより、複数の予測方法の中から、最適な符号化ブロック単位でインター予測（PRED_INTER）かイントラ予測（PRED_INTRA）かを判別する予測モードPredMode、分割モードPartModeを決定し、インター予測（PRED_INTER）では予測ブロック単位でマージモードか否かを決定し、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、Ｌ０、Ｌ１の参照インデックス、差分動きベクトル等を決定して、決定に応じた符号化情報を第２符号化ビット列生成部１１０に供給する。
【００６０】
さらに、予測方法決定部１０７は、決定された予測方法を示す情報、及び決定された予測方法に応じた動きベクトル等を含む符号化情報を符号化情報格納メモリ１１５に格納する。ここで格納する符号化情報は、各符号化ブロックの予測モードPredMode、分割モードPartMode、各予測ブロックのＬ０予測、及びＬ１予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、Ｌ０、Ｌ１の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、Ｌ０、Ｌ１の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等である。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。なお、予測モードPredModeがイントラ予測（MODE_INTRA）の場合、Ｌ０予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]、Ｌ１予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は共に０である。一方、予測モードPredModeがインター予測（MODE_INTER）で、インター予測モードがＬ０予測（Pred_L0）の場合、Ｌ０予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]は１, Ｌ１予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は０である。インター予測モードがＬ１予測（Pred_L1）の場合、Ｌ０予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]は０, Ｌ１予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は１である。インター予測モードが双予測（Pred_BI）の場合、Ｌ０予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]、Ｌ１予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は共に１である。予測方法決定部１０７は、決定された予測モードに応じた予測画像信号を残差信号生成部１０８と復号画像信号重畳部１１４に供給する。
【００６１】
残差信号生成部１０８は、符号化する画像信号と予測画像信号との減算を行うことにより残差信号を生成し、直交変換・量子化部１０９に供給する。
直交変換・量子化部１０９は、残差信号に対して量子化パラメータに応じて直交変換及び量子化を行い直交変換・量子化された残差信号を生成し、第３符号化ビット列生成部１１１と逆量子化・逆直交変換部１１３に供給する。さらに、直交変換・量子化部１０９は、量子化パラメータを符号化情報格納メモリ１１５に格納する。
【００６２】
第１符号化ビット列生成部１１８は、ヘッダ情報設定部１１７で設定されたシーケンス、ピクチャ、スライス単位の情報を符号化する。第１の符号化ビット列を生成し、多重化部１１２に供給する。後述するシーケンス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能か否かをフラグsps_temporal_mvp_enable_flag、シーケンス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能か否かをフラグsps_inter_layer_mvp_enable_flag、スライス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするか否かをフラグslice_temporal_mvp_enable_flag、スライス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするか否かをフラグslice_inter_layer_mvp_enable_flagも第１符号化ビット列生成部１１８で符号化される。
【００６３】
第２符号化ビット列生成部１１０は、符号化ブロック及び予測ブロック毎に予測方法決定部１０７によって決定された予測方法に応じた符号化情報を符号化する。具体的には、符号化ブロック毎のスキップモードかどうかを判別する情報、インター予測（PRED_INTER）かイントラ予測（PRED_INTRA）かを判別する予測モードPredMode、分割モードPartMode、イントラ予測（PRED_INTRA）の場合、イントラ予測モード、インター予測（PRED_INTER）の場合、マージモードかどうかを判別するフラグ、マージモードの場合は選択すべきマージ候補（インター予測情報の候補）を特定するマージインデックス、マージモードでない場合はインター予測モード、選択すべき予測動きベクトル候補を特定する予測動きベクトルインデックスまたはフラグ、差分動きベクトルに関する情報等の符号化情報を後述する規定のシンタックス規則に従って符号化して第２の符号化ビット列を生成し、多重化部１１２に供給する。なお、本実施の形態では、符号化ブロックがスキップモード（シンタックス要素skip_flag[x0][y0]が１）の場合、予測ブロックの予測モードPredModeの値はインター予測（MODE_INTER）で、マージモード（merge_flag[x0][y0]が１）で、分割モード（PartMode）は２Ｎ×２Ｎ分割（PART_2Nx2N）とする。
【００６４】
第３符号化ビット列生成部１１１は、直交変換及び量子化された残差信号を規定のシンタックス規則に従ってエントロピー符号化して第３の符号化ビット列を生成し、多重化部１１２に供給する。多重化部１１２で、第１の符号化ビット列、第２の符号化ビット列および第３の符号化ビット列を規定のシンタックス規則に従って多重化し、ビットストリームを出力する。
【００６５】
逆量子化・逆直交変換部１１３は、直交変換・量子化部１０９から供給された直交変換・量子化された残差信号を逆量子化及び逆直交変換して残差信号を算出し、復号画像信号重畳部１１４に供給する。復号画像信号重畳部１１４は、予測方法決定部１０７による決定に応じた予測画像信号と逆量子化・逆直交変換部１１３で逆量子化及び逆直交変換された残差信号を重畳して復号画像を生成し、復号画像メモリ１１６に格納する。なお、復号画像に対して符号化によるブロック歪等の歪を減少させるフィルタリング処理を施して、復号画像メモリ１１６に格納されることもある。
【００６６】
図４は本実施の形態の図２の動画像復号装置を構成する各階層の階層画像復号部２２、２３、２４の構成を示すブロック図である。図４は図３の実施の形態の動画像符号化装置の階層画像符号化部１２、１３、１４に対応した本発明の実施の形態に係る動画像復号装置の階層画像復号部２２、２３、２４の構成を示すブロックである。実施の形態の動画像復号装置の階層画像復号部２２、２３、２４は、分離部２０１、第１符号化ビット列復号部２１２、第２符号化ビット列復号部２０２、第３符号化ビット列復号部２０３、動きベクトル算出部２０４、インター予測情報導出部２０５、インター予測部２０６、イントラ予測部２０７、逆量子化・逆直交変換部２０８、復号画像信号重畳部２０９、符号化情報格納メモリ２１０、および復号画像メモリ２１１を備える。
【００６７】
図４の階層画像復号部の復号処理は、図３の階層画像符号化部の内部に設けられている復号処理に対応するものであるから、図４のインター予測部２０６、逆量子化・逆直交変換部２０８、復号画像信号重畳部２０９、符号化情報格納メモリ２１０、および復号画像メモリ２１１の各構成は、図３の階層画像符号化部のインター予測部１０５、逆量子化・逆直交変換部１１３、復号画像信号重畳部１１４、符号化情報格納メモリ１１５、および復号画像メモリ１１６の各構成とそれぞれ対応する機能を有する。
【００６８】
分離部２０１に供給されるビットストリームは規定のシンタックスの規則に従って分離し、分離された第１の符号化ビット列が第１符号化ビット列復号部２１２に供給され、第２の符号化ビット列が第２符号化ビット列復号部２０２に供給され、第３の符号化ビット列が第３符号化ビット列復号部２０３に供給される。
【００６９】
第１符号化ビット列復号部２１２は、供給された第１の符号化ビット列を復号して、シーケンス、ピクチャ、スライス単位の情報を得る。得られたシーケンス、ピクチャ、スライス単位の情報は図示していないがすべてのブロックに供給する。後述するシーケンス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能か否かをフラグsps_temporal_mvp_enable_flag、シーケンス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能か否かをフラグsps_inter_layer_mvp_enable_flag、スライス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするか否かをフラグslice_temporal_mvp_enable_flag、スライス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするか否かをフラグslice_inter_layer_mvp_enable_flagも第１符号化ビット列復号部２１２で復号される。
【００７０】
第２符号化ビット列復号部２０２は、供給された第２の符号化ビット列を復号して、符号化ブロック単位の情報、及び、予測ブロック単位の符号化情報を得る。具体的には、符号化ブロック単位でスキップモードかどうかを判別する情報、インター予測（PRED_INTER）かイントラ予測（PRED_INTRA）かを判別する予測モードPredMode、分割モードPartMode、インター予測（PRED_INTER）の場合、マージモードかどうかを判別するフラグ、マージモードの場合は選択すべきマージ候補（インター予測情報の候補）を特定するマージインデックス、マージモードでない場合はインター予測モード、選択すべき予測動きベクトル候補を特定する予測動きベクトルインデックスまたはフラグ、差分動きベクトル等に関する符号化情報を後述する規定のシンタックス規則に従って復号し、復号された符号化情報を符号化情報格納メモリ２１０に格納するとともに、動きベクトル算出部２０４、インター予測情報導出部２０５またはイントラ予測部２０７に供給する。なお、本実施の形態では、符号化ブロックがスキップモード（シンタックス要素skip_flag[x0][y0]が１）の場合、予測ブロックの予測モードPredModeの値はインター予測（MODE_INTER）で、マージモード（merge_flag[x0][y0]が１）で、分割モード（PartMode）は２Ｎ×２Ｎ分割（PART_2Nx2N）とする。
【００７１】
第３符号化ビット列復号部２０３は、供給された第３の符号化ビット列を復号して直交変換・量子化された残差信号を算出し、直交変換・量子化された残差信号を逆量子化・逆直交変換部２０８に供給する。
【００７２】
動きベクトル算出部２０４は、復号対象の予測ブロックの予測モードPredModeがインター予測（PRED_INTER）でマージモードでない時に、予測動きベクトル候補を導出して、動きベクトルを導出する。予測動きベクトルを導出する際は、ベース階層の復号においては、第２符号化ビット列復号部２０２で復号され供給される予測モード、参照インデックス等のインター予測情報と同じ階層の符号化情報格納メモリ２１０に記憶されている既に復号された画像信号の符号化情報を用いる。拡張階層の復号においては、第２符号化ビット列復号部２０２で復号され供給される予測モード、参照インデックス等の符号化情報と同じ階層の符号化情報格納メモリ２１０に記憶されている既に復号された同じ階層の予測ブロックの符号化情報に加えて、参照階層の符号化情報格納メモリ２１０に記憶されている既に復号された参照階層の予測ブロックの符号化情報も用いる。これらの符号化情報を用いて、複数の予測動きベクトルの候補を導出して後述する予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から、第２符号化ビット列復号部２０２で復号され供給される予測動きベクトルインデックスに応じた予測動きベクトルを選択し、第２符号化ビット列復号部２０２で復号された差分ベクトルと選択された予測動きベクトルから動きベクトルを算出し、他の符号化情報とともにインター予測部２０６に供給するとともに、符号化情報格納メモリ２１０に格納する。ここで供給・格納する予測ブロックの符号化情報は、Ｌ０予測、及びＬ１予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、Ｌ０、Ｌ１の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、Ｌ０、Ｌ１の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等である。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。予測モードPredModeがインター予測（MODE_INTER）で、インター予測モードがＬ０予測（Pred_L0）の場合、Ｌ０予測を利用するかどうかを示すフラグpredFlagL0は１, Ｌ１予測を利用するかどうかを示すフラグpredFlagL1は０である。インター予測モードがＬ１予測（Pred_L1）の場合、Ｌ０予測を利用するかどうかを示すフラグpredFlagL0は０, Ｌ１予測を利用するかどうかを示すフラグpredFlagL1は１である。インター予測モードが双予測（Pred_BI）の場合、Ｌ０予測を利用するかどうかを示すフラグpredFlagL0、Ｌ１予測を利用するかどうかを示すフラグpredFlagL1は共に１である。動きベクトル算出部２０４の詳細な構成と動作は後述する。
【００７３】
インター予測情報導出部２０５は、復号対象の予測ブロックの予測モードPredModeがインター予測（PRED_INTER）でマージモードの時に、マージ候補を導出する。符号化側のインター予測情報導出部１０４と同様に復号側でも、マージ候補を導出する際は、ベース階層の復号においては、同じ階層の符号化情報格納メモリ２１０に記憶されている既に復号された同じ階層の予測ブロックの符号化情報を用いる。拡張階層においては、同じ階層の符号化情報格納メモリ２１０に記憶されている既に復号された同じ階層の予測ブロックの符号化情報を用いるとともに、参照階層の符号化情報格納メモリ２１０に記憶されている既に復号された参照階層の予測ブロックの符号化情報も用いる。符号化情報格納メモリ１１５に記憶されている既に復号された予測ブロックの符号化情報を用いて、複数のマージの候補を導出して後述するマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から第２符号化ビット列復号部２０２で復号され供給されるマージインデックスに対応したマージ候補を選択し、選択されたマージ候補のＬ０予測、及びＬ１予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、Ｌ０、Ｌ１の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、Ｌ０、Ｌ１の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報をインター予測部２０６に供給するとともに、符号化情報格納メモリ２１０に格納する。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。インター予測情報導出部２０５の詳細な構成と動作は後述する。
【００７４】
インター予測部２０６は、動きベクトル算出部２０４またはインター予測情報導出部２０５で算出されたインター予測情報を用いて復号画像メモリ２１１に格納されている参照ピクチャからインター予測（動き補償予測）により予測画像信号を生成し、予測画像信号を復号画像信号重畳部２０９に供給する。なお、双予測（Pred_BI）の場合は、Ｌ０予測、Ｌ１予測の２つの動き補償予測画像信号に必要に応じて適応的に重み係数を掛け算して重畳し、最終的な予測画像信号を生成する。
【００７５】
イントラ予測部２０７は、復号対象の予測ブロックの予測モードPredModeがイントラ予測（PRED_INTRA）の時に、イントラ予測を行う。第２符号化ビット列復号部２０２で復号された符号化情報にはイントラ予測モードが含まれており、イントラ予測モードに応じて、復号画像メモリ２１１に格納されている復号済みの画像信号からイントラ予測により予測画像信号を生成し、予測画像信号を復号画像信号重畳部２０９に供給する。Ｌ０予測、及びＬ１予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]を共に０に設定し、符号化情報格納メモリ２１０に格納する。本実施の形態においては、predFlagL0[xP][yP],とpredFlagL1[xP][yP]が共に０であれば、インター予測ではなくイントラ予測により符号化されているを示す。さらに、Ｌ０、Ｌ１の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]を共に-1に設定し、Ｌ０、Ｌ１の動きベクトルmvL0[xP][yP], mvL1[xP][yP]を共に（0, 0）に設定し、それぞれの符号化情報を符号化情報格納メモリ２１０に格納する。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。
【００７６】
逆量子化・逆直交変換部２０８は、第２符号化ビット列復号部２０２で復号された直交変換・量子化された残差信号に対して逆直交変換及び逆量子化を行い、逆直交変換・逆量子化された残差信号を得る。
【００７７】
復号画像信号重畳部２０９は、インター予測部２０６でインター予測された予測画像信号、またはイントラ予測部２０７でイントラ予測された予測画像信号と、逆量子化・逆直交変換部２０８により逆直交変換・逆量子化された残差信号とを重畳することにより、復号画像信号を復号し、復号画像メモリ２１１に格納する。復号画像メモリ２１１に格納する際には、復号画像に対して符号化によるブロック歪等を減少させるフィルタリング処理を施して、復号画像メモリ２１１に格納されることもある。
【００７８】
なお、動きベクトル算出部２０４、インター予測情報導出部２０５またはイントラ予測部２０７により符号化情報格納メモリ２１０に格納されたＬ０予測、及びＬ１予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、Ｌ０、Ｌ１の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、Ｌ０、Ｌ１の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等の符号化情報は復号対象の復号の際に用いられるのはもちろんのこと、上位階層の復号の際にも用いられる。
【００７９】
次に、実施の形態に係るインター予測情報導出方法について説明する。インター予測情報導出方法は、図３の動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４及び図４の動画像復号装置の階層画像復号部のインター予測情報導出部２０５において実施される。
【００８０】
実施の形態に係るインター予測情報導出方法を図面を用いて説明する。実施の形態に係るインター予測情報導出方法は、符号化ブロックを構成する予測ブロック単位に、符号化及び復号の処理の何れでも実施される。予測ブロックの予測モードPredModeがインター予測（MODE_INTER）で、スキップモードを含むマージモードの場合に、符号化の場合、符号化済みの予測ブロックの予測モード、参照インデックス、動きベクトルを利用して符号化対象の予測ブロックの予測モード、参照インデックス、動きベクトルを導出する際、復号の場合、復号済みの予測ブロックの予測モード、参照インデックス、動きベクトルを利用して復号対象の予測ブロックの予測モード、参照インデックス、動きベクトルを導出する際に実施される。
【００８１】
マージモードは符号化側の動画像符号化装置の階層画像符号化部と復号側の動画像復号装置の階層画像復号部で共通の規定の方法により、マージ候補を導出し、マージ候補リストに登録する。図７、図８、図９及び図１０を用いて説明した左に近接する予測ブロックＡ１、上に近接する予測ブロックＢ１、右上に近接する予測ブロックＢ０、左下に近接する予測ブロックＡ０、左上に近接する予測ブロックＢ２の５つの予測ブロックから空間のマージ候補を導出する。図１１を用いて説明した異なる時間の同一位置あるいはその付近に存在する予測ブロックcolPb（Ｔ０、Ｔ１のいずれか）の予測ブロックから異なる時間のマージ候補を導出する。また、拡張階層では、図１２〜１４を用いて説明した参照階層を符号化または復号対象の拡張階層に対応するサイズ、位置にスケーリングした場合に符号化または復号対象の予測ブロックと同一位置あるいはその付近に存在する参照階層の予測ブロックilPb（Ｌ０、Ｌ１のいずれか）の符号化情報から階層間のマージ候補ＩＬを導出する。
【００８２】
動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４はマージ候補リストの要素を特定するマージインデックスを決定して第２符号化ビット列生成部１１０を経由して符号化し、動画像復号装置の階層画像復号部のインター予測情報導出部２０５は第２符号化ビット列復号部２０２で復号されたマージインデックスが供給されて、そのマージインデックスに応じた予測ブロックをマージ候補リストから選択し、その選択されたマージ候補の予測モード、参照インデックス、動きベクトル等のインター予測情報を用いて、動き補償予測を行う。
【００８３】
実施の形態に係るインター予測情報導出方法を図面を用いて説明する。図１５は、実施の形態に係る第１の実施例の図３の動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４の詳細な構成を示す図である。また、図１６は、実施の形態に係る図４の動画像復号装置の階層画像復号部のインター予測情報導出部２０５の詳細な構成を示す図である。
【００８４】
図１５及び図１６の太枠線で囲まれる部分はそれぞれ、インター予測情報導出部１０４及びインター予測情報導出部２０５を示している。
【００８５】
更に、それらの内部の太点線で囲まれる部分はそれぞれのマージ候補を導出してマージ候補リストを構築する動画像符号化装置の階層画像符号化部のマージ候補リストの構築部１２０及び動画像復号装置の階層画像復号部のマージ候補リストの構築部２２０を示しており、実施の形態の動画像符号化装置の階層画像符号化部と対応する動画像復号装置の階層画像復号部にも同様に設置され、符号化と復号で矛盾しない同一の導出結果を得られるようにしている。
【００８６】
図１５の動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４は、マージ候補生成部１３１、マージ候補登録部１３４、追加マージ候補生成部１３５およびインター予測情報選択部１３６を含む。
【００８７】
図１６の動画像復号装置の階層画像復号部のインター予測情報導出部２０５は、マージ候補生成部２３１、マージ候補登録部２３４、追加マージ候補生成部２３５およびインター予測情報選択部２３６を含む。
【００８８】
図１７は本発明の実施の形態に係る動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補リストの構築部１２０及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補リストの構築部２２０とで共通する機能を有するマージ候補の導出処理及びマージ候補リストの構築処理の手順を説明するフローチャートである。
【００８９】
以下、諸過程を順を追って説明する。なお、以下の説明においては特に断りのない限りスライスタイプslice_typeがＢスライスの場合について説明するが、Ｐスライスの場合にも適用できる。ただし、スライスタイプslice_typeがＰスライスの場合、インター予測モードとしてＬ０予測（Pred_L0）だけがあり、Ｌ１予測（Pred_L1）、双予測（Pred_BI）がないので、Ｌ１に纏わる処理を省略することができる。
【００９０】
動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５では、マージ候補リストmergeCandListを用意する。マージ候補リストmergeCandListはリスト構造を成し、マージ候補リスト内部の所在を示すマージインデックスと、インデックスに対応するマージ候補を要素として格納する記憶領域が設けられている。マージインデックスの数字は０から開始され、マージ候補リストmergeCandListの記憶領域に、マージ候補が格納される。以降の処理では、マージ候補リストmergeCandListに登録されたマージインデックスｉのマージ候補となる予測ブロックは、mergeCandList[i]で表すこととし、マージ候補リストmergeCandListとは配列表記をすることで区別することとする。本実施の形態においては、マージ候補リストmergeCandListは少なくとも５個のマージ候補（インター予測情報）を登録することができるものとする。
【００９１】
動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補生成部１３１及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補生成部２３１では、複数のマージ候補を導出する。導出されたマージ候補は、動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補登録部１３４及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補登録部２３４にそれぞれ供給される。
【００９２】
動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補生成部１３１及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補生成部２３１では、動画像符号化装置の階層画像符号化部の符号化情報格納メモリ１１５または動画像復号装置の階層画像復号部の符号化情報格納メモリ２１０に格納されている符号化情報から、符号化または復号対象ブロックに近接するそれぞれの予測ブロックＡ１，Ｂ１，Ｂ０，Ａ０，Ｂ２からの空間マージ候補Ａ１，Ｂ１，Ｂ０，Ａ０，Ｂ２を導出する（図１７のステップＳ１０１）。ここで、空間マージ候補Ａ１，Ｂ１，Ｂ０，Ａ０，Ｂ２，時間マージ候補Ｃｏｌまたは階層間マージ候補ＩＬのいずれかを示すＮを定義する。予測ブロックＮのインター予測情報が空間マージ候補Ｎとして利用できるかどうかを示すフラグavailableFlagN、空間マージ候補ＮのＬ０の参照インデックスrefIdxL0N及びＬ１の参照インデックスrefIdxL1N、Ｌ０予測が行われるかどうかを示すＬ０予測フラグpredFlagL0NおよびＬ１予測が行われるかどうかを示すＬ１予測フラグpredFlagL1N、Ｌ０の動きベクトルmvL0N、Ｌ１の動きベクトルmvL1Nを導出する。ただし、本実施の形態においては処理対象となる予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる予測ブロックを参照せずに、マージ候補を導出するので、処理対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる空間マージ候補は導出しない。ステップＳ１０１の空間マージ候補導出処理の詳細な処理手順については図１８のフローチャートを用いて後ほど詳細に説明する。導出されたそれぞれの空間マージ候補は動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補登録部１３４及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補登録部２３４にそれぞれ供給される。
【００９３】
続いて、動画像符号化装置のインター予測情報導出部１０４の時間マージ候補生成部１３３及び動画像復号装置のインター予測情報導出部２０５の時間マージ候補生成部２３３では、時間マージ候補の参照インデックスを０とする。
【００９４】
続いて、本実施の形態の動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補生成部１３１及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補生成部２３１では、ベース階層では、異なる時間のピクチャの符号化または復号に用いたインター予測情報を参照する時間マージ候補をマージ候補の１つとし、時間マージ候補を導出するか否かをシーケンス単位、またはスライス単位で切り替える。拡張階層では、時間マージ候補、または下位階層のピクチャの符号化または復号に用いたインター予測情報を参照する階層間マージ候補のいずれか一方をマージ候補の１つとし、時間マージ候補を導出するか否かをシーケンス単位、またはスライス単位で切り替えると共に、階層間マージ候補を導出するか否かをシーケンス単位、またはスライス単位で切り替える。
【００９５】
後述するスライス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_temporal_mvp_enable_flagの値が１の場合、すなわち時間マージ候補を導出する場合（図１７のステップＳ１０２のＹＥＳ）、動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補生成部１３１及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補生成部２３１では、異なる時間のピクチャからの時間マージ候補を導出する（図１７のステップＳ１０３）。時間マージ候補が利用できるかどうかを示すフラグavailableFlagCol、時間マージ候補のＬ０予測が行われるかどうかを示すＬ０予測フラグpredFlagL0ColおよびＬ１予測が行われるかどうかを示すＬ１予測フラグpredFlagL1Col、及びＬ０の動きベクトル mvL0Col、Ｌ１の動きベクトルmvL1Colを導出する。ステップＳ１０３の時間マージ候補導出処理の詳細な処理手順については図１９のフローチャートを用いて後ほど詳細に説明する。導出された時間マージ候補は動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補登録部１３４及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補登録部２３４にそれぞれ供給される。なお、後述するスライス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_temporal_mvp_enable_flagの値が１でない場合（値が０の場合）、すなわち時間予測動きベクトル候補を導出しない場合（図１７のステップＳ１０２のＮＯ）、フラグavailableFlagColは０に設定される。
【００９６】
一方、拡張階層で、後述するスライス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_inter_layer_mvp_enable_flagの値が１の場合、すなわち階層間マージ候補を導出する場合（図１７のステップＳ１０４のＹＥＳ）、動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補生成部１３１及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補生成部２３１では、参照階層の予測ブロックから階層間マージ候補を導出する（図１７のステップＳ１０５）。階層間マージ候補が利用できるかどうかを示すフラグavailableFlagIL、階層間マージ候補のＬ０予測が行われるかどうかを示すＬ０予測フラグpredFlagL0ILおよびＬ１予測が行われるかどうかを示すＬ１予測フラグpredFlagL1IL、及びＬ０の動きベクトルmvL0IL、Ｌ１の動きベクトルmvL1ILを導出する。ステップＳ１０５の階層間マージ候補導出処理の詳細な処理手順については図２６のフローチャートを用いて後ほど詳細に説明する。導出された時間マージ候補は動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補登録部１３４及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補登録部２３４にそれぞれ供給される。なお、ベース階層の符号化および復号の場合、またはスライス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_inter_layer_mvp_enable_flagの値が１でない場合（値が０の場合）、すなわち階層間マージ候補を導出しない場合（図１７のステップＳ１０４のＮＯ）、フラグavailableFlagILは０に設定される。
【００９７】
一方、拡張階層で、後述するスライス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_inter_layer_mvp_enable_flagの値が１の場合、すなわち階層間マージ候補を導出する場合（図１７のステップＳ１０４のＹＥＳ）、動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補生成部１３１及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補生成部２３１では、参照階層の予測ブロックから階層間マージ候補を導出する（図１７のステップＳ１０５）。階層間マージ候補が利用できるかどうかを示すフラグavailableFlagIL、階層間マージ候補のＬ０予測が行われるかどうかを示すＬ０予測フラグpredFlagL0ILおよびＬ１予測が行われるかどうかを示すＬ１予測フラグpredFlagL1IL、及びＬ０の動きベクトルmvL0IL、Ｌ１の動きベクトルmvL1ILを導出する。ステップＳ１０５の階層間マージ候補導出処理の詳細な処理手順については図２６のフローチャートを用いて後ほど詳細に説明する。導出された時間マージ候補は動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補登録部１３４及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補登録部２３４にそれぞれ供給される。なお、ベース階層の符号化および復号の場合、またはスライス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_inter_layer_mvp_enable_flagの値が１でない場合（値が０の場合）、すなわち階層間マージ候補を導出しない場合（図１７のステップＳ１０４のＮＯ）、フラグavailableFlagILは０に設定される。
【００９８】
続いて、動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補登録部１３４及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補登録部２３４では、マージ候補リストmergeCandListを作成し、動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のマージ候補生成部１３１及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のマージ候補生成部２３１から供給される空間マージ候補Ａ１，Ｂ１，Ｂ０，Ａ０，Ｂ２、時間マージ候補Ｃｏｌ、階層間マージ候補ＩＬをマージ候補リストmergeCandList内に登録し、マージ候補数numMergeCandにマージ候補リストmergeCandList内のマージ候補数を設定する（図１７のステップＳ１０６）。ステップＳ１０６の詳細な処理手順については図３１のフローチャートを用いて後ほど詳細に説明する。
【００９９】
続いて、動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４の追加マージ候補生成部１３５及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５の追加マージ候補生成部２３５では、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが、最大マージ候補数maxNumMergeCandより小さい場合、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが最大マージ候補数maxNumMergeCandを上限としてマージ候補リスト内のマージインデックスが０から（maxNumMergeCand-1）の値で指し示される範囲内で、無効なマージ候補がなくなるまで、追加マージ候補を導出して、マージ候補リストmergeCandListに登録する（図１７のステップＳ１０７）。なお、最大マージ候補数maxNumMergeCandはスライス単位で符号化または復号されるシンタックス要素である。最大マージ候補数maxNumMergeCandを上限として、Ｐスライスでは、動きベクトルが（０，０）（水平および垂直成分がともに０）で、予測モードがＬ０予測（Pred_L0）のマージ候補を追加する。Ｂスライスでは、動きベクトルが（０，０）で、予測モードが双予測（Pred_BI）のマージ候補を追加する。ステップＳ１０７の詳細な処理手順については図３２のフローチャートを用いて後ほど詳細に説明する。マージ候補リストmergeCandListは動画像符号化装置の階層画像符号化部のインター予測情報導出部１０４のインター予測情報選択部１３６及び動画像復号装置の階層画像復号部のインター予測情報導出部２０５のインター予測情報選択部２３６にそれぞれ供給される。
【０１００】
次に、図１７のステップＳ１０１の処理手順である符号化または復号対象ブロックに近接する予測ブロックＮからのマージ候補Ｎの導出方法について詳細に説明する。図１８は図１７のステップＳ１０１の空間マージ候補導出処理手順を説明するフローチャートである。Ｎには近接する予測ブロックの領域を表すＡ１（左側）、Ｂ１（上側）、Ｂ０（右上）、Ａ０（左下）またはＢ２（左上）が入る。なお、本実施の形態においては、近接する５つの予測ブロックから最大４つの空間マージ候補を導出する。
【０１０１】
図１８で、変数ＮをＡとして符号化または復号対象の予測ブロックの左側に近接する予測ブロックＡ１の符号化情報を調べてマージ候補Ａ１を導出し、変数ＮをＢ１として上側に近接する予測ブロックＢ１の符号化情報を調べてマージ候補Ｂ１を導出し、変数ＮをＢ０として右上側に近接する予測ブロックＢ０の符号化情報を調べてマージ候補Ｂ０を導出し、変数ＮをＡ０として左下側に近接する予測ブロックＡ０の符号化情報を調べてマージ候補Ａ０を導出し、変数ＮをＢ２として左上側に近接する予測ブロックＢ２の符号化情報を調べてマージ候補Ｂ２を導出する（図１８のステップＳ１１０１〜ステップＳ１１１７）。
【０１０２】
まず、変数ＮがＢ２で、フラグavailableFlagA, availableFlagB, availableFlagC, availableFlagDの値を加算して合計が４の場合（図１８のステップＳ１１０２のＹＥＳ）、すなわち４つの空間マージ候補が導出された場合、ステップＳ１１０９以降の処理を行う。
【０１０３】
本実施の形態においては、近接する予測ブロックから最大で４つのマージ候補を導出するので、既に４つの空間マージ候補が導出された場合はそれ以上の空間マージ候補の導出処理を行う必要がない。
【０１０４】
一方、変数ＮがＢ２でないか、フラグavailableFlagA, availableFlagB, availableFlagC, availableFlagDの値を加算して合計が４でない場合（図１８のステップＳ１１０２のＮＯ）、すなわち４つの空間マージ候補が導出されていない場合、ステップＳ１１０３以降の処理を行う。近接する予測ブロックＮが導出対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる場合（図１８のステップＳ１１０３のＹＥＳ）、ステップＳ１１０９以降の処理を行う。近接する予測ブロックＮが導出対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる場合（図１８のステップＳ１１０３のＹＥＳ）、近接する予測ブロックＮを参照しないことで、予測ブロックのマージ候補導出及びマージ候補リストの構築処理の並列処理を可能とする。
【０１０５】
具体的には、分割モード（PartMode）が２Ｎ×Ｎ分割（PART_2NxN）、２Ｎ×ｎＵ分割（PART_2NxnU）または２Ｎ×ｎＤ分割（PART_2NxnD）で、処理対象の予測ブロックのPartIdxが１で、近接する予測ブロックＢの場合が、近接する予測ブロックＮが導出対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる場合である。この場合、近接する予測ブロックＢ１はPartIdxが０の予測ブロックであるので、近接する予測ブロックＢ１を参照しないことで、予測ブロックのマージ候補導出及びマージ候補リストの構築処理の並列処理を可能とする。
【０１０６】
さらに、分割モード（PartMode）がＮ×２Ｎ分割（PART_Nx2N）、ｎＬ×２Ｎ分割（PART_nLx2N）またはｎＲ×２Ｎ分割（PART_nRx2N）で、処理対象の予測ブロックのPartIdxが１で、近接する予測ブロックＡ１の場合も、近接する予測ブロックＮが導出対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる場合である。この場合も、近接する予測ブロックＡ１はPartIdxが０の予測ブロックであるので、近接する予測ブロックＡ１を参照しないことで、予測ブロックのマージ候補導出及びマージ候補リストの構築処理の並列処理を可能とする。
【０１０７】
さらに、分割モード（PartMode）がＮ×Ｎ分割（PART_NxN）で、処理対象の予測ブロックのPartIdxが１、２または３の場合も、近接する予測ブロックＮが導出対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれることがある。
【０１０８】
一方、近接する予測ブロックＮが処理対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれない場合（図１８のステップＳ１１０３のＮＯ）、符号化または復号対象の予測ブロックに近接する予測ブロックＮを特定し、それぞれの予測ブロックＮが利用できる場合は符号化情報格納メモリ１１５または２１０から予測ブロックＮの符号化情報を取得する（図１８のステップＳ１１０４）。
【０１０９】
近接する予測ブロックＮが利用できないか（図１８のステップＳ１１０５のＮＯ）、予測ブロックＮの予測モードPredModeがイントラ予測（MODE_INTRA）である場合（図１８のステップＳ１１０６のＮＯ）、ステップＳ１１０９以降の処理を行う。ここで、近接する予測ブロックＮが利用できない場合とは、具体的には近接する予測ブロックＮが符号化または復号対象スライスの外に位置する場合や、まだ符号化または復号処理順序で後のため、符号化または復号処理が完了していない場合等が該当する。
【０１１０】
続いて、マージ候補ＮのフラグpredFlagL0N, predFlagL1N、マージ候補Ｎの参照インデックスrefIdxL0N, refIdxL1N、マージ候補Ｎの動きベクトルmvL0N, mvL1Nをすでに導出された隣同士のマージ候補とそれぞれ比較する（図１８のステップＳ１１０７）。マージ候補の値が同一の場合（図１８のステップＳ１１０８のＮＯ）、ステップＳ１１０９以降の処理を行う。
【０１１１】
変数ＮがＢ２で、フラグavailableFlagA, availableFlagB, availableFlagC, availableFlagDの値を加算して合計が４となり４つの空間マージ候補が導出されたか、（図１８のステップＳ１１０２のＹＥＳ）、近接する予測ブロックＮが導出対象の予測ブロックの符号化ブロックと同じ符号化ブロックに含まれるか（図１８のステップＳ１１０３のＹＥＳ）、近接する予測ブロックＮが利用できないか（図１８のステップＳ１１０５のＮＯ）、予測ブロックＮの予測モードPredModeがイントラ予測（MODE_INTRA）であるか（図１８のステップＳ１１０６のＮＯ）、すでに導出された隣同士のマージ候補と値が同一の場合（図１８のステップＳ１１０８のＮＯ）、マージ候補ＮのフラグavailableFlagNの値を０に設定し（図１８のステップＳ１１０９）、マージ候補Ｎの動きベクトルmvL0N, mvL1Nの値を共に（０，０）に設定し（図１８のステップＳ１１１０）、マージ候補Ｎの参照インデックスrefIdxL0N, refIdxL1Nをそれぞれ予測ブロックＮの参照インデックスrefIdxL0[xN][yN], refIdxL1[xN][yN]と同じ値に設定し（図１８のステップＳ１１１１）、マージ候補ＮのフラグpredFlagL0N、predFlagL1Nの値を共に０に設定し（図１８のステップＳ１１１２）、ステップＳ１１１７に進む。
【０１１２】
一方、変数ＮがＢ２で、フラグavailableFlagA, availableFlagB, availableFlagC, availableFlagDの値を加算して合計が４でなく４つの空間マージ候補が導出されておらず、（図１８のステップＳ１１０２のＹＥＳ）、近接する予測ブロックＮが導出対象の予測ブロックの符号化ブロックと同じ符号化ブロック外で（図１８のステップＳ１１０３のＮＯ）、近接する予測ブロックＮが利用でき（図１８のステップＳ１１０５のＹＥＳ）、予測ブロックＮの予測モードPredModeがイントラ予測（MODE_INTRA）でなく（図１８のステップＳ１１０６のＹＥＳ）、すでに導出された隣同士のマージ候補と値が同一でない場合（図１８のステップＳ１１０８のＹＥＳ）、予測ブロックＮのインター予測情報をマージ候補Ｎのインター予測情報とする。マージ候補ＮのフラグavailableFlagNの値を１に設定し（図１８のステップＳ１１１３）、マージ候補Ｎの動きベクトルmvL0N, mvL1Nをそれぞれ予測ブロックＮの動きベクトルmvL0N[xN][yN], mvL1N[xN][yN]と同じ値に設定し（図１８のステップＳ１１１４）、マージ候補Ｎの参照インデックスrefIdxL0N, refIdxL1Nをそれぞれ予測ブロックＮの参照インデックスrefIdxL0[xN][yN], refIdxL1[xN][yN]と同じ値に設定し（図１８のステップＳ１１１５）、マージ候補ＮのフラグpredFlagL0N, predFlagL1Nをそれぞれ予測ブロックＮのフラグpredFlagL0[xN][yN], predFlagL1[xN][yN]に設定する（図１８のステップＳ１１１６）。ここで、xN、yNはピクチャ内での予測ブロックＮの左上の画素の位置を示すインデックスである。
【０１１３】
以上のステップＳ１１０２〜ステップＳ１１１６の処理をＮ＝Ａ１，Ｂ１，Ｂ０，Ａ０，Ｂ２についてそれぞれ繰り返す（図１８のステップＳ１１０１〜ステップＳ１１１７）。
【０１１４】
次に、図１７のステップＳ１０３の異なる時間のピクチャのインター予測情報を用いるマージ候補の導出方法について詳細に説明する。図１９は図１７のステップＳ１０３の時間マージ候補導出処理手順を説明するフローチャートである。
【０１１５】
まず、スライス単位でスライスヘッダに記述されるスライスタイプslice_typeと時間方向の予測動きベクトルの候補、またはマージ候補を導出する際に用いる異なる時間のピクチャcolPicが処理対象の予測ブロックが含まれるピクチャのＬ０の参照リスト或いはＬ１の参照リストのどちらに登録されている参照ピクチャを使用するかを示すフラグcollocated_from_l0_flagにより、異なる時間のピクチャcolPicを導出する（図１９のＳ２１０１）。ステップＳ２１０１の詳細な処理手順については図２０のフローチャートを用いて後ほど詳細に説明する。
【０１１６】
続いて、異なる時間の予測ブロックcolPbを導出し、符号化情報を取得する（図１９のＳ２１０２）。ステップＳ２１０２の詳細な処理手順については図２１のフローチャートを用いて後ほど詳細に説明する。
【０１１７】
続いて、符号化または復号対象の予測ブロックと同位置の他ピクチャの予測ブロックから導出されるＬ０の予測動きベクトルmvL0Colと時間マージ候補Ｃｏｌが有効か否かを示すフラグavailableFlagL0Colを導出するとともに（図１９のＳ２１０３）、Ｌ１の予測動きベクトルmvL1Colと時間マージ候補Ｃｏｌが有効か否かを示すフラグavailableFlagL1Colを導出する（図１９のＳ２１０４）。ステップＳ２１０３、Ｓ２１０４の詳細な処理手順については図２２のフローチャートを用いて後ほど詳細に説明する。さらに、フラグavailableFlagL0Col またはフラグavailableFlagL1Colが1の場合に、時間マージ候補Ｃｏｌが有効か否かを示すフラグavailableFlagColを1に設定し、そうでない場合に、availableFlagColを0に設定する（図１９のＳ２１０５）。
【０１１８】
次に、図１９のステップＳ２１０１の異なる時間のピクチャcolPicの導出処理手順について詳細に説明する。図２０は図１９のステップＳ２１０１の異なる時間のピクチャcolPicの導出処理手順を説明するフローチャートである。スライスタイプslice_typeがＢスライスで、フラグcollocated_from_l0_flagの値が０の場合（図２０のＳ２２０１のＹＥＳ、Ｓ２２０２のＹＥＳ）、RefPicList1[collocated_ref_idx]、すなわち参照リストＬ１の参照インデックスがcollocated_ref_idxの値のピクチャが異なる時間のピクチャcolPicとなる（図２０のＳ２２０３）。そうでない場合、すなわちスライスタイプslice_typeがＢスライスで前述のフラグcollocated_from_l0_flagの値が１の場合（図２０のＳ２２０１のＹＥＳ、Ｓ２２０２のＮＯ）、またはスライスタイプslice_typeがＰスライスの場合（図２０のＳ２２０１のＮＯ、Ｓ２２０４のＹＥＳ）、RefPicList0[collocated_ref_idx]、すなわち参照リストＬ０の参照インデックスがcollocated_ref_idxの値のピクチャが異なる時間のピクチャcolPicとなる（図２０のＳ２２０５）。なお、collocated_ref_idx, collocated_ref_idxはスライスヘッダで符号化または復号されるシンタックス要素である。
【０１１９】
次に、図１９のステップＳ２１０２の異なる時間のピクチャcolPicの予測ブロックcolPbの導出処理手順について詳細に説明する。図２１は図１９のステップＳ２１０２の異なる時間のピクチャcolPicの予測ブロックcolPbの導出処理手順を説明するフローチャートである。
【０１２０】
まず、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の右下（外側）に位置する予測ブロックを異なる時間の予測ブロックcolPbとする（図２１のＳ２３０１）。この予測ブロックは図１１の予測ブロックＴ０に相当する。具体的には、処理対象の輝度信号の予測ブロックの左上の画素の位置を（xP, yP）とし、予測ブロックの幅をW, 高さをHとした際に、（xP+W, yP+H）で導出される位置を含む予測ブロックを異なる時間の予測ブロックcolPbとする。なお、インター予測情報が記憶される階層画像符号化部の符号化情報格納メモリ１１５および階層画像復号部の符号化情報格納メモリ２１０のメモリ量を削減するために、輝度の16×16画素ブロック単位で圧縮されたインター予測情報を参照すると規定する場合には、（（（xP+W）>>4）<<4, （（yP+H）>>4）<<4）で導出される位置を含む予測ブロックを異なる時間の予測ブロックcolPbとする。
【０１２１】
続いて、異なる時間の予測ブロックcolPbの符号化情報を取得する（図２１のＳ２３０２）。異なる時間の予測ブロックcolPbのPredModeが利用できないか、異なる時間の予測ブロックcolPbの予測モードPredModeがイントラ予測（MODE_INTRA）である場合（図２１のＳ２３０３のＹＥＳ、Ｓ２３０４のＹＥＳ）、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の中央に位置する予測ブロックを異なる時間の予測ブロックcolPbとする（図２１のＳ２３０５）。この予測ブロックは図１１の予測ブロックＴ１に相当する。中央に位置する予測ブロックが複数存在する場合があるので、具体的には、中央の右下に位置する予測ブロックとする。処理対象の輝度信号の予測ブロックの左上の画素の位置を（xP, yP）とし、予測ブロックの幅をW, 高さをHとした際に、（xP +（W>>1）, yP +（H>>1））で導出される位置を含む予測ブロックを異なる時間の予測ブロックcolPbとする。なお、インター予測情報が記憶される階層画像符号化部の符号化情報格納メモリ１１５および階層画像復号部の符号化情報格納メモリ２１０のメモリ量を削減するために、輝度の16×16画素ブロック単位で圧縮されたインター予測情報を参照すると規定する場合には、（（（xP+（W>>1））>>4）<<4, （（yP+（H>>1））>>4）<<4 ）で導出される位置を含む予測ブロックを異なる時間の予測ブロックcolPbとする。
【０１２２】
ここで、xPCol、yPColを異なる時間のピクチャcolPic内での予測ブロックcolPbの左上の画素の位置を示すインデックスとする（図２１のＳ２３０６）。
【０１２３】
次に、図１９のステップＳ２１０３、ステップＳ２１０４および後述する図３７のステップＳ５０４の時間マージ候補または予測動きベクトル候補のインター予測情報の導出処理手順について詳細に説明する。図２２は図１９のステップＳ２１０３、ステップＳ２１０４、図３７のステップＳ５０４の時間マージ候補または予測動きベクトル候補のインター予測情報の導出処理手順を説明するフローチャートである。Ｌ０またはＬ１で、時間マージ候補または予測動きベクトル候補の導出対象のリストをＬＸとし、ＬＸを用いた予測をＬＸ予測とする。以下、断りのない限り、この意味で用いる。時間マージ候補または予測動きベクトル候補のＬ０の導出処理であるステップＳ２１０３として呼び出される際には、ＬＸがＬ０となり、時間マージ候補または予測動きベクトル候補のＬ１の導出処理であるステップＳ２１０４として呼び出される際には、ＬＸがＬ１となる。
【０１２４】
異なる時間の予測ブロックcolPbの予測モードPredModeがイントラ予測（MODE_INTRA）か、利用できない場合（ステップＳ２４０１のＮＯ、ステップＳ２４０２のＮＯ）、時間マージ候補または予測動きベクトル候補は存在しないものとする。フラグavailableFlagLXColとフラグpredFlagLXColを共に０とし（ステップＳ２４０３）、動きベクトルmvLXColを（０，０）として（ステップＳ２４０４）、本時間マージ候補または予測動きベクトル候補のインター予測情報の導出処理を終了する。
【０１２５】
予測ブロックcolPbが利用できて予測モードPredModeがイントラ予測（MODE_INTRA）でない場合（ステップＳ２４０１のＹＥＳ、ステップＳ２４０２のＹＥＳ）、以下の手順でmvColとrefIdxColとavailableFlagColを導出する。
【０１２６】
予測ブロックcolPbのＬ０予測が利用されているかどうかを示すフラグPredFlagL0[xPCol][yPCol]が０の場合（ステップＳ２４０５のＹＥＳ）、予測ブロックcolPbの予測モードはPred_L1であるので、動きベクトルmvColが予測ブロックcolPbのＬ１の動きベクトルであるMvL1[xPCol][yPCol]と同じ値に設定され（ステップＳ２４０６）、参照インデックスrefIdxColがＬ１の参照インデックスRefIdxL1[xPCol][yPCol]と同じ値に設定され（ステップＳ２４０７）、リストListColがＬ１に設定される（ステップＳ２４０８）。
【０１２７】
一方、予測ブロックcolPbのＬ０予測フラグPredFlagL0[xPCol][yPCol]が０でない場合（図２２のステップＳ２４０５のＮＯ）、予測ブロックcolPbのＬ１予測フラグPredFlagL1[xPCol][yPCol]が０かどうかを判定する。予測ブロックcolPbのＬ１予測フラグPredFlagL1[xPCol][yPCol]が０の場合（ステップＳ２４０９のＹＥＳ）、動きベクトルmvColが予測ブロックcolPbのＬ０の動きベクトルであるMvL0[xPCol][yPCol]と同じ値に設定され（ステップＳ２４１０）、参照インデックスrefIdxColがＬ０の参照インデックスRefIdxL0[xPCol][yPCol]と同じ値に設定され（ステップＳ２４１１）、リストListColがＬ０に設定される（ステップＳ２４１２）。
【０１２８】
予測ブロックcolPbのＬ０予測フラグPredFlagL0[xPCol][yPCol]と予測ブロックcolPbのＬ１予測フラグPredFlagL1[xPCol][yPCol]が共に０でない場合（ステップＳ２４０５のＮＯ、ステップＳ２４０９のＮＯ）、予測ブロックcolPbのインター予測モードは双予測（Pred_BI）であるので、Ｌ０、Ｌ１の２つの動きベクトルから、一方を選択する（ステップＳ２４１３）。
【０１２９】
図２３は予測ブロックcolPbのインター予測モードが双予測（Pred_BI）のときの時間マージ候補または予測動きベクトル候補のインター予測情報の導出処理手順を示すフローチャートである。
【０１３０】
まず、すべての参照リストに登録されているすべてのピクチャのＰＯＣが現在の符号化または復号対象ピクチャのＰＯＣより小さいかどうかを判定し（ステップＳ２５０１）、予測ブロックcolPbのすべての参照リストであるＬ０及びＬ１に登録されているすべてのピクチャのＰＯＣが現在の符号化または復号対象ピクチャのＰＯＣより小さい場合で（ステップＳ２５０１のＹＥＳ）、ＬＸがＬ０、即ち符号化または復号対象ピクチャのＬ０の動きベクトルの予測動きベクトル候補を導出している場合（ステップＳ２５０２のＹＥＳ）、予測ブロックcolPbのＬ０の方のインター予測情報を選択し、ＬＸがＬ１、即ち符号化または復号対象ピクチャのＬ１の動きベクトルの予測動きベクトル候補を導出している場合（ステップＳ２５０２のＮＯ）、予測ブロックcolPbのＬ１の方のインター予測情報を選択する。一方、予測ブロックcolPbのすべての参照リストＬ０及びＬ１に登録されているピクチャのＰＯＣの少なくとも１つが現在の符号化または復号対象ピクチャのＰＯＣより大きい場合で（ステップＳ２５０１のＮＯ）、フラグcollocated_from_l0_flagの値が０の場合（ステップＳ２５０３のＹＥＳ）、予測ブロックcolPbのＬ０の方のインター予測情報を選択し、フラグcollocated_from_l0_flagの値が１の場合（ステップＳ２５０３のＮＯ）、予測ブロックcolPbのＬ１の方のインター予測情報を選択する。
【０１３１】
予測ブロックcolPbのＬ０の方のインター予測情報を選択する場合（ステップのＹＥＳ、ステップＳ２５０３のＹＥＳ）、動きベクトルmvColがMvL0[xPCol][yPCol]と同じ値に設定され（ステップＳ２５０４）、参照インデックスrefIdxColがRefIdxL0[xPCol][yPCol]と同じ値に設定され（ステップＳ２５０５）、リストListColがＬ０に設定される（ステップＳ２５０６）。
【０１３２】
予測ブロックcolPbのＬ１の方のインター予測情報を選択する場合（ステップＳ２５０２のＮＯ、ステップＳ２５０３のＮＯ）、動きベクトルmvColがMvL1[xPCol][yPCol]と同じ値に設定され（ステップＳ２５０７）、参照インデックスrefIdxColがRefIdxL1[xPCol][yPCol]と同じ値に設定され（ステップＳ２５０８）、リストListColがＬ１に設定される（ステップＳ２５０９）。
【０１３３】
図２２に戻り、予測ブロックcolPbからインター予測情報が取得できたらフラグavailableFlagLXColとフラグpredFlagLXColを共に１とする（ステップＳ２４１４）。
【０１３４】
続いて、動きベクトルmvColをスケーリングして時間マージ候補または予測動きベクトル候補のＬＸの動きベクトルmvLXColとする（ステップＳ２４１５）。この動きベクトルのスケーリング演算処理手順を図２４及び図２５を用いて説明する。
【０１３５】
図２４は図２２のステップＳ２４１５の動きベクトルのスケーリング演算処理手順を示すフローチャートである。
【０１３６】
異なる時間のピクチャcolPicのＰＯＣから、予測ブロックcolPbのリストListColで参照する参照インデックスrefIdxColに対応する参照ピクチャのＰＯＣを減算してピクチャ間距離ｔｄを導出する（ステップＳ２６０１）。なお、異なる時間のピクチャcolPicよりも予測ブロックcolPbのリストListColで参照する参照ピクチャのＰＯＣの方が表示順序で前の場合、ピクチャ間距離ｔｄは正の値となり、異なる時間のピクチャcolPicよりも予測ブロックcolPbのリストListColで参照する参照ピクチャのＰＯＣの方が表示順序で後の場合、ピクチャ間距離ｔｄは負の値となる。
ｔｄ＝異なる時間のピクチャcolPicのＰＯＣ−予測ブロックcolPbのリストListColで参照する参照ピクチャのＰＯＣ
【０１３７】
現在の符号化または復号対象ピクチャのＰＯＣから導出対象のＬＸの参照インデックスrefIdxLXに対応する参照ピクチャのＰＯＣを減算してピクチャ間距離ｔｂを導出する（ステップＳ２６０２）。ここで、導出対象のＬＸの参照インデックスrefIdxLXとは時間マージ候補導出処理の場合は０であり、予測動きベクトル候補導出処理においては、符号化または復号対象予測ブロックのＬＸの参照インデックスである。なお、現在の符号化または復号対象ピクチャよりも現在の符号化または復号対象ピクチャのリストＬＸで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離ｔｂは正の値となり、現在の符号化または復号対象ピクチャのリストＬＸで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離ｔｂは負の値となる。
ｔｂ＝現在の符号化または復号対象ピクチャのＰＯＣ−導出対象のＬＸの参照インデックスに対応する参照ピクチャのＰＯＣ
【０１３８】
続いて、ピクチャ間距離ｔｄとｔｂを比較し（ステップＳ２６０３）、ピクチャ間距離ｔｄとｔｂが等しい場合（ステップＳ２６０３のＹＥＳ）、時間マージ候補または予測動きベクトル候補のＬＸの動きベクトルmvLXColを動きベクトルmvColと同じ値に設定して（ステップＳ２６０４）、本スケーリング演算処理を終了する。
mvLXCol＝mvCol
【０１３９】
一方、ピクチャ間距離ｔｄとｔｂが等しくない場合（ステップＳ２６０３のＮＯ）、次式によりmvColにスケール係数ｔｂ／ｔｄを乗じることでスケーリング演算処理を行い（ステップＳ２６０５）、スケーリングされた時間マージ候補または予測動きベクトル候補のＬＸの動きベクトルmvLXColを得る。
mvLXCol＝ｔｂ / ｔｄ * mvCol
【０１４０】
また、図２４のステップＳ２６０５のスケーリング演算を整数精度の演算で行う場合の例を図２５に示す。図２５のステップＳ２６０６〜ステップＳ２６０８の処理が、図２４のステップＳ２６０５の処理に対応する。
【０１４１】
まず、図２４のフローチャートと同様に、ピクチャ間距離ｔｄとピクチャ間距離ｔｂを導出する（ステップＳ２６０１、ステップＳ２６０２）。
【０１４２】
続いて、ピクチャ間距離ｔｄとｔｂを比較し（ステップＳ２６０３）、ピクチャ間距離ｔｄとｔｂが等しい場合（ステップＳ２６０３のＹＥＳ）、図２４のフローチャートと同様に、時間マージ候補または予測動きベクトル候補のＬＸの動きベクトルmvLXColを動きベクトルmvColと同じ値に設定して（ステップＳ２６０４）、本スケーリング演算処理を終了する。
mvLXCol＝mvCol
【０１４３】
一方、ピクチャ間距離ｔｄとｔｂが等しくない場合（ステップＳ２６０３のＮＯ）、次式により変数ｔｘを導出する（ステップＳ２６０６）。
tx = ( 16384 + ( Abs( td ) >>1 ) ) / td
なお、Absは括弧内の引数の値の絶対値を表す。
【０１４４】
続いて、次式によりスケール係数distScaleFactor を導出する（ステップＳ２６０７）。
distScaleFactor = Clip3( -4096, 4095, ( tb * tx + 32 ) >> 6 )
なお、Clip3は規定された第１の引数の最小値および第２の引数の最大値で第３の引数の値をクリッピングすることを表す。
【０１４５】
続いて、次式により、スケーリングされた時間マージ候補または予測動きベクトル候補のＬＸの動きベクトルmvLXColを得る（ステップＳ２６０８）。
mvLXCol =  Clip3( -32768, 32767, Sign2( distScaleFactor * mvCol ) *
( (Abs( distScaleFactor * mvCol ) + 127 ) >> 8 ) )
なお、Sign2は括弧内の引数の値が0以上のとき1となり、0未満のとき-1となることを表す。
【０１４６】
次に、図１９のフローチャートに戻り、availableFlagL0ColかavailableFlagL1Colのいずれか一方が１ならavailableFlagColに１を設定し、availableFlagL0ColとavailableFlagL1Colが共に０ならavailableFlagColに０を設定して（ステップＳ２１０５）、本時間マージ候補または予測動きベクトル候補導出処理を終了する。
【０１４７】
次に、図１７のステップＳ１０５の階層間マージ候補の導出方法について詳細に説明する。図２６は図１７のステップＳ１０５の階層間マージ候補導出処理手順を説明するフローチャートである。
【０１４８】
まず、参照階層のピクチャilPicを特定する（図２６のステップＳ３１０１）。本実施の形態においては、符号化または復号対象の拡張階層の下位の階層を参照階層とする。さらに、符号化または復号対象の拡張階層のピクチャと同じＰＯＣの値を持つ参照階層のピクチャを参照階層のピクチャilPicとする。ピクチャ単位、あるいはスライス単位で割り当てられた階層を特定するためのＩＤとＰＯＣにより、参照階層のピクチャilPicを特定する。
【０１４９】
続いて、参照階層のピクチャilPic内の予測ブロックilPbを導出し、符号化情報を取得する（図２６のステップＳ３１０２）。ステップＳ３１０２の詳細な処理手順については図２７のフローチャートを用いて後ほど詳細に説明する。
【０１５０】
続いて、符号化または復号対象の予測ブロックと同位置の参照階層の予測ブロックilPbから導出される階層間マージ候補ＩＬが有効か否かを示すフラグavailableFlagIL、階層間マージ候補ＩＬの動きベクトルmvL0IL, mvL1IL、階層間マージ候補ＩＬの参照インデックスrefIdxL0IL, refIdxL1IL、階層間マージ候補ＩＬのフラグpredFlagL0IL、predFlagL1ILを導出し（図２６のステップＳ３１０３）、本階層マージ候補導出処理を終了する。ステップＳ３１０３の詳細な処理手順については図２８のフローチャートを用いて後ほど詳細に説明する。
【０１５１】
次に、図２６のステップＳ３１０２の参照階層のピクチャilPicの予測ブロックilPbの導出処理手順について詳細に説明する。図２７は図２６のステップＳ３１０２の参照階層のピクチャilPicの予測ブロックilPbの導出処理手順を説明するフローチャートである。
【０１５２】
まず、参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の右下（外側）に位置する予測ブロックを参照階層の予測ブロックilPbとする（図２７のステップＳ３２０１）。この予測ブロックは図１４の予測ブロックＬ０に相当する。参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の右下（外側）に位置する予測ブロックの導出方法について説明する。
【０１５３】
参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の右下（外側）に位置する予測ブロックの導出方法について説明する。処理対象の輝度信号の予測ブロックの左上の画素の位置を（xP, yP）とし、予測ブロックの幅をW, 高さをHとすると、処理対象の予測ブロックの右下の予測ブロックの左上の画素の位置は（xP+W, yP+H）で導出される。この画素の位置は、スケーリングされた参照階層のピクチャ上では（xP+W-LeftOffset, yP+H-TopOffset）で導出される。また、参照階層のピクチャ上での位置（xRrb, yRrb）は、
xRrb =（（xP+W-LeftOffset）* RefWidth）/ ScaledRefWidth
yRrb =（（xP+H-TopOffset）* RefHeight）/ ScaledRefHeight
で導出される。参照階層のピクチャ内で、この座標位置を含む予測ブロックを参照階層の予測ブロックilPbとする。なお、インター予測情報が記憶される階層画像符号化部の符号化情報格納メモリ１１５および階層画像復号部の符号化情報格納メモリ２１０のメモリ量を削減するために、輝度の16×16画素ブロック単位で圧縮されたインター予測情報を参照すると規定する場合には、（（xRrb>>4）<<4, （yRrb>>4）<<4 ）で導出される位置を含む予測ブロックを参照階層の予測ブロックilPbとする。
【０１５４】
参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の右下（外側）に位置する予測ブロックを参照階層の予測ブロックilPbとする理由は、処理対象の予測ブロックの左、上、右上、左下、右上にそれぞれ位置する符号化または復号済みの予測ブロックを空間マージ候補とすることができるのに対して、右下に位置する予測ブロックはまだ符号化または復号されておらず、空間マージ候補とすることができない。そこで、本発明においては、処理対象の予測ブロックと同一位置の右下（外側）に位置する参照階層の予測ブロックを参照階層の予測ブロックilPbとする。右下に位置する予測ブロックは、空間マージ候補となる左、上、右上、左下、右上に位置する予測ブロックから離れているので、処理対象の予測ブロックと同一位置の右下（外側）に位置する予測ブロックから導出される階層間マージ候補は他の空間マージ候補と異なるインター予測情報を持つ可能性が高く、マージ候補の選択の幅が広がることにより、符号化効率が向上する。
【０１５５】
次に、参照階層の予測ブロックilPbの符号化情報を取得する（図２７のステップＳ３２０２）。参照階層の予測ブロックilPbのPredModeが利用できないか、参照階層の予測ブロックilPbの予測モードPredModeがイントラ予測（MODE_INTRA）である場合（図２７のステップＳ３２０３のＹＥＳ、ステップＳ３２０４のＹＥＳ）、参照階層の予測ブロックilPbのインター予測情報が利用できないので、代わりに参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の中央に位置する予測ブロックを参照階層の予測ブロックilPbとする（図２７のステップＳ３２０５）。この予測ブロックは図１４の予測ブロックＬ１に相当する。予測ブロックのサイズによっては中央に位置する予測ブロックが複数存在する場合があるが、中央の右下に位置する予測ブロックとする。
【０１５６】
参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の中央の右下に位置する予測ブロックの導出方法について説明する。処理対象の輝度信号の予測ブロックの左上の画素の位置を（xP, yP）とし、予測ブロックの幅をW, 高さをHとすると、処理対象の予測ブロックの右下の予測ブロックの左上の画素の位置は（xP +（W>>1）, yP +（H>>1））で導出される。この画素の位置は、スケーリングされた参照階層のピクチャ上では（xP+（W>>1）-LeftOffset, yP+（H>>1）-TopOffset）で導出される。また、参照階層のピクチャ上での位置（xRctr, yRctr）は、
xRctr =（（xP+（W>>1）-LeftOffset）* RefWidth）/ ScaledRefWidth
yRctr =（（xP+（H>>1）-TopOffset）* RefHeight）/ ScaledRefHeight
で導出される。参照階層のピクチャ内で、この座標位置を含む予測ブロックを参照階層の予測ブロックilPbとする。なお、インター予測情報が記憶される階層画像符号化部の符号化情報格納メモリ１１５および階層画像復号部の符号化情報格納メモリ２１０のメモリ量を削減するために、輝度の16×16画素ブロック単位で圧縮されたインター予測情報を参照すると規定する場合には、（（xRctr>>4）<<4, （yRctr>>4）<<4 ）で導出される位置を含む予測ブロックを参照階層の予測ブロックilPbとする。
【０１５７】
参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の中央に位置する予測ブロックを参照階層の予測ブロックilPbとする理由は、同一位置の中央に位置する下位階層の予測ブロックは処理対象の階層の予測ブロックと同じ動きをしている可能性が高いからである。そこで、本発明においては、処理対象の予測ブロックと同一位置の中央に位置する参照階層の予測ブロックを参照階層の予測ブロックilPbとする。
【０１５８】
ここで、xPIL、yPILは参照階層のピクチャilPic内での予測ブロックilPbの左上の画素の位置を示すインデックスとする（図２７のステップＳ３２０６）。
【０１５９】
次に、図２６のステップＳ３１０３の参照階層の階層間マージ候補ＩＬの導出処理手順について詳細に説明する。図２８は図２６のステップＳ３１０３の参照階層の階層間マージ候補ＩＬの導出処理手順を説明するフローチャートである。
【０１６０】
参照階層の符号化情報格納メモリ１１５または２１０から参照階層の予測ブロックＩＬの符号化情報を取得する（図２８のステップＳ３３０１）。
【０１６１】
参照階層の予測ブロックilPbが利用できないか（図２８のステップＳ３３０２のＮＯ）、参照階層の予測ブロックilPbの予測モードPredModeがイントラ予測（MODE_INTRA）である場合（図２８のステップＳ３３０３のＮＯ）、階層間マージ候補ＩＬのフラグavailableFlagILの値を０に設定し（図２８のステップＳ３３０４）、階層間マージ候補ＩＬの動きベクトルmvL0IL, mvL1ILの値を共に（０，０）に設定し（図２８のステップＳ３３０５）、階層間マージ候補ＩＬの参照インデックスrefIdxL0IL, refIdxL1ILを共に−１に設定し（図２８のステップＳ３３０６）、階層間マージ候補ＩＬのフラグpredFlagL0IL、predFlagL1ILの値を共に０に設定し（図２８のステップＳ３３０７）、本階層間マージ候補の導出処理を終了する。
【０１６２】
一方、参照階層の予測ブロックilPbが利用でき（図２８のステップＳ３３０２のＹＥＳ）、参照階層の予測ブロックilPbの予測モードPredModeがイントラ予測（MODE_INTRA）でない場合（図２８のステップＳ３３０３のＹＥＳ）、参照階層の予測ブロックilPbのインター予測情報を階層間マージ候補ＩＬのインター予測情報とする。階層間マージ候補ＩＬのフラグavailableFlagNの値を１に設定し（図２８のステップＳ３３０８）、階層間マージ候補ＩＬの動きベクトルmvL0IL, mvL1ILをそれぞれ参照階層の予測ブロックilPbの動きベクトルmvL0[xIL][yIL], mvL1[xIL][yIL]と同じ値に設定し（図２８のステップＳ３３０９）、階層間マージ候補ＩＬの参照インデックスrefIdxL0IL, refIdxL1ILをそれぞれ参照階層の予測ブロックilPbの参照インデックスrefIdx[xIL][yIL], refIdx[xIL][yIL]と同じ値に設定し（図２８のステップＳ３３１０）、階層間マージ候補ＩＬのフラグpredFlagL0IL, predFlagL1ILをそれぞれ参照階層の予測ブロックilPbのフラグpredFlagL0[xIL][yIL], predFlagL1[xIL][yIL]に設定する（図２８のステップＳ３３１１）。
【０１６３】
続いて、predFlagL0[xIL][yIL]が１、すなわちＬ０予測または双予測の場合（図２８のステップＳ３３１３のＹＥＳ）、階層間マージ候補のＬ０の動きベクトルmvL0ILをスケーリングし（図２８のステップＳ３３１３）、predFlagL1[xIL][yIL]が１、すなわちＬ１予測または双予測の場合（図２８のステップＳ３３１４のＹＥＳ）、階層間マージ候補のＬ１の動きベクトルmvL1ILをスケーリングする（図２８のＳ３３１５）。この階層間マージ候補のＬＸ（ＬＸはＬ０またはＬ１）の動きベクトルmvLXILのスケーリング演算処理手順を図２９及び図３０を用いて説明する。
【０１６４】
図２９は図２８のステップＳ３３１３およびステップＳ３３１５、および後述する図４５のステップＳ３３３０の階層マージ候補または予測動きベクトル候補ＬＸ（ＬＸはＬ０またはＬ１）の動きベクトルmvLXILのスケーリング演算処理手順を示すフローチャートである。
【０１６５】
参照階層（下位階層）のピクチャの幅RefWidthとスケーリングされた参照階層（下位階層）のピクチャの幅ScaledRefWidthを比較し（ステップＳ３４０１）、RefWidthとScaledRefWidthが等しい場合（ステップＳ３４０１のＹＥＳ）、階層間マージ候補のＬＸの動きベクトルの水平成分mvLXIL[0]のスケーリングを行わずに、ステップＳ３４０６に進む。なお、ステップＳ３４０１の条件判断を省略してステップＳ３４０２に進むこともできる。
【０１６６】
一方、RefWidthとScaledRefWidthが等しくない場合（ステップＳ３４０１のＮＯ）、次式により階層間マージ候補のＬＸの動きベクトルの水平成分mvLXIL[0]にスケール係数ScaledRefWidth／RefWidthを乗じることでスケーリング演算処理を行い（ステップＳ３４０２）、スケーリングされた時間マージ候補のＬＸの動きベクトルの水平成分mvLXIL[0]を得る。
mvLXIL[0]＝ ScaledRefWidth / RefWidth * mvLXIL[0]
【０１６７】
続いて、参照階層（下位階層）のピクチャの高さRefHeightとスケーリングされた参照階層（下位階層）のピクチャの高さScaledRefHeightを比較し（ステップＳ３４０６）、RefHeightとScaledRefHeightが等しい場合（ステップＳ３４０６のＹＥＳ）、階層間マージ候補のＬＸの動きベクトルの垂直成分mvLXIL[1]のスケーリングを行わずに、本スケーリング処理を終了する。なお、ステップＳ３４０６の条件判断を省略してステップＳ３４０７に進むこともできる。
【０１６８】
一方、RefHeightとScaledRefHeightが等しくない場合（ステップＳ３４０７のＮＯ）、次式により階層間マージ候補のＬＸの動きベクトルの垂直成分mvLXIL[1]にスケール係数ScaledRefWidth／RefWidthを乗じることでスケーリング演算処理を行い（ステップＳ３４０７）、スケーリングされた時間マージ候補のＬＸの動きベクトルの垂直成分mvLXIL[1]を得る。
mvLXIL[1]＝ ScaledRefHeight / RefHeight * mvLXIL[1]
【０１６９】
また、図２９のステップＳ３４０２およびステップＳ３４０７のスケーリング演算を整数精度の演算で行う場合の例を図３０に示す。図３０のステップＳ３４０３〜ステップＳ３４０５の処理が、図２９のステップＳ３４０２の処理に相当し、ステップＳ３４０８〜ステップＳ３４１０の処理が、図２９のステップＳ３４０７の処理に相当する。
【０１７０】
参照階層（下位階層）のピクチャの幅RefWidthとスケーリングされた参照階層（下位階層）のピクチャの幅ScaledRefWidthを比較し（ステップＳ３４０１）、RefWidthとScaledRefWidthが等しい場合（ステップＳ３４０１のＹＥＳ）、階層間マージ候補のＬＸの動きベクトルの水平成分mvLXIL[0]のスケーリングを行わずに、ステップＳ３４０６に進む。なお、ステップＳ３４０１の条件判断を省略してステップＳ３４０３に進むこともできる。
【０１７１】
一方、RefWidthとScaledRefWidthが等しくない場合（ステップＳ３４０１のＮＯ）、水平成分のスケーリング演算処理を行い（ステップＳ３４０３〜４４０５）、スケーリングされた時間マージ候補のＬＸの動きベクトルの水平成分mvLXIL[0]を得る。まず、次式により変数ｔｘを導出する（ステップＳ３４０３）。
tx = ( 16384 + ( Abs(RefWidth ) >> 1 ) ) / RefWidth
なお、Absは括弧内の引数の値の絶対値を表す。
【０１７２】
続いて、次式によりスケール係数distScaleFactor を導出する（ステップＳ３４０４）。
distScaleFactor = Clip3( -4096, 4095, ( ScaledRefWidth * tx + 32 ) >> 6 )
なお、Clip3は規定された第１の引数の最小値および第２の引数の最大値で第３の引数の値をクリッピングすることを表す。
【０１７３】
続いて、次式により、スケーリングされた時間マージ候補のＬＸの動きベクトルの水平成分mvLXIL[0]を得る（ステップＳ３４０５）。
mvLXIL[0] =Clip3( -32768, 32767, Sign2( distScaleFactor * mvLXIL[0] ) *
( (Abs( distScaleFactor * mvLXIL[0] ) + 127 ) >> 8 ) )
なお、Sign2は括弧内の引数の値が0以上のとき1となり、0未満のとき-1となることを表す。
【０１７４】
続いて、参照階層（下位階層）のピクチャの高さRefHeightとスケーリングされた参照階層（下位階層）のピクチャの高さScaledRefHeightを比較し（ステップＳ３４０６）、RefHeightとScaledRefHeightが等しい場合（ステップＳ３４０６のＹＥＳ）、階層間マージ候補のＬＸの動きベクトルの水平成分mvLXIL[0]のスケーリングを行わずに、本スケーリング処理を終了する。なお、ステップＳ３４０６の条件判断を省略してステップＳ３４０８に進むこともできる。
【０１７５】
一方、RefHeightとScaledRefHeightが等しくない場合（ステップＳ３４０６のＮＯ）、垂直成分のスケーリング演算処理を行い（ステップＳ３４０８〜４４１０）、スケーリングされた時間マージ候補のＬＸの動きベクトルの垂直成分mvLXIL[1]を得る。まず、次式により変数ｔｘを導出する（ステップＳ３４０８）。
tx = ( 16384 + ( Abs(RefHeight ) >> 1 ) ) / RefHeight
【０１７６】
続いて、次式によりスケール係数DistScaleFactorを導出する（ステップＳ３４０９）。
distScaleFactor = Clip3( -4096, 4095, ( ScaledRefHeight * tx + 32 ) >> 6 )
【０１７７】
続いて、次式により、スケーリングされた時間マージ候補のＬＸの動きベクトルの垂直成分mvLXIL[1]を得る（ステップＳ３４１０）。
mvLXIL[1] =Clip3( -32768, 32767, Sign2( distScaleFactor * mvLXIL[1] ) *
( (Abs( distScaleFactor * mvLXIL[1] ) + 127 ) >> 8 ) )
【０１７８】
次に、図２８のフローチャートに戻り、本階層間マージ候補導出処理を終了する。
【０１７９】
次に、図１７のステップＳ１０６のマージ候補をマージ候補リストに登録する方法について詳細に説明する。図３１はマージ候補リストへのマージ候補の登録処理手順を示すフローチャートである。本方式では、発生頻度により優先順位をつけて、優先順位の高いものからマージ候補リストmergeCandListに、マージ候補を登録することで、マージインデックスmerge_idx[x0][y0]の符号量を削減する。優先順位の高い要素をマージ候補リストの前方に配置することで、符号量を削減する。例えば、マージ候補リストmergeCandListの要素が５個の場合、マージ候補リストのインデックス０を「０」、インデックス１を「１０」、インデックス２を「１１０」、インデックス３を「１１１０」、インデックス４を「１１１１０」とすることで、インデックス０を表す符号量が１ビットとなり、インデックス０に発生頻度が高いと考えられる要素を登録することで、符号量を削減する。具体的には、発生頻度が高いと考えられるマージ候補リストmergeCandListに空間マージ候補Ａ１、Ｂ１、Ｂ０、Ａ０、Ｂ２の順序で追加し、さらに、階層間マージ候補ＩＬ、時間マージ候補Ｃｏｌを追加する。
【０１８０】
マージ候補リストmergeCandListはリスト構造を成し、マージ候補リスト内部の所在を示すマージインデックスと、インデックスに対応するマージ候補を要素として格納する記憶領域が設けられている。マージインデックスの数字は０から開始され、マージ候補リストmergeCandListの記憶領域に、マージ候補が格納される。以降の処理では、マージ候補リストmergeCandListに登録されたマージインデックスｉのマージ候補となる予測ブロックは、mergeCandList[i]で表すこととし、マージ候補リストmergeCandListとは配列表記をすることで区別することとする。
【０１８１】
まず、availableFlagA1が１の場合（図３１のＳ４１０３のＹＥＳ）、マージ候補リストmergeCandListの先頭に空間マージ候補Ａ１を登録する（図３１のＳ４１０４）。
続いて、availableFlagB1が１の場合（図３１のＳ４１０５のＹＥＳ）、マージ候補リストmergeCandListの登録されたマージ候補の後に空間マージ候補Ｂ１を登録する（図３１のＳ４１０６）。
続いて、availableFlagB0が１の場合（図３１のＳ４１０７のＹＥＳ）、マージ候補リストmergeCandListの直前に登録されたマージ候補の後に空間マージ候補Ｂ０を登録する（図３１のＳ４１０８）。
続いて、availableFlagA0が１の場合（図３１のＳ４１０９のＹＥＳ）、マージ候補リストmergeCandListの直前に登録されたマージ候補の後に空間マージ候補Ａ０を登録する（図３１のＳ４１１０）。
続いて、availableFlagB2が１の場合（図３１のＳ４１１１のＹＥＳ）、マージ候補リストmergeCandListの直前に登録されたマージ候補の後に空間マージ候補Ｂ２を登録する（図３１のＳ４１１２）。
続いて、拡張階層において、階層間マージ候補を導出する場合で、availableFlagILが１の場合（図３１のＳ４１１３のＹＥＳ）、マージ候補リストmergeCandListの直前に登録されたマージ候補の後にマージ候補ＩＬを登録する（図３１のＳ４１１４）。
続いて、時間マージ候補を導出する場合で、availableFlagColが１の場合（図３１のＳ４１１５のＹＥＳ）、マージ候補リストmergeCandListの最後に時間マージ候補Ｃｏｌを登録する（図３１のＳ４１１６）。
なお、時間マージ候補と階層間マージ候補のいずれか一方をマージ候補の１つとする場合は、いずれか一方だけがマージ候補リストに登録される。したがって、時間マージ候補登録処理を行ってから（図３１のＳ４１１５〜Ｓ４１１６）、階層間マージ候補登録処理を行うこともでき（図３１のＳ４１１３〜Ｓ４１１４）、同じ結果が得られる。
【０１８２】
この方法では、左に近接する予測ブロックＡ１及び上に近接する予測ブロックＢ１は符号化または復号対象の予測ブロックと一体となる動きになることが多いので、インター予測情報選択部１３６により選択される頻度が高くなるので、マージ候補Ａ１、Ｂ１を他のマージ候補よりも優先的にマージ候補リストの前方に登録する。
【０１８３】
次に、図１５の追加マージ候補生成部１３５および図１６の追加マージ候補生成部２３５で実施される図１７のステップＳ１０７の処理手順である追加マージ候補の導出方法について詳細に説明する。図３２は図１７のステップＳ１０７の追加マージ候補導出処理手順を説明するフローチャートである。
【０１８４】
図１５の追加マージ候補生成部１３５および図１６の追加マージ候補生成部２３５で実施される追加マージ候補導出処理においては、マージ候補リスト内のマージインデックスが０から（maxNumMergeCand-1）の値で指し示される範囲内で、無効なマージ候補が無くなるまで、有効なマージ候補をマージ候補リストに登録するために、スライスタイプに応じたインター予測モードの動きベクトルの値が（０，０）の有効マージ候補を、マージ候補リストに登録する。（図３２のステップＳ５１０１〜Ｓ５１２１）。
【０１８５】
まず、スライスタイプがＰスライスの場合（図３２のステップＳ５１０１のＹＥＳ）、参照インデックス数を示す変数numRefIdxにＬ０の参照インデックス数の値を設定する（図３２のステップＳ５１０２）。一方、スライスタイプがＰスライスでない場合（図３２のステップＳ５１０１のＮＯ）、すなわちスライスタイプがＢスライスの場合、参照インデックス数を示す変数numRefIdxにＬ０の参照インデックス数とＬ１の参照インデックス数の小さい方の値を設定する（図３２のステップＳ５１０３）。続いて参照インデックスｉに０を設定する（図３２のステップＳ５１０４）。
【０１８６】
続いて、参照インデックスｉを変更しながら、スライスタイプに応じた予測モードの動きベクトルの値が（０，０）の追加マージ候補を導出し、マージ候補リストに登録する。（図３２のステップＳ５１０５〜Ｓ５１２１）。
【０１８７】
マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さい場合（図３２のステップＳ５１０６のＹＥＳ）、ステップＳ５１０７に進み、マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さくない場合（図３２のステップＳ５１０６のＮＯ）、本追加マージ候補導出処理を終了する。
【０１８８】
続いて、スライスタイプがＰスライスの場合（図３２のステップＳ５１０７のＹＥＳ）、追加マージ候補の動きベクトルmvL0Zero、mvL1Zeroに（０，０）を設定する（図３２のステップＳ５１０８）。続いて、参照インデックスｉが変数numRefIdxより小さい場合（図３２のステップＳ５１０９のＹＥＳ）、追加マージ候補の参照インデックスrefIdxL0Zeroに参照インデックスｉの値を設定し、refIdxL1Zeroに−１を設定する（図３２のステップＳ５１１０）。参照インデックスｉが変数numRefIdxより小さくない場合（図３２のステップＳ５１０９のＮＯ）、追加マージ候補の参照インデックスrefIdxL0Zeroに０を設定し、refIdxL1Zeroに−１を設定する（図３２のステップＳ５１１１）。続いて、追加マージ候補のフラグpredFlagL0Zeroに１を設定し、predFlagL1Zeroに０を設定して（図３２のステップＳ５１１２）、ステップＳ５１１８に進む。
【０１８９】
一方、スライスタイプがＰスライスでない場合（図３２のステップＳ５１０７のＮＯ）、すなわちスライスタイプがＢスライスの場合、追加マージ候補の動きベクトルmvL0Zero、mvL1Zeroに（０，０）を設定する（図３２のステップＳ５１１３）。続いて、参照インデックスｉが変数numRefIdxより小さい場合（図３２のステップＳ５１１４のＹＥＳ）、追加マージ候補の参照インデックスrefIdxL0Zero、refIdxL1Zeroに参照インデックスｉの値を設定する（図３２のステップＳ５１１５）。参照インデックスｉが変数numRefIdxより小さくない場合（図３２のステップＳ５１１４のＮＯ）、追加マージ候補の参照インデックスrefIdxL0Zero、refIdxL1Zeroに０を設定する（図３２のステップＳ５１１６）。続いて、追加マージ候補のフラグpredFlagL0Zero、predFlagL1Zeroに１を設定して（図３２のステップＳ５１１７）、ステップＳ５１１８に進む。
【０１９０】
続いて、追加マージ候補をマージ候補リストmergeCandListのマージインデックスがnumMergeCandと同じ値で示される位置に登録し（図３２のステップＳ５１１８）、マージ候補数numMergeCandに１を加算する（図３２のステップＳ５１１９）。続いて、インデックスｉに１を加算し（図３２のステップＳ５１２０）、ステップＳ５１２１に進む。
【０１９１】
以上のステップＳ５１０６〜ステップＳ５１２０の処理をそれぞれの参照インデックスｉ毎にそれぞれ繰り返す（図３２のステップＳ５１０５〜ステップＳ５１２１）。
【０１９２】
次に、階層画像符号化部のインター予測情報導出部１０４のインター予測情報選択部１３６について説明する。図１５において、階層画像符号化部のインター予測情報導出部１０４のインター予測情報選択部１３６では、マージ候補リストに登録されているマージインデックスが０から（numMergeCand-1）の範囲内で指し示される有効なマージ候補の中から、マージ候補を選択し、選択されたマージ候補の各予測ブロックのＬ０予測、及びＬ１予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報をインター予測部１０５に供給するとともに、選択されたマージ候補を特定するマージインデックスを予測方法決定部１０７に供給する。本実施例においては、マージ候補リスト内のマージインデックスが０から（maxNumMergeCand-1）の値で指し示される範囲内で、無効なマージ候補は存在せず、すべて有効なマージ候補である。
【０１９３】
マージ候補の選択においては、予測方法決定部１０７と同様の方法を用いることができる。それぞれのマージ候補ごとに符号化情報及び残差信号の符号量と予測画像信号と画像信号との間の符号化歪を導出し、最も少ない発生符号量と符号化歪となるマージ候補が決定される。それぞれのマージ候補毎にマージモードの符号化情報であるマージインデックスのシンタックス要素merge_idxのエントロピー符号化を行い、符号化情報の符号量を算出する。さらに、それぞれのマージ候補毎にインター予測部１０５と同様の方法で各マージ候補のインター予測情報に応じて動き補償した予測画像信号と、画像メモリ１０１から供給される符号化対象の画像信号との予測残差信号を符号化した予測残差信号の符号量を算出する。符号化情報、即ちマージインデックスの符号量と予測残差信号の符号量とが加算された総発生符号量を算出し評価値とする。
【０１９４】
また、こうした予測残差信号を符号化後に、歪量評価の為に復号し、符号化により生じる元の画像信号との誤差を表す比率として符号化歪が算出される。これら総発生符号量と符号化歪とをマージ候補毎に比較することで、少ない発生符号量と符号化歪となる符号化情報が決定される。決定された符号化情報に対応するマージインデックスが、予測ブロック単位の第２のシンタックスパターンで表されるフラグmerge_idxとして符号化される。
尚、ここで算出される発生符号量は、符号化過程をシミュレートしたものであることが望ましいが、簡便に近似したり、概算することも可能である。
【０１９５】
次に、階層画像復号部のインター予測情報導出部２０５のインター予測情報選択部２３６について説明する。図１６において、階層画像復号部のインター予測情報導出部２０５のインター予測情報選択部２３６では、マージ候補リストmergeCandListに登録されているマージ候補の中から、第２符号化ビット列復号部２０２から供給されたマージインデックスmergeIdxに対応するマージ候補を選択し、選択されたマージ候補のＬ０予測、及びＬ１予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、Ｌ０、Ｌ１の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、Ｌ０、Ｌ１の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報をインター予測部２０６に供給するとともに、符号化情報格納メモリ２１０に格納する。ただし、本実施例においては、マージ候補リスト内のマージインデックスが０から（maxNumMergeCand-1）の値で指し示される範囲内で、無効なマージ候補は存在せず、すべて有効なマージ候補である。
【０１９６】
次に、実施の形態に係る動きベクトルの予測方法について説明する。実施の形態に係る動きベクトルの予測方法は、図１の動画像符号化装置の階層画像符号化部の差分動きベクトル算出部１０３及び図２の動画像復号装置の階層画像復号部の動きベクトル算出部２０４において実施される。
【０１９７】
動きベクトルの予測方法は、符号化ブロックを構成する予測ブロック単位に、符号化及び復号の処理の何れでも実施される。予測ブロックの予測モードがインター予測（MODE_INTER）で、マージモードでない場合に、符号化の場合、符号化対象の動きベクトルから符号化する差分動きベクトルを算出する時に用いる符号化済みの動きベクトルを利用して予測動きベクトルを導出する際、復号の場合、復号対象の動きベクトルを算出する時に用いる復号済みの動きベクトルを利用して予測動きベクトルを導出する際に実施される。
【０１９８】
動きベクトルの予測方法は、スライスタイプがＰスライス（片方向予測スライス）或いはＢスライス（両方向予測スライス）の場合で、更に、スライスの中の予測ブロックの予測モードがインター予測（MODE_INTER）で、マージモードでない差分動きベクトルを符号化または復号する予測ブロックに適用される。
【０１９９】
動きベクトルの予測は符号化側の動画像符号化装置の階層画像符号化部と復号側の動画像復号装置の階層画像復号部で共通の規定の方法により、予測動きベクトル候補を導出し、予測動きベクトル候補リストに登録する。図７、図８、図９及び図１０を用いて説明した左に近接する予測ブロックＡ１、左下に近接する予測ブロックＡ０から左側の予測ブロック候補を導出し、上に近接する予測ブロックＢ１、右上に近接する予測ブロックＢ０、左上に近接する予測ブロックＢ２から上側の予測ブロック候補を導出する。さらに、図１１を用いて説明した異なる時間の同一位置あるいはその付近に存在する予測ブロックＣｏｌ（Ｔ０、Ｔ１のいずれか）の予測ブロックから異なる時間の予測動きベクトル候補を導出する。また、拡張階層を復号する際には、図１２〜１４を用いて説明した参照階層を符号化または復号対象の拡張階層と同じサイズ、位置にスケーリングした場合の同一位置あるいはその付近に存在する予測ブロックＩＬ（Ｌ０、Ｌ１のいずれか）の予測ブロックから階層間の予測動きベクトル候補を導出する。なお、ベース階層を復号する際には、階層間の予測動きベクトル候補は導出しない。
【０２００】
実施の形態に係る動きベクトルの予測方法を図面を用いて説明する。図３３は、図１の動画像符号化装置の階層画像符号化部の差分動きベクトル算出部１０３の詳細な構成を示す図である。また、図３４は、実施の形態に係る図２の動画像復号装置の階層画像復号部の動きベクトル算出部２０４の詳細な構成を示す図である。図３３及び図３４の太枠線で囲まれる部分はそれぞれ、差分動きベクトル算出部１０３及び動きベクトル算出部２０４を示している。
【０２０１】
更に、それらの内部の太点線で囲まれる部分はそれぞれの動きベクトルの予測方法の動画像符号化装置の階層画像符号化部の予測動きベクトル候補リスト構築部１２１及び動画像復号装置の階層画像復号部の予測動きベクトル候補リスト構築部２２１を示しており、実施の形態の動画像符号化装置と対応する動画像復号装置にも同様に設置され、符号化と復号で矛盾しない同一の導出結果を得られるようにしている。以下、この図を用いて、符号化における動きベクトルの予測方法を説明する。
【０２０２】
動画像符号化装置の階層画像符号化部の差分動きベクトル算出部１０３は、予測動きベクトル候補生成部１４１、予測動きベクトル候補登録部１４２、予測動きベクトル冗長候補削除部１４３、予測動きベクトル候補数制限部１４４、予測動きベクトル候補符号量算出部１４５、予測動きベクトル選択部１４６、および動きベクトル減算部１４７を含む。
【０２０３】
動画像復号装置の階層画像復号部の動きベクトル算出部２０４は、予測動きベクトル候補生成部２４１、予測動きベクトル候補登録部２４２、予測動きベクトル冗長候補削除部２４３、予測動きベクトル候補数制限部２４４、予測動きベクトル選択部２４５及び動きベクトル加算部２４６を含む。
【０２０４】
この動画像符号化装置の階層画像符号化部の差分動きベクトル算出部１０３での差分動きベクトル算出処理は、符号化対象予測ブロックのインター予測方法で用いる動きベクトルの予測動きベクトルの候補、および差分動きベクトルをＬ０、Ｌ１毎にそれぞれ算出する。さらに、動画像復号装置の階層画像復号部の動きベクトル算出部２０４での動きベクトル算出処理も、復号対象予測ブロックのインター予測で用いる予測動きベクトルの候補、動きベクトルをＬ０，Ｌ１毎にそれぞれ算出する。
【０２０５】
具体的には符号化または復号対象ブロックの予測モードPredModeがインター予測（MODE_INTER）で、符号化または復号対象ブロックのインター予測モードがＬ０予測（Pred_L0）の場合、Ｌ０予測が行われるので、Ｌ０の予測動きベクトル候補を導出して、Ｌ０の予測動きベクトルリストmvpListL0に登録する。符号化または復号対象ブロックのインター予測モード（Pred_L1）がＬ１予測の場合、Ｌ１予測が行われるので、Ｌ１の予測動きベクトル候補を導出して、Ｌ１の予測動きベクトルリストmvpListL1に登録する。符号化対象ブロックのインター予測モードが双予測（Pred_BI）の場合、Ｌ０予測とＬ１予測が共に行われるので、Ｌ０の予測動きベクトル候補を導出して、Ｌ０の予測動きベクトルリストmvpListL0に登録するとともに、Ｌ１の予測動きベクトル候補を導出して、Ｌ１の予測動きベクトルリストmvpListL1に登録する。符号化側では、導出した予測動きベクトルを用いて、差分動きベクトルを導出し、復号側では導出した予測動きベクトルを用いて、動きベクトルを導出する。
【０２０６】
Ｌ０、Ｌ１それぞれについて、符号化側及び復号側では予測動きベクトル導出処理を行い、符号化側では差分動きベクトル導出処理、復号側では動きベクトル導出処理を行うが、Ｌ０、Ｌ１ともに共通の処理となる。したがって、以下の説明においてはＬ０、Ｌ１を共通のＬＸとして表す。Ｌ０の予測動きベクトル導出処理、差分動きベクトル算出処理、および動きベクトル算出処理ではＬＸがＬ０であり、Ｌ１の予測動きベクトル導出処理、差分動きベクトル算出処理及び動きベクトル算出処理ではＬＸがＬ１である。また、ＬＸの予測動きベクトル導出処理、差分動きベクトル算出処理、または動きベクトル算出処理中に、ＬＸではなく、もう一方のリストの情報を参照する場合、もう一方のリストをＬＹとして表す。つまり、Ｌ０の予測動きベクトル導出処理、差分動きベクトル算出処理、または動きベクトル算出処理中に、もう一方のリストの情報を参照する場合、もう一方のリストＬＹはＬ１であり、Ｌ１の予測動きベクトル導出処理、差分動きベクトル算出処理、または動きベクトル算出処理中に、もう一方のリストの情報を参照する場合、もう一方のリストＬＹはＬ０である。
【０２０７】
動画像符号化装置の階層画像符号化部の差分動きベクトル算出部１０３、動画像復号装置の階層画像復号部の動きベクトル算出部２０４の処理手順について、それぞれ図３５、図３６のフローチャートを用いて説明する。図３５は動画像符号化装置の階層画像符号化部による差分動きベクトル算出処理手順を示すフローチャートであり、図３６は動画像復号装置の階層画像復号部による動きベクトル算出処理手順を示すフローチャートである。
【０２０８】
図３５を参照して符号化側の差分動きベクトル算出処理手順を説明する。符号化側では、差分動きベクトル算出部１０３で、符号化対象ブロックで選択されたインター予測で用いる動きベクトルの差分動きベクトルをＬ０、Ｌ１毎にそれぞれ算出する（図３５のＳ３０１〜Ｓ３０６）。具体的には図３の動きベクトル検出部１０２から供給される予測ブロックサイズ、インター予測モード、参照インデックス毎に、符号化対象ブロックの予測モードPredModeがインター予測（MODE_INTER）で、インター予測モードがＬ０予測（Pred_L0）の場合、図３の動きベクトル検出部１０２から供給されるＬ０の参照インデックスに対応したＬ０予測動きベクトル候補で構成されるＬ０の予測動きベクトルリストmvpListL0を算出して、予測動きベクトルmvpL0を選択し、Ｌ０の動きベクトルmvL0の差分動きベクトルmvdL0を算出する。符号化対象ブロックのインター予測モードがＬ１予測（Pred_L1）の場合、図３の動きベクトル検出部１０２から供給されるＬ１の参照インデックスに対応したＬ１の予測動きベクトル候補で構成されるＬ１の予測動きベクトルリストmvpListL1を算出して、予測動きベクトルmvpL1を選択し、Ｌ１の動きベクトルmvL1の差分動きベクトルmvdL1を算出する。符号化対象ブロックのインター予測モードが双予測（Pred_BI）の場合、Ｌ０予測とＬ１予測が共に行われ、図３の動きベクトル検出部１０２から供給されるＬ０の参照インデックスに対応したＬ０予測動きベクトル候補で構成されるＬ０の予測動きベクトルリストmvpListL0を算出して、Ｌ０の予測動きベクトルmvpL0を選択し、Ｌ０の動きベクトルmvL0の差分動きベクトルmvdL0を算出するとともに、図３の動きベクトル検出部１０２から供給されるＬ１の参照インデックスに対応したＬ１の予測動きベクトル候補で構成されるＬ１の予測動きベクトルリストmvpListL1を算出して、Ｌ１の予測動きベクトルmvpL1を算出し、Ｌ１の動きベクトルmvL1の差分動きベクトルmvdL1をそれぞれ算出する。
【０２０９】
ＬＸ（ＬＸはＬ０またはＬ１）の差分動きベクトルmvdLXを算出する場合（図３５のＳ３０２のＹＥＳ）、ＬＸの予測動きベクトルの候補を算出してＬＸの予測動きベクトルリストmvpListLXを構築する（図３５のＳ３０３）。差分動きベクトル算出部１０３の中の予測動きベクトル候補生成部１４１で複数の予測動きベクトルの候補を導出し、予測動きベクトル候補登録部１４２で予測動きベクトルリストmvpListLXに導出した予測動きベクトルの候補を登録し、予測動きベクトル冗長候補削除部１４３で不要な予測動きベクトルの候補を削除し、予測動きベクトル候補数制限部１４４で予測動きベクトルリストmvpListLXに登録されているＬＸの予測動きベクトル候補数numMVPCandLXが設定され、予測動きベクトルリストmvpListLXに登録されているＬＸの予測動きベクトル候補数numMVPCandLXを規定された２に制限することにより、予測動きベクトルリストmvpListLXを構築する。構築されたＬＸの予測動きベクトルリストmvpListLXは予測動きベクトル候補符号量算出部１４５、及び予測動きベクトル選択部１４６に供給される。ステップＳ３０３の詳細な処理手順については図３７のフローチャートを用いて後述する。
【０２１０】
続いて、予測動きベクトル候補符号量算出部１４５、及び予測動きベクトル選択部１４６により、ＬＸの予測動きベクトルリストmvpListLXからＬＸの予測動きベクトルmvpLXを選択する（図３５のＳ３０４）。まず、予測動きベクトル候補符号量算出部１４５で、動きベクトル検出部１０２で導出されたＬＸの動きベクトルmvLXと、予測動きベクトルリストmvpListLXの中に格納された各予測動きベクトルの候補mvpListLX[i]との差分であるそれぞれの差分動きベクトルを算出し、それら差分動きベクトルを符号化したときの符号量を予測動きベクトルリストmvpListLXの要素ごとに算出し、予測動きベクトル選択部１４６で、予測動きベクトルリストmvpListLXに登録された各要素の中で、予測動きベクトルの候補毎の符号量が最小となる予測動きベクトルの候補mvpListLX[i]を予測動きベクトルmvpLXとして選択する。選択された予測動きベクトルmvpLXを動きベクトル減算部１４７に供給する。さらに、その選択された予測動きベクトルmvpLXに対応する予測動きベクトルリスト中のインデックスiをＬＸの予測動きベクトルインデックスmvpIdxLXとして出力する。
【０２１１】
続いて、動きベクトル減算部１４７で、動きベクトル検出部１０２で導出されたＬＸの動きベクトルmvLXから予測動きベクトル選択部１４６で選択されたＬＸの予測動きベクトルmvpLXを減算することによりＬＸの差分動きベクトルmvdLXを算出し、出力する（図３５のＳ３０５）。
mvdLX = mvLX - mvpLX
【０２１２】
次に、図３６を参照して復号側の動きベクトル算出処理手順を説明する。復号側では、動きベクトル算出部２０４で、インター予測で用いる動きベクトルをＬ０，Ｌ１毎にそれぞれ算出する（図３６のＳ４０１〜Ｓ４０６）。具体的には、図４の第２符号化ビット列復号部２０２から供給される予測ブロックサイズのインター予測モードの参照インデックスに対応した予測動きベクトル候補を導出する。復号対象ブロックの予測モードPredModeがインター予測（MODE_INTER）で、復号対象ブロックのインター予測モードがＬ０予測（Pred_L0）の場合、図４の第２符号化ビット列復号部２０２から供給されるＬ０の参照インデックスに対応したＬ０の予測動きベクトル候補で構成されるＬ０の予測動きベクトルリストmvpListL0を導出して、予測動きベクトルmvpL0を選択し、Ｌ０の動きベクトルmvL0を算出する。復号対象ブロックのインター予測モードがＬ１予測（Pred_L1）の場合、図４の第２符号化ビット列復号部２０２から供給されるＬ１の参照インデックスに対応したＬ１の予測動きベクトル候補で構成されるＬ１の予測動きベクトルリストmvpListL1を導出して、予測動きベクトルmvpL1を選択し、Ｌ１の動きベクトルmvL1を算出する。
復号対象ブロックのインター予測モードが双予測（Pred_BI）の場合、Ｌ０予測とＬ１予測が共に行われ、図４の第２符号化ビット列復号部２０２から供給されるＬ０の参照インデックスに対応したＬ０予測動きベクトル候補で構成されるＬ０の予測動きベクトルリストmvpListL0を導出して、Ｌ０の予測動きベクトルmvpL0を選択し、Ｌ０の動きベクトルmvL0を算出するとともに、図４の第２符号化ビット列復号部２０２から供給されるＬ１の参照インデックスに対応したＬ１の予測動きベクトル候補で構成されるＬ１の予測動きベクトルリストmvpListL1を導出して、Ｌ１の予測動きベクトルmvpL1を算出し、Ｌ１の動きベクトルmvL1をそれぞれ算出する。
【０２１３】
ＬＸ（ＬＸはＬ０またはＬ１）の動きベクトルmvLXを算出する場合（図３６のＳ４０２のＹＥＳ）、ＬＸの予測動きベクトルの候補を算出してＬＸの予測動きベクトルリストmvpListLXを構築する（図３６のＳ４０３）。動きベクトル算出部２０４の中の予測動きベクトル候補生成部２４１で複数の予測動きベクトルの候補を導出し、予測動きベクトル候補登録部２４２で予測動きベクトルリストmvpListLXに導出した予測動きベクトルの候補を登録し、予測動きベクトル冗長候補削除部２４３で不要な予測動きベクトルの候補を削除し、予測動きベクトル候補数制限部２４４で予測動きベクトルリストmvpListLXに登録されているＬＸの予測動きベクトル候補数numMVPCandLXが設定され、予測動きベクトルリストmvpListLXに登録されているＬＸの予測動きベクトル候補数numMVPCandLXを規定された２に制限することにより、予測動きベクトルリストmvpListLXを構築する。構築されたＬＸの予測動きベクトルリストmvpListLXは予測動きベクトル選択部２４５に供給される。ステップＳ４０３の詳細な処理手順については図３７のフローチャートを用いて後述する。
【０２１４】
続いて、予測動きベクトル選択部２４５で予測動きベクトルリストmvpListLXから第２符号化ビット列復号部２０２にて復号されたＬＸの予測動きベクトルのインデックスmvpIdxLXに対応するＬＸの予測動きベクトルの候補mvpListLX[mvpIdxLX]を選択されたＬＸ予測動きベクトルmvpLXとして取り出し、動きベクトル加算部２４６に供給する（図３６のＳ４０４）。
【０２１５】
続いて、動きベクトル加算部２４６で第２符号化ビット列復号部２０２にて復号されて供給されるＬＸの差分動きベクトルmvdLXとＬＸの予測動きベクトルmvpLXを加算することによりＬＸの動きベクトルmvLXを算出し、出力する（図３６の図３６のＳ４０５）。
mvLX = mvpLX + mvdLX
【０２１６】
次に、図３５のステップＳ３０３、及び図３６のステップＳ４０３で共通の予測動きベクトルの候補の導出及び予測動きベクトルリスト構築処理手順を図３７のフローチャートを用いて詳細に説明する。
【０２１７】
図３７は動画像符号化装置の階層画像符号化部の差分動きベクトル算出部１０３の予測動きベクトル候補リスト構築部１２１及び動画像復号装置の階層画像復号部の動きベクトル算出部２０４の予測動きベクトル候補リスト構築部２２１とで共通する機能を有する予測動きベクトル候補生成部１４１及び２４１、予測動きベクトル候補登録部１４２及び２４２、ならびに予測動きベクトル冗長候補削除部１４３及び２４３、予測動きベクトル候補数制限部１４４及び２４４で実施される予測動きベクトル候補の導出処理及び予測動きベクトル候補リストの構築処理手順を表すフローチャートである。
【０２１８】
予測動きベクトル候補生成部１４１及び２４１はＬ０、Ｌ１毎に、空間的な予測動きベクトルmvLXA及びmvLXB、時間的な予測動きベクトルmvLXColを導出する。また、拡張階層では、参照階層を参照する予測動きベクトルmvLXILを導出する。この予測動きベクトル候補の算出に際しては、符号化情報格納メモリ１１５に格納されている符号化済みの予測ブロックの予測モード、参照リスト毎の参照インデックス、参照ピクチャのＰＯＣ、動きベクトル等の符号化情報を用いる。予測動きベクトル候補生成部１４１及び２４１は左側に近接する予測ブロックグループ（符号化対象の予測ブロックと同一ピクチャ内でその予測ブロックの左側に近接する予測ブロックグループ：図５のＡ０，Ａ１）から１つの予測動きベクトルの候補を導出し、左側に近接する予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXA、及び動きベクトルmvLXAを予測動きベクトル候補登録部１４２及び２４２に供給する（図３７のＳ５０１）。なお、Ｌ０のときＸは０、Ｌ１のときＸは１とする（以下同様）。続いて、予測動きベクトル候補生成部１４１及び２４１は上側に近接する予測ブロックグループ（符号化対象の予測ブロックと同一ピクチャ内でその予測ブロックの上側に近接する予測ブロックグループ：図５のＢ０，Ｂ１，Ｂ２）から１つの予測動きベクトルの候補を導出し、上側に近接する予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXB、及び動きベクトルmvLXBを予測動きベクトル候補登録部１４２及び２４２に供給する。（図３７のＳ５０２）。図３７のステップＳ５０１とＳ５０２の処理は参照する近接ブロックの位置と数が異なる点以外は共通であり、予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXN、及び動きベクトルmvLXN、参照インデックスrefIdxN、ListN（ＮはＡまたはＢ、以下同様）を導出する共通の導出処理手順を図３８〜図４２のフローチャートを用いて後ほど詳細に説明する。
【０２１９】
続いて、本実施の形態の動画像符号化装置の階層画像符号化部の差分動きベクトル算出部１０３の予測動きベクトル候補生成部１４１及び動画像復号装置の階層画像復号部の動きベクトル算出部２０４の予測動きベクトル候補生成部２４１では、ベース階層では、異なる時間のピクチャの符号化または復号に用いたインター予測情報を参照する時間予測動きベクトル候補を予測動きベクトル候補の１つとし、時間予測動きベクトル候補を導出するか否かをシーケンス単位、またはスライス単位で切り替える。拡張階層では、時間予測動きベクトル候補、または下位階層のピクチャの符号化または復号に用いたインター予測情報を参照する階層間予測動きベクトル候補のいずれか一方を予測動きベクトル候補の１つとし、時間予測動きベクトル候補を導出するか否かをシーケンス単位、またはスライス単位で切り替えると共に、階層間予測動きベクトル候補を導出するか否かをシーケンス単位、またはスライス単位で切り替える。
【０２２０】
後述するスライス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_temporal_mvp_enable_flagの値が１の場合、すなわち時間予測動きベクトル候補を生成する場合（図３７のＳ５０３のＹＥＳ）、予測動きベクトル候補生成部１４１及び２４１は異なる時間のピクチャの予測ブロックグループ（符号化対象の予測ブロックと時間的に異なるピクチャ内でその予測ブロックと同一位置あるいはその近傍の位置に存在する既に符号化済みの予測ブロックグループ：図９のＴ０，Ｔ１）から１つの予測動きベクトルの候補を導出し、異なる時間のピクチャの予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXCol、及び動きベクトルmvLXColを予測動きベクトル候補登録部１４２及び２４２に供給する。（図３７のＳ５０４）。このステップＳ５０４の導出処理手順を図４３のフローチャートを用いて後ほど詳細に説明する。
【０２２１】
なお、後述するスライス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_temporal_mvp_enable_flagの値が１でない場合（値が０の場合）、すなわち時間予測動きベクトル候補を生成しない場合（図３７のＳ５０３のＮＯ）、フラグavailableFlagLXColの値は０とする。
【０２２２】
一方、後述するスライス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_inter_layer_mvp_enable_flagの値が１の場合、すなわち拡張階層で階層間予測動きベクトル候補を生成する場合（図３７のＳ５０５のＹＥＳ）、予測動きベクトル候補生成部１４１及び２４１は下位階層のピクチャの予測ブロックグループ（参照階層（下位階層）のスケールされたピクチャ内で符号化または復号対象予測ブロックと同一位置あるいはその近傍の位置に存在する既に符号化済みの予測ブロックグループ：図３７のＬ０，Ｌ１）から１つの予測動きベクトルの候補を導出し、下位階層のピクチャの予測ブロックの予測動きベクトル候補が利用できるかどうかを示すフラグavailableFlagLXIL、及び動きベクトルmvLXILを予測動きベクトル候補登録部１４２及び２４２に供給する。（図３７のＳ５０６）。このステップＳ５０６の導出処理手順を図４２のフローチャートを用いて後ほど詳細に説明する。
【０２２３】
なお、ベース階層の符号化および復号の場合、またはスライス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_inter_layer_mvp_enable_flagの値が１でない（値が０の場合）、すなわち拡張階層で階層間予測動きベクトル候補を生成しない場合（図３７のＳ５０５のＮＯ）、フラグavailableFlagLXILの値は０とする。
【０２２４】
続いて、予測動きベクトル候補登録部１４２及び２４２は予測動きベクトルリストmvpListLXを作成し、供給されるＬＸのそれぞれの空間予測動きベクトルの候補mvLXA, mvLXB, 時間予測動きベクトルの候補mvLXCol, 階層間予測動きベクトルの候補mvLXILを予測動きベクトルリストmvpListLXに登録する（図３７のＳ５０７）。このステップＳ５０７の登録処理手順を図４６のフローチャートを用いて後ほど詳細に説明する。
【０２２５】
続いて、予測動きベクトル冗長候補削除部１４３及び２４３は予測動きベクトルリストmvpListLX内で、複数の動きベクトルの候補が同じ値または近い値を持っている場合に、冗長な動きベクトルの候補と判断し、最も小さい順序、即ち最も小さいインデックスiの動きベクトルの候補を除いて冗長な動きベクトルの候補を取り除く（図３７のＳ５０８）。このステップＳ５０８の削除処理手順を図４７のフローチャートを用いて後ほど詳細に説明する。
【０２２６】
続いて、予測動きベクトル候補数制限部１４４及び２４４は予測動きベクトルリストmvpListLX内に追加された要素の数をカウントし、その数がＬＸの予測動きベクトル候補数numMVPCandLXに設定され、予測動きベクトルリストmvpListLXに登録されているＬＸの予測動きベクトル候補数numMVPCandLXを規定された２に制限する。
（図３７のＳ５０９）。このステップＳ５０９の制限処理手順を図４８のフローチャートを用いて後ほど詳細に説明する。
【０２２７】
次に、図３７のステップＳ５０１、Ｓ５０２の左側または上側に近接する予測ブロックから予測動きベクトルの候補をそれぞれ導出する手順について詳細に説明する。
【０２２８】
図５、図６、図７、図８に示されるように、同一ピクチャ内の符号化ブロック内部を動き補償する為に定義される予測ブロック（図５、図６、図７、図８中の処理対象の予測ブロック）に近接する周囲の予測ブロックから予測動きベクトルの候補を導出する。
【０２２９】
予測動きベクトルの候補は、処理対象の予測ブロックの左側に近接する予測ブロックＡｋ（ｋ＝０，１）、すなわちＡ０、Ａ１から構成される予測ブロックグループＡ、上に近接する予測ブロックＢｋ（ｋ＝０，１，２）、すなわちＢ０、Ｂ１、Ｂ２から構成される予測ブロックグループＢからそれぞれ予測動きベクトルの候補を選出する。
【０２３０】
次に、図３７のステップＳ５０１およびＳ５０２の処理手順である左側および上側に近接する予測ブロックグループＮからの予測動きベクトルの候補の導出方法について説明する。図３８は図３７のステップＳ５０１およびＳ５０２の空間予測動きベクトル候補導出処理手順を示すフローチャートである。添え字Ｘには参照リストを表す０若しくは１、Ｎには近接する予測ブロックグループの領域を表すＡ（左側）またはＢ（上側）が入る。
【０２３１】
左側の予測ブロックから予測動きベクトルの候補を導出するには（図３７のＳ５０１）、図３８でＮがＡとして符号化または復号対象の予測ブロックの左側に近接するＡ０、Ａ１の予測ブロックから予測動きベクトルの候補を、上側の予測ブロックから予測動きベクトルの候補を導出するには（図３７のＳ５０２）、図３８でＮがＢとして上側に近接するＢ０、Ｂ１、Ｂ２予測ブロックから予測動きベクトルの候補を、それぞれ以下の手順で算出する。
【０２３２】
まず、符号化または復号対象の予測ブロックに近接する予測ブロックを特定し、それぞれの予測ブロックＮｋ（ｋ＝０，１，２、ただし２は上側の予測ブロックグループのみ）が利用できる場合は符号化情報格納メモリ１１５または符号化情報格納メモリ２１０に格納されている符号化情報を取得する。ここで取得する近接する予測ブロックＮｋの符号化情報は、予測モードPredMode、ＬＸを利用するかどうかを示すフラグpredFlagLX [xNk][yNk]、ＬＸの参照インデックスrefIdxLX [xNk][yNk]、ＬＸの動きベクトルmvLX [xNk][yNk]である。符号化または復号対象の予測ブロックの左側に近接する予測ブロックグループ（Ｎ＝Ａ）の場合（図３８のＳ６１０１のＹＥＳ）、左下に近接する予測ブロックＡ０、左に近接する予測ブロックＡ１を特定して符号化情報を取得し（図３８のＳ６１０２、Ｓ６１０３）、符号化または復号対象の予測ブロックの上側に近接する予測ブロックグループ（Ｎ＝Ｂ）の場合（図３８のＳ６１０１のＮＯ）、右上に近接する予測ブロックＢ０、上に近接する予測ブロックＢ１、左上に近接する予測ブロックＢ２を特定して符号化情報を取得する（図３８のＳ６１０４、Ｓ６１０５、Ｓ６１０６）。なお、近接する予測ブロックＮｋが符号化または復号対象予測ブロックを含むスライスの内側に位置する場合は利用でき、外側に位置する場合は利用できない。
【０２３３】
次に、予測ブロックグループＮから予測動きベクトルが選出されるか否かを示すフラグavailableFlagLXNを０、予測ブロックグループＮを代表する動きベクトルmvLXNを（０，０）に設定する（図３８のＳ６１０７）。
【０２３４】
続いて、下記の条件判定１または条件判定２に合致する予測動きベクトル候補を導出する（図３８のＳ６１０８）。
条件判定１：符号化または復号対象の予測ブロックの予測動きベクトル算出対象のＬＸの動きベクトルと同じ参照リストＬＸで、同じ参照インデックス、すなわち同じ参照ピクチャを用いた予測が近接予測ブロックでも行われている。
条件判定２：符号化または復号対象の予測ブロックの予測動きベクトル算出対象のＬＸの動きベクトルとは反対の参照リストＬＹ（Ｙ＝！Ｘ：現在導出対象としている動きベクトルの参照リストがＬ０のとき、反対の参照リストはＬ１、現在動きベクトルの導出対象としている参照リストがＬ１のとき、反対の参照リストはＬ０）であるが、同じ参照ピクチャを用いた予測が近接予測ブロックで行われている。
予測ブロックグループＮ（ＮはＡまたはＢ）の近接予測ブロックＮ０、Ｎ１、Ｎ２（Ｎ２は上側の近接予測ブロックグループＢのみ）の中で、符号化または復号対象予測ブロックの予測動きベクトルの予測動きベクトル算出対象のＬＸの動きベクトルと同じ参照ピクチャの動きベクトルを持つ予測ブロックを探してその動きベクトルを予測動きベクトル候補とする。
【０２３５】
図３９は図３８のステップＳ６１０８の空間予測動きベクトル候補導出処理手順を示すフローチャートである。近接する予測ブロックＮｋ（ｋ＝０，１，２、ただし、２は上側の近接予測ブロックグループのみ）に対して、ｋが０，１，２の順番にそれぞれ以下の処理を行う（図３９のＳ６２０１〜Ｓ６２０７）。Ｎが左側の近接予測ブロックグループを示すＡの場合下から上にＡ０，Ａ１の順序で、Ｎが上側の近接予測ブロックグループを示すＢの場合、右から左にＢ０，Ｂ１，Ｂ２の順序で、それぞれ以下の処理を行う。
【０２３６】
近接する予測ブロックＮｋが利用でき、予測ブロックＮｋの予測モードPredModeがイントラ（MODE_INTRA）でない場合（図３９のＳ６２０２のＹＥＳ）、前述の条件判定１の条件判定を行う（図３９のＳ６２０３）。近接する予測ブロックＮｋのＬＸを利用するどうかを示すフラグpredFlagLX [xNk][yNk]が１、即ち近接する予測ブロックＮｋが算出対象と同じＬＸの動きベクトルを用いてインター予測されており、近接する予測ブロックＮｋのＬＸの参照インデックスrefIdxLX[xNk][yNk]と処理対象の予測ブロックのインデックスrefIdxLXが同じ、即ち近接する予測ブロックＮｋがＬＸ予測で同じ参照ピクチャを用いてインター予測されている場合（図３９のＳ６２０３のＹＥＳ）、ステップＳ６２０４に進み、そうでない場合（図３９のＳ６２０３のＮＯ）、ステップＳ６２０５の条件判定を行う。
【０２３７】
ステップＳ６２０３がＹＥＳの場合、フラグavailableFlagLXNが１に設定され、予測ブロックグループＮの予測動きベクトルmvLXNが近接する予測ブロックＮｋのＬＸの動きベクトルmvLX[xNk][yNk]と同じ値に設定され、予測ブロックグループＮの参照インデックスrefIdxNが近接する予測ブロックＮｋのＬＸの参照インデックスrefIdxLX[xNk][yNk]と同じ値に設定され、予測ブロックグループＮの参照リストListNがＬＸに設定され（図３９のＳ６２０４）、本予測動きベクトル候補算出処理を終了する。
【０２３８】
一方、ステップＳ６２０３がＮＯの場合、前述の条件判定２の条件判定を行う（図３９のＳ６２０５）。近接する予測ブロックＮｋのＬＹを利用するどうかを示すフラグpredFlagLYが１、即ち近接する予測ブロックＮｋが算出対象と異なるＬＹの動きベクトルを用いてインター予測されており、近接する予測ブロックＮｋの現在対象としている参照リストＬＸと反対の参照リストＬＹの参照ピクチャのＰＯＣと処理対象の予測ブロックのＬＸの参照ピクチャのＰＯＣが同じ、即ち近接する予測ブロックＮｋがＬＹ予測で同じ参照ピクチャを用いてインター予測されている場合（図３９のＳ６２０５のＹＥＳ）、ステップＳ６２０６に進み、フラグavailableFlagLXNが１に設定され、予測ブロックグループＮの予測動きベクトルmvLXNが近接する予測ブロックＮｋのＬＹの動きベクトルmvLY[xNk][yNk]と同じ値に設定され、予測ブロックグループＮの参照インデックスrefIdxNが近接する予測ブロックＮｋのＬＹの参照インデックスrefIdxLY[xNk][yNk]と同じ値に設定され、予測ブロックグループＮの参照リストListNがＬＹに設定され（図３９のＳ６２０６）、本予測動きベクトル候補算出処理を終了する。
【０２３９】
これらの条件に合致しない場合、即ちステップＳ６２０３のＮＯ，またはステップＳ６２０５のＮＯの場合、ｋを１増加し、次の近接予測ブロックの処理（図３９のＳ６２０１〜Ｓ６２０７）を行い、availableFlagLXNが１になるか、近接ブロックＡ１またはＢ２の処理が終わるまで繰り返す。
【０２４０】
続いて、図３８のフローチャートに戻り、availableFlagLXNが０のとき（図３８のＳ６１０９のＹＥＳ）、即ちステップＳ６１０８で予測動きベクトルの候補が算出できなかった場合、下記の条件判定３または条件判定４に合致する予測動きベクトル候補を算出する（図３８のＳ６１１０）。
条件判定３：符号化または復号対象の予測ブロックの予測動きベクトル算出対象のＬＸの動きベクトルと同じ参照リストＬＸで、異なる参照ピクチャを用いた予測が近接予測ブロックで行われている。
条件判定４：符号化または復号対象の予測ブロックの予測動きベクトル算出対象のＬＸの動きベクトルとは異なる参照リストＬＹで、異なる参照ピクチャを用いた予測が近接予測ブロックで行われている。
予測ブロックグループＮ（ＮはＡまたはＢ）の近接ブロックＮ０、Ｎ１、Ｎ２（Ｎ２は上側の近接予測ブロックグループＢのみ）の中で、符号化または復号対象予測ブロックの予測動きベクトルの予測動きベクトル算出対象のＬＸの動きベクトルと異なる参照ピクチャの動きベクトルを持つ予測ブロックを探してその動きベクトルを予測動きベクトル候補とする。
【０２４１】
図４０は図３８のステップＳ６１１０の空間予測動きベクトル候補導出処理手順を示すフローチャートである。近接する予測ブロックＮｋ（ｋ＝０，１，２、ただし、２は上側の近接予測ブロックグループのみ）に対して、ｋが０，１，２の順番にそれぞれ以下の処理を行う（図４０のＳ６３０１〜Ｓ６３０７）。ＮがＡの場合下から上にＡ０，Ａ１の順序で、ＮがＢの場合、右から左にＢ０，Ｂ１，Ｂ２の順序で、それぞれ以下の処理を行う。
【０２４２】
近接する予測ブロックＮｋが利用でき、予測ブロックＮｋの予測モードPredModeがイントラ（MODE_INTRA）でない場合（図４０のＳ６３０２のＹＥＳ）、前述の条件判定３の条件判定を行う（図４０のＳ６３０３）。近接する予測ブロックＮｋのＬＸを利用するどうかを示すフラグpredFlagLX [xNk][yNk]が１、即ち近接する予測ブロックＮｋが算出対象と同じＬＸの動きベクトルを用いてインター予測されている場合、ステップＳ６３０４に進み、そうでない場合（図４０のＳ６３０３のＮＯ）、ステップＳ６３０５の条件判定を行う。
【０２４３】
ステップＳ６３０３がＹＥＳの場合、フラグavailableFlagLXNが１に設定され、予測ブロックグループＮのmvLXNが近接する予測ブロックＮｋのＬＸの動きベクトルmvLX[xNk][yNk]と同じ値に設定され、予測ブロックグループＮの参照インデックスrefIdxNが近接する予測ブロックＮｋのＬＸの参照インデックスrefIdxLX[xNk][yNk]と同じ値に設定され、予測ブロックグループＮの参照リストListNがＬＸに設定され（図４０のＳ６３０４）、ステップＳ６３０８に進む。
【０２４４】
ステップＳ６３０３がＮＯの場合、前述の条件判定４の条件判定を行う（図４０のＳ６３０５）。近接する予測ブロックＮｋのＬＹを利用するどうかを示すフラグpredFlagLYが１、即ち近接する予測ブロックＮｋが算出対象と異なるＬＹの動きベクトルを用いてインター予測されている場合（図４０のＳ６３０５のＹＥＳ）、フラグavailableFlagLXNが１に設定され、予測ブロックグループＮの予測動きベクトルmvLXNが近接する予測ブロックＮｋのＬＹの動きベクトルmvLY[xNk][yNk]と同じ値に設定され、予測ブロックグループＮの予測動きベクトルmvLXNが近接する予測ブロックＮｋのＬＹの動きベクトルmvLY[xNk][yNk]と同じ値に設定され、予測ブロックグループＮの参照インデックスrefIdxNが近接する予測ブロックＮｋのＬＹの参照インデックスrefIdxLY[xNk][yNk]と同じ値に設定され、予測ブロックグループＮの参照リストListNがＬＹに設定され（図４０のＳ６３０６）、ステップＳ６３０８に進む。
【０２４５】
一方、これらの条件に合致しない場合（図４０のＳ６３０３のＮＯ，またはＳ６３０５のＮＯの場合）、ｋを１増加し、次の近接予測ブロックの処理（図４０のＳ６３０１〜Ｓ６３０７）を行い、availableFlagLXNが１になるか、近接ブロックＡ１またはＢ２の処理が終わるまで繰り返し、ステップＳ６３０８に進む。
【０２４６】
続いて、availableFlagLXNが１のとき（図４０のＳ６３０８のＹＥＳ）、mvLXNをスケーリングする（図４０のＳ６３０９）。条件判定３または条件判定４の条件に合致した場合、該当する近接予測ブロックの動きベクトルは異なる参照ピクチャに対応するものであるので、スケーリングして予測動きベクトルの候補とする。このステップＳ６３０９の空間予測動きベクトル候補のスケーリング演算処理手順を図４１及び図４２を用いて説明する。
【０２４７】
図４１は図４０のステップＳ６３０９の動きベクトルのスケーリング演算処理手順を示すフローチャートである。
【０２４８】
現在の符号化または復号対象ピクチャのＰＯＣから、近接予測ブロックのリストListNが参照する参照ピクチャのＰＯＣを減算してピクチャ間距離ｔｄを算出する（図４０のＳ６４０１）。
なお、現在の符号化または復号対象ピクチャよりも近接予測ブロックのリストListNで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離ｔｄは正の値となり、現在の符号化または復号対象ピクチャよりも近接予測ブロックの参照リストListNで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離ｔｄは負の値となる。
ｔｄ＝現在の符号化または復号対象ピクチャのＰＯＣ−近接予測ブロックの参照リストListNで参照する参照ピクチャのＰＯＣ
【０２４９】
現在の符号化または復号対象ピクチャのＰＯＣから導出対象のＬＸの参照インデックスrefIdxLXに対応する参照ピクチャのＰＯＣを減算してピクチャ間距離ｔｂを算出する（図４０のＳ６４０２）。ここで、導出対象の参照インデックスrefIdxLXとは符号化または復号対象の予測ブロックのＬＸの参照インデックスである。なお、現在の符号化または復号対象ピクチャよりも現在の符号化または復号対象ピクチャの参照リストＬＸで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離ｔｂは正の値となり、現在の符号化または復号対象ピクチャのリストＬＸで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離ｔｂは負の値となる。
ｔｂ＝現在の符号化または復号対象ピクチャのＰＯＣ−導出対象のＬＸの参照インデックスに対応する参照ピクチャのＰＯＣ
【０２５０】
続いて、次式によりmvLXNにスケーリング係数ｔｂ／ｔｄを乗じることでスケーリング演算処理を行い（図４０のＳ６４０３）、スケーリングされた動きベクトルmvLXNを得る。
mvLXN＝ｔｂ／ｔｄ＊mvLXN
【０２５１】
また、ステップＳ６４０３の動きベクトルのスケーリング演算処理を整数精度の演算で行う場合の例を図４２に示す。図４２のステップＳ６４０４〜Ｓ６４０６の処理が、図４１のステップＳ６４０３の処理に相当する。
【０２５２】
まず、図４１のフローチャートと同様に、ピクチャ間距離ｔｄとピクチャ間距離ｔｂを算出する（図４０のＳ６４０１、Ｓ６４０２）。
【０２５３】
続いて、次式により変数ｔｘを算出する（図４０のＳ６４０４）。
tx = ( 16384 + ( Abs( td ) >> 1 ) ) / td
なお、Absは括弧内の引数の値の絶対値を表す。
【０２５４】
続いて、次式によりスケーリング係数distScaleFactorを算出する（図４０のＳ６４０５）。
distScaleFactor = Clip3( -4096, 4095, ( tb * tx + 32 ) >> 6 )
なお、Clip3は規定された第１の引数の最小値および第２の引数の最大値で第３の引数の値をクリッピングすることを表す。
【０２５５】
続いて、次式により、スケーリングされた動きベクトルmvLXNを得る（図４０のＳ６４０６）。
mvLXN =Clip3( -32768, 32767, Sign2( distScaleFactor * mvLXN ) *
( (Abs( distScaleFactor * mvLXN ) + 127 ) >> 8 ) )
なお、Sign2は括弧内の引数の値が0以上のとき1となり、0未満のとき-1となることを表す。
【０２５６】
次に、図３７のＳ５０４の異なる時間のピクチャの予測ブロックからの予測動きベクトルの候補の導出方法について詳細に説明する。図４３は図３７のステップＳ５０４の時間予測動きベクトル候補導出処理手順を説明するフローチャートである。
【０２５７】
まず、スライス単位でスライスヘッダに記述されるスライスタイプslice_typeと時間方向の予測動きベクトルの候補、またはマージ候補を導出する際に用いる異なる時間のピクチャcolPicが処理対象の予測ブロックが含まれるピクチャのＬ０の参照リスト或いはＬ１の参照リストのどちらに登録されている参照ピクチャを使用するかを示すフラグcollocated_from_l0_flagにより、異なる時間のピクチャcolPicを算出する（図４３のＳ７１０１）。ステップＳ７１０１の詳細な処理手順については図２０のフローチャートを用いて説明した手順により行う。
【０２５８】
続いて、異なる時間の予測ブロックcolPbを算出し、符号化情報を取得する（図４３のＳ７１０２）。ステップＳ７１０２の詳細な処理手順については図２１のフローチャートを用いて説明した手順により行う。
【０２５９】
続いて、符号化または復号対象の予測ブロックと同位置の他ピクチャの予測ブロックから算出されるＬＸの予測動きベクトルmvLXColと予測ブロックグループＣｏｌの参照リストＬＸの符号化情報が有効か否かを示すフラグavailableFlagLXColを算出する（図４３のＳ７１０３）。ステップＳ７１０３の詳細な処理手順については図２２のフローチャートを用いて説明した手順により行う。
【０２６０】
次に、図３７のステップＳ５０６の階層間予測動きベクトル候補の導出方法について詳細に説明する。図４４は図１７のステップＳ１０５の階層間予測動きベクトル候補導出処理手順を説明するフローチャートである。
【０２６１】
まず、参照階層のピクチャilPicを特定する（図４４のＳ３１０１）。本実施の形態においては、符号化または復号対象の拡張階層の下位の階層を参照階層とする。さらに、符号化または復号対象の拡張階層のピクチャと同じＰＯＣの値を持つ参照階層のピクチャを参照階層のピクチャilPicとする。ピクチャ単位、あるいはスライス単位で割り当てられた階層を特定するためのＩＤとＰＯＣにより、参照階層のピクチャilPicを特定する。
【０２６２】
続いて、参照階層を符号化または復号対象の拡張階層に対応するサイズ、位置にスケーリングした場合に符号化または復号対象の予測ブロックと同一位置あるいはその付近に存在する参照階層の予測ブロックilPbを導出し、予測ブロックilPbの符号化情報を取得する（図４４のＳ３１０２）。ステップＳ３１０２の詳細な処理手順については図２７のフローチャートを用いて詳細に説明した方法を用いる。
【０２６３】
続いて、参照階層を符号化または復号対象の拡張階層に対応するサイズ、位置にスケーリングした場合に符号化または復号対象の予測ブロックと同一位置あるいはその付近に存在する参照階層の予測ブロックilPbから導出される階層間予測動きベクトル候補ＩＬが有効か否かを示すフラグavailableFlagLXIL、階層間予測動きベクトル候補ＩＬの動きベクトルmvLXILを導出し（図４４のＳ３１０４）、本階層予測動きベクトル候補導出処理を終了する。ステップＳ３１０４の詳細な処理手順については図４５のフローチャートを用いて後ほど詳細に説明する。
【０２６４】
次に、図４４のステップＳ３１０４の参照階層の階層間予測動きベクトル候補ＩＬの導出処理手順について詳細に説明する。図４５は図４４のステップＳ３１０４の参照階層の階層間予測動きベクトル候補ＩＬの導出処理手順を説明するフローチャートである。
【０２６５】
参照階層の符号化情報格納メモリ１１５または２１０から参照階層の予測ブロックＩＬの符号化情報を取得する（図４５のステップＳ３３０１）。
【０２６６】
参照階層の予測ブロックilPbが利用できないか（図４５のステップＳ３３０２のＮＯ）、または参照階層の予測ブロックilPbの予測モードPredModeがイントラ予測（MODE_INTRA）である場合（図４５のステップＳ３３０３のＮＯ）、または導出対象のＬＸの参照インデックスrefIdxLXが参照階層の予測ブロックilPuのＬＸの参照インデックスと等しくない場合（図４５のステップＳ３３２１のＮＯ）、階層間マージ候補ＩＬのフラグavailableFlagLXILの値を０に設定し（図４５のステップＳ３３２２）、階層間マージ候補ＩＬの動きベクトルmvLXILの値を共に（０，０）に設定し（図４５のステップＳ３３２３）、本階層間マージ候補の導出処理を終了する。
【０２６７】
一方、参照階層の予測ブロックilPbが利用でき（図４５のステップＳ３３０２のＹＥＳ）、参照階層の予測ブロックilPbの予測モードPredModeがイントラ予測（MODE_INTRA）でなく（図４５のステップＳ３３０３のＹＥＳ）、導出対象のＬＸの参照インデックスrefIdxLXが参照階層の予測ブロックilPuのＬＸの参照インデックスと等しい場合（図４５のステップＳ３３２１のＹＥＳ）、参照階層の予測ブロックilPbのインター予測情報からＬＸの予測動きベクトルを導出する。階層間マージ候補ＩＬのフラグavailableFlagNの値を１に設定し（図４５のステップＳ３３２６）、階層間マージ候補ＩＬのＬＸの動きベクトルmvLXILを参照階層の予測ブロックilPbのＬＸの動きベクトル mvLX[xIL][yIL] と同じ値に設定する（図４５のステップＳ３３２７）。
【０２６８】
続いて、階層間予測動きベクトル候補のＬＸの動きベクトルmvLXILをスケーリングし（図４５のＳ３３３０）、本階層間予測動きベクトル候補導出処理を終了する。このＬＸ（ＬＸはＬ０またはＬ１）の動きベクトルmvLXILのスケーリング演算処理手順は図２９及び図３０を用いて説明した方法を用いる。
【０２６９】
なお、導出処理の簡略化のために、ステップＳ３３２１の条件判断を省略して、ステップＳ３３２６に進むこともできる。
【０２７０】
次に、図３７のステップＳ５０７の予測動きベクトルの候補を予測動きベクトルリストに追加する手順について詳細に説明する。
【０２７１】
図３７のステップＳ５０１、Ｓ５０２、Ｓ５０４、およびＳ５０６にて算出されたＬＸのそれぞれの予測動きベクトルの候補mvLXA, mvLXB, mvLXCol, mvLXILをＬＸの予測動きベクトルリストmvpListLXに追加する（図３７のＳ５０７）。本発明の実施の形態では、優先順位をつけて、優先順位の高いものからＬＸの予測動きベクトルリストmvpListLXに予測動きベクトルの候補mvLXA, mvLXB, mvLXIL, mvLXColの順序で登録することで、優先順位の高い要素を予測動きベクトルリストの前方に配置する。図３７のステップＳ５０９で予測動きベクトルリストの中の要素数を制限する際に、予測動きベクトルリストの後方に配置された要素を予測動きベクトルリストから外すことで、優先順位の高い要素を残す。
【０２７２】
予測動きベクトルリストmvpListLXはリスト構造を成し、予測動きベクトルリスト内部の所在を示すインデックスiで管理され、インデックスiに対応する予測動きベクトルの候補を要素として格納する記憶領域が設けられている。インデックスiの数字は０から開始され、予測動きベクトルリストmvpListLXの記憶領域に、予測動きベクトルの候補が格納される。以降の処理では、予測動きベクトルリストmvpListLXに登録されたインデックスiの要素である予測動きベクトルの候補は、mvpListLX[i]で表す。
【０２７３】
次に、図３７のステップＳ５０７のＬＸの予測動きベクトルリストmvpListLXへのＬＸの予測動きベクトルの候補mvLXA, mvLXB, mvLXIL, mvLXColの登録処理方法について詳細に説明する。図４６は図３７のステップＳ５０７の予測動きベクトル候補登録処理手順を示すフローチャートである。
【０２７４】
まず、予測動きベクトルリストmvpListLXのインデックスiを０に設定する（図４６のＳ９１０１）。availableFlagLXAが１の場合（図４６のＳ９１０２のＹＥＳ）、予測動きベクトルリストmvpListLXのインデックスiに対応する位置にＬＸの予測動きベクトル候補mvLXAを登録し（図４６のＳ９１０３）、インデックスiに1を加算することで更新する（図４６のＳ９１０４）。
【０２７５】
続いて、availableFlagLXBが１の場合（図４６のＳ９１０５のＹＥＳ）、予測動きベクトルリストmvpListLXmvpListLXのインデックスiに対応する位置にＬＸの予測動きベクトル候補mvLXBを登録し（図４６のＳ９１０６）、インデックスiに1を加算することで更新する（図４６のＳ９１０７）。
【０２７６】
一方、拡張階層において、階層間予測動きベクトル候補を導出する場合で、availableFlagLXILが１の場合（図４６のＳ９１０８のＹＥＳ）、予測動きベクトルリストmvpListLXのインデックスiに対応する位置にＬＸの予測動きベクトル候補mvLXILを登録し（図４６のＳ９１０９）、インデックスiに1を加算することで更新する（図４６のＳ９１１０）。
【０２７７】
続いて、時間予測動きベクトル候補を導出する場合で、availableFlagLXColが１の場合（図４６のＳ９１１１のＹＥＳ）、予測動きベクトルリストmvpListLXのインデックスiに対応する位置にＬＸの予測動きベクトル候補mvLXColを登録し（図４６のＳ９１１２）、インデックスiに1を加算することで更新して（図４６のＳ９１１３）、予測動きベクトルリストへの登録処理を終了する。
なお、時間予測動きベクトル候補と階層間予測動きベクトル候補のいずれか一方を予測動きベクトル候補の１つとする場合は、いずれか一方だけが予測動きベクトル候補リストに登録される。したがって、時間予測動きベクトル候補登録処理を行ってから（図４６のＳ９１１１〜Ｓ９１１３）、階層間予測動きベクトル候補登録処理を行うこともでき（図４６のＳ９１０８〜Ｓ９１１０）、同じ結果が得られる。
【０２７８】
次に、図３７のステップＳ５０８の予測動きベクトルリスト中の冗長な予測動きベクトルの候補の削除方法について詳細に説明する。図４７は図３７のステップＳ５０８の予測動きベクトル冗長候補削除処理手順を示すフローチャートである。
【０２７９】
予測動きベクトル冗長候補削除部１４３及び２４３は予測動きベクトルリストmvpListLXに登録されている予測動きベクトルの候補mvLXAとmvLXBを比較し、mvLXAとmvLXBが同一の場合に（図４７のＳ９２０１のＹＥＳ）、冗長な動きベクトルの候補mvLXBを取り除く（図４７のＳ９２０２）。なお、冗長な動きベクトルの候補mvLXBを取り除いた場合、mvListLX[1]が空白となるので、予測動きベクトルの候補mvLXColがmvListLX[2]に格納されている場合には、mvLXColをmvListLX[1]に格納し直す。なお、本実施の形態においては、空間予測動きベクトルの候補mvLXAとmvLXBだけを比較し、階層間予測動きベクトル候補、時間予測動きベクトル候補の比較は行わない。これは、空間予測動きベクトル候補同士は互いに同じ値の動きベクトル持つ可能性が高いが、空間予測動きベクトル候補と階層間予測動きベクトル候補、時間予測動きベクトル候補は互いに同じ値の動きベクトルを持つ可能性が高くなく、比較処理量を減少させるために階層間予測動きベクトル候補、時間予測動きベクトル候補の比較処理を省略しても、符号化効率に与える影響は低いからである。
【０２８０】
次に、図３７のステップＳ５０９の予測動きベクトルリスト中の動きベクトルの候補数の制限方法について詳細に説明する。図４８は図３７のステップＳ５０９の予測動きベクトル候補数制限処理手順を説明するフローチャートである。
【０２８１】
予測動きベクトル候補数制限部１４４及び予測動きベクトル候補数制限部２４４はＬＸの予測動きベクトルリストmvpListLXに登録されているＬＸの予測動きベクトル候補数numMVPCandLXを規定された２に制限する。
【０２８２】
まず、ＬＸの予測動きベクトルリストmvpListLXに登録されている要素数をカウントし、ＬＸの予測動きベクトル候補数numMVPCandLXに設定する（図４８のＳ９３０１）。
【０２８３】
続いて、ＬＸの予測動きベクトル候補数numMVPCandLXが２よりも小さい場合（図４８のＳ９３０２のＹＥＳ）、ＬＸの予測動きベクトルリストmvpListLXのインデックスiが numMVPCandLXに対応する位置に(0, 0)の値を持つ動きベクトルを登録し（図４８のＳ９３０３）、numMVPCandLXに1を加算する（図４８のＳ９３０４）。numMVPCandLXが２の場合（図４８のＳ９３０５のＹＥＳ）、本制限処理を終了し、numMVPCandLXが２になるまで（図４８のＳ９３０５のＮＯ）、ステップＳ９３０３とＳ９３０４の処理を繰り返す。すなわち、ＬＸの予測動きベクトル候補数numMVPCandLXが２に達するまで、(0, 0)の値を持つMVを登録する。
このように重複して(0, 0)の値を持つMVを登録することにより、予測動きベクトルインデックスが０以上２未満の範囲内でどのような値をとっても予測動きベクトルを確定することができる。
【０２８４】
一方、ＬＸの予測動きベクトル候補数numMVPCandLXが２よりも小さくない場合（図４８のＳ９３０２のＮＯ）、ＬＸの予測動きベクトルリストmvpListLXのインデックスiが１より大きいすべての予測動きベクトル候補を削除し（図４８のＳ９３０６）、numMVPCandLXに２を設定して（図４８のＳ９３０７）、本予測動きベクトル候補数制限処理を終了する。
【０２８５】
本実施の形態においては、予測動きベクトル候補数を２に規定している。なぜなら、予測動きベクトルリストに登録される予測動きベクトルの候補数が予測動きベクトルリストの構築状態に応じて変動すると、復号側では予測動きベクトルリストを構築してからでないと、予測動きベクトルインデックスをエントロピー復号することができないからである。さらに、エントロピー復号が異なる時間のピクチャの予測ブロックから導出された予測動きベクトル候補mvLXColを含む予測動きベクトルリストの構築状態に依存すると、別のピクチャの符号化ビット列の復号時にエラーが発生した際に現在のピクチャの符号化ビット列もその影響を受けて正常にエントロピー復号を続けることができない問題がある。予測動きベクトル候補数を固定した数に規定すると、予測動きベクトルリストの構築と独立して、予測動きベクトルインデックスをエントロピー復号することができるとともに、別のピクチャの符号化ビット列の復号時にエラーが発生してもその影響を受けずに現在のピクチャの符号化ビット列のエントロピー復号を続けることができる。
【０２８６】
本実施の形態においては、動符号化装置の階層画像符号化部のインター予測情報導出部１０４、および動画像復号装置の階層画像復号部のインター予測情報導出部２０５おいて、ベース階層では、異なる時間のピクチャの符号化または復号に用いたインター予測情報を参照する時間マージ候補をマージ候補の１つとし、時間マージ候補を導出するか否かをスライス単位、またはスライス単位で切り替え、拡張階層では、時間マージ候補、または参照階層（下位階層）のピクチャの符号化または復号に用いたインター予測情報を参照する階層間マージ候補のいずれか一方をマージ候補の１つとし、時間マージ候補を導出するか否かをシーケンス単位、またはスライス単位で切り替えると共に、階層間マージ候補を導出するか否かをシーケンス単位、またはスライス単位で切り替えるものとした。また、動符号化装置の階層画像符号化部の差分動きベクトル算出部１０３、および動画像復号装置の階層画像復号部の動きベクトル算出部２０４おいて、ベース階層では、異なる時間のピクチャの符号化または復号に用いたインター予測情報を参照して導出する時間予測動きベクトル候補を予測動きベクトル候補の１つとし、時間予測動きベクトル候補を導出するか否かをスライス単位、またはスライス単位で切り替え、拡張階層では、時間予測動きベクトル候補、または参照階層（下位階層）のピクチャの符号化または復号に用いたインター予測情報を参照する階層間予測動きベクトル候補のいずれか一方を予測動きベクトル候補の１つとし、時間予測動きベクトル候補を導出するか否かをスライス単位、またはスライス単位で切り替えると共に、階層間予測動きベクトル候補を導出するか否かをシーケンス単位、またはスライス単位で切り替えるものとした。
【０２８７】
拡張階層では、シーケンス単位、ピクチャ単位、またはスライス単位で時間マージ候補及び予測動きベクトル候補と、階層間マージ候補及び予測動きベクトル候補をそれぞれマージ候補及び予測動きベクトル候補とするか否かを切り替えるフラグを用意し、これらの単位で、時間マージ候補及び予測動きベクトル候補と階層間マージ候補及び予測動きベクトル候補をそれぞれマージ候補及び予測動きベクトル候補とするか否かを切り替える。
拡張階層では、シーケンス単位、ピクチャ単位、またはスライス単位で時間マージ候補及び予測動きベクトル候補と階層間マージ候補及び予測動きベクトル候補をそれぞれマージ候補及び予測動きベクトル候補とすることが可能か否かを切り替えるフラグを用意し、これらの単位で、時間マージ候補及び予測動きベクトル候補と階層間マージ候補及び予測動きベクトル候補をそれぞれマージ候補及び予測動きベクトル候補とすることが可能か否かを切り替え、それらよりも小さい単位で、時間マージ候補及び予測動きベクトル候補と、階層間マージ候補及び予測動きベクトル候補をそれぞれマージ候補及び予測動きベクトル候補とするか否かを切り替えるフラグを用意し、これらの単位で、時間マージ候補及び予測動きベクトル候補と階層間マージ候補及び予測動きベクトル候補をそれぞれマージ候補及び予測動きベクトル候補とするか否かを切り替えることもできる。
【０２８８】
符号化側において、シーケンス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能か否かをフラグsps_temporal_mvp_enable_flagにより切り替えるとともに、階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能か否かをフラグsps_inter_layer_mvp_enable_flagにより切り替え、スライス単位で、時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするか否かをフラグslice_temporal_mvp_enable_flagにより切り替えるとともに、階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするか否かをフラグslice_inter_layer_mvp_enable_flagにより切り替え、それぞれのフラグを符号化する方法について図４９のフローチャートを用いて説明する。これらのフラグは階層画像符号化部のヘッダ情報設定部１１７で設定し、第１符号化ビット列生成部１１８に供給されて、第１符号化ビット列生成部１１８でシーケンス単位及びスライス単位のシンタックス要素として符号化される。
【０２８９】
まず、シーケンス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能かどうかを示すフラグsps_temporal_mvp_enable_flag、およびスライス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能かどうかを示すフラグsps_inter_layer_mvp_enable_flag にそれぞれ値を設定する（図４９のＳ９４０１）。具体的には、シーケンス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることを可能にする場合、フラグsps_temporal_mvp_enable_flagに１を設定し、可能にしない場合、０を設定する。さらに、シーケンス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることを可能にする場合、フラグsps_inter_layer_mvp_enable_flagに１を設定し、可能にしない場合、０を設定する。
【０２９０】
続いて、シーケンス単位で、フラグsps_temporal_mvp_enable_flagをシンタックス要素として符号化する（図４９のＳ９４０２）。続いて、フラグsps_ inter_layer_mvp_enable_flagをシンタックス要素として符号化する（図４９のＳ９４０３）。
続いて、スライス単位の情報の符号化を行う（図４９のＳ９４０４〜Ｓ９４１３）。
【０２９１】
スライス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_temporal_mvp_enable_flag、およびスライス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするかどうかを示すフラグslice_inter_layer_mvp_enable_flag にそれぞれ値を設定する（図４９のＳ９４０５）。具体的には、スライス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とする場合、フラグslice_temporal_mvp_enable_flagに１を設定し、候補としない場合、０を設定する。さらに、シーケンス単位で階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とする場合、フラグslice_inter_layer_mvp_enable_flagに１を設定し、候補としない場合、０を設定する。なお、フラグsps_temporal_mvp_enable_flagの値に０を設定する場合、フラグslice_temporal_mvp_enable_flagの値は０に規定する。同様に、拡張階層において、フラグsps_inter_layer_mvp_enable_flagの値に０を設定する場合、フラグslice_nter_layer_mvp_enable_flagの値は０に規定する。また、拡張階層において、時間マージ候補及び予測動きベクトル候補、または階層間マージ候補及び予測動きベクトル候補のいずれか一方をマージ候補の１つにすると規定する場合、フラグslice_temporal_mvp_enable_flagを１に設定する場合は、フラグslice_inter_layer_mvp_enable_flagの値を０に規定し、また、フラグslice_ inter_layer_mvp_enable_flagの値に１を設定する場合は、フラグslice_temporal_mvp_enable_flagの値は０に規定する。また、図１２に示す、階層画像Ｍ（０）のピクチャＰ１２が符号化されない場合、階層画像Ｍ（１）のピクチャＰ２２の符号化及び復号の際には、参照階層のピクチャＰ１２を参照せずに符号化及び復号を行うので、フラグslice_inter_layer_mvp_enable_flagの値に０を設定する。
【０２９２】
続いて、フラグsps_temporal_mvp_enable_flagの値が１の場合（図４９のＳ９４０６のＹＥＳ）、フラグslice_temporal_mvp_enable_flagをシンタックス要素として符号化する（図４９のＳ９４０７）。
【０２９３】
続いて、フラグsps_inter_layer_mvp_enable_flagの値が１で、slice_temporal_mvp_enable_flagの値が１でない場合（図４９のＳ９４０９のＹＥＳ、Ｓ９４１０のＹＥＳ）、フラグslice_inter_layer_mvp_enable_flagをシンタックス要素として符号化する（図４９のＳ９４１１）。なお、ベース階層の符号化においては、下位階層を参照することはないので、ステップＳ９４０９〜Ｓ９４１１の処理を省略して、フラグslice_inter_layer_mvp_enable_flagの値を常に０とすることもできる。
【０２９４】
以上、ステップＳ９４０５からＳ９４１１までの処理をスライス毎に繰り返す（図４９のＳ９４０４〜Ｓ９４１３）。
【０２９５】
次に、復号側において、シーケンス単位で時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能か否かをフラグsps_temporal_mvp_enable_flagにより切り替えるとともに、階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能か否かをフラグsps_inter_layer_mvp_enable_flagにより切り替え、スライス単位で、時間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするか否かをフラグslice_temporal_mvp_enable_flagにより切り替えるとともに、階層間マージ候補及び予測動きベクトル候補をマージ候補及び予測動きベクトル候補とするか否かをフラグslice_inter_layer_mvp_enable_flagにより切り替える際のそれぞれのフラグの復号する方法について図５０のフローチャートを用いて説明する。これらのフラグは階層画像復号部の第１符号化ビット列復号部２１２でシーケンス単位及びスライス単位のシンタックス要素として復号される。
【０２９６】
まず、シーケンス単位で、フラグsps_temporal_mvp_enable_flagを復号する（図５０のＳ９５０２）。続いて、フラグsps_ inter_layer_mvp_enable_flagを復号する（図５０のＳ９５０３）。
続いて、スライス単位の情報の復号を行う（図５０のＳ９５０４〜Ｓ９５１３）。
【０２９７】
フラグsps_temporal_mvp_enable_flagの値が１の場合（図５０のＳ９５０６のＹＥＳ）、フラグslice_temporal_mvp_enable_flagを復号する（図５０のＳ９５０７）。
一方、フラグsps_temporal_mvp_enable_flagの値が１でない場合（値が０の場合）（図５０のＳ９５０６のＮＯ）、シーケンス単位で、時間マージ候補および動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能でないので、フラグslice_temporal_mvp_enable_flagにも０を設定する（図５０のＳ９５０８）。
【０２９８】
続いて、フラグsps_inter_layer_mvp_enable_flagの値が１で、slice_temporal_mvp_enable_flagの値が１でない場合（値が０の場合）（図５０のＳ９５０９のＹＥＳ、Ｓ９５１０のＹＥＳ）、フラグslice_inter_layer_mvp_enable_flagを復号する（図５０のＳ９５１１）。一方、フラグsps_ inter_layer_mvp_enable_flagの値が１でない場合（値が０の場合）（図５０のＳ９５０９のＮＯ）、シーケンス単位で、階層間マージ候補および動きベクトル候補をマージ候補及び予測動きベクトル候補とすることが可能でないので、スライス単位のフラグslice_inter_layer_mvp_enable_flagにも０を設定する（図５０のＳ９５１２）。あるいは、フラグsps_inter_layer_mvp_enable_flagの値が１で、slice_temporal_mvp_enable_flagの値が１の場合（図５０のＳ９５１０のＮＯ）、復号対象のスライスでは、時間マージ候補および動きベクトル候補をマージ候補及び予測動きベクトル候補とするので、階層間マージ候補および動きベクトル候補をマージ候補及び予測動きベクトル候補とせずに、フラグslice_inter_layer_mvp_enable_flagに０を設定する（図５０のＳ９５１２）。なお、ベース階層の符号化においては、下位階層を参照することはないので、ステップＳ９５０９〜Ｓ９５１２の処理を省略して、フラグslice_inter_layer_mvp_enable_flagの値を常に０とすることもできる。
【０２９９】
以上、ステップＳ９４０５からＳ９４１２までの処理をスライス毎に繰り返す（図５０のＳ９５０４〜Ｓ５４１３）。
【０３００】
なお、本実施の形態においては、ベース階層の符号化および復号において、階層間マージ候補及び予測動きベクトル候補を導出しない。したがって、ベース階層の符号化においては、フラグsps_inter_layer_mvp_enable_flag、slice_temporal_mvp_enable_flagを符号化しなくてもよい。同様に、ベース階層の復号においては、フラグsps_inter_layer_mvp_enable_flag、slice_temporal_mvp_enable_flagを復号しなくてもよい。フラグsps_inter_layer_mvp_enable_flag、slice_temporal_mvp_enable_flagの値は共に０と規定する。
【０３０１】
なお、拡張階層では、時間マージ候補及び予測動きベクトル候補の導出を行わず、拡張階層の導出に固定してもよい。このように規定することで、拡張階層の階層画像符号化部の時間マージ候補及び予測動きベクトル候補生成部１３２、及び階層画像復号部の時間マージ候補及び予測動きベクトル候補生成部２３２の実装を省略することができ、処理量を削減することができるとともに、階層画像符号化部の符号化情報格納メモリ１１５、および階層画像復号部の符号化情報格納メモリに異なる時間のピクチャの時間マージ候補及び予測動きベクトル候補導出用のインター予測情報を格納する必要がなくなり、メモリ量を削減することができる。この場合、拡張階層では、フラグsps_temporal_mvp_enable_flag及びフラグslice_temporal_mvp_enable_flagの値を０に規定する。
【０３０２】
また、拡張階層では、シーケンス単位、ピクチャ単位、またはスライス単位で時間マージ候補及び予測動きベクトル候補と階層間マージ候補及び予測動きベクトル候補を切り替えるためのフラグを用意し、時間マージ候補及び予測動きベクトル候補と階層間マージ候補及び予測動きベクトル候補を切り替えることもできる。
【０３０３】
また、拡張階層では、符号化ツリーブロック単位、符号化ブロック単位、予測ブロック単位で時間マージ候補及び予測動きベクトル候補と階層間マージ候補及び予測動きベクトル候補の導出を切り替えるためのフラグを用意し、このフラグに応じて切り替えることもできる。これらの場合、フラグslice_temporal_mvp_enable_flagとslice_inter_layer_mvp_enable_flagを共に１に設定することも可能とするものとし、図４９ステップＳ９４１０および図５０のステップＳ９５１０の条件判定を省略する。これらのブロック単位で適応的に切り替えることで、符号化側では処理量が増大するとともに、符号化側、復号側双方においてインター予測情報を記憶するメモリ量が増加するが、符号化効率を向上させることができる。
【０３０４】
また、拡張階層では、時間マージ候補及び予測動きベクトル候補と階層間マージ候補及び予測動きベクトル候補をともに候補とすることもできる。その場合、フラグslice_temporal_mvp_enable_flagとslice_inter_layer_mvp_enable_flagを共に１に設定することも可能とするものとし、符号化側では、図４９のステップＳ９４１０の条件判定を省略して、slice_inter_layer_mvp_enable_flagを符号化し（図４９のＳ９４１１）、図５０のステップＳ９５１０の条件判定を省略して、slice_inter_layer_mvp_enable_flagを復号する（図５０のＳ９５１１）。また、マージ候補をマージ候補リストに登録する際には図３１の手順で行うことができる。また、階層間マージ候補が利用できるかどうかを示すフラグavailableFlagILの値が１の場合、すなわち階層間マージ候補が利用できる場合は階層間マージ候補をマージ候補リストに登録し、フラグavailableFlagILの値が１でない場合（値が０の場合）、すなわち階層間マージ候補が利用できない場合は時間マージ候補をマージ候補リストに登録することもできる。符号化側復号側双方において、処理量が増大するとともに、符号化側、復号側双方においてインター予測情報を記憶するメモリ量が増加するが、マージ候補の選択の幅が広がり、符号化効率を向上させることができる。
【０３０５】
また、図１７のステップＳ１０６において、マージ候補をマージ候補リストに登録する際に、階層間マージ候補を先頭に登録することもできる。図５１は階層間マージ候補を先頭に登録する場合のマージ候補リストへのマージ候補の登録処理手順を示すフローチャートである。具体的には、複雑な動きの画像において発生頻度が高いと考えられる階層間マージ候補ＩＬを追加し、その後に、さらにマージ候補リストmergeCandListに空間マージ候補Ａ１、Ｂ１、Ｂ０、Ａ０、Ｂ２の順序で追加し、その後に、さらに、時間マージ候補Ｃｏｌを追加する。
【０３０６】
マージ候補リストmergeCandListはリスト構造を成し、マージ候補リスト内部の所在を示すマージインデックスと、インデックスに対応するマージ候補を要素として格納する記憶領域が設けられている。マージインデックスの数字は０から開始され、マージ候補リストmergeCandListの記憶領域に、マージ候補が格納される。以降の処理では、マージ候補リストmergeCandListに登録されたマージインデックスｉのマージ候補となる予測ブロックは、mergeCandList[i]で表すこととし、マージ候補リストmergeCandListとは配列表記をすることで区別することとする。
【０３０７】
まず、拡張階層において、階層間マージ候補を導出する場合で、availableFlagILが１の場合（図５１のＳ４１０１のＹＥＳ）、マージ候補リストmergeCandListの先頭にマージ候補ＩＬを登録する（図５１のＳ４１０２）。
続いて、availableFlagA1が１の場合（図５１のＳ４１０３のＹＥＳ）、マージ候補リストmergeCandListの登録されたマージ候補の後にマージ候補Ａ１を登録する（図５１のＳ４１０４）。
続いて、availableFlagB1が１の場合（図５１のＳ４１０５のＹＥＳ）、マージ候補リストmergeCandListの直前に登録されたマージ候補の後にマージ候補Ｂ１を登録する（図５１のＳ４１０６）。
続いて、availableFlagB0が１の場合（図５１のＳ４１０７のＹＥＳ）、マージ候補リストmergeCandListの直前に登録されたマージ候補の後にマージ候補Ｂ０を登録する（図５１のＳ４１０８）。
続いて、availableFlagA0が１の場合（図５１のＳ４１０９のＹＥＳ）、マージ候補リストmergeCandListの直前に登録されたマージ候補の後にマージ候補Ａ０を登録する（図５１のＳ４１１０）。
続いて、availableFlagB2が１の場合（図５１のＳ４１１１のＹＥＳ）、マージ候補リストmergeCandListの直前に登録されたマージ候補の後にマージ候補Ｂ２を登録する（図５１のＳ４１１２）。
続いて、時間マージ候補を導出する場合で、availableFlagColが１の場合（図５１のＳ４１１５のＹＥＳ）、マージ候補リストmergeCandListの直前に登録されたマージ候補の後にマージ候補Ｃｏｌを登録する（図５１のＳ４１１６）。
【０３０８】
本方式では、複雑な動きの画像においては、符号化または復号対象予測ブロックと同じ空間上の下位階層のインター予測情報は同じ動きをしている可能性が高いので階層間マージ候補を優先的にマージ候補リストの前方に登録する。
図１７のステップＳ１０６においては、図３１に示すマージ候補登録手順と図５１に示すマージ候補登録手順をシーケンス単位、ピクチャ単位、またはスライス単位で適応的に切り替えてもよい。さらにはツリーブロック単位、符号化ブロック単位、予測ブロック単位で切り替えてもよい。
【０３０９】
また、図２６のステップＳ３１０２において、まず、参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の右下（外側）に位置する予測ブロックを参照階層の予測ブロックilPbとし、予測ブロックilPbのインター予測情報が利用できない場合に、参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の中央に位置する予測ブロックを参照階層の予測ブロックilPbとしたが、まず、参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の中央に位置する予測ブロックを参照階層の予測ブロックilPbとし、予測ブロックilPbのインター予測情報が利用できない場合に、参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の右下（外側）に位置する予測ブロックを参照階層の予測ブロックilPbとしてもよい。
【０３１０】
図５２は図２６のステップＳ３１０２の参照階層のピクチャilPicの予測ブロックilPbの導出処理手順を説明するフローチャートである。まず、参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の中央に位置する予測ブロック（図１４の予測ブロックＬ１に相当）を参照階層の予測ブロックilPbとする（図５２のステップＳ３２０５）。図５２のステップＳ３２０５の詳細な処理手順については図２７のステップＳ３２０５で説明した方法を用いる。次に、参照階層の予測ブロックilPbの符号化情報を取得する（図５２のステップＳ３２０２）。参照階層の予測ブロックilPbのPredModeが利用できないか、参照階層の予測ブロックilPbの予測モードPredModeがイントラ予測（MODE_INTRA）である場合（図５２のステップＳ３２０３のＹＥＳ、ステップＳ３２０４のＹＥＳ）、参照階層の予測ブロックilPbのインター予測情報が利用できないので、参照階層のピクチャilPic内で処理対象の予測ブロックと同一位置の右下（外側）に位置する予測ブロック（図１４の予測ブロックＬ０に相当）を参照階層の予測ブロックilPbとする（図５２のステップＳ３２０１）。図５２のステップＳ３２０１の詳細な処理手順については図２７のステップＳ３２０１で説明した方法を用いる。なお、ステップＳ３２０５で導出される参照階層の予測ブロックilPbは符号化または復号対象予測ブロックに対応する予測ブロックであるため、その上位階層である符号化または復号対象予測ブロックでインター予測が行われる場合、ステップＳ３２０５で導出される参照階層の予測ブロックilPbでもインター予測が行われている可能性が高い。したがって、処理量を削減するためにステップＳ３２０２，Ｓ３２０３，Ｓ３２０４，Ｓ３２０１の処理を省略することもできる。
【０３１１】
以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
【０３１２】
動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
【０３１３】
動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
【０３１４】
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ＲＯＭ（リード・オンリ・メモリ）やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
【０３１５】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。例えば、本実施の形態の動画像符号化装置は同じ構成の階層画像符号化部を階層分だけ積み重ねた構成をとるものとして説明したが、この構成により階層ごとに並列に符号化処理を行ってもよいし、単独または階層数より少ない階層画像符号化部により下位階層のピクチャの符号化処理を行ってから上位階層のピクチャの符号化処理を行うことも可能である。同様に、動画像復号装置は同じ構成の階層画像復号部を階層分だけ積み重ねた構成をとるものとして説明したが、この構成により階層ごとに並列に復号処理を行ってもよいし、単独または階層数より少ない階層画像復号部により下位階層のピクチャの復号処理を行ってから上位階層のピクチャの復号処理を行うことも可能である。
【０３１６】
また、動画像符号化装置の階層画像符号化部は同じ構成であるものとして説明したが、ベース階層の階層画像符号化部は下位階層の符号化情報を利用せずに符号化するので、下位階層の符号化情報を利用する階層間マージ候補導出処理、および階層間予測動きベクトル導出処理、及びそれに伴う切り替えや登録処理等を省略した構成とすることも可能である。同様に、動画像復号装置の階層画像復号部は同じ構成であるものとして説明したが、ベース階層の階層画像復号部は下位階層の符号化情報を利用せずに復号するので、下位階層の符号化情報を利用する階層間マージ候補導出処理、および階層間予測動きベクトル導出処理、及びそれに伴う切り替えや登録処理等を省略した構成とすることも可能である。
【符号の説明】
【０３１７】
１１  符号化制御部、  １２  階層画像符号化部、  １３  階層画像符号化部、  １４  階層画像符号化部、  １５  多重化部、  ２１  復号制御部、  ２２  階層画像復号部、  ２３  階層画像復号部、  ２４  階層画像復号部、  ２５  分離部、  １０１  画像メモリ、  １０２  動きベクトル検出部、  １０３  差分動きベクトル算出部、  １０４  インター予測情報導出部、  １０５  インター予測部、  １０６  イントラ予測部、  １０７  予測方法決定部、  １０８  残差信号生成部、  １０９  直交変換・量子化部、  １１０  第２符号化ビット列生成部、  １１１  第３符号化ビット列生成部、  １１２  多重化部、  １１３  逆量子化・逆直交変換部、  １１４  復号画像信号重畳部、  １１５  符号化情報格納メモリ、  １１６  復号画像メモリ、  １１７  ヘッダ情報設定部、  １１８  第１符号化ビット列生成部、  １２０  構築部、  １２１  予測動きベクトル候補リスト構築部、  １３１  マージ候補生成部、  １３２  予測動きベクトル候補生成部、  １３３  時間マージ候補生成部、  １３４  マージ候補登録部、  １３５  追加マージ候補生成部、  １３６  インター予測情報選択部、  １４１  予測動きベクトル候補生成部、  １４２  予測動きベクトル候補登録部、  １４３  予測動きベクトル冗長候補削除部、  １４４  予測動きベクトル候補数制限部、  １４５  予測動きベクトル候補符号量算出部、  １４６  予測動きベクトル選択部、  １４７  動きベクトル減算部、  ２０１  分離部、  ２０２  第２符号化ビット列復号部、  ２０３  第３符号化ビット列復号部、  ２０４  動きベクトル算出部、  ２０５  インター予測情報導出部、  ２０６  インター予測部、  ２０７  イントラ予測部、  ２０８  逆量子化・逆直交変換部、  ２０９  復号画像信号重畳部、  ２１０  符号化情報格納メモリ、  ２１１  復号画像メモリ、  ２１２  第１符号化ビット列復号部、  ２２０  構築部、  ２２１  予測動きベクトル候補リスト構築部、  ２３１  マージ候補生成部、  ２３２  予測動きベクトル候補生成部、  ２３３  時間マージ候補生成部、  ２３４  マージ候補登録部、  ２３５  追加マージ候補生成部、  ２３６  インター予測情報選択部、  ２４１  予測動きベクトル候補生成部、  ２４２  予測動きベクトル候補登録部、  ２４３  予測動きベクトル冗長候補削除部、  ２４４  予測動きベクトル候補数制限部、  ２４５  予測動きベクトル選択部、  ２４６  動きベクトル加算部。
【図１】
2014072762.tif 000003
【図２】
2014072762.tif 000004
【図３】
2014072762.tif 000005
【図４】
2014072762.tif 000006
【図５】
2014072762.tif 000007
【図６】
2014072762.tif 000008
【図７】
2014072762.tif 000009
【図８】
2014072762.tif 000010
【図９】
2014072762.tif 000011
【図１０】
2014072762.tif 000012
【図１１】
2014072762.tif 000013
【図１２】
2014072762.tif 000014
【図１３】
2014072762.tif 000015
【図１４】
2014072762.tif 000016
【図１５】
2014072762.tif 000017
【図１６】
2014072762.tif 000018
【図１７】
2014072762.tif 000019
【図１８】
2014072762.tif 000020
【図１９】
2014072762.tif 000021
【図２０】
2014072762.tif 000022
【図２１】
2014072762.tif 000023
【図２２】
2014072762.tif 000024
【図２３】
2014072762.tif 000025
【図２４】
2014072762.tif 000026
【図２５】
2014072762.tif 000027
【図２６】
2014072762.tif 000028
【図２７】
2014072762.tif 000029
【図２８】
2014072762.tif 000030
【図２９】
2014072762.tif 000031
【図３０】
2014072762.tif 000032
【図３１】
2014072762.tif 000033
【図３２】
2014072762.tif 000034
【図３３】
2014072762.tif 000035
【図３４】
2014072762.tif 000036
【図３５】
2014072762.tif 000037
【図３６】
2014072762.tif 000038
【図３７】
2014072762.tif 000039
【図３８】
2014072762.tif 000040
【図３９】
2014072762.tif 000041
【図４０】
2014072762.tif 000042
【図４１】
2014072762.tif 000043
【図４２】
2014072762.tif 000044
【図４３】
2014072762.tif 000045
【図４４】
2014072762.tif 000046
【図４５】
2014072762.tif 000047
【図４６】
2014072762.tif 000048
【図４７】
2014072762.tif 000049
【図４８】
2014072762.tif 000050
【図４９】
2014072762.tif 000051
【図５０】
2014072762.tif 000052
【図５１】
2014072762.tif 000053
【図５２】
2014072762.tif 000054