(57)【特許請求の範囲】
【請求項１】
少なくともビデオ情報へのアクセス中に、該ビデオ情報に関するウェブコンテンツのための少なくとも１つの識別子を含む、ビデオ情報と拡張されたコンテンツ情報とを受信するステップと、
少なくとも１つの識別子の少なくとも一部に基づいて、前記ウェブコンテンツを読み出すステップと、
前記ビデオ情報と前記ウェブコンテンツとが同期できるようにするために、前記ビデオ情報の選択されたビデオフレーム用の時間コードを提供するステップと、
前記ビデオ情報と時間コードとをランダムアクセスメモリに記憶するステップと、
前記拡張されたコンテンツ情報を後の再生のために記憶するステップと、
前記ビデオ情報と関連したウェブコンテンツとの同期した再生ができるように、前記ビデオ情報の後の再生に伴うアクセスのために前記ウェブコンテンツを記憶するステップと
を含んでなる方法。
【請求項２】
前記拡張されたコンテンツ情報をランダムアクセスメモリに記憶するステップをさらに含んでいる請求項１に記載の方法。
【請求項３】
前記ビデオ情報と前記拡張されたコンテンツ情報とをハードディスクドライブに記憶するステップを含んでいる請求項２に記載の方法。
【請求項４】
前記ビデオ情報と前記拡張されたコンテンツ情報とに対して別個のパケットを提供するステップと、少なくとも前記拡張されたコンテンツ情報をもつ前記ビデオ情報に同期するために前記各パケット内に前記時間コードを含めるステップとをさらに含む請求項１に記載の方法。
【請求項５】
キーフレームを前記拡張されたコンテンツ情報から引き出すステップであって、引き出された該キーフレームの少なくとも一部に基づく前記ビデオ情報と前記拡張されたコンテンツ情報とを同期するものである、を含んでいる請求項１に記載の方法。
【請求項６】
前記拡張されたコンテンツ情報が再生されることを可能にするキーフレームを引き出すステップを含んでいる請求項５に記載の方法。
【請求項７】
ウェブブラウザ用バッファのコンテンツを記憶するステップを含んでいる請求項６に記載の方法。
【請求項８】
前記キーフレームを引き出すステップが、前記記憶され拡張されたコンテンツ情報に対するポインタを記憶するステップを含んでいる請求項７に記載の方法。
【請求項９】
プロセッサベースのシステムに、
少なくともビデオ情報へのアクセス中に、該ビデオ情報に関するウェブコンテンツのための少なくとも１つの識別子を含む、ビデオ情報と拡張されたコンテンツ情報とを受信させ、
少なくとも１つの識別子の少なくとも一部に基づいて、前記ウェブコンテンツを読み出させ、
前記ビデオ情報と前記ウェブコンテンツとを同期できるようにするために、前記ビデオ情報の選択されたビデオフレーム用の時間コードを提供させ、
前記ビデオ情報と時間コードとをランダムアクセスメモリに記憶させ、
後の再生のために前記拡張されたコンテンツ情報を記憶させ、
前記ビデオ情報と関連したウェブコンテンツとを同期した再生ができるように、前記ビデオの後の再生に伴うアクセスのために前記ウェブコンテンツを記憶させる命令を記憶した記録媒体。
【請求項１０】
プロセッサベースのシステムに前記拡張されたコンテンツ情報をランダムアクセスメモリに記憶させる命令をさらに記憶する請求項９に記載の記録媒体。
【請求項１１】
ハードディスクドライブにおいて前記ビデオ情報と前記拡張されたコンテンツ情報とをプロセッサベースのシステムに記憶させる命令をさらに記憶する請求項１０に記載の記録媒体。
【請求項１２】
前記ビデオ情報と前記拡張されたコンテンツ情報とに対して別個のパケットをプロセッサベースのシステムに提供させ、少なくとも前記拡張されたコンテンツ情報をもつ前記ビデオ情報に同期するために前記各パケットに対して前記時間コードを提供させる命令をさらに記憶する請求項９に記載の記録媒体。
【請求項１３】
キーフレームを前記拡張されたコンテンツ情報から引き出させる命令をプロセッサベースのシステムにさらに記憶する請求項９に記載の記録媒体。
【請求項１４】
前記拡張されたコンテンツ情報が再生されることを可能にするキーフレームをプロセッサベースのシステムに引き出させる命令をさらに記憶する請求項１３に記載の記録媒体。
【請求項１５】
ウェブブラウザ用バッファのコンテンツをプロセッサベースのシステムに記憶させる命令をさらに記憶する請求項１４に記載の記録媒体。
【請求項１６】
前記記憶され拡張されたコンテンツ情報に対するポインタをプロセッサベースのシステムに記憶させる命令をさらに記憶する請求項１５に記載の記録媒体。
【請求項１７】
プロセッサと、
前記プロセッサに接続されたランダムアクセスメモリであって、ビデオフレームを有するビデオ情報と、該ビデオ情報と関連した拡張されたコンテンツ情報と、該ビデオ情報の任意の部分の再生中に、選択されたいくつかのビデオフレームと前記拡張されたコンテンツとを同期するための時間コードとを記憶し、該同期することが、前記選択されたビデオフレーム用の前記時間コードの少なくとも一部に基づくものであるランダムアクセスメモリと
を含んでなるシステム。
【請求項１８】
後のランダムアクセス再生用に、前記ビデオ情報と前記拡張されたコンテンツ情報とを前記プロセッサに記憶させるようにするプログラムを記憶している、前記プロセッサに接続された記憶装置を含んでいる請求項１７に記載のシステム。
【請求項１９】
前記プログラムが、前記拡張されたコンテンツ情報をソフトウェア式キーフレームとして記憶させるようにする請求項１８に記載のシステム。
【請求項２０】
前記プログラムが、ウェブブラウザ用バッファのコンテンツを前記プロセッサに記憶させるようにする請求項１９に記載のシステム。
【請求項２１】
前記プログラムが、前記記憶され拡張されたコンテンツ情報に対するポインタを記憶しているソフトウェア式キーフレームを前記プロセッサに引き出させるようにする請求項１９に記載のシステム。
【請求項２２】
前記ランダムアクセスメモリがハードディスクである請求項１７に記載のシステム。
【発明の詳細な説明】
【０００１】
[背景技術]
本発明は、ビデオストリームの記録及び再生に関する。ビデオストリームには、オーディオデータ及び／又はビデオデータのストリームの任意の組み合わせを含んでいる。
【０００２】
ビデオストリームは、一般に、ビデオカセットのようなアナログ媒体に記録されている。ビデオカセットレコーダ（以下、「ＶＣＲ」とよぶ）を使用して、ビデオストリームをビデオカセットに記録する。ビデオストリームは、放送信号、ケーブル、衛星信号、又は他のビデオ再生装置から得ることができる。いったんビデオストリームが記録されると、ＶＣＲが記録媒体を巻き戻し、記録されたものを再生するために使用される。しかしながら、アナログ媒体の性質のため、一度ＶＣＲが記録を開始すると、記録部が終了するまで、すでに記録されているビデオストリームの部分を再生することができない。
【０００３】
プログラムのサブタイトルや、緊急メッセージや、クローズドキャプションメッセージや、プログラムガイド情報などの補助的情報を、通常のテレビコンテンツと共に送信することができる。つい最近では、テレビコンテンツと共に送ることができる他の種類の補助的情報は、ウェブページ、マルチメディア情報、又は他のデジタルデータのファイル等の拡張データを含む。補助的情報は、アナログテレビ放送信号の垂直帰線消去区間（vertical blanking interval：以下、「ＶＢＩ」とよぶ）において、又はデジタル送信搬送媒体上にデジタルテレビのコンテンツと共に送ることができる。
【０００４】
テレビコンテンツと共に補助的情報を送信することについては、種々の規格が存在する。１つの規格は、高品位テレビエンハンスメントフォーラム（Advanced Television Enhancement Forum：以下、「ＡＴＶＥＦ」とよぶ）規格の１９９９年２月２日付けの暫定版１．１ｒ２６である。ケーブルシステムや衛星システムや地上波システム等のアナログシステム及びデジタルシステムの両方のテレビコンテンツと一緒に、このＡＴＶＥＦ規格はエンハンスメントデータの送信を規定する。
【０００５】
拡張されたコンテンツを含むビデオ送信の記録部を改良する方法に対する要望が存在する。
【０００６】
[詳細な説明]
図１に示した本発明の１つの実施形態によるビデオ記録及び再生システム１００は、ビデオ入力ポート１０２でビデオストリームを受信する。このビデオストリームは、カメラ、テレビ信号、放送、ケーブル、あるいは衛星信号、又は他のビデオ再生装置によって提供される。１つの実施形態では、アナログ−デジタル変換をアナログのビデオストリーム上で実行して、デジタルのビデオビットストリーム（digital video bit stream）を形成する。別の実施形態では、ビデオはすでにデジタル形式にされている。ビデオ記録及び再生システム１００は、コンピュータシステム又はセットトップボックスなどのシステムの一部とすることができるため、ビデオ入力ポート１０２は、コンピュータシステム又はセットトップボックス内でビデオキャプチャカードの一部とすることができる。
【０００７】
ビデオ入力ポート１０２からのデジタルのビデオストリームは、圧縮ユニット１０４で選択的に圧縮される。１つの実施形態では、ビデオはすでに圧縮されているため、これ以上圧縮する必要はない。そして、ビデオストリームは、記憶ユニット１０８で記憶される。バッファユニット１０６は、記憶ユニット１０８にビデオデータの大きな逐次ブロックを提供する一時記憶装置として使用することができる。１つの実施形態では、バッファユニット１０６は、記憶されたビデオストリームの任意の部分にかなり急速にアクセスすることができるランダムアクセスメモリを含んでいる。
【０００８】
ビデオストリームは、記憶ユニット１０８からビデオストリームを読み取ることによって再生される。ビデオストリームが圧縮ユニット１０４で圧縮される場合には、復元ユニット１１０は読み出されたビデオストリームを圧縮解除する。ビデオストリームはビデオ出力ポート１２０からＴＶなどのモニタ又は他の表示装置に提供されて、音声及び／又はビデオをユーザに提供する。
【０００９】
ビデオ記録及び再生システム１００は、着脱式記憶ユニット１２２も含んでいる。着脱式記憶ユニットの例は、書込み可能なコンパクトディスクのリードオンリーメモリ（ＣＤ−ＲＯＭ）、書込み可能なデジタルビデオディスク（ＤＶＤ）、フラッシュメモリ、又は他のハードディスクを含んでいる。着脱式記憶ユニット１２２の有用性は、ユーザが記憶ユニット１０８に記憶されたビデオストリームの記録コンテンツを着脱式記憶ユニット１２２に転送して、このユニット１２２を違う場所の別のシステムに送ることができることである。
【００１０】
１つの実施形態では、プロセッサ１３０が、ビデオ記録及び再生システム１００の動作をコントロールする。圧縮ユニット１０４及び復元ユニット１１０はハードウェアで実行することができ、又は、ユニット１０４及びユニット１１０の圧縮及び復元機能はプロセッサ１３０が実行することができる。プロセッサ１３０は、よく知られた技術を使用して、ファームウェア／メモリから命令を受け取る。
【００１１】
図２は、本発明の１つの実施形態に基づいて、時間シフトされたビデオストリームを提供する方法の実施形態のフローチャートである。このフローチャートはブロック２００で始まり、ビデオストリームが受信されるブロック２０２に続く。ビデオストリームの記録が、ブロック２０４で始まる。ブロック２０６では、入力ビデオストリームの記録を継続しながら、記録されたビデオストリームの再生が、ランダムアクセス記憶ユニットからビデオストリームの一部を読み出すことによって実行される。ビデオストリームの読み出された部分を、時間遅延によって入力ビデオストリームから時間シフトすることができる。ブロック２０８では、ランダムアクセス記憶ユニットから読み出されたビデオストリームの部分が、テレビ又は他の表示装置が表示するために読み出される。
【００１２】
このように、記録機能と再生機能とが、互いから切り離される。ユーザはこの時記録されたＴＶショーを最初から、すなわち、このショーが完全に記録される前から視聴を開始することができる。
【００１３】
図３は、本発明の１つの実施形態に基づいて、記憶ユニット１０８内にビデオストリームを記憶する装置の１つの実施形態を示している。再度述べるが、本発明は例証された実施形態の範囲に限定されるものではない。この実施形態では、ビデオストリームは、例えば、ハードディスク上に別個のファイル００１〜００９として記憶される。プロセッサ１３０は、再生されるデータファイルへのファイル及びオフセットとともに、記録されるデータファイルへのファイル及びオフセットを追跡する。ランダムアクセス記憶ユニットが十分に高速である場合には、１つ以上のビデオストリームを同時に記録及び再生することができる。
【００１４】
ここで図４に示した実施形態を参照する。本発明の１つの実施形態によれば、ビデオストリームをデジタルで記録するフローチャート４００は、ブロック４０２で示すように、ビデオストリームを受信することによって開始する。ストリームがアナログのストリームである場合（菱形４０３）には、ブロック４０４で示すように、そのストリームはアナログ−デジタル変換プロセスの中でデジタル化される。そして、ブロック４０６で示すように、デジタルのストリームは、例えば、圧縮方式を用いてコード化され圧縮される。ハードディスクドライブや、デジタルビデオディスクや、又はフラッシュメモリのような従来の記憶装置において、ストリームは、ブロック４１０で示すように交互に読み取られ、ブロック４０８で示すように記憶される。記憶装置から読み取られるデータは、ブロック４１４で示すように表示するために、例えば、ブロック４１２で示すように、従来技術を用いてデコードされ復元される。
【００１５】
図５に示した、本発明の１つの実施形態によるシステム５００は、プロセッサ５０２を含んでいる。１つの実施形態では、このプロセッサは、加速グラフィックスポートの実施形態を実現する加速グラフィックスポート（ＡＧＰ）チップセット５０４に接続される。このチップセット５０４は、ＡＧＰポート５０５とグラフィックアクセラレータ５０６とに通信する。グラフィックアクセラレータ５０６のビデオ出力部にテレビ５１０を接続することができる。チップセット５０４は、システムメモリ５０８と接続している。チップセット５０４はバス５１２にも接続される。このバス５１２は、例えば、周辺コンポーネント相互接続（peripheral component interconnect：以下、「ＰＣＩ」とよぶ）バス（１９９８年６月１日付けのPCI Local Bus Specification, Version 2.2）とすることができる。バス５１２はＴＶチューナ／キャプチャカード５１４に接続し、アンテナ５１５又はケーブル入力ポートに接続されるＴＶチューナ／キャプチャカード５１４は、衛星受信機／アンテナ等の他のビデオ入力ポートに接続される。ＴＶチューナ及びキャプチャカード５１４は、所望のテレビチャネルを選択する共に、ビデオ収集機能を実行する（ブロック４０２、図４）。ビデオキャプチャカードの１例は、Intel Corporationから入手可能なＩＳＶＲ−ＩＩＩビデオキャプチャカードである。
【００１６】
バス５１２はブリッジ５１６にも接続され、このブリッジ５１６はハードディスク５１８に接続される。ソフトウェア２００と４００と９００と１２０６と１３００とは、ハードディスク５１８に記憶される。ブリッジ５１６は、別のバス５３２にも接続される。バス５３２は、シリアル入出力（以下、「ＳＩＯ」とよぶ）装置５３４に接続される。装置５３４は、今度は、マウス５３６、キーボード５３８、及び赤外線インターフェース５４０のような従来のコンポーネントに接続される。基本入出力システム（以下、「ＢＩＯＳ」とよぶ）５４２もバス５３２に接続される。
【００１７】
図６に示すように、テレビ５１０用のディスプレイ６００の実施例は、従来のテレビ画像又はプログラム６０１を表示することができ、さらに、アイコン６０２〜６１４のようなマウスで選択可能な一連のアイコンを、スクリーン上にディスクリート方式（discrete fashion）で重ね合わせることができる。マウスのカーソル６１６が適当なアイコンの１つを選択すると、対応する機能が実行される。この方式で実行することができる機能の中には、一時停止機能又はストップ機能６０２と、記録開始機能６０４と、早送り機能６０６と、巻き戻し機能６０８と、１０秒（又は別の量）巻き戻して再生する１０秒再生機能６１０と、生の放送及び電子プログラムガイド６１４に表示が追い付くまで、通常の速度より高速で記録されたコンテンツの再生を開始する追い上げ機能６１２とが含まれる。前述した機能６０２と６０４と６０６と６０８と６１０と６１２とは、リモートコントロールユニット上の個別のボタンとすることもできる。
【００１８】
記憶装置７１０上にビデオストリームを記憶し、記憶装置から情報を読み出す技術は、下記の表１に要約され、図７と図８と図９とに例示されている。図７では、記憶システム７００の概略図が、ハードディスクドライブ７１０等のデジタル記憶装置を含んでいる。デジタル化されたビデオ７０２は、最初は、その時点のメモリスタックの上部に存在するように示されているバッファに記憶される。バッファと記憶装置７１０との間の情報の転送は、本願では時間ステップとよばれる別個の時間周期中に行われる。
【００１９】
【表１】
0003893287.tif 000002
【００２０】
図８に示す第１の時間ステップでは、メモリバッファ７０４がここではメモリスタックの頂部にあるため、図８のブロック８０２に示すように、デジタル化されたビデオ７０２（図７）はこのメモリバッファに記憶される。
【００２１】
バッファ７０４が満杯になると、バッファ７０８が（点線の矢印で示すように）スタックの頂部に移動し、入力ビデオがバッファ７０８に記憶される。図８の時間ステップ２のブロック８０４に示すように、バッファ７０８が、スタックバッファの頂部に指定されて、バッファ７０４と置き換わる。そして、次の入力ビデオが、ブロック８０６に示すように、新しいバッファ（７０８）に記憶される。
【００２２】
時間ステップ３では、バッファ７０８が満杯になり、バッファ７０４及び７０８のコンテンツが単一書込み動作の中で記憶装置７１０に書き込まれる。同じ時間ステップの間に、バッファ７０６がスタックの頂部に移動し、入力ビデオ用の記憶バッファになる。このことは、図８のブロック８０８と８１０と８１２とに示されている。
【００２３】
時間ステップ４においては、バッファ７０４がスタックの頂部に戻り、その以前のコンテンツはすでに記憶装置７１０に保管されているので、入力ビデオを記憶する。このことは、図８のブロック８１４に示されている。さらに、時間ステップ４では、バッファ７０８のコンテンツが、ブロック８１５に示すように、記憶装置７１０に書き込まれる。図８に示すように、入力情報を記憶する動作は、図８の流れの始めに戻り、そして、同じ方法で継続する。
【００２４】
そして、記憶装置７１０からのコンテンツは、時間ステップ４及びブロック８０２において、バッファ７１２及び７１４に読み込まれる。
【００２５】
時間ステップ５では、バッファ７０８がスタックの頂部に移動して入力ビデオを記憶し、バッファ７１４が出力スタックの頂部に移動して、データをビデオ出力部７１８に転送する。そして、バッファ７０４及び７０６のコンテンツが、記憶装置７１０に書き込まれる。
【００２６】
時間ステップ１〜５は、入力から出力までの完全な繰返しを示している。残りの一連のステップは、ステップ１からステップ４でデータの入力を繰り返し、時間ステップ４〜９がデータの出力を繰り返す。
【００２７】
ここで図７及び図９を参照する。ステップ６では、ブロック９０６に示すように、記憶装置に記憶された情報が、第６のバッファ及び第４のバッファ（すなわち、バッファ７１４及び７１６）に読み出される。第５のバッファ（７１２）のコンテンツが、出力ポート７１８に送られる。
【００２８】
時間ステップ７では、第６のバッファ（バッファ７１６）のコンテンツが、出力ポート７１８に送られる。他の出力動作は行われない。
【００２９】
時間ステップ８では、記憶装置７１０からのコンテンツが、ブロック９１２に示すように、第５のバッファ及び第６のバッファ（バッファ７１２及び７１６）に読み出される。また、第４のバッファ（バッファ７１４）のコンテンツが、ブロック９１４に示すように、出力ポート７１８に送られる。
【００３０】
最終的に、時間ステップ９の間に、第５のバッファ（バッファ７１２）のコンテンツが出力ポート７１８に送られて、繰返しが終了する。
【００３１】
これらの技術を用いると、記憶装置はバッファの動作を通して、出力ディスプレイに同時に十分なデータを送りながら、入力ビデオを書き込む十分な時間を備えることになる。メモリを使用して確実にコンテンツが入力端で欠落されないようにされ、また出力端で表示するようにされるため、情報を損なわずに表示を連続的に行うことができる。さらに、一度に多量のデータの読取り及び書込みを行うため、記憶装置のヘッドが動く量が減少され、これにより記憶装置が読取り及び書込みについての要求事項を満たすことができる。
【００３２】
個々のバッファ７０４〜７０８及び７１２〜７１６（「Ｂ」）のメガバイトの大きさは、例えば秒当たりのメガバイトの入力／出力のデータ比「Ｄ」と、例えば秒当たりのメガバイトの読取り又は書込み時の記憶装置の有効帯域幅「Ｓ」と、マイクロセカンド単位のトランザクション当たりの記憶装置に対する平均シーク時間「ｔ」とを含む多数の要因の少なくとも一部に依存する。１つのメモリバッファを満杯にするために必要な時間（ＢをＤで除算する）は、２つのメモリバッファの読取り又は書込みに要する時間（２ＢをＳで除算する）に平均シーク時間（ｔ）を加えた値よりも大きいことが好ましい。つまり、
（Ｂ／Ｄ）≧（２Ｂ／Ｓ）＋（ｔ／１００００００）
である。
上記の式の最小のバッファ寸法を解くと、最小のバッファ寸法を与える次の式が生ずる。
Ｂ≧（ＤＳ／（Ｓ−２Ｄ））×（ｔ／１００００００）
【００３３】
図１０を参照する。１つの実施形態による情報配信システム１０００は、コンテンツ創作者１０１２と、搬送オペレータシステム１０１４と、複数の受信機１０１６とを含んでいる。受信機１０１６は、家庭、オフィス、娯楽施設、又は他の場所を含む様々な受信サイトに配置することができる。コンテンツ創作者１０１２は、リンク１０２４を介して搬送オペレータシステム１０１４に伝達されるエンハンスメントデータ（又は他の種類の補助的情報）とテレビのコンテンツ（又はＡ／Ｖコンテンツを含む他の種類のコンテンツ）とを創り出す。エンハンスメントデータは、グラフィックス（例えば、ウェブページ、マルチメディア情報、又は他のデジタルのデータファイル）と、プレゼンテーション用レイアウトと、同期情報とを含みうる。他の種類の補助的情報は、プログラムのサブタイトルと、クローズドキャプションメッセージと、緊急メッセージと、プログラムガイド情報とを含む。エンハンスメントデータ又は補助的情報とＡ／Ｖコンテンツとの組み合わせを拡張されたコンテンツ（enhanced contents）と呼ぶ。
【００３４】
搬送オペレータシステム１０１４は、地上、ケーブル、衛星又は他の種類の送信機能（アナログ又はデジタルのいずれか）を含みうる拡張されたコンテンツの配信用インフラストラクチャを提供する。搬送媒体１０２２を介して、Ａ／Ｖコンテンツとエンハンスメントデータとを受信機１０１６に送信することができる。この搬送媒体１０２２は、地上、ケーブル、衛星又は他の種類のリンクとすることができる。図１０は、搬送媒体１０２２を衛星リンクとして示している。受信機１０１６は、テレビ、セットトップボックス、パーソナルコンピュータ、又はＡ／Ｖコンテンツ及び関連する拡張されたコンテンツを受信するように適合された他の種類のシステムを含みうる。
【００３５】
図１１に示すように、本発明の１つの実施形態によれば、送信機１１１２はビデオと拡張されたコンテンツとを受信機１１１４に送信する。そして、このビデオと拡張されたコンテンツとは、ディスプレイ１１１６上に表示することができる。代わりに、拡張されたコンテンツとビデオとの間をブロック１１１８に示すように同期させて、拡張されたコンテンツとビデオとの両方をブロック１１２０に示すように記憶することができる。
【００３６】
拡張されたコンテンツを含むシステムでは、時間シフトされた再生用の放送中断及び再開を、オーディオ及びビデオの情報と拡張されたコンテンツとの両方に提供することができる。このことは、拡張されたコンテンツがオリジナルの放映の間にあらかじめ動作される場合は拡張されたコンテンツを放映するか、又はオリジナルのビデオ情報を再生して、ユーザが再生している間に拡張されたコンテンツを視聴することを選択できるようにすることを意味している。
【００３７】
圧縮されたビデオストリームの中の選択されたポイントへのランダムアクセスは、本発明の１つの実施形態では、キーフレーム機構（key frame mechanism）によって提供される。キーフレーム又はコード化内（intra-coded）（Ｉ）フレームは、ビデオの完全な静止フレームである。圧縮されたビデオにおける双方向（Ｂ）又は予測（Ｐ）フレームのような他のフレームは、動画エキスパートグループ（ＭＰＥＧ）システムの周りのフレームから異なるものとして示される。ＭＰＥＧ−２は、国際標準化機構（ＩＳＯ）及び国際電気標準会議（ＩＥＣ）規格の１３８１８−１（システム）と、１３８１８−２（ビデオ）と、１３８１８−３（オーディオ）と、１３８１８−４（コンプライアンス）（１９９４）とを引用する。キーフレームは自己完結型であるため、追加の処理なしで流れの中で任意のキーフレームから再生を再開することができる。
【００３８】
ハイパーテキスト記述のマークアップ言語（hypertext mark up language：以下、「ＨＴＭＬ」とよぶ）の命令の任意の流れの中のランダムアクセスは困難である。このため、キーフレームが、ＨＴＭＬデータ及び他の拡張されたコンテンツを取り巻くために提供される。ウェブブラウザのソフトウェアの事例は、受信されたデータストリームを読み取り、命令を処理し、データをオフスクリーンバッファ（off screen buffer）に送ることができる。図１２に示すように、指定された時間間隔で、オフスクリーンのウェブブラウザ用バッファ１２００のスナップショット１２０２が撮影される。このスナップショット１２０２をブラウザソフトウェアの内部状態変数１２０４を用いて選択的に圧縮して記憶して、ソフトウェア式キーフレーム１２０６を創り出す。そして、このソフトウェア式キーフレーム１２０６は、例えば、Ａ／Ｖコンテンツと同期してハードディスク１２０８上に記憶される。
【００３９】
その結果、記録されたストリームのどのポイントからでも、拡張されたコンテンツを再生することができる。再生が再開されると、状態変数がブラウザの具体例の中に再ロードされ、オンスクリーンのブラウザ用ウィンドウがソフトウェア式キーフレームによりリフレッシュされる。そして、エンハンスドビデオストリームの処理が、ビデオストリーム内の指示されたポイントから再開することができる。
【００４０】
動作に際しては、図１３のブロック１３０２に示すように、ソフトウェア１３００により、拡張されたコンテンツとビデオ情報とを含む入力ストリームは、受信されるとブラウザによって読み取られる。（ブロック１３０６では）コンテンツが読み取られる。ブラウザの内部状態は、拡張されたコンテンツのストリームをあるポイントまで読み取った結果である。そして、特定の時間におけるストリームの状態を再現するために、流れの前後に来るものに影響されずに、ソフトウェア式キーフレームによってフレームの再構成が可能にされる（ブロック１３０８）。ブラウザは、受信された命令の処理に基づく内部状態を有する。このため、ブラウザの状態の以前に定義されたポイントを、ユーザからの命令により再ロードすることができる。
【００４１】
ストリームが再生される場合には、拡張されたコンテンツが始めに表示されたときに動作された拡張された機能は、オーディオビデオのストリームの一部として表示される。拡張されたコンテンツが始めに表示されない場合には、ホットスポット又は拡張されたコンテンツへのリンクが表示されて、希望する場合には、視聴者が再生の間に拡張されたコンテンツを選択することができる。本発明のいくつかの実施形態では、拡張されたデータがビデオに同期される、いわゆる搬送形Ｂ機構を利用する。Enhanced Content Specification, Advanced Television Enhancement Forum（www.atvef.comで入手可能）を参照のこと。しかしながら、本発明は、ユニフォームリソースローケータ（以下、「ＵＲＬ」とよぶ）がビデオ情報から拡張されたデータにリンクするために提供される、搬送形Ａのシナリオ（scenario）にも適用することができる。
【００４２】
本発明のいくつかの実施例では、送信する場合には、拡張されたコンテンツとビデオ情報との間が同期される。ビデオと拡張されたコンテンツとを同期する識別子を提供するために、時間コードのトラックを利用することができる。ビデオと拡張されたコンテンツとのデータの各パケット内にこの時間コードを設けて、所定のパケット内の同期を取ることができる。そして、時間コードを利用して、例えば表示するために必要な場合には、ビデオと拡張されたコンテンツとその再結合とを別個に多重化することをコントロールすることができる。別の方法では、ビデオパケットと拡張されたコンテンツのパケットとが解析され分離されるが、時間コードを利用して表示するためにそれらを復元することができる。
【００４３】
ウェブブラウザは、一般に、ごく最近表示されたウェブページとグラフィックスとをメモリ又はディスクベースのキャッシュに保持している。このため、各ソフトウェア式キーフレームがブラウザ用キャッシュ全体のコンテンツを含んでいる場合には、キーフレームは極めて大きくなる可能性がある。しかしながら、ウェブブラウザは、拡張されたコンテンツ又はＨＴＭＬオブジェクトの別個のコピーをキャッシュする必要はない。その代わりに、オリジナルのビデオに拡張されたコンテンツを加えたストリームが記録されているので、ウェブブラウザは、前に記録されたストリーム内のＨＴＭＬオブジェクト又は拡張されたデータの位置への照会のみをキャッシュすることができる。そして、全体の記録されたプログラムがその記憶装置から除かれるまで、ウェブブラウザ用キャッシュを空にする必要はない。
【００４４】
本発明の１つの実施形態によれば、ソフトウェア式キーフレームは、ブラウザ用キャッシュ全体のコンテンツではなく、ブラウザのローカル状態変数のスナップショットとすることができる。ブラウザの状態は、スクリーンバッファとスタックとヒープとを含んでいる。このため、ブラウザ用キャッシュのオブジェクトは取り込まれないが、その代わりに、照会が例えば時間コードに取り込まれて、記録された情報を見つけるために、データストリームへのオフセットを与える。
【００４５】
ビデオデータは、ビデオフレーム又は複数のビデオフレームを定義することができる。各ビデオフレーム（１つ以上のビデオフレームが含まれている場合）は、フレーム識別子によって識別することができる。このフレーム識別子は、例えば、映画や、テレビのプログラムや、又はウェブサイト等のビデオのプレゼンテーションを構成する複数のビデオフレームの各フレームを識別する。
【００４６】
１つの従来のフレーム識別子は、Society of Motion Picture and Television Engineers（以下、「ＳＭＰＴＥ」とよぶ）を含む各種の工業規格の１つに基づく時間コードである。従来は、時間コードは、オーディオとビデオのトラック間の同期を可能にするために利用される。別の時間コードは、垂直消去期間時間コード（vertical interval time code：以下、「ＶＩＴＣ」とよぶ）である。このＶＩＴＣは、ビデオを記憶している媒体が中断される場合でさえ読み取ることができるため、いくつかのアプリケーションでは都合が良い。
【００４７】
ＳＭＰＴＥ時間コードは、ＨＨ：ＭＭ：ＳＳ：ＦＦのフォーマットで記録される放送規格の時間である。ここで、ＦＦは００〜２９のフレーム数であり、ＨＨは時間を示す２桁のコードであり、ＭＭは分を示す２桁のコードであり、ＳＳは秒を示す２桁のコードである。フレーム率が毎秒３０フレームと仮定すると、ＳＭＰＴＥ時間コードは、映画や、テレビのプログラム又は他のビデオ情報等のビデオシーケンスの全てのフレームを識別することができる。
【００４８】
１つの実施形態では、本発明は時間コードを使用して所定のフレームを識別するが、本発明は決して時間フレームの使用に限定されるものではない。時間コードは、複数のフレームの１つを識別する便利な方法に過ぎない。フレームのそれぞれを識別するために、各フレームに単に連続した識別子を与えることを含む別の技術を利用することもできる。
【００４９】
このため図１４を参照する。本発明の１つの実施形態によれば、ビデオのキーフレーム１４２４とソフトウェア式キーフレーム１４２６とが付いたパケット１４２２は、単一の時間コード１４２８を含んでいる。ビデオのキーフレーム１４２４は、符号１４３０に示すように、ビデオ記憶装置１４３２にアクセスするために使用することができる。同様に、ソフトウェア式キーフレームは、ブラウザ全体のキャッシュを記憶することを必要とせずに、符号１４３４に示すように、ブラウザ用キャッシュ１４３６を参照するために提供される。これにより、不要な処理を行う必要がなく、記憶空間が残される。
【００５０】
本発明の別の実施形態によれば、図１５に示すように、時間コード１４２８ａは、単一のパケット１５００として、ビデオのキーフレーム１４２４と接続されている。同時に、時間コード１４２８ｂは、別個のパケット１５０２として、ソフトウェア式キーフレーム１４２６に接続されている。ここでは、ビデオのキーフレームを使用して、ビデオ記憶装置１４３２にアクセスすることができる。ソフトウェア式キーフレーム１４２６を使用して、ブラウザ用キャッシュ１４３６にアクセスすることができる。本発明の１つの実施形態によれば、対応するビデオのキーフレーム１４２４が、例えば表示するために、対応するソフトウェア式キーフレーム１４２６にリンクされることを可能にするために、時間コード１４２８ａ及び１４２８ｂは同一であるとすることができる。その結果、拡張されたコンテンツとビデオ情報との両方は、ランダムアクセスメモリを用いて再生することができる。
【００５１】
本発明を限られた数の実施形態に関して説明してきたが、当業者はこれらの実施形態からの多くの修正例及び変更例を理解されよう。添付した特許請求の範囲が、本発明の真の精神及び範囲の中に入る全てのそのような修正例や変更例をカバーするものとする。
【図面の簡単な説明】
【図１】  本発明の１つの実施形態による、ビデオ記録及び再生システムのブロック図である。
【図２】  本発明による時間シフトされたビデオストリームを提供する方法の１つの実施形態のフローチャートである。
【図３】  本発明による、ビデオストリームをハードディスク上に記憶する装置の１つの実施形態を示す概略図である。
【図４】  本発明に基づいて、ビデオストリームを記録及び再生するシステムの１つの実施形態を示すフローチャートである。
【図５】  本発明の１つの実施形態を実行する上で有用なコンピュータシステムのブロック図である。
【図６】  本発明の１つの実施形態を実現する一般的なＴＶディスプレイを示す概略図である。
【図７】  本発明の１つの実施形態に基づいて、どのようにデータが、メモリ装置に又はメモリ装置から転送されるかを示すブロック図である。
【図８】  本発明の１つの実施形態に基づいて、記憶装置への入力ビデオ情報の流れを示すフローチャートである。
【図９】  本発明の１つの実施形態に基づいて、記憶装置からのデータの流れを示すフローチャートである。
【図１０】  本発明の１つの実施形態の概略図である。
【図１１】  本発明の１つの実施形態に基づいてビデオ及びデータを同期させた、本発明の１つの実施形態の概略図である。
【図１２】  ソフトウェア式キーフレームを実行する、本発明の１つの実施形態の概略図である。
【図１３】  本発明の１つの実施形態を実行するソフトウェアのフローチャートである。
【図１４】  図１１に示した実施形態の中で使用することができるデータフォーマットの概略図である。
【図１５】  図１１の実施形態と共に使用することができる別のデータフォーマットの概略図である。
【図１】
0003893287.tif 000003
【図２】
0003893287.tif 000004
【図３】
0003893287.tif 000005
【図４】
0003893287.tif 000006
【図５】
0003893287.tif 000007
【図６】
0003893287.tif 000008
【図７】
0003893287.tif 000009
【図８】
0003893287.tif 000010
【図９】
0003893287.tif 000011
【図１０】
0003893287.tif 000012
【図１１】
0003893287.tif 000013
【図１２】
0003893287.tif 000014
【図１３】
0003893287.tif 000015
【図１４】
0003893287.tif 000016
【図１５】
0003893287.tif 000017