(57)【要約】【課題】多視点動画符号化における符号化効率を向上させること。【解決手段】複数の視点＃１、＃２にそれぞれ対応する複数の動画像２１、２２が格納される記憶部１１と、一の動画像２２に含まれる画像の中から、他の動画像２１に含まれる同時刻の画像ＣｏｌＰｉｃを参照する視点間動き情報ｍｖＣｏｌを有する対象画像ＣｕｒｒＰｉｃを検出し、同時刻の画像ＣｏｌＰｉｃが有する動き情報ｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1を利用して対象画像ＣｕｒｒＰｉｃの画像領域を符号化する演算部１２と、を有する、画像符号化装置１０が提供される。【選択図】図１
2015122606.tif 000002
【特許請求の範囲】
【請求項１】
複数の視点にそれぞれ対応する複数の動画像が格納される記憶部と、
一の前記動画像に含まれる画像の中から、他の前記動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、前記同時刻の画像が有する動き情報を利用して前記対象画像の画像領域を符号化する演算部と、
を有する、画像符号化装置。
【請求項２】
前記演算部は、前記同時刻の画像に含まれる画像領域のうち、前記視点間動き情報により前記対象画像の画像領域に対応付けられる１つ又は複数の画像領域を特定し、特定した前記画像領域の動き情報に基づいて前記対象画像の画像領域を符号化する
請求項１に記載の画像符号化装置。
【請求項３】
前記演算部は、前記視点間動き情報により前記対象画像の画像領域に対応付けられる画像領域が複数ある場合、特定した複数の前記画像領域の中でサイズが最大となる前記画像領域を選択し、選択した前記画像領域の動き情報に基づいて前記対象画像の画像領域を符号化する
請求項２に記載の画像符号化装置。
【請求項４】
前記演算部は、前記視点間動き情報により前記対象画像の画像領域に対応付けられる画像領域が複数ある場合、特定した前記画像領域のサイズに基づいて前記画像領域の動き情報に重みを設定し、設定した前記重みを考慮して前記動き情報の統計情報を生成し、前記統計情報に基づいて前記対象画像の画像領域を符号化する
請求項２に記載の画像符号化装置。
【請求項５】
前記演算部は、前記視点間動き情報により前記対象画像の画像領域に対応付けられる画像領域が複数ある場合、特定した前記画像領域のサイズ及び量子化情報に基づいて前記画像領域の動き情報に重みを設定し、設定した前記重みを考慮して前記動き情報の統計情報を生成し、前記統計情報に基づいて前記対象画像の画像領域を符号化する
請求項２に記載の画像符号化装置。
【請求項６】
複数の視点にそれぞれ対応する複数の動画像が格納される記憶部から前記動画像を取得可能なコンピュータが、
一の前記動画像に含まれる画像の中から、他の前記動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、前記同時刻の画像が有する動き情報を利用して前記対象画像の画像領域を符号化する
画像符号化方法。
【請求項７】
複数の視点にそれぞれ対応する複数の動画像を符号化した符号化データが格納される記憶部と、
前記符号化データを復号する処理の中で、一の前記動画像に含まれる画像の中から、他の前記動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、前記同時刻の画像が有する動き情報を利用して前記対象画像の画像領域を復号する演算部と、
を有する、画像復号装置。
【請求項８】
複数の視点にそれぞれ対応する複数の動画像を符号化した符号化データが格納される記憶部から前記符号化データを取得可能なコンピュータが、
前記符号化データを復号する処理の中で、一の前記動画像に含まれる画像の中から、他の前記動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、前記同時刻の画像が有する動き情報を利用して前記対象画像の画像領域を復号する
画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置、画像符号化方法、画像復号装置、及び画像復号方法に関する。
【背景技術】
【０００２】
動画像の符号化には、例えば、ＩＴＵ−Ｔ（International Telecommunication Union Telecommunication Standardization Sector）により勧告されたＨ．２６４と呼ばれる符号化方式が広く利用されている。国際標準化機構（ＩＳＯ）及び国際電気標準会議（ＩＥＣ）では、同じ技術がＭＰＥＧ−４  ＡＶＣ（MPEG-4 Part 10 Advanced Video Coding）と呼ばれている。これらの呼称はまとめてＨ．２６４／ＡＶＣと表記されることがある。Ｈ．２６４／ＡＶＣ方式は、旧来のＭＰＥＧ−２符号化方式などに比べて高い圧縮効率を実現している。
【０００３】
Ｈ．２６４／ＡＶＣ方式の符号化には、異なる動画フレームを参照して現在の動画フレームを予測するフレーム間予測（インター予測）と呼ばれる技術が利用される。時間的に前の動画フレームを参照して現在の動画フレームを予測する方法は前方向予測（Forward Prediction）と呼ばれる。また、時間的に後の動画フレームを参照して現在の動画フレームを予測する方法は後方向予測（Backward Prediction）と呼ばれる。さらに、時間的に前又は後にある複数の動画フレームを参照して現在の動画フレームを予測する方法は双方向予測（Bi-directive Prediction）と呼ばれる。
【０００４】
フレーム間予測を用いずに符号化される動画フレームはＩ（Intra-coded）ピクチャと呼ばれる。また、前方向予測だけを用いて符号化される動画フレームはＰ（Predicted）ピクチャと呼ばれる。さらに、前方向予測、後方向予測、双方向予測のいずれかを選択的に用いて符号化される動画フレームはＢ（Bi-directional Predicted）ピクチャと呼ばれる。
【０００５】
Ｈ．２６４／ＡＶＣ方式では、圧縮効率を高めるための工夫として、ダイレクトモード(Direct Mode)と呼ばれる予測モードが規定されている。ダイレクトモードは、Ｂピクチャに適用することができる。ダイレクトモードには、時間ダイレクトモードと空間ダイレクトモードという２種類のダイレクトモードがある。
【０００６】
時間ダイレクトモードは、あるＢピクチャ内にある画素ブロックを予測する際に、符号化済みピクチャの同位置にある画素ブロックの動きベクトルを利用する予測モードである。また、空間ダイレクトモードは、Ｂピクチャ内にある画素ブロックを予測する際に、その周辺に位置する画素ブロックの動きベクトルを利用する予測モードである。いずれのダイレクトモードも符号化対象の画素ブロックについて動きベクトルの情報を復号側へと伝送せずに済む分だけ情報量を減らすことができる。
【０００７】
近年、立体視映像などの多視点動画像に上記の符号化方式を適用できるようにするため、ＭＶＣ（Multi-view Video Coding）と呼ばれる拡張方式（以下、ＭＶＣ方式と呼ぶ。）が規定された。ＭＶＣ方式では、ある視点に対応する動画フレームの画素ブロックを符号化する際に、他の視点に対応する動画フレームの画素ブロックを参照する予測モード（以下、視点間予測と呼ぶ。）が追加された。但し、ＭＶＣ方式では、視点間予測を用いる画素ブロックについては時間ダイレクトモードを適用しないこととされている。
【０００８】
なお、ＭＶＣ方式に関し、参照先の動画フレームが視点間予測を用いて符号化されている場合に、他視点の動画フレームに設定された動きベクトルを用いて、参照元の動画フレームに時間ダイレクトモードを適用する方法（以下、提案方法）が提案されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−１８２６１６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述した時間ダイレクトモードの適用は、情報量を効果的に低減するために有効な方法である。そのため、視点間予測を用いて符号化されるＢピクチャに時間ダイレクトモードを適用できるようにすれば、符号化効率の向上に寄与すると考えられる。なお、ここではＨ．２６４／ＡＶＣ方式の時間ダイレクトモードを例に挙げて説明したが、次世代規格であるＨ．２６５／ＨＥＶＣ（High Efficiency Video Coding）方式のマージモードについても同様である。
【００１１】
そこで、１つの側面によれば、本発明の目的は、多視点動画符号化における符号化効率を向上させることが可能な画像符号化装置、画像符号化方法、画像復号装置、及び画像復号方法を提供することにある。
【課題を解決するための手段】
【００１２】
本開示の１つの側面によれば、複数の視点にそれぞれ対応する複数の動画像が格納される記憶部と、一の動画像に含まれる画像の中から、他の動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、同時刻の画像が有する動き情報を利用して対象画像の画像領域を符号化する演算部と、を有する、画像符号化装置が提供される。
【００１３】
また、本開示の他の１つの側面によれば、複数の視点にそれぞれ対応する複数の動画像が格納される記憶部から動画像を取得可能なコンピュータが、一の動画像に含まれる画像の中から、他の動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、同時刻の画像が有する動き情報を利用して対象画像の画像領域を符号化する画像符号化方法が提供される。
【００１４】
また、本開示の他の１つの側面によれば、複数の視点にそれぞれ対応する複数の動画像を符号化した符号化データが格納される記憶部と、符号化データを復号する処理の中で、一の動画像に含まれる画像の中から、他の動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、同時刻の画像が有する動き情報を利用して対象画像の画像領域を復号する演算部と、を有する、画像復号装置が提供される。
【００１５】
また、本開示の他の１つの側面によれば、複数の視点にそれぞれ対応する複数の動画像を符号化した符号化データが格納される記憶部から符号化データを取得可能なコンピュータが、符号化データを復号する処理の中で、一の動画像に含まれる画像の中から、他の動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、同時刻の画像が有する動き情報を利用して対象画像の画像領域を復号する画像復号方法が提供される。
【発明の効果】
【００１６】
本発明によれば、多視点動画符号化における符号化効率を向上させることが可能になる。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態に係る画像符号化装置の一例を示した図である。
【図２】時間ダイレクトモードについて説明するための図である。
【図３】視点間予測と時間ダイレクトモードとの関係について説明するための第１の図である。
【図４】視点間予測と時間ダイレクトモードとの関係について説明するための第２の図である。
【図５】視点間予測と時間ダイレクトモードとの関係について説明するための第３の図である。
【図６】第２実施形態に係るシステムの一例を示した図である。
【図７】第２実施形態に係る符号化装置が有する機能を実現することが可能なハードウェアの一例を示した図である。
【図８】第２実施形態に係る符号化装置が有する機能の一例を示した第１のブロック図である。
【図９】第２実施形態に係る符号化装置が有する機能の一例を示した第２のブロック図である。
【図１０】第２実施形態に係る符号化装置が有する機能の一例を示した第３のブロック図である。
【図１１】第２実施形態に係る基準ベクトルの計算方法について説明するための第１の図である。
【図１２】第２実施形態に係る基準ベクトルの計算方法について説明するための第２の図である。
【図１３】第２実施形態に係る基準ベクトルの補正方法について説明するための第１の図である。
【図１４】第２実施形態に係る基準ベクトルの補正方法について説明するための第２の図である。
【図１５】第２実施形態に係る復号装置が有する機能の一例を示した第１のブロック図である。
【図１６】第２実施形態に係る復号装置が有する機能の一例を示した第２のブロック図である。
【図１７】第２実施形態に係る復号装置が有する機能の一例を示した第３のブロック図である。
【図１８】第２実施形態に係る符号化処理の流れを示した第１のフロー図である。
【図１９】第２実施形態に係る符号化処理の流れを示した第２のフロー図である。
【図２０】第２実施形態に係る符号化処理の流れを示した第３のフロー図である。
【図２１】第３実施形態に係る符号化方法について説明するための第１の図である。
【図２２】第３実施形態に係る符号化方法について説明するための第２の図である。
【発明を実施するための形態】
【００１８】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１９】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。図１は、第１実施形態に係る画像符号化装置の一例を示した図である。
【００２０】
図１に示すように、第１実施形態に係る画像符号化装置１０は、記憶部１１及び演算部１２を有する。
なお、記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。演算部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、演算部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。演算部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００２１】
記憶部１１には、複数の視点＃１、＃２にそれぞれ対応する複数の動画像２１、２２が格納される。なお、図１の例では、２視点の場合が示されているが、視点の数が３以上の場合も同様である。また、図１の例では、視点＃１に対応する動画像２１がＢａｓｅ−Ｖｉｅｗに設定され、視点＃２に対応する動画像２２が非Ｂａｓｅ−Ｖｉｅｗに設定されている。以下、この例に沿って説明を進める。
【００２２】
Ｂａｓｅ−Ｖｉｅｗとは、他視点の画像を参照するインター予測を行う画像が含まれないことを意味する。つまり、視点＃１に対応する動画像２１の画像Ｐｉｃ10、…、Ｐｉｃ15を符号化及び復号する際に、視点＃２に対応する動画像２２の画像Ｐｉｃ20、…、Ｐｉｃ25が参照されない。画像Ｐｉｃ10、…、Ｐｉｃ15の情報だけを用いて動画像２１が符号化及び復号されるため、視点＃２に対応する動画像２２の画像Ｐｉｃ20、…、Ｐｉｃ25に関する情報がなくとも動画像２１を符号化及び復号することができる。
【００２３】
一方、非Ｂａｓｅ−Ｖｉｅｗとは、他視点の画像を参照するインター予測を行う画像が含まれることを意味する。つまり、視点＃２に対応する動画像２２の画像Ｐｉｃ20、…、Ｐｉｃ25を符号化及び復号する際に、視点＃１に対応する動画像２１の画像Ｐｉｃ10、…、Ｐｉｃ15の少なくとも１つが参照される。つまり、視点＃１に対応する動画像２１の画像Ｐｉｃ10、…、Ｐｉｃ15の少なくとも１つに関する情報が動画像２２の符号化及び復号に用いられる。
【００２４】
演算部１２は、一の動画像２２に含まれる画像の中から、他の動画像２１に含まれる同時刻の画像ＣｏｌＰｉｃを参照する視点間動き情報ｍｖＣｏｌを有する対象画像ＣｕｒｒＰｉｃを検出する。つまり、演算部１２は、予測モードが視点間予測に設定された画像領域を含む対象画像ＣｕｒｒＰｉｃを検出する。図１の例では、対象画像ＣｕｒｒＰｉｃとして画像Ｐｉｃ24が検出されている。また、視点間動き情報ｍｖＣｏｌにより参照される画像ＣｏｌＰｉｃは、画像Ｐｉｃ14である。
【００２５】
演算部１２は、対象画像ＣｕｒｒＰｉｃと同時刻の画像ＣｏｌＰｉｃが有する動き情報ｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1を利用して対象画像ＣｕｒｒＰｉｃの画像領域を符号化する。参照先の画像ＣｏｌＰｉｃは、対象画像ＣｕｒｒＰｉｃより先に符号化されている。そのため、対象画像ＣｕｒｒＰｉｃを符号化する際に、画像ＣｏｌＰｉｃの動き情報ｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1を利用することができる。
【００２６】
例えば、演算部１２は、画像ＣｏｌＰｉｃに含まれる画像領域のうち、視点間動き情報ｍｖＣｏｌにより対象画像ＣｕｒｒＰｉｃの画像領域に対応付けられる１つ又は複数の画像領域を特定する。そして、演算部１２は、特定した画像領域の動き情報ｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1に基づいて対象画像ＣｕｒｒＰｉｃの画像領域を符号化する。図１の例では、動き情報ｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1に基づいて動き情報ｍｖＬ0、ｍｖＬ1が生成され、動き情報ｍｖＬ0、ｍｖＬ1を用いて対象画像ＣｕｒｒＰｉｃが符号化される。
【００２７】
例えば、画像Ｐｉｃ12、Ｐｉｃ14間の時間ｔｂＬ0と、画像Ｐｉｃ22、Ｐｉｃ24間の時間ｔｄＬ0とが異なる場合、演算部１２は、比（ｔｄＬ0／ｔｂＬ0）により動き情報ｂａｓｅｍｖＣｏｌ0をスケーリングする。そして、演算部１２は、スケーリング後の動き情報（ｔｄＬ0／ｔｂＬ0）＊ｂａｓｅｍｖＣｏｌ0を動き情報ｍｖＬ0とする。同様に、演算部１２は、比（ｔｄＬ1／ｔｂＬ1）により動き情報ｂａｓｅｍｖＣｏｌ1をスケーリングし、スケーリング後の動き情報（ｔｄＬ1／ｔｂＬ1）＊ｂａｓｅｍｖＣｏｌ1を動き情報ｍｖＬ1とする。
【００２８】
上記のように、対象画像ＣｕｒｒＰｉｃの符号化に用いる動き情報ｍｖＬ0、ｍｖＬ1は、視点間動き情報ｍｖＣｏｌが指す画像ＣｏｌＰｉｃの動き情報ｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1から得られる。そのため、対象画像ＣｕｒｒＰｉｃの動き情報ｍｖＬ0、ｍｖＬ1がなくとも、画像ＣｏｌＰｉｃの動き情報ｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1があれば、対象画像ＣｕｒｒＰｉｃを復号することができる。つまり、復号用の情報（符号化データ）に動き情報ｍｖＬ0、ｍｖＬ1を含めずに済む分だけ符号化効率を向上させることが可能になる。なお、上記の技術は、非Ｂａｓｅ−Ｖｉｅｗの動画像２２を復号する際にも適用することができ、符号化効率の向上に寄与する。
【００２９】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。なお、ここでは説明の都合上、ＭＶＣ方式を例に挙げて説明を進めるが、第２実施形態に係る技術の適用範囲はこれに限定されない。
【００３０】
［２−１．時間ダイレクトモード］
図２を参照しながら、時間ダイレクトモードについて説明する。図２は、時間ダイレクトモードについて説明するための図である。
【００３１】
時間ダイレクトモードは、動画像の一連性に着目し、符号化対象のマクロブロック（以下、ＣｕｒｒＭＢ）と時間的に隣接したマクロブロックの動きベクトルからＣｕｒｒＭＢの動きベクトルを決定する方法である。時間ダイレクトモードを適用すると、動きの時間相関性が高まる上、ＣｕｒｒＭＢに関する動きベクトルの情報を復号側へと伝送せずに済む分だけ符号化効率が改善する。
【００３２】
Ｈ．２６４／ＡＶＣ方式の双方向予測は、Ｌｉｓｔ０（Ｌ０）方向予測とＬｉｓｔ１（Ｌ１）方向予測とを組み合わせて実現される。Ｌ０方向は前方向に設定されることが多い。また、Ｌ１方向は後方向に設定されることが多い。但し、Ｈ．２６４／ＡＶＣ方式の双方向予測は、異なる複数の前方向予測を組み合わせることや、異なる複数の後方向予測を組み合わせることが許容されている。そのため、予測方向はＬ０方向、Ｌ１方向と表現される。本稿においても同様の表現を用いる場合がある。
【００３３】
参照方向は、ピクチャ毎にｒｅｆ＿ｉｄｘというパラメータを用いて表現される。例えば、Ｌ０方向のｒｅｆ＿ｉｄｘは、ｒｅｆ＿ｉｄｘ＿ｌ０と表現される。また、Ｌ１方向のｒｅｆ＿ｉｄｘは、ｒｅｆ＿ｉｄｘ＿ｌ１と表現される。時間ダイレクトモードでは、Ｌ１方向に最小のｒｅｆ＿ｉｄｘを有するＩピクチャ又はＰピクチャ内で、ＣｕｒｒＭＢと同位置にあるマクロブロックが特定され、そのマクロブロックが指す動きベクトルを基準にＣｕｒｒＭＢの動きベクトルが決定される。なお、ＣｕｒｒＭＢの動きベクトルを決定する際に基準とする動きベクトルを基準ベクトルと呼ぶ場合がある。
【００３４】
図２の例では、ＢピクチャであるＣｕｒｒＰｉｃ内のＣｕｒｒＭＢが時間ダイレクトモードによる符号化対象のマクロブロックである。時間ダイレクトモードでは、Ｂピクチャ内のＣｕｒｒＭＢを予測する際に、既に符号化済のピクチャ（以下、ＣｏｌＰｉｃ）に注目し、ＣｏｌＰｉｃ内でＣｕｒｒＭＢと同位置にあるマクロブロック（以下、ＣｏｌＭＢ）の動きベクトルｂａｓｅｍｖＣｏｌを利用する。なお、図２の例では、Ｌ１方向に位置するＰピクチャ（ｒｅｆ＿ｉｄｘ＝０）がＣｏｌＰｉｃである。また、動きベクトルｂａｓｅｍｖＣｏｌは基準ベクトルである。また、基準ベクトルｂａｓｅｍｖＣｏｌが指すピクチャをＲｅｆＰｉｃＣｏｌと呼ぶ場合がある。
【００３５】
時間ダイレクトモードでは、ＣｕｒｒＰｉｃからＲｅｆＰｉｃＣｏｌへの動きベクトルｍｖＬ0、及びＣｕｒｒＰｉｃからＣｏｌＰｉｃへの動きベクトルｍｖＬ1が基準ベクトルｂａｓｅｍｖＣｏｌに基づいて計算される。例えば、ピクチャ間隔（例えば、ＰＯＣ（Ｐｉｃｔｕｒｅ  Ｏｒｄｅｒ  Ｃｏｕｎｔ）の差）の比率に基づいて基準ベクトルｂａｓｅｍｖＣｏｌをスケーリングすることでｍｖＬ0、ｍｖＬ1が求められる。
【００３６】
図２の例では、ＲｅｆＰｉｃＣｏｌとＣｏｌＰｉｃとの間の時間がｔｄであり、ＲｅｆＰｉｃＣｏｌとＣｕｒｒＰｉｃとの間の時間がｔｂである。この場合、基準ベクトルｂａｓｅｍｖＣｏｌを比率（ｔｂ／ｔｄ）でスケーリングした動きベクトル（ｔｂ／ｔｄ）＊ｂａｓｅｍｖＣｏｌがｍｖＬ0となる。また、（ｍｖＬ0−ｂａｓｅｍｖＣｏｌ）がｍｖＬ1となる。時間ダイレクトモードでは、このようにして求めた動きベクトルｍｖＬ0、ｍｖＬ1をＣｕｒｒＭＢの予測に用いる。この例では、動きベクトルｍｖＬ0、ｍｖＬ1が基準ベクトルｂａｓｅｍｖＣｏｌから得られるため、動き情報ｍｖＬ0、ｍｖＬ1を復号側へと伝送せずに済む。
【００３７】
なお、ダイレクトモードに用いる動きベクトルの持ち方は、ＳＰＳ（Ｓｅｑｕｅｎｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ）のｄｉｒｅｃｔ＿８ｘ８＿ｉｎｆｅｒｅｎｃｅ＿ｆｌａｇの値によって決定される。ｄｉｒｅｃｔ＿８ｘ８＿ｉｎｆｅｒｅｎｃｅ＿ｆｌａｇ＝１の場合は、８ｘ８単位でダイレクトモードに使用する動きベクトルを持つことになる。また、ｄｉｒｅｃｔ＿８ｘ８＿ｉｎｆｅｒｅｎｃｅ＿ｆｌａｇ＝０の場合は、４ｘ４単位でダイレクトモードに使用する動きベクトルを持つことになる。
【００３８】
以上、時間ダイレクトモードについて説明した。
［２−２．視点間予測と時間ダイレクトモード］
次に、図３〜図５を参照しながら、視点間予測と時間ダイレクトモードとの関係について説明する。図２に示した時間ダイレクトモードの例は、１視点に対応する動画像の符号化に時間ダイレクトモードを適用する方法であった。そのため、図２の例では視点間予測が考慮されていない。ここでは、視点間予測と時間ダイレクトモードとの関係について考察する。
【００３９】
図３は、視点間予測と時間ダイレクトモードとの関係について説明するための第１の図である。また、図４は、視点間予測と時間ダイレクトモードとの関係について説明するための第２の図である。また、図５は、視点間予測と時間ダイレクトモードとの関係について説明するための第３の図である。
【００４０】
（２−２−１．視点間予測）
ＭＶＣ方式は多視点動画像の符号化に関する。ＭＶＣ方式では、Ｌ０方向予測やＬ１方向予測などの予測モードに加え、別視点に対応する動画像のピクチャを参照する新たな予測モード（視点間予測）が利用される。視点間予測では、符号化対象のピクチャと同一時刻（同一ＰＯＣ）の別視点ピクチャが参照される。
【００４１】
ここで、図３の例について考える。図３には、視点＃１（Ｂａｓｅ−Ｖｉｅｗ）に対応する動画像のピクチャと、視点＃２（非Ｂａｓｅ−Ｖｉｅｗ）に対応する動画像のピクチャとが例示されている。
【００４２】
図３の例では、ＢピクチャＰｉｃ＃２内のマクロブロックＭＢ＃２が視点間予測に基づく符号化の対象である。視点＃１に対応する動画像の各ピクチャは、視点＃２に対応する動画像のピクチャを参照せずに符号化される。いま、視点＃１に対応するピクチャＰｉｃ＃１は、既に符号化済みであるとする。この場合、マクロブロックＭＢ＃２の符号化に用いる動きベクトルは、視点＃１（他視点）のＢピクチャＰｉｃ＃１に含まれるマクロブロックＭＢ＃１を指す視点間動きベクトル（ｉＭＶ）となる。
【００４３】
上記のように、視点間予測では、符号化対象のピクチャと同一時刻（同一ＰＯＣ）の別視点ピクチャが参照される。そのため、ＢピクチャＰｉｃ＃２を時間ダイレクトモードのＣｕｒｒＰｉｃとし、視点間動きベクトルｉＭＶが指すＢピクチャＰｉｃ＃１をＣｏｌＰｉｃとすると、ＣｕｒｒＰｉｃとＣｏｌＰｉｃとの間でＰＯＣの差が０となる。また、ＢピクチャＰｉｃ＃２をＣｏｌＰｉｃとすると、ＢピクチャＰｉｃ＃１がＲｅｆＰｉｃＣｏｌとなり、ＲｅｆＰｉｃＣｏｌとＣｏｌＰｉｃとの間でＰＯＣの差が０となる。そのため、スケーリングによりＣｕｒｒＰｉｃの動きベクトルを求めることができない。
【００４４】
Ｈ．２６４規格書（Ｔ−ＲＥＣ−Ｈ．２６４−２００９０３−Ｉ！！ＰＤＦ−Ｅ．ｐｄｆ）のＨ．７．４．３には、ＣｏｌＰｉｃ内に視点間予測を行うブロックが存在する場合に適用可能なダイレクトモードを空間ダイレクトモードに限る旨が記載されている。しかし、単純に周辺ブロックの動きベクトルを使用する空間ダイレクトモードよりも、前後のピクチャを含めた動きベクトルの時間的な連続性を維持する時間ダイレクトモードの方がより大きな符号化効率の向上を見込める。こうした理由から、第２実施形態では、視点間予測と時間ダイレクトモードとの関係について考察し、多視点動画像の符号化に時間ダイレクトモードを適用できるようにする方法を提案する。
【００４５】
（２−２−２．参照ブロックが視点間予測ブロックである場合）
図４を参照する。図４の例は、視点＃２に対応するＣｕｒｒＰｉｃのマクロブロックと同じ位置にあるＣｏｌＰｉｃのマクロブロックが視点間動きベクトルｉＭＶにより視点＃２に対応するピクチャを参照する場合を示したものである。この場合、視点間動きベクトルｉＭＶをスケーリングしてもＣｕｒｒＰｉｃの符号化に用いる動きベクトルは得られない。
【００４６】
そこで、本発明者は、図４に示すように、視点間動きベクトルｉＭＶが指すブロックの動きベクトルを基準ベクトルｂａｓｅｍｖＣｏｌに設定する方法を提案した。この方法によれば、ピクチャＩ12、Ｐ15の間隔ｔｄ（ＰＯＣ差分）とピクチャＩ22、Ｂ24の間隔ｔｂ（ＰＯＣ差分）とに基づいて基準ベクトルｂａｓｅｍｖＣｏｌをスケーリングすることにより、ＣｕｒｒＰｉｃの動きベクトルが得られる。従って、図４のような場合でも時間ダイレクトモードを適用することが可能になる。第２実施形態では、図４に示した方法による符号化も考慮する。
【００４７】
（２−２−３．参照ブロックが他視点ブロックである場合）
図５を参照する。図５の例は、視点＃２に対応するＣｕｒｒＰｉｃのマクロブロックが視点間動きベクトルｉＭＶにより視点＃１に対応するピクチャを参照する場合を示したものである。この場合、ＣｕｒｒＰｉｃのインター予測に用いる動きベクトルの長さｔｂ（ＰＯＣ差分）が０となる。そのため、基準ベクトルｂａｓｅｍｖＣｏｌの長さに相当する時間ｔｄとｔｂとの比で基準ベクトルｂａｓｅｍｖＣｏｌをスケーリングすることができない。
【００４８】
そこで、第２実施形態では、視点間動きベクトルｉＭＶが指すブロックの動きベクトルを基準ベクトルｂａｓｅｍｖＣｏｌに設定し、視点間動きベクトルｉＭＶの長さに相当する時間ｔｂを用いずにＣｕｒｒＰｉｃの動きベクトルを求める方法を提案する。例えば、図５の例では、基準ベクトルｂａｓｅｍｖＣｏｌの長さに相当する時間ｔｄと、ピクチャＩ22、Ｂ24の間隔に相当する時間との比で基準ベクトルｂａｓｅｍｖＣｏｌをスケーリングする方法が考えられる。この方法によれば、図５のような場合でも時間ダイレクトモードを適用することが可能になる。
【００４９】
以上、視点間予測と時間ダイレクトモードとの関係について説明した。
［２−３．システム］
次に、図６を参照しながら、第２実施形態に係るシステムについて説明する。図６は、第２実施形態に係るシステムの一例を示した図である。
【００５０】
図６に示すように、第２実施形態に係るシステムは、符号化装置１００及び復号装置２００を含む。符号化装置１００は、複数の視点にそれぞれ対応する複数の動画像を符号化する装置である。符号化装置１００により符号化された複数の動画像に対応する符号化データは、復号装置２００に伝送される。例えば、符号化データは、ネットワークや可搬記録媒体などを介して復号装置２００に伝送される。復号装置２００は、符号化装置１００から取得した符号化データを復号して複数の動画像を復元する。
【００５１】
なお、以下では、説明の都合上、２視点（Ｂａｓｅ−Ｖｉｅｗ、非Ｂａｓｅ−Ｖｉｅｗ）の動画像を符号化及び復号することを前提に説明する。但し、第２実施形態に係る技術の適用範囲はこれに限定されず、視点数が３以上の場合にも適用可能である。
【００５２】
以上、システムについて説明した。
［２−４．ハードウェアの例］
次に、図７を参照しながら、符号化装置１００が有する機能を実現することが可能なハードウェアについて説明する。図７は、第２実施形態に係る符号化装置が有する機能を実現することが可能なハードウェアの一例を示した図である。
【００５３】
符号化装置１００が有する機能は、例えば、図７に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、符号化装置１００が有する機能は、コンピュータプログラムを用いて図７に示すハードウェアを制御することにより実現される。
【００５４】
図７に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００５５】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００５６】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【００５７】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部９１８は、情報を視覚的又は聴覚的に出力することが可能な装置である。
【００５８】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤ（Solid State Drive）やＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００５９】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
【００６０】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）、ＲＳ−２３２Ｃポート、又は光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、プリンタなどが用いられる。
【００６１】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ（Local Area Network）用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００６２】
以上、符号化装置１００が有する機能を実現することが可能なハードウェアについて説明した。なお、復号装置２００が有する機能も、図７に例示したハードウェアを利用して実現することが可能である。つまり、図７に示したハードウェアは、復号装置２００が有する機能を実現することが可能なハードウェアの一例でもある。従って、復号装置２００が有する機能を実現することが可能なハードウェアに関する詳細な説明を省略する。
【００６３】
［２−５．符号化装置の機能］
次に、図８〜図１０を参照しながら、符号化装置１００が有する機能について説明する。
【００６４】
図８は、第２実施形態に係る符号化装置が有する機能の一例を示した第１のブロック図である。また、図９は、第２実施形態に係る符号化装置が有する機能の一例を示した第２のブロック図である。また、図１０は、第２実施形態に係る符号化装置が有する機能の一例を示した第３のブロック図である。
【００６５】
（２−５−１．全体）
図８に示すように、符号化装置１００は、第１視点符号化部１０１、統計情報取得部１０２、及び第２視点符号化部１０３を有する。なお、符号化装置１００は、第１視点符号化部１０１、統計情報取得部１０２、及び第２視点符号化部１０３の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００６６】
第１視点符号化部１０１には、Ｂａｓｅ−Ｖｉｅｗに対応する動画像のピクチャ（以下、Ｂａｓｅ−Ｖｉｅｗピクチャ）が入力される。第１視点符号化部１０１は、入力されたＢａｓｅ−Ｖｉｅｗピクチャを符号化する。第１視点符号化部１０１の機能については後段において詳述する。
【００６７】
統計情報取得部１０２は、第１視点符号化部１０１によるＢａｓｅ−Ｖｉｅｗピクチャの符号化時に得られる統計情報を取得する。統計情報としては、例えば、量子化スケール値（以下、ｑＰ値）や差分係数の個数などがある。統計情報取得部１０２により取得された統計情報は、第２視点符号化部１０３に入力される。
【００６８】
第２視点符号化部１０３には、非Ｂａｓｅ−Ｖｉｅｗに対応する動画像のピクチャ（以下、非Ｂａｓｅ−Ｖｉｅｗピクチャ）が入力される。第２視点符号化部１０３は、第１視点符号化部１０１が符号化に用いた動きベクトルやピクチャに関する情報、及び統計情報を用いて非Ｂａｓｅ−Ｖｉｅｗピクチャを符号化する。第２視点符号化部１０３の機能については後段において詳述する。
【００６９】
（２−５−２．第１視点符号化部１０１の細部）
ここで、図９を参照しながら、第１視点符号化部１０１の機能について、さらに説明する。
【００７０】
図９に示すように、第１視点符号化部１０１は、減算器１１１、直交変換・量子化部１１２、可変長符号化部１１３、逆直交変換・逆量子化部１１４、及び加算器１１５を有する。さらに、第１視点符号化部１０１は、フレームメモリ１１６、動き補償部１１７、動きベクトル検出部１１８、動きベクトルメモリ１１９、基準ベクトル取得部１２０、ダイレクトベクトル計算部１２１、及びモード判定部１２２を有する。
【００７１】
減算器１１１には、Ｂａｓｅ−Ｖｉｅｗピクチャを１６×１６ピクセル（画素）のブロック（ＭＢ）に分割したマクロブロックのデータ（以下、ＭＢデータ）が入力される。減算器１１１は、入力されたＭＢデータから、動き補償部１１７から出力される予測画像のＭＢデータを減算して予測誤差データを生成する。減算器１１１により生成された予測誤差データは、直交変換・量子化部１１２に入力される。
【００７２】
直交変換・量子化部１１２は、入力された予測誤差データを８×８ピクセルのブロック又は４×４ピクセルのブロックを単位として直交変換する。適用可能な直交変換としては、例えば、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）変換やアダマール（Ｈａｄａｍａｒｄ）変換などがある。このような直交変換により、予測誤差データは、水平方向の周波数成分及び垂直方向の周波数成分のデータに変換される。
【００７３】
また、直交変換・量子化部１１２は、直交変換により得られた周波数成分のデータを量子化して量子化データを生成する。直交変換・量子化部１１２により生成された量子化データは、可変長符号化部１１３及び逆直交変換・逆量子化部１１４に入力される。
【００７４】
可変長符号化部１１３は、量子化データを可変長符号化して符号化データを生成する。可変長符号化とは、シンボルの出現頻度に応じて可変長の符号を割り当てる符号化方法である。例えば、可変長符号化部１１３は、出現頻度の高い係数の組合せに短い符号を割り当て、出現頻度の低い係数の組合せに長い符号を割当てる。適用可能な可変長符号化としては、ＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）やＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）などがある。
【００７５】
逆直交変換・逆量子化部１１４は、量子化データを逆量子化して周波数成分のデータを復元する。また、逆直交変換・逆量子化部１１４は、周波数成分のデータに逆直交変換を施して予測誤差データを復元する。復元された予測誤差データは、加算器１１５に入力される。加算器１１５は、動き補償により動き補償部１１７で生成されたＭＢデータと、逆直交変換・逆量子化部１１４により復元された予測誤差データとを加算して局所復号画像を生成する。
【００７６】
加算器１１５により生成された局所復号画像は、フレームメモリ１１６に入力される。なお、局所復号画像にデブロッキングフィルタが施されるようにしてもよい。フレームメモリ１１６には、加算器１１５により入力された局所復号画像が格納される。フレームメモリ１１６に格納された局所復号画像は、動き補償部１１７により参照される。また、フレームメモリ１１６に格納された局所復号画像は、第２視点符号化部１０３により非Ｂａｓｅ−Ｖｉｅｗピクチャの符号化に利用される。
【００７７】
動き補償部１１７は、動きベクトルメモリ１１９に格納されている動きベクトルを用いて、フレームメモリ１１６に格納されている局所復号画像の動き補償を実行し、動き補償後のＭＢデータ（参照ピクチャのＭＢデータ）を生成する。動きベクトル検出部１１８は、入力されたＢａｓｅ−ＶｉｅｗピクチャのＭＢデータ（対象ピクチャのＭＢデータ）と参照ピクチャのＭＢデータとを用いて動き探索を実行し、動きベクトルを生成する。
【００７８】
動き探索の方法としては、例えば、ブロックマッチング法などがある。なお、動き探索には、画素の差分絶対値和の大きさなどが利用される。例えば、動き補償に用いる評価値ｃｏｓｔは、差分絶対値ＳＡＤ＿ｃｏｓｔ、動きベクトルの符号量に相当する評価値ＭＶ＿ｃｏｓｔを用いて下記の式（１）のように表現できる。なお、ＳＡＤは、Ｓｕｍ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅの略である。また、ＭＶは、Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒの略である。
【００７９】
ｃｏｓｔ  ＝  ＳＡＤ＿ｃｏｓｔ  ＋  ＭＶ＿ｃｏｓｔ
…（１）
動きベクトル検出部１１８は、例えば、上記の評価値ｃｏｓｔが最小となるような動きベクトルを検出する。動きベクトル検出部１１８により検出された動きベクトルは、動きベクトルメモリ１１９及びモード判定部１２２に入力される。動きベクトルメモリ１１９には、動きベクトル検出部１１８により検出された動きベクトルが格納される。
【００８０】
基準ベクトル取得部１２０は、符号化対象のマクロブロック（ＣｕｒｒＭＢ）が双方向予測を用いるマクロブロックであるか否かを判定する。ＣｕｒｒＭＢが双方向予測を用いるマクロブロックである場合、基準ベクトル取得部１２０は、ＣｕｒｒＭＢと同位置にあるＣｏｌＰｉｃのマクロブロック（ＣｏｌＭＢ）を特定し、ＣｏｌＭＢの動きベクトルを動きベクトルメモリ１１９から取得する（図２を参照）。基準ベクトル取得部１２０により取得された動きベクトルは、基準ベクトルｂａｓｅｍｖＣｏｌとしてダイレクトベクトル計算部１２１に入力される。
【００８１】
ダイレクトベクトル計算部１２１は、基準ベクトルｂａｓｅｍｖＣｏｌを時間配分でスケーリングし、ＣｕｒｒＭＢの動きベクトル（ダイレクトベクトル）を生成する。例えば、図２の例では、基準ベクトルｂａｓｅｍｖＣｏｌが時間ｔｂ、ｔｄの比に基づいてスケーリングされ、ダイレクトベクトルｍｖＬ0、ｍｖＬ1が生成されている。このようにしてダイレクトベクトル計算部１２１により生成されたダイレクトベクトルは、モード判定部１２２に入力される。
【００８２】
モード判定部１２２は、５つの予測モード（イントラ予測モード、前方向予測モード、後方向予測モード、双方向予測モード、ダイレクトモード）のうち、符号化コストが最も小さい予測モードを選択する。例えば、モード判定部１２２は、予測モード毎に、下記の式（２）〜式（６）に示す符号化コストを計算する。
【００８３】
ｃｏｓｔ＿ｄｉｒｅｃｔは、ダイレクトモードの符号化コストである。ｃｏｓｔ＿ｆｏｒｗａｒｄは、前方向予測モードの符号化コストである。ｃｏｓｔ＿ｂａｃｋｗａｒｄは、後方向予測モードの符号化コストである。ｃｏｓｔ＿ｂｉｄｉｒｅｃｔｉｏｎは、双方向予測モードの符号化コストである。ｃｏｓｔ＿ｉｎｔｒａは、イントラ予測モードの符号化コストである。＊ｏｒｇは、対象ピクチャのＭＢデータを表す。＊ｒｅｆは、参照ピクチャのＭＢデータを表す。＊ｍｖは、ＣｕｒｒＭＢが用いる動きベクトルの候補である。＊ｐｒｅｖｍｖは、ＣｕｒｒＭＢの周辺に位置するマクロブロックに基づく予測ベクトルを表す。
【００８４】
ｃｏｓｔ＿ｄｉｒｅｃｔ  ＝  ＳＡＤ（＊ｏｒｇ，＊ｒｅｆ）
…（２）
ｃｏｓｔ＿ｆｏｒｗａｒｄ  ＝  ＳＡＤ（＊ｏｒｇ，＊ｒｅｆ）  ＋  ＭＶ＿ＣＯＳＴ（＊ｍｖ，＊ｐｒｅｖｍｖ）
…（３）
ｃｏｓｔ＿ｂａｃｋｗａｒｄ  ＝  ＳＡＤ（＊ｏｒｇ，＊ｒｅｆ）  ＋  ＭＶ＿ＣＯＳＴ（＊ｍｖ，＊ｐｒｅｖｍｖ）
…（４）
ｃｏｓｔ＿ｂｉｄｉｒｅｃｔｉｏｎ  ＝  ＳＡＤ（＊ｏｒｇ，＊ｒｅｆ）  ＋  ＭＶ＿ＣＯＳＴ（＊ｍｖ，＊ｐｒｅｖｍｖ）
…（５）
ｃｏｓｔ＿ｉｎｔｒａ  ＝  ＡＣＴ（＊ｏｒｇ）
…（６）
なお、ＳＡＤ（・）は、下記の式（７）に示すように、画素差分絶対値和を計算する関数である。Ｈ．２６４／ＡＶＣ方式では、１つのマクロブロックを複数のサブブロックに分割することができる。例えば、１つのマクロブロックが４つの８×８のサブブロックに分かれている場合、サブブロック毎に計算される４つの差分絶対値和が、ＳＡＤ（・）の計算結果となる。サブブロックの単位を８×１６ピクセル、１６×８ピクセル、４×８ピクセル、８×４ピクセル、４×４ピクセルにした場合も同様である。
【００８５】
ＳＡＤ（＊ｏｒｇ，＊ｒｅｆ）  ＝  Σ｜＊ｏｒｇ  −  ＊ｒｅｆ｜
…（７）
ＭＶ＿ＣＯＳＴ（・）は、動きベクトルの符号量に比例した評価値を計算する関数である。ＭＶ＿ＣＯＳＴ（・）は、下記の式（８）のように表現される。なお、λは、符号化コストへの影響度を調整するための重み定数である。また、Ｔａｂｌｅ［・］は、ベクトル差分の大きさを符号量相当に変換するテーブルである。これらは予め設定される。
【００８６】
ＭＶ＿ＣＯＳＴ  ＝  λ＊（Ｔａｂｌｅ［＊ｍｖ−＊ｐｒｅｖｍｖ］）
…（８）
上記の式（６）に示すように、イントラ予測モードの符号化コストは、アクティビティと呼ばれる関数ＡＣＴ（・）により表現される。イントラ予測モードの場合、ＣｕｒｒＭＢそのものが直交変換される。そのため、ＣｕｒｒＭＢに含まれる各画素の画素値が平均値（ＡｖｅＭＢ）から離れている度合い（アクティビティ）を用いて符号化コストが求められる。アクティビティを求める関数ＡＣＴ（・）は、下記の式（９）で表現される。
【００８７】
ＡＣＴ（＊ｏｒｇ，＊ｒｅｆ）  ＝  Σ｜＊ｏｒｇ  −  ＡｖｅＭＢ｜
…（９）
なお、上記の式（２）〜式（６）から明らかなように、ダイレクトモードの符号化コストにはＭＶ＿ＣＯＳＴが含まれない。そのため、予測が的中して全ての予測モードでＳＡＤが同等で比較的小さい値となった場合には、ダイレクトモードの符号化コストが低くなり、ダイレクトモードが選択されやすくなる。
【００８８】
さて、上記のような方法で予測モード毎に符号化コストを計算したモード判定部１２２は、符号化コストが最小となる予測モードを選択する。また、モード判定部１２２は、選択した予測モードによる符号化に用いる動きベクトルを動きベクトルメモリ１１９に格納する。さらに、モード判定部１２２は、選択した予測モードを動き補償部１１７に通知する。
【００８９】
上記のように、Ｂａｓｅ−Ｖｉｅｗピクチャの符号化は、非Ｂａｓｅ−Ｖｉｅｗピクチャの符号化とは独立して実行される。
（２−５−３．第２視点符号化部１０３の細部）
ここで、図１０を参照しながら、第２視点符号化部１０３の機能について、さらに説明する。
【００９０】
図１０に示すように、第２視点符号化部１０３は、減算器１３１、直交変換・量子化部１３２、可変長符号化部１３３、逆直交変換・逆量子化部１３４、及び加算器１３５を有する。また、第２視点符号化部１０３は、フレームメモリ１３６、動き補償部１３７、動きベクトル検出部１３８、及び動きベクトルメモリ１３９を有する。さらに、第２視点符号化部１０３は、基準ベクトル取得部１４０、基準ベクトル補正部１４１、ダイレクトベクトル計算部１４２、及びモード判定部１４３を有する。
【００９１】
減算器１３１には、非Ｂａｓｅ−ＶｉｅｗピクチャのＭＢデータが入力される。減算器１３１は、第１視点符号化部１０１と同様に、入力されたＭＢデータから、動き補償部１３７から出力される予測画像のＭＢデータを減算して予測誤差データを生成する。減算器１３１により生成された予測誤差データは、直交変換・量子化部１３２に入力される。
【００９２】
直交変換・量子化部１３２は、入力された予測誤差データを８×８ピクセルのブロック又は４×４ピクセルのブロックを単位として直交変換する。適用可能な直交変換としては、例えば、ＤＣＴ変換やアダマール変換などがある。このような直交変換により、予測誤差データは、水平方向の周波数成分及び垂直方向の周波数成分のデータに変換される。
【００９３】
また、直交変換・量子化部１３２は、直交変換により得られた周波数成分のデータを量子化して量子化データを生成する。直交変換・量子化部１３２により生成された量子化データは、可変長符号化部１３３及び逆直交変換・逆量子化部１３４に入力される。可変長符号化部１３３は、量子化データを可変長符号化して符号化データを生成する。適用可能な可変長符号化としては、ＣＡＶＬＣやＣＡＢＡＣなどがある。
【００９４】
逆直交変換・逆量子化部１３４は、量子化データを逆量子化して周波数成分のデータを復元する。また、逆直交変換・逆量子化部１３４は、周波数成分のデータに逆直交変換を施して予測誤差データを復元する。復元された予測誤差データは、加算器１３５に入力される。加算器１３５は、動き補償により動き補償部１３７で生成されたＭＢデータと、逆直交変換・逆量子化部１３４により復元された予測誤差データとを加算して局所復号画像を生成する。
【００９５】
加算器１３５により生成された局所復号画像は、フレームメモリ１３６及び動き補償部１３７に入力される。なお、局所復号画像にデブロッキングフィルタが施されるようにしてもよい。フレームメモリ１３６には、加算器１３５により入力された局所復号画像が格納される。フレームメモリ１３６に格納された局所復号画像は、動き補償部１３７により参照される。
【００９６】
動き補償部１３７は、動きベクトルメモリ１３９に格納されている動きベクトルを用いて、フレームメモリ１３６に格納されている局所復号画像の動き補償を実行し、動き補償後のＭＢデータ（参照ピクチャのＭＢデータ）を生成する。動きベクトル検出部１３８は、入力された非Ｂａｓｅ−ＶｉｅｗピクチャのＭＢデータ（対象ピクチャのＭＢデータ）と参照ピクチャのＭＢデータとを用いて動き探索を実行し、動きベクトルを生成する。
【００９７】
なお、動きベクトル検出部１３８は、他視点（この例ではＢａｓｅ−Ｖｉｅｗ）の参照ピクチャを利用できる場合、第１視点符号化部１０１のフレームメモリ１１６から参照ピクチャを取得する。そして、動きベクトル検出部１３８は、取得した参照ピクチャのＭＢデータを用いて動き探索を実行し、動きベクトルを生成する。
【００９８】
動きベクトル検出部１３８により検出された動きベクトルは、動きベクトルメモリ１３９及びモード判定部１４３に入力される。動きベクトルメモリ１３９には、動きベクトル検出部１３８により検出された動きベクトルが格納される。
【００９９】
基準ベクトル取得部１４０は、符号化対象のマクロブロック（ＣｕｒｒＭＢ）が双方向予測を用いるマクロブロックであるか否かを判定する。ＣｕｒｒＭＢが双方向予測を用いるマクロブロックである場合、基準ベクトル取得部１４０は、ＣｕｒｒＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶであるか否かを判定する。
【０１００】
ＣｕｒｒＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶである場合、基準ベクトル取得部１４０は、ＣｕｒｒＭＢと同位置にあるＣｏｌＰｉｃのマクロブロック（ＣｏｌＭＢ）を特定する。そして、基準ベクトル取得部１４０は、第１視点符号化部１０１の動きベクトルメモリ１１９からＣｏｌＭＢの動きベクトルを取得する（図５を参照）。なお、ＣｏｌＰｉｃは、ＣｕｒｒＰｉｃと同じ時刻（同ＰＯＣ）のＢａｓｅ−Ｖｉｅｗピクチャである。この場合、基準ベクトル取得部１４０により取得された動きベクトルは、基準ベクトル補正部１４１に入力される。
【０１０１】
一方、ＣｕｒｒＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶでない場合、基準ベクトル取得部１４０は、ＣｕｒｒＭＢと同位置にあるＣｏｌＰｉｃのマクロブロック（ＣｏｌＭＢ）を特定する。この場合、ＣｏｌＰｉｃは、非Ｂａｓｅ−Ｖｉｅｗピクチャである。また、基準ベクトル取得部１４０は、ＣｏｌＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶであるか否かを判定する。
【０１０２】
ＣｏｌＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶである場合、基準ベクトル取得部１４０は、ＣｏｌＭＢの予測に用いる視点間動きベクトルｉＭＶが指すＢａｓｅ−Ｖｉｅｗピクチャのマクロブロック（ＲｅｆＭＢ）を特定する。そして、基準ベクトル取得部１４０は、第１視点符号化部１０１の動きベクトルメモリ１１９からＲｅｆＭＢの動きベクトルを取得する（図４を参照）。この場合、基準ベクトル取得部１４０により取得された動きベクトルは、基準ベクトル補正部１４１に入力される。
【０１０３】
一方、ＣｏｌＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶでない場合、基準ベクトル取得部１４０は、ＣｕｒｒＭＢと同位置にあるＣｏｌＰｉｃのマクロブロック（ＣｏｌＭＢ）を特定し、ＣｏｌＭＢの動きベクトルを動きベクトルメモリ１３９から取得する（図２を参照）。この場合、基準ベクトル取得部１４０により取得された動きベクトルは、基準ベクトルｂａｓｅｍｖＣｏｌとしてダイレクトベクトル計算部１４１に入力される。
【０１０４】
基準ベクトル補正部１４１は、統計情報取得部１０２から入力された統計情報に基づき、基準ベクトル取得部１４０から入力された動きベクトルを補正して基準ベクトルｂａｓｅｍｖＣｏｌを生成する。基準ベクトルｂａｓｅｍｖＣｏｌを生成する際に行う補正方法については後述する。基準ベクトル補正部１４１により生成された基準ベクトルｂａｓｅｍｖＣｏｌは、ダイレクトベクトル計算部１４２に入力される。
【０１０５】
ダイレクトベクトル計算部１４２は、基準ベクトルｂａｓｅｍｖＣｏｌを時間配分でスケーリングし、ＣｕｒｒＭＢの動きベクトル（ダイレクトベクトル）を生成する。ダイレクトベクトル計算部１４２により生成されたダイレクトベクトルは、モード判定部１４３に入力される。
【０１０６】
モード判定部１４３は、５つの予測モード（イントラ予測モード、前方向予測モード、後方向予測モード、双方向予測モード、ダイレクトモード）のうち、符号化コストが最も小さい予測モードを選択する。また、モード判定部１４３は、選択した予測モードによる符号化に用いる動きベクトルを動きベクトルメモリ１３９に格納する。さらに、モード判定部１４３は、選択した予測モードを動き補償部１３７に通知する。
【０１０７】
上記のように、非Ｂａｓｅ−Ｖｉｅｗピクチャの符号化は、Ｂａｓｅ−Ｖｉｅｗピクチャの符号化に用いた情報を適宜利用して実行される。
（２−５−４．基準ベクトルの計算に関する補足説明）
ここで、図１１〜図１４を参照しながら、ＣｕｒｒＭＢの動きベクトルが視点間動きベクトルｉＭＶである場合の基準ベクトルｂａｓｅｍｖＣｏｌの計算について説明を補足する。また、ダイレクトベクトルの計算についても説明を補足する。
【０１０８】
図１１は、第２実施形態に係る基準ベクトルの計算方法について説明するための第１の図である。また、図１２は、第２実施形態に係る基準ベクトルの計算方法について説明するための第２の図である。また、図１３は、第２実施形態に係る基準ベクトルの補正方法について説明するための第１の図である。また、図１４は、第２実施形態に係る基準ベクトルの補正方法について説明するための第２の図である。
【０１０９】
（基準ベクトル及びダイレクトベクトルの計算）
図１１を参照する。図１１の例では、視点＃２（非Ｂａｓｅ−Ｖｉｅｗ）のピクチャＢ２４が符号化対象のマクロブロック（ＣｕｒｒＭＢ）を含むＣｕｒｒＰｉｃである。また、ＣｕｒｒＭＢの予測に用いる動きベクトルは視点間動きベクトルｉＭＶである。この場合、視点＃１（Ｂａｓｅ−Ｖｉｅｗ）のピクチャＢ１４がＣｏｌＰｉｃとなる。
【０１１０】
ＣｕｒｒＰｉｃとＣｏｌＰｉｃとは、類似度の高いピクチャである。しかし、撮影位置や角度などが異なるため、ＣｕｒｒＰｉｃとＣｏｌＰｉｃとが完全に同じピクチャとはならない。そのため、視点間動きベクトルｉＭＶが有限の長さを有する。そして、視点間動きベクトルｉＭＶにより参照されるブロックｉＭＢがＣｏｌＭＢとなる。
【０１１１】
ＣｕｒｒＰｉｃがＢピクチャである場合、ＣｕｒｒＰｉｃと同じ時刻（同ＰＯＣ）のＣｏｌＰｉｃはＢピクチャである。そのため、図１１に示すように、ＣｏｌＭＢの予測にはＬ０方向及びＬ１方向の動きベクトルが用いられる。
【０１１２】
基準ベクトル補正部１４１は、基準ベクトル取得部１４０が取得したＬ０方向の動きベクトルを基準ベクトルｂａｓｅｍｖＣｏｌ0とし、Ｌ１方向の動きベクトルを基準ベクトルｂａｓｅｍｖＣｏｌ1とする。このとき、基準ベクトル補正部１４１は、視点間動きベクトルｉＭＶを用いて基準ベクトルｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1を補正する。この補正方法については後述する。
【０１１３】
基準ベクトルｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1が得られると、ダイレクトベクトル計算部１４２は、基準ベクトルｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1をスケーリングしてダイレクトベクトルｍｖＬ0、ｍｖＬ1を計算する。
【０１１４】
図１１の例では、ピクチャＩ12、Ｂ14の間隔ｔｂＬ0（ＰＯＣ差分）と、ピクチャＩ22、Ｂ24の間隔ｔｄＬ0（ＰＯＣ差分）との比率を用いて基準ベクトルｂａｓｅｍｖＣｏｌ0がスケーリングされる。また、ピクチャＢ14、Ｐ15の間隔ｔｂＬ1（ＰＯＣ差分）と、ピクチャＢ24、Ｐ25の間隔ｔｄＬ1（ＰＯＣ差分）との比率を用いて基準ベクトルｂａｓｅｍｖＣｏｌ1がスケーリングされる。
【０１１５】
つまり、非Ｂａｓｅ−Ｖｉｅｗにおけるｒｅｆ＿ｉｄｘ＿ｌ０が最小のピクチャとＣｕｒｒＰｉｃとの間隔ｔｄＬ0、Ｂａｓｅ−Ｖｉｅｗにおけるｒｅｆ＿ｉｄｘ＿ｌ０が最小のピクチャとＣｏｌＰｉｃとの間隔ｔｂＬ0がスケーリングに利用される。さらに、非Ｂａｓｅ−Ｖｉｅｗにおけるｒｅｆ＿ｉｄｘ＿ｌ１が最小のピクチャとＣｕｒｒＰｉｃとの間隔ｔｄＬ1、Ｂａｓｅ−Ｖｉｅｗにおけるｒｅｆ＿ｉｄｘ＿ｌ１が最小のピクチャとＣｏｌＰｉｃとの間隔ｔｂＬ1がスケーリングに利用される。この場合、ダイレクトベクトルｍｖＬ0、ｍｖＬ1は、下記の式（１０）及び式（１１）により得られる。
【０１１６】
ｍｖＬ0  ＝  ｂａｓｅｍｖＣｏｌ0・（ｔｂＬ0  ／  ｔｄＬ0）
…（１０）
ｍｖＬ1  ＝  ｂａｓｅｍｖＣｏｌ1・（ｔｂＬ1  ／  ｔｄＬ1）
…（１１）
上記のように、ｔｂＬ0、ｔｄＬ0、ｔｂＬ1、ｔｄＬ1を用いてスケーリングすることにより、ＣｕｒｒＭＢの予測時に他視点のピクチャが参照される場合でも基準ベクトルからダイレクトベクトルを得ることができる。つまり、ＣｕｒｒＭＢが視点間参照を利用する場合でも時間ダイレクトモードを適用することが可能になる。なお、１つの基準ベクトルを選択的に利用する方法や、１つ又は複数のダイレクトベクトルを選択して利用する方法など、様々な変形例が考えられる。
【０１１７】
図１２の例は、基準ベクトルｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1からダイレクトベクトルｍｖＬ0、ｍｖＬ1を計算し、１つのダイレクトベクトルを選択して利用する方法を示している。ダイレクトベクトルｍｖＬ0は、ピクチャ間隔ｔｂＬ0、ｔｄを利用して基準ベクトルｂａｓｅｍｖＣｏｌ0をスケーリングしたものである。一方、ダイレクトベクトルｍｖＬ1は、基準ベクトルｂａｓｅｍｖＣｏｌ1をＬ０方向に反転させたものである（ｍｖＬ1＝−ｂａｓｅｍｖＣｏｌ1）。ダイレクトベクトルの選択は、例えば、符号化コストに基づいて行われる。
【０１１８】
なお、図１２の例では、ピクチャＢ23を指すダイレクトベクトルを計算しているが、ダイレクトベクトルが指すピクチャの情報は、例えば、ＳＥＩ（Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）で指定することができる。ＳＥＩはヘッダ情報の一例である。図１２の例では、ｒｅｆ＿ｉｄｘ＿ｌ０＝２のピクチャを指すダイレクトベクトルが指定されている。
【０１１９】
上記のような方法を適用することで、基準ベクトルからダイレクトベクトルを得ることができる。以下、基準ベクトルの補正方法について述べる。
（基準ベクトルの補正＃１：最大面積）
第１の補正方法について述べる。
【０１２０】
図１３を参照する。既に述べたように、視点の異なるピクチャは、撮影位置や角度の違いから、完全に同じピクチャとはならない。そのため、視点間動きベクトルｉＭＶは有限の長さを有する。つまり、視点間動きベクトルｉＭＶが指すブロックｉＭＢは、ＣｏｌＰｉｃに含まれるマクロブロックのいずれかと完全に一致しない可能性が高い。例えば、ＣｏｌＰｉｃのマクロブロックＭＢ＃１、…、＃４と、視点間動きベクトルｉＭＶが指すブロックｉＭＢとが図１３に例示した位置関係にある場合について考える。なお、マクロブロックＭＢ＃１、…、＃４は周辺ブロックの一例である。
【０１２１】
マクロブロックＭＢ＃１、…、＃４、ブロックｉＭＢのサイズはそれぞれＮ×Ｍであるとする。図１３の例では、マクロブロックＭＢ＃１、＃２とブロックｉＭＢとが重なる面積は０である。また、マクロブロックＭＢ＃３とブロックｉＭＢとが重なる面積は、ｎｕｍy×（Ｎ−ｎｕｍx）である。そして、マクロブロックＭＢ＃４とブロックｉＭＢとが重なる面積は、ｎｕｍy×ｎｕｍxである。図１３の例では、（Ｎ−ｎｕｍx）よりもｎｕｍxの方が大きい。従って、マクロブロックＭＢ＃４とブロックｉＭＢとの重なり面積が最大となる。
【０１２２】
第１の補正方法は、重なり面積が最大となるマクロブロックＭＢ＃４を求め、重なり面積が最大となるマクロブロックＭＢ＃４の予測に用いる動きベクトルを基準ベクトルｂａｓｅｍｖＣｏｌに設定する方法である。つまり、第１の補正方法を採用する場合、基準ベクトル補正部１４１は、ブロックｉＭＢと周辺ブロックとの重なり面積を計算し、重なり面積が最大となるマクロブロックの予測に用いる動きベクトルを基準ベクトルｂａｓｅｍｖＣｏｌに設定する。第１の補正方法によれば、演算負荷の増大を抑制しつつ、視点間動きベクトルｉＭＶを考慮して基準ベクトルｂａｓｅｍｖＣｏｌの設定が可能になる。
【０１２３】
（基準ベクトルの補正＃２：加重平均）
第２の補正方法について述べる。ここでは、ＣｏｌＰｉｃのマクロブロックＭＢ＃１、…、＃４と、視点間動きベクトルｉＭＶが指すブロックｉＭＢとが図１４に例示した位置関係にある場合について考える。また、マクロブロックＭＢ＃１、…、＃４、ブロックｉＭＢのサイズはそれぞれＮ×Ｍであるとする。第２の補正方法は、ブロックｉＭＢの周辺に位置するマクロブロックＭＢ＃１、…、＃４の動きベクトルを加重平均し、加重平均で得られたベクトルを基準ベクトルｂａｓｅｍｖＣｏｌに設定するものである。以下、加重平均の計算方法について２通りの例（例１、例２）を示す。
【０１２４】
（例１：重なる面積に基づく加重平均の計算について）
図１４の例では、マクロブロックＭＢ＃１とブロックｉＭＢとが重なる面積Ｓ1は、ｄｘA×ｄｙAである。また、マクロブロックＭＢ＃２とブロックｉＭＢとが重なる面積Ｓ2は、ｄｘB×ｄｙAである。また、マクロブロックＭＢ＃３とブロックｉＭＢとが重なる面積Ｓ3は、ｄｘA×ｄｙBである。また、マクロブロックＭＢ＃４とブロックｉＭＢとが重なる面積Ｓ4は、ｄｘB×ｄｙBである。なお、ｄｘA、ｄｘB、ｄｙA、ｄｙBは画素数の単位で表現される。
【０１２５】
例１では、加重平均の計算に用いる評価値Ｃｏｓｔｘｙが上記の重なる面積Ｓ1、…、Ｓ4に基づいて計算される。評価値Ｃｏｓｔｘｙは、下記の式（１２）で与えられる。但し、Ｋは、予め設定された重み係数である。さらに、評価値Ｃｏｓｔｘｙを重みとする加重平均の計算により基準ベクトルｂａｓｅｍｖＣｏｌが計算される。例えば、基準ベクトルｂａｓｅｍｖＣｏｌは、下記の式（１３）に従って計算される。但し、ｂａｓｅｍｖＣｏｌx、ｂａｓｅｍｖＣｏｌyは、それぞれ基準ベクトルｂａｓｅｍｖＣｏｌのｘ成分、ｙ成分である。また、ＭＶｘi、ＭＶｙiは、それぞれマクロブロックＭＢ＃ｉの予測に用いる動きベクトルのｘ成分、ｙ成分である。
【０１２６】
Ｃｏｓｔｘｙi  ＝  Ｋ×Ｓi  （ｉ＝１，…，４）
…（１２）
【０１２７】
【数１】
2015122606.tif 000003
【０１２８】
（例２：重なる面積及び量子化値に基づく加重平均の計算について）
例２では、加重平均の計算に用いる評価値Ｃｏｓｔｘｙが上記の重なる面積Ｓ1、…、Ｓ4、符号化に用いた量子化値（量子化スケール値：ｑＰ値）、及び有効係数の数に基づいて計算される。ｑＰ値及び有効係数の数は統計情報取得部１０２により取得される。なお、符号化に用いた有効係数の個数や成分の絶対値が小さければ、予測結果の信頼度が高いと判断できる。また、有効係数が同程度であれば、使用したｑＰ値が小さいほど予測結果の信頼度が高いと判断できる。そのため、例２では、これらの値を利用する。
【０１２９】
評価値Ｃｏｓｔｘｙは、下記の式（１４）で与えられる。但し、Ｋは、予め設定された重み係数である。ｑＰiは、マクロブロックＭＢ＃ｉの符号化に用いたｑＰ値である。ｎｕｍＣｏｅｆiは、マクロブロックＭＢ＃ｉの符号化に用いた有効係数の数である。下記の式（１４）から明らかなように、重なる面積が大きいほど評価値Ｃｏｓｔｘｙは大きくなる。また、ｑＰ値が大きいほど評価値Ｃｏｓｔｘｙは大きくなる。さらに、有効係数の数が小さいほど、評価値Ｃｏｓｔｘｙは大きくなる。
【０１３０】
このようにして与えられた評価値Ｃｏｓｔｘｙを重みとする加重平均の計算により基準ベクトルｂａｓｅｍｖＣｏｌが計算される。例えば、基準ベクトルｂａｓｅｍｖＣｏｌは、上記の式（１３）に従って計算される。但し、ｂａｓｅｍｖＣｏｌx、ｂａｓｅｍｖＣｏｌyは、それぞれ基準ベクトルｂａｓｅｍｖＣｏｌのｘ成分、ｙ成分である。また、ＭＶｘi、ＭＶｙiは、それぞれマクロブロックＭＢ＃ｉの予測に用いる動きベクトルのｘ成分、ｙ成分である。
【０１３１】
【数２】
2015122606.tif 000004
【０１３２】
上記の方法により基準ベクトルｂａｓｅｍｖＣｏｌは補正され、ＣｕｒｒＭＢの予測に利用可能なダイレクトベクトルが得られる。
以上、符号化装置１００が有する機能について説明した。
【０１３３】
［２−６．復号装置の機能］
次に、図１５〜図１７を参照しながら、復号装置２００が有する機能について説明する。
【０１３４】
図１５は、第２実施形態に係る復号装置が有する機能の一例を示した第１のブロック図である。また、図１６は、第２実施形態に係る復号装置が有する機能の一例を示した第２のブロック図である。また、図１７は、第２実施形態に係る復号装置が有する機能の一例を示した第３のブロック図である。
【０１３５】
（２−６−１．全体）
図１５に示すように、復号装置２００は、第１視点復号部２０１、統計情報取得部２０２、及び第２視点復号部２０３を有する。なお、復号装置２００は、第１視点復号部２０１、統計情報取得部２０２、及び第２視点復号部２０３の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【０１３６】
第１視点復号部２０１には、Ｂａｓｅ−Ｖｉｅｗピクチャを符号化した符号化データ（以下、Ｂａｓｅ−Ｖｉｅｗ符号化データ）が入力される。第１視点復号部２０１は、入力されたＢａｓｅ−Ｖｉｅｗ符号化データを復号する。第１視点復号部２０１の機能については後段において詳述する。
【０１３７】
統計情報取得部２０２は、第１視点復号部２０１によるＢａｓｅ−Ｖｉｅｗ符号化データの復号時に得られる統計情報を取得する。統計情報としては、例えば、ｑＰ値や差分有効係数の個数などがある。統計情報取得部２０２により取得された統計情報は、第２視点復号部２０３に入力される。
【０１３８】
第２視点復号部２０３には、非Ｂａｓｅ−Ｖｉｅｗピクチャを符号化した符号化データ（以下、非Ｂａｓｅ−Ｖｉｅｗ符号化データ）が入力される。第２視点復号部２０３は、第１視点復号部２０１が復号に用いた動きベクトルやピクチャに関する情報、及び統計情報を用いて非Ｂａｓｅ−Ｖｉｅｗ符号化データを復号する。第２視点復号部２０３の機能については後段において詳述する。
【０１３９】
（２−６−２．第１視点復号部２０１の細部）
ここで、図１６を参照しながら、第１視点復号部２０１の機能について、さらに説明する。
【０１４０】
図１６に示すように、第１視点復号部２０１は、可変長復号部２１１、逆直交変換・逆量子化部２１２、予測モード取得部２１３、スイッチ２１４、及びイントラ予測部２１５を有する。また、第１視点復号部２０１は、動きベクトル取得部２１６、フレームメモリ２１７、動き補償部２１８、スイッチ２１９、及び加算器２２０を有する。さらに、第１視点復号部２０１は、動きベクトルメモリ２２１、基準ベクトル取得部２２２、及びダイレクトベクトル計算部２２３を有する。
【０１４１】
可変長復号部２１１には、Ｂａｓｅ−Ｖｉｅｗ符号化データ（Ｂａｓｅ−Ｖｉｅｗ側のビットストリーム）が入力される。Ｂａｓｅ−Ｖｉｅｗ符号化データが入力された可変長復号部２１１は、符号化装置１００が用いた可変長符号化に対応する方式でＢａｓｅ−Ｖｉｅｗ符号化データに対する可変長復号を実行し、量子化データなどの情報を復元する。このとき、可変長復号部２１１は、ＳＰＳ（Sequence Parameter Set）やＰＰＳ（Picture Parameter Set）などのヘッダ情報、マクロブロック毎の予測モードや動きベクトル、及び、差分係数などの情報も復元する。
【０１４２】
可変長復号部２１１により復元された予測モードなどの情報は、予測モード取得部２１３に入力される。また、可変長復号部２１１により復元されたヘッダ情報や差分係数などの情報は、統計情報取得部２０２に入力される。また、可変長復号部２１１により復元された量子化データは、逆直交変換・逆量子化部２１２に入力される。
【０１４３】
逆直交変換・逆量子化部２１２は、可変長復号部２１１から入力された量子化データを逆量子化して周波数成分のデータを復元する。また、逆直交変換・逆量子化部２１２は、周波数成分のデータに逆直交変換を施して予測誤差データを復元する。復元された予測誤差データは、加算器２２０に入力される。加算器２２０は、スイッチ２１９を介して入力されたＭＢデータと、逆直交変換・逆量子化部２１２により復元された予測誤差データとを加算して復号画像を生成する。
【０１４４】
加算器２２０により生成された復号画像は、フレームメモリ２１７に入力されると共に、復号結果として出力される。なお、復号画像にデブロッキングフィルタが施されるようにしてもよい。フレームメモリ２１７には、加算器２２０により入力された復号画像が格納される。フレームメモリ２１７に格納された復号画像は、動き補償部２１８により参照される。
【０１４５】
予測モード取得部２１３は、マクロブロック毎に予測モード（イントラ予測モード、前方向予測モード、後方向予測モード、双方向予測モード、ダイレクトモード）を判定する。なお、ブロック分割サイズが予測モードに付加されていてもよい。なお、スイッチ２１４は、予測モードの判定結果に応じて切り替えられる。予測モードがイントラ予測モードである場合、イントラ予測部２１５が、イントラ予測を用いて対象のマクロブロックを復号する。予測モードが前方向予測モード、後方向予測モード、双方向予測モードのいずれかである場合、動きベクトル取得部２１６が、可変長復号部２１１により復元された動きベクトルの情報を取得する。
【０１４６】
予測モードがダイレクトモードである場合、基準ベクトル取得部２２２が、ＣｏｌＰｉｃの復号時に用いた動きベクトルを動きベクトルメモリ２２１から取得する。また、基準ベクトル取得部２２２は、取得した動きベクトルを基準ベクトルｂａｓｅｍｖＣｏｌに設定する。基準ベクトル取得部２２２により設定された基準ベクトルｂａｓｅｍｖＣｏｌは、ダイレクトベクトル計算部２２３に入力される。ダイレクトベクトル計算部２２３は、基準ベクトルｂａｓｅｍｖＣｏｌをスケーリングしてダイレクトベクトルを計算する。
【０１４７】
ダイレクトベクトル計算部２２３により計算されたダイレクトベクトルは、動きベクトルメモリ２２１に格納される。動きベクトルメモリ２２１に格納されたダイレクトベクトルは、動き補償部２１８により参照される。動き補償部２１８は、ダイレクトベクトル、又は、動きベクトル取得部２１６により取得された動きベクトルを用いて、フレームメモリ２１７に格納されている復号画像（参照ピクチャ）の動き補償を実行し、動き補償後のＭＢデータを生成する。動き補償後のＭＢデータは、スイッチ２１９を介して加算器２２０に入力される。
【０１４８】
上記のように、Ｂａｓｅ−Ｖｉｅｗ符号化データの復号は、非Ｂａｓｅ−Ｖｉｅｗ符号化データの復号とは独立して実行される。
（２−６−３．第２視点復号部２０３の細部）
ここで、図１７を参照しながら、第２視点復号部２０３の機能について、さらに説明する。
【０１４９】
図１７に示すように、第２視点復号部２０３は、可変長復号部２３１、逆直交変換・逆量子化部２３２、予測モード取得部２３３、スイッチ２３４、及びイントラ予測部２３５を有する。また、第２視点復号部２０３は、動きベクトル取得部２３６、動き補償部２３７、フレームメモリ２３８、スイッチ２３９、及び加算器２４０を有する。さらに、第２視点復号部２０３は、動きベクトルメモリ２４１、基準ベクトル取得部２４２、基準ベクトル補正部２４３、及びダイレクトベクトル計算部２４４を有する。
【０１５０】
可変長復号部２３１には、非Ｂａｓｅ−Ｖｉｅｗ符号化データ（非Ｂａｓｅ−Ｖｉｅｗ側のビットストリーム）が入力される。非Ｂａｓｅ−Ｖｉｅｗ符号化データが入力された可変長復号部２３１は、符号化装置１００が用いた可変長符号化に対応する方式で非Ｂａｓｅ−Ｖｉｅｗ符号化データに対する可変長復号を実行し、量子化データなどの情報を復元する。このとき、可変長復号部２３１は、ＳＰＳやＰＰＳなどのヘッダ情報、マクロブロック毎の予測モードや動きベクトル、及び、差分係数などの情報も復元する。
【０１５１】
可変長復号部２３１により復元された予測モードなどの情報は、予測モード取得部２３３に入力される。また、可変長復号部２３１により復元された量子化データは、逆直交変換・逆量子化部２３２に入力される。
【０１５２】
逆直交変換・逆量子化部２３２は、可変長復号部２３１から入力された量子化データを逆量子化して周波数成分のデータを復元する。また、逆直交変換・逆量子化部２３２は、周波数成分のデータに逆直交変換を施して予測誤差データを復元する。復元された予測誤差データは、加算器２４０に入力される。加算器２４０は、スイッチ２３９を介して入力されたＭＢデータと、逆直交変換・逆量子化部２３２により復元された予測誤差データとを加算して復号画像を生成する。
【０１５３】
加算器２４０により生成された復号画像は、フレームメモリ２３８に入力されると共に、復号結果として出力される。なお、復号画像にデブロッキングフィルタが施されるようにしてもよい。フレームメモリ２３８には、加算器２４０により入力された復号画像が格納される。フレームメモリ２３８に格納された復号画像は、動き補償部２３７により参照される。
【０１５４】
予測モード取得部２３３は、マクロブロック毎に予測モード（イントラ予測モード、前方向予測モード、後方向予測モード、双方向予測モード、ダイレクトモード）を判定する。なお、ブロック分割サイズが予測モードに付加されていてもよい。なお、スイッチ２３４は、予測モードの判定結果に応じて切り替えられる。予測モードがイントラ予測モードである場合、イントラ予測部２３５が、イントラ予測を用いて対象のマクロブロックを復号する。予測モードが前方向予測モード、後方向予測モード、双方向予測モードのいずれかである場合、動きベクトル取得部２３６が、可変長復号部２３１により復元された動きベクトルの情報を取得する。
【０１５５】
予測モードがダイレクトモードである場合、基準ベクトル取得部２４２が、ＣｕｒｒＭＢの予測に用いる動きベクトルを動きベクトルメモリ２４１から取得する。また、基準ベクトル取得部２４２は、ＣｕｒｒＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶであるか否かを判定する。
【０１５６】
ＣｕｒｒＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶである場合、基準ベクトル取得部２４２は、ＣｕｒｒＭＢと同位置にあるＣｏｌＰｉｃのマクロブロック（ＣｏｌＭＢ）を特定する。そして、基準ベクトル取得部２４２は、第１視点復号部２０１の動きベクトルメモリ２２１からＣｏｌＭＢの動きベクトルを取得する（図５を参照）。なお、ＣｏｌＰｉｃは、ＣｕｒｒＰｉｃと同じ時刻（同ＰＯＣ）のＢａｓｅ−Ｖｉｅｗピクチャである。この場合、基準ベクトル取得部２４２により取得された動きベクトルは、基準ベクトル補正部２４３に入力される。
【０１５７】
一方、ＣｕｒｒＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶでない場合、基準ベクトル取得部２４２は、ＣｕｒｒＭＢと同位置にあるＣｏｌＰｉｃのマクロブロック（ＣｏｌＭＢ）を特定する。この場合、ＣｏｌＰｉｃは、非Ｂａｓｅ−Ｖｉｅｗピクチャである。また、基準ベクトル取得部２４２は、ＣｏｌＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶであるか否かを判定する。
【０１５８】
ＣｏｌＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶである場合、基準ベクトル取得部２４２は、ＣｏｌＭＢの予測に用いる視点間動きベクトルｉＭＶが指すＢａｓｅ−Ｖｉｅｗピクチャのマクロブロック（ＲｅｆＭＢ）を特定する。そして、基準ベクトル取得部２４２は、第１視点復号部２０１の動きベクトルメモリ２２１からＲｅｆＭＢの動きベクトルを取得する（図４を参照）。この場合、基準ベクトル取得部２４２により取得された動きベクトルは、基準ベクトル補正部２４３に入力される。
【０１５９】
一方、ＣｏｌＭＢの予測に用いる動きベクトルが視点間動きベクトルｉＭＶでない場合、基準ベクトル取得部２４２は、ＣｕｒｒＭＢと同位置にあるＣｏｌＰｉｃのマクロブロック（ＣｏｌＭＢ）を特定し、ＣｏｌＭＢの動きベクトルを動きベクトルメモリ２４１から取得する（図２を参照）。この場合、基準ベクトル取得部２４２により取得された動きベクトルは、基準ベクトルｂａｓｅｍｖＣｏｌとしてダイレクトベクトル計算部２４４に入力される。
【０１６０】
基準ベクトル補正部２４３は、統計情報取得部２０２から入力された統計情報に基づき、基準ベクトル取得部２４２から入力された動きベクトルを補正して基準ベクトルｂａｓｅｍｖＣｏｌを生成する。基準ベクトルｂａｓｅｍｖＣｏｌを生成する際に行う補正方法は、符号化装置１００が符号化の際に行った補正方法と同じ方法である。基準ベクトル補正部２４３により生成された基準ベクトルｂａｓｅｍｖＣｏｌは、ダイレクトベクトル計算部２４４に入力される。
【０１６１】
ダイレクトベクトル計算部２４４は、基準ベクトルｂａｓｅｍｖＣｏｌを時間配分でスケーリングし、ＣｕｒｒＭＢの動きベクトル（ダイレクトベクトル）を生成する。なお、スケーリングの方法は、符号化装置１００が符号化の際に行ったスケーリング方法と同じ方法である。ダイレクトベクトル計算部２４４により生成されたダイレクトベクトルは、動きベクトルメモリ２４１に格納される。動きベクトルメモリ２４１に格納されたダイレクトベクトルは、動き補償部２３７により参照される。
【０１６２】
動き補償部２３７は、ダイレクトベクトル、又は、動きベクトル取得部２３６により取得された動きベクトルを用いて、フレームメモリ２３８に格納されている復号画像（参照ピクチャ）の動き補償を実行し、動き補償後のＭＢデータを生成する。動き補償後のＭＢデータは、スイッチ２３９を介して加算器２４０に入力される。
【０１６３】
上記のように、非Ｂａｓｅ−Ｖｉｅｗ符号化データの復号は、Ｂａｓｅ−Ｖｉｅｗ符号化データの復号結果を利用して実行される。
以上、復号装置２００が有する機能について説明した。
【０１６４】
［２−７．処理フロー］
次に、図１８〜図２０を参照しながら、符号化装置１００が実行する符号化処理の流れについて説明する。
【０１６５】
図１８は、第２実施形態に係る符号化処理の流れを示した第１のフロー図である。また、図１９は、第２実施形態に係る符号化処理の流れを示した第２のフロー図である。また、図２０は、第２実施形態に係る符号化処理の流れを示した第３のフロー図である。
【０１６６】
（２−７−１．全体）
図１８を参照しながら、符号化処理の全体的な流れについて説明する。
なお、符号化対象のピクチャをＣｕｒｒＰｉｃ、符号化対象のマクロブロックをＣｕｒｒＭＢ、ＣｕｒｒＭＢの予測に用いる動きベクトルｍｖＣｏｌが指すピクチャをＣｏｌＰｉｃと表記する。また、視点間動きベクトルをｉＭＶ、基準ベクトルをｂａｓｅｍｖＣｏｌ、ダイレクトベクトルをｍｖＬ0、ｍｖＬ1と表記する。また、ＣｕｒｒＭＢと同位置にあるＣｏｌＰｉｃ内のマクロブロックをＣｏｌＭＢ、ＣｏｌＭＢの予測に用いる動きベクトルをｍｖＲｅｆ、ｍｖＲｅｆが指すピクチャをＲｅｆＰｉｃＣｏｌ、ｉＭＶが指すブロックをｉＭＢと表記する。
【０１６７】
（Ｓ１０１）符号化装置１００は、符号化方式がＭＶＣ方式であり、かつ、ＣｕｒｒＰｉｃが双方向予測を用いて符号化されるピクチャ（Ｂピクチャ）であるか否かを判定する。符号化方式がＭＶＣ方式であり、かつ、ＣｕｒｒＰｉｃがＢピクチャである場合、処理はＳ１０２へと進む。一方、符号化方式がＭＶＣ方式でないか、ＣｕｒｒＰｉｃがＢピクチャでない場合、処理はＳ１０８へと進む。
【０１６８】
（Ｓ１０２）符号化装置１００は、ＣｏｌＰｉｃが他視点のピクチャであるか否かを判定する。ＣｏｌＰｉｃが他視点のピクチャである場合（つまり、ｍｖＣｏｌが視点間動きベクトルｉＭＶである場合）、処理はＳ１０３へと進む。一方、ＣｏｌＰｉｃが他視点のピクチャでない場合、処理はＳ１０５へと進む。
【０１６９】
（Ｓ１０３）符号化装置１００は、視点間動きベクトルｉＭＶ（ｍｖＣｏｌ）を用いて基準ベクトルｂａｓｅｍｖＣｏｌを計算する。なお、基準ベクトルｂａｓｅｍｖＣｏｌの計算処理については後段において詳述する。
【０１７０】
（Ｓ１０４）符号化装置１００は、基準ベクトルｂａｓｅｍｖＣｏｌをスケーリングしてダイレクトベクトルｍｖＬ0、ｍｖＬ1を計算する。例えば、符号化装置１００は、図１１、図１２に示すような方法で基準ベクトルｂａｓｅｍｖＣｏｌをスケーリングする。Ｓ１０４の処理が完了すると、処理は、Ｓ１０８へと進む。
【０１７１】
（Ｓ１０５）符号化装置１００は、ＲｅｆＰｉｃＣｏｌが他視点のピクチャであるか否かを判定する。ＲｅｆＰｉｃＣｏｌが他視点のピクチャである場合（つまり、ｍｖＲｅｆが視点間動きベクトルｉＭＶである場合）、処理はＳ１０６へと進む。一方、ＲｅｆＰｉｃＣｏｌが他視点のピクチャでない場合、処理はＳ１０８へと進む。
【０１７２】
（Ｓ１０６）符号化装置１００は、視点間動きベクトルｉＭＶ（ｍｖＲｅｆ）を用いて基準ベクトルｂａｓｅｍｖＣｏｌを計算する。なお、基準ベクトルｂａｓｅｍｖＣｏｌの計算処理については後段において詳述する。
【０１７３】
（Ｓ１０７）符号化装置１００は、基準ベクトルｂａｓｅｍｖＣｏｌをスケーリングしてダイレクトベクトルｍｖＬ0、ｍｖＬ1を計算する。例えば、符号化装置１００は、図４に示すような方法で基準ベクトルｂａｓｅｍｖＣｏｌをスケーリングする。
【０１７４】
（Ｓ１０８）符号化装置１００は、ＣｕｒｒＭＢの予測に用いる好適な予測モードを判定する。例えば、符号化装置１００は、５つの予測モード（イントラ予測モード、前方向予測モード、後方向予測モード、双方向予測モード、ダイレクトモード）のうち、符号化コストが最も小さくなる予測モードを選択して判定結果とする。
【０１７５】
（Ｓ１０９）符号化装置１００は、Ｓ１０８の処理で選択した予測モードを用いてＣｕｒｒＰｉｃを符号化する。
（Ｓ１１０）符号化装置１００は、ＣｕｒｒＰｉｃに含まれる全てのマクロブロック（１ピクチャ分）について符号化処理が終了したか否かを判定する。ＣｕｒｒＰｉｃに含まれる全てのマクロブロックについて符号化処理が終了した場合、図１８に示した一連の処理は終了する。一方、ＣｕｒｒＰｉｃに含まれる全てのマクロブロックについて符号化処理が終了していない場合、処理はＳ１０２へと進む。
【０１７６】
（２−７−２．基準ベクトルの計算）
ここで、図１９を参照しながら、Ｓ１０３、Ｓ１０６の処理について、さらに説明する。
【０１７７】
（Ｓ１２１）符号化装置１００は、視点間動きベクトルｉＭＶが指すブロックｉＭＢと、ブロックｉＭＢの周辺に位置する周辺ブロックとの重なり面積を計算する。
（Ｓ１２２）符号化装置１００は、Ｓ１２１の処理で計算した重なり面積が最も大きい周辺ブロックを選択するか否かを判定する。つまり、符号化装置１００は、図１３に示した基準ベクトルｂａｓｅｍｖＣｏｌの補正方法を採用するか否かを判定する。なお、採用する補正方法は予め設定されているものとする。重なり面積が最も大きい周辺ブロックを選択する場合、処理はＳ１２３へと進む。一方、重なり面積が最も大きい周辺ブロックを選択しない場合、処理はＳ１２４へと進む。
【０１７８】
（Ｓ１２３）符号化装置１００は、ブロックｉＭＢの中心座標を含む周辺ブロックを特定する。そして、符号化装置１００は、特定した周辺ブロックの動きベクトルを基準ベクトルｂａｓｅｍｖＣｏｌに設定する。なお、図１３に関する説明では、周辺ブロック毎に重なり面積を計算し、重なり面積の最大値に対応する周辺ブロックを選択する方法を紹介したが、ブロックｉＭＢの中心座標を含む周辺ブロックを特定する方法でも同様の結果を得ることができる。Ｓ１２３の処理が完了すると、図１９に示した一連の処理は終了する。
【０１７９】
（Ｓ１２４）符号化装置１００は、ｉＭＢと周辺ブロックとの重なり面積に基づいて周辺ブロックの動きベクトルを加重平均する。例えば、符号化装置１００は、上記の式（１２）〜式（１４）に基づいて加重平均を計算する。なお、加重平均の計算処理については後段において詳述する。
【０１８０】
（Ｓ１２５）符号化装置１００は、周辺ブロックの動きベクトルを加重平均して得られたベクトルを基準ベクトルｂａｓｅｍｖＣｏｌに設定する。Ｓ１２５の処理が完了すると、図１９に示した一連の処理は終了する。
【０１８１】
（２−７−３．加重平均の計算）
ここで、図２０を参照しながら、Ｓ１２４の処理について、さらに説明する。
（Ｓ１３１）符号化装置１００は、ブロックｉＭＢと重なる周辺ブロックの１つを選択する。
【０１８２】
（Ｓ１３２）符号化装置１００は、Ｓ１３１の処理で選択した周辺ブロックとブロックｉＭＢとに関する重なり面積を取得する。
（Ｓ１３３）符号化装置１００は、Ｓ１３２の処理で取得した重なり面積に基づいて評価値を計算する。例えば、符号化装置１００は、上記の式（１２）又は式（１４）に基づいて評価値Ｃｏｓｔｘｙを計算する。
【０１８３】
（Ｓ１３４）符号化装置１００は、ブロックｉＭＢと重なる周辺ブロックの全てを選択し、各周辺ブロックに関する評価値Ｃｏｓｔｘｙを計算したか否かを判定する。ブロックｉＭＢと重なる周辺ブロックの全てを選択し終えている場合、処理はＳ１３５へと進む。一方、ブロックｉＭＢと重なる周辺ブロックの全てを選択し終えていない場合、処理はＳ１３１へと進む。
【０１８４】
（Ｓ１３５）符号化装置１００は、Ｓ１３３の処理で計算した各周辺ブロックの評価値Ｃｏｓｔｘｙを用いて各周辺ブロックの予測に用いる動きベクトルの加重平均を計算する。例えば、符号化装置１００は、上記の式（１３）に基づいて加重平均を計算する。Ｓ１３５の処理が完了すると、図２０に示した一連の処理は終了する。
【０１８５】
以上、符号化装置１００が実行する符号化処理の流れについて説明した。
以上説明したように、第２実施形態に係る技術を適用すれば、ＣｕｒｒＰｉｃ及びＣｏｌＰｉｃに視点間予測が適用されている場合であっても、時間ダイレクトモードを利用することが可能になる。その結果、多視点動画符号化における符号化効率の更なる向上に寄与する。
【０１８６】
以上、第２実施形態について説明した。
＜３．第３実施形態＞
次に、図２１及び図２２を参照しながら、第３実施形態について説明する。図２１は、第３実施形態に係る符号化方法について説明するための第１の図である。図２２は、第３実施形態に係る符号化方法について説明するための第２の図である。第３実施形態は、Ｈ．２６５／ＨＥＶＣ方式への適用例に相当し、視点間予測とマージモードとを組み合わせる仕組みを提供する。なお、Ｈ．２６５／ＨＥＶＣ方式では、予測符号化の単位としてＰＵ（Prediction Unit）が用いられる。
【０１８７】
マージモードとは、符号化対象のＰＵ（以下、ＣｕｒｒＰＵ）の時間近傍及び空間近傍に位置するＰＵの中から、そのまま流用可能な動きパラメータを有するＰＵを選択し、選択したＰＵの動きパラメータを共通化する方法である。マージモードを適用すると、選択したＰＵの位置を示すインデックスだけを符号化すれば済むため、符号化効率の向上に寄与する。以下、Ｈ．２６５／ＨＥＶＣ方式で採用されている空間近傍予測、時間近傍予測、及びこれらの予測方法と視点間予測との関係などについて述べる。
【０１８８】
Ｈ．２６５／ＨＥＶＣ方式では、ＡＭＶＰ（Adaptive Motion Vector Prediction）と呼ばれる動きベクトルの予測技術が採用されている。ＡＭＶＰでは、予測値の候補として、同一ピクチャ上にある空間近傍の動きベクトルだけでなく、符号化済みの参照ピクチャ上にある時間近傍の動きベクトルも考慮される。
【０１８９】
例えば、図２１の（Ａ）に示した画素Ａ0、Ａ1、Ｂ0、Ｂ1、Ｂ2のそれぞれを含むＰＵの動きベクトル（ｍｖＬA0、ｍｖＬA1、ｍｖＬB0、ｍｖＬB1、ｍｖＬB2）が空間近傍における予測値の候補となる。また、図２１の（Ｂ）に示した画素Ｃ0、Ｃ1のそれぞれを含むＰＵの動きベクトル（ｍｖＬC0、ｍｖＬC1）が時間近傍における動きベクトルの候補となる。さらに、ｍｖＬA0、ｍｖＬA1から選ばれたｍｖＬA、ｍｖＬB0、ｍｖＬB1、ｍｖＬB2から選ばれたｍｖＬB、ｍｖＬC0、ｍｖＬC1から選ばれたｍｖＬC、及びゼロベクトルの中から予測値の候補が絞り込まれる。
【０１９０】
このようにして絞り込まれた予測値の候補を利用してＣｕｒｒＰＵの予測が行われる。ここで、時間近傍予測値の導出方法に注目する。Ｈ．２６５／ＨＥＶＣ方式では、時間近傍予測値（ＣｕｒｒＰＵの動きベクトル）の導出時に、Ｈ．２６４／ＡＶＣ方式の時間ダイレクトモードと同様のスケーリング処理が行われる。
【０１９１】
例えば、ＣｕｒｒＰＵと同位置（画素Ｃ1を含む位置）にある時間近傍ピクチャ（ＣｏｌＰｉｃ）内のＰＵを予測する動きベクトルｍｖＣｏｌをスケーリングする処理が行われる。このとき、ＣｏｌＰｉｃの対象ＰＵ（例えば、画素Ｃ1を含むＰＵ）が参照する参照ピクチャとＣｏｌＰｉｃとの距離ｔｄ、ＣｕｒｒＰＵが参照する参照ピクチャとＣｕｒｒＰＵを含むピクチャ（ＣｕｒｒＰｉｃ）との距離ｔｂが利用される。スケーリングの方法は、図２に例示した時間ダイレクトモードと同様である。
【０１９２】
ＣｕｒｒＰＵに視点間予測を適用する場合、図２２のような状況が生じると考えられる。つまり、非Ｂａｓｅ−Ｖｉｅｗ（Ｄｅｐｅｎｄｅｎｔ  Ｖｉｅｗ）側のＣｕｒｒＰＵが視点間動きベクトルｉＭＶによりＢａｓｅ−ＶｉｅｗピクチャのＣｏｌＰＵ（例えば、画素Ｄ1を含むＰＵ）を参照する。この場合、上記のスケーリング処理はできない。しかし、図１１に例示した方法を適用すればスケーリング処理が可能になるため、時間近傍予測値を利用してＣｕｒｒＰＵの動きベクトルを予測することが可能になる。その結果、Ｈ．２６５／ＨＥＶＣ方式においても符号化効率の向上が期待できる。
【０１９３】
以上、第３実施形態について説明した。
以上、添付図面を参照しながら好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、様々な変形例や修正例に想到し得ることは明らかであり、こうした変形例や修正例についても当然に本発明の技術的範囲に属することは言うまでもない。
【符号の説明】
【０１９４】
１０  画像符号化装置
１１  記憶部
１２  演算部
２１、２２  動画像
Ｐｉｃ10、Ｐｉｃ11、Ｐｉｃ12、Ｐｉｃ13、Ｐｉｃ14、Ｐｉｃ15、Ｐｉｃ20、Ｐｉｃ21、Ｐｉｃ22、Ｐｉｃ23、Ｐｉｃ24、Ｐｉｃ25、ＣｏｌＰｉｃ  画像
ＣｕｒｒＰｉｃ  対象画像
ｂａｓｅｍｖＣｏｌ0、ｂａｓｅｍｖＣｏｌ1、ｍｖＬ0、ｍｖＬ1  動き情報
ｍｖＣｏｌ  視点間動き情報
ｔｂＬ0、ｔｂＬ1、ｔｄＬ0、ｔｄＬ1  時間
【図１】
2015122606.tif 000005
【図２】
2015122606.tif 000006
【図３】
2015122606.tif 000007
【図４】
2015122606.tif 000008
【図５】
2015122606.tif 000009
【図６】
2015122606.tif 000010
【図７】
2015122606.tif 000011
【図８】
2015122606.tif 000012
【図９】
2015122606.tif 000013
【図１０】
2015122606.tif 000014
【図１１】
2015122606.tif 000015
【図１２】
2015122606.tif 000016
【図１３】
2015122606.tif 000017
【図１４】
2015122606.tif 000018
【図１５】
2015122606.tif 000019
【図１６】
2015122606.tif 000020
【図１７】
2015122606.tif 000021
【図１８】
2015122606.tif 000022
【図１９】
2015122606.tif 000023
【図２０】
2015122606.tif 000024
【図２１】
2015122606.tif 000025
【図２２】
2015122606.tif 000026