(57)【要約】  ビデオコーダは、ビデオ符号化プロセスおよびビデオ復号プロセスの一部として、ビデオデータの現在のブロックの空間的隣接ブロック間で第１の利用可能な視差動きベクトルを決定し得る。さらに、ビデオコーダは、シフト視差動きベクトル候補（ＤＳＭＶ）を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせ得る。ビデオコーダは、ＤＳＭＶをマージ候補リストに追加し得る。
2016514927.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、
前記ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の利用可能な視差動きベクトルを決定することと、ここにおいて、前記第１の利用可能な視差動きベクトルは第１の参照ピクチャリストに対応する、
視差シフト動きベクトル（ＤＳＭＶ）候補を導出するために前記第１の利用可能な視差動きベクトルの水平成分をシフトさせることと、
前記ＤＳＭＶ候補をマージ候補リストに追加することと
を備える、方法。
【請求項２】
前記空間的隣接ブロックは、特定の空間的隣接ブロックを含み、
前記第１の利用可能な視差動きベクトルは、前記特定の空間的隣接ブロックの第１の動きベクトルであり、
前記空間的隣接ブロックのうちの少なくとも１つが視差動きベクトルを有するとき、前記方法は、
前記ＤＳＭＶ候補の第１の動きベクトルを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに設定することと、
前記ＤＳＭＶ候補の第２の動きベクトルを前記特定の空間的隣接ブロックの第２の動きベクトルに設定することと、ここにおいて、前記特定の空間的隣接ブロックの前記第２の動きベクトルは第２の参照ピクチャリストに対応する、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに対応する参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第２の動きベクトルに対応する参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの水平成分にオフセットを加算し、それによって、前記ＤＳＭＶ候補を導出するために前記第１の利用可能な視差動きベクトルの前記水平成分を効果的にシフトさせることと
を備える、請求項１に記載の方法。
【請求項３】
前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の第１の動きベクトルおよび前記ＤＳＭＶ候補の前記第２の動きベクトルを、前記現在のブロックの視差ベクトルに設定することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記オフセットを加算し、前記ＤＳＭＶ候補の前記第２の動きベクトルの水平成分に前記オフセットを加算することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの垂直成分と前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分とを０に設定することと
をさらに備える、請求項２に記載の方法。
【請求項４】
前記現在のブロックの前記視差ベクトルを決定するために隣接ブロックに基づいてプロセスを実行することと、ここにおいて、前記プロセスは、前記現在のブロックの前記視差ベクトルとともに参照ビューを識別する、
前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する前記参照インデックスを、前記第１の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する前記参照インデックスを、前記第２の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定することと
をさらに備える、請求項３に記載の方法。
【請求項５】
後方ワーピングビュー合成予測が、ピクチャ全体または現在のシーケンスに関して有効にされる場合、
前記ＤＳＭＶ候補の前記第１の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第１の動きベクトルの垂直成分を０に設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分を０に設定することと
のうちの少なくとも１つを実行する、請求項２に記載の方法。
【請求項６】
前記オフセットが４に等しい、請求項２に記載の方法。
【請求項７】
前記ＤＳＭＶ候補を前記マージ候補リストに追加することは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記ＤＳＭＶ候補を前記マージ候補リストに追加することを備える、請求項１に記載の方法。
【請求項８】
参照ビュー中の第１の対応するブロックを位置特定するために、前記現在のブロックの視差ベクトルを使用することと、
前記第１の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第１のビュー間予測動きベクトル候補（ＩＰＭＶＣ）を前記マージ候補リストに挿入することと、前記第１のＩＰＭＶＣは前記第１の対応するブロックの少なくとも１つの動きベクトルを示す、
前記現在のブロックの前記視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによってシフト視差ベクトルを決定することと、
前記参照ビュー中の第２の対応するブロックを位置特定するために前記シフト視差ベクトルを使用することと、
前記第２の対応するブロックの前記動き情報が利用可能であり、前記第１のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第２のＩＰＭＶＣを前記マージ候補リストに挿入することと、ここにおいて、前記第２のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、
をさらに備える、請求項１に記載の方法。
【請求項９】
前記第２のＩＰＭＶＣ候補を前記マージ候補リストに挿入することは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記第２のＩＰＭＶＣ候補を前記マージ候補リストに挿入することを備える、請求項８に記載の方法。
【請求項１０】
前記第２のＩＰＭＶＣが利用可能でないとき、前記ＤＳＭＶ候補を生成することをさらに備える、請求項８に記載の方法。
【請求項１１】
前記現在のブロックは予測ユニット（ＰＵ）であり、前記第１の値は（（（Ｗ／２）*４）＋４）に等しく、前記第２の値は（（（Ｈ／２）*４）＋４）に等しく、ここにおいて、Ｗは前記現在のブロックの幅であり、Ｈは前記現在のブロックの高さである、請求項８に記載の方法。
【請求項１２】
前記マージ候補リストからマージ候補を選択することと、
前記選択されたマージ候補の動き情報を使用して予測ブロックを生成することと、
ビットストリームにおいて、前記選択されたマージ候補のインデックスをシグナリングすることと
をさらに備える、請求項１に記載の方法。
【請求項１３】
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定することと、
前記選択されたマージ候補の動き情報を使用して現在のブロックに関する予測ブロックを生成することと、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成することと
をさらに備える、請求項１に記載の方法。
【請求項１４】
ビデオデータを記憶するメモリと、
前記ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の参照ピクチャリストに対応する第１の利用可能な視差動きベクトルを決定し、
視差シフト動きベクトル（ＤＳＭＶ）候補を導出するために前記第１の利用可能な視差動きベクトルの水平成分をシフトさせ、
前記ＤＳＭＶ候補をマージ候補リストに追加する
ように構成された１つまたは複数のプロセッサと
を備える、装置。
【請求項１５】
前記空間的隣接ブロックは、特定の空間的隣接ブロックを含み、
前記第１の利用可能な視差動きベクトルは、前記特定の空間的隣接ブロックの第１の動きベクトルであり、
前記１つまたは複数のプロセッサは、前記空間的隣接ブロックのうちの少なくとも１つが視差動きベクトルを有するとき、
前記ＤＳＭＶ候補の第１の動きベクトルを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに設定し、
前記ＤＳＭＶ候補の第２の動きベクトルを前記特定の空間的隣接ブロックの第２の動きベクトルに設定し、ここにおいて、前記特定の空間的隣接ブロックの前記第２の動きベクトルは第２の参照ピクチャリストに対応する、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに対応する参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第２の動きベクトルに対応する参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの水平成分にオフセットを加算し、それによって、前記ＤＳＭＶ候補を導出するために前記第１の利用可能な視差動きベクトルの前記水平成分を効果的にシフトさせる
ように構成される、
請求項１４に記載の装置。
【請求項１６】
前記１つまたは複数のプロセッサは、前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の第１の動きベクトルおよび前記ＤＳＭＶ候補の前記第２の動きベクトルを、前記現在のブロックの視差ベクトルに設定し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記オフセットを加算し、前記ＤＳＭＶ候補の前記第２の動きベクトルの水平成分に前記オフセットを加算し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの垂直成分と前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分とを０に設定する
ように構成される、請求項１５に記載の装置。
【請求項１７】
前記１つまたは複数のプロセッサは、
前記現在のブロックの前記視差ベクトルを決定するために隣接ブロックに基づいてプロセスを実行し、ここにおいて、前記ＮＢＤＶ導出プロセスは、前記現在のブロックの前記視差ベクトルとともに参照ビューを識別する、
前記第１の利用可能な視差動きベクトルが利用可能でないとき、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する前記参照インデックスを、前記第１の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する前記参照インデックスを、前記第２の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定する
ように構成される、請求項１６に記載の装置。
【請求項１８】
前記１つまたは複数のプロセッサは、後方ワーピングビュー合成予測が、ピクチャ全体または現在のシーケンスに関して有効にされる場合、
前記ＤＳＭＶ候補の前記第１の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第１の動きベクトルの垂直成分を０に設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分を０に設定することと
のうちの少なくとも１つを実行するように構成される、請求項１５に記載の装置。
【請求項１９】
前記オフセットが４に等しい、請求項１５に記載の装置。
【請求項２０】
前記１つまたは複数のプロセッサは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記ＤＳＭＶ候補を前記マージ候補リストに追加するように構成される、請求項１４に記載の装置。
【請求項２１】
前記ＩＰＭＶＣが第１のＩＰＭＶＣであり、前記１つまたは複数のプロセッサは、
参照ビュー中の第１の対応するブロックを位置特定するために、前記現在のブロックの視差ベクトルを使用し、
前記第１の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第１のビュー間予測動きベクトル候補（ＩＰＭＶＣ）を前記マージ候補リストに挿入し、前記第１のＩＰＭＶＣは前記第１の対応するブロックの少なくとも１つの動きベクトルを示す、
前記現在のブロックの前記視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによってシフト視差ベクトルを決定し、
前記参照ビュー中の第２の対応するブロックを位置特定するために前記シフト視差ベクトルを使用し、
前記第２の対応するブロックの前記動き情報が利用可能であり、前記第１のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第２のＩＰＭＶＣを前記マージ候補リストに挿入し、前記第２のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、
ようにさらに構成される、請求項１４に記載の装置。
【請求項２２】
前記１つまたは複数のプロセッサは、前記第２のＩＰＭＶＣが利用可能でないとき、前記ＤＳＭＶ候補を生成するように構成される、請求項２１に記載の装置。
【請求項２３】
前記１つまたは複数のプロセッサは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記第２のＩＰＭＶＣを前記マージ候補リストに挿入するように構成される、請求項２１に記載の装置。
【請求項２４】
前記現在のブロックは予測ユニット（ＰＵ）であり、前記第１の値は（（（Ｗ／２）*４）＋４）に等しく、前記第２の値は（（（Ｈ／２）*４）＋４）に等しく、ここにおいて、Ｗは前記現在のブロックの幅であり、Ｈは前記現在のブロックの高さである、請求項２１に記載の装置。
【請求項２５】
前記１つまたは複数のプロセッサは、
前記マージ候補リストからマージ候補を選択し、
前記選択されたマージ候補の動き情報を使用して予測ブロックを生成し、
ビットストリームにおいて、前記選択されたマージ候補のインデックスをシグナリングする
ように構成される、請求項１４に記載の装置。
【請求項２６】
前記１つまたは複数のプロセッサは、
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定し、
前記選択されたマージ候補の動き情報を使用して現在のブロックに関する予測ブロックを生成し、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成する
ように構成される、請求項１４に記載の装置。
【請求項２７】
前記ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の参照ピクチャリストに対応する第１の利用可能な視差動きベクトルを決定するための手段と、
視差シフト動きベクトル（ＤＳＭＶ）候補を導出するために前記第１の利用可能な視差動きベクトルの水平成分をシフトさせるための手段と、
前記ＤＳＭＶ候補をマージ候補リストに追加するための手段と
を備える、装置。
【請求項２８】
参照ビュー中の第１の対応するブロックを位置特定するために、前記現在のブロックの視差ベクトルを使用するための手段と、
前記第１の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第１のビュー間予測動きベクトル候補（ＩＰＭＶＣ）を前記マージ候補リストに挿入するための手段と、ここにおいて、前記第１のＩＰＭＶＣは前記第１の対応するブロックの少なくとも１つの動きベクトルを示す、
前記現在のブロックの前記視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによってシフト視差ベクトルを決定するための手段と、
前記参照ビュー中の第２の対応するブロックを位置特定するために前記シフト視差ベクトルを使用するための手段と、
前記第２の対応するブロックの前記動き情報が利用可能であり、前記第１のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第２のＩＰＭＶＣを前記マージ候補リストに挿入するための手段と、ここにおいて、前記第２のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、
をさらに備える、請求項２７に記載の装置。
【請求項２９】
前記マージ候補リストからマージ候補を選択するための手段と、
前記選択されたマージ候補の動き情報を使用して予測ブロックを生成するための手段と、
ビットストリームにおいて、前記選択されたマージ候補のインデックスをシグナリングするための手段と
をさらに備える、請求項２７に記載の装置。
【請求項３０】
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定するための手段と、
前記選択されたマージ候補の動き情報を使用して現在のブロックに関する予測ブロックを生成するための手段と、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成するための手段と
をさらに備える、請求項２７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、２０１３年４月４日に出願された米国仮出願第６１／８０８，５６２号、２０１３年６月２５日に出願された米国仮特許出願第６１／８３９，２８７号、および２０１３年７月１３日に出願された米国仮特許出願第６１／８４５，９８５号の利益を主張する。
【０００２】
[0002]本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、アドバンストビデオコーディング（ＡＶＣ）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法などの、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）が、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライスにおけるビデオブロックは、同じピクチャ内の隣接ブロックにおける参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス内のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数が、次いで量子化され得る。最初に２次元アレイで構成される量子化された変換係数は、変換係数の１次元ベクトルを生成するために走査されてもよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてもよい。
【発明の概要】
【０００６】
[0006]概して、本開示は、３Ｄ−ＨＥＶＣまたは他のビデオコーディング規格におけるマージモードのための動きベクトル予測のコーディング効率をさらに改善するためのシステムおよび方法について説明する。ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、ビデオ符号化プロセスまたはビデオ復号プロセスの一部として、マージ候補リストを構成し得る。ビデオコーダは、マージ候補リストを構成することの一部として、ビデオデータの現在のブロックの空間的隣接ブロック間で第１の利用可能な視差動きベクトル（disparity motion vector）を決定し得る。第１の利用可能な視差動きベクトルは、第１の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）に対応し得る。さらに、ビデオコーダは、視差シフト動きベクトル（ＤＳＭＶ：disparity shifted motion vector）候補を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせ得る。ビデオコーダは、ＤＳＭＶ候補をマージ候補リストに追加し得る。いくつかの例では、ビデオコーダは、現在のブロックに関する予測ブロックを決定するためにマージ候補リスト内の選択された候補の動き情報を使用する。
【０００７】
[0007]さらに、本開示のいくつかの例では、ビデオコーダは、現在のブロックの視差ベクトルに基づいて初期のビュー間予測動きベクトル候補（ＩＰＭＶＣ：inter-view prediction motion vector candidate）を決定し得る。加えて、ビデオコーダは、現在のブロックの視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによってシフト視差ベクトルを決定し得る。ビデオコーダは、参照ビュー内の対応するブロックを位置特定するためにシフト視差ベクトルを使用し得る。次いで、ビデオコーダは、対応するブロックの動き情報を示す追加のＩＰＭＶＣを生成し得る。いくつかの例では、ビデオコーダは、追加のＩＰＭＶＣが初期のＩＰＭＶＣにマッチングしない場合、ＤＳＭＶ候補の代わりに追加のＩＰＭＶＣをマージ候補リストに挿入する。言い換えれば、ビデオコーダは、追加のＩＰＭＶＣが初期のＩＰＭＶＣにマッチングしない場合、マージ候補リスト内に追加のＩＰＭＶＣを含む可能性があり、追加のＩＰＭＶＣが利用可能でない場合、マージ候補リスト内にＤＳＭＶ候補を含む可能性がある。
【０００８】
[0008]一例では、本開示は、ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の参照ピクチャリストに対応する第１の利用可能な視差動きベクトルを決定することと、ＤＳＭＶ候補を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせることと、ＤＳＭＶ候補をマージ候補リストに追加することとを備える、ビデオデータをコーディングする方法について説明する。
【０００９】
[0009]別の例では、本開示は、ビデオデータを記憶するメモリと、ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の参照ピクチャリストに対応する第１の利用可能な視差動きベクトルを決定し、ＤＳＭＶ候補を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせ、ＤＳＭＶ候補をマージ候補リストに追加するように構成された１つまたは複数のプロセッサとを備える装置について説明する。
【００１０】
[0010]別の例では、本開示は、ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の参照ピクチャリストに対応する第１の利用可能な視差動きベクトルを決定するための手段と、ＤＳＭＶ候補を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせるための手段と、ＤＳＭＶ候補をマージ候補リストに追加するための手段とを備える装置について説明する。
【００１１】
[0011]別の例では、本開示は、実行されるとき、１つまたは複数のプロセッサに、ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の参照ピクチャリストに対応する第１の利用可能な視差動きベクトルを決定させ、ＤＳＭＶ候補を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせ、ＤＳＭＶ候補をマージ候補リストに追加させる、命令を記憶した非一時的コンピュータ可読データ記憶媒体について説明する。
【００１２】
[0012]本開示の１つまたは複数の例の詳細が、添付の図面および以下の説明に記載される。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】[0013]本開示のインター予測技法を利用し得る例示的なビデオ符号化／復号システムを示すブロック図。
【図２】[0014]マージモードと進化型動きベクトル予測（ＡＭＶＰ）モードの両方に使用され得る候補ブロックの例示的なセットを示す図。
【図３】[0015]マルチビュービデオのための例示的な復号順序を示す概念図。
【図４】[0016]マルチビュービデオのための例示的な予測構造を示す概念図。
【図５】[0017]３次元ビデオのためのテクスチャおよび深度値を示す概念図。
【図６】[0018]隣接ブロック視差ベクトル導出のための時間的隣接ブロックを示す概念図。
【図７】[0019]ブロックベースのビュー合成予測における参照ビューからの深度ブロック導出を示す概念図。
【図８】[0020]ビュー間予測動きベクトル候補の例示的な導出プロセスを示す概念図。
【図９】[0021]ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの例示的な仕様を示す例示的なテーブル。
【図１０】[0022]マージ／スキップモードのための追加のビュー間候補の導出を示す概念図。
【図１１】[0023]進化型残差予測の予測構造を示す概念図。
【図１２】[0024]本開示のインター予測技法を実装し得る、ビデオエンコーダの一例を示すブロック図。
【図１３】[0025]本開示のインター予測技法を実装し得る、ビデオデコーダの一例を示すブロック図。
【図１４Ａ】[0026]本開示の１つまたは複数の技法による、ビデオエンコーダの例示的な動作を示すフローチャート。
【図１４Ｂ】[0027]本開示の１つまたは複数の技法による、ビデオデコーダの例示的な動作を示すフローチャート。
【図１５】[0028]本開示の１つまたは複数の技法による、現在のブロックに関するマージ候補リストを構成するための例示的な動作の第１の部分を示すフローチャート。
【図１６】[0029]本開示の１つまたは複数の技法による、現在のブロックに関するマージ候補リストを構成するための図１５の例示的な動作の第２の部分を示すフローチャート。
【図１７】[0030]本開示の１つまたは複数の技法による、追加のマージ候補を決定するための例示的な動作の第１の部分を示すフローチャート。
【図１８】[0031]本開示の１つまたは複数の技法による、追加のマージ候補を決定するための例示的な動作の第２の部分を示すフローチャート。
【図１９】[0032]本開示の１つまたは複数の技法による、追加のマージ候補を決定するための例示的な動作の第３の部分を示すフローチャート。
【図２０】[0033]本開示の１つまたは複数の技法による、ビデオコーダの例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００１４】
[0034]本開示は、マルチビューおよび／またはマルチビュープラス深度（たとえば、３Ｄ−ＨＥＶＣ）ビデオコーディングにおけるビュー間予測の効率および品質を改善するための技法について説明する。特に、本開示は、マージモード動きベクトル予測のコーディング効率を改善するための技法を提案する。概して、マージモードは、ビデオエンコーダが動き情報をシグナリングすることができる効率を増大させるための技法である。ビデオエンコーダが現在のブロックを符号化するためにマージモードを使用するとき、ビデオエンコーダは、１つまたは複数のマージ候補を備えるマージ候補リストを生成する。マージ候補リスト内の各マージ候補は、異なる動き情報を示し得る。たとえば、マージ候補のうちの１つまたは複数は、現在のブロックの空間的隣接部または時間的隣接部を表すブロックの動き情報を指定し得る。さらに、マルチビューコーディングおよび３次元ビデオコーディングにおいて、マージ候補リストは、ビュー間予測動きベクトル候補（ＩＰＭＶＣ）を含み得る。ＩＰＭＶＣを決定するために、ビデオエンコーダは、ビュー間参照ピクチャ内の対応するブロックを識別するのに現在のブロックの視差ベクトルを使用し得る。対応するブロックがイントラ予測されず、ビュー間予測されず、現在のブロックと異なる出力時間インスタンスにおける参照ピクチャ内の１つまたは複数の動きベクトルその指示位置を有する場合、ＩＰＭＶＣは、対応するブロックの動き情報を指定し得る。
【００１５】
[0035]ビデオエンコーダは、現在のブロックに関する予測ブロックを決定するために、マージ候補リストからマージ候補を選択し、選択されたマージ候補の動き情報を使用し得る。ビデオエンコーダは、残差データを生成するために予測ブロックを使用し得る。ビデオエンコーダは、ビットストリーム中に、残差データを表すデータを含み得る。加えて、ビデオエンコーダは、ビットストリーム中に、選択されたマージ候補のインデックスを表すデータを含み得る。
【００１６】
[0036]ビデオデコーダは、現在のブロックを復号するとき、同じマージ候補リストを構成することができ、選択されたマージ候補を決定するためにインデックスを使用することができる。次いで、ビデオデコーダは、現在のブロックに関する予測ブロックを決定するために、選択されたマージ候補の動き情報を使用し得る。ビデオデコーダは、現在のブロックのピクセル値を再構成するために残差データとともに予測ブロックを使用し得る。
【００１７】
[0037]いくつかの事例では、マージ候補リスト内のマージ候補によって指定された動き情報は、特にマルチビューまたは３次元ビデオコーディングが使用されているときは、あまり正確でない。その結果、ビットストリームサイズが増大する場合がある。いくつかの事例では、マージ候補リスト内のマージ候補は、ＩＰＭＶＣを導出するのに使用される視差ベクトルがあまり正確でないので、あまり正確でない。言い換えれば、不正確な視差ベクトルは、不正確なビュー間予測動きベクトル候補およびビュー間視差動きベクトル候補につながり得る。さらに、現在のブロックの視差ベクトルは、現在のブロックに空間的に隣接するブロックの１つまたは複数の視差動きベクトルに基づいて決定され得る。空間的に隣接するブロックの視差動きベクトルが現在のブロックの視差動きベクトルに高く相関し得ることは、マージ候補リストを生成しながら十分には活用されない。
【００１８】
[0038]本開示の技法は、これらの欠陥のうちの１つまたは複数に対処し得る。たとえば、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の参照ピクチャリストに対応する第１の利用可能な視差動きベクトルを決定し得る。さらに、ビデオコーダは、視差シフト動きベクトル（ＤＳＭＶ）候補を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせ得る。次いで、ビデオコーダは、ＤＳＭＶ候補をマージ候補リストに追加し得る。このように決定されたＤＳＭＶ候補は、精度の増大を有し、したがって、より小さいビットストリームサイズをもたらし得る。
【００１９】
[0039]図１は、本開示の技法を利用し得る例示的なビデオ符号化／復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを与えるソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介してビデオデータを宛先デバイス１４に与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備える場合がある。場合によっては、ソースデバイス１２および宛先デバイス１４はワイヤレス通信のために装備され得る。
【００２０】
[0040]宛先デバイス１４は、コンピュータ可読媒体１６を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、符号化ビデオデータをソースデバイス１２から宛先デバイス１４に移動することが可能なタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路などの任意のワイヤレスまたは有線の通信媒体を備える場合がある。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワークなどのパケットベースのネットワーク、またはインターネットなどのグローバルネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を促進するために有用であり得る任意の他の機器を含み得る。
【００２１】
[0041]いくつかの例では、符号化データは、出力インターフェース２２から記憶デバイスへ出力され得る。同様に、符号化データは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性のメモリ、または符号化ビデオデータを記憶するための任意の他の適当なデジタル記憶媒体などの、様々な分散されたまたは局所的にアクセスされるデータ記憶媒体のうちのいずれかを含み得る。さらなる例では、記憶デバイスは、ソースデバイス１２によって生成される符号化されたビデオを記憶する、ファイルサーバまたは別の中間的な記憶デバイスに相当し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介して記憶デバイスの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的ファイルサーバは、ウェブサーバ（たとえば、ウェブサイト用）、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む任意の標準的なデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、その両方の組合せを含み得る。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００２２】
[0042]本開示の技法は、ワイヤレスのアプリケーションまたはセッティングに必ずしも限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオプレイバック、ビデオブロードキャスティングおよび／またはビデオテレフォニーなどの適用例をサポートするために一方向または双方向のビデオ送信をサポートするように構成され得る。
【００２３】
[0043]図１の例では、ソースデバイス１２は、ビデオソース１８と、深度推定ユニット１９と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、深度画像ベースレンダリング（ＤＩＢＲ：depth image based rendering）ユニット３１と、ディスプレイデバイス３２とを含む。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含んでもよい。たとえば、ソースデバイス１２は、外部カメラなどの外部のビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、統合されたディスプレイデバイスを含むのではなく、外部のディスプレイデバイスとインターフェースしてもよい。
【００２４】
[0044]図１の例示されたシステム１０は、一例にすぎない。本開示の技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化ビデオデータを生成する、そのようなコーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素と復号構成要素とを含むように実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのための、ビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００２５】
[0045]ソースデバイス１２のビデオソース１８は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなどの、ビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。しかしながら、上述のように、本開示に記載される技法は、一般にビデオコーディングに適用可能であり、ワイヤレスおよび／または有線の適用例に適用され得る。各場合において、ビデオエンコーダ２０は、キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータ生成されたビデオを符号化し得る。次いで、出力インターフェース２２は、コンピュータ可読媒体１６上に符号化ビデオ情報を出力し得る。
【００２６】
[0046]ビデオソース１８は、ビデオエンコーダ２０にビデオデータの複数のビューを与え得る。たとえば、ビデオソース１８は、各々が、撮影されている特定のシーンに対して一意の水平位置を有するカメラのアレイに対応し得る。代替的に、ビデオソース１８は、たとえばコンピュータグラフィックスを使用して異なる水平カメラの視点からビデオデータを生成し得る。深度推定ユニット１９は、テクスチャ画像内のピクセルに対応する深度ピクセルに関する値を決定するように構成され得る。たとえば、深度推定ユニット１９は、音響航法／測距（ＳＯＮＡＲ：Sound Navigation and Ranging）ユニット、光検出／測距（ＬＩＤＡＲ：Light Detection and Ranging）ユニット、またはシーンのビデオデータを記録しながら実質的に同時に深度値を直接決定することが可能な他のユニットを表し得る。
【００２７】
[0047]追加または代替として、深度推定ユニット１９は、異なる水平カメラ視点から実質的に同時にキャプチャされた２つ以上の画像を比較することによって間接的に深度値を計算するように構成され得る。画像内の実質的に同様のピクセル値の間の水平視差を計算することによって、深度推定ユニット１９は、シーン内の様々なオブジェクトの深度を概算することができる。いくつかの例では、深度推定ユニット１９は、ビデオソース１８と機能的に統合される。たとえば、ビデオソース１８がコンピュータグラフィックス画像を生成するとき、深度推定ユニット１９は、たとえば、ピクセルのｚ座標と、テクスチャ画像をレンダリングするのに使用されるオブジェクトとを使用してグラフィカルオブジェクトに関する実際の深度マップを与え得る。
【００２８】
[0048]コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたは有線ネットワーク送信などの一時的な媒体、または、ハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または別のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、ソースデバイス１２から符号化ビデオデータを受信することができ、たとえば、ネットワーク送信を介して、その符号化ビデオデータを宛先デバイス１４に与えることができる。同様に、ディスクプレス加工施設などの媒体製造施設のコンピューティングデバイスは、ソースデバイス１２によって生成された符号化ビデオデータを受信し、符号化ビデオデータを含むディスクを製造し得る。したがって、様々な例では、コンピュータ可読媒体１６は、様々な形態の１つまたは複数のコンピュータ可読媒体を含むものと理解され得る。
【００２９】
[0049]宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信し得る。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義されビデオデコーダ３０によっても使用される、ブロックおよび他のコード化ユニット、たとえば、ピクチャグループ（ＧＯＰ）の特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号ビデオデータをユーザに表示する。ディスプレイデバイス３２は、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備え得る。いくつかの例では、ディスプレイデバイス３２は、たとえば閲覧者に対する３次元（３Ｄ）視覚効果を生成するために、同時にまたは実質的に同時に２つ以上のビューを表示することが可能なデバイスを備える。
【００３０】
[0050]宛先デバイス１４のＤＩＢＲユニット３１は、ビデオデコーダ３０から受信された復号されたビューのテクスチャおよび深度情報を使用して、合成されたビューをレンダリングし得る。たとえば、ＤＩＢＲユニット３１は、対応する深度マップ中のピクセルの値に応じてテクスチャ画像のピクセルデータに関する水平視差を決定し得る。ＤＩＢＲユニット３１は、次いで、決定された水平視差によりテクスチャ画像中のピクセルを左または右にオフセットすることによって、合成された画像を生成し得る。このように、ディスプレイデバイス３２は、任意の組合せにおいて、復号されたビューおよび／または合成されたビューに対応し得る、１つまたは複数のビューを表示することができる。
【００３１】
[0051]図１には示されないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は各々、オーディオエンコーダおよびデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアとソフトウェアとを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３２】
[0052]ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装され得る。本技法がソフトウェアに部分的に実装されるとき、デバイスは、ソフトウェアに対する命令を適切な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実行するための１つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれてもよく、そのいずれかは、複合エンコーダ／デコーダ（コーデック）の一部として、それぞれのデバイスに統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００３３】
[0053]概して、本開示の技法は、アドバンストコーデックに基づいたマルチビューおよび／または３Ｄビデオコーディングに関する。本開示の技法は、多種多様なビデオコーディング規格のいずれかに適用され得る。たとえば、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオ圧縮規格に応じて動作し得る。例示的なビデオコーディング規格としては、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、および他のプロプライエタリ規格もしくは業界規格またはそのような規格の拡張がある。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＭＰＥＧ−４，Ｐａｒｔ１０と呼ばれることがあるＩＴＵ−Ｔ  Ｈ．２６４規格、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）（すなわち、Ｈ．２６４／ＡＶＣ）、または、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣのマルチビューコーディング（ＭＶＣ）拡張およびＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣのスケーラブルビデオコーディング（ＳＶＣ）拡張などのＨ．２６４／ＡＶＣの拡張に応じて動作する。
【００３４】
[0054]ＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）は、共同ビデオ部会（ＪＶＴ）として知られる共同パートナーシップの産物としてＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧー４（ＡＶＣ）規格を策定した。いくつかの態様では、本開示で説明する技法は、概してＨ．２６４／ＡＶＣ規格に準拠するデバイスに適用され得る。Ｈ．２６４／ＡＶＣ規格は、本明細書ではＨ．２６４規格もしくはＨ．２６４仕様、またはＨ．２６４／ＡＶＣ規格もしくは仕様と呼ばれることがある、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４、Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓに記載されている。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＡＶＣへの拡張の取組みを続けている。
【００３５】
[0055]さらに、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって開発された新しいビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）がある。現在、ＶＣＥＧおよびＭＰＥＧのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  ３Ｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−３Ｖ）は、ＨＥＶＣに基づいて３ＤＶ規格を開発中である。ＨＥＶＣに基づく３ＤＶ規格に関する規格化の取組みとしては、ＨＥＶＣに基づくマルチビュービデオコーデック（ＭＶ−ＨＥＶＣ）の規格化があり、別の部分としては、ＨＥＶＣに基づく３Ｄビデオコーディング（３Ｄ−ＨＥＶＣ）の規格化がある。ＨＥＶＣにおけるコーディングユニット（ＣＵ）レベルまたは予測ユニット（ＰＵ）レベル内のモジュールが再設計される必要がないように、またＭＶ−ＨＥＶＣのために完全には再使用することができないように、ＭＶ−ＨＥＶＣにおいて、ハイレベルシンタックス（ＨＬＳ）変化だけが与えられる。３Ｄ−ＨＥＶＣ用に、コーディングユニット／予測ユニットレベルにおけるコーディングツールを含む新規のコーディングツールが、テクスチャビューと深度ビューの両方のために、含められ、サポートされ得る。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣ、ＭＶ−ＨＥＶＣ、または３Ｄ−ＨＥＶＣに応じて動作し、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。したがって、本開示の技法は、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣ（アドバンストビデオコーディング）のマルチビュービデオコーディング（ＭＶＣ）拡張、ＨＥＶＣ規格の３Ｄビデオ（３ＤＶ）拡張（たとえば、３Ｄ−ＨＥＶＣ）、または他のコーディング規格に適用され得る。
【００３６】
[0056]ＨＥＶＣの標準化の取組みは、ＨＥＶＣテストモード（ＨＭ）と呼ばれるビデオコーディングデバイスの発展型モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の機能を仮定する。たとえば、Ｈ．２６４は９個のイントラ予測符号化モードを提供するが、ＨＭは３３個もの角度イントラ予測符号化モードプラスＤＣモードと平面モードとを提供することができる。
【００３７】
[0057]２０１４年３月２６日付けでｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１０＿Ｓｔｏｃｋｈｏｌｍ／ｗｇ１１／ＪＣＴＶＣ−Ｊ１００３−ｖ８．ｚｉｐ（本明細書では「ＨＥＶＣ  ＷＤ８」と呼ばれる）からダウンロードできる、Ｂｒｏｓｓら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ８」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１０回会合：ストックホルム、スウェーデン、２０１２年７月１１日〜２０日は、ＨＥＶＣ規格のドラフトである。２０１４年３月２６日付けでｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１１＿Ｓｈａｎｇｈａｉ／ｗｇ１１／ＪＣＴＶＣ−Ｋ１００３−ｖ１０．ｚｉｐ（本明細書では「ＨＥＶＣ  ＷＤ９」と呼ばれる）からダウンロードできる、Ｂｒｏｓｓら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ９」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１１回会合：上海、中国、２０１２年１０月１０日〜１９日は、ＨＥＶＣ規格の別のドラフトである。２０１３年６月２５日付けでｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１２＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｌ１００３−ｖ３４．ｚｉｐ（本明細書では「ＨＥＶＣ  ＷＤ１０」と呼ばれる）からダウンロードできる、Ｂｒｏｓｓら、「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  １０」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ）、第１２回会合：ジュネーブ、スイス、２０１３年１月１４日〜２３日は、ＨＥＶＣ規格の別のドラフトである。
【００３８】
[0058]２０１３年６月２５日付けでｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／４＿Ｉｎｃｈｅｏｎ／ｗｇ１１／ＪＣＴ３Ｖ−Ｄ１００５−ｖ１．ｚｉｐ（以下、「３Ｄ−ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ４」）において利用可能な、Ｔｅｃｈら、「３Ｄ−ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ４」、ＪＣＴ３Ｖ−Ｄ１００５＿ｓｐｅｃ＿ｖ１、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張開発共同研究部会、第４回会合：インチョン、韓国、２０１３年４月２０日〜２６日は、３Ｄ−ＨＥＶＣの参照ソフトウェアの記載および作業中のドラフトである。３Ｄ−ＨＥＶＣ用のソフトウェア３Ｄ−ＨＴＭは、以下のリンク、すなわち、［３Ｄ−ＨＴＭ  ｖｅｒｓｉｏｎ  ７．０］：ｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔａｇｓ／ＨＴＭ−７．０／からダウンロード可能である。３Ｄ−ＨＥＶＣ用の３Ｄ−ＨＴＭの別のバージョンは、以下のリンク、すなわち、［３Ｄ−ＨＴＭ  ｖｅｒｓｉｏｎ  ５．０］：ｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔａｇｓ／ＨＴＭ−５．０／からダウンロード可能である。
【００３９】
[0059]説明のために、本開示の技法について、主に、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣのＭＶＣ拡張または３Ｄ−ＨＥＶＣのいずれかに関して説明する。しかしながら、本開示の技法は、３次元効果をもたらすために使用されるビデオデータをコーディングするための他の規格に適用され得る。
【００４０】
[0060]概して、ＨＥＶＣのＨＭの作業中のモデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含むコーディングツリーユニット（ＣＴＵ）または最大コーディングユニット（ＬＣＵ）のシーケンスに分割され得ることを記載している。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるＬＣＵのサイズを定義し得る。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分される場合がある。スライスは、コーディング順にいくつかの連続するＣＴＵを含む。コード化スライスは、スライスヘッダとスライスデータとを備え得る。スライスのスライスヘッダは、スライスについての情報を提供するシンタックス要素を含むシンタックス構造であり得る。言い換えれば、スライスヘッダは、スライス内に含まれるすべてのビデオブロックに関連するデータ要素を含む。スライスデータは、スライスのコード化ＣＴＵを含み得る。
【００４１】
[0061]各ツリーブロックは、４分木に従って、コーディングユニット（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはツリーブロックに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。
【００４２】
[0062]４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。いくつかの例では、元のリーフＣＵの明示的な分割が存在しない場合でも、リーフＣＵの４つのサブＣＵは、リーフＣＵと呼ばれ得る。たとえば、１６×１６サイズのＣＵがさらに分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵはリーフＣＵとも呼ばれる。
【００４３】
[0063]ＣＵは、ＣＵがサイズ差異を有しないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、４つの子ノード（サブＣＵとも呼ばれる）に分割され、各子ノードは、次に親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフＣＵとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義することができ、コーディングノードの最小サイズを定義することもできる。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）を定義することもできる。本開示は、「ブロック」という用語を、ＨＥＶＣのコンテキストにおいてＣＵ、ＰＵ、またはＴＵのうちのいずれか、または他の規格のコンテキストにおいて同様のデータ構造（たとえば、Ｈ．２６４／ＡＶＣのマクロブロックおよびそのサブブロック）を参照するために使用し得る。
【００４４】
[0064]ＣＵは、「コーディングノード」と、コーディングノードに関連する予測ユニット（ＰＵ）および変換ユニット（ＴＵ：transform unit）とを含む場合がある。「コーディングノード」は、シンタックス要素の組を備え得る。ＣＵは、階層的４分木におけるノードに対応し得るので、「コーディングノード」を含んでいると言われる場合がある。ＣＵのサイズは、コーディングブロックのサイズに対応し、いくつかの例では、形状が正方形でなければならない。ＣＵのサイズは、８×８ピクセルから、最大で６４×６４ピクセルまたはそれを超えるツリーブロックのサイズまで及ぶ場合がある。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。たとえば、ＣＵに関連するシンタックスデータは、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵがスキップモードもしくはダイレクトモードで符号化されるか、イントラ予測モードで符号化されるか、またはインター予測モードで符号化されるかの間で異なり得る。ＰＵは、形状が非正方形に区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が正方形または非正方形（たとえば、矩形）であり得る。
【００４５】
[0065]ＨＥＶＣ規格は、異なるＣＵに対して異なり得る、ＴＵに従う変換を可能にする。ＴＵは、通常、区分されたＬＣＵのために定義された、所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、これは常にそうであるとは限らない。ＴＵは、通常、ＰＵと同じサイズであるか、またはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは、変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、変換係数を生成するために変換され、その変換係数は量子化され得る。
【００４６】
[0066]リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵのすべてまたは一部分に対応する空間エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモードで符号化されるとき、ＰＵに関するデータは、残差４分木（ＲＱＴ）に含まれ、残差４分木は、ＰＵに対応するＴＵに関するイントラ予測モードを記述するデータを含め得る。別の例として、ＰＵがインターモードで符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルに関する解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００４７】
[0067]１つまたは複数のＰＵを有するリーフＣＵは、１つまたは複数の変換ユニット（ＴＵ）を含むこともできる。ＴＵは、上記で説明したように、ＲＱＴ（ＴＵ４分木構造とも呼ばれる）を使用して指定され得る。たとえば、分割フラグは、リーフＣＵが４つのＴＵに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらなるサブＴＵに、さらに分割され得る。ＴＵがさらに分割されないとき、そのＴＵはリーフＴＵと呼ばれることがある。概して、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。すなわち、概して、リーフＣＵのすべてのＴＵの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値を、ＴＵに対応するＣＵの一部と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵはＰＵよりも大きくても、または小さくてもよい。イントラコーディングの場合、ＰＵは、同じＣＵの対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００４８】
[0068]その上、リーフＣＵのＴＵは、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造に関連付けることもできる。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは一般にリーフＣＵに対応し、ＣＵ４分木のルートノードは一般にツリーブロック（またはＬＣＵ）に対応する。分割されないＲＱＴのＴＵは、リーフＴＵと呼ばれる。概して、本開示では、特に明記しない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。
【００４９】
[0069]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰに含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャの１つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し、指定のコーディング規格に応じてサイズが異なり得る。
【００５０】
[0070]一例として、ＨＥＶＣのＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎとすれば、ＨＥＶＣのＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測、および２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称なＰＵサイズでのインター予測をサポートする。ＨＥＶＣのＨＭは、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称な区分もサポートする。非対称な区分では、ＣＵの一方向は区分されないが、他の方向は２５％および７５％に区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とそれに続く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という指示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５ＮのＰＵ、および下部の２Ｎ×１．５ＮのＰＵによって水平に区分される２Ｎ×２ＮのＣＵを指す。
【００５１】
[0071]本開示では、「Ｎ×Ｎ」および「Ｎ  ｂｙ  Ｎ」は、垂直および水平の寸法の観点からビデオブロックのピクセル寸法を参照するために、たとえば、１６×１６ピクセルまたは１６ｂｙ１６ピクセルのように、互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）、および水平方向に１６ピクセル（ｘ＝１６）を有する。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセル、および水平方向にＮピクセルを有し、ここでＮは非負整数値を表す。ブロック内のピクセルは、行および列に配列され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備えてよく、この場合に、Ｍは必ずしもＮに等しいとは限らない。
【００５２】
[0072]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、空間領域（ピクセル領域とも呼ばれる）において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵに関する残差データを含むＴＵを形成し、次いで、ＣＵの変換係数を生成するためにＴＵを変換し得る。
【００５３】
[0073]変換係数を生成するための任意の変換の後で、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減し得る。たとえば、量子化中にｎビット値をｍビット値に切り捨てることができ、ここで、ｎはｍよりも大きい。
【００５４】
[0074]量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、アレイの前部により高いエネルギー（したがって、より低い周波数）係数を配置し、アレイの後部により低いエネルギー（したがって、より高い周波数）係数を配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は、適応走査を実行し得る。１次元ベクトルを形成するために量子化変換係数を走査した後、ビデオエンコーダ２０は、１次元ベクトルをエントロピー符号化することができる。すなわち、ビデオエンコーダ２０は、変換係数を表すシンタックス要素をエントロピー符号化することができる。ビデオエンコーダ２０は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディングまたは別のエントロピー符号化などの様々なエントロピー符号化技法を使用して変換係数を表すシンタックス要素をエントロピー符号化し得る。ビデオエンコーダ２０は、ビデオデータを復号する際にビデオデコーダ３０が使用するための、符号化ビデオデータに関連付けられたシンタックス要素をエントロピー符号化することもできる。
【００５５】
[0075]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルにコンテキストモデル内のコンテキストを割り当て得る。たとえば、コンテキストは、シンボルの隣接する値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに関する可変長コードを選択し得る。可変長コーディング（ＶＬＣ）におけるコードワードは、比較的短いコードが優勢シンボルに対応する一方で、より長いコードが劣勢シンボルに対応するように構成され得る。このように、ＶＬＣの使用は、たとえば、送信されるべき各シンボルに対して等長のコードワードを使用するよりもビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００５６】
[0076]ビデオエンコーダ２０は、コード化ピクチャおよび関連データの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを備え得る。ＮＡＬユニットは、ＮＡＬユニット中のデータのタイプの指示と、必要に応じてエミュレーション防止ビットが点在するローバイトシーケンスペイロード（ＲＢＳＰ：raw byte sequence payload）の形態でそのデータを含むバイトとを含んでいるシンタックス構造である。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダを含み、ＲＢＳＰをカプセル化する。ＮＡＬユニットヘッダは、ＮＡＬユニットタイプコードを示すシンタックス要素を含み得る。ＮＡＬユニットのＮＡＬユニットヘッダによって指定されるＮＡＬユニットタイプコードは、ＮＡＬユニットのタイプを示す。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含む、シンタックス構造であり得る。いくつかの例では、ＲＢＳＰは０ビットを含む。
【００５７】
[0077]異なるタイプのＮＡＬユニットは、異なるタイプのＲＢＳＰをカプセル化し得る。たとえば、異なるタイプのＮＡＬユニットは、ビデオパラメータセット（ＶＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、コード化スライス、補足エンハンスメント情報（ＳＥＩ）などに関する異なるＲＢＳＰをカプセル化することができる。ビデオコーディングデータに対するＲＢＳＰ（パラメータセットおよびＳＥＩメッセージに対するＲＢＳＰに対立するものとして）をカプセル化するＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと呼ばれることがある。
【００５８】
[0078]ＨＥＶＣでは、ＳＰＳは、コード化ビデオシーケンス（ＣＶＳ）のすべてのスライスに適用される情報を含み得る。ＨＥＶＣでは、ＣＶＳは、瞬時復号リフレッシュ（ＩＤＲ）ピクチャ、あるいはブロークンリンクアクセス（ＢＬＡ）ピクチャ、あるいは、ＩＤＲまたはＢＬＡピクチャではないすべての後続のピクチャを含むビットストリーム中の最初のピクチャであるクリーンランダムアクセス（ＣＲＡ）ピクチャから開始し得る。すなわち、ＨＥＶＣでは、ＣＶＳは、復号順序で、ビットストリーム中の第１のアクセスユニットであるＣＲＡアクセスユニットと、ＩＤＲアクセスユニットまたはＢＬＡアクセスユニットと、それに続いて、後続のＩＤＲまたはＢＬＡアクセスユニットを含まないがそれまでのすべての後続のアクセスユニットを含む、０個以上の非ＩＤＲおよび非ＢＬＡアクセスユニットとからなり得る、アクセスユニットのシーケンスを備え得る。
【００５９】
[0079]ＶＰＳは、０個以上のＣＶＳ全体に適用されるシンタックス要素を備えるシンタックス構造である。ＳＰＳは、ＳＰＳがアクティブであるとき、アクティブであるＶＰＳを識別するシンタックス要素を含み得る。したがって、ＶＰＳのシンタックス要素は、ＳＰＳのシンタックス要素よりも一般的に適用可能であり得る。ＰＰＳは、０個以上のコード化ピクチャに適用されるシンタックス要素を備えるシンタックス構造である。ＰＰＳは、ＰＰＳがアクティブであるとき、アクティブであるＳＰＳを識別するシンタックス要素を含み得る。スライスのスライスヘッダは、スライスがコーディングされるときにアクティブであるＰＰＳを示すシンタックス要素を含み得る。
【００６０】
[0080]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。さらに、ビデオデコーダ３０は、ビットストリームからシンタックス要素を取得するためにビットストリームを構文解析し得る。ビデオデコーダ３０は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、概して、ビデオエンコーダ２０によって実行されるプロセスの逆であり得る。たとえば、ビデオデコーダ３０は、現在のＣＵのＰＵのための予測ブロックを決定するためにＰＵの動きベクトルを使用し得る。さらに、ビデオデコーダ３０は、現在のＣＵのＴＵに関連付けられた係数ブロックを逆量子化し得る。ビデオデコーダ３０は、現在のＣＵのＴＵに関連付けられた変換ブロックを再構成するために係数ブロックに対して逆変換を実行し得る。ビデオデコーダ３０は、現在のＣＵのＰＵのための予測ブロックのサンプルを現在のＣＵのＴＵの変換ブロックの対応するサンプルに加算することによって、現在のＣＵのコーディングブロックを再構成し得る。ビデオデコーダ３０は、ピクチャの各ＣＵのためのコーディングブロックを再構成することによってピクチャを再構成し得る。
【００６１】
[0081]上記に示すように、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオデータを符号化または復号するとき、インター予測を実行し得る。インター予測は、参照ピクチャリスト構成を含むこともできる。参照ピクチャリストは、動き探索および動き推定を実行するために利用可能な参照ピクチャまたは参照フレームを含む。通常、Ｂピクチャ（双方向予測ピクチャ）の第１または第２の参照ピクチャリストに関する参照ピクチャリスト構成は、２つのステップ、すなわち参照ピクチャリスト初期化と、参照ピクチャリスト並べ替え（修正）とを含む。参照ピクチャリスト初期化は、参照ピクチャメモリ（復号ピクチャバッファ（ＤＰＢ）としても知られる）中の参照ピクチャを、ＰＯＣ（ピクチャ順序カウント）値の順序に基づいてリストに入れる明示的な機構である。ピクチャのＰＯＣ値は、ピクチャの表示順序で並べられる。参照ピクチャリスト並べ替え機構は、参照ピクチャリスト初期化ステップ中にリストに入れられたピクチャの位置を任意の新しい位置に修正するか、または参照ピクチャメモリ中の任意の参照ピクチャが初期化リストに入れられなくとも、そのピクチャを任意の位置に入れることができる。いくつかのピクチャは、参照ピクチャリスト並べ替え（修正）後、初期の位置からはるかに離れた、リスト中の位置に入れられる場合がある。ただし、ピクチャの位置がリストのアクティブ参照ピクチャの数を超える場合、ピクチャは、最終参照ピクチャリストのエントリーとは見なされない。アクティブな参照ピクチャの数は、リストごとにスライスヘッダにおいてシグナリングされ得る。参照ピクチャリスト（すなわち、利用可能な場合、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）が構成された後、参照ピクチャリストに対する参照インデックスは、参照ピクチャリストに含まれる任意の参照ピクチャを識別するために使用され得る。
【００６２】
[0082]インター予測を使用してＰＵをコーディングすることは、現在のブロック（たとえば、ＰＵ）と参照フレーム中のブロックとの間の動きベクトルを計算することを含み得る。動きベクトルは、動き推定（または動き探索）と呼ばれるプロセスを通して計算され得る。たとえば、動きベクトルは、参照フレームの参照サンプルに対する、現在のフレーム内のＰＵの変位を示すことができる。参照サンプルは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこにでも発生し得る。いくつかの例では、参照サンプルは、分数ピクセル位置において発生し得る。現在の部分に最も良く一致する参照フレームの部分を見つけると、エンコーダは、現在のブロックのための現在の動きベクトルを、現在のブロックから参照フレーム中の一致する部分までの（たとえば、現在のブロックの中心から一致する部分の中心までの）位置の差分として決定する。
【００６３】
[0083]いくつかの例では、ビデオエンコーダ２０は、符号化ビデオビットストリーム中で、各ブロックの動きベクトルをシグナリングする。ビデオエンコーダ３０は、ビデオデータを復号するために動き補償を実行するのにシグナリングされた動きベクトルを使用し得る。ただし、元の動きベクトルを直接シグナリングすると、通常、情報を搬送するのに多数のビットが必要とされるので、コーディングがあまり効率的でなくなることがある。
【００６４】
[0084]したがって、いくつかの事例では、元の動きベクトルを直接シグナリングするのではなく、ビデオエンコーダ２０は、各区分について（たとえば、各ＰＵについて）動きベクトルを予測し得る。この動きベクトル予測を実行する際に、ビデオエンコーダ２０は、現在のブロックと同じフレーム中の空間的に隣接するブロックから決定される候補動きベクトルのセット、または、参照フレーム（すなわち、現在のフレーム以外のフレーム）中のコロケートブロックから決定される時間的候補動きベクトルを選択し得る。ビデオエンコーダ２０は、動きベクトル予測を実行し、必要な場合、シグナリングする際のビットレートを低減するために、元の動きベクトルをシグナリングするのではなく、動きベクトルを予測するために参照ピクチャへのインデックスをシグナリングし得る。空間的に隣接するブロックからの候補動きベクトルベクトルは、空間的ＭＶＰ候補と呼ばれることがあるが、別の参照フレーム中のコロケートブロックからの候補動きベクトルは時間的ＭＶＰ候補と呼ばれることがある。
【００６５】
[0085]動きベクトル予測の２つの異なるモードまたはタイプが、ＨＥＶＣ規格において提案されている。一方のモードは「マージ」モードと呼ばれる。他方のモードは、進化型動きベクトル予測（ＡＭＶＰ）と呼ばれる。マージモードでは、ビデオエンコーダ２０は、フレームの現在のブロックのための選択された候補動きベクトルから、動きベクトルと、参照インデックス（所与の参照ピクチャリストにおいて動きベクトルが指す参照フレームを識別する）と、動き予測方向（すなわち、参照フレームが時間的に現在のフレームに先行するかまたは後続するかに関して、参照ピクチャリスト（リスト０またはリスト１）を識別する）とをコピーするように、予測シンタックスのビットストリームシグナリングを通してビデオデコーダ３０に命令する。ビデオエンコーダ２０は、ビットストリームにおいて、インデックスを候補動きベクトルリスト中にシグナリングすることによって、この命令を達成する。インデックスは、候補動きベクトルリスト内の選択された候補動きベクトル（すなわち、特定の空間的ＭＶＰ候補または時間的ＭＶＰ候補）を識別し得る。したがって、マージモードでは、予測シンタックスは、モード（この場合は「マージ」モード）を識別するフラグと、選択された候補動きベクトルを識別するインデックスとを含み得る。いくつかの事例では、候補動きベクトルは、現在のブロックに関する因果的ブロック中にある。概して、因果的ブロックは、コーディング順に現在のブロックの前に発生する。したがって、ビデオデコーダ３０は、候補動きベクトルをすでに復号している。したがって、ビデオデコーダ３０は、因果的ブロックのための動きベクトルと参照インデックスと動き予測方向とを、すでに受信および／または決定している。したがって、ビデオデコーダ３０は、単に、メモリから、因果的ブロックに関連する動きベクトルと参照インデックスと動き予測方向とを取り出し、これらの値を現在のブロックのための動き情報としてコピーし得る。マージモードにおいてブロックを再構成するために、ビデオデコーダ３０は、現在ブロックのための導出された動き情報を使用して予測ブロックを取得し、コード化ブロックを再構成するために予測ブロックに残差データを加算し得る。
【００６６】
[0086]ＡＭＶＰでは、ビデオエンコーダ２０は、候補ブロックから動きベクトルのみをコピーし、コピーされたベクトルを現在のブロックの動きベクトルのための予測子として使用するように、ビットストリームシグナリングを通してビデオデコーダ３０に命令し、動きベクトル差分（ＭＶＤ）をシグナリングする。現在のブロックの動きベクトルに関連する参照フレームおよび予測方向は、別にシグナリングされる。ＭＶＤは、現在ブロックのための現在動きベクトルと、候補ブロックから導出された動きベクトル予測子との間の差分である。この場合、ビデオエンコーダ２０は、動き推定を使用して、コーディングすべきブロックのために実際の動きベクトルを決定し得る。次いで、ビデオエンコーダ２０は、ＭＶＤ値として、実際の動きベクトルと動きベクトル予測子との間の差分を決定し得る。このように、ビデオデコーダ３０は、マージモードの場合のように、現在の動きベクトルとして候補動きベクトルの正確なコピーを使用しないが、そうではなく、動き推定から決定された現在の動きベクトルに値が「近接」し得る候補動きベクトルを使用し、現在の動きベクトルを再生するためにＭＶＤを加算し得る。ＡＭＶＰモードにおいてブロックを再構成するために、デコーダは、コード化ブロックを再構成するために対応する残差データを加算し得る。
【００６７】
[0087]たいていの状況では、ＭＶＤは、シグナリングするために現在の動きベクトル全体よりも少ないビットを必要とする。したがって、ＡＭＶＰは、動きベクトル全体を送信することに勝るコーディング効率を維持しながら、現在の動きベクトルをより正確にシグナリングすることを可能にし得る。対照的に、マージモードは、ＭＶＤの指定を可能にしない。したがって、マージモードは、シグナリング効率の増大（すなわち、より少ないビット）のための動きベクトルシグナリングの精度を犠牲にする場合がある。ＡＭＶＰの予測シンタックスは、モードのフラグ（この場合はＡＭＶＰフラグ）と、候補ブロックのインデックスと、現在の動きベクトルと候補ブロックからの予測動きベクトルとの間のＭＶＤと、参照インデックスと、動き予測方向とを含み得る。
【００６８】
[0088]図２は、マージモードとＡＭＶＰモードの両方において使用され得る候補ブロックの例示的なセット１２０を示す概念図である。図２の例では、候補ブロックは、左下（Ａ０）１２１、左（Ａ１）１２２、左上（Ｂ２）１２５、上（Ｂ１）１２４、および右上（Ｂ０）１２３の空間的位置、ならびに、時間的（Ｔ）１２６位置にある。図２の例では、左候補ブロック１２２は、現在のブロック１２７の隣接した左エッジである。左ブロック１２２の下エッジは、現在のブロック１２７の下エッジと一直線に並ぶ。上ブロック１２４は、現在のブロック１２７の隣接した上エッジである。上ブロック１２４の右エッジは、現在のブロック１２７の右エッジと一直線に並ぶ。
【００６９】
[0089]上記で示すように、ビデオコーダは、マージモードおよびＡＭＶＰモードにおいて時間的隣接ブロックを使用し得る。すなわち、別の技法が、時間的動きベクトル予測子（ＴＭＶＰ：temporal motion vector predictor）または時間的動きベクトル候補に関係する。ＴＭＶＰを決定するために、最初に、コロケートピクチャが識別されることになる。コロケートピクチャは、参照ピクチャリストが構成されている、現在のピクチャと異なる時間から来る。現在のピクチャがＢスライスである場合、シンタックス要素ｃｏｌｌｏｃａｔｅｄ＿ｆｒｏｍ＿１０＿ｆｌａｇは、コロケートピクチャがＲｅｆＰｉｃＬｉｓｔ０からのものか、またはＲｅｆＰｉｃＬｉｓｔ１からのものかを示すために、スライスヘッダ中でシグナリングされ得る。参照ピクチャリストが識別された後、スライスヘッダ中でシグナリングされたシンタックス要素ｃｏｌｌｏｃａｔｅｄ＿ｒｅｆ＿ｉｄｘは、リスト中のピクチャ内のピクチャを識別するために使用され得る。
【００７０】
[0090]コロケートＰＵ（たとえば、時間的動きベクトル候補）は、次いで、コロケートピクチャをチェックすることによって識別される。このＰＵを含むＣＵの右下のＰＵの動きベクトル、またはこのＰＵを含むＣＵの中心ＰＵ内の右下のＰＵの動きのいずれかが、使用される。
【００７１】
[0091]上記のプロセスによって識別される動きベクトルが、ＡＭＶＰまたはマージモードのための動き候補を生成するために使用されるとき、動きベクトルは、通常、時間的位置（ＰＯＣ値によって反映される）に基づいてスケーリングされる。ＴＭＶＰから導出される時間的マージ候補のためのすべての考えられる参照ピクチャリストのターゲット参照インデックスは０に設定されるが、ＡＭＶＰの場合、ターゲット参照インデックスは、復号された参照インデックスに等しく設定される。
【００７２】
[0092]ＨＥＶＣでは、ＳＰＳは、フラグｓｐｓ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇを含み、ｓｐｓ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇが１に等しいとき、スライスヘッダは、フラグｐｉｃ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇを含み得る。ある特定のピクチャに対してｐｉｃ＿ｔｅｍｐｏｒａｌ＿ｍｖｐ＿ｅｎａｂｌｅ＿ｆｌａｇとｔｅｍｐｏｒａｌ＿ｉｄの両方が０に等しいとき、復号順序がその特定のピクチャの前のピクチャからの動きベクトルは、特定のピクチャ、または復号順序が特定のピクチャの後のピクチャの復号において、時間的動きベクトル予測子として使用されない。
【００７３】
[0093]上述のように、ＭＶＣは、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣの拡張である。マルチビューコーディングでは、異なる視点からの同じシーンの複数のビューがあり得る。「アクセスユニット」という用語は、同じ時間インスタンスに対応するピクチャのセットを指すために使用され得る。言い換えれば、アクセスユニットは、１つの出力時間インスタンスのためのすべてのビューのコード化ピクチャを含み得る。「ビュー成分」は、単一のアクセスユニット内のビューのコード化表現であり得る。いくつかの例では、ビュー成分は、テクスチャビュー成分と深度ビュー成分とを含む場合がある。本開示では、「ビュー」は、同じビュー識別子に関連する一連のビュー成分を指すことがある。したがって、ビューがコード化テクスチャ表現とコード化深度表現の両方を含むとき、ビュー成分は、テクスチャビュー成分および深度ビュー成分を備える（たとえば、これらの成分からなる）場合がある。いくつかの例では、テクスチャビュー成分は、単一のアクセスユニット内のビューのテクスチャのコード化表現である。さらに、いくつかの例では、深度ビュー成分は、単一のアクセスユニット内のビューの深度のコード化表現である。
【００７４】
[0094]各テクスチャビュー成分は、表示されるべき実際の画像コンテンツを含む。たとえば、テクスチャビュー成分は、ルーマ（Ｙ）成分と、クロマ（ＣｂおよびＣｒ）成分とを含み得る。各深度ビュー成分は、その対応するテクスチャビュー成分中のピクセルの相対深度を示し得る。いくつかの例では、深度ビュー成分は、ルーマ値のみを示すグレースケール画像である。言い換えれば、深度ビュー成分は、任意の画像コンテンツを搬送するのではなく、対応するテクスチャビュー成分中のピクセルの相対深度の測度を与え得る。
【００７５】
[0095]たとえば、深度ビュー成分中の純白ピクセルは、そのピクセルの対応するピクセル、または対応するテクスチャビュー成分のピクセルが閲覧者の視点から比較的近いことを示し得る。この例では、深度ビュー成分中の純黒ピクセルは、そのピクセルの対応するピクセル、または対応するテクスチャビュー成分のピクセルが閲覧者の視点からはるかに遠いことを示す。黒と白との中間にあるグレーの様々な陰影は、異なる深度レベルを示す。たとえば、深度ビュー成分中のダークグレーのピクセルは、テクスチャビュー成分中のピクセルの対応するピクセルが、深度ビュー成分中の薄いグレーのピクセルよりもはるかに遠いことを示す。この例では、ピクセルの深度を識別するためにグレースケールのみが必要とされるので、深度ビュー成分のクロマ成分がいかなる目的も果たし得ないことから、深度ビュー成分は、クロマ成分を含む必要がない。本開示は、説明の目的で、深度を識別するためにルーマ値（たとえば、強度値）のみを使用して深度ビュー成分の例を提供するが、限定するものと見なされるべきではない。他の例では、テクスチャビュー成分中のピクセルの相対深度を示すために他の技法が利用され得る。
【００７６】
[0096]マルチビューコーディングでは、ビットストリームは複数のレイヤを有し得る。レイヤの各々は、異なるビューに対応し得る。マルチビューコーディングでは、ビデオデコーダ（たとえば、ビデオデコーダ３０）が、あるビュー中のピクチャを任意の他のビュー中のピクチャと無関係に復号することができる場合、そのビューは「ベースビュー」と呼ばれることがある。ビューは、ビューの復号が１つまたは複数の他のビュー中のピクチャの復号に依存する場合、非ベースビューと呼ばれ得る。非ベースビューのうちの１つの中のピクチャをコーディングするとき、ピクチャが、異なるビュー中にあるがビデオコーダが現在コーディング中のピクチャと同じ時間インスタンス（すなわち、アクセスユニット）内にある場合、ビデオコーダ（ビデオエンコーダ２０またはビデオデコーダ３０など）は、参照ピクチャリストにピクチャを追加し得る。他のインター予測参照ピクチャと同様に、ビデオコーダは、参照ピクチャリストの任意の位置にビュー間予測参照ピクチャを挿入し得る。
【００７７】
[0097]ＳＶＣでは、ベースレイヤ以外のレイヤは、「エンハンスメントレイヤ」と呼ばれることがあり、ビットストリームから復号されるビデオデータの視覚的品質を向上させる情報を提供し得る。スケーラブルビデオコーディング（たとえば、スケーラブルＨＥＶＣ）では、「レイヤ表現」は、単一のアクセスユニット中の空間レイヤのコード化表現であり得る。説明を簡単にするために、本開示は、ビュー成分および／またはレイヤ表現を「ビュー成分／レイヤ表現」と呼び得る。
【００７８】
[0098]レイヤを実装するために、ＮＡＬユニットのヘッダは、ｎｕｈ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿６ｂｉｔｓシンタックス要素を含み得る。異なる値を指定するｎｕｈ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿６ｂｉｔシンタックス要素を有するＮＡＬユニットは、ビットストリームの異なる「レイヤ」に属する。したがって、マルチビューコーディング、３ＤＶ、またはＳＶＣでは、ＮＡＬユニットのｎｕｈ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿６ｂｉｔｓシンタックス要素はＮＡＬユニットのレイヤ識別子（すなわち、レイヤＩＤ）を指定する。いくつかの例では、ＮＡＬユニットがマルチビューコーディング、３ＤＶコーディング、またはＳＶＣにおけるベースレイヤに関係する場合、ＮＡＬユニットのｎｕｈ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿６ｂｉｔｓシンタックス要素は０に等しい。ビットストリームのベースレイヤ中のデータは、ビットストリームの他のレイヤ中のデータと無関係に復号され得る。ＮＡＬユニットがマルチビューコーディング、３ＤＶ、またはＳＶＣにおけるベースレイヤに関係しない場合、シンタックス要素のｎｕｈ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿６ｂｉｔｓシンタックス要素は、非０値を有し得る。上記のように、マルチビューコーディングおよび３ＤＶコーディングでは、ビットストリームの異なるレイヤは、異なるビューに対応し得る。
【００７９】
[0099]さらに、レイヤ内のいくつかのビュー成分／レイヤ表現は、同じレイヤ内の他のビュー成分／レイヤ表現とは無関係に復号され得る。したがって、レイヤのいくつかのビュー成分／レイヤ表現のデータをカプセル化したＮＡＬユニットは、そのレイヤ中の他のビュー成分／レイヤ表現の復号可能性に影響を及ぼすことなくビットストリームから除去され得る。そのようなビュー成分／レイヤ表現のデータをカプセル化したＮＡＬユニットを除去すると、ビットストリームのフレームレートが低減し得る。レイヤ内の他のビュー成分／レイヤ表現を参照せずに復号され得るレイヤ内のビュー成分／レイヤ表現のサブセットは、本明細書では「サブレイヤ」または「時間サブレイヤ」と呼ばれ得る。
【００８０】
[0100]ＮＡＬユニットは、ＮＡＬユニットの時間識別子（すなわち、ＴｅｍｐｏｒａｌＩｄ）を指定するｔｅｍｐｏｒａｌ＿ｉｄシンタックス要素を含み得る。ＮＡＬユニットの時間識別子は、そのＮＡＬユニットが属するサブレイヤを識別する。したがって、ビットストリームの各サブレイヤは、異なる時間識別子を有し得る。概して、第１のＮＡＬユニットの時間識別子が、第２のＮＡＬユニットの時間識別子未満である場合、第１のＮＡＬユニットによってカプセル化されたデータは、第２のＮＡＬユニットによってカプセル化されたデータを参照することなく復号され得る。
【００８１】
[0101]ビットストリームは、複数の動作点に関連付けられ得る。ビットストリームの各動作点は、レイヤ識別子のセット（たとえば、ｎｕｈ＿ｒｅｓｅｒｖｅｄ＿ｚｅｒｏ＿６ｂｉｔｓ値のセット）および時間識別子に関連付けられる。レイヤ識別子のセットは、ＯｐＬａｙｅｒＩｄＳｅｔと示され、時間識別子は、ＴｅｍｐｏｒａｌＩＤと示され得る。ＮＡＬユニットのレイヤ識別子が動作点のレイヤ識別子のセット内にあり、ＮＡＬユニットの時間識別子が動作点の時間識別子以下である場合、ＮＡＬユニットは動作点に関連付けられる。動作点表現は、動作点に関連付けられるビットストリームサブセットである。動作点表現は、動作点に関連付けられる各ＮＡＬユニットを含み得る。いくつかの例では、動作点表現は、動作点に関連付けられないＶＣＬ  ＮＡＬユニットを含まない。
【００８２】
[0102]いくつかの例では、マルチビューコーディングおよび３次元ビデオコーディングは、閲覧者に対する３次元効果を生成するために使用され得る。ビデオ中で３次元効果を生成するために、シーンの２つのビュー、たとえば、左眼ビューおよび右眼ビューが同時にまたはほぼ同時に示され得る。シーンの左眼ビューおよび右眼ビューに対応する、同じシーンの２つのピクチャは、閲覧者の左眼と右眼との間の水平視差を表すわずかに異なる水平位置からキャプチャされ得る（または、たとえば、コンピュータ生成グラフィックとして生成され得る）。左眼ビューのピクチャが閲覧者の左眼によって知覚され、右眼ビューのピクチャが閲覧者の右眼によって知覚されるようにこれらの２つのピクチャを同時にまたはほぼ同時に表示することによって、閲覧者は３次元ビデオ効果を経験し得る。左眼ビューと右眼ビューの両方を組合せで含む合成画像を作成することなどによって３Ｄを容易にするために、他の技法も使用され得る。合成画像内の右眼ビューと左眼ビューとを区別するために偏光（または、場合によっては光色もしくは光特性）が使用される場合があり、３Ｄグラスは、３Ｄ効果をもたらすために右眼および左眼が見る画像をフィルタリングし得る。マルチビュービデオデータは、３Ｄビデオを通信およびレンダリングするための多種多様な方法において有用である場合がある。
【００８３】
[0103]概して、本開示は、マルチビュービデオデータ、たとえば、３次元（３Ｄ）効果を生成するために使用されるビデオデータをコーディングおよび処理するための技法について説明する。本開示の他の場所で示すように、マルチビュービデオデータは、テクスチャ情報と深度情報の両方を含む場合があり、ここでテクスチャ情報は、一般にピクチャのルミナンス（輝度または強度）およびクロミナンス（色、たとえば青色相、赤色相）を記載する。深度情報は、深度マップによって表される場合があり、個々のピクセルは、テクスチャピクチャの対応するピクセルが、スクリーンに、スクリーンの比較的前に、またはスクリーンの比較的後ろに表示されるべきかどうかを示す値を割り当てられる。これらの深度値は、テクスチャ情報および深度情報を使用してピクチャを合成するとき、視差値に変換され得る。
【００８４】
[0104]図３は、例示的なマルチビュー復号順序を示す概念図である。言い換えれば、典型的なＭＶＣ復号順序（すなわち、ビットストリーム順序）が図３に示されている。ＭＶＣでは、複数のビューに関するデータが、時間優先順序でコーディングされる。したがって、復号順序の構成は、時間優先コーディングと呼ばれる。具体的には、共通の時間インスタンスにおける複数のビューの各々のビュー成分（たとえば、ピクチャ）がコーディングされ得、次いで、異なる時間インスタンスのビュー成分の別のセットがコーディングされ得、以下同様である。アクセスユニットの復号順序は、必ずしも、アクセスユニット中のピクチャの出力（または表示）順序と同じであるとは限らない。
【００８５】
[0105]図３に示す復号順序構成は、時間優先コーディングと呼ばれる。図２では、Ｓ０〜Ｓ７は各々、マルチビュービデオの異なるビューを指す。Ｔ０〜Ｔ９は各々、１つの出力時間インスタンスを表す。上記に示すように、アクセスユニットは、１つの出力時間インスタンスについてのすべてのビューのコード化ピクチャを含み得る。たとえば、第１のアクセスユニットは時間インスタンスＴ０についてのビューＳ０〜Ｓ７のすべてを含み得、第２のアクセスユニットは時間インスタンスＴ１についてのビューＳ０〜Ｓ７のすべてを含み得、以下同様である。
【００８６】
[0106]図３では、ビューの各々は、ピクチャのセットを含む。たとえば、ビューＳ０はピクチャ０、８、１６、２４、３２、４０、４８、５６、および６４のセットを含み、ビューＳ１はピクチャ１、９、１７、２５、３３、４１、４９、５７、および６５のセットを含み、以下同様である。各セットは２つのピクチャを含み、一方のピクチャはテクスチャビュー成分と呼ばれ、他方のピクチャは深度ビュー成分と呼ばれる。ビューのピクチャのセット内のテクスチャビュー成分および深度ビュー成分は、互いに対応するものと見なされる場合がある。たとえば、ビューのピクチャのセット内のテクスチャビュー成分は、そのビューのピクチャのセット内の深度ビュー成分に対応すると見なされ、その逆も同様である（すなわち、深度ビュー成分はセット中のそのテクスチャビュー成分に対応し、その逆も同様である）。本開示で使用する、深度ビュー成分に対応するテクスチャビュー成分は、単一のアクセスユニットの同じビューの一部であるテクスチャビュー成分および深度ビュー成分と見なされる場合がある。
【００８７】
[0107]図４は、マルチビューコーディングのための例示的な予測構造を示す概念図である。言い換えれば、マルチビュービデオコーディングのための（各ビュー内のピクチャ間予測とビュー間予測の両方を含む）典型的なＭＶＣ予測構造が、図４に示されている。予測方向は矢印によって示され、矢印の終点のオブジェクトは、予測参照として矢印の始点のオブジェクトを使用する。ＭＶＣでは、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする視差動き補償によって、ビュー間予測がサポートされる。図４の例は、各ビューに関して８つのビュー（ビューＩＤ「Ｓ０」〜「Ｓ７」を有する）と、１２個の時間ロケーション（「Ｔ０」〜「Ｔ１１」）とを示す。すなわち、図４の各行はビューに対応するが、各列は時間ロケーションを示す。図４のピクチャは、各行と各列の交点において示される。Ｈ．２６４／ＡＶＣ規格は、ビデオの一部分を表すためにフレームという用語を使用し得る。本開示では、ピクチャという用語とフレームという用語とを互換的に使用し得る。
【００８８】
[0108]図４のピクチャは、対応するピクチャがイントラコーディングされる（すなわち、Ｉピクチャである）か、または一方向に（すなわち、Ｐピクチャとして）もしくは複数の方向に（すなわち、Ｂピクチャとして）インターコーディングされるかを指定する、文字を含むブロックを使用して示される。概して、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のピクチャを使用する。たとえば、時間ロケーションＴ０にあるビューＳ２のＰピクチャは、時間ロケーションＴ０にあるビューＳ０のＩピクチャから予測される。
【００８９】
[0109]シングルビュービデオ符号化の場合と同様に、マルチビュービデオコーディングビデオシーケンスのピクチャは、異なる時間ロケーションにあるピクチャに関して予測符号化され得る。たとえば、時間ロケーションＴ１にあるビューＳ０のｂピクチャは、時間ロケーションＴ０にあるビューＳ０のＩピクチャからそのｂピクチャに向けられた矢印を有し、その矢印は、ｂピクチャがＩピクチャから予測されることを示す。しかしながら、加えて、マルチビュービデオの符号化の状況において、ピクチャはビュー間予測され得る。すなわち、ビュー成分は、参照のために他のビュー中のビュー成分を使用することができる。ＭＶＣでは、たとえば、別のビュー中のビュー成分がインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、ＳＰＳ  ＭＶＣ拡張（すなわち、ＭＶＣに関係するシンタックス要素のためのＳＰＳの拡張）においてシグナリングされ、インター予測参照またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。ビュー間予測はまた、３Ｄ−ＨＥＶＣ（マルチビュープラス深度）を含むＨＥＶＣの提案されたマルチビュー拡張の機能である。
【００９０】
[0110]ＭＶＣはＨ．２６４／ＡＶＣデコーダによって復号可能であるいわゆるベースビューを有し、ステレオビューペアはＭＶＣによってサポートされ得るが、ＭＶＣの利点は、ＭＶＣが、３Ｄビデオ入力として３つ以上のビューを使用し複数のビューによって表されるこの３Ｄビデオを復号する例を、サポートし得ることである。２つのビューのコーディングもサポートされる場合があり、またＭＶＣである。ＭＶＣの利点のうちの１つは、ＭＶＣエンコーダが３Ｄビデオ入力として３つ以上のビューをとらえることができ、また、ＭＶＣデコーダがそのようなマルチビュー表現を復号することができることである。ＭＶＣデコーダを有するクライアントのレンダラは、複数のビューを用いて３Ｄビデオコンテンツを予想し得る。
【００９１】
[0111]ＭＶＣでは、同じアクセスユニット中の（すなわち、同じ時間インスタンスを有する）ピクチャ間でビュー間予測が可能にされる。非ベースビューのうちの１つにおいてピクチャをコーディングするとき、ピクチャが異なるビュー中にあるが同じ時間インスタンス内にある場合、そのピクチャは参照ピクチャリストに追加され得る。ビュー間参照ピクチャは、任意のインター予測参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。ビュー間参照ピクチャが動き補償のために使用されるとき、対応する動きベクトルは「視差動きベクトル」と呼ばれる。図４に示すように、ビュー成分は、参照用に他のビュー中のビュー成分を使用することができる。ＭＶＣでは、別のビュー中のビュー成分がインター予測参照であるかのように、ビュー間予測が実現される。
【００９２】
[0112]図４は、ビュー間予測の様々な例を提供する。図４の例では、ビューＳ１のピクチャは、ビューＳ１の異なる時間ロケーションにあるピクチャから予測されるものとして示され、ならびに同じ時間ロケーションにあるビューＳ０およびＳ２のピクチャからビュー間予測されるものとして示されている。たとえば、時間ロケーションＴ１にあるビューＳ１のｂピクチャは、時間ロケーションＴ０およびＴ２にあるビューＳ１のＢピクチャの各々、ならびに時間ロケーションＴ１にあるビューＳ０およびＳ２のｂピクチャから予測される。
【００９３】
[0113]いくつかの例では、図４は、テクスチャビュー成分を示すものとして見なされ得る。たとえば、図４に示すＩピクチャ、Ｐピクチャ、Ｂピクチャ、およびｂピクチャは、ビューの各々に関するテクスチャビュー成分と見なされ得る。本開示で説明する技法によれば、図４に示すテクスチャビュー成分の各々に対して対応する深度ビュー成分が存在し得る。いくつかの例では、深度ビュー成分は、対応するテクスチャビュー成分に関して図４に示す方法と同様の方法で予測され得る。
【００９４】
[0114]別のタイプのマルチビュービデオコーディングフォーマットは、深度値の使用を導入する。マルチビュービデオプラス深度（ＭＶＤ）データフォーマットの場合、テクスチャ画像および深度マップは、マルチビューテクスチャピクチャによって独立にコーディングされ得る。ＭＶＤデータフォーマットは、３Ｄテレビジョンおよびフリー視点ビデオにおいて普及している。図５は、テクスチャ画像およびその関連のサンプルごとの深度マップを有するＭＶＤデータフォーマットを示す概念図である。深度範囲は、対応する３Ｄポイントに関してカメラからの最小距離Ｚnearおよび最大距離Ｚfarの範囲内にあるように制限され得る。
【００９５】
[0115]カメラパラメータおよび深度範囲値は、３Ｄディスプレイ上でレンダリングする前に復号されたビュー成分を処理するのに役立つ場合がある。したがって、特別な補足エンハンスメント情報（ＳＥＩ）メッセージは、Ｈ．２６４／ＭＶＣの現行バージョン、すなわち、取得環境の様々なパラメータを指定する情報を含むマルチビュー取得情報ＳＥＩに関して定義され得る。しかしながら、深度範囲関連の情報を示すためにＨ．２６４／ＭＶＣにおいて指定されるシンタックスが存在しない。
【００９６】
[0116]３Ｄビデオ（３ＤＶ）は、マルチビュービデオプラス深度（ＭＶＤ）フォーマットを使用して表され得るが、様々なビュー（個々の水平カメラ位置に対応し得る）の少数のキャプチャされたテクスチャ画像および関連の深度マップがコーディングされる場合があり、得られたビットストリームパケットは、３Ｄビデオビットストリーム中に多重化され得る。
【００９７】
[0117]ＭＶＣと同様に、３Ｄ−ＨＥＶＣにおいて、異なるビューから再構成されたビュー成分に基づくビュー間予測が可能になる。ビュー間予測を使用してブロックがコーディングされるとき、コロケートピクチャ中のＴＭＶＰが指す参照ピクチャのタイプ（たとえば、時間的またはビュー間）と、時間的マージ候補のためのターゲット参照ピクチャのタイプ（すなわち、ＨＥＶＣにおいて０に等しい参照インデックスを有するターゲット参照ピクチャ）とは、異なる場合がある。たとえば、一方の参照ピクチャは、ビュー間参照ピクチャ（視差に設定されるタイプ）であり、他方の参照ピクチャは、時間的参照ピクチャ（時間に設定されるタイプ）である。ビュー間参照ピクチャは、コーディング中の現在のビューからの別のビューからの参照ピクチャであり得る。ビュー間参照ピクチャは、ビデオコーダが現在コーディング中であるピクチャ（すなわち、現在のピクチャ）と同じ時間インスタンス（たとえば、同じＰＯＣ）から、または異なる時間基準から来る場合がある。時間的参照ピクチャは、ビデオコーダが現在コーディング中であるＣＵ（すなわち、現在コーディングされているＣＵ）とは異なる時間インスタンスからのピクチャであるが、現在コーディングされているＣＵと同じビュー内にある。特に３Ｄ−ＨＴＭソフトウェアのバージョンなどの他の例では、時間的マージ候補のためのターゲット参照ピクチャは、０または現在コーディングされているＰＵに対して左の隣接ＰＵの参照ピクチャインデックスの値に等しく設定され得る。したがって、時間的マージ候補のためのターゲット参照ピクチャインデックスは、０に等しくない場合がある。
【００９８】
[0118]コーディング効率をさらに改善するために、２つの新規の技術、すなわち、「ビュー間動き予測」および「ビュー間残差予測」が、３Ｄ−ＨＥＶＣ用の最新の参照ソフトウェアに採用されてきている。ビュー間動き予測およびビュー間残差予測は、現在コーディングされているビューから様々なビューにおける動きベクトル候補およびＣＵを使用する。動き探索、動き推定、および動きベクトル予測のために使用されるビューは、現在コーディングされているビューと同じ時間インスタンスから来る場合があるか、または異なる時間インスタンスから来る場合がある。これらの２つのコーディングツールを有効にするために、第１のステップは、視差ベクトルを導出する。ビデオコーダは、ビュー間動き／残差予測のために別のビュー中の対応するブロックを位置特定するか、またはビュー間動き予測のために視差ベクトルを視差動きベクトルに変換するかのいずれかのために視差ベクトルを使用し得る。
【００９９】
[0119]ビュー間動き／残差予測に使用される別の概念は、暗黙的視差ベクトル（ＩＤＶ：implicit disparity vector）である。ＩＤＶは、ＰＵがビュー間動きベクトル予測を採用する（すなわち、ＡＭＶＰまたはマージモードのための候補が、視差ベクトルの助けとともに他のビュー中の対応するブロックから導出される）とき、生成され得る。そのような視差ベクトルは、ＩＤＶと呼ばれる。ＩＤＶは、視差ベクトル導出の目的でＰＵに記憶される。
【０１００】
[0120]ビデオコーダは、視差ベクトルを導出するために、隣接ブロックベースの視差ベクトル（ＮＢＤＶ：Neighboring Blocks Based Disparity Vector）導出と呼ばれる方法を使用し得る。ビデオコーダがブロックに関する視差ベクトルを導出するためにＮＢＤＶ導出を使用するとき、ビデオコーダは、視差動きベクトルのために空間的隣接ブロックおよび時間的隣接ブロックをチェックする。上記に示すように、視差動きベクトルは、ビュー間参照ピクチャ中のロケーションを指す。いくつかの例では、ビデオコーダは、固定されたチェック順に空間的隣接ブロックまたは時間的隣接ブロックをチェックする。いくつかの例では、ビデオコーダは、最初に空間的隣接ブロックをチェックし、続いて、時間的隣接ブロックをチェックする。
【０１０１】
[0121]ビデオコーダが視差動きベクトルを識別すると、ビデオコーダは、チェックプロセスを終了させ、識別された視差動きベクトルを返し、ビデオコーダがビュー間動き予測およびビュー間残差予測において使用し得る視差ベクトルにその視差動きベクトルを変換することができる。ビデオコーダが、すべてのあらかじめ定義された隣接ブロックをチェックした後に視差動きベクトルを見出さない場合、ビデオコーダは、ビュー間動き予測に関してゼロ視差ベクトルを使用し得るが、ビュー間残差予測は、対応するＰＵ（すなわち、ビデオコーダが視差ベクトルを決定中であるブロック）に関して無効にされ得る。
【０１０２】
[0122]いくつかの例では、ビデオコーダは、視差ベクトル導出のための５つの空間的隣接ブロックをチェックする。５つの空間的隣接ブロックは、図２に定義したように、Ａ0、Ａ1、Ｂ0、Ｂ1、またはＢ2によって示される、現在のＰＵの左下ブロック、左ブロック、右上ブロック、上ブロック、および左上ブロックである。いくつかの例では、ビデオコーダは、Ａ1、Ｂ1、Ｂ0、Ａ0、およびＢ2の順に５つの空間的隣接ブロックをチェックする。隣接ブロックのうちの１つが視差動きベクトルを使用する場合、ビデオコーダはチェックプロセスを終了させることができ、最終的な視差ベクトルとして対応する視差動きベクトルを使用することができる。
【０１０３】
[0123]いくつかの例では、ビデオコーダは、時間的ブロックのチェックのために、現在のビューからの２つの参照ピクチャ、コロケートピクチャ、ならびにランダムアクセスピクチャ、または最小のＰＯＣ差分および最小の時間的ＩＤを有する参照ピクチャまでを考慮し得る。ビデオコーダは、最初にランダムアクセスピクチャをチェックし、続いて、コロケートピクチャをチェックし得る。概して、ランダムアクセスピクチャ（すなわち、ランダムアクセスポイント（ＲＡＰ）ピクチャ）は、ビデオコーダがビットストリームの開始以外のビットストリームの復号プロセスを開始し得るピクチャである。図６は、隣接ブロック視差ベクトル導出のための時間的隣接ブロックを示す概念図である。図６の例では、ビデオコーダは、各候補ピクチャに関する２つの候補ブロック、すなわち、
ａ）中心ブロック（ＣＲ）：現在のＰＵのコロケート領域の中心の４×４ブロック（図６の「Ｐｏｓ．Ａ」参照）。
【０１０４】
ｂ）右下ブロック（ＢＲ）：現在のＰＵのコロケート領域の右下の４×４ブロック（図６の「Ｐｏｓ．Ｂ」参照）。
【０１０５】
をチェックし得る。
【０１０６】
[0124]いくつかの例では、各候補ピクチャに関して、ビデオコーダは、２つのブロック、すなわち、第１の非ベースビューに関してはＣＲおよびＢＲを、または第２の非ベースビューに関してはＢＲ、次いでＣＲを順にチェックする。ブロックのうちの１つが視差動きベクトルを有する場合、ビデオコーダはチェックプロセスを終了させることができ、最終的な視差ベクトルとして対応する視差動きベクトルを使用することができる。
【０１０７】
[0125]空間的隣接ブロックまたは時間的隣接ブロックのいずれも視差動きベクトルを有しない場合、ビデオコーダは、５つの空間的隣接ブロックのいずれかがＩＤＶを有するかどうかを決定することができる。言い換えれば、すべての空間的／時間的隣接ブロックに関して、視差動きベクトルが使用されるかどうかが最初にチェックされ、続いて、ＩＤＶがチェックされる。いくつかの例では、５つの空間的隣接ブロックのいずれかがＩＤＶを有するかどうかをビデオコーダがチェックするとき、ビデオコーダは、Ａ0、Ａ1、Ｂ0、Ｂ1、およびＢ2の順に５つの空間的隣接ブロックをチェックすることができる。５つの空間的隣接ブロックのうちの１つがＩＤＶを使用し、空間的隣接ブロックがスキップ／マージモードとしてコーディングされる場合、ビデオコーダは、チェックプロセスを終了させることができ、最終的な視差ベクトルとして対応するＩＤＶを使用することができる。
【０１０８】
[0126]いくつかの例では、ビデオコーダは、コード化深度マップ内の情報を使用してＮＢＤＶ方式から生成された視差ベクトルをさらに改善することができる。たとえば、視差ベクトルの精度は、ベースビュー深度マップにおいてコーディングされた情報を利用することによって向上され得る。いくつかの例では、改善ステップについて次のように説明する。第１に、ベースビューなどの以前にコーディングされた参照深度ビューにおける導出された視差ベクトルによって対応する深度ブロックを位置特定する。対応する深度ブロックのサイズは、現在のＰＵのサイズと同じである。第２に、ビデオコーダは、４つのコーナー深度値の最大値を使用してコロケート深度ブロックから視差ベクトルを計算する。ビデオコーダは、計算済視差ベクトルを視差ベクトルの水平成分に等しく設定する一方で、ビデオコーダは、視差ベクトルの垂直成分を０に設定する。
【０１０９】
[0127]この新規の視差ベクトルは、「深度指向隣接ブロックベース視差ベクトル（ＤｏＮＢＤＶ：depth oriented neighboring block based disparity vector）」と呼ばれる。ビデオコーダは、次いで、ＡＭＶＰおよびマージモードに関するビュー間候補導出のためにＤｏＮＢＤＶ方式から、この新規に導出された視差ベクトルによってＮＢＤＶ方式からの視差ベクトルを交換し得る。ビデオコーダは、ビュー間残差予測に関する改善されていない視差ベクトルを使用し得る。加えて、ＰＵが後方ビュー合成予測（ＶＳＰ：view synthesis prediction）モードを使用してコーディングされる場合、ビデオコーダは、改善された視差ベクトルを１つのＰＵの動きベクトルとして記憶し得る。
【０１１０】
[0128]ここで、３Ｄ−ＨＥＶＣにおいて隣接ブロックを使用したブロックベースビュー合成予測（ＶＳＰ）について説明する。Ｔｉａｎら、「ＣＥ１．ｈ：Ｂａｃｋｗａｒｄ  Ｖｉｅｗ  Ｓｙｎｔｈｅｓｉｓ  Ｐｒｅｄｉｃｔｉｏｎ  ｕｓｉｎｇ  Ｎｅｉｇｈｂｏｕｒｉｎｇ  Ｂｌｏｃｋｓ」（以下、ＪＣＴ３Ｖ−Ｃ０１５２）において提案された後方ワーピングＶＳＰアプローチは、第３回ＪＣＴ−３Ｖ会合において採択された。ＪＣＴ３Ｖ−Ｃ０１５２のコピーは、２０１４年３月２６日付けで、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ３ｖ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝５９４において利用可能である。後方ワーピングＶＳＰ（ＢＶＳＰ）の基本思想は、３Ｄ−ＡＶＣにおけるブロックベースＶＳＰと同じである。これら２つの技法の両方は、動きベクトル差分を送信するのを避け、より正確な動きベクトルを使用するために後方ワーピングＶＳＰおよびブロックベースＶＳＰを使用する。実装形態の詳細は、異なるプラットフォームのために異なる。
【０１１１】
[0129]以下の段落では、ＢＶＳＰという用語は、３Ｄ−ＨＥＶＣにおける後方ワーピングＶＳＰアプローチを示す。３Ｄ−ＨＴＭでは、テクスチャ優先コーディングは、共通のテスト条件において適用される。したがって、対応する非ベース深度ビューは、１つの非ベーステクスチャビューを復号するとき、利用不可能である。したがって、深度情報は、ＢＶＳＰを実行するために推定および使用される。ブロックに関する深度情報を推定するために、隣接ブロックから視差ベクトルを最初に導出し、次いで参照ビューから深度ブロックを取得するために導出された視差ベクトルを使用することが提案される。
【０１１２】
[0130]ＨＴＭ５．１テストモデルは、視差ベクトル予測子を導出するためにＮＢＤＶ導出を使用する。ＮＢＤＶ導出の場合、（ｄｖｘ，ｄｖｙ）をＮＢＤＶ導出から識別された視差ベクトルとし、現在のブロックの位置は、（ｂｌｏｃｋｘ，ｂｌｏｃｋｙ）である。参照ビューの深度画像では、（ｂｌｏｃｋｘ+ｄｖｘ，ｂｌｏｃｋｙ+ｄｖｙ）において深度ブロックをフェッチすることが提案される。フェッチされた深度ブロックは、現在の予測ユニット（ＰＵ）の同じサイズを有する。ビデオコーダは、次いで、現在のＰＵに関する後方ワーピングを実行するためにフェッチされた深度ブロックを使用し得る。
【０１１３】
[0131]図７は、どのように参照ビューからの深度ブロックが位置特定され、次いでＢＶＳＰ予測に使用されるか３つのステップを示す。図７の例では、ビデオコーダは、現在のテクスチャピクチャ６０をコーディング中である。現在のテクスチャピクチャ６０は、合成された参照テクスチャピクチャ６２に依存するので、「依存テクスチャピクチャ」と標示される。言い換えれば、ビデオコーダは、現在のテクスチャピクチャ６０を復号するために参照テクスチャピクチャ６２を合成する必要があり得る。参照テクスチャピクチャ６２および現在のテクスチャピクチャ６０は、同じアクセスユニット内にあるが、異なるビュー内にある。
【０１１４】
[0132]参照テクスチャピクチャ６２を合成するために、ビデオコーダは、現在のテクスチャピクチャ６０のブロック（すなわち、ビデオユニット）を処理し得る。図７の例では、ビデオコーダは、現在のブロック６４を処理中である。ビデオコーダが現在のブロック６４を処理するとき、ビデオコーダは、現在のブロック６４に関する視差ベクトルを導出するためにＮＢＤＶ導出プロセスを実行し得る。たとえば、図７の例では、ビデオコーダは、現在のブロック６４に隣接するブロック６８の視差ベクトル６６を識別する。視差ベクトル６６の識別は、図７のステップ１として示される。さらに、図７の例では、ビデオコーダは、視差ベクトル６６に基づいて、現在のブロック６４の視差ベクトル６９を決定する。たとえば、視差ベクトル６９は、視差ベクトル６６のコピーであり得る。視差ベクトル６６をコピーすることは、図７のステップ２として示される。
【０１１５】
[0133]ビデオコーダは、現在のブロック６４の視差ベクトル６９に基づいて、参照深度ピクチャ７２中の参照ブロック７０を識別し得る。参照深度ピクチャ７２、現在のテクスチャピクチャ６０、および参照テクスチャピクチャ６２は各々、同じアクセスユニット内にあり得る。参照深度ピクチャ７２および参照テクスチャピクチャ６２は、同じビュー内にあり得る。ビデオコーダは、現在のブロック６４のテクスチャサンプル値および参照ブロック７０の深度サンプル値に基づいて、参照テクスチャピクチャ６２のテクスチャサンプル値を決定し得る。テクスチャサンプル値を決定するプロセスは、後方ワーピングと呼ばれる場合がある。３Ｄ−ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ３のセクションＨ．８．５．２．２．７は、後方ワーピングのプロセスを記載する。後方ワーピングは、図７のステップ３として示される。このように、図７は、どのように参照ビューからの深度ブロックが位置特定され、次いでＢＶＳＰ予測に使用されるかの３つのステップを示す。
【０１１６】
[0134]ＢＶＳＰがシーケンスにおいて有効にされる場合、ビュー間動き予測のためのＮＢＤＶプロセスは変更され、差分は、以下の段落のボールドイタリックで示される。
【０１１７】
時間的隣接ブロックの各々に関して、時間的隣接ブロックが視差動きベクトルを使用する場合、ビデオコーダは視差ベクトルとして視差動きベクトルを返し、視差ベクトルは上記で説明したようにさらに改善される。
【０１１８】
空間的隣接ブロックの各々に関して、以下のものが適用される。
【０１１９】
各参照ピクチャリスト０または参照ピクチャリスト１に関して、以下のものが適用される。空間的隣接ブロックが視差動きベクトルを使用する場合、ビデオコーダは視差ベクトルとして視差動きベクトルを返し、ビデオコーダは、上記で説明した方法によって視差ベクトルをさらに改善する。
【０１２０】
別段に、空間的隣接ブロックがＢＶＳＰモードを使用する場合、ビデオコーダは、視差ベクトルとして関連の動きベクトルを返す。ビデオコーダは、上記と同様の方法で視差ベクトルをさらに改善する。しかしながら、ビデオコーダは、４つのコーナーピクセルではなく対応する深度ブロックのすべてのピクセルから最大深度値を選択する。
【０１２１】
空間的隣接ブロックの各々に関して、空間的隣接ブロックがＩＤＶを使用する場合、ビデオコーダは視差ベクトルとしてＩＤＶを返し、ビデオコーダは、上記で説明した方法によって視差ベクトルをさらに改善した。
【０１２２】
[0135]導入されたＢＶＳＰモードは特別のインターコード化モードとして扱われ、ＢＶＳＰモードの使用を示すフラグが、各ＰＵのために維持されるべきである。ビデオコーダは、ビットストリーム中のフラグをシグナリングするのではなく、新規のマージ候補（すなわち、ＢＶＳＰマージ候補）をマージ候補リストに追加することができ、フラグは、復号されたマージ候補インデックスがＢＶＳＰマージ候補に対応するかどうかに依存する。ＢＶＳＰマージ候補は、次のように定義され得る。
【０１２３】
各参照ピクチャリストに関する参照ピクチャインデックス：−１
各参照ピクチャリストに関する動きベクトル：改善された視差ベクトル
[0136]ＢＶＳＰマージ候補の挿入位置は、空間的隣接ブロックに依存し得る。たとえば、５つの隣接ブロック（すなわち、Ａ0、Ａ1、Ｂ0、Ｂ1、またはＢ2）のいずれかがＢＶＳＰモードを用いてコーディングされる（すなわち、隣接ブロックの維持されたフラグが１に等しい）場合、ビデオコーダは、ＢＶＳＰマージ候補を対応する空間的マージ候補として扱うことができ、ＢＶＳＰマージ候補をマージ候補リストに挿入することができる。ビデオコーダは、ＢＶＳＰマージ候補をマージ候補リストに一度だけ挿入することができる。別段に、５つの空間的隣接ブロックのいずれもＢＶＳＰモードを用いてコーディングされない場合、ビデオコーダは、時間的マージ候補の直前にＢＶＳＰマージ候補をマージ候補リストに挿入する。結合双予測マージ候補導出プロセス中に、ビデオコーダは、ＢＶＳＰマージ候補を含むことを避けるための追加の条件をチェックする。
【０１２４】
[0137]サイズがＮ×Ｍによって示される各ＢＶＳＰコード化ＰＵの場合、ＢＶＳＰコード化ＰＵは、Ｋ×Ｋ（ここでＫは４または２であり得る）に等しいサイズを有するいくつかの下位領域にさらに区分される。下位領域ごとに、別個の視差動きベクトルが導出され、各下位領域は、ビュー間参照ピクチャ中の導出された視差動きベクトルによって位置特定された１つのブロックから予測される。言い換えれば、ＢＶＳＰコード化ＰＵに関する動き補償ユニットのサイズは、Ｋ×Ｋに設定される。共通のテスト条件では、Ｋは４に設定される。
【０１２５】
[0138]本セクションは、視差動きベクトル導出プロセスについて説明する。ＢＶＳＰモードを用いてコーディングされた１つのＰＵ内の各下位領域（４×４ブロック）の場合、対応する４×４深度ブロックは、上述の改善された視差ベクトルを用いて参照深度ビューにおいて最初に位置特定される。次に、ビデオコーダは、対応する深度ブロック中の１６個の深度ピクセルの最大値を選択する。次に、ビデオコーダは、その最大値を視差動きベクトルの水平成分に変換する。ビデオコーダは、視差動きベクトルの垂直成分をゼロに設定する。
【０１２６】
[0139]本開示の次のセクションは、スキップ／マージモードに関するビュー間候補導出プロセスについて説明する。ＤｏＮＢＤＶ方式から導出された視差ベクトルに基づいて、新規の動きベクトル候補（すなわち、ビュー間予測動きベクトル候補（ＩＰＭＶＣ））は、利用可能な場合、ＡＭＶＰおよびスキップ／マージモードに追加され得る。ビュー間予測動きベクトルは、利用可能な場合、時間動きベクトルである。スキップモードがマージモードと同じ動きベクトル導出プロセスを有するので、本文書で説明される一部またはすべての技法は、マージモードとスキップモードの両方に適用され得る。
【０１２７】
[0140]マージ／スキップモードに関して、ビデオコーダは、以下のステップによってビュー間予測動きベクトルを導出し得る。第１に、ビデオコーダは、同じアクセスユニットの参照ビュー中の現在のＰＵ／ＣＵの対応するブロックを位置特定するために視差ベクトルを使用する。対応するブロックがイントラコーディングされず、ビュー間予測をされず、対応するブロックの参照ピクチャが、現在のＰＵ／ＣＵの同じ参照ピクチャリスト内への１つのエントリー（すなわち、参照ピクチャ）のＰＯＣ値に等しいＰＯＣを有する場合、ビデオコーダは、ビュー間予測動きベクトルとなるようにＰＯＣに基づいて参照インデックスを変換した後、動き情報（予測方向、参照ピクチャ、および動きベクトル）を導出し得る。
【０１２８】
[0141]図８は、ビュー間予測動きベクトル候補の導出プロセスの一例を示す。視差ベクトルは、現在コーディングされているビュー（ビュー１すなわちＶ１）中の現在のＰＵ１００に対する異なるビュー（たとえば、ビュー０すなわちＶ０）中の対応するブロック１０２を見出すことによって計算される。対応するブロック１０２がイントラコーディングされず、ビュー間予測されず、その参照ピクチャが、現在のＰＵ１００の参照ピクチャリスト中にあるＰＯＣ値（たとえば、図８に示される、Ｒｅｆ０，Ｌｉｓｔ ０、Ｒｅｆ０，Ｌｉｓｔ１、Ｒｅｆ１，Ｌｉｓｔ１）を有する場合、対応するブロック１０２に関する動き情報が、ビュー間予測動きベクトルとして使用される。ビデオコーダは、ＰＯＣに基づいて参照インデックスをスケーリングし得る。
【０１２９】
[0142]図８の例では、現在のＰＵ１００は、時間インスタンスＴ１においてビューＶ１内に発生する。現在のＰＵ１００に対する参照ＰＵ１０２は、現在のＰＵ１００と異なるビュー（すなわち、ビューＶ０）内に、現在のＰＵ１００と同じ時間インスタンス（すなわち、時間インスタンスＴ１）において発生する。図８の例では、参照ＰＵ１０２は、双方向にインター予測される。したがって、参照ＰＵ１０２は、第１の動きベクトル１０４および第２の動きベクトル１０６を有する。動きベクトル１０４は、参照ピクチャ１０８内の位置を示す。参照ピクチャ１０８は、ビューＶ０内に時間インスタンスＴ０において発生する。動きベクトル１０６は、参照ピクチャ１１０内の位置を示す。参照ピクチャ１１０は、ビューＶ０内に時間インスタンスＴ３において発生する。
【０１３０】
[0143]ビデオコーダは、参照ＰＵ１０２の動き情報に基づいて、現在のＰＵ１００のマージ候補リストに含めるためのＩＰＭＶＣを生成し得る。ＩＰＭＶＣは、第１の動きベクトル１１２および第２の動きベクトル１１４を有し得る。動きベクトル１１２は動きベクトル１０４にマッチングし、動きベクトル１１４は動きベクトル１０６にマッチングする。ビデオコーダは、ＩＰＭＶＣの第１の参照インデックスが参照ピクチャ１０８と同じ時間インスタンス（すなわち、時間インスタンスＴ０）において発生する参照ピクチャ（すなわち、参照ピクチャ１１６）の現在のＰＵ１００に関するＲｅｆＰｉｃＬｉｓｔ０内の位置を示すようにＩＰＭＶＣを生成する。図８の例では、参照ピクチャ１１６は、現在のＰＵ１００に関するＲｅｆＰｉｃＬｉｓｔ０内の第１の位置（すなわち、Ｒｅｆ０）において発生する。さらに、ビデオコーダは、ＩＰＭＶＣの第２の参照インデックスが参照ピクチャ１１０と同じ時間インスタンスにおいて発生する参照ピクチャ（すなわち、参照ピクチャ１１８）の現在のＰＵ１００に関するＲｅｆＰｉｃＬｉｓｔ１内の位置を示すようにＩＰＭＶＣを生成する。したがって、図８の例では、ＩＰＭＶＣのＲｅｆＰｉｃＬｉｓｔ０参照インデックスは、０に等しい場合がある。図８の例では、参照ピクチャ１１９は、現在のＰＵ１００に関するＲｅｆＰｉｃＬｉｓｔ１内の第１の位置（すなわち、Ｒｅｆ０）において発生し、参照ピクチャ１１８は、現在のＰＵ１００に関するＲｅｆＰｉｃＬｉｓｔ１内の第２の位置（すなわち、Ｒｅｆ１）において発生する。したがって、ＩＰＭＶＣのＲｅｆＰｉｃＬｉｓｔ１参照インデックスは、１に等しい場合がある。
【０１３１】
[0144]ビュー間予測動きベクトル候補が利用可能でない（たとえば、対応するブロック１０２がイントラコーディングされるか、またはビュー間予測される）場合、ビデオコーダは、視差ベクトルをビュー間視差動きベクトルに変換することができるが、ビデオコーダは、このビュー間視差動きベクトルを、利用可能な場合、ビュー間予測動きベクトル候補と同じ位置のＡＭＶＰまたはマージ候補リストに追加する。得られた候補は、ビュー間視差動きベクトル候補（ＩＤＭＶＣ：Inter-view Disparity Motion Vector Candidate）と呼ばれる場合がある。したがって、ＩＤＭＶＣは、現在のブロックの視差ベクトルを指定し得る。ビュー間予測動きベクトルまたはビュー間視差動きベクトルのいずれかは、このコンテキストでは「ビュー間候補」と呼ばれる場合がある。
【０１３２】
[0145]ＡＭＶＰモードでは、ターゲット参照インデックスが時間的動きベクトルに対応する場合、ビデオコーダは、視差ベクトルによって位置特定された現在のＰＵの対応するブロック内の動きベクトルをチェックすることによってＩＰＭＶＣを見出す。ＩＰＭＶＣが利用不可能である場合、ビデオコーダは、ゼロ動きベクトル候補を候補リストに追加する。ＡＭＶＰモードでは、ターゲット参照インデックスが視差動きベクトルに対応する場合、ビデオコーダは、ＩＰＭＶＣを導出しないが、ビデオコーダは、視差ベクトルをビュー間視差動きベクトルに変換し、このビュー間視差動きベクトルを候補リストに追加する。
【０１３３】
[0146]マージ／スキップモードでは、ビデオコーダは、すべての空間的マージ候補および時間的マージ候補の前に、利用可能な場合、ＩＰＭＶＣをマージ候補リストに常に挿入する。ビデオコーダは、Ａ0から導出された空間的マージ候補の前にＩＤＭＶＣを挿入する。３Ｄ−ＨＴＭソフトウェアのあるバージョンは、ビュー間予測動きベクトルまたはビュー間視差動きベクトルを、ＡＭＶＰ候補リスト内のすべての空間的候補および時間的候補の前に常に挿入する。
【０１３４】
[0147]本開示の次のセクションは、３Ｄ−ＨＥＶＣにおけるマージ候補リスト構成について説明する。第１に、ビデオコーダは、ＤｏＮＢＤＶの方法を用いて視差ベクトルを導出する。ビデオコーダがそのような視差ベクトルを見出さない場合、ビデオコーダは、ゼロ視差ベクトルを使用する。視差ベクトルの場合、３Ｄ−ＨＥＶＣにおけるマージ候補リスト構成プロセスは、次のように定義され得る。
【０１３５】
１．ＩＰＭＶＣ挿入
−  ビデオコーダは、上記で説明したプロシージャによってＩＰＭＶＣを導出する。ＩＰＭＶＣが利用可能である場合、ビデオコーダは、ＩＰＭＶＣをマージリストに挿入する。
【０１３６】
２．３Ｄ−ＨＥＶＣにおける空間的マージ候補およびＩＤＭＶＣの挿入に関する導出プロセス
−  以下の順序、すなわち、Ａ1、Ｂ1、Ｂ0、Ａ0、またはＢ2で、空間的隣接ＰＵの動き情報をチェックする。ビデオコーダは、以下の手順によって、制約付きプルーニングを実行する。
【０１３７】
−  Ａ1およびＩＰＭＶＣが同じ動きベクトルおよび同じ参照インデックスを有する場合、ビデオコーダは、Ａ1を候補リストに挿入しないが、場合によっては、ビデオコーダは、Ａ1を候補リストに挿入する。
【０１３８】
−  Ｂ1およびＡ1／ＩＰＭＶＣが同じ動きベクトルおよび同じ参照インデックスを有する場合、ビデオコーダは、Ｂ1を候補リストに挿入しないが、場合によっては、ビデオコーダは、Ｂ1を候補リストに挿入する。
【０１３９】
−  Ｂ0が利用可能である場合、ビデオコーダは、Ｂ0を候補リストに追加する。ＩＤＭＶＣが、上記で説明したプロシージャによって導出される。ＩＤＭＶＣが利用可能であり、ＩＤＭＶＣがＡ1およびＢ1から導出された候補とは異なる場合、ビデオコーダは、ＩＤＭＶＣを候補リストに挿入する。
【０１４０】
−  ＢＶＳＰがピクチャ全体または現在のスライスに関して有効にされる場合、ビデオコーダは、ＢＶＳＰマージ候補をマージ候補リストに挿入する。
【０１４１】
−  Ａ0が利用可能である場合、ビデオコーダは、Ａ0を候補リストに追加する。
【０１４２】
−  Ｂ2が利用可能である場合、ビデオコーダは、Ｂ2を候補リストに追加する。
【０１４３】
３．時間的マージ候補に関する導出プロセス
−  コロケートＰＵの動き情報が利用される、ＨＥＶＣにおける時間的マージ候補導出プロセスと同様である。
【０１４４】
４．３Ｄ−ＨＥＶＣにおける結合双予測マージ候補に関する導出プロセス
−  上記の２つのステップから導出された候補の総数が、候補の最大数未満である場合、ビデオコーダは、ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの指定を除いて、ＨＥＶＣ  ＷＤ１０（および／またはＨＥＶＣの他のバージョン）に定義されているものと同じプロセスを実行する。ｃｏｍｂＩｄｘ、ｌ０ＣａｎｄＩｄｘ、およびｌ１ＣａｎｄＩｄｘの間の関係は、図９に示すテーブルにおいて定義されている。ｃｏｍｂＩｄｘ、ｌ０ＣａｎｄＩｄｘ、およびｌ１ＣａｎｄＩｄｘの間の関係は、図９に示すテーブルにおいて定義されている。言い換えれば、図９は、ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの例示的な仕様を示す例示的なテーブルである。
【０１４５】
５．ゼロ動きベクトルマージ候補に関する導出プロセス
−  ビデオコーダは、ＨＥＶＣにおいて定義されたものと同じプロシージャを実行する。
【０１４６】
[0148]３Ｄ−ＨＥＶＣに関するソフトウェアのいくつかのバージョンでは、マージリスト中の候補の総数は最大６であり、ｆｉｖｅ＿ｍｉｎｕｓ＿ｍａｘ＿ｎｕｍ＿ｍｅｒｇｅ＿ｃａｎｄが、スライスヘッダ中で６から減算されるマージ候補の最大数を指定するためにシグナリングされる。ｆｉｖｅ＿ｍｉｎｕｓ＿ｍａｘ＿ｎｕｍ＿ｍｅｒｇｅ＿ｃａｎｄは、両端値を含む、０〜５の範囲内にある。
【０１４７】
[0149]マージ候補リストを生成する別の例では、視差ベクトルは、ＤｏＮＢＤＶの方法を用いて最初に導出される。そのような視差ベクトルが見出されない場合、ゼロ視差ベクトルが利用される。視差ベクトルの場合、３Ｄ−ＨＥＶＣにおけるマージ候補リスト構成プロセスは、次のように定義され得る。
【０１４８】
１．ＩＰＭＶＣ挿入
−  ＩＰＭＶＣが、上記で説明したプロシージャによって導出される。ＩＰＭＶＣが利用可能である場合、ＩＰＭＶＣはマージリストに挿入される。
【０１４９】
２．３Ｄ−ＨＥＶＣにおける空間的マージ候補およびＩＤＭＶＣの挿入に関する導出プロセス
−  以下の順序、すなわち、Ａ１、Ｂ１、Ｂ０、Ａ０、またはＢ２で空間的隣接ＰＵの動き情報をチェックする。制約付きプルーニングは、以下のプロシージャによって実行される。
【０１５０】
−  Ａ１およびＩＰＭＶＣが同じ動きベクトルおよび同じ参照インデックスを有する場合、Ａ１は、候補リストに挿入されないが、場合によっては、Ａ１はそのリストに挿入される。
【０１５１】
−  Ｂ１およびＡ１／ＩＰＭＶＣが同じ動きベクトルおよび同じ参照インデックスを有する場合、Ｂ１は、候補リストに挿入されないが、場合によっては、Ｂ１はそのリストに挿入される。
【０１５２】
−  Ｂ０が利用可能である場合、Ｂ０は、候補リストに追加される。ＩＤＭＶＣが、上記で説明したプロシージャによって導出される。ＩＤＭＶＣが利用可能であり、Ａ１およびＢ１から導出された候補と異なる場合、ＩＤＭＶＣは候補リストに挿入される。
【０１５３】
−  ＢＶＳＰがピクチャ全体または現在のスライスに関して有効にされる場合、ＢＶＳＰマージ候補は、マージ候補リストに挿入される。
【０１５４】
−  Ａ０が利用可能である場合、Ａ０は、候補リストに追加される。
【０１５５】
−  Ｂ２が利用可能である場合、Ｂ２は、候補リストに追加される。
【０１５６】
３．時間的マージ候補に関する導出プロセス
−  しかしながら、コロケートＰＵの動き情報が利用されるＨＥＶＣにおける時間的マージ候補導出プロセスと同様に、時間的マージ候補のターゲット参照ピクチャインデックスが、０となるように固定するのではなく変更され得る。０に等しいターゲット参照インデックスが時間的参照ピクチャ（同じビュー内）に対応する一方で、コロケートＰＵの動きベクトルがビュー間参照ピクチャを指すとき、ターゲット参照インデックスは、参照ピクチャリスト内へのビュー間参照ピクチャの第１のエントリーに対応する別のインデックスに変更される。反対に、０に等しいターゲット参照インデックスがビュー間参照ピクチャに対応する一方で、コロケートＰＵの動きベクトルが時間的参照ピクチャを指すとき、ターゲット参照インデックスは、参照ピクチャリスト内への時間的参照ピクチャの第１のエントリーに対応する別のインデックスに変更される。
【０１５７】
４．３Ｄ−ＨＥＶＣにおける結合双予測マージ候補に関する導出プロセス
−  上記の２つのステップから導出された候補の総数が、候補の最大数未満である場合、ＨＥＶＣにおいて定義されたものと同じプロセスは、ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの仕様を除いて実行される。ｃｏｍｂＩｄｘ、ｌ０ＣａｎｄＩｄｘ、およびｌ１ＣａｎｄＩｄｘの間の関係は、図９において定義されている。
【０１５８】
５．ゼロ動きベクトルマージ候補に関する導出プロセス
−  ＨＥＶＣにおいて定義されたものと同じプロシージャが実行される。
【０１５９】
[0150]３Ｄ−ＨＥＶＣにおけるマージ候補リスト構成のための代替技法
[0151]上記で説明した方法に加えて、両方の内容全体が参照によって本明細書に組み込まれる、同時係属の、２０１２年１２月７日に出願された米国仮出願第６１／７３４，９２９号（以下、「’９２９出願」）と、２０１２年１２月３０日に出願された米国仮出願第６１／７４７，３５０号（以下、「’３５０出願」）とは、以下の技法について説明する。参照ビュー中の改善された視差ベクトルによって識別された対応するブロックは、現在の方法と同様に、ＩＰＭＶＣを導出するために使用される。適用可能な場合、２つのシフト視差ベクトルが導出される。
【０１６０】
−  左シフト視差ベクトル（ＬＤＶ：Left shifted Disparity Vector）：水平成分に関して１６だけ視差ベクトルを減算する。
【０１６１】
−  右シフト視差ベクトル（ＲＤＶ：Right shifted Disparity Vector）：水平成分に関して１６だけ視差ベクトルを加算する。
【０１６２】
[0152]ＩＰＭＶＣを導出するためのＬＤＶ／ＲＤＶの使用は、現在の３Ｄ−ＨＥＶＣにおける視差ベクトルと同じである。導出されたＩＰＭＶＣが利用可能である場合、導出されたＩＰＭＶＣは、マージ候補リストに追加される。場合によっては、ビデオコーダは、次のように、シフト視差ベクトルをマージ候補リストに追加されるべき視差動きベクトルに変換する。
【０１６３】
−  左候補：視差動きベクトル候補は、ＤＶ［０］−４に等しい水平成分と０に等しい垂直成分とを有する動きベクトルに設定される。
【０１６４】
−  右候補：視差動きベクトル候補は、ＤＶ［０］＋４に等しい水平成分と０に等しい垂直成分とを有する動きベクトルに設定される。
【０１６５】
[0153]シフト視差動き予測子から導出される追加のマージ候補
[0154]以下の技法は、Ｇｕｉｌｌｅｍｏｔら、「Ａｄｄｉｔｉｏｎａｌ  ｍｅｒｇｅ  ｃａｎｄｉｄａｔｅｓ  ｄｅｒｉｖｅｄ  ｆｒｏｍ  ｓｈｉｆｔｅｄ  ｄｉｓｐａｒｉｔｙ  ｃａｎｄｉｄａｔｅ  ｐｒｅｄｉｃｔｏｒｓ」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張開発共同研究部会、第３回会合：ジュネーブ、スイス、２０１３年１月１７日〜２３日、書類ＪＣＴ３Ｖ−Ｃ０１４８（以下、「ＪＣＴ３Ｖ−Ｃ０１４８」）におけるマージ候補リストを構成するために提案された。ＪＣＴ３Ｖ−Ｃ０１４８は、２０１４年３月２６日付けで、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ３ｖ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝５８９から利用可能であり、参照により本明細書に組み込まれる。ＪＣＴ３Ｖ−Ｃ０１４８によって提案された技法では、マージリスト中の候補の第１〜第３の位置は、第１の視差動きベクトル候補を探索するために走査される。そのような候補が利用可能である場合、２つの新規の候補が視差動きベクトルを＋４および−４だけ水平にシフトさせることによって生成される。生成された候補は、マージ候補リストに挿入される。
【０１６６】
[0155]参照により本明細書に組み込まれる、２０１３年４月４日に出願された同時係属中の米国仮出願第６１／８０８，５６２号（以下、「’５６２出願」）は、マージ候補リストを構成するための技法を提案する。’５６２出願の提案された技法では、２つの候補（すなわち、左候補および右候補）は、以下に説明するステップを追うことによって生成される。
【０１６７】
−  視差ベクトルＤＶは、適用可能な場合、２つのシフト視差ベクトルを導出するためにシフトされる。
【０１６８】
−  ＤＶは、ＬＤＶ／ＲＤＶを導出するために水平に−４／４だけ左／右にシフトされ、参照ビューにおける左／右ＩＰＭＣ候補を導出するためにそのシフトされたＤＶが使用される。
【０１６９】
−  左／右ＩＰＭＣが利用不可能である場合、視差シフト動きベクトル（ＤＳＭＶ）として示される候補が、導出され左／右候補であるように設定される。ＤＳＭＶは次のように導出される。
【０１７０】
−  空間的隣接ブロックＡ１、Ｂ１、Ｂ０、Ａ０、またはＢ２からＲｅｆＰｉｃＬｉｓｔ０に対応する第１の利用可能な視差動きベクトル（ＤＭＶ）が、導出するために使用される。
【０１７１】
−  ＤＭＶが利用可能である（すなわち「ｍｖ」として示される）場合、
ｉ．ＤＳＭＶ［０］＝ｍｖ［０］、ＤＳＭＶ［１］＝ｍｖ［１］、ＤＳＭＶ［０］［０］−／＋＝４、参照インデックスが、第１の利用可能な候補（ＤＭＶを含む）から継承される。
【０１７２】
ｉｉ．ＢＶＳＰが有効にされるとき、ＤＳＭＶ［０］［１］は０に設定される。
【０１７３】
場合によっては、ＤＳＭＶ［０］［０］＝ＤＶ［０］−／＋４、ＤＳＭＶ［１］［０］＝ＤＶ［０］−／＋４、ＤＳＭＶ［０］［１］＝０、およびＤＳＭＶ［１］［１］＝０。左候補および右候補は、それぞれ、時間的マージ候補の前後に右に挿入される。左候補または右候補は、ビュー間予測動きベクトル候補である場合、ＩＰＭＶＣとだけ比較される。
【０１７４】
[0156]Ｌｉｎら、「３Ｄ−ＣＥ５．ｈ関連：Ａｄｄｉｔｉｏｎａｌ  ｉｎｔｅｒ−ｖｉｅｗ  ｍｅｒｇｉｎｇ  ｃａｎｄｉｄａｔｅ」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１との３Ｄビデオコーディング拡張共同研究部会、第４回会合：インチョン、韓国、２０１３年４月２０日〜２６日、書類第ＪＣＴ３Ｖ−Ｄ０１０９号（以下、「ＪＣＴ３Ｖ−Ｄ０１０９」）は、マージ候補リスト中の追加のビュー間候補を含めるためのプロセスについて説明する。ＪＣＴ３Ｖ−Ｄ０１０９は、２０１４年３月２６日付けで、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ３ｖ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝７９４から利用可能であり、参照により本明細書に組み込まれる。図１０は、マージ候補リスト中の追加のビュー間候補を含めるためにＪＣＴ３Ｖ−Ｄ０１０９に記載されたプロセスを示す。言い換えれば、図１０は、マージ／スキップモードのための追加のビュー間候補の導出を示す概念図である。
【０１７５】
[0157]図１０の例では、現在のブロック１４０は、視差ベクトル１４２を有する。視差ベクトル１４２は、ビュー間参照ピクチャ中のブロックＩの位置を示す。追加のビュー間候補を導出するために、ビデオコーダは、シフト視差ベクトル１４４を決定し得る。シフト視差ベクトル１４４は、視差ベクトル１４２と同じ水平成分および垂直成分を有する場合があるが、シフト視差ベクトル１４４の原点は、「Ｈ」によって図１０に示す位置である。その場合、ビデオコーダは、ビュー間参照ピクチャ中のブロックＩ２を決定するためにシフト視差ベクトル１４４を使用し得る。追加のビュー間候補は、ブロックＩ２の動き情報を有し得る。したがって、ＪＣＴ３Ｖ−Ｄ０１０９では、追加のビュー間予測動きベクトル候補は、図１０に示すように視差ベクトルによってシフトされたＨの位置として位置特定される対応するブロック（Ｉ２）から導出される。追加候補は、元のＩＰＭＶＣと異なる場合にのみ、時間的マージ候補の直前にマージ候補リストに挿入される。
【０１７６】
[0158]進化型残差予測
[0159]上記に示すように、３Ｄ−ＨＥＶＣは、ビュー残差予測をサポートし得る。３Ｄ−ＨＥＶＣに関するいくつかの提案では、ビュー間残差予測は、いわゆる進化型残差予測（ＡＲＰ）によって実現される。ＡＲＰは、２つのビューの残差信号間の相関をより効率的に利用するために提案されてきた。
【０１７７】
[0160]図１１は、マルチビュービデオコーディングにおけるＡＲＰの例示的な予測構造を示す概念図である。ＡＲＰでは、視差ベクトルを用いて識別される参照ブロックの残差は、参照ビューに関する残差ピクチャを維持し残差ピクチャ中の参照ブロック内の残差を直接予測することなく、図１１に示すように、オンザフライで生成される。図１１は、現在のピクチャ１７０、時間的参照ピクチャ１７２、視差参照ピクチャ１７４、および時間的視差参照ピクチャ１７６という、４つのピクチャを含む。現在のピクチャ１７０は、非ベースビューＶ１中にあり、時間インスタンスＴj中にある。時間的参照ピクチャ１７２は、非ベースビュー中にあり、時間インスタンスＴi中にある。視差参照ピクチャ１７４は、ベースビュー中にあり、時間インスタンスＴj中にある。時間的視差参照ピクチャ１７６は、ベースビュー中にあり、時間インスタンスＴi中にある。
【０１７８】
[0161]現在のピクチャ１７０は、「Ｄc」として示される現在のＰＵを含む。言い換えれば、Ｄcは、現在のビュー（すなわち、非ベースビュー）中の現在のブロックを表す。Ｄcは、時間的参照ピクチャ１７２の中の位置を示す、時間的動きベクトルＶDを有する。ビデオエンコーダ２０は、時間的動きベクトルＶDによって示されるロケーションと関連付けられるピクチャ１７２中のサンプルに基づいて、時間的参照ブロックＤrを決定することができる。したがって、Ｄrは時間Ｔiにおける同じビュー（ビュー１）からのＤcの時間的予測ブロックを示し、ＶDはＤcからＤrへの動きを示す。
【０１７９】
[0162]さらに、ビデオエンコーダ２０は、Ｄcの視差ベクトルによって示されるロケーションと関連付けられる視差参照ピクチャ１７４中のサンプルに基づいて、視差参照ブロックＢcを決定することができる。したがって、Ｂcは、参照ブロック（すなわち、時間Ｔjにおける参照ビュー（ベースビュー）中のＤcの表現）を示す。Ｂcの左上の位置は、導出された視差ベクトルをＤcの左上の位置に加算することによって、導出された視差ベクトルを用いて計算され得る。ＤcおよびＢcは、２つの異なるビューにおける同じオブジェクトの投影であり得るので、ＤcおよびＢcは同じ動き情報を共有するはずである。したがって、時間Ｔiにおけるビュー０中のＢcの時間的予測ブロックＢrは、ＶDの動き情報を適用することによってＢcから位置決定され得る。
【０１８０】
[0163]ビデオエンコーダ２０は、時間的視差ピクチャ１７６中の時間的視差参照ブロックＢr（Ｂcの予測ブロック）を決定することができる。上述したように、時間視差ピクチャ１７６は、Ｂrと同じビュー（すなわち、ビューＶ０）中にあり、Ｄrと同じ時間インスタンス（すなわち、時間インスタンスＴi）中にある。ビデオエンコーダ２０は、Ｄcの動きベクトルＶDによって示されるロケーションにおけるサンプルに基づいて、Ｂrを判断することができる。したがって、Ｂrの左上位置は、Ｂcの左上位置に動きベクトルＶDを加算することによって、再利用される動きベクトルＶDを用いて算出され得る。Ｂcの左上位置は、Ｄcの左上位置と視差ベクトルとの合計に等しくなり得る。したがって、Ｂrの左上位置は、Ｄcの左上位置の座標と、視差ベクトルと、動きベクトルＶDとの合計に等しくなり得る。このように、図１１に矢印１７８によって示すように、ビデオエンコーダ２０は、Ｂrを決定するために、動きベクトルＶDを再利用することができる。したがって、図１１に示すように、Ｄcとして示される、非ベースビュー中の現在のブロックの残差をより十分に予測するために、参照ブロックＢcは、最初に視差ベクトルによって識別され、参照ブロックの動き補償は、予測信号Ｂrと参照ブロックＢcの再構成信号との間の残差を導出するために呼び出される。
【０１８１】
[0164]さらに、ＡＲＰにおいて、第１の残差ブロック中の各サンプルは、Ｄc中のサンプルとＤrの対応するサンプルとの間の差分を示し得る。第１の残差ブロックは、Ｄcの元の残差ブロックと呼ばれ得る。第２の残差ブロック中の各サンプルは、Ｂc中のサンプルとＢr中の対応するサンプルとの間の差分を示し得る。第２の残差ブロックは、「残差予測子」と呼ばれ得る。ビデオエンコーダ２０は、Ｂrを決定するために動きベクトルＶDを使用するので、残差予測子は、Ｂcの実際の残差データと異なり得る。
【０１８２】
[0165]ＡＲＰモードが呼び出されるとき、予測残差が、非ベースビューの予測信号の上部に加算される場合があり、この予測信号は、いくつかの例では、非ベースビューの参照ピクチャ中のブロックＤrからの動き補償によって生成される。ＡＲＰモードの利点の１つは、（ＡＲＰのために残差を生成するとき）参照ブロックによって使用される動きベクトルが、現在のブロックの動きベクトルと一直線に並び、その結果、現在のブロックの残差信号がより正確に予測され得ることである。したがって、残差のエネルギーは、かなり低減され得る。ベース（参照）ビューと非ベースビューとの間の量子化差分がより低い予測精度につながり得るので、ビデオコーダは、参照ビューから生成された残差に２つの重み係数、すなわち０．５および１を適応的に適応し得る。
【０１８３】
[0166]さらに、ベース（参照）ビューにおける追加の動き補償がメモリアクセスおよび計算の大幅な増大を必要とする場合があるので、コーディング効率の少ない犠牲を伴いながら設計をより実用的にするためのいくつかの技法が採用されてきた。第１に、ＡＲＰモードは、特にビデオエンコーダ２０においてＰＵが計算を低減させるために２Ｎ×２Ｎ（すなわち、ＰＵを含むＣＵが単一のＰＵのみを有する）でコーディングされるとき、ＰＵに関してのみ有効にされる。第２に、ＡＲＰモードによってコーディングされるブロックに関するメモリアクセスを大幅に低減させるのに、参照ブロックと現在のブロックの両方の動き補償のために双線形フィルタが採用される。第３に、キャッシュ効率を改善するために、動きベクトルは非ベースビュー中の様々なピクチャを指す場合があるが、ベースビュー中の参照ピクチャは固定される。この場合、ビデオコーダは、ピクチャ距離に基づいて現在のブロックの動きベクトルをスケーリングする必要がある場合がある。
【０１８４】
[0167]ＨＥＶＣベースのマルチビュー／３ＤＶコーディングにおける動き関連技術の現在の設計は、導出される視差ベクトルが最適コーディング効率のためにはあまり正確でない可能性があるので、以下の問題を有する。一例として、不正確な視差ベクトルは、不正確なビュー間予測動きベクトル候補およびビュー間視差動きベクトル候補につながり得る。また、空間的隣接候補Ａ0、Ａ1、Ｂ0、Ｂ1、またはＢ2の視差動きベクトルが現在のコーディングＰＵの視差動きベクトルに高く相関することは、マージ候補リストを生成しながら十分には活用されない。
【０１８５】
[0168]これらの欠点に鑑みて、本開示は、特に３Ｄ−ＨＥＶＣの非ベーステクスチャビューに関して、マージ候補リストに追加されるべきより正確な候補を導出するための様々な技法を提案する。
【０１８６】
[0169]以下の説明を明確にするために、本開示は、参照ピクチャリスト０に関してはｍｖ［０］によって、参照ピクチャリスト１に関してはｍｖ［１］によって予測ユニット（ブロック）の動きベクトルを示し、ＤＶによって現在のブロックの視差ベクトルを示し、Ｎ、Ｍ１、およびＭ２によって所与のシフト値を示し、１つの動きベクトルｍｖ［ｉ］の水平成分および垂直成分は、ｊが０および１であるｍｖ［ｉ］［ｊ］によってそれぞれ示される。
【０１８７】
[0170]本開示の以下の例の各々は、１つのシフト方向に関して１つの追加候補（Ｎ／Ｍは負または正である）を生成するために別々に使用される（たとえば、本開示の以下の例は代替例である）。いくつかの例では、以下の例の１つまたは複数は、連携して使用され得る。
【０１８８】
[0171]本開示の第１の例では、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔ０中に視差動きベクトルを有する空間的隣接ブロックＡ1、Ｂ1、Ｂ0、Ａ0、またはＢ2のうちの第１のブロックを識別する。ビデオコーダは、識別された空間的隣接ブロックのＲｅｆＰｉｃＬｉｓｔ０視差動きベクトルに等しい追加の動きベクトル候補（ＭｖＣ）のＲｅｆＰｉｃＬｉｓｔ０動きベクトルを設定することができる。加えて、ビデオコーダは、識別された空間的隣接ブロックのＲｅｆＰｉｃＬｉｓｔ１動きベクトルに等しいＭｖＣのＲｅｆＰｉｃＬｉｓｔ１動きベクトルを設定することができる。ビデオコーダは、次いで、ＭｖＣのＲｅｆＰｉｃＬｉｓｔ０動きベクトルの水平成分をシフトさせ得る。得られた候補は、本明細書では、視差シフト動きベクトル（ＤＳＭＶ）候補と呼ばれる場合がある。言い換えれば、空間的隣接ブロックＡ1、Ｂ1、Ｂ0、Ａ0、またはＢ2のＲｅｆＰｉｃＬｉｓｔ０に対応する第１の利用可能な視差動きベクトル（ＤＭＶ）は、追加の動きベクトル候補ＭｖＣを生成するために、（利用可能な視差動きベクトルである）ｍｖ［０］の水平成分をシフトさせることによって追加候補を導出するのに使用される。この候補は、視差シフト動きベクトル（ＤＳＭＶ）または「ＤＳＭＶ候補」として示される。
【０１８９】
[0172]したがって、この第１の例では、視差動きベクトルが利用可能である場合、ＭｖＣ［０］＝ｍｖ［０］、ＭｖＣ［１］＝ｍｖ［１］、およびＭｖＣ［０］［０］＋＝Ｎ、参照インデックスが、第１の利用可能な候補（ＤＭＶを含む）から継承される。一代替例では、候補は、ＲｅｆＰｉｃＬｉｓｔ１に対応するブロック（ＤＭＶを含む）のＤＶおよび動きベクトルから結合される。すなわち、ＭｖＣ［０］＝ＤＶ、ＭｖＣ［１］＝ｍｖ［１］、およびＭｖＣ［０］［０］＋＝Ｎ。ＤＭＶが利用不可能である場合、固定されたＮに関して、追加候補は生成されない。
【０１９０】
[0173]このように、ビデオコーダは、ビデオデータの現在のブロックの空間的隣接ブロック間で第１の利用可能な視差動きベクトルを決定し得る。第１の利用可能な視差動きベクトルは、第１の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）に対応する。さらに、ビデオコーダは、ＤＳＭＶ候補を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせ得る。ビデオコーダは、ＤＳＭＶ候補をマージ候補リストに追加し得る。さらに、いくつかの例では、空間的隣接ブロックは、特定の空間的隣接ブロックを含み、第１の利用可能な視差動きベクトルは、特定の空間的隣接ブロックの第１の動きベクトルである。空間的隣接ブロックのうちの少なくとも１つが視差動きベクトルを有するとき、ビデオコーダは、ＤＳＭＶ候補の第１の動きベクトルを特定の空間的隣接ブロックの第１の動きベクトルに設定することができる。加えて、ビデオコーダは、ＤＳＭＶ候補の第２の動きベクトルを特定の空間的隣接ブロックの第２の動きベクトルに設定することができ、この特定の空間的隣接ブロックの第２の動きベクトルは第２の参照ピクチャリストに対応する。ビデオコーダは、ＤＳＭＶ候補の第１の動きベクトルの水平成分にオフセットを加算し、それによって、ＤＳＭＶ候補を導出するために第１の利用可能な視差動きベクトルの水平成分を効果的にシフトさせ得る。いくつかの例では、オフセットは４に等しい。
【０１９１】
[0174]本開示の第２の例では、ビデオコーダは、第１の例で説明したように、ＤＳＭＶ候補を最初に生成し得る。ＤＳＭＶ候補が利用可能でない場合、ビデオコーダは、より詳細には次のように、動きベクトルを視差ベクトルからシフトしたベクトルに設定することによってＤＳＭＶ候補（ＭｖＣとして示される）を生成し得る。ＭｖＣ［０］＝ＤＶおよびＭｖＣ［０］［０］＋＝Ｎ、ＭｖＣ［０］［１］＝０およびＭｖＣ［１］＝ＤＶおよびＭｖＣ［１］［０］＋＝Ｎ、ＭｖＣ［１］［１］＝０およびＭｖＣ［Ｘ］に対応する参照インデックスは、ＮＢＤＶプロセスの間に視差ベクトルとともに識別される参照ビューに属するＲｅｆＰｉｃＬｉｓｔＸ中のピクチャの参照インデックスに設定される。一代替例では、ビデオコーダは、ＲｅｆＰｉｃＬｉｓｔＸに関連する参照インデックスを−１に設定する。
【０１９２】
[0175]このように、空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、ビデオコーダは、ＤＳＭＶ候補の第１の動きベクトル（すなわち、ＭｖＣ［０］）とＤＳＭＶ候補の第２の動きベクトル（すなわち、ＭｖＣ［１］）とを現在のブロックの視差ベクトル（すなわち、ＤＶ）に設定し得る。さらに、ビデオコーダは、ＤＳＭＶ候補の第１の動きベクトルの水平成分（すなわち、ＭｖＣ［０］［０］）にオフセット（すなわち、Ｎ）を加算し、ＤＳＭＶ候補の第２の動きベクトルの水平成分（すなわち、ＭｖＣ［１］［０］）にオフセットを加算し得る。ビデオコーダは、ＤＳＭＶ候補の第１の動きベクトルの垂直成分（すなわち、ＭｖＣ［０］［１］）と、ＤＳＭＶ候補の第２の動きベクトルの垂直成分（すなわち、ＭｖＣ［１］［１］）とを０に設定し得る。この例では、ビデオコーダは、現在のブロックの視差ベクトルを決定するために、隣接ブロックに基づいてプロセス（たとえば、ＮＢＤＶ導出プロセス、ＤｏＮＢＤＶ導出プロセスなど）を実行し得る。このプロセスは、現在のブロックの視差ベクトルとともに参照ビューを識別し得る。さらに、空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、ビデオコーダは、ＤＳＭＶ候補の第１の動きベクトルに対応する参照インデックスを、第１の参照ピクチャリスト中にあり識別された参照ビューに属するピクチャの参照インデックスに設定し得る。加えて、ビデオコーダは、ＤＳＭＶ候補の第２の動きベクトルに対応する参照インデックスを、第２の参照ピクチャリスト中にあり識別された参照ビューに属するピクチャの参照インデックスに設定し得る。
【０１９３】
[0176]本開示の第３の例では、ＤＳＭＶ候補は、上記の第１の例に従って最初に生成されるべきである。加えて、ビデオコーダは、マージ候補リストを生成するために現在のＰＵ／ＣＵのシフト視差ベクトルから導出される参照ビューからのＩＰＭＶＣを考慮することもできる。シフト視差ベクトルからのＩＰＭＶＣが利用可能である場合、ビデオコーダは、追加候補をＩＰＭＶＣに設定する。場合によっては、ＤＳＭＶ候補が利用可能である場合、ビデオコーダは、追加候補をＤＳＭＶ候補に設定する。場合によっては、同じシフト方向（負または正のシフト値）に関して追加候補が存在しない。ＩＰＭＶＣおよびＤＳＭＶ候補はどちらも、負または正のシフトを有する。ＤＳＭＶ候補を生成するためのシフトがＮであると仮定すると、対応するＩＰＭＶＣを生成するためのシフトはＭであり、ＮおよびＭは異なる場合がある。
【０１９４】
[0177]本開示の第４の例では、ＩＰＭＶＣ候補またはＤＳＭＶ候補のいずれかに基づいて候補を生成する優先度が逆転する場合がある。より詳細には、ＤＳＭＶ候補が利用可能である場合、ビデオコーダは、追加候補をＤＳＭＶ候補に設定する。場合によっては、ＩＰＭＶＣが利用可能である場合、ビデオコーダは、追加候補をＩＰＭＶＣに設定する。場合によっては、同じシフト方向に関して追加候補が存在しない。
【０１９５】
[0178]本開示の第５の例では、第２の例において説明したＤＳＭＶ候補を生成する技法は、ＢＶＳＰがピクチャ全体に関してまたは現在のシーケンスに関して有効にされる場合、ＭｖＣ［Ｘ］は視差動きベクトル（ＤＭＶ）から導出されるとき、ビデオコーダが動きベクトルＭｖＣ［Ｘ］の垂直成分を０に設定することができるように結合される場合があり、Ｘは０または１に等しい。第２の例においてビデオコーダがステップを実行した後、ビデオコーダは、ＤＭＶが利用可能でありＢＶＳＰが有効にされる場合、ＭｖＣ［０］［１］を０に設定し得る。一代替例では、ＤＭＶが利用可能でありＢＶＳＰが有効にされる場合、ビデオコーダは、ＭｖＣ［０］［１］および／またはＭｖＣ［１］［１］を０に設定する。このように、後方ワーピングビュー合成予測がピクチャ全体または現在のシーケンスに関して有効にされる場合、ビデオコーダは、ＤＳＭＶ候補の第１の動きベクトルが第１の利用可能な視差動きベクトル（すなわち、ＤＭＶ）から導出されるとき、ＤＳＭＶ候補の第１の動きベクトルの垂直成分を０に設定することができる。さらに、後方ワーピングビュー合成予測がピクチャ全体または現在のシーケンスに関して有効にされる場合、ビデオコーダは、ＤＳＭＶ候補の第２の動きベクトルが第１の利用可能な視差動きベクトルから導出されるとき、ＤＳＭＶ候補の第２の動きベクトルの垂直成分を０に設定することができる。
【０１９６】
[0179]本開示の第６の例では、ビデオコーダは、上記で説明した第２の例または第５の例のいずれかに従って、ＤＳＭＶ候補を最初に生成する。しかしながら、この第６の例では、加えて、ビデオコーダは、マージ候補リストを生成するために現在のＰＵ／ＣＵのシフト視差ベクトルから導出される参照ビューからのＩＰＭＶＣを考慮することができる。この例では、最終的な候補がＭｖＣｏｍＣであると仮定されたい。両端値を含む、０〜１のＸに関して、ＩＰＭＶＣ［Ｘ］が利用可能である場合、ＭｖＣｏｍＣ［Ｘ］＝ＩＰＭＶＣ［Ｘ］、場合によってはＭｖＣｏｍＣ［Ｘ］＝ＤＳＭＶ［Ｘ］。
【０１９７】
[0180]以下の段落は、代替構成について説明する一連の例を提供する。第１の例示的な代替構成では、ＤＳＭＶを生成する場合、ビデオコーダは、ＭｖＣ［Ｘ］が視差ベクトル（ＤＶ）または視差動きベクトル（ＤＭＶ）から導出されるとき、動きベクトルＭｖＣ［Ｘ］の垂直成分を０に設定することができるが、Ｘは０または１に等しい。代替的に、動きベクトルＭｖＣ［Ｘ］の垂直成分は、０に設定されない場合がある。
【０１９８】
[0181]第２の例示的な代替構成では、ＤＳＭＶを生成するためにＮが使用され、ＩＰＭＶＣを生成するためにＭが使用される。ＮおよびＭは、ともに使用されるとき、同じであるか、または同じでない場合がある。代替的に、ＭとＮの両方は、正または負である。いくつかの例では、Ｍは、４、８、１６、３２、６４、−４、−８、−１６、−３２、−６４、または１つのビュー内の最小ＰＵの幅／高さのうちのいずれかの値に等しい。さらに、いくつかの例では、Ｎは、４、８、１６、３２、６４、−４、−８、−１６、−３２、−６４、または１つのビュー内の最小ＰＵの幅／高さのうちのいずれかの値に等しい。
【０１９９】
[0182]第３の例示的な代替構成では、２つの候補、（Ｎ，Ｍ）の負の組合せ（両方が負）または（Ｎ，Ｍ）の正の組合せを有するＤＳＭＶまたはＩＰＭＶＣのいずれかから各々が生成される。ビデオコーダは、２つの候補までを生成し、２つの候補をマージ候補リストに追加し得る。別の代替形態では、ビデオコーダは、正または負の組合せのいずれかを使用して１つの候補を生成する。
【０２００】
[0183]第４の例示的な代替構成では、ビデオコーダは、より詳細には以下の方法のうちの１つにおいて、すべての空間的候補およびＢＶＳＰ候補を挿入する前に追加候補をマージ候補リストに挿入する。一代替形態では、ビデオコーダは、ＴＭＶＰマージ候補の直後に２つの候補をどちらも追加する。一代替形態では、ビデオコーダは、ＴＭＶＰマージ候補の直前に２つの候補をどちらも追加する。別の代替形態では、ビデオコーダは、ＴＭＶＰの直前に一方の候補を追加し、ＴＭＶＰマージ候補の直後に他方の候補を追加する。一代替形態では、（Ｎ，Ｍ）の正の組合せによって導出される候補は、マージ候補リストに追加される（これら２つの追加候補）のうちの第１の候補である。概して、正の組合せは、ＮとＭの両方が正であるとき、起こる。一代替形態では、（Ｎ，Ｍ）の負の組合せによって導出される候補は、マージ候補リストに追加される（これら２つの追加候補）のうちの第１の候補である。概して、負の組合せは、ＮとＭの両方が負であるとき、起こる。候補は、プルーニングを用いて追加され得る（すなわち、その候補の動き情報が元のＩＰＭＶＣの動き情報に等しくない場合、その候補が追加され得る）。ここで、その動き情報は、動きベクトルおよび参照インデックスを含む。
【０２０１】
[0184]第５の例示的な代替構成では、ビデオコーダは、ＤＳＭＶを生成するために、すべての空間的隣接ブロック（すなわち、ブロックＡ1、Ｂ1、Ｂ0、Ａ0、およびＢ2）をチェックするのではなく、Ａ1のブロックを除いて、Ｂ1、Ｂ0、Ａ0、およびＢ2をチェックする。一代替形態では、空間的ブロックＡ1およびＢ1のみが順にチェックされる。代替的に、空間的ブロックＡ1、Ｂ1、およびＢ0が順にチェックされる。代替的に、空間的ブロックＡ1、Ｂ1、Ｂ0、およびＡ0が順にチェックされる。代替的に、ＢＶＳＰを用いてコーディングされた空間的ブロックは、ＤＭＶを生成するために使用されるものと見なされず、これは、ＢＶＳＰを用いてコーディングされたブロックがチェックされないことを意味する。代替的に、候補リストに挿入される空間的候補Ａ1、Ｂ1、Ｂ0、Ａ0、およびＢ2のみがチェックされる。代替的に、ＢＶＳＰを用いてコーディングされた空間的ブロックは、ＤＭＶを生成するために使用されるものと見なされる。代替的に、ビュー間参照ピクチャから双方向にコーディングされた空間的ブロックが考慮されない。代替的に、ＢＶＳＰから双方向にコーディングされた空間的ブロックが考慮されない。代替的に、双方向にコーディングされる一方でいかなる時間的動きベクトルも含まない空間的ブロックは、考慮されない。
【０２０２】
[0185]第６の例示的な代替構成では、ビデオコーダは、ＤＳＭＶを生成するために、ＤＭＶを含む第１の利用可能な空間的マージ候補を識別するのではなく、第１の条件または第２の条件が真であるとき、ＤＳＭＶのみを生成する。第１の条件は、第１の２つの利用可能なマージ候補の両方が１つの参照ピクチャリスト中にＤＭＶを含むことを指定する。第２の条件は、Ａ1およびＢ1から導出されるマージ候補がマージ候補リストに含まれ、これらのマージ候補の両方が１つの参照ピクチャリスト中にＤＭＶを含むことを指定する。
【０２０３】
[0186]第７の例示的な代替構成では、ビデオコーダは、ＤＳＭＶを生成するために、空間的マージ候補をチェックするだけでなく、時間的マージ候補もチェックする。しかしながら、ビデオコーダは、ゼロ動きベクトルマージ候補も結合双予測マージ候補もチェックしない。
【０２０４】
[0187]第８の例示的な代替構成では、ビデオコーダは、ＤＳＭＶを生成するために、ビュー間予測参照からのブロックおよび時間的参照からのブロックを用いて双方向に予測される１つのブロックからのＤＭＶを検出するとき、ＤＳＭＶのみを生成し、ビュー間予測参照に対応する動きベクトル（ＤＭＶ）はシフトされ、時間的参照に対応する動きベクトルは、新規候補を生成するために保持される。
【０２０５】
[0188]上記の例のうちの１つまたは複数において説明された技法は、様々な方法で実装され得る。１つの例示的な実装形態では、ビデオコーダは、各追加のマージ候補を生成するために上記で説明した第６の例において説明したコーディングシステムを使用し、ビデオコーダは、上記で説明した第５の例において説明したＤＳＭＶ候補を生成する。この例示的な実装形態では、ビデオコーダは、（Ｎ，Ｍ）＝（−４，−４）および（Ｎ，Ｍ）＝（４，４）を用いて、それぞれ順に２つの候補までを生成する。さらに、この例示的な実装形態では、ビデオコーダは、ＴＭＶＰの直前に第１の追加候補を追加し、ＴＭＶＰ候補の直後に他の追加の候補を追加する。ＴＭＶＰが利用可能でない場合、ビデオコーダは、すべての空間的候補およびＢＶＳＰ候補を挿入した後に２つの候補を追加する。
【０２０６】
[0189]前の段落の例示的な実装形態では、ビデオコーダは、追加候補を用いて以下のマージ候補リスト構成プロセスを実行し得る。２つの追加の左／右候補をマージ候補リストに挿入することに関係する以下のマージ候補リスト構成プロセスの一部分が下線を引かれる。
【０２０７】
１．ＩＰＭＶＣ挿入
ビデオコーダは、上記で説明したプロシージャによってＩＰＭＶＣを導出する。ＩＰＭＶＣが利用可能である場合、ビデオコーダは、ＩＰＭＶＣをマージ候補リストに挿入する。
【０２０８】
２．３Ｄ−ＨＥＶＣにおける空間的マージ候補およびＩＤＭＶＣの挿入のための導出プロセス
以下の順序、Ａ1、Ｂ1、Ｂ0、Ａ0、またはＢ2で空間的隣接ＰＵの動き情報をチェックする。ビデオコーダは、以下の手順によって、制約付きプルーニングを実行する。
【０２０９】
−  Ａ1およびＩＰＭＶＣが同じ動きベクトルおよび同じ参照インデックスを有する場合、ビデオコーダは、Ａ1をマージ候補リストに挿入しない。場合によっては、Ａ1がＢＶＳＰモードでコーディングされない場合、ビデオコーダは、利用可能な場合、Ａ1をマージ候補リストに挿入する。場合によっては、ビデオコーダは、ＢＶＳＰマージ候補をマージ候補リストに追加する。
【０２１０】
−  Ｂ1およびＡ1／ＩＰＭＶＣが同じ動きベクトルおよび同じ参照インデックスを有する場合、ビデオコーダは、Ｂ1をマージ候補リストに挿入しない。場合によっては、Ｂ1がＢＶＳＰモードでコーディングされない場合、ビデオコーダは、Ｂ1が利用可能な場合、Ｂ1をマージ候補リストに挿入する。場合によっては、ＢＶＳＰ候補があらかじめマージ候補リストに追加されない場合、ビデオコーダは、ＢＶＳＰマージ候補をマージ候補リストに追加する。
【０２１１】
−  Ｂ0がＢＶＳＰモードでコーディングされない場合、ビデオコーダは、Ｂ0が利用可能な場合、Ｂ0をマージ候補リストに追加する。場合によっては、ＢＶＳＰ候補があらかじめマージ候補リストに追加されない場合、ビデオコーダは、ＢＶＳＰマージ候補をマージ候補リストに追加する。
【０２１２】
−  ビデオコーダは、上記で説明したプロシージャによってＩＤＭＶＣを導出する。ＩＤＭＶＣが利用可能であり、ＩＤＭＶＣがＡ1およびＢ1から導出された候補とは異なる場合、ビデオコーダは、ＩＤＭＶＣをマージ候補リストに挿入する。
【０２１３】
−  Ａ0がＢＶＳＰモードでコーディングされない場合、ビデオコーダは、Ａ0が利用可能な場合、Ａ0をマージ候補リストに追加する。場合によっては、ＢＶＳＰ候補があらかじめマージ候補リストに追加されない場合、ビデオコーダは、ＢＶＳＰマージ候補をマージ候補リストに追加する。
【０２１４】
−  Ｂ2がＢＶＳＰモードでコーディングされない場合、ビデオコーダは、Ｂ2が利用可能な場合、Ｂ2をマージ候補リストに追加する。場合によっては、ＢＶＳＰ候補があらかじめマージ候補リストに追加されない場合、ビデオコーダは、ＢＶＳＰマージ候補をマージ候補リストに追加する。
【０２１５】
５つの空間的隣接ブロックのいずれもＢＶＳＰモードを用いてコーディングされない場合、ビデオコーダは、ＢＶＳＰマージ候補をマージ候補リストに挿入する。
【０２１６】
−  左の追加候補を挿入する。
【０２１７】
−  左候補がＩＰＭＶＣである場合、ビデオコーダは、ステップ１において左候補をＩＰＭＣのみと比較する。場合によっては、左候補はＤＳＭＶ候補であり、ビデオコーダは、左候補を任意の既存の候補と比較しない。
【０２１８】
３．時間的マージ候補に関する導出プロセス
−  ビデオコーダは、ＨＥＶＣ  Ｗｏｒｋｉｇ  Ｄｒａｆｔ１０において定義されたものと同じプロシージャを実行する。
【０２１９】
４．右の追加候補を挿入する。
【０２２０】
−  右候補がＩＰＭＶＣである場合、ビデオコーダは、ステップ１において右候補をＩＰＭＣのみと比較する。場合によっては、右候補はＤＳＭＶ候補であり、ビデオコーダは、右候補を任意の既存の候補と比較しない。
【０２２１】
５．３Ｄ−ＨＥＶＣにおける結合双予測マージ候補に関する導出プロセス
−  上記の２つのステップから導出された候補の総数が、候補の最大数未満である場合、ビデオコーダは、ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの仕様を除いて、ＨＥＶＣ  Ｗｏｒｋｉｇ  Ｄｒａｆｔ１０において定義されたものと同じプロセスを実行する。ｃｏｍｂＩｄｘ、ｌ０ＣａｎｄＩｄｘ、およびｌ１ＣａｎｄＩｄｘの間の関係は、図９において定義されている。
【０２２２】
１．ゼロ動きベクトルマージ候補に関する導出プロセス
−  ビデオコーダは、ゼロ動きベクトルマージ候補を導出するために、ＨＥＶＣ  Ｗｏｒｋｉｇ  Ｄｒａｆｔ１０において定義されたものと同じプロシージャを実行する。
【０２２３】
[0190]上記で説明したプロセスのステップ３および４において示すように、ビデオコーダは、左の追加候補（ＬＤＶ）および／または右の追加候補（ＲＤＶ）をマージ候補リストに挿入することができる。ビデオコーダは、次のようにＬＤＶおよびＲＤＶを生成し得る。ＬＤＶ＝ＤＶ、ＬＤＶ［０］＋＝−４（ＲＤＶ＝ＤＶ、ＲＤＶ［０］＋＝４）。
【０２２４】
１）「３Ｄ−ＨＥＶＣにおけるマージ候補リスト構成のための代替技法」という名称の本開示のセクションにおいて上記で説明した左／右ＩＰＭＶＣを生成するためにＬＤＶ／ＲＤＶを使用する。
【０２２５】
２）左／右ＩＰＭＶＣが利用可能である場合、左／右候補は、左／右ＩＰＭＶＣに設定される。
【０２２６】
３）場合によっては、「左／右ＤＳＭＶ候補の生成」という名称の本開示のセクションにおいてそれぞれ説明するように、左／右ＤＳＭＶ候補が生成される。
【０２２７】
[0191]左／右ＤＳＭＶ候補の生成
[0192]いくつかの例では、左ＤＳＭＶ候補の生成を起動するためのプロセスは、左／右へのＩＰＭＶＣが利用不可能でありＭｖＣが最終的な左／右候補として返されるときにのみ、呼び出され得る。左／右ＤＳＭＶ候補は、次のように生成され得る。
【０２２８】
１）ＤＭＶが利用可能でないことを考慮する。
【０２２９】
ａ）リストＣ＝｛Ａ1、Ｂ1、Ｂ0、Ａ0、およびＢ2｝中の各空間的候補Ｃ［ｉ］に関して
ｉ）Ｃ［ｉ］のｒｅｆＩｄｘＬ０がビュー間参照に対応する場合、以下のことが適用される。代替的に、この条件は、「Ｃ［ｉ］のｒｅｆＩｄｘＬ０がビュー間参照に対応し、Ｃ［ｉ］のｒｅｆＩｄｘＬ１が時間的参照に対応する場合」に変更される。
【０２３０】
（１）Ｃ［ｉ］の動きベクトルがｍｖであると仮定する。
【０２３１】
（２）ＤＭＶがｍｖ［０］に設定され、利用可能と見なされる。
【０２３２】
（３）ループを終了する（ブレーク）。
【０２３３】
２）ＤＭＶが利用可能である場合、追加の左／右候補ＭｖＣを得るために以下のことが適用される。
【０２３４】
ａ）（ＭｖＣ［０］［０］、ＭｖＣ［０］［１］）が（ｍｖ［０］［０］＋Ｎ，ｍｖ［０］［１］）に設定され、（ＭｖＣ［１］［０］、ＭｖＣ［１］［１］）が（ｍｖ［１］［０］，ｍｖ［１］［１］）に設定される。
【０２３５】
ｂ）ＭＶＣのｒｅｆＩｄＬ０が、ＤＭＶを含む第１の利用可能な空間的候補のｒｅｆＩｄｘＬＸに等しく設定される。
【０２３６】
ｃ）ＭＶＣのｒｅｆＩｄｘＬ１が、ＤＭＶを含む空間的隣接ブロックのｒｅｆＩｄｘＬ１に等しく設定される。
【０２３７】
ｄ）ＢＶＳＰが現在のピクチャに関して有効にされるとき、ＭｖＣ［０］［１］はさらに０に設定される。
【０２３８】
３）場合によっては、ＭｖＣは次のように生成される。
【０２３９】
ａ）（ＭｖＣ［０］［０］、ＭｖＣ［０］［１］）＝（ＤＶ［０］［０］＋Ｎ，０）、（ＭｖＣ［１］［０］、ＭｖＣ［１］［１］）＝（ＤＶ［１］［０］＋Ｎ，０）。
【０２４０】
ｂ）両端値を含む、０〜１のＸに関して、ｒｅｆＩｄｘＬＸは、ＲｅｆＰｉｃＬｉｓｔＸ中のピクチャの参照インデックスに等しく設定されるが、ＲｅｆＰｉｃＬｉｓｔＸは、視差ベクトルとともにＮＢＤＶプロセスの間に識別される参照ビューに属する。
【０２４１】
この例では、Ｎは、左候補に関しては−４であり、右候補に関しては４である。
【０２４２】
[0193]いくつかの態様では、本開示の技法は、次のように要約され得る。第９の例では、参照ビューからのより多くのＩＰＭＶＣが、マージ候補リストを生成するために現在のＰＵ／ＣＵのシフト視差ベクトルから導出され得る。視差ベクトルＤＶは、水平方向にＤＶ［０］+Ｍ1だけ、および垂直方向にＤＶ［０］+Ｍ2だけシフトされる。ビデオコーダは、ＩＰＭＶＣを生成するために参照ビュー中の対応するブロックを位置特定するのにシフト視差ベクトル（ＤＶ［０］+Ｍ1，ＤＶ［１］+Ｍ2）を使用し得る。ＩＰＭＶＣが利用可能である場合、ビデオコーダは、マージリストに関する追加候補としてＩＰＭＶＣを使用し得る。
【０２４３】
[0194]第１０の例では、前の段落のようにシフト視差ベクトルからのＩＰＭＶＣが利用不可能である場合、空間的隣接ブロックＡ1、Ｂ1、Ｂ0、Ａ0、またはＢ2のＲｅｆＰｉｃＬｉｓｔ０に対応する第１の利用可能な視差動きベクトル（ＤＭＶ）は、追加の動きベクトル候補ＭｖＣを生成するために、（利用可能な視差動きベクトルである）ｍｖ［０］の水平成分をシフトさせることによって追加候補を導出するのに使用される。この候補は、視差シフト動きベクトル（ＤＳＭＶ）として示される。ＤＭＶが利用可能である場合、ＭｖＣ［０］＝ｍｖ［０］、ＭｖＣ［１］＝ｍｖ［１］、およびＭｖＣ［０］［０］＋＝Ｎ、参照インデックスが、第１の利用可能な候補（ＤＭＶを含む）から継承される。したがって、ビデオコーダは、ＤＳＭＶ候補の第１の動きベクトルを、特定の空間的隣接ブロックの第１の動きベクトルに設定することができる。この特定の空間的隣接ブロックは、現在のブロックの空間的隣接ブロック間で第１の利用可能な視差動きベクトルを有し得る。加えて、ビデオコーダは、ＤＳＭＶ候補の第２の動きベクトルを特定の空間的隣接ブロックの第２の動きベクトルに設定することができ、この特定の空間的隣接ブロックの第２の動きベクトルは第２の参照ピクチャリストに対応する。さらに、ビデオコーダは、ＤＳＭＶの第１の動きベクトルに対応する参照インデックスを、特定の空間的隣接ブロックの第１の動きベクトルに対応する参照インデックスに設定することができる。ビデオコーダは、ＤＳＭＶの第２の動きベクトルに対応する参照インデックスを、特定の空間的隣接ブロックの第２の動きベクトルに対応する参照インデックスに設定することができる。一代替形態では、ＢＶＳＰがピクチャ全体または現在のシーケンスに関して有効にされるとき、動きベクトルＭｖＣ［０］［１］および／またはＭｖＣ［１］［１］の垂直成分が０に設定され得る。ＤＭＶが利用不可能である場合、固定されたＮに関して、追加候補は生成されない。
【０２４４】
[0195]第１１の例では、ビデオコーダは、第１０の例で説明したように、ＤＳＭＶを最初に生成する。しかしながら、この例では、ＤＳＭＶが利用可能でない場合、ビデオコーダは、次のように、動きベクトルを視差ベクトルからシフトしたベクトルに設定することによってＤＳＭＶ（ＭｖＣとして示される）を導出し得る。ＭｖＣ［０］＝ＤＶおよびＭｖＣ［０］［０］＋＝Ｎ、ＭｖＣ［０］［１］＝０およびＭｖＣ［１］＝ＤＶおよびＭｖＣ［１］［０］＋＝Ｎ、ＭｖＣ［１］［１］＝０およびＭｖＣ［Ｘ］に対応する参照インデックスは、ＮＢＤＶプロセスの間に視差ベクトルとともに識別される参照ビューに属するＲｅｆＰｉｃＬｉｓｔＸ中のピクチャの参照インデックスに設定される。代替的に、ＲｅｆＰｉｃＬｉｓｔＸに関連する参照インデックスは−１に設定される。
【０２４５】
[0196]第１２の例では、ＩＰＭＶＣを生成するのに使用されるシフト値Ｍ1およびＭ2は、同じであるか、または同じでない場合がある。この例では、Ｍ1およびＭ2は、４、８、１６、３２、６４、−４、−８、−１６、−３２、−６４のうちの任意の値をとり得る。一代替形態では、Ｍ1はＭ2に等しい場合があり、たとえば、これらはどちらも１６に等しいか、またはどちらも−１６に等しい場合がある。一代替形態では、Ｍ1およびＭ2は、１つのビュー内の最小ＰＵの幅および高さ、または任意の最小ＣＵの幅および高さ、または現在のＰＵ／ＣＵの幅および高さに等しい。代替的に、Ｍ1とＭ2の両方は、正である場合がある。代替的に、Ｍ1とＭ2の両方は、負である場合がある。代替的に、Ｍ1が正であり、Ｍ2が負である場合がある。代替的に、Ｍ1が負であり、Ｍ2が正である場合がある。代替的に、Ｍ1が（（（幅／２）*４）＋４）に等しく、Ｍ2が（（（高さ／２）*４）＋４）に等しい場合があるが、現在のＰＵのサイズは幅×高さである。代替的に、Ｍ1およびＭ2はそれぞれ、１つのビュー内の最小ＰＵの幅および高さ、または任意の最小ＣＵの幅および高さ、または現在のＰＵ／ＣＵの幅の２倍（すなわち、２*幅）および高さの２倍（すなわち、２*高さ）に等しい。
【０２４６】
[0197]第１３の例では、ＤＳＭＶ候補を生成するのに使用されるシフト値Ｎは、４、８、１６、３２、６４、−４、−８、−１６、−３２、−６４、または１つのビュー内の最小ＰＵの幅／高さのうちのいずれかの値に等しく設定され得る。一代替形態では、シフト値ＮおよびＭi（ｉは１または２に等しい）は、同じである場合がある。一代替形態では、シフト値ＮおよびＭi（ｉは１または２に等しい）は、同じでない場合がある。
【０２４７】
[0198]第１４の例では、２つの候補、（Ｎ，Ｍ1，Ｍ2）の正の組合せ（すべてが正）または（Ｎ，Ｍ1，Ｍ2）の負の組合せを有するＤＳＭＶまたはＩＰＭＶＣのいずれかから各々が生成される。２つの候補までは、生成され、マージ候補リストに追加され得る。別の代替形態では、正または負の組合せのいずれかを使用して１つの候補のみが生成される。
【０２４８】
[0199]第１５の例では、ビデオコーダは、１つの追加候補のみを生成するとき、より詳細には以下の方法のうちの１つにおいて、すべての空間的候補を挿入した後に追加候補をマージ候補リストに挿入する。一代替形態では、ビデオコーダは、ＴＭＶＰマージ候補の直前に候補を追加する。一代替形態では、ビデオコーダは、ＴＭＶＰマージ候補の直後に候補を追加する。一代替形態では、ビデオコーダは、空間的マージ候補Ａ0の直後および空間的マージ候補Ｂ2の直前に候補を追加する。言い換えれば、ビデオコーダは、現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に追加のＩＰＭＶＣをマージ候補リストに追加し得る。一代替形態では、ビデオコーダは、ＢＶＳＰ候補の直後および空間的マージ候補Ａ0の直前に候補を追加する。さらに、候補は、プルーニングを用いて追加され得る。候補がプルーニングを用いて追加され得る一例では、第９の例と同様に生成された追加のＩＰＭＣ候補のみが、いかなる候補を用いてもプルーニングされない第１０および第１１の例と同様に生成された元のＩＰＭＣ候補およびＤＳＭＶ候補を用いてプルーニングされる。
【０２４９】
[0200]第１６の例では、ビデオコーダは、より詳細には以下の方法のうちの１つにおいて、すべての空間的候補を挿入した後に追加されたマージ候補リストに追加候補を挿入する。一代替形態では、ビデオコーダは、ＴＭＶＰマージ候補の直後に２つの候補をどちらも追加する。一代替形態では、ビデオコーダは、ＴＭＶＰマージ候補の直前に２つの候補をどちらも追加する。一代替形態では、ビデオコーダは、ＴＭＶＰの直前に一方の候補を追加し、ＴＭＶＰマージ候補の直後に他方の候補を追加する。一代替形態では、（Ｎ，Ｍ１，Ｍ２）の正の組合せによって導出される候補は、マージ候補リストに追加される（これら２つの追加候補）のうちの第１の候補である。一代替形態では、（Ｎ，Ｍ１，Ｍ２）の負の組合せによって導出される候補は、マージ候補リストに追加される（これら２つの追加候補）のうちの第１の候補である。候補は、米国仮出願第６１／７３４，９２９号および米国仮出願第６１／７４７，３５０号に述べられるにプルーニングプロセスと同様のプルーニングを用いて追加され得る。
【０２５０】
[0201]このセクションでは、追加のマージ候補を生成するための本開示の提案技法のうちの１つの実装形態について説明する。一例では、２つの候補までは、（Ｎ，Ｍ１，Ｍ２）＝（４，１６，１６）および（Ｎ，Ｍ１，Ｍ２）＝（−４，−１６，−１６）を用いてそれぞれ順に生成される。ビデオコーダは、ＴＭＶＰの直前に第１の追加候補（左候補）を追加し、ＴＭＶＰ候補の直後に第２の追加候補（右候補）を追加する。ＴＭＶＰ候補が利用可能でない場合、ビデオコーダは、すべての空間的候補を挿入した後に２つの候補を追加する。
【０２５１】
[0202]ここで、追加候補を有するマージ候補リスト構成について説明する。ビデオコーダは、以下にボールドテキストで強調されるように、マージ候補リストに２つの追加の左／右候補を挿入する。
【０２５２】
１．ＩＰＭＶＣ挿入
ＩＰＭＶＣが、上記で説明したプロシージャによって導出される。ＩＰＭＶＣが利用可能である場合、ＩＰＭＶＣはマージリストに挿入される。
【０２５３】
２．３Ｄ−ＨＥＶＣにおける空間的マージ候補およびＩＤＭＶＣの挿入に関する導出プロセス
以下の順序、Ａ1、Ｂ1、Ｂ0、Ａ0、またはＢ2で空間的隣接ＰＵの動き情報をチェックする。制約付きプルーニングは、以下のプロシージャによって実行される。
【０２５４】
−  Ａ1およびＩＰＭＶＣが同じ動きベクトルおよび同じ参照インデックスを有する場合、Ａ1は、候補リストに挿入されない。場合によっては、ビデオコーダは、Ａ1をリストに挿入する。
【０２５５】
−  Ｂ1およびＡ1／ＩＰＭＶＣが同じ動きベクトルおよび同じ参照インデックスを有する場合、ビデオコーダは、Ｂ1を候補リストに挿入しない。場合によっては、ビデオコーダは、Ｂ1をリストに挿入する。
【０２５６】
−  Ｂ0が利用可能である場合、ビデオコーダは、Ｂ0を候補リストに追加する。
【０２５７】
−  ＩＤＭＶＣが、上記で説明したプロシージャによって導出される。ＩＤＭＶＣが利用可能であり、ＩＤＭＶＣがＡ1およびＢ1から導出された候補とは異なる場合、ビデオコーダは、ＩＤＭＶＣを候補リストに挿入する。
【０２５８】
−  ＢＶＳＰがピクチャ全体または現在のスライスに関して有効にされる場合、ビデオコーダは、ＢＶＳＰマージ候補をマージ候補リストに挿入する。
【０２５９】
−  Ａ0が利用可能である場合、ビデオコーダは、Ａ0を候補リストに追加する。
【０２６０】
−  Ｂ2が利用可能である場合、ビデオコーダは、Ｂ2を候補リストに追加する。
【０２６１】
−  上記で説明したように導出された左の追加候補を挿入する。
【０２６２】
−  左候補がＩＰＭＶＣである場合、ビデオコーダは、ステップ１において左候補をＩＰＭＣと比較する。−  左候補がＩＰＭＣに等しくない場合、または左候補がＤＳＭＶである場合（左ＩＰＭＣが利用不可能であるとき）、ビデオコーダは、左候補を挿入する。
【０２６３】
３．時間的マージ候補に関する導出プロセス
−  しかしながら、コロケートＰＵの動き情報が利用されるＨＥＶＣにおける時間的マージ候補導出プロセスと同様に、時間的マージ候補のターゲット参照ピクチャインデックスが、上記で説明したように、０となるように固定するのではなく変更され得る。
【０２６４】
４．上記で説明したように導出された右の追加候補を挿入する。
【０２６５】
右候補がＩＰＭＶＣである場合、右候補は、ステップ１においてＩＰＭＣと比較される。−  右候補がＩＰＭＣに等しくない場合、または右候補がＤＳＭＶである場合（右ＩＰＭＣが利用不可能であるとき）、ビデオコーダは、右候補を挿入する。
【０２６６】
５．３Ｄ−ＨＥＶＣにおける結合双予測マージ候補に関する導出プロセス
−  上記の２つのステップから導出された候補の総数が、候補の最大数未満である場合、ビデオコーダは、ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの仕様を除いて、ＨＥＶＣにおいて定義されたものと同じプロセスを実行する。ｃｏｍｂＩｄｘ、ｌ０ＣａｎｄＩｄｘ、およびｌ１ＣａｎｄＩｄｘの間の関係は、図９において定義されている。
【０２６７】
６．ゼロ動きベクトルマージ候補に関する導出プロセス
−  ビデオコーダは、ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ１０において定義されたものと同じプロシージャを実行する。
【０２６８】
[0203]ビデオコーダは、様々な方法で左／右の追加候補を生成し得る。一例では、ビデオコーダは、次のようにＬＤＶ／ＲＤＶを生成する。ＬＤＶ＝ＤＶ、ＬＤＶ［０］＋＝１６、ＬＤＶ［１］＋＝１６（ＲＤＶ＝ＤＶ、ＲＤＶ［０］＋＝−１６、ＲＤＶ［１］＋＝−１６）。この例では、ビデオコーダは、各々が参照により本明細書に組み込まれる、米国仮特許出願第６１／７３４，９２９号および第６１／７４７，３５０号と、米国特許出願第１４／０９８，１５１号とに記載されるように左／右ＩＰＭＶＣを生成するためにＬＤＶ／ＲＤＶを使用し得る。左／右ＩＰＭＶＣが利用可能である場合、ビデオコーダは、左／右候補を左／右ＩＰＭＶＣに設定する。場合によっては、ビデオコーダは、上記で説明したように左／右ＤＳＭＶ候補を生成する。
【０２６９】
[0204]ビデオコーダは、様々な方法で左／右ＤＳＭＶ候補を生成し得る。一例では、ビデオコーダは、左／右ＩＰＭＶＣが利用不可能でありＭｖＣが最終的な左／右候補として返されるとき、左／右ＤＳＭＶ候補を生成するためのプロセスのみを呼び出す。この例では、ビデオコーダは、次のように左／右ＤＳＭＶ候補を生成する。
【０２７０】
[0205]第１に、ＤＭＶが利用可能でないことを考慮する。リストＣ＝｛Ａ１、Ｂ１、Ｂ０、Ａ０、およびＢ２｝中の各空間的候補Ｃ［ｉ］に関して
ｉ）Ｃ［ｉ］のｒｅｆＩｄｘＬ０がビュー間参照に対応する場合、以下のことが適用される。一代替形態では、この条件は、「Ｃ［ｉ］のｒｅｆＩｄｘＬ０がビュー間参照に対応し、Ｃ［ｉ］のｒｅｆＩｄｘＬ１が時間的参照に対応する場合」に変更される。
【０２７１】
（１）Ｃ［ｉ］の動きベクトルがｍｖであると仮定する。
【０２７２】
（２）ＤＭＶがｍｖ［０］に設定され、利用可能と見なされる。
【０２７３】
（３）ループを終了する（ブレーク）。
【０２７４】
２）ＤＭＶが利用可能である場合、追加の左／右候補ＭｖＣを得るために以下のことが適用される。
【０２７５】
ａ）（ＭｖＣ［０］［０］、ＭｖＣ［０］［１］）が（ｍｖ［０］［０］＋Ｎ，ｍｖ［０］［１］）に設定され、（ＭｖＣ［１］［０］、ＭｖＣ［１］［１］）が（ｍｖ［１］［０］，ｍｖ［１］［１］）に設定される。
【０２７６】
ｂ）ＭｖＣのｒｅｆＩｄＬ０が、ＤＭＶを含む第１の利用可能な空間的候補のｒｅｆＩｄｘＬＸに等しく設定される。
【０２７７】
ｃ）ＭｖＣのｒｅｆＩｄｘＬ１が、ＤＭＶを含む空間的隣接ブロックのｒｅｆＩｄｘＬ１に等しく設定される。
【０２７８】
ｄ）ＢＶＳＰが現在のピクチャに関して有効にされるとき、ＭｖＣ［０］［１］はさらに０に設定される。
【０２７９】
３）場合によっては、ビデオコーダは、次のようにＭｖＣを生成する。
【０２８０】
ａ）（ＭｖＣ［０］［０］、ＭｖＣ［０］［１］）＝（ＤＶ［０］［０］＋Ｎ，０）、（ＭｖＣ［１］［０］、ＭｖＣ［１］［１］）＝（ＤＶ［１］［０］＋Ｎ，０）。
【０２８１】
ｂ）両端値を含む、０〜１のＸに関して、ｒｅｆＩｄｘＬＸは、ＲｅｆＰｉｃＬｉｓｔＸ中のピクチャの参照インデックスに等しく設定されるが、ＲｅｆＰｉｃＬｉｓｔＸは、視差ベクトルとともにＮＢＤＶプロセスの間に識別される参照ビューに属する。
【０２８２】
ここで、Ｎは、左候補に関しては４であり、右候補に関しては−４である。
【０２８３】
[0206]別の例では、ビデオコーダは、（Ｎ，Ｍ1，Ｍ2）＝（４，（（（幅／２）*４）＋４），（（（高さ／２）*４）＋４））を用いて１つの候補のみを生成するが、現在のＰＵサイズは、幅×高さである。ＴＭＶＰ候補の直前に１つの追加候補のみが追加される。ＴＭＶＰが利用可能でない場合、ビデオコーダは、すべての空間的候補を挿入した後に追加候補を追加する。
【０２８４】
[0207]以下のものは、追加候補を用いたマージ候補リスト構成に関する本開示の別の例示的な技法である。この例では、以下にボールドで強調されるように、１つの追加候補のみがマージ候補リストに挿入される。
【０２８５】
１．ＩＰＭＶＣ挿入
ＩＰＭＶＣが、上記で説明したプロシージャによって導出される。ＩＰＭＶＣが利用可能である場合、ＩＰＭＶＣはマージリストに挿入される。
【０２８６】
２．３Ｄ−ＨＥＶＣにおける空間的マージ候補およびＩＤＭＶＣの挿入に関する導出プロセス
以下の順序、Ａ1、Ｂ1、Ｂ0、Ａ0、またはＢ2で空間的隣接ＰＵの動き情報をチェックする。ビデオコーダは、以下の手順によって、制約付きプルーニングを実行する。
【０２８７】
−  Ａ1およびＩＰＭＶＣが同じ動きベクトルおよび同じ参照インデックスを有する場合、ビデオコーダは、Ａ1を候補リストに挿入しない。場合によっては、ビデオコーダは、Ａ1を候補リストに挿入する。
【０２８８】
−  Ｂ1およびＡ1／ＩＰＭＶＣが同じ動きベクトルおよび同じ参照インデックスを有する場合、ビデオコーダは、Ｂ1を候補リストに挿入しない。場合によっては、ビデオコーダは、Ｂ1を候補リストに挿入する。
【０２８９】
−  Ｂ0が利用可能である場合、ビデオコーダは、Ｂ0を候補リストに追加する。
【０２９０】
−  ＩＤＭＶＣが、上記で説明したプロシージャによって導出される。ＩＤＭＶＣが利用可能であり、ＩＤＭＶＣがＡ1およびＢ1から導出された候補とは異なる場合、ビデオコーダは、ＩＤＭＶＣを候補リストに挿入する。
【０２９１】
−  ＢＶＳＰがピクチャ全体または現在のスライスに関して有効にされる場合、ビデオコーダは、ＢＶＳＰマージ候補をマージ候補リストに挿入する。
【０２９２】
−  Ａ0が利用可能である場合、ビデオコーダは、Ａ0を候補リストに追加する。
【０２９３】
−  Ｂ2が利用可能である場合、ビデオコーダは、Ｂ2を候補リストに追加する。
【０２９４】
−  以下のセクションで説明するように導出された追加候補を挿入する。
【０２９５】
−  追加候補がＩＰＭＶＣである場合、ビデオコーダは、ステップ１において追加候補をＩＰＭＣと比較する。−  追加候補がＩＰＭＣに等しくない場合、または追加候補がＤＳＭＶである場合（追加ＩＰＭＶＣが利用不可能であるとき）、ビデオコーダは、追加候補を候補リストに挿入する。
【０２９６】
３．時間的マージ候補に関する導出プロセス
−  時間的マージ候補に関する導出プロセスは、コロケートＰＵの動き情報が利用される、ＨＥＶＣにおける時間的マージ候補導出プロセスと同様である。しかしながら、時間的マージ候補のターゲット参照ピクチャインデックスは、「１つの追加候補の生成」という名称の本開示のセクションにおいて説明するように、０となるように固定するのではなく変更され得る。
【０２９７】
４．３Ｄ−ＨＥＶＣにおける結合双予測マージ候補に関する導出プロセス
−  上記の２つのステップから導出された候補の総数が、候補の最大数未満である場合、ＨＥＶＣにおいて定義されたものと同じプロセスは、ｌ０ＣａｎｄＩｄｘおよびｌ１ＣａｎｄＩｄｘの仕様を除いて実行される。ｃｏｍｂＩｄｘ、ｌ０ＣａｎｄＩｄｘ、およびｌ１ＣａｎｄＩｄｘの間の関係は、図９において定義されている。
【０２９８】
５．ゼロ動きベクトルマージ候補に関する導出プロセス
−  ゼロ動きベクトル候補を導出するために、ＨＥＶＣにおいて定義されたものと同じプロシージャが実行され得る。
【０２９９】
１つの追加候補の生成
１）ＲＤＶは次のように生成される。ＲＤＶ＝ＤＶ、ＲＤＶ［０］＋＝（（（幅／２）*４）＋４）、ＲＤＶ［１］＋＝（（（高さ／２）*４）＋４）。
【０３００】
２）３Ｄ−ＨＥＶＣにおける視差ベクトルによって生成されるＩＰＭＶＣと同様のＩＰＭＶＣを生成するためにＲＤＶを使用するが、現在のブロックの中心位置は、参照ビューの参照ブロック中のピクセルを識別するためにＲＤＶを用いてシフトされ、ピクセルをカバーするブロック（４×４）内の動き情報は、ＩＰＭＶＣ候補を生成するのに使用される。
【０３０１】
３）ステップ（２）においてＩＰＭＶＣが利用可能である場合、追加候補はＩＰＭＶＣに設定される。
【０３０２】
４）場合によっては、ステップ（２）においてＩＰＭＶＣが利用不可能であるとき、「１つのＤＳＭＶ候補の生成」という名称の本開示のセクションにおいて説明するように、ＤＳＭＶ候補が生成される。
【０３０３】
１つのＤＳＭＶ候補の生成
これは、本開示の他の例に関して上記で説明した同様の対応するプロシージャとサブセクションである。１つの差異は、生成されるＤＳＭＶが常に右ＤＳＭＶであることである。このプロセスは、前のセクションの追加のＩＰＭＶＣが利用不可能であり、ＭｖＣが最終候補として返されるときにのみ呼び出される。ＤＳＭＶ候補は、４に等しいＮを設定することによって次のように生成される。
【０３０４】
１）ＤＭＶが利用可能でないことを考慮する。
【０３０５】
ａ）リストＣ＝｛Ａ1、Ｂ1、Ｂ0、Ａ0、およびＢ2｝中の各空間的候補Ｃ［ｉ］に関して
ｉ）Ｃ［ｉ］のｒｅｆＩｄｘＬ０がビュー間参照に対応する場合、以下のことが適用される。代替的に、この条件は、「Ｃ［ｉ］のｒｅｆＩｄｘＬ０がビュー間参照に対応し、Ｃ［ｉ］のｒｅｆＩｄｘＬ１が時間的参照に対応する場合」に変更される。
【０３０６】
（１）Ｃ［ｉ］の動きベクトルがｍｖであると仮定する。
【０３０７】
（２）ＤＭＶがｍｖ［０］に設定され、利用可能と見なされる。
【０３０８】
（３）ループを終了する（ブレーク）。
【０３０９】
２）ＤＭＶが利用可能である場合、追加候補ＭｖＣを得るために以下のことが適用される。
【０３１０】
ａ）（ＭｖＣ［０］［０］、ＭｖＣ［０］［１］）が（ｍｖ［０］［０］＋Ｎ，ｍｖ［０］［１］）に設定され、（ＭｖＣ［１］［０］、ＭｖＣ［１］［１］）が（ｍｖ［１］［０］，ｍｖ［１］［１］）に設定される。
【０３１１】
ｂ）ＭｖＣのｒｅｆＩｄＬ０が、ＤＭＶを含む第１の利用可能な空間的候補のｒｅｆＩｄｘＬ０に等しく設定される。
【０３１２】
ｃ）ＭｖＣのｒｅｆＩｄｘＬ１が、ＤＭＶを含む空間的隣接ブロックのｒｅｆＩｄｘＬ１に等しく設定される。
【０３１３】
ｄ）ＢＶＳＰが現在のピクチャに関して有効にされるとき、ＭｖＣ［０］［１］はさらに０に設定される。
【０３１４】
３）場合によっては、ＭｖＣは次のように生成される。
【０３１５】
ａ）（ＭｖＣ［０］［０］、ＭｖＣ［０］［１］）＝（ＤＶ［０］［０］＋Ｎ，０）、（ＭｖＣ［１］［０］、ＭｖＣ［１］［１］）＝（ＤＶ［１］［０］＋Ｎ，０）。
【０３１６】
ｂ）両端値を含む、０〜１のＸに関して、ｒｅｆＩｄｘＬＸは、ＲｅｆＰｉｃＬｉｓｔＸ中のピクチャの参照インデックスに等しく設定されるが、ＲｅｆＰｉｃＬｉｓｔＸは、視差ベクトルとともにＮＢＤＶプロセスの間に識別される参照ビューに属する。
【０３１７】
[0208]したがって、上記の説明では、ビデオコーダは、現在のブロックの視差ベクトル（すなわち、ＤＶ）を第１の値によって水平に、第２の値によって垂直にシフトさせることによってシフト視差ベクトル（すなわち、ＲＤＶ）を決定し得る。いくつかの例では、第１の値は（（（Ｗ／２）*４）＋４）に等しく、第２の値は（（（Ｈ／２）*４）＋４）に等しいが、ここでＷは現在のブロックの幅であり、Ｈは現在のブロックの高さである。さらに、ビデオコーダは、参照ビュー内の対応するブロックを位置特定するためにシフト視差ベクトル（すなわち、ＲＤＶ）を使用し得る。追加のＩＰＭＶＣは、ビュー間参照ピクチャ中の対応するブロックの動き情報を示す。ビデオコーダは、追加のＩＰＭＶＣが元のＩＰＭＣと異なるとき、追加のＩＰＭＶＣをマージ候補リストに挿入し得る。しかしながら、追加のＩＰＭＶＣが利用可能でないとき、ビデオコーダは、ＤＳＭＶ候補を生成し得る。本開示の他の場所で示すように、ビデオコーダは、ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の参照ピクチャリストに対応する第１の利用可能な視差動きベクトルを決定し得る。ビデオコーダは、次いで、ＤＳＭＶ候補を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせ得る。空間的隣接ブロックのいずれも視差動きベクトルを含まないとき、ＤＳＭＶ候補は、現在のブロックの視差ベクトルの水平成分プラスオフセットに等しいＤＳＭＶ候補の水平成分を設定することによって生成される場合があり、ＤＳＭＶ候補の垂直成分はゼロに設定される。
【０３１８】
[0209]図１２は、本開示の技法を実装し得る、ビデオエンコーダ２０の例を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス、たとえばテクスチャ画像と深度マップの両方のスライス内のビデオブロックのイントラコーディングおよびインターコーディング（ビュー間コーディングを含む）を実行し得る。テクスチャ情報は、概して、ルミナンス（輝度または強度）情報とクロミナンス（色、たとえば赤い色相および青い色相）情報とを含む。概して、ビデオエンコーダ２０は、ルミナンススライスに対するコーディングモードを決定し、クロミナンス情報を符号化するために（たとえば、区分情報、イントラ予測モード選択、動きベクトルなどを再使用することによって）ルミナンス情報をコーディングすることからの予測情報を再使用し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接するフレーム内またはピクチャ内のビデオの時間的な冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード(登録商標)）は、いくつかの空間ベースのコーディングモードのうちの任意のものを参照し得る。一方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのうちの任意のものを参照し得る。
【０３１９】
[0210]図１２の例では、ビデオエンコーダ２０は、モード選択ユニット２４０と、参照フレームメモリ２６４と、加算器２５０と、変換処理ユニット２５２と、量子化ユニット２５４と、エントロピー符号化ユニット２５６とを含む。今度は、モード選択ユニット２４０は、動き補償ユニット２４４と、動き推定ユニット２４２と、イントラ予測ユニット２４６と、区分ユニット２４８とを含む。ビデオブロックの再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット２５８と、逆変換ユニット２６０と、加算器２６２とを含む。ブロック境界をフィルタして、再構成されたビデオからブロッキネスアーティファクトを除去するために、デブロッキングフィルタ（図１２に示さず）も含まれ得る。必要な場合、デブロッキングフィルタは、通常、加算器２６２の出力をフィルタリングする。さらなるフィルタ（インループまたはポストループ）も、デブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡約のために図示されないが、必要な場合、加算器２５０の出力を（インループフィルタとして）フィルタリングし得る。
【０３２０】
[0211]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。したがって、図１２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム（たとえば、テクスチャ画像または深度マップ）内の現在のビデオブロック（すなわち、ルミナンスブロック、クロミナンスブロック、または深度ブロックなどのビデオデータのブロック）を受信する。
【０３２１】
[0212]動き推定ユニット２４２および動き補償ユニット２４４は、時間的予測またはビュー間予測をもたらすために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して受信されたビデオブロックのインター予測コーディングを実行し得る。代替的に、イントラ予測ユニット２４６は、空間的予測をもたらすために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ２０は、たとえば、ビデオデータの各ブロックに関して適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
【０３２２】
[0213]その上、区分ユニット２４８は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、区分ユニット２４８は、最初は、レートひずみ分析（たとえば、レートひずみ最適化）に基づいて、フレームまたはスライスをＬＣＵに区分し、ＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット２４０は、ＬＣＵのサブＣＵへの区分を示す４分木データ構造をさらに生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。
【０３２３】
[0214]モード選択ユニット２４０は、たとえば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器２５０に与え、また参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器２６２に与え得る。モード選択ユニット２４０は、動きベクトル、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報などの、シンタックス要素をエントロピー符号化ユニット２５６に与えることもできる。
【０３２４】
[0215]動き推定ユニット２４２および動き補償ユニット２４４は、高度に統合される場合があるが、概念的な目的のために別々に示している。動き推定ユニット２４２によって実行される動き推定は、動きベクトルを生成する処理であり、ビデオブロックに対する動きを推定する。いくつかの例では、動きベクトルは、現在のフレーム（または他のコード化ユニット）内でコーディングされている現在のブロックに対する参照フレーム（または他のコード化ユニット）内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。
【０３２５】
[0216]予測ブロックは、ピクセル差分の観点で、コーディングされるべきブロックと密にマッチングすることが見出されたブロックであり、ピクセル差分は、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得る。いくつかの例では、ビデオエンコーダ２０は、参照フレームメモリ２６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数のピクセル位置の値を補間し得る。したがって、動き推定ユニット２４２は、完全なピクセル位置および分数のピクセル位置に対して動き探索を実行し、分数のピクセル精度で動きベクトルを出力し得る。
【０３２６】
[0217]動き推定ユニット２４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵに関する動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（「Ｌｉｓｔ０」または「ＲｅｆＰｉｃＬｉｓｔ０」）または第２の参照ピクチャリスト（「Ｌｉｓｔ１」または「ＲｅｆＰｉｃＬｉｓｔ１」）から選択される場合があり、それらの参照ピクチャリストの各々は、参照フレームメモリ２６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット２４２は、計算された動きベクトルをエントロピー符号化ユニット２５６と動き補償ユニット２４４とに送り得る。
【０３２７】
[0218]動き補償ユニット２４４によって実行される動き補償は、動き推定ユニット２４２によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。同様に、動き推定ユニット２４２および動き補償ユニット２４４は、いくつかの例では、機能的に統合され得る。現在のビデオブロックのＰＵに関する動きベクトルを受信すると、動き補償ユニット２４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックを位置特定し得る。いくつかの例では、加算器２５０は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット２４２は、ルーマ成分に対する動き推定を実行し、動き補償ユニット２４４は、クロマ成分とルーマ成分の両方のために、ルーマ成分に基づいて計算された動きベクトルを使用する。このように、動き補償ユニット２４４は、動き推定ユニット２４２がクロマ成分に関する動き探索を実行する必要がないように、クロマ成分をコーディングするためにルーマ成分に関して決定された動き情報を再使用し得る。モード選択ユニット２４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０３２８】
[0219]本開示の１つまたは複数の技法によれば、動き推定ユニット２４２は、マージ候補リストを生成し得る。動き推定ユニット２４２は、マージ候補リストを生成することの一部として、ビデオデータの現在のブロックの空間的隣接ブロック間で第１の利用可能な視差動きベクトルを決定し得る。第１の利用可能な視差動きベクトルは、第１の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）に対応し得る。さらに、動き推定ユニット２４２は、ＤＳＭＶ候補を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせ得る。空間的隣接ブロックのいずれも視差動きベクトルを含まないとき、動き推定ユニット２４２は、現在のブロックの視差ベクトルの水平成分プラスオフセットに等しい場合があるＤＳＭＶ候補の水平成分を設定することによって、またＤＳＭＶ候補の垂直成分をゼロに設定することによってＤＳＭＶ候補を生成し得る。加えて、動き推定ユニット２４２は、視差ベクトルを水平と垂直の両方にシフトさせることによって指されるビュー間参照ピクチャの動き情報を使用して追加のＩＰＭＶＣを生成し得る。動き推定ユニット２４２は、ＤＳＭＶ候補または追加のＩＰＭＶＣをマージ候補リストに追加し得る。いくつかの例では、動き推定ユニット２４２は、追加のＩＰＭＶＣが利用可能でない場合、追加のＩＰＭＶＣ候補の代わりにＤＳＭＶ候補をマージ候補リストに追加する。動き推定ユニット２４２は、マージ候補リストから候補を選択し、ビットストリーム内に、選択されたマージ候補のインデックスを表すデータを含み得る。動き補償ユニット２４４は、選択されたマージ候補の動き情報に基づいて、現在のブロックに関する予測ブロックを決定し得る。
【０３２９】
[0220]イントラ予測ユニット２４６は、上記で説明したように、動き推定ユニット２４２および動き補償ユニット２４４によって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット２４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット２４６は、たとえば、別個の符号化パス中に様々なイントラ予測モードを使用して現在のブロックを符号化し、イントラ予測ユニット２４６（または、いくつかの例では、モード選択ユニット２４０）は、使用するのに適切なイントラ予測モードを、テストされたモードから選択し得る。
【０３３０】
[0221]たとえば、イントラ予測ユニット２４６は、様々なテストされたイントラ予測モードに関して、レートひずみ分析を使用してレートひずみの値を計算し、テストされたモード間で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、一般に、符号化されたブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のある量のひずみ（すなわち、エラー）と、符号化ブロックを生成するために使用されるビットレート（すなわち、いくつかのビット）とを決定する。イントラ予測ユニット２４６は、どのイントラ予測モードがブロックに関する最良のレートひずみの値を示すかを決定するために、様々な符号化ブロックに関するひずみおよびレートから比を計算し得る。
【０３３１】
[0222]イントラ予測ユニット２４６は、ブロックに関するイントラ予測モードを選択した後、ブロックに関して選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット２５６に提供し得る。エントロピー符号化ユニット２５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信されるビットストリーム中に構成データを含む場合があり、構成データは、コンテキストの各々に関して使用する、複数のイントラ予測モードのインデックステーブルおよび複数の修正されたイントラ予測モードのインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックに関する符号化コンテキストの定義と、最も起こりそうなイントラ予測モードの表示と、イントラ予測モードのインデックステーブルと、修正されたイントラ予測モードのインデックステーブルとを含み得る。
【０３３２】
[0223]いくつかの例では、ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット２４０からの予測データを減算することによって残差ビデオブロックを形成する。加算器２５０は、この減算演算を実行する１つの構成要素または複数の構成要素を表す。変換処理ユニット２５２は、離散コサイン変換（ＤＣＴ）または概念的には類似の変換などの変換を残差ブロックに適用し、残差変換係数の値を備えるビデオブロックを生成し得る。変換処理ユニット２５２は、概念的にはＤＣＴに類似の他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット２５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。
【０３３３】
[0224]変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット２５２は、得られた変換係数を量子化ユニット２５４に送り得る。量子化ユニット２５４は、ビットレートをさらに低減させるために変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減させ得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット２５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット２５６が、走査を実行し得る。
【０３３４】
[0225]量子化の後に、エントロピー符号化ユニット２５６は、量子化変換係数をエントロピーコーディングし得る。たとえば、エントロピー符号化ユニット２５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディング、または別のエントロピーコーディング技法を実行し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づく可能性がある。エントロピー符号化ユニット２５６によるエントロピーコーディングの後で、符号化ビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信され、後に伝送するかまたは取り出すために保管され得る。
【０３３５】
[0226]逆量子化ユニット２５８および逆変換ユニット２６０は、ピクセル領域中で残差ブロックを再構成するために、たとえば参照ブロックとして後で使用するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット２４４は、残差ブロックを参照フレームメモリ２６４のフレームのうちの１つの予測ブロックに加算することによって、参照ブロックを計算し得る。動き補償ユニット２４４は、動き推定において使用するためにサブ整数ピクセル値を計算するのに、１つまたは複数の補間フィルタを再構成された残差ブロックに適用することもできる。加算器２６２は、参照フレームメモリ２６４に記憶するために再構成されたビデオブロックを生成するのに、再構成された残差ブロックを、動き補償ユニット２４４によって生成された動き補償予測ブロックに加算し得る。再構成されたビデオブロックは、動き推定ユニット２４２および動き補償ユニット２４４によって、後続のビデオフレーム中のブロックをインターコーティングするための参照ブロックとして使用され得る。
【０３３６】
[0227]ビデオエンコーダ２０は、対応するクロミナンス成分がなくとも、ルミナンス成分をコーディングするためのコーディング技法に実質的に似るように深度マップを符号化し得る。たとえば、イントラ予測ユニット２４６は、深度マップのブロックをイントラ予測し得るが、動き推定ユニット２４２および動き補償ユニット２４４は、深度マップのブロックをインター予測し得る。
【０３３７】
[0228]図１３は、本開示の技法を実装し得る、ビデオデコーダ３０の例を示すブロック図である。図１３の例では、ビデオデコーダ３０は、エントロピー復号ユニット２７０と、動き補償ユニット２７２と、イントラ予測ユニット２７４と、逆量子化ユニット２７６と、逆変換ユニット２７８と、参照フレームメモリ２８２と、加算器２８０とを含む。いくつかの例では、ビデオデコーダ３０は、ビデオエンコーダ２０（図１２）に関して記載される符号化パスに概して相反する復号パスを実行する。動き補償ユニット２７２は、エントロピー復号ユニット２７０から受信された動きベクトルに基づいて予測データを生成することができる。言い換えれば、動き補償ユニット２７２は、エントロピー復号ユニット２７０から受信されたシンタックス要素から決定された動きベクトルに基づいて予測データを生成することができる。異なる例では、エントロピー復号ユニット２７０は、そのようなシンタックス要素をエントロピー復号するか、またはしない場合がある。イントラ予測ユニット２７４は、エントロピー復号ユニット２７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【０３３８】
[0229]復号プロセス中に、ビデオデコーダ３０は、符号化ビデオスライスのビデオブロックおよび関連するシンタックス要素を表す符号化ビデオビットストリームを、ビデオエンコーダ２０から受信する。エントロピー復号ユニット２７０は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。言い換えれば、エントロピー復号ユニット２７０は、ビットストリーム中の少なくとも一部のシンタックス要素をエントロピー復号することができる。ビデオデコーダ３０の様々な構成要素は、量子化係数、動きベクトル、イントラ予測モードインジケータなどを決定するためにそのようなシンタックス要素を使用し得る。いくつかの例では、エントロピー復号ユニット２７０は、動きベクトルおよび様々なシンタックス要素を動き補償ユニット２７２に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルにおいてシンタックス要素を受信し得る。
【０３３９】
[0230]ビデオスライスが、イントラコード化（Ｉ）スライスとしてコーディングされるとき、イントラ予測ユニット２７４は、現在のフレームまたはピクチャの以前に復号されたブロックから、シグナリングされたイントラ予測モードおよびデータに基づいて、現在のビデオスライスのビデオブロックに関する予測データを生成し得る。ビデオフレームがインターコード化（たとえば、Ｂ、Ｐ、またはＧＰＢ）スライスとしてコーディングされるとき、動き補償ユニット２７２は、エントロピー復号ユニット２７０から受信された動きベクトルおよびシンタックス要素に基づいて、現在のビデオスライスのビデオブロックに関する予測ブロックを生成し得る。予測ブロックは、参照ピクチャリストのうちの１つの中の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照フレームメモリ２８２に記憶された参照ピクチャに基づいて参照フレームリスト、すなわちＬｉｓｔ０およびＬｉｓｔ１を構成し得る。
【０３４０】
[0231]動き補償ユニット２７２は、動きベクトルおよび他のシンタックス要素を解析することによって現在のビデオスライスのビデオブロックに関する予測情報を決定し、復号されている現在のビデオブロックに関する予測ブロックを生成するために予測情報を使用し得る。たとえば、動き補償ユニット２７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数に関する構成情報と、スライスの各インター符号化ビデオブロックに関する動きベクトルと、スライスの各インターコード化ビデオブロックに関するインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用し得る。
【０３４１】
[0232]動き補償ユニット２７２は、補間フィルタに基づいて補間を実行することもできる。動き補償ユニット２７２は、参照ブロックのサブ整数ピクセルに関して補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用されたものと同じ補間フィルタを使用し得る。この場合、動き補償ユニット２７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用し得る。
【０３４２】
[0233]本開示の１つまたは複数の技法によれば、動き補償ユニット２７２は、マージ候補リストを生成し得る。動き補償ユニット２７２は、マージ候補リストを生成することの一部として、ビデオデータの現在のブロックの空間的隣接ブロック間で第１の利用可能な視差動きベクトルを決定し得る。第１の利用可能な視差動きベクトルは、第１の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）に対応し得る。さらに、動き補償ユニット２７２は、ＤＳＭＶ候補を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせ得る。動き補償ユニット２７２は、ＤＳＭＶ候補または追加のＩＰＭＶＣをマージ候補リストに追加し得る。いくつかの例では、動き補償ユニット２７２は、追加のＩＰＭＶＣ候補が利用可能でない場合、追加のＩＰＭＶＣ候補の代わりにＤＳＭＶ候補をマージ候補リストに追加する。さらに、動き補償ユニット２７２は、ビットストリームから得られたデータ（たとえば、マージ候補インデックス）に基づいて、マージ候補リスト中の選択候補を決定し得る。動き補償ユニット２７２は、選択されたマージ候補の動き情報に基づいて、現在のブロックに関する予測ブロックを決定し得る。
【０３４３】
[0234]逆量子化ユニット２７６は、ビットストリーム中で与えられ、エントロピー復号ユニット２７０によって復号された量子化変換係数を逆量子化（ｉｎｖｅｒｓｅ  ｑｕａｎｔｉｚｅ）、すなわち逆量子化（ｄｅ−ｑｕａｎｔｉｚｅ）し得る。言い換えれば、逆量子化ユニット２７６は、エントロピー復号ユニット２７０によってエントロピー復号され得る、ビットストリームに含まれるシンタックス要素によって示される量子化変換係数を逆量子化し得る。逆量子化プロセスは、量子化の程度を決定し、同様に適用されるべき逆量子化の程度を決定するために、ビデオスライス中の各ビデオブロックに関してビデオデコーダ３０によって計算される量子化パラメータＱＰYの使用を含み得る。逆変換ユニット２７８は、ピクセル領域内の残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的には類似の逆変換プロセスを、変換係数に適用し得る。
【０３４４】
[0235]動き補償ユニット２７２が、動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックに関する予測ブロックを生成した後、ビデオデコーダ３０は、（たとえば、逆変換ユニット２７８からの残差ブロックを動き補償ユニット２７２によって生成された対応する予測ブロックと加算することによって）復号されたビデオブロックを形成し得る。加算器２８０は、この加算演算を実行する１つの構成要素または複数の構成要素を表し得る。必要な場合、デブロッキングフィルタも、ブロッキネスアーティファクトを除去するのに、復号ブロックをフィルタリングするために適用され得る。他のループフィルタ（コーディングループの中、またはコーディングループの後のいずれかにおける）も、ピクセルの遷移を平滑化し、または場合によってはビデオ品質を改善するために使用され得る。所与のフレームまたはピクチャの復号ビデオブロックは、次いで、参照ピクチャメモリ２８２に記憶され、この参照ピクチャメモリ２８２は後続の動き補償のために使用される参照ピクチャを記憶する。参照フレームメモリ２８２は、図１のディスプレイデバイス３２などのディスプレイデバイス上で後に提示するために復号ビデオも記憶する。
【０３４５】
[0236]図１４Ａは、本開示の１つまたは複数の技法による、ビデオエンコーダ２０の例示的な動作を示すフローチャートである。図１４Ａは図１２を参照しながら説明されるが、図１４Ａの動作は、そのように限定されない。図１４Ａの例では、１つまたは複数のアクションは、再構成または省略される場合がある。他の例では、同様の動作は、追加のアクションを含み得る。
【０３４６】
[0237]図１４Ａの例では、ビデオエンコーダ２０の動き推定ユニット２４２は、現在のブロック（たとえば、現在のＰＵ）に関するマージ候補リストを構成することができる（３００）。本開示の少なくとも一部の技法によれば、動き推定ユニット２４２は、マージ候補リストがＤＳＭＶ候補または追加のＩＰＭＶＣを含むようにマージ候補リストを生成することができる。いくつかの例では、動き推定ユニット２４２は、空間的隣接ブロックの視差動きベクトルの水平成分をシフトさせることによってＤＳＭＶ候補を生成する。言い換えれば、ＤＳＭＶ候補の水平成分は、ＤＭＶを含む空間的隣接ブロックの視差動きベクトルの水平成分プラスオフセットに等しい場合があり、ＤＳＭＶ候補の垂直成分は、ＤＭＶを含む空間的隣接ブロックの視差ベクトルの垂直成分に等しい場合がある。空間的隣接ブロックのいずれも視差動きベクトルを含まないとき、動き推定ユニット２４２は、現在のブロックの視差ベクトルの水平成分プラスオフセットに等しいＤＳＭＶ候補の水平成分を設定することによって、またＤＳＭＶ候補の垂直成分をゼロに設定することによってＤＳＭＶを生成し得る。さらに、いくつかの例では、動き推定ユニット２４２は、マージ候補リストを生成するために、図１５および図１６に示す例示的な演算を実行する。
【０３４７】
[0238]動き推定ユニット２４２は、マージ候補リストを生成した後、マージ候補リストからマージ候補を選択することができる（３０２）。加えて、ビデオエンコーダ２０の動き補償ユニット２４４は、選択されたマージ候補の動き情報を使用して現在のブロックに対する１つまたは複数の予測ブロックを生成することができる（３０４）。ビデオエンコーダ２０は、ビットストリームにおいて選択されたマージ候補のインデックスをシグナリングすることができる（３０６）。
【０３４８】
[0239]図１４Ｂは、本開示の１つまたは複数の技法による、ビデオデコーダ３０の例示的な動作を示すフローチャートである。図１４Ｂは図１３を参照しながら説明されるが、図１４Ｂの動作は、そのように限定されない。図１４Ｂの例では、１つまたは複数のアクションは、再構成または省略される場合がある。他の例では、同様の動作は、追加のアクションを含み得る。
【０３４９】
[0240]図１４Ｂの例では、ビデオデコーダ３０の動き補償ユニット２７２は、現在のブロック（たとえば、現在のＰＵ）に関するマージ候補リストを構成することができる（３２０）。本開示の少なくとも一部の技法によれば、動き補償ユニット２７２は、マージ候補リストが追加のＩＰＭＶＣまたはＤＳＭＶ候補を含むようにマージ候補リストを生成することができる。いくつかの例では、動き補償ユニット２７２は、空間的隣接ブロックの視差動きベクトルの水平成分をシフトさせることによってＤＳＭＶ候補を生成する。言い換えれば、ＤＳＭＶ候補の水平成分は、空間的隣接ブロックの視差動きベクトルの水平成分プラスオフセットに等しい場合があり、ＤＳＭＶ候補の垂直成分は、空間的隣接ブロックの視差動きベクトルの垂直成分に等しい場合がある。空間的隣接ブロックのいずれも視差動きベクトルを含まないとき、動き補償ユニット２７２は、現在のブロックの視差ベクトルの水平成分プラスオフセットに等しいＤＳＭＶ候補の水平成分を設定することによって、またＤＳＭＶ候補の垂直成分をゼロに設定することによってＤＳＭＶを生成し得る。さらに、いくつかの例では、動き補償ユニット２７２は、マージ候補リストを生成するために、図１５および図１６に示す例示的な演算を実行する。
【０３５０】
[0241]動き補償ユニット２７２は、ビットストリームにおいてシグナリングされたインデックスに基づいて、マージ候補リスト中の選択されたマージ候補を決定することができる（３２２）。加えて、動き補償ユニット２７２は、選択されたマージ候補の動き情報を使用して現在のブロックに対する１つまたは複数の予測ブロックを生成することができる（３２４）。ビデオデコーダ３０は、現在のブロックの予測ブロックに少なくとも部分的に基づいてピクセル値を再構成することができる（３２６）。
【０３５１】
[0242]図１５は、本開示の１つまたは複数の技法による、現在のブロックに関するマージ候補リストを構成するための例示的な動作３４９の第１の部分を示すフローチャートである。図１５の例示的な動作では、１つまたは複数のアクションは、再構成または省略される場合がある。他の例では、同様の動作は、追加のアクションを含み得る。
【０３５２】
[0243]図１５の例では、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、ＩＰＭＶＣを決定することができる（３５０）。いくつかの例では、ビデオコーダは、ビュー間参照ピクチャ内の対応するブロックを識別するのに現在のブロックに関する視差ベクトルを使用することによってＩＰＭＶＣを決定することができる。そのような例では、対応するブロックが、イントラ予測されず、ビュー間予測されず、時間的動きベクトル（すなわち、対応するブロックと異なる時間インスタンスに関連する参照ピクチャ中のロケーションを示す動きベクトル）を有する場合、ＩＰＭＶＣは、対応するブロックの動きベクトルと、対応するブロックの予測方向インジケータと、対応するブロックの変換された参照インデックスとを指定することができる。次に、ビデオコーダは、ＩＰＭＶＣが利用可能であるかどうかを決定することができる（３５２）。いくつかの例では、ＩＰＭＶＣは、ビュー間参照ピクチャ内またはビュー間参照ピクチャの境界外の対応するブロックがイントラ予測される場合、利用不可能である。ＩＰＭＶＣが利用可能であること（３５２の「はい」）を決定するのに応答して、ビデオコーダは、ＩＰＭＶＣをマージ候補リストに挿入することができる（３５４）。
【０３５３】
[0244]ＩＰＭＶＣをマージ候補リストに挿入した後、またはＩＰＭＶＣが利用可能でないこと（３５２の「いいえ」）を決定するのに応答して、ビデオコーダは、空間的隣接ＰＵが利用可能な動きベクトルを有するかどうかを決定するために空間的隣接ＰＵをチェックすることができる（３５６）。いくつかの例では、空間的隣接ＰＵは、図２のＡ0、Ａ1、Ｂ0、Ｂ1、およびＢ2で示すロケーションをカバーする。説明を簡単にするために、本開示は、Ａ0、Ａ1、Ｂ0、Ｂ1、およびＢ2として、それぞれロケーションＡ0、Ａ1、Ｂ0、Ｂ1、およびＢ2をカバーするＰＵの動き情報を参照し得る。
【０３５４】
[0245]図１５の例では、ビデオコーダは、Ａ1がＩＰＭＶＣにマッチングするかどうかを決定することができる（３５８）。Ａ1がＩＰＭＶＣにマッチングしないこと（３５８の「いいえ」）を決定するのに応答して、ビデオコーダは、Ａ1をマージ候補リストに挿入することができる（３６０）。場合によっては、Ａ1がＩＰＭＶＣにマッチングすること（３５８の「はい」）を決定するのに応答して、またはＡ1をマージ候補リストに挿入した後、ビデオコーダは、Ｂ1がＡ1またはＩＰＭＶＣにマッチングするかどうかを決定することができる（３６２）。Ｂ1がＡ1またはＩＰＭＶＣにマッチングしないこと（３６２の「いいえ」）を決定するのに応答して、ビデオコーダは、Ｂ1をマージ候補リストに挿入することができる（３６４）。他方、Ｂ1がＡ1もしくはＩＰＭＶＣにマッチングすること（３６２の「はい」）を決定するのに応答して、またはＢ1をマージ候補リストに挿入した後、ビデオコーダは、Ｂ0が利用可能であるかどうかを決定することができる（３６６）。Ｂ0が利用可能であること（３６６の「はい」）を決定するのに応答して、ビデオコーダは、Ｂ0をマージ候補リストに挿入することができる（３６８）。Ｂ0が利用可能でない（３６６の「いいえ」）場合、またはＢ0をマージ候補リストに挿入した後、ビデオコーダは、ＩＤＭＶＣが利用可能であるかどうか、およびＩＤＭＶＣがＡ1にもＢ1にもマッチングしないかどうかを決定することができる（３７０）。ＩＤＭＶＣがビュー間参照ピクチャの境界の外部にあるロケーションを示す場合、ＩＤＭＶＣは利用不可能である場合がある。ＩＤＭＶＣが利用可能であることと、ＩＤＭＶＣがＡ1にもＢ1にもマッチングしないことと（３７０の「はい」）を決定するのに応答して、ビデオコーダは、ＩＤＭＶＣをマージ候補リストに挿入することができる（３７２）。ＩＤＭＶＣが利用可能でないか、またはＩＤＭＶＣがＡ1もしくはＢ1にマッチングする（３７０の「いいえ」）場合、あるいはＩＤＭＶＣをマージ候補リストに挿入した後、ビデオコーダは、図１６に示す動作３４９の一部分（「Ａ」によって示される）を実行することができる。
【０３５５】
[0246]図１６は、本開示の１つまたは複数の技法による、現在のブロックに関するマージ候補リストを構成するための図１５の例示的な動作３４９の第２の部分を示すフローチャートである。上記に示すように、ＩＤＭＶＣが利用可能でないか、またはＩＤＭＶＣがＡ1もしくはＢ1にマッチングする（３７０の「いいえ」）場合、あるいはＩＤＭＶＣをマージ候補リストに挿入した後、ビデオコーダは、図１６に示す動作３４９の一部分を実行することができる。したがって、ＩＤＭＶＣが利用可能でないか、またはＩＤＭＶＣがＡ1もしくはＢ1にマッチングする（３７０の「いいえ」）場合、あるいはＩＤＭＶＣをマージ候補リストに挿入した後、ビデオコーダは、ＢＶＳＰが有効にされるかどうかを決定することができる（３７４）。ＢＶＳＰが有効にされる（３７４の「はい」）場合、ビデオコーダは、ＢＶＳＰ候補をマージ候補リストに挿入することができる（３７６）。ＢＶＳＰが有効にされない（３７４の「いいえ」）場合、またはＢＶＳＰ候補をマージ候補リストに挿入した後、ビデオコーダは、Ａ0が利用可能であるかどうかを決定することができる（３７８）。Ａ0が利用可能である（３７８の「はい」）場合、ビデオコーダは、Ａ0をマージ候補リストに挿入することができる（３８０）。場合によっては、Ａ0が利用可能でない（３７８の「いいえ」）場合、またはＡ0をマージ候補リストに挿入した後、ビデオコーダは、Ｂ2が利用可能であるかどうかを決定することができる（３８２）。Ｂ2が利用可能である（３８２の「はい」）場合、ビデオコーダは、Ｂ2をマージ候補リストに挿入することができる（３８４）。
【０３５６】
[0247]Ｂ2が利用可能でない（３８２の「いいえ」）場合、またはＢ2をマージ候補リストに挿入した後、ビデオコーダは、追加のマージ候補を決定することができる（３８５）。ビデオコーダは、様々な方法で追加のマージ候補を決定することができる。本開示の１つまたは複数の技法によれば、ビデオコーダは、追加のマージ候補を決定するために図１６〜図１９および／または図２０の例示的な動作を実行することができる。追加のマージ候補は、追加のＩＰＭＶＣまたはＤＳＭＶ候補である場合がある。ビデオコーダは、追加のマージ候補を決定した後、追加のマージ候補が追加のＩＰＭＶＣであるかどうかを決定することができる（３８６）。追加のマージ候補が追加のＩＰＭＶＣである（３８６の「はい」）場合、ビデオコーダは、追加のＩＰＭＶＣがアクション（３５０）において決定されたＩＰＭＶＣにマッチングするかどうかを決定することができる（３８７）。追加のＩＰＭＶＣがＩＰＭＶＣにマッチングしない（３８７の「いいえ」）場合、または追加のマージ候補が追加のＩＰＭＶＣでない（すなわち、追加のマージ候補がＤＳＭＶ候補である）（３８６の「いいえ」）場合、ビデオコーダは、マージ候補リスト内に追加のマージ候補（すなわち、追加のＩＰＭＶＣまたはＤＳＭＶ候補）を含むことができる（３８８）。
【０３５７】
[0248]追加のマージ候補が追加のＩＰＭＶＣであり、追加のＩＰＭＶＣがＩＰＭＶＣにマッチングする（３８７の「はい」）場合、またはマージ候補リスト中に追加のマージ候補を含んだ後、ビデオコーダは、マージ候補リスト中に時間的マージ候補を含むことができる（３９０）。さらに、ビデオコーダは、結合双予測マージ候補に関する導出プロセスを実行することができる（３９２）。ゼロ動きベクトル候補に関する例示的な導出プロセスは、ＨＥＶＣ  ＷＤ１０のセクション８．５．３．２．３に記載されている。加えて、ビデオコーダは、ゼロ動きベクトル候補に関する導出プロセスを実行することができる（３９４）。ゼロ動きベクトル候補に関する例示的な導出プロセスは、ＨＥＶＣ  ＷＤ１０のセクション８．５．３．２．４に記載されている。
【０３５８】
[0249]図１７は、本開示の１つまたは複数の技法による、追加のマージ候補を決定するための例示的な動作３９９の第１の部分を示すフローチャートである。追加のマージ候補は、追加のＩＰＭＶＣまたはＤＳＭＶ候補である場合がある。動作３９９では、１つまたは複数のアクションは、再構成または省略される場合がある。他の例では、同様の動作は、追加のアクションを含み得る。
【０３５９】
[0250]図１７の例では、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、シフト視差ベクトルを決定することができる（４００）。いくつかの例では、ビデオコーダは、現在のブロック（すなわち、ビデオコーダが現在コーディング中であるブロック）の視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによってシフト視差ベクトルを決定することができる。いくつかの例では、現在のブロックはＰＵであり、第１の値は（（（Ｗ／２）*４）＋４）に等しく、第２の値は（（（Ｈ／２）*４）＋４）に等しいが、ここでＷは現在のブロックの幅であり、Ｈは現在のブロックの高さである。
【０３６０】
[0251]ビデオコーダは、ビュー間参照ピクチャ内の対応するブロックを決定するためにシフト視差ベクトルを使用することができる（４０２）。たとえば、ビデオコーダは、シフト視差ベクトルによってシフトされた現在のブロックの中心位置に対応するビュー間参照ピクチャ中のピクセルを識別することができる。さらに、ビデオコーダは、対応するブロックの少なくとも１つの動きベクトルが利用可能であるかどうかを決定することができる（４０４）。たとえば、ビデオコーダは、対応するブロックがイントラ予測される場合、または対応するブロックがビュー間参照ピクチャの境界の外部にある場合、対応するブロックの動きベクトルが利用可能でないことを決定することができる。対応するブロックの少なくとも１つの動きベクトルが利用可能である（４０４の「はい」）場合、ビデオコーダは、対応するブロックの動き情報に基づいて追加のＩＰＭＶＣを生成することができる（４０６）。たとえば、識別されたピクセルをカバーするブロック内の動き情報は、追加のＩＰＭＶＣ候補を生成するために使用され得る。ビデオコーダは、追加のＩＰＭＶＣをマージ候補リスト中の追加のマージ候補として含むことができる。いくつかの例では、ビデオコーダは、追加のＩＰＭＶＣが元のＩＰＭＶＣと異なるときにのみ、追加のＩＰＭＶＣをマージ候補リスト中に含む。たとえば、ビデオコーダは、図１６のアクション３８８においてマージ候補リスト中に追加のＩＰＭＶＣを含むことができる。
【０３６１】
[0252]このように、ビデオコーダは、参照ビュー中の第１の対応するブロックを位置特定するために、現在のブロックの視差ベクトルを使用することができる。さらに、第１の対応するブロックの動き情報が利用可能であることを決定するのに応答して、ビデオコーダは、第１のＩＰＭＶＣをマージ候補リストに挿入することができる。第１のＩＰＭＶＣは、第１の対応するブロックの少なくとも１つの動きベクトルを示すことができる。加えて、ビデオコーダは、現在のブロックの視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによってシフト視差ベクトルを決定することができる。ビデオコーダは、参照ビュー中の第２の対応するブロックを位置特定するためにシフト視差ベクトルを使用することができる。第２の対応するブロックの動き情報が利用可能であり、第１のＩＰＭＶＣの動き情報にマッチングしないことを決定することに応答して、ビデオコーダは、第２のＩＰＭＶＣをマージ候補リストに挿入することができるが、第２のＩＰＭＶＣは第２の対応するブロックの少なくとも１つの動きベクトルを示す。
【０３６２】
[0253]他方、対応するブロックの動きベクトルが利用可能でない（４０４の「いいえ」）場合、ビデオコーダは、利用可能な視差動きベクトルに関してまだチェックされていない少なくとも１つの空間的隣接ブロックが存在するかどうかを決定することができる（４０８）。いくつかの例では、チェックされるべき空間的隣接ブロックは、ロケーションＡ1、Ｂ1、Ｂ0、Ａ0、およびＢ2に対応する空間的隣接ブロックである。さらに、いくつかの例では、ビデオコーダは、Ａ1、Ｂ1、Ｂ0、Ａ0、およびＢ2の順に空間的隣接ブロックをチェックすることができる。
【０３６３】
[0254]用可能な視差動きベクトルに関してまだチェックされていない少なくとも１つの空間的隣接ブロックが存在する（４０８の「はい」）場合、ビデオコーダは、現在の空間的隣接ブロック（すなわち、現在のブロックに関するマージ候補リストに含めるための追加のマージ候補を決定するために動作３９９を実行するコースにおいてまだチェックされていない空間的隣接ブロック）が利用可能な視差動きベクトルを有するかどうかを決定することができる（４１０）。いくつかの例では、現在の空間的隣接ブロックは、現在の空間的隣接ブロックのＲｅｆＰｉｃＬｉｓｔ０参照インデックスがビュー間参照ピクチャを示す場合、利用可能な視差動きベクトルを有する。他の例では、現在の空間的隣接ブロックのＲｅｆＰｉｃＬｉｓｔ０参照インデックスがビュー間参照ピクチャを示し、現在の空間的隣接ブロックのＲｅｆＰｉｃＬｉｓｔ１参照インデックスが時間的参照ピクチャを示す場合、現在の空間的隣接ブロックは、利用可能な視差動きベクトルを有する。
【０３６４】
[0255]現在の空間的隣接ブロックが利用可能な視差動きベクトルを有する（４１０の「はい」）ことを決定するのに応答して、ビデオコーダは、図１８に示す動作３９９の一部分（「Ａ」によって示される）を実行することができる。他方、現在の空間的隣接ブロックが利用可能な視差動きベクトルを有しない（４１０の「いいえ」）場合、ビデオコーダは、まだチェックされていない少なくとも１つの空間的隣接ブロックが存在するかどうかを再び決定することができる（４０８）。チェックされるべき別の空間的隣接ブロックが存在する場合、ビデオコーダは、この空間的隣接ブロックが利用可能な視差動きベクトルを有するかどうかを決定することができる。このように、ビデオコーダは、利用可能な視差動きベクトルを有する空間的隣接ブロックをビデオコーダが識別するまで、またはチェックすべき残りの空間的隣接ブロックが存在しなくなるまで、空間的隣接ブロックをチェックし続けることができる。チェックすべき残りの空間的隣接ブロックが存在しない（４０８の「いいえ」）ことを決定するのに応答して、ビデオコーダは、図１９に示す動作３９９の一部分（「Ｂ」によって示される）を実行することができる。
【０３６５】
[0256]図１８は、本開示の１つまたは複数の技法による、追加のマージ候補を決定するための動作３９９の第２の部分を示すフローチャートである。上記に示すように、利用可能な視差動きベクトルを有する空間的隣接ブロックをビデオコーダが識別するとき、ビデオコーダは、図１８に示す動作３９９の一部分を実行することができる。
【０３６６】
[0257]図１８の例では、ビデオコーダは、ＤＳＭＶ候補のＲｅｆＰｉｃＬｉｓｔ０動きベクトル（すなわち、「ＭＶ」）の水平成分を現在の空間的隣接ブロック（すなわち、第１の利用可能な視差動きベクトルを有する空間的に隣接するブロック）のＲｅｆＰｉｃＬｉｓｔ０視差動きベクトルの水平成分プラスオフセットに設定することができる（４３０）。いくつかの例では、オフセットは４に等しい場合がある。加えて、ビデオコーダは、ＤＳＭＶ候補のＲｅｆＰｉｃＬｉｓｔ０動きベクトルの垂直成分を、現在の空間的隣接ブロックのＲｅｆＰｉｃＬｉｓｔ０視差動きベクトルの垂直成分に設定することができる（４３２）。いくつかの例では、ＢＶＳＰが現在のピクチャまたはスライスに関して有効にされるとき、ビデオコーダは、ＤＳＭＶ候補のＲｅｆＰｉｃＬｉｓｔ０動きベクトルの垂直成分をゼロに設定することができる。
【０３６７】
[0258]ビデオコーダは、ＤＳＭＶ候補のＲｅｆＰｉｃＬｉｓｔ１動きベクトルの水平成分を、現在の空間的隣接ブロックのＲｅｆＰｉｃＬｉｓｔ１動きベクトルの水平成分に設定することができる（４３４）。さらに、ビデオコーダは、追加のＤＳＭＶ候補のＲｅｆＰｉｃＬｉｓｔ１動きベクトルの垂直成分を、現在の空間的隣接ブロックのＲｅｆＰｉｃＬｉｓｔ１動きベクトルの垂直成分に設定することができる（４３６）。ビデオコーダは、ＤＳＭＶ候補の参照インデックスを、現在の空間的隣接ブロックの参照インデックスに設定することができる（４３８）。ビデオコーダは、ＤＳＭＶ候補をマージ候補リスト中の追加のマージ候補として含むことができる。たとえば、ビデオコーダは、図１６のアクション３８８においてマージ候補リスト中にＤＳＭＶ候補を含むことができる。
【０３６８】
[0259]図１９は、本開示の１つまたは複数の技法による、追加のマージ候補を決定するための例示的な動作の第３の部分を示すフローチャートである。上記に示すように、空間的隣接ブロックのいずれも利用可能な視差動きベクトルを有しないとき、ビデオコーダは、図１９に示す動作３９９の一部分を実行することができる。
【０３６９】
[0260]図１９の例では、ビデオコーダは、ＤＳＭＶ候補のＲｅｆＰｉｃＬｉｓｔ０動きベクトル（すなわち、「ＭＶ」）の水平成分を現在のブロックの視差動きベクトルの水平成分プラスオフセットに設定することができる（４５０）。いくつかの例では、オフセットは４に等しい場合がある。加えて、ビデオコーダは、ＤＳＭＶ候補のＲｅｆＰｉｃＬｉｓｔ０動きベクトルの垂直成分をゼロに設定することができる（４５２）。さらに、ビデオコーダは、ＤＳＭＶ候補のＲｅｆＰｉｃＬｉｓｔ１動きベクトルの水平成分を、現在のブロックの視差ベクトルの水平成分プラスオフセットに設定することができる（４５４）。いくつかの例では、オフセットは４に等しい場合がある。ビデオコーダは、ＤＳＭＶ候補のＲｅｆＰｉｃＬｉｓｔ１動きベクトルの垂直成分をゼロに設定することができる（４５６）。加えて、ビデオコーダは、ＤＳＭＶ候補のＲｅｆＰｉｃＬｉｓｔ０参照インデックスを、現在のブロックに関する視差ベクトルの導出中に（たとえば、ＮＢＤＶまたはＤｏＮＢＤＶの導出動作中に）識別される参照ビューに属するＲｅｆＰｉｃＬｉｓｔ０中のピクチャの参照インデックスに設定することができる（４５８）。ビデオコーダは、ＤＳＭＶ候補のＲｅｆＰｉｃＬｉｓｔ１参照インデックスを、現在のブロックに関する視差ベクトルの導出中に（たとえば、ＮＢＤＶまたはＤｏＮＢＤＶの導出動作中に）識別される参照ビューに属するＲｅｆＰｉｃＬｉｓｔ１中のピクチャの参照インデックスに設定することができる（４６０）。
【０３７０】
[0261]図２０は、本開示の１つまたは複数の技法による、ビデオコーダの例示的な動作を示すフローチャートである。図２０の例では、１つまたは複数のアクションは、再構成または省略される場合がある。他の例では、同様の動作は、追加のアクションを含み得る。
【０３７１】
[0262]図２０の例では、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、ビデオデータの現在のブロックの空間的隣接ブロック間で第１の利用可能な視差動きベクトルを決定することができる（４７０）。第１の利用可能な視差動きベクトルは、第１の参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０）に対応する。さらに、ビデオコーダは、ＤＳＭＶ候補を導出するために第１の利用可能な視差動きベクトルの水平成分をシフトさせることができる（４７２）。ビデオコーダは、ＤＳＭＶ候補をマージ候補リストに追加することができる（４７４）。いくつかの例では、シフト視差ベクトル（すなわち、シフト視差ベクトルによって示されるビュー間参照ブロックのマージ候補指示動き情報）から生成されたＩＰＭＶＣが利用可能でないとき、ビデオコーダは、ＤＳＭＶ候補をマージ候補リストに追加する。さらに、いくつかの例では、ビデオコーダがビデオエンコーダである場合、ビデオエンコーダは、マージ候補リストから候補を選択し、ビットストリーム中に、選択されたマージ候補のインデックスを表すデータを含むことができる。ビデオエンコーダは、選択されたマージ候補の動き情報に基づいて、現在のブロックに関する予測ブロックを決定することができる。ビデオエンコーダは、ビットストリーム中に、予測ブロック上で部分的に決定された残差データを表すデータを含むことができる。他の例では、ビデオデコーダがビデオデコーダである場合、ビデオデコーダは、ビットストリームから得られたデータに基づいて、マージ候補リスト中の選択されたマージ候補を決定することができる。さらに、ビデオデコーダは、選択されたマージ候補の動き情報に基づいて、現在のブロックに関する予測ブロックを決定することができる。ビデオデコーダは、残差データおよび予測ブロックに基づいて、現在のブロックのサンプル値を再構成することができる。
【０３７２】
[0263]以下の段落は、本開示の追加の例示的な技法を提供する。
【０３７３】
[0264]例１：  ビデオデータの現在のブロックをコーディングする際に使用するためのマージモード動きベクトル予測候補リストのためのビュー間予測動きベクトル候補を導出することと、マージモード動きベクトル予測候補リストのための１つまたは複数の追加のビュー間予測動きベクトル候補を導出することと、ここにおいて、１つまたは複数の追加のビュー間予測動きベクトル候補は、ビデオデータの現在のブロックの１つまたは複数のシフト視差ベクトルから導出される、マージモード動きベクトル予測候補リストを使用してビデオデータの現在のブロックに関する動きベクトルをコーディングすることとを備えるマルチビュービデオデータをコーディングする方法。
【０３７４】
[0265]例２：  １つまたは複数のシフト視差ベクトルのうちの少なくとも１つは、第１の値Ｍ１によって水平にシフトされ、第２の値Ｍ２によって垂直にシフトされる、例１に記載の方法。
【０３７５】
[0266]例３：  第１の値Ｍ１と第２の値Ｍ２とは異なる値である、例２に記載の方法。
【０３７６】
[0267]例４：  第１の値Ｍ１と第２の値Ｍ２とは同じ値である、例２に記載の方法。
【０３７７】
[0268]例５：  第１の値Ｍ１および第２の値Ｍ２は、４、８、１６、３２、６４、−４、−８、−１６、−３２、および−６４を含むリストから任意の値をとり得る、例２に記載の方法。
【０３７８】
[0269]例６：  第１の値Ｍ１は１つの参照ビュー内の最小予測ユニットの幅に等しく、第２の値Ｍ１は１つの参照ビュー内の最小予測ユニットの高さに等しい、例２に記載の方法。
【０３７９】
[0270]例７：  第１の値Ｍ１は１つの参照ビュー内の最小コーディングユニットの幅に等しく、第２の値Ｍ１は１つの参照ビュー内の最小コーディングユニットの高さに等しい、例２に記載の方法。
【０３８０】
[0271]例８：  第１の値Ｍ１はビデオデータの現在のブロックの幅に等しく、第２の値Ｍ１はビデオデータの現在のブロックの高さに等しい、例２に記載の方法。
【０３８１】
[0272]例９：  マージモード動きベクトル予測候補リストのための１つまたは複数の追加のビュー間予測動きベクトル候補を導出することは、追加の候補を生成せず、視差シフト動きベクトルを生成するために第１の利用可能な視差動きベクトルの水平成分だけ空間的に隣接するブロックから第１の利用可能な視差動きベクトルをシフトさせることと、視差シフト動きベクトルをマージモード動きベクトル予測候補リストに追加することとをさらに備える、例１に記載の方法。
【０３８２】
[0273]例１０：  １つまたは複数の追加のビュー間予測動きベクトル候補は、任意の空間的候補の後にマージモード動きベクトル予測候補リストに追加される、例１に記載の方法。
【０３８３】
[0274]例１１：  １つまたは複数の追加のビュー間予測動きベクトル候補は、時間的動きベクトル予測候補の後に追加される、例１０に記載の方法。
【０３８４】
[0275]例１２：  １つまたは複数の追加のビュー間予測動きベクトル候補は、時間的動きベクトル予測候補の前に追加される、例１０に記載の方法。
【０３８５】
[0276]例１３：  １つまたは複数の追加のビュー間予測動きベクトル候補のうちの一方は、時間的動きベクトル予測候補の後に追加され、１つまたは複数の追加のビュー間予測動きベクトル候補のうちの他方は、時間的動きベクトル予測候補の前に追加される、例１０に記載の方法。
【０３８６】
[0277]例１４：  ビデオデータの現在のブロックをコーディングする際に使用するためのマージモード動きベクトル予測候補リストのためのビュー間予測動きベクトル候補を導出するための手段と、マージモード動きベクトル予測候補リストのための１つまたは複数の追加のビュー間予測動きベクトル候補を導出するための手段と、ここにおいて、１つまたは複数の追加のビュー間予測動きベクトル候補は、ビデオデータの現在のブロックの１つまたは複数のシフト視差ベクトルから導出される、マージモード動きベクトル予測候補リストを使用してビデオデータの現在のブロックに関する動きベクトルをコーディングするための手段とを備える、ビデオデータをコーディングするように構成された装置。
【０３８７】
[0278]例１５：  例１〜１３に記載された方法の任意の組合せを実行するように構成されたビデオエンコーダ。
【０３８８】
[0279]例１６：  例１〜１３に記載された方法の任意の組合せを実行するように構成されたビデオデコーダ。
【０３８９】
[0280]例１７：  実行されると、ビデオデータを符号化するように構成されたデバイスの１つまたは複数のプロセッサに、例１〜１３に記載された方法の任意の組合せを実行させる命令を記憶する、コンピュータ可読記憶媒体。
【０３９０】
[0281]例１８：  実行されると、ビデオデータを復号するように構成されたデバイスの１つまたは複数のプロセッサに、例１〜１３に記載された方法の任意の組合せを実行させる命令を記憶する、コンピュータ可読記憶媒体。
【０３９１】
[0282]例１９：  本開示で説明する方法の任意の組合せ。
【０３９２】
[0283]例２０：  本開示で説明する方法のいずれか、またはそれらの組合せを実行するように構成されたデバイス。
【０３９３】
[0284]例に応じて、本明細書に記載される技法のうちの任意のもののいくつかの振る舞いまたは事象は、異なるシーケンスで実行され得、全体的に追加、結合、または除外され得ることが、認識されるべきである（たとえば、記載される振る舞いまたは事象のすべてが、この技法の実施のために必要であるとは限らない）。その上、いくつかの例では、振る舞いまたは事象は、たとえば、マルチスレッドの処理、割込み処理、または多数のプロセッサを用いて、連続的ではなく同時に実行され得る。
【０３９４】
[0285]本明細書に開示する方法、システムおよび装置と関連して説明する様々な例示的論理ブロック、モジュール、回路、およびアルゴリズムのステップは、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は認識するであろう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明する機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【０３９５】
[0286]さらに、本明細書で開示した例は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはその他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタロジック、個別ハードウェア構成要素などの電子デバイスまたは回路、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実施され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと併用される１つもしくは複数のマイクロプロセッサ、または他の任意のそのような構成として実装され得る。
【０３９６】
[0287]１つまたは複数の例では、述べられた機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで、実施されてもよい。ソフトウェアで実施される場合、諸機能は、１つまたは複数の命令またはコードとして、コンピュータ可読媒体を介して記憶または伝送され得、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を支援する任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、（１）非一時的である有形のコンピュータ可読記憶媒体または（２）信号またはキャリア波などの通信媒体に相当し得る。データ記憶媒体は、本開示に記載される技法の実施のために、１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによって、命令、コードおよび／またはデータ構造を取り出すためにアクセスされ得る、任意の利用できる媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
【０３９７】
[0288]例として、それに限定されず、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、フラッシュメモリ、または命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用可能であり、コンピュータによってアクセス可能な他の任意の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、キャリア波、信号、または他の一時的な媒体を含まないが、代わりに、非一時的な、有形の記憶媒体を対象とすることを理解されたい。本明細書において、ディスク（disk）およびディスク（disc）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタルバーサタイルディスク（ＤＶＤ）、フロッピー（登録商標）ディスクおよびブルーレイディスクを含み、この場合、ディスク（disk）は、通常、磁気的にデータを再生し、ディスク（disc）は、レーザーを用いてデータを光学的に再生する。上述したものの組合せも、コンピュータ可読媒体の範囲の中に含められるべきである。
【０３９８】
[0289]命令は、１つまたは複数のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の同等の統合された、もしくは個別の論理回路などの、１つまたは複数のプロセッサによって実行され得る。したがって、「プロセッサ」という用語は、本明細書において、前述の構造のうちの任意のものまたは本明細書に記載される技法の実施のために適当な任意の他の構造を参照し得る。加えて、いくつかの態様では、本明細書に記載される機能性は、符号化および復号のために構成され、または組み合わされたコーデックに組み込まれる、専用のハードウェア内および／またはソフトウェアモジュール内で提供され得る。また、技法は、１つまたは複数の回路または論理素子内で完全に実施されてよい。
【０３９９】
[0290]したがって、本明細書で開示する例に関して説明する方法またはアルゴリズムのステップは、直接ハードウェアで実施するか、プロセッサによって実行されるソフトウェアモジュールで実施するか、またはその２つの組合せで実施することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取外し可能ディスク、ＣＤ−ＲＯＭ、または、当技術分野で知られている他の任意の形の記憶媒体の中に存在してよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサに一体化され得る。プロセッサおよび記憶媒体は、ＡＳＩＣ中に存在してよい。ＡＳＩＣは、ユーザ端末中に存在してよい。代替形態では、プロセッサおよび記憶媒体は、ユーザ端末内の個別構成要素として存在し得る。
【０４００】
[0291]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）または１組のＩＣ（たとえば、チップセット）を含む、多種多様なデバイスまたは装置に実装され得る。様々な構成要素、モジュール、またはユニットは、開示された技法を実行するように構成されるデバイスの機能上の態様を強調するために、本開示に記載されるが、必ずしも異なるハードウェアユニットによる実現を求めるとは限らない。むしろ、上述したように、様々なユニットは、コーデックハードウェアユニットの中で組み合わされ、または、上述される１つまたは複数のプロセッサを含む、適当なソフトウェアおよび／またはファームウェアと一緒に相互作用するハードウェアユニットが集まったものによって提供され得る。
【０４０１】
[0292]様々な例が、述べられた。これらおよび他の例は、以下の特許請求の範囲の範囲内である。
【図１】
2016514927.tif 000003
【図２】
2016514927.tif 000004
【図３】
2016514927.tif 000005
【図４】
2016514927.tif 000006
【図５】
2016514927.tif 000007
【図６】
2016514927.tif 000008
【図７】
2016514927.tif 000009
【図８】
2016514927.tif 000010
【図９】
2016514927.tif 000011
【図１０】
2016514927.tif 000012
【図１１】
2016514927.tif 000013
【図１２】
2016514927.tif 000014
【図１３】
2016514927.tif 000015
【図１４Ａ】
2016514927.tif 000016
【図１４Ｂ】
2016514927.tif 000017
【図１５】
2016514927.tif 000018
【図１６】
2016514927.tif 000019
【図１７】
2016514927.tif 000020
【図１８】
2016514927.tif 000021
【図１９】
2016514927.tif 000022
【図２０】
2016514927.tif 000023
【手続補正書】
【提出日】平成27年12月16日(2015.12.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
前記ビデオデータの現在のブロックの視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによって、シフト視差ベクトルを決定することと、
参照ビュー内の対応するブロックを位置特定するために前記シフト視差ベクトルを使用することと、
前記対応するブロックの動き情報が利用不可能であることを決定するのに応答して、
視差シフト動きベクトル（ＤＳＭＶ）候補の動きベクトルを導出するために第３の値によって前記視差ベクトルの水平成分をシフトさせることと、前記ＤＳＭＶ候補の前記動きベクトルの水平成分のうちの少なくとも１つは、前記シフト視差ベクトルの水平成分とは異なるものである、または、前記ＤＳＭＶ候補の前記動きベクトルの垂直成分は、前記シフト視差ベクトルの垂直成分とは異なるものである、
前記ＤＳＭＶ候補をマージ候補リストに追加することとを備える、方法。
【請求項２】
前記ＤＳＭＶ候補の前記動きベクトルは、前記ＤＳＭＶ候補の第１の動きベクトルであり、前記現在のブロックの複数の空間的隣接ブロックのうちの少なくとも１つが視差動きベクトルを有するとき、前記方法は、
前記現在のブロックの前記複数の空間的隣接ブロック間で、前記ＤＳＭＶ候補の前記第１の動きベクトルを、特定の空間的隣接ブロックの第１の動きベクトルに設定することと、前記特定の空間的隣接ブロックの前記第１の動きベクトルは、第１の参照ピクチャリストに対応し、前記特定の空間的隣接ブロックの前記第１の動きベクトルは、前記複数の空間的隣接ブロック間の前記第１の利用可能な視差動きベクトルである、
前記ＤＳＭＶ候補の第２の動きベクトルを前記特定の空間的隣接ブロックの第２の動きベクトルに設定することと、ここにおいて、前記特定の空間的隣接ブロックの前記第２の動きベクトルは第２の参照ピクチャリストに対応する、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに対応する参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第２の動きベクトルに対応する参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記第３の値を加算し、それによって、前記ＤＳＭＶ候補を導出するために前記第１の利用可能な視差動きベクトルの前記水平成分を効果的にシフトさせることとを備える、請求項１に記載の方法。
【請求項３】
前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の第１の動きベクトルおよび前記ＤＳＭＶ候補の前記第２の動きベクトルを、前記現在のブロックの前記視差ベクトルに設定することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記第３の値を加算し、前記ＤＳＭＶ候補の前記第２の動きベクトルの水平成分に前記第３の値を加算することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記垂直成分と前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分とを０に設定することとをさらに備える、請求項２に記載の方法。
【請求項４】
前記現在のブロックの前記視差ベクトルを決定するために隣接ブロックに基づいてプロセスを実行することと、ここにおいて、前記プロセスは、前記現在のブロックの前記視差ベクトルとともに前記参照ビューを識別する、
前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する前記参照インデックスを、前記第１の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する前記参照インデックスを、前記第２の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定することとをさらに備える、請求項３に記載の方法。
【請求項５】
後方ワーピングビュー合成予測が、ピクチャ全体または現在のシーケンスに関して有効にされる場合、
前記ＤＳＭＶ候補の前記第１の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第１の動きベクトルの前記垂直成分を０に設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分を０に設定することとのうちの少なくとも１つを実行する、請求項２に記載の方法。
【請求項６】
前記第３の値が４に等しい、請求項２に記載の方法。
【請求項７】
前記ＤＳＭＶ候補を前記マージ候補リストに追加することは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記ＤＳＭＶ候補を前記マージ候補リストに追加することを備える、請求項１に記載の方法。
【請求項８】
前記現在のブロックは、第１のブロックであり、前記対応するブロックは、第１の対応するブロックであり、前記方法は、
前記参照ビュー中の第２の対応するブロックを位置特定するために、第２のブロックの視差ベクトルを使用することと、
前記第２の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第１のビュー間予測動きベクトル候補（ＩＰＭＶＣ）を前記第２のブロックに関するマージ候補リストに挿入することと、前記第１のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、
前記第２のブロックの前記視差ベクトルを第４の値によって水平に、第５の値によって垂直にシフトさせることによって第２のシフト視差ベクトルを決定することと、
前記参照ビュー中の第３の対応するブロックを位置特定するために前記第２のシフト視差ベクトルを使用することと、
前記第３の対応するブロックの前記動き情報が利用可能であり、前記第１のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第２のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入することと、ここにおいて、前記第２のＩＰＭＶＣは前記第３の対応するブロックの少なくとも１つの動きベクトルを示す、をさらに備える、請求項１に記載の方法。
【請求項９】
前記第２のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入することは、前記第２のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記第２のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入することを備える、請求項８に記載の方法。
【請求項１０】
前記現在のブロックは予測ユニット（ＰＵ）であり、前記第１の値は（（（Ｗ／２）*４）＋４）に等しく、前記第２の値は（（（Ｈ／２）*４）＋４）に等しく、ここにおいて、Ｗは前記現在のブロックの幅であり、Ｈは前記現在のブロックの高さである、請求項１に記載の方法。
【請求項１１】
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定することと、
前記選択されたマージ候補の動き情報を使用して前記現在のブロックに関する予測ブロックを生成することと、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成することとをさらに備える、請求項１に記載の方法。
【請求項１２】
ビデオデータを復号するための装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータの現在のブロックの視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによって、シフト視差ベクトルを決定し、
参照ビュー内の対応するブロックを位置特定するために前記シフト視差ベクトルを使用し、
前記対応するブロックの動き情報が利用不可能であることを決定するのに応答して、
視差シフト動きベクトル（ＤＳＭＶ）候補の動きベクトルを導出するために第３の値によって前記視差動きベクトルの水平成分をシフトさせ、前記ＤＳＭＶ候補の前記動きベクトルの水平成分のうちの少なくとも１つは、前記シフト視差ベクトルの水平成分とは異なるものである、または、前記ＤＳＭＶ候補の前記動きベクトルの垂直成分は、前記シフト視差ベクトルの垂直成分とは異なるものである、
前記ＤＳＭＶ候補をマージ候補リストに追加する
ように構成された１つまたは複数のプロセッサとを備える、装置。
【請求項１３】
前記ＤＳＭＶ候補の前記動きベクトルは、前記ＤＳＭＶ候補の第１の動きベクトルであり、前記１つまたは複数のプロセッサは、前記現在のブロックの複数の空間的隣接ブロックのうちの少なくとも１つが視差動きベクトルを有するとき、
前記現在のブロックの前記複数の空間的隣接ブロック間で、前記ＤＳＭＶ候補の第１の動きベクトルを、特定の空間的隣接ブロックの第１の動きベクトルに設定し、前記特定の空間的隣接ブロックの前記第１の動きベクトルは、第１の参照ピクチャリストに対応し、前記特定の空間的隣接ブロックの前記第１の動きベクトルは、前記複数の空間的隣接ブロック間の前記第１の利用可能な視差動きベクトルである、
前記ＤＳＭＶ候補の第２の動きベクトルを前記特定の空間的隣接ブロックの第２の動きベクトルに設定し、ここにおいて、前記特定の空間的隣接ブロックの前記第２の動きベクトルは第２の参照ピクチャリストに対応する、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに対応する参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第２の動きベクトルに対応する参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記第３の値を加算し、それによって、前記ＤＳＭＶ候補を導出するために前記第１の利用可能な視差動きベクトルの前記水平成分を効果的にシフトさせる
ように構成される、請求項１２に記載の装置。
【請求項１４】
前記１つまたは複数のプロセッサは、前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の第１の動きベクトルおよび前記ＤＳＭＶ候補の前記第２の動きベクトルを、前記現在のブロックの前記視差ベクトルに設定し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記第３の値を加算し、前記ＤＳＭＶ候補の前記第２の動きベクトルの水平成分に前記第３の値を加算し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記垂直成分と前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分とを０に設定するように構成される、請求項１３に記載の装置。
【請求項１５】
前記１つまたは複数のプロセッサは、
前記現在のブロックの前記視差ベクトルを決定するために隣接ブロックに基づいてプロセスを実行し、ここにおいて、前記ＮＢＤＶ導出プロセスは、前記現在のブロックの前記視差ベクトルとともに前記参照ビューを識別する、
前記第１の利用可能な視差動きベクトルが利用可能でないとき、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する前記参照インデックスを、前記第１の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する前記参照インデックスを、前記第２の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定するように構成される、請求項１４に記載の装置。
【請求項１６】
前記１つまたは複数のプロセッサは、後方ワーピングビュー合成予測が、ピクチャ全体または現在のシーケンスに関して有効にされる場合、
前記ＤＳＭＶ候補の前記第１の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第１の動きベクトルの前記垂直成分を０に設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分を０に設定することとのうちの少なくとも１つを実行するように構成される、請求項１３に記載の装置。
【請求項１７】
前記第３の値が４に等しい、請求項１３に記載の装置。
【請求項１８】
前記１つまたは複数のプロセッサは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記ＤＳＭＶ候補を前記マージ候補リストに追加するように構成される、請求項１２に記載の装置。
【請求項１９】
前記現在のブロックは、第１のブロックであり、前記対応するブロックは、第１の対応するブロックであり、前記１つまたは複数のプロセッサは、
前記参照ビュー中の第２の対応するブロックを位置特定するために、第２のブロックの視差ベクトルを使用し、
前記第２の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第１のビュー間予測動きベクトル候補（ＩＰＭＶＣ）を前記第２のブロックに関するマージ候補リストに挿入し、前記第１のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、
前記第２のブロックの前記視差ベクトルを第４の値によって水平に、第５の値によって垂直にシフトさせることによって第２のシフト視差ベクトルを決定し、
前記参照ビュー中の第３の対応するブロックを位置特定するために前記第２のシフト視差ベクトルを使用し、
前記第３の対応するブロックの前記動き情報が利用可能であり、前記第１のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第２のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入し、前記第２のＩＰＭＶＣは前記第３の対応するブロックの少なくとも１つの動きベクトルを示す、ようにさらに構成される、請求項１２に記載の装置。
【請求項２０】
前記１つまたは複数のプロセッサは、前記第２のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記第２のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入するように構成される、請求項１９に記載の装置。
【請求項２１】
前記現在のブロックは予測ユニット（ＰＵ）であり、前記第１の値は（（（Ｗ／２）*４）＋４）に等しく、前記第２の値は（（（Ｈ／２）*４）＋４）に等しく、ここにおいて、Ｗは前記現在のブロックの幅であり、Ｈは前記現在のブロックの高さである、請求項１２に記載の装置。
【請求項２２】
前記１つまたは複数のプロセッサは、
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定し、
前記選択されたマージ候補の動き情報を使用して前記現在のブロックに関する予測ブロックを生成し、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成するように構成される、請求項１２に記載の装置。
【請求項２３】
ビデオデータを復号するための装置であって、
前記ビデオデータの現在のブロックの視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによって、シフト視差ベクトルを決定するための手段と、
参照ビュー内の対応するブロックを位置特定するために前記シフト視差ベクトルを使用するための手段と、
前記対応するブロックの動き情報が利用不可能であることを決定するのに応答して、視差シフト動きベクトル（ＤＳＭＶ）候補の動きベクトルを導出するために第３の値によって前記視差ベクトルの水平成分をシフトさせるための手段と、前記ＤＳＭＶ候補の前記動きベクトルの水平成分のうちの少なくとも１つは、前記シフト視差ベクトルの水平成分とは異なるものである、または、前記ＤＳＭＶ候補の前記動きベクトルの垂直成分は、前記シフト視差ベクトルの垂直成分とは異なるものである、
前記対応するブロックの動き情報が利用不可能であることを決定するのに応答して、前記ＤＳＭＶ候補をマージ候補リストに追加するための手段とを備える、装置。
【請求項２４】
前記現在のブロックは、第１のブロックであり、前記対応するブロックは、第１の対応するブロックであり、前記装置は、
前記参照ビュー中の第２の対応するブロックを位置特定するために、第２のブロックの視差ベクトルを使用するための手段と、
前記第２の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第１のビュー間予測動きベクトル候補（ＩＰＭＶＣ）を前記第２のブロックのマージ候補リストに挿入するための手段と、ここにおいて、前記第１のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、
前記第２のブロックの前記視差ベクトルを第４の値によって水平に、第５の値によって垂直にシフトさせることによって第２のシフト視差ベクトルを決定するための手段と、
前記参照ビュー中の第３の対応するブロックを位置特定するために前記第２のシフト視差ベクトルを使用するための手段と、
前記第３の対応するブロックの前記動き情報が利用可能であり、前記第１のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第２のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入するための手段と、ここにおいて、前記第２のＩＰＭＶＣは前記第３の対応するブロックの少なくとも１つの動きベクトルを示す、をさらに備える、請求項２３に記載の装置。
【請求項２５】
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定するための手段と、
前記選択されたマージ候補の動き情報を使用して前記現在のブロックに関する予測ブロックを生成するための手段と、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成するための手段とをさらに備える、請求項２３に記載の装置。
【請求項２６】
前記装置は、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス
のうちの少なくとも１つを備える、請求項１２に記載の装置。
【請求項２７】
前記復号ビデオデータを表示するように構成されたディスプレイをさらに備える、請求項１２に記載の装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０４０１
【補正方法】変更
【補正の内容】
【０４０１】
[0292]様々な例が、述べられた。これらおよび他の例は、以下の特許請求の範囲の範囲内である。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータをコーディングする方法であって、
前記ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の利用可能な視差動きベクトルを決定することと、ここにおいて、前記第１の利用可能な視差動きベクトルは第１の参照ピクチャリストに対応する、
視差シフト動きベクトル（ＤＳＭＶ）候補を導出するために前記第１の利用可能な視差動きベクトルの水平成分をシフトさせることと、
前記ＤＳＭＶ候補をマージ候補リストに追加することとを備える、方法。
［Ｃ２］
前記空間的隣接ブロックは、特定の空間的隣接ブロックを含み、
前記第１の利用可能な視差動きベクトルは、前記特定の空間的隣接ブロックの第１の動きベクトルであり、
前記空間的隣接ブロックのうちの少なくとも１つが視差動きベクトルを有するとき、前記方法は、
前記ＤＳＭＶ候補の第１の動きベクトルを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに設定することと、
前記ＤＳＭＶ候補の第２の動きベクトルを前記特定の空間的隣接ブロックの第２の動きベクトルに設定することと、ここにおいて、前記特定の空間的隣接ブロックの前記第２の動きベクトルは第２の参照ピクチャリストに対応する、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに対応する参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第２の動きベクトルに対応する参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの水平成分にオフセットを加算し、それによって、前記ＤＳＭＶ候補を導出するために前記第１の利用可能な視差動きベクトルの前記水平成分を効果的にシフトさせることとを備える、Ｃ１に記載の方法。
［Ｃ３］
前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の第１の動きベクトルおよび前記ＤＳＭＶ候補の前記第２の動きベクトルを、前記現在のブロックの視差ベクトルに設定することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記オフセットを加算し、前記ＤＳＭＶ候補の前記第２の動きベクトルの水平成分に前記オフセットを加算することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの垂直成分と前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分とを０に設定することとをさらに備える、Ｃ２に記載の方法。
［Ｃ４］
前記現在のブロックの前記視差ベクトルを決定するために隣接ブロックに基づいてプロセスを実行することと、ここにおいて、前記プロセスは、前記現在のブロックの前記視差ベクトルとともに参照ビューを識別する、
前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する前記参照インデックスを、前記第１の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する前記参照インデックスを、前記第２の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定することとをさらに備える、Ｃ３に記載の方法。
［Ｃ５］
後方ワーピングビュー合成予測が、ピクチャ全体または現在のシーケンスに関して有効にされる場合、
前記ＤＳＭＶ候補の前記第１の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第１の動きベクトルの垂直成分を０に設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分を０に設定することとのうちの少なくとも１つを実行する、Ｃ２に記載の方法。
［Ｃ６］
前記オフセットが４に等しい、Ｃ２に記載の方法。
［Ｃ７］
前記ＤＳＭＶ候補を前記マージ候補リストに追加することは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記ＤＳＭＶ候補を前記マージ候補リストに追加することを備える、Ｃ１に記載の方法。
［Ｃ８］
参照ビュー中の第１の対応するブロックを位置特定するために、前記現在のブロックの視差ベクトルを使用することと、
前記第１の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第１のビュー間予測動きベクトル候補（ＩＰＭＶＣ）を前記マージ候補リストに挿入することと、前記第１のＩＰＭＶＣは前記第１の対応するブロックの少なくとも１つの動きベクトルを示す、
前記現在のブロックの前記視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによってシフト視差ベクトルを決定することと、
前記参照ビュー中の第２の対応するブロックを位置特定するために前記シフト視差ベクトルを使用することと、
前記第２の対応するブロックの前記動き情報が利用可能であり、前記第１のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第２のＩＰＭＶＣを前記マージ候補リストに挿入することと、ここにおいて、前記第２のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、をさらに備える、Ｃ１に記載の方法。
［Ｃ９］
前記第２のＩＰＭＶＣ候補を前記マージ候補リストに挿入することは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記第２のＩＰＭＶＣ候補を前記マージ候補リストに挿入することを備える、Ｃ８に記載の方法。
［Ｃ１０］
前記第２のＩＰＭＶＣが利用可能でないとき、前記ＤＳＭＶ候補を生成することをさらに備える、Ｃ８に記載の方法。
［Ｃ１１］
前記現在のブロックは予測ユニット（ＰＵ）であり、前記第１の値は（（（Ｗ／２）*４）＋４）に等しく、前記第２の値は（（（Ｈ／２）*４）＋４）に等しく、ここにおいて、Ｗは前記現在のブロックの幅であり、Ｈは前記現在のブロックの高さである、Ｃ８に記載の方法。
［Ｃ１２］
前記マージ候補リストからマージ候補を選択することと、
前記選択されたマージ候補の動き情報を使用して予測ブロックを生成することと、
ビットストリームにおいて、前記選択されたマージ候補のインデックスをシグナリングすることとをさらに備える、Ｃ１に記載の方法。
［Ｃ１３］
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定することと、
前記選択されたマージ候補の動き情報を使用して現在のブロックに関する予測ブロックを生成することと、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成することとをさらに備える、Ｃ１に記載の方法。
［Ｃ１４］
ビデオデータを記憶するメモリと、
前記ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の参照ピクチャリストに対応する第１の利用可能な視差動きベクトルを決定し、
視差シフト動きベクトル（ＤＳＭＶ）候補を導出するために前記第１の利用可能な視差動きベクトルの水平成分をシフトさせ、
前記ＤＳＭＶ候補をマージ候補リストに追加する
ように構成された１つまたは複数のプロセッサとを備える、装置。
［Ｃ１５］
前記空間的隣接ブロックは、特定の空間的隣接ブロックを含み、
前記第１の利用可能な視差動きベクトルは、前記特定の空間的隣接ブロックの第１の動きベクトルであり、
前記１つまたは複数のプロセッサは、前記空間的隣接ブロックのうちの少なくとも１つが視差動きベクトルを有するとき、
前記ＤＳＭＶ候補の第１の動きベクトルを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに設定し、
前記ＤＳＭＶ候補の第２の動きベクトルを前記特定の空間的隣接ブロックの第２の動きベクトルに設定し、ここにおいて、前記特定の空間的隣接ブロックの前記第２の動きベクトルは第２の参照ピクチャリストに対応する、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに対応する参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第２の動きベクトルに対応する参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの水平成分にオフセットを加算し、それによって、前記ＤＳＭＶ候補を導出するために前記第１の利用可能な視差動きベクトルの前記水平成分を効果的にシフトさせる
ように構成される、Ｃ１４に記載の装置。
［Ｃ１６］
前記１つまたは複数のプロセッサは、前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の第１の動きベクトルおよび前記ＤＳＭＶ候補の前記第２の動きベクトルを、前記現在のブロックの視差ベクトルに設定し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記オフセットを加算し、前記ＤＳＭＶ候補の前記第２の動きベクトルの水平成分に前記オフセットを加算し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの垂直成分と前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分とを０に設定するように構成される、Ｃ１５に記載の装置。
［Ｃ１７］
前記１つまたは複数のプロセッサは、
前記現在のブロックの前記視差ベクトルを決定するために隣接ブロックに基づいてプロセスを実行し、ここにおいて、前記ＮＢＤＶ導出プロセスは、前記現在のブロックの前記視差ベクトルとともに参照ビューを識別する、
前記第１の利用可能な視差動きベクトルが利用可能でないとき、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する前記参照インデックスを、前記第１の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する前記参照インデックスを、前記第２の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定するように構成される、Ｃ１６に記載の装置。
［Ｃ１８］
前記１つまたは複数のプロセッサは、後方ワーピングビュー合成予測が、ピクチャ全体または現在のシーケンスに関して有効にされる場合、
前記ＤＳＭＶ候補の前記第１の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第１の動きベクトルの垂直成分を０に設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分を０に設定することとのうちの少なくとも１つを実行するように構成される、Ｃ１５に記載の装置。
［Ｃ１９］
前記オフセットが４に等しい、Ｃ１５に記載の装置。
［Ｃ２０］
前記１つまたは複数のプロセッサは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記ＤＳＭＶ候補を前記マージ候補リストに追加するように構成される、Ｃ１４に記載の装置。
［Ｃ２１］
前記ＩＰＭＶＣが第１のＩＰＭＶＣであり、前記１つまたは複数のプロセッサは、
参照ビュー中の第１の対応するブロックを位置特定するために、前記現在のブロックの視差ベクトルを使用し、
前記第１の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第１のビュー間予測動きベクトル候補（ＩＰＭＶＣ）を前記マージ候補リストに挿入し、前記第１のＩＰＭＶＣは前記第１の対応するブロックの少なくとも１つの動きベクトルを示す、
前記現在のブロックの前記視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによってシフト視差ベクトルを決定し、
前記参照ビュー中の第２の対応するブロックを位置特定するために前記シフト視差ベクトルを使用し、
前記第２の対応するブロックの前記動き情報が利用可能であり、前記第１のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第２のＩＰＭＶＣを前記マージ候補リストに挿入し、前記第２のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、ようにさらに構成される、Ｃ１４に記載の装置。
［Ｃ２２］
前記１つまたは複数のプロセッサは、前記第２のＩＰＭＶＣが利用可能でないとき、前記ＤＳＭＶ候補を生成するように構成される、Ｃ２１に記載の装置。
［Ｃ２３］
前記１つまたは複数のプロセッサは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記第２のＩＰＭＶＣを前記マージ候補リストに挿入するように構成される、Ｃ２１に記載の装置。
［Ｃ２４］
前記現在のブロックは予測ユニット（ＰＵ）であり、前記第１の値は（（（Ｗ／２）*４）＋４）に等しく、前記第２の値は（（（Ｈ／２）*４）＋４）に等しく、ここにおいて、Ｗは前記現在のブロックの幅であり、Ｈは前記現在のブロックの高さである、Ｃ２１に記載の装置。
［Ｃ２５］
前記１つまたは複数のプロセッサは、
前記マージ候補リストからマージ候補を選択し、
前記選択されたマージ候補の動き情報を使用して予測ブロックを生成し、
ビットストリームにおいて、前記選択されたマージ候補のインデックスをシグナリングするように構成される、Ｃ１４に記載の装置。
［Ｃ２６］
前記１つまたは複数のプロセッサは、
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定し、
前記選択されたマージ候補の動き情報を使用して現在のブロックに関する予測ブロックを生成し、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成するように構成される、Ｃ１４に記載の装置。
［Ｃ２７］
前記ビデオデータの現在のブロックの空間的隣接ブロック間で、第１の参照ピクチャリストに対応する第１の利用可能な視差動きベクトルを決定するための手段と、
視差シフト動きベクトル（ＤＳＭＶ）候補を導出するために前記第１の利用可能な視差動きベクトルの水平成分をシフトさせるための手段と、
前記ＤＳＭＶ候補をマージ候補リストに追加するための手段とを備える、装置。
［Ｃ２８］
参照ビュー中の第１の対応するブロックを位置特定するために、前記現在のブロックの視差ベクトルを使用するための手段と、
前記第１の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第１のビュー間予測動きベクトル候補（ＩＰＭＶＣ）を前記マージ候補リストに挿入するための手段と、ここにおいて、前記第１のＩＰＭＶＣは前記第１の対応するブロックの少なくとも１つの動きベクトルを示す、
前記現在のブロックの前記視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによってシフト視差ベクトルを決定するための手段と、
前記参照ビュー中の第２の対応するブロックを位置特定するために前記シフト視差ベクトルを使用するための手段と、
前記第２の対応するブロックの前記動き情報が利用可能であり、前記第１のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第２のＩＰＭＶＣを前記マージ候補リストに挿入するための手段と、ここにおいて、前記第２のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、をさらに備える、Ｃ２７に記載の装置。
［Ｃ２９］
前記マージ候補リストからマージ候補を選択するための手段と、
前記選択されたマージ候補の動き情報を使用して予測ブロックを生成するための手段と、
ビットストリームにおいて、前記選択されたマージ候補のインデックスをシグナリングするための手段とをさらに備える、Ｃ２７に記載の装置。
［Ｃ３０］
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定するための手段と、
前記選択されたマージ候補の動き情報を使用して現在のブロックに関する予測ブロックを生成するための手段と、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成するための手段とをさらに備える、Ｃ２７に記載の装置。
【手続補正書】
【提出日】平成27年12月17日(2015.12.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、
前記ビデオデータの現在のブロックの視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによって、シフト視差ベクトルを決定することと、前記第１の値は、前記現在のブロックの幅の２倍に等しく、前記第２の値は、前記現在のブロックの高さの２倍に等しい、
参照ビュー内のビュー間参照ピクチャ内の対応するブロックの動き情報を示すビュー間予測動きベクトル候補（ＩＰＭＶＣ）を生成するために前記シフト視差ベクトルを使用することと、
前記ＩＰＭＶＣが利用不可能であることを決定するのに応答して、視差シフト動きベクトル（ＤＳＭＶ）候補をマージ候補リストに追加することと、前記視差ベクトルの水平成分は、前記ＤＳＭＶ候補の動きベクトルを導出するために第３の値によってシフトされ、前記第３の値は、４に等しい、を備える、方法。
【請求項２】
前記ＤＳＭＶ候補の前記動きベクトルは、前記ＤＳＭＶ候補の第１の動きベクトルであり、前記現在のブロックの複数の空間的隣接ブロックのうちの少なくとも１つが視差動きベクトルを有するとき、前記方法は、
前記現在のブロックの前記複数の空間的隣接ブロック間で、前記ＤＳＭＶ候補の前記第１の動きベクトルを、特定の空間的隣接ブロックの第１の動きベクトルに設定することと、前記特定の空間的隣接ブロックの前記第１の動きベクトルは、第１の参照ピクチャリストに対応し、前記特定の空間的隣接ブロックの前記第１の動きベクトルは、前記複数の空間的隣接ブロック間の前記第１の利用可能な視差動きベクトルである、
前記ＤＳＭＶ候補の第２の動きベクトルを前記特定の空間的隣接ブロックの第２の動きベクトルに設定することと、ここにおいて、前記特定の空間的隣接ブロックの前記第２の動きベクトルは第２の参照ピクチャリストに対応する、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに対応する参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第２の動きベクトルに対応する参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記第３の値を加算し、それによって、前記ＤＳＭＶ候補を導出するために前記第１の利用可能な視差動きベクトルの前記水平成分を効果的にシフトさせることとを備える、請求項１に記載の方法。
【請求項３】
前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の第１の動きベクトルおよび前記ＤＳＭＶ候補の前記第２の動きベクトルを、前記現在のブロックの前記視差ベクトルに設定することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記第３の値を加算し、前記ＤＳＭＶ候補の前記第２の動きベクトルの水平成分に前記第３の値を加算することと、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記垂直成分と前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分とを０に設定することとをさらに備える、請求項２に記載の方法。
【請求項４】
前記現在のブロックの前記視差ベクトルを決定するために隣接ブロックに基づいてプロセスを実行することと、ここにおいて、前記プロセスは、前記現在のブロックの前記視差ベクトルとともに前記参照ビューを識別する、
前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する前記参照インデックスを、前記第１の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する前記参照インデックスを、前記第２の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定することとをさらに備える、請求項３に記載の方法。
【請求項５】
後方ワーピングビュー合成予測が、ピクチャ全体または現在のシーケンスに関して有効にされる場合、
前記ＤＳＭＶ候補の前記第１の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第１の動きベクトルの前記垂直成分を０に設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分を０に設定することとのうちの少なくとも１つを実行する、請求項２に記載の方法。
【請求項６】
前記ＤＳＭＶ候補を前記マージ候補リストに追加することは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記ＤＳＭＶ候補を前記マージ候補リストに追加することを備える、請求項１に記載の方法。
【請求項７】
前記現在のブロックは、第１のブロックであり、前記対応するブロックは、第１の対応するブロックであり、前記ＩＰＭＶＣは、第１のＩＰＭＶＣであり、前記方法は、
前記参照ビュー中の第２の対応するブロックを位置特定するために、第２のブロックの視差ベクトルを使用することと、
前記第２の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第２のＩＰＭＶＣを前記第２のブロックに関するマージ候補リストに挿入することと、前記第２のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、
前記第２のブロックの前記視差ベクトルを第４の値によって水平に、第５の値によって垂直にシフトさせることによって第２のシフト視差ベクトルを決定することと、
前記参照ビュー中の第３の対応するブロックを位置特定するために前記第２のシフト視差ベクトルを使用することと、
前記第３の対応するブロックの前記動き情報が利用可能であり、前記第２のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第３のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入することと、ここにおいて、前記第３のＩＰＭＶＣは前記第３の対応するブロックの少なくとも１つの動きベクトルを示す、をさらに備える、請求項１に記載の方法。
【請求項８】
前記第３のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入することは、前記第２のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記第３のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入することを備える、請求項７に記載の方法。
【請求項９】
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定することと、
前記選択されたマージ候補の動き情報を使用して前記現在のブロックに関する予測ブロックを生成することと、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成することとをさらに備える、請求項１に記載の方法。
【請求項１０】
ビデオデータを復号するための装置であって、
前記ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータの現在のブロックの視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによって、シフト視差ベクトルを決定し、前記第１の値は、前記現在のブロックの幅の２倍に等しく、前記第２の値は、前記現在のブロックの高さの２倍に等しい、
参照ビュー内のビュー間参照ピクチャ内の対応するブロックの動き情報を示すビュー間予測動きベクトル候補（ＩＰＭＶＣ）を生成するために前記シフト視差ベクトルを使用し、
前記ＩＰＭＶＣが利用不可能であることを決定するのに応答して、視差シフト動きベクトル（ＤＳＭＶ）候補をマージ候補リストに追加する、前記視差ベクトルの水平成分は、前記ＤＳＭＶ候補の動きベクトルを導出するために第３の値によってシフトされ、前記第３の値は、４に等しい、
ように構成された１つまたは複数のプロセッサとを備える、装置。
【請求項１１】
前記ＤＳＭＶ候補の前記動きベクトルは、前記ＤＳＭＶ候補の第１の動きベクトルであり、前記１つまたは複数のプロセッサは、前記現在のブロックの複数の空間的隣接ブロックのうちの少なくとも１つが視差動きベクトルを有するとき、
前記現在のブロックの前記複数の空間的隣接ブロック間で、前記ＤＳＭＶ候補の第１の動きベクトルを、特定の空間的隣接ブロックの第１の動きベクトルに設定し、前記特定の空間的隣接ブロックの前記第１の動きベクトルは、第１の参照ピクチャリストに対応し、前記特定の空間的隣接ブロックの前記第１の動きベクトルは、前記複数の空間的隣接ブロック間の前記第１の利用可能な視差動きベクトルである、
前記ＤＳＭＶ候補の第２の動きベクトルを前記特定の空間的隣接ブロックの第２の動きベクトルに設定し、ここにおいて、前記特定の空間的隣接ブロックの前記第２の動きベクトルは第２の参照ピクチャリストに対応する、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第１の動きベクトルに対応する参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する参照インデックスを、前記特定の空間的隣接ブロックの前記第２の動きベクトルに対応する参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記第３の値を加算し、それによって、前記ＤＳＭＶ候補を導出するために前記第１の利用可能な視差動きベクトルの前記水平成分を効果的にシフトさせる
ように構成される、請求項１０に記載の装置。
【請求項１２】
前記１つまたは複数のプロセッサは、前記空間的隣接ブロックのいずれも視差動きベクトルを有しないとき、
前記ＤＳＭＶ候補の第１の動きベクトルおよび前記ＤＳＭＶ候補の前記第２の動きベクトルを、前記現在のブロックの前記視差ベクトルに設定し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記水平成分に前記第３の値を加算し、前記ＤＳＭＶ候補の前記第２の動きベクトルの水平成分に前記第３の値を加算し、
前記ＤＳＭＶ候補の前記第１の動きベクトルの前記垂直成分と前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分とを０に設定するように構成される、請求項１１に記載の装置。
【請求項１３】
前記１つまたは複数のプロセッサは、
前記現在のブロックの前記視差ベクトルを決定するために隣接ブロックに基づいてプロセスを実行し、ここにおいて、前記プロセスは、前記現在のブロックの前記視差ベクトルとともに前記参照ビューを識別する、
前記第１の利用可能な視差動きベクトルが利用可能でないとき、
前記ＤＳＭＶ候補の前記第１の動きベクトルに対応する前記参照インデックスを、前記第１の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定し、
前記ＤＳＭＶ候補の前記第２の動きベクトルに対応する前記参照インデックスを、前記第２の参照ピクチャリスト中にあり前記識別された参照ビューに属するピクチャの参照インデックスに設定するように構成される、請求項１２に記載の装置。
【請求項１４】
前記１つまたは複数のプロセッサは、後方ワーピングビュー合成予測が、ピクチャ全体または現在のシーケンスに関して有効にされる場合、
前記ＤＳＭＶ候補の前記第１の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第１の動きベクトルの前記垂直成分を０に設定することと、
前記ＤＳＭＶ候補の前記第２の動きベクトルが前記第１の利用可能な視差動きベクトルから導出されるとき、前記ＤＳＭＶ候補の前記第２の動きベクトルの垂直成分を０に設定することとのうちの少なくとも１つを実行するように構成される、請求項１１に記載の装置。
【請求項１５】
前記１つまたは複数のプロセッサは、前記現在のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記ＤＳＭＶ候補を前記マージ候補リストに追加するように構成される、請求項１０に記載の装置。
【請求項１６】
前記現在のブロックは、第１のブロックであり、前記対応するブロックは、第１の対応するブロックであり、前記ＩＰＭＶＣは、第１のＩＰＭＶＣであり、前記１つまたは複数のプロセッサは、
前記参照ビュー中の第２の対応するブロックを位置特定するために、第２のブロックの視差ベクトルを使用し、
前記第２の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第２のＩＰＭＶＣを前記第２のブロックに関するマージ候補リストに挿入し、前記第２のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、
前記第２のブロックの前記視差ベクトルを第４の値によって水平に、第５の値によって垂直にシフトさせることによって第２のシフト視差ベクトルを決定し、
前記参照ビュー中の第３の対応するブロックを位置特定するために前記第２のシフト視差ベクトルを使用し、
前記第３の対応するブロックの前記動き情報が利用可能であり、前記第２のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第３のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入し、前記第３のＩＰＭＶＣは前記第３の対応するブロックの少なくとも１つの動きベクトルを示す、ようにさらに構成される、請求項１０に記載の装置。
【請求項１７】
前記１つまたは複数のプロセッサは、前記第２のブロックの左上にある空間的隣接ブロックに関するマージ候補の直後に前記第３のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入するように構成される、請求項１６に記載の装置。
【請求項１８】
前記１つまたは複数のプロセッサは、
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定し、
前記選択されたマージ候補の動き情報を使用して前記現在のブロックに関する予測ブロックを生成し、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成するように構成される、請求項１０に記載の装置。
【請求項１９】
ビデオデータを復号するための装置であって、
前記ビデオデータの現在のブロックの視差ベクトルを第１の値によって水平に、第２の値によって垂直にシフトさせることによって、シフト視差ベクトルを決定するための手段と、前記第１の値は、前記現在のブロックの幅の２倍に等しく、前記第２の値は、前記現在のブロックの高さの２倍に等しい、
参照ビュー内のビュー間参照ピクチャ内の対応するブロックの動き情報を示すビュー間予測動きベクトル候補（ＩＰＭＶＣ）を生成するために前記シフト視差ベクトルを使用するための手段と、
前記ＩＰＭＶＣが利用不可能であることを決定するのに応答して、視差シフト動きベクトル（ＤＳＭＶ）候補をマージ候補リストに追加するための手段と、前記視差ベクトルの水平成分は、前記ＤＳＭＶ候補の動きベクトルを導出するために第３の値によってシフトされ、前記第３の値は、４に等しい、を備える、装置。
【請求項２０】
前記現在のブロックは、第１のブロックであり、前記対応するブロックは、第１の対応するブロックであり、前記ＩＰＭＶＣは、第１のＩＰＭＶＣであり、前記装置は、
前記参照ビュー中の第２の対応するブロックを位置特定するために、第２のブロックの視差ベクトルを使用するための手段と、
前記第２の対応するブロックの動き情報が利用可能であることを決定するのに応答して、第２のＩＰＭＶＣを前記第２のブロックのマージ候補リストに挿入するための手段と、ここにおいて、前記第２のＩＰＭＶＣは前記第２の対応するブロックの少なくとも１つの動きベクトルを示す、
前記第２のブロックの前記視差ベクトルを第４の値によって水平に、第５の値によって垂直にシフトさせることによって第２のシフト視差ベクトルを決定するための手段と、
前記参照ビュー中の第３の対応するブロックを位置特定するために前記第２のシフト視差ベクトルを使用するための手段と、
前記第３の対応するブロックの前記動き情報が利用可能であり、前記第２のＩＰＭＶＣの前記動き情報にマッチングしないことを決定することに応答して、第３のＩＰＭＶＣを前記第２のブロックに関する前記マージ候補リストに挿入するための手段と、ここにおいて、前記第３のＩＰＭＶＣは前記第３の対応するブロックの少なくとも１つの動きベクトルを示す、をさらに備える、請求項１９に記載の装置。
【請求項２１】
ビットストリームにおいてシグナリングされたインデックスに基づいて、前記マージ候補リスト中の選択されたマージ候補を決定するための手段と、
前記選択されたマージ候補の動き情報を使用して前記現在のブロックに関する予測ブロックを生成するための手段と、
前記予測ブロックに少なくとも部分的に基づいてピクセル値を再構成するための手段とをさらに備える、請求項１９に記載の装置。
【請求項２２】
前記装置は、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス
のうちの少なくとも１つを備える、請求項１０に記載の装置。
【請求項２３】
前記復号ビデオデータを表示するように構成されたディスプレイをさらに備える、請求項１０に記載の装置。
【国際調査報告】
2016514927.tif 000024
2016514927.tif 000025
2016514927.tif 000026
2016514927.tif 000027
2016514927.tif 000028