(57)【要約】      （修正有）【課題】符号化効率の高い画像符号化及び画像復号化方法を提供する。【解決手段】符号化方法は、インター予測が適用された符号化済みの画素ブロックの中から、符号化対象ブロックに対し空間的に上方向および左方向に隣接する動き参照ブロックを選択する第１ステップと、前記符号化対象ブロックに適用する動き情報の候補を有する画素ブロックであって、互いに異なる動き情報を有する利用可能ブロックを、前記動き参照ブロックの中から選択する第２ステップと、前記利用可能ブロックの中から１つの選択ブロックを選択する第３ステップとを含む。前記選択ブロックの動き情報を使用して、前記符号化対象ブロックの予測画像を生成する第４ステップと、前記予測画像と原画像との間の予測誤差を符号化する第５ステップと、前記利用可能ブロックの数に応じて予め定められた符号表を参照して、前記選択ブロックを特定する選択情報を符号化する第６ステップとを含む。【選択図】図１
2014017848.tif 000002
【特許請求の範囲】
【請求項１】
復号化対象ブロックが特定のサイズではなく、かつ、第１の復号化モードが選択された場合に、ブロックが動き情報を有し、かつ、該動き情報が既に利用可能と判定されたブロックに対応する動き情報と一致しない利用可能ブロックを、復号化済みのブロックの中から選択するステップと、
前記復号化対象ブロックが前記特定のサイズではない場合のみ、前記利用可能ブロックの数に応じて予め定められた符号表を参照して、入力された復号化データを復号化することにより、選択ブロックを特定する選択情報と、前記第１の復号化モードまたは前記第１の復号化モードとは異なる第２の復号化モードのいずれを選択したかを示すフラグと、を得るステップと、
前記選択情報に従って、前記利用可能ブロックの中から選択ブロックを選択するステップと、
前記選択ブロックに対応する動き情報に基づいて、前記復号化対象ブロックの予測画像を生成するステップと、
を具備することを特徴とする画像復号化方法。
【請求項２】
復号化対象ブロックが特定のサイズではなく、かつ、第１の復号化モードが選択された場合に、ブロックが動き情報を有し、かつ、該動き情報が既に利用可能と判定されたブロックに対応する動き情報と一致しない利用可能ブロックを、復号化済みのブロックの中から選択する利用可能ブロック取得部と、
前記復号化対象ブロックが前記特定のサイズではない場合のみ、前記利用可能ブロックの数に応じて予め定められた符号表を参照して、入力された復号化データを復号化することにより、選択ブロックを特定する選択情報と、前記第１の復号化モードまたは前記第１の復号化モードとは異なる第２の復号化モードのいずれを選択したかを示すフラグと、を得る復号化部と、
前記選択情報に従って、前記利用可能ブロックの中から選択ブロックを選択する選択部と、
前記選択ブロックに対応する動き情報に基づいて、前記復号化対象ブロックの予測画像を生成する予測部と、
を具備することを特徴とする画像復号化方法。
【請求項３】
コンピュータを、
復号化対象ブロックが特定のサイズではなく、かつ、第１の復号化モードが選択された場合に、ブロックが動き情報を有し、かつ、該動き情報が既に利用可能と判定されたブロックに対応する動き情報と一致しない利用可能ブロックを、復号化済みのブロックの中から選択する手段と、
前記復号化対象ブロックが前記特定のサイズではない場合のみ、前記利用可能ブロックの数に応じて予め定められた符号表を参照して、入力された復号化データを復号化することにより、選択ブロックを特定する選択情報と、前記第１の復号化モードまたは前記第１の復号化モードとは異なる第２の復号化モードのいずれを選択したかを示すフラグと、を得る手段と、
前記選択情報に従って、前記利用可能ブロックの中から選択ブロックを選択する手段と、
前記選択ブロックに対応する動き情報に基づいて、前記復号化対象ブロックの予測画像を生成する手段として機能させるための画像復号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像符号化方法及び画像復号化方法に関する。
【背景技術】
【０００２】
近年、大幅に符号化効率を向上させた画像符号化方法が、ITU-TとISO/IECとの共同で、ITU-T Rec. H.264及びISO/IEC 14496-10（以下、H.264という）として勧告されている。H.264では、予測処理、変換処理及びエントロピー符号化処理は、矩形ブロック単位（例えば、１６×１６画素ブロック単位、８×８画素ブロック単位等）で行われる。予測処理においては、符号化対象の矩形ブロック（符号化対象ブロック）に対して、既に符号化済みのフレーム（参照フレーム）を参照して、時間方向の予測を行う動き補償が行われる。このような動き補償では、符号化対象ブロックと参照フレーム内において参照されるブロックとの空間的シフト情報としての動きベクトルを含む動き情報を符号化して復号化側に送る必要がある。さらに、複数の参照フレームを用いて動き補償を行う場合、動き情報とともに参照フレーム番号も符号化する必要がある。このため、動き情報及び参照フレーム番号に関する符号量が増大する場合がある。
【０００３】
動き補償予測において動きベクトルを求める方法の一例としては、既に符号化済みのブロックに割り当てられている動きベクトルから、符号化対象ブロックに割り当てるべき動きベクトルを導出し、導出した動きベクトルに基づいて予測画像を生成するダイレクトモードがある（特許文献１及び特許文献２参照）。ダイレクトモードでは、動きベクトルを符号化しないことから、動き情報の符号量を低減することができる。ダイレクトモードは、例えばH.264／AVCに採用されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０２０７８９号公報
【特許文献２】米国特許第７２３３６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ダイレクトモードでは、符号化対象ブロックに隣接する符号化済みのブロックの動きベクトルのメディアン値から動きベクトルを算出するという固定された方法で、符号化対象ブロックの動きベクトルを予測生成する。このため、動きベクトル算出の自由度が低い。
【０００６】
動きベクトル算出の自由度を上げるために、複数の符号化済みブロックの中から１つを選択して符号化対象ブロックに動きベクトルを割り当てる方法が提案されている。この方法では、選択した符号化済みのブロックを復号側が特定することができるように、選択したブロックを特定する情報を復号化側に送信する必要がある。従って、複数の符号化済みブロックの中から１つを選択して符号化対象ブロックに割り当てるべき動きベクトルを決定する場合、選択情報に関する符号量が増加される問題がある。
【０００７】
本実施形態は、上記問題点を解決するためになされたものであり、符号化効率の高い画像符号化及び画像復号化方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一実施形態に係る画像符号化方法は、インター予測が適用された符号化済みの画素ブロックの中から、符号化対象ブロックに対し空間的に上方向に隣接する動き参照ブロックと左方向に隣接する動き参照ブロックを選択する第１ステップと、前記符号化対象ブロックに適用する動き情報の候補を有する画素ブロックであって、互いに異なる動き情報を有する利用可能ブロックを、前記動き参照ブロックの中から選択する第２ステップと、前記利用可能ブロックの中から１つの選択ブロックを選択する第３ステップとを含む。この画像符号化方法は、前記選択ブロックの動き情報を使用して、前記符号化対象ブロックの予測画像を生成する第４ステップと、前記予測画像と原画像との間の予測誤差を符号化する第５ステップと、前記利用可能ブロックの数に応じて予め定められた符号表を参照して、前記選択ブロックを特定する選択情報を符号化する第６ステップとをさらに含む。
【０００９】
他の実施形態に係る画像復号化方法は、インター予測が適用された復号化済みの画素ブロックの中から、復号化対象ブロックに対し空間的に上方向に隣接する動き参照ブロックと左方向に隣接する動き参照ブロックを選択する第１ステップと、前記復号化対象ブロックに適用する動き情報の候補を有する画素ブロックであって、互いに異なる動き情報を有する利用可能ブロックを、前記動き参照ブロックの中から選択する第２ステップと、前記利用可能ブロックの中から１つの選択ブロックを選択する第３ステップとを含む。この画像復号化方法は、前記選択ブロックの動き情報を使用して、前記復号化対象ブロックの予測画像を生成する第４ステップと、前記予測画像と原画像との間の予測誤差を復号化する第５ステップと、前記利用可能ブロックの数に応じて予め定められた符号表を参照して、前記選択ブロックを特定する選択情報を復号化する第６ステップとをさらに含む。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る画像符号化装置を概略的に示すブロック図。
【図２Ａ】コーディングツリーユニットのサイズの一例を示す図。
【図２Ｂ】コーディングツリーユニットのサイズの他の例を示す図。
【図２Ｃ】コーディングツリーユニットのサイズのさらに他の例を示す図。
【図２Ｄ】コーディングツリーユニットのサイズのさらにまた他の例を示す図。
【図２Ｅ】コーディングツリーユニットのサイズのさらに他の例を示す図。
【図２Ｆ】コーディングツリーユニットのサイズのさらにまた他の例を示す図。
【図３Ａ】コーディングツリーユニットの一例を示す図。
【図３Ｂ】図３Ａのコーディングツリーユニットを四分木分割した様子を示す図。
【図３Ｃ】コーディングツリーユニットの他の例を示す図。
【図３Ｄ】図３Ｃのコーディングツリーユニットを四分木分割した様子を示す図。
【図４】画素ブロックの予測符号化順を説明する図。
【図５Ａ】プレディクションユニットの一例を示す図。
【図５Ｂ】プレディクションユニットの他の例を示す図。
【図５Ｃ】プレディクションユニットのさらに他の例を示す図。
【図５Ｄ】プレディクションユニットのさらにまた他の例を示す図。
【図５Ｅ】プレディクションユニットのさらに他の例を示す図。
【図５Ｆ】プレディクションユニットのさらにまた他の例を示す図。
【図５Ｇ】プレディクションユニットのさらに他の例を示す図。
【図５Ｈ】プレディクションユニットのさらにまた他の例を示す図。
【図５Ｉ】プレディクションユニットのさらに他の例を示す図。
【図６Ａ】図１に示した動き情報メモリの一例を示す図。
【図６Ｂ】図１に示した動き情報メモリの他の例を示す図。
【図７】図１に示した可変長符号化部をより詳細に示すブロック図。
【図８Ａ】図１の画像符号化装置によるインター予測処理の一例を説明する図。
【図８Ｂ】図１の画像符号化装置によるインター予測処理の他の例を説明する図。
【図９Ａ】動き参照ブロックの位置の一例を示す図。
【図９Ｂ】符号化対象ブロックに対する図９Ａの動き参照ブロックの相対位置を示す図。
【図９Ｃ】動き参照ブロックの位置の他の例を示す図。
【図９Ｄ】符号化対象ブロックに対する図９Ｃの動き参照ブロックの相対位置を示す図。
【図１０】図１に示した予測部をより詳細に示す図。
【図１１】図１０に示した第１予測部をより詳細に示す図。
【図１２】図１０に示した第２予測部をより詳細に示す図。
【図１３】図１０及び図１２に示した動き補償部による動き補償処理において利用可能な少数画素精度の補間処理を説明する図。
【図１４】図１に示した予測部の動作の一例を示すフローチャート。
【図１５】本実施形態に係るシンタクス構造を示す図。
【図１６】本実施形態に係るシーケンスパラメータセットシンクタスの一例を示す図。
【図１７】本実施形態に係るスライスヘッドシンクタスの一例を示す図。
【図１８】本実施形態に係るコーディングツリーユニットシンタクスの一例を示す図。
【図１９】本実施形態に係るプレディクションユニットシンタクスの一例を示す図。
【図２０】本実施形態に係るコーディングツリーユニットシンタクスの他の例を示す図。
【図２１】第２の実施形態に係るプレディクションユニットシンタクスの一例を示す図。
【図２２】第３の実施形態に係る画像復号化装置を概略的に示すブロック図。
【図２３】図２２に示した符号化列復号化部をより詳細に示すブロック図。
【図２４】図２２に示した予測部をより詳細に示すブロック図。
【図２５】図２４に示した第１予測部をより詳細に示すブロック図。
【図２６】図２４に示した第２予測部をより詳細に示すブロック図。
【発明を実施するための形態】
【００１１】
以下、必要に応じて図面を参照しながら、実施形態に係る画像符号化方法及び画像復号化方法を説明する。なお、以降の説明において、「画像」という用語は、「映像」「画素」「画像信号」、「画像データ」などの用語として適宜読み替えることができる。また、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
【００１２】
（第１の実施形態）  
図１は、第１の実施形態に係る画像符号化装置を概略的に示している。この画像符号化装置は、図１に示されるように、画像符号化部１００、符号化制御部１５０及び出力バッファ１１０を備えている。図１の画像符号化装置は、ＬＳＩチップなどのハードウェアにより実現されてもよく、或いは、コンピュータに画像符号化プログラムを実行させることにより実現されてもよい。
【００１３】
画像符号化部１００には、動画像又は静止画像の入力画像信号１０が、例えば原画像を分割した画素ブロック単位で、入力される。画像符号化部１００は、後に詳細に説明するように、入力画像信号１０を圧縮符号化して符号化データ１４を生成する。生成された符号化データ１４は、出力バッファ１１０に一時的に格納され、符号化制御部１５０が管理する出力タイミングで、図示しない蓄積系（蓄積メディア）又は伝送系（通信回線）へ送出される。
【００１４】
符号化制御部１５０は、発生符号量のフィードバック制御、量子化制御、予測モード制御及びエントロピー符号化制御といった画像符号化部１００の符号化処理全般を制御する。具体的には、符号化制御部１５０は、符号化制御情報５０を画像符号化部１００に与え、画像符号化部１００からフィードバック情報５１を適宜受け取る。符号化制御情報５０には、予測情報、動き情報１８及び量子化パラメータ情報などが含まれる。予測情報は、予測モード情報及びブロックサイズ情報を含む。動き情報１８は、動きベクトル、参照フレーム番号及び予測方向（単方向予測、双方向予測）を含む。量子化パラメータ情報は、量子化幅（量子化ステップサイズ）等の量子化パラメータ及び量子化マトリクスを含む。フィードバック情報５１は、画像符号化部１００による発生符号量を含み、例えば、量子化パラメータを決定するのに使用される。
【００１５】
画像符号化部１００は、画素ブロック（例えば、コーディングツリーユニット、マクロブロック、サブブロック、１画素など）を単位として入力画像信号１０を符号化する。このため、入力画像信号１０は、原画像を分割した画素ブロック単位で画像符号化部１００へ順次に入力される。本実施形態では、符号化の処理単位がコーディングツリーユニットである例を説明し、符号化の対象になっているコーディングツリーユニットを符号化対象ブロックと称する。
【００１６】
なお、符号化の処理単位は、コーディングツリーユニットの例に限らず、マクロブロック、サブブロック又は１画素であってもよく、以下の説明において、コーディングツリーユニットをマクロブロック、サブブロック又は１画素と読み替えることが可能である。また、本実施形態では、符号化対象ブロックを含む画像フレーム、即ち、符号化対象の画像フレームを符号化対象フレームと称す。
【００１７】
コーディングツリーユニットは、典型的には、図２Ａに示す１２８×１２８画素ブロック、図２Ｂに示す６４×６４画素ブロック、図２Ｃに示す３２×３２画素ブロック、図２Ｄに示す１６×１６画素ブロック、図２Ｅに示す８×８画素ブロック、又は図２Ｆに示す４×４画素ブロックである。
【００１８】
なお、コーディングツリーユニットは、図２Ａから図２Ｆに示される画素ブロックの例に限らず、１２８×１２８画素ブロックより大きい画素ブロックであってもよく、４×４画素ブロックより小さい画素ブロックであってもよい。また、コーディングツリーユニットの形状は、図２Ａから図２Ｆに示されるような正方形の例に限らず、３２×１６画素ブロックといった長方形状の画素ブロック（Ｎ×Ｍ画素ブロック）のように、任意形状に設定されてもよい。
【００１９】
図３Ａから図３Ｄは、コーディングツリーユニットの具体例を示している。図３Ａでは、６４画素×６４画素のコーディングツリーユニットＣＵ０が示されている。本実施形態では、コーディングツリーユニットのサイズを２Ｎ画素×２Ｎ画素と定義する。このＮは、基準となるコーディングツリーユニットのサイズを表す。図３ＡのコーディングツリーユニットＣＵ０では、Ｎ＝３２である。
【００２０】
コーディングツリーユニットＣＵ０は、四分木構造を持ち、Ｎ画素×Ｎ画素である４つの画素ブロックに分割することができる。コーディングツリーユニットが分割される場合、４つの画素ブロックに対してＺスキャン順でインデックスが付与される。図３Ｂに、図３Ａの６４×６４画素ブロックを四分木分割した例を示す。図３Ｂに示される０から３までの番号がＺスキャンの順番を表している。さらに、コーディングツリーユニットでは、四分木分割されて得られた画素ブロックを再帰的に四分木分割することが可能である。本実施形態では、分割の深さをＤｅｐｔｈで定義する。図３ＡのコーディングツリーユニットＣＵ０は、Ｄｅｐｔｈ＝０のコーディングツリーユニットである。
【００２１】
図３Ｃは、Ｄｅｐｔｈ＝１のコーディングツリーユニットＣＵ１を示す。このコーディングツリーユニットＣＵ１のサイズは、３２画素×３２画素（Ｎ＝１６）である。コーディングツリーユニットＣＵ１を四分木分割する場合、図３Ｄに示すように、１６画素×１６画素の４つの画素ブロックに分割される。同様に、Ｄｅｐｔｈ＝２のコーディングツリーユニット（図示しない）のサイズは、１６画素×１６画素（Ｎ＝８）であり、８画素×８画素の４つの画素ブロックに分割されることが可能である。このように分割の深さＤｅｐｔｈが大きくなるほど、コーディングツリーユニットのサイズが小さくなる。
【００２２】
このようなコーディングツリーユニットのうちの最も大きいユニットをラージコーディングツリーユニットと称し、この単位で入力画像信号１０が順次に入力されて符号化される。典型的な例では、ラージコーディングツリーユニットのサイズを６４画素×６４画素（Ｎ＝３２）、最小コーディングツリーユニットのサイズを８画素×８画素（Ｎ＝４）として、コーディングツリーユニットを再帰的に四分木分割する。ラージコーディングツリーユニットのサイズ及び最小コーディングツリーユニットのサイズは、ラージコーディングツリーユニットのサイズが最小コーディングツリーユニットのサイズ以上であるという条件を満たせば、任意のサイズであってもよい。また、ラージコーディングツリーユニットのサイズ及び最小コーディングツリーユニットのサイズは、シーケンス、ピクチャ、スライス、及びスライス内の領域毎に変更してもよい。また、Ｉスライス、Ｂスライス、Ｐスライスといったスライスタイプに応じて、ラージコーディングツリーユニット及び最小コーディングツリーユニットのサイズを適応的に切り替えてもよい。
【００２３】
なお、符号化対象フレーム内の各コーディングツリーユニットに対する符号化処理は、いかなる順序で実行されてもよい。本実施形態では、説明を簡単にするために、図４に示すように、符号化対象フレームの左上のコーディングツリーユニットから右下のコーディングツリーユニットに向かって一行毎に、即ち、ラスタスキャン順に符号化処理が実行されるものとする。
【００２４】
本実施形態の画像符号化部１００は、プレディクションユニットと称する画素ブロックを単位として、後述する予測処理を行うことができる。プレディクションユニットは、典型的には、コーディングツリーユニットと同一の画素ブロック、若しくはコーディングツリーユニットを分割した画素ブロックである。
【００２５】
なお、プレディクションユニットは、コーディングツリーユニットとは異なる形状の画素ブロックであってもよい。また、プレディクションユニットは、コーディングツリーユニットより大きいサイズの画素ブロックであってもよい。
【００２６】
図５Ａから図５Ｉは、プレディクションユニットの具体例をそれぞれ示している。図５Ａから図５Ｉでは、画素ブロックＰＵｘ（ｘ＝０，１，２，３）がプレディクションユニットを示す。図５Ａは、プレディクションユニットとコーディングツリーユニットが同一のサイズである例を示している。この場合、コーディングツリーユニット内には１つのプレディクションユニットＰＵ０が存在する。
【００２７】
図５Ｂから図５Ｉは、コーディングツリーユニット内に複数のプレディクションユニットが存在する例をそれぞれ示している。図５Ｂ及び図５Ｃでは、コーディングツリーユニット内に２つのプレディクションユニットＰＵ０、ＰＵ１が存在する。図５Ｂでは、プレディクションユニットＰＵ０、ＰＵ１は、コーディングツリーユニットを縦方向に２分割した画素ブロックであり、図５Ｃでは、プレディクションユニットＰＵ０、ＰＵ１はコーディングツリーユニットを横に２分割した画素ブロックである。図５Ｄは、プレディクションユニットがコーディングツリーユニットを４分割した画素ブロックである例を示している。
【００２８】
なお、図５Ｅ、図５Ｆ及び図５Ｇに示されるように、コーディングツリーユニット内に存在する複数のプレディクションユニットのブロックサイズが異なってもよい。また、プレディクションユニットは、図５Ｈ及び図５Ｉに示されるように、コーディングツリーユニットを任意の線分、若しくは円弧などの曲線で分割して得られる形状の画素ブロックであってもよい。
【００２９】
次に、図１に示した画像符号化部１００をより詳細に説明する。  
図１の画像符号化部１００は、予測部１０１、減算器１０２、変換・量子化部１０３、可変長符号化部１０４、逆量子化・逆変換部１０５、加算器１０６、フレームメモリ１０７、動き情報メモリ１０８及び利用可能ブロック取得部１０９を備えている。
【００３０】
画像符号化部１００において、入力画像信号１０は、予測部１０１及び減算器１０２に与えられる。減算器１０２は、入力画像信号１０を受け取るとともに、後述する予測部１０１から予測画像信号１１を受け取る。減算器１０２は、入力画像信号１０と予測画像信号１１との差分を算出して、予測誤差画像信号１２を生成する。
【００３１】
変換・量子化部１０３は、減算器１０２から予測誤差画像信号１２を受け取り、受け取った予測誤差画像信号１２に対して変換処理を施して、変換係数を生成する。変換処理は、例えば、離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）等の直交変換である。他の実施形態では、変換・量子化部１０３は、離散コサイン変換に代えて、ウェーブレット変換及び独立成分解析などの手法を利用して変換係数を生成してもよい。続いて、変換・量子化部１０３は、符号化制御部１５０によって与えられた量子化パラメータに基づいて、生成した変換係数を量子化する。量子化された変換係数（変換係数情報）１３は、可変長符号化部１０４及び逆量子化・逆変換部１０５へ送出される。
【００３２】
逆量子化・逆変換部１０５は、符号化制御部１５０によって与えられた量子化パラメータ、即ち、変換・量子化部１０３と同じ量子化パラメータに基づいて、量子化された変換係数１３を逆量子化する。続いて、逆量子化・逆変換部１０５は、逆量子化された変換係数に対して逆変換を施して、復号予測誤差信号１５を生成する。逆量子化・逆変換部１０５による逆変換処理は、変換・量子化部１０３による変換処理の逆変換処理に一致する。例えば、変換・量子化部１０３による変換処理がＤＣＴであれば、逆量子化・逆変換部１０５による逆変換処理は、逆離散コサイン変換（ＩＤＣＴ：Inverse Discrete Cosine Transform）であり、また、変換・量子化部１０３による変換処理がウェーブレット変換であれば、逆量子化・逆変換部１０５による逆変換処理は、逆ウェーブレット変換である。
【００３３】
加算器１０６は、逆量子化・逆変換部１０５から復号予測誤差信号１５を受け取り、さらに、予測部１０１から予測画像信号１１を受け取る。加算器１０６は、復号予測誤差信号１５と予測画像信号１１とを加算して、局所復号画像信号１６を生成する。生成された局所復号画像信号１６は、フレームメモリ１０７に参照画像信号１７として格納される。フレームメモリ１０７に格納されている参照画像信号１７は、その後の符号化対象ブロックを符号化する際に、予測部１０１によって読み出されて参照される。
【００３４】
予測部１０１は、フレームメモリ１０７から参照画像信号１７を受け取るとともに、後述する利用可能ブロック取得部１０９から利用可能ブロック情報２０を受け取る。さらに、予測部１０１は、後述する動き情報メモリ１０８から参照動き情報１９を受け取る。予測部１０１は、参照画像信号１７、参照動き情報１９及び利用可能ブロック情報２０に基づいて、予測画像信号１１、動き情報１８、選択ブロック情報２１及び予測切替情報２２を生成する。予測画像信号１１は、減算器１０２及び加算器１０６へ送出される。動き情報１８は、可変長符号化部１０４に送出されるとともに、その後の符号化対象ブロックに対する予測処理のために、動き情報メモリ１０８に格納される。また、選択ブロック情報２１及び予測切替情報２２は、可変長符号化部１０４へ送出される。予測部１０１については、後に詳細に説明する。
【００３５】
動き情報メモリ１０８には、動き情報１８が参照動き情報１９として一時的に格納される。図６Ａには、動き情報メモリ１０８の一例が示されている。図６Ａに示されるように、動き情報メモリ１０８には、参照動き情報１９がフレーム単位で保持されており、参照動き情報１９が動き情報フレーム２５を形成している。図６Ａには、符号化対象フレームの動き情報フレーム２５の一例が示されており、符号化済みのコーディングツリーユニット及びプレディクションユニットの動き情報１８が参照動き情報１９として格納されている。
【００３６】
また、図６Ｂは、動き情報メモリ１０８の他の例を示している。図６Ｂでは、符号化対象ブロックに隣接する画素ブロックの参照動き情報１９のみが保持されている。このように符号化対象ブロックに隣接する画素ブロックの参照動き情報１９のみを保持する場合、図６Ａに示すような全ての符号化済みの画素ブロックの参照動き情報１９を保持する場合より少ないメモリ量で済む。
【００３７】
参照動き情報１９は、所定の領域単位（例えば、４×４画素ブロック単位）で動き情報フレーム２５内に保持される。参照動き情報１９は、その領域が後述するインター予測で符号化されたのか或いは後述するイントラ予測で符号化されたのかを示す情報をさらに有する。また、コーディングツリーユニット（又はプレディクションユニット）がＨ．２６４で規定されるスキップモード、ダイレクトモードのように、動きベクトルの値が符号化されず、符号化済みの領域から予測された動き情報を用いてインター予測される場合においても、当該コーディングツリーユニット（又はプレディクションユニット）の動き情報が参照動き情報１９として保持される。
【００３８】
なお、動き情報メモリ１０８は、４×４画素ブロック単位で参照動き情報１９を保持する例に限らず、他の画素ブロック単位で参照動き情報１９を保持してもよい。例えば、参照動き情報１９を保持する画素ブロック単位は、１画素であってもよく、２×２画素ブロックであってもよい。また、参照動き情報１９を保持する画素ブロックの形状は、正方形状の例に限らず、任意形状とすることができる。
【００３９】
図１の可変長符号化部１０４は、変換・量子化部１０３から変換係数情報１３を受け取り、予測部１０１から動き情報１８、選択ブロック情報２１及び予測切替情報２２を受け取り、符号化制御部１５０から予測情報及び量子化パラメータなどの符号化パラメータを受け取り、さらに、利用可能ブロック取得部１０９から利用可能ブロック情報２０を受け取る。可変長符号化部１０４は、変換係数情報１３、動き情報１８、選択ブロック情報２１、予測切替情報２２、及び符号化パラメータをそれぞれエントロピー符号化（例えば、等長符号化、ハフマン符号化又は算術符号化など）し、これらを多重化して符号化データ１４を生成する。
【００４０】
具体的には、可変長符号化部１０４は、図７に示すように、パラメータ符号化部７０１、変換係数符号化部７０２、選択ブロック情報・予測切替情報符号化部７０３、動き情報符号化部７０４、並びに多重化部７０５を備える。パラメータ符号化部７０１は、符号化制御部１５０から受け取った符号化パラメータを符号化して符号化データ１４Ａを生成する。変換係数符号化部７０２は、変換・量子化部１０３から受け取った変換係数情報１３を符号化して符号化データ１４Ｂを生成する。
【００４１】
さらに、選択ブロック情報・予測切替情報符号化部７０３は、利用可能ブロック取得部１０９から受け取った利用可能ブロック情報２０に基づいて、予測部１０１から受け取った選択ブロック情報２１及び予測切替情報２２を符号化して符号化データ１４Ｃを生成する。動き情報符号化部７０４は、予測部１０１から受け取った予測切替情報２２に基づいて、予測部１０１から受け取った動き情報１８を符号化して符号化データ１４Ｄを生成する。
【００４２】
多重化部７０５は、符号化データ１４Ａ、１４Ｂ、１４Ｃ、１４Ｄを多重化して符号化データ１４を生成する。生成された符号化データ１４は、選択ブロック情報２１、予測切替情報２２及び予測情報とともに、変換係数に関する情報、量子化に関する情報などの復号の際に必要になるあらゆるパラメータを含む。符号化データ１４は、出力バッファ１１０に一時的に格納され、その後に図示しない蓄積系又は伝送系へ送出される。
【００４３】
なお、予測処理を後述する第１予測部１００１（図１０に示される）が実行する場合には、動き情報符号化部７０４は使用されない。また、予測処理を後述する第２予測部１００２（図１０に示される）が実行する場合には、選択ブロック情報・予測切替情報符号化部７０３は使用されない。
【００４４】
次に、画像符号化部１００の予測処理について説明する。  
図１の画像符号化部１００には、複数の予測モードが用意されており、各予測モードでは、予測画像信号１１の生成方法及び動き補償ブロックサイズが互いに異なる。予測部１０１が予測画像信号１１を生成する方法としては、具体的には大きく分けて、符号化対象フレーム（又は、フィールド）の参照画像信号１７を用いて予測画像を生成するイントラ予測（フレーム内予測）と、１以上の符号化済みの参照フレーム（又は、参照フィールド）の参照画像信号１７を用いて予測画像を生成するインター予測（フレーム間予測）とがある。予測部１０１は、イントラ予測及びインター予測を選択的に切り替えて、符号化対象ブロックの予測画像信号１１を生成する。
【００４５】
図８Ａは、インター予測の一例を示している。インター予測は、典型的にはプレディクションユニットの単位で実行され、プレディクションユニット単位で異なる動き情報１８を有することが可能となる。インター予測では、図８Ａに示されるように、既に符号化が完了している参照フレーム（例えば、１フレーム前の符号化済みフレーム）内の画素ブロックであって、符号化対象のプレディクションユニットと同じ位置のブロック２３から、動き情報１８に含まれる動きベクトルに応じて空間的にシフトした位置のブロック２４の参照画像信号１７を使用して、予測画像信号１１が生成される。即ち、予測画像信号１１の生成では、符号化対象ブロックの位置（座標）及び動き情報１８に含まれる動きベクトルで特定される、参照フレーム内のブロック２４の参照画像信号１７が使用される。
【００４６】
インター予測では、少数画素精度（例えば、１／２画素精度又は１／４画素精度）の動き補償が可能であり、参照画像信号１７に対してフィルタリング処理を行うことによって、補間画素の値が生成される。例えば、Ｈ．２６４では、輝度信号に対して１／４画素精度までの補間処理が可能である。１／４画素精度の動き補償を行う場合、動き情報１８の情報量は、整数画素精度の４倍となる。当該補間処理は、Ｈ．２６４で規定されるフィルタリングの他に、任意のフィルタリングを用いることにより実行可能である。
【００４７】
なお、インター予測では、図８Ａに示されるような１フレーム前の参照フレームを使用する例に限らず、図８Ｂに示されるように、いずれの符号化済みの参照フレームが使用されてもよい。時間位置が異なる複数の参照フレームの参照画像信号１７が保持されている場合、どの時間位置の参照画像信号１７から予測画像信号１１を生成したかを示す情報は、参照フレーム番号で表される。参照フレーム番号は、動き情報１８に含まれる。参照フレーム番号は、領域単位（ピクチャ、ブロック単位など）で変更することができる。即ち、プレディクションユニット毎に異なる参照フレームが使用されることができる。一例として、符号化済みの１フレーム前の参照フレームを予測に使用した場合、この領域の参照フレーム番号は、０に設定され、符号化済みの２フレーム前の参照フレームを予測に使用した場合、この領域の参照フレーム番号は、１に設定される。他の例として、１フレーム分だけの参照画像信号１７がフレームメモリ１０７に保持されている（保持されている参照フレームの数が１つのみである）場合、参照フレーム番号は、常に０に設定される。
【００４８】
さらに、インター予測では、予め用意される複数のプレディクションユニットのサイズの中から符号化対象ブロックに適したサイズを選択して用いることができる。例えば、図５Ａから図５Ｉに示されるようなコーディングツリーユニットを分割して得られるプレディクションユニット毎に動き補償を行うことが可能である。
【００４９】
前述したように、インター予測に使用する符号化対象フレーム内の符号化済みの画素ブロック（例えば、４×４画素ブロック）の動き情報１８は参照動き情報１９として保持されているので、入力画像信号１０の局所的な性質に従って、最適な動き補償ブロックの形状及び動きベクトル、参照フレーム番号を利用することができる。また、コーディングツリーユニット及びプレディクションユニットは任意に組み合わせることができる。コーディングツリーユニットが６４×６４画素ブロックである場合、６４×６４画素ブロックを分割した４つのコーディングツリーユニット（３２×３２画素ブロック）の各々に対して、さらにコーディングツリーユニットを４つに分割することで階層的に６４×６４画素ブロックから１６×１６画素ブロックを利用することができる。同様にして、階層的に６４×６４画素ブロックから８×８画素ブロックを利用することができる。ここで、プレディクションユニットがコーディングツリーユニットを４つに分割したものであるとすれば、６４×６４画素ブロックから４×４画素ブロックまでの階層的な動き補償処理を実行することが可能となる。
【００５０】
次に、動き参照ブロック及び利用可能ブロックについて説明する。
【００５１】
動き参照ブロックは、図１の画像符号化装置及び後述する画像復号化装置の両方によって取り決められた方法に従って、符号化対象フレーム及び参照フレーム内の符号化済みのブロックの中から選択される。本実施形態では、図９Ａに示すように、符号化対象フレームの符号化済みのブロックの中から、符号化対象ブロックＸに対して左方向に隣接する符号化済みのブロックＡ、及び上方向に隣接する符号化済みのブロックＢが動き参照ブロックとして選択される。これらのブロックＡ及びブロックＢは、符号化対象ブロック内の左上画素から、図９Ｂに示す相対位置で特定される画素ａ、ｂがそれぞれ属するブロックである。即ち、ブロックＡは、符号化対象ブロック内の左上画素と左方向に隣接する画素ａを含むブロックであり、ブロックＢは、符号化対象ブロック内の左上画素と上方向に隣接する画素ｂを含むブロックである。
【００５２】
利用可能ブロックは、利用可能ブロック取得部１０９によって動き参照ブロックの中から選定される。利用可能ブロックは、動き参照ブロックのうちのインター予測が適用されたブロックである。ただし、インター予測が適用され且つ同じ動き情報を有する動き参照ブロックが複数存在する場合、これらの動き参照ブロックのうちの１つが利用可能ブロックとして選定される。これにより、複数の利用可能ブロックが選定された場合、これらの利用可能ブロックは、互いに異なる動きベクトルを有することになる。
【００５３】
利用可能ブロック取得部１０９は、動き参照ブロックの中から利用可能ブロックを選定すると、選択した利用可能ブロックを示す利用可能ブロック情報２０を出力する。一例として、図９Ａに示されるように動き参照ブロックが符号化対象ブロックに隣接するブロックＡ及びブロックＢである場合、利用可能ブロック取得部１０９は、ブロックＡ及びブロックＢの参照動き情報１９を参照してブロックＡ及びブロックＢが利用可能ブロックであるか否かを判定し、判定結果を示す利用可能ブロック情報２０を出力する。
【００５４】
なお、動き参照ブロックの数は、図９Ａに示される２つの例に限らず、３以上であってもよい。一例として、動き参照ブロックとしては、図９Ｃに示すように、ブロックＡ及びブロックＢ以外の符号化済みの隣接ブロックＣ及びＤが用いられる。図９Ｄには、符号化対象ブロックＸ内の左上画素と、図９ＤのブロックＡ、Ｂ、Ｃ、Ｄにそれぞれ含まれる画素ａ、ｂ、ｃ、ｄの相対位置の一例が示されている。ここでは、符号化対象ブロックは、Ｎ×Ｎ画素ブロックであるとして示されている。ブロックＣは、符号化対象ブロックＸの内の左上画素から右方向にＮ画素且つ上方向に１画素だけシフトした位置の画素ｃを含み、ブロックＤは、符号化対象ブロックＸの内の左上画素から左方向に１画素且つ上方向に１画素だけシフトした位置の画素ｄを含む。本実施形態では、図９Ａに示されるような符号化対象ブロックに隣接するブロックＡ及びブロックＢが動き参照ブロックとして選択される例を説明する。
【００５５】
次に、本実施形態の予測部１０１について詳細に説明する。  
予測部１０１は、図１０に示すように、第１予測部１００１、第２予測部１００２及び予測方法切替スイッチ１００３を備えている。予測部１０１は、これら第１予測部１００１及び第２予測部１００２を選択的に切り替えて予測画像信号１１を生成する。
【００５６】
第１予測部１００１は、第１予測方式に従って予測画像信号１１Ａを生成する。具体的には、第１予測部１００１は、利用可能ブロック情報２０により示される利用可能ブロックの中から予測に用いるブロック（選択ブロック）を選択し、選択ブロックの参照動き情報１９を用いて予測画像信号１１Ａを生成する。また、第１予測部１００１は、選択ブロックに関する情報（選択ブロック情報）２１を出力する。選択ブロック情報（選択情報ともいう）２１は、利用可能ブロックの数及び選択ブロックを識別するための情報を含む。選択ブロック情報２１は、利用可能ブロック情報２０により示される利用可能ブロックの数に応じて予め定められた符号表を用いて、選択ブロック情報・予測切替情報符号化部７０３によって符号化される。
【００５７】
図１１は、第１予測部１００１をより詳細に示している。第１予測部１００１は、図１１に示されるように、動き情報選択部１１０１及び動き補償部１１０４を備えている。第１予測部１００１は、利用可能ブロック情報２０、参照動き情報１９及び参照画像信号１７を入力として、予測画像信号１１Ａ、動き情報１８及び選択ブロック情報２１を出力する。
【００５８】
図１１に示されるように、動き情報選択部１１０１は、動き情報取得部１１０２及び動き情報切替スイッチ１１０３を備えている。動き情報取得部１１０２には、利用可能ブロック情報２０、及び動き参照ブロックの参照動き情報１９が与えられる。動き情報取得部１１０２は、動き参照ブロックＡの参照動き情報１９及び利用可能ブロック情報２０を含む動き情報１８Ａ、及び動き参照ブロックＢの参照動き情報１９及び利用可能ブロック情報２０を含む動き情報１８Ｂを生成する。本実施形態では、図９Ａに示されるように、動き参照ブロックＡは、符号化対象ブロックに空間的に左方向に隣接するブロックであり、即ち、符号化対象フレームにおいて符号化対象ブロックの左方向に隣接するブロックである。また、動き参照ブロックＢは、符号化対象ブロックに空間的に上方向に隣接するブロックであり、即ち、符号化対象フレームにおいて符号化対象ブロックの上方向に隣接するブロックである。
【００５９】
動き情報取得部１１０２は、利用可能ブロックの数に一致する数だけ動き情報を出力する。本実施形態のように２つの動き参照ブロックＡ及びＢが設定される場合、最大で２つの動き情報が出力される。例えば、動き参照ブロックＡ及びＢの両方が利用可能ブロックとして選定されれば、動き情報１８Ａ及び１８Ｂが出力され、動き参照ブロックＡ及びＢの両方とも利用可能ブロックとして選定されなければ動き情報は出力されない。また、図９Ｃに示されるように動き参照ブロックが４つ設定される場合、利用可能ブロックの数に応じて最大４つの動き情報が出力される。
【００６０】
動き情報切替スイッチ１１０３は、利用可能ブロックの中から１つの選択ブロックを選択することにより、動き情報１８Ａ及び１８Ｂのいずれか一方を動き情報１８として動き補償部１１０４へ送出する。さらに、動き情報切替スイッチ１１０３は、どの利用可能ブロックを選択ブロックとして選択したかを示す選択ブロック情報２１を出力する。動き情報切替スイッチ１１０３は、例えば、下記数式（１）に示すコスト式によって導出される符号化コストが最小になる利用可能ブロックを選択ブロックとして選択する。
【数１】
2014017848.tif 000003
【００６１】
ここで、Ｊは符号化コストを示し、Ｄは入力画像信号１０と参照画像信号１７との間の二乗誤差和を表す符号化歪みを示す。また、Ｒは仮符号化によって見積もられる符号量を示し、λは。量子化幅等によって定められるラグランジュ未定係数を示す。数式（１）に代えて、符号量Ｒ又は符号化歪みＤのみを使用して、符号化コストＪを算出してもよく、符号量Ｒ又は符号化歪みＤを近似した値を使用して数式（１）のコスト関数を作成してもよい。さらに、符号化歪みＤは、二乗誤差和に限らず、予測誤差の絶対値和（ＳＡＤ：sums of absolute difference）であっても構わない。符号量Ｒは、動き情報に関する符号量のみを使用してもよい。また、符号化コストが最小になる利用可能ブロックが選択ブロックとして選択される例に限定されず、符号化コストが最も小さい値以上のある範囲内の値を有する１つの利用可能ブロックが選択ブロックとして選択されてもよい。
【００６２】
動き補償部１１０４は、動き情報選択部１１０１が選択した選択ブロックの参照動き情報（又は、参照動き情報の群）に基づいて、参照画像信号１７が予測画像信号として取り出される画素ブロックの位置を導出する。動き補償部１１０４に参照動き情報の群が入力された場合、動き補償部１１０４は、参照画像信号１７が予測画像信号として取り出される画素ブロックを小画素ブロック（例えば、４×４画素ブロック）に分割し、かつ、これら小画素ブロックの各々に、対応する参照動き情報を適用することによって、参照画像信号１７から予測画像信号１１Ａを取得する。予測画像信号１１Ａが取得されるブロックの位置は、例えば図８Ａに示されるように、小画素ブロックから、参照動き情報１９に含まれる動きベクトルに応じて空間方向にシフトした位置となる。
【００６３】
このように、動き補償部１１０４は、動き情報選択部１１０１からの参照動き情報（参照動き情報１９Ａ及び１９Ｂの一方）及びフレームメモリ１０７からの参照画像信号１７を使用して、予測画像信号１１Ａを生成する。ただし、利用可能ブロックが１つも選定されない場合、第１予測部１００１では予測処理が行なわれず、次に説明する第２予測部１００２でのみ予測処理が行われることになる。
【００６４】
図１０の第２予測部１００２は、入力画像信号１０及び参照画像信号１７から動き情報１８を導出して動き補償する第２予測方式に従って、符号化対象ブロックの予測画像信号１１Ｂを生成する。第２予測部１００２は、図１２に示すように、入力画像信号１０及び参照画像信号１７を使用して動き情報１８を生成する動き情報取得部１２０１、並びに、参照画像信号１７及び動き情報１８を使用して予測画像信号１１Ｂを生成する動き補償部１２０２を備えている。この動き情報取得部１２０１は、入力画像信号１０及び参照画像信号１７に基づいて、例えばブロックマッチングによって、符号化対象ブロックに割り当てるべき動きベクトル及び参照フレーム番号を含む動き情報１８を求める。マッチングの評価基準としては、入力画像信号１０とマッチング後の補間画像との差分を画素毎に累積した値を用いることができる。
【００６５】
予測部１０１では、図１０の予測方法切替スイッチ１００３によって、第１予測部１００１からの予測画像信号１１Ａ及び第２予測部１００２からの予測画像信号１１Ｂのいずれか一方が選択される。例えば、予測方法切替スイッチ１００３は、予測画像信号１１Ａ及び１１Ｂの各々について、入力画像信号１０を使用して、例えば数式（１）に従って、符号化コストを求め、符号化コストがより小さくなるように、予測画像信号１１Ａ及び１１Ｂのいずれか一方を選択して予測画像信号１１として出力する。さらに、予測方法切替スイッチ１００３は、予測画像信号１１の生成に使用された動き情報１８とともに、予測画像信号１１が第１予測部１００１及び第２予測部１００２のいずれにより生成されたかを示す予測切替情報２２をさらに出力する。また、予測方法切替スイッチ１００３は、予測画像信号１１Ａを選択した場合、選択ブロック情報２１をさらに出力する。
【００６６】
動き補償部１１０４及び１２０２による動き補償処理は、Ｈ．２６４の動き補償処理と同様のものを使用することができる。ここでは、一例として、１／４画素精度の補間手法を具体的に説明する。１／４画素精度の補間では、動きベクトルの各成分が４の倍数である場合、動きベクトルは、整数画素位置を指し示す。それ以外の場合、動きベクトルは、分数精度の補間位置に対応する予測位置を指し示す。
【数２】
2014017848.tif 000004
【００６７】
ここで、x及びyは、予測対象ブロックの先頭位置（例えば、左上頂点）を示す垂直及び水平方向のインデクスを示し、x_pos及びy_posは、参照画像信号１７の対応する予測位置を示す。(mv_x,mv_y)は、１／４画素精度を持つ動きベクトルを示す。次に、割り出した画素位置に対して、参照画像信号１７の対応する画素位置の補填又は補間処理によって予測画素を生成する。図１３に、Ｈ．２６４の予測画素生成の一例が示されている。図１３において大文字のアルファベットで示される正方形（斜線が施された正方形）は、整数位置の画素を示しており、網掛けで表示されている正方形は、１／２画素位置の補間画素を示している。また、白塗りで表示された正方形は１／４画素位置に対応する補間画素を示している。例えば、図１３において、アルファベットｂ、ｈの位置に対応する１／２画素の補間処理は、下記数式（３）で算出される。
【数３】
2014017848.tif 000005
【００６８】
ここで、数式（３）及び下記数式（４）に示されるアルファベット（例えば、ｂ，ｈ，Ｃ１等）は、図１３において同じアルファベットを付与された画素の画素値を示す。また、「>>」は、右シフト演算を示し、「>> 5」は、３２で除算することに相当する。即ち、１／２画素位置の補間画素は、６タップＦＩＲ（Finite Impulse Response）フィルタ（タップ係数：（１，−５，２０，２０，−５，１）／３２）を用いて算出される。
【００６９】
また、図１３でアルファベットａ、ｄの位置に対応する１／４画素の補間処理は、下記数式（４）で算出される。
【数４】
2014017848.tif 000006
【００７０】
このように、１／４画素位置の補間画素は、２タップの平均値フィルタ（タップ係数：（１／２，１／２））を用いて算出される。４つの整数画素位置の中間に存在するアルファベットｊに対応する１／２画素の補間処理は、垂直方向６タップ及び水平方向６タップの両方向を用いて生成される。説明した以外の画素位置に対しても同様の方法で、補間画素値が生成される。
【００７１】
なお、補間処理は、数式（３）及び数式（４）の例に限らず、他の補間係数を用いて生成されても構わない。また、補間係数は、符号化制御部１５０から与えられる固定の値を用いてもよく、或いは、前述の符号化コストに基づいて、フレーム毎に補間係数を最適化し、最適化された補間係数を用いて生成されてもよい。
【００７２】
次に、図１４を参照して予測部１０１の動作を説明する。  
図１４のステップＳ１４０１では、符号化対象ブロックに隣接する動き参照ブロック（例えば、図９ＡのブロックＡ及びブロックＢ）に適用された予測方法がイントラ予測であるか、インター予測であるか、或いは、これらの動き参照ブロックが画面外や符号化前の領域といった参照不可能なブロックであるかを判定する。インター予測が適用されたブロックは参照動き情報１９を有しているので、参照動き情報１９の有無によりインター予測が適用されたブロックであるか否かを判定することが可能である。ステップＳ１４０１においてブロックＡ及びＢの両方ともイントラ予測が適用され若しくは参照不可能である場合、ステップＳ１４０５に進み、この場合、利用可能ブロックは１つも選定されない。利用可能ブロックが選定されない場合、第１予測部１０１による予測処理は実行不可能であり、ステップＳ１４１３に進む。
【００７３】
ステップＳ１４１３では、第２予測部１００２が、Ｈ．２６４等で規定されるブロックマッチングなどにより導出した動き情報１８を用いて動き補償処理を行う。利用可能ブロックが選定されない場合、第２予測部１００２のみが使用されるために、第１予測部１００１及び第２予測部１００２を切り替える情報である予測切替情報(merge_flag)２２、及び選択ブロック情報(merge_left_flag)２１を符号化する必要はない。
【００７４】
ステップＳ１４０１において動き参照ブロックＡ及びＢのいずれか一方にインター予測が適用されている場合、ステップＳ１４０４に進む。ステップＳ１４０４では、インター予測が適用された一方の動き参照ブロックが利用可能ブロックとして選定される。この利用可能ブロックをブロックＹ（ＹはＡ又はＢ）とする。
【００７５】
ステップＳ１４０７では、第１予測部１００１を用いて動き補償を行うか否かが判定される。具体的には、符号化対象ブロックに対してブロックＹの参照動き情報１９を適用して動き補償を行うか、第２予測部１００２を用いて動き補償を行うかを、予測切替情報(merge_flag)２２を用いて切り替える。予測切替情報２２が第１予測部１００１の使用を示す(merge_flagがTRUEである)場合、ステップＳ１４１２に進む。ステップＳ１４１２では、第１予測部１００１が、ブロックＹの参照動き情報１９を用いて、動き補償処理を行う。
【００７６】
ステップＳ１４０７において予測切替情報２２が第２予測部１００２の使用を示す(merge_flagがFALSEである)場合、ステップＳ１４１３に進む。ステップＳ１４１３では、上述したように第２予測部１００２が動き補償を行う。一例として、この切替では、数式（１）で示される符号化コストを計算し、符号化コストが小さくなる方が選択される。
【００７７】
ステップＳ１４０１において、動き参照ブロックＡ及びＢの両方ともにインター予測が適用されている場合、ステップＳ１４０２に進む。ステップＳ１４０２では、動き参照ブロックＡ及びブロックＢの参照動き情報１９が同一であるか否かが判定される。動き参照ブロックＡ及びブロックＢの参照動き情報１９が同一である場合、ステップＳ１４０４に進む。ステップＳ１４０４では、動き参照ブロックＡ及びブロックＢのうちの一方が利用可能ブロックＹとして選定される。これ以降の処理は上述の通りである。
【００７８】
ステップＳ１４０２において動き参照ブロックＡ及びブロックＢの参照動き情報１９が異なる場合、ステップＳ１４０３に進む。この場合、ステップＳ１４０３では、２つの利用可能ブロックが選定される。次に、ステップＳ１４０６では、第１予測部１００２を用いて動き補償を行うか否かが判定される。具体的には、第１予測部１００２を用いて動き補償を行うか、或いは、第２予測部１００２を用いて動き補償を行うかを、予測切替情報(merge_flag)２２を用いて切り替える。予測切替情報２２が第２予測部１００２の使用を示す(merge_flagがFALSEである)場合、ステップＳ１４１３に進み、第２予測部１００２が動き補償を行う。
【００７９】
ステップＳ１４０６において、予測切替情報２２が第１予測部１００１の使用を示す(merge_flagがTRUEである)場合、ステップＳ１４０９に進む。ステップＳ１４０９では、第１予測部１００１の予測処理に動き参照ブロックＡを使用するか否かが判定される。具体的には、選択ブロック情報(merge_left_flag)２１に基づいて、動き参照ブロックＡを用いるか、動き参照ブロックＢを用いるかを判定する。一例として、この切替には、数式（１）で示される符号化コストを計算し、符号化コストが小さくなる方が選択される。
【００８０】
動き参照ブロックＡを使用する（merge_left_flagがTRUEである）場合、ステップＳ１４１０に進む。ステップＳ１４１０では、第１予測部１００２が、動き参照ブロックＡの参照動き情報１９を符号化対象ブロックの動き情報１８として用いて動き補償処理を行う。一方、動き参照ブロックＢを用いる（merge_left_flagがFALSE）場合、ステップＳ１４１１に進む。ステップＳ１４１１では、第１予測部１００１が、動き参照ブロックＢの参照動き情報１９を符号化対象ブロックの動き情報１８として用いて動き補償処理を行う。
【００８１】
このように、利用可能ブロックの数に応じて、予測方法を切り替えるとともに、予測切替情報及び選択ブロック情報の符号化の有無を切り替えることにより、少ない符号量で効率の良い予測方法を実現することができる。
【００８２】
次に、図１の画像符号化装置が利用するシンタクスについて説明する。  
シンタクスは、画像符号化装置が動画像データを符号化する際の符号化データ（例えば、図１の符号化データ１４）の構造を示す。符号化データを復号化する際には、同じシンタクス構造を参照して画像復号化装置がシンタクス解釈を行う。図１の画像符号化装置が利用するシンタクス１５００の一例を図１５に示す。
【００８３】
シンタクス１５００は、ハイレベルシンタクス１５０１、スライスレベルシンタクス１５０２及びコーディングツリーレベルシンタクス１５０３の３つのパートを含む。ハイレベルシンタクス１５０１は、スライスよりも上位のレイヤのシンタクス情報を含む。スライスとは、フレーム又はフィールドに含まれる矩形領域若しくは連続領域を指す。スライスレベルシンタクス１５０２は、各スライスを復号化するために必要な情報を含む。コーディングツリーレベルシンタクス１５０３は、各コーディングツリーユニットを復号化するために必要な情報を含む。これらのパートの各々は、さらに詳細なシンタクスを含む。
【００８４】
ハイレベルシンタクス１５０１は、シーケンスパラメータセットシンタクス１５０４及びピクチャパラメータセットシンタクス１５０５などのようなシーケンス及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス１５０２は、スライスヘッダーシンタクス１５０６及びスライスデータシンタクス１５０７などを含む。コーディングツリーレベルシンタクス１５０３は、コーディングツリーユニットシンタクス１５０８及びプレディクションユニットシンタクス１５０９などを含む。
【００８５】
コーディングツリーユニットシンタクス１５０８は、四分木構造を持つことができる。具体的には、コーディングツリーユニットシンタクス１５０８のシンタクス要素として、さらにコーディングツリーユニットシンタクス１５０８を再帰呼び出しすることができる。即ち、１つのコーディングツリーユニットを四分木で細分化することができる。また、コーディングツリーユニットシンタクス１５０８内には、トランスフォームユニットシンタクス１５１０及びプレディクションユニットシンタクス１５０９が含まれている。トランスフォームユニットシンタクス１５１０は、逆直交変換及び量子化などに関わる情報が記述されており、四分木の最末端の各コーディングツリーユニットシンタクス１５０８において呼び出される。
【００８６】
図１６は、本実施形態に係るシーケンスパラメータセットシンタクス１５０４の一例を示す。図１６に示されるinter_merge_flagは、例えば、そのシーケンスにおいて本実施形態の第１予測方式が有効か無効かを示すシンタクス要素である。inter_merge_flagが０である場合、inter_merge_flagはスライス内では第１予測方式が無効であることを示す。この場合、第２予測方式のみが有効となる。従って、以降のmerge_flag及びmerge_left_flagは符号化する必要はない。一例として、inter_merge_flagが１である場合には、スライス内全域で本実施形態に係る第１予測方式が有効となる。
【００８７】
なお、他の例では、図１７に示すように、inter_merge_flagがスライスヘッダーシンタクス１５０６に含まれてもよい。この場合、inter_merge_flagは、そのスライスにおいて第１予測方式が有効か無効かを示すシンタクス要素となる。
【００８８】
図１８に、コーディングツリーユニットシンタクス１５０８の一例を示す。図１８に示されるsplit_coding_unit_flagは、コーディングツリーユニットが４分割されるか否かを示すフラグである。split_coding_unit_flagが１である場合、split_coding_unit_flagはコーディングツリーユニットが４分割されることを示す。この場合、コーディングツリーユニットを４分割して得られるコーディングツリーユニットのシンタクスが再帰的に呼び出される。図１８のｘ０、ｘ１ｙ０、ｙ１は４分割されたコーディングツリーユニットの位置を示すために使用されるパラメータであり、splitCodingUnitSizeは、４分割されたコーディングツリーユニットのサイズを示す。
【００８９】
split_coding_unit_flagが０である場合、split_coding_unit_flagは、コーディングツリーユニットが４分割されないことを示す。NumMergeCandidatesは、図１４などで導出される利用可能ブロックの数を示す。利用可能ブロックが存在する（NumMergeCandidates＞0）場合、予測切替情報２２を示すmerge_flagが符号化される。merge_flagは、その値が１である場合、第１予測方式を用いることを示し、その値が０である場合、第２予測方式を用いることを示す。merge_flagが１(TRUE)且つ利用可能ブロックが２つ存在する（NumMergeCandidates＞1）場合、動き参照ブロックＡ及び動き参照ブロックＢのどちらを選択ブロックとしたかを示す選択ブロック情報２１であるmerge_left_flagが符号化される。merge_flagが０である場合、第２予測方式を用いるため、プレディクションユニットシンタクスが呼び出され、コーディングツリーユニットにおける予測情報（動き情報１８など）が符号化される。
【００９０】
merge_flagが１である場合、コーディングツリーユニットにおける予測に関するパラメータ（動き情報１８、プレディクションユニット分割情報など）は符号化する必要はない。
【００９１】
なお、図１９に示されるように、プレディクションユニットシンタクスにmerge_flag及びmerge_left_flagが含まれてもよく、この場合にも、merge_flag及びmerge_left_flagは図１８のmerge_flag及びmerge_left_flagと同様の意味を持つ。
【００９２】
また、図９Ｃに示されるように動き参照ブロック数が３以上で、利用可能ブロックも数が３以上となる場合には、選択ブロック情報（merge_left_flag）がフラグではなく、複数のシンボルを有する情報とすればよい。
【００９３】
さらに、コーディングツリーユニット（符号化対象ブロック）のサイズに従って、第１予測方式が有効か無効かの切替を行ってもよい。図２０は、コーディングツリーユニットのサイズによって第１予測方式が有効か無効かを切り替えるコーディングツリーシンタクスの一例を示している。図２０のmerge_available_size()は、符号化対象ブロックのサイズ（currCodingUnitSize）毎の第１予測方式の有効／無効を出力する関数であり、即ち、符号化対象ブロックのサイズに応じて予測切替情報（merge_flag）を符号化するか否かを示すモード符号化情報である。merge_available_size()が１の場合、第１予測方式は有効となる。一方、merge_available_size()が０の場合、第１予測方式は無効となり、第２予測方式のみが有効となる。この場合merge_flag及びmerge_left_flagは、符号化する必要はない。merge_available_size()における切替の情報は、シーケンスパラメータセットシンタクス、ピクチャパラメータセットシンタクス、スライスヘッダーシンタクスにより、予め符号化されていてもよい。また、後述する復号化装置と同一の切替情報を保持しておいてもよい。他の実施形態では、merge_available_size()を０にする代わりに、図１８に示されるNumMergeCandidatesを常にゼロとしてもよい。
【００９４】
図２０のコーディングツリーシンタクスを使用すると、特定のサイズのコーディングツリーユニットでは第１予測方式を無効にすることが可能となり、予測切替情報及び選択ブロック情報の符号量を削減することができる。
【００９５】
以上のように、第１の実施形態に係る画像符号化装置は、複数の動き参照ブロックから利用可能ブロックを選択し、選択した利用可能ブロックの数に応じて、予測切替情報及び選択ブロック情報の符号化の有無を切り替えることにより、符号量を削減することができ、また、高い符号化効率を実現することができる。さらに、第１の実施形態に係る画像符号化装置においては、符号化対象ブロックのサイズに応じて第１予測方式を使用するか否かを決定し、第１予測方式を使用しないと決定された場合には、予測切替情報及び選択ブロック情報を符号化する必要がないので、符号量を削減することができる。
【００９６】
（第２の実施形態）  
次に、第２の実施形態に係る画像符号化装置を説明する。第２の実施形態の画像符号化装置は、図１に示される第１の実施形態と同様の構成を有する。第２の実施形態では、第１の実施形態と異なる部分及び動作について主に説明する。第１の実施形態では、符号化対象のコーディングツリーユニットに対して、第１予測方式を適用しているのに対し、第２の実施形態では、符号化対象のプレディクションユニットに対して、第１予測方式を適用する。本実施形態では、図９Ａに示されるブロックＸが符号化対象のプレディクションユニットとなり、ブロックＡ及びブロックＢが動き参照ブロックとなる。その他に、利用可能ブロック及び選択ブロックについては、第１の実施形態の第１予測方式に関する記載においてコーディングツリーユニットをプレディクションユニットに置き換えればよい。
【００９７】
図２１は、第２の実施形態に係るプレディクションユニットシンタクス１５０９の一例を示す。図２１に示されるNumPuParts(inter_partitioning_idc)は、プレディクションユニットの分割方法を規定するインデクスである。具体的には、NumPuParts(inter_partitioning_idc)は、図５Ａから図５Ｉに示されるように分割されたプレディクションユニットの数を示す。図５Ｂの例では、NumPuPartsは２となり、図５Ｄの例では、NumPuPartsは４となる。図２１の変数ｉは、分割されたプレディクションユニットのインデクスである。図２１のNumMergeCandidatesは、プレディクションユニットｉにおける利用可能ブロックの数である。図２１のmerge_flag[i]及びmerge_left_flag[i]は、プレディクションユニットｉにおける予測切替情報及び選択ブロック情報をそれぞれ示し、その導出方法は、第１の実施形態と同様である。
【００９８】
以上のように、プレディクションユニットに第１予測方式を適用する第２の実施形態に係る画像符号化装置においても、第１の実施形態と同様の効果を得ることができる。
【００９９】
（第３の実施形態）  
図２２は、第３の実施形態に係る画像復号化装置を概略的に示している。この画像復号化装置は、図２２に示されるように、画像復号化部２２００、復号化制御部２２５０及び出力バッファ２２０８を備えている。第３の実施形態に係る画像復号化装置は、第１の実施形態に係る画像符号化装置に対応する。即ち、図２２の画像復号化装置による復号処理は、図１の画像符号化処理による符号化処理と相補的な関係を有している。図２２の画像復号化装置は、ＬＳＩチップなどのハードウェアにより実現されてもよく、或いは、コンピュータに画像復号化プログラムを実行させることにより実現されてもよい。
【０１００】
図２２の画像復号化装置は、画像復号化部２２００、復号化制御部２２５０及び出力バッファ２２０８を備えている。この画像復号化部２２００は、符号化列復号化部２２０１、逆量子化・逆変換部２２０２、加算器２２０３、フレームメモリ２２０４、予測部２２０５、動き情報メモリ２２０６及び利用可能ブロック取得部２２０７を備えている。画像復号化部２２００において、図示しない蓄積系又は伝送系からの符号化データ３０は、符号化列復号化部２２０１に与えられる。この符号化データ３０は、例えば、図１の画像符号化装置から多重化された状態で送出された符号化データ１４に対応する。
【０１０１】
図２２の画像復号化装置は、図９Ａに示されるように復号化対象ブロックＸに隣接するブロックＡ及びブロックＢが有する参照動き情報を復号化対象ブロックＸの動き情報として用いて動き補償する予測方式（第１予測方式）と、Ｈ．２６４のような、復号化対象ブロックに対して１つの動きベクトルを用いて動き補償する予測方式（第２予測方式）とを選択的に切り替えて、符号化データ３０を復号化する。
【０１０２】
本実施形態では、復号化対象である画素ブロック（例えば、コーディングツリーユニット、プレディクションユニット、マクロブロック、１画素など）を復号化対象ブロックと称す。また、復号化対象ブロックを含む画像フレームを復号化対象フレームと称す。
【０１０３】
符号化列復号化部２２０１では、１フレーム又は１フィールド毎に、シンタクスに基づいて構文解析による解読が行われる。具体的には、符号化列復号化部２２０１は、各シンタクスの符号列を順次に可変長復号化し、動き情報４０、予測切替情報６２、選択ブロック情報６１、変換係数３３、並びにブロックサイズ情報及び予測モード情報などの予測情報を含む、復号化対象ブロックに関する符号化パラメータなどを復号化して復号化パラメータを得る。
【０１０４】
本実施形態では、復号化パラメータは、変換係数３３、選択ブロック情報６１及び予測情報を含み、変換係数に関する情報、量子化に関する情報などの復号化の際に必要になるあらゆるパラメータを含む。予測情報、変換係数に関する情報、及び量子化に関する情報は、制御情報７１として復号化制御部２２５０へ与えられる。復号化制御部２２５０は、予測情報及び量子化パラメータなどの復号化に必要なパラメータを含む復号化制御情報７０を、画像復号化部２２００の各部に与える。
【０１０５】
図２３は、符号化列復号化部２２０１をより詳細に示している。符号化列復号化部２２０１は、図２３に示されるように、分離部２３０１、パラメータ復号化部２３０２、変換係数復号化部２３０３、予測切替情報・選択ブロック情報復号化部２３０４及び動き情報復号化部２３０５を備えている。
【０１０６】
分離部２３０１は、符号化データ３０をシンタクス単位に分離して、ブロックサイズ及び量子化に関するパラメータを含む符号化データ３０Ａ、変換係数情報を含む符号化データ３０Ｂ、予測情報及び選択ブロック情報を含む符号化データ３０Ｃ、動き情報を含む符号化データ３０Ｄを生成する。
【０１０７】
パラメータ復号化部２３０２は、符号化データ３０Ａを復号化してブロックサイズ情報及び量子化に関するパラメータなどを得る。変換係数復号化部２３０３は、符号化データ３０Ｂを復号化して変換係数情報３１を得る。予測切替情報・選択ブロック情報復号化部２３０４は、符号化データ３０Ｃを復号化して選択ブロック情報６１及び予測切替情報６２を得る。
【０１０８】
予測切替情報・選択ブロック情報復号化部２３０４は、利用可能ブロック取得部２２０７から、利用可能ブロックの数を示す利用可能ブロック情報６０を受け取り、利用可能ブロックの数に応じて予め定められた符号表を用いて選択ブロック情報６１を復号化する。ただし、利用可能ブロックが１つも選定されてないことを利用可能ブロック情報６０が示す場合、予測切替情報・選択ブロック情報復号化部２３０４は、予測切替情報６２及び利用可能ブロック情報６０を含む符号化データＣを復号化する必要がない。
【０１０９】
動き情報復号化部２３０５は、符号化データ３０Ｄを復号化して動き情報４０を得る。動き情報復号化部２３０５は、予測切替情報・選択ブロック情報復号化部２３０４から予測切替情報６２を受け取って参照する。図１の予測部１０１が第２予測方式を使用したことを予測切替情報６２が示す場合、即ち、復号化対象ブロックが第２予測方式で符号化されている場合、予測切替情報・選択ブロック情報復号化部２３０４は、符号化データＣを復号化する必要がない。
【０１１０】
変換係数復号化部２３０３によって解読された変換係数情報３１は、逆量子化・逆変換部２２０２へ送出される。また、パラメータ復号化部２３０２によって解読された量子化に関する種々の制御情報（例えば量子化パラメータ及び量子化マトリクス）７１は、復号化制御部２２５０に与えられ、逆量子化する際に逆量子化・逆変換部２２０２にロードされる。逆量子化・逆変換部２２０２は、ロードされた量子化に関する情報に従って、変換係数情報３１を逆量子化し、続いて逆変換処理（例えば、逆離散コサイン変換など）を施して、予測誤差信号３４を生成する。図２２の逆量子化・逆変換部２２０２による逆変換処理は、図１の変換・量子化部１０３による変換処理の逆変換である。例えば、図１の画像符号化装置によりウェーブレット変換が施される場合、逆量子化・逆変換部２２０２は、逆量子化及び逆ウェーブレット変換を実行する。
【０１１１】
逆量子化・逆変換部２２０２によって復元された予測誤差信号３４は、加算器２２０３へ送出される。加算器２２０３は、逆量子化・逆変換部２２０２からの予測誤差信号３４と、後述する予測部２２０５で生成された予測画像信号３５とを加算して、復号画像信号３６を生成する。生成された復号画像信号３６は、画像復号化部２２００から出力されて、出力バッファ２２０８に一旦蓄積された後、復号化制御部２２５０が管理する出力タイミングに従って、出力される。また、復号画像信号３６は、フレームメモリ２２０４に参照画像信号３７として格納される。参照画像信号３７は、予測部２２０５によってフレーム毎或いはフィールド毎に適宜読み出される。
【０１１２】
利用可能ブロック取得部２２０７は、後述する動き情報メモリ２２０６から参照動き情報３９を受け取り、利用可能ブロック情報６０を出力する。利用可能ブロック取得部２２０７の動作は、第１の実施形態で説明した利用可能ブロック取得部１０９（図１）と同様であるので、その説明を省略する。
【０１１３】
動き情報メモリ２２０６は、予測部２２０５から動き情報３８を受け取り、参照動き情報３９として一時的に格納する。動き情報メモリ２２０６は、図６Ａを参照して上述した動き情報メモリ１０８と同様の方法で参照動き情報３９を格納する。即ち、動き情報メモリ２２０６には、参照動き情報３９がフレーム単位で保持されており、復号化済みのコーディングツリーユニット及びプレディクションユニットの動き情報３８が参照動き情報３９として格納されている。
【０１１４】
なお、動き情報メモリ２２０６は、図６Ｂを参照して上述した動き情報メモリ１０８と同様の方法で参照動き情報３９を格納してもよい。即ち、復号化対象ブロックに隣接する画素ブロックの参照動き情報３９のみが保持されてもよい。
【０１１５】
次に、動き参照ブロック及び利用可能ブロックについて説明する。  
動き参照ブロックは、図１の画像符号化装置及び図２２の画像復号化装置の両方によって取り決められた方法に従って、復号化対象フレーム及び参照フレーム内の復号化済みのブロックの中から選択される。本実施形態では、図９Ａに示すように、復号化対象フレームの復号化済みのブロックの中から、復号化対象ブロックＸに対して左方向に隣接する復号化済みのブロックＡ、及び上方向に隣接する復号化済みのブロックＢが動き参照ブロックとして選択される。これらのブロックＡ及びブロックＢは、復号化対象ブロック内の左上画素から、図９Ｂに示す相対位置で特定される画素ａ、ｂがそれぞれ属するブロックである。即ち、ブロックＡは、復号化対象ブロック内の左上画素と左方向に隣接する画素ａを含むブロックであり、ブロックＢは、復号化対象ブロック内の左上画素と上方向に隣接する画素ｂを含むブロックである。
【０１１６】
なお、動き参照ブロックの数は、図９Ａに示される２つの例に限らず、３以上であってもよい。一例として、動き参照ブロックとしては、図９Ｃに示すように、ブロックＡ及びブロックＢ以外の復号化済みの隣接ブロックＣ及びＤが用いられる。図９Ｄには、復号化対象ブロックＸ内の左上画素と、図９ＤのブロックＡ、Ｂ、Ｃ、Ｄにそれぞれ含まれる画素ａ、ｂ、ｃ、ｄの相対位置の一例が示されている。ここでは、復号化対象ブロックは、Ｎ×Ｎ画素ブロックであるとして示されている。ブロックＣは、復号化対象ブロックＸの内の左上画素から右方向にＮ画素且つ上方向に１画素だけシフトした位置の画素ｃを含み、ブロックＤは、復号化対象ブロックＸの内の左上画素から左方向に１画素且つ上方向に１画素だけシフトした位置の画素ｄを含む。本実施形態では、動き参照ブロックを図９Ａに示されるブロックＡ及びブロックＢとする例を説明する。
【０１１７】
利用可能ブロックは、利用可能ブロック取得部２２０７によって動き参照ブロックの中から選定される。利用可能ブロックは、動き参照ブロックのうちのインター予測が適用されたブロックである。ただし、インター予測が適用され且つ同じ動き情報を有する動き参照ブロックが複数存在する場合、これらの動き参照ブロックのうちの１つが利用可能ブロックとして選定される。これにより、複数の利用可能ブロックが選定された場合、これらの利用可能ブロックは、互いに異なる動きベクトルを有している。
【０１１８】
利用可能ブロック取得部２２０７は、動き参照ブロックの中から利用可能ブロックを選定すると、選定した利用可能ブロックを示す利用可能ブロック情報６０を出力する。一例として、図９Ａに示されるように動き参照ブロックが復号化対象ブロックに隣接するブロックＡ及びブロックＢである場合、利用可能ブロック取得部２２０７は、ブロックＡ及びブロックＢの参照動き情報３９を参照してブロックＡ及びブロックＢが利用可能ブロックであるか否かを判定し、判定結果を示す利用可能ブロック情報６０を出力する。
【０１１９】
次に、図２４を参照して、予測部２２０５を詳細に説明する。  
図２４に示されるように、予測部２２０５は、第１予測部２４０１、第２予測部２４０２及び予測方法切替スイッチ２４０３を備えている。第１予測部２４０１は、利用可能ブロック情報６０、選択ブロック情報６１、参照動き情報３９及び参照画像信号３７を入力として、第１予測方式に従って予測画像信号３５Ａを生成する。第２予測部２４０２は、参照画像信号３７及び符号化列復号化部２２０１からの動き情報４０を用いて、第１の実施形態で説明した第２予測部１００２と同様に動き補償予測を行い、予測画像信号３５Ｂを生成する。予測方法切替スイッチ２４０３は、予測切替情報６２に基づいて、第１予測部２４０１からの予測画像信号３５Ａ及び第２予測部２４０２からの予測画像信号３５Ｂのうちの一方を選択して予測画像信号３５として出力する。同時に、動き情報切替スイッチ２５０３は、選択した第１予測部２４０１又は第２予測部２４０２で用いられた動き情報を動き情報３８として動き情報メモリ２２０６に送出する。
【０１２０】
第１予測部２４０１は、図２５に示すように、動き情報選択部２５０１及び動き補償部２５０４を備え、動き情報選択部２５０１は、動き情報取得部２５０２及び動き情報切替スイッチ２５０３を備える。第１予測部２４０１は、基本的には、第１の実施形態で説明した第１予測部１００１と同一の構成及び機能を持つ。
【０１２１】
第１予測部２４０１は、利用可能ブロック情報６０、選択ブロック情報６１、参照動き情報３９及び参照画像信号３７を入力として、予測画像信号３５及び動き情報３８を出力する。動き情報取得部２５０２は、第１の実施形態で説明した動き情報取得部１１０２と同一の機能を持つ。即ち、動き情報取得部２５０２は、動き参照ブロックＡの参照動き情報３９及び利用可能ブロック情報６０を含む動き情報３８Ａ、及び動き参照ブロックＢの参照動き情報３９及び利用可能ブロック情報６０を含む動き情報３８Ｂを出力する。動き参照ブロックＡは、図９Ａに示されるように、符号化対象ブロックに空間的に左方向に隣接するブロックであり、動き参照ブロックＢは、符号化対象ブロックに空間的に上方向に隣接するブロックである。動き情報取得部２５０２は、利用可能ブロックの数に一致する数だけ動き情報を出力する。本実施形態では、図９Ａに示されるように２つの動き参照ブロックが設定されるので、２つの動き参照ブロックに対応して最大で２つの動き情報が出力される。また、図９Ｃに示されるように動き参照ブロックが４つ設定される場合、利用可能ブロックの数に応じて最大４つの動き情報が出力される。
【０１２２】
動き情報切替スイッチ２５０３は、選択ブロック情報６１に従って、動き情報３８Ａ及び３８Ｂのいずれか一方を選択し、動き情報３８として動き補償部１１０４へ送出する。動き補償部２５０４は、動き情報３８及び参照画像信号３７を使用して、動き補償部１１０４と同様の動き補償予測を行い、予測画像信号３５Ａを生成する。
【０１２３】
第２予測部２４０２は、図２６に示すように、参照画像信号３７及び符号化列復号化部２２０１によって得られた動き情報４０を用いて、図２５の動き補償部２５０４と同様の動き補償予測を行い、予測画像信号３５Ｂを生成する動き補償部２６０１を備える。
【０１２４】
図２４の予測方法切替スイッチ２４０３は、予測切替情報６２に従って、第１予測部２４０１からの予測画像信号３５Ａ及び第２予測部２４０２からの予測画像信号３５Ｂのうちの一方を選択し、予測画像信号３５として出力する。さらに、予測方法切替スイッチ２４０３は、選択した方の予測画像信号を得るために使用した動き情報を動き情報３８として出力する。動き情報３８は、動き情報メモリ２２０６へ送出される。
【０１２５】
予測部２２０５の動作は、図１４を参照して第１の実施形態で説明した予測部１０１と同様の動作を行うためその説明を省略する。ただし、その説明において符号化を復号化に適宜読みかえる必要がある。
【０１２６】
次に、図２２の画像復号化装置が利用するシンタクスについて説明する。  
シンタクスは、画像復号化装置が動画像データを復号化する際の符号化データの構造を示す。図２２の画像復号化装置が利用するシンタクス１５００の一例を図１５に示す。
【０１２７】
シンタクス１５００は、ハイレベルシンタクス１５０１、スライスレベルシンタクス１５０２及びコーディングツリーレベルシンタクス１５０３の３つのパートを含む。ハイレベルシンタクス１５０１は、スライスよりも上位のレイヤのシンタクス情報を含む。スライスとは、フレーム又はフィールドに含まれる矩形領域若しくは連続領域を指す。スライスレベルシンタクス１５０２は、各スライスを復号化するために必要な情報を含む。コーディングツリーレベルシンタクス１５０３は、各コーディングツリーユニットを復号化するために必要な情報を含む。これらのパートの各々は、さらに詳細なシンタクスを含む。
【０１２８】
ハイレベルシンタクス１５０１は、シーケンスパラメータセットシンタクス１５０４及びピクチャパラメータセットシンタクス１５０５などのようなシーケンス及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス１５０２は、スライスヘッダーシンタクス１５０６及びスライスデータシンタクス１５０７などを含む。コーディングツリーレベルシンタクス１５０３は、コーディングツリーユニットシンタクス１５０８及びプレディクションユニットシンタクス１５０９などを含む。
【０１２９】
コーディングツリーユニットシンタクス１５０８は、四分木構造を持つことができる。具体的には、コーディングツリーユニットシンタクス１５０８のシンタクス要素として、さらにコーディングツリーユニットシンタクス１５０８を再帰呼び出しすることができる。即ち、１つのコーディングツリーユニットを四分木で細分化することができる。また、コーディングツリーユニットシンタクス１５０８内には、トランスフォームユニットシンタクス１５１０及びプレディクションユニットシンタクス１５０９が含まれている。トランスフォームユニットシンタクス１５１０は、逆直交変換及び量子化などに関わる情報が記述されており、四分木の最末端の各コーディングツリーユニットシンタクス１５０８において呼び出される。
【０１３０】
図１６は、本実施形態に係るシーケンスパラメータセットシンタクス１５０４の一例を示す。図１６に示されるinter_merge_flagは、例えば、そのシーケンスにおいて本実施形態の第１予測方式が有効か無効かを示すシンタクス要素である。inter_merge_flagが０である場合、inter_merge_flagはスライス内では第１予測方式が無効であることを示す。この場合、第２予測方式のみが有効となる。従って、以降のmerge_flag及びmerge_left_flagは復号化する必要はない。一例として、inter_merge_flagが１である場合には、スライス内全域で本実施形態に係る第１予測方式が有効となる。
【０１３１】
なお、他の例では、図１７に示すように、inter_merge_flagがスライスヘッダーシンタクス１５０６に含まれてもよい。この場合、inter_merge_flagは、そのスライスにおいて第１予測方式が有効か無効かを示すシンタクス要素となる。
【０１３２】
図１８に、コーディングツリーユニットシンタクス１５０８の一例を示す。図１８に示されるsplit_coding_unit_flagは、コーディングツリーユニットが４分割されるか否かを示すフラグである。split_coding_unit_flagが１である場合、split_coding_unit_flagはコーディングツリーユニットが４分割されることを示す。この場合、コーディングツリーユニットを４分割して得られるコーディングツリーユニットのシンタクスが再帰的に呼び出される。図１８のｘ０、ｘ１ｙ０、ｙ１は４分割されたコーディングツリーユニットの位置を示すために使用されるパラメータであり、splitCodingUnitSizeは、４分割されたコーディングツリーユニットのサイズを示す。
【０１３３】
split_coding_unit_flagが０である場合、split_coding_unit_flagは、コーディングツリーユニットが４分割されないことを示す。NumMergeCandidatesは、図１４などで導出される利用可能ブロックの数を示す。利用可能ブロックが存在する（NumMergeCandidates＞0）場合、予測切替情報６２を示すmerge_flagが復号化される。merge_flagは、その値が１である場合、第１予測方式を用いることを示し、その値が０である場合、第２予測方式を用いることを示す。merge_flagが１(TRUE)且つ利用可能ブロックが２つ存在する（NumMergeCandidates＞1）場合、動き参照ブロックＡ及び動き参照ブロックＢのどちらを選択ブロックとしたかを示す選択ブロック情報６１であるmerge_left_flagが復号化される。merge_flagが０である場合、第２予測方式を用いるため、プレディクションユニットシンタクスが呼び出され、コーディングツリーユニットにおける予測情報（動き情報３８など）が復号化される。
【０１３４】
merge_flagが１である場合、コーディングツリーユニットにおける予測に関するパラメータ（動き情報３８、プレディクションユニット分割情報など）は復号化する必要はない。
【０１３５】
なお、図１９に示されるように、プレディクションユニットシンタクスにmerge_flag及びmerge_left_flagが含まれてもよく、この場合にも、merge_flag及びmerge_left_flagは図１８のmerge_flag及びmerge_left_flagと同様の意味を持つ。
【０１３６】
また、図９Ｃに示されるように動き参照ブロック数が３以上で、利用可能ブロックも数が３以上となる場合には、選択ブロック情報（merge_left_flag）がフラグではなく、複数のシンボルを有する情報とすればよい。
【０１３７】
さらに、コーディングツリーユニット（符号化対象ブロック）のサイズに従って、第１予測方式が有効か無効かの切替を行ってもよい。図２０は、コーディングツリーユニットのサイズによって第１予測方式が有効か無効かを切り替えるコーディングツリーシンタクスの一例を示している。図２０のmerge_available_size()は、符号化対象ブロックのサイズ（currCodingUnitSize）毎の第１予測方式の有効／無効を出力する関数であり、即ち、符号化対象ブロックのサイズに応じて予測切替情報（merge_flag）を符号化するか否かを示すモード符号化情報である。merge_available_size()が１の場合、第１予測方式は有効となる。一方、merge_available_size()が０の場合、第１予測方式は無効となり、第２予測方式のみが有効となる。この場合merge_flag及びmerge_left_flagは、復号化する必要はない。merge_available_size()における切替の情報は、シーケンスパラメータセットシンタクス、ピクチャパラメータセットシンタクス、スライスヘッダーシンタクスにより、予め復号化されていてもよい。また、後述する復号化装置と同一の切替情報を保持しておいてもよい。他の実施形態では、merge_available_size()を０にする代わりに、図１８に示されるNumMergeCandidatesを常にゼロとしてもよい。
【０１３８】
図２０のコーディングツリーシンタクスを使用すると、特定のサイズのコーディングツリーユニットでは第１予測方式を無効にすることが可能となり、予測切替情報及び選択ブロック情報を削減することができる。
【０１３９】
以上のように、第３の実施形態に係る画像復号化装置は、前述した第１の実施形態に係る画像符号化装置によって符号化された画像を復号化している。従って、本実施形態に係る画像復号化装置は、比較的小さな符号化データから高画質な復号画像を再生することができる。
【０１４０】
（第４の実施形態）  
次に、第４の実施形態に係る画像復号化装置を説明する。第４の実施形態の画像復号化装置は、図２２に示した第３の実施形態と同様の構成を有する。第４の実施形態では、第３の実施形態と異なる部分及び動作について主に説明する。第３の実施形態では、復号化対象のコーディングツリーユニットに対して第１予測方式を適用しているのに対し、第４の実施形態では、復号化対象のプレディクションユニットに対して、第１予測方式を適用する。図９Ａに示されるブロックＸが復号化対象のプレディクションユニットとなり、ブロックＡ及びブロックＢが動き参照ブロックとなる。その他に、利用可能ブロック及び選択ブロックについては、第３の実施形態の第１予測方式に関する記載においてコーディングツリーユニットをプレディクションユニットに置き換えればよい。
【０１４１】
図２１は、第２の実施形態に係るプレディクションユニットシンタクス１５０９の一例を示す。図２１に示されるNumPuParts(inter_partitioning_idc)は、プレディクションユニットの分割方法を規定するインデクスである。具体的には、NumPuParts(inter_partitioning_idc)は、図５Ａから図５Ｉに示されるように分割されたプレディクションユニットの数を示す。図５Ｂの例では、NumPuPartsは２となり、図５Ｄの例では、NumPuPartsは４となる。図２１の変数ｉは、分割されたプレディクションユニットのインデクスである。図２１のNumMergeCandidatesは、プレディクションユニットｉにおける利用可能ブロックの数である。図２１のmerge_flag[i]及びmerge_left_flag[i]は、プレディクションユニットｉにおける予測切替情報及び選択ブロック情報をそれぞれ示し、その導出方法は、第３の実施形態と同様である。
【０１４２】
以上のように、プレディクションユニットに第１予測方式を適用する第４の実施形態に係る画像符号化装置においても、第３の実施形態と同様の効果を得ることができる。
【０１４３】
以下、各実施形態の変形例を列挙して説明する。  
第１乃至第４の実施形態において、図４に示されるように、フレームをコーディングツリーユニットなどの矩形ブロックに分割し、画面左上のブロックから右下に向かって順に符号化／復号化を行う例について説明している。しかしながら、符号化順序及び復号化順序はこの例に限定されない。例えば、右下から左上に向かって順に符号化及び復号化が行われてもよいし、画面中央から画面端に向かって渦巻を描くように符号化及び復号化が行われてもよい。さらに、右上から左下に向かって順に符号化及び復号化が行われてもよいし、画面端から画面中央に向かって渦巻きを描くように符号化及び復号化が行われてもよい。
【０１４４】
また、第１乃至第４の実施形態において、１つのコーディングツリーユニット内で全てのブロックサイズを統一させる必要はなく、複数の異なるブロックサイズを混在させてもよい。１つのコーディングツリーユニット内で複数の異なるブロックサイズを混在させる場合、分割数の増加に伴って分割情報を符号化または復号化するための符号量も増加する。そこで、分割情報の符号量と局部復号画像または復号画像の品質との間のバランスを考慮して、ブロックサイズを選択することが望ましい。
【０１４５】
さらに、第１乃至第４の実施形態において、簡単化のために、輝度信号と色差信号とを区別せず、色信号成分に関して包括的な説明を記述している。しかしながら、予測処理が輝度信号と色差信号との間で異なる場合には、同一または異なる予測方法が用いられてよい。輝度信号と色差信号との間で異なる予測方法が用いられる場合、色差信号に対して選択した予測方法を輝度信号と同様の方法で符号化又は復号化できる。
【０１４６】
さらにまた、第１乃至第４の実施形態において、簡単化のために、輝度信号と色差信号とを区別せず、色信号成分に関して包括的な説明を記述した。しかしながら、直交変換処理が輝度信号と色差信号との間で異なる場合には、同一の直交変換方法が用いられてもよく、異なる直交変換方法が用いられてよい。輝度信号と色差信号との間で異なる直交変換方法が用いられるならば、色差信号に対して選択した直交変換方法を輝度信号と同様の方法で符号化または復号化できる。
【０１４７】
さらに、第１乃至第４の実施形態において、シンタクス構成に示す表の行間には、ここで規定していないシンタクス要素が挿入されることも可能であるし、それ以外の条件分岐に関する記述が含まれていてもよい。或いは、シンタクステーブルを複数のテーブルに分割、統合することも可能である。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更してもよい。
【０１４８】
以上説明したように、各実施形態は、ハードウェア実装及びソフトウェア実装における困難性を緩和しつつ、高効率な直交変換及び逆直交変換を実現する。故に、各実施形態によれば、符号化効率が向上し、ひいては主観画質も向上する。
【０１４９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１５０】
例えば、上記各実施形態の処理を実現するプログラムを、コンピュータで読み取り可能な記憶媒体に格納して提供することも可能である。記憶媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリなど、プログラムを記憶でき、かつ、コンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
【０１５１】
また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ（サーバ）上に格納し、ネットワーク経由でコンピュータ（クライアント）にダウンロードさせてもよい。
【図１】
2014017848.tif 000007
【図２Ａ】
2014017848.tif 000008
【図２Ｂ】
2014017848.tif 000009
【図２Ｃ】
2014017848.tif 000010
【図２Ｄ】
2014017848.tif 000011
【図２Ｅ】
2014017848.tif 000012
【図２Ｆ】
2014017848.tif 000013
【図３Ａ】
2014017848.tif 000014
【図３Ｂ】
2014017848.tif 000015
【図３Ｃ】
2014017848.tif 000016
【図３Ｄ】
2014017848.tif 000017
【図４】
2014017848.tif 000018
【図５Ａ】
2014017848.tif 000019
【図５Ｂ】
2014017848.tif 000020
【図５Ｃ】
2014017848.tif 000021
【図５Ｄ】
2014017848.tif 000022
【図５Ｅ】
2014017848.tif 000023
【図５Ｆ】
2014017848.tif 000024
【図５Ｇ】
2014017848.tif 000025
【図５Ｈ】
2014017848.tif 000026
【図５Ｉ】
2014017848.tif 000027
【図６Ａ】
2014017848.tif 000028
【図６Ｂ】
2014017848.tif 000029
【図７】
2014017848.tif 000030
【図８Ａ】
2014017848.tif 000031
【図８Ｂ】
2014017848.tif 000032
【図９Ａ】
2014017848.tif 000033
【図９Ｂ】
2014017848.tif 000034
【図９Ｃ】
2014017848.tif 000035
【図９Ｄ】
2014017848.tif 000036
【図１０】
2014017848.tif 000037
【図１１】
2014017848.tif 000038
【図１２】
2014017848.tif 000039
【図１３】
2014017848.tif 000040
【図１４】
2014017848.tif 000041
【図１５】
2014017848.tif 000042
【図１６】
2014017848.tif 000043
【図１７】
2014017848.tif 000044
【図１８】
2014017848.tif 000045
【図１９】
2014017848.tif 000046
【図２０】
2014017848.tif 000047
【図２１】
2014017848.tif 000048
【図２２】
2014017848.tif 000049
【図２３】
2014017848.tif 000050
【図２４】
2014017848.tif 000051
【図２５】
2014017848.tif 000052
【図２６】
2014017848.tif 000053