(57)【要約】      （修正有）【課題】３Ｄビデオデータをコーディングするための方法、デバイスを提供する。【解決手段】１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加すること１１０と、動きベクトル候補リストの中の１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別すること１１２と、視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定すること１１４と、ＤＳＭＶ候補を動きベクトル候補リストに追加すること１１６と、識別された候補に対応する動きベクトルを使用して、ビデオデータのブロックをコーディングすること１２０と、を行うように構成されたビデオコーダを含む。【選択図】図１０
2018164265.tif 000002
【特許請求の範囲】
【請求項１】
３次元（３Ｄ）ビデオデータを復号する方法であって、
１つまたは複数の動きベクトル候補を、動きベクトル候補リストに追加することと、  前記動きベクトル候補リストの中の前記１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、
前記視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定することと、
前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加することと、
ビデオデータのブロックに対して、前記動きベクトル候補リストからの候補を識別するインデックス値を受信することと、
前記識別された候補に対応する動きベクトルを使用して、ビデオデータの前記ブロックを復号することと、
を備える方法。
【請求項２】
３次元（３Ｄ）ビデオデータを符号化する方法であって、
１つまたは複数の動きベクトル候補を、動きベクトル候補リストに追加することと、  前記動きベクトル候補リストの中の前記１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、
前記視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定することと、
前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加することと、
ビデオデータのブロックに対して、ビデオデータの前記ブロックを符号化するための動きベクトルを決定することと、ここにおいて、前記動きベクトルは、前記動きベクトル候補リストの中の候補に対応し、
前記動きベクトル候補リストの中の前記候補を識別するシンタックス要素を生成することと
を備える方法。
【請求項３】
前記視差動きベクトル候補を識別することは、前記動きベクトル候補リストの中の最初のＮ個の候補から、第１の利用可能な視差動きベクトル候補を識別することを備え、ここにおいて、Ｎは候補の最大数よりも小さい整数である、請求項１または２に記載の方法。
【請求項４】
前記視差動きベクトル候補を識別することは、前記動きベクトル候補リストの中の最初のＮ個の候補から、参照ピクチャリストに対応する第１の利用可能な視差動きベクトル候補を識別することを備え、ここにおいて、Ｎが整数である、請求項１または２に記載の方法。
【請求項５】
Ｎは２に等しい、請求項３または４に記載の方法。
【請求項６】
最初のＮ個の候補は、１つまたは複数の仮想候補を備える、請求項３から５のいずれかに記載の方法。
【請求項７】
最初のＮ個の候補は、仮想候補を備えない、請求項３から５のいずれかに記載の方法。
【請求項８】
前記視差動きベクトル候補を識別することは、右下のビュー間予測動き（ＩＰＭＣ）候補が利用不可能であることに応答して実行される、請求項１から７のいずれかに記載の方法。
【請求項９】
前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加することは、前記動きベクトル候補リストの中で仮想候補よりも小さいインデックスを、前記ＤＭＳＶ候補に割り当てることを備える、請求項１から７のいずれかに記載の方法。
【請求項１０】
３次元（３Ｄ）ビデオデータを復号する方法であって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、
ビデオデータのブロックに対して、前記動きベクトル候補リストからの候補を識別するインデックス値を受信することと、
前記識別された候補に対応する動きベクトルを使用して、ビデオデータの前記ブロックを復号することと、
を備える方法。
【請求項１１】
３次元（３Ｄ）ビデオデータを符号化する方法であって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、
ビデオデータのブロックに対して、ビデオデータの前記ブロックを符号化するための動きベクトルを決定することと、ここにおいて、前記動きベクトルは、前記動きベクトル候補リストの中の候補に対応し、
前記動きベクトル候補リストの中の前記候補を識別するシンタックス要素を生成することと、
を備える方法。
【請求項１２】
前記一時的動きベクトル候補リストに含めるための１つまたは複数の仮想候補を生成することをさらに備え、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、前記１つまたは複数の仮想候補、および前記１つまたは複数の追加候補は、前記動きベクトル候補リストの中の候補の前記最大数よりも多くの候補を備える、
請求項１０または１１に記載の方法。
【請求項１３】
前記第１の動きベクトル候補または第２の動きベクトル候補のうちの１つまたは複数を、除去のためにマークすることと、
前記マークされた候補を除去することと、
をさらに備える請求項１０から１２のいずれかに記載の方法。
【請求項１４】
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、請求項１０から１３のいずれかに記載の方法。
【請求項１５】
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、請求項１０から１４のいずれかに記載の方法。
【請求項１６】
前記１つまたは複数の追加候補は、ビュー間予測動き候補および右下のビュー間予測動き候補のうちの１つまたは複数を備える、請求項１０から１５のいずれかに記載の方法。
【請求項１７】
３次元（３Ｄ）ビデオデータを復号する方法であって、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加することと、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加することと、
視差ベクトルに基づいて、追加候補を決定することと、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、
ビデオデータのブロックに対して、前記動きベクトル候補リストからの候補を識別するインデックス値を受信することと、
前記識別された候補に対応する動きベクトルを使用して、ビデオデータの前記ブロックを復号することと、
を備える方法。
【請求項１８】
３次元（３Ｄ）ビデオデータを符号化する方法であって、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加することと、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加することと、
視差ベクトルに基づいて、追加候補を決定することと、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、
ビデオデータのブロックに対して、前記動きベクトル候補リストからの候補を識別するインデックス値を受信することと、
ビデオデータのブロックに対して、ビデオデータの前記ブロックを符号化するための動きベクトルを決定することと、ここにおいて、前記動きベクトルは、前記動きベクトル候補リストの中の候補に対応し、
前記動きベクトル候補リストの中の前記候補を識別するシンタックス要素を生成することと、
を備える方法。
【請求項１９】
前記追加候補が、前記１つもしくは複数の空間隣接ブロック候補のうちの１つ、または前記１つもしくは複数の時間隣接ブロック候補のうちの１つ、と同じであることに応答して、前記追加候補を利用不可能としてマークすることと、
前記追加候補を除去することと、
をさらに備える請求項１７または１８に記載の方法。
【請求項２０】
前記追加候補を、前記動きベクトル候補リストの中の第２の固定位置からの第２の候補と比較すること、
をさらに備える請求項１７から１９のいずれかに記載の方法。
【請求項２１】
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、請求項１７から２０のいずれかに記載の方法。
【請求項２２】
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、請求項１７から２１のいずれかに記載の方法。
【請求項２３】
前記１つまたは複数の追加候補は、ビュー間予測動きベクトル候補を備える、請求項１７から２２のいずれかに記載の方法。
【請求項２４】
前記１つまたは複数の追加候補は、右下のビュー間予測動きベクトル候補を備える、請求項１７から２３のいずれかに記載の方法。
【請求項２５】
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加することと、前記動きベクトル候補リストの中の前記１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、前記視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定することと、前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加することと、前記識別された候補に対応する動きベクトルを使用して、ビデオデータのブロックをコーディングすることと、を行うように構成されたビデオコーダを備えるデバイス。
【請求項２６】
前記ビデオコーダは、前記動きベクトル候補リストの中の最初のＮ個の候補から、第１の利用可能な視差動きベクトル候補を識別することによって、前記視差動きベクトル候補を識別するようにさらに構成され、ここにおいて、Ｎは候補の最大数よりも小さい整数である、請求項２５に記載のデバイス。
【請求項２７】
前記ビデオコーダは、前記動きベクトル候補リストの中の最初のＮ個の候補から、参照ピクチャリストに対応する第１の利用可能な視差動きベクトル候補を識別することによって、前記視差動きベクトル候補を識別するようにさらに構成され、ここにおいて、Ｎは整数である、請求項２５または２６に記載のデバイス。
【請求項２８】
Ｎは２に等しい、請求項２６または２７に記載のデバイス。
【請求項２９】
最初のＮ個の候補は、１つまたは複数の仮想候補を備える、請求項２６から２８のいずれかに記載のデバイス。
【請求項３０】
最初のＮ個の候補は、仮想候補を備えない、請求項２６から２８のいずれかに記載のデバイス。
【請求項３１】
前記ビデオコーダは、右下のビュー間予測動き（ＩＰＭＣ）候補が利用不可能であることに応答して、前記視差動きベクトル候補を識別するようにさらに構成される、請求項２５から３０のいずれかに記載のデバイス。
【請求項３２】
前記ビデオコーダは、前記動きベクトル候補リストの中で仮想候補よりも小さいインデックスを前記ＤＭＳＶ候補に割り当てることによって、前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加するようにさらに構成される、請求項２５から３１のいずれかに記載のデバイス。
【請求項３３】
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、を行うように構成されたビデオコーダを備えるデバイス。
【請求項３４】
前記ビデオコーダは、前記一時的動きベクトル候補リストに含めるための１つまたは複数の仮想候補を生成するようにさらに構成され、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、前記１つまたは複数の仮想候補、および前記１つまたは複数の追加候補は、前記動きベクトル候補リストの中の候補の前記最大数よりも多くの候補を備える、請求項３３に記載のデバイス。
【請求項３５】
前記ビデオコーダは、前記第１の動きベクトル候補または第２の動きベクトル候補のうちの１つまたは複数を、除去のためにマークし、前記マークされた候補を除去するようにさらに構成される、請求項３３または３４に記載のデバイス。
【請求項３６】
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、請求項３３から３５のいずれかに記載のデバイス。
【請求項３７】
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、請求項３３から３６のいずれかに記載のデバイス。
【請求項３８】
前記１つまたは複数の追加候補は、ビュー間予測動き候補および右下のビュー間予測動き候補のうちの１つまたは複数を備える、請求項３３から３７のいずれかに記載のデバイス。
【請求項３９】
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加することと、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加することと、視差ベクトルに基づいて、追加候補を決定することと、前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、を行うように構成されたビデオコーダを備えるデバイス。
【請求項４０】
前記ビデオコーダは、前記追加候補が、前記１つもしくは複数の空間隣接ブロック候補のうちの１つ、または前記１つもしくは複数の時間隣接ブロック候補のうちの１つ、と同じであることに応答して、前記追加候補を利用不可能としてマークし、前記追加候補を除去するようにさらに構成される、請求項３９に記載のデバイス。
【請求項４１】
前記ビデオコーダは、前記追加候補を、前記動きベクトル候補リストの中の第２の固定位置からの第２の候補と比較するようにさらに構成される、請求項３９または４０に記載のデバイス。
【請求項４２】
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、請求項３９から４１のいずれかに記載のデバイス。
【請求項４３】
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、請求項３９から４２のいずれかに記載のデバイス。
【請求項４４】
前記１つまたは複数の追加候補は、ビュー間予測動き候補を備える、請求項３９から４３のいずれかに記載のデバイス。
【請求項４５】
前記ビデオコーダは、ビデオエンコーダを備える、請求項２５から４４のいずれかに記載のデバイス。
【請求項４６】
前記ビデオコーダは、ビデオデコーダを備える、請求項２５から４４のいずれかに記載のデバイス。
【請求項４７】
前記デバイスは、
集積回路、
マイクロプロセッサ、および
前記ビデオコーダを含むワイヤレス通信デバイス
のうちの少なくとも１つを備える、請求項２５から４６のいずれかに記載のデバイス。
【請求項４８】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加することと、
前記動きベクトル候補リストの中の前記１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、
前記視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定することと、
前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加することと、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングすることと、
を行わせる、コンピュータ可読記憶媒体。
【請求項４９】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングすることと、
を行わせる、コンピュータ可読記憶媒体。
【請求項５０】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加することと、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加することと、
視差ベクトルに基づいて、追加候補を決定することと、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、
を行わせる、コンピュータ可読記憶媒体。
【請求項５１】
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加するための手段と、
前記動きベクトル候補リストの中の前記１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別するための手段と、
前記視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定するための手段と、
前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加するための手段と、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータの前記ブロックをコーディングするための手段と、
を備えるデバイス。
【請求項５２】
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析するための手段と、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析するための手段と、  前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定するための手段と、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備える、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去するための手段と、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、
を備えるデバイス。
【請求項５３】
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加するための手段と、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加するための手段と、
視差ベクトルに基づいて、追加候補を決定するための手段と、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較するための手段と、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、
を備えるデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオの符号化および復号に関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信、および記憶するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）によって定義された規格、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。
【０００３】
[0003]Ｈ．２６４／ＡＶＣを含む上述の規格のうちのいくつかの拡張は、ステレオビデオまたは３次元（「３Ｄ」）ビデオを生成するために、マルチビュービデオコーディングのための技法を提供し得る。特に、マルチビューコーディングのための技法が、（Ｈ．２６４／ＡＶＣに対するスケーラブル拡張である）スケーラブルビデオコーディング（ＳＶＣ：scalable video coding）規格、および（Ｈ．２６４／ＡＶＣに対するマルチビュー拡張になっている）マルチビュービデオコーディング（ＭＶＣ：multi-view video coding）規格とともに、ＡＶＣにおいて使用するために提案されている。
【０００４】
[0004]一般に、ステレオビデオは、２つのビュー、たとえば、左ビューと右ビューとを使用して実現される。３次元ビデオ効果を実現するために、左ビューのピクチャが右ビューのピクチャと実質的に同時に表示され得る。たとえば、ユーザは、左ビューを右ビューからフィルタ処理する偏光パッシブ眼鏡を着用し得る。代替的に、２つのビューのピクチャが高速で連続して示されてもよく、ユーザは、同じ頻度で、ただし位相が９０度シフトして左眼と右眼とを迅速に閉じるアクティブ眼鏡を着用し得る。
【発明の概要】
【０００５】
[0005]本開示は、動きベクトル候補リストを利用する、マージモードおよび／または高度動きベクトル予測（ＡＭＶＰ：advanced motion vector prediction）のためなどの、３Ｄ−ＨＥＶＣコーディングプロセスのための動きベクトル候補導出および新たな候補の追加の簡略化に関する。
【０００６】
[0006]一例では、３次元（３Ｄ）ビデオデータを復号する方法は、１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加することと、動きベクトル候補リストの中の１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ：disparity shifted motion vector）候補を決定することと、ＤＳＭＶ候補を動きベクトル候補リストに追加することと、ビデオデータのブロックに対して、動きベクトル候補リストからの候補を識別するインデックス値を受信することと、識別された候補に対応する動きベクトルを使用して、ビデオデータのブロックを復号することとを含む。
【０００７】
[0007]別の例では、３次元（３Ｄ）ビデオデータを符号化する方法は、１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加することと、動きベクトル候補リストの中の１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定することと、ＤＳＭＶ候補を動きベクトル候補リストに追加することと、ビデオデータのブロックに対して、ビデオデータのブロックを符号化するための動きベクトルを決定することと、ここにおいて、動きベクトルは、動きベクトル候補リストの中の候補に対応し、動きベクトル候補リストの中の候補を識別するシンタックス要素を生成することと、を含む。
【０００８】
[0008]別の例では、３Ｄビデオデータを復号する方法は、一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、１つまたは複数の第１の動きベクトル候補、１つまたは複数の第２の動きベクトル候補、および１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、一時的動きベクトル候補リストから除去することと、ビデオデータのブロックに対して、動きベクトル候補リストからの候補を識別するインデックス値を受信することと、識別された候補に対応する動きベクトルを使用して、ビデオデータのブロックを復号することと、を含む。
【０００９】
[0009]別の例では、３Ｄビデオデータを符号化する方法は、一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、１つまたは複数の第１の動きベクトル候補、１つまたは複数の第２の動きベクトル候補、および１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、一時的動きベクトル候補リストから除去することと、ビデオデータのブロックに対して、ビデオデータのブロックを符号化するための動きベクトルを決定することと、ここにおいて、動きベクトルは、動きベクトル候補リストの中の候補に対応し、動きベクトル候補リストの中の候補を識別するシンタックス要素を生成することと、を含む。
【００１０】
[0010]別の例では、３Ｄビデオデータを復号する方法は、１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加することと、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加することと、視差ベクトルに基づいて、追加候補を決定することと、追加候補を、動きベクトル候補リストの中の固定位置からの候補と比較することと、ビデオデータのブロックに対して、動きベクトル候補リストからの候補を識別するインデックス値を受信することと、識別された候補に対応する動きベクトルを使用して、ビデオデータのブロックを復号することと、を含む。
【００１１】
[0011]別の例では、３Ｄビデオデータを符号化する方法は、１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加することと、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加することと、視差ベクトルに基づいて、追加候補を決定することと、追加候補を、動きベクトル候補リストの中の固定位置からの候補と比較することと、ビデオデータのブロックに対して、動きベクトル候補リストからの候補を識別するインデックス値を受信することと、ビデオデータのブロックに対して、ビデオデータのブロックを符号化するための動きベクトルを決定することと、ここにおいて、動きベクトルは、動きベクトル候補リストの中の候補に対応し、動きベクトル候補リストの中の候補を識別するシンタックス要素を生成することと、を含む。
【００１２】
[0012]別の例では、３Ｄビデオデータのためのデバイスは、１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加することと、動きベクトル候補リストの中の１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定することと、ＤＳＭＶ候補を動きベクトル候補リストに追加することと、識別された候補に対応する動きベクトルを使用して、ビデオデータのブロックをコーディングすることと、を行うように構成されたビデオコーダを含む。
【００１３】
[0013]別の例では、３Ｄビデオデータのためのデバイスは、一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、１つまたは複数の第１の動きベクトル候補、１つまたは複数の第２の動きベクトル候補、および１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、一時的動きベクトル候補リストから除去することと、を行うように構成されたビデオコーダを含む。
【００１４】
[0014]別の例では、３Ｄビデオデータのためのデバイスは、１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加することと、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加することと、視差ベクトルに基づいて、追加候補を決定することと、追加候補を、動きベクトル候補リストの中の固定位置からの候補と比較することと、を行うように構成されたビデオコーダを含む。
【００１５】
[0015]別の例では、コンピュータ可読記憶媒体は、１つまたは複数のプロセッサによって実行されたとき、１つまたは複数のプロセッサに、１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加することと、動きベクトル候補リストの中の１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定することと、ＤＳＭＶ候補を動きベクトル候補リストに追加することとをさせる命令を記憶する。
【００１６】
[0016]別の例では、コンピュータ可読記憶媒体は、１つまたは複数のプロセッサによって実行されたとき、１つまたは複数のプロセッサに、一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、１つまたは複数の第１の動きベクトル候補、１つまたは複数の第２の動きベクトル候補、および１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、一時的動きベクトル候補リストから除去することと、をさせる命令を記憶する。
【００１７】
[0017]別の例では、コンピュータ可読記憶媒体は、１つまたは複数のプロセッサによって実行されたとき、１つまたは複数のプロセッサに、１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加することと、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加することと、視差ベクトルに基づいて、追加候補を決定することと、追加候補を、動きベクトル候補リストの中の固定位置からの候補と比較することと、をさせる命令を記憶する。
【００１８】
[0018]別の例では、３Ｄビデオデータをコーディングするためのデバイスは、１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加するための手段と、動きベクトル候補リストの中の１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別するための手段と、視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定するための手段と、ＤＳＭＶ候補を動きベクトル候補リストに追加するための手段と、動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、を含む。
【００１９】
[0019]別の例では、３Ｄビデオデータをコーディングするためのデバイスは、一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析するための手段と、一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析するための手段と、一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、現在ブロックのための視差ベクトルに基づいて決定するための手段と、ここにおいて、１つまたは複数の第１の動きベクトル候補、１つまたは複数の第２の動きベクトル候補、および１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、一時的動きベクトル候補リストから除去するための手段と、動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、を含む。
【００２０】
[0020]別の例では、３Ｄビデオデータをコーディングするためのデバイスは、１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加するための手段と、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加するための手段と、視差ベクトルに基づいて、追加候補を決定するための手段と、追加候補を動きベクトル候補リストの中の固定位置からの候補と比較するための手段と、動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、を含む。
【００２１】
[0021]１つまたは複数の例の詳細が以下の添付の図面および説明に記載されている。他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００２２】
【図１】本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】例示的なマルチビュー復号順序を示す概念図。
【図３】マルチビューコーディングのための例示的な予測構造を示す概念図。
【図４】コーディングユニットに対する空間動きベクトルネイバーを示す図。
【図５】サブＰＵレベルビュー間動き予測のための例示的な予測構造を示す図。
【図６】隣接ブロックを使用する後方ビュー合成予測（ＢＶＳＰ：backward view synthesis prediction）に関する技法を示す概念図。
【図７】１つの８×８深度ブロックの４つのコーナーピクセルを示す図。
【図８】本開示で説明する技法を実施するように構成されたビデオエンコーダの一例を示す図。
【図９】本開示で説明する技法を実施するように構成されたビデオデコーダの一例を示す図。
【図１０】本開示の技法による、ビデオデータを復号する例示的な方法を示すフローチャート。
【図１１】本開示の技法による、ビデオデータを符号化する例示的な方法を示すフローチャート。
【図１２】本開示の技法による、ビデオデータを復号する例示的な方法を示すフローチャート。
【図１３】本開示の技法による、ビデオデータを符号化する例示的な方法を示すフローチャート。
【図１４】本開示の技法による、ビデオデータを復号する例示的な方法を示すフローチャート。
【図１５】本開示の技法による、ビデオデータを符号化する例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００２３】
[0037]本開示は、動きベクトル候補リストを利用する、マージモードおよび／または高度動きベクトル予測（ＡＭＶＰ：advanced motion vector prediction）のためなどの、３Ｄ−ＨＥＶＣコーディングプロセスのための動きベクトル候補導出および新たな候補の追加の簡略化に関する。動きベクトル候補リストは、本明細書では候補リストとも呼ばれ、マージモードを指すとき、マージ候補リストまたはマージリストと呼ばれることもある。ビデオエンコーダは、同じビューの異なる時間インスタンスのピクチャ間の、または異なるビューの同じ時間インスタンスのピクチャ間の冗長性を低減するために、インター予測を実行し得る。以下で説明するように、コーディングユニット（ＣＵ）は複数の予測ユニット（ＰＵ）を有し得る。言い換えれば、複数のＰＵがＣＵに属し得る。ビデオエンコーダがインター予測を実行するとき、ビデオエンコーダは、ＰＵのための動き情報をシグナリングし得る。ＰＵの動き情報は、たとえば、参照ピクチャインデックス、動きベクトル、および予測方向インジケータを含み得る。
【００２４】
[0038]時間動きベクトルは、異なる時間インスタンスであるが同じビューからの参照フレームにおける、ＰＵのビデオブロックとＰＵの参照ブロックとの間の変位を示し得る。視差動きベクトル（ＤＭＶ）は、同じ時間インスタンスであるが異なるビューからの参照フレームにおける、ＰＵのビデオブロックとＰＵの参照ブロックとの間の変位を示し得る。したがって、ＰＵの参照ブロックは、ＰＵのビデオブロックと類似の参照ピクチャの一部分であり得る。参照ブロックは、参照ピクチャインデックスおよび予測方向インジケータによって示される参照ピクチャの中で位置を特定され得る。
【００２５】
[0039]ＰＵの動き情報を表すのに必要とされるビット数を低減するために、ビデオエンコーダは、マージモードまたは高度動きベクトル予測（ＡＭＶＰ）プロセスに従って、ＰＵの各々のための候補リストを生成し得る。ＰＵのための候補リストの中の各候補は、動き情報を示し得る。候補リストの中の候補のうちのいくつかによって示される動き情報は、他のＰＵの動き情報に基づき得る。たとえば、ＨＥＶＣマージモードの場合、５つの空間候補ロケーションおよび１つの時間候補ロケーションがあり得る。後で説明するように、ビデオデコーダはまた、ＰＵのための視差ベクトルに基づいて、１つまたは複数の動きベクトル候補（３Ｄ−ＨＥＶＣ候補）を決定し得る。いくつかの例では、ビデオエンコーダは、すでに決定された候補からの部分的な動きベクトルを組み合わせること、候補を修正すること、または単にゼロ動きベクトルを候補として挿入することによって、追加候補を生成し得る。これらの追加候補は、元の候補であるものと見なされず、本開示では仮想候補と呼ばれることがある。
【００２６】
[0040]本開示の技法は、一般に、ビデオエンコーダにおいて候補リストを生成するための技法、およびビデオデコーダにおいて同じ候補リストを生成するための技法に関する。ビデオエンコーダおよびビデオデコーダは、候補リストを構成するための同じ技法を実施することによって、同じ候補リストを生成することができる。たとえば、ビデオエンコーダとビデオデコーダの両方は、同じ数の候補（たとえば、マージモード用の５つまたは６つの候補、およびＡＭＶＰモード用の２つまたは３つの候補）を有するリストを構成し得る。
【００２７】
[0041]ＣＵの１つのＰＵのための候補リストを生成した後、ビデオエンコーダは、候補リストから候補を選択し得、候補インデックスをビットストリームの中に出力し得る。選択された候補は、コーディングされているターゲットＰＵに最もぴったり一致する予測ブロックを指す動きベクトルを有する候補であり得る。候補インデックスは、候補リストの中での選択された候補の位置を示し得る。ビデオエンコーダはまた、ＰＵの動き情報によって示される参照ブロックに基づいて、ＰＵのための予測ビデオブロックを生成し得る。ＰＵの動き情報は、選択された候補によって示される動き情報に基づいて決定可能であり得る。たとえば、マージモードでは、ＰＵの動き情報は、選択された候補によって示される動き情報と同じであり得る。ＡＭＶＰモードでは、ＰＵの動き情報は、ＰＵの動きベクトル差分、および選択された候補によって示される動き情報に基づいて決定され得る。ビデオエンコーダは、ＣＵのＰＵの予測ビデオブロック、およびＣＵのための元のビデオブロックに基づいて、ＣＵのための１つまたは複数の残差ビデオブロックを生成し得る。ビデオエンコーダは、次いで、１つまたは複数の残差ビデオブロックを、符号化するとともにビットストリームの中に出力し得る。
【００２８】
[0042]ビットストリームは、ＰＵの候補リストの中の選択された候補を識別するデータを含み得る。ビデオデコーダは、ＰＵの候補リストの中の選択された候補によって示される動き情報に基づいて、ＰＵの動き情報を決定し得る。ビデオデコーダは、ＰＵの動き情報に基づいて、ＰＵのための１つまたは複数の参照ブロックを識別し得る。ＰＵの１つまたは複数の参照ブロックを識別した後、ビデオデコーダは、ＰＵの１つまたは複数の参照ブロックに基づいて、ＰＵのための予測ビデオブロックを生成し得る。ビデオデコーダは、ＣＵのＰＵのための予測ビデオブロック、およびＣＵのための１つまたは複数の残差ビデオブロックに基づいて、ＣＵのためのビデオブロックを再構成し得る。
【００２９】
[0043]説明を簡単にするために、本開示は、ロケーションまたはビデオブロックを、ＣＵまたはＰＵと様々な空間関係を有するものとして説明することがある。そのような説明は、ロケーションまたはビデオブロックが、ＣＵまたはＰＵに関連付けられたビデオブロックと様々な空間関係を有することを意味すると解釈され得る。さらに、本開示は、ビデオコーダが現在コーディングしているＰＵを現在ＰＵと呼ぶことがある。本開示は、ビデオコーダが現在コーディングしているＣＵを現在ＣＵと呼ぶことがある。本開示は、ビデオコーダが現在コーディングしているピクチャを現在ピクチャと呼ぶことがある。
【００３０】
[0044]本開示は、概して、ベースのＨＥＶＣ仕様に記載されているマージモードおよびＡＭＶＰモードを指すために、ＨＥＶＣマージモードまたはＨＥＶＣ  ＡＭＶＰモードという用語を使用する。本開示は、概して、新興の３Ｄ−ＨＥＶＣ規格に記載されているマージモードおよびＡＭＶＰモードを指すために、３Ｄ−ＨＥＶＣマージモードおよび３Ｄ  ＡＭＶＰモードという用語を使用する。３Ｄ−ＨＥＶＣマージモードは、候補リストを生成することの一部としてＨＥＶＣマージモードを使用し得るが、３Ｄ−ＨＥＶＣマージモードは、３Ｄ−ＨＥＶＣマージモード候補リストを生成するようにＨＥＶＣマージモード候補リストを修正し得る。３Ｄ−ＨＥＶＣマージモードを実施するとき、たとえば、ビデオコーダは、ＨＥＶＣ候補を再配置し得、候補をＨＥＶＣ候補に追加し得、または候補をＨＥＶＣ候補から除去し得る。さらに、３Ｄ−ＨＥＶＣマージリストはＨＥＶＣ候補と３Ｄ−ＨＥＶＣ候補の両方を含んでよいが、ＨＥＶＣ候補リストはＨＥＶＣ候補のみを含む。ＨＥＶＣ候補および３Ｄ−ＨＥＶＣ候補という用語は、概して、どのように候補が識別されるのかを指し、必ずしもどのタイプの動き情報（たとえば、時間またはビュー間）を候補が含むのかを暗示するとは限らない。
【００３１】
[0045]添付の図面は例を示す。添付の図面で参照番号によって示される要素は、以下の説明において同様の参照番号によって示される要素に対応する。本開示では、序数語（たとえば、「第１の」、「第２の」、「第３の」など）で始まる名称を有する要素は、必ずしもそれらの要素が特定の順序を有することを意味するとは限らない。むしろ、そのような序数語は、同じまたは同様のタイプの異なる要素を指すために使用されるにすぎない。
【００３２】
[0046]図１は、本開示で説明する動きベクトル候補リスト生成技法を実行するように構成され得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後の時間において復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォン、いわゆる「スマート」パッドなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００３３】
[0047]システム１０は、異なるビデオコーディング規格、プロプライエタリ（proprietary）規格、またはマルチビューコーディングの任意の他の方法に従って動作し得る。下記は、ビデオコーディング規格の数例を説明し、限定と見なされるべきではない。ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌと、それのスケーラブルビデオコーディング（ＳＶＣ）拡張およびマルチビュービデオコーディング（ＭＶＣ）拡張を含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４とを含む。ＭＶＣの最新のジョイントドラフトは、「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１０年３月に記載されており、その内容全体が参照により本明細書に組み込まれる。ＭＶＣの別のジョイントドラフトは、「Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ」、ＩＴＵ−Ｔ勧告Ｈ．２６４、２０１１年６月に記載されており、その内容全体が参照により本明細書に組み込まれる。いくつかの追加のビデオコーディング規格は、ＡＶＣに基づく、ＭＶＣ＋Ｄと３Ｄ−ＡＶＣとを含む。さらに、新たなビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）が、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣモーションピクチャエキスパートグループ（ＭＰＥＧ：Motion Picture Experts Group）とのビデオコーディング共同研究部会（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発されている。
【００３４】
[0048]単に例示のために、本開示で説明する技法のうちのいくつかは、３Ｄ−ＨＥＶＣビデオコーディング規格による例を用いて説明される。ただし、本開示で説明する技法は、これらの例示的な規格に限定されると見なされるべきではなく、マルチビューコーディングもしくは３Ｄビデオコーディングのための他のビデオコーディング規格（たとえば、３Ｄ−ＡＶＣ）、または必ずしも特定のビデオコーディング規格に基づくとは限らないマルチビューコーディングもしくは３Ｄビデオコーディングに関連する技法に拡張可能であり得る。たとえば、本開示で説明する技法は、マルチビューコーディングのためのビデオエンコーダ／デコーダ（コーデック）によって実施され、ここで、マルチビューコーディングは、２つ以上のビューのコーディングを含む。
【００３５】
[0049]宛先デバイス１４は、リンク１６を介して、復号されるべき符号化ビデオデータを受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４へ符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、リンク１６は、ソースデバイス１２が符号化ビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され得、宛先デバイス１４へ送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路などの、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースのネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を容易にするために有用であり得る任意の他の機器を含み得る。
【００３６】
[0050]代替的に、符号化データは、出力インターフェース２２からストレージデバイス３４に出力されてもよい。同様に、符号化データは、入力インターフェースによってストレージデバイス３４からアクセスされてもよい。ストレージデバイス３４は、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体などの、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス３４は、ソースデバイス１２によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに相当し得る。宛先デバイス１４は、ストレージデバイス３４からストリーミングまたはダウンロードを介して、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶すること、およびその符号化ビデオデータを宛先デバイス１４へ送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイト用の）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む任意の標準的なデータ接続を通じて符号化ビデオデータにアクセスし得る。このことは、ファイルサーバに記憶されている符号化ビデオデータにアクセスするのに好適なワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。ストレージデバイス３４からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【００３７】
[0051]本開示の技法は、必ずしもワイヤレスの適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話のような適用例をサポートするために、一方向または双方向のビデオ伝送をサポートするように構成され得る。
【００３８】
[0052]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。以下でより詳細に説明するように、ビデオエンコーダ２０は、本開示で説明する技法を実行するように構成され得る。いくつかの場合、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き携帯電話またはビデオ付き携帯電話を形成し得る。しかしながら、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤードの適用例に適用され得る。
【００３９】
[0053]キャプチャされたビデオ、プリキャプチャされたビデオ、またはコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４へ直接送信され得る。符号化ビデオデータは同じく（または代替的に）、復号および／または再生のために宛先デバイス１４または他のデバイスによって後でアクセスできるように、ストレージデバイス３４に記憶されてもよい。
【００４０】
[0054]宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。以下でより詳細に説明するように、ビデオデコーダ３０は、本開示で説明する技法を実行するように構成され得る。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介して符号化ビデオデータを受信する。リンク１６を介して通信されるかまたはストレージデバイス３４上で提供される符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ３０などのビデオデコーダによって使用するための、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信される符号化ビデオデータとともに含められてよく、記憶媒体上に記憶されてよく、またはファイルサーバに記憶されてもよい。
【００４１】
[0055]ディスプレイデバイス３２は、宛先デバイス１４と統合されてよく、または宛先デバイス１４の外部にあってもよい。いくつかの例では、宛先デバイス１４は、集積ディスプレイデバイスを含んでよく、また、外部ディスプレイデバイスとインターフェースするように構成されてもよい。他の例では、宛先デバイス１４は、ディスプレイデバイスであってもよい。一般に、ディスプレイデバイス３２は、復号ビデオデータをユーザに表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備え得る。
【００４２】
[0056]図１に示さないが、いくつかの態様では、ビデオデコーダ３０は各々、オーディオエンコーダおよびデコーダと統合されてよく、共通のデータストリームまたは別個のデータストリームの中でオーディオとビデオの両方の符号化を処理するのに適切なＭＵＸ−ＤＥＭＵＸユニットまたは他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４３】
[0057]ビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなどの、様々な好適なエンコーダ回路機構のいずれかとして実装され得る。たとえば、本開示で説明する技法は、装置またはデバイスの観点から説明されることがある。一例として、装置またはデバイスは、ビデオデコーダ３０（たとえば、ワイヤレス通信デバイスの一部としての宛先デバイス１４）を含み得、ビデオデコーダ３０は、本開示で説明する技法を実施する（たとえば、本開示で説明する技法に従ってビデオデータを復号する）ように構成された１つまたは複数のプロセッサを含み得る。別の例として、装置またはデバイスは、ビデオデコーダ３０を含むマイクロプロセッサまたは集積回路（ＩＣ）を含んでよく、マイクロプロセッサまたはＩＣは、宛先デバイス１４または別のタイプのデバイスの一部であってよい。同じことが、ビデオエンコーダ２０に対して適用され得る（すなわち、ソースデバイス１２のような装置もしくはデバイス、および／またはマイクロコントローラもしくはＩＣがビデオエンコーダ２０を含み、ここで、ビデオエンコーダ２０は、本開示で説明する技法に従ってビデオデータを符号化するように構成される）。
【００４４】
[0058]本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し得、本開示の技法を実行するために１つまたは複数のプロセッサを使用するハードウェアで命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれてよく、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００４５】
[0059]ビデオシーケンスは、一般に、ビューからの一連のビデオピクチャを含む。ピクチャグループ（ＧＯＰ：group of pictures）は、一般に、一連の１つまたは複数のビデオピクチャを備える。ＧＯＰは、ＧＯＰの中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダの中、ＧＯＰの１つもしくは複数のピクチャのヘッダの中、または他の場所に含め得る。各ピクチャは、それぞれのピクチャのための符号化モードを記述するピクチャシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオピクチャ内のビデオブロックに対して動作する。ビデオブロックは、Ｈ．２６４規格において規定されるように、マクロブロック、マクロブロックのパーティション、および場合によってはパーティションのサブブロックに相当し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定されたコーディング規格に従ってサイズが異なり得る。各ビデオピクチャは、複数のスライスを含み得る。各スライスは、複数のブロックを含み得る。
【００４６】
[0060]一例として、ＩＴＵ−Ｔ  Ｈ．２６４規格は、ルーマ成分については１６×１６、８×８、または４×４、およびクロマ成分については８×８などの、様々なブロックサイズのイントラ予測をサポートし、同様に、ルーマ成分については１６×１６、１６×８、８×１６、８×８、８×４、４×８、および４×４、ならびにクロマ成分については対応するスケーリングされたサイズなどの、様々なブロックサイズのインター予測をサポートする。本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するブロックのピクセル寸法（たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセル）を指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセル（ｙ＝１６）と、水平方向に１６ピクセル（ｘ＝１６）とを有する。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ個のピクセルと、水平方向にＮ個のピクセルとを有し、ここで、Ｎは非負整数値を表す。ブロックの中のピクセルは、行および列をなして配置され得る。さらに、ブロックは、必ずしも水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備えてよく、ここで、Ｍは必ずしもＮに等しいとは限らない。
【００４７】
[0061]ブロックがイントラモード符号化（たとえば、イントラ予測）されるとき、ブロックは、ブロックのためのイントラ予測モードを記述するデータを含み得る。別の例として、ブロックがインターモード符号化（たとえば、インター予測）されるとき、ブロックは、ブロックのための動きベクトルを定義する情報を含み得る。この動きベクトルは、同じビューの中の参照ピクチャを指すか（たとえば、時間動きベクトル）、または別のビューの中の参照ピクチャを指す（たとえば、視差動きベクトル）。ブロックのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分と、動きベクトルの垂直成分と、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）とを記述する。加えて、インター予測されるとき、ブロックは、動きベクトルが指す参照ピクチャなどの参照インデックス情報、および／または動きベクトルのための参照ピクチャリスト（たとえば、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）を含み得る。
【００４８】
[0062]Ｈ．２６４規格では、イントラ予測またはインター予測コーディングに続いて、ビデオエンコーダ２０は、マクロブロックのための残差データを計算する。残差データは、符号化されていないピクチャのピクセルと、Ｈ．２６４におけるマクロブロックのための予測値との間のピクセル差分に相当し得る。
【００４９】
[0063]いくつかの例では、変換係数を生成するための任意の変換に続いて、ビデオエンコーダ２０は、変換係数の量子化を実行する。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化される、さらなる圧縮をもたらすプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減する。たとえば、量子化の間にｎビット値がｍビット値に丸められ、ただし、ｎはｍよりも大きい。
【００５０】
[0064]いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用する。他の例では、ビデオエンコーダ２０は適応走査を実行する。１次元ベクトルを形成するために量子化変換係数を走査した後、いくつかの例では、ビデオエンコーダ２０は、いくつかの例として、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って、１次元ベクトルをエントロピー符号化する。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０によって使用するための、符号化ビデオデータに関連するシンタックス要素をエントロピー符号化する。
【００５１】
[0065]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの近隣値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボル用の可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように、構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボル用の等長コードワードを使用することにまさるビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【００５２】
[0066]ビデオデコーダ３０は、ビデオエンコーダ２０の技法の逆を実施する。たとえば、ビデオデコーダ３０は、符号化ビデオビットストリームを復号し、逆量子化および逆変換によって残差ブロックを決定する。ビデオデコーダ３０は、ピクチャ内のブロックのためのピクセル値を決定するために、前に復号されたピクチャのブロックに残差ブロックを加算する。
【００５３】
[0067]本開示で説明するいくつかの技法は、ビデオエンコーダ２０とビデオデコーダ３０の両方によって実行され得る。一例として、ビデオエンコーダ２０は、どのようにビデオデータのブロックを符号化すべきかを決定することの一部として動きベクトル候補リストを生成し得、および／またはビデオエンコーダにおける復号ループの一部として動きベクトル候補リストを生成し得る。ビデオデコーダ３０は、ビデオブロックを復号することの一部として、ビデオエンコーダ２０によって実行される同じ動きベクトル候補リスト生成技法を実行し得る。本開示は、時々、本開示で説明するいくつかの動きベクトル候補リスト生成技法を実行するビデオデコーダ３０を指すことがある。ただし、別段に記載されていない限り、そのような技法がビデオエンコーダ２０によって実行され得ることも理解されたい。
【００５４】
[0068]上記で説明したように、本開示で説明する技法は３Ｄビデオコーディングを対象とする。本技法をよりよく理解するために、下記は、いくつかのＨ．２６４／ＡＶＣコーディング技法、Ｈ．２６４／ＭＶＣ拡張および高効率ビデオコーディング（ＨＥＶＣ）規格の観点からのマルチビュービデオコーディング、ならびに３Ｄ−ＡＶＣ技法を説明する。
【００５５】
[0069]Ｈ．２６４／アドバンスビデオコーディング（ＡＶＣ）の場合、ビデオ符号化または復号（たとえば、コーディング）はマクロブロック上で実施され、ここで、マクロブロックは、インター予測またはイントラ予測（すなわち、インター予測符号化もしくは復号、またはイントラ予測符号化もしくは復号）されるフレームの一部分を表す。たとえば、Ｈ．２６４／ＡＶＣでは、各インターマクロブロック（ＭＢ）（たとえば、インター予測されたマクロブロック）は、４つの異なる方法で、すなわち、１つの１６×１６ＭＢパーティション、２つの１６×８ＭＢパーティション、２つの８×１６ＭＢパーティション、または４つの８×８ＭＢパーティションに区分され得る。１つのＭＢにおける異なるＭＢパーティションは、方向ごとに異なる参照インデックス値（すなわち、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）を有し得る。１つのＭＢが複数の（１よりも多い）ＭＢパーティションに区分されないとき、そのＭＢは、各方向に、ＭＢパーティション全体のための１つの動きベクトルのみを有する。
【００５６】
[0070]ビデオコーディング（符号化または復号）の一部として、ビデオエンコーダ２０およびビデオデコーダ３０は、ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１と呼ばれる１つまたは２つの参照ピクチャリストを構成するように構成され得る。参照ピクチャリストは、フレームまたはスライスのマクロブロックをインター予測するために使用され得る参照ピクチャを識別する。たとえば、ビデオエンコーダ２０は、参照インデックスと参照ピクチャリスト識別子とをシグナリングし得る。ビデオデコーダ３０は、参照インデックスと参照ピクチャリスト識別子とを受信し得、参照インデックスおよび参照ピクチャリスト識別子から、現在のマクロブロックをインター予測復号するために使用されるべきである参照ピクチャを決定し得る。
【００５７】
[0071]１つのＭＢが４つの８×８ＭＢパーティションに区分されるとき、各８×８ＭＢパーティションはサブブロックにさらに区分され得る。サブブロック、すなわち、１つの８×８サブブロック、２つの８×４サブブロック、２つの４×８サブブロック、または４つの４×４サブブロックを、８×８ＭＢパーティションから得るための４つの異なる方法がある。各サブブロックは、各方向で異なる動きベクトルを有し得るが、各方向に対して同じ参照ピクチャインデックスを共有する。８×８ＭＢパーティションがサブブロックに区分される方法は、サブブロック区分と称される。
【００５８】
[0072]本開示は、概して、ビデオデータの任意のブロックを指すために、ブロックという用語を使用する。たとえば、Ｈ．２６４コーディングおよびそれの拡張のコンテキストにおいて、ブロックは、マクロブロック、マクロブロックパーティション、サブブロック、または任意の他のタイプのブロックのいずれかを指し得る。ＨＥＶＣおよびそれの拡張のコンテキストにおいて、ブロックは、ＰＵ、ＴＵ、ＣＵ、または任意の他のタイプのブロックのいずれかを指し得る。本開示で使用するサブブロックは、概して、より大きいブロックの任意の部分を指す。サブブロックはまた、それ自体が単にブロックと呼ばれ得る。
【００５９】
[0073]マルチビュービデオコーディングの場合、複数の異なるビデオコーディング規格がある。混乱を避けるために、本開示がマルチビュービデオコーディングを概略的に説明するとき、本開示は「マルチビュービデオコーディング」という句を使用する。概して、マルチビュービデオコーディングでは、ベースビューおよび１つまたは複数の非ベースビューまたは依存（dependent）ビューがある。ベースビューは、依存ビューのいずれかの参照なしに十分に復号可能である（すなわち、ベースビューは、時間動きベクトルを用いてインター予測されるにすぎない）。このことは、マルチビュービデオコーディングのために構成されていないコーデックが、完全に復号可能である少なくとも１つのビューをなお受信することを可能にする（すなわち、ベースビューが抽出され得るとともに他のビューが破棄されてよく、マルチビュービデオコーディングのために構成されていないデコーダが、３Ｄエクスペリエンスがないにもかかわらず、ビデオコンテンツをなお復号することを可能にする）。１つまたは複数の依存ビューは、ベースビューに関してもしくは別の依存ビューに関してインター予測（すなわち、視差補償予測）され得るか、または同じビューの中の他のピクチャに関してインター予測（すなわち、動き補償予測）され得る。
【００６０】
[0074]「マルチビュービデオコーディング」が一般的に使用されるが、頭文字ＭＶＣはＨ．２６４／ＡＶＣの拡張に関連する。したがって、本開示が頭文字ＭＶＣを使用するとき、本開示は、特にＨ．２６４／ＡＶＣビデオコーディング規格の拡張を指している。Ｈ．２６４／ＡＶＣのＭＶＣ拡張は、時間動きベクトルに加えて、別のタイプの動きベクトルとして視差動きベクトルに依拠する。ＭＶＣプラス深度（ＭＶＣ＋Ｄ）と呼ばれる別のビデオコーディング規格も、ＪＣＴ−３ＶおよびＭＰＥＧによって開発されている。ＭＶＣ＋Ｄは、テクスチャと深度の両方に対してＭＶＣのものと同じ低レベルコーディングツールを適用し、深度の復号はテクスチャの復号に依存せず、その逆も同様である。たとえば、ＭＶＣでは、フレームは、テクスチャビューコンポーネントまたは単にテクスチャと呼ばれる１つのビューコンポーネントのみによって表される。ＭＶＣ＋Ｄでは、２つのビューコンポーネント、すなわち、テクスチャビューコンポーネントおよび深度ビューコンポーネント、または単にテクスチャおよび深度がある。たとえば、ＭＶＣ＋Ｄでは、各ビューはテクスチャビューと深度ビューとを含み、ここで、ビューは複数のビューコンポーネントを含み、テクスチャビューは複数のテクスチャビューコンポーネントを含み、深度ビューは複数の深度ビューコンポーネントを含む。
【００６１】
[0075]各テクスチャビューコンポーネントは、ビューのビューコンポーネントを形成するために、深度ビューコンポーネントに関連付けられる。深度ビューコンポーネントは、テクスチャビューコンポーネントにおける対象物の相対深度を表す。ＭＶＣ＋Ｄでは、深度ビューコンポーネントおよびテクスチャビューコンポーネントは、別々に復号可能である。たとえば、ビデオデコーダ３０は、第１のコーデックがテクスチャビューコンポーネントを復号するとともに第２のコーデックが深度ビューコンポーネントを復号する、ＭＶＣコーデックの２つのインスタンスを実装し得る。これらの２つのコーデックは、テクスチャビューコンポーネントおよび深度ビューコンポーネントが別々に符号化されるので、互いに独立して実行することができる。
【００６２】
[0076]ＭＶＣ＋Ｄでは、深度ビューコンポーネントは、常に、関連する（たとえば、対応する）テクスチャビューコンポーネントの直後にくる。このようにして、ＭＶＣ＋Ｄは、テクスチャビューコンポーネントが深度ビューコンポーネントよりも前に復号される、テクスチャ優先コーディングをサポートする。
【００６３】
[0077]テクスチャビューコンポーネントおよびそれの関連する（たとえば、対応する）深度ビューコンポーネントは、同じピクチャ順序カウント（ＰＯＣ：picture order count）値とｖｉｅｗ＿ｉｄとを含み得る（すなわち、テクスチャビューコンポーネントおよびそれの関連する深度ビューコンポーネントのＰＯＣ値およびｖｉｅｗ＿ｉｄは同じである）。ＰＯＣ値は、テクスチャビューコンポーネントの表示順序を示し、ｖｉｅｗ＿ｉｄは、テクスチャビューコンポーネントおよび深度ビューコンポーネントが属するビューを示す。
【００６４】
[0078]図２は、一般的なＭＶＣ復号順序（すなわち、ビットストリーム順序）を示す。復号順序配置は、時間優先コーディングとして参照される。アクセスユニットの復号順序が出力順序または表示順序と同じでない場合があることに留意されたい。図２では、Ｓ０〜Ｓ７は各々、マルチビュービデオの異なるビューを指す。Ｔ０〜Ｔ８は各々、１つの出力時間インスタンスを表す。アクセスユニットは、１つの出力時間インスタンスに対するすべてのビューのコード化ピクチャを含み得る。たとえば、第１のアクセスユニットは、時間インスタンスＴ０に対するビューＳ０〜Ｓ７のすべてを含み得、第２のアクセスユニットは時間インスタンスＴ１に対するビューＳ０〜Ｓ７のすべてを含み得、以下同様である。
【００６５】
[0079]簡潔のために、本開示は以下の定義を使用し得る。
【００６６】
ビューコンポーネント：単一のアクセスユニットの中のビューのコード化表現。ビューがコード化テクスチャ表現とコード化深度表現の両方を含むとき、ビューコンポーネントは、テクスチャビューコンポーネントと深度ビューコンポーネントとを含み得る。
【００６７】
テクスチャビューコンポーネント：単一のアクセスユニットの中のビューのテクスチャのコード化表現。
【００６８】
深度ビューコンポーネント：単一のアクセスユニットの中のビューの深度のコード化表現。
【００６９】
[0080]上記で説明したように、本開示のコンテキストでは、ビューコンポーネント、テクスチャビューコンポーネント、および深度ビューコンポーネントは、一般にレイヤと呼ばれることがある。図２では、ビューの各々はピクチャのセットを含む。たとえば、ビューＳ０はピクチャ０、８、１６、２４、３２、４０、４８、５６、および６４のセットを含み、ビューＳ１はピクチャ１、９、１７、２５、３３、４１、４９、５７、および６５のセットを含み、以下同様である。各セットは２つのピクチャを含み、一方のピクチャはテクスチャビューコンポーネントと呼ばれ、他方のピクチャは深度ビューコンポーネントと呼ばれる。ビューのピクチャのセット内のテクスチャビューコンポーネントおよび深度ビューコンポーネントは、互いに対応するものと見なされてよい。たとえば、ビューのピクチャのセット内のテクスチャビューコンポーネントは、そのビューのピクチャのセット内の深度ビューコンポーネントに対応するものと見なされ、その逆も同様である（すなわち、深度ビューコンポーネントは、セットの中のそれのテクスチャビューコンポーネントに対応し、その逆も同様である）。本開示で使用するとき、深度ビューコンポーネントに対応するテクスチャビューコンポーネントは、テクスチャビューコンポーネントおよび深度ビューコンポーネントが単一のアクセスユニットの同じビューの一部であるものと見なされてよい。
【００７０】
[0081]テクスチャビューコンポーネントは、表示される実際の画像コンテンツを含む。たとえば、テクスチャビューコンポーネントは、ルーマ（Ｙ）成分とクロマ（ＣｂおよびＣｒ）成分とを含み得る。深度ビューコンポーネントは、それの対応するテクスチャビューコンポーネントの中のピクセルの相対深度を示し得る。１つの例示的なアナロジーとして、深度ビューコンポーネントは、ルーマ値のみを含むグレースケール画像のようである。言い換えれば、深度ビューコンポーネントは、画像コンテンツを搬送しない場合があり、むしろテクスチャビューコンポーネントの中のピクセルの相対深度の尺度を提供し得る。
【００７１】
[0082]たとえば、深度ビューコンポーネントの中の純白のピクセルは、対応するテクスチャビューコンポーネントの中のそれの対応する１つまたは複数のピクセルが閲覧者から見てより近いことを示し、深度ビューコンポーネントの中の純黒のピクセルは、対応するテクスチャビューコンポーネントの中のそれの対応する１つまたは複数のピクセルが閲覧者から見てより遠いことを示す。黒と白との中間にあるグレーの様々な陰影は、異なる深度レベルを示す。たとえば、深度ビューコンポーネントの中の濃いグレーのピクセルは、テクスチャビューコンポーネントの中のそれの対応するピクセルが深度ビューコンポーネントの中の薄いグレーのピクセルよりも遠いことを示す。ピクセルの深度を識別するためにグレースケールのみが必要とされるので、深度ビューコンポーネントに対する色値がいかなる目的も果たし得ないことから、深度ビューコンポーネントはクロマ成分を含む必要がない。上記の説明は、深度画像をテクスチャ画像に関係付けるためのアナロジーであることを意図する。深度画像の中の深度値は、実際にはグレーの陰影を表さず、実際には、８ビットまたは他のビットサイズの深度値を表す。
【００７２】
[0083]深度を識別するためにルーマ値（たとえば、強度値）のみを使用する深度ビューコンポーネントは、説明のために与えられており限定と見なされるべきでない。他の例では、テクスチャビューコンポーネントの中のピクセルの相対深度を示すために、任意の技法が利用され得る。
【００７３】
[0084]図３は、マルチビュービデオコーディングのための（各ビュー内のインターピクチャ予測と、ビューの間でのビュー間予測の両方を含む）一般的なＭＶＣ予測構造を示す。予測方向は矢印によって示され、矢印の終点のオブジェクトは矢印の始点のオブジェクトを予測参照として使用する。ＭＶＣでは、視差動き補償によってビュー間予測がサポートされ、視差動き補償は、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが、異なるビューの中のピクチャが参照ピクチャとして使用されることを可能にする。
【００７４】
[0085]図３の例では、８つのビュー（ビューＩＤ「Ｓ０」〜「Ｓ７」を有する）が示され、１２個の時間ロケーション（「Ｔ０」〜「Ｔ１１」）がビューごとに示される。すなわち、図３における各行がビューに対応し、各列が時間ロケーションを示す。
【００７５】
[0086]ＭＶＣがＨ．２６４／ＡＶＣデコーダによって復号可能であるいわゆるベースビューを有し、ステレオビューペアもＭＶＣによってサポートされ得るが、ＭＶＣの利点は、３Ｄビデオ入力として３つ以上のビューを使用するとともに複数のビューによって表されるこの３Ｄビデオを復号する例を、ＭＶＣがサポートできることである。ＭＶＣデコーダを有するクライアントのレンダラは、複数のビューを有する３Ｄビデオコンテンツを予期し得る。
【００７６】
[0087]図３におけるピクチャは、各行と各列との交差に示される。Ｈ．２６４／ＡＶＣ規格は、ビデオの一部分を表すためにフレームという用語を使用することがある。本開示は、ピクチャという用語とフレームという用語とを互換的に使用することがある。
【００７７】
[0088]図３におけるピクチャは、文字を含むブロックを使用して示され、その文字は、対応するピクチャがイントラコーディングされるのか（すなわち、Ｉピクチャであるのか）、それとも一方向に（すなわち、Ｐピクチャとして）または複数の方向に（すなわち、Ｂピクチャとして）インターコーディングされるのかを指定する。概して、予測は矢印によって示され、ここで、矢印の終点のピクチャは矢印の始点のピクチャを予測参照のために使用する。たとえば、時間ロケーションＴ０におけるビューＳ２のＰピクチャは、時間ロケーションＴ０におけるビューＳ０のＩピクチャから予測される。
【００７８】
[0089]シングルビュービデオ符号化の場合と同様に、マルチビュービデオコーディングのビデオシーケンスのピクチャは、異なる時間ロケーションにおけるピクチャに関して予測的に符号化され得る。たとえば、時間ロケーションＴ１におけるビューＳ０のｂピクチャは、時間ロケーションＴ０におけるビューＳ０のＩピクチャからそのｂピクチャに向けられた矢印を有し、その矢印は、ｂピクチャがＩピクチャから予測されることを示す。しかしながら、加えて、マルチビュービデオ符号化のコンテキストにおいて、ピクチャはビュー間予測され得る。すなわち、ビューコンポーネントは、他のビューの中のビューコンポーネントを参照のために使用することができる。ＭＶＣでは、たとえば、別のビューの中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット（ＳＰＳ：Sequence Parameter Set）のＭＶＣ拡張においてシグナリングされ、インター予測参照またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。ビュー間予測はまた、３Ｄ−ＨＥＶＣ（マルチビュープラス深度）を含む、ＨＥＶＣの提案されたマルチビュー拡張の特徴である。
【００７９】
[0090]図３は、ビュー間予測の様々な例を提供する。図３の例では、ビューＳ１のピクチャは、ビューＳ１の異なる時間ロケーションにおけるピクチャから予測されるものとして、ならびに同じ時間ロケーションにおけるビューＳ０およびＳ２のピクチャからビュー間予測されるものとして示される。たとえば、時間ロケーションＴ１におけるビューＳ１のｂピクチャは、時間ロケーションＴ０およびＴ２におけるビューＳ１のＢピクチャの各々、ならびに時間ロケーションＴ１におけるビューＳ０およびＳ２のｂピクチャから予測される。
【００８０】
[0091]いくつかの例では、図３は、テクスチャビューコンポーネントを示すものと見なされてよい。たとえば、図２に示したＩピクチャ、Ｐピクチャ、Ｂピクチャ、およびｂピクチャは、ビューの各々のためのテクスチャビューコンポーネントと見なされてよい。本開示で説明する技法によれば、図３に示すテクスチャビューコンポーネントの各々に対して、対応する深度ビューコンポーネントがある。いくつかの例では、深度ビューコンポーネントは、対応するテクスチャビューコンポーネントに対して、図３に示すものと同様の方法で予測され得る。
【００８１】
[0092]２つのビューのコーディングも、ＭＶＣによってサポートされ得る。ＭＶＣの利点のうちの１つは、ＭＶＣエンコーダが３Ｄビデオ入力として３つ以上のビューをとり得、ＭＶＣデコーダがそのようなマルチビュー表現を復号し得ることである。したがって、ＭＶＣデコーダを有するいかなるレンダラも、３つ以上のビューを有する３Ｄビデオコンテンツを復号し得る。
【００８２】
[0093]上記で説明したように、ＭＶＣでは、ビュー間予測は（場合によっては、同じ時間インスタンスを有することを意味する）同じアクセスユニットの中のピクチャ間で可能になる。非ベースビューのうちの１つの中のピクチャをコーディングするとき、ピクチャが異なるビューの中にあるが同じ時間インスタンス内にある場合、そのピクチャは参照ピクチャリストの中に追加され得る。ビュー間予測参照ピクチャは、任意のインター予測参照ピクチャとまったく同様に、参照ピクチャリストの任意の位置に入れられてよい。図３に示すように、ビューコンポーネントは、他のビューの中のビューコンポーネントを参照のために使用することができる。ＭＶＣでは、別のビューの中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。
【００８３】
[0094]ＭＶＣでは、ビュー間予測は、同じアクセスユニットの中の（すなわち、同じ時間インスタンスを有する）ピクチャ間で可能になる。非ベースビューのうちの１つの中のピクチャをコーディングするとき、ピクチャが異なるビューの中にあるが同じ時間インスタンスを有する場合、そのピクチャは参照ピクチャリストの中に追加され得る。ビュー間予測参照ピクチャは、任意のインター予測参照ピクチャとまったく同様に、参照ピクチャリストの任意の位置に入れられてよい。
【００８４】
[0095]図３に示すように、ビューコンポーネントは、他のビューの中のビューコンポーネントを参照のために使用することができる。このことは、ビュー間予測と称される。ＭＶＣでは、別のビューの中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。
【００８５】
[0096]マルチビュービデオコーディングのコンテキストでは、少なくとも２つの異なるタイプの動きベクトルがある。一方のタイプの動きベクトルは、時間参照ピクチャを指す通常の動きベクトル（時間動きベクトルと呼ばれることがある）である。対応する時間インター予測は、動き補償予測（ＭＣＰ：motion-compensated prediction）である。他方のタイプの動きベクトルは、異なるビューの中のピクチャ（すなわち、ビュー間参照ピクチャ）を指す視差動きベクトルである。対応するインター予測は、視差補償予測（ＤＣＰ：disparity-compensated prediction）である。
【００８６】
[0097]ビデオデコーダ３０は、複数のＨＥＶＣインターコーディングモードを使用してビデオを復号し得る。ＨＥＶＣ規格では、ＰＵのために、それぞれ、マージモード（一般に、マージの特殊な事例と見なされるスキップモード）およびＡＭＶＰ）モードと称される、２つのインター予測モードがある。ＡＭＶＰモードまたはマージモードのいずれかでは、ビデオデコーダ３０は、複数の動きベクトル予測子のための動きベクトル候補リストを保持する。現在ＰＵの動きベクトルならびにマージモードにおける参照インデックスは、候補リストから１つの候補をとることによって生成され得る。
【００８７】
[0098]候補リストは、たとえば、ＨＥＶＣでは、マージモードのための最高５つの候補とＡＭＶＰモードのための２つのみの候補とを含む。マージ候補は、動き情報のセット、たとえば、参照ピクチャリスト（リスト０およびリスト１）と参照インデックスの両方に対応する動きベクトルを含み得る。マージ候補がマージインデックスによって識別される場合、現在ブロックの予測のために参照ピクチャが使用され、ならびに関連する動きベクトルが決定される。しかしながら、リスト０またはリスト１のいずれかからの潜在的な各予測方向に対するＡＭＶＰモードの下では、ＡＭＶＰ候補が動きベクトルのみを含むので、ＭＶＰインデックスとともに参照インデックスが候補リストに明示的にシグナリングされる必要がある。ＡＭＶＰモードでは、選択された動きベクトルと、ＭＶＰインデックスに対応する動きベクトル予測子との間の動きベクトル差分が、さらにシグナリングされる。上記でわかるように、マージ候補は、動き情報のフルセットに対応し、ＡＭＶＰ候補は、特定の予測方向および参照インデックスのためのただ１つの動きベクトルを含む。
【００８８】
[0099]上記で説明したように、ビデオデコーダ３０は、ＨＥＶＣベースの３Ｄビデオコーディング規格に従ってコーディングされたビデオを復号し得る。現在、ＶＣＥＧおよびＭＰＥＧの３Ｄビデオコーディング共同作業部会（ＪＣＴ−３Ｃ）は、ＨＥＶＣに基づく３ＤＶ規格を開発中であり、それのために、規格化作業の一部は、ＨＥＶＣに基づくマルチビュービデオコーデック（ＭＶ−ＨＥＶＣ）の規格化と、ＨＥＶＣに基づく３Ｄビデオコーデック（３Ｄ−ＨＥＶＣ）の規格化とを含む。３Ｄ−ＨＥＶＣの場合、テクスチャと深度ビューとの両方のためのＣＵ／ＰＵレベルのコーディング用のツールを含む、新たなコーディングツールが含まれ得るとともにサポートされ得る。３Ｄ−ＨＥＶＣ用の最新のソフトウェア３Ｄ−ＨＴＭが、２０１４年６月１３日、以下のリンクからダウンロードされ得る。
【００８９】
［３Ｄ−ＨＴＭバージョン９．０ｒ１］：ｈｔｔｐｓ：／／ｈｅｖｃ．ｈｈｉ．ｆｒａｕｎｈｏｆｅｒ．ｄｅ／ｓｖｎ／ｓｖｎ＿３ＤＶＣＳｏｆｔｗａｒｅ／ｔａｇｓ／ＨＴＭ−９．０ｒ１／。
【００９０】
[00100]最新の参照ソフトウェア記述が、以下のように入手可能である。
【００９１】
Ｌｉ  Ｚｈａｎｇ、Ｇｅｒｈａｒｄ  Ｔｅｃｈ、Ｋｒｚｙｓｚｔｏｆ  Ｗｅｇｎｅｒ、Ｓｅｈｏｏｎ  Ｙｅａ、「Ｔｅｓｔ  Ｍｏｄｅｌ  ６  ｏｆ  ３Ｄ−ＨＥＶＣ  ａｎｄ  ＭＶ−ＨＥＶＣ」、ＪＣＴ３Ｖ−Ｆ１００５、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３およびＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１の３Ｄビデオコーディング拡張開発共同作業部会、第６回会合、ジュネーブ、スイス、２０１３年１１月。２０１４年６月１３日現在、それは以下のリンクからダウンロードされ得る。
【００９２】
ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｃｕｒｒｅｎｔ＿ｄｏｃｕｍｅｎｔ．ｐｈｐ？ｉｄ＝１６３６。
【００９３】
[00101]３Ｄ−ＨＥＶＣの最新のワーキングドラフトが、以下のように入手可能である。
【００９４】
Ｇｅｒｈａｒｄ  Ｔｅｃｈ、Ｋｒｚｙｓｚｔｏｆ  Ｗｅｇｎｅｒ、Ｙｉｎｇ  Ｃｈｅｎ、Ｓｅｈｏｏｎ  Ｙｅａ、「３Ｄ−ＨＥＶＣ  Ｄｒａｆｔ  Ｔｅｘｔ  ２」、ＪＣＴ３Ｖ−Ｆ１００１、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３およびＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１の３Ｄビデオコーディング拡張開発共同作業部会、第６回会合、ジュネーブ、スイス、２０１３年１１月。それは以下のリンクからダウンロードされ得る。
【００９５】
ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ２／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／６＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴ３Ｖ−Ｆ１００１−ｖ４．ｚｉｐ。
【００９６】
[00102]ビデオデコーダ３０は、様々な視差ベクトル導出プロセスを実施するように構成され得る。そのような１つのプロセスの一例は、隣接ブロックベース視差ベクトル（ＮＢＤＶ：Neighboring Blocks based Disparity Vector）と称され、現在の３Ｄ−ＨＴＭにおいて使用されている。ＮＢＤＶは、空間隣接ブロックおよび時間隣接ブロックからの視差動きベクトルを利用する。ＮＢＤＶでは、ビデオデコーダ３０は、空間隣接ブロックまたは時間隣接ブロックの動きベクトルを一定の検査順序で検査する。ビデオデコーダ３０が視差動きベクトルまたは暗黙的視差ベクトル（ＩＤＶ：implicit disparity vector）を識別すると、ビデオデコーダ３０は、検査プロセスを終了する。ＮＢＤＶを実行するとき、ビデオデコーダ３０は、識別された視差動きベクトルを戻し、それを視差ベクトルに変換する。ビデオデコーダ３０は、ビュー間動き予測および／またはビュー間残差予測のために、この決定された視差ベクトルを使用し得る。すべての事前定義された隣接ブロックを検査した後にそのような視差ベクトルが見つからない場合、ビデオデコーダ３０は、ビュー間動き予測のためにゼロ視差ベクトルを使用し得、対応するＰＵのためのビュー間残差予測をディセーブル（disable）し得る。
【００９７】
[00103]３Ｄ−ＨＥＶＣは、ＪＣＴ３Ｖ−Ａ００９７：３Ｄ−ＣＥ５．ｈ：Ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｇｅｎｅｒａｔｉｏｎ  ｒｅｓｕｌｔｓ、Ｌ．Ｚｈａｎｇ、Ｙ．Ｃｈｅｎ、Ｍ．Ｋａｒｃｚｅｗｉｃｚ（Ｑｕａｌｃｏｍｍ）において、ＮＢＤＶとしての形態を最初に採用した。ＩＤＶは、簡略化されたＮＢＤＶとともに、ＪＣＴ３Ｖ−Ａ０１２６：３Ｄ−ＣＥ５．ｈ：Ｓｉｍｐｌｉｆｉｃａｔｉｏｎ  ｏｆ  ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｄｅｒｉｖａｔｉｏｎ  ｆｏｒ  ＨＥＶＣ−ｂａｓｅｄ  ３Ｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ、Ｊ．Ｓｕｎｇ、Ｍ．Ｋｏｏ、Ｓ．Ｙｅａ（ＬＧ）に含められた。そのことに加えて、ＪＣＴ３Ｖ−Ｂ００４７：３Ｄ−ＣＥ５．ｈ  ｒｅｌａｔｅｄ：Ｉｍｐｒｏｖｅｍｅｎｔｓ  ｆｏｒ  ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｄｅｒｉｖａｔｉｏｎ、Ｊ．Ｋａｎｇ、Ｙ．Ｃｈｅｎ、Ｌ．Ｚｈａｎｇ、Ｍ．Ｋａｒｃｚｅｗｉｃｚ（Ｑｕａｌｃｏｍｍ）では、復号ピクチャバッファに記憶されるＩＤＶを除去することによってＮＢＤＶがさらに簡略化され、ＲＡＰピクチャ選択に関連するコーディング利得が改善された。ＮＢＤＶのさらなる改良が、ＪＣＴ３Ｖ−Ｄ０１８１：ＣＥ２：ＣＵ−ｂａｓｅｄ  Ｄｉｓｐａｒｉｔｙ  Ｖｅｃｔｏｒ  Ｄｅｒｉｖａｔｉｏｎ  ｉｎ  ３Ｄ−ＨＥＶＣ、Ｊ．Ｋａｎｇ、Ｙ．Ｃｈｅｎ、Ｌ．Ｚｈａｎｇ、Ｍ．Ｋａｒｃｚｅｗｉｃｚ（Ｑｕａｌｃｏｍｍ）に記載された。
【００９８】
[00104]図４は、ＮＢＤＶのための時間隣接ブロックを示す概念図である。上記で導入したように、ＮＢＤＶを実施するとき、ビデオデコーダ３０は、規定された検査順序を使用して、空間隣接ブロックと時間隣接ブロックとを検査し得る。ＮＢＤＶのいくつかの実装形態では、ビデオデコーダ３０は、視差ベクトル導出のために２つの空間隣接ブロックを使用する。それらの２つのブロックは、ＨＥＶＣ仕様の図８−３で定義されるようにＡ1およびＢ1によって示される現在ＰＵの左および上の隣接ブロックであり、図４として転載される。ビデオデコーダ３０は、時間ブロック検査のために、現在ビューからの最高２つの参照ピクチャ（たとえば、コロケート（co-located）ピクチャおよびランダムアクセスピクチャまたは最小のＰＯＣ差分および最小の時間ＩＤを有する参照ピクチャ）を検査し得る。一例では、ビデオデコーダ３０は、ランダムアクセスピクチャを最初に検査し得、続いて、コロケートピクチャを検査し得る。候補ピクチャごとに、ビデオデコーダ３０は、現在ＰＵのコロケートされた領域の中央の４×４ブロックに相当する中央ブロックを検査する。
【００９９】
[00105]ＮＢＤＶのいくつかの実装形態では、５つの空間隣接ブロックが視差ベクトル導出のために使用される。５つの空間ネイバーは、図４に示すようにＡ０、Ａ１、Ｂ０、Ｂ１、またはＢ２によって示されるような、現在予測ユニット（ＰＵ）をカバーするコーディングユニット（ＣＵ）の左下ブロック、左ブロック、右上ブロック、上ブロック、および左上ブロックである。これらの空間ネイバーがＨＥＶＣにおけるマージ／ＡＭＶＰモードで使用される同じ空間ネイバーであることに留意されたい。したがって、追加のメモリアクセスが必要とされない。
【０１００】
[00106]時間隣接ブロックを検査するために、ビデオデコーダは、候補ピクチャリストの構成プロセスを最初に実行する。ビデオデコーダ３０は、現在ビューからの最高２つの参照ピクチャを候補ピクチャとして扱ってよい。コロケート参照ピクチャが候補ピクチャリストに最初に挿入され、候補ピクチャの残りが参照インデックスの昇順で続く。両方の参照ピクチャリストの中で同じ参照インデックスを有する参照ピクチャが利用可能であるとき、コロケートピクチャの同じ参照ピクチャリストの中の一方は、他方に先行する。候補ピクチャリストの中の候補ピクチャごとに、時間隣接ブロックを導出するために３つの候補領域が決定される。
【０１０１】
[00107]ビュー間動き予測を用いてブロックがコーディングされるとき、異なるビューの中の対応するブロックを選択するために視差ベクトルが導出される必要がある。暗黙的視差ベクトル（ＩＤＶ、または、導出視差ベクトルとも呼ばれる）は、ビュー間動き予測において導出された視差ベクトルと呼ばれる。たとえブロックが動き予測を用いてコーディングされるとしても、導出視差ベクトルは、後続のブロックをコーディングするために破棄されない。
【０１０２】
[00108]３Ｄ−ＨＴＭ７．０および３Ｄ−ＨＴＭの後のバージョンの現在の設計では、ＮＢＤＶの一部として、ビデオデコーダ３０は、時間隣接ブロックの中の視差動きベクトルと、空間隣接ブロックの中の視差動きベクトルと、次いで、ＩＤＶとを、事前定義された順序で検査する。視差動きベクトルまたはＩＤＶが見つかると、ビデオデコーダ３０は、ＮＢＤＶプロセスを終了する。ＮＢＤＶのいくつかの実装形態では、ビデオデコーダ３０によって検査される空間隣接ブロックの数は２つまで低減され得る。
【０１０３】
[00109]ビデオデコーダ３０はまた、いくつかの例では、決定された視差ベクトルを改良し得る。たとえば、ビデオデコーダ３０は、ＮＢＤＶを使用して生成された視差ベクトルを、コード化深度マップの中の情報を使用して改良し得る。すなわち、ビデオデコーダ３０は、ベースビュー深度マップの中でコーディングされた情報を使用することによって、視差ベクトルの精度を拡張し得る。改良プロセスの一部として、ビデオデコーダ３０は、ベースビューなどの、前にコーディングされた参照深度ビューの中の導出視差ベクトルによって、対応する深度ブロックの位置を最初に特定し得る。対応する深度ブロックのサイズは、現在ＰＵのサイズと同じであり得る。ビデオデコーダ３０は、次いで、たとえば、図７に示すように、コロケート深度ブロックから、たとえば、４つのコーナー深度値の最大値から視差ベクトルを計算し得る。４つのコーナーサンプルは、左上（ＴＬ）サンプル、右上（ＴＲ）サンプル、左下（ＢＬ）サンプル、および右下（ＢＲ）サンプルに相当する。ビデオデコーダ３０は視差ベクトルの水平成分をこの計算された値に設定し得、視差ベクトルの垂直成分は０に設定される。
【０１０４】
[00110]１つの視差ベクトルがＮＢＤＶプロセスから導出されると、ビデオデコーダ３０は、参照ビューの深度マップから深度データを取り出すことによって、視差ベクトルをさらに改良し得る。この深度ベースの改良プロセスは、Ｄｏ−ＮＢＤＶと呼ばれる。改良プロセスは、たとえば、２つのステップを含み得る。第１に、ビデオデコーダ３０は、ベースビューなどの、前にコーディングされた参照深度ビューの中の導出視差ベクトル（すなわち、ＮＢＤＶを使用して導出された視差ベクトル）を使用して、対応する深度ブロックの位置を特定し得る。対応する深度ブロックのサイズは、現在ＰＵのサイズと同じであり得る。第２に、ビデオデコーダ３０は、対応する深度ブロックの４つのコーナーピクセルから１つの深度値を選択し得、選択された深度値を、改良される視差ベクトルの水平成分に変換し得る。視差ベクトルの垂直成分は、ビデオデコーダ３０によって変化されなくてよい。
【０１０５】
[00111]いくつかの例では、ビデオデコーダ３０は、改良されていない視差ベクトルをビュー間残差予測のために使用しながら、改良された視差ベクトルをビュー間動き予測のために使用し得る。さらに、ビデオデコーダ３０は、あるＰＵが後方ビュー合成予測モードを用いてコーディングされる場合、改良された視差ベクトルをＰＵの動きベクトルとして記憶し得る。３Ｄ−ＨＥＶＣの現在の設計では、ベースビューの深度ビューコンポーネントは、ＮＢＤＶプロセスから導出されるビュー順序インデックスの値にかかわらず常にアクセスされる。
【０１０６】
[00112]図５は、サブＰＵレベルビュー間動き予測の一例を示す。図５は、Ｖ１と呼ばれる現在ビューと、Ｖ０と呼ばれる参照ビューとを示す。現在ＰＵ１９０は、４つのサブＰＵ  Ａ〜Ｄを含む。ビデオデコーダ３０は、４つの参照ブロックＡR〜ＤRを含む参照ブロック１９１の位置を特定するために、４つのサブＰＵ  Ａ〜Ｄの各々の視差ベクトルを使用し得る。サブＰＵ  Ａ〜Ｄの視差ベクトルがＤＶ［ｉ］として図５に示され、ただし、ｉはＡ〜Ｄに対応する。４つのサブＰＵの各々が固有の視差ベクトルを有するので、互いに対するサブＰＵ  Ａ〜Ｄのロケーションは、互いに対する参照ブロックＡR〜ＤRのロケーションと異なることがある。サブＰＵレベルのビュー間動き予測では、ビデオデコーダ３０は、サブＰＵを予測するために、参照ブロックの動きベクトルを使用し得る。参照ブロックＡR〜ＤRの動きベクトルがＭＶ［ｉ］として図５に示され、ただし、ｉはＡ〜Ｄに対応する。したがって、一例として、サブＰＵ  Ａの場合、ビデオデコーダ３０は、参照ブロックＡRの位置を特定するためにＤＶ［Ａ］を使用し得、参照ブロックＡRがＭＶ［Ａ］を使用してコーディングされたと決定し得、サブＰＵ  Ａのための予測ブロックの位置を特定するためにＭＶ［Ａ］を使用し得る。
【０１０７】
[00113]ビデオデコーダ３０は、図５に関して上記で導入したように、サブＰＵレベルビュー間動き予測を実行するように構成され得る。ビュー間動き予測の態様が上記で説明され、ここで、参照ブロックの動き情報だけが、依存ビューの中の現在ＰＵのために使用される。しかしながら、現在ＰＵは、参照ビューの中の（視差ベクトルによって識別される現在ＰＵと同じサイズを有する）参照エリアに対応し得、参照エリアは豊富な動き情報を有し得る。図５に示すようなサブＰＵレベルビュー間動き予測（ＳＰＩＶＭＰ：Sub-PU level inter-view motion prediction）は、参照エリアの中の豊富な動き情報を使用することができる。ＳＰＩＶＭＰは、パーティションモード２Ｎ×２Ｎのみに対して適用され得る。
【０１０８】
[00114]ＪＣＴ３Ｖ−Ｆ０１１０では、新たなマージ候補を生成するために、サブＰＵレベルビュー間動き予測方法が提案されている。新たな候補が、動きベクトル候補リストに追加される。サブＰＵマージ候補と称される新たな候補が、以下の方法によって導出され得る。現在ＰＵのサイズをｎＰＳＷ×ｎＰＳＨとして示し、シグナリングされるサブＰＵサイズをＮ×Ｎによって示し、最終的なサブＰＵサイズをｓｕｂＷ×ｓｕｂＨによって示す。
【０１０９】
[00115]第１に、ＰＵサイズおよびシグナリングされるサブＰＵサイズに応じて、現在ＰＵを１つまたは複数のサブＰＵに分割する。
【０１１０】
【数１】
2018164265.tif 000003
【０１１１】
[00116]第２に、参照ピクチャリストごとに（Ｘを０および１として）、デフォルト動きベクトルｔｍｖＬＸを（０，０）に、参照インデックスｒｅｆＬＸを−１に設定する。サブＰＵごとにラスタ走査順序で以下が適用される。
【０１１２】
・以下によって参照サンプルロケーション（ｘＲｅｆＳｕｂ，ｙＲｅｆＳｕｂ）を取得するために、Ｄｏ−ＮＢＤＶまたはＮＢＤＶプロセスからのＤＶを現在サブＰＵの中央位置に追加する。
【０１１３】
【数２】
2018164265.tif 000004
【０１１４】
（ｘＲｅｆＳｕｂ，ｙＲｅｆＳｕｂ）をカバーする参照ビューの中のブロックが、現在サブＰＵのための参照ブロックとして使用される。
【０１１５】
・識別された参照ブロックに対して、
・それが時間動きベクトルを使用してコーディングされる場合、以下が適用される。
【０１１６】
・関連する動きパラメータが、現在サブＰＵのための候補動きパラメータとして使用され得る。
【０１１７】
・ｔｍｖＬＸおよびｒｅｆＬＸが、現在サブＰＵの動き情報に更新される。
【０１１８】
・現在サブＰＵがラスタ走査順序での最初のものでない場合、動き情報（ｔｍｖＬＸおよびｒｅｆＬＸ）は、すべての前のサブＰＵによって継承される。
【０１１９】
・そうでない（参照ブロックがイントラコーディングされる）場合、現在サブＰＵの動き情報がｔｍｖＬＸおよびｒｅｆＬＸに設定される。
【０１２０】
[00117]４×４、８×８、および１６×１６などの異なるサブＰＵブロックサイズが使用され得る。サブＰＵブロックのサイズは、ビューパラメータセットの中に存在し得る。
【０１２１】
[00118]ビデオデコーダ３０はまた、３Ｄ−ＨＥＶＣマージ候補を動きベクトル候補リストに追加し得る。３Ｄ−ＨＥＶＣマージ候補は、概して、ベースのＨＥＶＣ仕様のマージモードで使用されないが３Ｄ−ＨＥＶＣ仕様で使用される候補を指す。３Ｄ−ＨＥＶＣマージ候補を追加することの一部として、ビデオデコーダ３０は、シフトされたＤＶおよび／またはＤＭＶから導出される追加候補を生成し得る。ビデオデコーダ３０は、たとえば、次の２つのステップによって追加候補を生成し得る。第１に、ビデオデコーダ３０は、（（ＰｕＷｉｄｔｈ／２＊４＋４），（ＰｕＨｅｉｇｈｔ／２＊４＋４））だけ視差ベクトル（ＤＶ）をシフトさせ得、参照ビューの中のＩＰＭＣ候補を導出するために、シフトされたＤＶを使用する。ここで、現在ＰＵのサイズは、ＰｕＷｉｄｔｈ×ＰｕＨｅｉｇｈｔである。
【０１２２】
[00119]第２に、上記ステップからＩＰＭＣが利用不可能である場合、ビデオデコーダ３０は、視差シフト動きベクトル（ＤＳＭＶ：Disparity shifted Motion Vector）として示された候補を導出し得、ＤＳＭＶを追加候補となるように設定し得る。ビデオデコーダ３０は、次のようにＤＳＭＶを導出し得る。
【０１２３】
・ビデオデコーダ３０は、空間隣接ブロックＡ1、Ｂ1、Ｂ0、Ａ0、またはＢ2から、ＲｅｆＰｉｃＬｉｓｔ０に対応する最初の利用可能な視差動きベクトル（ＤＭＶ）を識別する。
【０１２４】
・ＤＭＶが利用可能である場合（それは「ｍｖ」として示される）、
ｉ．ＤＳＭＶ［０］＝ｍｖ［０］、ＤＳＭＶ［１］＝ｍｖ［１］、およびＤＳＭＶ［０］［０］＋＝４とし、参照インデックスは最初の利用可能な候補（ＤＭＶを含む）から継承される。
【０１２５】
ｉｉ．ＢＶＳＰがイネーブルにされているとき、ＤＳＭＶ［０］［１］は０に設定される。
【０１２６】
ｍｖは、上記のステップにおいて最初の識別されたＤＭＶを表し、予測方向０（ｍｖ［０］によって示される）と予測方向１（ｍｖ［１］によって示される）の両方の動きベクトルを含むことができる。ＤＳＭＶ［ｉ］およびｍｖ［ｉ］は、それぞれ、予測方向ｉの動きベクトルを指し、ただし、ｉ＝０または１である。ｍｖ［ｉ］［０］およびｍｖ［ｉ］［１］は、それぞれ、ｍｖ［ｉ］の水平成分および垂直成分を指す。ＤＳＭＶ［ｉ］［０］およびＤＳＭＶ［ｉ］［１］は、それぞれ、ＤＳＭＶ［ｉ］の水平成分および垂直成分を指す。
【０１２７】
・そうでない場合、ＤＳＭＶ［０］［０］＝ＤＶ［０］＋４、ＤＳＭＶ［１］［０］＝ＤＶ［０］＋４、ＤＳＭＶ［０］［１］＝０、およびＤＳＭＶ［１］［１］＝０とする。ここで、ＤＶは視差ベクトルである。
【０１２８】
[00120]ビデオデコーダ３０によって実行され得るマージリスト生成プロセス全体の説明が、次に論じられる。以下に示すステップの順序は、可能性のある順序を表す。ビデオデコーダ３０はまた、ステップを異なる順序で実行すること、ステップのサブセットを実行すること、または新たなセットを含めることによって、マージ候補リストを生成し得ることが考えられる。
【０１２９】
１．ビデオデコーダ３０は、視差ベクトルを導出し、視差ベクトルに基づいて、現在ＰＵの対応するブロックを識別する。ＩＰＭＣは、利用可能となるように導出された場合、動きベクトル候補リストに追加される。対応するブロックから導出されたビュー間予測動き候補（ＩＰＭＣ：Inter-view Predicted Motion Candidate）は、利用可能である場合、追加される。ＩＰＭＣが、通常、時間参照ピクチャを指す動きベクトルを含む候補であることに留意されたい。ＩＰＭＣは、図５に関して上記で説明したように、「サブＰＵレベルビュー間動き予測」候補に拡張され得る。
【０１３０】
２．ビデオデコーダ３０は、空間マージ候補（ＳＭＣ：spatial merge candidate）Ａ1、Ｂ1、およびＢ0を動きベクトル候補リストに追加する。
【０１３１】
ａ．加えて、ＳＭＣ生成プロセスの間、Ａ1またはＢ1から導出されたＳＭＣがステップ１におけるＩＰＭＣと同じである場合、それらは動きベクトル候補リストから除外される。
【０１３２】
３．ビデオデコーダ３０は、それらがＡ1およびＢ1と異なる場合、視差ベクトルを視差動きベクトルに変換し、視差動きベクトルを動きベクトル候補リストに追加する。
【０１３３】
４．現在スライスに対してＢＶＳＰがイネーブルにされている場合、ビデオデコーダ３０は、ＢＶＳＰマージ候補を動きベクトル候補リストの中に挿入する。
【０１３４】
５．ビデオデコーダ３０は、ＳＭＣ  Ａ0およびＢ2を動きベクトル候補リストに追加する。
【０１３５】
６．ＩＰＭＣが追加候補となるように導出された場合、ビデオデコーダ３０は、それをステップ１におけるＩＰＭＣと比較する。それがステップ１におけるＩＰＭＣに等しくない場合、または追加候補がＤＳＭＶ候補である場合（追加のＩＰＭＣが利用不可能であるとき）、ビデオデコーダ３０は、生成された追加候補を動きベクトル候補リストの中に挿入する。
【０１３６】
７．ビデオデコーダ３０は、現在の設計のように時間マージ候補を動きベクトル候補リストに追加する。
【０１３７】
８．ビデオデコーダ３０は、有効な候補の数が最大数よりも少ない場合、他の動きベクトル候補を動きベクトル候補リストにメイする。
【０１３８】
候補リストサイズは変更されず（依然として６つ）、候補リストの中に十分な候補があると、より多くの候補がさらに追加されないことに留意されたい。
【０１３９】
[00121]図６は、隣接ブロックを使用する後方ビュー合成予測（ＢＶＳＰ）に関する技法を示す概念図である。ＢＶＳＰは、３Ｄ−ＨＥＶＣのための技法として提案および採用された。ＪＣＴ３Ｖ−Ｃ０１５２において提案されたような後方ワーピングＶＳＰ手法が、第３回ＪＣＴ−３Ｖ会合において採用された。この後方ワーピングＶＳＰの基本的な考えは、３Ｄ−ＡＶＣにおけるブロックベースのＶＳＰと同じである。これらの２つの技法の両方は、動きベクトル差分を送信することを回避するとともにより正確な動きベクトルを使用するために、後方ワーピングおよびブロックベースのＶＳＰを使用する。実装の詳細は、異なるプラットフォームに起因して異なる。本開示は、概して、３Ｄ−ＨＥＶＣにおける後方ビュー合成予測を指すために頭文字語のＢＶＳＰを使用するが、ＢＶＳＰはまた、３Ｄ−ＡＶＣのブロックベースのビュー合成予測を指すことがある。
【０１４０】
[00122]３Ｄ−ＨＴＭでは、テクスチャ優先コーディングが共通テスト条件において適用される。したがって、対応する非ベース深度ビューは、１つの非ベーステクスチャビューを復号するとき、利用不可能である。したがって、ＢＶＳＰを実行するために深度情報が推定および使用される。ブロックのための深度情報を推定するために、隣接ブロックから視差ベクトルを最初に導出し、次いで、参照ビューから深度ブロックを取得するために、導出された視差ベクトルを使用することが提案された。
【０１４１】
[00123]すでに上記で導入したように、ＨＴＭ５．１テストモデルでは、ＮＢＤＶと呼ばれる視差ベクトル予測子を導出するためのプロセスが存在する。（ｄｖｘ，ｄｖｙ）は、ＮＢＤＶ関数から識別された視差ベクトルを示し、現在ブロックの位置は、（ｂｌｏｃｋｘ，ｂｌｏｃｋｙ）である。参照ビューの深度画像の中の（ｂｌｏｃｋｘ＋ｄｖｘ，ｂｌｏｃｋｙ＋ｄｖｙ）における深度ブロックをフェッチすることが提案された。フェッチされた深度ブロックは、現在の予測ユニット（ＰＵ）の同じサイズを有することになり、それは、次いで、現在ＰＵのための後方ワーピングを行うために使用されることになる。図６は、参照ビューから深度ブロックの位置を特定し、次いで、ＢＶＳＰ予測のために深度ブロックを使用するためのステップを示す。
【０１４２】
[00124]図６の例では、深度ピクチャ１５０およびテクスチャピクチャ１５４は、同じビューに対応するが、テクスチャピクチャ１５２は、異なるビューに対応する。特に、テクスチャピクチャ１５２は、参照ピクチャとして働くテクスチャピクチャ１５４に対してコーディングされている現在ブロック１６０を含む。ビデオコーダは、現在ブロック１６０に隣接する隣接ブロック１６２を参照し得る。隣接ブロック１６２は、前に決定された視差ベクトル１６６を含む。視差ベクトル１６６は、現在ブロック１６０のための視差ベクトル１６４として導出され得る。したがって、視差ベクトル１６４は、参照ビューの深度ピクチャ１５０の中の深度ブロック１５６を指す。
【０１４３】
[00125]ビデオコーダは、次いで、後方ワーピングを実行するために、現在ブロック１６０のピクセルのための視差値１６８（すなわち、テクスチャ値）を決定するために、深度ブロック１５６のピクセル（すなわち、深度値）を使用し得る。ビデオコーダは、次いで、視差値１６８によって識別されたピクセルから、現在ブロック１６０のための予測ブロック（すなわち、ＢＶＳＰ参照ブロック）のための値を合成し得る。ビデオコーダは、次いで、この予測ブロックを使用して、現在ブロック１６０を予測し得る。たとえば、ビデオエンコーダ２０によるビデオ符号化の間、ビデオエンコーダ２０は、残差値を生成するために、予測ブロックと現在ブロック１６０との間のピクセルごとの差分を計算し得、ビデオエンコーダ２０は、次いで、それを変換、量子化、およびエントロピー符号化し得る。他方では、ビデオデコーダ３０によるビデオ復号の間、ビデオデコーダ３０は、残差データをエントロピー復号、逆量子化、および逆変換し得、次いで、現在ブロック１６０を再生するために、残差データを（ピクセルごとに）予測ブロックと結合し得る。
【０１４４】
[00126]ＪＣＴ３Ｖ−Ｃ０１５２において提案されたような後方ワーピングＶＳＰ手法が、第３回ＪＣＴ−３Ｖ会合において採用された。この後方ワーピングＶＳＰの基本的な考えは、３Ｄ−ＡＶＣにおけるブロックベースのＶＳＰと同じである。これらの２つの技法の両方は、動きベクトル差分を送信することを回避するとともにより正確な動きベクトルを使用するために、後方ワーピングおよびブロックベースのＶＳＰを使用する。実装の詳細は、異なるプラットフォームに起因して異なる。
【０１４５】
[00127]以下の段落では、本開示はまた、３Ｄ−ＨＥＶＣにおける後方ワーピングＶＳＰ手法を示すためにＢＶＳＰという用語を使用することがある。ＢＶＳＰモードのシグナリングが、次に論じられる。
【０１４６】
[00128]３Ｄ−ＨＴＭのいくつかのバージョンでは、ＢＶＳＰモードは、スキップモードまたはマージモードのいずれかでのインターコードブロックのみに対してサポートされる。ＢＶＳＰモードは、ＡＭＶＰモードでコーディングされるブロックに対して許容されない。ＢＶＳＰモードの使用を示すためのフラグを送信する代わりに、１つの追加のマージ候補（すなわち、ＢＶＳＰマージ候補）が導入され、各候補は１つのＢＶＳＰフラグに関連付けられる。復号マージインデックスがＢＶＳＰマージ候補に対応するとき、それは現在の予測ユニット（ＰＵ）がＢＶＳＰモードを使用することを示し、現在ＰＵ内のサブブロックごとに、それ自体の視差動きベクトルが、深度参照ビューの中の深度値を変換することによって導出され得る。
【０１４７】
[00129]ＢＶＳＰフラグの設定が、次のように定義される。
【０１４８】
・空間マージ候補を導出するために使用される空間隣接ブロックがＢＶＳＰモードを用いてコーディングされるとき、関連する動き情報は、従来のマージングモードとして現在ブロックによって継承される。加えて、この空間マージ候補は、１に等しいＢＶＳＰフラグを用いてタグ付けされる。
【０１４９】
・新たに導入されたＢＶＳＰマージ候補に対して、ＢＶＳＰフラグは１に設定される。
【０１５０】
・他のすべてのマージ候補に対して、関連するＢＶＳＰフラグは０に設定される。
【０１５１】
[00130]ビデオデコーダ３０は、ＢＶＳＰマージ候補を生成するように構成され得る。３Ｄ−ＨＥＶＣでは、ＢＶＳＰマージ候補と称される新たな候補が導出され、マージ候補リストに挿入される。対応する参照ピクチャインデックスおよび動きベクトルは、以下の方法によって設定される。
【０１５２】
−  ＮＢＤＶから導出された視差ベクトルのｒｅｆＶＩｄｘＬＸによって示されるビューインデックスを取得する。
【０１５３】
−  ｒｅｆＶＩｄｘＬＸに等しいビュー順序インデックスを有する参照ピクチャに関連付けられた参照ピクチャリストＲｅｆＰｉｃＬｉｓｔＸ（ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１のいずれか）を取得する。ＮＢＤＶプロセスからの対応する参照ピクチャインデックスおよび視差ベクトルは、ＲｅｆＰｉｃＬｉｓｔＸの中のＢＶＳＰマージ候補の動き情報として使用される。
【０１５４】
−  現在スライスがＢスライスである場合、ＲｅｆＰｉｃＬｉｓｔＸ以外の参照ピクチャリスト、すなわち、Ｙが１−ＸであるＲｅｆＰｉｃＬｉｓｔＹの中のｒｅｆＶＩｄＬＸに等しくないｒｅｆＶＩｄｘＬＹによって示されたビュー順序インデックスを有するビュー間参照ピクチャの利用可能性を検査する。
【０１５５】
・そのような異なるビュー間参照ピクチャが見つかる場合、双予測ＶＳＰが適用される。一方、ＮＢＤＶプロセスからの異なるビュー間参照ピクチャの対応する参照ピクチャインデックスおよびスケーリングされた視差ベクトルが、ＲｅｆＰｉｃＬｉｓｔＹの中のＢＶＳＰマージ候補の動き情報として使用される。ｒｅｆＶＩｄｘＬＸに等しいビュー順序インデックスを有するビューからの深度ブロックが、現在ブロックの深度情報として使用され（テクスチャ優先コーディング順序の場合）、最終的な後方ＶＳＰ予測子を獲得するために、２つの異なるビュー間参照ピクチャ（１つの参照ピクチャリストからの各々）が後方ワーピングプロセスを介してアクセスされ、さらに重み付けられる。
【０１５６】
・そうでない場合、単予測ＶＳＰが、予測のための参照ピクチャリストとしてのＲｅｆＰｉｃＬｉｓｔＸとともに適用される。
【０１５７】
[00131]上記で導入されたように、ビデオデコーダ３０は、動き補償を実行するように構成され得る。３Ｄ−ＨＴＭでは、テクスチャ優先コーディングが共通テスト条件において適用される。したがって、対応する非ベース深度ビューは、１つの非ベーステクスチャビューを復号するとき、利用不可能である。したがって、ＢＶＳＰを実行するために深度情報が推定および使用される。
【０１５８】
[00132]ブロックのための深度情報を推定するために、ビデオデコーダ３０が隣接ブロックから視差ベクトルを最初に導出し得、次いで、参照ビューから深度ブロックを取得するために、導出された視差ベクトルを使用し得ることが提案される。
【０１５９】
[00133]ＨＴＭ８．０テストモデルでは、ＮＢＤＶ（上記で説明した）と呼ばれる視差ベクトル予測子を導出するためのプロセスが存在する。（ｄｖx，ｄｖy）がＮＢＤＶ関数から識別された視差ベクトルを示し、（ｂｌｏｃｋx，ｂｌｏｃｋy）が現在ブロックの位置を示すものとする。
【０１６０】
[00134]ビデオデコーダ３０は、単予測ＢＶＳＰを実行し得る。たとえば、１つの提案によれば、ビデオデコーダ３０は、参照ビューの深度画像の中で左上位置（ｂｌｏｃｋx＋ｄｖx，ｂｌｏｃｋy＋ｄｖy）を有する深度ブロックをフェッチし得る。現在ブロックは、Ｗ＊Ｈに等しい同じサイズを有するいくつかのサブブロックに最初に分割される。Ｗ＊Ｈに等しいサイズを有するサブブロックごとに、フェッチされた深度ブロック内の対応する深度サブブロックが利用され、深度サブブロックの４つのコーナーピクセルからの最大深度値が視差動きベクトルに変換される。各サブブロックのために導出された視差動きベクトルは、次いで、動き補償のために使用される。図６は、どのように参照ビューからの深度ブロックの位置が特定され、次いで、ＢＶＳＰ予測のために使用されるのかに関する３つのステップを示す。
【０１６１】
[00135]ビデオデコーダ３０はまた、双予測ＢＶＳＰを実行し得る。ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１の中の異なるビューからの複数のビュー間参照ピクチャがあるとき、ビデオデコーダ３０は双予測ＶＳＰを適用し得る。すなわち、上記で説明したように、２つのＶＳＰ予測子が各参照リストから生成される。ビデオデコーダ３０は、次いで、最終的なＶＳＰ予測子を取得するために、２つのＶＳＰ予測子を平均し得る。
【０１６２】
[00136]動き補償サイズ、すなわち、上で説明したようなＷ＊Ｈは、８×４または４×８のどちらかであり得る。動き補償サイズを決定するために、ビデオデコーダ３０は以下を適用し得る。
【０１６３】
８×８ブロックごとに、対応する深度８×８ブロックの４つのコーナーが検査され、
【０１６４】
【数３】
2018164265.tif 000005
【０１６５】
[00137]既存の３Ｄ動きベクトル候補リスト構成技法に関連する、いくつかの潜在的な問題があり得る。一例として、ＤＳＭＶ候補の生成は、すべての隣接ブロックを検査することを必要とし、そのことは、望ましくなく多数の条件検査を潜在的に必要とする。ＨＥＶＣマージ候補および３Ｄ−ＨＥＶＣの追加マージ候補は、あまりに多くの相互作用を必要とする。
【０１６６】
[00138]いくつかの例では、本開示は、３Ｄ−ＨＥＶＣテクスチャコーディングのためのＤＳＭＶ候補導出プロセスならびに３Ｄ−ＨＥＶＣ候補のためのマージリスト構成の簡略化を導入する。
【０１６７】
[00139]本開示の一技法によれば、ＤＳＭＶ候補の生成は、ＨＥＶＣマージリスト構成プロセスによって導出された最初のＮ個の候補だけを探索することによって簡略化され得る。Ｎは、たとえば、２以下であってよい。他の例では、Ｎは、４、１、３などであってよい。本開示の技法によれば、ＨＥＶＣマージリストの中の候補の空間的な位置の情報が必要とされなくてよい。たとえば、ビデオデコーダ３０は、それらの候補がＡ1、Ｂ1、Ｂ0、Ａ0、またはＢ2からであるかどうかを検査せずに、ＨＥＶＣマージリストの中の最初の２つの候補を検査するだけでよい。既存の技法は、対照的に、候補の位置がＡ1、Ｂ1、Ｂ0、Ａ0、またはＢ2から来ること、すなわち、候補がＡ1、Ｂ1、Ｂ0、Ａ0、またはＢ2から来るかどうかを必要とし、ビデオデコーダは、これらの位置を順に検査する。
【０１６８】
[00140]これらの例では、ＨＥＶＣマージリストは、仮想候補を含まなくてよい。代替として、ＨＥＶＣマージリストは、仮想候補を含んでもよい。
【０１６９】
[00141]本開示の技法によれば、ビデオデコーダ３０は、以下で説明するステップに従うことによって、追加候補を生成し得る。
【０１７０】
１．ビデオデコーダ３０は、（（ＰｕＷｉｄｔｈ／２＊４＋４），（ＰｕＨｅｉｇｈｔ／２＊４＋４））だけＤＶをシフトさせ得、参照ビューの中のＩＰＭＣ候補を導出するために、シフトされたＤＶを使用し得る。ここで、現在ＰＵのサイズは、ＰｕＷｉｄｔｈ×ＰｕＨｅｉｇｈｔである。現在スライスに対して深度改良がイネーブルにされている場合、ＤＶは、Ｄｏ−ＮＢＤＶを使用して導出される視差ベクトルに相当し得る。そうでない場合、ＤＶは、ＮＢＤＶによって導出される視差ベクトルに相当し得る。
【０１７１】
２．上記のステップ１からのＩＰＭＣが利用不可能である場合、ビデオデコーダ３０は、ＤＭＳＶ候補を導出し、それを追加候補となるように設定する。ビデオデコーダ３０は、次のようにＤＳＭＶ候補を導出し得る。
【０１７２】
・ビデオデコーダ３０は、ベースのＨＥＶＣ仕様のマージモードによって作り出されたマージリストの中の最初の２つの候補から、ＲｅｆＰｉｃＬｉｓｔ０に対応する最初の利用可能な視差動きベクトル（ＤＭＶ）を識別する。
【０１７３】
・ＤＭＶが利用可能である場合（それは「ｍｖ」として示される）、
ｉ．ＤＳＭＶ［０］＝ｍｖ［０］、ＤＳＭＶ［１］＝ｍｖ［１］、およびＤＳＭＶ［０］［０］＋＝４とし、参照インデックスは最初の利用可能な候補（ＤＭＶを含む）から継承される。
【０１７４】
ｉｉ．ＢＶＳＰがイネーブルにされているとき、ＤＳＭＶ［０］［１］は０に設定される。
【０１７５】
・そうでない場合、ＤＳＭＶ［０］［０］＝ＤＶ［０］＋４、ＤＳＭＶ［１］［０］＝ＤＶ［０］＋４、ＤＳＭＶ［０］［１］＝０、およびＤＳＭＶ［１］［１］＝０とする。ここで、ＤＶは視差ベクトルである。
【０１７６】
[00142]代替として、ビデオデコーダ３０に空間隣接候補を探索させないことによってＤＳＭＶ候補の生成が簡略化され得ることが提案され、代わりに、ビデオデコーダ３０は、ＤＳＭＶ候補をシフトされた視差ベクトルとなるように直接設定し得る。ビデオデコーダ３０は、以下で説明するステップに従うことによって、追加候補を生成し得る。
【０１７７】
１．ビデオデコーダ３０は、（（ＰｕＷｉｄｔｈ／２＊４＋４），（ＰｕＨｅｉｇｈｔ／２＊４＋４））だけＤＶをシフトさせ得、参照ビューの中のＩＰＭＣ候補を導出するためにそれを使用し得る。ここで、現在ＰＵのサイズは、ＰｕＷｉｄｔｈ×ＰｕＨｅｉｇｈｔである。現在スライスに対して深度改良がイネーブルにされている場合、ＤＶは、Ｄｏ−ＮＢＤＶを使用して導出される視差ベクトルに相当し得る。そうでない場合、ＤＶは、ＮＢＤＶによって導出される視差ベクトルに相当し得る。
【０１７８】
２．上記のステップ１からのＩＰＭＣが利用不可能である場合、ビデオデコーダ３０は、ＤＳＭＶ候補を導出し得、ＤＳＭＶを追加候補となるように設定し得る。ビデオデコーダ３０は、次のようにＤＳＭＶ候補を導出し得る。ＤＳＭＶ［０］［０］＝ＤＶ［０］＋４、ＤＳＭＶ［１］［０］＝ＤＶ［０］＋４、ＤＳＭＶ［０］［１］＝０、およびＤＳＭＶ［１］［１］＝０とする。ここで、ＤＶは視差ベクトルである。
【０１７９】
[00143]ＤＳＭＶであり得る追加候補は、他のマージ候補の後において、ただし仮想候補の前に挿入される。
【０１８０】
[00144]追加３Ｄ−ＨＥＶＣ候補が挿入されるときに、どの空間ネイバー／時間ネイバーからＨＥＶＣマージ候補が来るのかを無視することによって、マージ候補リスト生成が簡略化され得ることも提案される。
【０１８１】
１．一例では、３Ｄ−ＨＥＶＣマージ候補とＨＥＶＣ候補との間にプルーニング(pruning)が必要とされる場合、それは常に、現在の（３Ｄ−ＨＥＶＣ）候補と、ＨＥＶＣ候補リストの固定位置における候補との間。
【０１８２】
２．ＨＥＶＣ候補がプルーニング除去された後、それは「利用不可能」または「除去されるべき」として最初にマークされるが、すべての３Ｄ−ＨＥＶＣ候補が挿入されるまで、依然として候補リストの中に保持される。その時間において、それらの「利用不可能な」候補は除去され、残りの候補が空のスロットの中を満たすようにシフトされる。
【０１８３】
３．ＢＶＳＰ候補は、空間ネイバーがＢＶＳＰであるか否かを示す変数が存在する必要がない方法で挿入され、したがって、記憶されない。
【０１８４】
[00145]本開示の別の技法によれば、ビデオデコーダ３０は、ＨＥＶＣマージプロセスから生成されたいかなる特定の候補（たとえば、空間隣接候補または時間隣接候補）の利用可能性を検査することも必要としない方式で、動きベクトル候補リストのための追加マージ候補（たとえば、３Ｄ−ＨＥＶＣマージ候補）を生成し得る。したがって、３Ｄ−ＨＥＶＣマージ候補（たとえば、ＩＰＭＣ候補、ＢＶＳＰ候補、および／またはＤＭＳＶ候補）を、図４における空間マージ候補Ａ１および／またはＢ１などの特定の空間マージ候補に対してプルーニングする代わりに、ビデオデコーダ３０は、３Ｄ−ＨＥＶＣマージ候補が最初のＮ個のＨＥＶＣマージ候補のいずれかと同じであるかどうかを決定することによって、３Ｄ−ＨＥＶＣマージ候補をプルーニングし得、ただし、Ｎは１、２、または３などの整数を表す。言い換えれば、３Ｄ−ＨＥＶＣ候補を空間ネイバーＡ１およびＢ１に基づいて決定された候補と比較する代わりに、３Ｄ−ＨＥＶＣ候補は、ＨＥＶＣ空間候補、ＨＥＶＣ時間候補、またはＨＥＶＣ仮想候補のいずれかであり得る、動きベクトル候補リストの中の最初のＮ個の候補と比較され得る。いくつかの例では、ビデオデコーダ３０は、３Ｄ−ＨＥＶＣ候補を最初のＮ個の候補と比較しなくてよいが、依然として３Ｄ−ＨＥＶＣ候補を動きベクトル候補リストの中の固定位置に対して比較し得る。ビデオデコーダ３０は、たとえば、３Ｄ−ＨＥＶＣ候補を候補リストの中の第１のエントリ（たとえば、インデックス０）に対して比較しなくてよいが、３Ｄ−ＨＥＶＣ候補を候補リストの中の第２および第３のエントリ（たとえば、インデックス１および２）に対して比較し得る。
【０１８５】
[00146]追加マージ候補のためのマージ候補リスト生成が、一時的マージ候補リストの中の候補の数が制限を超えるかどうかをビデオデコーダ３０が検査しない方式で行われ得ることも提案され、そのことは、候補の最大数を超える、リストの中のＨＥＶＣ候補の数によって引き起こされる追加の検査を回避し得る。たとえば、リストが構成される間にリストをプルーニングし、リストがいっぱいになるとリスト構成プロセスを終了する代わりに、ビデオデコーダ３０は、重複候補を除去されるべきとマークし得る。すべての候補がリストの中に挿入された後、ビデオデコーダ３０は、重複としてマークされた候補を除去し得、過剰な候補を除去し得る。いくつかの実装形態では、ビデオデコーダ３０は、重複をマークおよび除去することなく、過剰な候補を除去してもよい。たとえば、動きベクトル候補リストに含まれるべき候補の最大数が６である場合、インデックス値を０〜５として、ビデオデコーダ３０は、インデックスが６以上である任意の候補を一時的候補リストから除去し得る。
【０１８６】
[00147]第１の例のためのマージリスト生成プロセス全体の説明が、次に記載される。この例では、ビデオデコーダ３０は、空間候補、時間マージ候補、および仮想候補を、ベースのＨＥＶＣ仕様のマージモードにおけるものとして最初に識別する。ビデオデコーダ３０は、ＢＶＳＰ候補をマージ候補リストの中に、ＤＶ候補の前に挿入し得る。
【０１８７】
[00148]変数ｍａｘＭｒｇＮｕｍは、３Ｄ−ＨＥＶＣにおける最大マージ候補数を表す。ＨＥＶＣマージ候補は、ＨＥＶＣマージリスト生成プロセスにおいて導出されるマージ候補を指す。
【０１８８】
１．ビデオデコーダ３０は、ｍａｘＭｒｇＮｕｍ個のマージ候補を生成するために、ＨＥＶＣマージリスト生成プロセスを起動し得る。
【０１８９】
ａ．ビデオデコーダ３０は、ＳＭＣ  Ａ1、Ｂ1、およびＢ0をマージ候補リストに追加し得る。
【０１９０】
ｂ．ビデオデコーダ３０空間マージ候補（ＳＭＣ）Ａ0およびＢ2が、マージ候補リストに追加される。
【０１９１】
ｃ．時間マージ候補が、現在の設計のようにマージ候補リストに追加される（ＴＭＶＰ候補が３Ｄ−ＨＥＶＣにおいて変更されたことに留意されたい）。
【０１９２】
ｄ．仮想候補が、３Ｄ−ＨＥＶＣにおける現在の設計のようにマージ候補リストに追加される。
【０１９３】
２．ビデオデコーダ３０は、視差ベクトルを導出し得、視差ベクトルに基づいて、現在ＰＵの対応するブロックを識別し得る。ＩＰＭＣが利用可能となるように導出されている場合、ビデオデコーダ３０は、ＩＰＭＣをマージ候補リストの始まりに（たとえば、位置０番に）追加し得る。
【０１９４】
ａ．ビデオデコーダ３０は、ＩＰＭＣを有する動きベクトル候補リストと、すでにリストの中にある第１および第２のマージ候補とを、プルーニングし得る。第１および第２のマージ候補のうちの１つがＩＰＭＣに等しい場合、ビデオデコーダ３０は、それを利用不可能としてマークし得る。
【０１９５】
ｉ．第１のＨＥＶＣマージ候補と第２のＨＥＶＣマージ候補の両方がＩＰＭＣに等しい場合、ビデオデコーダ３０は、第１のＨＥＶＣマージ候補だけを利用不可能としてマークし得る。
【０１９６】
ｉｉ．代替として、第１のＨＥＶＣマージ候補と第２のＨＥＶＣマージ候補の両方がＩＰＭＣに等しい場合、ビデオデコーダ３０は、それらの両方を利用不可能としてマークしてもよい。
【０１９７】
ｂ．ビデオデコーダ３０は、ＩＰＭＣが第１の位置に置かれるように、すなわち、すべてのＨＥＶＣマージ候補が１つの位置だけ後方にシフトされるように、リストの中のＨＥＶＣマージ候補をシフトさせ得る。
【０１９８】
３．現在スライスに対してＢＶＳＰがイネーブルにされている場合、ビデオデコーダ３０は、不活性のＢＶＳＰマージ候補をマージ候補リストの中に、リストの第３の位置（インデックスは０から始まる）において挿入し得る。ビデオデコーダ３０は、ＢＶＳＰ候補を生成するために、視差ベクトルを変換し得る。最初に、参照深度ビューの中の現在ＰＵの対応する深度ブロックを識別するために、視差ベクトルが使用される。次いで、深度ブロック内のサブブロック（４×８または８×４ブロック）ごとに、４つのコーナーピクセルの最大値が、視差動きベクトルに変換され、現在ＰＵの中の対応するサブブロックのために使用される。
【０１９９】
ａ．リストの中でのＢＶＳＰマージ候補に後続する他の候補のシフティングは、ＢＶＳＰが第３の位置に置かれるように、すなわち、第３の位置の後のＨＥＶＣマージ候補（第３の位置におけるＨＥＶＣマージ候補を含む）が１つの位置だけ後方にシフトされるように適用される。
【０２００】
４．ビデオデコーダ３０は、視差ベクトルを視差動きベクトルに変換し得、視差動きベクトルをマージ候補リストに、リストの第４の位置（インデックスは０から始まる）において追加し得る。これは、ＤＶ候補と称される。変換される視差ベクトルは、たとえば、上記で説明したようにＮＢＤＶまたはＤｏ−ＮＢＤＶを使用して決定された視差ベクトルであってよい。
【０２０１】
ａ．ＤＶ候補は、リストの中の第１および第２の（位置１番および２番における）ＨＥＶＣマージ候補とともにプルーニングされる。それらのうちの１つが利用可能であり、ＤＶ候補に等しい場合、ＤＶ候補は、利用不可能としてマークされる。
【０２０２】
ｂ．リストの中でのＨＥＶＣマージ候補のシフティングは、ＤＶ候補が第４の位置に置かれるように、すなわち、第４の位置の後のＨＥＶＣマージ候補（第４の位置におけるＨＥＶＣマージ候補を含む）が１つの位置だけ後方にシフトされるように適用される。
【０２０３】
５．追加候補が右下のＩＰＭＣである場合、それはステップ１におけるＩＰＭＣと比較される。それがステップ１におけるＩＰＭＣに等しくない場合、または追加候補がＤＳＭＶである場合（追加のＩＰＭＣが利用不可能であるとき）、生成された追加候補は、リストの第６の位置（インデックスは０から始まる）において挿入される。
【０２０４】
ａ．代替として、追加候補は、リストの第５の位置において挿入される。
【０２０５】
ｂ．リストの中でのＨＥＶＣマージ候補のシフティングは、追加候補が所与の位置（第５または第６の位置）に置かれるように、すなわち、所与の位置の後のＨＥＶＣマージ候補（所与の位置におけるＨＥＶＣマージ候補を含む）が１つの位置だけ後方にシフトされるように適用される。
【０２０６】
６．マージ候補リストの中で利用不可能としてマークされている候補を除去し、次いで、ｍａｘＭｒｇＮｕｍ個の候補だけを含めさせるようにリストを切り捨てる。
【０２０７】
[00149]この例に対するワーキングドラフトの実装形態の一例は、ＢＶＳＰ候補が第３の位置において挿入され、ＤＶ候補が第４の位置において挿入され、追加候補が第６の位置において挿入されて、以下に提供される。削除部分は取消し線を用いてマークされ、新たに追加された部分は二重下線を用いてマークされる。
Ｉ．８．５．３．２．１  マージモード用のルーマ動きベクトルのための導出プロセス  このプロセスは、ＭｅｒｇｅＦｌａｇ［ｘＰｂ］［ｙＰｂ］が１に等しいときのみ起動され、ここで、（ｘＰｂ，ｙＰｂ）は、現在のピクチャの左上ルーマサンプルに対する、現在のルーマ予測ブロックの左上サンプルを規定する。
【０２０８】
このプロセスへの入力は、以下の通りである。
【０２０９】
−  現在ピクチャの左上ルーマサンプルに対する、現在のルーマコーディングブロックの左上サンプルのルーマロケーション（ｘＣｂ，ｙＣｂ）、
−  現在ピクチャの左上ルーマサンプルに対する、現在のルーマ予測ブロックの左上サンプルのルーマロケーション（ｘＰｂ，ｙＰｂ）、
−  現在のルーマコーディングブロックのサイズを規定する変数ｎＣｂＳ、
−  ルーマ予測ブロックの幅と高さとを規定する２つの変数ｎＰｂＷおよびｎＰｂＨ、  −  現在のコーディングユニット内での現在の予測ユニットのインデックスを規定する変数ｐａｒｔＩｄｘ。
【０２１０】
このプロセスの出力は、以下の通りである。
【０２１１】
−  ルーマ動きベクトルｍｖＬ０およびｍｖＬ１、
−  参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１、
−  予測リスト利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１、
−  現在ＰＵがビュー間動き予測を使用してコーディングされているかどうかを規定するフラグｉｖｐＭｖＦｌａｇ、
−  現在ＰＵがビュー合成予測を使用してコーディングされているかどうかを規定するフラグｖｓｐＭｏｄｅＦｌａｇ、
−  現在ＰＵの動きデータがサブ予測ブロックサイズの動き精度を有するかどうかを規定するフラグｓｕｂＰｂＭｏｔｉｏｎＦｌａｇ、
−  現在ＰＵが視差導出深度を使用するかどうかを規定するフラグｄｉｓｐＤｅｒｉｖｅｄＤｅｐｔｈＦｌａｇ、
−  変数ｄｉｓｐＤｅｒｉｖｅｄＤｅｐｔｈＶａｌ（ｄｉｓｐＤｅｒｉｖｅｄＤｅｐｔｈＦｌａｇが１に等しいとき）。
【０２１２】
関数ｄｉｆｆｅｒｅｎｔＭｏｔｉｏｎ（Ｎ，Ｍ）は、次のように規定される。
【０２１３】
−  以下の条件のうちの１つが真である場合、ｄｉｆｆｅｒｅｎｔＭｏｔｉｏｎ（Ｎ，Ｍ）は１に等しい。
【０２１４】
−predFlagLXN ！= predFlagLXM (Xが０および１によって置き換えられるものとして)、
−mvLXN != mvLXM (Xが０および１によって置き換えられるものとして)、
−refIdxLXN != refIdxLXM (Xが０および１によって置き換えられるものとして)、  −  そうでない場合、ｄｉｆｆｅｒｅｎｔＭｏｔｉｏｎ（Ｎ，Ｍ）は０に等しい。
【０２１５】
動きベクトルｍｖＬ０およびｍｖＬ１、参照インデックスｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１、ならびに予測利用フラグｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１は、以下の順序付けられたステップによって導出される。
【０２１６】
１．サブクローズＩ．８．５．３．２．１８において規定されるようなベースのマージ候補リストのための導出プロセスが起動され、ルーマロケーション（ｘＣｂ，ｙＣｂ）、ルーマロケーション（ｘＰｂ，ｙＰｂ）、変数ｎＣｂＳ、ｎＰｂＷ、ｎＰｂＨ、およびパーティションインデックスｐａｒｔＩｄｘを入力とし、出力を、修正されたルーマロケーション（ｘＰｂ，ｙＰｂ）、修正された変数ｎＰｂＷおよびｎＰｂＨ、修正された変数ｐａｒｔＩｄｘ、ルーマロケーション（ｘＯｒｉｇＰ，ｙＯｒｉｇＰ）、変数ｎＯｒｉｇＰｂＷおよびｎＯｒｉｇＰｂＨ、マージ候補リストｂａｓｅＭｅｒｇｅＣａｎｄＬｉｓｔ、ルーマ動きベクトルｍｖＬ０ＮおよびｍｖＬ１Ｎ、参照インデックスｒｅｆＩｄｘＬ０ＮおよびｒｅｆＩｄｘＬ１Ｎ、ならびに予測リスト利用フラグｐｒｅｄＦｌａｇＬ０ＮおよびｐｒｅｄＦｌａｇＬ１Ｎであるものとし、ＮはｂａｓｅＭｅｒｇｅＣａｎｄＬｉｓｔのすべての要素によって置き換えられる。
【０２１７】
【数４】
2018164265.tif 000006
【０２１８】
３．ｉｖ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ［ｎｕｈ＿ｌａｙｅｒ＿ｉｄ］およびＤｉｓｐＡｖａｉｌａｂｉｌｉｔｙＩｄｃ［ｘＰｂ］［ｙＰｂ］に応じて、以下が適用される。
【０２１９】
−  ｉｖ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ［ｎｕｈ＿ｌａｙｅｒ＿ｉｄ］が０に等しいか、またはＤｉｓｐＡｖａｉｌａｂｉｌｉｔｙＩｄｃ［ｘＰｂ］［ｙＰｂ］がＤＩＳＰ＿ＮＯＮＥに等しくない場合、フラグａｖａｉｌａｂｌｅＦｌａｇＩｖＭＣ、ａｖａｉｌａｂｌｅＩｖＭＣＳｈｉｆｔ、およびａｖａｉｌａｂｌｅＦｌａｇＩｖＤＣは０に等しく設定される。
【０２２０】
−  そうでない（ｉｖ＿ｍｖ＿ｐｒｅｄ＿ｆｌａｇ［ｎｕｈ＿ｌａｙｅｒ＿ｉｄ］が１に等しい）場合、サブクローズＩ．８．５．３．２．１０において規定されるようなビュー間マージ候補のための導出プロセスが起動され、ルーマロケーション（ｘＰｂ，ｙＰｂ）、変数ｎＰｂＷおよびｎＰｂＨを入力とし、出力は、利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＩｖＭＣ、ａｖａｉｌａｂｌｅＩｖＭＣＳｈｉｆｔ、およびａｖａｉｌａｂｌｅＦｌａｇＩｖＤＣ、参照インデックスｒｅｆＩｄｘＬＸＩｖＭＣ、ｒｅｆＩｄｘＬＸＩｖＭＣＳｈｉｆｔ、およびｒｅｆＩｄｘＬＸＩｖＤＣ、予測リスト利用フラグｐｒｅｄＦｌａｇＬＸＩｖＭＣ、ｐｒｅｄＦｌａｇＬＸＩｖＭＣＳｈｉｆｔ、およびｐｒｅｄＦｌａｇＬＸＩｖＤＣ、ならびに動きベクトルｍｖＬＸＩｖＭＣ、ｍｖＬＸＩｖＭＣＳｈｉｆｔ、およびｍｖＬＸＩｖＤＣ（Ｘが、それぞれ、０または１であるものとして）に割り当てられる。
【０２２１】
４．ｖｉｅｗ＿ｓｙｎｔｈｅｓｉｓ＿ｐｒｅｄ＿ｆｌａｇ［ｎｕｈ＿ｌａｙｅｒ＿ｉｄ］、ＤｉｓｐＡｖａｉｌａｂｉｌｉｔｙＩｄｃ［ｘＰｂ］［ｙＰｂ］、およびｄｂｂｐ＿ｆｌａｇ［ｘＰｂ］［ｙＰｂ］に応じて、以下が適用される。
【０２２２】
−  ｖｉｅｗ＿ｓｙｎｔｈｅｓｉｓ＿ｐｒｅｄ＿ｆｌａｇ［ｎｕｈ＿ｌａｙｅｒ＿ｉｄ］が０に等しいか、ＤｉｓｐＡｖａｉｌａｂｉｌｉｔｙＩｄｃ［ｘＰｂ］［ｙＰｂ］がＤＩＳＰ＿ＮＯＮＥに等しいか、またはｄｂｂｐ＿ｆｌａｇ［ｘＰｂ］［ｙＰｂ］が１に等しい場合、フラグａｖａｉｌａｂｌｅＦｌａｇＶＳＰは０に等しく設定される。
【０２２３】
−  そうでない（ｖｉｅｗ＿ｓｙｎｔｈｅｓｉｓ＿ｐｒｅｄ＿ｆｌａｇ［ｎｕｈ＿ｌａｙｅｒ＿ｉｄ］が１に等しく、ＤｉｓｐＡｖａｉｌａｂｉｌｉｔｙＩｄｃ［ｘＰｂ］［ｙＰｂ］がＤＩＳＰ＿ＮＯＮＥに等しくなく、ｄｂｂｐ＿ｆｌａｇ［ｘＰｂ］［ｙＰｂ］が０に等しい）場合、サブクローズＩ．８．５．３．２．１３において規定されるようなビュー合成予測マージ候補のための導出プロセスが起動され、ルーマロケーション（ｘＰｂ，ｙＰｂ）ならびに変数ｎＰｂＷおよびｎＰｂＨを入力とし、出力は、利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＶＳＰ、参照インデックスｒｅｆＩｄｘＬ０ＶＳＰおよびｒｅｆＩｄｘＬ１ＶＳＰ、予測リスト利用フラグｐｒｅｄＦｌａｇＬ０ＶＳＰおよびｐｒｅｄＦｌａｇＬ１ＶＳＰ、ならびに動きベクトルｍｖＬ０ＶＳＰおよびｍｖＬ１ＶＳＰである。
【０２２４】
５．ｍｐｉ＿ｆｌａｇ［ｎｕｈ＿ｌａｙｅｒ＿ｉｄ］に応じて、以下が適用される。
【０２２５】
−  ｍｐｉ＿ｆｌａｇ［ｎｕｈ＿ｌａｙｅｒ＿ｉｄ］が０に等しい場合、変数ａｖａｉｌａｂｌｅＦｌａｇＴおよびａｖａｉｌａｂｌｅＦｌａｇＤは０に等しく設定される。
【０２２６】
−  そうでない（ｍｐｉ＿ｆｌａｇ［ｎｕｈ＿ｌａｙｅｒ＿ｉｄ］が１に等しい）場合、以下が適用される。
【０２２７】
−  サブクローズＩ．８．５．３．２．１６において規定されるようなレイヤ間予測されたサブ予測ブロック動きベクトル候補のための導出プロセスが起動され、ルーマロケーション（ｘＰｂ，ｙＰｂ）、変数ｎＰｂＷおよびｎＰｂＨ、−１に等しい変数ｒｅｆＶｉｅｗＩｄｘ、ならびに（０，０）に等しい変数ｍｖＤｉｓｐを入力とし、出力は、予測利用フラグｐｒｅｄＦｌａｇＬＸＴ、動きベクトルｍｖＬＸＴ、および参照インデックスｒｅｆＩｄｘＬＸＴ（Ｘが、それぞれ、０または１であるものとして）である。
【０２２８】
−  フラグａｖａｉｌａｂｌｅＦｌａｇＴは（ｐｒｅｄＦｌａｇＬ０Ｔ｜｜ｐｒｅｄＦｌａｇＬ１Ｔ）に等しく設定される。
【０２２９】
−  サブクローズＩ．８．５．３．２．１９において規定されるような視差導出されたマージ候補のための導出プロセスが起動され、ルーマロケーション（ｘＰｂ，ｙＰｂ）、変数ｎＰｂＷおよびｎＰｂＨを入力とし、出力は、フラグａｖａｉｌａｂｌｅＦｌａｇＤ、予測利用フラグｐｒｅｄＦｌａｇＬＸＤ、参照インデックスｒｅｆＩｄｘＬＸＤ、動きベクトルｍｖＬＸＤ（Ｘが、それぞれ、０または１であるものとして）、および変数ｄｉｓｐＤｅｒｉｖｅｄＤｅｐｔｈＶａｌである。
【０２３０】
６．変数ａｖａｉｌａｂｌｅＦｌａｇＩｖＤＣＳｈｉｆｔは０に等しく設定され、ａｖａｉｌａｂｌｅＦｌａｇＩｖＭＣＳｈｉｆｔが０に等しく、ＤｅｐｔｈＦｌａｇが０に等しく、ｉが（５＋ＮｕｍＥｘｔｒａＭｅｒｇｅＣａｎｄ）よりも小さいとき、サブクローズＩ．８．５．３．２．１５において規定されるようなシフトされた視差マージ候補のための導出プロセスが起動され、
【０２３１】
【数５】
2018164265.tif 000007
【０２３２】
出力は、フラグａｖａｉｌａｂｌｅＦｌａｇＩｖＤＣＳｈｉｆｔ、予測利用フラグｐｒｅｄＦｌａｇＬ０ＩｖＤＣＳｈｉｆｔおよびｐｒｅｄＦｌａｇＬ１ＩｖＤＣＳｈｉｆｔ、参照インデックスｒｅｆＩｄｘＬ０ＩｖＤＣＳｈｉｆｔおよびｒｅｆＩｄｘＬ１ＩｖＤＣＳｈｉｆｔ、ならびに動きベクトルｍｖＬ０ＩｖＤＣＳｈｉｆｔおよびｍｖＬ１ＩｖＤＣＳｈｉｆｔである。
【０２３３】
７．マージ候補リストｅｘｔＭｅｒｇｅＣａｎｄＬｉｓｔは、次のように構成される。
【０２３４】
【数６】
2018164265.tif 000008
【０２３５】
【数７】
2018164265.tif 000009
【０２３６】
【数８】
2018164265.tif 000010
【０２３７】
１０．変数Ｎは、以下に規定されるように導出される。
【０２３８】
−  （ｎＯｒｉｇＰｂＷ＋ｎＯｒｉｇＰｂＨ）が１２に等しい場合、以下が適用される。
N = baseMergeCandList[MergeIdx[xOrigP][yOrigP]]              （I-105）
−  そうでない（（ｎＯｒｉｇＰｂＷ＋ｎＯｒｉｇＰｂＨ）が１２に等しくない）場合、以下が適用される。
N = extMergeCandList[MergeIdx[xOrigP][yOrigP]]              （I-106）
【０２３９】
【数９】
2018164265.tif 000011
【０２４０】
Ｉ．８．５．３．２．１５  シフトされた視差マージ候補のための導出プロセス
ＤｅｐｔｈＦｌａｇが１に等しいとき、このプロセスは起動されない。
【０２４１】
このプロセスへの入力は、以下の通りである。
【０２４２】
−  現在ピクチャの左上ルーマサンプルに対する、現在のルーマ予測ブロックの左上サンプルのルーマロケーション（ｘＰｂ，ｙＰｂ）、
−  現在のルーマ予測ブロックの幅と高さとを規定する２つの変数ｎＰｂＷおよびｎＰｂＨ、
−  利用可能性フラグａｖａｉｌａｂｌｅＦｌａｇＮ、
−  参照インデックスｒｅｆＩｄｘＬ０ＮおよびｒｅｆＩｄｘＬ１Ｎ、
−  予測リスト利用フラグｐｒｅｄＦｌａｇＬ０ＮおよびｐｒｅｄＦｌａｇＬ１Ｎ、  −  動きベクトルｍｖＬ０ＮおよびｍｖＬ１Ｎ、
−  マージ候補リストｍｅｒｇｅＣａｎｄＬｉｓｔ、
−  リストｍｅｒｇｅＣａｎｄＬｉｓｔの中のマージ候補の数を規定する変数ｎｕｍＭｅｒｇｅＣａｎｄ。
【０２４３】
このプロセスの出力は、以下の通りである。
【０２４４】
−  シフトされた視差マージ候補が利用可能であるかどうかを規定するフラグａｖａｉｌａｂｌｅＦｌａｇＩｖＤＣＳｈｉｆｔ、
−  予測利用フラグｐｒｅｄＦｌａｇＬ０ＩｖＤＣＳｈｉｆｔおよびｐｒｅｄＦｌａｇＬ１ＩｖＤＣＳｈｉｆｔ、
−  参照インデックスｒｅｆＩｄｘＬ０ＩｖＤＣＳｈｉｆｔおよびｒｅｆＩｄｘＬ１ＩｖＤＣＳｈｉｆｔ、
−  動きベクトルｍｖＬ０ＩｖＤＣＳｈｉｆｔおよびｍｖＬ１ＩｖＤＣＳｈｉｆｔ。
【０２４５】
【数１０】
2018164265.tif 000012
【０２４６】
ａｖａｉｌａｂｌｅＦｌａｇＩｖＤＣＳｈｉｆｔが０に等しく、ａｖａｉｌａｂｌｅＦｌａｇＩｖＤＣが１に等しいとき、ａｖａｉｌａｂｌｅＦｌａｇＩｖＤＣＳｈｉｆｔは１に設定され、０〜１（両端値を含む）であるＸに対して以下が適用される。
【０２４７】
−  ｐｒｅｄＦｌａｇＬＸＩｖＤＣＳｈｉｆｔはｐｒｅｄＦｌａｇＬＸＩｖＤＣに等しく設定される。
【０２４８】
−  ｒｅｆＩｄｘＬＸＩｖＤＣＳｈｉｆｔはｒｅｆＩｄｘＬＸＩｖＤＣに等しく設定される。
【０２４９】
−  ｍｖＬＸＩｖＤＣＳｈｉｆｔ［０］はｍｖＬ０ＩｖＤＣ［０］＋４に等しく設定される。
【０２５０】
−  ｍｖＬＸＩｖＤＣＳｈｉｆｔ［１］はｍｖＬ０ＩｖＤＣ［１］に等しく設定される。
【０２５１】
【数１１】
2018164265.tif 000013
【０２５２】
Ｉ．８．５．３．２．１８  ベースマージ候補リストのための導出プロセス
サブクローズ８．５．３．２．１における仕様が、以下の修正とともに適用される。
【０２５３】
−  ステップ９および１０が除去される。
【０２５４】
−  「ｓｌｉｃｅ＿ｔｙｐｅがＢに等しいとき、複合双予測マージ候補のための導出プロセスは」が、「ｓｌｉｃｅ＿ｔｙｐｅがＢに等しく、ｎｕｍＭｅｒｇｅＣａｎｄが５よりも小さいとき、複合双予測マージ候補のための導出プロセスは」によって置き換えられる。
【０２５５】
−  「サブクローズ８．５．３．２．７における時間ルーマ動きベクトル予測が起動される」が、「サブクローズＩ．８．５．３．２．７における時間ルーマ動きベクトル予測が起動される」によって置き換えられる。
【０２５６】
−  プロセスの出力は、以下によって置き換えられる。
【０２５７】
−  現在ピクチャの左上ルーマサンプルに対する、現在のルーマ予測ブロックの左上サンプルの修正されたルーマロケーション（ｘＰｂ，ｙＰｂ）、
−  ルーマ予測ブロックの修正された幅と高さとを規定する２つの変数ｎＰｂＷおよびｎＰｂＨ、
−  現在のコーディングユニット内での現在の予測ユニットの修正されたインデックスを規定する、修正された変数ｐａｒｔＩｄｘ、
−  現在ピクチャの左上ルーマサンプルに対する、現在のルーマ予測ブロックの左上サンプルの元のルーマロケーション（ｘＯｒｉｇＰ，ｙＯｒｉｇＰ）、
−  ルーマ予測ブロックの元の幅と高さとを規定する２つの変数ｎＯｒｉｇＰｂＷおよびｎＯｒｉｇＰｂＨ、
【０２５８】
【数１２】
2018164265.tif 000014
【０２５９】
−  ＮがｍｅｒｇｅＣａｎｄＬｉｓｔのすべてのエントリによって置き換えられるものとして、ルーマ動きベクトルｍｖＬ０ＮおよびｍｖＬ１Ｎ、
−  ＮがｍｅｒｇｅＣａｎｄＬｉｓｔのすべてのエントリによって置き換えられるものとして、参照インデックスｒｅｆＩｄｘＬ０ＮおよびｒｅｆＩｄｘＬ１Ｎ。
【０２６０】
ＮがｍｅｒｇｅＣａｎｄＬｉｓｔのすべての要素によって置き換えられるものとして、予測リスト利用フラグｐｒｅｄＦｌａｇＬ０ＮおよびｐｒｅｄＦｌａｇＬ１Ｎ。
[00150]第２の例に対する動きベクトル候補リストをビデオデコーダ３０がどのように生成し得るのかという説明が、次に記載される。この第２の例は、上記で説明した第１の例と類似である。主な差異は、この例では、ビデオデコーダ３０が、ＢＶＳＰマージ候補を動きベクトル候補リストの中に、ＤＶ候補の後に挿入することである。
【０２６１】
１．ビデオデコーダ３０は、ＨＥＶＣマージリスト生成プロセスを起動する。
【０２６２】
ａ．空間マージ候補（ＳＭＣ）Ａ1、Ｂ1、およびＢ0が、マージ候補リストに追加される。
【０２６３】
ｂ．空間マージ候補（ＳＭＣ）Ａ0およびＢ2が、マージ候補リストに追加される。
【０２６４】
ｃ．時間マージ候補が、現在の設計のようにマージ候補リストに追加される（ＴＭＶＰ候補が３Ｄ−ＨＥＶＣにおいて変更されたことに留意されたい）。
【０２６５】
２．ビデオデコーダ３０は、視差ベクトルを導出し、視差ベクトルに基づいて現在ＰＵの対応するブロックを識別する。ＩＰＭＣは、利用可能となるように導出された場合、マージ候補リストの始まりに追加される。
【０２６６】
ａ．ＩＰＭＣは、すでにリストの中にある第１および第２のマージ候補とともにプルーニングされる。それらが両方とも利用可能であり、一方がＩＰＭＶに等しい場合、それはリストから除去される。
【０２６７】
ｂ．既存の候補のシフティングは、ＩＰＭＣおよび他の残りのＨＥＶＣマージ候補が連続的に配置されるように適用される。
【０２６８】
３．ビデオデコーダ３０は、視差ベクトルを視差動きベクトルに変換し、視差動きベクトルをマージ候補リストに、リストの第３の位置において追加する（インデックスは０から始まり、利用可能なものが２個以下でないなら、最初の利用可能な位置である）。これは、ＤＶ候補と称される。視差ベクトルは、たとえば、上記で説明したＮＢＤＶまたはＤｏ−ＮＢＤＶ技法を使用して決定され得る。
【０２６９】
ａ．現在のＤＶ候補が位置Ｔにあると仮定し、ここにおいて、Ｔは残りのＨＥＶＣ候補の数の最小値＋１、または３に等しい（１、２、または３であり得る）。ＤＶ候補は、１〜Ｔ−１に等しいインデックスを有する、リスト（ＣａｎＬｉｓｔ）の中のマージ候補とともにプルーニングされる。
【０２７０】
【数１３】
2018164265.tif 000015
【０２７１】
ｂ．既存の候補のシフティングは、ＩＰＭＣ、ＤＶ候補の前のＨＥＶＣマージ候補、および他の残りのＨＥＶＣマージ候補が連続的に配置されるように適用される。
【０２７２】
４．現在スライスに対してＢＶＳＰがイネーブルにされている場合、ビデオデコーダ３０は、ＢＶＳＰマージ候補をマージ候補リストの中に、最初の利用可能な位置に挿入する。
【０２７３】
５．追加候補が右下のＩＰＭＣであり、利用可能となるように導出された場合、ビデオデコーダ３０は、それをステップ１において導出されたＩＰＭＣと比較する。追加候補がステップ１におけるＩＰＭＣに等しくない場合、または追加候補がＤＳＭＶである場合（追加ＩＰＭＣが利用不可能であるとき）、ビデオ復号３０は、追加候補をマージリストの終わりにおいて（最初の利用可能な位置に）挿入する。
【０２７４】
６．有効な候補の数が最大数よりも少ない場合、ビデオデコーダ３０は、他の動きベクトルマージ候補をマージ候補リストに追加し得る。
【０２７５】
[00151]第３の例に対するマージリスト生成プロセス全体の説明が、次に記載される。この例では、ＨＥＶＣマージリスト生成プロセスを起動するとき、空間隣接ブロックおよび時間隣接ブロックから生成される候補を含む、部分的なＨＥＶＣマージリストが生成され得る。次いで、３Ｄ−ＨＥＶＣマージ候補が生成され、リストに挿入される。最後に、マージ候補数が依然として最大数よりも少ない場合、追加の仮想候補が生成される。この例では、ＨＥＶＣマージリスト生成プロセスを起動するとき、完全なＨＥＶＣマージリスト（マージ候補の最大数を有する）が生成される。次いで、追加の３Ｄ−ＨＥＶＣマージ候補が生成され、リストに挿入される。リストサイズが最大数よりも大きい場合、それは切り捨てられる。
【０２７６】
[00152]ｍａｘＭｒｇＮｕｍを３Ｄ−ＨＥＶＣにおける最大マージ候補数として示す。ＨＥＶＣマージ候補は、ＨＥＶＣマージリスト生成プロセスにおいて導出されるマージ候補を指す。
【０２７７】
１．ビデオデコーダ３０は、ｍａｘＭｒｇＮｕｍ個のマージ候補を生成するために、ＨＥＶＣマージリスト生成プロセスを起動する。
【０２７８】
ａ．空間マージ候補（ＳＭＣ）Ａ1、Ｂ1、およびＢ0が、マージ候補リストに追加される。
【０２７９】
ｂ．空間マージ候補（ＳＭＣ）Ａ0およびＢ2が、マージ候補リストに追加される。
【０２８０】
ｃ．時間マージ候補が、現在の設計のようにマージ候補リストに追加される（ＴＭＶＰ候補が３Ｄ−ＨＥＶＣにおいて変更されたことに留意されたい）。
【０２８１】
ｄ．仮想候補が、３Ｄ−ＨＥＶＣにおける現在の設計のようにマージ候補リストに追加される。
【０２８２】
２．ビデオデコーダ３０は、視差ベクトルを導出し、視差ベクトルに基づいて現在ＰＵの対応するブロックを識別する。ビデオデコーダ３０は、利用可能となるように導出された場合、ＩＰＭＣをマージ候補リストの始まりに追加する。
【０２８３】
ａ．ＩＰＭＣは、すでにリストの中にある第１および第２のマージ候補とともにプルーニングされ、それらのうちの１つがＩＰＭＣに等しい場合、それは利用不可能としてマークされる。
【０２８４】
ｉ．第１のＨＥＶＣマージ候補と第２のＨＥＶＣマージ候補の両方がＩＰＭＣに等しい場合、第１のＨＥＶＣマージ候補だけが利用不可能としてマークされる。
【０２８５】
ｉｉ．代替として、第１のＨＥＶＣマージ候補と第２のＨＥＶＣマージ候補の両方がＩＰＭＣに等しい場合、それらの両方が利用不可能としてマークされる。
【０２８６】
ｂ．リストの中でのＨＥＶＣマージ候補のシフティングは、ＩＰＭＣが第１の位置に置かれるように、すなわち、すべてのＨＥＶＣマージ候補が１つの位置だけ後方にシフトされるように適用される。
【０２８７】
３．ビデオデコーダ３０は、視差ベクトルを視差動きベクトルに変換し得、視差動きベクトルをマージ候補リストに、リストの第３の位置（インデックスは０から始まる）において追加し得る。これは、ＤＶ候補と称される。変換される視差ベクトルは、たとえば、上記で説明したようにＮＢＤＶまたはＤｏ−ＮＢＤＶを使用して決定された視差ベクトルであってよい。
【０２８８】
ａ．代替として、ＤＶ候補は、動きベクトル候補リストに、リストの第２の位置において追加される。
【０２８９】
ｂ．代替として、ＤＶ候補は、動きベクトル候補リストに、リストの第４の位置において追加される。
【０２９０】
ｃ．ＤＶ候補が第３または第４の位置において追加されるとき、それはリストの中の第１および第２のＨＥＶＣマージ候補とともにプルーニングされる。それらのうちの１つが利用可能であり、ＤＶ候補に等しい場合、ＤＶ候補は、利用不可能としてマークされる。
【０２９１】
ｄ．代替として、ＤＶ候補が第２の位置において追加されるとき、それはリストの中の第１および第２のＨＥＶＣマージ候補とともにプルーニングされる。第１のＨＥＶＣマージ候補が利用可能であり、ＤＶ候補に等しい場合、ＤＶ候補は利用不可能としてマークされ、そうでなく、第２のＨＥＶＣマージ候補が利用可能であり、ＤＶ候補に等しい場合、第２のＨＥＶＣ候補は利用不可能としてマークされる。
【０２９２】
ｆ．リストの中でのＨＥＶＣマージ候補のシフティングは、ＤＶ候補が所与の位置（第２、第３、または第４の位置）に置かれるように、すなわち、所与の位置の後のＨＥＶＣマージ候補（所与の位置におけるＨＥＶＣマージ候補を含む）が１つの位置だけ後方にシフトされるように適用される。
【０２９３】
４．ビデオデコーダ３０がＤＶ候補をリストの第２の位置において挿入する場合、ビデオデコーダ３０は、現在スライスに対してＢＶＳＰがイネーブルにされている場合、ＢＶＳＰマージ候補を動きベクトル候補リストの中に、リストの第３の位置（インデックスは０から始まる）において挿入し得る。
【０２９４】
ａ．代替として、ＤＶ候補がリストの第２の位置において挿入されるとき、ＢＶＳＰマージ候補は、リストの第４の位置において挿入される。
【０２９５】
ｂ．代替として、ＤＶ候補がリストの第３の位置において挿入されるとき、ＢＶＳＰマージ候補は、リストの第４の位置において挿入される。
【０２９６】
ｃ．代替として、ＢＶＳＰマージ候補は、リストの第５の位置において挿入される。
【０２９７】
ｄ．リストの中でのＨＥＶＣマージ候補のシフティングは、ＢＶＳＰが所与の位置（第３、第４、または第５の位置）に置かれるように、すなわち、所与の位置の後のＨＥＶＣマージ候補（所与の位置におけるＨＥＶＣマージ候補を含む）が１つの位置だけ後方にシフトされるように適用される。
【０２９８】
５．追加候補が右下のＩＰＭＣであり、利用可能となるように導出された場合、それはステップ１におけるＩＰＭＣと比較される。それがステップ１におけるＩＰＭＣに等しくない場合、または追加候補がＤＳＭＶである場合（追加のＩＰＭＣが利用不可能であるとき）、生成された追加候補は、リストの第６の位置（インデックスは０から始まる）において挿入される。
【０２９９】
ａ．代替として、追加候補は、リストの第７の位置において挿入される。
【０３００】
ｂ．リストの中でのＨＥＶＣマージ候補のシフティングは、追加候補が所与の位置（第６または第７の位置）に置かれるように、すなわち、所与の位置の後のＨＥＶＣマージ候補（所与の位置におけるＨＥＶＣマージ候補を含む）が１つの位置だけ後方にシフトされるように適用される。
【０３０１】
６．ビデオデコーダ３０は、利用不可能としてマークされている候補を候補リストから除去し得、次いで、それがｍａｘＭｒｇＮｕｍ個の候補だけを含むようにリストを切り捨て得る。
【０３０２】
[00153]図８は、本開示で説明する動きベクトル候補リスト生成技法を実施し得るビデオエンコーダの一例を示すブロック図である。たとえば、図８は、３Ｄ−ＡＶＣ準拠または３Ｄ−ＨＥＶＣ準拠のいずれかのビデオエンコーダを表し得る、ビデオエンコーダ２０を示す。ビデオエンコーダ２０は、ＰＵ、ＴＵ、およびＣＵなどの、いくつかのＨＥＶＣ用語を使用して説明されるが、ビデオエンコーダ２０に関して説明する技法がＨ．２６４規格に従ってコーディングされたビデオを用いて実行され得ることも理解されたい。
【０３０３】
[00154]ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行し得る。たとえば、ビデオエンコーダ２０は、インター予測符号化またはイントラ予測符号化を実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオにおける空間冗長性を低減または除去するために、空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内もしくは隣接ピクチャ内の時間冗長性または異なるビューの中のピクチャ間の冗長性を低減または除去するために、時間予測またはビュー間予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【０３０４】
[00155]図８の例では、ビデオエンコーダ２０は、ビデオデータメモリ４０と、予測処理ユニット４２と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化処理ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４２は、動きおよび視差推定ユニット４４と、動きおよび視差補償ユニット４６と、イントラ予測ユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化処理ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するために、デブロッキングフィルタ（図８に示さず）も含まれ得る。所望される場合、デブロッキングフィルタは、通常、加算器６２の出力をフィルタ処理することになる。デブロッキングフィルタに加えて、追加のループフィルタ（インループまたはポストループ）も使用され得る。
【０３０５】
[00156]ビデオデータメモリ４０は、ビデオエンコーダ２０の構成要素によって符号化されるべきビデオデータを記憶し得る。ビデオデータメモリ４０に記憶されるビデオデータは、たとえば、ビデオソース１８から取得され得る。参照ピクチャメモリ６４は、（たとえば、イントラ予測コーディングモードまたはインター予測コーディングモードとも呼ばれる、イントラコーディングモードまたはインターコーディングモードで）ビデオエンコーダ２０によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する復号ピクチャバッファ（ＤＰＢの一例である。ビデオデータメモリ４０および参照ピクチャメモリ６４は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ（登録商標））、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ４０および参照ピクチャメモリ６４は、同じメモリデバイスまたは別個のメモリデバイスによって設けられ得る。様々な例では、ビデオデータメモリ４０は、ビデオエンコーダ２０の他の構成要素とともにオンチップであってよく、またはそれらの構成要素に対してオフチップであってもよい。
【０３０６】
[00157]ビデオエンコーダ２０がビデオデータを受信し、区分ユニット（図示せず）がデータをビデオブロックに区分する。この区分はまた、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分（たとえば、マクロブロックパーティション、およびパーティションのサブブロック）を含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロック（場合によっては、タイルと呼ばれるビデオブロックのセット）に分割され得る。予測処理ユニット４２は、誤差結果（たとえば、コーディングレートおよびひずみレベル）に基づいて、現在ビデオブロックに対して、複数のイントラコーディングモード（イントラ予測コーディングモード）のうちの１つ、または複数のインターコーディングモード（インター予測コーディングモード）のうちの１つなどの、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４２は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に提供し得、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に提供し得る。
【０３０７】
[00158]予測処理ユニット４２内のイントラ予測ユニット４８は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライスの中の１つまたは複数の隣接ブロックに対して、現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット４２内の動きおよび視差推定ユニット４４ならびに動きおよび視差補償ユニット４６は、時間圧縮を行うために、１つまたは複数の参照ピクチャの中の１つまたは複数の予測ブロックに対して、現在ビデオブロックのインター予測コーディングを実行する。
【０３０８】
[00159]動きおよび視差推定ユニット４４は、ビデオシーケンス用の所定のパターンに従って、ビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンスの中のビデオスライスを、ＰスライスまたはＢスライスとして指定し得る。動きおよび視差推定ユニット４４ならびに動きおよび視差補償ユニット４６は、高度に統合され得るが、概念的な目的のために別々に示される。動きおよび視差推定ユニット４４によって実行される動き推定は、ビデオブロックの動きを推定する、動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレーム内または現在ピクチャ内のビデオブロックの変位を示し得る。
【０３０９】
[00160]予測ブロックは、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって決定され得るピクセル差分の観点から、コーディングされるべきビデオブロックと密に一致すると見られるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置に関する値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動きおよび視差推定ユニット４４は、フルピクセル位置および分数ピクセル位置に対して動き探索を実行し得、分数ピクセル精度で動きベクトルを出力し得る。
【０３１０】
[00161]動きおよび視差推定ユニット４４は、ビデオブロックの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化（インター予測コード化）スライスの中のビデオブロックのための動きベクトルを計算する。参照ピクチャは、その各々が参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する、第１の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０）または第２の参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ１）から選択され得る。動きおよび視差推定ユニット４４は、計算された動きベクトルを、エントロピー符号化ユニット５６ならびに動きおよび視差補償ユニット４６へ送る。
【０３１１】
[00162]動きおよび視差補償ユニット４６によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴ってよく、場合によっては、サブピクセル精度への補間を実行し得る。現在ビデオブロックのための動きベクトルを受信すると、動きおよび視差補償ユニット４６は、動きベクトルが参照ピクチャリストのうちの１つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算することによって残差ビデオブロックを形成し、ピクセル差分値を形成する。ピクセル差分値は、ブロックに対する残差データを形成し、ルーマとクロマの両方の差分成分を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動きおよび視差補償ユニット４６はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０によって使用するための、ビデオブロックおよびビデオスライスに関連するシンタックス要素を生成し得る。
【０３１２】
[00163]動きおよび視差補償ユニット４６は、本開示で説明する動きベクトル候補リスト構成技法を実行するように構成され得る。一例として、動きおよび視差補償ユニット４６は、１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加し得、動きベクトル候補リストの中の１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別し得、視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定し得、ＤＳＭＶ候補を動きベクトル候補リストに追加し得る。
【０３１３】
[00164]別の例として、動きおよび視差補償ユニット４６は、一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析し得、一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析し得、一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、現在ブロックのための視差ベクトルに基づいて決定し得、ここにおいて、１つまたは複数の第１の動きベクトル候補、１つまたは複数の第２の動きベクトル候補、および１つまたは複数の追加候補が、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、一時的動きベクトル候補リストから除去し得る。
【０３１４】
[00165]別の例として、動きおよび視差補償ユニット４６は、１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加し得、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加し得、視差ベクトルに基づいて、追加候補を決定し得、追加候補を動きベクトル候補リストの中の固定位置からの候補と比較し得る。
【０３１５】
[00166]上記で説明したように、動きおよび視差推定ユニット４４ならびに動きおよび視差補償ユニット４６によって実行されるインター予測の代替として、イントラ予測ユニット４８が現在ブロックをイントラ予測してもよい。詳細には、イントラ予測ユニット４８は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット４８は、たとえば、別個の符号化パスの間、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４８（または、いくつかの例では、モード選択ユニット）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測ユニット４８は、テストされた様々なイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し得、テストされたモードの中から最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されたビットレート（すなわち、いくつかのビット）を決定する。イントラ予測ユニット４８は、どのイントラ予測モードがブロックに対して最良のレートひずみ値を示すのかを決定するために、様々な符号化ブロックに対するひずみおよびレートから比を計算し得る。
【０３１６】
[00167]いずれの場合も、ブロックのためのイントラ予測モードを選択した後、イントラ予測ユニット４８は、ブロックに対して選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供し得る。エントロピー符号化ユニット５６は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックに対してコンテキストを符号化することの定義と、コンテキストの各々に対して使用すべき、最確（most probable）イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを、送信されるビットストリームに含め得る。
【０３１７】
[00168]予測処理ユニット４２がインター予測またはイントラ予測のいずれかを介して現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロックの中の残差ビデオデータは、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【０３１８】
[00169]変換処理ユニット５２は、得られた変換係数を量子化処理ユニット５４に送り得る。量子化処理ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化処理ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行してもよい。
【０３１９】
[00170]量子化の後、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディング、または別のエントロピー符号化方法もしくは技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後、符号化ビットストリームは、ビデオデコーダ３０へ送信されてよく、または後の送信もしくはビデオデコーダ３０による後の取出しのためにアーカイブされてもよい。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライスのための、動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【０３２０】
[00171]逆量子化処理ユニット５８および逆変換処理ユニット６０は、参照ピクチャの参照ブロックとして後で使用するためのピクセル領域における残差ブロックを再構成するために、それぞれ、逆量子化および逆変換を適用する。動きおよび視差補償ユニット４６は、残差ブロックを参照ピクチャリストのうちの１つの中の参照ピクチャのうちの１つの予測ブロックに加算することによって、参照ブロックを計算し得る。動きおよび視差補償ユニット４６はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用し得る。加算器６２は、参照ピクチャメモリ６４に記憶するための参照ブロックを生成するために、再構成された残差ブロックを動きおよび視差補償ユニット４６によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャの中のブロックをインター予測するための参照ブロックとして、動きおよび視差推定ユニット４４ならびに動きおよび視差補償ユニット４６によって使用され得る。
【０３２１】
[00172]このようにして、ビデオエンコーダ２０は、本開示で説明する１つまたは複数の例示的な技法を実施するように構成され得るビデオエンコーダの一例である。たとえば、ビデオデータメモリ４０はビデオデータを記憶する。ビデオデータは、その各々をビデオエンコーダ２０が３Ｄ−ＡＶＣ準拠または３Ｄ−ＨＥＶＣ準拠のビデオコーディングプロセスにおいて符号化すべき、依存ビューのテクスチャビデオコンポーネントとテクスチャビューコンポーネントに対応する深度ビューコンポーネントとを含み得る。
【０３２２】
[00173]本開示で説明する技法では、ビデオエンコーダ２０は、３Ｄ−ＡＶＣ準拠または３Ｄ−ＨＥＶＣ準拠のビデオコーディングプロセスにおいて、ビデオデータの依存ビューのテクスチャビューコンポーネントを符号化するように構成された１つまたは複数のプロセッサを含み得る。上記で説明したように、３Ｄ−ＡＶＣにおける各ビューは、テクスチャビューコンポーネントと深度ビューコンポーネントとを含む。３Ｄ−ＡＶＣでは、１つのベースビューおよび１つまたは複数の拡張ビューまたは依存ビューがあり、ここで、１つまたは複数の拡張ビューまたは依存ビューのテクスチャビューコンポーネントはビュー間予測され得る。
【０３２３】
[00174]テクスチャビューコンポーネントを符号化するために、ビデオエンコーダ２０は、少なくとも１つの隣接ブロックが、依存ビュー以外のビューの中のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されているかどうかを決定するために、テクスチャビューコンポーネントの中の現在ブロックの１つまたは複数の隣接ブロックの動き情報を評価するように構成され得る。ビデオエンコーダ２０は、隣接ブロックのうちの１つのための視差動きベクトルに基づいて、現在ブロックのための視差ベクトルを導出し得る。テクスチャ優先コーディングの場合、ビデオエンコーダ２０は、テクスチャビューコンポーネントを符号化することに続いて、テクスチャビューコンポーネントに対応する、ビデオデータの深度ビューコンポーネントを符号化し得る。
【０３２４】
[00175]いくつかの例では、ビデオエンコーダ２０の予測処理ユニット４２は、本開示で説明する例を実施するように構成されたプロセッサの一例であり得る。いくつかの例では、予測処理ユニット４２以外のユニット（たとえば、１つまたは複数のプロセッサ）が、上記で説明した例を実施してもよい。いくつかの例では、予測処理ユニット４２は、ビデオエンコーダ２０の１つまたは複数の他のユニットとともに、上記で説明した例を実施してもよい。いくつかの例では、ビデオエンコーダ２０のプロセッサ（図８に示さず）は、単独で、またはビデオエンコーダ２０の他のプロセッサとともに、上記で説明した例を実施してもよい。
【０３２５】
[00176]図９は、本開示で説明する動きベクトル候補リスト生成技法を実施し得るビデオデコーダの一例を示すブロック図である。図９は、本開示で説明する技法を実施し得るビデオデコーダの一例を示すブロック図である。たとえば、図９は、３Ｄ−ＡＶＣ準拠または３Ｄ−ＨＥＶＣ準拠のいずれかのビデオデコーダを表し得る、ビデオデコーダ３０を示す。ビデオデコーダ３０は、ＰＵ、ＴＵ、およびＣＵなどの、いくつかのＨＥＶＣ用語を使用して説明されるが、ビデオデコーダ３０に関して説明する技法がＨ．２６４規格に従ってコーディングされたビデオを用いて実行され得ることも理解されたい。
【０３２６】
[00177]ビデオデコーダ３０は、インター予測復号またはイントラ予測復号を実行し得る。図９は、ビデオデコーダ３０を示す。図９の例では、ビデオデコーダ３０は、ビデオデータメモリ６９と、エントロピー復号ユニット７０と、予測処理ユニット７１と、逆量子化処理ユニット７６と、逆変換処理ユニット７８と、加算器８０と、参照ピクチャメモリ８２とを含む。予測処理ユニット７１は、動きおよび視差補償ユニット７２と、イントラ予測ユニット７４とを含む。ビデオデコーダ３０は、いくつかの例では、図８からのビデオエンコーダ２０に関して説明した符号化パスと概して逆の復号パスを実行し得る。
【０３２７】
[00178]ビデオデータメモリ６９は、ビデオデコーダ３０の構成要素によって復号されるべき、符号化ビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ６９に記憶されたビデオデータは、たとえば、ストレージデバイス３４から、カメラなどのローカルビデオソースから、ビデオデータのワイヤードもしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって、取得され得る。ビデオデータメモリ６９は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ（ＣＰＢ）を形成し得る。
【０３２８】
[00179]参照ピクチャメモリ８２は、（たとえば、イントラコーディングモードまたはインターコーディングモードで）ビデオデコーダ３０によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する復号ピクチャバッファ（ＤＰＢ）の一例である。ビデオデータメモリ６９および参照ピクチャメモリ８２は、同期ＤＲＡＭ（ＳＤＲＡＭ）を含むダイナミックランダムアクセスメモリ（ＤＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、抵抗性ＲＡＭ（ＲＲＡＭ）、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ６９および参照ピクチャメモリ８２は、同じメモリデバイスまたは別個のメモリデバイスによって設けられ得る。様々な例では、ビデオデータメモリ６９は、ビデオデコーダ３０の他の構成要素とともにオンチップであってよく、またはそれらの構成要素に対してオフチップであってもよい。
【０３２９】
[00180]復号プロセスの間、ビデオデコーダ３０は、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを、ビデオエンコーダ２０から受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、予測処理ユニット７１に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０３３０】
[00181]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされているとき、予測処理ユニット７１のイントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたは現在ピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、ＢまたはＰ）スライスとしてコーディングされているとき、予測処理ユニット７１の動きおよび視差補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つの中の、参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して参照ピクチャリスト（ＲｅｆＰｉｃＬｉｓｔ０およびＲｅｆＰｉｃＬｉｓｔ１）を構成し得る。
【０３３１】
[00182]動きおよび視差補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動きおよび視差補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラ予測またはインター予測）と、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）と、スライスのための参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライスの中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のうちのいくつかを使用する。
【０３３２】
[00183]動きおよび視差補償ユニット７２は、本開示で説明する動きベクトル候補リスト構成技法を実行するように構成され得る。一例として、動きおよび視差補償ユニット７２は、１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加し得、動きベクトル候補リストの中の１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別し得、視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定し得、ＤＳＭＶ候補を動きベクトル候補リストに追加し得る。
【０３３３】
[00184]別の例として、動きおよび視差補償ユニット７２は、一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析し得、一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析し得、一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、現在ブロックのための視差ベクトルに基づいて決定し得、ここにおいて、１つまたは複数の第１の動きベクトル候補、１つまたは複数の第２の動きベクトル候補、および１つまたは複数の追加候補が、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、一時的動きベクトル候補リストから除去し得る。
【０３３４】
[00185]別の例として、動きおよび視差補償ユニット７２は、１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加し得、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加し得、視差ベクトルに基づいて、追加候補を決定し得、追加候補を動きベクトル候補リストの中の固定位置からの候補と比較し得る。
【０３３５】
[00186]動きおよび視差補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動きおよび視差補償ユニット７２は、参照ブロックのサブ整数ピクセルに対する補間値を計算するために、ビデオブロックの符号化の間にビデオエンコーダ２０によって使用されるような補間フィルタを使用し得る。この場合、動きおよび視差補償ユニット７２は、ビデオエンコーダ２０によって使用された補間フィルタを、受信されたシンタックス要素から決定し得、予測ブロックを生成するためにその補間フィルタを使用し得る。
【０３３６】
[00187]逆量子化処理ユニット７６は、ビットストリームの中で提供されるとともにエントロピー復号ユニット７０によって復号された量子化変換係数を、逆量子化（すなわち量子化解除）する。逆量子化プロセスは、量子化の程度と、同じく適用されるべき逆量子化の程度とを決定するために、ビデオスライスの中の各ビデオブロックに対してビデオエンコーダ２０によって計算された量子化パラメータを使用することを含み得る。逆変換処理ユニット７８は、ピクセル領域における残差ブロックを生成するために、逆変換（たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセス）を変換係数に適用する。
【０３３７】
[00188]動きおよび視差補償ユニット７２が動きベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換処理ユニット７８からの残差ブロックを、動きおよび視差補償ユニット７２によって生成された対応する予測ブロックに加算することによって、復号ビデオブロックを形成する。加算器８０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、ブロッキングアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するか、または他のやり方でビデオ品質を改善するために、（コーディングループ中またはコーディングループ後のいずれかの）他のループフィルタも使用され得る。所与のピクチャの中の復号ビデオブロックは、次いで、後続の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ８２に記憶される。参照ピクチャメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上で後で表示するために、復号ビデオを記憶する。
【０３３８】
[00189]このようにして、ビデオデコーダ３０は、本開示で説明する１つまたは複数の例示的な技法を実施するように構成され得るビデオデコーダの一例である。たとえば、ビデオデータメモリ６９はビデオデータを記憶する。ビデオデータは、３Ｄ−ＡＶＣ準拠または３Ｄ−ＨＥＶＣ準拠のビデオコーディングプロセスにおいてその各々をビデオエンコーダ２０が符号化された、依存ビューのテクスチャビデオコンポーネントとテクスチャビューコンポーネントに対応する深度ビューコンポーネントとをビデオデコーダ３０がそれから復号できる情報を含み得る。
【０３３９】
[00190]本開示で説明する技法では、ビデオデコーダ３０は、３Ｄ−ＡＶＣ準拠または３Ｄ−ＨＥＶＣ準拠のビデオコーディングプロセスにおいて、ビデオデータの依存ビューのテクスチャビューコンポーネントを復号するように構成された１つまたは複数のプロセッサを含み得る。テクスチャビューコンポーネントを復号するために、ビデオデコーダ３０は、少なくとも１つの隣接ブロックが、依存ビュー以外のビューの中のビュー間参照ピクチャを指す視差動きベクトルを用いてビュー間予測されているかどうかを決定するために、テクスチャビューコンポーネントの中の現在のブロックの１つまたは複数の隣接ブロックの動き情報を評価するように構成され得る。ビデオデコーダ３０は、隣接ブロックのうちの１つのための視差動きベクトルに基づいて、現在のブロックのための視差ベクトルを導出し得る。テクスチャ優先コーディングの場合、ビデオデコーダ３０は、テクスチャビューコンポーネントを復号することに続いて、テクスチャビューコンポーネントに対応する、ビデオデータの深度ビューコンポーネントを復号し得る。
【０３４０】
[00191]いくつかの例では、ビデオデコーダ３０の予測処理ユニット７１は、本開示で説明する例を実施するように構成されたプロセッサの一例であり得る。いくつかの例では、予測処理ユニット７１以外のユニット（たとえば、１つまたは複数のプロセッサ）が、上記で説明した例を実施してもよい。いくつかの例では、予測処理ユニット７１は、ビデオデコーダ３０の１つまたは複数の他のユニットとともに、上記で説明した例を実施してもよい。またいくつかの他の例では、ビデオデコーダ３０のプロセッサ（図９に示さず）は、単独で、またはビデオデコーダ３０の他のプロセッサとともに、上記で説明した例を実施してもよい。
【０３４１】
[00192]図１０は、本開示による動きベクトル候補リスト構成技法を示すフローチャートである。図１０の技法は、たとえば、上記で説明したビデオデコーダ３０に相当し得るビデオデコーダに関して説明されるが、図１０の技法が他のタイプのビデオデコーダによって実施され得ることも考えられる。
【０３４２】
[00193]ビデオデコーダは、１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加し得る（１１０）。動きベクトル候補は、たとえば、ベースのＨＥＶＣ仕様のマージモードを使用して導出された候補であり得、時間動きベクトルと視差動きベクトルのうちの一方または両方を含み得る。ビデオデコーダは、動きベクトル候補リストの中の１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別し得る（１１２）。したがって、特定の空間隣接ブロックまたは時間隣接ブロックのための候補を、それらの候補が視差動きベクトルを含むかどうかを決定するために再検査する代わりに、ビデオデコーダは、動きベクトル候補リストの中の１つまたは複数の特定のエントリを、そのエントリが視差動きベクトルを含むかどうかを決定するために検査し得る。たとえば、ビデオデコーダは、第２のエントリがどの空間ネイバーまたは時間ネイバーに関連し得るのかにかかわらず、動きベクトル候補リストの中の第２のエントリを、そのエントリが視差動きベクトルを含むかどうかを決定するために検査し得る。いくつかの実装形態では、ビデオデコーダは、ＨＥＶＣ候補だけを含む（たとえば、３Ｄ−ＨＥＶＣ候補を有しない）動きベクトル候補リストから視差動きベクトルを識別することがあり、または動きベクトル候補リストが３Ｄ−ＨＥＶＣ候補を含む場合、動きベクトル候補リストの中のＨＥＶＣ候補だけを見ればよい。
【０３４３】
[00194]ビデオデコーダは、たとえば、動きベクトル候補リストの中の最初のＮ個の候補から、第１の利用可能な視差動きベクトル候補を識別することによって、視差動きベクトル候補を識別してよく、ここにおいて、Ｎは候補の最大数よりも小さい整数である。ビデオデコーダは、たとえば、動きベクトル候補リストの中の最初のＮ個の候補から、参照ピクチャリストに対応する第１の利用可能な視差動きベクトル候補を識別してよく、ここにおいて、Ｎは整数である。他の例では、ビデオデコーダは、第１の候補を除いて（すなわち、インデックス０を有する候補を無視して）、動きベクトル候補リストの中の最初のＮ個の候補から、第１の利用可能な視差動きベクトル候補を識別することによって、視差動きベクトル候補を識別してよく、ここにおいて、Ｎは候補の最大数よりも小さい整数である。いくつかの例では、Ｎが２に等しくてよく、他の例では、Ｎが異なる整数値であってもよい。いくつかの実装形態では、最初のＮ個の候補が１つまたは複数の仮想候補を含むことがあり、他の実装形態では、最初のＮ個の候補が仮想候補を含まないことがある。ビデオデコーダは、ＩＰＭＣ候補が利用不可能であることに応答して、視差動きベクトル候補を識別するように構成され得る。上記の例では、最初のＮ個の候補はまた、最初のＮ個のＨＥＶＣ候補（たとえば、いかなる３Ｄ−ＨＥＶＣ候補も除く）に制約され得る。
【０３４４】
[00195]視差動きベクトル候補に基づいて、ビデオデコーダは、ＤＳＭＶ候補を決定し得る（１１４）。ビデオデコーダは、たとえば、上記で説明した技法を使用してＤＳＭＶ候補を決定し得る。ビデオデコーダは、ＤＳＭＶ候補を動きベクトル候補リストに追加し得る（１１６）。ＤＳＭＶ候補を動きベクトル候補リストに追加するとき、ビデオデコーダは、動きベクトル候補リストの中で仮想候補よりも小さいインデックスをＤＭＳＶ候補に割り当て得る。ビデオデータのブロックに対して、ビデオデコーダは、動きベクトル候補リストからの候補を識別するインデックス値を受信し得（１１８）、識別された候補に対応する動きベクトルを使用して、ビデオデータのブロックを復号し得る（１２０）。
【０３４５】
[00196]図１１は、本開示による動きベクトル候補リスト構成技法を示すフローチャートである。図１１の技法は、たとえば、上記で説明したビデオエンコーダ２０に相当し得る一般的なビデオエンコーダに関して説明されるが、図１１の技法が他のタイプのビデオエンコーダによって実施され得ることも考えられる。
【０３４６】
[00197]ビデオエンコーダは、１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加し得る（１２２）。動きベクトル候補は、たとえば、ベースのＨＥＶＣ仕様のマージモードを使用して導出された候補であり得る。ビデオエンコーダは、動きベクトル候補リストの中の１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別し得る（１２４）。ビデオエンコーダは、たとえば、動きベクトル候補リストの中の最初のＮ個の候補から、第１の利用可能な視差動きベクトル候補を識別することによって、視差動きベクトル候補を識別してよく、ここにおいて、Ｎは候補の最大数よりも小さい整数である。ビデオエンコーダは、たとえば、動きベクトル候補リストの中の最初のＮ個の候補から、参照ピクチャリストに対応する第１の利用可能な視差動きベクトル候補を識別してよく、ここにおいて、Ｎは整数である。いくつかの例では、Ｎは２に等しくてよく、他の例では、Ｎは異なる整数値であってもよい。いくつかの実装形態では、最初のＮ個の候補が１つまたは複数の仮想候補を含むことがあり、他の実装形態では、最初のＮ個の候補が仮想候補を含まないことがある。ビデオエンコーダは、ＩＰＭＣ候補が利用不可能であることに応答して、視差動きベクトル候補を識別するように構成され得る。
【０３４７】
[00198]視差動きベクトル候補に基づいて、ビデオエンコーダは、ＤＳＭＶ候補を決定し得る（１１２６）。ビデオエンコーダは、たとえば、上記で説明した技法を使用してＤＳＭＶ候補を決定し得る。ビデオエンコーダは、ＤＳＭＶ候補を動きベクトル候補リストに追加し得る（１１２８）。ＤＳＭＶ候補を動きベクトル候補リストに追加するとき、ビデオエンコーダは、動きベクトル候補リストの中で仮想候補よりも小さいインデックスをＤＭＳＶ候補に割り当て得る。ビデオデータのブロックに対して、ビデオエンコーダは、ビデオデータのブロックを符号化するための動きベクトルを決定する（１３０）。動きベクトルは、動きベクトル候補リストの中の候補に相当する。ビデオエンコーダは、動きベクトル候補リストの中の候補を識別するシンタックス要素を生成する（１３２）。
【０３４８】
[00199]図１２は、本開示による動きベクトル候補リスト構成技法を示すフローチャートである。図１２の技法は、たとえば、上記で説明したビデオデコーダ３０に相当し得るビデオデコーダに関して説明されるが、図１２の技法が他のタイプのビデオデコーダによって実施され得ることも考えられる。
【０３４９】
[00200]ビデオデコーダは、一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析し得る（１３４）。第１の動きベクトル候補は、時間動きベクトルと視差動きベクトルのうちの一方または両方を含み得る。空間隣接ブロックは、たとえば、図４に示す空間ネイバーの一部または全部に相当し得る。ビデオデコーダは、一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析し得る（１３６）。第２の動きベクトル候補は、時間動きベクトルと視差動きベクトルのうちの一方または両方を含み得る。ビデオデコーダは、一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、現在ブロックのための視差ベクトルに基づいて決定し得る（１３８）。ビデオデコーダは、たとえば、上記で説明したようなＮＢＤＶまたはＤｏ−ＮＢＤＶプロセスを使用して、視差ベクトルを決定し得る。１つまたは複数の追加候補は、たとえば、ＢＶＳＰ候補、視差シフト動きベクトル候補、ビュー間予測動き候補、および右下のビュー間予測動き候補の、任意の組合せまたは順列を含み得る。
【０３５０】
[00201]１つまたは複数の第１の動きベクトル候補、１つまたは複数の第２の動きベクトル候補、および１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を含むことがある。最大数は、たとえば、５または６であってよい。ビデオデコーダは、動きベクトル候補リストのための最大インデックス以上のインデックスを有する候補を、一時的動きベクトル候補リストから除去し得る（１４０）。したがって、一例として、一時的動きベクトル候補リストが８つのエントリを有し、動きベクトル候補リストの中の候補の最大数が６である場合、ビデオデコーダは、動きベクトル候補リストを形成するために、インデックス６および７（リストはインデックス０において始まって）を有するエントリを、一時的動きベクトル候補リストから除去してよい。
【０３５１】
[00202]ビデオデータのブロックに対して、ビデオデコーダは、動きベクトル候補リストからの候補を識別するインデックス値を受信し得る（１４２）。ビデオデコーダは、識別された候補に対応する動きベクトルを使用して、ビデオデータのブロックを復号する（１４４）。
【０３５２】
[00203]ビデオデコーダはまた、一時的動きベクトル候補リストに含めるための１つまたは複数の仮想候補を生成し得る。そのような例では、１つまたは複数の第１の動きベクトル候補、１つまたは複数の第２の動きベクトル候補、１つまたは複数の仮想候補、および１つまたは複数の追加候補における候補の数は、動きベクトル候補リストの候補の最大数よりも多くの候補を含むことがあり、その場合、ビデオデコーダは、動きベクトル候補リストを生成することの一部として、一時的動きベクトル候補リストから候補を除去し得る。
【０３５３】
[00204]ビデオデコーダはまた、代替または追加のいずれかとして、第１の動きベクトル候補のうちの１つもしくは複数の候補および／または第２の動きベクトル候補のうちの１つもしくは複数の候補を、除去のためにマークし得、次いで、マークされた候補を除去し得る。マークされた候補は、追加候補が一時的動きベクトル候補リストに追加された後に除去されてよい。したがって、リストが構成されながらリストの中の候補を再配置するのではなく、そのような再配置を低減または回避するために、ビデオデコーダは、除去のために候補をマークしてよく、ただし除去することを待ってよい。除去のためにマークされた候補を除去した後、ビデオデコーダは、次いで、リストを候補の最大数まで小さく低減するように、必要に応じて過剰な候補を除去し得る。
【０３５４】
[00205]図１３は、本開示による動きベクトル候補リスト構成技法を示すフローチャートである。図１３の技法は、たとえば、上記で説明したビデオエンコーダ２０に相当し得る一般的なビデオエンコーダに関して説明されるが、図１３の技法が他のタイプのビデオエンコーダによって実施され得ることも考えられる。
【０３５５】
[00206]ビデオエンコーダは、一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析し得る（２００）。空間隣接ブロックは、たとえば、図４に示す空間ネイバーの一部または全部に相当し得る。ビデオエンコーダは、一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析し得る（２０２）。ビデオエンコーダは、一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、現在ブロックのための視差ベクトルに基づいて決定し得る（２０４）。１つまたは複数の追加候補は、たとえば、ＢＶＳＰ候補、視差シフト動きベクトル候補、ビュー間予測動き候補、または右下のビュー間予測動きベクトル候補の、任意の組合せまたは順列を含み得る。ビデオデータのブロックに対して、ビデオエンコーダは、ビデオデータのブロックを符号化するための動きベクトルを決定する（２０８）。動きベクトルは、動きベクトル候補リストの中の候補に相当する。ビデオエンコーダは、動きベクトル候補リストの中の候補を識別するシンタックス要素を生成する（２１０）。
【０３５６】
[00207]１つまたは複数の第１の動きベクトル候補、１つまたは複数の第２の動きベクトル候補、および１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を含むことがある。最大数は、たとえば、５または６であってよい。ビデオエンコーダは、動きベクトル候補リストのための最大インデックス以上のインデックスを有する候補を、一時的動きベクトル候補リストから除去し得る（２０６）。
【０３５７】
[00208]ビデオエンコーダはまた、一時的動きベクトル候補リストに含めるための１つまたは複数の仮想候補を生成し得る。そのような例では、１つまたは複数の第１の動きベクトル候補、１つまたは複数の第２の動きベクトル候補、１つまたは複数の仮想候補、および１つまたは複数の追加候補における候補の数は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を含むことがあり、その場合、ビデオエンコーダは、動きベクトル候補リストを生成することの一部として、一時的動きベクトル候補リストから候補を除去し得る。ビデオエンコーダはまた、代替または追加のいずれかとして、第１の動きベクトル候補のうちの１つもしくは複数の候補および／または第２の動きベクトル候補のうちの１つもしくは複数の候補を、除去のためにマークしてよく、次いで、マークされた候補を除去してよい。マークされた候補は、追加候補が一時的動きベクトル候補リストに追加された後に除去されてよい。したがって、リストが構成されながらリストの中の候補を再配置するのではなく、そのような再配置を低減または回避するために、ビデオエンコーダは、除去のために候補をマークしてよく、ただし除去することを待ってよい。
【０３５８】
[00209]図１４は、本開示による動きベクトル候補リスト構成技法を示すフローチャートである。図１４の技法は、たとえば、上記で説明したビデオデコーダ３０に相当し得るビデオデコーダに関して説明されるが、図１４の技法が他のタイプのビデオデコーダによって実施され得ることも考えられる。
【０３５９】
[00210]ビデオデコーダは、１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加する（２１２）。空間隣接ブロック候補は、図４に示す空間隣接ブロックの一部または全部などの空間隣接ブロックから決定された動きベクトル候補である。ビデオデコーダは、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加する（２１４）。ビデオデコーダは、視差ベクトルに基づいて追加候補を決定する（２１６）。追加候補は、たとえば、ＢＶＳＰ候補、視差シフト動きベクトル候補、ビュー間予測動き候補、または右下のビュー間予測動き候補のいずれかであり得る。ビデオデコーダは、追加候補を動きベクトル候補リストの中の固定位置からの候補と比較する（２１８）。したがって、追加候補を特定の空間ネイバーまたは時間ネイバーからの候補と比較する代わりに、ビデオデコーダは、その候補がどの空間ネイバーまたは時間ネイバーに関連し得るのかにかかわらず、追加候補を動きベクトル候補リストの中の特定のインデックスの候補と比較し得る。
【０３６０】
[00211]ビデオデータのブロックに対して、ビデオデコーダは、動きベクトル候補リストからの候補を識別するインデックス値を受信する（２２０）。ビデオは、識別された候補に対応する動きベクトルを使用して、ビデオデータのブロックを復号する（２２２）。
【０３６１】
[00212]追加候補が、１つもしくは複数の空間隣接ブロック候補のうちの１つ、または１つもしくは複数の時間隣接ブロック候補のうちの１つと同じであることに応答して、ビデオデコーダは、追加候補を除去してよく、または追加候補を利用不可能としてマークするとともに追加候補を後で除去してもよい。代替として、追加候補が、１つもしくは複数の空間隣接ブロック候補のうちの１つ、または１つもしくは複数の時間隣接ブロック候補のうちの１つ、と同じであることに応答して、ビデオデコーダは、１つもしくは複数の空間隣接ブロック候補のうちの１つ、または１つもしくは複数の時間隣接ブロック候補のうちの１つを除去してよく、あるいは１つもしくは複数の空間隣接ブロック候補のうちの１つ、または１つもしくは複数の時間隣接ブロック候補のうちの１つを利用不可能としてマークするとともに追加候補を後で除去してもよい。ビデオデコーダはまた、追加候補を動きベクトル候補リストの中の第２の固定位置からの第２の候補と比較し得るか、または追加候補を動きベクトル候補リストの中の最初のＮ個の候補と比較し得、ここにおいて、Ｎは１よりも大きいがリストの中で許容される候補の最大数よりも小さい整数である。
【０３６２】
[00213]図１４の技法の特定の一実装形態では、ビデオデコーダは、ＢＶＳＰ候補をプルーニング（すなわち、除去）しなくてもよい。ビデオデコーダは、ＤＳＭＶを第１および第２のＨＥＶＣマージ候補と比較し得る。ＤＳＭＶが第１および第２のＨＥＶＣマージ候補のうちの１つと同じである場合、ビデオデコーダは、ＤＳＭＶを「利用不可能」または「除去されるべき」としてマークし得る。ビデオデコーダは、ＩＰＭＣを第１および第２のＨＥＶＣマージ候補と比較し得る。ＩＰＭＣが第１のＨＥＶＣマージ候補と同じである場合、ビデオデコーダは、第１のＨＥＶＣマージ候補を「利用不可能」または「除去されるべき」としてマークし得る。そうでなく、ＩＰＭＣが第２のＨＥＶＣマージ候補と同じである場合、ビデオデコーダは、第２のＨＥＶＣマージ候補を「利用不可能」または「除去されるべき」としてマークし得る。ビデオデコーダは、右下のＩＰＭＣをそのＩＰＭＣと比較し得る。右下のＩＰＭＣがそのＩＰＭＣと同じであるとき、ビデオデコーダは、右下のＩＰＭＣを「利用不可能」または「除去されるべき」としてマークし得る。
【０３６３】
[00214]図１５は、本開示による動きベクトル候補リスト構成技法を示すフローチャートである。図１５の技法は、たとえば、上記で説明したビデオエンコーダ２０に相当し得る一般的なビデオエンコーダに関して説明されるが、図１５の技法が他のタイプのビデオエンコーダによって実施され得ることも考えられる。
【０３６４】
[00215]ビデオエンコーダは、１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加する（２２４）。空間隣接ブロック候補は、図４に示す空間隣接ブロックの一部または全部などの空間隣接ブロックから決定された動きベクトル候補である。ビデオエンコーダは、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加する（２２６）。ビデオエンコーダは、視差ベクトルに基づいて追加候補を決定する（２２８）。追加候補は、たとえば、ＢＶＳＰ候補、視差シフト動きベクトル候補、ビュー間予測動き候補、および右下のビュー間予測動き候補のいずれかであり得る。ビデオエンコーダは、追加候補を動きベクトル候補リストの中の固定位置からの候補と比較する（２３０）。ビデオデータのブロックに対して、ビデオエンコーダは、ビデオデータのブロックを符号化するための動きベクトルを決定する（２３２）。動きベクトルは、動きベクトル候補リストの中の候補に相当する。ビデオエンコーダは、動きベクトル候補リストの中の候補を識別するシンタックス要素を生成する（２３４）。
【０３６５】
[00216]追加候補が、１つもしくは複数の空間隣接ブロック候補のうちの１つ、または１つもしくは複数の時間隣接ブロック候補のうちの１つ、と同じであることに応答して、ビデオエンコーダは、追加候補を利用不可能としてマークするとともに追加候補を後で除去してもよい。ビデオエンコーダはまた、追加候補を動きベクトル候補リストの中の第２の固定位置からの第２の候補と比較し得るか、または追加候補を動きベクトル候補リストの中の最初のＮ個の候補と比較し得、ここにおいて、Ｎは１よりも大きいがリストの中で許容される候補の最大数よりも小さい整数である。上記の例では、最初のＮ個の候補はまた、最初のＮ個のＨＥＶＣ候補（たとえば、いかなる３Ｄ−ＨＥＶＣ候補も除く）に制約され得る。
【０３６６】
[00217]図１０〜図１５のための上記の説明のうちのいくつかでは、ビデオ復号技法は、対応するビデオ符号化技法以外の追加の詳細とともに、または追加の例とともに説明されることがあった。しかしながら、別段に述べられない限り、そのような追加の詳細または追加の例がエンコーダの説明に適用可能であることも理解されたい。
【０３６７】
[00218]１つまたは複数の例では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、あるいはコンピュータ可読媒体を介して送信されてよく、ハードウェアベースの処理ユニットによって実行されてもよい。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含んでよく、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含んでもよい。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、または（２）信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コードおよび／またはデータ構造を取り出すために、１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０３６８】
[00219]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、フラッシュメモリ、または、命令またはデータ構造の形式で所望のプログラムコードを記憶するために使用され得るとともにコンピュータによってアクセスされ得る任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他のリモートソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ここで、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーを用いて光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０３６９】
[00220]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路などの、１つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または、本明細書で説明した技法の実装に好適な任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／もしくはソフトウェアモジュール内に設けられてよく、または複合コーデックに組み込まれてもよい。また、本技法は、１つまたは複数の回路または論理要素で完全に実装され得る。
【０３７０】
[00221]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置に実装され得る。本開示では、様々な構成要素、モジュール、またはユニットが、開示する技法を実行するように構成されたデバイスの機能的態様を強調するように説明されるが、異なるハードウェアユニットによる実現を必ずしも必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含む、コーデックハードウェアユニットにおいて組み合わされてよく、または相互動作するハードウェアユニットの集合によって設けられてもよい。
【０３７１】
[00222]様々な例が、説明された。これらおよび他の例は、以下の特許請求の範囲内に入る。
【図１】
2018164265.tif 000016
【図２】
2018164265.tif 000017
【図３】
2018164265.tif 000018
【図４】
2018164265.tif 000019
【図５】
2018164265.tif 000020
【図６】
2018164265.tif 000021
【図７】
2018164265.tif 000022
【図８】
2018164265.tif 000023
【図９】
2018164265.tif 000024
【図１０】
2018164265.tif 000025
【図１１】
2018164265.tif 000026
【図１２】
2018164265.tif 000027
【図１３】
2018164265.tif 000028
【図１４】
2018164265.tif 000029
【図１５】
2018164265.tif 000030
【手続補正書】
【提出日】平成30年6月12日(2018.6.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
３次元（３Ｄ）ビデオデータを復号する方法であって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、
ビデオデータのブロックに対して、前記動きベクトル候補リストからの候補を識別するインデックス値を受信することと、
前記識別された候補に対応する動きベクトルを使用して、ビデオデータの前記ブロックを復号することと、
を備える方法。
【請求項２】
３次元（３Ｄ）ビデオデータを符号化する方法であって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、
ビデオデータのブロックに対して、ビデオデータの前記ブロックを符号化するための動きベクトルを決定することと、ここにおいて、前記動きベクトルは、前記動きベクトル候補リストの中の候補に対応し、
前記動きベクトル候補リストの中の前記候補を識別するシンタックス要素を生成することと、
を備える方法。
【請求項３】
前記一時的動きベクトル候補リストに含めるための１つまたは複数の仮想候補を生成することをさらに備え、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、前記１つまたは複数の仮想候補、および前記１つまたは複数の追加候補は、前記動きベクトル候補リストの中の候補の前記最大数よりも多くの候補を備える、
請求項１または２に記載の方法。
【請求項４】
前記第１の動きベクトル候補または第２の動きベクトル候補のうちの１つまたは複数を、除去のためにマークすることと、
前記マークされた候補を除去することと、
をさらに備える請求項１から３のいずれかに記載の方法。
【請求項５】
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、請求項１から４のいずれかに記載の方法。
【請求項６】
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、請求項１から５のいずれかに記載の方法。
【請求項７】
前記１つまたは複数の追加候補は、ビュー間予測動き候補および右下のビュー間予測動き候補のうちの１つまたは複数を備える、請求項１から６のいずれかに記載の方法。
【請求項８】
３次元（３Ｄ）ビデオデータを復号する方法であって、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加することと、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加することと、
視差ベクトルに基づいて、追加候補を決定することと、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、
ビデオデータのブロックに対して、前記動きベクトル候補リストからの候補を識別するインデックス値を受信することと、
前記識別された候補に対応する動きベクトルを使用して、ビデオデータの前記ブロックを復号することと、
を備える方法。
【請求項９】
３次元（３Ｄ）ビデオデータを符号化する方法であって、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加することと、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加することと、
視差ベクトルに基づいて、追加候補を決定することと、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、
ビデオデータのブロックに対して、前記動きベクトル候補リストからの候補を識別するインデックス値を受信することと、
ビデオデータのブロックに対して、ビデオデータの前記ブロックを符号化するための動きベクトルを決定することと、ここにおいて、前記動きベクトルは、前記動きベクトル候補リストの中の候補に対応し、
前記動きベクトル候補リストの中の前記候補を識別するシンタックス要素を生成することと、
を備える方法。
【請求項１０】
前記追加候補が、前記１つもしくは複数の空間隣接ブロック候補のうちの１つ、または前記１つもしくは複数の時間隣接ブロック候補のうちの１つ、と同じであることに応答して、前記追加候補を利用不可能としてマークすることと、
前記追加候補を除去することと、
をさらに備える請求項８または９に記載の方法。
【請求項１１】
前記追加候補を、前記動きベクトル候補リストの中の第２の固定位置からの第２の候補と比較すること、
をさらに備える請求項８から１０のいずれかに記載の方法。
【請求項１２】
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、請求項８から１１のいずれかに記載の方法。
【請求項１３】
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、請求項８から１２のいずれかに記載の方法。
【請求項１４】
前記１つまたは複数の追加候補は、ビュー間予測動きベクトル候補を備える、請求項８から１３のいずれかに記載の方法。
【請求項１５】
前記１つまたは複数の追加候補は、右下のビュー間予測動きベクトル候補を備える、請求項８から１４のいずれかに記載の方法。
【請求項１６】
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、を行うように構成されたビデオコーダを備えるデバイス。
【請求項１７】
前記ビデオコーダは、前記一時的動きベクトル候補リストに含めるための１つまたは複数の仮想候補を生成するようにさらに構成され、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、前記１つまたは複数の仮想候補、および前記１つまたは複数の追加候補は、前記動きベクトル候補リストの中の候補の前記最大数よりも多くの候補を備える、請求項１６に記載のデバイス。
【請求項１８】
前記ビデオコーダは、前記第１の動きベクトル候補または第２の動きベクトル候補のうちの１つまたは複数を、除去のためにマークし、前記マークされた候補を除去するようにさらに構成される、請求項１６または３３に記載のデバイス。
【請求項１９】
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、請求項１６から１８のいずれかに記載のデバイス。
【請求項２０】
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、請求項１６から１９のいずれかに記載のデバイス。
【請求項２１】
前記１つまたは複数の追加候補は、ビュー間予測動き候補および右下のビュー間予測動き候補のうちの１つまたは複数を備える、請求項１６から２０のいずれかに記載のデバイス。
【請求項２２】
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加することと、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加することと、視差ベクトルに基づいて、追加候補を決定することと、前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、を行うように構成されたビデオコーダを備えるデバイス。
【請求項２３】
前記ビデオコーダは、前記追加候補が、前記１つもしくは複数の空間隣接ブロック候補のうちの１つ、または前記１つもしくは複数の時間隣接ブロック候補のうちの１つ、と同じであることに応答して、前記追加候補を利用不可能としてマークし、前記追加候補を除去するようにさらに構成される、請求項２２に記載のデバイス。
【請求項２４】
前記ビデオコーダは、前記追加候補を、前記動きベクトル候補リストの中の第２の固定位置からの第２の候補と比較するようにさらに構成される、請求項２２または２３に記載のデバイス。
【請求項２５】
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、請求項２２から２４のいずれかに記載のデバイス。
【請求項２６】
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、請求項２２から２５のいずれかに記載のデバイス。
【請求項２７】
前記１つまたは複数の追加候補は、ビュー間予測動き候補を備える、請求項２２から２６のいずれかに記載のデバイス。
【請求項２８】
前記ビデオコーダは、ビデオエンコーダを備える、請求項１６から２７のいずれか１つに記載のデバイス。
【請求項２９】
前記ビデオコーダは、ビデオデコーダを備える、請求項１６から２７のいずれか１つに記載のデバイス。
【請求項３０】
前記デバイスは、
集積回路、
マイクロプロセッサ、および
前記ビデオコーダを含むワイヤレス通信デバイス
のうちの少なくとも１つを備える、請求項１６から２９のいずれか１つに記載のデバイス。
【請求項３１】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングすることと、
を行わせる、コンピュータ可読記憶媒体。
【請求項３２】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加することと、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加することと、
視差ベクトルに基づいて、追加候補を決定することと、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、
を行わせる、コンピュータ可読記憶媒体。
【請求項３３】
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析するための手段と、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析するための手段と、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定するための手段と、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備える、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去するための手段と、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、
を備えるデバイス。
【請求項３４】
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加するための手段と、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加するための手段と、
視差ベクトルに基づいて、追加候補を決定するための手段と、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較するための手段と、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、
を備えるデバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０３７１
【補正方法】変更
【補正の内容】
【０３７１】
[00222]様々な例が、説明された。これらおよび他の例は、以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
３次元（３Ｄ）ビデオデータを復号する方法であって、
１つまたは複数の動きベクトル候補を、動きベクトル候補リストに追加することと、
前記動きベクトル候補リストの中の前記１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、
前記視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定することと、
前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加することと、
ビデオデータのブロックに対して、前記動きベクトル候補リストからの候補を識別するインデックス値を受信することと、
前記識別された候補に対応する動きベクトルを使用して、ビデオデータの前記ブロックを復号することと、
を備える方法。
［Ｃ２］
３次元（３Ｄ）ビデオデータを符号化する方法であって、
１つまたは複数の動きベクトル候補を、動きベクトル候補リストに追加することと、
前記動きベクトル候補リストの中の前記１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、
前記視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定することと、
前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加することと、
ビデオデータのブロックに対して、ビデオデータの前記ブロックを符号化するための動きベクトルを決定することと、ここにおいて、前記動きベクトルは、前記動きベクトル候補リストの中の候補に対応し、
前記動きベクトル候補リストの中の前記候補を識別するシンタックス要素を生成することと
を備える方法。
［Ｃ３］
前記視差動きベクトル候補を識別することは、前記動きベクトル候補リストの中の最初のＮ個の候補から、第１の利用可能な視差動きベクトル候補を識別することを備え、ここにおいて、Ｎは候補の最大数よりも小さい整数である、［Ｃ１］または［Ｃ２］に記載の方法。
［Ｃ４］
前記視差動きベクトル候補を識別することは、前記動きベクトル候補リストの中の最初のＮ個の候補から、参照ピクチャリストに対応する第１の利用可能な視差動きベクトル候補を識別することを備え、ここにおいて、Ｎが整数である、［Ｃ１］または［Ｃ２］に記載の方法。
［Ｃ５］
Ｎは２に等しい、［Ｃ３］または［Ｃ４］に記載の方法。
［Ｃ６］
最初のＮ個の候補は、１つまたは複数の仮想候補を備える、［Ｃ３］から［Ｃ５］のいずれかに記載の方法。
［Ｃ７］
最初のＮ個の候補は、仮想候補を備えない、［Ｃ３］から［Ｃ５］のいずれかに記載の方法。
［Ｃ８］
前記視差動きベクトル候補を識別することは、右下のビュー間予測動き（ＩＰＭＣ）候補が利用不可能であることに応答して実行される、［Ｃ１］から［Ｃ７］のいずれかに記載の方法。
［Ｃ９］
前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加することは、前記動きベクトル候補リストの中で仮想候補よりも小さいインデックスを、前記ＤＭＳＶ候補に割り当てることを備える、［Ｃ１］から［Ｃ７］のいずれかに記載の方法。
［Ｃ１０］
３次元（３Ｄ）ビデオデータを復号する方法であって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、
ビデオデータのブロックに対して、前記動きベクトル候補リストからの候補を識別するインデックス値を受信することと、
前記識別された候補に対応する動きベクトルを使用して、ビデオデータの前記ブロックを復号することと、
を備える方法。
［Ｃ１１］
３次元（３Ｄ）ビデオデータを符号化する方法であって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、
ビデオデータのブロックに対して、ビデオデータの前記ブロックを符号化するための動きベクトルを決定することと、ここにおいて、前記動きベクトルは、前記動きベクトル候補リストの中の候補に対応し、
前記動きベクトル候補リストの中の前記候補を識別するシンタックス要素を生成することと、
を備える方法。
［Ｃ１２］
前記一時的動きベクトル候補リストに含めるための１つまたは複数の仮想候補を生成することをさらに備え、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、前記１つまたは複数の仮想候補、および前記１つまたは複数の追加候補は、前記動きベクトル候補リストの中の候補の前記最大数よりも多くの候補を備える、
［Ｃ１０］または［Ｃ１１］に記載の方法。
［Ｃ１３］
前記第１の動きベクトル候補または第２の動きベクトル候補のうちの１つまたは複数を、除去のためにマークすることと、
前記マークされた候補を除去することと、
をさらに備える［Ｃ１０］から［Ｃ１２］のいずれかに記載の方法。
［Ｃ１４］
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、［Ｃ１０］から［Ｃ１３］のいずれかに記載の方法。
［Ｃ１５］
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、［Ｃ１０］から［Ｃ１４］のいずれかに記載の方法。
［Ｃ１６］
前記１つまたは複数の追加候補は、ビュー間予測動き候補および右下のビュー間予測動き候補のうちの１つまたは複数を備える、［Ｃ１０］から［Ｃ１５］のいずれかに記載の方法。
［Ｃ１７］
３次元（３Ｄ）ビデオデータを復号する方法であって、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加することと、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加することと、
視差ベクトルに基づいて、追加候補を決定することと、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、
ビデオデータのブロックに対して、前記動きベクトル候補リストからの候補を識別するインデックス値を受信することと、
前記識別された候補に対応する動きベクトルを使用して、ビデオデータの前記ブロックを復号することと、
を備える方法。
［Ｃ１８］
３次元（３Ｄ）ビデオデータを符号化する方法であって、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加することと、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加することと、
視差ベクトルに基づいて、追加候補を決定することと、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、
ビデオデータのブロックに対して、前記動きベクトル候補リストからの候補を識別するインデックス値を受信することと、
ビデオデータのブロックに対して、ビデオデータの前記ブロックを符号化するための動きベクトルを決定することと、ここにおいて、前記動きベクトルは、前記動きベクトル候補リストの中の候補に対応し、
前記動きベクトル候補リストの中の前記候補を識別するシンタックス要素を生成することと、
を備える方法。
［Ｃ１９］
前記追加候補が、前記１つもしくは複数の空間隣接ブロック候補のうちの１つ、または前記１つもしくは複数の時間隣接ブロック候補のうちの１つ、と同じであることに応答して、前記追加候補を利用不可能としてマークすることと、
前記追加候補を除去することと、
をさらに備える［Ｃ１７］または［Ｃ１８］に記載の方法。
［Ｃ２０］
前記追加候補を、前記動きベクトル候補リストの中の第２の固定位置からの第２の候補と比較すること、
をさらに備える［Ｃ１７］から［Ｃ１９］のいずれかに記載の方法。
［Ｃ２１］
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、［Ｃ１７］から［Ｃ２０］のいずれかに記載の方法。
［Ｃ２２］
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、［Ｃ１７］から［Ｃ２１］のいずれかに記載の方法。
［Ｃ２３］
前記１つまたは複数の追加候補は、ビュー間予測動きベクトル候補を備える、［Ｃ１７］から［Ｃ２２］のいずれかに記載の方法。
［Ｃ２４］
前記１つまたは複数の追加候補は、右下のビュー間予測動きベクトル候補を備える、［Ｃ１７］から［Ｃ２３］のいずれかに記載の方法。
［Ｃ２５］
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加することと、前記動きベクトル候補リストの中の前記１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、前記視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定することと、前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加することと、前記識別された候補に対応する動きベクトルを使用して、ビデオデータのブロックをコーディングすることと、を行うように構成されたビデオコーダを備えるデバイス。
［Ｃ２６］
前記ビデオコーダは、前記動きベクトル候補リストの中の最初のＮ個の候補から、第１の利用可能な視差動きベクトル候補を識別することによって、前記視差動きベクトル候補を識別するようにさらに構成され、ここにおいて、Ｎは候補の最大数よりも小さい整数である、［Ｃ２６］に記載のデバイス。
［Ｃ２７］
前記ビデオコーダは、前記動きベクトル候補リストの中の最初のＮ個の候補から、参照ピクチャリストに対応する第１の利用可能な視差動きベクトル候補を識別することによって、前記視差動きベクトル候補を識別するようにさらに構成され、ここにおいて、Ｎは整数である、［Ｃ２５］または［Ｃ２６］に記載のデバイス。
［Ｃ２８］
Ｎは２に等しい、［Ｃ２６］または［Ｃ２７］に記載のデバイス。
［Ｃ２９］
最初のＮ個の候補は、１つまたは複数の仮想候補を備える、［Ｃ２６］から［Ｃ２８］のいずれかに記載のデバイス。
［Ｃ３０］
最初のＮ個の候補は、仮想候補を備えない、［Ｃ２６］から［Ｃ２８］のいずれかに記載のデバイス。
［Ｃ３１］
前記ビデオコーダは、右下のビュー間予測動き（ＩＰＭＣ）候補が利用不可能であることに応答して、前記視差動きベクトル候補を識別するようにさらに構成される、［Ｃ２５］から［Ｃ３０］のいずれかに記載のデバイス。
［Ｃ３２］
前記ビデオコーダは、前記動きベクトル候補リストの中で仮想候補よりも小さいインデックスを前記ＤＭＳＶ候補に割り当てることによって、前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加するようにさらに構成される、［Ｃ２５］から［Ｃ３１］のいずれかに記載のデバイス。
［Ｃ３３］
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、を行うように構成されたビデオコーダを備えるデバイス。
［Ｃ３４］
前記ビデオコーダは、前記一時的動きベクトル候補リストに含めるための１つまたは複数の仮想候補を生成するようにさらに構成され、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、前記１つまたは複数の仮想候補、および前記１つまたは複数の追加候補は、前記動きベクトル候補リストの中の候補の前記最大数よりも多くの候補を備える、［Ｃ３３］に記載のデバイス。
［Ｃ３５］
前記ビデオコーダは、前記第１の動きベクトル候補または第２の動きベクトル候補のうちの１つまたは複数を、除去のためにマークし、前記マークされた候補を除去するようにさらに構成される、［Ｃ３３］または［Ｃ３４］に記載のデバイス。
［Ｃ３６］
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、［Ｃ３３］から［Ｃ３５］のいずれかに記載のデバイス。
［Ｃ３７］
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、［Ｃ３３］から［Ｃ３６］のいずれかに記載のデバイス。
［Ｃ３８］
前記１つまたは複数の追加候補は、ビュー間予測動き候補および右下のビュー間予測動き候補のうちの１つまたは複数を備える、［Ｃ３３］から［Ｃ３７］のいずれかに記載のデバイス。
［Ｃ３９］
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
１つまたは複数の空間隣接ブロック候補を動きベクトル候補リストに追加することと、１つまたは複数の時間隣接ブロック候補を動きベクトル候補リストに追加することと、視差ベクトルに基づいて、追加候補を決定することと、前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、を行うように構成されたビデオコーダを備えるデバイス。
［Ｃ４０］
前記ビデオコーダは、前記追加候補が、前記１つもしくは複数の空間隣接ブロック候補のうちの１つ、または前記１つもしくは複数の時間隣接ブロック候補のうちの１つ、と同じであることに応答して、前記追加候補を利用不可能としてマークし、前記追加候補を除去するようにさらに構成される、［Ｃ３９］に記載のデバイス。
［Ｃ４１］
前記ビデオコーダは、前記追加候補を、前記動きベクトル候補リストの中の第２の固定位置からの第２の候補と比較するようにさらに構成される、［Ｃ３９］または［Ｃ４０］に記載のデバイス。
［Ｃ４２］
前記１つまたは複数の追加候補は、ＢＶＳＰ候補を備える、［Ｃ３９］から［Ｃ４１］のいずれかに記載のデバイス。
［Ｃ４３］
前記１つまたは複数の追加候補は、視差シフト動きベクトル候補を備える、［Ｃ３９］から［Ｃ４２］のいずれかに記載のデバイス。
［Ｃ４４］
前記１つまたは複数の追加候補は、ビュー間予測動き候補を備える、［Ｃ３９］から［Ｃ４３］のいずれかに記載のデバイス。
［Ｃ４５］
前記ビデオコーダは、ビデオエンコーダを備える、［Ｃ２５］から［Ｃ４４］のいずれかに記載のデバイス。
［Ｃ４６］
前記ビデオコーダは、ビデオデコーダを備える、［Ｃ２５］から［Ｃ４４］のいずれかに記載のデバイス。
［Ｃ４７］
前記デバイスは、
集積回路、
マイクロプロセッサ、および
前記ビデオコーダを含むワイヤレス通信デバイス
のうちの少なくとも１つを備える、［Ｃ２５］から［Ｃ４６］のいずれかに記載のデバイス。
［Ｃ４８］
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加することと、
前記動きベクトル候補リストの中の前記１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別することと、
前記視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定することと、
前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加することと、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングすることと、
を行わせる、コンピュータ可読記憶媒体。
［Ｃ４９］
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析することと、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定することと、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備え、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去することと、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングすることと、
を行わせる、コンピュータ可読記憶媒体。
［Ｃ５０］
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、１つまたは複数のプロセッサによって実行されたとき、前記１つまたは複数のプロセッサに、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加することと、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加することと、
視差ベクトルに基づいて、追加候補を決定することと、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較することと、
を行わせる、コンピュータ可読記憶媒体。
［Ｃ５１］
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
１つまたは複数の動きベクトル候補を動きベクトル候補リストに追加するための手段と、
前記動きベクトル候補リストの中の前記１つまたは複数の動きベクトル候補から、視差動きベクトル候補を識別するための手段と、
前記視差動きベクトル候補に基づいて、視差シフト動きベクトル（ＤＳＭＶ）候補を決定するための手段と、
前記ＤＳＭＶ候補を前記動きベクトル候補リストに追加するための手段と、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータの前記ブロックをコーディングするための手段と、
を備えるデバイス。
［Ｃ５２］
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
一時的動きベクトル候補リストに含めるための１つまたは複数の第１の動きベクトル候補を決定するために、現在ブロックの１つまたは複数の空間隣接ブロックを分析するための手段と、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の第２の動きベクトル候補を決定するために、１つまたは複数の時間隣接ブロックを分析するための手段と、
前記一時的動きベクトル候補リストに含めるための１つまたは複数の追加候補を、前記現在ブロックのための視差ベクトルに基づいて決定するための手段と、ここにおいて、前記１つまたは複数の第１の動きベクトル候補、前記１つまたは複数の第２の動きベクトル候補、および前記１つまたは複数の追加候補は、動きベクトル候補リストの中の候補の最大数よりも多くの候補を備える、
前記動きベクトル候補リストのための最大インデックスよりも大きいインデックスを有する候補を、前記一時的動きベクトル候補リストから除去するための手段と、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、
を備えるデバイス。
［Ｃ５３］
３次元（３Ｄ）ビデオデータをコーディングするためのデバイスであって、
１つまたは複数の空間隣接ブロック候補を、動きベクトル候補リストに追加するための手段と、
１つまたは複数の時間隣接ブロック候補を、動きベクトル候補リストに追加するための手段と、
視差ベクトルに基づいて、追加候補を決定するための手段と、
前記追加候補を、前記動きベクトル候補リストの中の固定位置からの候補と比較するための手段と、
前記動きベクトル候補リストからの動きベクトルを使用して、ビデオデータのブロックをコーディングするための手段と、
を備えるデバイス。
【外国語明細書】
2018164265000001.pdf