説明

移動体デバイス上で映像を再生するための方法及びシステム

【課題】 放送映像ストリームを移動体デバイス上で再生するための方法及びシステムを提供すること。
【解決手段】 本発明は、放送映像ストリームの録画をローカル・ストレージから遠隔ストレージへと自動的に切り換えるシステム及び方法であって、ローカル・ストレージが殆ど一杯である事実によって切換がトリガされるシステム及び方法と、放送映像ストリームの遅延方式での再生をローカル・ストレージから遠隔ストレージへと自動的に切り換えるためのシステム及び方法であって、ローカル・ストレージ内の映像フレームが消尽したという事実によって切換がトリガされるシステム及び方法を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、放送映像ストリームを移動体デバイス上で再生するための方法及びシステムに関する。
【背景技術】
【0002】
放送移動体TV技術は、容量及び品質を最適化して、既存のオペレータ・ネットワークを補完するものである。この技術は、音声通話及びインターネット・アクセスに加えて高品質な地上波デジタル放送を全て単一の無線デバイスの中で楽しむ機会を消費者に提供する。放送移動体TVは、移動体サービス・プロバイダ、コンテンツ及び放送会社、インフラストラクチャ及び携帯端末の製造者、並びにテクノロジ・プロバイダに新たなビジネスチャンスを提供することになる。
【0003】
DVB−H(Digital Video Broadcast for Handheld)によるIPデータキャストは、計算処理リソース及びバッテリに制限があるデバイスに関して最適化されたIPベースの機構を用いて、任意の種類のデジタル・コンテンツ及びサービスを配信するためのエンド・ツー・エンド方式の放送システムである。IPDC(IPデータキャスト)システムの固有の部分は、双方向移動体/セルラー方式の対話パスと組み合わせることができる、片方向DVB放送パスを含むということである。したがって、IPDCは、放送/メディアのサービスと遠隔通信ドメイン(例えば移動体/セルラー)のサービスとを1つにまとめることを可能にするために用いることができるプラットフォームである。
【0004】
IPDCファイル配信方法はFLUTEプロトコルに基づいている。FLUTE(File Delivery over Unidirectional Transport)がこの機能のために用いられることになる。基本的な配信プロトコルに加えて、提案されるファイル配信ソリューションは、どのようにFLUTEが用いられるかを指定する他の部分をさらに含む。ファイル配信の目的は、ファイル内のコンテンツを配信することである。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、放送映像ストリームを移動体デバイス上で再生するための方法及びシステムを提供することにある。
【課題を解決するための手段】
【0006】
本発明の第1の態様によれば、映像フレームを再生するための方法が提供される。フレームの各々は数値識別子に関連付けられている。方法は、
−放送サーバに関連付けられた第1の入力ストリームから、第1の識別子に関連付けられた第1のフレームを受信するステップと、
−第1のフレームを第1のキューに格納するステップと、
−第1のキューからの映像フレームのデキューが停止された第1のイベントを検出するステップと、
−第1のキューの負荷が第1の所定の閾値を超えた第2のイベントを検出するステップと、
−外部サーバ上にホストされる第2の外部キューに放送サーバからの映像フレームを録画することを指示する第1のメッセージを出力メッセージ・ハンドラに送信するステップと、
−第2の識別子に関連付けられた第2のフレームが第2の外部キューに格納されたことを示す第2のメッセージを受信するステップと、
−第1のキューからの映像フレームのデキューが開始された第3のイベントを検出するステップと、
−以前に録画された映像フレームをストリーミングすることを外部サーバに指示する第3のメッセージを出力メッセージ・ハンドラに送信するステップと
を含む。
【0007】
この態様の利点は、本方法が、ローカル・キューが殆ど一杯になった時点を検出し、更なるユーザ対話の必要なしに、追加のストレージを有する遠隔サーバに対してその時点からの録画を引き継ぐことを自動的に指示するという点である。この態様の別の利点は、映像再生が一時停止されているときに放送された映像フレームをローカル・キュー又は遠隔キューのいずれかにバッファリングすることによって、放送ストリームの遅延再生が可能となる点である。この態様の更に別の利点は、再生が、映像フレームをローカル・キューからデキューすることができ、ローカル・キューが殆ど空になった時点で、ユーザからの更なる介入なしに自動的に外部キューに切り換えられるという点である。
【0008】
第1の態様の第1の展開では、第3のメッセージを送信するステップにおいて、パーソナル・サーバによって送信される映像フレームは、第2の識別子の数値より大きい又はそれに等しい数値を有する更なる識別子に関連付けられる。
【0009】
利点は、外部サーバが、実際に必要な映像フレームのみをストリーミングするという点である。
【0010】
第1の態様の第2の展開において、第2のメッセージを受信するステップの後で、第2の識別子の数値より大きい又はそれに等しい数値を有する識別子に関連付けられた映像フレームは廃棄される。
【0011】
利点は、ローカル・キューの負荷が最小限に保たれるという点である。
【0012】
第1の態様の第3の展開において、本方法は、第2の入力ストリームから、第3の識別子に関連付けられた第3のフレームを受信するステップをさらに含む。
【0013】
利点は、外部サーバに格納された映像フレームがローカルの映像プレーヤにストリーミングされるという点である。
【0014】
第1の態様の第4の展開において、本方法は、第1のキューの負荷が第2の所定の閾値を下回った第4のイベントを検出するステップをさらに含む。
【0015】
利点は、最適化された方法でローカル・ストレージから遠隔ストレージに映像再生を切り換えることが可能である点である。
【0016】
本発明の第2の態様によれば、本発明の第1の態様による方法の各ステップを実行するように適合された手段を備えた装置が提供される。
【0017】
利点は、この装置が非常に容易に得られるので、そのため、本方法の実行が容易になるという点である。
【0018】
本発明の第3の態様によれば、コンピュータ上で実行されたときに本発明の第1の態様による方法のステップを実行するための命令を含む、コンピュータ・プログラムが提供される。
【0019】
利点は、本発明を容易に再現することができ、かつ異なるコンピュータ・システム上で実行することができるという点である。
【0020】
本発明の第4の態様によれば、本発明の第3の態様によるコンピュータ・プログラムがエンコードされたコンピュータ可読媒体が提供される。
【0021】
利点は、この媒体を用いて本方法を種々の装置に容易にインストールすることができる点である。
【0022】
本発明の更なる利点は、図面及び詳細な説明を検討すれば当業者には明らかとなるであろう。いかなる付加的な利点もその中に組み入れられることが意図される。
【0023】
以下、本発明の実施形態を添付の図面を参照して例として説明するが、図中、類似の参照符号は同様の要素を示す。
【図面の簡単な説明】
【0024】
【図1】本発明を実装することができるシステムを示す。
【図2】本発明の実装における、異なるストリームで流れる幾つかの映像フレームのシーケンスを示す。
【図3】本発明の実装に含まれる異なるコンポーネント間で交換されるメッセージのフローを示す。
【図4】本発明の実装に関連付けられた最終的な状態機械を示す。
【図5】本発明の実装における、放送映像フレームを再生するための主ステップを有するプロセスを示す。
【図6】本発明の実装における、放送映像フレームの再生を停止又は一時停止するための主ステップを有するプロセスを示す。
【図7】本発明の実装における、一時停止状態の間に放送映像フレームを録画するための主ステップを有するプロセスを示す。
【図8】本発明の実装における、タイム・シフト・モードで映像フレームを再生するための主ステップを有するプロセスを示す。
【図9】本発明の実装における、早送りモードで映像フレームを再生するための主ステップを有するプロセスを示す。
【発明を実施するための形態】
【0025】
図1は、本発明を実装することができるシステムを示し、このシステムは、
−ネットワークに接続するように適合されたポータブル・コンピュータ・システム(100)と、
−ネットワーク上に映像フレームを放送する放送サーバ(103)と、
−ネットワークに接続するように適合された、映像フレームの録画及びストリーミングのためのネットワーク・パーソナル映像サーバ(105)と
を含む。
ポータブル・コンピュータ・システム(100)は、
−放送映像フレームのストリームに接続するための放送映像ソース(110)と、
−映像フレームのストリームを受信するためのリアルタイム・ストリーミング・プロトコル(RTSP)映像ソース(115)と、
−映像フレームを格納するための映像バッファ(120)と、
−ストリーミング・メディア・サーバを遠隔的に制御するためのRTSPコマンドを送信するため、及びポータブル・コンピュータ・システムの他のコンポーネントにコマンドを送信するためのコマンド・ハンドラ(125)と、
−映像フレームを再生するためのプレーヤ(130)と、
−ユーザからの入力を受信するためのキーボード(140)と
を含む。
【0026】
ポータブル・コンピュータ・システム(100)は、放送サーバ(103)によって映像フレームが放送されているネットワークに接続することができる。ポータブル・コンピュータ・システム(100)はまた、ネットワーク・パーソナル映像サーバ(105)に接続して、ストリーミングされた映像フレームをRTSP映像ソース(115)で受信することもできる。ポータブル・コンピュータ・システム(100)は、コマンド・ハンドラ(125)コンポーネントによって、ネットワーク・パーソナル映像サーバ(105)との間でコマンドを送受信する。放送映像ソース(110)は、放送映像フレームをネットワークから受信する。映像バッファ(120)は、放送映像ソース(110)又はRTSP映像ソース(115)において受信された映像フレームを収集する。映像バッファ(120)はキューの役割を果たす。キューの中のアイテムは、先入れ先出し方式又は先入れ後出し方式で取り出すことができる。取り出された要素は、取り出された時点で削除されてもよく、又は削除されなくてもよい。本発明の実施形態の特定の実装の要件に基づいて、いずれかのキューイング機構を用いることができる。プレーヤ(130)は、映像フレームを映像バッファ(120)から引き出し、デコードして、映像としてレンダリングする。コマンド・ハンドラ(125)は、キーボード(140)からキーボード・イベントを受信し、これらを解釈して、コマンドをネットワーク・パーソナル映像サーバ(105)、RTSP映像ソース(115)、放送映像ソース(110)、及び映像バッファ(120)に送信する。コマンド・ハンドラ(125)は、ネットワーク・パーソナル映像サーバ(105)からメッセージ又はイベントを取得することができる。
【0027】
ポータブル・コンピュータ・システム(100)は、ネットワークに無線で接続された移動体デバイスであり、ユーザに対して映像をレンダリングするのに適している。映像データは、放送サーバ(103)又はネットワーク・パーソナル映像サーバ(105)から受信される。ネットワーク・パーソナル映像サーバ(105)は、ポータブル・コンピュータ・システム(100)の必要に供するために確保されたストレージ空間を含む。このストレージ空間は、1つ又は複数のストレージ設備内に置くことができる。ネットワーク・パーソナル映像サーバ(105)は、放送映像フレームへのネットワーク・アクセス権を有する。ネットワーク・パーソナル映像サーバ(105)は、ファイルへの時間ベースでのアクセスを可能にする。ネットワーク・パーソナル映像サーバ(105)は、ネットワークから受信したコマンドに応答して、映像フレームのストリームを配信することができる。こうしたコマンドはメッセージ又は要求の形をとることができる。それらのコマンドは、1つ又は複数のメディア・ストリームを再生させる再生コマンドと、1つ又は複数のメディア・ストリームを一時的に停止させるが、後で再生要求により再開することができる一時停止コマンドと、格納するストリームをサーバに指示する録画コマンドと、セッションを終了して1つ又は複数のメディア・ストリームを停止させるための、停止又は破棄(teardown)要求又はメッセージとを含む。RTSPプロトコルは、上記のコマンドを実装するために一般に用いられるプロトコルである。メディア・ストリーム自体は、例えばリアルタイム転送プロトコル(RTP)によって配信することができる。映像フレームは、ポータブル・コンピュータ・システム(100)の映像バッファ(120)内にローカルに格納される。ネットワーク・トラフィックは特に無線ネットワーク接続の場合には非常に不規則になりかねないが、こうすることで、より円滑な映像レンダリングが可能になる。映像フレームは、MPEG4又はH.264といったいずれかの映像エンコード方式を用いてエンコードすることができる。コマンド・ハンドラ(125)は、コマンドをシステムの種々のコンポーネントにディスパッチする。コマンド・ハンドラ(125)はまた、それらのコンポーネントの状態を監視し又はそれらからイベントを受信して、適切なアクションを取ることができる。ポータブル・コンピュータ・システム(100)は、DVB−H又はT−DMBを用いて放送テレビジョンを受信するための機能を含む。受信されたTVチャンネル画像は映像バッファ(120)を満たし、H.264デコーダはこれを用いて、受信された画像を復元してプレーヤ(130)に渡す。キーボード(140)を用いて、ユーザ指示がコマンド・ハンドラ(125)に送信される。これらの指示は、以下の指示であり得る。
−映像チャンネルの再生の「開始(Start)」。
−映像チャンネルの再生の「停止(Stop)」(1つのチャンネルから別のチャンネルへザッピングするには、まず、最初のチャンネルを「停止」し、次いで新たなチャンネルを「開始」する必要がある)。
−「一時停止(Pause)」。これは(例えば通話中に)画面上の画像を静止させるが、映像バッファを選択されたTVチャンネルから受信した画像で満たすことは続ける。
−「再生(Play)」は《一時停止》の後で再生を再開するために用いることができ、この場合には、本発明の実施形態によるシステムは、映像が一時停止されたところから再開するために、映像をタイム・シフト・モードで再生することになるが、このコマンドはTVチャンネルの通常の受信には影響を及ぼさず、ユーザによって生成されても無視される。
−「早送り(Fast Forward)」は録画されたチャンネルをより高速で、例えば4倍速、6倍速、8倍速、又は他のいずれかの速度で再生することを可能にする。「早送り」モードにおいて全ての録画された映像画像が消費されると、端末は自動的に通常モードに切り換えられ、選択されたTVチャンネルが同期的に再生される。「早送り」モード中の「再生」コマンドは録画されたチャンネルの再生を通常速度で再開し、一方、《一時停止》は画面の画像を静止させる。
【0028】
キーボード(140)はユーザ入力デバイスとして用いられる。代替的に、この入力デバイスは、マウス、音声認識システム、タッチスクリーン、又はユーザが対話することができるいずれかのデバイスとすることができる。
【0029】
図2は、以下のストリームを含む異なるストリームで流れる幾つかの映像フレームのシーケンスを示す。
−放送サーバ(103)によって放送されるライブ・フィード(200)又は放送ストリーム。
−ネットワーク・パーソナル映像サーバ(105)によってストリーミングされる遠隔ストリーム(220)。
−映像バッファ(120)からストリーミングされるローカル・ストリーム(230)。
全てのストリームは映像フレームのシーケンスを含む。各々の映像フレームは、フレーム識別子、即ちフレームidに関連付けられる。このフレームidを用いて、特定の映像フレームが一意に識別される。これは典型的には数値である。遠隔ストリーム(220)及びローカル・ストリーム(230)は両方共、放送ストリームからのコピーであるので、ローカル・ストリーム(230)又は遠隔ストリーム(220)の中のどの映像フレームについても、同じフレームidを有する対応する映像フレームがライブ・フィード(200)の中に存在する。本発明の実施形態によれば、ポータブル・コンピュータ・システム(100)は、映像をタイム・シフト・モードで再生するときにローカル・ストリーム(230)から遠隔ストリーム(220)に切り換える。ローカル映像バッファ(120)の中に含まれる最後の映像フレームは、ネットワーク・パーソナル映像サーバ(105)によってストリーミングされる遠隔ストリーム(220)の中の最初の映像フレームと共通のフレームidを共有する。連続する映像フレームのidの値は、時間(205)の関数として設定することができる。典型的な関数は、連続する映像フレーム毎にフレームidを1ずつ増やすことである。映像フレームは、選択されたエンコード方式に従って、Iフレーム、Pフレーム、又はSフレームとすることができる。
【0030】
図3は、本発明の実装に含まれる異なるコンポーネント間で交換されるメッセージのフローを示し、この図は、
−指示を送信する操作者(300)と、
−ポータブル・コンピュータ・システム(100)又は移動体機器と、
−コマンド・ハンドラ(125)と、
−プレーヤ(130)と、
−映像バッファ(120)と、
−放送サーバ(103)によって送信された映像放送ストリーム(320)と、
−パーソナル・ビデオ・レコーダ(PVR)又はビデオ・オン・デマンド(VOD)サーバとも呼ばれるネットワーク・パーソナル映像サーバ(105)と
を含む。
操作者(300)は、ユーザ入力デバイス(例えばキーボード(140))によって、コマンド・ハンドラ(125)に以下の指示、
−チャンネルyを再生するための「チャンネルy再生」(340)、
−チャンネルyの再生を一時的に停止するための「チャンネルy一時停止」(350)、
−選択されたチャンネル、ここではチャンネルyの再生を再開するための「再生」(360)
を送信することができる。
映像放送ストリーム(320)は、フレームid x(322)、フレームid x+6(326)、フレームid n(327)を有する映像フレーム(322、326、327)を含み、以下同様である。
コマンド・ハンドラ(125)は以下のコマンドを送信する。
−放送映像ソース(110)に対する、放送フレーム又はライブ・フィード(200)を映像バッファ(120)内に格納する「放送受信開始」(341)。
−プレーヤ(130)に対する、「再生開始」(342)及び「再生停止」(351)。
−ネットワーク・パーソナル映像サーバ(105)に対する、ネットワーク・パーソナル映像サーバ(105)に特定のチャンネル、ここではチャンネルy、を録画するように命令するための「チャンネル録画開始」(352)。
−映像バッファ(120)に対して、指定のフレームidを有する映像フレーム、ここではフレームid x+6及びフレームid x+7を有するフレームをストレージから廃棄するように命令するために送信される「フレーム廃棄」(356)。コマンド・ハンドラ(125)は、放送映像ソース(110)に対しても、放送ストリーム(320)からの切断を命令する。
−ネットワーク・パーソナル映像サーバ(105)に対して、指示される値、ここではx+6よりも大きい又はそれと等しい値を有するフレームidの映像フレームをストリーミングするように命令するために送信される「フレームidのRTSP再生」(364)。
コマンド・ハンドラ(125)は、ネットワーク・パーソナル映像サーバ(105)からのメッセージ、即ち、指定のフレームid(ここではx+6)を有する映像フレームがライブ・フィード(200)から正しく録画されたことを通知する「フレームid通知」(354)を受信する。
【0031】
映像バッファ(120)は放送サーバ(103)から放送映像ソース(110)を介して映像フレームを受信し、且つネットワーク・パーソナル映像サーバ(105)からRTSP映像ソース(115)を介して映像フレームを受信する。コマンド・ハンドラ(125)は、映像バッファ(120)に対して、どのソースから映像フレームを格納するべきかを命令する。映像バッファ(120)は、コマンド・ハンドラ(125)からフレーム廃棄(356)コマンドを受信したときは指定されたフレームid(ここではx+6及びx+7)を有する映像フレームをメモリから削除し、放送映像ソース(110)からの映像フレームの録画を停止する。
【0032】
ネットワーク・パーソナル映像サーバ(105)は、コマンド・ハンドラ(125)から幾つかのコマンドを受信することができる。チャンネル録画開始(352)コマンドを受信すると、ネットワーク・パーソナル映像サーバ(105)は指定されたライブ・フィード(200)に接続し、ストリーミングされる映像フレームの録画を開始する。映像フレームの録画に成功した後、ネットワーク・パーソナル映像サーバ(105)はこの映像フレームのフレームidをコマンド・ハンドラ(125)に対してフレームid通知(354)メッセージを通じて送信する。フレームidのRTSP再生(364)コマンドを受信すると、ネットワーク・パーソナル映像サーバ(105)は、指定されたフレームidから始まる映像フレームをストリーミングし、この指定されたフレームidは一般にメッセージ(354)で通知されたフレームidと同一であるが、異なる場合もある(例えば、早送り再生コマンドの場合には、ネットワーク・パーソナル映像サーバ(105)は後のフレームのストリーミングを開始することができる)。
【0033】
一時停止イベントに応答して、ポータブル・コンピュータ・システム(100)は放送映像ストリームからネットワーク・パーソナル映像サーバ(105)のストリームへとシフトする。このシフトは、放送映像が再生されており、かつ一時停止イベントが、操作者(300)の命令、又は着信が入って操作者(300)が映像を鑑賞し続けることが不可能になったことのいずれかの理由で検出されたときにトリガされる。ポータブル・コンピュータ・システム(100)上で映像が一時停止された時点と、ネットワーク・パーソナル映像サーバ(105)が放送ストリーム(320)からの録画を開始する時点との間には遅延が存在する。本発明の実施形態において、この遅延の間に放送されたフレームはローカル映像バッファ(120)内に格納されるので、再生(360)コマンドがタイム・シフト再生モードで再び命令された時点でどのフレームも失われていない。
【0034】
この交換されるメッセージ及びコマンドのフローは、システムが、一時停止中又はタイム・シフト再生モード中に放送されたものまで含めて、ライブ・フィード(200)で放送された全ての連続した映像フレームを取り込み、これをプレーヤ(130)に配信することを可能にする。タイム・シフト・モードで映像を再生するときには、映像フレームはネットワーク・パーソナル映像サーバ(105)によってストリーミングされ、RTSP映像ソース(115)を介して受信される。それらは次に映像バッファ(120)にコピーされる。ネットワーク・パーソナル映像サーバ(105)は、他の命令がない限り、放送ストリームからの映像フレームの録画を続行する。
【0035】
図4は、本発明の実装に関連付けられた最終的な状態機械を示し、この最終的な状態機械は以下の状態を含む。
−ポータブル・コンピュータ・システム(100)が、再生する(401)TVチャンネルが選択されるまでアイドル状態のままでいる、「アイドル」状態(400)。
−放送映像の再生中、又は同期TVチャンネル再生中の状態である、「放送再生」状態(410)。
−コマンド・ハンドラ(125)によって「一時停止」コマンドが受信された後の状態である、「一時停止」状態(420)。この状態においては、放送映像ストリームは、映像バッファ(120)、ネットワーク・パーソナル映像サーバ(105)、又はその両方に録画される。
−録画されたライブ・フィード(200)の再生(タイム・シフト・モード)に対応する、「シフト再生」状態(430)。
−録画されたライブ・フィード(200)の再生(タイム・シフト・モード)を早送りで行うことに対応する「早送り再生」状態(440)。
−システムの電源が投入された時点である、「開始」状態(450)。
システムが「アイドル」状態(400)にあり、かつ「再生」コマンド(401)が受信されたときには、システムは、「放送再生」状態(410)に入る。
システムが「放送再生」状態(410)にあり、かつ
−「停止」コマンド(411)が受信されたときには、システムは「アイドル」状態(400)に入り、
−「一時停止」コマンド(412)が受信されたときには、システムは「一時停止」状態(420)に入る。
システムが「一時停止」状態(420)にあり、かつ
−「停止」コマンド(421)が受信されたときには、システムは「アイドル」状態(400)に入り、
−「再生」コマンド(422)が受信されたときには、システムは「シフト再生」状態(430)に入る。
システムが「シフト再生」状態(430)にあり、かつ
−「一時停止」コマンド(432)が受信されたときには、システムは「一時停止」状態(420)に入り、
−「停止」コマンド(433)が受信されたときには、システムは「アイドル」状態(400)に入り、
−「早送り」コマンド(434)が受信されたときには、システムは「早送り再生」状態(440)に入る。
システムが「早送り再生」状態(440)にあり、かつ
−「再生」コマンド(442)が受信されたときには、システムは「シフト再生」状態(430)に入り、
−「停止」コマンド(443)が受信されたときには、システムは「アイドル」状態(400)に入り、
−「再同期(resynch)」コマンド(441)が受信されたときには、システムは「放送再生」状態(410)に入り、このような「再同期」コマンドは、システムが放送ストリームと再同期し、放送されているチャンネルの再生を同期モードで開始するために命令されるものであり、
−「一時停止」コマンド(444)が受信されたときには、システムは「一時停止」状態(420)に入る。
電源が投入されたとき、ポータブル・コンピュータ・システム(100)は「開始」状態(450)に入る。「アイドル」状態(400)に入るために、システムは「初期化(init)」アクション(451)を実行する。
【0036】
「再生」コマンド(401)は選択されたチャンネルの再生を開始する。「停止」コマンド(411)はTV再生を中断させる。「一時停止」コマンド(412)はTV画像を静止させ、TVチャンネルの録画を開始する。「停止」コマンド(421)はTV録画を中断させ、関与した全てのバッファを空にするする。「再生」コマンド(422)は中断された画像又は映像フレームのところで映像再生を再開する。「一時停止」コマンド(432)はTV画像を静止させ、TVチャンネルの録画を続行する。「停止」コマンド(433)はTV再生及び録画を中断させ、関与した全てのバッファを空にする。「早送り」コマンド(434)は録画された映像を加速された速度で再生する。「再同期」コマンド(441)は、映像バッファ又はネットワーク・パーソナル映像サーバ(105)内に格納された全ての画像が映像プレーヤによって消費された時点で、ネットワーク・パーソナル映像サーバ(105)によって又は内部的に生成される。次いでコマンド・ハンドラ(125)が、ポータブル・コンピュータ・システム(100)に対して同期TVチャンネル再生を再開するように命令する。「再生」コマンド(442)は、中断された画像又は映像フレームのところで映像再生をタイム・シフト方式で再開する。「停止」コマンド(443)はTV録画を中断させ、関与した全てのバッファを空にする。「一時停止」コマンド(444)はTV画像を静止させるが、TVチャンネルの録画は続行される。
【0037】
図5は、放送映像フレームを再生するための主ステップを有するプロセスを示し、このプロセスは、
−「開始」状態(450)と、
−「初期化」ステップ(510)と、
−「アイドル
」状態(400)と、
−チャンネルxを再生する命令を受信することによって始動される「チャンネルx再生」ステップ(530)と、
−放送映像フレームの受信が開始されたことを示すイベントを生成することを含む、「放送受信開始」ステップ(540)と、
−「放送再生」状態(410)と
を含む。
【0038】
「初期化」ステップ(510)のあいだに、TV放送の受信プロトコルがDVB−H又はT−DMBに初期化され、電子番組表が受信され、利用可能なチャンネルの表示及び選択が可能になる。次いで、ポータブル・コンピュータ・システム(100)は「アイドル」状態(400)にセットされ、チャンネルの選択を待つ。「チャンネルx再生」ステップ(530)が、チャンネルxの選択、及び「再生」コマンドに関連付けられたキーを押すことによって始動される。「放送受信開始」ステップ(540)は、映像バッファを選択されたチャンネルから受信された映像フレームで満たす。最後に、ポータブル・コンピュータ・システム(100)は「放送再生」状態(410)に入る。
【0039】
図6は、放送映像フレームの再生を停止又は一時停止するための主ステップを有するプロセスを示し、このプロセスは、
−「放送再生」状態(410)と、
−「停止」コマンドの受信又は「停止」イベントの検出によって始動される「停止」ステップ(610)と、
−放送映像フレームの受信が停止されたことを示すイベントを生成することを含む、「放送受信停止」ステップ(620)と、
−「映像バッファを空にする」ステップ(630)と、
−「アイドル」状態(400)と、
−「一時停止」コマンドの受信又は「一次停止」イベントの検出によって始動される「一時停止」ステップ(650)と、
−「タイマーT1セット」ステップ(660)と、
−「一時停止」状態(420)と
を含む。
「放送再生」状態(410)にある間は、2つのイベントを受信することができる。即ち、
−「停止」ステップ(610)をトリガする「停止」イベント。これは以前に選択されたチャンネルで映像バッファを満たすことを停止させる(620)。次に映像バッファ(120)はバッファ消去される(630)。最後に、移動体端末が「アイドル」状態(400)にセットされる。
−「一時停止」ステップ(650)をトリガする「一時停止」イベント。これはTV画像を静止させ、TVチャンネルの録画を開始する。次いで、映像バッファ(120)の空きレベル(filling level)を定期的に制御するため、及び所定の閾値に達したかどうかをチェックするために、タイマーT1が作動される(660)。次いでポータブル・コンピュータ・システム(100)は「一時停止」状態(420)に入る。
【0040】
図7は、「一時停止」状態の間に放送映像フレームを録画するための主ステップを有するプロセスを示し、このプロセスは、
−「一時停止」状態(420)と、
−タイマーT1が期間満了になったイベントの検出に対応する「タイマー期間満了」ステップ(710)と、
−映像バッファ(120)の負荷をチェックする「映像バッファ閾値超過」ステップ(715)と、
−「タイマーT1セット」ステップ(720)と、
−「サーバ映像録画開始」ステップ(725)と、
−ネットワーク・パーソナル映像サーバ(105)が指示されたフレームidを有する映像フレームの録画に成功したことを示すイベント又はメッセージを、コマンド・ハンドラ(125)が受信することによって始動される「映像フレームid録画通知」ステップ(730)と、
−ポータブル・コンピュータ・システム(100)を更新するための「フレームid保存」ステップ(731)と、
−放送映像フレームの受信が停止されたことを示すイベントを生成することを含む「放送映像受信停止」ステップ(735)と、
−「タイマーT1キャンセル」ステップ(736)と、
−「停止」コマンド(421)を受信することによってトリガされる「停止」ステップ(740)と、
−サーバ録画がアクティブであるかどうかをチェックするステップ(745)と、
−サーバ映像録画を停止するステップ(750)と、
−映像バッファを空にするステップ(755)と、
−「アイドル」状態(400)と、
−「再生」コマンド(422)を検出することによってトリガされる「再生」ステップ(760)と、
−「タイマーT1キャンセル」ステップ(775)と、
−「シフト再生」状態(430)と
を含む。
【0041】
「一時停止」状態(420)にある間は、4つのイベントを受信することができる。即ち、
−映像バッファ(120)の負荷を所定の閾値に対してチェックしなければならないこと(715)を示す「タイマーT1期間満了」(710)。閾値を超えていれば、ネットワーク・パーソナル映像サーバ(105)に対して映像録画を開始(725)させるコマンド(352)が送信される。負荷がまだ閾値より下であれば、再びT1が期間満了したときに同じチェックが行われるように、タイマーT1がセットされる(720)。システムは「一時停止」状態(420)に留まる。
−「録画開始」要求(352)の受信により、ネットワーク・パーソナル映像サーバ(105)によって映像フレームが録画されることに対応するイベント(730)。最初のサーバ・フレームidがローカルに保存され、最初のサーバ・フレームidと等しいか又はそれより大きいidを有する全てのフレームは映像バッファ(120)から廃棄される(731)。放送映像の受信を停止するためのコマンドが送信され(735)、それ以上映像バッファ(120)が放送映像フレームによって満たされることはないので、タイマーT1がキャンセルされる(736)。システムは「一時停止」状態(420)に留まる。
−「停止」コマンド(421)の発行に対応する「停止」イベント(740)。コマンド・ハンドラ(125)は次に、サーバ録画がアクティブであるかどうかをチェックする(745)。アクティブである場合には、コマンド・ハンドラ(125)はそれを停止し(750)、映像バッファを空にする(755)。アクティブでない場合には、コマンド・ハンドラ(125)は直ちに映像バッファを空にする(755)。代替的に、録画された映像フレームを後で再生する可能性を残したいと望む場合には、映像バッファ(120)を空にするステップ(755)を回避することができる。次いで、システムは「アイドル」状態(400)に入る。
−「再生」コマンド(422)の発行によってトリガされる「再生」イベント(760)。バッファは満たされるのと同じ速度で読み出されるので、コマンド・ハンドラ(125)はタイマーをキャンセルする(775)。次いで、システムは「シフト再生」状態(430)に入る。
【0042】
図8は、タイム・シフト・モードで映像フレームを再生するための主ステップを有するプロセスを示し、このプロセスは、
−「シフト再生」状態(430)と、
−サーバ録画がアクティブであるかどうかをチェックする判定ステップ(805)と、
−映像バッファ(120)内の最後の映像フレームのidを格納するステップ(806)と、
−ネットワーク・パーソナル映像サーバ(105)に、指示されたフレームidより大きい識別子を有する映像フレームのストリーミングを開始するように命令するステップ(807)と、
−「一時停止」イベントを検出することによってトリガされる「一時停止」ステップ(810)と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ(815)と、
−タイマーT1を指定された時間値にセットするステップ(820)と、
−ネットワーク・パーソナル映像サーバ(105)に映像フレームのストリーミングを停止するように命令するステップ(825)であって、「RTSP停止(RTSP Stop)」コマンドとして実装することができる、ステップ(825)と、
−「停止」コマンド(433)の発行によってトリガされる「停止」ステップ(830)と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ(835)と、
−放送映像フレームの受信が停止されたことを示すイベントを生成することを含む、「放送映像受信停止」ステップ(840)と、
−「タイマーT1キャンセル」ステップ(845)と、
−サーバ映像録画を停止するステップ(855)と、
−映像バッファを空にするステップ(850)と、
−「アイドル」状態(400)と、
−「早送り」コマンド(434)を検出したことに応答した「早送り」ステップ(870)と、
−「再生タイマーセット」ステップ(875)と、
−「早送り再生」状態(440)と
を含む。
【0043】
システムが「シフト再生」状態(430)に入った後、サーバ録画がアクティブであるかどうかを判定するためのチェックが実施される(805)。サーバ録画が開始されていなければ、プロセスは映像プレーヤを作動させたまま、新たなイベントを待つ。映像フレームを再生するレートは映像フレームを受信するレートと同一であるので、映像バッファの負荷の検証は必要ない。これらのレートが異なる場合には、両方のストリームの同期を保つために同期化技術が利用可能である。「サーバ録画」が開始されている場合には、ローカルの可変フレームIdが映像バッファ(120)内の最後の映像フレームの識別子の値で初期化され(806)、「フレームId+1」より大きいか又はこれと等しいフレーム識別子を有する映像フレームのストリーミングを開始するための「RTSP再生(RTSP play)」コマンドがネットワーク・パーソナル映像サーバ(105)に送信される(807)。その後、プロセスは映像プレーヤを作動させたまま新たなイベントを待つ。
【0044】
この時点では3つのイベントを受信することができる。即ち、
−操作者(300)による「一時停止」コマンド(432)の発行又は別のシステム・イベント、例えば電話の着信、テキスト・メッセージ又はマルチメディア・メッセージの受信、ポータブル・コンピュータ・システム(100)が衝撃を受けたことなどによってトリガされる、「一時停止」イベント(810)。システムは次にサーバ録画がアクティブであるかどうかをチェックする(815)。サーバ録画がアクティブであれば、コマンド「RTSP停止」がネットワーク・パーソナル映像サーバ(105)に送信される(825)。アクティブでなければ、映像バッファ(120)の負荷の検証ができるようにタイマーT1がセットされる(820)。両方の場合共、システムはその後「一時停止」状態(420)に入る
−「停止」コマンド(433)の発行によってトリガされる「停止」イベント(830)。「サーバ録画」がアクティブであれば(835)、コマンド「録画停止」がネットワーク・パーソナル映像サーバ(105)に送信される(855)。アクティブでなければ、放送映像フレームの受信が停止され(840)、タイマーT1がキャンセルされる(845)。両方の場合共、次いで映像バッファが空にされ(850)、システムは「アイドル」状態(400)に入る
−「早送り」コマンド(434)によってトリガされる「早送り」イベント(870)。再生タイマーはフレーム間時間に対応する時間値にセットされる(875)。システムは「早送り再生」状態(440)に入る。
【0045】
図9は早送りモードで映像フレームを再生するための主ステップを有するプロセスを示し、このプロセスは、
−「早送り再生」状態(440)と、
−「一時停止」イベントが検出されたことによってトリガされる「一時停止」ステップ(910)と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ(915)と、
−タイマーT1を指定された時間値にセットするステップ(917)と、
−ネットワーク・パーソナル映像サーバ(105)に映像フレームのストリーミングを停止するように命令するステップ(918)であって、「RTSP停止」コマンドとして実装することができる、ステップ(918)と、
−「再生」イベントを検出することによってトリガされる「再生」ステップ(920)と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ(922)と、
−ネットワーク・パーソナル映像サーバ(105)に映像フレームのストリーミングを開始するように命令するステップ(925)であって、「RTSP再生」コマンドとして実装することができる、ステップ(925)と、
−「停止」コマンド(433)の発行によってトリガされる「停止」ステップ(930)と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ(935)と、
−放送映像フレームの受信が停止されたことを示すイベントを生成することを含む、「放送映像受信停止」ステップ(940)と、
−「タイマーT1キャンセル」ステップ(945)と、
−サーバ映像録画を停止するステップ(955)と、
−映像バッファを空にするステップ(950)と、
−「アイドル」状態(400)と、
−内部システム・イベント又はネットワーク・パーソナル映像サーバ(105)によってトリガされる「再同期」ステップ(960)と、
−「映像バッファを空にする」ステップ(961)と、
−「放送受信開始」ステップ(965)と、
−「放送再生」状態(410)と、
−以前にセットされた再生タイマー(875)の期間満了によってトリガされる「再生タイマー」ステップ(970)と、
−映像バッファ(120)内の最後の映像フレームの識別子の値を含むローカル変数の値を検索するステップ(975)と、
−プレーヤ(130)によって早送りモードで再生すべき次のフレームが映像バッファ(120)内で入手可能かどうかをチェックする判定ステップ(980)と、
−サーバ録画がアクティブかどうかをチェックする判定ステップ(982)と、
−ネットワーク・パーソナル映像サーバ(105)に対して、指示されたフレームidから開始して映像フレームを早送りモードでストリーミングするように命令するメッセージを生成する、「RTSP早送り開始」ステップ(985)と、
−映像バッファ(120)内に格納された映像フレームを指示されたフレーム識別子を有する映像フレームから開始して再生するため、及び「再生タイマー」をセットするためのステップ(990)と
を含む。
【0046】
システムは「早送り再生」状態(440)にあるとき、5つのイベントを受信することができる。即ち、
−「一時停止」コマンド(444)の発行によってトリガされる「一時停止」イベント(910)。システムは次にサーバ録画がアクティブであるかどうかをチェックする(915)。サーバ録画がアクティブであれば、コマンド「RTSP停止」がネットワーク・パーソナル映像サーバ(105)に送信される(918)。アクティブでなければ、映像バッファ(120)の負荷の検証ができるようにタイマーT1がセットされる(917)。両方の場合共、システムはその後「一時停止」状態(420)に入る。
−「再生」コマンド(442)の発行によってトリガされる「再生」イベント(920)。システムは次にサーバ録画がアクティブであるかどうかをチェックする(922)。サーバ録画がアクティブであれば、コマンド「RTSP再生」がネットワーク・パーソナル映像サーバ(105)に送信される(925)。次いで、システムは「シフト再生」状態(430)に入る。サーバ録画がイナクティブである場合には、システムは直接「シフト再生」状態(430)に入る。
−「停止」コマンド(433)の発行によってトリガされる「停止」イベント(930)。サーバ録画がアクティブであれば(935)、コマンド「録画停止」がネットワーク・パーソナル映像サーバ(105)に送信される(955)。アクティブでなければ、放送映像フレームの受信が停止され(940)、タイマーT1がキャンセルされる(945)。両方の場合共、次いで映像バッファが空にされ(950)、システムは「アイドル」状態(400)に入る。
−早送りモードでストリーミングされる次の映像フレームが放送サーバ(103)によって放送される映像フレームと同期しているときにネットワーク・パーソナル映像サーバ(105)によって送信される、「再同期」イベント(960)。次いで映像バッファ(120)は空にされ(961)、受信された放送フレームで映像バッファ(120)を満たすように、「放送受信開始」コマンドが送信される(965)。次いで、システムは「放送再生」状態(410)に入る。
−ローカルの映像バッファ(120)内又はネットワーク・パーソナル映像サーバ(105)によって管理される遠隔ストレージ内のいずれかにある映像フレームが消尽したかどうかをチェックするためにトリガされる「再生タイマー」イベント(970)。再生タイマーが期間満了すると、再生すべき映像フレームが映像バッファ(120)から抽出され、ローカル変数が映像バッファ(120)内の最後の映像フレームのフレーム識別子(フレームId)で初期化される。「フレームId+n」と等しいフレーム識別子を有する次に再生すべきフレームが映像バッファ(120)内で入手可能かどうかを検証するためのチェックが実行され(980)、ここで「n」は早送りでスキップされるフレームの数に予測係数を乗じた値である。「フレームId+n」が映像バッファ(120)内にあれば、フレーム識別子「フレームID」を有する映像フレームが再生され、「再生タイマー」は再初期化され(990)、システムは「早送り再生」状態(440)に留まる。「フレームId+n」が映像バッファ(120)に存在せず、且つサーバ録画がアクティブである場合には(982)、「RTSP早送りをフレーム「フレームId+n」から開始」が映像サーバに送信され(985)、次に、以前に抽出された「フレームID」が再生され、「再生タイマー」が再初期化される(990)。「フレームId+n」がバッファ内に存在せず、「サーバ録画」がアクティブでない場合は、その時点で早送りと放送映像ストリームとが同期していることを意味する。その場合は映像バッファ(120)が空にされ(961)、受信された放送映像フレームで映像バッファ(120)を満たすように、「放送受信開始」が送信される(965)。次いで、システム状態は「放送再生」状態(410)にセットされる。
【0047】
別の実施形態は、放送映像ストリームの録画をローカル・ストレージから遠隔ストレージへと自動的に切り換える方法であって、ローカル・ストレージが殆ど一杯であるという事実によって切換がトリガされる方法と、放送映像ストリームの遅延方式での再生をローカル・ストレージから遠隔ストレージへと自動的に切り換える方法であって、ローカル・ストレージ内の映像フレームが消尽したか又は殆ど消尽したという事実によって切換がトリガされる方法とを含む。携帯電話上で、コンテンツを一方でSIMカード上に、又は他方でSDカード上に格納して、タイム・シフトTVを実施することが可能である。この機能は、特にユーザが携帯でTVを見ていて、そこに着信が入ったときに非常に有用である。しかしSIMカードのサイズ(65MB、256MB)又はSDカードのサイズは限られている。しかも、500Kb/sで5分間のあいだに格納される映像に対応するファイルのサイズは20MBである。コンテンツは、パーソナル・ビデオ・レコーダを用いて、SIMカード又はSDカード上にローカルに格納することができる。コンテンツは、ネットワーク内のサーバにネットワーク・パーソナル映像サーバ(nPVR)として格納することができる。しかしながら、1つの録画システムから別の録画システムへと簡便に、且つユーザからのアクションなしにスワップする方法又はシステムは存在しない。解決策は、映像プレーヤを新たなアプリケーション層コンポーネントである動的タイム・シフト・ハンドラ(DTS)によって拡張することである。このコンポーネントは、種々のソース(ローカル、放送、又はnPVR)からタイム・シフトしながら、映像プレーヤのバッファを動的に管理する。したがって、ストレージが限られたデバイス上で動的タイム・シフト映像再生を管理することが可能になる。
【0048】
本発明は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態、又はハードウェア要素とソフトウェア要素の両方を含む実施形態の形態を取ることができる。1つの好ましい実施形態において、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアに実装される。
【0049】
さらに、本発明は、コンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能な、コンピュータ若しくはいずれかの命令実行システムによって又はこれらと共に使用するためのプログラム・コードを提供する、コンピュータ・プログラムの形態を取ることができる。本記述の目的に関して、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置、若しくはデバイスによって又はこれらと共に用いるためのプログラムを収容し、格納し、通信し、伝搬し、又は転送することができるいずれかの装置とすることができる。
【0050】
媒体は、電子、磁気、光学、電磁気、赤外線、若しくは半導体のシステム(又は装置若しくはデバイス)、又は伝搬媒体とすることができる。コンピュータ可読媒体の例として、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、剛性磁気ディスク、及び光ディスクが挙げられる。現在の光ディスクの例として、コンパクトディスク−読み出し専用メモリ(CD−ROM)、コンパクトディスク−読み出し/書き込み(CD−R/W)、及びDVDが挙げられる。
【0051】
プログラム・コードを格納及び/又は実行するのに適したデータ処理システムは、システム・バスを介してメモリ要素に直接又は間接に接続された少なくとも1つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを取得しなければならない回数を減らすために少なくとも幾つかのプログラム・コードの一時的な記憶場所となるキャッシュ・メモリとを含むことができる。
【0052】
入力/出力デバイス又はI/Oデバイス(キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらに限定されない)は、直接に又は介在するI/Oコントローラを通じて、システムに接続することができる。
【0053】
ネットワーク・アダプタをシステムに接続して、データ処理システムが、介在する私設ネットワーク又は公衆ネットワークを通じて他のデータ処理システム又は遠隔プリンタ若しくは記憶装置に接続できるようにすることもできる。モデム、ケーブル・モデム、及びイーサネット(登録商標)カードは、現在利用可能なタイプのネットワーク・アダプタのほんの一部にすぎない。
【符号の説明】
【0054】
100:ポータブル・コンピュータ・システム
103:放送サーバ
105:ネットワーク・パーソナル映像サーバ
110:放送映像ソース
115:RTSP映像ソース
120:映像バッファ
125:コマンド・ハンドラ
130:プレーヤ
140:キーボード

【特許請求の範囲】
【請求項1】
各々が数値識別子に関連付けられた映像フレームを再生するための方法であって、
放送サーバに関連付けられた第1の入力ストリームから、第1の前記識別子に関連付けられた第1のフレームを受信するステップと、
前記第1のフレームを第1のキューに格納するステップと、
前記第1のキューからの映像フレームのデキューが停止された第1のイベントを検出するステップと、
前記第1のキューの負荷が第1の所定の閾値を超えた第2のイベントを検出するステップと、
外部サーバ上にホストされる第2の外部キューに前記放送サーバからの前記映像フレームを録画することを指示する第1のメッセージを出力メッセージ・ハンドラに送信するステップと、
第2の前記識別子に関連付けられた第2のフレームが前記第2の外部キューに格納されたことを示す第2のメッセージを受信するステップと、
前記第1のキューからの映像フレームのデキューが開始された第3のイベントを検出するステップと、
以前に録画された映像フレームをストリーミングすることを前記外部サーバに指示する第3のメッセージを前記出力メッセージ・ハンドラに送信するステップと、
を含む、方法。
【請求項2】
前記第3のメッセージを送信する前記ステップにおいて、前記パーソナル・サーバによって送信される前記映像フレームが、前記第2の識別子の数値より大きい又はそれに等しい数値を有する更なる識別子に関連付けられる、請求項1に記載の方法。
【請求項3】
前記第2のメッセージを受信する前記ステップの後で、前記第2の識別子の数値より大きい又はそれに等しい数値を有する識別子に関連付けられた映像フレームを廃棄するステップを含む、請求項1又は請求項2に記載の方法。
【請求項4】
前記第2の入力ストリームから、第3の前記識別子に関連付けられた第3のフレームを受信するステップをさらに含む、請求項1、請求項2又は請求項3に記載の方法。
【請求項5】
第3のイベントを検出する前記ステップの後で、前記第1のキューの負荷が第2の所定の閾値を下回った第4のイベントを検出するステップを含む、請求項1乃至請求項4のいずれか1項に記載の方法。
【請求項6】
請求項1乃至請求項5のいずれか1項に記載の方法の各ステップを実行するように適合された手段を備えた装置。
【請求項7】
コンピュータ上で実行されたときに請求項1乃至請求項5のいずれか1項に記載の方法のステップを実行するための命令を含む、コンピュータ・プログラム。
【請求項8】
請求項7に記載のコンピュータ・プログラムがエンコードされたコンピュータ可読媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2012−503387(P2012−503387A)
【公表日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2011−527278(P2011−527278)
【出願日】平成21年8月24日(2009.8.24)
【国際出願番号】PCT/EP2009/060873
【国際公開番号】WO2010/031656
【国際公開日】平成22年3月25日(2010.3.25)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】