(57)【要約】  現在、ＳＶＣ規格によって定義されているビデオコンテンツを保存し、アクセスするための拡張を提供することによって既存のＩＳＯ／ＡＶＣファイルフォーマットを変更する。具体的には、ＡＶＣファイルフォーマットを拡張し、スケーラブルビデオデータのストレージ及びアクセスを可能にする新たなＳＶＣファイルフォーマットを提供する。スケーラブルビデオデータは、ＳＶＣファイルフォーマットのメディアデータセクション内で単一のトラックとして保存される。ＳＶＣファイルフォーマットのメタデータセクション内の記述エントリ及びボックスについて、新たな拡張が定義される。これらの拡張によって、メディアデータセクションに保存されたスケーラブルビデオデータの単一のトラックから、サブストリーム又はレイヤを抽出することができる。
2009502055.tif 000002
【特許請求の範囲】
【請求項１】
ａ．スケーラブルデータストリームを保存するメディアデータセクションと、
ｂ．上記メディアデータセクションに保存されたスケーラブルデータストリームに関連する少なくとも１つのトラックを含むメタデータセクションとを有し、
上記各トラックは、上記スケーラブルデータストリームのサブレイヤデータストリームを定義し、グループ化する１つ以上のメタデータボックスを含む変更ファイルフォーマット。
【請求項２】
上記スケーラブルデータストリームは、スケーラブルビデオストリームを含むことを特徴とする請求項１記載の変更ファイルフォーマット。
【請求項３】
上記スケーラブルビデオストリームは、スケーラブルビデオ符号化（ＳＶＣ）エレメンタリストリームを含むことを特徴とする請求項２記載の変更ファイルフォーマット。
【請求項４】
上記変更ファイルフォーマットは、変更されたスケーラブルビデオ符号化（ＳＶＣ）ファイルフォーマットを含むことを特徴とする請求項１記載の変更ファイルフォーマット。
【請求項５】
上記スケーラブルデータストリームは、単一の符号化トラックを含むことを特徴とする請求項１記載の変更ファイルフォーマット。
【請求項６】
上記スケーラブルデータストリームは、一連のアクセスユニットを含むことを特徴とする請求項１記載の変更ファイルフォーマット。
【請求項７】
上記１つ以上のメタデータボックスは、上記サブレイヤデータストリームを処理できるエンドユーザ機器から受信した１つ以上のデバイス要求に基づいて、該サブレイヤデータストリームを定義することを特徴とする請求項６記載の変更ファイルフォーマット。
【請求項８】
上記１つ以上のメタデータボックスは、上記１つ以上のデバイス要求に基づいて、複数の記述エントリのうちの１つを定義することを特徴とする請求項７記載の変更ファイルフォーマット。
【請求項９】
上記１つ以上のメタデータボックスは、選択された記述エントリに基づいて、上記アクセスユニットのサブセットを定義し、該定義されたアクセスユニットのサブセットは、上記サブレイヤデータストリームを含むことを特徴とする請求項８記載の変更ファイルフォーマット。
【請求項１０】
上記１つ以上のメタデータボックスは、上記１つの記述エントリを定義するスケーラブルビデオ符号化（ＳＶＣ）サンプルグループ記述ボックスを含むことを特徴とする請求項９記載の変更ファイルフォーマット。
【請求項１１】
上記１つ以上のメタデータボックスは、上記アクセスユニットのサブセットを定義し、グループ化するスケーラブルビデオ符号化（ＳＶＣ）サンプル−グループボックスを含むことを特徴とする請求項１０記載の変更ファイルフォーマット。
【請求項１２】
上記１つ以上のメタデータボックスは、上記スケーラブルビデオ符号化（ＳＶＣ）規格の拡張を含むことを特徴とする請求項１記載の変更ファイルフォーマット。
【請求項１３】
上記スケーラブルデータストリームは、複数のサブレイヤデータストリームを含むことを特徴とする請求項１記載の変更ファイルフォーマット。
【請求項１４】
上記１つ以上のメタデータボックスは、上記サブレイヤデータストリームに関連するヒントトラックを定義することを特徴とする請求項１記載の変更ファイルフォーマット。
【請求項１５】
上記サブレイヤデータストリームは、アドバンスドビデオ符号化（ＡＶＣ）規格に互換性を有するベースレイヤストリームを含むことを特徴とする請求項１４記載の変更ファイルフォーマット。
【請求項１６】
変更ファイルフォーマットを使用するファイルサーバにおいて、
上記変更ファイルフォーマットは、
１．スケーラブルデータストリームを保存するメディアデータセクションと、
２．上記メディアデータセクションに保存されたスケーラブルデータストリームに関連する少なくとも１つのトラックを含むメタデータセクションとを有し、
上記各トラックは、上記スケーラブルデータストリームのサブレイヤデータストリームを定義し、グループ化する１つ以上のメタデータボックスを含み、
当該ファイルサーバは、
ａ．上記変更ファイルフォーマットに基づいて、データを保存し、抽出するメモリと、
ｂ．上記メモリに制御命令を供給し、上記スケーラブルデータストリームから上記サブレイヤデータストリームを抽出する処理モジュールとを備えるファイルサーバ。
【請求項１７】
上記スケーラブルデータストリームは、一連のアクセスユニットを含むことを特徴とする請求項１６記載のファイルサーバ。
【請求項１８】
エンドユーザ機器から１つ以上のデバイス要求を受信し、定義されたサブレイヤデータストリームを送信するネットワークインタフェースモジュールを更に備える請求項１７記載のファイルサーバ。
【請求項１９】
上記１つ以上のメタデータボックスは、上記１つ以上のデバイス要求に基づいて、複数の記述エントリのうちの１つを定義することを特徴とする請求項１８記載のファイルサーバ。
【請求項２０】
上記１つ以上のメタデータボックスは、選択された記述エントリに基づいて、上記アクセスユニットのサブセットを定義し、該定義されたアクセスユニットのサブセットは、上記サブレイヤデータストリームを含むことを特徴とする請求項１９記載のファイルサーバ。
【請求項２１】
上記１つ以上のメタデータボックスは、上記１つの記述エントリを定義するスケーラブルビデオ符号化（ＳＶＣ）サンプルグループ記述ボックスを含むことを特徴とする請求項２０記載のファイルサーバ。
【請求項２２】
上記１つ以上のメタデータボックスは、上記アクセスユニットのサブセットを定義し、グループ化するスケーラブルビデオ符号化（ＳＶＣ）サンプル−グループボックスを含むことを特徴とする請求項２１記載のファイルサーバ。
【請求項２３】
上記スケーラブルデータストリームは、スケーラブルビデオストリームを含むことを特徴とする請求項１６記載のファイルサーバ。
【請求項２４】
上記スケーラブルビデオストリームは、スケーラブルビデオ符号化（ＳＶＣ）エレメンタリストリームを含むことを特徴とする請求項２３記載のファイルサーバ。
【請求項２５】
上記変更ファイルフォーマットは、変更されたスケーラブルビデオ符号化（ＳＶＣ）ファイルフォーマットを含むことを特徴とする請求項１６記載のファイルサーバ。
【請求項２６】
上記スケーラブルデータストリームは、単一の符号化トラックを含むことを特徴とする請求項１６記載のファイルサーバ。
【請求項２７】
上記スケーラブルデータストリームは、複数のサブレイヤデータストリームを含むことを特徴とする請求項１６記載のファイルサーバ。
【請求項２８】
変更ファイルフォーマットを使用するデータ処理システムにおいて、
ａ．１つ以上のデバイス要求を送信するエンドユーザ機器と、
ｂ．上記１つ以上のデバイス要求を受信し、上記変更ファイルフォーマットを使用するファイルサーバとを備え、
上記変更ファイルフォーマットは、
Ａ．スケーラブルデータストリームを保存するメディアデータセクションと、
Ｂ．上記メディアデータセクションに保存されたスケーラブルデータストリームに関連する少なくとも１つのトラックを含むメタデータセクションとを有し、
上記各トラックは、上記スケーラブルデータストリームのサブレイヤデータストリームを定義し、グループ化する１つ以上のメタデータボックスを含み、
上記ファイルサーバは、
１．上記変更ファイルフォーマットに基づいて、データを保存し、抽出するメモリと、
２．上記メモリに制御命令を供給し、上記スケーラブルデータストリームからサブレイヤデータストリームを抽出する処理モジュールとを備えるデータ処理システム。
【請求項２９】
上記ファイルサーバは、エンドユーザ機器から１つ以上のデバイス要求を受信し、定義されたサブレイヤデータストリームを送信するネットワークインタフェースモジュールを更に備えることを特徴とする請求項２８記載のデータ処理システム。
【請求項３０】
上記スケーラブルデータストリームは、一連のアクセスユニットを含むことを特徴とする請求項２８記載のデータ処理システム。
【請求項３１】
上記１つ以上のメタデータボックスは、上記１つ以上のデバイス要求に基づいて、複数の記述エントリのうちの１つを定義することを特徴とする請求項３０記載のデータ処理システム。
【請求項３２】
上記１つ以上のメタデータボックスは、選択された記述エントリに基づいて、上記アクセスユニットのサブセットを定義し、該定義されたアクセスユニットのサブセットは、上記サブレイヤデータストリームを含むことを特徴とする請求項３１記載のデータ処理システム。
【請求項３３】
上記１つ以上のメタデータボックスは、上記１つの記述エントリを定義するスケーラブルビデオ符号化（ＳＶＣ）サンプルグループ記述ボックスを含むことを特徴とする請求項３２記載のデータ処理システム。
【請求項３４】
上記１つ以上のメタデータボックスは、上記アクセスユニットのサブセットを定義し、グループ化するスケーラブルビデオ符号化（ＳＶＣ）サンプル−グループボックスを含むことを特徴とする請求項３３記載のデータ処理システム。
【請求項３５】
上記スケーラブルデータストリームは、スケーラブルビデオストリームを含むことを特徴とする請求項２８記載のデータ処理システム。
【請求項３６】
上記スケーラブルビデオストリームは、スケーラブルビデオ符号化（ＳＶＣ）エレメンタリストリームを含むことを特徴とする請求項３５記載のデータ処理システム。
【請求項３７】
上記変更ファイルフォーマットは、変更されたスケーラブルビデオ符号化（ＳＶＣ）ファイルフォーマットを含むことを特徴とする請求項２８記載のデータ処理システム。
【請求項３８】
上記１つ以上のメタデータボックスは、スケーラブルビデオ符号化（ＳＶＣ）規格の拡張を含むことを特徴とする請求項２８記載のデータ処理システム。
【請求項３９】
上記１つ以上のメタデータボックスは、スケーラブルビデオ符号化（ＳＶＣ）規格の拡張を含むことを特徴とする請求項２８記載のデータ処理システム。
【請求項４０】
上記スケーラブルデータストリームは、単一の符号化トラックを含むことを特徴とする請求項２８記載のデータ処理システム。
【請求項４１】
上記スケーラブルデータストリームは、複数のサブレイヤデータストリームを含むことを特徴とする請求項２８記載のデータ処理システム。
【請求項４２】
上記１つ以上のメタデータボックスは、上記サブレイヤデータストリームに関連するヒントトラックを定義することを特徴とする請求項２８記載のデータ処理システム。
【請求項４３】
上記サブレイヤデータストリームは、アドバンスドビデオ符号化（ＡＶＣ）規格に互換性を有するベースレイヤストリームを含むことを特徴とする請求項４２記載のデータ処理システム。
【請求項４４】
変更ファイルフォーマットからデータストリームを抽出するデータ抽出方法において、
ａ．特定のデータストリームのための、１つ以上のデバイス要求を含む要求を受信するステップと、
ｂ．上記要求を、上記変更ファイルフォーマットのメディアデータセクションに保存されている特定のスケーラブルデータストリームに関連付けるステップと、
ｃ．上記変更ファイルフォーマットのメタデータセクションに保存され、１つ以上のメタデータボックスを含む、上記特定のスケーラブルデータストリームに対応する１つ以上のトラックを決定するステップと、
ｄ．上記１つ以上のメタデータボックスを用いて、上記１つ以上のデバイス要求に基づいて、上記特定のスケーラブルデータストリームのサブレイヤデータストリームを決定するステップと、
ｅ．上記保存されているスケーラブルデータストリームから、上記サブレイヤデータストリームを抽出するステップとを有するデータ抽出方法。
【請求項４５】
上記抽出されたサブレイヤデータストリームを送信する[transmitting]ステップを更に有する請求項４４記載のデータ抽出方法。
【請求項４６】
上記サブレイヤデータストリームを決定する前に、上記決定された１つ以上のトラックを復号するステップを更に有する請求項４４記載のデータ抽出方法。
【請求項４７】
上記１つ以上のメタデータボックスは、スケーラブルビデオ符号化（ＳＶＣ）規格の拡張を含むことを特徴とする請求項４４記載のデータ抽出方法。
【請求項４８】
上記スケーラブルデータストリームは、スケーラブルビデオストリームを含むことを特徴とする請求項４４記載のデータ抽出方法。
【請求項４９】
上記スケーラブルビデオストリームは、スケーラブルビデオ符号化（ＳＶＣ）エレメンタリストリームを含むことを特徴とする請求項４８記載のデータ抽出方法。
【請求項５０】
上記変更ファイルフォーマットは、変更されたスケーラブルビデオ符号化（ＳＶＣ）ファイルフォーマットを含むことを特徴とする請求項４４記載のデータ抽出方法。
【請求項５１】
上記スケーラブルデータストリームは、単一の符号化トラックを含むことを特徴とする請求項４４記載のデータ抽出方法。
【請求項５２】
上記スケーラブルデータストリームは、一連のアクセスユニットを含むことを特徴とする請求項４４記載のデータ抽出方法。
【請求項５３】
上記１つ以上のデバイス要求に基づいて、複数の記述エントリのうちの１つを定義するように、上記１つ以上のメタデータボックスを構成するステップを更に有する請求項５２記載のデータ抽出方法。
【請求項５４】
選択された記述エントリに基づいて、上記サブレイヤデータストリームを含むアクセスユニットのサブセットを定義するように、上記１つ以上のメタデータボックスを構成するステップを更に有する請求項５２記載のデータ抽出方法。
【請求項５５】
上記１つ以上のメタデータボックスは、上記１つの記述エントリを定義するスケーラブルビデオ符号化（ＳＶＣ）サンプルグループ記述ボックスを含むことを特徴とする請求項５４記載のデータ抽出方法。
【請求項５６】
上記１つ以上のメタデータボックスは、上記アクセスユニットのサブセットを定義し、グループ化するスケーラブルビデオ符号化（ＳＶＣ）サンプル−グループボックスを含むことを特徴とする請求項５５記載のデータ抽出方法。
【請求項５７】
上記１つ以上のメタデータボックスは、上記スケーラブルビデオ符号化（ＳＶＣ）規格の拡張を含むことを特徴とする請求項４４記載のデータ抽出方法。
【請求項５８】
上記スケーラブルデータストリームは、複数のサブレイヤデータストリームを含むことを特徴とする請求項４４記載のデータ抽出方法。
【請求項５９】
上記スケーラブルデータストリームの符号化されたバージョンを上記メディアデータセクションに保存するステップを更に有する請求項４４記載のデータ抽出方法。
【請求項６０】
上記スケーラブルデータストリームは、スケーラブルビデオ符号化（ＳＶＣ）規格に基づいて符号化されることを特徴とする請求項５９記載のデータ抽出方法。
【請求項６１】
サブレイヤデータストリームに関連するヒントトラックを定義するように、上記１つ以上のメタデータボックスを構成するステップを更に有する請求項４４記載のデータ抽出方法。
【請求項６２】
上記サブレイヤデータストリームは、アドバンスドビデオ符号化（ＡＶＣ）規格に互換性を有するベースレイヤストリームを含むことを特徴とする請求項６１記載のデータ抽出方法。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、本出願と同じ発明者によって２００５年７月１５日に出願された米国仮特許出願番号第６０／６９９，５３５号、発明の名称「スケーラブルビデオ符号化（ＳＶＣ）ファイルフォーマット（Scalable Video Coding (SVC) file format）」の優先権を主張する。２００５年７月１５日に出願された米国仮特許出願番号第６０／６９９，５３５号、発明の名称「スケーラブルビデオ符号化（ＳＶＣ）ファイルフォーマット」の全体は、引用により本願に援用される。
【技術分野】
【０００２】
本発明は、ビデオ符号化の分野に関する。詳しくは、本発明は、ＳＶＣ符号化の分野、及びスケーラブルビデオ符号化を用いて、ビデオ符号化データのストレージをサポートする現在のＡＶＣファイルフォーマットの拡張に関する。
【背景技術】
【０００３】
ファイルフォーマットは、コンピュータファイルのストレージのために情報を符号化する特定の手法である。ファイルのフォーマットを保存する従来の手法では、フォーマットに関する情報をファイルシステムに明示的に保存する。この手法では、メタデータは、メインデータ及びファイル名の両方から分離されている。
【０００４】
ＩＳＯベースメディアファイルフォーマットは、映画等の時間的に連続したメディア情報又はメディアデータストリームを保存するように設計されている。保存されたメディア情報は、ローカルに、若しくは、ネットワーク又は他のストリーム配信メカニズムを介して伝送することができる。ファイルは、論理構造、時間構造及び物理構造を有する。ファイルの論理構造は、一組の時間並列のトラック（time-parallel track）を含む。ファイルの時間構造は、このトラックにデータサンプルのシーケンスを随時供給し、これらのシーケンスは、オプションの編集リストによって、総合的なメディアデータストリームのタイムラインにマッピングされる。ファイルの物理構造は、メディアデータサンプル自体から論理的、時間的及び構造的な分解に必要なデータを分離する。この構造情報は、メタデータボックスに集約され、また、この構造情報は、メタデータフラグメントボックスによって時間的に拡張されることもある。メタデータボックスは、データサンプルの論理的及び時間的関係を記録し、及びデータサンプルが保存されている場所へのポインタを含む。
【０００５】
各メディアデータストリームは、そのメディアタイプ（オーディオ、ビデオ等）のために特化されたトラックに保存され、サンプルエントリによって更にパラメータ化される。サンプルエントリは、例えば、メディアデータストリームを復号するために必要なデコーダのタイプ及びデコードに必要な他のパラメータ等、正確なメディアタイプの「名称」を含む。様々なメディアタイプのためのサンプルエントリフォーマットが定義されている。
【０００６】
メタデータは、２つの形式でサポートされている。第１に、時間的なメタデータは、適切なトラックに保存され、そのメタデータが記述するメディアデータに同期される。第２に、メディアデータストリーム又は個々のトラックに添付された非時間的なメタデータは、包括的にサポートされる。これらの包括的なメタデータ構造は、メタデータボックスの形式で、ファイルレベルでも使用される。この場合、メタデータボックスは、保存されたメディアデータストリームへの基本的なアクセス手段となる。
【０００７】
幾つかの場合、トラック内のデータサンプルは、異なる特性を有し、又は特別に識別する必要がある。このような特徴の１つは、多くの場合、動画のＩフレームである同期ポイントである。これらのポイントは、各トラック内の特別なテーブルによって特定される。より包括的には、トラックサンプル間の依存の性質は、この手法によって記録される。また、サンプルグループと呼ばれる概念がある。サンプルグループにより、トラック内の幾つかのデータサンプルによって共有される任意の特徴をドキュメント化することができる。アドバンスドビデオ符号化（Advanced Video Coding：ＡＶＣ）ファイルフォーマットでは、サンプルグループは、レイヤ及びサブシーケンスの概念をサポートするために用いられている。
【０００８】
ＡＶＣファイルフォーマットは、ＡＶＣ規格に基づいて符号化されたビデオストリームのためのストレージフォーマットを定義する。ＡＶＣファイルフォーマットは、ＩＳＯベースメディアファイルフォーマットを拡張したフォーマットである。ＡＶＣファイルフォーマットにより、ヒントトラックを用いて、ストリーミングサーバによる配信のためにフォーマットされたオーディオ等の他のメディアストリームに関連付けてＡＶＣビデオストリームを用いることができ、ＩＳＯベースメディアファイルフォーマットの全てのユースケース及び特徴を継承することができる。
【０００９】
図１は、メディアデータセクション２０及びメタデータセクション３０を含むＡＶＣファイルフォーマット１０の例示的な構成を示している。各データストリームは、メディアデータセクション２０に保存される。１つのファイルフォーマットに複数のデータストリームを保存できる。図１に示すように、メディアデータセクション２０には、４つのデータストリーム２２、２４、２６、２８が保存されている。ＡＶＣファイルフォーマットのメディアデータセクション２０に保存された各データストリーム２２、２４、２６、２８のそれぞれについて、対応するトラックがメタデータセクションに保存されている。図１に示す具体例では、トラック３２は、データストリーム２２に対応し、トラック３４は、データストリーム２４に対応し、トラック３６は、データストリーム２６に対応し、トラック３８は、データストリーム２８に対応している。包括的に言えば、データセクションに保存されたＮ個のデータストリームに対して、メタデータセクションにＮ個のトラックが保存される。
【００１０】
Ｈ．２６４又はＭＰＥＧ−４パート１０規格は、ジョイントビデオチーム（Joint Video Team：ＪＶＴ）として知られる共同作業グループとして、ＩＴＵ−Ｔビデオ符号化エキスパートグループ（Video Coding Experts Group：ＶＣＥＧ）がＩＳＯ／ＩＥＣムービングピクチャエキスパートグループ（Moving Picture Experts Group：ＭＰＥＧ）と協働して作成した高圧縮デジタルビデオコーデック規格である。ＩＴＵ−Ｔ  Ｈ．２６４規格及びＩＳＯ／ＩＥＣ  ＭＰＥＧ−４パート１０規格（正式には、ＩＳＯ／ＩＥＣ１４４９６−１０）は、技術的に同じであり、この技術は、アドバンスドビデオ符号化（Advanced Video Coding：ＡＶＣ）とも呼ばれている。なお、Ｈ．２６４は、Ｈ．２６ｘビデオ規格のＩＴＵ−Ｔラインに関連する名称であり、ＡＶＣは、Ｈ．２６Ｌと呼ばれたプロジェクトであるＩＴＵ−Ｔの先の開発の後に、規格化を遂行したパートナーシッププロジェクトのＩＳＯ／ＩＥＣ  ＭＰＥＧ側に関連する名称である。この規格は、共通の技術の承継を強調するためにＨ．２６４／ＡＶＣ（又はＡＶＣ／Ｈ．２６４、Ｈ．２６４／ＭＰＥＧ−４ＡＶＣ、ＭＰＥＧ−４／Ｈ．２６４ＡＶＣ）と呼ばれることも多い。また、この規格は、技術を開発したＪＶＴの組織に因んで、「ＪＶＴコーデック」と呼ばれることもある。
【００１１】
現在、ＪＶＴは、既存のＡＶＣコーデックの拡張であるスケーラブルビデオコーデック（Scalable Video Codec：ＳＶＣ）と呼ばれる新たなコーデックを開発している。ＳＶＣの研究は、２００３年に、ＭＰＥＧ−２１規格の一部として、ＭＰＥＧドメインで独自に開始された。しかしながら、ＳＶＣは、２００４年の開発途中に、既存のＡＶＣコーデックに下位互換性を有する符号化技術の開発を目的として、ＪＶＴグループの作業に併合された。したがって、ＳＶＣは、現在、ＭＰＥＧ及びＩＴＵ−ＴのＪＶＴグループによって共同で開発されている。スケーラブルビデオコーデック（ＳＶＣ）開発の目的は、空間、時間及び品質（ＳＮ比）レベルでのスケーラビリティを実現することである。
【００１２】
既存のファイルフォーマット（ＩＳＯ／ＭＰ４及びＡＶＣ）は、ファイルフォーマットに保存されたメディアデータから、空間、時間、及びＳＮ比（品質）のレイヤの異なるバリエーションを抽出するための簡単で明確なメカニズムを提供していない。したがって、これらの情報は、符号化されたメディアストリームを解析することによって抽出しなければならず、この処理は、非常に効率が悪く、遅い。このため、ＳＶＣ等の新たなビデオ符号化規格のストレージをサポートし、現在のファイルフォーマットストレージ技術のこれまでの制約を克服する、向上された、新たな拡張を定義する必要がある。これらの新たな拡張は、グループオブピクチャ及び各サンプル内に存在する依存性について、構造化及びグループ化メカニズムを定義し、空間、時間、及び品質の柔軟性を提供する柔軟なストリーム構造を実現するものでなくてはならない。ＳＶＣ規格は、スケーラブルなメディアデータ全体を、時間、空間、品質のレイヤのバリアントを抽出できる１つの単一のスケーラブルなビットストリームとして符号化することを提案している。
【００１３】
ＡＶＣ規格では、各ビデオストリームは、特定のフレームレート、解像度及び品質に基づき、独立したストリームとして符号化され、後に復号される。ＳＶＣ規格では、ＳＶＣエレメンタリストリームと呼ばれる単一の符号化ビデオストリームから、例えば、低解像度ビデオストリーム、標準解像度ビデオストリーム又は高解像度ビデオストリーム等、複数の異なるタイプのビデオを抽出することができる。ファイルフォーマットにおいて、このようなスケーラブルビデオストリームのストレージ及び抽出をサポートするためには、ファイルフォーマットを変更する必要がある。
【００１４】
ＳＶＣ規格は、現在開発段階にあり、ＳＶＣ規格は、ビデオコーデックの新たな設計を定義するので、新たなＳＶＣビデオストリームのストレージ及び抽出を可能にするために、適切に定義された新たなファイルフォーマット規格が必要である。新たなＳＶＣビデオストリームをサポートするために、ＳＶＣビデオストリームのストレージをサポートするＡＶＣファイルフォーマットを拡張する新たなＳＶＣファイルフォーマットが開発されている。但し、保存されたスケーラブルビデオデータへのアクセスを定義する特定の拡張は、未だ開発されていない。
【発明の開示】
【課題を解決するための手段】
【００１５】
ビデオコンテンツ、例えば、現在ＩＴＵ  ＭＰＥＧ／Ｔが開発しているＭＰＥＧ−４：パート１０／Ａｍｄ−ｌスケーラブルビデオコーデック（ＳＶＣ）規格を用いて符号化されたビデオコンテンツを保存するために、現在のＩＳＯ／ＭＰ４／ＡＶＣファイルフォーマットを拡張するシステム及び方法を開示する。具体的には、ＡＶＣファイルフォーマットは、スケーラブルビデオデータのストレージ及びアクセスを可能にする新たなＳＶＣファイルフォーマットを実現するように拡張される。スケーラブルビデオデータは、ＳＶＣファイルフォーマットのメディアデータセクション内で単一のトラックとして保存できる。ＳＶＣファイルフォーマットのメタデータセクション内の記述エントリ及びボックスについて、新たな拡張が定義される。これらの拡張によって、メディアデータセクションに保存されたスケーラブルビデオデータの単一のトラックから、サブストリーム又はレイヤを抽出することができる。
【００１６】
一側面においては、変更ファイルフォーマットは、スケーラブルデータストリームを保存するメディアデータセクションと、メディアデータセクションに保存されたスケーラブルデータストリームに関連する少なくとも１つのトラックを含むメタデータセクションとを有し、各トラックは、スケーラブルデータストリームのサブレイヤデータストリームを定義し、グループ化する１つ以上のメタデータボックスを含む。スケーラブルデータストリームは、スケーラブルビデオストリームを含んでいてもよい。スケーラブルビデオストリームは、スケーラブルビデオ符号化（Scalable Video Coding：ＳＶＣ）エレメンタリストリームを含んでいてもよい。変更ファイルフォーマットは、変更されたスケーラブルビデオ符号化（ＳＶＣ）ファイルフォーマットを含んでいてもよい。スケーラブルデータストリームは、単一の符号化トラックを含んでいてもよい。スケーラブルデータストリームは、一連のアクセスユニットを含んでいてもよい。１つ以上のメタデータボックスは、サブレイヤデータストリームを処理できるエンドユーザ機器から受信した１つ以上のデバイス要求に基づいて、サブレイヤデータストリームを定義してもよい。１つ以上のメタデータボックスは、１つ以上のデバイス要求に基づいて、複数の記述エントリの１つを定義してもよい。１つ以上のメタデータボックスは、選択された記述エントリに基づいて、アクセスユニットのサブセットを定義し、定義されたアクセスユニットのサブセットは、サブレイヤデータストリームを含んでいてもよい。１つ以上のメタデータボックスは、１つの記述エントリを定義するＳＶＣサンプルグループ記述ボックスを含んでいてもよい。１つ以上のメタデータボックスは、アクセスユニットのサブセットを定義し、グループ化するＳＶＣサンプル−グループボックス（SVC Sample To Group Box）を含んでいてもよい。１つ以上のメタデータボックスは、スケーラブルビデオ符号化（ＳＶＣ）規格の拡張を含んでいてもよい。スケーラブルデータストリームは、複数のサブレイヤデータストリームを含んでいてもよい。１つ以上のメタデータボックスは、サブレイヤデータストリームに関連するヒントトラックを定義してもよい。サブレイヤデータストリームは、アドバンスドビデオ符号化（ＡＶＣ）規格に互換性を有するベースレイヤストリームを含んでいてもよい。
【００１７】
他の側面として、本発明は、変更ファイルフォーマットを使用するファイルサーバを提供する。ファイルサーバは、変更ファイルフォーマットに基づいて、データを保存し、抽出するメモリを備え、変更ファイルフォーマットは、スケーラブルデータストリームを保存するメディアデータセクションと、メディアデータセクションに保存されたスケーラブルデータストリームに関連する少なくとも１つのトラックを含むメタデータセクションとを有し、各トラックは、スケーラブルデータストリームのサブレイヤデータストリームを定義し、グループ化する１つ以上のメタデータボックスを含む。ファイルサーバは、更に、メモリに制御命令を供給し、スケーラブルデータストリームからサブレイヤデータストリームを抽出する処理モジュールを備える。スケーラブルデータストリームは、一連のアクセスユニットを含んでいてもよい。ファイルサーバは、エンドユーザ機器から１つ以上のデバイス要求を受信し、定義されたサブレイヤデータストリームを送信するネットワークインタフェースモジュールを更に備えていてもよい。１つ以上のメタデータボックスは、１つ以上のデバイス要求に基づいて、複数の記述エントリの１つを定義してもよい。１つ以上のメタデータボックスは、選択された記述エントリに基づいて、アクセスユニットのサブセットを定義し、定義されたアクセスユニットのサブセットは、サブレイヤデータストリームを含んでいてもよい。１つ以上のメタデータボックスは、１つの記述エントリを定義するＳＶＣサンプルグループ記述ボックスを含んでいてもよい。１つ以上のメタデータボックスは、アクセスユニットのサブセットを定義し、グループ化するＳＶＣサンプル−グループボックスを含んでいてもよい。スケーラブルデータストリームは、スケーラブルビデオストリームを含んでいてもよい。スケーラブルビデオストリームは、スケーラブルビデオ符号化（ＳＶＣ）エレメンタリストリームを含んでいてもよい。変更ファイルフォーマットは、変更されたスケーラブルビデオ符号化（ＳＶＣ）ファイルフォーマットを含んでいてもよい。スケーラブルデータストリームは、単一の符号化トラックを含んでいてもよい。スケーラブルデータストリームは、複数のサブレイヤデータストリームを含んでいてもよい。
【００１８】
更に他の側面として、本発明は、変更ファイルフォーマットを使用するデータ処理システムを提供する。データ処理システムは、１つ以上のデバイス要求を送信するエンドユーザ機器と、１つ以上のデバイス要求を受信し、変更ファイルフォーマットを使用するファイルサーバとを備える。ファイルサーバは、変更ファイルフォーマットに基づいて、データを保存し、抽出するメモリを備える。変更ファイルフォーマットは、スケーラブルデータストリームを保存するメディアデータセクションと、メディアデータセクションに保存されたスケーラブルデータストリームに関連する少なくとも１つのトラックを含むメタデータセクションとを有し、各トラックは、スケーラブルデータストリームのサブレイヤデータストリームを定義し、グループ化する１つ以上のメタデータボックスを含む。更に、ファイルサーバは、メモリに制御命令を供給し、スケーラブルデータストリームからサブレイヤデータストリームを抽出する処理モジュールを備える。ファイルサーバは、エンドユーザ機器から１つ以上のデバイス要求を受信し、定義されたサブレイヤデータストリームを送信するネットワークインタフェースモジュールを更に備えていてもよい。スケーラブルデータストリームは、一連のアクセスユニットを含んでいてもよい。１つ以上のメタデータボックスは、１つ以上のデバイス要求に基づいて、複数の記述エントリの１つを定義してもよい。１つ以上のメタデータボックスは、選択された記述エントリに基づいて、アクセスユニットのサブセットを定義し、定義されたアクセスユニットのサブセットは、サブレイヤデータストリームを含んでいてもよい。１つ以上のメタデータボックスは、１つの記述エントリを定義するＳＶＣサンプルグループ記述ボックスを含んでいてもよい。１つ以上のメタデータボックスは、アクセスユニットのサブセットを定義し、グループ化するＳＶＣサンプル−グループボックスを含んでいてもよい。スケーラブルデータストリームは、スケーラブルビデオストリームを含んでいてもよい。スケーラブルビデオストリームは、スケーラブルビデオ符号化エレメンタリストリームを含んでいてもよい。変更ファイルフォーマットは、変更されたスケーラブルビデオ符号化（ＳＶＣ）ファイルフォーマットを含んでいてもよい。１つ以上のメタデータボックスは、スケーラブルビデオ符号化（ＳＶＣ）規格の拡張を含んでいてもよい。１つ以上のメタデータボックスは、スケーラブルビデオ符号化（ＳＶＣ）規格の拡張を含んでいてもよい。スケーラブルデータストリームは、単一の符号化トラックを含んでいてもよい。スケーラブルデータストリームは、複数のサブレイヤデータストリームを含んでいてもよい。１つ以上のメタデータボックスは、サブレイヤデータストリームに関連するヒントトラックを定義してもよい。サブレイヤデータストリームは、アドバンスドビデオ符号化（ＡＶＣ）規格に互換性を有するベースレイヤストリームを含んでいてもよい。
【００１９】
他の側面として、本発明は、変更ファイルフォーマットからデータストリームを抽出するデータ抽出方法を提供する。データ抽出方法は、特定のデータストリームのための、１つ以上のデバイス要求を含む要求を受信するステップと、この要求を、変更ファイルフォーマットのメディアデータセクションに保存されている特定のスケーラブルデータストリームに関連付けるステップと、変更ファイルフォーマットのメタデータセクションに保存され、１つ以上のメタデータボックスを含む、特定のスケーラブルデータストリームに対応する１つ以上のトラックを特定するステップと、１つ以上のメタデータボックスを用いて、１つ以上のデバイス要求に基づいて、特定のスケーラブルデータストリームのサブレイヤデータストリームを特定するステップと、保存されているスケーラブルデータストリームから、サブレイヤデータストリームを抽出するステップとを有する。データ抽出方法は、抽出されたサブレイヤデータストリームを送信するステップを更に有していてもよい。データ抽出方法は、サブレイヤデータストリームを特定する前に特定された１つ以上のトラックを復号するステップを更に有していてもよい。１つ以上のメタデータボックスは、スケーラブルビデオ符号化（ＳＶＣ）規格の拡張を含んでいてもよい。スケーラブルデータストリームは、スケーラブルビデオストリームを含んでいてもよい。スケーラブルビデオストリームは、スケーラブルビデオ符号化（ＳＶＣ）エレメンタリストリームを含んでいてもよい。変更ファイルフォーマットは、変更されたスケーラブルビデオ符号化（ＳＶＣ）ファイルフォーマットを含んでいてもよい。スケーラブルデータストリームは、単一の符号化トラックを含んでいてもよい。スケーラブルデータストリームは、一連のアクセスユニットを含んでいてもよい。データ抽出方法は、１つ以上のデバイス要求に基づいて、複数の記述エントリの１つを定義するように、１つ以上のメタデータボックスを構成するステップを更に有していてもよい。データ抽出方法は、選択された記述エントリに基づいて、サブレイヤデータストリームを含むアクセスユニットのサブセットを定義するように、１つ以上のメタデータボックスを構成するステップを更に有していてもよい。１つ以上のメタデータボックスは、１つの記述エントリを定義するＳＶＣサンプルグループ記述ボックスを含んでいてもよい。１つ以上のメタデータボックスは、アクセスユニットのサブセットを定義し、グループ化するＳＶＣサンプル−グループボックスを含んでいてもよい。１つ以上のメタデータボックスは、スケーラブルビデオ符号化（ＳＶＣ）規格の拡張を含んでいてもよい。スケーラブルデータストリームは、複数のサブレイヤデータストリームを含んでいてもよい。スケーラブルデータストリームの符号化されたバージョンをメディアデータセクションに保存するステップを更に有していてもよい。スケーラブルデータストリーム（ＳＶＣ）は、スケーラブルビデオ符号化（ＳＶＣ）規格に基づいて符号化してもよい。サブレイヤデータストリームに関連するヒントトラックを定義するように、１つ以上のメタデータボックスを構成するステップを更に有していてもよい。サブレイヤデータストリームは、アドバンスドビデオ符号化（ＡＶＣ）規格に互換性を有するベースレイヤストリームを含んでいてもよい。
【発明を実施するための最良の形態】
【００２０】
図２は、変更ファイルフォーマットに対応するファイルサーバを含む例示的なネットワークのブロック図を示している。ファイルサーバ５０は、ネットワーク７０を介して再生装置６０に接続されている。ネットワーク７０は、データを伝送できる有線又は無線による周知のネットワークである。再生装置６０は、伝送されデータを受信し、処理できる周知の機器である。
【００２１】
図３は、図２に示すファイルサーバ５０の内部の例示的なブロック図を示している。ファイルサーバ５０は、変更ファイルフォーマットを実現するように構成できる周知の如何なるコンピューティング装置であってもよい。ファイルサーバ５０は、処理モジュール８２、ホストメモリ８４、ビデオメモリ８６、マスストレージデバイス８８及びインタフェース回路９０を備え、これらは、全て、周知の双方向システムバス９２によって接続されている。インタフェース回路９０は、ネットワーク７０（図３）を介して、データを送受信するための物理インタフェース回路を備える。インタフェース回路９０は、ファイルサーバ５０内でネットワークインタフェースカード上に実装されている。なお、インタフェース回路９０は、ファイルサーバ５０内で他の如何なる適切な手法で実現してもよく、例えば、マザーボード自体にインタフェース回路を実装してもよいことは、当業者にとって明らかである。マスストレージデバイス８８は、磁気記録技術、光記録技術、光磁気記録技術、又は他の何らかの大容量記憶媒体技術の任意の１つ以上の技術に基づく固定媒体及びリムーバブル媒体の両方を含むことができる。双方向システムバス９２は、ホストメモリ８４、８８の任意の部分へのアクセスを実現し、及びＣＰＵ８２、ホストメモリ８４、ビデオメモリ８６及びマスストレージデバイス８８間のデータ転送を実現する。ホストメモリ８４は、処理モジュール８２によって、システムメインメモリとして使用される。
Ｐ１５
また、ファイルサーバ５０は、キーボード９４、マウス９６及び関連するディスプレイ９８を含む多くの周辺入出力装置に接続されている。キーボード９４は、ＣＰＵ８２に接続されており、これにより、ユーザは、ファイルサーバ５０にデータ及び制御コマンドを入力することができる。マウス９６は、キーボード９４又はＣＰＵ８２に接続されており、カーソル制御デバイスとして、ディスプレイ９８上でグラフィック画像を操作するために使用される。ファイルサーバ５０は、データを表示に適する信号に変換するグラフィクス回路１００を備える。なお、図３に示すファイルサーバ５０の構成は、例示的なものであり、周知の他の如何なる手法でファイルサーバ５０を構成してもよい。
【００２２】
ＳＶＣファイルフォーマットは、ＡＶＣファイルフォーマットの拡張であるので、ＳＶＣファイルフォーマットは、メタデータセクション及びメディアデータセクションを含む。メディアデータセクションは、例えば、ビデオデータストリーム等、変更されていない、符号化されたＳＶＣエレメンタリストリームを保存し、ＳＶＣエレメンタリストリームは、一連のアクセスユニットから構成される。図４は、ＳＶＣエレメンタリストリーム４０の例示的な構成を示している。ＳＶＣエレメンタリストリーム４０は、アクセスユニット（access unit：ＡＵ）と呼ばれる一連の連続したユニットを含んでいる。ＳＶＣエレメンタリストリームを受信したデコーダは、各アクセスユニットをピクチャに復号し、ビデオシーケンスを生成する。
【００２３】
メタデータセクションは、メディアデータセクションに保存された各ＳＶＣエレメンタリストリームに関する情報を保存する。このような情報としては、以下に限定されるものではないが、ビデオストリームのタイプ、ビデオストリームの解像度、ビデオストリームのフレームレート、ビデオストリームにおける各アクセスユニットのストレージアドレス、ビデオストリーム内のランダムアクセスポイント、各アクセスユニットが復号されるタイミング等が含まれる。
【００２４】
スケーラブルビデオストリームは、様々なネットワークに適応化できる。例えば、スケーラブルビデオストリームが６０フレーム／秒で符号化され、再生装置が３０フレーム／秒のみをサポートしている場合、スケーラブルビデオストリームの一部だけが再生装置に送信される。他の具体例として、符号化されたスケーラブルビデオストリームの品質が、例えば、１０Ｍｂｐｓと非常に高いが、スケーラブルビデオストリームが伝送されるネットワークが１Ｍｂｐｓしかサポートしていない場合、ネットワークのサポートされた伝送速度に一致するように、スケーラブルビデオストリームの一部だけが送信される。このように、ネットワーク又は再生装置の要求に基づいて、符号化されたスケーラブルビデオストリームの全部又は一部のみがファイルフォーマットから抽出される。
【００２５】
スケーラブルビデオストリームは、スケーラブルビデオストリームの全体が復号された場合、フル解像度、完全なフレームレート及び高品質な復号結果が得られるという意味において、完全にスケーラブルである。なお、ネットワーク又は再生装置が、フル解像度、完全なフレームレート又は高品質の全体のスケーラブルビデオストリームをサポートしていない場合、ファイルフォーマットのデータセクションからスケーラブルビデオストリームの一部のみが抽出され、ネットワークを介して伝送され、使用される帯域幅が低減される。
【００２６】
ＳＶＣファイルフォーマットのストレージのために、スケーラブルビデオストリームは、ＳＶＣ規格で定義されたフォーマットに基づいて符号化される。符号化されたスケーラブルビデオストリームは、ＳＶＣファイルフォーマットのデータセクションに保存される。トラックは、ＳＶＣファイルフォーマットのメタデータセクションに保存され、ここで、トラックは、メディアデータセクションに保存されるスケーラブルビデオストリームに対応するメタデータ情報を含む。これらのトラックは、ＳＶＣファイルフォーマットのデータセクションに保存される符号化されたスケーラブルビデオストリームの全て又は一部を抽出するために用いられる情報を含む。各トラック内では、新たなメタデータボックスが定義される。新たなメタデータボックスは、スケーラブルビデオストリームから様々なタイプのビデオストリームを抽出するために用いられるパラメータを定義する。抽出されたビデオストリームを定義するために用いられるパラメータには、例えば、解像度、フレームレート及び品質等がある。例えば、第１の抽出されたビデオストリームは、低解像度要求に対応し、第２の抽出されたビデオストリームは、標準解像度要求に対応し、第３の抽出されたビデオストリームは、高解像度要求に対応する。
【００２７】
図５は、変更されたＳＶＣファイルフォーマット１１０の例示的な構成を示している。変更されたＳＶＣファイルフォーマット１１０は、メディアデータセクション１２０及びメタデータセクション１３０を含む。メディアデータセクション１２０は、１つ以上のスケーラブルデータストリーム又はＳＶＣエレメンタリストリームを含む。メタデータセクション１３０は、１つ以上のトラックを含む。一実施の形態においては、メタデータセクション１３０には、メディアデータセクション１２０に保存される各ＳＶＣエレメンタリストリームについて、１つのトラックが存在する。図５に示すように、メディアデータセクション１２０は、２つのＳＶＣエレメンタリストリーム１２２、１２４を含む。メタデータセクション１３０のトラック１３２は、メディアデータセクション１２０に保存されたＳＶＣエレメンタリストリーム１２２に対応している。メタデータセクション１３０のトラック１３４は、メディアデータセクション１２０に保存されたＳＶＣエレメンタリストリーム１２４に対応している。各ＳＶＣエレメンタリストリームは、一連のアクセスユニットを含む。図５では、ＳＶＣエレメンタリストリーム１２２の一部を拡大し、アクセスユニットの一部を示している。
【００２８】
新たな拡張として、変更されたＳＶＣファイルフォーマットのメタデータセクション内で、保存されたスケーラブルビデオストリームにおけるサブレイヤを定義し、抽出し、ここで、サブレイヤデータストリームは、解像度、フレームレート及び／又は品質等に関するデバイス要求によって特定される。更に、各サブレイヤデータストリームに対応する特定のアクセスユニットを特定し、抽出する１つ以上のメタデータボックスが定義される。各トラックは、これらの１つ以上のメタデータボックスを含むように構成される。図５は、特定のサブレイヤデータストリームを形成する特定のアクセスユニットを定義及び抽出するために、メタデータボックス１４０及びメタデータボックス１４２が定義された一実施の形態を示している。この実施の形態では、メタデータボックス１４０をサンプルグループ記述ボックス（SampleGroupDescriptionボックス）と呼び、メタデータボックス１４２をサンプル−グループボックス（SampleToGroupボックス）と呼ぶ。
【００２９】
図３及び図５に示す具体例では、再生装置６０は、ファイルサーバ５０に特定のビデオストリーム、この場合、ファイルフォーマット１１０のメディアデータセクション１２０に保存されたＳＶＣエレメンタリストリーム１２２の要求を送信する。この要求は、例えば、サポートされる特定の解像度及びフレームレート等、再生装置６０の必要な仕様を含む。ファイルサーバ５０は、この要求を受信すると、要求されたビデオストリームであるＳＶＣエレメンタリストリーム１２２を、メタデータセクション１３０内の対応するトラック１３２に照合させる。そして、ファイルフォーマットデコーダを用いて、照合されたトラック１３２だけが復号される。ファイルフォーマットデコーダは、メタデータセクション１３０に保存されてる他のトラックを復号せず、また、ＳＶＣエレメンタリストリーム１２２を含む、メディアデータセクション１２０に保存されている符号化されたスケーラブルビデオストリームのいずれも復号しない。更に、メディアデータセクション１２０に保存されているメディアデータは、メタデータセクション１３０に保存されているメタデータとは、異なる手法で符号化されており、したがって、異なるデコーダを必要とする。
【００３０】
トラック１３２が特定され、復号されると、メタデータボックス１４０がアクセスされる。メタデータボックス１４０は、１つ以上のデバイス要求を用いて、照合記述エントリ（matching description entry）を判定する。照合記述エントリは、デバイス要求に対応するパラメータ値及びgroup_description_index値を定義する。メタデータボックス１４２は、group_description_indexの値を用いて、対応するＳＶＣエレメンタリストリーム１２２における特定のアクセスユニットを特定し、抽出する。図５は、メタデータボックス１４２が、アクセスユニット１、４、７等を特定し、抽出する例示的なケースを示している。抽出されたアクセスユニットは、変更されず、符号化されたまま残される。アクセスユニットは、このように抽出された後、元のデバイス要求に一致するサブレイヤデータストリームとしてエンドユーザ機器に送信される。
【００３１】
図５に関連して上述した実施の形態では、各スケーラブルビデオストリームは、ファイルフォーマットのデータセクションに単一のビデオストリームとして保存され、単一のビデオストリームに関連する対応する１トラックは、ファイルフォーマットのメタデータセクションに保存される。更に、新たな拡張として、単一のビデオストリームから、対象となるサブストリーム又はサブレイヤを抽出するメカニズムを定義する。これに代えて、単一のビデオストリームに２つ以上のトラックを関連付けてもよい。
【００３２】
この変形の具体例として異なるエンドユーザ機器について、個別のトラックが生成されたとする。これらの機器は、それぞれ、自らがサポートできるフレームレート、空間的分解能、品質等の内部のサブセットを有していてもよい。１つのスケーラブルビデオストリームは、このような空間的分解能（ＱＣＩＦ、ＣＩＦ、ＳＤ及びＨＤ）、フレームレート（７．５、１５、３０、６０フレーム／秒）及び上述した様々な品質等、様々なデバイス要求をサポートする。このストリームは、変更ファイルフォーマットのメディアデータセクションに保存されている。メタデータセクション内には、例えば、３つのトラックを設けることができる。３つのトラックのそれぞれは、同じスケーラブルビデオストリームを参照する。ここで、各トラックは、全体のスケーラブルビデオストリームのサブセットに対応する。例えば、トラック１は、携帯用プレーヤのためにカスタム設計され、（小さいスクリーンサイズ、低いフレームレート等）トラック２は、標準のテレビジョン、コンピュータ等のためにカスタム設計され、（ＳＤスクリーンサイズ、標準のフレームレート等）、トラック３は、ＨＤプレーヤのためにカスタム設計される（大きいスクリーンサイズ、高いフレームレート等）。各トラックは、何らかの量のバリエーション（スケーラビリティ）をサポートしているので、各トラックは、記述エントリを定義するメタデータボックスを含む。この具体例では、トラック１は、ＱＣＩＦ、ＣＩＦ、７．５フレーム／秒及び１５フレーム／秒をサポートする。トラック２は、トラック１の全てと、ＳＤ及び３０フレーム／秒をサポートする。トラック３は、トラック２の全てと、ＨＤ及び６０フレーム／秒をサポートする。
【００３３】
この変形例では、エンドユーザ機器によって要求される特定のビデオストリームは、単一のトラックには対応していない。この場合、適切なトラックを特定するために、異なる手法が想定される。第１に、ファイルサーバがトラックの一部を復号し、トラックが定義するデバイス要求を判定してもよい。第２に、ファイルサーバがハイレベルでトラックを解析し、どのトラックを用いたらよいかを判定してもよい。第３に、自らが記述するコンテンツに関する詳しい情報を提供するトラックヘッダをトラックに設けてもよい。この場合、ファイルサーバは、各トラックからあるハイレベル情報を復号して、どのトラックを用いたらよいかを判定する。包括的に言えば、エンドユーザデバイス要求として受信したデバイス要求を適切なトラックに一致させる如何なる手法を用いてもよい。
【００３４】
一実施の形態においては、ＳＶＣエレメンタリストリームの一部の抽出は、２つの新たなボックス、SampleGroupDescriptionボックス及びＳＶＣSampleToGroupボックスを定義することによってサポートされる。
【００３５】
これらの新たなボックスは、スケーラブルビデオストリーム内でどのアクセスユニットを抽出するかを特定するかために用いられる特徴及びフィールドを定義する。SampleGroupDescriptionボックス内で定義される新たな各記述エントリは、一意的な記述エントリを定義し、各記述エントリは、ＳＶＣエレメンタリストリームから抽出することができる異なるタイプのビデオストリームを参照する。例えば、３つの異なる解像度として、低解像度、標準解像度、高解像度をサポートするＳＶＣエレメンタリストリームが符号化される場合、各サポートされている解像度あたり１つの記述エントリ、すなわち、３つの記述エントリが設けられる。各記述エントリは、後述するように、特定の解像度である低解像度、標準解像度、高解像度に対して、記述エントリフィールドを定義する。３つの異なる解像度である低解像度、標準解像度、高解像度及び２つの異なるフレームレートである高フレームレート及び低フレームレートをサポートするＳＶＣエレメンタリストリームが符号化される場合、解像度及びフレームレートの各組合せあたり１つ、すなわち、６つの異なる記述エントリが設けられる。
【００３６】
ＳＶＣ依存性記述エントリ、又は単に「記述エントリ」は、ＳＶＣエレメンタリストリーム内に存在する、様々な可能な空間−時間的組合せを記録し、記述する。各記述エントリは、「ｓｖｃｄ」のグループ化タイプを用いて定義される。記述エントリは、記述エントリの依存性に基づいて順序付けされる。第１の記述エントリは、ベースレイヤ記述を記録し、その後の記述エントリは、エンハンスメントレイヤ記述を記録する。group_description_indexは、順序付けられた記述エントリにインデクスを付すために使用される。また、group_description_indexは、様々なＳＶＣ  ＮＡＬユニットをグループ化するためにも用いられる。各ＳＶＣ  ＮＡＬユニットは、記述エントリの１つについて言及する。
【００３７】
ＳＶＣエレメンタリストリームの各ＳＶＣ  ＮＡＬユニットは、インデクスであるgroup_desciption_indexを用いて、特定のインデクスを参照する記述エントリＮＡＬユニットの順序付きリストにグループ化され、適切なデコード動作について、全ての下位のインデクス値を参照する全て又は幾つかのＮＡＬユニットを要求することができるが、上位のインデクス値を参照する如何なるＮＡＬユニットも要求しない。換言すれば依存性は、下位のレイヤの方向にのみ存在する。
【００３８】
一実施の形態においては、ファイルサーバは、記述エントリ内に存在する記述フィールドの値、例えば、解像度及び／又は時間的なレートに基づいて、適切なデコード処理に必要なインデクスのサブセットを判定する。他の実施の形態においては、エンドユーザ機器がインデクスのサブセットを判定する。
【００３９】
記述エントリの順序付きリストを参照するために用いられるグループ化タイプは、「ｓｖｃｄ」である。グループ化タイプは、このリスト内に存在するエントリを、ＳＶＣサンプルの全てのグループを含むＳＶＣSampleToGroupボックスにリンクするために使用される。ＳＶＣSampleToGroupボックスについては、後に詳細に説明する。
【００４０】
例示的なＳＶＣ依存性記述エントリシンタクス（SVC Dependency Descnption Entry syntax）を以下に示す。
【００４１】
【表１】
2009502055.tif 000003
【００４２】
変数profileIndicationは、ＡＶＣ／ＳＶＣビデオ規格に定義されているプロファイルコードを含む。変数profile_compatibilityは、ＡＶＣ／ＳＶＣビデオ規格に定義されているように、シーケンスパラメータセットにおいて、profile_DCとlevel_DCとの間のバイトと同様に定義されたバイトである。変数levelIndicationは、ＡＶＣ／ＳＶＣビデオ規格に定義されているレベルコードを含む。各エントリ内に存在する指示フィールドであるprofileIndication及びlevelIndicationフィールドは、特定のレイヤが互換性を有するプロファイル及びレベル値を提供する。変数temporal_levelは、ＡＶＣ／ＳＶＣビデオ規格に定義されているスケーラブル拡張ＮＡＬユニット内に存在するtemporal_levelシンタクス要素の値をとる。この負ではない整数は、時間に沿ってサンプルが提供する時間的なレベルを示す。最も低い時間的レベルは、０によって表され、時間的な方向のエンハンスメントレイヤには、１以上の数値が与えられる。ＡＶＣ  ＮＡＬユニットの場合、temporal_levelフィールドのデフォルト値は、０である。ＳＶＣスケーラブル拡張ＮＡＬユニット（SVC Scalable Extension NAL unit）では、extension_flagが０の場合、simple_prionty_idのtemporal_levelへのマッピングを指定するパラメータがＳＰＳ内に存在し、これに応じてマッピングが行われる。
【００４３】
dependency_idの値は、ＡＶＣ／ＳＶＣビデオ規格に定義されているスケーラブル拡張ＮＡＬユニット内に存在するdependency_idシンタクス要素の値をとる。dependency_idは、負ではない整数であり、０の値は、ＮＡＬユニットが最も低い空間的な分解能に対応していることを示し、１以上の全ての値は、エンハンスメントレイヤが、例えば、粗いグレインスケーラビリティ等、空間的な分解能及び／又は品質を高めていることを示している。また、dependency_idは、空間的スケーラビリティを制御する。ＡＶＣ  ＮＡＬユニットの場合、dependency_idフィールドのデフォルト値は、０である。ＳＶＣスケーラブル拡張ＮＡＬユニット（SVC Scalable Extension NAL unit）において、extension_flagが０の場合、simple_priority_idのdependency_idへのマッピングを指定するパラメータがＳＰＳ内に存在し、これに応じてマッピングが行われる。変数temporalFrameRateは、エントリ内の時間的なレベルフィールドに関連する時間的なフレームレートを示している。変数visualWidthは、ＳＶＣストリームのこのレイヤの符号化されたピクチャの幅の値を画素数で示している。変数のvisualHeightは、ＳＶＣストリームのこのレイヤの符号化されたピクチャの高さの値を画素数で示している。変数baseBitRateは、プログレッシブリファインメント（progressive refinement ）なしで、このレイヤが提供する最も低い品質のビットレートをビット／秒で示している。演算では、このＮＡＬユニット及び依存階層内の下位レベルが考慮に入れられる。変数ｍａｘＢｉｔＲａｔｅは、１秒間の各窓において、このレイヤが提供する最大レートをビット／秒で示している。演算では、このＮＡＬユニット及び依存階層内の下位レベルが考慮に入れられる。変数avgBitRateは、平均ビットレートをビット／秒で示している。演算では、このＮＡＬユニット及び下位レベルが考慮に入れられる。変数progressiveRefinementLayerFlagは、１の場合、このレイヤがプログレッシブリファインメントＮＡＬユニットを含み、ＦＧＳスケーラブルであることを示す。
【００４４】
ＳＶＣSampleToGroupボックスは、時間的、空間的及び品質的な要求によって課される制約条件に応じて、ＳＶＣファイルフォーマットに保存されているＳＶＣエレメンタリストリームからＳＶＣのスケーラブルなサブストリームを抽出するために使用される。ＳＶＣSampleToGroupボックスは、ＳＶＣサンプルの各ＮＡＬユニットのためのグループ化情報を提供する。グループ化情報は、各ＮＡＬユニットを、ＳＶＣDependencyDescriptionEntry内に存在する記述情報に関連付けるgroup_description_indexによって提供される。group_description_indexは、特定の記述エントリを参照する。group_description_indexの値は、１からSampleGroupDescriptionボックス内のサンプルグループエントリの数までの範囲をとる。アクセスユニット内の各ＮＡＬユニットには、特定のgroup_description_index値が割り当てられる。エンドユーザ機器によって指定された要求は、最終的に、特定のgroup_description_index値を決定する。そして、判定されたgroup_description_index値が割り当てられたアクセスユニット内の全てのＮＡＬユニット又はgroup_description_index値が判定されたgroup_description_index値より低いアクセスユニット内のＮＡＬユニットが、ファイルフォーマットのメディアデータセクションに保存されたスケーラブルビデオストリームから抽出される。これらの抽出されたアクセスユニットは、エンドユーザ機器に送信される。このようにして、エンドユーザ機器によって指定された要求に応じて、単一のスケーラブルビデオストリームの一部を抽出し、エンドユーザ機器に送信することができる。
【００４５】
例示的なＳＶＣSampleToGroupボックスシンタクスを以下に示す。
【００４６】
【表２】
2009502055.tif 000004
【００４７】
変数grouping_typeは、用いられているサンプルグループ化のタイプを特定する整数である。この変数は、ＳＶＣSampleToGroupボックスを、グループ化タイプについて値「ｓｖｃｄ」を有する関連するサンプルグループ記述テーブルにリンクする。変数sample_countは、ＳＶＣエレメンタリストリームのメディアトラック内に存在するサンプル数を示し、サンプル−チャンクボックス（Sample to Chunk Box）を用いて算出された推定値である。変数のnumberOfNalUnitsは、ＳＶＣサンプル内に存在するＮＡＬユニットの数を示す整数である。変数group_description_indexは、このグループ内のＮＡＬユニットを記述するサンプルグループエントリのインデクスを示す整数である。インデクスの値は、１から特定のSampleGroupDescriptionボックスのサンプルグループエントリの数までの範囲をとり、又は特定のＳＶＣサンプルがこのタイプのグループのメンバではないことを示す０の値をとる。変数isDiscardableNalUnitFlagは、ＡＶＣビデオ規格のＮＡＬユニットセマンティクスにおいてそのセマンティクスが指定されるフラグである。変数isPRNalUnitFlagは、１の場合、このＮＡＬユニットがプログレッシブリファインメントＮＡＬユニットであることを示すフラグである。変数quality_levelは、ＮＡＬユニットヘッダ又はquality_level_list［］で指定されている通りに、現在のＮＡＬユニットの品質レベルを指定する。この変数がない場合、値は、０であると推定される。
【００４８】
ＩＳＯベースシンタクスにおいて定義されているサブサンプル情報ボックスは、ＳＶＣエレメンタリストリームの選択部分を抽出するために使用されたSampleToGroupボックスを定義するために使用することは容易ではない。第１に、サブサンプル情報ボックスは、関連する記述エントリにマッピングするための「grouping_type」インジケータを有さない。第２に、サブサンプル情報ボックスは、「sample_count」と呼ばれる（３２）ビットエントリを必要とするので、この目的のためには、非効率である。これは本来、サンプルのランを示すことを意図されていたが、ＳＶＣファイルフォーマットの場合、各ＳＶＣサンプルのsubsample_countの値が変数である場合があり、したがって、各ＳＶＣサンプルについて、このsample_countを使用することが必須となる。第３に、新たなファイルフォーマットでは、ＮＡＬユニットのカウントが使用されており、各ＮＡＬユニットの長さは、事前に指定されているため、各サブサンプルサイズをシグナリングする必要がない。
【００４９】
図６は、ＳＶＣ規格に基づくＳＶＣサンプル又はＳＶＣアクセスユニットの例示的な構造を示している。ＳＶＣサンプルは、外部的にフレーム化され、その外部のフレーム化によって指定されたサイズを有する。ＳＶＣアクセスユニットは、一組のＮＡＬユニットから構成される。各ＮＡＬユニットは、長さで表され、この長さは、後続するＮＡＬユニットの長さをバイトで表している。レングスフィールドは、１バイト、２バイト又は４バイトに構成される。コンフィグレーションサイズは、デコーダコンフィグレーション記録において指定される。各ＮＡＬユニットは、ＩＳＯ／ＴＥＣ  ＡＶＣ／ＳＶＣビデオ規格で指定されているように、ＮＡＬユニットデータを含む。
【００５０】
ＳＶＣデコーダコンフィグレーションレコードは、各サンプルで用いられているレングスフィールドのサイズを含み、初期値パラメータセットと共に、含まれているＮＡＬユニットの長さを示す。ＳＶＣデコーダコンフィグレーションレコードは、外部的にフレーム化され、これは、ＳＶＣデコーダコンフィグレーションレコードのサイズが、ＳＶＣデコーダコンフィグレーションレコードを含む構造によって決定することを意味する。また、ＳＶＣデコーダコンフィグレーションレコードは、バージョンフィールドを含む。ＳＶＣデコーダコンフィグレーションレコードに対する互換性がない変更は、バージョン番号の変更によって示される。
【００５１】
パラメータセットエレメンタリストリーム、又はパラメータセットエレメンタリストリームに関連して用いられるビデオエレメンタリストリームのコンフィグレーションを提供する場合、コンフィグレーションレコードは、シーケンス又はピクチャパラメータセットを全く含まず、例えば、変数numOfSequenceParameterSets及び変数numOfPictureParameterSetsの両方が値を有する。
【００５２】
ＳＶＣProfileIndication及びＳＶＣLevelIndicationの値、並びにプロファイル互換性を示すフラグは、スケーラブルビデオストリームの全てのパラメータセットに有効である。変数levelIndicationは、含まれているパラメータセットにおいて指示されている最高レベル以上の能力のレベルを示す。各プロファイル互換性フラグは、全ての含まれているパラメータセットがそのフラグを設定する場合、設定される。変数profileIndicationは、全体のストリームが従うプロファイルを示す。各レイヤの個々のプロファイル及びレベルは、ＳＶＣDependencyDescriptionEntryボックスに記録される。
【００５３】
例示的なＳＶＣデコーダコンフィグレーションレコードシンタクスを以下に示す。
【００５４】
【表３】
2009502055.tif 000005
【００５５】
変数ＳＶＣProfileIndicationは、ＳＶＣ規格で定義されているプロファイルコードを含む。変数profile_compatibilityは、ＡＶＣ規格に定義されているように、シーケンスパラメータセットにおいて、profile_IDCとlevel_IDCとの間のバイトと同様に定義されたバイトである。変数ＳＶＣLevelIndicationは、ＡＶＣ仕様で定義されているレベルコードを含む。変数lengthSizeMinusOneは、関連するストリームのＳＶＣビデオサンプル又はＳＶＣパラメータセットサンプル内のＮＡＬUnitLengthフィールドの長さから１を減算した値をバイトで示している。例えば、１バイトのサイズは、０の値で示される。このフィールドの値は、０、１又は３の１つであり、これらは、それぞれ、１バイト、２バイト又は４バイトで符号化された長さに対応する。変数numOfSequenceParameterSetsは、ＳＶＣエレメンタリストリームを復号するためのシーケンスパラメータセットの初期セットとして用いられるシーケンスパラメータセットの数を示している。変数sequenceParameterSetLengthは、ＡＶＣ規格で定義されているように、シーケンスパラメータセットＮＡＬユニットの長さをバイトで示す。変数sequenceParameterSetNALUnitは、ＡＶＣ規格で指定されているシーケンスパラメータセットＮＡＬユニットを含む。シーケンスパラメータセットは、許可された間隔で、昇順パラメータセット識別子の順に配置される。変数numOfPictureParameterSetsは、ＳＶＣエレメンタリストリームを復号するためのピクチャパラメータセットの初期セットとして用いられるピクチャパラメータセットの数を示している。変数pictureParameterSetLengthは、ＡＶＣ規格で定義されているように、ピクチャパラメータセットＮＡＬユニットの長さをバイトで示している。変数pictureParameterSetNALUnitは、ＡＶＣ規格で指定されているピクチャパラメータセットＮＡＬユニットを含む。ピクチャパラメータセットは、許可された間隔で、昇順パラメータセット識別子の順に配置される。
【００５６】
上述のように、スケーラブルＳＶＣビデオストリームは、単一のトラックとして保存される。スケーラブルＳＶＣビデオストリームがＡＶＣ互換のベースレイヤを有する場合、上述のように、新たな拡張を用いて、各ＳＶＣサンプルに存在するＡＶＣ互換のＮＡＬユニットが互いにグループ化される。どのエントリがＡＶＣ互換性を有するかを判定するために、ＳＶＣDependencyDescriptionEntries内に存在するプロファイル及びレベルインジケータを用いて、ＳＶＣSampleToGroupボックスを解析し、各ＳＶＣサンプルから、ＡＶＣ互換性を有するＮＡＬユニットだけを抽出する。
【００５７】
変更されたＳＶＣファイルフォーマットは、ＩＳＯベースメディアファイルフォーマットに由来する。したがって、変更されたＳＶＣファイルフォーマットの用語と、ＩＳＯベースメディアファイルフォーマットの用語との間には、対応関係がある。例えば、変更されたＳＶＣファイルフォーマットで用いられるストリーム及びアクセスユニットという用語は、それぞれ、ＩＳＯベースメディアファイルフォーマットにおけるトラック及びサンプルという用語に対応している。
【００５８】
ＩＳＯベースメディアファイルフォーマットの用語では、ＳＶＣトラック（ビデオ及びパラメータセットトラックの両方）は、ビデオ又はビジュアルトラックである。したがって、HandlerBox内のhandler_typeの「ｖｉｄｅ」、ビデオメディアヘッダ「ｖｍｈｄ」、及び後述するように、VisualSampleEntryの派生が使用される。
【００５９】
ＳＶＣビデオエレメンタリストリームのためのサンプルエントリ及びサンプルフォーマットは、以下のように定義される。
【００６０】
【表４】
2009502055.tif 000006
【００６１】
ＡＶＣに対する下位互換性を維持するために、２種類のビジュアルサンプルエントリを定義する。第１に、ＳＶＣエレメンタリストリームがＡＶＣ互換のベースレイヤを含む場合、ＡＶＣビジュアルサンプルエントリ（「ａｖｃｌ」）を使用する。ここでこのエントリは、最初にＡＶＣコンフィグレーションボックスを含み、これに後に定義するＳＶＣコンフィグレーションボックスが続く。ＡＶＣコンフィグレーションボックスは、ＡＶＣファイルフォーマット規格におけるＡＶＣDecoderConfigurationRecordによって定義されるように、ＡＶＣ互換のベースレイヤに関するプロファイル、レベル及びパラメータセット情報を記録する。ＳＶＣコンフィグレーションボックスは、後に定義するＳＶＣDecoderConfigurationRecordによって定義されるように、ＳＶＣ互換のエンハンスメントレイヤに関するプロファイル、レベル及びパラメータセット情報を記録する。ＳＶＣエレメンタリストリームがＡＶＣベースレイヤを含んでいない場合、ＳＶＣビジュアルサンプルエントリ（「ｓｖｃｌ」）を使用する。ＳＶＣビジュアルサンプルエントリは、後に定義するように、ＳＶＣコンフィグレーションボックスを含む。これは、後述するＳＶＣDecoderConfigurationRecordを含む。ＩＳＯベースメディアファイルフォーマットによって許可されているように、複数のサンプル記述を用いて、異なるコンフィグレーション又はパラメータセットを用いるビデオのセクションを示す。
【００６２】
例示的なＡＶＣコンフィグレーションボックス及びＳＶＣコンフィグレーションボックスシンタクスを以下に示す。
【００６３】
【表５】
2009502055.tif 000007
【００６４】
ベースクラスVisualSampleEntryの変数Compressornameは、推奨されている値「＼０１２ＡＶＣコーディング」又は「＼０１２ＳＶＣコーディング」と共に用いられる圧縮器の名称を示す（＼０１２は、ストリングの長さをバイトで表した１０である）。個別のパラメータセットストリームが使用されている場合、変数numOfSequenceParameterSets及び変数numOfPictureParameterSetsは、何れも０でなくてはならない。
【００６５】
ＳＶＣビデオエレメンタリストリームにおけるサンプルのフォーマットは、ＳＶＣエレメンタリストリームのためのデコーダ固有のコンフィグレーションによって構成される。ＳＶＣサンプルは、図７に示すように、元の符号化されたピクチャに存在する全てのスケーラブルなレベルに関する全てのＮＡＬユニットを含む。
【００６６】
例示的なＳＶＣサンプルシンタクスを以下に示す。
【００６７】
【表６】
2009502055.tif 000008
【００６８】
変数ＮＡＬUnitLengthは、ＮＡＬユニットのサイズをバイトで示している。レングスフィールドは、１バイトＮＡＬヘッダ及びＥＢＳＰペイロードの両方のサイズを含むが、レングスフィールド自体を含んでいない。変数ＮＡＬUnitは、単一のＮＡＬユニットを含む。ＮＡＬユニットのシンタクスは、ＩＳＯ／ＩＥＣ  ＡＶＣ／ＳＶＣビデオ規格で定義されている通りであり、１バイトＮＡＬヘッダ及び可変長のカプセル化されたバイトストリームペイロードの両方を含む。
【００６９】
ＳＶＣパラメータセットを個別のエレメンタリストリームとして保存する場合にも、ＡＶＣファイルフォーマットにおいて指定されているＡＶＣパラメータセットエレメンタリストリームの定義が適用される。
【００７０】
VisualSampleEntryの幅及び高さは、全体のスケーラブルなビットストリームを復号することによって得られる画素に関して正しく切り取られた最大の空間的な分解能を記録する。各レイヤの個々の幅及び高さを得るために、グループ記述エントリが評価される。本明細書において特に言及しない限り、ＡＶＣファイルフォーマット規格で指定されている他の全ての定義が適用される。
【００７１】
包括的に言えば、新たなＳＶＣファイルフォーマット拡張により、完全にスケーラブルで、階層的にスケーラブルなストリームへのアクセス及び適応化が実現する。グループ化の手法によって、複数のグループ記述エントリの作成が可能になり、各記述エントリは、スケーラブルなレイヤのプロパティ、及び完全にスケーラブルなストリームの場合、可能な細分化情報を記述する。各記述エントリは、時間的なフレームレート（時間的スケーラビリティ）、空間的な寸法（空間的スケーラビリティ）、このレイヤから利用可能なビットレートの範囲、ファイングレインスケーラブル（Fine Grain Scalable）であるか否かの指示、プロファイル及びレベル指示、並びに依存情報を記録する。依存階層は、グループ記述エントリのインデクスによって容易に維持され、この階層において、より高次のインデクスは、以下のエントリによって記述される下位のレイヤの全て又は一部に依存することを示す。SampleToGroupボックスは、ＳＶＣサンプルの各ＮＡＬユニットをgroup_description_indexにマッピングする。これにより、不要なデータを効率的に読み出し、解析し、スキップすることができる。スケーラブルなサンプルの全体が望まれる場合、ＳＶＣサンプルの全体が読み出される。一方、特定のスケーラブルなレイヤだけが望まれている場合、所望のレイヤにマッピングされないＮＡＬユニット（ＶＣＬ又はこの他）が解析中にスキップされる。
【００７２】
変更ファイルフォーマットは、ファイルフォーマットに保存されているスケーラブルなレイヤの全体又はその一部にアクセスし、抽出するメカニズムを定義する。ネットワークを介した伝送及びネットワークを介した符号化データの可能な適応化のために、ＳＥＩメッセージにおけるスケーラビリティ情報を使用し、又はネットワーク上で望まれないＮＡＬユニットを除外する代替の規則を使用する。１つの可能性は、ＲＴＰマッピングプロセスの一部としてこのような代替の機能を実現するための規則を定義することである。
【００７３】
変更ファイルフォーマットは、既存のＡＶＣファイルフォーマット規格に対し、最大限の下位互換性を有する。ＡＶＣ互換のストリームを保存する場合、デコーダ構成、サンプルシンタクス構造及びエレメンタリストリーム構造は、全く変更されていない。ファイルタイプ指示（File Type indication）は、compatible_brandsリストにおいて、ブランド「ａｖｃｌ」を用いて、ＡＶＣ互換のベースレイヤストリームの存在をシグナリングする。ＡＶＣ互換のストリームの存在は、各group_description_entry内に存在するプロファイル／レベルインジケータを読み出すことによって検出される。これに代えて、ＡＶＣ互換のベースレイヤストリームのために個別の「ヒント」トラックを生成してもよい。
【００７４】
一実施の形態においては、抽出されたアクセスユニットは、ネットワークを介して、リアルタイムトランスポートプロトコル（Real-time Transport Protocol：ＲＴＰ）を用いて送信される。ＲＴＰは、ペイロード、この場合、抽出されたアクセスユニットに追加される自らのヘッダを有する。ヒントトラックは、予め生成されたＲＴＰヘッダと、スケーラブルデータへのポインタを含む。ファイルサーバが抽出されたアクセスユニットを送信する場合、適切なヒントトラックがアクセスされ、予め生成されたＲＴＰヘッダ及びポインタが読み出され、この結果、ＲＴＰヘッダを生成する更なるオーバヘッドが排除される。
【００７５】
ＡＶＣヒントトラックの各サンプルは、スケーラブルビデオストリームにおけるＡＶＣベースレイヤに互換性を有するＮＡＬユニットを参照する情報を保存する。このサンプル内の全てのＮＡＬユニットは、同じタイムスタンプを有する。
【００７６】
ＡＶＣヒントトラックの例示的なシンタクスを以下に示す。
【００７７】
【表７】
2009502055.tif 000009
【００７８】
変数sample_indexは、ＡＶＧベースレイヤＮＡＬユニットを含むＳＶＣサンプルのサンプル数を示す。変数nalunitcountは、ＡＶＧ互換性を有するＳＶＣサンプルの始めから連続したＮＡＬユニットの数を示す。
【００７９】
図７は、変更されたＳＶＣファイルフォーマットを生成する例示的な処理のフローチャートである。ステップ２００において、変更されたＳＶＣファイルフォーマットを生成するように構成されたファイルサーバは、エンドユーザ機器から要求を受信する。この要求では、送信すべき特定のデータストリームの名称が特定される。特定のデータストリームは、変更ファイルフォーマットに保存される特定のスケーラブルデータストリームに対応している。また、この要求は、サポートされている解像度やフレームレート等、エンドユーザ機器のデバイス要求を含む。ステップ２１０において、ファイルサーバは、特定のデータストリームに関連するトラックを判定する。ステップ２２０において、ファイルサーバは、ステップ２１０で判定したトラックを復号する。ステップ２３０において、復号されたトラック内の１つ以上のメタデータボックスを用いて、デバイス要求に関連する記述エントリを判定する。一実施の形態においては、復号されたトラックは、関連する記述エントリを判定するために使用されるSampleGroupDescriptionボックスを含む。この実施の形態では、記述エントリは、デバイス要求に対応するパラメータ値を定義する。ステップ２４０では、１つ以上のメタデータボックスを用いて、特定のスケーラブルデータストリームにおいて、アクセスユニットと、各アクセスユニット内の特定のＮＡＬユニットとを判定する。アクセスユニット内の特定のＮＡＬユニットは、ステップ２３０で判定された記述エントリに基づいて判定される。一実施の形態においては、復号されたトラックは、特定のアクセスユニットを判定するために用いられるSampleToGroupボックスを含む。ステップ２５０では、ステップ２４０で判定された特定のアクセスユニットが特定のスケーラブルデータストリームから抽出される。抽出されたアクセスユニットは、特定のスケーラブルデータストリームのサブレイヤデータストリームである。このサブレイヤデータストリームは、ステップ２００で受信したデバイス要求に一致し、したがって、エンドユーザ機器がサポートできるストリームである。ステップ２６０では、サブレイヤデータストリームがエンドユーザ機器に送信される。
【００８０】
本発明の構成及び動作の原理の明瞭に説明するために、様々な詳細を含む特定の実施の形態を用いて本発明を説明した。このような特定の実施の形態の説明及びその細部は、ここに添付する発明の範囲を制限するものではない。本発明の精神及び範囲から逸脱することなく、例示的に選択された具体例を変更できることは、当業者にとって明らかである。
【図面の簡単な説明】
【００８１】
【図１】ＡＶＣファイルフォーマットの例示的な構成を示す図である。
【図２】変更ファイルフォーマットを生成するように構成されたファイルサーバを含む例示的なネットワークのブロック図である。
【図３】図２のファイルサーバの内部構成の例示的なブロック図である。
【図４】ＳＶＣエレメンタリストリームの例示的な構成を示す図である。
【図５】変更されたＳＶＣファイルフォーマットの例示的な構成を示す図である。
【図６】ＳＶＣ規格に基づくＳＶＣアクセスユニットの例示的な構造を示す図である。
【図７】変更されたＳＶＣファイルフォーマットを生成する例示的な処理のフローチャートである。
【図１】
2009502055.tif 000010
【図２】
2009502055.tif 000011
【図３】
2009502055.tif 000012
【図４】
2009502055.tif 000013
【図５】
2009502055.tif 000014
【図６】
2009502055.tif 000015
【図７】
2009502055.tif 000016