特定のビデオコード化システムによれば、データ圧縮を実現するように、ビデオシーケンスにおける時間的冗長性を低減するために、動き推定及び動き補償が使用され得る。この場合、ビデオデータの予測ブロック、例えば、コード化されている現在ビデオブロックの値を予測するために使用され得る別のビデオのピクチャ又はスライスからのブロックを識別する、動きベクトルが生成され得る。予測ビデオブロックの値が現在ビデオブロックの値から減算されて、残差データのブロックを生成する。動き情報(例えば、動きベクトル、動きベクトルインデックス、予測方向、又は他の情報)が、残差データとともにビデオエンコーダからビデオデコーダに通信される。デコーダは、(動きベクトルに基づいて)同じ予測ブロックを見つけ、残差データを予測ブロックのデータと合成することによって、符号化ビデオブロックを復元することができる。
マルチビュービデオコード化(MVC)は、ビデオデータの複数のビューをコード化するためのビデオコード化処理である。一般に、各ビューは、共通のシーンの対応するビデオデータが撮影された異なる視点又は角度に対応する。3次元ビデオコード化(3DVC)は、MVCプラス深度コード化を使用して実行され得る。ITU−T H.264/AVC規格に対する3DVC拡張が、現在開発中である。3DVC拡張を追加するための、H.264/AVC規格に対する修正のワーキングドラフトは、2011年11月付けの、「WD on MVC Extensions for Inclusion of Depth Maps」、ISO/IEC/JTC1/SC29/WG11/N12351、ジュネーブ、スイス(「3DVC WD」)において記述されている。深度マップの包含のためのMVC拡張とも呼ばれる3DVC拡張は、3Dビデオデータの表示を支援するようにビューをコード化するための技法を定義する。
例えば、3Dビデオでは、2つのビュー(例えば、視聴者の左眼のビュー及び右眼のビュー)が、光の異なる偏光を使用して同時に、又はほぼ同時に表示されることが可能であり、視聴者の眼の各々がビューのそれぞれ1つを受け取るように、視聴者は受動偏光眼鏡を着用することができる。代替的に、視聴者は、各眼を独立に遮断する能動眼鏡を着用することができ、表示器が高速に、眼鏡と同期して各眼の画像を交互に表示することができる。
各ビュー(例えば、左眼のビュー及び右眼のビュー)は個別にコード化され得るが、3DVCでは、ビューの1つは、ビューの深度成分を使用して他のビューから復元される。この理由で、3DVCのこの形式も、マルチビュービデオコード化プラス深度(MVC+D)と呼ばれ得る。例示すると、ビューの特定のピクチャ(ここで、このビューの特定のピクチャは、ビューの「ビュー成分」と呼ばれ得る)の深度マップは、左眼のビューと右眼のビューとの差分として計算され得る。エンコーダは、例えば、ビュー成分の所謂「テクスチャ成分」として左眼のビューを符号化することができ、深度マップは、ビュー成分の所謂「深度成分」として符号化され得る。
デコーダは次いで、ビュー成分のテクスチャ成分とビュー成分の深度成分とを復号し、深度成分を使用してテクスチャ成分(左眼のビューを表す)から右眼のビューを復元することができる。1つのビュー及び対応する深度マップのみをこの方式で符号化することによって、3DVCは、3DVCデータの別個のビューとして独立に左眼のビューと右眼のビューの両方を符号化することと比較して、左眼のビューと右眼のビューの両方をより効率的に符号化することができる。
ビューのテクスチャ成分と深度成分とを符号化するとき、ビデオエンコーダは一般に、テクスチャ成分と深度成分を区別するための方法を何ら提供することなく、テクスチャ成分と深度成分の両方をビュー成分として扱い、又は別様に処理する。即ち、3DVCは、同じビュー成分の深度成分とは別々にテクスチャ成分を個々に処理するための方法を提供することなく、ビュー成分の取扱又はコード化を行う。3DVCにおけるこの区別の欠如により、コード化効率がより低くなり、及び/又は復元ビデオデータの品質がより低くなり得る。
例えば、深度成分は、このビュー成分の共同の取扱に対応するように、対応するテクスチャ成分と同じ解像度で指定されることが現在は要求され得る。しかしながら、より解像度の高い(テクスチャ成分の解像度と比べて)深度成分は、視聴者の視覚系が期待するものをより良好に再現するより良好でより没入感のある3Dビデオが生じ得るので、3次元(3D)ビデオ再生をもたらし得る。その上、より解像度の低い(テクスチャ成分の解像度と比較して)深度成分は、幾つかの例では同一の又は同様の没入感のある3D体験を提供し得るが、コード化されると使用するビットがより少なくなり得るので、コード化効率を向上させることができる。深度成分とテクスチャ成分の別々の取扱を可能にできないことによって、3DVCは、コード化効率が低下することがあり、及び/又は、(しばしば、鑑賞体験の点で)復元ビデオデータの品質が低くなることがある。
本開示の技法は全般に、3DVCビデオデータを処理又はコード化するときに、ビューのテクスチャ成分と深度成分の別々の又は独立した取扱を可能にすることに関する。例えば、本開示は、シーケンスパラメータセット(SPS)において深度マップシーケンスのピクチャサイズを信号伝達(シグナリング)することを提案する。これらの信号伝達技法は、ビデオ符号化及び/又は復号プロセスの間にエンコーダによって適用され、デコーダによって使用され得る。説明される技法は、ビデオコンテンツのピクチャのコード化に関する。本開示の技法によれば、符号化ピクチャは、選択された高さ及び幅のブロックのような単位サイズを有してよく、これは、シーケンスパラメータセットにおいてシンタックス要素として信号伝達され得る。テクスチャビューシーケンス及び深度マップシーケンスのためのシンタックス要素は、シーケンスパラメータセットにおいて信号伝達され得る。
より具体的には、本技法は、深度マップシーケンスが対応するテクスチャビューシーケンスとは異なる解像度を有する場合に、シンタックス情報を信号伝達することを伴う。3DVCは、各ビューに対する深度マップシーケンスを伴う複数のビューをコード化することを含み得る。これらの深度マップシーケンスは、テクスチャビューシーケンスとは異なる解像度を有し得る。この場合、深度ビュー成分及びテクスチャビュー成分は、テクスチャ及び深度ネットワーク抽象レイヤ(NAL)ユニットが単に一緒に多重化されるときに、同一のシーケンスパラメータセット(SPS)を共有できない。現在のSPSのMVC拡張では、深度を伴っても又は伴わなくても、異なるレベルを示すことは可能ではないことがある。AVC設計の原則では、ピクチャサイズを含む2つ以上のシーケンスパラメータセットをアクティブ化することは可能ではないことがある。従って、2つの異なるピクチャサイズを有すると、複数のシーケンスパラメータセットをアクティブ化することになり得る。
本開示の技法は、対応するテクスチャビューとは異なる空間解像度を有する深度マップを3DVCシーケンスが含む場合、AVC及びMVCステレオに基づいて、3DVCシーケンスを示すために使用され得る。そのような独立の取扱を可能にすることによって、本開示で説明される技法の様々な態様は、ビットの節約(又は、言い換えると、マルチビュービデオデータのより効率的なコード化)及び/又は復元ビデオデータの品質の向上(これはやはり、知覚される鑑賞体験の観点で評価され得る)を促し得る。
次の説明は、3DVCの状況にあると理解されるべきであり、その状況では、MVCへの言及は、それが3DVC拡張におけるMVCプラス深度コード化に関連するときの、MVCへの言及であるものとして理解される。即ち、MVCがH.264に対する拡張であり、3DVCは、MVCを利用するH.264の更なる拡張であるとすると、3DVCは、MVCの全ての態様を組み込み、又はそうでなければそれを「引き継ぐ」ものと見なされ得る。3DVCは、3DVCをサポートするビデオデコーダに対する深度マップも含む、MVC適合ビットストリームを提供するために、適切な場合には本明細書で説明される方式で、MVCを拡張し、又は別様にMVCに加わることができる。言い換えると、幾つかの例では、本技法は、MVCと後方互換性のある(又は、言い換えると、3DVCをサポートしないがMVCをサポートするビデオデコーダによって復号されることが可能な)3DVCビットストリームの生成を実現することができる。次の技法は各々、3DVCの状況で説明されるが、これらの技法は、一部の例では、テクスチャビュー成分と深度ビュー成分の両方を有する3Dビデオデータをコード化する他の方法へと拡張され得る。
図1は、マルチビューコード化において動きベクトル予測用の技法を利用できる、例示的なビデオの符号化及び復号のシステム10を示すブロック図である。図1に示されるように、システム10は、宛先機器14によって後で復号されるべき符号化ビデオデータを提供する発信源機器12を含む。特に、発信源機器12は、コンピュータ可読媒体16を介して宛先機器14にビデオデータを提供する。発信源機器12及び宛先機器14は、デスクトップコンピュータ、ノートブック(即ち、ラップトップ)コンピュータ、タブレットコンピュータ、スレートコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器12及び宛先機器14は、ワイヤレス通信に対応し得る。
宛先機器14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、発信源機器12から宛先機器14に符号化ビデオデータを移動することができる任意のタイプの媒体又は機器を備え得る。一例では、コンピュータ可読媒体16は、発信源機器12が、符号化ビデオデータをリアルタイムで又はほぼリアルタイムで宛先機器14に直接送信することを可能にするための通信媒体を備え得る。
符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器14に送信され得る。通信媒体は、高周波(RF)スペクトル又は1つ又は複数の物理伝送線路のような、任意のワイヤレス又は有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器12から宛先機器14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
幾つかの例では、符号化データは、発信源機器24の送信機24から記憶装置に出力され得る。同様に、符号化データは、宛先機器14の受信機26によって、記憶装置からアクセスされ得る。記憶装置は、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性又は不揮発性メモリ、若しくは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散された又はローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。更なる一例では、記憶装置は、発信源機器12によって生成された符号化ビデオを記憶し得るファイルサーバ又は別の中間記憶装置に対応し得る。
宛先機器14は、ストリーミング又はダウンロードを介して、記憶装置から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先機器14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(例えば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続記憶(NAS)装置、又はローカルディスクドライブを含む。宛先機器14は、インターネット接続を含む、任意の標準のデータ接続を通じて符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、有線接続(例えば、DSL、ケーブルモデムなど)、又は両方の組合せを含み得る。記憶装置からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又はそれらの組合せであり得る。
本開示の技法は、必ずしもワイヤレス適用例又は設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、dynamic adaptive streaming over HTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、種々のマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び/又はビデオ電話などの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、カプセル化ユニット21と、出力インターフェース22とを含む。宛先機器14は、入力インターフェース28と、逆カプセル化ユニット(decapsulation unit)29と、ビデオデコーダ30と、表示装置32とを含む。幾つかの例では、発信源機器12及び宛先機器14は、他のコンポーネント又は構成を含み得る。例えば、発信源機器12は、外部カメラなどの外部ビデオ発信源18からビデオデータを受信し得る。同様に、宛先機器14は、内蔵表示装置32を含むのではなく、外部表示装置とインターフェースし得る。
図1の示されたシステム10は一例にすぎない。マルチビューコード化(3DVCを含む)における動きベクトル予測のための技法は、任意のデジタルビデオ符号化及び/又は復号機器によって実行され得る。概して、本開示の技法はビデオ符号化機器によって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。発信源機器12及び宛先機器14は、発信源機器12が宛先機器14に送信するためのコード化ビデオデータを生成するような、コード化機器の例にすぎない。幾つかの例では、機器12、14は、機器12、14の各々がビデオ符号化コンポーネントとビデオ復号コンポーネントとを含むように、実質的に対称的に動作し得る。従って、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト又はビデオ電話のための、ビデオ機器12とビデオ機器14との間の一方向又は双方向のビデオ送信をサポートすることができる。
発信源機器12のビデオ発信源18は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、及び/又はビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。更なる代替として、ビデオ発信源18は、発信源ビデオとしてのコンピュータグラフィックスベースのデータ、又はライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオ発信源18がビデオカメラである場合、発信源機器12及び宛先機器14は、所謂カメラ付き携帯電話又はビデオ電話を形成することができる。しかしながら、上述のように、本開示で説明される技法は、概してビデオコード化に適用可能であってよく、ワイヤレス及び/又は有線の適用例に適用されてよい。各々の場合において、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
ビデオ発信源24は一般に、シーンの複数のビューをビデオエンコーダ28に与え得る。ビデオ発信源24は、ビューに対するカメラ視点の位置を示す情報も与え得る。ビデオ発信源24は、この情報をビデオエンコーダ28に与えるか、又はその情報をカプセル化ユニット21に直接与え得る。
カプセル化ユニット21は、マルチメディアコンテンツのビューにビュー識別子を割り当てるために、ビューに対するカメラ視点の相対的な位置を示す情報を使用し得る。カプセル化ユニット21は、マルチメディアコンテンツの1つ又は複数の表現を形成することができ、その場合、表現の各々は1つ又は複数のビューを含み得る。幾つかの例では、ビデオエンコーダ20は、例えば、異なるフレームレート、異なるビットレート、異なる解像度、又は他のそのような違いを伴う、異なる方法で各ビューを符号化し得る。従って、カプセル化ユニット21は、様々な特性、例えば、ビットレート、フレームレート、解像度などを有する様々な表現を形成し得る。
表現の各々は、宛先機器14によって取り出され得るそれぞれのビットストリームに対応し得る。カプセル化ユニット21は、例えば、マルチメディアコンテンツに対するmedia presentation description(MPD)データ構造内で、各表現中に含まれるビューのビュー識別子(view_id)の範囲の指示を与え得る。例えば、カプセル化ユニット21は、表現のビューに対する最大ビュー識別子と最小ビュー識別子との指示を与え得る。MPDは、更に、マルチメディアコンテンツの複数の表現の各々に対する出力を対象とするビューの最大の数の指示を与え得る。MPD又はそのデータは、幾つかの例では、(1つ又は複数の)表現に対するマニフェストに記憶され得る。
コンピュータ可読媒体16は、ワイヤレスブロードキャスト又は有線ネットワーク送信などの一時媒体、又はハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、又は他のコンピュータ可読媒体などの記憶媒体(即ち、非一時的記憶媒体)を含み得る。幾つかの例では、ネットワークサーバ(図示せず)は、例えば、ネットワーク送信を介して、発信源機器12から符号化ビデオデータを受信し、宛先機器14に符号化ビデオデータを与え得る。同様に、ディスクスタンピング設備のような媒体製造設備のコンピューティング機器は、発信源機器12から符号化ビデオデータを受信し、その符号化ビデオデータを含むディスクを生成し得る。従って、コンピュータ可読媒体16は、様々な例において、様々な形態の1つ又は複数のコンピュータ可読媒体を含むことが理解されよう。
宛先機器14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロック及び他のコード化単位、例えば、GOPの特性及び/又は処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。宛先機器14の逆カプセル化ユニット29は、ビットストリーム(又はMVCの状況では「動作点」と呼ばれるビットストリームのサブセット)からのSEIメッセージを逆カプセル化するユニットを表し得る。逆カプセル化ユニット29は、カプセル化ユニット29によって実行される動作とは逆の順序で動作を実行して、SEIメッセージのようなカプセル化された符号化ビットストリームからのデータを逆カプセル化することができる。表示装置32は、復号ビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器、又は別のタイプの表示装置のような、種々の表示装置のいずれかを備え得る。
ビデオエンコーダ20及びビデオデコーダ30は各々、適用可能な場合、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組合せのような、種々の適切なエンコーダ回路又はデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ20及びビデオデコーダ30の各々は、1つ又は複数のエンコーダ又はデコーダ内に含まれてよく、それらのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合されてよい。ビデオエンコーダ20及び/又はビデオデコーダ30を含む機器は、集積回路、マイクロプロセッサ、及び/又は携帯電話などのワイヤレス通信機器を備え得る。
図1には示されていないが、幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、各々オーディオエンコーダ及びオーディオデコーダと統合されてよく、共通のデータストリーム又は別個のデータストリーム内のオーディオとビデオの両方の符号化を扱うための、適切なMUX−DEMUXユニット、又は他のハードウェアとソフトウェアとを含み得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
図1に示された例では、システム10はまた、ルータ36を有するサーバ/コンテンツ配信ネットワーク34を含む。幾つかの例では、発信源機器12は、上で説明されたように、様々なワイヤレス送信及び/又は有線送信又は記憶媒体を介して、サーバ/コンテンツ配信ネットワーク34と通信することができる。更に、図1の例では別々に示されたが、幾つかの例では、発信源機器12とサーバ/コンテンツ配信ネットワーク34は同じ機器を備える。サーバ/コンテンツ配信ネットワーク34は、(発信源機器12のビデオエンコーダ20からの)コード化ビデオデータの1つ又は複数のバージョンを記憶することができ、そのようなコード化ビデオデータを宛先機器14及びビデオデコーダ30によるアクセスのために利用可能にすることができる。幾つかの例では、ルータ36は、要求されたフォーマットで、コード化ビデオデータを宛先機器14に提供することを担い得る。
ビデオエンコーダ20及びビデオデコーダ30は、現在開発中のHigh Efficiency Video Coding(HEVC)規格などのビデオコード化規格に従って動作することができ、HEVC Test Model(HM)に準拠することができる。代替的に、ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG−4、Part 10、アドバンストビデオコード化(AVC)と呼ばれるITU−T H.264規格のような他のプロプライエタリ規格もしくは業界規格、又はH.264に対するMVC拡張及び/又は3DVC拡張を含む、そのような規格の拡張に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコード化規格にも限定されない。ビデオコード化規格の他の例には、MPEG−2及びITU−T H.263がある。
ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。幾つかの態様では、本開示で説明される技法は、概してH.264規格に準拠する機器に適用され得る。H.264規格は、ITU−T研究グループによる2005年3月付けのITU−T勧告H.264「アドバンストビデオコード化 for generic audiovisual services」に記載されており、本明細書ではH.264規格もしくはH.264仕様、又はH.264/AVC規格もしくは仕様と呼ばれ得る。H.264/AVCは、スケーラブルビデオコード化(SVC)拡張とMVC拡張とを含む。加えて、深度マップを含めてMVCを利用して、3DVC拡張を提供するための更なる開発がある。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。3DVCの状況において説明されるが、本開示で説明される技法は、テクスチャ成分と深度成分の両方を伴う3Dビデオの符号化及び復号が可能な、他のビデオコード化アルゴリズムに関して実装され得る。
ビデオエンコーダ20は、ブロックベースのシンタックスデータ、ピクチャベースのシンタックスデータ、及びGOPベースのシンタックスデータなどのシンタックスデータを、例えば、ピクチャヘッダ、ブロックヘッダ、スライスヘッダ、又はGOPヘッダ中でビデオデコーダ30に送信し得る。GOPシンタックスデータは、それぞれのGOP中の幾つかのピクチャを記述することができ、ピクチャシンタックスデータは、対応するピクチャを符号化するために使用される符号化/予測モードを示すことができる。
幾つかの例では、ビデオデータを復号するときに使用され得る特定のパラメータセットを、ビデオエンコーダ20は生成することができ、ビデオデコーダ30は受信することができる。例えば、パラメータセットは、(シーケンスパラメータセット(SPS)内の)シーケンスレベルヘッダ情報と、(ピクチャパラメータセット(PPS)内の)まれにしか変化しないピクチャレベルヘッダ情報とを含み得る。パラメータセット(例えば、PPS及びSPS)がある場合、まれにしか変化しない情報はシーケンス(例えば、ピクチャのシーケンス)ごと又はピクチャごとに繰り返される必要はなく、従ってコード化効率が改善され得る。更に、パラメータセットを使用すると、重要なヘッダ情報の帯域外送信が可能になり、誤り耐性のための冗長送信の必要を回避することができる。帯域外送信の例では、補助強化情報(SEI)のNAL単位のような他のNAL単位とは異なるチャネル上で、パラメータセットのNAL単位が送信され得る。
(SEIメッセージと呼ばれる)SEIのNAL単位は、ビデオコード化レイヤ(VCL)NAL単位からのコード化ピクチャサンプルを復号するためには必要でないが、復号、表示、誤り耐性、及び他の目的に関係するプロセスを支援できる情報を含み得る。SEIメッセージは、非VCL NAL単位に含まれることがある。SEIメッセージは、幾つかの規格の仕様の規範部分に含まれることがあり、従って、規格に準拠するデコーダ実装のために常に必須であるとは限らない。SEIメッセージは、シーケンスレベルのSEIメッセージ又はピクチャレベルのSEIメッセージであり得る。SVCの例ではスケーラビリティ情報SEIメッセージ、MVCではビュースケーラビリティ情報SEIメッセージのようなSEIメッセージ内に、何らかのシーケンスレベル情報が含まれることがある。ビュースケーラビリティ情報SEIメッセージも、H.264に対する3DVC拡張のためのシーケンスレベル情報を提供することができる。カプセル化ユニット21は、これらのSEIメッセージを形成し、これらのSEIメッセージを、一例として、符号化ビデオデータの配信を協議する際に使用するためにサーバ/コンテンツ配信ネットワーク34に提供することができる。
カプセル化ユニット30は、NALが属するプログラムを識別するヘッダ、ならびにペイロード、例えば、オーディオデータ、ビデオデータ、又はNAL単位が対応するトランスポート又はプログラムストリームを記述するデータを備える、NAL単位を形成し得る。例えば、H.264/AVCでは、NAL単位は1バイトのヘッダと変動するサイズのペイロードとを含む。一例では、NAL単位ヘッダは、priority_id要素と、temporal_id要素と、anchor_pic_flag要素と、view_id要素と、non_idr_flag要素と、inter_view_flag要素とを備える。従来のMVCでは、4バイトのMVC NAL単位ヘッダとNAL単位ペイロードとを含む、前置NAL単位とMVCコード化スライスNAL単位とを除いて、H.264によって定義されたNAL単位が保持される。
幾つかの例では、ビデオエンコーダ20は、MVCプラス深度情報を使用して、H.264の3DVC拡張に準拠する3DVCビットストリームを符号化することができる。MVCの最新のジョイントドラフトは、「アドバンストビデオコード化 for generic audiovisual services」、ITU−T勧告H.264、2010年3月において記述されており、3DVCのワーキングドラフトは、上で説明された、2011年11月付けの、「WD on MVC Extensions for Inclusion of Depth Maps」、ISO/IEC/JTC1/SC29/WG11/N12351、ジュネーブ、スイスにおいて記述されている。やはり、本開示でのMVCへの言及は、3DVCの状況におけるMVCプラス深度への言及であると理解されるべきである。即ち、3DVCがMVCを組み込み、又はMVCを「作り直す」という意味で、MVCが3DVCに関連するものとして、本開示ではMVCに言及が行われる。
H.264に対する3DVC拡張では、ビューはテクスチャと深度とを含む。ビューのテクスチャ部分はテクスチャビューと名付けられ、かつビューの深度部分は深度ビューと名付けられる。1つのアクセス単位中のビューのテクスチャ部分、即ちアクセス単位中のテクスチャビューは、テクスチャビュー成分と名付けられる。1つのアクセス単位中のビューの深度部分、即ちアクセス単位中の深度ビューは、深度成分と名付けられる。ビュー成分という用語は、1つのアクセス単位中のビューであり、同じアクセス単位中のテクスチャビュー成分と深度ビュー成分の両方を集合的に指す。
H.264/AVCの拡張では、複数の寸法でVCL NAL単位の特性を記述するために、シンタックス要素がNAL単位ヘッダ拡張に追加されて、NAL単位ヘッダを1バイトから4バイトに拡張することができる。従って、MVC拡張におけるVCL NAL単位は、H.264/AVC規格内のNAL単位ヘッダよりも長いNAL単位ヘッダを含み得る。H.264/AVCに対するMVC拡張は、本開示では「MVC/AVC」と呼ばれる場合がある。
MVC/AVC NAL単位は、NAL単位タイプを含む1バイトのNAL単位ヘッダ、ならびにMVC/AVC NAL単位ヘッダ拡張を含み得る。一例として、MVC/AVC NAL単位ヘッダ拡張は、以下の表の中のシンタックス要素を含み得る。
上の表では、idr_flag要素は、NAL単位が瞬時デコーダリフレッシュ(IDR)ピクチャに属するか、又は閉GOPランダムアクセスポイントとして使用され得るビューIDR(V−IDR)ピクチャに属するかを示すことができる。例えば、IDRピクチャ、及び表示順序とビットストリーム順序の両方でそれに続く全てのピクチャは、ビットストリーム順序又は表示順序のいずれかで前にあるピクチャを復号することなく、適切に復号され得る。
priority_id要素は、変化するネットワーク状態及び/又は(例えば、単一パス適応プロセスなどの)ビデオデコーダ30及び/又は表示装置32の能力に応じてビットストリームを変更する、ビットストリーム適応プロセスとともに使用され得る。view_id要素は、NAL単位が所属するビューのビュー識別子を示すために使用されてよく、ビュー識別子は、例えばビュー間予測用にMVCデコーダの内部で、例えばレンダリングのためにデコーダの外部で使用され得る。幾つかの例では、view_idは、予め定義されたカメラIDに等しく設定されてよく、比較的大きい場合がある。temporal_id要素は、特定のフレームレートに対応し得る、現在のNAL単位の時間レベルを示すために使用され得る。
anchor_pic_flag要素は、NAL単位が開GOPランダムアクセスポイントとして使用され得るアンカーピクチャに属するかどうかを示すために使用され得る。例えば、アンカーピクチャ、及び表示順序でそれに続く全てのピクチャは、復号順序(即ち、ビットストリーム順序)で前にあるピクチャを復号することなく、適切に復号され得るので、ランダムアクセスポイントとして使用され得る。アンカーピクチャと非アンカーピクチャとは異なるビュー依存性を有することがあり、それらの両方はSPS内で信号伝達され得る。
即ち、本明細書で説明されるように、ビュー依存性は、一般に、現在コード化されているビューが依存するビューを指す。言い換えれば、ビュー依存性は、現在コード化されているビューがどのビューから予測され得るかを示すことができる。幾つかの例によれば、ビュー依存性は、SPSのMVC拡張において信号伝達され得る。そのような例では、全てのビュー間予測は、SPSのMVC拡張によって指定された範囲内で行われ得る。inter_view_flag要素は、NAL単位が他のビュー内のNAL単位用のビュー間予測に使用されるかどうかを示すために使用され得る。
MVCビットストリームのベースビュー用のNAL単位ヘッダ情報(4バイトであり得る)を搬送するために、前置NAL単位(prefix NAL unit)がMVCにおいて定義され得る。MVCの状況において、ベースビューアクセス単位は、特定のビューの現在の時間インスタンスのVCL NAL単位、及びベースビューアクセス単位用の前置NAL単位を含んでよく、前置NAL単位はNAL単位ヘッダのみを含み得る。前置NAL単位が(例えば、単一ビューの復号などの)復号に必要でない場合、デコーダは前置NAL単位を無視及び/又は廃棄することができる。
SPSのMVC/AVC拡張に関して、MVC SPSはビュー間予測の目的で使用され得るビューを示すことができる。例えば、可能性のあるビュー間参照が、SPSのMVC/AVC拡張において信号伝達されてよく、参照ピクチャリストの構築プロセスによって修正されてよく、このことは、インター予測参照又はビュー間予測参照の柔軟な順序付けを可能にする。例示的なMVC/AVC SPSが以下の表で説明される。
幾つかの例によれば、ビュー依存性は、SPSのMVC拡張において信号伝達され得る。全てのビュー間予測は、SPSのMVC拡張によって指定された範囲内で行われ得る。即ち、SPSは、現在コード化されているビューによる予測の目的でどのビューが参照され得るかを示すことができる。上の表2では、num_anchor_refs_l0[i]要素は、リスト0(例えば、RefPicList0)用の初期化された参照ピクチャリスト中のビュー間予測用のビュー成分の数を指定することができる。
加えて、anchor_ref_l0[i][j]要素は、初期化されたRefPicList0中のビュー間予測用の第jのビュー成分のview_idを指定することができる。num_anchor_refs_l1[i]要素は、リスト1(例えば、RefPicList1)用の初期化された参照ピクチャリスト中のビュー間予測用のビュー成分の数を指定することができる。anchor_ref_l1[i][j]要素は、初期化されたRefPicList1中のビュー間予測用の第jのビュー成分のview_idを指定することができる。
num_non_anchor_refs_l0[i]要素は、初期化されたRefPicList0中のビュー間予測用のビュー成分の数を指定することができる。non_anchor_ref_l0[i][j]要素は、初期化されたRefPicList0中のビュー間予測用の第jのビュー成分のview_idを指定することができる。num_non_anchor_refs_l1[i]要素は、初期化されたRefPicList1中のビュー間予測用のビュー成分の数を指定することができる。non_anchor_ref_l1[i][j]要素は、初期化されたRefPicList中のビュー間予測用の第jのビュー成分のview_idを指定することができる。
初期化された、又は「初期の」参照ピクチャリストは、ビュー成分をビュー間予測する目的で使用される最後の参照ピクチャリストと同じであることがあり、又は異なることがある。即ち、特定の参照候補(即ち、ビュー間予測に使用され得る参照ピクチャ)は、初期の参照ピクチャリスト(例えば、冗長なピクチャ)から削除され得る。加えて、以下でより詳しく説明されるように、参照候補は、初期の参照ピクチャリストから並べ替えられて、最終的な参照ピクチャリストを形成することができる。
この例では、MVCによれば、アンカーピクチャのビュー依存性と非アンカーピクチャのビュー依存性は、別々に保持され信号伝達される。即ち、ビデオコーダは、合計4個の参照ピクチャリスト(例えば、非アンカーピクチャのリスト0、非アンカーピクチャのリスト1、アンカーピクチャのリスト0、アンカーピクチャのリスト1)を決定することができる。加えて、上の表2で示されたように、ビデオデコーダ30にビュー依存性を示すために別の信号伝達が必要である。即ち、SPSは、anchor_refsとnon_anchor_refsの両方のための、別個のリスト0とリスト1の信号伝達を含み得る。
その上、表2によれば、非アンカービュー成分のビュー間依存性は、アンカービュー成分のビュー間依存性のサブセットである。即ち、例えば、アンカービューのビュー成分は、ビュー3とビュー4などの2つ以上の他のビューから予測され得る。しかしながら、非アンカービューは、ビュー3(アンカービューのサブセット)のピクチャからしか予測され得ない。このようにして、アンカービュー成分のビュー依存性と非アンカービュー成分のビュー依存性は、別々に保持され得る。
加えて、表2では、num_level_values_signalledは、コード化ビデオシーケンスのために信号伝達されるレベル値の数を指定することができる。level_idc[i]要素は、コード化ビデオシーケンスのために信号伝達される第iのレベル値を指定することができる。要素num_applicable_ops_minus1[i]プラス1は、level_idc1[i]によって示されたレベルが適用される動作点の数を指定することができる。要素applicable_op_temporal_id[i][j]は、level_idc[i]によって示されたレベルが適用される第jの動作点のtemporal_idを指定することができる。
要素applicable_op_num_target_views_minus1[i][j]は、level_idc[i]によって示されたレベルが適用される第jの動作点用のターゲット出力ビューの数を指定することができる。要素applicable_op_target_view_id[i][j][k]は、level_idc[i]によって示されたレベルが適用される第jの動作点用の第kのターゲット出力ビューを指定することができる。要素applicable_op_num_views_minus1[i][j]は、level_idc[i]によって示されたレベルが適用される第jの動作点で、ターゲット出力ビューに依存するがターゲット出力ビューに属さないビューを含む、ビューの数を指定することができる。
従って、MVCのためのSPSでは、ビューごとに、参照ピクチャリスト0と参照ピクチャリスト1とを形成するために使用され得るビューの数が信号伝達され得る。加えて、MVCのためのSPSにおいて信号伝達されるような、アンカーピクチャに対する予測関係は、同じビューの(MVCのSPSにおいて信号伝達される)非アンカーピクチャに対する予測関係とは異なることがある。
以下でより詳しく説明されるように、ビデオエンコーダ20及びビデオデコーダ30は、参照ピクチャリストを構築するときに、時間予測参照とビュー予測参照とを柔軟に配置することができる。参照ピクチャセクション及び冗長ピクチャ機構がビュー寸法に拡張され得るので、柔軟な配置を可能にすると、潜在的なコード化効率の向上だけでなく、誤り耐性も実現する。一例では、ビデオエンコーダ20及び/又はビデオデコーダ30は、以下のステップに従って参照ピクチャリストを構築することができる。
1)他のビューからの参照ピクチャが考慮されないように、時間的(即ち、ビュー内)参照ピクチャ用の参照ピクチャリストを初期化する。
2)ピクチャがMVCのSPS拡張で発生する順序で、ビュー間参照ピクチャをリストの最後に追加する。
3)参照ピクチャリスト並べ替え(RPLR)プロセスをビュー内参照ピクチャとビュー間参照ピクチャの両方に適用する。ビュー間参照ピクチャは、MVCのSPS拡張で指定されたそれらのインデックス値により、RPLRコマンド内で識別され得る。
MVCでは、ビデオエンコーダ20及び/又はビデオデコーダ30は、マルチビュービデオデータを復号するとき、0又は1個のピクチャパラメータセット(PPS)をアクティブPPSとして、及び0又は1個のビューPPS(VPPS)をアクティブVPPSとしてアクティブ化することができ、各アクティブVPPSは、最大のビュー順序インデックス値よりも小さいある特定のビュー順序インデックス値に対して特別にアクティブである。即ち、ビデオエンコーダ20及び/又はビデオデコーダ30は、アクセス単位内のマルチビュービデオデータの全てのビュー成分に適用されるPPSをアクティブ化することができる。ビデオエンコーダ20及び/又はビデオデコーダ30はまた、アクセス単位中のビュー成分のサブセットにのみ適用されるVPPSをアクティブ化することができる。幾つかの例では、VPPSは、VPPSがアクティブ化されたビューに対する、PPSにおいて指定された1つ又は複数のシンタックス要素を上書きする1つ又は複数のシンタックス要素を含み得る。幾つかの例では、VPPSは、VPPSがアクティブ化されたビューに対する、PPSにおいて指定された1つ又は複数のシンタックス要素を補足する1つ又は複数のシンタックス要素を含み得る。
その上、MVCでは、ビデオエンコーダ20及び/又はビデオデコーダ30は、マルチビュービデオデータを復号するとき、0又は1個のMVCシーケンスパラメータセット(SPS)をアクティブMVC SPSとして、かつ0又は1個のビューSPS(VSPS)をアクティブVSPSとしてアクティブ化することができ、各アクティブVSPSは、最大のビュー順序インデックス値よりも小さいある特定のビュー順序インデックス値に対して特別にアクティブである。即ち、ビデオエンコーダ20及び/又はビデオデコーダ30は、1つ又は複数のアクセス単位内のマルチビュービデオデータの全てのビュー成分に適用されるSPSをアクティブ化することができる。ビデオエンコーダ20及び/又はビデオデコーダ30はまた、1つ又は複数のアクセス単位中のビュー成分のサブセットにのみ適用されるVSPSをアクティブ化することができる。幾つかの例では、VSPSは、VSPSがアクティブ化されたビューに対する、SPSにおいて指定された1つ又は複数のシンタックス要素を上書きする1つ又は複数のシンタックス要素を含み得る。幾つかの例では、VSPSは、VSPSがアクティブ化されたビューに対する、SPSにおいて指定された1つ又は複数のシンタックス要素を補足する1つ又は複数のシンタックス要素を含み得る。
加えて、MVCは、単一のビットストリームから様々な所謂動作部分を解析又は抽出するための機能を提供する。各動作点は、変化する時間フレームレート及び空間解像度で符号化される、マルチビュービデオデータのビューの異なる組合せを表し得る。言い換えると、動作点は、ビュー次元(ビューの数を反映する)と、時間次元(フレームレートを反映する)と、空間次元(空間解像度を反映する)とを含む、3次元でのマルチビュービデオデータの符号化を指し得る。
動作点は、ターゲット時間レベルを表すtemporal_id値、及びターゲット出力ビューを表すview_id値のセットによって識別され得る。1つの動作点がビットストリームサブセットに関連付けられ、ビットストリームサブセットは、ターゲット出力ビュー、及びターゲット出力ビューが依存する全ての他のビューからなり、temporal_id値に等しいtIdTargetと、view_id値のセットからなるviewIdTargetListとを入力として伴う、H.264/AVCの3次元ビデオコード化(3DVC)拡張のH.8.5.3項において規定されているサブビットストリーム抽出プロセスを使用して導出される。2つ以上の動作点が、同じビットストリームサブセットに関連付けられ得る。3DVCが「動作点が復号される」と述べる場合、それは、動作点に対応するビットストリームサブセットの復号と、ターゲット出力ビューの後続の出力とを指す。言い換えると、各動作点は、ある時間レベル及び/又は空間解像度若しくは空間レベルにある、出力のためのビューターゲットの数によって表される。
シーケンスパラメータセットのMVC拡張では、異なる動作点がlevel_idc値によって信号伝達され得る。以下のシンタックス要素は、レベル定義シンタックス要素と名付けられる。
MVCのSPS拡張において信号伝達される各level_idcに対して、新たなlevel_idc_depthが、3Dビデオ(3DV)のSPS拡張において信号伝達される。全てのMVC動作点が同じlevel_idc[i]を有すると仮定される場合、深度成分を含めて3DVC動作点を構築した後で、3DVC動作点は、同じレベルのlevel_idc_depth[i]を有する。詳細なシンタックス設計が次のように示される。
加えて、同じアクセス単位中のビュー成分を除去されるべきビュー成分として復号するとき、ビュー成分がビュー間参照のために更に使用されず、ビュー成分が出力のために使用されない場合、復号ピクチャバッファ(DPB)からビュー成分が除去され得ることを、MVCは実現する。
現在、3DVCは、ビュー成分のテクスチャ成分と深度成分とを区別する方法を提供せず、「ビュー成分」という用語は、3Dマルチビュービデオデータによって指定されるビューのピクチャを指す。結果として、ビューのテクスチャ成分と深度成分とを符号化するとき、ビデオエンコーダは一般に、テクスチャ成分と深度成分を区別するための方法を何ら提供することなく、MVCに関して上で説明されたのと同様の方式で、テクスチャ成分と深度成分の両方をビュー成分として扱い、又は別様に処理する。即ち、3DVCは現在、深度成分とは別々にテクスチャ成分を個々に処理するための方法を提供することなく、ビュー成分の取扱又はコード化を行う。3DVCにおけるこの区別の欠如により、コード化効率がより低くなり、及び/又は復元ビデオデータの品質がより低くなり得る。
例えば、深度成分は、このビュー成分の共同の取扱に対応するように、対応するテクスチャ成分と同じ解像度で指定されることが現在は要求され得る。しかしながら、より解像度の高い(テクスチャ成分の解像度と比べて)深度成分は、視聴者の視覚系が期待するものをより良好に再現するより良好でより没入感のある3Dビデオが生じ得るので、3次元(3D)ビデオ再生をもたらし得る。その上、より解像度の低い(テクスチャ成分の解像度と比較して)深度成分は、幾つかの例では同一の又は同様の没入感のある3D体験を提供し得るが、コード化されると使用するビットがより少なくなり得るので、コード化効率を向上させることができる。深度成分とテクスチャ成分の別々の取扱を可能にできないことによって、3DVCは、コード化効率が低下することがあり、及び/又は、(しばしば、鑑賞体験の点で)復元ビデオデータの品質が低くなることがある。
本開示の技法は全般に、3Dビデオデータを処理又はコード化するときに、ビューのテクスチャ成分と深度成分の別個の又は独立した取扱を可能にすることに関する。例えば、シーケンスパラメータセット(SPS)の3DVC拡張が、3DVC関連プロファイルのために追加され得る。このSPSの3DVC拡張の中で、深度マップシーケンスのピクチャサイズ、深度マップシーケンスによって表示されるべきピクチャのサイズ、及び、考慮される深度マップピクチャを伴う動作点のレベルのうちの1つ又は複数が信号伝達されてよく、特定のレベルの各々は、SPSのMVC拡張においてすでに定義されているレベルに対応する。ピクチャのサイズは、表示機器によって出力される復号ピクチャであってよい。
3DVCコーデックでは、特定の時間インスタンスにおけるビデオデータの各ビューのビュー成分は、テクスチャビュー成分と深度ビュー成分とを含み得る。テクスチャビュー成分は、ルミナンス(Y)成分と、クロミナンス(Cb及びCr)成分とを含み得る。ルミナンス(輝度)成分及びクロミナンス(色)成分は、本明細書では「テクスチャ」成分と総称される。深度ビュー成分は、画像の深度マップからのものであり得る。3D画像レンダリングでは、深度マップは、深度成分を含み、与えられた鑑賞視点からの仮想ビューを生成するために使用され得る。深度成分及びテクスチャ成分のシンタックス要素は、コード化ブロックユニットによって信号伝達され得る。本開示では単に「コード化ブロック」とも呼ばれるコード化ブロックユニットは、ITU−T H.264/AVC(アドバンストビデオコード化)におけるマクロブロックに対応し得る。
本開示は、ビデオ符号化及び/又は復号プロセスのインター予測段階中にエンコーダによって適用されデコーダによって使用され得る信号伝達技法を説明する。説明される技法は、3次元(「3D」)ビデオコンテンツのコード化に関する。3Dビデオコンテンツは、例えば、マルチビュービデオプラス深度(「MVD」)コード化ブロックとして表され得る。より具体的には、本技法は、テクスチャビュー成分と深度ビュー成分とを有する少なくとも1つの2次元画像の受信を伴う。幾つかのテクスチャビュー成分及び深度情報が、単一のコード化ブロックへと一緒にコード化されてよく、又は別々のブロックとしてコード化されてよい。画像は、画像のスライスへと分割され得る。テクスチャビュー成分及び深度ビュー成分のためのシンタックス要素は、シーケンスパラメータセットにおいて信号伝達され得る。深度ビュー成分は、テクスチャビュー成分から予測されることも又は予測されないこともある。
ビデオコード化規格の文脈では、「プロファイル」は、アルゴリズム、機能、又はツール、及びそれらに適用される制約のサブセットに対応する。例えば、H.264規格によって定義される「プロファイル」は、H.264規格によって規定されたビットストリームシンタックス全体のサブセットである。「レベル」は、例えば、ピクチャの解像度、ビットレート、及びマクロブロック(MB)処理レートに関連するデコーダメモリ及び計算のような、デコーダのリ発信源消費の限度に対応する。プロファイルはprofile_idc(プロファイルインジケータ)値で信号伝達されてよく、レベルはlevel_idc(レベルインジケータ)値で信号伝達されてよい。
H.264/AVC規格では、ネットワーク抽象レイヤ(NAL)ユニットは、ビデオ電話、記憶、又はストリーミングビデオなどの用途に対処するための「ネットワークフレンドリーな」ビデオ表現を与えるように定義される。NAL単位は、ビデオコード化レイヤ(VCL)NAL単位と非VCL NAL単位とに分類され得る。VCLユニットは、コア圧縮エンジンを含んでよく、ブロックレベルと、マクロブロック(MB)レベルと、スライスレベルとを備え得る。他のNAL単位は非VCL NAL単位である。
2Dビデオ符号化では、各NAL単位は、1バイトのNAL単位ヘッダと可変サイズのペイロードとを含み得る。NAL単位タイプを指定するために5ビットが使用され得る。他のピクチャ(NAL単位)によって参照されることに関してNAL単位がどの程度重要かを示すnal_ref_idcのために、3ビットが使用され得る。例えば、nal_ref_idcを0に等しく設定することは、NAL単位がインター予測のために使用されないことを意味する。H.264/AVCが、スケーラブルビデオコード化(SVC)規格など、3Dビデオ符号化を含むように拡張され得るとき、NALヘッダは2Dの状況のNALヘッダと同様であり得る。例えば、NAL単位ヘッダ中の1つ又は複数のビットは、NAL単位が4成分のNAL単位であることを識別するために使用され得る。
NAL単位ヘッダは、MVC NAL単位のためにも使用され得る。しかしながら、MVCでは、NAL単位ヘッダ構造は、前置NAL単位及びMVCコード化スライスNAL単位を除いて保持され得る。本開示の技法は、スーパーSPSを信号伝達するために使用され得る異なるNAL単位タイプを提供する。
次の表は、本開示の一態様による、シーケンスパラメータセットRBSPシンタックスの一例を提供する。例示のみを目的に、例えばこの表に関連して、テクスチャ及び深度が同じview_id値を有し、テクスチャと深度を区別するためにnal_unit_typeが使用されることが仮定され得る。以下では、太字の項目は、MVCに対する3DVC拡張のワーキングドラフトの現在の又は以前のバージョンと比較して、本開示の例に従って追加され、更新され、又は変更された項目を表す。その上、以下の表の付録Gのような、付録に対する言及は、H.264ビデオコード化規格の付録を指す。
上に示された表によれば、1に等しい3dvc_vui_parameter_present_flagは、3dvc_vui_parameters_extension()が存在することを示す。3dvc_vui_parameter_present_flagが0に等しい場合、このフラグは、3dvc_vui_parameters_extension()が存在しないことを示す。例えば、3dvc_vui_parameter_present_flagは、本開示の技法の一部を組み込む拡張がシーケンスパラメータセット中に存在することを示す。
幾つかの例では、MVCプロファイル(例えば、stereo high又はmultiview high)を伴うサブセットSPSは、3DVプロファイルを伴うサブセットSPSと同じSPS idを有し得るので、テクスチャビュー成分は、異なるプロファイル中の異なるコンテンツを有する同じSPS_idを参照する。例えば、MVCを伴うサブセットSPSは、テクスチャのみを有する動作点に対応し得る。3DVプロファイルを伴うサブセットSPSと同じSPS idを有することで、テクスチャのみを含んでいた動作点が、デコーダ又はネットワーク機器、例えばメディア認識ネットワーク要素(MANE)によって抽出されることが可能になり得る。
Multiview Highプロファイルは、任意の数のビューをサポートする。Stereo Highプロファイルは、2つのビューの立体ビデオをサポートする。他の例では、本明細書で説明される技法は、他のMVCプロファイルを使用する例に適用され得る。
以下の表は、シーケンスパラメータセットの3DVC拡張のための拡張シンタックス要素の例を提供する。
一例では、シーケンスパラメータセットの3DVC拡張は、コード化ビデオシーケンス中の他のビューよりも高い解像度を有する追加のビューの、ビュー間依存関係を指定する。より解像度の低い他のビューのテクスチャビュー成分は、付録Hに準拠するサブビットストリームに属する。シーケンスパラメータセットの3DVC拡張はまた、深度ビュー成分の依存性を指定する。より解像度の高いビューは、他のビューの2倍の幅、同一の高さ、又は2倍の高さ、又は同一の幅を有し得る。幾つかの例では、より解像度の高いビューは、他のビューの2倍の幅、同一の高さ、又は2倍の高さ、又は同一の幅のみを有し得る。
深度ビュー成分のchroma_format_idcは、4:0:0に等しいと推測される。
シンタックス要素disable_depth_inter_view_flagは、m22583における同じ名前のフラグと同じセマンティクスを有し得る。シンタックス要素depth_pic_width_in_mbs_minus1プラス1は、マクロブロックの単位で、各深度ビュー成分ピクチャの幅を指定する。マクロブロックの単位の深度ビュー成分のピクチャの幅のための変数は、次のように導出され得る。
ルーマ成分に対する深度ビュー成分のピクチャの幅のための変数は、次のように導出され得る。
幾つかの例では、シンタックス要素depth_pic_height_in_map_units_minus1プラス1は、深度ビュー成分の復号フレームのスライスグループマップ単位で高さを指定する。変数PicHeightInMapUnits及びPicSizeInMapUnitsは、以下のように導出される。
幾つかの例では、シンタックス要素depth_frame_cropping_flagが1に等しい場合、depth_frame_cropping_flagは、フレーム切り取りオフセットパラメータが、深度ビュー成分のためのシーケンスパラメータセットにおいて次に続くことを明示する。0に等しいdepth_frame_cropping_flagは、フレーム切り取りオフセットパラメータが深度ビュー成分に対して存在しないことを明示する。
depth_frame_crop_left_offset、depth_frame_crop_right_offset、depth_frame_crop_top_offset、及びdepth_frame_crop_bottom_offsetは、出力のためのフレーム座標で指定される長方形領域の形で、復号プロセスから出力されるコード化ビデオシーケンスにおける深度ビュー成分のピクチャのサンプルを指定することができる。これらのオフセットは、復号深度ビュー成分のピクチャに対する切り取り枠を定義することができる。
幾つかの例では、シンタックス要素level_idc_depth[i]は、深度ビュー成分を伴うコード化ビデオシーケンスのために信号伝達される第iのレベル値を指定する。
サブビットストリームを生成するために、MVCビットストリームから1つ又は複数のビューを抽出することが可能である。ターゲット出力ビューの所与の妥当なセットを伴うサブビットストリームは、動作点と呼ばれる。ビューの依存性が原因で、ターゲット出力ビューのセットは、サブビットストリーム中に含まれているビューのサブセットであり得る。また、ターゲット出力ビューは、サブビットストリーム中に含まれているビューと同一であり得る。しかしながら、サービス提供者が、多数のビューを伴う動作点をサポートすることを意図していない場合、ターゲット出力ビューの数は、含まれているビューのサブセットであり得る。それらの含まれているビューは、復号されるべきビューであることに留意されたい。
動作点は、ターゲット時間レベルを表すtemporal_id値、及びターゲット出力ビューを表すview_id値のセットによって識別される。1つの動作点がビットストリームサブセットに関連付けられ、ビットストリームサブセットは、ターゲット出力ビュー、及びターゲット出力ビューが依存する全ての他のビューからなり、temporal_id値に等しいtIdTargetと、view_id値のセットからなるviewIdTargetListとを入力として伴う、H.8.5.3項において規定されているサブビットストリーム抽出プロセスを使用して導出される。2つ以上の動作点が、同じビットストリームサブセットに関連付けられ得る。3DVCが「動作点が復号される」と述べる場合、それは、動作点に対応するビットストリームサブセットの復号と、ターゲット出力ビューの後続の出力とを指す。
本明細書で説明される技法によれば、3DVCのSPS拡張のための動作点の構築は、深度ビュー成分と関連付けられることを除き、MVCのSPS拡張と同じであり得る。言い換えると、level_idc[i]に等しいレベルを有するMVCのSPS拡張において信号伝達される各動作点に対して、対応する動作点は、ターゲット出力ビュー及びtemporal_id値の同じ集合を伴って、3DVCのSPS拡張において有効にされるが、深度成分を含む各ビュー成分に対して、level_idc_depth[i]というレベルを更に含む。
或いは、3DVプロファイルを伴う現在のSPSの、SPSのMVC拡張において信号伝達されるlevel_idc値は常に、深度NAL単位を含む動作点のためのものであるので、シンタックス要素level_idc_depth[i]は、3DVCのための幾つかの例においては信号伝達されない。例えば、本明細書で説明される技法によれば、SPSのMVC拡張を含む3DVプロファイルを伴うSPSにおいてlevel_idc値を信号伝達するとき、シンタックス要素level_idc_depth[i]は、level_idc値が深度NAL単位を含む動作点のためのものではないので、信号伝達されない。
次の表は、3DVCのVideo Usability Information(VUI)パラメータ拡張のための例示的なセマンティクスを提供する。
上で直接示される例示的な表では、1に等しいdepth_present_flag[i]は、現在の動作点が各ビューの深度ビュー成分を含むことを示す。0に等しいdepth_present_flag[i]は、現在の動作点が何ら深度ビュー成分を含まないことを示す。
他のシンタックス要素は、同じ名前を有するMVCのVUIパラメータ拡張と同じセマンティクスを有し得る。
代替的に、depth_present_idc[i]が信号伝達され得る。1に等しい要素depth_present_idc[i]は、現在の動作点が各ビューの深度ビュー成分を含むことを示し得る。幾つかの例では、depth_present_idc[i]を0又は2に等しく設定することは、現在の動作点がテクスチャビュー成分のみを含むことを示し得る。他の例では、depth_present_idc[i]を0に等しく設定することは、現在の動作点が何ら深度ビュー成分を含まないことを示し得る。他の例では、depth_present_idc[i]を2に等しく設定することは、現在の動作点が何ら深度ビュー成分を含まないことを示し得る。
別の例では、深度ビュー成分及びテクスチャビュー成分は、同じビューに属していても、信号伝達されるview_id値が異なり得る。しかしながら、深度ビュー成分はそれでも、テクスチャと同じビュー依存性を共有し得る。幾つかの例では、SPSの3DVC拡張は、view_id値のマッピングを含む。
次の表は、SPSの3DVC拡張の別の例を提供する。
シンタックス要素view_id_depth[i]は、iに等しいVOIdxを伴う深度ビューのview_idを指定し、この深度ビューは、view_id[i]に等しいview_idを有するテクスチャビューを伴うビューに属する。
別の例では、全ての他の態様を同一に保ちながら、level_idc_depth値が、SPSのMVC拡張において信号伝達されるlevel_idc値と同じ方法で信号伝達され得る。
別の例では、深度ビュー成分は、異なるseq_parameter_set_data()を共有し得る。従って、深度ビュー成分の幅及び高さが信号伝達される。一例では、シンタックスseq_parameter_set_data()は、chroma_format_idcを含んでよく、これは幾つかの例では4:0:0であり得る。これらの例では、深度ビュー予測関係は依然として、テクスチャビュー予測関係と同じ予測関係を共有し得る。
次の表は、本開示の一態様による、深度ビュー成分が同じseq_parameter_set_data()を共有する場合のための、サブセットシーケンスパラメータセットRBSPのためのシンタックス要素の例を提供する。
次の表は、本開示の一態様による、深度ビュー成分が同じseq_parameter_set_data()を共有する場合のために、例示的なシーケンスパラメータセットの3dVC拡張のシンタックスを提供する。
幾つかの例では、前述の表の幾つかで示されるシンタックス要素の幾つかのセマンティクスは、これらの表の他の1つに関して説明される類似したシンタックス要素と同様又は同一であり得る。
別の例では、新たなNAL単位タイプが提供され得る。NAL単位タイプは、3DVプロファイルのためのスーパーSPSを信号伝達するために使用される、15のような値を有し得る。次の3つの表は、3DVプロファイルのためのスーパーSPS向けのシンタックス要素に対応し得る。幾つかの例では、スーパーSPSは、深度ビュー成分とテクスチャ成分の両方を信号伝達することができる。
次の表は、スーパーシーケンスパラメータセットRBSPシンタックスの一例を提供する。次の表のSPSの3DVC拡張のシンタックスは、新たなNAL単位タイプを使用して信号伝達され得る。
次の表は、本明細書で説明される技法による、SPSの3DVC拡張のシンタックスの一例を提供する。次の表のSPSの3DVC拡張のシンタックスは、新たなNAL単位タイプを使用して信号伝達され得る。
次の表は、本明細書で説明される技法による、3DVCのVUIパラメータ拡張のシンタックスの一例を提供する。次の表の3DVCのVUIパラメータ拡張のシンタックスは、新たなNAL単位タイプを使用して信号伝達され得る。
幾つかの例では、前述の表で示されるシンタックス要素の幾つかのセマンティクスは、前述の表の他の1つに関して説明される類似したシンタックス要素と同様又は同一であり得る。MVCのSPS拡張において定義されるレベルは、動作点に適用されてよく、深度NAL単位を考慮する。3DV関連のプロファイルでは、1つのSPS、1つのサブセットSPS、及び1つのスーパーセットSPSが同時にアクティブ化され得る。
結果として、MVCは、深度成分とテクスチャ成分の別々の取扱を実現するために、3DVCによって拡張され得る。そのような独立の取扱を可能にすることによって、本開示で説明される技法の様々な態様は、ビットの節約(又は、言い換えると、マルチビュービデオデータのより効率的なコード化)及び/又は復元ビデオデータの品質の向上(これはやはり、知覚される鑑賞体験の観点で評価され得る)を促し得る。
例えば、本開示で説明される技法の様々な態様は、ビデオコード化機器(これは、発信源機器12及び/又は宛先機器14のようなビデオエンコーダ及び/又はビデオデコーダを含む任意の機器を指すために本開示で使用される用語を表し得る)が、マルチビュービデオデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも一部基づいて、ビュー成分のテクスチャ成分のためのテクスチャパラメータセットとしてパラメータセットをアクティブ化することを可能にし得る。ビュー順序インデックスは、アクセス単位の対応するビュー成分の復号順序を記述することができる。ビュー順序インデックスは、ビットストリームのビュー成分を識別するために、ピクチャ順序カウント(POC)値又はフレーム値とともに使用され得る。従って、本技法のこの態様は、ビュー成分のテクスチャ成分のみに対してアクティブ化され、同じビュー成分の対応する深度成分に適用されない、PPS又はSPSのようなパラメータセットを提供することができる。この態様では、ビデオコード化機器は、アクティブ化されたテクスチャパラメータセットに基づいて、ビュー成分の深度成分ではなく、ビュー成分のテクスチャ成分のみをコード化することができる。
加えて、ビデオコード化機器は、マルチビュービデオデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも一部基づいて、ビュー成分の深度成分のためのパラメータセットをアクティブ化することができる。即ち、幾つかの例では、ビデオコード化機器は、ビュー成分のテクスチャ成分のためのテクスチャ固有パラメータセットをアクティブ化し、次いで、同じビュー成分の深度成分に対して特別な更に別のパラメータセットをアクティブ化することができる。結果として、ビデオコード化機器は、ビュー成分の深度成分に対してアクティブ化されるパラメータセットに基づいて、かつ、アクティブ化されたテクスチャパラメータセットに基づかないで、ビュー成分の深度成分をコード化することができる。ビデオコード化機器は、アクティブ化されたテクスチャパラメータセットに基づいてテクスチャ成分をコード化することができる。このようにして、本技法は、ビュー成分のテクスチャ成分及び深度成分に対して、PPS又はSPSのようなパラメータセットの別々のアクティブ化を促すことができ、MVC適合3DVCビューにおける深度成分及びテクスチャ成分の別々の取扱又は処理を支援する方法を提供する。
本開示で説明される技法の様々な態様はまた、ビュー成分のテクスチャ成分と深度成分の両方、又はビュー成分の深度成分のみに適用されるネスト化された補助情報(SEI)メッセージをビデオコード化機器が決定することを可能にすることによって、深度成分とテクスチャ成分の別々の取扱を促すことができる。「ネスト化されたSEIメッセージ」という用語は、ネスト化されたSEIメッセージが別のSEIメッセージの範囲内に実質的に「ネスト化される」ように、別のSEIメッセージの様々な部分を組み込むSEIメッセージを指す。ネスト化されたSEIメッセージが深度成分のみに適用されることを可能にすることによって、本技法のこれらの態様はやはり、テクスチャ成分及び深度成分の別々の取扱を促すことができる。
ビデオコード化機器(即ち、図1の例では発信源機器12及び/又は宛先機器14)は、本技法のこれらの態様を実行して、マルチビュービデオデータのビュー成分のコード化に適用される補助強化情報メッセージを決定することができる。このSEIメッセージは、それが特定のビュー成分に適用され任意のネスト化されたSEIメッセージに対する範囲を設定することを反映して、親SEIメッセージと呼ばれ得る。ビデオコード化機器は次いで、ビュー成分の深度成分をコード化するときに、補助強化情報メッセージに加えて適用されるネスト化された補助強化情報メッセージを決定することができる。このネスト化されたSEIメッセージは、親SEIメッセージを特定することができ、親SEIメッセージが適用されるビュー成分の深度成分にのみこのネスト化されたSEIメッセージが適用されることを示すことができる。ビデオコード化機器は次いで、補助強化情報メッセージ及びネスト化された補助強化情報メッセージに基づいて、ビュー成分の深度成分を処理することができる。
一般に、ネスト化されたSEIメッセージは、ネスト化されたSEIメッセージがビュー成分のテクスチャ成分と深度成分の両方に適用されるのか、又は深度成分のみに適用されるのかを示す、フラグ又は他の識別子を含む。従って、幾つかの例では、ビデオコード化機器は、ビュー成分の深度成分を処理するときのみ、補助強化情報メッセージに加えてネスト化された補助強化情報メッセージが適用されると決定することができ、補助強化情報メッセージ及びネスト化された補助強化情報メッセージに基づいて、ビュー成分のテクスチャ成分ではなく、ビュー成分の深度成分のみを処理する。代替的に、ビデオコード化機器は、ビュー成分のテクスチャ成分を処理するとき、補助強化情報メッセージに加えてネスト化された補助強化情報メッセージが適用されると決定することができ、補助強化情報メッセージ及びネスト化された補助強化情報メッセージに基づいて、ビュー成分のテクスチャ成分を処理する。やはり、本技法のこれらの態様は、ビュー成分の深度成分とテクスチャ成分の別々の取扱又は処理をやはり促す。
本開示で説明される技法の他の態様は、ビデオコード化機器が、復号ピクチャバッファからテクスチャ成分と深度成分とを別々に除去することを可能にすることによって、深度成分とテクスチャ成分の別々の取扱を促すことができる。復号ピクチャバッファは、現在のビュー成分をコード化する際に使用するための参照ピクチャを記憶することが可能な、メモリ又は他のコンピュータ可読媒体を指す。本開示に記載される技法は、テクスチャ成分と深度成分の別々の取扱を可能にするので、ビデオコード化機器は、ビュー成分(及び従って、ビュー成分の深度成分及びテクスチャ成分)が同じ参照ピクチャを使用してコード化される従来のMVCとは逆に、同じビュー成分の深度成分をコード化するときに使用されるものとは異なる参照ピクチャを使用して、ビュー成分のテクスチャ成分をコード化することができる。結果として、参照ビュー成分の深度成分が、同じ参照ビュー成分のテクスチャ成分よりも前に復号ピクチャバッファから除去され得、かつ参照ビュー成分のテクスチャ成分が、同じ参照ビュー成分の深度成分よりも前に復号ピクチャバッファから除去され得る、例があり得る。
動作において、ビデオコード化機器は、復号ピクチャバッファに深度成分を記憶し、ビュー依存性を分析して深度成分がビュー間予測のために使用されるかどうかを決定することによって、本開示で説明される技法を実行することができる。ビデオコード化機器は次いで、深度成分がビュー間予測のために使用されないと決定したことに応答して、復号ピクチャバッファから深度成分を除去することができる。即ち、ビデオコード化機器は、深度成分がビュー間予測のために使用されないと決定したことに応答して、同じ参照ビュー成分のテクスチャ成分を除去することなく、復号ピクチャバッファから参照ビュー成分の深度成分を除去することができる。ビデオコード化機器は、深度成分を除去する前に、深度成分がターゲット出力ビューに属さず、深度成分が0に等しい値を有するネットワーク抽象レイヤ参照識別コードと関連付けられる(深度成分をカプセル化するNAL単位のコンテンツがピクチャ間予測のための参照ピクチャを構築するために使用されないことを意味する)と決定することによって、除去に適しているものとしてこの深度成分を評価することができる。
本開示で説明される技法の追加の態様はまた、深度成分及びテクスチャ成分の別々の取扱を可能にし、又は別様に支援することができる。例えば、動作点に関して、本技法は、ビデオコード化機器が、第1のシンタックス要素と、第2のシンタックス要素と、第3のシンタックス要素とを含むSEIメッセージを生成することを可能にでき、第1のシンタックス要素は、動作点が深度成分を含むかどうかを示す。動作点が深度成分を含む場合、ビデオコード化機器は、動作点のターゲット出力ビューが直接依存する深度成分の数を示すように、第2のシンタックス要素を定義し、動作点のターゲット出力ビューが直接依存する深度成分を識別するように、第3のシンタックス要素を定義することができる。
幾つかの例では、動作点は、動作点の第1のサブセットと動作点の第2のサブセットとを含んでよく、第1のサブセット中の各動作点はテクスチャ成分のみを含み、第2のサブセット中の各動作点は深度成分を含む。ビデオコード化機器は次いで、3Dビデオコード化と関連付けられる所与の値とプロファイル識別子が等しいと決定し、プロファイル識別子が所与の値に等しいと決定したことに応答して、サブセットSPSが第1のSPS拡張と第2のSPS拡張とを含むように、サブセットSPSを生成することができる。第1のSPS拡張は、第1のサブセットと、第1のサブセット中の動作点が属するレベルとを示すことができる。第2のSPS拡張は、第2のサブセットと、第2のサブセット中の動作点が属するレベルとを示すことができる。このようにして、本技法は、動作点が、テクスチャ成分及び深度成分に対して別々に、及びレベルによって定義されることを可能にし得る。
本技法のこの態様は、深度成分とテクスチャ成分の別々の取扱を利用して、動作点がマルチビュービデオコード化のためにビットストリームからより簡単に抽出されることを可能にし得る。動作点が深度を含むかどうかを信号伝達することによって、ビデオデコーダ30のようなビデオデコーダは、どの動作点がビデオデコーダ30の能力に最良に対応するかを決定することができる。例えば、ビデオデコーダ30は、深度を含まないビューを使用してマルチビュービデオコード化を実行するように最適化されてよく、左眼の視点と右眼の視点の両方が別々のピクチャとして提供される、マルチビュービデオデータを好む。ビデオデコーダ30は代替的に、深度ベースのマルチビュービデオデータに対して最適化され得るが、2つ以上のビューではなく単一のビューにしか対応しないことがある。符号化マルチビュービデオデータが深度を含む場合、及び深度と、動作点のターゲット出力ビューが直接依存する深度成分の数とを含む場合に信号伝達することによって、ビデオデコーダ30は、ビデオデコーダ30の能力又は最適化に対応する動作点を選択することができる。
加えて、ビデオコード化機器は、本開示で説明される技法の態様を実行して、動作点が属するレベルを信号伝達することができ、動作点の少なくとも一部は深度成分を含む。ビデオコード化機器は次いで、3Dビデオコード化と関連付けられる所与の値とプロファイル識別子が等しいと決定し、プロファイル識別子が所与の値に等しいと決定したことに応答して、サブセットSPSが動作点と動作点の属するレベルとを信号伝達するMVCのSPS拡張を含むように、サブセットSPSを生成することができる。動作点の各々は、この例では、1つ又は複数の出力ビューを指定することができ、出力ビューの各々は、テクスチャ成分と深度成分の両方を含む。
更に他の例では、ビデオコード化機器は、本開示で説明される技法を実行して、SPS中で、MVCプロセスにおいて動作点のために復号されるべきビューの数を示すシンタックス要素を生成することができ、ビューの各々は、幾つかのテクスチャ成分のうちの1つと幾つかの深度成分のうちの1つとを有する。ビデオコード化機器は次いで、SPSにおいて、動作点のために復号されるべきテクスチャ成分の数と、動作点のために復号されるべき深度成分の数とを信号伝達することができる。やはり、深度成分とテクスチャ成分の別々の取扱を支援することによって、本技法は、これらの深度成分及びテクスチャ成分が動作点を形成するためにどのように利用されるかの信号伝達を行うことができる。
図2は、マルチビュービデオデータをコード化するための、本開示で説明される技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は符号化されるべきビデオデータを受信する。図2の例では、ビデオエンコーダ20は、モード選択ユニット40と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56と、参照ピクチャメモリ64とを含む。次に、モード選択ユニット40は、動き/視差推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46と、区分ユニット48とを含む。
ビデオブロック復元のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とを含む。ブロック境界をフィルタリングして復元されたビデオからブロック歪み(blockiness artifacts)を除去するための、デブロッキングフィルタ(図2に図示せず)も含まれ得る。必要な場合、デブロッキングフィルタは一般に、加算器62の出力をフィルタリングする。デブロッキングフィルタに加えて、(ループ内又はループ後の)追加ループフィルタも使用され得る。そのようなフィルタは、簡潔のために示されていないが、必要な場合、(ループ内フィルタとして)加算器50の出力をフィルタリングすることができる。
モード選択ユニット40は、1つ又は複数のビューからブロックの形態で未加工のビデオデータを受信することができる。モード選択ユニット40は、例えば、誤差結果に基づいて、コード化モード、即ちイントラ又はインターのうちの1つを選択し、得られたイントラコード化ブロック又はインターコード化ブロックを、加算器50に提供して残差ブロックデータを生成し、かつ加算器62に提供して参照ピクチャとして使用するための符号化ブロックを復元することができる。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、区分情報、及び他のそのようなシンタックス情報などのシンタックス要素を、エントロピー符号化ユニット56に提供する。
動き/視差推定ユニット42及び動き補償ユニット44は高度に統合され得るが、概念的な目的のために別々に示される。動き/視差推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、現在のピクチャ(又は他のコード化単位)内のコード化されている現在のブロックに対する参照ピクチャ(又は他のコード化単位)内の予測ブロックに対する、現在のピクチャ内のビデオブロックのPUの変位を示すことができる。
予測ブロックは、絶対値差分和(SAD)、2乗差分和(SSD)、又は他の差分尺度によって決定され得る画素差分に関して、コード化されるべきブロックに厳密に一致することがわかるブロックである。幾つかの例では、ビデオエンコーダ20は、参照ピクチャバッファとも呼ばれ得る参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数画素位置の値を計算することができる。例えば、ビデオエンコーダ20は、参照ピクチャの1/4画素位置、1/8画素位置、又は他の分数画素位置の値を補間することができる。従って、動き/視差推定ユニット42は、フル画素位置及び分数画素位置に対する動き探索を実行し、分数画素精度で動きベクトルを出力することができる。
動き/視差推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス内のビデオブロックのPUの動きベクトルを計算する。動き推定/視差ユニット42はまた、ビュー間予測を実行するように構成されてよく、その場合、動き推定/視差ユニット42は、あるビューのピクチャ(例えば、ビュー0)のブロックと、参照ビューのピクチャ(例えば、ビュー1)の対応するブロックとの間の変位ベクトルを計算することができる。一般に、動き/視差ベクトルのためのデータは、参照ピクチャリストと、参照ピクチャリストへのインデックス(ref_idx)と、水平成分と、垂直成分とを含み得る。参照ピクチャは、第1の参照ピクチャリスト(リスト0)、第2の参照ピクチャリスト(リスト1)、又は合成参照ピクチャリスト(リストC)から選択されてよく、それらの各々は、参照ピクチャメモリ64に記憶された1つ又は複数の参照ピクチャを識別する。合成リストに関して、ビデオエンコーダ20は、2つのリスト(即ち、リスト0及びリスト1)から合成リストに挿入(追加)されるべき項目を交互に選択する。項目が合成リスト内にすでに入れられているとき、POC数を検査することによって、ビデオエンコーダ20は、その項目を再び挿入することはできない。各リスト(即ち、リスト0又はリスト1)に対して、ビデオエンコーダ20は、参照インデックスの昇順に基づいて項目を選択することができる。
動き/視差推定ユニット42は、参照ピクチャの予測ブロックを識別する動き/視差ベクトルを生成し、エントロピー符号化ユニット56と動き補償ユニット44とに送ることができる。即ち、動き/視差推定ユニット42は、予測ブロックを含んでいる参照ピクチャリストを識別する動きベクトルデータと、予測ブロックのピクチャを識別する参照ピクチャリストへのインデックスと、識別されたピクチャ内の予測ブロックの位置を特定する水平成分及び垂直成分とを生成し、送ることができる。
動き補償ユニット44によって実行される動き補償は、動き/視差推定ユニット42によって決定された動き/視差ベクトルに基づいて、予測ブロックを取得又は生成することに関与し得る。やはり、幾つかの例では、動き/視差推定ユニット42と動き補償ユニット44は機能的に統合され得る。現在のビデオブロックのPUの動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定することができる。
加算器50は、以下で論じられるように、コード化されている現在のビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き/視差推定ユニット42は、ルーマ成分に対して動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際に、ビデオデコーダ30が使用するためのビデオブロック及びビデオスライスと関連付けられるシンタックス要素を生成することができる。
イントラ予測ユニット46は、上で説明されたように、動き/視差推定ユニット42及び動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用するイントラ予測モードを決定することができる。幾つかの例では、イントラ予測ユニット46は、例えば、別個の符号化パスの間、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測ユニット46(又は、幾つかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。
例えば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードに対するレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択することができる。レート歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み(又は誤差)の量、及び符号化ブロックを生成するために使用されるビットレート(即ち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレート歪み値を示すかを決定するために、様々な符号化ブロックの歪み及びレートから比率を計算し得る。
ブロックのイントラ予測モードを選択した後、イントラ予測ユニット46は、ブロックのために選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット56に提供することができる。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ20は、(コードワードマッピングテーブルとも呼ばれる)複数のイントラ予測モードインデックステーブル及び複数の修正されたイントラ予測モードインデックステーブルと、様々なブロックのための符号化コンテキストの定義と、最確イントラ予測モードの指示とを含み得る送信されたビットストリーム構成データの中に、コンテキストの各々に対して使用する、イントラ予測モードインデックステーブルと、修正されたイントラ予測モードインデックステーブルとを含めることができる。
ビデオエンコーダ20は、コード化されている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって、残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つ又は複数のコンポーネントを表す。変換処理ユニット52は、離散コサイン変換(DCT)又は概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換又は他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報を画素値領域から周波数領域などの変換領域に変換し得る。
変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって変更され得る。幾つかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコード化する。例えば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コード化(CAVLC)、コンテキスト適応型バイナリ算術コード化(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コード化(SBAC)、確率間隔区分エントロピー(PIPE)コード化又は別のエントロピーコード化技法を実行し得る。コンテキストベースエントロピーコード化の場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット56によるエントロピーコード化の後、符号化ビットストリームは、別の機器(例えば、ビデオデコーダ30)に送信されてよく、又は後で送信するか又は取り出すためにアーカイブされてよい。
逆量子化ユニット58及び逆変換処理ユニット60は、それぞれ逆量子化及び逆変換を適用して、例えば、参照ブロックとして後で使用するために、画素領域内の残差ブロックを復元する。動き補償ユニット44は、残差ブロックを参照ピクチャメモリ64のピクチャのうちの1つの予測ブロックに加算することによって、参照ブロックを計算することができる。動き補償ユニット44はまた、復元された残差ブロックに1つ又は複数の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算することができる。加算器62は、復元された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための復元ビデオブロックを生成する。復元ビデオブロックは、後続ピクチャ中のブロックをインターコード化するために、動き/視差推定ユニット42及び動き補償ユニット44によって参照ブロックとして使用され得る。
ビデオエンコーダ20は、上で説明されたように、幾つかのシンタックス要素を生成することができ、それらはエントロピー符号化ユニット56又はビデオエンコーダ20の別の符号化ユニットによって符号化され得る。幾つかの例では、ビデオエンコーダ20は、上で説明されたように、3DVCビットストリームのためのシンタックス要素を生成し符号化することができ、やはり、この3DVCビットストリームはMVCと後方互換性があり得る。即ち、MVCをサポートするが3DVCをサポートしないビデオデコーダは依然として、本開示で説明される技法に従って符号化された3DVCビットストリームを復号することができる。
ビデオエンコーダ20は、マルチビュービデオデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも一部基づいて、ビュー成分のテクスチャ成分のためのテクスチャパラメータセットとしてパラメータセットをアクティブ化することができる。言い換えると、ビデオエンコーダ20は、ビュー成分のテクスチャ成分のみに対して、PPS又はSPSのようなパラメータセットをアクティブ化することができるので、このテクスチャパラメータセットは、同じビュー成分の対応する深度成分に適用されない。この態様では、ビデオエンコーダ20は、アクティブ化されたテクスチャパラメータセットに基づいて、ビュー成分の深度成分ではなく、ビュー成分のテクスチャ成分のみを符号化することができる。
具体的には、ビデオエンコーダ20のモード選択ユニット40は、モード、例えば、ビュー内予測(これは、ピクチャの全てが同じビューに対応する一時的な又はピクチャ間の予測を伴い得る)、ビュー間予測、又はイントラ予測を選択することによって、パラメータセットをアクティブ化することができる。モード選択ユニット40は、ピクチャのコード化の繰り返しの各々を分析することができ、各々の繰り返しは異なるパラメータを伴い得る。ピクチャをコード化する様々な繰り返しを選択するとき、モード選択ユニット40は、ピクチャ、ビュー、ビュー成分、深度成分、及び/又はテクスチャ成分の特定のシーケンスに対してパラメータセットを実質的にアクティブ化することができる。その上、モード選択ユニット40は、以下でより詳しく説明される方式で、同じビュー成分に各々属するテクスチャ成分及び深度成分に対して、この方式で異なるパラメータセットをアクティブ化することができる。
加えて、モード選択ユニット40は、3DVCデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも一部基づいて、ビュー成分の深度成分のためのパラメータセットをアクティブ化することができる。即ち、幾つかの例では、モード選択ユニット40は、ビュー成分のテクスチャ成分のためのテクスチャ固有パラメータセットをアクティブ化し、次いで、同じビュー成分の深度成分に対して特別な更に別のパラメータセットをアクティブ化することができる。結果として、モード選択ユニット40は、ビュー成分の深度成分に対してアクティブ化されるパラメータセットに基づいて、かつ、アクティブ化されたテクスチャパラメータセットに基づかないで、ビュー成分の深度成分を符号化することができる。モード選択ユニット40は、アクティブ化されたテクスチャパラメータセットに基づいてテクスチャ成分を符号化することができる。このようにして、本技法は、ビュー成分のテクスチャ成分及び深度成分に対して、PPS又はSPSのようなパラメータセットの別々のアクティブ化を促すことができ、3DVCにおける深度成分及びテクスチャ成分の別々の取扱又は処理を支援する方法を提供する。
ビデオエンコーダ20はまた、図2の例では参照ピクチャメモリ64として示される復号ピクチャバッファから、テクスチャ成分と深度成分とを別々に除去することができる。本開示に記載される技法は、テクスチャ成分と深度成分の別々の取扱を可能にするので、ビデオエンコーダ20は、ビュー成分(及び従って、ビュー成分の深度成分及びテクスチャ成分)が同じ参照ピクチャを使用してコード化される従来の3DVCとは逆に、同じビュー成分の深度成分をコード化するときに使用されるものとは異なる参照ピクチャを使用して、ビュー成分のテクスチャ成分をコード化することができる。結果として、参照ビュー成分の深度成分が、同じ参照ビュー成分のテクスチャ成分よりも前に復号ピクチャバッファから除去され得るとともに、参照ビュー成分のテクスチャ成分が、同じ参照ビュー成分の深度成分よりも前に復号ピクチャバッファから除去され得る、例があり得る。
動作において、ビデオエンコーダ20のモード選択ユニット40は、本開示で説明される技法を実行するように構成され得る。モード選択ユニット40は、参照ピクチャメモリ64に深度成分を記憶し、ビュー依存性を分析して深度成分がビュー間予測のために使用されるかどうかを決定することができる。モード選択ユニット40は次いで、深度成分がビュー間予測のために使用されないと決定したことに応答して、参照ピクチャメモリ64から深度成分を除去することができる。即ち、モード選択ユニット40は、深度成分がビュー間予測のために使用されないと決定したことに応答して、同じ参照ビュー成分のテクスチャ成分を除去することなく、参照ピクチャメモリ64から参照ビュー成分の深度成分を除去することができる。モード選択ユニット40は、深度成分を除去する前に、深度成分がターゲット出力ビューに属さず、深度成分が0に等しい値を有するネットワーク抽象レイヤ参照識別コードと関連付けられる(深度成分をカプセル化するNAL単位のコンテンツがピクチャ間予測のための参照ピクチャを構築するために使用されないことを意味する)と決定することによって、除去に適しているものとしてこの深度成分を評価することができる。
図3は、マルチビュービットストリームを復号するための、本開示で説明される技法を実装できる例示的なビデオデコーダ30を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット80と、動き補償ユニット82及びイントラ予測ユニット84を有する予測ユニット81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、参照ピクチャメモリ92とを含む。
復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと関連するシンタックス要素とを表す符号化ビデオのビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット80は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット80は、予測ユニット81に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルでシンタックス要素を受信し得る。
例えば、ビデオデコーダ30は、NAL単位に記憶されたデータのタイプ(例えば、VCLデータ及び非VCLデータ)を識別するNAL単位ヘッダを有する幾つかのNAL単位を受信することができる。パラメータセットは、上で説明されたSPS、PPS、又は他のパラメータセットなどのシーケンスレベルヘッダ情報を含み得る。
本開示の態様によれば、ビデオデコーダ30は、3DVCデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも一部基づいて、ビュー成分のテクスチャ成分のためのテクスチャパラメータセットとしてパラメータセットをアクティブ化することができる。より具体的には、エントロピー復号ユニット80は、ビットストリームからのパラメータセットを解析することができ、パラメータセットを復号して、復号パラメータセットを、予測ユニット81、逆量子化ユニット86、及び逆変換処理ユニット88のようなビデオデコーダ30の他のコンポーネントに与える。これらのコンポーネントの各々は、現在アクティブなパラメータセットを指すことができ、この意味で、ビデオデコーダ30は、ビデオデコーダ30の各コンポーネントに対するパラメータセットをアクティブ化する。
いずれにしても、ビュー順序インデックスは、上で述べられたように、アクセス単位の対応するビューコンポーネントの復号順序を記述することができる。ビュー順序インデックスは、ビットストリームのビュー成分を識別するために、ピクチャ順序カウント(POC)値又はフレーム値とともに使用され得る。従って、本技法のこの態様は、ビュー成分のテクスチャ成分のみに対してアクティブ化され、同じビュー成分の対応する深度成分に適用されない、PPS又はSPSのようなパラメータセットを提供することができる。この態様では、ビデオデコーダ30は、アクティブ化されたテクスチャパラメータセットに基づいて、ビュー成分の深度成分ではなく、ビュー成分のテクスチャ成分のみを復号することができる。
加えて、ビデオデコーダ30は、3DVデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも基づいて、ビュー成分の深度成分のためのパラメータセットをアクティブ化することができる。即ち、幾つかの例では、ビデオコード化機器は、ビュー成分のテクスチャ成分のためのテクスチャ固有パラメータセットをアクティブ化し、次いで、同じビュー成分の深度成分に対して特別な更に別のパラメータセットをアクティブ化することができる。結果として、ビデオデコーダ30は、ビュー成分の深度成分に対してアクティブ化されるパラメータセットに基づいて、かつ、アクティブ化されたテクスチャパラメータセットに基づかないで、ビュー成分の深度成分をコード化することができる。ビデオデコーダ30は、アクティブ化されたテクスチャパラメータセットに基づいてテクスチャ成分を復号することができる。このようにして、本技法は、ビュー成分のテクスチャ成分及び深度成分に対して、PPS又はSPSのようなパラメータセットの別々のアクティブ化を促すことができ、3DVCにおける深度成分及びテクスチャ成分の別々の取扱又は処理を支援する方法を提供する。
特に、本開示のこの態様は、ビデオコーダ(ビデオエンコーダ及び/又はビデオデコーダの両方又はいずれかを全般に指し得る)が、深度成分及びテクスチャ成分の各々のための別々のパラメータセットをアクティブ化することを可能にし得る。シーケンス及びピクチャパラメータセット機構は、コード化マクロブロックデータの送信から、まれに変化する情報の送信を実質的に切り離すことができる。シーケンス及びピクチャパラメータセットは、幾つかの用途では、信頼できる転送機構を使用して帯域外で搬送され得る。ピクチャパラメータセットの未加工バイトシーケンスペイロード(又は「RBSP」、これはピクチャパラメータセットを指すための別のより正式な方法である)は、1つ又は複数のビュー成分の1つ又は複数のテクスチャ成分又は深度成分のコード化スライスNAL単位によって参照され得るパラメータを含む。シーケンスパラメータセットRBSPは、1つ又は複数のピクチャパラメータセット又は1つ又は複数のバッファリング期間SEIメッセージによって参照され得るパラメータを含む。
深度ビューを含む3DVCビットストリームを復号するとき、復号プロセスの動作の間の任意の所与の瞬間において、ビデオデコーダ30は、0又は1個のアクティブピクチャパラメータセットと、0個以上のアクティブテクスチャピクチャパラメータセットと、0個以上のアクティブビューピクチャパラメータセットとをアクティブ化することができる。各アクティブテクスチャピクチャパラメータセットは、最大のビュー順序インデックス値以下の特定のビュー順序インデックス値に対して特別にアクティブであり、各アクティブビューピクチャパラメータセットは、最大のビュー順序インデックス値未満の特定のビュー順序インデックス値に対して特別にアクティブである。
同様に、復号プロセスの動作の間の所与の瞬間において、ビデオデコーダ30は、0又は1個のアクティブMVCシーケンスパラメータセットと、0個以上のアクティブテクスチャMVCシーケンスパラメータセットと、0個以上のアクティブビューMVCシーケンスパラメータセットとをアクティブ化することができる。各アクティブテクスチャMVCシーケンスパラメータセットは、最大のビュー順序インデックス値以下の特定のビュー順序インデックス値に対して特別にアクティブであり、各アクティブビューMVCシーケンスパラメータセットは、最大のビュー順序インデックス値未満の特定のビュー順序インデックス値に対して特別にアクティブである。
この意味で、3DVCのためのパラメータセットのアクティブ化は概して、本明細書で述べられた差(MVCにおいて現在サポートされていない深度ビュー成分をどのように扱うかの例を伴う)を除き、MVCにおけるパラメータセットのアクティブ化と同様である。その上、MVCは、3DVCのような、MVCを使用した拡張を対象とする追加のシンタックス要素が3DVC固有のシンタックス要素を指定するために利用し得る、幾つかの予備ビットを各パラメータセット中に設ける。これらの予備ビットを設けることによって、これらの予備ビットが、H.264/AVCに対するMVC拡張とは無関係の、又はMVC拡張において指定されないシンタックス要素を指定するために利用され得るとしても、パラメータセットは、MVCとの後方互換性を維持する。この理由で、MVCパラメータセットは、MVCとは無関係な追加のシンタックス要素を含み得るとしても、これらのパラメータセットは、MVCパラメータセット中に存在する予備ビットを考慮して、MVCパラメータセットと呼ばれる。
ピクチャ及びシーケンスパラメータセットのための詳細なアクティブ化プロセスは、次の通りである。ビデオデコーダ30は最初、各ピクチャパラメータセットRBSPを、復号プロセスの動作の開始時にはアクティブではないものと見なす。多くても、ビデオデコーダ30は、復号プロセスの動作の間の任意の所与の瞬間において、1つのピクチャパラメータセットRBSPを、アクティブピクチャパラメータセットRBSPとしてアクティブ化する。任意の特定のピクチャパラメータセットRBSPがアクティブピクチャパラメータセットRBSPになると、ビデオデコーダ30は、以前にアクティブであったピクチャパラメータセットRBSPを(もしあれば)実質的に非アクティブ化する。
アクティブピクチャパラメータセットセットRBSPに加えて、ビデオデコーダ30は、ターゲット出力ビューに属する、又は、ターゲット出力ビューに属するテクスチャ成分を復号する際にビュー間予測を通じて参照され得る、テクスチャ成分(最大ビュー順序インデックス値(「VOIdxMax」)以下の特定のビュー順序インデックス値(「VOIdx」)を伴う)に対して特別に、0個以上のピクチャパラメータセットRBSPをアクティブ化することができる。そのようなピクチャパラメータセットRBSPは、特定の値のVOIdxに対するアクティブビューピクチャパラメータセットRBSPと呼ばれる。アクティブピクチャパラメータセットRBSPに対する制約はまた、特定の値のVOIdxに対する、アクティブビューピクチャパラメータセットRBSPに適用される。
更に、ビデオデコーダ30は、ターゲット出力ビューに属する、又は、ターゲット出力ビューに属する深度成分を復号する際にビュー間予測を通じて参照され得る、ビュー成分(VOIdxMax未満の特定の値のVOIdxを伴う)に対して特別に、0個以上のピクチャパラメータセットRBSPをアクティブ化することができる。そのようなピクチャパラメータセットRBSPは、特定の値のVOIdxに対するアクティブビューピクチャパラメータセットRBSPと呼ばれる。アクティブピクチャパラメータセットRBSPに対する制約はまた、VOIdxMax未満の特定の値のVOIdxに対する、アクティブビューピクチャパラメータセットRBSPに適用される。
ピクチャパラメータセットRBSP(特定の値のpic_parameter_set_idを伴う)がアクティブピクチャパラメータセットRBSPではなく、ピクチャパラメータセットRBSPが、(その値のpic_parameter_set_idを使用して)深度成分に属しVOIdxMaxに等しいVOIdxを伴うコード化スライスNAL単位によって参照される場合、ビデオデコーダ30は、ピクチャパラメータセットRBSPをアクティブ化することができる。深度成分に属するコード化スライスNAL単位は、21に等しいnal_unit_typeを有し得る。別のピクチャパラメータセットRBSPがアクティブピクチャパラメータセットRBSPになるときにこのピクチャパラメータセットRBSPが非アクティブ化されるまで、このピクチャパラメータセットRBSPは、アクティブピクチャパラメータセットRBSPと呼ばれる。その特定の値のpic_parameter_set_idを伴うピクチャパラメータセットRBSPは、ピクチャパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
ピクチャパラメータセットRBSP(特定の値のpic_parameter_set_idを伴う)がVOIdxMax未満の特定の値のVOIdxに対するアクティブビューピクチャパラメータセットではなく、ピクチャパラメータセットRBSPが、(その値のpic_parameter_set_idを使用して)深度成分に属し(即ち、21に等しいnal_unit_typeを伴い)特定の値のVOIdxを伴うコード化スライスNAL単位によって参照される場合、ビデオデコーダ30は、その特定の値のVOIdxを伴うビュー成分に対するピクチャパラメータセットRBSPをアクティブ化する。特定の値のVOIdxに対して別のピクチャパラメータセットRBSPがアクティブビューピクチャパラメータセットRBSPになるときにこのピクチャパラメータセットRBSPが非アクティブ化されるまで、その特定の値のVOIdxに対して、このピクチャパラメータセットRBSPは、アクティブビューピクチャパラメータセットRBSPと呼ばれる。その特定の値のpic_parameter_set_idを伴うピクチャパラメータセットRBSPは、ピクチャパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
ピクチャパラメータセットRBSP(特定の値のpic_parameter_set_idを伴う)がVOIdxMax以下の特定の値のVOIdxに対するアクティブテクスチャピクチャパラメータセットではなく、ピクチャパラメータセットRBSPが、(その値のpic_parameter_set_idを使用して)テクスチャ成分に属し(即ち、1、5、又は20に等しいnal_unit_typeを伴い)特定の値のVOIdxを伴うコード化スライスNAL単位によって参照される場合、ビデオデコーダ30は、特定の値のVOIdxを伴う深度成分に対するピクチャパラメータセットRBSPをアクティブ化する。特定の値のVOIdxに対して別のピクチャパラメータセットRBSPがアクティブテクスチャピクチャパラメータセットRBSPになるときにこのピクチャパラメータセットRBSPが非アクティブ化されるまで、特定の値のVOIdxに対して、このピクチャパラメータセットRBSPは、アクティブテクスチャピクチャパラメータセットRBSPと呼ばれる。その特定の値のpic_parameter_set_idを伴うピクチャパラメータセットRBSPは、ピクチャパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
コード化ピクチャのためのアクティブピクチャパラメータセットRBSPのpic_parameter_set_idの値を含む任意のピクチャパラメータセットNAL単位は、ピクチャパラメータセットNAL単位がこのコード化ピクチャの最後のVCL NAL単位の後にあり別のコード化ピクチャの最初のVCL NAL単位の前にある場合以外は、このコード化ピクチャのためのアクティブピクチャパラメータセットRBSPと同じコンテンツを有するべきである。コード化ピクチャのためのVOIdxMax未満である特定の値のVOIdxに対するアクティブビューピクチャパラメータセットRBSPのpic_parameter_set_idの値を含む任意のピクチャパラメータセットNAL単位は、ピクチャパラメータセットNAL単位がこのコード化ピクチャの最後のVCL NAL単位の後にあり別のコード化ピクチャの最初のVCL NAL単位の前にある場合以外は、このコード化ピクチャのための特定の値のVOIdxに対するアクティブビューピクチャパラメータセットRBSPと同じコンテンツを有するべきである。コード化ピクチャのための特定の値のVOIdxに対するアクティブテクスチャピクチャパラメータセットRBSPのpic_parameter_set_idの値を含む任意のピクチャパラメータセットNAL単位は、ピクチャパラメータセットNAL単位がこのコード化ピクチャの最後のVCL NAL単位の後にあり別のコード化ピクチャの最初のVCL NAL単位の前にある場合以外は、このコード化ピクチャのための特定の値のVOIdxに対するアクティブテクスチャピクチャパラメータセットRBSPと同じコンテンツを有するべきである。
ビデオデコーダ30は最初、各MVCシーケンスパラメータセットRBSPが、復号プロセスの動作の開始時にはアクティブではないと決定する。やはり、MVCシーケンスパラメータセットへの言及は、3DVCの状況におけるMVCシーケンスパラメータセットを指し、これは、MVCを引き継ぎ、又は別様に採用するので、MVCシーケンスパラメータセットを組み込む(しかし、これらのパラメータセットは、追加の3DVC固有のシンタックス要素を追加することによって修正され得る)。多くても、ビデオデコーダ30は、復号プロセスの動作の間の任意の所与の瞬間において、1つのMVCシーケンスパラメータセットRBSPがアクティブMVCシーケンスパラメータセットRBSPであると決定する。任意の特定のMVCシーケンスパラメータセットRBSPがアクティブMVCシーケンスパラメータセットRBSPになると、ビデオデコーダ30は、以前にアクティブであったMVCシーケンスパラメータセットRBSPを(もしあれば)非アクティブ化する。
アクティブMVCシーケンスパラメータセットRBSPは、シーケンスパラメータセットRBSP又はサブセットシーケンスパラメータセットRBSPのいずれかである。シーケンスパラメータセットRBSPは、1又は5に等しいnal_unit_typeを伴う、又は、MVCスケーラブルネスト化SEIメッセージ又は3DVスケーラブルネスト化SEIメッセージに含まれないバッファリング期間SEIメッセージを伴う、コード化スライスNAL単位によってアクティブ化される。サブセットシーケンスパラメータセットは、コード化スライスMVC拡張NAL単位(21に等しいnal_unit_type)、又は、3DVスケーラブルネスト化SEIメッセージに含まれるバッファリング期間SEIメッセージによってアクティブ化される。シーケンスパラメータセットRBSP及びサブセットシーケンスパラメータセットRBSPは、同じ値のseq_parameter_set_idを有し得る。
アクティブMVCシーケンスパラメータセットRBSPに加えて、ビデオデコーダ30は、ターゲット出力ビューに属する、又は、ターゲット出力ビューに属するビュー成分を復号する際にビュー間予測を通じて参照され得る、ビュー成分(VOIdxMax未満の特定の値のVOIdxを伴う)に対して特別に、0個以上のMVCシーケンスパラメータセットRBSPをアクティブ化することができる。そのようなMVCシーケンスパラメータセットRBSPは、特定の値のVOIdxに対するアクティブビューMVCシーケンスパラメータセットRBSPと呼ばれる。アクティブMVCシーケンスパラメータセットRBSPに対する制約はまた、VOIdxMax未満の特定の値のVOIdxに対する、アクティブビューMVCシーケンスパラメータセットRBSPに適用される。
更に、ビデオデコーダ30は、ターゲット出力ビューに属する、又は、ターゲット出力ビューに属するテクスチャ成分を復号する際にビュー間予測を通じて参照され得る、テクスチャ成分(VOIdxMax以下の特定の値のVOIdxを伴う)に対して特別に、0個以上のMVCシーケンスパラメータセットRBSPをアクティブ化することができる。そのようなMVCシーケンスパラメータセットRBSPは、特定の値のVOIdxに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPと呼ばれる。アクティブMVCシーケンスパラメータセットRBSPに対する制約はまた、特定の値のVOIdxに対する、アクティブテクスチャMVCシーケンスパラメータセットRBSPに適用される。
次の説明では、アクティブ化バッファリング期間SEIメッセージが、次のように規定される。
− VOIdxMaxがVOIdxMinに等しく、アクセス単位が、MVCスケーラブルネスト化SEIメッセージに含まれず3DVCスケーラブルネスト化SEIメッセージに含まれないバッファリング期間SEIメッセージを含む場合、このバッファリング期間SEIメッセージは、アクティブ化バッファリング期間SEIメッセージである。
− そうではなく、VOIdxMaxがVOIdxMinに等しくなく、アクセス単位が、3DVCスケーラブルネスト化SEIメッセージに含まれ復号されている動作点と関連付けられるバッファリング期間SEIメッセージを含む場合、このバッファリング期間SEIメッセージは、アクティブ化バッファリング期間SEIメッセージである。
− それ以外の場合、アクセス単位はアクティブ化バッファリング期間SEIメッセージを含まない。
特定の値のseq_parameter_set_idを伴うシーケンスパラメータセットRBSP(nal_unit_typeが7に等しい)がまだアクティブMVCシーケンスパラメータセットRBSPではなく、シーケンスパラメータセットRBSPがピクチャパラメータセットRBSPのアクティブ化によって参照され(その値のseq_parameter_set_idを使用して)、ピクチャパラメータセットRBSPが1又は5に等しいnal_unit_typeを伴うコード化スライスNAL単位によってアクティブ化され(ピクチャパラメータセットRBSPがアクティブピクチャパラメータセットRBSPになり、VOIdxMaxがVOIdxMinと等しく、アクセス単位中に深度成分がない)、アクセス単位がアクティブ化バッファリング期間SEIメッセージを含まない場合、ビデオデコーダ30は、シーケンスパラメータセットRBSPをアクティブ化することができる。別のMVCシーケンスパラメータセットRBSPがアクティブMVCシーケンスパラメータセットRBSPになるときにこのシーケンスパラメータセットRBSPが非アクティブ化されるまで、このシーケンスパラメータセットRBSPは、アクティブMVCシーケンスパラメータセットRBSPと呼ばれる。特定の値のseq_parameter_set_idを伴うシーケンスパラメータセットRBSPは、シーケンスパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
特定の値のseq_parameter_set_idを伴うシーケンスパラメータセットRBSP(nal_unit_typeが7に等しい)がまだアクティブMVCシーケンスパラメータセットRBSPではなく、シーケンスパラメータセットRBSPが、3DVスケーラブルネスト化SEIメッセージに含まれないアクティブ化バッファリング期間SEIメッセージによって参照され(その値のseq_parameter_set_idを使用して)、VOIdxMaxがVOIdxMinと等しく、アクセス単位中に深度成分がない場合、ビデオデコーダ30は、シーケンスパラメータセットRBSPをアクティブ化する。別のMVCシーケンスパラメータセットRBSPがアクティブMVCシーケンスパラメータセットRBSPになるときにこのシーケンスパラメータセットRBSPが非アクティブ化されるまで、このシーケンスパラメータセットRBSPは、アクティブMVCシーケンスパラメータセットRBSPと呼ばれる。特定の値のseq_parameter_set_idを伴うシーケンスパラメータセットRBSPは、シーケンスパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
特定の値のseq_parameter_set_idを伴うサブセットシーケンスパラメータセットRBSP(nal_unit_typeが15に等しい)がまだアクティブMVCシーケンスパラメータセットRBSPではなく、サブセットシーケンスパラメータセットRBSPがピクチャパラメータセットRBSPのアクティブ化によって参照され(その値のseq_parameter_set_idを使用して)、ピクチャパラメータセットRBSPが21に等しいnal_unit_typeを伴いVOIdxMaxに等しいVOIdxを伴うコード化スライスNAL単位によってアクティブ化され(ピクチャパラメータセットRBSPがアクティブピクチャパラメータセットRBSPになり)、アクセス単位がアクティブ化バッファリング期間SEIメッセージを含まない場合、ビデオデコーダ30は、サブセットシーケンスパラメータセットRBSPをアクティブ化することができる。別のMVCシーケンスパラメータセットRBSPがアクティブMVCシーケンスパラメータセットRBSPになるときにこのサブセットシーケンスパラメータセットRBSPが非アクティブ化されるまで、このサブセットシーケンスパラメータセットRBSPは、アクティブMVCシーケンスパラメータセットRBSPと呼ばれる。その特定の値のseq_parameter_set_idを伴うサブセットシーケンスパラメータセットRBSPは、そのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
特定の値のseq_parameter_set_idを伴うサブセットシーケンスパラメータセットRBSP(nal_unit_typeが15に等しい)がまだアクティブMVCシーケンスパラメータセットRBSPではなく、サブセットシーケンスパラメータセットRBSPが、3DVスケーラブルネスト化SEIメッセージに含まれないアクティブ化バッファリング期間SEIメッセージによって参照される場合(その値のseq_parameter_set_idを使用して)、ビデオデコーダ30は、サブセットシーケンスパラメータセットRBSPをアクティブ化する。別のMVCシーケンスパラメータセットRBSPがアクティブMVCシーケンスパラメータセットRBSPになるときにこのサブセットシーケンスパラメータセットRBSPが非アクティブ化されるまで、このサブセットシーケンスパラメータセットRBSPは、アクティブMVCシーケンスパラメータセットRBSPと呼ばれる。seq_parameter_set_idの特定の値を伴うサブセットシーケンスパラメータセットRBSPは、サブセットシーケンスパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
次の説明では、特定の値のVOIdxに対するアクティブ化テクスチャバッファリング期間SEIメッセージが、次のように規定される。
− MVCスケーラブルネスト化SEIメッセージに含まれ、関連するビットストリームサブセット中の最大のVOIdxが特定の値のVOIdxに等しい動作点と関連付けられる、1つ以上のバッファリング期間SEIメッセージをアクセス単位が含む場合、復号順序でこれらのバッファリング期間SEIメッセージの最初のメッセージが、その特定の値のVOIdxに対するアクティブ化テクスチャバッファリング期間SEIメッセージである。
− そうではなく、MVCスケーラブルネスト化SEIメッセージ又は3DVスケーラブルネスト化SEIメッセージに含まれないバッファリング期間SEIメッセージをアクセス単位が含む場合、このバッファリング期間SEIメッセージは、VOIdxMinに等しい特定の値のVOIdxに対するアクティブ化テクスチャバッファリング期間SEIメッセージである。
− それ以外の場合、アクセス単位は、その特定の値のVOIdxに対するアクティブ化テクスチャバッファリング期間SEIメッセージを含まない。
特定の値のseq_parameter_set_idを伴うシーケンスパラメータセットRBSP(nal_unit_typeが7に等しい)がまだ、VOIdxMinに等しいVOIdxに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPではなく、シーケンスパラメータセットRBSPがピクチャパラメータセットRBSPのアクティブ化によって参照され(その値のseq_parameter_set_idを使用して)、ピクチャパラメータセットRBSPが1又は5に等しいnal_unit_typeを伴うコード化スライスNAL単位によってアクティブ化される(ピクチャパラメータセットRBSPが、VOIdxMinに等しいVOIdxに対するアクティブテクスチャピクチャパラメータセットRBSPになる)場合、ビデオデコーダ30は、VOIdxMinに等しいVOIdxを伴うテクスチャ成分に対するシーケンスパラメータセットRBSPをアクティブ化することができる。別のMVCシーケンスパラメータセットRBSPがVOIdxMinに等しいVOIdxに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPになるときにこのシーケンスパラメータセットRBSPが非アクティブ化されるまで、このシーケンスパラメータセットRBSPは、VOIdxMinに等しいVOIdxに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPと呼ばれる。特定の値のseq_parameter_set_idを伴うシーケンスパラメータセットRBSPは、シーケンスパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
特定の値のseq_parameter_set_idを伴うシーケンスパラメータセットRBSP(nal_unit_typeが7に等しい)がまだ、VOIdxMinに等しいVOIdxに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPではなく、シーケンスパラメータセットRBSPが、MVCスケーラブルネスト化メッセージに含まれない、又は3DVスケーラブルネスト化SEIメッセージに含まれないアクティブ化テクスチャバッファリング期間SEIメッセージによって参照される場合(その値のseq_parameter_set_idを使用して)、ビデオデコーダ30は、VOIdxMinに等しいVOIdxを伴うテクスチャ成分に対するシーケンスパラメータセットRBSPをアクティブ化することができる。別のMVCシーケンスパラメータセットRBSPが等しいVOIdxに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPになるときにこのシーケンスパラメータセットRBSPが非アクティブ化されるまで、このシーケンスパラメータセットRBSPは、VOIdxMinに等しいVOIdxに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPと呼ばれる。特定の値のseq_parameter_set_idを伴うシーケンスパラメータセットRBSPは、シーケンスパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
特定の値のseq_parameter_set_idを伴うサブセットシーケンスパラメータセットRBSP(nal_unit_typeが15に等しい)がまだ、VOIdxMax以下の特定の値のVOIdxに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPではなく、サブセットシーケンスパラメータセットRBSPがピクチャパラメータセットRBSPのアクティブ化によって参照され(その値のseq_parameter_set_idを使用して)、ピクチャパラメータセットRBSPがその特定の値のVOIdxを伴うコード化スライスMVC拡張NAL単位(nal_unit_typeが20に等しい)によってアクティブ化される(ピクチャパラメータセットRBSPが、特定の値のVOIdxに対するアクティブテクスチャピクチャパラメータセットRBSPになる)場合、ビデオデコーダ30は、その特定の値のVOIdxを伴うテクスチャ成分に対するサブセットシーケンスパラメータセットRBSPをアクティブ化することができる。特定の値のVOIdxに対して別のMVCシーケンスパラメータセットRBSPがアクティブテクスチャMVCシーケンスパラメータセットRBSPになるときにこのサブセットシーケンスパラメータセットRBSPが非アクティブ化されるまで、特定の値のVOIdxに対して、このサブセットシーケンスパラメータセットRBSPは、アクティブテクスチャMVCシーケンスパラメータセットRBSPと呼ばれる。特定の値のseq_parameter_set_idを伴うサブセットシーケンスパラメータセットRBSPは、サブセットシーケンスパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
特定の値のseq_parameter_set_idを伴うサブセットシーケンスパラメータセットRBSP(nal_unit_typeが15に等しい)がまだ、VOIdxMax以下の特定の値のVOIdxに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPではなく、サブセットシーケンスパラメータセットRBSPが、MVCスケーラブルネスト化メッセージに含まれ特定の値のVOIdxと関連付けられるアクティブ化テクスチャバッファリング期間SEIメッセージによって参照される場合(その値のseq_parameter_set_idを使用して)、ビデオデコーダ30は、特定の値のVOIdxを伴うテクスチャ成分に対してこのサブセットシーケンスパラメータセットRBSPをアクティブ化することができる。特定の値のVOIdxに対して別のMVCシーケンスパラメータセットRBSPがアクティブテクスチャMVCシーケンスパラメータセットRBSPになるときにこのサブセットシーケンスパラメータセットRBSPが非アクティブ化されるまで、特定の値のVOIdxに対して、このサブセットシーケンスパラメータセットRBSPは、アクティブテクスチャMVCシーケンスパラメータセットRBSPと呼ばれる。特定の値のseq_parameter_set_idを伴うサブセットシーケンスパラメータセットRBSPは、サブセットシーケンスパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
次の仕様では、特定の値のVOIdxに対するアクティブ化ビューバッファリング期間SEIメッセージが、次のように規定される。
− 3DVCスケーラブルネスト化SEIメッセージに含まれ、関連するビットストリームサブセット中の最大のVOIdxがその特定の値のVOIdxに等しい動作点と関連付けられる、1つ以上のバッファリング期間SEIメッセージをアクセス単位が含む場合、復号順序でこれらのバッファリング期間SEIメッセージの最初のメッセージが、その特定の値のVOIdxに対するアクティブ化ビューバッファリング期間SEIメッセージである。
− それ以外の場合、アクセス単位は、その特定の値のVOIdxに対するアクティブ化ビューバッファリング期間SEIメッセージを含まない。
特定の値のseq_parameter_set_idを伴うサブセットシーケンスパラメータセットRBSP(nal_unit_typeが15に等しい)がまだ、VOIdxMax未満の特定の値のVOIdxに対するアクティブビューMVCシーケンスパラメータセットRBSPではなく、サブセットシーケンスパラメータセットRBSPがピクチャパラメータセットRBSPのアクティブ化によって参照され(その値のseq_parameter_set_idを使用して)、ピクチャパラメータセットRBSPが、nal_unit_typeが21に等しくその特定の値のVOIdxを伴うコード化スライスNAL単位によってアクティブ化される(ピクチャパラメータセットRBSPが、特定の値のVOIdxに対するアクティブビューピクチャパラメータセットRBSPになる)場合、ビデオデコーダ30は、その特定の値のVOIdxを伴うビュー成分に対するサブセットシーケンスパラメータセットRBSPをアクティブ化する。特定の値のVOIdxに対して別のMVCシーケンスパラメータセットRBSPがアクティブビューMVCシーケンスパラメータセットRBSPになるときに、又は、特定の値のVOIdx以下のVOIdxMaxを伴うアクセス単位を復号するときに、このサブセットシーケンスパラメータセットRBSPが非アクティブ化されるまで、特定の値のVOIdxに対して、このサブセットシーケンスパラメータセットRBSPは、アクティブビューMVCシーケンスパラメータセットRBSPと呼ばれる。特定の値のseq_parameter_set_idを伴うサブセットシーケンスパラメータセットRBSPは、サブセットシーケンスパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
特定の値のseq_parameter_set_idを伴うサブセットシーケンスパラメータセットRBSP(nal_unit_typeが15に等しい)がまだ、VOIdxMax未満の特定の値のVOIdxに対するアクティブビューMVCシーケンスパラメータセットRBSPではなく、サブセットシーケンスパラメータセットRBSPが、3DVスケーラブルネスト化SEIメッセージに含まれ特定の値のVOIdxと関連付けられるアクティブ化ビューバッファリング期間SEIメッセージによって参照される場合(その値のseq_parameter_set_idを使用して)、ビデオデコーダ30は、特定の値のVOIdxを伴うビュー成分に対してこのサブセットシーケンスパラメータセットRBSPをアクティブ化する。特定の値のVOIdxに対して別のMVCシーケンスパラメータセットRBSPがアクティブビューMVCシーケンスパラメータセットRBSPになるときに、又は、特定の値のVOIdx以下のVOIdxMaxを伴うアクセス単位を復号するときに、このサブセットシーケンスパラメータセットRBSPが非アクティブ化されるまで、特定の値のVOIdxに対して、このサブセットシーケンスパラメータセットRBSPは、アクティブビューMVCシーケンスパラメータセットRBSPと呼ばれる。特定の値のseq_parameter_set_idを伴うサブセットシーケンスパラメータセットRBSPは、サブセットシーケンスパラメータセットRBSPのアクティブ化の前に、復号プロセスに対して利用可能であるべきである。
H.264/AVCに対する付録A又は付録H又は提案された付録Iにおいて規定されないprofile_idcの値を含むMVCシーケンスパラメータセットRBSPは、アクティブピクチャパラメータセットRBSP、又はアクティブビューピクチャパラメータセットRBSP、又はアクティブテクスチャピクチャパラメータセットRBSPとして、(その値のseq_parameter_set_idを使用して)ピクチャパラメータセットRBSPのアクティブ化によって参照されるべきではなく、又は、(その値のseq_parameter_set_idを使用して)バッファリング期間SEIメッセージによって参照されるべきではない。H.264/AVCに対する付録A又は付録H又は提案された付録Iにおいて規定されないprofile_idcの値を含むMVCシーケンスパラメータセットRBSPは、H.264/AVCに対する付録A又は付録H又は提案された付録Iにおいて規定されるプロファイルのための復号において無視される。
以下の制約に従うことが、ビットストリーム適合の要件である。
− VOIdxの各々の特定の値に対して、コード化ビデオシーケンスの全てのコード化NAL単位(1、5、20又は21に等しいnal_unit_typeを伴う)は、同じ値のseq_parameter_set_idを(pic_parameter_set_idの値によって参照されるピクチャパラメータセットRBSPを介して)参照すべきである。
− MVCスケーラブルネスト化SEIメッセージ中に含まれないバッファリング期間SEIメッセージ中のseq_parameter_set_idの値は、同じアクセス単位中で1又は5に等しいnal_unit_typeを伴うコード化スライスNAL単位によって(pic_parameter_set_idの値を介して)参照される、ピクチャパラメータセットRBSP中のseq_parameter_set_idの値と同一であるべきである。
− MVCスケーラブルネスト化SEIメッセージ中に含まれ特定の値のVOIdxと関連付けられるバッファリング期間SEIメッセージ中のseq_parameter_set_idの値は、同じアクセス単位中で1、5、又は20に等しいnal_unit_typeを伴いその特定の値のVOIdxを伴うコード化スライスNAL単位によって(pic_parameter_set_idの値を介して)参照される、ピクチャパラメータセットRBSP中のseq_parameter_set_idの値と同一であるべきである。
− 3DVCスケーラブルネスト化SEIメッセージ中に含まれ特定の値のVOIdxと関連付けられるバッファリング期間SEIメッセージ中のseq_parameter_set_idの値は、同じアクセス単位中で21に等しいnal_unit_typeを伴いその特定の値のVOIdxを伴うコード化スライスNAL単位によって(pic_parameter_set_idの値を介して)参照される、ピクチャパラメータセットRBSP中のseq_parameter_set_idの値と同一であるべきである。
異なる値のVOIdxに対するアクティブビューMVCシーケンスパラメータセットRBSPは、同じMVCシーケンスパラメータセットRBSPであり得る。特定の値のVOIdxに対するアクティブMVCシーケンスパラメータセットRBSP及びアクティブビューMVCシーケンスパラメータセットRBSPは、同じMVCシーケンスパラメータセットRBSPであり得る。
異なる値のVOIdxに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPは、同じMVCシーケンスパラメータセットRBSPであり得る。特定の値のVOIdxに対するアクティブMVCシーケンスパラメータセットRBSP及びアクティブテクスチャMVCシーケンスパラメータセットRBSPは、同じMVCシーケンスパラメータセットRBSPであり得る。特定の値のVOIdxに対するアクティブビューMVCシーケンスパラメータセットRBSP及び特定の値のVOIdxに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPは、同じMVCシーケンスパラメータセットRBSPであり得る。
コード化ピクチャに対するアクティブMVCシーケンスパラメータセットRBSPがシーケンスパラメータセットRBSPである場合、このコード化ピクチャを含み、アクティブMVCシーケンスパラメータセットRBSPに対するseq_parameter_set_idの値を伴う、コード化ビデオシーケンス中の任意のシーケンスパラメータセットRBSPは、アクティブMVCシーケンスパラメータセットRBSPと同じコンテンツを有するべきである。
コード化ピクチャに対するアクティブMVCシーケンスパラメータセットRBSPがサブセットシーケンスパラメータセットRBSPである場合、このコード化ピクチャを含み、アクティブMVCシーケンスパラメータセットRBSPに対するseq_parameter_set_idの値を伴う、コード化ビデオシーケンス中の任意のサブセットシーケンスパラメータセットRBSPは、アクティブMVCシーケンスパラメータセットRBSPと同じコンテンツを有するべきである。
各々の特定の値のVOIdxに対して、次のことがあてはまる。
コード化ピクチャに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPがシーケンスパラメータセットRBSPである場合、このコード化ピクチャを含み、アクティブテクスチャMVCシーケンスパラメータセットRBSPに対するseq_parameter_set_idの値を伴う、コード化ビデオシーケンス中の任意のシーケンスパラメータセットRBSPは、アクティブテクスチャMVCシーケンスパラメータセットRBSPと同じコンテンツを有するべきである。
コード化ピクチャに対するアクティブテクスチャMVCシーケンスパラメータセットRBSPがサブセットシーケンスパラメータセットRBSPである場合、このコード化ピクチャを含み、アクティブテクスチャMVCシーケンスパラメータセットRBSPに対するseq_parameter_set_idの値を伴う、コード化ビデオシーケンス中の任意のサブセットシーケンスパラメータセットRBSPは、アクティブテクスチャMVCシーケンスパラメータセットRBSPと同じコンテンツを有するべきである。
コード化ピクチャに対するアクティブビューMVCシーケンスパラメータセットRBSPがサブセットシーケンスパラメータセットRBSPであり、このコード化ピクチャを含み、アクティブビューMVCシーケンスパラメータセットRBSPに対するseq_parameter_set_idの値を伴う、コード化ビデオシーケンス中の任意のサブセットシーケンスパラメータセットRBSPが、アクティブビューMVCシーケンスパラメータセットRBSPと同じコンテンツを有するべきである。
ピクチャパラメータセットRBSP又はMVCシーケンスパラメータセットRBSPがビットストリーム内で搬送される場合、これらは、ピクチャパラメータセットRBSP又はMVCシーケンスパラメータセットRBSPをそれぞれ含む、NAL単位に対する順序の制約を課す。そうではない場合(ピクチャパラメータセットRBSP又はMVCシーケンスパラメータセットRBSPが、H.264ビデオコード化規格に対するこの勧告|国際規格において規定されない他の手段によって搬送される場合)、それらは、これらの制約に従うようなタイムリーな方式で復号プロセスに対して利用可能であるべきである。
存在する場合、シーケンスパラメータセット拡張RBSPは、シーケンスパラメータセットRBSPと同様の機能を有するパラメータを含む。シーケンスパラメータセット拡張RBSPのシンタックス要素に対する制約を確立する目的で、及び、シーケンスパラメータセット拡張RBSPのアクティブ化を決定する目的で、シーケンスパラメータセット拡張RBSPは、同じ値のseq_parameter_set_idを伴う先行するシーケンスパラメータセットRBSPの一部であると見なされるべきである。シーケンスパラメータセットRBSPのアクティブ化の前に、同じ値のseq_parameter_set_idを伴うシーケンスパラメータセット拡張RBSPに先行しないシーケンスパラメータセットRBSPが存在する場合、シーケンスパラメータセット拡張RBSP及びそのシンタックス要素は、アクティブMVCシーケンスパラメータセットRBSPに対しては存在しないと見なされるべきである。シーケンスパラメータセット拡張RBSPのコンテンツは、付録Iにおいて規定される1つ又は複数のプロファイルに準拠するコード化ビデオシーケンスの、付録Aにおいて規定されるプロファイルの1つ又は複数に準拠する基本テクスチャビューが復号されるときにのみ、適用される。サブセットシーケンスパラメータセットRBSPは、シーケンスパラメータセット拡張RBSPに先行するべきではない。
シーケンスパラメータセット拡張RBSPは、サブセットシーケンスパラメータセットRBSPの一部であると見なされるべきではなく、サブセットシーケンスパラメータセットRBSPは、シーケンスパラメータセット拡張RBSPに先行してはならない。
VOIdxMaxに等しいVOIdxを伴うビュー成分に対して、MVCシーケンスパラメータセット及びピクチャパラメータセット中のシンタックス要素の値(及びシンタックス要素から導出される変数の値)と他のシンタックス要素との関係で表現される全ての制約は、アクティブMVCシーケンスパラメータセット及びアクティブピクチャパラメータセットにのみ適用される制約の表現である。VOIdxMax未満の特定の値のVOIdxを伴うビュー成分に対して、MVCシーケンスパラメータセット及びピクチャパラメータセット中のシンタックス要素の値(及びシンタックス要素から導出される変数の値)と他のシンタックス要素との関係で表現される全ての制約は、特定の値のVOIdxに対するアクティブビューMVCシーケンスパラメータセット及びアクティブビューピクチャパラメータセットにのみ適用される制約の表現である。
ビットストリーム中で決してアクティブ化されない、付録A、付録H、又は提案された付録Iにおいて規定されるprofile_idc値の1つの値に等しいprofile_idcを有する任意のMVCシーケンスパラメータセットRBSPが存在する場合(即ち、MVCシーケンスパラメータセットRBSPが決してアクティブMVCシーケンスパラメータセット又はアクティブビューMVCシーケンスパラメータセットにならない場合)、MVCシーケンスパラメータセットRBSPのシンタックス要素は、別様には適合するビットストリームにおいてMVCシーケンスパラメータセットRBSPが参照によってアクティブ化されれば規定された制約に適合するであろう値を有する。ビットストリーム中で決してアクティブ化されない任意のピクチャパラメータセットRBSPが存在する場合(即ち、ピクチャパラメータセットRBSPが決してアクティブピクチャパラメータセット又はアクティブビューピクチャパラメータセットにならない場合)、ピクチャパラメータセットRBSPのシンタックス要素は、別様には適合するビットストリームにおいてピクチャパラメータセットRBSPが参照によってアクティブ化されれば規定された制約に適合するであろう値を有する。
VOIdxMaxに等しいVOIdxを伴うビュー成分に対して、復号プロセスの動作の間、アクティブピクチャパラメータセット及びアクティブMVCシーケンスパラメータセットのパラメータの値が、有効であると見なされるべきである(一例では、復号のときに適用されるべきであることを意味する)。VOIdxMax未満の特定の値のVOIdxを伴うビュー成分に対して、特定の値のVOIdxに対するアクティブビューピクチャパラメータセット及びアクティブビューMVCシーケンスパラメータセットのパラメータの値が、有効であると見なされるべきである。アクセス単位全体、又はVOIdxMaxに等しいVOIdxを伴うビュー成分に適用される、SEIメッセージの解釈のために、同じアクセス単位に対するアクセスピクチャパラメータセット及びアクティブMVCシーケンスパラメータセットのパラメータの値が、SEIメッセージのセマンティクスにおいて別様に規定されていない限り、有効であると見なされるべきである。VOIdxMax未満の特定の値のVOIdxを伴うビュー成分に適用される、SEIメッセージの解釈のために、同じアクセス単位のための特定の値のVOIdxに対するアクティブビューピクチャパラメータセット及びアクティブビューMVCシーケンスパラメータセットのパラメータの値が、SEIメッセージのセマンティクスにおいて別様に規定されていない限り、有効であると見なされるべきである。
任意のアクティブMVC SPS又はアクティブビューMVC SPSに対して、MVCのSPS拡張におけるシンタックス要素の部分は、このSPSを参照する深度ビューのみに適用されるが、MVC SPS拡張におけるシンタックス要素の幾つかの他の部分は、このSPSを参照する深度ビューと対応するテクスチャビューの両方にまとめて適用される。より具体的には、MVCのSPS拡張のビュー依存性情報は深度ビューにのみ適用され、レベルの定義は動作点にまとめて適用され、動作点の各々は、深度ビューと対応するテクスチャビューの両方を含む。
幾つかの例では、本開示の技法は、深度ビューを含むビットストリームのコード化の間に、ビュー順序インデックス値に対するテクスチャピクチャパラメータセット(PPS)又はテクスチャMVCシーケンスパラメータセット(SPS)をビデオデコーダ30がアクティブ化することを可能にし得る。
幾つかの例では、ビデオデコーダ30は、ビットストリームのコード化の間に、アクティブPPSをアクティブ化し、ビットストリームのコード化の間に、ビュー順序インデックス値に対するアクティブビューPPSをアクティブ化し、ビットストリームのコード化の間に、ビュー順序インデックス値に対するビューMVC SPSをアクティブ化し、かつビットストリームのコード化の間に、アクティブMVC SPSをアクティブ化することができる。
幾つかの例では、テクスチャPPSをアクティブ化することは、PPS未加工バイトシーケンスペイロード(RBSP)がビュー順序インデックス値に対するアクティブテクスチャPPSではなく、PPS RBSPが、テクスチャ成分に属するとともにそのビュー順序インデックス値を指定するコード化スライスネットワーク抽象レイヤ(NAL)単位によって参照されるとき、ビュー順序インデックス値を指定する深度成分に対してPPS RBSPをアクティブ化すること、PPS RBSPのアクティブ化を伴い得る。ビデオデコーダ30はまた、上で説明されたようにテクスチャPPSとテクスチャMVC SPSとをアクティブ化することができる。
いずれにしても、ビデオスライスがイントラコード化(I)スライスとしてコード化されるとき、予測ユニット81のイントラ予測ユニット84は、アクティブパラメータセットを考慮して、信号伝達されたイントラ予測モード及び現在のピクチャの前に復号されたブロックからのデータに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成することができる。ピクチャがインターコード化(即ちB、P又は一般化PB(GPB))スライスとしてコード化されるとき、予測ユニット81の動き補償ユニット82は、やはりアクティブパラメータセットを考慮して、エントロピー復号ユニット80から受信された動きベクトル及び他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックの予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照ピクチャリスト、リスト0及びリスト1(又は合成リスト、リストc)を構築することができる。
動き補償ユニット82は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックのための予測情報を決定し、予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。例えば、動き補償ユニット82は、ビデオスライスのビデオブロックをコード化するために使用される予測モード(例えば、イントラ又はインター予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)と、スライスの参照ピクチャリストのうちの1つ又は複数に対する構築情報と、スライスの各インター符号化ビデオブロックの動きベクトルと、スライスの各インターコード化ビデオブロックのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素の幾つかを使用する。
逆量子化ユニット86は、ビットストリーム内で提供されエントロピー復号ユニット80によって復号された量子化変換係数を、逆量子化(inverse quantize)、即ち逆量子化(de-quantize)する。逆量子化プロセスは、ビデオスライス内のビデオブロックごとにビデオエンコーダ20によって計算される量子化パラメータを使用して量子化の程度を決定することと、同様に、適用すべき逆量子化の程度を決定することとを含み得る。
逆変換処理ユニット88は、画素領域において残差ブロックを生成するために、逆変換、例えば、逆DCT、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。逆変換処理ユニット88は、変換が残差データに適用された方式を決定することができる。
動き補償ユニット82が、動きベクトル及び他のシンタックス要素に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器90は、この加算演算を実行する1つ又は複数のコンポーネントを表す。所望される場合、ブロック歪みを除去するために、復号ブロックをフィルタリングするためのデブロッキングフィルタも適用され得る。画素遷移を平滑化するために、又は別様にビデオ品質を改善するために、(コード化ループ内又はコード化ループ後の)他のループフィルタも使用され得る。次いで、所与のピクチャ内の復号ビデオブロックは、その後の動き補償に使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照ピクチャメモリ92はまた、図1の表示装置32などの表示装置上に後で提示するための、復号されたビデオを記憶する。
本開示で説明される技法の他の態様は、ビデオコード化機器が、復号ピクチャバッファからテクスチャ成分と深度成分とを別々に除去することを可能にすることによって、深度成分及びテクスチャ成分の別々の取扱を促すことができる。復号ピクチャバッファは、現在のビュー成分をコード化する際に使用するための参照ピクチャを記憶することが可能な、メモリ又は他のコンピュータ可読媒体を指す。復号ピクチャバッファは、図3の例では参照ピクチャメモリ92として示される。本開示に記載される技法は、テクスチャ成分と深度成分の別々の取扱を可能にするので、ビデオデコーダ30は、ビュー成分(及び従って、ビュー成分の深度成分及びテクスチャ成分)がMVCにおけるビューの扱いを仮定して同じ参照ピクチャを使用してコード化される従来の3DVCとは逆に、同じビュー成分の深度成分をコード化するときに使用されるものとは異なる参照ピクチャを使用して、ビュー成分のテクスチャ成分を復号することができる。結果として、参照ビュー成分の深度成分が、同じ参照ビュー成分のテクスチャ成分よりも前に復号ピクチャバッファから除去され得、かつ参照ビュー成分のテクスチャ成分が、同じ参照ビュー成分の深度成分よりも前に復号ピクチャバッファから除去され得る、例があり得る。
動作において、ビデオデコーダ30は、参照ピクチャメモリ92に深度成分を記憶し、ビュー依存性を分析して深度成分がビュー間予測のために使用されるかどうかを決定することによって、本開示で説明される技法を実行することができる。ビデオデコーダ30は次いで、深度成分がビュー間予測のために使用されないと決定したことに応答して、参照ピクチャメモリ92から深度成分を除去することができる。即ち、ビデオデコーダ30は、深度成分がビュー間予測のために使用されないと決定したことに応答して、同じ参照ビュー成分のテクスチャ成分を除去することなく、参照ピクチャメモリ92から参照ビュー成分の深度成分を除去することができる。ビデオデコーダ30は、深度成分を除去する前に、深度成分がターゲット出力ビューに属さず、深度成分が0に等しい値を有するネットワーク中層レイヤ参照識別コードと関連付けられる(深度成分をカプセル化するNAL単位のコンテンツがピクチャ間予測のための参照ピクチャを構築するために使用されないことを意味する)と決定することによって、除去に適しているものとしてこの深度成分を評価することができる。
即ち、3DVCでは(これはやはり、MVCプラス深度又はMVC+Dとも呼ばれ得る)、各ビューのテクスチャ部分又は深度部分は、固有の参照ピクチャ標識プロセスを有する。ターゲット出力ビューに属するテクスチャ成分及び深度成分は、同時に出力され得る。
ターゲット出力ビューに属さず0に等しいnal_ref_idcを有する深度成分に対して、ビデオデコーダ30は、3DVプロファイルを含むサブセットSPSのMVCのSPS拡張において信号伝達されるビュー依存性を分析することによって、深度成分が決してビュー間参照のために使用されずアクティブビューMVCシーケンスパラメータセットRBSPとして現在アクティブ化されたら、DPBから深度成分を除去することができる。やはり、本開示におけるMVCへの言及は、上述のようなH.264の提案された拡張である、3DVCの状況におけるMVCを指す。
例えば、本開示の技法は、ビデオコーダ(ビデオエンコーダ20及び/又はビデオデコーダ30の両方又はいずれかを指し得る)が、復号ピクチャバッファに深度成分を記憶することを可能にでき、深度成分は、ターゲット出力ビューに属さず、0に等しいnal_ref_idcを有する。更に、ビデオコーダは、ビュー依存性を分析して、深度成分が決してビュー間参照のために使用されないかどうかを決定することができる。加えて、ビデオコーダは、深度成分がビュー間参照のために決して使用されないと決定したことに応答して、復号ピクチャバッファから深度成分を除去することを備え得る。ビュー依存性は、サブセットSPSのMVCシーケンスパラメータセット(SPS)拡張、3DVプロファイルを含むサブセットSPS、アクティブビューMVCシーケンスパラメータセットとして現在アクティブ化されているサブセットSPSにおいて信号伝達され得る。ビデオエンコーダは、深度成分を符号化することができる。代替的に、ビデオコーダは、深度成分を復号することができる。
本技法の様々な態様が、ビデオエンコーダ20又はビデオデコーダ30の1つに関して上で説明されたが、本技法は、幾つかの例では、同一の又は逆の方式で、ビデオエンコーダ20とビデオデコーダ30の両方によって実施され得る。結果として、本技法は概して、ビデオエンコーダ20とビデオデコーダ30の両方又は1つのみを指すために本開示において使用される用語を代表し得る、ビデオコーダによって実施され得る。従って、これらの技法は、この点において限定されるべきではなく、概して任意のビデオコーダによって実施され得る。
図4は、カプセル化ユニット21をより詳しく示すブロック図である。図4の例では、カプセル化ユニット21は、ビデオ入力インターフェース100と、オーディオ入力インターフェース102と、ビデオファイル作成ユニット104と、ビデオファイル出力インターフェース106とを含む。ビデオファイル作成ユニット104は、この例では、補助強化情報(SEI)メッセージ生成ユニット108と、ビュー識別子(ID)割当てユニット110と、表現作成ユニット112と、動作点作成ユニット114とを含む。
ビデオ入力インターフェース100及びオーディオ入力インターフェース102は、それぞれ符号化ビデオデータと符号化オーディオデータとを受信する。図1の例には示されないが、発信源機器12はまた、それぞれオーディオデータを生成しオーディオデータを符号化するための、オーディオ発信源とオーディオエンコーダとを含み得る。カプセル化ユニット21は次いで、符号化オーディオデータと符号化ビデオデータとをカプセル化して、ビデオファイルを形成することができる。ビデオ入力インターフェース100及びオーディオ入力インターフェース102は、データが符号化されると、符号化ビデオデータと符号化オーディオデータとを受信することができ、又は、符号化ビデオデータと符号化オーディオデータとをコンピュータ可読媒体から取り出すことができる。符号化ビデオデータと符号化オーディオデータとを受信すると、ビデオ入力インターフェース100及びオーディオ入力インターフェース102は、ビデオファイルへの組立のために符号化ビデオデータと符号化オーディオデータとをビデオファイル作成ユニット104に渡す。
ビデオファイル作成ユニット104は、機能と、機能に起因する手順とを実行するように構成された、ハードウェア、ソフトウェア、及び/又はファームウェアを含む制御ユニットに対応し得る。制御ユニットは、概して、カプセル化ユニット21に起因する機能を更に実行し得る。ビデオファイル作成ユニット104がソフトウェア及び/又はファームウェアで実施される例では、カプセル化ユニット21は、ビデオファイル作成ユニット104のための命令を備えるコンピュータ可読媒体と、命令を実行するための処理ユニットとを含み得る。ビデオファイル作成ユニット104のサブユニット(この例では、SEIメッセージ生成ユニット108、ビューID割当てユニット110、表現作成ユニット112、及び動作点作成ユニット114)の各々は、個々のハードウェアユニット及び/又はソフトウェアモジュールとして実装されてよく、機能的に統合され、又は追加のサブユニットへと更に分離され得る。
ビデオファイル作成ユニット104は、例えば、1つ又は複数のマイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、又はそれらの任意の組合せなど、任意の好適な処理ユニット又は処理回路に対応し得る。ビデオファイル作成ユニット104は、SEIメッセージ生成ユニット108、ビューID割当てユニット110、表現作成ユニット112、及び動作点作成ユニット114のいずれか又は全てのための命令を記憶する非一時的コンピュータ可読媒体、及び命令を実行するためのプロセッサを更に含み得る。
概して、ビデオファイル作成ユニット104は、受信されたオーディオとビデオデータとを含む1つ又は複数のビデオファイルを作成し得る。ビデオファイル作成ユニット104は、2つ以上のビューを含むマルチメディアコンテンツのためのmedia presentation description(MPD)を構築し得る。他の例では、ビデオファイル作成ユニット104は、マルチメディアコンテンツのためのMPDのデータと同様のデータを記憶するマニフェストを作成し得る。SEIメッセージ生成ユニット108は、SEIメッセージを生成するユニットを表し得る。ビューID割当てユニット110は、マルチメディアコンテンツのビューの各々にビュー識別子を割り当てることができる。表現作成ユニット112は、マルチメディアコンテンツのための1つ又は複数の表現を構築することができ、それらの表現の各々は、マルチメディアコンテンツのためのビューのうちの1つ又は複数を含み得る。幾つかの例では、ビューID割当てユニット110は、表現中に含まれるビューのビュー識別子の最大値と最小値とを示すデータをMPD及び/又は表現(例えば、表現についてのヘッダデータ)中に含め得る。更に、表現作成ユニット112は、より大きいビューIDが、より小さいビューIDを有するビューに対するカメラ視点の右側のカメラ視点を有するビューに対応するのか、又は左側のカメラ視点を有するビューに対応するのかを示す情報を、MPD中で与え得る。
幾つかの例では、異なるフレームレート、異なるビットレート、異なる符号化方式、又は他の差など、様々な符号化特性を使用して同じビューが符号化され得る。表現作成ユニット112は、共通の表現中に含まれる各ビューが同じ符号化特性に従って符号化されることを保証し得る。このようにして、表現のためのMPD及び/又はヘッダデータは、表現中の全てのビューに適用される、表現の特性(又は属性)のセットを信号伝達し得る。その上、表現作成ユニット112は、符号化特性が潜在的に異なろうとも、同じビューを含む複数の表現を作成し得る。幾つかの例では、表現作成ユニット112は、マルチメディアコンテンツの各ビューを個々の表現にカプセル化し得る。そのような例において、2つ以上のビューを出力するために、宛先機器14はマルチメディアコンテンツの2つ以上の表現を要求し得る。
動作点作成ユニット114は、マルチメディアコンテンツの1つ又は複数の表現の動作点を作成し得る。概して、動作点は、出力のターゲットにされる表現中のビューのサブセットに対応し、その場合、ビューの各々は共通の時間レベルを共有する。H.264/AVC仕様書によって規定されているように、動作点は、ターゲット時間レベルを表すtemporal_id値、及びターゲット出力ビューを表すview_id値のセットによって識別される。1つの動作点がビットストリームサブセットに関連付けられ、ビットストリームサブセットは、ターゲット出力ビューと、ターゲット出力ビューが依存する全ての他のビューとからなり、入力としてtemporal_id値に等しいtIdTargetと、view_id値のセットからなるviewIdTargetListとを伴う、H.8.5.3項において規定されているサブビットストリーム抽出プロセスを使用して導出される。2つ以上の動作点が、同じビットストリームサブセットに関連付けられ得る。本仕様書で「動作点が復号される」と述べられているとき、それは、動作点に対応するビットストリームサブセットの復号と、ターゲット出力ビューの後続の出力とを指す。
SEIメッセージ生成ユニット108は、本開示で説明される技法に従って、ビュー成分のテクスチャ成分と深度成分の両方、又は、ビュー成分の深度成分のみに適用される、ネスト化補助情報(SEI)メッセージを決定することができる。ネスト化されたSEIメッセージが深度成分のみに適用されることを可能にすることによって、本技法のこれらの態様はやはり、テクスチャ成分及び深度成分の別々の取扱を促すことができる。
SEIメッセージ生成ユニット108は、本技法のこれらの態様を実行して、マルチビュービデオデータのビュー成分のコード化に適用される補助強化情報メッセージを決定することができる。SEIメッセージ生成ユニット108は次いで、ビュー成分の深度成分を処理するときに補助強化情報メッセージに加えて適用される、ネスト化された補助強化情報メッセージを決定することができる。SEIメッセージ生成ユニット108は次いで、補助強化情報メッセージ及びネスト化された補助強化情報メッセージに基づいて、ビュー成分の深度成分を符号化することができる。
一般に、ネスト化されたSEIメッセージは、ネスト化されたSEIメッセージがビュー成分のテクスチャ成分と深度成分の両方に適用されるのか、又は深度成分のみに適用されるのかを示す、フラグ又は他の識別子を含む。従って、幾つかの例では、SEIメッセージ生成ユニット108は、ビュー成分の深度成分を処理するときのみ、補助強化情報メッセージに加えてネスト化された補助強化情報メッセージが適用されると決定することができ、補助強化情報メッセージ及びネスト化された補助強化情報メッセージに基づいて、ビュー成分のテクスチャ成分ではなく、ビュー成分の深度成分のみを処理する。代替的に、SEIメッセージ生成ユニット108は、ビュー成分のテクスチャ成分を処理するとき、補助強化情報メッセージに加えてネスト化された補助強化情報メッセージが適用されると決定することができ、補助強化情報メッセージ及びネスト化された補助強化情報メッセージに基づいて、ビュー成分のテクスチャ成分をコード化する。やはり、本技法のこれらの態様は、ビュー成分の深度成分及びテクスチャ成分の別々の取扱又は処理をやはり促す。
このフラグは、深度成分を含む動作点に対するSEIメッセージのネスト化のためのSEIメッセージを表し得る、「3DVスケーラブルネスト化SEIメッセージ」と呼ばれるSEIメッセージに対して定義され得る。次の表は、例示的な3DVスケーラブルネスト化SEIメッセージのシンタックスを示す。
上の表では、1に等しいsei_view_applicability_flag[i]は、sei_view_id[i]に等しいview_idを伴うビューのテクスチャ成分と深度成分の両方にネスト化されたSEIメッセージが適用されることを示す。0に等しいsei_view_applicability_flag[i]は、sei_view_id[i]に等しいview_idを伴うビューの深度成分にのみネスト化されたSEIメッセージが適用されることを示す。
上の表では、1に等しいsei_op_view_applicability_flag[i]は、sei_op_view_id[i]に等しいview_idを伴うビューのテクスチャ成分と深度成分の両方にネスト化されたSEIメッセージが適用されることを示す。0に等しいsei_op_view_applicability_flag[i]は、sei_op_view_id[i]に等しいview_idを伴うビューの深度成分にのみネスト化されたSEIメッセージが適用されることを示す。
3DVスケーラブルネスト化SEIメッセージの他のシンタックス要素のセマンティクスは、MVCスケーラブルネスト化SEIメッセージのセマンティクスと同じである。
代替的に、SEIメッセージが1つのビュー成分に対してネスト化される場合、SEIメッセージは、このビュー成分のテクスチャ成分と深度成分の両方に対してネスト化され得る。この場合、SEIメッセージ生成ユニット108は、MVCスケーラブルネスト化SEIメッセージのシンタックスと同様の、3DVスケーラブルネスト化SEIメッセージのシンタックスと、MVCスケーラブルネスト化SEIメッセージのセマンティクスと同様の、3DVスケーラブルネスト化SEIメッセージのセマンティクスとを定義する。前に定義されたように、3DVスケーラブルネスト化SEIメッセージのセマンティクスでは、ビュー成分は、テクスチャ成分と深度成分とを含み得る(かつそれらからなり得る)。H.264/AVCに対する3DVC拡張に言及し得る、提案された付録Iの状況では、MVCスケーラブルネスト化SEIメッセージのセマンティクスは、次のように変更される。MVCスケーラブルネスト化SEIメッセージのセマンティクスは、「ビュー成分」の全てのインスタンスが「テクスチャ成分」によって置き換えられた状態で適用される。次の表は、MVCスケーラブルネスト化SEIメッセージのシンタックスを表す。
深度成分とテクスチャ成分の別々の取扱を更に支援するために、SEIメッセージ生成ユニット108は、第1のシンタックス要素と、第2のシンタックス要素と、第3のシンタックス要素とを含む3DビュースケーラビリティSEIメッセージと呼ばれるSEIメッセージを生成することができ、第1のシンタックス要素は、動作点が深度成分を含むかどうかを示す。動作点が深度成分を含む場合、SEIメッセージ生成ユニット108は、動作点のターゲット出力ビューが直接依存する深度成分の数を示すように、第2のシンタックス要素を定義し、動作点のターゲット出力ビューが直接依存する深度成分を識別するように、第3のシンタックス要素を定義することができる。
幾つかの例では、動作点は、動作点の第1のサブセットと動作点の第2のサブセットとを含んでよく、第1のサブセット中の各動作点はテクスチャ成分のみを含み、第2のサブセット中の各動作点は深度成分を含む。SEIメッセージ生成ユニット108は次いで、3Dビデオコード化と関連付けられる所与の値とプロファイル識別子が等しいと決定し、プロファイル識別子が所与の値に等しいと決定したことに応答して、サブセットSPSが第1のSPS拡張と第2のSPS拡張とを含むように、サブセットSPSを生成することができる。第1のSPS拡張は、第1のサブセットと、第1のサブセット中の動作点が属するレベルとを示すことができる。第2のSPS拡張は、第2のサブセットと、第2のサブセット中の動作点が属するレベルとを示すことができる。このようにして、本技法は、動作点が、テクスチャ成分及び深度成分に対して別々に、及びレベルによって定義されることを可能にし得る。
このようにして、ビデオコード化機器は、深度成分の特性を記述する第1のシーケンスレベル情報を決定し、ビデオデータの動作点の特性を記述する第2のシーケンスレベル情報を決定することができる。幾つかの例では、第1のシーケンスレベル情報は、深度成分のビュー依存性を規定する3次元ビデオコード化シーケンスパラメータセットを備える。その上、ビデオコード化機器は、3次元ビデオコード化シーケンスパラメータセットにおいて示される深度成分のための1つ又は複数の参照ピクチャを識別する、参照ピクチャリストを決定することができる。
幾つかの例では、第2のシーケンスレベル情報は、動作点に対して、ターゲット出力ビューのリストと、動作点を復号するときに復号されるべきテクスチャビューの数と、動作点を復号するときに復号されるべき深度ビューの数とを記述する、3次元ビデオコード化シーケンスパラメータセットを含み、復号されるべきテクスチャビューの数は、深度ビューの数とは異なる。幾つかの例では、ビデオコード化機器は更に、ターゲット出力ビューのリストにおいて規定されるターゲット出力ビューの各々に対して、利用可能な場合には1つ又は複数の深度成分を更に対象とすることができる。
幾つかの例では、ビデオコード化機器は、ビデオデータの一部として3次元ビデオコード化スケーラビリティ情報SEIメッセージを規定することができ、3次元ビデオコード化スケーラビリティ情報SEIメッセージは、深度成分を伴わない動作点の記述、又は深度成分を伴う動作点の記述を含む。幾つかの例では、SEIメッセージは、動作点が深度成分を含むかどうかの指示を含む。その上、幾つかの例では、SEIメッセージは、動作点が、動作点の復号のための、直接依存テクスチャビューとともに、深度成分と直接依存深度ビューとを含むかどうかの指示を含む。
本技法のこの態様は、深度成分及びテクスチャ成分の別々の取扱を利用して、動作点がマルチビュービデオコード化のためにビットストリームからより簡単に抽出されることを可能にし得る。動作点が深度を含むかどうかを信号伝達することによって、ビデオデコーダ30のようなビデオデコーダは、どの動作点がビデオデコーダ30の能力に最良に対応するかを決定することができる。例えば、ビデオデコーダ30は、深度を含まないビューを使用してマルチビュービデオコード化を実行するように最適化されてよく、左眼の視点と右眼の視点の両方が別々のピクチャとして提供される、マルチビュービデオデータを好む。ビデオデコーダ30は代替的に、深度ベースのマルチビュービデオデータに対して最適化され得るが、2つ以上のビューではなく単一のビューにしか対応しないことがある。符号化マルチビュービデオデータが深度を含み、かつ深度と、動作点のターゲット出力ビューが直接依存する深度成分の数とを含む場合に信号伝達することによって、ビデオデコーダ30は、ビデオデコーダ30の能力又は最適化に対応する動作点を選択することができる。
動作において、3Dビュースケーラビリティ情報SEIメッセージは、一例では、次の表に示されるように規定されるシンタックス要素を有し得る。
代替的に、3Dビュースケーラビリティ情報SEIメッセージは、次の表で定義されるようなシンタックス要素を有し得る。
3DVビュースケーラビリティメッセージの他のシンタックス要素のセマンティクスは、MVCビュースケーラビリティ情報SEIメッセージのセマンティクスと同じである。ビュースケーラビリティ情報SEI中のシンタックス要素は付録Hと場合と同じセマンティクスを有するが、深度成分を含む可能性があり得る動作点に適用される。
上の表では、1に等しいop_with_depth_flag[i]は、現在の動作点が深度ビューを含むことを示す。0に等しいop_with_depth_flag[i]は、現在の動作点が何ら深度ビューを含まないことを示す。num_directly_dependent_views[i]及びdirectly_dependent_view_id[i][j]は、動作点がテクスチャと深度の両方を含む(op_with_depth_flag[i]が0に等しい)場合、動作点のテクスチャ成分にのみ適用される。代替的に、2つのシンタックス要素の名前が、上と同じセマンティクスを伴って、それぞれnum_directly_dependent_texture_views[i]及びdirectly_dependent_texture_view_id[i][j]に変更される。3DVビュースケーラビリティメッセージの他のシンタックス要素のセマンティクスは、MVCビュースケーラビリティ情報SEIメッセージのセマンティクスと同じである。
上の表では、num_directly_dependent_depth_views[i]は、現在の動作点の表現内の、現在の動作点のターゲット出力ビューが直接依存する深度ビューの数を指定する。num_directly_dependent_depth_views[i]の値は、両端値を含む0〜16の範囲にあるべきである。
上の表では、directly_dependent_depth_view_id[i][j]は、現在の動作点の表現内の、現在の動作点のターゲット出力ビューの深度ビューが直接依存する第jの深度ビューのview_idを指定する。directly_dependent_depth_view_id[i][j]の値は、両端値を含む0〜1023の範囲にあるべきである。
他の例では、深度のみの動作点がこのSEIメッセージ中で信号伝達されてよく、従って、次の表で示されるように、指示op_texture_depth_idc[i]が追加される。
上の表では、0に等しいop_texture_depth_idc[i]は、現在の動作点がテクスチャ成分のみを含むことを示す。1に等しいシンタックス要素op_texture_depth_idc[i]は、現在の動作点がテクスチャ成分と深度成分の両方を含むことを示す。2に等しいシンタックス要素op_texture_depth_idc[i]は、現在の動作点が深度成分のみを含むことを示す。num_directly_dependent_views[i]及びdirectly_dependent_view_id[i][j]は、動作点がテクスチャを含む(op_texture_depth_idc[i]が0又は1に等しい)場合、動作点のテクスチャ成分にのみ適用される。num_directly_dependent_views[i]及びdirectly_dependent_view_id[i][j]は、動作点がテクスチャのみを含む(op_texture_depth_idc[i]が2に等しい)場合、動作点の深度成分にのみ適用される。
幾つかの例では、本開示の技法によれば、ビデオエンコーダは、第1のシンタックス要素と、第2のシンタックス要素と、第3のシンタックス要素とを含むSEIメッセージを生成することができる。第1のシンタックス要素は、動作点が深度成分を含むかどうかを示す。動作点が深度ビューを含む場合、第2のシンタックス要素は、動作点のターゲット出力ビューが直接依存する深度成分の数を示し、第3のシンタックス要素は、動作点のターゲット出力ビューが直接依存する深度成分を識別する。ビデオエンコーダは、深度成分を符号化することができる。
幾つかのそのような例では、ビデオエンコーダは、SEIメッセージが第4のシンタックス要素と第5のシンタックス要素とを含むようにSEIメッセージを生成することができる。動作点がテクスチャ成分と深度成分の両方を有する場合、第4のシンタックス要素は、いくつのテクスチャ成分が動作点と関連付けられるかを示し、第5のシンタックス要素は、動作点のターゲット出力ビューが直接依存するテクスチャ成分を識別する。
代替的に、ビデオエンコーダは、SEIメッセージ中で深度のみの動作点を信号伝達することができる。例えば、ビデオエンコーダは、動作点がテクスチャ成分のみを含むか、テクスチャ成分と深度成分の両方を含むか、又は深度成分のみを含むかを第1のシンタックス要素が示すように、SEIメッセージを生成することができる。
更に、幾つかの例では、本開示の技法は、第1のシンタックス要素と、第2のシンタックス要素と、第3のシンタックス要素とを含むSEIメッセージを受信するビデオデコーダを提供することができる。第1のシンタックス要素は、動作点が深度成分を含むかどうかを示す。動作点が深度ビューを含む場合、第2のシンタックス要素は、動作点のターゲット出力ビューが直接依存する深度成分の数を示し、第3のシンタックス要素は、動作点のターゲット出力ビューが直接依存する深度成分を定義する。ビデオデコーダは、深度成分を復号することができる。
更に、SEIメッセージは、第4のシンタックス要素と第5のシンタックス要素とを含み得る。動作点がテクスチャ成分と深度成分の両方を有する場合、第4のシンタックス要素は、いくつのテクスチャ成分が動作点と関連付けられるかを示し、第5のシンタックス要素は、動作点のターゲット出力ビューが直接依存するテクスチャ成分を識別する。
代替的に、SEIメッセージは、SEIメッセージ中で深度のみの動作点を信号伝達することができる。例えば、第1のシンタックス要素は、動作点がテクスチャ成分のみを含むか、テクスチャ成分と深度成分の両方を含むか、又は深度成分のみを含むかを示すことができる。
動作点、及び、テクスチャ成分及び深度成分の別々の取扱を潜在的に実現するための動作点の適合又は修正に関して、本開示で説明される様々な態様は、4つの異なる方法、即ち、1)SPSシンタックス要素を再使用すること、2)3DVCのSPS拡張において同様のシンタックス要素を使用すること、3)3DVCのSPS拡張に更なるシンタックス要素を追加すること、及び4)3DVCのSPS拡張において更なるシンタックス要素の代わりのセットを使用することで、深度成分を含む動作点のレベルの信号伝達を実現し得る。
第1の方法に関して、即ち、SPSシンタックス要素を再使用することに関して、MVCのSPS拡張におけるレベル定義シンタックス要素が、深度成分を含む動作点を示すために使用される。サブセットSPSの一部としてMVCのSPS拡張において信号伝達される各動作点は、3Dビデオプロファイルの1つに属するprofile_idcを含む。各動作点は出力ビューの数を指定し、出力ビューの各々は、テクスチャ成分と深度成分の両方を含む。動作点作成ユニット114は、この第1の方法を実施して、深度成分及びテクスチャ成分の別々の取扱を支援することができる。
第2の方法に関して、即ち、3DVのSPS拡張において同様のシンタックス要素を使用することに関して、MVCのSPS拡張においても、レベル定義シンタックス要素が、テクスチャ成分のみを含む動作点を示すために使用され得る。サブセットSPSの3DVCのSPS拡張では、同様のレベル定義が追加され、深度成分を含む動作点を示す。動作点作成ユニット114は、この第2の方法を実施して、深度成分及びテクスチャ成分の別々の取扱を支援することができる。次のシンタックス表は、同様のシンタックス要素を示す。
上のシンタックス表では、各動作点はnum_target_views_minus1[i][j]+1個のビューを有し、ビューの各々は、テクスチャ成分と深度成分の両方を含む。よって、各ビューがテクスチャ成分と深度成分の両方を含むこと、又は等価的に、各ビュー成分がテクスチャ成分と深度成分の両方を含むことを除いて、シンタックス要素のセマンティクスは、SPSのMVC拡張におけるものと同じである。
第3の方法に関して、即ち、3DVのSPS拡張において更なるシンタックス要素を追加することに関して、3DVのSPS拡張は、MVCのSPS拡張において信号伝達される動作点に加えて信号伝達される必要のある、テクスチャ成分を含む更なる動作点を追加することができる。この場合、動作点作成ユニット114は、次のシンタックス表で示されるように、現在の動作点が深度成分を含むかどうかを示すための、追加のフラグを追加することができる。
上の表では、1に等しいapplicable_op_with_depth_flag[i][j]は、現在の動作点(i及びjによって識別される)において、各ターゲット出力ビューがテクスチャ成分と深度成分の両方を含むことを示し、0に等しいこのフラグは、現在の動作点において、各ターゲット出力ビューに対してテクスチャのみを含むことを示す。3DVCスケーラブルネスト化SEIメッセージの他のシンタックス要素のセマンティクスは、MVCスケーラブルネスト化SEIメッセージのセマンティクスと同じである。
第4の方法に関して、即ち、3DVのSPS拡張における更なるシンタックス要素の代わりのセットを使用することに関して、深度のみの動作点があり得る。この例では、動作点作成ユニット114は、テクスチャのみ、深度のみ、及びテクスチャと深度の両方という、各動作点に対して3つの異なる場合を信号伝達するための、2ビットの指示を追加することができる。以下の表は、SPSの3DVC拡張に追加されるべきこれらの新たなシンタックス要素を示す。
上の表では、0に等しいapplicable_op_with_texture_depth_idc[i][j]は、現在の動作点(i及びjによって識別される)において、各ターゲット出力ビューがテクスチャ成分と深度成分の両方を含むことを示し、1に等しいapplicable_op_with_texture_depth_idc[i][j]は、現在の動作点が各ターゲット出力ビューに対してテクスチャのみを含むことを示し、2に等しいapplicable_op_with_texture_depth_idc[i][j]は、現在の動作点が各ターゲット出力ビューに対して深度のみを含むことを示す。代替的に、applicable_op_with_texture_depth_idc[i][j]は、ue(v)としてコード化され得る。
幾つかの例では、3DVの動作点に対して、例えば、アクティブテクスチャMVS SPS及びアクティブビューMVC SPSにおいて、2つの異なるビュー依存性が信号伝達されてよく、それは、深度ビューが異なるビュー間依存性を有し得るからである。その一例は、深度に対してビュー間の依存性がまったくない可能性があるという場合である。この場合、applicable_op_num_views_minus1[i][j]のセマンティクスは明確ではない。MVCの状況では、applicable_op_num_views_minus1[i][j]は、特定の動作点に対して復号されるべきビューの数を指定する。
幾つかの例では、同じビュー依存性が、テクスチャ及び深度に対して仮定され得る。テクスチャと深度のビュー依存性が同じである場合、このシンタックス要素(即ち、applicable_op_num_views_minus1[i][j])のセマンティクスは復号されるべきビューの数に合わせられたままであり得るが、各ビューがテクスチャと深度とを含むことが示唆される。
幾つかの例では、テクスチャと深度の両方に対して復号されるべきビューの正確な数が信号伝達される。次の表は、本技法のこの態様を組み込む、シーケンスパラメータセットの3DVC拡張のシンタックス要素を示す。
上の表では、applicable_op_num_views_minus1[i][j]プラス1は、level_idc[i]によって示されたレベルが適用される第jの動作点に対応するターゲット出力ビューを復号するために必要なテクスチャビューの数を指定する。applicable_op_num_views_depth_minus1[i][j]プラス1は、level_idc[i]によって示されたレベルが適用される第jの動作点に対応するターゲット出力ビューを復号するために必要な深度ビューの数を指定する。代替的に、applicable_op_num_views_depth_minus1[i][j]は追加されず、applicable_op_num_views_minus1[i][j]のセマンティクスが変更される。applicable_op_num_views_minus1[i][j]プラス1は、level_idc[i]によって示されたレベルが適用される第jの動作点に対応するターゲット出力ビューを復号するために必要なテクスチャビューの数と深度ビューの数とを指定する。
幾つかの例では、本開示の技法は、シーケンスパラメータセットにおいて、動作点に対して復号されるべきテクスチャビューの数と、動作点に対して復号されるべき深度ビューの数とを信号伝達することを実現する。テクスチャビューの数と深度ビューの数とを信号伝達することは、シーケンスパラメータセットにおいて、動作点に対して復号されるべきビューの数を示すシンタックス要素を生成することを備えてよく、ビューの各々は、テクスチャビューのうちの1つと深度ビューのうちの1つとを有する。テクスチャビューの数と深度ビューの数とを信号伝達することは、シーケンスパラメータセットにおいて、第1のシンタックス要素と第2のシンタックス要素とを生成することを備えてよく、第1のシンタックス要素は、動作点に対して復号されるべきテクスチャビューの数を指定し、第2のシンタックス要素は、動作点に対して復号されるべき深度ビューの数を指定する。テクスチャビューの数と深度ビューの数とを信号伝達することは、シーケンスパラメータセットにおいて、動作点に対して復号されるべきテクスチャビューの数、更に、動作点に対して復号されるべき深度ビューの数を示すシンタックス要素を生成することを備え得る。
幾つかの例では、本開示の技法は、動作点に対して復号されるべきテクスチャビューの数と、動作点に対して復号されるべき深度ビューの数とを信号伝達する、シーケンスパラメータセットを受信することを実現し得る。そのような例では、シーケンスパラメータセットは、動作点に対して復号されるべきビューの数を示すシンタックス要素を含んでよく、ビューの各々は、テクスチャビューのうちの1つと深度ビューのうちの1つとを有する。シーケンスパラメータセットは、第1のシンタックス要素と第2のシンタックス要素とを含んでよく、第1のシンタックス要素は、動作点に対して復号されるべきテクスチャビューの数を指定し、第2のシンタックス要素は、動作点に対して復号されるべき深度ビューの数を指定する。シーケンスパラメータセットは、動作点のために復号されるべきテクスチャビューの数、更に、動作点のために復号されるべき深度ビューの数を示す、シンタックス要素を含み得る。
本技法の様々な態様は、カプセル化ユニット21によって実行されているものとして上で説明されたが、本技法は、逆カプセル化ユニット29によって同一の又は逆の方式で実行され得る。その上、カプセル化ユニット21によって実行されるものとして上で説明された技法の様々な態様はまた、他の実装形態では、ビデオエンコーダ20によって実行され得る(ビデオデコーダ30は、ビデオエンコーダ20によって実行される動作と同じ又は逆の動作を実行する)。従って、特定の実装形態が図1〜図3の例で示されるが、本技法は、この例には限定されるべきではなく、マルチビュービデオデータによって指定されるビュー成分のテクスチャ成分及び深度成分の別々の取扱を実現する、他の実装形態に適用され得る。
図5は、例示的なMVCの予測パターンを示す概念図である。MVCの次の説明も、3DVCがMVSプラス深度を組み込むという意味で、3DVCに関係する。従って、MVC及びMVCによって提供される様々な予測の説明は、3DVCと、3DVCに関する本開示で説明された技法とを理解するための文脈を与えるように説明される。
図5の例では、8個のビューが示され、各ビューに対して12個の時間位置が示される。一般に、図5内の各行はビューに対応し、各列は時間位置を示す。ビューの各々は、他のビューに対する相対的なカメラ位置を示すために使用され得るビュー識別子(「view_id」)を使用して識別され得る。図5に示された例では、ビューIDは「S0」〜「S7」として示されているが、数字のビューIDも使用され得る。加えて、時間位置の各々は、ピクチャの表示順序を示すピクチャ順序カウント(POC)値を使用して識別され得る。図4に示された例では、POC値は「T0」〜「T11」として示されている。
MVCは、H.264/AVCデコーダによって復号可能である、所謂基本ビューを有し、ステレオビューペアはMVCによってサポートされ得るが、MVCは、3Dビデオ入力として3つ以上のビューをサポートすることができる。従って、MVCデコーダを有するクライアントのレンダラは、複数のビューを用いて3Dビデオコンテンツを予想することができる。
図5中のピクチャは、対応するピクチャがイントラコード化される(即ち、Iフレームである)のか、又は一方向に(即ち、Pフレームとして)インターコード化されるのか、又は複数の方向に(即ち、Bフレームとして)インターコード化されるのかを指定する、文字を含む影付きブロックを使用して示される。一般に、予測は矢印によって示され、ここで矢印の終点のピクチャは、予測参照のために矢印の始点のオブジェクトを使用する。例えば、時間位置T0にあるビューS2のPフレームは、時間位置T0にあるビューS0のIフレームから予測される。図5に示されたピクチャの各々は、ビュー成分と呼ばれ得る。
シングルビュービデオ符号化の場合と同様に、マルチビュービデオシーケンスのピクチャは、異なる時間位置におけるピクチャに関して予測符号化され得る。例えば、時間位置T1にあるビューS0のbフレームは、時間位置T0にあるビューS0のIフレームからそのbフレームに向けられた矢印を有し、その矢印は、bフレームがIフレームから予測されることを示す。しかしながら、更に、マルチビュービデオ符号化の状況において、ピクチャはビュー間予測され得る。即ち、ビュー成分は、参照のために他のビュー中のビュー成分を使用することができる。MVCでは、例えば、別のビュー中のビュー成分がインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、SPSのMVC拡張において信号伝達されてよく、インター予測参照又はビュー間予測参照の柔軟な順序付けを可能にする、参照ピクチャリストの構築プロセスによって修正され得る。
図5は、ビュー間予測の様々な例を提供する。図5の例では、ビューS1のピクチャは、ビューS1の異なる時間位置におけるピクチャから予測されるものとして、かつ、同じ時間位置におけるビューS0及びS2のピクチャのうちのピクチャからビュー間予測されるものとして示されている。例えば、時間位置T1にあるビューS1のbフレームは、時間位置T0及びT2にあるビューS1のBフレームの各々、及び時間位置T1にあるビューS0並びにビューS2のbフレームから予測される。
図5の例では、大文字の「B」及び小文字の「b」は、異なる符号化方法ではなく、ピクチャ間の異なる階層関係を示すものとする。一般に、大文字の「B」フレームは、小文字の「b」フレームよりも予測階層が比較的高い。図5はまた、異なるレベルの影付きを使用して予測階層における変形形態を示し、より大きい量の影付き(即ち、比較的暗い)ピクチャは、より少ない影付きを有する(即ち、比較的明るい)ピクチャよりも予測階層が高い。例えば、図5内の全てのIフレームは完全な影付きにより示されるが、Pフレームはいくぶん明るい影付きを有し、Bフレーム(及び小文字のbフレーム)は、互いに対して様々なレベルの影付きを有するが、Pフレーム及びIフレームの影付きよりも常に明るい。
一般に、階層が比較的高いピクチャが、階層が比較的低いピクチャの復号中に参照ピクチャとして使用され得るように、予測階層が比較的高いピクチャは、階層が比較的低いピクチャを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセス単位中のビューコンポーネントの復号順序を示すインデックスである。ビュー順序インデックスは、SPSなどのパラメータセット内で示唆され得る。
このようにして、参照ピクチャとして使用されるピクチャは、その参照ピクチャを参照して符号化されたピクチャを復号する前に復号され得る。ビュー順序インデックスは、アクセス単位中のビューコンポーネントの復号順序を示すインデックスである。MVC/AVCによれば、各ビュー順序インデックスiに対して、対応するview_idが信号伝達される。ビュー成分の復号は、ビュー順序インデックスの昇順に従う。全てのビューが提示された場合、ビュー順序インデックスのセットは、0からビューの全数よりも1少ない数まで連続的に順序付けされたセットを備える。
幾つかの例では、全ビットストリームのサブセットが抽出されて、依然としてMVCに準拠するサブビットストリームを形成することができる。例えば、サーバによって提供されるサービス、1つ又は複数のクライアントのデコーダの容量、サポート、及び能力、及び/又は、1つ又は複数のクライアントの選好に基づいて、特定の適用例が必要とし得る多くの可能なサブビットストリームが存在する。例えば、あるクライアントが3つのビューのみを必要とする場合があり、2つのシナリオがあり得る。一例では、あるクライアントは滑らかな鑑賞体験を求めることがあり、view_id値S0、S1、及びS2のビューを好むことがあり、別の他のクライアントはビュースケーラビリティを求めることがあり、view_id値S0、S2、及びS4のビューを好むことがある。これらのサブビットストリームの両方が、独立したMVCビットストリームとして復号されてよく、同時にサポートされ得る。
上記のように、図5は8個のビュー(S0〜S7)を示すが、MVC/AVC拡張は最大で1024個のビューをサポートし、NAL単位ヘッダ内のview_idを使用して、NAL単位が属するビューを識別する。ビュー順序インデックスは、NAL単位ヘッダの一部として信号伝達され得る。即ち、比較の目的で、ビュー順序インデックスは、MVC/AVC拡張のNAL単位ヘッダ内で信号伝達されるview_idを置き換えることができる。ビュー順序は、一般に、アクセス単位内のビューの順序付けを記述し、ビュー順序インデックスは、そのアクセス単位のビュー順序における特定のビューを識別する。即ち、ビュー順序インデックスは、アクセス単位の対応するビュー成分の復号順序を記述する。
従って、SPSは、ビューのview_idとビューのビュー順序インデックスとの間の関係を提供することができる。ビュー順序インデックスとSPS内のデータとを使用して、ビデオエンコーダ20及びビデオデコーダ30は、NAL単位ヘッダ内のMVC/AVCの10ビットのview_idをビュー順序インデックスによって置き換えることができ、このことはMVC/AVC方式よりもビット節約につながる可能性がある。
ビューのview_idとビュー順序インデックスとの間の関係を提供する例示的なSPSが、以下の表6で提供される。
上の表に示されたSPSは、コード化ビデオシーケンスのビュー間依存関係を指定する。SPSはまた、コード化ビデオシーケンスのための動作点のサブセットのレベル値を指定する。コード化ビデオシーケンスによって参照される全てのSPSは、同一であるべきである。しかしながら、view_id[i]によって識別される幾つかのビューは、コード化ビデオシーケンス内に存在しない場合がある。加えて、SPSによって記述される幾つかのビュー又は時間サブセットは、元のコード化ビデオシーケンスから削除されている場合があり、従って、コード化ビデオシーケンス内に存在しない場合がある。しかしながら、SPS内の情報は、残りのビューと時間サブセットとに常に適用される可能性がある。
上の表では、シンタックス要素num_views_minus1プラス1は、コード化ビデオシーケンス内のコード化ビューの最大数を指定する。num_view_minus1の値は、両端値を含む0〜31の範囲にあり得る。幾つかの例では、コード化ビデオシーケンス内のビューの実際の数は、num_views_minus1プラス1よりも少ない場合がある。view_id[i]要素は、iに等しいビュー順序インデックスを伴うビューのビュー識別子を指定する。要素view_level[i]は、iに等しいビュー順序インデックスを伴うビューのview_levelを指定する。幾つかの例では、事前に定義された値(VL)までのview_levelを伴う全てのビュー成分は、VLより大きいview_levelを伴ういずれのビュー成分も復号することなく、復号可能であり得る。
要素num_ref_views[i]は、iに等しいビュー順序インデックスを伴うビュー成分を復号するときの、初期参照ピクチャリストRefPicList0及びRefPicList1中のビュー間予測のためのビュー成分の数を指定する。要素num_ref_views[i]の値は、Min(15、num_views_minus1)より大きくないことがある。num_ref_views[0]の値は、0に等しいことがある。加えて、要素ref_views_idx[i][j]は、iに等しいビュー順序インデックスを伴うビュー成分を復号するときの、初期参照ピクチャリストRefPicList0及びRefPicList1中のビュー間予測のための第jのビュー成分のビュー順序インデックスを指定することができる。ref_view_idx[i][j]の値は、両端値を含み0から31の範囲にあり得る。
図6は、本開示で説明される技法の様々な態様による、パラメータセットのアクティブ化を実施する際の、ビデオコード化機器の動作を示す流れ図である。最初に、ビデオデコーダ30のようなビデオコード化機器は、マルチビュービデオデータのビュー成分に割り当てられる順序インデックス値を決定することができる(130)。この順序インデックス値は、図5に関してより詳しく上で説明されている。上で説明されたように、ビデオデコーダ30は次いで、マルチビュービデオデータのビュー成分に割り当てられた決定されたビュー順序インデックス値に少なくとも基づいて、ビュー成分のテクスチャ成分のためのテクスチャパラメータセットとしてパラメータセットをアクティブ化することができる(132)。このテクスチャパラメータセットをアクティブ化した後、ビデオエンコーダ30は次いで、アクティブ化されたテクスチャパラメータセットに基づいてビュー成分のテクスチャ成分をコード化することができる(134)。
幾つかの例では、ビデオデコーダ30は、アクティブ化されたテクスチャパラメータセットに基づいて、ビュー成分の深度成分ではなく、ビュー成分のテクスチャ成分のみをコード化する。幾つかの例では、ビデオデコーダ30は、マルチビュービデオデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも基づいて、ビュー成分の深度成分に対して別のパラメータセットをアクティブ化し、上で説明された方式で、ビュー成分の深度成分に対してアクティブ化されたパラメータセットに基づき、かつ、アクティブ化されたテクスチャパラメータセットに基づかずに、ビュー成分の深度成分を復号する。従って、図6の例には明示的に示されないが、追加のパラメータセットが深度成分に対して個々にアクティブ化されてよく、ビデオデコーダ30は次いで、その追加のパラメータセットを使用して、テクスチャ成分ではなく深度成分を復号することができる。
上で説明された例の幾つかでは、ビデオデコーダ30は、マルチビュービデオデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも基づいて、マルチビュービデオデータのビュー成分をコード化するためのシーケンスパラメータセットをアクティブ化することができる。その上、上述のように、ビデオデコーダ30は、テクスチャシーケンスパラメータセットによって指定された1つ又は複数のシンタックス要素が、アクティブ化されたシーケンスパラメータセットによって指定された1つ又は複数のシンタックス要素を上書き又は補足するように、マルチビュービデオデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも基づいて、ビュー成分のテクスチャ成分に対するテクスチャシーケンスパラメータセットとして、シーケンスパラメータセットをアクティブ化することができる。
上で説明された例の幾つかでは、ビデオデコーダ30は、テクスチャピクチャパラメータセットによって指定された1つ又は複数のシンタックス要素が、アクティブ化されたシーケンスパラメータセットによって指定された1つ又は複数のシンタックス要素を上書き又は補足するように、マルチビュービデオデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも基づいて、ビュー成分のテクスチャ成分に対するテクスチャピクチャパラメータセットとして、ピクチャパラメータセットをアクティブ化することができる。
上で説明された例の幾つかでは、ビデオデコーダ30は、マルチビュービデオデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも基づいて、マルチビュービデオデータのビュー成分に対するビューピクチャパラメータセットとして、ピクチャパラメータセットをアクティブ化することができる。加えて、ビデオデコーダ30は次いで、テクスチャピクチャパラメータセットによって指定された1つ又は複数のシンタックス要素が、アクティブ化されたシーケンスパラメータセットによって指定された1つ又は複数のシンタックス要素を上書き又は補足するように、マルチビュービデオデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも基づいて、ビュー成分のテクスチャ成分に対するテクスチャピクチャパラメータセットとして、ピクチャパラメータセットをアクティブ化することによって、テクスチャパラメータセットとしてパラメータセットをアクティブ化することができる。
幾つかの例では、ビデオデコーダ30は次いで、マルチビュービデオデータのビュー成分に割り当てられたビュー順序インデックス値に少なくとも基づいて、ビュー成分のテクスチャ成分に対して、シーケンスパラメータセット及びピクチャパラメータの1つ又は複数をテクスチャシーケンスパラメータセット及びテクスチャピクチャパラメータセットとしてそれぞれアクティブ化することによって、テクスチャパラメータセットとしてパラメータセットをアクティブ化することができる。
また、図6に関して示され説明されるステップは一例として与えられたものにすぎないことを理解されたい。即ち、図6の例に示されるステップは必ずしも図6に示される順序で実行される必要があるとは限らず、より少数の、追加の、又は代替のステップが実行され得る。その上、本技法は特定のビデオコーダ、即ちビデオデコーダ30に関して上で説明されたが、本技法は、ビデオエンコーダ20を含む任意のビデオコーダによって実装され得る。
図7は、本開示で説明される技法による、マルチビュービデオデータを処理して、ネスト化されたSEIメッセージを生成する例示的な動作を示すフロー図である。以下では特定のユニット、即ちカプセル化ユニット21に関して説明されるが、本技法は一般に、宛先機器14、及びより具体的には宛先機器14の逆カプセル化ユニット29を含む、任意のビデオコード化機器によって実施され得る。
最初に、カプセル化ユニット21は、符号化マルチビュービデオデータを受信し、SEIメッセージ生成ユニット108を呼び出し、SEIメッセージ生成ユニット108は、上で説明された方式で、マルチビュービデオデータのビュー成分を処理するときに適用される補助強化情報(SEI)メッセージを決定する(140)。SEIメッセージ生成ユニット108はまた、上で説明されたように、ネスト化されたSEIメッセージが、ビュー成分のテクスチャ成分と深度成分の両方に適用されるか、又はビュー成分の深度成分のみに適用されるかを決定することができる(141)。ネスト化されたSEIメッセージが深度成分のみに適用されると決定すると(「いいえ」141)、SEIメッセージ生成ユニット108は、補助強化情報メッセージに加えて、ビュー成分の深度成分のみに適用されるネスト化された補助強化情報メッセージを決定することができる(142)。しかしながら、ネスト化されたSEIメッセージが深度成分とテクスチャ成分の両方に適用されると決定すると(「はい」141)、SEIメッセージ生成ユニット108は、補助強化情報メッセージに加えて、ビュー成分のテクスチャ成分と深度成分の両方に適用されるネスト化された補助強化情報メッセージを決定することができる(143)。ビデオファイル作成ユニット104は次いで、SEIメッセージとネスト化されたSEIメッセージの両方を含む、ビデオファイルを生成することができる(144)。
幾つかの例では、カプセル化ユニット21は、このビデオファイルを生成し、このビデオファイルを、ルータ36又は、コンテンツ配信ネットワーク34のビデオサーバのような別の機器(これらの両方が、図1の例に関して上で説明されている)に与える。この機器は次いで、補助強化情報メッセージ及びネスト化された補助強化情報メッセージに基づいて、ビュー成分の深度成分を処理することができる。
幾つかの例では、カプセル化ユニット21は、ビュー成分の深度成分をコード化するときにのみ、親補助強化情報メッセージに加えて適用される、ネスト化された補助強化情報メッセージを決定する。この例ではルータ36が次いで、親補助強化情報メッセージ及びネスト化された補助強化情報メッセージに基づいて、ビュー成分のテクスチャ成分ではなくビュー成分の深度成分のみを処理することができる。
上述のように、カプセル化ユニット21は、ビュー成分のテクスチャ成分をコード化するときに、ネスト化された補助強化情報メッセージが補助強化情報メッセージに加えて適用されるかどうかを決定することができる。結果として、ルータ36は、この例では、ビュー成分のテクスチャ成分をコード化するときにネスト化された補助強化情報メッセージが補助強化情報メッセージに加えて適用されるかどうかの決定に基づいて、補助強化情報メッセージ及びネスト化された補助強化情報メッセージに基づいて、ビュー成分のテクスチャ成分を処理することができる。
ビュー成分のテクスチャ成分を処理するときにネスト化された補助強化メッセージが補助強化情報メッセージに加えて適用されると決定すると、ルータ36は、ネスト化された補助強化情報メッセージが深度成分にのみ適用されるか、又はビュー成分と深度成分の両方に適用されるかを指定するフラグを、ネスト化された補助強化情報メッセージ中で識別し、識別されたフラグに基づいて、ビュー成分のテクスチャ成分をコード化するときに、ネスト化された補助強化メッセージが補助強化情報メッセージに加えて適用されると決定することができる。このフラグは、補助強化情報ビュー適用可能性フラグ、及び補助強化情報使用可能ビュー適用可能性フラグのうちの1つ又は複数を備え得る。
幾つかの例では、ビュー成分のテクスチャ成分を処理するときにネスト化された補助強化情報メッセージが補助強化情報メッセージに加えて適用されるかどうかを決定するとき、ルータ36は、ビュー成分の深度成分とビュー成分のテクスチャ成分の両方を処理するときにネスト化された補助強化情報メッセージが補助強化情報メッセージに加えて適用されると決定することができる。この例では、ルータ36は、補助強化情報メッセージ及びネスト化された補助強化情報メッセージに基づいて、ビュー成分のテクスチャ成分を処理することができる。
幾つかの例では、ビュー成分のテクスチャ成分をコード化するときにネスト化された補助強化情報メッセージが補助強化情報メッセージに加えて適用されるかどうかを決定するとき、ルータ36は、ビュー成分のテクスチャ成分ではなくビュー成分の深度成分をコード化するときにネスト化された補助強化情報メッセージのみが補助強化情報メッセージに加えて適用されると決定することができる。結果として、ルータ36は、補助強化情報メッセージに基づいて、かつ、ネスト化された補助強化情報メッセージに基づかずに、ビュー成分のテクスチャ成分を処理することができる。
図7は一例を提供するものにすぎないことも理解されたい。即ち、図7の例に示されるステップは必ずしも図7に示される順序で実行される必要があるとは限らず、より少数の、追加の、又は代替のステップが実行され得る。
図8は、本開示で説明される技法による、復号ピクチャバッファからテクスチャ成分と深度成分とを別々に除去する際の、ビデオコード化機器の例示的な動作を示すフロー図である。図8に示された例は概して、ビデオデコーダ30(図1及び図3)によって実行されるものとして説明される。しかしながら、図8に関して説明されたプロセスは、種々の他のプロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースのコード化単位などによって実行され得ることを理解されたい。
一般に、ビデオデコーダ30は、復号ピクチャバッファに、(マルチビュービデオデータによって指定される)ビュー成分の深度成分とテクスチャ成分とを記憶することができ、復号ピクチャバッファは、図3の例では参照ピクチャメモリ92として示される(150)。ビデオデコーダ30は次いで、ビュー依存性を分析して、深度成分がビュー間予測のために使用されるかどうかを決定することができる(ここで、そのようなビュー依存性が図5の例に関して上で反映され得る、152)。ビデオデコーダ30は、参照ピクチャメモリ92から関連するテクスチャ成分を除去しようと試みるときに、深度成分のみに対してこのビュー依存性を分析し、ビュー依存性を別々に分析することができる。幾つかの例では、ビュー依存性は、サブセットシーケンスパラメータセットのマルチビュービデオコード化のシーケンスパラメータセット拡張において信号伝達される。サブセットシーケンスパラメータセットは、3次元ビデオファイルを含んでよく、ビュー依存性を分析するときに、アクティブビューのマルチビュービデオコード化シーケンスパラメータセットとしてアクティブ化される。いずれにしても、ビデオデコーダ30は次いで、深度成分がビュー間予測のために使用されないと決定したことに応答して、テクスチャ成分を除去することなく、参照ピクチャメモリ92から深度成分を除去することができる(154)。
この深度成分を除去する前に、ビデオデコーダ30は、深度成分がターゲット出力ビューに属さず、0に等しい値を有するネットワーク抽象レイヤ参照識別コードと関連付けられると決定することによって、除去に適しているものとして深度成分を見なすことができる。深度成分及びテクスチャ成分の別々の取扱を潜在的に実現する結果として、ビデオデコーダ30は、テクスチャ成分とは異なる深度成分に対して1つ又は複数の参照ピクチャを決定することができる。即ち、ビデオデコーダ30は、少なくとも、深度成分に対する1つ又は複数の参照ピクチャを識別する参照ピクチャリストを決定し、テクスチャ成分に対する1つ又は複数の追加の参照ピクチャを識別する参照ピクチャリストを決定することによって、深度成分に対する1つ又は複数の参照ピクチャを決定することができ、テクスチャ成分に対して決定される1つ又は複数の追加の参照ピクチャは、深度成分に対して決定される1つ又は複数の参照ピクチャとは異なる。
深度成分に対する参照ピクチャリストを決定する際、ビデオデコーダ30は、ビデオエンコーダ20による深度成分及びテクスチャ成分の標識に基づいて、深度成分及びテクスチャ成分に対する参照ピクチャリストを決定することができ、その標識は、テクスチャ成分を標識することとは別個に、深度成分に対する参照ピクチャリストを識別するために使用される。幾つかの例では、1つ又は複数のシンタックス要素が、深度成分に対して決定された参照ピクチャリストとは別々に深度成分を標識するために使用されてよく、かつ1つ又は複数のシンタックス要素が、テクスチャ成分に対して決定された参照ピクチャリストとは別々にテクスチャ成分を標識するために使用される。
幾つかの例では、ビデオデコーダ30は、深度成分及びテクスチャ成分が表示のために出力されるべきターゲット出力ビューに属していると決定し、深度ビューとテクスチャビューとを同時に又はほぼ同時に出力することができる。
図8の例に関して示され説明されたステップは単に一例として与えられたものにすぎないことを理解されたい。即ち、図8の例に示されるステップは必ずしも図8に示される順序で実行される必要があるとは限らず、より少数の、追加の、又は代替のステップが実行され得る。
図9は、本開示で説明される技法による、MVC適合3DVCのためのシーケンスレベル情報を決定する際の、ビデオコード化機器の例示的な動作を示す流れ図である。図8に示された例は全般に、ビデオデコーダ30(図1及び図3)によって実行されるものとして説明される。しかしながら、図8に関して説明されたプロセスは、種々の他のプロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースのコード化単位などによって実行され得ることを理解されたい。
上で説明されたように、ビデオデコーダ30は、深度成分の特性を記述する第1のシーケンスレベル情報を決定し、ビデオデータの動作点の特性を記述する第2のシーケンスレベル情報を決定することができる(160、162)。その上、ビデオデコーダ30は、3次元ビデオコード化シーケンスパラメータセットにおいて示される深度成分のための1つ又は複数の参照ピクチャを識別する、参照ピクチャリストを決定することができる。
幾つかの例では、第2のシーケンスレベル情報は、動作点に対して、ターゲット出力ビューのリストと、動作点を復号するときに復号されるべきテクスチャビューの数と、動作点を復号するときに復号されるべき深度ビューの数とを記述する、3次元ビデオコード化シーケンスパラメータセットを含み、復号されるべきテクスチャビューの数は、深度ビューの数とは異なる。幾つかの例では、ビデオデコーダ30は更に、ターゲット出力ビューのリストにおいて規定されるターゲット出力ビューの各々に対して、利用可能な場合には1つ又は複数の深度成分を更に対象とすることができる。
幾つかの例では、ビデオデコーダ30は、ビデオデータの一部として3次元ビデオコード化スケーラビリティ情報SEIメッセージを規定することができ、3次元ビデオコード化スケーラビリティ情報SEIメッセージは、深度成分を伴わない動作点の記述、又は深度成分を伴う動作点の記述を含む。幾つかの例では、SEIメッセージは、動作点が深度成分を含むかどうかの指示を含む。その上、幾つかの例では、SEIメッセージは、動作点が、動作点の復号のための、直接依存テクスチャビューとともに、深度成分と直接依存深度ビューとを含むかどうかの指示を含む。
図9の例に関して示され説明されたステップは単に一例として与えられたものにすぎないことを理解されたい。即ち、図9の例に示されるステップは必ずしも図9に示される順序で実行される必要があるとは限らず、より少数の、追加の、又は代替のステップが実行され得る。
本開示に関して説明された特定のシンタックス要素は、説明の目的で例示的な名称を与えられたが、本開示で説明された概念は、名称にかかわらず、より一般的に任意のシンタックス要素に適用可能であることを理解されたい。例えば、特定の態様が「ビュー順序インデックス」、「view_order_index」又は「view_idx」に言及するが、そのようなシンタックス要素は、将来のコード化規約において代替の名称を与えられる可能性があることを理解されたい。
本開示の特定の技法はH.264規格に関して説明されたが、本技法は必ずしも特定のコード化規格に限定されないことを理解されたい。即ち、本技法は、より一般的には、例えば、上で説明されたように、より短い、及び/又はより複雑でないNAL単位及びパラメータセットを通じて、3DVCにおけるコード化の効率性を達成することに関する。
例に応じて、本明細書で説明された方法のうちのいずれかの幾つかの行為又はイベントは、異なるシーケンスで実行されてよく、互いに付加、統合、又は除外されてよい(例えば、全ての説明された行為又はイベントが、方法の実施のために必要であるとは限らない)ことを理解されたい。その上、幾つかの例では、行為又はイベントは、連続的にではなく、例えば、マルチスレッド処理、割込み処理、又は複数のプロセッサを通じて、同時に実行され得る。加えて、本開示の幾つかの態様は、明快にするために単一のモジュール又はユニットによって実行されるものとして説明されるが、本開示の技法はビデオコーダに関連するユニット又はモジュールの組合せによって実行され得ることを理解されたい。
1つ又は複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つ又は複数の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする、任意の媒体を含むデータ記憶媒体又は通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。
このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、又は(2)信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コード及び/又はデータ構造を取り出すために1つ又は複数のコンピュータ又は1つ又は複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスク記憶、磁気ディスク記憶、もしくは他の磁気記憶装置、フラッシュメモリ、又は、命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
命令は、1つ又は複数のデジタル信号プロセッサ(DSP)などの1つ又は複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、又は他の等価な集積回路もしくはディスクリート論理回路によって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、前述の構造、又は本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。加えて、幾つかの態様では、本明細書で説明された機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内で与えられてよく、又は複合コーデックに組み込まれてよい。また、本技法は、1つ又は複数の回路又は論理要素中で完全に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実装され得る。本開示では、開示する技法を実行するように構成された機器の機能的態様を強調するために、様々なコンポーネント、モジュール、又はユニットが説明されたが、それらのコンポーネント、モジュール、又はユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上で説明されたように、様々なユニットが、好適なソフトウェア及び/又はファームウェアとともに、上で説明された1つ又は複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられ、又は相互動作ハードウェアユニットの集合によって与えられ得る。
本開示の様々な態様が説明されてきた。これら及び他の態様は以下の特許請求の範囲内に入る。