(57)【要約】      （修正有）【課題】視点合成予測において、デプス値から変位ベクトルを導出するためのデプスアクセスの処理量を軽減させる。【解決手段】サブブロック中の水平に位置する２点のデプス値を利用して代表デプス値を導出し、導出した代表デプス値から変位ベクトルを導出する。さらに隣接ブロックのモードがスキップモードであるか、隣接のモードがインターモードかつマージフラグが１の場合に、隣接ブロックの変位ベクトルを導出ベクトルに設定する。【選択図】図１
2017212477.tif 000002
【特許請求の範囲】
【請求項１】
視差合成予測において、サブブロック中の水平に位置する２点のデプス値を利用して代表デプス値を導出し、導出した代表デプス値から変位ベクトルを導出することを特徴とする変位配列導出装置。
【請求項２】
前記変位配列導出装置は、前記対象予測ユニットの左上座標が(xTL、yTL)、サブブロック左上座標が（xSubB、ySubB）、サブブロックの幅、高さがnSubBlkW、nSubBlkHの場合に、Ｙ座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、Ｘ座標がxTL+xSubBである第１の点、および、Ｙ座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、Ｘ座標がxTL+xSubB+ nSubBlkB-1である第２の点を導出し、第１の点のデプス値と第２の点のデプス値の最大値を代表デプス値として導出することを特徴とする請求項１に記載の変位配列導出装置。
【請求項３】
空間的に隣接するブロックを順に探索して、前記隣接ブロックがインタービューブロックである場合には、その変位ベクトルを対象ブロックの変位ベクトルとして出力し、それ以外の場合には、導出ベクトルを導出する変位ベクトル導出装置において、前記変位ベクトル導出装置は、隣接ブロックのモードがスキップモードであるか、隣接のモードがインターモードかつマージフラグが１の場合に、隣接ブロックの変位ベクトルを導出ベクトルに設定することを特徴とする変位ベクトル導出装置。
【請求項４】
X=0、1で指定される参照ピクチャリストLXの０から参照ピクチャ数NumRefPicsLX-1までの参照ピクチャを順に探索し、前記参照ピクチャのビューインデックスが対象ピクチャのビューインデックスと異なり、前記参照ピクチャのＰＯＣが対象ピクチャのＰＯＣと等しい場合に、前記参照ピクチャのビューインデックスをデフォルト参照ビューインデックスに設定するデフォルト参照ビューインデックス導出装置。
【請求項５】
あるインデックスiについて、インデックスi-1のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i-1]と変数dの差分絶対値と、インデックスiのインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i]と変数dの差分絶対値を比較し、前記差分絶対値の小さい場合のインデックスをデプスインデックス変換テーブルDepthValue2Idxに設定するデプスルックアップテーブル導出装置。
【請求項６】
前記デプスルックアップテーブル導出装置は、０から所定の値までの変数dに対して、あるインクリメントするインデックスiについて、インデックスデプス変換テーブルIdx2DepthValueのインデックスiの値Idx2DepthValue[i]が変数dよりも大きい場合に、インデックスi-1のインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値と、インデックスiのインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値を比較し、前者の差分絶対値が小さい場合にi-1を変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定し、それ以外の場合にはiを変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定することを特徴とする請求項５に記載のデプスルックアップテーブル導出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像復号装置、画像符号化装置、変位配列導出装置、変位ベクトル導出装置、デフォルト参照ビューインデックス導出装置及びデプスルックアップテーブル導出装置に関する。
【背景技術】
【０００２】
複数視点の画像符号化技術には、複数の視点の画像を符号化する際に画像間の視差を予測することによって情報量を低減する視差予測符号化や、その符号化方法に対応した復号方法が提案されている。視点画像間の視差を表すベクトルを変位ベクトルと呼ぶ。変位ベクトルは、水平方向の要素（ｘ成分）と垂直方向の要素（ｙ成分）を有する２次元のベクトルであり、１つの画像を分割した領域であるブロック毎に算出される。また、複数視点の画像を取得するには、それぞれの視点に配置されたカメラを用いることが一般的である。複数視点の符号化では、各視点画像は、複数のレイヤにおいてそれぞれ異なるレイヤとして符号化される。複数のレイヤから構成される動画像の符号化方法は、一般に、スケーラブル符号化又は階層符号化と呼ばれる。スケーラブル符号化では、レイヤ間で予測を行うことで、高い符号化効率を実現する。レイヤ間で予測を行わずに基準となるレイヤは、ベースレイヤ、それ以外のレイヤは拡張レイヤと呼ばれる。レイヤが視点画像から構成される場合のスケーラブル符号化を、ビュースケーラブル符号化と呼ぶ。このとき、ベースレイヤはベースビュー、拡張レイヤは非ベースビューとも呼ばれる。さらに、ビュースケーラブルに加え、レイヤがテクスチャレイヤ（画像レイヤ）とデプスレイヤ（距離画像レイヤ）から構成される場合のスケーラブル符号化は、３次元スケーラブル符号化と呼ばれる。
【０００３】
また、スケーラブル符号化には、ビュースケーラブル符号化の他、空間的スケーラブル符号化（ベースレイヤとして解像度の低いピクチャ、拡張レイヤが解像度の高いピクチャを処理）、ＳＮＲスケーラブル符号化（ベースレイヤとして画質の低いピクチャ、拡張レイヤとして解像度の高いピクチャを処理）等がある。スケーラブル符号化では、例えばベースレイヤのピクチャを、拡張レイヤのピクチャの符号化において、参照ピクチャとして用いることがある。
【０００４】
ＨＥＶＣでは、マージモードと呼ばれる既に処理されたブロックの予測情報を再利用する手法が知られている。マージモードでは、マージ候補を要素として構築されるマージ候補リストからマージインデックス(merge_index)で指定される要素を予測パラメータとして選択することで、予測ユニットの予測パラメータが導出される。
【０００５】
非特許文献１では、視点合成予測においてサブブロックコーナーの４点のデプス値の最大値から代表デプス値を導出し、代表デプス値から水平方向のベクトルを導出する変位配列導出装置が知られている。
【０００６】
非特許文献１では、隣接ブロックのモードがスキップモードである場合に、隣接ブロックの変位ベクトルを導出ベクトルに設定する変位ベクトル導出装置が知られている。
【０００７】
非特許文献１では、０から順に設定されるデフォルト参照ビューインデックスが、参照ピクチャリスト中の参照ピクチャに存在するかを探索することデフォルト参照ビューインデックス導出装置が知られている。
【０００８】
非特許文献１では、デプス値dに対応するインデックスの候補としてi-1とiの２つの候補を用い、２つのインデックスidxLower、idxUpperのうち、インデックスデプス変換テーブルIdx2DepthValueでよりデプス値dに近い値に変換されるインデックスを用いることで、インデックスデプス変換テーブルIdx2DepthValueが与えられた際に、デプス値dを対応するインデックスに変換するテーブルであるデプスインデックス変換テーブルDepthValue2Idxを導出するデプスルックアップテーブル導出装置が知られている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】G. Tech, K. Wegner, Y. Chen, S. Yea, “3D-HEVC Draft Text 5”, JCT3V-I1001_v3, JCT-3V 9th Meeting: Sapporo, JP, 3 - 9 July 2014（2014年8月13日公開）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
非特許文献１の変位配列導出装置では、サブブロックの４点を用いるため、デプスアクセスの処理量が大きく、また、サブブロック間で代表デプス値が類似することから、効率が高くないという課題がある。
【００１１】
非特許文献１の変位ベクトル導出装置では、マージ候補を用いる場合をスキップモードであるか、インターモードのマージフラグが１の場合かで区別する必要があり、実装が複雑になるという課題がある。
【００１２】
非特許文献１のデフォルト参照ビューインデックス導出装置は、０から順に設定されるデフォルト参照ビューインデックスを探索するために、複数回参照ピクチャリストを参照するため、実装が複雑になるという課題がある。
【００１３】
非特許文献１のデプスルックアップテーブル導出装置では、２つの候補idxLower、idxUpperを導出し比較を行うため、実装が複雑になるという課題がある。
【課題を解決するための手段】
【００１４】
本発明の１つの形態は、視差合成予測において、サブブロック中の水平に位置する２点のデプス値を利用して代表デプス値を導出し、導出した代表デプス値から変位ベクトルを導出することを特徴とする。
【００１５】
本発明の１つの形態は、前記変位配列導出装置は、前記対象予測ユニットの左上座標が(xTL、yTL)、サブブロック左上座標が（xSubB、ySubB）、サブブロックの幅、高さがnSubBlkW、nSubBlkHの場合に、Ｙ座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、Ｘ座標がxTL+xSubBである第１の点、および、Ｙ座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、Ｘ座標がxTL+xSubB+ nSubBlkB-1である第２の点を導出し、第１の点のデプス値と第２の点のデプス値の最大値を代表デプス値として導出することを特徴とする。
【００１６】
本発明の１つの形態は、空間的に隣接するブロックを順に探索して、前記隣接ブロックがインタービューブロックである場合には、その変位ベクトルを対象ブロックの変位ベクトルとして出力し、それ以外の場合には、導出ベクトルを導出する変位ベクトル導出装置において、前記変位ベクトル導出装置は、隣接ブロックのモードがスキップモードであるか、隣接のモードがインターモードかつマージフラグが１の場合に、隣接ブロックの変位ベクトルを導出ベクトルに設定することを特徴とする。
【００１７】
本発明の１つの形態は、X=0、1で指定される参照ピクチャリストLXの０から参照ピクチャ数NumRefPicsLX-1までの参照ピクチャを順に探索し、前記参照ピクチャのビューインデックスが対象ピクチャのビューインデックスと異なり、前記参照ピクチャのＰＯＣが対象ピクチャのＰＯＣと等しい場合に、前記参照ピクチャのビューインデックスをデフォルト参照ビューインデックスに設定する。
【００１８】
本発明の１つの形態は、あるインデックスiについて、インデックスi-1のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i-1]と変数dの差分絶対値と、インデックスiのインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i]と変数dの差分絶対値を比較し、前記差分絶対値の小さい場合のインデックスをデプスインデックス変換テーブルDepthValue2Idxに設定する。
【００１９】
本発明の１つの形態は、前記デプスルックアップテーブル導出装置は、０から所定の値までの変数dに対して、あるインクリメントするインデックスiについて、インデックスデプス変換テーブルIdx2DepthValueのインデックスiの値Idx2DepthValue[i]が変数dよりも大きい場合に、インデックスi-1のインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値と、インデックスiのインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値を比較し、前者の差分絶対値が小さい場合にi-1を変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定し、それ以外の場合にはiを変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、実装が容易な、変位配列導出装置、変位ベクトル導出装置、デフォルト参照ビューインデックス導出装置及びデプスルックアップテーブル導出装置を提供できる。
【図面の簡単な説明】
【００２１】
【図１】本実施例に係るＤＭＭ予測部１４５Ｔの構成を示すブロック図である。
【図２】本発明の実施形態に係る画像伝送システムの構成を示す概略図である。
【図３】本実施形態に係る符号化ストリームのデータの階層構造を示す図である。
【図４】分割モードのパターンを示す図であり、（ａ）〜（ｈ）は、それぞれ、分割モードが、２Ｎ×２Ｎ、２Ｎ×Ｎ、２Ｎ×ｎＵ、２Ｎ×ｎＤ、Ｎ×２Ｎ、ｎＬ×２Ｎ、ｎＲ×２Ｎ、および、Ｎ×Ｎの場合のパーティション形状について示している。
【図５】参照ピクチャリストの一例を示す概念図である。
【図６】参照ピクチャの例を示す概念図である。
【図７】本実施形態に係る画像復号装置３１の構成を示す概略図である。
【図８】本実施形態に係るインター予測パラメータ復号部３０３の構成を示す概略図である。
【図９】本実施形態に係るマージモードパラメータ導出部３０３６の構成を示す概略図である。
【図１０】本実施形態に係るAMVP予測パラメータ導出部３０３２の構成を示す概略図である。
【図１１】マージ候補リストの一例を示す図である。
【図１２】空間マージ候補が参照する隣接ブロックの位置を示す図である
【図１３】本実施形態に係る分割モード、分割フラグ導出においてデプスの参照位置を示す図である。
【図１４】本実施形態のVSPマージ候補導出部３０３７４（ＶＳＰ予測部３０３７４）の構成を示す図である。
【図１５】上記動画像復号装置で利用されるイントラ予測方式の分類と対応する予測モード番号の例を示す図である。
【図１６】ＤＭＭ予測の概略について説明する図である。（ａ）はブロック上のオブジェクトのエッジ境界を示す例であり、（ｂ）は該ブロックを、オブジェクトのエッジ境界に沿って２つ領域（Ｐ１、Ｐ２）へ分割することを示す分割パターン（wedgePattern）の一例を示し、（ｃ）上記各分割された領域へ予測値を割り当てた一例である。
【図１７】本実施形態に係るインター予測画像生成部３０９の構成を示す概略図である。
【図１８】本実施形態に係る視差合成予測の場合のデプスＤＶ導出部３５１の動作を示す図である。
【図１９】本実施形態に係るデプスルックアップテーブル導出部１４６の動作を示すフローチャートである。
【図２０】本実施形態のインター予測パラメータに関するシンタックス表である。
【図２１】本実施形態のインター予測パラメータに関するシンタックス表である。
【図２２】本実施形態に係る変位ベクトル導出部３５２の動作を示すフローチャートである。
【図２３】本実施形態に係る隣接変位ベクトル導出部３５２１の動作を示すフローチャートである。
【図２４】本実施形態に係るデフォルト参照ビューインデックス導出部３５２２の動作を示すフローチャートである。
【図２５】本実施形態に係る画像符号化装置の構成を示すブロック図である。
【図２６】本実施形態に係るインター予測パラメータ符号化部１１２の構成を示す概略図である。
【図２７】比較例の視差合成予測の場合のデプスＤＶ導出部の動作を示す図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照しながら本発明の実施形態について説明する。
【００２３】
図２は、本実施形態に係る画像伝送システム１の構成を示す概略図である。
【００２４】
画像伝送システム１は、複数のレイヤ画像を符号化した符号を伝送し、伝送された符号を復号した画像を表示するシステムである。画像伝送システム１は、画像符号化装置１１、ネットワーク２１、画像復号装置３１及び画像表示装置４１を含んで構成される。
【００２５】
画像符号化装置１１には、複数のレイヤ画像（テクスチャ画像ともいう）を示す信号Ｔが入力される。レイヤ画像とは、ある解像度及びある視点で視認もしくは撮影される画像である。複数のレイヤ画像を用いて３次元画像を符号化するビュースケーラブル符号化を行う場合、複数のレイヤ画像のそれぞれは、視点画像と呼ばれる。ここで、視点は撮影装置の位置又は観測点に相当する。例えば、複数の視点画像は、被写体に向かって左右の撮影装置のそれぞれが撮影した画像である。画像符号化装置１１は、この信号のそれぞれを符号化して符号化ストリームＴｅ（符号化データ）を生成する。符号化ストリームＴｅの詳細については、後述する。視点画像とは、ある視点において観測される２次元画像（平面画像）である。視点画像は、例えば２次元平面内に配置された画素毎の輝度値、又は色信号値で示される。以下では、１枚の視点画像又は、その視点画像を示す信号をピクチャ（ｐｉｃｔｕｒｅ）と呼ぶ。また、複数のレイヤ画像を用いて空間スケーラブル符号化を行う場合、その複数のレイヤ画像は、解像度の低いベースレイヤ画像と、解像度の高い拡張レイヤ画像からなる。複数のレイヤ画像を用いてＳＮＲスケーラブル符号化を行う場合、その複数のレイヤ画像は、画質の低いベースレイヤ画像と、画質の高い拡張レイヤ画像からなる。なお、ビュースケーラブル符号化、空間スケーラブル符号化、ＳＮＲスケーラブル符号化を任意に組み合わせて行っても良い。本実施形態では、複数のレイヤ画像として、少なくともベースレイヤ画像と、ベースレイヤ画像以外の画像（拡張レイヤ画像）を含む画像の符号化および復号を扱う。複数のレイヤのうち、画像もしくは符号化パラメータにおいて参照関係（依存関係）にある２つのレイヤについて、参照される側の画像を、第１レイヤ画像、参照する側の画像を第２レイヤ画像と呼ぶ。例えば、ベースレイヤを参照して符号化される（ベースレイヤ以外の）エンハンスレイヤ画像がある場合、ベースレイヤ画像を第１レイヤ画像、エンハンスレイヤ画像を第２レイヤ画像として扱う。なお、エンハンスレイヤ画像の例としては、ベースビュー以外の視点の画像やデプス画像などがある。
【００２６】
デプス画像（ｄｅｐｔｈ  ｍａｐ、「深度画像」、「距離画像」とも言う）とは、被写空間に含まれる被写体や背景の、視点（撮影装置等）からの距離に対応する信号値（「デプス値」、「深度値」、「デプス」等と呼ぶ）であって、二次元平面に配置された画素毎の信号値（画素値）からなる画像信号である。デプス画像を構成する画素は、視点画像を構成する画素と対応する。従って、デプスマップは、被写空間を二次元平面に射影した基準となる画像信号である視点画像を用いて、三次元の被写空間を表すための手がかりとなる。
【００２７】
ネットワーク２１は、画像符号化装置１１が生成した符号化ストリームＴｅを画像復号装置３１に伝送する。ネットワーク２１は、インターネット（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 unit;PU、予測ユニット）および変換ツリー（transform tree;TT）のルートとなる。ＣＵヘッダＣＵＦは、予測ユニットと変換ツリーの間、もしくは、変換ツリーの後に含まれる。
【００４６】
予測ユニットは、符号化ユニットが１または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ユニットを構成する１または複数の重複しない領域である。また、予測ユニットは、上述の分割により得られた１または複数の予測ブロックを含む。
【００４７】
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測ユニットとも称する。より詳細には予測は色コンポーネント単位で行われるため、以下では、輝度の予測ブロック、色差の予測ブロックなど、色コンポーネント毎のブロックを、予測ブロックと呼び、複数の色コンポーネントのブロック（輝度の予測ブロック、色差の予測ブロック）を合わせて、予測ユニットと呼ぶ。色コンポーネントの種類を示すインデックス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がある。なお、ＬＸは、Ｌ０予測とＬ１予測を区別しない場合に用いられる記述方法であり、ＬＸをＬ０、Ｌ１に置き換えることでＬ０リストに対するパラメータとＬ１リストに対するパラメータを区別する（以降同様）。例えば、refIdxL0はＬ０予測に用いる参照ピクチャインデックス、refIdxL1はＬ１予測に用いる参照ピクチャインデックス、refIdx（refIdxLX）は、refIdxL0とrefIdxL1を区別しない場合に用いられる表記である。
【００６２】
（参照ピクチャリストの一例）
次に、参照ピクチャリストの一例について説明する。参照ピクチャリストとは、参照ピクチャメモリ３０６に記憶された参照ピクチャからなる列である。図５は、参照ピクチャリスト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は、参照ピクチャリストに記憶された参照ピクチャを示すインデックスである。マージインデックス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である。どの符号を復号するか否かの制御は、予測パラメータ復号部３０２の指示に基づいて行われる。エントロピー復号部３０１は、量子化係数を逆量子化・逆ＤＣＴ部３１１に出力する。この量子化係数は、符号化処理において、残差信号に対してＤＣＴ（Discrete Cosine 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は輝度信号に対応する画素値のビット深度を示しており、例えば、値として８をとる。
【００７２】
エントロピー復号部３０１は、またデプスインデックス変換テーブルDepthValue2Idx[]を符号化データから復号する。
【００７３】
予測パラメータ復号部３０２は、エントロピー復号部３０１から符号の一部を入力として受け取る。予測パラメータ復号部３０２は、符号の一部である予測モードPredModeが示す予測モードに対応する予測パラメータを復号する。予測パラメータ復号部３０２は、予測モードPredModeと復号した予測パラメータを予測パラメータメモリ３０７と予測画像生成部３０８に出力する。
【００７４】
インター予測パラメータ復号部３０３は、エントロピー復号部３０１から入力された符号に基づいて、予測パラメータメモリ３０７に記憶された予測パラメータを参照してインター予測パラメータを復号する。インター予測パラメータ復号部３０３は、復号したインター予測パラメータを予測画像生成部３０８に出力し、また予測パラメータメモリ３０７に記憶する。インター予測パラメータ復号部３０３の詳細については後述する。
【００７５】
イントラ予測パラメータ復号部３０４は、エントロピー復号部３０１から入力された符号に基づいて、予測パラメータメモリ３０７に記憶された予測パラメータを参照してイントラ予測パラメータを復号する。イントラ予測パラメータとは、ピクチャブロックを１つのピクチャ内で予測する処理で用いるパラメータ、例えば、イントラ予測モードIntraPredModeである。イントラ予測パラメータ復号部３０４は、復号したイントラ予測パラメータを予測画像生成部３０８に出力し、また予測パラメータメモリ３０７に記憶する。
【００７６】
参照ピクチャメモリ３０６は、加算部３１２が生成した復号ピクチャブロックrecSamplesを、復号ピクチャブロックの位置に記憶する。
【００７７】
予測パラメータメモリ３０７は、予測パラメータを、復号対象のピクチャ及びブロック毎に予め定めた位置に記憶する。具体的には、予測パラメータメモリ３０７は、インター予測パラメータ復号部３０３が復号したインター予測パラメータ、イントラ予測パラメータ復号部３０４が復号したイントラ予測パラメータ及びエントロピー復号部３０１が分離した予測モードPredModeを記憶する。記憶されるインター予測パラメータには、例えば、予測利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、ベクトルmvLXがある。
【００７８】
予測画像生成部３０８には、予測パラメータ復号部３０２から予測モードPredMode及び予測パラメータが入力される。また、予測画像生成部３０８は、参照ピクチャメモリ３０６から参照ピクチャを読み出す。予測画像生成部３０８は、予測モードPredModeが示す予測モードで、入力された予測パラメータと読み出した参照ピクチャを用いて予測ピクチャブロックpredSamples（予測画像）を生成する。
【００７９】
ここで、予測モードPredModeがインター予測モードを示す場合、インター予測画像生成部３０９は、インター予測パラメータ復号部３０３から入力されたインター予測パラメータと読み出した参照ピクチャを用いてインター予測により予測ピクチャブロックpredSamplesを生成する。予測ピクチャブロックpredSamplesは予測ユニットＰＵに対応する。ＰＵは、上述したように予測処理を行う単位となる複数の画素からなるピクチャの一部分、つまり１度に予測処理が行われる対象ブロックに相当する。
【００８０】
インター予測画像生成部３０９は、予測利用フラグpredFlagLXが１である参照ピクチャリストRefPicListLXに対し、参照ピクチャインデックスrefIdxLXで示される参照ピクチャRefPicListLX[refIdxLX]から、予測ユニットを基準としてベクトルmvLXが示す位置にある参照ピクチャブロックを参照ピクチャメモリ３０６から読み出す。インター予測画像生成部３０９は、読み出した参照ピクチャブロックに動き補償を行って予測ピクチャブロックpredSamplesLXを生成する。インター予測画像生成部３０９は、さらに各参照ピクチャリストの参照ピクチャから導出された予測ピクチャブロックpredSamplesL0、predSamplesL1から重み付予測により予測ピクチャブロックpredSamplesを生成し、加算部３１２に出力する。
【００８１】
予測モードPredModeがイントラ予測モードを示す場合、イントラ予測画像生成部３１０は、イントラ予測パラメータ復号部３０４から入力されたイントラ予測パラメータと読み出した参照ピクチャを用いてイントラ予測を行う。具体的には、イントラ予測画像生成部３１０は、復号対象のピクチャであって、既に処理されたブロックのうち予測ユニットから予め定めた範囲にある参照ピクチャブロックを参照ピクチャメモリ３０６から読み出す。予め定めた範囲とは、例えば、左、左上、上、右上の隣接ブロックの範囲でありイントラ予測モードによって異なる。
【００８２】
イントラ予測画像生成部３１０は、読み出した参照ピクチャブロックについてイントラ予測モードIntraPredModeが示す予測モードで予測を行って予測ピクチャブロックpredSamplesを生成し、加算部３１２に出力する。
【００８３】
逆量子化・逆ＤＣＴ部３１１は、エントロピー復号部３０１から入力された量子化係数を逆量子化してＤＣＴ係数を求める。逆量子化・逆ＤＣＴ部３１１は、求めたＤＣＴ係数について逆ＤＣＴ（Inverse Discrete Cosine Transform、逆離散コサイン変換）を行い、復号残差信号を算出する。逆量子化・逆ＤＣＴ部３１１は、算出した復号残差信号を加算部３１２に出力する。
【００８４】
加算部３１２は、インター予測画像生成部３０９及びイントラ予測画像生成部３１０から入力された予測ピクチャブロックpredSamplesと逆量子化・逆ＤＣＴ部３１１から入力された復号残差信号の信号値resSamplesを画素毎に加算して、復号ピクチャブロックrecSamplesを生成する。加算部３１２は、生成した復号ピクチャブロックrecSamplesを参照ピクチャメモリ３０６に出力する。復号ピクチャブロックはピクチャ毎に統合される。復号されたピクチャには、デブロックフィルタおよび適応オフセットフィルタが適用などのループフィルタが適用される。復号されたピクチャは復号レイヤ画像Ｔｄとして外部に出力する。
【００８５】
（イントラ予測画像生成部３１０）
イントラ予測画像生成部３１０は、さらに、DC予測部１４５Ｄ、Planar予測部１４５Ｐ、Angular予測部１４５Ａ、及びDMM予測部１４５Ｔを備える。
【００８６】
イントラ予測画像生成部３１０は、入力される予測モードpredModeIntraに基づいて予測画像生成に用いる予測方式を選択する。予測方式の選択は、前述の図１５の定義に基づいて、入力される予測モードpredModeIntraの予測モード番号に対応する予測方式を選択することで実現される。
【００８７】
さらに、イントラ予測画像生成部３１０は、予測方式の選択結果に応じた予測画像を導出する。より具体的には、イントラ予測画像生成部３１０は、予測方式が、Planar予測、DC予測、Angular予測、及びDMM予測の場合、それぞれ、Planar予測部１４５Ｐ、DC予測部１４５Ｄ、Angular予測部１４５Ａ、及びDMM予測部１４５Ｔにより予測画像を導出する。
【００８８】
DC予測部１４５Ｄは、入力される参照画素の画素値の平均値に相当するDC予測値を導出し、導出されたDC予測値を画素値とする予測画像を出力する。
【００８９】
Planar予測部１４５Ｐは、予測対象画素との距離に応じて複数の参照画素を線形加算することで導出した画素値により予測画像を生成して出力する。
【００９０】
[Angular予測部１４５Ａ]
Angular予測部１４５Ａは、入力される予測モードpredModeIntraに対応する予測方向（参照方向）の参照画素を用いて対象ＰＵ内に対応する予測画像を生成して出力する。Angular予測による予測画像の生成処理では、予測モードpredModeIntraの値に応じて主参照画素を設定し、予測画像をＰＵ内のラインまたはコラムの単位で主参照画素を参照して生成する。
【００９１】
[DMM予測部１４５Ｔ]
DMM予測部１４５Ｔは、入力される予測モードpredModeIntraに対応するDMM予測(Depth Modeling Mode,デプスイントラ予測ともいう)に基づいて、対象ＰＵ内に対応する予測画像を生成して出力する。
【００９２】
DMM予測部１４５Ｔの詳細な説明に先だって、図１６を参照しながら、DMM予測の概略について説明する。図１６は、DMM予測部１４５Ｔにおいて実行されるDMM予測の概念図である。デプスマップは、主に、図１６(a)に示すように、オブジェクト境界を表わすエッジ領域、及びオブジェクトエリアを表わす平坦領域（ほぼデプス値が一定）を有するという特徴がある。まず、DMM予測では、基本的に、デプスマップの画像的特徴を利用し、対象ブロックを、オブジェクトのエッジに沿った２つの領域Ｐ１、Ｐ２に分割し、図１６(b)に示すように、各画素が属する領域を表わすパターン情報であるウェッジパターンWedgePattern[x][y]を導出する。
【００９３】
ウェッジパターン（ウェッジレットパターン）WedgePattern[x][y]は、対象ブロック（対象ＰＵ）の幅×高さ分の大きさがあるマトリックスであり、要素(x,y)毎に０、又は１が設定され、対象ブロックの各画素が２つの領域P1、P2のどちらに属するかを示す。図１６ (b)の例では、要素の値が０であれば、領域Ｐ１に属し、１であれば、領域Ｐ２に属すこととなる。次に、図１６ (c)に示すように、各領域Ｐ１、及びＰ２を各々のデプス予測値を埋めることによって予測画像を生成する。
【００９４】
以下、ウェッジレットと呼ばれる線分により分割されたウェッジパターンを便宜的にウェッジレットパターンと呼ぶが、ウェッジパターン、ウェッジレットパターンも同じもの（２つの領域に分割された２次元パターン）であるため、特に区別しなくても良い。なお、ウェッジパターン（ウェッジレットパターン）を単にパターンとも呼ぶ。
【００９５】
以下では、図１を参照しがら、DMM予測部１４５Ｔの構成について説明する。図１は、DMM予測部１４５Ｔの構成例のついて示す機能ブロック図である。
【００９６】
図１に示すように、DMM予測部１４５Ｔは、ウェッジパターン導出部１４５Ｔ２、及びデプス予測画素導出部１４５Ｔ３、ウェッジレットパターン生成部１４５Ｔ４、ウェッジパターンテーブル１４５Ｔ５、デプスルックアップテーブル導出部１４６を備える。
【００９７】
DMM予測部１４５Ｔは、入力される予測モードpredModeIntraに対応するウェッジパターン生成手段を起動させ、対象ＰＵの分割パターンを示すウェッジパターンwedgePattern[x][y]を生成する。より具体的には、予測モードpredModeIntraが、予測モード番号‘３５’である場合、すなわち、INTRA_DMM_WEDGEFULLモードでは、ウェッジパターン導出部１４５Ｔ２を起動する。一方、予測モードpredModeIntraが、予測モード番号‘３６’である場合、すなわち、INTRA_DMM_CPCREDTEXモードでは、を起動する。
【００９８】
[ウェッジパターン導出部１４５Ｔ２]
ウェッジパターン導出部１４５Ｔ２は、入力される対象ＰＵサイズｎＳ、ウェッジパターンインデックスwedge_full_tab_idx、予め設定された参照ウェッジパターンサイズｎＢＳ、及び参照ウェッジパターン数NumWedgePattern[log2(nBS)]に基づいて、ウェッジパターンテーブル１４５Ｔ５に格納されたウェッジパターンテーブルWedgePatternTableから、対象ＰＵへ適用するウェッジパターンwedgePattern[x][y]を導出し、デプス予測画素導出部１４５Ｔ３へ出力する。
【００９９】
wedgePattern[x][y] = WedgePatternTable[log2(nS)][wedge_full_tab_idx][x][y],
with x = 0..nS-1, y = 0..nS-1
ここで、log2(nS)は、対象ＰＵサイズの２を底とする対数値である。
【０１００】
[デプス予測画素導出部１４５Ｔ３]
デプス予測画素導出部１４５Ｔ３は、対象ＰＵの分割パターンを示すウェッジパターンwedgePattern[x][y]に基づいて、対象ＰＵを2つの領域に分割し(例えば、図１６ (c)に示す領域P1、P2)、入力されたＰＴ情報、及び参照画素p[x][y]に基づいて領域P1に関する予測値、及び領域P2に関する予測値を導出し、各領域に導出した予測値を予測画像predSamples[x][y]に設定して導出する。
【０１０１】
続いて、デプス予測画素導出部１４５Ｔ３は、分割された２領域に割り当てるデプスの予測値（ＤＣ予測値）を導出する。便宜上、ウェッジレットパターンの最左上要素wedgePattern[0][0]と同じ値を有する要素からなる領域を領域Ｐ１、最左上要素wedgePattern[0][0]と異なる値を有する要素からなる領域を領域Ｐ２とし、領域Ｐ１に関するDC予測値はdcValLT、領域Ｐ２に関するDC予測値はdcValBRであるとする。
【０１０２】
デプス予測画素導出部１４５Ｔ３は、導出した垂直エッジフラグverEdgeFlag、水平エッジフラグhorEdgeFlagに応じて、DC予測値dcValLT、dcValBRを導出する。
【０１０３】
（１）垂直エッジフラグvertEdgeFlagと水平エッジフラグhorEdgeFlagが等しい場合（vertEdgeFlag==horEdgeFlag）、以下の手順で、各DC予測値を導出する。
【０１０４】
デプス予測画素導出部１４５Ｔ３は、下記式により、対象ＰＵの最左上画素の左、及び上に隣接する参照画素p[-1][0]と参照画素p[0][-1]の平均値をdcValLTへ設定する。
【０１０５】
dcValLT = (p[-1][0] + p[0][-1]) >> 1
続いて、水平エッジフラグhorEdgeFlagに応じて、DC予測値dcValBRを導出する。水平エッジフラグhorEdgeFlagが１の場合、対象ＰＵの最左下画素の左に隣接する参照画素p[-1][nS-1]と、対象ＰＵの最右上画素の上に隣接する参照画素p[nS-1][-1]の平均値をDC予測値dcValBRへ設定する。
【０１０６】
dcValBR = (p[-1][nS-1] + p[nS-1][-1]) >> 1
水平エッジフラグhorEdgeFlagが０(horEdgeFlag==0)の場合、参照画素の水平方向のエッジ強度（画素差）horAbsDiffと、垂直方向のエッジ強度(画素差)verAbsDiffとを比較して、強度（画素差）の大きい方向の参照画素に基づいて、DC予測値を導出する。すなわち、水平方向のエッジ強度horAbsDiffが、垂直方向のエッジ強度verAbsDiffより大きい場合には、参照画素p[2*nS-1][-1]をDC予測値dcValBRへ設定する。それ以外の場合（horAbsDiff<=vertAbsDiff）、参照画素p[-1][2*nS-1]をDC予測値dcValBRへ設定する。
【０１０７】
verAbsDiff = Abs(p[-1][0] - p[-1][2*nS - 1])
horAbsDiff = Abs(p[0][-1] - p[2*nS - 1][-1])
dcValBR = (horAbsDiff > verAbsDiff ) ? p[2*nS - 1][-1] : p[-1][2*nS-1]
【０１０８】
（２）垂直エッジフラグvertEdgeFlagと水平エッジフラグhorEdgeFlagが異なる場合（vertEdgeFlag!=horEdgeFlag）、以下の手順で、各DC予測値を導出する。
【０１０９】
dcValLT = horEdgeFlag ? p[(nS-1)>>1][-1] : p[-1][(nS-1)>>1]
dcValBR = horEdgeFlag ? p[-1][nS - 1] : p[nS - 1][-1]
すなわち、水平エッジフラグhorEdgeFlagが１の場合(垂直エッジフラグvertEdgeFlagが０)には、対象ＰＵの上辺の中央画素の上に隣接する参照画素p[(nS-1)>>1][-1]を領域Ｐ１のDC予測値dcValLTとし、対象ＰＵの最左下画素の左に隣接する参照画素p[-1][nS-1]を領域Ｐ２のDC予測値dcValBRとする。一方、水平エッジフラグhorEdgeFlagが０の場合(垂直エッジフラグvertEdgeFlagが１)には、対象ＰＵの左辺の中央画素の左に隣接する参照画素p[-1][(nS-1)>>1]を領域Ｐ１のDC予測値dcValLTとし、対象ＰＵの最右上画素の上に隣接する参照画素p[-1][nS-1]を領域Ｐ２のDC予測値dcValBRとする。
【０１１０】
続いて、デプス予測画素導出部１４５Ｔ３は、導出した各領域のDC予測値dcValBR、dcValLTと、エントロピー復号部３１より供給される対象ＰＵの各領域のDCオフセット有無フラグdepth_dc_flag、及びDCオフセット値DcOffset[]に基づいて、対象ＰＵの予測画像predSamples[x][y]を導出する。
【０１１１】
まず、ウェッジレットパターンwedgePattern[x][y]を参照して、対象ＰＵ内画素位置(x,y)が領域Ｐ１に属する場合(wedgePattern[x][y] == wedgePattern[0][0])、対象画素DC予測値predDcValを、dcValLTへ設定し、対象画素が領域Ｐ２に属する場合（wedgePattern[x][y] != wedgePattern[0][0]）、対象画素DC予測値predDCValを、dcValBRへ設定する。
【０１１２】
predDcVal = (wedgePattern[x][y] == wedgePattern[0][0]) ? dcValLT : dcValBR
【０１１３】
次に、DCオフセット値DcOffset[]を参照して、対象画素DCオフセット値dcOffsetを設定する。
【０１１４】
dcOffset = DcOffset[wedgePattern[x][y]]
すなわち、ウェッジレットパターンwedgePattern[x][y]の値に対応するＤＣオフセット値dcOffset[wedgePattern[x][y]]を、対象画素のDCオフセット値dcOffsetへ設定する。
【０１１５】
デプス予測画素導出部１４５Ｔ３は、Dltフラグ（DltFlag）が０の場合、導出した対象画素DC予測値predDcValと対象画素DCオフセット値dcOffsetの和を、対象画素の予測値とする。
【０１１６】
predSamples[x][y] = predDcVal + dcOffset, with x=0..nS-1, y=0..nS-1
【０１１７】
デプス予測画素導出部１４５Ｔ３は、Dltフラグ（DltFlag）が１の場合、導出した対象画素DC予測値predDcValをデプスインデックス変換テーブルDepthValue2Idx[]でインデックスに変換後、対象画素DCオフセット値dcOffsetの和を算出、クリップし、さらにインデックスデプス変換テーブルIdx2DepthValue[]で画素に変換することで、対象画素の予測値とする。
【０１１８】
predSamples[ x ][ y ] = Idx2DepthValue[ Clip1Y(  DepthValue2Idx[ predDcVal ] + dcOffset ) ]
なお、Dltフラグ（DltFlag）はＶＰＳなどから、エントロピー復号部３１において復号されるフラグである。インデックスデプス変換テーブルIdx2DepthValue[]は、ピクチャパラメータセット（ＰＰＳ）などから、エントロピー復号部３１において復号される。デプスインデックス変換テーブルDepthValue2Idx[]は、後述のデプスルックアップテーブル導出部１４６において、インデックスデプス変換テーブルIdx2DepthValue[]から導出される。
【０１１９】
以上のようにして、デプス予測画素導出部１４５Ｔ３は、対象ＰＵの予測画像predSamples[x][y]を導出することができる。
【０１２０】
[ウェッジレットパターン生成部１４５Ｔ４]
ウェッジパターン導出部１４５Ｔ２は、初回起動時のみ、ウェッジレットパターン生成部１４５Ｔ４を起動させ、ブロックサイズ毎のウェッジパターンテーブルWedgePatternTableを生成する。次に、生成したウェッジパターンテーブルをウェッジパターンテーブル１４５Ｔ５に格納する。次に、ウェッジレットパターン内に、始点S(xS,yS)と終点E(xE,yE)を設定する。始点と終点は、パターンを構成する四角形の辺上に設定される。次に、始点Sと終点Eの間をBresenhamのアルゴリズムを用いて線分を引く。例えば、その線分上及び線分より左側の座標に対応する要素を１に設定することで、ウェッジレットパターンwedgePattern[x][y]が生成される。ここで、patternSize は、ウェッジレットパターンを生成するブロックのサイズ（縦幅、横幅）である。
【０１２１】
（デプスルックアップテーブル導出部１４６）
デプスルックアップテーブル導出部１４６は、インデックスの値をデプス値に変換するインデックスデプス変換テーブルIdx2DepthValue[]から、デプス値をインデックスの値に変換するデプスインデックス変換テーブルDepthValue2Idx[]を導出する。
【０１２２】
図１９は、デプスルックアップテーブル導出部１４６の動作を示すフローチャートである。デプスルックアップテーブル導出部１４６は、以下の擬似コードに示す処理をする。
【０１２３】
for( d = 0; d < ( 1  <<  BitDepthY) ; d++ ) {    （Ｓ３００１、Ｓ３００８）
foundFlag = 0 
for( i = 1; i < NumDepthValuesInDlt[ nuh_layer_id ] - 1 &&  !foundFlag; i++ )   （Ｓ３００２）
if( Idx2DepthValue[ i ] > d ) {    （Ｓ３００３）
foundFlag = 1
}
}    if( Abs( d - Idx2DepthValue[ i-1 ] ) < Abs ( d - Idx2DepthValue[ i ] ) )      （Ｓ３００５）
DepthValue2Idx[ d ] = i-1    （Ｓ３００６）
else
DepthValue2Idx[ d ] = i    （Ｓ３００７）
}
ここで、NumDepthValuesInDlt[ nuh_layer_id ]は、ＤＬＴデプス値の数である。
（Ｓ３００１）デプス値ループの開始。デプスルックアップテーブル導出部１４６は、０から２のビットデプスBitDepthY乗―１（( 1  <<  BitDepthY) −１）までのデプス値dに対して、Ｓ３００１からＳ３００８までの処理を行う。
（Ｓ３００２）インデックスiのループの開始。デプスルックアップテーブル導出部１４６は、１からＤＬＴデプス値の数NumDepthValuesInDlt[ nuh_layer_id ]−２までのiに対して、Ｓ３００３からＳ３００４の処理を行う。
（Ｓ３００３）デプスルックアップテーブル導出部１４６は、インデックスiをインデックスデプス変換テーブルIdx2DepthValue[]で変換した値Idx2DepthValue[i]がデプス値dより大きい条件（Idx2DepthValue[i] > d）を満たす最初のインデックスiを走査し、見つけたらfoundFlagに１を設定してＳ３０0５に遷移する
（Ｓ３００４）インデックスiのループの終了。iを１だけインクリメントしてループを継続しＳ３００３の処理を繰り返す。Ｓ３００３の処理で条件を満たすインデックスｉが発見された場合（foundFlag=1の場合）、ループを終了し、Ｓ３００５に遷移する。
（Ｓ３００５）デプスルックアップテーブル導出部１４６は、インデックスiより１だけ小さい値のi-1をインデックスデプス変換テーブルIdx2DepthValueで変換してえられる値Idx2DepthValue[i-1]と変数dの差の絶対値（差分絶対値）と、インデックスiをインデックスデプス変換テーブルIdx2DepthValue変換してえられる値Idx2DepthValue[i]と変数dの差の絶対値（差分絶対値）を比較し、前者が後者よりも小さい場合には、Ｓ３００６に遷移しそれ以外であればＳ３００７に遷移する。
（Ｓ３００６）デプスルックアップテーブル導出部１４６は、変数dをインデックスとするDepthValue2Idxテーブルの値DepthValue2Idx[ d ]にi-1を設定する。DepthValue2Idx[ d ] = i-1 
（Ｓ３００７）デプスルックアップテーブル導出部１４６は、変数dをインデックスとするDepthValue2Idxテーブルの値DepthValue2Idx[ d ]にiを設定する。DepthValue2Idx[ d ] = i
（Ｓ３００８）デプス値ループの終端。dを１だけインクリメントし、ｄが( 1  <<  BitDepthY)未満であればループを継続する。ｄが( 1  <<  BitDepthY)の場合、処理を終了する。
【０１２４】
なお、インデックスデプス変換テーブルIdx2DepthValue[]テーブルの要素数NumDepthValuesInDlt[ nuh_layer_id ]が１の場合により安全に処理するためにデプスルックアップテーブル導出部１４６は、以下の処理としても良い。
【０１２５】
if(NumDepthValuesInDlt[ nuh_layer_id ] == 1)
DepthValue2Idx[ d ] = 0
else if( Abs( d - Idx2DepthValue[ i-1 ] ) < Abs ( d - Idx2DepthValue[ i ] ) )      （Ｓ３００５）
DepthValue2Idx[ d ] = i-1    （Ｓ３００６）
else
DepthValue2Idx[ d ] = i    （Ｓ３００７）
すなわち、インデックスデプス変換テーブルIdx2DepthValue[]テーブルの要素数NumDepthValuesInDlt[ nuh_layer_id ]が１の場合には、０から２のビットデプスBitDepthY乗―１（( 1  <<  BitDepthY) −１）までのデプス値dに対して、DepthValue2Idx[ d ]に０を設定する。  本実施形態のデプスルックアップテーブル導出部１４６（デプスルックアップテーブル導出装置）は、あるデプス値dに変換されるインデックス値の候補（インデックス候補）として、あるインデックスの値iを導出して、i-1とiを設定し、インデックス候補（i-1）のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i-1]とデプス値dの差分絶対値と、インデックス候補（i）のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i]と変数dの差分絶対値を比較し、差分絶対値の小さい場合のインデックス候補（i-1もしくはi）を、デプス値dのデプスインデックス変換テーブルDepthValue2Idxに設定する。
【０１２６】
デプスルックアップテーブル導出装置は、０から(1<<BitDepthY)-1までの変数dに対して、１ずつインクリメントされる値iを、インデックスデプス変換テーブルIdx2DepthValueの値iでの値Idx2DepthValue[i]が変数dよりも大きくなる最初の値との条件で、値ｉを導出する。さらに、デプスルックアップテーブル導出装置は、インデックスi-1のインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値と、インデックスiのインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値を比較し、前者の差分絶対値が小さい場合にi-1を変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定し、それ以外の場合にはiを変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定することを特徴とする。
【０１２７】
以上の構成のデプスルックアップテーブル導出装置によれば、デプス値dに対応するインデックスの候補としてi-1とiの２つの候補を用い、２つのインデックス候補i-1、iのうち、インデックスデプス変換テーブルIdx2DepthValue[]で変換後の値がよりデプス値dに近い値となる候補を、導出対象のデプスインデックス変換テーブルDepthValue2Idx[]でデプス値dを変換した場合のインデックス値として導出する。デプスルックアップテーブル導出装置は、あるインデックスiとして、インデックスデプス変換テーブルIdx2DepthValueでiを変換して得られる値が変数dより大きいことを満たすインデックスiを一つ導出することにより２つの候補i-1とiを導出することができるため、後述の比較例のように２つの候補を独立して導出する方法などに比べ、デプスインデックス変換テーブルDepthValue2Idxを容易に導出する効果を奏する。
【０１２８】
（デプスルックアップテーブル導出部１４６の別の構成）
また、デプスルックアップテーブル導出部１４６は、以下の擬似コードに示す処理をしても良い。
【０１２９】
for( d = 0; d < ( 1  <<  BitDepthY) ; d++ ) {
foundFlag = 0 
idxLower = 0
for( i = 1; i < NumDepthValuesInDlt[ nuh_layer_id ] &&  !foundFlag; i++ )
if( Idx2DepthValue[ i ] > d ) {
idxLower = i - 1
foundFlag = 1
}
}
idxUpper = foundFlag ? idxLower + 1 : NumDepthValuesInDlt[ nuh_layer_id ] - 1
if( Abs( d - Idx2DepthValue[ idxLower ] ) < Abs ( d - Idx2DepthValue[ idxUpper ] ) )
DepthValue2Idx[ d ] = idxLower
else
DepthValue2Idx[ d ] = idxUpper
}
デプスルックアップテーブル導出部１４６は、０から２のビットデプスBitDepthY乗―１（( 1  <<  BitDepthY) −１）までのデプス値dに対して処理を行う。最初に、ロー候補idxLowerに0、発見フラグfoundFlagに０を設定する。
【０１３０】
デプスルックアップテーブル導出部１４６は、１からＤＬＴデプス値の数NumDepthValuesInDlt[ nuh_layer_id ]−１までのiに対して、インデックスiをインデックスデプス変換テーブルIdx2DepthValue[]で変換した値Idx2DepthValue[i]がデプス値dより大きい条件（Idx2DepthValue[i] > d）を満たす最初のインデックスiを走査し、見つめたらfoundFlag=1として、そのときのiに１引いた値（i-1）をロー候補idxLowerに設定する。
【０１３１】
デプスルックアップテーブル導出部１４６は、ロー候補idxLower＋１をハイ候補idxHigerに設定する。より詳細には、デプスルックアップテーブル導出部１４６は、ロー候補が発見されている場合には、ロー候補idxLower＋１をアッパー候補idxUpperに設定し、それ以外の場合には、ＤＬＴデプス値の数NumDepthValuesInDlt[ nuh_layer_id ]−１をハイ候補idxUpperに設定する。
【０１３２】
デプスルックアップテーブル導出部１４６は、ロー候補idxLowerをインデックスデプス変換テーブルIdx2DepthValueで変換してえられる値Idx2DepthValue[idxLower]と変数dの差の絶対値（差分絶対値）と、アッパー候補idxUpperをインデックスデプス変換テーブルIdx2DepthValue変換してえられる値Idx2DepthValue[idxUpper]と変数dの差の絶対値（差分絶対値）を比較し、前者が後者よりも小さい場合には、ロー候補idxLowerを、変数dをインデックスとするDepthValue2Idxテーブルの値DepthValue2Idx[ d ]に設定する。DepthValue2Idx[ d ] = idxLower。逆の場合には、アッパー候補idxUpperを、変数dをインデックスとするDepthValue2Idxテーブルの値DepthValue2Idx[ d ]に設定する。DepthValue2Idx[ d ] = idxUpperを。
【０１３３】
デプスルックアップテーブル導出部１４６は、dを１だけインクリメントし、ｄが( 1  <<  BitDepthY)未満であればループを継続する。ｄが( 1  <<  BitDepthY)の場合、処理を終了する。
【０１３４】
本実施形態のデプスルックアップテーブル導出部１４６（デプスルックアップテーブル導出装置）は、あるデプス値dを超えるIdx2DepthValue[ i ]の最初のインデックスー１の値として、ロー候補を導出する。さらに、デプスルックアップテーブル導出部１４６は、あるデプス値dに変換されるインデックス値の候補（インデックス候補）として、idxLowerとidxUpperを設定し、インデックス候補idxLowerのインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[idxLower]とデプス値dの差分絶対値と、インデックス候補（idxUpper）のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[idxUpper]と変数dの差分絶対値を比較し、差分絶対値の小さい場合のインデックス候補（idxLowerもしくはidxUpper）を、デプス値dのデプスインデックス変換テーブルDepthValue2Idxに設定する。一方のインデックス候補（idxUpper）を他方のインデックス候補（idxLower）から導出するため、すなわちidxUpper＝idxLower＋１により導出するため、２つのインデックス候補を独立に導出する場合よりもデプスインデックス変換テーブルDepthValue2Idxを容易に導出する効果を奏する。
【０１３５】
なお、デプスルックアップテーブル導出部１４６（デプスルックアップテーブル導出装置）は、以下の擬似コードのように、あるデプス値d未満のIdx2DepthValue[ i ]の最初のインデックスの値＋１として、アッパー候補を導出し、ロー候補をアッパー候補―１（idxLower＝idxUpper−１）として導出しても良い。この場合も一方のインデックス候補（idxLower）を他方のインデックス候補（idxUpper）から導出するため、すなわちidxUpper＝idxLower＋１により導出するため、２つのインデックス候補を独立に導出する場合よりもデプスインデックス変換テーブルDepthValue2Idxを容易に導出する効果を奏する。
【０１３６】
for( d = 0; d < ( 1  <<  BitDepthY) ; d++ ) {
foundFlag = 0 
idxUpper = NumDepthValuesInDlt[ nuh_layer_id ] - 1
for( i = NumDepthValuesInDlt[ nuh_layer_id ] - 1; i >= 0 &&  !foundFlag; i-- )
if( Idx2DepthValue[ i ] < d ) {
idxUpper = i + 1
foundFlag = 1
}
}
idxLower = foundFlag ? idxLower - 1 : 0
if( Abs( d - Idx2DepthValue[ idxLower ] ) < Abs ( d - Idx2DepthValue[ idxUpper ] ) )
DepthValue2Idx[ d ] = idxLower
else
DepthValue2Idx[ d ] = idxUpper
}
なお、デプスルックアップテーブル導出部１４６（デプスルックアップテーブル導出装置）は、Ｓ３００５の比較を未満（＜）から以下（＜＝）とするＳ３００５´に変更しても良い。
【０１３７】
if( Abs( d - Idx2DepthValue[ i-1 ] ) <= Abs ( d - Idx2DepthValue[ i ] ) )      （Ｓ３００５´）
（Ｓ３００５´）デプスルックアップテーブル導出部１４６は、i-1のインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i-1]と変数dの差分絶対値と、iのインデックスデプス変換テーブルIdx2DepthValueの値Idx2DepthValue[i]と変数dの差分絶対値を比較し、前者が後者「以下の」場合には、Ｓ３００６に遷移しそれ以外であればＳ３００７に遷移し、DepthValue2Idx[ d ]にi-1を設定する。それ以外の場合にはDepthValue2Idx[ d ]にiを設定する。
【０１３８】
（比較例のデプスルックアップテーブル導出装置）
以下、比較例のデプスルックアップテーブル導出装置を説明する。比較例のデプスルックアップテーブル導出装置は、以下の擬似コードに示す処理をする。 
【０１３９】
for( d = 0; d < ( 1  <<  BitDepthY) ; d++ ) {
idxLower = 0 
for( iL = 1, foundFlag = 0; iL < NumDepthValuesInDlt[ nuh_layer_id ]  &&  !foundFlag; iL++ ) {
if( Idx2DepthValue[ iL ] > d ) {
idxLower = iL - 1
foundFlag = 1
}
}
idxUpper = NumDepthValuesInDlt[ nuh_layer_id ] - 1
for( iU = NumDepthValuesInDlt[ nuh_layer_id ] - 2, foundFlag = 0; iU >= 0  &&  !foundFlag; iU++ ) {
if ( Idx2DepthValue[ iU ] < d ) {
idxUpper = iU + 1
foundFlag = 1
}
}
if( Abs( d - Idx2DepthValue[ idxLower ] ) < Abs ( d - Idx2DepthValue[ idxUpper ] ) ) 
DepthValue2Idx[ d ] = idxLower
else
DepthValue2Idx[ d ] = idxUpper
}
以上の擬似コードのように、比較例のデプスルックアップテーブル導出装置は、各デプス値dに対して、２つのインデックス候補idxLowerとidxUpperを独立に導出し、インデックスidxLowerのインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値と、インデックスidxUpperのインデックスデプス変換テーブルIdx2DepthValueの値と、変数dの差分絶対値を比較し、前者の差分絶対値が小さい場合にidxLowerを変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定し、それ以外の場合にはidxUpperを変数dのデプスインデックス変換テーブルDepthValue2Idx[d]に設定する。比較例のデプスルックアップテーブル導出装置は、２つの候補idxLowerとidxUpperを独立に導出する必要があるため、i-1とiから候補を導出する本実施形態のデプスルックアップテーブル導出装置よりも処理が複雑である。
【０１４０】
（インター予測パラメータ復号部の構成）
次に、インター予測パラメータ復号部３０３の構成について説明する。図８は、本実施形態に係るインター予測パラメータ復号部３０３の構成を示す概略図である。インター予測パラメータ復号部３０３は、インター予測パラメータ復号制御部３０３１、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を加算部３０３５に出力する。
【０１４４】
図２０、図２１は本実施形態の予測パラメータに関するシンタックス表である。インター予測パラメータ復号制御部３０３１は、図のＳＥ１００１〜ＳＥ１００６に示すcu_skip_flag、pred_mode、part_mode、merge_flag、merge_idxを復号する。ここで、cu_skip_flagは対象ＣＵがスキップであるか否かを示すフラグである。スキップの場合にはPartModeは２Ｎ×２Ｎに限定され、分割モードpart_modeの復号は省略される。符号化データから復号した分割モードpart_modeは分割モードPredModeにセットされる。また、インター予測パラメータ復号制御部３０３１は、インター予測パラメータ導出時に導出された変位ベクトル（NBDV）、及び視点合成予測を行うか否かを示すフラグであるVSPモードフラグVspModeFlagを、インター予測画像生成部３０９に出力する。インター予測パラメータ復号制御部３０３１は、cu_skip_flagが１の場合に、対象ブロックのＣＵ予測モードCuPredMode[xN][yN]にMODE_SKIPを設定する。cu_skip_flagが０の場合には、pred_modeに応じてＣＵ予測モードを設定する。pred_modeが０の場合、ＣＵ予測モードCuPredMode[xN][yN]にMODE_INTERを設定する。pred_modeが１の場合、ＣＵ予測モードCuPredMode[xN][yN]にMODE_INTRAを設定する。インター予測パラメータ復号制御部３０３１は、ＣＵ予測モードがMODE_INTERの場合（cu_skip_flagが１）の場合、ＳＥ１００４に示すようにマージ候補リスト中のマージ候補の選択に用いるmerge_idxを復号する。インター予測パラメータ復号制御部３０３１は、
ＣＵ予測モードがMODE_INTERの場合、ＳＥ１００５に示すようにmerge_flagを復号し、merge_flagが１の場合、ＳＥ１００６に示すようにマージ候補の選択に用いるmerge_idxを復号する。
【０１４５】
図９は、本実施形態に係るマージモードパラメータ導出部３０３６の構成を示す概略図である。マージモードパラメータ導出部３０３６は、マージ候補導出部３０３６１とマージ候補選択部３０３６２、双予測制限部３０３６３を備える。マージ候補導出部３０３６１は、マージ候補格納部３０３６１１と、拡張マージ候補導出部３０３７０と基本マージ候補導出部３０３８０を含んで構成される。
【０１４６】
マージ候補格納部３０３６１１は、拡張マージ候補導出部３０３７０及び基本マージ候補導出部３０３８０から入力されたマージ候補をマージ候補リストmergeCandListに格納する。なお、マージ候補は、予測利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLXから構成され、さらに、VSPモードフラグVspModeFlag、変位ベクトルMvDisp、レイヤＩＤRefViewIdxなどを含んでも良い。マージ候補格納部３０３６１１において、マージ候補リストmergeCandListに格納されたマージ候補は、リスト先頭の候補から０、１、２・・・Ｎのインデックスが対応づけられる。
【０１４７】
図１１は、マージ候補導出部３０３６１が導出するマージ候補リストmergeCandListの例を示すものである。図１１（ａ）は、ベースレイヤ（レイヤＩＤnal_unit_layer=0のレイヤ）において、マージ候補格納部３０３６１１が導出するマージ候補を示す。２つのマージ候補が同じ予測パラメータである場合に順番を詰める処理（プルーニング処理）を除くと、マージインデックス順に、空間マージ候補（A1）、空間マージ候補（B1）、空間マージ候補（B0）、空間マージ候補（A0）、空間マージ候補（B2）の順になる。なお、括弧内は、マージ候補のニックネームであり、空間マージ候補の場合には、導出に用いる参照ブロックの位置に対応する。また、それ以降に、結合マージ候補（結合双予測マージ候補、combined bi-predictive merging candidates）、ゼロマージ候補（ゼロ動きマージ候補、zero motion vector merging candidates）があるが、図１１では省略している。
【０１４８】
マージモードパラメータ導出部３０３６は、基本マージリストbaseMergeCandidate[]と拡張マージリストextMergeCandidate[]を構築する。以下では、マージモードパラメータ導出部３０３６に含まれるマージ候補格納部３０３６１１がリストの構築を行う構成を示すが、マージ候補格納部３０３６１１に限らない。例えば、マージ候補導出部３０３６１が個々のマージ候補を導出するだけでなくマージ候補リストを導出しても良い。
【０１４９】
図１２は、空間マージ候補が参照する隣接ブロックの位置を示す図である。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
（デプスマージ候補）
デプスマージ候補Dは、拡張マージ候補導出部３０３７０内の図示しないデプスマージ候補導出部において、導出される。デプスマージ候補Dは、変位導出部３０３６３から入力される座標(xRef, yRef)の予測ブロックの変位mvLXD[ xRef ][ yRef ][ 0 ]を以下の式により変換して得られるデプス値dispDerivedDepthValを、予測画像の画素値とするマージ候補である。
【０１６３】
dispVal = mvLXD[ xRef ][ yRef ][ 0 ]
dispDerivedDepthVal = DispToDepthF( refViewIdx, dispVal )
ここでDispToDepthF(X, Y)はビューインデックスXのピクチャを参照ピクチャとする場合に、変位Yからデプス値を導出する関数である。
【０１６４】
（インタービューシフトマージ候補）
インタービューシフトマージ候補IvMCShiftも、レイヤ間マージ候補導出部３０３７１において、変位ベクトル導出部３５２が特定した対象ピクチャと同一ＰＯＣを有し、異なるビューＩＤを有するピクチャの参照ブロックから動きベクトルなどの予測パラメータを読み出すことで導出される。参照ブロックの座標(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）を導出する。変位マージ候補導出部３０３７３は、入力された変位ベクトル（mvDisp[0], mvDisp[1]）に基づいて、水平成分がmvDisp[0]であり、垂直成分が０であるベクトルを変位マージ候補（IvDC）として、以下の式により生成する。
【０１６６】
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）マージ候補を導出する。ＶＳＰ予測部３０３７４は、予測ユニットを複数のサブブロック（サブ予測ユニット）に分割し、分割したサブブロック単位で、ベクトルmvLXと参照ピクチャインデックスrefIdxLX、ビューＩＤRefViewIdxを設定する。ＶＳＰ予測部３０３７４は、導出したVSPマージ候補をマージ候補格納部３０３６１１に出力する。
【０１７１】
図１４はＶＳＰ予測部３０３７４と他の手段の関係を示すブロック図である。VSP予測部３０３７４は、分割フラグ導出部３５３の導出する分割フラグhorSplitFlagと、デプスＤＶ導出部３５１の導出する変位ベクトルを用いて動作する。
【０１７２】
ＶＳＰ予測部３０３７４の図示しないパーティション分割部は、分割フラグ導出部３５３の導出した分割フラグhorSplitFlagに応じて、横長長方形（ここでは８×４）と縦長長方形（ここでは４×８）のいずれかを選択することでサブブロックサイズを決定する。具体的には、以下の式を用いてサブブロックの幅nSubBlkWと高さnSubBlkHを設定する。
【０１７３】
nSubBlkW = horSplitFlag ? 8 : 4
nSubBlkH = horSplitFlag ? 4 : 8
【０１７４】
VSP予測部３０３７４は、導出されたサブブロックサイズの各々のサブブロックに対して、デプスＤＶ導出部３５１から導出された動きベクトルdisparitySampleArray[]を水平成分の動きベクトルmvLX[0]、０を垂直成分の動きベクトルmvLX[1]としてベクトルmvLX[]を導出し、ＶＳＰマージ候補の予測パラメータを導出する。
【０１７５】
また、VSP予測部３０３７４は、インター予測パラメータ復号制御部３０３１から入力された残差予測インデックスiv_res_pred_weight_idx及び照度補償フラグic_flagに応じてVSPマージ候補をマージ候補リストmergeCandListに追加するか否かを制御してもよい。具体的には、VSP予測部３０３７４は、残差予測インデックスiv_res_pred_weight_idxが０、かつ、照度補償フラグic_flagが０の場合のみ、
空間マージ候補導出部３０３８１は、所定の規則に従って、予測パラメータメモリ３０７が記憶している予測パラメータ（予測利用フラグpredFlagLX、ベクトルmvLX、参照ピクチャインデックスrefIdxLX）を読み出し、読み出した予測パラメータを空間マージ候補として導出する。読み出される予測パラメータは、予測ユニットから予め定めた範囲内にあるブロック（例えば、予測ユニットの左下端、左上端、右上端にそれぞれ接するブロックの全部又は一部）である隣接ブロックのそれぞれに係る予測パラメータである。導出された空間マージ候補はマージ候補格納部３０３６１１に格納される。
【０１７６】
空間マージ候補導出部３０３８１では、隣接ブロックのVSPモードフラグVspModeFlagを継承して導出するマージ候補のVSPモードフラグmergeCandIsVspFlagを設定する。すなわち、隣接ブロックのVSPモードフラグVspModeFlagが１の場合、対応する空間マージ候補のVSPモードフラグmergeCandIsVspFlagを１、それ以外の場合はVSPモードフラグmergeCandIsVspFlagを０とする。
【０１７７】
時間マージ候補導出部３０３８２は、予測ユニットの右下の座標を含む参照画像中のブロックの予測パラメータを予測パラメータメモリ３０７から読みだしマージ候補とする。参照画像の指定方法は、例えば、スライスヘッダで指定されるコロケートピクチャcol_ref_idxと、参照ピクチャリストRefPicListXから指定されるRefPicListX[col_ref_idx]で指定される参照ピクチャインデックスrefIdxLXを用いればよい導出されたマージ候補はマージ候補格納部３０３６１１に格納される。
【０１７８】
結合マージ候補導出部３０３８３は、既に導出されマージ候補格納部３０３６１１に格納された２つの異なる導出済マージ候補のベクトルと参照ピクチャインデックスを、それぞれＬ０、Ｌ１のベクトルとして組み合わせることで結合マージ候補を導出する。導出されたマージ候補はマージ候補格納部３０３６１１に格納される。
【０１７９】
ゼロマージ候補導出部３０３８４は、参照ピクチャインデックスrefIdxLXがｉであり、ベクトルmvLXのＸ成分、Ｙ成分が共に０であるマージ候補を、導出したマージ候補数が最大値に達するまで導出する。参照ピクチャインデックスrefIdxLXを示すｉの値は、０から順に割り振られる。導出されたマージ候補はマージ候補格納部３０３６１１に格納される。
【０１８０】
図１０は、本実施形態に係る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を復号する。
【０１８４】
インター予測識別子復号部３０３１２は、予測ユニットが、L0予測(PRED_L0)、L0予測(PRED_L1)、双予測(PRED_BI)を示すインター予測識別子inter_pred_flagを復号する。
【０１８５】
残差予測インデックス復号部は、エントロピー復号部３０１を用いて、符号化ユニットＣＵの分割モード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をマージモードパラメータ導出部３０３６とインター予測画像生成部３０９に出力する。 
【０１８７】
以下、予測パラメータ導出に用いる手段である変位ベクトル導出部３５２、分割フラグ導出部３５３、デプスＤＶ導出部３５１を順に説明する。
【０１８８】
（変位ベクトル導出部３５２）
変位ベクトル導出部３５２は、対象ＰＵが属する符号化ユニット（対象ＣＵ）の変位ベクトル（以下、MvDisp[x][y]、もしくはmvDisp[x][y]と示す）と参照ピクチャインデックスrefIdxLX、参照ビューインデックスrefViewIdxを、符号化ユニットに空間的もしくは時間的に隣接するブロックから抽出する。概略的には、対象ＣＵに時間的に隣接するブロックCol、時間的に隣接する第２のブロックAltCol、空間的に左に隣接するブロックA1、上に隣接するブロックB1を参照ブロックとして、その参照ブロックの予測フラグpredFlagLX、参照ピクチャインデックスrefIdxLXとベクトルmvLXを順に抽出する。抽出したベクトルmvLXが変位ベクトルである場合には、その隣接ブロックの変位ベクトルを出力する。隣接ブロックの予測パラメータに変位ベクトルが無い場合には、次の隣接ブロックの予測パラメータを読み出し同様に変位ベクトルを導出する。全ての隣接ブロックにおいて変位ベクトルが導出できない場合には、ゼロベクトルを変位ベクトルとして出力する。変位ベクトル導出部３５２は、また、変位ベクトルを導出したブロックの参照ピクチャインデックス及びビューＩＤ（RefViewIdx[x][y]、ここで（xP、yP）は座標）を出力する。
【０１８９】
図２２は、本実施形態に係る変位ベクトル導出部３５２の動作を示すフローチャートである。変位ベクトル導出部３５２は、変位ベクトル利用可能フラグdvAbailableFlagに0を設定し処理を開始する。
（Ｓ１００１）変位ベクトル導出部３５２はテンポラル隣接ブロックから変位ベクトルを導出する。対象ＣＵに時間的に隣接するブロックCol、時間的に隣接する第２のブロックAltColから、変位ベクトルmvDispと参照ビューインデックスrefViewIdxを導出する。時間的に隣接するブロック及び時間的に隣接する第２のブロックAltColから、変位ベクトルが導出された場合には、変位ベクトル利用可能フラグdvAbailableFlagに1を設定し、変位ベクトルが導出されない場合には０を設定する。
（Ｓ１００２）変位ベクトル利用可能フラグdvAbailableFlagが１の場合、つまり、テンポラル隣接ブロックから変位ベクトルが導出された場合には、変位ベクトル導出部３５２は処理を終了する。それ以外の場合にはＳ１００３に遷移する。
（Ｓ１００３）変位ベクトル導出部３５２は、内部に備える隣接ブロック変位ベクトル導出部３５２１により、変位ベクトル及び導出変位ベクトルを導出する。具体的な処理は後述する。
（Ｓ１００４）変位ベクトル利用可能フラグdvAbailableFlagが１の場合、つまり、（Ｓ１００３）において隣接ブロック変位ベクトル導出部３５２１から変位ベクトルが導出された場合には、変位ベクトル導出部３５２は処理を終了する。それ以外の場合にはＳ１００５に遷移する。
（Ｓ１００５）導出変位ベクトル利用可能フラグavailableFlagIvpMvNが１の場合、つまり、Ｓ１００３）において隣接ブロック変位ベクトル導出部３５２１から導出変位ベクトルivpMvDispNが導出された場合には、変位ベクトル導出部３５２は以下の式により、変位ベクトルmvDispに導出変位ベクトルivpMvDispNを設定し、参照ビューインデックスrefViewIdxに、導出参照ビューインデックスrefViewIdxNを設定し処理を終了する。それ以外の場合にはＳ１００６に遷移する。なお、Nは、A1もしくはB1であり、導出変位ベクトルが導出された対象ブロックの隣接ブロックを示す。
mvDisp = ivpMvDispN
refViewIdx = refViewIdxN
dvAvailFlag = 1
（Ｓ１００６）変位ベクトル利用可能フラグdvAbailableFlagが１の場合、つまり、隣接ブロック変位ベクトル導出部３５２１から導出変位ベクトルが導出された場合には、変位ベクトル導出部３５２は、処理を終了する。それ以外の場合にはＳ１００７に遷移する。
（Ｓ１００７）変位ベクトル導出部３５２は、内部に備えるデフォルト参照ビューインデックス導出部３５２２により導出されたデフォルト参照ビューインデックスDefaultRefViewIdxを参照ビューインデックスrefViewIdxに設定し、変位ベクトルmvDispに(0, 0)を設定する。
具体的な処理は後述する。
（Ｓ１００８）変位ベクトル導出部３５２は、対象ピクチャのdepth_refinement_flagが１の場合に、後述するデプスＤＶ導出部３５２を呼び出し、変位ベクトルmvDispから、デプスリファイン変位ベクトルmvRefinedDispを導出する。  上記により得られた変位ベクトルはNBDV(Neighbour Base Disparity Vector)と呼ばれる。変位ベクトル導出部３５２は、さらに得られた変位ベクトルNBDVをデプスＤＶ導出部３５１に出力する。デプスＤＶ導出部３５１は、デプス由来の変位ベクトルdisparitySampleArrayを導出する。変位ベクトルdisparitySampleArrayを動きベクトルの水平成分mvLX[0]として、変位ベクトルとすることにより変位ベクトルを更新する。更新された変位ベクトルは、DoNBDV(Depth Orientated Neighbour Base Disparity Vector)と呼ばれる。変位ベクトル導出部３５２は、変位ベクトル(DoNBDV)をレイヤ間マージ候補導出部３０３７１、変位マージ候補導出部３０３７３及びＶＳＰマージ候補導出部３０３７４に出力する。さらに、得られた変位ベクトル(NBDV)を、インター予測画像生成部３０９に出力する。
【０１９０】
（隣接ブロック変位ベクトル導出部３５２１）
図２３は、本実施形態に係る隣接変位ベクトル導出部３５２１の動作を示すフローチャートである。隣接変位ベクトル導出部３５２１は、対象ブロックに隣接するブロックＡ１、Ｂ１から、変位ベクトルmvDisp及び導出変位ベクトルivpMvDispNを導出する。隣接変位ベクトル導出部３５２１は、また、参照ビューインデックスrefViewIdx及び導出参照ビューインデックスrefViewIdxNを導出する。
【０１９１】
（Ｓ１０１１）隣接変位ベクトル導出部３５２１は、対象ブロックに隣接するブロックＡ１、Ｂ１をＮとして、Ｓ１０１２からＳ１０１７を行い、探索する。隣接ブロックNの座標（xN、yN）として、N=A1の場合には、隣接ブロックの左上画素の座標( xCb - 1,  yCb + nCbS - 1 )を設定し、N=B1の場合には、隣接ブロックB1の左上画素の座標( xCb + nCbS - 1,  yCb - 1 )を設定する。ここで(xCb, yCb)は、対象ＣＵの座標、nCbSは対象ＣＵの幅および高さである。
【０１９２】
（Ｓ１０１２）隣接変位ベクトル導出部３５２１は、隣接ブロックNの座標(xX, yN)の参照ピクチャインデックスRefIdxLX[yN][xN]を参照する。隣接ブロックの参照ピクチャインデックスRefIdxLX[yN][xN]が０以上の場合、すなわち、隣接ブロックNで参照ピクチャリストの参照ピクチャが用いられた場合（隣接ブロックでインター予測がも用いられた場合）、Ｓ１０１３に遷移する。それ以外は、Ｓ１０１７に遷移し、次の隣接ブロックの処理を継続する。
【０１９３】
（Ｓ１０１３）隣接変位ベクトル導出部３５２１は、隣接ブロックNがインタービューを用いてインター予測を行ったインタービューブロックであるかを判別する、インタービューブロックであれば、Ｓ１０１４に遷移し、隣接ブロックの変位ベクトルを設定する。それ以外は、Ｓ１０１５に遷移し、隣接ブロックの導出変位ベクトル導出処理を行う。
【０１９４】
なお、インタービューブロックで有るかの判別は、以下のいずれかの方法を用いることができる。隣接ブロックNの参照ピクチャRefPicListX[ RefIdxLX[ xN ][ yN ] ]のPOCが対象ピクチャのＰＯＣであるPicOrderCntValと等しい場合に、インタービューブロックで有ると判別する。
【０１９５】
PicOrderCnt(RefPicListX[ RefIdxLX[ xN ][ yN ] ])== PicOrderCntVal
また、インタービューブロックで有るかの判別にビューＩＤを用いることもできる。すなわち、隣接ブロックNの参照ピクチャRefPicListX[ RefIdxLX[ xN ][ yN ] ]のビューＩＤが対象ピクチャのビューＩＤと等しい場合に、インタービューブロックで有ると判別する。
【０１９６】
ViewOrderId(RefPicListX[ RefIdxLX[ xN ][ yN ] ])== 対象ピクチャのViewOrderId
また、インタービューブロックで有るかの判別に短期予測であるかを用いることもできる。すなわち、隣接ブロックNの参照ピクチャが短期予測ピクチャでない場合に、インタービューブロックと判定する。
【０１９７】
（Ｓ１０１４）隣接変位ベクトル導出部３５２１は、隣接ブロックNがインタービューブロックであれば、以下の式により、隣接ブロックの変位ベクトルMvLXN[ xN ][ yN ]を変位ベクトルmvDispとして導出し、隣接ブロックのビューインデックスViewIdx( RefPicListX[ RefIdxLX[ xN ][ yN ] ] )を参照ビューインデックスrefViewIdxとして導出し、変位ベクトル利用フラグdvAvailFlagに１を設定する。
【０１９８】
mvDisp = MvLXN[ xN ][ yN ] 
refViewIdx = ViewIdx( RefPicListX[ RefIdxLX[ xN ][ yN ] ] )
dvAvailFlag = 1
ここで、ViewIdx(X)は、参照ピクチャXのビューインデックスを導出する関数。RefPicListX[ RefIdxLX[ xN ][ yN ] ]は、隣接ブロックxN、yNの参照ピクチャインデックスRefIdxLX[ xN ][ yN ]の指す参照ピクチャリストRefPicListX[]上の参照ピクチャである。
【０１９９】
（Ｓ１０１５）隣接変位ベクトル導出部３５２１は、隣接ブロックNがマージモードによる予測が行われたブロックであれば、Ｓ１０１６に遷移し、導出変位ベクトルを導出する。それ以外は、Ｓ１０１７に遷移し、次の隣接ブロックの処理を継続する。なお、隣接変位ベクトル導出部３５２１は、隣接ブロックNがマージモードによる予測が行われたブロックであるかは以下の何れかの条件が真であるかによって判別する。 
【０２００】
CuPredMode[ xN ][ xN ] == MODE_SKIP
CuPredMode[ xN ][ xN ] == MODE_INTER && merge_flag[ xN ][ xN ] == 1
すなわち、隣接変位ベクトル導出部３５２１は、隣接ブロックNの予測モードCuPredMode[ xN ][ xN ]が、スキップモードを示すMODE_SKIPであるか、隣接ブロックNの予測モードCuPredMode[ xN ][ xN ]がインターモードMODE_INTERかつマージフラグmerge_flag[ xN ][ xN ]が１であれば、マージ予測が行われたと判別し、隣接ブロックNから導出変位ベクトルを導出する。
【０２０１】
ivpMvDispN = MvRefinedDisp[ xN ][ yN ]
refViewIdxN = RefViewIdx[ xN ][ yN ]
availableFlagIvpMvN = 1
すなわち、隣接変位ベクトル導出部３５２１は、導出変位ベクトルivpMvDispNに、隣接ブロックNの変位ベクトルMvRefinedDisp[ xN ][ yN ]を設定し、導出参照ビューインデックスrefViewIdxNに隣接ブロックNの参照ビューインデックスRefViewIdx[ xN ][ yN ]を設定し、導出ベクトル利用可能フラグavailableFlagIvpMvNに１を設定する。
【０２０２】
（Ｓ１０１７）隣接変位ベクトル導出部３５２１は、隣接ブロックNに関するループ処理を行う。具体的には、N=A1であればN=B1と設定して、次の隣接ブロックB1の処理を継続し、N=B1であれば全ての隣接ブロックを処理したため処理を終了する。
【０２０３】
以上の構成の隣接ブロック変位ベクトル導出部３５２１（変位ベクトル導出部３５２）は空間的に隣接するブロックを順に探索して、前記隣接ブロックがインタービューブロックである場合には、その変位ベクトルを対象ブロックの変位ベクトルとして出力し、それ以外の場合には、導出ベクトルを導出する変位ベクトル導出装置である。
【０２０４】
また、隣接ブロック変位ベクトル導出部３５２１は、隣接ブロックのモードがスキップモードであるか、隣接のモードがインターモードかつマージフラグが１の場合に、隣接ブロックの変位ベクトルを導出ベクトルに設定する。
【０２０５】
上記構成の隣接ブロック変位ベクトル導出部３５２１は、マージ候補リストのうちの１つを選択して予測パラメータとして用いるモードが、スキップモードの場合と、インターモードとマージフラグが１である場合である場合において、先の２つの場合を区別する必要がないため、実装が容易にあるという効果を奏する。
【０２０６】
（デフォルト参照ビューインデックス導出部３５２２）
以下、時間隣接ブロックの変位ベクトルも、空間隣接ブロックの変位ベクトルおよび導出変位ベクトルが利用可能でない場合に変位ベクトル導出部３５２で用いられるデフォルト参照ビューインデックスDefaultRefViewIdxの導出方法を説明する。
【０２０７】
図２４は、デフォルト参照ビューインデックス導出部３５２２の動作を示すフローチャートである。
（Ｓ２００１）デフォルト参照ビューインデックス導出部３５２２は、参照リストX=0、1に対して、Ｓ２００２からＳ２００６の処理を行う。デフォルト参照ビューインデックス利用フラグDefaultRefViewIdxAvailableFlagに０を設定する。
（Ｓ２００２）デフォルト参照ビューインデックス導出部３５２２は、Xで示される参照ピクチャリストRefPicListXに対して、０から参照ピクチャ数NumRefPicsLX-1のインデックスiに対して、Ｓ２００３からＳ２００５の処理を行う。
（Ｓ２００３）デフォルト参照ビューインデックス導出部３５２２は、DefaultRefViewIdxAvailableFlag==0かつ参照ピクチャのビューＩＤ!=対象ピクチャのビューＩＤかつ参照ピクチャのＰＯＣ==対象ピクチャのＰＯＣの場合に、Ｓ２００４に遷移し、参照ピクチャRefPicListX[i]のビューインデックスをデフォルトビューインデックスに設定する。それ以外の場合には、Ｓ２００５に遷移し、処理を継続する。
（Ｓ２００４）デフォルト参照ビューインデックス導出部３５２２は、DefaultRefViewIdxに参照ピクチャRefPicListX[i]のビューインデックスを設定し、DefaultRefViewIdxAvailableFlagに１を設定する。
（Ｓ２００５）デフォルト参照ビューインデックス導出部３５２２は、iを１だけインクリメントし、参照ピクチャRefPicListX[i]に関する処理を継続する。なお、DefaultRefViewIdxAvailableFlag＝１となった時点で処理を終了しても良い。
（Ｓ２００６）デフォルト参照ビューインデックス導出部３５２２は、スライスがＰスライスの場合には処理を終了する。スライスがＢスライスの場合には、X=1にインクリメントして処理を継続する。X=2となった場合には処理を終了する。
X=0、1で指定される参照ピクチャリストLXの０から参照ピクチャ数NumRefPicsLX-1までの参照ピクチャを順に探索し、前記参照ピクチャのビューインデックスが対象ピクチャのビューインデックスと異なり、前記参照ピクチャのＰＯＣが対象ピクチャのＰＯＣと等しい場合に、デフォルト参照ビューインデックスを、前記参照ピクチャのビューインデックスをデフォルト参照ビューインデックスに設定する。
【０２０８】
デフォルト参照ビューインデックス導出部３５２２の上記処理は、以下のようにも表現できる。
【０２０９】
X=0、1に対して以下を実行する。
【０２１０】
Xが０である場合、もしくは、対象スライスがＢスライスである場合には、０からNumRefPicsLX-1までのiに対して以下を実行する。
【０２１１】
次の全ての条件が真の場合に、DefaultRefViewIdxにRefPicListX[ i ]のビューインデックス、DefaultRefViewIdxAvailableFlagに１を設定する
DefaultRefViewIdxAvailableFlagが１に等しい
ViewIdx( RefPicListX[ i ] )が対象ピクチャのビューインデックスに等しくない
RefPicListX[ i ]のＰＯＣであるPicOrderCnt( RefPicListX[ i ] )が対象ピクチャのＰＯＣであるPicOrderCntValと等しい。
【０２１２】
以上の構成のデフォルト参照ビューインデックス導出部３５２２によれば、参照ピクチャリストを一度探索することで、デフォルト参照ビューインデックスを導出することができるため、複数回探索が必要になる従来方式に比べ、デフォルト参照ビューインデックスの導出が容易になるという効果を奏する。
【０２１３】
また、以上の構成のデフォルト参照ビューインデックス導出部３５２２によれば、対象ピクチャと異なるビューＩＤを有し、かつ、対象ピクチャと等しいＰＯＣを有する、参照ピクチャを、参照ピクチャリストの先頭から順に探索し、最初に見つけた参照ピクチャのビューインデックスを用いる。この構成によれば、より符号化効率上好適となる参照ピクチャのビューインデックスをデフォルトビューインデックスとして用いることができる効果を奏する。通常、参照ピクチャの先頭近くに格納される参照ピクチャほど、対象ピクチャの予測に有効なことが多いため、先頭近くに格納される参照ピクチャを優先して選択する本構成のデフォルト参照ビューインデックス導出部３５２２は、デフォルトビューインデックスとして、最も符号化効率上有効な対象ピクチャと異なる視点のビューインデックスを導出可能である。
【０２１４】
（デフォルト参照ビューインデックス導出部３５２２´）
なお、デフォルト参照ビューインデックス導出部３５２２の変形例として、デフォルト参照ビューインデックス導出部３５２２は、Ｓ２００３の代わりに、次のＳ２００３´の処理を行っても良い（デフォルト参照ビューインデックス導出部３５２２´と呼ぶ）。
（Ｓ２００３´）デフォルト参照ビューインデックス導出部３５２２は、DefaultRefViewIdxAvailableFlag==0かつ参照ピクチャのビューＩＤ!=対象ピクチャのビューＩＤの場合に、ＳＳ２００４に遷移し、参照ピクチャRefPicListX[i]のビューインデックスをデフォルトビューインデックスに設定する。それ以外の場合には、Ｓ２００５に遷移し、処理を継続する。
【０２１５】
つまり、デフォルト参照ビューインデックス導出部３５２２´はデフォルト参照ビューインデックス導出部３５２２と比べると、参照ピクチャのＰＯＣに関する判定を省略可能している。参照ピクチャのビューＩＤ!=対象ピクチャのビューＩＤを満たす参照ピクチャは、対象ピクチャと同じＰＯＣを有する場合しかないため、参照ピクチャのビューＩＤ!=対象ピクチャのビューＩＤの判定のみで良いと考えられるためである。
【０２１６】
上記構成のデフォルト参照ビューインデックス導出部３５２２´は、対象ピクチャと異なるビューＩＤを有する、参照ピクチャを、参照ピクチャリストの先頭から順に探索し、最初に見つけた参照ピクチャのビューインデックスを用いる。この構成によれば、より符号化効率上好適となる参照ピクチャのビューインデックスをデフォルトビューインデックスとして用いることができる効果を奏する。
【０２１７】
（デフォルト参照ビューインデックス導出部３５２２´´）
まお、デフォルト参照ビューインデックス導出部３５２２は、Ｓ２００３の代わりに、次のＳ２００３´´の処理を行っても良い（デフォルト参照ビューインデックス導出部３５２２´と呼ぶ）。
（Ｓ２００３´´）デフォルト参照ビューインデックス導出部３５２２は、DefaultRefViewIdxAvailableFlag==0かつ参照ピクチャのＰＯＣ==対象ピクチャのＰＯＣの場合に、Ｓ２００４に遷移し、参照ピクチャRefPicListX[i]のビューインデックスをデフォルトビューインデックスに設定する。それ以外の場合には、Ｓ２００５に遷移し、処理を継続する。
【０２１８】
つまり、デフォルト参照ビューインデックス導出部３５２２´´はデフォルト参照ビューインデックス導出部３５２２と比べると、参照ピクチャのビューＩＤに関する判定を省略可能している。参照ピクチャのＰＯＣ==対象ピクチャのＰＯＣを満たす参照ピクチャは、対象ピクチャと異なるビューＩＤを有する場合しかないため、参照ピクチャのＰＯＣ==対象ピクチャのＰＯの判定のみで良いと考えられるためである。
【０２１９】
上記構成のデフォルト参照ビューインデックス導出部３５２２´´によれば、対象ピクチャと等しいＰＯＣを有する、参照ピクチャを、参照ピクチャリストの先頭から順に探索し、最初に見つけた参照ピクチャのビューインデックスを用いる。この構成によれば、より符号化効率上好適となる参照ピクチャのビューインデックスをデフォルトビューインデックスとして用いることができる効果を奏する。
【０２２０】
（比較例のデフォルト参照ビューインデックス導出装置）
比較例のデフォルト参照ビューインデックス導出部では、デフォルト参照ビューインデックスの導出処理は、以下となる。
【０２２１】
０から対象ビューＩＤ−１までのcurViewIdxに対して、以下を実行する。
【０２２２】
X=0、1に対して以下を実行する。
【０２２３】
Xが０である場合、もしくは、対象スライスがＢスライスである場合には、０からNumRefPicsLX-1までのiに対して以下を実行する。
【０２２４】
次の全ての条件が真の場合に、DefaultRefViewIdxにRefPicListX[ i ]のビューインデックス、DefaultRefViewIdxAvailableFlagに１を設定する
DefaultRefViewIdxAvailableFlagが１に等しい
ViewIdx( RefPicListX[ i ] )がcurViewIdxに等しい
RefPicListX[ i ]のＰＯＣであるPicOrderCnt( RefPicListX[ i ] )が対象ピクチャのＰＯＣであるPicOrderCntValと等しい。
【０２２５】
比較例のデフォルト参照ビューインデックス導出部は、本実施形態のデフォルト参照ビューインデックス導出部３５２２と異なり、curViewIdxに関するループがあるために処理が重くなる。また、本実施形態のように参照ピクチャリストの先頭に近いビューＩＤを優先して選択するのではなく、比較例では０に近いビューＩＤを優先して選択するため、符号化効率が高くならない課題がある。
【０２２６】
（分割フラグ導出部３５３）
分割フラグ導出部３５３は、対象ブロックに対応するデプス画像を参照し、分割フラグhorSplitFlagを導出する。分割フラグ導出部３５３の入力として設定される対象ブロックの座標を(xP, yP)、幅と高さをnPSW、nPSH、変位ベクトルをmvDispであるとして以下、説明する。分割フラグ導出部３５３は、対象ブロックの幅と高さが等しい場合にはデプス画像を参照するが、対象ブロックの幅と高さが等しくない場合には、デプス画像を参照せずに、分割フラグhorSplitFlagを導出するを導出しても良い。以下、分割フラグ導出部３５３の詳細を説明する。
【０２２７】
分割フラグ導出部３５３は、参照ピクチャメモリ３０６から、復号対象ピクチャと同一ＰＯＣを持ち、なお且つ、変位ベクトルmvDispが示す参照ピクチャのビューＩＤ（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が８の倍数以外の場合に、以下の式によりフラグ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 )
【０２３６】
分割フラグ導出部３５３は、horSplitFlagを、VSP予測部３０３７４に出力する。
【０２３７】
なお、分割フラグ導出部３５３は、以下のように導出しても良い。対象ブロックの幅nPSWと高さnPSHが異なる場合には、対象ブロックの幅と高さに応じて以下の式により導出する。
【０２３８】
nPSW > nPSHであれば、horSplitFlag＝１
それ以外でnPSH > nPSWであれば、horSplitFlag＝０
それ以外、対象ブロックの幅と高さが等しい場合にはデプスを参照して以下の式に応じて導出する。
【０２３９】
horSplitFlag＝( refDepPelsP0 > refDepPelsP3 ) == ( refDepPelsP1 > refDepPelsP2 )
なお、分割フラグ導出部３５３の対象ブロックは、視点合成予測の場合には予測ユニットである。
【０２４０】
（デプスＤＶ導出部３５１）
デプスＤＶ導出部３５１は、指定されたブロック単位（サブブロック）で、デプス由来の変位ベクトルの水平成分である変位配列disparitySamples（水平ベクトル）を導出する。デプスＤＶ導出部３５１の入力は、デプスＤＶ変換テーブルDepthToDisparityB、ブロックの幅nBlkWと高さnBlkHと、分割フラグsplitFlagと、デプス画像refDepPelsと、デプス画像refDepPels上の対応ブロックの座標(xTL, yTL)と、ビューＩＤrefViewIdx、出力は変位配列disparitySamples（水平ベクトル）である。
【０２４１】
デプスＤＶ導出部３５１の変位配列導出処理は、視差合成予測であるか否かにより切り替える。ここでは、パラメータpartIdxにより動作を切り替え、partIdx==2を視差合成予測とする。
【０２４２】
デプスＤＶ導出部３５１は、対象ブロックごとにデプス代表値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を導出する。図１８は、本実施形態に係る視差合成予測の場合のデプスＤＶ導出部３５１の動作を示す図である。デプスＤＶ導出部３５１は、視差合成予測（ＶＳＰマージ候補）の場合（例えばpartIdx==2の場合）、図１８に示す水平方向の２点のデプス値を利用して、代表デプス値を導出する。すなわち、デプスＤＶ導出部３５１は、対象予測ユニットの左上座標が(xTL、yTL)、サブブロック左上座標が（xSubB、ySubB）、サブブロックの幅、高さがnSubBlkW、nSubBlkHの場合に、Ｙ座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、Ｘ座標がサブブロックの左端xTL+xSubBである第１の点、および、Ｙ座標がサブブロックの中心であるyTL+ySubB+ nSubBlkH/2-1、Ｘ座標がサブブロックの右端xTL+xSubB+ nSubBlkB-1である第２の点の座標を導出する。
【０２４５】
まず、デプスＤＶ導出部３５１は、以下の式により２点の座標を導出する。
【０２４６】
xP0 = Clip3( 0, pic_width_in_luma_samples - 1, xTL + xSubB )
xP1 = Clip3( 0, pic_width_in_luma_samples - 1, xTL + xSubB + nSubBlkW - 1 )
yP0 = Clip3( 0, pic_height_in_luma_samples - 1, yTL  + ySubB + nSubBlkH/2 - 1 ) 
【０２４７】
続いて、デプスＤＶ導出部３５１は、サブブロックの以下の２点のデプス画像の画素値refDepPels[ xP0 ][ yP0 ]、refDepPels[ xP1 ][ yP1 ]の最大値から代表デプス値maxDepを、以下の式より導出する。
maxDep = Max(refDepPels[ xP0 ][ yP0 ], refDepPels[ xP1 ][ yP0 ] )
デプスＤＶ導出部３５１は、視差合成予測以外の場合（例えばpartIdx!=2の場合）には、サブブロックのコーナー４点のデプス画像の画素値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からnBlkW-1、ｙは0からnBlkH-1の値を取る）ごとに、以下の式により導出する。
【０２５０】
disparitySamples[x][y] = DepthToDisparityB[refViewIdx][maxDep]・・（式Ａ）
デプスＤＶ導出部３５１は、導出した変位配列disparitySamples[]を変位ベクトルDoNBDV（の水平成分）として、変位ベクトル導出部３５２に出力する。デプスＤＶ導出部３５１は、また、VSP予測部３０３７４に変位ベクトル（の水平成分）として出力する。
【０２５１】
以上の構成のデプスＤＶ導出部３５１によれば、視点合成予測モードの場合に、水平に位置する２つの点のみを用いるため、デプス画素のアクセス数と代表デプス値の演算量が小さいという効果を奏する。
【０２５２】
また、以下のロジックにより、以上の構成のデプスＤＶ導出部３５１によれば、視差合成予測（ＶＳＰマージモード）の場合に、水平に位置する２つの点のみを用いるため、符号化効率が向上するという効果を奏する。通常、あるブロック（サブブロック）において、１つのデプス値ではなく複数のデプス値を参照することにより、よりロバストな代表デプス値が導出可能である。そのため従来技術では、ロバスト性を重視して、サブブロック単位で４点のデプス値を参照し代表デプス値を導出していた。しかしながら、サブブロックのコーナーに位置する４つのデプス値は、隣接するサブブロックのデプス値と近いという傾向を有することから多くの点を参照する方法は、サブブロック単位で異なるデプス代表値からサブブロック単位で異なる視差ベクトルを導出して利用しうるという視点合成予測の効果を減じている。視点合成予測では水平方向のみに変位ベクトルが発生し、垂直方向では変位ベクトルが０である場合に最大の効果を発揮する。視差合成予測で代表デプス値の導出に用いるサブブロック（デプスブロック）は、対象ブロックに対して変位ベクトル分だけずれた位置にあり、変位ベクトルの誤差も、代表デプス値を導出する際のデプス参照のロバスト性に関連する。視差合成予測では、基本的に変位ベクトルの垂直成分が０であることから、デプスブロックの垂直位置に真の変位からのずれが生じることはない。逆に水平成分については真の変位からのずれが発生する可能性がある。以上の構成のデプスＤＶ導出部３５１によれば、すれが発生する可能性がある水平成分については複数の位置（xP0、xP1）を用い、ずれが発生する可能性がほぼ無い垂直成分については一つの位置（yP0）を用いることにより、導出される代表デプス値のロバスト性を保ちながら、参照するデプス値の数を４個から２個に減らすことで、よりサブブロックの特徴を活かした代表デプス値が導出される。
【０２５３】
図２７は、比較例の視差合成予測の場合のデプスＤＶ導出部（変位配列導出装置）の動作を示す図である。比較例の変位配列導出装置は視差合成予測の場合も、サブブロックのコーナー４点のデプス画像の画素値refDepPels[ xP0 ][ yP0 ]、refDepPels[ xP0 ][ yP1 ]、refDepPels[ xP1 ][ yP0 ]、refDepPels[ xP1 ][ yP1 ]の最大値である代表デプス値maxDepを、以下の式より導出する。
【０２５４】
maxDep = Max( maxDep, refDepPels[ xP0 ][ yP0 ] )
maxDep = Max( maxDep, refDepPels[ xP0 ][ yP1 ] )
maxDep = Max( maxDep, refDepPels[ xP1 ][ yP0 ] )
maxDep = Max( maxDep, refDepPels[ xP1 ][ yP1 ] )
【０２５５】
比較例のデプスＤＶ導出部（変位配列導出装置）は、本実施形態に係るデプスＤＶ導出部３５１よりも処理量が大きいという課題がある。
【０２５６】
（インター予測画像生成部３０９）
図１７は、本実施形態に係るインター予測画像生成部３０９の構成を示す概略図である。インター予測画像生成部３０９は、動き変位補償部３０９１、残差予測部３０９２、照度補償部３０９３、重み付け予測部３０９６を含んで構成される。
【０２５７】
インター予測画像生成部３０９は、インター予測パラメータ復号部３０３から入力されるサブブロック動き補償フラグsubPbMotionFlagが１の場合にはサブブロック単位で処理し、サブブロック動き補償フラグsubPbMotionFlagが０の場合には予測ユニット単位で以下の処理を行う。なお、サブブロック動き補償フラグsubPbMotionFlagはマージモードとして、インタービューマージ候補が選択された場合、もしくは、ＶＳＰマージ候補が選択された場合に１となる。インター予測画像生成部３０９は、予測パラメータを動き変位補償部３０９１により、予測画像predSamplesを導出する。また、インター予測画像生成部３０９は、残差予測インデックスiv_res_pred_weight_idxが０ではない場合に、残差予測実施フラグresPredFlagに残差予測を実行することを示す１を設定し、動き変位補償部３０９１と残差予測部３０９２に出力する。一方、残差予測インデックスiv_res_pred_weight_idxが０である場合に、残差予測実施フラグresPredFlagに０を設定し、動き変位補償部３０９１と残差予測部３０９２に出力する。
【０２５８】
動き変位補償部３０９１、残差予測部３０９２、照度予測部３０９３、単予測（predFlagL0=1もしくはpredFlagL1=1）の場合にはL0の動き補償画像predSamplesL0もしくはL1の動き補償画像predSamplesL1を導出し、双予測（predFlagL0=1かつpredFlagL1=1）の場合には、L0の動き補償画像predSamplesL0とL1の動き補償画像predSamplesL1を導出し、重み付け予測部３０９６に出力する。重み付け予測部３０９６は単予測の場合には、１つの動き補償画像predSamplesL0もしくはpredSamplesL1から予測画像predSamplesを導出し、双予測の場合には、２つの２つの動き補償画像predSamplesL0とpredSamplesL1から予測画像predSamplesを導出する。
【０２５９】
（動き変位補償）
動き変位補償部３０９１は、予測利用フラグpredFlagLX、参照ピクチャインデックスrefIdxLX、ベクトルmvLX（動きベクトル、又は変位ベクトル）に基づいて、動き予測画像predSampleLXを生成する。動き変位補償部３０９１は、参照ピクチャメモリ３０６から、参照ピクチャインデックスrefIdxLXで指定された参照ピクチャの予測ユニットの位置を起点として、ベクトルmvLXだけずれた位置にあるブロックを読み出し補間することによって予測画像を生成する。ここで、ベクトルmvLXが整数ベクトルでない場合には、動き補償フィルタ（もしくは変位補償フィルタ）と呼ばれる小数位置の画素を生成するためのフィルタを施して、予測画像を生成する。一般に、ベクトルmvLXが動きベクトルの場合、上記処理を動き補償と呼び、変位ベクトルの場合は変位補償と呼ぶ。ここでは総称して動き変位補償と表現する。以下、Ｌ０予測の予測画像をpredSamplesL0、Ｌ１予測の予測画像をpredSamplesL1と呼ぶ。両者を区別しない場合predSamplesLXと呼ぶ。以下、動き変位補償部３０９１で得られた予測画像predSamplesLXに、さらに残差予測および照度補償が行われる例を説明するが、これらの出力画像もまた、予測画像predSamplesLXと呼ぶ。なお、以下の残差予測および照度補償において、入力画像と出力画像を区別する場合には、入力画像をpredSamplesLX、出力画像をpredSamplesLX´と表現する。
【０２６０】
動き変位補償部３０９１は、残差予測実施フラグresPredFlagが０の場合には、輝度成分は８タップ、色差成分は４タップの動き補償フィルタにより、動き補償画像predSamplesLXを生成する。残差予測実施フラグresPredFlagが１の場合には、輝度成分、色差成分ともに２タップの動き補償フィルタにより、動き補償画像predSamplesLXを生成する。
【０２６１】
（残差予測）
残差予測部３０９２は、残差予測実施フラグresPredFlagが１の場合に、残差予測を行う。残差予測部３０９２は、残差予測実施フラグresPredFlagが０の場合には、入力された予測画像predSamplesLXをそのまま出力する。refResSamples残差予測は、動き予測もしくは変位予測により生成される動き補償画像predSamplesLXの残差を推定し、対象レイヤの予測画像predSamplesLXに加えることにより行われる。具体的には、予測ユニットが動き予測の場合には、参照レイヤと同様の残差が対象レイヤにも生じると仮定して、既に導出された参照レイヤの残差を対象レイヤの残差の推定値として用いる。予測ユニットが変位予測の場合には、対象ピクチャとは異なる時刻（ＰＯＣ）の参照レイヤのピクチャと対象レイヤのピクチャの残差を、残差の推定値として用いる。
【０２６２】
残差予測部３０９２も、動き変位補償部３０９１と同様、サブブロック動き補償フラグsubPbMotionFlagが１の場合に、サブブロック単位で残差予測を行う。  残差予測部３０９２は、残差予測実施フラグresPredFlagが１の場合には、２つの残差予測動き補償画像（rpSamplesLX、rpRefSamplesLX）の差分から残差を導出し、動き補償画像にこの残差を加算することにより予測画像を導出する。具体的には、残差合成部３０９２３は、予測画像predSamplesLX、対応ブロックrpSamplesLX、参照ブロックrpRefSamplesLX及び残差予測インデックスiv_res_pred_weight_idxから、補正予測画像predSamplesLX´を導出する。補正予測画像predSamplesLX´は、
predSamplesLX´[x][y] = predSamplesLX[x][y] + 
((rpSamplesLX[x][y] - rpRefSamplesLX[x][y]) >> (iv_res_pred_weight_idx - 1))
の式を用いて求める。xは０から予測ブロックの幅-1、yは0から予測ブロックの高さ-1である。残差合成部３０９２３は、残差予測実施フラグresPredFlagが０の場合には、以下の式のように予測画像predSamplesLXをそのまま出力する。
【０２６３】
predSamplesLX´[x][y] = predSamplesLX[x][y]
【０２６４】
（照度補償）
照度補償部３０９３は、照度補償フラグic_flagが１の場合に、入力された予測画像predSamplesLXに対して、照度補償を行う。照度補償フラグic_flagが０の場合には、入力された予測画像predSamplesLXをそのまま出力する。
【０２６５】
（重み付け予測）
重み付け予測部３０９６は、単予測の場合(predFlagL0=1/ predFlagL1=0もしくはpredFlagL0=0/ predFlagL1=1)には、L0の動き補償画像predSampleL0もしくはL1の動き補償画像predSampleL1から予測画像predSamplesを導出する。具体的には、L0からの予測、L1からの予測に対して各々、下記式を用いて導出する。
predSamples[ x ][ y ] = Clip3( 0, ( 1  <<  bitDepth ) - 1, predSamplesL0[ x ][ y ] * w0 + o0 )
predSamples[ x ][ y ] = Clip3( 0, ( 1  <<  bitDepth ) - 1, predSamplesL1[ x ][ y ] * w1 + o1 )
)
ここで、w0, w1, o0, o1は、各々、パラメータセットで符号化されるウェイトおよびオフセットである。bitDepthはビットデプスを示す値である。
【０２６６】
重み付け予測部３０９６は、双予測の場合(predFlagL0=1/ predFlagL1=1)には、L0の動き補償画像predSampleL0とL1の動き補償画像predSampleL1の重み付き予測から予測画像を生成する。
【０２６７】
( predSamplesL0 [ x ][ y ] * w0 + predSamplesL1[ x ][ y ] * w1 +
( ( o0 + o1 + 1 )  <<  log2Wd ) )  >>  ( log2Wd + 1 ) )
ここで、w0, w1, o0, o1、log2Wdは、各々、パラメータセットで符号化されるウェイトおよびオフセットおよびシフト値。bitDepthはビットデプスを示す値である。
【０２６８】
（画像符号化装置の構成）
次に、本実施形態に係る画像符号化装置１１の構成について説明する。図２９は、本実施形態に係る画像符号化装置１１の構成を示すブロック図である。画像符号化装置１１は、予測画像生成部１０１、減算部１０２、ＤＣＴ・量子化部１０３、エントロピー符号化部１０４、逆量子化・逆ＤＣＴ部１０５、加算部１０６、予測パラメータメモリ（予測パラメータ記憶部、フレームメモリ）１０８、参照ピクチャメモリ（参照画像記憶部、フレームメモリ）１０９、符号化パラメータ決定部１１０、予測パラメータ符号化部１１１、を含んで構成される。予測パラメータ符号化部１１１は、インター予測パラメータ符号化部１１２及びイントラ予測パラメータ符号化部１１３を含んで構成される。
【０２６９】
予測画像生成部１０１は、外部から入力されたレイヤ画像Ｔの視点毎の各ピクチャについて、そのピクチャを分割した領域であるブロック毎に予測ピクチャブロックpredSamplesを生成する。ここで、予測画像生成部１０１は、予測パラメータ符号化部１１１から入力された予測パラメータに基づいて参照ピクチャメモリ１０９から参照ピクチャブロックを読み出す。予測パラメータ符号化部１１１から入力された予測パラメータとは、例えば、動きベクトル又は変位ベクトルである。予測画像生成部１０１は、符号化予測ユニットを起点として予測された動きベクトル又は変位ベクトルが示す位置にあるブロックの参照ピクチャブロックを読み出す。予測画像生成部１０１は、読み出した参照ピクチャブロックについて複数の予測方式のうちの１つの予測方式を用いて予測ピクチャブロックpredSamplesを生成する。予測画像生成部１０１は、生成した予測ピクチャブロックpredSamplesを減算部１０２と加算部１０６に出力する。なお、予測画像生成部１０１は、既に説明した予測画像生成部３０８と同じ動作であるため予測ピクチャブロックpredSamplesの生成の詳細は省略する。
【０２７０】
予測画像生成部１０１は、予測方式を選択するために、例えば、レイヤ画像に含まれるブロックの画素毎の信号値と予測ピクチャブロックpredSamplesの対応する画素毎の信号値との差分に基づく誤差値を最小にする予測方式を選択する。なお、予測方式を選択する方法は、これには限られない。
【０２７１】
予測画像生成部１０１は、イントラ予測を選択した場合、予測ピクチャブロックpredSamplesを生成する際に用いたイントラ予測モードを示す予測モードPredModeを予測パラメータ符号化部１１１に出力する。
【０２７２】
予測画像生成部１０１は、マージモードを選択した場合、選択した参照ピクチャブロックを示すマージインデックスmerge_idxをインター予測パラメータ符号化部１１２に出力する。また、予測画像生成部１０１は、マージモードを示す予測モードPredModeを予測パラメータ符号化部１１１に出力する。
【０２７３】
上記の、マージモードにおいて、予測画像生成部１０１は、VSP予測部３０３７４において視点合成予測を行う。また、動き予測、変位予測、マージモードにおいて、予測画像生成部１０１は、残差予測実施フラグ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を符号化する。
【０２９３】
残差予測インデックス符号化部１０３１１は、残差予測が行われるか否かを示すために、残差予測インデックスiv_res_pred_weight_idxを符号化する。
【０２９４】
照度補償フラグ符号化部１０３１２は、照度補償が行われるか否かを示すために、照度補償フラグic_flagを符号化する。
【０２９５】
インター予測パラメータ符号化制御部１１２６は、予測画像生成部１０１から入力された予測モードPredModeがマージモードを示す場合には、符号化パラメータ決定部１１０から入力されたマージインデックスmerge_idxをエントロピー符号化部１０４に出力し、符号化させる。
【０２９６】
また、インター予測パラメータ符号化制御部１１２６は、予測画像生成部１０１から入力された予測モードPredModeがインター予測モードを示す場合には、次の処理を行う。
【０２９７】
インター予測パラメータ符号化制御部１１２６は、符号化パラメータ決定部１１０から入力された参照ピクチャインデックスrefIdxLX及び予測ベクトルフラグmvp_LX_flag、減算部１１２３から入力された差分ベクトルmvdLXを統合する。インター予測パラメータ符号化制御部１１２６は、統合した符号をエントロピー符号化部１０４に出力し、符号化させる。
【０２９８】
予測画像生成部１０１は、上述の予測画像生成部３０８に対応する手段であり、予測パラメータから、予測画像を生成する処理は同一である。
【０２９９】
（デプスルックアップテーブル導出部１４６）
本実施形態の画像符号化装置１１の予測画像生成部１０１は、既に説明したイントラ予測画像生成部３１０（DMM予測部１４５Ｔ）を含み。MM予測部１４５Ｔは、既に説明したデプスルックアップテーブル導出部１４６を含む。これにより、デプスインデックス変換テーブルDepthValue2Idxを容易に導出する効果を奏する。
【０３００】
（隣接ブロック変位ベクトル導出部３５２１）
本実施形態の画像符号化装置１１のインター予測パラメータ符号化制御部１１２６は、変位ベクトル導出部３５２（隣接ブロック変位ベクトル導出部３５２１）を含む。本実施形態の隣接ブロック変位ベクトル導出部３５２１は、マージ候補リストのうちの１つを選択して予測パラメータとして用いるモードが、スキップモードの場合と、インターモードとマージフラグが１である場合である場合において、先の２つの場合を区別する必要がないため、実装が容易にあるという効果を奏する。
【０３０１】
（デフォルト参照ビューインデックス導出部３５２２）
本実施形態の画像符号化装置１１のインター予測パラメータ符号化制御部１１２６は、変位ベクトル導出部３５２（デフォルト参照ビューインデックス導出部３５２２）を含む。本実施形態のデフォルト参照ビューインデックス導出部３５２２によれば、参照ピクチャリストを一度探索することで、デフォルト参照ビューインデックスを導出することができるため、デフォルト参照ビューインデックスの導出が容易になるという効果を奏する。
【０３０２】
なお、上述した実施形態における画像符号化装置１１、画像復号装置３１をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、画像符号化装置１１、画像復号装置３１のいずれかに内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０３０３】
また、上述した実施形態における画像符号化装置１１、画像復号装置３１の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現しても良い。画像符号化装置１１、画像復号装置３１の各機能ブロックは個別にプロセッサ化しても良いし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
【０３０４】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【産業上の利用可能性】
【０３０５】
本発明は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
【符号の説明】
【０３０６】
１…画像伝送システム
１１…画像符号化装置
１０１…予測画像生成部
１０２…減算部
１０３…ＤＣＴ・量子化部
１０３１１…残差予測インデックス符号化部
１０３１２…照度補償フラグ符号化部
１０４…エントロピー符号化部
１０５…逆量子化・逆ＤＣＴ部
１０６…加算部
１０８…予測パラメータメモリ（フレームメモリ）
１０９…参照ピクチャメモリ（フレームメモリ）
１１０…符号化パラメータ決定部
１１１…予測パラメータ符号化部
１１２…インター予測パラメータ符号化部
１１２１…マージモードパラメータ導出部
１１２２…AMVP予測パラメータ導出部
１１２３…減算部
１１２６…インター予測パラメータ符号化制御部
１１３…イントラ予測パラメータ符号化部
２１…ネットワーク
３１…画像復号装置
３０１…エントロピー復号部
３０２…予測パラメータ復号部
３０３…インター予測パラメータ復号部
３０３１…インター予測パラメータ復号制御部
３０３１１…分割モード復号部
３０３１２…インター予測識別子復号部
３０３２…AMVP予測パラメータ導出部
３０３５…加算部
３０３６…マージモードパラメータ導出部（マージモードパラメータ導出装置）
３０３６１…マージ候補導出部
３０３６１１…マージ候補格納部
３０３６２…マージ候補選択部
３０３７０…拡張マージ候補導出部
３０３７１…レイヤ間マージ候補導出部
３０３７３…変位マージ候補導出部
３０３７４…VSPマージ候補導出部（ＶＳＰ予測部、視点合成予測手段、パーティション分割部）
３０３８０…基本マージ候補導出部
３０３８１…空間マージ候補導出部
３０３８２…時間マージ候補導出部
３０３８３…結合マージ候補導出部
３０３８４…ゼロマージ候補導出部
３０４…イントラ予測パラメータ復号部
３０６…参照ピクチャメモリ（フレームメモリ）
３０７…予測パラメータメモリ（フレームメモリ）
３０８…予測画像生成部
３０９…インター予測画像生成部
３０９１…動き変位補償部
３０９２…残差予測部
３０９２２…参照画像補間部
３０９２３…残差合成部
３０９２４…残差予測用ベクトル導出部
３０９３…照度補償部
３０９６…重み付け予測部
３１０…イントラ予測画像生成部
１４５Ｄ…DC予測部
１４５Ｐ…Planar予測部
１４５Ａ…Angular予測部
１４５Ｔ…DMM予測部
１４５Ｔ２…ウェッジパターン導出部
１４５Ｔ３…デプス予測画素導出部
１４５Ｔ４…ウェッジレットパターン生成部
１４５Ｔ５…ウェッジパターンテーブル
１４６…デプスルックアップテーブル導出部（デプスルックアップテーブル導出装置）
３１１…逆量子化・逆ＤＣＴ部
３１２…加算部
３５１…デプスＤＶ導出部（変位配列導出装置）
３５２…変位ベクトル導出部（変位ベクトル導出装置）
３５２１…隣接変位ベクトル導出部（導出変位ベクトル導出装置）
３５２２…デフォルト参照ビューインデックス導出部（デフォルト参照ビューインデックス導出装置）
３５３…分割フラグ導出部
４１…画像表示装置
【図１】
2017212477.tif 000003
【図２】
2017212477.tif 000004
【図３】
2017212477.tif 000005
【図４】
2017212477.tif 000006
【図５】
2017212477.tif 000007
【図６】
2017212477.tif 000008
【図７】
2017212477.tif 000009
【図８】
2017212477.tif 000010
【図９】
2017212477.tif 000011
【図１０】
2017212477.tif 000012
【図１１】
2017212477.tif 000013
【図１２】
2017212477.tif 000014
【図１３】
2017212477.tif 000015
【図１４】
2017212477.tif 000016
【図１５】
2017212477.tif 000017
【図１６】
2017212477.tif 000018
【図１７】
2017212477.tif 000019
【図１８】
2017212477.tif 000020
【図１９】
2017212477.tif 000021
【図２０】
2017212477.tif 000022
【図２１】
2017212477.tif 000023
【図２２】
2017212477.tif 000024
【図２３】
2017212477.tif 000025
【図２４】
2017212477.tif 000026
【図２５】
2017212477.tif 000027
【図２６】
2017212477.tif 000028
【図２７】
2017212477.tif 000029