(57)【特許請求の範囲】
【請求項１】
第一の残差予測動き補償画像および第二の残差予測動き補償画像を導出する参照画像補間部と、
上記２つの残差予測動き補償画像の差分から残差を導出し、動き補償画像に上記残差を加算することにより残差補償予測画像を導出する残差合成部を備える残差予測装置において、
上記参照画像補間部は、対象ブロックのインタービュー予測フラグが０の場合、
（ア）上記第一の残差予測動き補償画像の参照ピクチャを、上記参照ピクチャのＰＯＣと上記対象ブロックの参照ビューＩＤに基づいて選択されるピクチャに設定し、
（イ）上記第一の残差予測動き補償画像の動きベクトルを変位ベクトルに設定し、
（ウ）上記第二の残差予測動き補償画像の動きベクトルを、上記対象ブロックの動きベクトルをスケーリングしたベクトルと上記第一の残差予測動き補償画像の動きベクトルの和に設定し、
上記参照ピクチャのＰＯＣと対象ピクチャのＰＯＣは等しく、
上記残差合成部は、
色成分が輝度の場合には、上記動き補償画像に上記残差を加算することにより上記対象ブロックの残差補償予測画像を導出し、
色成分が色差の場合かつ、上記対象ブロックの幅が所定のサイズより大きい場合に、上記動き補償画像に上記残差を加算することにより当該対象ブロックの残差補償予測画像を導出し、
色成分が色差の場合かつ、上記対象ブロックの幅が所定のサイズ以下の場合に、上記動き補償画像を当該対象ブロックの残差補償予測画像として導出することを特徴とする残差予測装置。
【請求項２】
上記参照画像補間部は、双線形補間により、上記動き補償画像および上記残差補償予測画像を生成することを特徴とする請求項１に記載の残差予測装置。
【請求項３】
残差予測インデックスを復号する残差予測インデックス復号部と、上記請求項１または請求項２に記載の残差予測装置を備える画像復号装置であって、
上記残差予測インデックス復号部は、上記対象ブロックを含む符号化ユニットの分割モードが２Ｎ×２Ｎの場合に、上記残差予測インデックスを復号し、それ以外の場合には、上記残差予測インデックスに０を設定することを特徴とする画像復号装置。
【請求項４】
残差予測インデックスを符号化する残差予測インデックス符号化部と、上記請求項１または請求項２に記載の残差予測装置を備える画像符号化装置であって、
上記残差予測インデックス符号化部は、上記対象ブロックを含む符号化ユニットの分割モードが２Ｎ×２Ｎの場合に、上記残差予測インデックスを符号化し、それ以外の場合には、上記残差予測インデックスに０を設定することを特徴とする画像符号化装置。
【請求項５】
第一の残差予測動き補償画像および第二の残差予測動き補償画像を導出する参照画像補間工程と、
上記２つの残差予測動き補償画像の差分から残差を導出し、動き補償画像に上記残差を加算することにより残差補償予測画像を導出する残差合成工程を備える残差予測方法において、
上記参照画像補間工程は、対象ブロックのインタービュー予測フラグが０の場合、
（ア）上記第一の残差予測動き補償画像の参照ピクチャを、上記参照ピクチャのＰＯＣと上記対象ブロックの参照ビューＩＤに基づいて選択されるピクチャに設定し、
（イ）上記第一の残差予測動き補償画像の動きベクトルを変位ベクトルに設定し、
（ウ）上記第二の残差予測動き補償画像の動きベクトルを、上記対象ブロックの動きベクトルをスケーリングしたベクトルと上記第一の残差予測動き補償画像の動きベクトルの和に設定し、
上記参照ピクチャのＰＯＣと対象ピクチャのＰＯＣは等しく、
上記残差合成工程は、
色成分が輝度の場合には、上記動き補償画像に上記残差を加算することにより上記対象ブロックの残差補償予測画像を導出し、
色成分が色差の場合かつ、上記対象ブロックの幅が所定のサイズより大きい場合に、上記動き補償画像に上記残差を加算することにより当該対象ブロックの残差補償予測画像を導出し、
色成分が色差の場合かつ、上記対象ブロックの幅が所定のサイズ以下の場合に、上記動き補償画像を当該対象ブロックの残差補償予測画像として導出することを特徴とする残差予測方法。
【請求項６】
上記参照画像補間工程は、双線形補間により、上記動き補償画像および上記残差補償予測画像を生成することを特徴とする請求項５に記載の残差予測方法。
【請求項７】
残差予測インデックスを復号する残差予測インデックス復号工程と、上記請求項５または請求項６に記載の残差予測方法を備える画像復号方法であって、
上記残差予測インデックス復号工程は、上記対象ブロックを含む符号化ユニットの分割モードが２Ｎ×２Ｎの場合に、上記残差予測インデックスを復号し、それ以外の場合には、上記残差予測インデックスに０を設定することを特徴とする画像復号方法。
【請求項８】
残差予測インデックスを符号化する残差予測インデックス符号化工程と、上記請求項５または請求項６に記載の残差予測方法を備える画像符号化方法であって、
上記残差予測インデックス符号化工程は、上記対象ブロックを含む符号化ユニットの分割モードが２Ｎ×２Ｎの場合に、上記残差予測インデックスを符号化し、それ以外の場合には、上記残差予測インデックスに０を設定することを特徴とする画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、画像復号装置、画像符号化装置に関する。
【背景技術】
【０００２】  複数視点の画像符号化技術には、複数の視点の画像を符号化する際に画像間の視差を予測することによって情報量を低減する視差予測符号化や、その符号化方法に対応した復号方法が提案されている。視点画像間の視差を表すベクトルを変位ベクトルと呼ぶ。変位ベクトルは、水平方向の要素（ｘ成分）と垂直方向の要素（ｙ成分）を有する２次元のベクトルであり、１つの画像を分割した領域であるブロック毎に算出される。また、複数視点の画像を取得するには、それぞれの視点に配置されたカメラを用いることが一般的である。複数視点の符号化では、各視点画像は、複数のレイヤにおいてそれぞれ異なるレイヤとして符号化される。複数のレイヤから構成される動画像の符号化方法は、一般に、スケーラブル符号化又は階層符号化と呼ばれる。スケーラブル符号化では、レイヤ間で予測を行うことで、高い符号化効率を実現する。レイヤ間で予測を行わずに基準となるレイヤは、ベースレイヤ、それ以外のレイヤは拡張レイヤと呼ばれる。レイヤが視点画像から構成される場合のスケーラブル符号化を、ビュースケーラブル符号化と呼ぶ。このとき、ベースレイヤはベースビュー、拡張レイヤは非ベースビューとも呼ばれる。さらに、ビュースケーラブルに加え、レイヤがテクスチャレイヤ（画像レイヤ）とデプスレイヤ（距離画像レイヤ）から構成される場合のスケーラブル符号化は、３次元スケーラブル符号化と呼ばれる。【０００３】  また、スケーラブル符号化には、ビュースケーラブル符号化の他、空間的スケーラブル符号化（ベースレイヤとして解像度の低いピクチャ、拡張レイヤが解像度の高いピクチャを処理）、ＳＮＲスケーラブル符号化（ベースレイヤとして画質の低いピクチャ、拡張レイヤとして解像度の高いピクチャを処理）等がある。スケーラブル符号化では、例えばベースレイヤのピクチャを、拡張レイヤのピクチャの符号化において、参照ピクチャとして用いることがある。【０００４】  非特許文献１では、予測ユニットを小さいサブブロックに分割し、サブブロックごとに変位ベクトルを用いて予測をすることにより、精度の高い予測画像を得る視点合成予測と呼ばれる技術が知られている。また、非特許文献１では、対象ビューとは異なるビューの画像を用いて残差を推定して加算する残差予測とよばれる技術が知られている。また、非特許文献１では、インタービューマージ候補など、拡張マージ候補を導出する技術が知られている。【０００５】  非特許文献２では、残差予測ブロックをさらに複数のサブブロックに分割する技術が知られている。また、非特許文献２では、時間方向の残差予測において、対象ブロックと同じビューＩＤ、でかつ、対象ブロックの属するピクチャ（対象ピクチャ）とは異なるピクチャのブロックのベクトルを用いることで、視差ベクトルの精度を向上させる技術が知られている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】3D-HEVC Draft Text 2, JCT3V-F1001-v4, JCT-3V 6th Meeting: CH, 25 Oct. - 1 Nov. 2013（2013年12月14日公開）
【非特許文献２】CE4: Further improvements on advanced residual prediction, JCT3V-G0121-v1, JCT-3V 7th Meeting: CH, 25 Oct. - 1 Nov. 2013（2014年1月3日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００７】  非特許文献１の残差予測では、残差を導出するために２つの動き補償画像を生成し差分を導出する処理量が大きいという課題がある。特に、ブロックサイズが小さい場合には、動き補償画像を生成するための画像の転送および補間のオーバーヘッドが大きいため、ワーストケースの処理量が大きいという課題がある。【０００８】  非特許文献２では、サブブロックに分割するためブロックサイズが小さくなり、さらに処理量が大きくなるという課題がある。
【課題を解決するための手段】
【０００９】  本発明の１つの形態は、２つの残差予測動き補償画像を導出する参照画像補間部と、前記２つの残差予測動き補償画像の差分から残差を導出し、補間画像に上記残差を加算することにより予測画像を導出する残差合成部を備える残差予測装置において、上記残差合成部は、対象ブロックサイズが所定のブロックサイズより大きい場合に、上記動き補償画像に上記残差を加算することにより予測画像を導出し、対象ブロックサイズが所定のブロックサイズ以下の場合に、上記補間画像を予測画像として導出することを特徴とする残差予測装置。
【発明の効果】
【００１０】  本発明によれば、残差予測を行う場合をブロックサイズに応じて制限するため処理量が低減するという効果を奏する。さらに、輝度ブロックをサブブロックに分割して残差予測を行い、色差ブロックをサブブロックに分割せずに残差予測を行うことにより、ブロックサイズによる制限による符号化低下を低減しつつ処理量を低減する効果を奏する。さらに、また、上記対象ブロックが変位予測ではない場合（ivRefFlagが０の場合）に、変位ベクトルを更新することにより、ブロックサイズによる制限による符号化低下を低減しつつ処理量を低減する効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る画像伝送システムの構成を示す概略図である。
【図２】本実施形態に係る符号化ストリームのデータの階層構造を示す図である。
【図３】参照ピクチャリストの一例を示す概念図である。
【図４】参照ピクチャの例を示す概念図である。
【図５】本実施形態に係る画像復号装置の構成を示す概略図である。
【図６】本実施形態に係るインター予測パラメータ復号部の構成を示す概略図である。
【図７】本実施形態に係るマージモードパラメータ導出部の構成を示す概略図である。
【図８】本実施形態に係るAMVP予測パラメータ導出部の構成を示す概略図である。
【図９】分割モードのパターンを示す図であり、（ａ）〜（ｈ）は、それぞれ、分割モードが、２Ｎ×２Ｎ、２Ｎ×Ｎ、２Ｎ×ｎＵ、２Ｎ×ｎＤ、Ｎ×２Ｎ、ｎＬ×２Ｎ、ｎＲ×２Ｎ、および、Ｎ×Ｎの場合のパーティション形状について示している。
【図１０】本実施形態に係るインター予測パラメータ復号制御復号部の構成を示す概略図である。
【図１１】本実施形態に係るインター予測画像生成部の構成を示す概略図である。
【図１２】視点合成部におけるサブブロックの分割方法を説明する図である。
【図１３】視点合成部におけるサブブロックの分割方法を説明する図である。
【図１４】本実施形態に係る残差予測の概念図（その１）である。
【図１５】本実施形態に係る残差予測の概念図（その２）である。
【図１６】本実施形態に係る視点合成予測部の構成を示す概略図である。
【図１７】マージ候補リストの一例を示す図である。
【図１８】空間マージ候補が参照する隣接ブロックの位置を示す図である
【図１９】本実施形態に係る画像符号化装置の構成を示すブロック図である。
【図２０】本実施形態に係るインター予測パラメータ符号化部の構成を示す概略図である。
【図２１】本実施形態の残差合成部３０９２３の動作を示すフローチャートである。
【図２２】本実施形態の残差合成部３０９２３の動作を示すフローチャートである。
【図２３】本実施形態の残差予測部３０９２Ｂの動作を説明するための図である。
【図２４】本実施形態の残差予測部３０９２Ｃの動作を説明するための図である。
【図２５】残差予測部３０９２Ｃの比較例の残差予測部の動作を説明するための図である。
【図２６】残差予測部３０９２Ｃの詳細動作を説明するフローチャートである。
【図２７】残差予測部３０９２Ｃの別の詳細動作を説明するフローチャートである。
【発明を実施するための形態】
【００１２】    （第１の実施形態）  以下、図面を参照しながら本発明の実施形態について説明する。
【００１３】  図１は、本実施形態に係る画像伝送システム１の構成を示す概略図である。
【００１４】  画像伝送システム１は、複数のレイヤ画像を符号化した符号を伝送し、伝送された符号を復号した画像を表示するシステムである。画像伝送システム１は、画像符号化装置１１、ネットワーク２１、画像復号装置３１及び画像表示装置４１を含んで構成される。
【００１５】  画像符号化装置１１には、複数のレイヤ画像（テクスチャ画像ともいう）を示す信号Ｔが入力される。レイヤ画像とは、ある解像度及びある視点で視認もしくは撮影される画像である。複数のレイヤ画像を用いて３次元画像を符号化するビュースケーラブル符号化を行う場合、複数のレイヤ画像のそれぞれは、視点画像と呼ばれる。ここで、視点は撮影装置の位置又は観測点に相当する。例えば、複数の視点画像は、被写体に向かって左右の撮影装置のそれぞれが撮影した画像である。画像符号化装置１１は、この信号のそれぞれを符号化して符号化ストリームＴｅ（符号化データ）を生成する。符号化ストリームＴｅの詳細については、後述する。視点画像とは、ある視点において観測される２次元画像（平面画像）である。視点画像は、例えば２次元平面内に配置された画素毎の輝度値、又は色信号値で示される。以下では、１枚の視点画像又は、その視点画像を示す信号をピクチャ（ｐｉｃｔｕｒｅ）と呼ぶ。また、複数のレイヤ画像を用いて空間スケーラブル符号化を行う場合、その複数のレイヤ画像は、解像度の低いベースレイヤ画像と、解像度の高い拡張レイヤ画像からなる。複数のレイヤ画像を用いてＳＮＲスケーラブル符号化を行う場合、その複数のレイヤ画像は、画質の低いベースレイヤ画像と、画質の高い拡張レイヤ画像からなる。なお、ビュースケーラブル符号化、空間スケーラブル符号化、ＳＮＲスケーラブル符号化を任意に組み合わせて行っても良い。本実施形態では、複数のレイヤ画像として、少なくともベースレイヤ画像と、ベースレイヤ画像以外の画像（拡張レイヤ画像）を含む画像の符号化および復号を扱う。複数のレイヤのうち、画像もしくは符号化パラメータにおいて参照関係（依存関係）にある２つのレイヤについて、参照される側の画像を、第１レイヤ画像、参照する側の画像を第２レイヤ画像と呼ぶ。例えば、ベースレイヤを参照して符号化される（ベースレイヤ以外の）エンハンスレイヤ画像がある場合、ベースレイヤ画像を第１レイヤ画像、エンハンスレイヤ画像を第２レイヤ画像として扱う。なお、エンハンスレイヤ画像の例としては、ベースビュー以外の視点の画像やデプス画像などがある。
【００１６】  デプス画像（ｄｅｐｔｈ  ｍａｐ、「深度画像」、「距離画像」とも言う）とは、被写空間に含まれる被写体や背景の、視点（撮影装置等）からの距離に対応する信号値（「デプス値」、「深度値」、「デプス」等と呼ぶ）であって、二次元平面に配置された画素毎の信号値（画素値）からなる画像信号である。デプス画像を構成する画素は、視点画像を構成する画素と対応する。従って、デプスマップは、被写空間を二次元平面に射影した基準となる画像信号である視点画像を用いて、三次元の被写空間を表すための手がかりとなる。
【００１７】  ネットワーク２１は、画像符号化装置１１が生成した符号化ストリームＴｅを画像復号装置３１に伝送する。ネットワーク２１は、インターネット（internet）、広域ネットワーク（WAN:Wide Area Network）、小規模ネットワーク（LAN:Local Area Network）又はこれらの組み合わせである。ネットワーク２１は、必ずしも双方向の通信網に限らず、地上波ディジタル放送、衛星放送等の放送波を伝送する一方向又は双方向の通信網であっても良い。また、ネットワーク２１は、ＤＶＤ（Digital Versatile Disc）、ＢＤ（Blue-ray Disc）等の符号化ストリームＴｅを記録した記憶媒体で代替されても良い。
【００１８】  画像復号装置３１は、ネットワーク２１が伝送した符号化ストリームＴｅのそれぞれを復号し、それぞれ復号した複数の復号レイヤ画像Ｔｄ（復号視点画像Ｔｄ）を生成する。
【００１９】  画像表示装置４１は、画像復号装置３１が生成した複数の復号レイヤ画像Ｔｄの全部又は一部を表示する。例えば、ビュースケーラブル符号化においては、全部の場合、３次元画像（立体画像）や自由視点画像が表示され、一部の場合、２次元画像が表示される。画像表示装置４１は、例えば、液晶ディスプレイ、有機ＥＬ（Electro-luminescence）ディスプレイ等の表示デバイスを備える。また、空間スケーラブル符号化、ＳＮＲスケーラブル符号化では、画像復号装置３１、画像表示装置４１が高い処理能力を有する場合には、画質の高い拡張レイヤ画像を表示し、より低い処理能力しか有しない場合には、拡張レイヤほど高い処理能力、表示能力を必要としないベースレイヤ画像を表示する。
【００２０】    ＜符号化ストリームＴｅの構造＞  本実施形態に係る画像符号化装置１１および画像復号装置３１の詳細な説明に先立って、画像符号化装置１１によって生成され、画像復号装置３１によって復号される符号化ストリームＴｅのデータ構造について説明する。
【００２１】  図２は、符号化ストリームＴｅにおけるデータの階層構造を示す図である。符号化ストリームＴｅは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図２の（ａ）〜（ｆ）は、それぞれ、シーケンスＳＥＱを既定するシーケンスレイヤ、ピクチャＰＩＣＴを規定するピクチャレイヤ、スライスＳを規定するスライスレイヤ、スライスデータを規定するスライスデータレイヤ、スライスデータに含まれる符号化ツリーユニットを規定する符号化ツリーレイヤ、符号化ツリーに含まれる符号化単位（Ｃｏｄｉｎｇ  Ｕｎｉｔ；ＣＵ）を規定する符号化ユニットレイヤを示す図である。
【００２２】    （シーケンスレイヤ）  シーケンスレイヤでは、処理対象のシーケンスＳＥＱ（以下、対象シーケンスとも称する）を復号するために画像復号装置３１が参照するデータの集合が規定されている。シーケンスＳＥＱは、図２の（ａ）に示すように、ビデオパラメータセット（Video Parameter Set）シーケンスパラメータセットＳＰＳ（Sequence Parameter Set）、ピクチャパラメータセットＰＰＳ（Picture Parameter Set）、ピクチャＰＩＣＴ、及び、付加拡張情報ＳＥＩ（Supplemental Enhancement Information）を含んでいる。ここで＃の後に示される値はレイヤＩＤを示す。図２では、＃０と＃１すなわちレイヤ０とレイヤ１の符号化データが存在する例を示すが、レイヤの種類およびレイヤの数はこれによらない。
【００２３】  ビデオパラメータセットＶＰＳは、複数のレイヤから構成されている動画像において、複数の動画像に共通する符号化パラメータの集合および動画像に含まれる複数のレイヤおよび個々のレイヤに関連する符号化パラメータの集合が規定されている。
【００２４】  シーケンスパラメータセットＳＰＳでは、対象シーケンスを復号するために画像復号装置３１が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの幅や高さが規定される。
【００２５】  ピクチャパラメータセットＰＰＳでは、対象シーケンス内の各ピクチャを復号するために画像復号装置３１が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値（pic_init_qp_minus26）や重み付き予測の適用を示すフラグ（weighted_pred_flag）が含まれる。なお、ＰＰＳは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のＰＰＳの何れかを選択する。
【００２６】    （ピクチャレイヤ）  ピクチャレイヤでは、処理対象のピクチャＰＩＣＴ（以下、対象ピクチャとも称する）を復号するために画像復号装置３１が参照するデータの集合が規定されている。ピクチャＰＩＣＴは、図２の（ｂ）に示すように、スライスＳ０〜ＳＮＳ−１を含んでいる（ＮＳはピクチャＰＩＣＴに含まれるスライスの総数）。
【００２７】  なお、以下、スライスＳ０〜ＳＮＳ−１のそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化ストリームＴｅに含まれるデータであって、添え字を付している他のデータについても同様である。
【００２８】    （スライスレイヤ）  スライスレイヤでは、処理対象のスライスＳ（対象スライスとも称する）を復号するために画像復号装置３１が参照するデータの集合が規定されている。スライスＳは、図２の（ｃ）に示すように、スライスヘッダＳＨ、および、スライスデータＳＤＡＴＡを含んでいる。
【００２９】  スライスヘッダＳＨには、対象スライスの復号方法を決定するために画像復号装置３１が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報（ｓｌｉｃｅ＿ｔｙｐｅ）は、スライスヘッダＳＨに含まれる符号化パラメータの一例である。
【００３０】  スライスタイプ指定情報により指定可能なスライスタイプとしては、（１）符号化の際にイントラ予測のみを用いるＩスライス、（２）符号化の際に単方向予測、または、イントラ予測を用いるＰスライス、（３）符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるＢスライスなどが挙げられる。
【００３１】  なお、スライスヘッダＳＨには、上記シーケンスレイヤに含まれる、ピクチャパラメータセットＰＰＳへの参照（pic_parameter_set_id）を含んでいても良い。
【００３２】    （スライスデータレイヤ）  スライスデータレイヤでは、処理対象のスライスデータＳＤＡＴＡを復号するために画像復号装置３１が参照するデータの集合が規定されている。スライスデータＳＤＡＴＡは、図２の（ｄ）に示すように、符号化ツリーブロック（CTB:Coded Tree Block）を含んでいる。ＣＴＢは、スライスを構成する固定サイズ（例えば６４×６４）のブロックであり、最大符号化単位（LCU:Largest Cording Unit）と呼ぶこともある。
【００３３】    （符号化ツリーレイヤ）  符号化ツリーレイヤは、図２の（ｅ）に示すように、処理対象の符号化ツリーブロックを復号するために画像復号装置３１が参照するデータの集合が規定されている。符号化ツリーユニットは、再帰的な４分木分割により分割される。再帰的な４分木分割により得られる木構造のノードのことを符号化ツリー（coding tree）と称する。４分木の中間ノードは、符号化ツリーユニット（CTU:Coded Tree Unit）であり、符号化ツリーブロック自身も最上位のＣＴＵとして規定される。ＣＴＵは、分割フラグ（split_flag）を含み、split_flagが１の場合には、４つの符号化ツリーユニットＣＴＵに分割される。split_flagが０の場合には、符号化ツリーユニットＣＴＵは４つの符号化ユニット（CU:Coded Unit）に分割される。符号化ユニットＣＵは符号化ツリーレイヤの末端ノードであり、このレイヤではこれ以上分割されない。符号化ユニットＣＵは、符号化処理の基本的な単位となる。
【００３４】  また、符号化ツリーブロックＣＴＢのサイズ６４×６４画素の場合には、符号化ユニットＣＵのサイズは、６４×６４画素、３２×３２画素、１６×１６画素、および、８×８画素の何れかをとり得る。
【００３５】    （符号化ユニットレイヤ）  符号化ユニットレイヤは、図２の（ｆ）に示すように、処理対象の符号化ユニットを復号するために画像復号装置３１が参照するデータの集合が規定されている。具体的には、符号化ユニットは、ＣＵヘッダＣＵＨ、予測ツリー、変換ツリー、ＣＵヘッダＣＵＦから構成される。ＣＵヘッダＣＵＨでは、符号化ユニットが、イントラ予測を用いるユニットであるか、インター予測を用いるユニットであるかなどが規定される。また、ＣＵヘッダＣＵＨには、符号化ユニットが、残差予測に用いる重み（もしくは残差予測を行うか否か）を示す残差予測インデックスiv_res_pred_weight_idxや、照度補償予測を用いるか否かを示す照度補償フラグic_flagを含む。符号化ユニットは、予測ツリー（prediction tree;PT）および変換ツリー（transform tree;TT）のルートとなる。ＣＵヘッダＣＵＦは、予測ツリーと変換ツリーの間、もしくは、変換ツリーの後に含まれる。
【００３６】  予測ツリーは、符号化ユニットが１または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ユニットを構成する１または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた１または複数の予測ブロックを含む。
【００３７】  予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位（prediction unit;PU、予測ユニット）とも称する。より詳細には予測は色コンポーネント単位で行われるため、以下では、輝度の予測ブロック、色差の予測ブロックなど、色コンポーネント毎のブロックを、予測ブロックと呼び、複数の色コンポーネントのブロック（輝度の予測ブロック、色差の予測ブロック）を合わせて、予測ユニットと呼ぶ。色コンポーネントの種類を示すインデックスcIdx(colour_component Idx)が０のブロックが輝度ブロック（輝度の予測ブロック）を示し(通例、LもしくはYと表示される)、cIdxが１もしくは２のブロックは各々Cb, Crの色差ブロック（色差の予測ブロック）を示す。
【００３８】  予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との２つがある。イントラ予測とは、同一ピクチャ内の予測であり、インター予測とは、互いに異なるピクチャ間（例えば、表示時刻間、レイヤ画像間）で行われる予測処理を指す。
【００３９】  イントラ予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ユニットと同一サイズ）と、Ｎ×Ｎとがある。
【００４０】  また、インター予測の場合、分割方法は、符号化データの分割モードpart_modeにより符号化される。分割モードpart_modeによって指定される分割モードには、対象ＣＵのサイズを２Ｎ×２Ｎ画素とすると、次の合計８種類のパターンがある。すなわち、２Ｎ×２Ｎ画素、２Ｎ×Ｎ画素、Ｎ×２Ｎ画素、およびＮ×Ｎ画素の４つの対称的分割（symmetric splittings）、並びに、２Ｎ×ｎＵ画素、２Ｎ×ｎＤ画素、ｎＬ×２Ｎ画素、およびｎＲ×２Ｎ画素の４つの非対称的分割（ＡＭＰ：asymmetric motion partitions）である。なお、Ｎ＝２ｍ（ｍは１以上の任意の整数）を意味している。以下、分割モードが非対称的分割である予測ブロックをＡＭＰブロックとも呼称する。分割数は１、２、４のいずれかであるため、ＣＵに含まれるＰＵは１個から４個である。これらのＰＵを順にＰＵ０、ＰＵ１、ＰＵ２、ＰＵ３と表現する。
【００４１】  図９（ａ）〜（ｈ）に、それぞれの分割モードについて、ＣＵにおけるＰＵ分割の境界の位置を具体的に図示している。
【００４２】  図９（ａ）は、ＣＵの分割を行わない２Ｎ×２Ｎの分割モードを示している。また、図９（ｂ）および（ｅ）は、それぞれ、分割モードが、２Ｎ×Ｎ、および、Ｎ×２Ｎである場合のパーティションの形状について示している。また、図９（ｈ）は、分割モードが、Ｎ×Ｎである場合のパーティションの形状を示している。
【００４３】  また、図９（ｃ）、（ｄ）、（ｆ）および（ｇ）は、それぞれ非対称的分割（ＡＭＰ）である、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、および、ｎＲ×２Ｎである場合のパーティションの形状について示している。
【００４４】  また、図９（ａ）〜（ｈ）において、各領域に付した番号は、領域の識別番号を示しており、この識別番号順に、領域に対して処理が行われる。すなわち、当該識別番号は、領域のスキャン順を表している。
【００４５】  インター予測の場合の予測ブロックでは、上記８種類の分割モードのうち、Ｎ×Ｎ（図９（ｈ））以外の７種類が定義されている。
【００４６】  また、Ｎの具体的な値は、当該ＰＵが属するＣＵのサイズによって規定され、ｎＵ、ｎＤ、ｎＬ、および、ｎＲの具体的な値は、Ｎの値に応じて定められる。例えば、３２×３２画素のＣＵは、３２×３２画素、３２×１６画素、１６×３２画素、３２×１６画素、３２×８画素、３２×２４画素、８×３２画素、および、２４×３２画素のインター予測の予測ブロックへ分割できる。
【００４７】  また、変換ツリーにおいては、符号化ユニットが１または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ユニットを構成する１または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた１または複数の変換ブロックを含む。
【００４８】  変換ツリーにおける分割には、符号化ユニットと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な４分木分割によるものがある。
【００４９】  変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位（transform unit;TU）とも称する。
【００５０】    （予測パラメータ）  予測ユニットの予測画像は、予測ユニットに付随する予測パラメータによって導出される。予測パラメータには、イントラ予測の予測パラメータもしくはインター予測の予測パラメータがある。以下、インター予測の予測パラメータ（インター予測パラメータ）について説明する。インター予測パラメータは、予測リスト利用フラグpredFlagL0、predFlagL1と、参照ピクチャインデックスrefIdxL0、refIdxL1と、ベクトルｍｖＬ０、ｍｖＬ１から構成される。予測リスト利用フラグpredFlagL0、predFlagL1は、各々Ｌ０リスト、Ｌ１リストと呼ばれる参照ピクチャリストが用いられるか否かを示すフラグであり、値が１の場合に対応する参照ピクチャリストが用いられる。なお、本明細書中「ＸＸであるか否かを示すフラグ」と記す場合、１をＸＸである場合、０をＸＸではない場合とし、論理否定、論理積などでは１を真、０を偽と扱う（以下同様）。但し、実際の装置や方法では真値、偽値として他の値を用いることもできる。２つの参照ピクチャリストが用いられる場合、つまり、(predFlagL0，predFlagL1) ＝ (1, 1)の場合が、双予測に対応し、１つの参照ピクチャリストを用いる場合、すなわち(predFlagL0, predFlagL1) = (1, 0)もしくは(predFlagL0, predFlagL1) = (0, 1)の場合が単予測に対応する。なお、予測リスト利用フラグの情報は、後述のインター予測フラグinter_pred_idcで表現することもできる。通常、後述の予測画像生成部、予測パラメータメモリでは、予測リスト利用フラグが用いれ、符号化データから、どの参照ピクチャリストが用いられるか否かの情報を復号する場合にはインター予測フラグinter_pred_idcが用いられる。
【００５１】  符号化データに含まれるインター予測パラメータを導出するためのシンタックス要素には、例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXがある。
【００５２】    （参照ピクチャリストの一例）  次に、参照ピクチャリストの一例について説明する。参照ピクチャリストとは、参照ピクチャメモリ３０６（図５）に記憶された参照ピクチャからなる列である。図３は、参照ピクチャリストRefPicListXの一例を示す概念図である。参照ピクチャリストRefPicListXにおいて、左右に一列に配列された５個の長方形は、それぞれ参照ピクチャを示す。左端から右へ順に示されている符号、Ｐ１、Ｐ２、Ｑ０、Ｐ３、Ｐ４は、それぞれの参照ピクチャを示す符号である。Ｐ１等のＰとは、視点Ｐを示し、そしてＱ０のＱとは、視点Ｐとは異なる視点Ｑを示す。Ｐ及びＱの添字は、ピクチャ順序番号ＰＯＣを示す。refIdxLXの真下の下向きの矢印は、参照ピクチャインデックスrefIdxLXが、参照ピクチャメモリ３０６において参照ピクチャＱ０を参照するインデックスであることを示す。
【００５３】    （参照ピクチャの例）  次に、ベクトルを導出する際に用いる参照ピクチャの例について説明する。図４は、参照ピクチャの例を示す概念図である。図４において、横軸は表示時刻を示し、縦軸は視点を示す。図４に示されている、縦２行、横３列（計６個）の長方形は、それぞれピクチャを示す。６個の長方形のうち、下行の左から２列目の長方形は復号対象のピクチャ（対象ピクチャ）を示し、残りの５個の長方形がそれぞれ参照ピクチャを示す。対象ピクチャから上向きの矢印で示される参照ピクチャＱ０は対象ピクチャと同表示時刻であって視点（ビューＩＤ）が異なるピクチャである。対象ピクチャを基準とする変位予測においては、参照ピクチャＱ０が用いられる。対象ピクチャから左向きの矢印で示される参照ピクチャＰ１は、対象ピクチャと同じ視点であって、過去のピクチャである。対象ピクチャから右向きの矢印で示される参照ピクチャＰ２は、対象ピクチャと同じ視点であって、未来のピクチャである。対象ピクチャを基準とする動き予測においては、参照ピクチャＰ１又はＰ２が用いられる。
【００５４】    （インター予測フラグと予測リスト利用フラグ）  インター予測フラグinter_pred_idcと、予測リスト利用フラグpredFlagL0、predFlagL1の関係は  inter_pred_idc  ＝  （predFlagL1＜＜１）  ＋  predFlagL0  predFlagL0  ＝inter_pred_idc  ＆  １  predFlagL1  ＝inter_pred_idc  ＞＞  １の式を用いて相互に変換可能である。ここで、＞＞は右シフト、＜＜は左シフトである。そのため、インター予測パラメータとしては、予測リスト利用フラグpredFlagL0、predFlagL1を用いても良いし、インター予測フラグinter_pred_idcを用いてもよい。また、以下、予測リスト利用フラグpredFlagL0、predFlagL1を用いた判定は、インター予測フラグinter_pred_idcに置き替えても可能である。逆に、インター予測フラグinter_pred_idcを用いた判定は、予測リスト利用フラグpredFlagL0、predFlagL1に置き替えても可能である。
【００５５】    （マージモードとAMVP予測）  予測パラメータの復号（符号化）方法には、マージ（merge）モードとAMVP（Adaptive Motion Vector Prediction、適応動きベクトル予測）モードがある、マージフラグmerge_flagは、これらを識別するためのフラグである。マージモードでも、AMVPモードでも、既に処理済みのブロックの予測パラメータを用いて、対象ＰＵの予測パラメータが導出される。マージモードは、予測リスト利用フラグpredFlagLX（インター予測フラグinter_pred_idc）、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めずに、既に導出した予測パラメータをそのまま用いるモードであり、AMVPモードは、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、ベクトルmvLXを符号化データに含めるモードである。なおベクトルmvLXは、予測ベクトルを示す予測ベクトルフラグmvp_LX_flagと差分ベクトル（mvdLX）として符号化される。
【００５６】  インター予測フラグinter_pred_idcは、参照ピクチャの種類および数を示すデータであり、Pred_L0、Pred_L1、Pred_BIの何れかの値をとる。Pred_L0、Pred_L1は、各々Ｌ０リスト、Ｌ１リストと呼ばれる参照ピクチャリストに記憶された参照ピクチャが用いられることを示し、共に１枚の参照ピクチャを用いること（単予測）を示す。Ｌ０リスト、Ｌ１リストを用いた予測を各々Ｌ０予測、Ｌ１予測と呼ぶ。Pred_BIは２枚の参照ピクチャを用いること（双予測）を示し、Ｌ０リストとＬ１リストに記憶された参照ピクチャの２つを用いることを示す。予測ベクトルフラグmvp_LX_flagは予測ベクトルを示すインデックスであり、参照ピクチャインデックスrefIdxLXは、参照ピクチャリストに記憶された参照ピクチャを示すインデックスである。なお、ＬＸは、Ｌ０予測とＬ１予測を区別しない場合に用いられる記述方法であり、ＬＸをＬ０、Ｌ１に置き換えることでＬ０リストに対するパラメータとＬ１リストに対するパラメータを区別するする。例えば、refIdxL0はＬ０予測に用いる参照ピクチャインデックス、refIdxL1はＬ１予測に用いる参照ピクチャインデックス、refIdx（refIdxLX）は、refIdxL0とrefIdxL1を区別しない場合に用いられる表記である。
【００５７】  マージインデックスmerge_idxは、処理が完了したブロックから導出される予測パラメータ候補（マージ候補）のうち、いずれかの予測パラメータを予測ユニット（対象ブロック）の予測パラメータとして用いるかを示すインデックスである。
【００５８】    （動きベクトルと変位ベクトル）  ベクトルmvLXには、動きベクトルと変位ベクトル（disparity vector、視差ベクトル）がある。動きベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、異なる表示時刻（例えば、隣接する離散時刻）における同一のレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。変位ベクトルとは、あるレイヤのある表示時刻でのピクチャにおけるブロックの位置と、同一の表示時刻における異なるレイヤのピクチャにおける対応するブロックの位置との間の位置のずれを示すベクトルである。異なるレイヤのピクチャとしては、異なる視点のピクチャである場合、もしくは、異なる解像度のピクチャである場合などがある。特に、異なる視点のピクチャに対応する変位ベクトルを視差ベクトルと呼ぶ。以下の説明では、動きベクトルと変位ベクトルを区別しない場合には、単にベクトルmvLXと呼ぶ。ベクトルmvLXに関する予測ベクトル、差分ベクトルを、それぞれ予測ベクトルmvpLX、差分ベクトルmvdLXと呼ぶ。ベクトルmvLXおよび差分ベクトルmvdLXが、動きベクトルであるか、変位ベクトルであるかは、ベクトルに付随する参照ピクチャインデックスrefIdxLXを用いて行われる。
【００５９】    （画像復号装置の構成）  次に、本実施形態に係る画像復号装置３１の構成について説明する。図５は、本実施形態に係る画像復号装置３１の構成を示す概略図である。画像復号装置３１は、エントロピー復号部３０１、予測パラメータ復号部３０２、参照ピクチャメモリ（参照画像記憶部、フレームメモリ）３０６、予測パラメータメモリ（予測パラメータ記憶部、フレームメモリ）３０７、予測画像生成部３０８、逆量子化・逆ＤＣＴ部３１１、加算部３１２、及び図示されないデプスＤＶ導出部３５１を含んで構成される。
【００６０】  また、予測パラメータ復号部３０２は、インター予測パラメータ復号部３０３及びイントラ予測パラメータ復号部３０４を含んで構成される。予測画像生成部３０８は、インター予測画像生成部３０９及びイントラ予測画像生成部３１０を含んで構成される。
【００６１】  エントロピー復号部３０１は、外部から入力された符号化ストリームＴｅに対してエントロピー復号を行って、個々の符号（シンタックス要素）を分離し復号する。分離された符号には、予測画像を生成するための予測情報および、差分画像を生成するための残差情報などがある。
【００６２】  エントロピー復号部３０１は、分離した符号の一部を予測パラメータ復号部３０２に出力する。分離した符号の一部とは、例えば、予測モードPredMode、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、残差予測インデックスiv_res_pred_weight_idx、照度補償フラグic_flagである。どの符号を復号するか否かの制御は、予測パラメータ復号部３０２の指示に基づいて行われる。エントロピー復号部３０１は、量子化係数を逆量子化・逆ＤＣＴ部３１１に出力する。この量子化係数は、符号化処理において、残差信号に対してＤＣＴ（DiscreteCosine Transform、離散コサイン変換）を行い量子化して得られる係数である。エントロピー復号部３０１は、デプスＤＶ変換テーブルDepthToDisparityBを、デプスＤＶ導出部３５１に出力する。このデプスＤＶ変換テーブルDepthToDisparityBは、デプス画像の画素値を視点画像間の変位を示す視差に変換するためのテーブルであり、デプスＤＶ変換テーブルDepthToDisparityBの要素DepthToDisparityB[d]は、傾きcp_scaleとオフセットcp_off、傾きの精度cp_precisionを用いて、    log2Div = BitDepthY - 1 + cp_precision    offset = ( cp_off << BitDepthY ) + ( ( 1 << log2Div ) >> 1 )    scale = cp_scale    DepthToDisparityB[ d ] = ( scale * d + offset ) >> log2Divの式によって求めることができる。パラメータcp_scale、cp_off、cp_precisionは参照する視点毎に符号化データ中のパラメータセットから復号する。なお、BitDepthYは輝度信号に対応する画素値のビット深度を示しており、例えば、値として８をとる。
【００６３】  予測パラメータ復号部３０２は、エントロピー復号部３０１から符号の一部を入力として受け取る。予測パラメータ復号部３０２は、符号の一部である予測モードPredModeが示す予測モードに対応する予測パラメータを復号する。予測パラメータ復号部３０２は、予測モードPredModeと復号した予測パラメータを予測パラメータメモリ３０７と予測画像生成部３０８に出力する。
【００６４】  インター予測パラメータ復号部３０３は、エントロピー復号部３０１から入力された符号に基づいて、予測パラメータメモリ３０７に記憶された予測パラメータを参照してインター予測パラメータを復号する。インター予測パラメータ復号部３０３は、復号したインター予測パラメータを予測画像生成部３０８に出力し、また予測パラメータメモリ３０７に記憶する。インター予測パラメータ復号部３０３の詳細については後述する。
【００６５】  イントラ予測パラメータ復号部３０４は、エントロピー復号部３０１から入力された符号に基づいて、予測パラメータメモリ３０７に記憶された予測パラメータを参照してイントラ予測パラメータを復号する。イントラ予測パラメータとは、ピクチャブロックを１つのピクチャ内で予測する処理で用いるパラメータ、例えば、イントラ予測モードIntraPredModeである。イントラ予測パラメータ復号部３０４は、復号したイントラ予測パラメータを予測画像生成部３０８に出力し、また予測パラメータメモリ３０７に記憶する。
【００６６】  参照ピクチャメモリ３０６は、加算部３１２が生成した復号ピクチャブロックrecSamplesを、復号ピクチャブロックの位置に記憶する。
【００６７】  予測パラメータメモリ３０７は、予測パラメータを、復号対象のピクチャ及びブロック毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ３０７は、インター予測パラメータ復号部３０３が復号したインター予測パラメータ、イントラ予測パラメータ復号部３０４が復号したイントラ予測パラメータ及びエントロピー復号部３０１が分離した予測モードPredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、ベクトルmvLXがある。
【００６８】  予測画像生成部３０８には、予測パラメータ復号部３０２から予測モードPredMode及び予測パラメータが入力される。また、予測画像生成部３０８は、参照ピクチャメモリ３０６から参照ピクチャを読み出す。予測画像生成部３０８は、予測モードPredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャを用いて予測ピクチャブロックpredSamples（予測画像）を生成する。
【００６９】  ここで、予測モードPredModeがインター予測モードを示す場合、インター予測画像生成部３０９は、インター予測パラメータ復号部３０３から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測により予測ピクチャブロックpredSamplesを生成する。予測ピクチャブロックpredSamplesは予測ユニットＰＵに対応する。ＰＵは、上述したように予測処理を行う単位となる複数の画素からなるピクチャの一部分、つまり１度に予測処理が行われる対象ブロックに相当する。
【００７０】  インター予測画像生成部３０９は、予測リスト利用フラグpredFlagLXが１である参照ピクチャリスト（Ｌ０リスト、もしくはＬ１リスト）に対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャRefPicListLX[refIdxLX]から、予測ユニットを基準としてベクトルmvLXが示す位置にある参照ピクチャブロックを参照ピクチャメモリ３０６から読み出す。インター予測画像生成部３０９は、読み出した参照ピクチャブロックに動き補償を行って予測ピクチャブロックpredSamplesLXを生成する。インター予測画像生成部３０９は、予測ピクチャブロックpredSamplesL0、predSamplesL1から予測ピクチャブロックpredSamplesを生成し、加算部３１２に出力する。
【００７１】  予測モードPredModeがイントラ予測モードを示す場合、イントラ予測画像生成部３１０は、イントラ予測パラメータ復号部３０４から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部３１０は、復号対象のピクチャであって、既に処理されたブロックのうち予測ユニットから予め定めた範囲にある参照ピクチャブロックを参照ピクチャメモリ３０６から読み出す。予め定めた範囲とは、例えば、左、左上、上、右上の隣接ブロックの範囲でありイントラ予測モードによって異なる。
【００７２】  イントラ予測画像生成部３１０は、読み出した参照ピクチャブロックについてイントラ予測モードIntraPredModeが示す予測モードで予測を行って予測ピクチャブロックpredSamplesを生成し、加算部３１２に出力する。
【００７３】  逆量子化・逆ＤＣＴ部３１１は、エントロピー復号部３０１から入力された量子化係数を逆量子化してＤＣＴ係数を求める。逆量子化・逆ＤＣＴ部３１１は、求めたＤＣＴ係数について逆ＤＣＴ（Inverse Discrete Cosine Transform、逆離散コサイン変換）を行い、復号残差信号を算出する。逆量子化・逆ＤＣＴ部３１１は、算出した復号残差信号を加算部３１２に出力する。
【００７４】  加算部３１２は、インター予測画像生成部３０９及びイントラ予測画像生成部３１０から入力された予測ピクチャブロックpredSamplesと逆量子化・逆ＤＣＴ部３１１から入力された復号残差信号の信号値resSamplesを画素毎に加算して、復号ピクチャブロックrecSamplesを生成する。加算部３１２は、生成した復号ピクチャブロックrecSamplesを参照ピクチャメモリ３０６に出力する。復号ピクチャブロックはピクチャ毎に統合される。復号されたピクチャには、デブロックフィルタおよび適応オフセットフィルタが適用などのループフィルタが適用される。復号されたピクチャは復号レイヤ画像Ｔｄとして外部に出力する。
【００７５】  （インター予測パラメータ復号部の構成）  次に、インター予測パラメータ復号部３０３の構成について説明する。図６は、本実施形態に係るインター予測パラメータ復号部３０３の構成を示す概略図である。インター予測パラメータ復号部３０３は、インター予測パラメータ復号制御部３０３１、AMVP予測パラメータ導出部３０３２、加算部３０３５及びマージモードパラメータ導出部３０３６、変位導出部３０３６３を含んで構成される。
【００７６】  インター予測パラメータ復号制御部３０３１は、インター予測に関連する符号（シンタックス要素の復号をエントロピー復号部３０１に指示し、符号化データに含まれる符号（シンタックス要素）を例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、残差予測インデックスiv_res_pred_weight_idx、照度補償フラグic_flagを抽出する。インター予測パラメータ復号制御部３０３１が、あるシンタックス要素を抽出すると表現する場合は、あるシンタックス要素の復号をエントロピー復号部３０１に指示し、該当のシンタックス要素を符号化データから読み出すことを意味する。
【００７７】  インター予測パラメータ復号制御部３０３１は、マージフラグmerge_flagが１、すなわち、予測ユニットがマージモードの場合、マージインデックスmerge_idxを符号化データから抽出する。インター予測パラメータ復号制御部３０３１は、抽出した残差予測インデックスiv_res_pred_weight_idx、照度補償フラグic_flag及びマージインデックスmerge_idxをマージモードパラメータ導出部３０３６に出力する。
【００７８】  インター予測パラメータ復号制御部３０３１は、マージフラグmerge_flagが０、すなわち、予測ブロックがAMVP予測モードの場合、エントロピー復号部３０１を用いて符号化データからインター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを抽出する。インター予測パラメータ復号制御部３０３１は、抽出したインター予測フラグinter_pred_idcから導出した予測リスト利用フラグpredFlagLXと、参照ピクチャインデックスrefIdxLXをAMVP予測パラメータ導出部３０３２及び予測画像生成部３０８（図５）に出力し、また予測パラメータメモリ３０７（図５）に記憶する。インター予測パラメータ復号制御部３０３１は、抽出した予測ベクトルフラグmvp_LX_flagをAMVP予測パラメータ導出部３０３２に出力し抽出した差分ベクトルmvdLXを加算部３０３５に出力する。
【００７９】  変位ベクトル導出部３０３６３は、対象ＰＵが属する符号化ユニット（対象ＣＵ）の変位ベクトル（以下、MvDisp[x][y]、ここで（xP、yP）は座標。なお、以下MvDispをmvDispと記す場合もあるが同じ変位ベクトルを示す）を、符号化ユニットに空間的もしくは時間的に隣接するブロックから抽出する。具体的には、対象ＣＵに時間的に隣接するブロックCol、時間的に隣接する第２のブロックAltCol、空間的に左に隣接するブロックA1、上に隣接するブロックB1を参照ブロックとして、その参照ブロックの予測フラグpredFlagLX、参照ピクチャインデックスrefIdxLXとベクトルmvLXを順に読み出し、隣接ブロックの参照ピクチャインデックスrefIdxLXから隣接ブロックが変位ベクトルを備えるか否かを判定する。隣接ブロックが変位ベクトルを備える場合には、参照ブロックの変位ベクトルを出力する。隣接ブロックの予測パラメータに変位ベクトルが無い場合には、次の隣接ブロックの予測パラメータを読み出し同様に変位ベクトルを導出する。全ての隣接ブロックにおいて変位ベクトルが導出できない場合には、ゼロベクトルを変位ベクトルとして出力する。変位ベクトル導出部３０３６３は、また、変位ベクトルを導出したブロックの参照ピクチャインデックス及びビューＩＤ（RefViewIdx[x][y]、ここで（xP、yP）は座標）を出力する。
【００８０】  上記により得られた変位ベクトルはNBDV(Neighbour Base Disparity Vector)と呼ばれる。変位ベクトル導出部３０３６３は、さらに得られた変位ベクトルNBDVをデプスＤＶ導出部３５１に出力する。デプスＤＶ導出部３５１は、入力された変位ベクトルをデプス由来の変位ベクトルにより更新する。更新された変位ベクトルは、DoNBDV(Depth Orientated Neighbour Base Disparity Vector)と呼ばれる。変位ベクトル導出部３０３６３は、変位ベクトル(DoNBDV)をレイヤ間マージ候補導出部３０３６１２１、変位マージ候補導出部及び視点合成予測マージ候補導出部に出力する。さらに、得られた変位ベクトル(NBDV)を、インター予測画像生成部３０９に出力する。
【００８１】  また、インター予測パラメータ復号制御部３０３１は、インター予測パラメータ導出時に導出された変位ベクトル（NBDV）、及び視点合成予測を行うか否かを示すフラグであるVSPモードフラグVspModeFlagを、インター予測画像生成部３０９に出力する。
【００８２】  図７は、本実施形態に係るマージモードパラメータ導出部３０３６の構成を示す概略図である。マージモードパラメータ導出部３０３６は、マージ候補導出部３０３６１とマージ候補選択部３０３６２を備える。マージ候補導出部３０３６１は、マージ候補格納部３０３６１１と、拡張マージ候補導出部３０３６１２と基本マージ候補導出部３０３６１３を含んで構成される。
【００８３】  マージ候補格納部３０３６１１は、拡張マージ候補導出部３０３６１２及び基本マージ候補導出部３０３６１３から入力されたマージ候補をマージ候補リストmergeCandListに格納する。なお、マージ候補は、予測リスト利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLX、VSPモードフラグVspModeFlag、変位ベクトルMvDisp、レイヤＩＤRefViewIdxを含んで構成されている。マージ候補格納部３０３６１１において、マージ候補リストmergeCandListに格納されたマージ候補には、所定の規則に従ってインデックスが割り当てられる。
【００８４】  図１７は、マージ候補格納部３０３６１１が導出するマージ候補リストmergeCandListの例を示すものである。図１７（ａ）は、ベースレイヤ（nal_unit_layer=0）において、マージ候補格納部３０３６１１が導出するマージ候補を示す。２つのマージ候補が同じ予測パラメータである場合に順番を詰める処理（プルーニング処理）を除くと、マージインデックス順に、空間マージ候補（A1）、空間マージ候補（B1）、空間マージ候補（B0）、空間マージ候補（A0）、空間マージ候補（B2）の順になる。なお、括弧内は、マージ候補のニックネームであり、空間マージ候補の場合には、導出に用いる参照ブロックの位置に対応する。また、それ以降に、結合マージ候補、ゼロマージ候補があるが、図１７では省略している。これらのマージ候補は、つまり、空間マージ候補、時間マージ候補、結合マージ候補、ゼロマージ候補は、基本マージ候補導出部３０３６１３により導出される。図１７（ｂ）は、ベースレイヤ（nal_unit_layer=0）以外のレイヤであるエンハンスメントレイヤ（nal_unit_layer!=0）においてマージ候補格納部３０３６１１が導出するマージ候補を示す。マージインデックス順に、テクスチャマージ候補（T）、インタービュ−マージ候補（IvMC）、空間マージ候補（A1）、空間マージ候補（B1）、空間マージ候補（B0）、変位マージ候補（IvDC）、VSPマージ候補(VSP)、空間マージ候補（A0）、空間マージ候補（B2）、動きシフトマージ候補（IvMCShift）、変位シフトマージ候補（IvDCShift）、時間マージ候補（Col）の順になる。なお、括弧内は、マージ候補のニックネームである。また、それ以降に、結合マージ候補、ゼロマージ候補があるが、図１７では省略している。テクスチャマージ候補（T）、インタービューマージ候補（IvMC）、変位マージ候補（IvDC）、ＶＳＰマージ候補(VSP)、動きシフトマージ候補（IvMCShift）、変位シフトマージ候補（IvDCShift）は、拡張マージ候補導出部３０３６１２において導出される。
【００８５】  図１８は、空間マージ候補が参照する隣接ブロックの位置を示す図である。A0、A1、B0、B1、B2は各々図１８に示す位置に対応し、座標は以下の通りである。予測ユニットの左上座標をxPb、yPb、予測ユニットの幅と高さをnPbW、nPbHとする場合、隣接ブロックの位置は以下の通りとなる。
【００８６】  Ａ０：( xPb - 1, yPb + nPbH )  Ａ１：( xPb - 1, yPb + nPbH - 1 )  Ｂ０：( xPb - nPbW, yPb - 1 )  Ｂ１：( xPb + nPbW - 1, yPb - 1 )  Ｂ２：( xPb - 1, yPb - 1 )  拡張マージ候補導出部３０３６１２は、変位ベクトル導出部３０３６３、レイヤ間マージ候補導出部３０３６１２１、変位マージ候補導出部３０３６１２３、VSPマージ候補導出部３０３６１２４を含んで構成される。拡張マージ候補は、後述の基本マージ候補とは異なるマージ候補であり、少なくとも、テクスチャマージ候補（T）、インタービュ−マージ候補（IvMC）、変位マージ候補（IvDC）、VSPマージ候補(VSP)、動きシフトマージ候補（IvMCShift）、変位シフトマージ候補（IvDCShift）の何れかを含む。
【００８７】  （テクスチャマージ候補）  レイヤ間マージ候補導出部３０３６１２１は、テクスチャマージ候補（T）とインタービューマージ候補（IvMC）、動きシフトマージ候補(IvMCShift)を導出する。これらマージ候補は、対象ピクチャと同一ＰＯＣを持つ別レイヤ（例えばベースレイヤ、ベースビュー）の参照ピクチャから、予測ユニットに対応するブロックを選択し、該ブロックが有する動きベクトルである予測パラメータを予測パラメータメモリ３０７から読み出すことで導出される。
【００８８】  テクスチャマージ候補（Ｔ）は、レイヤ間マージ候補導出部３０３６１２１において、対象ピクチャがデプスの場合に導出される。テクスチャマージ候補（Ｔ）は、対象ピクチャと同じビューＩＤを有するデプスピクチャから参照ブロックを特定し、参照ブロックの動きベクトルを読み出すことで導出される。参照ブロックの座標(xRef, yRef)は、予測ユニットの左上座標をxPb、yPb、予測ユニットの幅と高さをnPbW、nPbHとする場合、以下の式から導出される。
【００８９】  xRefFull = xPb + ( ( nPbW - 1 ) >> 1 )  yRefFull = yPb + ( ( nPbH - 1 ) >> 1 )  xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 3 ) << 3 )  yRef = Clip3( 0, PicHeightInSamplesL - 1,( yRefFull >> 3 ) << 3 )  なお、PicWidthInSamplesLとPicHeightInSamplesL は、それぞれ画像の幅と高さを表し、関数Clip3(x,y,z)は、ｚをｘ以上、ｙ以下に制限（クリップ）し、その制限した結果を返す関数である。
【００９０】  参照ブロックの動きベクトルをtextMvLXとすると、テクスチャマージ候補の動きベクトルmvLXTは次の式で導出される。
【００９１】  mvLXT[ 0 ] = ( textMvLX[ xRef ][ yRef ][ 0 ] + 2 ) >> 2  mvLXT[ 1 ] = ( textMvLX[ xRef ][ yRef ][ 1 ] + 2 ) >> 2  なお、テクスチャマージ候補では、予測ユニットをさらに分割したサブブロック単位で予測パラメータを割り当てても構わない。
【００９２】  （インタービューマージ候補）  インタービューマージ候補は、レイヤ間マージ候補導出部３０３６１２１において、変位ベクトル導出部３０３６３が特定した対象ピクチャと同一ＰＯＣを有し、異なるビューＩＤ(refViewIdx)を有する参照ピクチャivRefPicの参照ブロックから動きベクトルなどの予測パラメータを読み出すことで導出される。この処理をテンポラルインタービュー動き候補導出処理と呼ぶ。レイヤ間マージ候補導出部３０３６１２１は、テンポラルインタービュー動き候補導出処理として、まず、ブロックの左上座標を(xPb、yPb)、ブロックの幅と高さをnPbW、nPbH、変位ベクトル導出部３０３６３から導出される変位ベクトルを(mvDisp[0], mvDisp[1])とする場合に、参照座標(xRef, yRef)を以下の式から導出する。
【００９３】  xRefFull = xPb + ( nPbW >> 1 ) + ( ( mvDisp[ 0 ] + 2 ) >> 2 )  yRefFull = yPb + ( nPbH >> 1 ) + ( ( mvDisp[ 1 ] + 2 ) >> 2 )  xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 3 ) << 3 )  yRef = Clip3( 0, PicHeightInSamplesL - 1, ( yRefFull >> 3 ) << 3 )
【００９４】  次に、レイヤ間マージ候補導出部３０３６１２１は、図示しないテンポラルインタービュー動き候補導出部３０３６１２１１において、テンポラルインタービュー動き候補導出処理を行う。
【００９５】  テンポラルインタービュー動き候補導出部３０３６１２１１は、ブロックの座標(xPb, yPb)、ブロックの幅nPbW, nPbH、ブロックの変位ベクトルmvDispから、上記処理により、参照ブロック位置(xRef, yRef)を導出し、さらに参照ブロック位置(xRef, yRef)に位置する参照ピクチャivRefPic上の予測ユニットのベクトルを参照し、テンポラルインタービュー動き候補のベクトルを導出する。まず、参照ブロック位置(xRef, yRef)で示される座標を含む参照ピクチャivRefPic上の予測ユニット（輝度予測ブロック）の左上座標を(xIvRefPb,yIvRefPb)、参照ピクチャivRefPic上の予測ユニットが備える参照ピクチャリスト、予測リストフラグ、ベクトル、参照ピクチャインデックスを各々refPicListLYIvRef, predFlagLYIvRef[ x ][ y ], mvLYIvRef[ x ][ y ], refIdxLYIvRef[ x ][ y]と置く。
【００９６】  テンポラルインタービュー動き候補導出部３０３６１２１１は、予測リストフラグpredFlagLYIvRef[ xIvRefPb ][ yIvRefPb ]が１の場合には、０から参照ピクチャリスト要素数−１（num_ref_idx_lX_active_minus1）のインデックスiについて、参照ピクチャivRefPic上の予測ユニットのＰＯＣであるPicOrderCnt( refPicListLYIvRef[ refIdxLYIvRef[ xIvRefPb ][ yIvRefPb ] ])と対象予測ユニットの参照ピクチャのＰＯＣであるPicOrderCnt( RefPicListLX[ i ] )が等しいか否かを判定し、等しい場合（すなわちmvLYIvRef[ xIvRefPb ][ yIvRefPb ]が変位ベクトルである場合に）、予測可能フラグavailableFlagLXInterView、ベクトルmvLXInterView、参照ピクチャインデックスrefIdxLXを以下の式により導出する。
【００９７】  availableFlagLXInterView = 1  mvLXInterView = mvLYIvRef[ xIvRefPb ][ yIvRefPb ]  refIdxLX = i 
【００９８】  すなわち、テンポラルインタービュー動き候補導出部３０３６１２１１は、対象予測ユニットが参照する参照ピクチャと、参照ピクチャivRefPic上の予測ユニットが参照する参照ピクチャが同一の場合には、参照ピクチャivRefPic上の予測ユニットの予測パラメータを用いて、ベクトルmvLXInterViewと参照ピクチャインデックスrefIdxLXを導出する。  なお、インタービューマージ候補では、予測ユニットをさらに分割したサブブロック単位で予測パラメータを割り当てても構わない。例えば、予測ユニットの幅と高さがnPbW、nPbH、サブブロックの最小サイズがSubPbSizeの場合には、サブブロックの幅nSbWと高さnSbHを以下の式により導出する。
【００９９】  nSbW = nPbW / SubPbSize <= 1 ? nPbW : SubPbSizen  nSbH = nPbH / SubPbSize <= 1 ? nPbH : SubPbSize
【０１００】  続いて、上述のテンポラルインタービュー動き候補導出部３０３６１２１１により各サブブロックに対して、ベクトルspMvLX[ xBlk ][ yBlk ]、参照ピクチャインデックスspRefIdxLX[ xBlk ][ yBlk ]、予測リスト利用フラグspPredFlagLX[ xBlk ][ yBlk ]を導出する。
【０１０１】  ここで(xBlk、yBlk)は、サブブロックの予測ユニット内の相対座標（予測ユニットの左上座標を基準とした座標）であり、各々0から( nPbW / nSbW - 1 )、0から( nPbH / nSbH- 1 )の整数値をとる。予測ユニットの座標を(xPb、yPb)、サブブロックの予測ユニット内の相対座標(xBlk、yBlk)とすると、サブブロックのピクチャ内座標は、(xPb+xBlk*nSbW,yPb+yBlk*nSbH)で表現される。
【０１０２】  サブブロックのピクチャ内座標(xPb+xBlk*nSbW,yPb+yBlk*nSbH)、サブブロックの幅nSbWと高さnSbHを、テンポラルインタービュー動き候補導出部３０３６１２１１の入力の(xPb、yPb)、nPbW、nPbHとして、サブブロック単位で、テンポラルインタービュー動き候補導出処理を行う。  テンポラルインタービュー動き候補導出部３０３６１２１１は、上記処理において、予測可能フラグavailableFlagLXInterViewが０となったサブブロックについては、インタービューマージ候補のベクトルmvLXInterView、参照ピクチャインデックスrefIdxLXInterView、予測リスト利用フラグavailableFlagLXInterViewからサブブロックに対応するベクトルspMvLX、参照ピクチャインデックスspRefIdxLX、予測リスト利用フラグspPredFlagLX、を以下の式により導出する。
【０１０３】  spMvLX[ xBlk ][ yBlk ] = mvLXInterView  spRefIdxLX[ xBlk ][ yBlk ] = refIdxLXInterView  spPredFlagLX[ xBlk ][ yBlk ] = availableFlagLXInterView
【０１０４】  なお、xBlk、yBlkはサブブロックアドレスであり、各々0から( nPbW / nSbW - 1 )、0から( nPbH / nSbH - 1 )の値をとる。なお、インタービューマージ候補のベクトルmvLXInterView、参照ピクチャインデックスrefIdxLXInterView、予測リスト利用フラグavailableFlagLXInterViewは、( xPb + ( nPbW / nSbW / 2 ) * nSbW, yPb + ( nPbH / nSbH / 2) * nSbH )を参照ブロック座標としてテンポラルインタービュー動き候補導出処理を行うことで導出する。
【０１０５】  （動きシフトマージ候補）  動きシフトマージ候補も、レイヤ間マージ候補導出部３０３６１２１において、変位ベクトル導出部３０３６３が特定した対象ピクチャと同一ＰＯＣを有し、異なるビューＩＤを有するピクチャの参照ブロックから動きベクトルなどの予測パラメータを読み出すことで導出される。参照ブロックの座標(xRef, yRef)、予測ユニットの左上座標をxPb、yPb、予測ユニットの幅と高さをnPbW、nPbH、変位ベクトル導出部３０３６３から導出される変位ベクトルが、mvDisp[0], mvDisp[1]とする場合、以下の式から導出される。
【０１０６】  xRefFull = xPb + ( nPbW >> 1 ) + ( ( mvDisp[ 0 ] + nPbW * 2 + 4 + 2 ) >> 2)  yRefFull = yPb + ( nPbH >> 1 ) + ( ( mvDisp[ 1 ] + nPbH * 2 + 4 + 2 ) >> 2)  xRef = Clip3( 0, PicWidthInSamplesL - 1, ( xRefFull >> 3 ) << 3 )  yRef = Clip3( 0, PicHeightInSamplesL - 1, ( yRefFull >> 3 ) << 3 )
【０１０７】  （変位マージ候補）  変位マージ候補導出部３０３６１２３は、変位ベクトル導出部３０３６３から入力される変位ベクトルから、変位マージ候補（IvDC）、シフト変位マージ候補（IvDcShift）を導出する。変位マージ候補導出部３０３６１２３は、変位マージ候補（IvDC）として水平成分が入力された変位ベクトル（mvDisp[0], mvDisp[1]）の水平成分mvDisp[0]であり、垂直成分が０であるベクトルを以下の式により生成する。
【０１０８】  mvL0IvDC[ 0 ] = DepthFlag ? ( mvDisp[ 0 ] + 2 ) >> 2 : mvDisp[ 0 ]   mvL0IvDC[ 1 ] = 0  ここで、DepthFlagは、デプスの場合に１となる変数である。
【０１０９】  変位マージ候補導出部３０３６１２３は、生成したベクトルと、変位ベクトルが指す先のレイヤ画像の参照ピクチャインデックスrefIdxLX（例えば、復号対象ピクチャと同一ＰＯＣを持つベースレイヤ画像のインデックス）をマージ候補としてマージ候補格納部３０３６１１に出力する。
【０１１０】  変位マージ候補導出部３０３６１２３は、シフト変位マージ候補（IvDC）として、変位マージ候補を水平方向にずらしたベクトルを有するマージ候補を以下の式により導出する。
【０１１１】  mvLXIvDCShift[ 0 ] = mvL0IvDC[ 0 ] + 4   mvLXIvDCShift[ 1 ] = mvL0IvDC[ 1 ]
【０１１２】  （ＶＳＰマージ候補）  VSPマージ候補導出部３０３６１２４は、VSP（視点合成予測：View Synthesis Prediction）マージ候補を導出する。VSPマージ候補は、視点合成予測部３０９４で行われる視点合成予測による予測画像生成処理に用いられるマージ候補である。VSPマージ候補導出部３０３６１２４は、変位ベクトル導出部３０３６３から入力された変位ベクトルmvDispをベクトルmvLXに、変位ベクトル導出部３０３６３が特定した参照ピクチャの参照ピクチャインデックス、ビューＩＤを参照ピクチャインデックスrefIdxLX、ビューＩＤRefViewIdxに、VSPモードフラグVspModeFlagに１を設定することで予測パラメータを導出しVSPマージ候補を導出する。VSPマージ候補導出部３０３６１２４は、導出したVSPマージ候補をマージ候補格納部３０３６１１に出力する。
【０１１３】  VSPマージ候補導出部３０３６１２４は、インター予測パラメータ復号制御部から残差予測インデックスiv_res_pred_weight_idx及び照度補償フラグic_flagを入力として受け取る。VSPマージ候補導出部３０３６１２４は、残差予測インデックスiv_res_pred_weight_idxが０、かつ、照度補償フラグic_flagが０の場合のみ、VSPマージ候補の導出処理を行う。つまり、残差予測インデックスiv_res_pred_weight_idxが０、かつ、照度補償フラグic_flagが０の場合のみ、マージ候補リストmergeCandListの要素にVSPマージ候補を追加する。逆に、VSPマージ候補導出部３０３６１２４は、残差予測インデックスiv_res_pred_weight_idxが０以外、又は、照度補償フラグic_flagが０以外の場合には、マージ候補リストmergeCandListの要素にVSPマージ候補を追加しない。
【０１１４】  基本マージ候補導出部３０３６１３は、空間マージ候補導出部３０３６１３１と時間マージ候補導出部３０３６１３２と結合マージ候補導出部３０３６１３３とゼロマージ候補導出部３０３６１３４を含んで構成される。基本マージ候補は、ベースレイヤで用いられるマージ候補であり、すなわち、スケーラブルではなくＨＥＶＣ（例えばＨＥＶＣメインプロファイル）で用いられるマージ候補であり、少なくとも空間マージ候補、時間マージ候補の何れかを含む。
【０１１５】  空間マージ候補導出部３０３６１３１は、所定の規則に従って、予測パラメータメモリ３０７が記憶している予測パラメータ（予測リスト利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLX）を読み出し、読み出した予測パラメータを空間マージ候補として導出する。読み出される予測パラメータは、予測ユニットから予め定めた範囲内にあるブロック（例えば、予測ユニットの左下端、左上端、右上端にそれぞれ接するブロックの全部又は一部）である隣接ブロックのそれぞれに係る予測パラメータである。導出された空間マージ候補はマージ候補格納部３０３６１１に格納される。
【０１１６】  空間マージ候補導出部３０３６１３１では、隣接ブロックのVSPモードフラグVspModeFlagを継承して導出するマージ候補のVSPモードフラグmergeCandIsVspFlagを設定する。すなわち、隣接ブロックのVSPモードフラグVspModeFlagが１の場合、対応する空間マージ候補のVSPモードフラグmergeCandIsVspFlagを１、それ以外の場合はVSPモードフラグmergeCandIsVspFlagを０とする。
【０１１７】  以下、時間マージ候補導出部３０３６１３２、結合マージ候補導出部３０３６１３３、ゼロマージ候補導出部３０３６１３４が導出するマージ候補では、VSPモードフラグVspModeFlagを０に設定する。
【０１１８】  時間マージ候補導出部３０３６１３２は、予測ユニットの右下の座標を含む参照画像中のブロックの予測パラメータを予測パラメータメモリ３０７から読みだしマージ候補とする。参照画像の指定方法は、例えば、スライスヘッダで指定されるコロケートピクチャcol_ref_idxと、参照ピクチャリストRefPicListXから指定されるRefPicListX[col_ref_idx]で指定される参照ピクチャインデックスrefIdxLXを用いればよい導出されたマージ候補はマージ候補格納部３０３６１１に格納される。
【０１１９】  結合マージ候補導出部３０３６１３３は、既に導出されマージ候補格納部３０３６１１に格納された２つの異なる導出済マージ候補のベクトルと参照ピクチャインデックスを、それぞれＬ０、Ｌ１のベクトルとして組み合わせることで結合マージ候補を導出する。導出されたマージ候補はマージ候補格納部３０３６１１に格納される。
【０１２０】  ゼロマージ候補導出部３０３６１３４は、参照ピクチャインデックスrefIdxLXがｉであり、ベクトルmvLXのＸ成分、Ｙ成分が共に０であるマージ候補を、導出したマージ候補数が最大値に達するまで導出する。参照ピクチャインデックスrefIdxLXを示すｉの値は、０から順に割り振られる。導出されたマージ候補はマージ候補格納部３０３６１１に格納される。
【０１２１】  マージ候補選択部３０３６２は、マージ候補格納部３０３６１１に格納されているマージ候補のうち、インター予測パラメータ復号制御部３０３１から入力されたマージインデックスmerge_idxに対応するインデックスが割り当てられたマージ候補を、対象ＰＵのインター予測パラメータとして選択する。つまり、マージ候補リストをmergeCandListとするとmergeCandList[merge_idx]で示される予測パラメータを選択する。また、マージ候補選択部３０３６２は、マージ候補としてインタービューマージ候補が選択された場合には、サブブロック動き補償フラグsubPbMotionFlagを１に設定する。また、マージ候補選択部３０３６２は、マージ候補のＶＳＰモードフラグvspModeFlagが１の場合にもサブブロック動き補償フラグsubPbMotionFlagを１に設定しても良い。それ以外の場合には、サブブロック動き補償フラグsubPbMotionFlagを０に設定する。マージ候補選択部３０３６２は、選択したマージ候補を予測パラメータメモリ３０７（図５）に記憶するとともに、予測画像生成部３０８（図５）に出力する。
【０１２２】  predSamplesLX´[x][y] = predSamplesLX[x][y]
【０１２３】  図８は、本実施形態に係るAMVP予測パラメータ導出部３０３２の構成を示す概略図である。AMVP予測パラメータ導出部３０３２は、ベクトル候補導出部３０３３と予測ベクトル選択部３０３４を備える。ベクトル候補導出部３０３３は、参照ピクチャインデックスrefIdxに基づいて予測パラメータメモリ３０７（図５）が記憶するベクトルを読み出し、ベクトル候補リストmvpListLXを生成する。参照ブロックは、予測ユニットの位置を基準として予め定めた位置にあるブロック（例えば、予測ユニットの左下端、右上端、時間的に隣接するブロック）である。
【０１２４】  予測ベクトル選択部３０３４は、ベクトル候補導出部３０３３が導出したベクトル候補mvpListLXのうち、インター予測パラメータ復号制御部３０３１から入力された予測ベクトルフラグmvp_LX_flagが示すベクトルmvpListLX[ mvp_lX_flag]を予測ベクトルmvpLXとして選択する。予測ベクトル選択部３０３４は、選択した予測ベクトルmvpLXを加算部３０３５に出力する。
【０１２５】  加算部３０３５は、予測ベクトル選択部３０３４から入力された予測ベクトルmvpLXとインター予測パラメータ復号制御部から入力された差分ベクトルmvdLXを加算してベクトルmvLXを算出する。加算部３０３５は、算出したベクトルmvLXを予測画像生成部３０８（図５）に出力する。
【０１２６】  図１０は、第１の実施形態のインター予測パラメータ復号制御部３０３１の構成を示すブロック図である。図１０に示すように、インター予測パラメータ復号制御部３０３１は、残差予測インデックス復号部３０３１１、照度補償フラグ復号部３０３１２及び図示しない、分割モード復号部、マージフラグ復号部、マージインデックス復号部、インター予測フラグ復号部、参照ピクチャインデックス復号部、ベクトル候補インデックス復号部、ベクトル差分復号部を含んで構成される。分割モード復号部、マージフラグ復号部、マージインデックス復号部、インター予測フラグ復号部、参照ピクチャインデックス復号部、ベクトル候補インデックス復号部、ベクトル差分復号部は各々、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを復号する。
【０１２７】  残差予測インデックス復号部３０３１１（残差予測フラグ復号部）は、エントロピー復号部３０１を用いて、符号化ユニットＣＵの分割モードPartMode(part_mode)が2Nx2Nの場合に符号化データから残差予測インデックスiv_res_pred_weight_idxを復号する。それ以外の場合には、残差予測インデックス復号部３０３１１は、iv_res_pred_weight_idxに０を設定(infer)する。残差予測インデックス復号部３０３１１は、復号された残差予測インデックスiv_res_pred_weight_idxをマージモードパラメータ導出部３０３６とインター予測画像生成部３０９に出力する。残差予測インデックスは、残差予測の動作を変更するためのパラメータである。本実施形態では、残差予測の重みを示すインデックスであり、０、１、２の値をとる。iv_res_pred_weight_idxが０の場合には、残差予測は行わない。なお、インデックスに応じて残差予測の重みを変化させるのではなく、残差予測に用いるベクトルを変化させても良い。なお、残差予測インデックスではなく、残差予測を行うか否かを示すフラグ（残差予測フラグ）としても良い。
【０１２８】  照度補償フラグ復号部３０３１２は、エントロピー復号部３０１を用いて、分割モードPartModeが2Nx2Nの場合に符号化データから照度補償フラグic_flagを復号する。それ以外の場合には、照度補償フラグ復号部３０３１２は、ic_flagに０を設定(infer)する。照度補償フラグ復号部３０３１２は、復号された照度補償フラグic_flagをマージモードパラメータ導出部３０３６とインター予測画像生成部３０９に出力する。 
【０１２９】      （インター予測画像生成部３０９）  図１１は、本実施形態に係るインター予測画像生成部３０９の構成を示す概略図である。インター予測画像生成部３０９は、動き変位補償部３０９１、残差予測部３０９２、照度補償部３０９３、視点合成予測部３０９４を含んで構成される。
【０１３０】  インター予測画像生成部３０９は、インター予測パラメータ復号部３０３から、VSPモードフラグVspModeFlagと予測パラメータを入力する。インター予測画像生成部３０９は、VSPモードフラグVspModeFlagが１の場合には、予測パラメータを視点合成予測部３０９４に出力し、予測画像predSamplesを導出する。また、インター予測画像生成部３０９は、VSPモードフラグVspModeFlagが０の場合には、予測パラメータを動き変位補償部３０９１により、予測画像predSamplesを導出するまた、インター予測画像生成部３０９は、残差予測インデックスiv_res_pred_weight_idxが０ではない場合に、残差予測実施フラグresPredFlagに残差予測を実行することを示す１を設定し、動き変位補償部３０９１と残差予測部３０９２に出力する。一方、残差予測インデックスiv_res_pred_weight_idxが０である場合に、残差予測実施フラグresPredFlagに０を設定し、動き変位補償部３０９１と残差予測部３０９２に出力する。
【０１３１】    （動き変位補償）  動き変位補償部３０９１は、予測リスト利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、ベクトルmvLX（動きベクトル、又は変位ベクトル）に基づいて、動き予測画像（予測画像）を生成する。動き変位補償部３０９１は、参照ピクチャメモリ３０６から、参照ピクチャインデックスrefIdxLXで指定された参照ピクチャの予測ユニットの位置を起点として、ベクトルmvLXだけずれた位置にあるブロックを読み出し補間することによって予測画像を生成する。ここで、ベクトルmvLXが整数ベクトルでない場合には、動き補償フィルタ（もしくは変位補償フィルタ）と呼ばれる小数位置の画素を生成するためのフィルタを施して、予測画像を生成する。一般に、ベクトルmvLXが動きベクトルの場合、上記処理を動き補償と呼び、変位ベクトルの場合は変位補償と呼ぶ。ここでは総称して動き変位補償と表現する。以下、Ｌ０予測の予測画像をpredSamplesL0、Ｌ１予測の予測画像をpredSamplesL1と呼ぶ。両者を区別しない場合predSamplesLXと呼ぶ。以下、動き変位補償部３０９１で得られた予測画像predSamplesLXに、さらに残差予測および照度補償が行われる例を説明するが、これらの出力画像もまた、予測画像predSamplesLXと呼ぶ。なお、以下の残差予測および照度補償において、入力画像と出力画像を区別する場合には、入力画像をpredSamplesLX、出力画像をpredSamplesLX´と表現する。
【０１３２】  動き変位補償部３０９１は、残差予測実施フラグresPredFlagが０の場合には、輝度成分は８タップ、色差成分は４タップの動き補償フィルタにより、動き補償画像predSamplesLXを生成する。残差予測実施フラグresPredFlagが１の場合には、輝度成分、色差成分ともに２タップの動き補償フィルタにより、動き補償画像predSamplesLXを生成する。
【０１３３】  なお、サブブロック動き補償フラグsubPbMotionFlagが１の場合に、動き変位補償部３０９１は、サブブロック単位で動き補償を行う。具体的には、座標（xCb, yCb）のサブブロックのベクトル、参照ピクチャインデックス、参照リスト利用フラグを、以下の式から導出する。
【０１３４】  MvL0[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbMvL0[xCb+x][ yCb+y] : mvL0  MvL1[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbMvL1[xCb+x][ yCb+y] : mvL1  RefIdxL0[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbRefIdxL0[xCb+x][ yCb+y] : refIdxL0  RefIdxL1[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbRefIdxL1[xCb+x][ yCb+y] : refIdxL1  PredFlagL0[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbPredFlagL0[xCb+x][ yCb+y] : predFlagL0  PredFlagL1[xCb+x][ yCb+y] = subPbMotionFlag ? SubPbPredFlagL1[xCb+x][ yCb+y] : predFlagL1  ここで、SubPbMvLX、SubPbRefIdxLX、SubPbPredFlagLX（Xは0, 1）は、インタービューマージ候補導出部で説明したsubPbMvLX、subPbRefIdxLX、subPbPredFlagLXに対応する。
【０１３５】    （残差予測）  残差予測部３０９２は、残差予測実施フラグresPredFlagが１の場合に、残差予測を行う。残差予測部３０９２は、残差予測実施フラグresPredFlagが０の場合には、入力された予測画像predSamplesLXをそのまま出力する。refResSamples残差予測は、動き予測もしくは変位予測により生成される動き補償画像predSampleLXの残差を推定し、対象レイヤの予測画像predSamplesLXに加えることにより行われる。具体的には、予測ユニットが動き予測の場合には、参照レイヤと同様の残差が対象レイヤにも生じると仮定して、既に導出された参照レイヤの残差を対象レイヤの残差の推定値として用いる。予測ユニットが変位予測の場合には、対象ピクチャとは異なる時刻（ＰＯＣ）の参照レイヤのピクチャと対象レイヤのピクチャの残差を、残差の推定値として用いる。
【０１３６】  残差予測部３０９２も、動き変位補償部３０９１と同様、サブブロック動き補償フラグsubPbMotionFlagが１の場合に、サブブロック単位で残差予測を行う。
【０１３７】  図１３は残差予測部３０９２の構成を示すブロック図である。残差予測部３０９２は、参照画像補間部３０９２２と、残差合成部３０９２３から構成される。
【０１３８】  参照画像補間部３０９２２は、残差予測実施フラグresPredFlagが１の場合には、インター予測パラメータ復号部３０３から入力されたベクトルmvLXと残差予測変位ベクトルmvDisp、参照ピクチャメモリ３０６に格納された参照ピクチャを用いて、２つの残差予測動き補償画像（対応ブロックcurrIvSamplesLX、参照ブロックrefIvSamplesLX）を生成する。なお、currIvSamplesLXとrefIvSamplesLXを、各々、rpSamplesLX、 rpRefSamplesLX）とも示す。
【０１３９】  残差予測部３０９２は、対象ブロックが動き予測であるか変位予測であるかを示すフラグであるインタービュ予測フラグivRefFlagを( DiffPicOrderCnt( currPic, RefPicListX[ refIdxLX ] ) = = 0 )により導出する。ここでDiffPicOrderCnt(X, Y)はピクチャXとピクチャYのPOCの差分を示す（以下同様）。従って、対象ピクチャcurrPicのＰＯＣと、参照ピクチャインデックスrefIdxLXと参照ピクチャリストRefPicListXで示される参照ピクチャRefPicListX[ refIdxLX ]のＰＯＣが０である場合には、対象ブロックは変位予測が適用されるとしてivRefFlagを１に設定され、それ以外の場合には対象ブロックには動き予測が適用されるとしてivRefFlagを０に設定される。
【０１４０】  図１４は、ベクトルmvLXが動きベクトルである場合（インタービュ予測フラグivRefFlagが０の場合）の対応ブロックcurrIvSamplesLXと参照ブロックrefIvSamplesLXを説明するための図である。図１４に示すように、対象レイヤ上の予測ユニットに対応する対応ブロックは、参照レイヤ上の画像の予測ユニットの位置を起点として、参照レイヤと対象レイヤの位置関係を示すベクトルである変位ベクトルmvDispだけずれた位置になるブロックに位置する。よって、対応ブロックcurrIvSamplesLXのベクトルmvCは、変位ベクトルmvDispにより下記の式で導出される。
【０１４１】  mvC[0] = mvDisp[0]  mvC[1] = mvDisp[1]
【０１４２】  参照レイヤ上の対応ブロックに対応する参照ブロックrefIvSamplesLXは、参照レイヤ上の参照画像の対応ブロックの位置を起点として、予測ユニットの動きベクトルmvLXだけずれた位置になるブロックに位置する。よって、参照ブロックrefIvSamplesLXのベクトルmvRは、変位ベクトルmvDispにより下記の式で導出される。
【０１４３】  mvR[0] = mvLX[0] + mvDisp[0]  mvR[1] = mvLX[1] + mvDisp[1]
【０１４４】  図１５は、ベクトルmvLXが変位ベクトルである場合（インタービュ予測フラグivRefFlagが１の場合）の対応ブロックcurrIvSamplesLXと参照ブロックrefIvSamplesLXを説明するための図である。図１５に示すように、対応ブロックcurrIvSamplesLXは、対象ピクチャとは異なる時刻かつ対象ピクチャと同じビューＩＤである参照ピクチャrpPic上のブロックである。残差予測部３０９２は、対象ブロックのベクトルmvLX（=変位ベクトルmvDisp）が指し示す先のピクチャmvPicT上の予測ユニットのベクトルであるmvTを導出する。対応ブロックcurrIvSamplesLXは、予測ユニット（対象ブロック）の位置を起点として、ベクトルmvTだけずれた位置になるブロックに位置する。よって、対応ブロックcurrIvSamplesLXのベクトルmvCは、下記の式で導出される。
【０１４５】  mvC[0] = mvT[0]  mvC[1] = mvT[1]
【０１４６】  図１５に示すように、参照ブロックrefIvSamplesLXは、対象ピクチャとは異なる時刻、かつ、対象ピクチャとは異なるビューＩＤである参照ピクチャrpPicRef上のブロックである。インタービュ予測フラグivRefFlagが１の場合、対象予測ユニットの変位ベクトルをmvDisp、対象ブロックの変位ベクトルmvDispが指し示す先のピクチャrpPicTの予測ユニットの動きベクトルをmvTとすると、参照ブロックrefIvSamplesLXは、予測ユニット（対象ブロック）の位置を起点として、ベクトルmvDisp + mvTだけずれた位置になるブロックに位置する。よって、参照ブロックrefIvSamplesLXのベクトルmvRは、変位ベクトルmvDispにより下記の式で導出される。
【０１４７】  mvR[0] = mvT[0] + mvDisp[0]  mvR[1] = mvT[1] + mvDisp[1]
【０１４８】  なお動きベクトルmvTは、対象ピクチャと同じ時刻の参照レイヤ上のピクチャ（図ではpredSamplesLXに対応するブロックP）のベクトルを用いる。例えば、ブロックの左上座標を(xP, yP)、変位ベクトルがmvLX[]の場合、対応する位置(xRef, yRef)の動きベクトルを参照する。
【０１４９】  xRef = Clip3( 0, PicWidthInSamplesL - 1, xP + ( nPSW >> 1 ) + ( ( mvLX[ 0 ] + 2 ) >> 2 ) )  yRef = Clip3( 0, PicHeightInSamplesL - 1, yP + ( nPSH >> 1 ) + ( ( mvLX[ 1 ]+ 2 ) >> 2 ) )
【０１５０】  参照画像補間部３０９２２は、参照ブロックcurrIvSamplesLXの補間画像をベクトルmvLXに上記ベクトルmvCを設定して生成する。補間画像の画素の座標（ｘ，ｙ）を、予測ユニットのベクトルmvLXだけずらした位置の画素を線形補間（双線形補間）により導出する。変位ベクトルLXが１／４ペルの小数精度であることを考慮し、参照画像補間部３０９２２は、予測ユニットの画素の座標が（ｘＰ、ｙＰ）である場合に対応する整数精度の画素Ｒ０のＸ座標xIntとＹ座標yInt、及び変位ベクトルmvDispのＸ成分の小数部分xFracとＹ成分の小数部分yFracを  xInt = xPb + ( mvLX[ 0 ] >> 2 )  yInt = yPb + ( mvLX[ 1 ] >> 2 )  xFrac = mvLX[ 0 ] & 3   yFrac = mvLX[ 1 ] & 3 の式により導出する。ここで、Ｘ & 3は、Ｘの下位２ビットのみを取り出す数式である。
【０１５１】  次に、参照画像補間部３０９２２は、ベクトルmvLXが１／４ペルの小数精度であることを考慮し、補間画素predPartLX[ x ][ y ]を生成する。まず、整数画素Ａ(xA,yB)、Ｂ(xB,yB)、Ｃ(xC,yC)及びＤ(xD,yD)の座標を  xA = Clip3( 0, picWidthInSamples - 1, xInt )  xB = Clip3( 0, picWidthInSamples - 1, xInt + 1 )  xC = Clip3( 0, picWidthInSamples - 1, xInt )  xD = Clip3( 0, picWidthInSamples - 1, xInt + 1 )   yA = Clip3( 0, picHeightInSamples - 1, yInt )  yB = Clip3( 0, picHeightInSamples - 1, yInt )  yC = Clip3( 0, picHeightInSamples - 1, yInt + 1 )   yD = Clip3( 0, picHeightInSamples - 1, yInt + 1 )の式により導出する。ここで、整数画素Ａは画素Ｒ０に対応した画素であり、整数画素Ｂ，Ｃ，Ｄはそれぞれ整数画素Ａの右、下、右下に隣接する整数精度の画素である。参照画像補間部３０９２２は、各整数画素Ａ、Ｂ、Ｃ、及びＤに対応する参照画素refPicLX[ xA][ yA ]、refPicLX[ xB ][ yB ]、refPicLX[ xC ][ yC ]、及びrefPicLX[ xD ][ yD ]を参照ピクチャメモリ３０６から読み出す。
【０１５２】  そして、参照画像補間部３０９２２は、参照画素refPicLX[ xA ][ yA ]、refPicLX[ xB][ yB ]、refPicLX[ xC ][ yC ]、refPicLX[ xD ][ yD ]とベクトルmvLXのＸ成分の小数部分xFracとＹ成分の小数部分yFracを用いて、画素Ｒ０からベクトルmvLXの小数部分だけずらした位置の画素である補間画素predPartLX[ x ][ y ]を線形補間（双線形補間）により導出する。具体的には、  predPartLX[ x ][ y ] = (refPicLX[ xA ][ yA ] * ( 8 - xFrac ) * ( 8 - yFrac ) + refPicLX[ xB ][ yB ] * ( 8 - yFrac ) * xFrac+ refPicLX[ xC ][ yC ] * ( 8 - xFrac ) * yFrac+ refPicLX[ xD ][ yD ] * xFrac * yFrac ) >> 6の式により導出する。
【０１５３】  なお、上記では対象画素の周囲の４点の画素を用いて１ステップの双線形補間により導出しているが、水平方向の線形補間と垂直方向の線形補間を分離し２ステップの線形補間により残差予測補間画像を生成しても良い。
【０１５４】  参照画像補間部３０９２２は、上記の補間画素導出処理を、予測ユニット内の各画素に対して行い、補間画素の集合を補間ブロックpredPartLXとする。参照画像補間部３０９２２は、導出した補間ブロックpredPartLXを、対応ブロックcurrIvSamplesLXとして、残差合成部３０９２３に出力する。
【０１５５】  参照画像補間部３０９２２は、対応ブロックcurrIvSamplesLXを導出した処理と、変位ベクトルmvLXをベクトルmvRに置き換えている点を除いて、同様の処理を行うことで、参照ブロックrefIvSamplesLXを導出する。参照画像補間部３０９２２は、参照ブロックrefIvSamplesLXを残差合成部３０９２３に出力する。
【０１５６】  （残差予測用参照ピクチャの導出）  上記の動作をより一般的に説明すると以下の通りである。残差予測部３０９２は、残差予測動き補償画像（currIvSamplesLX/rpSamplesLX、refIvSamplesLX/rpRefSamplesLX）の導出において参照する参照ピクチャである参照ピクチャrpPic、rpPicRefと、参照ブロックの位置（対象ブロックの座標を基準とした参照ブロックの相対座標）を示すベクトルmvRp、mvRpRefを導出する。
【０１５７】  残差予測部３０９２は、対象ブロックの属する対象ピクチャと同じ表示時刻（ＰＯＣ）もしくは同じビューＩＤであるピクチャをrpPicとして設定する。
【０１５８】  具体的には、残差予測部３０９２は、対象ブロックが動き予測の場合（インタービュ予測フラグivRefFlagが０の場合）、参照ピクチャrpPicのＰＯＣと対象ピクチャのＰＯＣであるPicOrderCntValが等しく、かつ、参照ピクチャrpPicのビューＩＤと予測ユニットの参照ビューＩＤRefViewIdx[ xP ][ yP ]（これは対象ピクチャのビューＩＤは異なる）が等しい。という条件から参照ピクチャrpPicを導出する。さらに、残差予測部３０９２は、上記rpPicのベクトルmvRpに、変位ベクトルMvDispを設定する。
【０１５９】  残差予測部３０９２は、対象ブロックが変位予測の場合（インタービュ予測フラグivRefFlagが１の場合）、対象ブロックの予測画像生成に用いる参照ピクチャをrpPicに設定する。すなわち、対象ブロックの参照インデックスがRpRefIdxLY、参照ピクチャリストがRefPicListYの場合、参照ピクチャrpPicはRefPicListY[ RpRefIdxLY ]から導出される。さらに、残差予測部３０９２に含まれる図示しない残差予測用ベクトル導出部３０９２４（後述）は、上記rpPicのベクトルmvRpに、対象ブロックのベクトルmvLX（これは変位ベクトルMvDispと等しい）が指し示す先の、対象ピクチャと同一ＰＯＣで、ビューＩＤの異なるピクチャ上の予測ユニットのベクトルであるmvTを導出し、その動きベクトルmvTをmvRpに設定する。
【０１６０】  次に残差予測部３０９２は、対象ピクチャと異なる表示時刻（ＰＯＣ）かつ異なるビューＩＤを備える参照ピクチャをrpPicRefとして設定する。
【０１６１】  具体的には、残差予測部３０９２は、対象ブロックが動き予測の場合（インタービュ予測フラグivRefFlagが０の場合）、参照ピクチャrpPicRefのＰＯＣと対象ブロックの参照ピクチャRefPicListY[ RpRefIdxLY ]のＰＯＣが等しく、かつ、参照ピクチャrpPicRefのビューＩＤと変位ベクトルMvDispの参照ピクチャのビューＩＤRefViewIdx[ xP ][ yP ]が等しいという条件から参照ピクチャrpPicRefを導出する。さらに、残差予測部３０９２は、上記rpPicRefのベクトルmvRpRefに予測ブロックの動きベクトルをスケーリングしたベクトルmvLXと、ベクトルmvRpの和（mvRp+mvLX）を設定する。
【０１６２】  残差予測部３０９２は、対象予測ユニットが変位予測の場合（インタービュ予測フラグivRefFlagが１の場合）、参照ピクチャrpPicRefのＰＯＣが参照ピクチャrpPicのＰＯＣと等しく、かつ、参照ピクチャrpPicRefのビューＩＤと予測ユニットのビューＩＤRefViewIdx[ xP ][ yP ]が等しいという条件から参照ピクチャrpPicRefを導出する。さらに、残差予測部３０９２は、上記rpPicRefのベクトルmvRpRefに予測ブロックの動きベクトルmvLXと、ベクトルmvRpの和（mvRp+mvLX）を設定する。
【０１６３】  すなわち、残差予測部３０９２では、mvRpとmvRpRefは、以下のように導出される。
【０１６４】  インタービュ予測フラグivRefFlagが０の場合    mvRp = MvDisp                              式（Ｂ−１）    mvRpRef = mvRp + mvLX (=mvLX + MvDisp)    式（Ｂ−２）  インタービュ予測フラグivRefFlagが１の場合    mvRp = mvT                                式（Ｂ−３）    mvRpRef = mvRp + mvLX (=mvLX + mvT)       式（Ｂ−４）
【０１６５】  （残差予測用ベクトル導出部３０９２４）  残差予測用ベクトル導出部３０９２４は、対象ピクチャと異なるピクチャ上の予測ユニットのベクトルmvTを導出する。残差予測用ベクトル導出部３０９２４は、参照ピクチャ、対象ブロック座標(xP, yP)、対象ブロックサイズnPSW, nPSH、ベクトルmvLXを入力とし、参照ピクチャ上の予測ユニットの動き補償パラメータ（ベクトル、参照ピクチャインデックス、ビューＩＤ）からベクトルmvT及びビューＩＤを導出する。残差予測用ベクトル導出部３０９２４は、入力として指示された参照ピクチャ上の、対象ブロックからベクトルmvLXだけずれた位置にあるブロックの中心座標として、参照座標(xRef, yRef)を以下の式により導出する。
【０１６６】  xRef = Clip3( 0, PicWidthInSamplesL - 1, xP + ( nPSW >> 1 ) + ( ( mvDisp[ 0 ] + 2 ) >> 2 ) )  yRef = Clip3( 0, PicHeightInSamplesL - 1, yP + ( nPSH >> 1 ) + ( ( mvDisp[ 1] + 2 ) >> 2 ) )
【０１６７】  残差予測用ベクトル導出部３０９２４は、参照ブロック座標(xRef, yRef)を含む予測ユニットであるrefPUのベクトルmvLXと参照ピクチャインデックスrefPicLXを導出する。対象予測ユニットが変位予測（DiffPicOrderCnt (currPic, refPic)が０）かつ参照予測ユニットrefPUが動き予測の場合（DiffPicOrderCnt(refPic, refPicListRefX[ refIdxLX ]）が０以外)の場合には、refPUのベクトルをmvTとし、参照可能フラグavailFlagTを１とする。上記処理により、対象ピクチャと同一ＰＯＣで、ビューＩＤの異なるピクチャを参照ピクチャとするブロックのベクトルをmvTとして導出できる。
【０１６８】  残差予測用ベクトル導出部３０９２４は、対象ピクチャと異なるピクチャ上の予測ユニットのベクトルを導出する。残差予測用ベクトル導出部３０９２４は、対象ブロック座標(xP, yP)、対象ブロックサイズnPbW, nPbH、変位ベクトルmvDispを入力として、以下の参照ブロック座標(xRef, yRef)を導出する。
【０１６９】  xRef = Clip3( 0, PicWidthInSamplesL - 1, xP + ( nPSW >> 1 ) + ( ( mvDisp[ 0 ] + 2 ) >> 2 ) )  yRef = Clip3( 0, PicHeightInSamplesL - 1, yP + ( nPSH >> 1 ) + ( ( mvDisp[ 1] + 2 ) >> 2 ) )
【０１７０】  残差予測用ベクトル導出部３０９２４は、参照ブロック座標(xRef, yRef)を含む予測ユニットであるrefPUのベクトルmvLXと参照ピクチャインデックスrefPicLXを導出する。対象予測ユニットが動き予測（DiffPicOrderCnt( currPic, refPic)が０以外）、参照予測ユニットrefPUが変位予測の場合（DiffPicOrderCnt( refPic, refPicListRefX[ refIdxLX ]）が０)には、参照可能フラグavailFlagTを１とする。これにより、対象ピクチャと同一ＰＯＣで、ビューＩＤの異なるピクチャを参照ピクチャとするブロックのベクトルをmvTとして導出できる。
【０１７１】  （残差の導出と加算）  残差合成部３０９２３は、残差予測実施フラグresPredFlagが１の場合には、２つの残差予測動き補償画像（currIvSamplesLX、refIvSamplesLX）の差分から残差を導出し、動き補償画像にこの残差を加算することにより予測画像を導出する。具体的には、残差合成部３０９２３は、予測画像predSamplesLX、対応ブロックcurrIvSamplesLX、参照ブロックrefIvSamplesLX及び残差予測インデックスiv_res_pred_weight_idxから、補正予測画像predSamplesLX´を導出する。補正予測画像predSamplesLX´は、  predSamplesLX´[x][y] = predSamplesLX[x][y] + ((currIvSamplesLX[x][y] - refIvSamplesLX[x][y]) >> (iv_res_pred_weight_idx - 1))の式を用いて求める。xは０から予測ブロックの幅-1、yは0から予測ブロックの高さ-1である。残差合成部３０９２３は、残差予測実施フラグresPredFlagが０の場合には、以下の式のように予測画像predSamplesLXをそのまま出力する。
【０１７２】  predSamplesLX´[x][y] = predSamplesLX[x][y]
【０１７３】  図２１は、本実施形態の残差合成部３０９２３の動作を示すフローチャートである。ここで、残差合成部３０９２３が対象とするブロックは、輝度ブロックと２つの色差ブロックである。サブブロック動き補償フラグsubPbMotionFlagが０の場合には、輝度ブロックの幅と高さは、予測ユニットの幅PbWと高さPbHに等しく、色差ブロックの幅と高さは、PbW/2、PbH/2である。サブブロック動き補償フラグsubPbMotionFlagが１の場合には、輝度ブロックの幅と高さは、サブブロックの幅nSubBlkWと高さnSubBlkHに等しく、色差ブロックの幅と高さは、nSubBlkW/2、nSubBlkH/2となる。（ステップＳ１１０１）対象ブロックのブロックサイズが所定のサイズよりも大きいか否かを判定する。所定のサイズよりも大きい場合には、ステップＳ１１０２に遷移する。所定のサイズよりも小さい場合には、動作を終了する。例えば、ブロックの幅が４より大きい（８以上）の場合にブロックが所定のサイズよりも大きいと判定する。また、ブロックの幅と高さの和が１２よりも大きい場合にブロックが所定のサイズよりも大きいと判定しても良い。（ステップＳ１１０２）対象ブロックのブロックサイズが所定サイズよりも大きい場合には、２つの残差予測動き補償画像currIvSampleLX、refIvSampleLXの差分を残差として導出し、動き補償画像predSamplesLXに加算することで残差予測を行う。例えば、ブロックが輝度の場合には、予測画像predSamplesLX_L、対応ブロックcurrIvSamplesLX_L、参照ブロックrefIvSamplesLX_L及び残差予測インデックスiv_res_pred_weight_idxから、補正予測画像predSamplesLX_L´を導出する。
【０１７４】  predSamplesLX_L´[x][y] = predSamplesLX_L [x][y] + ((currIvSamplesLX_L[x][y] - refIvSamplesLX_L[x][y]) >> (iv_res_pred_weight_idx -1))  式（Ａ―１）ここで、xは0以上PbW-1以下、yは0以上PbH-1以下の整数。
【０１７５】  例えば、ブロックが色差の場合には、残差合成部３０９２３は、予測画像predSamplesLX_Cb、対応ブロックcurrIvSamplesLX_Cb、参照ブロックrefIvSamplesLX_Cb及び残差予測インデックスiv_res_pred_weight_idxから、補正予測画像predSamplesLX_Cb´を導出する。
【０１７６】  predSamplesLX_Cb´[x][y] = predSamplesLX_Cb[x][y] + ((currIvSamplesLX_Cb[x][y] - refIvSamplesLX_Cb[x][y]) >> (iv_res_pred_weight_idx- 1))  式（Ａ―２）
【０１７７】  また、残差合成部３０９２３は、予測画像predSamplesLX_Cr、対応ブロックcurrIvSamplesLX_Cr、参照ブロックrefIvSamplesLX_Cr及び残差予測インデックスiv_res_pred_weight_idxから、補正予測画像predSamplesLX_Cr´を導出する。
【０１７８】  predSamplesLX_Cr´[x][y] = predSamplesLX_Cr[x][y] + ((currIvSamplesLX_Cr[x][y] - refIvSamplesLX_Cr[x][y]) >> (iv_res_pred_weight_idx- 1))   式（Ａ―３）ここで、xは0以上PbW/2-1以下、yは0以上PbH/2-1以下の整数。
【０１７９】  上記構成の残差合成部３０９２３によれば、対象ブロックのブロックサイズが所定のサイズよりも小さい場合において、残差予測を行わないことにより、処理量を削減する効果を奏する。残差予測を行わない場合には、残差の加算が不要になるだけではなく、差分の導出に用いる２つの残差予測動き補償画像（currIvSamplesLX、refIvSamplesLX）を導出する必要がないことから、これら残差予測動き補償を導出するための参照画像の転送および補間処理が不要となる。特にブロックサイズが小さい場合には、処理面積（画素当たり）の補間および参照画像の転送のオーバーヘッドが大きくなることから、残差予測の処理量が大きくなる。従って、ブロックサイズが小さい場合に残差予測をオフにすることにより、残差予測処理のボトルネックとなるワーストケースの処理量を低減する効果を奏する。
【０１８０】  図２２は、本実施形態の残差合成部３０９２３の動作を示すフローチャートである。図２２の動作は、残差予測インデックス復号部３０３１１において、符号化ユニットＣＵの分割モードPredModeが２Ｎ×２Ｎの場合に、残差予測インデックスiv_res_pred_weight_idxが復号され、それ以外の場合には、残差予測インデックスiv_res_pred_weight_idxが０となる場合に適用される。分割モードPredModeが２Ｎ×２Ｎの場合、予測ブロックの幅と高さは同じ値となり最小サイズは８×８となる。このとき、輝度ブロックの最小サイズは８×８、色差ブロックの最小サイズは４×４となる。（ステップＳ１２００）輝度成分について２つの残差予測動き補償画像currIvSampleLX_L、refIvSampleLX_Lの差分を残差として導出し、動き補償画像predSamplesLX_Lに加算することで残差予測を行う。具体的には式（Ａ−１）により導出する。（ステップＳ１１０１）予測ブロック（対象ブロック、予測ユニット）の幅（輝度ブロックの幅）が所定のサイズよりも大きいか否かを判定する。所定のサイズよりも大きい場合にステップＳ１１０２に遷移する。ここでは、予測ブロックの幅が８より大きい場合にブロックが所定のサイズよりも大きいと判定する。（ステップＳ１１０２）予測ブロック（対象ブロック、予測ユニット）の幅が所定サイズよりも大きい場合には、色差成分について、２つの残差予測動き補償画像currIvSampleLX_C、refIvSampleLX_Cの差分を残差として導出し、動き補償画像predSamplesLX_Cに加算することで残差予測を行う。ここでＣはCbおよびCrである。具体的には式（Ａ−２）、式（Ａ−３）により導出する。
【０１８１】  なお、予測ユニットがインタービューマージ候補によるものであり、サブブロック動き補償フラグsubPbMotionFlagが１の場合には、残差予測部３０９２の対象ブロック自体が既に予測ユニットを複数のサブブロックに分割したものである。色差ブロックが４×４の場合に色差ブロックの残差予測処理を省略する処理は、予測ユニットの性質も考慮すれば以下のように判定し処理することもできる。予測ユニットが８×８（予測ユニットの輝度幅が８）であるか、もしくは、予測ユニットがインタービューマージ候補によるものである場合に色差の残差予測処理を省略する。つまり、予測ユニットの輝度幅が８より大きいか、もしくは、予測ユニットがインタービューマージ候補ではない場合に、色差の残差予測処理を実行する。
【０１８２】  また、予測ユニットがインタービューマージ候補である場合にサブブロック動き補償フラグsubPbMotionFlagを１とする場合には、上記の処理は以下のように行うことができる。予測ユニットが８×８（予測ユニットの輝度幅が８）であるか、もしくは、サブブロック動き補償フラグsubPbMotionFlagが１に、色差の残差予測処理を省略する。つまり、予測ユニットの輝度幅が８より大きいか、もしくは、予測ユニットのサブブロック動き補償フラグsubPbMotionFlagが０の場合に、色差の残差予測処理を実行する。
【０１８３】  上記に加え、サブブロックサイズが４×４（サブブロックの幅が４であること）であることを判定に加えても良い。この場合、予測ユニットが８×８（予測ユニットの輝度幅が８）であるか、もしくは、予測ユニットがインタービューマージ候補（サブブロック動き補償フラグsubPbMotionFlagを１）によるものでありかつサブブロックサイズが４の場合に色差の残差予測処理を省略する。つまり、予測ユニットの輝度幅が８より大きいか、もしくは、予測ユニットがインタービューマージ候補ではないか、サブブロックの幅が４ではない場合に、色差の残差予測処理を実行する。  上記構成の残差予測インデックス復号部３０３１１および残差合成部３０９２３を備える画像復号装置によれば、残差予測が適用される最小の予測ユニット（８×８）において、色差成分に対して残差予測を行わないことにより、処理量を低減する効果を奏する。残差予測を行わない場合の効果は上述の通りであるが、特に処理量が最も大きくなる予測ユニットが８×８の場合に、特にワーストケースの処理量を低減する効果を奏する。
【０１８４】  なお、本実施形態では対象ブロックのサイズとして、対象ブロックの幅と高さの和を用いたが、対象ブロックの幅、高さ、もしくは、幅と高さの最小値、幅と高さの積を用いても良い。例えば、予測ブロックの幅と高さが共に８以上の場合に所定のサイズよりも大きいと判定し色差ブロックに対しても残差予測を行い、幅もしくは高さが８未満の場合に所定のサイズよりも小さいと判定し色差ブロックに対しては残差予測を行わないことが好ましい（以下同様）。
【０１８５】  （残差予測部の別の構成）  以下、残差予測部の別の構成として、残差予測部３０９２Ｂを説明する。残差予測部３０９２Ｂの基本的な動作は、残差予測部３０９２と等しい。すなわち、残差予測部３０９２Ｂも、残差予測部３０９２と同様、参照画像補間部３０９２２により線形補間から２つの残差予測動き補償画像を生成する。また、残差予測部３０９２Ｂも、残差予測部３０９２と同様、予測ブロックサイズ（予測ユニットサイズもしくはサブブロックサイズ）が所定のサイズより大きい場合に、合成部３０９２３において、上記２つの残差予測動き補償画像から導出した残差を動き補償画像に加算することにより残差予測を実行する。
【０１８６】  残差予測部３０９２Ｂは、対象予測ユニットが動き予測の場合（インタービュ予測フラグivRefFlagが０の場合）における参照ピクチャrpPicに対する残差予測動き補償画像の位置を示すベクトルが、残差予測部３０９２と異なる。
【０１８７】  図２３は、残差予測部３０９２Ｂの動作を説明する概念図である。図２３は、対象ブロックが変位予測ではない場合（ivRefFlagが０の場合）の残差予測動き補償画像のrpPic、rpPicRefとそのベクトルmvRp、mvRpRefが示されている。図２３に示すように、対象ブロックが変位予測ではない場合（ivRefFlagが０の場合）、残差予測部３０９２Ｂは、上記対象ブロックのベクトルmvLXが指し示す先のピクチャ上の予測ユニットのベクトルであるmvTを残差予測用のベクトルmvRPとして導出する。残差予測部３０９２Ｂは、簡潔に記すと以下の動作を行う。
【０１８８】  インタービュ予測フラグivRefFlagが０の場合、  mvRp = availFlagT ? mvT : MvDisp        式（Ｂ−１´）  mvRpRef = mvRp + mvLX (=mvLX + mvT or mvLX + MvDisp)        式（Ｂ−２）  この場合の処理が、残差予測部３０９２から拡張される。
【０１８９】  インタービュ予測フラグivRefFlagが１の場合  mvRp = mvT                                      式（Ｂ−３）  mvRpRef = mvRp + mvLX (=mvLX + mvT)              式（Ｂ−４）  この場合の処理は、残差予測部３０９２と等しい。
【０１９０】  具体的には、残差予測部３０９２Ｂは、インタービュ予測フラグivRefFlagが０の場合に、図示しない残差予測用ベクトル導出部３０９２４Ｂにより、予測ユニットの参照ピクチャRefPicListX[ refIdxLX ]であるrpPicT、対象ブロック座標(xP, yP)、対象ブロックサイズnPbW, nPbH、対象予測ユニットの変位ベクトルmvDispから、変位ベクトルmvTと、利用フラグavailFlagT、ビューインデックスrefViewIdxを導出する。
【０１９１】  残差予測用ベクトル導出部３０９２４Ｂは、残差予測用ベクトル導出部３０９２４の処理の後、最終ステップとして、以下の処理をさらに追加で実行する。
【０１９２】  残差予測用ベクトル導出部３０９２４Ｂは、参照ブロック座標(xRef, yRef)を含む予測ユニットであるrefPUのベクトルmvLXと参照ピクチャインデックスrefPicLXを導出する。対象ブロックが動き予測（DiffPicOrderCnt ( currPic, refPic)が０以外）、参照予測ユニットrefPUが変位予測の場合（DiffPicOrderCnt( refPic, refPicListRefX[ refIdxLX ]）が０)には、参照可能フラグavailFlagTを１とする。すなわち、残差予測用ベクトル導出部３０９２４は、対象ブロックが変位予測の場合（インタービュ予測フラグivRefFlagが１）を対象として、動きベクトルであるmvTを導出していたが、残差予測用ベクトル導出部３０９２４Ｂは、さらに対象ブロックが動き予測の場合（インタービュ予測フラグivRefFlagが０）を対象として、変位ベクトルであるmvTの導出も行う。
【０１９３】  残差予測部３０９２Ｂは、インタービュ予測フラグivRefFlagが０の場合、対応ブロックcurrIvSamplesLX（図１４）のベクトルmvRPを、以下の式により、変位ベクトルであるmvTが利用可能（availFlagTが１）であればmvT、利用可能でなければ、MvDisp[ xP ][ yP ]を用いる。
【０１９４】  mvRP = availFlagT ? mvT: MvDisp[ xP ][ yP ]      式（Ｂ−１´）
【０１９５】  すなわち、残差予測部３０９２Ｂは、参照可能フラグavailFlagTが１の場合（対象ブロックのベクトルmvLXが指し示す先のピクチャ上（図２３ではrpPicT）の予測ユニットのベクトルであるmvTが変位ベクトルとして存在する場合）に、対象予測ブロックの変位ベクトルMvDispの代わりに、残差予測用ベクトル導出部３０９２４Ｂが導出した変位ベクトルmvTを用いる。変位ベクトルMvDispと変位ベクトルmvTの違いは、変位ベクトルMvDispは、対象予測ブロック（対象ブロックが属する予測ブロック）と同じ座標に位置する時間的に異なるピクチャ（もしくは対象予測ブロック周囲のブロック）から導出されるのに対し、変位ベクトルmvTは、対象ブロックに動きベクトルmvLXを加えた座標に位置する時間的に異なるピクチャから導出される。動きベクトルmvLXを加えて動きを考慮している分、mvTの方が高い精度を有することが多い。
【０１９６】  残差予測部３０９２Ｂは、対象ブロックが動き予測の場合（インタービュ予測フラグivRefFlagが０の場合）、参照ピクチャrpPicのＰＯＣが対象ピクチャのＰＯＣであるPicOrderCntValと等しく、かつ、参照ピクチャrpPicのビューＩＤがavailFlagT ? refVIdx: RefViewIdx[ xP ][ yP ]と等しい。という条件から参照ピクチャrpPicを導出する。すなわち、変位ベクトルであるmvTが利用可能（availFlagTが１）の場合には、変位ベクトルMvDisp[ xP ][ yP ]に対応する参照ピクチャ（ビューＩＤはRefViewIdx[ xP ][ yP ]ではなく）、変位ベクトルmvTに対応する参照ピクチャ（ビューＩＤは、refVIdx）を用いる。
【０１９７】  残差予測部３０９２Ｂは、対象ブロックが動き予測の場合（インタービュ予測フラグivRefFlagが０の場合）、参照ピクチャrpPicRefのＰＯＣと対象ブロックの参照ピクチャRefPicListY[ RpRefIdxLY ]のＰＯＣが等しく、かつ、参照ピクチャrpPicRefのビューＩＤが、availFlagT ? refVIdx: RefViewIdx[ xP ][ yP ]と等しいという条件から参照ピクチャrpPicRefを導出する。さらに、残差予測部３０９２は、上記rpPicRefのベクトルmvRpRefに予測ブロックの動きベクトルをスケーリングしたベクトルmvLXと、ベクトルmvRpの和（mvRp+mvLX）を設定する。mvPicRefは、上述の変位ベクトルmvTが指す参照ピクチャと同じビューＩＤを有する。
【０１９８】  すなわち、対象ブロックが変位予測ではない場合（ivRefFlagが０の場合）、残差予測部３０９２Ｂは、上記対象ブロックのベクトルmvLXが指し示す先のピクチャ上の予測ユニットのベクトルであるmvTを残差予測用のベクトルmvRPとして導出する。また、上記のように、残差予測部３０９２Ｂは、対象ブロックが変位予測ではない場合（ivRefFlagが０の場合）に、上記対象ブロックのベクトルmvLXが指し示す先のピクチャ上の予測ユニットのベクトルであるmvTが変位ベクトルとして存在すればmvTを、変位ベクトルとして存在しなければ、上記対象ブロックの変位ベクトルmvDispを残差予測用のベクトルmvRPとして導出するとさらに好適である。
【０１９９】  残差予測部３０９２Ｂは、対象ブロックが変位予測の場合（インタービュ予測フラグivRefFlagが１の場合）、残差予測部３０９２と同様に、参照ピクチャrpPicRef、rpPicRefのベクトルmvRpRefを導出する。
【０２００】  残差予測部３０９２Ｂの参照画像補間部３０９２２は、残差予測部３０９２同様、線形補間（双線形予測）の補間画素導出処理により、参照ピクチャrpPicからベクトルmvRが指し示す先のブロックに対応する対応ブロックcurrIvSamplesLX（rpPic）を導出し、残差合成部３０９２３に出力する。
【０２０１】  残差予測部３０９２Ｂの参照画像補間部３０９２２は、残差予測部３０９２同様、線形補間（双線形予測）の補間画素導出処理により、参照ピクチャrpPicRefから、変位ベクトルmvDispとベクトルmvRPの和のベクトルmvRPRefが指し示す先のブロックに対応するベクトル参照ブロックrefIvSamplesLX（rpPicRef）を導出し、残差合成部３０９２３に出力する。
【０２０２】  残差予測部３０９２Ｂの残差合成部は、既に説明した残差合成部３０９２３と同様である。すなわち、対象ブロックのブロックサイズが所定のサイズよりも大きい場合において、２つの残差予測動き補償画像から残差を導出し、残差を動き補償画像に加算することにより予測画像を生成する。逆に、対象ブロックのブロックサイズが所定のサイズ以下の場合には、残差を導出せず、動き補償画像をそのまま予測画像に設定する。
【０２０３】  以上説明した残差予測部３０９２Ｂによれば、小ブロック（特に輝度ブロックサイズが８以下の場合の色差ブロック）において、残差を導出しないため、処理量を削減する効果を奏する。さらに、残差予測部３０９２Ｂによれば、対象予測ユニットが動き予測の場合（インタービュ予測フラグivRefFlagが０の場合）にさらに、対象ブロックの変位ベクトルとして、対象ブロックのベクトルmvLXが指し示す先のピクチャ上の予測ユニットのベクトルであるmvTとすることにより、小ブロックにおいて残差を導出しないことに伴う性能低下を補うことが可能である。発明者は、色差ブロックである場合、小ブロックにおいて残差予測を行わない処理と、対象ブロックが動き予測の場合（インタービュ予測フラグivRefFlagが０の場合）に予測ユニット単位（もしくは符号化ユニット単位）の変位ベクトルであるMvDispの代わりに、対象ブロック単位の変位ベクトルmvTを用いる変位ベクトル変更する処理を実装している。実験により、色差の小ブロックに対して残差予測を行わない処理を適用しても、変位ベクトル変更処理により、全体として符号化効率が低下しないことを確認している。
【０２０４】  なお、残差予測部３０９２Ｂは、インタービュ予測フラグivRefFlagが０、かつ、サブブロック動き補償フラグsubPbMotionFlagが１である場合の場合に、残差予測用ベクトル導出部３０９２４Ｂにより、予測ユニットの参照ピクチャRefPicListX[ refIdxLX ]であるrpPicT、対象ブロック座標(xP, yP)、対象ブロックサイズnPbW, nPbH、対象予測ユニットの変位ベクトルmvDispから、変位ベクトルmvTと、利用フラグavailFlagT、ビューインデックスrefViewIdxを導出しても良い。この場合、残差予測部３０９２Ｂは、上記、式（Ｂ−１）の代わりに式（Ｂ−１´´）で表される処理を行う。式（Ｂ−２）で表される処理については変化はない。
【０２０５】  mvRp = availFlagT && subPbMotionFlag==1 ? mvT : MvDisp        式（Ｂ−１´´） 
【０２０６】  このように、対応ブロックのベクトルmvRpを、対象ブロックのベクトルmvLXが指し示す先のピクチャ上の予測ユニットのベクトルであるmvTとする場合を、サブブロック動き補償フラグsubPbMotionFlagが１である場合、つまり、予測ユニットがサブブロックに分割される場合に限定することにより、符号化効率を向上させる効果を奏する。すなわち、サブブロックに分割される場合には対象ブロックのベクトルmvLXが指し示す先のピクチャ上の予測ユニットのベクトルであるmvTを用い、サブブロックに分割されない場合には、対象ブロックの視差ベクトルmvDispを用いることで、２つの場合で導出される予測画像に違いを付けることが可能になる。符号化装置側でこの２つの場合を使い分けることが可能であるので符号化効率が向上する効果を奏する。なお、対応ブロックのベクトルmvRpとして、対象ブロックのベクトルmvLXが指し示す先のピクチャ上の予測ユニットのベクトルであるmvTを用いる方法は、後述の残差予測部３０９２でも適用することができる。
【０２０７】  （残差予測部のさらに別の構成）  以下、残差予測部のさらに別の構成として、残差予測部３０９２Ｃを説明する。残差予測部３０９２Ｃは、残差予測部３０９２Ｃの対象となる対象ブロックが輝度成分の場合にはさらにサブブロックに分割し、サブブロック単位で残差予測処理を行うことを特徴とする。なお、予測ユニットが既にサブブロックに分割されていた場合（subPbMotionFlag＝１の場合）には、残差予測部３０９２Ｃにおいては、さらに分割しなくても良い。
【０２０８】  なお、予測ユニットがインタービューマージ候補によるものであり、サブブロック動き補償フラグsubPbMotionFlagが１の場合には、対象ブロック自体が既に予測ユニットを複数のサブブロックに分割したものであるので、残差予測部３０９２Ｃもそのサブブロック単位で行われる。  残差予測部３０９２Ｃは、残差予測部３０９２Ｂの処理を、サブブロックを対象ブロックとしてサブブロック単位で適用する。
【０２０９】  図２５は、残差予測部３０９２Ｃの比較例の残差予測部の動作を説明するための図である。比較例の残差予測部は、対象ブロックを、所定のサブブロックに分割し、分割した単位毎に残差予測処理を行う。色差成分（cIdx=1,2）の所定のサブブロックサイズは、輝度成分（cIdx=0）のサブブロックサイズの1/2であり、例えば輝度成分のサブブロックサイズが８×８の場合には、対応する色差成分のサブブロックサイズは４×４となる。このように、比較例ではサブブロック分割によって色差成分が小さくサブブロックに分割されるため、ブロックサイズが小さい場合に、色差成分の残差予測処理を省略する構成と併用した場合に、色差成分で残差予測が行われなくなるという課題がある（色差ブロックを４×４のサブブロックに分割する処理と、４×４の色差サブブロックで残差予測を行わない処理を併用すると色差成分では残差予測が行われない）。このため、サブブロック分割で細かく動きベクトルを割り当てることによる符号化効率向上効果は、小ブロックの色差成分で残差予測を行わないことによる符号化効率低下で相殺され、全体としては符号化効率向上の効果を得ることができない。
【０２１０】  図２４は、本実施形態の残差予測部３０９２Ｃの動作を説明するための図である。残差予測部３０９２Ｃは、輝度成分の対象ブロックについては所定のサイズのサブブロックに分割し、サブブロック毎に残差予測処理を行う。色差成分については、サブブロックに分割せず、対象ブロックのサイズのまま残差予測処理を行う。つまり、輝度成分を例えば、Ｍ×Ｎ個のサブブロック（水平方向にＭ個、垂直方向にＮ個）に分割して残差予測処理を行い、色差成分については、分割せずに残差予測処理を行う。本実施形態の残差予測部３０９２Ｃではブロックサイズが小さい場合に、色差成分の残差予測処理を省略する構成を備えるが、この場合にも、比較例と異なり色差成分で残差予測が行われない課題は発生しない。従って、色差成分についてブロックサイズに応じた残差予測処理の省略を行った場合にも、サブブロック分割で細かく動きベクトルを割り当てることによる符号化効率向上効果を奏する。また、同時に、色差成分についてブロックサイズに応じた残差予測処理を行うことによる処理量を低減する効果を奏する。さらに、色差成分においては残差予測部内部ではサブブロック単位処理を行わないため、サブブロック単位処理に伴う処理量の増加を最小限に抑えることができる。以下、残差予測部３０９２Ｃで分割されるサブブロックをＡＲＰブロックと呼ぶ。
【０２１１】  （残差予測部３０９２Ｃの構成例１）  図２６は、残差予測部３０９２Ｃの詳細動作を説明するフローチャートである。
【０２１２】  （ＳＢ３０１）残差予測部３０９２Ｃは、輝度成分（cIdx=0）について、ＡＲＰブロックのサイズarpSizeを決定する。例えば以下の式のようにサブブロック動き補償フラグsubPbMotionFlagが１の場合には、ＡＲＰブロックサイズarpSizeを、対象ブロックサイズ（サブブロックサイズ）nPbWに設定し、それ以外の場合には８に設定する。
【０２１３】  arpSize = (subPbMotionFlag ? nPbW: 8)  なお、arpSize＝8は8x8ブロックを意味する。
【０２１４】  （ＳＢ３０２）残差予測部３０９２Ｃは、輝度成分（cIdx=0）について、ＡＲＰブロックサイズ単位でループ処理を行う。例えば、ＡＲＰブロック（サブブロック）の２次元インデックスをblkX, blkYとする場合、0からnPbH/arpSize-1のblkY、及び0からnPbW/arpSize-1のblkXについてＳＢ３０３に示すステップをループ処理する。
【０２１５】  （ＳＢ３０３）輝度成分について、座標( xP + blkX* arpSize, yP + blkY* arpSize )、ブロックサイズの幅arpSize、高さarpSizeのＡＲＰブロック（サブブロック）を対象として残差予測部３０９２Ｂの残差予測処理を行い。なお、(xP, yP)は、subPbMotionFlag＝０の場合は予測ユニットの左上座標、subPbMotionFlag＝１の場合には、サブブロックの左上座標である。
【０２１６】  （ＳＢ３０４）輝度成分のループの終端である。輝度成分について、サブブロック単位の残差予測処理により、対象ブロック全体の予測画像が生成される。
【０２１７】  （ＳＢ３０５）色差成分について、座標(xP/2, yP/2)、対象ブロックサイズの幅nPbW/2、高さnPbH/2の色差ブロックについて、残差予測部３０９２Ｂに示す残差予測処理を行う。なお、残差予測部３０９２Ｂで既に説明したように、対象ブロックサイズが所定のサイズより大きい（輝度ブロックサイズが８より大きい、もしくは色差ブロックサイズが４より大きい）場合のみ、残差予測処理を行い、それ以外の場合には、残差予測処理を行わず、動き補償画像をそのまま予測画像とする。
【０２１８】  （残差予測部３０９２Ｃの構成例２）  図２７は、残差予測部３０９２Ｃの別の詳細動作を説明するフローチャートである。図２６と同様、輝度では、残差予測を行う場合にサブブロックに分割し残差予測処理を行い、色差では残差予測用のサブブロックに分割せずに残差予測処理を行う。図２６と異なり、図２７では色差についてもサブブロック単位のループで処理するが、色差ブロックでは特定サブブロック（例えば先頭サブブロック）において対象ブロック全体の色差成分を処理し、それ以外のサブブロックでは色差ブロックの処理を行わない。これにより実質的には図２６と同一の処理（処理結果は同一）を行う。
【０２１９】  （ＳＢ４０１）残差予測部３０９２Ｃは、対象ブロックサイズに応じてＡＲＰブロックサイズarpSizeを決定する。例えば以下の式のようにサブブロック動き補償フラグsubPbMotionFlagが１の場合には、ＡＲＰブロックサイズarpSizeを、対象ブロックサイズ（サブブロックサイズ）nPbWに設定し、それ以外の場合には８に設定する。
【０２２０】  arpSize = (subPbMotionFlag ? nPbW: 8)  なお、arpSize＝8は8x8ブロックを意味する。
【０２２１】  （ＳＢ４０２）残差予測部３０９２Ｃは、ＡＲＰブロックサイズ単位でループ処理を行う。例えば、ＡＲＰブロックのインデックスをblkX, blkYとする場合、0からnPbH/arpSize-1のblkY、及び0からnPbW/arpSize-1のblkXについて（ＳＢ４０５）のステップをループ処理する。
【０２２２】  （ＳＢ４０３）輝度成分について、各ループ変数（ここではblkX, blkY）に対して残差予測処理を行う。具体的には、２次元インデックスblkX, blkYで示される座標( xP + blkX* arpSize, yP + blkY* arpSize )、ブロックサイズの幅arpSize、高さarpSizeのブロックについて、残差予測部３０９２Ｂに示す処理を行い、残差予測処理により予測画像を生成する。
【０２２３】  （ＳＢ４０４）色差成分について、ループ変数であるインデックスblkX, blkYがある値の場合において、対象ブロックサイズの残差予測処理を行う。例えば、インデックスがblkX = 0, blkY = 0の場合に、座標(xP/2, yP/2)、ブロックサイズの幅nPbW/2、高さnPbH/2の色差ブロックについて、残差予測部３０９２Ｂに示す処理を行い、残差予測処理により予測画像を生成する。なお、残差予測部３０９２Ｂに示したように、残差予測部３０９２Ｃはブロックサイズが所定のサイズより大きい（輝度ブロックサイズが８より大きい、もしくは色差ブロックサイズが４より大きい）場合のみ、残差予測処理を行い、それ以外の場合には、残差予測処理を行わず、動き補償画像をそのまま予測画像とする。
【０２２４】  （ＳＢ４０５）ループの終端である。
【０２２５】  （残差予測部３０９２Ｃの構成例３）  なお、図２７の残差予測部３０９２Ｃの構成例２では、色差ブロックは、先頭サブブロックのみで処理を行っているが、構成例３では、色差ブロックについてもサブブロック単位で処理する。構成例３では、色差ブロックについては全てのサブブロックで同じベクトル、同じ参照ピクチャを用いて残差予測処理を行う。残差予測部３０９２Ｃのフローチャートは、上記のＳＢ４０１〜ＳＢ４０５と基本同じであるが、（ＳＢ４０４）が以下の（ＳＢ４０４´）に置き替えられる。
【０２２６】  （ＳＢ４０４´）色差成分について、各ループ変数（ここではblkX, blkY）に対して残差予測処理を行う。具体的には、２次元インデックスblkX, blkYで示される座標( xP/2 +blkX* arpSize/2, yP/2 + blkY* arpSize/2 )、ブロックサイズの幅arpSize/2、高さarpSize/2のブロックについて、特定のサブブロックで導出されるベクトルmvRP、mvRPRefと参照ピクチャrpPic、rpPicRefを用いて、サブブロック単位で対応ブロックcurrIvSamplesLX/rpSamplesLXLを導出し、と参照ブロックrefIvSamplesLX/rpSamplesRefLXLを導出する。さらに、対応ブロックと参照ブロックから導出される残差を用いて残差予測処理を行う。  また、これまでの残差予測部３０９２Ｃの構成例と同様、色差ブロックが４×４となる場合に、色差ブロックの残差予測処理を省略することが好適である。
【０２２７】  （残差合成部３０９２３Ｃ）  残差予測部３０９２Ｃの備える残差合成部３０９２３Ｃは、輝度成分について、残差予測を行う場合にサブブロック単位で２つの残差予測動き補償画像（rpSamplesLXL、rpSamplesRefLXL）の差分から残差を導出し、動き補償画像に残差を加算することにより予測画像を導出する。具体的には、残差合成部３０９２３は、予測画像predSamplesLX、対応ブロックrpSamplesLXL、参照ブロックrpSamplesRefLXL及び残差予測インデックスiv_res_pred_weight_idxから、動き補償画像predSamplesLXLを以下の式によって更新する。
【０２２８】  predSamplesLXL[ x ][ y ] = predSamplesLXL[ x ][ y ] + ( ( rpSamplesLXL[ x ][ y] - rpRefSamplesLXL[ x ][ y ] ) >> shiftVal )なお、xは、0からarpSize-1まで、yは0からarpSize-1までのインデックスである。
【０２２９】  残差合成部３０９２３Ｃは、色差成分について、残差予測を行う場合にも、対象ブロック単位で２つの残差予測動き補償画像（rpSamplesLXL、rpSamplesRefLXL）の差分から残差を導出し、輝度ブロックサイズ（nPbW）が所定のサイズより大きい場合に、動き補償画像に残差を加算することにより予測画像を導出する。具体的には、残差合成部３０９２３は、予測画像predSamplesLXCb、対応ブロックrpSamplesLXCb、参照ブロックrpSamplesRefLXCb及び残差予測インデックスiv_res_pred_weight_idxから、動き補償画像predSamplesLXCbを以下の式によって更新する。
【０２３０】  predSamplesLXCb[ x ][ y ] = predSamplesLXCb[ x ][ y ] + ( ( rpSamplesLXCb[ x ][ y ] - rpRefSamplesLXCb[ x ][ y ] ) >> shiftVal )なお、xは、0からブロックサイズnPbW/2-1まで、yは0からnPbH/2-1までのインデックスである。
【０２３１】  なお。上記は色差成分がCbの場合であるが、色差成分がCrの場合も同様にして、輝度ブロックサイズ（nPbW）が所定のサイズより大きい場合に、動き補償画像に残差を加算することにより予測画像を導出する。具体的には、残差合成部３０９２３は、予測画像predSamplesLXCr、対応ブロックrpSamplesLXCb、参照ブロックrpSamplesRefLXCr及び残差予測インデックスiv_res_pred_weight_idxから、動き補償画像predSamplesLXCrを以下の式によって更新する。
【０２３２】  predSamplesLXCr[ x ][ y ] = predSamplesLXCr[ x ][ y ] + ( ( rpSamplesLXCr[ x ][ y ] - rpRefSamplesLXCr[ x ][ y ] ) >> shiftVal )なお、xは、0からブロックサイズnPbW/2-1まで、yは0からnPbH/2-1までのインデックスである。
【０２３３】  上記構成の残差合成部３０９２３Ｃによれば、色差成分についてはサブブロック分割を行わず、対象ブロック単位で、残差の加算処理を行うため、処理量を低減する効果を奏する。
【０２３４】  なお、予測ユニットがインタービューマージ候補によるものであり、サブブロック動き補償フラグsubPbMotionFlagが１の場合には、対象ブロック自体が既に予測ユニットを複数のサブブロックに分割したものであるので、残差合成部３０９２３Ｃもそのサブブロック単位で色差成分の残差合成処理を行う。  （参照画像補間部３０９２２Ｃ）  残差予測部３０９２Ｃの備える参照画像補間部３０９２２Ｃは、輝度成分については、残差予測を行い、サブブロック単位で参照ピクチャrpPicとベクトルmvRPから対応ブロックcurrIvSamplesLX/rpSamplesLXLを導出し、参照ピクチャrpPicRefとベクトルmvRPRefから参照ブロックrefIvSamplesLX/rpSamplesRefLXLを導出する。すなわち、ブロックサイズnPbW, nPbHとしてサブブロックサイズarpSize, arpSizeを入力として、各サブブロック（blkX, blkY）に対して、残差予測用の参照画像補間処理を行う。
【０２３５】  参照画像補間部３０９２２Ｃは、色差成分については、対象ブロック単位で参照ピクチャrpPicとベクトルmvRPから対応ブロックcurrIvSamplesLX/ rpSamplesLXCb/Crを導出し、参照ピクチャrpPicRef、ベクトルmvRPRefから参照ブロックrefIvSamplesLX/ rpSamplesRefLXCb/Crを導出する。すなわち、ブロックサイズnPbW, nPbHとして対象ブロックサイズnPbW, nPbHを入力として処理する。また、サブブロック（blkX, blkY）アドレスが所定の値の場合のみ、例えば、blkX = 0, blkY = 0の場合に限り、色差成分Cbについての２つの残差予測動き補償画像（rpSamplesLXCb、rpSamplesRefLXCb）を導出し、色差成分Crについての２つの残差予測動き補償画像（rpSamplesLXCr、rpSamplesRefLXCr）を導出する。
【０２３６】  上記構成の残差合成部３０９２３Ｃによれば、色差成分についてはサブブロック分割を行わず、対象ブロック単位で、参照画像補間処理を行うため、処理量を低減する効果を奏する。
【０２３７】  なお、小ブロックに対して残差予測動き補償画像を省略する処理は、参照画像補間部３０９２２Ｃで行っても構わない。この場合、対象ブロックサイズが所定のサイズより大きい場合のみ残差予測用の参照画像補間処理を行う。特に、色差ブロックにおいて、色差ブロックが８×８以上の場合に残差予測用の参照画像補間処理を行い、色差ブロックサイズが４×４の場合には、参照画像補間処理を行わないことが適当である。
【０２３８】  なお、予測ユニットがインタービューマージ候補によるものであり、サブブロック動き補償フラグsubPbMotionFlagが１の場合には、対象ブロック自体が既に予測ユニットを複数のサブブロックに分割したものであるので、参照画像補間部３０９２２Ｃもそのサブブロック単位で残差予測用の参照画像補間処理を行う。
【０２３９】  （インタービューマージ候補と残差予測を組み合わせたサブブロック動き補償フラグ導出）  なお、残差予測部３０９２Ｃの対象ブロックは、インタービューマージ候補の場合にサブブロック単位で分割されており、残差予測部３０９２Ｃは、残差予測がオン（残差予測インデックスiv_res_pred_weight_idxが０より大きい）の場合にさらに追加でサブブロック単位で処理し、色差については、残差予測がオンでも追加のサブブロック単位処理は適応しない。従って、全体でみると、輝度については、インタービューマージ候補もしくは残差予測がオン（残差予測インデックスiv_res_pred_weight_idxが０より大きい）の場合にサブブロック単位処理をオンとし、色差については、インタービューマージ候補の場合にサブブロック単位処理をオンとする構成であっても良い。つまり、このような構成では、  輝度のサブブロック動き補償フラグsubPbMotionFlag＝インタービューマージ候補もしくは残差予測がオン（残差予測インデックスiv_res_pred_weight_idxが０より大きい）  色差のサブブロック動き補償フラグsubPbMotionFlag＝インタービューマージ候補    （照度補償）  照度補償部３０９３は、照度補償フラグic_flagが１の場合に、入力された予測画像predSamplesLXに対して、照度補償を行う。照度補償フラグic_flagが０の場合には、入力された予測画像predSamplesLXをそのまま出力する。
【０２４０】    （視点合成予測）  視点合成予測部３０９４は、VSPモードフラグVspModeFlagが１の場合に視点合成予測により予測画像predSampleLXを導出する。視点合成予測は、予測ユニットをサブブロックに分割し、サブブロック単位で、参照ピクチャメモリ３０６から、視差配列disparitySampleArray分だけずれた位置のブロックを読み出し補間することによって予測画像predSamplesを生成する処理である。
【０２４１】  図１６は視点合成予測部３０９４の構成を示すブロック図である。視点合成予測部３０９４は、視差配列導出部３０９４１と、参照画像補間部３０９４２から構成される。
【０２４２】  視差配列導出部３０９４１は、VSPモードフラグVspModeFlagが１の場合に、サブブロック単位で、視差配列disparitySampleArrayを導出する。
【０２４３】  具体的には、まず、視差配列導出部３０９４１は、参照ピクチャメモリ３０６から、復号対象ピクチャと同一ＰＯＣを持ち、なお且つ、変位ベクトルが示すピクチャのビューＩＤ（RefViewIdx）と同じビューＩＤであるデプス画像refDepPelsを読み出す。
【０２４４】  次に、視差配列導出部３０９４１は、予測ユニットの左上の座標（ｘＰ、ｙＰ）を変位ベクトルMvDispだけずらした座標(xTL, yTL)を、    xTL = xP + ( ( mvDisp[ 0 ] + 2 ) >> 2 )    yTL = yP + ( ( mvDisp[ 1 ] + 2 ) >> 2 )の式より導出する。なお、mvDisp[ 0 ]、mvDisp[ 1 ]は、それぞれ変位ベクトルMvDispのＸ成分とＹ成分である。導出する座標(xTL, yTL)は、デプス画像refDepPels上の予測ユニットに対応するブロックの座標を示すものである。
【０２４５】  視点合成予測部３０９４は、対象ブロック（予測ユニット）のサイズ（幅nPSW×高さnPSH）に応じて、サブブロック分割を行う。
【０２４６】  図１２は、予測ユニットのサブブロック分割を説明する図である。予測ユニットは８×４もしくは４×８のサブブロックに分割される。図１２（ａ）に示すように予測ユニットの高さnPSH（同図ではheight）がnPSH%8!=0を満たす場合には、８×４のサブブロックが用いられる。図１２（ｂ）に示すように予測ユニットの幅nPSW(同図ではwidth)がnPSW%8!=0を満たす場合には、４×８のサブブロックが用いられる。図１２（ｃ）に示すように、それ以外の場合には、予測ユニットに対応するデプスブロックのデプスの値に応じて８×４もしくは４×８のサブブロックが用いられる。
【０２４７】  視差配列導出部３０９４１は、予測ユニットの幅nPSWもしくは高さnPSHが８の倍数以外の場合に、以下の式によりフラグminSubBlkSizeFlagを１に設定する。minSubBlkSizeFlag = ( nPSW % 8 != 0) | | ( nPSH % 8 != 0 )  視差配列導出部３０９４１は、フラグminSubBlkSizeFlagが１の場合、以下の式により、予測ユニットの高さが８の倍数以外の場合（nPSH % 8が真の場合）には、horSplitFlagに１、それ以外の場合には、０を設定する。
【０２４８】  horSplitFlag = ( nPSH % 8 ! = 0 )  すなわち、予測ユニットの高さが８の倍数以外の場合（nPSH % 8が真の場合）には、horSplitFlagに１、予測ユニットの幅が８の倍数以外の場合（nPSW % 8が真の場合）には、horSplitFlagに０が設定される。
【０２４９】  視差配列導出部３０９４１は、デプス値からサブブロックサイズを導出する。予測ブロックのコーナーの４点（ＴＬ、ＴＲ、ＢＬ、ＢＲ）の比較から、サブブロックサイズを導出する。フラグminSubBlkSizeFlagが０の場合、予測ユニットの左上端（ＴＬ）の座標のデプス画像の画素値をrefDepPelsP0、右上端（ＴＲ）の画素値をrefDepPelsP1、左下端（ＢＬ）の画素値をrefDepPelsP2、右下端（ＢＲ）の画素値をrefDepPelsP3とした場合、    horSplitFlag＝( refDepPelsP0 > refDepPelsP3 ) == ( refDepPelsP1 > refDepPelsP2 )の条件式（horSplitFlag）が成立するかを判定する。なお、horSplitFlagの導出には、符号を変更した以下の式を用いても良い。
【０２５０】    horSplitFlag＝( refDepPelsP0 < refDepPelsP3 ) == ( refDepPelsP1 < refDepPelsP2 )  次に、視差配列導出部３０９４１は、  nSubBlkW = horSplitFlag ? 8 : 4  nSubBlkH = horSplitFlag ? 4 : 8の式を用いてサブブロックの幅nSubBlkWと高さnSubBlkHを設定する。
【０２５１】  以上の視差配列導出部３０９４１の動作は次と同値である。予測ユニットの高さnPSHが８の倍数以外の場合（nPSH % 8が真の場合）には、  nSubBlkW = 8  nSubBlkH = 4の式のように、サブブロックの幅nSubBlkWに８、サブブロックの幅nSubBlkHに４を設定する。
【０２５２】  それ以外で予測ユニットの幅nPSWが８の倍数以外の場合（nPSW % 8が真の場合）には、  nSubBlkW = 4  nSubBlkH = 8の式のように、サブブロックの幅nSubBlkWに４、サブブロックの幅nSubBlkHに８を設定する。
【０２５３】  それ以外の場合（予測ユニットの高さと幅がともに８の倍数の場合）には、視差配列導出部３０９４１は、上記条件式を用いて、デプス画像の画素値を用いて、サブブロックの幅と高さを設定する。
【０２５４】  次に、視差配列導出部３０９４１は、予測ユニット内のサブブロックごとに、ブロックの左上画素を原点とした場合のサブブロックの幅nSubBlkWと高さnSubBlkHと、分割フラグsplitFlagと、デプス画像refDepPelsと、対応ブロックの座標(xTL, yTL)と、参照ピクチャインデックスrefIdxLXが示す参照ピクチャが属するレイヤのビューＩＤrefViewIdxと、をデプスＤＶ導出部３５１に出力することで、デプスＤＶ導出部３５１から視差配列disparitySampleArrayを得る。視差配列導出部３０９４１は、導出した視差配列disparitySampleArrayを参照画像補間部３０９２２に出力する。
【０２５５】    （デプスＤＶ導出部３５１）  デプスＤＶ導出部３５１は、デプスＤＶ変換テーブルDepthToDisparityBと、サブブロックの幅nSubBlkWと高さnSubBlkHと、分割フラグsplitFlagと、デプス画像refDepPelsと、デプス画像refDepPels上の対応ブロックの座標(xTL, yTL)と、、ビューＩＤrefViewIdxを入力として、以下の処理により、デプス由来の変位ベクトルの水平成分である視差配列disparitySamplesを導出する。
【０２５６】  デプスＤＶ導出部３５１は、予測ユニットを構成するサブブロックごとにデプスの代表値maxDepを導出する。
【０２５７】  デプスＤＶ導出部３５１は、サブブロックの左上の予測ブロック(xTL, yTL)からの相対座標を（xSubB、ySubB）とした場合、サブブロックの左端のＸ座標xP0と、右端のＸ座標xP1と、上端のＹ座標yP0と、下端のＹ座標yP1を、    xP0 = Clip3( 0, pic_width_in_luma_samples - 1, xTL + xSubB )    yP0 = Clip3( 0, pic_height_in_luma_samples - 1, yTL + ySubB )     xP1 = Clip3( 0, pic_width_in_luma_samples - 1, xTL + xSubB + nSubBlkW - 1 )    yP1 = Clip3( 0, pic_height_in_luma_samples - 1, yTL + ySubB + nSubBlkH - 1 )の式を用いて設定する。なお、pic_width_in_luma_samplesとpic_height_in_luma_samplesは、それぞれ画像の幅と高さを表す。
【０２５８】  次に、デプスＤＶ導出部３５１は、サブブロックのデプスの代表値maxDepを導出する。具体的には、サブブロックのコーナーおよびその付近４点のデプス画像の画素値refDepPels[ xP0 ][ yP0 ]、refDepPels[ xP0 ][ yP1 ]、refDepPels[ xP1 ][ yP0 ]、refDepPels[ xP1 ][ yP1 ]の最大値である代表デプス値maxDepを、    maxDep = 0    maxDep = Max( maxDep, refDepPels[ xP0 ][ yP0 ] )    maxDep = Max( maxDep, refDepPels[ xP0 ][ yP1 ] )    maxDep = Max( maxDep, refDepPels[ xP1 ][ yP0 ] )    maxDep = Max( maxDep, refDepPels[ xP1 ][ yP1 ] )の式より導出する。また、関数Max(x,y)は、第１引数ｘが第２引数ｙ以上であればｘを、そうでなければｙを返す関数である。
【０２５９】  デプスＤＶ導出部３５１は、代表デプス値maxDepとデプスＤＶ変換テーブルDepthToDisparityBと変位ベクトル(NBDV)が示すレイヤのビューＩＤrefViewIdxを用いて、デプス由来の変位ベクトルの水平成分である視差配列disparitySamplesを、サブブロック内の画素（ｘ、ｙ）（ｘは0からnSubBlkW-1、ｙは0からnSubBlkH-1の値を取る）ごとに、    disparitySamples[x][y] = DepthToDisparityB[refViewIdx][maxDep]・・（式Ａ）により導出する。
【０２６０】  デプスＤＶ導出部３５１は、導出した視差配列disparitySamplesを変位ベクトル導出部３０３６３にDoNBDVとして出力する。デプスＤＶ導出部３５１は、また、参照画像補間部３０９４２にサブブロックの変位ベクトルとして出力する。
【０２６１】  参照画像補間部３０９４２は、視差配列導出部３０９４１から入力された視差配列disparitySampleArrayとインター予測パラメータ復号部３０３から入力された参照ピクチャインデックスrefIdxLXから、予測ブロックpredSamplesを導出する。
【０２６２】  参照画像補間部３０９４２は、予測ユニット中の画素ごとに、その画素の座標から、対応する視差配列disparitySampleArrayの値だけＸ座標をずらした位置の画素を、参照ピクチャインデックスrefIdxLXが指定する参照ピクチャrefPicから抽出する。視差配列disparitySampleArrayが１／４ペルの小数精度であることを考慮し、参照画像補間部３０９４２は、予測ユニットの左上端の画素の座標が(xP, yP)であり、予測ユニット中の各画素の座標が(xL, yL) (xLは0からnPbW-1、yLは0からnPbH-1の値を取る)である場合に、参照ピクチャrefPicから抽出する画素の整数制度の座標(xInt, yInt)と、画素(xL, yL)に対応する視差配列disparitySampleArray[xL][ [yL]の小数部分xFracと、yFracを、  xIntL = xP + xL+ disparitySamples[ xL ][ yL ]  yIntL = yP + yL  xFracL = disparitySamples[ xL ][ yL ] & 3  xFracL = 0の式より導出する。
【０２６３】  次に、参照画像補間部３０９４２は、予測ユニットの各サブブロックに対して動き変位補償部３０９１と同様の補間画素導出処理を行い、補間画素の集合を補間ブロックpredPartLXとする。参照画像補間部３０９４２は、導出した補間ブロックpredPartLXを予測ブロックpredSamplesLXとして、加算部３１２に出力する。
【０２６４】    （画像符号化装置の構成）  次に、本実施形態に係る画像符号化装置１１の構成について説明する。図１９は、本実施形態に係る画像符号化装置１１の構成を示すブロック図である。画像符号化装置１１は、予測画像生成部１０１、減算部１０２、ＤＣＴ・量子化部１０３、エントロピー符号化部１０４、逆量子化・逆ＤＣＴ部１０５、加算部１０６、予測パラメータメモリ（予測パラメータ記憶部、フレームメモリ）１０８、参照ピクチャメモリ（参照画像記憶部、フレームメモリ）１０９、符号化パラメータ決定部１１０、予測パラメータ符号化部１１１、を含んで構成される。予測パラメータ符号化部１１１は、インター予測パラメータ符号化部１１２及びイントラ予測パラメータ符号化部１１３を含んで構成される。
【０２６５】  予測画像生成部１０１は、外部から入力されたレイヤ画像Ｔの視点毎の各ピクチャについて、そのピクチャを分割した領域であるブロック毎に予測ピクチャブロックpredSamplesを生成する。ここで、予測画像生成部１０１は、予測パラメータ符号化部１１１から入力された予測パラメータに基づいて参照ピクチャメモリ１０９から参照ピクチャブロックを読み出す。予測パラメータ符号化部１１１から入力された予測パラメータとは、例えば、動きベクトル又は変位ベクトルである。予測画像生成部１０１は、符号化予測ユニットを起点として予測された動きベクトル又は変位ベクトルが示す位置にあるブロックの参照ピクチャブロックを読み出す。予測画像生成部１０１は、読み出した参照ピクチャブロックについて複数の予測方式のうちの１つの予測方式を用いて予測ピクチャブロックpredSamplesを生成する。予測画像生成部１０１は、生成した予測ピクチャブロックpredSamplesを減算部１０２と加算部１０６に出力する。なお、予測画像生成部１０１は、既に説明した予測画像生成部３０８と同じ動作であるため予測ピクチャブロックpredSamplesの生成の詳細は省略する。
【０２６６】  予測画像生成部１０１は、予測方式を選択するために、例えば、レイヤ画像に含まれるブロックの画素毎の信号値と予測ピクチャブロックpredSamplesの対応する画素毎の信号値との差分に基づく誤差値を最小にする予測方式を選択する。なお、予測方式を選択する方法は、これには限られない。
【０２６７】  符号化対象のピクチャがベースビューのピクチャである場合には、複数の予測方式とは、イントラ予測、動き予測及びマージモードである。動き予測とは、上述のインター予測のうち、表示時刻間の予測である。マージモードとは、既に符号化されたブロックであって、予測ユニットから予め定めた範囲内にあるブロックと同一の参照ピクチャブロック及び予測パラメータを用いる予測である。符号化対象のピクチャがベースビュー以外のピクチャである場合には、複数の予測方式とは、イントラ予測、動き予測、マージモード（視点合成予測を含む）、及び変位予測である。変位予測（視差予測）とは、上述のインター予測のうち、別レイヤ画像（別視点画像）間の予測である。変位予測（視差予測）に対して、追加予測（残差予測および照度補償）を行う場合と行わない場合の予測がある。
【０２６８】  予測画像生成部１０１は、イントラ予測を選択した場合、予測ピクチャブロックpredSamplesを生成する際に用いたイントラ予測モードを示す予測モードPredModeを予測パラメータ符号化部１１１に出力する。
【０２６９】  予測画像生成部１０１は、動き予測を選択した場合、予測ピクチャブロックpredSamplesを生成する際に用いた動きベクトルmvLXを予測パラメータメモリ１０８に記憶し、インター予測パラメータ符号化部１１２に出力する。動きベクトルmvLXは、符号化予測ユニットの位置から予測ピクチャブロックpredSamplesを生成する際の参照ピクチャブロックの位置までのベクトルを示す。動きベクトルmvLXを示す情報には、参照ピクチャを示す情報（例えば、参照ピクチャインデックスrefIdxLX、ピクチャ順序番号ＰＯＣ）を含み、予測パラメータを表すものであっても良い。また、予測画像生成部１０１は、インター予測モードを示す予測モードPredModeを予測パラメータ符号化部１１１に出力する。
【０２７０】  予測画像生成部１０１は、変位予測を選択した場合、予測ピクチャブロックpredSamplesを生成する際に用いた変位ベクトルを予測パラメータメモリ１０８に記憶し、インター予測パラメータ符号化部１１２に出力する。変位ベクトルdvLXは、符号化予測ユニットの位置から予測ピクチャブロックpredSamplesを生成する際の参照ピクチャブロックの位置までのベクトルを示す。変位ベクトルdvLXを示す情報には、参照ピクチャを示す情報（例えば、参照ピクチャインデックスrefIdxLX、ビューＩＤview_id）を含み、予測パラメータを表すものであっても良い。また、予測画像生成部１０１は、インター予測モードを示す予測モードPredModeを予測パラメータ符号化部１１１に出力する。
【０２７１】  予測画像生成部１０１は、マージモードを選択した場合、選択した参照ピクチャブロックを示すマージインデックスmerge_idxをインター予測パラメータ符号化部１１２に出力する。また、予測画像生成部１０１は、マージモードを示す予測モードPredModeを予測パラメータ符号化部１１１に出力する。
【０２７２】  上記の、マージモードにおいて、予測画像生成部１０１は、VSPモードフラグVspModeFlagが視点合成予測を行うことを示す場合には、既に説明したように予測画像生成部１０１に含まれる視点合成予測部３０９４において視点合成予測を行う。また、動き予測、変位予測、マージモードにおいて、予測画像生成部１０１は、残差予測実施フラグresPredFlagが残差予測を行うことを示す場合には、既に説明したように予測画像生成部１０１に含まれる残差予測部３０９２において残差予測を行う。
【０２７３】  減算部１０２は、予測画像生成部１０１から入力された予測ピクチャブロックpredSamplesの信号値を、外部から入力されたレイヤ画像Ｔの対応するブロックの信号値から画素毎に減算して、残差信号を生成する。減算部１０２は、生成した残差信号をＤＣＴ・量子化部１０３と符号化パラメータ決定部１１０に出力する。
【０２７４】  ＤＣＴ・量子化部１０３は、減算部１０２から入力された残差信号についてＤＣＴを行い、ＤＣＴ係数を算出する。ＤＣＴ・量子化部１０３は、算出したＤＣＴ係数を量子化して量子化係数を求める。ＤＣＴ・量子化部１０３は、求めた量子化係数をエントロピー符号化部１０４及び逆量子化・逆ＤＣＴ部１０５に出力する。
【０２７５】  エントロピー符号化部１０４には、ＤＣＴ・量子化部１０３から量子化係数が入力され、符号化パラメータ決定部１１０から符号化パラメータが入力される。入力される符号化パラメータには、例えば、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLX、予測モードPredMode、マージインデックスmerge_idx、残差予測インデックスiv_res_pred_weight_idx、及び照度補償フラグic_flag等の符号がある。
【０２７６】  エントロピー符号化部１０４は、入力された量子化係数と符号化パラメータをエントロピー符号化して符号化ストリームＴｅを生成し、生成した符号化ストリームＴｅを外部に出力する。
【０２７７】  逆量子化・逆ＤＣＴ部１０５は、ＤＣＴ・量子化部１０３から入力された量子化係数を逆量子化してＤＣＴ係数を求める。逆量子化・逆ＤＣＴ部１０５は、求めたＤＣＴ係数について逆ＤＣＴを行い、復号残差信号を算出する。逆量子化・逆ＤＣＴ部１０５は、算出した復号残差信号を加算部１０６、及び符号化パラメータ決定部１１０に出力する。
【０２７８】  加算部１０６は、予測画像生成部１０１から入力された予測ピクチャブロックpredSamplesの信号値と逆量子化・逆ＤＣＴ部１０５から入力された復号残差信号の信号値を画素毎に加算して、参照ピクチャブロックを生成する。加算部１０６は、生成した参照ピクチャブロックを参照ピクチャメモリ１０９に記憶する。
【０２７９】  予測パラメータメモリ１０８は、予測パラメータ符号化部１１１が生成した予測パラメータを、符号化対象のピクチャ及びブロック毎に予め定めた位置に記憶する。
【０２８０】  参照ピクチャメモリ１０９は、加算部１０６が生成した参照ピクチャブロックを、符号化対象のピクチャ及びブロック毎に予め定めた位置に記憶する。
【０２８１】  符号化パラメータ決定部１１０は、符号化パラメータの複数のセットのうち、１つのセットを選択する。符号化パラメータとは、上述した予測パラメータやこの予測パラメータに関連して生成される符号化の対象となるパラメータである。予測画像生成部１０１は、これらの符号化パラメータのセットの各々を用いて予測ピクチャブロックpredSamplesを生成する。
【０２８２】  符号化パラメータ決定部１１０は、複数のセットの各々について情報量の大きさと符号化誤差を示すコスト値を算出する。コスト値は、例えば、符号量と二乗誤差に係数λを乗じた値との和である。符号量は、量子化誤差と符号化パラメータをエントロピー符号化して得られる符号化ストリームＴｅの情報量である。二乗誤差は、減算部１０２において算出された残差信号の残差値の二乗値についての画素間の総和である。係数λは、予め設定されたゼロよりも大きい実数である。符号化パラメータ決定部１１０は、算出したコスト値が最小となる符号化パラメータのセットを選択する。これにより、エントロピー符号化部１０４は、選択した符号化パラメータのセットを符号化ストリームＴｅとして外部に出力し、選択されなかった符号化パラメータのセットを出力しない。
【０２８３】  予測パラメータ符号化部１１１は、予測画像生成部１０１から入力されたパラメータに基づいて予測ピクチャを生成する際に用いる予測パラメータを導出し、導出した予測パラメータを符号化して符号化パラメータのセットを生成する。予測パラメータ符号化部１１１は、生成した符号化パラメータのセットをエントロピー符号化部１０４に出力する。
【０２８４】  予測パラメータ符号化部１１１は、生成した符号化パラメータのセットのうち符号化パラメータ決定部１１０が選択したものに対応する予測パラメータを予測パラメータメモリ１０８に記憶する。
【０２８５】  予測パラメータ符号化部１１１は、予測画像生成部１０１から入力された予測モードPredModeがインター予測モードを示す場合、インター予測パラメータ符号化部１１２を動作させる。予測パラメータ符号化部１１１は、予測モードPredModeがイントラ予測モードを示す場合、イントラ予測パラメータ符号化部１１３を動作させる。
【０２８６】  インター予測パラメータ符号化部１１２は、符号化パラメータ決定部１１０から入力された予測パラメータに基づいてインター予測パラメータを導出する。インター予測パラメータ符号化部１１２は、インター予測パラメータを導出する構成として、インター予測パラメータ復号部３０３（図５等、参照）がインター予測パラメータを導出する構成と同一の構成を含む。インター予測パラメータ符号化部１１２の構成については、後述する。
【０２８７】  イントラ予測パラメータ符号化部１１３は、符号化パラメータ決定部１１０から入力された予測モードPredModeが示すイントラ予測モードIntraPredModeをインター予測パラメータのセットとして定める。
【０２８８】    （インター予測パラメータ符号化部の構成）  次に、インター予測パラメータ符号化部１１２の構成について説明する。インター予測パラメータ符号化部１１２は、インター予測パラメータ復号部３０３に対応する手段である。図２０は、本実施形態に係るインター予測パラメータ符号化部１１２の構成を示す概略図である。インター予測パラメータ符号化部１１２は、マージモードパラメータ導出部１１２１、AMVP予測パラメータ導出部１１２２、減算部１１２３、及びインター予測パラメータ符号化制御部１１２６を含んで構成される。
【０２８９】  マージモードパラメータ導出部１１２１は、上述のマージモードパラメータ導出部３０３６（図７参照）と同様な構成を有する。
【０２９０】  AMVP予測パラメータ導出部１１２２は、上述のAMVP予測パラメータ導出部３０３２（図８参照）と同様な構成を有する。
【０２９１】  減算部１１２３は、符号化パラメータ決定部１１０から入力されたベクトルmvLXからAMVP予測パラメータ導出部１１２２から入力された予測ベクトルmvpLXを減算して差分ベクトルmvdLXを生成する。差分ベクトルmvdLXはインター予測パラメータ符号化制御部１１２６に出力する。
【０２９２】  インター予測パラメータ符号化制御部１１２６は、インター予測に関連する符号（シンタックス要素の復号をエントロピー符号化部１０４に指示し、符号化データに含まれる符号（シンタックス要素）を例えば、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを符号化する。
【０２９３】  インター予測パラメータ符号化制御部１１２６は、残差予測インデックス符号化部１０３１１、照度補償フラグ符号化部１０３１２、、マージインデックス符号化部、ベクトル候補インデックス符号化部、分割モード符号化部、マージフラグ符号化部、インター予測フラグ符号化部、参照ピクチャインデックス符号化部、ベクトル差分符号化部を含んで構成される。分割モード符号化部、マージフラグ符号化部、マージインデックス符号化部、インター予測フラグ符号化部、参照ピクチャインデックス符号化部、ベクトル候補インデックス符号化部、ベクトル差分符号化部は各々、分割モードpart_mode、マージフラグmerge_flag、マージインデックスmerge_idx、インター予測フラグinter_pred_idc、参照ピクチャインデックスrefIdxLX、予測ベクトルフラグmvp_LX_flag、差分ベクトルmvdLXを符号化する。
【０２９４】  残差予測インデックス符号化部１０３１１は、残差予測が行われるか否かを示すために、残差予測インデックスiv_res_pred_weight_idxを符号化する。
【０２９５】  照度補償フラグ符号化部１０３１２は、照度補償が行われるか否かを示すために、照度補償フラグic_flagを符号化する。
【０２９６】  インター予測パラメータ符号化制御部１１２６は、予測画像生成部１０１から入力された予測モードPredModeがマージモードを示す場合には、符号化パラメータ決定部１１０から入力されたマージインデックスmerge_idxをエントロピー符号化部１０４に出力し、符号化させる。
【０２９７】  また、インター予測パラメータ符号化制御部１１２６は、予測画像生成部１０１から入力された予測モードPredModeがインター予測モードを示す場合には、次の処理を行う。
【０２９８】  インター予測パラメータ符号化制御部１１２６は、符号化パラメータ決定部１１０から入力された参照ピクチャインデックスrefIdxLX及び予測ベクトルフラグmvp_LX_flag、減算部１１２３から入力された差分ベクトルmvdLXを統合する。インター予測パラメータ符号化制御部１１２６は、統合した符号をエントロピー符号化部１０４に出力し、符号化させる。
【０２９９】  予測画像生成部１０１は、上述の予測画像生成部３０８に対応する手段であり、予測パラメータから、予測画像を生成する処理は同一である。
【０３００】  本実施形態では、予測画像生成部１０１も、予測画像生成部３０８と同様、本実施形態も上述の残差合成部３０９２３を備える。すなわち、対象ブロック（予測ブロック）のサイズが所定のサイズ以下の場合には、残差予測を行わない。また、本実施形態の予測画像生成部１０１は、符号化ユニットＣＵの分割モードpart_modeが２Ｎ×２Ｎの場合にのみ、残差予測を行う。すなわち、残差予測インデックスiv_res_pred_weight_idxを０として処理する。また、本実施形態の残差予測インデックス符号化部１０３１１では、符号化ユニットＣＵの分割モードpart_modeが２Ｎ×２Ｎの場合にのみ、残差予測インデックスiv_res_pred_weight_idxを符号化する。
【０３０１】  すなわち、残差予測インデックス符号化部１０３１１および残差合成部３０９２３を備える画像符号化装置によれば、残差予測が適用される最小の予測ユニット（８×８）において、色差成分に対して残差予測を行わないことにより、処理量を低減する効果を奏する。
【０３０２】  本実施形態の別の形態では、予測画像生成部３０８は、上述の残差予測部３０９２Ｂを備えても良い。残差予測部３０９２Ｂを備える画像符号化装置によれば、小ブロック（特に輝度ブロックサイズが８以下の場合の色差ブロック）において、残差を導出しないため、処理量を削減する効果を奏する。さらに、残差予測部３０９２Ｂによれば、対象予測ユニットが動き予測の場合（インタービュ予測フラグivRefFlagが０の場合）にさらに、対象ブロックの変位ベクトルを上記対象ブロックのベクトルmvLXが指し示す先のピクチャ上の予測ユニットのベクトルであるmvTを用いて精度を向上させることにより、小ブロックにおいて、残差を導出しないことに伴う性能低下を補うことが可能である。
【０３０３】  本実施形態のさらに別の形態では、予測画像生成部３０８は、上述の残差予測部３０９２Ｃを備えても良い。残差予測部３０９２Ｃは既に説明したように、輝度成分の対象ブロックについては所定のサイズのサブブロックに分割し、サブブロック毎に残差予測処理を行い、色差成分については、サブブロックに分割せず、対象ブロックのサイズのまま残差予測処理を行う。これにより、色差成分についてブロックサイズに応じた残差予測処理の省略を行った場合にも、サブブロック分割で細かく動きベクトルを割り当てることによる符号化効率向上効果を奏する。また、色差成分についてブロックサイズに応じた残差予測処理を行うことによる処理量を低減する効果を奏する。さらに、色差成分においては残差予測部内部ではサブブロック単位処理を行わないため、サブブロック単位処理に伴う処理量の増加を最小限に抑えることができる。
【０３０４】  残差予測部３０９２、残差予測部３０９２Ｂ、残差予測部３０９２Ｃを備える画像符号化装置は、残差予測インデックスを符号化する残差予測インデックス符号化部を備える画像符号化装置において、対象対象ブロックを含む符号化ユニットの分割モードが２Ｎ×２Ｎの場合に、残差予測インデックスを符号化し、それ以外の場合には、残差予測インデックスを符号化せず、残差予測インデックスが０以外の場合に、残差予測を行う。
【０３０５】  なお、上述した実施形態における画像符号化装置１１、画像復号装置３１の一部、例えば、エントロピー復号部３０１、予測パラメータ復号部３０２、予測画像生成部１０１、ＤＣＴ・量子化部１０３、エントロピー符号化部１０４、逆量子化・逆ＤＣＴ部１０５、符号化パラメータ決定部１１０、予測パラメータ符号化部１１１、エントロピー復号部３０１、予測パラメータ復号部３０２、予測画像生成部３０８、逆量子化・逆ＤＣＴ部３１１をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置１１、画像復号装置３１のいずれかに内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０３０６】  また、上述した実施形態における画像符号化装置１１、画像復号装置３１の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現しても良い。画像符号化装置１１、画像復号装置３１の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
【０３０７】  以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。  （まとめ）
【０３０８】  本発明の１つの形態は、２つの残差予測動き補償画像であるrpSamplesとrpRefSamplesを導出する参照画像補間部と、前記２つの残差予測動き補償画像の差分から残差を導出し、動き補償画像に上記残差を加算することにより残差補償予測画像を導出する残差合成部を備える残差予測装置において、上記残差合成部は、対象ブロックが所定のサイズより大きい場合に、上記動き補償画像に上記残差を加算することにより予測画像を導出し、上記対象ブロックが所定のサイズ以下の場合に、上記動き補償画像を予測画像として導出し、さらに、上記対象ブロックが変位予測ではない場合（ivRefFlagが０の場合）、上記対象ブロックのベクトルmvLXが指し示す先のピクチャ上の予測ユニットのベクトルであるmvTを残差予測用のベクトルmvRPとして導出し、変位ベクトルmvDispが指し示す先のブロックから導出される上記残差予測動き補償画像rpSamplesと、変位ベクトルmvDispとベクトルmvRPの和のベクトルが指し示す先のブロックから導出される上記残差予測動き補償画像rpRefSamplesを導出することを特徴とする残差予測装置。
【０３０９】  本発明の１つの形態は、上記残差予測装置はサブブロック動き補償フラグsubPbMotionFlagが１かつ上記対象ブロックが変位予測ではない場合（ivRefFlagが０の場合）に、上記対象ブロックのベクトルmvLXが指し示す先のピクチャ上の予測ユニットのベクトルであるmvTが変位ベクトルとして存在すればmvTを、変位ベクトルとして存在しなければ、上記対象ブロックの変位ベクトルmvDispを残差予測用のベクトルmvRPとして導出し、上記残差予測動き補償画像rpSamplesと上記残差予測動き補償画像rpRefSamplesを導出することを特徴とする。
【０３１０】  本発明の１つの形態は、上記残差合成部は、さらに、上記対象ブロックが上記所定のサイズより大きい場合に、上記残差予測動き補償画像rpSamplesと上記残差予測動き補償画像rpRefSamplesを導出し、それ以外の場合には、上記残差予測動き補償画像rpSamplesと上記残差予測動き補償画像rpRefSamplesを導出しないことを特徴とする。
【０３１１】  本発明の１つの形態は、２つの残差予測動き補償画像であるrpSamplesとrpRefSamplesを導出する参照画像補間部と、上記２つの残差予測動き補償画像の差分から残差を導出し、動き補償画像に上記残差を加算することにより残差補償予測画像を導出する残差合成部を備える残差予測装置において、上記残差予測装置は、対象ブロックが輝度である場合には、上記対象ブロックの輝度ブロックを所定サイズの分割ブロックに分割し、上記分割ブロック単位で、上記動き補償画像と、上記２つの残差予測動き補償画像を導出し、上記残差補償予測画像を予測画像として導出し、上記対象ブロックが色差である場合には、上記対象ブロック単位で前記２つの残差予測動き補償画像から残差補償予測画像を導出し、上記対象ブロックが所定のサイズより大きい場合には前記残差補償予測画像を予測画像として導出し、上記対象ブロックが所定のサイズ以下の場合に上記動き補償画像を予測画像として導出することを特徴とする。
【０３１２】  本発明の１つの形態は、上記残差予測装置は、上記対象ブロックが変位予測ではない場合（ivRefFlagが０の場合）、対象ブロックのベクトルmvLXが指し示す先のピクチャ上の予測ユニットのベクトルであるmvTを残差予測用のベクトルmvRPとして導出し、変位ベクトルmvDispが指し示す先のブロックから導出される上記残差予測動き補償画像rpSamplesと、変位ベクトルmvDispとベクトルmvRPの和のベクトルが指し示す先のブロックから導出される上記残差予測動き補償画像rpRefSamplesを導出することを特徴とする。
【０３１３】  本発明の１つの形態は、上記所定のサイズは、輝度ブロックサイズの幅で８であり、上記対象ブロックの輝度ブロックサイズが８より大きい場合に、色差成分について上記残差予測動き補償画像rpSamplesと上記残差予測動き補償画像rpRefSamplesを導出し、色差成分についてそれ以外の場合には、上記残差予測動き補償画像rpSamplesと上記残差予測動き補償画像rpRefSamplesを導出しないことを特徴とする。
【０３１４】  本発明の１つの形態は、残差予測インデックスを復号する残差予測インデックス復号部を備える画像復号装置において、対象ブロックを含む符号化ユニットの分割モードが２Ｎ×２Ｎの場合に、残差予測インデックスを復号し、それ以外の場合には、残差予測インデックスを０に設定する残差予測インデックス復号部を備え、さらに上記の残差予測装置を備え、残差予測インデックスが０以外の場合に、上記残差予測装置において残差予測を行うことを特徴とする。
【０３１５】  本発明の１つの形態は、残差予測インデックスを符号化する残差予測インデックス符号化部を備える画像符号化装置において、対象ブロックを含む符号化ユニットの分割モードが２Ｎ×２Ｎの場合に、残差予測インデックスを符号化し、それ以外の場合には、残差予測インデックスを符号化しない残差予測インデックス符号化部を備え、さらに上記の残差予測装置を備え、残差予測インデックスが０以外の場合に、上記残差予測装置において残差予測を行うことを特徴とする。
【産業上の利用可能性】
【０３１６】  本発明は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
【符号の説明】
【０３１７】１…画像伝送システム１１…画像符号化装置１０１…予測画像生成部１０２…減算部１０３…ＤＣＴ・量子化部１０３１１…残差予測インデックス符号化部１０３１２…照度補償フラグ符号化部１０４…エントロピー符号化部１０５…逆量子化・逆ＤＣＴ部１０６…加算部１０８…予測パラメータメモリ（フレームメモリ）１０９…参照ピクチャメモリ（フレームメモリ）１１０…符号化パラメータ決定部１１１…予測パラメータ符号化部１１２…インター予測パラメータ符号化部１１２１…マージモードパラメータ導出部１１２２…AMVP予測パラメータ導出部１１２３…減算部１１２６…インター予測パラメータ符号化制御部１１３…イントラ予測パラメータ符号化部２１…ネットワーク３１…画像復号装置３０１…エントロピー復号部３０２…予測パラメータ復号部３０３…インター予測パラメータ復号部３０３１…インター予測パラメータ復号制御部３０３１１…残差予測インデックス復号部３０３１２…照度補償フラグ復号部３０３２…AMVP予測パラメータ導出部３０３５…加算部３０３６…マージモードパラメータ導出部３０３６１…マージ候補導出部３０３６１１…マージ候補格納部３０３６１２…拡張マージ候補導出部３０３６１２１…レイヤ間マージ候補導出部３０３６１２３…変位マージ候補導出部３０３６１２４…VSPマージ候補導出部３０３６１３…基本マージ候補導出部３０３６１３１…空間マージ候補導出部３０３６１３２…時間マージ候補導出部３０３６１３３…結合マージ候補導出部３０３６１３４…ゼロマージ候補導出部３０３６２…マージ候補選択部３０３６３…変位ベクトル導出部３０４…イントラ予測パラメータ復号部３０６…参照ピクチャメモリ（フレームメモリ）３０７…予測パラメータメモリ（フレームメモリ）３０８…予測画像生成部３０９…インター予測画像生成部３０９１…動き変位補償部３０９２…残差予測部３０９２Ｂ…残差予測部３０９２Ｃ…残差予測部３０９２２…参照画像補間部３０９２２Ｃ…参照画像補間部３０９２３…残差合成部３０９２３Ｃ…残差合成部３０９２４…残差予測用ベクトル導出部３０９３…照度補償部３０９４…視点合成予測部３０９４１…視差配列導出部３０９４２…参照画像補間部３１０…イントラ予測画像生成部３１１…逆量子化・逆ＤＣＴ部３１２…加算部３５１…デプスＤＶ導出部４１…画像表示装置
【図１】
0006469588.tif 000002
【図２】
0006469588.tif 000003
【図３】
0006469588.tif 000004
【図４】
0006469588.tif 000005
【図５】
0006469588.tif 000006
【図６】
0006469588.tif 000007
【図７】
0006469588.tif 000008
【図８】
0006469588.tif 000009
【図９】
0006469588.tif 000010
【図１０】
0006469588.tif 000011
【図１１】
0006469588.tif 000012
【図１２】
0006469588.tif 000013
【図１３】
0006469588.tif 000014
【図１４】
0006469588.tif 000015
【図１５】
0006469588.tif 000016
【図１６】
0006469588.tif 000017
【図１７】
0006469588.tif 000018
【図１８】
0006469588.tif 000019
【図１９】
0006469588.tif 000020
【図２０】
0006469588.tif 000021
【図２１】
0006469588.tif 000022
【図２２】
0006469588.tif 000023
【図２３】
0006469588.tif 000024
【図２４】
0006469588.tif 000025
【図２５】
0006469588.tif 000026
【図２６】
0006469588.tif 000027
【図２７】
0006469588.tif 000028