図面 (/)

技術 ファイルフォーマットにおけるサンプルグルーピングシグナリング

出願人 クアルコム,インコーポレイテッド
発明者 フヌ・ヘンドリーイェ-クイ・ワン
出願日 2015年12月16日 (5年8ヶ月経過) 出願番号 2017-541646
公開日 2018年4月12日 (3年4ヶ月経過) 公開番号 2018-510546
状態 特許登録済
技術分野 TV信号の圧縮,符号化方式 双方向TV,動画像配信等
主要キーワード サブボックス 説明テーブル 中間ストレージ 外付けディスプレイ 変換処理ユニット ループ後 データストレージ媒体 コンテナボックス
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年4月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (14)

課題・解決手段

デバイスは、ビデオコンテンツを記憶するためのファイルコンテナボックス内で、サンプグルーピングに対するサンプルグループ説明を与えるSampleGroupDescriptionボックスを生成する。SampleGroupDescriptionボックスは、特定の値を有するグルーピングタイプシンタックス要素を含む。それに加えて、SampleGroupDescriptionボックスは、1つまたは複数のサンプルグループエントリを含む。デバイスは、同じコンテナボックス内で、複数のSampleToGroupボックスを生成する。複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは、特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、それぞれのサンプルグルーピング内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、それぞれのサンプルグルーピングのサンプルを説明するSampleGroupDescriptionボックス内のエントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含む。それぞれのサンプルグルーピングの各サンプルは、ビデオコンテンツのそれぞれのピクチャを含む。

概要

背景

デジタルビデオ機能は、デジタルテレビジョンデジタルダイレクトブロードキャストシステムワイヤレスブロードキャストステム携帯情報端末(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次元ベクトルを生成するために、走査されてもよく、エントロピーコーディングが、さらに多くの圧縮を達成するために適用されてもよい。

概要

デバイスは、ビデオコンテンツを記憶するためのファイルコンテナボックス内で、サンプグルーピングに対するサンプルグループ説明を与えるSampleGroupDescriptionボックスを生成する。SampleGroupDescriptionボックスは、特定の値を有するグルーピングタイプシンタックス要素を含む。それに加えて、SampleGroupDescriptionボックスは、1つまたは複数のサンプルグループエントリを含む。デバイスは、同じコンテナボックス内で、複数のSampleToGroupボックスを生成する。複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは、特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、それぞれのサンプルグルーピング内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、それぞれのサンプルグルーピングのサンプルを説明するSampleGroupDescriptionボックス内のエントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含む。それぞれのサンプルグルーピングの各サンプルは、ビデオコンテンツのそれぞれのピクチャを含む。

目的

トラックに対するメタデータは、サンプル説明エントリのリストを含み、各々のエントリはトラックで使用されるコーディングまたはカプセル化フォーマットおよびそのフォーマットを処理するために使用される初期化データを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

ビデオコンテンツを記憶するためのファイルを生成する方法であって、前記ファイルが特定のファイルフォーマットに従うように前記ファイルのコンテナボックスを生成するステップであって、前記コンテナボックスを生成するステップは、前記コンテナボックス内で、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するステップであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記特定のファイルフォーマットの要件は、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、ステップと、前記ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するステップであって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、ステップとを含む、ステップと、前記ファイルを出力するステップとを含む方法。

請求項2

前記複数のSampleToGroupボックスを生成するステップは、前記複数のSampleToGroupボックスのうちの各それぞれのSampleToGroupボックスについて、前記それぞれのSampleToGroupボックスがサンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含むように前記複数のSampleToGroupボックスを生成するステップを含む請求項1に記載の方法。

請求項3

前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないということである請求項1に記載の方法。

請求項4

前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項1に記載の方法。

請求項5

前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項1に記載の方法。

請求項6

前記SampleGroupDescriptionボックスは、第1のSampleGroupDescriptionボックスであり、前記コンテナボックスを生成するステップは、前記コンテナボックス内の第2のSampleGroupDescriptionボックスを生成するステップを含み、前記第2のSampleGroupDescriptionボックスは前記特定の値と異なるグルーピングタイプシンタックス要素を有する請求項1に記載の方法。

請求項7

ビデオコンテンツを記憶するためのファイルを生成するためのデバイスであって、前記ファイルを記憶するように構成されているメモリと、1つまたは複数のプロセッサであって、前記ファイルが特定のファイルフォーマットに従うように前記ファイルのコンテナボックスを生成するステップであって、前記コンテナボックスを生成する一環として、前記1つまたは複数のプロセッサは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するステップであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記ファイルは、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、ステップと、前記ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するステップであって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、ステップとを実行する、ステップと、前記ファイルを出力するステップとを実行するように構成されている1つまたは複数のプロセッサとを備えるデバイス。

請求項8

前記1つまたは複数のプロセッサは、前記複数のSampleToGroupボックスのうちの各それぞれのSampleToGroupボックスについて、前記それぞれのSampleToGroupボックスがサンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含むように前記複数のSampleToGroupボックスを生成するように構成される請求項7に記載のデバイス。

請求項9

前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないということである請求項7に記載のデバイス。

請求項10

前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項7に記載のデバイス。

請求項11

前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項7に記載のデバイス。

請求項12

前記デバイスは、集積回路マイクロプロセッサ、またはワイヤレス通信デバイスの少なくとも1つを備える、請求項7に記載のデバイス。

請求項13

前記SampleGroupDescriptionボックスは、第1のSampleGroupDescriptionボックスであり、前記コンテナボックスを生成するステップは、前記コンテナボックス内の第2のSampleGroupDescriptionボックスを生成するステップを含み、前記第2のSampleGroupDescriptionボックスは前記特定の値と異なるグルーピングタイプシンタックス要素を有する請求項7に記載のデバイス。

請求項14

前記ビデオコンテンツをキャプチャするように構成されているカメラをさらに備える請求項7に記載のデバイス。

請求項15

ビデオコンテンツを記憶するためのファイルを生成するためのデバイスであって、前記ファイルが特定のファイルフォーマットに従うように前記ファイルのコンテナボックスを生成するための手段であって、前記コンテナボックスを生成するための前記手段は、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するための手段であって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記ファイルは、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、手段と、前記ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するための手段であって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、手段とを含む、手段と、前記ファイルを出力するための手段とを備えるデバイス。

請求項16

前記複数のSampleToGroupボックスを生成するための前記手段は、前記複数のSampleToGroupボックスのうちの各それぞれのSampleToGroupボックスについて、前記それぞれのSampleToGroupボックスがサンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含むように前記複数のSampleToGroupボックスを生成するための手段を含む請求項15に記載のデバイス。

請求項17

前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないということである請求項15に記載のデバイス。

請求項18

前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項15に記載のデバイス。

請求項19

前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項15に記載のデバイス。

請求項20

ビデオコンテンツを記憶するためのファイルを読み込むためのデバイスであって、前記ファイルを記憶するように構成されているメモリと、前記ファイルから、前記ファイルのコンテナボックスを取得するように構成されている1つまたは複数のプロセッサであって、前記コンテナボックスは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、前記SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、前記SampleGroupDescriptionボックス内の前記グルーピングタイプシンタックス要素は特定の値を有し、前記コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、前記特定のファイルフォーマットの要件は、前記グルーピングタイプシンタックス要素の前記特定の値を持つ前記コンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、SampleGroupDescriptionボックスと、複数のSampleToGroupボックスであって、前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは前記特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、前記1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは前記それぞれのサンプルグループの説明を与える前記SampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、前記それぞれのサンプルグループの各サンプルは前記ビデオコンテンツの1つまたは複数のピクチャを含む、複数のSampleToGroupボックスとを備える、1つまたは複数のプロセッサとを備えるデバイス。

請求項21

前記複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは、サンプルグルーピングの前記タイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素を含む請求項20に記載のデバイス。

請求項22

前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないということである請求項20に記載のデバイス。

請求項23

前記特定のファイルフォーマットの要件は、単一のコンテナボックス内で前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないということである請求項20に記載のデバイス。

請求項24

前記特定のファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいて前記グルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、前記複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである請求項20に記載のデバイス。

請求項25

前記SampleGroupDescriptionボックスは、第1のSampleGroupDescriptionボックスであり、前記コンテナボックスは、第2のSampleGroupDescriptionボックスを備え、前記第2のSampleGroupDescriptionボックスは前記特定の値と異なるグルーピングタイプシンタックス要素を有する請求項20に記載のデバイス。

技術分野

0001

本出願は、その内容全体が参照により本明細書に組み込まれている、2015年2月11日に出願した米国仮特許出願第62/115,087号の利益を主張する。

0002

本開示は、コーディングされたビデオデータに対するビデオコーディングおよびファイルフォーマットに関する。

背景技術

0003

デジタルビデオ機能は、デジタルテレビジョンデジタルダイレクトブロードキャストシステムワイヤレスブロードキャストステム携帯情報端末(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)規格、およびそのような規格の拡張によって定義された規格に記載されるものなどのビデオ圧縮技法実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。

0004

ビデオ圧縮技法は、ビデオシーケンス固有冗長性を低減または除去するために、空間的(ピクチャ内)予測および/または時間的(ピクチャ間)予測を実行する。ブロックベースのビデオコーディングのために、ビデオスライス(すなわち、ビデオフレーム、またはビデオフレームの一部)は、ビデオブロック区分されてもよく、ビデオブロックはまた、ツリーブロック、コーディング単位(CU:coding unit)、および/またはコーディングノードと呼ばれることがある。ピクチャイントラコーディングされる(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコーディングされる(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャ参照フレームと呼ばれることがある。

0005

空間予測または時間予測は、コーディングされるブロックのための予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコーディングされるブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データがピクセル領域から変換領域に変換されて残差変換係数が得られてよく、次いで、残差変換係数が量子化され得る。最初に2次元アレイに配置される量子化変換係数は、変換係数の1次元ベクトルを生成するために、走査されてもよく、エントロピーコーディングが、さらに多くの圧縮を達成するために適用されてもよい。

課題を解決するための手段

0006

本開示の1つまたは複数の態様は、ファイルフォーマットでビデオコンテンツを記憶することに関する。たとえば、本開示の技法は、ISOベースメディアファイルフォーマットおよびそれに基づき導出されるファイルフォーマットに従って形成されたファイル内のストリームアクセスポイント(SAP)サンプグルーピングのサンプルグルーピング機構およびシグナリングの設計を改善し得る。

0007

一態様において、本開示は、ビデオコンテンツを記憶するためのファイルを生成する方法について説明しており、この方法はファイルのコンテナボックス内で、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つまたは複数のピクチャを含む、ステップと、ファイルを出力するステップとを含む。

0008

別の態様において、本開示は、ビデオコンテンツを記憶するためのファイルを生成するためのデバイスについて説明しており、デバイスはファイルを記憶するように構成されているメモリと、ファイルが特定のファイルフォーマットに従うようにファイルのコンテナボックスを生成するように構成されている1つまたは複数のプロセッサとを備え、コンテナボックスを生成する一環として、1つまたは複数のプロセッサは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するステップであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、ファイルは、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、ステップと、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するステップであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、ステップと、ファイルを出力するステップとを実行する。

0009

別の態様において、本開示は、ビデオコンテンツを記憶するためのファイルを生成するためのデバイスについて説明しており、デバイスはファイルが特定のファイルフォーマットに従うようにファイルのコンテナボックスを生成するための手段を備え、コンテナボックスを生成するための手段は、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するための手段であって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、ファイルは、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、手段と、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するための手段であって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、手段と、ファイルを出力するための手段とを含む。

0010

別の態様において、本開示は、命令が記憶されているコンピュータ可読記憶媒体であって、命令は実行されたときに、デバイスの1つまたは複数のプロセッサに、ビデオコンテンツを記憶するためのファイルを生成するために、ファイルが特定のファイルフォーマットに従うようにファイルのコンテナボックスを生成させ、コンテナボックスを生成する一環として、1つまたは複数のプロセッサは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成するステップであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、ファイルは、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す、ステップと、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成するステップであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、ステップと、ファイルを出力するステップとを実行する。

0011

別の態様において、本開示は、ビデオコンテンツを記憶するためのファイルを読み込むためのデバイスについて説明しており、デバイスはファイルを記憶するように構成されているメモリと、ファイルから、ファイルのコンテナボックスを取得するように構成されている1つまたは複数のプロセッサとを備え、コンテナボックスは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、特定のファイルフォーマットの要件は、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、SampleGroupDescriptionボックスと、複数のSampleToGroupボックスであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、SampleToGroupボックスとを含む。

0012

別の態様において、本開示は、ビデオコンテンツを記憶するためのファイルを読み込むための方法について説明しており、方法はファイルを取得するステップと、ファイルから、ファイルのコンテナボックスを取得するステップとを含み、コンテナボックスは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、特定のファイルフォーマットの要件は、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、SampleGroupDescriptionボックスと、複数のSampleToGroupボックスであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、SampleToGroupボックスとを含む。

0013

別の態様において、本開示は、ビデオコンテンツを記憶するためのファイルを読み込むためのデバイスについて説明しており、デバイスはファイルを取得するための手段と、ファイルから、ファイルのコンテナボックスを取得するための手段とを備え、コンテナボックスは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、特定のファイルフォーマットの要件は、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、SampleGroupDescriptionボックスと、複数のSampleToGroupボックスであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、SampleToGroupボックスとを含む。

0014

別の態様において、本開示は、命令が記憶されているコンピュータ可読記憶媒体を説明しており、これらの命令は実行されるとデバイスに、ファイルから、ファイルのコンテナボックスを取得させ、コンテナボックスは、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスであって、各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与え、SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有し、コンテナボックスはサンプルテーブルボックスまたはトラックフラグメントボックスであり、特定のファイルフォーマットの要件は、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかないということである、SampleGroupDescriptionボックスと、複数のSampleToGroupボックスであって、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、各それぞれのSampleToGroupボックスは1つまたは複数のサンプルグループエントリを含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含み、それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む、SampleToGroupボックスとを含む。

0015

本開示の1つまたは複数の例の詳細が、添付の図面および以下の説明に記載される。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。

図面の簡単な説明

0016

本開示に記載の技法を利用してもよい例示的なビデオ符号化および復号システムを示すブロック図である。
本開示に記載の技法を実装してもよい例示的なビデオエンコーダを示すブロック図である。
本開示に記載の技法を実装してもよい例示的なビデオデコーダを示すブロック図である。
ネットワークの一部を形成するデバイスの例示的なセットを示すブロック図である。
トラック内の一連のサンプル内の2つの異なるストリームアクセスポイント(SAP)サンプルタイプの概念図である。
本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
本開示の1つまたは複数の技法による、ファイルの例示的な構造を示す概念図である。
本開示の技法による、ソースデバイスの例示的な動作を示すフローチャートである。
本開示の技法による、ビデオコンテンツを記憶するためのファイルを読み込むためのデバイスの例示的な動作を示すフローチャートである。

0017

ビデオコンテンツの記憶用に、国際標準化機構(ISO)ベースメディアファイルフォーマット(ISOBMFF)およびISOベースメディアファイルフォーマットから派生したファイルフォーマットが設計されている。ISOBMFFは、符号化されたビデオデータおよび関連付けられているメタデータを記憶するネストされた「ボックス」のセットに関して定義される。たとえば、メディアデータボックスは、1つまたは複数のサンプルを含み得る。サンプルの各々は、アクセスユニット内に1つまたは複数のピクチャの符号化されたビデオデータを含み得る。

0018

それに加えて、ISOBMFFファイル内のボックスは、SampleToGroupボックスおよびSampleGroupDescriptionボックスを含み得る。本開示において、SampleToGroupボックスは、「Sample to Groupボックス」とも称され、SampleGroupDescriptionボックスは、「Sample Group Descriptionボックス」とも称され得る。一般的に、SampleToGroupボックスは、サンプルの1つまたは複数のグループを定義するシンタックス要素を含む。本開示において、サンプルのグループは、「サンプルグループ」または「サンプルグルーピング」とも称され得る。さらに、一般的に、SampleGroupDescriptionボックスは、サンプルグループの説明を含む。

0019

より具体的には、SampleToGroupボックスは、グルーピングタイプシンタックス要素を含む。グルーピングタイプシンタックス要素は、grouping_typeシンタックス要素とも称され得る。それに加えて、SampleToGroupボックスは1つまたは複数のサンプルグループエントリを含む。SampleToGroupボックス内の各それぞれのサンプルグループエントリは、それぞれのサンプルカウントシンタックス要素とそれぞれのグループ説明インデックスシンタックス要素とを含む。それぞれのサンプルカウントシンタックス要素は、それぞれのグループ説明インデックスが適用される連続サンプルの数を指示する。

0020

SampleGroupDescriptionボックスは、グルーピングタイプシンタックス要素も含む。SampleToGroupボックスおよびSampleGroupDescriptionボックスのグルーピングタイプシンタックス要素がマッチしたときに、SampleToGroupボックスおよびSampleGroupDescriptionボックスは、互いに対応すると言われる。SampleGroupDescriptionボックスは、1つまたは複数のグループ説明エントリを含む。SampleGroupDescription内の各それぞれのグループ説明エントリは、それぞれのサンプルグループの説明を含む。SampleToGroupボックス内のグループ説明インデックスは、対応するSampleGroupDescriptionボックス内の対応するグループ説明エントリを識別する。

0021

たとえば、SampleToGroupボックスは、値が5に等しいサンプルカウントシンタックス要素および値が3に等しいグループ説明インデックスを含む第1のサンプルグループエントリを有することができる。したがって、この例では、5つの連続サンプルは、対応するSampleGroupDescriptionボックス内の第3のグループ説明エントリによって説明されているサンプルグループに属す。この例では、SampleToGroupボックスは、値が4に等しいサンプルカウントシンタックス要素および値が2に等しいグループ説明インデックスを含む第2のサンプルグループエントリを有することができる。したがって、この例では、次の4つの連続サンプルは、対応するSampleGroupDescriptionボックス内の第2のグループ説明エントリによって説明されているサンプルグループに属す。

0022

ISOBMFFのバージョンは多数ある。バージョン1として参照されている、ISOBMFFの一バージョンにおいて、SampleToGroupボックスは、上で説明されているシンタックス要素に加えてグルーピングタイプパラメータシンタックス要素を含む。グルーピングタイプパラメータシンタックス要素は、グルーピングタイプシンタックス要素とは別のシンタックス要素である。本開示では、ISOBMFFのバージョン1において定義されているSampleToGroupボックスにおいて定義されているサンプルグループをバージョン1サンプルグループとして称することがある。グルーピングタイプパラメータシンタックス要素は、grouping_type_parameterとして表され得る。グルーピングタイプパラメータシンタックス要素は、ISOBMFFの初期バージョン適合するファイルのSampleToGroupボックス内に存在していない。グルーピングタイプパラメータシンタックス要素は、サンプルグルーピングのサブタイプの指示である。したがって、SampleToGroupボックスは、「グルーピングタイプ」シンタックス要素および別の「グルーピングタイプパラメータ」シンタックス要素を含み得る。

0023

これ以降単にISOBMFF仕様または「N14574」と称される、ISOBMFF仕様の一バージョンは、http://phenix.int-evry.fr/mpeg/doc_end_user/documents/109_Sapporo/wg11/w14574-v2-w14574.zipから入手可能である。ISOBMFF仕様書は、ISO/IEC15444-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仕様」)と称される文書も含む。

0024

SampleToGroupボックス内のグルーピングタイプパラメータシンタックス要素の導入にあたって、いくつかの問題が生じる。たとえば、グルーピングタイプパラメータシンタックス要素の導入において、バージョン1サンプルグループのグルーピングタイプは、グルーピングタイプシンタックス要素およびグルーピングタイプパラメータシンタックス要素の両方によって実際に定義される。この方法でバージョン1サンプルグループのグルーピングタイプを定義することは、利用可能なISOBMFF仕様の他の部分がサンプルグループのグルーピングタイプがグルーピングタイプパラメータシンタックス要素によってのみ定義されるという仮定に依存するので問題になり得る。たとえば、SampleGroupDescriptionボックスについてISOBMFF仕様で定義されているセマンティクスは、いかなる形でもグルーピングタイプパラメータシンタックス要素を考慮しない。他の例は、本開示の別のところで説明されている。

0025

本開示では、そのような問題に対処するためのいくつかの技法を説明している。たとえば、本開示の一技法によれば、1からN個の関係と同じグルーピングタイプについてSampleGroupDescriptionボックスとSampleToGroupボックスとの間の関係を定義することが提案されており、ただし、Nは非ゼロ整数である。したがって、同じ値を持つグルーピングタイプシンタックス要素を有する複数のSampleToGroupボックスは、その値を持つグルーピングタイプシンタックス要素を有する単一のSampleGroupDescriptionボックスに対応し得る。いくつかの場合において、これらのSampleToGroupボックスの各々は、異なる値を有するグルーピングタイプパラメータシンタックス要素を有し得る。この方法で関係を定義することにより、SampleGroupDescriptionボックスまたはSampleToGroupボックスのシンタックスを変更することなく上で説明されている問題を解決することができる。その代わり、この例の実装は、SampleGroupDescriptionボックスおよび/またはSampleToGroupボックスのセマンティクスおよび説明への変更のみを伴い得る。

0026

この技法の一例によれば、ソースデバイスは、ファイルのコンテナボックス内で、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成し得る。本開示では、コンテナボックスは、1つまたは複数の他のボックスを含むボックスである。HEVCおよび他のビデオフォーマットを搬送するためのISOBMFF拡張において、コンテナボックスの例示的なタイプは、サンプルテーブルボックス、トラックフラグメントボックス、および他のタイプのボックスを含む。各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与える。SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含む。この例では、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は、特定の値を有し、コンテナボックスは、サンプルテーブルボックスまたはトラックフラグメントボックスである。さらに、この例では、ソースデバイスは、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成し得る。この例では、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含む。それに加えて、各それぞれのSampleToGroupボックスは、1つまたは複数のサンプルグループエントリを含む。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含む。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含む。それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む。この例では、ソースデバイスは、ファイルを出力し得る。

0027

図1は、本開示で説明されている技法を使用し得る、例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されているように、システム10は、宛先デバイス14によって後から復号されるべき符号化されたビデオデータを生成するソースデバイス12を備える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマートフォンなどの電話送受器、いわゆる「スマート」パッドテレビジョンカメラディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミングデバイス、または同様のものを含む、広範なデバイスのうちのどれかを備えるものとしてよい。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。したがって、ソースデバイス12および宛先デバイス14は、ワイヤレス通信デバイスとみなされ得る。ソースデバイス12および宛先デバイス14は、ビデオデバイスとみなされ得る。

0028

図1の例において、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを備える。いくつかの場合において、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、ビデオキャプチャデバイス、たとえば、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、またはそのようなソース組合せなどの、ソースを含み得る。しかしながら、本開示で説明する技法は、一般に、ビデオコーディングに適用可能であり得、ワイヤレス用途および/またはワイヤード用途に適用され得る。

0029

ビデオエンコーダ20は、キャプチャされた、あらかじめキャプチャされた、またはコンピュータ生成ビデオを符号化することができる。ソースデバイス12は、ソースデバイス12の出力インターフェース22を介して符号化ビデオデータを宛先デバイス14に直接送信し得る。符号化ビデオデータは、復号および/または再生のために宛先デバイス14または他のデバイスにより後からアクセスできるようにストレージデバイス33上にも(または代替的に)格納され得る。

0030

宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。さらに、図1の例において、宛先デバイス14は、ストレージ媒体29およびファイル構文解析ユニット31を含む。いくつかの場合において、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16上で符号化ビデオデータを受信する。リンク16上で伝達される、すなわちストレージデバイス33上で供給される符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ30などのビデオデコーダによる使用のためにビデオエンコーダ20によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバ上に記憶された符号化ビデオデータとともに含まれてもよい。

0031

ディスプレイデバイス32は、宛先デバイス14と一体であるか、または宛先デバイス14に外付けであってもよい。いくつかの例において、宛先デバイス14は、一体型ディスプレイデバイスを含むものとしてよく、外付けディスプレイデバイスとインターフェースするものとしてもよい。他の例では、宛先デバイス14はディスプレイデバイスであり得る。一般に、ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスのいずれかを備え得る。

0032

ビデオエンコーダ20およびビデオデコーダ30は、各々、1つもしくは複数のマイクロプロセッサデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、離散論理ソフトウェアハードウェアファームウェア、またはそれらの任意の組合せなど、様々な適切なエンコーダ回路のうちのいずれかとして実装され得る。本技法が部分的にソフトウェアに実装されるとき、デバイスは、ソフトウェアのための命令を適切な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実施するために1つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれてよく、それらのいずれかが、それぞれのデバイスの中で複合エンコーダ/デコーダ(コーデック)の一部として一体化されてよい。

0033

宛先デバイス14は、リンク16を介して復号されるべき符号化ビデオデータを受信し得る。リンク16は、符号化ビデオデータをソースデバイス12から宛先デバイス14に移動することができるどれかの種類の媒体またはデバイスを備え得る。一例において、リンク16は、ソースデバイス12が符号化ビデオデータを直接、宛先デバイス14にリアルタイムで送信することを可能にするための通信媒体を備えるものとしてよい。符号化ビデオデータは、ワイヤレス通信プロトコルなどの、通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、高周波(RF)スペクトルなどのワイヤレスもしくは有線通信媒体、または1つまたは複数の物理伝送路を備え得る。通信媒体は、ローカルエリアネットワークワイドエリアネットワーク、またはインターネットのようなグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、または、ソースデバイス12から宛先デバイス14への通信を容易にするために有用であり得る任意の他の機器を含み得る。

0034

代替的に、出力インターフェース22は、符号化データをストレージデバイス33に出力することができる。同様に、入力インターフェース28は、符号化データストレージデバイス33にアクセスすることができる。ストレージデバイス33は、ハードドライブブルーレイディスク、DVD、CD-ROMフラッシュメモリ揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための他の任意の好適なデジタルストレージ媒体などの、様々な分散型の、またはローカルでアクセスされる、データストレージ媒体のうちのどれかを含み得る。さらなる例において、ストレージデバイス33は、ソースデバイス12によって生成された符号化ビデオデータを保持することができるファイルサーバもしくは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイス33から記憶されているビデオデータにアクセスすることができる。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することができる任意の種類のサーバであってよい。例示的なファイルサーバは、ウェブサーバ(たとえば、ウェブサイト用)、ファイル転送プロトコル(FTP)サーバ、ネットワークアタッチトストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を介して符号化ビデオデータにアクセスしてもよい。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi-Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含んでもよい。ストレージデバイス33からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであってもよい。

0035

本開示の技法は、必ずしもワイヤレスの適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介するストリーミングビデオ送信、データ記憶媒体上に記憶するためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の用途など、様々なマルチメディア用途のうちのいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生ビデオ放送、および/またはビデオ電話などの用途をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。

0036

さらに、図1の例において、ビデオコーディングシステム10は、ファイル生成デバイス34を含む。ファイル生成デバイス34は、ソースデバイス12によって生成された符号化ビデオデータを受信することができる。ファイル生成デバイス34は、符号化ビデオデータを含むファイルを生成し得る。宛先デバイス14は、ファイル生成デバイス34によって生成されたファイルを受信し得る。様々な例において、ファイル生成デバイス34は、様々な種類のコンピューティングデバイスを備え得る。たとえば、ファイル生成デバイス34は、ビデオ符号化デバイス、メディアアウェアネットワーク要素(MANE)、サーバコンピューティングデバイスパーソナルコンピュティングデバイス、専用コンピューティングデバイス、商用コンピューティングデバイス、または別の種類のコンピューティングデバイスを含み得る。いくつかの例において、ファイル生成デバイス34は、コンテンツ配信ネットワークの一部である。ファイル生成デバイス34は、リンク16などのチャネルを介してソースデバイス12から符号化ビデオデータを受信し得る。さらに、宛先デバイス14は、リンク16などのチャネルを介してファイル生成デバイス34からファイルを受信し得る。ファイル生成デバイス34は、ビデオデバイスとみなされてよい。図1の例に示されているように、ファイル生成デバイス34は、符号化ビデオコンテンツを含むファイルを記憶するように構成されているメモリ31を備え得る。

0037

他の例では、ソースデバイス12または別のコンピューティングデバイスは、符号化ビデオデータを含むファイルを生成し得る。しかしながら、説明を簡単にするために、本開示では、ファイル生成デバイス34をファイルを生成するものとして説明している。それでもなお、そのような説明は、一般にコンピューティングデバイスに適用可能であると理解されるべきである。

0038

ビデオエンコーダ20およびビデオデコーダ30は、高効率ビデオコーディング(HEVC)規格またはその拡張などのビデオ圧縮規格に従って動作し得る。HEVC規格は、ISO/IEC23008-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を含む。

0039

代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的に、MPEG-4, Part 10,アドバンストビデオコーディング(AVC)と呼ばれるITU-T H.264規格、またはそのような規格の拡張などの、他の独自規格または業界規格に従って動作し得る。しかしながら、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例は、そのスケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含む、ITU-T H.261、ISO/IECMPEG-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とも呼ばれる)を含む。

0040

一般に、HEVCにおいて、ビデオフレームまたはピクチャは、輝度サンプルと彩度サンプルの両方を含む一連のツリーブロックまたは最大コーディング単位(LCU)に分割されてもよい。ツリーブロックは、コーディングツリー単位(CTU)とも称され得る。ツリーブロックは、H.264/AVC規格のマクロブロックと同様の目的を有する。スライスは、コーディング順にいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分されてもよい。各ツリーブロックは、4分木に従ってコーディング単位(CU)に分裂されてもよい。たとえば、ツリーブロックは、4分木のルートノードとして、4つの子ノードに分裂されてもよく、各子ノードは、次に、親ノードになり、別の4つの子ノードに分裂されてもよい。最後の、分裂されていない子ノードは、4分木のリーフノードとして、コーディングノード、すなわちコーディングされたビデオブロックを備える。コーディングされたビットストリームに関連付けられたシンタックスデータは、ツリーブロックが分裂されてもよい最大回数を定義してもよく、また、コーディングノードの最小サイズを定義してもよい。

0041

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は、形状において正方形または非正方形であることができる。

0042

HEVC規格は、TUに従う変換を可能にし、それは、異なるCUのために異なってもよい。TUは、典型的には、区分されたLCUのために定義された所与のCU内のPUのサイズに基づいてサイズが決められるが、これは、必ずしもそうでないことがある。TUは、典型的には、PUと同じサイズであるか、またはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用して、より小さい単位に細分されてもよい。RQTのリーフノードは、変換単位(TU)と称され得る。TUに関連付けられたピクセル差分値は、量子化されてもよい変換係数を生成するために変換されてもよい。

0043

一般に、PUは、予測プロセスに関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、PUのイントラ予測モードを記述するデータを含み得る。別の例として、PUがインターモード符号化されるとき、PUは、PUの動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの分解能(たとえば、4分の1ピクセル精度もしくは8分の1ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルのための参照ピクチャリスト(たとえば、リスト0、リスト1)を記述し得る。

0044

一般に、TUは、変換および量子化プロセスのために使用される。1つまたは複数のPUを有する所与のCUはまた、1つまたは複数の変換単位(TU)を含んでもよい。予測に続いて、ビデオエンコーダ20は、PUに対応する残差値を計算してもよい。残差値は、ピクセル差分値を備え、ピクセル差分値は、エントロピーコーディングのためのシリアライズ化された変換係数を生成するために、変換係数に変換され、量子化され、TUを使用して走査されてもよい。本開示では、典型的には、「ビデオブロック」という用語を使用して、CUのコーディングノード(すなわち、コーディングブロック)を参照する。いくつかの特定の場合において、本開示では、「ビデオブロック」という用語も使用してコーディングノードおよびPUおよびTUを含む、ツリーブロック、すなわち、LCU、もしくはCUを参照し得る。

0045

ビデオシーケンスは、典型的には、一連のビデオフレームまたはピクチャを含む。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含んでもよい。ビデオエンコーダ20は通常、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロック上で動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定または可変サイズを有するものとしてよく、指定されたコーディング規格に従ってサイズが異なり得る。

0046

CUのPUを使用するイントラ予測またはインター予測コーディングに続いて、ビデオエンコーダ20は、CUのTUに対する残差データを計算することができる。PUは、空間領域(ピクセル領域とも称される)内のピクセルデータを備えるものとしてよく、TUは、変換、たとえば、離散コサイン変換(DCT)、整数変換ウェーブレット変換、または残差ビデオデータへの概念上類似する変換の適用の後の変換領域内係数を備えるものとしてよい。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差に対応してもよい。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、CUのための変換係数を生成するためにTUを変換してもよい。

0047

変換係数を生成するための任意の変換に続いて、ビデオエンコーダ20は、変換係数の量子化を実行してもよい。量子化は、一般に、係数を表すために使用されるデータの量をできる限り低減するために変換係数が量子化され、さらなる圧縮が行われるプロセスを指す。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減し得る。

0048

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によって使用するための符号化されたビデオデータに関連付けられたシンタックス要素をエントロピー符号化してもよい。

0049

ビデオエンコーダ20は、コード化ピクチャの表現および関連するデータを形成するビットシーケンスを含む、ビットストリームを出力し得る。「ビットストリーム」という用語は、ネットワークアブストラクションレイヤ(NAL)ユニットストリーム(たとえば、NALユニットのシーケンス)またはバイトストリーム(たとえば、HEVC規格のAnnex Bによって指定されているように、スタートコードプレフィックスおよびNALユニットを含むNALユニットストリームのカプセル化)のいずれかを指すために使用される総称であり得る。NALユニットは、NALユニットにおけるデータのタイプの指示と、必要に応じてエミュレーション防止ビットを散在させたローバイトシーケンスペイロード(RBSP)の形式による、そのデータを含むバイトとを含むシンタックス構造である。NALユニットの各々は、NALユニットヘッダを含むことができ、RBSPをカプセル化し得る。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって規定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内に封入された整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPは、0個のビットを含む。

0050

異なるタイプのNALユニットは、異なるタイプのRBSPを封入し得る。たとえば、第1のタイプのNALユニットはピクチャパラメータセット(PPS)のためのRBSPを封入することがあり、第2のタイプのNALユニットはスライスセグメントのためのRBSPを封入することがあり、第3のタイプのNALユニットは補足強化情報(SEI)のためのRBSPを封入することがあり、以下同様である。(パラメータセットおよびSEIメッセージのためのRBSPではなく)ビデオコーディングデータのためのRBSPを封入するNALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと呼ばれ得る。パラメータセット(たとえば、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、PPS、または他のタイプのパラメータセット)を含むNALユニットは、パラメータセットNALユニットと称され得る。

0051

本開示では、セグメントスライスに対するRBSPをカプセル化するNALユニットをコーディングスライスNALユニットと称することがある。HEVC WDにおいて定義されているように、スライスセグメントは、タイルスキャンで連続的に順序付けられ、単一のNALユニットに含まれる整数個のCTUである。対照的に、HEVC WDでは、スライスは、1つの独立したスライスセグメントおよび同じアクセスユニット内の次の独立したスライスセグメント(もしあれば)に先行するすべてのその後の従属するスライスセグメント(もしあれば)に含まれる整数個のCTUであり得る。独立したスライスセグメントは、スライスセグメントヘッダのシンタックス要素の値が先行するスライスセグメントに対する値から推論されないスライスセグメントである。従属するスライスセグメントは、スライスセグメントヘッダのいくつかのシンタックス要素の値が復号順に先行する独立したスライスセグメントに対する値から推論されるスライスセグメントである。コーディングスライスNALユニットのRBSPは、スライスセグメントヘッダとスライスデータとを含み得る。スライスセグメントヘッダは、スライスセグメントで表される第1のまたはすべてのCTUに関係するデータ要素を含むコーディングスライスセグメントの一部である。スライスヘッダは、現在のスライスセグメントまたは復号順に現在の従属するスライスセグメントに先行する一番最近の独立スライスセグメントである独立したスライスセグメントのスライスセグメントヘッダである。

0052

ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。それに加えて、ビデオデコーダ30は、ビットストリームを構文解析して、ビットストリームからシンタックス要素を取得することができる。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも一部基づいて、ビデオデータのピクチャを再構築し得る。ビデオデータを再構成するプロセスは、一般的に、ビデオエンコーダ20によって実行されるプロセスに相反するものとしてよい。たとえば、ビデオデコーダ30は、PUのモーションベクトルを使用して、現在のCUのPUに対する予測ブロックを決定し得る。それに加えて、ビデオデコーダ30は、現在のCUのTUの係数ブロック逆量子化し得る。ビデオデコーダ30は、係数ブロックに対して逆変換を実行し、現在のCUのTUの変換ブロックを再構成することができる。ビデオデコーダ30は、現在のCUのPUに対する予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応するサンプルに加えることによって現在のCUのコーディングブロックを再構成することができる。ピクチャの各CUに対してコーディングブロックを再構成することによって、ビデオデコーダ30は、ピクチャを再構成することができる。

0053

次にファイルフォーマットおよびファイルフォーマット規格が簡単に説明される。ファイルフォーマット規格は、ISOベースメディアファイルフォーマット(ISOBMFF、ISO/IEC14496-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の最近統合されたバージョンに基づく。

0054

ISOBMFFは、AVCファイルフォーマットなどの、多くのコーデックカプセル化フォーマットに対する、さらにはMPEG-4ファイルフォーマット、3GPPファイルフォーマット(3GP)、およびDVBファイルフォーマットなどの多くのマルチメディアコンテナフォーマットに対する基準として使用される。オーディオおよびビデオなどの連続メディアに加えて、画像などの静的メディア、さらにはメタデータは、ISOBMFFに適合するファイルに記憶され得る。ISOBMFFに従って構造化されたファイルは、ローカルメディアファイル再生、リモートファイルの漸進的ダウンローディングHTTP上の動的適応型ストリーミング(DASH)に対するセグメント、ストリーミングされるべきコンテンツおよびそのパケット化命令のためのコンテナ、および受信されたリアルタイムメディアストリームの記録を含む、多くの目的のために使用され得る。したがって、記憶させるように最初に設計されているが、ISOBMFFは、たとえば、漸進的ダウンロードまたはDASHに対する、ストリーミングに対して非常に有益であることが実証されている。ストリーミングを目的として、ISOBMFFで定義されているが動画フラグメントが使用され得る。オーディオおよびビデオなどの連続メディアに加えて、画像などの静的メディア、さらにはメタデータは、ISOBMFFに適合するファイルに記憶され得る。

0055

HEVCファイルフォーマットに適合するファイルは、ボックスと呼ばれる、一連のオブジェクトを含み得る。ボックスは、一意のタイプの識別子および長さによって定義されたオブジェクト指向ビルディングブロックであってもよい。ボックスは、ISOBMFFにおける基本的なシンタックス構造であり、4文字でコーディングされたボックスタイプ、ボックスのバイトカウント、およびペイロードを含み得る。言い換えれば、ボックスは、コーディングされたボックスタイプ、ボックスのバイトカウント、およびペイロードを含むシンタックス構造であってよい。いくつかの場合において、HEVCファイルフォーマットに適合するファイル内のすべてのデータは、ボックス内に含まれるものとしてよく、ボックス内にないファイルにはデータがあり得ない。したがって、ISOBMFFファイルは、一連のボックスからなるものとしてよく、ボックスは、他のボックスを含み得る。たとえば、ボックスのペイロードは、1つまたは複数の追加のボックスを含み得る。本開示の別のところで詳しく説明されている図6A、図6B、図6C、図7A、図7B、および図7Cは、本開示の1つまたは複数の技法による、ファイル内の例示的なボックスを示している。

0056

ISOBMFFに適合するファイルは、様々なタイプのボックスを含み得る。たとえば、ISOBMFFに適合するファイルは、ファイルタイプボックス、メディアデータボックス、動画ボックス、動画フラグメントボックス、などを含み得る。この例では、ファイルタイプボックスは、ファイルタイプと互換性情報とを含む。メディアデータボックスは、サンプル(たとえば、コーティングされたピクチャ)を含み得る。動画ボックス(「moov」)は、ファイル内に存在する連続的メディアストリームに対するメタデータを含む。連続的メディアストリームの各々は、ファイル内でトラックとして表され得る。たとえば、動画ボックスは、動画に関するメタデータを含み得る(たとえば、サンプル間の論理およびタイミングに関する関係、さらにはサンプルの位置へのポインタ)。動画ボックスは、いくつかのタイプのサブボックスを含み得る。動画ボックス内のサブボックスは、1つまたは複数のトラックボックスを含み得る。トラックボックスは、動画の個別のトラックに関する情報を含み得る。トラックボックスは、単一のトラックの全体的な情報を指定するトラックヘッダボックスを含み得る。それに加えて、トラックボックスは、メディア情報ボックスを含むメディアボックスを含み得る。メディア情報ボックスは、トラック内のデータインデックス付けメディアサンプルを含むサンプルテーブルボックスを含み得る。サンプルテーブルボックス内の情報は、時間に関するサンプルの位置を特定するために使用され、またトラックのサンプルの各々について、タイプ、サイズ、コンテナ、およびサンプルのそのコンテナ内へのオフセットを特定するために使用され得る。したがって、トラックに対するメタデータは、トラックボックス(「trak」)内に封じ込められ、トラックのメディアコンテンツは、メディアデータボックス(「mdat」)内に、または別個のファイル内に直接のいずれかで、封じ込められる。トラックに対するメディアコンテンツは、オーディオまたはビデオアクセスユニットなどの、一連のサンプルを含むか、または一連のサンプルからなる。

0057

ISOBMFFは、トラックのタイプとして、基本メディアストリームを含む、メディアトラック、メディア送信命令を含むか、または受信されたパケットストリームを表すヒントトラック、および時間同期メタデータを含む、タイムドメタデータトラックを指定する。各トラックに対するメタデータは、サンプル説明エントリのリストを含み、各々のエントリはトラックで使用されるコーディングまたはカプセル化フォーマットおよびそのフォーマットを処理するために使用される初期化データを提供する。各サンプルは、トラックのサンプル説明エントリのうちの1つに関連付けられる。

0058

ISOBMFFは、様々な機構でサンプル特有のメタデータを指定することを可能にする。サンプルテーブルボックス(「stbl」)内の特定のボックスが、共通の必要条件に応じるように標準化されている。サンプルテーブルボックスは、トラック内のメディアサンプルのすべての時間およびデータインデックス付けを含むサンプルテーブルを含む。サンプルテーブルボックス内のテーブルを使用することで、サンプルの時間的な位置を特定し、そのタイプ(たとえば、Iフレームかそうでないか)を決定し、そのサイズ、コンテナ、およびそのコンテナへのオフセットを決定することが可能であり得る。

0059

たとえば、同期サンプルボックス(「stss」)は、サンプルテーブルボックス内のボックスである。同期サンプルボックスは、トラックのランダムアクセスサンプルをリストするために使用される。本開示では、同期サンプルボックスによってリストされたサンプルを同期サンプルと称することがある。別の例において、サンプルグルーピング機構は、ファイル内のサンプルグループ説明エントリとして指定されている同じ特性を共有するサンプルのグループへの4文字のグルーピングタイプによるサンプルのマッピングを可能にする。いくつかのグルーピングタイプは、ISOBMFFにおいて指定されている。

0060

動画フラグメントボックスは、最上位ボックスである。各動画フラグメントボックスは、動画ボックス内にすでにあった情報を提供する。動画フラグメントボックスは、1つまたは複数のトラックフラグメント(「traf」)ボックスを含み得る。動画フラグメント内に、トラックフラグメントのセットが、トラック毎に0またはそれ以上の数だけある。次いで、トラックフラグメントは、0またはそれ以上のトラックランを含み、各々、そのトラックに対するサンプルの連続するランをドキュメント化する。たとえば、各トラックランは、復号順などの特定の順に連続しているピクチャのサンプルを含み得る。トラックフラグメントボックスは、14996-12仕様において定義され、1つまたは複数のトラックフラグメントに対するメタデータを含む。たとえば、トラックフラグメントボックスは、トラックID、ベースデータオフセット、サンプル説明インデックス、既定のサンプル持続時間、既定のサンプルサイズ、および既定のサンプルフラグを指示するトラックフラグメントヘッダボックスを含み得る。トラックフラグメントボックスは、1つまたは複数のトラックフラグメントランボックスを含むものとしてよく、各々、トラックに対するサンプルの連続するセットをドキュメント化する。たとえば、トラックフラグメントボックスは、サンプルカウント、データオフセット、サンプルフラグ、サンプル持続時間、サンプルサイズ、サンプル構成、時間オフセット、などを指示するシンタックス要素を含み得る。これらの構造内では、多くのフィールドオプションであり、それに対して既定の設定がなされ得る。

0061

サンプルテーブルボックスは、1つまたは複数のSampleToGroupボックスおよび1つまたは複数のサンプルグループ説明ボックス(すなわち、SampleGroupDescriptionボックス)を含み得る。SampleToGroupボックスは、サンプルグループの関連付けられている説明とともに、サンプルが属しているサンプルグループを決定するために使用され得る。言い換えれば、SampleToGroupボックスは、サンプルが属しているグループを指示するものとしてよい。SampleToGroupボックスは、「sbgp」のボックスタイプを有し得る。SampleToGroupボックスは、グルーピングタイプ要素(たとえば、grouping_type)を含み得る。いくつかの場合において、本開示では、ボックスの要素は、シンタックス要素とも称され得る。グルーピングタイプ要素は、サンプルグルーピングのタイプ(すなわち、サンプルグループを形成するために使用される基準)を識別する整数であってよい。さらに、SampleToGroupボックスは、1つまたは複数のエントリ(すなわち、サンプルグループエントリ)を含み得る。SampleToGroupボックス内の各サンプルグループエントリは、トラック内の異なる重なり合わない一連の連続サンプルに関連付けられ得る。各サンプルグループエントリは、サンプルカウント要素(たとえば、sample_count)およびグループ説明インデックス要素(たとえば、group_description_index)を指示し得る。サンプルグループエントリのサンプルカウント要素は、サンプルグループエントリに関連付けられているサンプルの数を指示し得る。言い換えれば、サンプルグループエントリのサンプルカウント要素は、同じサンプルグループディスクリプタを持つ連続サンプルの数を与える整数であってよい。グループ説明インデックス要素は、SampleGroupDescriptionボックス内で、サンプルグループエントリに関連付けられているサンプルの説明を含むグループ説明エントリを識別し得る。複数のサンプルグループエントリのグループ説明インデックス要素は、同じSampleGroupDescriptionボックスを識別し得る。

0062

上で簡単に指示されているように、SampleToGroupボックスは、グルーピングタイプパラメータシンタックス要素も含み得る。グルーピングタイプパラメータシンタックス要素は、grouping_type_parameterとして表され得る。グルーピングタイプパラメータシンタックス要素は、サンプルグルーピングのサブタイプの指示である。grouping_type_parameterを使用する場所がISO/IEC14496-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は、派生メディアフォーマット仕様によって指定される。

0063

grouping_type_parameterシンタックス要素を使用する最新の14496-12テキストにもいくつかの事例が載っている。たとえば、8.8.13.1項「レベル割り当てボックス」および8.8.16.1項「代替的スタートアップシーケンスプロパティボックス」では、grouping_type_parameterシンタックス要素を使用する。

0064

ISOBMFF(すなわち、SampleGroupDescriptionボックスおよびSampleToGroupボックス)におけるサンプルグループの現在のシグナリングのいくつかの態様は、SampleToGroupボックスのバージョンが1に等しいときに明確でないか、または動作していない。たとえば、Sample to Groupボックスのシンタックスは、次の通りである。
aligned(8) class SampleToGroupBox
extendsFullBox('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;
}
}

0065

grouping_typeおよびgrouping_type_parameterのセマンティクスは、次の通りである。
grouping_typeは、サンプルグルーピングのタイプ(すなわち、サンプルグループを形成するために使用される基準)を識別する整数であり、それをグルーピングタイプに対する同じ値を持つそのサンプルグループ説明テーブルにリンクする。grouping_type (and, if used, grouping_type_parameter)に対する同じ値を持つこのボックスの多くても1回の出現が、トラックに対して存在するものとする。
grouping_type_parameterは、グルーピングのサブタイプの指示である。

0066

したがって、バージョン1のサンプルグループのグルーピングタイプは、grouping_typeとgrouping_type_parameterの両方からなるものとしてよい。

0067

さらに、14496-12仕様にはSampleToGroupボックスの次の説明がある。
トラック内のサンプルに対して複数のサンプルグルーピングがある場合に、このボックスの複数のインスタンスがあり得る。SampleToGroupボックスの各インスタンスは、異なるサンプルグルーピングを区別するタイプコードを有する。[START1]トラック内に、特定のグルーピングタイプを持つこのボックスの多くても1つのインスタンスがあるものとする。[END 1][START 2]関連付けられているSampleGroupDescriptionは、グルーピングタイプに対する同じ値を指示するものとする。[END 2]

0068

SampleToGroupボックスのこの説明において、タイプコードは、実際には単にgrouping_typeであり、サブタイプgrouping_type_parameterを含まない。それに対して、上の[START1]と[END 1]との間のテキストに基づき、グルーピングタイプは、grouping_typeとgrouping_type_parameterの両方からなる。ここで再び、上の[START 2]と[END 2]との間のテキストに基づき、グルーピングタイプは、また、grouping_typeのみからなる。

0069

Sample Group Descriptionボックスのシンタックスは、次の通りである。
aligned(8) class SampleGroupDescriptionBox (unsigned int(32) handler_type)
extendsFullBox('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から導出されるクラスのインスタンス
}
}

0070

これからわかるように、SampleGroupDescriptionボックス内には、サンプルグルーピングサブタイプ(すなわち、grouping_type_parameter)が存在しない。したがって、バージョン1 SampleToGroupボックスとともにサブグルーピングが使用されるときにSampleToGroupボックスとSampleGroupDescriptionボックスとの間に一対一マッピングがあるようにgrouping_typeの同じ値(およびgrouping_type_parameterの異なる値)を持つSample TableボックスまたはTrack Fragmentボックス内の複数のSampleGroupDescriptionボックスを有する可能性はない。

0071

さらに、14496-12仕様にはSample Descriptionボックスの次の説明がある。
トラック内のサンプルに対して複数のサンプルグルーピングがある場合に、このボックスの複数のインスタンスがあり得る。SampleGroupDescriptionボックスの各インスタンスは、異なるサンプルグルーピングを区別するタイプコードを有する。トラック内に、特定のグルーピングタイプを持つこのボックスの多くても1つのインスタンスがあるものとする。関連付けられているSampleToGroupは、グルーピングタイプに対する同じ値を指示するものとする。
このテキストから、タイプコードおよびグルーピングタイプは両方とも、grouping_typeだけであるべきであり、サブタイプgrouping_type_parameterを含まない。

0072

本開示の技法の概要説明を以下で与え、いくつかの方法の詳細な実装形態を後のセクションで提供する。これらの技法のうちのいくつかは、独立して適用されてよく、それらのうちのいくつかは、組み合わせて適用されてよい。本開示の特定の技法は、ファイルフォーマットに属しているファイルが従わなければならない要件を規定する。たとえば、ファイルがそれらの要件のうちの1つを満たさない場合、ファイルは、ファイルフォーマットに適合しない。

0073

本開示の第1の例示的な技法によれば、上で説明されているISOBMFFにおけるサンプルグループのシグナリングに関する明確さの問題は、grouping_type_parameterシンタックス要素をSample to Groupボックスシンタックスから取り除くことによって解消され得る。したがって、grouping_typeシンタックス要素は、Sample to Groupボックスのグルーピングタイプを指示する単独のシンタックス要素であってよい。

0074

本開示の第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ボックスに対応し得る。

0075

本開示の第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シンタックス要素を有することを許されない。

0076

第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に等しくなければならないというのがファイルフォーマットの要件であり得る。

0077

第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よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないというのがファイルフォーマットの要件であり得る。

0078

したがって、本開示の第3の技法の一例によれば、ソースデバイス12またはファイル生成デバイス34などのデバイスは、ファイルが特定のファイルフォーマットに適合するようにファイルのコンテナボックス(たとえば、サンプルテーブルボックスまたはトラックフラグメントボックス)を生成し得る。コンテナボックスを生成する一環として、デバイスは、コンテナボックス内で、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成し得る。各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与える。SampleGroupDescriptionボックスはサンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含む。この例では、SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は特定の値を有する。さらに、この例では、デバイスは、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成し得る。この例では、複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含む。それに加えて、各それぞれのSampleToGroupボックスは、1つまたは複数のサンプルグループエントリを含む。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含む。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリはそれぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含む。それぞれのサンプルグループの各サンプルはビデオコンテンツの1つまたは複数のピクチャを含む。この例では、デバイスは、ファイルを出力し得る。

0079

宛先デバイス14などの、ファイルを読み込むためのデバイスは、ファイルを取得し、たとえば、ファイルを構文解析することによって、ファイルからコンテナボックスを取得することができる。たとえば、図1の例において、宛先デバイス14のストレージ媒体29は、ファイルを記憶するように構成され得る。宛先デバイス14のファイル構文解析ユニット31は、ファイルからコンテナボックスを取得するように構成され得る。この例では、ビデオレコーダー30はファイルから構文解析された符号化ビデオデータを復号することができる。

0080

本開示の第3の例示的な技法によれば、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかないという特定のファイルフォーマットの要件があり得る。しかしながら、いくつかの例では、デバイスは、特定の値と異なるグルーピングタイプシンタックス要素を有する別のSampleGroupDescriptionボックスをさらに生成し得る。

0081

上で指示されているように、ファイルは、特定のファイルフォーマットに適合し得る。さらに、いくつかの例では、単一のコンテナボックス内でグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないというのがファイルフォーマットの要件である。言い換えれば、コンテナボックス内でgrouping_typeの特定の値を持つ複数のSampleToGroupボックスがあるときに、すべてのSampleToGroupボックスのバージョンは1でなければならない。さらに、いくつかの例では、単一のコンテナボックス内でグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックスシンタックス要素を有しないというのがファイルフォーマットの要件である。言い換えれば、grouping_typeの特定の値を持つ複数のSampleToGroupボックスがあるときに、0よりも大きいgroup_description_indexの値はどれも、SampleToGroupボックスのうちの複数に存在しないことが制約条件とされるべきである。いくつかの例では、単一のトラックまたはトラックフラグメントにおいてグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないというのがファイルフォーマットの要件である。

0082

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ピクチャと称される。

0083

現在の14996-12仕様では、SAPサンプルグルーピングをシグナリングする設計は、SampleToGroupボックスのバージョン1が使用されることを必要とする。この設計は、典型的には複数のSampleToGroupボックス、さらにはSampleToGroupボックス内のより多くの全エントリの使用を必要とするので不効率である。これは、より高い構文解析複雑度およびより大きいデータオーバーヘッドの両方を意味し得る。追加のデータオーバーヘッドに対する理由の1つは、余分なボックスを使用すると、結果として、ボックスタイプ、ボックスバージョンなどの何らかの情報をシグナリングするためにより大きいオーバーヘッドを生じることになるというものである。追加のデータオーバーヘッドに対する別の理由は、各エントリのデータ量が一定である間の、SampleToGroupボックス内の追加のエントリである。より多くのボックスは、ボックスを見つけるためにより多くの構文解析が使用されることを意味し得る。特に、見つけるべきボックスが1つだけである場合、構文解析は、そのボックスが見つかった直後に停止することができ、場合によっては見つけるべきボックスが複数あり、ボックスの実際の数が未知であるときに、終わりまでのコンテナボックス全体の構文解析が使用される。

0084

この問題を解決するために、本開示では、SampleToGroupボックスに対してバージョン1を使用する代わりに、バージョン0が使用されることを提案している。シンタックス要素target_layersおよびlayers_id_method_idcは、サンプルグループ説明エントリに含まれる。

0085

図2は、本開示で説明する技術を実施してもよい例示的なビデオエンコーダ20を示すブロック図である。ビデオエンコーダ20は、本開示において説明されているファイルフォーマット技法を使用して記憶され得るビデオデータを生成するように構成されているビデオコーダーの一例を表している。ビデオエンコーダ20は、シングルビュー、マルチビュー、スケーラブル、3D、および他のタイプのビデオデータを出力するように構成され得る。ビデオエンコーダ20は、ビデオを後処理処理エンティティ27に出力するように構成され得る。後処理処理エンティティ27は、ビデオエンコーダ20からの符号化ビデオデータを処理し得るMANEまたはスプライシング/編集デバイスなどのビデオエンティティの一例を表すことを意図されている。いくつかの場合において、後処理処理エンティティは、ネットワークエンティティの一例であってよい。いくつかのビデオ符号化システムでは、後処理エンティティ27およびビデオエンコーダ20は、別々のデバイスの部分であってよいが、他の場合には、後処理エンティティ27に関して説明される機能は、ビデオエンコーダ20を備える同じデバイスによって実行されてもよい。後処理エンティティ27は、ビデオデバイスであってよい。いくつかの例において、後処理エンティティ27は、図1のファイル生成デバイス34と同じであってよい。

0086

本開示の技法によれば、後処理エンティティ27は、ビデオエンコーダ20によって生成された符号化ビデオコンテンツを記憶するためのファイルを生成し得る。ファイルは、ファイルのコンテナボックス内で、サンプルグルーピングに対するサンプルグループ説明を与えるSampleGroupDescriptionボックスを含み得る。SampleGroupDescriptionボックスは、特定の値を有するグルーピングタイプシンタックス要素を含む。それに加えて、SampleGroupDescriptionボックスは、1つまたは複数のサンプルグループエントリを含む。後処理エンティティ27は、同じコンテナボックス内で、複数のSampleToGroupボックスを生成し得る。複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは、特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含み、それぞれのサンプルグルーピング内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素を含み、それぞれのサンプルグルーピングのサンプルを説明するSampleGroupDescriptionボックス内のエントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素を含む。それぞれのサンプルグルーピングの各サンプルは、ビデオコンテンツのそれぞれのピクチャを含み得る。

0087

ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行してもよい。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオにおける空間的冗長性を低減または除去するために空間的予測に依存する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオにおける時間的冗長性を低減または除去するために時間的予測に依存する。イントラモード(Iモード)は、いくつかの空間ベース圧縮モードのうちのいずれかを指してもよい。片方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのうちのいずれかを指してもよい。

0088

図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は、ポストループフィルタとして実装されてもよい。

0089

ビデオエンコーダ20のビデオデータメモリ65は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶することができる。ビデオデータメモリ65に記憶されるビデオデータは、たとえば、ビデオソース18から取得され得る。参照ピクチャメモリ64は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオエンコーダ20によるビデオデータの符号化で使用するための参照ビデオデータを記憶する参照ピクチャメモリであってよい。ビデオデータメモリ65および参照ピクチャメモリ64は、ダイナミックランダムアクセスメモリ(DRAM)(同期DRAM(SDRAM)を含む)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成されてもよい。ビデオデータメモリ65および参照ピクチャメモリ64は、同じメモリデバイスまたは別個のメモリデバイスによって提供されてもよい。様々な例では、ビデオデータメモリ65は、ビデオエンコーダ20の他の構成要素とともにオンチップであってもよく、または、これらの構成要素に対してオフチップであってもよい。

0090

図2に示すように、ビデオエンコーダ20は、ビデオデータを受信し、区分ユニット35は、ビデオブロックにデータを区分する。この区分はまた、スライス、タイル、または他のより大きい単位への区分、ならびに、たとえば、LCUおよびCUの4分木構造によるビデオブロック区分を含んでもよい。ビデオエンコーダ20は、全体的に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、あるいは、タイルと呼ばれるビデオブロックのセットに)分割されてもよい。予測処理ユニット41は、エラー結果(たとえば、コーディングレートおよび歪のレベル)に基づいて、現在のビデオブロックのための、複数のイントラコーディングモードのうちの1つまたは複数のインターコーディングモードのうちの1つなどの、複数の可能なコーディングモードのうちの1つを選択してもよい。予測処理ユニット41は、残差ブロックデータを生成するために加算器50に、および、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に、得られたイントラまたはインターコード化ブロックを提供してもよい。

0091

予測処理ユニット41内のイントラ予測処理ユニット46は、空間的圧縮を提供するために、コーディングされるべき現在のブロックと同じフレームまたはスライス内の1つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実行してもよい。予測処理ユニット41内の動き推定ユニット42および動き補償ユニット44は、時間的圧縮を提供するために、1つまたは複数の参照ピクチャ内の1つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実行する。

0092

動き推定ユニット42は、ビデオシーケンスのための所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成されてもよい。所定のパターンは、Pスライス、Bスライス、またはGPBスライスとしてシーケンス内のビデオスライスを指定してもよい。動き推定ユニット42および動き補償ユニット44は、高度に統合されてもよいが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動き推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示してもよい。

0093

予測ブロックは、絶対差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって決定されてもよいピクセル差分の観点で、コーディングされるべきビデオブロックのPUと密接に整合することが見出されたブロックである。いくつかの例において、ビデオエンコーダ20は、参照ピクチャメモリ64内に記憶されている参照ピクチャのサブ整数ピクセル位置に対する値を計算することができる。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置および分数ピクセル位置に対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力してもよい。

0094

動き推定ユニット42は、参照ピクチャの予測ブロックの位置とPUの位置とを比較することによって、インターコーディングされたスライス内のビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(List0)または第2の参照ピクチャリスト(List1)から選択されるものとしてよく、各々参照ピクチャメモリ64内に記憶されている1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルを決定することができるシンタックス要素をエントロピー符号化ユニット56と動き補償ユニット44とに送る。

0095

動き補償ユニット44によって実行される動き補償は、あるいはサブピクセル精度で補間を行う動き推定によって決定された動きベクトルに基づいて、予測ブロックを取得または生成することを伴ってもよい。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定してもよい。ビデオエンコーダ20は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成し得る。ピクセル差分値は、ブロックのための残差データを形成し、輝度差成分と彩度差成分の両方を含んでもよい。加算器50は、この減算演算を実行する1つまたは複数の成分を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用するための、ビデオブロックおよびビデオスライスに関連付けられたシンタックス要素を生成してもよい。

0096

イントラ予測処理ユニット46は、上で説明されたように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。具体的には、イントラ予測処理ユニット46は、現在のブロックを符号化するために使用するイントラ予測モードを決定してもよい。いくつかの例では、イントラ予測処理ユニット46は、たとえば、別個の符号化パスの間、様々なイントラ予測モードを使用して現在のブロックを符号化してよく、イントラ予測処理ユニット46は、試験されたモードから、使用するための適切なイントラ予測モードを選択することができる。たとえば、イントラ予測処理ユニット46は、様々な試験されたイントラ予測モードに対してレート-歪み分析を使用してレート-歪み値を計算し、試験されたモードの中から最良のレート-歪み特性を有するイントラ予測モードを選択してもよい。レート-歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化される、符号化されていない元のブロックとの間の歪み(すなわち、エラー)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測処理ユニット46は、どのイントラ予測モードがブロックに対して最良のレート-歪み値を示すのかを決定するために、様々な符号化ブロックに関する歪みおよびレートから比を計算し得る。

0097

いずれの場合も、ブロックに対するイントラ予測モードを選択した後、イントラ予測処理ユニット46は、ブロックに対する選択されたイントラ予測モードを指示する情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、本開示の技術により選択されたイントラ予測モードを指示する情報を符号化し得る。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)を含んでもよい、送信されたビットストリーム構成データ内に、コンテキストの各々のために使用する、様々なブロックのための符号化コンテキストの定義と、最もあり得るイントラ予測モードの指示と、イントラ予測モードインデックステーブルと、変更されたイントラ予測モードインデックステーブルとを含んでもよい。

0098

予測処理ユニット41が、インター予測またはイントラ予測のいずれかによって現在のビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ20は、現在のビデオブロックから予測ブロックを減算することによって、残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1つまたは複数のTUに含まれ、変換処理ユニット52に適用され得る。変換処理ユニット52は、離散コサイン変換(DCT)または概念上類似する変換などの、変換を使用して残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換してもよい。

0099

変換処理ユニット52は、結果として得られる変換係数を量子化ユニット54に送ることができる。量子化ユニット54は、変換係数を量子化してビットレートをさらに減らす。量子化プロセスは、係数の一部または全部に関連付けられたビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行してもよい。

0100

量子化に続いて、エントロピー符号化ユニット56は、量子化された変換係数を表すシンタックス要素をエントロピー符号化するものとしてよい。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法もしくは技術を実行してもよい。エントロピー符号化ユニット56によるエントロピー符号化に続いて、符号化されたビットストリームは、ビデオデコーダ30に送信されるか、またはビデオデコーダ30による後からの送信もしくは取り出しのためにアーカイブされ得る。エントロピー符号化ユニット56は、動きベクトルおよびコーディングされている現在のビデオスライスのための他のシンタックス要素もエントロピー符号化し得る。

0101

逆量子化ユニット58および逆変換処理ユニット60は、参照ピクチャの参照ブロックとして後に使用するためのピクセル領域における残差ブロックを再構成するために、それぞれ、逆量子化および逆変換を適用する。動き補償ユニット44は、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算してもよい。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに1つまたは複数の補間フィルタを適用してもよい。加算器62は、再構築された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算し、参照ブロックを生成して参照ピクチャメモリ64に記憶するものとしてよい。参照ブロックは、動き推定ユニット42と動き補償ユニット44とによって、その後のビデオフレームもしくはピクチャ内のブロックをインター予測するための参照ブロックとして使用され得る。

0102

図3は、本開示に記載の技法を実装してもよい例示的なビデオデコーダ30を示すブロック図である。図3のビデオデコーダ30は、本開示において説明されているファイルフォーマット技法を使用して記憶され得るビデオデータを復号するように構成されているビデオデコーダの一例を表している。

0103

ビデオデコーダ30は、シングルビュー、マルチビュー、スケーラブル、3D、および他のタイプのビデオデータを復号するように構成され得る。図3の例において、ビデオデコーダ30は、エントロピー復号ユニット80と、予測処理ユニット81と、逆量子化ユニット86と、逆変換処理ユニット88と、加算器90と、フィルタユニット91と、参照ピクチャメモリ92とを備える。予測処理ユニット81は、動き補償ユニット82とイントラ予測処理ユニット84とを備える。ビデオデコーダ30は、いくつかの例において、図2からのビデオエンコーダ20に関して説明されている符号化パスに一般的に相反する復号パスを実行し得る。

0104

コード化ピクチャバッファ(CPB)79は、ビットストリームの符号化ビデオデータ(たとえば、NALユニット)を受信し、記憶することができる。CPB79に記憶されたビデオデータは、たとえば、図1のリンク16から、たとえば、カメラなどのローカルビデオソースから、ビデオデータの有線もしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得され得る。CPB79は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するビデオデータメモリを形成し得る。参照ピクチャメモリ92は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。CPB79および参照ピクチャメモリ92は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗性RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。CPB79および参照ピクチャメモリ92は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、CPB79は、ビデオデコーダ30の他のコンポーネントとともにオンチップであってよく、またはそれらのコンポーネントに対してオフチップであってよい。

0105

復号プロセスにおいて、ビデオデコーダ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は、同じデバイスによって実装される。

0106

ビデオデコーダ30のエントロピー復号ユニット80は、ビットストリームの特定のシンタックス要素をエントロピー復号して、量子化された係数と、モーションベクトルと、他のシンタックス要素とを生成する。エントロピー復号ユニット80は、動きベクトルおよび他のシンタックス要素を予測処理ユニット81に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいてシンタックス要素を受信することができる。

0107

ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測処理ユニット81のイントラ予測処理ユニット84は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成してもよい。ビデオフレームが、インターコーディングされた(すなわち、BまたはP)スライスとしてコーディングされるときに、予測処理ユニット81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素に基づき現在のビデオスライスのビデオブロックに対する予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つのリスト内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ92内に記憶された参照ピクチャに基づいて、デフォルトの構成技術を使用して、参照フレームリスト、リスト0およびリスト1を構成してもよい。

0108

動き補償ユニット82は、動きベクトルを決定し、他のシンタックス要素を取得することによって、現在のビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用された予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスのための参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測状態と、現在のビデオスライス内のビデオブロックを復号するための他の情報とを決定するために、受信したシンタックス要素の一部を使用する。

0109

動き補償ユニット82はまた、補間フィルタに基づいて補間を実行してもよい。動き補償ユニット82は、参照ブロックのサブ整数ピクセルに関する補間値を計算するために、ビデオブロックの符号化の間にビデオエンコーダ20によって使用されるように補間フィルタを使用してもよい。この場合には、動き補償ユニット82は、受信したシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用してもよい。

0110

逆量子化ユニット86は、ビットストリーム内に用意され、エントロピー復号ユニット80によって復号される量子化された変換係数を逆量子化(inverse quantize)、すなわち逆量子化(de-quantize)する。逆量子化プロセスは、ビデオスライス内の各ビデオブロックについてビデオエンコーダ20によって計算された量子化パラメータを使用して、量子化の程度、また同様に、適用されるべき逆量子化の程度を決定することを含み得る。逆変換処理ユニット88は、ピクセル領域における残差ブロックを生成するために、変換係数に逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを適用する。

0111

動き補償ユニット82が、動きベクトルおよび他のシンタックス要素に基づき現在のビデオブロックに対する予測ブロックを生成した後、ビデオデコーダ30は、逆変換処理ユニット88からの残差ブロックと動き補償ユニット82によって生成された対応する予測ブロックとの総和を求めることによって復号ビデオブロックを形成する。加算器90は、この総和演算を実行する1つまたは複数のコンポーネントを表す。必要に応じて、(コーディングループ内またはコーディングループ後のいずれかの)ループフィルタもまた、ピクセル遷移平滑化するため、またはさもなければビデオ品質を改善するために使用されてよい。フィルタユニット91は、デブロッキングフィルタ、適応ループフィルタ(ALF)、およびサンプル適応オフセット(SAO)フィルタなど、1つまたは複数のループフィルタを表すことを意図している。フィルタユニット91は、ループフィルタであるように図3に示されているが、他の構成では、フィルタユニット91は、ポストループフィルタとして実装されてもよい。次いで、所与のフレームまたはピクチャ中の復号ビデオブロックは、参照ピクチャメモリ92内に記憶され、参照ピクチャメモリ92は、後続の動き補償のために使用される参照ピクチャを記憶する。参照ピクチャメモリ92は、図1のディスプレイデバイス32などの、ディスプレイデバイス上に後で提示するために復号されたビデオデータも記憶する。したがって、参照ピクチャメモリ92は、ビデオデータを記憶するように構成されている1つまたは複数のデータストレージ媒体の一例であってよい。

0112

図4は、ネットワーク100の一部を形成するデバイスの例示的なセットを示すブロック図である。この例では、ネットワーク100は、ルーティングデバイス104A、104B(ルーティングデバイス104)およびトランスコーディングデバイス106を備える。ルーティングデバイス104およびトランスコーディングデバイス106は、ネットワーク100の一部を形成し得る少数のデバイスを表すことを意図している。スイッチ、ハブ、ゲートウェイファイアウォールブリッジ、および他のそのようなデバイスなどの他のネットワークデバイスも、ネットワーク100内に備えられ得る。さらに、サーバデバイス102とクライアントデバイス108との間のネットワーク経路に沿って追加のネットワークデバイスが備えられ得る。いくつかの例において、サーバデバイス102は、ソースデバイス12(図1)に対応するものとしてよく、クライアントデバイス108は、宛先デバイス14(図1)に対応するものとしてよい。

0113

一般に、ルーティングデバイス104は、ネットワーク100を通じてネットワークデータ交換するための1つまたは複数のルーティングプロトコルを実装する。いくつかの例では、ルーティングデバイス104は、プロキシまたはキャッシュ動作を実行するように構成され得る。したがって、いくつかの例では、ルーティングデバイス104は、プロキシデバイスと呼ばれることがある。一般に、ルーティングデバイス104は、ネットワーク100を通じて経路発見するためのルーティングプロトコルを実行する。そのようなルーティングプロトコルを実行することによって、ルーティングデバイス104Bは、ルーティングデバイス104Aを介してそれ自体からサーバデバイス102までのネットワーク経路を発見し得る。

0114

本開示の技法は、ルーティングデバイス104およびトランスコーディングデバイス106などのネットワークデバイスによって実装され得るが、クライアントデバイス108によっても実装され得る。この方式で、ルーティングデバイス104、トランスコーディングデバイス106、およびクライアントデバイス108は、本開示の技法を実行するように構成されているデバイスの例を表す。さらに、図1のデバイス、ならびに図2に示すエンコーダ20および図3に示すデコーダ30は、同じく、本開示の技法のうちの1つまたは複数を実行するように構成され得るデバイスの例でもある。たとえば、本開示において説明されている方式で生成されるファイルは、図4に示されているように、ネットワーク100を介してサーバデバイス102からクライアントデバイス108に送信されるか、またはストリーミングされ得る。

0115

本開示の別のところに記載されている本開示の技法の詳細は、この項で述べられる。次のテキスト、15444-12で説明されている実装の変更において、「」記号と「」記号との間のテキストは、追加または修正された既存のテキストに対応し(たとえば、追加されたテキスト)、取り除かれたテキストは、「」記号と「」記号との間にある(たとえば、削除されたテキスト)。

0116

本開示の第1の例示的な技法に関して上で簡単に指示されているように、grouping_type_parameterシンタックス要素は、Sample to Groupボックスシンタックスから取り除かれるものとしてよく、次の通りである。
aligned(8) class SampleToGroupBox
extendsFullBox('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;
}
}

0117

この例では、grouping_type_parameterシンタックス要素を使用する14496-12の部分は、パラメータで伝えられる情報(必ずしも、シンタックス要素それ自体でない)をサンプルグループ説明エントリ内に追加するように修正され得る。

0118

さらに、本開示の第2の例示的な技法に関して上で簡単に指示されているように、grouping_typeシンタックスおよびgrouping_type_parameterシンタックス要素の値によって、もし存在すれば、マッチングされ得るようにSample Group DescriptionボックスとSample to Groupボックスとの間に一対一関係があり得る。この例によれば、次のようにSampleGroupDescriptionBoxのシンタックスが修正され得る。
aligned(8) class SampleGroupDescriptionBox (unsigned int(32) handler_type)
extendsFullBox('sgpd', version, 0){
unsigned int(32) grouping_type;
if (version==1) {
unsigned int(32) default_length;
unsigned int(32) grouping_type_parameter;
}
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から導出されるクラスのインスタンス
}
}

0119

さらに、Sample Group DescriptionボックスとSample to Groupボックスとの間に一対一関係がある本開示の技法によれば、Sample Group Descriptionボックス内のgrouping_typeシンタックス要素およびgrouping_type_parameterシンタックス要素のセマンティクスは、次のように修正され得る。
grouping_typeは、グルーピングを識別する整数である。grouping_type_parameterと一緒に、もし存在すれば、これは、このサンプルグループ説明に関連付けられているSampleToGroupボックスを識別する。
grouping_type_parameterは、グルーピングのサブタイプの指示である。

0120

Sample to Groupボックス内のgrouping_typeおよびgrouping_type_parameterのセマンティクスは、次のように修正され得る。
grouping_typeは、サンプルグルーピングのタイプ(すなわち、サンプルグループを形成するために使用される基準)を識別する整数であり、それをグルーピングタイプおよびgrouping_type_parameter、もし存在すればに対する同じ値を持つそのサンプルグループ説明テーブルにリンクする。grouping_type (and, if used, grouping_type_parameter)に対する同じ値を持つこのボックスの多くても1回の出現が、トラックに対して存在するものとする。
grouping_type_parameterは、グルーピングのサブタイプの指示である。

0121

さらに、Sample Group DescriptionボックスとSample to Groupボックスとの間に一対一関係がある本開示の技法によれば、SampleGroupDescriptionボックスおよびSampleToGroupボックスの量に関する説明は、次のように修正され得る。
SampleGroupDescriptionボックス:トラックまたはトラックフラグメント内のサンプルに対して複数のサンプルグルーピングがある場合に、このボックスの複数のインスタンスがあり得る。SampleGroupDescriptionボックスの各インスタンスは、異なるサンプルグルーピングを区別するタイプコードを有する。トラックまたはトラックフラグメント内に、特定のグルーピングタイプおよびもし存在すれば、サブタイプを持つこのボックスの多くても1つのインスタンスがあるものとする。関連付けられているSampleToGroupは、グルーピングタイプおよびもし存在すれば、サブタイプに対する同じ値を指示するものとし、バージョンの同じ値を指示するものとする。
SampleToGroupボックス:トラックまたはトラックフラグメント内のサンプルに対して複数のサンプルグルーピングがある場合に、このボックスの複数のインスタンスがあり得る。SampleToGroupボックスの各インスタンスは、異なるサンプルグルーピングを区別するタイプコードを有する。トラックまたはトラックフラグメント内に、特定のグルーピングタイプおよびもし存在すれば、サブタイプを持つこのボックスの多くても1つのインスタンスがあるものとする。関連付けられているSampleGroupDescriptionは、グルーピングタイプおよびもし存在すれば、サブタイプに対する同じ値を指示するものとし、バージョンの同じ値を指示するものとする。

0122

上で指示されているように、本開示の第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シンタックス要素を有することを許されない。

0123

さらに、同じグルーピングタイプに対するSampleGroupDescriptionボックスとSampleToGroupボックスとの間の関係が1からNである本開示の技法によれば、15444-12仕様におけるSampleToGroupボックスの量に関する説明は、次のように修正され得る。
トラックまたはトラックフラグメント内のサンプルに対して複数のサンプルグルーピングがある場合に、このボックスの複数のインスタンスがあり得る。SampleToGroupボックスの各インスタンスは、異なるサンプルグルーピングを区別するタイプコードを有する。トラックまたはトラックフラグメント内に、特定のグルーピングタイプおよびもし存在すれば、サブタイプを持つこのボックスの多くても1つのインスタンスがあるものとする。関連付けられているSampleGroupDescriptionは、グルーピングタイプおよびもし存在すれば、サブタイプに対する同じ値を指示するものとする。

0124

それに加えて、SampleGroupDescriptionボックス内のgrouping_typeシンタックス要素のセマンティクスは、次のように修正され得る。
grouping_typeは、このサンプルグループ説明に関連付けられているSampleToGroupボックスを識別する整数である。grouping_type_parameterが所与のgrouping_typeについてSampleToGroupボックス内で定義されていない場合、コンテナボックス内にこのgrouping_typeを持つSampleToGroup このボックスの出現が1回しかないものとする。

0125

同じグルーピングタイプに対するSampleGroupDescriptionボックスとSampleToGroupボックスとの間の関係が1からNである本開示の技法によれば、SampleToGroupボックス内のgroup_description_indexシンタックス要素のセマンティクスは、grouping_typeの特定の値を持つSampleToGroupボックスが複数あるときに、ファイルは、0よりも大きいgroup_description_indexシンタックス要素のどの値もSampleToGroupボックスのうちの複数に存在しないようにファイルが制約されることを確実にするために次のように修正され得る。
group_description_indexは、このグループ内のサンプルを説明するサンプルグループエントリのインデックスを与える整数である。インデックスは、1からSampleGroupDescriptionボックス内のサンプルグループエントリの数までの範囲内であるか、またはこのサンプルがこのタイプのグループなしのメンバーであることを指示するように値0をとる。このボックスのバージョンが1に等しいときに、group_description_indexの特定の値がこのSampleToGroupボックス内に存在している場合、group_description_indexの同じ値は、同じコンテナボックス内のgrouping_typeの同じ値を持つ他のどのSampleToGroupボックス内にも存在していないものとする。

0126

上で簡単に指示されているように、SAPサンプルグルーピングをシグナリングする現在の設計は、SampleToGroupボックスのバージョン1が使用されることを必要とする。SAPサンプルグルーピングをシグナリングするためにSampleToGroupボックスのバージョン1が使用されることを要求することによって引き起こされる問題を克服するために、ソースデバイス12またはファイル生成デバイス34などのデバイスは、SampleToGroupボックスのバージョン0を使用するものとしてよく、sample to group descriptionエントリ内にtarget_layersおよびlayers_id_method_idcシンタックス要素を含み得る。したがって、デバイスは、本開示の3つのすで説明されている技法のうちのどれが14496-12における一般的なサンプルグルーピング機構に対して採用されているかに関係なく「sap」サンプルグループ設計に対して変更された設計を使用し得る。

0127

14496-12仕様において、grouping_type_parameterのシンタックスおよびセマンティクスは、次のように指定される。
{
unsigned int(28) target_layers;
unsigned int(4) layer_id_method_idc;
}

0128

上のテキストにおいて、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は、派生メディアフォーマット仕様によって指定される。

0129

上で指示されているように、SampleGroupDescriptionボックスは、一連のサンプルグループ説明エントリを含み得る。SAPには、サンプルグループ説明エントリの専用バージョンが使用され得る。14496-12仕様において、そのようなサンプルグループ説明エントリのシンタックスおよびセマンティクスは、次の通りである。
class SAPEntry() extendsSampleGroupDescriptionEntry('sap ')
{
unsigned int(4) reserved;
unsigned int(1) dependent_flag;
unsigned int(3) SAP_type;
}

0130

SAPEntry()では、予約されているシンタックス要素は0に等しいものとする。ファイルを構文解析するデバイスは、予約語のすべての値の許可および無視を行うものとする。dependent_flagシンタックス要素は、非層化媒体に対しては0であるものとする。1に等しいdependent_flagシンタックス要素は、ターゲット層を予測するために参照層が、もしあれば、このサンプルグループのサンプルにアクセスするために復号されなければならない場合があることを指定する。0に等しいdependent_flagシンタックス要素は、ターゲット層を予測するために参照層が、もしあれば、このサンプルグループのいずれかのSAPにアクセスするために復号される必要がないことを指定する。

0131

0および7に等しい値を持つsap_typeシンタックス要素は予約されている。1から6の範囲内にあるsap_typeシンタックス要素の値は、関連付けられているサンプルの付録Iで指定されているようなSAPタイプ(このグループ内のサンプルの1バイト目は位置ISAUである)を指定する。

0132

本開示の技法によれば、SAPサンプルグルーピングをシグナリングすることに関する問題を解消するために14496-12仕様に対して次の修正がなされている。
class SAPEntry() extendsSampleGroupDescriptionEntry('sap ')
{
unsigned int(4) reserved;
unsigned int(1) dependent_flag;
unsigned int(3) SAP_type;
unsigned int(28) target_layers;
unsigned int(4) layer_id_method_idc;
}

0133

この例では、予約シンタックス要素、dependent_flagシンタックス要素、SAP_typeシンタックス要素、target_layersシンタックス要素、layer_id_method_idcシンタックス要素のセマンティクスは、同じままである。さらに、上記の設計修正では、コンテナボックスにおいて、正確に1つのSampleToGroupボックスおよびgrouping_type 'sap'を持つ正確に1つのSampleGroupDescriptionボックスがある。

0134

次のテキストでは、一例として「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ピクチャを必ずしも含まない。

0135

本開示の第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]

0136

本開示の第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]

0137

本開示の第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]

0138

上からわかるように、オプション間の主な違いは、本開示の第1の技法による例では最小数の(SampleToGroupおよびSampleGroupDescription)ボックスを使用し、また最小数の全エントリを使用し得ることである。

0139

図6A、図6B、および図6Cは、本開示の1つまたは複数の技法による、ファイル300の例示的な構造を示す概念図である。図6Aは、上で説明されている本開示の第1の例示的な技法に対応している。図6Bは、上で説明されている本開示の第2の例示的な技法に対応している。図6Cは、上で説明されている本開示の第3の例示的な技法に対応している。

0140

図6A、図6B、および図6Cの例において、ファイル300は、動画ボックス302および複数のメディアデータボックス304を含む。図6A、図6B、および図6Cの例では同じファイル内にあるように示されているが、他の例では、動画ボックス302およびメディアデータボックス304は、別ファイルにあってもよい。上で指示されているように、ボックスは、一意のタイプの識別子および長さによって定義されたオブジェクト指向のビルディングブロックであってもよい。たとえば、ボックスは、ISOBMFFにおける基本的なシンタックス構造であってよく、4文字でコーディングされたボックスタイプ、ボックスのバイトカウント、およびペイロードを含む。

0141

動画ボックス302は、ファイル300のトラックに対するメタデータを含み得る。ファイル300の各トラックは、メディアデータの連続ストリームを含み得る。メディアデータボックス304の各々は、1つまたは複数のサンプル305を含み得る。サンプル305の各々は、オーディオまたはビデオアクセスユニットを含み得る。本開示の別のところで説明されているように、各アクセスユニットは、マルチビューコーディング(たとえば、MV-HEVCおよび3D-HEVC)およびスケーラブルビデオコーディング(たとえば、SHVC)による複数のコーディングされたピクチャを含み得る。たとえば、アクセスユニットは、各層に対する1つまたは複数のコーディングされたピクチャを含み得る。

0142

さらに、図6A、図6B、および図6Cの例において、動画ボックス302は、トラックボックス306を含む。トラックボックス306は、ファイル300のトラックに対するメタデータを封じ込めるものとしてよい。他の例では、動画ボックス302は、ファイル300の異なるトラックに対する複数のトラックボックスを含み得る。トラックボックス306は、メディアボックス307を含む。メディアボックス307は、トラック内のメディアデータに関する情報を宣言するすべてのオブジェクトを含み得る。メディアボックス307は、メディア情報ボックス308を含む。メディア情報ボックス308は、トラックのメディアの特性情報を宣言するすべてのオブジェクトを含み得る。メディア情報ボックス308は、サンプルテーブルボックス309を含む。サンプルテーブルボックス309は、サンプル特有のメタデータを指定し得る。

0143

図6A、図6B、および図6Cの例において、サンプルテーブルボックス309は、少なくとも1つのSampleToGroupボックス310および少なくとも1つのSampleGroupDescriptionボックス312を含む。したがって、サンプルテーブルボックス309は、「コンテナボックス」のインスタンスである。他の例では、サンプルテーブルボックス309は、SampleToGroupボックス310およびSampleGroupDescriptionボックス312に加えて他のボックスを含むものとしてよく、および/または複数のSampleToGroupボックスおよびSampleGroupDescriptionボックスを含み得る。SampleToGroupボックス310は、サンプル(たとえば、サンプル305のうちの特定の1つ)をサンプルのグループにマッピングし得る。SampleGroupDescriptionボックス312は、サンプルのグループ(すなわち、サンプルグループ)内のサンプルによって共有される特性を指定し得る。

0144

さらに、図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を含むサンプルグループエントリに関連付けられているサンプルの説明を含むグループ説明エントリを識別し得る。

0145

それに加えて、図6A、図6B、および図6Cの例において、SampleGroupDescriptionボックス312は、grouping_typeシンタックス要素320、entry_countシンタックス要素322、および1つまたは複数のグループ説明エントリ324を含む。entry_countシンタックス要素322は、SampleGroupDescriptionボックス内のグループ説明エントリ324の数を指示する。

0146

上で指示されているように、本開示の第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を含まない。

0147

上で指示されているように、本開示の第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との間に一対一関係がある。

0148

上で指示されているように、本開示の第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)を含まない。

0149

図7A、図7B、および図7Cは、本開示の1つまたは複数の技法による、ファイル450の例示的な構造を示す概念図である。図7Aは、上で説明されている本開示の第1の例示的な技法に対応している。図7Bは、上で説明されている本開示の第2の例示的な技法に対応している。図7Cは、上で説明されている本開示の第3の例示的な技法に対応している。

0150

図7A、図7B、および図7Cの例において、ファイル450は、1つまたは複数の動画フラグメントボックス452および複数のメディアデータボックス454を含む。図7A、図7B、および図7Cの例では同じファイル内にあるように示されているが、他の例では、動画フラグメントボックス452およびメディアデータボックス454は、別ファイルにあってもよい。メディアデータボックス454の各々は、1つまたは複数のサンプル456を含み得る。動画フラグメントボックスの各々は、1つの動画フラグメントに対応する。各動画フラグメントは、トラックフラグメントのセットを含み得る。トラック毎にゼロ個またはそれ以上のトラックフラグメントがあり得る。

0151

図7A、図7B、および図7Cの例において、動画フラグメントボックス452は、対応する動画フラグメントに関する情報を提供する。そうであれば、そのような情報は、動画ボックス302などの、動画ボックス内にすでにある。動画フラグメントボックス452は、トラックフラグメントボックス458を含み得る。トラックフラグメントボックス458は、1つのトラックフラグメントに対応し、トラックフラグメントに関する情報を提供する。

0152

たとえば、図7A、図7B、および図7Cの例において、トラックフラグメントボックス458は、1つまたは複数のSampleToGroupボックス462、およびトラックフラグメントボックス458に対応するトラックフラグメントに関する情報を含む1つまたは複数のSampleGroupDescriptionボックス464を含み得る。したがって、トラックフラグメントボックス458は、「コンテナボックス」のインスタンスである。

0153

さらに、図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を含むサンプルグループエントリに関連付けられているサンプルの説明を含むグループ説明エントリを識別し得る。

0154

それに加えて、図7A、図7B、および図7Cの例において、SampleGroupDescriptionボックス464は、grouping_typeシンタックス要素480、entry_countシンタックス要素482、および1つまたは複数のグループ説明エントリ484を含む。entry_countシンタックス要素482は、SampleGroupDescriptionボックス464内のグループ説明エントリ484の数を指示する。

0155

上で指示されているように、本開示の第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を含まない。

0156

上で指示されているように、本開示の第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を含む。

0157

上で指示されているように、本開示の第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を含まない。

0158

図8は、本開示の技法による、ソースデバイス12の例示的な動作を示すフローチャートである。図8は、ソースデバイス12を参照しつつ説明されているが、図8の例示的な動作は、ファイル生成デバイス34または別のデバイスなどの、他のデバイスによって実行され得る。図8のフローチャートは、一例として提示されている。本開示の技法による他の動作は、より多くのアクション、より少ないアクション、または異なるアクションを含み得るか、またはアクションは、異なる順序で、もしくは並列に実行され得る。

0159

図8の例では、ソースデバイス12は、ファイルが特定のファイルフォーマットに従うようにファイルのコンテナボックスを生成する(500)。特定のファイルフォーマットは、本開示の技法により修正されたISOBMFFの一バージョンであってよい。図8の例では、ファイルを生成する一環として、ソースデバイス12は、1つまたは複数のグループ説明エントリを含むSampleGroupDescriptionボックスを生成し得る(502)。各それぞれのグループ説明エントリは、それぞれのサンプルグループに対する説明を与えることができる。SampleGroupDescriptionボックスは、サンプルグルーピングのタイプを識別するグルーピングタイプシンタックス要素をさらに含み得る。SampleGroupDescriptionボックス内のグルーピングタイプシンタックス要素は、特定の値を有し得る。コンテナボックスは、サンプルテーブルボックスまたはトラックフラグメントボックスであってよい。図8の例では、ファイルは、グルーピングタイプシンタックス要素の特定の値を持つコンテナボックス内のSampleGroupDescriptionボックスが1つしかない特定のファイルフォーマットに属す。

0160

さらに、図8の例では、コンテナボックスを生成する一環として、ソースデバイス12は、ファイルの同じコンテナボックス内で、複数のSampleToGroupボックスを生成する(504)。複数のSampleToGroupボックスの各それぞれのSampleToGroupボックスは、特定の値を有するそれぞれのグルーピングタイプシンタックス要素を含む。各それぞれのSampleToGroupボックスは、1つまたは複数のサンプルグループエントリを含み得る。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは、それぞれのサンプルグループ内のサンプルの数を指示するそれぞれのサンプルカウントシンタックス要素(たとえば、sample_count)を含み得る。1つまたは複数のサンプルグループエントリのうちの各それぞれのサンプルグループエントリは、それぞれのサンプルグループの説明を与えるSampleGroupDescriptionボックス内のグループ説明エントリのインデックスを指示するそれぞれのグループ説明インデックスシンタックス要素(たとえば、group_description_index)を含み得る。それぞれのサンプルグループの各サンプルは、ビデオコンテンツの1つまたは複数のピクチャを含み得る。

0161

いくつかの例では、ソースデバイス12は、複数のSampleToGroupボックスのうちの各それぞれのSampleToGroupボックスについて、それぞれのSampleToGroupボックスがサンプルグルーピングのタイプのサブタイプを指示するそれぞれのグルーピングタイプパラメータシンタックス要素(たとえば、grouping_type_parameter)を含むように複数のSampleToGroupボックスを生成し得る。さらに、いくつかの例では、ファイルは、特定のファイルフォーマットに適合し、ファイルフォーマットの要件は、単一のコンテナボックス内でグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスの各々は、それぞれのバージョン識別子が1に等しくなければならないということである。いくつかの例では、単一のコンテナボックス内でグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスのうちのどの2つも、0よりも大きい同じ値を有するグループ説明インデックス(たとえば、group_description_index)シンタックス要素を有しないというのがファイルフォーマットの要件である。さらに、いくつかの例では、ファイルフォーマットの要件は、単一のトラックまたはトラックフラグメントにおいてグルーピングタイプシンタックス要素の同じ値を持つ複数のSampleToGroupボックスがあるときに、複数のSampleToGroupボックスのどの2つも、グルーピングタイプパラメータシンタックス要素の同じ値を有しないということである。

0162

さらに、ソースデバイス12は、ファイルを出力し得る(506)。たとえば、ソースデバイス12は、メモリ、磁気媒体、または光媒体などの、コンピュータ可読ストレージ媒体上に記憶するためのファイルを出力することができる。別の例では、ソースデバイス12は、送信のためのファイルを出力し得る。

0163

図9は、本開示の技術による、ビデオコンテンツを記憶するためのファイルを読み込むためのデバイスの例示的な動作を示すフローチャートである。図9の例では、ファイルを読み込むためのデバイスは、図1の宛先デバイス14または別のデバイスであってよい。

0164

図9の例では、デバイスは、ファイルを取得することができる(500)。たとえば、デバイスは、データストレージ媒体(たとえば、図1のストレージ媒体29)、送信媒体、または別のソースからファイルを取得し得る。たとえば、デバイスは、そのようなソースからファイルを受信するか、または読み込むことができる。さらに、図9の例では、デバイスは、ファイルから、ファイルのコンテナボックスを取得することができる(502)。たとえば、デバイスは、ファイルを構文解析するか、または他の何らかの方法で解釈して、コンテナボックスおよびそのコンテンツを抽出するか、または他の何らかの方法でアクセスし得る。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ