(57)【特許請求の範囲】
【請求項１】
ＩＳＯベースメディアファイルフォーマットに基づくファイル（７０２）のメディアデータコンテナ（１０４）に記憶された、パケット化されたメディアアクセスユニットのメディアペイロードおよび前記メディアアクセスユニットの正確なメディアタイミングを回復するための制御情報を含む転送データパケット（１１０；１１２）を処理するための、かつメタデータコンテナ（１０６）に記憶された関連付けられたメタ情報を処理するための装置（６００）であって、前記関連付けられたメタ情報は、転送タイミング情報と、前記メディアデータコンテナ（１０４）内の前記記憶された転送データパケットの記憶位置を示す位置情報とを含み、前記装置は、
前記制御および転送タイミング情報に基づいて、各メディアアクセスユニットについてのサンプル復号化時間情報（６０６；７０６）を決定するためのプロセッサ（６０２）を備え、前記サンプル復号化時間情報は、メディアタイミングを反映し、かつ前記記憶された転送データパケットのどのペイロードをどの時点で再生するかを示し、
前記プロセッサは、各復号化情報サンプル（６０４；７０４）がメディアアクセスユニットに関係付けられ、かつ記憶された転送データパケット（１１０；１１２）からメディアアクセスユニットをパケット分解することに関係のある１つ以上の転送データパケットへのリンクを含むように、記憶された転送データパケット（１１０；１１２）の内容と記憶された関連付けられたメタ情報（１２４；１２８）とに基づいて、メディアアクセスユニットごとに復号化情報サンプル（６０４；７０４）を決定し、前記プロセッサ（６０２）は、記憶された転送データパケット（１１０；１１２）内の前記関係付けられたメディアアクセスユニットの開始アドレスおよび終了アドレスを示すように、前記復号化情報サンプル（６０４；７０４）を決定するように適合され、前記開始アドレスは、前記メディアアクセスユニットの先頭を示すメディアデータサンプルの位置を表わし、前記終了アドレスは、前記メディアアクセスユニットの終了を示すメディアデータサンプルの位置を表わし、
前記プロセッサ（６０２）は、前記メディアペイロードのメディアアクセスユニットに関係付けられた復号化情報サンプルを、ＩＳＯベースメディアファイルフォーマットに基づくファイル（７０２）の前記メディアデータコンテナ（１０４）に記憶し、かつ関連付けられたサンプル復号化時間情報（６０６；７０６）を復号化メタ情報（６０６；７０６）として前記メタデータコンテナ（１０６）に記憶するように適合され、前記復号化メタ情報（６０６；７０６）は、前記メディアデータコンテナ（１０４）内の前記関連付けられた復号化情報サンプルについての復号化時間および位置を示す、装置。
【請求項２】
前記プロセッサ（６０２）は、前記復号化情報サンプルを前記メディアデータコンテナ（１０４）の復号化情報チャンク（６０４；７０４）に記憶するように適合され、前記復号化情報チャンク（６０４；７０４）は、少なくとも１つの復号化情報サンプルを含む、請求項１に記載の装置。
【請求項３】
前記プロセッサ（６０２）は、復号化情報メタデータトラック（６０６；７０６）のチャンクオフセットテーブルを記憶するように適合され、前記チャンクオフセットテーブルは、前記メディアデータコンテナ（１０４）への各復号化情報チャンク（７０４）のインデックスを示す、請求項２に記載の装置。
【請求項４】
前記プロセッサ（６０２）は、前記復号化情報サンプルの前記復号化時間をサンプルテーブルボックス（ｓｔｔｓ）に記憶するように適合され、復号化情報サンプルの復号化時間を、前記復号化情報チャンク（７０４）内の関連付けられたサンプル番号にインデックスすることを可能とする、請求項２または３に記載の装置。
【請求項５】
前記記憶された転送データパケット（１１０；１１２）は、ＭＰＥＧ−２転送ストリームパケットを含む、先行する請求項のうちいずれか１項に記載の装置。
【請求項６】
前記記憶された転送データパケット（１１０；１１２）は、パケット化されたメディアデータサンプルを有するＲＴＰパケットを含む、請求項１から４のいずれか１項に記載の装置。
【請求項７】
前記記憶された転送データパケットは、第１および第２のメディアストリームに関係付けられた、第１の転送データパケット（１１０）および第２の転送データパケット（１１２）を含み、前記プロセッサ（６０２）は、前記記憶された転送データパケット（１１０；１１２）のどちらが前記第１または第２のメディアストリームに関係するかを決定するように適合される、先行する請求項のうちいずれか１項に記載の装置。
【請求項８】
前記プロセッサ（６０２）は、第１／第２の復号化情報サンプルが、前記第１／第２のメディアストリームに属する関係付けられた第１／第２のメディアアクセスユニットの開始アドレスおよび終了アドレスを示すように、前記第１／第２のメディアアクセスユニットごとに、第１／第２の復号化情報を決定するように適合され、前記開始アドレスは、前記第１／第２のメディアアクセスユニットの先頭を示すメディアデータサンプルの位置を表わし、前記終了アドレスは、前記第１／第２のメディアアクセスユニットの終了を示すメディアデータサンプルの位置を表わし、前記メディアデータサンプルは、前記メディアデータコンテナ（１０４）内の前記記憶された第１／第２の転送データパケットに含まれる、請求項７に記載の装置。
【請求項９】
前記プロセッサ（６０２）は、前記第１／第２の復号化情報サンプルを前記メディアデータコンテナ（１０４）に記憶し、かつ第１／第２の復号化メタ情報（６０６；７０６）を前記メタデータコンテナ（１０６）に記憶するように適合され、前記第１／第２の復号化メタ情報（６０６；７０６）は、前記メディアデータコンテナ（１０４）内の前記第１／第２の復号化情報サンプルについての第１／第２の復号化時間および第１／第２の位置を示す、請求項８に記載の装置。
【請求項１０】
前記プロセッサ（６０２）は、前記第１／第２の復号化情報サンプルを前記メディアデータコンテナ（１０４）の第１／第２の復号化情報チャンク（６０４；７０４）に記憶するように適合され、前記第１／第２の復号化情報チャンク（６０４；７０４）は、少なくとも１つの第１／第２の復号化情報サンプルを含む、請求項８または９に記載の装置。
【請求項１１】
前記プロセッサ（６０２）は、前記第１／第２の復号化情報サンプルの第１／第２の復号化時間を第１／第２のサンプルテーブルボックス（ｓｔｔｓ）に記憶するように適合され、第１／第２の復号化情報サンプルの前記第１／第２の復号化時間を、前記第１／第２の復号化情報チャンク（７０４）内の関連付けられたサンプル番号にインデックスすることを可能とする、請求項１０に記載の装置。
【請求項１２】
前記記憶された第１の転送データパケット（１１０）は、パケット化された第１のメディアデータを有する第１のＲＴＰパケットを含み、前記記憶された第２の転送データパケット（１１２）は、パケット化された第２のメディアデータを有する第２のＲＴＰパケットを含む、請求項７から１１のうちいずれか１項に記載の装置。
【請求項１３】
前記記憶された第１および第２のＲＴＰパケット（１１０；１１２）は、前記第１および第２のＲＴＰパケット（１１０；１１２）に関連付けられた第１および第２のＲＴＣＰパケット（１１４；１１５）の少なくとも一部分を追加的に含み、前記メタ情報は、前記メタデータコンテナ（１０６）内の前記第１および第２のＲＴＣＰパケットの転送タイミング情報と位置情報とを追加的に含み、前記記憶された関連付けられた第１および第２のＲＴＣＰパケットの一部分は、前記メディアデータコンテナ（１０４）のＲＴＣＰチャンク（１２２）にサンプルとして記憶され、前記ＲＴＣＰパケット（１１４；１１５）のタイミング情報および位置情報は、前記メタデータコンテナ（１０６）のＲＴＣＰトラック（１２８）に記憶される、請求項１２に記載の装置。
【請求項１４】
前記プロセッサ（６０２）は、前記記憶された第１および第２のＲＴＰパケット（１１０；１１２）に基づいて、前記記憶された第１および第２のＲＴＣＰパケットと、前記記憶された関連付けられたメタ情報（１２４；１２８）に基づいて、第１および第２の復号化情報（６０４；７０４）とをそれぞれ決定するように構成され、前記第１および第２の復号化情報（６０４；７０４）は、前記記憶された第１および第２のＲＴＰパケットのどのペイロードをどの時点でそれぞれ再生するかを示す、請求項１３に記載の装置。
【請求項１５】
前記メディアデータコンテナ（１０４）は、各々が暗号キーを有するキーストリームパケット（１１１２）を含み、前記暗号キーは、前記記憶された転送データパケットのうち少なくとも１つのペイロードに関連付けられ、前記記憶されたキーストリームパケット（１１１２）の転送タイミング情報および位置情報は、前記メタデータコンテナ（１０６）に記憶される、先行する請求項のうちいずれか１項に記載の装置。
【請求項１６】
前記記憶された転送データパケット（１１０；１１２）に基づいて、前記関連付けられたメタ情報（１２４；１２８）に基づいて、かつ前記記憶されたキーストリームパケット（１１１２）および前記関連付けられたキーストリームメタ情報（１１２８）に基づいて、前記記憶された転送データパケット（１１０；１１２）のペイロードに解読情報を割当てるように適合され、前記解読情報は、前記記憶された転送データパケット（１１０；１１２）の前記ペイロードを再生するのにどの暗号キーをいつ使用するかを示す、請求項１５に記載の装置。
【請求項１７】
ＩＳＯベースメディアファイルフォーマットに基づくファイル（７０２）のメディアデータコンテナ（１０４）に記憶された、パケット化されたメディアアクセスユニットのメディアペイロードおよび前記メディアアクセスユニットの正確なメディアタイミングを回
復するための制御情報を含む転送データパケット（１１０；１１２）を処理するための、かつメタデータコンテナ（１０６）に記憶された関連付けられたメタ情報を処理するための方法であって、前記関連付けられたメタ情報は、前記メディアデータコンテナ内の前記記憶された転送データパケットの転送タイミング情報と記憶位置を示す位置情報とを含み、前記方法は、
前記制御および転送タイミング情報に基づいて、各メディアアクセスユニットについてのサンプル復号化時間情報（６０６；７０６）を決定するステップを含み、前記サンプル復号化時間情報は、メディアタイミングを反映し、かつ前記記憶された転送データパケットのどのペイロードをどの時点で再生するかを示し、さらに、
各復号化情報サンプルがメディアアクセスユニットに関係付けられ、かつ記憶された転送データパケット（１１０；１１２）から前記メディアアクセスユニットをパケット分解することに関係のある１つ以上の転送データパケットへのリンクを含むように、記憶された転送データパケット（１１０；１１２）の内容と記憶された関連付けられたメタ情報（１２４；１２８）とに基づいて、メディアアクセスユニットごとに復号化情報サンプル（６０４；７０４）を決定するステップを含み、復号化情報サンプル（６０４；７０４）は、記憶された転送データパケット（１１０；１１２）内の前記関係付けられたメディアアクセスユニットの開始アドレスおよび終了アドレスを示すように決定され、前記開始アドレスは、前記メディアアクセスユニットの先頭を示すメディアデータサンプルの位置を表わし、前記終了アドレスは、前記メディアアクセスユニットの終了を示すメディアデータサンプルの位置を表わし、さらに、
前記メディアペイロードのメディアアクセスユニットに関係付けられた復号化情報サンプルを、ＩＳＯベースメディアファイルフォーマットに基づくファイル（７０２）の前記メディアデータコンテナ（１０４）に記憶し、かつ関連付けられたサンプル復号化時間情報を復号化メタ情報（６０６；７０６）として前記メタデータコンテナ（１０６）に記憶するステップを含み、前記復号化メタ情報（６０６；７０６）は、前記メディアデータコンテナ（１０４）内の前記関連付けられた復号化情報サンプルについての復号化時間および位置を示す、方法。
【請求項１８】
コンピュータおよび／またはマイクロコントローラ上で動作するときに、請求項１７に記載の方法を実行するためのコンピュータプログラム。
【請求項１９】
ＩＳＯベースメディアファイルフォーマットに基づくファイル（７０２）を読出すための装置であって、前記ファイルは、前記ファイルに関係付けられたメディアデータコンテナ（１０４）に記憶された、パケット化されたメディアアクセスユニットのメディアペイロードを含む転送データパケット（１１０；１１２）を有し、前記メディアデータコンテナ（１０４）に記憶された、各メディアアクセスユニットについての復号化情報サンプル（６０２；７０２）を有し、前記復号化情報サンプルは、前記記憶された転送データパケット（１１０；１１２）内の関係付けられたメディアアクセスユニットの開始アドレスおよび終了アドレスを示し、前記開始アドレスは、前記メディアアクセスユニットの先頭を示すメディアデータサンプルの位置を表わし、前記終了アドレスは、前記メディアアクセスユニットの終了を示すメディアデータサンプルの位置を表わし、前記ファイルは、各復号化情報サンプル（６０２；７０２）について、前記ファイルのメタデータコンテナ（１０６）に記憶された、関連付けられたサンプル復号化時間情報（６０６；７０６）を有し、前記関連付けられたサンプル復号化時間情報（６０６；７０６）は、前記メディアデータコンテナ（１０４）内の前記関連付けられた復号化情報サンプル（６０２；７０２）の復号化時間および位置を示し、前記装置は、
前記メタデータコンテナ（１０６）内の前記関連付けられたサンプル復号化時間情報（６０６；７０６）にアクセスし、前記関連付けられたサンプル復号化時間情報（６０６；７０６）に基づいて、前記メディアデータコンテナ（１０４）内の前記復号化情報サンプル（６０２；７０２）にアクセスし、かつ前記復号化情報サンプル（６０２；７０２）に基づいて、前記記憶された転送データパケット（１１０；１１２）の前記関連付けられたメディアアクセスユニットにアクセスすることによって、前記記憶された転送データパケット（１１０；１１２）の前記メディアアクセスユニットの出力スケジュールを決定するためのプロセッサと、
前記決定された出力スケジュールに従って前記メディアアクセスユニットを出力するための出力制御装置とを備える、装置。
【請求項２０】
ＩＳＯベースメディアファイルフォーマットに基づくファイル（７０２）を読出すための方法であって、前記ファイルは、前記ファイルに関係付けられたメディアデータコンテナ（１０４）に記憶された、パケット化されたメディアアクセスユニットのメディアペイロードを含む転送データパケット（１１０；１１２）を有し、前記メディアデータコンテナ（１０４）に記憶された、各メディアアクセスユニットについての復号化情報サンプル（６０２；７０２）を有し、前記復号化情報サンプルは、前記記憶された転送データパケット（１１０；１１２）内の関係付けられたメディアアクセスユニットの開始アドレスおよび終了アドレスを示し、前記開始アドレスは、前記メディアアクセスユニットの先頭を示すメディアデータサンプルの位置を表わし、前記終了アドレスは、前記メディアアクセスユニットの終了を示すメディアデータサンプルの位置を表わし、前記ファイルは、各復号化情報サンプル（６０２；７０２）について、前記ファイルのメタデータコンテナ（１０６）に記憶された、関連付けられたサンプル復号化時間情報（６０６；７０６）を有し、前記関連付けられたサンプル復号化時間情報（６０６；７０６）は、前記メディアデータコンテナ（１０４）内の前記関連付けられた復号化情報サンプル（６０２；７０２）の復号化時間および位置を示し、前記方法は、
前記メタデータコンテナ（１０６）内の前記サンプル復号化時間情報（６０２；７０２）にアクセスし、前記サンプル復号化時間情報（６０６；７０６）に基づいて、前記メディアデータコンテナ（１０４）内の前記復号化情報サンプル（６０２；７０２）にアクセスし、かつ前記復号化情報サンプル（６０２；７０２）に基づいて、前記記憶された転送データパケット（１１０；１１２）のペイロードをパケット分解してメディアアクセスユニットを取得することによって、前記記憶された転送データパケット（１１０；１１２）のメディアアクセスユニットの出力スケジュールを決定するステップと、
前記決定された出力スケジュールに従って前記メディアアクセスユニットを出力するステップとを含む、方法。
【請求項２１】
コンピュータおよび／またはマイクロコントローラ上で動作するときに、請求項２０に記載の方法を実行するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、転送プロトコルデータパケットとそれに関連付けられたサイド情報とを、たとえばＩＳＯ（国際標準化機構）ベースメディアファイルフォーマットに基づくファイルのような、メディアデータコンテナとメタデータコンテナとを有するファイルに記憶すること、および／またはファイルから読出すことに関する。
【背景技術】
【０００２】
さまざまな電子装置は、メディアデータストリームを受信し、かつ表示することが可能である。このようなメディアデータストリームは、たとえば、ＤＶＢ−Ｈ標準（デジタルビデオ放送−携帯機器用）（Digital Video Broadcasting - Handhelds）またはＤＶＢ−Ｔ標準（デジタルビデオ放送−地上放送用）（Digital Video Broadcasting - Terrestrial）に従ってメディアストリームを放送するデジタルビデオ放送ネットワークから受信することができる。
【０００３】
ＤＶＢ−Ｔは、国際標準ＩＳＯ／ＩＥＣ  １３８１８（ＩＥＣ＝International Electrotechnical Commission）に従った基本ＭＰＥＧ−２映像および音声ストリームを含む内蔵ＭＰＥＧ−２（ＭＰＥＧ＝Moving Pictures Expert Group）転送ストリームを使用する。ＭＰＥＧ−２転送ストリームは、今日の放送システムの多くにおいて使用されている多重通信である。これは、典型的には音声および映像であるが他のデータでもある１つ以上のメディアプログラムのストリーム多重通信である。ＭＰＥＧ−２転送ストリームは、すべてのメディアストリームにおいて、共通クロックを共有し、タイムスタンプ付きメディアサンプル（アクセスユニット、ＡＵ）を使用する。これにより、送信機のクロックと受信機のクロックとの同期化、および音声ストリームと映像ストリームとのリップシンクが可能となる。
【０００４】
ＤＶＢ−Ｈについて、基本音声および映像ストリームは、ＲＴＰ（リアルタイム転送プロトコル）（Real-Time Transport Protocol）、ＵＤＰ（ユーザデータグラムプロトコル）（User Datagram Protocol）、ＩＰ（インターネットプロトコル）（Internet Protocol）、およびＭＰＥ（マルチプロトコルカプセル化）（Multi-Protocol Encapsulation）によってカプセル化されて、ＩＰデータキャスティングされる。ＲＴＰは、ＩＰネットワークによるマルチメディアデータの効果的なリアルタイム配信に使用される。多重通信は、典型的に、異なるネットワークポートを各別個のメディアストリームに関連付けることによって行なわれる。たとえば、あるネットワークポートは映像用であり、別のネットワークポートは音声用である。異なるメディアは、通常は、異なるクロックまたはクロックレートを有する異なるソースに由来する。たとえば、音声サンプルは、音声サンプリング装置のクロックレートに依存するサンプルレートを有し、映像フレームのフレームレートは、映像フレーム取込装置のクロックレートに依存する。このようなクロックは数百万分の１より大きい固有の周波数エラーを有することがあり、１日あたり数十秒のエラーが蓄積されることになる。「クロックスキュー」という用語は、クロックの実際の発振器周波数における公称周波数との差として規定される。送信機のクロックが受信機のクロックよりも速く動作する場合は、受信機においてパケット蓄積が引起され得る。送信機のクロックが受信機のクロックよりも遅く動作する場合は、受信機のバッファの充填不足を招くことになる。したがって、受信機のクロックレートが送信機のクロックレートと異なる場合、受信機のバッファは徐々に充填されるか、または空となる。さらに、クロックスキューは、受信機において、関係付けられた音声サンプルと映像サンプルとの非同期化を引起し得る。
【０００５】
ＲＴＣＰ（リアルタイム転送制御プロトコル）（Real-Time Transport Control Protocol）は、ＲＴＰストリームについてクロックリカバリおよび同期化を可能とする。ＲＴＣＰチャネルは各ＲＴＰストリームに関連付けられ、送信者レポート（ＳＲ）の形態による送信機から受信機への、およびその逆の制御情報を含む。各ＲＴＣＰ  ＳＲは、２つのタイムスタンプ、すなわち送信機のシステムクロック（基準時間）のＮＴＰ（ネットワークタイムプロトコル）（Network Time Protocol）タイムスタンプと、関連付けられたＲＴＰストリームの対応するメディアタイムスタンプとを含む。これらのＲＴＣＰ  ＳＲは、音声および映像の両方について送信される。ＲＴＰパケットは、ＲＴＰ時間およびＮＴＰ時間の値から時間軸で設定され得、メディアは完全に同期化され得る。
【０００６】
ストリーミングサービスは、受信中に即時に消費されるように、時間的に制約されてまたは制約されずに配信される、同期化されたメディアストリームのセットとして規定される。各ストリーミングセッションは、音声、映像、および／または時間が合わせられたテキストのようなリアルタイムメディアデータを含む。たとえば携帯型テレビによって映画のメディアデータを受信するユーザは、映画を観ること、および／または映画をファイルに記録することができる。一般に、この目的で、受信されたメディアストリームの受信されたデータパケットは、生メディアデータをファイルに記憶するためにパケット分解される。つまり、受信されたＲＴＰパケットまたはＭＰＥＧ−２パケットは、メディアデータサンプルの形態でそれらのペイロードを取得するために、まずパケット分解される。次いで、パケット分解後、取得されたメディアデータサンプルが再生されるかまたはファイルに記憶される。取得されたメディアサンプルは、一般に、Ｈ．２６４／ＡＶＣ（ＡＶＣ＝Advanced Video Coding）映像フォーマットおよび／またはＭＰＥＧ−４  ＨＥ−ＡＡＣｖ２（ＨＥ−ＡＡＣｖ２＝High-Efficiency Advanced Audio Coding Version 2）音声フォーマットのようなフォーマットによって圧縮される。このような映像および／または音声フォーマットを有するメディアデータサンプルを記憶する場合、３ＧＰＰ（3rd Generation Partnership Project）ファイルフォーマットとしても知られるいわゆる３ＧＰファイルフォーマット、またはＭＰ４（ＭＰＥＧ−４）ファイルフォーマットで記憶され得る。３ＧＰおよびＭＰ４は両方とも、ＩＳＯ／ＩＥＣ国際標準１４４９６−１２：２００５「音声映像オブジェクトの符号化−第１２部  ＩＳＯベースメディアファイルフォーマット("Information technology - coding of audio-visual objects - part 12: ISO base media file format")」に明記されているＩＳＯベースメディアファイルフォーマットから派生している。このフォーマットのファイルは、メディアデータおよびメタデータを含む。このようなファイルを動作可能にするには、これらのデータの両方が存在しなければならない。メディアデータは、ファイルに関係付けられたメディアデータコンテナ（ｍｄａｔ）に記憶され、メタデータは、ファイルのメタデータコンテナ（ｍｏｏｖ）に記憶される。従来は、メディアデータコンテナは実際のメディアサンプルを含む。すなわち、たとえばインターリーブされた時間順の映像および／または音声フレームを含み得る。これにより、各メディアは、メディア内容特性を記述するメタデータコンテナｍｏｏｖ内に自身のメタデータトラック（ｔｒａｋ）を有する。メタデータコンテナｍｏｏｖ内の追加的なコンテナ（ボックスとも称する）は、ファイル特性、ファイル内容などについての情報を含み得る。
【０００７】
近年、ＩＳＯベースメディアファイルフォーマットに基づくファイルについてのいわゆる受信ヒントトラックが国際標準化グループによって規定されている。それらの受信ヒントトラックは、たとえば受信されたＭＰＥＧ−２転送ストリームもしくはＲＴＰパケットのような、多重化されたおよび／またはパケット化されたストリームを記憶するのに使用され得る。受信ヒントトラックは、受信されたデータパケットのクライアント側での記憶および再生に使用され得る。これにより、受信された１ストリームのＭＰＥＧ−２  ＴＳもしくはＲＴＰパケットは、たとえば予め演算されたサンプルまたはコンストラクタとし
て、受信ヒントトラックに直接的に記憶される。
【０００８】
この手法には、データパケットを多重分離および／またはパケット分解し、次いであらゆる基本メディアストリーム（音声および／または映像）について別個のメディアトラックを書込むことに比べて、２つの利点がある。第１に、記憶中に受信側装置に要求される複雑度が低下する。なぜなら、受信されたデータパケットの多重分離または他の処理が必要ではないからである。受信されたデータパケットの、未修正の形態でのファイル記憶のみが行なわれる。第２に、特にメディアが転送／多重通信レベルで暗号化されている場合、またはパケット化方式が不明である場合には、受信されたデータパケットを多重分離してメディアトラックを分離することが全く不可能なケースもある。第３に、ＰＶＲ（ＰＶＲ＝パーソナルビデオレコーダ）用途におけるタイムシフティングが、最初の２点によってより容易となる。
【０００９】
受信ヒントトラックからの再生は、正常なストリーム受信をエミュレートし、かつ記憶されたデータパケットを受信ヒントトラックから、ＩＰを利用することによって受信された通りに読出すことによって行なわれ得る。受信ヒントトラックは、すべてのヒントトラックのように、メディア再生タイミングを有するメディアトラックとは異なり、転送タイミングを有する。したがって、受信側装置の受信タイムスタンプは、受信ヒントトラックに記憶された各データパケットに関連付けられる。
【００１０】
サーバ側ファイル内のＲＴＰヒントトラックは、１ストリームからＲＴＰメディアデータパケットのみを記憶し、たとえばＲＴＣＰ情報またはキーメッセージのような、対応するサイド情報または制御情報を含まない。ＲＴＣＰ情報は、ストリーミング状況の現在の状態、たとえばタイミングを記述していることから、ストリーミングサーバによってオンザフライで生成される。
【００１１】
ストリーミング受信機は、受信時間から送信機のシステムクロックを回復し、受信機のシステムクロックを送信機のシステムクロックに整合させて、直接再生するためにバッファオーバフロー、アンダーランそれぞれを回避し得る。ＲＴＰパケットまたはＲＴＣＰ送信者レポートパケットのうちどれがクロックリカバリに使用されるとしても、その到着時間におけるジッター（ネットワークジッター）が原因で、瞬時にクロックリカバリができない。メディアタイムスタンプは固定レートで常に増大するものの、同期化されていないサンプリングクロックを有する独立した音声捕捉ユニットおよび映像捕捉ユニットは、ＲＴＰクロックのドリフトを引起し得る。ＲＴＣＰ  ＳＲは、ストリームの各々についてＮＴＰおよびＲＴＰタイムスタンプを有しており、したがって、関与する装置のドリフトを抽出するのに使用することができる。多くのシステムにおいて、ＲＴＣＰ  ＳＲの作成、特にＮＴＰクロックとＲＴＰクロックとの関係に関与するジッターが存在する。したがって、ストリーミングクライアントは起動後瞬時に完全なリップシンクを実現しなくてもよいが、映像ストリームと音声ストリームとのリップシンクが正確となる前に、ある一定数のＲＴＣＰ  ＳＲを考慮する必要があることが一般的である。送信機のシステムクロックを回復する必要があり、かつ高いネットワークジッターが存在する場合は、ＲＴＰパケットまたはＲＴＣＰ送信者レポートパケットのうちどれがクロックリカバリに使用されるとしても、ある一定数のＲＴＰパケットまたはＲＴＣＰ送信者レポートパケットが必要である。ネットワークジッターおよびクロックドリフトは、関係付けられたデータパケットのＲＴＰタイムスタンプに加えて、上述の複数のＲＴＣＰ  ＳＲの情報を用いて、リアルタイムストリーム受信中に再び算出され得る。
【００１２】
現在のところ、ＲＴＰ受信ヒントトラックは、メディアストリームの受信されたデータパケットのみを記憶すると明記されており、それぞれ送信者レポートからのタイミング情報である対応するＲＴＣＰ  ＳＲを含まない。受信されたＲＴＰパケットのＲＴＰタイム
スタンプだけでは、異なるストリームから受信されたメディアデータを同期化するには不十分である。これは、一般に各メディアストリームが、その初期タイムスタンプおよび初期シーケンス数にランダムな値を割当て、タイムスタンプのクロック周波数は、伝えられるメディアデータのフォーマットに依存するからである。ＲＴＰパケットの到着または受信時間は、ストリーム同士を同期化するのに使用され得る。しかしこの手法の問題点は、ＲＴＰがパケット配信を保証するものでも、帯域外配信を防ぐものでもない点である。その結果、受信時間に基づく同期化だけでは正確度を保証することができない。
【００１３】
上述のように、異なるＲＴＰストリーム同士を同期化する最も正確な方法は、ＮＴＰタイムスタンプフォーマットのストリームのうち、ＲＴＰタイムスタンプと共通タイムスタンプとの変換を可能にする情報を含む、関連付けられたＲＴＣＰ  ＳＲを待機することを必要とする。これらのＲＴＣＰ送信者レポートは、通常、５秒ごとに各ストリームについてある一定のビットレートで送信される。２つのＲＴＣＰ  ＳＲ間の時間間隔は、ビットレートに依存する。
【００１４】
それゆえ、正確なタイミングによるＲＴＰ受信ヒントトラックの再生およびリップシンクは、次の２つのケースでのみ可能である。第１に、異なるメディアクロック間にクロックドリフトがなく、受信された各ＲＴＰパケットについてＲＴＣＰ送信者レポートインターストリーム同期化データが利用可能である。しかしこれは、現実の環境では起こる可能性が極めて低い理想的な状態に相当する。第２に、受信側装置は、受信されたＲＴＰパケットを記憶する前にそれらのＲＴＰタイムスタンプを調整することによって、記憶中にＲＴＣＰ  ＳＲのタイミング情報を考慮しなければならない。
【００１５】
第１のケースは理論的なケースに過ぎず、実際には発生しない。第２のケースは、受信機に大きな負担を課すことになる。たとえば、タイミング調整のためにいくつかの送信者ＲＴＣＰ  ＳＲを考慮することができるようにするためには、受信されたストリームを何秒間かバッファリングすることが必要となる。これは、タイムシフティング用途について同一ファイルから瞬時に読出す機能にも影響を及ぼすことになる。さらに、当初の受信状況は記憶後に再作成することができない。すなわち、長期間のジッターは、完全なストリームが受信され、かつ記録された後の処理段階において除去されない可能性がある。
【００１６】
現在の放送システムは、関係付けられたデータパケットのメディアデータを解読するために使用されるサイド情報として、保護されたキーを転送するための（帯域内または帯域外のいずれかの）キーストリームを使用する。典型的に、キーストリームと暗号化されたメディアデータストリームとの間には緩い結合のみが存在し、タイミング関係は存在しない。
【００１７】
ＤＶＢ−ＨおよびＯＭＡ−ＢＣＡＳＴ（Open Mobile Alliance - Mobile Broadcast Services）においては、キーストリームは、関連付けられたメディアストリームとは異なるＵＤＰポートに送信されたキーメッセージの別個のストリームとして規定される。どのキーメッセージも、単一のＵＤＰパケットとして送信される。ＯＭＡ−ＢＣＡＳＴはこれらのメッセージを短期キーメッセージ（ＳＴＫＭ）と称し、ＤＶＢ−Ｈはそれらをキーストリームメッセージ（ＫＳＭ）と称する。キーメッセージの記憶は、ストリーミングシステムのセキュリティに害を与えない。なぜなら、どのキーメッセージも、ストリーミングされたサービスの署名に結び付けられており、したがって承認された署名者／装置によってのみアクセスすることができるからである。キーメッセージ内の実際の暗号キーは、サービスまたはプログラムキーで保護される。
【００１８】
各キーは、関連付けられたキー標識（キーＩＤ）を有し、関連付けられた暗号化されたメディアアクセスユニットにおいても示される。暗号化されたアクセスユニットにおいて
キーＩＤと関連付けられたキーが存在するかを解読装置が確認する。
【００１９】
暗号化されたメディアアクセスユニットと関連付けられたキーメッセージとの同期化は、重複する有効性期間でキーを頻繁に送信することによって処理される。キーは、対応するキー標識によって印が付けられた暗号化された映像パケットに先立って送信される。そうすれば、キーは、少なくともメディアデータがこの特定のキーを使用している限り有効である。
【００２０】
ファイルの記録中にメディアトラックとしてキーを記憶することは、実現不可能である。これは、メディアタイミングがストリーム内のキーメッセージに関連付けられていないからである。キーと、対応する暗号化されたアクセスユニットとの間のメディアタイミング関連付けは、キーおよびメディアストリームの両方の結合を管理するキーＩＤを処理し分析して初めて行なうことができる。この分析後に初めて、どのアクセスユニットまたは映像フレームにどのキーが使用されているかが明確となる。
【発明の概要】
【発明が解決しようとする課題】
【００２１】
本願の目的は、記録されたメディアストリームの各々の再生中に、複雑な処理を行うことなく、記録された異なるメディアストリーム同士の瞬間的かつ正確なタイミング同期化を提供することである。すなわち、本発明の目的は、再生するたびに、記録されたメディアストリームからジッターを取除く必要をなくし、記録されたファイルを再生するために、含まれるストリームすべてのクロックリカバリを不要にすることである。
【課題を解決するための手段】
【００２２】
この目的は、請求項１に記載の記憶されたデータパケットを処理するための装置、請求項２０に記載の記憶されたデータパケットを処理するための方法、請求項２２に記載のファイルを読出すための装置、および請求項２３に記載のファイルを読出すための方法によって解決される。
【００２３】
上述の目的を解決するために、本発明の実施例は、発明の方法を実行するためのコンピュータプログラムも提供する。
【００２４】
本発明は、受信されたストリーム化されたメディアデータパケットだけでなく、サイド情報を伝える受信中の関連付けられたデータ、特に、ＲＴＣＰ送信者レポートを含むＲＴＣＰメッセージなどの、メディアストリームと並行して配信される関連付けられたすべてのデータも記憶することによって、または受信されたストリーム化されたメディアデータパケットに含まれるメディアデータに関連付けられた暗号キーを含む関連付けられた受信されたキーメッセージを記録することによって、上述の問題が同時に解決され得るという発見に基づく。
【００２５】
この受信された関連付けられたデータまたはサイド情報は、いわゆる関連付けられた受信ヒントトラック（「ａｒｈｔ」）の形態で、メディアデータコンテナとメタデータコンテナとを含むファイルに記憶される。このトラックは、たとえばＩＳＯ／ＩＥＣ  １４４９６−１２のトラック基準機構を用いて、関係付けられたメディアパケットを含む対応する受信ヒントトラックに結び付けられる。関係付けられた受信ヒントトラックのように、関連付けられた受信ヒントトラックは、たとえば受信機のシステムクロックのタイムスタンプの形態で転送タイミングも記憶する。これにより、後の段階において再生中に当初のパケット受信のタイミング条件を復旧することが可能となり得る。
【００２６】
受信ヒントトラックおよび関連付けられた受信ヒントトラックは、メディアデータコン
テナ内のパケットデータ部分と、メタデータコンテナ内のメタデータ部分とを含む。
【００２７】
本発明の実施例によれば、関連付けられた受信ヒントトラックの記録中に、ＲＴＣＰ  ＳＲのようなメッセージと、関係付けられた転送タイミング情報とが保存される。並行して、受信されたメディアＲＴＰパケットおよび関係付けられた転送タイミングが受信ヒントトラックに直接的に記憶される。記録中は、ジッターを取除くプロセスもリップシンク補正も行なわれない。
【００２８】
この目的のために、本発明の一実施例は、関係付けられたメディアデータコンテナとメタデータコンテナとを有するファイルを記録するための装置を提供する。当該装置は、第１のクロックに基づく、パケット化された第１のメディアデータサンプルを含む第１のデータパケットを受信し、第１のクロックとは異なる第２のクロックに基づく、第２のメディアデータサンプルを含む第２のデータパケットを受信するための受信機を含む。第２のメディアデータサンプルは、第１のメディアデータサンプルに関連付けられる。受信機はさらに、第１のクロックと基準クロックとの関係を示すための情報を含む第１の制御パケットを受信し、かつ第２のクロックと基準クロックとの関係を示すための情報を含む第２の制御パケットを受信するように適合される。当該装置は、受信された第１および第２のデータパケットと、受信された第１および第２の制御パケットの少なくとも一部分とを、メディアデータコンテナに記憶し、かつ関連付けられたメタデータをメタデータコンテナに記憶するための記録装置も含む。関連付けられたメタデータは、受信された第１および第２のデータパケットならびに受信された第１および第２の制御パケットのタイミング情報を含み、メディアデータコンテナ内の記憶された第１および第２のデータパケットならびに記憶された第１および第２の制御パケットの位置を示す位置情報を含む。
【００２９】
本発明の一実施例によれば、記録装置は、受信された第１および第２の受信されたデータパケットをメディアデータコンテナの第１のチャンクにサンプルとして記憶し、かつ受信された関連付けられた第１および第２の制御パケットの少なくとも一部分をメディアデータコンテナの第２のチャンクにサンプルとして記憶するように適合される。
【００３０】
本発明の一実施例によれば、記録装置は、第１および第２のデータパケットのタイミング情報と位置情報とをメタデータコンテナの第１のトラックに記憶し、かつ第１および第２の制御パケットのタイミング情報と位置情報とをファイルのメタデータコンテナの第２のトラックに記憶するように適合される。
【００３１】
本発明の一実施例によれば、ファイルはＩＳＯベースメディアファイルフォーマットに基づく。本発明の好ましい実施例によれば、ファイルは３ＧＰまたはＭＰ４ファイルである。
【００３２】
本発明の一実施例によれば、第１のデータパケットは、パケット化された第１のメディアサンプル（たとえば圧縮された映像）を含む第１のストリーム化されたＲＴＰパケットであり、第１の制御パケットは、第１のＲＴＣＰ送信者レポートを含む第１のストリーム化されたＲＴＰパケットに関係付けられたＲＴＣＰパケットである。第２のデータパケットは、パケット化された第２のメディアデータサンプル（たとえば映像に関係付けられた圧縮された音声）を含む第２のストリーム化されたＲＴＰパケットであり、第２の制御パケットは、第２のＲＴＣＰ送信者レポートを含む第２のストリーム化されたＲＴＰパケットに関係付けられたＲＴＣＰパケットである。
【００３３】
第１および第２のデータパケットと関連付けられた制御パケットとの並行記憶は、記録プロセスが軽く、後の段階において、記録されたファイルからメディアストリームを再生するのに必要なすべての情報を捕捉し得るという利点を有する。関連付けられた受信ヒン
トトラック、すなわちメディアデータコンテナ内の記憶された制御パケットおよびメタデータコンテナ内の関連付けられたメタ情報は、受信ヒントトラック、すなわちメディアデータコンテナ内の記憶された第１および／または第２のデータパケットならびにファイルのメタデータコンテナに記憶されたそれらに関連付けられたメタ情報の再生中に使用される。
【００３４】
記録されたファイルを再生する目的で、本発明の実施例は、ファイルを読出すための装置を提供する。ファイルは、ファイルに関係付けられたメディアデータコンテナに記憶された、第１のクロックに基づく、パケット化された第１のメディアデータサンプルを含む第１のデータパケットと、第１のクロックとは異なる第２のクロックに基づく、パケット化された第２のメディアデータサンプルを含む第２のデータパケットとを有する。ファイルは、第１のクロックと基準クロックとの関係を示すための情報を含む関連付けられた第１の制御パケットの少なくとも一部分、および第２のクロックと基準クロックとの関係を示すための情報を含む関連付けられた第２の制御パケットの少なくとも一部分も記憶されている。ファイルは、ファイルのメタデータコンテナに記憶された関連付けられたメタデータを有し、関連付けられたメタデータコンテナは、受信された第１および第２のデータパケットならびに受信された第１および第２の制御パケットのタイミング情報と、メディアデータコンテナ内の記憶された第１および第２のデータパケットの位置ならびに記憶された第１および第２の制御パケットの位置を示す位置情報とを含む。ファイルを読出すための装置は、メタデータコンテナにアクセスし、かつメディアデータコンテナ内に記憶された第１および第２のデータパケットならびに記憶された第１および第２の制御パケットのタイミング情報を解釈することによって、記憶された第１および第２のデータパケットの出力スケジュールを決定するためのプロセッサを含む。当該装置はさらに、メディアデータコンテナにアクセスし、かつメディアデータコンテナからデータパケットを読出すことによって、決定された出力スケジュールに従って第１および第２のデータパケットを出力するための出力制御装置を含む。
【００３５】
本発明の実施例によれば、記憶された第１および第２のデータパケットならびに関連付けられた記憶された第１および第２の制御パケットは、リップシンク、クロックリカバリ、および／またはクロックドリフト調整のためにオンザフライで処理され得る。この種の再生は、記録されたメディアストリームのシミュレートされたライブ受信に等しい。
【００３６】
記録された受信ヒントトラック（第１／第２のデータパケット）および記憶された関連付けられた受信ヒントトラック（第１／第２の制御パケット）は記録全体に及ぶ。再生中、たとえばＲＴＣＰ  ＳＲの形態の関連付けられた受信ヒントトラックの制御データは、複数の未来のＲＴＣＰ  ＳＲを考慮することによって、たとえば正確なリップシンクのために先取りされ得る。未来のＲＴＣＰ  ＳＲは、現在の再生時点の未来における時点に関係する。
【００３７】
本発明の利点は、関連付けられた受信ヒントトラックの概念、すなわちメディアストリームの受信中に制御情報を記録することによって、単に複雑度を増すことなく、ファイルからストリームを同期化して再生することに関係のあるすべての情報について、軽い記録プロセスが可能となる点である。
【００３８】
記録されたファイルが長期記憶向けであり、いずれ何回も再生されることになる場合は、記憶された第１／第２のデータパケットおよび記憶された第１／第２の制御パケットを、それぞれ関連付けられたメタデータと共に再生ごとに分析することを回避し、その代わり、メディアタイミング、すなわち記憶された第１／第２のデータパケットに含まれる第１／第２のメディアデータサンプルを再生するためのタイミングを、さらなる処理を行うことなく直接的に利用可能にすることが望ましいことがある。
【００３９】
通常、これは、記憶されたデータパケットを受信ヒントトラックからパケット分解し、かつトラックごとに１基本ストリームを有する関係付けられたメディアデータコンテナ内のメディアトラックに保存することを意味することになる。これは、たとえば転送暗号化がストリームパケットに適用された場合、または記憶容量が限られている場合、常に可能または望ましいとは限らない。
【００４０】
転送パケットの正確なタイミングに加え、受信ヒントトラック（記憶された第１／第２のデータパケットおよびメタ情報）について利用可能な拡張された情報、特に第１／第２のデータパケット内のメディアデータサンプルについての情報、たとえばフレームの正確なＳＭＰＴＥタイムスタンプ（ＳＭＰＴＥ＝Society of Motion Picture and Television
Engineers）または映像トラックのサブタイトルを有することが望ましい。
【００４１】
この目的で、本発明の実施例は、ファイルに関係付けられたメディアデータコンテナに記憶された転送プロトコルに関係付けられたデータパケットを処理し、かつファイルのメタデータコンテナに記憶された関連付けられたメタ情報を処理するための装置を提供する。関連付けられたメタ情報は、転送タイミング情報と、メディアコンテナに記憶されたデータパケットの位置を示す位置情報とを含む。当該装置は、記憶されたデータパケットと記憶された関連付けられたメタ情報とに基づいて、記憶されたデータパケットのペイロードについての復号化情報を決定するためのプロセッサを含む。復号化情報は、記憶されたデータパケットのどのペイロードをどの時点で再生するかを示す。当該処理するための装置は、スタンドアローンの装置、およびファイルを記憶するための上述の装置に一体化される装置であり得る。
【００４２】
一実施例によれば、記憶されたデータパケットは、ＭＰＥＧ−２転送ストリームパケットを含み得る。別の実施例によれば、記憶されたデータパケットは、パケット化されたメディアデータを有するＲＴＰパケットを含み得る。
【００４３】
本発明の実施例によれば、復号化情報は、メディアアクセスユニットごとに決定される。すなわち、各アクセスユニット、たとえばメディアフレームについて、復号化情報サンプルがファイルのメディアデータコンテナに記憶される。復号化情報サンプルは、メディア（たとえば映像／音声）フレームを取得するために、記憶されたデータパケットのどの部分からどのメディアデータサンプルを取るかを示す。復号化情報サンプルに関係するメタ情報は、メタデータコンテナ内の復号化情報メタデータトラックに記憶される。これにより、復号化情報メタデータトラック（ＩＳＯベースメディアファイルフォーマットの「ｔｒａｋ」ボックス／アトム）は、復号化情報サンプルについてのタイミングと位置情報とを含む。
【００４４】
記憶された復号化情報サンプルおよび、以下で「仮想メディアトラック」とも称される、関連付けられた復号化情報メタデータトラックは、関連付けられた受信ヒントトラックの概念に基づき、再生について上述の利点を供する。仮想メディアトラックのメタデータ部分において、メディアデータコンテナ内の関係付けられた復号化情報サンプルについてのメディアタイミングが提供される。復号化情報サンプルは、どの記憶されたデータパケットまたは転送ユニットから、関係付けられたメディアアクセスユニットについてのメディアデータを取得するかの情報を提供し、メディアパケットのパケット分解を不要とする。仮想メディアトラックは、受信ヒントトラック、および必要であれば関連付けられた受信ヒントトラックからの情報を用いたメディアストリームの最終的な受信後に作成され得る。これは「逆ヒンティングプロセス」で行なわれ、結果として得られるファイルによって、再生装置は、ファイルをサーチし、メディアタイミングに基づいてメディアに対してランダムアクセスを行うことが可能となる。
【００４５】
仮想メディアトラックは、不完全なメディアトラックと見なされ得る。したがって、メディアトラックの（典型的に「サンプルテーブル」を用いることによって）ＲＴＰおよびＲＴＣＰ受信ヒントトラックから回復されたタイミングならびにすべてのインデックスの両方を適用することができる。また、時間が合わせられたメタデータトラックは、仮想メディアトラックを参照し、それらを拡張し得る。
【００４６】
仮想メディアトラックは、受信ヒントトラック転送ユニットからアクセスユニットを再構築するためのコンストラクタを含み得る復号化情報サンプル（仮想メディアサンプル）で構成され得る。さらに、復号化情報サンプルは、アクセスユニット（不完全なコンストラクタ）の再構築に関係のある１つ以上の有意な伝送ユニットへのリンクを含み得る。また、たとえば受信プロセス中のパケット損失の場合には、仮想メディアトラックの復号化情報サンプルまたは仮想メディアサンプルは空であり得る。代替的に、以下で仮想メディアサンプルとも称される仮想トラックの復号化情報サンプルは、典型的なメディアトラックのように、完全に復元されたメディアサンプルを含み得る。
【００４７】
仮想メディアトラック（および時間が合わせられたメタデータトラックからのいずれかの関連付けられた情報）のサンプルテーブル内のインデックスからの情報は、受信ヒントトラックの対応する伝送ユニットへのリンクに従うことによって、基準受信ヒントトラックに論理的に適用することができる。
【００４８】
仮想メディアトラックは、記述をストリームから厳密に回復させることができなければ、仮想メディアサンプルの近似的かつ不完全な記述を含み得る。これは、特に、データパケットが暗号化されるかまたはパケット分解方式が完全に不明であるときに当てはまる。
【００４９】
仮想メディアトラックを再生するために、本発明の実施例は、ファイルを読出すための装置を提供する。ファイルは、ファイルに関係付けられたメディアデータコンテナに記憶された、ペイロードを含むデータパケットを有し、メディアデータコンテナに記憶された、記憶されたデータパケットのペイロードについての復号化情報を有する。復号化情報は、記憶されたデータパケットのどのペイロードをどの時点で再生するかを示す。ファイルは、メディアデータコンテナに記憶された関連付けられたメタデータを有する。関連付けられたメタデータは、メディアデータコンテナ内の復号化情報の復号化時間と位置とを示す。当該装置は、メディアデータコンテナ内の関連付けられたメタデータにアクセスし、メタデータに基づいてメディアデータコンテナ内の復号化情報にアクセスし、かつ復号化情報に基づいて、記憶されたデータパケットのペイロードにアクセスすることによって、記憶されたデータパケットのペイロードの出力スケジュールを決定するためのプロセッサを含む。出力コントローラは、決定された出力スケジュールに従ってペイロードを出力するように機能する。
【００５０】
記録中に、受信されたデータパケットをメディアトラックにオンザフライで変換することに比べて、仮想メディアトラックは、メディアデータ（記憶されたデータパケット）をパケット分解する必要なしにメディアタイミングおよびメタデータを供給し、したがって記憶空間を節約し得る。これらにより、再生装置がメディアタイミングに基づいてファイルをサーチすることが可能となる。仮想メディアトラックは、典型的なメディアトラックをファイルに追加した場合のようにファイルサイズを倍増することなく、メディアトラックおよび受信ヒントトラックの利点を組合せたものである。仮想メディアトラックの概念によって、当初の受信プロセスのすべての情報、たとえばエラー隠しに役立つ損失パケットについての情報と、リップシンクに役立つ受信タイミングについての情報とが保持される。同時に、従来のメディアトラックの、メディアアクセスのためのすべての可能性が、本発明の仮想メディアトラックによって提供される。従来のメディアトラックに比べて、
より一層の柔軟性が提供される。記憶された転送ユニット（データパケット）がアクセスユニット（メディアフレーム）に完全に復元されるか、またはたとえば記憶空間を節約するためにアクセスユニットの再構築用のコンストラクタもしくはリンクのみが記憶されるかは、サンプルごとに決定され得る。さらに、すべての可能性が１つの仮想メディアトラックに混合され得る。すなわち、復号化情報サンプルもしくは仮想メディアサンプルは、完全なアクセスユニット、コンストラクタ、リンクを含むか、または空である。
【００５１】
複数の仮想メディアトラックは、同一の受信ヒントトラックからの伝送ユニットまたはデータパケットを参照し得る。これにより、記録された同一のデータパケットストリームについて異なるインデックスが可能となる。たとえば、一方が音声に関係付けられ、他方が映像に関係付けられた、ランダムアクセスによる２つの仮想メディアトラックは、同一のＭＰＥＧ−２転送ストリーム受信ヒントトラックの音声および映像についてのインデックスを示す。
【００５２】
受信され記憶されたデータパケット内の暗号化されたメディアデータサンプルの再生を可能とするには、データパケットに加えて、関連付けられたキーストリームメッセージもファイルのメディアデータコンテナに記憶され得る。キーストリームメッセージは、本発明の実施例に従って、キーストリーム受信ヒントトラックのサンプルに記憶される。キーメッセージを、対応する受信ヒントトラック内の暗号化されたメディアパケットに整合させるために、受信時間（転送時間）をキーストリームサンプルのタイムスタンプとして使用し得る。トラック基準は、キーストリーム受信ヒントトラックをメディア受信ヒントトラックに関連付けるのに使用される。
【００５３】
ファイルを記録する目的で、本発明の実施例は、関係付けられたメディアデータコンテナとメタデータコンテナとを有するファイルを記録するための装置を提供する。当該装置は、各々がペイロードを含むデータパケットを受信し、かつ複数の暗号キーを有するキーストリームパケットを受信するための受信機を含む。各暗号キーは、データパケットのペイロードに関連付けられる。当該装置は、受信されたデータパケットと受信されたキーストリームパケットとをメディアデータコンテナに記憶し、かつ関連付けられたメタデータをメタデータコンテナに記憶するための記録装置を含む。関連付けられたメタデータは、受信されたデータパケットおよび受信されたキーストリームパケットの転送タイミング情報と、メディアデータコンテナ内の記憶されたデータパケットおよび記憶されたキーストリームパケットの位置を示す位置情報とを含む。データパケットおよびキーストリームパケットを記録するための装置は、スタンドアローンの装置、ならびに上記の記憶および／または処理するための装置に一体化されるまたは組合せられる装置であり得る。
【００５４】
本発明の実施例によれば、記録装置は、受信されたデータパケットをメディアデータコンテナの第１のチャンクにサンプルとして記憶し、かつ受信された関連付けられたキーストリームパケットをメディアデータコンテナの第２のチャンクにサンプルとして記憶するように適合される。本発明の実施例によれば、記録装置は、データパケットの転送タイミング情報および位置情報をメディアデータコンテナの第１のトラックに記憶し、かつキーストリームパケットの転送タイミング情報および位置情報をメタデータコンテナの第２のトラックに記憶するように適合される。
【００５５】
本発明の実施例によれば、ファイルは、ＩＳＯベースメディアファイルフォーマットに基づく。
【００５６】
本発明の実施例によれば、データパケットは、ＭＰＥＧ−２転送ストリームパケットを含む。
【００５７】
本発明のさらなる実施例によれば、データパケットは、パケット化されたメディアデータサンプルを含むＲＴＰパケットを含む。
【００５８】
データパケットストリームおよび関連付けられたキーストリームを受信した後での再生を容易にするために、ワンタイム処理を行なってキーストリーム受信ヒントトラックを仮想メタデータトラックに変換し得る。転送タイミングによるキーストリーム受信ヒントトラックからのキーメッセージは、上述の仮想メディアトラックと同様に、メディアタイミングによって仮想メタデータトラックのキーサンプルに変形され得る。必要であれば、メディアトラックのあらゆるメディアサンプルが、関連付けられたキーサンプルをキートラック内に有するように、キーサンプルが仮想的に倍増される。
【００５９】
したがって、特に、暗号化されたアクセスユニットを伝送ユニットから再構築することができれば（内容暗号化の場合）、メディアアクセスユニットとキーメッセージとの正確なタイミング関係を生成することが可能である。
【００６０】
再生するために、実施例は、ファイルを読出すための装置を提供する。ファイルには、パケット化されたメディアデータサンプルを含むデータパケットが記憶されており、ファイルは、ファイルに関係付けられたメディアデータコンテナに記憶された、関連付けられたキーストリームパケットを有する。ファイルは、メタデータコンテナに記憶された、関連付けられたメタデータを有し、関連付けられたメタデータは、受信されたデータパケットおよび受信されたキーストリームパケットの転送タイミング情報と、メディアデータコンテナ内の記憶されたデータパケットおよび記憶されたキーストリームパケットの位置を示す位置情報とを含む。さらに、当該装置は、データパケットに基づいて、関連付けられたメタ情報に基づいて、かつ記憶されたキーストリームパケットおよび関連付けられたキーストリームメタ情報に基づいて、記憶されたデータパケットのペイロードに復号化情報を割り当てるためのプロセッサを含む。復号化情報は、記憶されたデータパケットのペイロードを再生するのにどの暗号キーをいつ使用するかを示す。出力は、割り当てられた復号化情報に基づいて復号化されたデータパケットを出力するために設けられる。
【００６１】
本発明の実施例は、キーメッセージの受信タイミングと、受信されたデータパケットに対するタイミング関係とを十分に維持する。ファイルが、記憶されたデータパケットを含むメディアトラック内の対応するメディアサンプルごとに、キーメッセージを有するメタデータトラックを含むとき、本発明の実施例は、記録されたファイルを再生に最適化されたファイルに変換することを可能とする。したがって、再生中に、記録されたキートラックを正しいキーにパーズする必要はない。
【００６２】
本発明の他の目的および特徴は、添付の図面と合せて考慮されると、以下の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施例に係る、ファイルを記録するための装置の概略的なブロック図である。
【図２】本発明の一実施例に係る、関係付けられたメディアデータコンテナとメタデータコンテナとを有する記録されたファイルの概略的なファイル構造を示す図である。
【図３】ＩＳＯベースメディアファイルフォーマットに基づくファイルの概略的な構造を示す図である。
【図４】本発明の一実施例に係る、ファイルを記録するための方法のフローチャートである。
【図５】本発明のさらなる実施例に係る、ファイルを記録するための別の方法のフローチャートである。
【図６】本発明の一実施例に係る、仮想メディアトラックを取得するためにファイルを記録し処理するための装置の概略的なブロック図である。
【図７】本発明の一実施例に係る、仮想映像トラックを有する記録されたファイルの概略的な構造を示す図である。
【図８】本発明の一実施例に係る、データパケットを記録し、仮想メディアサンプルを作成し、かつ記憶されたデータパケットに含まれるメディアサンプルを仮想メディアサンプルによって再生するための方法のフローチャートである。
【図９】本発明の一実施例に係る、記憶されたデータのペイロードに含まれるメディアフレームを参照する仮想メディアサンプルの記述情報をどのように取得するかについての一例を示す図である。
【図１０】本発明の一実施例に係る、受信ヒントトラックおよび仮想メディアトラックのサンプルのマッピングを示す図である。
【図１１】本発明の一実施例に係る、ファイルを記録するための装置の概略的なブロック図である。
【図１２】携帯型ＴＶ環境におけるキーストリームおよびメディア同期化の原理を示す図である。
【発明を実施するための形態】
【００６４】
図１は、関係付けられたメディアデータコンテナ１０４およびメタデータコンテナ１０６を有するファイル１０２を記録するための装置１００の概略フローチャートである。
【００６５】
装置１００は、第１のクロックに基づくパケット化された第１のメディアデータサンプルを含む第１のデータパケット１１０を受信するため、および第１のクロックとは異なる第２のクロックに基づく、第１のメディアデータサンプルに関連付けられた第２のメディアデータサンプルを含む第２のデータパケット１１２を受信するための受信機１０８を含む。また、受信機１０８は、基準クロックに対する第１のクロックの関係を示すための情報を含む第１の制御パケット１１４を受信するよう、および基準クロックに対する第２のクロックの関係を示すための情報を含む第２の制御パケット１１５を受信するように働く。装置１００はさらに、受信された第１および第２のデータパケット１１０、１１２と、受信された第１および第２の制御パケット１１４、１１５の少なくとも一部とをメディアデータコンテナ１０４に記憶するため、ならびに関連付けられたメタデータをメタデータコンテナ１０６に記憶するための記録装置１１６を含む。関連付けられたメタデータは、受信された第１および第２のデータパケット１１０、１１２、ならびに受信された第１および第２の制御パケット１１４、１１５のタイミング情報を含む。関連付けられたメタデータはさらに、メディアデータコンテナ１０４内の記憶された第１および第２のデータパケット１１０、１１２、ならびに記憶された第１および第２の制御パケット１１４、１１５の位置を示す位置情報を含む。
【００６６】
本発明の実施例によると、第１のデータパケット１１０は、パケット化された第１のメディアデータサンプル（たとえば映像）を含む第１のストリーム化されたＲＴＰパケットであり得、第２のデータパケット１１２は、パケット化された第２のメディアデータサンプル（たとえば音声）を含む第２のストリーム化されたＲＴＰパケットであり得る。したがって、第１の制御データパケット１１４は、第１のストリーム化されたＲＴＰパケット１１０に関連付けられたＲＴＣＰパケットであり得、第２の制御データパケット１１５は、第２のストリーム化されたＲＴＰパケット１１２に関連付けられたＲＴＣＰパケットであり得る。
【００６７】
本発明の実施例によると、ファイル１０２は、ＩＳＯベースメディアファイルフォーマットに基づくファイルであり得る。たとえば、ファイルフォーマットはＭＰＥＧ−４対応のファイルフォーマットであり得、すなわちファイル１０２は、ＩＳＯ／ＩＥＣ１４４９
６−１４によって明記されたいわゆるＭＰ４ファイルであり得る。ＭＰ４ファイルフォーマットは、メタデータコンテナ１０６に記憶されたメタデータから構成され、メタデータは、典型的にメディアデータコンテナ１０４に記憶されたメディアに関係付けられた情報を記述する。メディアデータコンテナ１０４は、ファイル１０２の外部にあってもよい。たとえば、メディアデータコンテナ１０４は、ファイル１０２内のリンクによって参照可能な別個の記憶位置であってもよい。普通、メディアデータコンテナ１０４に記憶されたメディアデータは、符号化された映像および／または音声データである。コンテナ１０４および１０６は、関連の明細書において“ボックス”（または“アトム”）と称されるデータ構造である。
【００６８】
典型的に、ボックスはサイズ欄、タイプ欄、およびデータ欄から構成される。バイトの数である、サイズ欄を含む全ボックスのサイズが、当該サイズ欄に含まれる。通常４文字のボックス識別子は、ボックスのタイプ欄に記憶される。実際のヘッダデータおよびメディアデータは、データ欄に記憶される。このようなボックス構造を用いた上述のＭＰ４ファイルフォーマットを形成するメタデータコンテナ１０６は典型的に、ムービーボックス“ｍｏｏｖ”と称される。同様に、メディアデータコンテナ１０４は、メディアデータボックス、以下“ｍｄａｔ”と称される。
【００６９】
メディアデータコンテナｍｄａｔ１０４は典型的に、いわゆるチャンクにグループ分けされたデータユニットまたはサンプルのシーケンスから構成される。チャンクは異なるサイズであり得、チャンク内のサンプルは異なるサイズであり得る。
【００７０】
本発明の実施例によると、記録装置１１６は、受信された第１および第２のデータパケット１１０、１１２を、メディアデータコンテナ１０４の第１のチャンク１１８にサンプルとして記憶するように適合される。記録装置１１６はさらに、図２に示されるように、受信された関連付けられた第１および第２の制御パケット１１４、１１５の少なくとも一部を、メディアデータコンテナ１０４の第２のチャンク１２２にサンプルとして記憶するように適合される。
【００７１】
チャンク１１８、１２２の記憶は、インターリーブによって行なわれ得る。
チャンクのサンプルはその結果、１つ以上の受信されたデータパケットを含み得る。すなわち、第１のチャンク１１８のサンプルは、１つ以上の受信された第１および／または第２のＲＴＰパケット１１０、１１２を含み得、第２のチャンク１２２のサンプルは、受信された第１および／または第２の制御パケット１１４、１１５の１つ以上の第１および／または第２のＲＴＣＰ  ＳＲを含み得る。
【００７２】
複数の第１のチャンク１１８は、（ＲＴＰ−）受信ヒントトラックのメディアデータ部とみなされ得る。同様に、複数の第２のチャンク１２２は、受信ヒントトラックについての関連付けられた（ＲＴＣＰ−）受信ヒントトラックのメディアデータ部とみなされ得る。すなわち、図１および図２の場合、すべての受信されたＲＴＰパケット１１０、１１２に対して１つのＲＴＰ受信ヒントトラックがあり、すべての受信されたＲＴＣＰパケット１１４、１１５、またはＲＴＣＰ  ＳＲに対して１つの関連付けられたＲＴＣＰ受信ヒントトラックがある。これは、再コード化複雑度が最小限であることを意味する。
【００７３】
ＲＴＣＰ受信ヒントトラックは、その関係付けられたベースＲＴＰ受信ヒントトラックのＳＤＰ（セッション記述プロトコル）（Session Description Protocol）情報との併用でのみ有用であるが、包括的なパケットペイロード構成データを全く必要としない。
【００７４】
ＲＴＣＰ受信ヒントトラックサンプルペイロードは、生ＲＴＣＰパケットからなる。この生ＲＴＣＰパケットは、そのＲＴＣＰヘッダに直接含まれ得るか、または１つのサンプ
ルに複数のＲＴＣＰパケットを記憶できるように別の構造内に包まれ得る。
【００７５】
ＲＴＣＰサンプルのタイミングは、その関連付けられたＲＴＰ受信ヒントトラックのタイミング方法に依存する。ＲＴＰ受信ヒントトラックがＲＴＰタイムスタンプから復号化時間を導出する場合、ＲＴＣＰ受信ヒントトラックも、ＲＴＣＰパケット内のＲＴＰタイムスタンプから復号化時間を導出する。ＲＴＰ受信ヒントトラックに受信時間を用いる場合、ＲＴＣＰパケットを記憶するためにも受信タイミングが用いられる。一般に、ＲＴＰ受信ヒントトラックおよびＲＴＣＰ受信ヒントトラックの両方は同期化され、同一の時間ベースを用いる。
【００７６】
図１および図２に示されるように、記録装置１１６は、受信された第１および第２のデータパケット１１０、１１２のタイミング情報および位置情報をメディアデータコンテナ１０６の第１のメタデータトラック１２４に記憶するよう、ならびに第１および第２のデータパケット１１０、１１２に関連付けられた受信された第１および第２の制御パケット１１４、１１５のタイミング情報および位置情報をメディアデータコンテナ１０６の第２のメタデータトラック１２８に記憶するように適合され得る。記憶プロセスは、図３を参照してより詳細に説明される。
【００７７】
第１のメタデータトラック１２４は、ＲＴＰ受信ヒントトラックのメタデータ部とみなされ得る。同様に、第２のメタデータトラック１２４は、受信ヒントトラックについての関連付けられたＲＴＣＰヒントトラックのメタデータ部とみなされ得る。
【００７８】
図２の例では、個別のメディアストリーム（たとえば映像／音声）は、後の段階で単一のＲＴＰ受信ヒントトラックおよび単一の関連付けられたＲＴＣＰ受信ヒントトラックから、たとえばＲＴＰパケットとともに記憶されたそれぞれのメディアタイプについてのＳＤＰ情報を用いて、識別され得る。
【００７９】
図２は、ＲＴＰ受信ヒントトラックおよび関連付けられたＲＴＣＰ受信ヒントトラックを有するＩＳＯメディアファイル１０２の構造を示す。
【００８０】
上述のように、ファイル１０２はメタデータコンテナ１０６を含んでおり、メタデータコンテナ１０６は、メディアデータコンテナ１０４内の第１のチャンク１１８−１、１１８−２などにサンプルとして記憶された、受信されたＲＴＰパケットに関係付けられたタイミング情報を含むＲＴＰ受信ヒントトラック１２４を含む。すなわち、ＲＴＰ受信ヒントトラック１２４は、受信時に記憶された（第１および第２の）ＲＴＰパケットの情報転送タイミングを含む。
【００８１】
転送タイミングは、受信機１０８の受信クロックのタイムスタンプであり得るか、および／または受信されたＲＴＰパケット１１０、１１２のＲＴＰタイムスタンプであり得る。すなわち、各ＲＴＰパケットまたはサンプルについて、ＲＴＰ受信ヒントトラックのメタデータ部１２４は、それぞれのＲＴＰパケット１１０、１１２がいつ受信されたかについての表示、およびさらに、それぞれのＲＴＰパケットがメディアデータコンテナ１０４のどこに記憶されたかについての情報を含む。
【００８２】
関連付けられたＲＴＣＰ受信ヒントトラックのメタデータ部１２８についても同じことが言える。メタデータ部１２８は、第２のチャンク１２２に記憶された、受信されたＲＴＣＰパケットの転送タイミング情報を含む。転送タイミング情報は、たとえば、関係付けられたＲＴＣＰパケットの受信時間、またはＲＴＣＰパケットに関係付けられたＲＴＰパケットのＲＴＰタイムスタンプであり得る。関連付けられたＲＴＣＰ受信ヒントトラックのメタデータ部１２８はさらに、ＲＴＣＰパケットがメディアデータコンテナ１０４のど
こに記憶されたかを示す位置情報を含む。
【００８３】
他の実施例によると、それらのＳＤＰパラメータは、異なるメディアに関係付けられたＲＴＰセッションが記憶されて迅速にＲＴＰ受信ヒントトラックを分離し得、関連付けられたＲＴＣＰ受信ヒントトラックを分離し得るように、記録プロセス中に直接分析され得る。
【００８４】
したがって、本発明の実施例によると、記録装置１１６は、受信された第１のデータパケット１１０を、メディアデータコンテナ１０４の第１のチャンクにサンプルとして記憶するように適合される。記録装置１１６はさらに、受信された第２のデータパケット１１２を、メディアデータコンテナ１０４の第２のチャンクにサンプルとして記憶するように適合される。記録装置１１６は、受信された関連付けられた第１の制御パケット１１４の少なくとも一部を、メディアデータコンテナ１０４の第３のチャンクにサンプルとして記憶するよう、および受信された関連付けられた第２の制御パケット１１４の少なくとも一部を、メディアデータコンテナ１０４の第４のチャンクにサンプルとして記憶するように適合される。
【００８５】
チャンクの記憶は、インターリーブによって行なわれ得る。すなわち、本発明の実施例によると、第１のメディアストリーム（たとえば映像）に関係付けられた第１のＲＴＰパケット、第２のメディアストリーム（たとえば音声）に関係付けられた第２のＲＴＰパケット１１２、ならびに関連付けられた第１および第２のＲＴＣＰパケットまたは少なくとも第１および第２のＲＴＣＰ送信者レポートが、インターリーブによって第１、第２、第３、および第４のチャンクのサンプルとして記憶され得る。
【００８６】
チャンクのサンプルはその結果、１つ以上の受信されたデータパケットを含み得る。すなわち、第１のチャンクのサンプルは、１つ以上の受信された第１のデータパケット１１０を含み得、第２のチャンクのサンプルは、１つ以上の受信された第２のデータパケット１１２を含み得、第３のチャンクのサンプルは、受信された第１の制御パケット１１４の１つ以上の第１のＲＴＣＰ  ＳＲを含み得、第４のチャンクのサンプルは、受信された第２の制御パケット１１５の１つ以上の第２のＲＴＣＰ  ＳＲを含み得る。
【００８７】
複数の第１のチャンクは、第１のパケット１１０のメディアに関係付けられた第１の受信ヒントトラックのメディアデータ部とみなされ得る。複数の第２のチャンクは、第２のパケット１１２のメディアに関係付けられた第２の受信ヒントトラックのメディアデータ部とみなされ得る。複数の第３のチャンクは、第１の受信ヒントトラックについての関連付けられたヒントトラックのメディアデータ部とみなされ得る。同様に、複数の第４のチャンクは、第２の受信ヒントトラックについての関連付けられたヒントトラックのメディアデータ部とみなされ得る。すなわち、ＲＴＰ受信ヒントトラックおよび関連付けられたＲＴＣＰ受信ヒントトラックの場合、すべての識別されたＲＴＰセッションについて受信ヒントトラックが記録され得、記録されたＲＴＰ受信ヒントトラックの各々について、関連付けられた受信ヒントトラックが記録され得る。
【００８８】
本発明の実施例によると、記録装置１１６は、受信された第１のデータパケット１１０のタイミング情報および位置情報を、メディアデータコンテナ１０６の第１のメタデータトラックに記憶するよう、ならびに受信された第２のデータパケット１１２のタイミング情報および位置情報を、メタデータコンテナ１０６の第２のメタデータトラックに記憶するように適合される。記録装置１１６は、第１のデータパケット１１０に関連付けられた受信された第１の制御パケット１１４のタイミング情報および位置情報を、メディアデータコンテナ１０６の第３のメタデータトラックに記憶するよう、ならびに第２のデータパケット１１２に関連付けられた受信された第２の制御パケット１１５のタイミング情報お
よび位置情報を、メディアデータコンテナ１０６の第４のメタデータトラックに記憶するように適合される。
【００８９】
次に図３を参照して、ＩＳＯメディアベースフォーマットに基づくファイルのメタデータコンテナ１０６をより詳細に説明する。
【００９０】
ＩＳＯメディアベースフォーマットに基づくファイルの“ｍｏｏｖ”と称されるメディアデータコンテナ１０６は、ボックスにさらに階層化されており、ヘッダ情報全体を含む、ムービーヘッダボックス“ｍｖｈｄ”の形態の必要なボックス３０２と、複数の“ｔｒａｋ”ボックス３０４（図３では１つのみ図示）とを有する。ｔｒａｋボックス３０４は２つのボックスにさらに階層化されており、トラックヘッダボックス“ｔｋｈｄ”３０６はトラックの特性を明記する。
【００９１】
ｔｒａｋボックス３０４はさらに、すべてのオブジェクト、すなわち、トラック内のデータパケット（普通はメディアデータ）についての宣言情報を含むメディアボックス“ｍｄｉａ”３０８を含む。ｍｄｉａボックス３０８は、メディアヘッダボックス“ｍｄｈｄ”３１０、およびハンドラ基準ボックス“ｈｄｌｒ”３１２を含む。メディアヘッダボックスｍｄｈｄ３１０は、メディアに依存せず、かつ受信ヒントトラック内の“メディア”、すなわちデータパケットのカバー特性に関する全体的な情報を含む。ハンドラ基準ボックスｈｄｌｒ３１２は、トラック内の“メディア−データ”が提示されるプロセス、およびしたがって、たとえば受信ヒントトラックなどのトラック内の“メディア”の性質を宣言する。
【００９２】
さらに、メディアボックスｍｄｉａ３０８は、メディア情報ボックス“ｍｉｎｆ”３１４を含む。このボックスは、ヒントトラック内の“メディア”（データパケット）の特性情報を宣言するすべてのオブジェクトを含む。メディア情報ボックスｍｉｎｆ３１４はさらに、ヒントトラックについての一般的な情報を含むヒントメディアヘッダボックス“ｈｍｈｄ”３１６を含む。さらに、データ情報ボックス“ｄｉｎｆ”３１８がメディア情報ボックスｍｉｎｆ３１４に含まれる。データ情報ボックスｄｉｎｆ３１８は、トラック内のメディア情報の位置を宣言するオブジェクトを含む。
【００９３】
さらに、サンプルテーブルボックス“ｓｔｂｌ”３２０がメディア情報ボックスｍｉｎｆ３１４に含まれる。メディアデータコンテナｍｄａｔ１０４のチャンクおよびサンプルの少なくとも１つのデータがこのボックスに含まれ、各項目にリンクされている。ｓｔｂｌ３２０内の項目を説明するために、ｓｔｔｓボックス３２２は１つのサンプルの持続期間を含み、ｓｔｓｄボックス３２４はサンプルの詳細を含み、ｓｔｓｚ３２６はサンプルサイズを含み、ｓｔｓｃ３２８はチャンクに含まれるサンプルの数、すなわちデータパケットの数を含み、ｓｔｃｏボックス３３０はチャンクオフセットを含み、各々がメディアデータコンテナ１０４内のサンプル／パケットにリンクされていることが注目される。
【００９４】
上述のように、記録装置１１６は、受信されたデータパケット１１０、１１２の（転送）タイミング情報および位置情報を、関係付けられた受信ヒントトラックのメタデータ部１２４、１２８に記憶するように適合される。特に、受信タイムスタンプから導出されたタイミング情報であり得るか、またはその後受信されたデータ／制御パケットから導出された関連のタイミング情報であり得るタイミング情報は、トラック１２４、１２８の関係付けられたサンプルテーブルボックスｓｔｂｌ３２０に記憶される。
【００９５】
受信されたデータパケットの時間に関連したメタ情報を受信し、メタデータトラック１２４、１２８トラックに含まれるサンプルテーブルボックスｓｔｂｌ３２０に記憶するプロセスを示すフローチャートが、図４に示される。
【００９６】
第１のステップ４０２において、ＲＴＰパケットまたはＲＴＣＰパケットであり得るデータパケットが、受信機１０８によって受信される。第２のステップ４０４において、受信されたデータパケットに関係付けられたタイミング情報が、受信タイムスタンプの形態で受信機１０８のシステムクロックによって、または受信されたデータパケットのＲＴＰタイムスタンプから得られる。次のステップ４０６において、先に受信されたデータパケットに対する時間差が演算される。ステップ４０８において、演算された時間差が、それぞれのメタデータトラックのｓｔｔｓボックス３２２に書込まれ、ｓｔｔｓによって、受信タイミングをそれぞれのサンプル番号、すなわち受信され記憶されたパケット、にインデックスすることができる。すなわち、本発明の実施例によると、サンプルボックスｓｔｔｓ３２２への復号化時間は受信時間デルタ：ＲＴ（ｎ＋１）＝ＲＴ（ｎ）＋ｓｔｔｓ（ｎ）を含み、ＲＴ（ｎ）はパケットｎについての受信時間を表わし、ｓｔｔｓ（ｎ）はパケットｎについての非圧縮テーブルエントリである。
【００９７】
上述のように、メディアデータコンテナ１０４内のサンプル（パケット）は、チャンク１１０、１１２にグループ分けされる。それらのチャンクは異なるサイズであり得、チャンク内のサンプルも異なるサイズであり得る。チャンクボックスｓｔｓｃ３２８へのサンプルを用いて、特定的なサンプル、その場所、および関連付けられたサンプル記述を含むチャンクを見つけることができる。各エントリによって、同一の特性のチャンクの実行の第１のチャンクのインデックスが与えられる。ここで、前のエントリから１つエントリを差し引くことによって、それぞれの実行にいくつのチャンクがあるのかを演算することができる。適切なチャンクごとのサンプルを乗算することによって、これをサンプル個数に変換することができる。
【００９８】
チャンクオフセットテーブルｓｔｃｏまたはｃｏ６４  ３３０は、メディアデータコンテナ１０４内の各チャンクのインデックスを与える。２つの変形例があり、３２ビットまたは６４ビットのオフセットが使用可能である。後者は、非常に大きなファイル１０２を管理する際に有用である。オフセットは通常、ファイルオフセットであり、たとえばメディアデータコンテナなどのファイル内のいずれかのボックス内へのオフセットではない。したがって、いずれのボックス構造も用いることなく、ファイル内のメディアデータを参照することができる。
【００９９】
したがって、本発明の実施例によると、記録装置１１６は、各第１のチャンクのインデックスを示す第１のチャンクオフセットテーブル３３０をファイルに記憶するように適合される。図５を参照してこれを説明する。
【０１００】
第１のステップ５０２においてデータパケットが受信機１０８によって受信された後、第２のステップ５０４において、受信されたデータパケット１１０、１１２が、ファイル１０２に関係付けられたメディアデータコンテナ１０４に記憶される。その結果、受信されたデータパケット１１０、１１２は、メディアデータコンテナ１０４内の記憶アドレスにサンプルとして記憶される。第３のステップ５０６において、ファイル１０２の先頭（メディアデータコンテナ１０４がファイル１０２に含まれる場合）、またはメディアデータコンテナ１０４の先頭（メディアデータコンテナ１０４が別個のファイルを示す場合）に対する記憶アドレスのオフセットが演算される。その後、演算されたオフセットは、関係付けられたメタデータトラック１２４のｓｔｃｏまたはｃｏ６４ボックス３３０に書込まれる。
【０１０１】
制御パケット１１４、１１５、およびそれらの関係付けられたメタデータトラック１２８の記憶についても同じことが言える。
【０１０２】
上述の内容を要約するために、たとえば以下により詳細に説明されるＲＴＰ／ＲＴＣＰ受信ヒントトラックまたはキーストリーム受信ヒントトラックなどの、受信ヒントトラックまたは関連付けられた受信ヒントトラックを作成するために実行される動作の概要を述べる。以下に説明される仮想メディアトラックについても同じことが言える。ＩＳＯベースメディアファイルフォーマットに基づくファイル１０２にトラックを追加する場合、本発明の実施例に従って、装置１００内で以下の動作が典型的に実施される。
・ｍｏｏｖボックスに、新たなｔｒａｋボックスを追加する。
・新たに作成されたｔｒａｋボックスに、新たなｔｋｈｄボックスを追加する。このボックスは、たとえば作成時間、トラックＩＤ、“メディア”トラックの寸法、および持続期間などの、トラックの特性を含む。
・新たに作成されたｔｒａｋボックスに、新たなｔｒｅｆボックスを追加する。このボックスは、トラックのリンケージ、すなわちトラックが独立しているのか、または別のトラックとの併用でのみ使用可能であるのかを示す。なお、受信ヒントトラックは、ｔｒｅｆボックスを用いたトラック参照を介してリンクされ得るか、またはたとえば２つ以上のトラックをリンクさせるために用いられ得るデータを含むサンプル記述を介して暗黙的にリンクされ得るかのいずれか一方である。したがって、このボックスは任意であるが、推奨されるトラックリンク機構である。
・新たに作成されたｔｒａｋボックスに、新たなｍｄｉａボックスを追加する。
・新たに作成されたｍｄｉａボックスに、新たなｍｄｈｄボックスを追加する。このボックスは、たとえばメディアの持続期間および言語などの、トラック内のメディアの特性を含む。
・新たに作成されたｍｄｉａボックスに、新たなｈｄｌｒボックスを追加する。このボックスは、典型的にそのようなメディアを消費可能なプロセスのための識別を含む。たとえばＲＴＣＰ受信ヒントトラックなどの高度な受信ヒントトラックの場合、この識別は“ｈｉｎｔ”である。
・新たに作成されたｍｄｉａボックスに、新たなｍｉｎｆボックスを追加する。
・新たに作成されたｍｉｎｆボックスに、新たなｈｍｈｄボックスを追加する。このボックスは、ヒントトラックについての情報ヘッダを含む。
・新たに作成されたｍｄｉａボックスに、新たなｄｉｎｆボックスを追加する。
・新たに作成されたｄｉｎｆボックスに、新たなｄｒｅｆボックスを追加し、トラックの生データがファイル自身の内部にあるか、またはたとえば別のファイル内もしくはＵＲＩ（統一資源識別子）（Uniform Resource Identifier）を介して利用可能であるなどの外部にあるのか、のいずれかを示す。
・新たに作成されたｍｉｎｆボックスに、新たなｓｔｂｌボックスを追加する。このボックスは、トラック内のサンプル（たとえばＲＴＰ／ＲＴＣＰまたはキーストリームパケット、仮想メディアサンプル）のタイミングおよびデータインデックス作成を含むボックスのためのコンテナである。
・新たに作成されたｓｔｂｌボックスに、新たなｓｔｓｄボックスを追加する。このボックスは、メディア（一般に４ＣＣと称される）の識別、およびサンプルの帯域外構成を含む。
・新たに作成されたｓｔｂｌボックスに、新たなｓｔｔｓボックスを追加する。このボックスは、トラック内のメディア（たとえばＲＴＰ／ＲＴＣＰまたはキーストリームパケット、仮想メディアサンプル）の各個別サンプルの持続期間についての情報を含む。
・新たに作成されたｓｔｂｌボックスに、新たなｓｔｓｃボックスを追加する。このボックスは、チャンクにグループ分けされたサンプル（たとえばＲＴＰ／ＲＴＣＰまたはキーストリームパケット、仮想メディアサンプル）の数についての情報を含む。
・新たに作成されたｓｔｂｌボックスに、新たなｓｔｓｚボックスを追加する。このボックスは、トラック内のメディア（たとえばＲＴＰ／ＲＴＣＰまたはキーストリームパケット、仮想メディアサンプル）の各個別サンプルのサイズについての情報を含む。
・新たに作成されたｓｔｂｌボックスに、新たなｓｔｃｏまたはｃｏ６４ボックスを追加
する。このボックスは、各チャンクの第１のバイトのファイルオフセットについての情報を含む。
・任意で、サンプルテーブル内に許可される他のボックス、たとえばランダムなオフセットに使用可能なサンプル（たとえばＲＴＰ／ＲＴＣＰまたはキーストリームパケット、仮想メディアサンプル）のインデックスを作成するｓｔｓｓボックスを追加する。
【０１０３】
サンプルは、ギャップのない連続的なサンプルのブロックであるチャンクにグループ分けされる。ファイルにサンプルが追加される場合、既存のチャンクに添付されるか、または新たなチャンクが開始される。新たなサンプルの各々について、ｓｔｔｓおよびｓｔｓｚボックスにエントリが追加され、ｓｔｓｃボックスは現在のチャンク内のサンプルの数を反映するように変更される。新たなチャンクにサンプルが書込まれる場合、新たなエントリがｓｔｃｏ（またはｃｏ６４）ボックスに添付され、ｓｔｓｃボックスは新たなチャンク内のサンプルの数を反映するように変更される。チャンク、すなわち生サンプルデータ自身は、ｍｄａｔボックス内部のファイル、または外部ファイル（ファイル内から参照可能）のいずれか一方に書込まれる。
【０１０４】
装置の動作に依存して、（ＲＴＣＰおよびキーストリーム受信ヒントトラックについて）高度な受信ヒントトラックが並行にファイルに書込まれ、すなわち、サンプルは、新たなデータが到着するとファイルに追加されるか、または（仮想メディアトラックについての）オフライン動作において後の時点で追加される。
【０１０５】
受信されたデータパケット１１０、１１２、および関連付けられた制御メッセージ１１４、１１５を、受信ヒントトラックおよび関連付けられた受信ヒントトラックに並行記憶することは、記録および／またはタイムシフトアプリケーション中に理想的な解決策である。しかし、記録されたファイル１０２が長期記憶されることが意図されており、最終的に何度も再生される場合は、記憶されたデータを再生のたびに分析することを避け、さらなる算出をせずに直接利用可能なメディア時間を有することが望ましいことがある。これは通常、（ＲＴＰ）受信ヒントトラックからのデータパケットのペイロードをパケット分解して、トラックごとに１つの基本ストリームの余分なメディアトラックに保存することを意味する。これは、たとえば記憶容量が限られている場合にストリームデータパケットに転送暗号化を適用したときなどは、可能または望ましいとは限らない。メディアデータコンテナ１０４に記憶された転送パケットの正確なタイミングに加えて、受信ヒントトラックについての利用可能な拡張情報、特に、たとえばフレームの正確なＳＭＰＴＥタイムスタンプまたは映像トラックについてのサブタイトルなどの、内部のメディアストリームについての情報を有することが望ましい。
【０１０６】
次に図６を参照して、本発明の実施例に従って、記憶されたデータパケットおよび記憶された関連付けられたメタ情報を処理するための装置６００が示される。
【０１０７】
装置６００は、記憶されたデータパケットおよび記憶された関連付けられたメタ情報に基づいて、記憶されたデータパケットのペイロードの復号化情報を決定するためのプロセッサ６０２が図１に示される装置１００とは異なっており、復号化情報は、記憶されたデータパケットのどのペイロードをどの時点で再生するかを示す。装置６００は装置１００の拡張部であってもよいが、特に、たとえばＭＰＥＧ−２  ＴＳパケットなどの記憶された非ＲＴＰ／ＲＴＣＰパケットを処理するために用いられる場合は、別個であってもよい。
【０１０８】
図６に示される実施例では、データパケットは、ファイル１０２に関係付けられたメディアデータコンテナ１０４に記憶される。メタ情報は、上述のように、ファイル１０２のメタデータコンテナ１０６に記憶される。記憶されたデータパケットは、メディアデータ
コンテナ１０４のチャンク１１８、１２２にサンプルとして記憶され得る。サンプルおよび／またはチャンクは、メタデータコンテナ１０６内の関連付けられたメタデータトラック１２４、１２８によって参照される。
【０１０９】
本発明の実施例によると、上述のように、記憶されたデータパケットは、パケット化された第１および第２のメディアデータを含む第１および第２のＲＴＰパケット１１０、１１２と、関連付けられた第１および第２のＲＴＣＰパケット１１４、１１５とを含み得る。
【０１１０】
本発明の別の実施例によると、記憶されたデータパケットは、典型的に音声および映像である１つ以上のプログラムのストリーム多重通信を含むＭＰＥＧ−２転送ストリームデータパケットを含み得る。ＭＰＥＧ−２転送ストリームデータパケットの長さは典型的に１８８バイトである。
【０１１１】
本発明の実施例によると、決定された復号化情報は、メディアデータコンテナ１０４内の復号化情報チャンク６０４に復号化情報サンプルの形態で記憶される。その結果、各復号化情報サンプルは、たとえば、受信ヒントトラックのメディアデータ部の記憶されたデータパケットから再構築され得る映像または音声フレームなどのアクセスユニットに関係する。
【０１１２】
プロセッサ６０２は、復号化情報サンプルがメディアアクセスユニットの開始アドレスおよび終了アドレスを示すように、メディアフレームごとに復号化情報サンプルを決定するように適合され、開始アドレスは、上記メディアアクセスユニットの先頭を表わすメディアデータサンプルの位置を表わし、終了アドレスは、上記メディアアクセスユニットの終了を示すメディアデータサンプルの位置を表わし、メディアデータサンプルは、メディアデータコンテナ１０４内のデータパケットに含まれる。
【０１１３】
プロセッサ６０２は、復号化情報サンプルをメディアデータコンテナ１０４内のチャンク６０４に仮想メディアサンプルとして記憶するために、メディアデータコンテナ１０４にアクセスし得る。プロセッサ６０２はさらに、復号化情報サンプル（仮想メディアサンプル）に関係付けられ、かつ復号化情報サンプルの復号化時間および位置を示す復号化メタ情報をメディアデータコンテナ１０４内のメタデータトラック６０６に記憶するために、メディアデータコンテナ１０６にアクセスし得る。上述のように、復号化情報サンプルは仮想メディアサンプルと考えることができ、その各々が、関係付けられた映像または音声ストリームのアクセスユニットを参照する。仮想メディアサンプルは、関係付けられた音声／映像フレームを、メディアデータコンテナ１０４内の記憶されたデータパケットからどのように再構築するかについての情報を含む。
【０１１４】
次に図７を参照して、メディアデータコンテナ１０４内の仮想メディアサンプル７０４、およびメタデータコンテナ１０６内の関連付けられた仮想メタデータトラック７０６を含むファイル７０２が示される。
【０１１５】
ファイル７０２はまた、メディアデータコンテナ１０４に含まれるチャンク７０８内の記憶されたＲＴＰパケット、およびチャンク７１０に含まれるＲＴＣＰパケットを有する。記憶されたＲＴＰパケットに対して、関連付けられたＲＴＰメタデータトラック７１２がある。記憶されたＲＴＣＰパケットに対して、関連付けられたＲＴＣＰメタデータトラック７１４がメタデータコンテナ１０６内にある。
【０１１６】
矢印によって示されるように、仮想メディアチャンク７０４内の仮想メディアサンプルは、チャンク７０８に記憶されたＲＴＰパケットに関係する。仮想メディアサンプルは、
記憶された伝送ユニット、すなわちチャンク７０８に記憶されたデータパケットから、たとえばメディアフレームなどのアクセスユニットを再構築するためのコンストラクタを含み得る。仮想メディアサンプルは、特定のアクセスユニットの再構築に関する、１つ以上の有意な伝送ユニットへのリンクを含み得る（不完全なコンストラクタ）。また、仮想メディアサンプルは、たとえば受信時にパケット損失が起こった場合などは空であり得る。さらなる代替肢として、仮想メディアサンプルは、従来のメディアトラックの場合のように、メディアフレームを記述する完全に復元されたメディアサンプルを含む。
【０１１７】
仮想メディアサンプルの包括的なペイロード構成データは、同一タイプの非仮想メディアトラックの包括的なペイロード構成データを含み、たとえば、Ｈ．２６４コード化映像のための仮想メディアトラックは、サンプル記述内部のａｖｃＣボックスにＡＶＣ構成記録も含む。さらに、受信ヒントトラックのデヒンティング処理についての情報、たとえば、仮想メディアトラックのサンプルペイロード内に与えられる情報を用いて受信ヒントトラックから再度組立てられるメディアサンプルの最大サイズなどを含み得る。
【０１１８】
仮想メディアトラックのサンプルのペイロードは、受信ヒントトラックからメディアサンプルデータを抽出するプロセスを記述する“コマンド”からなる。これらのコマンドは、ヒントトラック用のパケットコンストラクタから導出され、“即時コンストラクタ”、“サンプルコンストラクタ”、および“サンプル記述コンストラクタ”を含む。即時コンストラクタは、“長さ”、“データ”、および“パッド”の欄からなる。“長さ”は、“データ”欄の長さを示す。“パッド”は、過剰に準備されたスペースを充填するために用いられ得る。
【０１１９】
サンプルコンストラクタは、トラック参照インデックス、長さ、サンプル番号、およびサンプルオフセットの欄からなる。トラック参照インデックスは、データが抽出される受信ヒントトラックを示し、サンプル番号は、受信ヒントトラックのサンプル番号を示す。サンプルオフセット欄は、抽出される長さ“length”のデータブロックの先頭を明記する。
【０１２０】
サンプルコンストラクタを用いることによって、データをコピーせずにメディアサンプルのコンパクトな表現が可能となる。
【０１２１】
サンプル記述コンストラクタは、トラック参照インデックス、サンプル記述インデックス、サンプル記述オフセット、および長さの欄からなる。サンプルコンストラクタと同様に、受信ヒントトラックの同一の記述からのデータは、仮想メディアサンプルに含むために用いられる。
【０１２２】
仮想メディアトラックはメディアタイミングを用い、すなわち、復号化タイムスタンプは伝送遅延またはクロック周波数の不正確度に影響されない。このタイミングは、仮想メディアトラック内で利用可能な情報から生成され得るメディアトラックのタイミングと等しい。
【０１２３】
図８は、ストリーム記録およびオフラインファイル最適化のフローチャートを示す。
第１のステップ８０２において、受信ヒントトラックおよび任意で関連付けられた受信ヒントトラック（たとえばＲＴＰおよびＲＴＣＰ）が上述のようにファイル１０２保存される。記録完了後、すなわち、データパケットが受信ヒントトラックの形態でファイル１０２に保存され、関連付けられた制御パケットが関連付けられた受信ヒントトラック内のファイルに最終的に保存されると、ステップ８０４において、記録された受信ヒントトラック内で異なるメディアストリームが決定される。つまり、ステップ８０４は、記録された受信ヒントトラック内で、たとえば音声および映像ストリーム、または音声および映像
ストリームにそれぞれ関係付けられたデータパケットを決定するステップを含む。これは、上述のように、セッション記述プロトコル（ＳＤＰ）から適切な情報を抽出することによってなされ得る。
【０１２４】
したがって、プロセッサ６０２は、記憶されたデータパケットのどれが第１または第２のメディアデータサンプルに関係するかを決定するよう、およびメディアデータコンテナ１０４内の第２のメディアデータサンプルに関係付けられた第２の復号化情報サンプル（第２の仮想メディアサンプル）を決定するように適合される。
【０１２５】
さらなるステップ８０６において、識別されたメディアストリームの各々について、仮想メディアトラック（メディアおよびメタデータを含む）が作成され、このトラックは、関係付けられた受信ヒントトラックを参照する。
【０１２６】
すなわち、プロセッサ６０２は、第１のメディアデータサンプルに関係付けられた第１の復号化情報サンプル（第１の仮想メディアサンプル）をメディアデータコンテナ１０４に記憶するよう、および第１の復号化メタ情報をメタデータコンテナ１０６に記憶するように適合され、第１の復号化メタ情報は、メディアコンテナ１０４内の第１の復号化情報サンプルの位置（たとえばチャンクオフセット、サンプル番号など）を示す。プロセッサ６０２は、第２の復号化メタ情報をメタデータコンテナ１０６に記憶するように適合され、第２の復号化メタ情報は、メディアコンテナ１０４内の第２の復号化情報サンプルの位置（たとえばチャンクオフセット、サンプル番号など）を示す。
【０１２７】
すなわち、作成された仮想メディアトラックは、それぞれのメディアストリームに従ってペイロードを有するデータパケットを含む受信ヒントトラックを参照する。仮想メディアトラックの作成後、仮想メディアトラックに仮想メディアサンプル（復号化情報サンプル）が追加され、仮想メディアサンプルは、受信ヒントトラックのメディアデータ部内のサンプルまたはパケットを示し、制御伝送ユニット（たとえばＲＴＣＰ送信者レポート）から正確なタイミングを回復する。
【０１２８】
ＲＴＣＰ送信者レポートは、ＲＴＰタイムスタンプ、およびＮＴＰタイムスタンプフォーマット内のストリーム同士の間の対応する共通タイムスタンプを含む。ＲＴＰタイムスタンプおよびＮＴＰタイムスタンプによって、変換値を決定することができる。このＲＴＰ／ＮＴＰタイムスタンプ変換値およびＲＴＰタイムスタンプのクロック周波数を用いて、受信されたＲＴＰパケットの、ＮＴＰタイムスタンプフォーマット内のストリーム同士の間の対応するタイムスタンプを算出することが可能である。このようにして、ＲＴＰ受信ヒントトラックの各サンプル、すなわち記憶された各データパケットについてのメディアタイミングを、データパケットの記録後の処理において得ることができる。
【０１２９】
さらなるステップ８１０において、記述情報が仮想メディアトラックに（たとえば、このトラック内のテーブルによって、またはこのトラックを参照する他のトラックを追加することによって）追加される。その結果、追加された記述情報は、仮想メディアサンプルに関連付けられたメディアフレームの開始アドレスおよび終了アドレスを示し得、開始アドレスは、メディアフレームの先頭を示すメディアデータサンプルの位置を表わし、終了アドレスは、メディアフレームの終了を示すメディアデータサンプルの位置を表わし、メディアデータサンプルは、メディアデータコンテナ１０４内のデータパケットのペイロードに含まれる。
【０１３０】
さらなる任意の再生ステップ８１２において、仮想メディアサンプルの記述情報を用いて、仮想メディアトラックを介して受信ヒントトラック内の対応するサンプルを見つける。たとえば、記憶されたデータパケットに含まれるメディアストリームを再生するために
、ステップ８１０を用いてもよい。
【０１３１】
受信ヒントトラック内の記憶されたデータパケットのペイロードに含まれるメディアフレームを参照する仮想メディアサンプルの記述情報をどのように得るかについて例が、図９に示される。
【０１３２】
図９は、記憶された一連のＲＴＰパケットＲＴＰ１、ＲＴＰ２、ＲＴＰ３を示す。ＲＴＰパケットＲＴＰ１、ＲＴＰ２、ＲＴＰ３は、仮想メディアコンテナ１０４にサンプルとして記憶される。ＲＴＰパケットＲＴＰ１、ＲＴＰ２、ＲＴＰ３の各々は、ヘッダＨ１、Ｈ２、Ｈ３、およびメディアデータサンプルを含むペイロードＰＬ１、ＰＬ２、ＰＬ３を含む。一例として、ヘッダサイズはそれぞれＡビットであり、ペイロードサイズは（Ｂ−Ａ）ビットである。映像または音声フレームであり得る第１のメディアフレームのデータは、第１のＲＴＰパケットＲＴＰ１および第２のＲＴＰパケットＲＴＰ２のペイロード同士の間で分割されている。一例として、第１のメディアフレームのメディアデータは、ＲＴＰパケットＲＴＰ１のバイトＡからデータパケットＲＴＰ２のバイトＡ＋Ｙにまで達する。第２のメディアフレームのメディアデータは、バイトアドレスＡ＋Ｙで開始するデータパケットＲＴＰ２と、データパケットＲＴＰ３のバイトアドレスＡ＋Ｚで終了するデータパケットＲＴＰ３との間で分割されている。
【０１３３】
仮想メディアサンプルＶＭＳ１およびＶＭＳ２は、それぞれ第１のメディアフレームおよび第２のメディアフレームに関係する。本発明の実施例によると、仮想メディアサンプルＶＭＳ１、ＶＭＳ２は、第１および第２のメディアフレームのメディアデータを、記憶されたデータパケットＲＴＰ１、ＲＴＰ２、ＲＴＰ３内のどこに見つけるかについての情報を含む。すなわち、仮想メディアパケットＶＭＳ１は、フレーム１のメディアデータを、データパケットＲＴＰ１にバイトアドレスＡからバイトアドレスＢまでアクセスすることによって、およびデータパケットＲＴＰ２をバイトアドレスａからバイトアドレスＡ＋Ｙまでアドレス指定することによって得ることができるという情報を含む。仮想メディアサンプル２は、メディアフレーム２についてのメディアサンプルをどこで得るかの情報を含む。すなわち、仮想メディアサンプル２は、メディアフレーム２がデータパケットＲＴＰ２内のバイトアドレスＡ＋ＹからバイトアドレスＢにまで及び、フレーム２のさらなるメディアサンプルをデータパケットＲＴＰ３内のバイトアドレスＡからバイトアドレスＡ＋Ｚに見つけることができるという情報を記憶している。
【０１３４】
仮想メディアトラックのメディアデータ部を形成する仮想メディアサンプルＶＭＳ１およびＶＭＳ２は両方とも、メタデータコンテナ１０６内の仮想メディアトラックのメタデータ部によって参照される。サンプル復号化時間情報は、各仮想メディアサンプルＶＭＳ１、ＶＭＳ２についてのｓｔｔｓボックス内に見つけることができる。その結果、上述のように、サンプル復号化時間情報は、ＲＴＰパケットＲＴＰ１、ＲＴＰ２、ＲＴＰ３に関連付けられた記憶されたＲＴＰパケットを評価することによって決定され得たメディアタイミングを反映する。
【０１３５】
図１０は、受信ヒントトラックのサンプルの仮想メディアトラックのサンプルへのマッピングを示す。
【０１３６】
図９とは対照的に、図１０は、ＭＰＥＧ−２転送ストリームＭ２Ｔの記憶されたデータパケットを示す。転送ストリームＭ２Ｔは、音声サンプルを含むデータパケットＡ１からＡ７、および映像サンプルを含むデータパケットＶ１からＶ７を含む。
【０１３７】
仮想メディアサンプルＶＭＳＡ１は、音声パケットＡ１およびＡ２のペイロード同士の間で分割された第１の音声フレームに関係する。仮想メディアサンプルＶＭＳＡ１は、音
声フレーム１を得るためにＡ１およびＡ２のペイロードのどの部分を取るべきかを示す。同様に、仮想メディアサンプルＶＭＳＡ２は、そのメディアデータが音声パケットＡ２およびＡ３のペイロード内に見つけられ得る第２のオーディオフレームに関係付けられる。仮想メディアサンプルＶＭＳＡ３は、音声パケットＡ４と音声パケットＡ５の一部とを参照して、第３の音声フレームを得る。仮想メディアサンプルＶＭＳＡ４は、音声フレーム４のために、音声パケットＡ５の残りの部分ならびに音声パケットＡ６およびＡ７のペイロードを参照する。
【０１３８】
同様に、第１の映像フレームに関係付けられた仮想メディアサンプルＶＭＳＶ１は、第１の映像フレームのために、映像パケットＶ１、Ｖ２、およびＶ３のペイロードを参照する。仮想メディアサンプルＶＭＳＶ２は、第２の映像フレームについてのメディアサンプルを得るために映像パケットＶ４、Ｖ５、およびＶ６のペイロードを参照する。
【０１３９】
記憶されたＲＴＰパケットを参照する受信ヒントトラック、および記憶されたＲＴＣＰパケットを参照する関連付けられた受信ヒントトラックに基づいてメディア内容を再生するために、本発明の実施例ではファイルを読出すための装置が与えられ、このファイルは、ファイルに関係付けられたメディアコンテナに記憶された、第１のクロックに基づくパケット化された第１のメディアデータサンプルを含む第１のデータパケット、および第１のクロックとは異なる第２のクロックに基づくパケット化された第２のメディアデータサンプルを含む第２のデータパケットを有する。ファイルはさらに、記憶された、基準クロックに対する第１のクロックの関係を示すための情報を含む関連付けられた第１の制御パケットの少なくとも一部、および基準クロックに対する第２のクロックの関係を示すための情報を含む関連付けられた第２の制御パケットの少なくとも一部を有する。ファイルはさらに、メタデータコンテナに記憶された関連付けられたメタデータを有しており、関連付けられたメタデータは、受信された第１および第２のパケットデータならびに受信された第１および第２の制御パケットのタイミング情報と、メディアデータコンテナ内の記憶された第１および第２のデータパケットならびに記憶された第１および第２の制御パケットの位置を示す位置情報とを含む。装置は、メディアデータコンテナにアクセスすることによって、ならびにメディアデータコンテナ内の記憶された第１および第２のデータパケットと、記憶された第１および第２の制御パケットとのタイミング情報を解釈することによって、記憶された第１および第２のデータパケットの出力スケジュールを決定するためのプロセッサを含む。装置はさらに、メタデータコンテナにアクセスすることによって、およびメディアデータコンテナからデータパケットを読み出すことによって、決定された出力スケジュールに従ってデータパケットを出力するための出力コントローラを含む。
【０１４０】
本発明の実施例によると、プロセッサは、第１および第２のデータパケットの受信順序を反映するような出力スケジュールを決定するように適合され、受信順序は、受信された第１および第２のデータパケットの記憶されたタイミング情報によって示される。すなわち、この実施例を用いると、当初の受信シナリオのシミュレーションが実行可能である。
【０１４１】
さらなる実施例によると、プロセッサは、基準時間（ＮＴＰ）に対して第１のデータパケットの出力スケジュールが第２のデータパケットの出力スケジュールに同期化されるように、第１および第２のデータパケットの記憶されたタイミング情報と、記憶された第１および第２の制御パケットに含まれる基準タイムスタンプとに基づいて同期化情報を決定するように適合される。すなわち、この実施例を用いると、受信され記憶された第１および第２のデータパケットのタイミング同期化が実行可能である。
【０１４２】
受信ヒントトラックを読出す装置は、典型的に以下の一連の動作を用いて、ファイルをパーズ可能か否か検出する。
・ｆｔｙｐボックスをパーズして、ファイル内容および構造がパーズ可能であるか否か検
出する。ファイルがパーズ不可能であれば、ファイル読出動作を中止する。
・ｍｏｏｖボックスをパーズして、内部のｔｒａｋボックスの数を検出する。トラックがなければ、ファイル読出動作を中止する。
・各トラックのｍｉｎｆボックス内部のｈｄｌｒボックスをパーズして、ｈｄｌｒボックス内に規定されるハンドラタイプに利用可能なハンドラプロセスがあるか否か検出する。ハンドラが認識されなければ、このトラックに対するファイル読出動作を中止する。
・各トラックのｍｉｎｆボックス内部のｓｔｂｌボックスおよびｓｔｓｄボックスをパーズする。ｓｔｓｄボックスは、トラックの内容の識別を含み、内容を記述する。内容が理解できなければ、トラックのファイル読出動作を中止する。
【０１４３】
ファイルがパーズ可能であれば、ｔｒａｋボックス内部のｔｒｅｆボックスをパーズすることによってトラックリンケージが決定される。代替的に、フォーマットが内部でトラックリンケージを規定している場合は、トラックのｓｔｓｄボックス内のその利用可能な情報を用いる。トラックリンケージを決定できない場合、トラックは単独であり、かつ他のトラックに含まれる情報を用いずにパーズ可能であると仮定される。トラックリンケージは読出装置の内部に記憶され、トラックに含まれる生データを理解するプロセスにおいて必要であれば用いられる。
【０１４４】
装置は自身の動作に依存して、自身が理解し、かつファイルの提示に関するトラックを選択することができる。デフォルトですべてのトラックがパーズされるが、以下の法則が適用される。
・仮想メディアトラックについて、ＲＴＰまたはＭＰＥＧ−２  ＴＳ受信ヒントトラックの代わりに仮想メディアトラックが用いられる。このトラックは、ヒンティング動作を逆にするためのデータ、すなわち、復号器が固有に理解可能な基本ストリームデータブロックを作成するために受信ヒントトラックのどのデータを抽出して他のデータとともに拡張させる必要があるかについてのデータをすでに含む。
・ＲＴＣＰ受信ヒントトラックについて、第１の動作モードでは、ＲＴＣＰトラックがＲＴＰ受信ヒントトラックと並行に消費される。読取装置は、ストリームを同期化するための包括的なＲＴＰ／ＲＴＣＰ受信の利用可能なロジックを用いる。
・ＲＴＣＰ受信ヒントトラックについて、第２の動作モードでは、初期の同期化を検出していくつかのＲＴＰ受信ヒントトラック同士の間でクロックドリフトするために、通常の読出動作が開始される前に、ＲＴＣＰ受信ヒントトラック全体が消費される。このモードでは、いくつかのＲＴＰ受信ヒントトラックのＲＴＰクロックを整合させるために、たとえば線形回帰が適用される。次に、データが消費されるとストリームにスキューが適用され、複数のＲＴＰ受信ヒントトラックの連続的な同期化された再生が促進される。
・キーストリーム受信ヒントトラックについて、第１の動作モードでは、キーストリーム受信ヒントトラックがＲＴＰまたはＭＰＥＧ−２  ＴＳ受信ヒントトラックと並行に消費される。この結果、受信ヒントトラックの特定の保護されたデータブロックについてのキーストリームデータが、実際の放送と同様に確実に利用可能となる。
・第２の動作モードでは、有効性期間がもはや重複しないようにキーストリームデータと受信ヒントトラックのデータとが整合される。これによって、キーストリームデータのタイミングを理解しなくてもトラックを後で編集することが可能となる。
【０１４５】
トラックからいわゆるサンプルを得るために、ファイル内部の位置を導出する必要がある。ｋ番目のサンプルＳについて、この動作は以下によって達成される。
・ｓｔｓｃボックスのデータを用いることによって、サンプルＳが存在するチャンクｃを決定する。
・ｓｔｃｏ（またはｃｏ６４）ボックスをパーズして、チャンクＣのファイルオフセットＦを決定する。
・ｓｔｓｚボックスをパーズして、チャンク内部のサンプルＳのサイズＬおよびすべての
前のサンプルＰiのサイズＫiを得る。
【０１４６】
データはその後、ファイル内の位置（Ｆ＋合計（Ｋi））で利用可能であり、サイズＬを有する。
【０１４７】
データが再生されるべき時間は、ｓｔｔｓボックス内で利用可能な情報によって決定される。このボックスは、各個別サンプルｊについて、実行長さのコード化持続期間Ｄjを含む。そしてｋ番目のサンプルＳの再生時間は、全持続期間Ｄjの合計であり、ｊ＜ｋである。
【０１４８】
仮想メディアトラックが利用可能である場合、本発明の実施例ではファイルを読出すための装置が与えられ、このファイルは、メディアデータコンテナに記憶された、ペイロードを含むデータパケットを有し、メディアデータコンテナ１０４に記憶された、記憶されたデータパケットのペイロードについての復号化情報を有し、復号化情報は、記憶されたデータパケットのどのペイロードをどの時点で再生するかを示す。ファイルは、メタデータコンテナ１０６に記憶された、関連付けられたメタデータを有し、関連付けられたメタデータは、復号化時間、およびメディアデータコンテナ内の復号化情報の位置を示す。本発明の実施例に係る装置は、メタデータコンテナ１０６内の関連付けられたメタデータにアクセスすることによって、およびメタデータに基づいてメディアデータコンテナ内の復号化情報にアクセスすることによって、および復号化情報に基づいて、記憶されたデータパケットについてのペイロードにアクセスすることによって、記憶されたデータパケットのペイロードの出力スケジュールを決定するためのプロセッサと、決定された出力スケジュールに従ってペイロードを出力するための出力コントローラとを含む。
【０１４９】
本明細書の導入部で述べたように、本発明の別の局面は、受信されたデータパケットに加えて、キーストリームメッセージを記憶することである。
【０１５０】
データまたはデータパケットにアクセスする権利は、権利管理システムを介して制御され得る。デジタル通信ネットワークを介したデータ内容の受信は一定のエンドユーザに限定され、他のユーザから制限されることがある。たとえば、ユーザはプログラムに対する料金を支払うことによってそのプログラムへのアクセスを購入することができる。料金を支払えば、ユーザは特定の期間中そのプログラムへのアクセスを許可されるが、料金を支払っていないユーザはそのプログラムへのアクセスを有することができない。プログラムへのアクセスは、伝送データの暗号化によって規制され得る。データは、暗号化キーを用いて様々な暗号化規格によって暗号化され得る。受信者またはユーザ端末においてキーを用いて、内容が受信者またはユーザ端末で見えるように、暗号化されたデータを解読することができる。暗号化されたデータパケットを解読するためのキーは、同一のデジタル通信ネットワークを介して配信され得、これも暗号化され得る。１つ以上のキーを配信するために、他のデジタル通信ネットワークを使用することもできる。したがって、プログラムまたはサービスへのアクセスまたはこれらの視聴を希望するエンドユーザは、そのキーへの権利を得る必要があり得る。
【０１５１】
暗号化されたプログラムまたはサービスに関連付けられた転送暗号化キーは、キーストリーム内でユーザ端末に送信され得る。キーストリームは、暗号化されたデータストリームの受信者またはユーザ端末での受信時に予め定められた周波数で送信されるキーストリームメッセージを含み得、キーストリームメッセージも受信され得る。
【０１５２】
図１２は、各々が暗号キーｋ0、ｋ1、ｋ2で暗号化されたペイロードを有する、ストリーム化されたデータパケット１３０２−１、１３０２−２、１３０２−３を示す。データパケット１３０２に関連付けられて、キーストリームパケット１３０４−１、１３０４−
２、１３０４−３、および１３０４−４を含むキーストリームがある。関連付けられたデータパケット１３０２−１よりも時間的に早く配信されるキーストリームパケット１３０４−１は、データパケット１３０２−１の暗号化されたペイロードを解読するための暗号キーｋ0を含む。その結果、暗号キーｋ0は、関連付けられたデータパケットが暗号化可能であることを保証する、自身に関連付けられた寿命ｄ0を有する。第２のキーストリームパケット１３０４−２、およびそれに関連付けられたデータパケット１３０２−２のペイロードを解読するために用いられ得るパケット１３０４−２の暗号キーｋ1にも同じことが言える。ここでも、関連付けられたキーストリームパケット１３０４−２はデータパケット１３０２−２よりも時間的にかなり早く配信され、暗号キーｋ1は、データパケット１３０２−２のペイロードの正しい解読を保証する寿命ｄ1を有する。
【０１５３】
本発明の実施例によると、データパケットおよび関連付けられたキーストリームパケットは、データパケットおよび関連付けられた制御パケットについて先に説明したように、受信者端末において、メディアデータコンテナおよびメタデータコンテナを有するファイルにともに記憶され得る。
【０１５４】
図１１は、本発明の実施例に係る、関係付けられたメディアデータコンテナ１１０４およびメタデータコンテナ１１０６を有するファイル１１０２を記録するための装置１１００を示す。
【０１５５】
装置１１００は、各々がペイロードを含むデータパケット１１１０を受信するため、および複数の暗号キーを含むキーストリームパケット１１１２を受信するための受信機１１０８を含み、各暗号キーは、受信されたデータパケットのペイロードに関連付けられている。装置１１００はさらに、受信されたデータパケット１１１０および受信されたキーストリームパケット１１１２をメディアデータコンテナ１１０４に記憶するため、および関連付けられたメタデータをメタデータコンテナ１１０６に記憶するための記録装置１１１６を含み、関連付けられたメタデータは、受信されたデータパケット１１１０および受信されたキーストリームパケット１１１２の転送タイミング情報を含み、メディアデータコンテナ１１０４内の記憶されたデータパケット１１１０および記憶されたキーストリームパケット１１１２の位置を示す位置情報を含む。
【０１５６】
装置１１００は、装置１００とともに用いられてもよいし、または装置１００に含まれてもよいことが強調される。すなわち、データパケットを関連付けられた制御パケットとともに記憶し、データパケットを関連付けられたキーストリームパケットとともに記憶して、記憶されたデータパケットと関連付けられた制御パケットおよび／または関連付けられたキーストリームパケットとからメディアトラックの形態の復号化情報を作成する発明概念を組合せてもよい。
【０１５７】
再び図１１を参照して、受信されたデータパケット１１１０は、メディアデータコンテナ１１０４の第１のチャンク１１１８にサンプルとして記憶される。受信された関連付けられたキーストリームパケットは、メディアデータコンテナ１１０４の第２のチャンク１１２０にサンプルとして記憶される。本発明の好ましい実施例によると、第１および第２のチャンク１１１８および１１２０は、メディアコンテナ１１０４内にインターリーブによって記憶され得る。
【０１５８】
上述のように、ファイル１１０２は、たとえばＭＰ４ファイルなどの、ＩＳＯベースメディアファイルフォーマットに基づくファイルであり得る。したがって、記録装置１１１６は、第１のチャンク１１１８を、メタデータコンテナをｍｏｏｖ１１０６の第１のメタデータトラック１１２４の第１のチャンクオフセットテーブルｓｔｃｏまたはｃｏ６４に記憶するように適合され、第１のチャンクオフセットテーブルは、メディアデータコンテ
ナ１１０４がファイル１１０２の一部であるか否かに依存して、ファイル１１０２またはメディアデータコンテナ１１０４内への各第１のチャンク１１１８のインデックスを示す。メディアデータコンテナ１１０４内への第２のチャンクのインデックスは、第１のチャンクについて説明したのと同じように、メタデータコンテナ１１０６の第２のメタデータトラック１１２８の第２のチャンクオフセットテーブルに記憶される。
【０１５９】
データパケット１１０、１１２、および関連付けられた制御パケット１１４、１１５を受信ヒントトラックおよび関連付けられた受信ヒントトラックに並行記憶する場合についてすでに説明したとおり、データパケット１１１０の転送タイミング情報、すなわち受信時間またはＲＴＰタイムスタンプは、第１のメタデータトラック１１２４に含まれる第１のｓｔｔｓボックスに記憶される。同様に、転送タイミング情報または差転送タイミング情報は、第２のチャンク１１２０に関係付けられた第２のメタデータトラック１１２８の第２のｓｔｔｓボックスに記憶される。
【０１６０】
さらに、ストリームの受信完了後の再生を容易にするため、キーストリーム受信ヒントトラックを仮想メタデータトラックに変換するためのワンタイム処理が実行され得る。このために、装置１１００は、記憶されたデータパケット１１１０および関連付けられたメタデータ情報１１２４に基づいて、ならびに記憶されたキーストリームパケット１１１２および関連付けられたキーストリームメタ情報１１２８に基づいて、記憶されたデータパケット１１１０のペイロードについての解読情報を割当てるためのプロセッサ（図示せず）を含んでおり、解読情報は、記憶されたデータパケット１１１０のペイロードを再生するためにどの暗号キーをどの時点で用いるべきかを示す。
【０１６１】
すなわち、転送タイミングを有するキーストリーム受信ヒントトラックからのキーメッセージは、メディアタイミングを有する仮想メタデータトラック内のキーサンプルに変形させられる。これは、仮想メディアトラックについて先に説明したのと同じ概念に基づいて行なわれる。すなわち、キーサンプルが作成され、メディアデータコンテナ１１０４に記憶される。その結果、各キーサンプルはアクセスユニットまたはメディアフレームに関係付けられ、関係付けられたメディアフレームに対してどの暗号キーを用いるべきかについての情報を含む。ｓｔｔｓボックスを含む関連付けられたメタデータトラック１１２８において、キーサンプル復号化情報が与えられる。キーサンプル復号化情報は、それぞれのキーサンプルにどの時点でアクセスするかを示し、キーサンプルはここでもまた、記憶されたデータパケットのペイロードデータを参照してそれぞれの暗号化されたメディアフレームを得る。必要であれば、メディアトラック内のすべてのメディアサンプルが、関連付けられたキーサンプル（同一のキーＩＤを有する）をキートラック内に有するように、キーサンプルは実質的に２倍にされる。
【０１６２】
したがって、特に内容暗号化の場合に暗号化されたアクセスユニットを転送ユニット（データパケット）から再構築可能であれば、たとえばメディアフレームなどのメディアアクセスユニットとキーメッセージとの正確なタイミング関係を作成することが可能である。
【０１６３】
記憶されたデータパケット１１１０を有し、メディアデータコンテナ１１０４に記憶された関連付けられたキーストリームパケット１１１２を有し、メタデータコンテナ１１０６に記憶された関連付けられたメタデータを有するファイル１１０２を読出すために、本発明の実施例では、プロセッサを含む装置が与えられ、プロセッサは、記憶されたデータパケット１１１０に基づいて、関連付けられたパケットメタ情報１１２４に基づいて、ならびに記憶されたキーストリームパケット１１１２および関連付けられたキーストリームメタ情報１１２８に基づいて、記憶されたデータパケットのペイロードに暗号化情報を割当て、解読情報は、記憶されたデータパケットのペイロードを再生するためにどの暗号キ
ーをどの時点で用いるべきかを示す。
【０１６４】
解読情報を割当てるためのプロセッサは、暗号化されたデータパケット１１１０のペイロードのプレイヤに対して用いられ得る。このため、解読されたデータパケットは、割当てられた解読情報に基づいて複合器に出力され得る。解読情報を割当てるためのプロセッサはまた、メディアデータコンテナ１１０４内に仮想キーサンプルとして部分的に記憶される仮想解読情報を生成するためにも用いられ得る。関連付けられたメタ情報は、メタデータトラック１１２８に記憶される。これは、上述の仮想メディアトラックの概念に対応する。
【０１６５】
キーサンプルのペイロードは、受信された状態のキーストリームメッセージの生ペイロードを含み得る。つまり、キーストリームのＵＤＰパケットの内容が直接記憶される。このデータを別の構造内に包んで、複数の受信されたキーストリームメッセージを記憶できるようにするシステムもある。
【０１６６】
キーストリームサンプルのタイミングは、そのベースＲＴＰ受信ヒントトラックのタイミング方法に依存する。ＲＴＰ受信ヒントトラックがＲＴＰタイムスタンプから復号化時間を導出する場合、キーストリーム受信ヒントトラックも、ＲＴＰタイムスタンプから復号化時間を導出するが、ＲＴＰタイムスタンプを外挿する必要があり得る。ＲＴＰ受信ヒントトラックに受信時間を用いる場合、キーストリームメッセージを記憶するためにも受信タイミングが用いられる。一般に、ＲＴＰ受信ヒントトラックおよびキーストリーム受信ヒントトラックの両方は同期化され、同一の時間ベースを用いる。
【０１６７】
要約すると、本発明は、受信された“伝送ユニット”（ＴＵ）−典型的にたとえば映像データなどのパケット化されたメディアデータを含む−を、ファイルのサンプル内の“制御伝送ユニット”（ＣＴＵ）とともに、受信ヒントトラック内に演算前パケットまたはコンストラクタとして記録するメディア記憶システムに関する。制御伝送ユニットは、受信ヒントトラックに関連付けられた別個の並行トラックに記憶される。
【０１６８】
ＣＴＵは、ファイルからの再生時に受信ヒントトラックのメディアパケットを処理するのに必要または有用である付加的なデータを含む。ＣＴＵの例は、ＲＴＣＰレポート、または暗号化されたストリームの場合はキーメッセージである。
【０１６９】
記録されたストリームの最適化された局所的な再生のため、“仮想メディアトラック”は、逆ヒンティングプロセスを用いて、受信されたＴＵを“仮想メディアサンプル”にマップする。仮想メディアサンプルは、場合によってはＣＴＵを有するトラックおよび受信ヒントトラックから回復され、かつ完全なメディアサンプルである必要のない、メディアサンプルのタイミングを有する。適宜、仮想メディアトラックのインデックス作成が適用される。インデックスは、受信ヒントトラックのリンクされたサンプルにも適用される。仮想メディアトラックは、ファイル内の他のトラック（たとえば“時間が合わされたメタデータトラック”）のための基準として用いられ得る。アプリケーションは、仮想メディアトラックを介して受信ヒントトラックの対応するサンプルを調べ得る。
【０１７０】
キーストリームメッセージは、関連付けられた受信ヒントトラックとして記憶される。仮想メディアトラックは、メディアサンプルおよび解読キーを正確に整合させるために適用され得る。
【０１７１】
近年、上述のＩＳＯベースメディアファイルフォーマットにはムービーフラグメントと称される付加物が追加されており、これは、たとえば米国特許出願ＵＳ２００７／０１３０４９８Ａ１に記載されている。本発明の実施例はこのムービーフラグメントにも適用可
能である。
【０１７２】
状況に応じて、本発明の方法はハードウェアまたはソフトウェアで実現され得る。実現は、本方法が実行されるようにプログラム可能コンピュータシステムと協働し得る、電子的に読出可能な制御信号を有する特にディスクまたはＣＤなどのデジタル記憶媒体上でなされ得る。一般に、本発明はしたがって、コンピュータプログラムプロダクトがコンピュータ上で実行すると本発明の方法を実行するための機械読取可能キャリアに記憶されたプログラムコードを有する、コンピュータプログラムプロダクトにも存在する。換言すれば、本発明はしたがって、コンピュータプログラムがコンピュータ上で実行すると本方法を実行するためのプログラムコードを有するコンピュータプログラムとして実現され得る。
【０１７３】
本発明はいくつかの好ましい実施例として説明されたが、本発明の範囲内にある変更、並び替え、および均等物が存在する。また、本発明の方法および構成を実現する多くの代替的な方法があることに留意すべきである。したがって、以下の添付の請求項は、本発明の真の思想および範囲内にあるすべてのそのような変更、並び替え、および均等物を含むと解釈されることが意図される。
【図１】
0004766473.tif 000002
【図２】
0004766473.tif 000003
【図３】
0004766473.tif 000004
【図４】
0004766473.tif 000005
【図５】
0004766473.tif 000006
【図６】
0004766473.tif 000007
【図７】
0004766473.tif 000008
【図８】
0004766473.tif 000009
【図９】
0004766473.tif 000010
【図１０】
0004766473.tif 000011
【図１１】
0004766473.tif 000012
【図１２】
0004766473.tif 000013