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