(57)【要約】【課題】最初に映像を視聴する前の時点に映像を巻き戻すためのシステムおよび方法を提供すること。【解決手段】メディアソースから伝送された映像は、遠隔サーバによってキャッシュされる。映像の特殊再生要求に基づいて、サーバは、ユーザが映像の視聴を開始する前にメディアソースから伝送された映像を含む逆方向ストリームを生成する。逆方向ストリームの受信に基づいて、ユーザ機器は、逆方向バッファに逆方向ストリームをキャッシュし、逆方向バッファから巻き戻しまたは再生してよい。またサーバは、メディアソースがまだ伝送していない映像の順方向ストリームを生成および伝送してよい。ユーザ機器は、順方向バッファに順方向ストリームをキャッシュしてよい。映像の特殊再生動作を行うために、ユーザ機器は、映像の再生を逆方向および順方向バッファに移行させ、バッファから映像を巻き戻しまたは早送りしてよい。【選択図】図１
2010063178.tif 000002
【特許請求の範囲】
【請求項１】
明細書に記載の発明。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像または音声エンターテインメントシステムにおける特殊再生（ｔｒｉｃｋ−ｐｌａｙ）機能のためのシステムおよび方法に関する。
【背景技術】
【０００２】
双方向テレビ番組ガイド等の双方向メディアガイダンスアプリケーションは、当技術分野において周知である。いくつかの双方向メディアガイダンスアプリケーションは、映像エンターテインメント装置のユーザに、映像に対し「特殊再生」機能を行う能力を提供する。そのような特殊再生機能は、一時停止、巻き戻し、および早送りを含む。双方向メディアガイダンスアプリケーションが、ネットワークまたは伝送システム（例えば、衛星、ケーブル、または非放送）を介して伝送される映像番組をキャッシュすることによって、ユーザは、映像番組の特殊再生が可能となる。特殊再生機能を提供するために、これらのシステムは、ユーザが番組にチューニングすると（進行中であってもよい）、映像のキャッシュを開始してもよい。その結果、そのようなシステムのユーザは、番組に最初にチューニングした時点に巻き戻すことが可能であるが、それ以前の時間には巻き戻すことはできない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、ユーザが、映像を最初に映像の視聴を開始した時点より以前の時間に巻き戻し、現在ストリーム配信されているリアルタイム伝送以降の時点に早送りすることが可能な、特殊再生機能のためのシステムおよび方法を提供することが望ましいであろう。
【課題を解決するための手段】
【０００４】
本発明の原理にしたがって、映像エンターテインメントシステムにおける特殊再生機能をサポートするためのシステムおよび方法が提供される。限定するためではなく、明確にする目的として、本発明は、テレビ番組等の映像の巻き戻し、一時停止、および早送り機能の提供に照らして、本明細書で説明される場合があるが、任意の他の好適な非オンデマンドメディア（例えば、音声）に適用してもよい。
【０００５】
本発明の種々の実施形態では、映像は、デジタルまたはアナログリアルタイムストリームの非オンデマンド形式で、ユーザ（または、ユーザグループ）の機器に配信される。例えば、テレビシステムでは、映像は、放送、ケーブル、または衛星を介して送達され、スケジュールにしたがって提供されてもよい。ユーザから遠隔のサーバは、配信の前または間に、映像のキャッシュまたは記録を行う。
【０００６】
クライアントアプリケーション（本明細書では「特殊再生クライアント」と称される場合がある）は、ユーザ機器上に実装される。ユーザがストリームの視聴を開始すると、クライアントは、ユーザが、バッファを介して、ストリームの視聴を開始した時点に巻き戻しできるように、視聴されている映像のキャッシュを開始する。ユーザがアクセスする前に開始された（例えば、自動的に、またはユーザ要求に応じて）映像にユーザがアクセスすると同時に、またはアクセスした後に、クライアントは、サーバによってキャッシュまたは記録された映像のコピーから、サーバによって生成された逆方向ストリームをサーバから受信する。逆方向ストリームは、ユーザが最初に映像にアクセスした時点から逆方向に、完全映像（例えば、任意のフレームをスキップせずに）をストリーム配信する。逆方向ストリーム受信後いつでも、ユーザが映像にアクセスする前に伝送されたコンテンツに対応する映像内の時点に、ユーザが番組を巻き戻すことが可能なように、クライアントは、逆方向ストリームをローカルにキャッシュする。
【０００７】
また、いくつかの実施形態では、クライアントは、映像を受信しながらキャッシュする。これによって、ユーザは、最初にユーザが映像にアクセスする前の時点から、番組を巻き戻して、視聴し、かつユーザの所望に応じて、ユーザが最初に映像にアクセスした時点以降の映像の視聴を継続（または、早送り）することが可能となる。
【０００８】
いくつかの実施形態では、クライアントは、キャッシュまたは記録された映像のコピーから、サーバによって生成された順方向ストリームをサーバから受信する。順方向ストリームは、リアルタイムよりも速い速度で、ユーザが最初に映像にアクセスした時点以降の完全映像（例えば、任意のフレームをスキップせずに）をストリーム配信する。順方向ストリームが受信されるとすぐに、映像のリアルタイムストリームより先の時点に、ユーザが番組を早送りすることが可能なように、クライアントは、順方向ストリームをローカルにキャッシュする。映像のリアルタイムストリームは、例えば、本来のリアルタイム映像フィード（例えば、放送フィード）によって提供されてもよい。
【０００９】
いくつかの実施形態では、クライアントは、逆方向および／または順方向ストリームを自動的に受信する。他の実施形態では、逆方向および／または順方向ストリームのキャッシングが保証されるように、クライアントは、例えば、ユーザの映像へのアクセスに基づいて、あるいはユーザが映像に関心があることが判断された後、逆方向および／または順方向ストリームを要求する。
（項目１）
非オンデマンド映像を巻き戻すための方法であって、
上記映像の伝送開始後、上記映像にアクセスすることと、
上記映像が最初にアクセスされる前に伝送された映像を含む逆方向ストリームを受信することであって、上記逆方向ストリームは、上記映像が最初にアクセスされた時点から上記映像の先頭に向かって逆方向に、上記映像をストリーム配信することと、
逆方向バッファ内の上記逆方向ストリームをキャッシュすることと、
上記逆方向バッファを介して上記映像を巻き戻すことと、
上記逆方向バッファから上記映像を再生することと
を含む、方法。
（項目２）
上記逆方向ストリームを受信することは、ビット単位の反転、ブロック単位の反転、およびパケット単位の反転のうちの１つにおいて、上記逆方向ストリームを受信することをさらに含む、項目１に記載の方法。
（項目３）
上記逆方向ストリームを受信することは、遠隔サーバから上記逆方向ストリームを受信することをさらに含む、項目１に記載の方法。
（項目４）
上記遠隔サーバが、上記逆方向ストリームに必要な上記映像をキャッシュしたかどうか判断することと、
上記遠隔サーバが、上記逆方向ストリームに必要な上記映像をキャッシュしたという判断に応じて、上記逆方向ストリームを要求することと
をさらに含む、項目３に記載の方法。
（項目５）
ユーザが十分な関心を有し、上記映像の逆方向ストリームを要求する保証があるかどうか判断することと、
ユーザが十分な関心を有し、上記映像の逆方向ストリームを要求する保証があるという判断に応じて、逆方向ストリームを要求することと
をさらに含む、項目１に記載の方法。
（項目６）
ユーザが十分な関心を有していることを判断することは、所与の時間の間に上記ユーザが上記映像を視聴したかどうか判断することと、特殊再生要求を受信することとのうちの１つをさらに含む、項目５に記載の方法。
（項目７）
まだ伝送されていない映像の順方向ストリームを受信することであって、
上記順方向ストリームは、上記映像が最初にアクセスされた時点以降から上記映像の最後に向かって順方向に、ストリーム配信し、
上記順方向ストリームは、リアルタイムよりも速く伝送される、ことと、
順方向バッファ内の上記順方向ストリームをキャッシュすることと、
上記順方向バッファから上記映像を早送りすることと
をさらに含む、項目１に記載の方法。
（項目８）
上記順方向ストリームは、上記映像が最初にアクセスされた時間以降に伝送される上記映像のすべてを含む、項目７に記載の方法。
（項目９）
ユーザが十分な関心を有し、順方向ストリームを要求する保証があるかどうか判断することと、
ユーザが十分な関心を有し、順方向ストリームを要求する保証があるという判断に応じて、順方向ストリームを要求することと
をさらに含む、項目７に記載の方法。
（項目１０）
転送制御バーを表示することをさらに含み、該転送制御バーは、上記逆方向バッファおよび上記順方向バッファのうちの少なくとも１つの表現を含む、項目７に記載の方法。
（項目１１）
上記逆方向バッファを使用して、上記映像を巻き戻すことと、
上記映像が逆方向巻き戻し画像部分において巻き戻されると、上記映像を表示することと
をさらに含む、項目１０に記載の方法。
（項目１２）
上記順方向バッファを使用して、上記映像を早送りすることと、
上記映像が順方向プレビュー画像において早送りされると、上記映像を表示することと
をさらに含む、項目１０に記載の方法。
（項目１３）
少なくとも上記逆方向バッファおよび上記順方向バッファ内に上記映像を全体としてキャッシュすることと、
後でアクセスするための番組記録として、少なくとも上記逆方向バッファおよび上記順方向バッファを保存することと
をさらに含む、項目１に記載の方法。
（項目１４）
非オンデマンド映像を早送りするための方法であって、
上記映像全体が伝送される前に、上記映像にアクセスすることと、
順方向ストリームを受信することであって、
上記順方向ストリームは、上記映像が最初にアクセスされた時点から上記映像の最後に向かって順方向に、上記映像をストリーム配信し、
上記順方向ストリームは、上記映像が最初にアクセスされた時点以降に伝送された上記映像のすべてを含み、
上記順方向ストリームは、リアルタイムよりも速く伝送される、ことと、
順方向バッファ内の上記順方向ストリームをキャッシュすることと、
上記順方向バッファから上記映像を早送りすることと、
上記順方向バッファから上記映像の一部を再生することと
を含む、方法。
（項目１５）
巻き戻すための非オンデマンド映像をユーザに提供する方法であって、
映像をキャッシュすることと、
逆方向ストリームの要求を受信することであって、上記逆方向ストリームは、上記映像が最初にアクセスされた時点から上記映像の先頭に向かって逆方向に、上記映像をストリーム配信することと、
逆方向ストリームを生成することであって、上記逆方向ストリームは、第１の地点から開始し、第２の地点で終了し、上記第２の地点は、上記映像の先頭により近い、ことと、
上記逆方向ストリームを上記ユーザに伝送することと
を含む、方法。
（項目１６）
非オンデマンド映像を巻き戻すためのシステムであって、上記システムは、ディスプレイ装置と、記録装置と、制御回路と、を含み、上記制御回路は、
上記映像の伝送開始後、上記映像にアクセスし、
上記映像が最初にアクセスされる前に伝送された映像を含む逆方向ストリームを受信し、上記逆方向ストリームは、上記映像が最初にアクセスされた時点から上記映像の先頭に向かって逆方向に、上記映像をストリーム配信し、
上記記録装置に、逆方向バッファ内の上記逆方向ストリームをキャッシュさせ、
上記逆方向バッファから上記映像を巻き戻し、
上記ディスプレイ装置に、上記映像が最初にアクセスされる前の時点から上記映像を表示させる
ように構成される、システム。
（項目１７）
上記制御回路は、ビット単位の反転、ブロック単位の反転、およびパケット単位の反転のうちの１つにおいて、上記逆方向ストリームを受信するようにさらに構成される、項目１６に記載のシステム。
（項目１８）
上記制御回路は、遠隔サーバから上記逆方向ストリームを受信するようにさらに構成される、項目１６に記載のシステム。
（項目１９）
上記制御回路は、
上記遠隔サーバが、上記逆方向ストリームに必要な上記映像をキャッシュしたかどうか判断し、
上記遠隔サーバが、上記逆方向ストリームに必要な上記映像をキャッシュしたという判断に応じて、上記逆方向ストリームを要求する
ようにさらに構成される、項目１８に記載のシステム。
（項目２０）
上記制御回路は、
ユーザが十分な関心を有し、上記映像の逆方向ストリームを要求する保証があるかどうか判断し、
ユーザが十分な関心を有し、逆方向ストリームを要求する保証があるという判断に応じて、逆方向ストリームを要求する
ようにさらに構成される、項目１６に記載のシステム。
（項目２１）
上記制御回路は、
まだ伝送されていない映像の順方向ストリームを受信し、
上記順方向ストリームは、上記映像が最初にアクセスされた時点以降から上記映像の最後へ順方向に、上記映像をストリーム配信し、
上記順方向ストリームは、上記映像が最初にアクセスされた時点以降に伝送された上記映像のすべてを含み、
上記順方向ストリームは、リアルタイムよりも速く伝送され、
上記記録装置に、順方向バッファ内の上記順方向ストリームをキャッシュさせ、
上記順方向バッファから上記映像を早送りする
ようにさらに構成される、項目１６に記載のシステム。
（項目２２）
上記順方向ストリームは、上記映像が最初にアクセスされた時間以降に伝送される上記映像のすべてを含む、項目２１に記載のシステム。
（項目２３）
上記制御回路は、
ユーザが十分な関心を有し、順方向ストリームを要求する保証があるかどうか判断し、
ユーザが十分な関心を有し、順方向ストリームを要求する保証があるという判断に応じて、順方向ストリームを要求する
ようにさらに構成される、項目２１に記載のシステム。
（項目２４）
上記制御回路は、上記ディスプレイ装置に、上記逆方向バッファおよび上記順方向バッファのうちの少なくとも１つの表現を含む、転送制御バーを表示させるようにさらに構成される、項目２１に記載のシステム。
（項目２５）
上記制御回路は、
上記逆方向バッファを使用して、上記映像を巻き戻し、
上記ディスプレイ装置に、上記映像が逆方向巻き戻し画像部分において巻き戻されると、上記映像を表示させる
ようにさらに構成される、項目２３に記載のシステム。
（項目２６）
上記制御回路は、
上記順方向バッファを使用して、上記映像を早送りし、
上記ディスプレイ装置に、上記映像が順方向プレビュー画像において早送りされると、上記映像を表示させる
ようにさらに構成される、項目２３に記載のシステム。
（項目２７）
上記制御回路は、
上記記録装置に、少なくとも上記逆方向バッファおよび上記順方向バッファ内に上記映像を全体としてキャッシュさせ、
後で視聴するために、少なくとも上記逆方向バッファおよび上記順方向バッファを保存する
ようにさらに構成される、項目１６に記載のシステム
（項目２８）
ディスプレイ装置と、記録装置と、制御回路と、を含む、非オンデマンド映像を早送りするためのシステムであって、上記制御回路は、
上記映像全体が伝送される前に、上記映像にアクセスし、
順方向ストリームを受信し、
上記順方向ストリームは、上記映像が最初にアクセスされた時点から上記映像の最後に向かって順方向に、上記映像をストリーム配信し、
上記順方向ストリームは、上記映像が最初にアクセスされた時点以降に伝送された上記映像のすべてを含み、
上記順方向ストリームは、リアルタイムよりも速く伝送され、
上記記録装置に、順方向バッファ内の上記順方向ストリームをキャッシュさせ、
上記順方向バッファから上記映像を早送りし、
上記ディスプレイ装置に、上記順方向バッファから上記映像の一部を再生させる、
ように構成される、システム。
（項目２９）
巻き戻しのために、メモリと、制御回路と、を含む、非オンデマンド映像をユーザに提供するためのシステムであって、上記制御回路は、
メモリ内に映像をキャッシュし、
逆方向ストリームの要求を受信し、上記逆方向ストリームは、上記映像が最初にアクセスされた時点から上記映像の先頭に向かって逆方向に、上記映像をストリーム配信し、
逆方向ストリームを生成し、上記逆方向ストリームは、所与の地点から開始し、上記映像の先頭で終了し、
上記逆方向ストリームを上記ユーザに伝送する
ように構成される、システム。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の一実施形態による、例示的双方向メディアシステムの略図である。
【図２】図２は、本発明の一実施形態による、バッファの例示的データ構造を示す。
【図３】図３は、本発明の一実施形態による、バッファの別の例示的データ構造を示す。
【図４】図４は、本発明の一実施形態による、転送制御バーを有する例示的ディスプレイを示す。
【図５】図５は、本発明の一実施形態による、転送制御バーを有する別の例示的ディスプレイを示す。
【図６】図６は、本発明の一実施形態による、転送制御バーを有するさらに別の例示的ディスプレイを示す。
【図７】図７は、本発明の一実施形態による、番組グリッドを有する例示的ディスプレイ画面を示す。
【図８】図８は、本発明の一実施形態による、映像を巻き戻すための例示的プロセスの工程図を示す。
【図９】図９は、本発明の一実施形態による、映像を早送りするための例示的プロセスの工程図を示す。
【図１０】図１０は、本発明の一実施形態による、映像ストリームをユーザ機器に提供するための例示的プロセスの工程図を示す。
【図１１】図１１は、本発明の一実施形態による、逆方向および／または順方向バッファから映像を再生するための例示的プロセスの工程図を示す。
【発明を実施するための形態】
【００１１】
本発明の上述および他の特長、その本質、および種々の利点は、添付の図面に関連してなされる以下の詳細な説明を検討することによって、より明白となるであろう。
【００１２】
図１は、本発明の一実施形態による、例示的双方向メディアシステム１００を示す。ユーザ機器１１０は、通信経路１２２を介して、メディアソース１２０から、信号の形態でメディアを受信する。実際は、複数のメディアソース１２０およびユーザ機器１１０が存在し得るが、過剰に複雑な図面を回避するため、それぞれ１つずつ図１に示される。
【００１３】
メディアソース１２０は、例えば、ケーブルシステムヘッドエンド、衛星メディア配信設備、メディア放送設備、インターネット・プロトコル・テレビ（インターネット  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ；ＩＰＴＶ）ヘッドエンド、オンデマンドサーバ（例えば、ＶＯＤサーバ）、ウェブサイト、ゲームサービスプロバイダ（例えば、オンラインゲーム用）、またはメディアを発信または配信するための任意の他の好適な設備またはシステム等、任意の好適なメディアソースであってもよい。メディアソース１２０は、例えば、衛星経路、光ファイバ経路、ケーブル経路、インターネット経路、あるいは任意の他の好適な有線または無線経路を含む、任意の好適な通信経路１２２を介して、信号を伝送するように構成されてもよい。信号は、例えば、テレビ番組、ゲーム、音楽、ニュース、ウェブサービス、映像、または任意の他の好適なメディア等、任意の好適なメディアを送信してもよい。いくつかの実施形態では、メディアソース１２０は、特殊再生クライアント、または例えば、オンライン双方向メディアガイダンスアプリケーション等の双方向メディアガイダンスアプリケーションの命令を実行するための制御回路を含んでもよい。
【００１４】
ユーザ機器１１０は、双方向マルチメディア体験を提供するために好適な任意の機器を含んでもよい。ユーザ機器１１０は、テレビ、セットトップボックス、記録装置、ビデオプレーヤ、ユーザ入力装置（例えば、遠隔制御装置、キーボード、マウス、タッチパッド、タッチスクリーンおよび／または音声認識インターフェース）等のテレビ機器、あるいは双方向マルチメディア体験を提供するために好適な他の任意の装置を含んでもよい。例えば、ユーザ機器１１０は、Ｍｏｔｏｒｏｌａ，Ｉｎｃ．社によって提供されるＤＣＴ２０００、２５００、５１００、６２０８、または６４１２セットトップボックスを含んでもよい。いくつかの実施形態では、ユーザ機器１１０は、テレビカードを備えたパーソナルコンピュータ（ＰＣＴＶ）等、コンピュータ機器を含んでもよい。いくつかの実施形態では、ユーザ機器１１０は、ゲームシステム（例えば、Ｘ−Ｂｏｘ、ＰｌａｙＳｔａｔｉｏｎ、またはＧａｍｅＣｕｂｅ）、携帯用ＤＶＤプレーヤ等の携帯用電子機器、携帯用ゲーム機器、携帯電話、ＰＤＡ、音楽プレーヤ（例えば、ＭＰ３プレーヤ）、または他の任意の好適な携帯用または固定装置を含んでもよい。
【００１５】
図１の実施例では、ユーザ機器１１０は、少なくとも制御回路１１６、ディスプレイ装置１１２、ユーザ入力装置１１４、および記録装置１１８を含み、別個の装置または単一装置として実装されてもよい。特殊再生クライアントは、ユーザ機器１１０上に実装され、ディスプレイ装置１１２上に表示されるメディアの特殊再生機能をユーザに提供してもよい。いくつかの実施形態では、特殊再生クライアントは、双方向テレビ番組ガイド等の双方向メディアガイダンスアプリケーションの一部である。限定するためではなく、明確にする目的として、以下の実施形態は、特殊再生クライアントによって提供されるものとして説明される。
【００１６】
ディスプレイ装置１１２は、例えば、テレビ用モニタ、コンピュータ用モニタ、またはユーザ機器１１０に組み込まれたディスプレイ（例えば、携帯電話または携帯用音楽プレーヤのディスプレイ）等、任意の好適な装置であってもよい。ディスプレイ装置１１２は、経路１２２を介してメディアソース１２０から伝送されるメディア、および特殊再生クライアントのディスプレイを表示する。また、ディスプレイ装置１１２は、音声出力を提供するように構成されてもよい。
【００１７】
記録装置１１８は、パーソナル・ビデオ・レコーダ（Ｐｅｒｓｏｎａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ；ＰＶＲ）、デジタル・ビデオ・レコーダ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ；ＤＶＲ）、ビデオ・カセット・レコーダ（Ｖｉｄｅｏ  Ｃａｓｓｅｔｔｅ  Ｒｅｃｏｒｄｅｒ；ＶＣＲ）、ＤＶＤレコーダ、または任意の他の好適なビデオレコーダであってもよい。記録装置１１８は、１つ以上のチューナを含んでもよい。特殊再生クライアントは、記録装置１１８にサーバ１３０から逆方向および順方向ストリームをキャッシュさせる。
【００１８】
制御回路１１６は、入力装置１１４からユーザ入力を受信し、特殊再生クライアントの命令を実行すうように適合される。制御回路１１６は、１つ以上のチューナ（例えば、アナログまたはデジタルチューナ）、エンコーダおよびデコーダ（例えば、ＭＰＥＧデコーダ）、プロセッサ（例えば、Ｍｏｔｏｒｏｌａ６８０００ファミリプロセッサ）、メモリ１１７（すなわち、ＲＡＭおよびハードディスク）、通信回路（例えば、ケーブルモデム回路）、入力／出力回路（例えば、グラフィック回路）、ユーザ機器１１０の種々の装置への接続部品、およびアナログまたはデジタルメディアプログラミング、番組記録、双方向メディアガイダンス機能を提供するための他の任意の好適な構成要素を含んでもよい。いくつかの実施形態では、制御回路１１６は、ユーザ機器１１０の装置のうちの１つの一部、例えば、ディスプレイ１１２または他の任意の装置（例えば、セットトップボックス、テレビ、およびビデオプレーヤ）の一部として、含まれてもよい。
【００１９】
いくつかの実施形態では、特殊再生クライアントは、クライアント／サーバアプローチをユーザに提供してもよい。ユーザ機器１１０の各インスタンスに対し１つのサーバ、ユーザ機器１１０の複数のインスタンスに対し１つのサーバ、またはユーザ機器１１０の各インスタンスに対するプロキシとして機能し得る単一サーバが存在してもよい。
【００２０】
任意の好適な数のユーザが、メディアソース１２０およびデータソース１２４に接続されたユーザ機器１１０等の機器を有してもよい。しかし、図を明確にするために、単一ユーザのみの機器が示される。複数ユーザの機器は、ケーブルテレビネットワーク、衛星テレビネットワーク、ローカルエリアネットワーク（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ；ＬＡＮ）、無線ネットワーク、インターネット、または他の任意の好適な手段を使用して、メディアソース１２０およびデータソース１２４に接続されてもよい。いくつかの実施形態では、複数ユーザの機器は、任意の好適な手段を使用して、互いに接続されてもよい。
【００２１】
ユーザ機器１１０は、１つ以上のデータソース１２４から双方向メディアガイダンスアプリケーションデータを受信してもよい。データソース１２４は、特定の種類のメディアまたは特定のアプリケーションのためのデータを提供してもよい。例えば、あるデータソース１２４は、非オンデマンドメディア（例えば、ノン・ペイおよびペイ・パー・ビュー番組）のためのデータを提供してもよく、別のデータソースは、オンデマンドメディア（例えば、ＶＯＤ番組）のためのデータを提供してもよい。または、例えば、単一データソースは、これら両方の種類のデータを提供してもよい。また、例えば、単一データソースは、これら両方の種類のデータを提供してもよい。例えば、あるデータソース１２４は、双方向テレビ番組ガイドのためのデータを提供してもよい。例えば、別のデータソース１２４は、別の双方向アプリケーション（例えば、ホームショッピングアプリケーション）のためのデータを提供してもよい。いくつかの実施形態では、データソース１２４は、クライアント／サーバアプローチを使用して、特殊再生クライアントにデータを提供してもよい。データソースにつき１つのサーバ、またはすべてのソースに対し１つのサーバが存在してもよく、あるいはいくつかの実施形態では、単一サーバが、ユーザ機器１１０と種々のデータソース１２４との間のプロキシとして通信してもよい。いくつかの実施形態では、データソース１２４は、オンライン双方向メディアガイダンスアプリケーションとしてデータを提供してもよい。そのような実施形態では、データソース１２４は、オンラインメディアガイダンスアプリケーションの命令を実行するための制御回路を含んでもよい。
【００２２】
図１は、メディアソース１２０および別個の要素としてのデータソース１２４を示す。実際は、それらの機能性は、単一設備における単一システム、または複数の設備における複数のシステムから組み合わされ得、提供され得る。例えば、あるメディアソース１２０およびデータソース１２４は、組み合わされ得、ＶＯＤコンテンツおよび付随するＶＯＤデータを提供し得る。
【００２３】
例示的双方向テレビシステム１００は、サーバ１３０を含む。サーバ１３０は、例えば、メディアソース１２０またはユーザ機器１１０によって要求される動作を実行するための制御回路１３２およびメモリ１３４を含む（例えば、キャッシュされた映像を特殊再生クライアントに提供する）。制御回路１３２は、１つ以上のチューナ、プロセッサ、エンコーダ／デコーダ、通信回路、および双方向テレビシステム１００の種々の装置に接続されたＩ／Ｏ回路、または任意の他の好適な構成要素を含んでもよい。制御回路１３２は、任意の好適な方法で、例えば、チューナをメディアソース１２０から伝送されるチャンネルにチューニングさせることによって、メディアソース１２０によって提供される映像または他のメディアにアクセスしてもよい。別の実施例として、サーバ１３０は、例えば、メディアソース１２０へのインターネットプロトコル接続（例えば、ファイル・トランスファー・プロトコルまたはＤＯＣＳＩＳ  ＱＡＭストリーム）を介して、直接映像にアクセスしてもよい。
【００２４】
サーバ１３０は、メディアソース１２０（例えば、ケーブル設備の末端における）、データソース１２４、ＶＯＤサーバ（図示せず）、ユーザ機器１１０（例えば、第２の記録装置としての、またはホームコンピュータ上のハードドライブ）、インターネットサーバ、または任意の他の好適な装置内に組み込まれてもよい。別様に、サーバ１３０は、独立型装置（例えば、商用ネットワーク記録装置、または自宅（ｈｏｍｅ）または地域間（ｎｅｉｇｈｂｏｒｈｏｏｄ）ネットワーク内のＤＶＲ装置）であってもよい。いくつかの実施形態では、メディアソース１２０によって提供されるすべてのメディアは、最初にサーバ１３０に伝送され、続いて、ユーザ機器１１０にメディアを伝送してもよい。そのような実施形態では、サーバは、メディアを受信しながら、記録（ユーザ起動によるサーバ集約型記録が提供されるシステム内に）またはキャッシュし、続いてまたは同時に、メディアをユーザ機器に伝送してもよい。他の実施形態では、メディアソースは、同時に、サーバとユーザ機器の両方にメディアを提供してもよい。そのような実施形態では、サーバは、特殊再生クライアントによる要求に応じて、ユーザ機器に記録またはキャッシュされたメディアの逆方向および／または順方向ストリームのみ提供してもよい。いくつかの実施形態では、サーバは、メディアソース１２０からユーザに提供される前に、映像をキャッシュまたは記録してもよい。
【００２５】
サーバ１３０は、ユーザ機器１１０またはメディアソース１２０（または双方向メディアシステム１００の任意の他の装置）から命令を受信し、好適な動作を行ってもよい。そのような動作は、例えば、メディアソース１２０から伝送される映像の一部または全部の記録またはキャッシュを含んでもよい。いくつかの実施形態では、サーバ１３０は、メディアソース１２０から伝送される映像すべてをキャッシュしてもよい。いくつかの実施形態では、サーバ１３０は、特定の映像（例えば、特定の放送番組）または特定のチャンネル（例えば、ユーザのお気に入りチャンネル）のみをキャッシュしてもよい。ユーザ機器またはメディアソースは、任意の好適な方法（例えば、チャンネルマップおよびＱＡＭストリームの番組マップ表から、または番組識別子）で特定の映像を識別し、制御回路１３２と要求を通信し、メモリ１３４に映像を記録またはキャッシュしてもよい。いくつかの実施形態では、ユーザは、サーバ１３０上に映像を記録してもよい。そのような実施形態では、サーバ１３０は、逆方向および／または順方向ストリームの「キャッシュされた」映像として、記録された映像（拡張巻き戻し（ｅｎｈａｎｃｅｄ  ｒｅｗｉｎｄ）機能を使用したユーザ以外のユーザのために記録されている場合がある）を使用してもよい。
【００２６】
特殊再生クライアント、メディアソース、またはサーバは、任意の好適な基準に基づいて、サーバが記録またはキャッシュし、本発明の拡張巻き戻しおよび早送り機能が利用可能な映像を選択してもよい。そのような基準は、例えば、ユーザの視聴履歴、ユーザが一般的に視聴、記録、リマインダの設定を行う番組またはチャンネル、ユーザプロファイル（例えば、ユーザに一連の質問をすることによって確立されたプロファイル）によって識別されるユーザの関心を含んでもよい。いくつかの実施形態では、基準は、別の番組が記録されている間にユーザが視聴する番組、ユーザが切り替えた２つ以上の同時に伝送された番組、または番組の開始後、ユーザが視聴を開始した番組の識別を含んでもよい。サーバが限定されたメモリ容量を有する場合、またはユーザがサーバメモリに小容量を割り当てている場合、特殊再生クライアントは、ユーザ用にサーバが記録またはキャッシュする映像の選択をより選別してもよい。
【００２７】
拡張巻き戻しおよび早送り機能が利用可能な映像を選択するための他の基準は、双方向メディアシステムのユーザの一部または全部の視聴履歴またはユーザプロファイル、ユーザの一部または全部の人気番組、または双方向メディアシステムの２人以上のユーザまたはユーザの家族に由来する任意の他の基準を含んでもよい。別の実施例として、好ましいメディアプロバイダ（例えば、料金を支払うプロバイダ）によって提供される映像のみ、サーバ上に記録またはキャッシュされてもよい。そのような映像は、「拡張特殊再生可能（ｐｒｏｖｉｄｅｄ  ｗｉｔｈ  ｅｎｈａｎｃｅｄ  ｔｒｉｃｋ  ｐｌａｙ）」としてユーザに識別され、例えば、映像開始後に映像を結合した場合でも、潜在的に映像の先頭に巻き戻し可能であることをユーザに通知してもよい。いくつかの実施形態では、チャンネルが、「拡張特殊再生可能」として識別されてもよい。逆方向バッファ長は、ユーザ（一定時間後）が、番組の開始に前の時点（例えば、２または３時間、あるいは昨日の映像）に巻き戻し可能な十分な長さであってもよい。
【００２８】
記録およびキャッシュされた映像は、サーバ１３０によって、メモリ１３４内に格納される。メモリ１３４は、例えば、１つ以上のハードドライブアレイ、ハードディスク、サーバアレイ、ＲＡＭ、ＳＲＡＭ、ＤＲＡＭ、ＲＯＭ、フラッシュメモリ、または任意の他の好適なメモリ等、映像を記録またはキャッシュするための任意の好適なメモリであってもよい。いくつかの実施形態では、メモリ１３４は、記録またはキャッシュされた映像に関連する、制御回路１３２、ユーザ機器１１０、メディアソース１２０、または双方向メディアシステム１００の任意の他の装置からの命令を格納してもよい。そのような命令は、例えば、ユーザがアクセス権を有しているメモリ内の映像の保存期間（例えば、階層ベースのシステムにおいて）、または任意の他の好適な命令を含んでもよい。図１の実施例では、メモリ１３４は、サーバ１３０の構成要素として示されるが、他の実施形態では、メモリ１３４は、独立型構成要素であってもよい。
【００２９】
ユーザ機器１１０のユーザが非オンデマンド映像にアクセスすると（例えば、チャンネルへのチューニング等によって）、特殊再生クライアントは、自動的に、ユーザ機器１１０の記録装置１１８に、１つ以上のバッファ内に映像をキャッシュさせてもよい。さらに、特殊再生クライアントは、ユーザが最初に映像の視聴を開始する前に伝送された映像の一部を含む、逆方向ストリームの要求をサーバ１３０に送信してもよい。
【００３０】
また、いくつかの実施形態では、特殊再生クライアントは、特殊再生クライアントがまだキャッシュしていない映像の一部を含む、順方向ストリームの要求をサーバ１３０に送信してもよい。特殊再生クライアントは、順方向ストリームを要求する前に、最初に、映像全体がサーバ１３０によってキャッシュまたは記録されたかどうか判断してもよい。別様に、特殊再生クライアントは、体系的に、順方向ストリーム要求し、映像の順方向ストリーム部分が利用可能であるかどうかに関して、サーバ１３０からの応答を待機してもよい。
【００３１】
特殊再生クライアントは、例えば、ユーザが映像の視聴を開始（例えば、チャンネルにチューニング）するとすぐ、所与の時間（例えば、１分または５分）後、ユーザからの特殊再生要求に応じて（例えば、一時停止または巻き戻し）、あるいは任意の他の好適な時間を含む、任意の好適な時間で、逆方向および／または順方向ストリームを要求してもよい。
【００３２】
逆方向および／または順方向ストリームの要求の受信に応じて、利用可能な場合、サーバ１３０は、逆方向および／または順方向ストリームを生成し、ユーザ機器１１０に伝送してもよい。例えば、特殊再生クライアントが、ライブ放送のスポーツ競技の逆方向および順方向ストリームの両方を要求する場合、スポーツ競技全体をキャッシュまたは記録していないため、サーバ１３０は、逆方向ストリームのみ生成および伝送してもよい。ユーザ機器１１０に提供される場合、順方向ストリームは、完全映像（例えば、任意のフレームをスキップしない）を含み、リアルタイム映像が伝送されるよりも速い速度で伝送されてもよい（例えば、２倍速）。したがって、順方向ストリームは、リアルタイム映像よりも帯域幅を必要とし得る。同様に、逆方向ストリームは、完全映像（例えば、任意のフレームをスキップせずに）を含み、リアルタイムよりも速い速度で伝送されてもよい。
【００３３】
サーバ１３０は、任意の好適な伝送方式（例えば、ＭＰＥＧ−２  ＱＡＭストリームまたはＤＯＣＳＩＳ  ＱＡＭストリーム）を使用して、逆方向および順方向ストリームをユーザ機器１１０に提供してもよい。例えば、逆方向および順方向ストリームは、映像の伝送に使用されるライブＱＡＭストリーム内の別個の番組として、それぞれ追加されてもよい（例えば、逆方向ストリームは、第１のＰＩＤ（パケット識別子）内に置かれ、順方向ストリームは、第２のＰＩＤ内に置かれ、ＰＩＤは、ＱＡＭストリーム内に存在する）。別の実施例として、逆方向および順方向ストリームは、ライブＱＡＭストリーム内の単一番組として、両方追加されてもよい（例えば、単一ＰＭＴ（番組マップ表）のＰＩＤは、逆方向映像および音声と順方向映像および音声との両方、ならびに本来のリアルタイム映像および音声を識別してもよい）。さらに別の実施例として、サーバは、それぞれ逆方向および順方向ストリーム１つを含む、１つ以上の新しいＱＡＭストリームを生成してもよい。
【００３４】
逆方向ストリームの映像は、例えば、ビット単位の反転（例えば、あたかも、バッファが生成された瞬間からユーザが巻き戻しているように）、ブロック単位の反転、パケット単位の反転、または欠落しているデータのビットをランダムに補完することによって（例えば、ビットトレント（ＢｉｔＴｏｒｒｅｎｔ）方式））等、任意の好適な方法で提供されてもよい。反転ビット以外のアプローチには、巻き戻し機能は、特殊再生クライアントによってキャッシュされた映像が、再生をサポートするために十分連続的となる場合のみ利用可能である。
【００３５】
特殊再生クライアントは、記録装置１１８に、サーバ１３０によって提供される逆方向および／または順方向ストリームを１つ以上のバッファ内にキャッシュさせてもよい。図２は、１つ以上のバッファの例示的データ構造を示す。データ構造２００は、表２１０、バッファ２２２、および２２４を含む。表２１０は、記録装置１１８（例えば、メモリ２２０）、制御回路１１６のメモリ（例えば、ＲＡＭ）、またはユーザ機器１１０の任意の他のメモリ内に格納されてもよい。バッファ２２２および２２４は、記録装置１１８のメモリ２２０内に格納されてもよい（例えば、ハードドライブ上）。表２１０は、映像ストリームの列（例えば、逆方向および順方向ストリーム）、およびストリームをそれぞれのバッファへリンクさせるポインタの列を含む。サーバ１３０からの逆方向／順方向ストリームの受信に応じて、特殊再生クライアントは、表２１０内にストリームの行２１２および２１４を生成する。
【００３６】
逆方向ストリームによって提供される映像は、逆方向バッファ２２２内にキャッシュされる。逆方向バッファ内にキャッシュされた現在のフレームＦｉ−ｒは、ポインタ２３２によって識別される。逆方向バッファ２２２は、ユーザが映像の視聴を開始した時に表示されるフレームＦｎから開始し、映像の最初のフレームであるフレームＦ０で終了する。逆方向バッファは、実質的に継続して、フレームＦｎからフレームＦ０に逆方向に（例えば、ビット単位の反転で）、逆方向ストリームの映像で補完される。同様に、順方向ストリームによって提供される映像は、順方向バッファ２２４内にキャッシュされる。順方向バッファ内の現在のフレームＦｉ−ｆは、ポインタ２３４によって識別される。順方向バッファ２２４は、フレームＦｎから開始し、映像の最終フレームであるフレームＦｙで終了する。特殊再生クライアントは、好ましくは、リアルタイムよりも速い速度で、順方向バッファ２２４内の映像をキャッシュしてもよい。特殊再生クライアントが順方向ストリームを受信しない場合、代わりに、特殊再生クライアントは、順方向バッファ２２４内に映像のリアルタイムストリームをキャッシュする。
【００３７】
いくつかの実施形態では、特殊再生クライアントは、ユーザが所与の時間映像を視聴するまで、逆方向および／または順方向ストリームを要求または受信しない。記録装置１１８が、所与の時間の間にリアルタイムストリームをキャッシュした場合（例えば、リアルタイムバッファ内に）、特殊再生クライアントは、ユーザが映像の視聴を開始した時に、逆方向ストリームを開始し、所与の時間後、順方向ストリームを開始するように要求してもよい。次いで、図３に示されるように、逆方向バッファ３２２は、フレームＦｎ−ｒ（例えば、ユーザが映像の視聴を開始したフレーム）から開始し、順方向バッファ３２４は、フレームＦｎ−ｆ（例えば、所与の時間後の映像のフレーム）から開始し、リアルタイムバッファ３２６は、フレームＦｎ−ｒとＦｎ−ｆとの間の映像を含む。記録装置１１８が順方向ストリームのキャッシュを開始すると、特殊再生クライアントは、記録装置１１８に、リアルタイムストリームのキャッシュを停止させ、同一映像が２回キャッシュされることを回避してもよい。別様に、特殊再生クライアントは、リアルタイムバッファ内にキャッシュされた映像を削除し、サーバ１３０に、同一フレーム、例えば、フレームＦｎ−ｒとＦｎ−ｆとの間の任意のフレームから開始する逆方向および順方向ストリームを提供させてもよい。
【００３８】
ユーザが特殊再生機能を呼び出すと、特殊再生クライアントは、リアルタイム映像ストリームからの映像を、逆方向バッファならびにリアルタイムおよび／または順方向バッファ内にキャッシュされた映像にシームレスに移行させてもよい。次いで、ユーザの特殊再生機能は、遠隔ではなく、サーバから、記録装置内にローカルに格納されたバッファによって提供される。逆方向バッファ内にキャッシュされた映像を再生するために、特殊再生クライアントは、記録装置１１８に、フレームＦ０からフレームＦｎまで逆方向バッファ２２２内にキャッシュされた映像を提供させてもよい。順方向バッファ内にキャッシュされた映像を再生するために、特殊再生クライアントは、記録装置１１８に、フレームＦｎからフレームＦｙまで順方向バッファ２２４内にキャッシュされた映像を提供させてもよい。特殊再生クライアントは、表２１０を使用して（例えば、リンクリスト（ｌｉｎｋｅｄ  ｌｉｓｔ）のようなバッファに接続して）、どのバッファを再生するか識別してもよい。
【００３９】
特殊再生クライアントは、拡張転送制御バー（ｅｎｈａｎｃｅｄ  ｔｒａｎｓｐｏｒｔ  ｃｏｎｔｒｏｌ  ｂａｒ）を使用して、逆方向および順方向バッファの視覚表現を表示してもよい。図４は、ユーザが視聴している映像４０２の例示的画面４００および拡張転送制御バー４１０を示す。拡張転送制御バー４１０は、映像４０２のタイトル４１２、映像が伝送されるチャンネル４１４、ならびに映像の開始時間４１６および終了時間４１８を含む。拡張転送制御バー４１０は、ユーザのために映像４０２の現在の再生位置および時間４２１を示す、カーソル４２０を含む。
【００４０】
拡張転送制御バー４１０は、ユーザが最初に映像の視聴を開始した時点を識別する、マーク４３０を含む。また、拡張転送制御バー４１０は、逆方向および順方向ストリームがそれぞれキャッシュされる、逆方向および順方向バッファの視覚表現を含む。特に、逆方向バッファ表現４３２は、マーク４３０から開始し、映像の先頭へ時間を逆行し、順方向バッファ表現４３４は、マーク４３０から開始し、映像の最後へ時間を前進する。全体としてサーバ１３０が記録またはキャッシュし、順方向ストリームが利用可能な映像には、順方向バッファ表現４３４は、リアルタイムストリームからの映像でキャッシュされたリアルタイムバッファを示してもよい。
【００４１】
図５は、特殊再生クライアントが、逆方向ストリームおよび順方向ストリームの追加部分を記録装置１１８内にキャッシュした後の、図４の拡張転送制御バーを示す（図４および５を比較することによって理解され得る）。拡張転送制御バー５１０では、カーソル５２０は前進し、現在の再生時間が、図４の拡張転送制御バー４１０に示される再生時間から１６分後の７：３６であることを示す。マーク５３０は、図４から動いていないが、逆方向バッファ５３２は、映像の先頭まで前進しており、順方向バッファ５３４は、映像の最後まで前進している。
【００４２】
図６は、拡張転送制御バー内の逆方向および順方向バッファの視覚表現の別の例示的ディスプレイを示す。画面６００は、ユーザが視聴している映像６０２および拡張転送制御バー６１０を含む。拡張転送制御バー６１０は、映像の開始時間６１２および終了時間６１４、ユーザのために現在の再生位置を示すカーソル６２０、ならびに逆方向バッファ６３２および順方向バッファ６３４の表現を含む。また、拡張転送制御バー６１０は、逆方向プレビュー画像６２４および順方向プレビュー画像６２８にそれぞれ付随する、逆方向カーソル６２２および順方向カーソル６２６を含む。特に、逆方向プレビュー画像６２４は、逆方向カーソル６２２の位置に対応し、順方向プレビュー画像６２８は、順方向カーソル６２６の位置に対応してもよい。いくつかの実施形態では、ユーザは、特殊再生クライアントに、複数の逆方向および順方向カーソルならびに付随するプレビュー画像を表示させてもよい。
【００４３】
いくつかの実施形態では、逆方向および順方向カーソルは、特殊再生クライアントが現在キャッシュしている、逆方向および順方向ストリームのフレームに対応してもよい。別様に、逆方向および順方向カーソルは、ユーザの特殊再生要求（例えば、プレビュー画像６２４または６２８の巻き戻しまたは早送り）に対応してもよい。特殊再生クライアントは、プレビュー画像６２４および６２８の一方または両方を自動的に表示してもよく、あるいはユーザは、プレビュー画像の表示を要求してもよい。ユーザが再生を所望するプレビュー画像６２４または６２８内の映像の一部をユーザが識別している場合、ユーザは、フル画面でプレビュー画像表示し、選択されたプレビュー画像の再生部分の映像を再生してもよい。
【００４４】
映像をキャッシュするためのバッファは、任意にサイズが制限されてもよく、または記録装置１１８上で利用可能な容量によってのみ制限されてもよい。バッファのサイズに制限がある場合、または記録装置１１８の利用可能な容量に制限がある場合、バッファは、映像全体をキャッシュするために十分ではない場合がある。拡張特殊再生機能をユーザに提供するためには、特殊再生クライアントは、逆方向および／または順方向ストリームをバッファ内にキャッシュし、必要に応じて、逆方向および／または順方向バッファを上書きし、ユーザ特殊再生要求に適合させてもよい（例えば、逆方向バッファにキャッシュされていない映像まで及ぶ巻き戻し要求に応じて、順方向バッファの代わりにキャッシュされた新しい逆方向ストリームを要求する）。特殊再生クライアントは、代わりにまたは追加で、逆方向および順方向ストリーム内の広告を識別し（例えば、パケット識別子から）、広告をキャッシュしなくてもよい。
【００４５】
映像全体がバッファ内にキャッシュされると、クライアントは、自動的に、またはユーザ命令に応じて、将来の視聴のための記録として、キャッシュされた映像を保存してもよい。いくつかの実施形態では、クライアントは、自動的に、またはユーザ命令に応じて、キャッシュされた不完全な映像をバッファ内に保存してもよい。
【００４６】
いくつかの実施形態では、サーバ１３０は、ユーザ機器１１０に提供されるすべての映像をキャッシュまたは記録しなくてもよい。したがって、特殊再生クライアントは、逆方向および／または順方向ストリームを要求する前に、サーバ１３０が映像をキャッシュまたは記録したかどうか判断してもよい。例えば、特殊再生クライアントは、映像が利用可能であるかどうか、サーバ１３０から表示を受信してもよい。映像が実際に利用可能であるとの判断に応じて、特殊再生クライアントは、逆方向および／または順方向ストリームをサーバ１３０から要求してもよい。
【００４７】
特殊再生クライアントは、任意の好適な時間で、サーバ１３０が、部分的または全体として映像をキャッシュまたは記録したかどうか判断してもよい。例えば、サーバ１３０は、特殊再生クライアントのために、定期的間隔で、サーバがキャッシュまたは記録した、あるいは所与の時間（例えば、次の日または週）の間にするであろう、映像を識別してもよい。さらに、サーバ１３０は、全体として映像がキャッシュまたは記録される時間を、特殊再生クライアントに指定してもよい。それを受けて、特殊再生クライアントは、ユーザのために映像を識別してもよい。例えば、特殊再生クライアントは、アイコンを表示、リスティングに陰影を付与、色を変更、あるいは転送制御バー上または番組グリッド内に任意の他の好適な表示を提供してもよい。
【００４８】
図７は、番組リスティングのグリッド７０２を含む、例示的番組グリッド画面７００を示す。サーバ１３０によってキャッシュまたは記録された、グリッド７０２内にリストされた番組は、アイコン７１０および７１２によって識別される。逆方向アイコン７１０は、サーバ１３０が、アイコンに付随する番組を少なくとも部分的にキャッシュまたは記録し、逆方向ストリームが利用可能であることを示す（例えば、「Ｆｒｉｅｎｄｓ」および「Ｔｈｅ  Ｓｏｐｒａｎｏｓ」）。順方向アイコン７１２は、サーバ１３０が、アイコンに付随する番組を全体としてキャッシュまたは記録し、順方向ストリームが利用可能であることを示す（例えば、「Ｔｈｅ  Ｂｏｕｒｎｅ  Ｉｄｅｎｔｉｔｙ」）。特殊再生クライアントは、逆方向アイコン７１０および順方向アイコン７１２の両方を表示し、逆方向および順方向ストリームの両方が利用可能であることを示してもよい。別様に、特殊再生クライアントは、順方向アイコン７１２のみ表示し、逆方向および順方向ストリームが利用可能であることを示してもよい（例えば、映像全体がキャッシュまたは記録される場合、サーバは、逆方向ストリームを提供し得るからである）。図７は、アイコンを示すが、番組グリッドは、任意の他の好適な表示を含んでもよい。特殊再生クライアントは、１つ以上のインジケータを使用し、ユーザが、逆方向または早送りストリームを要求し得る映像を識別してもよい。
【００４９】
以下の工程図は、本発明のいくつかの実施形態に伴うプロセスを例示する役割を果たす。図８は、ユーザが最初に映像の視聴を開始する前の時点に、映像を巻き戻すための例示的プロセスの工程図である。プロセス８００は、ステップ８０２から開始する。ステップ８１０では、ユーザは、映像がすでに開始された非オンデマンド映像を選択する（例えば、放送開始後の放送番組の視聴を開始する）。例えば、ユーザは、制御回路１１６内のチューナに、チャンネル番号を入力または好適な特殊再生クライアントディスプレイ（例えば、番組ガイドグリッド）から番組を選択することによって、メディアソース１２０から提供されるリアルタイムストリームにチューニングさせてもよい。
【００５０】
ステップ８２０では、特殊再生クライアントは、ユーザが映像に十分な関心を有しており、逆方向ストリームを要求することが保証されるかどうか判断する。例えば、特殊再生クライアントは、ユーザが、所与の時間の間、映像を視聴したか、またはユーザが、特殊再生機能（例えば、「巻き戻し」）を呼び出したかどうか判断してもよい。いくつかの実施形態では、ステップ８２０に先立って、特殊再生クライアントは、サーバ１３０が、選択された映像をキャッシュまたは記録したかどうか判断してもよい。しかしながら、図８に示されるプロセスでは、本ステップは、省略されている。ユーザが映像に十分な関心を有し、逆方向ストリームを要求することが保証されないと、特殊再生クライアントが判断する場合、プロセス８００は、ステップ８５２へ進み、終了する。
【００５１】
代わりに、ステップ８２０において、ユーザが映像に十分な関心を有し、逆方向ストリームを要求することが保証されると、特殊再生クライアントが判断する場合、プロセス８００は、ステップ８３０へ進む。ステップ８３０では、特殊再生クライアントは、サーバ１３０から逆方向ストリームを要求する。逆方向ストリームは、ユーザが最初に映像を選択した時点より前に、メディアソース１２０によって伝送された映像を含む。逆方向ストリームの映像は、ユーザが最初に映像を選択された時間から開始し、映像の先頭に時間を逆方向にストリーム配信してもよい。逆方向ストリームは、例えば、ビット単位の反転等、任意の好適な方法で、映像コンテンツを提供してもよい。
【００５２】
ステップ８４０では、特殊再生クライアントは、サーバ１３０から通信経路１２２を介して、逆方向ストリームを受信し、記録装置１１８に、１つ以上の逆方向バッファ内に逆方向ストリームをキャッシュさせる。ステップ８５０では、特殊再生クライアントは、１つ以上の逆方向バッファを介して映像を巻き戻すことによって、ユーザが最初に映像を選択した時点に映像を巻き戻す。次いで、特殊再生クライアントは、１つ以上の逆方向バッファから、映像を再生してもよい。プロセス８００は、ステップ８５２で終了する。
【００５３】
図９は、映像のリアルタイムストリームがまだ達していない時点に、映像を早送りするための例示的プロセスの工程図である。プロセス９００は、ステップ９０２から開始する。ステップ９１０では、ユーザは、リアルタイムストリーム（例えば、放送番組）によって伝送される非オンデマンド映像を選択する。例えば、ユーザは、制御回路１１６内のチューナに、チャンネル番号を入力したり、または好適な特殊再生クライアントディスプレイ（例えば、番組ガイドグリッド）から番組を選択したりすることによって、メディアソース１２０から提供されるリアルタイムストリームにチューニングさせてもよい。
【００５４】
ステップ９２０では、特殊再生クライアントは、サーバ１３０が、映像全体を記録またはキャッシュしたかどうか判断する。例えば、特殊再生クライアントは、サーバ１３０から、全体として記録またはキャッシュされた映像の表示を要求してもよい。別の実施例として、特殊再生クライアントは、映像が再放送または反復放送番組の場合（例えば、人気シリーズのエピソードの反復放送エピソード）、サーバ１３０が、映像を記録またはキャッシュしたかどうか判断してもよい。サーバ１３０が、映像を記録またはキャッシュしていない場合、特殊再生クライアントが判断する場合、プロセス９００は、ステップ９６２へ進み、終了する。
【００５５】
代わりに、ステップ９２０において、サーバ１３０が映像を記録またはキャッシュしたと、特殊再生クライアントが判断する場合、プロセス９００は、ステップ９３０へ進む。ステップ９３０では、特殊再生クライアントは、ユーザが映像に十分な関心を有しており、順方向ストリームを要求することが保証されるかどうか判断する。例えば、特殊再生クライアントは、ユーザが、所与の時間の間、映像を視聴したか、またはユーザが、特殊再生機能（例えば、「早送り」）を呼び出したかどうか判断してもよい。ユーザが映像に十分な関心を有し、順方向ストリームを要求することが保証されないと、特殊再生クライアントが判断する場合、プロセス９００は、ステップ９６２へ進み、終了する。
【００５６】
代わりに、ステップ９３０では、ユーザが映像に十分な関心を有し、順方向ストリームを要求することが保証されると、特殊再生クライアントが判断する場合、プロセス９００は、ステップ９４０へ進む。ステップ９４０では特殊再生クライアントは、サーバ１３０から順方向ストリームを要求する。順方向ストリームは、少なくともユーザが最初に映像を選択した後（例えば、ユーザが順方向ストリームを要求した時点より後）に、メディアソース１２０によって伝送された映像全体（例えば、任意の映像フレームをスキップせずに）を含む。いくつかの実施形態では、サーバ１３０は、リアルタイムストリームより速い速度（例えば、２倍速以上で）で、順方向ストリームをユーザ機器１１０に提供する。
【００５７】
ステップ９５０では、特殊再生クライアントは、サーバ１３０から通信経路１２２を介して、順方向ストリームを受信し、記録装置１１８に、１つ以上の順方向バッファ内に順方向ストリームをキャッシュさせる。ステップ９６０では、特殊再生クライアントは、順方向バッファを介して、映像を早送りする。次いで、特殊再生クライアントは、１つ以上のキャッシュされた順方向バッファから、映像を再生してもよい。プロセス９００は、ステップ９６２で終了する。
【００５８】
図１０は、逆方向および順方向ストリームをユーザ機器１１０に伝送するための例示的工程図である。プロセス１０００は、ステップ１００２から開始する。ステップ１０１０では、サーバ１３０は、例えば、双方向メディアシステム１００のユーザ機器１１０のインスタンスにも提供されるリアルタイムストリームで、メディアソース１２０から映像を受信する。ステップ１０２０では、サーバ１３０は、ステップ１０１０で受信した映像の一部または全部を記録またはキャッシュするかどうか判断する。サーバ１３０は、任意の好適な基準（例えば、人気映像または好ましい映像プロバイダ）を使用して、特定の映像を記録またはキャッシュするかどうか判断してもよい。いくつかの実施形態では、メディアソース１２０、ユーザ機器１１０、または双方向メディアシステム１００の別の装置は、サーバ１３０のために、どの映像をキャッシュまたは記録するか指定してもよい。
【００５９】
ステップ１０２０において、記録またはキャッシュされるべき映像がないと、サーバが判断する場合、プロセス１０００は、ステップ１０６２へ進み、終了する。代わりに、ステップ１０２０において、少なくとも１つの特定の映像が記録またはキャッシュされるべきと、サーバが判断する場合、プロセス１０００は、少なくとも１つの特定の映像をキャッシュし、ステップ１０３０へ進む。いくつかの実施形態では、プロセス１０００は、ステップ１０２０をスキップし、単にすべての映像を記録またはキャッシュしてもよい。
【００６０】
ステップ１０３０では、サーバ１３０は、映像用のユーザ機器１１０上に実装された特殊再生クライアントから要求を受信する。特殊再生クライアントは、特殊再生クライアントのユーザが、映像の視聴を開始する前に伝送された映像の逆方向ストリームを要求してもよい。また、あるいは代わりに、特殊再生クライアントは、メディアソースから提供される、リアルタイムストリームによってまだ伝送されていない映像の順方向ストリームを要求してもよい。
【００６１】
ステップ１０４０では、サーバ１３０は、サーバ１３０が、要求されたストリームに必要な映像を記録またはキャッシュしたかどうか判断する。例えば、ユーザが、順方向ストリームを要求する場合、サーバは、要求された映像が、すでに全体として記録またはキャッシュされたかどうか判断してもよい。サーバ１３０が、要求されたストリームの全体に必要な映像が記録またはキャッシュされていないと判断する場合、プロセス１０００は、ステップ１０６２へ進み、終了する。
【００６２】
代わりに、ステップ１０４０において、サーバ１３０が、要求されたストリームに必要な映像の少なくとも一部が記録またはキャッシュされたと判断する場合、プロセス１０００は、ステップ１０５０へ進む。例えば、サーバ１３０は、順方向ストリームに必要な映像ではなく、逆方向ストリームに必要な映像がキャッシュされたかどうか判断してもよい。ステップ１０５０では、サーバ１３０は、ストリームに必要な映像で、少なくとも１つの要求されたストリーム（例えば、順方向ストリームまたは逆方向ストリーム）を生成する。ステップ１０６０では、サーバ１３０は、ステップ１０５０で生成された少なくとも１つの要求されたストリームを、通信経路１２２を介して、ユーザ機器１１０上に実装された特殊再生クライアントに伝送する。プロセス１０００は、ステップ１０６２で終了する。
【００６３】
図１１は、ユーザ機器１１０を用いて、逆方向バッファおよび順方向バッファ内にキャッシュされた映像を再生するための例示的工程図である。プロセス１１００は、ステップ１１０２から開始する。ステップ１１１０では、特殊再生クライアントは、逆方向バッファおよび順方向バッファ内にキャッシュされた少なくとも一部の映像をバッファから再生する、ユーザ要求を受信する。例えば、特殊再生クライアントは、先頭から映像を再生する、ユーザ要求受信してもよい。
【００６４】
ステップ１１２０では、特殊再生クライアントは、ユーザが、映像の再生を所望する映像フレームを識別する。例えば、ユーザが、逆方向バッファから映像を巻き戻している際に、「再生」キーを選択する場合、特殊再生クライアントは、ユーザが「再生」キーを選択した時間に表示された映像フレームを識別してもよい。
【００６５】
ステップ１１３０では、特殊再生クライアントは、ステップ１１２０で識別された映像フレームが逆方向バッファ内にあるかどうか判断する。映像フレームが逆方向バッファ内にあると、特殊再生クライアントが判断する場合、プロセス１１００は、ステップ１１４０へ進む。ステップ１１４０では、特殊再生クライアントは、識別されたフレームをディスプレイ装置１１２に表示し、続いて、逆方向バッファの先頭に進み、逆方向バッファ内にキャッシュされた次のフレームを表示する。例えば、逆方向バッファがフレームＦｎから開始し、フレームＦ０で終了し（すなわち、番組の先頭）、特殊再生クライアントがフレームＦｉを識別した場合、特殊再生クライアントは、フレームＦｉ、次いでフレームＦｉ＋１、フレームＦｉ＋２と、フレームＦｎまで表示する。言い換えると、特殊再生クライアントは、先入れ後出し方式で、バッファを介して進む。
【００６６】
ステップ１１５０では、特殊再生クライアントは、逆方向バッファの最終フレームを表示し、順方向バッファに移行する。いくつかの実施形態では、特殊再生クライアントは、代わりに、リアルタイムバッファに移行してもよい（例えば、順方向バッファがない場合、または逆方向バッファと順方向バッファとの間にリアルタイムバッファがある場合）。
【００６７】
ステップ１１６０では、特殊再生クライアントは、順方向バッファの最初のフレームをディスプレイ装置１１２上に表示し、続いて、順方向バッファの最後に進み、順方向バッファ内にキャッシュされた次のフレームを表示する。例えば、順方向バッファが、フレームＦｎから開始し、フレームＦｙ（すなわち、番組の最後）で終了する場合、特殊再生クライアントは、フレームＦｎ、次いでフレームＦｎ＋１、フレームＦｎ＋２と、フレームＦｙまでを表示する。言い換えると、特殊再生クライアントは、先入れ先出し方式で、バッファを介して進む。
【００６８】
また、プロセス１１００は、ステップ１１３０において、特殊再生クライアントが、逆方向バッファ内に映像フレームがない（例えば、識別されたフレームが、順方向バッファ内にある）と判断する場合、ステップ１１６０にアクセスしてもよい。この場合、特殊再生クライアントが、順方向バッファの最初のフレームを初めに表示する代わりに、特殊再生クライアントは、ステップ１１２０で識別されたフレームを初めに表示する。次いで、プロセス１１００は、ステップ１１６２で終了する。
【００６９】
上述の本発明の実施形態は、例示目的のために提示されており、何ら制限されるものではなく、本発明は、以下の請求項によってのみ制限される。
【図１】
2010063178.tif 000003
【図２】
2010063178.tif 000004
【図８】
2010063178.tif 000005
【図９】
2010063178.tif 000006
【図１０】
2010063178.tif 000007
【図１１】
2010063178.tif 000008
【図３】
2010063178.tif 000009
【図４】
2010063178.tif 000010
【図５】
2010063178.tif 000011
【図６】
2010063178.tif 000012
【図７】
2010063178.tif 000013