(57)【要約】【課題】特定のフォーマットを有するデータストリームに制限されないタイムシフティングおよびＤＶＲシステムを提供すること。【解決手段】システムは、任意の符号化フォーマットを使用して符号化される同報通信データストリームを受信し、受信した同報通信データストリームは、逆多重化され、記憶装置上に格納し、格納した同報通信データストリームを再生するコマンドに応答して、格納したデータストリームを取り出し、再生コマンドに対応する方式でレンダリングし、複数のシステムが、格納した同報通信データストリームを同時に取り出すことができる。【選択図】図２
2008243367.tif 000002
【特許請求の範囲】
【請求項１】
デジタルデータストリームを受信するステップと、
前記デジタルデータストリームの構成要素を分離するステップと、
前記デジタルデータストリームの構成要素を記憶装置上に格納するステップと、
コマンドを受け取って前記デジタルデータストリームをプレイバックするステップと、
前記格納したデジタルデータストリームの構成要素のうちの少なくとも１つを前記記憶装置から取り出すステップと、
前記受け取ったプレイバックコマンドに対応する方式で、前記デジタルデータストリームの構成要素をレンダリングするステップと
を具えたことを特徴とする方法。
【請求項２】
コマンドを受け取って、前記デジタルデジタルデータストリームのプレイバックを一時停止するステップと、
一時停止コマンドに応答して、前記デジタルデータストリームの構成要素のレンダリングを停止するステップと
をさらに含むことを特徴とする請求項１記載の方法。
【請求項３】
前記プレイバックコマンドは、再生コマンドであることを特徴とする請求項１記載の方法。
【請求項４】
前記プレイバックコマンドは、巻戻しコマンドであることを特徴とする請求項１記載の方法。
【請求項５】
前記プレイバックコマンドは、高速順送りコマンドであることを特徴とする請求項１記載の方法。
【請求項６】
前記プレイバックコマンドは、シークコマンドであることを特徴とする請求項１記載の方法。
【請求項７】
前記プレイバックコマンドは、スローモーション再生コマンドであることを特徴とする請求項１記載の方法。
【請求項８】
前記プレイバックコマンドは、順方向スキップコマンドであることを特徴とする請求項１記載の方法。
【請求項９】
前記プレイバックコマンドは、逆方向スキップコマンドであることを特徴とする請求項１記載の方法。
【請求項１０】
前記デジタルデータストリームの構成要素を記憶装置上に格納するステップは、デジタルデータストリームの構成要素をアプリケーションプログラミングインターフェースに書き込むステップを含むことを特徴とする請求項１記載の方法。
【請求項１１】
前記記憶装置は、ハードディスクドライブであることを特徴とする請求項１記載の方法。
【請求項１２】
前記記憶装置は、ハードディスクドライブであり、
前記デジタルデータストリームの構成要素は、該ハードディスクドライブ上の少なくとも１つの一時ファイル又は少なくとも１つの永続ファイル中に格納されることを特徴とする請求項１記載の方法。
【請求項１３】
前記デジタルデータストリームは、任意の符号化フォーマットを使用して符号化することを特徴とする請求項１記載の方法。
【請求項１４】
前記デジタルデータストリームは、任意のデータフォーマットを使用することを特徴とする請求項１記載の方法。
【請求項１５】
複数の装置は、前記格納したデジタルデータストリームの構成要素を同時に取り出すことを特徴とする請求項１記載の方法。
【請求項１６】
前記格納したデジタルデータストリームの構成要素を取り出すステップは、
前記記憶装置上に記憶される第１データストリームに関連するデータを第１装置が取り出すステップと、
前記記憶装置上に記憶される第２データストリームに関連するデータを第２装置が同時に取り出すステップと
を含むことを特徴とする請求項１記載の方法。
【請求項１７】
前記格納したデジタルデータストリームの構成要素を取り出すステップは、
前記デジタルデータストリーム中の第１位置から、第１装置がデータを取り出すステップと、
前記デジタルデータストリーム中の第２位置から、第２装置がデータを同時に取り出すステップと
を含むことを特徴とする請求項１記載の方法。
【請求項１８】
前記デジタルデータストリームの構成要素を分離するステップは、前記デジタルデータストリームからビデオデータおよび音声データを逆多重化するステップを含むことを特徴とする請求項１記載の方法。
【請求項１９】
デジタルデータストリームの構成要素を分離するステップは、前記デジタルデータストリームからインターネットプロトコルデータを逆多重化するステップを含むことを特徴とする請求項１記載の方法。
【請求項２０】
プロセッサによって実行可能であり、請求項１記載の方法が実行されるコンピュータプログラムを含むことを特徴とする１つ又は複数のコンピュータ読取可能なメモリ。
【請求項２１】
コンピュータプログラムが格納されている１つまたは複数のコンピュータ可読媒体であって、
前記コンピュータプログラムは、１つまたは複数のプロセッサによって実行されたとき前記１つまたは複数のプロセッサに、
同報通信データストリームの構成要素を分離させ、
前記同報通信データストリームの構成要素をハードディスクドライブ上に格納させ、
前記格納した同報通信データストリームの構成要素をプレイバックする要求を受け取らせ、
前記格納した同報通信データストリームの構成要素をハードディスクドライブから取り出させ、
前記同報通信ストリームの構成要素をレンダリングさせることを特徴とする１つ又は複数のコンピュータ読取可能な媒体。
【請求項２２】
前記同報通信ストリームの構成要素をレンダリングするステップは、受け取った再生要求に対応する方式で、該同報通信ストリームの構成要素をレンダリングするステップを含むことを特徴とする請求項２１記載の１つ又は複数のコンピュータ読取可能な媒体。
【請求項２３】
前記同報通信ストリームの構成要素をレンダリングするステップは、該同報通信ストリームの複数のコピーを同時にレンダリングするステップを含むことを特徴とする請求項２１記載の１つ又は複数のコンピュータ読取可能な媒体。
【請求項２４】
前記同報通信データストリームは、テレビジョン同報通信であることを特徴とする請求項２１記載の１つ又は複数のコンピュータ読取可能な媒体。
【請求項２５】
前記同報通信データストリームの別々の構成要素は、音声データおよびビデオデータであることを特徴とする請求項２１記載の１つ又は複数のコンピュータ読取可能な媒体。
【請求項２６】
前記同報通信データストリームの別々の構成要素は、インターネットプロトコルデータを含むことを特徴とする請求項２１記載の１つ又は複数のコンピュータ読取可能な媒体。
【請求項２７】
データストリームを取込みように構成された取込みモジュールであって、
複数の異なるデータフォーマットでデータストリームを表すことができる取込みモジュールと、
前記取り込んだデータストリームを格納するように構成されたデータ記憶モジュールと、
前記データ記憶モジュール上に格納されたデータから、前記データストリームをレンダリングするように構成されたレンダリングモジュールと
を具えたことを特徴とする装置。
【請求項２８】
前記データストリームは、任意の符号化フォーマットを使用して符号化されることを特徴とする請求項２７記載の装置。
【請求項２９】
前記データ記憶モジュールは、前記取り込んだデータストリームを復号化する前に、該取り込んだデータストリームを格納することを特徴とする請求項２７記載の装置。
【請求項３０】
前記取込みモジュールは、前記データストリームの構成要素を分離するようにさらに構成され、
前記データ記憶モジュールは、前記データストリームの別々の構成要素の各々を格納するようにさらに構成されたことを特徴とする請求項２７記載の方法。
【請求項３１】
前記データ記憶モジュールは、少なくとも１つのハードディスクドライブを含むことを特徴とする請求項２７記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記録システムに関し、より詳細には、タイムシフティング操作および記録操作を実行するために様々なフォーマットでデータを記録することができるシステムに関する。
【０００２】
本願は、２００１年３月５日出願の仮米国出願第６０／２７３９１９号の特典を主張し、この開示を参照により本明細書に組み込む。
【背景技術】
【０００３】
タイムシフティングは、データの同報通信ストリーム、すなわちフロー制御されないデータのストリームに対して様々な操作を実行する能力である。例示的な同報通信ストリームには、デジタルテレビジョン同報通信、デジタル無線同報通信、およびインターネットなどのネットワーク間のインターネットプロトコル（ＩＰ）マルチキャストが含まれる。データの同報通信ストリームは、ビデオデータおよび／または音声データを含むことができる。タイムシフティングにより、ユーザは、データを失うことなくデータの実況同報通信ストリームを「一時停止」することが可能となる。タイムシフティングにより、ユーザは、データのストリームを介して順方向および逆方向にシークし、任意の速度でデータのストリームを順方向または逆方向にプレイバックすることも可能となる。このタイムシフティングは、受信したデータのストリームを格納するために、ハードディスクドライブなどの記憶装置を用いて達成される。
【０００４】
ＤＶＲ（デジタルビデオレコーダまたはデジタルＶＣＲ）は、テレビジョン同報通信などのデータのストリームを長期間格納できるようにする。ＤＶＲは、受信したデータのストリームを格納するために、ハードディスクドライブなどの記憶装置も使用する。タイムシフティング装置およびＤＶＲは、１つまたは複数のデータストリームを格納するために共通記憶装置を共有することができる。
【０００５】
既存のタイムシフティングおよびＤＶＲシステムは、トランスポート／ファイルフォーマット層を操作し、単一符号化フォーマット（一般にはＭＰＥＧ−２）をサポートする。したがって、これらの既存システムは、ＭＰＥＧ−２フォーマットを使用して符号化されたデータのストリームを処理することに制限される。これらのシステムは、異なるフォーマットを使用して符号化されたデータストリームの処理のために使用することができず、ＭＰＥＧ−２ファイル中に格納される定義方式を有するコンテントしか処理することができないので、その有用性が制限される。新しい、または修正された符号化フォーマットが将来一般的になった場合、このシステムでは、その新しい符号化フォーマットを利用するデータストリームを受信する前に、異なる符号化フォーマットをサポートするための修正が必要となることになる。あるいは、ある既存のシステムを、その新しい符号化フォーマットを使用するデータストリームを処理できる新しいシステムで置き換える必要のある可能性もある。
【０００６】
図１は、ＭＰＥＧ−２同報通信データを処理することが可能な、例示的な従来技術のタイムシフティングシステム１００のブロック図を示す。取込み装置１０２は、ＭＰＥＧ−２フォーマットの同報通信データのストリームを受信する。取込み装置１０２は、取り込んだＭＰＥＧ−２データをタイムシフティング装置１０４に供給し、タイムシフティング装置１０４は、そのデータをＭＰＥＧ−２フォーマットで記憶装置１０６上に格納する。
【０００７】
記憶装置１０６は、ハードディスクドライブである。タイムシフティングデバイス１０４は、格納したデータを記憶装置１０６から取り出し、そのデータをデマルチプレクサ１０８に供給することもでき、デマルチプレクサ１０８は、同報通信データの様々な構成要素（例えば、音声構成要素およびビデオ構成要素）を分離する。
【０００８】
次いで、この様々な構成要素は、復号器１１０に供給され、復号器１１０はこのデータを復号化し、復号化したデータをレンダリングまたはその他の復号化したデータを処理する装置（図示せず）に、復号化したデータを供給する。図１に示すように、システム１００は、ＭＰＥＧ−２を用いて符号化されたデータストリームの処理専用である。システム１００は、ＭＰＥＧ−２以外の符号化フォーマットを有するデータストリームを処理することができない。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本明細書で説明するシステムおよび方法は、特定のフォーマットを有するデータストリームに制限されないタイムシフティングおよびＤＶＲシステムを提供することによって、これらの制限に対処する。
【課題を解決するための手段】
【００１０】
本明細書で説明するシステムおよび方法は、同報通信データストリームを生成するために使用される符号化手順の如何に関わらず、同報通信データストリームに対して様々なタイムシフティング機能およびＤＶＲ機能を実装する。本明細書で説明するタイムシフティング機能およびＤＶＲ機能は、後に開発されるフォーマットを含めて、様々な異なるフォーマットと共に使用することができる。本明細書で説明する手順およびシステムは、任意の符号化フォーマットを用いて符号化される全てのデータストリームに適用可能であるように、符号化コンテントを扱う。
【００１１】
一実施形態では、任意の符号化フォーマットを用いて符号化される同報通信データストリームが受信される。この受信した同報通信データストリームは逆多重化され、記憶装置上に格納される。次いでこの同報通信データストリームはタイムシフティングされる。
【００１２】
別の実施形態では、デジタルデータストリームが受信され、構成要素に分離される。このデジタルデータストリームの構成要素は記憶装置上に格納される。このデジタルデータストリームをプレイバックするためのコマンドが受信され、格納された構成要素が記憶装置から取り出される。このデジタルデータストリームの取り出された構成要素は、プレイバックコマンドに対応する方式でレンダリングされる。
【００１３】
ここで説明する実施形態では、記憶装置はハードディスクドライブである。
【００１４】
特定の実施形態では、データストリームは、ハードディスクドライブ上の複数の一時ファイル中に格納される。
【００１５】
特定の実施形態では、複数のシステムが、格納されたデータストリームを同時に取り出す。
【発明の効果】
【００１６】
本発明によると、システムは、任意の符号化フォーマットを使用して符号化される同報通信データストリームを受信し、受信した同報通信データストリームは、逆多重化され、記憶装置上に格納し、格納した同報通信データストリームを再生するコマンドに応答して、格納したデータストリームを取り出し、再生コマンドに対応する方式でレンダリングし、複数のシステムが、格納した同報通信データストリームを同時に取り出すことができるので、特定のフォーマットを有するデータストリームに制限されないタイムシフティングおよびＤＶＲシステムを提供することができる。
【発明を実施するための最良の形態】
【００１７】
本明細書で説明するシステムおよび方法は、受信したデータの同報通信ストリームに関連するフォーマットとは無関係に実行されるタイムシフティング操作およびＤＶＲ操作の実装を提供する。
【００１８】
本明細書で説明するタイムシフティング操作およびＤＶＲ操作は、データ源や、同報通信の前にデータをフォーマットするために使用される符号化技法の如何に関わらず、どんなデータのストリーム上でも実行することができる。従って、このシステムおよび方法は、まだ開発されていない将来の符号化フォーマットを含む、様々な異なる符号化フォーマットと共に使用することができる。任意のデータ源からの、インターネット同報通信またはマルチキャストを含むどんなストリーミングデータおよび／または同報通信データも、本明細書で開示される手順を使用して取り込み、処理することができる。本明細書で説明するタイムシフティング機能およびＤＶＲ機能は、マルチメディアコンテントサブストリーム自体に対して動作し、それによって記憶フォーマットまたは符号化フォーマットからタイムシフティング機能および記録機能が分離する。本明細書で説明する方法およびシステムは、どんなタイプのデジタルデータに対しても動作する。
【００１９】
本明細書で説明するタイムシフティングおよびＤＶＲシステムおよび方法は、米国ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｐｏｒａｔｉｏｎから入手可能なＭｉｃｒｏｓｏｆｔ（登録商標）ＤｉｒｅｃｔＳｈｏｗ（登録商標）アプリケーションプログラミングインターフェースなどの様々なストリーミングマルチメディアアプリケーションと共に動作することができる。ＤｉｒｅｃｔＳｈｏｗ（登録商標）マルチメディアアプリケーションに関して特定の実施例を説明するが、他のマルチメディアアプリケーションおよびアプリケーションプログラミングインターフェースを同様に使用して、ここで説明するタイムシフティング機能およびＤＶＲ機能を実現することもできる。
【００２０】
本明細書では、用語「同報通信データ」は、テレビジョン同報通信、無線同報通信、ならびにインターネットおよびマルチメディアデータストリームなどのネットワーク間のインターネットプロトコル（ＩＰ）マルチキャストなど、任意のデータのストリームを指す。データの同報通信ストリームは、ビデオデータ、音声データ、およびインターネットプロトコル（ＩＰ）データ（例えばＩＰパケット）などの異なるタイプのデータの組合せを含む、どんなタイプのデータも含むことができる。任意の数のデータ源から、任意のタイプの通信媒体を介して同報通信データを受信することができる。
【００２１】
図２は、同報通信データの多重ストリームをタイムシフティングし、かつ／または記録することができるシステム２００のブロック図を示す。アプリケーション２０２は、アプリケーションプログラミングインターフェース（ＡＰＩ）２０４を介してタイムシフティングおよびＤＶＲ装置２０６と通信する。タイムシフティングおよびＤＶＲ装置２０６は、データ０、データ１、データ２、．．．、データＮと符号を付けた１つまたは複数の同報通信データストリームからデータを受信する（または取り込む）。異なるデータストリームは、異なるデータ源を発生源とすることができ、異なるタイプのデータを含むことができ、異なるフォーマット（例えば異なる符号化アルゴリズム）を使用することができる。
【００２２】
１つ又は複数の出力データストリームは、タイムシフティングおよびＤＶＲ装置２０６によって生成することができる。これらの出力データストリームに出力０、出力１、出力２、．．．、出力Ｎと符号を付ける。この出力データストリームは、同じ同報通信によって同報通信することができ、１人または複数のユーザに提供することができる。例えば、出力０が第１ユーザに対するマルチメディア表現の先頭からのデータを提供すると共に、出力１が同じマルチメディア表現の中間からのデータを第２ユーザに提供するようにできる。あるいは、この出力データストリームを、タイムシフティングおよびＤＶＲ装置２０６によって格納される、異なる同報通信と関連付けることもできる。例えば、出力１がテレビジョン同報通信によるデータを第１ユーザに提供すると共に、出力２がマルチメディア表現によるデータを第２ユーザに提供するようにできる。１つの実装では、各同報通信は、装置の別々のインスタンスによって処理される。タイムシフティングおよびＤＶＲ装置２０６の動作に関する追加の詳細を以下に与える。
【００２３】
図３は、タイムシフティング機能およびＤＶＲ機能を有するシステム３００のブロック図を示す。システム３００の全部又は一部を、セットトップボックス、ケーブルボックス、ＶＣＲ、デジタルテレビジョンレコーダ、パーソナルコンピュータ、ゲームコンソール、又は他の装置中に含めることができる。アプリケーション３０２は、取込み制御ＡＰＩ  ３０４およびレンダリング制御ＡＰＩ  ３０６と通信する。例えば、アプリケーション３０２は、取込み制御ＡＰＩ  ３０４に対して「スタート」、「停止」、または「同調」命令を送ることができる。同様に、アプリケーション３０２は、レンダリング制御ＡＰＩ  ３０６に対して、「シーク」、「スキップ」、「巻戻し」、「高速順送り」、および「一時停止」命令を送ることができる。一実施形態では、アプリケーション３０２は、ユーザ入力、事前プログラミング命令、および／またはユーザの予測される視聴習慣および好みに基づいて、様々なタイムシフティング機能およびＤＶＲ機能を制御する。
【００２４】
取込み制御ＡＰＩ  ３０４は、取込みモジュール３１０、デマルチプレクサ３１２、およびＤＶＲストリーム受信装置３１４を含む取込みグラフ３０８と通信する。取込みグラフ３０８は、同報通信ストリームと関連するＤｉｒｅｃｔＳｈｏｗ（登録商標）フィルタグラフの一種である。ＤｉｒｅｃｔＳｈｏｗ（登録商標）は、フィルタおよびＣＯＭインターフェースからなるマルチメディアストリーミングの仕様である。ＤｉｒｅｃｔＳｈｏｗ（登録商標）は、メディアプレイバック、フォーマット変換、および取込みタスクをサポートする。ＤｉｒｅｃｔＳｈｏｗ（登録商標）は、コンポーネントオブジェクトモデル（ＣＯＭ）に基づく。フィルタは、入力媒体および出力媒体のタイプによって定義される論理ユニットであり、ＣＯＭインターフェースを介して構成され、かつ／または照会される。フィルタグラフは、接続したＤｉｒｅｃｔＳｈｏｗ（登録商標）フィルタの論理的組分けである。フィルタはユニットとして動作し、停止し、一時停止する。フィルタは共通クロックも共有する。
【００２５】
取込みグラフ３０８は、同報通信ストリームに関連するＤｉｒｅｃｔＳｈｏｗ（登録商標）フィルタグラフの一種である。取込みモジュール３１０は、汎用シリアルバス（ＵＳＢ）などのバス３１６を介して同報通信データストリームを受信する。取込みモジュール３１０が受信する同報通信ストリームは、デマルチプレクサ３１２に供給され、デマルチプレクサ３１２は、ビデオ構成要素および音声構成要素などの別々の構成要素に同報通信ストリームを分離する。次いでこの別々の構成要素は、ＤＶＲストリーム受信装置３１４に供給され、ＤＶＲストリーム受信装置３１４は、データ記憶ＡＰＩ  ３１８を介してデータ記憶サブシステム３２２と通信する。データ記憶サブシステム３２２は、１つまたは複数の同報通信ストリームに関連する一時データおよび永続データを含む、様々な情報を格納するための１つまたは複数のデータ記憶装置３２０を含む。
【００２６】
レンダリング制御ＡＰＩ３０６は、ＤＶＲストリーム源３２６、ビデオ復号器３２８、ビデオレンダラ（ｖｉｄｅｏ  ｒｅｎｄｅｒｅｒ）３３０、音声復号器３３２、および音声レンダラ３３４を含むレンダリンググラフ３２４と通信する。レンダリンググラフ３２４は、同報通信ストリームと関連する別のタイプのＤｉｒｅｃｔＳｈｏｗ（登録商標）フィルタグラフである。ＤＶＲストリーム源３２６は、データ記憶ＡＰＩ  ３１８を介してデータ記憶サブシステム３２２と通信し、格納された同報通信ストリームデータをデータ記憶装置３２０から取り出す。ＤＶＲストリーム源が取り出したデータのビデオ構成要素は、ビデオ復号器３２８に供給され、データの音声構成要素は、音声復号器３３２に供給される。ビデオ復号器はビデオデータを復号化し、復号化ビデオデータをビデオレンダラ３３０に供給する。音声復号器３３２は音声データを復号化し、復号化音声データを音声レンダラ３３４に供給する。ビデオレンダラ３３０はビデオデータを表示またはレンダリングし、音声レンダラ３３４は音声データを再生またはレンダリングする。
【００２７】
図４は、受信したデータストリームからデータを取り込み、格納するための手順４００を示す流れ図である。例えば、データストリームを取り込むための手順は、取込みグラフ３０８（図３）によって実行することができる。最初に、手順４００は、「スタート」コマンドを受け取ったかどうかを判定する（ブロック４０２）。例えば、ユーザ入力または事前プログラミングしたコマンドに基づいて、アプリケーション３０２からこのようなコマンドを受け取ることができる。「スタート」コマンドを受け取っていない場合、この手順はブロック４０２に戻る。「スタート」コマンドを受け取った場合、取込みモジュールがデータストリームを受信し（ブロック４０４）、デマルチプレクサがデータストリーム構成要素を分離する（ブロック４０６）。データストリーム構成要素は、例えば音声データおよびビデオデータを含むことができる。次にＤＶＲストリーム受信装置が、データストリーム構成要素をデータ記憶ＡＰＩに書き込む（ブロック４０８）。加えて、ＤＶＲストリーム受信装置は、データストリーム構成要素と共に、ある属性および他のデータをデータ記憶ＡＰＩに書き込むことができる。次いでデータ記憶ＡＰＩは、後の検索のためにデータ記憶装置にデータストリーム構成要素を格納する。
【００２８】
ブロック４１０では、手順４００が「停止」コマンドを受け取ったかどうかを判定する。「停止」コマンドを受け取った場合、取込みモジュールはデータストリームの受信を停止する（ブロック４１２）。次いでこの手順はブロック４０２に戻り、別の「スタート」コマンドを待つ。「停止」コマンドを受け取っていない場合、この手順はブロック４０４に戻り、引き続きデータストリームを受信し、処理する。
【００２９】
図５は、データ記憶装置上に格納されたデータストリーム中に含まれるデータをレンダリングするための手順５００を示す流れ図である。最初に、手順５００は、プレイバック制御コマンドを受け取ったかどうかを判定する（ブロック５０２）。プレイバック制御コマンドは、「一時停止」、「再生」、「高速順送り」、「巻戻し」、「順方向スローモーション」、「逆方向スローモーション」、「シーク」、「順方向スキップ」、「逆方向スキップ」、およびデータストリームのレンダリングに影響を与える他のコマンドを含むことができる。プレイバック制御コマンドを受け取っていない場合、この手順はブロック５０２に分岐し、プレイバック制御コマンドを待つ。プレイバック制御コマンドを受け取った場合、ＤＶＲストリーム源は、プレイバック制御コマンドに基づいてデータ記憶装置からデータストリームを読み取る（ブロック５０４）。例えば、プレイバックコマンドが「再生」である場合、ＤＶＲストリーム源は、「一時停止」コマンドを受け取る前に読み取ったデータなど、最後に読み取ったデータから始まるデータを読み取る。プレイバックコマンドが「逆方向スローモーション」である場合、ＤＶＲストリーム源は、同じ位置から始まるデータを読み取るが、逆方向に読み取る（すなわち、時間の逆方向に進む）。
【００３０】
ブロック５０６では、この手順は、データストリーム構成要素を復号化する（例えば、音声構成要素を復号化し、ビデオ構成要素を復号化する）。次に、ブロック５０８でデータストリーム構成要素をレンダリングする。ブロック５１０では、手順５００は新しいプレイバック制御コマンドを取り出したかどうかを判定する。取り出さなかった場合、この手順はブロック５０４に戻り、最新のプレイバック制御コマンドに基づいて、引き続きデータ記憶装置からデータストリームを読み取る。新しいプレイバック制御コマンドを受け取った場合、ＤＶＲストリーム源は、その新しいプレイバック制御コマンドに基づいて、引き続きデータ記憶装置からデータストリームを読み取り、処理する（ブロック５１２）。しかし、この新しいプレイバック制御コマンドが「一時停止」または「停止」である場合、ＤＶＲストリーム源は、データストリームの読取りを要求する新しいプレイバック制御コマンドを受け取るまで、データストリームの読取りを停止する。
【００３１】
レンダリング制御は、取込み制御とは無関係であり、したがってレンダリング制御（例えばプレイバックの休止、高速順送り、または巻戻し）は、同報通信データストリームの取込みに影響を与えない。同様に、同報通信データストリームの取込みを停止することによって、以前に格納したデータストリーム構成要素を取り出し、レンダリングするレンダリング制御の能力は変更されない。
【００３２】
図６は、単一の取込みグラフと、複数のレンダリンググラフとを有するシステム６００のブロック図を示す。アプリケーション６０２は、取込み制御ＡＰＩ  ６０４、ならびに複数のレンダリング制御ＡＰＩ  ６１４、６１８、および６２２と通信する。取込み制御ＡＰＩ  ６０４は、上記で論じた取込みグラフ３０８に類似の取込みグラフ６０６と通信する。取込みグラフ６０６は、データ記憶ＡＰＩ  ６０８と通信することによってデータ記憶装置に同報通信データストリームを格納し、データ記憶ＡＰＩ  ６０８は、データ記憶サブシステム６１０と通信する。複数のレンダリンググラフ６１６、６２０、および６２４は、データ記憶ＡＰＩ  ６０８と通信することによってデータ記憶装置からデータを取り出すように構成される。各レンダリンググラフは、アプリケーション６０２から受け取ったプレイバック制御コマンドに基づいて、異なるデータストリーム（データ０、データ１、データ２）を生成する。各レンダリンググラフ６１６、６２０、および６２４は、特定のユーザと関連付けることができ、各ユーザが、同じ同報通信データストリームの異なる部分を閲覧し、または異なる同報通信データストリーム（例えば、記憶装置中に記録された、異なるテレビジョンプログラム）を閲覧することが可能となる。
【００３３】
図７は、ＩＰマルチキャストデータストリームをバッファリングするためのバッファリング機能を有するシステム７００のブロック図を示す。アプリケーションプログラム７０２により、ＩＰマルチキャストデータストリームの取込みおよびレンダリングをユーザが制御することが可能となる。例えば、ＩＰマルチキャストデータストリームは、インターネットラジオ局からのデータストリームとすることができる。この例では、遅延またはネットワーク輻輳が、ＩＰマルチキャストデータストリームを受信する速度に影響を与える可能性がある。したがって、インターネットからデータを受信する際の小さい遅延が、音声レンダラによって生成される音声信号に影響を与えないように、データバッファリングシステムを使用してデータをバッファリングまたはプリロードする。バッファを大きくすれば、音声信号に影響を与える前にシステムによって処理することができる遅延を大きくすることができる。
【００３４】
アプリケーションプログラム７０２は、取込み制御ＡＰＩ  ７０４およびレンダリング制御ＡＰＩ  ７０６と通信する。取込み制御ＡＰＩ  ７０４は、ＩＰマルチキャスト受信機７１２、音声分析モジュール７１４、およびデータストリーム受信装置７１６を含む取込みグラフ７０８と通信する。ＩＰマルチキャスト受信機７１２は、インターネットまたは他のデータ通信ネットワークを介してＩＰマルチキャストデータストリームを受信する。ＩＰマルチキャスト受信機７１２は、受信したデータストリームを音声分析モジュール７１４に供給し、音声分析モジュール７１４は、タイムスタンプ、クリーンポイントフラグ、および不連続性などの属性で、受信したデータストリームをマークする。これらの様々な属性に関する追加の詳細を以下で議論する。
【００３５】
データストリーム受信装置７１６は、（音声分析モジュール７１４によって加えられた属性を含む）受信したデータストリームをバッファＡＰＩ  ７１８に書き込み、バッファＡＰＩ  ７１８はバッファサブシステム７２０と通信する。バッファサブシステム７２０は、１つまたは複数のＩＰマルチキャストデータストリームに関係した様々なデータを格納するデータバッファ７２２を含む。
【００３６】
レンダリング制御ＡＰＩ  ７０６は、データストリーム源７２４、音声復号器７２６、および音声レンダラ７２８を含むレンダリンググラフ７１０と通信する。データストリーム源７２４は、バッファＡＰＩ  ７１８にコマンドを発行することによってデータバッファ７２２からバッファリングしたデータストリームを取り出す。音声復号器７２６は、取り出したデータストリームに対応する音声信号を音声レンダラ７２８が適切にレンダリングすることができるように、取り出したデータストリーム中の音声データを復号化する。
【００３７】
タイムシフティングおよびＤＶＲ記録は、ハードディスクドライブなどの補助記憶装置を必要とする。一般に、データは、ハードディスクドライブ上の１つまたは複数のファイルに書き込まれる。コンテントはファイルに書き込まれ、後に（または並行して）そのコンテントは、復号化およびレンダリングのためにファイルから読み出される。システムコアメモリは、一般に高速マルチメディアコンテントを任意の期間一時的に格納するには不十分であるので、この補助記憶装置は有用である。特定の解決策では、リングバッファを使用して、データストリームで受信したデータを格納する。この例では、データはハードディスク上の複数のファイルに書き込まれ、受信したコンテントは、ハードディスクドライブ上の複数のファイルにわたって分散する。
【００３８】
図８は、ハードディスクドライブなどの記憶装置上の複数の一時ファイルへの、テレビジョン同報通信のバッファリングを示す。図８のシステムは、４つの一時ファイル（Ｔｅｍｐ１、Ｔｅｍｐ２、Ｔｅｍｐ３、Ｔｅｍｐ４と符号を付ける）によって戻された３０分の論理リングバッファ８０２を表す。リングバッファ８０２は、データ記憶ＡＰＩ  ８０４を介して一時ファイルと通信する。各一時ファイルは、開始（ファイルのスタート）および終了（ファイルの終了）を有する。リングバッファは、論理リングバッファ８０２によって論理的に結合する４つの一時ファイルからなる。一時ファイルのそれぞれは、データ記憶ＡＰＩ  ８０４を介してアクセスされる。論理リングバッファ８０２は、データの仮想ストリームをファイルおよびファイルオフセットに変換する。シーク操作は、時間の点から実行されるので、リングバッファは、各一時ファイルについてのスタート時間を追跡する。仮想時間オフセットが要求されたとき、リングバッファ８０２は、仮想時間オフセットをファイルおよびファイル時間オフセットに変換する。
【００３９】
例えば、特定のリングバッファは、図８に示す４つの一時ファイルを、各一時ファイルが同報通信データの７．５分を格納するように編成することができる。したがって論理リングバッファを構成する４つのファイルは、同報通信データの３０分の記憶を実現する。２０分シークするシーク要求を受け取った場合、システムは、この要求を、一時ファイルＴｅｍｐ３中の時間オフセット５分のシークに変換する。
【００４０】
図８の例では、７：０５を起点としてテレビジョン同報通信ストリームが取り込まれ、それにより、第４一時ファイル（Ｔｅｍｐ４）は７：３５に一杯になる。この時点で、システムはラップアラウンドして戻り、引き続き第１一時ファイル（Ｔｅｍｐ１）を用いて記録し、それによって、以前に第１一時ファイル中に格納したデータを上書きする。このプロセスは、８：０５まで３０分間続き、８：０５にシステムは再びラップアラウンドして、引き続き第１一時ファイルの先頭から記録する。
【００４１】
取り込んだデータの、複数の一時ファイルへの分割は、システムのユーザに対して透過的である。加えて、最後の複数のファイルから最初に戻ることはユーザに対して透過的であり、同報通信データストリームのレンダリングを妨害しない。
【００４２】
図９は、複数の一時ファイルへのテレビジョン同報通信のバッファリングと、特定のテレビジョン番組のＤＶＲ記録とを示す。論理リングバッファ９０２は、データ記憶ＡＰＩ  ９０４と通信し、データ記憶ＡＰＩ  ９０４は、記憶装置（図示せず）上に格納された様々な一時ファイルおよび永続ファイルと通信する。図９のシステムは、図８に関して上記で論じたのと同様に、タイムシフティング機能のために４つの一時ファイル（Ｔｅｍｐ１、Ｔｅｍｐ２、Ｔｅｍｐ３、およびＴｅｍｐ４）を使用する。加えて、図９のシステムは、１つまたは複数のプログラムファイルを使用して、ＤＶＲ記録要求（例えば、特定のプログラムまたは一連のプログラムを永続的に格納する要求）に基づいてプログラムを格納する。
【００４３】
図９は、バックグラウンド記録操作が８：００と８：３０の間に行われるようにスケジューリングされ、そのことが、同報通信ストリームがレンダリングされ、閲覧されるセッションの間（すなわち７：４５〜８：３０以降）にある状況を示す。図９のシステムは、４つの一時ファイルおよび１つの永続ファイル（Ｐｒｏｇｒａｍ１）を結びつけ、単一の記録した同報通信ストリームをシステムのユーザに提示する。この永続ファイルは、一時ファイルが削除または上書きされるときに、削除または上書きされない。
【００４４】
特定の実施形態では、マルチメディアコンテントがその符号化方法に関係なく処理される。その代わり、マルチメディアコンテントは、属性を有するバイトバッファとして処理される。マルチメディアコンテントを理解する構成要素（例えばＡＰＩ）は、１）バッファの第１バイトに適用される「クリーンポイント」フラグ、２）バッファの第１バイトに適用される提示タイムスタンプ、３）バッファの第１バイトがシステムに提示される時を表すストリームタイムスタンプ、および４）以前に受け取ったデータとの接続があるかどうかを示す不連続フラグなどの様々な属性および／またはフラグで、バッファをタグ付けする。「クリーンポイント」は、再生スタート点であり、「キーフレーム」とも呼ばれる。ある圧縮スキーマは、あるフレームから次のフレームへの冗長構成を活用する。完全なフレームを送る代わりに、予測データだけを送る。
【００４５】
復号器は、以前に受け取った完全なフレームおよび予測データに基づいて、完全なフレームを再構築する。予測データは、基準とする完全なフレームがなければ有用ではないので、完全な各フレームは、「クリーンポイント」としてフラグが立てられる。これは、連続するシーク要求に対して有用であり、これにより、プレイバックを再開する開始点が供給される。ビデオは、１つの基準フレームおよびいくつかの派生フレームを有するピクチャのグループ（ＧＯＰ）として受け取られるので、不連続フラグは、例えばＭＰＥＧ−２で有用である。不連続がＧＯＰ中で生じる場合、復号器は、次のＧＯＰの基準フレームを受け取るまで、すべての後続のフレームを廃棄することになる。
【００４６】
データをデータ記憶サブシステムに格納する時、システムは、より高レベルのフラグおよび属性を、データ記憶ＡＰＩによって要求されたものに変換する。次いでシステムは、そのコンテントを受け取ることになるデータ記憶サブシステム中の特定のファイルを決定する。最後に、このコンテントは、データ記憶ＡＰＩを介して、関連するフラグおよび属性と共にファイルに書き込まれる。
【００４７】
データをデータ記憶サブシステムから取り出すとき、システムは、各リーダについてのコンテキストを維持する。システムは、取り出すべきデータを含むファイルを決定する。データはそのフラグおよび属性と共に取り出される。次いでこのフラグおよび属性は、より高レベルのマルチメディア層が必要とするものに変換される。次いで読取り呼び出しは完了する。
【００４８】
順方向および逆方向のシークは、現在（すなわち現在時間）に対する時間に基づく。現在からの相対時間に基づいて、システムはデータを読み取るファイルを決定する。次いで絶対時間オフセットは、ファイル固有の時間オフセットに変換される。次いでシステムは、データ記憶ＡＰＩを介して、計算した時間オフセットをシークする。次いで、このデータは、上記で論じた手順を用いて取り出される。
【００４９】
データ記憶ＡＰＩにより、以下のような様々な操作を実行することができるようになる。
【００５０】
・複数のストリームをファイルに多重化すること（および各ストリームを他から識別すること）
・データ検索順序がデータ格納順序と一致することを保証すること
・タイムスタンプをデータと関連付け、データの検索時にそのタイムスタンプを取り出すこと
・１つまたは複数の可変サイズの属性をデータに関連付け、データの検索時にその属性を取り出すこと
・汎用マーカを特定のデータと関連付け、そのマーカをシークすること
・時間に関して索引付けし、その時間に基づいてデータをシークすること
・Ｄｉｇｉｔａｌ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔフレームワークに対するサポートを提供すること
【００５１】
１つの実装では、米国ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｐｏｒａｔｉｏｎから入手可能なＷｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  ＳＤＫ  ＡＰＩが、上記で論じたデータ記憶ＡＰＩとして使用される。加えて、データは、ストリーミング媒体に関する定義を指定するファイルフォーマットであるＡｄｖａｎｃｅｄ  Ｓｔｒｅａｍｉｎｇ  Ｆｏｒｍａｔ（ＡＳＦ）を用いてデータ記憶サブシステム中に格納される。
【００５２】
図１０は、本明細書で説明するデータ記録システムおよび方法を実装することのできる適切な動作環境の例を示す。図示した動作環境は、適切な動作環境の単なる一例であって、本発明の使用または機能の範囲に関する何らかの制限を意味するものではない。本発明と共に使用することに適した他の周知のコンピューティングシステム、環境、および／または構成には、限定はしないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブル消費者向け電子機器、ゲーミングコンソール、セル電話、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などが含まれる。
【００５３】
図１０は、本発明に従って使用することができるコンピュータ１０４２の一般的な例を示す。本明細書で説明する様々な機能を実行することができるコンピュータの例として、コンピュータ１０４２を示す。コンピュータ１０４２は、１つまたは複数のプロセッサまたは処理装置１０４４と、システムメモリ１０４６と、システムメモリ１０４６を含む様々なシステム構成要素をプロセッサ１０４４に結合するバス１０４８とを含む。
【００５４】
バス１０４８は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、ならびに様々なバスアーキテクチャのうちのいずれかを用いるプロセッサまたはローカルバスを含む、いくつかのタイプのバス構造のうちのいずれか１つまたは複数を表す。システムメモリ１０４６は、読取り専用メモリ（ＲＯＭ）１０５０およびランダムアクセスメモリ（ＲＡＭ）１０５２を含む。起動時などにコンピュータ１０４２内の要素間の情報を転送する助けとなる基本ルーチンを含む基本入出力システム（ＢＩＯＳ）１０５４は、ＲＯＭ  １０５０中に格納される。コンピュータ１０４２は、ハードディスクドライブインターフェース１０５７（例えば、ＳＣＳＩ、ＡＴＡ、または他のタイプのインターフェース）を介してバス１０４８に接続される、ハードディスク（図示せず）を読み書きするためのハードディスクドライブ１０５６と、磁気ディスクドライブインターフェース１０６１を介してバス１０４８に接続される、取外し可能磁気ディスク１０６０を読み書きするための磁気ディスクドライブ１０５８と、光ドライブインターフェース１０６５を介してバス１０４８に接続される、ＣＤ  ＲＯＭ、ＤＶＤ、または他の光媒体などの取外し可能光ディスク１０６４を読み書きするための光ディスクドライブ１０６２とをさらに含む。ドライブおよびその関連するコンピュータ可読媒体により、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ１０４２に関する他のデータの不揮発性記憶が実現される。本明細書で説明する例示的環境は、ハードディスク、取外し可能磁気ディスク１０６０、および取外し可能光ディスク１０６４を使用するが、磁気カセット、フラッシュメモリカード、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）などの、コンピュータがアクセス可能な、データを格納することのできる他のタイプのコンピュータ可読媒体も、この例示的動作環境で使用できることを当業者は理解されたい。
【００５５】
ハードディスク、磁気ディスク１０６０、光ディスク１０６４、ＲＯＭ１０５０、またはＲＡＭ１０５２上に、オペレーティングシステム１０７０、１つまたは複数のアプリケーションプログラム１０７２、他のプログラムモジュール１０７４、およびプログラムデータ１０７６を含むいくつかのプログラムモジュールを格納することができる。ユーザは、キーボード１０７８およびポインティングデバイス１０８０などの入力装置を介してコンピュータ１０４２にコマンドおよび情報を入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。これらの入力装置および他の入力装置は、システムバスに結合するインターフェース１０６８（例えば、シリアルポートインターフェース、パラレルポートインターフェース、汎用シリアルバス（ＵＳＢ）インターフェースなど）を介して処理装置１０４４に接続される。モニタ１０８４または他のタイプのディスプレイ装置も、ビデオアダプタ１０８６などのインターフェースを介してシステムバス１０４８に接続される。モニタに加えて、パーソナルコンピュータは、一般にスピーカおよびプリンタなどの他の周辺出力装置（図示せず）を含む。
【００５６】
コンピュータ１０４２は、リモートコンピュータ１０８８などの１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク環境で動作する。リモートコンピュータ１０８８は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の共通ネットワークノードでよく、一般に、コンピュータ１０４２に関して上記で説明した要素のうちの多くまたは全部を含むが、図１０にはメモリ記憶装置１０９０だけを示している。図１０に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１０９２およびワイドエリアネットワーク（ＷＡＮ）１０９４を含む。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的なものである。ある実施形態では、コンピュータ１０４２は、ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎによって製造され、配布されている「Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ」ウェブブラウザなどの（オペレーティングシステム１０７０に任意選択で組み込むことができる）インターネットウェブブラウザプログラムを実行する。
【００５７】
ＬＡＮネットワーキング環境で使用する際には、コンピュータ１０４２は、ネットワークインターフェースまたはアダプタ１０９６を介してローカルネットワーク１０９２に接続される。ＷＡＮネットワーキング環境で使用する際には、コンピュータ１０４２は、一般に、モデム１０９８、またはインターネットなどのワイドエリアネットワーク１０９４を介して通信を確立する他の手段を含む。モデム１０９８は、内蔵または外付けとすることができるが、シリアルポートインターフェース１０６８を介してシステムバス１０４８に接続される。ネットワーク環境では、パーソナルコンピュータ１０４２に関して示したプログラムモジュールまたはその部分は、リモートメモリ記憶装置中に格納することができる。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立するための他の手段も使用できることを理解されたい。
【００５８】
コンピュータ１０４２は、一般に、少なくとも何らかの形態のコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１０４２がアクセスすることができる、利用可能などんな媒体でもよい。限定はしないが、一例として、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を格納するための何らかの方法または技術で実装される揮発性および不揮発性媒体、取外し可能および取外し不能媒体が含まれる。コンピュータ記憶媒体には、限定はしないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）、または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、あるいは所望の情報を格納するために使用することができ、コンピュータ１０４２がアクセスすることができる他の何らかの媒体が含まれる。通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの被変調データ信号で具体化し、どんな情報送達媒体も含む。用語「被変調データ信号」は、信号の特性の組のうちの１つまたは複数を有し、またはその信号中の情報を符号化するように変更された信号を意味する。限定はしないが、一例として、通信媒体には、有線ネットワークまたはダイレクトワイヤード接続などの有線媒体、ならびに音響、ＲＦ、赤外線、および他のワイヤレス媒体などのワイヤレス媒体が含まれる。上記のいずれの組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００５９】
一部分、本発明を、１つまたは複数のコンピュータまたは他の装置によって実行されるプログラムモジュールなどコンピュータ実行可能命令の一般的な状況において説明した。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。一般に、プログラムモジュールの機能は、様々な実施形態において望み通りに組み合わせ、または分散させることができる。
【００６０】
例示の目的で、本明細書では、プログラム、およびオペレーティングシステムなどの他の実行可能プログラム構成要素を離散的ブロックして示したが、このようなプログラムおよび構成要素は、様々な時点でコンピュータの異なる記憶構成要素中に常駐し、コンピュータのデータプロセッサによって実行されることを理解されたい。
【００６１】
上記の説明では、構造的特徴および／または操作に固有な言い回しを使用しているが、添付の特許請求の範囲で定義される本発明は、説明した特有の特徴または操作に限定されない。むしろ、特有の機能および操作を、本発明を実装する例示的形態として開示する。
【図面の簡単な説明】
【００６２】
【図１】ＭＰＥＧ−２同報通信データを処理することができる、例示的な従来技術のタイムシフティングシステムのブロック図である。
【図２】同報通信データの多重ストリームをタイムシフティングし、かつ／または記録することができるシステムのブロック図である。
【図３】タイムシフティング機能およびＤＶＲ機能を有するシステムのブロック図である。
【図４】受信したデータストリームからデータを取り込み、格納するための手順を示す流れ図である。
【図５】データ記憶装置上に格納されたデータストリーム中に含まれるデータをレンダリングするための手順を示す流れ図である。
【図６】単一の取込みグラフと、複数のレンダリンググラフとを有するシステムのブロック図である。
【図７】ＩＰマルチキャストデータストリームをバッファリングするためのバッファリング機能を有するシステムのブロック図である。
【図８】複数の一時ファイルへのテレビジョン同報通信のバッファリングを示す図である。
【図９】複数の一時ファイルへのテレビジョン同報通信のバッファリングと、特定のテレビジョン番組のＤＶＲ記録とを示す図である。
【図１０】本明細書で説明するデータ記録システムおよび方法を実装することのできる適切な動作環境の例を示す図である。
【符号の説明】
【００６３】
１００  タイムシフティングシステム
１０２  取込み装置
１０４  タイムシフティング装置
１０６  記憶装置
１０８  デマルチプレクサ
１１０  復号器
２０２  アプリケーション
２０４  アプリケーションプログラミングインターフェース
２０６  タイムシフティングおよびＤＶＲ装置
３００  システム
３０２  アプリケーション
３０４  取込み制御ＡＰＩ
３０６  レンダリング制御ＡＰＩ
３０８  取込みグラフ
３１０  取込みモジュール
３１２  デマルチプレクサ
３１４  ＤＶＲストリーム受信装置
３１６  バス
３１８  データ記憶ＡＰＩ
３２０  データ記憶装置
３２２  データ記憶サブシステム
３２４  レンダリンググラフ
３２６  ＤＶＲストリーム源
３２８  ビデオ復号器
３３０  ビデオレンダラ
３３２  音声復号器
３３４  音声レンダラ
６００  システム
６０２  アプリケーション
６０４  取込み制御ＡＰＩ
６０６  取込みグラフ
６０８  データ記憶ＡＰＩ
６１０  データ記憶サブシステム
６１４  レンダリング制御ＡＰＩ
６１６  レンダリンググラフ
６１８  レンダリング制御ＡＰＩ
６２０  レンダリンググラフ
６２２  レンダリング制御ＡＰＩ
６２４  レンダリンググラフ
７００  システム
７０２  アプリケーションプログラム
７０４  取込み制御ＡＰＩ
７０６  レンダリング制御ＡＰＩ
７０８  取込みグラフ
７１０  レンダリンググラフ
７１２  ＩＰマルチキャスト受信機
７１４  音声分析モジュール
７１６  データストリーム受信装置
７１８  バッファＡＰＩ
７２０  バッファサブシステム
７２２  データバッファ
７２４  データストリーム源
７２６  音声復号器
７２８  音声レンダラ
８０２  論理リングバッファ
８０４  データ記憶ＡＰＩ
９０２  論理リングバッファ
９０４  データ記憶ＡＰＩ
１０４２  コンピュータ
１０４４  処理装置
１０４６  システムメモリ
１０４８  システムバス
１０５０  読取り専用メモリ
１０５２  ランダムアクセスメモリ
１０５４  基本入出力システム
１０５６  ハードディスクドライブ
１０５７  ハードディスクドライブインターフェース
１０５８  磁気ディスクドライブ
１０６０  取外し可能磁気ディスク
１０６１  磁気ディスクドライブインターフェース
１０６２  光ディスクドライブ
１０６４  取外し可能光ディスク
１０６５  光ドライブインターフェース
１０６８  インターフェース
１０７０  オペレーティングシステム
１０７２  アプリケーションプログラム
１０７４  他のプログラムモジュール
１０７６  プログラムデータ
１０７８  キーボード
１０８０  ポインティングデバイス
１０８４  モニタ
１０８６  ビデオアダプタ
１０８８  リモートコンピュータ
１０９０  メモリ記憶装置
１０９２  ローカルエリアネットワーク
１０９４  ワイドエリアネットワーク
１０９６  ネットワークインターフェース
１０９８  モデム
【図１】
2008243367.tif 000003
【図２】
2008243367.tif 000004
【図３】
2008243367.tif 000005
【図４】
2008243367.tif 000006
【図５】
2008243367.tif 000007
【図６】
2008243367.tif 000008
【図７】
2008243367.tif 000009
【図８】
2008243367.tif 000010
【図９】
2008243367.tif 000011
【図１０】
2008243367.tif 000012