(57)【特許請求の範囲】
【請求項１】
異なる提示速度を有する第１および第２の関連するビデオ・ストリームにインデックスを設定する、コンピュータ実行方法であって、前記方法は、通常再生時刻標準を用いて、前記関連するビデオ・ストリームの各々に対してインデックス参照テーブル（ＬＵＴ）を作成するステップから成り、前記ＬＵＴの各々は、通常再生時刻値と、前記各ビデオ・ストリームへの対応するオフセットとを含む方法。
【請求項２】
請求項１記載の方法において、前記ビデオ・ストリームは通常再生ストリームを含み、前記第１および第２のビデオ・ストリームに対してインデックス参照テーブルを作成するステップは、
複数のタイムスタンプを含む前記通常再生ストリームを受信するステップと、
前記複数のタイムスタンプを前記通常再生時刻標準にマッピングするステップと、
から成り、
前記第１および第２のビデオ・ストリームに対してインデックス参照テーブルを作成するステップは、前記通常再生時刻標準を使用する方法。
【請求項３】
請求項２記載の方法において、異なる提示速度を有するビデオ・ストリームは、ＭＰＥＧ圧縮されたストリームから成り、
前記複数のタイムスタンプを通常再生時刻標準にマッピングする前記ステップは、前記複数のタイムスタンプに対して、前記ＭＰＥＧ圧縮された通常再生ストリーム内のシーケンス・ヘッダを検査するステップを含む方法。
【請求項４】
請求項１記載の方法において、前記ビデオ・ストリームは、高速前進ストリームと高速逆進ストリームとを含むトリック再生ストリームを含む方法。
【請求項５】
請求項１記載の方法において、前記通常再生時刻は、クロック・タイムに対して１対１の対応を有する方法。
【請求項６】
異なる提示速度を有する第１および第２の関連するビデオ・ストリーム間において遷移を行うコンピュータ実行方法であって、前記方法は、
通常再生時刻標準を用いて、前記関連ビデオ・ストリームの各々に対して、各々通常再生時刻値と、各ストリームへの対応するオフセットとから成る複数のエントリを含むインデックス参照テーブル（ＬＵＴ）を作成するステップと、
前記第１のビデオ・ストリームからのビデオ・データを転送するステップと、
前記インデックス参照テーブルを用いて、前記第１のビデオ・ストリームと前記第２のビデオ・ストリームとの間で切替を行うステップと、
を含む方法。
【請求項７】
請求項６記載の方法において、前記ビデオ・ストリームは、通常再生ストリームを含み、前記第１および第２のビデオ・ストリームに対してインデックス参照テーブルを作成するステップは、
複数のタイムスタンプを含む前記通常再生ストリームを受信するステップと、
前記複数のタイムスタンプを前記通常再生時刻標準にマッピングするステップと、
から成り、前記第１および第２のビデオ・ストリームに対してインデックス参照テーブルを作成するステップは、前記通常再生時刻標準を使用する方法。
【請求項８】
請求項７記載の方法において、前記ビデオ・ストリームは、ＭＰＥＧ圧縮されたストリームから成り、
前記複数のタイムスタンプを通常再生時刻標準値にマッピングする前記ステップは、前記複数のタイムスタンプに対して、前記ＭＰＥＧ圧縮された通常再生ストリーム内のシーケンス・ヘッダを検査するステップを含む方法。
【請求項９】
請求項６記載の方法において、前記第１および第２のビデオ・ストリーム間において切替を行うステップは、
前記第１のビデオ・ストリームの標準再生時刻を判定するステップと、
前記第１のビデオ・ストリームの通常再生時刻に基づいて、前記第２のビデオ・ストリームにおけるオフセットを判定するステップと、
前記第２のビデオ・ストリームの前記判定されたオフセットにおいて、前記第２のビデオ・ストリームの出力を開始するステップと、
を含む方法。
【請求項１０】
請求項９記載の方法において、前記第１のビデオ・ストリームの通常再生時刻に基づいて、前記第２のビデオ・ストリームにおけるオフセットを判定するステップは、
前記第２のビデオ・ストリームのインデックス参照テーブルにおいて、前記第１のビデオ・ストリームの通常再生時刻に近い通常再生時刻値を有するエントリを発見するステップと、
前記第２のビデオ・ストリームの前記インデックス参照テーブルにおいて、前記発見したエントリにおけるオフセットを判定するステップと、
から成る方法。
【請求項１１】
請求項９記載の方法において、前記第１および第２のビデオ・ストリーム間において切替を行うステップは、更に、
前記第１のビデオ・ストリームのインデックス・テーブルにおいて、前記第２のビデオ・ストリームから現在出力中のデータのオフセットを越えるオフセットを含むエントリを判定するステップと、
前記第１のビデオ・ストリームから現在出力されているデータのオフセットを越える前記オフセットにおいて終了するように、前記現ストリームの出力のスケジュールを立てるステップと、
含むる方法。
【請求項１２】
請求項６記載の方法において、前記異なる提示速度を有するビデオ・ストリームは、高速前進ストリームと高速逆進ストリームとを含むトリック再生ストリームを含む方法。
【請求項１３】
請求項６記載の方法において、前記通常再生時刻は、クロック・タイムに対して１対１の対応を有する方法。
【請求項１４】
各々異なる提示速度を有する第１および第２の関連するビデオ・ストリーム間で遷移を行うコンピュータ実行方法であって、前記方法は、
前記第１のビデオ・ストリームからのビデオ・データを転送するステップと、
各前記ビデオ・ストリームに対して、各々通常再生時刻（ＮＰＴ）と、前記各ビデオ・ストリームへの対応するオフセットとから成る複数のエントリを含むインデックス参照テーブル（ＬＵＴ）を参照するステップと、
前記インデックスＬＵＴを用いて、前記第１のビデオ・ストリームから前記第２のビデオ・ストリームに切り替えるステップと、
前記第２のビデオ・ストリームからのビデオ・データを転送するステップと、
を含む方法。
【請求項１５】
請求項１４記載の方法において、前記ビデオ・ストリームは通常再生ストリームを含み、前記前記第１および第２のビデオ・ストリームに対してインデックス参照テーブルを作成するステップは、
複数のタイムスタンプを含む前記通常再生ストリームを受信するステップと、
前記複数のタイムスタンプを前記通常再生時刻標準にマッピングするステップと、
から成り、前記第１および第２のビデオ・ストリームに対してインデックス参照テーブルを作成するステップは、前記通常再生時刻標準を使用する方法。
【請求項１６】
請求項１５記載の方法において、前記ビデオ・ストリームは、ＭＰＥＧ圧縮されたストリームから成り、
前記複数のタイムスタンプを通常再生時刻標準値にマッピングする前記ステップは、前記複数のタイムスタンプに対して、前記ＭＰＥＧ圧縮された通常再生ストリーム内のシーケンス・ヘッダを検査するステップを含む方法。
【請求項１７】
請求項１４記載の方法において、前記第１および第２のビデオ・ストリーム間において切替を行うステップは、
前記第１のビデオ・ストリームの標準再生時刻を判定するステップと、
前記第１のビデオ・ストリームの通常再生時刻に基づいて、前記第２のビデオ・ストリームにおけるオフセットを判定するステップと、
前記第２のビデオ・ストリームの前記判定されたオフセットにおいて、前記第２のビデオ・ストリームの出力を開始するステップと、
を含む方法。
【請求項１８】
請求項１７記載の方法において、前記第１のビデオ・ストリームの通常再生時刻に基づいて前記第２のビデオ・ストリームにおけるオフセットを判定するステップは、
前記第２のビデオ・ストリームのインデックス参照テーブルにおいて、前記第１のビデオ・ストリームの通常再生時刻に近い通常再生時刻値を有するエントリを発見するステップと、
前記第２のビデオ・ストリームの前記インデックス参照テーブルにおいて、前記発見したエントリにおけるオフセットを判定するステップと、
から成る方法。
【請求項１９】
請求項１７記載の方法において、前記第１および第２のビデオ・ストリーム間において切替を行うステップは、更に、
前記第１のビデオ・ストリームのインデックス・テーブルにおいて、前記第２のビデオ・ストリームから現在出力中のデータのオフセットを越えるオフセットを含むエントリを判定するステップと、
、前記第１のビデオ・ストリームから現在出力されているデータのオフセットを越える前記オフセットにおいて終了するように、前記現ストリームの出力のスケジュールを立てるステップと、
含む方法。
【請求項２０】
請求項１４記載の方法において、前記異なる提示速度を有するビデオ・ストリームは、高速前進ストリームと高速逆進ストリームとを含むトリック再生ストリームを含む方法。
【請求項２１】
請求項１４記載の方法において、前記通常再生時刻は、クロック・タイムに対して１対１の対応を有する方法。
【請求項２２】
異なる提示速度を有するビデオ・ストリームを供給するビデオ・サーバであって、前記ビデオ・サーバは前記異なる提示速度を有するビデオ・ストリーム間でインデックスを設定し、前記ビデオ・サーバは、
前記異なる提示速度を有するビデオ・ストリームを記憶するように構成されたビデオ・メモリと、
前記ビデオ・ストリームの各々に対するインデックス参照テーブル（ＬＵＴ）であって、該インデックス参照テーブルは通常再生時刻標準に基づき、通常再生時刻値と、前記各ストリームへの対応するオフセットとから成る複数のエントリを含む各インデックス参照テーブルと、
前記ビデオ・メモリに結合され、ビデオ・ストリームからのビデオ・データを転送する１つ以上の出力ポートと、
前記ビデオ・メモリと前記メモリとに結合され、前記１つ以上の出力ポートにおいて前記ビデオ・ストリーム間で切替を行うように構成されたスイッチであって、前記ビデオ・ストリーム間の切替に前記インデックス参照テーブルを用いる前記スイッチと、
とを備えたビデオ・サーバ。
【請求項２３】
請求項２２記載のビデオ・サーバにおいて、前記ビデオ・ストリームは通常再生ストリームを含み、前記ビデオ・サーバは、更に、複数のタイムスタンプを含む前記通常再生ストリームを検査し、前記複数のタイムスタンプを前記通常再生時刻標準にマッピングすることによって、前記ＬＵＴに対してインデックスを作成するように構成されているビデオ・サーバ。
【請求項２４】
請求項２２記載のビデオ・サーバにおいて、前記ビデオ・ストリームはＭＰＥＧ圧縮されたストリームを含み、前記ＬＵＴは、前記複数のタイムスタンプに対して、前記ＭＰＥＧ圧縮された通常再生ストリーム内のシーケンス・ヘッダを検査することによって、前記複数のタイムスタンプを前記通常再生時刻標準にマッピングするビデオ・サーバ。
【請求項２５】
請求項２２記載のビデオ・サーバであって、更に、再生中の現ストリームの通常再生時刻を判定し、前記現ストリームの通常再生時刻に基づいて新たなストリームにおけるオフセットを判定し、前記新たなストリームの前記判定されたオフセットにおいて、前記新たなストリームの出力を開始するように構成されているビデオ・サーバ。
【請求項２６】
請求項２５記載のビデオ・サーバであって、更に、前記ストリームのインデックス参照テーブルにおいて、前記現ストリームの通常再生時刻に近い通常再生時刻値を有するエントリの位置を突き止め、前記新たなストリームの前記インデックス参照テーブルにおいて、前記発見したエントリにおけるオフセットを判定するように構成されているビデオ・サーバ。
【請求項２７】
請求項２５記載のビデオ・サーバであって、更に、現ストリームのインデックス・テーブルにおいて、前記現ストリームから現在出力中のデータのオフセットを越えたオフセットを含むエントリを判定し、前記現ストリームから現在出力中のデータのオフセットを越えた前記オフセットにおいて終了するよう前記現ストリームの出力のスケジュールを立るように構成されているビデオ・サーバ。
【請求項２８】
請求項２２記載のビデオ・サーバにおいて、前記異なる提示速度を有するビデオ・ストリームは、高速前進ストリームと高速逆進ストリームとを含むトリック再生ストリームを含むビデオ・サーバ。
【請求項２９】
請求項２２記載の方法において、前記通常再生時刻は、クロック・タイムに対して１対１の対応を有するビデオ・サーバ。
【請求項３０】
コンピュータ・システムにおける処理のためのコンピュータ読み取り可能記憶媒体であって、前記コンピュータ・システムは中央演算装置とメモリとを含み、前記コンピュータ・システムは異なる提示速度を有するビデオ・ストリームを記憶し、前記コンピュータ読み取り可能記憶媒体は、データを表わす物理的構造を有するサブストレートを含み、前記記憶媒体は、
通常再生時刻標準を用いて、各々、通常再生時刻値と、各ストリームへの対応するオフセットとから成る複数のエントリを含むインデックス参照テーブルを、前記ビデオ・ストリームの各々に対して作成するように構成されたインデックス参照テーブル作成プログラムと、
前記インデックス参照テーブルを用いて、現ストリームと新たなストリームとの間で出力を切り替えるように構成されたビデオ・ストリーム切替プログラムと、
を備えたコンピュータ読み取り可能記憶媒体。
【請求項３１】
請求項３０記載のコンピュータ読み取り可能記憶媒体において、前記ビデオ・ストリームは通常再生ストリームを含み、前記第インデックス参照テーブル作成プログラムは、
複数のタイムスタンプを含む前記通常再生ストリームを検査するように構成された検査プログラムと、
前記複数のタイムスタンプを前記通常再生時刻標準にマッピングするように構成されたマッピング・プログラムと、
から成り、  前記インデックス参照テーブル作成プログラムは、前記通常再生時刻標準を使用するコンピュータ読み取り可能記憶媒体。
【請求項３２】
請求項３０記載のコンピュータ読み取り可能記憶媒体において、前記ビデオ・ストリーム切替プログラムは、
現ストリームの通常再生時刻を判定するように構成されたプログラムと、
現ストリームの通常再生時刻に基づいて、前記新たなストリームにおけるオフセットを判定するように構成されたプログラムと、
前記新たなストリームにおいて判定されたオフセットにおいて、前記新たなストリームの出力を開始するように構成されたプログラムと、
を含むコンピュータ読み取り可能記憶媒体。
【請求項３３】
請求項３２記載のコンピュータ読み取り可能記憶媒体において、前記現ストリームの通常再生時刻に基づいて前記新たなストリームにおけるオフセットを判定する前記プログラムは、
前記新たなストリームのインデックス参照テーブルにおいて、前記現ストリームの通常再生時刻に近い通常再生時刻値を有するエントリを発見するように構成されたプログラムと、
前記新たなストリームの前記インデックス参照テーブルにおいて、前記発見したエントリにおけるオフセットを判定するように構成されたプログラムと、
から成るコンピュータ読み取り可能記憶媒体。
【請求項３４】
請求項３２記載のコンピュータ読み取り可能記憶媒体において、前記ビデオ・ストリーム切替プログラムは、更に、
前記現ストリームのインデックス・テーブルにおいて、前記現ストリームから現在出力中のデータのオフセットを越えるオフセットを含むエントリを判定するように構成されたプログラムと、
前記現ストリームから現在出力されているデータのオフセットを越える前記オフセットにおいて終了するよう前記現ストリームの出力のスケジュールを立てるように構成されたプログラムと、
含むコンピュータ読み取り可能記憶媒体。
【請求項３５】
ビデオ・サーバからの異なる提示速度を有するビデオ・ストリームを受信し表示するビデオ予約システムにおいて、前記ビデオ・サーバは前記異なる提示速度を有するビデオ・ストリーム間でインデックスの設定を行い、前記ビデオ予約システムは、
前記異なる提示速度を有するビデオ・ストリームを表示するように構成されたビデオ表示装置と、
前記ビデオ表示装置に結合され、前記ビデオ・ストリームの各々に対してインデックス参照テーブル（ＬＵＴ）を用いることによって前記ビデオ・サーバに前記ビデオ・ストリーム間の切替を行わせるように構成されたコントローラと、
から成り、前記インデックス参照テーブルは通常再生時刻標準値を基本とし、前記インデックス参照テーブルの各々は、通常再生時刻（ＮＰＴ）値と、前記各ストリームへの対応するオフセットとから成る複数のエントリを含み、前記ビデオ・ストリームは通常再生ストリームを含み、前記エントリは、複数のタイムスタンプを含む前記通常再生ストリームを検査し、前記複数のタイムスタンプを前記通常再生時刻標準にマッピングすることによって作成されるビデオ予約システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的に、ビデオ配信およびビデオ・オン・デマンド(video-on-demand)システムに関し、更に特定すれば、異なるプレゼンテーション（提示）速度(presentation rate)を有するビデオ・ストリーム、即ち、通常再生ビデオ・ストリーム、高速前進（順方向）ビデオ・ストリーム、および高速逆進（逆方向）ビデオ・ストリーム間においてインデックスを設定するビデオ・サーバ・システムおよび方法に関するものである。
【０００２】
ＩＳＯ／ＩＥＣ１３８１８として引用されるＩＳＯ／ＩＥＣ  ＭＰＥＧ仕様の全体をここに援用する。
【０００３】
【従来の技術】
ビデオ・オン・デマンドまたはビデオ配信システムは、１台以上のビデオ・サーバまたはメディア・サーバに記憶してある映画またはその他のオーディオ／ビデオ・シーケンスを複数のユーザまたは視聴者が選択的に視聴することを可能にするものである。ビデオ・サーバは、放送ケーブル・システムまたは衛星放送システムのようなデータ転送チャネルを通じて、複数のユーザまたは加入者に接続されている。ビデオ・サーバは、複数の映画またはその他のオーディオ／ビデオ・シーケンスを格納しており、各ユーザはこのビデオ・サーバから１つ以上の映画を選択し見ることができる。各ユーザは、付随するデコーディング・ロジックとともにテレビジョンまたはその他の視覚装置も含み、所望の映画を選択して見ることができる。ユーザがある映画を選択すると、選択された映画がデータ転送チャネルの１つを通じて、各ユーザのテレビジョンに転送される。
【０００４】
フル（完全）動画デジタル映像(full-motion digital video)には、大量の記憶装置およびデータ転送帯域が必要となる。したがって、ビデオ・オン・デマンド・システムは、様々な形式のビデオ圧縮アルゴリズムを用いて、必要な記憶量およびデータ転送帯域の減少を図っている。通常、静止グラフィック画像および完全動画映像には異なるビデオ圧縮方法が存在する。静止ビデオ画像即ち単一ビデオ・フレーム用ビデオ圧縮方法は、フレーム内（イントラフレーム）圧縮方法(intraframe compression method)と呼ばれ、一方動画映像用圧縮方法はフレーム間（インターフレーム）圧縮方法(interframe compression method)と呼ばれている。
【０００５】
静止グラフィック画像用ビデオ・データ圧縮の例は、ＲＬＥ（ラン・レングス・エンコーディング）およびＪＰＥＧ（Joint Photographic Experts Group)圧縮である。ＲＬＥ圧縮法は、ビット・マップの単一ラインにおける重複画素の有無を検査し、画素自体のデータではなく、連続する重複画素の数を記憶するものである。ＪＰＥＧ圧縮は、無損失（画質の劣化がない）圧縮形式または有損失（激しい劣化に対してわずか））圧縮形式のいずれかを提供する関連規格の一群である。ＪＰＥＧ圧縮は元々映像ではなく静止画像の圧縮に設計されたものであるが、ＪＰＥＧ圧縮は動画映像の用途にも使用されている場合がある。
【０００６】
静止画像用圧縮アルゴリズムとは対照的に、殆どの映像圧縮アルゴリズムは、完全動画映像を圧縮するように設計されている。動画映像用ビデオ圧縮アルゴリズムは、フレーム間圧縮と呼ばれる概念を用いる。これは、データ・ファイルにおける連続フレーム間の異なる部分のみを記憶することを伴う。フレーム間圧縮では、通常適度に圧縮されたフォーマットで、キー・フレーム(key frame)即ち基準フレームの全画像を記憶する。連続するフレームはキー・フレームと比較され、キー・フレームと連続するフレームとの間の異なる部分のみが記憶される。新たな場面が表示されるときのように、周期的に新たなキー・フレームが記憶され、この新たな基準点から以降の比較が始まる。フレーム間圧縮比は、映像品質が変動しても一定を保ち得ることを注記しておく。あるいは、フレーム間圧縮比は、内容によって異なるようにすることも可能である。即ち、圧縮されたビデオ・クリップが画像間に多くの急激な場面の移り変わりを含む場合、圧縮の効率は低下する。フレーム間圧縮技法を用いる映像圧縮の例は、とりわけ、ＭＰＥＧ、ＤＶＩおよびＩｎｄｅｏである。
【０００７】
ＭＰＥＧの技術背景
ＭＰＥＧ(Moving Pictures Experts Group)と呼ばれる圧縮規格は、上述のフレーム間圧縮技法を用いた、１組の完全動画ビデオ信号の圧縮および伸張方法である。ＭＰＥＧ圧縮は、動き補償および離散コサイン変換（ＤＣＴ）プロセスを用い、２００：１を越える圧縮比を得ることができる。
【０００８】
ＭＰＥＧ規格は、音響をビデオ・データと同時に記録することを要求し、ビデオ・データおよびオーディオ・データは単一のファイルにインターリーブされ、再生の間ビデオおよびオーディオの同期を維持する。オーディオ・データも典型的に同様に圧縮され、ＭＰＥＧ規格は、Philipsの商標"MUSICAM"によっても知られている、ＭＰＥＧ  Ｌａｙｅｒ  ＩＩのようなオーディオ圧縮方法を指定する。
【０００９】
ＭＰＥＧストリームは、イントラ（Ｉ）フレーム、予測（Ｐ）フレーム、および双方向補間（Ｂ）フレームと呼ばれる、３種類の画像を含む。Ｉ即ちイントラ・フレームは、ビデオ・フレーム全体のビデオ・データを含み、典型的に１０ないし１５フレーム毎に設けられる。イントラ・フレームは、ランダム・アクセス用ファイルにエントリ・ポイントを与え、通常適度に圧縮される程度である。予測フレームは過去のフレーム、即ち、以前のイントラ・フレームまたは予測フレームを参照してエンコードされる。従って、Ｐフレームは以前のＩフレームまたはＰフレームに対する変化を含むのみである。通常、予測フレームはかなり高い圧縮量を受け、以降の予測フレームに対する基準として用いられる。このように、ＩおよびＰフレーム双方を、後続のフレームに対する基準として用いる。双方向画像は、最大の圧縮量を含み、エンコードするために過去および未来の基準双方を必要とする。双方向フレームは、他のフレームに対する基準としては用いられない。
【００１０】
Ｉフレームを作成した後、ＭＰＥＧエンコーダは各Ｉフレームを、マクロ・ブロック(macro block)と呼ばれる、例えば、１６ｘ１６画素の正方形のような適当なサイズの格子に分割する。各Ｉフレームをマクロ・ブロックに分割し、動き補償を行う。Ｉフレームより後ろの後続の各画像も、これらと同じマクロ・ブロックに分割される。次に、エンコーダは基準画像マクロ・ブロックと連続画像におけるそれらとの間の正確な、またはほぼ正確な一致を探索する。一致が発見されたとき、エンコーダはベクトル移動コードまたは動きベクトルを送信する。ベクトル移動コードまたは動きベクトルは、基準フレームと各連続画像との間の差に関する情報のみを含む。基準画像またはフレームにおけるブロックに対して変化を有さない連続画像におけるブロックは無視される。通常、基準フレームに続くフレーム（群）、即ち、基準ＩフレームまたはＰフレームに続くＰフレームおよびＢフレームでは、これらのフレームの小部分のみが、各基準フレームの対応部分と異なるに過ぎない。したがって、これらのフレームに対しては、相違のみを捕獲し、圧縮し、記憶する。こうして、これらのフレームに対して実際に記憶されるデータ量は大幅に減少する。
【００１１】
動きベクトルを発生した後、エンコーダは空間冗長度(space redundancy)を用いて、その変化を追跡する。したがって、マクロ・ブロックの位置における変化を発見した後、ＭＰＥＧアルゴリズムは、対応するマクロ・ブロック間の相違を記述することによって、更にデータを減らす。これは、離散コサイン変換即ちＤＣＴと呼ばれる数学的プロセスによって達成される。このプロセスはマクロ・ブロックを適当な数のサブ・ブロック、例えば、４つのサブ・ブロックに分割し、色および明度（輝度）における変化を探し出す。人間の知覚は、色の変化よりも明度の変化に対して敏感である。したがって、ＭＰＥＧアルゴリズムは、明度よりも色空間の減少により多くの労力を割いている。
【００１２】
各画像即ちフレームは、当該フレームを識別し、そのフレームについての情報を含む画像ヘッダも含む。また、ＭＰＥＧ規格は、ビデオ・シーケンスの開始を識別するシーケンス・ヘッダも含む。シーケンス・ヘッダは、ビデオ・シーケンスの先頭の前に１度だけ必要である。しかしながら、ＭＰＥＧ−２規格は、シーケンス・ヘッダをいずれかのＩフレームまたはＰフレームの前へ移転することを許している。シーケンス・ヘッダは、種々の情報の中でも、フレーム速度および画像サイズを含む、ビデオ・シーケンスに関連する情報を含む。
【００１３】
デジタル・テレビジョンの用途に用いられるＭＰＥＧビデオ・ストリームは、通常、各ＩフレームおよびＰフレームの前にシーケンス・ヘッダを含む。これは、重要なユーザの要求である、異なるビデオ・チャネル間におけるチャネル・サーフィング(channel surfing)を容易にするために必要である。通常、ユーザが新たなチャネルに切り替えるとき、新たなチャネルの映像は、ストリームの中に次のシーケンス・ヘッダが出てくるまで、表示することができない。これは、シーケンス・ヘッダは、シーケンスが表示可能となる前にデコーダが必要とする、ビデオ・シーケンスについての重要な情報を含むからである。各Ｉフレームおよび／またはＰフレームの前にシーケンス・ヘッダが含まれていないとすると、ユーザが新たなチャネルに切り替えたときに、新たなチャネルの映像は恐らく直ちに表示できないであろう。即ち、次のシーケンス・ヘッダまで、映像を表示することができない。
【００１４】
ＭＰＥＧでエンコードされたストリームにおけるシーケンス・ヘッダは、エンコード・ストリーム内に提示タイムスタンプ(presentation timestamp)またはタイムベース(time base)を含む。タイムスタンプは映画の開始に対する時間基準をユーザに与え、その映画の開始を参照する必要なく、映画の中間に位置するシーケンスの正確な選択または識別をユーザに可能にするものである。
【００１５】
トリック再生ストリーム
双方向ビデオ・オン・デマンド(VOD:video-on-demand)または疑似ビデオ・オン・デマンド(NVOD:near-video-on-demand)システムでは、ユーザにとって、視聴している映画の中で高速前進および／または高速逆進を選択的に行えることは非常に望ましい。したがって、ビデオ・オン・デマンド・システムの中には、各映画に、トリック（ｔｒｉｃｋ）再生ストリームと呼ばれる、高速前進および高速逆進ストリームを含むものもある。ユーザが映画の中で高速前進または高速逆進を望む場合、ユーザは高速前進または高速逆進選択肢を選択する。すると、ユーザが視聴していた適切な時点で、通常再生ストリームの代わりに、各高速前進または高速逆進トリック再生ストリームがユーザに転送され、こうして、視聴中の映画の高速前進または高速逆進をシミュレートする。典型的に、映画のような単一のビデオ・ストリームは、異なる提示速度(presentation rate)でエンコードされるので、通常再生提示速度に加えて、高速前進速度または高速逆進速度でビデオ・ファイルを処理することができる。
【００１６】
インデックの設定
トリック再生ストリームを含む双方向ビデオ・オン・デマンド・システムは、通常再生ストリームとトリック再生ストリームとの間でインデックスを設定する方法、およびトリック再生ストリーム間でインデックスを設定する方法を必要とする。言い換えれば、ユーザがある映画を視聴していて、ある時間期間だけ高速前進を選択する場合、ビデオ・サーバが通常再生ストリームから高速前進ストリームにおける適切な地点即ちフレームに切り替えるための機構が必要となる。次に、ユーザが通常再生速度で視聴を再開したいときにも、ビデオ・サーバが高速前進ストリームの中で見られているフレームから通常再生ストリームにおける適切な地点即ちフレームに切り替える機構も必要となる。したがって、第１の提示速度での第１のビデオ・ファイルから、第２の提示速度における第２のビデオ・フレームに出力する切替が生じるときに、ビデオ・サーバはビデオ・ファイル内の適正な位置を判定できなければならない。
【００１７】
通常再生ストリームとトリック再生ストリームとの間にインデックスを設定する手法の１つに、参照テーブルを用いて種々のストリーム間にインデックスを設定するものがある。各参照テーブルは、種々のストリームの中の各位置即ちＩフレームを参照する複数のインデックスを含む。例えば、インデックス参照テーブルは、通常再生ストリームのシーケンス・ヘッダからのＭＰＥＧ表示タイムスタンプを用いて生成することができる。
【００１８】
【発明が解決しようとする課題】
この手法の欠点の１つに、ＭＰＥＧ表示タイムスタンプは常に使用可能とは限らないことがあげられる。例えば、ＭＰＥＧ表示タイムスタンプは連続である必要はない。例えば、表示タイムスタンプに中断またはギャップが存在する可能性がある。
【００１９】
他の問題は、提示タイムスタンプはプレゼンテーション（提示）を基準としていることである。即ち、５倍速の高速前進ストリームを再生しているときでも、提示タイムスタンプは５倍速く進むのではなく、通常再生ストリームにおけるのと同じ速度で進むのである。したがって、この方法では、サーバは、他のストリームにおける対応位置を判定するために、提示タイムスタンプの計算を行わなければならない。このために、メディア・サーバのリアル・タイム処理の負担が増大することになる。
【００２０】
また、この手法は、各デコーダがインテリジェンス（情報処理機能）を有することを要求し、更に、メディア・サーバがデコーダと対話（双方向通信）を行い、ストリームの切替を行うことを要求する。例えば、ユーザが高速前進または高速逆進選択肢を選択した場合、この方法では、デコーダがメディア・サーバに、デコーダが再生を停止したときの各提示タイムスタンプ、および再生中の提示速度についての情報を返送しなければならない。すると、メディア・サーバはこの情報を用いて、新たなストリームにおいて再生を開始すべき、適切な表示タイムスタンプ位置を判定する。デコーダがメディア・サーバと双方向通信を行いストリームの切替を行うという要件、およびメディア・サーバが行わなければならない計算は、システムのオーバーヘッド増大を招く。メディア・サーバおよびデコーダ間の双方向通信は、また、各デコーダが情報処理機能を有することを必要とするため、各デコーダのコスト上昇を引き起こすことになる。
【００２１】
ＭＰＥＧの提示タイムスタンプに基づくこのような手法の１つにＨＰの各テーブル・エントリに対する"PictureNumber, PresentationTimeStamp, FileOffset"がある。しかしながら、全てのエンコード用フォーマットがＭＰＥＧを基本とするものとは限らない。更に、提示速度間の正確なマッピングが達成可能なのは、提示速度が一定比率であるという基礎的な想定、即ち、エンコード・ビデオ・ストリームが均一のフレーム速度を有するという想定が該当する場合のみである。逆に、全ての提示速度においてフレーム速度を均一とすると、「場面高速前進(scene fast forward)」のような技法が不可能となる。
【００２２】
したがって、ビデオ配信システムにおける通常再生ストリームとトリック再生ビデオ・ストリームとの間で効率的にインデックスを設定する、改良されたシステムおよび方法が望まれている。更に、メディア・サーバの処理負担を低減する改良されたシステムおよび方法も望まれている。
【００２３】
【課題を解決するための手段】
本発明は、双方向ビデオ配信システムにおいて、関連するビデオ・ストリーム間にインデックスを設定するシステムおよび方法から成るものである。双方向ビデオ配信システムは、異なる提示速度を有するビデオ・ストリームを記憶する少なくとも１台のメディア・サーバを備えることが望ましい。好適実施例では、このシステムは、通常再生ストリームと、１つ以上の対応するトリック再生ストリームとを記憶する。トリック再生ビデオ・ストリームは、高速前進ビデオ・ストリームおよび／または高速逆進ビデオ・ストリームである。本発明は、通常再生ストリームとトリック再生ビデオ・ストリームとの間でインデックス参照（ルックアップ）テーブル（ＩＬＵＴ）を生成し、ストリーム間におけるインデックス設定を可能とし、本発明はこれらのＩＬＵＴを用いて、ストリーム間において相互の切替を行うようにしたものである。
【００２４】
好適実施例では、メディア・サーバは通常再生ビデオ・ストリームを記憶する。通常再生ビデオ・ストリームは、種々の形式のビデオ圧縮方法のいずれか、好ましくはＭＰＥＧ法を用いて、圧縮されていることが好ましい。ＩＬＵＴ作成の際、システムは最初に通常再生ストリームを分析し、通常再生ストリームに含まれる表示タイムスタンプに基づいて、通常再生時刻標準(normal play time standard)を作成する。次に、システムは、この通常再生時刻標準を用いて、通常再生ビデオ・ストリームおよびトリック再生ビデオ・ストリームの各々について、インデックス参照テーブルを作成することが好ましい。各インデックス・テーブルは２つのタプル(tuple)から成るアレイを備え、２つのタプルとは、通常再生時刻標準値と、各ストリームへのインデックスまたはオフセットである。インデックス・テーブルはストリーム間におけるインデックス設定を可能にする。
【００２５】
ビデオ配信の間、本発明のシステムは、各インデックス・テーブルを用いて、通常再生ビデオ・ストリームとトリック・ビデオ・ストリームとの間で互いに切り替える。例えば、ユーザが通常再生ストリームを見ていて、そのビデオ・ストリームの中で高速前進を望むとき、メディア・サーバは出力中の通常再生ストリームの現在（そのとき）の通常表示時刻およびオフセットを調べ、適切な時点において通常再生ストリームを中断する。また、メディア・サーバは、現在通常再生時刻を用いて、高速前進ストリーム・インデックス・テーブルにおける適切なオフセットを探し出す。次にこのオフセットを用いて、適切な時点即ち通常再生ストリームを中断したフレームにて、高速前進ストリームの再生を開始する。ユーザが高速前進を中断し通常の再生を選択した場合、メディア・サーバは、出力中の高速前進ストリームの現在通常再生時刻およびオフセットを調べ、適切な時点で高速前進ストリームを中断する。また、メディア・サーバは、高速前進ストリームの現通常再生時刻を用い、通常再生ストリーム・インデックス・テーブルにおいて適切なオフセットを探し出す。次にこのオフセットを用いて、高速前進ストリームを中断した位置において、通常再生ストリームの再生を開始する。また、本発明は、異なるストリームの出力の停止および開始、即ち、異なるストリーム間の出力の切替が、よく定義された「ランダム・アクセス」ポイントにおいてのみ発生することを保証することにより、異なる提示速度を有するストリーム間の円滑な移行も提供する。
【００２６】
したがって、本発明は、通常再生ストリームとトリック再生ストリームとの間の効果的なインデックス設定を可能にする。本発明は、通常再生時刻標準値を作成し、これを共通の基準として用いることにより、インデックス設定プロセスの簡略化を図る。これによって、デコーダにおけるあらゆる情報処理能力の要求をなくし、ビデオ・サーバの処理要件が減少することになる。
【００２７】
本発明は、以下の図面を参照した好適実施例の詳細な説明から理解することができよう。
【００２８】
【発明の実施の形態】
ビデオ配信システム
ここで図１を参照すると、ビデオ・ストリームを記憶し転送するビデオ・サーバ即ちビデオ配信システム３０が示されている。システム３０は、好ましくは、ビデオ・オン・デマンド（ＶＯＤ）または疑似ビデオ・オン・デマンド（ＮＶＯＤ）システム、あるいはその他のビデオ配信システムであり、一人以上のユーザ、好ましくは複数のユーザにビデオまたはマルチメディア・ストリームを転送または再生可能にするものである。ここで、「ビデオ・ストリーム」という用語は、映像の表示を提供するファイルまたは一連のデータに言及する際に用いることとする。また、「ビデオ・ストリーム」という用語は、ビデオおよびオーディオ双方の構成要素を含むマルチメディア・ストリームを含む。
【００２９】
図示のように、一実施例では、ビデオ配信システム３０は、１台以上のメディア・サーバ即ちビデオ・サーバ５０を備え、広帯域ネットワーク４０を通じて、複数の加入者５２に接続されている。以下で説明するが、各メディア・サーバ５０は、汎用コンピュータ・システム６０（図２）を含むことが望ましい。広帯域ネットワーク４０は、ＡＴＭ（非同期転送モード：Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）ネットワークのようなマルチメディアの内容に相応しいネットワークであることが好ましい。加入者５２は、テレビジョン、コンピュータなどのような表示装置（デイスプレイ）を備えていることが好ましい。
【００３０】
メディア・サーバ５０は、異なる提示速度を有するビデオ・ストリームまたはマルチメディア・ストリームを転送または再生可能である。好適実施例では、システム５０は、通常再生ストリームまたは１つ以上のトリック再生ストリームのいずれかを転送または再生可能である。トリック再生ストリームは、１つ以上の高速前進ストリームおよび／または高速逆進ストリームを含むことができる。したがって、ここでは、「トリック再生ストリーム」という用語は、高速前進（順方向）ビデオ・ストリームおよび／または高速逆進（逆方向）ビデオ・ストリームで、好ましくは圧縮されたストリームのことをいう。これらは通常再生ストリームから生成し、通常再生ストリームとは異なる提示速度を有する。
【００３１】
先に注記したように、通常再生ストリームおよびトリック再生ストリームは、好ましくは圧縮ビデオ・ストリームである。本発明は、ビデオ・ストリームの種類やフォーマットには独立して動作する。したがって、ビデオ・ストリームは、ＭＰＥＧ−１、ＭＰＥＧ−２、Motion JPEG、QuickTime等を含む種々のフォーマット形式のいずれで圧縮されたものでもよい。更に、本発明は、フレーム速度や他のプレゼンテーション特性とは無関係に動作する。
【００３２】
図２−メディア・サーバ
次に図２を参照すると、本実施例では、メディア・サーバ即ちビデオ・サーバ５０はコンピュータ・システム６０を備えている。図３は、図２のメディア・サーバ・コンピュータ・システム６０に含まれる構成要素を示すブロック図である。メディア・サーバ・コンピュータ・システム６０は、１つ以上のプロセッサ、１つ以上のバス、ハード・ディスク・ドライブおよびメモリを含む、様々な規格の構成要素を含む。尚、図３は例示に過ぎず、必要に応じて、他のコンピュータ・アーキテクチャも使用可能であることを注記しておく。図示のように、コンピュータ・システム６０は、チップセット・ロジック(chipset logic)８２を介してシステム・メモリ８４に結合された少なくとも１つのプロセッサ８０を含む。チップセット８２は、ＰＣＩバス８６へのインターフェースを行うためのＰＣＩ（周辺構成要素相互接続:Peripheral Component Interconnect)ブリッジを含む。コンピュータ・システム６０は、ＲＡＩＤ（安価なディスクの冗長アレイ:Redundant Array of Inexpensive Disks)ディスク・アレイ９０またはその他の記憶媒体を含み、通常再生ストリームおよび対応するトリック再生ストリームを記憶する。コンピュータ・システム６０は、ＭＰＥＧデコーダ７４およびＭＰＥＧエンコーダ７６のいずれかまたは双方を含むことが可能である。これらはＰＣＩバス８６に接続されたものとして示されている。コンピュータ・システム６０は、図示のようなビデオ回路８８も含んでも良い。
【００３３】
再び図２を参照すると、コンピュータ・システム６０は、１台以上のデジタル記憶装置またはメディア記憶装置を含むか、これらに結合されている。例えば、図２の実施例では、コンピュータ・システム６０は、ケーブル６４を介して、メディア記憶ユニット６２に結合する。メディア記憶ユニット６２は、コンピュータ・システム６０内に、ディスク記憶システムに加えて、またはこれに代わって設けることができる。メディア記憶ユニット６２は１台以上の複合ＲＡＩＤドライブを含み、通常再生ストリームおよび対応するトリック再生ストリームを記憶する。あるいは、メディア記憶ユニット６２は、代わりに、１台以上のＣＤ−ＲＯＭドライブおよび／または１台以上のデジタル・ビデオ・ディスク（ＤＶＤ）記憶ユニット、あるいはその他の種類の媒体を、デジタル映像を記憶するために含んでも良い。また、コンピュータ・システム６０は、必要に応じて、その他の種類のデジタルまたはアナログ記憶装置も接続してもよい。
【００３４】
圧縮された通常再生ストリームおよびトリック再生ストリームは、ＲＡＩＤディスク・アレイ、ＣＤ−ＲＯＭまたはデジタル・ビデオ・ディスク（ＤＶＤ）のような、メディア・サーバ５０内の記憶媒体に備えておくことができる。メディア・サーバ５０は、記憶媒体から各通常再生ストリームまたはトリック再生ストリームを読み出し、そのデータを１台以上の表示装置（ディスプレイ）または視聴者（加入者）５２に供給する。メディア・サーバ５０は、ＡＴＭ（非同期転送モード）、ＩＳＤＮ（デジタル・ネットワーク統合サービス）のような種々の通信媒体を用いて、または衛星を通じてビデオ・データを出力することも可能である。先に注記したように、加入者の表示装置は、テレビジョン、コンピュータ・システム、またはビデオの内容を表示する表示画面を有するその他のシステムを備えていればよい。
【００３５】
上述のように、メディア・サーバ５０は、通常再生ストリームおよびトリック再生ストリーム間において、通常はユーザの選択に基づいて、インデックス設定または切替を行う。以下で更に詳しく説明するが、メディア・サーバ５０は種々のストリームに対してインデックス・テーブルを生成し、これらのテーブルを用いて種々のストリーム間で切替を行う。本実施例では、インデックス・テーブルの生成およびインデックス設定機能は、メディア・サーバ５０によってソフトウエアで実行される。このソフトウエアはフロッピー・ディスク７２によって示されている。他の実施例では、コンピュータ・システム６０は、インデックス・テーブルの生成機能およびインデックス設定機能の一方または双方を実行する専用ハードウエアを含む。
【００３６】
尚、メディア・サーバ５０は、必要に応じて、２台以上の相互接続されたコンピュータを含んでも良いことを注記しておく。
【００３７】
図４−インデックス参照テーブルの作成
次に図４を参照すると、本発明によるインデックス参照テーブル（ＬＵＴ）の生成を図示した図が示されている。ここでは、通常再生ストリームと１つ以上のトリック再生ストリームがシステム内に記憶されていることを想定する。異なるストリームは、異なる速度で提示（プレゼンテーション）するために同一内容をエンコードしていることが好ましい。
【００３８】
ステップ１０２に示すように、サーバ５０は、通常再生ビデオ・ストリームまたはマルチメディア・ストリームを受信または検査する。前述したように、通常再生ストリームはビデオ・データのストリームから成り、これを用いて、テレビジョンまたはコンピュータシステムのようなスクリーン上に、テレビジョンのセグメント(segment)または映画のようなビデオ・シーケンスを表示する。本実施例では、通常再生ストリームは圧縮ストリームであり、好ましくはＭＰＥＧ−２圧縮ストリームであるが、必要に応じて、他の形式の圧縮を用いても良い。したがって、インデックスＬＵＴは、既存のＭＰＥＧエンコード・ビデオ・ストリームを用いて生成する。
【００３９】
ステップ１０４において、サーバ５０はストリーム内のタイムスタンプを分析する。ストリームがＭＰＥＧストリームである本実施例では、システムは、ストリーム内のシーケンス・ヘッダから、提示（プレゼンテーション）タイムスタンプを分析する。上述のように、提示タイムスタンプは、ビデオ・シーケンスに時間軸を与えるために用いられる。
【００４０】
前述したように、ＭＰＥＧエンコード・ストリームは、イントラコード画像(intracoded picture)である複数のＩフレームと、インターコードフレーム(intercoded frame)である複数のＢフレームおよびＰフレームとを含む。各Ｉフレームは、ビデオ・フレーム全体のビデオ・データを含み、シーケンス内に周期的に配置されている。ＰフレームおよびＢフレームは、以前のフレームまたは後続のフレームに対する変化情報を含む。各画像即ちフレームは画像ヘッダも含み、これが当該フレームを識別し、そのフレームのための情報を含む。ＭＰＥＧエンコード・ストリームは、更に、１つ以上のシーケンス・ヘッダを含み、これは、種々の情報の中でも、フレーム速度および画像サイズを含む、ビデオ・シーケンスに関するある情報を含む。シーケンス・ヘッダは、ビデオ・シーケンスの再生時刻を示す提示タイムスタンプを含む。
【００４１】
ステップ１０６において、サーバ５０は、提示タイムスタンプを「通常再生時刻」（ＮＰＴ）標準にマッピングする。こうして、サーバ５０は、マルチメディア・タイトルの中のある「位置」に関連させることができるＮＰＴの概念に基づいて、マルチメディアのインデックスを定義する。各位置に存在する内容が概念的にほぼ同等である場合、異なる提示速度を有するマルチメディア・ストリームまたはビデオ・ストリーム間において位置は同等に定義される。したがって、ビデオ・データについては、シーケンス内の同一またはほぼ同一な画像が提示されている場合、位置が対応すると定義され、解像度の相違や、当該ストリームに特定なもの以外のエンコード・パラメータの相違に対しては容認する。
【００４２】
本発明によれば、ＮＰＴはストリーム内の連続する要素、例えば、フレームまたはシーケンスに、増加する番号値を割り当てることによって、圧縮ビデオ・ストリームまたは他のいずれかのマルチメディア・ファイル内における、前後関係位置についての指示を与える。その結果、ＮＰＴは、提示速度、エンコード方式または記憶媒体には無関係に、ビデオ・ストリーム内の内容の特定項目の位置を判定することができる。
【００４３】
通常再生時刻標準の発生の際、サーバ５０は提示タイムスタンプを検査し、映画の開始時における元の即ち基本提示タイムスタンプを追跡する。次に、サーバ５０は、その基本提示タイムスタンプ即ち元の提示タイムスタンプを、後続のタイムスタンプから減算し、通常再生ストリームに対する通常再生時刻値を判定することによって、基本提示タイムスタンプがゼロでない場合に対する補償を行う。言い換えると、通常再生ストリームにおける所与の点に対する通常再生時刻を計算するために、システムは基本提示タイムスタンプを、通常再生ストリームにおける各点即ち位置における、今後（これより先）の提示タイムスタンプから減算し、その位置に対する通常再生時刻を判定する。
【００４４】
本実施例では、マルチメディア・ストリームにおけるある位置に対する通常再生時刻（ＮＰＴ）とは、通常速度の前進ストリーム即ち通常再生ストリームの表示によって測定した場合の、タイトルの開始からの各位置までの時間である。したがって、本発明は、通常再生時刻の概念を用いる。通常再生時刻は通常再生ストリームの速度に対応し、クロック・タイムと１対１の対応を有する。したがって、通常再生映画が前進していく各秒毎に、通常再生時刻は１秒先に進む。高速前進ファイル即ち高速前進トリック再生ストリームでは、ＦＦストリームが５倍速い場合、通常再生時刻はユーザが見ているものよりも５倍速い。
【００４５】
通常、映画における特定場面はいずれも、通常再生時刻によって識別される。したがって、特定場面が、通常再生時刻において、映画の開始からＸ分後に発生した場合、この位置即ち場面は、Ｘ分として言及される、即ち、指定されることになる。このように、高速前進および高速逆進ストリームでは、時間がかなり速く進んでも、通常再生時刻のＸ分にて特定場面が発生する。
【００４６】
ステップ１０８において、サーバ５０は、マルチメディア・ストリームの各々に対して、即ち、通常再生ストリームとトリック再生ストリームの各々に対して、インデックス参照テーブルを作成する。通常再生マルチメディア・ストリームは、２つのタプルから成るインデックス即ちアレイである。通常再生、高速前進、および高速逆進ストリームのインデックス参照テーブルを図５に示す。図示のように、各タプルは、通常再生時刻値と、当該ストリーム内の対応するファイル・オフセットとから成る。
【００４７】
各ＮＰＴインデックスにおけるエントリは、エンコード方式の要件によって限定され得ることを注記しておく。例えば、あるエンコード方式は、エンコード・ストリームに対してある非線形な間隔でランダムな配置しか許さない場合がある。ＭＰＥＧ２の搬送ストリームの場合、「ランダム・アクセス・インディケータ」を搬送パケット・ヘッダ内にセットし、各エンコード・データ・パケットのファイル・オフセットを示し、その結果、ＮＰＴインデックスは、「ランダムにアクセス可能」となる。
【００４８】
通常再生ストリームでは、通常再生時刻エントリは、ステップ１０６において計算した通常再生時刻値を含む。基準化ストリーム(scaled stream)、例えば、高速前進ストリームおよび高速逆進ストリームでは、インデックス参照テーブルの通常再生時刻値に換算係数(scale factor)を導入し、異なる提示速度を補償する。提示タイムスタンプの換算は、圧縮された提示タイムスタンプ値に、その提示速度の通常提示速度に対する比を乗算することによって得ることができる。
【００４９】
異なる提示速度を有するマルチメディア・ストリームにおける対応位置は、等しいＮＰＴ値を有するが、ストリームの開始からその位置までの実際に経過する時間は、異なるストリーム毎に別々となることを注記しておく。また、異なる提示速度を有するマルチメディア・ストリームの中の対応位置は、等しいＮＰＴ値を有するが、異なる提示速度を有するストリームの長さにおける推定に基づく相違のために、異なるバイト・オフセットを有することも注記しておく。
【００５０】
インデックス参照（ルックアップ）テーブルは、各々通常再生時刻およびファイル・オフセットに基づくインデックスまたはエントリを指定し、マルチメディア・サーバ５０がマルチメディア・ストリームにおける特定の通常再生時点において再生の開始および停止をできるようにする。また、インデックス参照テーブルのインデックスによって、マルチメディア・サーバ５０は、異なる提示速度のストリーム間、即ち、通常再生ストリームとトリック再生ストリーム間において、対応位置への変換（遷移）および対応位置間の変換を行うことができる。インデックス参照テーブルは、開始、停止、またはストリーム間の変換について有効な位置を表わすタプルのみを含む。
【００５１】
参照テーブルの作成は、いずれの特定形式のビデオ圧縮またはＭＰＥＧ表現には無関係に行うことができる。したがって、ＭＰＥＧ圧縮が用いられている場合、ＭＰＥＧファイル中を走査し、ＭＰＥＧファイル中のランダム・アクセス・ポイントを指摘して提示タイムスタンプの不連続を補償し、次いでＭＰＥＧファイルにおける提示タイムスタンプを、通常再生時刻標準値に変換することによって、インデックス参照テーブルを作成する。概念的には、各インデックス・テーブルは、通常再生時刻対場面のアレイから成り、映画におけるあらゆる特定画像は、通常再生時刻値によって識別可能である。先に注記したように、インデックス・テーブルは、各提示速度毎に、例えば、高速前進、高速逆進、および通常再生に対して作成される。インデックス・テーブル内に記憶されるオフセットの各々は、通常再生時刻から、特定場面が始まる当該ＭＰＥＧファイルにおけるバイト・オフセットへのインデックスである。
【００５２】
したがって、サーバ５０は、ビデオ・ストリームにおいて、タイムスタンプを用いる代わりに、通常再生時刻標準値を用いる。先に注記したように、ＭＰＥＧシーケンスにおける提示タイムスタンプは、典型的に、常に使用可能なわけではない。例えば、タイムスタンプを連続とする要件はない。例えば、提示タイムスタンプには、中断またはギャップもあり得る。したがって、従来技術の方法とは異なり、本発明の方法は、インデックス・テーブルを作成する基準として、提示タイムスタンプを用いない。代わりに、本発明のシステムは、提示タイムスタンプを通常再生時刻標準値にマッピングし、次いでこの通常再生時刻標準値をインデックス・テーブル作成の基準として用いる。
【００５３】
図６−ストリーム間の変換
次に図６を参照すると、異なる提示速度を有するマルチメディア・ストリーム間で出力を変換（移転）する、本発明のシステムの処理が示されている。ここでは、現ビデオ・ストリームまたはマルチメディア・ストリームがメディア・サーバ５０から出力されており、メディア・サーバ５０は、別のストリームを出力することを指示するユーザ入力を受信していると仮定する。例えば、メディア・サーバは通常再生のマルチメディア・ストリームを供給しつつあり、メディア・サーバ５０はユーザの高速前進または高速逆進を選択する入力を受信し、高速前進または高速逆進トリック再生ストリームを適切な時点において出力しなくてはならないことを示す。
【００５４】
ユーザ入力を受信し、提示速度における所望の変更が示された場合、ステップ２０２において、メディア・サーバ５０は、現出力オフセットを越えるオフセットを含む現ストリーム即ちファイルのインデックス・テーブルにおけるタプルを発見する。言い換えると、現ストリームを再生しており、ストリーム内のある時点即ちオフセットにあると仮定すると、ステップ２０２において、メディア・サーバ５０は、現ストリームのインデックス・テーブルにおいて、現出力オフセット自体またはそれを丁度越えたオフセットを含むタプル即ちエントリを発見する。現出力オフセットは、メディア・サーバ５０において実行するメディア・ファイル・システム（ＭＦＳ）ソフトウエアによって提供されることが好ましい。ステップ２０２において、メディア・サーバ５０は、このストリームの現出力のバイト・オフセットを受信し、インデックス・テーブルを検索して、ストリームの現出力のバイト・オフセット以上で、最も近いオフセットを求める。
【００５５】
ステップ２０４において、メディア・サーバ５０は、ステップ２０２において判定したこのオフセットにおいて出力を終了するように、現ストリームのスケジュールを立てる。このように、出力中の現ストリームを終了するために、メディア・サーバ５０は、最も近い次の通常再生時刻即ち現在再生されている位置の最も近いオフセットに対するタプルを発見し、このタプルに対応するオフセットを利用し、このオフセットにおいて現ビデオ・ストリームの再生を終了する。
【００５６】
ステップ２０６において、メディア・サーバ５０は、現ストリームに対する通常再生時刻を判定する。現ストリームに対する通常再生時刻は、予めステップ２０２において決定しておいてもよいことを注記しておく。言い換えれば、ステップ２０２において現出力ストリームのバイト・オフセットよりも大きい、最も近いオフセットを決定しておくことによって、このタプルにおける対応する通常再生時刻値を、現ストリームに対する通常再生時刻として使用することができる。
【００５７】
ステップ２０８において、メディア・サーバ５０は、新たなストリーム即ち出力すべきストリームのインデックス・テーブルにおいて、現ストリームの通常再生時刻に最も近い通常再生時刻を有するタプルを発見する。ステップ２１０において、メディア・サーバ５０は、ステップ２０８において発見したタプルのオフセットを用いて、そのオフセットにおける新たなストリームの出力を開始する。新たなストリームの出力は、現ストリームの終了後に開始することが好ましく、上述のように、現ストリームはステップ２０４において終了するようにスケジュールが立てられる。
【００５８】
したがって、所与の通常再生時刻において出力される各ストリームの出力の開始および終了を行うには、各インデックス・テーブルにおいて、最も近い通常再生時刻に対するタプルを発見し、対応するファイル・オフセットをポイントとして利用し、ストリームの再生を開始または終了する。異なる提示速度を有する異なるマルチメディア・データ・ストリーム間の移転を行うには、現ストリームおよび新たなストリームの各テーブルにおけるエントリを利用し、現ストリームの出力停止および新たなストリームの再生開始のスケジュールを立て変える。
【００５９】
要約すれば、本発明は、通常再生ビデオ・ストリームとトリック再生ビデオ・ストリームとの間でインデックスを設定するシステムおよび方法から成る。本発明は、通常再生ストリームのシーケンス・ヘッダにおける再生タイムスタンプを検査し、通常再生時刻標準値を作成し、これを全てのストリームに用いる。次に、システムはストリームに対してインデックス・テーブル即ち参照テーブルを作成する。ストリームのインデックス・テーブルは、通常再生時刻値と、各ストリーム内への対応するオフセットとを含む。再生の間、ビデオ配信システムは、これらのインデックス・テーブルを用いて、通常再生ストリームとトリック再生ストリームとの間でジャンプやインデックス作成をインテリジェントに行う。また、この手法によって、内容の複雑性に基づいて場面の前進を行ったりまたは複数の提示速度を備えるといったような、提示速度を一定としない場合も許容される。
【００６０】
他の変更を用いても、本発明から逸脱することなく、通常再生ストリームに対して通常再生時刻標準値を発生可能である。例えば、フレーム番号またはシーケンス番号を用いることによって、ビデオ・ストリームのエンコードに先だって、ＮＰＴインデックスＬＵＴを生成することもできる。あるいは、ＮＰＴインデックスは、映像内容のエンコード処理(video content encoding)と同時に生成することも可能である。次に、このＮＰＴの値を、エンコードされたフレームのファイル・オフセットと対応させることができる。
【００６１】
更に別の実施例では、映像の内容を一定ビット速度でエンコードする。これによれば、エンコードされたビデオ・ストリームによって指定されるランダム・アクセス・ポイントのある（恐らく適正な）サブセットに対するＮＰＴエントリは、以下の式を用いて発生することができる。
【００６２】
前進表示（即ち、正の提示速度変換係数）では、ランダム・アクセス・ポイントが発生する各ファイル・オフセットに対するＮＰＴ値は、次の式を用いて計算することができる。
ＮＰＴ＝（提示速度変換係数＊ファイル・ビット・オフセット）／一定ビット速度
【００６３】
逆に、逆進表示（即ち、負の提示速度変換係数）では、各ファイル・オフセットに対するＮＰＴ値は、以下の式を用いて計算することができる。
ＮＰＴ＝全ＮＰＴ＋（提示速度変換係数＊ファイル・ビット・オフセット）／一定ビット速度）
【００６４】
ここで、提示速度変換係数＝提示速度の通常提示速度に対する比率（例えば、７という値は、７倍速の高速前進を示し、−５という値は５倍速の高速逆進を示す）。
ファイル・ビット・オフセット＝エンコードの開始から、ランダム・アクセス・ポイントとして指定されたファイル・オフセットまでのビット数。
一定ビット速度＝エンコードを再生しようとする一定ビット速度。
全ＮＰＴ＝通常速度表示の全時間期間（即ち、映画の長さとして通常考えられるもの）。
【００６５】
以上、記載した実施例に関連付けて本発明のシステムおよび方法について説明したが、ここに提示した具体的な形態に限定することを意図する訳ではない。逆に、特許請求の範囲に規定する本発明の主旨および範囲に合理的に含まれ得る代替物、変更物、および均等物を包含することを意図するものである。
【図面の簡単な説明】
【図１】１台以上のメディア・サーバおよび一人以上の加入者を含むビデオ配信システムを示す図。
【図２】図１のメディア・サーバを示す図。
【図３】図２のメディア・サーバ・コンピュータ・システムを示すブロック図。
【図４】本発明による通常再生ストリームおよびトリック再生ストリームのインデックス参照テーブルの生成を示す流れ図。
【図５】本発明による通常再生ストリームおよびトリック再生ストリームのインデックス参照テーブルを示す図。
【図６】本発明による通常再生ストリームとトリック再生ストリームとの間のインデックス設定を行うメディア・サーバの処理を示す流れ図。
【符号の説明】
３０    ビデオ配信システム
４０    広帯域ネットワーク
５０    メディア・サーバ
５２    加入者
６０    汎用コンピュータ・システム
６２    メディア記憶ユニット
６４    ケーブル
７２    フロッピ・ディスク
７４    ＭＰＥＧデコーダ
７６    ＭＰＥＧエンコーダ
８０    プロセッサ
８２    チップセット・ロジック
８４    システム・メモリ
８６    ＰＣＩバス
８８    ビデオ回路
９０    ＲＡＩＤディスク・アレイ
【図１】
0004589466.tif 000002
【図２】
0004589466.tif 000003
【図３】
0004589466.tif 000004
【図４】
0004589466.tif 000005
【図５】
0004589466.tif 000006
【図６】
0004589466.tif 000007