[0031]全般に、本開示は、ビデオコンテンツをカプセル化して逆カプセル化することと、コード化されたビデオコンテンツをファイルに記憶することとに関する。本開示は、例えば、国際標準化機構(ISO)ベースのメディアファイルフォーマット(ISOBMFF)に基づくファイルに、HEVCビデオ規格に従ってコード化されたビデオコンテンツを記憶することを含む、ビデオコンテンツを記憶するための様々な技法を説明する。具体的には、本開示は、メディアファイル中の複数のコード化されたビューを含むビデオストリームをカプセル化するための技法を説明する。本開示全体で、「メディアファイル」という用語は「ビデオファイル」と交換可能に使用され得る。複数のコード化されたビューを含むビデオストリームを合成して解析(構文解析(parsing))するための様々な方法が本明細書で開示され、各ビューは、ISOBMFFに基づくファイルに、テクスチャビューのみ、深度ビューのみ、又はテクスチャビューと深度ビューの両方を含み得る。
[0032]ビデオコード化規格の例は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262又はISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、及び、スケーラブルビデオコード化(SVC)拡張とマルチビュービデオコード化(MVC)拡張とを含む(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264を含む。加えて、ITU−T Video Coding Experts Group(VCEG)とISO/IEC Motion Picture Experts Group(MPEG)とのJoint Collaboration Team on Video Coding (JCT−VC)によって開発されている新しいビデオコード化規格、即ち、High−Efficiency Video Coding(HEVC)がある。HEVCの最近のワーキングドラフト(WD)は、「High Efficiency Video Coding (HEVC) text specification draft 9」(本明細書では「HEVC Working Draft 9」又は「HEVC WD9」と呼ばれる)と題され、文書JCTVC−K1003_v11、Bross他、ITU−T SG16 WP3及びISO/IEC TJC1/SC29/WG11のJoint Collaborative Team on Video Coding (JCT−VC)、第11回会合、上海、中国、2012年10月10日〜19日に記載されており、http://phenix.int−evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC−K1003−v11.zip.から利用可能である。
[0033]様々なAVC及びHEVCの拡張も、JCT−3V及びJTC−VCにおいて開発中である。JCT−3Vでは、マルチビュー拡張(MV−HEVC)及び3Dビデオ拡張(3D−HEVC)という2つのHEVC拡張が開発されている。加えて、MVC+D及び3D−AVCという2つのAVC拡張が開発されている。
[0034]進行中の規格の最近のバージョンは次の通りである。M.Hannuksela (Nokia)、Y.Chen (Qualcomm)、G.Sullivan (Microsoft)、T.Suzuki、S.Hattori (Sony)による、2012年10月付けの、http://phenix.it−sudparis.eu/jct2/doc_end_user/documents/2_Shanghai/wg11/JCT3V−B1001−v1.zip.において入手可能な、「Study Text of ISO/IEC 14496−10:2012/DAM2 MVC extension for inclusion of depth maps」という表題の文書JCT3V−B1001。これは、MVC+D又は3次元ビデオコード化(3VC)とも呼ばれ、コード化されたビデオは3次元ビデオ(3DV)と呼ばれ得る。3次元ビデオコード化(three−dimensional video coding)は、3次元ビデオコード化(three−dimension video coding)とも呼ばれ得る。M.M.Hannuksela、Y.Chen、T.Suzuki、J.−R.Ohm、G.J.Sullivanによる、http://phenix.it−sudparis.eu/jct2/doc_end_user/documents/2_Shanghai/wg11/JCT3V−B1002−v1.zip.において入手可能な、「3D−AVC draft text 4」という表題の文書JCT3V−B1002。G.Tech、K.Wegner、Y.Chen、M.Hannukselaによる、http://phenix.it−sudparis.eu/jct2/doc_end_user/documents/2_Shanghai/wg11/JCT3V−B1004−v1.zip.において入手可能な、「MV−HEVC Draft Text 2」という表題の文書JCT3V−B1004。
G.Tech、K.Wegner、Y.Chen、S.Yeaによる、http://phenix.it−sudparis.eu/jct2/doc_end_user/documents/2_Shanghai/wg11/JCT3V−B1005−v1.zip.において入手可能な、「3D−HEVC Test Model 2」という表題の文書JCT3V−B1005。
[0035]本開示は、電子データファイルへのビデオコンテンツの記憶に関する。特定のビデオ規格に従ってコード化されたビデオコンテンツを記憶するためには、その特定のビデオ規格に対応するファイルフォーマット規格が有用であり得る。具体的には、本文書は、複数のコード化されたビューを含むビデオストリームを記憶するための様々な方法を開示し、各ビューは、ISOベースのメディアファイルフォーマット(ISOBMFF)に基づくファイルに、テクスチャビューのみ、深度ビューのみ、又は両方を含み得る。コード化拡張規格の様々な1つにおいて、複数のビュー又はレイヤが存在し得る。更に、異なるレイヤ、テクスチャビュー又は深度ビューは、異なる空間分解能を有し得る。符号化されたビデオのファイルへのカプセル化のための技法が説明され、符号化されたビデオコンテンツを取り出すためのファイルの逆カプセル化の技法も説明される。
[0036]ファイルフォーマット規格は、ISOベースのメディアファイルフォーマット(ISOBMFF、ISO/IEC 14496−12)と、MPEG−4ファイルフォーマット(ISO/IEC14496−14)、第3世代パートナーシッププロジェクト(3GPP)ファイルフォーマット(3GPP TS26.244)、及びAVCファイルフォーマット(ISO/IEC14496−15)を含む、ISOBMFFから導かれた他のフォーマットとを含む。ISOBMFFは、AVCファイルフォーマットのような多くのエンコーダ−デコーダ(コーデック)カプセル化フォーマットのための、更には、MPEG−4ファイルフォーマット、3GPPファイルフォーマット(3GP)、及びDVBファイルフォーマットのような多くのマルチメディアコンテナフォーマットのための、基礎として使用され得る。
[0037]HEVCファイルフォーマットは、そのカプセル化フォーマットの基礎として、ISOBMFFを使用する。(本明細書では「HEVCFF」と呼ばれる)HEVCファイルフォーマットの最新のドラフトは、ISO/IEC 14496−15 2010/Amd.1:2011(E)に従って定義され、次の規範的な参照、即ち、ISO/IEC 14496−15、Information Technology−Coding of audio−visual objects−Part15: ISOベースのメディアファイルフォーマット(即ち、ISOBMFF)におけるNAL単位により構成されたビデオの搬送、を含む。
[0038]ISOBMFFは、多くのビデオコード化規格のカプセル化フォーマット、及び、多くのマルチメディアコンテナフォーマットの基礎として使用される。ISOBMFFに基づく他のファイルフォーマットの例は、例えば、MPEG−4ファイルフォーマット(ISO/IEC 14496−14)、3GPPファイルフォーマット(3GPP TS26.244)、及びAVCファイルフォーマット(ISO/IEC 14496−15)(即ち、AVCFF)を含む。更に、本明細書で開示される技法は、HEVCに関する幾つかの例で説明され、特定のファイルフォーマットに言及することがあるが、それらの技法は、他のビデオコード化規格及びファイルフォーマットに等しく適用可能であり得ることに留意されたい。
[0039]連続的なメディア(例えば、オーディオ及びビデオのような)に加えて、静的なメディア(例えば、画像のような)及びメタデータが、ISOBMFFに準拠したファイルに記憶され得る。ISOBMFFに従って構成されたファイルは、ローカルメディアファイルの再生、リモートファイルのプログレッシブダウンロード、Dynamic Adaptive Streaming over Hypertext Transfer Protocol(HTTP)(DASH)のためのセグメント、ストリーミングされるべきコンテンツ及びそのパケット化命令のためのコンテナ、並びに、受信されたリアルタイムメディアストリームの記録を含む、多くの目的のために使用され得る。一般に、ISOBMFFは、オーディオデータ及びビデオデータのような連続的なメディアデータが、メタデータとは独立に記憶されることを可能にする。一例では、メディアデータは、HEVCに従ってコード化されたピクチャのグループを含み得る。メタデータは通常、メディアデータの部分が独立に復号可能であるように、表示情報とタイミング情報とを含む。
[0040]ISOBMFFは、メディアファイルを形成するための構成単位としてエレメンタリシンタックス要素が使用される、オブジェクト指向ベースの方式を使用する。ISOBMFFでは、これらのシンタックス要素は「ボックス」と呼ばれる。しかしながら、ISOBMFFに基づく特定のファイルフォーマットは、「アトム」のような異なる用語を使用して、ボックスに言及することがある。更に、ISOBMFFに基づく特定のファイルフォーマットを説明するとき、限定されない方式で、しばしば特定の用語がHEVCFFの用語と交換可能に使用され得ることに留意されたい。例えば、HEVCFFを説明するとき、「アクセス単位」という用語が、ISOBMFFにおける「サンプル」という用語に対応することがあり、アクセス単位はいずれの用語を使用しても表され得る。
[0041]ISOBMFFでは、ボックス、エレメンタリシンタックス要素は、4文字のタイプと、ボックスのバイトカウントと、ペイロードとを含む。ボックスタイプは、特定のボックスと他のタイプのボックスとの論理的な関係を定義する。ボックスタイプはまた、その特定のボックスタイプに対してどのデータが必須であり、その特定のボックスタイプに対してどのデータが任意であるかを表し得る。ボックスは、ボックスのシーケンス又はグループの一部であってよく、サブボックスと呼ばれ得る他のボックスを含んでよい。
[0042]ISOBMFFでは、ムービーボックス(「moov」)が、ファイル中に存在する連続的なメディアストリームのメタデータを含む。ファイル中に存在する連続的なメディアストリームのメタデータは更に、トラックボックス(「trak」)のような、ムービーボックス中の追加のボックス内に封入され得る。連続的なメディアストリームは、ISOBMFFファイル中ではトラックとして表されてよく、トラックは、ムービーボックス内に封入され得るメタデータを参照する論理的な構造であり、メディアストリームはサンプルのシーケンスからなる。ISOBMFFでは、メディアストリームは、メディアデータボックス(「mdat」)及びそのサブボックスのような、ボックス内に封入され得る。更に、幾つかの例では、メディアストリームは、ISOBMFFファイルに直接記憶され得る。トラックに対するメディアコンテンツは、オーディオ又はビデオアクセス単位のようなサンプルのシーケンスからなる。サンプルのシーケンスは、ストリームと呼ばれ得る。ISOBMFFは、エレメンタリメディアストリームを含むメディアトラックを規定する。各トラックに対するメタデータは、サンプル記述エントリーのリストを含み、サンプル記述エントリーの各々が、トラック中で使用されるコード化フォーマット又はカプセル化フォーマットと、そのフォーマットを処理するための初期化データとを提供する。各サンプルは、トラックのサンプル記述エントリーの1つと関連付けられる。ISOBMFFに基づく幾つかのファイルタイプは、ヒントトラックも含む。ヒントトラックは、メディアコンテンツがネットワークを通じてストリーミングされるときに品質及び信頼性が改善されるように、メディアコンテンツの再構成を支援する情報を含む。
[0043]ISOBMFFは、次のタイプのトラック、即ち、エレメンタリメディアストリームを含むメディアトラックと、メディア送信命令を含むか受信されたパケットストリームを表すかのいずれかであるヒントトラックと、時間同期されたメタデータを備えるタイムドメタデータトラックとを規定する。
[0044]元々は記憶のために設計されたが、ISOBMFFは、ストリーミング、例えばプログレッシブダウンロード又はDASHのために非常に有用であることがわかっている。ストリーミングの目的で、ISOBMFFで定義されたムービーフラグメントが使用され得る。
[0045]各トラックに対するメタデータは、サンプル記述エントリーのリストを含み、サンプル記述エントリーの各々が、トラック中で使用されるコード化フォーマット又はカプセル化フォーマットと、そのフォーマットを処理するための初期化データとを提供する。各サンプルは、トラックのサンプル記述エントリーの1つと関連付けられる。
[0046]ISOBMFFは、様々な機構によってサンプル固有のメタデータを規定することを可能にする。サンプルテーブルボックス(「stbl」)内の特定のボックスが、一般的な需要に応えるために標準化されている。例えば、シンクサンプルボックス(「stss」)は、トラックのランダムアクセスサンプルを列挙するために使用される。シンクサンプルは、MVC構成記録又は3VC構成記録をそれぞれ含む任意のサンプルエントリーに対する、MVC又は3VCビットストリームの瞬時復号リフレッシュ(IDR)アクセス単位の存在を特定する。サンプルグループ化機構は、ファイル中のサンプルグループ記述エントリーとして規定される同じ特性を共有するサンプルのグループへの、4文字のグループ化タイプに従ったサンプルのマッピングを可能にする。幾つかのグループ化タイプが、ISOBMFFにおいて規定されている。
[0047]ISOBMFFに従って記憶されたファイルと同様に、HEVCファイルは、メタデータを参照する一連のエレメンタリストリームを含み得る。HEVCFFでは、サンプルは、ISO/IEC 23008−2において定義されるように、アクセス単位と呼ばれ得る。HEVCFFでは、メタデータは、サンプル記述エントリーにも含まれ得る。HEVCFFはヒントを与えることを可能にし得るが、幾つかのファイルフォーマットにおいてヒントトラックが「Bフレーム」として参照するものは、実際には、ISO/IEC 23008−2において定義されるような、「使い捨て」のピクチャ又は非参照ピクチャであり得ることに留意されたい。更に、HEVCビデオコンテンツの記憶のために使用されるファイルフォーマットは、ISOBMFFの既存の機能を使用し得るが、パラメータセット、時間スケーラビリティ、及びランダムアクセス復元ポイントのような、特定のHEVCコード化されたビデオコンテンツの特徴をサポートするための拡張も定義し得る。
[0048]多くの場合、ISOBMFFに基づく特定のビデオコーデックのビデオコンテンツを記憶するために、そのビデオコーデックに対するファイルフォーマット規格が使用される。幾つかの場合、規格に対する拡張としてコード化される深度を伴う複数のコード化されたビューを含むビデオストリームの記憶のために、その規格と適合するファイルフォーマットは、深度を伴う複数のコード化されたビューのために使用され得る。例えば、MVCのファイルフォーマット(これはAVCファイルフォーマットの一部である)が、複数のコード化されたビュープラス深度(MVC+D)を含むビデオストリームの記憶のために再使用され得る。MVC+Dの設計はMVCに基づくので、MVC+Dを記憶するためにMVCのファイルフォーマットを使用することは可能である。しかしながら、MVC+Dコンテンツの記憶のためにMVCファイルフォーマットを直接適用することは、少なくとも次の欠点を有する。まず、トラックに含まれるビューがテクスチャビューのみを含むか、深度ビューのみを含むか、又はテクスチャビュー成分と深度ビュー成分の両方を含むかを示すための方法がない。更に、第2のビューが依存する第1のビューのどの部分(テクスチャビュー、深度ビュー、又は両方)が、第2のビューを復号するために必要とされるかを示すための方法がない。また、深度ビュー成分によって参照されるシーケンスパラメータセット(SPS)を構文解析することなく、深度ビューの空間分解能を信号伝達するための方法がない。
[0049]本開示の技法は、上記の問題の1つ又は複数を解決し、更には他の改善を提供して、深度を伴う複数のコード化されたビューを含むビデオストリームの効率的で柔軟な記憶を可能にし得る。この説明は、MVCファイルフォーマットに基づくMVC+Dビデオストリームの記憶に固有であるが、本明細書で説明される技法は、任意のビデオコーデックによってコード化されるそのようなビデオコンテンツの記憶のための任意のファイルフォーマットに当てはまり得る。ISO/IEC 14496−15の第7項は、MVCファイルフォーマットを規定する。本開示の技法は、深度を伴う複数のビューを含む3Dビデオコード化(3VC)データの記憶へと、ISO/IEC 14496−15の第7項を拡張し得る。幾つかの新たなボックス及びサンプルエントリータイプが、本開示で定義される。
[0050]単一のメディアファイルが複数のトラック(例えば、ビデオデータストリーム146及びオーディオデータストリーム148のようなムービートラック及びオーディオトラック)を含み得る。サンプルエントリーは、サンプル又はトラックのトップレベルの見出し情報の記憶に備える(それは幾つかの例では、トラックは1つ又は複数のサンプルからなり得る)。サンプルは、例えば、アクセス単位150−1又はアクセス単位の一部(例えば、MVC又は3VCトラック中の)のような、アクセス単位であり得る。サンプルエントリーは、プロファイル、レベル、及び階層情報、及び他の高レベルの情報のような、トラック又はサンプルのための関連するコード化情報を、トラックのコーデックに与える。幾つかの例では、1つ又は複数のサンプルエントリーが、深度を伴うマルチビューメディアファイル142の中に存在する。
[0051]本明細書で説明される技法によれば、MVCファイルフォーマットで定義されるビュー識別子ボックスが変更される。一例では、ビュー識別子ボックスは、ビュー識別子ボックスと関連付けられるトラックに含まれるビューの各々に対して、トラック中及びストリーム中のテクスチャビュー及び/又は深度ビューの存在を示すように変更され得る。別の例では、ビュー識別子ボックスは、参照ビューのテクスチャビュー及び深度ビューが特定のビューを復号するためにどのように必要とされるかを示すために変更され得る。例えば、参照ビューのテクスチャビューのみ、深度ビューのみ、又は両方のビューが、特定のビューを復号するために必要とされ得る。ビュー識別子ボックスは、サンプルエントリー又はマルチビューグループエントリーに含まれ得る。
[0052]本開示の技法はまた、深度ビューの空間分解能を信号伝達することをサポートする。深度ビューの空間分解能は、新たに定義された3VC深度分解能ボックスで示され得る。3VC深度分解能ボックスは、新たに定義された3VC構成ボックスに含まれ得る。3VC構成ボックスは、3VCデコーダ構成記録、3VCDecoderConfigurationRecordを含み、タイプ「3vc1」と「3vc2」のいずれかのサンプルエントリーの少なくとも1つに含まれる。3VC構成ボックスは別のサンプルエントリーに含まれ得る。3VCデコーダ構成記録は、MVCDecoderConfigurationRecordと同じシンタックスを有するが、3VCビデオストリームに関する特性を示すために異なるセマンティクスを伴うように、定義される。
[0053]幾つかの例では、3VCスケーラビリティ情報補足強化情報(SEI)メッセージボックス(「SEIメッセージボックス」と本明細書では呼ばれる)が定義される。SEIメッセージボックスは、MVC+Dコーデック規格で定義される3DVCスケーラビリティ情報SEIメッセージを含む。SEIメッセージボックスはサンプルエントリーに含まれ得る。
[0054]更に、本開示の技法は、特定のビューのテクスチャビュー及び深度ビューの別々のトラックへの記憶に備える。幾つかの例では、タイプ値「deps」を伴う新たなトラック参照タイプが定義され、その存在は、現在のトラックが参照されたトラック中のテクスチャビューと関連付けられる深度ビューを含むことを示す。
[0055]幾つかの例では、Compressornameという新たな値が、3VCビデオストリームを含むファイルのために推奨される。新たな名前は「\0123VC Coding」である。
[0056]本明細書で説明される技法は、深度NAL単位のみを伴う3VCトラックに対して、「3vc1」及び「3vc2」という2つの新たなサンプルエントリータイプを導入する。エクストラクタは、「3vc1」では許容されず、「3vc2」では許容される。幾つかの既存のサンプルエントリータイプが更に定義される。サンプルエントリータイプ「av1」は、AVC NAL単位と、MVC NAL単位と、深度NAL単位とを伴う3VCトラックに対して、AVC構成と、MVC構成と、3VC構成とを含むように定義される。サンプルエントリータイプ「mvc1」は更に、AVC NAL単位を伴わないがMVC NAL単位と深度NAL単位とを伴う3VCトラックに対して、MVC構成と3VC構成とを含むように定義され、ここでエクストラクタは許容されない。サンプルエントリータイプ「mvc2」は更に、AVC NAL単位を伴わないがMVC NAL単位と深度NAL単位とを伴う3VCトラックに対して、MVC構成と3VC構成とを含むように定義され、ここでエクストラクタは許容される。サンプルエントリータイプの他の名称が上で説明された同様のセマンティクスとともに使用され得ることに留意されたい。
[0057]図1は、本開示で説明される技法により生成され得る例示的な深度を伴うマルチビューメディアファイル142の構造を示す概念図である。深度を伴うマルチビューメディアファイル142は、ISOBMFF及び現在のAVCファイルフォーマットに基づく。図1の例示的な深度を伴うマルチビューメディアファイル142は、データストリームとメタデータとの論理的な関係を示すことが意図されていることに留意されたい。他の例では、メディアファイル142は他のメディアファイルフォーマットに基づき得る。深度を伴うマルチビューメディアファイル142のために本明細書で説明される技法と同様の技法が、3次元ビデオに対応するために他のファイルフォーマットに適用され得る。簡潔にするために、深度を伴うマルチビューメディアファイル142の完全なカプセル化構造は示されていない。しかしながら、深度を伴うマルチビューメディアファイル142は、ISOBMFF及びAVCファイルフォーマットに従って定義されるボックスとカプセル化構造とを利用し得る。
[0058]MVC及び3VCストリームの記憶は、サンプルエントリー、メディア情報ボックス、及びサンプルグループ中の情報を含む、多数の構造によってサポートされ得る。表1は、提供される構造の概要と、構造の名前と、構造の機能の簡単な説明とを提供する。より具体的には、表1は、MVC及び3VCストリームのための、例示的なボックスと、サンプルエントリーと、グループ構造とを提供する。左の列のエントリー(例えば、「minf」及び「?vc?」)で開始する行の各グループはそのコンテナ内の収容構造を記述するが、高レベルの収容は示されないことに留意されたい。
[0059]サンプルエントリー内の構造は、そのサンプルエントリーと関連付けられるサンプル(例えば、ビデオ情報)の復号又は使用のための情報を提供する。サンプルグループは、トラックについての時間的に変化する情報を全体として提供し、例えば、トラック内のメディアのサブセットの抽出を支援する。マルチビュー情報ボックス(メディア情報ボックス中に現れる)中の情報は、マルチビュー情報ボックスがストリームの基本ビューを含むトラック中に存在しても、幾つかのトラックにまたがることがあり、トラックの集合体を表す。
[0060]幾つかの例では、MVC及び3VCビデオエレメンタリストリームは、全てのビデオコード化に関連するNAL単位(即ち、ビデオデータを含む、又はビデオ構造を信号伝達するNAL単位)を含み、SEIメッセージ及びアクセス単位デリミタNAL単位のようなビデオコード化に関連しないNAL単位を含んでよい。また、アグリゲータ又はエクストラクタが、MVC及び3VCビデオストリーム中に存在し得る。明示的に禁止されない他のNAL単位が存在することがあり、それらは、認識されなければ無視される(例えば、ファイルにアクセスする間に出力バッファに配置されない)ことがある。MVC及び3VCストリームはまた、必要なとき、関連付けられるパラメータセットストリームを使用して記憶され得る。MVCビデオエレメンタリストリームには、AVC VCL NAL単位、MVC VCL NAL単位、及び非VCL NAL単位が存在し得る。3VCビデオエレメンタリストリームには、AVC VCL NAL単位、MVC VCL NAL単位、深度VCL NAL単位、及び非VCL NAL単位が存在し得る。加えて、MVC又は3VCビデオエレメンタリストリームには、アグリゲータNAL単位又はエクストラクタNAL単位が存在し得る。
[0061]深度を伴うマルチビューメディアファイル142は、連続的なメディア(例えば、オーディオ及びビデオ)と、静的なメディア(例えば、画像)と、メタデータとを記憶し得る。ISOBMFFにおけるエレメンタリシンタックス構造は、4文字のコード化されたボックスタイプと、ボックスのバイトカウントと、ペイロードとを含む、ボックスである。深度を伴うマルチビューメディアファイル142は、ボックスのシーケンスからなる。図1に示される例では、深度を伴うマルチビューメディアファイル142は、ムービーボックス144と、ビデオデータストリーム146−1〜146−N(本明細書ではまとめて「ビデオデータストリーム146」と呼ばれる)と、オーディオデータストリーム148−1〜148−N(本明細書ではまとめて「オーディオデータストリーム148」と呼ばれる)とを含み、Nは任意の正の整数であってよく、図1のNの異なる例に対しては同じ又は異なる数であってよい。
[0062]ビデオデータストリーム146は、ISOBMFFで表されるビデオトラック又はビジュアルトラックに対応し得る。ビデオストリームは、深度を伴うマルチビューメディアファイル142の中の1つのビデオトラックによって表され得る。ビデオデータストリーム146−1〜146−Nの各々は、1つ又は複数のアクセス単位150−1〜150−N(本明細書ではまとめて「アクセス単位150」と呼ばれる)を含み得る。深度を伴うマルチビューメディアファイル142の中のアクセス単位150は、ISOBMFF、又はより具体的には、MVC又はHEVCFFに従って定義され得る。アクセス単位150は、ISOBMFFのサンプルに対応し得る。アクセス単位150は、外部的にフレーミングされてよく、その外部フレーミングによって提供されるサイズを有してよい。幾つかの場合には、メタデータボックス154は、アクセス単位150のサイズを定義する情報を含み得る。アクセス単位150は、NAL(即ち、ネットワーク抽象化レイヤ)単位152−1〜152−Nのセット(本明細書ではまとめて「NAL単位152」と呼ばれる)を含み得る。NAL単位152は、HEVCFFに従って定義され得る。
[0063]各NAL単位152は、例えば、バイト単位で、又は、データ記憶と関連付けられる他の長さ若しくはサイズの単位で、NAL単位の長さを示す、長さフィールドを含み得る。幾つかの例では、長さフィールドは、1バイト、2バイト、又は4バイトとなるように構成され得る。長さフィールドは、アクセス単位150内でのNAL単位の簡単なスキャンを可能にする。NAL単位152は、ISO/IEC 23008−2において規定されるようなNAL単位データを含み得る。他のタイプのNAL単位に加えて、HEVCFFは、次のタイプのNAL単位、即ち、VCL NAL単位と呼ばれ得るビデオデータNAL単位と、補足強化情報(SEI)NAL単位と、アクセス単位(AU)デリミタNAL単位と、更には他のタイプのNAL単位とを定義する。ISO/IEC 23008−2における予備のNAL単位タイプは、今後定義を獲得する可能性があることに留意されたい。一部のファイルリーダは、NAL単位タイプの予備の値を伴うNAL単位がこれらのアレイに存在する場合、そのNAL単位を無視するように構成され得る。この「耐性」動作(‘tolerant’ behavior)は、エラーが発生しないように設計され、今後の仕様においてこれらのアレイに対する後方互換性のある拡張の可能性を許容することに留意されたい。VCL NAL単位は、単一のピクチャのための全てのコード化されたスライスNAL単位が、その復号時間及び合成時間がピクチャの復号時間及び合成時間であるアクセス単位内に含まれるように、フォーマットされ得る。更に、アクセス単位150は、少なくとも1つのビデオデータNAL単位を含むことを要求され得る。
[0064]ムービーボックス144は、ISOBMFF「moov」ボックスと同様であり得る。本明細書で説明されるように、「moov」は、ISOBMFFで定義されるムービーボックス144のための4文字のコード化されたボックスタイプである。更に、ボックスは他のボックスを含み得る。ムービーボックス144(「moov」)は、深度を伴うメディアファイル142の中に存在する任意の連続的なメディアストリーム146及び148のためのメタデータを含む。
[0065]ムービーボックス144は、1つ又は複数のメタデータボックス154を含み得る。メタデータボックス154は、ビデオデータストリーム146及び/又はオーディオデータストリーム148の各々と同様であってよく、それらのためのメタデータを含んでよい。一例では、メタデータは、1つ又は複数のメタデータボックス154に含まれる1つ又は複数のメタデータテーブル156内に含まれ得る。メタデータテーブル156は、ビデオデータストリーム146に対応するサンプルエントリーを含み得る。メタデータテーブル156の一例は、サンプルテーブルボックスである。ビデオデータストリーム146の各々は、メタデータテーブル156の1つ又は複数を参照し得る。
[0066]ISOBMFFは、様々な機構によってサンプル固有のメタデータを規定することを可能にする。メタデータボックス154は更に、サンプルエントリーを更に含むサンプル記述ボックスのような他のメタデータ情報を収容するために、サンプルテーブルボックス162内に特定のボックスを含み得る。サンプルテーブルボックス162のための4文字のコード化されたボックスタイプは「stbl」であり得る。例えば、シンクサンプルボックス164は、トラックのランダムアクセスサンプルを列挙するために使用される。シンクサンプルボックス164のための4文字のコード化されたボックスタイプは「stss」であり得る。サンプルグループ化機構は、4文字のグループ化タイプに従った、深度を伴うマルチビューメディアファイル142中のサンプルグループ記述エントリーとして規定される同じ特性を共有するサンプルのグループへの、サンプルのマッピングを可能にする。幾つかのグループ化タイプが、ISOBMFFにおいて規定されている。
[0067]幾つかの例では、シャドウシンクボックスは、任意のMVC又は3VCサンプルエントリーによって記述されるビデオデータのために使用されない。
[0068]幾つかの例では、独立の使い捨てサンプルボックスが使用され得る。独立の使い捨てサンプルボックスが、AVCとMVCの両方に適合するトラックにおいて使用される場合、独立の使い捨てサンプルボックスによって示される情報は、MVCデータのどの有効なサブセット(場合によってはAVCデータのみ)が使用されても、真である。情報が変化する場合、「未知」の値(フィールドsample−depends−on、sample−is−depended−on、及びsample−has−redundancyの値0)が使用され得る。独立の使い捨てサンプルボックスが、AVC、MVC、及び3VCの全てに適合するトラックにおいて使用される場合、3VCデータのどの有効なサブセット(場合によってはAVCデータのみ又はMVCデータのみ)が使用されても記述が真であることに、注意が払われなければならない。情報が変化する場合、「未知」の値(フィールドsample−depends−on、sample−is−depended−on、及びsample−has−redundancyの値0)が使用され得る。
[0069]深度を伴うマルチビューメディアファイル142は、ランダムアクセス復元サンプルグループと、ランダムアクセスポイントサンプルグループとを含み得る。タイプ「avc1」又は「avc2」のサンプルエントリーによって記述されるビデオデータに対して、ランダムアクセス復元サンプルグループ及びランダムアクセスポイントサンプルグループは、ビットストリーム全体に対して動作する、AVCデコーダ、MVCデコーダ、及び3VCデコーダの全てのために、ランダムアクセス復元ポイントとランダムアクセスポイントとをそれぞれ特定する。MVCサンプルエントリータイプによって記述されるビデオデータに対して、ランダムアクセス復元サンプルグループは、MVCビットストリーム全体の中でランダムアクセス復元を特定し、ランダムアクセスポイントサンプルグループは、MVCビットストリーム全体の中でランダムアクセスポイントを特定する。3VCサンプルエントリータイプによって記述されるビデオデータに対して、ランダムアクセス復元サンプルグループは、3VCビットストリーム全体の中でランダムアクセス復元を特定することができ、ランダムアクセスポイントサンプルグループは、3VCビットストリーム全体の中でランダムアクセスポイントを特定する。
[0070]ムービーボックス144は更に、1つ又は複数のトラックボックス158と1つ又は複数のメディアデータボックス160とを含み得る。トラックのためのメタデータは、少なくとも1つのトラックボックス158に封入される。トラックボックス158のための4文字のコード化されたボックスタイプは「trak」であり得る。トラックのメディアコンテンツは、メディアデータボックス160に封入されるか、別個のファイルに直接封入されるかのいずれかである。メディアデータボックス160のための4文字のコード化されたボックスタイプは「mdat」であり得る。トラックに対するメディアコンテンツは、オーディオ又はビデオアクセス単位のようなサンプルのシーケンスからなる。
[0071]深度を伴うマルチビューメディアファイル142の中に存在する連続的なメディアストリームは、トラックの中で表現され得る。ISOBMFFは、次のタイプのトラック、即ち、エレメンタリメディアストリームを含むメディアトラックと、メディア送信命令を含むか受信されたパケットストリームを表すかのいずれかであるヒントトラックと、時間同期されたメタデータを備えるタイムドメタデータトラックとを規定する。
[0072]MVCストリーム又は3VCストリームは、多数の方法の中でもとりわけ次のような方法でトラックに配置されてよく、即ち、サンプルグループと標識された1つのトラックに全てのビューがある、テクスチャビューと深度ビューの両方が存在すればそれらの両方を含む各ビューがサンプルエントリーで標識されたビュー固有のトラック中にある、1つのトラックが全てのビューを含み1つ又は複数のシングルビュートラックが独立にコード化され得るビューを各々含むハイブリッド、予測される動作点の各々がトラック中にある(例えば、AVCベース、ステレオペア、マルチビューシーン、又は3VCシーン)、及び、3VCのみに対して、各テクスチャ又は深度ビューがサンプルエントリーで標識された固有のトラック中にある、という方法で配置されてよい。
[0073]MVC及び3VCファイルフォーマットは、1つ又は複数のビューのトラックへの記憶を可能にする。トラックごとの複数のビューの記憶は、例えば、サブセット作成が意図されていないマルチビュービットストリームをコンテンツ提供者が提供することを望むとき、又は、出力ビューの少数の事前に定義されたセット(1個、2個、5個、又は9個のビューのような)に対してビットストリームが作成されておりそれに従ってトラックが作成され得るときに、使用され得る。2つ以上のビューがトラックに記憶され、MVC又はSVCビットストリームを表す幾つかのトラック(2つ以上)がある場合、サンプルグループ化機構の使用が推奨され得る。サンプルグループ化機構は、トラック中に存在するビューを特定する階層を定義し、幾つかの動作点のための必要とされるNAL単位を便利に抽出するために、使用され得る。サンプルグループ化機構は通常、サンプル内の規則的なNAL単位パターンを形成するために、アグリゲータNAL単位とともに使用される。従って、SVCのようなサンプルグループ化、アグリゲータ、及びサンプルグループのためのビューの定義が、MVC及び3VCのために規定される。
[0074]トラックに含まれるビューがテクスチャビューのみを含むか、深度ビューのみを含むか、又はテクスチャビューと深度ビューの両方を含むかを示し、第2のビューが依存する第1のビューのどの部分(テクスチャビュー、深度ビュー、又は両方)が第2のビューを復号するために必要とされるかを示し、深度ビュー成分によって参照されるシーケンスパラメータセット(SPS)を解析(構文解析(parsing))することが必要とされないように深度ビューの空間分解能を信号伝達し、深度を伴う複数のコード化されたビューを含むビデオストリームの記憶の効率と柔軟性とを改善するための幾つかの技法が、本開示に含まれる。
[0075]更に、幾つかの例では、特定のビューのテクスチャビュー及び深度ビューの別々のトラックへの記憶がサポートされる。タイプ値「deps」を伴う新たなトラック参照タイプが定義される。新たなトラック参照タイプ「deps」の存在は、現在のトラックが参照されたトラック中のテクスチャビューと関連付けられる深度ビューを含むことを示し得る。代替的な例では、新たなタイプのトラック参照がタイプ値「tref」によって定義され、トラック中でのそのトラック参照の存在は、現在のトラックが参照されたトラックに記憶されているテクスチャビューに依存することを示す。別の代替的な例では、別の新たなタイプのトラック参照がタイプ値「dref」によって定義され、トラック中でのそのトラック参照の存在は、現在のトラックが参照されたトラックに記憶されている深度ビューに依存することを示す。
[0076]深度を伴うマルチビューメディアファイル142は更に、1つ又は複数のビュー識別子ボックス172を含んでよく、これらは、サンプルエントリー又はマルチビューグループエントリーに含まれ得る。例えば、ビュー識別子ボックス172は、トラックに含まれる各ビューに対して、トラックとビデオストリームにおける、テクスチャビュー及び/又は深度ビューの存在を示し得る。別の例では、ビュー識別子ボックス172は、参照ビューのテクスチャビュー及び深度ビューが特定のビューを復号するためにどのように必要とされるかを示し得る。即ち、ビュー識別子ボックス172は、特定のビューを復号するために、テクスチャビューのみが必要とされるか、深度ビューのみが必要とされるか、又はテクスチャビューと深度ビューの両方が必要とされるかを示す、シンタックス情報を含み得る。本明細書で使用される場合、符号化は、規定されたファイルフォーマットに従って情報を合成すること又は記憶することを指し得るとともに、復号は、ファイルフォーマットに従って情報を構文解析することを指し得る。一般に、コード化は、合成と構文解析のいずれかを指し得る。
[0077]深度を伴うマルチビューメディアファイル142は更に、1つ又は複数の3VC構成ボックス168を含み得る。3VC構成ボックス168は、3VCデコーダ構成記録を含み得る。3VCデコーダ構成記録は、3VCDecoderConfigurationRecordと名付けられ得る。3VCデコーダ構成記録は、MVCDecoderConfigurationRecordと同様のシンタックスを含み得るが、3DVビデオストリームに関する特性を示すために異なるセマンティクスを有し得る。3VC構成ボックスは、サンプルエントリーに含まれてよく、幾つかの例では、タイプ「3vc1」又は「3vc2」のサンプルエントリーに含まれなければならない。
[0078]本開示の技法はまた、深度ビューの空間分解能の信号伝達をサポートする。3VC構成ボックス168は更に、3VC深度分解能ボックス170を含み得る。深度ビューの空間分解能は、3VC深度分解能ボックス170で信号伝達され得る。他の例では、3VC深度分解能ボックス170は、サンプルエントリーに直接追加され得る。別の代替的な例では、深度ビューの幅及び高さは、3VCデコーダ構成記録で直接信号伝達され得る。
[0079]深度を伴うマルチビューメディアファイル142は更に、1つ又は複数の3VCスケーラビリティ情報SEIメッセージボックス166を含み得る。3VCスケーラビリティ情報SEIメッセージボックス166は、MVC+Dコーデック規格で定義される3DVCスケーラビリティ情報補足強化情報(SEI)メッセージを含み得る。幾つかの例では、3VCスケーラビリティ情報SEIメッセージボックス166は、サンプルエントリーに含まれ得る。
[0080]深度を伴うマルチビューメディアファイル142は更に、マルチビューグループボックス174を含み得る。マルチビューグループボックス174は、3DV動作点を含む、ビデオデータストリーム146をコード化する際に使用される動作点を示し得る。一例では、マルチビューグループ化は、異なるタイプ及び階層レベルのスケーラビリティとのNAL単位の関連付けを示す、構造及びグループ化機構である。マルチビューグループボックス174のための4文字のコード化されたボックスタイプは「mvcg」であり得る。幾つかの例では、マルチビューグループボックス174は、マルチビュー情報ボックス(「mvci」)に含まれ得る。深度を伴うマルチビューメディアファイル142には、0個以上のマルチビューグループボックス174が存在し得る。
[0081]マルチビューグループボックス174は、出力されるMVC又は3VCストリームのビューのためのマルチビューグループを規定し得る。ターゲット出力ビューは、track_id、tier_id、又はview_idに基づいて示され得る。トラックに含まれるビューが動作点と一致するとき、track_id(即ち、0に等しいentry_type)がマルチビューグループボックス174内で使用され得る。マルチビューサンプルグループ化が使用されており、階層が2つ以上のビューをカバーする、又は幾つかの階層がビットストリームの時間的なサブセットを含むとき、tier_id(即ち、1に等しいentry_type)がマルチビューグループボックス174内で使用され得る。それ以外の場合、view_idに基づく指示の1つ(即ち、2又は3に等しいentry_type)が使用され得る。
[0082]entry_typeが0又は1に等しいとき、次のことが当てはまり得る。マルチビューグループボックス174に含まれるトラック又は階層中の各ビューはターゲット出力ビューであり、このボックスに含まれるトラック又は階層は複数のビューを含み、全ての含まれるビューはターゲット出力ビューである。
[0083]マルチビューグループボックス174のセマンティクスは、シンタックス要素num_entriesを含み、これは、マルチビューグループに含まれる、トラックの数(entry type 0)、階層(entry type 1)、ターゲット出力ビュー(entry type 2)、又は、ターゲット出力ビューの連続的なセット(entry type 3)を示し得る。
[0084]本明細書で説明される更なる技法は、マルチビューグループボックス174で示される3DV動作点が存在するかどうかを示すために、一般的な属性及び/又は差別化する属性を定義することを含む。別の例では、マルチビューグループボックス174で示される動作点が3DC動作点又はMVC動作点であるかどうかを示すための情報が、マルチビューグループボックス174に含まれ得る。動作点は、スケーラブルビットストリームの独立に復号可能なサブセットであり得る。MVC又は3VC動作点のビットストリームサブセットは、特定の時間的な分解能におけるターゲット出力ビューの特定のセットを表すことができ、特定のビットストリームサブセットを復号するために使用され得るデータからなる。3VCにおいて、3VC動作点のビットストリームサブセット中の各ターゲット出力ビューは、テクスチャビュー、深度ビュー、又は両方を含み得る。更に、幾つかの例では、マルチビューグループボックス174で示される出力ビューがテクスチャビューのみを含むか、深度ビューのみを含むか、又はテクスチャビューと深度ビューの両方を含むかを示すために、マルチビューグループボックス174に含まれ得るシンタックス要素が導入される。
[0085]本開示の追加の技法では、新たなサンプルエントリータイプが定義される。例えば、「3vc1」及び「3vc2」は、深度NAL単位のみを伴う3VCトラックのために定義され、それぞれ、エクストラクタは許容されず、許容される。エクストラクタは、関連するメディアデータを含むトラック以外のトラックからのNAL単位の効率的な抽出を可能にするための、ストリーム内構造(例えば、サンプルデータ内に存在する構造)である。例えば、エクストラクタは、他のトラックからデータをどのように抽出するかについての命令を含み得る。
[0086]図1の例は、深度を伴うマルチビューメディアファイル142を編成するただ1つの可能な方法を示す。幾つかの例では、ボックスの1つ又は複数は他のボックスのサブボックスであり得る。即ち、異なる例では、様々なボックスが図1に示されるものとは異なる方法で編成され構成され得る。更に、本明細書で説明される技法の1つ又は複数は、本明細書で説明される1つ又は複数の他の技法との任意の組合せで使用され得る。
[0087]図2は、本開示で説明される技法により生成されるメディアファイルに含まれ得るMVC+Dアクセス単位150の例を示す。図2は、サンプルの例示的な構造を示し、これはこの例ではアクセス単位150全体である。サンプルは、外部的にフレーミングされ、その外部フレーミングによって提供されるサイズを有する。サンプルのシンタックスは、エレメンタリストリームのデコーダ特有の構成を介して構成される。ビデオサンプルの構造の例は、以下の図で示される。3VCサンプルは、ISO/IEC 14496−10のAnnex Iで定義されるような1つ又は複数のビュー成分と、関連付けられる非VCL NAL単位とを含んでよく、各ビュー成分は、テクスチャビュー成分、深度ビュー成分、又は両方を含み得る。
[0088]図2に示されるように、アクセス単位150は、AUデリミタNAL単位と、SEI NAL単位と、2つのスライスNAL単位とを含む、NAL単位のセットを含む。各NAL単位は長さによって表され、この長さは、ビットストリーム順序でNAL単位の後に続くNAL単位のバイト単位の長さを示す。長さフィールドは、例えば、1、2、又は4バイトとなるように構成され得る。NAL単位は、適用可能なビデオコード化規格で規定されるようなNAL単位データを含む。
[0089]幾つかの例では、コード化されたスライスの拡張が、深度コード化されたスライスNAL単位のために提供される。幾つかの例では、単一の瞬間に対する全ての深度コード化されたスライスNAL単位は、その合成時間がアクセス単位によって表されるピクチャの合成時間であるサンプルに含まれるべきである。3VCサンプルは、少なくとも1つのAVC、MVC、又は深度VCL NAL単位を含むべきである。
[0090]幾つかの例では、アクセス単位150−1のようなアクセス単位は、再構成され得る。1つ又は複数のMVCトラック又は3VCトラックのサンプルからアクセス単位150−1を再構成するために、ターゲット出力ビューは、マルチビューグループボックス174とマルチビューグループボックス関連ボックスとを調査することによって、決定される必要があり得る。1に等しいexplicit_au_trackフラグは、このトラックが完全な動作点であることを述べるが、トラックは、このトラックによって配信されるどのビューが出力ビューであるかを決定するために調査され得る。
[0091]ターゲット出力ビューが、MVCデコーダ構成記録又は1 3VCデコーダ構成記録において1に等しいexplicit_au_trackによって標識された任意のトラックによって厳密に表されない場合、アクセス単位150−1は次のように再構成され得る。決定されたターゲット出力ビューを復号するために必要とされるビューは、ビュー識別子ボックス、「scal」トラック参照、又は階層依存関係ボックスに含まれる、参照ビュー識別子から断定され得る。
[0092]幾つかのトラックがアクセス単位150−1のためのデータを含む場合、トラック中のそれぞれのサンプルの整列が、例えば、編集リストを考慮することなく時間対サンプルのテーブルのみを使用して、復号時に実行される。アクセス単位150−1は、ISO/IEC 14496−10に適合した順序でNAL単位を並べることによって、必要とされるトラック及び階層の中のそれぞれのサンプルから再構成される。以下の順序は、即ち、(関連付けられるパラメータセットトラックからの、及び関連付けられるエレメンタリストリームトラックからの)全てのパラメータセットNAL単位、(関連付けられるパラメータセットトラックからの、及び関連付けられるエレメンタリストリームトラックからの)全てのSEI NAL単位、ビュー順序インデックス値の昇順のビュー成分、という順序は、適合したアクセス単位を形成するための手順の概要を与え、ビュー成分内でテクスチャと深度の両方が存在する場合、テクスチャビュー成分が振動ビュー成分に先行する。テクスチャビュー又は深度ビュー内のNAL単位は、サンプル内での出現の順序となっている。
[0093]図3は、本開示で説明される技法を利用し得る例示的なビデオ符号化及び復号システム10を示すブロック図である。一例では、システム10は、複数のコード化されたビュープラス深度を含むメディアファイルを合成又は解析(構文解析)するように構成され得る。本明細書で使用される場合、合成及びカプセル化という用語は、交換可能に使用され得る。同様に、本明細書で使用される場合、構文解析及び逆カプセル化という用語は、交換可能に使用され得る。更に、幾つかの例では、符号化という用語は合成という用語と同様に使用され、復号という用語は構文解析という用語と同様に使用される。
[0094]図3に示されるように、システム10は、宛先機器14によって後で復号されるべき符号化されたビデオデータを生成する発信源機器12を含む。発信源機器12及び宛先機器14は、デスクトップコンピュータ、ノートブック(即ち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、所謂「スマート」フォンなどの電話ハンドセット、所謂「スマート」パッド、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング機器などを含む、広範囲にわたる機器のいずれかを備え得る。場合によっては、発信源機器12及び宛先機器14は、ワイヤレス通信に対応し得る。
[0095]宛先機器14は、リンク16を介して復号されるべき符号化されたビデオデータを受信し得る。リンク16は、発信源機器12から宛先機器14に符号化されたビデオデータを移動することが可能な任意のタイプの媒体又は機器を備え得る。一例では、リンク16は、発信源機器12が、符号化されたビデオデータをリアルタイムに宛先機器14に直接送信することを可能にする通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先機器14に送信され得る。通信媒体は、高周波(RF)スペクトルあるいは1つ又は複数の物理伝送線路のような、任意のワイヤレス又は有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、発信源機器12から宛先機器14への通信を支援するために有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
[0096]代替的に、合成されたMVC+Dメディアファイルのような符号化されたデータは、出力インターフェース22から記憶機器32に出力され得る。同様に、符号化されたデータは、入力インターフェース28によって記憶機器32からアクセスされ得る。記憶機器32は、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、又は符号化されたビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散された又はローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。更なる例では、記憶機器32は、発信源機器12によって生成された符号化されたビデオを保持できるファイルサーバ又は別の中間記憶機器に対応し得る。幾つかの例では、記憶機器32は、カプセル化モジュール21が後でカプセル化のために取り出す、符号化されたビデオコンテンツを記憶する。宛先機器14は、ストリーミング又はダウンロードを介して、記憶機器32から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先機器14に送信することが可能な、任意のタイプのサーバであり得る。例示的なファイルサーバは、(例えば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)機器、又はローカルディスクドライブを含む。宛先機器14は、インターネット接続を含む、任意の標準的なデータ接続を通じて符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適しているワイヤレスチャネル(例えば、Wi−Fi(登録商標)接続)、有線接続(例えば、DSL、ケーブルモデムなど)、又は両方の組合せを含み得る。記憶機器32からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組合せであり得る。
[0097]本開示の技法は、必ずしもワイヤレス適用例又は設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例のような、種々のマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、及び/又はビデオ電話のような適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
[0098]図1の例では、発信源機器12は、ビデオ発信源18と、ビデオエンコーダ20と、カプセル化モジュール21と、出力インターフェース22とを含む。幾つかの場合には、出力インターフェース22は変調器/復調器(モデム)及び/又は送信機を含み得る。発信源機器12において、ビデオ発信源18は、撮像装置、例えばビデオカメラ、以前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、及び/又は発信源ビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムのような発信源、又はそのような発信源の組合せを含み得る。一例として、ビデオ発信源18がビデオカメラである場合、発信源機器12及び宛先機器14は、所謂カメラ付き携帯電話又はビデオ電話を形成し得る。しかしながら、本開示で説明される技法は、一般にビデオコード化に適用可能であることがあり、ワイヤレス及び/又は有線の適用例に適用され得る。
[0099]撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータにより生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオデータは、発信源機器12の出力インターフェース22を介して宛先機器14に直接送信され得る。符号化されたビデオデータは、更に(又は代替的に)、復号及び/又は再生のための宛先機器14又は他の機器による後のアクセスのために記憶機器32上に記憶され得る。
[0100]カプセル化モジュール21は、本明細書で説明される技法に従って、ビデオエンコーダ20から符号化されたビデオコンテンツを受信し、ビデオファイルを生成することができる。一例では、カプセル化モジュール21は、MVC又は3VCコード化されたビデオコンテンツを受信し、ISOBMFF及びAVCFFの現在のバージョンに基づくファイルフォーマットを使用してビデオファイルを生成することができる。図3は、ビデオエンコーダ20を含む発信源機器12を示す。しかしながら、幾つかの例では、発信源機器12はビデオエンコーダを何ら含まないことがあり、符号化されたビデオデータをカプセル化するカプセル化モジュール21を含む。幾つかの例では、符号化されたビデオデータは、例えば、記憶機器32のような、遠隔の記憶位置に記憶され得る。本明細書で説明されるように、カプセル化モジュール21はビデオコード化機器であり得る。
[0101]宛先機器14は、入力インターフェース28と、逆カプセル化モジュール29と、ビデオデコーダ30と、表示装置31とを含む。幾つかの場合には、入力インターフェース28は、受信機及び/又はモデムを含み得る。宛先機器14の入力インターフェース28は、リンク16を介して符号化されたビデオデータを受信する。リンク16を介して通信され、又は記憶機器32上に提供された符号化されたビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30のようなビデオデコーダにより使用するためのビデオエンコーダ20によって生成された種々のシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信される、記憶媒体上に記憶される、又はファイルサーバ上に記憶される、符号化されたビデオデータとともに含まれ得る。
[0102]ビデオデコーダ30が復号されたビデオデータを出力し得るように、逆カプセル化モジュール29は、ビデオファイルを受信し、ビデオファイルを構文解析して、逆カプセル化されたビットストリームをビデオデコーダ30に与えるように構成され得る。幾つかの例では、逆カプセル化モジュール29は、カプセル化モジュール21と逆のプロセスを実行し得る。ビデオデコーダ30は、幾つかの例では、ビデオエンコーダ20に関して説明された符号化パスとは全般に逆の復号パスを実行し得る。幾つかの例では、逆カプセル化モジュール29は、ビデオデコーダ30に含まれる。この文書の残りにおいて、ファイルを構文解析するビデオデコーダ30は、ビデオデコーダ30に含まれる逆カプセル化モジュール29のような逆カプセル化モジュールがファイルを構文解析することを指し得る。本明細書で説明されるように、カプセル化モジュール21は、ビデオコード化機器であり得る。
[0103]表示装置31は、宛先機器14と統合されてよく、又はその外部にあってよい。幾つかの例では、宛先機器14は、統合された表示装置を含んでよく、また、外部表示装置とインターフェースするように構成されてよい。他の例では、宛先機器14は表示装置であり得る。一般に、表示装置31は、復号されたビデオデータをユーザに対して表示し、液晶表示器(LCD)、プラズマ表示器、有機発光ダイオード(OLED)表示器、又は別のタイプの表示装置のような、種々の表示装置のいずれかを備え得る。
[0104]ビデオエンコーダ20及びビデオデコーダ30は、現在開発中のAdvanced Video Coding規格又はHigh Efficiency Video Coding(HEVC)規格及び拡張のようなビデオ圧縮規格に従って動作することができ、HEVC Test Model(HM)に準拠し得る。具体的には、ビデオエンコーダ20及びビデオデコーダ30は、AVCベースのマルチビューコード化プラス深度(MVC+D)に従って動作することができ、AVCベースの3Dビデオ(3D−AVC)コード化規格は現在、上で概説されたようにJCT−3Vによって開発中である。代替的に、又は追加で、ビデオエンコーダ20及びビデオデコーダ30は、代替的にMPEG−4、Part 10と呼ばれるITU−T H.264規格のような他のプロプライエタリ規格又は業界規格、若しくはそのような規格の拡張に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコード化規格にも限定されない。ビデオ圧縮規格の他の例は、MPEG−2及びITU−T H.263、ならびにVP8のようなオープンフォーマットを含む。
[0105]幾つかの態様では、ビデオエンコーダ20及びビデオデコーダ30は、それぞれオーディオエンコーダ及びオーディオデコーダと統合されてよく、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なMUX−DEMUXユニット、又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、幾つかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はユーザデータグラムプロトコル(UDP)のような他のプロトコルに準拠し得る。
[0106]ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組合せのような、種々の適切なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、機器は、適切な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、1つ又は複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20及びビデオデコーダ30の各々は1つ又は複数のエンコーダ又はデコーダ中に含まれてよく、そのいずれもが、それぞれの機器において複合エンコーダ/デコーダ(コーデック)の一部として統合されてよい。
[0107]JCT−VCは、HEVC規格に対する拡張の開発に取り組んでいる。HEVC規格化の取り組みは、HEVC Test Model(HM)と呼ばれるビデオコード化機器の発展的モデルに基づく。HMは、例えばITU−T H.264/AVCに従う既存の機器に対して、ビデオコード化機器の幾つかの追加の能力を仮定する。
[0108]ビデオコード化の幾つかの詳細が、本明細書ではHEVCの文脈で説明されている。しかしながら、本技法は、ITU−T H.264/AVCに適用され、より具体的には、ISOベースのメディアファイルフォーマット(ISOBMFF)に適合するテクスチャビュー及び/又は深度ビューコード化に適用され得る。
[0109]HMの作業モデルは、ビデオフレーム又はピクチャが、ルーマとクロマの両方のサンプルを含む一連のマクロブロック、ツリーブロック、又は最大コード化単位(LCU)に分割され得ることを記載する。ツリーブロックは、H.264規格のマクロブロックと同様の幾つかの目的を果たし得るが、ツリーブロックには、マクロブロックと比較して多くの差異がある。
[0110]図4は、本開示で説明される技法を実施し得る例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、図1の深度を伴うマルチビューメディアファイル142のような、ISOベースのメディアファイルフォーマットに基づくマルチビュービデオデータを含むメディアファイルを合成し得る。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコード化とインターコード化とを実行することができる。イントラコード化は、空間的予測を利用して、所与のビデオフレーム又はピクチャ内のビデオの空間的冗長性を低減又は除去する。インターコード化は、時間的予測を利用して、ビデオシーケンスの隣接フレーム又はピクチャ内のビデオの時間的冗長性を低減又は除去する。イントラモード(Iモード)は、幾つかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測(Pモード)又は双方向予測(Bモード)のようなインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。
[0111]図4の例では、ビデオエンコーダ20は、区分ユニット35と、予測処理ユニット41と、フィルタユニット63と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピーコード化ユニット56とを含む。予測処理ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。フィルタユニット63は一般に、デブロッキングフィルタ、適応ループフィルタ(ALF)、及びサンプル適応オフセット(SAO)フィルタのような、1つ又は複数のループフィルタを表し得る。図4では、フィルタユニット63はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット63はループ後フィルタとして実装されることがあり、その場合、フィルタリングされていないデータがコード化ループ中で使用され得る。
[0112]図4に示されるように、ビデオエンコーダ20はビデオデータを受信し、区分ユニット35はデータをビデオブロックに区分する。この区分は、例えば、マクロブロック及びマクロブロック区分に従った、又は場合によっては、LCU及びCUの4分木構造に従った、スライス、タイル、又は他のより大きい単位への区分、並びにビデオブロック区分も含み得る。ビデオエンコーダ20は一般に、符号化されるべきビデオスライス内のビデオブロックを符号化するコンポーネントを示す。スライスは、複数のビデオブロックに(及び、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測処理ユニット41は、誤差結果(例えばコード化レート及び歪みのレベル)に基づいて現在のビデオブロックについて、複数のイントラコード化モードの1つ、又は複数のインターコード化モードの1つのような、複数の可能なコード化モードの1つを選択することができる。予測処理ユニット41は、得られたイントラコード化されたブロック又はインターコード化されたブロックを、残差ブロックデータを生成するために加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に与え得る。
[0113]予測処理ユニット41内のイントラ予測ユニット46は、空間圧縮を行うために、コード化されるべき現在のブロックと同じフレーム又はスライス中の1つ又は複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コード化を実行し得る。予測処理ユニット41内の動き推定ユニット42及び動き補償ユニット44は、時間圧縮を行うために、1つ又は複数の参照ピクチャ中の1つ又は複数の予測ブロックに対する現在のビデオブロックのインター予測コード化を実行する。
[0114]動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、Pスライス、Bスライス、又はGPBスライスとして指定し得る。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する現在のビデオフレーム又はピクチャ内のビデオブロックのPU(又はマクロブロック区分又はサブブロック)の変位を示し得る。
[0115]予測ブロックは、絶対差分和(SAD)、2乗差分和(SSD)、又は他の差分尺度によって決定され得る画素差分に関して、コード化されるべきビデオブロックのPU(又はマクロブロック区分又はサブブロック)と厳密に一致することが判明しているブロックである。幾つかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャの整数未満の画素位置のための値を計算することができる。例えば、ビデオエンコーダ20は、参照ピクチャの1/4画素位置、1/8画素位置、又は他の小数画素位置の値を補間し得る。従って、動き推定ユニット42は、フル画素位置と小数画素位置とに対する動き探索を実行し、小数画素精度で動きベクトルを出力し得る。
[0116]動き推定ユニット42は、PU(又はマクロブロックの区分又はサブブロック)の位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化されたスライスにおけるビデオブロックのPU(又はマクロブロックの区分又はサブブロック)のための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)又は第2の参照ピクチャリスト(リスト1)から選択されてよく、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つ又は複数の参照ピクチャを特定する。動き推定ユニット42は、計算された動きベクトルをエントロピーコード化ユニット56と動き補償ユニット44とに送る。
[0117]動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成すること、場合によってはサブ画素精度への補間を実行することを伴い得る。現在のビデオブロックのPU(又はマクロブロックの区分又はサブブロック)の動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストの1つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コード化されている現在のビデオブロックの画素値から予測ブロックの画素値を減算し、画素差分値を形成することによって残差ビデオブロックを形成する。画素差分値は、ブロックの残差データを形成し、ルーマ及びクロマの両方の差分成分を含み得る。加算器50は、この減算演算を実行する1つ又は複数のコンポーネントを表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30により使用するための、ビデオブロック及びビデオスライスと関連付けられるシンタックス要素を生成することができる。
[0118]イントラ予測ユニット46は、上で説明されたように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。幾つかの例では、イントラ予測ユニット46は、例えば、別個の符号化パスにおいて、様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測ユニット46(又は、幾つかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。例えば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択し得る。レート歪み分析は、一般に、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間の歪み(又は誤差)の量、及び符号化されたブロックを生成するために使用されるビットレート(即ち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレート歪み値を呈するかを決定するために、様々な符号化されたブロックの歪み及びレートから比率を計算し得る。
[0119]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピーコード化ユニット56に与え得る。エントロピーコード化ユニット56は、本開示の技法に従って、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信されるビットストリーム中に、複数のイントラ予測モードインデックステーブル及び複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、及び変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含め得る。
[0120]予測処理ユニット41が、インター予測又はイントラ予測のいずれかを介して、現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロックにおける残差ビデオデータは、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)又は概念的に同様の変換のような変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータを画素領域から周波数領域などの変換領域に変換し得る。
[0121]変換処理ユニット52は、結果として得られる変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全てと関連付けられるビット深度を減らすことができる。量子化の程度は、量子化パラメータを調整することによって変更され得る。幾つかの例では、量子化ユニット54は次いで、量子化された変換係数を含む行列の走査を実行し得る。代替的に、エントロピーコード化ユニット56が走査を実行し得る。
[0122]量子化の後に、エントロピーコード化ユニット56は、量子化された変換係数をエントロピー符号化する。例えば、エントロピーコード化ユニット56は、コンテキスト適応型可変長コード化(CAVLC)、コンテキスト適応型バイナリ算術コード化(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コード化(SBAC)、確率間隔区分エントロピー(PIPE)コード化又は別のエントロピー符号化方法若しくは技法を実行し得る。エントロピー符号化ユニット56によるエントロピー符号化の後に、符号化されたビットストリームは、ビデオデコーダ30に送信され、又はビデオデコーダ30による後の送信もしくは取り出しのためにアーカイブされ得る。エントロピーコード化ユニット56はまた、コード化されている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化することができる。
[0123]逆量子化ユニット58及び逆変換ユニット60は、それぞれ逆量子化及び逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット44は、参照ピクチャリストの1つの中の参照ピクチャの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つ又は複数の補間フィルタを適用して、動き推定において使用するためのサブ整数画素値を計算し得る。加算器62は、再構成された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレーム又はピクチャ中のブロックをインター予測するために、動き推定ユニット42と動き補償ユニット44とによって参照ブロックとして使用され得る。
[0124]図4のビデオエンコーダ20は、本明細書で説明される技法のオン又は複数を実装するように構成されたビデオエンコーダの例を表す。例えば、ビデオエンコーダ20のカプセル化モジュール21は、複数のコード化されたビューを含むビデオストリームからメディアファイルフォーマットを合成することができる。例えば、カプセル化モジュール21は、トラックに含まれるビューの各々に対して、トラック及びストリームの中でのテクスチャ及び/又は深度の存在を示す、図1のビュー識別子ボックス172のようなビュー識別子ボックスを含む、メディアファイルを合成することができる。カプセル化モジュール21は、サンプルエントリー又はマルチビューグループエントリーにビュー識別子ボックス172を含め得る。別の例では、カプセル化モジュール21は、ビュー識別子モジュール172が、参照ビューのテクスチャビュー及び深度ビューが特定のビューを復号するためにどのように必要とされるか、即ち、テクスチャビューのみが必要とされるか、深度ビューのみが必要とされるか、又は両方が必要とされるかを示すように、メディアファイルを合成することができる。図4に示されるように、カプセル化モジュール21はビデオエンコーダ20の一部である。しかしながら、他の例では、カプセル化モジュール21はビデオエンコーダ20とは別である。
[0125]更に、ビデオエンコーダ20は、特定のビューのテクスチャビュー及び深度ビューの別々のトラックへの記憶をサポートし得る。幾つかの例では、ビデオエンコーダ20は、1つ又は複数の新たなタイプのトラック参照を使用して解釈するように構成される。例えば、ビデオエンコーダ20は、タイプ値「deps」を伴う新たなトラック参照タイプを利用することができ、そのトラック参照タイプの存在は、現在のブロックが参照されたトラック中のテクスチャビューと関連付けられる深度ビューを含むことを示し得る。代替的な例では、ビデオエンコーダ20は、タイプ値「tref」を伴う新たなトラック参照タイプを利用することができ、トラック中でのそのトラック参照タイプの存在は、現在のトラックが参照されたトラックに記憶されているテクスチャビューに依存することを示す。別の代替的な例では、新たなタイプのトラック参照が例えばタイプ値「dref」によって定義され、トラック中でのそのトラック参照の存在は、現在のトラックが参照されたトラックに記憶されている深度ビューに依存することを示す。
[0126]ビデオエンコーダ20は、深度ビューの空間分解能の信号伝達をサポートし得る。例えば、ビデオエンコーダ20は、3VC構成ボックスに含まれ得る、新たに定義された3VC深度分解能ボックスで深度ビューの分解能を信号伝達することができる。幾つかの例では、3VC構成ボックスは、3VCデコーダ構成記録を含み、サンプルエントリーに含まれ得る(タイプ「3vc1」又は「3vc2」のサンプルエントリーに含まれなければならない)。幾つかの例では、3VCDepthResolutionBoxは、サンプルエントリーに直接追加される。別の代替的な例では、ビデオエンコーダ20は、3VCデコーダ構成記録で、深度ビューの幅と高さとを直接信号伝達する。例えば、ビデオエンコーダ20は、図1の深度を伴うマルチビューメディアファイル142のようなメディアファイルを合成し、3VC深度分解能ボックス170のような3VC深度分解能ボックスをサンプルエントリーに追加することができる。別の代替的な例では、ビデオエンコーダ20は、3VC構成ボックス168に含まれ得る3VCデコーダ構成記録で、深度ビューの幅と高さとを直接信号伝達することができる。
[0127]ビデオエンコーダ20はまた、深度NAL単位のみを伴う3VCに対して、新たに定義されたサンプルエントリータイプ「3vc1」と「3vc2」とを使用することができ、ここでエクストラクタがそれぞれ、許容されず、許容される。ビデオエンコーダ20は更に、MVC+Dコーデック規格で定義される3DVCスケーラビリティ情報SEIメッセージを含むように、符号化されたメディアファイルに、3VCスケーラビリティ情報SEIメッセージボックスを含め得る。
[0128]別の代替的な例では、ビデオエンコーダ20は、マルチビューグループボックス(マルチビューグループボックス174のような)で示される3VC動作点が存在するかどうか、マルチビューグループボックスで示される動作点が3VCもしくはMVCかどうか、又は、マルチビューグループボックスで示される出力ビューがテクスチャのみを含むか、深度のみを含むか、もしくは両方を含むかを示す、一般的な属性と差別化する属性とを、合成されたメディアファイルに含める。
[0129]ビデオエンコーダ20は、トラックに含まれるビューがテクスチャビューからなるか、深度ビューからなるか、又はテクスチャビューと深度ビューの両方からなるかを示し、ビューの依存関係を示し、SPSを構文解析することを必要とすることなく深度ビューの空間分解能を信号伝達し、深度を伴う複数のコード化されたビューを含むビデオストリームの記憶の効率と柔軟性とを改善するために、本明細書で説明される技法の1つ又は複数の利用するように構成され得る。
[0130]再び図3を参照すると、カプセル化モジュール21は、本明細書で説明される技法に従って、ビデオエンコーダ20から符号化されたビデオコンテンツを受信し、ビデオファイルを生成することができる。一例では、カプセル化モジュール21は、AVC又はHEVCコード化されたビデオコンテンツを受信し、ISOBMFF及びAVCFF又はHEVCFFの現在のバージョンにそれぞれ基づくファイルフォーマットを使用してビデオファイルを生成することができる。
[0131]図5は、本開示の技法を実施し得る例示的なビデオデコーダ30と逆カプセル化モジュール29とを示すブロック図である。逆カプセル化モジュール29は、図1の深度を伴うマルチビューメディアファイル142のような、ISOベースのメディアファイルフォーマットに基づくマルチビュービデオデータを含むメディアファイルを構文解析し得る。逆カプセル化モジュール29は、構文解析されたメディアファイルをビデオデコーダ30に提供することができる。
[0132]図5の例では、ビデオデコーダ30は、エントロピーコード化ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、フィルタユニット91と、参照ピクチャメモリ92とを含む。予測処理ユニット81は、動き補償ユニット82と、イントラ予測ユニット84とを含む。ビデオデコーダ30は、幾つかの例では、図3のビデオエンコーダ20に関して説明された符号化パスとは全般に逆の復号パスを実行し得る。
[0133]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化されたビデオスライスのビデオブロックと、関連付けられるシンタックス要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30は、ネットワークエンティティ29から符号化されたビデオビットストリームを受信することができる。ネットワークエンティティ29は、例えば、サーバ、メディア認識ネットワーク要素(MANE)、ビデオエディタ/スプライサ、又は上で説明された技法の1つもしくは複数を実施するように構成された他のそのような機器であってもよい。上で説明されたように、本開示において説明されている技法の一部は、ネットワーク29が符号化されたビデオビットストリームをビデオデコーダ30に送信する前に、ネットワークエンティティ29によって実施されてもよい。幾つかのビデオ復号システムでは、ネットワークエンティティ29及びビデオデコーダ30は別個の機器の一部であり得るが、他の事例では、ネットワークエンティティ29に関して説明される機能は、ビデオデコーダ30を備える同じ機器によって実行され得る。
[0134]ビデオデコーダ30のエントロピーコード化ユニット80は、量子化された係数と、動きベクトルと、他のシンタックス要素とを生成するために、ビットストリームをエントロピー復号する。エントロピーコード化ユニット80は、予測処理ユニット81に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ30は、ビデオスライスレベル及び/又はビデオブロックレベルで、シンタックス要素を受信することができる。
[0135]ビデオスライスがイントラコード化された(I)スライスとしてコード化されるとき、予測処理ユニット81のイントラ予測ユニット84は、信号伝達されたイントラ予測モードと、現在のフレーム又はピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化された(即ち、B、P又はGPB)スライスとしてコード化されるとき、予測処理ユニット81の動き補償ユニット82は、エントロピーコード化ユニット80から受信された動きベクトル及び他のシンタックス要素に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストの1つの中の参照ピクチャのうち1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、即ち、リスト0とリスト1とを構成し得る。
[0136]動き補償ユニット82は、動きベクトルと他のシンタックス要素とを構文解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。例えば、動き補償ユニット82は、ビデオスライスのビデオブロックをコード化するために使用される予測モード(例えば、イントラ又はインター予測)と、インター予測スライスタイプ(例えば、Bスライス、Pスライス、又はGPBスライス)と、スライスの参照ピクチャリストのうち1つ又は複数のための構成情報と、スライスの各々のインター符号化されたビデオブロックのための動きベクトルと、スライスの各々のインターコード化されたビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素の幾つかを使用する。
[0137]動き補償ユニット82はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット82は、参照ブロックのサブ整数画素のための補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ20によって使用されたような補間フィルタを使用することができる。この場合、動き補償ユニット82は、受信されたシンタックス要素からビデオエンコーダ20によって使用される補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成することができる。
[0138]逆量子化ユニット86は、ビットストリーム中で与えられ、エントロピーコード化ユニット80によって復号された、量子化された変換係数を逆量子化(inverse quantize)、即ち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中の各ビデオブロックについてビデオエンコーダ20によって計算される量子化パラメータの使用を含み得る。逆変換ユニット88は、画素領域において残差ブロックを生成するために、逆変換、例えば逆DCT、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用する。
[0139]動き補償ユニット82が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つ又は複数のコンポーネントを表す。所望される場合、ループフィルタ(コード化ループの中とコード化ループの後のいずれかの)も、画素移行を平滑化し、又は別様にビデオ品質を向上させるために使用され得る。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、及びサンプル適応オフセット(SAO)フィルタのような、1つ又は複数のループフィルタを表し得る。図5では、フィルタユニット91はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット91はループ後フィルタとして実装され得る。所与のフレーム又はピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照ピクチャメモリ92はまた、図1の表示装置31のような表示装置上での後の提示のために、復号されたビデオを記憶する。
[0140]図5のビデオデコーダ30は、本明細書で説明される技法の1つ又は複数を実施するように構成された逆カプセル化モジュール29ともに使用され得るビデオデコーダの一例を表す。例えば、逆カプセル化モジュール29は、複数のコード化されたビューを含む記憶されたビデオストリームを含むメディアファイルを解析(構文解析(parse))し、それをビデオデコーダ30に提供することができる。例えば、逆カプセル化モジュール29は、トラックに含まれるビューの各々に対して、トラック及びストリームの中でのテクスチャ及び/又は深度の存在を示す、図1のビュー識別子ボックス172のようなビュー識別子ボックスを含む、メディアファイルを構文解析することができる。逆カプセル化モジュール29は、サンプルエントリー又はマルチビューグループエントリーからビュー識別子ボックス172を復号し得る。別の例では、ビデオデコーダ30は、参照ビューのテクスチャビュー及び深度ビューが特定のビューを復号するために必要とされるかどうかを決定するために、メディアファイル中のビュー識別子ボックス172を構文解析する。即ち、逆カプセル化モジュール29は、テクスチャビューのみが必要とされるか、深度ビューのみが必要とされるか、又は両方が必要とされるかを決定することができる。
[0141]更に、逆カプセル化モジュール29は、別々のトラックに特定のビューのテクスチャビューと深度ビューとを含むメディアファイルを構文解析することができる。幾つかの例では、逆カプセル化モジュール29は、1つ又は複数の新たなタイプのトラック参照を構文解析して解釈するように構成される。例えば、逆カプセル化モジュール29は、タイプ値「deps」を伴う新たなトラック参照タイプを構文解析し、そのトラック参照タイプの存在は、現在のトラックが参照されたトラック中のテクスチャビューと関連付けられる深度ビューを含むことを示す。代替的な例では、逆カプセル化モジュール29は、タイプ値「tref」を伴う別の新たなトラック参照タイプを構文解析し、トラック中でのそのトラック参照タイプの存在は、現在のトラックが参照されたトラックに記憶されているテクスチャビューに依存することを示す。別の代替的な例では、逆カプセル化モジュール29は、タイプ値「dref」を伴う新たなタイプのトラック参照を構文解析し、トラック中でのそのトラック参照タイプの存在は、現在のトラックが参照されたトラックに記憶されている深度ビューに依存することを示す。
[0142]逆カプセル化モジュール29は、本明細書で説明された技法に従って合成されたメディアファイルを構文解析することから、深度ビューの空間分解能を決定することができる。例えば、逆カプセル化モジュール29は、3VC構成ボックスに含まれ得る、新たに定義された3VC深度分解能ボックスから深度ビューの分解能を決定することができる。別の代替的な例では、逆カプセル化モジュール29は、3VCデコーダ構成記録から、深度ビューの幅と高さとを直接決定する。例えば、逆カプセル化モジュール29は、図1の深度を伴うマルチビューメディアファイル142のようなメディアファイルと関連付けられる深度ビューの幅と高さとを決定するために、そのメディアファイルの3VCデコーダ構成記録を構文解析することができる。
[0143]逆カプセル化モジュール29はまた、深度NAL単位のみを伴う3VCトラックに対して、「3vc1」及び「3vc2」という新たに定義されたサンプルエントリータイプを構文解析することができる。逆カプセル化モジュール29は更に、MVC+Dコーデック規格で定義される3DVCスケーラビリティ情報SEIメッセージにアクセスするために、符号化されたメディアファイルから、3VCスケーラビリティ情報SEIメッセージボックスを復号し得る。
[0144]別の代替的な例では、逆カプセル化モジュール29は、マルチビューグループボックス(マルチビューグループボックス174のような)で示される3VC動作点が存在するかどうか、マルチビューグループボックス174で示される動作点が3VCもしくはMVCかどうか、又は、マルチビューグループボックス174で示される出力ビューがテクスチャのみを含むか、深度のみを含むか、若しくは両方を含むかを決定するための、メディアファイルからの一般的な属性と差別化する属性とを構文解析する。
[0145]逆カプセル化モジュール29は、トラックに含まれるビューがテクスチャビューからなるか、深度ビューからなるか、又はテクスチャビューと深度ビューの両方からなるかを決定し、ビューの依存関係を決定し、SPSを構文解析することを必要とすることなく深度ビューの空間分解能を決定し、深度を伴う複数のコード化されたビューを含むビデオストリームの記憶の効率と柔軟性とを改善するために、本明細書で説明される技法の1つ又は複数の利用するように構成され得る。
[0146]図6は、例示的なカプセル化モジュール21のコンポーネントを示すブロック図である。図6の例では、カプセル化モジュール21は、ビデオ入力インターフェース70と、ビデオファイル作成モジュール72と、ビデオファイル出力インターフェース76とを含む。ビデオファイル作成モジュール70は、この例では、ネットワーク抽象化レイヤ(NAL)ユニットコンストラクタ74を含む。
[0147]ビデオ入力インターフェース70は、コード化されたビデオコンテンツを受信することができる。ビデオ入力インターフェース70は、ビデオエンコーダ20からコード化されたビデオコンテンツを受信することができ、又は、記憶機器から符号化されたビデオコンテンツを取り出すことができる。コード化されたビデオコンテンツは、AVC規格又はHEVC規格に従ってコード化されてよく、ビデオコンテンツと、パラメータセットと、SEIメッセージとのサンプルを含み得る。符号化されたビデオコンテンツを受信すると、ビデオ入力インターフェース70は、メディアファイルへの組立のために、コード化されたビデオコンテンツをビデオファイル作成モジュール72に出力することができる。幾つかの例では、ビデオ入力インターフェース70は、コード化されたビデオコンテンツがビデオファイル作成モジュール72に出力される前に、コード化されたビデオコンテンツを編成又はバッファリンすることによって、メディアファイルの組立を支援することができる。
[0148]一般に、ビデオファイル作成モジュール72は、受信されたコード化されたビデオコンテンツを含むビデオファイルを生成することができる。一例では、ビデオファイル作成モジュール72は、図1に関して説明された深度を伴うマルチビューメディアファイル142のようなビデオファイルを作成することができる。ビデオファイル作成モジュール72は、それに起因する機能及び手順を実行するように構成されたハードウェア、ソフトウェア、及び/又はファームウェアを含む制御ユニットに対応し得る。制御ユニットは、一般に、カプセル化モジュール21に起因する機能を更に実行し得る。ビデオファイル作成モジュール72がソフトウェア及び/又はファームウェアで具現化される例では、カプセル化モジュール21は、ビデオファイル作成モジュール72のための命令を備えるコンピュータ可読媒体と、命令を実行するための処理ユニットとを含み得る。ビデオファイル作成モジュール72のサブモジュール(この例ではNAL単位構成器74)は、個々のハードウェアモジュール及び/又はソフトウェアモジュールとして実装されてよく、機能的に統合されてよく、又は追加のサブモジュールへと更に分割されてよい。ビデオファイル作成モジュール72は、例えば、1つ又は複数のマイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、又はそれらの任意の組合せのような、任意の好適な処理ユニット又は処理回路に対応し得る。ビデオファイル作成ユニット72は更に、NAL単位構成器74のための命令を記憶する非一時的コンピュータ可読媒体、及び、命令を実行するためのプロセッサを含み得る。
[0149]一例では、ビデオファイル作成モジュール72は、深度を伴う複数のコード化されたビューを含むビデオストリームを記憶できるファイルフォーマットに従って、符号化されたビデオデータを出力するように構成されてよく、深度ビューの特性及び関係がファイル中で信号伝達され得る。
[0150]ビデオファイル作成モジュール72は、本開示で説明された技法を実施するように構成され得る。例えば、ビデオファイル作成モジュール72は、シンタックス要素Compressornameの新たな値を有するメディアファイルを合成することができる。基本クラスVisualSampleEntryで定義されるようなCompressornameは、3DV(MVC+Dのような)ビデオストリームを含むファイルに対して推奨される値「\0123VC Coding」とともに使用されるコンプレッサの名前を示し得る。シンタックス要素Compressornameは更に、AVCFF又はHEVCFFに従って定義され得る。
[0151]上で説明された例示的なシンタックス及びセマンティクスに加えて、ビデオ作成モジュール72により使用されるファイルフォーマットは、3VCデコーダ構成記録に関する追加の制約を含み得る。本明細書で説明される技法によれば、シンタックス要素MVCDecoderConfigurationRecordは、シンタックス要素AVCDecoderConfigurationRecordと構造的に同一であり得る。しかしながら、lenghtSizeMinusOneフィールドの前後の1つ又は複数の予備ビットが再定義される。例示的なシンタックスは次の通りである。
aligned(8) class MVCDecoderConfigurationRecord {
unsigned int(8) configurationVersion = 1;
unsigned int(8) AVCProfileIndication;
unsigned int(8) profile_compatibility;
unsigned int(8) AVCLevelIndication;
bit(1) complete_representation;
bit(1) explicit_au_track;
bit(4) reserved = ‘1111’b;
unsigned int(2) lengthSizeMinusOne;
bit(1) reserved = ‘0’b;
unsigned int(7) numOfSequenceParameterSets;
for (i=0; i< numOfSequenceParameterSets; i++) {
unsigned int(16) sequenceParameterSetLength ;
bit(8*sequenceParameterSetLength) sequenceParameterSetNALUnit;
}
unsigned int(8) numOfPictureParameterSets;
for (i=0; i< numOfPictureParameterSets; i++) {
unsigned int(16) pictureParameterSetLength;
bit(8*pictureParameterSetLength) pictureParameterSetNALUnit;
}
}
[0152]幾つかの例では、3VCDecoderConfigurationRecordのシンタックス構造は、MVCDecoderConfigurationRecordと厳密に同じであり得る。AVCデコーダ構成記録(ISO/IEC 14496−15の5.3.3.1項で定義されるような)が3VCストリームとして解釈され得るストリームのために使用されるとき、AVCデコーダ構成記録は、AVC適合基本ビューの特性を反映し得る。例えば、AVCデコーダ構成記録は、AVC基本ビューを復号するために使用されるパラメータセットのみを含み得る。
[0153]MVCデコーダ構成記録(ISO/IEC 14496−15で定義されるような)がMVCストリーム又は3VCストリームとして解釈され得るストリームのために使用されるとき、MVCデコーダ構成記録は、MVC適合ビットストリームサブセットの特性を反映すべきである。即ち、例えば、MVCデコーダ構成記録は、MVC適合ビットストリームサブセットを復号するために使用されるパラメータセットのみを含み得る。MVC適合サブセットは、例えば、テクスチャビューのみを伴うビットストリームサブセットであり得る。
[0154]パラメータセットストリームは、AVCストリーム又はMVCストリームのような3VCストリームとともに使用され得る。そのような例では、パラメータセットは、デコーダ構成記録に含まれるべきではない。サブセットシーケンスパラメータセットを含むシーケンスパラメータセット(SPS)は、それぞれ、1からnumOfSequenceParameterSets又はnumOfPictureParameterSetsまで、記憶の順序で番号を付けられ得る。ファイル中のこの記録に記憶されるSPS及びピクチャパラメータセット(PPS)は、InitialParameterSetBoxによってこの1ベースのインデックスを使用して参照され得る。
[0155]フィールドAVCProfileIndication、profile_compatibility、及びAVCLevelIndicationのセマンティクスは、次のように、MVCDecoderConfigurationRecordとは異なり得る。AVCProfileIndication、profile_compatibility、及びAVCLevelIndicationは、0でなければ、準拠する3VCデコーダが、この記録に含まれるSPSのいずれか又はサブセットSPSで示されるプロファイル、レベル、及びプロファイル適合性フラグに準拠するビットストリームを復号することが可能であるような、値を有するべきである。
[0156]他のフィールドのセマンティクスは次の通りであってよく、又は、存在しなければ、MVCDecoderConfigurationRecordに対して定義されるように、numOfSequenceParameterSetsが、3VCエレメンタリストリームを復号するために使用されるSPS又はサブセットSPSの数を示す。シンタックス要素SequenceParameterSetNALUnitは、ISO/IEC 14496−10のAnnex Iにおいて規定されるような、SPS又はサブセットSPS NAL単位を含み得る。SPSは、許容されている間隔を伴う昇順のパラメータセット識別子の順序で発生すべきである。サブセットSPSは、許容されているギャップを伴う昇順のパラメータセット識別子の順序で発生すべきである。任意のSPSは、もしあれば、全てのサブセットSPSよりも前に発生すべきである。
[0157]ビデオファイル作成モジュール72はまた、AVC NAL単位と、MVC NAL単位と、深度NAL単位とを伴う3VCトラックのためのメディアファイルを作成することができる。2つのサンプルエントリータイプは、「3vc1」及び「3vc2」として定義される。MVC及び3VCのためのサンプルエントリーの例示的な定義が次のように与えられる。サンプルエントリータイプ「avc1」、「avc2」、「mvc1」、「mvc2」、「3vc1」、及び「3vc2」は、図1のサンプルテーブルボックス162のようなサンプルテーブルボックス(「stbl」)内に含まれ得る。幾つかの例では、avc1、avc2、mvc1、mvc2、3vc1、及び3vc2サンプルエントリータイプの1つを、深度を伴うマルチビューメディアファイル142のようなメディアファイル中に有することは、必須である。幾つかの例では、1つ又は複数のサンプルエントリーが、深度を伴うマルチビューメディアファイル142の中に存在し得る。
[0158]ビデオファイル作成モジュール72は、AVC構成ボックス、MVC構成ボックス、及び3VC構成ボックスの1つを含み得る。AVC構成ボックスは、存在するとき、AVCDecoderConfigurationRecordによって定義されるようなAVC適合基本ビューに関する、プロファイルと、レベルと、パラメータセット情報とを記述し得る。MVC構成ボックスは、存在するとき、MVCDecoderConfigurationRecordによって定義されるような、MVCストリーム全体に関する、プロファイルと、レベルと、パラメータセット情報とを記述し得る。図1の3VC構成ボックス168のような3VC構成ボックスは、存在するとき、3VC構成ボックス168に記憶される3VCDecoderConfigurationRecordによって定義されるような、3VCストリーム全体に関する、プロファイルと、レベルと、パラメータセット情報とを記述し得る。
[0159]AVCサンプルエントリー「avc1」及び「avc2」に対して、サンプルエントリー中の幅及び高さのフィールドは、AVC基本レイヤを記述し得る。MVCサンプルエントリー「mvc1」及び「mvc2」、更には、3VCサンプルエントリー「3vc1」及び「3vc2」に対して、サンプルエントリーに含まれる幅及び高さは、MVCストリーム又は3VCストリーム全体の任意の単一のテクスチャビューを復号することによって達成される分解能を記述し得る。3VCサンプルエントリーに対して、3VC深度分解能ボックス170中のdepth_width及びdepth_heightは、3VCストリーム全体の任意の単一の深度ビューを復号することによって達成される分解能を記述し得る。
[0160]幾つかの例では、任意の所与のサンプルエントリーにおけるAVC構成、MVC構成、及び3VC構成中のlenghtSizeMinusOneフィールドは、同じ値を有するべきである。
[0161]優先割当てuniform resource identifier(URI)は、priority_idの値を割り当てるために使用される方法の名前(URI空間における)を提供する。優先割当てURIがAVCサンプルエントリー、MVCサンプルエントリー、又は3VCサンプルエントリーにおいて発生するとき、AVCストリーム、MVCストリーム、又は3VCストリーム全体にけるpriority_idの割当てを記述するただ1つのURIが存在すべきである。このURIはここでは名前としてのみ扱われ、逆参照可能であるべきであるが、これは必須ではない。ファイルリーダは、幾つかの方法を認識し、これによって、priority_idに基づくストリーム抽出動作が何をするであろうかを知ることが可能であり得る。
[0162]ISO/IEC 14496−15、セクション6.5.3.1.1で記述されるようなサンプルエントリータイプ「avc1」及び「avc2」に対する幾つかの要件も、ここで適用され得る。
[0163]AVCサンプルエントリー、MVCサンプルエントリー、又は3VCサンプルエントリー中に存在するとき、ViewScalabilityInfoSEIBox、ViewIdentifierBox(ビュー識別子ボックス172のような)、IntrinsicCameraParametersBox、ExtrinsicCameraParametersBox、3VCScalabilityInformationSEIBox(3VCスケーラビリティ情報SEIボックス166のような)、MPEG4BitRateBox及びMPEG4ExtensionDescriptorsBoxが、AVCストリーム、MVCストリーム、又は3VCストリーム全体に適用され得る。サンプルエントリー「3vc1」及び「3vc2」の1つ又は両方に含まれ得る例示的なボックスタイプは、本質的カメラパラメータボックス(「icam」)と、非本質的カメラパラメータボックス(「ecam」)と、ビュー識別子ボックス(「vwid」)とを含む。
[0164]MVCストリームに対して、基本クラスVisualSampleEntryにおけるCompressornameは、値「\012MVC Coding」(\012は、文字列「MVC coding」のバイト単位での長さである、10である)によって、使用されるコンプレッサの名前を示す。同様に、3VCストリームに対して、基本クラスVisualSampleEntryにおけるCompressornameは、値「\0123VC Coding」(\012は、文字列「3VC coding」のバイト単位での長さである、10である)によって、使用されるコンプレッサの名前を示す。
[0165]幾つかの例では、ビデオストリームのサンプルデータに存在するNAL単位を復号するために必要とされる1つ又は複数のパラメータセットは、直接、又はエクストラクタからの参照によって、そのビデオストリームのデコーダ構成又は関連付けられるパラメータセットストリーム(使用される場合)に存在すべきである。
[0166]表2は、AVCトラック、MVCトラック、及び3VCトラックのためのサンプルエントリーの可能な使用法の例を与える。即ち、表2は、AVCエレメンタリストリーム、MVCエレメンタリストリーム、又は3VCエレメンタリストリームが、やはり使用され得る1つ又は複数のトラック、構成、及びMVCツール(常に別のトラックで使用される時限メタデータを除く)に記憶されるときの、サンプルエントリーの可能な使用法を示す。表2は、サンプルエントリーの4文字のコード化されたボックスタイプと、どの構成記録がサンプルエントリーに関するかの指示と、サンプルエントリーの意味とを含む。
[0167]以下は、MVCサンプルエントリー及び3VCサンプルエントリーのための例示的なシンタックス造を与える。
class MVCConfigurationBox extends Box(‘mvcC’) {
MVCDecoderConfigurationRecord() MVCConfig;
}
class ViewScalabilityInformationSEIBox extends Box(‘vsib’, size)
{
unsigned int(8*size-64) viewscalinfosei;
}
class 3VCDepthResolutionBox extends Box(‘3dpr’)
{
unsigned int(16) depth_width;
unsigned int(16) depth_height;
}
class 3VCConfigurationBox extends Box(‘3vcC’) {
3VCDecoderConfigurationRecord 3VCConfig;
3VCDepthResolutionBox 3vcDepthRes; //Optional
}
class 3VCScalabilityInformationSEIBox extends Box(‘3sib’, size)
{
unsigned int(8*size-64) 3vcscalinfosei;
}
class AVCMVCSampleEntry() extends AVCSampleEntry (‘avc1’ or 'avc2'){ ViewScalabilityInformationSEIBox
mvcscalinfosei; // optional
ViewIdentifierBox view_identifiers; // optional
MVCConfigurationBox mvcconfig; // optional
MVCViewPriorityAssignmentBox view_priority_method; // optional
IntrinsicCameraParametersBox intrinsic_camera_params; // optional
ExtrinsicCameraParametersBox extrinsic_camera_params; // optional
3VCConfigurationBox 3vcconfig; // optional
3VCScalabilityInformationSEIBox 3vcscalinfosei; // optional
}
class MVCSampleEntry() extends VisualSampleEntry ('mvc1' or 'mvc2'){
MVCConfigurationBox mvcconfig; // mandatory
ViewScalabilityInformationSEIBox mvcscalinfosei; // optional
ViewIdentifierBox view_identifiers; // mandatory
MPEG4BitRateBox bitrate; // optional
MPEG4ExtensionDescriptorsBox descr; // optional
MVCViewPriorityAssignmentBox view_priority_method; // optional
IntrinsicCameraParametersBox intrinsic_camera_params; // optional
ExtrinsicCameraParametersBox extrinsic_camera_params // optional
3VCConfigurationBox 3vcconfig; // optional
3VCScalabilityInformationSEIBox 3vcscalinfosei; // optional
}
class 3VCSampleEntry() extends VisualSampleEntry ('3vc1' or '3vc2'){ 3VCConfigurationBox 3vcconfig; // mandatory
3VCScalabilityInformationSEIBox 3vcscalinfosei; // optional
ViewIdentifierBox view_identifiers; // mandatory
MPEG4BitRateBox bitrate; // optional
MPEG4ExtensionDescriptorsBox descr; // optional
MVCViewPriorityAssignmentBox view_priority_method; // optional
IntrinsicCameraParametersBox intrinsic_camera_params; // optional
ExtrinsicCameraParametersBox extrinsic_camera_params // optional
}
[0168]以下は、MVCサンプルエントリー及び3VCサンプルエントリーのための例示的なシンタックス要素を与える。シンタックス要素depth_width及びdepth_heightは、それぞれ、3VCDepthResolutionBox()(3VC深度分解能ボックス170のような)を含むサンプルエントリーが適用されるストリーム中の、コード化された深度ビュー成分の幅と高さの値を、画素単位で与え得る。シンタックス要素3vcDepthResは、サンプルエントリーが適用されるストリーム中のコード化された深度ビュー成分の幅と高さとを含み得る。存在しないとき、コード化された深度ビュー成分の幅と高さは、コード化されたテクスチャビュー成分の幅及び高さと同じであると推測され得る。
[0169]シンタックス要素mvcscalinfoseiは、ISO/IEC 14496−10 Annex Hで規定されるようなビュースケーラビリティ情報SEIメッセージのみを含むSEI NAL単位を含み得る。コンテナボックスViewScalabilityInformationSEIBoxの「サイズ」フィールドは、0又は1に等しくてはならない。
[0170]別のシンタックス要素3vcscalinfoseiは、ISO/IEC 14496−10 Annex Iで規定されるような3DVCスケーラビリティ情報SEIメッセージのみを含むSEI NAL単位を含み得る。コンテナボックス3VCScalabilityInformationSEIBoxの「サイズ」フィールドは、0又は1に等しくてはならない。
[0171]MVC+Dビデオストリームに対して、ビデオファイル作成モジュール72はまた、図1の3VCスケーラビリティ情報SEIメッセージボックス166のような、3VCスケーラビリティ情報SEIメッセージボックスを合成することができる。3VCスケーラビリティ情報SEIメッセージボックス166は、MVC+Dコーデック規格で定義される3DVCスケーラビリティ情報SEIメッセージを含み得る。
[0172]ビデオファイル作成モジュール72はまた、本明細書で説明される技法に従って、図1のビュー識別子ボックス172のようなビュー識別子ボックスを合成することができる。ビデオファイル作成モジュール72は、トラックに含まれる各ビューに対して、トラック及びストリームの中でのテクスチャビュー及び深度ビューの存在を示すために、ビュー識別子ボックス172を合成することができる。更に、ビデオファイル作成モジュール72は、参照ビューのテクスチャビュー及び深度ビューが特定のビューを復号するためにどのように必要とされるかを示すために、ビュー識別子ボックス172を合成することができる。
[0173]ビュー識別子ボックス172の更なる詳細は次の通りである。ビュー識別子ボックス172のための4文字のコード化されたボックスタイプは「vwid」であり得る。ビュー識別子ボックス172は、任意のサンプルエントリー(例えば、「avc1」、「avc2」、「mvc1」、「mvc2」、「3vc1」、及び「3vc2」)に、又はマルチグループエントリーに含まれ得る。幾つかの例では、ビュー識別子ボックスは、サンプルエントリー「mvc1」、「mvc2」、「3vc1」、「3vc2」、及びマルチビューグループエントリー中の主要グループ定義の各々に対してちょうど1回含まれなければならない。幾つかの例では、ビュー識別子ボックス172は、マルチビューグループエントリー中の非主要グループ定義に対しては含まれない。
[0174]サンプルエントリーに含まれるとき、ビュー識別子ボックス172は、トラックに含まれるビューを示す。マルチビューグループエントリーに含まれるとき、ビュー識別子ボックス172は、それぞれの階層に含まれるビューを示す。ビュー識別子ボックス172はまた、各々の列挙されたビューのビュー順序インデックスを示す。加えて、ビュー識別子ボックス172は、ビュー識別子ボックス172がサンプルエントリー又はマルチビューグループエントリーに含まれるとき、それぞれ、トラック又は階層に含まれるtemporal_idの値の最小値と最大値とを含む。その上、ビュー識別子ボックス172は、トラック又は階層に含まれるビューを復号するために必要とされる1つ又は複数の参照されるビューを示し得る。3VCストリームに対して、ビュー識別子ボックス172は、トラックに含まれるビューの各々に対して、トラック及びストリームの中でのテクスチャ及び/又は深度の存在を示し得る。
[0175]ビュー識別子ボックス172の1つの例示的なシンタックスは次の通りである。
class ViewIdentifierBox extends FullBox (‘vwid’, version=0, flags)
{
unsigned int(2) reserved6 = 0;
unsigned int(3) min_temporal_id;
unsigned int(3) max_temporal_id;
unsigned int(16) num_views;
for (i=0; i<num_views; i++) {
unsigned int(6) reserved1 = 0;
unsigned int(10) view_id[i];
unsigned int(6) reserved2 = 0;
unsigned int(10) view_order_index;
unsigned int(1) texture_in_stream[i];
unsigned int(1) texture_in_track[i];
unsigned int(1) depth_in_stream[i];
unsigned int(1) depth_in_track[i];
unsigned int(2) base_view_type;
unsigned int(10) num_ref_views;
for (j = 0; j < num_ref_views; j++) {
unsigned int(4) reserved5 = 0;
unsigned int(2) dependent_component_idc[i][j];
unsigned int(10) ref_view_id[i][j];
}
}
}
[0176]ビュー識別子ボックス172の幾つかの例示的なセマンティクスは次のように与えられる。2つのシンタックス要素min_temporal_id及びmax_temporal_idは、それぞれ、ビュー識別子ボックス172がサンプルエントリー又はマルチビューグループエントリーに含まれるときにそれぞれトラック又は階層にマッピングされるNAL単位のNAL単位ヘッダ拡張中に存在する、temporal_idシンタックス要素の最小値と最大値とを有し得る。AVCストリームに対して、min_temporal_id及びmax_temporal_idは、プレフィックスNAL単位の中にある、又はその中にあるであろう、値をとる。
[0177]シンタックス要素num_viewsは、ビュー識別子ボックス172がサンプルエントリー中に存在するとき、トラックに含まれるビューの数を示し得る。ビュー識別子ボックス172がマルチビューグループエントリー中に存在するとき、num_viewsは、それぞれの階層に含まれるビューの数を示し得る。
[0178]別のシンタックス要素view_id[i]は、ビュー識別子ボックス172がサンプルエントリー又はマルチビューグループエントリーに含まれるときにそれぞれトラック又は階層に含まれるビューのNAL単位ヘッダ拡張中の、view_idシンタックス要素の値を示し得る。
[0179]シンタックス要素view_order_indexは、ビュー識別子ボックス172がサンプルエントリー又はマルチビューグループエントリーに含まれるときにそれぞれトラック又は階層に含まれるビューに対する、ISO/IEC 14496−10のAnnex Hで規定されるような、順序インデックス値(VOIdx)変数の値を示し得る。
[0180]シンタックス要素texture_in_stream[i]が導入され、1に等しいtexture_in_stream[i]は、view_id[i]を伴うビューのテクスチャビューがストリーム中に存在することを示し得る。この値は、view_id[i]を伴うビューのテクスチャビューがストリーム中に存在しない可能性があることを示す。
[0181]同様に、シンタックス要素texture_in_track[i]が導入され、1に等しいtexture_in_track[i]は、view_id[i]を伴うビューのテクスチャビューがトラック中に存在することを示し得る。この値は、view_id[i]を伴うビューのテクスチャビューがトラック中に存在しないことを示し得る。幾つかの例では、texture_in_stream[i]が0に等しいとき、texture_in_track[i]の値は0に等しくなければならない。
[0182]別のシンタックス要素depth_in_stream[i]が導入され、1に等しいdepth_in_stream[i]は、view_id[i]を伴うビューの深度ビューがストリーム中に存在することを示し得る。この値は、view_id[i]を伴うビューの深度ビューがストリーム中に存在しないことを示し得る。幾つかの例では、texture_in_stream[i]が0に等しいとき、depth_in_stream[i]の値は1に等しくなければならない。
[0183]シンタックス要素depth_in_track[i]が導入され、1に等しいdepth_in_track[i]は、view_id[i]を伴うビューの深度ビューがトラック中に存在することを示し得る。この値は、view_id[i]を伴うビューの深度ビューがトラック中に存在しないことを示し得る。幾つかの例では、depth_in_stream[i]が0に等しいとき、depth_in_track[i]の値は0に等しくなければならない。幾つかの例では、texture_in_track[i]が0に等しいとき、depth_in_track[i]の値は1に等しくなければならない。
[0184]別のシンタックス要素base_view_typeは、ビューが基本ビューかどうか(仮想的かどうか)を示し得る。シンタックス要素base_view_typeは、次の値をとり得る。0は、ビューが基本ビューでも仮想基本ビューでもないことを示し、1は、MVCビットストリームの非仮想基本ビューを標識するために使用されるべきであり、2は、予備の値であり使用されるべきではなく(しかし、後で使用されることがある)、3は、view_id[i]を伴うビューが仮想基本ビューであることを示す。それぞれの独立にコード化された、view_id[i]を伴う非基本ビューは、別のトラックに存在し得る。base_view_typeが3に等しいとき、後続のnum_ref_viewsは0に等しくなければならない。
[0185]更なるシンタックス要素num_ref_viewsは、view_id[i]を伴うビューによって直接又は間接的に参照され得るビューの数を示し得る。
[0186]j番目の参照ビューのテクスチャビュー及び深度ビューがview_id[i]を伴うビューを復号するためにどのように必要とされるかを示し得る、別のシンタックス要素dependent_component_idc[i][j]が導入される。この値が0に等しい場合、参照ビューのテクスチャビューのみが必要とされ得る。この値が1に等しい場合、参照ビューの深度ビューのみが必要とされ得る。この値が2に等しい場合、参照ビューのテクスチャビューと深度ビューの両方が必要とされ得る。3という値は予備である。
[0187]別のシンタックス要素ref_view_id[i][j]は、view_id[i]を伴うビューによって直接又は間接的に参照され得る、即ち、view_id[i]を伴うビューの復号のために必要とされ得る、j番目のビューのビュー識別子を示し得る。view_id[i]を伴うビューを復号するためにあるビューが必要とされる場合、そのビューは、ref_view_id[i][j]の1つとして列挙され得る。ビュー識別子ボックス172がサンプルエントリーに含まれるとき、同じサンプルエントリー中のアンカーアクセス単位と非アンカーアクセス単位の両方に対する参照されるビューを示すことが推奨され得る。
[0188]更に、幾つかの例では、ビデオファイル作成モジュール72は、深度ビューの空間分解能の明示的な指示を、図1の3VC深度分解能ボックス170のような3VC深度分解能ボックスにおいて提供することができる。3VC深度分解能ボックス170は、図1の3VC構成ボックス168のような3VC構成ボックスに含まれ得る。幾つかの例では、3VC構成ボックス168は、3VCデコーダ構成記録を含まなければならず、サンプルエントリーに含まれ得るが、タイプ「3vc1」又は「3vc2」のサンプルエントリーに含まれなければならない。
[0189]幾つかの態様では、ビデオファイル作成モジュール72は更にビデオファイルを合成し、このときテクスチャビュー及び深度ビューは別個のトラックに記憶される。MVCストリーム又は3VCストリームは、ファイル中の1つ又は複数のビデオトラック(図1のビデオデータストリーム146のような)によって表され得る。各トラックは、ストリームの1つ又は複数のビューを表し得る。深度を伴うマルチビューメディアファイル142のような、3VCビデオストリームを記憶するファイル中のトラックに対して、トラックは、テクスチャのみ、深度のみ、又はテクスチャと深度の両方を含み得る。
[0190]幾つかの例では、符号化された情報の完全なセットを全体として含む、1つ又は複数のトラックの最小限のセットがあり得る。全てのこれらのトラックは、サンプルエントリーの全てにおい設定された、「complete_representation」というフラグを有し得る。完全な符号化された情報を形成するトラックのグループは、「完全サブセット」と呼ばれ得る。フラグ「complete_representation」セットを有し、0に等しいtemporal_idを伴う基本ビューのNAL単位を含むトラックは、「基本ビュートラック」として指定され得る。同じストリームの部分である全ての他のトラックが、タイプ「sbas」(基本ビュー)のトラック参照によって、この基本ビュートラックにリンクされ得る。完全な符号化された情報は、「完全サブセット」に含まれるトラックが保持されるときは保持されてよく、全ての他のトラックは、完全サブセットのサブセット、コピー、又は並べ替えでなければならない。
[0191]同じ基本ビュートラックを共有する全てのトラックは、同じ時間軸も共有し得る。3VCストリームの幾つかの例では、特定のビューのテクスチャビューと深度ビューとを含む全てのトラックは、同じ時間軸を共有する。特定のビューのテクスチャビュー及び深度ビューは、同じ値のview_idを(従って、同じ値のビュー順序インデックスも)有してよく、互いに関連付けられるものとして言及され得る。
[0192]トラックによって表されるビューが、ビュー間予測参照として別のトラックによって表される別のビューを使用する場合、タイプ「scal」のトラック参照が、ビュー間予測のためのソーストラックを参照するトラックに含まれるべきである。
[0193]3VCストリームの幾つかの例では、深度ビューが、深度ビューと関連付けられるテクスチャビューを含むトラックとは異なるトラックに記憶される場合、タイプ「deps」のトラック参照は、テクスチャビューを含むトラックを参照する、深度ビューを含むトラック中に含まれる。トラック参照「deps」の存在は、現在のトラックが参照されたトラック中のテクスチャビューと関連付けられる深度ビューを含むことを示す。
[0194]幾つかの例では、ビデオファイル作成ユニット72がビデオファイルを生成した後、ビデオファイル作成ユニット72は、ビデオファイルをビデオファイル出力インターフェース76に渡す。ビデオファイル出力インターフェース76は、例えば、発信源機器20の出力インターフェース22に、ビデオファイルを出力する。幾つかの例では、ビデオファイル出力インターフェース76は、ビデオファイルを発信源機器20の記憶媒体又は記憶機器32に出力する。
[0195]図7は、本開示で説明される技法を実装し得るネットワーク100の一部を形成する機器の例示的なセットを示すブロック図である。この例では、ネットワーク100は、ルーティング機器104A、104B(ルーティング機器104)とトランスコード化機器106とを含む。ルーティング機器104及びトランスコード化機器106は、ネットワーク100の一部を形成し得る少数の機器を表すことが意図される。スイッチ、ハブ、ゲートウェイ、ファイアウォール、ブリッジ、及び他のそのような機器などの他のネットワーク機器も、ネットワーク100内に含まれ得る。その上、サーバ機器102とクライアント機器108との間にネットワーク経路に沿って追加のネットワーク機器が提供され得る。任意のそのような機器は、本明細書で説明される1つ又は複数の技法を実施し得るエンコーダ又はデコーダを備え得る。その上、ネットワーク機器は、完全な符号化又は復号の能力を必ずしも含まないMANEを備えてよく、MANEはまた、本明細書で説明された1つ又は複数の技法を実施してよい。幾つかの例では、サーバ機器102は図3の発信源機器12に対応し得るが、クライアント機器108は図3の宛先機器14に対応し得る。
[0196]一般に、ルーティング機器104は、ネットワーク100を通じてネットワークデータを交換するための1つ又は複数のルーティングプロトコルを実装する。幾つかの例では、ルーティング機器104は、プロキシ又はキャッシュ動作を実行するように構成され得る。従って、幾つかの例では、ルーティング機器104はプロキシ機器と呼ばれ得る。一般に、ルーティング機器104は、ネットワーク100を通るルートを発見するためにルーティングプロトコルを実行する。そのようなルーティングプロトコルを実行することによって、ルーティング機器104Bは、それ自体からルーティング機器104Aを介してサーバ機器102へ至るネットワークルートを発見することができる。
[0197]ネットワーク100を通じて、サーバ機器102は、本明細書で説明される技法に従って合成された1つ又は複数のメディアファイルを、クライアント機器108に与えることができる。他の例では、クライアント機器108は、ネットワーク100を通じて、本明細書で説明された技法に従って合成されたサーバ機器1021つ又は複数のメディアファイルを与える。
[0198]図8は、本開示で説明される技法による、マルチビュービデオコンテンツを含むメディアファイルを構文解析する例示的な方法を示すフローチャートである。図8で説明されるプロセスは、本明細書で説明される宛先機器20及び逆カプセル化モジュール29の任意の組合せを含み得る、ビデオコード化機器によって実行され得る。ビデオコード化機器は、ビデオデータのトラックを構文解析することができ、トラックは1つ又は複数のビューを含む(200)。例えば、逆カプセル化モジュール29は、発信源機器12からの深度を伴うマルチビューメディアファイル142のような、複数のコード化されたビュープラス深度を含むメディアファイルを取得することができる。ビデオコード化機器は、トラックがテクスチャビューのみを含むか、深度ビューのみを含むか、又はテクスチャビューと深度ビューの両方を含むかを決定するために情報を構文解析することができる(202)。例えば、逆カプセル化モジュール29は、深度を伴うマルチビューメディアファイル142に含まれるトラックの少なくとも1つがテクスチャビューを含むか、深度ビューを含むか、又はテクスチャビューと深度ビューの両方を含むかを決定するために、深度を伴うマルチビューメディアファイル142からの情報を構文解析することができる。
[0199]幾つかの例では、情報を構文解析することは更に、サンプルエントリーとマルチビューグループエントリーの少なくとも1つからのビュー識別子ボックスを構文解析することを備え、サンプルエントリーとマルチビューグループエントリーの少なくとも1つはトラックと関連付けられる。例えば、逆カプセル化モジュール29は、トラックに含まれる各ビューに対して、ビューがテクスチャビューか深度ビューかを決定するために、ビュー識別子ボックス172からの情報を構文解析することができる。逆カプセル化モジュール29は、参照ビューのテクスチャビュー又は深度ビューがトラック中の特定のビューを復号するために必要とされるかどうかを更に決定するために、ビュー識別子ボックス172を構文解析することができる。
[0200]逆カプセル化モジュール29は、第1のビデオデータに基づいて、ビデオデータの別の第2のセットを構文解析し、更に、第2のビデオデータを復号するために第1のビデオデータの第1のテクスチャビューが使用されるか、第1の深度ビューが使用されるか、又は第1のテクスチャビューと第1の深度ビューの両方が使用されるかを決定するために、情報を構文解析することができる。
[0201]別の例では、プロセスは、ビューの1つ又は複数と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを決定するために、SEIメッセージボックスを構文解析することを含む。即ち、逆カプセル化モジュール29は、ビューの1つ又は複数のSEIメッセージから情報を得るために、3VCスケーラビリティ情報SEIメッセージボックス166のような、SEIメッセージボックスを構文解析することができる。
[0202]トラックが1つ又は複数の深度ビューを含む例では、プロセスは更に、1つ又は複数の深度ビューの空間分解能を決定するために、3VC深度分解能ボックスを構文解析することを含み得る。例えば、逆カプセル化モジュール29は、深度を伴うマルチビューメディアファイル142に含まれる深度ビューの空間分解能を決定するために、3VC深度分解能ボックス170を構文解析する。幾つかの例では、逆カプセル化モジュール29は、3VC構成ボックス168から3VC深度分解能ボックス170を構文解析する。他の例では、逆カプセル化モジュール29は、3VC深度分解能ボックス170をサンプルエントリーから直接構文解析する。逆カプセル化モジュール29はまた、MVC+Dビデオストリームのような3DVビデオストリームに関する特性を示すセマンティクスを含む、3VCデコーダ構成記録、3VCDecoderConfigurationRecordを構文解析することができる。プロセスはまた、トラックに含まれる深度ビューの幅と高さとを決定するために、3次元ビデオコード化(3VC)デコーダ構成記録を構文解析することを含み得る。
[0203]幾つかの例では、トラックは第1のトラックであり、第1のトラックはビューの深度ビューとビューのテクスチャビューとの1つを含み、プロセスは更に、ビデオデータの第2のトラックを構文解析することを含み、第2のトラックは、第1のトラックに含まれない、ビューの深度ビューとビューのテクスチャビューとの1つを含む。プロセスは更に、第2のトラックを参照する第1のトラックに対するトラック参照を構文解析することを含んでよく、トラック参照は、第2のトラックに記憶されているテクスチャビューと関連付けられる深度ビューを第1のトラックが含む(例えば、トラック参照タイプが「deps」である)ことと、第1のトラックが第2のトラックに記憶されているテクスチャビューに依存する(例えば、トラック参照タイプが「tref」である)ことと、第1のトラックが第2のトラックに記憶されている深度ビューに依存する(例えば、トラック参照タイプが「dref」である)こととの1つを示す、少なくとも1つのトラック参照タイプを含む。
[0204]トラックが3次元ビデオコード化(3VC)トラックである例では、プロセスは更に、3VCデコーダ構成記録を構文解析することを含んでよく、3VCデコーダ構成記録は、ビデオデータの一致するサンプルエントリーに対する構成記録を示す。トラックが1つ又は複数の深度ネットワーク抽象化レイヤ(NAL)単位を含む3VCトラックである別の例では、プロセスは、エクストラクタを許容するサンプルエントリータイプ「3vc1」と、エクストラクタを許容しないサンプルエントリータイプ「3vc2」の少なくとも1つを構文解析することを含む。更なる例では、プロセスは、本開示で説明される技法の1つ又は複数を含み得る。
[0205]図9は、本開示で説明される技法による、テクスチャビューと深度ビューの存在を示すためにマルチビュービデオコンテンツを含むメディアファイルを合成する例示的な方法を示すフローチャートである。図9で説明されるプロセスは、本明細書で説明されるカプセル化モジュール21を含むビデオコード化機器によって実行され得る。ビデオコード化機器は、ビデオデータのトラックを合成することができ、トラックは1つ又は複数のビューを含む(206)。例えば、カプセル化モジュール21は、ビデオエンコーダ21からビデオデータを取得することができる。ビデオコード化機器は、トラックがテクスチャビューのみを含むか、深度ビューのみを含むか、又はテクスチャビューと深度ビューの両方を含むかを示す情報を合成することができる(208)。例えば、カプセル化モジュール21は、深度を伴うマルチビューメディアファイル142に含まれるトラックの少なくとも1つがテクスチャビューを含むか、深度ビューを含むか、又はテクスチャビューと深度ビューの両方を含むかを示すために、深度を伴うマルチビューメディアファイル142へと情報を合成することができる。カプセル化モジュール21は、本明細書で説明される技法に従って、深度を伴うマルチビューメディアファイル142のような、複数のコード化されたビュープラス深度を含むメディアファイルを合成することができる。
[0206]幾つかの例では、情報を合成することは更に、サンプルエントリーとマルチビューグループエントリーの少なくとも1つへとビュー識別子ボックスを合成することを備え、サンプルエントリーとマルチビューグループエントリーの少なくとも1つはトラックと関連付けられる。例えば、カプセル化モジュール21は、トラックに含まれる各ビューに対して、ビューがテクスチャビューか深度ビューかを示すために、ビュー識別子ボックス172へと情報を合成することができる。カプセル化モジュール21は、参照ビューのテクスチャビュー又は深度ビューがトラック中の特定のビューを復号するために必要とされるかどうかを更に示すために、ビュー識別子ボックス172を合成することができる。
[0207]カプセル化モジュール21は、第1のビデオデータに基づいて、ビデオデータの別の第2のセットを合成し、更に、第2のビデオデータを復号又は構文解析するために第1のビデオデータの第1のテクスチャビューが使用されるか、第1の深度ビューが使用されるか、又は第1のテクスチャビューと第1の深度ビューの両方が使用され得るかを示すために、情報を合成することができる。
[0208]別の例では、プロセスは、ビューの1つ又は複数と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを示すために、SEIメッセージボックスを合成することを含む。即ち、カプセル化モジュール21は、ビューの1つ又は複数のSEIメッセージで情報を提供するために、3VCスケーラビリティ情報SEIメッセージボックス166のような、SEIメッセージボックスを合成することができる。
[0209]トラックが1つ又は複数の深度ビューを含む例では、プロセスは更に、1つ又は複数の深度ビューの空間分解能を示すために、3VC深度分解能ボックスを合成することを含み得る。例えば、カプセル化モジュール21は、深度を伴うマルチビューメディアファイル142に含まれる深度ビューの空間分解能を示すために、3VC深度分解能ボックス170を合成する。幾つかの例では、カプセル化モジュール21は、3VC構成ボックス168において3VC深度分解能ボックス170を合成する。他の例では、カプセル化モジュール21は、3VC深度分解能ボックス170をサンプルエントリーにおいて直接合成する。カプセル化モジュール21はまた、MVC+Dビデオストリームのような3DVビデオストリームに関する特性を示すセマンティクスを含む、3VCデコーダ構成記録、即ち3VCDecoderConfigurationRecordを合成することができる。プロセスはまた、トラックに含まれる深度ビューの幅と高さとを決定するために、3次元ビデオコード化(3VC)デコーダ構成記録を合成することを含み得る。
[0210]幾つかの例では、トラックは第1のトラックであり、第1のトラックはビューの深度ビューとビューのテクスチャビューとの1つを含み、プロセスは更に、ビデオデータの第2のトラックを合成することを含み、第2のトラックは、第1のトラックに含まれない、ビューの深度ビューとビューのテクスチャビューとの1つを含む。プロセスは更に、第2のトラックを参照する第1のトラックに対するトラック参照を合成することを含んでよく、トラック参照は、第2のトラックに記憶されないテクスチャビューと関連付けられる深度ビューを第1のトラックが含む(例えば、トラック参照タイプが「deps」である)ことと、第1のトラックが第2のトラックに記憶されるテクスチャビューに依存する(例えば、トラック参照タイプが「tref」である)ことと、第1のトラックが第2のトラックに記憶される深度ビューに依存する(例えば、トラック参照タイプが「dref」である)こととの1つを示す、少なくとも1つのトラック参照タイプを含む。
[0211]トラックが3次元ビデオコード化(3VC)トラックである例では、プロセスは更に、3VCデコーダ構成記録を合成することを含んでよく、3VCデコーダ構成記録は、ビデオデータの一致するサンプルエントリーに対する構成記録を示す。トラックが1つ又は複数の深度ネットワーク抽象化レイヤ(NAL)単位を含む3VCトラックである別の例では、プロセスは、エクストラクタを許容するサンプルエントリータイプ「3vc1」と、エクストラクタを許容しないサンプルエントリータイプ「3vc2」の少なくとも1つを合成することを含む。更なる例では、プロセスは、本開示で説明される技法の1つ又は複数を含み得る。
[0212]図10は、本開示で説明される技法による、ビューの依存関係を示すマルチビュービデオを含むメディアファイルを構文解析する例示的な方法を示すフローチャートである。図10で説明されるプロセスは、本明細書で説明される逆カプセル化モジュール29を含むビデオコード化機器によって実行され得る。ビデオコード化機器は、ビデオデータのトラックを構文解析することができ、トラックは1つ又は複数のビューを含む(220)。例えば、逆カプセル化モジュール29は、発信源機器12からの深度を伴うマルチビューメディアファイル142のような、複数のコード化されたビュープラス深度を含むメディアファイルを取得することができる。ビデオコード化機器は、トラック中の1つ又は複数のビューの1つを復号するために参照ビューのテクスチャビューか必要とされるか深度ビューが必要とされるかを決定するために、情報を構文解析することができる(202)。例えば、逆カプセル化モジュール29は、深度を伴うマルチビューメディアファイル142に含まれるトラック中の1つ又は複数のビューの1つを復号するために参照ビューのテクスチャビューが必要とされるか深度ビューが必要とされるかを決定するために、深度を伴うマルチビューメディアファイル142からの情報を構文解析することができる。
[0213]幾つかの例では、プロセスは更に、第1のビデオデータに基づいて第2のビデオデータを復号することを含んでよく、第2のビデオデータを復号することは、第2のビデオデータを復号するために第1のビデオデータのテクスチャビューが使用されるか、深度ビューが使用されるか、又はテクスチャビューと深度ビューの両方が使用されるかを示す情報を復号することを含む。
[0214]幾つかの例では、情報を構文解析することは更に、サンプルエントリーとマルチビューグループエントリーの少なくとも1つからのビュー識別子ボックスを構文解析することを備え、サンプルエントリーとマルチビューグループエントリーの少なくとも1つはトラックと関連付けられる。例えば、ビデオデコーダ30は、深度を伴うマルチビューメディアファイル142に含まれるトラック中の1つ又は複数のビューの1つを復号するために参照ビューのテクスチャビューが必要とされるか深度ビューが必要とされるかを決定するために、ビュー識別子ボックス172からの情報を構文解析することができる。別の例では、逆カプセル化モジュール29は、トラックがテクスチャビューのみを含むか、深度ビューのみを含むか、又はテクスチャビューと深度ビューとを含むかを決定するために、ビュー識別子ボックス172からの情報を構文解析することができる。別の例では、逆カプセル化モジュール29は、トラックに含まれる各ビューに対して、ビューがテクスチャビューか深度ビューかを決定するために、ビュー識別子ボックス172からの情報を構文解析することができる。逆カプセル化モジュール29は、参照ビューのテクスチャビュー又は深度ビューがトラック中の特定のビューを復号するために必要とされるかどうかを更に決定するために、ビュー識別子ボックス172を構文解析することができる。
[0215]逆カプセル化モジュール29は、第1のビデオデータに基づいて、ビデオデータの別の第2のセットを構文解析し、更に、第2のビデオデータを復号するために第1のビデオデータの第1のテクスチャビューが使用されるか、第1の深度ビューが使用されるか、又は第1のテクスチャビューと第1の深度ビューの両方が使用されるかを決定するために、情報を構文解析することができる。
[0216]別の例では、プロセスは、ビューの1つ又は複数と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを決定するために、SEIメッセージボックスを構文解析することを含む。即ち、逆カプセル化モジュール29は、ビューの1つ又は複数のSEIメッセージから情報を得るために、3VCスケーラビリティ情報SEIメッセージボックス166のような、SEIメッセージボックスを構文解析することができる。
[0217]トラックが1つ又は複数の深度ビューを含む例では、プロセスは更に、1つ又は複数の深度ビューの空間分解能を決定するために、3VC深度分解能ボックスを構文解析することを含み得る。例えば、逆カプセル化モジュール29は、深度を伴うマルチビューメディアファイル142に含まれる深度ビューの空間分解能を決定するために、3VC深度分解能ボックス170を構文解析する。幾つかの例では、逆カプセル化モジュール29は、3VC構成ボックス168から3VC深度分解能ボックス170を構文解析する。他の例では、逆カプセル化モジュール29は、3VC深度分解能ボックス170をサンプルエントリーから直接構文解析する。逆カプセル化モジュール29はまた、MVC+Dビデオストリームのような3DVビデオストリームに関する特性を示すセマンティクスを含む、3VCデコーダ構成記録、3VCDecoderConfigurationRecordを構文解析することができる。プロセスはまた、トラックに含まれる深度ビューの幅と高さとを決定するために、3次元ビデオコード化(3VC)デコーダ構成記録を構文解析することを含み得る。
[0218]幾つかの例では、トラックは第1のトラックであり、第1のトラックはビューの深度ビューとビューのテクスチャビューとの1つを含み、プロセスは更に、ビデオデータの第2のトラックを構文解析することを含み、第2のトラックは、第1のトラックに含まれない、ビューの深度ビューとビューのテクスチャビューとの1つを含む。プロセスは更に、第2のトラックを参照する第1のトラックに対するトラック参照を構文解析することを含んでよく、トラック参照は、第2のトラックに記憶されているテクスチャビューと関連付けられる深度ビューを第1のトラックが含む(例えば、トラック参照タイプが「deps」である)ことと、第1のトラックが第2のトラックに記憶されているテクスチャビューに依存する(例えば、トラック参照タイプが「tref」である)ことと、第1のトラックが第2のトラックに記憶されている深度ビューに依存する(例えば、トラック参照タイプが「dref」である)こととの1つを示す、少なくとも1つのトラック参照タイプを含む。
[0219]トラックが3次元ビデオコード化(3VC)トラックである例では、プロセスは更に、3VCデコーダ構成記録を構文解析することを含んでよく、3VCデコーダ構成記録は、ビデオデータの一致するサンプルエントリーに対する構成記録を示す。トラックが1つ又は複数の深度ネットワーク抽象化レイヤ(NAL)単位を含む3VCトラックである別の例では、プロセスは、エクストラクタを許容するサンプルエントリータイプ「3vc1」と、エクストラクタを許容しないサンプルエントリータイプ「3vc2」の少なくとも1つを構文解析することを含む。更なる例では、プロセスは、本開示で説明される技法の1つ又は複数を含み得る。
[0220]図11は、本開示で説明される技法による、ビューの依存関係を示すためにマルチビュービデオコンテンツを含むメディアファイルを合成する例示的な方法を示すフローチャートである。図11で説明されるプロセスは、本明細書で説明されるカプセル化モジュール21を含むビデオコード化機器によって実行され得る。ビデオコード化機器は、ビデオデータのトラックを合成することができ、トラックは1つ又は複数のビューを含む(226)。例えば、カプセル化モジュール21は、ビデオエンコーダ21からビデオデータを取得することができる。ビデオコード化機器は、トラック中の1つ又は複数のビューの1つを復号するために参照ビューのテクスチャビューか必要とされるか深度ビューが必要とされるかを示す情報を合成する、情報を合成することができる(228)。例えば、カプセル化モジュール21は、深度を伴うマルチビューメディアファイル142に含まれるトラックの1つを復号するために参照ビューのテクスチャビューが必要とされるか深度ビューが必要とされるかを示すために、深度を伴うマルチビューメディアファイル142へと情報を合成することができる。カプセル化モジュール21は、本明細書で説明される技法に従って、深度を伴うマルチビューメディアファイル142のような、複数のコード化されたビュープラス深度を含むメディアファイルを合成することができる。
[0221]幾つかの例では、情報を合成することは更に、サンプルエントリーとマルチビューグループエントリーの少なくとも1つへとビュー識別子ボックスを合成することを備え、サンプルエントリーとマルチビューグループエントリーの少なくとも1つはトラックと関連付けられる。例えば、カプセル化モジュール21は、トラックに含まれる各ビューに対して、ビューがテクスチャビューか深度ビューかを示すために、ビュー識別子ボックス172へと情報を合成することができる。カプセル化モジュール21は、トラックがテクスチャビューのみを含むか、深度ビューのみを含むか、又はテクスチャビューと深度ビューとを含むかを更に示すために、ビュー識別子ボックス172を合成することができる。カプセル化モジュール21は、トラックに含まれる各ビューに対して、ビューがテクスチャビューか深度ビューかを更に示すために、ビュー識別子ボックス172を合成することができる。
[0222]カプセル化モジュール21は、第1のビデオデータに基づいて、ビデオデータの別の第2のセットを合成し、更に、第2のビデオデータを復号又は構文解析するために第1のビデオデータの第1のテクスチャビューが使用されるか、第1の深度ビューが使用されるか、又は第1のテクスチャビューと第1の深度ビューの両方が使用されるかを示すために、情報を合成することができる。
[0223]別の例では、プロセスは、ビューの1つ又は複数と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを示すために、SEIメッセージボックスを合成することを含む。即ち、カプセル化モジュール21は、ビューの1つ又は複数のSEIメッセージで情報を提供するために、3VCスケーラビリティ情報SEIメッセージボックス166のような、SEIメッセージボックスを合成することができる。
[0224]トラックが1つ又は複数の深度ビューを含む例では、プロセスは更に、1つ又は複数の深度ビューの空間分解能を示すために、3VC深度分解能ボックスを合成することを含み得る。例えば、カプセル化モジュール21は、深度を伴うマルチビューメディアファイル142に含まれる深度ビューの空間分解能を示すために、3VC深度分解能ボックス170を合成する。幾つかの例では、カプセル化モジュール21は、3VC構成ボックス168において3VC深度分解能ボックス170を合成する。他の例では、カプセル化モジュール21は、3VC深度分解能ボックス170をサンプルエントリーにおいて直接合成する。カプセル化モジュール21はまた、MVC+Dビデオストリームのような3DVビデオストリームに関する特性を示すセマンティクスを含む、3VCデコーダ構成記録、即ち3VCDecoderConfigurationRecordを合成することができる。プロセスはまた、トラックに含まれる深度ビューの幅と高さとを決定するために、3次元ビデオコード化(3VC)デコーダ構成記録を合成することを含み得る。
[0225]幾つかの例では、トラックは第1のトラックであり、第1のトラックはビューの深度ビューとビューのテクスチャビューとの1つを含み、プロセスは更に、ビデオデータの第2のトラックを合成することを含み、第2のトラックは、第1のトラックに含まれない、ビューの深度ビューとビューのテクスチャビューとの1つを含む。プロセスは更に、第2のトラックを参照する第1のトラックに対するトラック参照を合成することを含んでよく、トラック参照は、第2のトラックに記憶されないテクスチャビューと関連付けられる深度ビューを第1のトラックが含む(例えば、トラック参照タイプが「deps」である)ことと、第1のトラックが第2のトラックに記憶されるテクスチャビューに依存する(例えば、トラック参照タイプが「tref」である)ことと、第1のトラックが第2のトラックに記憶される深度ビューに依存する(例えば、トラック参照タイプが「dref」である)こととの1つを示す、少なくとも1つのトラック参照タイプを含む。
[0226]トラックが3次元ビデオコード化(3VC)トラックである例では、プロセスは更に、3VCデコーダ構成記録を合成することを含んでよく、3VCデコーダ構成記録は、ビデオデータの一致するサンプルエントリーに対する構成記録を示す。トラックが1つ又は複数の深度ネットワーク抽象化レイヤ(NAL)単位を含む3VCトラックである別の例では、プロセスは、エクストラクタを許容するサンプルエントリータイプ「3vc1」と、エクストラクタを許容しないサンプルエントリータイプ「3vc2」の少なくとも1つを合成することを含む。更なる例では、プロセスは、本開示で説明される技法の1つ又は複数を含み得る。
[0227]本明細書で説明される技法に従ってビデオデータを処理する代替的なプロセスは、第1のビデオデータを符号化することを含み、第1のビデオデータはテクスチャビューと深度ビューとを含む。プロセスは更に、第1のビデオデータに基づいて第2のビデオデータを符号化することを含み、第2のビデオデータを符号化することは、第2のビデオデータを復号するために第1のビデオデータのテクスチャビューが使用されるか、深度ビューが使用されるか、又はテクスチャビューと深度ビューの両方が使用されるかを示す情報を符号化することを含む。
[0228]図12は、本開示で説明される技法による、深度ビューの空間分解能を決定するためにマルチビュービデオを含むメディアファイルを構文解析する例示的な方法を示すフローチャートである。図12で説明されるプロセスは、本明細書で説明される逆カプセル化モジュール29を含むビデオコード化機器によって実行され得る。ビデオコード化機器は、ビデオデータのトラックを構文解析することができ、トラックは、少なくとも1つの深度ビューを含む1つ又は複数のビューを含む(240)。例えば、逆カプセル化モジュール29は、発信源機器12からの深度を伴うマルチビューメディアファイル142のような、複数のコード化されたビュープラス深度を含むメディアファイルを取得することができる。ビデオコード化機器は、深度ビューと関連付けられる空間分解能を決定するために情報を構文解析することができ、空間分解能を復号することは、深度ビューのシーケンスパラメータセットの構文解析を必要としない(242)。例えば、逆カプセル化モジュール29は、深度メディアファイル142に記憶されている深度ビューの空間分解能を決定するために、深度を伴うマルチビューメディアファイル142からの情報を構文解析することができる。
[0229]幾つかの例では、情報を構文解析することは更に、3VC構成ボックスからの3VC深度分解能ボックスと、サンプルエントリーからの直接の3VC深度分解能ボックスとの少なくとも1つからの、空間分解能を構文解析することを備える。即ち、幾つかの例では、3VC深度分解能ボックス170のような3VC深度分解能ボックスは、3VC構成ボックス168のような3VC構成ボックスに記憶されるが、他の例では、3VC深度分解能ボックス170はサンプルエントリーに直接記憶される。プロセスは更に、3VC構成ボックスからの3VCデコーダ構成記録を構文解析することを備えてよく、3VC構成ボックスは、エクストラクタを許容するタイプ「3vc1」のサンプルエントリーと、エクストラクタを許容しないサンプルエントリータイプ「3vc2」との少なくとも1つに含まれる。
[0230]幾つかの例では、逆カプセル化モジュール29はまた、深度ビューの幅と高さとを決定するために、3VCデコーダ構成記録を構文解析することができる。3VCDecoderConfigurationRecordは、MVC+Dビデオストリームのような、3DVビデオストリームに関する特性を示すセマンティクスを含み得る。プロセスはまた、トラックに含まれる深度ビューの幅と高さとを決定するために、3次元ビデオコード化(3VC)デコーダ構成記録を構文解析することを含み得る。
[0231]幾つかの例では、情報を構文解析することは更に、トラック中の1つ又は複数のビューの少なくとも1つを復号するために参照ビューのテクスチャビューが必要とされるか、又は深度ビューを必要とされるかということと、トラックが深度ビューのみを含むか、又はテクスチャビューと深度ビューとを含むかということと、トラックに含まれる各ビューに対して、ビューがテクスチャビューを含むか、又は深度ビューを含むかということとの少なくとも1つを決定するために、サンプルエントリーとマルチビューグループエントリーの少なくとも1つからのビュー識別子ボックスを構文解析することを備え、サンプルエントリーとマルチビューグループエントリーの少なくとも1つはトラックと関連付けられる。例えば、逆カプセル化モジュール29は、トラックに含まれる各ビューに対して、ビューがテクスチャビューか深度ビューかを決定するために、ビュー識別子ボックス172からの情報を構文解析することができる。逆カプセル化モジュール29は更に、参照ビューのテクスチャビュー又は深度ビューがトラック中の特定のビューを復号するために必要とされるかどうかを決定するために、ビュー識別子ボックス172を構文解析することができる。
[0232]ビデオデータがビデオデータの第1のセットであり、トラックが更に少なくとも1つのテクスチャビューを含む例では、逆カプセル化モジュール29は更に、ビデオデータの第1のセットに基づいてビデオデータの第2のセットを構文解析することができ、情報を構文解析することは、ビデオデータの第2のセットを復号するためにビデオデータの第1のセットの第1のテクスチャビューが使用されるか、第1の深度ビューが使用されるか、又は第1のテクスチャビューと第1の深度ビューの両方が使用されるかを決定するために、情報を構文解析することを備える。
[0233]別の例では、プロセスは、ビューの1つ又は複数と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを決定するために、SEIメッセージボックスを構文解析することを含む。即ち、逆カプセル化モジュール29は、ビューの1つ又は複数のSEIメッセージから情報を得るために、3VCスケーラビリティ情報SEIメッセージボックス166のような、SEIメッセージボックスを構文解析することができる。
[0234]トラックが深度ビューを含む第1のトラックである例では、プロセスは更に、ビデオデータの第2のトラックを構文解析することを含んでよく、第2のトラックは深度ビューに対応するテクスチャビューを含み、テクスチャビューは第1のトラックには含まれない。プロセスは更に、第2のトラックを参照する第1のトラックに対するトラック参照を構文解析することを含んでよく、トラック参照は、第2のトラックに記憶されないテクスチャビューと関連付けられる深度ビューを第1のトラックが含む(例えば、トラック参照タイプが「deps」である)ことと、1つ又は複数のビュー第1のトラックが第2のトラックに記憶されるテクスチャビューに依存する(例えば、トラック参照タイプが「tref」である)ことと、1つ又は複数のビュー第1のトラックが第2のトラックに記憶される深度ビューに依存する(例えば、トラック参照タイプが「dref」である)こととの1つを示す、少なくとも1つのトラック参照タイプを含む。
[0235]ビデオデータを処理する他の例示的なプロセスは、深度ビューを復号することと、深度ビューと関連付けられる空間分解能を復号することとを含んでよく、空間分解能を復号することは、深度ビューのシーケンスパラメータセットの構文解析を必要としない。別の例では、ビデオデータを処理するプロセスは、深度ビューの空間分解能を示すために深度分解能ボックスを復号することを含む。更に別の例では、ビデオデータを処理するプロセスは、構成ボックスを復号することを含み、深度分解能ボックスは構成ボックスに含まれる。ビデオデータを処理する更なる例示的なプロセスは、サンプルエントリーから直接3VCDepthResolutionBoxを復号することを含む。更に別の例では、ビデオデータを処理するプロセスは、3VCデコーダ構成記録から深度ビューの幅と高さとを復号することを含み、3VCは3次元ビデオコード化を表す。これらの例示的なプロセスのいずれもが、本明細書で説明される技法の任意のサブセットを含み得る。
[0236]図13は、本開示で説明される技法による、深度ビューの空間分解能を示すためにマルチビュービデオコンテンツを含むメディアファイルを合成する例示的な方法を示すフローチャートである。図13で説明されるプロセスは、本明細書で説明されるカプセル化モジュール21を含むビデオコード化機器によって実行され得る。ビデオコード化機器は、ビデオデータのトラックを合成することができ、トラックは、少なくとも1つの深度ビューを含む1つ又は複数のビューを含む(246)。例えば、カプセル化モジュール21は、ビデオエンコーダ21からビデオデータを取得することができる。ビデオコード化機器は、深度ビューと関連付けられる空間分解能を示すために情報を合成することができ、空間分解能を復号することは、深度ビューのシーケンスパラメータセットの構文解析を必要としない(248)。カプセル化モジュール21は、本明細書で説明される技法に従って、深度を伴うマルチビューメディアファイル142のような、複数のコード化されたビュープラス深度を含むメディアファイルを合成することができる。例えば、カプセル化モジュール21は、深度を伴うマルチビューメディアファイル142に含まれるトラック中の深度ビューの空間分解能を示すために、深度を伴うマルチビューメディアファイル142へと情報を合成することができる。
[0237]幾つかの例では、情報を合成することは更に、3VC構成ボックス中の3VC深度分解能ボックスと、サンプルエントリー中の直接の3VC深度分解能ボックスとの少なくとも1つにおいて、空間分解能を合成することを備える。即ち、幾つかの例では、3VC深度分解能ボックス170のような3VC深度分解能ボックスは、3VC構成ボックス168のような3VC構成ボックスに記憶されるが、他の例では、3VC深度分解能ボックス170はサンプルエントリーに直接記憶される。プロセスは更に、3VC構成ボックスにおいて3VCデコーダ構成記録を合成することを備え、3VC構成ボックスは、エクストラクタを許容するタイプ「3vc1」のサンプルエントリーと、エクストラクタを許容しないサンプルエントリータイプ「3vc2」との少なくとも1つに含まれる。
[0238]幾つかの例では、カプセル化モジュール21はまた、深度ビューの幅と高さとを示すために、3VCデコーダ構成記録を合成することができる。3VCDecoderConfigurationRecordは、MVC+Dビデオストリームのような、3DVビデオストリームに関する特性を示すセマンティクスを含み得る。
[0239]幾つかの例では、情報を合成することは更に、トラック中の1つ又は複数のビューの少なくとも1つを復号するために参照ビューのテクスチャビューが必要とされるか、又は深度ビューを必要とされるかということと、トラックが深度ビューのみを含むか、又はテクスチャビューと深度ビューとを含むかということと、トラックに含まれる各ビューに対して、ビューがテクスチャビューを含むか、又は深度ビューを含むかということとの少なくとも1つを示すために、サンプルエントリーとマルチビューグループエントリーの少なくとも1つからビュー識別子ボックスを合成することを備え、サンプルエントリーとマルチビューグループエントリーの少なくとも1つはトラックと関連付けられる。例えば、カプセル化モジュール21は、トラックに含まれる各ビューに対して、ビューがテクスチャビューか深度ビューかを示すために、ビュー識別子ボックス172において情報を合成することができる。ビデオデコーダ30は更に、参照ビューのテクスチャビュー又は深度ビューがトラック中の特定のビューを復号するために必要とされるかどうかを示すために、ビュー識別子ボックス172を合成することができる。
[0240]ビデオデータがビデオデータの第1のセットであり、トラックが更に少なくとも1つのテクスチャビューを含む例では、カプセル化モジュール21は更に、ビデオデータの第1のセットに基づいてビデオデータの第2のセットを合成することができ、情報を構文解析することは、ビデオデータの第2のセットを復号するためにビデオデータの第1のセットの第1のテクスチャビューが使用されるか、第1の深度ビューが使用されるか、又は第1のテクスチャビューと第1の深度ビューの両方が使用されるかを示すために、情報を合成することを備える。
[0241]別の例では、プロセスは、ビューの1つ又は複数と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを示すために、SEIメッセージボックスを合成することを含む。即ち、カプセル化モジュール21は、ビューの1つ又は複数のSEIメッセージからの情報を記憶するために、3VCスケーラビリティ情報SEIメッセージボックス166のような、SEIメッセージボックスを合成することができる。
[0242]トラックが第1のトラックである例では、プロセスは更に、ビデオデータの第2のトラックを合成することを含んでよく、第2のトラックは深度ビューに対応するテクスチャビューを含み、テクスチャビューは第1のトラックには含まれない。プロセスは更に、第2のトラックを参照する第1のトラックに対するトラック参照を合成することを含んでよく、トラック参照は、第2のトラックに記憶されないテクスチャビューと関連付けられる深度ビューを第1のトラックが含む(例えば、トラック参照タイプが「deps」である)ことと、1つ又は複数のビュー第1のトラックが第2のトラックに記憶されるテクスチャビューに依存する(例えば、トラック参照タイプが「tref」である)ことと、1つ又は複数のビュー第1のトラックが第2のトラックに記憶される深度ビューに依存する(例えば、トラック参照タイプが「dref」である)こととの1つを示す、少なくとも1つのトラック参照タイプを含む。
[0243]ビデオデータを処理する1つの例示的なプロセスは、深度ビューを符号化することと、深度ビューと関連付けられる空間分解能を符号化することとを含んでよく、空間分解能を符号化することは、深度ビューのシーケンスパラメータセットの構文解析が空間分解能を決定するために使用されないように、起きる。別の例では、ビデオデータを処理するプロセスは、深度ビューの空間分解能を示すために深度分解能ボックスを符号化することを含む。更に別の例では、ビデオデータを処理するプロセスは、構成ボックスを符号化することを含み、深度分解能ボックスは構成ボックスに含まれる。ビデオデータを処理する更に例示的なプロセスは、サンプルエントリーへと直接3VCDepthResolutionBoxを符号化することを含む。更に別の例では、ビデオデータを処理するプロセスは、3VCデコーダ構成記録において深度ビューの幅と高さとを符号化することを含み、3VCは3次元ビデオコード化を表す。これらの例示的なプロセスのいずれもが、本明細書で説明される技法の任意のサブセットを含み得る。
[0244]図14は、本開示で説明される技法による、特定のビューのテクスチャビュー及び深度ビューが別々のトラックに記憶される、マルチビュービデオを含むメディアファイルを構文解析する例示的な方法を示すフローチャートである。図14で説明されるプロセスは、本明細書で説明される逆カプセル化モジュール29を含むビデオコード化機器によって実行され得る。ビデオコード化機器は、ビデオデータのトラックを構文解析することができ、トラックは、特定のビューのテクスチャビューと特定のビューの深度ビューの1つのみを含む、1つ又は複数のビューを含む(260)。例えば、逆カプセル化モジュール29は、別々のトラックに記憶されている特定のビューのテクスチャビューと特定のビューの深度ビューとを含む、発信源機器12からの深度を伴うマルチビューメディアファイル142のようなメディアファイルを構文解析することができる。
[0245]ビデオコード化機器は、トラック参照で示される参照されたトラックに対するトラックの依存関係を決定するために、そのトラック参照を構文解析することができる(262)。例えば、逆カプセル化モジュール29は、トラックが特定のビューの深度ビューを含むことと、参照トラックが特定のビューのテクスチャビューを含むこととを示す、トラック参照タイプ「deps」を構文解析することができる。別の例では、逆カプセル化モジュール29は、参照されたトラックに記憶される特定のビューのテクスチャビューにトラックが依存することを示す、トラック参照タイプ「tref」を構文解析することができる。更に別の例では、逆カプセル化モジュール29は、参照されたトラックに記憶される特定のビューの深度ビューにトラックが依存することを示す、トラック参照タイプ「dref」を構文解析することができる。
[0246]幾つかの例では、方法は更に、トラック中の各ビューに対して、ビューがテクスチャビューか深度ビューかを決定するために、サンプルエントリーとマルチビューグループエントリーの少なくとも1つからのビュー識別子ボックスを構文解析することを含んでよく、サンプルエントリーとマルチビューグループエントリーの少なくとも1つはトラックと関連付けられる。別の例では、ビュー識別子ボックスは、参照ビューのテクスチャビュー又は深度ビューがトラック中の特定のビューを復号するために必要とされるかどうかを決定するために構文解析され得る。
[0247]別の例では、プロセスは、ビューの1つ又は複数と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを決定するために、SEIメッセージボックスを構文解析することを含む。トラックが特定のビューの深度ビューを含む例では、方法は更に、特定のビューの空間分解能深度ビューを決定するために、3VC深度分解能ボックスを構文解析することを含み得る。トラックが特定のビューの深度ビューを含む別の例では、方法は、特定のビューの深度ビューの幅と高さとを決定するために、3次元ビデオコード化(3VC)デコーダ構成記録を構文解析することを備える。
[0248]トラックが3次元ビデオコード化(3VC)トラックである更に別の例では、方法は更に、3VCデコーダ構成記録を構文解析することを含んでよく、3VCデコーダ構成記録は、ビデオデータの一致するサンプルエントリーに対する構成記録を示す。
[0249]ビデオデータを処理する別の例示的な方法では、方法は、参照されたトラックに記憶されているテクスチャビューにトラックが依存することを決定するために、トラックに対してタイプ値「tref」を復号することを含む。ビデオデータを処理する別の例示的な方法では、方法は、参照されたトラックに記憶されている深度ビューにトラックが依存することを決定するために、トラックに対してタイプ値「dref」を復号することを含む。更なる例では、本明細書で説明されるプロセスのいずれもが、本開示で説明される技法の1つ又は複数を含み得る。
[0250]図15は、本開示で説明される技法による、特定のビューのテクスチャビュー及び深度ビューが別々のトラックに記憶される、マルチビュービデオコンテンツを含むメディアファイルを合成する例示的な方法を示すフローチャートである。図15で説明されるプロセスは、本明細書で説明されるカプセル化モジュール21を含むビデオコード化機器によって実行され得る。ビデオコード化機器メイビデオデータのトラック、トラックは、特定のビューのテクスチャビューと特定のビューの深度ビューの1つのみを含む、1つ又は複数のビューを含む(266)。例えば、カプセル化モジュール21は、別々のトラックに記憶されている特定のビューのテクスチャビューと特定のビューの深度ビューとを含む、深度を伴うマルチビューメディアファイル142のようなメディアファイルを合成することができる。
[0251]ビデオコード化機器は、トラック参照で示される参照されたトラックに対するトラックの依存関係を示すために、トラックトラック参照を合成することができる(266)。例えば、カプセル化モジュール21は、トラックが特定のビューの深度ビューを含むことと、参照トラックが特定のビューのテクスチャビューを含むこととを示す、トラック参照タイプ「deps」を合成することができる。別の例では、カプセル化モジュール21は、参照されたトラックに記憶される特定のビューのテクスチャビューにトラックが依存することを示す、トラック参照タイプ「tref」を合成することができる。更に別の例では、カプセル化モジュール21は、参照されたトラックに記憶される特定のビューの深度ビューにトラックが依存することを示す、トラック参照タイプ「dref」を合成することができる。
[0252]幾つかの例では、方法は更に、トラック中の各ビューに対して、ビューがテクスチャビューか深度ビューかを示すために、サンプルエントリーとマルチビューグループエントリーの少なくとも1つからのビュー識別子ボックスを合成することを含んでよく、サンプルエントリーとマルチビューグループエントリーの少なくとも1つはトラックと関連付けられる。別の例では、ビュー識別子ボックスは、参照ビューのテクスチャビュー又は深度ビューがトラック中の特定のビューを復号するために必要とされるかどうかを示すために合成され得る。
[0253]別の例では、プロセスは、ビューの1つ又は複数と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを示すために、SEIメッセージボックスを合成することを含む。トラックが特定のビューの深度ビューを含む例では、方法は更に、特定のビューの深度ビューの空間分解能を示すために、3VC深度分解能ボックスを合成することを含み得る。トラックが特定のビューの深度ビューを含む別の例では、方法は、特定のビューの深度ビューの幅と高さとを示すために、3次元ビデオコード化(3VC)デコーダ構成記録を合成することを含む。
[0254]トラックが3次元ビデオコード化(3VC)トラックである更に別の例では、方法は更に、3VCデコーダ構成記録を合成することを含んでよく、3VCデコーダ構成記録は、ビデオデータの一致するサンプルエントリーに対する構成記録を示す。
[0255]ビデオデータを処理する別の例示的な方法では、方法は、特定のビューのテクスチャビューと深度ビューとを別々のトラックに記憶することを含む。ビデオデータを処理する別の例示的な方法では、方法は、参照されたトラックに記憶されているテクスチャビューにトラックが依存することを示すために、トラックに対してタイプ値「tref」を符号化することを含む。ビデオデータを処理する別の例示的な方法では、方法は、参照されたトラックに記憶されている深度ビューにトラックが依存することを示すために、トラックに対してタイプ値「dref」を符号化することを含む。更なる例では、本明細書で説明されるプロセスのいずれもが、本開示で説明される技法の1つ又は複数を含み得る。
[0256]別の例では、ビデオデータを処理する方法は、デコーダ構成記録を復号することを含み、デコーダ構成記録は、「MVCDecoderConfigurationRecord」と同じシンタックス構造を含み、3VCビデオストリームに関する特性を示すために「MVCDecoderConfigurationRecord」とは少なくとも一部異なるセマンティクスを含む、「3VCDecoderConfigurationRecord」として定義される。
[0257]更に別の例では、ビデオデータを処理する方法は、深度NAL単位のみを伴う3VCトラックに対するサンプルエントリータイプを復号することを含み、エントリータイプは、エクストラクタが許容されない第1のタイプとエクストラクタが許容される第2のタイプとを含むグループから、選択される。
[0258]別の例では、ビデオデータを処理する方法は、1)AVC NAL単位と、MVC NAL単位と、深度NAL単位とを伴う3VCトラックに対する、AVC構成と、MVC構成と、3VC構成とを含むサンプルエントリータイプ「avc1」と、2)AVC NAL単位を伴わないがMVC NAL単位と深度NAL単位とを伴う3VCトラックに対する、エクストラクタが許容されない、MVC構成と3VC構成とを含むサンプルエントリータイプ「mvc1」と、3)AVC NAL単位を伴わないがMVC NAL単位と深度NAL単位とを伴う3VCトラックに対する、エクストラクタが許容される、MVC構成と3VC構成とを含むサンプルエントリータイプ「mvc2」とを含む、サンプルエントリータイプのグループからのあるサンプルエントリータイプを復号することを含む。
[0259]別の例では、ビデオデータを処理する方法は、マルチビューグループボックスで示される3VC動作点が存在するかどうか、マルチビューグループボックスで示される動作点が3VC又はMVCかどうか、及び、マルチビューグループボックスで示される出力ビューがテクスチャのみを含むか、深度のみを含むか、又は両方を含むかの少なくとも1つを示すための、属性を復号することを含む。
[0260]更なる例では、ビデオデータを処理する方法は、MVC+Dコーデック規格で定義される3次元スケーラビリティ情報SEIメッセージを含むSEIメッセージボックスを復号することを含む。別の例では、ビデオデータを処理する方法は、3次元ビデオコード化(3VC)ビデオストリームを含むファイルに対して、「/0123VC Coding」というコンプレッサ名の値を復号することを含む。
[0261]別の例では、ビデオデータを処理する方法は、デコーダ構成記録を符号化することを含み、デコーダ構成記録は、「MVCDecoderConfigurationRecord」と同じシンタックス構造を含み、3次元ビデオコード化(3VC)ビデオストリームに関する特性を示すために「MVCDecoderConfigurationRecord」とは少なくとも一部異なるセマンティクスを含む、「3VCDecoderConfigurationRecord」として定義される。更に別の例では、ビデオデータを処理する方法は、深度NAL単位のみを伴う3VCトラックに対するサンプルエントリータイプを符号化することを含み、エントリータイプは、エクストラクタが許容されない第1のタイプとエクストラクタが許容される第2のタイプとを含むグループから選択され、NALはネットワーク抽象化レイヤを表し、3VCは3次元ビデオコード化を表す。
[0262]更に別の例では、ビデオデータを処理する方法は、1)AVC NAL単位と、MVC NAL単位と、深度NAL単位とを伴う3VCトラックに対する、AVC構成と、MVC構成と、3VC構成とを含むサンプルエントリータイプ「avc1」と、2)AVC NAL単位を伴わないがMVC NAL単位と深度NAL単位とを伴う3VCトラックに対する、エクストラクタが許容されない、MVC構成と3VC構成とを含むサンプルエントリータイプ「mvc1」と、3)AVC NAL単位を伴わないがMVC NAL単位と深度NAL単位とを伴う3VCトラックに対する、エクストラクタが許容される、MVC構成と3VC構成とを含むサンプルエントリータイプ「mvc2」とを含む、サンプルエントリータイプのグループからのあるサンプルエントリータイプを符号化することを含む。
[0263]別の例では、ビデオデータを処理する方法は、マルチビューグループボックスで示される3VC動作点が存在するかどうか、マルチビューグループボックスで示される動作点が3VC又はMVCかどうか、及び、マルチビューグループボックスで示される出力ビューがテクスチャのみを含むか、深度のみを含むか、又は両方を含むかの少なくとも1つを示すための、属性を符号化することを含む。幾つかの例では、属性は、一般的な属性又は差別化する属性の1つである。
[0264]別の例では、ビデオデータを処理する方法は、マルチビューコード化プラス深度(MVC+D)コーデック規格で定義される3次元スケーラビリティ情報補足強化情報(SEI)メッセージを含むSEIメッセージボックスを符号化することを含む。別の例では、ビデオデータを処理する方法は、3次元ビデオコード化(3VC)ビデオストリームを含むファイルに対して、「/0123VC Coding」というコンプレッサ名の値を符号化することを含む。
[0265]本開示は、その内容全体が参照によって本明細書に組み込まれる、MPEGアウトプット文書W13036における14496−15の最新の統合された規格に基づく、次の添付書類を含む。次の添付書類において、変更されない部分は一般に示されないが、添付書類の中で「[元の文書を参照されたい]」という記述によって置き換えられる。MPEGアウトプット文書W13036における14496−15の元の規格は、ISO/IECが著作権を有する。
[0266]本開示の技法は、ルーティング機器104及びトランスコード化機器106のようなネットワーク機器によって実施され得るが、クライアント機器108によっても実施され得る。このように、ルーティング機器104、トランスコード化機器106、及びクライアント機器108は、本開示の特許請求の範囲の部分に記載される技法を含めて、本開示の技法を実行するように構成された機器の例を表す。その上、図1の機器、及び図2に示されたエンコーダ及び図3に示されたデコーダも、本開示の特許請求の範囲の部分に記載される技法を含めて、本開示の技法を実行するように構成され得る例示的な機器である。
[0267]1つ又は複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実現され得る。ソフトウェアで実装される場合、機能は、1つもしくは複数の命令もしくはコードとしてコンピュータ可読媒体上に記憶され、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体のような有形媒体、又は、例えば通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体に対応する、コンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、又は、(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法を実装するための命令、コード及び/又はデータ構造を取り出すために、1つもしくは複数のコンピュータ、又は1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
[0268]更に他の例では、本開示は、その上に記憶されたデータ構造を備えるコンピュータ可読媒体を企図し、データ構造は、本開示に従ってコード化された符号化されたビットストリームを含み、備える。
[0269]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROM又は他の光ディスクストレージ、磁気ディスクストレージ、又は他の磁気ストレージ機器、フラッシュメモリ、若しくは、命令又はデータ構造の形態の所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモート発信源から送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)及びディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)及びブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
[0270]命令は、1つもしくは複数のデジタル信号プロセッサ(DSP)のような1つもしくは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、又は他の等価な集積回路もしくはディスクリート論理回路によって実行され得る。従って、本明細書で使用される「プロセッサ」という用語は、前述の構造、又は本明細書で説明された技法の実施に適した任意の他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明された機能は、符号化及び復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内で提供され、又は複合コーデックに組み込まれ得る。また、本技法は、1つ又は複数の回路又は論理要素中で完全に実施され得る。
[0271]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、又はICのセット(例えば、チップセット)を含む、多種多様な機器又は装置において実施され得る。本開示では、開示される技法を実行するように構成された機器の機能的態様を強調するために、様々なコンポーネント、モジュール、又はユニットが説明されたが、それらのコンポーネント、モジュール、又はユニットは、必ずしも異なるハードウェアユニットによる実現を必要としない。むしろ、上で説明されたように、適切なソフトウェア及び/又はファームウェアとともに、様々なユニットは、コーデックハードウェアユニットにおいて組み合わせられてよく、又は上で説明されたような1つ又は複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合体よって設けられてよい。
[0272]様々な例が説明されてきた。これら例及び他の例は、以下の特許請求の範囲内にある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを処理する方法であって、
マルチビュービデオデータのトラックを解析することと、ここにおいて、前記トラックは少なくとも1つの深度ビューを含む、
前記深度ビューと関連付けられる空間分解能を決定するために情報を解析することとを備え、前記空間分解能を復号することが、前記深度ビューのシーケンスパラメータセットの解析を必要としない、方法。
[C2]
情報を解析することが更に、3VC構成ボックスと、サンプルエントリーから直接との少なくとも1つからの、3VC深度分解能ボックスから前記空間分解能を解析することを備える、C1に記載の方法。
[C3]
前記3VC構成ボックスからの3VCデコーダ構成記録を解析することを更に備え、前記3VC構成ボックスが、エクストラクタを許容するタイプ「3vc1」のサンプルエントリーと、エクストラクタを許容しないサンプルエントリータイプ「3vc2」との少なくとも1つに含まれる、C1に記載の方法。
[C4]
前記トラック中の前記1つ以上のビューの少なくとも1つを復号するために参照ビューのテクスチャビューが必要とされるか、又は深度ビューが必要とされるかということと、前記トラックが深度ビューのみを含むか、又はテクスチャビューと深度ビューとを含むかということと、前記トラックに含まれる各ビューに対して、前記ビューがテクスチャビューであるか、又は深度ビューであるかということとの少なくとも1つを決定するために、サンプルエントリーとマルチビューグループエントリーの少なくとも1つからのビュー識別子ボックスを解析することを更に備え、前記サンプルエントリーと前記マルチビューグループエントリーの前記少なくとも1つが前記トラックと関連付けられる、C1に記載の方法。
[C5]
前記マルチビュービデオデータが、マルチビュービデオデータの第1のセットであり、前記トラックが更に、少なくとも1つのテクスチャビューを含み、
マルチビュービデオデータの前記第1のセットに基づいて、マルチビュービデオデータの第2のセットを解析することを更に備え、情報を解析することが、マルチビュービデオデータの前記第2のセットを復号するためにマルチビュービデオデータの前記第1のセットの前記第1のテクスチャビューが必要とされるか、前記第1の深度ビューが必要とされるか、又は前記第1のテクスチャビューと前記第1の深度ビューの両方が必要とされるかを決定するために、情報を解析することを備える、C1に記載の方法。
[C6]
前記ビューの1つ以上と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを決定するために、SEIメッセージボックスを解析することを更に備える、C1に記載の方法。
[C7]
前記深度ビューの幅と高さとを決定するために、3次元ビデオコード化(3VC)デコーダ構成記録を解析することを更に備える、C1に記載の方法。
[C8]
前記トラックが第1のトラックであり、
マルチビュービデオデータの第2のトラックを解析することを更に備え、前記第2のトラックが前記深度ビューに対応するテクスチャビューを含み、前記テクスチャビューが前記第1のトラックに含まれない、C1に記載の方法。
[C9]
ビデオデータを記憶するように構成されるメモリと、
マルチビュービデオデータのトラックを解析し、ここにおいて、前記トラックは少なくとも1つの深度ビューを含む1つ以上のビューを含む、
前記深度ビューと関連付けられる空間分解能を決定するために情報を解析する
ように構成される1つ以上のプロセッサとを備え、前記空間分解能を復号することが、前記深度ビューのシーケンスパラメータセットの解析を必要としない、装置。
[C10]
情報を解析するが更に、3VC構成ボックスと、サンプルエントリーから直接との少なくとも1つからの、3VC深度分解能ボックスから前記空間分解能を解析することを備える、C9に記載の装置。
[C11]
前記3VC構成ボックスからの3VCデコーダ構成記録を解析するように更に構成され、前記3VC構成ボックスが、エクストラクタを許容するタイプ「3vc1」のサンプルエントリーと、エクストラクタを許容しないサンプルエントリータイプ「3vc2」との少なくとも1つに含まれる、C9に記載の装置。
[C12]
前記トラック中の前記1つ以上のビューの少なくとも1つを復号するために参照ビューのテクスチャビューが必要とされるか、又は深度ビューが必要とされるかということと、前記トラックが深度ビューのみを含むか、又はテクスチャビューと深度ビューとを含むかということと、前記トラックに含まれる各ビューに対して、前記ビューがテクスチャビューであるか、又は深度ビューであるかということとの少なくとも1つを決定するために、サンプルエントリーとマルチビューグループエントリーの少なくとも1つからのビュー識別子ボックスを解析するように更に構成され、前記サンプルエントリーと前記マルチビューグループエントリーの前記少なくとも1つが前記トラックと関連付けられる、C9に記載の装置。
[C13]
前記マルチビュービデオデータが、マルチビュービデオデータの第1のセットであり、前記トラックが更に、少なくとも1つのテクスチャビューを含み、
マルチビュービデオデータの前記第1のセットに基づいて、マルチビュービデオデータの第2のセットを解析するように更に構成され、情報を解析することが、マルチビュービデオデータの前記第2のセットを復号するためにマルチビュービデオデータの前記第1のセットの前記第1のテクスチャビューが必要とされるか、前記第1の深度ビューが必要とされるか、又は前記第1のテクスチャビューと前記第1の深度ビューの両方が必要とされるかを決定するために、情報を解析することを備える、C9に記載の装置。
[C14]
前記ビューの1つ以上と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを決定するために、SEIメッセージボックスを解析するように更に構成される、C9に記載の装置。
[C15]
前記深度ビューの幅と高さとを決定するために、3次元ビデオコード化(3VC)デコーダ構成記録を解析するように更に構成される、C9に記載の装置。
[C16]
前記トラックが第1のトラックであり、
マルチビュービデオデータの第2のトラックを解析するように更に構成され、前記第2のトラックが前記深度ビューに対応するテクスチャビューを含み、前記テクスチャビューが前記第1のトラックに含まれない、C9に記載の装置。
[C17]
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令が、実行されると、ビデオコード化装置の1つ以上のプロセッサに、
マルチビュービデオデータのトラックを解析させ、ここにおいて、前記トラックは少なくとも1つの深度ビューを含む1つ以上のビューを含む、
前記深度ビューと関連付けられる空間分解能を決定するために情報を解析させ、前記空間分解能を復号することが、前記深度ビューのシーケンスパラメータセットの解析を必要としない、非一時的コンピュータ可読記憶媒体。
[C18]
情報を解析するが更に、3VC構成ボックスと、サンプルエントリーから直接との少なくとも1つからの、3VC深度分解能ボックスから前記空間分解能を解析するを備える、C17に記載の非一時的コンピュータ可読記憶媒体。
[C19]
記憶された前記命令が更に、前記ビデオコード化装置の前記1つ以上のプロセッサに、
前記3VC構成ボックスからの3VCデコーダ構成記録を解析させ、前記3VC構成ボックスが、エクストラクタを許容するタイプ「3vc1」のサンプルエントリーと、エクストラクタを許容しないサンプルエントリータイプ「3vc2」との少なくとも1つに含まれる、C17に記載の非一時的コンピュータ可読記憶媒体。
[C20]
コード化されたビデオコンテンツを含むビデオファイルを解析するように構成される装置であって、
マルチビュービデオデータのトラックを解析するための手段と、ここにおいて、前記トラックは少なくとも1つの深度ビューを含む1つ以上のビューを含む、
前記深度ビューと関連付けられる空間分解能を決定するために情報を解析するための手段とを備え、前記空間分解能を復号することが、前記深度ビューのシーケンスパラメータセットの解析を必要としない、装置。
[C21]
情報を解析するための手段が更に、3VC構成ボックスと、サンプルエントリーから直接との少なくとも1つからの、3VC深度分解能ボックスから前記空間分解能を解析するための手段を備える、C20に記載の装置。
[C22]
前記3VC構成ボックスからの3VCデコーダ構成記録を解析するための手段を更に備え、前記3VC構成ボックスが、エクストラクタを許容するタイプ「3vc1」のサンプルエントリーと、エクストラクタを許容しないサンプルエントリータイプ「3vc2」との少なくとも1つに含まれる、C20に記載の装置。
[C23]
ビデオデータを処理する方法であって、
マルチビュービデオデータのトラックを合成することと、ここにおいて、前記トラックは1つ以上のビューを含む、
深度ビューと関連付けられる空間分解能を示すために情報を合成することとを備え、前記空間分解能を復号することが、前記深度ビューのシーケンスパラメータセットの解析を必要としない、方法。
[C24]
情報を合成することが更に、3VC構成ボックスと、サンプルエントリーにおいて直接との少なくとも1つにおける、3VC深度分解能ボックスにおいて前記空間分解能を合成することを備える、C23に記載の方法。
[C25]
前記3VC構成ボックスへと3VCデコーダ構成記録を合成することを更に備え、前記3VC構成ボックスが、エクストラクタを許容するタイプ「3vc1」のサンプルエントリーと、エクストラクタを許容しないサンプルエントリータイプ「3vc2」との少なくとも1つに含まれる、C23に記載の方法。
[C26]
前記トラック中の前記1つ以上のビューの少なくとも1つを復号するために参照ビューのテクスチャビューが必要とされるか、又は深度ビューが必要とされるかということと、前記トラックが深度ビューのみを含むか、又はテクスチャビューと深度ビューとを含むかということと、前記トラックに含まれる各ビューに対して、前記ビューがテクスチャビューであるか、又は深度ビューであるかということとの少なくとも1つを示すために、サンプルエントリーとマルチビューグループエントリーの少なくとも1つからのビュー識別子ボックスを合成することを更に備え、前記サンプルエントリーと前記マルチビューグループエントリーの前記少なくとも1つが前記トラックと関連付けられる、C23に記載の方法。
[C27]
前記マルチビュービデオデータが、マルチビュービデオデータの第1のセットであり、前記トラックが更に、少なくとも1つのテクスチャビューを含み、
マルチビュービデオデータの前記第1のセットに基づいて、マルチビュービデオデータの第2のセットを合成することを更に備え、情報を合成することが更に、マルチビュービデオデータの前記第2のセットを復号するためにマルチビュービデオデータの前記第1のセットの前記第1のテクスチャビューが必要とされるか、前記第1の深度ビューが必要とされるか、又は前記第1のテクスチャビューと前記第1の深度ビューの両方が必要とされるかを示すために、情報を合成することを備える、C23に記載の方法。
[C28]
前記ビューの1つ以上と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを示すために、SEIメッセージボックスを合成することを更に備える、C23に記載の方法。
[C29]
前記深度ビューの幅と高さとを示すために、3次元ビデオコード化(3VC)デコーダ構成記録を合成することを更に備える、C23に記載の方法。
[C30]
前記トラックが第1のトラックであり、
マルチビュービデオデータの第2のトラックを合成することを更に備え、前記第2のトラックが前記深度ビューに対応するテクスチャビューを含み、前記テクスチャビューが前記第1のトラックに含まれない、C23に記載の方法。
[C31]
ビデオデータを記憶するように構成されるメモリと、
マルチビュービデオデータのトラックを合成し、ここにおいて、前記トラックは少なくとも1つの深度ビューを含む1つ以上のビューを含む、
前記深度ビューと関連付けられる空間分解能を示すために情報を合成する
ように構成される1つ以上のプロセッサとを備え、前記空間分解能を復号することが、前記深度ビューのシーケンスパラメータセットの解析を必要としない、装置。
[C32]
情報を解析するが更に、3VC構成ボックスと、サンプルエントリーにおいて直接との少なくとも1つにおける、3VC深度分解能ボックスにおいて前記空間分解能を合成するを備える、C31に記載の装置。
[C33]
前記3VC構成ボックスへと3VCデコーダ構成記録を合成するように更に構成され、前記3VC構成ボックスが、エクストラクタを許容するタイプ「3vc1」のサンプルエントリーと、エクストラクタを許容しないサンプルエントリータイプ「3vc2」との少なくとも1つに含まれる、C31に記載の装置。
[C34]
前記トラック中の前記1つ以上のビューの少なくとも1つを復号するために参照ビューのテクスチャビューが必要とされるか、又は深度ビューが必要とされるかということと、前記トラックが深度ビューのみを含むか、又はテクスチャビューと深度ビューとを含むかということと、前記トラックに含まれる各ビューに対して、前記ビューがテクスチャビューであるか、又は深度ビューであるかということとの少なくとも1つを示すために、サンプルエントリーとマルチビューグループエントリーの少なくとも1つからのビュー識別子ボックスを合成するように更に構成され、前記サンプルエントリーと前記マルチビューグループエントリーの前記少なくとも1つが前記トラックと関連付けられる、C31に記載の装置。
[C35]
前記マルチビュービデオデータが、マルチビュービデオデータの第1のセットであり、前記トラックが更に、少なくとも1つのテクスチャビューを含み、
マルチビュービデオデータの前記第1のセットに基づいて、マルチビュービデオデータの第2のセットを合成するように更に構成され、情報を合成することが更に、マルチビュービデオデータの前記第2のセットを復号するためにマルチビュービデオデータの前記第1のセットの前記第1のテクスチャビューが必要とされるか、前記第1の深度ビューが必要とされるか、又は前記第1のテクスチャビューと前記第1の深度ビューの両方が必要とされるかを示すために、情報を合成することを備える、C31に記載の装置。
[C36]
前記ビューの1つ以上と関連付けられる3次元スケーラビリティ情報補足強化情報(SEI)メッセージを示すために、SEIメッセージボックスを合成するように更に構成される、C31に記載の装置。
[C37]
前記深度ビューの幅と高さとを示すために、3次元ビデオコード化(3VC)デコーダ構成記録を合成するように更に構成される、C31に記載の装置。
[C38]
前記トラックが第1のトラックであり、
マルチビュービデオデータの第2のトラックを合成するように更に構成され、前記第2のトラックが前記深度ビューに対応するテクスチャビューを含み、前記テクスチャビューが前記第1のトラックに含まれない、C31に記載の装置。
[C39]
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令が、実行されると、ビデオコード化装置の1つ以上のプロセッサに、
マルチビュービデオデータのトラックを合成させ、ここにおいて、前記トラックは少なくとも1つの深度ビューを含む1つ以上のビューを含む、
深度ビューと関連付けられる空間分解能を示すために情報を合成させ、前記空間分解能を復号することが、前記深度ビューのシーケンスパラメータセットの解析を必要としない、非一時的コンピュータ可読記憶媒体。
[C40]
情報を合成するが更に、3VC構成ボックスと、サンプルエントリーにおいて直接との少なくとも1つにおける、3VC深度分解能ボックスにおいて前記空間分解能を合成するを備える、C39に記載の非一時的コンピュータ可読記憶媒体。
[C41]
記憶された前記命令が更に、前記ビデオコード化装置の前記1つ以上のプロセッサに、
前記3VC構成ボックスへと3VCデコーダ構成記録を合成させ、前記3VC構成ボックスが、エクストラクタを許容するタイプ「3vc1」のサンプルエントリーと、エクストラクタを許容しないサンプルエントリータイプ「3vc2」との少なくとも1つに含まれる、C39に記載の非一時的コンピュータ可読記憶媒体。
[C42]
コード化されたビデオコンテンツを含むビデオファイルを解析するように構成される装置であって、
マルチビュービデオデータのトラックを合成するための手段と、ここにおいて、前記トラックは少なくとも1つの深度ビューを含む1つ以上のビューを含む、
前記深度ビューと関連付けられる空間分解能を示すために情報を合成するための手段とを備え、前記空間分解能を復号することが、前記深度ビューのシーケンスパラメータセットの解析を必要としない、装置。
[C43]
情報を合成するための手段が更に、3VC構成ボックスと、サンプルエントリーにおいて直接との少なくとも1つにおける、3VC深度分解能ボックスにおいて前記空間分解能を合成するための手段を備える、C42に記載の装置。
[C44]
前記3VC構成ボックスへと3VCデコーダ構成記録を合成するための手段を更に備え、前記3VC構成ボックスが、エクストラクタを許容するタイプ「3vc1」のサンプルエントリーと、エクストラクタを許容しないサンプルエントリータイプ「3vc2」との少なくとも1つに含まれる、C42に記載の装置。