(57)【特許請求の範囲】
【請求項１】
各々がフレーム識別子に関連付けられた映像フレームを再生するための方法であって、コンピュータが、
放送サーバからの前記映像フレームの入力ストリームを受信するステップであって、前記映像フレームは、第１のフレーム識別子に関連付けられた第１のフレームを含む、前記受信するステップと、
前記第１のフレームを含む前記映像フレームを第１のキューに格納するステップと、
前記第１のキューから前記映像フレームをデキューすることによって前記映像フレームを再生するステップと、
前記第１のキューから前記映像フレームをデキューすることが停止された第１のイベントを検出するステップと、
前記第１のキューの負荷が第１の所定の閾値を超えた第２のイベントを検出するステップと、
外部サーバ上にホストされる第２の外部キューに前記放送サーバからの前記映像フレームを録画することを指示する第１のメッセージを出力メッセージ・ハンドラに送信するステップと、
第２のフレーム識別子に関連付けられた第２のフレームが前記第２の外部キューに格納されたことを示す第２のメッセージを受信するステップであって、前記第２のメッセージは、前記第２のフレーム識別子に関連付けられた第２のフレームが正しく録画されたことを通知するフレームｉｄ通知であり、且つ前記外部サーバから送信されたものである、前記第２のメッセージを受信するステップと、
前記第１のキューからの映像フレームをデキューすることが開始された第３のイベントを検出するステップと、
以前に録画された映像フレームをストリーミングすることを前記外部サーバに指示する第３のメッセージを前記出力メッセージ・ハンドラに送信するステップと
を実行することを含む、前記方法。
【請求項２】
前記第３のメッセージを送信する前記ステップにおいて、前記外部サーバによって送信される前記映像フレームが、前記第２のフレーム識別子の数値よりも大きい又はそれに等しい数値を有する更なるフレーム識別子に関連付けられる、請求項１に記載の方法。
【請求項３】
前記第２のメッセージを受信する前記ステップの後で、
前記コンピュータが、
前記第２のフレーム識別子の数値よりも大きい又はそれに等しい数値を有するフレーム識別子に関連付けられた映像フレームを、前記第１のキューから廃棄するステップ
を実行することを含む、請求項１又は２に記載の方法。
【請求項４】
前記コンピュータが、
前記入力ストリームから、第３のフレーム識別子に関連付けられた第３のフレームを受信するステップ
を実行することをさらに含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記第３のイベントを検出する前記ステップの後で、
前記コンピュータが、
前記第１のキューの負荷が第２の所定の閾値を下回った第４のイベントを検出するステップ
を実行することを含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
請求項１〜５のいずれか一項に記載の方法の各ステップを実行するように適合された手段を備えているコンピュータ。
【請求項７】
コンピュータに請求項１〜５のいずれか一項に記載の方法の各ステップを実行させるためのコンピュータ・プログラム。
【請求項８】
請求項７に記載のコンピュータ・プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、放送映像ストリームを移動体デバイス上で再生するための方法及びシステムに関する。
【背景技術】
【０００２】
放送移動体ＴＶ技術は、容量及び品質を最適化して、既存のオペレータ・ネットワークを補完するものである。この技術は、音声通話及びインターネット・アクセスに加えて高品質な地上波デジタル放送を全て単一の無線デバイスの中で楽しむ機会を消費者に提供する。放送移動体ＴＶは、移動体サービス・プロバイダ、コンテンツ及び放送会社、インフラストラクチャ及び携帯端末の製造者、並びにテクノロジ・プロバイダに新たなビジネスチャンスを提供することになる。
【０００３】
ＤＶＢ−Ｈ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔ  ｆｏｒ  Ｈａｎｄｈｅｌｄ）によるＩＰデータキャストは、計算処理リソース及びバッテリに制限があるデバイスに関して最適化されたＩＰベースの機構を用いて、任意の種類のデジタル・コンテンツ及びサービスを配信するためのエンド・ツー・エンド方式の放送システムである。ＩＰＤＣ（ＩＰデータキャスト）システムの固有の部分は、双方向移動体／セルラー方式の対話パスと組み合わせることができる、片方向ＤＶＢ放送パスを含むということである。したがって、ＩＰＤＣは、放送／メディアのサービスと遠隔通信ドメイン（例えば移動体／セルラー）のサービスとを１つにまとめることを可能にするために用いることができるプラットフォームである。
【０００４】
ＩＰＤＣファイル配信方法はＦＬＵＴＥプロトコルに基づいている。ＦＬＵＴＥ（Ｆｉｌｅ  Ｄｅｌｉｖｅｒｙ  ｏｖｅｒ  Ｕｎｉｄｉｒｅｃｔｉｏｎａｌ  Ｔｒａｎｓｐｏｒｔ）がこの機能のために用いられることになる。基本的な配信プロトコルに加えて、提案されるファイル配信ソリューションは、どのようにＦＬＵＴＥが用いられるかを指定する他の部分をさらに含む。ファイル配信の目的は、ファイル内のコンテンツを配信することである。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、放送映像ストリームを移動体デバイス上で再生するための方法及びシステムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、映像フレームを再生するための方法が提供される。フレームの各々は数値識別子に関連付けられている。方法は、
−放送サーバに関連付けられた第１の入力ストリームから、第１の識別子に関連付けられた第１のフレームを受信するステップと、
−第１のフレームを第１のキューに格納するステップと、
−第１のキューからの映像フレームのデキューが停止された第１のイベントを検出するステップと、
−第１のキューの負荷が第１の所定の閾値を超えた第２のイベントを検出するステップと、
−外部サーバ上にホストされる第２の外部キューに放送サーバからの映像フレームを録画することを指示する第１のメッセージを出力メッセージ・ハンドラに送信するステップと、
−第２の識別子に関連付けられた第２のフレームが第２の外部キューに格納されたことを示す第２のメッセージを受信するステップと、
−第１のキューからの映像フレームのデキューが開始された第３のイベントを検出するステップと、
−以前に録画された映像フレームをストリーミングすることを外部サーバに指示する第３のメッセージを出力メッセージ・ハンドラに送信するステップと
を含む。
【０００７】
この態様の利点は、本方法が、ローカル・キューが殆ど一杯になった時点を検出し、更なるユーザ対話の必要なしに、追加のストレージを有する遠隔サーバに対してその時点からの録画を引き継ぐことを自動的に指示するという点である。この態様の別の利点は、映像再生が一時停止されているときに放送された映像フレームをローカル・キュー又は遠隔キューのいずれかにバッファリングすることによって、放送ストリームの遅延再生が可能となる点である。この態様の更に別の利点は、再生が、映像フレームをローカル・キューからデキューすることができ、ローカル・キューが殆ど空になった時点で、ユーザからの更なる介入なしに自動的に外部キューに切り換えられるという点である。
【０００８】
第１の態様の第１の展開では、第３のメッセージを送信するステップにおいて、外部サーバによって送信される映像フレームは、第２の識別子の数値より大きい又はそれに等しい数値を有する更なる識別子に関連付けられる。
【０００９】
利点は、外部サーバが、実際に必要な映像フレームのみをストリーミングするという点である。
【００１０】
第１の態様の第２の展開において、第２のメッセージを受信するステップの後で、第２の識別子の数値より大きい又はそれに等しい数値を有する識別子に関連付けられた映像フレームは廃棄される。
【００１１】
利点は、ローカル・キューの負荷が最小限に保たれるという点である。
【００１２】
第１の態様の第３の展開において、本方法は、第２の入力ストリームから、第３の識別子に関連付けられた第３のフレームを受信するステップをさらに含む。
【００１３】
利点は、外部サーバに格納された映像フレームがローカルの映像プレーヤにストリーミングされるという点である。
【００１４】
第１の態様の第４の展開において、本方法は、第１のキューの負荷が第２の所定の閾値を下回った第４のイベントを検出するステップをさらに含む。
【００１５】
利点は、最適化された方法でローカル・ストレージから遠隔ストレージに映像再生を切り換えることが可能である点である。
【００１６】
本発明の第２の態様によれば、本発明の第１の態様による方法の各ステップを実行するように適合された手段を備えた装置が提供される。
【００１７】
利点は、この装置が非常に容易に得られるので、そのため、本方法の実行が容易になるという点である。
【００１８】
本発明の第３の態様によれば、コンピュータ上で実行されたときに本発明の第１の態様による方法のステップを実行するための命令を含む、コンピュータ・プログラムが提供される。
【００１９】
利点は、本発明を容易に再現することができ、かつ異なるコンピュータ・システム上で実行することができるという点である。
【００２０】
本発明の第４の態様によれば、本発明の第３の態様によるコンピュータ・プログラムがエンコードされたコンピュータ可読媒体が提供される。
【００２１】
利点は、この媒体を用いて本方法を種々の装置に容易にインストールすることができる点である。
【００２２】
本発明の更なる利点は、図面及び詳細な説明を検討すれば当業者には明らかとなるであろう。いかなる付加的な利点もその中に組み入れられることが意図される。
【００２３】
以下、本発明の実施形態を添付の図面を参照して例として説明するが、図中、類似の参照符号は同様の要素を示す。
【図面の簡単な説明】
【００２４】
【図１】本発明を実装することができるシステムを示す。
【図２】本発明の実装における、異なるストリームで流れる幾つかの映像フレームのシーケンスを示す。
【図３】本発明の実装に含まれる異なるコンポーネント間で交換されるメッセージのフローを示す。
【図４】本発明の実装に関連付けられた最終的な状態機械を示す。
【図５】本発明の実装における、放送映像フレームを再生するための主ステップを有するプロセスを示す。
【図６】本発明の実装における、放送映像フレームの再生を停止又は一時停止するための主ステップを有するプロセスを示す。
【図７】本発明の実装における、一時停止状態の間に放送映像フレームを録画するための主ステップを有するプロセスを示す。
【図８】本発明の実装における、タイム・シフト・モードで映像フレームを再生するための主ステップを有するプロセスを示す。
【図９】本発明の実装における、早送りモードで映像フレームを再生するための主ステップを有するプロセスを示す。
【発明を実施するための形態】
【００２５】
図１は、本発明を実装することができるシステムを示し、このシステムは、
−ネットワークに接続するように適合されたポータブル・コンピュータ・システム（１００）と、
−ネットワーク上に映像フレームを放送する放送サーバ（１０３）と、
−ネットワークに接続するように適合された、映像フレームの録画及びストリーミングのためのネットワーク・パーソナル映像サーバ（１０５）と
を含む。
ポータブル・コンピュータ・システム（１００）は、
−放送映像フレームのストリームに接続するための放送映像ソース（１１０）と、
−映像フレームのストリームを受信するためのリアルタイム・ストリーミング・プロトコル（ＲＴＳＰ）映像ソース（１１５）と、
−映像フレームを格納するための映像バッファ（１２０）と、
−ストリーミング・メディア・サーバを遠隔的に制御するためのＲＴＳＰコマンドを送信するため、及びポータブル・コンピュータ・システムの他のコンポーネントにコマンドを送信するためのコマンド・ハンドラ（１２５）と、
−映像フレームを再生するためのプレーヤ（１３０）と、
−ユーザからの入力を受信するためのキーボード（１４０）と
を含む。
【００２６】
ポータブル・コンピュータ・システム（１００）は、放送サーバ（１０３）によって映像フレームが放送されているネットワークに接続することができる。ポータブル・コンピュータ・システム（１００）はまた、ネットワーク・パーソナル映像サーバ（１０５）に接続して、ストリーミングされた映像フレームをＲＴＳＰ映像ソース（１１５）で受信することもできる。ポータブル・コンピュータ・システム（１００）は、コマンド・ハンドラ（１２５）コンポーネントによって、ネットワーク・パーソナル映像サーバ（１０５）との間でコマンドを送受信する。放送映像ソース（１１０）は、放送映像フレームをネットワークから受信する。映像バッファ（１２０）は、放送映像ソース（１１０）又はＲＴＳＰ映像ソース（１１５）において受信された映像フレームを収集する。映像バッファ（１２０）はキューの役割を果たす。キューの中のアイテムは、先入れ先出し方式又は先入れ後出し方式で取り出すことができる。取り出された要素は、取り出された時点で削除されてもよく、又は削除されなくてもよい。本発明の実施形態の特定の実装の要件に基づいて、いずれかのキューイング機構を用いることができる。プレーヤ（１３０）は、映像フレームを映像バッファ（１２０）から引き出し、デコードして、映像としてレンダリングする。コマンド・ハンドラ（１２５）は、キーボード（１４０）からキーボード・イベントを受信し、これらを解釈して、コマンドをネットワーク・パーソナル映像サーバ（１０５）、ＲＴＳＰ映像ソース（１１５）、放送映像ソース（１１０）、及び映像バッファ（１２０）に送信する。コマンド・ハンドラ（１２５）は、ネットワーク・パーソナル映像サーバ（１０５）からメッセージ又はイベントを取得することができる。
【００２７】
ポータブル・コンピュータ・システム（１００）は、ネットワークに無線で接続された移動体デバイスであり、ユーザに対して映像をレンダリングするのに適している。映像データは、放送サーバ（１０３）又はネットワーク・パーソナル映像サーバ（１０５）から受信される。ネットワーク・パーソナル映像サーバ（１０５）は、ポータブル・コンピュータ・システム（１００）の必要に供するために確保されたストレージ空間を含む。このストレージ空間は、１つ又は複数のストレージ設備内に置くことができる。ネットワーク・パーソナル映像サーバ（１０５）は、放送映像フレームへのネットワーク・アクセス権を有する。ネットワーク・パーソナル映像サーバ（１０５）は、ファイルへの時間ベースでのアクセスを可能にする。ネットワーク・パーソナル映像サーバ（１０５）は、ネットワークから受信したコマンドに応答して、映像フレームのストリームを配信することができる。こうしたコマンドはメッセージ又は要求の形をとることができる。それらのコマンドは、１つ又は複数のメディア・ストリームを再生させる再生コマンドと、１つ又は複数のメディア・ストリームを一時的に停止させるが、後で再生要求により再開することができる一時停止コマンドと、格納するストリームをサーバに指示する録画コマンドと、セッションを終了して１つ又は複数のメディア・ストリームを停止させるための、停止又は破棄（ｔｅａｒｄｏｗｎ）要求又はメッセージとを含む。ＲＴＳＰプロトコルは、上記のコマンドを実装するために一般に用いられるプロトコルである。メディア・ストリーム自体は、例えばリアルタイム転送プロトコル（ＲＴＰ）によって配信することができる。映像フレームは、ポータブル・コンピュータ・システム（１００）の映像バッファ（１２０）内にローカルに格納される。ネットワーク・トラフィックは特に無線ネットワーク接続の場合には非常に不規則になりかねないが、こうすることで、より円滑な映像レンダリングが可能になる。映像フレームは、ＭＰＥＧ４又はＨ．２６４といったいずれかの映像エンコード方式を用いてエンコードすることができる。コマンド・ハンドラ（１２５）は、コマンドをシステムの種々のコンポーネントにディスパッチする。コマンド・ハンドラ（１２５）はまた、それらのコンポーネントの状態を監視し又はそれらからイベントを受信して、適切なアクションを取ることができる。ポータブル・コンピュータ・システム（１００）は、ＤＶＢ−Ｈ又はＴ−ＤＭＢを用いて放送テレビジョンを受信するための機能を含む。受信されたＴＶチャンネル画像は映像バッファ（１２０）を満たし、Ｈ．２６４デコーダはこれを用いて、受信された画像を復元してプレーヤ（１３０）に渡す。キーボード（１４０）を用いて、ユーザ指示がコマンド・ハンドラ（１２５）に送信される。これらの指示は、以下の指示であり得る。
−映像チャンネルの再生の「開始（Ｓｔａｒｔ）」。
−映像チャンネルの再生の「停止（Ｓｔｏｐ）」（１つのチャンネルから別のチャンネルへザッピングするには、まず、最初のチャンネルを「停止」し、次いで新たなチャンネルを「開始」する必要がある）。
−「一時停止（Ｐａｕｓｅ）」。これは（例えば通話中に）画面上の画像を静止させるが、映像バッファを選択されたＴＶチャンネルから受信した画像で満たすことは続ける。
−「再生（Ｐｌａｙ）」は《一時停止》の後で再生を再開するために用いることができ、この場合には、本発明の実施形態によるシステムは、映像が一時停止されたところから再開するために、映像をタイム・シフト・モードで再生することになるが、このコマンドはＴＶチャンネルの通常の受信には影響を及ぼさず、ユーザによって生成されても無視される。
−「早送り（Ｆａｓｔ  Ｆｏｒｗａｒｄ）」は録画されたチャンネルをより高速で、例えば４倍速、６倍速、８倍速、又は他のいずれかの速度で再生することを可能にする。「早送り」モードにおいて全ての録画された映像画像が消費されると、端末は自動的に通常モードに切り換えられ、選択されたＴＶチャンネルが同期的に再生される。「早送り」モード中の「再生」コマンドは録画されたチャンネルの再生を通常速度で再開し、一方、《一時停止》は画面の画像を静止させる。
【００２８】
キーボード（１４０）はユーザ入力デバイスとして用いられる。代替的に、この入力デバイスは、マウス、音声認識システム、タッチスクリーン、又はユーザが対話することができるいずれかのデバイスとすることができる。
【００２９】
図２は、以下のストリームを含む異なるストリームで流れる幾つかの映像フレームのシーケンスを示す。
−放送サーバ（１０３）によって放送されるライブ・フィード（２００）又は放送ストリーム。
−ネットワーク・パーソナル映像サーバ（１０５）によってストリーミングされる遠隔ストリーム（２２０）。
−映像バッファ（１２０）からストリーミングされるローカル・ストリーム（２３０）。
全てのストリームは映像フレームのシーケンスを含む。各々の映像フレームは、フレーム識別子、即ちフレームｉｄに関連付けられる。このフレームｉｄを用いて、特定の映像フレームが一意に識別される。これは典型的には数値である。遠隔ストリーム（２２０）及びローカル・ストリーム（２３０）は両方共、放送ストリームからのコピーであるので、ローカル・ストリーム（２３０）又は遠隔ストリーム（２２０）の中のどの映像フレームについても、同じフレームｉｄを有する対応する映像フレームがライブ・フィード（２００）の中に存在する。本発明の実施形態によれば、ポータブル・コンピュータ・システム（１００）は、映像をタイム・シフト・モードで再生するときにローカル・ストリーム（２３０）から遠隔ストリーム（２２０）に切り換える。ローカル映像バッファ（１２０）の中に含まれる最後の映像フレームは、ネットワーク・パーソナル映像サーバ（１０５）によってストリーミングされる遠隔ストリーム（２２０）の中の最初の映像フレームと共通のフレームｉｄを共有する。連続する映像フレームのｉｄの値は、時間（２０５）の関数として設定することができる。典型的な関数は、連続する映像フレーム毎にフレームｉｄを１ずつ増やすことである。映像フレームは、選択されたエンコード方式に従って、Ｉフレーム、Ｐフレーム、又はＳフレームとすることができる。
【００３０】
図３は、本発明の実装に含まれる異なるコンポーネント間で交換されるメッセージのフローを示し、この図は、
−指示を送信する操作者（３００）と、
−ポータブル・コンピュータ・システム（１００）又は移動体機器と、
−コマンド・ハンドラ（１２５）と、
−プレーヤ（１３０）と、
−映像バッファ（１２０）と、
−放送サーバ（１０３）によって送信された映像放送ストリーム（３２０）と、
−パーソナル・ビデオ・レコーダ（ＰＶＲ）又はビデオ・オン・デマンド（ＶＯＤ）サーバとも呼ばれるネットワーク・パーソナル映像サーバ（１０５）と
を含む。
操作者（３００）は、ユーザ入力デバイス（例えばキーボード（１４０））によって、コマンド・ハンドラ（１２５）に以下の指示、
−チャンネルｙを再生するための「チャンネルｙ再生」（３４０）、
−チャンネルｙの再生を一時的に停止するための「チャンネルｙ一時停止」（３５０）、
−選択されたチャンネル、ここではチャンネルｙの再生を再開するための「再生」（３６０）
を送信することができる。
映像放送ストリーム（３２０）は、フレームｉｄ  ｘ（３２２）、フレームｉｄ  ｘ＋６（３２６）、フレームｉｄ  ｎ（３２７）を有する映像フレーム（３２２、３２６、３２７）を含み、以下同様である。
コマンド・ハンドラ（１２５）は以下のコマンドを送信する。
−放送映像ソース（１１０）に対する、放送フレーム又はライブ・フィード（２００）を映像バッファ（１２０）内に格納する「放送受信開始」（３４１）。
−プレーヤ（１３０）に対する、「再生開始」（３４２）及び「再生停止」（３５１）。
−ネットワーク・パーソナル映像サーバ（１０５）に対する、ネットワーク・パーソナル映像サーバ（１０５）に特定のチャンネル、ここではチャンネルｙ、を録画するように命令するための「チャンネル録画開始」（３５２）。
−映像バッファ（１２０）に対して、指定のフレームｉｄを有する映像フレーム、ここではフレームｉｄ  ｘ＋６及びフレームｉｄ  ｘ＋７を有するフレームをストレージから廃棄するように命令するために送信される「フレーム廃棄」（３５６）。コマンド・ハンドラ（１２５）は、放送映像ソース（１１０）に対しても、放送ストリーム（３２０）からの切断を命令する。
−ネットワーク・パーソナル映像サーバ（１０５）に対して、指示される値、ここではｘ＋６よりも大きい又はそれと等しい値を有するフレームｉｄの映像フレームをストリーミングするように命令するために送信される「フレームｉｄのＲＴＳＰ再生」（３６４）。
コマンド・ハンドラ（１２５）は、ネットワーク・パーソナル映像サーバ（１０５）からのメッセージ、即ち、指定のフレームｉｄ（ここではｘ＋６）を有する映像フレームがライブ・フィード（２００）から正しく録画されたことを通知する「フレームｉｄ通知」（３５４）を受信する。
【００３１】
映像バッファ（１２０）は放送サーバ（１０３）から放送映像ソース（１１０）を介して映像フレームを受信し、且つネットワーク・パーソナル映像サーバ（１０５）からＲＴＳＰ映像ソース（１１５）を介して映像フレームを受信する。コマンド・ハンドラ（１２５）は、映像バッファ（１２０）に対して、どのソースから映像フレームを格納するべきかを命令する。映像バッファ（１２０）は、コマンド・ハンドラ（１２５）からフレーム廃棄（３５６）コマンドを受信したときは指定されたフレームｉｄ（ここではｘ＋６及びｘ＋７）を有する映像フレームをメモリから削除し、放送映像ソース（１１０）からの映像フレームの録画を停止する。
【００３２】
ネットワーク・パーソナル映像サーバ（１０５）は、コマンド・ハンドラ（１２５）から幾つかのコマンドを受信することができる。チャンネル録画開始（３５２）コマンドを受信すると、ネットワーク・パーソナル映像サーバ（１０５）は指定されたライブ・フィード（２００）に接続し、ストリーミングされる映像フレームの録画を開始する。映像フレームの録画に成功した後、ネットワーク・パーソナル映像サーバ（１０５）はこの映像フレームのフレームｉｄをコマンド・ハンドラ（１２５）に対してフレームｉｄ通知（３５４）メッセージを通じて送信する。フレームｉｄのＲＴＳＰ再生（３６４）コマンドを受信すると、ネットワーク・パーソナル映像サーバ（１０５）は、指定されたフレームｉｄから始まる映像フレームをストリーミングし、この指定されたフレームｉｄは一般にメッセージ（３５４）で通知されたフレームｉｄと同一であるが、異なる場合もある（例えば、早送り再生コマンドの場合には、ネットワーク・パーソナル映像サーバ（１０５）は後のフレームのストリーミングを開始することができる）。
【００３３】
一時停止イベントに応答して、ポータブル・コンピュータ・システム（１００）は放送映像ストリームからネットワーク・パーソナル映像サーバ（１０５）のストリームへとシフトする。このシフトは、放送映像が再生されており、かつ一時停止イベントが、操作者（３００）の命令、又は着信が入って操作者（３００）が映像を鑑賞し続けることが不可能になったことのいずれかの理由で検出されたときにトリガされる。ポータブル・コンピュータ・システム（１００）上で映像が一時停止された時点と、ネットワーク・パーソナル映像サーバ（１０５）が放送ストリーム（３２０）からの録画を開始する時点との間には遅延が存在する。本発明の実施形態において、この遅延の間に放送されたフレームはローカル映像バッファ（１２０）内に格納されるので、再生（３６０）コマンドがタイム・シフト再生モードで再び命令された時点でどのフレームも失われていない。
【００３４】
この交換されるメッセージ及びコマンドのフローは、システムが、一時停止中又はタイム・シフト再生モード中に放送されたものまで含めて、ライブ・フィード（２００）で放送された全ての連続した映像フレームを取り込み、これをプレーヤ（１３０）に配信することを可能にする。タイム・シフト・モードで映像を再生するときには、映像フレームはネットワーク・パーソナル映像サーバ（１０５）によってストリーミングされ、ＲＴＳＰ映像ソース（１１５）を介して受信される。それらは次に映像バッファ（１２０）にコピーされる。ネットワーク・パーソナル映像サーバ（１０５）は、他の命令がない限り、放送ストリームからの映像フレームの録画を続行する。
【００３５】
図４は、本発明の実装に関連付けられた最終的な状態機械を示し、この最終的な状態機械は以下の状態を含む。
−ポータブル・コンピュータ・システム（１００）が、再生する（４０１）ＴＶチャンネルが選択されるまでアイドル状態のままでいる、「アイドル」状態（４００）。
−放送映像の再生中、又は同期ＴＶチャンネル再生中の状態である、「放送再生」状態（４１０）。
−コマンド・ハンドラ（１２５）によって「一時停止」コマンドが受信された後の状態である、「一時停止」状態（４２０）。この状態においては、放送映像ストリームは、映像バッファ（１２０）、ネットワーク・パーソナル映像サーバ（１０５）、又はその両方に録画される。
−録画されたライブ・フィード（２００）の再生（タイム・シフト・モード）に対応する、「シフト再生」状態（４３０）。
−録画されたライブ・フィード（２００）の再生（タイム・シフト・モード）を早送りで行うことに対応する「早送り再生」状態（４４０）。
−システムの電源が投入された時点である、「開始」状態（４５０）。
システムが「アイドル」状態（４００）にあり、かつ「再生」コマンド（４０１）が受信されたときには、システムは、「放送再生」状態（４１０）に入る。
システムが「放送再生」状態（４１０）にあり、かつ
−「停止」コマンド（４１１）が受信されたときには、システムは「アイドル」状態（４００）に入り、
−「一時停止」コマンド（４１２）が受信されたときには、システムは「一時停止」状態（４２０）に入る。
システムが「一時停止」状態（４２０）にあり、かつ
−「停止」コマンド（４２１）が受信されたときには、システムは「アイドル」状態（４００）に入り、
−「再生」コマンド（４２２）が受信されたときには、システムは「シフト再生」状態（４３０）に入る。
システムが「シフト再生」状態（４３０）にあり、かつ
−「一時停止」コマンド（４３２）が受信されたときには、システムは「一時停止」状態（４２０）に入り、
−「停止」コマンド（４３３）が受信されたときには、システムは「アイドル」状態（４００）に入り、
−「早送り」コマンド（４３４）が受信されたときには、システムは「早送り再生」状態（４４０）に入る。
システムが「早送り再生」状態（４４０）にあり、かつ
−「再生」コマンド（４４２）が受信されたときには、システムは「シフト再生」状態（４３０）に入り、
−「停止」コマンド（４４３）が受信されたときには、システムは「アイドル」状態（４００）に入り、
−「再同期（ｒｅｓｙｎｃｈ）」コマンド（４４１）が受信されたときには、システムは「放送再生」状態（４１０）に入り、このような「再同期」コマンドは、システムが放送ストリームと再同期し、放送されているチャンネルの再生を同期モードで開始するために命令されるものであり、
−「一時停止」コマンド（４４４）が受信されたときには、システムは「一時停止」状態（４２０）に入る。
電源が投入されたとき、ポータブル・コンピュータ・システム（１００）は「開始」状態（４５０）に入る。「アイドル」状態（４００）に入るために、システムは「初期化（ｉｎｉｔ）」アクション（４５１）を実行する。
【００３６】
「再生」コマンド（４０１）は選択されたチャンネルの再生を開始する。「停止」コマンド（４１１）はＴＶ再生を中断させる。「一時停止」コマンド（４１２）はＴＶ画像を静止させ、ＴＶチャンネルの録画を開始する。「停止」コマンド（４２１）はＴＶ録画を中断させ、関与した全てのバッファを空にするする。「再生」コマンド（４２２）は中断された画像又は映像フレームのところで映像再生を再開する。「一時停止」コマンド（４３２）はＴＶ画像を静止させ、ＴＶチャンネルの録画を続行する。「停止」コマンド（４３３）はＴＶ再生及び録画を中断させ、関与した全てのバッファを空にする。「早送り」コマンド（４３４）は録画された映像を加速された速度で再生する。「再同期」コマンド（４４１）は、映像バッファ又はネットワーク・パーソナル映像サーバ（１０５）内に格納された全ての画像が映像プレーヤによって消費された時点で、ネットワーク・パーソナル映像サーバ（１０５）によって又は内部的に生成される。次いでコマンド・ハンドラ（１２５）が、ポータブル・コンピュータ・システム（１００）に対して同期ＴＶチャンネル再生を再開するように命令する。「再生」コマンド（４４２）は、中断された画像又は映像フレームのところで映像再生をタイム・シフト方式で再開する。「停止」コマンド（４４３）はＴＶ録画を中断させ、関与した全てのバッファを空にする。「一時停止」コマンド（４４４）はＴＶ画像を静止させるが、ＴＶチャンネルの録画は続行される。
【００３７】
図５は、放送映像フレームを再生するための主ステップを有するプロセスを示し、このプロセスは、
−「開始」状態（４５０）と、
−「初期化」ステップ（５１０）と、
−「アイドル
」状態（４００）と、
−チャンネルｘを再生する命令を受信することによって始動される「チャンネルｘ再生」ステップ（５３０）と、
−放送映像フレームの受信が開始されたことを示すイベントを生成することを含む、「放送受信開始」ステップ（５４０）と、
−「放送再生」状態（４１０）と
を含む。
【００３８】
「初期化」ステップ（５１０）のあいだに、ＴＶ放送の受信プロトコルがＤＶＢ−Ｈ又はＴ−ＤＭＢに初期化され、電子番組表が受信され、利用可能なチャンネルの表示及び選択が可能になる。次いで、ポータブル・コンピュータ・システム（１００）は「アイドル」状態（４００）にセットされ、チャンネルの選択を待つ。「チャンネルｘ再生」ステップ（５３０）が、チャンネルｘの選択、及び「再生」コマンドに関連付けられたキーを押すことによって始動される。「放送受信開始」ステップ（５４０）は、映像バッファを選択されたチャンネルから受信された映像フレームで満たす。最後に、ポータブル・コンピュータ・システム（１００）は「放送再生」状態（４１０）に入る。
【００３９】
図６は、放送映像フレームの再生を停止又は一時停止するための主ステップを有するプロセスを示し、このプロセスは、
−「放送再生」状態（４１０）と、
−「停止」コマンドの受信又は「停止」イベントの検出によって始動される「停止」ステップ（６１０）と、
−放送映像フレームの受信が停止されたことを示すイベントを生成することを含む、「放送受信停止」ステップ（６２０）と、
−「映像バッファを空にする」ステップ（６３０）と、
−「アイドル」状態（４００）と、
−「一時停止」コマンドの受信又は「一次停止」イベントの検出によって始動される「一時停止」ステップ（６５０）と、
−「タイマーＴ１セット」ステップ（６６０）と、
−「一時停止」状態（４２０）と
を含む。
「放送再生」状態（４１０）にある間は、２つのイベントを受信することができる。即ち、
−「停止」ステップ（６１０）をトリガする「停止」イベント。これは以前に選択されたチャンネルで映像バッファを満たすことを停止させる（６２０）。次に映像バッファ（１２０）はバッファ消去される（６３０）。最後に、移動体端末が「アイドル」状態（４００）にセットされる。
−「一時停止」ステップ（６５０）をトリガする「一時停止」イベント。これはＴＶ画像を静止させ、ＴＶチャンネルの録画を開始する。次いで、映像バッファ（１２０）の空きレベル（filling level）を定期的に制御するため、及び所定の閾値に達したかどうかをチェックするために、タイマーＴ１が作動される（６６０）。次いでポータブル・コンピュータ・システム（１００）は「一時停止」状態（４２０）に入る。
【００４０】
図７は、「一時停止」状態の間に放送映像フレームを録画するための主ステップを有するプロセスを示し、このプロセスは、
−「一時停止」状態（４２０）と、
−タイマーＴ１が期間満了になったイベントの検出に対応する「タイマー期間満了」ステップ（７１０）と、
−映像バッファ（１２０）の負荷をチェックする「映像バッファ閾値超過」ステップ（７１５）と、
−「タイマーＴ１セット」ステップ（７２０）と、
−「サーバ映像録画開始」ステップ（７２５）と、
−ネットワーク・パーソナル映像サーバ（１０５）が指示されたフレームｉｄを有する映像フレームの録画に成功したことを示すイベント又はメッセージを、コマンド・ハンドラ（１２５）が受信することによって始動される「映像フレームｉｄ録画通知」ステップ（７３０）と、
−ポータブル・コンピュータ・システム（１００）を更新するための「フレームｉｄ保存」ステップ（７３１）と、
−放送映像フレームの受信が停止されたことを示すイベントを生成することを含む「放送映像受信停止」ステップ（７３５）と、
−「タイマーＴ１キャンセル」ステップ（７３６）と、
−「停止」コマンド（４２１）を受信することによってトリガされる「停止」ステップ（７４０）と、
−サーバ録画がアクティブであるかどうかをチェックするステップ（７４５）と、
−サーバ映像録画を停止するステップ（７５０）と、
−映像バッファを空にするステップ（７５５）と、
−「アイドル」状態（４００）と、
−「再生」コマンド（４２２）を検出することによってトリガされる「再生」ステップ（７６０）と、
−「タイマーＴ１キャンセル」ステップ（７７５）と、
−「シフト再生」状態（４３０）と
を含む。
【００４１】
「一時停止」状態（４２０）にある間は、４つのイベントを受信することができる。即ち、
−映像バッファ（１２０）の負荷を所定の閾値に対してチェックしなければならないこと（７１５）を示す「タイマーＴ１期間満了」（７１０）。閾値を超えていれば、ネットワーク・パーソナル映像サーバ（１０５）に対して映像録画を開始（７２５）させるコマンド（３５２）が送信される。負荷がまだ閾値より下であれば、再びＴ１が期間満了したときに同じチェックが行われるように、タイマーＴ１がセットされる（７２０）。システムは「一時停止」状態（４２０）に留まる。
−「録画開始」要求（３５２）の受信により、ネットワーク・パーソナル映像サーバ（１０５）によって映像フレームが録画されることに対応するイベント（７３０）。最初のサーバ・フレームｉｄがローカルに保存され、最初のサーバ・フレームｉｄと等しいか又はそれより大きいｉｄを有する全てのフレームは映像バッファ（１２０）から廃棄される（７３１）。放送映像の受信を停止するためのコマンドが送信され（７３５）、それ以上映像バッファ（１２０）が放送映像フレームによって満たされることはないので、タイマーＴ１がキャンセルされる（７３６）。システムは「一時停止」状態（４２０）に留まる。
−「停止」コマンド（４２１）の発行に対応する「停止」イベント（７４０）。コマンド・ハンドラ（１２５）は次に、サーバ録画がアクティブであるかどうかをチェックする（７４５）。アクティブである場合には、コマンド・ハンドラ（１２５）はそれを停止し（７５０）、映像バッファを空にする（７５５）。アクティブでない場合には、コマンド・ハンドラ（１２５）は直ちに映像バッファを空にする（７５５）。代替的に、録画された映像フレームを後で再生する可能性を残したいと望む場合には、映像バッファ（１２０）を空にするステップ（７５５）を回避することができる。次いで、システムは「アイドル」状態（４００）に入る。
−「再生」コマンド（４２２）の発行によってトリガされる「再生」イベント（７６０）。バッファは満たされるのと同じ速度で読み出されるので、コマンド・ハンドラ（１２５）はタイマーをキャンセルする（７７５）。次いで、システムは「シフト再生」状態（４３０）に入る。
【００４２】
図８は、タイム・シフト・モードで映像フレームを再生するための主ステップを有するプロセスを示し、このプロセスは、
−「シフト再生」状態（４３０）と、
−サーバ録画がアクティブであるかどうかをチェックする判定ステップ（８０５）と、
−映像バッファ（１２０）内の最後の映像フレームのｉｄを格納するステップ（８０６）と、
−ネットワーク・パーソナル映像サーバ（１０５）に、指示されたフレームｉｄより大きい識別子を有する映像フレームのストリーミングを開始するように命令するステップ（８０７）と、
−「一時停止」イベントを検出することによってトリガされる「一時停止」ステップ（８１０）と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ（８１５）と、
−タイマーＴ１を指定された時間値にセットするステップ（８２０）と、
−ネットワーク・パーソナル映像サーバ（１０５）に映像フレームのストリーミングを停止するように命令するステップ（８２５）であって、「ＲＴＳＰ停止（ＲＴＳＰ  Ｓｔｏｐ）」コマンドとして実装することができる、ステップ（８２５）と、
−「停止」コマンド（４３３）の発行によってトリガされる「停止」ステップ（８３０）と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ（８３５）と、
−放送映像フレームの受信が停止されたことを示すイベントを生成することを含む、「放送映像受信停止」ステップ（８４０）と、
−「タイマーＴ１キャンセル」ステップ（８４５）と、
−サーバ映像録画を停止するステップ（８５５）と、
−映像バッファを空にするステップ（８５０）と、
−「アイドル」状態（４００）と、
−「早送り」コマンド（４３４）を検出したことに応答した「早送り」ステップ（８７０）と、
−「再生タイマーセット」ステップ（８７５）と、
−「早送り再生」状態（４４０）と
を含む。
【００４３】
システムが「シフト再生」状態（４３０）に入った後、サーバ録画がアクティブであるかどうかを判定するためのチェックが実施される（８０５）。サーバ録画が開始されていなければ、プロセスは映像プレーヤを作動させたまま、新たなイベントを待つ。映像フレームを再生するレートは映像フレームを受信するレートと同一であるので、映像バッファの負荷の検証は必要ない。これらのレートが異なる場合には、両方のストリームの同期を保つために同期化技術が利用可能である。「サーバ録画」が開始されている場合には、ローカルの可変フレームＩｄが映像バッファ（１２０）内の最後の映像フレームの識別子の値で初期化され（８０６）、「フレームＩｄ＋１」より大きいか又はこれと等しいフレーム識別子を有する映像フレームのストリーミングを開始するための「ＲＴＳＰ再生（ＲＴＳＰ  ｐｌａｙ）」コマンドがネットワーク・パーソナル映像サーバ（１０５）に送信される（８０７）。その後、プロセスは映像プレーヤを作動させたまま新たなイベントを待つ。
【００４４】
この時点では３つのイベントを受信することができる。即ち、
−操作者（３００）による「一時停止」コマンド（４３２）の発行又は別のシステム・イベント、例えば電話の着信、テキスト・メッセージ又はマルチメディア・メッセージの受信、ポータブル・コンピュータ・システム（１００）が衝撃を受けたことなどによってトリガされる、「一時停止」イベント（８１０）。システムは次にサーバ録画がアクティブであるかどうかをチェックする（８１５）。サーバ録画がアクティブであれば、コマンド「ＲＴＳＰ停止」がネットワーク・パーソナル映像サーバ（１０５）に送信される（８２５）。アクティブでなければ、映像バッファ（１２０）の負荷の検証ができるようにタイマーＴ１がセットされる（８２０）。両方の場合共、システムはその後「一時停止」状態（４２０）に入る
−「停止」コマンド（４３３）の発行によってトリガされる「停止」イベント（８３０）。「サーバ録画」がアクティブであれば（８３５）、コマンド「録画停止」がネットワーク・パーソナル映像サーバ（１０５）に送信される（８５５）。アクティブでなければ、放送映像フレームの受信が停止され（８４０）、タイマーＴ１がキャンセルされる（８４５）。両方の場合共、次いで映像バッファが空にされ（８５０）、システムは「アイドル」状態（４００）に入る
−「早送り」コマンド（４３４）によってトリガされる「早送り」イベント（８７０）。再生タイマーはフレーム間時間に対応する時間値にセットされる（８７５）。システムは「早送り再生」状態（４４０）に入る。
【００４５】
図９は早送りモードで映像フレームを再生するための主ステップを有するプロセスを示し、このプロセスは、
−「早送り再生」状態（４４０）と、
−「一時停止」イベントが検出されたことによってトリガされる「一時停止」ステップ（９１０）と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ（９１５）と、
−タイマーＴ１を指定された時間値にセットするステップ（９１７）と、
−ネットワーク・パーソナル映像サーバ（１０５）に映像フレームのストリーミングを停止するように命令するステップ（９１８）であって、「ＲＴＳＰ停止」コマンドとして実装することができる、ステップ（９１８）と、
−「再生」イベントを検出することによってトリガされる「再生」ステップ（９２０）と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ（９２２）と、
−ネットワーク・パーソナル映像サーバ（１０５）に映像フレームのストリーミングを開始するように命令するステップ（９２５）であって、「ＲＴＳＰ再生」コマンドとして実装することができる、ステップ（９２５）と、
−「停止」コマンド（４３３）の発行によってトリガされる「停止」ステップ（９３０）と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ（９３５）と、
−放送映像フレームの受信が停止されたことを示すイベントを生成することを含む、「放送映像受信停止」ステップ（９４０）と、
−「タイマーＴ１キャンセル」ステップ（９４５）と、
−サーバ映像録画を停止するステップ（９５５）と、
−映像バッファを空にするステップ（９５０）と、
−「アイドル」状態（４００）と、
−内部システム・イベント又はネットワーク・パーソナル映像サーバ（１０５）によってトリガされる「再同期」ステップ（９６０）と、
−「映像バッファを空にする」ステップ（９６１）と、
−「放送受信開始」ステップ（９６５）と、
−「放送再生」状態（４１０）と、
−以前にセットされた再生タイマー（８７５）の期間満了によってトリガされる「再生タイマー」ステップ（９７０）と、
−映像バッファ（１２０）内の最後の映像フレームの識別子の値を含むローカル変数の値を検索するステップ（９７５）と、
−プレーヤ（１３０）によって早送りモードで再生すべき次のフレームが映像バッファ（１２０）内で入手可能かどうかをチェックする判定ステップ（９８０）と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ（９８２）と、
−ネットワーク・パーソナル映像サーバ（１０５）に対して、指示されたフレームｉｄから開始して映像フレームを早送りモードでストリーミングするように命令するメッセージを生成する、「ＲＴＳＰ早送り開始」ステップ（９８５）と、
−映像バッファ（１２０）内に格納された映像フレームを指示されたフレーム識別子を有する映像フレームから開始して再生するため、及び「再生タイマー」をセットするためのステップ（９９０）と
を含む。
【００４６】
システムは「早送り再生」状態（４４０）にあるとき、５つのイベントを受信することができる。即ち、
−「一時停止」コマンド（４４４）の発行によってトリガされる「一時停止」イベント（９１０）。システムは次にサーバ録画がアクティブであるかどうかをチェックする（９１５）。サーバ録画がアクティブであれば、コマンド「ＲＴＳＰ停止」がネットワーク・パーソナル映像サーバ（１０５）に送信される（９１８）。アクティブでなければ、映像バッファ（１２０）の負荷の検証ができるようにタイマーＴ１がセットされる（９１７）。両方の場合共、システムはその後「一時停止」状態（４２０）に入る。
−「再生」コマンド（４４２）の発行によってトリガされる「再生」イベント（９２０）。システムは次にサーバ録画がアクティブであるかどうかをチェックする（９２２）。サーバ録画がアクティブであれば、コマンド「ＲＴＳＰ再生」がネットワーク・パーソナル映像サーバ（１０５）に送信される（９２５）。次いで、システムは「シフト再生」状態（４３０）に入る。サーバ録画がイナクティブである場合には、システムは直接「シフト再生」状態（４３０）に入る。
−「停止」コマンド（４３３）の発行によってトリガされる「停止」イベント（９３０）。サーバ録画がアクティブであれば（９３５）、コマンド「録画停止」がネットワーク・パーソナル映像サーバ（１０５）に送信される（９５５）。アクティブでなければ、放送映像フレームの受信が停止され（９４０）、タイマーＴ１がキャンセルされる（９４５）。両方の場合共、次いで映像バッファが空にされ（９５０）、システムは「アイドル」状態（４００）に入る。
−早送りモードでストリーミングされる次の映像フレームが放送サーバ（１０３）によって放送される映像フレームと同期しているときにネットワーク・パーソナル映像サーバ（１０５）によって送信される、「再同期」イベント（９６０）。次いで映像バッファ（１２０）は空にされ（９６１）、受信された放送フレームで映像バッファ（１２０）を満たすように、「放送受信開始」コマンドが送信される（９６５）。次いで、システムは「放送再生」状態（４１０）に入る。
−ローカルの映像バッファ（１２０）内又はネットワーク・パーソナル映像サーバ（１０５）によって管理される遠隔ストレージ内のいずれかにある映像フレームが消尽したかどうかをチェックするためにトリガされる「再生タイマー」イベント（９７０）。再生タイマーが期間満了すると、再生すべき映像フレームが映像バッファ（１２０）から抽出され、ローカル変数が映像バッファ（１２０）内の最後の映像フレームのフレーム識別子（フレームＩｄ）で初期化される。「フレームＩｄ＋ｎ」と等しいフレーム識別子を有する次に再生すべきフレームが映像バッファ（１２０）内で入手可能かどうかを検証するためのチェックが実行され（９８０）、ここで「ｎ」は早送りでスキップされるフレームの数に予測係数を乗じた値である。「フレームＩｄ＋ｎ」が映像バッファ（１２０）内にあれば、フレーム識別子「フレームＩＤ」を有する映像フレームが再生され、「再生タイマー」は再初期化され（９９０）、システムは「早送り再生」状態（４４０）に留まる。「フレームＩｄ＋ｎ」が映像バッファ（１２０）に存在せず、且つサーバ録画がアクティブである場合には（９８２）、「ＲＴＳＰ早送りをフレーム「フレームＩｄ＋ｎ」から開始」が映像サーバに送信され（９８５）、次に、以前に抽出された「フレームＩＤ」が再生され、「再生タイマー」が再初期化される（９９０）。「フレームＩｄ＋ｎ」がバッファ内に存在せず、「サーバ録画」がアクティブでない場合は、その時点で早送りと放送映像ストリームとが同期していることを意味する。その場合は映像バッファ（１２０）が空にされ（９６１）、受信された放送映像フレームで映像バッファ（１２０）を満たすように、「放送受信開始」が送信される（９６５）。次いで、システム状態は「放送再生」状態（４１０）にセットされる。
【００４７】
別の実施形態は、放送映像ストリームの録画をローカル・ストレージから遠隔ストレージへと自動的に切り換える方法であって、ローカル・ストレージが殆ど一杯であるという事実によって切換がトリガされる方法と、放送映像ストリームの遅延方式での再生をローカル・ストレージから遠隔ストレージへと自動的に切り換える方法であって、ローカル・ストレージ内の映像フレームが消尽したか又は殆ど消尽したという事実によって切換がトリガされる方法とを含む。携帯電話上で、コンテンツを一方でＳＩＭカード上に、又は他方でＳＤカード上に格納して、タイム・シフトＴＶを実施することが可能である。この機能は、特にユーザが携帯でＴＶを見ていて、そこに着信が入ったときに非常に有用である。しかしＳＩＭカードのサイズ（６５ＭＢ、２５６ＭＢ）又はＳＤカードのサイズは限られている。しかも、５００Ｋｂ／ｓで５分間のあいだに格納される映像に対応するファイルのサイズは２０ＭＢである。コンテンツは、パーソナル・ビデオ・レコーダを用いて、ＳＩＭカード又はＳＤカード上にローカルに格納することができる。コンテンツは、ネットワーク内のサーバにネットワーク・パーソナル映像サーバ（ｎＰＶＲ）として格納することができる。しかしながら、１つの録画システムから別の録画システムへと簡便に、且つユーザからのアクションなしにスワップする方法又はシステムは存在しない。解決策は、映像プレーヤを新たなアプリケーション層コンポーネントである動的タイム・シフト・ハンドラ（ＤＴＳ）によって拡張することである。このコンポーネントは、種々のソース（ローカル、放送、又はｎＰＶＲ）からタイム・シフトしながら、映像プレーヤのバッファを動的に管理する。したがって、ストレージが限られたデバイス上で動的タイム・シフト映像再生を管理することが可能になる。
【００４８】
本発明は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態、又はハードウェア要素とソフトウェア要素の両方を含む実施形態の形態を取ることができる。１つの好ましい実施形態において、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアに実装される。
【００４９】
さらに、本発明は、コンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能な、コンピュータ若しくはいずれかの命令実行システムによって又はこれらと共に使用するためのプログラム・コードを提供する、コンピュータ・プログラムの形態を取ることができる。本記述の目的に関して、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置、若しくはデバイスによって又はこれらと共に用いるためのプログラムを収容し、格納し、通信し、伝搬し、又は転送することができるいずれかの装置とすることができる。
【００５０】
媒体は、電子、磁気、光学、電磁気、赤外線、若しくは半導体のシステム（又は装置若しくはデバイス）、又は伝搬媒体とすることができる。コンピュータ可読媒体の例として、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、剛性磁気ディスク、及び光ディスクが挙げられる。現在の光ディスクの例として、コンパクトディスク−読み出し専用メモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−読み出し／書き込み（ＣＤ−Ｒ／Ｗ）、及びＤＶＤが挙げられる。
【００５１】
プログラム・コードを格納及び／又は実行するのに適したデータ処理システムは、システム・バスを介してメモリ要素に直接又は間接に接続された少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを取得しなければならない回数を減らすために少なくとも幾つかのプログラム・コードの一時的な記憶場所となるキャッシュ・メモリとを含むことができる。
【００５２】
入力／出力デバイス又はＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらに限定されない）は、直接に又は介在するＩ／Ｏコントローラを通じて、システムに接続することができる。
【００５３】
ネットワーク・アダプタをシステムに接続して、データ処理システムが、介在する私設ネットワーク又は公衆ネットワークを通じて他のデータ処理システム又は遠隔プリンタ若しくは記憶装置に接続できるようにすることもできる。モデム、ケーブル・モデム、及びイーサネット（登録商標）カードは、現在利用可能なタイプのネットワーク・アダプタのほんの一部にすぎない。
【符号の説明】
【００５４】
１００：ポータブル・コンピュータ・システム
１０３：放送サーバ
１０５：ネットワーク・パーソナル映像サーバ
１１０：放送映像ソース
１１５：ＲＴＳＰ映像ソース
１２０：映像バッファ
１２５：コマンド・ハンドラ
１３０：プレーヤ
１４０：キーボード
【図１】
0005536779.tif 000002
【図２】
0005536779.tif 000003
【図３】
0005536779.tif 000004
【図４】
0005536779.tif 000005
【図５】
0005536779.tif 000006
【図６】
0005536779.tif 000007
【図７】
0005536779.tif 000008
【図８】
0005536779.tif 000009
【図９】
0005536779.tif 000010