[0001]本願は、2013年5月31日に出願された米国仮出願番号61/829,919の利益を主張し、全体の内容が参照によりここに組み込まれる。
[0002]本開示は、ビデオコーディング(すなわち、ビデオデータの符号化および/または復号)に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、個人用デジタル補助装置(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、eブックリーダー、デジタルカメラ、デジタル録音デバイス、デジタルメディアプレイヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオテレビ会議デバイス、ビデオストリーミングデバイスなどを含む広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、パート10、先進ビデオコーディング(AVC)、現在開発中の高効率ビデオコーディング(HEVC)の標準、およびこういった標準の拡張によって定義される標準において説明されるようなビデオコーディング技術を実施する。ビデオデバイスは、こういったビデオ圧縮技術を実施することによって、より効率的にデジタルビデオ情報を送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオ圧縮技術は、ビデオシーケンスに内在する冗長性を低減するあるいは除去するために空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースビデオコーディングのために、ビデオスライス(すなわちビデオフレームまたはビデオフレームの一部)は、複数のビデオブロックに分割され得る。ピクチャのイントラコード化された(I)スライス内のビデオブロックは、同じピクチャ内で隣接するブロック内の参照サンプルに関する空間的予測を用いて符号化される。ピクチャのインターコード化された(PまたはB)スライス内のビデオブロックは、同じピクチャ内で隣接するブロック内の参照サンプルに関する空間的予測または他の参照ピクチャ内の参照サンプルに関する時間的予測を使用し得る。ピクチャはフレームと呼ばれても良い。参照ピクチャは参照フレームと呼ばれても良い。
[0005]空間的または時間的予測は、コード化されるべきブロックのための予測ブロックをもたらす。残差データは、コード化されるべきオリジナルのブロックと予測ブロックの間の画素差を表す。インターコード化されたブロックは、予測ブロックを形成する参照サンプルのブロックを指し示す動きベクトルにしたがって符号化され、残差データは、コード化されたブロックと予測ブロックの間の差分を示す。イントラコード化されたブロックは、イントラコーディングモードと残差データにしたがって符号化される。さらなる圧縮のために、残差データはピクセルドメインから変換ドメインに変換され得、その結果、残差係数が生じ、それらは次に量子化され得る。初めに2次元アレイに配置される量子化された係数は、複数の係数から成る1次元ベクトルを作成するために走査され得、エントロピーコーディングは、さらにいっそう圧縮を実現するために適用され得る。
[0006]マルチビューコーディングビットストリームは、例えば複数の視点からのビュー(views)を符号化することによって生成され得る。開発されてきた、あるいは現在開発中のいくつかの3次元(3D)ビデオの標準はマルチビューコーディングの態様を利用する。例えば、異なるビューは、3Dビデオをサポートするために左右の目の視点を送信し得る。別法として、いくつかの3Dビデオコーディングのプロセスは、いわゆるマルチビュープラス深さコーディングを適用し得る。マルチビュープラス深さコーディングにおいて、3Dビデオビットストリームは、テクスチャビュー構成要素だけでなく、深さビュー構成要素も含み得る。例えば、各ビューは1つのテクスチャビュー構成要素と1つの深さビュー構成要素を備え得る。
[0007]一般に、本開示は、3D−HEVCコーデックを用いた2つ以上のビュープラス深さのコーディングを含む高度なコーデックに基づく3Dビデオコーディングに関する。特に、本開示は、深さビューコーディングのための視差ベクトル(disparity vectors)に関する技術を説明する。
[0008]1つの例において、本開示は、ビデオデータを復号する方法を説明する。ビデオデータのピクチャのスライスの各々のコーディングユニット(CU)の各予測ユニット(PU)に関して、ビデオデータを復号するための方法は、少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定することを含む。さらに、この方法は、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定することを含み、ここにおいて、少なくとも1つの視差ベクトルは、各々のCUに関する。この方法は、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のCUに関するコーディングブロックを再構築することをも含む。
[0009]別の例において、本開示は、ピクチャと関連付けられるデータを記憶するように構成されたメモリと、そのメモリと通信を行う1つまたは複数のプロセッサとを備えるビデオコーディングデバイスに関し、およびビデオデータのピクチャのスライスの各々のCUの各PUに関して、1つまたは複数のプロセッサが少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定するように構成される。さらに、1つまたは複数のプロセッサは、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定するように構成され、ここにおいて、少なくとも1つの視差ベクトルは、各々のCUに関する。1つまたは複数のプロセッサはまた、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のCUに関するコーディングブロックを再構築するように構成される。
[0010]別の例において、本開示は、実行されると、本開示にしたがった技術を実行するためのビデオ復号デバイスを構成する命令を記憶したコンピュータ可読記憶媒体に関する。ビデオデータのピクチャのスライスの各々のCUの各PUに関して、命令は、少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定するようにビデオ復号デバイスを構成する。さらに、命令は、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定するようにビデオ復号デバイスを構成し、ここにおいて、少なくとも1つの視差ベクトルは、各々のCUに関する。命令はまた、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のCUに関するコーディングブロックを再構築するようにビデオ復号デバイスを構成する。
[0011]別の例において、本開示は、ビデオデータを符号化する方法を説明する。ビデオデータのピクチャのスライスの各々のCUの各PUに関して、この方法は、少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定することを含む。この方法は、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定することをも含み、ここにおいて、少なくとも1つの視差ベクトルは、各々のCUに関する。この方法は、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のCUに関するコーディングブロックを符号化された描写(representation)を生成することをも含む。
[0012]別の例において、本開示は、1つまたは複数のプロセッサを備えるビデオコーディングデバイスに関する。ビデオデータのピクチャのスライスの各々のCUの各PUに関して、1つまたは複数のプロセッサは、少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定するように構成される。さらに、1つまたは複数のプロセッサは、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定するように構成され、ここにおいて、少なくとも1つの視差ベクトルは、各々のCUに関する。1つまたは複数のプロセッサはまた、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のCUに関するコーディングブロックの符号化された描写を生成するように構成される。
[0013]別の例において、本開示は、実行されると、本開示にしたがった技術を実行するためのビデオ符号化デバイスを構成する命令を記憶したコンピュータ可読記憶媒体に関する。ビデオデータのピクチャのスライスの各々のCUの各PUに関して、命令は、少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定するようにビデオ復号デバイスを構成する。さらに、命令は、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定するようにビデオ復号デバイスを構成し、ここにおいて、少なくとも1つの視差ベクトルは、各々のCUに関する。命令はまた、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のCUに関するコーディングブロックの符号化された描写を生成するようにビデオ復号デバイスを構成する。
[0014]本開示の1つまたは複数の例の詳細は、添付の図面と下記の詳細な説明において説明される。他の特徴、目的、および利点は、詳細な説明、図面、および特許請求の範囲から明らかになる。
[0015] 図1は、本開示において説明される技術を利用し得るビデオコーディングシステムの例を示すブロック図である。
[0016] 図2は、マルチビューコーディングの復号順序の例を示す概念図である。
[0017] 図3は、本開示において説明される技術にしたがったマルチビューコーディングのための予測構造の例を示す概念図である。
[0018] 図4は、本開示において説明される技術にしたがった隣接ベースの視差ベクトルの誘導(neighbor-based disparity vector derivation)(NBDV)のための現在の予測ユニット(PU)の空間的に隣接するブロックを示す概念図である。
[0019] 図5は、本開示において説明される技術にしたがった後方ワーピング(backward warping)に基づいて、ブロックベースのビュー合成予測(block-based view synthesis prediction)(BVSP)を行うための参照ビューからの深さブロック誘導の視覚化例の概念図である。
[0020] 図6は、本開示において説明される技術にしたがった高度な残差予測(ARP)の予測構造の例を示す概念図である。
[0021] 図7は、本開示において説明される技術にしたがった現在の深さブロックの視差ベクトルを抽出するために使用される参照サンプルの例を示す概念図である。
[0022] 図8は、本開示において説明される技術を実施し得るビデオエンコーダの例を示すブロック図である。
[0023] 図9は、本開示において説明される技術を実施し得るビデオデコーダの例を示すブロック図である。
[0024] 図10は、本開示における1つまたは複数の態様にしたがった復号技術の例を示すフロー図である。
[0025] 図11は、本開示における1つまたは複数の態様にしたがった符号化技術の例を示すフロー図である。
詳細な説明
[0026]3D−HEVCにおける深さコーディング(depth coding)が、HEVCコーディングと、インタービュー参照ピクチャを利用する典型的な動き補償である視差補償の最初に構築される。深さ情報をより好適に表すために、3D−HEVCイントラコーディングにおいて、種々の拡張深さコーディングツールが適用される。拡張深さコーディングツールの全ては、非矩形のパーティション(non-rectangular partitions)に深さブロックを分割することを可能にする。こういった分割ベースの深さイントラコーディングモードは、深さモデリングモード(Depth Modeling Modes)(DMM)、領域境界チェーン(Region Boundary Chain)(RBC)コーディングおよび簡略化された深さコーディング(Simplified Depth Coding)(SDC)を含む。DMM、RBCまたはSDCにおいて、各深さPUは、1つまたは2つの部分に分割され得、かつ各部分は、一定の値、すなわちDC値によって表される。各パーティションに関するDC値は、隣接する参照サンプルを用いて予測され、および残差値は予測誤差を補償するためにさらにコード化され得る。
[0027]DMMとRBC両方の方法は、深さPUを2つの部分に分割するが、それらは分割パターンの表現については相違がある。DMMにおいて、ウェッジレットと輪郭パターン(wedgelet and contour pattern)を含む2つのタイプの分割パターンが適用される。ウェッジレットパターンは、特定の直線を用いて深さPUを分割する(segments)。ウェッジレットとは異なり、RBCは、一連の連結されたチェーンを用いて、明確に分割パターンを表し、各チェーンは、1つのサンプルと0から7までのインデックス付の8個の連結サンプル(eight-connectivity samples)のうちの1つの連結であり得、輪郭パターンは、深さPUをそれぞれが別個のサブ領域を含み得る2つのイレギュラーなパーティションへの分割をサポートできる。深さブロックの輪郭のパーティションは、同じ場所を共有するテクスチャ(co-located texture)を解析することによって計算され得る。さらに、分割パターンをシグナリングするための異なる方法は、1)ウェッジレットパターンの既定のセットから選択されたウェッジレットパターンインデックスを明確にシグナリングすること、2)隣接するイントラ予測モードを用いる現在のウェッジレットパターンとウェッジレットパターンを予測すること、3)再構築された同じ場所を共有するテクスチャブロックに基づいて、分割パターンを抽出すること、を含む、ウェッジレットモードで利用される。
[0028]動きパラメータ継承(Motion Parameter Inheritance)(MPI)は統合候補リスト生成を修正することによって実施されてきた。同じ場所を共有するテクスチャブロックの動き情報から生成され得る1つの付加的な統合候補は、HEVC統合モードによって作成されたオリジナルの空間的および時間的な候補に加えて、現在の深さブロックの統合リストに追加され得る。
[0029]高度なインタービューコーディングスキームは、深さコーディングに適用されない。深さコーディングにおいて、視差ベクトルを抽出するために、テクスチャコーディングにおいて用いられる隣接ベースの視差ベクトルの誘導(NBDV)スキームを利用することは、より精度が低くかつより複雑になり得る。したがって、本開示に説明される技術は、隣接するブロックにおける1つまたは複数の再構築された深さサンプルから現在の深さブロックに関する視差ベクトルを生成する。抽出された視差ベクトルは、インタービュー動き予測と高度な残差予測を含む高度なインタービューコーディングツールに利用され得る。
[0030]深さブロックに関する視差ベクトル誘導は、PUレベルまたはCUレベルにおいて生じ得る。CUレベルの視差ベクトル誘導において、CUの全てのPUに関して、現在のPUをカバーするコーディングユニット(CU)の隣接するブロックにおける再構築された深さサンプルのうちの1つの深さ値は、所定の参照ビューの対応するブロックに対する視差ベクトルに変換されるために(to be converted to a disparity vector to a corresponding block of a given reference view)利用され得る。視差値から視差ベクトルへの変換は、カメラパラメータに基づき得る。複数の視差ベクトルは、参照ビューに対応するそれぞれが抽出され得る。
[0031]例えば、少なくとも1つの視差値を決定する際に、システムは、各々のPUの2つ以上の隣接するサンプルに少なくとも部分的に基づいて、2つ以上の視差値を決定し得る。少なくとも1つの視差値に少なくとも部分的に基づいて少なくとも1つの視差ベクトルを決定する際に、システムは、2つ以上の視差値に少なくとも部分的に基づいて2つ以上の視差ベクトルを決定し得る。PUの左上のサンプルは、座標(x,y)を有し、2つ以上の再構築された深さサンプルは、PUの上部に隣接する行、PUの左側に隣接する列、各々のPUの特別な隣接するブロックに配置された任意のサンプル、座標(x−1,y+1)を有するサンプル、座標(x+1,y−1)を有するサンプル、およびPUのサイズがW×Hによって表される場合は、座標(x−1,y+H−1)を有するサンプルと座標(x+W−1,y−1)を有するサンプル、のうちの少なくとも2つ以上からのものである。
[0032]PUをカバーするCUの隣接するサンプルは下記のとおり選択され得る。現在のPUをカバーするCU内の左上のサンプルの座標は(x,y)と表され得る。1つの例において、現在のPUをカバーするCUの左上に隣接するサンプルが選択され得る。左上に隣接するサンプルは(x−1,y−1)の座標を有する。さらに、現在のPUをカバーするCUの上部に隣接する行または左側に隣接する列に配置された任意のサンプルが使用され得る。さらに、現在のPUをカバーするCUの空間的に隣接するブロックに配置される任意のサンプルが使用され得る。
[0033]別法として、現在のPUがコード化されると、現在のPUをカバーするCUの2つ以上の使用可能な隣接するサンプルは、現在のPUに関する1つ又は複数の視差ベクトルを抽出するために使用され得る。例えば、座標(x,y−1)を有する別の上部のサンプルと座標(x−1,y)を有する別の左側のサンプルが使用され得る。別法として、(x−1,y+1)または(x+1,y−1)の座標を有するサンプルが使用され得る。CUのサイズが2N×2Nによって表され得る場合は、(x−1,y+2N−1)および(x+2N−1,y−1)の座標を有する任意のサンプルが使用され得る。さらに、上部に隣接する行、左側に隣接する列、または現在のPUをカバーするCUの空間的に隣接するブロックの任意のサンプルが使用され得る。
[0034]例えば、少なくとも1つの視差値を決定する際に、システムは、各々のCUの2つ以上の隣接するサンプルに少なくとも部分的に基づいて、2つ以上の視差値を決定し得る。各々のCUの左上のサンプルは、座標(x,y)を有し、2つ以上の再構築された深さサンプルは、各々のCUの左上に隣接するサンプル、各々のCUの上部に隣接する行、各々のCUの左側に隣接する列、各々のCUの特別な隣接するブロックに配置された任意のサンプル、座標(x−1,y+1)を有するサンプル、座標(x+1,y−1)を有するサンプル、および各々のCUのサイズが2N×2Nで表される場合は、座標(x−1,y+2N−1)を有するサンプルと座標(x+2N−1,y−1)を有するサンプル、のうちの少なくとも2つ以上からのものである。
[0035]別法として、現在のPUがコード化されると、現在のPUをカバーする最大CU(LCU)の1つまたは複数の使用可能な隣接するサンプルが、現在のPUに関する1つまたは複数の視差ベクトルを抽出するために使用され得る。いくつかの例において、上述したサンプルのうちのいくつかはLCUのために使用され得る。
[0036]PUレベルの視差ベクトル誘導に関して、各PUについて、隣接するブロックにおいて再構築された深さサンプルのうちの1つの深さ値は、所定の参照ビューの対応するブロックに対する視差ベクトルに変換されるために利用され得る。視差値から視差ベクトルへの変換は、カメラパラメータに基づき得る。参照ビューにそれぞれ対応する複数の視差ベクトルが抽出され得る。
[0037]図1は、本開示において説明される技術を利用し得るビデオコーディングシステム10の例を示すブロック図である。ここで使用されるように、「ビデオコーダ」という用語は一般に、ビデオエンコーダとビデオデコーダの両方を指す。本開示において、「ビデオコーディング」または「コーディング」という用語は一般に、ビデオ符号化またはビデオ復号を指し得る。
[0038]図1に示されたように、ビデオコーディングシステム10は、ソースデバイス12とデスティネーションデバイス14を含む。ソースデバイス12は符号化されたビデオデータを生成する。したがって、ソースデバイス12は、ビデオ符号化デバイスまたはビデオ符号化装置と称され得る。デスティネーションデバイス14は、ソースデバイス12によって生成された符号化されたビデオデータを復号し得る。したがって、デスティネーションデバイス14は、ビデオ復号デバイスまたはビデオ復号装置と称され得る。ソースデバイス12とデスティネーションデバイス14は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
[0039]ソースデバイス12とデスティネーションデバイス14は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(例えばラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのようなテレフォンハンドセット、テレビジョン、カメラ、表示デバイス、デジタルメディアプレイヤ、ビデオゲームコンソール、自動車内に設置されたコンピュータなどを含む広範囲にわたるデバイスを備え得る。
[0040]デスティネーションデバイス14は、チャネル16を介してソースデバイス12から符号化されたビデオデータを受信し得る。チャネル16は、ソースデバイス12からデスティネーションデバイス14へ符号化されたビデオデータを移動することが可能な1つまたは複数のメディアまたはデバイスを備え得る。一例において、チャネル16は、ソースデバイス12が、符号化されたビデオデータを直接デスティネーションデバイス14に即時送信することを可能にする1つまたは複数の通信メディアを備え得る。この例において、ソースデバイス12は、ワイヤレス通信プロトコルのような通信の標準にしたがって、符号化されたビデオデータを変調し得、デスティネーションデバイス14に変調されたビデオデータを送信し得る。1つまたは複数の通信メディアは、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路(physical transmission lines)のようなワイヤレスおよび/またはワイヤード通信メディアを含み得る。1つまたは複数の通信メディアは、ローカルエリアネットワーク、広域ネットワーク、またはグローバルネットワーク(例えば、インターネット)のようなパケットベースネットワークの一部を形成し得る。1つまたは複数の通信メディアは、ソースデバイス12からデスティネーションデバイス14への通信を容易にするルータ、スイッチ、基地局、または他の機器を含み得る。
[0041]別の例において、チャネル16は、ソースデバイス12によって生成された符号化されたビデオデータを記憶する記憶媒体を含み得る。この例において、デスティネーションデバイス14は、例えば、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Blu−ray(登録商標)ディスク、DVD,CD−ROM、フラッシュメモリ、または符号化されたビデオデータを記憶するための他の適切なデジタル記憶メディアのように、ローカルにアクセスされる様々なデータ記憶メディアを含み得る。
[0042]さらなる例において、チャネル16は、ソースデバイス12によって生成された、符号化されたビデオデータを記憶するファイルサーバまたは別の中間記憶デバイスを含み得る。この例において、デスティネーションデバイス14は、ストリーミングまたはダウンロードを介してファイルサーバまたは他の中間記憶デバイスに記憶された、符号化されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、該符号化されたビデオデータをデスティネーションデバイス14に送信することが可能なサーバのタイプであり得る。ファイルサーバの例は、ウェブサーバ(例えば、ウェブサイト用の)ファイル転送プロトコル(FTP)サーバ、ネットワーク接続型記憶(NAS)デバイス、およびローカルディスクドライブを含む。
[0043]デスティネーションデバイス14は、インターネット接続のような標準のデータ接続を介して符号化されたビデオデータにアクセスし得る。データ接続のタイプの例は、ワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、ワイヤード接続(例えば、DSL、ケーブルモデムなど)、またはファイルサーバに記憶された、符号化されたビデオデータにアクセスするのに適切な両方の組合せを含み得る。ファイルサーバからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
[0044]本開示の技術は、ワイヤレスアプリケーションまたは設定に限定されるものではない。この技術は、例えば、インターネットを介した、無線テレビ放送、ケーブルテレビ送信、衛星テレビ送信、ストリーミングビデオ送信のような様々なマルチメディアアプリケーション、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、あるいは他のアプリケーション、をサポートするビデオコーディングに適用され得る。いくつかの例において、ビデオコーディングシステム10は、ビデオストリーミング、ビデオの再生、ビデオ放送、および/またはビデオ電話のようなアプリケーションをサポートするための一方向または双方向のビデオ送信をサポートするように構成され得る。
[0045]図1は、単に一例であり、本開示の技術は、符号化デバイスおよび復号デバイスの間にいずれかのデータ通信を必ずしも含まないビデオコーディング設定(例えば、ビデオ符号化またはビデオ復号)に適用し得る。他の例において、データはローカルメモリから検索され、ネットワークなどを介してストリーミングされる。ビデオ符号化デバイスは、データを符号化してメモリに記憶し得、および/またはビデオ復号デバイスは、メモリからデータを検索して復号し得る。多くの例において、符号化および復号は相互に通信を行わないデバイスによって実行され得るが、単にデータを符号化してメモリに記憶しおよび/またはメモリからデータを検索して復号するのみである。
[0046]図1の例において、ソースデバイス12は、ビデオソース18、ビデオエンコーダ20、および出力インターフェース22を含む。いくつかの例において、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ビデオソース18は、例えばビデオカメラなどのビデオキャプチャデバイス、前にキャプチャしたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および/またはビデオデータを生成するためのコンピュータグラフィックスシステム、またはビデオデータのソースなどの組合せを含み得る。
[0047]ビデオエンコーダ20は、ビデオソース18からのビデオデータを符号化し得る。いくつかの例において、ソースデバイス12は、出力インターフェース22を介してデスティネーションデバイス14に符号化されたビデオデータを直接送信する。他の例において、符号化されたビデオデータは、デスティネーションデバイス14が復号および/または再生のために後からアクセスするための記憶媒体またはファイルサーバ上にも記憶され得る。
[0048]本開示の技術は、ビデオエンコーダ20のようなビデオエンコーダの要素によって実行され得る。この技術において、ビデオデータのピクチャのスライスの各々のコーディングユニットの各予測ユニットに関して、ビデオエンコーダ20は、少なくとも1つの隣接サンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定し得る。ビデオエンコーダ20は、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定し得、ここにおいて、少なくとも1つの視差ベクトルが各々のコーディングユニットに関する。ビデオエンコーダ20は、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のコーディングユニットに関するコーディングブロックの符号化された描写を生成し得る。
[0049]図1の例において、デスティネーションデバイス14は、入力インターフェース28、ビデオデコーダ30、および表示デバイス32を含む。いくつかの例において、入力インターフェース28は、受信機および/またはモデムを含む。入力インターフェース28は、チャネル16を介して符号化されたビデオデータを受信し得る。表示デバイス32は、デスティネーションデバイス14と統合され得るか、またはデスティネーションデバイス14の外部にあり得る。一般に、表示デバイス32は、復号されたビデオデータを表示する。表示デバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプの表示デバイスのような様々な表示デバイスを備え得る。
[0050]本開示の技術は、ビデオデコーダ30のようなビデオデコーダの要素によって実行され得る。ビデオデータのピクチャのスライスの各々のコーディングユニットの各予測ユニットに関して、ビデオデコーダ30は、少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定し得る。ビデオデコーダ30は、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定し得、ここにおいて、少なくとも1つの視差ベクトルが各々のコーディングユニットに関する。ビデオデコーダ30は、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のコーディングユニットに関するコーディングブロックを再構築し得る。
[0051]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまた複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、アプリケーション特定集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ハードウェア、またはそれらの任意の組合せのような様々な適切な回路のいずれかとして実装され得る。この技術がソフトウェアにおいて部分的に実施される場合、デバイスは適切な非一時的なコンピュータ可読記憶媒体内にソフトウェアのための命令を記憶し得、本開示の技術を実行するために、1つまた複数のプロセッサを用いてハードウェア内の命令を実行し得る。(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む)前述のいずれかは、1つまたは複数のプロセッサであると考えられ得る。ビデオエンコーダ20およびビデオデコーダ30のそれぞれは1つまた複数のエンコーダまたはデコーダ内に含まれ得、それらのうちのいずれかは、それぞれのデバイス内の組み合されたエンコーダ/デコーダ(CODEC)の一部として統合され得る。
[0052]本開示は、一般的に、特定の情報をビデオデコーダ30のような別のデバイスに「シグナリング」するビデオエンコーダ20に言及し得る。「シグナリング」という用語は、一般的に、圧縮されたビデオデータを復号するために使用されるシンタックス要素および/または他のデータの通信を指し得る。こういった通信は、即時にまたはほぼ即時に発生し得る。別法として、符号化時に符号化されたビットストリームにおいて、例えばファイルサーバまたはストリーミングサーバを介してリモートにアクセス可能な記憶媒体またはローカルにアクセス可能な記憶デバイスといったコンピュータ可読記憶媒体に、例えばシンタックス要素を記憶する場合、こういった通信は、一定時間にわたって発生し得、次にこの媒体に記憶された後は、いつでも復号デバイスによって検索され得る。
[0053]いくつかの例において、ビデオエンコーダ20およびビデオデコーダ30は、スケーラブルビデオコーディング(SVC)拡張、マルチビュービデオコーディング(MVC)拡張、およびMVCベースの3DV拡張を含む、ISO/IEC MPEG−4ビジュアルおよびITU−T H.264(ISO/IEC MPEG−4 AVCとしても知られる)のようなビデオ圧縮の標準にしたがって動作する。いくつかの例において、MVCベースの3DVに準拠する任意の適法なビットストリームは、例えば、ステレオハイプロファイルなどのMVCプロファイルに適合し得るサブビットストリームを常に含む。H.264/AVCのMVC拡張の共同文書は、2010年3月の「一般的なオーディオビジュアルサービスのための高度なビデオコーディング」ITU−T 推薦 H.264において説明される。さらに、H.264/AVCに対する3次元ビデオ(3DV)コーディング拡張、すなわちAVCベースの3DVを生成するために現在進行中の取り組みがある。他の例において、ビデオエンコーダ20およびビデオデコーダ30は、ITU−T H.261、ISO/IEC MPEG−1ビジュアル、ITU−T H.262またはISO/IEC MPEG−2ビジュアル、ITU−T H.263、ISO/IEC MPEG−4ビジュアル、およびITU−T H.264、ISO/IECビジュアルにしたがって動作し得る。
[0054]図1の例において、ビデオエンコーダ20およびビデオデコーダ30は、ITU−Tビデオコーディング専門家グループ(VCEG)とISO/IEC動画専門家グループ(MPEG)のビデオコーディング(JCT−VC)に関する共同協力チームによって現在開発中の高効率ビデオコーディング(HEVC)の標準にしたがって動作し得る。「HEVC作業ドラフト10」と称される近く発表されるHEVCの標準のドラフトは、ブロス氏およびその他による「高効率ビデオコーディング(HEVC)テキスト仕様書ドラフト10」に記載されており、2013年1月にスイスのジュネーブにて開催された、ITU−T SG16 WP3およびISO/IEC JTC1/SC29/WG11のビデオコーディング(JCT−VC)に関する共同協力チームによる第12回の会議にて発表され、2013年5月31よりhttp://phenix.it−sudparis.eu/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC−L1003−v34.zipから使用可能である。
[0055]さらに、スケーラブルビデオコーディング、マルチビューコーディング、およびHEVCに関する3DV拡張を作成するために現在進行中の取り組みがある。HEVCのSVC拡張はSHEVCと称され得る。HEVCの3DV拡張は、HEVCベースの3DVまたは3D−HEVCと称され得る。3D−HEVCは、2011年11月/12月にスイスのジュネーブにて発表された、シュワルツ氏およびその他による「フラウンホーファーHHI(HEVCに準拠した構成A)、ISO/IEC JTC1/SC29/WG11,Doc.MPEG11/M22570による3Dビデオビデオコーディングの技術提案の説明」、以下「m22570」と称す、および2011年11月/12月にスイスのジュネーブにて発表された、シュワルツ氏およびその他による「フラウンホーファーHHI(HEVCに準拠した構成B)、ISO/IEC JTC1/SC29/WG11,Doc.MPEG11/M22571による3Dビデオコーディングの技術提案の説明」、以下「m22571」と称す、において提案された解決法に部分的に基づく。3D−HEVCに関する参照ソフトウェアの説明は、2012年2月に米国のサンノゼにて発表された、シュワルツ氏およびその他による「HEVCベースの3Dビデオコーディングに関して検討中のテストモデル」、ISO/IEC JTC1/SC29/WG11 MPEG2011/N12559において使用可能である。参照ソフトウェア、すなわちHTMバージョン3.0は、https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM−3.0/から、2013年5月31日より使用可能である。
[0056]H.264/AVC、HEVC、および他のビデオコーディングの標準において、ビデオシーケンスは一連のピクチャを含み得る。ピクチャは「フレーム」とも称され得る。ピクチャは3つのサンプルアレイを含み得、SL、SCbおよびSCrと表示される。SLは、ルーマサンプルの2次元アレイ(すなわちブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、ここで、「クロマ」サンプルとも称され得る。他の例において、ピクチャは単色であり得、およびルーマサンプルのアレイを含むのみであり得る。
[0057]H.264/AVCにおいて、各ピクチャは、マクロブロック(MBs)のセットに分割され得る。マクロブロックは、3つのサンプルアレイを有するピクチャのルーマサンプルの16×16のブロックとクロマサンプルの2つの対応するブロック、または単色のピクチャ、または3つの別個の色平面を使用してコード化されるピクチャのサンプルの16×16のブロックである。
[0058]ビデオエンコーダ20は、インター予測またはイントラ予測を用いてマクロブロックを符号化し得る。ビデオエンコーダ20がインター予測を用いてマクロブロックを符号化する場合、ビデオエンコーダ20は、現在のピクチャ(すなわちマクロブロックを含むピクチャ)以外の1つまたは複数のピクチャのサンプルに基づいて、マクロブロックに関する1つまたは複数の予測ブロックを生成する。インター予測を用いて符号化されたマクロブロックは、インターマクロブロックと称され得る。ビデオエンコーダ20がイントラ予測を用いてマクロブロックを符号化する場合、ビデオエンコーダ20は、現在のピクチャ内のサンプルに基づいて、マクロブロックに関する1つまたは複数の予測ブロックを生成する。イントラ予測を用いて符号化されたマクロブロックは、イントラマクロブロックと称され得る。
[0059]H.264/AVCにおいて、各インターマクロブロックは、4つの異なる方法、すなわち、1つの16×16のマクロブロックパーティション、2つの16×8のマクロブロックパーティション、2つの8×16のマクロブロックパーティション、あるいは4つの8×8のマクロブロックパーティションに分割され得る。
[0060]1つのMBにおける異なるMBのパーティションは、各方向に関して異なる参照インデックス値(すなわちRefPicList0またはRefPicList1)を有し得る。MBが4つの8×8のMBパーティションに分割されない場合、MBはそれぞれの方向にMBパーティション全体について1つだけ動きベクトルを有し得る。
[0061]MBが4つの8×8のMBパーティションに分割される場合、それぞれの8×8のMBパーティションはさらにサブブロックに分割され得る。8×8のMBパーティションからサブブロックを取得するために4つの異なる方法、すなわち、1つの8×8のサブブロック、2つの8×4のサブブロック、2つの4×8のサブブロック、あるいは4つの4×4のサブブロックがある。
[0062]それぞれのサブブロックはそれぞれの方向に異なる動きベクトルを有し得る。8×8のMBパーティションがどのようにサブブロックに分割されるかは、サブブロックパーティションと名づけられている。
[0063]上述したとおり、マルチビューコーディング(MVC)は、H.264/AVCの拡張である。マルチビューコーディングにおいて、異なる視点から、同じ場面の複数の物のビューが存在し得る。「アクセスユニット」という用語は、同じ時間インスタンスに対応するピクチャのセットを指すために使用される。したがって、ビデオデータは、時間にわたって生じる一連のアクセスユニットとして概念化され得る。「ビュー構成要素」とは、単一のアクセスユニットにおけるビューのコード化された描写であり得る。本開示において、「ビュー」は、同じビュー識別子に関連付けられる一連のビュー構成要素を指し得る。
[0064]VCEGとMPEGの3Dビデオコーディング(JCT−3C)に関する共同協力チームは、HEVCに基づく3DVの標準を開発しており、それに対して、標準化の取り組みの一部は、HEVC(MV−HEVC)に基づくマルチビュービデオコーデックの標準化とHEVC(3D−HEVC)に基づく3Dビデオコーディングについての別の部分を含む。3D−HEVCに関して、テクスチャビューと深さビューの両方が含まれかつサポートされ得るため、新しいコーディングツールは、コーディングユニット/予測ユニットレベルにおいてそれらを含む。3D−HEVC(3D−HTMバージョン6.0)に関する最新のソフトウェア3D−HTMは、https://hevc.hhi.fraunhofer.de/svn/svn_3DVCSoftware/tags/HTM−6.0/において、2013年5月31日より使用可能である。
[0065]最新の基準ソフトウェアの説明は、3D−HEVCの作業ドラフトと同様に、http://phenix.it−sudparis.eu/jct2/doc_end_user/documents/3_Geneva/wg11/JCT3V−C1005−v2.zip、ITU−T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11の3Dビデオコーディング拡張の開発に関して2013年1月17日から23日にかけてスイスのジュネーブで開催された共同協力チームによる第3回会議における、ゲールハルト・テック氏、クシシュトフ・ウェグナー氏、イン・チェン氏、セフン・イェ氏による「3D−HEVCテストモデル3」JCT3V−C1005_spec_d1において、2013年5月31日より使用可能である。
[0066]ピクチャの符号化された描写を生成するために、ビデオエンコーダ20は、コーディングツリーユニット(CTUs)のセットを生成し得る。CTUのそれぞれは、複数のルーマサンプルから成るコーディングツリーブロック、複数のクロマサンプルから成る2つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコード化するために用いられるシンタックス構造であり得る。コーディングツリーブロックは、N×Nのサンプルから成るブロック(an NxN block of samples)であり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU)とも称され得る。HEVCのCTUは、H.264/AVCのような他のビデオコーディングの標準のマクロブロックに概ね類似し得る。しかし、CTUは、必ずしも特定のサイズに限定されるわけではなく、1つまたは複数のコーディングユニット(CUs)を含み得る。スライスは、ラスター走査において、連続して順序付けられた整数のCTUを含み得る。
[0067]本開示は、1つまたは複数のサンプルのブロックと、1つまたは複数のサンプルのブロックのサンプルをコード化するために用いられるシンタックス構造を指すために、「ビデオユニット」または「ビデオブロック」という用語を使用し得る。ビデオユニットのタイプの例は、CTU、CU、PU、変換ユニット(TUs)、マクロブロック、マクロブロックパーティションなどを含み得る。
[0068]コード化されたCTUを生成するために、ビデオエンコーダ20は、コーディングツリーブロックをコーディングブロックに分割するために、CTUのコーディングツリーブロック上で再帰的に四分木分割を実行し得、そのため、「コーディングツリーユニット」という名である。コーディングブロックは、N×Nのサンプルのブロックである。CUは、ルーマサンプルアレイ、Cbサンプルアレイ、およびCrサンプルアレイ、およびコーディングブロックのサンプルをコード化するために用いられるシンタックス構造を有するピクチャのルーマサンプルのコーディングブロックと2つの対応するクロマサンプルのコーディングブロックであり得る。ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに分割し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち正方形または非正方形)ブロックであり得る。CUの予測ユニット(PU)は、ピクチャのルーマサンプルの予測ブロック、2つの対応するクロマサンプルの予測ブロック、および予測ブロックのサンプルを予測するために用いられるシンタックス構造であり得る。ビデオエンコーダ20は、予測ルーマ、ルーマに関するCbおよびCrブロック、およびCUの各PUのCbおよびCr予測ブロックを生成し得る。
[0069]ビデオエンコーダ20は、PUに関する予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ20がPUの予測ブロックを生成するためにイントラ予測を用いる場合、ビデオエンコーダ20は、PUと関連付けられるピクチャの復号されたサンプルに基づいてPUの予測ブロックを生成し得る。
[0070]ビデオエンコーダ20がPUの予測ブロックを生成するためにインター予測を用いる場合、ビデオエンコーダ20は、PUと関連付けられるピクチャ以外の1つまたは複数のピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。インター予測は、一方向のインター予測(すなわち一方向予測)または双方向のインター予測(すなわち双方向予測)であり得る。一方向予測または双方向予測を実行するために、ビデオエンコーダ20は、現在のスライスに関する第1の参照ピクチャリスト(RefPicList0)および第2の参照ピクチャリスト(RefPicList1)を生成し得る。参照ピクチャリストのそれぞれは、1つまたは複数の参照ピクチャを含み得る。一方向予測を用いる場合、ビデオエンコーダ20は、参照ピクチャ内の参照場所を決定するために、RefPicList0およびRefPicList1のいずれかまたは両方における参照ピクチャを検索し得る。さらに、一方向予測を用いる場合、ビデオエンコーダ20は、参照場所に対応するサンプルに少なくとも部分的に基づいて、PUに関する予測サンプルブロックを生成し得る。さらに、一方向予測を用いる場合、ビデオエンコーダ20は、PUの予測ブロックと参照場所の間の空間的置換を示す単一の動きベクトルを生成し得る。PUの予測ブロックと参照場所の間の空間的置換を示すために、動きベクトルは、PUの予測ブロックと参照場所の間の水平置換を特定する水平成分を含み得、およびPUの予測ブロックと参照場所の間の垂直置換を特定する垂直成分を含み得る。
[0071]PUを符号化するために双方向予測を用いる場合、ビデオエンコーダ20は、RefPicList0における参照ピクチャ内の第1の参照場所とRefPicList1における参照ピクチャ内の第2の参照場所を決定し得る。ビデオエンコーダ20は次に、第1および第2の参照場所に対応するサンプルに少なくとも部分的に基づいて、PUに関する予測ブロックを生成し得る。さらに、PUを符号化するために双方向予測を用いる場合、ビデオエンコーダ20は、PUのサンプルブロックと第1の参照場所の間の空間的置換を示す第1のMVとPUの予測ブロックと第2の参照場所の間の空間的置換を示す第2のMVを生成し得る。
[0072]ビデオエンコーダ20がCUの1つまたは複数のPUに関する予測ルーマ、CbおよびCrブロックを生成した後、ビデオエンコーダ20は、CUに関するルーマ残差ブロックを生成し得る。CUのルーマ残差ブロック内の各サンプルは、CUの予測ルーマブロックのうちの1つ中のルーマサンプルとCUのオリジナルのルーマコーディングブロック内の対応するサンプルの間の差を示す。さらに、ビデオエンコーダ20は、CUに関するCb残差ブロックを生成し得る。CUのCb残差ブロック内の各サンプルは、CUの予測Cbブロックのうちの1つ中のCbサンプルとCUのオリジナルのCbコーディングブロック中の対応するサンプルの間の差を示し得る。ビデオエンコーダ20は、CUに関するCr残差ブロックをも生成し得る。CUのCr残差ブロック内の各サンプルは、CUの予測Crブロックのうちの1つ中のCrサンプルとCUのオリジナルのCrコーディングブロック中の対応するサンプルの間の差を示し得る。
[0073]さらに、ビデオエンコーダ20は、CUのルーマ、CbおよびCr残差ブロックを1つまたは複数のルーマ、CbおよびCr変換ブロックに分解するために、四分木分割を用い得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロック、2つの対応するクロマサンプルの変換ブロック、および変換ブロックのサンプルを変換するために用いられるシンタックス構造であり得る。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックと関連付けられ得る。TUと関連付けられるルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。
[0074]ビデオエンコーダ20は、TUに関するルーマ係数ブロックを生成するために、TUのルーマ変換ブロックに1つまたは複数の変換を適用し得る。係数ブロックは、変換係数の2次元アレイであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ20は、TUに関するCb係数ブロックを生成するために、TUのCb変換ブロックに1つまたは複数の変換を適用し得る。ビデオエンコーダ20は、TUに関するCr係数ブロックを生成するために、TUのCr変換ブロックに1つまたは複数の変換を適用し得る。
[0075]係数ブロック(例えば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、ビデオエンコーダ20は係数ブロックを量子化し得る。量子化とは一般的に、変換係数が変換係数を表すために用いられるデータの量をできる限り減らし、さらなる圧縮を提供するために量子化されるプロセスを指す。さらに、ビデオエンコーダ20は、変換係数を逆量子化し、ピクチャのCUのTUの変換ブロックを再構築するために、変換係数に逆変換を適用し得る。ビデオエンコーダ20は、CUのコーディングブロックを再構築するために、CUのTUの再構築された変換ブロックとCUのPUの予測ブロックを使用し得る。ピクチャの各CUのコーディングブロックを再構築することによって、ビデオエンコーダ20はピクチャを再構築し得る。ビデオエンコーダ20は、復号されたピクチャバッファ(DPB)に再構築されたピクチャを記憶し得る。ビデオエンコーダ20は、インター予測とイントラ予測のためにDPB内の再構築されたピクチャを使用し得る。
[0076]ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。例えば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に関してコンテキスト適応型2値算術コーディング(CABCA)を実行し得る。ビデオエンコーダ20は、ビットストリーム内にエントロピー符号化されたシンタックス要素を出力し得る。
[0077]ビデオエンコーダ20は、コード化されたピクチャと関連データの描写を形成する一連のビットを含むビットストリームを出力し得る。ビットストリームは、一連のネットワーク抽象化レイヤ(NAL)ユニットを備え得る。NALユニットのそれぞれは、NALユニットヘッダを含み、ローバイトシーケンスペイロード(a raw byte sequence payload)(RBSP)をカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって特定されたNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内でカプセル化される整数のバイトを含むシンタックス構造であり得る。いくつかの例において、RBSPはゼロビットを含む。
[0078]NALユニットの異なるタイプは、RBSPの異なるタイプをカプセル化し得る。例えば、第1のタイプのNALユニットは、ピクチャパラメータセット(PPS)に関するRBSPをカプセル化し得、第2のタイプのNALユニットはコード化されたスライスに関するRBSPをカプセル化し得、第3のタイプのNALユニットは補助拡張情報(SEI)に関するRBSPをカプセル化し得る、などである。PPSは、ゼロ以上の全体にコード化されたピクチャに適用するシンタックス要素を含み得るシンタックス構造である。(パラメータセットとSEIメッセージに関するRBSPとは対照的に)ビデオコーディングデータに関するRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと称され得る。コード化されたスライスをカプセル化するNALユニットは、ここでは、コード化されたスライスNALユニットと称され得る。コード化されたスライスに関するRBSPは、スライスヘッダとスライスデータを含み得る。
[0079]ビデオデコーダ30はビットストリームを受け取り得る。さらに、ビデオデコーダ30は、ビットストリームからのシンタックス要素を復号するためにビットストリームを解析し得る。ビデオデコーダ30は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構築し得る。ビデオデータを再構築するためのプロセスは、ビデオエンコーダ20によって実行されるプロセスと一般的に相互に関係し得る。例えば、ビデオデコーダ30は、現在のCUのPUに関する予測ブロックを決定するために、PUの動きベクトルを使用し得る。ビデオデコーダ30は、PUに関する予測ブロックを生成するために、複数のPUの1つまたは複数の動きベクトルを使用し得る。
[0080]さらに、ビデオデコーダ30は、現在のCUのTUと関連付けられる係数ブロックを逆量子化し得る。ビデオデコーダ30は、現在のCUのTUと関連付けられる変換ブロックを再構築するために、係数ブロックに関して逆変換を実行し得る。ビデオデコーダ30は、現在のCUのPUに関する予測サンプルブロックのサンプルを現在のCUのTUの変換ブロックの対応するサンプルに加えることによって、現在のCUのコーディングブロックを再構築し得る。ピクチャの各CUに関するコーディングブロックを再構築することによって、ビデオデコーダ30はピクチャを再構築し得る。ビデオデコーダ30は、他のピクチャを復号する際に出力および/または使用するために、復号されたピクチャバッファ内に復号されたピクチャを記憶し得る。
[0081]ビデオコーダ(例えば、ビデオエンコーダ20またはビデオデコーダ30)がピクチャの現在のスライスのコーディングを開始するときに、ビデオコーダは第1の参照ピクチャリスト(すなわちリスト0)を初期化し得る。さらに、現在のスライスがBスライスである場合、ビデオコーダは、第2の参照ピクチャリスト(すなわちリスト1)を初期化し得る。本開示は、リスト0を「RefPicList0」と称し、リスト1を「RefPicList1」と称し得る。ビデオコーダが参照ピクチャリスト(例えば、リスト0またはリスト1)を初期化した後に、ビデオコーダは、参照ピクチャリスト内の参照ピクチャの順序を修正し得る。言い換えると、ビデオコーダは、参照ピクチャリスト修正(RPLM)プロセスを実行し得る。ビデオコーダは、参照ピクチャの順序を、ある特定の参照ピクチャが参照ピクチャリスト内の2つ以上の位置に出現し得る場合を含む任意の順序に修正し得る。
[0082]いくつかの場合において、ビデオエンコーダ20は、統合モードまたは高度な動きベクトル予測(AMVP)モードを用いてPUの動き情報をシグナリングし得る。言い換えると、HEVCにおいて、動きパラメータの予測ために2つのモードが存在し、その一方は統合モードであり、他方がAMVPである。PUの動き情報は、PUの(1つまたは複数の)動きベクトルとPUの(1つまたは複数の)参照インデックスを含み得る。ビデオエンコーダ20が統合モードを用いて現在のPUの動き情報をシグナリングする場合、ビデオエンコーダ20は、統合候補リスト(すなわち動きベクトル予測器(MVP)候補リスト)を生成する。言い換えると、ビデオエンコーダ20は、動きベクトル予測器リスト構築プロセスを実行し得る。統合候補リストは、統合候補(すなわちMVP候補)のセットを含む。統合候補リストは、空間的または時間的に現在のPUに隣接するPUの動き情報を示す統合候補を含み得る。すなわち、統合モードにおいて、動きパラメータ(例えば、参照インデックス、動きベクトル、など)の候補リストは、構築され、ここで、候補は空間的および時間的に隣接するブロックからのものである。
[0083]さらに、統合モードにおいて、ビデオエンコーダ20は、統合候補リストから統合候補を選択し、選択された統合候補によって示された動き情報を現在のPUの動き情報として使用し得る。ビデオエンコーダ20は、選択された統合候補の統合候補リスト内の位置をシグナリングし得る。例えば、ビデオエンコーダ20は、インデックスを候補リストに送信することによって、選択された動きベクトルパラメータをシグナリングし得る。ビデオデコーダ30は、ビットストリームから、候補リストへのインデックス(すなわち、候補リストインデックス)を取得し得る。さらに、ビデオデコーダ30は、同じ統合候補リストを生成し、選択された統合候補の位置の表示に基づいて、選択された統合候補を決定し得る。ビデオデコーダ30は次に、現在のPUに関する予測ブロックを生成するために、選択された統合候補の動き情報を使用し得る。すなわち、ビデオデコーダ30は、候補リストインデックスに少なくとも部分的に基づいて、候補リスト内で選択された候補を決定し得、ここにおいて、選択された候補は、現在のPUに関する動きベクトルを特定する。このように、デコーダ側で、インデックスが復号されると、インデックスが指す対応するブロックの全ての動きパラメータが現在のPUによって受け継がれることになる。
[0084]スキップモードは統合モードに類似している。スキップモードにおいて、ビデオエンコーダ20およびビデオデコーダ30は、ビデオエンコーダ20およびビデオデコーダ30が統合モードで統合候補リストを使用するのと同じ方法で統合候補リストを生成および使用する。しかし、ビデオエンコーダ20がスキップモードを用いて現在のPUの動き情報をシグナリングする場合、ビデオエンコーダ20は、現在のPUに関する残差データのいずれもシグナリングしない。したがって、ビデオデコーダ30は、統合候補リスト内で選択された候補の動き情報によって示された参照ブロックをPUに関する予測ブロックとして使用し得る。
[0085]AMVPモードは、ビデオエンコーダ20が候補リストを生成し、候補のリストから候補を選択する点で統合モードに類似している。しかし、ビデオエンコーダ20がAMVPモードを用いて現在のPUの動き情報をシグナリングする場合、ビデオエンコーダ20もまた、候補リスト内で選択された候補の位置をシグナリングするのに加えて、現在のPUと参照インデックスに関する動きベクトル差(MVD)をシグナリングし得る。現在のPUに関するMVDは、現在のPUの動きベクトルとAMVP候補リストから選択された候補の動きベクトルの間の差を示し得る。一方向予測において、ビデオエンコーダ20は、現在のPUに関する1つのMVDと1つの参照インデックスをシグナリングし得る。双方向予測において、ビデオエンコーダ20は、現在のPUに関する2つのMVDと2つの参照インデックスをシグナリングし得る。このように、ビデオエンコーダ20は、インデックスを候補リストに送信することによって選択された動きベクトルをシグナリングし、および参照インデックス値とMVDをシグナリングし得る。言い換えると、現在のPUに関する動きベクトルを表すビットストリーム内のデータは、参照インデックスを表すデータと、候補リストに対応するインデックス、およびMVDを含み得る。
[0086]さらに、現在のPUの動き情報がAMVPモードを用いてシグナリングされる場合、ビデオエンコーダ30は、ビットストリームから、現在のPUに関するMVDと候補リストインデックスを取得し得る。ビデオデコーダ30は、同じAMVP候補リストを生成し、AMVP候補リスト内で選択された候補の位置の表示に基づいて、選択された候補を決定し得る。ビデオデコーダ30は、選択された候補によって示された動きベクトルにMVDを追加することによって、現在のPUの動きベクトルを回復し得る。すなわち、ビデオデコーダ30は、選択された候補とMVDによって示された動きベクトルに少なくとも部分的に基づいて、現在のPUの動きベクトルを決定し得る。ビデオデコーダ30は次に、現在のPUに関する予測ブロックを生成するために、回復された動きベクトルまたは現在のPUの動きベクトルを使用し得る。
[0087]現在のPU(すなわち現在のPUとは異なる時間インスタンスにあるPU)に時間的に隣接するPUの動き情報に基づく統合候補リストまたはAMVP候補リスト内の候補は、時間的な動きベクトル予測器(TMVP)と称され得る。TMPVは、HEVCのコーディング効率を向上させるために使用され、他のコーディングツールとは異なる。TMVPを決定するために、ビデオコーダは、現在のPUと同じ場所を共有するPUを含む参照ピクチャを最初に識別し得る。すなわち、ビデオコーダは、復号されたピクチャバッファ内、さらに具体的には参照ピクチャリスト内のフレームの動きベクトルにアクセスする。言い換えると、ビデオコーダは、同じ場所を共有するピクチャを識別し得る。
[0088]インター予測されたスライスにおいて、TMVPが全体にコード化されたビデオシーケンスに関してイネーブルされると(シーケンスパラメータセット内のsps_temporal_mvp_enable_flagが1に設定される)、ビデオエンコーダ20は、TMVPが現在のスライスに関してイネーブルされたかどうかを示すためにスライスヘッダ内のslice_temporal_mvp_enable_flagをシグナリングし得る。
[0089]現在のピクチャの現在のスライスがBスライス(すなわち双方向にインター予測されたPUを含むことが可能なスライス)である場合、ビデオエンコーダ20は、スライスヘッダにおいて、同じ場所を共有するピクチャがRefPicList0またはRefPicList1からのものであるかどうかを示すシンタックス要素(例えば、collocated_from_10_flag)をシグナリングし得る。ビデオデコーダ30が同じ場所を共有するピクチャを含む参照ピクチャリストを識別した後、ビデオデコーダ30は、識別された参照ピクチャリストにおいてピクチャ(すなわち同じ場所を共有するピクチャ)を識別するために、スライスヘッダにおいてシグナリングされ得る別のシンタックス要素(例えば、collocated_ref_idx)を使用し得る。
[0090]ビデオコーダは、同じ場所を共有するピクチャを確認することによって同じ場所を共有するPUを識別し得る。TMVPは、同じ場所を共有するPUを含むCUの右下のPUの動き情報か、あるいはこのPUを含むCUの中央のPU内の右下のPUの動き情報を示し得る。同じ場所を共有するPUを含むCUの右下のPUは、PUの予測ブロックの右下のサンプルの直下および右の場所をカバーするPUであり得る。言い換えると、TMVPは、参照ピクチャ内にあり、かつ現在のPUの右下角と同じ場所を共有する場所をカバーするPUの動き情報を示すか、あるいはTMVPは、参照ピクチャ内にあり、かつ現在のPUの中央と同じ場所を共有する場所をカバーするPUの動き情報を示し得る。
[0091]上記のプロセスによって識別された動きベクトルが、統合モードまたはAMVPモードのための動き候補を生成するために使用される場合、動きベクトルは、(POC値によって影響される)時間的な場所に基づいてスケールされ得る。例えば、現在のピクチャと参照ピクチャのPOC値の間の差分がより小さい場合より、現在のピクチャと参照ピクチャのPOC値の間の差分が大きい場合に、ビデオコーダは、より大きい量だけ動きベクトルの大きさを増大させ得る。
[0092]3D−HEVCは、異なる視点からの同一場面の複数のビューを提供する。3D−HEVCに関する標準化の取り組みの一部は、HEVCに基づくマルチビュービデオコーデックの標準化を含む。同様に、HEVCベースの3DVにおいて、異なるビューから再構築されたビュー構成要素に基づくインタービュー予測がイネーブルされる。H.264/AVCにおけるMVCのように、3D−HEVCはインタービュー動き予測(IMP)をサポートする。3D−HEVCにおいて、IMPは、HEVCの標準で用いられる動き補償に類似しており、かつ同じまたは類似のシンタックス要素を利用し得る。しかし、ビデオコーダがPUに対してIMPを実行する場合、ビデオコーダは、PUと同じアクセスユニット内だが異なるビューにあるピクチャを参照ピクチャとして使用し得る。対照的に、従来の動き補償は、参照ピクチャとして異なるアクセスユニット内のピクチャを使用するだけである。したがって、3D−HEVCにおいて、従属ビューにおけるブロックの動きパラメータは、同じアクセスユニットの他のビューにおける既にコード化された動きパラメータに基づいて予測または推測される。
[0093]ビデオコーダは、現在のPUの動き情報が統合モードまたはAMVPモードを用いてシグナリングされる場合、候補リスト(例えば、統合候補リストまたはAMVP候補リスト)を生成し得る。3D−HEVCにおいて、候補リストは、候補リスト内の他の候補と同じ方法で使用され得るインタービュー予測候補を含み得る。インタービュー予測候補は、参照ピクチャのPU(すなわち参照PU)の動き情報を特定する。参照ピクチャは、現在のPUと同じアクセスユニット内だが、現在のPUとは異なるビュー内に存在し得る。参照PUを決定するために、ビデオコーダは、現在のPUに関する視差ベクトルを決定するために、視差ベクトル構築プロセスを実行し得る。現在のPUに関する視差ベクトルは、現在のPUと参照テクスチャピクチャ内の場所の間の水平空間的置換(horizontal spatial displacement)を示し得る。参照PUは、視差ベクトルによって示される場所をカバーする参照テクスチャピクチャのPUであり得る。
[0094]視差動きベクトルは、インタービュー参照ピクチャ内の場所を指す動きベクトルである。インタービュー参照ピクチャは、現在のPUと同じアクセスユニット内だが、異なるビューにあるテクスチャピクチャである。空間的視差ベクトル(「SDV」)は、現在のPUに空間的に隣接するPUの視差動きベクトルである。言い換えると、SDVは、空間的に隣接するPUによって特定され、インタービュー参照ピクチャ内の場所を示す動きベクトルであり、ここにおいて、空間的に隣接するPUは現在のPUに空間的に隣接する。時間的視差ベクトル(「TDV」)は、現在のPUと同じビュー内で、かつ現在のPUとは異なるアクセスユニット内にある現在のPUと同じ場所を共有するPUの視差動きベクトルである。言い換えると、TDVは、同じアクセスユニットを用いて、参照ピクチャまたはインタービューピクチャのいずれかにおける同じ場所を共有するLCU、同じ場所を共有するPUからの視差動きベクトルであり得る。別法として、TMVPに使用されたピクチャからの同じ場所を共有するPUの動きベクトルまたはTMVPによって生成された動きベクトルが視差ベクトルである場合、そのベクトルはまたTDVとして扱われる。現在のPUの空間的に隣接するまたは時間的に隣接するPUがインタービュー動き予測を用いてコード化される場合、空間的に隣接するまたは時間的に隣接するPUの視差ベクトルは暗黙視差ベクトル(「IDV」)である。
[0095]ビデオコーダは、IMPのために直接SDV、TDV、またはIDVから選択された視差ベクトルを使用し得る。上述されたとおり、ビデオエンコーダは、統合/スキップモードまたはAMVPモードを用いて現在のPUの動き情報をシグナリングする場合、現在のPUに関するMVP候補リストを生成し得る。ビデオコーダは、インタービュー参照ピクチャにおいて参照PUを決定するために、選択された視差ベクトル候補によって特定された視差ベクトルを使用し得る。ビデオコーダは、統合モードまたはAMVPモードに関するMV候補リストにおけるインタービュー予測MV候補として参照PUの動き情報を含み得る。
[0096]シンタックス要素part_modeは、現在のCUの分割モードを特定する。HEVCにおけるpart_modeの値は下記のとおり限定される。1つのCUのコーディングモードがMODE_INTRAに等しい場合、part_modeは0または1に等しいものとする。別の場面で、1つのCUのコーディングモードがMODE_INTERに等しい場合、下記があてはまる。現在のCUのサイズが最小CUのサイズより大きく、非対称の動きパーティションがイネーブルされる場合、part_modeは、境界も含めて0から2までの範囲であり、かつ境界も含めて4から7までの範囲とする。別の場面で、現在のCUのサイズが最小CUのサイズより大きく、非対称の動きパーティションがディスエーブルされる場合、part_modeは、境界も含めて0から2までの範囲とする。別の場面で、現在のCUのサイズが8に等しい場合、part_modeの値は、境界も含めて0から2までの範囲とする。別の場面(現在のCUのサイズが8より大きい)で、part_modeの値は、境界も含めて0から3までの範囲とする。
[0097]part_modeと可変PartModeの関連する値の間の関係は、下記の表1に定義される。part_modeが存在しない場合、現在のCUのパーティションモードは、PART_2N×2Nに等しいものと推測されることに留意のこと。
[0098]NBDVは、全てのビューに関するテクスチャ−第1のコーディング順序を用いる3D−HEVCおける視差ベクトル誘導方法のために用いられる。現在の3D−HEVC設計において、NBDVは、参照ビューの深さマップから深さデータを検索するためにも用いられ得る。
[0099]視差ベクトルは、2つのビューの間の視差の推定器に用いられる。隣接するブロックは、ビデオコーディングにおいてほとんど同じ動き/視差情報を共有するため、現在のブロックは、優れた予測器として隣接するブロック内の動きベクトル情報を使用し得る。この考えにしたがって、NBDVは、異なるビューにおける視差ベクトルを推測するために隣接する視差情報を使用する。
[0100]様々な空間的および時間的に隣接するブロックがまず定義される。空間的および時間的に隣接するブロックのそれぞれは次に、現在のブロックと候補ブロックの間の相関関係の優先度によって決定される予め定義された順序で確認される。視差動きベクトル(すなわち、インタービュー参照ピクチャを指す動きベクトル)が候補内に発見されると、視差動きベクトルは視差ベクトルに変換される。隣接するブロックの2つのセットが利用される。一方のセットは空間的に隣接するブロックからのものであり、もう一方のセットは時間的に隣接するブロックからのものである。
[0101]3D−HEVCは、L.チャン氏およびその他による「3D−CE5.h:視差ベクトル生成結果」文献JCT3V−A0097において提案されたNBDV方法を最初に採用した。暗黙視差ベクトルは、J.スン氏およびその他による「3D−CE5.h:HEVCベースの3Dビデオコーディングに関する視差ベクトル誘導の簡略化」文献JCT3V−A0126に簡略化されたNBDVと共に含まれていた。J.カン氏およびその他による「3D−CE5.h関連:視差ベクトル誘導に関する改良」文献番号JCT3V−B0047において、NBDVは、復号されたピクチャバッファ内に記憶された暗黙の視差ベクトルを取り除くことによってさらに簡略化されるが、RAPピクチャ選択を用いてコーディング利得も改良した。
[0102]図2は、マルチビューコーディング復号順序の例を示す概念の図である。図2の例において、各正方形はビュー構成要素に対応する。正方形の列はアクセスユニットに対応する。各アクセスユニットは、時間インスタンスの全てのビューのコード化されたピクチャを含むように定義され得る。正方形の行はビューに対応する。図2の例において、アクセスユニットは、T0…T8とラベル付けされ、ビューはS0…S8とラベル付けされる。アクセスユニットの各ビュー構成要素は、次のアクセスユニットの任意のビュー構成要素より前に復号されるため、図2の復号順序は、時間−第1のコーディング(time-first coding)と称され得る。アクセスユニットの復号順序は、ビューの出力または表示の順序に一致し得ない。
[0103]マルチビューコーディングはインタービュー予測をサポートする。インタービュー予測はH.264/AVC、HEVC、または他のビデオコーディングの標準で用いられるインター予測に類似しており、類似のシンタックス要素を使用し得る。しかし、ビデオコーダが現在のビデオユニット(例えば、マクロブック)に対してインタービュー予測を実行する場合、ビデオコーダは、現在のビデオユニットと同じアクセスユニット内ではあるが、異なるビューにあるピクチャを参照ピクチャとして使用し得る。対照的に、従来のインター予測は、参照ピクチャとして異なるアクセスユニット内のピクチャを使用するのみである。
[0104]マルチビューコーディングにおいて、ビデオデコーダ(例えば、ビデオデコーダ30)がいずれかの他のビュー内のピクチャを参照することをなくビュー内のピクチャを復号可能な場合、ビューは、「基本ビュー(base view)」と称され得る。非基本ビューのうちの1つにおいてピクチャをコード化する場合、ピクチャが異なるビュー内にあるが、ビデオコーダが現在コード化しているピクチャと同じ時間インスタンス(すなわちアクセスユニット)内にある場合、ビデオコーダ(例えば、ビデオエンコーダ20またはビデオデコーダ30)は、ピクチャを参照ピクチャリスト(例えば、RefPicList0またはRefPicList1)に加え得る。他のインター予測参照ピクチャと同様に、ビデオコーダは、参照ピクチャリストの任意の位置にインタービュー予測参照ピクチャを挿入し得る。
[0105]図3は、本開示において説明される技術にしたがったマルチビューコーディングのための予測構造の例を示す概念図である。図3のマルチビュー予測構造は、時間的およびインタービュー予測を含む。図3の例において、各正方形はビュー構成要素に対応する。「I」とラベル付けされた正方形は、イントラ予測されるビュー構成要素である。「P」とラベル付けされた正方形は、一方向にインター予測されるビュー構成要素である。「B」および「b」とラベル付けされた正方形は、双方向にインター予測されるビュー構成要素である。「b」とラベル付けされた正方形は、参照ピクチャとして「B」とラベル付けされた正方形を用い得る。第1の正方形から第2の正方形までを指し示す矢印は、第1の正方形が、インター予測において、第2の正方形に関する参照ピクチャとして使用可能であることを示す。図3において垂直矢印によって示されるように、同じアクセスユニットの異なるビューにおけるビュー構成要素は、参照ピクチャとして使用可能であり得る。同じアクセスユニットの別のビュー構成要素に関する参照ピクチャとしてのアクセスユニットの1つのビュー構成要素の使用はインタービュー予測と称され得る。したがって、マルチビュービデオコーディングのための(各ビュー内のインターピクチャ予測とインタービュー予測の両方を含む)典型的なMVC予測構造が図3に示され、ここにおいて、予測は矢印によって示され、被参照オブジェクトは、参照予測のためにオブジェクトからの位置を使用する。
[0106]H.264/AVCのMVC拡張において、インタービュー予測はH.264/AVCの動き補償のシンタックスを使用する視差動き補償によってサポートされ得るが、異なるビューにおけるピクチャが参照ピクチャとして使用されることを可能にする。2つのビューのコード化は、H.264/AVCのMVC拡張によってもサポートされ得る。H.264/AVCのMVC拡張の利点の一つは、MVCエンコーダが3Dビデオ入力として3つ以上のビューを取得し得、かつMVCデコーダが例えばマルチビュー描写を復号し得る点である。その結果、MVCデコーダを用いる任意のレンダラ(renderer)は、3つ以上のビューを有する3Dビデオコンテンツを要求し得る。
[0107]H.264/AVCのMVC拡張において、インタービュー予測は、同じアクセスユニット(すなわち同じ時間インスタンスを有する)におけるピクチャの間で許可される。言い換えると、MVCにおいて、インタービュー予測は、ビュー間の相関関係を取り除くために、同じアクセスユニット(すなわち同じ時間インスタンスを有する)の異なるビューから取得されたピクチャの間で実行される。非基本ビューのうちの1つ内のピクチャをコード化する場合、ピクチャが異なるビュー内にあるが同じ時間インスタンスを有していれば、ピクチャは参照ピクチャリストに加えられ得る。言い換えると、インタービュー予測を用いてコード化されたピクチャは、他の非基本ビューのインタービュー予測のために参照ピクチャリストに加えられえる。言い換えると、インタービュー予測を用いてコード化されたピクチャは、他の非基本ビューのインタービュー予測のために参照ピクチャリストに加えられえる。インタービュー予測参照ピクチャは、ちょうど任意のインター予測参照ピクチャのように参照ピクチャリストの任意の位置に配置され得る。
[0108]さらに、マルチビュービデオコーディングのコンテキストにおいて、2つのタイプの動きベクトルが存在し得る。一方のタイプの動きベクトルは、時間的参照ピクチャを指し示す通常の動きベクトルであり、対応する時間的インター予測は動き補償予測(MCP)である。他方のタイプの動きベクトルは、異なるビュー(すなわちインタービュー参照ピクチャ)におけるピクチャを指し示す視差動きベクトルであり、対応するインター予測は視差補償予測(DCP)である。
[0109]図4は、本開示において説明される技術にしたがった隣接ベースの視差ベクトルの誘導(NBDV)のための現在の予測ユニット(PU)の空間的に隣接するブロックを示す概念図である。現在のNBDVにおいて、5個の空間的に隣接するブロックが現在のPUに関する視差ベクトル誘導のために用いられる。5個の空間的に隣接するブロックは、現在のPUの左下、左、右上、上、および左上のブロックであり、それぞれA0、A1、B0、B1、およびB2によって示される。5個の空間的に隣接するブロックは、HEVCにおける統合モードで使用される空間的に隣接するブロックと同じであることが留意されるべきである。したがって、追加のメモリアクセスは必要とされない。
[0110]時間的に隣接するブロックを確認するために、候補ピクチャの構築プロセスが最初に実行される。現在のビューから最大2個の参照ピクチャが候補ピクチャとして扱われ得る。同じ場所を共有する参照ピクチャは、最初に候補ピクチャリストに挿入され、次に、参照インデックスの昇順に残りの候補ピクチャが挿入される。両方の参照ピクチャリストにおいて同じ参照インデックスを有する参照ピクチャが使用可能な場合、同じ場所を共有するピクチャの同じ参照ピクチャリストにおける一方が他方に先行する。候補ピクチャリスト内の各候補ピクチャに関して、3つの候補領域が時間的に隣接するブロックを抽出すために決定される。
[0111]ブロックがインタービュー動き予測を用いてコード化される場合、視差ベクトルは、異なるビューにおいて対応するブロックを選択するために抽出される必要があり得る。抽出された視差ベクトルとも称される暗黙視差ベクトル(IDV)は、インタービュー動き予測において抽出される視差ベクトルと称される。ブロックが動き予測を用いてコード化さたとしても、抽出された視差ベクトルは、下記のブロックをコード化する目的で破棄されることはない。NBDVプロセスは、時間的に隣接するブロックにおける視差動きベクトル、空間的に隣接するブロックにおける視差動きベクトル、次に暗黙の視差ベクトルを順に確認し得る。視差ベクトルが発見されると、プロセスは終了する。
[0112]視差動きベクトルまたは前のプロセスの間に発見されたIDVが無い場合、NBDVは、使用不可能であるとマークされる。この場合、NBDVは使用不可能な視差ベクトルを返すと考えられ得る。しかし、NBDVが使用不可能な結果を返しても、ゼロ視差ベクトルは、視差ベクトルを必要とする他のコーディングプロセスによって使用可能である。3D−HEVCは、参照ビューの深さがアクセスされるのを可能にする。この場合、深さは後方ビュー合成予測(BVSP)のために用いられるべき視差ベクトルまたは視差動きベクトルを精密化するためにも用いられ得る。
[0113]使用可能な視差ベクトルがNBDVプロセスから抽出される場合、視差ベクトルは、参照ビューの深さマップから深さデータを検索することによってさらに精密化される。精密化プロセスは2つのステップを含む。第1に、対応する深さブロックは、基本ビューのような前にコード化された参照深さビューにおいて抽出された視差ベクトルを用いることによって配置される。対応する深さブロックのサイズは、現在のPUのサイズと同じである。第2に、対応する深さブロックの4つの角のピクセルから1つの深さ値が選択され、精密化された視差ベクトルの水平成分に変換される。視差ベクトルの垂直成分は変わらない。
[0114]使用可能な視差ベクトルを抽出すための上記のプロセスは、NBDV精密化(NBDV−R)または深さ指向NBDV(Do−NBDV)とも呼ばれる。しかし、NBDVが使用可能な視差ベクトルを提供しない(したがって、NBDVの結果が使用不可能である)場合、上記のNBDV−Rプロセスはスキップされ、ゼロ視差ベクトルが直接返される。
[0115]精密化された視差ベクトルがインタービュー動き予測に使用される一方で、精密化されていない視差ベクトルがインタービュー残差予測に使用されることが留意される。さらに、精密化された視差ベクトルは、後方VSPモードを用いてコード化される場合、1つのPUの動きベクトルとして記憶される。
[0116]HEVCは、AMVPおよび統合モードに関する候補リストの概念を導入するので、3D−HEVCにおいて、インタービュー動き予測は、新しい候補を導入することによって実現される。AMVP候補リストの生成を変更するためのアクティビティは存在したが、そのアクティビティを行う利点は小さいと考えられたため、AMVPモードは、現在の3D−HEVCにおいて変更されないままであった。インタービュー動き予測の主な実現化は統合モードの修正によって達成される。
[0117]3D−HEVCにおいて、最大6個の統合候補が統合候補リストに挿入され得る。HEVCにおける統合モードの復号プロセスによってリストに挿入される候補を維持する一方で、2つのさらなる候補が統合候補リストに加えられ得る。それらは、参照ブロックの動き情報にアクセスすることから抽出される候補、すなわちインタービュー候補であり、その候補は現在のブロックの視差ベクトルから変換される。
[0118]インタービュー候補は、視差ベクトルによって配置された参照ブロックの動きベクトルを再利用することによって抽出され、その関連の参照ビューはNBDVプロセスから抽出される。さらに、統合候補の参照インデックスは、動きベクトルが参照ビューにおいて指し示すアクセスユニットと同じアクセスユニット(時間インスタンス)内の(現在のピクチャの参照ピクチャリストにおける)ピクチャを識別するために設定される。
[0119]ビデオコーダは、他の候補を生成するために、インタービュー参照ピクチャを識別する参照インデックスを用いて視差ベクトルを視差動きベクトルに変換する。この候補はインタービュー候補の使用可能性に関わらず挿入される。HEVCにおける統合プロセスと同様に、ビデオコーダは、図4に示されたように、A1およびB1によって示された空間的に隣接するからの候補のみと比較することによって、追加の候補に対して枝刈り(pruning)を適用する。
[0120]JCT3V−C0152において提案されたように、後方ワーピングVSP(BVSP)アプローチは、3D−AVCにおけるブロックベースのVSPと同じである。これら2つの技術の両方は、動きベクトル差を送信するのを避けるために、後方ワーピングとブロックベースのVSPを用い、かつより正確な動きベクトルを用いる。しかし、実施の詳細は、異なるプラットフォームが原因で異なる。用語BVSPは、3D−HEVCにおける後方ワーピングVSPアプローチを示すためにも使用され得る。
[0121]3D−HTMにおいて、テクスチャ第1のコーディングが共通のテスト条件に適用される。したがって、対応する非基本深さビューは、1つの非基本テクスチャビューを復号し、深さ情報がBVSPを実行するために推測および用いられる場合に使用不可能である。
[0122]図5は、本開示において説明される技術にしたがった後方ワーピングに基づいて、ブロックベースのビュー合成予測(BVSP)を行うために、参照ビューからの深さブロック誘導の視覚化例の概念図である。図5は、どのように参照ビューからの深さブロックが配置され、次にBVSP予測に用いられるかの3つのステップを示す。ブロックに関する深さ情報を推定するために、初めに隣接するブロックから視差ベクトルを抽出することが提案される。次に、抽出された視差ベクトルは、参照ビューから深さブロックを取得するために使用される。HTM5.1テストモデルは、NBDV(隣接するブロック視差ベクトル)として知られる視差ベクトル予測器を抽出するプロセスを含む。(dvx,dvy)にNBDV関数(function)から識別された視差ベクトルを表示させ、現在のブロック位置は、(blockx,blocky)と表示される。深さブロックは、参照ビューの深さイメージにおける(blockx+dvx,blocky+dvy)においてフェッチされ得る。フェッチされた深さブロックは現在のPUの同じサイズを有するはずであり、それは次に、現在のPUに関して後方ワーピングを行うために用いられる。BVSPがシーケンスにおいてイネーブルされる場合、インタービュー動き予測のためのNBDVプロセスが変更される。
[0123]BVSPがイネーブルされる場合のNBDVのプロセスへの1つ目の差分は、時間的に隣接するブロックのそれぞれに関して、それが視差動きベクトルを使用する場合、視差動きベクトルが視差ベクトルとして返されることを含む。視差ベクトルは、深さ情報部分にアクセスした状態で、NBDVの精密化で説明されたようにさらに精密化される。
[0124]別の差分は、空間的に隣接するブロックのそれぞれに関して、下記の条件を参照ピクチャリスト0と参照ピクチャリスト1に順に適用する。その条件とは、空間的に隣接するブロックが視差動きベクトルを使用する場合、視差動きベクトルは視差ベクトルとして返され、それは上述したとおりさらに精密化される。別法として、空間的に隣接するブロックがBVSPモードを用いる場合、関連する動きベクトルは視差ベクトルとして返される。視差ベクトルは、上述したのと同様の方法でさらに精密化される。しかし、最大深さ値は、4つの角のピクセルではなく対応する深さブロックの全てのピクセルから選択され、精密化された視差ベクトルの垂直成分は0に設定される。
[0125]さらに別の差分は、空間的に隣接するブロックのそれぞれに関して、各ブロックがIDVを使用する場合、IDVは視差ベクトルとして返され、およびそれが上述したとおりさらに精密化されることを含む。さらなる差分は、視差動きベクトルが使用可能でない場合、精密化プロセスは適用されず、かつ視差ベクトルはゼロベクトルとして抽出されることを含む。
[0126]視差動きベクトル誘導プロセスのために、BVSPモードでコード化された1つのPU内の各サブ領域(4×4のブロック)に関して、対応する4×4の深さブロックは、前述した精密化された視差ベクトルを用いて参照深さビュー内に最初に配置される。第2に、対応する深さブロックにおいて16個の深さピクセルの最大値が選択される。第3に、その最大値は、視差動きベクトルの水平成分に変換される。視差動きベクトルの垂直成分は0に設定される。
[0127]図6は、本開示において説明される技術にしたがった高度な残差予測(ARP)の予測構造の例を示す概念図である。現在の3D−HEVCにおいて、2つのビューの残差信号の間の相関をさらに効率的に利用するために、インタービュー残差予測は、いわゆる高度な残差予測(ARP)によって実現された。ARPにおいて、視差ベクトルを用いて識別された参照ブロックの残差は、図6に示されるように、参照ビューに関する残差ピクチャを保持し、残差ピクチャにおける参照ブロック内の残差を直接予測する代わりに、オンザフライで(on-the-fly)生成される。
[0128]図6に示すように、非基本ビューにおける現在のブロックの残差40を好適に予測するために、ビデオコーダは、視差ベクトル44を用いて参照ブロック42を識別し得る。参照ブロック42の動き補償は、予測信号43と参照ブロック42の再構築された信号の間の残差を抽出するために呼び出される。ARPモードが呼び出されると、予測された残差は、例えば、非基本ビューの参照ピクチャにおけるブロック41からの動き補償によって生成された非基本ビューの予測信号のトップに加えられる。ARPモードの利点の1つは、(ARPに関する残差を生成する場合)参照ブロック42によって使用される動きベクトル45は、現在のブロック40の動きベクトル46を用いてアラインされるため、現在のブロックの残差信号は、さらに正確に予測され得ることである。したがって、残差のエネルギーは顕著に低減され得る。
[0129]基本(例えば、参照)および非基本ビューの間の量子化差分は予測の正確さが劣ることにつながる可能性があるため、2つの重み付け係数が、参照ビュー:0.5および1から生成された残差に適応的に適用され得る。
[0130]基本(例えば、参照)ビューにおけるさらなる動き補償がメモリアクセスと演算の著しい増加を必要とし得るので、コーディング効率のわずかな犠牲によってより実質的な設計を行うための種々の方法が実施され得る。最初に、ARPモードは、特にビデオエンコーダ20のようなエンコーダでの計算を減らすために、PUが2N×2Nを用いてコード化される場合にのみイネーブルされる。第2に、双線形フィルタは、ARPモードを用いてコード化されたブロックへのメモリアクセスを顕著に減らすために、参照ブロックと現在のブロックの両方の動き補償のために用いられ得る。第3に、キャッシュ効率を高めるために、動きベクトルは、非基本ビューにおいて異なるピクチャを指し示し得るが、基本ビューにおける参照ピクチャは固定される。この場合、現在のブロックの動きベクトルは、ピクチャの距離に基づいてスケールされる必要があり得る。
[0131]図7は、本開示において説明される技術にしたがった現在の深さブロックの視差ベクトルを抽出するために使用される参照サンプルの例を示す概念図である。図7は、現在のPUに対応する現在の深さブロック50を含む。現在の深さブロック50は幅Wおよび高さHを有する。3つの隣接する参照サンプルは現在の深さブロックに関して図示される。
[0132]1つの例において、現在の深さブロック50の左上に隣接するサンプル54が選択される。図7に示されるように、現在の深さブロック50内の左上のサンプル52が(x,y)の座標を有する場合、左上に隣接するサンプル54は、(x−1,y−1)の座標を有する。別法として、現在の深さブロック50の上部に隣接する行または左側に隣接する列に配置された任意のサンプルが使用され得る。別法として、現在の深さブロック50の空間的に隣接するブロックに配置された任意のサンプルが使用され得る。
[0133]別法として、現在の深さブロック50がコード化される場合、2つ以上の使用可能な隣接するサンプルが現在の深さブロック50に関する1つまたは複数の視差ベクトルを抽出するために使用され得る。例えば、座標(x,y−1)を有する別の上部サンプル56と座標(x−1,y)を有する別の左側のサンプル58が使用され得る。別法として、(x−1,y+1)および(x+1,y−1)の座標を有するサンプルが使用され得る。別法として、(x−1,y+H−1)および(x+W−1,y−1)の座標を有するサンプルは、図7に示された左側に隣接する角または上部に隣接する角のように、現在の深さブロック50のサイズがW×Hで表される場合に使用され得る。別法として、現在の深さブロック50の上部に隣接する行の任意のサンプルが使用され得る。別法として、現在の深さブロック50の左側に隣接する列の任意のサンプルが使用され得る。別法として、現在の深さブロック50の空間的に隣接するブロックの任意のサンプルが使用され得る。
[0134]他の別法は、上述されたとおりCUレベルとPUレベルの解決法に適用可能ならば、ブロックレベルの視差ベクトル誘導に適用され得る。2つ以上の隣接する深さサンプルが視差ベクトルを抽出するために使用される場合、1つのサンプルが下記の手段のうちの1つによって選択され得る。第1に、インデックスが、複数のサンプルのうちのいずれが視差ベクトルに変換されるために選択されかを示すブロック(PUまたはCU)レベルにおいてシグナリングされ得る。
[0135]第2に、複数の視差ベクトルが変換される。その数は深さサンプルの数と同じであっても良い。複数の視差ベクトルは、インタービュー予測に用いられる予測器を生成するために使用される。例えば、複数の動きベクトル候補が生成され、統合候補リストに挿入され得る。
[0136]第3に、数学関数が、例えば、メジアン、最大、または平均関数のような複数の深さサンプルの値に適用され、関数の出力値が一意的な視差ベクトルに変換されるために使用され得る。例えば、CUレベルの視差ベクトル誘導プロセスにおいて、現在の深さブロック50を変換するCU内の左上のサンプルの座標は(x,y)と表され、CUのサイズは2N×2Nであり、座標(x−1,y−1)、(x−1,y)、および(x,y−1)を有する3つのサンプルの中間値(medium value)が使用される。別の例において、座標(x−1,y−1)、(x−1,y+2N)、(x−1,y+2N−1)、(x+2N,y−1)および(x+2N−1,y−1)を有する5つのサンプルの最大値が使用され得る。
[0137]例えば、少なくとも1つの視差値を決定する際に、システムは、各々のCUの2つ以上の隣接するサンプルに少なくとも部分的に基づいて、2つ以上の視差値を決定し得る。各々のCUの左上のサンプルは、座標(x,y)を有し、2つ以上の再構築された深さサンプルは、各々のCUの左上に隣接するサンプル、各々のCUの上部に隣接する行、各々のCUの左側に隣接する列、各々のCUの空間的に隣接するブロックに配置された任意のサンプル、座標(x−1,y+1)を有するサンプル、座標(x+1,y−1)を有するサンプル、および各々のCUのサイズが2N×2Nで表される場合は、座標(x−1,y+2N−1)を有するサンプルと座標(x+2N−1,y−1)を有するサンプル、のうちの少なくとも2つ以上からのものである。
[0138]視差ベクトルを抽出するために使用されるサンプルを選択するために数学関数を適用する別の例において、3つのサンプルのうちのメジアン値が使用される。例えば、PUレベルの視差ベクトル誘導プロセスの場合、現在のPU内の左上のサンプルの座標が(x,y)およびW×HによるPUサイズによって表され、座標(x−1,y−1)、(x−1,y)、および(x,y−1)を有する3つのサンプルの中間値が使用される。別の例において、座標(x−1,y−1)、(x−1,y+H)、(x−1,y+H−1)、(x+W,y−1)、および(x+W−1,y−1)を有する5つのサンプルの最大値が使用され得る。
[0139]例えば、少なくとも1つの視差値を決定する際に、システムは、各々のPUの2つ以上の隣接するサンプルに少なくとも部分的に基づいて、2つ以上の視差値を決定し得る。少なくとも1つの視差値に少なくとも部分的に基づいて少なくとも1つの視差ベクトルを決定する際に、システムは、2つ以上の視差値に少なくとも部分的に基づいて2つ以上の視差ベクトルを決定し得る。PUの左上のサンプルは座標(x,y)を有し、2つ以上の再構築された深さサンプルは、PUの上部に隣接する行、PUの左側に隣接する列、各々のCUの空間的に隣接するブロックに配置された任意のサンプル、座標(x−1,y+1)を有するサンプル、座標(x+1,y−1)を有するサンプル、およびPUサイズがW×Hによって表される場合は、座標(x−1,y+H−1)を有するサンプルと座標(x+W−1,y−1)を有するサンプル、のうちの少なくとも2つ以上からのものである。
[0140]上記の例は、3D−HEVCのテクスチャビューコーディングで用いられるNBDVプロセスと組み合わされても良い。NBDVプロセスと同じプロシージャが最初に適用され得る。視差ベクトルがNBDVプロセスから発見されない場合、上記の方法のうちの1つが現在の深さブロックに関する視差ベクトルを得るためにさらに適用され得る。
[0141]いくつかの例において、1つまたは複数のサンプルは、別法においてのみ記載されたグループから選択され得る。他の例において、1つまたは複数のサンプルがそのグループのうちのいずれかから選択され得る。
[0142]深さブロックに関する視差ベクトルは、複数の方法において利用され得る。例えば、視差ベクトルは、参照ブロックを識別するために使用され得、および参照ブロックの動き情報は、現在のブロックの現在の動きを予測するために使用される。さらに具体的には、参照ブロックの動きベクトルは、統合またはAMVP候補リスト内に挿入されるべき新しい候補を生成するために使用され得る。さらに、視差ベクトルは、視差動きベクトルに変換されるために使用され得る。このような変換された候補は、統合またはAMVP候補リスト内に挿入され得る。さらに、視差ベクトルは、ARPが現在の深さブロックに適用され得る場所から参照ブロックを識別するために使用され得る。
[0143]図8は、本開示の技術を実施し得るビデオエンコーダ20の例を示すブロック図である。図8は、説明の目的で提供されており、本開示で広義に例示および説明された技術を限定したものであると考えられるべきではない。説明のために、本開示は、HEVCコーディングのコンテキストにおいてビデオエンコーダ20を説明する。しかし、本開示の技術は、他のコーディングの標準または方法に適用可能であり得る。
[0144]図8の例において、ビデオエンコーダ20は、予測処理ユニット100、残差生成ユニット102、変換処理ユニット104、量子化ユニット106、逆量子化ユニット108、逆変換処理ユニット110、再構築ユニット112、フィルタユニット114、復号されたピクチャバッファ116、およびエントロピー符号化ユニット118を含む。予測処理ユニット100は、インター予測処理ユニット120およびイントラ予測処理ユニット126を含む。インター予測処理ユニット120は、動き推定ユニット122および動き補償ユニット124を含む。他の例において、ビデオエンコーダ20は、より多くの、またはより少ない、または異なる機能を有する構成要素を含み得る。
[0145]ビデオデコーダ20はビデオデータを受信し得る。ビデオエンコーダ20は、ビデオデータのピクチャのスライスにおける各CTUを符号化し得る。複数のCTUのうちのそれぞれは、同じサイズのルーマコーディングツリーブロック(CTBs)と対応するピクチャのCTBと関連付けられ得る。CTUを符号化する一部として、予測処理ユニット100は、CTUのCTBを革新的により小さいブロックに分割するために四分木分割を実行し得る。より小さいブロックは、CUのコーディングブロックであり得る。例えば、予測処理ユニット100は、CTUと関連付けられるCTBを4つの同じサイズのサブブロックに分割し、サブブロックのうちの1つまたは複数を4つの同じサイズのサブサブブロックに分割する、などである。
[0146]ビデオエンコーダ20は、CU(すなわちコード化されたCU)の符号化された描写を生成するためにCTUのCUを符号化し得る。CUを符号化する一部として、予測処理ユニット100は、CUの1つまたは複数のPUの間でCUと関連付けられるコーディングブロックを分割し得る。したがって、各PUは、ルーマ予測ブロックと関連付けられかつ対応するクロマ予測ブロックであり得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。CUのサイズは、CUのルーマコーディングブロックのサイズを指し、PUのサイズは、PUのルーマ予測ブロックのサイズを指し得る。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測のために2N×2NまたはN×NのPUのサイズ、2N×2N、2N×N、N×2N、N×Nの左右対称なPUのサイズまたはインター予測のための同様のサイズをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30は、インター予測のために2N×nU、2N×nD、nL×2N、およびnR×2NのPUのサイズに関して非対称的に分割することをもサポートし得る。
[0147]インター予測処理ユニット120は、CUの各PUに対してインター予測を実行することによってPUに関する予測データを生成し得る。PUに関する予測データは、PUの予測ブロックとPUに関する動き情報を含み得る。インター予測処理ユニット120は、PUがIスライスにあるか、Pスライスにあるか、またはBスライスにあるかに依存してCUのPUに対して異なる動作を実行し得る。Iスライスにおいて、全てのPUはイントラ予測される。そのため、PUがIスライスにある場合、インター予測処理ユニット120は、PUに対してインター予測を実行しない。したがって、Iモードで符号化されたビデオブロックに関して、予測ブロックは、同じフレーム内の前に符号化された隣接するブロックから空間的予測を用いて形成される。
[0148]PスライスにおけるPUは、イントラ予測されるか、または一方向にインター予測され得る。例えば、PUがPスライスにある場合、動き推定ユニット122は、PUに関する参照領域に関して、参照ピクチャ(例えば、「RefPicList0」)のリストにおいて参照ピクチャを検索し得る。PUに関する参照領域は、PUの予測ブロックに最も密接に対応するサンプルブロックを含む参照ピクチャ内の領域であり得る。動き推定ユニット122は、PUに関する参照領域を含む参照ピクチャのRefPicList0における位置を示す参照インデックスを生成し得る。さらに、動き推定ユニット122は、PUの予測ブロックと参照領域と関連付けられる参照場所との間の空間的置換を示す動きベクトルを生成し得る。例えば、動きベクトルは、現在の復号されたピクチャにおける座標から参照ピクチャにおける座標までのオフセットを提供する2次元ベクトルであり得る。動き推定ユニット122は、PUの動き情報として参照インデックスと動きベクトルを出力し得る。動き補償ユニット124は、PUの動きベクトルによって示される参照場所において、実際のまたは補間サンプルに基づいてPUの予測ブロックを生成し得る。
[0149]BスライスにおけるPUは、イントラ予測されるか、一方向にインター予測されるか、または双方向にインター予測され得る。そのため、PUがBスライスにある場合、動き推定ユニット122は、PUに関して一方向予測または双方向予測を実行し得る。PUに関して一方向予測を実行するために、動き推定ユニット122は、PUに関する参照領域について、RefPicList0または第2の参照ピクチャリスト(「RefPicList1」)の参照ピクチャを検索し得る。動き推定ユニット122は、PUの動き情報として、参照領域を含む参照ピクチャのRefPicList0またはRefPicList1における位置を示す参照インデックス、参照領域と関連付けられる参照場所とPUのサンプルブロックとの間の空間的置換を示す動きベクトル、および参照ピクチャがRefPicList0であるかRefPicList1であるかを示す1つ又は複数の予測方向インジケータを出力し得る。動き補償ユニット124は、PUの動きベクトルによって示される参照領域において、実際のまたは補間サンプルに少なくとも部分的に基づいてPUの予測ブロックを生成し得る。
[0150]PUに関する双方向のインター予測を実行するために、動き推定ユニット122は、PUに関する参照領域についてのRefPicList0において参照ピクチャを検索し得、およびPUに関する別の参照領域についてのRefPicList1において参照ピクチャをも検索し得る。動き推定ユニット122は、参照領域を含む参照ピクチャのRefPicList0およびRefPicList1における位置を示す参照インデックスを生成し得る。さらに、動き推定ユニット122は、参照領域と関連付けられる参照場所とPUのサンプルブロックの間の空間的置換を示す動きベクトルを生成し得る。PUの動き情報は、PUの参照インデックスとMVを含み得る。動き補償ユニット124は、PUの動きベクトルによって示される参照領域において、実際のまたは補間サンプルに少なくとも部分的に基づいてPUの予測ブロックを生成し得る。
[0151]イントラ予測処理ユニット126は、PUに対してイントラ予測を実行することによってPUに関する予測データを生成し得る。PUに関する予測データは、PUに関する予測ブロックと様々なシンタックス要素を含み得る。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライスにおけるPUに対してイントラ予測を実行し得る。
[0152]PUに対してイントラ予測を実行するために、イントラ予測処理ユニット126は、PUに関する予測データの複数のセットを生成するために、複数のイントラ予測モードを使用し得る。イントラ予測処理ユニット126は、隣接するPUのサンプルに基づいて、PUに関する予測ブロックを生成し得る。PU、CU、およびCTUに関して左から右、上部から下部への符号化順序を仮定すると、隣接するPUは、PUの上部、上部および右側、上部および左側、またはPUの左側に存在し得る。イントラ予測処理ユニット126は、様々な数のイントラ予測モードを使用し得る。いくつかの例において、イントラ予測モードの数はPUの予測ブロックのサイズに依存し得る。
[0153]予測処理ユニット100は、PUに関してインター予測処理ユニット120によって生成された予測データまたはPUに関してイントラ予測処理ユニット126によって生成された予測データのうちからCUのPUに関する予測データを選択し得る。いくつかの例において、予測処理ユニット100は、予測データのセットのレート/ひずみメトリックに基づいて、CUのPUに関する予測データを選択する。選択された予測データの予測ブロックは、ここでは、選択された予測ブロックと称され得る。
[0154]残差生成ユニット102は、CUのルーマ、CbおよびCrコーディングブロックおよびCUのPUの選択された予測ルーマ、CbおよびCrブロックに基づいて、CUのルーマ、CbおよびCr残差ブロックを生成し得る。例えば、残差生成ユニット102は、残差ブロック内の各サンプルが、CUのコーディングブロック内のサンプルとCUのPUの対応する選択された予測ブロック内の対応するサンプルの間の差に等しい値を有するようにCUの残差ブロックを生成し得る。
[0155]本開示の技術は、ビデオエンコーダ20の残差生成ユニット102のようなビデオエンコーダの要素によって実行され得るが、他の例において、図8に図示された、または図示されないビデオエンコーダ20の他の要素が本開示の技術を実行し得る。この技術において、ビデオデータのピクチャのスライスの各々のコーディングユニットの各予測ユニットに関して、残差生成ユニット102は、少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定し得る。残差生成ユニット102は、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定し得、ここにおいて、少なくとも1つの視差ベクトルは、各々のコーディングユニットに関する。残差生成ユニット102は、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のコーディングユニットに関するコーディングブロックの符号化された描写を生成し得る。
[0156]変換処理ユニット104は、CUに関連付けられる残差ブロックをCUのTUに関連付けられる変換ブロックに分割するために四分木分割を実行し得る。したがって、TUは、ルーマ変換ブロックと2つのクロマ変換ブロックと関連付けられ得る。CUのTUのルーマおよびクロマ変換ブロックのサイズと位置は、CUのPUの予測ブロックのサイズと位置に基づいても良いし基づかなくても良い。「残差四分木」(RQT)として知られる四分木構造は、複数の領域のそれぞれと関連付けられるノードを含み得る。CUのTUは、RQTの葉ノードに対応し得る。
[0157]変換処理ユニット104は、1つまたは複数の変換をTUの変換ブロックに適用することによって、CUの各TUに関する係数ブロックを生成し得る。変換処理ユニット104は、様々な変換をTUと関連付けられる変換ブロックに適用し得る。例えば、変換処理ユニット104は、ディスクリートコサイン変換(DCT)、方向性変換、または概念的に類似する変換をブロックに適用し得る。いくつかの例において、変換処理ユニット104は、変換を変換ブロックに適用しない。こういった例において、変換ブロックは、係数ブロックとして扱われ得る。
[0158]量子化ユニット106は、係数ブロックにおける変換係数を量子化し得る。量子化プロセスは、変換係数のうちのいくつかまたは全てと関連付けられるビット深さを低減し得る。例えば、nビットの変換係数は、量子化の間mビット変換係数に四捨五入され(be round down)得、ここにおいて、nはmよりも大きい。量子化ユニット106は、CUに関連付けられる量子化パラメータ(QP)値に基づいて、CUのTUに関連付けられる係数ブロックを量子化し得る。ビデオエンコーダ20は、CUと関連付けられるQP値を調整することによって、CUに関連付けられる係数ブロックに適用される量子化の程度を調整し得る。量子化は、情報の損失を生み出す可能性があり、したがって、量子化された変換係数はオリジナルのものより低い正確さを有し得る。
[0159]逆量子化ユニット108と逆変換処理ユニット110は、係数ブロックから残差ブロックを再構築するために、係数ブロックに各々逆量子化および逆変換を適用し得る。再構築ユニット112は、TUに関連付けられる再構築された変換ブロックを生成するために、予測処理ユニット100によって生成された1つまたは複数の予測ブロックから再構築された残差ブロックを対応するサンプルに加え得る。この方法で、CUの各TUに関する変換ブロックを再構築することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構築し得る。
[0160]フィルタユニット114は、CUと関連付けられるコーディングブロックにおけるブロッキングアーチファクト(blocking artifacts)を減少させるために、1つまたは複数のデブロッキング動作(deblocking operations)を実行し得る。復号されたピクチャバッファ116は、フィルタユニット114が再構築されたコーディングブロックに対して1つまたは複数のデブロッキング動作を実行した後、再構築されたコーディングブロックを記憶し得る。インター予測ユニット120は、他のピクチャのPUに対してインター予測を実行するために、再構築されたコーディングブロックを含む参照ピクチャを使用し得る。さらに、イントラ予測処理ユニット126は、CUと同じピクチャにおける他のPUに対してイントラ予測を実行するために、復号されたピクチャバッファ116において再構築されたコーディングブロックを使用し得る。
[0161]エントロピー符号化ユニット118は、ビデオエンコーダ20の他の機能を有する構成要素からデータを受信し得る。例えば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロックを受信し得、および予測処理ユニット100からシンタックス要素を受信し得る。エントロピー符号化ユニット118は、エントロピー符号化されたデータを生成するためのデータに対して1つまたは複数のエントロピー符号化動作を実行し得る。例えば、エントロピー符号化ユニット118は、データに対して、コンテキスト適応型可変長コーディング(CAVLC)動作、CABAC動作、可変長対可変長(V2V)コーディング動作、シンタックスベースのコンテキスト適応型バイナリ算術コーディング(SBAC)動作、可能性インターバル分割エントロピー(PIPE)コーディング動作、指数ゴロム符号化動作(Exponential-Golomb encoding operation)、または別のタイプのエントロピー符号化動作を実行し得る。ビデオエンコーダ20は、エントロピー符号化ユニット118によって生成されたエントロピー符号化されたデータを含むビットストリームを出力し得る。例えば、ビットストリームは、CUに関するRQTを表すデータを含み得る。ビットストリームは、エントロピー符号化されないシンタックス要素をも含み得る。
[0162]図9は、本開示で説明された技術を実施し得るビデオデコーダ30の例を示すブロック図である。図9は、説明の目的で提供されており、本開示で広義に例示および説明された技術に限定するものではない。説明のために、本開示は、HEVCコーディングのコンテキストにおいてビデオデコーダ30について説明する。しかし、本開示の技術は、他のコーディングの標準または方法にも適用可能であり得る。
[0163]図9の例において、ビデオデコーダ30は、エントロピー復号ユニット150、予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構築ユニット158、フィルタユニット160、および復号されたピクチャバッファ162を含む。予測処理ユニット152は、動き補償ユニット164およびイントラ予測処理ユニット166を含む。他の例において、ビデオエンコーダ30は、より多くの、またはより少ない、または異なる機能を有する構成要素を含み得る。
[0164]エントロピー復号ユニット150は、NALユニットを受信し、シンタックス要素を復号するためのNALユニットを解析し得る。エントロピー復号ユニット150は、NALユニットにおいて、エントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構築ユニット158、およびフィルタユニット160は、ビットストリームから取り出されたシンタックス要素に基づいて、復号されたビデオデータを生成し得る。
[0165]ビットストリームのNALユニットは、コード化されたスライスNALユニットを含み得る。ビットストリームを復号する一部として、エントロピー復号ユニット150は、コード化されたスライスNALユニットからシンタックス要素を取り出してエントロピー復号し得る。複数のコード化されたスライスのそれぞれは、スライスヘッダとスライスデータを含み得る。スライスヘッダは、スライスに関係するシンタックス要素を含み得る。スライスヘッダにおけるシンタックス要素は、スライスを含むピクチャと関連付けられるPPSを識別するシンタックス要素を含み得る。
[0166]ビットストリームからシンタックス要素を復号することに加えて、ビデオデコーダ30は、CUに対して再構築動作を実行し得る。CUに対して再構築動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構築動作を実行し得る。CUの各TUに関する再構築動作を実行することによって、ビデオデコーダ30は、CUの残差ブロックを再構築し得る。
[0167]CUのTUに対して再構築動作を実行する一部として、逆量子化ユニット154は、TUと関連付けられる係数ブロックを逆量子化、すなわち逆量子化(de-quantize)し得る。逆量子化ユニット154は、逆量子化ユニット154が適用する量子化の程度、同様に逆量子化の程度を決定するために、TUのCUと関連付けられるQP値を使用し得る。
[0168]逆量子化ユニット154が係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUと関連付けられる残差ブロックを生成するための係数ブロックに1つまたは複数の逆変換を適用し得る。例えば、逆変換処理ユニット156は、係数ブロックに、逆DCT、逆整数変換、逆Karhunen−Loeve変換(KLT)、逆回転変換、逆方向性変換、または別の逆変換を適用し得る。
[0169]PUがイントラ予測を使用して符号化される場合、イントラ予測処理ユニット166は、PUに関する予測ブロックを生成するためにイントラ予測を実行し得る。イントラ予測処理ユニット166は、空間的に隣接するPUの予測ブロックに基づいて、PUに関する予測ルーマ、CbおよびCrブロックを生成するためにイントラ予測モードを使用し得る。イントラ予測処理ユニット166は、ビットストリームから復号された1つまたは複数のシンタックス要素に基づいて、PUのためのイントラ予測モードを決定し得る。
[0170]予測処理ユニット152は、ビットストリームから取り出されたシンタックス要素に基づいて、第1の参照ピクチャリスト(RefPicList0)および第2の参照ピクチャリスト(RefPicList1)を構築し得る。さらに、PUがインター予測を用いて符号化される場合、エントロピー復号ユニット150は、PUに関する動き情報を取り出し得る。動き補償ユニット164は、PUの動き情報に基づいて、PUに関する1つまたは複数の参照領域を決定し得る。動き補償ユニット164は、PUに関する1つまたは複数の参照ブロックにおける複数のサンプルブロックに基づいて、PUに関する予測ルーマ、CbおよびCrブロックを生成し得る。
[0171]再構築ユニット158は、CUのルーマ、CbおよびCrコーディングブロックを再構築するために、既定どおりに、CUのTUに関連付けられるルーマ、CbおよびCr変換ブロックとCUのPUの予測ルーマ、CbおよびCrブロック、すなわちイントラ予測データまたはインター予測データのいずれかを使用し得る。例えば、再構築ユニット158は、CUのルーマ、CbおよびCrコーディングブロックを再構築するために、ルーマ、CbおよびCr変換ブロックのサンプルを対応する予測ルーマ、CbおよびCrブロックのサンプルを加え得る。
[0172]本開示の技術は、ビデオデコーダ30の再構築ユニット158によって実行され得るが、他の例において、図9に図示された、または図示されていないビデオデコーダ30の他の要素が本開示の技術を実行し得る。ビデオデータのピクチャのスライスの各々のコーディングユニットの各予測ユニットに関して、再構築ユニット158は、少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定し得る。再構築ユニット158は、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定し得、ここにおいて、少なくとも1つの視差ベクトルは、各々のコーディングユニットに関する。再構築ユニット158は、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のコーディングユニットに関するコーディングブロックを再構築し得る。
[0173]フィルタユニット160は、CUのルーマ、CbおよびCrコーディングブロックと関連するブロッキングアーチファクトを減少させるためにデブロッキング動作を実行し得る。ビデオデコーダ30は、CUのルーマ、CbおよびCrコーディングブロックを復号されたピクチャバッファ162内に記憶し得る。復号されたピクチャバッファ162は、次の動き補償、イントラ予測、図1の表示デバイス32のような表示デバイスへの表示のために参照ピクチャを提供し得る。例えば、ビデオデコーダ30は、復号されたピクチャバッファ162におけるルーマ、CbおよびCrブロックに基づいて、他のCUのPUに対するイントラ予測またはインター予測動作を実行し得る。このように、ビデオデコーダ30は、ビットストリームから解析し、ルーマ係数ブロックの係数レベルを変換し、変換係数レベルを逆量子化し、変換ブロックを生成するためにその変換係数レベルに変換を適用し、変換ブロックに少なくとも部分的に基づいてコーディングブロックを生成し、および表示のためにコーディングブロックを出力し得る。
[0174]図10は、本開示の1つまたは複数の態様にしたがった復号技術の例を示すフロー図である。この技術は、ビデオデコーダ30の再構築ユニット158のようなビデオデコーダの要素によって実行され得る。この技術において、ビデオデータのピクチャのスライスの各々のコーディングユニットの各予測ユニットに関して、再構築ユニット158は、少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定し得る(200)。再構築ユニット158は、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定し得、ここにおいて、少なくとも1つの視差ベクトルは、各々のコーディングユニットに関する(202)。再構築ユニット158は、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のコーディングユニットに関するコーディングブロックを再構築し得る(204)。
[0175]図11は、本開示の1つまたは複数の態様にしたがった符号化技術の例を示すフロー図である。この技術は、ビデオエンコーダ20の残差生成ユニット102のようなビデオエンコーダの要素によって実行され得る。この技術において、ビデオデータのピクチャのスライスの各々のコーディングユニットの各予測ユニットに関して、残差生成ユニット102は、少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定し得る(210)。残差生成ユニット102は、少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定し得、ここにおいて、少なくとも1つの視差ベクトルは、各々のコーディングユニットに関する(212)。残差生成ユニット102は、少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、各々のコーディングユニットに関するコーディングブロックの符号化された描写を生成し得る(214)。
[0176]1つまたは複数の例において、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実装される場合、この機能は、1つまた複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ならびにハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体のような実体のある媒体、または例えば、通信プロトコルにしたがって、ある場所から別の場所へコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体に対応するコンピュータ可読記憶媒体を含み得る。この方法において、コンピュータ可読媒体は一般的に、(1)非一時的な実体のあるコンピュータ可読記憶媒体、または(2)信号または搬送波のような通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技術の実施のために命令、コード、および/またはデータ構造を検索するための1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセスされ得るいずれか使用可能な媒体であり得る。コンピュータプログラムプロダクトは、コンピュータ可読媒体を含み得る。
[0177]限定ではなく例として、こういったコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、フラッシュメモリ、または命令またはデータ構造の形式で所望のプログラムコードを記憶するために用いることが可能なおよびコンピュータによってアクセス可能な任意の他の媒体を備えることができる。同様に、任意の接続は、コンピュータ可読媒体と適切に呼ばれ得る。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線およびマイクロ波のようなワイヤレス技術を用いるウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線およびマイクロ波のようなワイヤレス技術が媒体の定義に含まれる。しかし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まないが、代わりに非一時的な実体のある記憶媒体に関することが理解されるべきである。ここで用いられたようなディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光学ディスク、(CD)、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびBlue−rayディスクを含み、ここで、ディスク(disk)が通常データを磁気的に再生する一方で、ディスク(disc)はレーザを用いて光学的にデータを再生する。上記の組合せもまた、コンピュータ可読媒体の範囲に含まれるべきである。
[0178]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価の集積またはディスクリート論理のような1つまたは複数のプロセッサによって実行可能であり得る。従って、ここで使用されたような用語「プロセッサ」は、前述の構造またはここで説明された技術の実施に適切な任意の他の構造のいずれかを指し得る。さらに、いくつかの態様において、ここで説明された機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に提供されるか、または組み合わされたコーデック内に組み込まれ得る。同様に、この技術は、1つまたは複数の回路または論理要素において十分に実施され得る。
[0179]本開示の技術は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(例えばチップセット)を含む多種多様なデバイスまたは装置において実施され得る。種々の構成要素、モジュールまたはユニットは、開示された技術を実行するように構成されたデバイスの機能的態様を強調するために本開示において説明されるが、必ずしも異なるハードウェアユニットによる実現を必要とするわけではない。むしろ、上述したとおり、様々なユニットは、コーデックハードウェアユニットに組み込まれるか、あるいは適切なソフトウェアおよび/またはファームウェアと連結して、上述したような1つまたは複数のプロセッサを含む相互運用ハードウェアユニットの収集によって提供され得る。
[0180]本開示の種々の例が説明されてきた。これらおよび他の例は、下記の請求項の範囲内にある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
深さビューデータを復号する方法であって、
前記方法は、
前記深さビューデータのピクチャのスライスの各々のコーディングユニット(CU)の各予測ユニット(PU)に関して、
少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定することと、
前記少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定することと、ここにおいて、前記少なくとも1つの視差ベクトルは前記各々のCUに関し、
前記少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、前記各々のCUに関するコーディングブロックを再構築することと、
を備える、方法。
[C2]
前記少なくとも1つの視差ベクトルを決定することは、2つ以上の隣接する深さサンプルに少なくとも部分的に基づいて、1つの視差ベクトルを決定することを備え、前記方法は、
選択された隣接する深さサンプルを識別するインデックス値を決定することと、ここにおいて、前記インデックス値はブロックレベルにおいてシグナリングされ、
前記2つ以上の隣接する深さサンプルのうちの1つを選択するために、前記2つ以上の隣接する深さサンプルの前記値に数学関数を適用することと、
のうちの少なくとも1つに基づいて、前記2つ以上の隣接する深さサンプルのうちの1つの隣接する深さサンプルを選択することと、
を備える、C1に記載の方法。
[C3]
前記少なくとも1つの視差ベクトルを決定することは、2つ以上の隣接する深さサンプルに少なくとも部分的に基づいて、2つ以上の視差ベクトルを決定することを備え、
前記方法は、前記2つ以上の隣接する深さサンプルに基づいて、2つ以上の視差値を前記2つ以上の視差ベクトルに変換すること、をさらに備えるC1に記載の方法。
[C4]
前記少なくとも1つの視差ベクトルを少なくとも1つの視差動きベクトルに変換すること、
をさらに備える、C1に記載の方法。
[C5]
前記少なくとも1つの視差値を決定することは、前記各々のPUの2つ以上の隣接するサンプルに少なくとも部分的に基づいて、2つ以上の視差値を決定することをさらに備え、ここにおいて、前記少なくとも1つの視差値に少なくとも部分的に基づいて前記少なくとも1つの視差ベクトルを決定することは、前記2つ以上の視差値に少なくとも部分的に基づいて2つ以上の視差ベクトルを決定することをさらに備え、前記PUの左上のサンプルは座標(x,y)を有し、前記2つ以上の再構築された深さサンプルは、
前記PUの左上に隣接するサンプルと、
前記PUの上部に隣接する行と、
前記PUの左側に隣接する列と、
前記各々のPUの特別な隣接するブロックに配置される任意のサンプルと、
座標(x−1,y+1)を有するサンプルと、
座標(x+1,y−1)を有するサンプルと、
前記PUのサイズがW×Hによって表される場合は、座標(x−1,y+H−1)を有するサンプルと座標(x+W−1,y−1)を有するサンプルと、
のうちの少なくとも2つ以上からのものである、C1に記載の方法。
[C6]
前記少なくとも1つの視差値を決定することは、前記各々のCUの2つ以上の隣接するサンプルに少なくとも部分的に基づいて、2つ以上の視差値を決定することをさらに備え、ここにおいて、前記各々のCUの左上のサンプルは前記座標(x,y)を有し、前記2つ以上の再構築された深さサンプルは、
前記各々のCUの左上に隣接するサンプルと、
前記各々のCUの上部に隣接する行と、
前記各々のCUの左側に隣接する列と、
前記各々のCUの特別な隣接するブロックに配置される任意のサンプルと、
座標(x−1,y+1)を有するサンプルと、
座標(x+1,y−1)を有するサンプルと、
前記各々のCUのサイズが2N×2Nによって表される場合は、座標(x−1,y+2N−1)を有するサンプルと座標(x+2N−1,y−1)を有するサンプルと、
のうちの少なくとも2つ以上からのものである、C5に記載の方法。
[C7]
前記2つ以上の隣接するサンプルは、前記PUの最大コーディングユニット(LUC)の隣接するサンプルである、C5に記載の方法。
[C8]
前記少なくとも1つの隣接するサンプルは、各々のCUの隣接である、C1に記載の方法。
[C9]
前記少なくとも1つの再構築された深さサンプルは、
前記PUの左上に隣接するサンプルと、
前記PUの上部に隣接する行と、
前記PUの左側に隣接する列と、
前記PUの特別な隣接するブロックに配置される任意のサンプルと、
のうちの少なくとも1つからのものである、C1に記載の方法。
[C10]
前記少なくとも1つの視差ベクトルを決定することは、任意の使用可能な視差ベクトルを識別できなかった実行された隣接ベースの視差ベクトルの誘導(NBDV)プロセスに応答する、C1に記載の方法。
[C11]
前記少なくとも1つの視差ベクトルに基づいて参照ブロックを識別することと、
動きベクトルと前記識別された参照ブロックの参照インデックスに少なくとも部分的に基づいて前記PUの現在の動きを予測することと、
前記動きベクトルと参照インデックスに少なくとも部分的に基づいて決定された候補を統合されたまたは高度な動きベクトル予測(AMVP)候補リストに挿入することと、
をさらに備える、C1に記載の方法。
[C12]
前記少なくとも1つの視差ベクトルを決定することは、カメラパラメータに少なくとも部分的に基づいて、前記視差ベクトルを決定することを備える、C1に記載の方法。
[C13]
前記1つまたは複数のカメラパラメータは2つのビューの水平置換を含む、C12に記載の方法。
[C14]
深さビューデータのピクチャと関連付けられるデータを記憶するように構成されたメモリと、
前記メモリと通信を行いおよび
深さビューデータの前記ピクチャのスライスの各々のコーディングユニット(CU)の各予測ユニット(PU)に関して、
少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定することと、
前記少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定することと、ここにおいて、前記少なくとも1つの視差ベクトルは前記各々のCUに関し、
前記少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、前記各々のCUに関するコーディングブロックを再構築することと、
を行うように構成された1つまたは複数のプロセッサと、
を備える、ビデオデータを復号するためのデバイス。
[C15]
前記少なくとも1つの視差ベクトルを決定することは、2つ以上の隣接する深さサンプルに少なくとも部分的に基づいて、1つの視差ベクトルを決定するように構成された前記デバイスを備え、ここにおいて、前記デバイスは、
選択された隣接する深さサンプルを識別するインデックス値を決定することと、ここにおいて、前記インデックス値はブロックレベルにおいてシグナリングされ、および
前記2つ以上の隣接する深さサンプルのうちの1つを選択するために、前記2つ以上の隣接する深さサンプルの前記値に数学関数を適用することと、
のうちの少なくとも1つに基づいて、前記2つ以上の隣接する深さサンプルのうちの1つの隣接する深さサンプルを選択すること、
を行うようにさらに構成される、C14に記載のデバイス。
[C16]
前記デバイスは、前記少なくとも1つの視差ベクトルを少なくとも1つの視差動きベクトルに変換するようにさらに構成される、C14に記載のデバイス。
[C17]
実行されると、
前記深さビューデータのピクチャのスライスの各々のコーディングユニット(CU)の各予測ユニット(PU)に関して、
少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定することと、
前記少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定することと、ここにおいて、前記少なくとも1つの視差ベクトルは前記各々のCUに関し、
前記少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、前記各々のCUに関するコーディングブロックを再構築することと、
を行うようにビデオ復号デバイスを構成する命令を記憶した、コンピュータ可読記憶媒体。
[C18]
前記少なくとも1つの視差ベクトルを決定することは、2つ以上の隣接する深さサンプルに少なくとも部分的に基づいて、1つの視差ベクトルを決定するように前記デバイスをさらに構成する前記命令を備え、ここにおいて、前記命令は、
選択された隣接する深さサンプルを識別するインデックス値を決定することと、ここにおいて、前記インデックス値はブロックレベルにおいてシグナリングされ、および
前記2つ以上の隣接する深さサンプルのうちの1つを選択するために、前記2つ以上の隣接する深さサンプルの前記値に数学関数を適用することと、
のうちの少なくとも1つに基づいて、前記2つ以上の隣接する深さサンプルのうちの1つの隣接する深さサンプルを選択すること、
を行うように前記デバイスをさらに構成する、C17に記載のコンピュータ可読記憶媒体。
[C19]
深さビューデータを符号化する方法であって、
前記方法は、
前記ビデオデータのピクチャのスライスの各々のコーディングユニット(CU)の各予測ユニット(PU)に関して、
少なくとも1つの隣接するサンプルの少なくとも1つの再構築された深さサンプルの少なくとも1つの深さ値に少なくとも部分的に基づいて、少なくとも1つの視差値を決定することと、
前記少なくとも1つの視差値に少なくとも部分的に基づいて、少なくとも1つの視差ベクトルを決定することと、ここにおいて、前記少なくとも1つの視差ベクトルは前記各々のCUに関し、
前記少なくとも1つの視差ベクトルに少なくとも部分的に基づいて、前記各々のCUに関するコーディングブロックの符号化された描写を生成することと、
を備える、方法。
[C20]
前記少なくとも1つの視差ベクトルを決定することは、2つ以上の隣接する深さサンプルに少なくとも部分的に基づいて、1つの視差ベクトルを決定することを備え、前記方法は、
選択された隣接する深さサンプルを識別するインデックス値を決定することと、ここにおいて、前記インデックス値はブロックレベルにおいてシグナリングされ、および
前記2つ以上の隣接する深さサンプルのうちの1つを選択するために、前記2つ以上の隣接する深さサンプルの前記値に数学関数を適用することと、
のうちの少なくとも1つに基づいて、前記2つ以上の隣接する深さサンプルのうちの1つの隣接する深さサンプルを選択すること、
をさらに備える、C19に記載の方法。
[C21]
前記少なくとも1つの視差ベクトルを決定することは、2つ以上の隣接する深さサンプルに少なくとも部分的に基づいて、2つ以上の視差ベクトルを決定することを備え、
前記方法は、前記2つ以上の隣接する深さサンプルに基づいて、2つ以上の視差値を2つ以上の視差ベクトルに変換すること、をさらに備える、C19に記載の方法。
[C22]
前記視差ベクトルを視差動きベクトルに変換することをさらに備える、C19に記載の方法。
[C23]
前記少なくとも1つの視差値を決定することは、前記各々のPUの2つ以上の隣接するサンプルに少なくとも部分的に基づいて、2つ以上の視差値を決定することをさらに備え、ここにおいて、前記少なくとも1つの視差値に少なくとも部分的に基づいて前記少なくとも1つの視差ベクトルを決定することは、前記2つ以上の視差値に少なくとも部分的に基づいて2つ以上の視差ベクトルを決定することをさらに備え、前記PUの左上のサンプルは座標(x,y)を有し、前記2つ以上の再構築された深さサンプルは、
前記PUの左上に隣接するサンプルと、
前記PUの上部に隣接する行と、
前記PUの左側に隣接する列と、
前記各々のCUの特別な隣接するブロックに配置される任意のサンプルと、
座標(x−1,y+1)を有するサンプルと、
座標(x+1,y−1)を有するサンプルと、
前記PUのサイズがW×Hによって表される場合は、座標(x−1,y+H−1)を有するサンプルと座標(x+W−1,y−1)を有するサンプルと、
のうちの少なくとも2つ以上からのものである、C19に記載の方法。
[C24]
少なくとも1つの視差値を決定することは、前記各々のCUの2つ以上の隣接するサンプルに少なくとも部分的に基づいて、2つ以上の視差値を決定することをさらに備え、ここにおいて、前記各々のCUの左上のサンプルは前記座標(x,y)を有し、前記2つ以上の再構築された深さサンプルは、
座標(x−1,y+1)を有するサンプルと、
座標(x+1,y−1)を有するサンプルと、
前記各々のCUのサイズが2N×2Nによって表される場合は、座標(x−1,y+2N−1)を有するサンプルと座標(x+2N−1,y−1)を有するサンプルと、
のうちの少なくとも2つ以上からのものである、C23に記載の方法。
[C25]
前記2つ以上の隣接するサンプルは、前記PUの最大コーディングユニット(LUC)の隣接するサンプルである、C23に記載の方法。
[C26]
前記少なくとも1つの再構築された深さサンプルは、
前記PUの左上に隣接するサンプルと、
前記PUの上部に隣接する行と、
前記PUの左側に隣接する列と、
前記PUの特別な隣接するブロックに配置される任意のサンプルと、
のうちの少なくとも1つからのものである、C19に記載の方法。
[C27]
前記少なくとも1つの視差ベクトルを決定することは、任意の使用可能な視差ベクトルを識別できなかった実行された隣接ベースの視差ベクトルの誘導(NBDV)プロセスに応答する、C19に記載の方法。
[C28]
前記視差ベクトルに基づいて参照ブロックを識別することと、
動きベクトルと前記識別された参照ブロックの参照インデックスに少なくとも部分的に基づいて前記PUの現在の動きを予測することと、
前記動きベクトルと参照インデックスに少なくとも部分的に基づいて決定された候補を統合されたまたは高度な動きベクトル予測(AMVP)候補リストに挿入することと、
をさらに備える、C19に記載の方法。
[C29]
前記視差値に少なくとも部分的に基づいて視差ベクトルを決定することは、前記視差値とカメラパラメータに少なくとも部分的に基づいて前記視差ベクトルを決定することを備える、C19に記載の方法。
[C30]
前記1つまたは複数のカメラパラメータは2つのビューの水平置換を含む、C29に記載の方法。