(57)【特許請求の範囲】
【請求項１】
ＨＥＶＣビデオデータを符号化または復号する方法であって、
ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較することと、
前記ＩＰＭＶＣおよび前記ＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、
前記従属深度ビュー中の前記ブロックと関連付けられる前記ＭＶＩ候補が、前記従属深度ビュー中のビデオデータの前記ブロックに対応するテクスチャビュー中のビデオデータのすでにコーディングされたブロックの動きベクトルおよび／または参照インデックスが利用可能である場合、前記動きベクトルおよび参照インデックスを再使用し、
前記ＩＰＭＶＣが、前記従属深度ビュー中のビデオデータの前記ブロックに対応する参照深度ビュー中のビデオデータのブロックから生成され、
前記ＩＰＭＶＣが前記ＭＶＩ候補と異なることに基づいて前記ＩＰＭＶＣを統合候補リストに追加すること、または、前記ＩＰＭＶＣが前記ＭＶＩ候補と同一であることに基づいて前記統合候補リストから前記ＩＰＭＶＣを除外することの１つを実行することと、
を備える、方法。
【請求項２】
前記ＩＰＭＶＣを前記統合リストに追加することが、
前記ＭＶＩ候補が前記統合候補リストへの追加に利用可能ではないことに基づいて、前記統合候補リスト内の最初の位置において前記ＩＰＭＶＣを挿入すること、または、前記ＭＶＩ候補が前記統合候補リストへの追加に利用可能であることに基づいて、前記統合候補リスト内の前記ＭＶＩ候補の位置に後続する前記統合候補リスト内の位置において前記ＩＰＭＶＣを挿入することの１つを実行することを備える、請求項１に記載の方法。
【請求項３】
前記ＩＰＭＶＣを前記ＭＶＩ候補と比較することが、
前記ＩＰＭＶＣと関連付けられる動き情報を前記ＭＶＩ候補と関連付けられる対応する動き情報と比較することと、
前記ＩＰＭＶＣと関連付けられる少なくとも１つの参照インデックスを前記ＭＶＩ候補と関連付けられる少なくとも１つの対応する参照インデックスと比較することと、
を備える、請求項１に記載の方法。
【請求項４】
ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を、前記統合候補リストと関連付けられる第１の空間的候補および前記統合候補リストと関連付けられる第２の空間的候補の利用可能な１つまたは複数と比較することと、
前記ＩＤＭＶＣ、前記第１の空間的候補、および前記第２の空間的候補の各々が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記ＩＤＭＶＣが、ビデオデータの前記ブロックと関連付けられる相違ベクトルから生成され、
前記ＩＤＭＶＣが前記第１の空間的候補および前記第２の空間的候補の前記利用可能な１つまたは複数の各々とは異なることに基づいて、前記ＩＤＭＶＣを前記統合候補リストに追加すること、または、前記ＩＤＭＶＣが前記第１の空間的候補または前記第２の空間的候補の少なくとも１つと同一であることに基づいて、前記ＩＤＭＶＣを前記統合候補リストから除外することの１つを実行することと、
をさらに備える、請求項１に記載の方法。
【請求項５】
シフトされたＩＰＭＶＣが利用可能であると決定することと、
前記シフトされたＩＰＭＶＣが、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記シフトされたＩＰＭＶＣが、ベース深度ビュー中のビデオデータの前記対応するブロックから生成され、
前記シフトされたＩＰＭＶＣを前記ＩＰＭＶＣと比較することと、
をさらに備える、請求項１に記載の方法。
【請求項６】
前記シフトされたＩＰＭＶＣが前記ＩＰＭＶＣと異なること、および前記統合候補リストが６個未満の候補を含むことに基づいて、前記シフトされたＩＰＭＶＣを前記統合候補リストに追加すること、または、前記シフトされたＩＰＭＶＣが前記ＩＰＭＶＣと同一であることに基づいて、前記シフトされたＩＰＭＶＣを前記統合候補リストから除外することの１つを実行することをさらに備える、請求項５に記載の方法。
【請求項７】
相違シフトされた動きベクトル（ＤＳＭＶ）候補が利用可能であると決定すること、
前記ＤＳＭＶ候補が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記ＤＳＭＶ候補が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられる１つまたは複数の空間的に隣接するブロックを使用して生成され、
をさらに備える、請求項１に記載の方法。
【請求項８】
前記統合候補リストが６個未満の候補を含むことに基づいて、前記ＤＳＭＶ候補を前記統合候補リストに追加することをさらに備える、請求項７に記載の方法。
【請求項９】
前記ＤＳＭＶ候補を前記統合候補リストに追加することが、１）前記統合候補リストに含まれる空間的候補の位置に後続する、および２）前記統合候補リストに含まれる時間的候補の位置に先行する位置において、前記ＤＳＭＶ候補を挿入することを備える、請求項８に記載の方法。
【請求項１０】
前記ＤＳＭＶ候補が利用可能であると決定することが、シフトされたＩＰＭＶＣが利用可能ではないと決定したことに応答し、
前記シフトされたＩＰＭＶＣが、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記シフトされたＩＰＭＶＣが、ビデオデータの前記ブロックのベースビューから生成される、請求項７に記載の方法。
【請求項１１】
前記ＤＳＭＶ候補が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられる相違ベクトルをシフトすることによって生成され、
前記相違ベクトルが、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられる前記１つまたは複数の空間的に隣接するブロックと関連付けられる１つまたは複数の深度値から生成される、請求項７に記載の方法。
【請求項１２】
ＨＥＶＣビデオデータを符号化または復号するためのデバイスであって、
メモリと、
ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較することと、
前記ＩＰＭＶＣおよび前記ＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、
前記従属深度ビュー中の前記ブロックと関連付けられる前記ＭＶＩ候補が、前記従属深度ビュー中のビデオデータの前記ブロックに対応するテクスチャビュー中のビデオデータのすでにコーディングされたブロックの動きベクトルおよび／または参照インデックスが利用可能である場合、前記動きベクトルおよび参照インデックスを再使用し、
前記ＩＰＭＶＣが、前記従属深度ビュー中のビデオデータの前記ブロックに対応する参照深度ビュー中のビデオデータのブロックから生成され、
前記ＩＰＭＶＣが前記ＭＶＩ候補と異なることに基づいて前記ＩＰＭＶＣを統合候補リストに追加すること、または、前記ＩＰＭＶＣが前記ＭＶＩ候補と同一であることに基づいて前記統合候補リストから前記ＩＰＭＶＣを除外することの１つを実行することと、
を行うように構成される、１つまたは複数のプロセッサと、
を備える、デバイス。
【請求項１３】
前記ＩＰＭＶＣを前記統合リストに追加するために、前記１つまたは複数のプロセッサがさらに、
前記ＭＶＩ候補が前記統合候補リストへの追加に利用可能ではないことに基づいて、前記統合候補リスト内の最初の位置において前記ＩＰＭＶＣを挿入すること、または、前記ＭＶＩ候補が前記統合候補リストへの追加に利用可能であることに基づいて、前記統合候補リスト内の前記ＭＶＩ候補の位置に後続する前記統合候補リスト内の位置において前記ＩＰＭＶＣを挿入することの１つを実行するように構成される、請求項１２に記載のデバイス。
【請求項１４】
前記ＩＰＭＶＣを前記ＭＶＩ候補と比較するために、前記１つまたは複数のプロセッサが、
前記ＩＰＭＶＣと関連付けられる動き情報を前記ＭＶＩ候補と関連付けられる対応する動き情報と比較することと、
前記ＩＰＭＶＣと関連付けられる少なくとも１つの参照インデックスを前記ＭＶＩ候補と関連付けられる少なくとも１つの対応する参照インデックスと比較することと、
を行うように構成される、請求項１２に記載のデバイス。
【請求項１５】
実行されると、ビデオコーディングデバイスの１つまたは複数のプロセッサに、請求項１乃至１１のいずれか１項に記載の方法を行わせる命令によって符号化された、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、
２０１３年６月２７日に出願された米国仮出願第６１／８４０，４００号、
２０１３年７月１８日に出願された米国仮出願第６１／８４７，９４２号、および
２０１３年１０月１１日に出願された米国仮出願第６１／８９０，１０７号
の利益を主張し、それらの内容全体の各々が本明細書に参照によって組み込まれる。
【０００２】
[0002]本開示は、ビデオコーディングに関し、より詳細には、３次元（３Ｄ）ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、現在開発中のＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記載されているもののような、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、および／または記憶することができる。
【０００４】
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的（イントラピクチャ）予測および／または時間的（ピクチャ間）予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）は、ツリーブロック、コーディングユニット（ＣＵ）、および／またはコーディングノードと呼ばれることもある、ビデオブロックに区分され得る。ピクチャのイントラコーディングされた（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接するブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接するブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用することができる。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックに関する予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コーディングされたブロックと予測ブロックとの間の差分を示す。イントラコーディングされたブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初に２次元アレイで構成される量子化された変換係数は、変換係数の１次元ベクトルを生成するために走査されてよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてよい。
【０００６】
[0006]マルチビューコーディングビットストリームは、たとえば、複数の視点（multiple perspectives）からのビューを符号化することによって生成され得る。マルチビューコーディング態様を利用するいくつかの３次元（３Ｄ）ビデオ規格が開発されている。たとえば、３Ｄビデオをサポートするために、異なるビューが左眼のビューと右眼のビューとを伝える（transmit）ことができる。あるいは、いくつかの３Ｄビデオコーディングプロセスは、いわゆるマルチビュープラス深度コーディングを適用することができる。マルチビュープラス深度コーディングでは、３Ｄビデオビットストリームは、テクスチャビュー成分（texture view components）だけではなく深度ビュー成分（depth view components）も含み得る。たとえば、各ビューは、１つのテクスチャビュー成分と１つの深度ビュー成分とを備え得る。
【発明の概要】
【０００７】
[0007]全般に、本開示は、ビデオコーディング技法を説明する。本技法は全般に、テクスチャビューと深度ビューからなる、３次元ビデオ（３ＤＶ）コンテンツのコーディングに関する。本開示の様々な技法は、深度ビューのためのビュー間動きベクトル予測に関する。様々な例によれば、本技法は、深度ベースビューのためのすでにコーディングされている動き情報からより多数の動きベクトル候補を利用する（leveraging）ことによって、従属深度ビューのための動きベクトル予測の精度を改善することを対象とする。たとえば、本技法は、従属深度ビュー中の深度ブロックの隣接する深度ピクセルから相違ベクトル（a disparity vector）が導出されることを可能にし、動きベクトル候補（たとえば、それによって統合リストを埋める（populate））をベース深度ビューから導出するために相違ベクトルを使用することができる。
【０００８】
[0008]一例では、本開示はビデオデータをコーディングする方法を説明し、この方法は、従属深度ビュー中のビデオデータのブロックに隣接して配置される１つまたは複数の隣接するピクセルに基づいて、従属深度ビューに含まれるビデオデータのブロックと関連付けられる深度値を決定することと、ビデオデータのブロックと関連付けられる決定された深度値に少なくとも一部基づいて、ビデオデータのブロックと関連付けられる相違ベクトルを生成することとを含む。方法はさらに、相違ベクトルに基づいて、ビュー間相違動きベクトル候補（ＩＤＭＶＣ：inter-view disparity motion vector candidate）を生成することと、ベースビュー中のビデオデータの対応するブロックに基づいて、ビデオデータのブロックと関連付けられるビュー間予測された動きベクトル候補（ＩＰＭＶＣ：inter-view predicted motion vector candidate）を生成することと、ビデオデータのブロックと関連付けられる統合候補リストにＩＤＭＶＣまたはＩＰＭＶＣのいずれかを追加すべきかどうかを決定することとを含み得る。
【０００９】
[0009]別の例では、本開示は、ビデオデータをコーディングするためのデバイスを説明し、このデバイスはメモリと１つまたは複数のプロセッサとを含む。１つまたは複数のプロセッサは、従属深度ビュー中のビデオデータのブロックに隣接して配置される１つまたは複数の隣接するピクセルに基づいて、従属深度ビューに含まれるビデオデータのブロックと関連付けられる深度値を決定し、ビデオデータのブロックと関連付けられる決定された深度値に少なくとも一部基づいて、ビデオデータのブロックと関連付けられる相違ベクトルを生成するように構成され、またはそうでなければそのように動作可能であり得る。１つまたは複数のプロセッサはさらに、ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を生成するために相違ベクトルを使用し、ベースビュー中のビデオデータの対応するブロックに基づいて、ビデオデータのブロックと関連付けられるビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を生成し、ビデオデータのブロックと関連付けられる統合候補リストにＩＤＭＶＣとＩＰＭＶＣのいずれかを追加すべきかどうかを決定するように構成され、または動作可能であり得る。
【００１０】
[0010]別の例では、本開示は、実行されると、ビデオコーディングデバイスの１つまたは複数のプロセッサに、従属深度ビュー中のビデオデータのブロックに隣接して配置される１つまたは複数の隣接するピクセルに基づいて、従属深度ビューに含まれるビデオデータのブロックと関連付けられる深度値を決定させ、ビデオデータのブロックと関連付けられる決定された深度値に少なくとも一部基づいて、ビデオデータのブロックと関連付けられる相違ベクトルを生成させ、ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を生成するために相違ベクトルを使用させ、ベースビュー中のビデオデータの対応するブロックに基づいて、ビデオデータのブロックと関連付けられるビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を生成させ、ビデオデータのブロックと関連付けられる統合候補リストにＩＤＭＶＣとＩＰＭＶＣのいずれかを追加すべきかどうかを決定させる命令によって符号化された、コンピュータ可読記憶媒体を説明する。
【００１１】
[0011]別の例では、本開示は、ビデオデータをコーディングするための装置を説明し、この装置は、従属深度ビュー中のビデオデータのブロックに隣接して配置される１つまたは複数の隣接するピクセルに基づいて、従属深度ビューに含まれるビデオデータのブロックと関連付けられる深度値を決定するための手段と、ビデオデータのブロックと関連付けられる決定された深度値に少なくとも一部基づいて、ビデオデータのブロックと関連付けられる相違ベクトルを生成するための手段と、ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を生成するために相違ベクトルを使用するための手段と、ベースビュー中のビデオデータの対応するブロックに基づいて、ビデオデータのブロックと関連付けられるビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を生成するための手段と、ビデオデータのブロックと関連付けられる統合候補リストにＩＤＭＶＣとＩＰＭＶＣのいずれかを追加すべきかどうかを決定するための手段とを含む。
【００１２】
[0012]別の例では、本開示は、ビデオデータをコーディングする方法を説明し、この方法は、ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ：motion vector inheritance）候補と比較すること、ＩＰＭＶＣとＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＰＭＶＣがベース深度ビュー中のビデオデータの対応するブロックから生成され、を含む。方法はさらに、ＩＰＭＶＣがＭＶＩ候補と異なることに基づいてＩＰＭＶＣを統合候補リストに追加すること、または、ＩＰＭＶＣがＭＶＩ候補と同一であることに基づいて統合候補リストからＩＰＭＶＣを除外することの１つを実行することを含み得る。
【００１３】
[0013]別の例では、本開示は、ビデオデータをコーディングするためのデバイスを説明し、このデバイスはメモリと１つまたは複数のプロセッサとを含む。１つまたは複数のプロセッサは、ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較すること、ＩＰＭＶＣとＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＰＭＶＣがベース深度ビュー中のビデオデータの対応するブロックから生成され、を行うように構成され、またはそうでなければそのように動作可能であり得る。１つまたは複数のプロセッサはさらに、ＩＰＭＶＣがＭＶＩ候補と異なることに基づいてＩＰＭＶＣを統合候補リストに追加すること、または、ＩＰＭＶＣがＭＶＩ候補と同一であることに基づいて統合候補リストからＩＰＭＶＣを除外することの１つを実行するように構成され、またはそうでなければそのように動作可能であり得る。
【００１４】
[0014]別の例では、本開示は、実行されると、ビデオコーディングデバイスの１つまたは複数のプロセッサに、ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較すること、ＩＰＭＶＣとＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＰＭＶＣがベース深度ビュー中のビデオデータの対応するブロックから生成され、を行わせる命令によって符号化された、コンピュータ可読記憶媒体を説明する。命令はさらに、実行されると、ビデオコーディングデバイスの１つまたは複数のプロセッサに、ＩＰＭＶＣがＭＶＩ候補と異なることに基づいてＩＰＭＶＣを統合候補リストに追加すること、または、ＩＰＭＶＣがＭＶＩ候補と同一であることに基づいて統合候補リストからＩＰＭＶＣを除外することの１つを実行させ得る。
【００１５】
[0015]別の例では、本開示は、ビデオデータをコーディングするための装置を説明し、この装置は、ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較するための手段、ＩＰＭＶＣとＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＰＭＶＣがベース深度ビュー中のビデオデータの対応するブロックから生成され、を含む。装置はさらに、ＩＰＭＶＣがＭＶＩ候補と異なることに基づいてＩＰＭＶＣを統合候補リストに追加すること、または、ＩＰＭＶＣがＭＶＩ候補と同一であることに基づいて統合候補リストからＩＰＭＶＣを除外することの１つを実行するための手段を含み得る。
【００１６】
[0016]１つまたは複数の例の詳細が、添付の図面および以下の説明において述べられる。他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１７】
【図１】[0017]ビデオコーディングにおける深度指向性のビュー間動きベクトル予測（depth oriented inter-view motion vector prediction）のための技法を実施する、またはそうでなければ利用するように構成され得る、例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0018]ビデオコーディングにおける深度指向性のビュー間動きベクトル予測のための技法を実施する、またはそうでなければ利用し得る、ビデオエンコーダの例を示すブロック図。
【図３】[0019]ビデオコーディングにおける深度指向性のビュー間動きベクトル予測のための技法を実施する、またはそうでなければ利用し得る、ビデオデコーダの例を示すブロック図。
【図４】[0020]例示的なマルチビュー復号順序を示す概念図。
【図５】[0021]ＭＶＣ、マルチビューＨＥＶＣ、および３Ｄ−ＨＥＶＣ（マルチビュープラス深度）とともに使用され得る例示的なＭＶＣ予測パターンを示す概念図。
【図６】[0022]時間的に隣接するブロックを示す概念図。
【図７】[0023]ビデオコーディングデバイスがそれによってベースビューから深度ブロックを位置特定し、ＢＶＳＰ予測のために位置特定された深度ブロックを使用することができる、例示的な３段階のプロセスを示す。
【図８】[0024]上で説明された、現在のブロックと、対応するブロックと、動き補償されたブロックとの関係を示す。
【図９】[0025]深度コーディングのための動きベクトル継承（ＭＶＩ）候補の導出を示す概念図。
【図１０】[0026]サンプルＰｘ，ｙを予測するために（たとえば、ビデオコーディングデバイスによって）使用され得る、参照サンプルＲｘ，ｙを示す。
【図１１】[0027]マルチビュービデオコーディングの例示的な予測構造を示す概念図。
【図１２】[0028]ビデオコーディングデバイスがそれによって本明細書で説明された深度指向性のビュー間動き予測技法を実行することができる、例示的なプロセスを示すフローチャート。
【図１３】[0029]本開示の態様による、ビデオコーディングデバイスがそれによって１つまたは複数の深度指向性のビュー間動きベクトル候補を使用して統合リスト構築を実施することができる、例示的なプロセスを示すフローチャート。
【発明を実施するための形態】
【００１８】
[0030]本開示は、テクスチャビューと深度ビューからなる３Ｄビデオコンテンツのコーディングのための様々な技法を説明する。これらの技法は、いくつかの態様では、ビデオエンコーダによって実行され得る。他の態様では、これらの技法は、ビデオデコーダによって実行され得る。ベースビューは、「参照レイヤ」または「参照ビュー」とも本明細書では呼ばれ得る。加えて、基本レイヤ以外のビューまたはレイヤは、「従属レイヤ」または「従属ビュー」と本明細書では呼ばれ得る。加えて、本明細書で説明される様々な技法は、トランスコーダ、メディア認識ネットワーク要素（ＭＡＮＥ）、またはビデオデータを処理する他のデバイスもしくはユニットのような、他のデバイスによって実行され得る。本開示では、本技法は、説明のために、ビデオエンコーダおよびデコーダに関して説明される。
【００１９】
[0031]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、ならびに、ＩＴＵ−Ｔ  Ｈ．２６４のスケーラブルビデオコーディング（ＳＶＣ）拡張および／またはマルチビュービデオコーディング（ＭＶＣ）拡張とを含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含む。
【００２０】
[0032]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、ならびに、ＩＴＵ−Ｔ  Ｈ．２６４のスケーラブルビデオコーディング（ＳＶＣ）拡張および／またはマルチビュービデオコーディング（ＭＶＣ）拡張とを含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含む。
【００２１】
[0033]加えて、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって開発されている新しいビデオコーディング規格、すなわち、Ｈｉｇｈ−Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）がある。以後ＨＥＶＣ  ＷＤ８と呼ばれる、ＨＥＶＣの１つの最近のワーキングドラフト（ＷＤ）は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１１＿Ｓｈａｎｇｈａｉ／ｗｇ１１／ＪＣＴＶＣ−Ｋ１００３−ｖ１０．ｚｉｐから入手可能である。ＨＥＶＣの別のより最近のドラフトは、本明細書では「ＨＥＶＣ  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  １０」と呼ばれる。ＨＥＶＣ  ＷＤ８（ＢＲＯＳＳ他、「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ８」、第１０回会議：ストックホルム、スウェーデン、２０１２年７月１１〜２０日、ＪＣＴＶＣ−Ｊ１００３＿ｄ７、２６１ｐｐ）およびＨＥＶＣ  ｄｒａｆｔ  １０（ＢＲＯＳＳ他、「Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  １０（Ｆｏｒ  ＦＤＩＳ  ＆  Ｌａｓｔ  Ｃａｌｌ）」、第１０回会議：ジュネーブ、スイス、２０１３年１月１４〜２３日、ＪＣＴＶＣ−Ｌ１００３＿ｖ３４、３１０ｐｐ）の内容全体が、参照によって本明細書に組み込まれる。
【００２２】
[0034]ＨＥＶＣの１つの使用法は、高精細度および超高精細度（ＵＨＤ）ビデオの領域におけるものであり得る。多くの高精細度（ＨＤ）ディスプレイはすでに、ステレオビデオをレンダリングすることが可能であり、ＵＨＤディスプレイの増大する解像度およびディスプレイサイズは、そのようなディスプレイをステレオビデオに対してさらにより適したものにし得る。その上、ＨＥＶＣの改善された圧縮能力（たとえば、Ｈ．２６４／ＡＶＣ  Ｈｉｇｈプロファイルと比較して、同じ品質でビットレートは半分であると予測される）は、ＨＥＶＣを、ステレオビデオをコーディングするための良好な候補にし得る。たとえば、ビュー間の冗長性を利用する機構を使用して、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、Ｈ．２６４／ＡＶＣ規格を使用してコーディングされる同じ品質および解像度の単一ビュー（モノスコープ（monoscopic））ビデオよりもさらに低いレートで、フル解像度のステレオビデオをコーディングするために、ＨＥＶＣを使用することが可能であり得る。
【００２３】
[0035]ＡＶＣベースのプロジェクトと同様に、ＶＣＥＧおよびＭＰＥＧのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  ３Ｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＪＣＴ−３Ｖ）は、ＨＥＶＣコーディング技術を使用している２つの３ＤＶソリューションの研究を進めている。一方は、ＭＶ−ＨＥＶＣとも呼ばれるＨＥＶＣのマルチビュー拡張であり、もう一方は、深度増強されたＨＥＶＣベースのフル３ＤＶコーデック、すなわち３Ｄ−ＨＥＶＣである。規格化の取組みの一部は、ＨＥＶＣに基づいたマルチビュー／３Ｄビデオコーディングの規格化を含む。最新のソフトウェア３Ｄ−ＨＴＭバージョン５．０は、ｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔａｇｓ／ＨＴＭ−５．０／において電子的に入手可能である。以下で説明される技法は、上記の２つの提案されている３ＤＶソリューションとともに実施され得る。
【００２４】
[0036]いくつかの例では、本技法はまた（または代替的に）、ＨＥＶＣに対するスケーラブル拡張またはマルチビュー拡張とともに実施され得る。スケーラブルビデオコーディングでは、ビデオデータの複数のレイヤがコーディングされ得る。いくつかの例では、各レイヤは特定のビューに対応し得る。ここで、ビュースケーラビリティと空間的スケーラビリティの適用は、３Ｄサービスの進化において極めて有益であると考えられ、それは、ビュースケーラビリティおよび空間的スケーラビリティは、より多くのビューに対する後方互換性のある拡張（すなわち、様々なコーデックの以前のバージョンおよび／またはリリースとともに動作するように動作可能である、またはそのように構成される拡張）、および／または、従来のデバイス（すなわち、特定のコーデックの以前のバージョンおよび／またはリリースを実装するデバイス）による復号が可能であるような方法でビューの解像度を向上させることを可能にするからである。
【００２５】
[0037]２次元ビデオコーディングでは、ビデオデータ（すなわち、ピクチャのシーケンス）は、ピクチャごとに、必ずしも表示の順序ではない順序でコーディングされる。ビデオコーディングデバイスは、各ピクチャをブロックに分割し、各ブロックを個々にコーディングする。ブロックベースの予測モードは、イントラ予測とも呼ばれる空間的予測とインター予測とも呼ばれる時間的予測とを含む。
【００２６】
[0038]マルチビューコーディングされたデータまたはスケーラブルコーディングされたデータのような、３次元ビデオデータでは、ブロックはまた、ビュー間予測および／またはレイヤ間予測され得る。本明細書で説明されるように、ビデオ「レイヤ」は一般に、ビュー、フレームレート、解像度などの少なくとも１つの共通の特性を有するピクチャのシーケンスを指し得る。たとえば、レイヤは、マルチビュービデオデータの特定のビュー（たとえば、視点）と関連付けられるビデオデータを含み得る。別の例として、レイヤは、スケーラブルビデオデータの特定のレイヤと関連付けられるビデオデータを含み得る。
【００２７】
[0039]したがって、本開示は、ビデオデータのレイヤとビューを交換可能に指し得る。すなわち、ビデオデータのビューはビデオデータのレイヤと呼ばれることがあり、ビデオデータのレイヤはビデオデータのビューと呼ばれることがある。その上、ビュー間予測およびレイヤ間予測という用語は、ビデオデータの複数のレイヤおよび／またはビューの間の予測を交換可能に指し得る。加えて、マルチレイヤコーデック（またはマルチレイヤビデオコーダ）は、マルチビューコーデックまたはスケーラブルコーデックをまとめて指し得る。
【００２８】
[0040]マルチビューまたはスケーラブルビデオコーディングでは、ブロックは、ビデオデータの別のビューまたはレイヤのピクチャから予測され得る。この方式で、異なるビューから再構築されたビュー成分に基づくビュー間予測が可能にされ得る。本開示は、特定のビューまたはレイヤの符号化されたピクチャを指すために、「ビュー成分」という用語を使用する。すなわち、ビュー成分は、（表示順序または出力順序に関して）特定の時間における特定のビューに対する符号化されたピクチャを備え得る。ビュー成分（またはビュー成分のスライス）は、ピクチャ順序カウント（ＰＯＣ）値を有することがあり、ＰＯＣ値は一般に、ビュー成分の表示順序（または出力順序）を示す。
【００２９】
[0041]通常、２つのビューの同一のまたは対応するオブジェクトは同じ位置にない（not co-located）。「相違ベクトル」という用語は、あるビューのピクチャ中のオブジェクトの、異なるビューにおける対応するオブジェクトに対する変位を示すベクトルを指すために使用され得る。そのようなベクトルは、「変位ベクトル」とも呼ばれ得る。相違ベクトルはまた、ピクチャのビデオデータのピクセルまたはブロックに適用可能であり得る。たとえば、第１のビューのピクチャ中のピクセルは、第２のビューのピクチャ中の対応するピクセルに対して、第１のビューおよび第２のビューがキャプチャされた異なるカメラ位置に関する特定の相違ベクトルの分だけ、変位していることがある。いくつかの例では、相違ベクトルは、あるビューから別のビューへの動き情報（（１つまたは複数の）参照ピクチャインデックスを伴う、または伴わない（１つまたは複数の）動きベクトル）を予測するために使用され得る。
【００３０】
[0042]したがって、コーディング効率をさらに改善するために、ビデオコーダはまた、ビュー間動き予測および／またはビュー間残差予測を適用することができる。ビュー間動き予測に関して、ビデオコーダは、あるビューのブロックと関連付けられる動きベクトルを、第２の異なるビューのブロックと関連付けられる動きベクトルに対してコーディングすることができる。しかしながら、ビュー間動き予測はテクスチャビューにおいて使用されてきたが、ビュー間動き予測は深度ビューにおいては使用されてこなかった。
【００３１】
[0043]本開示の技法は全般に、ビュー間動き予測を深度ビューに適用することを対象とする。様々な例において、ビデオコーディングデバイスは、従属深度ビュー中の深度ブロックの隣接する深度ピクセルから相違ベクトルを導出するための、１つまたは複数の技法を実施することができる。次いで、ビデオコーディングデバイスは、ベース深度ビューから動きベクトル候補（たとえば、それによって統合リストを埋める）を導出するために相違ベクトルを使用するための技法を実施することができる。本明細書で説明される技法を実施することによって、ビデオコーディングデバイスは、深度ベースビューのためのすでにコーディングされている動き情報からより多数の動きベクトル候補を利用することによって、従属深度ビューのための動きベクトル予測の精度を改善することができる。他の例では、本開示の技法は、ビュー間動き予測を深度ビューに適用することによって生成される動きベクトル候補を使用した統合リスト構築を対象とする。
【００３２】
[0044]図１は、ビデオコーディングにおける深度指向性のビュー間動きベクトル予測のための技法を実施する、またはそうでなければ利用するように構成され得る、例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示されるように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化されたビデオデータを与えるソースデバイス１２を含む。具体的には、ソースデバイス１２は、コンピュータ可読媒体１６を介してビデオデータを宛先デバイス１４に与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４はワイヤレス通信に対応し得る。
【００３３】
[0045]宛先デバイス１４は、コンピュータ可読媒体１６を介して、復号されるべき符号化されたビデオデータを受信することができる。コンピュータ可読媒体１６は、符号化されたビデオデータをソースデバイス１２から宛先デバイス１４に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が、符号化されたビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路のような、任意のワイヤレス通信媒体またはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、または、ソースデバイス１２から宛先デバイス１４への通信を支援するために有用であり得る任意の他の装置を含み得る。
【００３４】
[0046]いくつかの例では、符号化されたデータは、出力インターフェース２２から記憶デバイス３１のような記憶デバイスへ出力され得る。同様に、符号化されたデータは、入力インターフェース２８によって記憶デバイス３１からアクセスされ得る。記憶デバイス３１は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または、符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体のような、様々な分散したまたはローカルでアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイス３１は、ソースデバイス１２によって生成された符号化されたビデオを記憶することができるファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して記憶デバイスからの記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先デバイス１４へ送信することができる、任意のタイプのサーバであり得る。例示的なファイルサーバは、ウェブサーバ（たとえば、ウェブサイトのための）、ＦＴＰサーバ、ネットワーク接続記憶（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む任意の標準的なデータ接続を通じて、符号化されたビデオデータにアクセスすることができる。これは、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または、ファイルサーバ上に記憶されている符号化されたビデオデータにアクセスするのに適した、それらの両方の組合せを含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００３５】
[0047]本開示の技法は、必ずしもワイヤレスの用途または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、ｄｙｎａｍｉｃ  ａｄａｐｔｉｖｅ  ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ（ＤＡＳＨ）のようなインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の用途のような、種々のマルチメディア用途のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話のような用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３６】
[0048]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。
【００３７】
[0049]図１の例示されたシステム１０は、一例にすぎない。深度指向性のビュー間動きベクトル予測のための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。一般に、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、通常「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が、宛先デバイス１４に送信するためのコーディングされたビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化コンポーネントとビデオ復号コンポーネントとを含むように実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオ電話のために、ビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００３８】
[0050]ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータにより生成されたビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き携帯電話またはビデオ付き携帯電話を形成し得る。しかしながら、上で言及されたように、本開示で説明される技法は、一般にビデオコーディングに適用可能であり、ワイヤレスおよび／またはワイヤード用途に適用され得る。各々の場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。次いで、符号化されたビデオ情報は、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００３９】
[0051]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信のような一時的媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、または他のコンピュータ可読媒体のような記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示されず）は、ソースデバイス１２から符号化されたビデオデータを受信し、たとえば、ネットワーク送信を介して、その符号化されたビデオデータを宛先デバイス１４に与え得る。同様に、ディスクスタンピング設備のような、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化されたビデオデータを受信し、その符号化されたビデオデータを含むディスクを生成し得る。したがって、様々な例では、コンピュータ可読媒体１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含むと理解され得る。
【００４０】
[0052]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受け取る。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロックおよび他のコーディングされたユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスのような、様々なディスプレイデバイスのいずれかを備え得る。
【００４１】
[0053]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中のＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格のようなビデオコーディング規格に従って動作することができ、一般にＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、またはそのような規格の拡張のような、他のプロプライエタリ（proprietary）規格または業界規格に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例は、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３を含む。図１には示されないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は各々、オーディオエンコーダおよびオーディオデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアとソフトウェアとを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに準拠し得る。
【００４２】
[0054]ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果としてＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明される技法は、Ｈ．２６４規格に概ね準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付のＩＴＵ−Ｔ勧告Ｈ．２６４、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓに記載されており、本明細書ではＨ．２６４規格またはＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格または仕様と呼ばれ得る。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００４３】
[0055]ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せのような、様々な適切なエンコーダ回路のいずれかとして実装され得る。技法が部分的にソフトウェアで実装される場合、デバイスは、ソフトウェアのための命令を、適切な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するための１つまたは複数のプロセッサを使用して、ハードウェアで命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれてよく、そのいずれかは、組み合わされたエンコーダ／デコーダ（コーデック）の一部として、それぞれのデバイスに統合され得る。
【００４４】
[0056]本開示は全般に、ビデオエンコーダ２０が、ある情報をビデオデコーダ３０などの別のデバイスに「シグナリング」することに言及することがある。しかしながら、ビデオエンコーダ２０はあるシンタックス要素をビデオデータの様々な符号化された部分と関連付けることによって情報をシグナリングし得ることを理解されたい。すなわち、ビデオエンコーダ２０は、ビデオデータの様々な符号化された部分のヘッダに、あるシンタックス要素を記憶することによって、データを「シグナリング」することができる。いくつかの場合には、そのようなシンタックス要素は、ビデオデコーダ３０によって受信され復号される前に、符号化され記憶され（たとえば、記憶デバイス２４に記憶され）得る。したがって、「シグナリング」という用語は全般に、圧縮されたビデオデータを復号するためのシンタックスまたは他のデータの通信を、そのような通信がリアルタイムで発生するかほぼリアルタイムで発生するかある期間にわたって発生するかにかかわらず指すことがあり、ある期間にわたる通信は、シンタックス要素を符号化の時点で媒体に記憶し、次いで、シンタックス要素がこの媒体に記憶された後の任意の時点で復号デバイスによって取り出され得るときに、発生し得る。
【００４５】
[0057]いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４、Ｐａｒｔ  １０、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格のような、プロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果としてＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。
【００４６】
[0058]ビデオエンコーダ２０およびビデオデコーダ３０は、加えて、または代替的に、ＨＥＶＣ  ＷＤ８のような別のビデオコーディング規格に従って動作し得る。さらに、ＨＥＶＣ向けのスケーラブルビデオコーディング拡張、マルチビューコーディング拡張、および３次元ビデオ（３ＤＶ）拡張を製作する取組みが進行中である。したがって、いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０はマルチビュービデオコーディングを実行することができる。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣのマルチビュー拡張（ＭＶ−ＨＥＶＣと呼ばれる）、深度増強されたＨＥＶＣベースのフル３ＤＶコーデック（３Ｄ−ＨＥＶＣと呼ばれる）、または、ＨＥＶＣのスケーラブルビデオコーディング拡張（ＳＨＥＶＣ（スケーラブルＨＥＶＣ）またはＨＳＶＣ（高効率スケーラブルビデオコーディング）と呼ばれる）を実装することができる。
【００４７】
[0059]以下で説明される技法は、上で述べられたＨＥＶＣ拡張の１つまたは複数とともに実装され得る。３Ｄ−ＨＥＶＣでは、テクスチャビューと深度ビューの両方に対する、コーディングユニット／予測ユニットレベルでのコーディングツールを含む新たなコーディングツールが、含まれサポートされ得る。２０１３年１１月２１日時点で、３Ｄ−ＨＥＶＣのためのソフトウェア（すなわち、３Ｄ−ＨＴＭバージョン５．０）は、次のリンクｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔａｇｓ／ＨＴＭ−５．０／からダウンロードされ得る。
【００４８】
[0060]２次元ビデオデータは一般に、その各々が特定の時間的インスタンスに対応する、個別ピクチャのシーケンスとしてコーディングされる。すなわち、各ピクチャは、シーケンス中の他の画像の再生時間に対して、関連付けられる再生時間を有する。これらのピクチャはテクスチャピクチャまたはテクスチャ画像と考えられ得る。深度ビュー成分は、対応するテクスチャビュー成分中のピクセルの相対深度を示し得る。一例として、深度ビュー成分は、ルーマ値のみを含むグレースケール画像である。言い換えれば、深度ビュー成分は、テクスチャの画像コンテンツを何ら伝えることができず、むしろ、深度ビュー成分は、テクスチャビュー成分において定義される様々なピクセルの相対深度の尺度を提供することができる。深度ビュー成分中の深度値は、０相違平面（a zero disparity plane）に対するそれぞれのピクセルの深度、または場合によっては他の何らかの基準を定義することができる。深度ベースの３Ｄビデオコーディングでは、シーケンス中の各テクスチャピクチャは深度マップにも対応し得る。すなわち、テクスチャピクチャに対応する深度マップは、対応するテクスチャピクチャのための深度データを表す。マルチビュービデオデータは、様々な異なるビューのためのデータを含んでよく、各ビューは、テクスチャピクチャと、対応する深度ピクチャとのそれぞれのシーケンスを含み得る。
【００４９】
[0061]深度値は一般にテクスチャデータに対応する。たとえば、深度画像は、各々が対応するテクスチャデータの深度値を記述する、深度ピクセルのセットを含み得る。深度値は、対応するテクスチャデータの水平相違を決定するために使用され得る。したがって、テクスチャデータと深度値とを受信するデバイスは、一方のビュー（たとえば、左眼のビュー）のための第１のテクスチャ画像を表示し、深度値に基づいて決定された水平相違値だけ第１の画像のピクセル値をオフセットすることによって他方のビュー（たとえば、右眼のビュー）のための第２のテクスチャ画像を生成するように第１のテクスチャ画像を修正するために、深度値を使用することができる。一般に、水平相違（または単に「相違」）は、右ビュー中の対応するピクセルに対する第１のビュー中のピクセルの水平空間オフセットを表し、２つのピクセルは、２つのビュー中で表される同じオブジェクトの同じ部分に対応する。
【００５０】
[0062]さらに他の例では、画像について定義された０相違平面に対して、所与のピクセルと関連付けられた深度が定義されるように、画像平面に直交するｚ次元におけるピクセルについて深度値が定義され得る。そのような深度は、０相違平面に対するピクセルのｚ次元の深度値に応じてピクセルが左眼と右眼に対して異なるように表示されるように、ピクセルを表示するための水平相違を作り出すために使用され得る。０相違平面はビデオシーケンスの異なる部分に対しては変化することがあり、０相違平面に対する深度の量も変化することがある。０相違平面上に位置するピクセルは、左眼および右眼に対して同様に定義され得る。０相違平面の前に位置するピクセルは、ピクセルが画像平面に直交するｚ方向へと画像から出てくるように見える知覚を作り出すように、（たとえば、水平相違を用いて）左眼と右眼に対して異なる位置に表示され得る。０相違平面の後ろに位置するピクセルは、深度をわずかに知覚する程度に、わずかなぼかしとともに表示されてよく、または（たとえば、０相違平面の前に位置するピクセルの水平相違とは反対の水平相違を用いて）左眼と右眼とに対して異なる位置に表示され得る。画像用の深度データを伝達または定義するために、様々な他の技法も使用され得る。
【００５１】
[0063]概念的に、深度ビュー成分中の純白のピクセルは、対応するテクスチャビュー成分中の対応する１つまたは複数のピクセルが視者（viewer）の観点からはより近いことを示し、深度ビュー成分中の純黒のピクセルは、対応するテクスチャビュー成分中の対応する１つまたは複数のピクセルが視者の観点からはより遠いことを示す。黒と白との中間の灰色の様々な色合いは、様々な深度レベルを示す。たとえば、深度ビュー成分中の濃い灰色のピクセルは、テクスチャビュー成分中の対応するピクセルが、深度ビュー成分中のわずかにより薄い灰色のピクセルよりも遠いことを示す。ピクセルの深度を特定するためにグレースケールのみが必要とされるので、深度ビュー成分の色値がいかなる目的も果たし得ないことから、深度ビュー成分はクロマ成分を含む必要がない。深度を特定するためにルーマ値（たとえば、強度値（intensity values））のみを使用する深度ビュー成分が説明のために提供され、限定するものと見なされるべきではない。
【００５２】
[0064]より一般的な意味では、深度ビュー成分は、最小値から最大値までの範囲の値を備え得る。１つの特定の基準のフレームに従って、最大深度値を有する深度ビュー成分中のピクセルは、より低い値を有する深度ビュー成分中のピクセルに対応するテクスチャビュー成分中のピクセルと比べて視者からより遠いものとして、テクスチャビュー成分中のそれぞれのピクセルの深度を定義することができる。その結果、最小深度値を有する深度ビュー成分中のピクセルは、より高い値を有する深度ビュー成分中のピクセルに対応するテクスチャビュー成分中のピクセルと比べて視者により近いものとして、テクスチャビュー成分中のそれぞれのピクセルの深度を定義することができる。他の例では、基準のフレームは異なるように定義され得る。たとえば、基準のフレームは、比較的高い値と比較的低い値の意味が反転するように定義され得る。すなわち、比較的低い値が視者からより遠い深度に対応することがあり、より高い値が視者からより近い深度に対応することがある。他の例では、テクスチャビュー成分中のピクセルの相対深度を示すために、任意の技法が利用され得る。
【００５３】
[0065]一般に、ＨＥＶＣの動き補償ループは、Ｈ．２６４／ＡＶＣにおける動き補償ループと同じである。たとえば、動き補償ループにおける現在のフレーム
【数１】
0006356236.tif 000002
の再構築は、逆量子化された係数ｒと時間的予測Ｐを足したものに等しくてよい。
【数２】
0006356236.tif 000003
上の式では、Ｐは、Ｐフレームのための単予測的インター予測またはＢフレームのための双予測的インター予測を示す。
【００５４】
[0066]しかしながら、ＨＥＶＣにおける動き補償のユニットは、以前のビデオコーディング規格におけるユニットとは異なる。たとえば、以前のビデオコーディング規格におけるマクロブロックの概念は、ＨＥＶＣでは存在しない。むしろ、マクロブロックは、一般的な４分木方式に基づく柔軟な階層構造によって置き換えられる。この方式の中で、３つのタイプのブロック、すなわちコーディングユニット（ＣＵ）、予測ユニット（ＰＵ）、および変換ユニット（ＴＵ）が定義される。ＣＵは領域分割の基本ユニットである。ＣＵの概念はマクロブロックの概念に類似するが、ＣＵは最大サイズに制限されず、コンテンツの適応性を向上させるために４つの等しいサイズのＣＵへの繰り返しの分割（recursive splitting）を可能にする。ＰＵはインター／イントラ予測の基本ユニットである。いくつかの例では、ＰＵは、不規則な画像パターンを効果的にコーディングするために、単一のＰＵの中に複数の任意の形状の区分を含み得る。ＴＵは変換の基本ユニットである。ＣＵのＴＵは、ＣＵのＰＵとは独立に定義され得る。しかしながら、ＴＵのサイズは、ＴＵが属するＣＵに限定される。３つの異なる概念へのブロック構造のこの分離は、各々が対応する役割に従って最適化されることを可能にでき、このことはコーディング効率の改善をもたらし得る。
【００５５】
[0067]ＨＥＶＣおよび他のビデオコーディング仕様では、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは「フレーム」とも呼ばれ得る。ピクチャは、ＳL、ＳCb、およびＳCrと示される３つのサンプルアレイを含み得る。ＳLは、ルーマサンプルの２次元アレイ（すなわち、ブロック）である。ＳCbは、Ｃｂクロミナンスサンプルの２次元アレイである。ＳCrは、Ｃｒクロミナンスサンプルの２次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルとも呼ばれ得る。他の例では、ピクチャは、モノクロームであってよく、ルーマサンプルのアレイのみを含み得る。
【００５６】
[0068]ピクチャの符号化された表現を生成するために、ビデオエンコーダ２０はコーディングツリーユニット（ＣＴＵ）のセットを生成し得る。ＣＴＵの各々は、ルーマサンプルのコーディングツリーブロックと、クロマサンプルの２つの対応するコーディングツリーブロックと、それらのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーン（color planes）を有する１つまたは複数のモノクロームピクチャでは、ＣＴＵは、単一のコーディングツリーブロックと、そのコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。コーディングツリーブロックは、サンプルのＮ×Ｎのブロックであり得る。ＣＴＵは「ツリーブロック」または「最大コーディングユニット」（ＬＣＵ）とも呼ばれ得る。ＨＥＶＣのＣＴＵは、Ｈ．２６４／ＡＶＣのような、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、ＣＴＵは、必ずしも特定のサイズに限定されず、１つまたは複数のＣＵを含み得る。スライスは、ラスタースキャン順序で（in a raster scan order）連続的に順序付けられた整数個のＣＴＵを含み得る。
【００５７】
[0069]コーディングされたスライスは、スライスヘッダとスライスデータとを備え得る。スライスのスライスヘッダは、スライスについての情報を提供するシンタックス要素を含むシンタックス構造であり得る。スライスデータは、スライスのコーディングされたＣＴＵを含み得る。
【００５８】
[0070]本開示は、サンプルの１つまたは複数のブロックのサンプルをコーディングするために使用される１つまたは複数のサンプルブロックとシンタックス構造とを指すために、「ビデオユニット」または「ビデオブロック」または「ブロック」という用語を使用し得る。例示的なタイプのビデオユニットまたはブロックは、ＣＴＵ、ＣＵ、ＰＵ、変換ユニット（ＴＵ）、マクロブロック、マクロブロック区分などを含み得る。いくつかの状況では、ＰＵについての論述は、マクロブロック区分のマクロブロックについての論述と交換され得る。
【００５９】
[0071]コーディングされたＣＴＵを生成するために、ビデオエンコーダ２０は、ＣＴＵのコーディングツリーブロックに対して４分木区分を繰り返し実行して、コーディングツリーブロックをコーディングブロックに分割することができ、したがって「コーディングツリーユニット」という名称である。コーディングブロックは、サンプルのＮ×Ｎのブロックである。ＣＵは、ルーマサンプルアレイとＣｂサンプルアレイとＣｒサンプルアレイとを有するピクチャのルーマサンプルのコーディングブロックと、そのピクチャのクロマサンプルの２つの対応するコーディングブロックと、それらのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＣＵは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
【００６０】
[0072]ビデオエンコーダ２０は、ＣＵのコーディングブロックを１つまたは複数の予測ブロックに区分することができる。予測ブロックは、同じ予測が適用されるサンプルの矩形（すなわち、正方形または非正方形）ブロックである。ＣＵのＰＵは、ルーマサンプルの予測ブロックと、クロマサンプルの２つの対応する予測ブロックと、それらの予測ブロックを予測するために使用されるシンタックス構造とを備え得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＰＵは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ２０は、ＣＵの各ＰＵのルーマ予測ブロック、Ｃｂ予測ブロック、およびＣｒ予測ブロックに対する、予測ルーマブロック、予測Ｃｂブロック、および予測Ｃｒブロックを生成することができる。したがって、本開示では、ＣＵは１つまたは複数のＰＵに区分されると言われ得る。説明を簡単にするために、本開示は、ＰＵの予測ブロックのサイズを、単にＰＵのサイズと呼ぶことがある。
【００６１】
[0073]ビデオエンコーダ２０は、イントラ予測またはインター予測を使用して、ＰＵに関する予測ブロックを生成し得る。ビデオエンコーダ２０がイントラ予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵと関連付けられたピクチャのサンプルに基づいてＰＵの予測ブロックを生成し得る。本開示では、「に基づいて」という句は、「に少なくとも一部基づいて」を示し得る。
【００６２】
[0074]ビデオエンコーダ２０がインター予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵと関連付けられたピクチャ以外の１つまたは複数のピクチャの復号されたサンプルに基づいて、ＰＵの予測ブロックを生成し得る。ブロックの予測ブロック（たとえば、ＰＵ）を生成するためにインター予測が使用されるとき、本開示は、ブロックを「インターコーディングされる」または「インター予測される」ものとして呼ぶことがある。インター予測は、単予測的（すなわち、単予測）または双予測的（すなわち、双予測）であり得る。単予測または双予測を実行するために、ビデオエンコーダ２０は、現在のピクチャに対して、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）と第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）とを生成し得る。参照ピクチャリストの各々は、１つまたは複数の参照ピクチャを含み得る。参照ピクチャリストが構築された後（すなわち、利用可能であれば、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）、参照ピクチャリストに対する参照インデックスは、参照ピクチャリストに含まれる任意の参照ピクチャを識別するために使用され得る。
【００６３】
[0075]単予測を使用するとき、ビデオエンコーダ２０は、参照ピクチャ内の参照位置を決定するために、ＲｅｆＰｉｃＬｉｓｔ０とＲｅｆＰｉｃＬｉｓｔ１のいずれかまたは両方の中の参照ピクチャを探索することができる。さらに、単予測を使用するとき、ビデオエンコーダ２０は、参照位置に対応するサンプルに少なくとも一部基づいて、ＰＵに関する予測ブロックを生成することができる。その上、単予測を使用するとき、ビデオエンコーダ２０は、ＰＵの予測ブロックと参照位置との間の空間的変位を示す単一の動きベクトルを生成することができる。この動きベクトルは、ＰＵの予測ブロックと参照位置との間の水平方向の変位を規定する水平成分を含んでよく、ＰＵの予測ブロックと参照位置との間の垂直方向の変位を規定する垂直成分を含んでよい。
【００６４】
[0076]双予測を使用してＰＵを符号化するとき、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔ０中の参照ピクチャ中の第１の参照位置と、ＲｅｆＰｉｃＬｉｓｔ１中の参照ピクチャ中の第２の参照位置とを決定することができる。ビデオエンコーダ２０は、第１の参照位置および第２の参照位置に対応するサンプルに少なくとも一部基づいて、ＰＵに関する予測ブロックを生成することができる。その上、双予測を使用してＰＵを符号化するとき、ビデオエンコーダ２０は、ＰＵの予測ブロックと第１の参照位置との間の空間的変位を示す第１の動きベクトルと、ＰＵの予測ブロックと第２の参照位置との間の空間的変位を示す第２の動きベクトルとを生成することができる。
【００６５】
[0077]ビデオエンコーダ２０がインター予測を使用してＰＵの予測ブロックを生成する場合、ビデオエンコーダ２０は、ＰＵと関連付けられたピクチャ以外の１つまたは複数のピクチャのサンプルに基づいて、ＰＵの予測ブロックを生成することができる。たとえば、ビデオエンコーダ２０は、ＰＵに対して単予測的インター予測（すなわち、単予測）または双予測的インター予測（すなわち、双予測）を実行することができる。
【００６６】
[0078]ビデオエンコーダ２０がＰＵに対して単予測を実行する例では、ビデオエンコーダ２０は、ＰＵの動きベクトルに基づいて、参照ピクチャ中の参照位置を決定することができる。ビデオエンコーダ２０は次いで、ＰＵに関する予測ブロックを決定することができる。ＰＵに関する予測ブロック中の各サンプルは、参照位置と関連付けられ得る。いくつかの例では、ＰＵに関する予測ブロック中のサンプルは、ＰＵと同じサイズを有しその左上の角が参照位置であるサンプルのブロック内にそのサンプルがあるとき、その参照位置と関連付けられ得る。予測ブロック中の各サンプルは、参照ピクチャの実際のサンプルまたは補間されたサンプルであり得る。
【００６７】
[0079]予測ブロックのルーマサンプルが参照ピクチャの補間されたルーマサンプルに基づく例では、ビデオエンコーダ２０は、８タップの補間フィルタを参照ピクチャの実際のルーマサンプルに適用することによって、補間されたルーマサンプルを生成することができる。予測ブロックのクロマサンプルが参照ピクチャの補間されたクロマサンプルに基づく例では、ビデオエンコーダ２０は、４タップの補間フィルタを参照ピクチャの実際のクロマサンプルに適用することによって、補間されたクロマサンプルを生成することができる。一般に、フィルタのタップの数は、フィルタを数学的に表すために必要とされる係数の数を示す。よりタップ数の大きいフィルタは、よりタップ数の少ないフィルタより、一般に複雑である。
【００６８】
[0080]ビデオエンコーダ２０がＰＵに対して双予測を実行する例では、ＰＵは２つの動きベクトルを有する。ビデオエンコーダ２０は、ＰＵの動きベクトルに基づいて、２つの参照ピクチャ中の２つの参照位置を決定することができる。ビデオエンコーダ２０は次いで、上で説明された方式で、２つの参照位置と関連付けられる参照ブロックを決定することができる。ビデオエンコーダ２０は次いで、ＰＵに関する予測ブロックを決定することができる。予測ブロック中の各サンプルは、参照ブロック中の対応するサンプルの加重平均（a weighted average）であり得る。サンプルの重みは、ＰＵを含むピクチャからの参照ピクチャの時間的距離に基づき得る。
【００６９】
[0081]ビデオエンコーダ２０は、様々な区分モードに従ってＣＵを１つまたは複数のＰＵに区分することができる。たとえば、ＣＵのＰＵに関する予測ブロックを生成するためにイントラ予測が使用される場合、ＣＵは、ＰＡＲＴ＿２Ｎ×２ＮモードまたはＰＡＲＴ＿Ｎ×Ｎモードに従って区分され得る。ＰＡＲＴ＿２Ｎ×２Ｎモードでは、ＣＵは１つのＰＵしか有しない。ＰＡＲＴ＿Ｎ×Ｎモードでは、ＣＵは矩形の予測ブロックを有する４つの等しいサイズのＰＵを有する。ＣＵのＰＵに関する予測ブロックを生成するためにインター予測が使用される場合、ＣＵは、ＰＡＲＴ＿２Ｎ×２Ｎモード、ＰＡＲＴ＿Ｎ×Ｎモード、ＰＡＲＴ＿２Ｎ×Ｎモード、ＰＡＲＴ＿Ｎ×２Ｎモード、ＰＡＲＴ＿２Ｎ×ｎＵモード、ＰＡＲＴ＿２Ｎ×ｕＤモード、ＰＡＲＴ＿ｎＬ×２Ｎモード、またはＰＡＲＴ＿ｎＲ×２Ｎモードに従って区分され得る。ＰＡＲＴ＿２Ｎ×ＮモードおよびＰＡＲＴ＿Ｎ×２Ｎモードでは、ＣＵは矩形の予測ブロックを有する２つの等しいサイズのＰＵに区分される。ＰＡＲＴ＿２Ｎ×ｎＵモード、ＰＡＲＴ＿２Ｎ×ｕＤモード、ＰＡＲＴ＿ｎＬ×２Ｎモード、およびＰＡＲＴ＿ｎＲ×２Ｎモードの各々では、ＣＵは矩形の予測ブロックを有する２つの等しくないサイズのＰＵに区分される。
【００７０】
[0082]ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵに関する予測ルーマブロックと、予測Ｃｂブロックと、予測Ｃｒブロックとを生成した後、ビデオエンコーダ２０は、ＣＵに関するルーマ残差ブロックを生成することができる。ＣＵのルーマ残差ブロック中の各サンプルは、ＣＵの予測ルーマブロックのうちの１つの中のルーマサンプルとＣＵの元のルーマコーディングブロック中の対応するサンプルとの間の差を示す。加えて、ビデオエンコーダ２０はＣＵに関するＣｂ残差ブロックを生成することができる。ＣＵのＣｂ残差ブロック中の各サンプルは、ＣＵの予測Ｃｂブロックのうちの１つの中のＣｂサンプルと、ＣＵの元のＣｂコーディングブロック中の対応するサンプルとの間の差を示し得る。ビデオエンコーダ２０はまた、ＣＵに関するＣｒ残差ブロックを生成することができる。ＣＵのＣｒ残差ブロック中の各サンプルは、ＣＵの予測Ｃｒブロックのうちの１つの中のＣｒサンプルと、ＣＵの元のＣｒコーディングブロック中の対応するサンプルとの間の差を示し得る。
【００７１】
[0083]さらに、ビデオエンコーダ２０は、４分木区分を使用して、ＣＵのルーマ残差ブロック、Ｃｂ残差ブロック、およびＣｒ残差ブロックを、１つまたは複数のルーマ変換ブロック、Ｃｂ変換ブロック、およびＣｒ変換ブロックに分解することができる。変換ブロックは、同じ変換が適用されるサンプルの矩形（たとえば、正方形または非正方形）ブロックである。ＣＵのＴＵは、ルーマサンプルの変換ブロックと、クロマサンプルの２つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、ＣＵの各ＴＵは、ルーマ変換ブロック、Ｃｂ変換ブロックおよびＣｒ変換ブロックと関連付けられ得る。ＴＵと関連付けられたルーマ変換ブロックは、ＣＵのルーマ残差ブロックのサブブロックであり得る。Ｃｂ変換ブロックはＣＵのＣｂ残差ブロックのサブブロックであり得る。Ｃｒ変換ブロックはＣＵのＣｒ残差ブロックのサブブロックであり得る。３つの別個のカラープレーンを有する１つまたは複数のモノクロームピクチャでは、ＴＵは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
【００７２】
[0084]ビデオエンコーダ２０は、ＴＵのルーマ変換ブロックに１つまたは複数の変換を適用して、ＴＵに関するルーマ係数ブロックを生成することができる。係数ブロックは変換係数の２次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ２０は、ＴＵのＣｂ変換ブロックに１つまたは複数の変換を適用して、ＴＵに関するＣｂ係数ブロックを生成することができる。ビデオエンコーダ２０は、ＴＵのＣｒ変換ブロックに１つまたは複数の変換を適用して、ＴＵに関するＣｒ係数ブロックを生成することができる。
【００７３】
[0085]係数ブロック（たとえば、ルーマ係数ブロック、Ｃｂ係数ブロックまたはＣｒ係数ブロック）を生成した後、ビデオエンコーダ２０は係数ブロックを量子化することができる。量子化は一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を提供する処理を指す。ビデオエンコーダ２０は、ＣＵと関連付けられた量子化パラメータ（ＱＰ）値に基づいて、ＣＵのＴＵと関連付けられた係数ブロックを量子化することができる。ビデオエンコーダ２０は、ＣＵと関連付けられたＱＰ値を調整することによって、ＣＵと関連付けられた係数ブロックに適用される量子化の程度を調整することができる。いくつかの例では、ＣＵと関連付けられるＱＰ値は、全体として現在のピクチャまたはスライスと関連付けられ得る。ビデオエンコーダ２０が係数ブロックを量子化した後に、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ２０は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）を実行することができる。
【００７４】
[0086]ビデオエンコーダ２０は、ビデオデータの表現（すなわち、コーディングされたピクチャおよび関連付けられたデータ）を形成するビットのシーケンスを含むビットストリームを出力することができる。ビットストリームは、一連のネットワーク抽象化レイヤ（ＮＡＬ）ユニットを備え得る。ＮＡＬユニットは、ＮＡＬユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが散在させられているローバイトシーケンスペイロード（a raw byte sequence payload）（ＲＢＳＰ）の形態でそのデータを含むバイトとを含む、シンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ＲＢＳＰをカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって規定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含むシンタックス構造であり得る。いくつかの例では、ＲＢＳＰは０ビットを含む。
【００７５】
[0087]異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。たとえば、異なるタイプのＮＡＬユニットは、ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、コーディングされたスライス、ＳＥＩなどに対して、異なるＲＢＳＰをカプセル化し得る。（パラメータセットおよびＳＥＩメッセージのためのＲＢＳＰではなく）ビデオコーディングデータのためのＲＢＳＰをカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれ得る。
【００７６】
[0088]ＨＥＶＣでは、ＳＰＳは、コーディングされたビデオシーケンス（ＣＶＳ）のすべてのスライスに適用される情報を含み得る。ＨＥＶＣでは、ＣＶＳは、瞬時復号リフレッシュ（ＩＤＲ）ピクチャ、あるいはブロークンリンクアクセス（ＢＬＡ）ピクチャ、あるいは、ＩＤＲまたはＢＬＡピクチャではないすべての後続のピクチャを含むビットストリーム中の最初のピクチャであるクリーンランダムアクセス（ＣＲＡ）ピクチャから開始し得る。すなわち、ＨＥＶＣでは、ＣＶＳは、復号順序で、ビットストリーム中の第１のアクセスユニットであるＣＲＡアクセスユニットと、ＩＤＲアクセスユニットまたはＢＬＡアクセスユニットと、それに続いて、後続のＩＤＲまたはＢＬＡアクセスユニットを含まないがそれまでのすべての後続のアクセスユニットを含む、０個以上の非ＩＤＲおよび非ＢＬＡアクセスユニットとからなり得る、アクセスユニットのシーケンスを備え得る。
【００７７】
[0089]ＶＰＳは、０個以上のＣＶＳ全体に適用されるシンタックス要素を備えるシンタックス構造である。ＳＰＳは、ＳＰＳがアクティブであるとき、アクティブであるＶＰＳを識別するシンタックス要素を含み得る。したがって、ＶＰＳのシンタックス要素は、ＳＰＳのシンタックス要素よりも一般的に適用可能であり得る。ＰＰＳは、０個以上のコーディングされたピクチャに適用されるシンタックス要素を備えるシンタックス構造である。ＰＰＳは、ＰＰＳがアクティブであるとき、アクティブであるＳＰＳを識別するシンタックス要素を含み得る。スライスのスライスヘッダは、スライスがコーディングされているときにアクティブであるＰＰＳを示す、シンタックス要素を含み得る。
【００７８】
[0090]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ３０は、ビットストリームを解析して、ビットストリームからシンタックス要素を取得することができる。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも一部基づいて、ビデオデータのピクチャを再構築することができる。ビデオデータを再構築するためのプロセスは、全般に、ビデオエンコーダ２０によって実行されるプロセスの逆であり得る。たとえば、ビデオデコーダ３０は、ＰＵの動きベクトルを使用して、現在のＣＵのＰＵに関する予測ブロックを決定することができる。加えて、ビデオデコーダ３０は、現在のＣＵのＴＵと関連付けられる係数ブロックを逆量子化することができる。ビデオデコーダ３０は、現在のＣＵのＴＵと関連付けられる変換ブロックを再構築するために、係数ブロックに対して逆変換を実行することができる。ビデオデコーダ３０は、現在のＣＵのＰＵに関する予測ブロックのサンプルを現在のＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在のＣＵのコーディングブロックを再構築することができる。ピクチャの各ＣＵに関するコーディングブロックを再構築することによって、ビデオデコーダ３０はピクチャを再構築することができる。
【００７９】
[0091]いくつかの例では、ビデオエンコーダ２０は、統合モードまたは高度な動きベクトル予測（ＡＭＶＰ）モードを使用して、ＰＵの動き情報をシグナリングすることができる。言い換えると、ＨＥＶＣでは、動きパラメータの予測のために２つのモードがあり、一方は統合／スキップモードであり、他方はＡＭＶＰである。動き予測は、１つまたは複数の他のビデオユニットの動き情報に基づく、ビデオユニット（たとえば、ＰＵ）の動き情報の決定を備え得る。ＰＵの動き情報（すなわち、動きパラメータ）は、ＰＵの（１つまたは複数の）動きベクトルと、ＰＵの（１つまたは複数の）参照インデックスと、１つまたは複数の予測方向インジケータとを含み得る。
【００８０】
[0092]ビデオエンコーダ２０が統合モードを使用して現在のＰＵの動き情報をシグナリングするとき、ビデオエンコーダ２０は、統合候補リストを生成する。言い換えると、ビデオエンコーダ２０は、動きベクトル予測子リストの構築プロセスを実行することができる。統合候補リストは、現在のＰＵに空間的または時間的に隣接するＰＵの動き情報を示す、統合候補のセットを含む。すなわち、統合モードでは、動きパラメータ（参照インデックス、動きベクトルなど）の候補リストが構築され、候補は、空間的に隣接するブロックおよび時間的に隣接するブロックからであり得る。
【００８１】
[0093]さらに、統合モードでは、ビデオエンコーダ２０は、統合候補リストから統合候補を選択することができ、現在のＰＵの動き情報として、選択された統合候補によって示される動き情報を使用することができる。ビデオエンコーダ２０は、選択された統合候補の統合候補リスト中の位置をシグナリングすることができる。たとえば、ビデオエンコーダ２０は、選択された統合候補の統合リスト内の位置を示すインデックスを送信する（すなわち、候補インデックスを統合する）ことによって、選択された動きベクトルパラメータをシグナリングすることができる。
【００８２】
[0094]ビデオデコーダ３０は、ビットストリームから、候補リストへのインデックス（すなわち、統合候補インデックス）を取得することができる。加えて、ビデオデコーダ３０は、同じ統合候補リストを生成することができ、統合候補インデックスに基づいて、選択された統合候補を決定することができる。ビデオデコーダ３０は次いで、選択された統合候補の動き情報を使用して、現在のＰＵに関する予測ブロックを生成することができる。すなわち、ビデオデコーダ３０は、候補リストインデックスに少なくとも一部基づいて、候補リスト中の選択された候補を決定することができ、選択された候補は、現在のＰＵに関する動き情報（たとえば、動きベクトル）を規定する。このようにして、デコーダ側において、インデックスが復号されると、インデックスが指す対応するブロックのすべての動きパラメータは、現在のＰＵによって継承され得る。
【００８３】
[0095]様々な例によれば、現在のブロックは２Ｎ×２Ｎの次元を有することがあり、このとき現在のブロックの左上の角はデカルト座標（ｘ，ｙ）によって示される。これらの例によれば、左上の隣接するサンプルの一部分が座標（ｘ−１，ｙ−１）に位置し、またはそうでなければその座標によって記述される。同様に、これらの例では、左下の隣接するサンプルの一部分が座標（ｘ−１，ｙ＋２Ｎ−１）に位置し、またはそうでなければその座標によって記述される。加えて、これらの例では、右上の隣接するサンプルの一部分が座標（ｘ＋２Ｎ−１，ｙ−１）に位置し、またはそうでなければその座標によって記述される。
【００８４】
[0096]ビデオエンコーダ２０は、従属深度ビューの現在のブロックに関する深度値を導出するために、特定された隣接するサンプルの１つまたは複数と関連付けられるデータを使用することができる。次いで、ビデオエンコーダ２０は、現在のビデオブロックに関する相違ベクトルを取得するために、現在のブロックに関する導出された深度値を使用することができる。いくつかの例によれば、ビデオエンコーダ２０は、現在のビデオブロックに関する相違ベクトルを取得するために、導出された深度値を変換することができる。たとえば、ビデオエンコーダ２０は、現在のブロックを含むピクチャと関連付けられる１つまたは複数のカメラパラメータのような様々な利用可能なデータを使用して、導出された深度値を変換することができる。次いで、ビデオエンコーダ２０は、取得された相違ベクトルを現在のブロック全体と関連付けることができる。たとえば、現在のブロックが従属深度ビュー中のＣＵを表す場合、ビデオエンコーダ２０は、ＣＵのすべてのＰＵにわたって相違ベクトルを共有することができる。
【００８５】
[0097]ビデオエンコーダ２０は、隣接するサンプルと関連付けられる特定の条件に基づいて、様々な方式で相違ベクトルを導出するために現在のブロックの隣接するサンプルを使用することができる。たとえば、現在のブロックがピクチャの左上の角に位置する場合、現在のブロックの隣接するサンプルのいずれもが利用可能ではないことがある。現在のブロックがピクチャの境界に位置する例では、３つの隣接するサンプルのうちの１つまたは２つのみが利用可能であり得る。１つの隣接するサンプルしか利用可能ではない例では、ビデオエンコーダ２０は、その１つの利用可能な隣接するサンプルから現在のブロックに関する深度値を継承する（すなわち、現在のブロックの全体に対して、その１つの利用可能な隣接するサンプルから導出される深度値を利用する）ことができる。隣接するサンプルが利用可能ではない例では、ビデオエンコーダ２０は、従属深度ビュー中の現在のブロックに対する動き情報を予測するために、ベースビューから同じ位置にあるブロックを使用することができる。より具体的には、隣接するサンプルが現在のブロックに対して利用可能ではない例では、ビデオエンコーダ２０は、現在のブロックの相違ベクトルを０ベクトルとして設定することができる。この例および他の例では、ビデオエンコーダは、現在のブロックと関連付けられる深度値をデフォルトの深度値に設定することができる。ビデオエンコーダ２０が使用し得るデフォルトの深度値の例は、０または１２８という値を含み得る。
【００８６】
[0098]３つすべての隣接するサンプルが従属深度ビュー中の現在のブロックに対して利用可能であるとビデオエンコーダ２０が決定する例では、ビデオエンコーダ２０は、現在のブロックに関する深度値を導出するために、３つすべての隣接するサンプルと関連付けられる深度値を使用することができる。様々な例において、ビデオエンコーダ２０は、現在のブロックに関する深度値を導出するために、利用可能な隣接するサンプルと関連付けられる深度値に対して種々の計算を実行することができる。いくつかの例によれば、ビデオエンコーダ２０は、隣接するサンプルと関連付けられる深度値を平均して、その平均を現在のブロックに関する深度値として使用することができる。いくつかの例では、ビデオエンコーダ２０は、３つの深度値の平均値を計算することによって平均を得ることができるが、他の例では、ビデオエンコーダ２０は、平均を得るために、３つの深度値のメジアンおよび／またはモードを選択することができる。
【００８７】
[0099]議論の目的で、３つすべての隣接するサンプルが利用可能である例に関して上で説明されたが、ビデオエンコーダ２０は、２つの隣接するサンプルが現在のブロックに関して利用可能である例において本開示の様々な技法を実施できることが理解されるだろう。加えて、議論の目的で、隣接するサンプルの特定のセット（すなわち、左上、右上、および右下のサンプル）に関して上で説明されたが、ビデオエンコーダ２０は、隣接するサンプルおよび／または現在のブロックと隣接しないサンプルを含む、サンプルの様々な組合せを使用するように、本開示の技法を実施することができる。様々な例において、ビデオエンコーダ２０は、現在のブロックに関する再構築された深度値を導出する際に使用されるべきサンプルの特定のセットを選択する際に、様々な利用可能なサンプルを優先順位付けることができる。
【００８８】
[0100]様々な例によれば、ビデオエンコーダ２０は、３つの隣接するサンプルと関連付けられる深度値から現在のブロックの深度値を導出するために、「加重平均」の手法を実施することができる。より具体的には、ビデオエンコーダ２０はそれぞれ、各隣接するサンプルの各深度値に重みを割り当て、各深度値を割り当てられた重みと乗算して３つの加重された積の値を得ることができる。次いで、ビデオエンコーダ２０は、３つの積の値を合計して、その合計を所定の定数（たとえば、１６）によって除算して、結果の値を得ることができる。ビデオエンコーダ２０は、現在のブロックに関する深度値としてその結果の値を使用することができる。
【００８９】
[0101]加重平均の手法のいくつかの実装形態では、ビデオエンコーダ２０は、各隣接するサンプルに以下の相対的な重みを割り当てることができ、すなわち、（５／１６）を左上のサンプルに、（５／１６）を左下のサンプルに、および（６／１６）を右上のサンプルに割り当てることができる。これらの実装形態によれば、ビデオエンコーダ２０は、［（Ｐ0×５）＋（Ｐ1×５）＋（Ｐ2×６）］／１６という式を適用することによって、深度値の加重平均を計算することができる。記述された式において、Ｐ0、Ｐ1、およびＰ2はそれぞれ、左上、左下、および右上のサンプルの深度値を示す。加えて、記述された式において、ビデオエンコーダ２０は１６という所定の定数を使用し、その値によって加重された積の合計を除算する。いくつかの例では、ビデオエンコーダ２０は、オフセット値を３つの積の値の合計に加算することができる。たとえば、オフセットは、選択された定数のような所定の値、またはビデオエンコーダ２０によって実行される別の式の出力であり得る。一例では、ビデオエンコーダ２０は、オフセット値を８という値に選択することができる。この例では、ビデオエンコーダ２０は、［（Ｐ0×５）＋（Ｐ1×５）＋（Ｐ2×６）＋８］／１６という式を適用することによって、深度値の加重平均を計算することができる。重み、オフセット、および所定の定数（式の除数）に関して、具体的な値が上で記述されるが、様々な実装形態において、ビデオエンコーダ２０は、異なる値を、本開示の加重平均の計算において使用される、重み、オフセット、および／または所定の定数に割り当てることができることが諒解されるだろう。
【００９０】
[0102]ビデオエンコーダ２０は、結果の値を、Ｐ0、Ｐ1、およびＰ2の具体的な値に適用されるものとして、従属深度ビュー中の現在のブロックの深度値としての所定のオフセットを伴って、使用することができる。次いで、ビデオエンコーダ２０は、現在のブロックに関する相違ベクトルを導出するために、記述された式から計算されるように、および任意選択でオフセットを含んで、現在のブロックと関連付けられる深度値を変換することができる。上で説明されたように、ビデオエンコーダ２０は、カメラパラメータのようなデータを使用して、導出された深度値を相違ベクトルに変換することができ、ここでビデオブロックはＣＵを表し、ビデオエンコーダ２０は導出された相違ベクトルをＣＵのすべてのＰＵに適用することができる。本明細書で説明される技法のいずれかに従って現在のブロックに対して導出される深度値は、本開示では「再構築された深度値」とも呼ばれ得る。
【００９１】
[0103]本開示の態様によれば、ビデオエンコーダ２０は次いで、現在のピクチャの参照レイヤビューまたはベースビューに基づいて、従属深度ビュー中の現在のブロックに関する動き情報を導出するために、上の技法によって導出された相違ベクトルを使用することができる。様々な例において、ビデオエンコーダ２０は、参照ビューに基づいて、従属深度ビューの現在のブロックに関するビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を導出することができる。いくつかの例において、ビデオエンコーダ２０は、従属深度ビューの現在のブロックと関連付けられるビュー間相違動きベクトル候補（ＩＤＭＶＣ）を取得することができる。ＩＤＭＶＣを取得するために、ビデオエンコーダ２０は、上で説明された技法に従って導出される相違ベクトルを使用することができる。より具体的には、ビデオエンコーダ２０は、ＩＤＭＶＣを導出するために相違ベクトルを相違動きベクトルへと変換することができる。たとえば、ビデオエンコーダ２０は、相違ベクトルを相違動きベクトルへと変換する際に、１つまたは複数のカメラパラメータを適用することができる。ＩＤＭＶＣは、ベース深度ビュー中のビデオデータのブロックを指し得る。ＩＰＭＶＣを取得するために、ビデオエンコーダ２０は、ベースビュー中の対応するブロックと関連付けられる動き情報からＩＰＭＶＣを導出することができる。一例では、ビデオエンコーダ２０は、ベースビュー中の対応するブロックの動き情報をコピーすることによって、ＩＰＭＶＣを導出することができる。ＩＰＭＶＣ導出の様々な例において、ベースビューからの動き情報は、空間的であるか時間的であるかのいずれかであり得る。ＩＰＭＶＣおよび／またはＩＤＭＶＣを取得することによって、ビデオエンコーダ２０は、従属深度ビューの現在のブロックに関する動きベクトル候補の数を増やすために本開示の技法を実施し、場合によっては現在のブロックに関する動きベクトル予測の精度を改善することができる。
【００９２】
[0104]加えて、ビデオエンコーダ２０は、ＩＰＭＶＣとＩＤＭＶＣとを従属深度ビュー中の現在のブロックと関連付けられる統合リストに挿入するために、本開示の技法を実施することができる。いくつかの例では、ビデオエンコーダ２０は、統合リスト中の第１の位置（たとえば、最高の優先度を有する位置、または最高の利用の確率と関連付けられる位置、または最低のインデックス値を有する位置）に、動きベクトル継承（ＭＶＩ）候補を配置することができる。ビデオエンコーダ２０は、ＭＶＩ候補の直後（すなわち、ＭＶＩ候補よりも高いインデックス値を有する位置において）、たとえば統合リスト中の第２の位置において、ＩＰＭＶＣを配置することができる。加えて、ビデオエンコーダ２０は、ＩＰＭＶＣの直後に、および統合リスト中の第１の空間的動きベクトル候補の直前に、ＩＤＭＶＣを配置することができる。ビデオエンコーダ２０は、ＩＤＭＶＣの後に複数の空間的動きベクトル候補を配置することができる。説明された位置にＩＰＭＶＣとＩＤＭＶＣとを含めるように、上で説明された順序で統合リストを構築することによって、ビデオエンコーダ２０は、ベースビューからのビュー間動きベクトル候補の数を増やし、すべての可能性の分布をより確実に反映するように候補を順序付けることによって、深度指向性の動きベクトル予測の精度を改善し、これによって場合によっては符号化ビットのオーバーヘッドを減らすために、本開示の技法を実施することができる。本技法による統合リスト内の候補の他の順序（または優先順位）が、本開示の他の部分で説明される。
【００９３】
[0105]これまで説明されたように、本開示の技法は全般に、ビデオエンコーダ２０が、ベースビューを使用して２つのビュー間動きベクトル候補（すなわち、ＩＰＭＶＣおよびＩＤＭＶＣ）を生成することと、両方の候補が利用可能であれば、従属深度ビュー中の現在のブロックと関連付けられる統合リストに両方の候補を追加することとを対象とする。本開示の様々な態様によれば、ビデオエンコーダ２０は、ベースビューからＩＰＭＶＣを導出することができ、様々な条件に基づいて、ベースビューから導出されたＩＰＭＶＣを統合リストに追加することができる。一例として、ビデオエンコーダ２０は、導出された相違ベクトルを空間的に（たとえば、様々なオフセットの分だけ）シフトし、シフトされた相違ベクトルを使用してシフトされたＩＰＭＶＣを取得することができる。たとえば、ビデオエンコーダ２０は、ベースビュー中の対応するブロックを位置特定するためにシフトされた相違ベクトルを使用することができる。ビデオエンコーダ２０がこの方式で識別し成功裏に位置特定するベースビューブロックに対して、ビデオエンコーダ２０は、対応するベースビューブロックと関連付けられる対応するシフトされたＩＰＭＶＣを選択プールに追加することができる。シフトされた相違ベクトルを使用して導出されたＩＰＭＶＣは、「シフトされたＩＰＭＶＣ」と本明細書において呼ばれる。
【００９４】
[0106]一例では、対応するベースビューブロックを位置特定する際に相違ベクトルをシフトするために、ビデオエンコーダ２０は、「Ｍ1」によって示される水平方向のオフセットと「Ｍ2」によって示される垂直方向のオフセットとを相違ベクトルに適用することができる。この例によれば、ビデオエンコーダ２０は、式（（（幅／２）×４）＋４）を適用することによってＭ1の値を取得し、式（（（高さ／２）×４）＋４）を適用することによってＭ2の値を取得することができる。従属深度ビューからの現在のブロックがＣＵである上の例では、値「幅」および「高さ」はそれぞれ、ＣＵの現在のＰＵの水平方向の次元および垂直方向の次元を示す。具体的な式がＭ1およびＭ２を導出することに関して上で説明されるが、ビデオエンコーダ２０は、他の技法を使用してＭ1とＭ2とを導出することもできることが理解されるだろう。
【００９５】
[0107]いくつかの例では、ビデオエンコーダ２０は、シフトされたＩＰＭＶＣが利用可能ではないと決定することができる。たとえば、シフトされた相違ベクトルによって識別されるベースビューブロックがイントラコーディングまたはイントラ予測される場合、ビデオエンコーダ２０は、シフトされたＩＰＭＶＣが利用可能ではないと決定することができる。シフトされたＩＰＭＶＣが利用可能ではないとビデオエンコーダ２０が決定する例では、ビデオエンコーダ２０は、本開示の態様に従って、それによって統合リストを埋める動きベクトル候補を生成するために、１つまたは複数の相違動きベクトル（ＤＭＶ）を使用することができる。たとえば、ビデオエンコーダ２０は、従属深度ビュー中の現在のブロックの空間的に隣接するブロックと関連付けられるＤＭＶを選択し、選択されたＤＭＶを所定のオフセットだけシフトして、相違シフトされた動きベクトル（ＤＳＭＶ：disparity shifted motion vector）候補を取得することができる。
【００９６】
[0108]たとえば、ビデオエンコーダ２０は、空間的に隣接するブロックと関連付けられる参照ピクチャリストのセットを調査することができる。より具体的には、上で説明された空間的に隣接するブロックの各々は、ＲｅｆＰｉｃＬｉｓｔ０とＲｅｆＰｉｃＬｉｓｔ１とを含み得る。ビデオエンコーダ２０は、上で説明された空間的に隣接するブロックの各々に対するそれぞれのＲｅｆＰｉｃＬｉｓｔ０を調査して、調査されたＲｅｆＰｉｃＬｉｓｔ０のインスタンスのいずれかが相違動きベクトル（ＤＭＶ）を含むかどうかを決定することができる。ビデオエンコーダ２０が調査されるＲｅｆＰｉｃＬｉｓｔ０のインスタンスの１つにおいてＤＭＶを検出する場合、ビデオエンコーダ２０は、調査されたＲｅｆＰｉｃＬｉｓｔ０のインスタンスから利用可能なＤＭＶを選択することができる。たとえば、ビデオエンコーダ２０は、ビデオエンコーダ２０が調査されたＲｅｆＰｉｃＬｉｓｔ０のインスタンスから検出する、第１の利用可能なＤＭＶを選択することができる。次いで、ビデオエンコーダ２０は、ＤＳＭＶ候補を取得するために、選択されたＤＭＶの水平のオフセットをシフトすることができる。加えて、ＤＳＭＶ候補を生成する際に、ビデオエンコーダ２０は、選択されたＤＭＶから参照インデックスをコピーまたは「継承」することができる。たとえば、ＤＳＭＶ候補がＭｖＣによって示され、選択されたＤＭＶがｍｖ［０］によって示される場合、ビデオエンコーダ２０は、次の式を使用してＤＳＭＶ候補を導出することができる。すなわち、ＭｖＣ［０］＝ｍｖ［０］、ＭｖＣ［１］＝ｍｖ［１］、およびＭｖＣ［０］［０］＋＝Ｎであり、ここで「Ｎ」は所定の定数（または「固定された」値）である。ビデオエンコーダ２０が使用し得るＮの例示的な値は、４、８、１６、３２、６４、−４、−８、−１６、−３２、−６４を含む。
【００９７】
[0109]いくつかの例では、ビデオエンコーダ２０は、空間的に隣接するブロックと関連付けられるＲｅｆＰｉｃＬｉｓｔ０のインスタンスを探索または調査するときに、従属深度ビューの空間的に隣接するブロックと関連付けられるいずれのＤＭＶも位置特定してないことがある。これらの例では、ビデオエンコーダ２０は、従属深度ビュー中の空間的に隣接するブロックと関連付けられるＤＭＶを使用してＤＳＭＶを導出することができない。代わりに、ＤＭＶ候補が対応するＲｅｆＰｉｃＬｉｓｔ０のインスタンスのいずれの中でも利用可能ではないとビデオエンコーダ２０が決定する場合、ビデオエンコーダ２０は、統合リストへと挿入するためのＤＳＭＶ候補を取得するために、本開示の代替的な技法を実施することができる。
【００９８】
[0110]たとえば、ビデオエンコーダ２０が、空間的に隣接する候補に対応するＲｅｆＰｉｃＬｉｓｔ０のインスタンスのいずれかの中の空間的に隣接する候補と関連付けられるいずれのＤＭＶも位置特定してない場合、ビデオエンコーダ２０は、現在のブロックに対して計算される相違ベクトルをシフトすることによって、ＤＳＭＶ候補を導出することができる。より具体的には、ビデオエンコーダ２０は、相違ベクトルにオフセットを加算して、得られたシフトされた相違ベクトルをＤＳＭＶ候補として使用することができる。相違ベクトルがＤＶによって示される場合、ビデオエンコーダ２０は次の式を使用してＤＳＭＶを導出することができる。すなわち、ＭｖＣ［０］＝ＤＶおよびＭｖＣ［０］［０］＋＝Ｎ、ＭｖＣ［０］［１］＝０およびＭｖＣ［１］＝ＤＶおよびＭｖＣ［１］［０］＋＝Ｎ、ＭｖＣ［１］［１］＝０である。ビデオエンコーダ２０は、４、８、１６、３２、６４、−４、−８、−１６、−３２、または−６４のような様々な値をＮに割り当てることができる。加えて、ビデオエンコーダ２０は、ＭｖＣ［Ｘ］に対応する参照インデックスを、ベースビューに属するＲｅｆＰｉｃＬｉｓｔＸ（Ｘは０以外の値を示す）中のピクチャの参照インデックスに設定することができる。
【００９９】
[0111]ここまで説明された様々な技法によれば、ビデオエンコーダ２０は、従属深度ビュー中の現在のブロックに関する３つの追加の動きベクトル候補を導出するために、深度ビューにわたってビュー間動き予測を適用することができる。すなわち、ビデオエンコーダ２０は、深度ビューにわたってビュー間動きベクトル予測を適用することによって、従属深度ビュー中の現在のブロックに対して、ＩＰＭＶＣと、ＩＤＭＶＣと、シフトされたＩＰＭＶＣ／ＤＳＭＶ候補とを導出することができる。本明細書で説明される１つまたは複数の技法を実施することによって、ビデオエンコーダ２０は、従来のプロセスに従って生成される動きベクトル候補の数よりも多数の動きベクトル候補を生成することによって、従属深度ビューに関する動きベクトル予測の精度を改善することができる。様々な例において、ビデオエンコーダ２０は、１つまたは複数の従属深度ビューがコーディングされる前にコーディングされ得る深度ベースビューからの動き情報を利用することによって、より多数の動きベクトル候補を生成することができる。このようにして、ビデオエンコーダ２０は、深度ベースビューからのすでにコーディングされている動き情報を使用してより多数の動きベクトル候補を生成することによって精度および／または安定性を改善するために、本開示の技法を実施することができる。
【０１００】
[0112]次いで、ビデオエンコーダ２０は、上で説明されたように取得される、ＩＰＭＶＣ、ＩＤＭＶＣ、および／またはシフトされたＩＰＭＶＣ／ＤＳＭＶの１つまたは複数を場合によっては含む、統合リストを構築するために、本開示の技法を実施することができる。統合リストに含まれる動きベクトル候補の間の冗長性を軽減し、またはなくすために、ビデオエンコーダ２０は、本明細書では「刈り込み（pruning）」と呼ばれるプロセスを実施することができる。本明細書で説明されるように、刈り込みは、複数の統合リスト候補が同一であるかどうかをビデオエンコーダ２０が確認することができ、次いで、統合リスト内での冗長性を小さくするために同一の候補の１つまたは複数を除去することができる、１つまたは複数の技法を指し得る。刈り込みプロセスの一部として、ビデオエンコーダ２０は、統合リストへの挿入の前に２つ以上の統合リスト候補の動きベクトルと参照インデックスとを互いに対して比較し、統合リスト候補が互いに同一ではない場合、統合リスト候補の１つまたは複数を削除することができる。具体的な例では、ビデオエンコーダ２０は、動きベクトル、参照インデックスＬ0、および参照インデックスＬ1という、各々の２つの統合リスト候補の対応する特性を比較することができる。
【０１０１】
[0113]本開示の技法によれば、ビデオエンコーダ２０は制約された刈り込みプロセスを実行することができる。たとえば、ビデオエンコーダ２０は、本開示の制約された刈り込みプロセスを実施して、ＩＰＭＶＣを動きベクトル継承（ＭＶＩ）候補と比較することができる。ＩＰＭＶＣがＭＶＩ候補と同一である場合、ビデオエンコーダ２０は、統合リストへと挿入するための選択からＩＰＭＶＣを除去することができる。この例および他の例において、ビデオエンコーダ２０は、制約された刈り込みを実施して、統合リストに関して生成される空間的統合候補の各々とＩＤＭＶＣを比較することができる。同様に、ビデオエンコーダ２０は、ＩＤＭＶＣが空間的統合候補のいずれかと一致する（すなわち、同一である）場合、統合リストのための選択からＩＤＭＶＣを除去することができる。加えて、シフトされたＩＰＭＶＣが生成された場合、ビデオエンコーダ２０は、シフトされたＩＰＭＶＣをＩＰＭＶＣと比較して、シフトされたＩＰＭＶＣを除去することができる。
【０１０２】
[0114]代替的に、シフトされたＩＰＭＶＣが生成されなかった場合、上で説明されたように、ビデオエンコーダ２０はＤＳＭＶ候補へのアクセスを有し得る。この例では、ビデオエンコーダ２０は、刈り込みの目的でＤＳＭＶを任意の他の候補と比較することなく、ＤＳＭＶを統合リストへと挿入することができる。シフトされたＩＰＭＶＣが利用可能であったが、ＩＰＭＶＣに対する刈り込みに基づいて除去された例では、ビデオエンコーダ２０は、統合リスト中の最後の位置にいずれの候補も挿入しなくてよい。このようにして、ビデオエンコーダ２０は、制約された刈り込みプロセスを実施して、本明細書で説明されるような深度指向性のビュー間動き予測を使用して生成される追加の動きベクトル候補を含む統合リストを構築することができる。
【０１０３】
[0115]各候補に関するインデックス値が前に付けられた（prefixed）、ビデオエンコーダ２０によって構築されるような例示的な統合リストの順序は次の通りである。
０．ＭＶＩ候補
１．ＭＶＩ候補に対する刈り込みを介して除去されなければ、本明細書で説明される技法によって生成されるようなＩＰＭＶＣ
２．空間的候補Ａ１と空間的候補Ｂ１のいずれかに対する刈り込みを介して除去されなければ、本明細書で説明される技法によって生成されるようなＩＤＭＶＣ
３．空間的候補Ａ０
４．空間的候補Ｂ２
５．（利用可能でありＩＰＭＶＣに対する刈り込みを介して除去されなければ）本明細書で説明される技法によって生成されるようなシフトされたＩＰＭＶＣ、または（シフトされたＩＰＭＶＣが利用可能であれば）ＤＳＭＶ、または（たとえば、シフトされたＩＰＭＶＣは利用可能であったが、ＩＰＭＶＣに対する刈り込みを介して除去されれば）候補なし
上で説明される例示的な統合リストでは、インデックス値は対応する候補の相対的な位置を示す。１つの例示的な観点によれば、インデックス値０は統合リスト内の最初の位置に対応し、インデックス値１は統合リスト中の２番目の位置に対応し、以下同様であり、インデックス値５は統合リスト内の最後の位置に対応する。加えて、ビデオエンコーダ２０は、最も可能性のある候補（たとえば、選択される確率が最高の候補）をインデックス０において配置するように統合リストを構築することができる。より具体的には、ビデオエンコーダ２０は、インデックス０からインデックス５までの位置に対応して、選択される確率の降順で候補を配置することができる。このようにして、ビデオエンコーダ２０は、バイナリ値として表されるべき、単一のビットしか必要としない０および１の値に基づいて、シグナリングの間のビットのオーバーヘッドを低減することができる。
【０１０４】
[0116]加えて、ビデオエンコーダ２０は、それによって現在のブロックに関する動き情報を符号化すべき、動きベクトル候補の１つを統合リストから選択することができる。次いで、ビデオエンコーダ２０は、ビデオデコーダ３０に選択された動きベクトル候補のインデックスをシグナリングすることができる。ビデオデコーダ３０は、１つまたは複数の深度指向性のビュー間動きベクトル候補を生成するために、ビデオエンコーダ２０に関して上で説明された技法の１つまたは複数を実施することができる。ビデオデコーダ３０は、深度指向性のビュー間動きベクトル候補の１つまたは複数を場合によっては含む統合リストの少なくとも一部分を再構築するために本開示の１つまたは複数の技法を実施することができ、復号の目的で同じ動きベクトル候補を選択するために、ビデオエンコーダ２０によってシグナリングされたインデックスを使用することができる。より具体的には、本開示の１つまたは複数の態様によれば、ビデオエンコーダ２０によってシグナリングされたインデックスと関連付けられる動きベクトル候補を選択することによって、ビデオデコーダ３０は、深度指向性のビュー間動き情報を使用して従属深度ビュー中の現在のブロックを復号して、それによって、現在のブロックの動き情報の精度と安定性とを改善することができる。
【０１０５】
[0117]本明細書で説明されるように、ビデオエンコーダ２０またはビデオデコーダ３０の一方または両方は、ビデオデータをコーディングするためのデバイスを表し、含み、そのデバイスであり、またはそのデバイスの一部であってよく、そのデバイスはメモリと１つまたは複数のプロセッサとを含む。１つまたは複数のプロセッサは、従属深度ビュー中のビデオデータのブロックに隣接して配置される１つまたは複数の隣接するピクセルに基づいて、従属深度ビューに含まれるビデオデータのブロックと関連付けられる深度値を決定し、ビデオデータのブロックと関連付けられる決定された深度値に少なくとも一部基づいて、ビデオデータのブロックと関連付けられる相違ベクトルを生成するように構成され、またはそうでなければそのように動作可能であり得る。１つまたは複数のプロセッサはさらに、ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を生成するために相違ベクトルを使用し、ベースビュー中のビデオデータの対応するブロックに基づいて、ビデオデータのブロックと関連付けられるビュー間予測動きベクトル候補（ＩＰＭＶＣ）を生成し、ビデオデータのブロックと関連付けられる統合候補リストにＩＤＭＶＣとＩＰＭＶＣのいずれかを追加すべきかどうかを決定するように構成され、または動作可能であり得る。様々な例において、ＩＤＭＶＣまたはＩＰＭＶＣのいずれかを統合候補リストに追加すべきかどうかを決定するために、１つまたは複数のプロセッサは、統合候補リストにＩＤＭＶＣとＩＰＭＶＣの一方を追加すべきか、両方を追加すべきか、またはいずれも追加すべきではないかを決定するように構成され、または動作可能であり得る。いくつかの例では、深度値を決定するために、１つまたは複数のプロセッサは、１つまたは複数の隣接するピクセルと関連付けられる値の加重平均を計算するように構成される。いくつかの例によれば、１つまたは複数の隣接するピクセルは、ビデオデータのブロックに対して左上のピクセルと、右上のピクセルと、右下のピクセルとを含む。いくつかの例では、加重平均を計算するために、１つまたは複数のプロセッサは、複数の重み付けられた値を取得するために、５、６、および５という重みを、左上のピクセル、右上のピクセル、および右下のピクセルにそれぞれ適用するように構成される。
【０１０６】
[0118]様々な例によれば、加重平均を計算するために、１つまたは複数のプロセッサは、複数の重み付けられた値に基づいて合計を取得し、オフセット値および合計に基づいてオフセット合計を取得するように構成される。いくつかの例では、加重平均を計算するために、１つまたは複数のプロセッサは、所定の値によってオフセット合計を除算するように構成される。いくつかの例では、オフセット値は８という値を備え、所定の値は１６という値を備える。いくつかの例では、深度値を決定するために、１つまたは複数のプロセッサは、１つまたは複数の隣接するピクセルと関連付けられる平均値、メジアン値、またはモード値の少なくとも１つを計算するように構成される。いくつかの例によれば、ビデオデータのブロックはコーディングユニット（ＣＵ）であり、生成された相違ベクトルは、ＣＵに含まれるすべての予測ユニット（ＰＵ）に適用される。
【０１０７】
[0119]様々な例において、ＩＰＭＶＣを生成するために、１つまたは複数のプロセッサは、ビデオデータのブロックのベースビューからＩＰＭＶＣを導出するように構成される。いくつかの例によれば、１つまたは複数のプロセッサはさらに、シフトされた相違ベクトルを形成するために相違ベクトルを空間的にシフトし、ベースビュー中のビデオデータの対応するブロックを位置特定するためにシフトされた相違ベクトルを使用するように構成される。いくつかの例では、１つまたは複数のプロセッサはさらに、シフトされたＩＰＭＶＣがベースビュー中のビデオデータの位置特定された対応するブロックから利用可能かどうかを決定し、シフトされたＩＰＭＶＣが利用可能であるという決定に基づいて、シフトされたＩＰＭＶＣを統合リストに追加すべきかどうかを決定するように構成される。
【０１０８】
[0120]いくつかの例によれば、現在のブロックの１つまたは複数の空間的に隣接するブロックの各々は、それぞれの参照ピクチャリスト０およびそれぞれの参照ピクチャリスト１と関連付けられる。いくつかのそのような例では、１つまたは複数のプロセッサはさらに、シフトされたＩＰＭＶＣがベースビューから利用可能ではないと決定するように、および、空間的に隣接するブロックと関連付けられる少なくとも１つのそれぞれの参照ピクチャリスト０が相違動きベクトルを含むかどうかを決定するように構成される。いくつかのそのような例では、１つまたは複数のプロセッサは、空間的に隣接するブロックと関連付けられる少なくとも１つのそれぞれの参照ピクチャリスト０が相違動きベクトルを含むという決定に基づいて、相違シフトされた動きベクトル（ＤＳＭＶ）候補を形成するために、それぞれの参照ピクチャリスト０に含まれる相違動きベクトルの水平成分をシフトするように構成される。１つのそのような例では、１つまたは複数のプロセッサは、ＤＳＭＶ候補を統合リストに追加するように構成される。
【０１０９】
[0121]いくつかの例では、１つまたは複数のプロセッサはさらに、それぞれの参照ピクチャリスト０のいずれもが相違動きベクトルを含まないことを決定し、ＤＳＭＶ候補を形成するためにオフセット値を相違ベクトルに適用し、ＤＳＭＶ候補を統合リストに適用するように構成される。いくつかの例によれば、深度値を決定するために、１つまたは複数のプロセッサは、１つまたは複数の隣接するピクセルが１つだけの利用可能な隣接するピクセルを含むと決定し、ビデオデータのブロックの深度値を形成するために１つの利用可能な隣接するピクセルの深度値を継承するように構成される。いくつかの例では、１つまたは複数のプロセッサはさらに、１つまたは複数の隣接するピクセルのいずれもが利用可能ではないと決定するように構成され、相違ベクトルを生成するために、１つまたは複数のプロセッサは、相違ベクトルを０ベクトルに設定することと、ビデオデータのブロックと関連付けられる深度値をデフォルトの深度値に設定することとの少なくとも１つを行うように構成される。
【０１１０】
[0122]ビデオエンコーダ２０および／またはビデオデコーダ３０の一方または両方は、ビデオデータをコーディングするためのデバイスを表し、含み、そのデバイスであり、またはそのデバイスの一部であってよく、そのデバイスはメモリと１つまたは複数のプロセッサとを含む。１つまたは複数のプロセッサは、ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較するように構成され、またはそうでなければそのように動作可能であってよく、ＩＰＭＶＣとＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＰＭＶＣがベース深度ビュー中のビデオデータの対応するブロックから生成される。１つまたは複数のプロセッサはさらに、ＩＰＭＶＣがＭＶＩ候補と異なることに基づいてＩＰＭＶＣを統合候補リストに追加すること、または、ＩＰＭＶＣがＭＶＩ候補と同一であることに基づいて統合候補リストからＩＰＭＶＣを除外することの１つを実行するように構成され、または動作可能であり得る。いくつかの例では、ＩＰＭＶＣを統合リストに追加するために、１つまたは複数のプロセッサはさらに、ＭＶＩ候補が統合候補リストへの追加に利用可能ではないこと基づいて、統合候補リスト内の最初の位置（an initial position）においてＩＰＭＶＣを挿入すること、または、ＭＶＩ候補が統合候補リストへの追加に利用可能であること基づいて、統合候補リスト内のＭＶＩ候補の位置に後続する統合候補リスト内の位置においてＩＰＭＶＣを挿入することの１つを実行するように構成される。様々な例において、最初の位置は０というインデックス値と関連付けられる。
【０１１１】
[0123]いくつかの例によれば、ＩＰＭＶＣをＭＶＩ候補と比較するために、１つまたは複数のプロセッサは、ＩＰＭＶＣと関連付けられる動き情報をＭＶＩ候補と関連付けられる対応する動き情報と比較し、ＩＰＭＶＣと関連付けられる少なくとも１つの参照インデックスをＭＶＩ候補と関連付けられる少なくとも１つの対応する参照インデックスと比較するように構成される。いくつかの例では、１つまたは複数のプロセッサはさらに、ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を、統合候補リストと関連付けられる第１の空間的候補および統合候補リストと関連付けられる第２の空間的候補の利用可能な１つまたは複数と比較するように構成され、または動作可能であり、ＩＤＭＶＣ、第１の空間的候補、および第２の空間的候補の各々は、従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＤＭＶＣは、ビデオデータのブロックと関連付けられる相違ベクトルから生成される。いくつかのそのような例によれば、１つまたは複数のプロセッサは、ＩＤＭＶＣが第１の空間的候補および第２の空間的候補の利用可能な１つまたは複数の各々とは異なることに基づいて、ＩＤＭＶＣを統合候補リストに追加すること、または、ＩＤＭＶＣが第１の空間的候補または第２の空間的候補の少なくとも１つと同一であることに基づいて、ＩＤＭＶＣを統合候補リストから除外することの１つを実行するように構成され、またはそうでなければそのように動作可能である。
【０１１２】
[0124]いくつかの例では、ＩＤＭＶＣを統合候補リストに追加するために、１つまたは複数のプロセッサは、統合候補リスト内の次の利用可能な位置にＩＤＭＶＣを挿入するように構成され、または動作可能である。いくつかのそのような例では、統合候補リスト内の次の利用可能な位置にＩＤＭＶＣを挿入するために、１つまたは複数のプロセッサは、第１の空間的候補の少なくとも１つの位置または第２の空間的候補の位置に後続する位置にＩＤＭＶＣを挿入するように構成され、または動作可能である。いくつかの例によれば、１つまたは複数のプロセッサはさらに、シフトされたＩＰＭＶＣが利用可能であると決定するように構成され、または動作可能であり、シフトされたＩＰＭＶＣは従属深度ビュー中のビデオデータのブロックと関連付けられ、シフトされたＩＰＭＶＣはベース深度ビュー中のビデオデータの対応するブロックから生成される。いくつかのそのような例では、１つまたは複数のプロセッサはさらに、シフトされたＩＰＭＶＣをＩＰＭＶＣと比較するように構成され、または動作可能である。
【０１１３】
[0125]いくつかの例によれば、１つまたは複数のプロセッサはさらに、シフトされたＩＰＭＶＣがＩＰＭＶＣと異なること、および統合候補リストが６個未満の候補を含むことに基づいて、シフトされたＩＰＭＶＣを統合候補リストに追加すること、または、シフトされたＩＰＭＶＣがＩＰＭＶＣと同一であることに基づいて、シフトされたＩＰＭＶＣを統合候補リストから除外することの１つを実行するように構成される。いくつかの例では、１つまたは複数のプロセッサはさらに、相違シフトされた動きベクトル（ＤＳＭＶ）候補が利用可能であると決定するように構成され、ＤＳＭＶ候補は従属深度ビュー中のビデオデータのブロックと関連付けられ、ＤＳＭＶ候補は従属深度ビュー中のビデオデータのブロックと関連付けられる１つまたは複数の空間的に隣接するブロックを使用して生成される。いくつかの例によれば、１つまたは複数のプロセッサはさらに、統合候補リストが６個未満の候補を含むことに基づいて、ＤＳＭＶ候補を統合候補リストに追加するように構成され、または動作可能である。
【０１１４】
[0126]いくつかの例では、ＤＳＭＶ候補を統合候補リストに追加するために、１つまたは複数のプロセッサは、１）統合候補リストに含まれる空間的候補の位置に後続する、および２）統合候補リストに含まれる時間的候補の位置に先行する位置に、ＤＳＭＶ候補を挿入するように構成される。いくつかの例によれば、ＤＳＭＶ候補が利用可能であると決定するために、１つまたは複数のプロセッサは、シフトされたＩＰＭＶＣが利用可能ではないと決定したことに応答してＤＳＭＶ候補が利用可能であると決定するように構成され、または動作可能であり、シフトされたＩＰＭＶＣは従属深度ビュー中のビデオデータのブロックと関連付けられ、シフトされたＩＰＭＶＣはビデオデータのブロックのベースビューから生成される。
【０１１５】
[0127]いくつかの例によれば、ＤＳＭＶ候補は、１つまたは複数の空間的に隣接するサンプルの少なくとも１つの空間的に隣接するサンプルと関連付けられる参照ピクチャリスト０（ＲｅｆＰｉｃＬｉｓｔ０）から選択される相違動きベクトル（ＤＭＶ）を含む。いくつかの例では、ＤＳＭＶ候補は、従属深度ビュー中のビデオデータのブロックと関連付けられる相違ベクトルのシフトに基づいて生成され、相違ベクトルは、従属深度ビュー中のビデオデータのブロックと関連付けられる１つまたは複数の空間的に隣接するブロックと関連付けられる１つまたは複数の深度値から生成される。
【０１１６】
[0128]図２は、ビデオコーディングにおける深度指向性のビュー間動きベクトル予測のための技法を実施する、またはそうでなければ利用し得る、ビデオエンコーダ２０の例を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために、空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内またはピクチャ内のビデオの時間的冗長性を低減または除去するために、時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。一方向予測（Ｐモード）または双予測（Ｂモード）のようなインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
【０１１７】
[0129]図２に示されるように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、参照フレームメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピーコーディングユニット５６とを含む。モード選択ユニット４０は次いで、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、区分ユニット４８とを含む。ビデオブロック再構築のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構築されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするための、デブロッキングフィルタ（図２に示されず）も含まれ得る。望まれる場合、デブロッキングフィルタは通常、加算器６２の出力をフィルタリングする。追加のフィルタ（ループ内またはループ後）も、デブロッキングフィルタに加えて使用され得る。そのようなフィルタは簡潔のために示されていないが、望まれる場合、（ループ内フィルタとして）加算器５０の出力をフィルタリングすることができる。
【０１１８】
[0130]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間的予測をもたらすために、１つまたは複数の参照フレームの中の１つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット４６は、代替的に、空間的予測をもたらすために、コーディングされるべきブロックと同じフレームまたはスライスの中の１つまたは複数の隣接するブロックに対して、受信されたビデオブロックのイントラ予測コーディングを実行することができる。ビデオエンコーダ２０は、たとえば、ビデオデータの各ブロックに対する適切なコーディングモードを選択するために、複数のコーディングパスを実行することができる。
【０１１９】
[0131]その上、区分ユニット４８は、以前のコーディングパスにおける以前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分することができる。たとえば、区分ユニット４８は、最初は、レート歪み分析（たとえば、レート歪み最適化）に基づいて、フレームまたはスライスをＬＣＵに区分し、ＬＣＵの各々をサブＣＵに区分することができる。モード選択ユニット４０は、ＬＣＵのサブＣＵへの区分を示す４分木データ構造をさらに生成することができる。４分木のリーフノードＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。
【０１２０】
[0132]モード選択ユニット４０は、たとえば、誤差の結果に基づいて、コーディングモードの１つ、イントラまたはインターを選択し、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを、残差ブロックデータを生成するために加算器５０に与え、参照フレームとして使用するための符号化されたブロックを再構築するために加算器６２に与えることができる。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報のような、シンタックス要素をエントロピーコーディングユニット５６に与える。
【０１２１】
[0133]動き推定ユニット４２および動き補償ユニット４４は、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット４２によって実行される動き推定は、動きベクトルを生成するプロセスであり、これはビデオブロックに対する動きを推定する。動きベクトルは、たとえば、現在のフレーム内でコーディングされている現在のブロック（または、他のコーディングユニット）に対する、参照フレーム内の予測ブロック（または、他のコーディングユニット）に対する現在のビデオフレーム内またはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、ピクセル差分に関して、コーディングされるべきブロックと厳密に一致することが見出されたブロックであり、ピクセル差分は、絶対値差分の合計（ＳＡＤ）、二乗差分の合計（ＳＳＤ）、または他の差分のメトリクスによって決定され得る。いくつかの例では、ビデオエンコーダ２０は、参照フレームメモリ６４に記憶されている参照ピクチャの、サブ整数ピクセル位置に対する値を計算することができる。たとえば、ビデオエンコーダ２０は、参照ピクチャの、４分の１ピクセル位置、８分の１ピクセル位置、または他の分数のピクセル位置の値を補間することができる。したがって、動き推定ユニット４２は、完全なピクセル位置および分数のピクセル位置に対して動き探索を実行し、動きベクトルを分数のピクセル精度で出力することができる。
【０１２２】
[0134]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス中のビデオブロックのＰＵに対する動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択されてよく、それらの各々は、参照フレームメモリ６４に記憶されている１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルを、エントロピー符号化ユニット５６および動き補償ユニット４４に送る。
【０１２３】
[0135]動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成することに関与し得る。やはり、いくつかの例では、動き推定ユニット４２および動き補償ユニット４４は、機能的に統合され得る。現在のビデオブロックのＰＵに対する動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストの１つにおいて指し示す予測ブロックを位置特定することができる。加算器５０は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって残差ビデオブロックを形成し、以下で説明されるようにピクセル差分の値を形成する。一般に、動き推定ユニット４２は、ルーマ成分に対する動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のために、ルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連付けられる、シンタックス要素を生成することができる。
【０１２４】
[0136]イントラ予測ユニット４６は、上で説明されたように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定することができる。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パスの間に様々なイントラ予測モードを使用して現在のブロックを符号化し、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、使用するのに適切なイントラ予測モードを、テストされたモードから選択することができる。
【０１２５】
[0137]たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードに対して、レート歪み分析を使用してレート歪みの値を計算し、テストされたモードの中から最良のレート歪み特性を有するイントラ予測モードを選択することができる。レート歪み分析は一般に、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み（または誤差）の量、ならびに符号化されたブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化されたブロックに関する歪みおよびレートから比を計算することができる。
【０１２６】
[0138]ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピーコーディングユニット５６に与えることができる。エントロピーコーディングユニット５６は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ２０は、送信されるビットストリーム中に構成データを含むことがあり、構成データは、コンテキストの各々に対して使用すべき、複数のイントラ予測モードのインデックステーブルと、複数の修正されたイントラ予測モードのインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックに対する符号化コンテキストの定義と、最も起こりそうなイントラ予測モードと、イントラ予測モードのインデックステーブルと、修正されたイントラ予測モードのインデックステーブルの指示とを含み得る。
【０１２７】
[0139]ビデオエンコーダ２０は、モード選択ユニット４０からの予測データを、コーディングされている元のビデオブロックから減算することによって、残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１または複数のコンポーネントを表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的には類似する変換のような変換を残差ブロックに適用し、残差変換係数の値を備えるビデオブロックを生成する。変換処理ユニット５２は、概念的にはＤＣＴに類似する他の変換を実行することができる。ウェーブレット変換、整数変換、サブバンド変換または他のタイプ変換も使用され得る。いずれの場合でも、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を、ピクセル値領域から周波数領域のような変換領域に変換することができる。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４へ送ることができる。量子化ユニット５４は、ビットレートをさらに低減するために、変換係数を量子化する。量子化プロセスは、係数の一部またはすべてと関連付けられたビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット５４は次いで、量子化された変換係数を含む行列の走査を実行することができる。代替的に、エントロピー符号化ユニット５６が走査を実行することができる。
【０１２８】
[0140]量子化の後に、エントロピーコーディングユニット５６は量子化された変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実行することができる。コンテキストベースのエントロピーコーディングの場合、コンテキストは隣接するブロックに基づき得る。エントロピーコーディングユニット５６によるエントロピーコーディングの後に、符号化されたビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信され、あるいは、後で送信するかまたは取り出すためにアーカイブされ得る。
【０１２９】
[0141]逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構築する。動き補償ユニット４４は、残差ブロックを参照フレームメモリ６４のフレームの１つの予測ブロックに加算することによって、参照ブロックを計算することができる。動き補償ユニット４４は、動き推定において使用するためのサブ整数ピクセル値を計算するために、１つまたは複数の補間フィルタを再構築された残差ブロックに適用することもできる。加算器６２は、参照フレームメモリ６４へ記憶するための再構築されたビデオブロックを生成するために、再構築された残差ブロックを、動き補償ユニット４４によって生成される動き補償された予測ブロックに加算する。再構築されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするための参照ブロックとして、動き推定ユニット４２および動き補償ユニット４４によって使用され得る。
【０１３０】
[0142]マルチビュービデオコーディング
[0143]マルチビュービデオコーディング（ＭＶＣ）はＨ．２６４／ＡＶＣの拡張である。ＭＶＣの仕様は、以下の本開示のセクションおよびサブセクションにおいて簡単に論じられる。
【０１３１】
[0144]ＭＶＣビットストリーム構造
[0145]典型的なＭＶＣ復号順序（すなわち、ビットストリーム順序）が図４に示される。復号順序の構成は時間優先コーディング（time-first coding）と呼ばれる。各アクセスユニット（ＡＵ）は、１つの出力時間インスタンスのためのすべてのビューのコーディングされたピクチャを含むように定義される。アクセスユニットの復号順序は出力または表示の順序と同じではないことがあることに留意されたい。
【０１３２】
[0146]ＭＶＣコーディング構造
[0147]マルチビュービデオコーディングのための（各ビュー内のピクチャ間予測とビュー間予測の両方を含む）典型的なＭＶＣ予測構造が図５において示され、ここで、予測は矢印によって示され、矢印の終点のオブジェクトは、予測参照のために矢印の始点のオブジェクトを使用する。
【０１３３】
[0148]ＭＶＣでは、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする、相違動き補償によって、ビュー間予測がサポートされる。
【０１３４】
[0149]２つのビューのコーディングは、ＭＶＣによってもサポートされることが可能であり、ＭＶＣの利点の１つは、ＭＶＣエンコーダが３Ｄビデオ入力として３つ以上のビューをとらえることができることと、ＭＶＣデコーダがそのようなマルチビュー表現を復号できることである。したがって、ＭＶＣデコーダを有する任意のレンダラは、３つ以上のビューをもつ３Ｄビデオコンテンツを予想することができる。
【０１３５】
[0150]ＭＶＣビュー間予測
[0151]ＭＶＣでは、同じアクセスユニット中の（すなわち、同じ時間インスタンスを有する）ピクチャ間でビュー間予測が可能にされる。非ベースビューの１つの中のピクチャをコーディングするとき、追加される可能性のあるピクチャが異なるビュー中にあるが同じ時間インスタンスを有する場合、ピクチャは参照ピクチャリストに追加され得る。
【０１３６】
[0152]ビュー間参照ピクチャは、任意のインター予測参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。ビュー間参照ピクチャが動き補償のために使用されるとき、対応する動きベクトルは「相違動きベクトル」と呼ばれる。
【０１３７】
[0153]ＨＥＶＣ技法
[0154]いくつかの関連するＨＥＶＣ技法が以下で検討される。
【０１３８】
[0155]参照ピクチャリスト構築
[0156]通常、Ｂピクチャの第１または第２の参照ピクチャリストのための参照ピクチャリスト構築は、２つのステップ、すなわち参照ピクチャリストの初期化と、参照ピクチャリストの並べ替え（または「修正」）とを含む。参照ピクチャリストの初期化は、参照ピクチャメモリ（「復号ピクチャバッファ」としても知られる）中の参照ピクチャを、ピクチャ順序カウント（ＰＯＣ）値の順序に基づいてリストに入れる明示的な機構であり、ＰＯＣ値の順序は対応するピクチャの表示順序と揃えられる。参照ピクチャリストの並べ替え機構は、参照ピクチャリストの初期化中にリストに入れられたピクチャの位置を任意の新しい位置に修正することができ、または参照ピクチャメモリ中の任意の参照ピクチャを、そのピクチャが初期化されたリストに属さなくても、任意の位置に入れることができる。参照ピクチャリストの並べ替え（修正）の後のいくつかのピクチャは、リスト中のはるかに離れた位置に入れられることがある。しかしながら、ピクチャの位置がリストのアクティブ参照ピクチャの数を超える場合、ピクチャは、最終参照ピクチャリストのエントリーとは見なされない。アクティブ参照ピクチャの数は、各リストのためのスライスヘッダにおいてシグナリングされ得る。
【０１３９】
[0157]参照ピクチャリスト（すなわち、利用可能な場合、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）が構築された後、参照ピクチャリストに対する参照インデックスは、参照ピクチャリストに含まれる任意の参照ピクチャを特定するために使用され得る。
【０１４０】
[0158]時間的動きベクトル予測子（ＴＭＶＰ）
[0159]時間的動きベクトル予測子（ＴＭＶＰ）を得るために、まず、同じ位置にあるピクチャが特定されることになる。現在のピクチャがＢスライスである場合、同じ位置にあるピクチャがＲｅｆＰｉｃＬｉｓｔ０からのものかＲｅｆＰｉｃＬｉｓｔ１からのものかを示すために、ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿ｌ０＿ｆｌａｇがスライスヘッダにおいてシグナリングされる。
【０１４１】
[0160]参照ピクチャリストが特定された後、スライスヘッダにおいてシグナリングされるｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘが、リスト中のピクチャの中のピクチャを特定するために使用される。
【０１４２】
[0161]次いで、同じ位置にあるピクチャを確認することによって、同じ位置にある予測ユニット（ＰＵ）が特定される。現在のＰＵを含むコーディングユニット（ＣＵ）の右下のＰＵの動き、または、現在のＰＵを含むＣＵの中心のＰＵ内の右下のＰＵの動きのいずれかが使用される。
【０１４３】
[0162]ＡＭＶＰまたは統合モードの動き候補を生成するために上記のプロセスによって特定された動きベクトルが使用されるとき、動きベクトルは、（対応するピクチャのＰＯＣ値によって反映される）時間的位置に基づいてスケーリングされる必要があり得る。
【０１４４】
[0163]ＴＭＶＰから導出される時間的統合候補のためのすべての考えられる参照ピクチャリストのターゲット参照インデックスは常に０に設定されるが、ＡＭＶＰの場合、ターゲット参照インデックスは、復号された参照インデックスに等しく設定されることに留意されたい。
【０１４５】
[0164]ＨＥＶＣでは、ＳＰＳは、フラグｓｐｓ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇを含み、スライスヘッダは、ｓｐｓ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが１に等しいとき、フラグｐｉｃ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇを含む。ある特定のピクチャに対してｐｉｃ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇとｔｅｍｐｏｒａｌ＿ｉｄの両方が０に等しいとき、復号順序がその特定のピクチャの前であるピクチャからの動きベクトルは、その特定のピクチャ、または復号順序がその特定のピクチャの後であるピクチャの復号において、時間的動きベクトル予測子として使用されない。
【０１４６】
[0165]ＨＥＶＣベースの３ＤＶ
[0166]現在、ＶＣＥＧおよびＭＰＥＧのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ ｏｎ  ３Ｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−３Ｃ）は、ＨＥＶＣに基づいて３ＤＶ規格を開発中であり、そのための規格化の取組みの一部は、ＨＥＶＣに基づくマルチビュービデオコーデック（ＭＶ−ＨＥＶＣ）と、ＨＥＶＣに基づく３Ｄビデオコーディング（３Ｄ−ＨＥＶＣ）のための別の部分との規格化を含む。ＭＶ−ＨＥＶＣでは、ＨＥＶＣにおけるＣＵ／ＰＵレベルのモジュールが再設計される必要がなく、完全にＭＶ−ＨＥＶＣのために再使用され得るように、ＭＶ−ＨＥＶＣにおいてハイレベルシンタックス（ＨＬＳ）の変更しかないことが保証されるべきである。３Ｄ−ＨＥＶＣでは、コーディングユニット／予測ユニットレベルのコーディングツールを含む新たなコーディングツールが、テクスチャと深度ビューの両方に関して含まれ、サポートされ得る。３Ｄ−ＨＥＶＣのための最新のソフトウェア３Ｄ−ＨＴＭは、次のリンク、すなわち、［３Ｄ−ＨＴＭ  ｖｅｒｓｉｏｎ  ７．０］：ｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔａｇｓ／ＨＴＭ−７．０／ からダウンロード可能であり得る。最新の参照ソフトウェアの説明、さらには３Ｄ−ＨＥＶＣのワーキングドラフトは、次のように、すなわち、Ｇｅｒｈａｒｄ  Ｔｅｃｈ、Ｋｒｚｙｓｚｔｏｆ  Ｗｅｇｎｅｒ、Ｙｉｎｇ  Ｃｈｅｎ、Ｓｅｈｏｏｎ  Ｙｅａ、“３Ｄ−ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ  ４”、ＪＣＴ３Ｖ−Ｄ１００５＿ｓｐｅｃ＿ｖ１、Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  ３Ｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｔｅｎｓｉｏｎ  Ｄｅｖｅｌｏｐｍｅｎｔ  ｏｆ  ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１、第４回会議：仁川、韓国、２０１３年４月２０〜２６日において入手可能である。このワーキングドラフトは、次のリンク、すなわち、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／４＿Ｉｎｃｈｅｏｎ／ｗｇ１１／ＪＣＴ３Ｖ−Ｄ１００５−ｖ１．ｚｉｐからダウンロード可能である。
【０１４７】
[0167]コーディング効率をさらに改善するために、２つの新規の技術、すなわち、「ビュー間動き予測」および「ビュー間残差予測」が、最新の参照ソフトウェアに採用されてきている。これらの２つのコーディングツールを有効にするために、第１のステップは、相違ベクトルを導出することである。ビデオコーディングデバイスは、ビュー間動き／残差予測のための他のビュー中の対応するブロックを位置特定するために相違ベクトルを使用することと、ビュー間動き予測のために相違ベクトルを相違動きベクトルに変換することとのいずれかを行うことができる。
【０１４８】
[0168]暗黙的相違ベクトル
[0169]ビデオコーディングデバイスは、ＰＵがビュー間動きベクトル予測を利用するとき、すなわち、ＡＭＶＰまたは統合モードのための候補が、相違ベクトルの助けによって他のビュー中の対応するブロックから導出されるとき、暗黙的相違ベクトル（ＩＤＶ）を生成することができる。そのような相違ベクトルは、ＩＤＶと呼ばれる。ＩＤＶは、相違ベクトル導出の目的でＰＵに記憶される。
【０１４９】
[0170]相違ベクトル導出プロセス
[0171]相違ベクトルを導出するために、ビデオコーディングデバイスは、現在の３Ｄ−ＨＴＭにおいて記述されるような、隣接するブロックベース相違ベクトル（ＮＢＤＶ）と呼ばれる技法を使用することができる。ＮＢＤＶは、空間的に隣接するブロックおよび時間的に隣接するブロックからの、相違動きベクトルを利用する。ＮＢＤＶに従って、ビデオコーディングデバイスは、固定された確認順序で空間的に隣接するブロックまたは時間的に隣接するブロックの動きベクトルを確認することができる。相違動きベクトルまたはＩＤＶが特定されると、確認プロセスは終了され、特定された相違ベクトルが返され、ビュー間動き予測およびビュー間残差予測において使用される相違ベクトルへと変換される。すべてのあらかじめ定義された隣接するブロックを確認した後、そのような相違動きベクトルが見つからない場合、ビデオコーディングデバイスは、ビュー間動き予測のために０相違ベクトルを使用することができるが、ビュー間残差予測は、対応する予測ユニット（ＰＵ）に対して無効にされる。
【０１５０】
[0172]ＮＢＤＶのために使用される空間的に隣接するブロックおよび時間的に隣接するブロックは、確認順序に続いて、本開示の後続の部分において紹介される。
【０１５１】
[0173]空間的に隣接するブロック
[0174]５つの空間的に隣接するブロックが、相違ベクトル導出のために使用される。５つの空間的に隣接するブロックは、ＨＥＶＣ規格の図８−３において定義されるような、Ａ０、Ａ１、Ｂ０、Ｂ１またはＢ２によって示される、現在の予測ユニット（ＰＵ）の左下のブロック、左のブロック、右上のブロック、上のブロック、および左上のブロックである。
【０１５２】
[0175]時間的に隣接するブロック
[0176]時間的ブロックの確認のために、現在のビューからの最大で２つの参照ピクチャ、同じ位置にあるピクチャ、およびランダムアクセスピクチャ、または最小のＰＯＣ差分および最小の時間的ＩＤを有する参照ピクチャが考慮される。ランダムアクセスがまず確認され、続いて同じ位置にあるピクチャが確認される。各候補ピクチャに対して、２つの候補ブロックが下で列挙されるように確認される。
ａ）中心ブロック（ＣＲ）：現在のＰＵの同じ位置にある領域の中心の４×４ブロック（図６の「Ｐｏｓ．Ａ」（１０２）参照）。
ｂ）右下ブロック（ＢＲ）：現在のＰＵの同じ位置にある領域の右下の４×４ブロック（図６の「Ｐｏｓ．Ｂ」（１０４）参照）。
【０１５３】
[0177]確認順序
[0178]すべての空間的／時間的に隣接するブロックに関して、ＤＭＶが使用されるかどうかが最初に確認され、続いてＩＤＶが確認される。空間的に隣接するブロックがまず確認され、続いて時間的に隣接するブロックが確認される。
・５つの空間的に隣接するブロックが、Ａ１、Ｂ１、Ｂ０、Ａ０、およびＢ２の順序で確認される。５つの確認された空間的に隣接するブロックの１つがＤＭＶを使用する場合、ビデオエンコーダ２０は確認プロセスを終了することができ、最終相違ベクトルとして対応するＤＭＶを使用することができる。
・各候補ピクチャに対して、２つのブロックが、第１の非ベースビューではＣＲおよびＢＲの順序で、または第２の非ベースビューではＢＲ、ＣＲの順序で確認される。２つの確認されたブロックの１つがＤＭＶを使用する場合、ビデオエンコーダ２０は確認プロセスを終了することができ、最終相違ベクトルとして対応するＤＭＶを使用することができる。
・５つの空間的に隣接するブロックが、Ａ０、Ａ１、Ｂ０、Ｂ１、およびＢ２の順序で確認される。５つの確認された空間的に隣接するブロックの１つがＩＤＶを使用し、スキップ／統合モードとしてコーディングされる場合、確認プロセスは終了され、最終相違ベクトルとして対応するＩＤＶが使用される。
【０１５４】
[0179]相違ベクトルの精緻化
[0180]ＮＢＤＶ方式から生成される相違ベクトルはさらに、コーディングされた深度マップ中の情報を使用して精緻化され得る。すなわち、相違ベクトルの精度は、コーディングされたベースビュー深度マップ中の情報を利用することによって向上され得る。精緻化ステップは次のように説明され得る。
１．ベースビューのような、前にコーディングされた参照深度ビュー中の導出された相違ベクトルによって、対応する深度ブロックを位置特定し、対応する深度ブロックのサイズは、現在のＰＵのサイズと同じである。
２．相違ベクトルは、同じ位置にある深度ブロックから、４つの角の深度値の最大値から計算される。これは相違ベクトルの水平成分に等しく設定されるが、相違ベクトルの垂直成分は０に設定される。
【０１５５】
[0181]この新規の相違ベクトルは、「深度指向性の隣接するブロックベース相違ベクトル」（ＤｏＮＢＤＶ：depth oriented neighboring block based disparity vector）と呼ばれる。ＮＢＤＶ方式からの相違ベクトルは次いで、ＡＭＶＰおよび統合モードのためのビュー間候補導出のためにＤｏＮＢＤＶ方式から新規に導出されたこの相違ベクトルによって置き換えられる。精緻化されていない相違ベクトルがビュー間残差予測のために使用されることに留意されたい。加えて、精緻化された相違ベクトルが後方ＶＳＰモードでコーディングされる場合、精緻化された相違ベクトルは、１つのＰＵの動きベクトルとして記憶される。
【０１５６】
[0182]３Ｄ−ＨＥＶＣにおける隣接するブロックを使用したブロックベースのビュー合成予測
[0183]ＪＣＴ３Ｖ−Ｃ０１５２において提案されたような後方ワーピングＶＳＰ手法が、第３回ＪＣＴ−３Ｖ会議において採用された。この後方ワーピングＶＳＰの基本的な考えは、３Ｄ−ＡＶＣにおけるブロックベースＶＳＰと同じである。これらの２つの技法の両方が、動きベクトル差分を送信することを避け、より正確な動きベクトルを使用するために、後方ワーピングとブロックベースＶＳＰとを使用する。実装形態の詳細は、プラットフォームが異なることにより異なる。
【０１５７】
[0184]以下の段落では、「ＢＶＳＰ」という用語は、３Ｄ−ＨＥＶＣにおける後方ワーピングＶＳＰ手法を指すために使われる。
【０１５８】
[0185]３Ｄ−ＨＴＭでは、テクスチャ優先コーディングは、共通の試験条件において適用される。したがって、対応する非ベース深度ビューは、１つの非ベーステクスチャビューを復号するときに利用不可能である。したがって、深度情報は、ＢＶＳＰを実行するために推定および使用される。
【０１５９】
[0186]ブロックについての深度情報を推定するために、隣接するブロックから相違ベクトルをまず導出し、次いで参照ビューから深度ブロックを取得するために導出された相違ベクトルを使用することが提案される。
【０１６０】
[0187]ＨＴＭ５．１テストモデルには、ＮＢＤＶ（隣接するブロック相違ベクトル）として知られる相違ベクトル予測子を導出するためのプロセスが存在する。（ｄｖｘ，ｄｖｙ）はＮＢＤＶ関数から特定された相違ベクトルを示すものとし、現在のブロック位置は（ｂｌｏｃｋｘ，ｂｌｏｃｋｙ）である。参照ビューの深度画像では、（ｂｌｏｃｋｘ+ｄｖｘ，ｂｌｏｃｋｙ+ｄｖｙ）において深度ブロックをフェッチすることが提案される。フェッチされた深度ブロックは、現在の予測ユニット（ＰＵ）と同じサイズを有し、フェッチされた深度ブロックが次いで、現在のＰＵのための後方ワーピングを行うために使用される。図４は、どのように参照ビューからの深度ブロックが位置特定され、次いでＢＶＳＰ予測に使用されるかの、３つのステップを照らす。
【０１６１】
[0188]ＮＢＤＶに対する変更
[0189]ＢＶＳＰがシーケンスにおいて有効にされる場合、以下の段落および中黒において説明されるように、ビュー間動き予測のためのＮＢＤＶプロセスが変更される。
・時間的に隣接するブロックの各々について、時間的に隣接するブロックが相違動きベクトルを使用する場合、相違動きベクトルは相違ベクトルとして返され、相違ベクトルはさらに、「相違ベクトルの精緻化」に関して上で説明された方法によって精緻化される。
・空間的に隣接するブロックの各々について、次のことが当てはまる。
○参照ピクチャリスト０または参照ピクチャリスト１の各々について、以下のことが当てはまる。
・参照ピクチャリスト（たとえば、０または１）が相違動きベクトルを使用する場合、相違動きベクトルは相違ベクトルとして返され、相違動きベクトルはさらに、「相違ベクトルの精緻化」に関して上で説明された方法によって精緻化される。
・そうではなく、参照ピクチャリスト（たとえば、０または１）がＢＶＳＰモードを使用する場合、関連付けられる動きベクトルは相違ベクトルとして返される。相違ベクトルはさらに、「相違ベクトルの精緻化」に関して上で説明されたのと同様の方法で精緻化される。しかしながら、最大深度値は、４つの角のピクセルではなく、対応する深度ブロックのすべてのピクセルから選択される。
【０１６２】
[0190]ＢＶＳＰコーディングされたＰＵの指示
[0191]紹介されたＢＶＳＰモードは特別なインターコーディングされるモードとして扱われ、ＢＶＳＰモードの使用を示すフラグが、各ＰＵのために維持されるべきである。ビットストリームにおいてフラグをシグナリングするのではなく、新たな統合候補（すなわち、ＢＶＳＰ統合候補）が統合候補リストに追加され、フラグは、復号された統合候補インデックスがＢＶＳＰ統合候補に対応するかどうかに依存する。ＢＶＳＰ統合候補は、次のように定義される。
・各参照ピクチャリストに対する参照ピクチャインデックス：−１
・各参照ピクチャリストに対する動きベクトル：精緻化された相違ベクトル
【０１６３】
[0192]ＢＶＳＰ統合候補の挿入される位置は、空間的に隣接するブロックに依存する。
・５つの空間的に隣接するブロックのいずれか（Ａ０、Ａ１、Ｂ０、Ｂ１、またはＢ２）が、ＢＶＳＰモードでコーディングされる、すなわち、隣接するブロックの維持されたフラグが１に等しい場合、ＢＶＳＰ統合候補は、対応する空間的統合候補として扱われ、統合候補リストに挿入される。ＢＶＳＰ統合候補は、統合候補リストに一度だけ挿入されることに留意されたい。
・それ以外の場合（たとえば、５つの空間的に隣接するブロックのいずれもがＢＶＳＰモードでコーディングされない場合）、ＢＶＳＰ統合候補は、統合候補リストにおいて、時間的統合候補の直前に挿入される。
【０１６４】
[0193]組み合わされた双予測統合候補の導出プロセス中に、ＢＶＳＰ統合候補を含めることを避けるために、追加の条件が確認されるべきであることに留意されたい。
【０１６５】
[0194]予測導出プロセス
[0195]対応するサイズがＮ×Ｍによって示される各々のＢＶＳＰコーディングされたＰＵに対して、ＢＶＳＰコーディングされたＰＵは、Ｋ×Ｋ（ここでＫは４または２であり得る）に等しいサイズを有するいくつかの下位領域にさらに区分される。各下位領域に対して、別個の相違動きベクトルが導出され、各下位領域は、ビュー間参照ピクチャ中の導出された相違動きベクトルによって位置特定された１つのブロックから予測される。言い換えれば、ＢＶＳＰコーディングされたＰＵのための動き補償ユニットのサイズは、Ｋ×Ｋに設定される。いくつかの一般的な試験条件では、Ｋは４に設定される。
【０１６６】
[0196]相違動きベクトル導出プロセス
[0197]ＢＶＳＰモードによってコーディングされた１つのＰＵ内の各下位領域（たとえば、４×４ブロック）に対して、対応する４×４の深度ブロックはまず、上で説明された精緻化された相違ベクトルによって参照深度ビューの中で位置特定される。第２に、対応する深度ブロック中の１６個の深度ピクセルの最大値が選択される。第３に、最大値が相違動きベクトルの水平成分に変換される。相違動きベクトルの垂直成分は、０に設定される。
【０１６７】
[0198]スキップ／統合モードのためのビュー間候補導出プロセス
[0199]ＤｏＮＢＤＶ方式から導出された相違ベクトルに基づいて、新たな動きベクトル候補である、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）が、利用可能な場合、ＡＭＶＰおよびスキップ／統合モードに追加され得る。ビュー間予測動きベクトルは、利用可能な場合、時間的動きベクトルである。
【０１６８】
[0200]スキップモードが統合モードと同じ動きベクトル導出プロセスを有するので、本明細書で説明される一部またはすべての技法は、統合モードとスキップモードの両方に適用され得る。
【０１６９】
[0201]統合／スキップモードに対して、ビュー間予測動きベクトルが次のステップによって導出される。
・同じアクセスユニットの参照ビュー中の現在のＰＵ／ＣＵの対応するブロックは、相違ベクトルによって（またはそれを使用して）位置特定される。
・対応するブロックがイントラコーディングされず、ビュー間予測されず、対応するブロックの参照ピクチャが、現在のＰＵ／ＣＵの同じ参照ピクチャリスト中の１つのエントリーのＰＯＣ値に等しいＰＯＣを有する場合、対応するブロックの動き情報（予測方向、参照ピクチャ、および動きベクトル）が、ＰＯＣに基づいて参照インデックスを変換した後で、ビュー間予測動きベクトルとなるように導出される。
【０１７０】
[0202]加えて、相違ベクトルは、ビュー間相違動きベクトルに変換され、ビュー間相違動きベクトルは、それが利用可能であるとき、ＩＰＭＶＣとは異なる位置において統合候補リストに追加され、または、ＩＰＭＶＣと同じ位置においてＡＭＶＰ候補リストに追加される。ＩＰＭＶＣとビュー間相違動きベクトル候補（ＩＤＭＶＣ）のいずれかが、この文脈において「ビュー間候補」と呼ばれる。
【０１７１】
[0203]統合／スキップモードでは、ＩＰＭＶＣは、可能な場合は常に、すべての空間的統合候補および時間的統合候補の前に、統合候補リストへと挿入される。ＩＤＭＶＣは、Ａ0から導出された空間的統合候補の前に挿入される。
【０１７２】
[0204]３Ｄ−ＨＥＶＣにおけるテクスチャコーディングのための統合候補リスト構築
[0205]相違ベクトルがまず、ＤｏＮＢＤＶの方法によって導出される。相違ベクトルの場合、３Ｄ−ＨＥＶＣにおける統合候補リスト構築プロセスは、次のように定義され得る。
【０１７３】
[0206]１．ＩＰＭＶＣ挿入
ＩＰＭＶＣが、上で説明された手順によって導出される。ＩＰＭＶＣが利用可能である場合、ＩＰＭＶＣは統合リストに（たとえば、ビデオエンコーダ２０によって）挿入される。
【０１７４】
[0207]２．３Ｄ−ＨＥＶＣにおける空間的統合候補の導出プロセスおよびＩＤＭＶＣ挿入
以下の順序、すなわち、Ａ１、Ｂ１、Ｂ０、Ａ０、またはＢ２で空間的に隣接するＰＵの動き情報を確認する。制約された刈り込みは、以下の手順によって実行される。
−  Ａ１およびＩＰＭＶＣが同じ動きベクトルと同じ参照インデックスとを有する場合、Ａ１は候補リストに挿入されないが、それ以外の場合、Ａ１はそのリストに挿入される。
−  Ｂ１およびＡ１／ＩＰＭＶＣが同じ動きベクトルと同じ参照インデックスとを有する場合、Ｂ１は候補リストに挿入されないが、それ以外の場合、Ｂ１はそのリストに挿入される。
−  Ｂ０が利用可能である場合、Ｂ０は候補リストに追加される。ＩＤＭＶＣは、（たとえば、段落［０１０３］、［０２３１］、および本開示の様々な他の部分において）上で説明された手順によって導出される。ＩＤＭＶＣが利用可能であり、Ａ１およびＢ１から導出された候補と異なる場合、ＩＤＭＶＣは候補リストに（たとえば、ビデオエンコーダ２０によって）挿入される。
−  ＢＶＳＰがピクチャ全体または現在のスライスに対して有効にされる場合、ＢＶＳＰ統合候補は、統合候補リストに挿入される。
−  Ａ０が利用可能である場合、Ａ０は候補リストに追加される。
−  Ｂ２が利用可能である場合、Ｂ２は候補リストに追加される。
【０１７５】
[0208]３．時間的統合候補のための導出プロセス
同じ位置にあるＰＵの動き情報が利用される、ＨＥＶＣにおける時間的統合候補導出プロセスと同様のものが利用される。しかしながら、ターゲット参照ピクチャインデックスを０に固定する代わりに、時間的統合候補のターゲット参照ピクチャインデックスは変更され得る。０に等しいターゲット参照インデックスが時間的参照ピクチャ（同じビュー中の）に対応する一方で、同じ位置にある予測ユニット（ＰＵ）の動きベクトルがビュー間参照ピクチャを指すとき、ターゲット参照ピクチャインデックスは、参照ピクチャリスト中のビュー間参照ピクチャの第１のエントリーに対応する別のインデックスに変更される。反対に、０に等しいターゲット参照インデックスがビュー間参照ピクチャに対応する一方で、同じ位置にある予測ユニット（ＰＵ）の動きベクトルが時間的参照ピクチャを指すとき、ターゲット参照ピクチャインデックスは、参照ピクチャリスト中の時間的参照ピクチャの第１のエントリーに対応する別のインデックスに変更される。
【０１７６】
[0209]４．３Ｄ−ＨＥＶＣにおける組み合わされた双予測統合候補のための導出プロセス
上記の２つのステップから導出された候補の総数が、候補の最大の数未満である場合、ＨＥＶＣにおいて定義されたものと同じプロセスが、ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの仕様を除いて実行される。ｃｏｍｂＩｄｘ、ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの関係は、次の表において定義される。
【表１】
0006356236.tif 000004
【０１７７】
[0210]５．０動きベクトル統合候補のための導出プロセス
−  ＨＥＶＣにおいて定義されたものと同じ手順が実行される。
【０１７８】
[0211]最新のソフトウェアでは、ＭＲＧリスト中の候補の総数は最大で６であり、ｆｉｖｅ＿ｍｉｎｕｓ＿ｍａｘ＿ｎｕｍ＿ｍｅｒｇｅ＿ｃａｎｄが、スライスヘッダ中で６から減算されるＭＲＧ候補の最大の数を指定するためにシグナリングされる。ｆｉｖｅ＿ｍｉｎｕｓ＿ｍａｘ＿ｎｕｍ＿ｍｅｒｇｅ＿ｃａｎｄは、両端値を含む０〜５の範囲内にあることに留意されたい。
【０１７９】
[0212]深度コーディングのための動きベクトル継承
[0213]動きベクトル継承（ＭＶＩ）の背後にある考えは、テクスチャ画像と関連付けられる深度画像との間の、動き特性の類似性を利用することである。
【０１８０】
[0214]深度画像中の所与のＰＵに対して、ＭＶＩ候補は、動きベクトルおよび／または参照インデックスが利用可能である場合、すでにコーディングされている対応するテクスチャブロックの動きベクトルと参照インデックスとを再使用する。図９は、対応するテクスチャブロックが現在のＰＵの中心の右下に位置する４×４のブロックとして選択される、ＭＶＩ候補の導出プロセスの例を示す。
【０１８１】
[0215]整数精度の動きベクトルが深度コーディングにおいて使用されるが、動きベクトルの４分の１精度がテクスチャコーディングのために利用されることに留意されたい。したがって、対応するテクスチャブロックの動きベクトルは、ＭＶＩ候補として使用する前にスケーリングされ得る。
【０１８２】
[0216]ＭＶＩ候補の生成とともに、深度ビューのための統合候補リストは次のように構築される。
【０１８３】
[0217]１．ＭＶＩ挿入
ＭＶＩが、上で説明された手順（たとえば、深度コーディングのための動きベクトル継承における）によって導出される。ＭＶＩが利用可能である場合、ＭＶＩが統合リストに（たとえば、ビデオエンコーダ２０によって）挿入される。
【０１８４】
[0218]２．３Ｄ−ＨＥＶＣにおける空間的統合候補の導出プロセスおよびＩＤＭＶ挿入
以下の順序、すなわち、Ａ１、Ｂ１、Ｂ０、Ａ０、またはＢ２で空間的に隣接するＰＵの動き情報を確認する。制約された刈り込みは、以下の手順によって実行される。
−  Ａ１およびＭＶＩが同じ動きベクトルと同じ参照インデックスを有する場合、Ａ１は候補リストに挿入されない。
−  Ｂ１およびＡ１／ＭＶＩが同じ動きベクトルと同じ参照インデックスを有する場合、Ｂ１は候補リストに挿入されない。
−  Ｂ０が利用可能である場合、Ｂ０は候補リストに追加される。
−  Ａ０が利用可能である場合、Ａ０は候補リストに追加される。
−  Ｂ２が利用可能である場合、Ｂ２は候補リストに追加される。
【０１８５】
[0219]３．時間的統合候補のための導出プロセス
同じ位置にあるＰＵの動き情報が利用される、ＨＥＶＣにおける時間的統合候補導出プロセスと同様のものが利用される。しかしながら、ターゲット参照ピクチャインデックスを０に固定する代わりに、「３Ｄ−ＨＥＶＣにおけるテクスチャコーディングのための統合候補リスト構築」において説明されたように、時間的統合候補のターゲット参照ピクチャインデックスが変更され得る。
【０１８６】
[0220]４．３Ｄ−ＨＥＶＣにおける組み合わされた双予測統合候補のための導出プロセス  上記の２つのステップから導出された候補の総数が、候補の最大の数未満である場合、ＨＥＶＣにおいて定義されたものと同じプロセスが、ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの仕様を除いて実行される。ｃｏｍｂＩｄｘ、ｌ０ＣａｎｄＩｄｘ、およびｌ１ＣａｎｄＩｄｘの間の関係は、本開示の表１において定義される。
【０１８７】
[0221]５．０動きベクトル統合候補のための導出プロセス
−  ＨＥＶＣにおいて定義されたものと同じ手順が実行される。
【０１８８】
[0222]ビュー間残差予測
[0223]現在の３Ｄ−ＨＥＶＣでは、２つのビューの残差信号の間の相関をより効率的に利用するために、ビュー間残差予測がいわゆる進化型残差予測（ＡＲＰ：Advanced Residual Prediction）によって実現され、相違ベクトルによって特定される参照ブロックの残差は、参照ビューのための残差ピクチャを維持して残差ピクチャ中の参照ブロック内の残差を直接予測する代わりに、図７に示されるように、オンザフライで生成される。
【０１８９】
[0224]図７に示されるように、Ｄｃとして示される、非ベースビュー中の現在のブロックの残差をより良好に予測するために、参照ブロックＢｃはまず、相違ベクトルによって特定され、参照ブロックの動き補償が、予測信号Ｂｒと参照ブロックＢｃの再構築された信号との間の残差を導出するために呼び出される。ＡＲＰモードが呼び出されるとき、予測された残差が、非ベースビューの予測信号の上部に追加され、この予測信号は、たとえば、非ベースビューの参照ピクチャ中のブロックＤｒからの動き補償によって生成される。ＡＲＰモードの潜在的な利点は、（ＡＲＰのために残差を生成するとき）参照ブロックによって使用される動きベクトルが、現在のブロックの動きベクトルと揃えられ、その結果、現在のブロックの残差信号がより正確に予測され得ることである。したがって、残差のエネルギーは、かなり低減され得る。図８は、図７の様々なコンポーネントを、しかし異なる画像のテクスチャの詳細を伴わずに示す。例示を簡単にすることのみを目的に、図８は図７に対して縮尺通りに描かれていないことが諒解されるだろう。
【０１９０】
[0225]ベース（参照）ビューと非ベースビューとの間の量子化差分はより低い予測精度につながり得るので、参照ビューから生成された残差に、２つの重み付け係数、すなわち０．５および１が適応的に適用される。
【０１９１】
[0226]ベース（参照）ビューにおける追加の動き補償はメモリアクセスおよび計算の大幅な増大を必要とすることがあるので、コーディング効率の犠牲を少なくしながら設計をより実用的にするためのいくつかの方法が採用されてきた。第１に、ＡＲＰモードは、特にエンコーダにおける計算を減らすために、予測ユニット（ＰＵ）が２Ｎ×２Ｎによってコーディングされるときだけ、有効にされる。第２に、ＡＲＰモードによってコーディングされるブロックのためのメモリアクセスを大幅に減らすために、参照ブロックと現在のブロックの両方の動き補償のために双線形フィルタが採用される。第３に、キャッシュ効率を改善するために、動きベクトルは非ベースビュー中の様々なピクチャを指し得るが、ベースビュー中の参照ピクチャは固定される。この場合、現在のブロックの動きベクトルは、ピクチャ距離に基づいてスケーリングされる必要があり得る。
【０１９２】
[0227]潜在的な問題
[0228]ＨＥＶＣベースのマルチビュー／３ＤＶコーダにおける深度コーディングのための動き関連の技術の現在の設計は、次の潜在的な問題を有する。非ベース深度ビューの動きベクトル予測コーディングは、統合／スキップモードのためのすでにコーディングされている参照（ベース）深度ビューの動き情報を考慮していない。言い換えると、１つの非ベース深度ビュー中のビデオブロックの動き情報（参照インデックスと動きベクトルとを含む）と、参照深度ビュー中の対応するブロックとの間の相関は利用されない。
【０１９３】
[0229]技法
[0230]本開示は、参照深度ビューのすでにコーディングされている動きベクトルからより多数の候補を導出することによって、従属深度ビューの動きベクトル予測精度を改善するための、１つまたは複数の技法を対象とする。本技法は、限定はされないが、本明細書で説明されるビデオエンコーダ２０および／またはビデオデコーダ３０を含む、種々のデバイスによって実行され得る。議論の目的で、本技法は、ビデオエンコーダ２０、ならびに／または、動き推定ユニット４２および／もしくは動き補償ユニット４４のようなビデオエンコーダ２０の様々なコンポーネントに関して説明される。統合候補を導出するために、ビデオエンコーダ２０はまず、隣接する再構築された深度値から相違ベクトルを導出することができる。次いで、ビデオエンコーダ２０は、この導出された相違ベクトルに基づいて追加の統合候補を生成することができ、統合候補リストに追加した。
【０１９４】
[0231]本開示の態様はさらに、次のように要約される。
関連するブロックの（ｘ，ｙ）ビー左上の角を示す。
Ｉ．ビデオエンコーダ２０は、平均、最大値、メジアンのような数学的演算を隣接するサンプルに適用して深度値を得ることによって、現在のブロックの角に隣り合う隣接するピクセルに基づいて、各ブロックに対して単一の相違ベクトルメイビーディライブドを導出することができる。ビデオエンコーダ２０は、深度値を相違ベクトルに直接変換することができる。
１）隣接するサンプルは、ブロックの左上、右上、および左下の再構築された深度サンプルに、たとえば、位置｛（ｘ−１，ｙ−１）、（ｘ−１，ｙ＋幅−１）、および（ｘ＋高さ−１，ｙ−１）｝にある隣接する再構築された深度サンプルに、隣り合っていてよい。各ＣＵに対して（たとえば、ビデオエンコーダ２０によって）導出される相違ベクトルは、本明細書のすべてのＰＵに対して共有される。ここで、ビデオブロックのサイズは幅×高さである。
２）代替的に、ビデオエンコーダ２０は、深度値を導出するために、位置｛（ｘ−１，ｙ−１）、（ｘ−１，ｙ＋２Ｎ）、（ｘ−１，ｙ＋２Ｎ−１）、（ｘ＋２Ｎ，ｙ−１）、および（ｘ＋２Ｎ−１，ｙ−１）｝にある５つの隣接する再構築された深度サンプルを使用することができる。
３）一例では、ＣＵ中のすべてのＰＵに対して、このプロセスはＣＵであるブロックに適用され、すべてのＰＵがそのブロックのためにビデオエンコーダ２０によって導出される同じ相違ベクトルを共有する。
４）一例では、各ＰＵは独立のブロックであってよく、ビデオエンコーダ２０は、現在のＰＵのためにそのブロックから導出される相違ベクトルを使用することができる。
ＩＩ．ＩＰＭＶＣ候補とＩＤＭＶＣ候補とを含むテクスチャＰＵと同様に、現在の深度ＰＵに対して、ビデオエンコーダ２０は、参照ビュー中の対応するブロックの動き情報から（たとえば、ビデオエンコーダ２０によって）生成されるビュー間予測動きベクトル候補（ＩＰＭＶＣ）を導出するために、および／または、相違ベクトルを相違動きベクトルに変換することによってビュー間相違動きベクトル候補（ＩＤＭＶＣ）を導出するために、ＰＵのために導出された相違ベクトルを使用することができる。ビデオエンコーダ２０は、追加の候補が利用可能である場合、生成された追加の候補であるＩＰＭＶＣとＩＤＭＶＣとを、深度コーディングのための統合候補リストに追加することができる。
１）１つの代替形態では、ビデオエンコーダ２０は、ＩＰＭＶＣが利用不可能であるときだけ、ＩＤＭＶＣを生成することができる。
２）別の代替形態では、ビデオエンコーダ２０は、ＩＰＭＶＣが利用可能であるときだけ、ＩＤＭＶＣを生成することができる。しかしながら、この代替形態のいくつかの例では、ビデオエンコーダ２０は、刈り込みの後、統合リスト中にＩＤＭＶＣとＩＰＭＶＣの一方または両方を含まないことがある。
３）一例では、ビデオエンコーダ２０は、相違ベクトルを相違動きベクトルに変換する間に、動きベクトルの丸めを適用することができる。たとえば、相違ベクトルは４分の１精度であり、（ｍｖＸ，０）によって表されるものとする。この例では、ビデオエンコーダ２０は、相違ベクトルを、（ｍｖＸ＞＞２，０）として、または整数精度では（（ｍｖＸ＋２）＞＞２，０）として、相違動きベクトルに変換することができる。
ＩＩＩ．ビデオエンコーダ２０は、最初に生成された空間的統合候補、時間的統合候補、およびＭＶＩ統合候補に対する位置とともに、追加の統合候補を統合候補リストに挿入することができる。
１）代替的に、ビデオエンコーダ２０は、追加の統合候補を、それらの候補の相対的な位置に関して空間的統合候補および時間的統合候補の直後に、挿入することができる。その後、ビデオエンコーダ２０は、空間的統合候補、時間的統合候補、ならびにＩＰＭＶＣ統合候補および／またはＩＤＭＶＣ統合候補を含む統合候補リストに、ＭＶＩ候補を挿入することができる。
２）一例では、イズインサーテッドによって決定されるような、ＩＰＭＶＣおよび／またはＩＤＭＶＣの相対的な位置は、テクスチャブロックに対して使用されるものと同じである。すなわち、ビデオエンコーダ２０は、すべての空間的統合候補の直前に、したがって、ＭＶＩ候補（同じ位置にあるテクスチャブロックから導出される）の後に、ＩＰＭＶＣを追加することができる。加えて、ビデオエンコーダ２０は、Ｂ０から導出される統合候補のすぐ前（直前）にＩＤＭＶＣを追加することができる。
３）別の例では、ＩＰＭＶＣおよび／またはＩＤＭＶＣの相対的な位置は、３Ｄ−ＨＥＶＣテクスチャコーディングにおいて使用されるものとは異なり得る。
−  １つの代替形態では、ビデオエンコーダ２０は、ＭＶＩ候補の直後にＩＰＭＶＣを追加することができ、空間的候補Ｂ１のすぐ次（直後）に、および空間的候補Ｂ０のすぐ前（直前）にＩＤＭＶＣ候補を挿入することができる。
−  別の代替形態では、ビデオエンコーダ２０は、空間的候補Ａ１のすぐ次（直後）にＩＰＭＶＣ候補を挿入することができ、ＩＤＭＶＣ候補は候補Ｂ０の後に挿入され得る。
−  別の代替形態では、ビデオエンコーダ２０は、ＭＶＩ候補の前にＩＰＭＶＣ候補を挿入することができ、候補Ｂ１の後にＩＤＭＶＣ候補を挿入することができる。
ＩＩＩ−Ａ．ビデオエンコーダ２０は、統合候補リストを生成するために、現在のＰＵ／ＣＵのシフトされた相違ベクトルから、参照ビューからより多数のＩＰＭＶＣを導出することができる。そのようなＩＰＭＶＣは、本明細書では「シフトされたＩＰＭＶＣ」と呼ばれる。
１）ビデオエンコーダ２０は、水平方向にＤＶ［０］＋Ｍ1だけ、および垂直方向にＤＶ［１］＋Ｍ2だけ、相違ベクトルＤＶをシフトすることができる。加えて、ビデオコーダ２０は、ＩＰＭＶＣを生成するために参照ビュー中の対応するブロックを位置特定するのに、シフトされた相違ベクトル（ＤＶ［０］＋Ｍ1，ＤＶ［１］＋Ｍ2）を使用することができる。ＩＰＭＶＣが利用可能である場合、ビデオエンコーダ２０は、統合候補リストに対する追加の候補として、利用可能なＩＰＭＶＣを使用することができる。
ＩＩＩ−Ｂ．上のセクションＩＩＩ−Ａ、中黒＃１（段落［０２３１］）におけるように、シフトされた相違ベクトルからのＩＰＭＶＣが利用不可能である場合、ビデオエンコーダ２０は、（利用可能な相違動きベクトルである）ｍｖ［０］の水平成分をシフトすることによって追加の候補を導出して追加の動きベクトル候補ＭｖＣを生成するために、空間的に隣接するブロックＡ1、Ｂ1、Ｂ0、Ａ0、またはＢ2のＲｅｆＰｉｃＬｉｓｔ０に対応する第１の利用可能な相違動きベクトル（ＤＭＶ）を使用することができる。この候補は、相違シフトされた動きベクトル（ＤＳＭＶ）として示される。
１）ＤＭＶが利用可能であり、ＭｖＣ［０］＝ｍｖ［０］、ＭｖＣ［１］＝ｍｖ［１］、およびＭｖＣ［０］［０］＋＝Ｎである場合、ビデオエンコーダ２０は、参照インデックスを第１の利用可能な候補（ＤＭＶを含む）から継承することができる。
２）ＤＭＶが利用不可能である場合、ビデオエンコーダ２０は、固定されたＮに対して追加の候補を生成しなくてよい。
ＩＩＩ−Ｃ．ビデオエンコーダ２０は、上で（たとえば、ＩＩＩ−Ｂにおいて）説明されたようにＤＳＭＶをまず生成することができる。ＤＳＭＶが上のＩＩＩ−Ｂにおいて説明された導出を介して入手可能ではない場合、ビデオエンコーダ２０は、より具体的には次のように、動きベクトルを相違ベクトルからシフトされたベクトルに設定することによってＤＳＭＶ（ＭｖＣとして示される）を導出することができる。
１）ＭｖＣ［０］＝ＤＶおよびＭｖＣ［０］［０］＋＝Ｎ、ＭｖＣ［０］［１］＝０およびＭｖＣ［１］＝ＤＶおよびＭｖＣ［１］［０］＋＝Ｎ、ＭｖＣ［１］［１］＝０、ならびに、ＭｖＣ［Ｘ］に対応する参照インデックスは、ＮＢＤＶプロセスの間に相違ベクトルとともに特定される参照ビューに属するＲｅｆＰｉｃＬｉｓｔＸ中のピクチャの参照インデックスに設定される。代替的に、ビデオエンコーダ２０は、ＲｅｆＰｉｃＬｉｓｔＸと関連付けられる参照インデックスは−１に設定されるに設定することができる。ビデオエンコーダ２０は、値４、８、１６、３２、６４、−４、−８、−１６、−３２、−６４のいずれかにＮを設定することができる。
ＩＩＩ−Ｄ．ビデオエンコーダ２０は、シフトされたＩＰＭＶＣを生成するために使用されるシフト値Ｍ1およびＭ2は、同じであるか、または同じではないことがあるを、使用することができる。
１）ビデオエンコーダ２０は、値４、８、１６、３２、６４、−４、−８、−１６、−３２、−６４のいずれかにＭ1およびＭ2を設定することができる。
２）１つの代替形態では、Ｍ１は（（（幅／２）×４）＋４）に等しくてよく、Ｍ２は（（（高さ／２）×４）＋４）に等しくてよく、このとき現在のＰＵのサイズは幅×高さである。
ＩＶ．ビデオエンコーダ２０は、ＩＰＭＶＣとＩＤＭＶＣとを含む追加の統合候補の各々に対して制約された刈り込みを適用することができる。
１）一例では、ビデオエンコーダ２０は、ＭＶＩ候補と比較することによって、ＩＰＭＶＣだけを刈り込むことができる。
２）一例では、ビデオエンコーダ２０は、Ａ１および／またはＢ１から導出される空間的統合候補と比較することによって、ＩＤＭＶＣだけを刈り込むことができる。
３）一例では、ＭＶＩによってＩＰＭＶＣを刈り込むことに加えて、ビデオエンコーダ２０はまた、ＩＰＭＶＣとＭＶＩの両方によって空間的候補Ａ１とＢ１とを刈り込むことができる。
【０１９５】
[0232]例示的な実装形態
[0233]以下のセクションでは、提案された方法の１つの例示的な方法の実装形態（たとえば、ビデオエンコーダ２０および／またはその様々なコンポーネントによって実装され得るような）は、統合候補リストに対する追加の候補を生成するために生成される。
【０１９６】
[0234]実施例＃１
[0235]ビデオエンコーダ２０は、各ＣＵに対して単一の相違ベクトル（ＤＶ）を導出することができ、単一のＤＶがＣＵ中のすべてのＰＵに対して適用される。
【０１９７】
[0236]ビデオエンコーダ２０は、可能であれば、位置｛（ｘ−１，ｙ−１）、（ｘ−１，ｙ＋２Ｎ−１）および（ｘ＋２Ｎ−１，ｙ−１）｝にある隣接する再構築された深度サンプルの平均深度値から相違ベクトルを導出することができる。可能ではない場合、ビデオエンコーダ２０は、相違ベクトルを０ベクトルに設定することができる。
【０１９８】
[0237]ビデオエンコーダ２０は、可能であれば、ＭＶＩ候補のすぐ後（直後）に、および空間的候補Ａ１のすぐ前（直前）に、ＩＰＭＶＣ候補を追加することができる。
【０１９９】
[0238]ビデオエンコーダ２０は、相違ベクトルＤＶ＝（ｍｖＸ，０）を（（ｍｖＸ＋２）＞＞２，０）として相違動きベクトルへと変換することによって、ＩＤＭＶＣを生成することができる。
【０２００】
[0239]ビデオエンコーダ２０は、ＩＤＭＶＣ候補が空間的候補Ｂ１のすぐ隣に（たとえば隣接して）挿入されるを、挿入することができる。
【０２０１】
[0240]追加の候補を伴う深度ビューのための統合候補リスト構築
[0241]ビデオエンコーダ２０は、追加の候補ＩＰＭＶＣとＩＤＭＶＣとを統合候補リストに挿入することができる。追加の候補ＩＰＭＶＣおよびＩＤＭＶＣを挿入するステップ（たとえば、ビデオエンコーダ２０および／またはその様々なコンポーネントによって実施され得るような）が、以下で説明される。
１．ＭＶＩ挿入
ビデオエンコーダ２０は、上で説明された手順によってＭＶＩを導出することができる。ＭＶＩが利用可能である場合、ビデオエンコーダ２０はＭＶＩを統合リストに挿入することができる。
２．ＩＰＭＶＣ挿入
ビデオエンコーダ２０は、上の中黒ＩＩ（段落［０２３１］における）で説明された手順によって、ＩＰＭＶＣを導出することができる。ＩＰＭＶＣが利用可能であり、ＭＶＩ候補とは異なる場合、ビデオエンコーダ２０は、ＩＰＭＶＣを統合候補リストに挿入することができ、それ以外の場合、ＩＰＭＶＣはリストに挿入されない。
３．３Ｄ−ＨＥＶＣにおける空間的統合候補の導出プロセスおよびＩＤＭＶＣ挿入
ビデオエンコーダ２０は、空間的に隣接するＰＵの動き情報を、以下の順序、すなわち、Ａ１、Ｂ１、Ｂ０、Ａ０、またはＢ２で確認することができる。ビデオエンコーダ２０は、次の手順に従って、制約された刈り込みを実行することができる。
−  Ａ１およびＭＶＩが同じ動きベクトルと同じ参照インデックスとを有する場合、ビデオエンコーダ２０はＡ１を候補リストに挿入しなくてよい。
−  Ｂ１およびＡ１／ＭＶＩが同じ動きベクトルと同じ参照インデックスとを有する場合、ビデオエンコーダ２０はＢ１を候補リストに挿入しなくてよい。
−  ビデオエンコーダ２０は、上の中黒ＩＩ（段落［０２３１］における）で説明された手順によって、ＩＤＭＶＣを導出することができる。ＩＤＭＶＣが利用可能であり、Ａ１およびＢ１から導出された候補と異なる場合、ビデオエンコーダ２０はＩＤＭＶＣを候補リストに挿入することができる。それ以外の場合、ビデオエンコーダ２０はＩＤＭＶＣをリストに挿入しなくてよい。
−  Ｂ０が利用可能である場合、ビデオエンコーダ２０はＢ０を候補リストに追加することができる。
−  Ａ０が利用可能である場合、ビデオエンコーダ２０はＡ０を候補リストに追加することができる。
−  Ｂ２が利用可能である場合、ビデオエンコーダ２０はＢ２を候補リストに追加することができる。
４．時間的統合候補のための導出プロセス
同じ位置にあるＰＵの動き情報が利用される、ＨＥＶＣにおける時間的統合候補導出プロセスと同様のものが利用される。しかしながら、ビデオエンコーダ２０は、ターゲット参照ピクチャインデックスを０に固定する代わりに、上の「３Ｄ−ＨＥＶＣにおけるテクスチャコーディングのための統合候補リスト構築」において説明されたように、時間的統合候補のターゲット参照ピクチャインデックスを変更することができる。
５．３Ｄ−ＨＥＶＣにおける組み合わされた双予測統合候補のための導出プロセス
上記の２つのステップから導出された候補の総数が、候補の最大の数未満である場合、ビデオエンコーダ２０は、ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの仕様を除いて、ＨＥＶＣにおいて定義されたものと同じプロセスを実行することができる。ｃｏｍｂＩｄｘ、ｌ０ＣａｎｄＩｄｘ、およびｌ１ＣａｎｄＩｄｘの間の関係は、本開示の表１において定義される。
６．０動きベクトル統合候補のための導出プロセス
−  ビデオエンコーダ２０は、ＨＥＶＣにおいて定義されているものと同じ手順を実行することができる。
代替的に、さらに、ビデオエンコーダ２０は、ステップ＃４（「時間的統合候補のための導出プロセス」）を呼び出すすぐ前に、追加される（新たな）ステップを実行することができる。言い換えると、ビデオエンコーダ２０は、上で説明されたステップ＃３（「３Ｄ−ＨＥＶＣにおける空間的統合候補の導出プロセスおよびＩＤＭＶＣ挿入」）を実行した後に、追加されたステップを実行することができる。ビデオエンコーダ２０によって実行される新たなステップは、次のように説明される。
・ＤＶまたは空間的に隣接するブロックからのシフトされた候補の導出プロセス
−  まず、ビデオエンコーダ２０は、シフティングベクトル（Ｍ１，Ｍ２）を伴うＤＶに等しい入力相違ベクトルを使用して、追加のＩＰＭＶＣを生成することができる。
−  追加のＩＰＭＶＣが利用可能であり、ＩＰＭＶＣ（上のステップ＃２（「ＩＰＭＶＣ挿入」）を使用して導出される）とは異なる場合、ビデオエンコーダ２０は、追加のＩＰＭＶＣを統合候補リストに追加することができる。
−  そうではなく、追加のＩＰＭＶＣが利用不可能である場合、ビデオエンコーダ２０は次のことを適用することができる。
・ビデオエンコーダ２０はまず、空間的な近隣からの候補を確認することができ、ビデオエンコーダ２０は、相違動きベクトルを含む確認された候補の最初の１つを特定することができる。
・そのような候補が利用可能である場合、ビデオエンコーダ２０は、候補の他の部分（時間的動きベクトルを場合によっては含む）を変更しないままに保つことができるが、相違動きベクトルの水平成分をＬだけシフトすることができる。ビデオエンコーダ２０は、シフトされた候補を統合候補リストに追加することができる。それ以外の場合、ビデオエンコーダは、ＤＶに等しい入力相違ベクトルを伴う相違動きベクトル候補へと新たな候補を設定することができ、水平成分はＮだけシフトされる。ビデオエンコーダ２０は次いで、シフトされた相違ベクトルを整数精度へと丸め、丸められたシフトされた相違ベクトルを統合候補リストに追加することができる。
一例では、ビデオエンコーダ２０は、Ｍ１およびＭ２を、現在のＰＵの幅および高さにそれぞれ設定することができる。
一例では、ビデオエンコーダ２０は、Ｌを１、−１、４、または−４に設定することができ、Ｎは１、−１、４、または−４に設定される。
【０２０２】
[0242]実施例＃２
[0243]ビデオエンコーダ２０は、各ＣＵに対して単一の相違ベクトル（ＤＶ）を導出することができ、導出されたＤＶをＣＵ中のすべてのＰＵに対して適用することができる。ビデオエンコーダ２０は、単一の深度値から相違ベクトルを導出することができ、ビデオエンコーダ２０は、重み（５，５，６）を伴う３つの隣接する再構築された深度サンプルの加重平均を使用してその単一の深度値を計算することができる。より具体的には、ビデオエンコーダは、単一の深度値を次のように計算することができる。
【数３】
0006356236.tif 000005
【０２０３】
[0244]ここで、（ｘＣ，ｙＣ）は、サイズ２Ｎ×２Ｎの現在のＣＵの左上の角を表す。ビデオエンコーダ２０は、可能であれば、計算された深度値（Ｄｅｐｔｈ）を相違ベクトルＤＶに変換することができる。可能ではない場合、ビデオエンコーダ２０は、相違ベクトルＤＶを０ベクトル（０，０）に設定することができる。
【０２０４】
[0245]ビデオエンコーダ２０は、ＩＰＭＶＣ候補を導出するために、導出された相違ベクトルを使用することができる。ＩＰＭＶＣが利用可能である場合、ビデオエンコーダ２０は、統合リストの中で、ＭＶＩ候補のすぐ後に、および、空間的候補Ａ1のすぐ前に、ＩＰＭＶＣを追加することができる。ビデオエンコーダ２０は、相違ベクトルＤＶ＝（ｍｖＸ，０）を（（ｍｖＸ＋２）＞＞２，０）として相違動きベクトルへと変換することによって、ＩＤＭＶＣを生成することができる。
【０２０５】
[0246]ビデオエンコーダ２０は、ＩＤＭＶＣ候補を、空間的候補Ｂ1のすぐ隣に挿入することができる。例＃２によれば、統合候補リスト構築プロセスは、例＃１に関して説明されたものと同じであり、追加の挿入された候補は下線によって区別される。
【０２０６】
[0247]図２のビデオエンコーダ２０は、本開示で説明される様々な方法を実行するように構成されたビデオエンコーダの例を表す。本明細書で説明される様々な例によれば、ビデオエンコーダ２０は、ビデオデータをコーディングする方法を実行するように構成され、または別様に動作可能であってよく、この方法は、従属深度ビュー中のビデオデータのブロックに隣接して配置される１つまたは複数の隣接するピクセルに基づいて、従属深度ビューに含まれるビデオデータのブロックと関連付けられる深度値を決定することと、ビデオデータのブロックと関連付けられる決定された深度値に少なくとも一部基づいて、ビデオデータのブロックと関連付けられる相違ベクトルを生成することとを含む。方法はさらに、相違ベクトルに基づいて、ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を生成することと、ベースビュー中のビデオデータの対応するブロックに基づいて、ビデオデータのブロックと関連付けられるビュー間予測動きベクトル候補（ＩＰＭＶＣ）を生成することと、ビデオデータのブロックと関連付けられる統合候補リストにＩＤＭＶＣまたはＩＰＭＶＣのいずれかを追加すべきかどうかを決定することとを含み得る。様々な例において、ＩＤＭＶＣまたはＩＰＭＶＣのいずれかを統合候補リストに追加すべきかどうかを決定することは、統合候補リストにＩＤＭＶＣとＩＰＭＶＣの一方を追加すべきか、両方を追加すべきか、またはいずれも追加すべきではないかを決定することを含み得る。いくつかの例では、深度値を決定することは、１つまたは複数の隣接するピクセルと関連付けられる値の加重平均を計算することを含み得る。いくつかの例では、１つまたは複数の隣接するピクセルは、ビデオデータのブロックに対して左上のピクセルと、右上のピクセルと、右下のピクセルとを含む。いくつかの例では、加重平均を計算することは、複数の重み付けられた値を取得するために、５、６、および５という重みを、左上のピクセル、右上のピクセル、および右下のピクセルにそれぞれ適用することを備える。
【０２０７】
[0248]いくつかの例では、加重平均を計算することはさらに、複数の重み付けられた値に基づいて合計を取得することと、オフセット値および合計に基づいてオフセットの合計を取得することとを含む。いくつかの例によれば、加重平均を計算することはさらに、所定の値によってオフセットの合計を除算することを含む。１つのそのような例では、オフセット値は８という値を備え、所定の値は１６という値を備える。いくつかの例によれば、深度値を決定することは、１つまたは複数の隣接するピクセルと関連付けられる平均値、メジアン値、またはモード値の少なくとも１つを計算することを備える。いくつかの例によれば、ビデオデータのブロックはコーディングユニット（ＣＵ）であり、生成された相違ベクトルは、ＣＵに含まれるすべての予測ユニット（ＰＵ）に適用される。いくつかの例では、ＩＰＭＶＣを生成することは、ベースビュー中のビデオデータの対応するブロックからＩＰＭＶＣを導出することを備える。
【０２０８】
[0249]様々な例によれば、方法はさらに、シフトされた相違ベクトルを形成するために相違ベクトルを空間的にシフトすることと、ベースビュー中のビデオデータの対応するブロックを位置特定するためにシフトされた相違ベクトルを使用することとを含む。いくつかのそのような例では、方法はさらに、シフトされたＩＰＭＶＣがベースビュー中のビデオデータの位置特定された対応するブロックから利用可能かどうかを決定することと、シフトされたＩＰＭＶＣが利用可能であると決定したことに基づいて、シフトされたＩＰＭＶＣを統合リストに追加すべきかどうかを決定することとを含む。いくつかの例では、現在のブロックの１つまたは複数の空間的に隣接するブロックの各々は、それぞれの参照ピクチャリスト０およびそれぞれの参照ピクチャリスト１と関連付けられる。いくつかのそのような例では、方法はさらに、シフトされたＩＰＭＶＣがベースビューから利用可能ではないと決定することと、空間的に隣接するブロックと関連付けられる少なくとも１つのそれぞれの参照ピクチャリスト０が相違動きベクトルを含むかどうかを決定することと、空間的に隣接するブロックと関連付けられる少なくとも１つのそれぞれの参照ピクチャリスト０が相違動きベクトルを含むと決定したことに基づいて、相違シフトされた動きベクトル（ＤＳＭＶ）候補を形成するためにそれぞれの参照ピクチャリスト０に含まれる相違動きベクトルの水平成分をシフトすることと、ＤＳＭＶ候補を統合リストに追加することとを含む。
【０２０９】
[0250]いくつかの例では、方法はさらに、それぞれの参照ピクチャリスト０のいずれもが相違動きベクトルを含まないことを決定することと、ＤＳＭＶ候補を形成するためにオフセット値を相違ベクトルに適用することと、ＤＳＭＶ候補を統合リストに適用することとを含む。いくつかの例によれば、深度値を決定することは、１つまたは複数の隣接するピクセルが１つだけの利用可能な隣接するピクセルを含むと決定することと、ビデオデータのブロックの深度値を形成するために１つの利用可能な隣接するピクセルの深度値を継承することとを含む。いくつかの例では、方法はさらに、１つまたは複数の隣接するピクセルのいずれもが利用可能ではないと決定することを含み、相違ベクトルを生成することは、相違ベクトルを０ベクトルに設定することと、ビデオデータのブロックと関連付けられる深度値をデフォルトの深度値に設定することとの少なくとも１つを備える。
【０２１０】
[0251]本開示の様々な態様によれば、ビデオエンコーダ２０はビデオデータをコーディングする方法を実行することができ、この方法は、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較することを含み、ＩＰＭＶＣとＭＶＩ候補の各々は従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＰＭＶＣはベース深度ビュー中のビデオデータの対応するブロックから生成される。方法はさらに、ＩＰＭＶＣがＭＶＩ候補と異なることに基づいてＩＰＭＶＣを統合候補リストに追加すること、または、ＩＰＭＶＣがＭＶＩ候補と同一であることに基づいて統合候補リストからＩＰＭＶＣを除外することの１つを実行することを含み得る。いくつかの例では、ＩＰＭＶＣを統合リストに追加することは、ＭＶＩ候補が統合候補リストへの追加に利用可能ではないこと基づいて、統合候補リスト内の最初の位置においてＩＰＭＶＣを挿入すること、または、ＭＶＩ候補が統合候補リストへの追加に利用可能であること基づいて、統合候補リスト内のＭＶＩ候補の位置に後続する統合候補リスト内の位置においてＩＰＭＶＣを挿入することの１つを実行することを含む。様々な例において、最初の位置は０というインデックス値と関連付けられる。いくつかの例によれば、ＩＰＭＶＣをＭＶＩ候補と比較することは、ＩＰＭＶＣと関連付けられる動き情報をＭＶＩ候補と関連付けられる対応する動き情報と比較することと、ＩＰＭＶＣと関連付けられる少なくとも１つの参照インデックスをＭＶＩ候補と関連付けられる少なくとも１つの対応する参照インデックスと比較することとを含む。
【０２１１】
[0252]いくつかの例では、方法はさらに、ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を、統合候補リストと関連付けられる第１の空間的候補および統合候補リストと関連付けられる第２の空間的候補の利用可能な１つまたは複数と比較することを含み、ＩＤＭＶＣの各々、第１の空間的候補、および第２の空間的候補は、従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＤＭＶＣは、ビデオデータのブロックと関連付けられる相違ベクトルから生成される。いくつかの例では、方法はさらに、ＩＤＭＶＣが第１の空間的候補および第２の空間的候補の利用可能な１つまたは複数の各々とは異なることに基づいて、ＩＤＭＶＣを統合候補リストに追加すること、または、ＩＤＭＶＣが第１の空間的候補または第２の空間的候補の少なくとも１つと同一であることに基づいて、ＩＤＭＶＣを統合候補リストから除外することの１つを実行することを含む。
【０２１２】
[0253]いくつかの例では、ＩＤＭＶＣを統合候補リストに追加することは、統合候補リスト内の次の利用可能な位置にＩＤＭＶＣを挿入することを含む。いくつかの例によれば、統合候補リスト内の次の利用可能な位置にＩＤＭＶＣを挿入することは、第１の空間的候補の少なくとも１つの位置または第２の空間的候補の位置に後続する位置にＩＤＭＶＣを挿入することを含む。
【０２１３】
[0254]様々な例によれば、方法はさらに、シフトされたＩＰＭＶＣが利用可能であると決定することを含み、シフトされたＩＰＭＶＣは従属深度ビュー中のビデオデータのブロックと関連付けられ、シフトされたＩＰＭＶＣはベース深度ビュー中のビデオデータの対応するブロックから生成される。いくつかのそのような例では、方法はさらに、シフトされたＩＰＭＶＣをＩＰＭＶＣと比較することを含む。いくつかの例では、方法はさらに、シフトされたＩＰＭＶＣがＩＰＭＶＣと異なり統合候補リストが６個未満の候補を含むことに基づいて、シフトされたＩＰＭＶＣを統合候補リストに追加すること、または、シフトされたＩＰＭＶＣがＩＰＭＶＣと同一であることに基づいて、シフトされたＩＰＭＶＣを統合候補リストから除外することの１つを実行することを含む。
【０２１４】
[0255]いくつかの例では、方法はさらに、相違シフトされた動きベクトル（ＤＳＭＶ）候補が利用可能であると決定することを含み、ＤＳＭＶ候補は従属深度ビュー中のビデオデータのブロックと関連付けられ、ＤＳＭＶ候補は従属深度ビュー中のビデオデータのブロックと関連付けられる１つまたは複数の空間的に隣接するブロックを使用して生成される。いくつかのそのような例によれば、方法はさらに、統合候補リストが６個未満の候補を含むことに基づいて、ＤＳＭＶ候補を統合候補リストに追加することを含む。いくつかの例では、ＤＳＭＶ候補を統合候補リストに追加することは、１）統合候補リストに含まれる空間的候補の位置に後続する、および２）統合候補リストに含まれる時間的候補の位置に先行する位置に、ＤＳＭＶ候補を挿入することを含む。
【０２１５】
[0256]いくつかの例によれば、ＤＳＭＶ候補が利用可能であると決定することは、シフトされたＩＰＭＶＣが利用可能ではないと決定したことに応答し、シフトされたＩＰＭＶＣは従属深度ビュー中のビデオデータのブロックと関連付けられ、シフトされたＩＰＭＶＣはビデオデータのブロックのベースビューから生成される。いくつかの例では、ＤＳＭＶ候補は、１つまたは複数の空間的に隣接するサンプルの少なくとも１つの空間的に隣接するサンプルと関連付けられる参照ピクチャリスト０（ＲｅｆＰｉｃＬｉｓｔ０）から選択される相違動きベクトル（ＤＭＶ）を含む。いくつかの例によれば、ＤＳＭＶ候補は、従属深度ビュー中のビデオデータのブロックと関連付けられる相違ベクトルをシフトすることによって生成され、相違ベクトルは、従属深度ビュー中のビデオデータのブロックと関連付けられる１つまたは複数の空間的に隣接するブロックと関連付けられる１つまたは複数の深度値から生成される。
【０２１６】
[0257]図３は、ビデオコーディングにおける深度指向性のビュー間動きベクトル予測のための技法を実施する、または別様に利用し得る、ビデオデコーダ３０の例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明された符号化パスとは全般に逆の復号パスを実行することができる。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成することができるが、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成することができる。
【０２１７】
[0258]復号プロセス中に、ビデオデコーダ３０は、符号化されたビデオスライスのビデオブロックと関連付けられるシンタックス要素とを表現する符号化されたビデオビットストリームを、ビデオエンコーダ２０から受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化された係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット７２に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信することができる。
【０２１８】
[0259]ビデオスライスがイントラコーディングされた（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成することができる。ビデオフレームがインターコーディングされた（すなわち、Ｂ、Ｐ、またはＧＰＢ）スライスとしてコーディングされるとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストの１つの中の参照ピクチャの１つから生成され得る。ビデオデコーダ３０は、参照フレームメモリ８２に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、すなわち、リスト０とリスト１とを構築することができる。動き補償ユニット７２は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在のビデオブロックの予測ブロックを生成する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストの１つまたは複数のための構築情報と、スライスの各々のインター符号化されたビデオブロックのための動きベクトルと、スライスの各々のインターコーディングされたビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【０２１９】
[0260]動き補償ユニット７２はまた、補間フィルタに基づいて、補間を実行することができる。動き補償ユニット７２は、参照ブロックの整数未満のピクセルのための補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用されるような補間フィルタを使用することができる。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用される補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成することができる。
【０２２０】
[0261]逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された、量子化された変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックに対してビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。
【０２２１】
[0262]逆変換ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０２２２】
[0263]動き補償ユニット７２が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器８０は、この加算演算を実行する１つまたは複数のコンポーネントを表す。望まれる場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタリングするためのデブロッキングフィルタが適用されることもある。ピクセル遷移を平滑化するために、または別様にビデオ品質を改善するために、他のループフィルタも（コーディングループ中またはコーディングループ後のいずれかで）使用され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、参照ピクチャメモリ８２に記憶され、この参照ピクチャメモリ８２は後続の動き補償のために使用される参照ピクチャを記憶する。参照フレームメモリ８２は、図１のディスプレイデバイス３２のようなディスプレイデバイス上で後に提示するための復号されたビデオも記憶する。
【０２２３】
[0264]様々な例において、ビデオデコーダ３０またはビデオエンコーダ２０（および／またはこれらの様々なコンポーネント）の１つまたは両方は、ビデオデータをコーディングするための装置を表し、含み、その装置であり、またはその一部であってよく、この装置は、従属深度ビュー中のビデオデータのブロックに隣接して配置される１つまたは複数の隣接するピクセルに基づいて、従属深度ビューに含まれるビデオデータのブロックと関連付けられる深度値を決定するための手段と、ビデオデータのブロックと関連付けられる決定された深度値に少なくとも一部基づいて、ビデオデータのブロックと関連付けられる相違ベクトルを生成するための手段と、ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を生成するために相違ベクトルを使用するための手段と、ベースビュー中のビデオデータの対応するブロックに基づいて、ビデオデータのブロックと関連付けられるビュー間予測動きベクトル候補（ＩＰＭＶＣ）を生成するための手段と、ビデオデータのブロックと関連付けられる統合候補リストにＩＤＭＶＣまたはＩＰＭＶＣのいずれかを追加すべきかどうかを決定するための手段とを含む。
【０２２４】
[0265]様々な例において、ビデオデコーダ３０またはビデオエンコーダ２０（および／またはこれらの様々なコンポーネント）の１つまたは両方は、実行されると、ビデオコーディングデバイスの１つまたは複数のプロセッサに、従属深度ビュー中のビデオデータのブロックに隣接して配置される１つまたは複数の隣接するピクセルに基づいて、従属深度ビューに含まれるビデオデータのブロックと関連付けられる深度値を決定させ、ビデオデータのブロックと関連付けられる決定された深度値に少なくとも一部基づいて、ビデオデータのブロックと関連付けられる相違ベクトルを生成させ、ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を生成するために相違ベクトルを使用させ、ベースビュー中のビデオデータの対応するブロックに基づいて、ビデオデータのブロックと関連付けられるビュー間予測動きベクトル候補（ＩＰＭＶＣ）を生成させ、ビデオデータのブロックと関連付けられる統合候補リストにＩＤＭＶＣまたはＩＰＭＶＣのいずれかを追加すべきかどうかを決定させる命令によって符号化された、コンピュータ可読記憶媒体を表し、含み、そのコンピュータ可読記憶媒体であり、またはその一部であり得る。
【０２２５】
[0266]様々な例において、ビデオデコーダ３０またはビデオエンコーダ２０（および／またはこれらの様々なコンポーネント）の１つまたは両方は、ビデオデータをコーディングするための装置を表し、含み、その装置であり、またはその一部であってよく、この装置は、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較するための手段を含み、ＩＰＭＶＣとＭＶＩ候補の各々は従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＰＭＶＣはベース深度ビュー中のビデオデータの対応するブロックから生成される。装置はさらに、ＩＰＭＶＣがＭＶＩ候補と異なることに基づいてＩＰＭＶＣを統合候補リストに追加すること、または、ＩＰＭＶＣがＭＶＩ候補と同一であることに基づいて統合候補リストからＩＰＭＶＣを除外することの１つを実行するための手段を含み得る。
【０２２６】
[0267]様々な例において、ビデオデコーダ３０またはビデオエンコーダ２０（および／またはこれらの様々なコンポーネント）の１つまたは両方は、実行されると、ビデオコーディングデバイスの１つまたは複数のプロセッサに、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較させる命令によって符号化された、コンピュータ可読記憶媒体を表し、含み、そのコンピュータ可読記憶媒体であり、またはその一部であってよく、ＩＰＭＶＣとＭＶＩ候補の各々は従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＰＭＶＣはベース深度ビュー中のビデオデータの対応するブロックから生成される。命令はさらに、実行されると、ビデオコーディングデバイスの１つまたは複数のプロセッサに、ＩＰＭＶＣがＭＶＩ候補と異なることに基づいてＩＰＭＶＣを統合候補リストに追加すること、または、ＩＰＭＶＣがＭＶＩ候補と同一であることに基づいて統合候補リストからＩＰＭＶＣを除外することの１つを実行させ得る。
【０２２７】
[0268]図４は、例示的なマルチビュー復号順序を示す概念図である。マルチビュー復号順序はビットストリームの順序であり得る。図４の例では、各正方形がビュー成分に対応する。正方形の列は、アクセスユニットに対応する。各アクセスユニットは、時間インスタンスのすべてのビューのコーディングされたピクチャを含むように定義され得る。正方形の行は、ビューに対応する。図４の例では、アクセスユニットがＴ０〜Ｔ１１と標示され、ビューがＳ０〜Ｓ７と標示される。アクセスユニットの各ビュー成分は次のアクセスユニットの任意のビュー成分の前に復号されるので、図４の復号順序は時間優先コーディングと呼ばれ得る。アクセスユニットの復号順序は、出力または表示の順序と同一ではないことがある。
【０２２８】
[0269]マルチビューコーディングはビュー間予測をサポートすることができる。ビュー間予測は、Ｈ．２６４／ＡＶＣ、ＨＥＶＣ、または他のビデオコーディング仕様において使用されるインター予測と同様であり、同じシンタックス要素を使用することができる。しかしながら、ビデオコーダが（マクロブロックまたはＰＵのような）現在のビデオユニットに対してビュー間予測を実行するとき、ビデオコーダは、参照ピクチャとして、現在のビデオユニットと同じアクセスユニット中にあるが異なるビュー中にあるピクチャを使用することができる。対照的に、従来のインター予測は、参照ピクチャとして異なるアクセスユニット中のピクチャのみを使用する。
【０２２９】
[0270]図５は、ＭＶＣ、マルチビューＨＥＶＣ、および３Ｄ−ＨＥＶＣ（マルチビュープラス深度）とともに使用され得る例示的なＭＶＣ予測パターンを示す概念図である。以下でのＭＶＣへの言及は全般にＭＶＣに当てはまり、Ｈ．２６４／ＭＶＣには限定されない。
【０２３０】
[0271]図５の例では、８個のビュー（Ｓ０〜Ｓ７）が示され、ビューごとに１２個の時間的位置（Ｔ０〜Ｔ１１）が示される。一般に、図５の各行はビューに対応し、各列は時間的位置を示す。ビューの各々は、他のビューに対する相対的なカメラ位置を示すために使用され得る、ビュー識別子（「ｖｉｅｗ＿ｉｄ」）を使用して識別され得る。図５に示された例では、ビューＩＤは「Ｓ０」〜「Ｓ７」として示されているが、数字のビューＩＤが使用されることもある。加えて、時間的位置の各々は、ピクチャの表示順序を示すピクチャ順序カウント（ＰＯＣ）値を使用して識別され得る。図５に示された例では、ＰＯＣ値は「Ｔ０」〜「Ｔ１１」として示されている。
【０２３１】
[0272]マルチビューコーディングされたビットストリームは、特定のデコーダによって復号可能である、いわゆるベースビューを有してよく、ステレオビューペアがサポートされ得るが、いくつかのマルチビュービットストリームは、３Ｄビデオ入力として３つ以上のビューをサポートすることができる。したがって、特定のデコーダを有するクライアントのレンダラは、複数のビューを伴う３Ｄビデオコンテンツを予想することができる。
【０２３２】
[0273]図５のピクチャは、対応するピクチャがイントラコーディングされる（すなわち、Ｉフレームである）か、または一方向に（すなわち、Ｐフレームとして）インターコーディングされるか、または複数の方向に（すなわち、Ｂフレームとして）インターコーディングされるかを指定する、文字を含む影付きブロックを使用して示される。一般に、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のオブジェクトを使用する。たとえば、時間的位置Ｔ０にあるビューＳ２のＰフレームは、時間的位置Ｔ０にあるビューＳ０のＩフレームから予測される。
【０２３３】
[0274]シングルビュービデオの符号化の場合と同様に、マルチビュービデオシーケンスのピクチャは、異なる時間的位置におけるピクチャに関して予測的に符号化され得る。たとえば、時間的位置Ｔ１におけるビューＳ０のｂフレームは、時間的位置Ｔ０におけるビューＳ０のＩフレームから指し示される矢印によって指し示され、ｂフレームがＩフレームから予測されることを示す。しかしながら、加えて、マルチビュービデオの符号化のコンテキストにおいて、ピクチャはビュー間予測され得る。すなわち、ビュー成分は、参照のために他のビュー中のビュー成分を使用することができる。たとえば、別のビュー中のビュー成分がインター予測参照であるかのように、ビュー間予測が実現され得る。可能性のあるビュー間参照は、シーケンスパラメータセット（ＳＰＳ）ＭＶＣ拡張においてシグナリングされてよく、インター予測またはビュー間予測の参照の柔軟な順序付けを可能にする参照ピクチャリストの構築プロセスによって修正され得る。
【０２３４】
[0275]図５は、ビュー間予測の様々な例を提供する。図５の例では、ビューＳ１のピクチャは、ビューＳ１の様々な時間的位置にあるピクチャから予測されるものとして、および同じ時間的位置にあるビューＳ０およびビューＳ２のピクチャのうちのピクチャからビュー間予測されるものとして示されている。たとえば、時間的位置Ｔ１におけるビューＳ１のｂフレームは、時間的位置Ｔ０およびＴ２におけるビューＳ１のＢフレームの各々、ならびに時間的位置Ｔ１におけるビューＳ０およびビューＳ２のｂフレームから予測される。
【０２３５】
[0276]図５の例では、大文字「Ｂ」および小文字「ｂ」は、異なる符号化方法ではなく、ピクチャ間の異なる階層関係を示すことが意図される。一般に、大文字の「Ｂ」フレームは、小文字の「ｂ」フレームよりも予測階層が比較的高い。図５はまた、異なるレベルの陰影（shading）を使用して予測階層の変化を示し、より陰影の量が大きい（すなわち、比較的暗い）ピクチャは、より陰影が少ない（すなわち、比較的明るい）ピクチャよりも予測階層が高い。たとえば、図５のすべてのＩフレームは完全な陰影によって示されるが、Ｐフレームはいくぶん明るい陰影を有し、Ｂフレーム（および小文字のｂフレーム）は、互いに対して様々なレベルの陰影を有するが、ＰフレームおよびＩフレームの陰影よりも常に明るい。
【０２３６】
[0277]一般に、階層の比較的高いピクチャが、階層の比較的低いピクチャの復号中に参照ピクチャとして使用され得るように、予測階層の比較的高いピクチャは、階層の比較的低いピクチャを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセスユニット中のビュー成分の復号順序を示すインデックスである。ビュー順序インデックスは、ＳＰＳのようなパラメータセット中で示唆され得る。
【０２３７】
[0278]このようにして、参照ピクチャとして使用されるピクチャは、その参照ピクチャを参照して符号化されたピクチャを復号する前に復号され得る。ビュー順序インデックスは、アクセスユニット中のビュー成分の復号順序を示すインデックスである。各々のビュー順序インデックスｉに対して、対応するｖｉｅｗ＿ｉｄがシグナリングされる。ビュー成分の復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示される場合、ビュー順序インデックスのセットは、０からビューの全数よりも１少ない数まで連続的に順序付けされたセットを備える。
【０２３８】
[0279]準拠するサブビットストリームを形成するために、ビットストリーム全体のサブセットが抽出され得る。たとえば、サーバによって提供されるサービス、１つもしくは複数のクライアントのデコーダの容量、サポート、および能力、ならびに／または、１つもしくは複数のクライアントの選好（preference）に基づいて、特定の適用例が必要とし得る多くの可能なサブビットストリームが存在する。たとえば、あるクライアントが３つのビューのみを必要とすることがあり、２つのシナリオがあり得る。一例では、あるクライアントは滑らかなビュー体験を必要とすることがあり、ｖｉｅｗ＿ｉｄ値Ｓ０、Ｓ１、およびＳ２のビューを選好することがあり、一方、別のクライアントはビュースケーラビリティを必要とし、ｖｉｅｗ＿ｉｄ値Ｓ０、Ｓ２、およびＳ４のビューを選好することがある。これらのサブビットストリームの両方が、独立したビットストリームとして復号され得るとともに、同時にサポートされ得ることに留意されたい。
【０２３９】
[0280]ビュー間予測に関して、同じアクセスユニット中の（すなわち、同じ時間インスタンスをもつ）ピクチャ間でビュー間予測が可能にされる。非ベースビューの１つの中のピクチャをコーディングするとき、ピクチャが異なるビュー中にあるが、同じ時間インスタンスを有する場合、ピクチャは参照ピクチャリストに追加され得る。ビュー間予測参照ピクチャは、任意のインター予測参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。
【０２４０】
[0281]したがって、マルチビュービデオコーディングのコンテキストでは、２種類の動きベクトルが存在する。動きベクトルの１つの種類は、時間的参照ピクチャを指す通常の動きベクトルである。通常の時間的動きベクトルに対応するインター予測のタイプは、動き補償された予測（ＭＣＰ）と呼ばれ得る。ビュー間予測参照ピクチャが動き補償のために使用されるとき、対応する動きベクトルは「相違動きベクトル」と呼ばれる。言い換えると、相違動きベクトルは、異なるビュー中のピクチャ（すなわち、相違参照ピクチャまたはビュー間参照ピクチャ）を指す。相違動きベクトルに対応するインター予測のタイプは、「相違補償された予測」または「ＤＣＰ」と呼ばれ得る。
【０２４１】
[0282]上で言及されたように、ＨＥＶＣのマルチビュー拡張（すなわち、ＭＶ−ＨＥＶＣ）およびＨＥＶＣの３ＤＶ拡張（すなわち、３Ｄ−ＨＥＶＣ）が開発中である。ＭＶ−ＨＥＶＣおよび３Ｄ−ＨＥＶＣは、ビュー間動き予測とビュー間残差予測とを使用して、コーディング効率を改善することができる。ビュー間動き予測では、ビデオコーダは、現在のＰＵとは異なるビュー中のＰＵの動き情報に基づいて、現在のＰＵの動き情報を決定する（すなわち、予測する）ことができる。ビュー間残差予測では、ビデオコーダは、図５に示される予測構造を使用して、現在のＣＵとは異なるビュー中の残差データに基づいて、現在のＣＵの残差ブロックを決定することができる。
【０２４２】
[0283]ビュー間動き予測とビュー間残差予測とを可能にするために、ビデオコーダは、ブロック（たとえば、ＰＵ、ＣＵなど）に対する相違ベクトルを決定することができる。一般に、相違ベクトルは、２つのビューの間の変位を推定するものとして使用される。ビデオエンコーダ２０またはビデオデコーダ３０のようなビデオコーダは、ブロックに対する相違ベクトルを使用して、ビュー間動き予測または残差予測のために別のビュー中の参照ブロック（本明細書では相違参照ブロックと呼ばれ得る）を位置特定することができ、またはビデオコーダは、ビュー間動き予測のために相違ベクトルを相違動きベクトルに変換することができる。
【０２４３】
[0284]図６は、時間的に隣接するブロックを示す概念図である。図６に示される時間的に隣接するブロックは、隣接するブロックベース相違ベクトル（ＮＢＤＶ）コーディングに従って使用され得る。加えて、図６に示される時間的に隣接するブロックは、ビデオエンコーダ２０および／またはそのコンポーネントのようなビデオコーディングデバイスによって、本開示の深度指向性のビュー間動き予測技法の１つまたは複数を実施するために使用され得る。図６はＣＵ１００を示す。たとえば、ＣＵ１００は、従属深度ビューに含まれ得る。
【０２４４】
[0285]図６に示されるように、ＣＵ１００は、４×４のフォーマットに区分され、４つのＰＵ全体を示す。幅１０６および高さ１０８は、ＣＵ１００の単一のＰＵの幅および高さを示し、それぞれ、ＣＵ１００の幅の半分および高さの半分を表す。たとえば、幅１０６および高さ１０８は、オフセット値Ｍ1とＭ2とを計算する際にビデオエンコーダ２０によって使用される「幅／２」および「高さ／２」の値を表し得る。加えて、中心位置１０２は、ベースビューの中で表される同じ位置にある領域のような、ＣＵの現在のＰＵの同じ位置にある領域の中心ブロックを表し得る。同様に、右下位置１０６は、ベースビューの中で表される同じ位置にある領域のような、ＣＵの現在のＰＵの同じ位置にある領域の右下ブロックを表し得る。
【０２４５】
[0286]図７は、ビデオエンコーダ２０および／またはビデオデコーダ３０がそれによってベースビューから深度ブロックを位置特定し、ＢＶＳＰ予測のために位置特定された深度ブロックを使用することができる、例示的な３段階のプロセスを示す。双予測ＶＳＰによれば、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１の中の異なるビューからの複数のビュー間参照ピクチャがあるとき、ビデオエンコーダ２０および／またはビデオエンコーダ３０は、双予測ＶＳＰを適用することができる。すなわち、ビデオエンコーダ２０は、本明細書で説明されるように、各参照リストから２つのＶＳＰ予測子を生成することができる。次いで、ビデオエンコーダ２０は、最終ＶＳＰ予測子を得るために、２つのＶＳＰ予測子を平均することができる。
【０２４６】
[0287]図８は、上で説明された、現在のブロックと、対応するブロックと、動き補償されたブロックとの関係を示す。言い換えると、図８は、ＡＲＰにおける、現在のブロックと、参照ブロックと、動き補償されたブロックとの例示的な関係を示す概念図である。図８の例では、ビデオコーダは現在、現在のピクチャ１３１中の現在のＰＵ１３０をコーディングしている。現在のピクチャ１３１は、ビューＶ１および時間インスタンスＴ１と関連付けられる。
【０２４７】
[0288]さらに、図８の例では、ビデオコーダは、現在のＰＵ１３０の相違ベクトルによって示される位置と関連付けられる参照ピクチャ１３３の実際のサンプルまたは補間されたサンプルを備える、参照ブロック１３２（すなわち、対応するブロック）を決定することができる。たとえば、参照ブロック１３２の左上の角は、現在のＰＵ１３０の相違ベクトルによって示される位置であり得る。時間的相違参照ブロック１４５は、現在のＰＵ１３０の予測ブロックと同じサイズを有し得る。
【０２４８】
[0289]図８の例では、現在のＰＵ１３０は、第１の動きベクトル１３４と第２の動きベクトル１３６とを有する。動きベクトル１３４は、時間的参照ピクチャ１３８の中のある位置を示す。時間的参照ピクチャ１３８は、ビューＶ１（すなわち、現在のピクチャ１３１と同じビュー）および時間インスタンスＴ０と関連付けられる。動きベクトル１３６は、時間的参照ピクチャ１４０の中のある位置を示す。時間的参照ピクチャ１４０は、ビューＶ１および時間インスタンスＴ３と関連付けられる。
【０２４９】
[0290]上で説明されたＡＲＰ方式によれば、ビデオコーダは、参照ピクチャ１３３と同じビューと関連付けられ時間的参照ピクチャ１３８と同じ時間インスタンスと関連付けられる参照ピクチャ（すなわち、参照ピクチャ１４２）を決定することができる。加えて、ビデオコーダは、動きベクトル１３４を参照ブロック１３２の左上の角の座標に加算して、時間的相違参照位置を導出することができる。ビデオコーダは、時間的相違参照ブロック１４３（すなわち、動き補償されたブロック）を決定することができる。時間的相違参照ブロック１４３中のサンプルは、動きベクトル１３４から導出された時間的相違参照位置と関連付けられる、参照ピクチャ１４２の実際のサンプルまたは補間されたサンプルであり得る。時間的相違参照ブロック１４３は、現在のＰＵ１３０の予測ブロックと同じサイズを有し得る。
【０２５０】
[0291]同様に、ビデオコーダは、参照ピクチャ１３３と同じビューと関連付けられ時間的参照ピクチャ１４０と同じ時間インスタンスと関連付けられる参照ピクチャ（すなわち、参照ピクチャ１４４）を決定することができる。加えて、ビデオコーダは、動きベクトル１３６を参照ブロック１３２の左上の角の座標に加算して、時間的相違参照位置を導出することができる。ビデオコーダは次いで、時間的相違参照ブロック１４５（すなわち、動き補償されたブロック）を決定することができる。時間的相違参照ブロック１４５中のサンプルは、動きベクトル１３６から導出された時間的相違参照位置と関連付けられる、参照ピクチャ１４４の実際のサンプルまたは補間されたサンプルであり得る。時間的相違参照ブロック１４５は、現在のＰＵ１３０の予測ブロックと同じサイズを有し得る。
【０２５１】
[0292]さらに、図８の例では、ビデオコーダは、時間的相違参照ブロック１４３および時間的相違参照ブロック１４５に基づいて、相違予測ブロックを決定することができる。ビデオコーダは次いで、残差予測子を決定することができる。残差予測子中の各サンプルは、参照ブロック１３２中のサンプルと、相違予測ブロック中の対応するサンプルとの差を示し得る。
【０２５２】
[0293]図９は、深度コーディングのための動きベクトル継承（ＭＶＩ）候補の導出を示す概念図である。図９は、テクスチャピクチャ１５０と深度ピクチャ１５２とを示す。たとえば、テクスチャピクチャ１５０および深度ピクチャ１５２は、３Ｄ  ＨＥＶＣによれば、互いに対応し得る。加えて、図９は、深度ピクチャ１５２に含まれる現在のＰＵ１５４を示す。示されるように、現在のＰＵ１５４は、テクスチャブロック（または「対応するテクスチャブロック」）１５６に対応する。様々な例において、ビデオエンコーダ２０は、現在のＰＵ１５４および対応するテクスチャブロック１５６に基づいて、統合リストのＭＶＩ候補を導出することができる。
【０２５３】
[0294]図１０は、サンプルＰｘ，ｙを予測するために（たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０によって）使用され得る、参照サンプルＲｘ，ｙを示す。
【０２５４】
[0295]図１１は、マルチビュービデオコーディングの例示的な予測構造を示す概念図である。例として、ビデオコーダ（ビデオエンコーダ２０またはビデオデコーダ３０のような）は、時間Ｔ0におけるビューＶ１中のブロックＰeを使用してビデオブロックを予測することによって、時間Ｔ8におけるビューＶ１中のブロックをコーディングすることができる。ビデオコーダは、Ｐeから現在のブロックの元のピクセル値を減算し、これによって、現在のブロックの残差サンプルを取得することができる。
【０２５５】
[0296]加えて、ビデオコーダは、相違ベクトル１０４によって参照ビュー（ビューＶ０）における参照ブロックを位置特定することができる。参照ブロックＩbの元のサンプル値と対応する予測されるサンプルＰbとの差は、以下の式でｒbによって示されるような、参照ブロックの残差サンプルと呼ばれる。いくつかの例では、ビデオコーダは、現在の残差からｒbを減算し、得られた差の信号を変換コーディングするだけでよい。したがって、ビュー間残差予測が使用されるとき、動き補償ループは次の式で表され得る。
【数４】
0006356236.tif 000006
ここで、現在のブロック
【数５】
0006356236.tif 000007
の再構築は、逆量子化された係数ｒeに、予測Ｐeと量子化正規化された残差係数ｒbとを足したものに等しい。ビデオコーダは、ｒbを残差予測子として扱うことができる。したがって、動き補償と同様に、ｒbは現在の残差から減算されてよく、得られた差の信号のみが変換コーディングされる。
【０２５６】
[0297]ビデオコーダは、ＣＵごとにビュー間残差予測の使用を示すために、フラグを条件的にシグナリングすることができる。たとえば、ビデオコーダは、残差参照領域によってカバーされる、または部分的にカバーされる、すべての変換ユニット（ＴＵ）を網羅する（traverse）ことができる。これらのＴＵのいずれかがインターコーディングされ、０ではないコーディングされたブロックフラグ（ＣＢＦ）の値（ルーマＣＢＦまたはクロマＣＢＦ）を含む場合、ビデオコーダは、関連する残差参照を利用可能なものとしてマークすることができ、ビデオコーダは、残差予測を適用することができる。この場合、ビデオコーダは、ＣＵシンタックスの一部としてビュー間残差予測の使用を示す、フラグをシグナリングすることができる。このフラグが１に等しい場合、現在の残差信号は、補間された可能性のある参照残差信号を使用して予測され、差だけが、変換コーディングを使用して送信される。それ以外の場合、現在のブロックの残差は、ＨＥＶＣ変換コーディングを使用して従来通りにコーディングされる。
【０２５７】
[0298]２０１３年７月２日に出願された米国特許出願第１３／９３３，５８８号は、スケーラブルビデオコーディングのための一般化された残差予測（ＧＲＰ）を説明する。米国特許出願第１３／９３３，５８８号はスケーラブルビデオコーディングに注目するが、米国特許出願第１３／９３３，５８８号で説明されるＧＲＰ技法は、マルチビュービデオコーディング（たとえば、ＭＶ−ＨＥＶＣおよび３Ｄ−ＨＥＶＣ）に適用可能であり得る。
【０２５８】
[0299]単予測のコンテキストでは、ＧＲＰの一般的な考え方は、次のように定式化され得る。
【数６】
0006356236.tif 000008
【０２５９】
[0300]上の式において、Ｉcは現在のレイヤ（またはビュー）の中の現在のフレームの再構築を示し、Ｐcは同じレイヤ（またはビュー）からの時間的予測を表し、ｒcはシグナリングされる残差を示し、ｒrは参照レイヤからの残差予測を示し、ｗは重み付け係数である。いくつかの例では、重み付け係数は、ビットストリームにおいてコーディングされること、または、以前にコーディングされた情報に基づいて導出されることが必要であり得る。ＧＲＰのためのこのフレームワークは、シングルループ復号とマルチループ復号の両方の場合に適用され得る。マルチループ復号は、再構築されアップサンプリングされたより低分解能の信号を使用した、ブロックの予測の制約されないバージョンを伴う。エンハンスメントレイヤ中の１つのブロックを復号するために、以前のレイヤ中の複数のブロックがアクセスされる必要がある。
【０２６０】
[0301]たとえば、ビデオデコーダ３０がマルチループ復号を使用するとき、ＧＲＰはさらに、次のように定式化され得る。
【数７】
0006356236.tif 000009
【０２６１】
[0302]上の式では、Ｐrは参照レイヤ中の現在のピクチャに対する時間的予測を示し、Ｐcは同じレイヤ（またはビュー）からの時間的予測を表し、ｒcはシグナリングされた残差を示し、ｗは重み付け係数であり、Ｉrは参照レイヤ中の現在のピクチャの完全な再構築を示す。上の式は、ビットストリーム中でシグナリングされ得る、または、以前にコーディングされた情報に基づいて導出され得る、重み付け係数を含む。いくつかの例では、ビデオエンコーダ２０は、ビットストリーム中で、ＧＲＰにおいて使用される重み付けインデックスをＣＵごとにシグナリングすることができる。各重み付けインデックスは、０以上の１つの重み付け係数に対応し得る。現在のＣＵに対する重み付け係数が０に等しいとき、現在のＣＵの残差ブロックは、従来のＨＥＶＣ変換コーディングを使用してコーディングされる。そうではなく、現在のＣＵに対する重み付け係数が０より大きいとき、現在の残差信号（すなわち、現在のＣＵの残差ブロック）は、重み付け係数によって乗算された参照残差信号を使用して予測されてよく、差だけが変換コーディングを使用して送信される。いくつかの例では、参照残差信号は補間される。
【０２６２】
[0303]図１２は、ビデオコーディングデバイスがそれによって本明細書で説明された深度指向性のビュー間動き予測技法を実行することができる、例示的なプロセス２００を示すフローチャートである。プロセス２００は、議論を簡単にする目的のみで、本開示に従って種々のデバイスによって実行され得るが、プロセス２００は、図１および図３のビデオデコーダ３０に関して本明細書において説明される。加えて、ビデオデコーダ３０に関して説明されるが、予測ユニット８１のようなビデオデコーダ３０の様々なコンポーネントは、プロセス２００の１つまたは複数のステップを実行することができる。様々な例では、動きベクトル予測ユニット８３は、プロセス２００の１つまたは複数のステップを実行することができる。
【０２６３】
[0304]プロセス２００は、ビデオデコーダ３０（たとえば、予測ユニット８１）が従属深度ビュー中の現在のビデオブロックに関する深度値を計算することで開始し得る（２０２）。例では、ビデオデコーダ３０は、現在のブロックの隣接するピクセル（または「隣接するサンプル」）に基づいて深度値を計算することができる。たとえば、ビデオデコーダ３０は、隣接するサンプルの個々の深度値の加重平均を計算することによって、深度値（または「再構築された深度値」）を計算することができる。いくつかの例では、ビデオデコーダ３０は、左上の隣接するサンプル、右上の隣接するサンプル、および左下の隣接するサンプルの各々に対して、それぞれ、１６分の５（５／１６）、１６分の６（６／１６）、および１６分の５（５／１６）の重みを割り当てることができる。一例では、ビデオデコーダ３０（たとえば、予測ユニット８１）は、現在のブロックに関する再構築された深度値に到達するために、加重平均を計算しながらオフセット値を加算することができる。たとえば、ビデオエンコーダ２０は、隣接するサンプルと関連付けられる深度値の各々を対応する重みの分子（たとえば、それぞれ５、６、および５）と乗算して、複数の積を得ることができる。次いで、ビデオエンコーダ２０は積を合計し、オフセット値（８という値のような）を加算することができる。加えて、ビデオエンコーダ２０は、得られた合計を１６という値によって除算することができる。
【０２６４】
[0305]ビデオデコーダ３０（たとえば、動きベクトル予測ユニット８３のような予測ユニット８１）は、再構築された深度値から現在のブロックに関する相違ベクトルを導出することができる（２０４）。たとえば、ビデオデコーダ３０は、再構築された深度値を相違ベクトルに直接変換することができる。次いで、ビデオデコーダ３０（たとえば、動きベクトル予測ユニット８３のような予測ユニット８１）は、現在のブロックのためのビュー間相違動きベクトル候補（ＩＤＭＶＣ）とビュー間予測された動きベクトル候補（ＩＰＭＶＣ）とを取得することができる（２０６）。より具体的には、ビデオデコーダ３０は、現在のブロックのベース深度ビューからＩＤＭＶＣとＩＰＭＶＣとを取得することができる。ＩＤＭＶＣの場合、ビデオデコーダ３０は相違ベクトルをＩＤＭＶＣに変換することができる。ＩＰＭＶＣの場合、ビデオデコーダ３０は、ベース深度ビュー中の同じ位置にあるブロックからすでにコーディングされている動き情報を導出することができ、またはいくつかの例ではコピーすることができる。次いで、ビデオデコーダ３０（たとえば、動きベクトル予測ユニット８３のような予測ユニット８１）は、ＩＤＭＶＣとＩＰＭＶＣの一方を含めるか、両方を含めるか、またはいずれも含めないかを決定したことに基づいて、統合リストを構築することができる（２２０）。
【０２６５】
[0306]ビデオデコーダ３０（たとえば、動きベクトル予測ユニット８３のような予測ユニット８１）は、相違ベクトルを空間的にシフトすることができる（２０８）。図１２に示されるように、いくつかの例では、ビデオデコーダ３０は、ＩＰＭＶＣとＩＤＭＶＣとを取得すること（２０６）と少なくとも部分的に並行して、相違ベクトルを空間的にシフトすることができる（２０８）。たとえば、ビデオデコーダ３０は、水平に値Ｍ1だけ、および垂直に値Ｍ2だけ、相違ベクトルをシフトすることができる。オフセット値Ｍ1およびＭ2の計算は、図１に関して上で説明される。次いで、シフトされた相違ベクトルに基づいて、ビデオデコーダ３０（たとえば、動きベクトル予測ユニット８３のような予測ユニット８１）は、対応するシフトされたＩＰＭＶＣがベース深度ビューから利用可能かどうかを決定することができる（２１０）。シフトされたＩＰＭＶＣが利用可能であるとビデオデコーダ３０が決定する場合（２１０のはいの分岐）、ビデオデコーダ３０は、ベース深度ビューからシフトされたＩＰＭＶＣを取得することができる（２１２）。たとえば、ビデオデコーダ３０は、現在のブロックと関連付けられるシフトされた相違ベクトルを使用して、ベース深度ビュー中のブロックを位置特定することができ、シフトされたＩＰＭＶＣを導出するために、すでにコーディングされている位置特定されたブロックの動き情報を使用することができる。
【０２６６】
[0307]しかしながら、シフトされたＩＰＭＶＣが利用可能ではないとビデオデコーダ３０が決定する場合（２１０のいいえの分岐）、ビデオデコーダ３０（たとえば、動きベクトル予測ユニット８３のような予測ユニット８１）は、相違シフトされた動きベクトル（ＤＳＭＶ）候補が隣接するブロックと関連付けられるＲｅｆＰｉｃＬｉｓｔ０から利用可能かどうかを決定することができる（２１４）。ＤＳＭＶ候補がＲｅｆＰｉｃＬｉｓｔ０から利用可能であるとビデオデコーダ３０が決定する場合（２１４のはいの分岐）、ビデオデコーダは、ＲｅｆＰｉｃＬｉｓｔ０から直接ＤＳＭＶ候補を取得することができる（２１６）。一方、ＤＳＭＶ候補がＲｅｆＰｉｃＬｉｓｔ０から利用可能ではないとビデオデコーダ３０が決定する場合（２１４のいいえの分岐）、ビデオデコーダ３０は、相違ベクトルをシフトすることによってＤＳＭＶ候補を取得することができる（２１８）。たとえば、ビデオデコーダ３０は、オフセット値を相違ベクトルに加算してＤＳＭＶ候補を取得することができる。（２１２、２１６、または２１８の１つにおいて）シフトされたＩＰＭＶＣ候補とＤＳＭＶ候補のいずれかを取得すると、ビデオデコーダ３０は、深度指向性の動きベクトル候補と追加の動きベクトル候補とを使用して、統合リストを構築することができる（２２０）。
【０２６７】
[0308]プロセス２００に関して説明されるように、ビデオデコーダ３０は、本開示で説明される様々な方法を実行するように構成されるビデオデコーダの例を表す。本明細書で説明される様々な例によれば、ビデオデコーダ３０は、ビデオデータをコーディングする方法を実行するように構成され、またはそうでなければそのように動作可能であってよく、この方法は、従属深度ビュー中のビデオデータのブロックに隣接して配置される１つまたは複数の隣接するピクセルに基づいて、従属深度ビューに含まれるビデオデータのブロックと関連付けられる深度値を決定することと、ビデオデータのブロックと関連付けられる決定された深度値に少なくとも一部基づいて、ビデオデータのブロックと関連付けられる相違ベクトルを生成することとを含む。方法はさらに、相違ベクトルに基づいて、ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を生成することと、ベースビュー中のビデオデータの対応するブロックに基づいて、ビデオデータのブロックと関連付けられるビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を生成することと、ビデオデータのブロックと関連付けられる統合候補リストにＩＤＭＶＣまたはＩＰＭＶＣのいずれかを追加すべきかどうかを決定することとを含み得る。様々な例において、ＩＤＭＶＣまたはＩＰＭＶＣのいずれかを統合候補リストに追加すべきかどうかを決定することは、統合候補リストにＩＤＭＶＣとＩＰＭＶＣの一方を追加すべきか、両方を追加すべきか、またはいずれも追加すべきではないかを決定することを含み得る。いくつかの例では、深度値を決定することは、１つまたは複数の隣接するピクセルと関連付けられる値の加重平均を計算することを含み得る。いくつかの例では、１つまたは複数の隣接するピクセルは、ビデオデータのブロックに対して左上のピクセルと、右上のピクセルと、右下のピクセルとを含む。いくつかの例では、加重平均を計算することは、複数の重み付けられた値を取得するために、５、６、および５という重みを、左上のピクセル、右上のピクセル、および右下のピクセルにそれぞれ適用することを備える。
【０２６８】
[0309]いくつかの例では、加重平均を計算することはさらに、複数の重み付けられた値に基づいて合計を取得することと、オフセット値および合計に基づいてオフセットの合計を取得することとを含む。いくつかの例によれば、加重平均を計算することはさらに、所定の値によってオフセットの合計を除算することを含む。１つのそのような例では、オフセット値は８という値を備え、所定の値は１６という値を備える。いくつかの例によれば、深度値を決定することは、１つまたは複数の隣接するピクセルと関連付けられる平均値、メジアン値、またはモード値の少なくとも１つを計算することを備える。いくつかの例によれば、ビデオデータのブロックはコーディングユニット（ＣＵ）であり、生成された相違ベクトルは、ＣＵに含まれるすべての予測ユニット（ＰＵ）に適用される。いくつかの例では、ＩＰＭＶＣを生成することは、ベースビュー中のビデオデータの対応するブロックからＩＰＭＶＣを導出することを備える。
【０２６９】
[0310]様々な例によれば、方法はさらに、シフトされた相違ベクトルを形成するために相違ベクトルを空間的にシフトすることと、ベースビュー中のビデオデータの対応するブロックを位置特定するためにシフトされた相違ベクトルを使用することとを含む。いくつかのそのような例では、方法はさらに、シフトされたＩＰＭＶＣがベースビュー中のビデオデータの位置特定された対応するブロックから利用可能かどうかを決定することと、シフトされたＩＰＭＶＣが利用可能であると決定したことに基づいて、シフトされたＩＰＭＶＣを統合リストに追加すべきかどうかを決定することとを含む。いくつかの例では、現在のブロックの１つまたは複数の空間的に隣接するブロックの各々は、それぞれの参照ピクチャリスト０およびそれぞれの参照ピクチャリスト１と関連付けられる。いくつかのそのような例では、方法はさらに、シフトされたＩＰＭＶＣがベースビューから利用可能ではないと決定することと、空間的に隣接するブロックと関連付けられる少なくとも１つのそれぞれの参照ピクチャリスト０が相違動きベクトルを含むかどうかを決定することと、空間的に隣接するブロックと関連付けられる少なくとも１つのそれぞれの参照ピクチャリスト０が相違動きベクトルを含むと決定したことに基づいて、相違シフトされた動きベクトル（ＤＳＭＶ）候補を形成するためにそれぞれの参照ピクチャリスト０に含まれる相違動きベクトルの水平成分をシフトすることと、ＤＳＭＶ候補を統合リストに追加することとを含む。
【０２７０】
[0311]いくつかの例では、方法はさらに、それぞれの参照ピクチャリスト０のいずれもが相違動きベクトルを含まないことを決定することと、ＤＳＭＶ候補を形成するためにオフセット値を相違ベクトルに適用することと、ＤＳＭＶ候補を統合リストに適用することとを含む。いくつかの例によれば、深度値を決定することは、１つまたは複数の隣接するピクセルが１つだけの利用可能な隣接するピクセルを含むと決定することと、ビデオデータのブロックの深度値を形成するために１つの利用可能な隣接するピクセルの深度値を継承することとを含む。いくつかの例では、方法はさらに、１つまたは複数の隣接するピクセルのいずれもが利用可能ではないと決定することを含み、相違ベクトルを生成することは、相違ベクトルを０ベクトルに設定することと、ビデオデータのブロックと関連付けられる深度値をデフォルトの深度値に設定することとの少なくとも１つを備える。
【０２７１】
[0312]図１３は、本開示の態様による、ビデオコーディングデバイスがそれによって１つまたは複数の深度指向性のビュー間動きベクトル候補を使用して統合リスト構築を実施することができる、例示的なプロセス２３０を示すフローチャートである。プロセス２３０は、議論を簡単にする目的のみで、本開示に従って種々のデバイスによって実行され得るが、プロセス２３０は、図１および図３のビデオデコーダ３０に関して本明細書において説明される。加えて、ビデオデコーダ３０の様々なコンポーネントは、プロセス２３０の１つまたは複数のステップを実行できることが理解されるだろう。プロセス２３０の１つまたは複数の部分を実行し得るビデオデコーダ３０のコンポーネントの例は、予測ユニット８１（動きベクトル予測ユニット８３のような）を含む。
【０２７２】
[0313]プロセス２３０は、ビデオデコーダ３０（たとえば、動きベクトル予測ユニット８３のような予測ユニット８１）が統合リストの第１の位置において動きベクトル継承（ＭＶＩ）候補を追加することで開始し得る（２３２）。次いで、ビデオデコーダ３０は、ＩＰＭＶＣ（図１、図２、および図１２に関して上で説明されるように導出される）がＭＶＩ候補と同じであるかどうかを決定することができる（２３４）。ＩＰＭＶＣはＭＶＩ候補と同じであるとビデオデコーダ３０が決定する場合（２３４のはいの分岐）、ビデオデコーダ３０は刈り込みによってＩＰＭＶＣを除外することができる（２３６）。別の言い方をすると、ビデオデコーダ３０（たとえば、動きベクトル予測ユニット８３のような予測ユニット８１）は、ＭＶＩ候補に対してＩＰＭＶＣを刈り込むことができる。
【０２７３】
[0314]しかしながら、ＩＰＭＶＣはＭＶＩ候補と異なるとビデオデコーダ３０が決定する場合（２３４のいいえの分岐）、ビデオデコーダ３０は統合リストの第２の位置においてＩＰＭＶＣを追加することができる（２３８）。言い換えると、ビデオデコーダ３０（たとえば、動きベクトル予測ユニット８３のような予測ユニット８１）は、ＭＶＩ候補の直後にＩＰＭＶＣを挿入することができる。加えて、ビデオデコーダ３０が（２３６または２３８においてそれぞれ）ＩＰＭＶＣを刈り込んだかどうか、またはＩＰＭＶＣを統合リストに追加したかどうかにかかわらず、ビデオデコーダ３０は、Ａ1およびＢ1によって示される２つの空間的動きベクトル候補の（１つまたは複数の）任意の利用可能な候補を統合リストに追加することができる。たとえば、ビデオデコーダ３０は、ＭＶＩ候補のすぐ後に来る（ＩＰＭＶＣが刈り込みで除外された場合）、またはＩＰＭＶＣのすぐ後に来る（ＩＰＭＶＣが統合リストに追加された場合）、統合リストの２つの位置において、Ａ1およびＢ1を追加することができる。
【０２７４】
[0315]加えて、ビデオデコーダ３０は、ＩＤＭＶＣ（図１、図２、および図１２に関して上で説明される）がＡ1またはＢ1のいずれかと同じであるかどうかを決定することができる（２４２）。ＩＤＭＶＣはＡ1またはＢ1の少なくとも１つと一致するとビデオデコーダ３０が決定する場合（２４２のはいの分岐）、ビデオデコーダ３０は刈り込みによってＩＤＭＶＣを除外することができる（２４４）。しかしながら、ＩＤＭＶＣはＡ1またはＢ1の両方と異なるとビデオデコーダ３０が決定する場合（２４２のいいえの分岐）、ビデオデコーダ３０は、Ａ1およびＢ1の利用可能な１つ（複数）の直後の位置において、ＩＤＭＶＣを統合リストに追加することができる（２４６）。次いで、ビデオエンコーダは、Ａ0、Ｂ0、およびＢ2によって示される３つの空間的動きベクトル候補の（１つまたは複数の）任意の利用可能な候補を統合リストに追加することができる（２４７）。
【０２７５】
[0316]ビデオデコーダ３０（たとえば、動きベクトル予測ユニット８３のような予測ユニット８１）は、シフトされたＩＰＭＶＣが利用可能であるかどうかを決定することができる（２４８）。たとえば、ビデオデコーダは、図１、図２、および図１２に関して上で説明されたように、シフトされた相違ベクトルを使用することによって、シフトされたＩＰＭＶＣが利用可能であるかどうかを決定することができる。シフトされたＩＰＭＶＣが利用可能ではないとビデオデコーダ３０が決定する場合（２４８のいいえの分岐）、ビデオデコーダ３０は、相違シフトされた動きベクトル（ＤＳＭＶ）候補を統合リストに追加することができる（２５０）。たとえば、ビデオエンコーダは、Ａ0、Ｂ0、およびＢ2の最後の利用可能な１つ（複数）の直後の位置において、ＤＳＭＶを追加することができる。ビデオデコーダ３０（たとえば、動きベクトル予測ユニット８３のような予測ユニット８１）は、図１、図２、および図１２に関して上で説明されたように、ＤＳＭＶ候補を導出することができる。
【０２７６】
[0317]しかしながら、シフトされたＩＰＭＶＣが利用可能であるとビデオデコーダ３０が決定する場合（２４８のはいの分岐）、ビデオデコーダ３０は、シフトされたＩＰＭＶＣが上で説明されたＩＰＭＶＣと同じかどうかを決定することができる（２５２）。シフトされたＩＰＭＶＣはＩＰＭＶＣと異なるとビデオデコーダ３０が決定する場合（２５２のいいえの分岐）、ビデオデコーダ３０は統合リストにシフトされたＩＰＭＶＣを追加することができる（２５４）。たとえば、ビデオエンコーダは、Ａ0、Ｂ0、およびＢ2の最後の利用可能な１つ（複数）の直後の位置において、シフトされたＩＰＭＶＣを追加することができる。一方、シフトされたＩＰＭＶＣはＩＰＭＶＣと同じであるとビデオデコーダ３０が決定する場合（２５２のはいの分岐）、ビデオデコーダ３０は刈り込みによってシフトされたＩＰＭＶＣを除外することができる（２５６）。
【０２７７】
[0318]プロセス２３０に関して説明されるように、本開示の様々な態様によれば、ビデオデコーダ３０はビデオデータをコーディングする方法を実行することができ、この方法は、ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較することを含み、ＩＰＭＶＣとＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＰＭＶＣはベース深度ビュー中のビデオデータの対応するブロックから生成される。方法はさらに、ＩＰＭＶＣがＭＶＩ候補と異なることに基づいてＩＰＭＶＣを統合候補リストに追加すること、または、ＩＰＭＶＣがＭＶＩ候補と同一であることに基づいて統合候補リストからＩＰＭＶＣを除外することの１つを実行することを含み得る。いくつかの例では、ＩＰＭＶＣを統合リストに追加することは、ＭＶＩ候補が統合候補リストへの追加に利用可能ではないこと基づいて、統合候補リスト内の最初の位置においてＩＰＭＶＣを挿入すること、または、ＭＶＩ候補が統合候補リストへの追加に利用可能であること基づいて、統合候補リスト内のＭＶＩ候補の位置に後続する統合候補リスト内の位置においてＩＰＭＶＣを挿入することの１つを実行することを含む。様々な例において、最初の位置は０というインデックス値と関連付けられる。いくつかの例によれば、ＩＰＭＶＣをＭＶＩ候補と比較することは、ＩＰＭＶＣと関連付けられる動き情報をＭＶＩ候補と関連付けられる対応する動き情報と比較することと、ＩＰＭＶＣと関連付けられる少なくとも１つの参照インデックスをＭＶＩ候補と関連付けられる少なくとも１つの対応する参照インデックスと比較することとを含む。
【０２７８】
[0319]いくつかの例では、方法はさらに、ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を、統合候補リストと関連付けられる第１の空間的候補および統合候補リストと関連付けられる第２の空間的候補の利用可能な１つまたは複数と比較することを含み、ＩＤＭＶＣ、第１の空間的候補、および第２の空間的候補の各々は、従属深度ビュー中のビデオデータのブロックと関連付けられ、ＩＤＭＶＣは、ビデオデータのブロックと関連付けられる相違ベクトルから生成される。いくつかの例では、方法はさらに、ＩＤＭＶＣが第１の空間的候補および第２の空間的候補の利用可能な１つまたは複数の各々とは異なることに基づいて、ＩＤＭＶＣを統合候補リストに追加すること、または、ＩＤＭＶＣが第１の空間的候補または第２の空間的候補の少なくとも１つと同一であることに基づいて、ＩＤＭＶＣを統合候補リストから除外することの１つを実行することを含む。
【０２７９】
[0320]いくつかの例では、ＩＤＭＶＣを統合候補リストに追加することは、統合候補リスト内の次の利用可能な位置においてＩＤＭＶＣを挿入することを含む。いくつかの例によれば、統合候補リスト内の次の利用可能な位置においてＩＤＭＶＣを挿入することは、第１の空間的候補の少なくとも１つの位置または第２の空間的候補の位置に後続する位置にＩＤＭＶＣを挿入することを含む。
【０２８０】
[0321]様々な例によれば、方法はさらに、シフトされたＩＰＭＶＣが利用可能であると決定することを含み、シフトされたＩＰＭＶＣは従属深度ビュー中のビデオデータのブロックと関連付けられ、シフトされたＩＰＭＶＣはベース深度ビュー中のビデオデータの対応するブロックから生成される。いくつかのそのような例では、方法はさらに、シフトされたＩＰＭＶＣをＩＰＭＶＣと比較することを含む。いくつかの例では、方法はさらに、シフトされたＩＰＭＶＣがＩＰＭＶＣと異なること、および統合候補リストが６個未満の候補を含むことに基づいて、シフトされたＩＰＭＶＣを統合候補リストに追加すること、または、シフトされたＩＰＭＶＣがＩＰＭＶＣと同一であることに基づいて、シフトされたＩＰＭＶＣを統合候補リストから除外することの１つを実行することを含む。
【０２８１】
[0322]いくつかの例では、方法はさらに、相違シフトされた動きベクトル（ＤＳＭＶ）候補が利用可能であると決定することを含み、ＤＳＭＶ候補は従属深度ビュー中のビデオデータのブロックと関連付けられ、ＤＳＭＶ候補は従属深度ビュー中のビデオデータのブロックと関連付けられる１つまたは複数の空間的に隣接するブロックを使用して生成される。いくつかのそのような例によれば、方法はさらに、統合候補リストが６個未満の候補を含むことに基づいて、ＤＳＭＶ候補を統合候補リストに追加することを含む。いくつかの例では、ＤＳＭＶ候補を統合候補リストに追加することは、１）統合候補リストに含まれる空間的候補の位置に後続する、および２）統合候補リストに含まれる時間的候補の位置に先行する位置において、ＤＳＭＶ候補を挿入することを含む。
【０２８２】
[0323]いくつかの例によれば、ＤＳＭＶ候補が利用可能であると決定することは、シフトされたＩＰＭＶＣが利用可能ではないと決定したことに応答し、シフトされたＩＰＭＶＣは従属深度ビュー中のビデオデータのブロックと関連付けられ、シフトされたＩＰＭＶＣはビデオデータのブロックのベースビューから生成される。いくつかの例では、ＤＳＭＶ候補は、１つまたは複数の空間的に隣接するサンプルの少なくとも１つの空間的に隣接するサンプルと関連付けられる参照ピクチャリスト０（ＲｅｆＰｉｃＬｉｓｔ０）から選択される相違動きベクトル（ＤＭＶ）を含む。いくつかの例によれば、ＤＳＭＶ候補は、従属深度ビュー中のビデオデータのブロックと関連付けられる相違ベクトルをシフトすることによって生成され、相違ベクトルは、従属深度ビュー中のビデオデータのブロックと関連付けられる１つまたは複数の空間的に隣接するブロックと関連付けられる１つまたは複数の深度値から生成される。
【０２８３】
[0324]例によっては、本明細書で説明された技法のうちのいずれかの、いくつかの動作またはイベントは、異なる順序で実行されてよく、追加、統合、または完全に除外され得る（たとえば、すべての説明された動作またはイベントが、本技法の実施のために必要であるとは限らない）ことを認識されたい。その上、いくつかの例では、動作またはイベントは、連続的にではなく、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて実行され得る。
【０２８４】
[0325]１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実現され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとして、コンピュータ可読媒体を介して記憶または伝送され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体のような、有形の媒体に相当するコンピュータ可読記憶媒体、または、ある場所から別の場所への、たとえば、通信プロトコルによる、コンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は一般に、（１）非一時的である有形コンピュータ可読記憶媒体または（２）信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明される技法の実装のために、命令、コードおよび／またはデータ構造を取り出すために１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０２８５】
[0326]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号または他の一時的媒体を含まないが、その代わりに、非一時的、有形記憶媒体を対象とすることを、理解されたい。本明細書使用されるディスク（ｄｉｓｋおよびｄｉｓｃ）は、コンパクトディスク（ｄｉｓｃ）（ＣＤ）、レーザーディスク（登録商標）（ｄｉｓｃ）、光ディスク（ｄｉｓｃ）、デジタル多用途ディスク（ｄｉｓｃ）（ＤＶＤ）、フロッピー（登録商標）ディスク（ｄｉｓｋ）およびブルーレイ（登録商標）ディスク（ｄｉｓｃ）を含み、ディスク（ｄｉｓｋ）は、通常は、磁気的にデータを再生し、ディスク（ｄｉｓｃ）は、レーザーで光学的にデータを再生する。前述の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【０２８６】
[0327]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の同等の集積された論理回路もしくは個別の論理回路のような、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造体のいずれか、または本明細書で説明された技法の実装に適した任意の他の構造体のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用ハードウェアおよび／もしくはソフトウェアモジュール内で提供されてよく、または結合されたコーデックに組み込まれてよい。また、本技法は、１つまたは複数の回路または論理要素で完全に実装され得る。
【０２８７】
[0328]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。様々なコンポーネント、モジュール、またはユニットが、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために本開示で説明されるが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上で説明されたように、様々なユニットは、コーデックハードウェアユニットの中で結合されてよく、または、適切なソフトウェアおよび／またはファームウェアとともに、上で説明されたように１つまたは複数のプロセッサを含む、相互に動作するハードウェアユニットの集合体によって提供されてよい。
【０２８８】
[0329]様々な例が説明されてきた。これらのおよび他の例は、次の特許請求の範囲の範囲内にある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ビデオデータをコーディングする方法であって、
ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較することと、
前記ＩＰＭＶＣおよび前記ＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、
前記ＩＰＭＶＣが、ベース深度ビュー中のビデオデータの対応するブロックから生成され、
前記ＩＰＭＶＣが前記ＭＶＩ候補と異なることに基づいて前記ＩＰＭＶＣを統合候補リストに追加すること、または、前記ＩＰＭＶＣが前記ＭＶＩ候補と同一であることに基づいて前記統合候補リストから前記ＩＰＭＶＣを除外することの１つを実行することと、
を備える、方法。
［Ｃ２］  前記ＩＰＭＶＣを前記統合リストに追加することが、
前記ＭＶＩ候補が前記統合候補リストへの追加に利用可能ではないことに基づいて、前記統合候補リスト内の最初の位置において前記ＩＰＭＶＣを挿入すること、または、前記ＭＶＩ候補が前記統合候補リストへの追加に利用可能であることに基づいて、前記統合候補リスト内の前記ＭＶＩ候補の位置に後続する前記統合候補リスト内の位置において前記ＩＰＭＶＣを挿入することの１つを実行することを備える、Ｃ１に記載の方法。
［Ｃ３］  前記ＩＰＭＶＣを前記ＭＶＩ候補と比較することが、
前記ＩＰＭＶＣと関連付けられる動き情報を前記ＭＶＩ候補と関連付けられる対応する動き情報と比較することと、
前記ＩＰＭＶＣと関連付けられる少なくとも１つの参照インデックスを前記ＭＶＩ候補と関連付けられる少なくとも１つの対応する参照インデックスと比較することと、
を備える、Ｃ１に記載の方法。
［Ｃ４］  ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を、前記統合候補リストと関連付けられる第１の空間的候補および前記統合候補リストと関連付けられる第２の空間的候補の利用可能な１つまたは複数と比較することと、
前記ＩＤＭＶＣ、前記第１の空間的候補、および前記第２の空間的候補の各々が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記ＩＤＭＶＣが、ビデオデータの前記ブロックと関連付けられる相違ベクトルから生成され、
前記ＩＤＭＶＣが前記第１の空間的候補および前記第２の空間的候補の前記利用可能な１つまたは複数の各々とは異なることに基づいて、前記ＩＤＭＶＣを前記統合候補リストに追加すること、または、前記ＩＤＭＶＣが前記第１の空間的候補または前記第２の空間的候補の少なくとも１つと同一であることに基づいて、前記ＩＤＭＶＣを前記統合候補リストから除外することの１つを実行することと、
をさらに備える、Ｃ１に記載の方法。
［Ｃ５］  前記ＩＤＭＶＣを前記統合候補リストに追加することが、前記統合候補リスト内の次の利用可能な位置において前記ＩＤＭＶＣを挿入することを備える、Ｃ４に記載の方法。
［Ｃ６］  前記統合候補リスト内の前記次の利用可能な位置において前記ＩＤＭＶＣを挿入することが、前記第１の空間的候補の少なくとも１つの位置または前記第２の空間的候補の位置に後続する位置において前記ＩＤＭＶＣを挿入することを備える、Ｃ５に記載の方法。
［Ｃ７］  シフトされたＩＰＭＶＣが利用可能であると決定することと、
前記シフトされたＩＰＭＶＣが、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記シフトされたＩＰＭＶＣが、前記ベース深度ビュー中のビデオデータの前記対応するブロックから生成され、
前記シフトされたＩＰＭＶＣを前記ＩＰＭＶＣと比較することと、
をさらに備える、Ｃ１に記載の方法。
［Ｃ８］  前記シフトされたＩＰＭＶＣが前記ＩＰＭＶＣと異なること、および前記統合候補リストが６個未満の候補を含むことに基づいて、前記シフトされたＩＰＭＶＣを前記統合候補リストに追加すること、または、前記シフトされたＩＰＭＶＣが前記ＩＰＭＶＣと同一であることに基づいて、前記シフトされたＩＰＭＶＣを前記統合候補リストから除外することの１つを実行することをさらに備える、Ｃ７に記載の方法。
［Ｃ９］  相違シフトされた動きベクトル（ＤＳＭＶ）候補が利用可能であると決定すること、
前記ＤＳＭＶ候補が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記ＤＳＭＶ候補が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられる１つまたは複数の空間的に隣接するブロックを使用して生成され、
をさらに備える、Ｃ１に記載の方法。
［Ｃ１０］  前記統合候補リストが６個未満の候補を含むことに基づいて、前記ＤＳＭＶ候補を前記統合候補リストに追加することをさらに備える、Ｃ９に記載の方法。
［Ｃ１１］  前記ＤＳＭＶ候補を前記統合候補リストに追加することが、１）前記統合候補リストに含まれる空間的候補の位置に後続する、および２）前記統合候補リストに含まれる時間的候補の位置に先行する位置において、前記ＤＳＭＶ候補を挿入することを備える、Ｃ１０に記載の方法。
［Ｃ１２］  前記ＤＳＭＶ候補が利用可能であると決定することが、シフトされたＩＰＭＶＣが利用可能ではないと決定したことに応答し、
前記シフトされたＩＰＭＶＣが、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記シフトされたＩＰＭＶＣが、ビデオデータの前記ブロックのベースビューから生成される、Ｃ９に記載の方法。
［Ｃ１３］  前記ＤＳＭＶ候補が、前記１つまたは複数の空間的に隣接するサンプルの少なくとも１つの空間的に隣接するサンプルと関連付けられる参照ピクチャリスト０（ＲｅｆＰｉｃＬｉｓｔ０）から選択される相違動きベクトル（ＤＭＶ）を備える、Ｃ９に記載の方法。
［Ｃ１４］  前記ＤＳＭＶ候補が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられる相違ベクトルをシフトすることによって生成され、
前記相違ベクトルが、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられる前記１つまたは複数の空間的に隣接するブロックと関連付けられる１つまたは複数の深度値から生成される、Ｃ９に記載の方法。
［Ｃ１５］  ビデオデータをコーディングするためのデバイスであって、
メモリと、
ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較することと、
前記ＩＰＭＶＣおよび前記ＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、
前記ＩＰＭＶＣが、ベース深度ビュー中のビデオデータの対応するブロックから生成され、
前記ＩＰＭＶＣが前記ＭＶＩ候補と異なることに基づいて前記ＩＰＭＶＣを統合候補リストに追加すること、または、前記ＩＰＭＶＣが前記ＭＶＩ候補と同一であることに基づいて前記統合候補リストから前記ＩＰＭＶＣを除外することの１つを実行することと、
を行うように構成される、１つまたは複数のプロセッサと、
を備える、デバイス。
［Ｃ１６］  前記ＩＰＭＶＣを前記統合リストに追加するために、前記１つまたは複数のプロセッサがさらに、
前記ＭＶＩ候補が前記統合候補リストへの追加に利用可能ではないことに基づいて、前記統合候補リスト内の最初の位置において前記ＩＰＭＶＣを挿入すること、または、前記ＭＶＩ候補が前記統合候補リストへの追加に利用可能であることに基づいて、前記統合候補リスト内の前記ＭＶＩ候補の位置に後続する前記統合候補リスト内の位置において前記ＩＰＭＶＣを挿入することの１つを実行するように構成される、Ｃ１５に記載のデバイス。
［Ｃ１７］  前記ＩＰＭＶＣを前記ＭＶＩ候補と比較するために、前記１つまたは複数のプロセッサが、
前記ＩＰＭＶＣと関連付けられる動き情報を前記ＭＶＩ候補と関連付けられる対応する動き情報と比較することと、
前記ＩＰＭＶＣと関連付けられる少なくとも１つの参照インデックスを前記ＭＶＩ候補と関連付けられる少なくとも１つの対応する参照インデックスと比較することと、
を行うように構成される、Ｃ１５に記載のデバイス。
［Ｃ１８］  前記１つまたは複数のプロセッサがさらに、
ビュー間相違動きベクトル候補（ＩＤＭＶＣ）を、前記統合候補リストと関連付けられる第１の空間的候補および前記統合候補リストと関連付けられる第２の空間的候補の利用可能な１つまたは複数と比較することと、
前記ＩＤＭＶＣ、前記第１の空間的候補、および前記第２の空間的候補の各々が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記ＩＤＭＶＣが、ビデオデータの前記ブロックと関連付けられる相違ベクトルから生成され、
前記ＩＤＭＶＣが前記第１の空間的候補および前記第２の空間的候補の前記利用可能な１つまたは複数の各々とは異なることに基づいて、前記ＩＤＭＶＣを前記統合候補リストに追加すること、または、前記ＩＤＭＶＣが前記第１の空間的候補または前記第２の空間的候補の少なくとも１つと同一であることに基づいて、前記ＩＤＭＶＣを前記統合候補リストから除外することの１つを実行することと、
を行うように構成される、Ｃ１５に記載のデバイス。
［Ｃ１９］  前記ＩＤＭＶＣを前記統合候補リストに追加するために、前記１つまたは複数のプロセッサが、前記統合候補リスト内の次の利用可能な位置において前記ＩＤＭＶＣを挿入するように構成される、Ｃ１８に記載のデバイス。
［Ｃ２０］  前記統合候補リスト内の前記次の利用可能な位置において前記ＩＤＭＶＣを挿入するために、前記１つまたは複数のプロセッサが、前記第１の空間的候補の少なくとも１つの位置または前記第２の空間的候補の位置に後続する位置において前記ＩＤＭＶＣを挿入するように構成される、Ｃ１９に記載のデバイス。
［Ｃ２１］  前記１つまたは複数のプロセッサがさらに、
シフトされたＩＰＭＶＣが利用可能であると決定することと、
前記シフトされたＩＰＭＶＣが、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記シフトされたＩＰＭＶＣが、前記ベース深度ビュー中のビデオデータの前記対応するブロックから生成され、
前記シフトされたＩＰＭＶＣを前記ＩＰＭＶＣと比較することと、
を行うように構成される、Ｃ１５に記載のデバイス。
［Ｃ２２］  前記１つまたは複数のプロセッサがさらに、
前記シフトされたＩＰＭＶＣが前記ＩＰＭＶＣと異なること、および前記統合候補リストが６個未満の候補を含むことに基づいて、前記シフトされたＩＰＭＶＣを前記統合候補リストに追加すること、または、前記シフトされたＩＰＭＶＣが前記ＩＰＭＶＣと同一であることに基づいて、前記シフトされたＩＰＭＶＣを前記統合候補リストから除外することの１つを実行するように構成される、Ｃ２１に記載のデバイス。
［Ｃ２３］  前記１つまたは複数のプロセッサがさらに、
相違シフトされた動きベクトル（ＤＳＭＶ）候補が利用可能であると決定すること、
前記ＤＳＭＶ候補が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記ＤＳＭＶ候補が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられる１つまたは複数の空間的に隣接するブロックを使用して生成され、
を行うように構成される、Ｃ１５に記載のデバイス。
［Ｃ２４］  前記１つまたは複数のプロセッサがさらに、前記統合候補リストが６個未満の候補を含むことに基づいて、前記ＤＳＭＶ候補を前記統合候補リストに追加するように構成される、Ｃ２３に記載のデバイス。
［Ｃ２５］  前記ＤＳＭＶ候補を前記統合候補リストに追加するために、前記１つまたは複数のプロセッサが、１）前記統合候補リストに含まれる空間的候補の位置に後続する、および２）前記統合候補リストに含まれる時間的候補の位置に先行する位置において、前記ＤＳＭＶ候補を挿入するように構成される、Ｃ２３に記載のデバイス。
［Ｃ２６］  前記ＤＳＭＶ候補が利用可能であると決定するために、前記１つまたは複数のプロセッサが、シフトされたＩＰＭＶＣが利用可能ではないと決定したことに応答して前記ＤＳＭＶ候補が利用可能であると決定するように構成され、
前記シフトされたＩＰＭＶＣが、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられ、
前記シフトされたＩＰＭＶＣが、ビデオデータの前記ブロックのベースビューから生成される、Ｃ２３に記載のデバイス。
［Ｃ２７］  前記ＤＳＭＶ候補が、前記１つまたは複数の空間的に隣接するサンプルの少なくとも１つの空間的に隣接するサンプルと関連付けられる参照ピクチャリスト０（ＲｅｆＰｉｃＬｉｓｔ０）から選択される相違動きベクトル（ＤＭＶ）を備える、Ｃ２３に記載のデバイス。
［Ｃ２８］  前記ＤＳＭＶ候補が、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられる相違ベクトルのシフトに基づいて生成され、
前記相違ベクトルが、前記従属深度ビュー中のビデオデータの前記ブロックと関連付けられる前記１つまたは複数の空間的に隣接するブロックと関連付けられる１つまたは複数の深度値から生成される、Ｃ２３に記載のデバイス。
［Ｃ２９］  実行されると、ビデオコーディングデバイスの１つまたは複数のプロセッサに、
ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較することと、
前記ＩＰＭＶＣおよび前記ＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、
前記ＩＰＭＶＣが、ベース深度ビュー中のビデオデータの対応するブロックから生成され、
前記ＩＰＭＶＣが前記ＭＶＩ候補と異なることに基づいて前記ＩＰＭＶＣを統合候補リストに追加すること、または、前記ＩＰＭＶＣが前記ＭＶＩ候補と同一であることに基づいて前記統合候補リストから前記ＩＰＭＶＣを除外することの１つを実行することと、
を行わせる命令によって符号化された、コンピュータ可読記憶媒体。
［Ｃ３０］  ビデオデータをコーディングするための装置であって、
ビュー間予測された動きベクトル候補（ＩＰＭＶＣ）を動きベクトル継承（ＭＶＩ）候補と比較するための手段と、
前記ＩＰＭＶＣおよび前記ＭＶＩ候補が各々、従属深度ビュー中のビデオデータのブロックと関連付けられ、
前記ＩＰＭＶＣが、ベース深度ビュー中のビデオデータの対応するブロックから生成され、
前記ＩＰＭＶＣが前記ＭＶＩ候補と異なることに基づいて前記ＩＰＭＶＣを統合候補リストに追加すること、または、前記ＩＰＭＶＣが前記ＭＶＩ候補と同一であることに基づいて前記統合候補リストから前記ＩＰＭＶＣを除外することの１つを実行するための手段と、
を備える、装置。
【図１】
0006356236.tif 000010
【図２】
0006356236.tif 000011
【図３】
0006356236.tif 000012
【図４】
0006356236.tif 000013
【図５】
0006356236.tif 000014
【図６】
0006356236.tif 000015
【図７】
0006356236.tif 000016
【図８】
0006356236.tif 000017
【図９】
0006356236.tif 000018
【図１０】
0006356236.tif 000019
【図１１】
0006356236.tif 000020
【図１２】
0006356236.tif 000021
【図１３】
0006356236.tif 000022