(57)【特許請求の範囲】
【請求項１】
ビデオデータを符号化するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しているビデオ符号化デバイスと、
を備え、前記ビデオ符号化デバイスは、
マルチレイヤビデオデータを処理することと、前記マルチレイヤビデオデータは複数のレイヤを含み、各レイヤは、少なくとも１つのビデオコーディングレイヤ（ＶＣＬ）ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと任意の関連する非ＶＣＬ  ＮＡＬユニットとを含む少なくとも１つのピクチャユニットを備え、
前記マルチレイヤビデオデータに関連付けられる出力ファイルを生成することと、前記出力ファイルは、フォーマットを使用して生成しており、
ここにおいて、前記出力ファイルは複数のトラックを含み、前記ビデオ符号化デバイスは、前記複数のトラックの各トラックが前記マルチレイヤビデオデータのたった１つのレイヤを備え、および前記複数のトラックの各トラックがアグリゲータまたはエクストラクタの少なくとも一方を含まないように前記出力ファイルを生成するようにさらに構成され、
前記アグリゲータは、ＮＡＬユニットの不規則なパターンを、集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含み、前記エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含み、前記出力ファイルは、オペレーションポイントに含まれる１つまたは複数のレイヤを識別するトラックレイヤ識別子をさらに備える、
を行うように構成される、デバイス。
【請求項２】
前記ビデオ符号化デバイスは、
サンプルエントリーの名前を前記出力ファイルに関連付けるようにさらに構成され、前記サンプルエントリーの名前は、前記出力ファイルの前記複数のトラックの各トラックが２つ以上のレイヤを含まないことを示し、前記複数のトラックの各トラックがアグリゲータまたはエクストラクタの少なくとも一方を含まないことを示す、請求項１に記載のデバイス。
【請求項３】
前記ビデオ符号化デバイスは、
ファイルタイプを前記出力ファイルに関連付けるようにさらに構成され、前記ファイルタイプは、前記出力ファイルの前記複数のトラックの各トラックが２つ以上のレイヤを含まないことを示し、前記複数のトラックの各トラックがアグリゲータまたはエクストラクタを含まないことを示し、前記ファイルタイプは、前記出力ファイルに含まれる、請求項１に記載のデバイス。
【請求項４】
前記ビデオ符号化デバイスは、前記出力ファイルのためのトラックコンテンツ情報（ｔｃｏｎ）ボックスを生成しないようにさらに構成される、請求項１に記載のデバイス。
【請求項５】
前記ビデオ符号化デバイスは、前記１つまたは複数のトラックの各々のためのレイヤ識別子を生成するようにさらに構成され、レイヤ識別子は、トラックに含まれるレイヤを識別する、請求項１に記載のデバイス。
【請求項６】
前記ビデオ符号化デバイスは、オペレーティングポイント情報（ｏｉｎｆ）ボックスを生成するようにさらに構成され、前記ｏｉｎｆボックスは、前記マルチレイヤビデオデータに含まれる１つまたは複数のオペレーティングポイントのリストを含み、オペレーティングポイントは、１つまたは複数のレイヤに関連付けられ、前記ｏｉｎｆボックスは、前記１つまたは複数のトラックのうちのどれが、前記１つまたは複数のオペレーティングポイントの各々に関連付けられるレイヤを含むかを示す、請求項１に記載のデバイス。
【請求項７】
前記マルチレイヤビデオデータはレイヤのサブセットをさらに含み、レイヤの前記サブセットは１つまたは複数の時間サブレイヤを含み、
前記１つまたは複数のトラックからの各トラックは前記マルチレイヤビデオデータからのレイヤの２つ以上のサブセットを含まない、請求項１に記載のデバイス。
【請求項８】
前記マルチレイヤビデオデータは、階層化高効率ビデオコーディング（Ｌ−ＨＥＶＣ）ビデオデータである、請求項１に記載のデバイス。
【請求項９】
前記出力ファイルの前記フォーマットは、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットを含む、請求項１に記載のデバイス。
【請求項１０】
ビデオデータを復号するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しているビデオ復号デバイスと、
を備え、前記ビデオ復号デバイスは、
マルチレイヤビデオデータに関連付けられる出力ファイルのサンプルエントリーの名前を処理することと、前記マルチレイヤビデオデータは複数のレイヤを含み、各レイヤは、少なくとも１つのビデオコーディングレイヤ（ＶＣＬ）ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと任意の関連する非ＶＣＬ  ＮＡＬユニットとを含む少なくとも１つのピクチャユニットを備え、前記出力ファイルは複数のトラックを備え、
前記出力ファイルのサンプルエントリーの名前に基づいて、前記出力ファイルの前記複数のトラックの各トラックが前記複数のレイヤのうちのたった１つのレイヤを備えること、および、前記複数のトラックの各々がアグリゲータおよびエクストラクタを含まないこと、を決定することと、前記アグリゲータは、ＮＡＬユニットの不規則なパターンを、集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含み、前記エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含み、前記出力ファイルは、オペレーションポイントに含まれる１つまたは複数のレイヤを識別するトラックレイヤ識別子をさらに備える、
を行うように構成される、デバイス。
【請求項１１】
前記サンプルエントリーの名前はファイルタイプであり、前記ファイルタイプは前記出力ファイルに含まれる、および／または
前記出力ファイルはトラックコンテンツ情報（ｔｃｏｎ）ボックスを含まない、および／または
前記出力ファイルは、前記１つまたは複数のトラックの各々のためのレイヤ識別子を含み、レイヤ識別子は、トラックに含まれるレイヤを識別する、および／または
前記出力ファイルはオペレーティングポイント情報（ｏｉｎｆ）ボックスを含み、前記ｏｉｎｆボックスは、前記ビデオデータに含まれる１つまたは複数のオペレーティングポイントのリストを含み、オペレーティングポイントは、１つまたは複数のレイヤに関連付けられ、前記ｏｉｎｆボックスは、前記１つまたは複数のトラックのうちのどれが、前記１つまたは複数のオペレーティングポイントの各々に関連付けられるレイヤを含むかを示す、および／または
前記マルチレイヤビデオデータは１つまたは複数の時間サブレイヤをさらに含み、前記１つまたは複数のトラックからの各トラックは、前記マルチレイヤビデオデータからのたった１つのレイヤまたは１つの時間サブレイヤを含む、および／または
前記マルチレイヤビデオデータは、階層化高効率ビデオコーディング（Ｌ−ＨＥＶＣ）ビデオデータである、
請求項１０に記載のデバイス。
【請求項１２】
前記出力ファイルは、フォーマットを使用して生成され、前記出力ファイルの前記フォーマットは、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットを含む、請求項１０に記載のデバイス。
【請求項１３】
ビデオデコーダデバイスによって、マルチレイヤビデオデータに関連付けられる出力ファイルのサンプルエントリーの名前を処理することと、前記マルチレイヤビデオデータは複数のレイヤを含み、各レイヤは、少なくとも１つのビデオコーディングレイヤ（ＶＣＬ）ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと任意の関連する非ＶＣＬ  ＮＡＬユニットとを含む少なくとも１つのピクチャユニットを備え、前記出力ファイルは複数のトラックを備え、
前記出力ファイルの前記サンプルエントリーの名前に基づいて、前記出力ファイルの前記複数のトラックの各トラックが前記マルチレイヤビデオデータのたった１つのレイヤを備えること、および、前記複数のトラックの各々がアグリゲータおよびエクストラクタを含まないこと、を決定することと、前記アグリゲータは、ＮＡＬユニットの不規則なパターンを、集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含み、前記エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含み、前記出力ファイルは、オペレーションポイントに含まれる１つまたは複数のレイヤを識別するトラックレイヤ識別子をさらに備える、
を備える方法。
【請求項１４】
前記サンプルエントリーの名前はファイルタイプであり、前記ファイルタイプは前記出力ファイルに含まれる、および／または
前記出力ファイルはトラックコンテンツ情報（ｔｃｏｎ）ボックスを含まない、および／または
前記出力ファイルは、前記１つまたは複数のトラックの各々のためのレイヤ識別子を含み、レイヤ識別子は、トラックに含まれるレイヤを識別する、および／または
前記出力ファイルはオペレーティングポイント情報（ｏｉｎｆ）ボックスを含み、前記ｏｉｎｆボックスは、前記マルチレイヤビデオデータに含まれる１つまたは複数のオペレーティングポイントのリストを含み、オペレーティングポイントは、１つまたは複数のレイヤに関連付けられ、前記ｏｉｎｆボックスは、前記１つまたは複数のトラックのうちのどれが、前記１つまたは複数のオペレーティングポイントの各々に関連付けられるレイヤを含むかを示す、および／または
前記マルチレイヤビデオデータはレイヤのサブセットをさらに含み、レイヤの前記サブセットは１つまたは複数の時間サブレイヤを含み、前記１つまたは複数のトラックからの各トラックは前記マルチレイヤビデオデータからのせいぜい１つのレイヤまたはレイヤの１つのサブセットを含む、
請求項１３に記載の方法。
【請求項１５】
非一時的機械可読記憶媒体に有形に具現化されたコンピュータプログラム製品であって、１つまたは複数のプロセッサによって実行されたときに、前記１つまたは複数のプロセッサに、請求項１３または１４のいずれか一項に記載の方法を行わせる命令を含むコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、ファイルフォーマットでのビデオコンテンツの記憶に関する。より具体的には、本開示は、ＩＳＯベースメディアファイルフォーマットおよびＩＳＯベースメディアファイルフォーマットに基づいて導出されたファイルフォーマットに従って形成された１つまたは複数のファイルでの階層化高効率ビデオコーディング（Ｌ−ＨＥＶＣ：layered high efficiency video coding）ビットストリームの記憶のためのトラックおよびオペレーティングポイント情報の設計に関する。
【背景技術】
【０００２】
[0002]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌと、それぞれＳＶＣおよびＭＶＣとして知られるスケーラブルビデオコーディング拡張およびマルチビュービデオコーディング拡張を含むＩＴＵ−Ｔ  Ｈ．２６４またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣと、スケーラブルコーディング（スケーラブル高効率ビデオコーディング、ＳＨＶＣ）拡張およびマルチビュー（マルチビュー高効率ビデオコーディング、ＭＶ−ＨＥＶＣ）拡張を含むＩＴＵ−Ｔ  Ｈ．２６５およびＩＳＯ／ＩＥＣ  ２３００８−２としても知られる高効率ビデオコーディング（ＨＥＶＣ）とを含む。
【発明の概要】
【０００３】
[0003]様々な実装形態では、マルチレイヤビデオデータに関する出力ファイルを生成するための技法およびシステムが提供され、出力ファイルがファイルフォーマットに従って生成される。ファイルフォーマットに従って生成された出力ファイルを処理するための技法およびシステムも提供される。マルチレイヤビデオデータは、たとえば、階層化高効率ビデオコーディング（Ｌ−ＨＥＶＣ）ビデオ符号化アルゴリズムを使用して符号化されたビデオデータであり得る。ファイルフォーマットは、ＩＳＯベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）に基づき得る。
【０００４】
[0004]様々な実装形態では、出力ファイルを生成するための方法が提供され得る。本方法は、たとえば、Ｌ−ＨＥＶＣベースのアルゴリズムを使用して生成されたビデオデータなど、マルチレイヤビデオデータを処理することを含み得る。マルチレイヤビデオデータは、複数のレイヤを含むことができ、各レイヤが少なくとも１つのピクチャユニットを含み得る。ピクチャユニットは、少なくとも１つのビデオコーディングレイヤ（ＶＣＬ）ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを含むことができ、ピクチャユニットに関連付けられる非ＶＣＬ  ＮＡＬユニットも含み得る。本方法は、フォーマットを使用してマルチレイヤビデオデータに関する出力ファイルを生成することをさらに含み得る。出力ファイルは、複数のトラックを含み得る。出力ファイルを生成することは、制約に従って出力ファイルを生成することを含み得る。制約は、複数のトラックの各トラックがマルチレイヤビデオデータからのせいぜい１つのレイヤを備えることであり得る。出力ファイルはまた、複数のトラックの各々がアグリゲータまたはエクストラクタの少なくとも一方を含まないという制約に従って生成され得る。アグリゲータは、ＮＡＬユニットの不規則な（irregular）パターンを集約された(aggregated)データユニットの規則的な(regular)パターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造（structure）を含み得る。エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含み得る。
【０００５】
[0005]様々な実装形態では、１つまたは複数のプロセッサと非一時的コンピュータ可読媒体とを含む装置が提供される。ファイル。本装置は、たとえば、ビデオ符号化デバイスであり得る。非一時的コンピュータ可読媒体は、１つまたは複数のプロセッサによって実行されたときに、１つまたは複数のプロセッサに、出力ファイルを生成するための動作を実行させる命令を含み得る。様々な実装形態では、命令は、１つまたは複数のプロセッサに、マルチレイヤビデオデータを処理することを含む動作を実行させ得る。マルチレイヤビデオデータは、複数のレイヤを含むことができ、各レイヤが少なくとも１つのピクチャユニットを含み得る。ピクチャユニットは、少なくとも１つのＶＣＬ  ＮＡＬユニットを含むことができ、ピクチャユニットに関連付けられる非ＶＣＬ  ＮＡＬユニットも含み得る。命令はさらに、１つまたは複数のプロセッサに、フォーマットを使用してマルチレイヤビデデータに関する出力ファイルを生成することを含む動作を実行させ得る。出力ファイルは、複数のトラックを含み得る。出力ファイルを生成することは、制約に従って出力ファイルを生成することを含み得る。制約は、複数のトラックの各トラックがマルチレイヤビデオデータからのせいぜい１つのレイヤを備えることであり得る。出力ファイルはまた、複数のトラックの各々がアグリゲータまたはエクストラクタの少なくとも一方を含まないという制約に従って生成され得る。アグリゲータは、ＮＡＬユニットの不規則なパターンを集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含み得る。エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含み得る。
【０００６】
[0006]様々な実装形態では、非一時的機械可読記憶媒体に有形に具現化されたコンピュータプログラム製品が提供される。コンピュータプログラム製品は、１つまたは複数のプロセッサによって実行されたときに、１つまたは複数のプロセッサに出力ファイルを生成させる命令を含み得る。様々な実装形態では、命令は、１つまたは複数のプロセッサにマルチレイヤビデオデータを処理させ得る。マルチレイヤビデオデータは、複数のレイヤを含むことができ、各レイヤが少なくとも１つのピクチャユニットを含み得る。ピクチャユニットは、少なくとも１つのＶＣＬ  ＮＡＬユニットを含むことができ、ピクチャユニットに関連付けられる非ＶＣＬ  ＮＡＬユニットも含み得る。命令はさらに、１つまたは複数のプロセッサに、フォーマットを使用してマルチレイヤビデデータに関する出力ファイルを生成させ得る。出力ファイルは、複数のトラックを含み得る。出力ファイルを生成することは、制約に従って出力ファイルを生成することを含み得る。制約は、複数のトラックの各トラックがマルチレイヤビデオデータからのせいぜい１つのレイヤを備えることであり得る。出力ファイルはまた、複数のトラックの各々がアグリゲータまたはエクストラクタの少なくとも一方を含まないという制約に従って生成され得る。アグリゲータは、ＮＡＬユニットの不規則なパターンを集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含み得る。エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含み得る。
【０００７】
[0007]様々な実装形態では、出力ファイルを生成するための手段を含む装置が提供される。本装置は、マルチレイヤビデオデータを処理するための手段を含み得る。マルチレイヤビデオデータは、複数のレイヤを含むビデオデータを含み得る。複数のレイヤからの各レイヤは、少なくとも１つのピクチャユニットを含み得る。ピクチャユニットは、少なくとも１つのＶＣＬ  ＮＡＬユニットを含むことができ、マルチレイヤビデオデータに関連付けられる非ＶＣＬ  ＮＡＬユニットも含み得る。本装置は、マルチレイヤビデオデータに関連付けられる出力ファイルを生成するための手段をさらに含み得る。出力ファイルは、フォーマットを使用して生成され得る。出力ファイルはさらに、複数のトラックを含み得る。出力ファイルを生成することは、制約に従って出力ファイルを生成するための手段を含み得る。制約は、複数のトラックからの各トラックがマルチレイヤビデオからのせいぜい１つのレイヤを備えることであり得る。出力ファイルを生成することは、複数のトラックからの各トラックがアグリゲータまたはエクストラクタの少なくとも一方を含まないという制約をさらに含み得る。アグリゲータは、ＮＡＬユニットの不規則なパターンを集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含み得る。エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含み得る。
【０００８】
[0008]様々な実装形態では、マルチレイヤビデオデータに関する出力ファイルを生成することは、サンプルエントリーの名前を出力ファイルに関連付けることをさらに備え得る。サンプルエントリーの名前は、出力ファイルにおける複数のトラックの各トラックがせいぜい１つのレイヤを含むことを示し得る。サンプルエントリーは、複数のトラックからの各トラックがアグリゲータまたはエクストラクタの少なくとも一方を含まないことをさらに示し得る。
【０００９】
[0009]様々な実装形態では、サンプルエントリーの名前はファイルタイプであり得る。ファイルタイプは出力ファイルに含まれ得る。様々な実装形態では、出力ファイルを生成することは、トラックコンテンツ情報（ｔｃｏｎ）ボックスを生成しないことをさらに含み得る。
【００１０】
[0010]様々な実装形態では、出力ファイルを生成することは、１つまたは複数のトラックの各々のためのレイヤ識別子を生成することをさらに含み得る。レイヤ識別子は、トラックに含まれるレイヤを識別し得る。
【００１１】
[0011]様々な実装形態では、出力ファイルを生成することは、オペレーティングポイント情報（ｏｉｎｆ）ボックスを生成することをさらに含み得る。ｏｉｎｆボックスは、マルチレイヤビデオデータに含まれる１つまたは複数のオペレーティングポイントのリストを含み得る。オペレーティングポイントは、１つまたは複数のレイヤに関連付けられ得る。ｏｉｎｆボックスは、複数のトラックのうちのどれが、１つまたは複数のオペレーティングポイントの各々に関連付けられるレイヤを含むかを示し得る。
【００１２】
[0012]様々な実装形態では、マルチレイヤビデオデータは、１つまたは複数の時間サブレイヤをさらに含み得る。この実装形態では、出力ファイルを生成することは、複数のトラックからの各トラックがマルチレイヤビデオデータからのせいぜい１つのレイヤまたは１つの時間サブレイヤを含むように、フォーマットを制限することを含み得る。
【００１３】
[0013]様々な実装形態では、マルチレイヤビデオデータはＬ−ＨＥＶＣビデオデータであり得る。様々な実装形態では、出力ファイルのフォーマットは、ＩＳＯベースメディアファイルフォーマットを含み得る。
【００１４】
[0014]様々な実装形態では、出力ファイルを処理するための方法が提供される。本方法は、出力ファイルのサンプルエントリーの名前を処理することを含み得る。出力ファイルは、マルチレイヤビデオデータに関連付けられ得る。マルチレイヤビデオデータは、複数のレイヤを含むことができ、各レイヤが少なくとも１つのピクチャユニットを含む。ピクチャユニットは、少なくとも１つのビデオコーディングレイヤ（ＶＣＬ）ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを含み得る。ピクチャユニットはまた、マルチレイヤビデオデータに関連付けられる非ＶＣＬ  ＮＡＬユニットを含み得る。出力ファイルはさらに、複数のトラックを含み得る。本方法は、出力ファイルのサンプルエントリーの名前に基づいて、出力ファイルにおける複数のトラックの各トラックがせいぜい１つのレイヤを含むと決定することをさらに含み得る。本方法は、複数のトラックの各々がアグリゲータまたはエクストラクタの少なくとも一方を含まないと決定することをさらに含み得る。アグリゲータは、ＮＡＬユニットの不規則なパターンを集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループを可能にする構造を含む。エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含む。
【００１５】
[0015]様々な実装形態では、１つまたは複数のプロセッサと非一時的コンピュータ可読媒体とを含む装置が提供される。本装置は、たとえば、ビデオ復号デバイスであり得る。非一時的コンピュータ可読媒体は、１つまたは複数のプロセッサによって実行されたときに、１つまたは複数のプロセッサに、出力ファイルを処理するための動作を実行させる命令を含み得る。様々な実装形態では、命令は、１つまたは複数のプロセッサに、出力ファイルのサンプルエントリーの名前を処理することを含む動作を実行させ得る。出力ファイルは、マルチレイヤビデオデータに関連付けられ得る。マルチレイヤビデオデータは、複数のレイヤを含むことができ、各レイヤが少なくとも１つのピクチャユニットを含む。ピクチャユニットは、少なくとも１つのＶＣＬ  ＮＡＬユニットを含み得る。ピクチャユニットはまた、マルチレイヤビデオデータに関連付けられる非ＶＣＬ  ＮＡＬユニットを含み得る。出力ファイルはさらに、複数のトラックを含み得る。命令はさらに、１つまたは複数のプロセッサに、出力ファイルのサンプルエントリーの名前に基づいて、出力ファイルにおける複数のトラックの各トラックがせいぜい１つのレイヤを含むと決定すること含む動作を実行させ得る。命令はさらに、１つまたは複数のプロセッサに、複数のトラックの各々がアグリゲータまたはエクストラクタの少なくとも一方を含まないと決定すること含む動作を実行させ得る。アグリゲータは、ＮＡＬユニットの不規則なパターンを集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループを可能にする構造を含む。エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含む。
【００１６】
[0016]様々な実装形態では、非一時的機械可読記憶媒体に有形に具現化されたコンピュータプログラム製品が提供される。コンピュータプログラム製品は、１つまたは複数のプロセッサによって実行されたときに、１つまたは複数のプロセッサに出力ファイルを処理させる命令を含み得る。様々な実装形態では、命令は、１つまたは複数のプロセッサに出力ファイルのサンプルエントリーの名前を処理させ得る。出力ファイルは、マルチレイヤビデオデータに関連付けられ得る。マルチレイヤビデオデータは、複数のレイヤを含むことができ、各レイヤが少なくとも１つのピクチャユニットを含む。ピクチャユニットは、少なくとも１つのＶＣＬ  ＮＡＬユニットを含み得る。ピクチャユニットはまた、マルチレイヤビデオデータに関連付けられる非ＶＣＬ  ＮＡＬユニットを含み得る。出力ファイルはさらに、複数のトラックを含み得る。命令はさらに、１つまたは複数のプロセッサに、出力ファイルのサンプルエントリーの名前に基づいて、出力ファイルにおける複数のトラックの各トラックがせいぜい１つのレイヤを含むと決定させ得る。命令はさらに、１つまたは複数のプロセッサに、複数のトラックの各々がアグリゲータまたはエクストラクタの少なくとも一方を含まないと決定させ得る。アグリゲータは、ＮＡＬユニットの不規則なパターンを集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループを可能にする構造を含む。エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含む。
【００１７】
[0017]様々な実装形態では、出力ファイルを処理するための手段を含む装置が提供される。本装置は、出力ファイルのサンプルエントリーの名前を処理するための手段を含み得る。出力ファイルは、マルチレイヤビデオデータに関連付けられ得る。マルチレイヤビデオデータは、複数のレイヤを含むことができ、各レイヤが少なくとも１つのピクチャユニットを含む。ピクチャユニットは、少なくとも１つのＶＣＬ  ＮＡＬユニットを含み得る。ピクチャユニットはまた、マルチレイヤビデオデータに関連付けられる非ＶＣＬ  ＮＡＬユニットを含み得る。出力ファイルはさらに、複数のトラックを含み得る。本装置は、出力ファイルのサンプルエントリーの名前に基づいて、サンプル出力ファイルにおける各トラックがマルチレイヤビデオデータからのせいぜい１つのレイヤを含むと決定するための手段をさらに含み得る。本装置は、出力ファイルにおける各トラックがアグリゲータまたはエクストラクタの少なくとも一方を含まないと決定するための手段をさらに含み得る。アグリゲータは、ＮＡＬユニットの不規則なパターンを集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループを可能にする構造を含む。エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含む。
【００１８】
[0018]様々な実装形態では、サンプルエントリーの名前はファイルタイプであり、ファイルタイプは出力ファイルに含まれる。様々な実装形態では、出力ファイルは、トラックコンテンツ情報（ｔｃｏｎ）ボックスを含まない。様々な実装形態では、出力ファイルは、１つまたは複数のトラックの各々のためのレイヤ識別子を含む。レイヤ識別子は、トラックに含まれるレイヤを識別子得る。
【００１９】
[0019]様々な実装形態では、出力ファイルは、オペレーティングポイント情報（ｏｉｎｆ）ボックスを含み得る。ｏｉｎｆボックスは、マルチレイヤビデオデータに含まれる１つまたは複数の点のリストを含み得る。オペレーティングポイントは、１つまたは複数のレイヤに関連付けられ得る。ｏｉｎｆボックスは、１つまたは複数のトラックのうちのどれが、１つまたは複数のオペレーティングポイントの各々に関連付けられるレイヤを含むかを示し得る。
【００２０】
[0020]様々な実装形態では、マルチレイヤビデオデータは、１つまたは複数の時間サブレイヤをさらに含み得る。これらの実装形態では、１つまたは複数のトラックからの各トラックは、マルチレイヤビデオデータからのせいぜい１つのレイヤまたは１つの時間サブレイヤを含み得る。
【００２１】
[0021]様々な実装形態では、マルチレイヤビデオデータは階層化高効率ビデオコーディング（Ｌ−ＨＥＶＣ）ビデオデータである。様々な実装形態では、出力ファイルは、フォーマットを使用して生成され、フォーマットがＩＳＯベースメディアファイルフォーマットを含む。
【００２２】
[0022]例示的な実施形態が、以下の図を参照しながら詳細に説明される。
【図面の簡単な説明】
【００２３】
【図１】符号化デバイス１０４と復号デバイスとを含むシステムの一例を示すブロック図。
【図２】ＩＳＯベースメディアファイルフォーマットに従った例示的なファイル構造を示す図。
【図３】複数のレイヤを含むビデオトラックを含むファイルの例を示す図。
【図４】各々がせいぜい１つのレイヤを含む３つのトラックを含むファイルの一例を示す図。
【図５】各トラックがせいぜい１つのレイヤを含むファイルの別の例を示す図。
【図６】ビデオデータを符号化するためのプロセスの一例を示す図。
【図７】ビデオデータを復号するためのプロセスの一例を示す図。
【図８】本開示で説明される技法のうちの１つまたは複数を実装し得る例示的な符号化デバイスを示すブロック図。
【図９】例示的な復号デバイスを示すブロック図。
【発明を実施するための形態】
【００２４】
[0032]本開示のいくつかの態様および実施形態が以下で提供される。当業者には明らかなように、これらの態様および実施形態のうちのいくつかは単独で適用される場合があり、それらのうちのいくつかは組み合わせて適用される場合がある。以下の説明では、説明の目的で、本発明の実施形態の完全な理解を与えるために具体的な詳細が記載される。ただし、様々な実施形態は、これらの具体的な詳細なしに実施され得ることが明らかであろう。図および説明は、限定的であることが意図されていない。
【００２５】
[0033]以下の説明は、例示的な実施形態のみを与えるものであり、本開示の範囲、適用性、または構成を限定するものではない。そうではなく、例示的な実施形態の以下の説明は、例示的な実施形態を実施することを可能にする説明を当業者に与える。添付の特許請求の範囲に記載されるように、本発明の趣旨および範囲から逸脱することなく、要素の機能および構成において様々な変更が行われ得ることを理解されたい。
【００２６】
[0034]以下の説明では、実施形態の完全な理解を与えるために具体的な詳細が与えられる。ただし、実施形態はこれらの具体的な詳細なしに実施され得ることが当業者によって理解されよう。たとえば、不要な詳細で実施形態を不明瞭にしないために、回路、システム、ネットワーク、プロセス、および他の構成要素が構成要素としてブロック図の形式で示されることがある。他の事例では、実施形態を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法が不要な詳細なしに示され得る。
【００２７】
[0035]また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明されることがあることに留意されたい。フローチャートは動作を逐次プロセスとして説明することがあるが、動作の多くは並列または同時に実行され得る。さらに、動作の順序は並べ替えられ得る。プロセスは、プロセスの動作が完了したときに終了するが、図に含まれていない追加のステップを有し得る。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応する場合、プロセスの終了は呼出し関数またはメイン関数への関数の復帰に対応し得る。
【００２８】
[0036]「コンピュータ可読媒体」という用語は、限定はしないが、ポータブルまたは非ポータブル記憶デバイス、光記憶デバイス、ならびに命令および／またはデータを記憶、含有、または搬送することが可能な様々な他の媒体を含む。コンピュータ可読媒体は、データが記憶され得る、ワイヤレスにまたはワイヤード接続で伝搬する搬送波および／または一時的電子信号を含まない非一時的媒体を含み得る。非一時的媒体の例としては、限定はしないが、磁気ディスクまたはテープ、コンパクトディスク（ＣＤ）またはデジタル多用途ディスク（ＤＶＤ）などの光記憶媒体、フラッシュメモリ、メモリまたはメモリデバイスがあり得る。コンピュータ可読媒体は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組合せを表し得るコードおよび／または機械実行可能命令が記憶されていることがある。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を渡すことおよび／または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の適切な手段を介して渡され、転送され、または送信され得る。
【００２９】
[0037]さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスク（たとえば、コンピュータプログラム製品）を実行するためのプログラムコードまたはコードセグメントは、コンピュータ可読媒体または機械可読媒体に記憶され得る。回路（たとえば、集積回路）を備えるプロセッサが、必要なタスクを実行するように構成され得る。
【００３０】
[0038]より多くのデバイスおよびシステムが、デジタルビデオデータを消費する能力を消費者に提供する中、効率的なビデオコーディング技法の必要性がより重要になっている。デジタルビデオデータに存在する大量のデータを処理するために必要な記憶および送信の要件を減らすために、ビデオコーディングが必要とされる。高いビデオ品質を維持する一方でより低いビットレートを使用する形式にビデオデータを圧縮するために、様々なビデオコーディング技法が使用され得る。
【００３１】
[0039]デジタルビデオデータは、様々な目的で記憶および／または移送され得る。たとえば、ストリーミングメディア提供者は、ムービーのデジタルコピーをデータベースサーバに記憶し、インターネットを介して視聴者にムービーを送信することができる。ビデオデータを記憶および／または移送するために、ビデオデータは１つまたは複数のファイルに配置され得る。ビデオデータをファイルに記憶するために、様々なフォーマットが使用され得る。１つのそのようなフォーマットは、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマット（ＩＳＯＢＭＦＦ）である。
【００３２】
[0040]ムービーなどの所与のビデオはまた、異なる品質、解像度、フレームレート、および／または深度を含む、様々な異なる方法で符号化され得る。同じビデオはまた、たとえば、３０フレーム毎秒（ｆｐｓ）または６０ｆｐｓなど、異なる時間符号化を有し得る。階層化ＨＥＶＣ（Ｌ−ＨＥＶＣ）は、複数の方法でビデオを符号化することを実現する１つのビデオ圧縮規格であり、各符号化（たとえば、品質、解像度、フレームレート、深度など）がレイヤと呼ばれ得る。単一のビデオのための様々なレイヤは、同じファイルまたはファイルグループに記憶され得る。ＩＳＯＢＭＦＦは、ビデオデータ（および関連するオーディオデータ）がトラック（たとえば、１つまたは複数のビデオトラック、１つまたは複数のオーディオトラックなど）でファイルに記憶され得ることを規定する。ＩＳＯＢＭＦＦはさらに、１つまたは複数のレイヤが１つのトラックに記憶され得ることを規定する。典型的には、エンコーダデバイスは、所与のビデオのレイヤがファイルにおけるトラックにどのように記憶されるかを決定するように構成され得る。ファイルはさらに、ファイルにおけるトラックからレイヤを取り出す方法をデコーダデバイスが決定できるようにする情報を含み得る。
【００３３】
[0041]トラックごとに任意の数のレイヤを許容することは、デコーダにとって過剰な複雑性をもたらし得る。たとえば、３つのレイヤを含むビデオを仮定すると、変形形態の中でも、レイヤごとに１つのトラックを有する３つのトラック、すべてのレイヤを含む１つのトラック、または１つのレイヤを含む１つのトラックおよび２つのレイヤを含む１つのトラックのいずれかを含むビデオ向けのファイルが作成され得る。また、アグリゲータまたはエクストラクタなどのパッキング効率を高めるための構成によりファイルが構築されるとき、単一のビデオが１つのファイルに書き込まれ得る異なる方法の数が劇的に増加し得る。階層化ビデオデータを受信するデコーダデバイスは、複数のレイヤが１つのトラックに記憶されることを許容されるときに生じ得るすべての異なるファイルフォーマットをサポートする必要があり得る。
【００３４】
[0042]様々な実装形態では、トラックごとにせいぜい１つのレイヤを有するようにビデオファイルのフォーマットを制限するためのシステムおよび方法が提供される。所与のビデオの各レイヤがせいぜい１つのトラックに記憶されるように、ビデオファイルのフォーマットを制限することによって、デコーダデバイスがサポートする必要があるファイルフォーマットの数がかなり減る。ビデオをファイルに符号化することも、かなり単純化される。
【００３５】
[0043]図１は、符号化デバイス１０４と復号デバイス１１２とを含むシステム１００の一例を示すブロック図である。符号化デバイス１０４はソースデバイスの一部であり得、復号デバイス１１２は受信デバイスの一部であり得る。ソースデバイスおよび／または受信デバイスは、モバイルもしくは固定電話ハンドセット（たとえば、スマートフォン、セルラー電話など）、デスクトップコンピュータ、ラップトップもしくはノートブックコンピュータ、タブレットコンピュータ、セットトップボックス、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、または任意の他の適切な電子デバイスなどの電子デバイスを含み得る。いくつかの例では、ソースデバイスおよび受信デバイスは、ワイヤレス通信のための１つまたは複数のワイヤレストランシーバを含み得る。本明細書で説明されるコーディング技法は、（たとえば、インターネットを介した）ストリーミングビデオ送信、テレビジョン放送もしくは送信、データ記憶媒体上に記憶するためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例を含む、様々なマルチメディア適用例におけるビデオコーディングに適用可能である。いくつかの例では、システム１００は、ビデオ会議、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、ゲーム、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートし得る。
【００３６】
[0044]符号化デバイス１０４（またはエンコーダ）は、符号化されたビデオビットストリームを生成するためにビデオコーディング規格またはプロトコルを使用してビデオデータを符号化するために使用され得る。ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌと、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌと、それぞれＳＶＣおよびＭＶＣとして知られるスケーラブルビデオコーディング拡張およびマルチビュービデコーディング拡張を含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４とを含む。より最近のビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）が、ＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ：Video Coding Experts Group）とＩＳＯ／ＩＥＣムービングピクチャエキスパートグループ（ＭＰＥＧ：Moving Picture Experts Group）とのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって確定された。ＭＶ−ＨＥＶＣと呼ばれるＨＥＶＣに対するマルチビュー拡張およびＳＨＶＣと呼ばれるＨＥＶＣに対するスケーラブル拡張、または任意の他の適切なコーディングプロトコルを含む、ＨＥＶＣに対する様々な拡張が、マルチレイヤビデオコーディングを扱っており、また、ＪＣＴ−ＶＣによって開発されている。
【００３７】
[0045]本明細書で説明される多くの実施形態は、ＨＥＶＣ規格またはそれの拡張を使用する例を表す。しかしながら、本明細書で説明される技法およびシステムは、ＡＶＣ、ＭＰＥＧ、それの拡張、あるいはすでに利用可能であるか、またはまだ利用可能ではないか、もしくは開発されていない他の適切なコーディング規格など、他のコーディング規格にも適用可能であり得る。したがって、本明細書で説明される技法およびシステムは、特定のビデオコーディング規格を参照しながら説明され得るが、当業者は、説明がその特定の規格にのみ適用されると解釈されるべきではないことを諒解されよう。
【００３８】
[0046]ビデオソース１０２は、符号化デバイス１０４にビデオデータを与え得る。ビデオソース１０２は、ソースデバイスの一部であり得るか、またはソースデバイス以外のデバイスの一部であり得る。ビデオソース１０２は、ビデオキャプチャデバイス（たとえば、ビデオカメラ、カメラフォン、ビデオフォンなど）、記憶されたビデオを含むビデオアーカイブ、ビデオデータを与えるビデオサーバもしくはコンテンツ提供者、ビデオサーバもしくはコンテンツ提供者からビデオを受信するビデオフィードインターフェース、コンピュータグラフィックスビデオデータを生成するためのコンピュータグラフィックスシステム、そのようなソースの組合せ、または任意の他の適切なビデオソースを含み得る。ビデオソース１０２の一例としては、インターネットプロトコルカメラ（ＩＰカメラ）があり得る。ＩＰカメラは、監視、ホームセキュリティ、または他の適切な適用例に使用され得るタイプのデジタルビデオカメラである。アナログ閉回路テレビジョン（ＣＣＴＶ）カメラとは異なり、ＩＰカメラは、コンピュータネットワークおよびインターネットを介してデータを送り、受信することができる。
【００３９】
[0047]ビデオソース１０２からのビデオデータは、１つまたは複数の入力ピクチャまたはフレームを含み得る。ピクチャまたはフレームは、ビデオの一部である静止画像である。符号化デバイス１０４のエンコーダエンジン１０６（またはエンコーダ）は、符号化されたビデオビットストリームを生成するためにビデオデータを符号化する。いくつかの例では、符号化されたビデオビットストリーム（または「ビデオビットストリーム」もしくは「ビットストリーム」）は、一連の１つまたは複数のコーディングされたビデオシーケンスである。コーディングされたビデオシーケンス（ＣＶＳ）は、ベースレイヤ中のいくつかの特性を伴うランダムアクセスポイントピクチャを有するアクセスユニット（ＡＵ）で始まり、ベースレイヤ中のいくつかの特性を伴うランダムアクセスポイントピクチャを有する次のＡＵまでの、次のＡＵを含まない一連のＡＵを含む。たとえば、ＣＶＳを開始するランダムアクセスポイントピクチャのいくつかの特性は、１に等しいＲＡＳＬフラグ（たとえば、ＮｏＲａｓｌＯｕｔｐｕｔＦｌａｇ）を含み得る。それ以外は、（０に等しいＲＡＳＬフラグを有する）ランダムアクセスポイントピクチャは、ＣＶＳを開始しない。アクセスユニット（ＡＵ）は、１つまたは複数のコーディングされたピクチャと、同じ出力時間を共有するコーディングされたピクチャに対応する制御情報とを含む。ピクチャのコーディングされたスライスは、ビットストリームレベルにおいて、ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと呼ばれるデータユニットにカプセル化される。たとえば、ＨＥＶＣビデオビットストリームは、ＮＡＬユニットを含む１つまたは複数のＣＶＳを含み得る。ビデオコーディングレイヤ（ＶＣＬ）ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとを含む、ＮＡＬユニットの２つのクラスがＨＥＶＣ規格に存在する。ＶＣＬ  ＮＡＬユニットは、コーディングされたピクチャデータの１つのスライスまたはスライスセグメント（以下で説明される）を含み、非ＶＣＬ  ＮＡＬユニットは、１つまたは複数のコーディングされたピクチャに関係する制御情報を含む。
【００４０】
[0048]ＮＡＬユニットは、ビデオにおけるピクチャのコーディングされた表現など、ビデオデータのコーディングされた表現を形成するビットのシーケンス（たとえば、符号化されたビデオビットストリーム、ビットストリームのＣＶＳなど）を含み得る。エンコーダエンジン１０６は、各ピクチャを複数のスライスに区分することによってピクチャのコーディングされた表現を生成する。スライスは次いで、ルーマサンプルおよびクロマサンプルのコーディングツリーブロック（ＣＴＢ）に区分され得る。ルーマサンプルのＣＴＢおよびクロマサンプルの１つまたは複数のＣＴＢは、サンプルのためのシンタックスとともに、コーディングツリーユニット（ＣＴＵ）と呼ばれる。ＣＴＵは、ＨＥＶＣ符号化のための基本処理ユニットである。ＣＴＵは、様々なサイズの複数のコーディングユニット（ＣＵ）に分割され得る。ＣＵは、コーディングブロック（ＣＢ）と呼ばれるルーマおよびクロマサンプルアレイを含む。
【００４１】
[0049]ルーマおよびクロマＣＢは、予測ブロック（ＰＢ）にさらに分割され得る。ＰＢは、インター予測に同じ動きパラメータを使用するルーマまたはクロマ成分のサンプルのブロックである。ルーマＰＢおよび１つまたは複数のクロマＰＢは、関連するシンタックスとともに、予測ユニット（ＰＵ）を形成する。動きパラメータのセットは、各ＰＵについて、ビットストリームにおいてシグナリングされ、ルーマＰＢおよび１つまたは複数のクロマＰＢのインター予測に使用される。ＣＢはまた、１つまたは複数の変換ブロック（ＴＢ）に区分され得る。ＴＢは、予測残差信号をコーディングするために同じ２次元変換が適用される色成分のサンプルの正方形ブロックを表す。変換ユニット（ＴＵ）は、ルーマおよびクロマサンプルのＴＢと、対応するシンタックス要素とを表す。
【００４２】
[0050]ＣＵのサイズは、コーディングノードのサイズに対応し、形状が正方形であり得る。たとえば、ＣＵのサイズは、８×８サンプル、１６×１６サンプル、３２×３２サンプル、６４×６４サンプル、または対応するＣＴＵのサイズまでの任意の他の適切なサイズであり得る。「Ｎ×Ｎ」という句は本明細書において、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法（たとえば、８ピクセル×８ピクセル）を指すために使用され得る。ブロック中のピクセルは行および列に配置され得る。いくつかの実施形態では、ブロックは、水平方向において垂直方向と同じ数のピクセルを有するとは限らない。ＣＵに関連付けられるシンタックスデータは、たとえば、１つまたは複数のＰＵへのＣＵの区分を記述し得る。区分モードは、ＣＵがイントラ予測モード符号化されるか、それともインター予測モード符号化されるかの間で異なる場合がある。ＰＵは、形状が非正方形に区分され得る。ＣＵに関連付けられるシンタックスデータは、たとえば、ＣＴＵに従う１つまたは複数のＴＵへのＣＵの区分をも記述し得る。ＴＵは、形状が正方形または非正方形であり得る。
【００４３】
[0051]ＨＥＶＣ規格によれば、変換は、変換ユニット（ＴＵ）を使用して実行され得る。ＴＵは、異なるＣＵでは異なり得る。ＴＵは、所与のＣＵ内のＰＵのサイズに基づいてサイズ決定され得る。ＴＵは、ＰＵと同じサイズであるか、またはＰＵよりも小さい場合がある。いくつかの例では、ＣＵに対応する残差サンプルは、残差４分木（ＲＱＴ）として知られる４分木構造を使用して、より小さいユニットに再分割され得る。ＲＱＴのリーフノードは、ＴＵに対応し得る。ＴＵに関連付けられるピクセル差分値は、変換係数を生成するために変換され得る。次いで変換係数は、エンコーダエンジン１０６によって量子化され得る。
【００４４】
[0052]ビデオデータのピクチャがＣＵに区分されると、エンコーダエンジン１０６は、予測モードを使用して各ＰＵを予測する。次いで予測は、（以下で説明される）残差を得るために元のビデオデータから減算される。ＣＵごとに、シンタックスデータを使用してビットストリーム内で予測モードがシグナリングされ得る。予測モードは、イントラ予測（もしくはピクチャ内予測）またはインター予測（もしくはピクチャ間予測）を含み得る。イントラ予測を使用して、各ＰＵは、たとえば、ＰＵに関する平均値を見つけるためのＤＣ予測、ＰＵにプレーナ面（planar surface）を適合させるプレーナ（planar）予測、隣接データから外挿する方向予測、または任意の他の適切なタイプの予測を使用して、同じピクチャ中の隣接画像データから予測される。インター予測を使用して、（出力順序で現在ピクチャの前または後の）１つまたは複数の参照ピクチャにおける画像データから動き補償予測を使用して、各ＰＵが予測される。ピクチャ間予測またはピクチャ内予測を使用してピクチャエリアをコーディングするかどうかの決定は、たとえば、ＣＵレベルにおいて行われ得る。いくつかの例では、ピクチャの１つまたは複数のスライスは、スライスタイプを割り当てられる。スライスタイプは、Ｉスライス、Ｐスライス、およびＢスライスであり得る。Ｉスライス（フレーム内、独立して復号可能）は、イントラ予測によってのみコーディングされるピクチャのスライスであり、したがって、Ｉスライスは、スライスの任意のブロックを予測するためにフレーム内のデータのみを必要とするので、独立して復号可能である。Ｐスライス（単方向予測されるフレーム）は、イントラ予測および単方向インター予測によりコーディングされ得るピクチャのスライスである。Ｐスライス内の各ブロックは、イントラ予測またはインター予測のいずれかによりコーディングされる。インター予測が適用されるとき、ブロックは、１つの参照ピクチャによってのみ予測され、したがって、参照サンプルは、１つのフレームの１つの参照領域からのみである。Ｂスライス（双方向予測フレーム）は、イントラ予測およびインター予測によりコーディングされ得るピクチャのスライスである。Ｂスライスのブロックは、２つの参照ピクチャから双方向予測され得、各ピクチャが１つの参照領域を導き（contribute）、双方向予測されたブロックの予測信号を生成するために、２つの参照領域のサンプルセットが（たとえば、等しい重みにより）重み付けされる。上記で説明されたように、１つのピクチャのスライスが独立してコーディングされる。場合によっては、１つのピクチャがたった１つのスライスとしてコーディングされ得る。
【００４５】
[0053]ＰＵは、予測プロセスに関係するデータを含み得る。たとえば、ＰＵがイントラ予測を使用して符号化されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインター予測を使用して符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。ＰＵの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、もしくはリストＣ）を記述し得る。
【００４６】
[0054]次いで、符号化デバイス１０４は、変換および量子化を実行し得る。たとえば、予測の後に、エンコーダエンジン１０６は、ＰＵに対応する残差値を計算し得る。残差値は、ピクセル差分値を備え得る。予測が実行された後に残存し得るいずれの残差データも、離散コサイン変換、離散サイン変換、整数変換、ウェーブレット変換、または他の適切な変換関数に基づき得るブロック変換を使用して変換される。場合によっては、１つまたは複数のブロック変換（たとえば、サイズ３２×３２、１６×１６、８×８、４×４など）が各ＣＵにおける残差データに適用され得る。いくつかの実施形態では、エンコーダエンジン１０６によって実施される変換および量子化プロセスにＴＵが使用され得る。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数のＴＵも含み得る。以下でさらに詳細に説明されるように、残差値は、ブロック変換を使用して変換係数に変換され得、次いで、エントロピーコーディングのためのシリアル化変換係数を生成するために、ＴＵを使用して量子化および走査され得る。
【００４７】
[0055]いくつかの実施形態では、ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後に、エンコーダエンジン１０６は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、空間領域（またはピクセル領域）においてピクセルデータを備え得る。ＴＵは、ブロック変換の適用の後に変換領域において係数を備え得る。前記のように、残差データは、符号化されていないピクチャのピクセルとＰＵに対応する予測値との間のピクセル差分値に対応し得る。エンコーダエンジン１０６は、ＣＵのための残差データを含むＴＵを形成することができ、次いで、ＣＵのための変換係数を生成するためにＴＵを変換することができる。
【００４８】
[0056]エンコーダエンジン１０６は、変換係数の量子化を実行し得る。量子化は、係数を表すために使用されるデータの量を減らすために変換係数を量子化することによってさらなる圧縮をもたらす。たとえば、量子化は、係数の一部または全部に関連付けられるビット深度を低減することができる。一例では、ｎビット値を有する係数は、量子化中にｍビット値に切り捨てられ得、ｎがｍよりも大きい。
【００４９】
[0057]量子化が実行されると、コーディングされたビデオビットストリームは、量子化変換係数と、予測情報（たとえば、予測モード、動きベクトルなど）と、区分情報と、他のシンタックスデータなどの任意の他の適切なデータとを含む。次いで、コーディングされたビデオビットストリームの異なる要素は、エンコーダエンジン１０６によってエントロピー符号化され得る。いくつかの例では、エンコーダエンジン１０６は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。いくつかの例では、エンコーダエンジン１０６は適応走査を実行し得る。ベクトル（たとえば、１次元ベクトル）を形成するために量子化変換係数を走査した後、エンコーダエンジン１０６は、ベクトルをエントロピー符号化することができる。たとえば、エンコーダエンジン１０６は、コンテキスト適応型可変長コーディング、コンテキスト適応型バイナリ算術コーディング、シンタックスベースコンテキスト適応型バイナリ算術コーディング、確率間隔区分エントロピーコーディング、または別の適切なエントロピー符号化技法を使用し得る。
【００５０】
[0058]符号化デバイス１０４の出力部１１０は、通信リンク１２０を介して受信デバイスの復号デバイス１１２に、符号化されたビデオビットストリームデータを構成するＮＡＬユニットを送り得る。復号デバイス１１２の入力部１１４は、ＮＡＬユニットを受信し得る。通信リンク１２０は、ワイヤレスネットワーク、ワイヤードネットワーク、またはワイヤードネットワークとワイヤレスネットワークとの組合せによって提供されるチャネルを含み得る。ワイヤレスネットワークは、任意のワイヤレスインターフェースまたはワイヤレスインターフェースの組合せを含むことができ、任意の適切なワイヤレスネットワーク（たとえば、インターネットまたは他のワイドエリアネットワーク、パケットベースネットワーク、ＷｉＦｉ（登録商標）、無線周波数（ＲＦ）、ＵＷＢ、ＷｉＦｉ−Ｄｉｒｅｃｔ、セルラー、ロングタームエボリューション（ＬＴＥ（登録商標））、ＷｉＭａｘ（登録商標）など）を含み得る。ワイヤードネットワークは、任意のワイヤードインターフェース（たとえば、ファイバー、イーサネット（登録商標）、電力線イーサネット、同軸ケーブルを介したイーサネット、デジタル信号線（ＤＳＬ）など）を含み得る。ワイヤードおよび／またはワイヤレスネットワークは、基地局、ルータ、アクセスポイント、ブリッジ、ゲートウェイ、スイッチなど、様々な機器を使用して実装され得る。符号化されたビデオビットストリームデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、受信デバイスに送信され得る。
【００５１】
[0059]いくつかの例では、符号化デバイス１０４は、符号化されたビデオビットストリームデータをストレージ１０８に記憶し得る。出力部１１０は、符号化されたビデオビットストリームデータをエンコーダエンジン１０６から、またはストレージ１０８から取り出し得る。ストレージ１０８は、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。たとえば、ストレージ１０８は、ハードドライブ、記憶ディスク、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体を含み得る。
【００５２】
[0060]復号デバイス１１２の入力部１１４は、符号化されたビデオビットストリームデータを受信し、ビデオビットストリームデータをデコーダエンジン１１６に、またはデコーダエンジン１１６によって後で使用されるためにストレージ１１８に提供し得る。デコーダエンジン１１６は、（たとえば、エントロピーデコーダを使用して）エントロピー復号し、符号化されたビデオデータを構成する１つまたは複数のコーディングされたビデオシーケンスの要素を抽出することによって、符号化されたビデオビットストリームデータを復号し得る。次いでデコーダエンジン１１６は、再スケーリングし、符号化されたビデオビットストリームデータに対して逆変換を実行し得る。次いで残差データが、デコーダエンジン１１６の予測段階に渡される。次いでデコーダエンジン１１６は、ピクセルのブロック（たとえば、ＰＵ）を予測する。いくつかの例では、逆変換の出力（残差データ）に予測が追加される。
【００５３】
[0061]復号デバイス１１２は、復号されたビデオをビデオ宛先デバイス１２２に出力することができ、ビデオ宛先デバイス１２２は、復号されたビデオデータをコンテンツの消費者に表示するためのディスプレイまたは他の出力デバイスを含み得る。いくつかの態様では、ビデオ宛先デバイス１２２は、復号デバイス１１２を含む受信デバイスの一部であり得る。いくつかの態様では、ビデオ宛先デバイス１２２は、受信デバイス以外の別個のデバイスの一部であり得る。
【００５４】
[0062]補足エンハンスメント情報（ＳＥＩ）メッセージがビデオビットストリームに含まれ得る。たとえば、ＳＥＩメッセージは、復号デバイス１１２によってビットストリームを復号するために不可欠ではない情報（たとえば、メタデータ）を搬送するために使用され得る。この情報は、復号された出力の表示または処理を改善する際に有用である（たとえば、そのような情報は、コンテンツの視認性を改善するためにデコーダ側エンティティによって使用され得る）。
【００５５】
[0063]いくつかの実施形態では、ビデオ符号化デバイス１０４および／またはビデオ復号デバイス１１２は、それぞれオーディオ符号化デバイスおよびオーディオ復号デバイスと統合され得る。ビデオ符号化デバイス１０４および／またはビデオ復号デバイス１１２はまた、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、上記で説明されたコーディング技法を実装するために必要な他のハードウェアまたはソフトウェアを含み得る。ビデオ符号化デバイス１０４およびビデオ復号デバイス１１２は、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００５６】
[0064]ＨＥＶＣ規格に対する拡張は、ＭＶ−ＨＥＶＣと呼ばれるマルチビュービデオコーディング拡張と、ＳＨＶＣと呼ばれるスケーラブルビデオコーディング拡張とを含む。ＭＶ−ＨＥＶＣ拡張およびＳＨＶＣ拡張は、階層化コーディングの概念を共有し、異なるレイヤが、符号化されたビデオビットストリームに含まれる。コーディングされたビデオシーケンスにおける各レイヤは、一意のレイヤ識別子（ＩＤ）によってアドレス指定される。ＮＡＬユニットのヘッダには、ＮＡＬユニットが関連付けられるレイヤを識別するためにレイヤＩＤが存在し得る。ＭＶ−ＨＥＶＣでは、異なるレイヤは、ビデオビットストリームにおける同じシーンの異なるビューを表し得る。ＳＨＶＣでは、異なる空間解像度（もしくはピクチャ解像度）で、または異なる再構築忠実度（reconstruction resolution）でビデオビットストリームを表す異なるスケーラブルレイヤが提供される。スケーラブルレイヤは、（レイヤＩＤ＝０の）ベースレイヤと（レイヤＩＤ＝１、２、．．．ｎの）１つまたは複数のエンハンスメントレイヤとを含み得る。ベースレイヤは、ＨＥＶＣの第１のバージョンのプロファイルに適合することができ、ビットストリームにおいて利用可能な最下位レイヤを表す。エンハンスメントレイヤは、ベースレイヤと比較して上昇した空間解像度、時間解像度もしくはフレームレート、および／または再構築忠実度（もしくは品質）を有する。エンハンスメントレイヤは、階層的に編成されており、下位レイヤに依存すること（または依存しないこと）がある。いくつかの例では、単一の標準コーデックを使用して、異なるレイヤがコーディングされ得る（たとえば、ＨＥＶＣ、ＳＨＶＣ、または他のコーディング規格を使用して、すべてのレイヤが符号化される）。いくつかの例では、マルチスタンダードコーデックを使用して、異なるレイヤがコーディングされ得る。たとえば、ベースレイヤは、ＡＶＣを使用してコーディングされ得るが、１つまたは複数のエンハンスメントレイヤは、ＨＥＶＣ規格に対するＳＨＶＣ拡張および／またはＭＶ−ＨＥＶＣ拡張を使用してコーディングされ得る。一般に、レイヤは、ＶＣＬ  ＮＡＬユニットのセットと非ＶＣＬ  ＮＡＬユニットの対応するセットとを含む。ＮＡＬユニットは、特定のレイヤＩＤ値を割り当てられる。レイヤは、レイヤが下位レイヤに依存することがあるという意味で、階層的であり得る。
【００５７】
[0065]前に説明されたように、ＨＥＶＣビットストリームは、ＶＣＬ  ＮＡＬユニットと非ＶＣＬ  ＮＡＬユニットとを含む、ＮＡＬユニットのグループを含む。非ＶＣＬ  ＮＡＬユニットは、他の情報に加えて、符号化されたビデオビットストリームに関係する高レベル情報を有するパラメータセットを含み得る。たとえば、パラメータセットは、ビデオパラメータセット（ＶＰＳ）と、シーケンスパラメータセット（ＳＰＳ）と、ピクチャパラメータセット（ＰＰＳ）とを含み得る。パラメータセットの目的の例としては、ビットレート効率、エラーレジリエンシー（誤り回復：error resiliency）、およびシステムレイヤインターフェースの提供がある。各スライスは、スライスを復号するために復号デバイス１１２が使用し得る情報にアクセスするために単一のアクティブなＰＰＳ、ＳＰＳ、およびＶＰＳを参照する。ＶＰＳ識別子（ＩＤ）と、ＳＰＳ  ＩＤと、ＰＰＳ  ＩＤとを含むＩＤが、パラメータセットごとにコーディングされ得る。ＳＰＳは、ＳＰＳ  ＩＤとＶＰＳ  ＩＤとを含む。ＰＰＳは、ＰＰＳ  ＩＤとＳＰＳ  ＩＤとを含む。各スライスヘッダは、ＰＰＳ  ＩＤを含む。ＩＤを使用して、アクティブなパラメータセットが所与のスライスに関して識別され得る。
【００５８】
[0066]ＶＣＬ  ＮＡＬユニットは、コーディングされたビデオビットストリームを形成するコーディングされたピクチャデータを含む。以下の表Ａに示されるように、ＨＥＶＣ規格において様々なタイプのＶＣＬ  ＮＡＬユニットが定義される。単一レイヤビットストリームでは、第１のＨＥＶＣ規格において定義されているように、ＡＵに含まれるＶＣＬ  ＮＡＬユニットが同じＮＡＬユニットタイプ値を有し、ＮＡＬユニットタイプ値が、ＡＵのタイプとＡＵ内のコーディングされたピクチャのタイプとを定義する。たとえば、特定のＡＵのＶＣＬ  ＮＡＬユニットは、瞬時復号リフレッシュ（ＩＤＲ）ＮＡＬユニット（値１９）を含むことができ、これはＡＵをＩＤＲ  ＡＵにし、ＡＵのコーディングされたピクチャをＩＤＲピクチャにする。ＶＣＬ  ＮＡＬユニットの所与のタイプは、ＶＣＬ  ＮＡＬユニットに含まれる、ピクチャまたはその一部分（たとえば、ＶＣＬ  ＮＡＬユニットにおけるピクチャのスライスまたはスライスセグメント）に関係する。リーディングピクチャと、トレーリングピクチャと、イントラランダムアクセス（ＩＲＡＰ）ピクチャ（「ランダムアクセスピクチャ」とも呼ばれる）とを含む、３つのクラスのピクチャがＨＥＶＣ規格において定義されている。マルチレイヤビットストリームでは、ＡＵ内のピクチャのＶＣＬ  ＮＡＬユニットは、同じＮＡＬユニットタイプ値と同じタイプのコーディングされたピクチャとを有する。たとえば、タイプＩＤＲのＶＣＬ  ＮＡＬユニットを含むピクチャは、ＡＵにおけるＩＤＲピクチャであると言われる。別の例では、ベースレイヤ（０に等しいレイヤＩＤ）においてＩＲＡＰピクチャであるピクチャをＡＵが含むとき、ＡＵは  ＩＲＡＰ  ＡＵである。
【００５９】
[0067]ファイルフォーマット規格は、ＩＳＯベースメディアファイルフォーマット（ＩＳＯ／ＩＥＣ  １４４９６−１２としても知られるＩＳＯＢＭＦＦ）と、ＭＰＥＧ−４ファイルフォーマット（ＩＳＯ／ＩＥＣ  １４４９６−１４としても知られる）、３ＧＰＰ（登録商標）ファイルフォーマット（３ＧＰＰ  ＴＳ２６．２４４としても知られる）、およびＡＶＣファイルフォーマット（ＩＳＯ／ＩＥＣ  １４４９６−１５としても知られる）を含む、ＩＳＯＢＭＦＦから派生した他のファイルフォーマットとを含む。一般に、ＩＳＯ／ＩＥＣ  １４４９６−１５仕様は、ぼろがＮＡＬユニットに基づくコーデックのためのファイルフォーマットとしてブセ使用され得る（たとえば、ＡＶＣ、ＳＶＣ、ＭＶＣ、ＨＥＶＣ、ＳＨＶＣ、およびＭＶ−ＨＥＶＣ）。階層化ＨＥＶＣ（Ｌ−ＨＥＶＣ）ファイルフォーマットのための規格は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｅｒｙ．ｆｒにある、ＭＰＥＧ委員会のウェブサイトから入手可能である。
【００６０】
[0068]ＩＳＯＢＭＦＦは、多くのコーデックカプセル化フォーマット（たとえば、ＡＶＣファイルフォーマット）のための、さらには多くのマルチメディアコンテナフォーマット（たとえば、ＭＰＥＧ−４ファイルフォーマット、３ＧＰＰファイルフォーマット（３ＧＰ）、ＤＶＢファイルフォーマット、または他の適切なフォーマット）のための、基礎として使用され得る。
【００６１】
[0069]連続的なメディア（たとえば、オーディオおよびビデオ）に加えて、静的なメディア（たとえば、画像）およびメタデータが、ＩＳＯＢＭＦＦに準拠したファイルに記憶され得る。ＩＳＯＢＭＦＦに従って構成されたファイルは、ローカルメディアファイルの再生、リモートファイルのプログレッシブダウンロードを含む、多くの目的のために、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：Dynamic Adaptive Streaming over HTTP）のためのセグメントとして、ストリーミングされるべきコンテンツのためのコンテナおよびコンテンツのためのパケット化命令として、ならびに、受信されたリアルタイムメディアストリームの記録および／または他の用途のために、使用され得る。
【００６２】
[0070]ボックスは、ＩＳＯＢＭＦＦにおけるエレメンタリシンタックス構造である。ボックスは、４キャラクタのコーディングされたボックスタイプと、ボックスのバイトカウントと、ペイロードとを含み得る。ＩＳＯＢＭＦＦファイルは、ボックスのシーケンスを含み、ボックスは他のボックスを含んでよい。たとえば、ムービーボックス（「ｍｏｏｖ」）が、ファイル中に存在する連続的なメディアストリームのメタデータを含み、各々がトラックとしてファイルに表される。トラックに対するメタデータは、トラックボックス（「ｔｒａｋ」）に封入されるが、トラックのメディアコンテンツは、メディアデータボックス（「ｍｄａｔ」）に封入されるか、または別のファイルに直接封入されるかのいずれかである。トラックに対するメディアコンテンツは、オーディオまたはビデオアクセスユニットのようなサンプルのシーケンスを含む。
【００６３】
[0071]ＩＳＯＢＭＦＦは、次のタイプのトラック、すなわち、エレメンタリメディアストリームを含むメディアトラックと、メディア送信命令を含むか受信されたパケットストリームを表すかのいずれかであるヒントトラックと、時間同期されたメタデータを備えるタイムドメタデータトラックとを規定する。
【００６４】
[0072]元々は記憶のために設計されたが、ＩＳＯＢＭＦＦは、ストリーミングのために（たとえば、プログレッシブダウンロードまたはＤＡＳＨのために）有用であることがわかっている。ストリーミングの目的で、ＩＳＯＢＭＦＦで定義されたムービーフラグメントが使用され得る。
【００６５】
[0073]各トラックに対するメタデータは、サンプル記述エントリーのリストを含むことができ、サンプル記述エントリーの各々が、トラック中で使用されるコーディングフォーマットまたはカプセル化フォーマットと、そのフォーマットを処理するために必要な初期化データとを提供する。各サンプルは、トラックのサンプル記述エントリーの１つに関連付けられる。
【００６６】
[0074]ＩＳＯＢＭＦＦは、様々な機構によってサンプル固有のメタデータを規定することを可能にする。サンプルテーブルボックス（「ｓｔｂｌ」）内の特定のボックスが、一般的な需要に応えるために標準化されている。たとえば、シンクサンプルボックス（「ｓｔｓｓ」）は、トラックのランダムアクセスサンプルを記載するために使用される。サンプルグループ化機構は、ファイル中のサンプルグループ記述エントリーとして規定される同じ特性を共有するサンプルのグループへの、４キャラクタのグループ化タイプに従ったサンプルのマッピングを可能にする。いくつかのグループ化タイプが、ＩＳＯＢＭＦＦにおいて規定されている。
【００６７】
[0075]ＩＳＯＢＭＦＦ仕様は、ＤＡＳＨとともに使用する６つのタイプのストリームアクセスポイント（ＳＡＰ）を規定している。最初の２つのＳＡＰタイプ（タイプ１および２）は、Ｈ．２６４／ＡＶＣおよびＨＥＶＣにおける瞬時復号リフレッシュ（ＩＤＲ：instantaneous decoding refresh）ピクチャに対応する。ＩＤＲピクチャは、デコーダにおける復号プロセスを完全にリフレッシュまたは再初期化し、新しいコーディングされたビデオシーケンスを開始するイントラピクチャ（Ｉピクチャ）である。いくつかの例では、ＩＤＲピクチャおよび復号順序でＩＤＲピクチャに続く任意のピクチャは、復号順序でＩＤＲピクチャの前に来るいかなるピクチャにも依存することができない。第３のＳＡＰタイプ（タイプ３）は、ＨＥＶＣにおけるブロークンリンクアクセス（ＢＬＡ：broken link access）またはクリーンランダムアクセス（ＣＲＡ）ピクチャなど、オープンＧＯＰ（ピクチャグループ）ランダムアクセスポイントに対応する。ＣＲＡピクチャもＩピクチャである。ＣＲＡピクチャはデコーダをリフレッシュしなくてよく、新しいコーディングされたビデオシーケンス（ＣＶＳ）を開始しなくてよいので、ＣＲＡピクチャのリーディングピクチャが、復号順序でＣＲＡピクチャの前に来るピクチャに依存することが可能になる。ランダムアクセスは、ＣＲＡピクチャにおいて、ＣＲＡピクチャと、復号順序でＣＲＡピクチャの前に来るいかなるピクチャにも依存しないＣＲＡピクチャに関連付けられるリーディングピクチャと、復号順序と出力順序の両方でＣＲＡに続くすべての関連ピクチャとを復号することによって行われ得る。場合によっては、ＣＲＡピクチャは、関連するリーディングピクチャを有しないことがある。マルチレイヤの場合には、ゼロよりも大きいレイヤＩＤを有するレイヤに属するＩＤＲまたはＣＲＡピクチャが、ＰピクチャまたはＢピクチャであり得るが、これらのピクチャは、ＩＤＲまたはＣＲＡピクチャと同じアクセスユニットに属する、ＩＤＲまたはＣＲＡピクチャを含むレイヤよりも小さいレイヤＩＤを有する他のピクチャからのレイヤ間予測のみを使用し得る。第４のＳＡＰタイプ（タイプ４）は、漸進的復号リフレッシュ（ＧＤＲ）ランダムアクセスポイントに対応する。
【００６８】
[0076]ＩＳＯベースメディアファイルフォーマットは、メディアの交換、管理、編集、および提示を容易にする、フレキシブルな、拡張可能なフォーマットでの提示のための、タイムド（timed）メディア情報を含むように設計される。ＩＳＯベースメディアファイルフォーマット（ＩＳＯ／ＩＥＣ  １４４９６−１２：２００４）は、時間ベースのメディアファイルのための一般的な構造を定義するＭＰＥＧ−４  Ｐａｒｔ−１２において規定されている。ＩＳＯＢＭＦＦは、アドバンストビデオコーディング（ＡＶＣ）ファイルフォーマット（ＩＳＯ／ＩＥＣ  １４４９６−１５）およびＨＥＶＣファイルフォーマットなどのファミリーにおける他のファイルフォーマットのための基礎として使用される。
【００６９】
[0077]ＩＳＯベースメディアファイルフォーマットは、オーディオビジュアルプレゼンテーションのようなメディアデータのタイムドシーケンスのためのタイミングと、構造と、メディア情報とを含む。ファイル構造はオブジェクト指向である。ファイルは、非常に単純に基本オブジェクトに分解され得、オブジェクトの構造はそれらのタイプから暗示される。
【００７０】
[0078]ＩＳＯベースメディアファイルフォーマットに準拠するファイルは、「ボックス」と呼ばれる一連のオブジェクトとして形成され得る。場合によっては、すべてのデータがボックスに含まれることがあり、たとえば、特定のファイルフォーマットによって求められる初期シグネチャを含む、他のデータが同じファイルに配置されることはない。「ボックス」は、一意のタイプ識別子と長さとによって定義され得るオブジェクト指向ビルディングブロックである。
【００７１】
[0079]ＩＳＯベースメディアファイルフォーマットに従った例示的なファイル構造が図２に示されている。一般に、常にではないが、メディアプレゼンテーションが１つのファイル２００中に含まれ、メディアプレゼンテーションは自己完結的である。ムービーコンテナ２０２（または「ムービーボックス」）は、たとえば、１つまたは複数のビデオトラック２１０およびオーディオトラック２１６など、メディアのメタデータを含み得る。ビデオトラック２１６は、１つまたは複数のメディア情報コンテナ２１４に記憶され得る、ビデオの様々なレイヤについての情報を含み得る。たとえば、メディア情報コンテナ２１４は、ビデオに関するビデオサンプルについての情報を提供する単純なテーブルを含み得る。様々な実装形態では、ビデオ２２２およびオーディオ２２４チャンクがメディアデータコンテナ２０４に含まれる。いくつかの実装形態では、ビデオ２２２およびオーディオ２２４チャンクが（ファイル２００以外の）１つまたは複数の他のファイルに含まれ得る。
【００７２】
[0080]様々な実装形態では、プレゼンテーション（たとえば、動きシーケンス）がいくつかのファイルに含まれ得る。すべてのタイミングおよびフレーミング（たとえば、位置およびサイズ）情報はＩＳＯベースメディアファイル中にあり、補助ファイルは基本的に任意のフォーマットを使用することができる。
【００７３】
[0081]ＩＳＯファイルは、論理構造と、時間構造と、物理構造とを有する。異なる構造は、結合されることを必要とされない。ファイルの論理構造はムービーのものであり、このムービーは時間並列トラックのセット（たとえば、トラック２１０）を含む。ファイルの時間構造は、トラックが時間的にサンプルのシーケンスを含むものであり、それらのシーケンスは、オプションの編集リストによってムービー全体のタイムラインにマッピングされ得る。
【００７４】
[0082]ファイルの物理構造は、論理的、時間的、および構造的分解に必要なデータをメディアデータサンプル自体から分離する。この構造情報は、場合によってはムービーフラグメントボックスによって時間的に拡張される、ムービーボックス（たとえば、ムービーコンテナ２０２）に集中する。ムービーボックスは、サンプルの論理関係およびタイミング関係を記録し、サンプルが位置する場所へのポインタも含む。ポインタは、たとえば、ユニフォームリソースロケータ（ＵＲＬ）によって参照され得る、同じファイルまたは別のファイルを指すことがある。
【００７５】
[0083]各メディアストリームは、そのメディアタイプ専用のトラックに含まれる。たとえば、図２に示される例において、ムービーコンテナ２０２はビデオトラック２１０とオーディオトラック２１６とを含む。ムービーコンテナ２０２はまた、ヒントトラック２１８を含むことができ、ヒントトラック２１８は、ビデオ２１０トラックおよび／もしくはオーディオ２１６トラックからの送信命令を含むことができ、またはムービーコンテナ２０２もしくは他のムービーコンテナにおける他のトラックについての他の情報を表すことができる。各トラックはさらに、サンプルエントリーによってパラメータ化され得る。たとえば、図示の例では、ビデオトラック２１０はメディア情報コンテナ２１４を含み、メディア情報コンテナ２１４はサンプルのテーブルを含む。サンプルエントリーは、正確なメディアタイプ（たとえば、ストリームを復号するために必要とされるデコーダのタイプ）の「名前」と、必要とされるそのデコーダの何らかのパラメータ化とを含んでいる。名前は、４文字コード（たとえば、ｍｏｏｖ、ｔｒａｋ、または他の適切な名前コード）の形態をとり得る。定義されたサンプルエントリーのフォーマットが、ＭＰＥＧ−４メディアに関してだけではなく、このファイルフォーマットファミリを使用する他の組織によって使用されるメディアタイプに関しても存在する。
【００７６】
[0084]サンプルエントリーは、メディアデータコンテナ２０４におけるボックス２２０におけるビデオデータチャンク（たとえば、ビデオデータチャンク２２２）へのポインタをさらに含み得る。ボックス２２０は、（ビデオデータチャンク２２２などの、ビデオデータチャンクに編成された）インターリーブされた時間順のビデオサンプルと、（たとえば、オーディオデータチャンク２２４における）オーディオフレームと、（たとえば、ヒント命令チャンク２２６における）ヒント命令とを含む。
【００７７】
[0085]メタデータのサポートは、異なる形態をとることができる。一例では、タイムドメタデータが、メタデータが表しているメディアデータと必要に応じて同期した、適切なトラックに記憶され得る。第２の例では、ムービーに、または個々のトラックに添付された非タイムドメタデータに対する一般的なサポートがある。構造的サポートは、一般的であり、メディアデータの場合のように、そのファイルの他の場所または別のファイルにメタデータリソースを記憶することを可能にする。
【００７８】
[0086]以下でさらに説明されるように、ビデオファイルにおける１つのトラックは、複数のレイヤを含むことができる。図３は、およびレイヤ１  ３１６ａと、レイヤ２  ３１６ｂと、レイヤ３  ３１６ｃとを含む、複数のレイヤ３１６ａ〜３１６ｃを有するビデオトラック３１０を含むファイル３００の例を示す。ビデオトラック３１０はトラックヘッダ３１２も含むことができ、トラックヘッダ３１２は、ビデオトラック３１０のコンテンツについての何らかの情報を含み得る。たとえば、トラックヘッダ３１２は、トラックコンテンツ情報（「ｔｃｏｎ」とも呼ばれる）ボックスを含み得る。ｔｃｏｎボックスは、ビデオトラック３１０におけるレイヤおよびサブレイヤのすべてを記載し得る。
【００７９】
[0087]ファイル３００はまた、オペレーティングポイント情報３４０（「ｏｉｎｆ」とも呼ばれる）ボックス３４０を含み得る。ｏｉｎｆボックス３４０は、オペレーティングポイントを構成するレイヤおよびサブレイヤ、オペレーティングポイント間の依存性（もしあれば）、オペレーティングポイントのプロファイル、レベル、およびティアパラメータ、ならびに他のそのようなオペレーティングポイント関連情報など、オペレーティングポイントについての情報を記録する。場合によっては、オペレーティングポイント（operating point）はオペレーションポイント（operation point）と呼ばれることもある。
【００８０】
[0088]複数のレイヤ３１６ａ〜３１６ｃは、異なる品質、解像度、フレームレート、ビュー、深度、またはビデオに関する他の変形形態に関するデータを含み得る。たとえば、レイヤ１  ３１６ａは、７２０ｐ解像度によるビデオを表し得る一方、レイヤ２  ３１６ｂは、１０８０ｐ解像度によるビデオを表し得る。レイヤは時間サブレイヤも含み得る。たとえば、レイヤ１  ３１６ａは、３０フレーム毎秒（ｆｐｓ）、５０ｆｐｓ、および６０ｆｐｓの各々に対して１つの時間サブレイヤである、３つの時間サブレイヤを有し得る。
【００８１】
[0089]Ｌ−ＨＥＶＣは、図３に示されるように、トラックが２つ以上のレイヤを有し得ることを規定する。代替または追加として、トラックはせいぜい１つのレイヤを含むことができる。図４は、３つのトラック４１０ａ〜４１０ｃを含むファイル４００の一例を示し、各トラック４１０ａ〜４１０ｃが１つのレイヤ（レイヤ１  ４１６ａ、レイヤ２  ４１６ｂ、およびレイヤ３  ４１６ｃ）を含む。ファイル４００は、図２に示される同じ３つのレイヤ２１６ａ〜２１６ｃを有し得るが、図４では、３つのレイヤ４１６ａ〜４１６ｃのすべてが１つのトラックに含まれる代わりに、各レイヤ４１６ａ〜４１６ｃが別個のトラック４１０ａ〜４１０ｃに含まれる。各トラック４１０ａ〜４１０ｃはトラックヘッダ４１２ａ〜４１２ｃを含むことができ、トラックヘッダ４１２ａ〜４１２ｃは、トラックのコンテンツについての何らかの情報を含み得る。この例では、各トラック２１０ａ〜２１０ｃはそれぞれせいぜい１つのレイヤを含むので、トラック２１０ａ〜２１０ｃのいずれも、トラックのコンテンツを表す「ｔｃｏｎ」ボックスを必要としない。
【００８２】
[0090]図４に示されるファイル４００はまた、オペレーティングポイント情報（「ｏｉｎｆ」）ボックス４４０を含む。この例では、オペレーティングポイントごとに、ｏｉｎｆボックス４４０は、オペレーティングポイントに関するレイヤのリストにトラックＩＤを含め得る。
【００８３】
[0091]様々な実装形態では、複数のレイヤを有するいくつかのトラックと、せいぜい１つだけのレイヤを有するいくつかのトラックとをファイルが含むように、図３および図４の例が組み合わせられ得る。
【００８４】
[0092]図５は、ファイル５００の別の例を示す。ファイル５００では、各トラック５１０ａ〜５１０ｃは１つのレイヤ５１６ａ〜５１６ｃを含む。この例では、各トラック５１０ａ〜５１０ｃはトラックヘッダ５１２ａ〜５１２ｃを含むことができ、トラックヘッダ５１２ａ〜５１２ｃは、トラックのコンテンツについての何らかの情報を含み得る。ファイル５００は、図５におけるファイル５００のトラックヘッダ５１２ａ〜５１２ｃがレイヤＩＤ５１８ａ〜５１８ｃを含むことを除いて、図４のファイル４００と同様である。レイヤＩＤ５１８ａ〜５１８ｃは、各トラック５１０ａ〜５１０ｃに記憶されたそれぞれのレイヤ５１６ａ〜５１６ｃを識別し得る。レイヤＩＤ５１８ａ〜５１８ｃは、各トラック５１０ａ〜５１０ｃに含まれるレイヤ５１６ａ〜５１６ｃの識別情報を提供するので、この例では「ｏｉｎｆ」ボックスは必要とされない。
【００８５】
[0093]Ｌ−ＨＥＶＣファイルフォーマットのための既存の設計は、Ｌ−ＨＥＶＣビットストリームの１つまたは複数のレイヤをトラックが含むことを既存のトラック構造が許容し、エクストラクタおよびアグリゲータの使用がオプションで許容されるので、複雑であるトラック構造を含む。以下で説明される詳細な実施形態で説明されるように、アグリゲータは、ＮＡＬユニットの不規則なパターンを、集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットの効率的なスケーラブルグループ化を可能にするための構造を含み、エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの効率的な抽出を可能にするための構造を含む。そのような設計により、プレーヤは、トラック構造および動作モードの多くの異なる可能な変形形態に対処することが必要とされる。本開示では、トラック構造とプレーヤの動作モードとを単純化するための技法およびシステムが説明される。本開示で開示される技法および方法の概要が以下で与えられ、いくつかの方法の詳細な実装形態が後のセクションで与えられる。これらの技法および方法のうちのいくつかは単独で適用される場合があり、それらのうちのいくつかは組み合わせて適用される場合がある。
【００８６】
[0094]様々な実装形態では、トラック構造を単純化するための技法およびシステムは、トラックに関するレイヤ情報を指定することを含むことができる。たとえば、せいぜい単一のレイヤまたは単一のレイヤのサブセットをそれぞれ含む１つまたは複数のビデオトラックを有する出力ファイルを生成することをエンコーダに求める制約が設けられ得る。１つまたは複数のビデオトラックがアグリゲータまたはエクストラクタの一方または両方を含まないことを求める別の制約が設けられ得る。いくつかの例では、エンコーダは、出力ファイルに識別子を割り当てることができる。たとえば、識別子は、サンプルエントリーの名前であり得る。識別子は、たとえば、出力ファイルが各トラックにせいぜい１つのレイヤまたは単一のレイヤのサブセットを有すること、および出力ファイルがアグリゲータまたはエクストラクタを含まないことをデコーダに示すことができる。サンプルエントリーの名前の他の例が本明細書で提供される。ファイルにおけるビデオトラックがせいぜい１つのレイヤまたは１つのレイヤのサブセットに制限される実装形態では、トラックコンテンツ情報（「ｔｃｏｎ」）ボックスは必要とされなくてよく、省略され得る。場合によっては、ビデオトラックを含むファイルが、Ｌ−ＨＥＶＣビットストリームの特定のレイヤに関するデータすべてが１つのトラックで搬送されることを示すインジケータを含み得る。
【００８７】
[0095]様々な実装形態では、トラックをレイヤに関連付けるためにＬＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄ変数（以下でさらに説明される）においてレイヤ識別子（ＩＤ）情報をシグナリングするための技法およびシステムが説明される。たとえば、図５に示されるように、各トラックは、トラックに含まれるレイヤを表すレイヤＩＤを含むことができる。ファイルがデコーダ構成記録を含むときに、ＬＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄ変数が含まれ得る。デコーダ構成記録は、デコーダ構成情報を明示し得る。たとえば、デコーダ構成記録は、ファイルにおける各ビデオサンプルにおいて使用される長さフィールドのサイズを含むことができ、サイズが、サンプルに含まれるＮＡＬユニットの長さを示すためであり得る。構成記録はまた、パラメータセットを、いずれかがサンプルエントリーに記憶される場合に含むことができる。場合によっては、様々な実装形態は、オペレーティングポイント情報（ｏｉｎｆ）ボックスにおける（以下で説明される）各オペレーティングポイントのレイヤのリストにトラックＩＤのシグナリングを追加し得る。たとえば、図３の例示的なファイル３００はｏｉｎｆボックス３４０を含み、ｏｉｎｆボックス３４０は、ファイル３００における利用可能なオペレーティングポイントのリストを提供し得る。
【００８８】
[0096]トラック構造の単純化を使用して、（たとえば、メディアプレーヤの）ファイルパーサが単一のモードで機能し得る。トラック構造を単純化しない場合、ファイルパーサは、その他の方法で異なるトラック構造で考えられ得る異なる動作モードの各々をサポートすることを求められ得る。たとえば、ファイルパーサは最初に、Ｌ−ＨＥＶＣビットストリームの（「ｓｂａｓ」トラック参照によって示される）ベーストラックを見つけることができる。次いでパーサは、「ｏｉｎｆ」ボックスをパースすることができ、ファイルにおいて利用可能なオペレーティングポイントについての情報を取得するために。オペレーティングポイント情報が取得されると、パーサは、使用するべきオペレーティングポイントを決定することができ、オペレーティングポイント情報を使用して、選択されたオペレーティングポイントに関連付けられるレイヤをどのトラックが搬送するかを決定することができる。場合によっては、パーサはまた、選択されたオペレーティングポイントにどのトラックが必要とされるかを決定するために、（ベーストラックにあり得る）各「エンハンスメントレイヤ」トラックのサンプルエントリー記述におけるレイヤＩＤを使用し得る。パーサは、次いでトラックを取得することができ、復号時間に基づいてアクセスユニットを構築することができる。パーサは、これらのアクセスユニットを、復号のためにビデオデコーダに渡すことができる。
【００８９】
[0097]オペレーションポイント（operation point）（またはオペレーティングポイント（operating point））は、ビットストリームとともに機能するために（たとえば、サブビットストリーム抽出を実行するために）使用されるパラメータを定義し、ターゲットレイヤのリスト（そのオペレーティングポイントのためのレイヤセット）とターゲット最上位時間レイヤとを含む。複数のオペレーティングポイントが所与のビットストリームに適用可能であり得る。オペレーティングポイントは、レイヤセット中のすべてのレイヤを含み得、またはレイヤセットのサブセットとして形成されるビットストリームであり得る。たとえば、ビットストリームのオペレーティングポイントは、レイヤ識別子のセットおよび時間識別子に関連付けられ得る。オペレーティングポイントに含まれるレイヤを識別するために、レイヤ識別子リストが使用され得る。レイヤ識別子リストは、パラメータセット（たとえば、ビデオパラメータセット（ＶＰＳ）またはビットストリームに関連付けられる他のパラメータセット）に含まれ得る。レイヤ識別子リストは、（たとえば、シンタックス要素ｎｕｈ＿ｌａｙｅｒ＿ｉｄによって示される）レイヤ識別子（ＩＤ）値のリストを含み得る。場合によっては、レイヤＩＤ値は、非負整数を含むことができ、各レイヤは、各レイヤＩＤ値が特定のレイヤを識別するように、一意のレイヤＩＤ値に関連付けられ得る。時間サブセットを定義するために（たとえば、変数ＴｅｍｐｏｒａｌＩｄによって識別される）最上位時間ＩＤが使用され得る。いくつかの実施形態では、レイヤ識別子リストおよびターゲット最上位時間ＩＤが、オペレーティングポイントをビットストリームから抽出するための入力として使用され得る。たとえば、ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットが、オペレーティングポイントに関連付けられるレイヤ識別子のセットに含まれるレイヤ識別子を有し、ＮＡＬユニットの時間識別子がオペレーティングポイントの時間識別子以下であるとき、ＮＡＬユニットは、オペレーティングポイントに関連付けられる。ターゲット出力レイヤは、出力されるべきレイヤであり、出力レイヤセットは、ターゲット出力レイヤのセットに関連付けられるレイヤセットである。たとえば、出力レイヤセットは、指定されたレイヤセットのレイヤを含むレイヤのセットであり、ここでレイヤのセット中の１つまたは複数のレイヤが出力レイヤであるように示される。出力オペレーティングポイントが特定の出力レイヤセットに対応する。たとえば、出力オペレーティングポイントは、入力としての入力ビットストリーム、ターゲット最上位時間識別子（ＴｅｍｐｏｒａｌＩｄ）、およびターゲットレイヤ識別子リストを用いたサブビットストリーム抽出プロセスの動作によって入力ビットストリームから作り出され、出力レイヤのセットに関連付けられるビットストリームを含み得る。
【００９０】
[0098]一例として、ビデオファイルは、ビデオが１０８０ｐ解像度で再生され得ることをプレーヤに示すオペレーティングポイントを含み得る。したがって、ビデオファイルは、１０８０ｐで符号化されたビデオを含むレイヤを含むレイヤセットを含み得る。その場合、１０８０ｐのオペレーティングポイントは、ファイルにおけるどのトラックがこのレイヤセットにおけるそのレイヤを含むかを示し得る。別の例として、同じビデオファイルが、６０ｆｐｓで７２０ｐ解像度、または３０ｆｐｓで７２０ｐを指定するオペレーティングポイントも含み得る。時間レイヤは、一般にサブレイヤとして扱われるので、ビデオファイルは、ビデオの７２０ｐバージョンのためのレイヤを含むレイヤセットを含むことができ、ここでレイヤが、６０ｆｐｓサブレイヤと３０ｆｐｓサブレイヤの両方を含む。ファイルはまた、２つのオペレーティングポイント、すなわち、第一に、６０ｆｐｓサブレイヤで７２０ｐを示すオペレーティングポイントと、第二に、３０ｆｐｓサブレイヤで７２０ｐを示すオペレーティングポイントと、を含み得る。
【００９１】
[0099]また別の例として、スケーラブルＨＥＶＣビットストリームが、１つのレイヤが７２０ｐで符号化され、別のレイヤが１０８０ｐで符号化される、２つのレイヤを有し得る。１０８０ｐビットストリームは、１０８０ｐビットストリームを７２０ｏｐビットストリームに依存させて、７２０ｐビットストリームに基づいて予測することによって符号化されていることがある。この例では、７２０ｐビットストリームおよび１０８０ｐビットストリームの各々は、別個のトラックに含まれることになる。さらに、１０８０ｐオペレーティングポイントが、１０８０ｐビットストリームを含むトラックが必要とされることを示すことになる一方、このトラックがさらに、レイヤが７２０ｐレイヤに依存することを示すことになる。したがって、プレーヤは、７２０ｐレイヤを含むトラックをフェッチおよび復号することも指示されることになる。
【００９２】
[0100]様々な実装形態では、Ｌ−ＨＥＶＣファイルの「ｏｉｎｆ」ボックスは、「ｏｉｎｆ」ボックスを含んでいるＬ−ＨＥＶＣファイルを処理するためのすべての利用可能なオペレーティングポイントを含むことができる。いくつかの実装形態では、Ｌ−ＨＥＶＣトラックにおいてエクストラクタまたはアグリゲータが使用されることはない。たとえば、Ｌ−ＨＥＶＣトラックは、エクストラクタおよび／またはアグリゲータを使用しないことを求められ得る。いくつかの実装形態では、「ｏｉｎｆ」ボックスに記述される各オペレーティングポイントは、オペレーティングポイントに関して含まれるすべてのレイヤを明示的に記載する。いくつかの実装形態では、「ｏｉｎｆ」ボックスにおけるレイヤ依存性シグナリングは、レイヤごとに依存性シグナリングが、そのレイヤに直接依存するリストレイヤを表すためのものとなるように、変更され得る。いくつかの代替的な場合では、新しいタイプのトラック参照または新しいトラック参照ボックスを含んでいるトラックに依存するトラックを示すために使用され得る、新しいタイプのトラック参照または新しいトラック参照ボックスが定義され得る。
【００９３】
[0101]様々な実装形態では、ＳＨＶＣおよびＭＶ−ＨＥＶＣのためのサンプルエントリーの名前が、名前に基づいてトラックスケーラビリティタイプを識別することが可能であるように区別され得る。いくつかの実装形態では、Ｌ−ＨＥＶＣファイルを処理するために利用可能なオペレーティングポイントは、暗示的オペレーティングポイントおよび明示的オペレーティングポイントとして見なされ得る。明示的オペレーティングポイントは、「ｏｉｎｆ」ボックスに記載されているオペレーティングポイントである。暗示的オペレーティングポイントは、「ｏｉｎｆ」ボックスに記載されていないオペレーティングポイントである。エクストラクタおよび／またはアグリゲータが存在する各トラックは、暗示的オペレーティングポイントに関連付けられると見なされる。明示的オペレーティングポイントが使用されるときのトラックのためのサンプルエントリーの名前は、一般に、暗示的オペレーティングポイントが使用されるときのトラックのためのサンプルエントリーの名前とは異なる。トラックの名前に基づいて、トラックが暗示的オペレーティングポイントに関連付けられるかどうかを見分けることが可能である。いくつかの態様では、サンプルエントリーの名前の区分は、次の通りであり得る。（１）ｈｖｃ１、ｈｖｅ１、ｓｈｖ１、ｓｈｅ１、ｍｈｖ１、ｍｈｅ１は、明示的オペレーティングポイントの要素であるトラックに使用されるサンプルエントリーの名前の例であり、（２）ｈｖｃ２、ｈｖｅ２、ｓｈｖ２、ｓｈｅ２、ｍｈｖ２、ｍｈｅ２は、暗示的オペレーティングポイントの要素であるトラックに使用されるサンプルエントリーの名前の例である。
【００９４】
[0102]様々な実装形態では、ビデオファイルが、暗示的オペレーティングポイントおよび明示的オペレーティングポイントが１つのファイルにおいて一緒に使用されないように生成され得る。たとえば、Ｌ−ＨＥＶＣファイルにおけるすべてのオペレーティングポイントは、暗示的オペレーティングポイントまたは明示的オペレーティングポイントのいずれかである。
【００９５】
[0103]様々な実装形態では、暗示的オペレーティングポイントを有するトラックの場合、以下の情報のうちの１つまたは複数が、トラックのサンプルエントリーにおいてシグナリングされ得る（すなわち、ＬＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄ）。（１）オペレーティングポイントに含まれるレイヤに関するプロファイル、ティア、およびレベル情報のリスト、（２）オペレーティングポイントのすべてのレイヤが出力されるべきか、それとも最上位レイヤのみが出力されるべきかを示すフラグ、ならびに（３）ビットレート、フレームレート、最小ピクチャサイズ、最大ピクチャサイズ、クロマフォーマット、ビット深度など、オペレーティングポイントに関連付けられる追加情報。
【００９６】
[0104]代替的に、上記の情報は、「ｏｉｎｆ」ボックスなどの別のボックスにおけるファイルにおいてシグナリングされ得る。
【００９７】
[0105]様々な実装形態では、ファイルが（エクストラクタを使用した）明示的なアクセスユニット再構築を含むか、それとも暗示的再構築を含むかが、ファイルタイプまたは「ブランド（bland）」を使用して指定され得る。暗示的再構築ブランドは、各トラックがせいぜい１つのレイヤを含むようにファイルが生成されていることを示し得る。様々な実装形態では、ブランドがファイルにおいて指定され得る。たとえば、ブランドは、「ＦｉｌｅＴｙｐｅＢｏｘ」と呼ばれるボックスにおける「ｃｏｍｐａｔｉｂｌｅ＿ｂｒａｎｄｓ」フィールドにおいて示され得る。
【００９８】
[0106]一例では、「ｈｖｃｅ」と呼ばれるブランドが、ＦｉｌｅＴｙｐｅＢｏｘのｃｏｍｐａｔｉｂｌｅ＿ｂｒａｎｄｓにおけるブランドのリストに含まれ得る。この例では、「ｈｖｃ２」、「ｈｅｖ２」、「ｌｈｖ１」、および「ｌｈｅ１」の各トラックは、有効なＨＥＶＣサブビットストリームを（生来的に、またはエクストラクタを通じて）含むことができ、アグリゲータを含むことができる。「ｈｖｃｅ」ブランドのパーサは、エクストラクタとアグリゲータとを処理することができ、暗示的再構築を実行することを求められない。
【００９９】
[0107]別の例では、「ｈｖｃｉ」と呼ばれるブランドが、ＦｉｌｅＴｙｐｅＢｏｘのｃｏｍｐａｔｉｂｌｅ＿ｂｒａｎｄｓにおけるブランドのリストに含まれ得る。この例では、エクストラクタまたはアグリゲータは、「ｈｖｃ２」、「ｈｅｖ２」、「ｌｈｖ１」、または「ｌｈｅ１」のどのトラックにも存在しない。「ｈｖｃｉ」ブランドのパーサは、「ｈｖｃ２」、「ｈｅｖ２」、「ｌｈｖ１」、および「ｌｈｅ１」トラックの暗示的再構築を実行することができ、エクストラクタとアグリゲータとを処理することを求められない。この例では、タイプ「ｈｖｃ１」、「ｈｅｖ１」、「ｈｖｃ２」、「ｈｅｖ２」、「ｌｈｖ１」、または「ｌｈｅ１」トラックの各トラックは、せいぜい１つのレイヤを含み得る。
【０１００】
[0108]図６は、上記で説明された様々な実装形態による、ビデオデータを符号化するためのプロセス６００の一例を示す。様々な実装形態では、プロセス６００は、図１に示されるビデオ符号化デバイス１０４など、コンピューティングデバイスまたは装置によって実行され得る。たとえば、コンピューティングデバイスまたは装置は、図６のプロセス６００のステップを実行するように構成された、エンコーダ、またはエンコーダのプロセッサ、マイクロプロセッサ、マイクロコンピュータもしくは他の構成要素を含み得る。いくつかの実装形態では、コンピューティングデバイスまたは装置は、ビデオデータをキャプチャするように構成されたカメラを含み得る。いくつかの実装形態では、ビデオデータをキャプチャするカメラまたは他のキャプチャデバイスは、コンピューティングデバイスとは別個のものであり、その場合、コンピューティングデバイスは、キャプチャされたビデオデータを受信する。コンピューティングデバイスは、ビデオデータを通信するように構成されたネットワークインターフェースをさらに含み得る。ネットワークインターフェースは、インターネットプロトコル（ＩＰ）ベースのデータを通信するように構成され得る。
【０１０１】
[0109]プロセス６００は、論理フロー図として示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組合せにおいて実施され得る動作のシーケンスを表す。コンピュータ命令の文脈では、動作は、１つまたは複数のプロセッサによって実行されたときに、記載された動作を実行する、１つまたは複数のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実行するか、または特定のデータ型を実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作が説明される順序は、限定的なものと解釈されることが意図されておらず、任意の数の説明される動作が、プロセスを実施するために任意の順序で、および／または並列に組み合わせられてよい。
【０１０２】
[0110]さらに、プロセス６００は、実行可能命令で構成された１つまたは複数のコンピュータシステムの制御下で実行され得、まとめて１つもしくは複数のプロセッサ上で、ハードウェアによって、またはそれらの組合せで実行されるコード（たとえば、実行可能命令、１つもしくは複数のコンピュータプログラム、または１つもしくは複数のアプリケーション）として実施され得る。上述のように、コードは、コンピュータ可読または機械可読記憶媒体に、たとえば、１つまたは複数のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で記憶され得る。コンピュータ可読または機械可読記憶媒体は非一時的であり得る。
【０１０３】
[0111]ステップ６０２において、プロセス６００は、マルチレイヤビデオデータを処理することを含み得る。マルチレイヤビデオデータは複数のレイヤを含むことができ、各レイヤが、少なくとも１つのビデオコーディングレイヤ（ＶＣＬ）ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと任意の関連する非ＶＣＬ  ＮＡＬユニットとを含む少なくとも１つのピクチャユニットを備える。マルチレイヤビデオデータは、たとえば、７２０ｐ解像度で符号化されたビデオを含むレイヤと、１０８０ｐ解像度で符号化されたビデオを含む異なるレイヤとを含み得る。他の例では、マルチプレーヤビデオデータは、異なるフレームレート、深度、または品質で符号化されたビデオを含むレイヤを含み得る。
【０１０４】
[0112]ステップ６０４において、プロセス６００は、フォーマットを使用してマルチレイヤビデオデータに関連付けられる出力ファイルを生成し得る。出力ファイルは、複数のトラックを含み得る。出力ファイルを生成することは、複数のトラックの各トラックがマルチレイヤビデオデータのせいぜい１つのレイヤを備えるという制約、および複数のトラックの各トラックがアグリゲータまたはエクストラクタの少なくとも一方を含まないという制約に従って出力ファイルを生成することを含み得る。以下でさらに説明されるように、アグリゲータは、ＮＡＬユニットの不規則なパターンを集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含む。同じく以下で説明されるように、エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含む。
【０１０５】
[0113]いくつかの実装形態では、プロセス６００は、サンプルエントリーの名前を出力ファイルに関連付けることをさらに含み得る。サンプルエントリーの名前は、出力ファイルにおける各トラックがせいぜい１つのレイヤを含むことを示し得る。場合によっては、サンプルエントリーの名前はまた、トラックがアグリゲータもエクストラクタも含まないことを示し得る。いくつかの実装形態では、識別子はファイルタイプであり得、ファイルタイプは出力ファイルに含まれ得る。たとえば、ファイルタイプは、「ＦｉｌｅＴｙｐｅＢｏｘ」と呼ばれるボックスで指定される「ｃｏｍｐａｔｉｂｌｅ＿ｂｒａｎｄｓ」と呼ばれるフィールドにおいて指定され得る。
【０１０６】
[0114]いくつかの実装形態では、プロセス６００は、トラックコンテンツ情報（ｔｃｏｎ）ボックスなしでファイルが生成されるという制約を含み得る。ｔｃｏｎボックスは、ファイルにおける各トラックがせいぜいオンレイヤを含むときに必要ではないことがある。
【０１０７】
[0115]いくつかの実装形態では、プロセス６００は、出力ファイルのためのオペレーティングポイント情報（ｏｉｎｆ）ボックスを生成することをさらに含み得る。ｏｉｎｆボックスは、マルチレイヤビデオデータにおいて利用可能なオペレーティングポイントのリストを含み得る。各オペレーティングポイントは、１つまたは複数のレイヤに関連付けられ得、ｏｉｎｆボックスは、ファイルにおけるどのトラックが各オペレーティングポイントのためのレイヤを含むかを示し得る。
【０１０８】
[0116]いくつかの実装形態では、マルチレイヤビデオデータは、レイヤのサブセットを含むことができ、レイヤのサブセットが、１つまたは複数の時間サブレイヤを含む。マルチレイヤビデオデータは、ビデオデータが異なるフレーム毎秒で符号化されているときに時間サブレイヤを含み得る。これらの実装形態では、プロセス６００は、そのような、各トラックがせいぜい１つのレイヤまたはレイヤの１つのサブセットを含むという制約に従って、出力ファイルを生成することを含み得る。
【０１０９】
[0117]図７は、上記で説明された様々な実装形態による、フォーマットされているビデオデータを復号するためのプロセス７００の一例を示す。様々な実装形態では、プロセス７００は、図１に示されるデコーダデバイス１１２など、コンピューティングデバイスまたは装置によって実行され得る。たとえば、コンピューティングデバイスまたは装置は、プロセス７００のステップを実行するように構成された、デコーダ、プレーヤ、またはデコーダもしくはプレーヤのプロセッサ、マイクロプロセッサ、マイクロコンピュータもしくは他の構成要素を含み得る。
【０１１０】
[0118]プロセス７００は、論理フロー図として示され、その動作は、ハードウェア、コンピュータ命令、またはそれらの組合せにおいて実施され得る動作のシーケンスを表す。コンピュータ命令の文脈では、動作は、１つまたは複数のプロセッサによって実行されたときに、記載された動作を実行する、１つまたは複数のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令を表す。概して、コンピュータ実行可能命令は、特定の機能を実行するか、または特定のデータ型を実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作が説明される順序は、限定的なものと解釈されることが意図されておらず、任意の数の説明される動作が、プロセスを実施するために任意の順序で、および／または並列に組み合わせられてよい。
【０１１１】
[0119]さらに、プロセス７００は、実行可能命令で構成された１つまたは複数のコンピュータシステムの制御下で実行され得、まとめて１つもしくは複数のプロセッサ上で、ハードウェアによって、またはそれらの組合せで実行されるコード（たとえば、実行可能命令、１つもしくは複数のコンピュータプログラム、または１つもしくは複数のアプリケーション）として実施され得る。上述のように、コードは、コンピュータ可読または機械可読記憶媒体に、たとえば、１つまたは複数のプロセッサによって実行可能な複数の命令を備えるコンピュータプログラムの形態で記憶され得る。コンピュータ可読または機械可読記憶媒体は非一時的であり得る。
【０１１２】
[0120]ステップ７０２において、プロセス７００は、マルチレイヤビデオデータに関連付けられる出力ファイルのサンプルエントリーの名前を処理し得る。マルチレイヤビデオデータは複数のレイヤを含むことができ、各レイヤが、少なくとも１つのビデオコーディングレイヤ（ＶＣＬ）ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと任意の関連する非ＶＣＬ  ＮＡＬユニットとを含む少なくとも１つのピクチャユニットを備える。出力ファイルは、複数のトラックを備え得る。
【０１１３】
[0121]ステップ７０４において、プロセス７００は、出力ファイルのサンプルエントリーの名前に基づいて、出力ファイルの複数のトラックの各トラックが複数のレイヤのうちのせいぜい１つのレイヤを備えると決定し得る。プロセス７００はさらに、複数のトラックの各々がアグリゲータまたはエクストラクタの少なくとも一方を含まないと決定し得る。上述のように、アグリゲータは、ＮＡＬユニットの不規則なパターンを集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含み、エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含む。
【０１１４】
[0122]いくつかの実装形態では、サンプルエントリーの名前は、出力ファイルに含まれるファイルタイプであり得る。たとえば、ファイルタイプは、「ＦｉｌｅＴｙｐｅＢｏｘ」と呼ばれるボックスで指定される「ｃｏｍｐａｔｉｂｌｅ＿ｂｒａｎｄｓ」と呼ばれるフィールドにおいて指定され得る。
【０１１５】
[0123]いくつかの実装形態では、出力ファイルは、トラックコンテンツ情報（ｔｃｏｎ）ボックスを含まなくてよい。これらの実装形態では、各トラックのコンテンツは、トラック自体において明示され得る。
【０１１６】
[0124]いくつかの実装形態では、出力ファイルは、各トラックのためのレイヤ識別子を含み得る。レイヤ識別子は、各トラックに含まれるレイヤを識別し得る。たとえば、レイヤ識別子は、７２０ｐ解像度で符号化されたビデオデータを含むレイヤを特定のトラックが含むことを示し得る。
【０１１７】
[0125]いくつかの実装形態では、出力ファイルは、オペレーティングポイント情報（ｏｉｎｆ）ボックスを含み得る。ｏｉｎｆボックスは、マルチレイヤビデオデータを含んだオペレーティングポイントのリストを含み得る。各オペレーティングポイントは、１つまたは複数のレイヤに関連付けられ得る。ｏｉｎｆボックスは、出力ファイルにおけるトラックのうちのどれが、各オペレーティングポイントに関連付けられるレイヤを含むかを示し得る。
【０１１８】
[0126]いくつかの実装形態では、マルチレイヤビデオデータは、レイヤのサブセットを含み得る。レイヤのサブセットは、１つまたは複数の時間サブレイヤ（たとえば、３０ｆｐｓまたは６０ｆｐｓの符号化）を含み得る。この実装形態では、出力ファイルにおけるトラックは、マルチレイヤビデオデータからのせいぜい１つのレイヤまたはレイヤの１つのサブセットを含み得る。
Ｉ．例示的な実施形態
[0127]上記で説明された様々な実装形態の例が、本セクションにおいて与えられる。これらの実装形態の文言では、文言の変更は、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｍｐｅｇ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１１１＿Ｇｅｎｅｖａ／ｗｇ１１／ｗ１５１８２−ｖ２−ｗ１５１８２．ｚｉｐで入手可能な「Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ  −  Ｐａｒｔ  １５：Ｃａｒｒｉａｇｅ  ｏｆ  ｎｅｔｗｏｒｋ  ａｂｓｔｒａｃｔｉｏｎ  ｌａｙｅｒ  （ＮＡＬ）  ｕｎｉｔ  ｓｔｒｕｃｔｕｒｅｄ  ｖｉｄｅｏ  ｉｎ  ｔｈｅ  ＩＳＯ  ｂａｓｅ  ｍｅｄｉａ  ｆｉｌｅ  ｆｏｒｍａｔ」、ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９、  ＩＳＯ／ＩＥＣ  ＦＤＩＳ  １４４９６−１５：２０１４（Ｅ）における文言に対する修正案を示す。具体的には、追加は下線付きの文言（追加の例）で示され、削除は取消し線
【０１１９】
【数１】
0006695907.tif 000002
【０１２０】
で示される。
Ａ．第１の例示的な実施形態
[0128]本セクションは、上記で説明された実装形態に対応するための詳細な修正について説明する。
【０１２１】
[0129]９．  ＳＨＶＣ／ＭＶ−ＨＥＶＣエレメンタリストリームおよびサンプルの定義。
【０１２２】
[0130]９．１  序論
[0131]この項は、ＳＨＶＣまたはＭＶ−ＨＥＶＣデータの記憶フォーマットを規定する。この項は、項８におけるＨＥＶＣの記憶フォーマットの定義を拡張する。ＨＶＣとＭＶ−ＨＥＶＣの両方は、同じ階層化設計を使用する。この項は、同じ階層化設計を使用するすべてのＨＥＶＣ拡張に、総称名、階層化ＨＥＶＣ（Ｌ−ＨＥＶＣ）を使用する。
【０１２３】
【数２】
0006695907.tif 000003
【０１２４】
[0142]ＡＶＣに適合するベースレイヤが任意のプレーンＡＶＣファイルフォーマットに準拠するリーダーによって使用され得るように、ＡＶＣに適合する方式でＬ−ＨＥＶＣビットストリームを記憶するための準備。
【０１２５】
[0143]Ｌ−ＨＥＶＣビットストリームは、レイヤの集合であり、各レイヤが、ビジュアルプレゼンテーションを品質、解像度、フレームレート、ビュー、深度などの点でスケーリングするのを助ける。Ｌ−ＨＥＶＣレイヤは、それらのレイヤ識別子（Ｌ−ｉｄ）によって識別され、レイヤ識別子は、ベースレイヤを含みベースレイヤに関連付けられるレイヤのセットの中で一意でなければならず、ベースレイヤは、「ｓｂａｓ」トラック参照によってリンクされたトラックに含まれる。
【０１２６】
[0144]関連レイヤの集合が、レイヤセットとして一緒にグループ化される。レイヤは、１つまたは複数のレイヤセットの要素であり得る。レイヤに属するＮＡＬユニットは、それらの時間識別子（Ｔ−ｉｄ）に基づいてさらに区分され得る。そのような各区分は、サブレイヤと呼ばれる。
【０１２７】
[0145]レイヤセットにおけるレイヤの１つ、いくつか、またはすべてが、出力のためにマークされ得る。出力レイヤセットは、出力レイヤが示されたレイヤセットである。出力レイヤセットは、いくつかの規定されたプロファイル、レベル、およびティアの制限に従う。両端を含めて０から選択された最大Ｔ−ｉｄ値までのＴ−ｉｄ値の範囲に関連付けられる出力レイヤセットは、オペレーティングポイントと呼ばれる。オペレーティングポイントは、サブビットストリーム抽出プロセスによって取得され得るＬ−ＨＥＶＣビットストリームの一部分を表す。あらゆる有効なオペレーティングポイントが、他のオペレーティングポイントとは無関係に復号され得る。
【０１２８】
【数３】
0006695907.tif 000004
【０１２９】
[0153]９．２  Ｌ−ＨＥＶＣ記憶の概要
【０１３０】
【数４】
0006695907.tif 000005
【０１３１】
[0155]９．３  Ｌ−ＨＥＶＣトラック構造
[0156]Ｌ−ＨＥＶＣストリームは、Ｌ−ＨＥＶＣビデオエレメンタリストリームの以下の定義とともに、８．２に従って記憶される。
【０１３２】
【数５】
0006695907.tif 000006
【０１３３】
[0158]９．４  プレーンＨＥＶＣファイルフォーマットの使用
[0159]Ｌ−ＨＥＶＣファイルフォーマットは、項８において定義されるプレーンＨＥＶＣファイルフォーマットの拡張である。Ｌ−ＨＥＶＣのベースレイヤは、ＨＥＶＣ仕様を使用してコーディングされる場合、この規格において規定されるようにＨＥＶＣファイルフォーマットに適合するべきである。
【０１３４】
[0160]９．５  プレーンＡＶＣファイルフォーマットの使用
[0161]Ｌ−ＨＥＶＣファイルフォーマットは、ＡＶＣエンコーダを使用してベースレイヤがコーディングされる、ハイブリッドコーデック構成をサポートする。Ｌ−ＨＥＶＣのベースレイヤは、ＡＶＣ仕様を使用してコーディングされる場合、この規格において規定されるようにＡＶＣファイルフォーマットに適合するべきである。
【０１３５】
[0162]９．６  サンプルおよび構成の定義
[0163]９．６．１  序論
[0164]Ｌ−ＨＥＶＣサンプルは、ピクチャユニットの集合であり、ピクチャユニットは、Ｌ−ＨＥＶＣアクセスユニットにおけるコーディングされたピクチャのＶＣＬ  ＮＡＬユニットおよび関連する非ＶＣＬ  ＮＡＬユニットを含む。アクセスユニットは、ＩＳＯ／ＩＥＣ  ２３００８−２において定義されている。トラックのサンプルは、トラックに含まれるレイヤのみのピクチャユニットを含む。
【０１３６】
[0165]１．６．２  標準的な順序および制約
[0166]項８．３．２における要件に加えて、以下の制約がＬ−ＨＥＶＣデータに適用される。
【０１３７】
[0167]・ＶＣＬ  ＮＡＬユニット：１つのアクセスユニット内の、トラックに含まれるレイヤに属するすべてのＶＣＬ  ＮＡＬユニットは、アクセスユニットによって表されるピクチャの合成時間と同じ合成時間を有するサンプルに含まれるべきである。エクストラクタの解決の後、Ｌ−ＨＥＶＣサンプルは、少なくとも１つのＶＣＬ  ＮＡＬユニットを含むべきである。
【０１３８】
【数６】
0006695907.tif 000007
【０１３９】
[0169]・ＡＶＣコーディングされたベースレイヤトラックの搬送：ＡＶＣコーディングされたベースレイヤは、常にそれ自体のトラックで搬送されるべきであり、この国際規格において規定されるようにＡＶＣサンプルで構成されるべきである。
【０１４０】
[0170]９．６．３  デコーダ構成記録
[0171]項８．３．３．１において定義されるデコーダ構成記録が、Ｌ−ＨＥＶＣストリームまたはＨＥＶＣストリームのいずれかとして解釈され得るストリームのために使用されるとき、ＨＥＶＣデコーダ構成記録は、ＨＥＶＣに適合するベースレイヤに適用されるべきであり、ＨＥＶＣベースレイヤを復号するために必要とされるパラメータセットのみを含むべきである。
【０１４１】
[0172]ＬＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄは、いくつかの追加のフィールドを除いて、ＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄと構造的に同様である。シンタックスは次の通りである。
【０１４２】
【数７】
0006695907.tif 000008
【０１４３】
[0173]ＬＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄおよびＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄに共通のフィールドのセマンティクスは、変わっていない。ＬＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄの追加のフィールドは、以下のセマンティクスを有する。
【０１４４】
[0174]ｃｏｍｐｌｅｔｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｏｎ：このフラグが設定されたとき、それは、符号化された情報の完全なセットの一部を形成するＬ−ＨＥＶＣビットストリームの部分をこのトラックが含むことを示す。このフラグが設定されていないトラックは、最初に符号化されたデータを一切失うことなく除去され得る。
【０１４５】
[0175]注意  トラックは、１より多い出力レイヤセットを表し得る。
【０１４６】
[0176]注意  トラックに含まれる補助ピクチャレイヤごとに、ｎａｌＵｎｉｔ内に、補助ピクチャレイヤの特性を明示する、深度補助ピクチャレイヤに関する深度表現情報ＳＥＩメッセージなど、宣言的ＳＥＩメッセージを含むＳＥＩ  ＮＡＬユニットを含めることが推奨される。
【０１４７】
[0177]  ｔｒａｃｋＬａｙｅｒＩｄ：このトラックに含まれるＶＣＬ  ＮＡＬＵのｎｕｈ＿ｌａｙｅｒ＿ｉｄの値を指定する。
【０１４８】
[0178]９．７  ＩＳＯベースメディアファイルフォーマットからの導出
[0179]９．７．１  Ｌ−ＨＥＶＣトラック構造
【０１４９】
【数８】
0006695907.tif 000009
【０１５０】
[0181]符号化された情報の完全なセットを全体としてみたとき含む、１つまたは複数のトラックの最小限のセットがある。すべてのこれらのトラックは、すべてのそれらのサンプルエントリーにおいて設定された、「ｃｏｍｐｌｅｔｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｏｎ」というフラグを有するべきである。完全な符号化された情報を形成するトラックのこのグループは、「完全なサブセット」と呼ばれる。完全な符号化された情報は、「完全なサブセット」に含まれるトラックが保持されるときは保持されてよく、すべての他のトラックは、完全なサブセットのサブセット、コピー、または並べ替えを表すべきである。
【０１５１】
[0182]最低のオペレーティングポイントを、０に等しいｎｕｈ＿ｌａｙｅｒ＿ｉｄのみと０に等しいＴｅｍｐｏｒａｌＩｄのみとを有するＮＡＬユニットを含むすべてのオペレーティングポイントの１つとする。所与のストリームに関して、最低のオペレーティングポイントを含むちょうど１つのトラックが、「スケーラブルベーストラック」として指名されるべきである。
【０１５２】
[0183]ＨＥＶＣコーディングされていないベースレイヤを有するＬ−ＨＥＶＣビットストリームの場合、ベースレイヤは、最低のオペレーティングポイントであり、常にそれ自体の１つのトラックを割り当てられ、ベーストラックとして指名される。同じストリームの部分であるすべての他のトラックが、タイプ「ｓｂａｓ」のトラック参照によって、それらのベーストラックにリンクされるべきである。
【０１５３】
[0184]同じスケーラブルベーストラックを共有するすべてのトラックが、そのスケーラブルベーストラックと同じ時間軸を共有しなければならない。
【０１５４】
[0185]トラックによって表されるレイヤが、レイヤ間予測参照のために別のトラックによって表される別のレイヤを使用する場合、タイプ「ｓｃａｌ」のトラック参照が、レイヤ間予測のためのソーストラックを参照するトラックに含まれるべきである。
【０１５５】
[0186]注意  Ｌ−ＨＥＶＣビットストリームの部分を含むトラックがファイルから除去される場合、除去されるトラックへの「ｓｃａｌ」および「ｓｂａｓ」トラック参照を含むトラックも除去されるべきである。
【０１５６】
[0187]ＡＶＣを使用してベースレイヤがコーディングされるとき、ベースレイヤトラックは、別個のパラメータセットトラックを使用せずに項５に従って構築されるべきである。
【０１５７】
【数９】
0006695907.tif 000010
【０１５８】
[0194]いくつかのトラックがアクセスユニットのためのデータを含む場合、トラック中のそれぞれのサンプルの整列が、サンプル復号時間に基づいて、すなわち、編集リストを考慮することなく時間対サンプルのテーブルのみを使用して、実行される。
【０１５９】
[0195]アクセスユニットは、ＩＳＯ／ＩＥＣ  ２３００８−２に適合した順序でＮＡＬユニットを並べることによって、必要とされるトラックの中のそれぞれのサンプルから再構築される。以下の順序は、サンプルから準拠するアクセスユニットを構築するための手順の説明的概略を提供する。
【０１６０】
[0196]・存在するとき、ビットストリーム終了ＮＡＬユニットを除く、０に等しいｎｕｈ＿ｌａｙｅｒ＿ｉｄを有するＶＣＬ  ＮＡＬユニットを伴う（ＩＳＯ／ＩＥＣ  ２３００８−２において規定されるような）ピクチャユニット。
【０１６１】
[0197]・ｎｕｈ＿ｌａｙｅｒ＿ｉｄ値の昇順による任意のそれぞれのサンプルからの（ＩＳＯ／ＩＥＣ  ２３００８−２において規定されるような）ピクチャユニット。
【０１６２】
[0198]・存在するとき、ビットストリーム終了ＮＡＬユニット。
【０１６３】
[0199]９．７．３  Ｌ−ＨＥＶＣビデオストリームの定義
[0200]９．７．３．１  サンプルエントリーの名前およびフォーマット
[0201]９．７．３．１．１  定義
【０１６４】
【数１０】
0006695907.tif 000011
【０１６５】
[0206]サンプルエントリーの名前が「ｌｈｖ１」であるとき、ａｒｒａｙ＿ｃｏｍｐｌｅｔｅｎｅｓｓのデフォルトの必須の値は、すべてのタイプのパラメータセットのアレイに対しては１であり、すべての他のアレイに対しては０である。サンプルエントリーの名前が「ｌｈｅ１」であるとき、ａｒｒａｙ＿ｃｏｍｐｌｅｔｅｎｅｓｓのデフォルトの値はすべてのアレイに対して０である。
【０１６６】
[0207]サンプルエントリーの名前が「ｌｈｅ１」であるとき、次のことが当てはまる。
【０１６７】
[0208]・ＩＳＯ／ＩＥＣ  ２３００８−２において定義されるような少なくとも１つのＩＲＡＰピクチャをサンプルが含む場合、ＩＲＡＰピクチャと、サンプルにおけるＩＲＡＰピクチャを含む各レイヤにおける復号順序による後続ピクチャとを復号するために必要とされる各パラメータセットが、このサンプルに存在するレイヤを搬送するトラックのサンプルエントリーの中またはそのサンプル自体（場合によってはエクストラクタを使用することによる）の中のいずれかに含まれるべきである。
【０１６８】
[0209]・それ以外の場合（サンプルがＩＲＡＰピクチャを含まない）、そのサンプルを復号するために必要とされる各パラメータセットが、このサンプルに存在するレイヤを搬送するトラックのサンプルエントリーの中、または両端を含めて少なくとも１つのＩＲＡＰピクチャを含む以前のサンプルからそのサンプル自体（場合によってはエクストラクタを使用することによる）までのサンプルのいずれかの中のいずれかに含まれるべきである。
【０１６９】
【数１１】
0006695907.tif 000012
【０１７０】
[0211]注意  ファイルを作成するとき、ＶＰＳベースにおけるＰＴＬ（すなわち、ＶＰＳにおける第１のＰＴＬ構造）が、ＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄに含まれるべきベースレイヤのＰＴＬよりも「大きい」かもしれないことに注意すべきである。むしろ、ＶＰＳ拡張における第１のＰＴＬ構造におけるＰＴＬ情報は、ＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄに含まれるべきものである。
【０１７１】
[0212]トラックのサンプルがＨＥＶＣベースレイヤを含まない場合、サンプルエントリータイプ「ｌｈｖ１」または「ｌｈｅ１」が使用されるべきであり、サンプルエントリーは、以下で定義されるようなＬ−ＨＥＶＣ構成ボックスを含むべきである。これは、この国際規格において定義されるような、ＬＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄを含む。
【０１７２】
[0213]同じベーストラックを共有するＬ−ＨＥＶＣトラックおよびＨＥＶＣトラックの任意の所与のサンプルエントリーにおけるＬ−ＨＥＶＣ構成およびＨＥＶＣ構成でのｌｅｎｇｔｈＳｉｚｅＭｉｎｕｓＯｎｅフィールドは、同じ値を有するべきである。
【０１７３】
【数１２】
0006695907.tif 000013
【０１７４】
[0217]次の表は、サンプルエントリーのすべての可能性のある使用法と、構成と、Ｌ−ＨＥＶＣツールとを、ビデオトラックについて示す。
【０１７５】
【表１】
0006695907.tif 000014
【０１７６】
[0218]９．７．３．１．２  シンタックス
【０１７７】
【数１３】
0006695907.tif 000015
【０１７８】
[0219]９．７．３．１．３  セマンティクス
[0220]サンプルエントリーが適用されるストリームが０よりも大きいｎｕｈ＿ｌａｙｅｒ＿ｉｄを有するＮＡＬユニットを含むとき、ベースクラスＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの中のＣｏｍｐｒｅｓｓｏｒｎａｍｅは、推奨されている、「＼０１４ＬＨＥＶＣ  Ｃｏｄｉｎｇ」という値とともに使用されるコンプレッサの名前を示す（＼０１４は１２であり、これは文字列「ＬＨＥＶＣ  Ｃｏｄｉｎｇ」のバイト単位の長さである）。
【０１７９】
[0221]９．７．４  Ｌ−ＨＥＶＣの視覚的な幅および高さ
【０１８０】
【数１４】
0006695907.tif 000016
【０１８１】
[0223]９．７．５  シンクサンプル
[0224]Ｌ−ＨＥＶＣサンプルは、アクセスユニット中のベースレイヤピクチャがＩＳＯ／ＩＥＣ  ２３００８−２において定義されるようなＩＲＡＰピクチャである場合、シンクサンプルとして見なされる。シンクサンプルはシンクサンプルテーブルによって記録され、ストリームアクセスポイント「ｓａｐ」サンプルグループによって追加で記録され得る。
【０１８２】
[0225]９．７．６  ストリームアクセスポイントサンプルグループ
[0226]「シンク」ボックスは、Ｌ−ＨＥＶＣメディアストリームにおいて可能なたった１つのタイプのランダムアクセスの指示を与える。可能な他のタイプのランダムアクセスが多くある。ＩＳＯ／ＩＥＣ  １４４９６−１２のＡｎｎｅｘ  Ｉは、異なるタイプのランダムアクセスについての重要な説明をしている。ランダムアクセスが可能であるビットストリームにおけるロケーションは、ストリームアクセスポイント（ＳＡＰ）と呼ばれる。Ａｎｎｅｘ  Ｉは、異なる特性を有する６つのタイプのＳＡＰを規定している。すべての異なるタイプのＳＡＰの情報を提供するために、ＩＳＯ／ＩＥＣ  １４４９６−１２において規定されるストリームアクセスサンプルグループ「ｓａｐ」が使用される。
【０１８３】
[0227]Ｌ−ＨＥＶＣの文脈で使用されるときの「ｓａｐ」サンプルグループ化は、ｌａｙｅｒ＿ｉｄ＿ｍｅｔｈｏｄ＿ｉｄｃ値を１に設定するべきである。
【０１８４】
[0228]フィールドｔａｒｇｅｔ＿ｌａｙｅｒｓは、長さが２８ビットである。フィールドにおける各ビットは、トラックにおいて搬送されるレイヤを表す。このフィールドは、長さがたった２８ビットであるので、トラックにおけるＳＡＰポイントの指示は、最大で２８個のレイヤに制限される。ＬＳＢから始まるこのフィールドの各ビットは、レイヤＩＤの昇順でトラックコンテンツ情報ボックス（「ｔｃｏｎ」）においてシグナリングされるレイヤＩＤのリストにマッピングされるべきである。
【０１８５】
[0229]たとえば、トラックが、レイヤＩＤ４、１０、および２９を有するレイヤを搬送する場合、レイヤＩＤ４は最下位ビットにマッピングされ、レイヤＩＤ１０は２番目の下位ビットにマッピングされ、レイヤＩＤ２９は３番目の下位ビットにマッピングする。ビットにおける１つの値は、サンプルにおいて、マッピングされたレイヤが、何らかのタイプのＳＡＰであるピクチャを有することをシグナリングする。前述の例では、以下の表がレイヤ固有のＳＡＰ情報の一例を与える。
【０１８６】
【表２】
0006695907.tif 000017
【０１８７】
[0230]タイプは、ＳａｍｐｌｅＴｏＧｒｏｕｐボックスにおけるサンプルのｇｒｏｕｐ＿ｄｅｓｃｒｉｐｔｉｏｎ＿ｉｎｄｅｘに従うことによって解決される。
【０１８８】
[0231]９．７．７  ランダムアクセス復元ポイントおよびランダムアクセスポイントについてのサンプルグループ
【０１８９】
【数１５】
0006695907.tif 000018
【０１９０】
[0235]９．７．８  独立の使い捨て（disposable）サンプルボックス
[0236]ＨＥＶＣとＬ−ＨＥＶＣの両方に適合するトラックにおいて独立の使い捨てサンプルボックスが使用される場合、Ｌ−ＨＥＶＣデータのどの有効なサブセット（場合によってはＨＥＶＣデータのみ）が使用されても、このボックスによって提供される情報が真であることに、注意が払われなければならない。情報が変化する場合、「未知」の値（フィールドｓａｍｐｌｅ−ｄｅｐｅｎｄｓ−ｏｎ、ｓａｍｐｌｅ−ｉｓ−ｄｅｐｅｎｄｅｄ−ｏｎ、およびｓａｍｐｌｅ−ｈａｓ−ｒｅｄｕｎｄａｎｃｙの値０）が必要とされ得る。
【０１９１】
[0237]９．７．９  Ｌ−ＨＥＶＣのためのサブサンプルの定義
[0238]この項は、８．４．８におけるＨＥＶＣのサブサンプルの定義を拡張する。
【０１９２】
[0239]Ｌ−ＨＥＶＣストリームにおけるサブサンプル情報ボックス（ＩＳＯ／ＩＥＣ  １４４９６−１２の項８．７．７）の使用のために、以下で規定されるように、サブサンプル情報ボックスのフラグの値に基づいて、サブサンプルが定義される。このボックスの存在は任意選択であるが、Ｌ−ＨＥＶＣデータを含むトラックにおいて存在する場合、ここで定義されるセマンティクスを有するべきである。
【０１９３】
【数１６】
0006695907.tif 000019
【０１９４】
[0244]ｓｕｂｓａｍｐｌｅ＿ｐｒｉｏｒｉｔｙフィールドおよび廃棄可能フィールドは、８．４．８において規定されるように設定されるべきである。
【０１９５】
[0245]ＮＡＬユニットの最初のバイトがサブサンプルに含まれるとき、先行する長さフィールドも同じサブサンプルに含まれなければならない。
【０１９６】
【数１７】
0006695907.tif 000020
【０１９７】
[0246]ＳｕｂＬａｙｅｒＲｅｆＮａｌＵｎｉｔＦｌａｇ、ＲａｐＮａｌＵｎｉｔＦｌａｇ、ＶｃｌＮａｌＵｎｉｔＦｌａｇ、ｖｃｌ＿ｉｄｃ、ｌｏｇ２＿ｍｉｎ＿ｌｕｍａ＿ｃｔｂ、ｃｔｂ＿ｘ、およびｃｔｂ＿ｙのセマンティクスは、８．４．８の場合と同じである。
【０１９８】
[0247]  ＤｉｓｃａｒｄａｂｌｅＦｌａｇは、サブサンプル中のＶＣＬ  ＮＡＬユニットのｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇの値を示す。サブサンプル中のすべてのＶＣＬ  ＮＡＬユニットは、同じｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇの値を有するべきである。
【０１９９】
[0248]注意  これは、サブサンプル情報ボックスにおける廃棄可能フィールドと同じ定義ではない。
【０２００】
[0249]  ＮｏＩｎｔｅｒＬａｙｅｒＰｒｅｄＦｌａｇは、サブサンプル中のＶＣＬ  ＮＡＬユニットのｉｎｔｅｒ＿ｌａｙｅｒ＿ｐｒｅｄ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値を示す。サブサンプル中のすべてのＶＣＬ  ＮＡＬユニットは、同じ値のｉｎｔｅｒ＿ｌａｙｅｒ＿ｐｒｅｄ＿ｅｎａｂｌｅｄ＿ｆｌａｇを有するべきである。
【０２０１】
【数１８】
0006695907.tif 000021
【０２０２】
[0253]９．７．１０  非出力サンプルの処理
[0254]８．４．９において規定されるものは、複数のレイヤが関わるときに常に適用可能であるとは限らない。８．４．９において規定されるものに従うことができない場合、サンプルは廃棄され、以前のサンプルの持続時間が拡張されて、後続サンプルが正しい合成タイミングを有するようになる。
【０２０３】
[0255]９．７．１１  ハイブリッドコーデックスケーラビリティの指示
[0256]マルチレイヤＨＥＶＣビットストリームが外部のベースレイヤを使用するとき（すなわち、ＨＥＶＣビットストリームのアクティブなＶＰＳが、０に等しいｖｐｓ＿ｂａｓｅ＿ｌａｙｅｒ＿ｉｎｔｅｒｎａｌ＿ｆｌａｇと１に等しいｖｐｓ＿ｂａｓｅ＿ｌａｙｅｒ＿ａｖａｉｌａｂｌｅ＿ｆｌａｇとを有するとき）、「ｌｈｖｃ」に等しいａｕｘ＿ｉｎｆｏ＿ｔｙｐｅと０に等しいａｕｘ＿ｉｎｆｏ＿ｔｙｐｅ＿ｐａｒａｍｅｔｅｒとを有するサンプル補助情報が、レイヤ間予測のために参照として外部のベースレイヤを使用し得るトラックに対して提供されるべきである。サンプル補助情報の記憶は、ＩＳＯ／ＩＥＣ  １４４９６−１２に適合するべきである。
【０２０４】
[0257]「ｌｈｖｃ」に等しいａｕｘ＿ｉｎｆｏ＿ｔｙｐｅを有するサンプル補助情報のシンタックスは、次の通りである。
【０２０５】
【数１９】
0006695907.tif 000022
【０２０６】
[0258]「ｌｈｖｃ」に等しいａｕｘ＿ｉｎｆｏ＿ｔｙｐｅを有するサンプル補助情報のセマンティクスは、以下で規定される。セマンティクスでは、現在サンプルという用語は、このサンプル補助情報が関連付けられ、サンプルの復号のために提供されるべき、サンプルを指す。
【０２０７】
[0259]  ０に等しいｂｌ＿ｐｉｃ＿ｕｓｅｄ＿ｆｌａｇは、復号されたベースレイヤピクチャが現在サンプルの復号に使用されることはないことを規定する。１に等しいｂｌ＿ｐｉｃ＿ｕｓｅｄ＿ｆｌａｇは、復号されたベースレイヤピクチャが現在サンプルの復号に使用され得ることを規定する。
【０２０８】
[0260]  ｂｌ＿ｉｒａｐ＿ｐｉｃ＿ｆｌａｇは、ｂｌ＿ｐｉｃ＿ｕｓｅｄ＿ｆｌａｇが１に等しいときに、関連する復号されたピクチャに関して、その復号されたピクチャが現在サンプルの復号のために復号されたベースレイヤピクチャとして提供されるときの、ＢｌＩｒａｐＰｉｃＦｌａｇ変数の値を指定する。
【０２０９】
[0261]  ｂｌ＿ｉｒａｐ＿ｎａｌ＿ｕｎｉｔ＿ｔｙｐｅは、ｂｌ＿ｐｉｃ＿ｕｓｅｄ＿ｆｌａｇが１に等しく、ｂｌ＿ｉｒａｐ＿ｐｉｃ＿ｆｌａｇが１に等しいときに、関連する復号されたピクチャに関して、その復号されたピクチャが現在サンプルの復号のために復号されたベースレイヤピクチャとして提供されるときの、ｎａｌ＿ｕｎｉｔ＿ｔｙｐｅシンタックス要素の値を指定する。
【０２１０】
[0262]  ｓａｍｐｌｅ＿ｏｆｆｓｅｔは、ｂｌ＿ｐｉｃ＿ｕｓｅｄ＿ｆｌａｇが１に等しいときに、リンクされたトラックにおける関連サンプルの相対インデックスを与える。リンクされたトラックにおける関連サンプルの復号から生じる復号されたピクチャは、現在サンプルの復号のために提供されるべき関連する復号されたピクチャである。０に等しいｓａｍｐｌｅ＿ｏｆｆｓｅｔは、関連サンプルが、現在サンプルの復号時間と比較して同じ復号時間または最も近い先行する復号時間を有することを規定し、１に等しいｓａｍｐｌｅ＿ｏｆｆｓｅｔは、関連サンプルが、０に等しいｓａｍｐｌｅ＿ｏｆｆｓｅｔの場合に導出された関連サンプルに対して次のサンプルであることを規定し、−１に等しいｓａｍｐｌｅ＿ｏｆｆｓｅｔは、関連サンプルが、０に等しいｓａｍｐｌｅ＿ｏｆｆｓｅｔの場合に導出された関連サンプルに対して前のサンプルであることを規定し、以下同様である。
【０２１１】
[0263]９．８  Ｌ−ＨＥＶＣ固有の情報ボックス
[0264]以下のボックスは、Ｌ−ＨＥＶＣエレメンタリストリームの複数のレイヤに関係する情報を明示する。Ｌ−ＨＥＶＣエレメンタリストリームには、出力のために選択され得る複数のレイヤがあり得るので、これらのボックスで搬送される情報は、任意の単一のトラックに固有のものではない。
【０２１２】
[0265]９．８．１  オペレーティングポイント情報ボックス（「ｏｉｎｆ」）
[0266]９．８．１．１  定義
[0267]ボックスタイプ：  「ｏｉｎｆ」
[0268]コンテナ：  「ｏｒｅｆ」タイプ参照トラックのＭｅｄｉａＩｎｆｏｒｍａｔｉｏｎＢｏｘ（「ｍｉｎｆ」）
[0269]必須性：  Ｌ−ＨＥＶＣビットストリームのたった１つのトラックにおいて必須
[0270]量：  １つ
[0271]オペレーティングポイント情報ボックス（「ｏｉｎｆ」）を使用することによって、異なるオペレーティングポイントおよびそれらの構造に関して適用例が知らされる。各オペレーティングポイントは、出力レイヤセット、最大Ｔ−ＩＤ値、ならびにプロファイル、レベルおよびティアのシグナリングに関係する。これらの情報はすべて、「ｏｉｎｆ」ボックスによって捕捉される。これらの情報以外に、このボックスはまた、レイヤ間の依存性情報と、Ｌ−ＨＥＶＣビットストリームにおいてコーディングされるスケーラビリティのタイプと、所与のスケーラビリティタイプの場合の任意の特定のレイヤに関係する次元識別子とを提供する。
【０２１３】
[0272]共通の「ｓｂａｓ」トラック参照を有するＬ−ＨＥＶＣトラックまたはＨＥＶＣトラックのセットの場合、このセットの中に、「ｏｉｎｆ」ボックスを搬送するたった１つのトラックがあるべきである。共通の「ｓｂａｓ」参照トラックを有するすべてのトラックは、「ｏｉｎｆ」ボックスを搬送するトラックへのタイプ「ｏｒｅｆ」のトラック参照を有するべきである。
【０２１４】
[0273]このボックスが存在するとき、トラックにはたった１つのＶＰＳがあるべきである。
【０２１５】
[0274]９．８．１．２  シンタックス
【０２１６】
【数２０−１】
0006695907.tif 000023
【０２１７】
【数２０−２】
0006695907.tif 000024
【０２１８】
[0275]９．８．１．３  セマンティクス
[0276]  ｓｃａｌａｂｉｌｉｔｙ＿ｍａｓｋ：このフィールドは、このボックスが関連付けられるベーストラック（すなわち、このトラックまたは「ｓｂａｓ」参照によって指されるトラックのいずれか）に関係するすべてのレイヤによって表されるスケーラビリティタイプを示す。ｓｃａｌａｂｉｌｉｔｙ＿ｍａｓｋフィールドにおける各ビットは、ＩＳＯ／ＩＥＣ  ２３００８−２において定義されるようなＶＰＳ拡張シンタックスのｓｃａｌａｂｉｌｉｔｙ＿ｍａｓｋ＿ｆｌａｇにおいてコーディングされるスケーラビリティ次元を示す。ビット位置における１は、スケーラビリティ次元が存在することを示す。
【０２１９】
[0277]  ｎｕｍ＿ｐｒｏｆｉｌｅ＿ｔｉｅｒ＿ｌｅｖｅｌ：以下のプロファイル、ティア、およびレベルの組合せならびに関連するフィールドの数を与える。
【０２２０】
[0278]  ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅ、ｇｅｎｅｒａｌ＿ｔｉｅｒ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｉｄｃ、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｃｏｍｐａｔｉｂｉｌｉｔｙ＿ｆｌａｇｓ、ｇｅｎｅｒａｌ＿ｃｏｎｓｔｒａｉｎｔ＿ｉｎｄｉｃａｔｏｒ＿ｆｌａｇｓ、およびｇｅｎｅｒａｌ＿ｌｅｖｅｌ＿ｉｄｃがＩＳＯ／ＩＥＣ  ２３００８−２において定義されている。
【０２２１】
[0279]  ｎｕｍ＿ｏｐｅｒａｔｉｎｇ＿ｐｏｉｎｔｓ：情報が後にくるオペレーティングポイントの数を与える。
【０２２２】
[0280]  ｏｕｔｐｕｔ＿ｌａｙｅｒ＿ｓｅｔ＿ｉｄｘは、オペレーティングポイントを定義する出力レイヤセットのインデックスである。ｏｕｔｐｕｔ＿ｌａｙｅｒ＿ｓｅｔ＿ｉｄｘとｌａｙｅｒ＿ｉｄ値との間のマッピングは、インデックスｏｕｔｐｕｔ＿ｌａｙｅｒ＿ｓｅｔ＿ｉｄｘを有する出力レイヤセットに関してＶＰＳによって規定されるものと同じであるべきである。
【０２２３】
[0281]  ｍａｘ＿ｔｅｍｐｏｒａｌ＿ｉｄ：このオペレーティングポイントのＮＡＬユニットの最大ＴｅｍｐｏｒａｌＩｄを与える。
【０２２４】
[0282]  ｌａｙｅｒ＿ｃｏｕｎｔ：このフィールドは、このオペレーティングポイントの、ＩＳＯ／ＩＥＣ  ２３００８−２において定義されるような必要なレイヤの数を示す。
【０２２５】
[0283]  ｐｔｌ＿ｉｄｘ：ｌａｙｅｒ＿ｉｄに等しい識別子を有するレイヤに関する記載されたプロファイル、レベル、およびティアのフラグの１に基づくインデックスをシグナリングする。あるレイヤに関してｐｔｌ＿ｉｄｘの値がゼロに等しいとき、そのレイヤは、シグナリングされるプロファイル、レベル、およびティアを有しないと仮定されるものとし、そのレイヤは、出力レイヤまたはオペレーティングポイントの任意の出力レイヤの直接もしくは間接参照レイヤであるレイヤではないものとする。
【０２２６】
[0284]  ｌａｙｅｒ＿ｉｄ：オペレーティングポイントのレイヤに関するレイヤＩＤ値を提供する。
【０２２７】
[0285]  ｉｓ＿ｏｕｔｐｕｔｌａｙｅｒ：レイヤが出力レイヤであるかどうかを示すフラグ。１は、出力レイヤを示す。
【０２２８】
[0286]  ｉｓ＿ａｌｔｅｒｎａｔｅ＿ｏｕｔｐｕｔｌａｙｅｒ：このフラグはセットされたときに、このレイヤがこのオペレーティングポイントに関する代替出力レイヤとして見なされ得ることを示す。このフラグは、オペレーティングポイントにおける１つのレイヤがそれのｉｓ＿ｏｕｔｐｕｔｌａｙｅｒフラグセットを有する場合にのみ、１に設定される。
【０２２９】
[0287]  ｍｉｎＰｉｃＷｉｄｔｈは、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２におけるｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓパラメータによって定義されるようなルーマ幅インジケータの最小値を指定する。
【０２３０】
[0288]  ｍｉｎＰｉｃＨｅｉｇｈｔは、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２におけるｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓパラメータによって定義されるようなルーマ高さインジケータの最小値を指定する。
【０２３１】
[0289]  ｍａｘＰｉｃＷｉｄｔｈは、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２におけるｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓパラメータによって定義されるようなルーマ幅インジケータの最大値を指定する。
【０２３２】
[0290]  ｍａｘＰｉｃＨｅｉｇｈｔは、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２におけるｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓパラメータによって定義されるようなルーマ高さインジケータの最大値を指定する。
【０２３３】
[0291]  ｍａｘＣｈｒｏｍａＦｏｒｍａｔは、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２におけるｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃパラメータによって定義されるようなｃｈｒｏｍａ＿ｆｏｒｍａｔインジケータの最大値を指定する。
【０２３４】
[0292]  ｍａｘＢｉｔＤｅｐｔｈＭｉｎｕｓ８は、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２における、それぞれｂｉｔ＿ｄｅｐｔｈ＿ｌｕｍａ＿ｍｉｎｕｓ８パラメータおよびｂｉｔ＿ｄｅｐｔｈ＿ｃｈｒｏｍａ＿ｍｉｎｕｓ８パラメータによって定義されるようなルーマビット深度インジケータおよびクロムビット深度インジケータの最大値を指定する。
【０２３５】
[0293]  ０に等しいｆｒａｍｅ＿ｒａｔｅ＿ｉｎｆｏ＿ｆｌａｇは、オペレーティングポイントに関してフレームレート情報が存在しないことを示す。値１は、オペレーティングポイントに関してフレームレート情報が存在することを示す。
【０２３６】
[0294]  ０に等しいｂｉｔ＿ｒａｔｅ＿ｉｎｆｏ＿ｆｌａｇは、オペレーティングポイントに関してビットレート情報が存在しないことを示す。値１は、オペレーティングポイントに関してビットレート情報が存在することを示す。
【０２３７】
[0295]  ａｖｇＦｒａｍｅＲａｔｅは、オペレーティングポイントに対して、平均のフレームレートをフレーム／（２５６秒）の単位で与える。値０は、指定されていない平均フレームレートを示す。
【０２３８】
[0296]  １に等しいｃｏｎｓｔａｎｔＦｒａｍｅＲａｔｅは、オペレーティングポイントのストリームのフレームレートが一定であることを示す。値２は、オペレーティングポイントのストリーム中の各時間レイヤの表現のフレームレートが一定であることを示す。値０は、オペレーティングポイントのストリームのフレームレートが一定であることも一定ではないこともあることを示す。
【０２３９】
[0297]  ｍａｘＢｉｔＲａｔｅは、１秒の任意のウィンドウに対する、オペレーティングポイントのストリームのビット／秒での最大ビットレートを与える。
【０２４０】
[0298]  ａｖｇＢｉｔＲａｔｅは、オペレーティングポイントのストリームのビット／秒での平均ビットレートを与える。
【０２４１】
[0299]  ｍａｘ＿ｌａｙｅｒ＿ｃｏｕｎｔ：この関連するベーストラックに関係するオペレーティングポイントのすべてにおけるすべての一意のレイヤのカウント。
【０２４２】
【数２１】
0006695907.tif 000025
【０２４３】
[0304]  ｄｉｍｅｎｓｉｏｎ＿ｉｄｅｎｔｉｆｉｅｒ：ＩＳＯ／ＩＥＣ  ２３００８−２において定義されるようなＶＰＳ拡張シンタックスにおいて指定されるようなｄｉｍｅｎｓｉｏｎ＿ｉｄフィールドの値に設定する。
【０２４４】
【数２２】
0006695907.tif 000026
【０２４５】
Ｂ．第２の例示的な実施形態
[0318]本セクションは、上記で説明された様々な実装形態に対応するための修正について説明する。
【０２４６】
[0319]９．  ＳＨＶＣ／ＭＶ−ＨＥＶＣエレメンタリストリームおよびサンプルの定義。
【０２４７】
[0320]９．１  序論
[0321]この項は、ＳＨＶＣまたはＭＶ−ＨＥＶＣデータの記憶フォーマットを規定する。この項は、項８におけるＨＥＶＣの記憶フォーマットの定義を拡張する。ＨＶＣとＭＶ−ＨＥＶＣの両方は、同じ階層化設計を使用する。この項は、同じ階層化設計を使用するすべてのＨＥＶＣ拡張に、総称名、階層化ＨＥＶＣ（Ｌ−ＨＥＶＣ）を使用する。
【０２４８】
[0322]この項およびＡｎｎｅｘ  Ａ〜Ａｎｎｅｘ  Ｄにおいて定義されるような、Ｌ−ＨＥＶＣコンテンツの記憶のためのファイルフォーマットは、ＩＳＯベースメディアファイルフォーマットおよびプレーンＨＥＶＣファイルフォーマット（すなわち、項８において規定されるファイルフォーマット）の既存の能力を使用する。加えて、Ｌ−ＨＥＶＣ固有の特徴をサポートするために、とりわけ以下の構造または拡張が使用される。
【０２４９】
[0323]ａ）アグリゲータ：
[0324]ＮＡＬユニットの不規則なパターンを集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットの効率的なスケーラブルグループ化を可能にするための構造。
【０２５０】
[0325]ｂ）注意：ＡＶＣ／ＳＶＣ／ＭＶＣのためのアグリゲータと比較して、Ｌ−ＨＥＶＣアグリゲータにおけるＮＡＬユニットヘッダシンタックス要素のシンタックスおよびセマンティクスは修正されており、アグリゲータの範囲は制限されている。
【０２５１】
[0326]ｃ）エクストラクタ：
[0327]メディアデータを含むトラック以外のトラックからのＮＡＬユニットの効率的な抽出を可能にするための構造。
【０２５２】
[0328]注意：ＡＶＣ／ＳＶＣ／ＭＶＣのためのエクストラクタと比較して、Ｌ−ＨＥＶＣエクストラクタのＮＡＬユニットヘッダのシンタックスおよびセマンティクスは修正されている。
【０２５３】
[0329]ｄ）ＨＥＶＣ適合性：
[0330]ＨＥＶＣに適合するベースレイヤが任意のプレーンＨＥＶＣファイルフォーマットに準拠するリーダーによって使用され得るように、ＨＥＶＣに適合する方式でＬ−ＨＥＶＣビットストリームを記憶するための準備。
【０２５４】
[0331]ｅ）ＡＶＣ適合性
[0332]ＡＶＣに適合するベースレイヤが任意のプレーンＡＶＣファイルフォーマットに準拠するリーダーによって使用され得るように、ＡＶＣに適合する方式でＬ−ＨＥＶＣビットストリームを記憶するための準備。
【０２５５】
[0333]Ｌ−ＨＥＶＣビットストリームは、レイヤの集合であり、各レイヤが、ビジュアルプレゼンテーションを品質、解像度、フレームレート、ビュー、深度などの点でスケーリングするのを助ける。Ｌ−ＨＥＶＣレイヤは、それらのレイヤ識別子（Ｌ−ｉｄ）によって識別され、レイヤ識別子は、ベースレイヤを含みベースレイヤに関連付けられるレイヤのセットの中で一意でなければならず、ベースレイヤは、「ｓｂａｓ」トラック参照によってリンクされたトラックに含まれる。
【０２５６】
[0334]関連レイヤの集合が、レイヤセットとして一緒にグループ化される。レイヤは、１つまたは複数のレイヤセットの要素であり得る。レイヤに属するＮＡＬユニットは、それらの時間識別子（Ｔ−ｉｄ）に基づいてさらに区分され得る。そのような各区分は、サブレイヤと呼ばれる。
【０２５７】
[0335]レイヤセットにおけるレイヤの１つ、いくつか、またはすべてが、出力のためにマークされ得る。出力レイヤセットは、出力レイヤが示されたレイヤセットである。出力レイヤセットは、いくつかの規定されたプロファイル、レベル、およびティアの制限に従う。両端を含めて０から選択された最大Ｔ−ｉｄ値までのＴ−ｉｄ値の範囲に関連付けられる出力レイヤセットは、オペレーティングポイントと呼ばれる。オペレーティングポイントは、サブビットストリーム抽出プロセスによって取得され得るＬ−ＨＥＶＣビットストリームの一部分を表す。あらゆる有効なオペレーティングポイントが、他のオペレーティングポイントとは無関係に復号され得る。
【０２５８】
[0336]Ｌ−ＨＥＶＣのサポートは、いくつかのツールを含み、それらがどのように使用され得るかの様々な「モデル」がある。具体的には、Ｌ−ＨＥＶＣストリームは、いくつかの方法でトラックに配置されてよく、以下がそれらの方法の一部である。
【０２５９】
【数２３】
0006695907.tif 000027
【０２６０】
[0343]９．２  Ｌ−ＨＥＶＣ記憶の概要
【０２６１】
【数２４】
0006695907.tif 000028
【０２６２】
[0345]９．３  Ｌ−ＨＥＶＣトラック構造
[0346]Ｌ−ＨＥＶＣストリームは、Ｌ−ＨＥＶＣビデオエレメンタリストリームの以下の定義とともに、８．２に従って記憶される。
【０２６３】
【数２５】
0006695907.tif 000029
【０２６４】
[0348]９．４  プレーンＨＥＶＣファイルフォーマットの使用
[0349]Ｌ−ＨＥＶＣファイルフォーマットは、項８において定義されるプレーンＨＥＶＣファイルフォーマットの拡張である。Ｌ−ＨＥＶＣのベースレイヤは、ＨＥＶＣ仕様を使用してコーディングされる場合、この規格において規定されるようにＨＥＶＣファイルフォーマットに適合するべきである。
【０２６５】
[0350]９．５  プレーンＡＶＣファイルフォーマットの使用
[0351]Ｌ−ＨＥＶＣファイルフォーマットは、ＡＶＣエンコーダを使用してベースレイヤがコーディングされる、ハイブリッドコーデック構成をサポートする。Ｌ−ＨＥＶＣのベースレイヤは、ＡＶＣ仕様を使用してコーディングされる場合、この規格において規定されるようにＡＶＣファイルフォーマットに適合するべきである。
【０２６６】
[0352]９．６  サンプルおよび構成の定義
[0353]９．６．１  序論
[0354]Ｌ−ＨＥＶＣサンプルは、ピクチャユニットの集合であり、ピクチャユニットは、Ｌ−ＨＥＶＣアクセスユニットにおけるコーディングされたピクチャのＶＣＬ  ＮＡＬユニットおよび関連する非ＶＣＬ  ＮＡＬユニットを含む。アクセスユニットは、ＩＳＯ／ＩＥＣ  ２３００８−２において定義されている。トラックのサンプルは、トラックに含まれるレイヤのみのピクチャユニットを含む。
【０２６７】
[0355]９．６．２  標準的な順序および制約
[0356]項８．３．２における要件に加えて、以下の制約がＬ−ＨＥＶＣデータに適用される。
【０２６８】
[0357]・ＶＣＬ  ＮＡＬユニット：１つのアクセスユニット内の、トラックに含まれるレイヤに属するすべてのＶＣＬ  ＮＡＬユニットは、アクセスユニットによって表されるピクチャの合成時間と同じ合成時間を有するサンプルに含まれるべきである。エクストラクタの解決の後、Ｌ−ＨＥＶＣサンプルは、少なくとも１つのＶＣＬ  ＮＡＬユニットを含むべきである。
【０２６９】
[0358]・アグリゲータ／エクストラクタ：各アグリゲータは、ピクチャユニットに属するＮＡＬユニットのみを集約することが許容される。アグリゲータに含まれる、またはエクストラクタによって参照されるすべてのＮＡＬユニットの順序は、これらのＮＡＬユニットがアグリゲータ／エクストラクタを含まないサンプルに存在しているかのように、復号順序とまったく同じである。アグリゲータまたはエクストラクタを処理した後で、すべてのＮＡＬユニットが、ＩＳＯ／ＩＥＣ  ２３００８−２において規定されるような有効な復号順序でなければならない。
【０２７０】
[0359]・ＡＶＣコーディングされたベースレイヤトラックの搬送ＡＶＣコーディングされたベースレイヤは、常にそれ自体のトラックで搬送されるべきであり、この国際規格において規定されるようにＡＶＣサンプルで構成されるべきである。
【０２７１】
[0360]９．６．３  デコーダ構成記録
[0361]項８．３．３．１において定義されるデコーダ構成記録が、Ｌ−ＨＥＶＣストリームまたはＨＥＶＣストリームのいずれかとして解釈され得るストリームのために使用されるとき、ＨＥＶＣデコーダ構成記録は、ＨＥＶＣに適合するベースレイヤに適用されるべきであり、ＨＥＶＣベースレイヤを復号するために必要とされるパラメータセットのみを含むべきである。
【０２７２】
[0362]ＬＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄは、いくつかの追加のフィールドを除いて、ＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄと構造的に同様である。シンタックスは次の通りである。
【０２７３】
【数２６】
0006695907.tif 000030
【０２７４】
[0363]ＬＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄおよびＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄに共通のフィールドのセマンティクスは、変わっていない。ＬＨＥＶＣＤｅｃｏｄｅｒＣｏｎｆｉｇｕｒａｔｉｏｎＲｅｃｏｒｄの追加のフィールドは、以下のセマンティクスを有する。
【０２７５】
[0364]  ｃｏｍｐｌｅｔｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｏｎ：このフラグが設定されたとき、それは、符号化された情報の完全なセットの一部を形成するＬ−ＨＥＶＣビットストリームの部分をこのトラックが含むことを示す。このフラグが設定されていないトラックは、最初に符号化されたデータを一切失うことなく除去され得る。
【０２７６】
[0365]注意  トラックは、２つ以上の出力レイヤセットを表し得る。
【０２７７】
[0366]注意  トラックに含まれる補助ピクチャレイヤごとに、ｎａｌＵｎｉｔ内に、補助ピクチャレイヤの特性を明示する、深度補助ピクチャレイヤに関する深度表現情報ＳＥＩメッセージなど、宣言的ＳＥＩメッセージを含むＳＥＩ  ＮＡＬユニットを含めることが推奨される。
【０２７８】
[0367]  ｔｒａｃｋＬａｙｅｒＩｄ：このトラックに含まれるＶＣＬ  ＮＡＬＵのｎｕｈ＿ｌａｙｅｒ＿ｉｄの値を指定する。
【０２７９】
[0368]  ｐｔｌＩｄｘ：このトラックに含まれるレイヤに関する記載されたプロファイル、レベル、およびティアのフラグの１に基づくインデックスをシグナリングする。ｐｔｌＩｄｘの値がゼロに等しいとき、トラックに含まれるレイヤは、シグナリングされるプロファイル、レベル、およびティアを有しないと仮定されるものとし、そのレイヤは、出力レイヤまたはオペレーティングポイントの任意の出力レイヤの直接もしくは間接参照レイヤであるレイヤではないものとする。ｎｕｍ＿ｓｉｇｎａｌｌｅｄ＿ｏｐｅｒａｔｉｎｇ＿ｐｏｉｎｔｓが０に等しいとき、ｐｔｌＩｄｘの値は０に等しくないものとする。
【０２８０】
【数２７】
0006695907.tif 000031
【０２８１】
[0369]  ｍｉｎＰｉｃＷｉｄｔｈは、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２におけるｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓパラメータによって定義されるようなルーマ幅インジケータの最小値を指定する。
【０２８２】
[0370]  ｍｉｎＰｉｃＨｅｉｇｈｔは、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２におけるｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓパラメータによって定義されるようなルーマ高さインジケータの最小値を指定する。
【０２８３】
[0371]  ｍａｘＰｉｃＷｉｄｔｈは、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２におけるｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓパラメータによって定義されるようなルーマ幅インジケータの最大値を指定する。
【０２８４】
[0372]  ｍａｘＰｉｃＨｅｉｇｈｔは、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２におけるｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓパラメータによって定義されるようなルーマ高さインジケータの最大値を指定する。
【０２８５】
[0373]  ｍａｘＣｈｒｏｍａＦｏｒｍａｔは、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２におけるｃｈｒｏｍａ＿ｆｏｒｍａｔ＿ｉｄｃパラメータによって定義されるようなｃｈｒｏｍａ＿ｆｏｒｍａｔインジケータの最大値を指定する。
【０２８６】
[0374]  ｍａｘＢｉｔＤｅｐｔｈＭｉｎｕｓ８は、オペレーティングポイントのストリームに関するＩＳＯ／ＩＥＣ  ２３００８−２における、それぞれｂｉｔ＿ｄｅｐｔｈ＿ｌｕｍａ＿ｍｉｎｕｓ８パラメータおよびｂｉｔ＿ｄｅｐｔｈ＿ｃｈｒｏｍａ＿ｍｉｎｕｓ８パラメータによって定義されるようなルーマビット深度インジケータおよびクロムビット深度インジケータの最大値を指定する。
【０２８７】
[0375]  ０に等しいｆｒａｍｅ＿ｒａｔｅ＿ｉｎｆｏ＿ｆｌａｇは、オペレーティングポイントに関してフレームレート情報が存在しないことを示す。値１は、オペレーティングポイントに関してフレームレート情報が存在することを示す。
【０２８８】
[0376]  ０に等しいｂｉｔ＿ｒａｔｅ＿ｉｎｆｏ＿ｆｌａｇは、オペレーティングポイントに関してビットレート情報が存在しないことを示す。値１は、オペレーティングポイントに関してビットレート情報が存在することを示す。
【０２８９】
[0377]  ａｖｇＦｒａｍｅＲａｔｅは、オペレーティングポイントに対して、平均のフレームレートをフレーム／（２５６秒）の単位で与える。値０は、指定されていない平均フレームレートを示す。
【０２９０】
[0378]  １に等しいｃｏｎｓｔａｎｔＦｒａｍｅＲａｔｅは、オペレーティングポイントのストリームのフレームレートが一定であることを示す。値２は、オペレーティングポイントのストリーム中の各時間レイヤの表現のフレームレートが一定であることを示す。値０は、オペレーティングポイントのストリームのフレームレートが一定であることも一定ではないこともあることを示す。
【０２９１】
[0379]  ｍａｘＢｉｔＲａｔｅは、１秒の任意のウィンドウに対する、オペレーティングポイントのストリームのビット／秒での最大ビットレートを与える。
【０２９２】
[0380]  ａｖｇＢｉｔＲａｔｅは、オペレーティングポイントのストリームのビット／秒での平均ビットレートを与える。
【０２９３】
[0381]９．７  ＩＳＯベースメディアファイルフォーマットからの導出
[0382]９．７．１  Ｌ−ＨＥＶＣトラック構造
[0383]Ｌ−ＨＥＶＣストリームが、ファイル中の１つまたは複数のビデオトラックによって表される。各トラックが、コーディングされたビットストリームの１つまたは複数のレイヤを表す。
【０２９４】
[0384]符号化された情報の完全なセットを全体としてみたとき含む、１つまたは複数のトラックの最小限のセットがある。すべてのこれらのトラックは、すべてのそれらのサンプルエントリーにおいて設定された、「ｃｏｍｐｌｅｔｅ＿ｒｅｐｒｅｓｅｎｔａｔｉｏｎ」というフラグを有するべきである。完全な符号化された情報を形成するトラックのこのグループは、「完全なサブセット」と呼ばれる。完全な符号化された情報は、「完全なサブセット」に含まれるトラックが保持されるときは保持されてよく、すべての他のトラックは、完全なサブセットのサブセット、コピー、または並べ替えを表すべきである。
【０２９５】
[0385]最低のオペレーティングポイントを、０に等しいｎｕｈ＿ｌａｙｅｒ＿ｉｄのみと０に等しいＴｅｍｐｏｒａｌＩｄのみとを有するＮＡＬユニットを含むすべてのオペレーティングポイントの１つとする。所与のストリームに関して、最低のオペレーティングポイントを含むちょうど１つのトラックが、「スケーラブルベーストラック」として指名されるべきである。
【０２９６】
[0386]ＨＥＶＣコーディングされていないベースレイヤを有するＬ−ＨＥＶＣビットストリームの場合、ベースレイヤは、最低のオペレーティングポイントであり、常にそれ自体の１つのトラックを割り当てられ、ベーストラックとして指名される。同じストリームの部分であるすべての他のトラックが、タイプ「ｓｂａｓ」のトラック参照によって、それらのベーストラックにリンクされるべきである。
【０２９７】
[0387]同じスケーラブルベーストラックを共有するすべてのトラックが、そのスケーラブルベーストラックと同じ時間軸を共有しなければならない。
【０２９８】
[0388]トラックによって表されるレイヤが、レイヤ間予測参照のために別のトラックによって表される別のレイヤを使用する場合、タイプ「ｓｃａｌ」のトラック参照が、レイヤ間予測のためのソーストラックを参照するトラックに含まれるべきである。
【０２９９】
[0389]注意  Ｌ−ＨＥＶＣビットストリームの部分を含むトラックがファイルから除去される場合、除去されるトラックへの「ｓｃａｌ」および「ｓｂａｓ」トラック参照を含むトラックも除去されるべきである。
【０３００】
[0390]ＡＶＣを使用してベースレイヤがコーディングされるとき、ベースレイヤトラックは、別個のパラメータセットトラックを使用せずに項５に従って構築されるべきである。
【０３０１】
[0391]９．７．２  データ共有およびアクセスユニットの再構築
[0392]異なるトラックが論理的にデータを共有し得る。この共有は、以下の２つの形のうちの１つをとり得る。
【０３０２】
[0393]  ａ）サンプルデータは、異なるトラックで複製される。
【０３０３】
[0394]  ｂ）ファイルが読み取られる時点でこのコピーをどのように実行するかについての命令があり得る。この場合、エクストラクタ（Ａ．３において定義される）が使用される。
【０３０４】
[0395]１つまたは複数のＬ−ＨＥＶＣトラックのサンプルからアクセスユニットを再構築するために、ターゲット出力レイヤおよびそれらが属するオペレーティングポイントが最初に決定される必要があり得る。
【０３０５】
[0396]注意  プレーヤは、オペレーティングポイント情報ボックスに含まれるオペレーティングポイントリストから、またはエクストラクタおよびアグリゲータを解決することによって、決定されたターゲット出力レイヤを復号するために必要とされるレイヤを確定することができる。オペレーティングポイントの関連レイヤを搬送するトラックが、「ｓｃａｌ」トラック参照とトラックコンテンツボックスにおける情報とに従うことによって取得され得る。
【０３０６】
【数２８】
0006695907.tif 000032
【０３０７】
[0398]アクセスユニットは、ＩＳＯ／ＩＥＣ  ２３００８−２に適合した順序でＮＡＬユニットを並べることによって、必要とされるトラックの中のそれぞれのサンプルから再構築される。以下の順序は、サンプルから準拠するアクセスユニットを構築するための手順の説明的概略を提供する。
【０３０８】
[0399]・存在するとき、ビットストリーム終了ＮＡＬユニットを除く、０に等しいｎｕｈ＿ｌａｙｅｒ＿ｉｄを有するＶＣＬ  ＮＡＬユニットを伴う（ＩＳＯ／ＩＥＣ  ２３００８−２において規定されるような）ピクチャユニット。
【０３０９】
[0400]・ｎｕｈ＿ｌａｙｅｒ＿ｉｄ値の昇順による任意のそれぞれのサンプルからの（ＩＳＯ／ＩＥＣ  ２３００８−２において規定されるような）ピクチャユニット。
【０３１０】
[0401]・存在するとき、ビットストリーム終了ＮＡＬユニット。
【０３１１】
[0402]９．７．３  Ｌ−ＨＥＶＣビデオストリームの定義
[0403]９．７．３．１  サンプルエントリーの名前およびフォーマット
[0404]９．７．３．１．１  定義
【０３１２】
【数２９】
0006695907.tif 000033
【０３１３】
[0410]サンプルエントリーの名前が「ｍｈｖ１」、「ｍｈｅ１」、「ｓｈｖ１」または「ｓｈｅ１」であるとき、Ｌ−ＨＥＶＣビットストリームの部分を含む他のトラックのサンプルエントリーの名前は「ｍｈｖ１」、「ｍｈｅ１」、「ｓｈｖ１」または「ｓｈｅ１」のいずれかとする。
【０３１４】
[0411]サンプルエントリーの名前が「ｍｈｖ２」、「ｍｈｅ２」、「ｓｈｖ２」または「ｓｈｅ２」であるとき、Ｌ−ＨＥＶＣビットストリームの部分を含む他のトラックのサンプルエントリーの名前は「ｍｈｖ２」、「ｍｈｅ２」、「ｓｈｖ２」または「ｓｈｅ２」のいずれかとする。
【０３１５】
【数３０】
0006695907.tif 000034
【０３１６】
[0413]・ＩＳＯ／ＩＥＣ  ２３００８−２において定義されるような少なくとも１つのＩＲＡＰピクチャをサンプルが含む場合、ＩＲＡＰピクチャと、サンプルにおけるＩＲＡＰピクチャを含む各レイヤにおける復号順序による後続ピクチャとを復号するために必要とされる各パラメータセットが、このサンプルに存在するレイヤを搬送するトラックのサンプルエントリーの中またはそのサンプル自体（場合によってはエクストラクタを使用することによる）の中のいずれかに含まれるべきである。
【０３１７】
[0414]・それ以外の場合（サンプルがＩＲＡＰピクチャを含まない）、そのサンプルを復号するために必要とされる各パラメータセットが、このサンプルに存在するレイヤを搬送するトラックのサンプルエントリーの中、または両端を含めて少なくとも１つのＩＲＡＰピクチャを含む以前のサンプルからそのサンプル自体（場合によってはエクストラクタを使用することによる）までのサンプルのいずれかの中のいずれかに含まれるべきである。
【０３１８】
【数３１】
0006695907.tif 000035
【０３１９】
[0418]同じベーストラックを共有するＬ−ＨＥＶＣトラックおよびＨＥＶＣトラックの所与のサンプルエントリーにおけるＬ−ＨＥＶＣ構成およびＨＥＶＣ構成でのｌｅｎｇｔｈＳｉｚｅＭｉｎｕｓＯｎｅフィールドは、同じ値を有するべきである。
【０３２０】
[0419]エクストラクタまたはアグリゲータは、サンプルエントリータイプに関係なく、たとえば、同じエントリータイプが「ｈｖｃ１」または「ｈｅｖ１」であり、ＨＥＶＣ構成のみが存在するときに、０よりも大きいｎｕｈ＿ｌａｙｅｒ＿ｉｄを有するＮＡＬユニットに使用され得る。
【０３２１】
[0420]注意  ＨＥＶＣ適合性が示されるとき、ストリーム全体のビットレートに対応するために、ＨＥＶＣベースレイヤの十分に高いレベルを示すことが必要になることがあり、それは、すべてのＮＡＬユニットがＨＥＶＣベースレイヤに含まれるものとして見なされ、したがってデコーダに与えられることがあり、デコーダはデコーダが認識しないＮＡＬユニットを廃棄すると予想されるからである。このケースは、「ｈｖｃ１」、「ｈｅｖ１」、「ｈｖｃ２」、または「ｈｅｖ２」サンプルエントリーが使用され、ＨＥＶＣ構成とＬ−ＨＥＶＣ構成の両方が存在するときに発生する。
【０３２２】
[0421]ＬＨＥＶＣＣｏｎｆｉｇｕｒａｔｉｏｎＢｏｘは、「ｈｖｃ１」、「ｈｅｖ１」、「ｈｖｃ２」、または「ｈｅｖ２」サンプルエントリーに存在し得る。この場合、以下のＨＥＶＣＬＨＶＣＳａｍｐｌｅＥｎｔｒｙの定義が適用される。
【０３２３】
[0422]次の表は、サンプルエントリーのすべての可能性のある使用法と、構成と、Ｌ−ＨＥＶＣツールとを、ビデオトラックについて示す。
【０３２４】
【表３−１】
0006695907.tif 000036
【０３２５】
【表３−２】
0006695907.tif 000037
【０３２６】
[0423]９．７．３．１．２  シンタックス
【０３２７】
【数３２】
0006695907.tif 000038
【０３２８】
[0424]９．７．３．１．３  セマンティクス
[0425]サンプルエントリーが適用されるストリームが０よりも大きいｎｕｈ＿ｌａｙｅｒ＿ｉｄを有するＮＡＬユニットを含むとき、ベースクラスＶｉｓｕａｌＳａｍｐｌｅＥｎｔｒｙの中のＣｏｍｐｒｅｓｓｏｒｎａｍｅは、推奨されている、「＼０１４ＬＨＥＶＣ  Ｃｏｄｉｎｇ」という値とともに使用されるコンプレッサの名前を示す（＼０１４は１２であり、これは文字列「ＬＨＥＶＣ  Ｃｏｄｉｎｇ」のバイト単位の長さである）。
【０３２９】
[0426]９．７．４  Ｌ−ＨＥＶＣの視覚的な幅および高さ
【０３３０】
【数３３】
0006695907.tif 000039
【０３３１】
[0428]９．７．５  シンクサンプル
[0429]Ｌ−ＨＥＶＣサンプルは、アクセスユニット中のベースレイヤピクチャがＩＳＯ／ＩＥＣ  ２３００８−２において定義されるようなＩＲＡＰピクチャである場合、シンクサンプルとして見なされる。シンクサンプルはシンクサンプルテーブルによって記録され、ストリームアクセスポイント「ｓａｐ」サンプルグループによって追加で記録され得る。
【０３３２】
[0430]９．７．６  ストリームアクセスポイントサンプルグループ
[0431]「シンク」ボックスは、Ｌ−ＨＥＶＣメディアストリームにおいて可能なたった１つのタイプのランダムアクセスの指示を与える。可能な他のタイプのランダムアクセスが多くある。ＩＳＯ／ＩＥＣ  １４４９６−１２のＡｎｎｅｘ  Ｉは、異なるタイプのランダムアクセスについての重要な説明をしている。ランダムアクセスが可能であるビットストリームにおけるロケーションは、ストリームアクセスポイント（ＳＡＰ）と呼ばれる。Ａｎｎｅｘ  Ｉは、異なる特性を有する６つのタイプのＳＡＰを規定している。すべての異なるタイプのＳＡＰの情報を提供するために、ＩＳＯ／ＩＥＣ  １４４９６−１２において規定されるストリームアクセスサンプルグループ「ｓａｐ」が使用される。
【０３３３】
[0432]Ｌ−ＨＥＶＣの文脈で使用されるときの「ｓａｐ」サンプルグループ化は、ｌａｙｅｒ＿ｉｄ＿ｍｅｔｈｏｄ＿ｉｄｃ値を１に設定するべきである。
【０３３４】
【数３４】
0006695907.tif 000040
【０３３５】
【表４】
0006695907.tif 000041
【０３３６】
[0435]タイプは、ＳａｍｐｌｅＴｏＧｒｏｕｐボックスにおけるサンプルのｇｒｏｕｐ＿ｄｅｓｃｒｉｐｔｉｏｎ＿ｉｎｄｅｘに従うことによって解決される。
【０３３７】
[0436]９．７．７  ランダムアクセス復元ポイントおよびランダムアクセスポイントについてのサンプルグループ
[0437]タイプ「ｈｖｃ１」、「ｈｅｖ１」、「ｈｖｃ２」、または「ｈｅｖ２」のサンプルエントリーによって記述されるビデオデータに対して、ランダムアクセス復元サンプルグループおよびストリームアクセスポイントサンプルグループは、ビットストリーム全体に対して動作する、ＨＥＶＣデコーダとＬ−ＨＥＶＣデコーダ（もしあれば）の両方に対して、ランダムアクセス復元ポイントとランダムアクセスポイントとをそれぞれ特定する。
【０３３８】
[0438]Ｌ−ＨＥＶＣサンプルエントリータイプによって記述されるビデオデータに対して、ランダムアクセス復元サンプルグループは、Ｌ−ＨＥＶＣビットストリーム全体の中でランダムアクセス復元ポイントを特定し、ストリームアクセスポイントサンプルグループは、Ｌ−ＨＥＶＣビットストリーム全体の中でランダムアクセスポイントを特定する。
【０３３９】
【数３５】
0006695907.tif 000042
【０３４０】
[0440]９．７．８  独立の使い捨てサンプルボックス
[0441]ＨＥＶＣとＬ−ＨＥＶＣの両方に適合するトラックにおいて独立の使い捨てサンプルボックスが使用される場合、Ｌ−ＨＥＶＣデータのどの有効なサブセット（場合によってはＨＥＶＣデータのみ）が使用されても、このボックスによって提供される情報が真であることに、注意が払われなければならない。情報が変化する場合、「未知」の値（フィールドｓａｍｐｌｅ−ｄｅｐｅｎｄｓ−ｏｎ、ｓａｍｐｌｅ−ｉｓ−ｄｅｐｅｎｄｅｄ−ｏｎ、およびｓａｍｐｌｅ−ｈａｓ−ｒｅｄｕｎｄａｎｃｙの値０）が必要とされ得る。
【０３４１】
[0442]９．７．９  Ｌ−ＨＥＶＣのためのサブサンプルの定義
[0443]この項は、８．４．８におけるＨＥＶＣのサブサンプルの定義を拡張する。
【０３４２】
[0444]Ｌ−ＨＥＶＣストリームにおけるサブサンプル情報ボックス（ＩＳＯ／ＩＥＣ  １４４９６−１２の項８．７．７）の使用のために、以下で規定されるように、サブサンプル情報ボックスのフラグの値に基づいて、サブサンプルが定義される。このボックスの存在は任意選択であるが、Ｌ−ＨＥＶＣデータを含むトラックにおいて存在する場合、ここで定義されるセマンティクスを有するべきである。
【０３４３】
[0445]フラグは、このボックスで与えられるサブサンプル情報のタイプを次のように規定する。
【０３４４】
[0446]  ０、１、２、および４：  ８．４．８の場合と同じ。
【０３４５】
[0447]  ５：  ピクチャベースのサブサンプル。サブサンプルは、１つのコーディングされたピクチャと、関連付けられる非ＶＣＬ  ＮＡＬユニットとを含む。
【０３４６】
[0448]フラグの他の値は予備である。
【０３４７】
[0449]ｓｕｂｓａｍｐｌｅ＿ｐｒｉｏｒｉｔｙフィールドおよび廃棄可能フィールドは、８．４．８において規定されるように設定されるべきである。
【０３４８】
[0450]ＮＡＬユニットの最初のバイトがサブサンプルに含まれるとき、先行する長さフィールドも同じサブサンプルに含まれなければならない。
【０３４９】
【数３６】
0006695907.tif 000043
【０３５０】
[0451]ＳｕｂＬａｙｅｒＲｅｆＮａｌＵｎｉｔＦｌａｇ、ＲａｐＮａｌＵｎｉｔＦｌａｇ、ＶｃｌＮａｌＵｎｉｔＦｌａｇ、ｖｃｌ＿ｉｄｃ、ｌｏｇ２＿ｍｉｎ＿ｌｕｍａ＿ｃｔｂ、ｃｔｂ＿ｘ、およびｃｔｂ＿ｙのセマンティクスは、８．４．８の場合と同じである。
【０３５１】
[0452]  ＤｉｓｃａｒｄａｂｌｅＦｌａｇは、サブサンプル中のＶＣＬ  ＮＡＬユニットのｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇの値を示す。サブサンプル中のすべてのＶＣＬ  ＮＡＬユニットは、同じｄｉｓｃａｒｄａｂｌｅ＿ｆｌａｇの値を有するべきである。
【０３５２】
[0453]注意  これは、サブサンプル情報ボックスにおける廃棄可能フィールドと同じ定義ではない。
【０３５３】
[0454]  ＮｏＩｎｔｅｒＬａｙｅｒＰｒｅｄＦｌａｇは、サブサンプル中のＶＣＬ  ＮＡＬユニットのｉｎｔｅｒ＿ｌａｙｅｒ＿ｐｒｅｄ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値を示す。サブサンプル中のすべてのＶＣＬ  ＮＡＬユニットは、同じ値のｉｎｔｅｒ＿ｌａｙｅｒ＿ｐｒｅｄ＿ｅｎａｂｌｅｄ＿ｆｌａｇを有するべきである。
【０３５４】
[0455]  ＬａｙｅｒＩｄは、サブサンプル中のＮＡＬユニットのｎｕｈ＿ｌａｙｅｒ＿ｉｄの値を示す。サブサンプル中のすべてのＮＡＬユニットは、同じｎｕｈ＿ｌａｙｅｒ＿ｉｄの値を有するべきである。
【０３５５】
[0456]  ＴｅｍｐＩｄは、サブサンプル中のＮＡＬユニットのＴｅｍｐｏｒａｌＩｄの値を示す。サブサンプル中のすべてのＮＡＬユニットは、同じＴｅｍｐｏｒａｌＩｄの値を有するべきである。
【０３５６】
[0457]  ＶｃｌＮａｌＵｎｉｔＴｙｐｅは、サブサンプル中のＶＣＬ  ＮＡＬユニットのｎｕｈ＿ｕｎｉｔ＿ｔｙｐｅの値を示す。サブサンプル中のすべてのＶＣＬ  ＮＡＬユニットは、同じｎｕｈ＿ｕｎｉｔ＿ｔｙｐｅの値を有するべきである。
【０３５７】
[0458]９．７．１０  非出力サンプルの処理
[0459]８．４．９において規定されるものは、複数のレイヤが関わるときに常に適用可能であるとは限らない。８．４．９において規定されるものに従うことができない場合、サンプルは廃棄され、以前のサンプルの持続時間が拡張されて、後続サンプルが正しい合成タイミングを有するようになる。
【０３５８】
[0460]９．７．１１  ハイブリッドコーデックスケーラビリティの指示
[0461]マルチレイヤＨＥＶＣビットストリームが外部のベースレイヤを使用するとき（すなわち、ＨＥＶＣビットストリームのアクティブなＶＰＳが、０に等しいｖｐｓ＿ｂａｓｅ＿ｌａｙｅｒ＿ｉｎｔｅｒｎａｌ＿ｆｌａｇと１に等しいｖｐｓ＿ｂａｓｅ＿ｌａｙｅｒ＿ａｖａｉｌａｂｌｅ＿ｆｌａｇとを有するとき）、「ｌｈｖｃ」に等しいａｕｘ＿ｉｎｆｏ＿ｔｙｐｅと０に等しいａｕｘ＿ｉｎｆｏ＿ｔｙｐｅ＿ｐａｒａｍｅｔｅｒとを有するサンプル補助情報が、レイヤ間予測のために参照として外部のベースレイヤを使用し得るトラックに対して提供されるべきである。サンプル補助情報の記憶は、ＩＳＯ／ＩＥＣ  １４４９６−１２に適合するべきである。
【０３５９】
[0462]「ｌｈｖｃ」に等しいａｕｘ＿ｉｎｆｏ＿ｔｙｐｅを有するサンプル補助情報のシンタックスは、次の通りである。
【０３６０】
【数３７】
0006695907.tif 000044
【０３６１】
[0463]「ｌｈｖｃ」に等しいａｕｘ＿ｉｎｆｏ＿ｔｙｐｅを有するサンプル補助情報のセマンティクスは、以下で規定される。セマンティクスでは、現在サンプルという用語は、このサンプル補助情報が関連付けられ、サンプルの復号のために提供されるべき、サンプルを指す。
【０３６２】
[0464]  ０に等しいｂｌ＿ｐｉｃ＿ｕｓｅｄ＿ｆｌａｇは、復号されたベースレイヤピクチャが現在サンプルの復号に使用されることはないことを規定する。１に等しいｂｌ＿ｐｉｃ＿ｕｓｅｄ＿ｆｌａｇは、復号されたベースレイヤピクチャが現在サンプルの復号に使用され得ることを規定する。
【０３６３】
[0465]  ｂｌ＿ｉｒａｐ＿ｐｉｃ＿ｆｌａｇは、ｂｌ＿ｐｉｃ＿ｕｓｅｄ＿ｆｌａｇが１に等しいときに、関連する復号されたピクチャに関して、その復号されたピクチャが現在サンプルの復号のために復号されたベースレイヤピクチャとして提供されるときの、ＢｌＩｒａｐＰｉｃＦｌａｇ変数の値を指定する。
【０３６４】
[0466]  ｂｌ＿ｉｒａｐ＿ｎａｌ＿ｕｎｉｔ＿ｔｙｐｅは、ｂｌ＿ｐｉｃ＿ｕｓｅｄ＿ｆｌａｇが１に等しく、ｂｌ＿ｉｒａｐ＿ｐｉｃ＿ｆｌａｇが１に等しいときに、関連する復号されたピクチャに関して、その復号されたピクチャが現在サンプルの復号のために復号されたベースレイヤピクチャとして提供されるときの、ｎａｌ＿ｕｎｉｔ＿ｔｙｐｅシンタックス要素の値を指定する。
【０３６５】
[0467]  ｓａｍｐｌｅ＿ｏｆｆｓｅｔは、ｂｌ＿ｐｉｃ＿ｕｓｅｄ＿ｆｌａｇが１に等しいときに、リンクされたトラックにおける関連サンプルの相対インデックスを与える。リンクされたトラックにおける関連サンプルの復号から生じる復号されたピクチャは、現在サンプルの復号のために提供されるべき関連する復号されたピクチャである。０に等しいｓａｍｐｌｅ＿ｏｆｆｓｅｔは、関連サンプルが、現在サンプルの復号時間と比較して同じ復号時間または最も近い先行する復号時間を有することを規定し、１に等しいｓａｍｐｌｅ＿ｏｆｆｓｅｔは、関連サンプルが、０に等しいｓａｍｐｌｅ＿ｏｆｆｓｅｔの場合に導出された関連サンプルに対して次のサンプルであることを規定し、−１に等しいｓａｍｐｌｅ＿ｏｆｆｓｅｔは、関連サンプルが、０に等しいｓａｍｐｌｅ＿ｏｆｆｓｅｔの場合に導出された関連サンプルに対して前のサンプルであることを規定し、以下同様である。
【０３６６】
[0468]９．８  Ｌ−ＨＥＶＣ固有の情報ボックス
[0469]以下のボックスは、Ｌ−ＨＥＶＣエレメンタリストリームの複数のレイヤに関係する情報を明示する。Ｌ−ＨＥＶＣエレメンタリストリームには、出力のために選択され得る複数のレイヤがあり得るので、これらのボックスで搬送される情報は、任意の単一のトラックに固有のものではない。
【０３６７】
[0470]９．８．１  オペレーティングポイント情報ボックス（「ｏｉｎｆ」）
[0471]９．８．１．１  定義
[0472]ボックスタイプ：  「ｏｉｎｆ」
[0473]コンテナ：  「ｏｒｅｆ」タイプ参照トラックのＭｅｄｉａＩｎｆｏｒｍａｔｉｏｎＢｏｘ（「ｍｉｎｆ」）
[0474]必須性：  Ｌ−ＨＥＶＣビットストリームのたった１つのトラックにおいて必須
[0475]量：  １つ
[0476]オペレーティングポイント情報ボックス（「ｏｉｎｆ」）を使用することによって、異なるオペレーティングポイントおよびそれらの構造に関して適用例が知らされる。各オペレーティングポイントは、出力レイヤセット、最大Ｔ−ＩＤ値、ならびにプロファイル、レベルおよびティアのシグナリングに関係する。これらの情報はすべて、「ｏｉｎｆ」ボックスによって捕捉される。これらの情報以外に、このボックスはまた、レイヤ間の依存性情報と、Ｌ−ＨＥＶＣビットストリームにおいてコーディングされるスケーラビリティのタイプと、所与のスケーラビリティタイプの場合の任意の特定のレイヤに関係する次元識別子とを提供する。
【０３６８】
[0477]共通の「ｓｂａｓ」トラック参照を有するＬ−ＨＥＶＣトラックまたはＨＥＶＣトラックのセットの場合、このセットの中に、「ｏｉｎｆ」ボックスを搬送するたった１つのトラックがあるべきである。共通の「ｓｂａｓ」参照トラックを有するすべてのトラックは、「ｏｉｎｆ」ボックスを搬送するトラックへのタイプ「ｏｒｅｆ」のトラック参照を有するべきである。
【０３６９】
[0478]このボックスが存在するとき、トラックにはたった１つのＶＰＳがあるべきである。
【０３７０】
[0479]９．８．１．２  シンタックス
【０３７１】
【数３８−１】
0006695907.tif 000045
【０３７２】
【数３８−２】
0006695907.tif 000046
【０３７３】
[0480]９．８．１．３  セマンティクス
[0481]  ｓｃａｌａｂｉｌｉｔｙ＿ｍａｓｋ：このフィールドは、このボックスが関連付けられるベーストラック（すなわち、このトラックまたは「ｓｂａｓ」参照によって指されるトラックのいずれか）に関係するすべてのレイヤによって表されるスケーラビリティタイプを示す。ｓｃａｌａｂｉｌｉｔｙ＿ｍａｓｋフィールドにおける各ビットは、ＩＳＯ／ＩＥＣ  ２３００８−２において定義されるようなＶＰＳ拡張シンタックスのｓｃａｌａｂｉｌｉｔｙ＿ｍａｓｋ＿ｆｌａｇにおいてコーディングされるスケーラビリティ次元を示す。ビット位置における１は、スケーラビリティ次元が存在することを示す。
【０３７４】
[0482]  ｎｕｍ＿ｐｒｏｆｉｌｅ＿ｔｉｅｒ＿ｌｅｖｅｌ：以下のプロファイル、ティア、およびレベルの組合せならびに関連するフィールドの数を与える。
【０３７５】
[0483]  ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｓｐａｃｅ、ｇｅｎｅｒａｌ＿ｔｉｅｒ＿ｆｌａｇ、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｉｄｃ、ｇｅｎｅｒａｌ＿ｐｒｏｆｉｌｅ＿ｃｏｍｐａｔｉｂｉｌｉｔｙ＿ｆｌａｇｓ、ｇｅｎｅｒａｌ＿ｃｏｎｓｔｒａｉｎｔ＿ｉｎｄｉｃａｔｏｒ＿ｆｌａｇｓ、およびｇｅｎｅｒａｌ＿ｌｅｖｅｌ＿ｉｄｃがＩＳＯ／ＩＥＣ  ２３００８−２において定義されている。
【０３７６】
[0484]  ｎｕｍ  ｓｉｇｎａｌｌｅｄ＿ｏｐｅｒａｔｉｎｇ＿ｐｏｉｎｔｓ：情報が後にくるオペレーティングポイントの数を与える。
【０３７７】
[0485]ｎｕｍ＿ｓｉｇｎａｌｌｅｄ＿ｏｐｅｒａｔｉｎｇ＿ｐｏｉｎｔｓが０よりも大きいとき、以下のことが当てはまる。
【０３７８】
[0486]  Ｌ−ＨＥＶＣビットストリームの部分を含む各トラックのサンプルエントリーの名前は、ｍｈｖ１、ｍｈｅ１、ｓｈｖ１またはｓｈｅ１のいずれかとする。
【０３７９】
[0487]それ以外は、ｎｕｍ＿ｓｉｇｎａｌｌｅｄ＿ｏｐｅｒａｔｉｏｎ＿ｐｏｉｎｔｓが０に等しく、以下のことが当てはまる。
【０３８０】
[0488]  Ｌ−ＨＥＶＣビットストリームの部分を含む各トラックのサンプルエントリーの名前は、ｍｈｖ２、ｍｈｅ２、ｓｈｖ２またはｓｈｅ２のいずれかとする。
【０３８１】
[0489]  サンプルエントリーの名前ｈｖｃ２、ｈｅｖ２、ｍｈｖ２、ｍｈｅ２、ｓｈｖ２およびｓｈｅ２を有する各トラックは、オペレーティングポイントに関連付けられる。
【０３８２】
[0490]  サンプルエントリーの名前ｍｈｖ２またはｍｈｅ２を有するトラックに関連付けられるオペレーティングポイントの場合、トラックにおけるエクストラクタを解決することによって取得されたビットストリームのすべてのレイヤが出力レイヤである。
【０３８３】
[0491]  サンプルエントリーの名前ｓｈｖ２またはｓｈｅ２を有するトラックに関連付けられるオペレーティングポイントの場合、トラックにおけるエクストラクタを解決することによって取得されたビットストリームのすべてのレイヤの中で最上位レイヤＩＤを有するレイヤのみが出力レイヤである。
【０３８４】
[0492]  ｏｕｔｐｕｔ＿ｌａｙｅｒ＿ｓｅｔ＿ｉｄｘは、オペレーティングポイントを定義する出力レイヤセットのインデックスである。ｏｕｔｐｕｔ＿ｌａｙｅｒ＿ｓｅｔ＿ｉｄｘとｌａｙｅｒ＿ｉｄ値との間のマッピングは、インデックスｏｕｔｐｕｔ＿ｌａｙｅｒ＿ｓｅｔ＿ｉｄｘを有する出力レイヤセットに関してＶＰＳによって規定されるものと同じであるべきである。
【０３８５】
[0493]  ｍａｘ＿ｔｅｍｐｏｒａｌ＿ｉｄ：このオペレーティングポイントのＮＡＬユニットの最大ＴｅｍｐｏｒａｌＩｄを与える。
【０３８６】
[0494]  ｌａｙｅｒ＿ｃｏｕｎｔ：このフィールドは、このオペレーティングポイントの、ＩＳＯ／ＩＥＣ  ２３００８−２において定義されるような必要なレイヤの数を示す。
【０３８７】
[0495]  ｐｔｌ＿ｉｄｘ：ｌａｙｅｒ＿ｉｄに等しい識別子を有するレイヤに関する記載されたプロファイル、レベル、およびティアのフラグの１に基づくインデックスをシグナリングする。あるレイヤに関してｐｔｌ＿ｉｄｘの値がゼロに等しいとき、そのレイヤは、シグナリングされるプロファイル、レベル、およびティアを有しないと仮定されるものとし、そのレイヤは、出力レイヤまたはオペレーティングポイントの任意の出力レイヤの直接もしくは間接参照レイヤであるレイヤではないものとする。
【０３８８】
[0496]  ｌａｙｅｒ＿ｉｄ：オペレーティングポイントのレイヤに関するレイヤＩＤ値を提供する。
【０３８９】
[0497]  ｉｓ＿ｏｕｔｐｕｔｌａｙｅｒ：レイヤが出力レイヤであるかどうかを示すフラグ。１は、出力レイヤを示す。
【０３９０】
[0498]  ｉｓ＿ａｌｔｅｒｎａｔｅ＿ｏｕｔｐｕｔｌａｙｅｒ：このフラグはセットされたときに、このレイヤがこのオペレーティングポイントに関する代替出力レイヤとして見なされ得ることを示す。このフラグは、オペレーティングポイントにおける１つのレイヤがそれのｉｓ＿ｏｕｔｐｕｔｌａｙｅｒフラグセットを有する場合にのみ、１に設定される。
【０３９１】
【数３９−１】
0006695907.tif 000047
【０３９２】
【数３９−２】
0006695907.tif 000048
【０３９３】
【数３９−３】
0006695907.tif 000049
【０３９４】
[0529]本明細書で説明されたコーディング技法は、例示的なビデオ符号化および復号システム（たとえば、システム１００）において実装され得る。システムは、宛先デバイスによって後で復号されるべき符号化されたビデオデータを与えるソースデバイスを含む。特に、ソースデバイスは、コンピュータ可読媒体を介してビデオデータを宛先デバイスに与える。ソースデバイスおよび宛先デバイスは、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイスおよび宛先デバイスはワイヤレス通信のために装備され得る。
【０３９５】
[0530]宛先デバイスは、コンピュータ可読媒体を介して復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体は、ソースデバイスから宛先デバイスに符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体は、ソースデバイスが符号化されたビデオデータを宛先デバイスにリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイスに送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つもしくは複数の物理伝送線路など、任意のワイヤレス通信媒体またはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどのパケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイスから宛先デバイスへの通信を容易にするために有用であり得る任意の他の機器を含み得る。
【０３９６】
[0531]いくつかの例では、符号化されたデータは、出力インターフェースから記憶デバイスに出力され得る。同様に、符号化されたデータは、入力インターフェースによって記憶デバイスからアクセスされ得る。記憶デバイスは、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、記憶デバイスは、ソースデバイスによって生成された符号化されたビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイスは、ストリーミングまたはダウンロードを介して記憶デバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶し、その符号化されたビデオデータを宛先デバイスに送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイスは、インターネット接続を含む、任意の標準のデータ接続を介して、符号化されたビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適切であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【０３９７】
[0532]本開示の技法は、ワイヤレス適用例またはワイヤレス設定に必ずしも限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の適用例などの、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システムは、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【０３９８】
[0533]一例では、ソースデバイスは、ビデオソースと、ビデオエンコーダと、出力インターフェースとを含む。宛先デバイスは、入力インターフェースと、ビデオデコーダと、ディスプレイデバイスとを含み得る。ソースデバイスのビデオエンコーダは、本明細書で開示される技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイスは、外部カメラなどの外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイスは、内蔵ディスプレイデバイスを含むというよりはむしろ、外部ディスプレイデバイスとインターフェースし得る。
【０３９９】
[0534]上記の例示的なシステム一例にすぎない。ビデオデータを並列に処理するための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。さらに、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイスおよび宛先デバイスは、ソースデバイスが宛先デバイスに送信するためのコーディングされたビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、ソースデバイスおよび宛先デバイスは、デバイスの各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、例示的なシステムは、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、またはビデオテレフォニーのための、ビデオデバイス間の一方向または双方向のビデオ送信をサポートし得る。
【０４００】
[0535]ビデオソースは、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツ提供者からビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソースは、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソースがビデオカメラである場合、ソースデバイスおよび宛先デバイスは、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダによって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェースによってコンピュータ可読媒体上に出力され得る。
【０４０１】
[0536]述べたように、コンピュータ可読媒体は、ワイヤレスブロードキャストもしくはワイヤードネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、もしくは他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、たとえば、ネットワーク送信を介して、ソースデバイスから符号化されたビデオデータを受信し、その符号化されたビデオデータを宛先デバイスに与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイスから符号化されたビデオデータを受信し、その符号化されたビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むものと理解され得る。
【０４０２】
[0537]宛先デバイスの入力インターフェースはコンピュータ可読媒体から情報を受信する。コンピュータ可読媒体の情報は、ビデオエンコーダによって定義され、ビデオデコーダによっても使用される、ブロックおよび他のコーディングされたユニット、たとえば、ピクチャグループ（ＧＯＰ）の特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイスは、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。本発明の様々な実施形態が説明されてきた。
【０４０３】
[0538]符号化デバイス８０４および復号デバイス９１２の具体的な詳細が、それぞれ図８および図９に示されている。図８は、本開示で説明される技法のうちの１つまたは複数を実装し得る例示的な符号化デバイス８０４を示すブロック図である。符号化デバイス８０４は、たとえば、本明細書で説明されるシンタックス構造（たとえば、ＶＰＳ、ＳＰＳ、ＰＰＳ、または他のシンタックス要素のシンタックス構造）を生成し得る。符号化デバイス８０４は、ビデオスライス内のビデオブロックのイントラ予測コーディングおよびインター予測コーディングを実行し得る。前に説明されたように、イントラコーディングは、所与のビデオフレームまたはピクチャ内の空間冗長性を低減または除去するために、空間予測に少なくとも部分的に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたは周囲のフレーム内の時間冗長性を低減または除去するために、時間予測に少なくとも部分的に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指すことがある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指すことがある。
【０４０４】
[0539]符号化デバイス８０４は、区分ユニット３５と、予測処理ユニット４１と、フィルタユニット６３と、ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測処理ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測処理ユニット４６とを含む。ビデオブロック再構築のために、符号化デバイス８０４はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。フィルタユニット６３は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表すものとする。図８では、フィルタユニット６３はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット６３はループ後フィルタとして実装され得る。後処理デバイス５７は、符号化デバイス８０４によって生成された符号化されたビデオデータに対して追加の処理を実行し得る。ある事例では、本開示の技法は、符号化デバイス８０４によって実装され得る。しかしながら、他の事例では、本開示の技法のうちの１つまたは複数は、後処理デバイス５７によって実装され得る。
【０４０５】
[0540]図８に示されているように、符号化デバイス８０４はビデオデータを受信し、区分ユニット３５はデータをビデオブロックに区分する。区分はまた、たとえば、ＬＣＵおよびＣＵの４分木構造に従って、スライス、スライスセグメント、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分を含み得る。符号化デバイス８０４は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測処理ユニット４１は、誤差結果（たとえば、コーディングレートおよびひずみレベルなど）に基づいて現在ビデオブロックについて、複数のイントラ予測コーディングモードのうちの１つ、または複数のインター予測コーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択し得る。予測処理ユニット４１は、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化されたブロックを再構築するために加算器６２に与え得る。
【０４０６】
[0541]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して現在ビデオブロックのイントラ予測コーディングを実行し得る。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対して現在ビデオブロックのインター予測コーディングを実行する。
【０４０７】
[0542]動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、Ｐスライス、Ｂスライス、またはＧＰＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定は、動き推定ユニット４２によって実行され、動きベクトルを生成する処理であり、ビデオブロックの動きを推定する。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックの予測ユニット（ＰＵ）の変位を示し得る。
【０４０８】
[0543]予測ブロックは、絶対差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分の尺度によって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのＰＵに厳密に一致することが判明しているブロックである。いくつかの例では、符号化デバイス８０４は、ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算することができる。たとえば、符号化デバイス８０４は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数（fractional）ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対して動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【０４０９】
[0544]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス中のビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、その各々はピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、エントロピー符号化ユニット５６と動き補償ユニット４４とに計算された動きベクトルを送る。
【０４１０】
[0545]動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストにおいて指す予測ブロックの位置を特定し得る。符号化デバイス８０４は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。ピクセル差分値は、ブロックに対する残差データを形成し、ルーマとクロマの両方の差分成分を含み得る。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際に復号デバイス９１２が使用するための、ビデオブロックおよびビデオスライスに関連付けられるシンタックス要素を生成し得る。
【０４１１】
[0546]イントラ予測処理ユニット４６は、上記で説明されたように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測処理ユニット４６は、現在ブロックを符号化するために使用するイントラ予測モードを決定し得る。いくつかの例では、イントラ予測処理ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット処理４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測処理ユニット４６は、様々なテストされるイントラ予測モードのためにレートひずみ分析を使用してレートひずみ値を計算し得、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化されたブロックと、符号化されたブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化されたブロックを生成するために使用されたビットレート（すなわち、いくつかのビット）を決定する。イントラ予測処理ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化されたブロックのひずみおよびレートから比率を計算し得る。
【０４１２】
[0547]いずれの場合も、ブロックのためのイントラ予測モードを選択した後に、イントラ予測処理ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。符号化デバイス８０４は、最確イントラ予測モードの指示ならびに様々なブロックに関する符号化コンテキストの送信されるビットストリーム構成データ定義の中に、コンテキストの各々に使用するイントラ予測モードインデックステーブルおよび修正イントラ予測モードインデックステーブルを含めることができる。ビットストリーム構成データは、複数のイントラ予測モードインデックステーブルおよび複数の修正イントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）を含み得る。
【０４１３】
[0548]予測処理ユニット４１が、インター予測またはイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、符号化デバイス８０４は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換処理ユニット５２に適用され得る。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【０４１４】
[0549]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送ることができる。量子化ユニット５４は、ビットレートをさらに低減するために、変換係数を量子化する。量子化処理は、係数の一部またはすべてに関連付けられるビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【０４１５】
[0550]量子化に続いて、エントロピー符号化ユニット５６は量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディング、または別のエントロピー符号化技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームは復号デバイス９１２に送信されるか、または復号デバイス９１２が後で送信するかもしくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライスのための、動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【０４１６】
[0551]逆量子化ユニット５８および逆変換処理ユニット６０は、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構築するために、それぞれ逆量子化および逆変換を適用する。動き補償ユニット４４は、残差ブロックを参照ピクチャリスト内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算することができる。動き補償ユニット４４はまた、動き推定において使用するサブ整数ピクセル値を計算するために、再構築された残差ブロックに１つまたは複数の補間フィルタを適用し得る。加算器６２は、ピクチャメモリ６４に記憶するための参照ブロックを生成するために、再構築された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０４１７】
[0552]このように、図８の符号化デバイス８０４は、符号化されたビデオビットストリームに関するシンタックスを生成するように構成されたビデオエンコーダの一例を表す。符号化デバイス８０４は、たとえば、上記で説明されたようにＶＰＳ、ＳＰＳ、およびＰＰＳパラメータセットを生成し得る。符号化デバイス８０４は、図８および図９に関して上記で説明されたプロセスを含む、本明細書で説明された技法のいずれかを実行し得る。本開示の技法が、概して符号化デバイス８０４に関して説明されたが、上述のように、本開示の技法のいくつかは後処理デバイス５７によっても実装され得る。
【０４１８】
[0553]図９は、例示的な復号デバイス９１２を示すブロック図である。復号デバイス９１２は、エントロピー復号ユニット８０と、予測処理ユニット８１と、逆量子化ユニット８６と、逆変換処理ユニット８８と、加算器９０と、フィルタユニット９１と、ピクチャメモリ９２とを含む。予測処理ユニット８１は、動き補償ユニット８２と、イントラ予測処理ユニット８４とを含む。復号デバイス９１２は、いくつかの例では、図８からの符号化デバイス８０４に関して説明された符号化パスとは概して逆の復号パスを実行し得る。
【０４１９】
[0554]復号プロセスの間に、復号デバイス９１２は、符号化デバイス８０４によって送られた、符号化されたビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化されたビデオビットストリームを受信する。いくつかの実施形態では、復号デバイス９１２は、符号化されたビデオビットストリームを符号化デバイス８０４から受信し得る。いくつかの実施形態では、復号デバイス９１２は、符号化されたビデオビットストリームを、サーバ、メディアアウェアネットワーク要素（ＭＡＮＥ）、ビデオエディタ／スプライサ、または上記で説明された技法のうちの１つもしくは複数を実施するように構成された他のそのようなデバイスなどのネットワークエンティティ７９から受信し得る。ネットワークエンティティ７９は、符号化デバイス８０４を含むことも、含まないこともある。本開示で説明される技法のうちのいくつかは、ネットワークエンティティ７９が符号化されたビデオビットストリームを復号デバイス９１２に送信するより前に、ネットワークエンティティ７９によって実施され得る。いくつかのビデオ復号システムでは、ネットワークエンティティ７９および復号デバイス９１２は別個のデバイスの部分であり得るが、他の事例では、ネットワークエンティティ７９に関して説明される機能は、復号デバイス９１２を備える同じデバイスによって実行され得る。
【０４２０】
[0555]復号デバイス９１２のエントロピー復号ユニット８０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルと他のシンタックス要素とを予測処理ユニット８１に転送する。復号デバイス９１２は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。エントロピー復号ユニット８０は、ＶＰＳ、ＳＰＳ、およびＰＰＳなど、または複数のパラメータセット中の固定長シンタックス要素と可変長シンタックス要素の両方を処理し、パースし得る。
【０４２１】
[0556]ビデオスライスがイントラコーディングされた（Ｉ）スライスとしてコーディングされたとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの以前復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコーディングされた（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされたとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリスト内の参照ピクチャのうちの１つから生成され得る。復号デバイス９１２は、ピクチャメモリ９２に記憶された参照ピクチャに基づいて、デフォルト構築技術を使用して、参照フレームリスト、リスト０およびリスト１を構築することができる。
【０４２２】
[0557]動き補償ユニット８２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在ビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスのための１つまたは複数の参照ピクチャリストのための構築情報と、スライスの各インター符号化されたビデオブロックのための動きベクトルと、スライスの各インターコーディングされたビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、パラメータセットにおける１つまたは複数のシンタックス要素を使用することができる。
【０４２３】
[0558]動き補償ユニット８２はまた、補間フィルタに基づいて、補間を実行し得る。動き補償ユニット８２は、参照ブロックのサブ整数ピクセルの補間された値を計算するために、ビデオブロックの符号化の間に符号化デバイス８０４によって使用されるような補間フィルタを使用し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素から符号化デバイス８０４によって使用された補間フィルタを決定することができ、予測ブロックを生成するために補間フィルタを使用することができる。
【０４２４】
[0559]逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された量子化変換係数を逆量子化、すなわち、量子化解除する。逆量子化プロセスは、量子化の程度と、同じく適用されるべき逆量子化の程度とを決定するために、ビデオスライス中のビデオブロックごとに符号化デバイス８０４によって計算された量子化パラメータを使用することを含み得る。逆変換処理ユニット８８は、ピクセル領域における残差ブロックを生成するために、逆変換（たとえば、逆ＤＣＴもしくは他の適切な逆変換）、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０４２５】
[0560]動き補償ユニット８２が、動きベクトルおよび他のシンタックス要素に基づいて現在ビデオブロックのための予測ブロックを生成した後に、復号デバイス９１２は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つの構成要素または複数の構成要素を表す。所望される場合、（コーディングループ内またはコーディングループ後のいずれかの）ループフィルタも、ピクセル遷移を平滑化するために、またはさもなければビデオ品質を改善するために使用され得る。フィルタユニット９１は、デブロッキングフィルタ、適応ループフィルタ（ＡＬＦ）、およびサンプル適応オフセット（ＳＡＯ）フィルタなど、１つまたは複数のループフィルタを表すものとする。図９では、フィルタユニット９１はループ内フィルタであるとして示されているが、他の構成では、フィルタユニット９１はループ後フィルタとして実装され得る。次いで、所与のフレームまたはピクチャ中の復号されたビデオブロックは、後続の動き補償に使用される参照ピクチャを記憶する、ピクチャメモリ９２に記憶される。ピクチャメモリ９２はまた、図１に示されるビデオ宛先デバイス１２２のようなディスプレイデバイス上での後の表示のために、復号されたビデオを記憶する。
【０４２６】
[0561]上記の説明では、適用例の態様が、その特定の実施形態を参照しながら説明されているが、当業者は、本発明がそれに限定されないことを認識されよう。したがって、適用例の例示的な実施形態が、本明細書で詳細に説明されているが、本発明の概念が、他の方法で様々に具現化され利用され得ること、および添付の特許請求の範囲が、先行技術によって限定されている場合を除いて、そのような変形形態を含むと解釈されることが意図されていることを理解されたい。上述の発明の様々な特徴および態様が、個々にまたは一緒に使用され得る。さらに、実施形態は、本明細書のより広範な趣旨および範囲から離れることなく、本明細書で説明されるものにとどまらない、任意の数の環境および適用例において利用され得る。したがって、本明細書および図面は、限定的ではなく例示的なものと解釈されるべきである。例示の目的で、方法が特定の順序で説明された。代替実施形態では、説明された順序とは異なる順序で方法が実行され得ることを諒解されたい。
【０４２７】
[0562]構成要素が、ある種の動作を実行する「ように構成される」ものとして記述される場合、そのような構成は、たとえば、動作を実行する電子回路もしくは他のハードウェアを設計することによって、動作を実行するプログラマブル電子回路（たとえば、マイクロプロセッサ、もしくは他の適切な電子回路）をプログラムすることによって、またはそれらの任意の組合せによって、達成され得る。
【０４２８】
[0563]本明細書で開示される実施形態に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上記で説明された。そのような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装決定は、本明細書で説明されるシステムおよび方法の範囲からの逸脱を生じさせるものと解釈されるべきではない。
【０４２９】
[0564]本明細書で説明された技法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたは構成要素として説明されるいかなる機能も、集積論理デバイスに一緒に、またはディスクリートであるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装された場合、本技法は、実行されたときに、上記で説明された方法のうちの１つまたは複数を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気または光学データ記憶媒体など、メモリまたはデータ記憶媒体を備え得る。技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および／または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０４３０】
[0565]プログラムコードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価の集積回路もしくはディスクリート論理回路など、１つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明される技法のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装されることもある。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明された技法の実装に適した他の構造もしくは装置のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のソフトウェアモジュールもしくはハードウェアモジュール内に提供され得、または複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを符号化するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しているビデオ符号化デバイスと、
を備え、前記ビデオ符号化デバイスは、
マルチレイヤビデオデータを処理することと、前記マルチレイヤビデオデータは複数のレイヤを含み、各レイヤは、少なくとも１つのビデオコーディングレイヤ（ＶＣＬ）ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと任意の関連する非ＶＣＬ ＮＡＬユニットとを含む少なくとも１つのピクチャユニットを備え、
フォーマットを使用して前記マルチレイヤビデオデータに関連付けられる出力ファイルを生成することと、
ここにおいて、前記出力ファイルは複数のトラックを含み、前記出力ファイルを生成することは、前記複数のトラックの各トラックが前記マルチレイヤビデオデータのたった１つのレイヤを備えるという制約、および前記複数のトラックの各トラックがアグリゲータまたはエクストラクタの少なくとも一方を含まないという制約に従って、前記出力ファイルを生成することを含み、
アグリゲータは、ＮＡＬユニットの不規則なパターンを、集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含み、エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含む、
を行うように構成される、デバイス。
［Ｃ２］
前記ビデオ符号化デバイスは、
サンプルエントリーの名前を前記出力ファイルに関連付けるようにさらに構成され、前記サンプルエントリーの名前は、前記出力ファイルの前記複数のトラックの各トラックがたった１つのレイヤを備えることを示し、前記複数のトラックの各トラックが前記アグリゲータまたは前記エクストラクタの少なくとも一方を含まないことを示す、Ｃ１に記載のデバイス。
［Ｃ３］
識別子はファイルタイプであり、前記ファイルタイプは前記出力ファイルに含まれる、Ｃ２に記載のデバイス。
［Ｃ４］
前記ビデオ符号化デバイスは、トラックコンテンツ情報（ｔｃｏｎ）ボックスを生成しないようにさらに構成される、Ｃ１に記載のデバイス。
［Ｃ５］
前記ビデオ符号化デバイスは、前記１つまたは複数のトラックの各々のためのレイヤ識別子を生成するようにさらに構成され、レイヤ識別子は、トラックに含まれるレイヤを識別する、Ｃ１に記載のデバイス。
［Ｃ６］
前記ビデオ符号化デバイスは、オペレーティングポイント情報（ｏｉｎｆ）ボックスを生成するようにさらに構成され、前記ｏｉｎｆボックスは、前記マルチレイヤビデオデータに含まれる１つまたは複数のオペレーティングポイントのリストを含み、オペレーティングポイントは、１つまたは複数のレイヤに関連付けられ、前記ｏｉｎｆボックスは、前記１つまたは複数のトラックのうちのどれが、前記１つまたは複数のオペレーティングポイントの各々に関連付けられるレイヤを含むかを示す、Ｃ１に記載のデバイス。
［Ｃ７］
前記マルチレイヤビデオデータはレイヤのサブセットをさらに含み、レイヤの前記サブセットは１つまたは複数の時間サブレイヤを含み、
ビデオ符号化デバイスは、前記１つまたは複数のトラックからの各トラックが前記マルチレイヤビデオデータからのせいぜい１つのレイヤまたはレイヤの１つのサブセットを含むという制約に従って、前記出力ファイルを生成するようにさらに構成される、Ｃ１に記載のデバイス。
［Ｃ８］
前記マルチレイヤビデオデータは、階層化高効率ビデオコーディング（Ｌ−ＨＥＶＣ）ビデオデータである、Ｃ１に記載のデバイス。
［Ｃ９］
前記出力ファイルの前記フォーマットは、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットを含む、Ｃ１に記載のデバイス。
［Ｃ１０］
ビデオデータを復号するためのデバイスであって、
前記ビデオデータを記憶するように構成されたメモリと、
前記メモリと通信しているビデオ復号デバイスと、
を備え、前記ビデオ復号デバイスは、
マルチレイヤビデオデータに関連付けられる出力ファイルのサンプルエントリーの名前を処理することと、前記マルチレイヤビデオデータは複数のレイヤを含み、各レイヤは、少なくとも１つのビデオコーディングレイヤ（ＶＣＬ）ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと任意の関連する非ＶＣＬ ＮＡＬユニットとを含む少なくとも１つのピクチャユニットを備え、前記出力ファイルは複数のトラックを備え、
前記出力ファイルのサンプルエントリーの名前に基づいて、前記出力ファイルの前記複数のトラックの各トラックが前記複数のレイヤのうちのたった１つのレイヤを備えること、および、前記複数のトラックの各々がアグリゲータまたはエクストラクタのうちの少なくとも一方を含まないこと、を決定することと、アグリゲータは、ＮＡＬユニットの不規則なパターンを、集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含み、エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含む、
を行うように構成される、デバイス。
［Ｃ１１］
前記サンプルエントリーの名前はファイルタイプであり、前記ファイルタイプは前記出力ファイルに含まれる、Ｃ１０に記載のデバイス。
［Ｃ１２］
前記出力ファイルはトラックコンテンツ情報（ｔｃｏｎ）ボックスを含まない、Ｃ１０に記載のデバイス。
［Ｃ１３］
前記出力ファイルは、１つまたは複数のトラックの各々のためのレイヤ識別子を含み、レイヤ識別子は、トラックに含まれるレイヤを識別する、Ｃ１０に記載のデバイス。
［Ｃ１４］
前記出力ファイルはオペレーティングポイント情報（ｏｉｎｆ）ボックスを含み、前記ｏｉｎｆボックスは、前記ビデオデータに含まれる１つまたは複数のオペレーティングポイントのリストを含み、オペレーティングポイントは、１つまたは複数のレイヤに関連付けられ、前記ｏｉｎｆボックスは、前記１つまたは複数のトラックのうちのどれが、前記１つまたは複数のオペレーティングポイントの各々に関連付けられるレイヤを含むかを示す、Ｃ１０に記載のデバイス。
［Ｃ１５］
前記マルチレイヤビデオデータは１つまたは複数の時間サブレイヤをさらに含み、前記１つまたは複数のトラックからの各トラックは、前記マルチレイヤビデオデータからのたった１つのレイヤまたは１つの時間サブレイヤを含む、Ｃ１０に記載のデバイス。
［Ｃ１６］
前記マルチレイヤビデオデータは、階層化高効率ビデオコーディング（Ｌ−ＨＥＶＣ）ビデオデータである、Ｃ１０に記載のデバイス。
［Ｃ１７］
前記出力ファイルは、フォーマットを使用して生成され、前記出力ファイルの前記フォーマットは、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットを含む、Ｃ１０に記載のデバイス。
［Ｃ１８］
非一時的機械可読記憶媒体に有形に具現化されたコンピュータプログラム製品であって、１つまたは複数のプロセッサによって実行されたときに、前記１つまたは複数のプロセッサに、
マルチレイヤビデオデータに関連付けられる出力ファイルのサンプルエントリーの名前を処理することと、前記マルチレイヤビデオデータは複数のレイヤを含み、各レイヤは、少なくとも１つのビデオコーディングレイヤ（ＶＣＬ）ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと任意の関連する非ＶＣＬ ＮＡＬユニットとを含む少なくとも１つのピクチャユニットを備え、前記出力ファイルは複数のトラックを備え、
前記出力ファイルのサンプルエントリーの名前に基づいて、前記出力ファイルの前記複数のトラックの各トラックが前記複数のレイヤのうちのたった１つのレイヤを備えること、および、前記複数のトラックの各々がアグリゲータまたはエクストラクタの少なくとも一方を含まないこと、を決定することと、アグリゲータは、ＮＡＬユニットの不規則なパターンを、集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含み、エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含む、
を行わせる命令を含む、コンピュータプログラム製品。
［Ｃ１９］
前記サンプルエントリーの名前はファイルタイプであり、前記ファイルタイプは前記出力ファイルに含まれる、Ｃ１８に記載のコンピュータプログラム製品。
［Ｃ２０］
前記出力ファイルはトラックコンテンツ情報（ｔｃｏｎ）ボックスを含まない、Ｃ１８に記載のコンピュータプログラム製品。
［Ｃ２１］
前記出力ファイルは、１つまたは複数のトラックの各々のためのレイヤ識別子を含み、レイヤ識別子は、トラックに含まれるレイヤを識別する、Ｃ１８に記載のコンピュータプログラム製品。
［Ｃ２２］
前記出力ファイルはオペレーティングポイント情報（ｏｉｎｆ）ボックスを含み、前記ｏｉｎｆボックスは、前記ビデオデータに含まれる１つまたは複数のオペレーティングポイントのリストを含み、オペレーティングポイントは、１つまたは複数のレイヤに関連付けられ、前記ｏｉｎｆボックスは、前記１つまたは複数のトラックのうちのどれが、前記１つまたは複数のオペレーティングポイントの各々に関連付けられるレイヤを含むかを示す、Ｃ１８に記載のコンピュータプログラム製品。
［Ｃ２３］
前記マルチレイヤビデオデータは１つまたは複数の時間サブレイヤをさらに含み、前記１つまたは複数のトラックからの各トラックは、前記マルチレイヤビデオデータからのたった１つのレイヤまたは１つの時間サブレイヤを含む、Ｃ１８に記載のコンピュータプログラム製品。
［Ｃ２４］
前記出力ファイルは、フォーマットを使用して生成され、前記出力ファイルの前記フォーマットは、国際標準化機構（ＩＳＯ）ベースメディアファイルフォーマットを含む、Ｃ１８に記載のコンピュータプログラム製品。
［Ｃ２５］
ビデオデコーダデバイスによって、マルチレイヤビデオデータに関連付けられる出力ファイルのサンプルエントリーの名前を処理することと、前記マルチレイヤビデオデータは複数のレイヤを含み、各レイヤは、少なくとも１つのビデオコーディングレイヤ（ＶＣＬ）ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと任意の関連する非ＶＣＬ
ＮＡＬユニットとを含む少なくとも１つのピクチャユニットを備え、前記出力ファイルは複数のトラックを備え、
前記出力ファイルの前記サンプルエントリーの名前に基づいて、前記出力ファイルの前記複数のトラックの各トラックが前記複数のレイヤのうちのせいぜい１つのレイヤを備えること、および、前記複数のトラックの各々がアグリゲータまたはエクストラクタの少なくとも一方を含まないこと、を決定することと、アグリゲータは、ＮＡＬユニットの不規則なパターンを、集約されたデータユニットの規則的なパターンへと変更することによって、ＮＡＬユニットのスケーラブルグループ化を可能にする構造を含み、エクストラクタは、メディアデータを含むトラック以外のトラックからのＮＡＬユニットの抽出を可能にする構造を含む、
を備える方法。
［Ｃ２６］
前記サンプルエントリーの名前はファイルタイプであり、前記ファイルタイプは前記出力ファイルに含まれる、Ｃ２５に記載の方法。
［Ｃ２７］
前記出力ファイルはトラックコンテンツ情報（ｔｃｏｎ）ボックスを含まない、Ｃ２５に記載の方法。
［Ｃ２８］
前記出力ファイルは、１つまたは複数のトラックの各々のためのレイヤ識別子を含み、レイヤ識別子は、トラックに含まれるレイヤを識別する、Ｃ２５に記載の方法。
［Ｃ２９］
前記出力ファイルはオペレーティングポイント情報（ｏｉｎｆ）ボックスを含み、前記ｏｉｎｆボックスは、前記マルチレイヤビデオデータに含まれる１つまたは複数のオペレーティングポイントのリストを含み、オペレーティングポイントは、１つまたは複数のレイヤに関連付けられ、前記ｏｉｎｆボックスは、前記１つまたは複数のトラックのうちのどれが、前記１つまたは複数のオペレーティングポイントの各々に関連付けられるレイヤを含むかを示す、Ｃ２５に記載の方法。
［Ｃ３０］
前記マルチレイヤビデオデータはレイヤのサブセットをさらに含み、レイヤの前記サブセットは１つまたは複数の時間サブレイヤを含み、前記１つまたは複数のトラックからの各トラックは前記マルチレイヤビデオデータからのせいぜい１つのレイヤまたはレイヤの１つのサブセットを含む、Ｃ２５に記載の方法。
【図１】
0006695907.tif 000050
【図２】
0006695907.tif 000051
【図３】
0006695907.tif 000052
【図４】
0006695907.tif 000053
【図５】
0006695907.tif 000054
【図６】
0006695907.tif 000055
【図７】
0006695907.tif 000056
【図８】
0006695907.tif 000057
【図９】
0006695907.tif 000058