(57)【特許請求の範囲】
【請求項１】
ビデオデータをコーディングする方法であって、
ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテクスチャビューコンポーネントを受信することと、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信することと、
前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを前記ビューの前記時間インスタンスのためのビューコンポーネント中にカプセル化することと
を備える、方法。
【請求項２】
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項１に記載の方法。
【請求項３】
前記ビューコンポーネントの前記テクスチャビューコンポーネントと、その後に連続的に続く前記ビューコンポーネントの前記深度ビューコンポーネントとを含むように前記共通のビットストリームを形成することと、
デリミタネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成することとをさらに備え、
カプセル化することが、前記共通のビットストリームのアクセスユニットにおいて前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間に前記デリミタＮＡＬユニットを与えることを備える、請求項１に記載の方法。
【請求項４】
カプセル化することが、
前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとして前記深度ビューコンポーネントをカプセル化することを備える、請求項１に記載の方法。
【請求項５】
前記ビットストリーム中でビデオデータのビューに関係する１つまたは複数のカメラのカメラパラメータをシグナリングすることをさらに備え、前記カメラパラメータをシグナリングすることが、
前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータを判断することであって、前記真性カメラパラメータが、焦点距離および主点オフセットのうちの１つまたは複数を備える、判断することと、
前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータを判断することと、
前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータを判断することと、
前記真性カメラパラメータと、前記外因性カメラパラメータと、前記ビュー固有カメラパラメータとを示す値を含むシーケンスレベルデータ構造を形成することと
を備える、請求項１に記載の方法。
【請求項６】
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すデータをシグナリングすることをさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されるルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項１に記載の方法。
【請求項７】
前記変換を表す前記データをシグナリングすることが、一意のＮＡＬユニットタイプ値と前記変換を表す前記データとを備えるＮＡＬユニットを形成することを備え、前記方法が、１つまたは複数のアクセスユニットにおいて前記共通のストリーム中でビューパラメータセットをシグナリングすることをさらに備え、前記ビューパラメータセットが前記現実世界深度（ｚ）値の前記範囲を示す情報を含む、請求項６に記載の方法。
【請求項８】
ビデオデータを処理するためのデバイスであって、ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテクスチャビューコンポーネントを受信することと、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信することと、前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを前記ビューの前記時間インスタンスのためのビューコンポーネント中にカプセル化することとを行うように構成されたビデオコーダを備えるデバイス。
【請求項９】
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項８に記載のデバイス。
【請求項１０】
前記ビデオコーダが、
前記ビューコンポーネントの前記テクスチャビューコンポーネントと、その後に連続的に続く前記ビューコンポーネントの前記深度ビューコンポーネントとを含むように前記共通のビットストリームを形成することと、
デリミタネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成することとを行うようにさらに構成され、
カプセル化することが、前記共通のビットストリームのアクセスユニットにおいて前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間に前記デリミタＮＡＬユニットを与えることを備える、請求項８に記載のデバイス。
【請求項１１】
カプセル化するために、前記ビデオコーダが、
前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとして前記深度ビューコンポーネントをカプセル化することを行うようにさらに構成された、請求項８に記載のデバイス。
【請求項１２】
前記ビデオコーダが、前記ビットストリーム中でビデオデータのビューに関係する１つまたは複数のカメラのカメラパラメータをシグナリングするようにさらに構成され、前記カメラパラメータをシグナリングするために、前記ビデオコーダが、
前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータを判断することであって、前記真性カメラパラメータが、焦点距離および主点オフセットのうちの１つまたは複数を備える、判断することと、
前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータを判断することと、
前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータを判断することと、
前記真性カメラパラメータと、前記外因性カメラパラメータと、前記ビュー固有カメラパラメータとを示す値を含むシーケンスレベルデータ構造を形成することと
を行うように構成された、請求項８に記載のデバイス。
【請求項１３】
前記ビデオコーダが、現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すデータをシグナリングするようにさらに構成され、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されるルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項８に記載のデバイス。
【請求項１４】
前記変換を表す前記データをシグナリングするために、前記ビデオコーダが、一意のＮＡＬユニットタイプ値と前記変換を表す前記データとを備えるＮＡＬユニットを形成することと、１つまたは複数のアクセスユニットにおいて前記共通のストリーム中でビューパラメータセットをシグナリングすることであって、前記ビューパラメータセットが前記現実世界深度（ｚ）値の前記範囲を示す情報を含む、シグナリングすることとを行うように構成された、請求項１３に記載のデバイス。
【請求項１５】
実行されたとき、
ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテクスチャビューコンポーネントを受信することと、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信することと、
前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを前記ビューの前記時間インスタンスのためのビューコンポーネント中にカプセル化することと
をビデオ符号化デバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記録媒体。
【請求項１６】
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項１５に記載のコンピュータ可読記録媒体。
【請求項１７】
前記ビューコンポーネントの前記テクスチャビューコンポーネントと、その後に連続的に続く前記ビューコンポーネントの前記深度ビューコンポーネントとを含むように前記共通のビットストリームを形成することと、
デリミタネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成することとを前記プロセッサに行わせる命令をさらに備え、
カプセル化することが、前記共通のビットストリームのアクセスユニットにおいて前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間に前記デリミタＮＡＬユニットを与えることを備える、請求項１５に記載のコンピュータ可読記録媒体。
【請求項１８】
カプセル化するための前記命令が、
前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとして前記深度ビューコンポーネントをカプセル化することを前記プロセッサに行わせる命令を備える、請求項１５に記載のコンピュータ可読記録媒体。
【請求項１９】
前記ビットストリーム中でビデオデータのビューに関係する１つまたは複数のカメラのカメラパラメータをシグナリングすることを前記プロセッサに行わせる命令をさらに備え、前記カメラパラメータをシグナリングするための前記命令が、
前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータを判断することであって、前記真性カメラパラメータが、焦点距離および主点オフセットのうちの１つまたは複数を備える、判断することと、
前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータを判断することと、
前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータを判断することと、
前記真性カメラパラメータと、前記外因性カメラパラメータと、前記ビュー固有カメラパラメータとを示す値を含むシーケンスレベルデータ構造を形成することと
を前記プロセッサに行わせる命令を備える、請求項１５に記載のコンピュータ可読記録媒体。
【請求項２０】
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すデータをシグナリングすることを前記プロセッサに行わせる命令をさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されるルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項１５に記載のコンピュータ可読記録媒体。
【請求項２１】
前記変換を表す前記データをシグナリングすることを前記プロセッサに行わせるための前記命令が、一意のＮＡＬユニットタイプ値と前記変換を表す前記データとを備えるＮＡＬユニットを形成することと、前記共通のストリーム中で１つまたは複数のアクセスユニットにおいてビューパラメータセットをシグナリングすることであって、前記ビューパラメータセットが前記現実世界深度（ｚ）値の前記範囲を示す情報を含む、シグナリングすることとを前記プロセッサに行わせる命令を備える、請求項２０に記載のコンピュータ可読記録媒体。
【請求項２２】
ビデオデータを処理するためのデバイスであって、
ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテクスチャビューコンポーネントを受信するための手段と、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信するための手段と、
前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを前記ビューの前記時間インスタンスのためのビューコンポーネント中にカプセル化するための手段と
を備える、デバイス。
【請求項２３】
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項２２に記載のデバイス。
【請求項２４】
前記ビューコンポーネントの前記テクスチャビューコンポーネントと、その後に連続的に続く前記ビューコンポーネントの前記深度ビューコンポーネントとを含むように前記共通のビットストリームを形成するための手段と、
デリミタネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成するための手段と
をさらに備え、
カプセル化することが、前記共通のビットストリームのアクセスユニットにおいて前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間に前記デリミタＮＡＬユニットを与えることを備える、請求項２２に記載のデバイス。
【請求項２５】
カプセル化するための前記手段が、
前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとして前記深度ビューコンポーネントをカプセル化するための手段を備える、請求項２２に記載のデバイス。
【請求項２６】
前記ビットストリーム中でビデオデータのビューに関係する１つまたは複数のカメラのカメラパラメータをシグナリングするための手段をさらに備え、前記カメラパラメータをシグナリングするための前記手段が、
前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータを判断するための手段であって、前記真性カメラパラメータが、焦点距離および主点オフセットのうちの１つまたは複数を備える、判断するための手段と、
前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータを判断するための手段と、
前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータを判断するための手段と、
前記真性カメラパラメータと、前記外因性カメラパラメータと、前記ビュー固有カメラパラメータとを示す値を含むシーケンスレベルデータ構造を形成するための手段とを備える、請求項２２に記載のデバイス。
【請求項２７】
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すデータをシグナリングするための手段をさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されるルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項２２に記載のデバイス。
【請求項２８】
前記変換を表す前記データをシグナリングするための前記手段が、一意のＮＡＬユニットタイプ値と前記変換を表す前記データとを備えるＮＡＬユニットを形成するための手段と、前記共通のストリーム中で１つまたは複数のアクセスユニットにおいてビューパラメータセットをシグナリングするための手段であって、前記ビューパラメータセットが前記現実世界深度（ｚ）値の前記範囲を示す情報を含む、シグナリングするための手段を備える、請求項２７に記載のデバイス。
【請求項２９】
ビデオデータをコーディングする方法であって、
テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信することであって、前記テクスチャビューコンポーネントが、前記ビューの前記時間インスタンスのためのテクスチャデータを備え、前記深度ビューコンポーネントが、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える、受信することと、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを分離することと
を備える、方法。
【請求項３０】
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項２９に記載の方法。
【請求項３１】
前記共通のビットストリームが、前記共通のビットストリーム中の前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間にデリミタＮＡＬユニットを含む、請求項２９に記載の方法。
【請求項３２】
前記深度ビューコンポーネントが、前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとしてカプセル化された、請求項２９に記載の方法。
【請求項３３】
前記ビットストリーム中のビデオデータのビューに関係する１つまたは複数のカメラのシグナリングされたカメラパラメータを取得することをさらに備え、前記ビットストリームが、前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータであって、焦点距離および主点オフセットのうちの１つまたは複数を備える前記真性カメラパラメータと、前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータと、前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータとを示す値を含むＳＰＳデータ構造をカプセル化した、請求項２９に記載の方法。
【請求項３４】
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すシグナリングされたデータを取得することをさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されたルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項２９に記載の方法。
【請求項３５】
ビデオデータを処理するためのデバイスであって、テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信することであって、前記テクスチャビューコンポーネントが、前記ビューの前記時間インスタンスのためのテクスチャデータを備え、前記深度ビューコンポーネントが、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える、受信することと、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを分離することとを行うように構成されたビデオコーダを備えるデバイス。
【請求項３６】
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項３５に記載のデバイス。
【請求項３７】
前記共通のビットストリームが、前記共通のビットストリーム中の前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間にデリミタＮＡＬユニットを含む、請求項３５に記載のデバイス。
【請求項３８】
前記深度ビューコンポーネントが、前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとしてカプセル化された、請求項３５に記載のデバイス。
【請求項３９】
前記ビデオコーダが、前記ビットストリーム中のビデオデータのビューに関係する１つまたは複数のカメラのシグナリングされたカメラパラメータを取得するようにさらに構成され、前記ビットストリームが、前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータであって、焦点距離および主点オフセットのうちの１つまたは複数を備える前記真性カメラパラメータと、前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータと、前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータとを示す値を含むＳＰＳデータ構造をカプセル化した、請求項３５に記載のデバイス。
【請求項４０】
前記ビデオコーダが、現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すシグナリングされたデータを取得するようにさらに構成され、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されたルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項３５に記載のデバイス。
【請求項４１】
実行されたとき、
テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信することであって、前記テクスチャビューコンポーネントが、前記ビューの前記時間インスタンスのためのテクスチャデータを備え、前記深度ビューコンポーネントが、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える、受信することと、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを分離することと
をビデオ復号デバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記録媒体。
【請求項４２】
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項４１に記載のコンピュータ可読記録媒体。
【請求項４３】
前記共通のビットストリームが、前記共通のビットストリーム中の前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間にデリミタＮＡＬユニットを含む、請求項４１に記載のコンピュータ可読記録媒体。
【請求項４４】
前記深度ビューコンポーネントが、前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとしてカプセル化された、請求項４１に記載のコンピュータ可読記録媒体。
【請求項４５】
前記ビットストリーム中のビデオデータのビューに関係する１つまたは複数のカメラのシグナリングされたカメラパラメータを取得することを前記プロセッサに行わせる命令をさらに備え、前記ビットストリームが、前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータであって、焦点距離および主点オフセットのうちの１つまたは複数を備える前記真性カメラパラメータと、前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータと、前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータとを示す値を含むＳＰＳデータ構造をカプセル化した、請求項４１に記載のコンピュータ可読記録媒体。
【請求項４６】
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すシグナリングされたデータを取得することを前記プロセッサに行わせる命令をさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されたルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項４１に記載のコンピュータ可読記録媒体。
【請求項４７】
ビデオデータを処理するためのデバイスであって、
テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信するための手段であって、前記テクスチャビューコンポーネントが、前記ビューの前記時間インスタンスのためのテクスチャデータを備え、前記深度ビューコンポーネントが、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える、受信するための手段と、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを分離するための手段と
を備えるデバイス。
【請求項４８】
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項４７に記載のデバイス。
【請求項４９】
前記共通のビットストリームが、前記共通のビットストリーム中の前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間にデリミタＮＡＬユニットを含む、請求項４７に記載のデバイス。
【請求項５０】
前記深度データが、前記テクスチャデータをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとしてカプセル化された、請求項４７に記載のデバイス。
【請求項５１】
前記ビットストリーム中のビデオデータのビューに関係する１つまたは複数のカメラのシグナリングされたカメラパラメータを取得するための手段をさらに備え、前記ビットストリームが、前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータであって、焦点距離および主点オフセットのうちの１つまたは複数を備える前記真性カメラパラメータと、前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータと、前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータとを示す値を含むＳＰＳデータ構造をカプセル化した、請求項４７に記載のデバイス。
【請求項５２】
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すシグナリングされたデータを取得するための手段をさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されたルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項４７に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その各々の全体が参照により本明細書に組み込まれる、２０１１年３月１０日に出願された米国仮出願第６１／４５１，３３３号、および２０１１年５月１８日に出願された米国仮出願第６１／４８７，５８７号に関する。
【０００２】
本開示は、ビデオコーディングの分野に関し、詳細には、３次元ビデオコンテンツコーディングに関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、無線電話ハンドセットなどのワイヤレス通信デバイス、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソールなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオをより効率的に送信および受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４、またはＨ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）などのビデオ圧縮技法を実装する。ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および時間的予測を実行する。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を実行する。ブロックベースのビデオコーディングでは、ビデオフレームまたはスライスはマクロブロックに区分され得る。各マクロブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のマクロブロックは、隣接マクロブロックに関する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のマクロブロックは、同じフレームまたはスライス中の隣接マクロブロックに関する空間的予測、あるいは他の参照フレームに関する時間的予測を使用し得る。
【０００５】
ビデオデータが符号化された後、ビデオデータは送信または記憶のためにパケット化され得る。ビデオデータは、ＡＶＣなど、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットおよびそれの拡張など、様々な規格のいずれかに準拠するビデオファイルにアセンブルされ得る。
【０００６】
Ｈ．２６４／ＡＶＣに基づく新しいビデオコーディング規格を開発するための取り組みが行われている。１つのそのような規格は、Ｈ．２６４／ＡＶＣのスケーラブル拡張であるスケーラブルビデオコーディング（ＳＶＣ）規格である。別の規格は、Ｈ．２６４／ＡＶＣのマルチビュー拡張になったマルチビュービデオコーディング（ＭＶＣ）である。ＭＶＣのジョイントドラフトは、ＪＶＴ−ＡＢ２０４、「Joint Draft 8.0 on Multiview Video Coding」、２８th  ＪＶＴ  ｍｅｅｔｉｎｇ、Ｈａｎｎｏｖｅｒ、Ｇｅｒｍａｎｙ、２００８年７月に記載されており、これは、http://wftp3.itu.int/av-arch/jvt-site/2008_07_Hannover/JVT-AB204.zipにおいて入手可能である。ＡＶＣ規格のバージョンは、ＪＶＴ−ＡＤ００７、「Editors' draft revision to ITU-T Rec. H.264 | ISO/IEC 14496-10 Advanced Video Coding - in preparation for ITU-T SG 16 AAP Consent (in integrated form)」、３０ｔｈ  ＪＶＴ  ｍｅｅｔｉｎｇ、Ｇｅｎｅｖａ、ＣＨ、２００９年２月に記載されており、これは、http://wftp3.itu.int/av-arch/jvt-site/2009_01_Geneva/JVT-AD007.zipから入手可能である。この文書はＳＶＣとＭＶＣとをＡＶＣ仕様に組み込んでいる。
【発明の概要】
【０００７】
概して、本開示では、テクスチャ情報と深度情報とを含むビデオデータのコーディングをサポートするための技法について説明する。テクスチャ情報は、ルミナンス（輝度）およびクロミナンス（色）情報など、２次元ピクチャをレンダリングするための情報を指す。深度情報は、深度マップ（たとえば、ピクセルごとの深度値）またはパララックスマップ（たとえば、ピクセルごとの水平視差）など、３次元ビデオを形成する際に有用な情報を含み得る。
【０００８】
概して、本開示では、３次元（３Ｄ）ビデオレンダリングをサポートするための技法について説明する。特に、本開示の技法は、テクスチャコンポーネントと深度コンポーネントを有する３Ｄビデオコンテンツをコーディングおよび復号することに関する。本開示ではまた、ビデオデータのためのシグナリング技法を提案する。深度コンポーネントは画像の深度マップからのものであり得る。３Ｄ画像レンダリングでは、深度マップは、深度コンポーネントを含み、与えられた閲覧パースペクティブからの仮想ビューを生成するために使用され得る。シグナリング技法は、テクスチャビューコンポーネントおよび深度ビューコンポーネントと、深度ビューコンポーネントの予測依存性と、ビューコンポーネント内の深度ビューコンポーネントとそれの対応するテクスチャビューコンポーネントとの依存性と、テクスチャビューコンポーネントが、たとえば、ビュー合成予測のために、他の時間インスタンスの深度ビューコンポーネントに依存し得るかどうかとをシグナリングすることを含み得る。シグナリングはまた、各ビューに関連するカメラパラメータを与えることを含み得る。本開示では単に「コード化ブロック」とも呼ばれるコード化ブロックユニットは、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）におけるマクロブロックまたはＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）におけるコーディングユニットに対応し得る。
【０００９】
本開示の一例では、ビューコンポーネントのテクスチャＮＡＬと深度ＮＡＬとは連続的に（たとえば、ＶＣＬ  ＮＡＬユニットコーディング順序で）編成され得る。いくつかの例では、たとえば、新しいＮＡＬユニットタイプを用いてまたはＮＡＬユニットヘッダ中で、ＮＡＬユニットが深度ビューコンポーネントに属するかどうかを示すこと、テクスチャビューコンポーネントから対応する深度ビューコンポーネントに対して予測することを含み得る、シグナリング技法が利用され得る。他の例では、カメラと深度コンテンツとに関係するパラメータがシグナリングされ得る。パラメータは、たとえば、共通の真性カメラパラメータおよび外因性カメラパラメータ、量子化深度値から現実世界深度値へのマッピング、異なる外因性カメラパラメータ（たとえば、各ビューの変換）などを含み得る。
【００１０】
一例では、本開示は、ビデオデータをコーディングする方法であって、ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテクスチャビューコンポーネントを受信することと、ビデオデータのビューの時間インスタンスのためのテクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信することと、テクスチャビューコンポーネントと深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、テクスチャビューコンポーネントと深度ビューコンポーネントとをビューの時間インスタンスのためのビューコンポーネント中にカプセル化することとを備える方法を対象とする。
【００１１】
別の例では、本開示は、ビデオデータを処理するためのデバイスであって、ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテクスチャビューコンポーネントを受信することと、ビデオデータのビューの時間インスタンスのためのテクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信することと、テクスチャビューコンポーネントと深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、テクスチャビューコンポーネントと深度ビューコンポーネントとをビューの時間インスタンスのためのビューコンポーネント中にカプセル化することとを行うように構成されたビデオコーダを備えるデバイスを対象とする。
【００１２】
さらに別の例では、本開示は、ビデオデータを処理するためのデバイスであって、ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテクスチャビューコンポーネントを受信するための手段と、ビデオデータのビューの時間インスタンスのためのテクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信するための手段と、テクスチャビューコンポーネントと深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、テクスチャビューコンポーネントと深度ビューコンポーネントとをビューの時間インスタンスのためのビューコンポーネント中にカプセル化するための手段とを備えるデバイスを対象とする。
【００１３】
本開示で説明する技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装された場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはデジタル信号プロセッサ（ＤＳＰ）、あるいは他の等価の集積またはディスクリート論理回路など、１つまたは複数のプロセッサを指すことがあるプロセッサで実行され得る。本技法を実行する命令を備えるソフトウェアは、初めにコンピュータ可読媒体に記憶され、プロセッサによってロードされ、実行され得る。
【００１４】
したがって、本開示はまた、実行されたとき、ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテクスチャビューコンポーネントを受信することと、ビデオデータのビューの時間インスタンスのためのテクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信することと、テクスチャビューコンポーネントと深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、テクスチャビューコンポーネントと深度ビューコンポーネントとをビューの時間インスタンスのためのビューコンポーネント中にカプセル化することとをビデオ符号化デバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品を対象とする。
【００１５】
別の例では、本開示は、ビデオデータをコーディングする方法であって、テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信することであって、テクスチャビューコンポーネントが、ビューの時間インスタンスのためのテクスチャデータを備え、深度ビューコンポーネントが、ビデオデータのビューの時間インスタンスのためのテクスチャデータに対応する深度データを備える、受信することと、ビデオデータのビューの時間インスタンスのためのテクスチャビューコンポーネントと深度ビューコンポーネントとを分離することとを備える方法を対象とする。
【００１６】
さらに別の例では、本開示は、ビデオデータを処理するためのデバイスであって、テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信することであって、テクスチャビューコンポーネントが、ビューの時間インスタンスのためのテクスチャデータを備え、深度ビューコンポーネントが、ビデオデータのビューの時間インスタンスのためのテクスチャデータに対応する深度データを備える、受信することと、ビデオデータのビューの時間インスタンスのためのテクスチャビューコンポーネントと深度ビューコンポーネントとを分離することとを行うように構成されたビデオコーダを備えるデバイスを対象とする。
【００１７】
別の例では、本開示は、ビデオデータを処理するためのデバイスであって、テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信するための手段であって、テクスチャビューコンポーネントが、ビューの時間インスタンスのためのテクスチャデータを備え、深度ビューコンポーネントが、ビデオデータのビューの時間インスタンスのためのテクスチャデータに対応する深度データを備える、受信するための手段と、ビデオデータのビューの時間インスタンスのためのテクスチャビューコンポーネントと深度ビューコンポーネントとを分離するための手段とを備えるデバイスを対象とする。
【００１８】
さらに別の例では、本開示は、実行されたとき、テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信することであって、テクスチャビューコンポーネントが、ビューの時間インスタンスのためのテクスチャデータを備え、深度ビューコンポーネントが、ビデオデータのビューの時間インスタンスのためのテクスチャデータに対応する深度データを備える、受信することと、ビデオデータのビューの時間インスタンスのためのテクスチャビューコンポーネントと深度ビューコンポーネントとを分離することとをビデオ復号デバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品を対象とする。
【００１９】
本開示の１つまたは複数の態様の詳細を添付の図面および以下の説明に記載する。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００２０】
【図１】本開示の技法のうちの１つまたは複数を実装するために使用され得るビデオ符号化および復号システムの一例を示すブロック図。
【図２】図１のビデオエンコーダの一例をさらに詳細に示すブロック図。
【図３Ａ】本開示の技法のうちの１つまたは複数の一実装形態において使用され得るビットストリーム構造の一例を示す概念図。
【図３Ｂ】図３Ａのビットストリーム構造中に含まれ得るビューの一例を示す概念図。
【図４Ａ】例示的なＭＶＣ予測パターンを示す概念図。
【図４Ｂ】２つのビューのためのマルチビュービデオコーディング（ＭＶＣ）互換マルチビュービデオプラス深度（ＭＶＤ：Multiview Video-plus Depth）コーディングを示す概念図。
【図４Ｃ】３つ以上のビューのためのＭＶＣ互換ＭＶＤコーディングを示す概念図。
【図４Ｄ】複数のビューのためのＭＶＣ互換ＭＶＤコーディングを示す概念図。
【図５】本開示に一致するビデオエンコーダの例示的な動作を示す流れ図。
【図６】図１のビデオデコーダの一例をさらに詳細に示すブロック図。
【図７】本開示に一致するビデオデコーダの例示的な動作を示す流れ図。
【発明を実施するための形態】
【００２１】
本開示では、テクスチャ情報と深度情報とを含むビデオデータのコーディングをサポートするための技法について説明する。テクスチャ情報は、ルミナンス（輝度）およびクロミナンス（色）情報など、２次元（２Ｄ）ピクチャをレンダリングするための情報を指す。深度情報は、深度マップ（たとえば、ピクセルごとの深度値）またはパララックスマップ（たとえば、ピクセルごとの水平視差）など、３Ｄビデオを形成する際に有用な情報を含み得る。
【００２２】
説明する技法は、３次元（３Ｄ）ビデオコンテンツのコーディングに関する。特に、これらの技法は、ＭＶＣビットストリームの１つまたは複数のビューのテクスチャコンポーネントに深度コンポーネントを与えることを対象とする。３Ｄビデオコンテンツは、たとえば、マルチビュービデオプラス深度（ＭＶＤ）データとして表され得る。すなわち、これらの技法は、マルチビュービデオコーディング（ＭＶＣ）ビットストリームのいずれかまたはすべてのビューが、深度情報、たとえば、深度ビューコンポーネントをさらに含み得る、ＭＶＣビットストリームに似ているビットストリームを符号化するために適用され得る。
【００２３】
深度推定と仮想ビュー合成とに基づくビデオ変換が、３Ｄビデオアプリケーションなど、３Ｄ画像を作成するために使用され得る。特に、シーンの３Ｄビューを作成するために、シーンの仮想ビューが使用され得る。シーンの既存のビューに基づくシーンの仮想ビューの生成は、従来、仮想ビューを合成する前にオブジェクト深度値を推定することによって達成される。深度推定は、ステレオペアまたはモノスコープコンテンツからオブジェクトとカメラ平面との間の絶対または相対距離を推定するプロセスである。深度情報は、深度マップ（たとえば、ピクセルごとの深度値）またはパララックスマップ（たとえば、ピクセルごとの水平視差）など、３次元ビデオを形成する際に有用な情報を含み得る。
【００２４】
グレーレベル画像深度マップによって通常表される推定深度情報は、深度画像ベースレンダリング（ＤＩＢＲ：depth image based rendering）技法を使用して任意のアングルの仮想ビューを生成するために使用され得る。マルチビューシーケンスが効率的なビュー間圧縮の課題に直面する、従来の３次元テレビジョン（３ＤＴＶ）システムと比較して、深度マップベースのシステムは、効率的に符号化され得る（１つまたは複数の）深度マップとともに１つまたは数個のビューのみを送信することによって帯域幅の使用量を低減し得る。深度マップベースの変換において使用される（１つまたは複数の）深度マップは、それがビュー合成において使用される前に、エンドユーザによって（たとえば、スケーリングを通して）制御可能であり得る。異なる量の知覚深度をもつカスタマイズされた仮想ビューが生成され得る。また、深度の推定は、１ビュー２Ｄコンテンツのみが利用可能であるモノスコープビデオを使用して実行され得る。
【００２５】
ＭＶＣは、シーンの２つ以上のビューの符号化をサポートするＩＴＵ−Ｔ  Ｈ．２６４符号化規格の拡張である。ＨＥＶＣのＭＶＣ拡張も提案されている。未加工ビデオデータをキャプチャするとき、シーンの撮影中に２つ以上のカメラがアクティブであり得、カメラの各々は、異なるパースペクティブからのそれぞれのビューのためのデータを生成し得る。ＭＶＣによれば、ビューの各々は符号化され得、ビューは、図４Ａに示すように、他のコード化ビューのピクチャを参照ピクチャとして使用して符号化され得（ビュー間予測）、ならびに同じビューの他のピクチャを参照ピクチャとして使用して符号化され得る（時間的予測）。
【００２６】
２つ以上のカメラによってキャプチャされた異なるビューが、３Ｄビデオデータをサポートするために使用され得る。２つのビューは、光の異なる偏光を使用して同時に表示され得、閲覧者は、閲覧者の眼の各々がビューの各々を受信するようなパッシブ偏光眼鏡を着用し得る。代替的に、閲覧者は、各眼を単独でシャッターするアクティブ眼鏡を着用し得、ディスプレイは、眼鏡と同期して、各眼の画像を高速に交互させ得る。いくつかのディスプレイは、ユーザが、様々なパースペクティブからのシーンを閲覧するために、様々なアングルからディスプレイを観測し得るように、８つものビューまたはさらに多くのビューを表示することが可能である。
【００２７】
本技法は、同じビューのための共通のビットストリーム中にテクスチャ情報と深度情報の両方をコーディングすることを伴う。ビデオデコーダは、符号化ビューのテクスチャ情報および深度情報から１つまたは複数の追加のビューを生成し得る。したがって、たとえば、８つのビューのフルセットを符号化するのではなく、本開示の技法によるエンコーダは、各ビューについてのテクスチャ情報と深度情報とを含む、たとえば、４つのビューを符号化し得る。本開示では、「コーディング」という用語は、符号化および／または復号のいずれかまたはその両方を指し得る。
【００２８】
より詳細には、本開示の技法は、同じビットストリーム内への同じビューのテクスチャ情報と深度情報とのコーディングをサポートすることを対象とする。テクスチャ情報と深度情報とをコーディングするための既存の技法は、別個のビットストリーム中でテクスチャ情報と深度情報とを与えることを対象とする。
【００２９】
本開示の一態様では、テクスチャ情報と深度情報とは、同じビットストリームの別個のコンポーネントとしてコーディングされ得、これは、２つのコンポーネントが互いから容易に分離されることを可能にし得る。その結果、ビットストリームがディスプレイデバイスに転送されるとき、ビットストリームは、ディスプレイデバイスの能力に応じて調整され得る。たとえば、両方のコンポーネントを含むビットストリームは３Ｄ対応デバイスに転送され得るが、ビットストリームは、フィルタ処理され、深度情報コンポーネントを含むことなしに２Ｄ対応デバイスに転送され得る。
【００３０】
より詳細には、本開示は、ビューのビューコンポーネントがテクスチャ情報と深度情報の両方を含むように、ビデオデータのビューのためのデータを与えることを提案する。ビューコンポーネントは、特定のビューについての共通の時間インスタンスのためのすべてのデータを含むデータのユニットである。ＶＣＬ  ＮＡＬユニットとも呼ばれる、ビデオコーディングレイヤ（ＶＣＬ）におけるネットワークアブストラクションレイヤ（ＮＡＬ）ユニットは、コード化ビデオデータ、たとえば、テクスチャデータまたは深度データのスライスまたはフレームを含み得る。本開示の技法は、共通の時間インスタンスのためのテクスチャＶＣＬ  ＮＡＬユニットと深度ＶＣＬ  ＮＡＬユニットとを、共通のビューコンポーネントに属するものとして扱うことを提案する。
【００３１】
本開示の技法によれば、同じビューコンポーネント中に共通の時間インスタンスのためのテクスチャＶＣＬ  ＮＡＬユニットと深度ＶＣＬ  ＮＡＬユニットとを与えることによって、テクスチャ情報のためのあるコーディングデータが、深度情報をコーディングするために再利用され得る。たとえば、ＶＣＬ  ＮＡＬユニットのための深度マップは、変位ベクトルを使用して、対応するテクスチャ情報から予測され得る。従来のＭＶＣの場合と同様に、他のビューのテクスチャ情報に対してビューのテクスチャ情報をコーディングするためのビュー間予測も利用可能であり得る。
【００３２】
さらに、本開示は、与えられたビューのカメラパラメータをシグナリングし、それらのカメラパラメータをビュー合成予測において使用するための技法を提供する。カメラパラメータを使用して、ビデオデコーダは、たとえば、深度画像ベースレンダリング（ＤＩＢＲ）を使用して、参照ビューおよび対応する深度マップから仮想ビューを合成することができる。合成仮想ビューは、別のビューを符号化するための予測として使用され得る。一例では、参照ビューは深度マップ自体であり得る。このようにして、カメラパラメータおよび１つの参照深度マップは、仮想現在深度マップを合成するのに十分であり得る。
【００３３】
本明細書で説明する技法は、テクスチャコンポーネントと深度コンポーネントとを符号化し、それらを単一のビットストリームに一緒にカプセル化するために適用され得る。単一の瞬間における単一のビューに関連するテクスチャコンポーネントと深度コンポーネントとは、一緒に符号化され得、ビデオデータユニット、たとえば、ビデオフレームまたはスライスに関連付けられ得る。本開示の技法によれば、ビデオエンコーダは、ビューの深度コンポーネントをコーディングするために、ビューのテクスチャコンポーネントに関連する予測データを再利用し得る。このようにして、エンコーダは、２つのコンポーネント間または２つのビュー間の予測依存性、あるいは合成ビューへの予測依存性を使用してテクスチャコンポーネントと深度コンポーネントとを符号化し、ビデオデータをコーディングする際に有用になる予測依存性をシグナリングし得る。さらに、本開示は、他のビューのテクスチャ情報に対してビューのテクスチャ情報をコーディングするためのビュー間予測の技法を提供し得る。本開示のこれらおよび他の技法について、以下でより詳細に説明し得る。
【００３４】
図１は、本開示の技法のうちの１つまたは複数を実装するために使用され得るビデオ符号化および復号システム１０の一例を示すブロック図である。図１に示すように、システム１０は、通信チャネル１５を介して符号化ビデオを宛先デバイス１６に送信するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１６は、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１６のいずれかまたはその両方は、ワイヤレスハンドセット、いわゆるセルラー無線電話または衛星無線電話などのワイヤレス通信デバイスを備えるか、あるいは、通信チャネル１５を介してビデオ情報を通信することができ、その場合、通信チャネル１５がワイヤレスである、任意のワイヤレスデバイスを備え得る。ただし、テクスチャ情報と深度情報の両方を含むビデオデータをコーディングすることに関する本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法はまた、物理ワイヤ、光ファイバーまたは他の物理媒体もしくはワイヤレス媒体を介して通信するデバイスを含む、広範囲の他の設定およびデバイスにおいて有用であり得る。たとえば、符号化ビデオは、宛先デバイス１６による、その後の検索、復号、および表示のために記憶デバイスに記憶され得る。さらに、本符号化技法または復号技法は、必ずしも他のデバイスと通信するとは限らないスタンドアロンデバイスにおいても適用され得る。
【００３５】
図１の例では、ソースデバイス１２は、ビデオソース２０と、深度処理ユニット２１と、ビデオエンコーダ２２と、変調器／復調器（モデム）２３と、送信機２４とを含み得る。宛先デバイス１６は、受信機２６と、モデム２７と、ビデオデコーダ２８と、ディスプレイデバイス３０とを含み得る。本開示によれば、ソースデバイス１２のビデオエンコーダ２２は、ビデオ符号化プロセスの一部として本開示の技法のうちの１つまたは複数を適用するように構成され得る。同様に、宛先デバイス１６のビデオデコーダ２８は、ビデオ復号プロセスの一部として本開示の技法のうちの１つまたは複数を適用するように構成され得る。
【００３６】
ビデオエンコーダ２２はまた、残差ブロックの通信に関連するビットレートをさらに低減するために、変換、量子化、およびエントロピーコーディングプロセスを適用し得る。変換技法は、離散コサイン変換（ＤＣＴ）または概念的に同様のプロセスを備え得る。代替的に、ウェーブレット変換、整数変換、または他のタイプの変換が使用され得る。ＤＣＴプロセスでは、一例として、ピクセル値のセットが、周波数領域におけるピクセル値のエネルギーを表し得る変換係数に変換され得る。ビデオエンコーダ２２はまた、変換係数を量子化し得、これは、一般に、対応する変換係数に関連するビット数を低減するプロセスを伴い得る。エントロピーコーディングは、ビットストリームへの出力のためにデータをまとめて圧縮する１つまたは複数のプロセスを含み得、圧縮されたデータは、たとえば、一連のコーディングモードと、動き情報と、コード化ブロックパターンと、量子化された変換係数とを含み得る。エントロピーコーディングの例には、限定はしないが、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）およびコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context adaptive binary arithmetic coding）がある。
【００３７】
コード化ビデオブロックは、予測ブロックを生成または識別するために使用され得る予測情報と、元のブロックを再現するために予測ブロックに適用され得る残差データブロックとによって表され得る。予測情報は、予測データブロックを識別するために使用される１つまたは複数の動きベクトルを備え得る。動きベクトルを使用して、ビデオデコーダ２８は、残差ブロックをコーディングするために使用された予測ブロックを再構成し得る。したがって、残差ブロックのセットと動きベクトルのセット（場合によってはいくつかの追加のシンタックス）とが与えられれば、ビデオデコーダ２８は、最初に符号化されたビデオフレームを再構成することができる。連続するビデオフレームまたは他のタイプのコード化ユニットはしばしば類似しているので、動き推定と動き補償とに基づくインターコーディングは、過大なデータ損失なしに比較的大量の圧縮を達成することができる。符号化ビデオシーケンスは、残差データのブロックと、（インター予測符号化されたとき）動きベクトルと、イントラ予測のためのイントラ予測モードの指示と、深度コンポーネントとテクスチャコンポーネントとに関する情報と、場合によっては、シンタックス要素のタイプなど、他のデータとを備え得る。
【００３８】
ビデオエンコーダ２２はまた、共通のフレームまたはスライスの隣接ビデオブロックに対してビデオブロックを符号化するために、イントラ予測技法を利用し得る。このようにして、ビデオエンコーダ２２はブロックを空間的に予測し得る。ビデオエンコーダ２２は、様々な空間的予測方向に概して対応する、様々なイントラ予測モードで構成され得る。動き推定の場合と同様に、ビデオエンコーダ２２は、ブロックのルミナンスコンポーネントに基づいてイントラ予測モードを選択し、次いで、ブロックのクロミナンスコンポーネントを符号化するためにイントラ予測モードを再利用するように構成され得る。その上、本開示の技法によれば、ビデオエンコーダ２２は、ビューの深度コンポーネントを符号化するために、そのビューの、ルーマコンポーネントとクロマコンポーネントとを備えるテクスチャコンポーネントを符号化する際に使用した予測関係を再利用し得る。さらに、本開示の技法によれば、ビデオエンコーダ２２は、他のビューのテクスチャコンポーネントに対してビューのテクスチャコンポーネントを符号化し得、他のビューの深度コンポーネントに対してビューの深度コンポーネントを符号化し得る。いくつかの例では、ビデオデコーダ２２は、合成ビューのテクスチャデータに対して深度コンポーネントを符号化し得る。
【００３９】
本開示の技法は、ＭＶＤにおいてテクスチャコンポーネントと深度コンポーネントとをコーディングするプロセスを簡略化し得、１つのビューに関連するテクスチャコンポーネントと深度コンポーネントとを同じビットストリーム中にカプセル化することによって、ビットストリーム効率を改善し得る。これらの技法はまた、ビュー内予測とビュー間予測とビュー合成予測とについての情報を与えることを含み得る。ビュー内予測では、テクスチャから深度への動き予測に関する情報がシグナリングされ得る。ビュー間予測では、一方のビューから他方のビューへの予測に関する情報がシグナリングされ得る。ビュー合成予測は、テクスチャコンポーネントと深度コンポーネントとを含む参照ビューからの仮想ビューの合成を可能にし得る。
【００４０】
図１の図示されたシステム１０は一例にすぎない。本開示の様々な技法は、予測符号化をサポートする任意の符号化デバイスによって、または予測復号をサポートする任意の復号デバイスによって実行され得る。ソースデバイス１２および宛先デバイス１６は、ソースデバイス１２が宛先デバイス１６に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。場合によっては、デバイス１２および１６は、デバイス１２および１６の各々がビデオ符号化構成要素と復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのためのビデオデバイス１２とビデオデバイス１６との間の一方向または双方向のビデオ送信をサポートし得る。
【００４１】
ソースデバイス１２のビデオソース２０は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードを含み得る。さらなる代替として、ビデオソース２０は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、あるいはライブビデオ、アーカイブビデオ、および／またはコンピュータ生成ビデオの組合せを生成し得る。場合によっては、ビデオソース２０がビデオカメラである場合、ソースデバイス１２および宛先デバイス１６は、いわゆるカメラフォンまたはビデオフォン、あるいは、タブレットコンピューティングデバイスなど、ビデオデータを操作するように構成された他のモバイルデバイスを形成し得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２２によって符号化され得る。ビデオソース２０は、ビュー２をキャプチャし、それを深度処理ユニット２１に与える。
【００４２】
ビデオソース２０は、ビュー２中のオブジェクトのための深度画像の計算のために、ビュー２を深度処理ユニット２１に与える。深度処理ユニット２１は、ビュー２の画像中のオブジェクトの深度値を自動的に計算するように構成され得る。たとえば、深度処理ユニット２１は、ルミナンス情報とクロミナンス情報とを含み得るテクスチャ情報に基づいて、オブジェクトの深度値を計算し得る。いくつかの例では、深度処理ユニット２１は、ユーザから深度情報を受信するように構成され得る。いくつかの例では、ビデオソース２０は、異なるパースペクティブにおいてシーンの２つ以上のビューをキャプチャし、次いで、２つ以上のビュー中のオブジェクト間の視差に基づいて、シーン中のオブジェクトについての深度情報を計算し得る。様々な例では、ビデオソース２０は、標準的な２次元カメラ、シーンの立体ビューを与える複数カメラシステム、シーンの複数のビューをキャプチャするカメラアレイ、または１つのビューと深度情報とをキャプチャするカメラを備え得る。
【００４３】
深度処理ユニット２１は、テクスチャコンポーネント４と深度情報６とをビデオエンコーダ２２に渡し得る。深度処理ユニット２１はまた、ビュー２をビデオエンコーダ２２に渡し得る。深度情報６は、ビュー２のための深度マップ画像を備え得る。深度マップは、表示されるべきエリア（たとえば、ブロック、スライス、またはフレーム）に関連するピクセルの各領域の深度値のマップを備え得る。ピクセルの領域は、単一のピクセルであるか、または１つまたは複数のピクセルのグループであり得る。深度マップのいくつかの例は、ピクセルごとに１つの深度コンポーネントを有する。他の例では、ピクセルごとに複数の深度コンポーネントがあり得る。
【００４４】
いくつかの例では、深度マップは推定される。２つ以上のビューが存在するとき、２つ以上のビューが利用可能なときに深度マップを推定するためにステレオマッチングが使用され得る。しかしながら、２Ｄ３Ｄ変換では、深度を推定することはより難しくなり得る。とはいえ、様々な方法によって推定された深度マップが、深度画像ベースレンダリング（ＤＩＢＲ）に基づく３Ｄレンダリングのために使用され得る。
【００４５】
ビデオソース２０はシーンの複数のビューを与え得るが、深度処理ユニット２１は、複数のビューに基づいて深度情報を計算し得、ソースデバイス１２は、概して、１つのビューとシーンの各ビューについての深度情報とを送信し得る。本開示の一例では、異なるビューに関連するパラメータ、たとえば、カメラパラメータが送信され、その後デコーダによって、参照ビューと対応する深度マップとを使用して仮想ビューを合成するために使用され得る。カメラパラメータは、たとえば、真性パラメータ（たとえば、水平方向における焦点距離および主点オフセット）と外因性パラメータ（たとえば、各ビューについての現実世界水平カメラロケーション）とを含み得る。一般に、マルチビューシーケンスの各ビューは同じ真性パラメータを共有する。したがって、これらのパラメータは、シグナリングされた真性パラメータがシーケンスのすべてのビューに適用されるように、シーケンスについて１回シグナリングされ得る。このようにして、各シーケンスについて、いくつかのカメラパラメータが１回シグナリングおよび通信され、したがって、符号化および送信される情報の量を低減し得る。一例では、カメラパラメータはシーケンスレベルにおいてシグナリングされ得る。
【００４６】
一例では、各深度マップ画像は、８ビットピクセルを使用して表され得る。深度マップ画像の各８ビットピクセルについて、たとえば、復号ループの一部であり得るＤＩＢＲのために、量子化８ビット深度値にマッピングする現実世界ｚ値が使用され得る。シーケンスレベルまたはピクチャレベルにおいて、８ビット深度値から現実世界ｚ値にマッピングする関数がシグナリングまたは仮定され得る。この例では、デフォルト深度対ｚ値変換関数、たとえば、関数が深度値からｚ値への反比例関数であることを指定する指示がシグナリングされ得る。さらに、関数が決定されたとき、たとえば、シーケンスパラメータセット中で、深度範囲もシグナリングされ得る。深度値とｚ値との間のより複雑な変換が利用される例では、深度値対現実世界ｚ値を含んでいるテーブル（２５６個の浮動数）がシグナリングされ得る。
【００４７】
ビュー２がデジタル静止ピクチャであるとき、ビデオエンコーダ２２は、たとえば、Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＪＰＥＧ）画像としてビュー２を符号化するように構成され得る。ビュー２がビデオデータのフレームであるとき、ビデオエンコーダ２２は、たとえば、Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）、国際標準化機構（ＩＳＯ）／国際電気標準会議（ＩＥＣ）ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、国際電気通信連合（ＩＴＵ）Ｈ．２６１、ＩＴＵ−Ｔ  Ｈ．２６２、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｈ．２６４  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）、（Ｈ．２６５とも呼ばれる）今度のＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）規格、または他のビデオ符号化規格など、ビデオコーディング規格に従って、第１のビュー２を符号化するように構成され得る。ビデオエンコーダ２２は、各ビューについて、テクスチャデータと深度データと（たとえば、テクスチャスライスと深度スライスと）を符号化し得る。ビデオエンコーダ２２は、テクスチャスライスと深度スライスとのためのネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成し、特定の時間インスタンスにおける特定のビューのＮＡＬユニットをビューコンポーネントとしてカプセル化し得る。このようにして、コード化ビットストリーム８は、深度情報６とともに、符号化画像データまたはテクスチャ情報４を含み得る。ビデオエンコーダ２２はコード化ビットストリーム８を送信機２４に渡す。コード化ビットストリーム８は、コード化テクスチャ情報４、深度情報６を含み得、たとえば、予測依存性およびカメラパラメータなど、シグナリングされた情報とともに送信され得る。
【００４８】
コード化ビットストリーム８は、テクスチャ情報４と深度情報６とを含み得る。テクスチャコンポーネント４は、ビデオ情報のルミナンス（ルーマ）コンポーネントとクロミナンス（クロマ）コンポーネントとを含み得る。ルーマコンポーネントは概して輝度を記述し、クロミナンスコンポーネントは概して色の色相を記述する。深度処理ユニット２１は、ビデオ２の深度マップから深度情報６を抽出し得る。ビデオエンコーダ２２は、テクスチャコンポーネント４と深度情報６とを符号化し、それらを単一のビットストリーム、具体的には、コード化ビットストリーム８にカプセル化し得る。同様に、ビデオエンコーダ２２は、テクスチャコンポーネントについての動き予測依存性が、深度コンポーネントを符号化するために使用されるように、ビットストリームを符号化し得る。このようにして、深度コンポーネントはテクスチャコンポーネントから予測され得る。さらに、本開示の技法によれば、ビデオエンコーダ２２は、水平方向における焦点距離および主点オフセット、ならびに各ビューについての現実世界水平カメラロケーションなど、特定のビューに関連するカメラパラメータをシグナリングし得る。
【００４９】
このようにして、宛先デバイス１６は、たとえば、特定の３Ｄレンダリング効果を達成する（たとえば、比較的より大きいまたはより小さい深度を生成する）ように、特定の視点における合成ビューを達成するために、特定のビューについてのテクスチャ情報と深度情報とを使用してビューを合成し得る。たとえば、比較的より大きい知覚深度を生成するために、宛先デバイス１６は、コード化ビューのカメラ位置から比較的より遠いカメラ位置を有するビューを合成し得、比較的より小さい知覚深度を生成するために、宛先デバイス１６は、コード化ビューのカメラ位置に比較的より近いカメラ位置を有するビューを合成し得る。このようにして、宛先デバイス１６は、ビットストリームのビューが合成ビューとともに表示されるときに、３次元効果を生成するために使用されるビューを合成するために、ビットストリームのコード化ビューについての現実世界カメラロケーションなど、カメラパラメータを使用するように構成され得る。
【００５０】
コード化ビットストリーム８は、たとえば、符号分割多元接続（ＣＤＭＡ）または別の通信規格などの通信規格に従ってモデム２３によって変調され、送信機２４および通信チャネル１５を介して宛先デバイス１６に送信され得る。モデム２３は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。いくつかの例では、通信チャネル上で送信するのではなく、ソースデバイス１２は、符号化ビデオデータ（たとえば、コード化ビットストリーム８）を、デジタルビデオディスク（ＤＶＤ）、ブルーレイ（登録商標）ディスク、フラッシュドライブなどの記憶媒体上に記憶する。
【００５１】
宛先デバイス１６の受信機２６は通信チャネル１５を介して情報を受信し、モデム２７はその情報を復調する。送信機２４と同様に、受信機２６は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを受信するために設計された回路を含み得る。いくつかの例では、送信機２４および／または受信機２６は、受信回路と送信回路の両方を含む単一のトランシーバ構成要素内に組み込まれ得る。モデム２７は、信号復調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。いくつかの例では、モデム２３および２７は、変調と復調の両方を実行するための構成要素を含み得る。
【００５２】
「コーダ」という用語は、本明細書では、ビデオ符号化またはビデオ復号を実行する専用コンピュータデバイスまたは装置を指すために使用される。「コーダ」という用語は、概して、任意のビデオエンコーダ、ビデオデコーダ、または複合エンコーダ／デコーダ（コーデック）を指す。「コーディング」という用語は、符号化または復号を指す。「コード化ビデオデータ」という用語は、ブロック、フレーム全体、フレームのスライス、ビデオデータのブロック、または使用されるコーディング技法に従って定義される別の単独で復号可能なユニットなど、ビデオデータの単独で復号可能な任意のユニットを指し得る。
【００５３】
ディスプレイデバイス３０は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々な１つまたは複数のディスプレイデバイスのいずれかを備え得る。いくつかの例では、ディスプレイデバイス３０は、３次元再生が可能なデバイスに対応する。たとえば、ディスプレイデバイス３０は、閲覧者によって着用されたアイウェアとともに使用される立体視ディスプレイを備え得る。アイウェアは、アクティブ眼鏡を備え得、その場合、ディスプレイデバイス３０は、アクティブ眼鏡のレンズの交互シャッタリング（alternate shuttering）と同期して、異なるビューの画像を高速に交互させる。代替として、アイウェアは、パッシブ眼鏡を備え得、その場合、ディスプレイデバイス３０は、異なるビューからの画像を同時に表示し、パッシブ眼鏡は、概して、異なるビュー間でフィルタ処理するために直交方向に偏光された偏光レンズを含み得る。
【００５４】
図１の例では、通信チャネル１５は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１５は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１５は、概して、ビデオデータをソースデバイス１２から宛先デバイス１６に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１５は、ソースデバイス１２から宛先デバイス１６への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００５５】
ビデオエンコーダ２２およびビデオデコーダ２８は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）として説明されるＩＴＵ−Ｔ  Ｈ．２６４規格など、ビデオ圧縮規格に従って動作し得る。ビデオエンコーダ２２およびビデオデコーダ２８によって使用され得るＩＴＵ  Ｈ．２６４／ＡＶＣ規格に基づく追加のビデオ圧縮規格には、ＩＴＵ  Ｈ．２６４／ＡＶＣ規格のスケーラブルな拡張であるスケーラブルビデオコーディング（ＳＶＣ）規格がある。ビデオエンコーダ２２およびビデオデコーダ２８がそれに従って動作し得る別の規格には、ＩＴＵ  Ｈ．２６４／ＡＶＣ規格のマルチビュー拡張であるマルチビュービデオコーディング（ＭＶＣ）規格がある。ただし、本開示の技法は、いかなる特定のビデオコーディング規格にも限定されない。
【００５６】
いくつかの態様では、ビデオエンコーダ２２およびビデオデコーダ２８は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、また、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００５７】
ビデオエンコーダ２２およびビデオデコーダ２８はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せとして実装され得る。本開示の技法のうちのいずれかまたはすべてがソフトウェアで実装されるとき、実装するデバイスは、ソフトウェアのための命令を記憶および／または実行するためのハードウェア、たとえば、命令を記憶するためのメモリと、命令を実行するための１つまたは複数の処理装置とをさらに含み得る。ビデオエンコーダ２２およびビデオデコーダ２８の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれかは符号化機能と復号機能とを与える複合コーデックの一部としてそれぞれのモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに統合され得る。
【００５８】
ビデオシーケンスは、一般に、ビデオピクチャとも呼ばれる一連のビデオフレームを含む。ビデオエンコーダ２２は、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して動作する。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。各ビデオフレームは、一連の１つまたは複数のスライスを含む。ＩＴＵ−Ｔ  Ｈ．２６４規格では、たとえば、各スライスは一連のマクロブロックを含み得、それらのマクロブロックはサブブロックに構成され得る。Ｈ．２６４規格は、ルーマコンポーネントについては１６×１６、８×８、または４×４、およびクロマコンポーネントについては８×８など、２次元（２Ｄ）ビデオ符号化のための様々なブロックサイズのイントラ予測をサポートし、ならびにルーマコンポーネントについては１６×１６、１６×８、８×１６、８×８、８×４、４×８および４×４、およびクロマコンポーネントについては対応するスケーリングされたサイズなど、様々なブロックサイズのインター予測をサポートする。ビデオブロックは、ピクセルデータのブロック、または、たとえば離散コサイン変換（ＤＣＴ）もしくは概念的に同様の変換プロセスなどの変換プロセスの後の変換係数のブロックを備え得る。これらの技法は、２つのコンポーネント、すなわちテクスチャと深度とを含む３Ｄビデオストリームに拡張され得る。
【００５９】
小さいビデオブロックほど、より良い解像度が得られ、高い詳細レベルを含むビデオフレームのロケーションのために使用され得る。概して、マクロブロックおよび様々なサブブロックはビデオブロックであると見なされ得る。さらに、ビデオデータのスライスは、マクロブロックおよび／またはサブブロックなど、一連のビデオブロックであると見なされ得る。各スライスは、ビデオフレームの単独で復号可能なユニットであり得る。代替的に、フレーム自体が復号可能なユニットであり得るか、またはフレームの他の部分が復号可能なユニットとして定義され得る。
【００６０】
ＩＴＵ−Ｔ  Ｈ．２６４規格の２Ｄビデオデータユニット（たとえば、フレームまたはスライス）は、そのビデオフレームまたはスライスのためのテクスチャコンポーネント４に加えて、深度マップまたはパララックスマップからの深度情報６を符号化することによって、３Ｄに拡張され得る。（仮想変位マッピングまたはオフセットマッピングとも呼ばれる）パララックスマッピングは、ピクセルロケーションにおけるビューアングルと高さマップとの関数に基づいて、ピクセルロケーションにおけるテクスチャコンポーネントを変位させる。ビデオエンコーダ２２は深度情報を単色ビデオとして符号化し得る。ビューについてのこの単色ビデオ符号化深度情報は、符号化され、同じビューのテクスチャコンポーネントとともにビデオユニット（たとえば、ビットストリーム）中にカプセル化され得る。本開示の技法によれば、ビデオデータのビューのビューコンポーネントは、コーディングされ、同じビットストリーム中に一緒にカプセル化されたテクスチャコンポーネントと深度コンポーネントとを含み得る。ビューコンポーネントは、特定のビュー（たとえば、特定のカメラまたはビデオキャプチャ要素）についての共通の時間インスタンスのためのすべてのデータを含むデータのユニットである。
【００６１】
コード化ビットストリーム８のコンポーネントを構成するビデオブロックなどのビデオブロックを符号化するために、ビデオエンコーダ２２は、イントラまたはインター予測を実行して、１つまたは複数の予測ブロックを生成する。ビデオエンコーダ２２は、テクスチャコンポーネントデータユニット（たとえば、フレームまたはスライス）と深度コンポーネントデータユニットとのための予測ブロックを生成し得る。さらに、ビデオエンコーダ２２は、ビューのための１つまたは複数の予測ブロックを生成するために、ビュー内またはビュー間予測を実行し得、ビュー内予測は、同じビュー内のコンポーネント間の依存性を活用し得、ビュー間予測は、異なるビューのコンポーネント間の依存性を活用し得る。
【００６２】
ビデオエンコーダ２２は、符号化されるべき元のビデオブロックから予測ブロックを減算して、残差ブロックを生成する。したがって、残差ブロックは、コーディングされているブロックと予測ブロックとの間のピクセルごとの差分を表し得る。ビデオエンコーダ２２は、残差ブロックに対して変換を実行して、変換係数のブロックを生成し得る。イントラまたはインターベースの予測コーディングおよび変換技法の後、ビデオエンコーダ２２は変換係数を量子化し得る。量子化は、概して、係数を表すために使用されるデータ量をできるだけ低減するために係数を量子化するプロセスを指す。量子化の後、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）またはコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）など、エントロピーコーディング方法に従ってエントロピーコーディングが実行され得る。ビデオエンコーダ２２によって実行される符号化プロセスの追加の詳細について、図２に関して以下で説明する。
【００６３】
Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）と現在呼ばれる、新しいビデオコーディング規格を開発するための取り組みが現在進行中である。この今度の規格はＨ．２６５とも呼ばれる。規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）と呼ばれるビデオコーディングデバイスのモデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３４個ものイントラ予測符号化モードを提供する。ＨＥＶＣは、本明細書で説明するように、２つのコンポーネントビデオユニットをサポートするように拡張され得る。
【００６４】
ＨＭでは、ビデオデータのブロックをコーディングユニット（ＣＵ）と呼ぶ。ビットストリーム内のシンタックスデータは、ピクセルの数に関して最大のコーディングユニットである最大コーディングユニット（ＬＣＵ）を定義し得る。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。２コンポーネント（すなわち、テクスチャコンポーネントおよび深度コンポーネント）コード化ブロックは、ＨＭ規格によればＣＵであり得る。したがって、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コーディングユニット（ＬＣＵ）またはＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵはサブＣＵに分割され得る。ビットストリームのシンタックスデータは、ＣＵ深さと呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ）をも定義し得る。本開示ではまた、ＣＵ、予測ユニット（ＰＵ）、または変換ユニット（ＴＵ）のいずれかを指すために「ブロック」という用語を使用する。
【００６５】
ＬＣＵは４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。
【００６６】
分割されないＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照フレーム、および／または動きベクトルの参照リスト（たとえば、リスト０またはリスト１）を記述し得る。動きベクトルはまた、テクスチャコンポーネント４と深度情報６とについて異なる解像度を有するものとして扱われ得る。（１つまたは複数の）ＰＵを定義するＣＵのデータは、たとえば、１つまたは複数のＰＵへのＣＵの区分についても記述し得る。区分モードは、ＣＵがコーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかの間で異なり得る。
【００６７】
１つまたは複数のＰＵを有するＣＵはまた、１つまたは複数の変換ユニット（ＴＵ）を含み得る。ＰＵを使用した予測の後に、ビデオエンコーダ２２は、ＰＵに対応するＣＵの部分の残差値を計算し得る。残差値は、変換され、走査され、量子化され得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、同じＣＵの対応するＰＵよりも大きいことも小さいこともある。いくつかの例では、ＴＵの最大サイズは、対応するＣＵのサイズに対応し得る。
【００６８】
上記のように、イントラ予測は、あるピクチャの現在のＣＵのＰＵを、同じピクチャの前にコーディングされたＣＵから予測することを含む。より詳細には、ビデオエンコーダ２２は、特定のイントラ予測モードを使用してあるピクチャの現在のＣＵをイントラ予測し得る。ＨＭエンコーダは、最高３４個のイントラ予測モードで構成され得る。したがって、方向性イントラ予測モードと方向性変換との間の１対１のマッピングをサポートするために、ＨＭエンコーダおよびデコーダは、サポートされる各変換サイズについて６６個の行列を記憶する必要があろう。さらに、すべての３４個のイントラ予測モードがサポートされるブロックサイズは、相対的に大きいブロック、たとえば、３２×３２ピクセル、６４×６４ピクセル、またはより一層大きいピクセルになり得る。
【００６９】
テクスチャコンポーネントおよび深度コンポーネントの各々を符号化した後に、ビデオエンコーダ２２は、ビューのテクスチャコンポーネントと深度コンポーネントとの間の、および／または異なるビューのテクスチャコンポーネントと深度コンポーネントとの間の予測依存性を判断し得る。ソースデバイス１２は、テクスチャコンポーネントと深度コンポーネントとを、共通のビューコンポーネントとして扱われ得る、ビューについての同じ時間インスタンスに対応するそれぞれのＶＣＬ  ＮＡＬユニットにカプセル化することによって、本開示の技法を実装し得る。本開示の技法は、ビューについてのテクスチャデータと深度マップデータとをビットストリーム（たとえば、コード化ビットストリーム８）中に連続的にコーディングすることを実現し得る。ビューコンポーネントのテクスチャ情報と深度マップ情報とを分離するために、ビデオエンコーダ２２は、ビットストリーム中にデリミタ、たとえば、ビューコンポーネントのためのテクスチャ情報の終端と深度情報の始端とを示すＮＡＬユニットデリミタを追加し得る。さらに、ビデオエンコーダ２２は、ビットストリーム内で、ビュー内およびビュー間予測依存性とビュー合成予測に関連するパラメータとをシグナリングし得る。
【００７０】
本開示の別の態様によれば、ビデオエンコーダ２２は、ビデオデータ中でカメラパラメータをシグナリングし得、さらに、深度値対現実世界ｚ値マッピングを記述し得る。ビデオデータはまた、深度マップビューとテクスチャビューとの予測関係を記述し得る。ビデオエンコーダ２２は、シーケンスレベルにおいて（たとえば、シーケンスパラメータセット（ＳＰＳ）データ構造中で）、ピクチャレベルにおいて（たとえば、ピクチャパラメータセット（ＰＰＳ）データ構造またはフレームヘッダ中で）、スライスレベルにおいて（たとえば、スライスヘッダ中で）、またはブロックレベルにおいて（たとえば、ブロックヘッダ中で）これらの追加のパラメータおよび情報をシグナリングし得る。
【００７１】
宛先デバイス１６において、ビデオデコーダ２８が符号化ビデオデータ（たとえば、コード化ビットストリーム８）を受信する。ビデオデコーダ２８は、以下で説明するように、ＮＡＬユニットがテクスチャ情報を含むのか深度情報を含むのかを示すフラグを使用して、テクスチャＮＡＬユニット（たとえば、テクスチャコンポーネント）を深度ＮＡＬユニット（たとえば、深度コンポーネント）と区別し得る。深度コンポーネントを復号した後、宛先デバイス１６は、１つの２Ｄビュー（すなわち、テクスチャ情報）を使用し、他のビューと深度情報とを廃棄するか、１つの２Ｄビューとそれの対応する深度情報とを使用して、３Ｄ再生のための仮想ビューを合成するか、３Ｄ再生のために２つ以上の２Ｄビューを使用するか、または、複数のビューとそれらの深度情報とを使用して、マルチビュー再生のための複数の仮想ビューを生成し得る。コンテンツをどのように再生すべきかを判断することは、たとえば、ディスプレイデバイス３０がどのデバイスタイプであるか、およびディスプレイデバイス３０によってサポートされるビデオフォーマットなどのファクタに依存し得る。
【００７２】
コード化ビットストリーム８のテクスチャコンポーネントと深度コンポーネントとを分離した後に、ビデオデコーダ２８は、量子化係数を取得するために、ＣＡＶＬＣまたはＣＡＢＡＣなどのエントロピーコーディング方法に従って、コンポーネントの各々に対応するコード化ブロックなど、受信したビデオデータをエントロピー復号する。ビデオデコーダ２８は、逆量子化（inverse quantization）（逆量子化（de-quantization））機能と逆変換機能とを適用して、ピクセル領域中で残差ブロックを再構成する。ビデオデコーダ２８はまた、符号化ビデオデータ中に含まれる（たとえば、コーディングモード、動きベクトル、フィルタ係数を定義するシンタックスなどの）制御情報またはシンタックス情報に基づいて予測ブロックを生成する。ビデオデコーダ２８は、予測ブロックと再構成された残差ブロックとの和を計算して、表示のための再構成されたビデオブロックを生成し得る。ビデオデコーダ２８によって実行される例示的な復号プロセスの追加の詳細について、図７に関して以下で説明する。
【００７３】
本明細書で説明するように、テクスチャ情報は３つのコンポーネントを備え得、たとえば、Ｙはルミナンスを表し得、ＣｂおよびＣｒは３次元ＹＣｂＣｒ色空間のクロミナンスの２つの異なる値（たとえば、青および赤の色相）を表し得、Ｄは深度情報を表し得る。いくつかの例では、各ピクセルロケーションは、ピクセルのテクスチャについての１つのピクセル値とピクセルロケーションの深度についての１つのピクセル値とを実際に定義し得る。テクスチャ値は、たとえば、ルミナンスコンポーネントとクロミナンスコンポーネントとを表す２つ以上の値を備え得る。さらに、深度コンポーネントとテクスチャコンポーネントとは、異なる解像度を有し得る。深度コンポーネントとテクスチャコンポーネントの両方は、ピクセルのそれぞれのブロックに区分され得、ブロックの各々は個々にコーディングされ得る。
【００７４】
いくつかの例では、ビデオエンコーダ２２およびビデオデコーダ２８は、動き補償中に１つまたは複数の補間フィルタ処理技法を使用し得る。すなわち、ビデオエンコーダ２２および／またはビデオデコーダ２８は、フル整数ピクセル位置のセットを備えるフィルタサポートに補間フィルタを適用し得る。
【００７５】
上述のように、宛先デバイス１６のビデオデコーダ２８は、テクスチャコンポーネントと深度コンポーネントとに関連するビューに関する予測依存性と情報とを含む追加情報とともに、テクスチャコンポーネントと深度コンポーネントとを含み得る、コード化ビットストリーム８を受信し得る。さらに、ビューについてのカメラパラメータがシグナリングされ得る。ビデオデコーダ２８は、コード化ビットストリーム８のコンポーネントと、ビュー情報とカメラパラメータとを含む１つまたは複数の追加情報とに基づいて、３Ｄ再生のためにビデオデータをレンダリングし得る。本開示の技法によれば、また以下でより詳細に説明するように、１つまたは複数のビューについての含まれた情報は、１つまたは複数の他のビューのテクスチャコンポーネントから１つのビューのテクスチャコンポーネントを予測するため、ならびに同じビューのテクスチャコンポーネントおよび／または１つまたは複数の他のビューの深度コンポーネントに基づいて１つのビューの深度コンポーネントを予測するために利用され得る。
【００７６】
図２は、図１のビデオエンコーダ２２の一例をさらに詳細に示すブロック図である。ビデオエンコーダ２２は、ビデオソースによって与えられた異なるビューに対応する画像に関連するブロックユニットを符号化し得、各ビューはテクスチャコンポーネントと深度コンポーネントとを備え得る。ビデオエンコーダ２２は、本明細書では「コーダ」と呼ぶ専用ビデオコンピュータデバイスまたは装置の一例である。図２に示すように、ビデオエンコーダ２２は、ソースデバイス１２のビデオエンコーダ２２に対応する。ただし、他の例では、ビデオエンコーダ２２は、異なるデバイスに対応し得る。さらなる例では、（たとえば、他のエンコーダ／デコーダ（コーデック）などの）他のユニットも、ビデオエンコーダ２２によって実行されるものと同様の技法を実行することができる。
【００７７】
ビデオエンコーダ２２は、ビデオフレーム内のブロックのイントラおよびインターコーディングを実行し得るが、説明を簡単にするために、イントラコーディング構成要素は図２に示していない。イントラコーディングは、所与のビデオフレーム内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレーム内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、空間ベースの圧縮モードを指し得る。予測（Ｐモード）または双方向（Ｂモード）などのインターモードは、時間ベースの圧縮モードを指し得る。ただし、説明を簡単で容易にするために、空間的予測ユニットなどのイントラコーディングユニットは図２に示していない。
【００７８】
図２に示すように、ビデオエンコーダ２２は、符号化されるべきビデオフレームのテクスチャコンポーネントと深度コンポーネントとに関連するビデオブロックを受信し、ビデオフレームは、特定の時間における複数のビューのうちの１つに対応し得る。たとえば、ビデオエンコーダ２２は、テクスチャコンポーネント４と深度コンポーネント６とを受信し得る。図２の例では、ビデオエンコーダ２２は、予測コーディングユニット３２と、メモリ３４と、加算器４８と、変換ユニット３８と、量子化ユニット４０と、エントロピーコーディングユニット４６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２２はまた、逆量子化ユニット４２と、逆変換ユニット４４と、加算器５１と、デブロッキングユニット４３とを含む。デブロッキングユニット４３は、再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理し得るデブロッキングフィルタであり得る。ビデオエンコーダ２２中に含まれる場合、デブロッキングユニット４３は、一般に、加算器５１の出力をフィルタ処理することになる。一例では、図２に示すように、変換ユニット３８は、ＨＥＶＣに関する「ＴＵ」ではなく、機能ブロックであり得る。デブロッキングユニット４３は、１つまたは複数のテクスチャコンポーネントについてのデブロッキング情報を判断し得る。デブロッキングユニット４３は、深度マップコンポーネントについてのデブロッキング情報をも判断し得る。いくつかの例では、１つまたは複数のテクスチャコンポーネントについてのデブロッキング情報は、深度マップコンポーネントについてのデブロッキング情報とは異なり得る。
【００７９】
いくつかの例では、ビデオエンコーダ２２は、他のビューのデータを符号化するときに参照のために使用される仮想ビューを合成するためのビュー合成ユニットを含み得る。ビュー合成ユニットは、明快のために図２に示していないが、与えられた場合、通常、メモリ３４から（特定のビューコンポーネントについてのテクスチャ情報および深度情報などの）データを取り出し、取り出されたデータを使用してテクスチャ情報を含むビューコンポーネントを合成し、合成ビューコンポーネントを、他のビューのビデオデータをコーディングするときに参照として使用するためにメモリ３４に記憶することになる。
【００８０】
予測ユニット３２は、テクスチャコンポーネント４または深度情報６を備える（図２では「ビデオブロック」と標示された）ビデオブロックを受信する。予測ユニット３２は、動き推定（ＭＥ）ユニット３５と動き補償（ＭＣ）ユニット３７とを含み得る。予測ユニット３２は、深度コンポーネントブロック中の深度情報とテクスチャコンポーネントブロック中のテクスチャ情報とを予測し得る。（本明細書では「フィルタ３９」と呼ぶ）１つまたは複数の補間フィルタ３９は、予測ユニット３２中に含められ得、動き推定および／または動き補償の一部として補間を実行するために、ＭＥユニット３５とＭＣユニット３７の一方または両方によって起動され得る。補間フィルタ３９は、実際は、多数の様々なタイプの補間および補間タイプフィルタ処理を可能にする複数の様々なフィルタを表し得る。したがって、予測ユニット３２は複数の補間または補間様フィルタを含み得る。予測ユニット３２は、同じビューからおよび／または共通の時間インスタンスに関連する他のビューからの深度および／またはテクスチャ情報を使用して、深度および／またはテクスチャ情報を予測し得る。予測ユニット３２はまた、合成ビューのデータに対するビューのブロックの予測を可能にする予測情報を与え得るビュー合成予測を実行し得る。
【００８１】
符号化プロセス中に、ビデオエンコーダ２２は、（図２では「ビデオブロック」と標示された）コーディングされるべきビデオブロックを受信し、予測ユニット３２は、インター予測コーディングを実行して（図２では「予測ブロック」と標示された）予測ブロックを生成する。コーディングされるべきビデオブロックおよび予測ブロックは、それぞれ、テクスチャコンポーネント４と深度情報６とに対応し得る。特に、ＭＥユニット３５は、メモリ３４中の予測ブロックを識別するために動き推定を実行し得、ＭＣユニット３７は、予測ブロックを生成するために動き補償を実行し得る。ＭＥユニット３５およびＭＣユニット３７は、同じビューからまたは共通の時間インスタンスに関連する他のビューからのテクスチャおよび／または深度コンポーネントに対応するブロックを使用して、それぞれ動き推定および動き補償を実行し得る。ＭＥユニット３５は、ビュー間予測を実行しているとき、概念的に動きベクトルに同様であるが、概して、経時的なオブジェクトの動きではなく、それぞれのビューについてのカメラの水平位置の差による特定のブロックの水平オフセットを予測する「変位ベクトル」を実際生成し得る。したがって、ＭＣユニット３７は「動き／変位補償ユニット」と呼ばれることもある。このようにして、ＭＥユニット３５およびＭＣユニット３７は、テクスチャコンポーネントと深度コンポーネントとのビュー間およびビュー内予測において使用され得る判断を行い得る。
【００８２】
動き推定は、一般に、ビデオブロックの動きを推定する動きベクトルを生成するプロセスと考えられる。動きベクトルは、たとえば、現在フレーム（または、他のコード化ユニット）内のコーディングされるべきブロックに対する予測フレームまたは参照フレーム（または、他のコード化ユニット、たとえばスライス）内の予測ブロックの変位を示し得る。動きベクトルは、フル整数ピクセル精度またはサブ整数ピクセル精度を有し得る。たとえば、動きベクトルの水平成分と垂直成分の両方は、それぞれのフル整数成分とサブ整数成分とを有し得る。参照フレーム（または参照フレームの部分）は、時間的に、現在ビデオブロックが属するビデオフレーム（またはビデオフレームの部分）より前にまたはその後に配置され得る。動き補償は、一般に、メモリ３４から予測ブロックをフェッチまたは生成するプロセスと考えられ、動き推定によって決定された動きベクトルに基づいて、予測データを補間するか、または場合によっては生成することを含み得る。
【００８３】
ＭＥユニット３５は、コーディングされるべきビデオブロックを１つまたは複数の参照フレーム（たとえば、同じ時間インスタンスにおける他のビューからの１つまたは複数の前のフレームおよび／または後続のフレーム）の参照ブロックと比較することによって、そのビデオブロックのための少なくとも１つの動きベクトルを計算する。参照フレーム（たとえば、テクスチャおよび／または深度コンポーネント）のためのデータはメモリ３４に記憶され得る。ＭＥユニット３５は、分数ピクセル、分数ペル、サブ整数、またはサブピクセル動き推定と呼ばれることがある分数ピクセル精度を用いて動き推定を実行し得る。分数ピクセル動き推定では、ＭＥユニット３５は、整数ピクセルロケーション以外のロケーションに対する変位を示す動きベクトルを計算し得る。したがって、動きベクトルは、分数ピクセル精度、たとえば、１／２ピクセル精度、１／４ピクセル精度、１／８ピクセル精度、または他の分数ピクセル精度を有し得る。このようにして、分数ピクセル動き推定により、予測ユニット３２は、整数ピクセル（または、フルピクセル）ロケーションよりも高い精度を用いて動きを推定することが可能になり、したがって、予測ユニット３２は、より正確な予測ブロックを生成し得る。
【００８４】
ＭＥユニット３５は、動き推定プロセス中に任意の必要な補間のために（１つまたは複数の）フィルタ３９を起動し得る。いくつかの例では、メモリ３４は、サブ整数ピクセルの補間値を記憶し得、この補間値は、たとえば、（１つまたは複数の）フィルタ３９を使用して加算器５１によって計算され得る。たとえば、加算器５１は、（１つまたは複数の）フィルタ３９を、メモリ３４に記憶されるべき再構成されたブロックに適用し得る。
【００８５】
分数ピクセル動き補償を実行するために、ＭＣユニット３７は、（補間フィルタ処理と呼ばれることがある）補間を実行して、（本明細書ではサブピクセル値または分数ピクセル値と呼ぶ）サブピクセル解像度におけるデータを生成し得る。ＭＣユニット３７は、この補間のために（１つまたは複数の）フィルタ３９を起動し得る。このようにして、予測ユニット３２は、参照ブロックのサブ整数ピクセル位置の値を計算し得、その値は、次いで、３Ｄブロックユニットの深度コンポーネントおよびテクスチャコンポーネントの各々のためのビデオデータの予測ブロックを生成するために使用され得る。一例では、３Ｄブロックユニットのテクスチャコンポーネントのための予測ブロックが生成され得、３Ｄブロックユニットのテクスチャコンポーネントの予測ブロックは、同じビューに対応するか、または共通の時間インスタンスに関連する他のビューに対応する、同じ３Ｄブロックユニットの深度コンポーネントを生成するために利用され得る。
【００８６】
コーディングされるべきビデオブロックのための動きベクトルがＭＥユニット３５によって計算されると、ＭＣユニット３７は、その動きベクトルに関連する予測ビデオブロックを生成する。ＭＣユニット３７は、ＭＣユニット３５によって判断された動きベクトルに基づいて、メモリ３４から予測ブロックをフェッチし得る。分数ピクセル精度をもつ動きベクトルの場合、ＭＣユニット３７は、そのようなデータをサブピクセル解像度に対して補間するために、たとえば、このプロセスのために（１つまたは複数の）フィルタ３９を起動して、メモリ３４からのデータをフィルタ処理し得る。
【００８７】
場合によっては、そのようなデータをサブピクセル解像度に対して補間するために使用されたフィルタ係数に対応するフル整数ピクセル位置は、コード化ビットストリームに含めるための、エントロピーコーディングユニット４６への１つまたは複数の補間シンタックス要素として示されることがある。同様に、サブピクセル予測データを生成するために使用された補間フィルタ処理技法またはモードも、コード化ビットストリームに含めるための、エントロピーコーディングユニット４６への１つまたは複数の補間シンタックス要素として示されることがある。
【００８８】
予測ユニット３２が予測ブロックを生成した後、ビデオエンコーダ２２は、コーディングされている元のビデオブロックから予測ブロックを減算することによって、（図２では「残差ブロック」と標示された）残差ビデオブロックを形成する。この減算は、元のビデオブロック中のテクスチャコンポーネントとテクスチャ予測ブロック中のテクスチャコンポーネントとの間で、ならびに元のビデオブロック中の深度情報に対してまたは深度予測ブロック中の深度情報からの深度マップに対して行われ得る。加算器４８は、この減算演算を実行する１つまたは複数の構成要素を表す。
【００８９】
変換ユニット３８は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換ブロック係数を備えるビデオブロックを生成する。変換ユニット３８は、ＨＥＶＣによって定義されたＣＵのＴＵとは対照的に、変換をビデオデータのブロックの残差係数に適用するビデオエンコーダ２２の構成要素を表すことを理解されたい。変換ユニット３８は、たとえば、概念的にＤＣＴと同様である、Ｈ．２６４規格によって定義された変換など、他の変換を実行し得る。そのような変換には、たとえば、方向性変換（カルーネンレーベ（Karhunen-Loeve）定理変換など）、ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換が含まれ得る。いずれの場合も、変換ユニット３８は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換ユニット３８は、同じタイプの変換を、テクスチャコンポーネントと、対応する残差ブロック中の深度情報の両方に適用し得る。各テクスチャコンポーネントおよび深度コンポーネントについて、別々の残差ブロックがあることになる。変換は、残差情報をピクセル領域から周波数領域に変換し得る。
【００９０】
量子化ユニット４０は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化ユニット４０は、深度画像コーディング残余を量子化し得る。量子化の後、エントロピーコーディングユニット４６が量子化変換係数をエントロピーコーディングする。たとえば、エントロピーコーディングユニット４６は、ＣＡＶＬＣ、ＣＡＢＡＣ、または別のエントロピーコーディング方法を実行し得る。
【００９１】
エントロピーコーディングユニット４６はまた、予測ユニット３２からまたは量子化ユニット４０などのビデオエンコーダ２２の他の構成要素から取得された１つまたは複数の動きベクトルとサポート情報とをコーディングし得る。１つまたは複数の予測シンタックス要素は、コーディングモード、１つまたは複数の動きベクトルについてのデータ（たとえば、水平および垂直成分、参照リスト識別子、リストインデックス、ならびに／あるいは動きベクトル解像度シグナリング情報）、使用された補間技法の指示、フィルタ係数のセット、ルーマコンポーネントの解像度に対する深度画像の相対解像度の指示、深度画像コーディング残余の量子化行列、深度画像についてのデブロッキング情報、または予測ブロックの生成に関連する他の情報を含み得る。これらの予測シンタックス要素は、シーケンスレベルにおいてまたはピクチャレベルにおいて与えられ得る。本開示の技法によれば、エントロピーコーディングユニット４６はまた、ビュー内およびビュー間予測依存性とビュー合成予測に関連するパラメータとに関する情報をコーディングし得る。
【００９２】
１つまたは複数のシンタックス要素はまた、テクスチャコンポーネントと深度コンポーネントとの間の量子化パラメータ（ＱＰ）差分を含み得る。ＱＰ差分はスライスレベルでシグナリングされ得る。また、深度情報のコード化ブロックパターン、深度情報のΔＱＰ、動きベクトル差分、または予測ブロックの生成に関連する他の情報を含む、他のシンタックス要素が、コード化ブロックユニットレベルにおいてシグナリングされ得る。動きベクトル差分は、ターゲット動きベクトルとテクスチャコンポーネントの動きベクトルとの間のデルタ値として、またはターゲット動きベクトル（すなわち、コーディングされているブロックの動きベクトル）とブロック（たとえば、ＣＵのＰＵ）のための隣接動きベクトルからの予測子との間のデルタ値としてシグナリングされ得る。
【００９３】
本開示の技法によれば、エントロピーコーディングユニット４６によるエントロピーコーディングの後、ビューのテクスチャコンポーネントおよび深度コンポーネントは、そのビューの同じ時間インスタンスに対応するＶＣＬ  ＮＡＬユニット中にカプセル化され得る。エントロピーコーディングユニット４６は、深度情報またはテクスチャ情報をそれぞれのＮＡＬユニット内にカプセル化するために、テクスチャ情報または深度情報のそれぞれのスライスおよびフレームにＮＡＬユニットヘッダを追加し得る。また、ビデオエンコーダ２２は、ビットストリーム中に、ビューのためのテクスチャデータの終端と深度情報の始端とを示すＮＡＬユニットデリミタを追加し得る。代替的に、ビデオエンコーダ２２は、ＮＡＬユニットがテクスチャ情報を含むのか深度情報を含むのかを示すために、ＮＡＬユニットヘッダ中に含まれる深度フラグの値を設定し得る。
【００９４】
さらに、本開示の技法は、ビットストリーム内で、ビュー内およびビュー間予測依存性とビュー合成予測に関連するパラメータとに関する信号を与え得る。すなわち、ビデオエンコーダ２２は、テクスチャコンポーネントと深度コンポーネントとについて参照のために使用される特定の要素を示す情報を与え得る。ビューのテクスチャコンポーネントと深度コンポーネントとをカプセル化したコード化ビットストリームは、次いで、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すために（たとえば、メモリ３４に）アーカイブされ得る。
【００９５】
逆量子化ユニット４２および逆変換ユニット４４は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。（図２では「再構成された残差ブロック」と標示された）再構成された残差ブロックは、変換ユニット３８に与えられた残差ブロックの再構成されたバージョンを表し得る。再構成された残差ブロックは、量子化演算および逆量子化演算によって生じた細部の損失により、加算器４８によって生成された残差ブロックとは異なり得る。加算器５１は、再構成された残差ブロックを、予測ユニット３２によって生成された動き補償された予測ブロックに加算して、メモリ３４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレームまたは後続のコード化ユニット中のブロックユニットをその後コーディングするために使用され得る参照ブロックとして予測ユニット３２によって使用され得る。
【００９６】
このようにして、ビデオエンコーダ２２は、ビデオデータのビューの時間インスタンスのためのテクスチャデータを受信することと、ビデオデータのビューの時間インスタンスのためのテクスチャデータに対応する深度データを受信することと、テクスチャデータと深度データとが共通のビットストリーム内にカプセル化されるように、テクスチャデータと深度データとをビューの時間インスタンスのためのビューコンポーネント中にカプセル化することとを行うように構成されたビデオエンコーダの一例を表す。ビデオエンコーダ２２はまた、たとえば、イントラ予測（たとえば、同じビューの他の深度情報から深度情報を予測すること）、時間的またはビュー間予測（たとえば、異なるビューコンポーネントの深度情報からまたは異なるビューコンポーネントのテクスチャ情報から深度情報を予測すること）、およびビデオデータのビューのテクスチャデータをキャプチャするために使用されるカメラのカメラパラメータなど、予測依存性に関する情報をシグナリングし得る。
【００９７】
図３Ａ〜図３Ｂは、本開示の技法のうちの１つまたは複数の一実装形態において使用され得るビットストリーム構造の要素の例を示す概念図である。ビットストリームは、たとえば、図１のソースデバイス１２と宛先デバイス１６との間で２コンポーネントＭＶＤブロックユニットとシンタックス要素とを転送するために使用され得る。ビットストリームは、コーディング規格ＩＴＵ  Ｈ．２６４／ＡＶＣに準拠し得、特に、ＭＶＣビットストリーム構造に従う。すなわち、ビットストリームは、いくつかの例では、Ｈ．２６４／ＡＶＣのＭＶＣ拡張に準拠し得る。他の例では、ビットストリームは、ＨＥＶＣのマルチビュー拡張または別の規格のマルチビュー拡張に準拠し得る。さらに他の例では、他のコーディング規格が使用され得る。
【００９８】
典型的なＭＶＣビットストリーム順序（復号順序）構成は、時間順（time-first）コーディングである。各アクセスユニットは、１つの出力時間インスタンスのためのすべてのビューのコード化ピクチャを含んでいるように定義される。アクセスユニットの復号順序は、出力または表示順序と同じであることも同じでないこともある。一般に、ＭＶＣ予測は、各ビュー内のピクチャ間予測とビュー間予測の両方を含み得る。ＭＶＣでは、ビュー間予測は視差動き補償によってサポートされ得、視差動き補償は、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることを可能にする。
【００９９】
２つのビューのコーディングがＭＶＣによってサポートされる。ＭＶＣの利点の１つは、ＭＶＣエンコーダが３Ｄビデオ入力として２つ以上のビューをとることができ、また、ＭＶＣデコーダが２つのビューをマルチビュー表現に復号することができることである。したがって、ＭＶＣデコーダをもつレンダラは、３Ｄビデオコンテンツを、複数のビューを有するものとして扱い得る。以前は、ＭＶＣは、ＳＥＩメッセージ（ステレオ情報または空間インターリービングピクチャ）を用いるＨ．２６４／ＡＶＣと同様に、深度マップ入力を処理しなかった。
【０１００】
Ｈ．２６４／ＡＶＣ規格では、ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットは、ビデオテレフォニー、ストレージ、またはストリーミングビデオなどの適用例に対処する「ネットワークフレンドリーな」ビデオ表現を与えるように定義される。ＮＡＬユニットは、ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとにカテゴリー分類され得る。ＶＣＬユニットは、コア圧縮エンジンを含んでいることがあり、ブロックレベルと、マクロブロック（ＭＢ）レベルと、スライスレベルとを備え得る。他のＮＡＬユニットは非ＶＣＬ  ＮＡＬユニットである。
【０１０１】
２Ｄビデオ符号化では、各ＮＡＬユニットは、１バイトのＮＡＬユニットヘッダと可変サイズのペイロードとを含んでいることがある。ＮＡＬユニットタイプを指定するために５ビットが使用され得る。ＮＡＬユニットが、他のピクチャ（ＮＡＬユニット）によって参照されることに関してどのくらい重要かを示すｎａｌ＿ｒｅｆ＿ｉｄｃのために３ビットが使用され得る。たとえば、ｎａｌ＿ｒｅｆ＿ｉｄｃを０に等しく設定することは、ＮＡＬユニットがインター予測のために使用されないことを意味する。Ｈ．２６４／ＡＶＣが、スケーラブルビデオコーディング（ＳＶＣ）規格など、３Ｄビデオ符号化を含むように拡張され得るとき、ＮＡＬヘッダは２ＤシナリオのＮＡＬヘッダと同様であり得る。たとえば、ＮＡＬユニットヘッダ中の１つまたは複数のビットは、ＮＡＬユニットが４コンポーネントＮＡＬユニットであることを識別するために使用され得る。
【０１０２】
ＮＡＬユニットヘッダは、ＭＶＣ  ＮＡＬユニットのためにも使用され得る。しかしながら、ＭＶＣでは、ＮＡＬユニットヘッダ構造は、前置ＮＡＬユニットおよびＭＶＣコード化スライスＮＡＬユニットを除いて保持され得る。ＭＶＣコード化スライスＮＡＬユニットは、４バイトヘッダと、図１のコード化ブロック８などのブロックユニットを含み得るＮＡＬユニットペイロードとを備え得る。ＭＶＣ  ＮＡＬユニットヘッダ中のシンタックス要素は、ｐｒｉｏｒｉｔｙ＿ｉｄ、ｔｅｍｐｏｒａｌ＿ｉｄ、ａｎｃｈｏｒ＿ｐｉｃ＿ｆｌａｇ、ｖｉｅｗ＿ｉｄ、ｎｏｎ＿ｉｄｒ＿ｆｌａｇおよびｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇを含み得る。他の例では、他のシンタックス要素がＭＶＣ  ＮＡＬユニットヘッダ中に含まれ得る。
【０１０３】
シンタックス要素ａｎｃｈｏｒ＿ｐｉｃ＿ｆｌａｇは、ピクチャがアンカーピクチャであるのか非アンカーピクチャであるのかを示し得る。アンカーピクチャと出力順序（すなわち、表示順序）でそれに続くすべてのピクチャとは、復号順序（すなわち、ビットストリーム順序）で前のピクチャを復号することなしに正しく復号され得、したがってランダムアクセスポイントとして使用され得る。アンカーピクチャと非アンカーピクチャとは異なる依存性を有することができ、その両方はシーケンスパラメータセット中でシグナリングされ得る。
【０１０４】
ＭＶＣにおいて定義されているビットストリーム構造は、ｖｉｅｗ＿ｉｄおよびｔｅｍｐｏｒａｌ＿ｉｄの２つのシンタックス要素によって特徴づけられ得る。シンタックス要素ｖｉｅｗ＿ｉｄは各ビューの識別子を示し得る。ＮＡＬユニットヘッダ中のこの識別子は、デコーダにおけるＮＡＬユニットの容易な識別と、表示のための復号されたビューの高速アクセスとを可能にする。シンタックス要素ｔｅｍｐｏｒａｌ＿ｉｄは、時間スケーラビリティ階層を示すか、またはフレームレートを間接的に示し得る。たとえば、より小さい最大ｔｅｍｐｏｒａｌ＿ｉｄ値をもつＮＡＬユニットを含む動作点は、より大きい最大ｔｅｍｐｏｒａｌ＿ｉｄ値をもつ動作点よりも低いフレームレートを有し得る。より高いｔｅｍｐｏｒａｌ＿ｉｄ値をもつコード化ピクチャは、一般に、ビュー内のより低いｔｅｍｐｏｒａｌ＿ｉｄ値をもつコード化ピクチャに依存するが、より高いｔｅｍｐｏｒａｌ＿ｉｄをもつコード化ピクチャには依存しないことがある。
【０１０５】
ＮＡＬユニットヘッダ中のシンタックス要素ｖｉｅｗ＿ｉｄおよびｔｅｍｐｏｒａｌ＿ｉｄは、ビットストリーム抽出と適応の両方のために使用され得る。シンタックス要素ｐｒｉｏｒｉｔｙ＿ｉｄは、単純なワンパス（one-path）ビットストリーム適応プロセスのために主に使用され得る。シンタックス要素ｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇは、このＮＡＬユニットが、異なるビュー中の別のＮＡＬユニットをビュー間予測するために使用されるかどうかを示し得る。
【０１０６】
ＭＶＣはまた、シーケンスパラメータセット（ＳＰＳ）を採用し、ＳＰＳ  ＭＶＣ拡張を含み得る。パラメータセットは、Ｈ．２６４／ＡＶＣではシグナリングのために使用され得る。パラメータセットは、シーケンスパラメータセット中のシーケンスレベルヘッダ情報と、ピクチャパラメータセット（ＰＰＳ）中のまれに変化するピクチャレベルヘッダ情報とを含んでいることがある。パラメータセットがある場合、このまれに変化する情報はシーケンスごとまたはピクチャごとに繰り返される必要がなく、したがってコーディング効率が改善される。さらに、パラメータセットの使用はヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要を回避する。帯域外送信のいくつかの例では、パラメータセットＮＡＬユニットは、他のＮＡＬユニットとは異なるチャネル上で送信され得る。ＭＶＣでは、ビュー依存性は、ＳＰＳ  ＭＶＣ拡張においてシグナリングされ得る。すべてのビュー間予測は、ＳＰＳ  ＭＶＣ拡張によって規定された範囲内で行われ得る。
【０１０７】
３Ｄビデオ符号化技法では、ＭＶＤコンテンツのテクスチャと深度とを高効率でジョイントコーディングすることが望ましいことがある。しかしながら、テクスチャコンポーネントと深度コンポーネントとをジョイントコーディングすることを効率的に達成するために、いくつかの要件を満たすことが望ましいことがある。たとえば、深度とテクスチャとのコード化ピクチャと復号ピクチャとをグローバルに管理することが好ましいことがある。したがって、ビュー内のテクスチャのためのＮＡＬユニットとは別個の、深度マップのためのＮＡＬユニットを利用することが望ましいことがある。また、フォーマットが、いくつかの規格、たとえば、Ｈ．２６４／ＡＶＣおよびＭＶＣと互換性があることが望ましいことがある。さらに、同じビューの深度マップとテクスチャとの間および異なるビュー間に相関があり得、これは、コーディング効率を改善するために利用され得る。
【０１０８】
本明細書で説明する技法は、３Ｄビデオをサポートするために、ＭＶＣなどの既存の規格に追加され得る。マルチビュービデオプラス深度（ＭＶＤ）が３Ｄビデオ処理のためにＭＶＣに追加され得る。３Ｄビデオ符号化技法は、たとえば、ビューアングルをスムーズに変更するため、あるいはデバイスの仕様またはユーザ選好に基づいて収束または深度知覚を後方または前方に調整するために、既存のビデオ規格により多くのフレキシビリティと拡張性とを与え得る。また、コーディング規格は、３Ｄビデオ中の仮想ビューの生成のために深度マップを利用するように拡張され得る。
【０１０９】
本開示の技法は、３Ｄビデオのコーディングのためのフレームワークを与え得る。たとえば、コード化画像および復号画像が、テクスチャおよび深度について最適に管理され得る。本開示の技法はまた、（たとえば、２つのビューがある場合）ＭＶＣステレオプロファイルと互換性がある構造を与え得る。本技法はまた、ビットストリーム中で、（たとえば、１つのビューのテクスチャコンポーネントと深度コンポーネントとの間の、または異なるビューのテクスチャコンポーネントの間の）予測依存性のシグナリングと、コーディングのために有益なパラメータ（たとえば、各ビューについてのカメラパラメータ）のシグナリングとを与え得る。本開示の技法によれば、ＮＡＬユニットデリミタが、ビットストリーム中でテクスチャビューコンポーネントと深度ビューコンポーネントとの間に追加され得る。たとえば、デリミタは、ビューコンポーネントのためのテクスチャデータ（たとえば、テクスチャビューコンポーネント）の終端および深度情報（たとえば、深度ビューコンポーネント）の始端、深度情報の終端、またはテクスチャデータの始端を示し得る。そのようなデリミタは、たとえば、ＭＰＥＧ−２  ＴＳまたは他のシステムにおいて使用され得る。一例では、デリミタは、ＭＶＣにおいて異なるビューからビューコンポーネントを分離するために使用されるＮＡＬユニットデリミタとは異なるＮＡＬユニットタイプを有し得る。
【０１１０】
図３Ａは、本開示の技法のうちの１つまたは複数の一実装形態において使用され得るビットストリーム構造７０の一例を示す概念図である。図３Ａでは、ビットストリーム７０は、本開示の技法に従って、ＭＶＤを含むように拡張された後のＭＶＣ規格に準拠する。他の例では、ビットストリーム７０は他のビデオ符号化規格に準拠し得る。
【０１１１】
ビットストリーム７０は、ブロックユニットのシグナリングに関係する追加情報を備え得る。たとえば、ビットストリーム７０は、１つまたは複数のテクスチャコンポーネント４に対する深度情報６など、異なるコンポーネント間の予測依存性の指示を含み得る。他の例では、ビットストリーム７０は、異なるビューに関連するテクスチャコンポーネント間の予測依存性の指示を含み得る。他の例では、ビットストリーム７０は、ビットストリーム中で示されるテクスチャコンポーネントと深度コンポーネントとに関連するビューについてのカメラパラメータをシグナリングし得る。
【０１１２】
図３Ａに示すように、ビットストリーム７０は複数のアクセスユニット７２−１〜７２−Ｎを備える。アクセスユニットは、７４−１〜７４−Ｍなど、（便宜上、以下ではビューと呼ぶ）ビューコンポーネントのセットを備える。概して、アクセスユニットは、共通の時間インスタンスのためのすべてのデータを含み、たとえば、ビューごとに１つのビューコンポーネントのためのデータを含む。いくつかの例では、各アクセスユニット７２−１〜７２−Ｎは、同じ数の（ビュー７４と呼ぶ）ビュー７４−１〜７４−Ｍを備える。各アクセスユニットを復号することは、ビューごとに１つの復号ピクチャを生じ得る。アクセスユニット７２−１〜７２−Ｎは、３Ｄビデオ再生をレンダリングするために使用され得る符号化ビデオデータを含んでいることがある。本開示の技法によれば、アクセスユニットのビューコンポーネントはテクスチャコンポーネントと深度コンポーネントとを含み得る。
【０１１３】
図３Ｂは、図３Ａのビットストリーム７０の構造中に含まれ得るビューコンポーネント７４−Ｍの一例を示す概念図である。（アクセスユニット７２−１中のビューコンポーネント７４−１などの）アクセスユニット中の各ビューコンポーネントは、ビデオコーデックレイヤ（ＶＣＬ）ＮＡＬユニット７６−１〜７６−３のセットを含んでいる。ビューコンポーネント７４−Ｍは、特定の形態および順序でＮＡＬユニット７６−１〜７６−３を備える。一般に、ビューコンポーネントは、各アクセスユニットにおけるｋ番目のビューコンポーネントが同じビューに対応するように、各アクセスユニットにおいて同じ順序で構成される。他の例では、ビューコンポーネント７４−Ｍは他の数のＮＡＬユニットを備え、そのうちのいくつかはテクスチャ情報を備え得るが、他のものは深度情報を備え得る。本開示の技法によれば、ＮＡＬユニット７６−１〜７６−３は、ＮＡＬユニットがテクスチャ情報を含むのか深度情報を含むのかを示す情報（たとえば、フラグ）を含み得る。さらに、ＮＡＬユニットデリミタは、どこでテクスチャ情報ＮＡＬユニットが終了し、深度情報ＮＡＬユニットが開始するかを示すために利用され得る。
【０１１４】
一例では、ＮＡＬユニットを実装する際に、現在ＮＡＬユニットがビューの深度マップのＶＣＬ  ＮＡＬユニットを含んでいるのか、テクスチャのＶＣＬ  ＮＡＬユニットを含んでいるのかを示すために、ＮＡＬユニットヘッダにフラグが追加され得る、ＮＡＬユニットヘッダ拡張が使用され得る。代替的に、ＮＡＬユニットが深度マップスライスに対応するＶＣＬ  ＮＡＬユニットであるかどうかを示すために、新しいＮＡＬユニットタイプが追加され得る。深度マップのＶＣＬ  ＮＡＬユニットが、ビューのテクスチャのいずれかのコード化ピクチャを予測するために使用されるかどうかを示すために、このＶＣＬ  ＮＡＬユニット中に１ビットが追加され得る。ｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇのセマンティクスは、所望の指示を与えるように拡張され得、そうでない場合、深度マップのＶＣＬ  ＮＡＬユニット中のｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇは、このＮＡＬユニットが、別のビューの深度マップを予測するために使用されることを示す。一例では、前置ＮＡＬユニットは、以下のように定義されるＮＡＬユニットヘッダベースビュー拡張、すなわち、ｎａｌ＿ｕｎｉｔ＿ｈｅａｄｅｒ＿ｍｖｃ＿ｅｘｔｅｎｓｉｏｎ（）を含んでいることがある。
【数１】
0005698391.tif 000002
【０１１５】
ただし、ｄｅｐｔｈ＿ｆｌａｇは、関連するビューコンポーネントが深度マップＮＡＬユニットであるか否かを示す。ｄｅｐｔｈ＿ｆｌａｇの値は、ＮＡＬユニットが深度マップのコード化ＶＣＬ  ＮＡＬユニットであることを示すために１に設定され、ＮＡＬユニットがビューのテクスチャのコード化ＶＣＬ  ＮＡＬユニットであることを示すために０に設定され得る。ｄｅｐｔｈ＿ｔｏ＿ｖｉｅｗ＿ｆｌａｇが０に等しいとき、それは、現在ビューコンポーネントがテクスチャビューコンポーネントである場合、現在ビューコンポーネントが深度ビューコンポーネントを予測するために使用されないことを示し得る。現在ビューコンポーネントが深度ビューコンポーネントである場合、現在ビューコンポーネントはテクスチャコンポーネントを予測するために使用されない。ｄｅｐｔｈ＿ｔｏ＿ｖｉｅｗ＿ｆｌａｇが１に等しいとき、それは、現在ビューコンポーネントがテクスチャビューコンポーネントである場合、現在ビューコンポーネントが、同じアクセスユニットの深度ビューコンポーネントを予測するために使用され得ることを示し、現在ビューコンポーネントが深度ビューコンポーネントである場合、現在ビューコンポーネントが、同じアクセスユニットのテクスチャビューコンポーネントを予測するために使用され得ることを示し得る。ｉｎｔｅｒ＿ｖｉｅｗ＿ｆｌａｇが１に等しいとき、それは、現在ビューコンポーネントがビューコンポーネントを予測するために使用され得るかどうかを示し、ビューコンポーネントは、現在ビューコンポーネントとともに、両方ともテクスチャビューコンポーネントであるかまたは両方とも深度ビューコンポーネントである。
【０１１６】
以下の表１に、例示的なＮＡＬユニットタイプコード、シンタックス要素カテゴリー、およびＮＡＬユニットタイプクラスを示す。ｎａｌ＿ｕｎｉｔ＿ｔｙｐｅ２１は、深度ビューコンポーネントを含んでいるＮＡＬユニット、すなわち、ｓｌｉｃｅ＿ｌａｙｅｒ＿ｄｅｐｔｈ＿ｅｘｔｅｎｓｉｏｎ＿ｒｂｓｐ（）のために導入され得る。
【表１】
0005698391.tif 000003
【０１１７】
一例では、シーケンスパラメータセット深度拡張が利用され得、以下の例示的な一般的設計を有し得る。
【表２】
0005698391.tif 000004
【０１１８】
ただし、ｄｅｐｔｈ＿ｚ＿ｍａｐｐｉｎｇ＿ｉｄｃは、現実世界ｚ値を８ビット深度値ｄに変換するために使用される深度マップ量子化方法を指定する。この値が０に等しいとき、それは、ｄが１／ｚに比例すること、すなわち、ｄ／２５５＝（１／ｚ−１／ｚ＿ｆａｒ）／（１／ｚ＿ｎｅａｒ−１／ｚ＿ｆａｒ）であることを指定する。この値が１に等しいとき、それは、ｄがｚに比例すること、すなわち、ｄ／２５５＝（ｚ−ｚ＿ｎｅａｒ）／（ｚ＿ｆａｒ−ｚ＿ｎｅａｒ）であることを指定する。この値が２に等しいとき、それは、ｄからｚへのマッピングが明示的にシグナリングされることを指定する。ｖａｌｕｅ＿ｚ＿ｉ（）は、ｄｅｐｔｈ＿ｚ＿ｍａｐｐｉｎｇ＿ｉｄｃが２に等しいとき、ｉに等しい各８ビット深度値に対するｚ［ｉ］値をシグナリングするためのシンタックステーブルである。ｖａｌｕｅ＿ｚ＿ｎｅａｒ（）およびｖａｌｕｅ＿ｚ＿ｆａｒ（）は、それぞれｚ＿ｎｅａｒ値およびｚ＿ｆａｒ値をシグナリングするためのシンタックステーブルである。ｖａｌｕｅ＿ｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｘ（）およびｖａｌｕｅ＿ｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｙ（）は、すべてのカメラによって共有され得る真性カメラパラメータの一部として、それぞれｆｏｃｏｌ＿ｌｅｎｇｔｈ＿ｘ値およびｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｙ値をシグナリングするためのシンタックステーブルである。ｖａｌｕｅ＿ｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｘ（）およびｖａｌｕｅ＿ｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｙ（）は、すべてのカメラによって共有され得る真性カメラパラメータの一部として、それぞれｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｘ値およびｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｙ値をシグナリングするためのシンタックステーブルである。
【０１１９】
カメラの外因性カメラパラメータの回転行列Ｒは、以下のように表され得る。
【数２】
0005698391.tif 000005
【０１２０】
ｖａｌｕｅ＿ｒｏｔａｔｉｏｎ＿ｘｙ（）、ｖａｌｕｅ＿ｒｏｔａｔｉｏｎ＿ｘｚ（）、およびｖａｌｕｅ＿ｒｏｔａｔｉｏｎ＿ｙｚ（）は、回転行列Ｒの対角要素の値をシグナリングするためのシンタックステーブルである。１に等しいｈｏｒｉｚｏｎｔａｌ＿ａｌｌｉｇｎｅｄ＿ｆｌａｇは、すべてのカメラが水平方向に整合されることを示す。ｖａｌｕｅ＿ｒｏｔａｔｉｏｎ＿ｘｙ＿ｉ（）は、ビューｉに対応するカメラの回転行列ＲのＲｘｙの値をシグナリングするためのシンタックステーブルである。ｖａｌｕｅ＿ｔｒａｎｓｌａｔｉｏｎ（）は、ビューｉに対応するカメラの外因性カメラパラメータの一部として、変換の値をシグナリングするためのシンタックステーブルである。一般に、ｖａｌｕｅ＿ｓｙｎｔａｘ（）は、浮動小数点値としてシグナリングされ得る。
【０１２１】
一例では、カメラは水平方向に整合され得、異なるカメラは異なる深度範囲に対応し得る。以下に、たとえば、複数のビューの間の差分コーディングを使用することによって、カメラパラメータがより効率的にコーディングされ得る、この例に対応する特定の設計を示す。
【表３】
0005698391.tif 000006
【０１２２】
このシンタックステーブルでは、浮動小数点値Ｖは、Ｖ＝Ｉ＊１０Pであるような、０の前または後の桁数を表すそれの精度Ｐと整数値Ｉとをもつ１０進値として表され得る。Ｉが正の値であるときには、Ｖも正の値になり、Ｉが負の値であるときには、Ｖも負の値になる。以下は、ＳＰＳに関係するビューのための真性パラメータである。さらに規定または更新されない限り、パラメータは関係するビューのいずれについても同じである。
【０１２３】
−  ｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｐｒｅｃｉｓｉｏｎは、ｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｘおよびｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｙの値の精度を指定する。
【０１２４】
−  ｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｘ＿Ｉは、ｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｘの値の整数部分を指定する。
【数３】
0005698391.tif 000007
【０１２５】
−  ｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｙ＿Ｉ＿ｄｉｆｆ＿ｘ＋ｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｘ＿Ｉは、ｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｙの値の整数部分を指定する。
【数４】
0005698391.tif 000008
【０１２６】
−  ｐｒｉｎｃｉｐａｌ＿ｐｒｅｃｉｓｉｏｎは、ｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｘおよびｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｙの値の精度を指定する。
【０１２７】
−  ｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｘ＿Ｉは、ｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｘの値の整数部分を指定する。
【数５】
0005698391.tif 000009
【０１２８】
−  ｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｙ＿Ｉ＿ｄｉｆｆ＿ｘ＋ｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｘは、ｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｙの値の整数部分を指定する。
【数６】
0005698391.tif 000010
【０１２９】
以下は、ＳＰＳに関係するビューのための外因性パラメータである。さらに規定または更新されない限り、パラメータは関係するビューのいずれについても同じである。
【０１３０】
−  各カメラの回転行列Ｒは、以下のように表される。
【数７】
0005698391.tif 000011
【０１３１】
−  ｒｏｔａｔｉｏｎ＿ｋｌ＿ｈａｌｆ＿ｐｉは、ｘｙ、ｙｚ、またはｘｚに等しいｋｌをもつ回転行列Ｒの対角要素を示し、Ｒkl＝（−１）rotation_kl_half_piである。０に等しいこのフラグは、Ｒkl＝１を指定し、１に等しいこのフラグは、Ｒkl＝−１を指定する。
【０１３２】
−  ｔｒａｎｓｌａｔｉｏｎ＿ｐｒｅｃｉｓｉｏｎは、すべての関係するビューの変換の値の精度を指定する。このＳＰＳにおいて指定されている変換値の精度は、このＳＰＳを参照するビューコンポーネントのすべての変換値に適用される。
【０１３３】
−  ａｎｃｈｏｒ＿ｖｉｅｗ＿ｉｄは、他のビューの変換を計算するためのアンカーとしてその変換が使用される、ビューのｖｉｅｗ＿ｉｄを指定する。ａｎｃｈｏｒ＿ｖｉｅｗ＿ｉｄに等しいｖｉｅｗ＿ｉｄをもつビューの変換は、ｚｅｒｏ＿ｔｒａｎｓｌａｔｉｏｎ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが０に等しいとき、０に等しくなり、さもなければ、変換はシグナリングされる。
【０１３４】
−  ｚ＿ｎｅａｒ＿ｐｒｅｃｉｓｉｏｎは、ｚ＿ｎｅａｒの値の精度を指定する。このＳＰＳにおいて指定されているｚ＿ｎｅａｒの精度は、このＳＰＳを参照するビューコンポーネントのすべてのｚ＿ｎｅａｒ値に適用される。
【０１３５】
−  ｚ＿ｆａｒ＿ｐｒｅｃｉｓｉｏｎは、ｚ＿ｆａｒの値の精度を指定する。このＳＰＳにおいて指定されているｚ＿ｆａｒの精度は、このＳＰＳを参照するビューコンポーネントのすべてのｚ＿ｆａｒ値に適用される。
【０１３６】
−  ｚ＿ｎｅａｒ＿ｉｎｔｅｇｅｒは、ｚ＿ｎｅａｒの値の整数部分を指定する。
【数８】
0005698391.tif 000012
【０１３７】
−  ｚ＿ｆａｒ＿ｉｎｔｅｇｅｒは、ｚ＿ｆａｒの値の整数部分を指定する。
【数９】
0005698391.tif 000013
【０１３８】
（深度範囲値が、異なるビューに対して異なるとき、ｚ＿ｎｅａｒおよびｚ＿ｆａｒは、アンカービューの深度範囲を指定する）
−  １に等しいｚｅｒｏ＿ｔｒａｎｓｌａｔｉｏｎ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、ａｎｃｈｏｒ＿ｖｉｅｗ＿ｉｄに等しいｖｉｅｗ＿ｉｄをもつビューの変換が０であることを示し、０に等しいこの値は、ａｎｃｈｏｒ＿ｖｉｅｗ＿ｉｄに等しいｖｉｅｗ＿ｉｄをもつビューの変換がシグナリングされることを示す。
【０１３９】
−  ｔｒａｎｓｌａｔｉｏｎ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉは、アンカービューの変換の整数部分を指定する。
【数１０】
0005698391.tif 000014
【０１４０】
−  ｚｅｒｏ＿ｔｒａｎｓｌａｔｉｏｎ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが１に等しいとき、ｔｒａｎｓｌａｔｉｏｎ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉは０であると推測される。
【０１４１】
−  ｔｒａｎｓｌａｔｉｏｎ＿ｄｉｆｆ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉ［ｉ］＋ｔｒａｎｓｌａｔｉｏｎ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉは、ｔｒａｎｓｌａｔｉｏｎ＿ｖｉｅｗ［ｉ］として示された、ｉに等しいｖｉｅｗ＿ｉｄをもつビューの変換の整数部分を指定する。
【数１１】
0005698391.tif 000015
【０１４２】
（ｔｒａｎｓｌａｔｉｏｎ＿ｖｉｅｗ［ｉ］の整数部分をｔｒａｎｓｌａｔｉｏｎ＿ｖｉｅｗ＿Ｉ［ｉ］として示す）
−  ｚ＿ｎｅａｒ＿ｄｉｆｆ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉ＋ｚ＿ｎｅａｒ＿Ｉｎｔｅｇｅｒは、ｚ＿ｎｅａｒ［ｉ］として示された、ｉに等しいｖｉｅｗ＿ｉｄをもつビューの最も近い深度値の整数部分を指定する。
【数１２】
0005698391.tif 000016
【０１４３】
（ｚ＿ｎｅａｒ［ｉ］の整数部分をｚ＿ｎｅａｒ＿Ｉ［ｉ］として示す）
−  ｚ＿ｆａｒ＿ｄｉｆｆ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉ＋ｚ＿ｆａｒ＿Ｉｎｔｅｇｅｒは、ｚ＿ｆａｒ［ｉ］として示された、ｉに等しいｖｉｅｗ＿ｉｄをもつビューの最も遠い深度値の整数部分を指定する。
【数１３】
0005698391.tif 000017
【０１４４】
（ｚ＿ｆａｒ［ｉ］の整数部分をｚ＿ｆａｒ＿Ｉ［ｉ］として示す）
この例示的な設計では、値は、Ｖ＝Ｉ＊１０Pとして表される。別の例では、値は、Ｖ＝Ｉ＊ｂPなど、他の基数を用いて表され得、ｂは、２、８、または１６に等しくなり得る。一例では、ｆｏｃａｌ＿ｌｅｎｇｔｈ＿ｘ＿Ｉ、ｐｒｉｎｃｉｐａｌ＿ｐｏｉｎｔ＿ｘ＿Ｉ、ｔｒａｎｓｌａｔｉｏｎ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉ、ｚ＿ｎｅａｒ＿ｉｎｔｅｇｅｒおよびｚ＿ｆａｒ＿ｉｎｔｅｇｅｒは、たとえば、３２ビットのデフォルト長さをもつか、またはＮビットのシグナリングされた長さをもつ、固定長コーディングとしてシグナリングされ得る。
【０１４５】
いくつかの例では、ビューの深度範囲または外因性カメラパラメータ（たとえば、変換）は、ピクチャ単位で変化し得るか、または更新され得る。更新された深度範囲またはカメラパラメータは、現在ＰＰＳに続く、ＰＰＳ深度拡張を含んでいる新しいＰＰＳが、関係するビューについての値を更新するまで、ビットストリーム中の現在アクセスユニットのビューコンポーネントと後続のビューコンポーネントとに適用可能であり得る。別の例では、ＰＰＳ深度拡張を含んでいるＰＰＳが、異なるＮＡＬユニットタイプとして割り当てられ得、その場合、ＰＰＳ深度拡張自体がＲＢＳＰを形成する。
【０１４６】
別の例では、異なるＮＡＬユニットタイプをもつビューパラメータセットが、深度範囲および変換の変化をシグナリングするために導入され得る。深度範囲およびカメラの変換はピクチャ単位で変化し得る。更新された深度範囲またはカメラパラメータは、現在ＶＰＳに続く新しいＶＰＳが、関係するビューについての値を更新するまで、ビットストリーム中の現在アクセスユニットのビューコンポーネントと後続のビューコンポーネントとに適用可能であり得る。シンタックス要素は、ＰＰＳ拡張の場合と同じセマンティクスを有し得る。ビューパラメータセットは、深度拡張を含んでいる現在アクティブなＳＰＳを直接参照し得る。
【０１４７】
いくつかの例では、深度範囲および変換は、しばらくして劇的に変化し得、したがって、ＶＰＳがＳＰＳのみを直接参照する場合、それはあまり効率的でなくなり得る。この潜在的な問題を解決する１つの方法は、ビューパラメータセットが、深度拡張をもつＰＰＳを参照するときに、ＶＰＳがどのＰＰＳを参照しているかを知るために第１の深度ビューコンポーネントのスライスヘッダをパースした後にビューパラメータセットを計算することであり得る。別の例では、問題を解決するために、ＰＰＳ  ｉｄがＶＰＳに入れられ得る。
【０１４８】
いくつかの例では、あるビューパラメータセットは、ＳＰＳおよびＰＰＳと同じ優先順位を与えられ得、したがって、アウトオブバンドでシグナリングされ得る。この例では、ＶＰＳがＳＰＳ中の値を更新し、後続の標準ＶＰＳが、更新された値のみを参照するように、フラグが導入され得る。この例では、ＶＰＳがシグナリングされ得るフレーム。
【０１４９】
深度範囲およびカメラの変換はピクチャ単位で変化し得る。更新された深度範囲またはカメラパラメータは、現在ＰＰＳに続く、ＰＰＳ深度拡張を含んでいる新しいＰＰＳが、関係するビューについての値を更新するまで、ビットストリーム中の現在アクセスユニットのビューコンポーネントと後続のビューコンポーネントとに適用可能であり得る。
【０１５０】
一例では、ピクチャパラメータセットシンタックスは、以下のようであり得る。
【表４】
0005698391.tif 000018
【表５】
0005698391.tif 000019
【０１５１】
ただし、
−  ｂａｓｅ＿ｐｉｃ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄは、現在ピクチャパラメータセットが参照するピクチャパラメータセットのｉｄを指定する。対応するパラメータセットは、標準ピクチャパラメータセットまたはピクチャパラメータセット拡張であり得る。
【０１５２】
−  ｚ＿ｎｅａｒ＿ｄｉｆｆ＿ｉｎｔｅｇｅｒ＿ａｎｃｈｏｒ＋ｚ＿ｎｅａｒ＿ｉｎｔｅｇｅｒは、アンカービューの新しい最も近い深度の整数部分を指定する。
【０１５３】
−  ｚ＿ｆａｒ＿ｄｉｆｆ＿ｉｎｔｅｇｅｒ＿ａｎｃｈｏｒ＋ｚ＿ｆａｒ＿ｉｎｔｅｇｅｒは、アンカービューの新しい最も遠い深度の整数部分を指定する。
【０１５４】
−  ｄｅｌｔａ＿ｔｒａｎｓｌａｔｉｏｎ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉ＋は、アンカービューの新しい変換の整数部分とアンカービューの前の変換の整数部分との間の差を指定する。ｚｅｒｏ＿ｔｒａｎｌａｔｉｏｎ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが１に等しい場合、この値は０であると推測される。
【０１５５】
−  ｄｅｌｔａ＿ｔｒａｎｓｌａｔｉｏｎ＿ｄｉｆｆ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉ［ｉ］＋ｔｒａｎｓｌａｔｉｏｎ＿ｄｉｆｆ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉ［ｉ］は、ＳＰＳにおいて指定されているように、ｔｒａｎｓｌａｔｉｏｎ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉと、ｉに等しいｖｉｅｗ＿ｉｄをもつビューの新しい変換の整数部分との間の差を指定する。
【数１４】
0005698391.tif 000020
【０１５６】
または
【数１５】
0005698391.tif 000021
【０１５７】
いくつかの例では、アンカービュー変換は常に０になり、したがって、第２の式はより単純になり得る。他の例では、この値は、ｉに等しいｖｉｅｗ＿ｉｄをもつビューの新しい変換の整数部分とＳＰＳ中でシグナリングされる対応する変換の整数部分との間の差をシグナリングするために直接使用され得る。
【０１５８】
−  ｔｒａｎｓｌａｔｉｏｎ＿ｄｉｆｆ＿ｕｐｄａｔｅ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉ［ｉ］は、ｉに等しいｖｉｅｗ＿ｉｄをもつビューの新しい変換の整数部分と、同じビューについてＳＰＳ中でのシグナリングを用いて計算された変換の整数部分との間の差を指定する。
【数１６】
0005698391.tif 000022
【０１５９】
この例では、シンタックス名が、ｄｅｌｔａ＿ｔｒａｎｓｌａｔｉｏｎ＿ｄｉｆｆ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉ［ｉ］からｔｒａｎｓｌａｔｉｏｎ＿ｄｉｆｆ＿ｕｐｄａｔｅ＿ａｎｃｈｏｒ＿ｖｉｅｗ＿Ｉ［ｉ］に変更され得る。ｂａｓｅ＿ｐｉｃ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄが標準ピクチャパラメータセットに対応する場合、現在ＰＰＳが参照している前の値は、ＳＰＳにおいて定義されている値であり、他の場合（ｂａｓｅ＿ｐｉｃ＿ｐａｒｍｅｔｅｒ＿ｓｅｔ＿ｉｄがピクチャパラメータセット深度拡張に対応する場合）、前の値は、参照（ベース）ピクチャパラメータセットによってシグナリングされた値である。
【０１６０】
別の例では、ＰＰＳ深度拡張を含んでいるＰＰＳが、異なるＮＡＬユニットタイプとして割り当てられ得、その場合、ＰＰＳ深度拡張自体がＲＢＳＰを形成する。
【表６】
0005698391.tif 000023
【０１６１】
ただし、
−  ｂａｓｅ＿ｐｉｃ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄは、現在ピクチャパラメータセットが参照するピクチャパラメータセットのｉｄを指定する。対応するパラメータセットは、標準ピクチャパラメータセットまたはピクチャパラメータセット拡張であり得る。
【０１６２】
−  ｐｉｃ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄは、現在ピクチャパラメータセット拡張のピクチャパラメータセットｉｄを指定する。
【０１６３】
一例では、標準ピクチャパラメータセットとピクチャパラメータセット深度拡張とは、同じ番号付けシステムを共有する。
【０１６４】
いくつかの例では、（たとえば、異なるＮＡＬユニットタイプをもつ）ビューパラメータセットが、深度範囲および変換の変化をシグナリングするために導入され得る。
【表７】
0005698391.tif 000024
【０１６５】
いくつかの例では、深度範囲およびカメラの変換はピクチャ単位で変化し得る。更新された深度範囲またはカメラパラメータは、現在ＶＰＳに続く新しいＶＰＳが、関係するビューについての値を更新するまで、ビットストリーム中の現在アクセスユニットのビューコンポーネントと後続のビューコンポーネントとに適用可能であり得る。ＶＰＳがビットストリームのアクセスユニット中に存在する場合、ＶＰＳは、アクセスユニットのいずれかのビューコンポーネントの前に入れられ得る。シンタックス要素は、ＰＰＳ拡張の場合と同じセマンティクスを有し得る。ビューパラメータセットは、深度拡張を含んでいる現在アクティブなＳＰＳを直接参照し得る。
【０１６６】
いくつかの例では、深度範囲および変換は、しばらくして劇的に変化し得、したがって、ＶＰＳがＳＰＳのみを直接参照する場合、それはあまり効率的でないことがある。この例では、ビューパラメータセットは、深度拡張をもつＰＰＳを参照し得、ビューパラメータセットは、ＶＰＳがどのＰＰＳを参照しているかを知るために第１の深度ビューコンポーネントのスライスヘッダをパースした後に計算され得る。別の例では、以下に示すように、ＰＰＳ  ｉｄがＶＰＳに入れられ得る。
【表８】
0005698391.tif 000025
【０１６７】
いくつかの例では、いくつかのビューパラメータセットは、ＳＰＳおよびＰＰＳと同じ優先順位を与えられ得、したがって、アウトオブバンドでシグナリングされ得る。この例では、ＶＰＳがＳＰＳ中の値を更新し、後続の標準ＶＰＳが、更新された値を参照し得るように、フラグが導入され得る。この例では、ＶＰＳが適用される第１のフレームがシグナリングされる。そのようなＶＰＳが、ｓｔａｒｔ＿ｆｒａｍｅ＿ｎｕｍに等しいｆｒａｍｅ＿ｎｕｍをもつ参照フレームを復号することによって受信されない場合、それは紛失されたと見なされ得る。別の例では、ＰＯＣ値もシグナリングされ得る。
【表９】
0005698391.tif 000026
【０１６８】
図４Ａは、例示的なＭＶＣ予測パターンを示す概念図である。図４Ａは、ビュー間予測のための例示的なコーディング方式を与えている。概して、ＭＶＣビデオデータの符号化フレームは、空間的に、時間的に、および／または共通の時間ロケーションにおける他のビューのフレームを参照して、予測符号化され得る。したがって、他のビューがそこから予測される参照ビューは、概して、参照ビューを復号するときに、復号された参照ビューが参照のために使用され得るように、参照ビューが参照として働くビューの前に復号される。復号順序は必ずしもｖｉｅｗ＿ｉｄの順序に対応しない。したがって、ビューの復号順序はビュー順序インデックスを使用して記述される。ビュー順序インデックスは、アクセスユニット中の対応するビューコンポーネントの復号順序を示すインデックスである。
【０１６９】
図４Ａの例では、（ビューＩＤ「Ｓ０」〜「Ｓ７」を有する）８つのビューが示され、各ビューについて１２個の時間ロケーション（「Ｔ０」〜「Ｔ１１」）が示されている。すなわち、図４Ａ中の各行はビューに対応し、各列は時間ロケーションを示す。ＭＶＣがＨ．２６４／ＡＶＣデコーダによって復号可能である、いわゆるベースビューを有し、また、ステレオビューペアがＭＶＣによってサポートされ得るが、ＭＶＣの利点は、ＭＶＣが、３Ｄビデオ入力として３つ以上のビューを使用し、複数のビューによって表されるこの３Ｄビデオを復号する例をサポートすることができることである。ＭＶＣデコーダを有するクライアントのレンダラは、複数のビューを用いて３Ｄビデオコンテンツを予想し得る。
【０１７０】
図４Ａ中のフレームは、対応するフレームがイントラコード化される（すなわち、Ｉフレームである）のか、一方向に（すなわち、Ｐフレームとして）インターコード化されるのか、複数の方向に（すなわち、Ｂフレームとして）インターコード化されるのかを指定する、文字を含む影付きブロックを使用して、図４Ａ中の各行と各列との交差部において示されている。概して、予測は矢印によって示され、ここで矢印の終点のフレームは、予測参照のために矢印の始点のオブジェクトを使用する。たとえば、時間ロケーションＴ０におけるビューＳ２のＰフレームは、時間ロケーションＴ０におけるビューＳ０のＩフレームから予測される。
【０１７１】
シングルビュービデオ符号化の場合と同様に、マルチビュービデオコーディングビデオシーケンスのフレームは、異なる時間ロケーションにおけるフレームに関して予測符号化され得る。たとえば、時間ロケーションＴ１におけるビューＳ０のｂフレームは、時間ロケーションＴ０におけるビューＳ０のＩフレームからそのｂフレームに向けられた矢印を有し、その矢印は、ｂフレームがＩフレームから予測されることを示す。しかしながら、さらに、マルチビュービデオ符号化のコンテキストにおいて、フレームは、ビュー間予測され得る。すなわち、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。ＭＶＣでは、たとえば、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット（ＳＰＳ）ＭＶＣ拡張においてシグナリングされ、インター予測またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。ＭＶＣにおけるビュー間予測は視差補償によってサポートされ得、視差補償は、Ｈ．２６４／ＡＶＣ動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして入れられることを可能にする。
【０１７２】
図４Ａは、ビュー間予測の様々な例を与える。図４Ａの例では、ビューＳ１のフレームは、ビューＳ１の異なる時間ロケーションにおけるフレームから予測されるものとして、ならびに同じ時間ロケーションにおけるビューＳ０およびＳ２のフレームのうちのフレームからビュー間予測されるものとして示されている。たとえば、時間ロケーションＴ１におけるビューＳ１のｂフレームは、時間ロケーションＴ０およびＴ２におけるビューＳ１のＢフレームの各々、ならびに時間ロケーションＴ１におけるビューＳ０およびＳ２のｂフレームから予測される。
【０１７３】
図４Ａの例では、大文字の「Ｂ」および小文字の「ｂ」は、異なる符号化方法ではなく、フレーム間の異なる階層関係を示すものとする。概して、大文字の「Ｂ」フレームは、小文字の「ｂ」フレームよりも予測階層が比較的高い。図４Ａはまた、異なるレベルの陰影を使用して予測階層の変形形態を示し、より大きい量の陰影の（すなわち、比較的より暗い）フレームは、より少ない陰影を有する（すなわち、比較的より明るい）それらのフレームよりも予測階層が高い。たとえば、図４Ａ中のすべてのＩフレームは、完全陰影を用いて示されるが、Ｐフレームは、いくぶんより明るい陰影を有し、Ｂフレーム（そして、小文字のｂフレーム）は、互いに様々なレベルの陰影を有するが、ＰフレームおよびＩフレームの陰影よりも常に明るい。
【０１７４】
図４Ｂは、２つのビューのためのマルチビュービデオコーディング（ＭＶＣ）互換マルチビュービデオプラス深度（ＭＶＤ）コーディングを示す概念図である。ＭＶＣコード化ビットストリーム中の各「ビュー」は、各々が再生中に特定の時間インスタンスに対応する、複数のビューコンポーネントを含み得る。各ビューコンポーネントは、テクスチャデータと深度データとを含み得る。図４Ｂは、２つのビューしかないので、ステレオビデオコーディングを採用するＭＶＣの特定のインスタンスである。それにもかかわらず、図４Ｂに従ってアセンブルされたビットストリームのデータは、他のビューを合成するために利用され得る含まれた深度情報により、３つ以上の出力ビューを生成するために使用され得る。
【０１７５】
一例では、テクスチャコンポーネントと深度コンポーネントとを生成するために使用されるビデオデータをキャプチャし、与えるために、１つまたは複数のカメラが利用され得る。カメラによってキャプチャされたビデオデータはテクスチャ情報である。一例では、ステレオカメラペアが、テクスチャコンポーネントのための深度マップを計算するために使用され得る。別の例では、深度センサー（たとえば、ＲＡＤＡＲ、ＬＡＤＡＲなど）がビューのための深度マップを判断し得る。深度コンポーネントの判断は、図１のソースデバイス１２の深度処理ユニット２１によって実行され得る。一例では、深度処理ユニットはビデオデコーダ２２に組み込まれ得る。
【０１７６】
図４Ｂの例では、各瞬間において、ビュー０およびビュー１の２つのビューが取得され得る。ビュー０は、テクスチャコンポーネント９０Ａ（たとえば、テクスチャ０）と深度コンポーネント９０Ｂ（たとえば、深度０）とを備え、ビュー１は、テクスチャコンポーネント９２Ａ（たとえば、テクスチャ１）と深度コンポーネント９２Ｂ（たとえば、深度１）とを備える。図４Ｂの例では、コンポーネント９０Ａ、９０Ｂ、９２Ａ、および９２Ｂの各々は、たとえば、共通の時間インスタンスｆ０において２つのビューの対応するコンポーネントを参照し得る。同じコンポーネントが、後続の時間インスタンスｆ１、ｆ２などにおいて判断され得る。本技法について、ｆ０におけるコンポーネントを参照しながら説明するが、同じ技法が、他の時間インスタンスｆ１、ｆ２などにおけるコンポーネントに同様に適用され得ることを理解されたい。
【０１７７】
２つのビューのテクスチャは、テクスチャ情報と深度情報との分離を維持しながら、テクスチャ情報と同じビットストリーム中に深度情報を含めることに適応するように、本開示の技法に従って拡張された、概してＭＶＣに似ていることがあるＭＶＣ互換ＭＶＤコーディングにおいてコーディングされ得る。
【０１７８】
本開示の技法を使用して、２つのビューの各々の深度マップは、同じビューまたは他のビューに対応する他の情報を使用して予測され得る。一例では、深度コンポーネントに関連する深度マップは、テクスチャからの深度マップに対する動き予測を使用して予測され得る。たとえば、深度コンポーネント９０Ｂは、テクスチャコンポーネント９０Ａを使用して予測され得、深度コンポーネント９２Ｂは、テクスチャコンポーネント９２Ａを使用して予測され得る。
【０１７９】
別の例では、１つのビューの深度マップは、一方のビューからの他方のビューに対するビュー間視差予測（ＭＶＣにおけるビュー間予測）を使用して予測され得る。たとえば、深度コンポーネント９２Ｂは深度コンポーネント９０Ｂに対して予測され得る。同様に、テクスチャコンポーネント９２Ａはテクスチャコンポーネント９０Ａに対して予測され得る。
【０１８０】
さらに別の例では、ビューの深度マップは、ビューに関連するカメラパラメータを利用し得るビュー合成予測を使用して予測され得る。ビューの各々のカメラパラメータが利用可能である場合、仮想現在ビューは、たとえば、ＤＩＢＲ技法などの技法を使用して、参照ビューおよびそれの対応する深度マップから合成され得る。合成仮想ビューは、別のビューを予測し、符号化するために使用され得る。一例では、深度マップビュー合成予測では、参照ビューは深度マップ自体であり得る。したがって、カメラパラメータおよび１つの参照深度マップは、仮想現在深度マップを合成するのに十分であり得る。
【０１８１】
上記で説明したように、本開示の技法は、ビューについてのカメラパラメータをシグナリングすること含み得る。カメラパラメータは、たとえば、真性パラメータと外因性パラメータとを含み得る。真性パラメータは、たとえば、水平方向における焦点距離と主点オフセットとを含み得る。外因性パラメータは、たとえば、各ビューについての現実世界水平カメラロケーションを含み得る。一般に、マルチビューシーケンスの各ビューは同じ真性パラメータを共有する。したがって、これらのパラメータは、シグナリングされた真性パラメータがシーケンスのすべてのビューに適用されるように、シーケンスについて１回シグナリングされ得る。
【０１８２】
一例では、真性および外因性カメラパラメータは、３次元ビデオデータ（３ＤＶ）シーケンスパラメータセット（ＳＰＳ）またはＳＰＳ  ３ＤＶ拡張中でシグナリングされ得る。ＳＰＳ  ３ＤＶ拡張は、さらに、深度範囲とデフォルト深度対ｚ値変換関数とを含み得る深度値対現実世界ｚ値マッピング、および／または各カメラ設定についての深度値対現実世界ｚ値を含んでいるテーブルを記述し得る。ＳＰＳ  ３ＤＶ拡張はまた、テクスチャからの深度マップに対する動き予測において利用され得る、深度マップビューとテクスチャビューとの予測関係を記述し得る。
【０１８３】
図４Ｃは、３つ以上のビューのためのＭＶＣ互換ＭＶＤコーディングを示す概念図である。説明のために、図４Ｃの例では３つのビューを示しているが、これらの技法は、３つ以上のビューのために利用され得ることを理解されたい。一例では、ビューの各々は、異なるパースペクティブからのカメラによって取得され得、各ビューは、テクスチャ情報と深度情報とを備え得る。他の例では、いくつかのビューは、異なるパースペクティブから取得され得、他のビューは、取得されたビューのコンポーネントを使用して合成され得る。各瞬間において、ビュー０、ビュー１、およびビュー２の３つのビューが取得され得る。ビュー０は、テクスチャコンポーネント９４Ａ（たとえば、テクスチャ０）と深度コンポーネント９４Ｂ（たとえば、深度０）とを備え、ビュー１は、テクスチャコンポーネント９６Ａ（たとえば、テクスチャ１）と深度コンポーネント９６Ｂ（たとえば、深度１）とを備え、ビュー２は、テクスチャコンポーネント９８Ａ（たとえば、テクスチャ２）と深度コンポーネント９８Ｂ（たとえば、深度２）とを備える。
【０１８４】
ビューの各々に関連する深度マップが、上記で説明したように、他のビューの深度マップを使用するかまたは同じビューのテクスチャ情報を使用して予測され得る。さらに、１つのビューのテクスチャ情報が、１つまたは複数の他のビューのテクスチャ情報を使用して予測され得る。図４Ｃの例では、第３のビューについても、１つまたは複数の他のビューのテクスチャと深度マップとからテクスチャが予測され得る。この例では、第３のビューは、ＭＶＣにおいて定義されているビュー間予測モードを使用して予測され得る。第３のビューのブロックはまた、第１のビューと第２のビューとのテクスチャと深度マップとに依拠し得るビュー合成予測を使用して予測され得る。
【０１８５】
上述のように、本開示の技法は、テクスチャ情報と深度情報とを予測する際に使用され得るいくつかのパラメータをシグナリングするために、ＳＰＳ  ３ＤＶ拡張を利用し得る。ＳＰＳ  ３ＤＶ拡張は、カメラパラメータ、深度値対現実世界ｚ値マッピング、および／または深度マップビューとテクスチャビューとの予測関係を記述し得る。
【０１８６】
カメラパラメータは、真性パラメータと外因性パラメータとを含み得る。真性パラメータは、水平方向における焦点距離と主点オフセットとを含み得る。マルチビューシーケンスは、通常、水平方向における同じ焦点距離と主点オフセットとを共有する。したがって、実装において、真性パラメータについては、２つの浮動数がすべてのビューのために利用され得る。外因性パラメータは、各ビューのカメラ水平ロケーションを含み得る。マルチビューシーケンスは、一般に、すべてのカメラが世界座標において同じ向きを有し得る並列カメラアレイによってキャプチャされる。カメラは、それらの位置が水平方向のみにおいて異なるように、一列に配置され得る。したがって、外因性パラメータの数はビューの数に等しい。たとえば、Ｎ個のビューの場合、Ｎ個の浮動数が外因性パラメータのために利用され得る。
【０１８７】
一例では、深度値対現実世界ｚ値マッピングは、深度範囲とデフォルト深度対ｚ値変換関数とを使用して達成され得る。他の変換関数がデフォルト関数とは異なり得る他の例では、深度値対現実世界ｚ値を含んでいるテーブルがカメラ設定ごとに含まれ得る。一例では、深度値と現実世界ｚ値との間の変換は、１つまたは複数のコード化ビューからビュー、たとえば、仮想ビューを予測するために、ビュー合成において使用され得る。すなわち、現実世界ｚ値にマッピングされた深度値は、適切な３Ｄ効果を与えるために仮想ビューを生成するときに必要とされる水平オフセットを示し得る現実世界深度範囲において表され得る。
【０１８８】
深度マップビューとテクスチャビューとの予測関係も、ＳＰＳ  ３ＤＶ拡張によって記述され得る。深度マップビューの予測関係はビュー合成の予測関係に従う。したがって、ビュー０のテクスチャが、ビュー間予測に基づいてビュー１のテクスチャに依存する場合、ビュー０の深度マップはビュー１に依存し得る。ビュー０のテクスチャがビュー１のテクスチャに依存しない場合、ビュー０の深度マップはビュー１の深度マップに依存しない可能性がある。上記の予測関係、すなわち、ビュー０のテクスチャがビュー１のテクスチャに依存するという条件の下で、ビュー０の深度マップがビュー１の深度マップに依存するかどうかの各々について、予測関係が存在するかどうかを示すためにフラグがシグナリングされ得る。さらに、予測関係の変化に関するそれ以上の詳細を与えるためにＳＥＩメッセージが追加され得る。その方法では、あるＳＥＩメッセージは、真に等しい特定のフラグを有するサブシーケンスに関連付けられ得、別のＳＥＩメッセージは、偽に等しい特定のフラグを有する別のサブシーケンスに関連付けられ得る。
【０１８９】
上記で説明したように、ビューについての同じ時間インスタンスに対応するＶＣＬ  ＮＡＬユニットは、共通のビューコンポーネントとして扱われ得る。本開示の技法は、ビューのためのテクスチャデータと深度マップデータとをビットストリーム中に連続的にコーディングすることを実現し得る。一般に、深度コンポーネントは、存在する場合、常に、ビットストリーム順序においてそれの対応するテクスチャコンポーネントに続く。ビューコンポーネントのテクスチャ情報と深度マップ情報とを分離するために、本開示の本技法は、ビットストリーム中にデリミタ、たとえば、ビューコンポーネントのためのテクスチャデータの終端と深度情報の始端とを示すＮＡＬユニットデリミタを追加することを提案する。
【０１９０】
追加または代替として、テクスチャおよび深度ＶＣＬ  ＮＡＬユニットは、ＮＡＬユニットヘッダ中に、ＮＡＬユニットがテクスチャ情報を含むのか深度情報を含むのかを示すフラグを含み得る。このフラグは、深度フラグと呼ばれることがあり、ＮＡＬユニットがテクスチャ情報を含むことを示す値０、またはＮＡＬユニットが深度情報を含むことを示す値１を有する。このＮＡＬユニットヘッダは新しいＮＡＬユニットタイプに対応し得る。その上、ＮＡＬユニットが、ビューのいずれかのコード化テクスチャピクチャを予測するために使用されるかどうかを示すために、ＮＡＬユニットヘッダ情報が与えられ得る。たとえば、深度マップのＶＣＬ  ＮＡＬユニットが、ビューのテクスチャのいずれかのコード化ピクチャを予測するために使用されるかどうかを示すために、このＶＣＬ  ＮＡＬユニット中に１ビットが追加され得る。
【０１９１】
図４Ｄは、複数のビューのためのＭＶＣ互換ＭＶＤコーディングを示す概念図である。この例では、異なるビューに対応するビデオデータは、たとえば、異なる時間インスタンスにおいて、異なるパースペクティブからのカメラによってそれぞれ取得され得る。この例では、ビュー２００および２２０は、２つの異なるビューに対応し得る。ビューコンポーネント２０２Ａおよび２２２Ａに関連するビデオデータは、同じ時間インスタンスにおいて取得され得、ビューコンポーネント２０２Ｂおよび２２２Ｂに関連するビデオデータは、ビューコンポーネント２０２Ａおよび２２２Ａに関連するビデオデータが取得された時間の後の同じ時間インスタンスにおいて取得され得る。
【０１９２】
ビューコンポーネント２０２Ａ、２２２Ａ、２０２Ｂ、および２２２Ｂの各々は、テクスチャコンポーネントと深度コンポーネントとを備え得る。テクスチャコンポーネントは、カメラによってキャプチャされたデータに対応し得る。深度コンポーネントは、同じビューからのコンポーネントまたは他のビューに対して符号化され得る。図４Ｄの例では、深度コンポーネント２０６Ａは、同じビューコンポーネント２０２Ａのテクスチャコンポーネント２０４Ａに対して予測される。この例では、深度コンポーネント２０６Ｂは、同じビュー（たとえば、ビュー２００）の別のビューコンポーネント２０２Ａの深度コンポーネント２０６Ａに対して予測され、したがって、ビュー内予測を使用する例を示す。別の例では、ビュー２２０の深度コンポーネント２２６Ａを別のビュー２００の深度コンポーネント２０６Ａに対して予測することなど、ビュー間予測が使用され得る。
【０１９３】
一例では、キャプチャされたビュー２００を使用して仮想ビュー２３０を合成するために、ビュー合成予測が利用され得る。この例では、仮想ビューコンポーネント２３２Ｂは、他のビューからの１つまたは複数のコンポーネントのデータ、たとえば、ビューコンポーネント２０２Ｂのテクスチャコンポーネント２０４Ｂと深度コンポーネント２０６Ｂとに基づいて形成、たとえば、補間され得るテクスチャコンポーネント２３４Ｂを備え得る。また、合成仮想コンポーネントは、他のコンポーネントを予測するために利用され得る。この例では、ビューコンポーネント２２２Ｂの深度コンポーネント２２６Ｂは、テクスチャコンポーネント２３４Ｂに対して予測される。
【０１９４】
図５は、本開示に一致するビデオエンコーダの例示的な動作を示す流れ図である。他のデバイスも同様の技法を実行し得るが、図５の技法について、図２のビデオエンコーダ２２の観点から説明する。
【０１９５】
ビデオエンコーダ２２は、テクスチャビデオデータのフレームを取得する（１０２）。他の例では、ビデオエンコーダ２２は、ビデオデータの１つまたは複数のブロックを含む、スライスまたは他のコード化ユニットを受信し得る。いくつかの例では、２つ以上のビューからのフレームがビデオエンコーダ２２によって取得され得、２つ以上のビューは、２つ以上のカメラに対応し得る。ビデオエンコーダ２２は、ビューのビューコンポーネントのためのテクスチャデータを符号化し（１０４）、ビューコンポーネントは、テクスチャビデオデータのフレーム（またはスライス）、ならびに共通の時間インスタンスのための深度ビデオデータのフレーム（またはスライス）の両方を含む。符号化は、フレームのビュー内符号化またはビュー間符号化のいずれかまたはすべてを含み得る。
【０１９６】
ビデオエンコーダ２２は、さらに、ビューコンポーネントに対応する深度マップを受信する（１０６）。深度マップは、ビデオフレーム中のピクセルの領域についての深度情報を含み得る。深度マップは、テクスチャコンポーネントの解像度と同じであるかまたはそれとは異なる解像度を有し得る。一例では、深度マップは深度処理ユニットによって判断され得る。
【０１９７】
ビデオデコーダ２２は、深度マップのブロックのための参照サンプルを判断する（１０８）。一例では、参照サンプルは、同じビューコンポーネント中のコンポーネントであるか、同じビュー中のコンポーネントであるが、時間的に別個のビューコンポーネントであるか、または異なるビュー中のコンポーネントであり得る。一例では、参照サンプルを判断することは、同じビューコンポーネントのためのテクスチャデータ、または同じビュー中の前にコーディングされたビューコンポーネントの深度を分析することを含み得る。ビデオデコーダ２２は、次いで、判断された参照サンプルに対して深度マップを符号化する（１１０）。ビデオデコーダ２２は、判断された参照サンプルを示す予測依存性情報を与える（１１２）。その情報は、深度マップの予測に関連する予測依存性を含み得る。予測依存性情報は、コーディングされている現在フレームまたはスライスのデータを予測するために使用される参照フレームまたは参照スライスを記述し得る（たとえば、ビュー識別子、ＰＯＣ値など）。
【０１９８】
各ビューコンポーネントからの符号化コンポーネントは、ＮＡＬユニットのヘッダ中に、ＮＡＬユニットがテクスチャコンポーネントに対応するのか深度コンポーネントに対応するのかを示すための深度フラグを含めることによって、分離したまま、１つのビットストリーム中に一緒にカプセル化され得る。一例では、テクスチャデータと深度データとをカプセル化することは、テクスチャコンポーネントおよび深度コンポーネントの各々のためにＮＡＬユニットを使用することを含み得、ＮＡＬユニットのヘッダ中で、ＮＡＬユニットがテクスチャＮＡＬユニットであるのか深度ＮＡＬユニットであるのかを示すためにフラグが利用され得る。さらに、テクスチャＮＡＬユニットがどこで終了するかと深度ＮＡＬユニットがどこで開始するかとを示すために、共通のビットストリーム中でテクスチャデータと深度データＮＡＬユニットとの間にデリミタＮＡＬユニットが与えられ得る。
【０１９９】
一例では、テクスチャデータと深度データとをカプセル化することは、第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットとしてテクスチャデータをカプセル化することと、第２のＮＡＬユニットとして深度データをカプセル化することとを備え得、第１のＮＡＬユニットと第２のＮＡＬユニットとは、ＮＡＬユニットの同じタイプのインスタンスに対応する。一例では、第１のＮＡＬユニットは、第１のＮＡＬユニットがテクスチャ情報を含むのか深度情報を含むのかを示すフラグを含む第１のＮＡＬユニットヘッダを備え得、第２のＮＡＬユニットは、第２のＮＡＬユニットがテクスチャ情報を含むのか深度情報を含むのかを示すフラグを含む第２のＮＡＬユニットヘッダを備え得る。一例では、第１のＮＡＬユニットヘッダのフラグの値は、第１のＮＡＬユニットがテクスチャ情報を含むことを示すように設定され得、第２のＮＡＬユニットヘッダのフラグの値は、第２のＮＡＬユニットが深度情報を含むことを示すように設定され得る。このようにして、テクスチャ情報と深度情報の両方を含んでいているビットストリームの処理中に、ＮＡＬユニットのヘッダ中のフラグは、どこでテクスチャデータが終了し、深度データが開始するかを判断するために利用され得る。したがって、２つのコンポーネントが共通のビットストリーム中にカプセル化されても、２つのコンポーネントを容易に分離し得る。これはまた、ビットストリームが、３Ｄディスプレイをサポートするデバイスと２Ｄディスプレイをサポートするデバイスとに送信され得、２Ｄディスプレイデバイスにテクスチャ情報のみを与えるために、ＮＡＬユニットにおいて単純なフィルタ処理が利用され得る場合、有用であり得る。
【０２００】
本開示の技法を使用して、テクスチャコンポーネントと深度コンポーネントとの間の予測関係を示す情報が、ビットストリームとともにシグナリングされ得る。予測関係は、深度コンポーネントがビュー内またはビュー間予測を使用して予測され得るかどうかと、仮想ビューコンポーネントが１つまたは複数の他のビューのテクスチャコンポーネントおよび／または深度コンポーネントから形成され得るかどうかとを示し得る。他のシグナリングされた情報は、異なるビューの各々に関連するカメラパラメータを含み得る。カメラパラメータを使用して、異なるビューについてのテクスチャ情報および深度情報が、参照ビューからのテクスチャ情報および深度情報に対して符号化され得る。このようにして、ビューのサブセットからのテクスチャ情報および深度情報が、符号化され、ビットストリーム中で送信され得る。残りのビューに関連するカメラパラメータは、送信されたテクスチャ情報と深度情報とを使用して、テクスチャ情報と深度情報とを生成するために利用され得る。
【０２０１】
このようにして、図５の方法は、ビデオデータのビューの時間インスタンスのためのテクスチャデータを受信することと、ビデオデータのビューの時間インスタンスのためのテクスチャデータに対応する深度データを受信することと、テクスチャデータと深度データとが共通のビットストリーム内にカプセル化されるように、テクスチャデータと深度データとをビューの時間インスタンスのためのビューコンポーネント中にカプセル化することとを含む方法の一例を表す。
【０２０２】
図６は、本明細書で説明する方法で符号化されたビデオシーケンスを復号し得るビデオデコーダ２８の一例を示すブロック図である。ビデオデコーダ２８は、本明細書では「コーダ」と呼ぶ専用ビデオコンピュータデバイスまたは装置の一例である。図６に示すビデオデコーダ２８は、宛先デバイス１６のビデオデコーダ２８に対応する。しかしながら、他の例では、ビデオデコーダ２８は、異なるデバイスに対応し得る。さらなる例では、（たとえば、他のエンコーダ／デコーダ（コーデック）などの）他のユニットも、ビデオデコーダ２８と同様の技法を実行することができる。
【０２０３】
符号化ビデオビットストリームは、上記で説明したように、ビューコンポーネントに関連するカプセル化されたテクスチャコンポーネントと深度コンポーネントとを含み得る。ビットストリームは、テクスチャコンポーネントおよび深度コンポーネントの各々に関連するＮＡＬユニットを含み得る。各ＮＡＬユニットのヘッダ中のフラグは、ＮＡＬユニットがテクスチャコンポーネントＮＡＬユニットであるのか深度コンポーネントＮＡＬユニットであるのかを示し得る。さらに、ＮＡＬデリミタは、どこでテクスチャＮＡＬユニットが終了し、深度ＮＡＬユニットが開始するかを示し得る。ビットストリームはまた、上記で詳細に説明したように、コンポーネントの各々の予測依存性を示す信号を含み得る。ビデオデコーダ２８は、デリミタＮＡＬユニット、またはＮＡＬユニットヘッダ中の深度フラグを使用して、ＮＡＬユニットがテクスチャ情報を含むのか深度情報を含むのかを判断し得る。
【０２０４】
ビデオデコーダ２８は、量子化係数と予測シンタックス要素とを生成するために、受信したビットストリームのコンポーネントをエントロピー復号するエントロピー復号ユニット５２を含む。ビットストリームは、３Ｄビデオをレンダリングするための、各ピクセルロケーションのためのテクスチャコンポーネントと深度コンポーネントとを有する２コンポーネントコード化ブロックを含み得る。予測シンタックス要素は、コーディングモード、１つまたは複数の動きベクトル、使用される補間技法を識別する情報、補間フィルタ処理中に使用するための係数、ならびに同じビューのテクスチャコンポーネントと深度コンポーネントとの間の予測関係および他のビューに対する予測関係の指示を含み得る。ビットストリームはまた、ビットストリームのコンポーネントの対応するビューに関連するシグナリングされたカメラパラメータに関連付けられ得る。
【０２０５】
予測シンタックス要素、たとえば、係数は、予測ユニット５５に転送される。固定フィルタの係数に対してまたは互いに対して係数をコーディングするために予測が使用された場合、予測ユニット５５は、実際の係数を定義するためにシンタックス要素を復号することができる。また、量子化が予測シンタックスのいずれかに適用された場合、逆量子化ユニット５６はまた、そのような量子化を除去し得る。逆量子化ユニット５６は、符号化ビットストリーム中のコード化ブロックの各ピクセルロケーションのための深度コンポーネントとテクスチャコンポーネントとを別様に扱い得る。たとえば、深度コンポーネントは、テクスチャコンポーネントとは別様に量子化されていることがある。したがって、逆量子化ユニット５６は、深度コンポーネントとテクスチャコンポーネントとを別々に処理し得る。たとえば、フィルタ係数は、本開示に従って予測コーディングされ、量子化され得、この場合、逆量子化ユニット５６は、そのような係数を予測的に復号し、逆量子化するために、ビデオデコーダ２８によって使用され得る。
【０２０６】
予測ユニット５５は、ビデオエンコーダ２２の予測ユニット３２に関して上記で詳細に説明したのとほとんど同じ方法で、メモリ６２に記憶された予測シンタックス要素と１つまたは複数の前に復号されたブロックとに基づいて、予測データを生成し得る。特に、予測ユニット５５は、動き補償および／またはイントラ予測中に、本開示のマルチビュービデオプラス深度技法のうちの１つまたは複数を実行して、それぞれの深度コンポーネントおよびテクスチャコンポーネントのための予測ブロックを生成し得る。予測ブロック（ならびにコード化ブロック）は、深度コンポーネントとテクスチャコンポーネントとでは異なる解像度を有し得る。たとえば、深度コンポーネントは１／４ピクセル精度を有し得るが、テクスチャコンポーネントはフル整数ピクセル精度を有する。したがって、本開示の技法のうちの１つまたは複数は、予測ブロックを生成する際に、ビデオデコーダ２８によって使用され得る。予測ユニット５５は、本開示の補間および補間様フィルタ処理技法のために使用されるフィルタを備える動き補償ユニットを含み得る。動き補償構成要素は、説明を簡単で容易にするために図６に示していない。
【０２０７】
逆量子化ユニット５６は、量子化された係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、Ｈ．２６４復号のために、またはいずれかの他の復号規格のために定義されたプロセスであり得る。逆変換ユニット５８は、ピクセル領域における残差ブロックを生成するために、変換係数に、逆変換、たとえば、逆ＤＣＴまたは概念的に同様の逆変換プロセスを適用する。加算器６４は、残差ブロックを、予測ユニット５５によって生成された対応する予測ブロックと加算して、ビデオエンコーダ２２によって符号化された元のブロックの再構成されたバージョンを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して復号ブロックをフィルタ処理することもある。復号ビデオブロックは、次いで、メモリ６２に記憶され、メモリ６２は、その後の動き補償のための参照ブロックを与え、また、（図１のデバイス３０などの）ディスプレイデバイスを駆動するために復号ビデオを生成する。
【０２０８】
復号ビデオは、３Ｄビデオをレンダリングするために使用され得る。３Ｄビデオは３次元仮想ビューを備え得る。ブロック中の各ピクセルについての水平オフセット（水平視差）を判断するために深度情報が使用され得る。また、オクルージョン処理が、仮想ビューを生成するために実行され得る。一例では、ビデオデコーダ２８は、２Ｄディスプレイデバイスを含む異なるディスプレイデバイスに復号ビデオを送信し得る。この例では、ビデオデコーダ２８は、ディスプレイデバイスに復号テクスチャコンポーネントのみを送り、深度コンポーネントは送らないことがある。一例では、ビデオデコーダ、ディスプレイ、または中間ユニットは、テクスチャ情報と深度情報とを使用して合成ビューを生成し得る。
【０２０９】
図７は、本開示に一致するビデオデコーダの例示的な動作を示す流れ図である。したがって、図７のプロセスは、図５の符号化プロセスとは逆の復号プロセスと考えられ得る。他のデバイスも同様の技法を実行し得るが、図７について図６のビデオデコーダ２８の観点から説明する。
【０２１０】
ビデオデコーダ２８は、ビューコンポーネントのカプセル化されたテクスチャコンポーネントと深度コンポーネントとを含むビットストリームを受信する（１４０）。ビデオデコーダ２８は、ビットストリームを、符号化され得るテクスチャコンポーネントと深度コンポーネントとに分離する（１４２）。ビデオデコーダ２８はまた、ビットストリーム内のシグナリングされた情報、たとえば、同じビューのテクスチャデータと深度データとの間の予測依存性、および他のビューのテクスチャデータと深度データとに対する予測依存性、およびビューコンポーネントに関連するカメラパラメータを取得し得る。
【０２１１】
ビデオデコーダ２８は、（ビデオエンコーダ２２などの）エンコーダにおいて残差係数がどんな予測ブロックから判断されたかを判断するために、予測モードを判断する（１４４）。予測モードの判断に基づいて、ビデオデコーダ２８は、コード化ブロックについての予測データを計算する（１４６）。判断された予測モードと予測データとを使用して、ビデオデコーダ２８は、テクスチャコンポーネントおよび深度コンポーネントの各々を復号する（１４８）。コンポーネントを復号するために、ビデオデコーダ２８は、適切なシグナリングされた予測関係と参照とを使用し、またビデオ復号機能を使用し得る。たとえば、ビデオデコーダ２８は残差係数を復号し得、残差係数は、（たとえば、逆量子化ユニット５６によって）逆量子化され、（たとえば、逆変換ユニット５８によって）逆変換され得る。
【０２１２】
復号された残差係数を使用して、ビデオデコーダ２８は、残差係数を予測データと組み合わせて、再構成されたブロックを形成する（１５０）。再構成されたブロックから、ビデオデコーダ２８は、テクスチャコンポーネントと深度コンポーネントとを有する画像のフレームを生成し得る。
【０２１３】
テクスチャコンポーネントと深度マップとを有するフレームを使用して、ビデオデコーダ２８はフレームの３次元仮想ビューを生成する（１５２）。フレームは、画像の３次元仮想ビューを生成するために、他の復号されたフレームと組み合わせられ得る。いくつかの例では、ビデオデコーダ２８は、３次元仮想ビューを生成するのではなく、テクスチャコンポーネントと深度マップとを有するフレームを外部レンダリングデバイスに転送する。
【０２１４】
このようにして、図７の方法は、テクスチャデータと深度データとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信することであって、深度データが、ビデオデータのビューの時間インスタンスのためのテクスチャデータに対応する、受信することと、ビデオデータのビューの時間インスタンスのためのテクスチャデータと深度データとを分離することとを含む方法の一例を表す。
【０２１５】
１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０２１６】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０２１７】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＬＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０２１８】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０２１９】
本開示の様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータをコーディングする方法であって、
ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテクスチャビューコンポーネントを受信することと、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信することと、
前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを前記ビューの前記時間インスタンスのためのビューコンポーネント中にカプセル化することと
を備える、方法。
［Ｃ２］
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項１に記載の方法。
［Ｃ３］
前記ビューコンポーネントの前記テクスチャビューコンポーネントと、その後に連続的に続く前記ビューコンポーネントの前記深度ビューコンポーネントとを含むように前記共通のビットストリームを形成することと、
デリミタネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成することと
をさらに備え、
カプセル化することが、前記共通のビットストリームのアクセスユニットにおいて前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間に前記デリミタＮＡＬユニットを与えることを備える、請求項１に記載の方法。
［Ｃ４］
カプセル化することが、
前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとして前記深度ビューコンポーネントをカプセル化すること
を備える、請求項１に記載の方法。
［Ｃ５］
前記ビットストリーム中でビデオデータのビューに関係する１つまたは複数のカメラのカメラパラメータをシグナリングすることをさらに備え、前記カメラパラメータをシグナリングすることが、
前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータを判断することであって、前記真性カメラパラメータが、焦点距離および主点オフセットのうちの１つまたは複数を備える、判断することと、
前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータを判断することと、
前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータを判断することと、
前記真性カメラパラメータと、前記外因性カメラパラメータと、前記ビュー固有カメラパラメータとを示す値を含むシーケンスレベルデータ構造を形成することと
を備える、請求項１に記載の方法。
［Ｃ６］
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すデータをシグナリングすることをさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されるルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項１に記載の方法。
［Ｃ７］
前記変換を表す前記データをシグナリングすることが、一意のＮＡＬユニットタイプ値と前記変換を表す前記データとを備えるＮＡＬユニットを形成することを備え、前記方法が、１つまたは複数のアクセスユニットにおいて前記共通のストリーム中でビューパラメータセットをシグナリングすることをさらに備え、前記ビューパラメータセットが前記現実世界深度（ｚ）値の前記範囲を示す情報を含む、請求項６に記載の方法。
［Ｃ８］
ビデオデータを処理するためのデバイスであって、ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテキストビューコンポーネントを受信することと、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信することと、前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを前記ビューの前記時間インスタンスのためのビューコンポーネント中にカプセル化することとを行うように構成されたビデオコーダを備えるデバイス。
［Ｃ９］
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項８に記載のデバイス。
［Ｃ１０］
前記ビデオコーダが、
前記ビューコンポーネントの前記テクスチャビューコンポーネントと、その後に連続的に続く前記ビューコンポーネントの前記深度ビューコンポーネントとを含むように前記共通のビットストリームを形成することと、
デリミタネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成することと
を行うようにさらに構成され、
カプセル化することが、前記共通のビットストリームのアクセスユニットにおいて前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間に前記デリミタＮＡＬユニットを与えることを備える、請求項８に記載のデバイス。
［Ｃ１１］
カプセル化するために、前記ビデオコーダが、
前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとして前記深度ビューコンポーネントをカプセル化すること
を行うようにさらに構成された、請求項８に記載のデバイス。
［Ｃ１２］
前記ビデオコーダが、前記ビットストリーム中でビデオデータのビューに関係する１つまたは複数のカメラのカメラパラメータをシグナリングするようにさらに構成され、前記カメラパラメータをシグナリングするために、前記ビデオコーダが、
前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータを判断することであって、前記真性カメラパラメータが、焦点距離および主点オフセットのうちの１つまたは複数を備える、判断することと、
前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータを判断することと、
前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータを判断することと、
前記真性カメラパラメータと、前記外因性カメラパラメータと、前記ビュー固有カメラパラメータとを示す値を含むシーケンスレベルデータ構造を形成することと
を行うように構成された、請求項８に記載のデバイス。
［Ｃ１３］
前記ビデオコーダが、現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すデータをシグナリングするようにさらに構成され、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されるルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項８に記載のデバイス。
［Ｃ１４］
前記変換を表す前記データをシグナリングするために、前記ビデオコーダが、一意のＮＡＬユニットタイプ値と前記変換を表す前記データとを備えるＮＡＬユニットを形成することと、１つまたは複数のアクセスユニットにおいて前記共通のストリーム中でビューパラメータセットをシグナリングすることであって、前記ビューパラメータセットが前記現実世界深度（ｚ）値の前記範囲を示す情報を含む、シグナリングすることとを行うように構成された、請求項１３に記載のデバイス。
［Ｃ１５］
実行されたとき、
ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテクスチャビューコンポーネントを受信することと、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信することと、
前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを前記ビューの前記時間インスタンスのためのビューコンポーネント中にカプセル化することと
をビデオ符号化デバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［Ｃ１６］
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項１５に記載のコンピュータプログラム製品。
［Ｃ１７］
前記ビューコンポーネントの前記テクスチャビューコンポーネントと、その後に連続的に続く前記ビューコンポーネントの前記深度ビューコンポーネントとを含むように前記共通のビットストリームを形成することと、
デリミタネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成することと
を前記プロセッサに行わせる命令をさらに備え、
カプセル化することが、前記共通のビットストリームのアクセスユニットにおいて前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間に前記デリミタＮＡＬユニットを与えることを備える、請求項１５に記載のコンピュータプログラム製品。
［Ｃ１８］
カプセル化するための前記命令が、
前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとして前記深度ビューコンポーネントをカプセル化すること
を前記プロセッサに行わせる命令を備える、請求項１５に記載のコンピュータプログラム製品。
［Ｃ１９］
前記ビットストリーム中でビデオデータのビューに関係する１つまたは複数のカメラのカメラパラメータをシグナリングすることを前記プロセッサに行わせる命令をさらに備え、前記カメラパラメータをシグナリングするための前記命令が、
前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータを判断することであって、前記真性カメラパラメータが、焦点距離および主点オフセットのうちの１つまたは複数を備える、判断することと、
前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータを判断することと、
前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータを判断することと、
前記真性カメラパラメータと、前記外因性カメラパラメータと、前記ビュー固有カメラパラメータとを示す値を含むシーケンスレベルデータ構造を形成することと
を前記プロセッサに行わせる命令を備える、請求項１５に記載のコンピュータプログラム製品。
［Ｃ２０］
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すデータをシグナリングすることを前記プロセッサに行わせる命令をさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されるルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項１５に記載のコンピュータプログラム製品。
［Ｃ２１］
前記変換を表す前記データをシグナリングすることを前記プロセッサに行わせるための前記命令が、一意のＮＡＬユニットタイプ値と前記変換を表す前記データとを備えるＮＡＬユニットを形成することと、前記共通のストリーム中で１つまたは複数のアクセスユニットにおいてビューパラメータセットをシグナリングすることであって、前記ビューパラメータセットが前記現実世界深度（ｚ）値の前記範囲を示す情報を含む、シグナリングすることとを前記プロセッサに行わせる命令を備える、請求項２０に記載のコンピュータプログラム製品。
［Ｃ２２］
ビデオデータを処理するためのデバイスであって、
ビデオデータのビューの時間インスタンスのためのテクスチャデータを備えるテクスチャビューコンポーネントを受信するための手段と、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える深度ビューコンポーネントを受信するための手段と、
前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとが共通のビットストリーム内にカプセル化されるように、前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを前記ビューの前記時間インスタンスのためのビューコンポーネント中にカプセル化するための手段と
を備える、デバイス。
［Ｃ２３］
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項２２に記載のデバイス。
［Ｃ２４］
前記ビューコンポーネントの前記テクスチャビューコンポーネントと、その後に連続的に続く前記ビューコンポーネントの前記深度ビューコンポーネントとを含むように前記共通のビットストリームを形成するための手段と、
デリミタネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを形成するための手段と
をさらに備え、
カプセル化することが、前記共通のビットストリームのアクセスユニットにおいて前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間に前記デリミタＮＡＬユニットを与えることを備える、請求項２２に記載のデバイス。
［Ｃ２５］
カプセル化するための前記手段が、
前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとして前記深度ビューコンポーネントをカプセル化するための手段
を備える、請求項２２に記載のデバイス。
［Ｃ２６］
前記ビットストリーム中でビデオデータのビューに関係する１つまたは複数のカメラのカメラパラメータをシグナリングするための手段をさらに備え、前記カメラパラメータをシグナリングするための前記手段が、
前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータを判断するための手段であって、前記真性カメラパラメータが、焦点距離および主点オフセットのうちの１つまたは複数を備える、判断するための手段と、
前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータを判断するための手段と、
前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータを判断するための手段と、
前記真性カメラパラメータと、前記外因性カメラパラメータと、前記ビュー固有カメラパラメータとを示す値を含むシーケンスレベルデータ構造を形成するための手段と
を備える、請求項２２に記載のデバイス。
［Ｃ２７］
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すデータをシグナリングするための手段をさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されるルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項２２に記載のデバイス。
［Ｃ２８］
前記変換を表す前記データをシグナリングするための前記手段が、一意のＮＡＬユニットタイプ値と前記変換を表す前記データとを備えるＮＡＬユニットを形成するための手段と、前記共通のストリーム中で１つまたは複数のアクセスユニットにおいてビューパラメータセットをシグナリングするための手段であって、前記ビューパラメータセットが前記現実世界深度（ｚ）値の前記範囲を示す情報を含む、シグナリングするための手段を備える、請求項２７に記載のデバイス。
［Ｃ２９］
ビデオデータをコーディングする方法であって、
テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信することであって、前記テクスチャビューコンポーネントが、ビューの前記時間インスタンスのためのテクスチャデータを備え、前記深度ビューコンポーネントが、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える、受信することと、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを分離することと
を備える、方法。
［Ｃ３０］
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項２９に記載の方法。
［Ｃ３１］
前記共通のビットストリームが、前記共通のビットストリーム中の前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間にデリミタＮＡＬユニットを含む、請求項２９に記載の方法。
［Ｃ３２］
前記深度ビューコンポーネントが、前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとしてカプセル化された、請求項２９に記載の方法。
［Ｃ３３］
前記ビットストリーム中のビデオデータのビューに関係する１つまたは複数のカメラのシグナリングされたカメラパラメータを取得することをさらに備え、前記ビットストリームが、前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータであって、焦点距離および主点オフセットのうちの１つまたは複数を備える真性カメラパラメータと、前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータと、前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータとを示す値を含むＳＰＳデータ構造をカプセル化した、請求項２９に記載の方法。
［Ｃ３４］
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すシグナリングされたデータを取得することをさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されたルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項２９に記載の方法。
［Ｃ３５］
ビデオデータを処理するためのデバイスであって、テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信することであって、前記テクスチャビューコンポーネントが、ビューの前記時間インスタンスのためのテクスチャデータを備え、前記深度ビューコンポーネントが、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える、受信することと、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを分離することとを行うように構成されたビデオコーダを備えるデバイス。
［Ｃ３６］
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項３５に記載のデバイス。
［Ｃ３７］
前記共通のビットストリームが、前記共通のビットストリーム中の前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間にデリミタＮＡＬユニットを含む、請求項３５に記載のデバイス。
［Ｃ３８］
前記深度ビューコンポーネントが、前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとしてカプセル化された、請求項３５に記載のデバイス。
［Ｃ３９］
前記ビデオコーダが、前記ビットストリーム中のビデオデータのビューに関係する１つまたは複数のカメラのシグナリングされたカメラパラメータを取得するようにさらに構成され、前記ビットストリームが、前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータであって、焦点距離および主点オフセットのうちの１つまたは複数を備える真性カメラパラメータと、前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータと、前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータとを示す値を含むＳＰＳデータ構造をカプセル化した、請求項３５に記載のデバイス。
［Ｃ４０］
前記ビデオコーダが、現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すシグナリングされたデータを取得するようにさらに構成され、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されたルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項３５に記載のデバイス。
［Ｃ４１］
実行されたとき、
テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信することであって、前記テクスチャビューコンポーネントが、ビューの前記時間インスタンスのためのテクスチャデータを備え、前記深度ビューコンポーネントが、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える、受信することと、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを分離することと
をビデオ復号デバイスのプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
［Ｃ４２］
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項４１に記載のコンピュータプログラム製品。
［Ｃ４３］
前記共通のビットストリームが、前記共通のビットストリーム中の前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間にデリミタＮＡＬユニットを含む、請求項４１に記載のコンピュータプログラム製品。
［Ｃ４４］
前記深度ビューコンポーネントが、前記テクスチャビューコンポーネントをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとしてカプセル化された、請求項４１に記載のコンピュータプログラム製品。
［Ｃ４５］
前記ビットストリーム中のビデオデータのビューに関係する１つまたは複数のカメラのシグナリングされたカメラパラメータを取得することを前記プロセッサに行わせる命令をさらに備え、前記ビットストリームが、前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータであって、焦点距離および主点オフセットのうちの１つまたは複数を備える真性カメラパラメータと、前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータと、前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータとを示す値を含むＳＰＳデータ構造をカプセル化した、請求項４１に記載のコンピュータプログラム製品。
［Ｃ４６］
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すシグナリングされたデータを取得することを前記プロセッサに行わせる命令をさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されたルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項４１に記載のコンピュータプログラム製品。
［Ｃ４７］
ビデオデータを処理するためのデバイスであって、
テクスチャビューコンポーネントと深度ビューコンポーネントとをビデオデータのビューの時間インスタンスのためのビューコンポーネント中にカプセル化した共通のビットストリームを受信するための手段であって、前記テクスチャビューコンポーネントが、ビューの前記時間インスタンスのためのテクスチャデータを備え、前記深度ビューコンポーネントが、ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャデータに対応する深度データを備える、受信するための手段と、
ビデオデータの前記ビューの前記時間インスタンスのための前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとを分離するための手段と
を備えるデバイス。
［Ｃ４８］
前記テクスチャデータが、テクスチャデータのコード化フレームのコード化スライスを備え、前記深度データが、深度データのコード化フレームのコード化スライスを備える、請求項４７に記載のデバイス。
［Ｃ４９］
前記共通のビットストリームが、前記共通のビットストリーム中の前記テクスチャビューコンポーネントと前記深度ビューコンポーネントとの間にデリミタＮＡＬユニットを含む、請求項４７に記載のデバイス。
［Ｃ５０］
深度データが、前記テクスチャデータをカプセル化するために使用されたネットワークアブストラクションレイヤ（ＮＡＬ）ユニットタイプとは異なるＮＡＬユニットタイプをもつＮＡＬユニットとしてカプセル化された、請求項４７に記載のデバイス。
［Ｃ５１］
前記ビットストリーム中のビデオデータのビューに関係する１つまたは複数のカメラのシグナリングされたカメラパラメータを取得するための手段をさらに備え、前記ビットストリームが、前記１つまたは複数のカメラに対応する前記ビューによって共有される真性カメラパラメータであって、焦点距離および主点オフセットのうちの１つまたは複数を備える真性カメラパラメータと、前記１つまたは複数のカメラに対応する前記ビューによって共有される外因性カメラパラメータと、前記１つまたは複数のカメラの現実世界水平ロケーションを含むビュー固有カメラパラメータとを示す値を含むＳＰＳデータ構造をカプセル化した、請求項４７に記載のデバイス。
［Ｃ５２］
現実世界深度（ｚ）値から前記深度データ中でコード化フレームとして表される深度値への変換を表すシグナリングされたデータを取得するための手段をさらに備え、前記変換を表す前記データが、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための線形関数の指示、前記現実世界深度（ｚ）値を前記深度ビューコンポーネントの深度値に変換するための逆線形関数の指示、前記現実世界深度（ｚ）値の範囲を表すデータ、および前記現実世界深度（ｚ）値をシグナリングするために使用されたルックアップテーブルの指示のうちの少なくとも１つを表すデータを備える、請求項４７に記載のデバイス。
【図１】
0005698391.tif 000027
【図２】
0005698391.tif 000028
【図３Ａ】
0005698391.tif 000029
【図３Ｂ】
0005698391.tif 000030
【図４Ａ】
0005698391.tif 000031
【図４Ｂ】
0005698391.tif 000032
【図４Ｃ】
0005698391.tif 000033
【図４Ｄ】
0005698391.tif 000034
【図５】
0005698391.tif 000035
【図６】
0005698391.tif 000036
【図７】
0005698391.tif 000037