(57)【要約】  デバイスは、ビデオコンテンツを記憶するためのファイルのコンテナボックス内で、サンプルグルーピングに対するサンプルグループ説明を与えるSampleGroupDescriptionボックスを生成する。SampleGroupDescriptionボックスは、特定の値を有するグルーピングタイプシンタックス要素を含む。それに加えて、SampleGroupDescriptionボックスは、1つまたは複数のサンプルグループエントリを含む。デバイスは、同じコンテナボックス内で、複数のSampleToGroupボックスを生成する。複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは、特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、それぞれのサンプルグルーピング内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、それぞれのサンプルグルーピングのサンプルを説明するSampleGroupDescriptionボックス内のエントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含む。それぞれのサンプルグルーピングの各サンプルは、ビデオコンテンツのそれぞれのピクチャを含む。
2018510546.tif 000002
【特許請求の範囲】
【請求項１】
ビデオコンテンツを記憶するためのファイルを生成する方法であって、
前記ファイルが特定のファイルフォーマットに従うように前記ファイルのコンテナボックスを生成するステップであって、前記コンテナボックスを生成するステップは、
前記コンテナボックス内で、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するステップであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記特定のファイルフォーマットの要件は、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、ステップと、
前記ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するステップであって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、ステップとを含む、ステップと、
前記ファイルを出力するステップとを含む方法。
【請求項２】
前記複数のSampleToGroupボックスを生成するステップは、前記複数のSampleToGroupボックスのうちの各それぞれのSampleToGroupボックスについて、前記それぞれのSampleToGroupボックスがサンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含むように前記複数のSampleToGroupボックスを生成するステップを含む請求項1に記載の方法。
【請求項３】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないということである請求項1に記載の方法。
【請求項４】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項1に記載の方法。
【請求項５】
前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項1に記載の方法。
【請求項６】
前記SampleGroupDescriptionボックスは、第1のSampleGroupDescriptionボックスであり、前記コンテナボックスを生成するステップは、前記コンテナボックス内の第2のSampleGroupDescriptionボックスを生成するステップを含み、前記第2のSampleGroupDescriptionボックスは前記特定の値と異なるグルーピングタイプシンタックス要素を有する請求項1に記載の方法。
【請求項７】
ビデオコンテンツを記憶するためのファイルを生成するためのデバイスであって、
前記ファイルを記憶するように構成されているメモリと、
1つまたは複数のプロセッサであって、
前記ファイルが特定のファイルフォーマットに従うように前記ファイルのコンテナボックスを生成するステップであって、前記コンテナボックスを生成する一環として、前記1つまたは複数のプロセッサは、
1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するステップであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記ファイルは、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、ステップと、
前記ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するステップであって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、ステップとを実行する、ステップと、
前記ファイルを出力するステップとを実行するように構成されている1つまたは複数のプロセッサとを備えるデバイス。
【請求項８】
前記1つまたは複数のプロセッサは、前記複数のSampleToGroupボックスのうちの各それぞれのSampleToGroupボックスについて、前記それぞれのSampleToGroupボックスがサンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含むように前記複数のSampleToGroupボックスを生成するように構成される請求項7に記載のデバイス。
【請求項９】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないということである請求項7に記載のデバイス。
【請求項１０】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項7に記載のデバイス。
【請求項１１】
前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項7に記載のデバイス。
【請求項１２】
前記デバイスは、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイスの少なくとも1つを備える、請求項7に記載のデバイス。
【請求項１３】
前記SampleGroupDescriptionボックスは、第1のSampleGroupDescriptionボックスであり、前記コンテナボックスを生成するステップは、前記コンテナボックス内の第2のSampleGroupDescriptionボックスを生成するステップを含み、前記第2のSampleGroupDescriptionボックスは前記特定の値と異なるグルーピングタイプシンタックス要素を有する請求項7に記載のデバイス。
【請求項１４】
前記ビデオコンテンツをキャプチャするように構成されているカメラをさらに備える請求項7に記載のデバイス。
【請求項１５】
ビデオコンテンツを記憶するためのファイルを生成するためのデバイスであって、
前記ファイルが特定のファイルフォーマットに従うように前記ファイルのコンテナボックスを生成するための手段であって、前記コンテナボックスを生成するための前記手段は、
1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するための手段であって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記ファイルは、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、手段と、
前記ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するための手段であって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、手段とを含む、手段と、
前記ファイルを出力するための手段とを備えるデバイス。
【請求項１６】
前記複数のSampleToGroupボックスを生成するための前記手段は、前記複数のSampleToGroupボックスのうちの各それぞれのSampleToGroupボックスについて、前記それぞれのSampleToGroupボックスがサンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含むように前記複数のSampleToGroupボックスを生成するための手段を含む請求項15に記載のデバイス。
【請求項１７】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないということである請求項15に記載のデバイス。
【請求項１８】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項15に記載のデバイス。
【請求項１９】
前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項15に記載のデバイス。
【請求項２０】
ビデオコンテンツを記憶するためのファイルを読み込むためのデバイスであって、
前記ファイルを記憶するように構成されているメモリと、
前記ファイルから、前記ファイルのコンテナボックスを取得するように構成されている1つまたは複数のプロセッサであって、前記コンテナボックスは、
1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記特定のファイルフォーマットの要件は、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、SampleGroupDescriptionボックスと、
複数のSampleToGroupボックスであって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、複数のSampleToGroupボックスとを備える、1つまたは複数のプロセッサとを備えるデバイス。
【請求項２１】
前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは、サンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含む請求項20に記載のデバイス。
【請求項２２】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないということである請求項20に記載のデバイス。
【請求項２３】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項20に記載のデバイス。
【請求項２４】
前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項20に記載のデバイス。
【請求項２５】
前記SampleGroupDescriptionボックスは、第1のSampleGroupDescriptionボックスであり、前記コンテナボックスは、第2のSampleGroupDescriptionボックスを備え、前記第2のSampleGroupDescriptionボックスは前記特定の値と異なるグルーピングタイプシンタックス要素を有する請求項20に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれている、2015年2月11日に出願した米国仮特許出願第62/115,087号の利益を主張する。
【０００２】
本開示は、コーディングされたビデオデータに対するビデオコーディングおよびファイルフォーマットに関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、アドバンストビデオコーディング(AVC:Advanced Video Coding)、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格、およびそのような規格の拡張によって定義された規格に記載されるものなどのビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的(ピクチャ内)予測および/または時間的(ピクチャ間)予測を実行する。ブロックベースのビデオコーディングのために、ビデオスライス(すなわち、ビデオフレーム、またはビデオフレームの一部)は、ビデオブロックに区分されてもよく、ビデオブロックはまた、ツリーブロック、コーディング単位(CU:coding unit)、および/またはコーディングノードと呼ばれることがある。ピクチャのイントラコーディングされる(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコーディングされる(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
空間予測または時間予測は、コーディングされるブロックのための予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコーディングされるブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データがピクセル領域から変換領域に変換されて残差変換係数が得られてよく、次いで、残差変換係数が量子化され得る。最初に2次元アレイに配置される量子化変換係数は、変換係数の1次元ベクトルを生成するために、走査されてもよく、エントロピーコーディングが、さらに多くの圧縮を達成するために適用されてもよい。
【発明の概要】
【課題を解決するための手段】
【０００６】
本開示の1つまたは複数の態様は、ファイルフォーマットでビデオコンテンツを記憶することに関する。たとえば、本開示の技法は、ISOベースメディアファイルフォーマットおよびそれに基づき導出されるファイルフォーマットに従って形成されたファイル内のストリームアクセスポイント(SAP)サンプルグルーピングのサンプルグルーピング機構およびシグナリングの設計を改善し得る。
【０００７】
一態様において、本開示は、ビデオコンテンツを記憶するためのファイルを生成する方法について説明しており、この方法はファイルのコンテナボックス内で、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するステップであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックス(sample table box)またはトラックフラグメントボックス(track fragment box)であり、ファイルは、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、ステップと、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するステップであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリ(sample group entry)を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素(sample count syntax element)を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素(group description index syntax element)を含み、それぞれのサンプルグループの各サンプルは
ビデオコンテンツの1つまたは複数のピクチャを含む、ステップと、ファイルを出力するステップとを含む。
【０００８】
別の態様において、本開示は、ビデオコンテンツを記憶するためのファイルを生成するためのデバイスについて説明しており、デバイスはファイルを記憶するように構成されているメモリと、ファイルが特定のファイルフォーマットに従うようにファイルのコンテナボックスを生成するように構成されている1つまたは複数のプロセッサとを備え、コンテナボックスを生成する一環として、1つまたは複数のプロセッサは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するステップであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、ファイルは、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、ステップと、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するステップであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、ステップと、ファイルを出力するステップとを実行する。
【０００９】
別の態様において、本開示は、ビデオコンテンツを記憶するためのファイルを生成するためのデバイスについて説明しており、デバイスはファイルが特定のファイルフォーマットに従うようにファイルのコンテナボックスを生成するための手段を備え、コンテナボックスを生成するための手段は、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するための手段であって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、ファイルは、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、手段と、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するための手段であって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、手段と、ファイルを出力するための手段とを含む。
【００１０】
別の態様において、本開示は、命令が記憶されているコンピュータ可読記憶媒体であって、命令は実行されたときに、デバイスの1つまたは複数のプロセッサに、ビデオコンテンツを記憶するためのファイルを生成するために、ファイルが特定のファイルフォーマットに従うようにファイルのコンテナボックスを生成させ、コンテナボックスを生成する一環として、1つまたは複数のプロセッサは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するステップであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、ファイルは、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、ステップと、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するステップであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、ステップと、ファイルを出力するステップとを実行する。
【００１１】
別の態様において、本開示は、ビデオコンテンツを記憶するためのファイルを読み込むためのデバイスについて説明しており、デバイスはファイルを記憶するように構成されているメモリと、ファイルから、ファイルのコンテナボックスを取得するように構成されている1つまたは複数のプロセッサとを備え、コンテナボックスは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、特定のファイルフォーマットの要件は、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、SampleGroupDescriptionボックスと、複数のSampleToGroupボックスであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、SampleToGroupボックスとを含む。
【００１２】
別の態様において、本開示は、ビデオコンテンツを記憶するためのファイルを読み込むための方法について説明しており、方法はファイルを取得するステップと、ファイルから、ファイルのコンテナボックスを取得するステップとを含み、コンテナボックスは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、特定のファイルフォーマットの要件は、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、SampleGroupDescriptionボックスと、複数のSampleToGroupボックスであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、SampleToGroupボックスとを含む。
【００１３】
別の態様において、本開示は、ビデオコンテンツを記憶するためのファイルを読み込むためのデバイスについて説明しており、デバイスはファイルを取得するための手段と、ファイルから、ファイルのコンテナボックスを取得するための手段とを備え、コンテナボックスは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、特定のファイルフォーマットの要件は、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、SampleGroupDescriptionボックスと、複数のSampleToGroupボックスであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、SampleToGroupボックスとを含む。
【００１４】
別の態様において、本開示は、命令が記憶されているコンピュータ可読記憶媒体を説明しており、これらの命令は実行されるとデバイスに、ファイルから、ファイルのコンテナボックスを取得させ、コンテナボックスは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、特定のファイルフォーマットの要件は、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、SampleGroupDescriptionボックスと、複数のSampleToGroupボックスであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、SampleToGroupボックスとを含む。
【００１５】
本開示の1つまたは複数の例の詳細が、添付の図面および以下の説明に記載される。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１６】
【図１】本開示に記載の技法を利用してもよい例示的なビデオ符号化および復号システムを示すブロック図である。
【図２】本開示に記載の技法を実装してもよい例示的なビデオエンコーダを示すブロック図である。
【図３】本開示に記載の技法を実装してもよい例示的なビデオデコーダを示すブロック図である。
【図４】ネットワークの一部を形成するデバイスの例示的なセットを示すブロック図である。
【図５】トラック内の一連のサンプル内の2つの異なるストリームアクセスポイント(SAP)サンプルタイプの概念図である。
【図６Ａ】本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
【図６Ｂ】本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
【図６Ｃ】本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
【図７Ａ】本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
【図７Ｂ】本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
【図７Ｃ】本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
【図８】本開示の技法による、ソースデバイスの例示的な動作を示すフローチャートである。
【図９】本開示の技法による、ビデオコンテンツを記憶するためのファイルを読み込むためのデバイスの例示的な動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
ビデオコンテンツの記憶用に、国際標準化機構(ISO)ベースメディアファイルフォーマット(ISOBMFF)およびISOベースメディアファイルフォーマットから派生したファイルフォーマットが設計されている。ISOBMFFは、符号化されたビデオデータおよび関連付けられているメタデータを記憶するネストされた「ボックス」のセットに関して定義される。たとえば、メディアデータボックスは、1つまたは複数のサンプルを含み得る。サンプルの各々は、アクセスユニット内に1つまたは複数のピクチャの符号化されたビデオデータを含み得る。
【００１８】
それに加えて、ISOBMFFファイル内のボックスは、SampleToGroupボックスおよびSampleGroupDescriptionボックスを含み得る。本開示において、SampleToGroupボックスは、「Sample to Groupボックス」とも称され、SampleGroupDescriptionボックスは、「Sample Group Descriptionボックス」とも称され得る。一般的に、SampleToGroupボックスは、サンプルの1つまたは複数のグループを定義するシンタックス要素を含む。本開示において、サンプルのグループは、「サンプルグループ」または「サンプルグルーピング」とも称され得る。さらに、一般的に、SampleGroupDescriptionボックスは、サンプルグループの説明を含む。
【００１９】
より具体的には、SampleToGroupボックスは、グルーピングタイプシンタックス要素を含む。グルーピングタイプシンタックス要素は、grouping_typeシンタックス要素とも称され得る。それに加えて、SampleToGroupボックスは1つまたは複数のサンプルグループエントリを含む。SampleToGroupボックス内の各それぞれのサンプルグループエントリは、それぞれのサンプルカウントシンタックス要素とそれぞれのグループ説明インデックスシンタックス要素とを含む。それぞれのサンプルカウントシンタックス要素は、それぞれのグループ説明インデックスが適用される連続サンプルの数を指示する。
【００２０】
SampleGroupDescriptionボックスは、グルーピングタイプシンタックス要素も含む。SampleToGroupボックスおよびSampleGroupDescriptionボックスのグルーピングタイプシンタックス要素がマッチしたときに、SampleToGroupボックスおよびSampleGroupDescriptionボックスは、互いに対応すると言われる。SampleGroupDescriptionボックスは、1つまたは複数のグループ説明エントリを含む。SampleGroupDescription内の各それぞれのグループ説明エントリは、それぞれのサンプルグループの説明を含む。SampleToGroupボックス内のグループ説明インデックスは、対応するSampleGroupDescriptionボックス内の対応するグループ説明エントリを識別する。
【００２１】
たとえば、SampleToGroupボックスは、値が5に等しいサンプルカウントシンタックス要素および値が3に等しいグループ説明インデックスを含む第1のサンプルグループエントリを有することができる。したがって、この例では、5つの連続サンプルは、対応するSampleGroupDescriptionボックス内の第3のグループ説明エントリによって説明されているサンプルグループに属す。この例では、SampleToGroupボックスは、値が4に等しいサンプルカウントシンタックス要素および値が2に等しいグループ説明インデックスを含む第2のサンプルグループエントリを有することができる。したがって、この例では、次の4つの連続サンプルは、対応するSampleGroupDescriptionボックス内の第2のグループ説明エントリによって説明されているサンプルグループに属す。
【００２２】
ISOBMFFのバージョンは多数ある。バージョン1として参照されている、ISOBMFFの一バージョンにおいて、SampleToGroupボックスは、上で説明されているシンタックス要素に加えてグルーピングタイプパラメータシンタックス要素を含む。グルーピングタイプパラメータシンタックス要素は、グルーピングタイプシンタックス要素とは別のシンタックス要素である。本開示では、ISOBMFFのバージョン1において定義されているSampleToGroupボックスにおいて定義されているサンプルグループをバージョン1サンプルグループとして称することがある。グルーピングタイプパラメータシンタックス要素は、grouping_type_parameterとして表され得る。グルーピングタイプパラメータシンタックス要素は、ISOBMFFの初期バージョンに適合するファイルのSampleToGroupボックス内に存在していない。グルーピングタイプパラメータシンタックス要素は、サンプルグルーピングのサブタイプの指示である。したがって、SampleToGroupボックスは、「グルーピングタイプ」シンタックス要素および別の「グルーピングタイプパラメータ」シンタックス要素を含み得る。
【００２３】
これ以降単にISOBMFF仕様または「N14574」と称される、ISOBMFF仕様の一バージョンは、http://phenix.int-evry.fr/mpeg/doc_end_user/documents/109_Sapporo/wg11/w14574-v2-w14574.zipから入手可能である。ISOBMFF仕様書は、ISO/IEC 15444-12、第4版、情報技術-JPEG 2000-画像コーディングシステム-パート12:ISOベースメディアファイルフォーマット、2012年7月15日、COR 1、FDAM1、FDAM2、COR2、およびFDAM 3による修正、と称される文書(これ以降「15444-12」または「15444-12仕様」)を含む。ISOBMFF仕様は、Singerら、「ISO/IEC 14496-12, Amd. 4, improved audio support」、ISO/IEC JTC1/SC29/WG11、MPEG2014/w14325、2014年7月25日、札幌、日本(これ以降「14496-12」または「14996-12仕様」)と称される文書も含む。
【００２４】
SampleToGroupボックス内のグルーピングタイプパラメータシンタックス要素の導入にあたって、いくつかの問題が生じる。たとえば、グルーピングタイプパラメータシンタックス要素の導入において、バージョン1サンプルグループのグルーピングタイプは、グルーピングタイプシンタックス要素およびグルーピングタイプパラメータシンタックス要素の両方によって実際に定義される。この方法でバージョン1サンプルグループのグルーピングタイプを定義することは、利用可能なISOBMFF仕様の他の部分がサンプルグループのグルーピングタイプがグルーピングタイプパラメータシンタックス要素によってのみ定義されるという仮定に依存するので問題になり得る。たとえば、SampleGroupDescriptionボックスについてISOBMFF仕様で定義されているセマンティクスは、いかなる形でもグルーピングタイプパラメータシンタックス要素を考慮しない。他の例は、本開示の別のところで説明されている。
【００２５】
本開示では、そのような問題に対処するためのいくつかの技法を説明している。たとえば、本開示の一技法によれば、1からN個の関係と同じグルーピングタイプについてSampleGroupDescriptionボックスとSampleToGroupボックスとの間の関係を定義することが提案されており、ただし、Nは非ゼロ整数である。したがって、同じ値を持つグルーピングタイプシンタックス要素を有する複数のSampleToGroupボックスは、その値を持つグルーピングタイプシンタックス要素を有する単一のSampleGroupDescriptionボックスに対応し得る。いくつかの場合において、これらのSampleToGroupボックスの各々は、異なる値を有するグルーピングタイプパラメータシンタックス要素を有し得る。この方法で関係を定義することにより、SampleGroupDescriptionボックスまたはSampleToGroupボックスのシンタックスを変更することなく上で説明されている問題を解決することができる。その代わり、この例の実装は、SampleGroupDescriptionボックスおよび/またはSampleToGroupボックスのセマンティクスおよび説明への変更のみを伴い得る。
【００２６】
この技法の一例によれば、ソースデバイスは、ファイルのコンテナボックス内で、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成し得る。本開示では、コンテナボックスは、1つまたは複数の他のボックスを含むボックスである。HEVCおよび他のビデオフォーマットを搬送するためのISOBMFF拡張において、コンテナボックスの例示的なタイプは、サンプルテーブルボックス、トラックフラグメントボックス、および他のタイプのボックスを含む。各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与える。SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含む。この例では、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は、特定の値を有し、コンテナボックスは、サンプルテーブルボックスまたはトラックフラグメントボックスである。さらに、この例では、ソースデバイスは、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成し得る。この例では、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含む。それに加えて、各それぞれのSampleToGroupボックスは、1つまたは複数のサンプルグループエントリを含む。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含む。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含む。それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む。この例では、ソースデバイスは、ファイルを出力し得る。
【００２７】
図1は、本開示で説明されている技法を使用し得る、例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されているように、システム10は、宛先デバイス14によって後から復号されるべき符号化されたビデオデータを生成するソースデバイス12を備える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話送受器、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミングデバイス、または同様のものを含む、広範なデバイスのうちのどれかを備えるものとしてよい。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。したがって、ソースデバイス12および宛先デバイス14は、ワイヤレス通信デバイスとみなされ得る。ソースデバイス12および宛先デバイス14は、ビデオデバイスとみなされ得る。
【００２８】
図1の例において、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを備える。いくつかの場合において、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、またはそのようなソースの組合せなどの、ソースを含み得る。しかしながら、本開示で説明する技法は、一般に、ビデオコーディングに適用可能であり得、ワイヤレス用途および/またはワイヤード用途に適用され得る。
【００２９】
ビデオエンコーダ20は、キャプチャされた、あらかじめキャプチャされた、またはコンピュータ生成ビデオを符号化することができる。ソースデバイス12は、ソースデバイス12の出力インターフェース22を介して符号化ビデオデータを宛先デバイス14に直接送信し得る。符号化ビデオデータは、復号および/または再生のために宛先デバイス14または他のデバイスにより後からアクセスできるようにストレージデバイス33上にも(または代替的に)格納され得る。
【００３０】
宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。さらに、図1の例において、宛先デバイス14は、ストレージ媒体29およびファイル構文解析ユニット31を含む。いくつかの場合において、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16上で符号化ビデオデータを受信する。リンク16上で伝達される、すなわちストレージデバイス33上で供給される符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30などのビデオデコーダによる使用のためにビデオエンコーダ20によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバ上に記憶された符号化ビデオデータとともに含まれてもよい。
【００３１】
ディスプレイデバイス32は、宛先デバイス14と一体であるか、または宛先デバイス14に外付けであってもよい。いくつかの例において、宛先デバイス14は、一体型ディスプレイデバイスを含むものとしてよく、外付けディスプレイデバイスとインターフェースするものとしてもよい。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備え得る。
【００３２】
ビデオエンコーダ20およびビデオデコーダ30は、各々、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、離散論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、様々な適切なエンコーダ回路のうちのいずれかとして実装され得る。本技法が部分的にソフトウェアに実装されるとき、デバイスは、ソフトウェアのための命令を適切な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実施するために1つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれてよく、それらのいずれかが、それぞれのデバイスの中で複合エンコーダ/デコーダ(コーデック)の一部として一体化されてよい。
【００３３】
宛先デバイス14は、リンク16を介して復号されるべき符号化ビデオデータを受信し得る。リンク16は、符号化ビデオデータをソースデバイス12から宛先デバイス14に移動することができるどれかの種類の媒体またはデバイスを備え得る。一例において、リンク16は、ソースデバイス12が符号化ビデオデータを直接、宛先デバイス14にリアルタイムで送信することを可能にするための通信媒体を備えるものとしてよい。符号化ビデオデータは、ワイヤレス通信プロトコルなどの、通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、高周波(RF)スペクトルなどのワイヤレスもしくは有線通信媒体、または1つまたは複数の物理的伝送路を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、または、ソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含み得る。
【００３４】
代替的に、出力インターフェース22は、符号化データをストレージデバイス33に出力することができる。同様に、入力インターフェース28は、符号化データストレージデバイス33にアクセスすることができる。ストレージデバイス33は、ハードドライブ、ブルーレイディスク、DVD、CD-ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための他の任意の好適なデジタルストレージ媒体などの、様々な分散型の、またはローカルでアクセスされる、データストレージ媒体のうちのどれかを含み得る。さらなる例において、ストレージデバイス33は、ソースデバイス12によって生成された符号化ビデオデータを保持することができるファイルサーバもしくは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイス33から記憶されているビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することができる任意の種類のサーバであってよい。例示的なファイルサーバは、ウェブサーバ(たとえば、ウェブサイト用)、ファイル転送プロトコル(FTP)サーバ、ネットワークアタッチトストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を介して符号化ビデオデータにアクセスしてもよい。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi-Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含んでもよい。ストレージデバイス33からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであってもよい。
【００３５】
本開示の技法は、必ずしもワイヤレスの適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介するストリーミングビデオ送信、データ記憶媒体上に記憶するためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の用途など、様々なマルチメディア用途のうちのいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオ電話などの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３６】
さらに、図1の例において、ビデオコーディングシステム10は、ファイル生成デバイス34を含む。ファイル生成デバイス34は、ソースデバイス12によって生成された符号化ビデオデータを受信することができる。ファイル生成デバイス34は、符号化ビデオデータを含むファイルを生成し得る。宛先デバイス14は、ファイル生成デバイス34によって生成されたファイルを受信し得る。様々な例において、ファイル生成デバイス34は、様々な種類のコンピューティングデバイスを備え得る。たとえば、ファイル生成デバイス34は、ビデオ符号化デバイス、メディアアウェアネットワーク要素(MANE)、サーバコンピューティングデバイス、パーソナルコンピューティングデバイス、専用コンピューティングデバイス、商用コンピューティングデバイス、または別の種類のコンピューティングデバイスを含み得る。いくつかの例において、ファイル生成デバイス34は、コンテンツ配信ネットワークの一部である。ファイル生成デバイス34は、リンク16などのチャネルを介してソースデバイス12から符号化ビデオデータを受信し得る。さらに、宛先デバイス14は、リンク16などのチャネルを介してファイル生成デバイス34からファイルを受信し得る。ファイル生成デバイス34は、ビデオデバイスとみなされてよい。図1の例に示されているように、ファイル生成デバイス34は、符号化ビデオコンテンツを含むファイルを記憶するように構成されているメモリ31を備え得る。
【００３７】
他の例では、ソースデバイス12または別のコンピューティングデバイスは、符号化ビデオデータを含むファイルを生成し得る。しかしながら、説明を簡単にするために、本開示では、ファイル生成デバイス34をファイルを生成するものとして説明している。それでもなお、そのような説明は、一般にコンピューティングデバイスに適用可能であると理解されるべきである。
【００３８】
ビデオエンコーダ20およびビデオデコーダ30は、高効率ビデオコーディング(HEVC)規格またはその拡張などのビデオ圧縮規格に従って動作し得る。HEVC規格は、ISO/IEC 23008-2とも称され得る。近年、HEVCの設計は、ITU-Tビデオコーディングエキスパートグループ(VCEG)とISO/IECモーションピクチャエキスパートグループ(MPEG)とのビデオコーディングに関する共同チーム(JCT-VC)によって最終決定された。これ以降HEVC WDと呼ばれる最新のHEVCドラフト仕様は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。HEVCに対するマルチビュー拡張、すなわちMV-HEVCも、JCT-3Vによって開発された。「MV-HEVC Draft Text 5」という名称の、これ以降MV-HEVC WD5と称されるMV-HEVCの最近のワーキングドラフト(WD)は、http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1004-v6.zipから入手可能である。SHVCという名称の、HEVCに対するスケーラブルな拡張も、JCT-VCによって開発された。「High efficiency video coding (HEVC) scalable extension draft 3」という名称の、これ以降SHVC WD3と称されるSHVCの最近のワーキングドラフト(WD)は、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1008-v3.zipから入手可能である。HEVCの範囲拡張の最近のワーキングドラフト(WD)は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1005-v3.zipから入手可能である。「3D-HEVC Draft Text 1」という名称の、HEVCの3D拡張、すなわち3D-HEVCの最近のワーキングドラフト(WD)は、http://phenix.int-evry.fr/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1001-v3.zipから入手可能である。ビデオエンコーダ20およびビデオデコーダ30は、これらの規格または他の規格のうちの1つまたは複数に従って動作し得る。そのような他のビデオコーディング規格は、そのスケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含む、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、ITU-T H.264またはISO/IEC MPEG-4 AVCを含む。
【００３９】
代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的に、MPEG-4, Part 10,アドバンストビデオコーディング(AVC)と呼ばれるITU-T H.264規格、またはそのような規格の拡張などの、他の独自規格または業界規格に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例は、そのスケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含む、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およびITU-T H.264(ISO/IEC MPEG-4 AVCとも呼ばれる)を含む。
【００４０】
一般に、HEVCにおいて、ビデオフレームまたはピクチャは、輝度サンプルと彩度サンプルの両方を含む一連のツリーブロックまたは最大コーディング単位(LCU)に分割されてもよい。ツリーブロックは、コーディングツリー単位(CTU)とも称され得る。ツリーブロックは、H.264/AVC規格のマクロブロックと同様の目的を有する。スライスは、コーディング順にいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分されてもよい。各ツリーブロックは、4分木に従ってコーディング単位(CU)に分裂されてもよい。たとえば、ツリーブロックは、4分木のルートノードとして、4つの子ノードに分裂されてもよく、各子ノードは、次に、親ノードになり、別の4つの子ノードに分裂されてもよい。最後の、分裂されていない子ノードは、4分木のリーフノードとして、コーディングノード、すなわちコーディングされたビデオブロックを備える。コーディングされたビットストリームに関連付けられたシンタックスデータは、ツリーブロックが分裂されてもよい最大回数を定義してもよく、また、コーディングノードの最小サイズを定義してもよい。
【００４１】
CUは、コーディングノードと、コーディングノードに関連付けられた予測単位(PU)および変換単位(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が正方形でなければならない。CUのサイズは、8×8ピクセルから、最大64×64ピクセルまたはそれ以上のツリーブロックのサイズまでの範囲であってもよい。各CUは、1つまたは複数のPUと1つまたは複数のTUとを含んでもよい。CUに関連付けられたシンタックスデータは、たとえば、1つまたは複数のPUへのCUの区分を記述してもよい。区分モードは、CUがスキップもしくは直接モードで符号化されているのか、イントラ予測モード符号化されているのか、またはインター予測モードで符号化されているのかの間で異なってもよい。PUは、形状が非正方形であるように区分されてもよい。CUに関連付けられたシンタックスデータはまた、たとえば、4分木に従った1つまたは複数のTUへのCUの区分を記述してもよい。TUは、形状において正方形または非正方形であることができる。
【００４２】
HEVC規格は、TUに従う変換を可能にし、それは、異なるCUのために異なってもよい。TUは、典型的には、区分されたLCUのために定義された所与のCU内のPUのサイズに基づいてサイズが決められるが、これは、必ずしもそうでないことがある。TUは、典型的には、PUと同じサイズであるか、またはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用して、より小さい単位に細分されてもよい。RQTのリーフノードは、変換単位(TU)と称され得る。TUに関連付けられたピクセル差分値は、量子化されてもよい変換係数を生成するために変換されてもよい。
【００４３】
一般に、PUは、予測プロセスに関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの分解能(たとえば、4分の1ピクセル精度もしくは8分の1ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルのための参照ピクチャリスト(たとえば、リスト0、リスト1)を記述し得る。
【００４４】
一般に、TUは、変換および量子化プロセスのために使用される。1つまたは複数のPUを有する所与のCUはまた、1つまたは複数の変換単位(TU)を含んでもよい。予測に続いて、ビデオエンコーダ20は、PUに対応する残差値を計算してもよい。残差値は、ピクセル差分値を備え、ピクセル差分値は、エントロピーコーディングのためのシリアライズ化された変換係数を生成するために、変換係数に変換され、量子化され、TUを使用して走査されてもよい。本開示では、典型的には、「ビデオブロック」という用語を使用して、CUのコーディングノード(すなわち、コーディングブロック)を参照する。いくつかの特定の場合において、本開示では、「ビデオブロック」という用語も使用してコーディングノードおよびPUおよびTUを含む、ツリーブロック、すなわち、LCU、もしくはCUを参照し得る。
【００４５】
ビデオシーケンスは、典型的には、一連のビデオフレームまたはピクチャを含む。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含んでもよい。ビデオエンコーダ20は通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロック上で動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定または可変サイズを有するものとしてよく、指定されたコーディング規格に従ってサイズが異なり得る。
【００４６】
CUのPUを使用するイントラ予測またはインター予測コーディングに続いて、ビデオエンコーダ20は、CUのTUに対する残差データを計算することができる。PUは、空間領域(ピクセル領域とも称される)内のピクセルデータを備えるものとしてよく、TUは、変換、たとえば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または残差ビデオデータへの概念上類似する変換の適用の後の変換領域内の係数を備えるものとしてよい。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差に対応してもよい。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、CUのための変換係数を生成するためにTUを変換してもよい。
【００４７】
変換係数を生成するための任意の変換に続いて、ビデオエンコーダ20は、変換係数の量子化を実行してもよい。量子化は、一般に、係数を表すために使用されるデータの量をできる限り低減するために変換係数が量子化され、さらなる圧縮が行われるプロセスを指す。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減し得る。
【００４８】
1次元ベクトルを形成するために量子化変換係数を走査した後、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化してもよい。ビデオエンコーダ20はまた、ビデオデータを復号する上でビデオデコーダ30によって使用するための符号化されたビデオデータに関連付けられたシンタックス要素をエントロピー符号化してもよい。
【００４９】
ビデオエンコーダ20は、コード化ピクチャの表現および関連するデータを形成するビットのシーケンスを含む、ビットストリームを出力し得る。「ビットストリーム」という用語は、ネットワークアブストラクションレイヤ(NAL)ユニットストリーム(たとえば、NALユニットのシーケンス)またはバイトストリーム(たとえば、HEVC規格のAnnex Bによって指定されているように、スタートコードプレフィックスおよびNALユニットを含むNALユニットストリームのカプセル化)のいずれかを指すために使用される総称であり得る。NALユニットは、NALユニットにおけるデータのタイプの指示と、必要に応じてエミュレーション防止ビットを散在させたローバイトシーケンスペイロード(RBSP)の形式による、そのデータを含むバイトとを含むシンタックス構造である。NALユニットの各々は、NALユニットヘッダを含むことができ、RBSPをカプセル化し得る。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって規定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内に封入された整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPは、0個のビットを含む。
【００５０】
異なるタイプのNALユニットは、異なるタイプのRBSPを封入し得る。たとえば、第1のタイプのNALユニットはピクチャパラメータセット(PPS)のためのRBSPを封入することがあり、第2のタイプのNALユニットはスライスセグメントのためのRBSPを封入することがあり、第3のタイプのNALユニットは補足強化情報(SEI)のためのRBSPを封入することがあり、以下同様である。(パラメータセットおよびSEIメッセージのためのRBSPではなく)ビデオコーディングデータのためのRBSPを封入するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと呼ばれ得る。パラメータセット(たとえば、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、PPS、または他のタイプのパラメータセット)を含むNALユニットは、パラメータセットNALユニットと称され得る。
【００５１】
本開示では、セグメントスライスに対するRBSPをカプセル化するNALユニットをコーディングスライスNALユニットと称することがある。HEVC WDにおいて定義されているように、スライスセグメントは、タイルスキャンで連続的に順序付けられ、単一のNALユニットに含まれる整数個のCTUである。対照的に、HEVC WDでは、スライスは、1つの独立したスライスセグメントおよび同じアクセスユニット内の次の独立したスライスセグメント(もしあれば)に先行するすべてのその後の従属するスライスセグメント(もしあれば)に含まれる整数個のCTUであり得る。独立したスライスセグメントは、スライスセグメントヘッダのシンタックス要素の値が先行するスライスセグメントに対する値から推論されないスライスセグメントである。従属するスライスセグメントは、スライスセグメントヘッダのいくつかのシンタックス要素の値が復号順に先行する独立したスライスセグメントに対する値から推論されるスライスセグメントである。コーディングスライスNALユニットのRBSPは、スライスセグメントヘッダとスライスデータとを含み得る。スライスセグメントヘッダは、スライスセグメントで表される第1のまたはすべてのCTUに関係するデータ要素を含むコーディングスライスセグメントの一部である。スライスヘッダは、現在のスライスセグメントまたは復号順に現在の従属するスライスセグメントに先行する一番最近の独立スライスセグメントである独立したスライスセグメントのスライスセグメントヘッダである。
【００５２】
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。それに加えて、ビデオデコーダ30は、ビットストリームを構文解析して、ビットストリームからシンタックス要素を取得することができる。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも一部基づいて、ビデオデータのピクチャを再構築し得る。ビデオデータを再構成するプロセスは、一般的に、ビデオエンコーダ20によって実行されるプロセスに相反するものとしてよい。たとえば、ビデオデコーダ30は、PUのモーションベクトルを使用して、現在のCUのPUに対する予測ブロックを決定し得る。それに加えて、ビデオデコーダ30は、現在のCUのTUの係数ブロックを逆量子化し得る。ビデオデコーダ30は、係数ブロックに対して逆変換を実行し、現在のCUのTUの変換ブロックを再構成することができる。ビデオデコーダ30は、現在のCUのPUに対する予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応するサンプルに加えることによって現在のCUのコーディングブロックを再構成することができる。ピクチャの各CUに対してコーディングブロックを再構成することによって、ビデオデコーダ30は、ピクチャを再構成することができる。
【００５３】
次にファイルフォーマットおよびファイルフォーマット規格が簡単に説明される。ファイルフォーマット規格は、ISOベースメディアファイルフォーマット(ISOBMFF、ISO/IEC 14496-12、これ以降「ISO/IEC 14996-12」)およびMPEG-4ファイルフォーマット(ISO/IEC 14496-14)、3GPPファイルフォーマット(3GPP TS 26.244)、およびAVCファイルフォーマット(ISO/IEC 14496-15、これ以降「ISO/IEC 14996-15」)を含む、ISOBMFFから派生した他のファイルフォーマット規格を含む。したがって、ISO/IEC 14496-12では、ISOベースメディアファイルフォーマットを指定する。他の文書では、特定の用途についてISOベースメディアファイルフォーマットを拡張する。たとえば、ISO/IEC 14496-15では、ISOベースメディアファイルフォーマットでNALユニット構造化ビデオの搬送を説明している。H.264/AVCおよびHEVC、さらにはすべてのそれらの拡張は、NALユニット構造化ビデオの例である。ISO/IEC 14496-15は、H.264/AVC NALユニットの搬送を説明している節を含む。それに加えて、ISO/IEC 14496-15の第8項では、HEVC NALユニットの搬送を説明している、それに加えて、ISO/IEC 14496-15の第8項では、HEVCファイルフォーマットを説明すると言われる。以下の説明は、N14574に埋め込まれている、14496-12の最近統合されたバージョンに基づく。
【００５４】
ISOBMFFは、AVCファイルフォーマットなどの、多くのコーデックカプセル化フォーマットに対する、さらにはMPEG-4ファイルフォーマット、3GPPファイルフォーマット(3GP)、およびDVBファイルフォーマットなどの多くのマルチメディアコンテナフォーマットに対する基準として使用される。オーディオおよびビデオなどの連続メディアに加えて、画像などの静的メディア、さらにはメタデータは、ISOBMFFに適合するファイルに記憶され得る。ISOBMFFに従って構造化されたファイルは、ローカルメディアファイル再生、リモートファイルの漸進的ダウンローディング、HTTP上の動的適応型ストリーミング(DASH)に対するセグメント、ストリーミングされるべきコンテンツおよびそのパケット化命令のためのコンテナ、および受信されたリアルタイムメディアストリームの記録を含む、多くの目的のために使用され得る。したがって、記憶させるように最初に設計されているが、ISOBMFFは、たとえば、漸進的ダウンロードまたはDASHに対する、ストリーミングに対して非常に有益であることが実証されている。ストリーミングを目的として、ISOBMFFで定義されているが動画フラグメントが使用され得る。オーディオおよびビデオなどの連続メディアに加えて、画像などの静的メディア、さらにはメタデータは、ISOBMFFに適合するファイルに記憶され得る。
【００５５】
HEVCファイルフォーマットに適合するファイルは、ボックスと呼ばれる、一連のオブジェクトを含み得る。ボックスは、一意のタイプの識別子および長さによって定義されたオブジェクト指向のビルディングブロックであってもよい。ボックスは、ISOBMFFにおける基本的なシンタックス構造であり、4文字でコーディングされたボックスタイプ、ボックスのバイトカウント、およびペイロードを含み得る。言い換えれば、ボックスは、コーディングされたボックスタイプ、ボックスのバイトカウント、およびペイロードを含むシンタックス構造であってよい。いくつかの場合において、HEVCファイルフォーマットに適合するファイル内のすべてのデータは、ボックス内に含まれるものとしてよく、ボックス内にないファイルにはデータがあり得ない。したがって、ISOBMFFファイルは、一連のボックスからなるものとしてよく、ボックスは、他のボックスを含み得る。たとえば、ボックスのペイロードは、1つまたは複数の追加のボックスを含み得る。本開示の別のところで詳しく説明されている図6A、図6B、図6C、図7A、図7B、および図7Cは、本開示の1つまたは複数の技法による、ファイル内の例示的なボックスを示している。
【００５６】
ISOBMFFに適合するファイルは、様々なタイプのボックスを含み得る。たとえば、ISOBMFFに適合するファイルは、ファイルタイプボックス、メディアデータボックス、動画ボックス、動画フラグメントボックス、などを含み得る。この例では、ファイルタイプボックスは、ファイルタイプと互換性情報とを含む。メディアデータボックスは、サンプル(たとえば、コーティングされたピクチャ)を含み得る。動画ボックス(「moov」)は、ファイル内に存在する連続的メディアストリームに対するメタデータを含む。連続的メディアストリームの各々は、ファイル内でトラックとして表され得る。たとえば、動画ボックスは、動画に関するメタデータを含み得る(たとえば、サンプル間の論理およびタイミングに関する関係、さらにはサンプルの位置へのポインタ)。動画ボックスは、いくつかのタイプのサブボックスを含み得る。動画ボックス内のサブボックスは、1つまたは複数のトラックボックスを含み得る。トラックボックスは、動画の個別のトラックに関する情報を含み得る。トラックボックスは、単一のトラックの全体的な情報を指定するトラックヘッダボックスを含み得る。それに加えて、トラックボックスは、メディア情報ボックスを含むメディアボックスを含み得る。メディア情報ボックスは、トラック内のデータインデックス付けメディアサンプルを含むサンプルテーブルボックスを含み得る。サンプルテーブルボックス内の情報は、時間に関するサンプルの位置を特定するために使用され、またトラックのサンプルの各々について、タイプ、サイズ、コンテナ、およびサンプルのそのコンテナ内へのオフセットを特定するために使用され得る。したがって、トラックに対するメタデータは、トラックボックス(「trak」)内に封じ込められ、トラックのメディアコンテンツは、メディアデータボックス(「mdat」)内に、または別個のファイル内に直接のいずれかで、封じ込められる。トラックに対するメディアコンテンツは、オーディオまたはビデオアクセスユニットなどの、一連のサンプルを含むか、または一連のサンプルからなる。
【００５７】
ISOBMFFは、トラックのタイプとして、基本メディアストリームを含む、メディアトラック、メディア送信命令を含むか、または受信されたパケットストリームを表すヒントトラック、および時間同期メタデータを含む、タイムドメタデータトラックを指定する。各トラックに対するメタデータは、サンプル説明エントリのリストを含み、各々のエントリはトラックで使用されるコーディングまたはカプセル化フォーマットおよびそのフォーマットを処理するために使用される初期化データを提供する。各サンプルは、トラックのサンプル説明エントリのうちの1つに関連付けられる。
【００５８】
ISOBMFFは、様々な機構でサンプル特有のメタデータを指定することを可能にする。サンプルテーブルボックス(「stbl」)内の特定のボックスが、共通の必要条件に応じるように標準化されている。サンプルテーブルボックスは、トラック内のメディアサンプルのすべての時間およびデータインデックス付けを含むサンプルテーブルを含む。サンプルテーブルボックス内のテーブルを使用することで、サンプルの時間的な位置を特定し、そのタイプ(たとえば、Iフレームかそうでないか)を決定し、そのサイズ、コンテナ、およびそのコンテナへのオフセットを決定することが可能であり得る。
【００５９】
たとえば、同期サンプルボックス(「stss」)は、サンプルテーブルボックス内のボックスである。同期サンプルボックスは、トラックのランダムアクセスサンプルをリストするために使用される。本開示では、同期サンプルボックスによってリストされたサンプルを同期サンプルと称することがある。別の例において、サンプルグルーピング機構は、ファイル内のサンプルグループ説明エントリとして指定されている同じ特性を共有するサンプルのグループへの4文字のグルーピングタイプによるサンプルのマッピングを可能にする。いくつかのグルーピングタイプは、ISOBMFFにおいて指定されている。
【００６０】
動画フラグメントボックスは、最上位ボックスである。各動画フラグメントボックスは、動画ボックス内にすでにあった情報を提供する。動画フラグメントボックスは、1つまたは複数のトラックフラグメント(「traf」)ボックスを含み得る。動画フラグメント内に、トラックフラグメントのセットが、トラック毎に0またはそれ以上の数だけある。次いで、トラックフラグメントは、0またはそれ以上のトラックランを含み、各々、そのトラックに対するサンプルの連続するランをドキュメント化する。たとえば、各トラックランは、復号順などの特定の順に連続しているピクチャのサンプルを含み得る。トラックフラグメントボックスは、14996-12仕様において定義され、1つまたは複数のトラックフラグメントに対するメタデータを含む。たとえば、トラックフラグメントボックスは、トラックID、ベースデータオフセット、サンプル説明インデックス、既定のサンプル持続時間、既定のサンプルサイズ、および既定のサンプルフラグを指示するトラックフラグメントヘッダボックスを含み得る。トラックフラグメントボックスは、1つまたは複数のトラックフラグメントランボックスを含むものとしてよく、各々、トラックに対するサンプルの連続するセットをドキュメント化する。たとえば、トラックフラグメントボックスは、サンプルカウント、データオフセット、サンプルフラグ、サンプル持続時間、サンプルサイズ、サンプル構成、時間オフセット、などを指示するシンタックス要素を含み得る。これらの構造内では、多くのフィールドがオプションであり、それに対して既定の設定がなされ得る。
【００６１】
サンプルテーブルボックスは、1つまたは複数のSampleToGroupボックスおよび1つまたは複数のサンプルグループ説明ボックス(すなわち、SampleGroupDescriptionボックス)を含み得る。SampleToGroupボックスは、サンプルグループの関連付けられている説明とともに、サンプルが属しているサンプルグループを決定するために使用され得る。言い換えれば、SampleToGroupボックスは、サンプルが属しているグループを指示するものとしてよい。SampleToGroupボックスは、「sbgp」のボックスタイプを有し得る。SampleToGroupボックスは、グルーピングタイプ要素(たとえば、grouping_type)を含み得る。いくつかの場合において、本開示では、ボックスの要素は、シンタックス要素とも称され得る。グルーピングタイプ要素は、サンプルグルーピングのタイプ(すなわち、サンプルグループを形成するために使用される基準)を識別する整数であってよい。さらに、SampleToGroupボックスは、1つまたは複数のエントリ(すなわち、サンプルグループエントリ)を含み得る。SampleToGroupボックス内の各サンプルグループエントリは、トラック内の異なる重なり合わない一連の連続サンプルに関連付けられ得る。各サンプルグループエントリは、サンプルカウント要素(たとえば、sample_count)およびグループ説明インデックス要素(たとえば、group_description_index)を指示し得る。サンプルグループエントリのサンプルカウント要素は、サンプルグループエントリに関連付けられているサンプルの数を指示し得る。言い換えれば、サンプルグループエントリのサンプルカウント要素は、同じサンプルグループディスクリプタを持つ連続サンプルの数を与える整数であってよい。グループ説明インデックス要素は、SampleGroupDescriptionボックス内で、サンプルグループエントリに関連付けられているサンプルの説明を含むグループ説明エントリを識別し得る。複数のサンプルグループエントリのグループ説明インデックス要素は、同じSampleGroupDescriptionボックスを識別し得る。
【００６２】
上で簡単に指示されているように、SampleToGroupボックスは、グルーピングタイプパラメータシンタックス要素も含み得る。グルーピングタイプパラメータシンタックス要素は、grouping_type_parameterとして表され得る。グルーピングタイプパラメータシンタックス要素は、サンプルグルーピングのサブタイプの指示である。grouping_type_parameterを使用する場所がISO/IEC 14496-15には3つあり、第1のものは(MVCファイルフォーマットの)最終決定された仕様の一部として、他の2つは開発中の仕様の一部としてである。
1)Wangら「Carriage of AVC based 3D video excluding MVC」、ISO/IEC JTC1/SC29/WG11/N14837、2014年10月、(MVCを除く14496-15 2014 PDAM 2 AVCベース3Dビデオのテキスト)、これ以降N14837、およびMVCファイルフォーマットを中に有する14496-15の旧バージョンのB.5項(ビュー優先度サンプルグルーピング)において、
Sample to Group Boxのバージョン1が使用され、MVC View Priority Assignment URIボックスがサンプルエントリ内に存在する場合、grouping_type_parameterは、MVC View Priority Assignment URIボックスへの1を基底とするインデックスである。
2)N14837(MVCを除く14496-15 2014 PDAM 2 AVCベース3Dビデオのテキスト)の7.2.6項(ランダムアクセスリカバリーポイントおよびランダムアクセスポイント上のサンプルグループ)において、
SampleToGroupBoxのバージョン1がランダムアクセスポイントサンプルグルーピングに使用されるときに、grouping_type_parameterは、関連付けられているサンプルにおいてリフレッシュされる層またはビューのtier_id値を指定する。
3)N14574(ISO/IEC 14496-12 Amd.4改善されたオーディオサポート)の10.6項(ストリームアクセスポイントサンプルグループ)において、
付録Iにおいて定義されているような、ストリームアクセスポイントは、メディアストリームのコンテナ内へのランダムアクセスを可能にする。SAPサンプルグルーピングは、サンプル(その第1のバイトは付録Iで指定されているようにSAPに対する位置ISAU)を指示されたSAPタイプのものであると識別する。
grouping_type_parameterのシンタックスおよびセマンティクスは、次のように指定される。
{
unsigned int(28)  target_layers;
unsigned int(4)  layer_id_method_idc;
}
target_layersは、付録Iに従って指示されているSAPに対するターゲット層を指定する。target_layersのセマンティクスは、layer_id_method_idcの値に依存する。layer_id_method_idcが0に等しいときに、target_layersは予約される。
layer_id_method_idcは、target_layersのセマンティクスを指定する。0に等しいlayer_id_method_idcは、ターゲット層がトラックによって表されるすべての層からなることを指定する。0に等しくないlayer_id_method_idcは、派生メディアフォーマット仕様によって指定される。
…
【００６３】
grouping_type_parameterシンタックス要素を使用する最新の14496-12テキストにもいくつかの事例が載っている。たとえば、8.8.13.1項「レベル割り当てボックス」および8.8.16.1項「代替的スタートアップシーケンスプロパティボックス」では、grouping_type_parameterシンタックス要素を使用する。
【００６４】
ISOBMFF(すなわち、SampleGroupDescriptionボックスおよびSampleToGroupボックス)におけるサンプルグループの現在のシグナリングのいくつかの態様は、SampleToGroupボックスのバージョンが1に等しいときに明確でないか、または動作していない。たとえば、Sample to Groupボックスのシンタックスは、次の通りである。
aligned(8) class SampleToGroupBox
extends FullBox('sbgp', version, 0)
{
unsigned int(32)  grouping_type;
if (version == 1) {
unsigned int(32) grouping_type_parameter;
}
unsigned int(32)  entry_count;
for (i=1; i <= entry_count; i++)
{
unsigned int(32)  sample_count;
unsigned int(32)  group_description_index;
}
}
【００６５】
grouping_typeおよびgrouping_type_parameterのセマンティクスは、次の通りである。
grouping_typeは、サンプルグルーピングのタイプ(すなわち、サンプルグループを形成するために使用される基準)を識別する整数であり、それをグルーピングタイプに対する同じ値を持つそのサンプルグループ説明テーブルにリンクする。grouping_type (and, if used, grouping_type_parameter)に対する同じ値を持つこのボックスの多くても1回の出現が、トラックに対して存在するものとする。
grouping_type_parameterは、グルーピングのサブタイプの指示である。
【００６６】
したがって、バージョン1のサンプルグループのグルーピングタイプは、grouping_typeとgrouping_type_parameterの両方からなるものとしてよい。
【００６７】
さらに、14496-12仕様にはSampleToGroupボックスの次の説明がある。
トラック内のサンプルに対して複数のサンプルグルーピングがある場合に、このボックスの複数のインスタンスがあり得る。SampleToGroupボックスの各インスタンスは、異なるサンプルグルーピングを区別するタイプコードを有する。[START 1]トラック内に、特定のグルーピングタイプを持つこのボックスの多くても1つのインスタンスがあるものとする。[END 1][START 2]関連付けられているSampleGroupDescriptionは、グルーピングタイプに対する同じ値を指示するものとする。[END 2]
【００６８】
SampleToGroupボックスのこの説明において、タイプコードは、実際には単にgrouping_typeであり、サブタイプgrouping_type_parameterを含まない。それに対して、上の[START 1]と[END 1]との間のテキストに基づき、グルーピングタイプは、grouping_typeとgrouping_type_parameterの両方からなる。ここで再び、上の[START 2]と[END 2]との間のテキストに基づき、グルーピングタイプは、また、grouping_typeのみからなる。
【００６９】
Sample Group Descriptionボックスのシンタックスは、次の通りである。
aligned(8) class SampleGroupDescriptionBox (unsigned int(32) handler_type)
extends FullBox('sgpd', version, 0){
unsigned int(32) grouping_type;
if (version==1) { unsigned int(32) default_length; }
if (version>=2) {
unsigned int(32) default_sample_description_index;
}
unsigned int(32) entry_count;
int i;
for (i = 1 ; i <= entry_count ; i++){
if (version==1) {
if (default_length==0) {
unsigned int(32) description_length;
}
}
SampleGroupEntry (grouping_type);
// メディアタイプに適切であり許される
// SampleGroupEntryから導出されるクラスのインスタンス
}
}
【００７０】
これからわかるように、SampleGroupDescriptionボックス内には、サンプルグルーピングサブタイプ(すなわち、grouping_type_parameter)が存在しない。したがって、バージョン1 SampleToGroupボックスとともにサブグルーピングが使用されるときにSampleToGroupボックスとSampleGroupDescriptionボックスとの間に一対一マッピングがあるようにgrouping_typeの同じ値(およびgrouping_type_parameterの異なる値)を持つSample TableボックスまたはTrack Fragmentボックス内の複数のSampleGroupDescriptionボックスを有する可能性はない。
【００７１】
さらに、14496-12仕様にはSample Descriptionボックスの次の説明がある。
トラック内のサンプルに対して複数のサンプルグルーピングがある場合に、このボックスの複数のインスタンスがあり得る。SampleGroupDescriptionボックスの各インスタンスは、異なるサンプルグルーピングを区別するタイプコードを有する。トラック内に、特定のグルーピングタイプを持つこのボックスの多くても1つのインスタンスがあるものとする。関連付けられているSampleToGroupは、グルーピングタイプに対する同じ値を指示するものとする。
このテキストから、タイプコードおよびグルーピングタイプは両方とも、grouping_typeだけであるべきであり、サブタイプgrouping_type_parameterを含まない。
【００７２】
本開示の技法の概要説明を以下で与え、いくつかの方法の詳細な実装形態を後のセクションで提供する。これらの技法のうちのいくつかは、独立して適用されてよく、それらのうちのいくつかは、組み合わせて適用されてよい。本開示の特定の技法は、ファイルフォーマットに属しているファイルが従わなければならない要件を規定する。たとえば、ファイルがそれらの要件のうちの1つを満たさない場合、ファイルは、ファイルフォーマットに適合しない。
【００７３】
本開示の第1の例示的な技法によれば、上で説明されているISOBMFFにおけるサンプルグループのシグナリングに関する明確さの問題は、grouping_type_parameterシンタックス要素をSample to Groupボックスシンタックスから取り除くことによって解消され得る。したがって、grouping_typeシンタックス要素は、Sample to Groupボックスのグルーピングタイプを指示する単独のシンタックス要素であってよい。
【００７４】
本開示の第2の例示的な技法によれば、上で説明されているISOBMFFにおけるサンプルグループのシグナリングに関する明確さの問題は、Sample Group Descriptionボックスのバージョンが1であるときに、grouping_type_parameterシンタックス要素をSample Group Descriptionボックスのシンタックスに追加することによって解消され得る。この例を使用することで、Sample Group DescriptionボックスおよびSample to Groupボックスがgrouping_typeシンタックス要素およびgrouping_type_parameterシンタックス要素の値によって、もし存在すれば、マッチングされ得るようにSample Group DescriptionボックスとSample to Groupボックスとの間に一対一関係がある。たとえば、Sample Group Descriptionボックスのシンタックスは、Sample Group Descriptionボックスがgrouping_type_parameterシンタックス要素を含み得るように修正され得る。この例では、Sample to Groupボックスは、Sample to Groupボックスのgrouping_typeシンタックス要素の値がSample Group Descriptionボックスのgrouping_typeシンタックス要素の値とマッチし、Sample to Groupボックスのgrouping_type_parameterシンタックス要素の値がGroup Descriptionボックスのgrouping_type_parameterシンタックス要素の値とマッチした場合に、Sample Group Descriptionボックスに対応し得る。
【００７５】
本開示の第3の例示的な技法によれば、上で説明されているISOBMFFにおけるサンプルグループグループのシグナリングに関する明確さの問題は、同じグルーピングタイプに対するSampleGroupDescriptionボックスとSampleToGroupボックスとの間の関係が1からNであると定義することによって解消され得る。この第3の例示的な技法によれば、次のうちの1つまたは複数が適用され得る。最初に、コンテナボックス(たとえば、「stbl」または「traf」)内に、grouping_typeの特定の値を持つSampleGroupDescriptionボックスは1つしかなく、grouping_typeの同じ値を持つ関連付けられている(たとえば、対応する)SampleToGroupボックスは1つまたは複数あり得る。たとえば、SampleGroupDescriptionボックス内のgrouping_typeシンタックス要素の値は、3に等しく、複数のSampleToGroupボックス内のgrouping_typeシンタックス要素の値は、3に等しい値を有し得る。いくつかの例において、コンテナボックスは、複数のSampleGroupDescriptionボックスを含み得る。少なくともいくつかのそのような例において、複数のSampleGroupDescriptionボックスのうちのどの2つも、同じ値を持つgrouping_typeシンタックス要素を有することを許されない。
【００７６】
第2に、本開示の第3の例示的な技法において、コンテナボックス内でgrouping_typeシンタックス要素の特定の値を持つ複数のSampleToGroupボックスがあるときに、すべてのSampleToGroupボックスのバージョンは1でなければならない。たとえば、この例では、コンテナボックス内の2つのSampleToGroupボックスが、値が3に等しいgrouping_typeシンタックス要素を有する場合に、SampleToGroupボックスのうちの1つをバージョン0のSampleToGroupボックスにすることは可能でない。むしろ、この例では、2つのSampleToGroupボックスの両方が、バージョン1のSampleToGroupボックスである。したがって、この例では、2つのSampleToGroupボックスの両方が、grouping_type_parameterシンタックス要素を有する。したがって、単一のコンテナボックス内でgrouping_typeシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないというのがファイルフォーマットの要件であり得る。
【００７７】
第3に、本開示のこの第3の例示的な技法において、grouping_typeシンタックス要素の特定の値を持つ複数のSampleToGroupボックスがあるときに、grouping_typeシンタックス要素の値は、0より大きいgroup_description_indexシンタックス要素のどの値もSampleToGroupボックスのうちの複数に存在しないように制約されるべきである。言い換えれば、同じコンテナボックス内の2つまたはそれ以上のSampleToGroupボックスが0よりも大きい同じ値を持つgroup_description_indexシンタックス要素を有することを妨げる制限もしくは禁止がファイルフォーマットに組み込まれている。たとえば、第1のSampleToGroupボックスおよび第2のSampleToGroupボックスは、各々、値が4に等しいgrouping_typeシンタックス要素を有し得る。この例では、第1のSampleToGroupボックスが値が2に等しいgroup_description_indexシンタックス要素を有する場合に、第2のSampleToGroupボックスは、値が2に等しいgroup_description_indexシンタックス要素を有し得ない。したがって、この例では、単一のコンテナボックス内でグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないというのがファイルフォーマットの要件であり得る。
【００７８】
したがって、本開示の第3の技法の一例によれば、ソースデバイス12またはファイル生成デバイス34などのデバイスは、ファイルが特定のファイルフォーマットに適合するようにファイルのコンテナボックス(たとえば、サンプルテーブルボックスまたはトラックフラグメントボックス)を生成し得る。コンテナボックスを生成する一環として、デバイスは、コンテナボックス内で、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成し得る。各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与える。SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含む。この例では、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有する。さらに、この例では、デバイスは、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成し得る。この例では、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含む。それに加えて、各それぞれのSampleToGroupボックスは、1つまたは複数のサンプルグループエントリを含む。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含む。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含む。それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む。この例では、デバイスは、ファイルを出力し得る。
【００７９】
宛先デバイス14などの、ファイルを読み込むためのデバイスは、ファイルを取得し、たとえば、ファイルを構文解析することによって、ファイルからコンテナボックスを取得することができる。たとえば、図1の例において、宛先デバイス14のストレージ媒体29は、ファイルを記憶するように構成され得る。宛先デバイス14のファイル構文解析ユニット31は、ファイルからコンテナボックスを取得するように構成され得る。この例では、ビデオレコーダー30はファイルから構文解析された符号化ビデオデータを復号することができる。
【００８０】
本開示の第3の例示的な技法によれば、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかないという特定のファイルフォーマットの要件があり得る。しかしながら、いくつかの例では、デバイスは、特定の値と異なるグルーピングタイプシンタックス要素を有する別のSampleGroupDescriptionボックスをさらに生成し得る。
【００８１】
上で指示されているように、ファイルは、特定のファイルフォーマットに適合し得る。さらに、いくつかの例では、単一のコンテナボックス内でグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないというのがファイルフォーマットの要件である。言い換えれば、コンテナボックス内でgrouping_typeの特定の値を持つ複数のSampleToGroupボックスがあるときに、すべてのSampleToGroupボックスのバージョンは1でなければならない。さらに、いくつかの例では、単一のコンテナボックス内でグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないというのがファイルフォーマットの要件である。言い換えれば、grouping_typeの特定の値を持つ複数のSampleToGroupボックスがあるときに、0よりも大きいgroup_description_indexの値はどれも、SampleToGroupボックスのうちの複数に存在しないことが制約条件とされるべきである。いくつかの例では、単一のトラックまたはトラックフラグメントにおいてグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないというのがファイルフォーマットの要件である。
【００８２】
ISOBMFF仕様では、DASHとともに使用する6タイプのストリームアクセスポイント(SAP)を指定する。最初の2つのSAPタイプ(タイプ1および2)は、H.264/AVCおよびHEVCにおける瞬時復号リフレッシュ(IDR)ピクチャに対応する。IDRピクチャは、Iスライスを含むだけである。Iスライスは、イントラ予測ブロックを含むが、インター予測ブロックを含み得ない。第3のSAPタイプ(タイプ3)は、オープンGOPランダムアクセスポイント、すなわち、HEVCにおけるリンク切れアクセス(BLA)またはクリーンランダムアクセス(CRA)ピクチャに対応する。BLAピクチャおよびCRAピクチャは、Iスライスしか含み得ない。復号順ではCRAピクチャの後にあるが、出力順ではCRAピクチャに先行するピクチャは、参照のためCRAピクチャの前に復号されたピクチャを使用し得る。BLAピクチャは、典型的には、CRAピクチャの位置でスプライスするビットストリームから現れ、スプライスされたビットストリームにおいて、スプライシングポイントCRAピクチャは、BLAピクチャに変更される。第4のSAPタイプ(タイプ4)は、漸進的復号リフレッシュ(GDR)ランダムアクセスポイントに対応する。イントラランダムアクセスポイント(IRAP)アクセスユニットではなく、リカバリーポイントSEIメッセージを含むアクセスユニットは、GDRアクセスユニットと称され、その対応するピクチャは、GDRピクチャと称される。
【００８３】
現在の14996-12仕様では、SAPサンプルグルーピングをシグナリングする設計は、SampleToGroupボックスのバージョン1が使用されることを必要とする。この設計は、典型的には複数のSampleToGroupボックス、さらにはSampleToGroupボックス内のより多くの全エントリの使用を必要とするので不効率である。これは、より高い構文解析複雑度およびより大きいデータオーバーヘッドの両方を意味し得る。追加のデータオーバーヘッドに対する理由の1つは、余分なボックスを使用すると、結果として、ボックスタイプ、ボックスバージョンなどの何らかの情報をシグナリングするためにより大きいオーバーヘッドを生じることになるというものである。追加のデータオーバーヘッドに対する別の理由は、各エントリのデータ量が一定である間の、SampleToGroupボックス内の追加のエントリである。より多くのボックスは、ボックスを見つけるためにより多くの構文解析が使用されることを意味し得る。特に、見つけるべきボックスが1つだけである場合、構文解析は、そのボックスが見つかった直後に停止することができ、場合によっては見つけるべきボックスが複数あり、ボックスの実際の数が未知であるときに、終わりまでのコンテナボックス全体の構文解析が使用される。
【００８４】
この問題を解決するために、本開示では、SampleToGroupボックスに対してバージョン1を使用する代わりに、バージョン0が使用されることを提案している。シンタックス要素target_layersおよびlayers_id_method_idcは、サンプルグループ説明エントリに含まれる。
【００８５】
図2は、本開示で説明する技術を実施してもよい例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、本開示において説明されているファイルフォーマット技法を使用して記憶され得るビデオデータを生成するように構成されているビデオコーダーの一例を表している。ビデオエンコーダ20は、シングルビュー、マルチビュー、スケーラブル、3D、および他のタイプのビデオデータを出力するように構成され得る。ビデオエンコーダ20は、ビデオを後処理処理エンティティ27に出力するように構成され得る。後処理処理エンティティ27は、ビデオエンコーダ20からの符号化ビデオデータを処理し得るMANEまたはスプライシング/編集デバイスなどのビデオエンティティの一例を表すことを意図されている。いくつかの場合において、後処理処理エンティティは、ネットワークエンティティの一例であってよい。いくつかのビデオ符号化システムでは、後処理エンティティ27およびビデオエンコーダ20は、別々のデバイスの部分であってよいが、他の場合には、後処理エンティティ27に関して説明される機能は、ビデオエンコーダ20を備える同じデバイスによって実行されてもよい。後処理エンティティ27は、ビデオデバイスであってよい。いくつかの例において、後処理エンティティ27は、図1のファイル生成デバイス34と同じであってよい。
【００８６】
本開示の技法によれば、後処理エンティティ27は、ビデオエンコーダ20によって生成された符号化ビデオコンテンツを記憶するためのファイルを生成し得る。ファイルは、ファイルのコンテナボックス内で、サンプルグルーピングに対するサンプルグループ説明を与えるSampleGroupDescriptionボックスを含み得る。SampleGroupDescriptionボックスは、特定の値を有するグルーピングタイプシンタックス要素を含む。それに加えて、SampleGroupDescriptionボックスは、1つまたは複数のサンプルグループエントリを含む。後処理エンティティ27は、同じコンテナボックス内で、複数のSampleToGroupボックスを生成し得る。複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは、特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、それぞれのサンプルグルーピング内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、それぞれのサンプルグルーピングのサンプルを説明するSampleGroupDescriptionボックス内のエントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含む。それぞれのサンプルグルーピングの各サンプルは、ビデオコンテンツのそれぞれのピクチャを含み得る。
【００８７】
ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行してもよい。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオにおける空間的冗長性を低減または除去するために空間的予測に依存する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオにおける時間的冗長性を低減または除去するために時間的予測に依存する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのうちのいずれかを指してもよい。片方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのうちのいずれかを指してもよい。
【００８８】
図2の例において、ビデオエンコーダ20は、区分ユニット35と、予測処理ユニット41と、フィルタユニット63と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを備える。予測処理ユニット41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測処理ユニット46とを備える。ビデオブロック再構築のため、ビデオエンコーダ20は、逆量子化ユニット58と、逆変換処理ユニット60と、加算器62とをさらに備える。フィルタユニット63は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなどの1つまたは複数のループフィルタを表すことを意図している。フィルタユニット63は、ループフィルタであるように図2に示されているが、他の構成では、フィルタユニット63は、ポストループフィルタとして実装されてもよい。
【００８９】
ビデオエンコーダ20のビデオデータメモリ65は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶することができる。ビデオデータメモリ65に記憶されるビデオデータは、たとえば、ビデオソース18から取得され得る。参照ピクチャメモリ64は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオエンコーダ20によるビデオデータの符号化で使用するための参照ビデオデータを記憶する参照ピクチャメモリであってよい。ビデオデータメモリ65および参照ピクチャメモリ64は、ダイナミックランダムアクセスメモリ(DRAM)(同期DRAM(SDRAM)を含む)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM（登録商標）)、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成されてもよい。ビデオデータメモリ65および参照ピクチャメモリ64は、同じメモリデバイスまたは別個のメモリデバイスによって提供されてもよい。様々な例では、ビデオデータメモリ65は、ビデオエンコーダ20の他の構成要素とともにオンチップであってもよく、または、これらの構成要素に対してオフチップであってもよい。
【００９０】
図2に示すように、ビデオエンコーダ20は、ビデオデータを受信し、区分ユニット35は、ビデオブロックにデータを区分する。この区分はまた、スライス、タイル、または他のより大きい単位への区分、ならびに、たとえば、LCUおよびCUの4分木構造によるビデオブロック区分を含んでもよい。ビデオエンコーダ20は、全体的に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、あるいは、タイルと呼ばれるビデオブロックのセットに)分割されてもよい。予測処理ユニット41は、エラー結果(たとえば、コーディングレートおよび歪のレベル)に基づいて、現在のビデオブロックのための、複数のイントラコーディングモードのうちの1つまたは複数のインターコーディングモードのうちの1つなどの、複数の可能なコーディングモードのうちの1つを選択してもよい。予測処理ユニット41は、残差ブロックデータを生成するために加算器50に、および、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に、得られたイントラまたはインターコード化ブロックを提供してもよい。
【００９１】
予測処理ユニット41内のイントラ予測処理ユニット46は、空間的圧縮を提供するために、コーディングされるべき現在のブロックと同じフレームまたはスライス内の1つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実行してもよい。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間的圧縮を提供するために、1つまたは複数の参照ピクチャ内の1つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行する。
【００９２】
動き推定ユニット42は、ビデオシーケンスのための所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成されてもよい。所定のパターンは、Pスライス、Bスライス、またはGPBスライスとしてシーケンス内のビデオスライスを指定してもよい。動き推定ユニット42および動き補償ユニット44は、高度に統合されてもよいが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示してもよい。
【００９３】
予測ブロックは、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって決定されてもよいピクセル差分の観点で、コーディングされるべきビデオブロックのPUと密接に整合することが見出されたブロックである。いくつかの例において、ビデオエンコーダ20は、参照ピクチャメモリ64内に記憶されている参照ピクチャのサブ整数ピクセル位置に対する値を計算することができる。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置および分数ピクセル位置に対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力してもよい。
【００９４】
動き推定ユニット42は、参照ピクチャの予測ブロックの位置とPUの位置とを比較することによって、インターコーディングされたスライス内のビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(List0)または第2の参照ピクチャリスト(List1)から選択されるものとしてよく、各々参照ピクチャメモリ64内に記憶されている1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルを決定することができるシンタックス要素をエントロピー符号化ユニット56と動き補償ユニット44とに送る。
【００９５】
動き補償ユニット44によって実行される動き補償は、あるいはサブピクセル精度で補間を行う動き推定によって決定された動きベクトルに基づいて、予測ブロックを取得または生成することを伴ってもよい。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定してもよい。ビデオエンコーダ20は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成し得る。ピクセル差分値は、ブロックのための残差データを形成し、輝度差成分と彩度差成分の両方を含んでもよい。加算器50は、この減算演算を実行する1つまたは複数の成分を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成してもよい。
【００９６】
イントラ予測処理ユニット46は、上で説明されたように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。具体的には、イントラ予測処理ユニット46は、現在のブロックを符号化するために使用するイントラ予測モードを決定してもよい。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別個の符号化パスの間、様々なイントラ予測モードを使用して現在のブロックを符号化してよく、イントラ予測処理ユニット46は、試験されたモードから、使用するための適切なイントラ予測モードを選択することができる。たとえば、イントラ予測処理ユニット46は、様々な試験されたイントラ予測モードに対してレート-歪み分析を使用してレート-歪み値を計算し、試験されたモードの中から最良のレート-歪み特性を有するイントラ予測モードを選択してもよい。レート-歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化される、符号化されていない元のブロックとの間の歪み(すなわち、エラー)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロックに対して最良のレート-歪み値を示すのかを決定するために、様々な符号化ブロックに関する歪みおよびレートから比を計算し得る。
【００９７】
いずれの場合も、ブロックに対するイントラ予測モードを選択した後、イントラ予測処理ユニット46は、ブロックに対する選択されたイントラ予測モードを指示する情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、本開示の技術により選択されたイントラ予測モードを指示する情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)を含んでもよい、送信されたビットストリーム構成データ内に、コンテキストの各々のために使用する、様々なブロックのための符号化コンテキストの定義と、最もあり得るイントラ予測モードの指示と、イントラ予測モードインデックステーブルと、変更されたイントラ予測モードインデックステーブルとを含んでもよい。
【００９８】
予測処理ユニット41が、インター予測またはイントラ予測のいずれかによって現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって、残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1つまたは複数のTUに含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念上類似する変換などの、変換を使用して残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換してもよい。
【００９９】
変換処理ユニット52は、結果として得られる変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、変換係数を量子化してビットレートをさらに減らす。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行してもよい。
【０１００】
量子化に続いて、エントロピー符号化ユニット56は、量子化された変換係数を表すシンタックス要素をエントロピー符号化するものとしてよい。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法もしくは技術を実行してもよい。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化されたビットストリームは、ビデオデコーダ30に送信されるか、またはビデオデコーダ30による後からの送信もしくは取り出しのためにアーカイブされ得る。エントロピー符号化ユニット56は、動きベクトルおよびコーディングされている現在のビデオスライスのための他のシンタックス要素もエントロピー符号化し得る。
【０１０１】
逆量子化ユニット58および逆変換処理ユニット60は、参照ピクチャの参照ブロックとして後に使用するためのピクセル領域における残差ブロックを再構成するために、それぞれ、逆量子化および逆変換を適用する。動き補償ユニット44は、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算してもよい。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに1つまたは複数の補間フィルタを適用してもよい。加算器62は、再構築された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算し、参照ブロックを生成して参照ピクチャメモリ64に記憶するものとしてよい。参照ブロックは、動き推定ユニット42と動き補償ユニット44とによって、その後のビデオフレームもしくはピクチャ内のブロックをインター予測するための参照ブロックとして使用され得る。
【０１０２】
図3は、本開示に記載の技法を実装してもよい例示的なビデオデコーダ30を示すブロック図である。図3のビデオデコーダ30は、本開示において説明されているファイルフォーマット技法を使用して記憶され得るビデオデータを復号するように構成されているビデオデコーダの一例を表している。
【０１０３】
ビデオデコーダ30は、シングルビュー、マルチビュー、スケーラブル、3D、および他のタイプのビデオデータを復号するように構成され得る。図3の例において、ビデオデコーダ30は、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換処理ユニット88と、加算器90と、フィルタユニット91と、参照ピクチャメモリ92とを備える。予測処理ユニット81は、動き補償ユニット82とイントラ予測処理ユニット84とを備える。ビデオデコーダ30は、いくつかの例において、図2からのビデオエンコーダ20に関して説明されている符号化パスに一般的に相反する復号パスを実行し得る。
【０１０４】
コード化ピクチャバッファ(CPB)79は、ビットストリームの符号化ビデオデータ(たとえば、NALユニット)を受信し、記憶することができる。CPB79に記憶されたビデオデータは、たとえば、図1のリンク16から、たとえば、カメラなどのローカルビデオソースから、ビデオデータの有線もしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得され得る。CPB79は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するビデオデータメモリを形成し得る。参照ピクチャメモリ92は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。CPB79および参照ピクチャメモリ92は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗性RAM(MRAM)、抵抗性RAM(RRAM（登録商標）)、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。CPB79および参照ピクチャメモリ92は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、CPB79は、ビデオデコーダ30の他のコンポーネントとともにオンチップであってよく、またはそれらのコンポーネントに対してオフチップであってよい。
【０１０５】
復号プロセスにおいて、ビデオデコーダ30は、ビデオエンコーダ20から符号化されたビデオスライスおよび関連付けられているシンタックス要素のビデオブロックを表す符号化されたビデオビットストリームを受信する。図3の例において、ビデオデコーダ30は、ファイルを構文解析してコーディングされたビデオビットストリームを抽出するファイル構文解析ユニット77から符号化ビデオビットストリームを受信し得る。いくつかの例では、ファイル構文解析ユニット77は、ネットワークエンティティ29からファイルを受信し得る。たとえば、ネットワークエンティティ29は、サーバ、MANE、ビデオエディタ/スプライサー、または上で説明されている技法のうちの1つまたは複数を実装するように構成されている他のそのようなデバイスであってよい。ネットワークエンティティ29は、ビデオエンコーダ20などのビデオエンコーダを含んでいても含んでいなくてもよい。本開示で説明されている技法のうちのいくつかは、ネットワークエンティティ29が符号化ビデオビットストリームをビデオデコーダ30に送信する前にネットワークエンティティ29によって実装され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ29およびビデオデコーダ30は、別々のデバイスの部分であってよいが、他の場合には、ネットワークエンティティ29に関して説明されている機能は、ビデオデコーダ30を備える同じデバイスによって実行されてもよい。ネットワークエンティティ29は、ビデオデバイスとみなされてよい。さらに、いくつかの例において、ネットワークエンティティ29は、図1のファイル生成デバイス34と同じである。ファイル構文解析ユニット77は、宛先デバイス14の一部として、または宛先デバイスから分離しているデバイスとして実装され得る。いくつかの例では、ネットワークエンティティ29およびファイル構文解析ユニット77は、同じデバイスによって実装される。
【０１０６】
ビデオデコーダ30のエントロピー復号ユニット80は、ビットストリームの特定のシンタックス要素をエントロピー復号して、量子化された係数と、モーションベクトルと、他のシンタックス要素とを生成する。エントロピー復号ユニット80は、動きベクトルおよび他のシンタックス要素を予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信することができる。
【０１０７】
ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成してもよい。ビデオフレームが、インターコーディングされた(すなわち、BまたはP)スライスとしてコーディングされるときに、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素に基づき現在のビデオスライスのビデオブロックに対する予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つのリスト内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92内に記憶された参照ピクチャに基づいて、デフォルトの構成技術を使用して、参照フレームリスト、リスト0およびリスト1を構成してもよい。
【０１０８】
動き補償ユニット82は、動きベクトルを決定し、他のシンタックス要素を取得することによって、現在のビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用された予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスのための参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測状態と、現在のビデオスライス内のビデオブロックを復号するための他の情報とを決定するために、受信したシンタックス要素の一部を使用する。
【０１０９】
動き補償ユニット82はまた、補間フィルタに基づいて補間を実行してもよい。動き補償ユニット82は、参照ブロックのサブ整数ピクセルに関する補間値を計算するために、ビデオブロックの符号化の間にビデオエンコーダ20によって使用されるように補間フィルタを使用してもよい。この場合には、動き補償ユニット82は、受信したシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用してもよい。
【０１１０】
逆量子化ユニット86は、ビットストリーム内に用意され、エントロピー復号ユニット80によって復号される量子化された変換係数を逆量子化(inverse quantize)、すなわち逆量子化(de-quantize)する。逆量子化プロセスは、ビデオスライス内の各ビデオブロックについてビデオエンコーダ20によって計算された量子化パラメータを使用して、量子化の程度、また同様に、適用されるべき逆量子化の程度を決定することを含み得る。逆変換処理ユニット88は、ピクセル領域における残差ブロックを生成するために、変換係数に逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを適用する。
【０１１１】
動き補償ユニット82が、動きベクトルおよび他のシンタックス要素に基づき現在のビデオブロックに対する予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックと動き補償ユニット82によって生成された対応する予測ブロックとの総和を求めることによって復号ビデオブロックを形成する。加算器90は、この総和演算を実行する1つまたは複数のコンポーネントを表す。必要に応じて、(コーディングループ内またはコーディングループ後のいずれかの)ループフィルタもまた、ピクセル遷移を平滑化するため、またはさもなければビデオ品質を改善するために使用されてよい。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表すことを意図している。フィルタユニット91は、ループフィルタであるように図3に示されているが、他の構成では、フィルタユニット91は、ポストループフィルタとして実装されてもよい。次いで、所与のフレームまたはピクチャ中の復号ビデオブロックは、参照ピクチャメモリ92内に記憶され、参照ピクチャメモリ92は、後続の動き補償のために使用される参照ピクチャを記憶する。参照ピクチャメモリ92は、図1のディスプレイデバイス32などの、ディスプレイデバイス上に後で提示するために復号されたビデオデータも記憶する。したがって、参照ピクチャメモリ92は、ビデオデータを記憶するように構成されている1つまたは複数のデータストレージ媒体の一例であってよい。
【０１１２】
図4は、ネットワーク100の一部を形成するデバイスの例示的なセットを示すブロック図である。この例では、ネットワーク100は、ルーティングデバイス104A、104B(ルーティングデバイス104)およびトランスコーディングデバイス106を備える。ルーティングデバイス104およびトランスコーディングデバイス106は、ネットワーク100の一部を形成し得る少数のデバイスを表すことを意図している。スイッチ、ハブ、ゲートウェイ、ファイアウォール、ブリッジ、および他のそのようなデバイスなどの他のネットワークデバイスも、ネットワーク100内に備えられ得る。さらに、サーバデバイス102とクライアントデバイス108との間のネットワーク経路に沿って追加のネットワークデバイスが備えられ得る。いくつかの例において、サーバデバイス102は、ソースデバイス12(図1)に対応するものとしてよく、クライアントデバイス108は、宛先デバイス14(図1)に対応するものとしてよい。
【０１１３】
一般に、ルーティングデバイス104は、ネットワーク100を通じてネットワークデータを交換するための1つまたは複数のルーティングプロトコルを実装する。いくつかの例では、ルーティングデバイス104は、プロキシまたはキャッシュ動作を実行するように構成され得る。したがって、いくつかの例では、ルーティングデバイス104は、プロキシデバイスと呼ばれることがある。一般に、ルーティングデバイス104は、ネットワーク100を通じて経路を発見するためのルーティングプロトコルを実行する。そのようなルーティングプロトコルを実行することによって、ルーティングデバイス104Bは、ルーティングデバイス104Aを介してそれ自体からサーバデバイス102までのネットワーク経路を発見し得る。
【０１１４】
本開示の技法は、ルーティングデバイス104およびトランスコーディングデバイス106などのネットワークデバイスによって実装され得るが、クライアントデバイス108によっても実装され得る。この方式で、ルーティングデバイス104、トランスコーディングデバイス106、およびクライアントデバイス108は、本開示の技法を実行するように構成されているデバイスの例を表す。さらに、図1のデバイス、ならびに図2に示すエンコーダ20および図3に示すデコーダ30は、同じく、本開示の技法のうちの1つまたは複数を実行するように構成され得るデバイスの例でもある。たとえば、本開示において説明されている方式で生成されるファイルは、図4に示されているように、ネットワーク100を介してサーバデバイス102からクライアントデバイス108に送信されるか、またはストリーミングされ得る。
【０１１５】
本開示の別のところに記載されている本開示の技法の詳細は、この項で述べられる。次のテキスト、15444-12で説明されている実装の変更において、「<insert>」記号と「</insert>」記号との間のテキストは、追加または修正された既存のテキストに対応し(たとえば、<insert>追加されたテキスト</insert>)、取り除かれたテキストは、「<delete>」記号と「</delete>」記号との間にある(たとえば、<delete>削除されたテキスト</delete>)。
【０１１６】
本開示の第1の例示的な技法に関して上で簡単に指示されているように、grouping_type_parameterシンタックス要素は、Sample to Groupボックスシンタックスから取り除かれるものとしてよく、次の通りである。
aligned(8) class SampleToGroupBox
extends FullBox('sbgp', version, 0)
{
unsigned int(32)  grouping_type;
<delete>if (version == 1) {
unsigned int(32) grouping_type_parameter;
}</delete>
unsigned int(32)  entry_count;
for (i=1; i <= entry_count; i++)
{
unsigned int(32)  sample_count;
unsigned int(32)  group_description_index;
}
}
【０１１７】
この例では、grouping_type_parameterシンタックス要素を使用する14496-12の部分は、パラメータで伝えられる情報(必ずしも、シンタックス要素それ自体でない)をサンプルグループ説明エントリ内に追加するように修正され得る。
【０１１８】
さらに、本開示の第2の例示的な技法に関して上で簡単に指示されているように、grouping_typeシンタックスおよびgrouping_type_parameterシンタックス要素の値によって、もし存在すれば、マッチングされ得るようにSample Group DescriptionボックスとSample to Groupボックスとの間に一対一関係があり得る。この例によれば、次のようにSampleGroupDescriptionBoxのシンタックスが修正され得る。
aligned(8) class SampleGroupDescriptionBox (unsigned int(32) handler_type)
extends FullBox('sgpd', version, 0){
unsigned int(32) grouping_type;
if (version==1) {
unsigned int(32) default_length;
<insert>unsigned int(32) grouping_type_parameter; </insert>
}
if (version>=2) {
unsigned int(32) default_sample_description_index;
}
unsigned int(32) entry_count;
int i;
for (i = 1 ; i <= entry_count ; i++){
if (version==1) {
if (default_length==0) {
unsigned int(32) description_length;
}
}
SampleGroupEntry (grouping_type);
// メディアタイプに適切であり許される
// SampleGroupEntryから導出されるクラスのインスタンス
}
}
【０１１９】
さらに、Sample Group DescriptionボックスとSample to Groupボックスとの間に一対一関係がある本開示の技法によれば、Sample Group Descriptionボックス内のgrouping_typeシンタックス要素およびgrouping_type_parameterシンタックス要素のセマンティクスは、次のように修正され得る。
grouping_typeは、グルーピング<insert>を識別する整数である。grouping_type_parameterと一緒に、もし存在すれば、これは、このサンプルグループ説明に関連付けられているSampleToGroupボックスを識別する。
grouping_type_parameterは、グルーピングのサブタイプの指示である。</insert>
【０１２０】
Sample to Groupボックス内のgrouping_typeおよびgrouping_type_parameterのセマンティクスは、次のように修正され得る。
grouping_typeは、サンプルグルーピングのタイプ(すなわち、サンプルグループを形成するために使用される基準)を識別する整数であり、それをグルーピングタイプ<insert>およびgrouping_type_parameter、もし存在すれば</insert>に対する同じ値を持つそのサンプルグループ説明テーブルにリンクする。grouping_type (and, if used, grouping_type_parameter)に対する同じ値を持つこのボックスの多くても1回の出現が、トラックに対して存在するものとする。
grouping_type_parameterは、グルーピングのサブタイプの指示である。
【０１２１】
さらに、Sample Group DescriptionボックスとSample to Groupボックスとの間に一対一関係がある本開示の技法によれば、SampleGroupDescriptionボックスおよびSampleToGroupボックスの量に関する説明は、次のように修正され得る。
SampleGroupDescriptionボックス:トラック<insert>またはトラックフラグメント</insert>内のサンプルに対して複数のサンプルグルーピングがある場合に、このボックスの複数のインスタンスがあり得る。SampleGroupDescriptionボックスの各インスタンスは、異なるサンプルグルーピングを区別するタイプコードを有する。トラック<insert>またはトラックフラグメント</insert>内に、特定のグルーピングタイプ<insert>およびもし存在すれば、サブタイプ</insert>を持つこのボックスの多くても1つのインスタンスがあるものとする。<insert>関連付けられているSampleToGroupは、グルーピングタイプおよびもし存在すれば、サブタイプに対する同じ値を指示するものとし、バージョンの同じ値を指示するものとする。</insert>
SampleToGroupボックス:トラック<insert>またはトラックフラグメント</insert>内のサンプルに対して複数のサンプルグルーピングがある場合に、このボックスの複数のインスタンスがあり得る。SampleToGroupボックスの各インスタンスは、異なるサンプルグルーピングを区別するタイプコードを有する。トラック<insert>またはトラックフラグメント</insert>内に、特定のグルーピングタイプ<insert>およびもし存在すれば、サブタイプ</insert>を持つこのボックスの多くても1つのインスタンスがあるものとする。<insert>関連付けられているSampleGroupDescriptionは、グルーピングタイプおよびもし存在すれば、サブタイプに対する同じ値を指示するものとし、バージョンの同じ値を指示するものとする。</insert>
【０１２２】
上で指示されているように、本開示の第3の技法によれば、同じグルーピングタイプに対するSampleGroupDescriptionボックスとSampleToGroupボックスとの間の関係は、1からNである。そのような技法によれば、次の制約条件または態様のうちの1つまたは複数が適用され得る。最初に、コンテナボックス(たとえば、「stbl」または「traf」)内に、grouping_typeの特定の値を持つSampleGroupDescriptionボックスは1つしかなく、grouping_typeの同じ値を持つ関連付けられているSampleToGroupボックスは1つまたは複数あり得る。第2に、コンテナボックス内でgrouping_typeの特定の値を持つ複数のSampleToGroupボックスがあるときに、すべてのSampleToGroupボックスのバージョンは1でなければならない。たとえば、コンテナボックス内に正確に3つのSampleToGroupボックスがあり、これら3つのSampleToGroupボックス内のgrouping_typeシンタックス要素の値が各々5に等しい場合、SampleToGroupボックスの各々はバージョン1 SampleToGroupボックスでなければならず、したがって、grouping_type_parameterシンタックス要素を含む。第3に、grouping_typeの特定の値を持つ複数のSampleToGroupボックスがあるときに、0よりも大きいgroup_description_indexシンタックス要素の値はどれも、SampleToGroupボックスのうちの複数に存在しないようにファイルが制約される。たとえば、コンテナボックス内に正確に3つのSampleToGroupボックスがあり、これら3つのSampleToGroupボックスの各々が5に等しい値を持つgrouping_typeシンタックス要素を有する場合、SampleToGroupボックスのどの2つも、同じ値を持つgroup_description_indexシンタックス要素を有することを、その値が0でない限り、許されない。たとえば、SampleToGroupボックスのどの2つも、値が6に等しいgroup_description_indexシンタックス要素を有することを許されない。
【０１２３】
さらに、同じグルーピングタイプに対するSampleGroupDescriptionボックスとSampleToGroupボックスとの間の関係が1からNである本開示の技法によれば、15444-12仕様におけるSampleToGroupボックスの量に関する説明は、次のように修正され得る。
トラック<insert>またはトラックフラグメント</insert>内のサンプルに対して複数のサンプルグルーピングがある場合に、このボックスの複数のインスタンスがあり得る。SampleToGroupボックスの各インスタンスは、異なるサンプルグルーピングを区別するタイプコードを有する。トラック<insert>またはトラックフラグメント</insert>内に、特定のグルーピングタイプ<insert>およびもし存在すれば、サブタイプ</insert>を持つこのボックスの多くても1つのインスタンスがあるものとする。<insert>関連付けられているSampleGroupDescriptionは、グルーピングタイプおよびもし存在すれば、サブタイプに対する同じ値を指示するものとする。</insert>
【０１２４】
それに加えて、SampleGroupDescriptionボックス内のgrouping_typeシンタックス要素のセマンティクスは、次のように修正され得る。
grouping_typeは、このサンプルグループ説明に関連付けられているSampleToGroupボックスを識別する整数である。grouping_type_parameterが所与のgrouping_typeについて<insert>SampleToGroupボックス内で</insert>定義されていない場合、<insert>コンテナボックス内に</insert>このgrouping_typeを持つ<insert>SampleToGroup</insert> <delete>この</delete>ボックスの出現が1回しかないものとする。
【０１２５】
同じグルーピングタイプに対するSampleGroupDescriptionボックスとSampleToGroupボックスとの間の関係が1からNである本開示の技法によれば、SampleToGroupボックス内のgroup_description_indexシンタックス要素のセマンティクスは、grouping_typeの特定の値を持つSampleToGroupボックスが複数あるときに、ファイルは、0よりも大きいgroup_description_indexシンタックス要素のどの値もSampleToGroupボックスのうちの複数に存在しないようにファイルが制約されることを確実にするために次のように修正され得る。
group_description_indexは、このグループ内のサンプルを説明するサンプルグループエントリのインデックスを与える整数である。インデックスは、1からSampleGroupDescriptionボックス内のサンプルグループエントリの数までの範囲内であるか、またはこのサンプルがこのタイプのグループなしのメンバーであることを指示するように値0をとる。<insert>このボックスのバージョンが1に等しいときに、group_description_indexの特定の値がこのSampleToGroupボックス内に存在している場合、group_description_indexの同じ値は、同じコンテナボックス内のgrouping_typeの同じ値を持つ他のどのSampleToGroupボックス内にも存在していないものとする。</insert>
【０１２６】
上で簡単に指示されているように、SAPサンプルグルーピングをシグナリングする現在の設計は、SampleToGroupボックスのバージョン1が使用されることを必要とする。SAPサンプルグルーピングをシグナリングするためにSampleToGroupボックスのバージョン1が使用されることを要求することによって引き起こされる問題を克服するために、ソースデバイス12またはファイル生成デバイス34などのデバイスは、SampleToGroupボックスのバージョン0を使用するものとしてよく、sample to group descriptionエントリ内にtarget_layersおよびlayers_id_method_idcシンタックス要素を含み得る。したがって、デバイスは、本開示の3つのすで説明されている技法のうちのどれが14496-12における一般的なサンプルグルーピング機構に対して採用されているかに関係なく「sap」サンプルグループ設計に対して変更された設計を使用し得る。
【０１２７】
14496-12仕様において、grouping_type_parameterのシンタックスおよびセマンティクスは、次のように指定される。
{
unsigned int(28)  target_layers;
unsigned int(4)  layer_id_method_idc;
}
【０１２８】
上のテキストにおいて、target_layersは、14496-12仕様の付録Iに従って指示されているSAPに対するターゲット層を指定する。target_layersのセマンティクスは、layer_id_method_idcの値に依存する。layer_id_method_idcが0に等しいときに、target_layersは予約される。layer_id_method_idcシンタックス要素は、target_layersシンタックス要素のセマンティクスを指定する。この例では、0に等しいlayer_id_method_idcは、ターゲット層が、SampleToGroupボックスを含むTrackボックスまたはTrack Fragmentボックスに対応するトラックによって表されるすべての層からなることを指定する。0に等しくないlayer_id_method_idcは、派生メディアフォーマット仕様によって指定される。
【０１２９】
上で指示されているように、SampleGroupDescriptionボックスは、一連のサンプルグループ説明エントリを含み得る。SAPには、サンプルグループ説明エントリの専用バージョンが使用され得る。14496-12仕様において、そのようなサンプルグループ説明エントリのシンタックスおよびセマンティクスは、次の通りである。
class SAPEntry() extends  SampleGroupDescriptionEntry('sap ')
{
unsigned int(4) reserved;
unsigned int(1) dependent_flag;
unsigned int(3) SAP_type;
}
【０１３０】
SAPEntry()では、予約されているシンタックス要素は0に等しいものとする。ファイルを構文解析するデバイスは、予約語のすべての値の許可および無視を行うものとする。dependent_flagシンタックス要素は、非層化媒体に対しては0であるものとする。1に等しいdependent_flagシンタックス要素は、ターゲット層を予測するために参照層が、もしあれば、このサンプルグループのサンプルにアクセスするために復号されなければならない場合があることを指定する。0に等しいdependent_flagシンタックス要素は、ターゲット層を予測するために参照層が、もしあれば、このサンプルグループのいずれかのSAPにアクセスするために復号される必要がないことを指定する。
【０１３１】
0および7に等しい値を持つsap_typeシンタックス要素は予約されている。1から6の範囲内にあるsap_typeシンタックス要素の値は、関連付けられているサンプルの付録Iで指定されているようなSAPタイプ(このグループ内のサンプルの1バイト目は位置ISAUである)を指定する。
【０１３２】
本開示の技法によれば、SAPサンプルグルーピングをシグナリングすることに関する問題を解消するために14496-12仕様に対して次の修正がなされている。
class SAPEntry() extends  SampleGroupDescriptionEntry('sap ')
{
unsigned int(4) reserved;
unsigned int(1) dependent_flag;
unsigned int(3) SAP_type;
<insert>unsigned int(28)  target_layers;
unsigned int(4)  layer_id_method_idc;</insert>
}
【０１３３】
この例では、予約シンタックス要素、dependent_flagシンタックス要素、SAP_typeシンタックス要素、target_layersシンタックス要素、layer_id_method_idcシンタックス要素のセマンティクスは、同じままである。さらに、上記の設計修正では、コンテナボックスにおいて、正確に1つのSampleToGroupボックスおよびgrouping_type 'sap'を持つ正確に1つのSampleGroupDescriptionボックスがある。
【０１３４】
次のテキストでは、一例として「sap」サンプルグルーピングを使用して本開示の第1、第2、および第3の例示的な技法を比較する。図5は、トラック内の一連のサンプル内の2つの異なるストリームアクセスポイント(SAP)サンプルタイプの概念図である。たとえば、トラック内の一連のサンプルを示す図5に示されているような次の例示的なシナリオを考察するが、サンプル内のSAPピクチャは、「sap」サンプルグルーピングを使用してシグナリングされる。特に、図5は、ベース層200および機能強化層202を示している。ベース層200は、IDRピクチャから始まり、その後1つまたは複数の非IRAPピクチャ(たとえば、95個の非IRAPピクチャ)が続く、一連のピクチャを含む。ベース層200では、次のIDRピクチャの前に非IRAPピクチャの間に多数のCRAピクチャがまき散らされている。機能強化層202は、ベース層200内のIDRピクチャと同じアクセスユニット内にIDRピクチャを含み得る。しかしながら、機能強化層202は、ベース層200のCRAピクチャに対応するCRAピクチャを必ずしも含まない。
【０１３５】
本開示の第1の例示的な技法による一例において、1つのSampleGroupDescriptionボックスおよびgrouping_type「sap」を持つ1つのSampleToGroupボックスが使用され得る。SampleGroupDescriptionボックスは、2つのエントリを含み、SampleToGroupボックス内のエントリカウントは、以下に示されているように、12である。
SampleGroupDescriptionBox ('sgpd', version = 0)
- grouping_type = 'sap '
- entry_count = 2
- Entry #1 - SAPEntry()
o dependent_flag = 0
o SAP_type = 1
o target_layers = 3
o layer_id_method_idc = 1
- Entry #2 - SAPEntry()
o dependent_flag = 1
o SAP_type = 3
o target_layers = 1
o layer_id_method_idc = 1
SampleToGroupBox ('sbgp', version = 0)
- grouping_type = 'sap '
- entry_count = 12
- Entry #1 - [1 - 1]  //[sample_count -- group_description_index]
- Entry #2 - [95 - 0]
- Entry #3 - [1 - 2]
- Entry #4 - [95 - 0]
- Entry #5 - [1 - 2]
- Entry #6 - [95 - 0]
- Entry #7 - [1 - 2]
- Entry #8 - [95 - 0]
- Entry #9 - [1 - 1]
- Entry #10 - [95 - 0]
- Entry #11 - [1 - 2]
- Entry #12 - [95 - 0]
【０１３６】
本開示の第2の例示的な技法による一例において、2つのSampleGroupDescriptionボックスがあり得、grouping_type「sap」を持つ2つのSampleToGroupボックスがあり得る。この例では、各SampleGroupDescriptionボックスは、1つのエントリを含み、その結果2つの全エントリがあり、2つのSampleToGroupボックス内のentry_countシンタックス要素はそれぞれ4および9であり、その結果、以下に示されているように、SampleToGroupボックス内に13個の全エントリがある。
SampleGroupDescriptionBox #1('sgpd', version = 0)
- grouping_type = 'sap '
- grouping_type_parameter
o target_layers = 3
o layer_id_method_idc = 1
- entry_count = 1
- Entry #1 - SAPEntry()
o dependent_flag = 0
o SAP_type = 1
SampleGroupDescriptionBox #2('sgpd', version = 0)
- grouping_type = 'sap '
- grouping_type_parameter
o target_layers = 1
o layer_id_method_idc = 1
- entry_count = 1
- Entry #1 - SAPEntry()
o dependent_flag = 0
o SAP_type = 3
SampleToGroupBox #1 ('sbgp', version = 0)
- grouping_type = 'sap '
- grouping_type_parameter
o target_layers = 3
o layer_id_method_idc = 1
- entry_count = 4
- Entry #1 - [1 - 1]  //[sample_count -- group_description_index]
- Entry #2 - [383 - 0]
- Entry #3 - [1 - 1]
- Entry #4 - [191 - 0]
SampleToGroupBox #2 ('sbgp', version = 0)
- grouping_type = 'sap '
- grouping_type_parameter
o target_layers = 1
o layer_id_method_idc = 1
- entry_count = 9
- Entry #1 - [96 - 0]  //[sample_count -- group_description_index]
- Entry #2 - [1 - 1]
- Entry #3 - [95 - 0]
- Entry #4 - [1 - 1]
- Entry #5 - [95 - 0]
- Entry #6 - [1 - 1]
- Entry #7 - [191 - 0]
- Entry #8 - [1 - 1]
- Entry #9 - [95 - 0]
【０１３７】
本開示の第3の例示的な技法による一例において、1つのSampleGroupDescriptionボックスがあり得、grouping_type「sap」を持つ2つのSampleToGroupボックスがあり得る。この例では、SampleGroupDescriptionボックスは、2つのエントリを含み、2つのSampleToGroupボックス内のentry_countシンタックス要素は、ここでもまた、それぞれ4および9であり、その結果、以下に示されているように、SampleToGroupボックス内に13個の全エントリがある。
SampleGroupDescriptionBox ('sgpd', version = 0)
- grouping_type = 'sap '
- entry_count = 2
- Entry #1 - SAPEntry()
o dependent_flag = 0
o SAP_type = 1
- Entry #2 - SAPEntry()
o dependent_flag = 1
o SAP_type = 3
SampleToGroupBox #1 ('sbgp', version = 0)
- grouping_type = 'sap '
- grouping_type_parameter
o target_layers = 3
o layer_id_method_idc = 1
- entry_count = 4
- Entry #1 - [1 - 1]  //[sample_count -- group_description_index]
- Entry #2 - [383 - 0]
- Entry #3 - [1 - 1]
- Entry #4 - [191 - 0]
SampleToGroupBox #2 ('sbgp', version = 0)
- grouping_type = 'sap '
- grouping_type_parameter
o target_layers = 1
o layer_id_method_idc = 1
- entry_count = 12
- Entry #1 - [96 - 0]  //[sample_count -- group_description_index]
- Entry #2 - [1 - 2]
- Entry #3 - [95 - 0]
- Entry #4 - [1 - 2]
- Entry #5 - [95 - 0]
- Entry #6 - [1 - 2]
- Entry #7 - [191 - 0]
- Entry #8 - [1 - 2]
- Entry #9 - [95 - 0]
【０１３８】
上からわかるように、オプション間の主な違いは、本開示の第1の技法による例では最小数の(SampleToGroupおよびSampleGroupDescription)ボックスを使用し、また最小数の全エントリを使用し得ることである。
【０１３９】
図6A、図6B、および図6Cは、本開示の1つまたは複数の技法による、ファイル300の例示的な構造を示す概念図である。図6Aは、上で説明されている本開示の第1の例示的な技法に対応している。図6Bは、上で説明されている本開示の第2の例示的な技法に対応している。図6Cは、上で説明されている本開示の第3の例示的な技法に対応している。
【０１４０】
図6A、図6B、および図6Cの例において、ファイル300は、動画ボックス302および複数のメディアデータボックス304を含む。図6A、図6B、および図6Cの例では同じファイル内にあるように示されているが、他の例では、動画ボックス302およびメディアデータボックス304は、別ファイルにあってもよい。上で指示されているように、ボックスは、一意のタイプの識別子および長さによって定義されたオブジェクト指向のビルディングブロックであってもよい。たとえば、ボックスは、ISOBMFFにおける基本的なシンタックス構造であってよく、4文字でコーディングされたボックスタイプ、ボックスのバイトカウント、およびペイロードを含む。
【０１４１】
動画ボックス302は、ファイル300のトラックに対するメタデータを含み得る。ファイル300の各トラックは、メディアデータの連続ストリームを含み得る。メディアデータボックス304の各々は、1つまたは複数のサンプル305を含み得る。サンプル305の各々は、オーディオまたはビデオアクセスユニットを含み得る。本開示の別のところで説明されているように、各アクセスユニットは、マルチビューコーディング(たとえば、MV-HEVCおよび3D-HEVC)およびスケーラブルビデオコーディング(たとえば、SHVC)による複数のコーディングされたピクチャを含み得る。たとえば、アクセスユニットは、各層に対する1つまたは複数のコーディングされたピクチャを含み得る。
【０１４２】
さらに、図6A、図6B、および図6Cの例において、動画ボックス302は、トラックボックス306を含む。トラックボックス306は、ファイル300のトラックに対するメタデータを封じ込めるものとしてよい。他の例では、動画ボックス302は、ファイル300の異なるトラックに対する複数のトラックボックスを含み得る。トラックボックス306は、メディアボックス307を含む。メディアボックス307は、トラック内のメディアデータに関する情報を宣言するすべてのオブジェクトを含み得る。メディアボックス307は、メディア情報ボックス308を含む。メディア情報ボックス308は、トラックのメディアの特性情報を宣言するすべてのオブジェクトを含み得る。メディア情報ボックス308は、サンプルテーブルボックス309を含む。サンプルテーブルボックス309は、サンプル特有のメタデータを指定し得る。
【０１４３】
図6A、図6B、および図6Cの例において、サンプルテーブルボックス309は、少なくとも1つのSampleToGroupボックス310および少なくとも1つのSampleGroupDescriptionボックス312を含む。したがって、サンプルテーブルボックス309は、「コンテナボックス」のインスタンスである。他の例では、サンプルテーブルボックス309は、SampleToGroupボックス310およびSampleGroupDescriptionボックス312に加えて他のボックスを含むものとしてよく、および/または複数のSampleToGroupボックスおよびSampleGroupDescriptionボックスを含み得る。SampleToGroupボックス310は、サンプル(たとえば、サンプル305のうちの特定の1つ)をサンプルのグループにマッピングし得る。SampleGroupDescriptionボックス312は、サンプルのグループ(すなわち、サンプルグループ)内のサンプルによって共有される特性を指定し得る。
【０１４４】
さらに、図6A、図6B、および図6Cの例において、SampleToGroupボックス310は、grouping_typeシンタックス要素313(すなわち、グルーピングタイプシンタックス要素)、entry_countシンタックス要素314(すなわち、エントリカウントシンタックス要素)、および1つまたは複数のサンプルグループエントリ315を含む。entry_countシンタックス要素314は、サンプルグループエントリ315の数を指示する。サンプルグループエントリ315の各々は、sample_countシンタックス要素316(すなわち、サンプルカウントシンタックス要素)およびgroup_description_indexシンタックス要素317(すなわち、グループ説明インデックスシンタックス要素)を含む。sample_countシンタックス要素316は、sample_countシンタックス要素316を含むサンプルグループエントリに関連付けられているサンプルの数を指示し得る。group_description_indexシンタックス要素317は、SampleGroupDescriptionボックス(たとえば、SampleGroupDescriptionボックス312)内で、group_description_indexシンタックス要素317を含むサンプルグループエントリに関連付けられているサンプルの説明を含むグループ説明エントリを識別し得る。
【０１４５】
それに加えて、図6A、図6B、および図6Cの例において、SampleGroupDescriptionボックス312は、grouping_typeシンタックス要素320、entry_countシンタックス要素322、および1つまたは複数のグループ説明エントリ324を含む。entry_countシンタックス要素322は、SampleGroupDescriptionボックス内のグループ説明エントリ324の数を指示する。
【０１４６】
上で指示されているように、本開示の第1の例示的な技法によれば、上で説明されているISOBMFFにおけるサンプルグループのシグナリングに関する明確さの問題は、grouping_type_parameterシンタックス要素をSample to Groupボックスシンタックスから取り除くことによって解消され得る。したがって、図6Aに示されている、本開示の第1の例示的な技法によれば、SampleToGroupボックス310のうちのどれも、grouping_type_parameterシンタックス要素(すなわち、グルーピングタイプパラメータシンタックス要素)を含まない。したがって、本開示の第1の例示的な技法によれば、SampleToGroupボックス310は、図6Bおよび図6Bに示されているgrouping_type_parameter318を含まず、SampleGroupDescriptionボックス312は、図6Bに示されているように、grouping_type_parameter326を含まない。
【０１４７】
上で指示されているように、本開示の第2の例示的な技法において、上で説明されているISOBMFFにおけるサンプルグループのシグナリングに関する明確さの問題は、Sample Group Descriptionボックスのバージョンが1であるときに、grouping_type_parameterシンタックス要素をSample Group Descriptionボックスのシンタックスに追加することによって解消され得る。したがって、図6Bに示されている、本開示の第2の例示的な技法によれば、SampleToGroupボックス310およびSampleGroupDescriptionボックス312は、grouping_type_parameterシンタックス要素318、326を含むものとしてよく、SampleToGroupボックス310とSampleGroupDescriptionボックス312との間に一対一関係がある。
【０１４８】
上で指示されているように、本開示の第3の例示的な技法において、上で説明されているISOBMFFにおけるサンプルグループグループのシグナリングに関する明確さの問題は、同じグルーピングタイプに対するSampleGroupDescriptionボックスとSampleToGroupボックスとの間の関係が1からNであると定義することによって解消され得る。したがって、図6Cに示されている、本開示の第3の例示的な技法によれば、SampleToGroupボックス310は、grouping_type_parameterシンタックス要素318(すなわち、グルーピングタイプパラメータシンタックス要素)を含む。さらに、SampleGroupDescriptionボックスと同じ値を持つgrouping_typeシンタックス要素(たとえば、grouping_typeシンタックス要素313、320)を有するSampleToGroupボックスとの間に一対Nの関係がある。たとえば、SampleGroupDescriptionボックス(たとえば、SampleGroupDescriptionボックス312)のうちの1つは、特定の値を持つgrouping_typeシンタックス要素を有するものとしてよく、2つまたはそれ以上のSampleToGroupボックスは、特定の値を持つgrouping_typeシンタックス要素も有し得る。いくつかの例において、2つまたはそれ以上のSampleToGroupボックスが、同じ値を持つgrouping_typeシンタックス要素を有する場合、サンプルテーブルボックス309内の各SampleToGroupボックスはバージョン1でなければならない。さらに、いくつかの例において、2つまたはそれ以上のSampleToGroupボックスが同じ値を持つgrouping_typeシンタックス要素を有する場合、0よりも大きいgroup_description_indexシンタックス要素の値はどれも、SampleToGroupボックス310のうちの複数に存在しないものとする。本開示の第3の例示的な技能によれば、SampleGroupDescriptionボックス(たとえば、SampleGroupDescriptionボックス312)は、grouping_type_parameterシンタックス要素(たとえば、図6Bに示されているgrouping_type_parameterシンタックス要素326)を含まない。
【０１４９】
図7A、図7B、および図7Cは、本開示の1つまたは複数の技法による、ファイル450の例示的な構造を示す概念図である。図7Aは、上で説明されている本開示の第1の例示的な技法に対応している。図7Bは、上で説明されている本開示の第2の例示的な技法に対応している。図7Cは、上で説明されている本開示の第3の例示的な技法に対応している。
【０１５０】
図7A、図7B、および図7Cの例において、ファイル450は、1つまたは複数の動画フラグメントボックス452および複数のメディアデータボックス454を含む。図7A、図7B、および図7Cの例では同じファイル内にあるように示されているが、他の例では、動画フラグメントボックス452およびメディアデータボックス454は、別ファイルにあってもよい。メディアデータボックス454の各々は、1つまたは複数のサンプル456を含み得る。動画フラグメントボックスの各々は、1つの動画フラグメントに対応する。各動画フラグメントは、トラックフラグメントのセットを含み得る。トラック毎にゼロ個またはそれ以上のトラックフラグメントがあり得る。
【０１５１】
図7A、図7B、および図7Cの例において、動画フラグメントボックス452は、対応する動画フラグメントに関する情報を提供する。そうであれば、そのような情報は、動画ボックス302などの、動画ボックス内にすでにある。動画フラグメントボックス452は、トラックフラグメントボックス458を含み得る。トラックフラグメントボックス458は、1つのトラックフラグメントに対応し、トラックフラグメントに関する情報を提供する。
【０１５２】
たとえば、図7A、図7B、および図7Cの例において、トラックフラグメントボックス458は、1つまたは複数のSampleToGroupボックス462、およびトラックフラグメントボックス458に対応するトラックフラグメントに関する情報を含む1つまたは複数のSampleGroupDescriptionボックス464を含み得る。したがって、トラックフラグメントボックス458は、「コンテナボックス」のインスタンスである。
【０１５３】
さらに、図7A、図7B、および図7Cの例において、SampleToGroupボックス462は、grouping_typeシンタックス要素470(すなわち、グルーピングタイプシンタックス要素)、entry_countシンタックス要素471(すなわち、エントリカウントシンタックス要素)、および1つまたは複数のサンプルグループエントリ472を含む。entry_countシンタックス要素471は、サンプルグループエントリ472の数を指示する。サンプルグループエントリ472の各々は、sample_countシンタックス要素473(すなわち、サンプルカウントシンタックス要素)およびgroup_description_indexシンタックス要素474(すなわち、グループ説明インデックスシンタックス要素)を含む。sample_countシンタックス要素473は、sample_countシンタックス要素473を含むサンプルグループエントリに関連付けられているサンプルの数を指示し得る。group_description_indexシンタックス要素474は、SampleGroupDescriptionボックス(たとえば、SampleGroupDescriptionボックス464)内で、group_description_indexシンタックス要素474を含むサンプルグループエントリに関連付けられているサンプルの説明を含むグループ説明エントリを識別し得る。
【０１５４】
それに加えて、図7A、図7B、および図7Cの例において、SampleGroupDescriptionボックス464は、grouping_typeシンタックス要素480、entry_countシンタックス要素482、および1つまたは複数のグループ説明エントリ484を含む。entry_countシンタックス要素482は、SampleGroupDescriptionボックス464内のグループ説明エントリ484の数を指示する。
【０１５５】
上で指示されているように、本開示の第1の例示的な技法によれば、上で説明されているISOBMFFにおけるサンプルグループのシグナリングに関する明確さの問題は、grouping_type_parameterシンタックス要素をSample to Groupボックスシンタックスから取り除くことによって解消され得る。したがって、図7Aに示されている、本開示の第1の例示的な技法によれば、SampleToGroupボックス462のうちのどれも、grouping_type_parameterシンタックス要素を含まない。たとえば、本開示の第1の例示的な技法によれば、SampleToGroupボックス462は、図7Bおよび図7Cに示されているgrouping_type_parameterシンタックス要素475を含まず、SampleGroupDescriptionボックス464は、図7Bに示されているgrouping_type_parameterシンタックス要素486を含まない。
【０１５６】
上で指示されているように、本開示の第2の例示的な技法において、上で説明されているISOBMFFにおけるサンプルグループのシグナリングに関する明確さの問題は、Sample Group Descriptionボックスのバージョンが1であるときに、grouping_type_parameterシンタックス要素をSample Group Descriptionボックスのシンタックスに追加することによって解消され得る。したがって、図7Bに対応する、本開示の第2の例示的な技法によれば、SampleToGroupボックス462およびSampleGroupDescriptionボックス464は、grouping_type_parameterシンタックス要素を含むものとしてよく、SampleToGroupボックス462とSampleGroupDescriptionボックス464との間に一対一関係がある。たとえば、本開示の第2の例示的な技法によれば、SampleToGroupボックス462は、grouping_type_parameterシンタックス要素475を含み、SampleGroupDescriptionボックス464は、grouping_type_parameterシンタックス要素486を含む。
【０１５７】
上で指示されているように、本開示の第3の例示的な技法において、上で説明されているISOBMFFにおけるサンプルグループグループのシグナリングに関する明確さの問題は、同じグルーピングタイプに対するSampleGroupDescriptionボックスとSampleToGroupボックスとの間の関係が1からNであると定義することによって解消され得る。したがって、図7Cに示されている、本開示の第3の例示的な技法によれば、SampleGroupDescriptionボックス464と同じ値を持つgrouping_typeシンタックス要素を有するSampleToGroupボックス462との間に一対Nの関係がある。たとえば、SampleGroupDescriptionボックス464のうちの1つは、特定の値を持つgrouping_typeシンタックス要素を有するものとしてよく、SampleToGroupボックス462のうちの2つまたはそれ以上は、特定の値を持つgrouping_typeシンタックス要素も有し得る。いくつかの例において、SampleToGroupボックス462のうちの2つまたはそれ以上が、同じ値を持つgrouping_typeシンタックス要素を有する場合、トラックフラグメントボックス458内のSampleToGroupボックス462の各々は、バージョン1でなければならない。さらに、いくつかの例において、SampleToGroupボックス462のうちの2つまたはそれ以上が同じ値を持つgrouping_typeシンタックス要素を有する場合、0よりも大きいgroup_description_indexシンタックス要素474の値はどれも、SampleToGroupボックス462のうちの複数に存在しないものとする。本開示の第3の例示的な技法の少なくともいくつかの実装によれば、SampleGroupDescriptionボックス464は、図7Bに示されているgrouping_type_parameterシンタックス要素475を含まない。
【０１５８】
図8は、本開示の技法による、ソースデバイス12の例示的な動作を示すフローチャートである。図8は、ソースデバイス12を参照しつつ説明されているが、図8の例示的な動作は、ファイル生成デバイス34または別のデバイスなどの、他のデバイスによって実行され得る。図8のフローチャートは、一例として提示されている。本開示の技法による他の動作は、より多くのアクション、より少ないアクション、または異なるアクションを含み得るか、またはアクションは、異なる順序で、もしくは並列に実行され得る。
【０１５９】
図8の例では、ソースデバイス12は、ファイルが特定のファイルフォーマットに従うようにファイルのコンテナボックスを生成する(500)。特定のファイルフォーマットは、本開示の技法により修正されたISOBMFFの一バージョンであってよい。図8の例では、ファイルを生成する一環として、ソースデバイス12は、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成し得る(502)。各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与えることができる。SampleGroupDescriptionボックスは、サンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み得る。SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は、特定の値を有し得る。コンテナボックスは、サンプルテーブルボックスまたはトラックフラグメントボックスであってよい。図8の例では、ファイルは、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す。
【０１６０】
さらに、図8の例では、コンテナボックスを生成する一環として、ソースデバイス12は、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成する(504)。複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは、特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含む。各それぞれのSampleToGroupボックスは、1つまたは複数のサンプルグループエントリを含み得る。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは、それぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素(たとえば、sample_count)を含み得る。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは、それぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素(たとえば、group_description_index)を含み得る。それぞれのサンプルグループの各サンプルは、ビデオコンテンツの1つまたは複数のピクチャを含み得る。
【０１６１】
いくつかの例では、ソースデバイス12は、複数のSampleToGroupボックスのうちの各それぞれのSampleToGroupボックスについて、それぞれのSampleToGroupボックスがサンプルグルーピングのタイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素(たとえば、grouping_type_parameter)を含むように複数のSampleToGroupボックスを生成し得る。さらに、いくつかの例では、ファイルは、特定のファイルフォーマットに適合し、ファイルフォーマットの要件は、単一のコンテナボックス内でグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないということである。いくつかの例では、単一のコンテナボックス内でグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックス(たとえば、group_description_index)シンタックス要素を有しないというのがファイルフォーマットの要件である。さらに、いくつかの例では、ファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいてグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである。
【０１６２】
さらに、ソースデバイス12は、ファイルを出力し得る(506)。たとえば、ソースデバイス12は、メモリ、磁気媒体、または光媒体などの、コンピュータ可読ストレージ媒体上に記憶するためのファイルを出力することができる。別の例では、ソースデバイス12は、送信のためのファイルを出力し得る。
【０１６３】
図9は、本開示の技術による、ビデオコンテンツを記憶するためのファイルを読み込むためのデバイスの例示的な動作を示すフローチャートである。図9の例では、ファイルを読み込むためのデバイスは、図1の宛先デバイス14または別のデバイスであってよい。
【０１６４】
図9の例では、デバイスは、ファイルを取得することができる(500)。たとえば、デバイスは、データストレージ媒体(たとえば、図1のストレージ媒体29)、送信媒体、または別のソースからファイルを取得し得る。たとえば、デバイスは、そのようなソースからファイルを受信するか、または読み込むことができる。さらに、図9の例では、デバイスは、ファイルから、ファイルのコンテナボックスを取得することができる(502)。たとえば、デバイスは、ファイルを構文解析するか、または他の何らかの方法で解釈して、コンテナボックスおよびそのコンテンツを抽出するか、または他の何らかの方法でアクセスし得る。
【０１６５】
いくつかの例では、コンテナボックスは、サンプルテーブルボックスまたはトラックフラグメントボックスである。コンテナボックスは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを含み得る。各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与える。さらに、SampleGroupDescriptionボックスは、サンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含む。SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は、特定の値を有する。本開示の技法によれば、特定のファイルフォーマットの要件は、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである。コンテナボックスは、複数のSampleToGroupボックスも含み得る。複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは、特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含むものとしてよい。各それぞれのSampleToGroupボックスは、1つまたは複数のサンプルグループエントリを含み得る。さらに、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み得る。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescription内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み得る。それに加えて、それぞれのサンプルグループの各サンプルは、ビデオコンテンツの1つまたは複数のピクチャを含み得る。
【０１６６】
次の段落では、本開示による具体例を説明する。
【実施例１】
【０１６７】
ファイルを生成する方法であって、
サンプルグルーピングを指定するボックスを生成するステップであって、サンプルグルーピングはサンプルのグループであり、ボックスは、サンプルグルーピングのタイプを識別するシンタックス要素を含み、ボックスのフォーマットのバージョンに関係なく、ボックスは、サンプルグルーピングのサブタイプを指示するパラメータを含まない、ステップと、ファイルを生成するステップであって、ファイルはボックスを含む、ステップとを含む方法。
【実施例２】
【０１６８】
サンプルの各それぞれの1つは、符号化されたピクチャである、実施例1に記載の方法。
【実施例３】
【０１６９】
ファイルを生成する方法であって、第1のボックスを生成するステップであって、第1のボックスはサンプルグルーピングを指定し、サンプルグルーピングはサンプルのグループである、ステップと、第2のボックスを生成するステップであって、第2のボックスはサンプルグルーピングに対するサンプルグループ説明を提供するシンタックス要素を含み、第2のボックスは、第1のシンタックス要素を含み、適宜、第2のシンタックス要素を含み、第1のシンタックス要素は、サンプルグルーピングのタイプを識別し、第2のシンタックス要素と一緒に、もし存在すれば、第1のボックスをサンプルグループ説明に関連付けられているものとして識別し、第2のシンタックス要素はサンプルグルーピングのサブタイプを指示する、ステップと、ファイルを生成するステップであって、ファイルは第1のボックスと第2のボックスとを含む、ステップとを含む方法。
【実施例４】
【０１７０】
第1のボックスを生成するステップは、第1のボックス内で、第3のシンタックス要素、および適宜、第4のシンタックス要素を生成するステップであって、第3のシンタックス要素は、サンプルグルーピングのタイプを識別し、サンプルグルーピングをサンプルグルーピングのタイプと同じ値およびもし存在すれば第4のシンタックス要素の値を持つサンプルグループ説明テーブルにリンクし、第2のシンタックス要素サンプルグルーピングのサブタイプを指示する、ステップを含む実施例3に記載の方法。
【実施例５】
【０１７１】
ファイルは、トラックまたはトラックフラグメント内のサンプルに対するサンプルグルーピングのためのサンプルグループ説明を指定する1つまたは複数のボックスを含み、トラックまたはトラックフラグメント内で、特定のグルーピングタイプおよびサブタイプを持つサンプルグループ説明を指定するボックスの多くても1つのインスタンスがある、実施例3または4に記載の方法。
【実施例６】
【０１７２】
ファイルは、トラックまたはトラックフラグメント内のサンプルに対するサンプルグループを指定する1つまたは複数のボックスを含み、トラックまたはトラックフラグメント内で、特定のグルーピングタイプおよびサブタイプを持つサンプルグループを指定するボックスの多くても1つのインスタンスがある、実施例3〜5のいずれか一項に記載の方法。
【実施例７】
【０１７３】
ファイルを生成する方法であって、第1のボックスを生成するステップであって、第1のボックスはサンプルグルーピングを指定し、サンプルグルーピングはサンプルのグループである、ステップと、第2のボックスを生成するステップであって、第2のボックスはサンプルグルーピングに対するサンプルグループ説明を提供するシンタックス要素を含み、同じグルーピングタイプに対するSampleGroupDescriptionボックスとSampleToGroupボックスとの間の関係は、1からNである、ステップと、ファイルを生成するステップであって、ファイルは第1のボックスと第2のボックスとを含む、ステップとを含む方法。
【実施例８】
【０１７４】
ファイルを生成する方法であって、ボックスを生成するステップであって、ボックスはサンプルグルーピングの説明を指定し、サンプルグルーピングはサンプルのグループであり、ボックスは第1のシンタックス要素および第2のシンタックス要素を含み、第1のシンタックス要素はターゲット層を指定し、第2のシンタックス要素は第1のシンタックス要素のセマンティクスを指定する、ステップと、ファイルを生成するステップであって、ファイルはボックスを含む、ステップとを含む方法。
【実施例９】
【０１７５】
特定の値に等しい第2のシンタックス要素は、ターゲット層がトラックによって表されるすべての層からなるものとして指定し、特定の値に等しくない第2のシンタックス要素は、派生メディアフォーマット仕様によって指定される実施例8に記載の方法。
【実施例１０】
【０１７６】
ファイルを生成するためのビデオ復号デバイスであって、ファイルを記憶するメモリと、上記項目のうちのどれかで与えられるファイルを生成する方法の任意の組合せを実行するように構成されている1つまたは複数のプロセッサとを備えるビデオ復号デバイス。
【０１７７】
1つまたは複数の例において、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形の媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体を含んでもよい。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的な有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明される技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品がコンピュータ可読媒体を含んでもよい。
【０１７８】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令またはデータ構造の形式の所望のプログラムコードを記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を備え得る。また、いかなる接続も適切にコンピュータ可読媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから命令が送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスクおよびブルーレイディスクを含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せは、コンピュータ可読媒体の範囲内に同じく含まれるものとする。
【０１７９】
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価の集積論理回路もしくは離散論理回路のような、1つまたは複数のプロセッサによって実行されてもよい。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明される技法の実装に適した任意の他の構造のいずれかを指す場合がある。さらに、いくつかの態様では、本明細書で述べられた機能は、専用のハードウェア内で、かつ/または符号化および復号を行うように構成された、もしくは組み合わされたコーデックに組み込まれたソフトウェアモジュール内で提供することができる。さらに本技法は、1つまたは複数の回路または論理要素において完全に実施することもできる。
【０１８０】
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実施され得る。本開示では、開示する技法を実施するように構成されたデバイスの機能的側面を強調するために、様々な構成要素、モジュール、またはユニットが述べられているが、それらは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。そうではなくて、上記で述べたように、様々なユニットは、コーデックハードウェアユニットにおいて組み合わされるか、または適切なソフトウェアおよび/またはファームウェアと併せて、上記で述べたように1つまたは複数のプロセッサを含む、相互運用するハードウェアユニットの集合体により提供される場合がある。
【０１８１】
種々の例が説明されてきた。これらの例および他の例は以下の特許請求の範囲内に入る。
【符号の説明】
【０１８２】
10  ビデオ符号化および復号システム
12  ソースデバイス
14  宛先デバイス
16  リンク
18  ビデオソース
20  ビデオエンコーダ
22  出力インターフェース
27  後処理処理エンティティ
28  入力インターフェース
29  ストレージ媒体
29  ネットワークエンティティ
30  ビデオデコーダ
31  ファイル構文解析ユニット
31  メモリ
32  ディスプレイデバイス
33  ストレージデバイス
34  ファイル生成デバイス
35  区分ユニット
41  予測処理ユニット
42  動き推定ユニット
44  動き補償ユニット
46  イントラ予測処理ユニット
50  加算器
52  変換処理ユニット
54  量子化ユニット
56  エントロピー符号化ユニット
58  逆量子化ユニット
60  逆変換処理ユニット
62  加算器
63  フィルタユニット
64  参照ピクチャメモリ
65  ビデオデータメモリ
77  ファイル構文解析ユニット
79  CPB
80  エントロピー復号ユニット
81  予測処理ユニット
82  動き補償ユニット
84  イントラ予測処理ユニット
86  逆量子化ユニット
88  逆変換処理ユニット
90  加算器
91  フィルタユニット
92  参照ピクチャメモリ
100  ネットワーク
102  サーバデバイス
104  ルーティングデバイス
104A、104B  ルーティングデバイス
106  トランスコーディングデバイス
108  クライアントデバイス
200  ベース層
202  機能強化層
300  ファイル
302  動画ボックス
304  メディアデータボックス
305  サンプル
306  トラックボックス
307  メディアボックス
308  メディア情報ボックス
309  サンプルテーブルボックス
310  SampleToGroupボックス
312  SampleGroupDescriptionボックス
313  grouping_typeシンタックス要素
314  entry_countシンタックス要素
315  サンプルグループエントリ
316  sample_countシンタックス要素
317  group_description_indexシンタックス要素
318  grouping_type_parameter
320  grouping_typeシンタックス要素
322  entry_countシンタックス要素
324  グループ説明エントリ
326  grouping_type_parameter
450  ファイル
452  動画フラグメントボックス
454  メディアデータボックス
456  サンプル
458  トラックフラグメントボックス
462  SampleToGroupボックス
464  SampleGroupDescriptionボックス
470  grouping_typeシンタックス要素
471  entry_countシンタックス要素
472  サンプルグループエントリ
473  sample_countシンタックス要素
474  group_description_indexシンタックス要素
475  grouping_type_parameterシンタックス要素
480  grouping_typeシンタックス要素
482  entry_countシンタックス要素
484  グループ説明エントリ
486  grouping_type_parameterシンタックス要素
【図１】
2018510546.tif 000003
【図２】
2018510546.tif 000004
【図３】
2018510546.tif 000005
【図４】
2018510546.tif 000006
【図５】
2018510546.tif 000007
【図６Ａ】
2018510546.tif 000008
【図６Ｂ】
2018510546.tif 000009
【図６Ｃ】
2018510546.tif 000010
【図７Ａ】
2018510546.tif 000011
【図７Ｂ】
2018510546.tif 000012
【図７Ｃ】
2018510546.tif 000013
【図８】
2018510546.tif 000014
【図９】
2018510546.tif 000015
【手続補正書】
【提出日】平成29年8月15日(2017.8.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオコンテンツを記憶するためのファイルを生成する方法であって、
前記ファイルが特定のファイルフォーマットに従うように前記ファイルのコンテナボックスを生成するステップであって、前記コンテナボックスを生成するステップは、
前記コンテナボックス内で、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するステップであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記特定のファイルフォーマットの要件は、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、ステップと、
前記ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するステップであって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならず、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、ステップとを含む、ステップと、
前記ファイルを出力するステップとを含む方法。
【請求項２】
前記複数のSampleToGroupボックスを生成するステップは、前記複数のSampleToGroupボックスのうちの各それぞれのSampleToGroupボックスについて、前記それぞれのSampleToGroupボックスがサンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含むように前記複数のSampleToGroupボックスを生成するステップを含む請求項1に記載の方法。
【請求項３】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項1に記載の方法。
【請求項４】
前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項1に記載の方法。
【請求項５】
前記SampleGroupDescriptionボックスは、第1のSampleGroupDescriptionボックスであり、前記コンテナボックスを生成するステップは、前記コンテナボックス内の第2のSampleGroupDescriptionボックスを生成するステップを含み、前記第2のSampleGroupDescriptionボックスは前記特定の値と異なるグルーピングタイプシンタックス要素を有する請求項1に記載の方法。
【請求項６】
ビデオコンテンツを記憶するためのファイルを生成するためのデバイスであって、
前記ファイルを記憶するように構成されているメモリと、
1つまたは複数のプロセッサであって、
前記ファイルが特定のファイルフォーマットに従うように前記ファイルのコンテナボックスを生成するステップであって、前記コンテナボックスを生成する一環として、前記1つまたは複数のプロセッサは、
1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するステップであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記ファイルは、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、ステップと、
前記ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するステップであって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならず、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、ステップとを実行する、ステップと、
前記ファイルを出力するステップとを実行するように構成されている1つまたは複数のプロセッサとを備えるデバイス。
【請求項７】
前記1つまたは複数のプロセッサは、前記複数のSampleToGroupボックスのうちの各それぞれのSampleToGroupボックスについて、前記それぞれのSampleToGroupボックスがサンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含むように前記複数のSampleToGroupボックスを生成するように構成される請求項6に記載のデバイス。
【請求項８】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項6に記載のデバイス。
【請求項９】
前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項6に記載のデバイス。
【請求項１０】
前記デバイスは、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイスの少なくとも1つを備える、請求項6に記載のデバイス。
【請求項１１】
前記SampleGroupDescriptionボックスは、第1のSampleGroupDescriptionボックスであり、前記コンテナボックスを生成するステップは、前記コンテナボックス内の第2のSampleGroupDescriptionボックスを生成するステップを含み、前記第2のSampleGroupDescriptionボックスは前記特定の値と異なるグルーピングタイプシンタックス要素を有する請求項6に記載のデバイス。
【請求項１２】
前記ビデオコンテンツをキャプチャするように構成されているカメラをさらに備える請求項6に記載のデバイス。
【請求項１３】
ビデオコンテンツを記憶するためのファイルを生成するためのデバイスであって、
前記ファイルが特定のファイルフォーマットに従うように前記ファイルのコンテナボックスを生成するための手段であって、前記コンテナボックスを生成するための前記手段は、
1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するための手段であって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記ファイルは、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、手段と、
前記ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するための手段であって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならず、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、手段とを含む、手段と、
前記ファイルを出力するための手段とを備えるデバイス。
【請求項１４】
前記複数のSampleToGroupボックスを生成するための前記手段は、前記複数のSampleToGroupボックスのうちの各それぞれのSampleToGroupボックスについて、前記それぞれのSampleToGroupボックスがサンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含むように前記複数のSampleToGroupボックスを生成するための手段を含む請求項13に記載のデバイス。
【請求項１５】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項13に記載のデバイス。
【請求項１６】
前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項13に記載のデバイス。
【請求項１７】
ビデオコンテンツを記憶するためのファイルを読み込むためのデバイスであって、
前記ファイルを記憶するように構成されているメモリと、
前記ファイルから、前記ファイルのコンテナボックスを取得するように構成されている1つまたは複数のプロセッサであって、前記コンテナボックスは、
1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記特定のファイルフォーマットの要件は、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、SampleGroupDescriptionボックスと、
複数のSampleToGroupボックスであって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならず、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、複数のSampleToGroupボックスとを備える、1つまたは複数のプロセッサとを備えるデバイス。
【請求項１８】
前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは、サンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含む請求項17に記載のデバイス。
【請求項１９】
前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項17に記載のデバイス。
【請求項２０】
前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項17に記載のデバイス。
【請求項２１】
前記SampleGroupDescriptionボックスは、第1のSampleGroupDescriptionボックスであり、前記コンテナボックスは、第2のSampleGroupDescriptionボックスを備え、前記第2のSampleGroupDescriptionボックスは前記特定の値と異なるグルーピングタイプシンタックス要素を有する請求項17に記載のデバイス。
【国際調査報告】
2018510546.tif 000016
2018510546.tif 000017
2018510546.tif 000018