(57)【要約】【課題】連続的デジタル情報ストリームの操作を行う新規で独特な機能を提供すること。【解決手段】ビデオセグメント、オーディオセグメント、情報ストリーム等のフォーマット化されたデジタルデータの連続ストリームは、特定の環境下において固定された長さのセグメントとなり、連続ストリームと同期して時間的に前方に移動する連続ストリーム内で仮想セグメントを定める。このように定められた仮想セグメントは、任意の再生速度で非線形形式において探査することができる。【選択図】図１
2007325294.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ信号を捕捉及び記憶する方法であって、
前記ビデオ信号をデジタルブロックとして記憶するための複数の線形キャッシュを準備する段階と、
前記ビデオ信号を捕捉するための信号捕捉手段であって、多重化された成分を別々の線形キャッシュに記憶する前に該多重化された成分を前記ビデオ信号から分離する信号捕捉手段を、準備する段階と、
ストリーミングアクセスのために前記線形キャッシュのうちの一部を選択するためのキャッシュ再生手段を準備する段階と、
前記線形キャッシュからのストリーミングアクセス速度を制御するためのキャッシュ制御手段を準備する段階と、
前記キャッシュ再生手段に対する伝送のために前記線形キャッシュからのストリーミングデジタルブロックを同期させる段階と、
を含み、
前記キャッシュ制御手段が、ストリーミングアクセスの速度及び方向を制御するために、クロックイベントを前記キャッシュ再生手段に送信し、
前記同期させる段階が、前記ストリーミングデジタルブロックが相互に正しく配置されるように、前記線形キャッシュからのストリーミングデジタルブロックを同期させ、
前記線形キャッシュが、前記ビデオ信号のうちの現在捕捉されている部分を含む該ビデオ信号の過去のヒストリの中にタイムスパンを表現するウィンドウを維持し、
前記線形キャッシュが前記窓の外側にある情報を放棄する、
ことを特徴とする方法。
【請求項２】
前記同期手段が、線形キャッシュをキーストリームとして指定し、付加的な線形キャッシュを前記キーストリームに同期させる、請求項１に記載の方法。
【請求項３】
前記キャッシュ再生手段からのストリーミングされたデジタルブロックを表示装置に表示する表示手段を準備する段階をさらに含み、
前記表示手段が、前記表示手段に対する表示の前に前記ストリーミングされたデジタルブロックをデコードする、請求項１に記載の方法。
【請求項４】
各デジタルブロックは、該ブロックを前記表示手段に表示すべき時を示すタイムスタンプを用いてマークされる、請求項３に記載の方法。
【請求項５】
前記キャッシュ再生手段が、前記線形キャッシュに対するランダムアクセスを与える、請求項１に記載の方法。
【請求項６】
前記キャッシュ再生手段が、一時停止、巻き戻し、高速送り、再生、高速再生、低速再生、スキップ／ジャンプ、リプレイ、繰り返し及び逆再生のうちのいずれかを含む機能を与える、請求項１に記載の方法。
【請求項７】
前記線形キャッシュからの或る範囲の情報を捕捉するためのクリップ捕捉手段を準備する段階をさらに含む、請求項１に記載の方法。
【請求項８】
前記クリップ捕捉手段が前記或る範囲の情報を記憶装置に保存する、請求項７に記載の方法。
【請求項９】
前記クリップ捕捉手段が前記或る範囲の情報をデコードしかつ表示装置に表示する、請求項７に記載の方法。
【請求項１０】
前記クリップ捕捉手段が、前記或る範囲の情報を送信のための適切なフォーマットに変換する、請求項７に記載の方法。
【請求項１１】
前記キャッシュ再生手段が前記キーストリームを介して現在のブロックインジケータを前方に移動させることにより早送り機能を実現する、請求項２に記載の方法。
【請求項１２】
前記キャッシュアクセス手段が各クロックイベントについて前記現在のブロックインジケータを１ブロック移動させる、請求項１１に記載の方法。
【請求項１３】
前記キャッシュ再生手段は、前記クロックイベント速度が高い場合には、前記キーストリームにおける中間ブロックをスキップしてキーフレームのみを選択する、請求項１１に記載の方法。
【請求項１４】
前記キャッシュ再生手段が前記キーストリームを介して現在のブロックインジケータを後方に移動させることにより巻き戻し機能を実現する、請求項２に記載の方法。
【請求項１５】
前記キャッシュアクセス手段が各クロックイベントについて前記現在のブロックインジケータを１ブロック移動させる、請求項１４に記載の方法。
【請求項１６】
前記キャッシュ再生手段は、前記現在のブロックインジケータを前記キーストリームにおける最も古いブロックを越えて移動させることができない場合には、前記キーストリームを介して現在のブロックインジケータを前方に移動させることに戻る、請求項１４に記載の方法。
【請求項１７】
前記キャッシュ再生手段が、現在のブロックインジケータを前記キーストリームにおける１つのブロックにロックすることにより一時停止機能を実現する、請求項２に記載の方法。
【請求項１８】
前記キャッシュ再生手段は、クロックイベントが前記現在のブロックインジケータを前記キーストリームにおける最も新しいブロックを越えて移動させることになった場合には、前記キーストリームを介して前記現在のブロックインジケータを前方に移動させることに戻る、請求項１７に記載の方法。
【請求項１９】
データストリームを捕捉及び記憶する方法であって、
前記データストリームからの情報を記憶するための線形キャッシュを準備する段階と、
前記線形キャッシュに記憶された情報に対するストリーミングアクセスのために該線形キャッシュのうちの一部を選択するためのキャッシュアクセス手段を準備する段階と、
前記線形キャッシュに対するストリーミングアクセス速度を制御するためのキャッシュ制御手段を準備する段階と、
前記キャッシュアクセス手段に対する伝送のために前記線形キャッシュからのストリーミングされた情報を同期させるための同期手段を準備する段階と、
を含み、
前記キャッシュ制御手段が前記ストリーミングアクセスの速度及び方向を制御し、
前記線形キャッシュが、前記データストリームのうちの最近記憶された部分を含む該データストリームの過去のヒストリの中にタイムスパンを表現するウィンドウを維持し、
前記線形キャッシュが、前記ウィンドウの外側にある情報を放棄する、
ことを特徴とする方法。
【請求項２０】
前記キャッシュ制御手段が、前記ストリーミングアクセスの速度及び方向を制御するためにクロックイベントを前記キャッシュアクセス手段に対して送信する、接続拒絶メッセージ１９に記載の方法。
【請求項２１】
特定のデータストリームのタイプについての情報を捕捉するストリーム捕捉手段であって該情報を前記線形キャッシュに記憶する前にエンコードするストリーム捕捉手段を準備する段階をさらに含む、請求項１９に記載の方法。
【請求項２２】
前記線形キャッシュが前記情報をデジタルブロックのリストとして記憶する、請求項１９に記載の方法。
【請求項２３】
前記キャッシュアクセス手段からの前記ストリーミングされた情報を表示装置に表示するための表示手段を準備する段階をさらに含む、請求項１９に記載の方法。
【請求項２４】
前記表示手段が前記表示装置に対する表示の前に前記ストリーミングされた情報をデコードする、請求項２３に記載の方法。
【請求項２５】
前記キャッシュアクセス手段から記憶装置に対する前記ストリーミングアクセスを表示する表示手段を準備する段階をさらに含む、請求項１９に記載の方法。
【請求項２６】
前記キャッシュ再生手段が前記線形キャッシュに対するランダムアクセスを与える、請求項１９に記載の方法。
【請求項２７】
前記キャッシュ再生手段が、一時停止、巻き戻し、高速送り、再生、高速再生、低速再生、スキップ／ジャンプ、リプレイ、繰り返し及び逆再生のうちのいずれかを含む機能を与える、請求項１９に記載の方法。
【請求項２８】
前記線形キャッシュからの或る範囲の情報を捕捉するクリップ捕捉手段を準備する段階をさらに含む、請求項１９に記載の方法。
【請求項２９】
前記クリップ捕捉手段が前記或る範囲の情報を記憶装置に保存する、請求項２８に記載の方法。
【請求項３０】
前記クリップ捕捉手段が、前記或る範囲の情報を送信のための適切なフォーマットに変換する、請求項２８に記載の方法。
【請求項３１】
前記キャッシュアクセス手段が前記キャッシュを介して現在のブロックインジケータを前方に移動させることにより早送り機能を実現する、請求項１９に記載の方法。
【請求項３２】
前記キャッシュアクセス手段が前記キャッシュ制御手段により生成された各クロックイベントについて前記現在のブロックインジケータを１ブロック移動させる、請求項３１に記載の方法。
【請求項３３】
前記キャッシュアクセス手段は、前記キャッシュ制御手段からの前記クロックイベントの速度が高い場合には、前記線形キャッシュにおいて中間ブロックをスキップしてキーフレームのみを選択する、請求項３１に記載の方法。
【請求項３４】
前記キャッシュアクセス手段が前記キャッシュを介して現在のブロックインジケータを後方に移動させることにより巻き戻し機能を実現する、請求項１９に記載の方法。
【請求項３５】
前記キャッシュアクセス手段が、前記キャッシュ制御手段により生成された各クロックイベントについて前記現在のブロックインジケータを１ブロック移動させる、請求項３４に記載の方法。
【請求項３６】
前記キャッシュアクセス手段は、前記現在のブロックインジケータを前記線形キャッシュにおける最も古いブロックを越えて移動させることができない場合には、前記キャッシュを介して前記現在のブロックインジケータを前方に移動させることに戻る、請求項３４に記載の方法。
【請求項３７】
前記キャッシュアクセス手段が、現在のブロックインジケータを前記キャッシュにおける１つのブロックにロックすることにより一時停止機能を実現する、請求項１９に記載の方法。
【請求項３８】
前記キャッシュアクセス手段は、前記現在のブロックインジケータを前記線形キャッシュにおける最も新しいブロックを越えて移動させる場合には、前記キャッシュを介して前記現在のブロックインジケータを前方に移動させることに戻る、請求項３７に記載の方法。
【請求項３９】
データストリームを処理する方法であって、
前記データストリームからの情報をデジタルブロックとして記憶するための複数の線形キャッシュを準備する段階と、
ストリーミングアクセスのために前記線形キャッシュのうちの一部を選択するためのキャッシュアクセス手段を準備する段階と、
前記線形キャッシュからのストリーミングアクセス速度を制御するキャッシュ制御手段を準備する段階と、
を含み、
前記キャッシュ制御手段がストリーミングアクセスの速度及び方向を制御し、
前記線形キャッシュが、前記データストリームのうちの最近記憶された部分を含む該データストリームの過去のヒストリの中にタイムスパンを表現するウィンドウを維持し、
前記線形キャッシュが、前記ウィンドウの外側にある情報を放棄する、
ことを特徴とする方法。
【請求項４０】
前記キャッシュアクセス手段に対する伝送のために前記線形キャッシュからのストリーミングデジタルブロックを同期させる同期手段を準備する段階をさらに含み、
前記同期手段は、前記ストリーミングデジタルブロックが相互に正しく配置されるように、前記線形キャッシュからの前記ストリーミングデジタルブロックを同期させる、請求項３９に記載の方法。
【請求項４１】
特定のデータストリームのタイプについての情報を捕捉するためのストリーム捕捉手段を準備する段階をさらに含む、請求項３９に記載の方法。
【請求項４２】
前記情報を線形キャッシュに記憶する前にデコードする段階をさらに含む、請求項４１に記載の方法。
【請求項４３】
前記同期手段が、線形キャッシュをキーストリームとして指定し、付加的な線形キャッシュを前記キーストリームに同期させる、請求項３９に記載の方法。
【請求項４４】
前記キャッシュアクセス手段からの前記ストリーミングされたデジタルブロックを表示装置に表示する表示手段を準備する段階をさらに含む、請求項３９に記載の方法。
【請求項４５】
各デジタルブロックは、該ブロックを前記表示手段に表示させるべき時を示すタイムスタンプを用いてマークされる、請求項４４に記載の方法。
【請求項４６】
前記表示手段が前記ストリーミングされたデジタルブロックを前記表示装置に表示する前にデコードする、請求項４４に記載の方法。
【請求項４７】
前記キャッシュアクセス手段から記憶装置に対するストリーミングアクセスを表示するための表示手段を準備する段階をさらに含む、請求項３９に記載の方法。
【請求項４８】
各デジタルブロックが、該ブロックを前記表示手段に表示すべき時を示すタイムスタンプを用いてマークされる、請求項４７に記載の方法。
【請求項４９】
前記キャッシュアクセス手段が前記線形キャッシュに対するランダムアクセスを与える、請求項３９に記載の方法。
【請求項５０】
前記キャッシュアクセス手段が、一時停止、巻き戻し、高速送り、再生、高速再生、低速再生、スキップ／ジャンプ、リプレイ、繰り返し及び逆再生のうちのいずれかを含む機能を与える、請求項３９に記載の方法。
【請求項５１】
前記線形キャッシュからの或る範囲の情報を捕捉するクリップ捕捉手段を準備する段階をさらに含む、請求項３９に記載の方法。
【請求項５２】
前記クリップ捕捉手段が前記或る範囲の情報を記憶装置に保存する、請求項５１に記載の方法。
【請求項５３】
前記クリップ捕捉手段が前記或る範囲の情報を選択された伝送フォーマットに変換する、請求項５１に記載の方法。
【請求項５４】
前記キャッシュアクセス手段が前記キーストリームを介して現在のブロックインジケータを前方に移動させることにより早送り機能を実現する、請求項４３に記載の方法。
【請求項５５】
前記キャッシュアクセス手段が前記キャッシュ制御手段により生成された各クロックイベントについて前記現在のブロックインジケータを１ブロック移動させる、請求項５４に記載の方法。
【請求項５６】
前記キャッシュアクセス手段は、前記キャッシュ制御手段からの前記クロックイベント速度が高い場合には、前記キーストリームにおける中間ブロックをスキップしてキーフレームのみを選択する、請求項５４に記載の方法。
【請求項５７】
前記キャッシュアクセス手段が前記キーストリームを介して現在のブロックインジケータを後方に移動させることにより巻き戻し機能を実現する、請求項４３に記載の方法。
【請求項５８】
前記キャッシュアクセス手段が前記キャッシュ制御手段により生成された各クロックイベントについて前記現在のブロックインジケータを１ブロック移動させる、請求項５７に記載の方法。
【請求項５９】
前記キャッシュ再生手段は、前記現在のブロックインジケータを前記キーストリームにおける最も古いブロックを越えて移動させることができない場合には、前記キーストリームを介して前記現在のブロックインジケータを前方に移動させることに戻る、請求項５７に記載の方法。
【請求項６０】
前記キャッシュ再生手段が現在のブロックインジケータを前記キーストリームにおける１つのブロックにロックすることにより一時停止機能を実現する、請求項４３に記載の方法。
【請求項６１】
前記キャッシュ再生手段は、前記キャッシュ制御手段により生成されたクロックイベントが、前記キーストリームにおける最も新しいブロックを越えて前記現在のブロックインジケータを移動させることとなった場合には、前記キーストリームを介して前記現在のブロックインジケータを前方に移動させることに戻る、請求項６０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号処理に関する。より詳細には、本発明は、様々なフォーマットで表現されたデジタル情報の線形ストリームの受渡し或いは捕捉を行う一群の方法に関する。
【背景技術】
【０００２】
高機能のデジタル信号処理手法を用いた民生オーディオやビデオ製品の出現に伴い、デジタル技術の潜在能力をフルに活用する方策を見出すことが必要とされるようになっている。例えば、様々なフォーマットで表現されたデジタル情報の線形ストリームの受渡し或いは捕捉のための方法を提供するとともに、同時に、明らかに局所のデジタルストリームについて仮想セグメントの再位置決めや再生を考慮して局所で記憶されたデジタルストリームの顧客への発信を行うことが望まれることになる。
【０００３】
これら機能の一部を行う機械的装置として、磁気テープを使って情報を記憶するビデオカセットレコーダ（ＶＣＲ）がある。テープの本質的に線形な特性は、巻き戻し、早送り、一時停止等の機能をもたらす。しかし、ＶＣＲは、情報の捕捉と再生とを同時に行うことはできないため、この性能を実施するように使用することは不可能である。
情報の線形ストリームは現代生活に欠かせない存在である。ラジオ放送局、テレビ放送局、衛生放送、ケーブルテレビ、ビデオテープ、及びコンパクトディスクを考慮しなくてはならない。すると、このような情報は、ますます、コンピュータや媒体デコーダのような自動化された電子的ハードウェアによる操作に適した形に表現される。例えば、ダイレクトビデオ放送（ＤＶＢ）標準は、衛星、地上局、及びケーブルテレビシステムからの放送を扱う。おなじみの地方局からの普通のＮＴＳＣ（全国テレビジョン方式委員会）放送等のアナログ放送でさえ、近代な機器によってリアルタイムに捕捉してデジタル化され、それらを線形デジタルストリームのようにすることができる。
【０００４】
このようなストリームは終結することがなく、更にこのようなストリームをどのように伝えるかを直接的に操作することはできないが、一時停止、巻き戻し、早送り等の典型的なＶＣＲ類の機能がストリームに対して実行されるというような方法で、少し前のストリーム部分が局所で記憶されているという錯覚を顧客に与えることが望ましい。この性能に対する要望は、放送予定やタイミングがほとんど個々の視聴者のニーズに合わないことから生じる。例えば、視聴者は、手に負えない子供の規律を守らせるために少しの間ストリームを停止することを望むかもしれない。或いは、ことによると視聴者の注意がストリームから離れて大切なシーンを見逃すことになるかもしれず、このような場合に視聴者は見逃した部分を巻き戻してもう一度それを見たいであろう。
【０００５】
理想的には、視聴者の近くの装置が全てのストリームをそれが放送された際、捕捉して何らかの方法でそれを記憶すべきである。例えば、２つのビデオテープレコーダが使えるとすると、２つの間で卓球にようにやりとりすることができるかもしれない。この場合、第1レコーダは対象の番組の開始時点で起動する。視聴者が放送を巻き戻したければ、第２レコーダが録画を開始するとともに、第１レコーダは停止し、適切な位置に巻き戻されて再生を始める。しかし、最初に巻き戻しが要求された後に視聴者がある位置に早送りしたいという場合には、少なくとも第３のビデオテープレコーダが必要となる。この場合、第３のレコーダは放送ストリームの録画を開始するとともに、第２レコーダは停止して適切な位置に巻き戻される。これを行い続けると、この装置が不恰好で信頼性に欠けしかも高価で扱いにくいものとなり、更に望まれる機能を何も果たさないことは誰でも直ぐに気がつくことである。更に、テープの長さは限られているので都合の悪い時に終わってしまう可能性があり、その解決の有用性を大きく低くしてしまう。
【０００６】
デジタルコンピュータを使用してこの性能を実践することが可能で、ここでは、デジタルストリームはビデオテープと類似した何らかの形で記憶されるとともに、コンピュータは様々な仮想テープデッキの間での切換えを実行する。デジタルコンピュータを使用するとしても、この方法は上記した物理的システムと同じ弱点に苦しめられる。時間基準の情報ストリームを記憶するための技術を提供することによって、このような問題を回避することが望まれることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この機能性を実現するような如何なる技術でも実行するデジタルコンピュータを使用する場合、適切なオペレーションのために考慮しなくてはならない多くの問題がある。この問題の１つは放送ストリームの記憶にある。情報ストリームは、デジタルコンピュータ内においてデジタルデータのブロックシーケンスとして表現される。例えば、ＮＴＳＣテレビ放送ストリームをコード化する際、アナログデータの各フィールドは、そのフィールドを表現する８ビットのデジタルサンプルに変換される。アナログ信号が忠実に表現されるとすれば、各デジタルブロックは約０．５ＭＢのデータを含み、１秒のビデオには約３０ＭＢの記憶装置が必要とされ、更に、３０秒のビデオにはコンパクトディスクの容量を越える約９００ＭＢの記憶装置が必要とされる。この方法でのビデオの操作は、役に立つような長さの記憶ビデオを想定する場合には明らかに実行不可能となる。
【０００８】
例として、放送テレビ伝送の記憶用の光磁気ディスクの使用に関する米国特許第５，６２５，４６号を参考にされたい。このような媒体に利用可能な記憶量は現在約５から１０ギガバイトであり、これは約５秒のビデオ記憶をまかなうものにすぎず明らかに不適切なものである。更に、開示された装置では、同じ番組の録画と再生とを同時に行うことはできない。
限られた記憶容量は、典型的には多くの例において１００：１の有効な圧縮を行うことができるＭＰＥＧ（動画専門家グループ）標準アルゴリズムの１つのアルゴリズムを使ってビデオストリームを圧縮することにより対処される。ＭＰＥＧビデオは、画像群（ＧＯＰS）のシーケンスとして表現され、そこでは、各ＧＯＰは、Ｉフレームと呼ばれるインデックスフレームで始まる。このＩフレームは、静止画像の共同画像専門家グループ（ＪＰＥＧ）標準と類似した離散余弦変換（ＤＣＴ）や他の手法を使って圧縮されるデジタルデータブロックである。
ＧＯＰは、マクロブロックと呼ばれるＩフレームの小さな一部分が時間によって如何に移動するかを示すより小さなデジタルデータブロックを作り出すことによって、最高１５までの付加的フレームを表現することができる。このように、ＭＰＥＧは、このような付加的フレームの表現を極めてコンパクトにし、画像の小さな一部分のみが時間によって変化すると仮定することによってその圧縮を実現する。
【０００９】
従って、各フレームは、上記した非圧縮のデータサンプルつまりビデオテープレコーディングに基づくサンプルと異なり、異なる長さのバイナリデータブロックとして表現される。加えて、ＧＯＰｓは、それらの間には何の関係も持たず、ＧＯＰ内のフレームの各々は、最初のＩフレームから離れて作られた特定の関係を持つ。従って、デジタル化されたストリームを記憶しこの記憶された情報に対するランダムアクセスを可能とする方法のいずれも、含まれる可変の（予測できない）データサイズを考慮に入れなくてはならず、更にストリームブロック間の関係を認識している必要がある。
【００１０】
このような方法のデジタルコンピュータを基盤とした実施に関する第２の問題は、複数の情報ストリームを並行処理しなくてはならないという点にある。例えば、放送ストリームは、実際には少なくとも２つの独特の情報ストリーム、即ち視像を表現するデジタルブロックストリームと可聴像を表現するデジタルブロックストリームとから成る。それどころかオーディオ効果がステレオだとすると、各々独特な２つのオーディオストリームも含まれる。放送信号は、第２オーディオプログラム（ＳＡＰ）のような付加的データを持つことができ、この付加的データの情報ストリームはオーディオ信号を異なる言語に翻訳したものである。表現される可能性のある他のストリームとしては、オーディオストリームに口語のテキスト表現を与える字幕（ＣＣ）ストリームがある。従って、前述した簡単な放送ストリームは、少なくとも５つの異なる成分を持ち、この成分の各々は異なる手法を使って圧縮される。この複合ストリームが視聴者に与えられる際、各ストリームブロックは、他の全てのストリームの表現と関連性を持つとともにそれらと同期した圧縮方法のために、適切な時間にデコードする必要がある。
【００１１】
ＤＶＢのようなデジタル放送技術も関心のあるものである。ＤＶＢチャンネルは、時分割多重（ＴＤＭ）に基づく手法を使用してデジタル情報の如何なる数の離散ストリームでも単一のデジタルデータストリームにインターリーブするコード化スキームであるＭＰＥＧ２伝達多重の形に形成される。上記例としてのテレビ信号は、５つの離反ストリームを使い、他のストリームに対して付加的容量を残すようにＤＶＢチャンネルにコード化することができる。標準的放送信号に付加的情報を加えることへの関心が高まっている。例えは、ビデオストリームと並行していくつかの異なる言語でオーディオチャンネルを伝送することが望ましいかもしれない。また、恐らくウェブページとして解釈される情報は、ビデオと同期化されることによりマルチメディア表現を与えるような方法で放送される。同期化される必要があるストリームの数は任意とすることができ、各々のストリームは、独自の同期要件及び内部フレーム関係を各々が持つような異なる独特の記憶及び圧縮の技術を使って表現することができる。
いくらかの形式のデジタルコンピュータを使用した上述の方法と類似する機能性を提供する方法のいずれも、これらの問題を解決する手法を備える必要がある。
【課題を解決するための手段】
【００１２】
本明細書において説明される方法及び装置は、データストリームの顧客により要求に応じそれがあたかもランダムアクセスや可変速度提示をサポートしているかの如く連続的デジタル情報ストリームの操作を行う新規で独特な機能を提供する。データストリームに関する可能なオペレーションは、記憶装置がＤＲＡＭのような揮発性であろうとハードディスク記憶装置のような不揮発性であろうと更に両者の組合せであろうと、本装置及び方法を実施するシステムの記憶容量及びＩＯ帯域幅によってのみ制限される。本装置及び方法は、一時停止、巻き戻し、早送り、及び再生のような、時には仮想ＶＣＲ機能と呼ばれるオペレーション、更に高速再生、低速再生、反対再生のような、より高性能で独特のオペレーションをサポートする。加えて、本明細書に説明される装置及び方法は、機械的システムとは異なりこのようなオペレーションがデータストリームの顧客の立場から瞬時であるようにするメカニズムを提供する。また、本装置及び方法は、本装置により捕捉されたデータストリームのデータが他の顧客に対しこのデータを与えるに好適な、或いは他のツール又は方法による編集や操作に好適なフォーマットで記憶されるか又はネットワーク上に送ることができるように、本装置により一時的に保持されているデータストリームの捕捉部分の能力をサポートする。
【００１３】
本発明は、様々なフォーマットで表現された連続的線形デジタル情報ストリームの受け渡し又は捕捉を行うとともに、局所で記憶されたストリームの画像を提供する方法及び装置を提供する。本発明の好適な実施形態は、情報データストリームからのデータブロックをコピーする少なくとも１つの媒体キャッシュを含む。媒体キャッシュ内のデータは、デジタル情報の連続ストリームのスナップショットとして見ることができる。また、本発明は再生ポインタを含む。再生ポインタ位置は、一時停止、巻き戻し、早送り、再生、高速再生、低層再生、及び反対再生を含む機能を提供するために利用アクセスされることになる媒体キャッシュ部分を選択する。
【発明を実施するための最良の形態】
【００１４】
本発明は、本明細書に説明された方法及び手法を使って、連続デジタル情報ストリームを変換及び操作するための新しく独特な装置を直視する。
図１は、本発明の好適な実施形態が如何にして連続データストリームを操作するかの全体的概要を示す。特に、１つ又はそれを越える媒体キャッシュ１０は、情報ストリーム１２からのデータブロックをコピーする。再生ポインタ１４の位置は、アクセスされることになる媒体キャッシュ部分を選択することにより、一時停止、巻き戻し、早送り、及び再生、更に高速再生、低速再生、反対再生のような、より高性能で独特のオペレーションを可能とする。
【００１５】
本装置は、本源的デジタルデータストリームのフォーマットとは無関係である。本発明を適用するために必要とされることは、本源的データストリームが多くの離散データブロックから成るとともに、わずかな属性セットが各ブロックに関連しているという点のみである。データブロック自体のサイズ及びフォーマットは任意なもので良い。データソースに対して又はデコードオペレーションに対して特殊化されたプロセスは、本発明の背景内で自由に進めることができ、本明細書に説明された方法により間接的に制御することができると思われる。
【００１６】
図２は、本発明の好適な実施形態を示す。図２の例は、ＭＰＥＧストリームに関連して示されているが、本発明はどのような情報ストリームでも簡単に適用されるものであることを認識する必要がある。
データストリームの操作や変換は、以下の要素の組合せにより本発明において実行される。
１．バッファ制御装置（２０１）は、主管理装置である。バッファ制御装置は、デジタルストリームのオペレーションに関する（例えば、遠隔制御装置によって生成された）外部からの要求を受入れ、次に本発明における他の装置のための適切な制御メッセージを生成し、
２．ストリームクロック（２０２）は、同期化された形で与えなくてはならない複合データストリームが正しく位置決めされ、それらデータストリームが一貫性のある伝送速度でデータを与えるように、線形キャッシュセットのオペレーションを同期化するための一般的装置を備え、
３．線形キャッシュ（２０４）は、キャッシュ内のデータを連続デジタルデータストリームのスナップショットとして見ることができるように、デジタル情報ストリームに含まれる情報をバッファリングするための一般的装置であり、更に
４．クリップ捕捉（２０３）装置は、全体又は一部のキャッシュされた情報ストリームセットを捕捉するとともに、結果としてのデータを系統立ったデータストリームとして、例えばコンピュータファイルシステム又は他の表示装置のようなデータ受信装置に与えるための一般的装置である。
【００１７】
以下の各欄において上述の構成部品の各々が説明され、更にそれらがどのように相互作用し合うかが詳細に説明される。
【００１８】
バッファ制御装置
バッファ制御装置（ＢＣ）モジュールは、本発明のオペレーションが如何なる特定のデータストリームに対しても行なわれるような方法を裏付ける役割を持つ。本発明の好適な実施形態には、１つのストリームクロック（ＳＣ）モジュール、ゼロ又はそれを越えるクリップ捕捉（ＣＣ）モジュール、及び１つ又はそれを越える線形キャッシュ（ＬＣ）ストリームモジュールが設けられている。本発明のオペレーションは、主要ストリームとしてのＬＣストリームの１つを指定することを基にするのが好ましい。ＬＣｓからの再生位置の全ては、まず主要ストリームを位置決めし、次にそのストリームの最終位置を他の全てのストリーム特性を位置決めするために使用することに基づいている。例えば、主要ストリームがＭＰＥＧビデオストリームであれば、位置決めは最新のブロックポインタを最初のＭＰＥＧ画像グループ（ＧＯＰ）に合わせることに基づく。主要ストリームが位置決めされると、主要ストリームと同期化されるように、ＢＣが他の全てのストリームを再配置する。
また、ＢＣは、下述するように動作するストリームクロックのクロック速度を制御する役割を持つ。ＳＣがクロックイベントを線形キャッシュに配信する速度は、ＢＣによって特定された速度に基づく。このように、ＢＣは、ＳＣにそのクロック速度を調整するように要求することによって、全ての収集ストリームの再生速度を早めたり遅くしたりすることができる。
最終的に、ＢＣはクリップ捕捉方法を使ってクリップ捕捉を開始する役割を持つ。
【００１９】
ストリームクロック
ストリームクロックは、多くのＬＣｓに時間基準のイベントを配信する中央同期機能を備える。放送番組内の各情報ストリームは異なる手法を使ってコード化され、この手法の各々は例えばブロックサイズ、データフォーマット、デコード用の提示タイムスタンプのような独特の概念を持っている。例えば、その時間において、単一のＭＰＥＧビデオフレームがデコード化されて与えられるようにされ、いくらかのＭＰＥＧオーディオフレームがデコード化されて与えられるようにすることができる。ストリームクロックは、各ＬＣに対しそのＬＣに適切な速度でイベントを配信する。ストリームクロックは、時間基準のソフトウエアシステムを構築する技術分野の専門家の間では良く知られている標準の従来手法を使って配信されるようにイベントを管理するために単一の待ち行列を使用する。
【００２０】
ストリームクロックのオペレーションは、以下に詳述される。
イベントは、絶対時間では待ち行列に入れられず、前回の待ち行列イベントから相対的なオフセットを持って行列に入れられる。待ち行列における第１イベントは、現在の時間からのオフセットされた時間を使ってマークされる。次に、ストリームクロックは、その時間が経過した例えばＳＣがタイマーイベントを待ち行列に入れる時、基礎を成すオペレーティングシステムが呼出しを行う要求をする。この呼出しが行なわれた時、ＳＣは第１クロックイベントを発信し、次に、前回のイベントのように同じ時間に生じる各イベントのようなオフセットゼロの後続イベントを各々発信する。
【００２１】
また、待ち行列での各イベントは、次のイベントが引起されるようなデータストリームの時間間隔及び絶対時間でマークされる。待ち行列に入れられたイベントが発信された後、次のイベントの絶対時間が上記時間間隔に前回の絶対時間を加えることによって構成される。この時間と現在の絶対時間との差は、このイベント繰り返されるまでの遅れを決定する。次に、イベントの次回の発生についての適切な位置で、イベントが待ち行列に加えられる。この方法は、ある遅延がイベントの発信時に確実に生じるようにし、続くイベントが適切な時間に起こることを保証する。全てのイベントがゼロオフセットで行なわれた後、ＳＣは、第１待ちイベントに対するオフセットを持って新たなタイマーイベントを待ち行列に入れ、その後上記プロセスが繰り返される。
【００２２】
絶対クロック値とクロックイベントにおける実発信のとの非連結は、ストリーム再生が起こる速度を簡単に制御する能力のような本発明の独特で新規な観点のいくらかを実施する上で重要である。最初に作り出された時、ＳＣは、最初は１に設定される速度乗数と呼ばれる値を記録する。ＳＣが基礎を成すオペレーティングシステムにタイマーイベントを待ち行列に入れるように要求する時はいつでも、要求された実時間遅れは速度乗数によって乗算される。１を越える速度乗数はストリーム再生をより高速にし、１より小さな速度乗数はストリーム再生をより低速にする。
【００２３】
ＬＣｓ自体を適切に位置決めするために（以下を参照）、位置決めを計算する際に各ブロックに記憶される提示タイムスタンプ（ＰＴＳ）を変更するために同じ速度乗数を使わなければならない。従って、ＳＣは、これらの値をＳＣに記憶された速度乗数により適切に同期化した後、ＰＴＳ値に関する比較及び演算を行うＬＣに使用できる小さな関数セットを作る。
ストリームクロック、各ＬＣのための独立したイベント生成、及び単一値を使って全てのイベントが指令される論理的速度を変更する能力の組合せにより、共通の時間基準のソフトウエア設計手法の新規で独特のアプリケーションを提供する。
【００２４】
線形キャッシュ
本発明の主要構成部品は、線形キャッシュ（ＬＣ）である。ＬＣは、ストリームを構成するとともに各ブロックが独特のサイズ及び属性を持つと思われるデジタルブロックのリストとしてこのストリームを保存する。ストリーム内の各ブロックは、いつそのブロックがデコードプロセスに与えられるべきかを示し、ハードウェア又はソフトウエアである提示タイムスタンプ（ＰＴＳ）を使ってマークされる。ＰＴＳは、ＬＣがオペレーションを開始し、ＬＣに記憶されたＰＴＳとコード化デジタルブロック内記憶されたタイムスタンプのどれかとの間に一定のオフセットが存在する場合を除き、まずＬＣがストリームに関するオペレーションを開始し、基礎を成すストリームコード化手法によって定義されたどのタイムスタンプとも関連性を持たない場合は、ゼロから始まる漸増値である。デコード化プロセスは、組込まれたタイムスタンプを適切に扱っていると考えられる。図３は、線状キャッシュの好適な実施形態の全体概要図である。特定のストリーム形式のための捕捉メカニズムは、各コード化デジタルブロックをそれが（３０１）に到達する際ＬＣに対し与える。ＬＣは、そのブロックをストリームの現在のＰＴＳを使ってマークする。ＬＳは、到達したＬＣにおける最新のブロックとＬＣが保存する最古のブロックとの間のＰＴＳ値に基づく最大時間として定義されたウィンドウ（３０２）を維持する。従って、ウィンドウは、タイムスパンをストリームの既往歴の中に表現している。ＬＣは、ウィンドウ（３０３）を越えて外に落下するブロックを放棄するので、ウィンドウは、ストリームの既往歴に固定された距離を見ることができる。このメカニズムにより、使用可能な記憶スペースと過去の情報を視聴する可能性との間での選択及びトレードオフを可能とする。
【００２５】
捕捉メカニズムは、各新しいブロック（３０４）に伴う特定の属性を付与する役割を持つ。第１の属性は主要フレームの属性であり、これはこのブロックが相互関係を持つブロックのシーケンスで始まることを示す。ストリームに関するランダムアクセスオペレーションを実行する場合、ＬＣは、主要フレームとしてマークされたブロックに対しするストリームの位置決めのみを可能とする。第２の属性は、セグメント端部（ＥＯＳ）属性であり、これはストリームが終焉されこれ以上のデータは与えられないことを意味する。例えば、ＭＰＥＧ  ＧＯＰのＩフレームは捕捉メカニズムによって主要フレームによってマークされるが、他の全てのブロックはそのようにマークされない。
【００２６】
ＬＣは、デコード化プロセスに与えられることになる次のブロックの指標を保存しており、この指標はカレントブロック指標（３０５）と呼ばれる。普通の視聴に関しては、このブロックは捕捉メカニズムによりＬＣに最後に加えられたブロックである。従って、ストリームは、捕捉と提示との間に多くても１フレームの時間遅れしか持たない状態で実況的に与えられる。
情報ストリームに対するランダムアクセスは、ＬＣ内における他のいくらかのブロックに対しカレントブロック指標を移動させることにより実現される。ＬＣが指標を移動させるよう要求し、カレントブロック指標が主要フレームにない場合には、ＬＣは、デコード化プロセスにそのデコード化状況をリセットするよう指令すため、部分的に作られている提示データは消去される。例えば、現在のフレームがＭＰＥＧ予測フレーム（Ｐ−ｆｒａｍｅ）であるとすれば、デコード化プロセスは、Ｐ−ｆｒａｍｅにより変更された現在の画像を含む状況情報を持つ。このデータは、デコーダが適切な状況で起動するように消去されなくてはならない。
【００２７】
再度、図２を参照すると、ＢＣは、ＰＴＳ値を特定することによってＬＣの再位置決めを要求する。ＬＣは、ＢＣにより要求されたＰＴＳ値に最も近いＰＴＳを含むブロックを見付ける。再位置決めに関する２つの独特な状況があり、１つは、ＬＣが主要ストリームとしてマークされている場合で、２つ目はそうでない場合である。
ＬＣが主要ストリームとしてマークされているとすれば、ＬＣは、要求されたＰＴＳ値に最も近い主要フレームを見付けるためキャッシュ内のブロックを走査し、所望値の前後のいずれも調査する。適切に位置決めされると、ＬＣは、識別された主要フレームのＰＴＳをＢＣに戻す。
主要ストリームの位置決めに続いて、ＢＣは、主要ストリームによって戻されたＰＴＳに対し残りのストリームの各々を位置決めするように、各残りのストリームに指令する。各ＬＣは、如何なるデコード化状況も消去するようにデコード化プロセスに要求することによりこの問題に対処するとともに，次にＬＣがデコード化プロセスに対し実際にブロックを与えるのを抑制する指標を記憶する。
【００２８】
これに続いて、ブロックがデコード化プロセスに対して実際には与えられない点を除いて、通常ＬＣは、クロックイベントを受入れるとともに、カレントブロック指標を一致させるように移動するよう動作する。ＬＣが主要フレームを出会う時、ＬＣはブロックの提示を抑制する指標を削除し、デコード化プロセスに対して現在のブロックを与える。これにより、ストリームは主要ストリームに完全に同期されることになる。
以下の章で、如何にして位置決めオペレーションがＬＣによって扱われるかを詳細に説明する。
【００２９】
前方向
前送り機能は、ストリームクロックにより生成されたクロック毎に１つのブロックによって、キャッシュを介してカレントブロック指標を前方に移動させることによって行なわれる。クロックイベントがＳＣによって送られる際、キャッシュ内の後続するブロックの各々は、提示のためのデコード化プロセスに与えられる。Ａ速度乗数の１により、カレントブロック指標が、新しいブロックが捕捉プロセスによりＬＣに加えられるのと同じ速度でＬＣ内の１ブロック前方に移動される。概念的には、カレントブロック指標は、キャッシュ内の同じ位置に対し指示を行い、一方でキャッシュされたブロックのウィンドウは、その下方に移動する。ストリームの顧客の観点からすると、これは、リアルタイムの状態から固定的な遅れを持って再生されることになる。
【００３０】
次のブロックのデコード化が始まる前に、デコード化プロセスが顧客に対しブロックを与えることができない、つまりデコーダが要求された再生速度に維持できない可能性がある速度が存在する。ＬＣは、この状況を認識して、主要フレームを基盤としたシステムを前に戻し、中間的ブロックは抜かされて、主要フレームのみがデコーダに与えられる。
カレントブロック指標は、キャッシュされていないブロックに設けることはできない。速度乗数が１を越える割合を示しているとすれば、カレントブロック指標は、最終的にはキャッシュの前方に移動する。この場合、主要フレームＬＣは、もはやブロックがキャッシュ内に存在しないＢＣに指定される。ＢＣは、ＳＣ速度乗数を１にリセットし、各ＬＣは、カレントブロック指標を最新のキャッシュされたブロックに位置決めする。このオペレーションの効果は、実際の情報ストリームから外れた遅れのない再生に戻すことにある。
【００３１】
反対方向
反対機能は、ＳＣにより生成されたクロック毎に１つのブロックによって、キャッシュを介してカレントブロック指標を後方に移動させることによって行なわれる。再度、主要ストリームＬＣは、位置決めを制御するために使用される。ＢＣは、各ＬＣを反対モードに移動させるよう指令するし、カレントブロック指標は、クロック毎に１ブロック後方に移動される。更に、このモードにより、ＬＣが、デコード化プロセスに対する主要フレームを除く全ての提示を抑制するようになる。カレントブロック指標が主要フレームを移動させる時、ブロックはデコード化プロセスに対し与えられる。
デコード化プロセスに対して与えられるブロックの速度は、ストリームクロックにおける速度乗数によって制御され、反対オペレーションの速度を任意なものとすることができる。
【００３２】
カレントブロック指標は、キャッシュ内の最古のブロックを通り過ぎて移動することはできない。クロックイベントが最先のブロックを通り過ぎてカレントブロック指標を移動させるようにする場合には、指標はそのブロックに設定され上記のように再生を続ける。主要フレームＬＣは、最古のキャッシュされたブロックが到達したＢＣに指定される。ＢＣは、ＳＣ速度乗数を１にリセットし、各ＬＣは、カレントブロック指標を最古のキャッシュされたブロックに位置決めする。外面的には、再び前送りの状態でのストリームの再生を始まり、時間がウィンドウサイズで遅延されたかのように見える。
【００３３】
一時停止
ＢＣは、主要ストリーム内のカレントブロック指標を、主要ストリームのブロックに対してロックすることにより一時停止機能を行う。ＬＣは、指標を主要フレームブロックに対しロックするだけであり、そのためＬＣは、キャッシュ内のこのようなブロックに対し前方向にサーチする。主要フレームが存在しない場合には、ＬＣは、ロックが要求された指標を記憶する。捕捉プロセスが主要フレームに与えられた場合には、次にＬＣは、ロックが要求されたことを認識し、主要フレームに対しカレントブロック指標をロックする。また、ＬＣは、デコード化プロセスの観点から適切な位置決めを維持するように、この主要フレームをデコード化プロセスに与える。これに続き、新しいブロックがキャッシュの前方に加えられると、指定されたブロックは、キャッシュ内を後方に移動する。加えて、ＬＣは、デコード化プロセスに対するデータの提示を更に抑制する指標を設定する。
【００３４】
各非主要ストリームＬＣに関し、ＢＣは、デコード化プロセスに対するデータブロックに提示を更に抑制するにすぎない。ＢＣに一時停止を解除する（すなわち、ストリームを再生する）ように指令することができる。この場合、ＢＣは、（ＳＣ速度乗数により変更されたような）現在のブロックのＰＴＳを主要ストリームＬＣから得て、上記したように残りのＬＣの各々を適切に位置決めされるように方向付ける。次に、これは各ＬＣに関するロックを解除するのでデコード化プロセスへのブロックの提示がなされる。
入来ストリームの捕捉が連続しているために、ウィンドウが指標のロックされたブロックを通り過ぎて移動する可能性がある。この場合、指標は、アンロックの状態となり、左側がキャッシュ内の最先のブロックを指す。これは、テープや再生ヘッドの過度の摩耗を避けるために一時停止を解除するＶＣＲの動作と類似した、一時停止を自動解除する外部的効果を与える。
【００３５】
クリップ取得
この機能は、キャッシュからある範囲のブロックを抜出すために使用される。それを行う相対的モードと絶対モードという２つのモードがある。
上述されたように、キャッシュされたブロックは提示順序で、ブロックの線形リストとして現れる。クリップ取得機能は、ブロックの範囲を構成するブロック数のカウントを加えた状態で、ポインタをキャッシュされたブロックに戻す。この情報はクリップと呼ばれる。効率化のために、戻されたポインタは直接キャッシュされたブロックを指定し、続くブロックは各キャッシュされたブロック内の次のブロックリンクに従うことによって取り出される。このリストは、第１ブロックが指定され、更に後続の全てのブロックが呼出し者がクリップに関するオペレーションを完結するまでキャッシュされた状態に維持されている場合にのみ有効である。
【００３６】
ＬＣは、クリップの一部であるブロックが無効となるのを避けるために、以下のような動作をする。クリップ機能は、ウィンドウの外に落下する放棄ブロックを抑制するようなＬＣ内の指標を設定する。この指標は、解除クリップ機能は呼出された時、清算される。また、解除クリップ機能は、キャッシュをウィンドウサイズに整える。
このシーケンスの結果は、ＬＣ内のブロックの数が一時的に増加する点にある。キャッシュされたブロックの記憶空間は限られているため、できるだけ迅速にクリップを操作するのはクリップ取得の呼出し者の役割である。しかし、この方法により、再生中のＬＣからのブロックに干渉されることなくクリップが捕捉されることが可能となり、人為的な捕捉オペレーションにより需要者にブロックを与えることが回避される。
【００３７】
相対モードにおいて捕捉すべきクリップは２つの数に特定され、第１のものは、現在のブロック指標からキャッシュ内の以前のブロックへのオフセットを表し、第２のものは、現在のブロック指標からキャッシュ内の次のブロックへのオフセットを表す。両者のオフセットは、現在のブロックに記憶されたＰＴＳからの時間差として表される。例えば、捕捉オペレーションは、現在のブロック前５秒から現在のブロック後の１０秒までに起こる可能性がある。キャッシュされていないブロックがないことがクリップ取得オペレーションによって示されるかもしれない。従って、ＬＣは、キャッシュ内で入手できるブロックに適合するように戻された実際のクリップによって整えられる。
【００３８】
絶対モードにおいて、捕捉すべきクリップは２つの数に特定され、第１のものは、ＬＣがオペレーションを開始した時に基づく絶対時間スタンプを表し、第２のものは、その値からオフセットした時間を表し、それは（キャッシュ内の後方距離を示す）の負のオフセット又は（キャッシュ内の前方距離を示す）の正のオフセットであろう。クリップは上記のように戻され、必要に応じ整えられる。またこれは、キャッシュ内のブロックが上記された時間ウィンドウ内にない場合には、クリップ取得が空のブロックリストを戻す可能性のあることを暗示している。
【００３９】
クリップ捕捉
クリップ捕捉モジュールは、ＬＣｓセットからのブロック範囲を選択し、それらを適切な記憶装置又は伝送フォーマットにまとめ、更に必要に応じ保管又は送信する役割を持つ。また、複数のＬＣｓからの収集ブロックもクリップと呼ばれる。クリップ捕捉オペレーションは、外部的要求に関するＢＣによって生じる。
この要求をすることができる２つの方法がある。
まず、ＢＣは、捕捉が主要ストリームＬＣのカレントブロック指標に基づき起こることを示すことができ、これは相対的捕捉と呼ばれこの場合捕捉の相対的範囲が特定される。
２番目に、ＢＣは絶対範囲を示すことができ、その範囲に含まれるＰＴＳでマークされたブロックだけが捕捉される。これは絶対捕捉と呼ばれる。
クリップ捕捉モジュールのオペレーションは、簡単である。各ＬＣに関して、ＣＣモジュールは、ＢＣによって導かれるようなパラメータを使ってそのＬＣのクリップ取得機能を呼出す。次に、クリップ捕捉モジュールは、望ましい最終的なクリップフォーマットに相応しい多重ストリームにブロックを線形化する。例えば、それはＭＰＥＧシステムストリームを生成することも可能で、必要に応じ様々なＬＣｓからブロックをインターリーブすることもできる。
【００４０】
このインターリーブは、概念的には単純なものである。ＣＣは、ＬＣから得られた各クリップによってループ化され、全クリップの中から最先のＰＴＳでブロックを選定し、適切なものとしてブロックを出力し、更にそのクリップのブロックポインタを次のブロックに進める。全クリップからの全ブロックが使い果たされた時、捕捉オペレーションは完結する。次に、ＣＣは、解除クリップ機能を呼出す全ＬＣｓによってループ化される。
本発明は、好適な実施形態を参照し本明細書において説明されたが、本発明の精神と範囲を逸脱することなく、本明細書に言及されたものの代替として他の用途も可能であることは当業者にとって容易に考え得ることである。従って、本発明は、特許請求の範囲によってのみ限定されるべきである。
【図面の簡単な説明】
【００４１】
【図１】本発明による連続的媒体の概略図である。
【図２】本発明による連続的媒体バッファを組込んだ概略的ブロック図である。
【図３】本発明による線形キャッシュのオペレーションを示すタイミング図である。
【図１】
2007325294.tif 000003
【図２】
2007325294.tif 000004
【図３】
2007325294.tif 000005