(57)【要約】【課題】ＭＰＥＧ圧縮ノーマル・ビット・ストリームから、高速前進および高速逆進ビデオ・ストリームのような、トリック・プレイ・ビデオ・ストリームを発生するシステムを提供する。【解決手段】本システムは、圧縮ノーマル・プレイ・ビット・ストリームを受信し、ビットストリームの一部分のみを抽出しセーブすることによって、ビットストリームにフィルタ処理を行う。好ましくは、システムは、ＭＰＥＧビットストリームから、Ｉ−フレームおよび全ての重み付けマトリクスを含むシーケンス・ヘッダを抽出し、この情報を新しいファイルに格納する。次に、本システムは、フィルタ処理したデータの組み立て即ち取り揃え(collate)を適正な順序で行い、単一の組み立てビットストリームを生成する。また、システムは、重み付けマトリクスが適正に各Ｉ−フレームに対応することを保証する。【選択図】図１
2008054330.tif 000002
【特許請求の範囲】
【請求項１】
圧縮ノーマル・プレイ・ビットストリームからトリックプレイ・ストリームを発生するコンピュータ実装方法であって、
圧縮ノーマル・プレイ・ビットストリームを受信するステップであって、前記圧縮ノーマル・プレイ・ビットストリームが、複数のイントラコード化フレームおよび複数のインターコード化フレームを含むステップと、
前記圧縮ノーマル・プレイ・ビットストリームから前記イントラコード化フレームを抽出するステップであって、該抽出するステップが、前記イントラコード化フレームを記憶メモリに格納することを含むステップと、
前記抽出するステップの後、前記イントラコード化フレームを組み立て、組み立てビットストリームを形成するステップと、
前記組み立てビットストリームを復号化し、複数の非圧縮フレームを生成するステップと、
前記復号化するステップの後、前記複数の非圧縮フレームを符号化し、圧縮トリック・プレイ・ビットストリームを生成するステップであって、前記圧縮トリック・プレイ・ビットストリームが、前記ノーマル・プレイ・ビットストリームのフレームのサブセットのみを含むステップと、
から成ることを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記圧縮ノーマル・プレイ・ビットストリームが、指定した周波数の、前記複数のイントラコード化フレームを含み、
前記抽出するステップが、前記指定した周波数の前記イントラコード化フレームに対応するデータ・ビットを抽出するステップを備えることを特徴とする方法。
【請求項３】
請求項１記載の方法において、前記圧縮ノーマル・プレイ・ビットストリームが、少なくとも複数の前記イントラコード化フレームに対する情報を備えた、複数のシーケンス・ヘッダを含み、
前記抽出するステップが、前記圧縮ノーマル・プレイ・ビットストリームから前記シーケンス・ヘッダを抽出するステップを備え、前記抽出するステップが、前記シーケンス・ヘッダを記憶メモリに格納するステップを含み、
前記組み立てるステップが、前記シーケンス・ヘッダおよび前記イントラコード化フレームを組み立て、前記組み立てビットストリームを形成するステップを備えることを特徴とする方法。
【請求項４】
請求項１記載の方法において、前記方法が、トリック・プレイ高速前進ビットストリームを発生し、
前記組み立てるステップが、前記イントラコード化フレームを正時間順序で組み立てるステップを備えることを特徴とする方法。
【請求項５】
請求項１記載の方法において、前記方法がトリック・プレイ高速逆進ビットストリームを発生し、前記組み立てるステップが、前記イントラコード化フレームを逆時間順序で組み立てるステップを備えることを特徴とする方法。
【請求項６】
請求項１記載の方法において、前記圧縮ノーマル・プレイ・ビットストリームが、前記イントラコード化フレームに対応する複数のマトリクスを含み、
前記方法が、更に、
前記マトリクスを、前記圧縮ノーマル・プレイ・ビットストリーム内に配置するステップを備え、
前記イントラコード化フレームを組み立てて前記組み立てビットストリームを形成するステップが、前記マトリクスを前記組み立てビットストリームに含ませるステップを含むことを特徴とする方法。
【請求項７】
請求項１記載の方法において、前記複数のマトリクスの各々が、前記イントラコード化フレームの１つに対応し、
前記組み立てるステップが、前記マトリクスのそれぞれを、前記イントラコード化フレームの対応するものと共に組み立てるステップを備えることを特徴とする方法。
【請求項８】
請求項１記載の方法において、前記圧縮ノーマル・プレイ・ビットストリームがＭＰＥＧ圧縮ビットストリームであり、
前記組み立てビットストリームを復号化する前記ステップが、前記組み立てビットストリームをＭＰＥＧ復号化し、前記複数の非圧縮フレームを生成し、
前記複数の非圧縮フレームを符号化する前記ステップが、前記複数の非圧縮フレームをＭＰＥＧ符号化し、ＭＰＥＧ圧縮トリック・プレイ・ビットストリームを生成することを特徴とする方法。
【請求項９】
圧縮ノーマル・プレイ・ビットストリームからトリックプレイ・ストリームを発生するシステムであって、
圧縮ノーマル・プレイ・ビットストリームを格納する記憶媒体であって、前記圧縮ノーマル・プレイ・ビットストリームが、複数のイントラコード化フレームおよび複数のインターコード化フレームを含む、記憶媒体と、
前記圧縮ノーマル・プレイ・ビットストリームから前記イントラコード化フレームを抽出するフィルタと、
前記抽出したイントラコード化フレームを格納する記憶メモリと、
前記格納したイントラコード化フレームを組み立て、組み立てビットストリームを形成する検証／調整部と、
前記組み立てビットストリームを復号化し、複数の非圧縮フレームを生成するデコーダと、
前記複数の非圧縮フレームを符号化し、圧縮トリック・プレイ・ストリームを生成するエンコーダであって、前記圧縮トリック・プレイ・ビットストリームが、前記ノーマル・プレイ・ビットストリームのフレームのサブセットのみを含むエンコーダと、
から成ることを特徴とするシステム。
【請求項１０】
請求項９記載のシステムにおいて、前記圧縮ノーマル・プレイ・ビットストリームが、指定した周波数の、前記複数のイントラコード化フレームを含み、
前記フィルタが、前記指定した周波数の前記イントラコード化フレームに対応するデータ・ビットを抽出することを特徴とするシステム。
【請求項１１】
請求項９記載のシステムにおいて、前記圧縮ノーマル・プレイ・ビットストリームが、少なくとも複数の前記イントラコード化フレームに対する情報を備えた、複数のシーケンス・ヘッダを含み、
前記フィルタが、前記圧縮ノーマル・プレイ・ビットストリームから前記シーケンス・ヘッダを抽出し、前記シーケンス・ヘッダを記憶メモリに格納し、
前記検証／調整部が、前記シーケンス・ヘッダおよび前記イントラコード化フレームを組み立て、前記組み立てビットストリームを形成することを特徴とするシステム。
【請求項１２】
請求項９記載のシステムにおいて、前記システムが、トリック・プレイ高速前進ビットストリームを発生し、
前記検証／調整部が、前記イントラコード化フレームを正時間順序で組み立てることを特徴とするシステム。
【請求項１３】
請求項９記載のシステムにおいて、前記システムがトリック・プレイ高速逆進ビットストリームを発生し、前記検証／調整部が、前記イントラコード化フレームを逆時間順序で組み立てることを特徴とするシステム。
【請求項１４】
請求項９記載のシステムにおいて、前記圧縮ノーマル・プレイ・ビットストリームが、前記イントラコード化フレームに対応する複数のマトリクスを含み、
前記フィルタが、前記マトリクスを、前記圧縮ノーマル・プレイ・ビットストリーム内に配置し、かつ前記マトリクスを前記記憶メモリに格納し、
前記検証／調整部が、前記イントラコード化フレームおよび前記マトリクスを組み立て、前記組み立てビットストリームを形成することを特徴とするシステム。
【請求項１５】
請求項９記載のシステムにおいて、前記複数のマトリクスの各々が、前記イントラコード化フレームの１つに対応し、
前記検証／調整部が、前記マトリクスのそれぞれを、前記イントラコード化フレームの対応するものと共に組み立てることを特徴とする方法。
【請求項１６】
請求項１記載の方法において、前記圧縮ノーマル・プレイ・ビットストリームがＭＰＥＧ圧縮ビットストリームであり、
前記デコーダがＭＰＥＧデコーダであり、
前記エンコーダがＭＰＥＧエンコーダであることを特徴とする方法。
【請求項１７】
ＭＰＥＧ圧縮ノーマル・プレイ・ビットストリームからトリックプレイ・ストリームを発生する方法であって、
圧縮ノーマル・プレイ・ビットストリームを受信するステップであって、前記圧縮ノーマル・プレイ・ビットストリームが、複数のイントラ・フレームと、複数の予測フレームと、複数の双方向予測フレームとを含む、ステップと、
前記圧縮ノーマル・プレイ・ビットストリームから前記イントラ・フレームを抽出するステップであって、前記イントラ・フレームを記憶メモリに格納することを含むステップと、
前記抽出するステップの後に、前記イントラ・フレームを組み立て、組み立てビットストリームを形成するステップと、
前記組み立てビットストリームを復号化し、複数の非圧縮フレームを生成するステップと、
前記複合化するステップの後、前記複数の非圧縮フレームを符号化し、圧縮トリック・プレイ・ビットストリームを生成するステップであって、前記圧縮トリック・プレイ・ビットストリームが、前記ノーマル・プレイ・ビットストリームのフレームのサブセットのみを含む、ステップと、
から成ることを特徴とする方法。
【請求項１８】
圧縮ノーマル・プレイ・ビットストリームからトリックプレイ・ストリームを発生するコンピュータ実装方法であって、
圧縮ノーマル・プレイ・ビットストリームを受信するステップであって、前記圧縮ノーマル・プレイ・ビットストリームが、複数のイントラコード化フレームおよび複数のインターコード化フレームを含むステップと、
前記圧縮ノーマル・プレイ・ビットストリームから前記イントラコード化フレームを抽出するステップであって、該抽出するステップが、前記イントラコード化フレームを記憶メモリに格納することを含むステップと、
前記抽出するステップの後、前記イントラコード化フレームを組み立て、組み立てビットストリームを形成するステップと、
前記組み立てビットストリームを格納するステップと、
から成ることを特徴とする方法。
【請求項１９】
請求項１８記載の方法において、前記圧縮ノーマル・プレイ・ビットストリームが、少なくとも複数の前記イントラコード化フレームに対する情報を備えた、複数のシーケンス・ヘッダを含み、
前記抽出するステップが、前記圧縮ノーマル・プレイ・ビットストリームから前記シーケンス・ヘッダを抽出するステップを備え、前記抽出するステップが、前記シーケンス・ヘッダを記憶メモリに格納するステップを含み、
前記組み立てるステップが、前記シーケンス・ヘッダおよび前記イントラコード化フレームを組み立て、前記組み立てビットストリームを形成するステップを備えることを特徴とする方法。
【請求項２０】
請求項１８記載の方法において、前記方法が、トリック・プレイ高速前進ビットストリームを発生し、
前記組み立てるステップが、前記イントラコード化フレームを正時間順序で組み立てるステップを備えることを特徴とする方法。
【請求項２１】
請求項１８記載の方法において、前記方法がトリック・プレイ高速逆進ビットストリームを発生し、前記組み立てるステップが、前記イントラコード化フレームを逆時間順序で組み立てるステップを備えることを特徴とする方法。
【請求項２２】
請求項１８記載の方法において、前記圧縮ノーマル・プレイ・ビットストリームが、前記イントラコード化フレームに対応する複数のマトリクスを含み、
前記方法が、更に、
前記マトリクスを、前記圧縮ノーマル・プレイ・ビットストリーム内に配置するステップを備え、
前記イントラコード化フレームを組み立てて前記組み立てビットストリームを形成するステップが、前記マトリクスを前記組み立てビットストリームに含ませるステップを含むことを特徴とする方法。
【請求項２３】
請求項１８記載の方法において、前記複数のマトリクスの各々が、前記イントラコード化フレームの１つに対応し、
前記組み立てるステップが、前記マトリクスのそれぞれを、前記イントラコード化フレームの対応するものと共に組み立てるステップを備えることを特徴とする方法。
【請求項２４】
請求項１８記載の方法であって、更に、
前記組み立てビットストリームを格納する前記ステップの後に、前記組み立てビットストリームを復号化し、複数の非圧縮フレームを生成するステップと、
前記複合化ステップの後、前記複数の非圧縮フレームを符号化し、圧縮トリック・プレイ・ビットストリームを生成するステップであって、前記圧縮トリック・プレイ・ビットストリームが、前記ノーマル・プレイ・ビットストリームのフレームのサブセットのみを含む、ステップと、
前記圧縮トリック・プレイ・ビットストリームを格納するステップと、
を含むことを特徴とする方法。
【請求項２５】
請求項２４記載の方法において、前記圧縮ノーマル・プレイ・ビットストリームがＭＰＥＧ圧縮ビットストリームであり、
前記組み立てたビットストリームを復号化する前記ステップが、前記組み立てたビットストリームをＭＰＥＧ復号化し、前記複数の非圧縮フレームを生成し、
前記複数の非圧縮フレームを符号化する前記ステップが、前記複数の非圧縮フレームをＭＰＥＧ符号化し、ＭＰＥＧ圧縮トリック・プレイ・ビットストリームを生成することを特徴とする方法。
【請求項２６】
コンピュータ・システムにおいて動作するためのコンピュータ読み取り可能記憶媒体であって、前記コンピュータ・システムが中央演算装置とメモリとを含み、前記コンピュータ読み取り可能記憶媒体が、データを表す物理的形状を有する基板を含み、前記記憶媒体が、
前記記憶媒体上に備えてあり、前記圧縮ノーマル・プレイ・ビットストリームから前記イントラコード化フレームを抽出する抽出プログラムであって、前記イントラコード化フレームを記憶メモリに格納する抽出プログラムと、
前記イントラコード化フレームを組み立て、組み立てビットストリームを形成する組み立てプログラムと、
前記組み立てビットストリームを復号化し、複数の非圧縮フレームを生成する複合化プログラムと、
前記復号化プログラムの処理の後、前記複数の非圧縮フレームを符号化し、圧縮トリック・プレイ・ビットストリームを生成する符号化プログラムであって、前記圧縮トリック・プレイ・ビットストリームが、前記ノーマル・プレイ・ビットストリームのフレームのサブセットのみを含む符号化プログラムと、
から成ることを特徴とするコンピュータ読み取り可能記憶媒体。
【請求項２７】
請求項２６記載のコンピュータ読み取り可能記憶媒体において、前記圧縮ノーマル・プレイ・ビットストリームが、少なくとも複数の前記イントラコード化フレームに対する情報を備えた、複数のシーケンス・ヘッダを含み、
前記抽出プログラムが、前記圧縮ノーマル・プレイ・ビットストリームから前記シーケンス・ヘッダを抽出し、前記抽出プログラムが、前記シーケンス・ヘッダを記憶メモリに格納し、
前記組み立てプログラムが、前記シーケンス・ヘッダおよび前記イントラコード化フレームを組み立て、前記組み立てビットストリームを形成することを特徴とするコンピュータ読み取り可能記憶媒体。
【請求項２８】
圧縮ノーマル・プレイ・ビデオ・ストリームから逆進トリック・プレイ・ストリームを発生するコンピュータ実装方法であって、
圧縮ノーマル・プレイ・ビデオ・ストリームを受信するステップであって、前記圧縮ノーマル・プレイ・ビデオ・ストリームがビデオ・データを含むステップと、
メモリ・スタック上にマーカを格納するステップと、
前記ビデオ・ストリーム内において開始コードを探索するステップであって、前記圧縮ノーマル・プレイ・ビデオ・ストリームの終端から先頭に向かって探索する前記探索するステップと、
前記探索するステップに応答して、前記ビデオ・ストリーム内において開始コードを発見するステップと、
前記発見するステップにおいて、ユーザ・データ・ブロックの開始コードを発見した場合、ユーザ・データ・ブロックの座標を前記メモリ・スタック上に格納するステップと、
前記発見するステップにおいて、拡張ブロックの開始コードを発見した場合、拡張ブロックの座標を前記メモリ・スタック上に格納するステップと、
前記発見するステップにおいて、ＢフレームまたはＰフレームのピクチャ・ヘッダ・ブロックの開始コードを発見した場合、前記マーカを検出するまで、前記メモリ・スタックから座標をポップするステップであって、前記マーカが前記スタック上に残る、ステップと、
前記発見するステップにおいて、Ｉ−フレームのピクチャ・ヘッダの開始コードを発見した場合、Ｉ−フレームのピクチャ・ヘッダ・ブロックの座標を前記メモリ・スタック上に格納するステップと、
前記発見するステップにおいて、Ｉ−フレーム・ピクチャ・ヘッダの開始コードを発見した場合、前記Ｉ−フレームのピクチャ・ブロックの座標を前記メモリ・スタックに格納する前記ステップの後、前記マーカを検出するまで、前記メモリ・スタック上に現在ある座標をポップするステップと、
前記発見するステップにおいて、Ｉ−フレームのピクチャ・ヘッダの開始コードを発見した場合、前記ポップするステップにおいて前記メモリ・スタックから前記座標をポップする際に、前記メモリ・スタックから除去した前記座標が示す前記圧縮ノーマル・プレイ・ビデオ・ストリームからのデータを、出力逆進トリック・プレイ・ストリームに書き込むステップと、
前記発見するステップにおいて、Ｉ−フレームのピクチャ・ヘッダの開始コードを発見した場合、第１のシーケンス・ヘッダの開始コードを探索するステップと、
前記ビデオ・ストリーム内において開始コードを探索する前記ステップ、および後続のステップを複数回繰り返し、前記逆進トリック・プレイ・ストリームを発生するステップと、
から成ることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
言及による加入
以下の引用文献は、この言及により本願にも含まれるものとする。
ＩＳＯ／ＩＥＣ１３８１８と称するＩＳＯ／ＩＥＣ  ＭＰＥＧ仕様書は、この言及により、その全体が本願にも含まれるものとする。
【０００２】
本発明は、一般的に、ビデオ・オン・デマンド・システム(video-on-demand system)およびビデオ圧縮に関し、更に特定すれば、ノーマル・プレイ圧縮ビデオ・ストリームから、圧縮した高速前進(fast forward)および高速逆進(fast reverse)ビデオ・ストリームを作成するシステムおよび方法に関するものである。
関連技術の説明
ビデオ・オン・デマンド・システムは、複数のユーザまたは視聴者が、１カ所以上のビデオ・サーバまたはメディア・サーバに格納されている、ムービー(movie)またはその他のオーディオ／ビデオ・シーケンスを選択的に視聴することを可能にするものである。ビデオ・サーバは、放送ネットワークのようなデータ転送チャネルを通じて、複数のユーザに接続してある。例えば、ビデオ・サーバは、放送ケーブル・システムまたは衛星放送システムを通じて、複数のユーザまたは加入者に接続することができる。ビデオ・サーバは、複数のムービーまたはその他のオーディオ／ビデオ・シーケンスを格納し、各ユーザは、ビデオ・サーバから１つ以上のムービーを選択し、見ることができる。各ユーザは、テレビジョンまたはその他の視聴用装置、および所望のムービーを選択し見るための付随する復号化ロジックを含む。ユーザがあるムービーを選択すると、データ転送チャネルの１つを通って、選択されたムービーを各ユーザのテレビジョンに転送する。
【０００３】
フル・モーション・デジタル・ビデオは、大容量の記憶装置およびデータ転送帯域幅を必要とする。したがって、ビデオ・オン・デマンド・システムは、種々の形式のビデオ圧縮アルゴリズムを用いて、必要な記憶容量およびデータ転送帯域幅の減少を図っている。通常、静止グラフィック画像およびフル・モーション・ビデオ毎に、異なるビデオ圧縮方法が存在する。静止グラフィック画像即ち単一ビデオ・フレーム用ビデオ圧縮方法のことを、フレーム内圧縮方法(intraframe compression method)と呼び、動画ビデオ用圧縮方法のことをフレーム間圧縮方法(interframe compression method)と呼ぶ。
【０００４】
静止グラフィック画像用ビデオ・データ圧縮の例としては、ＲＬＥ（ランレングス符号化）およびＪＰＥＧ(Joint Photographic Experts Group)圧縮がある。ＲＬＥ圧縮方法は、ビット・マップの単一ライン上に重複する画素があるか否か検査し、画素自体のデータではなく、連続する重複画素の数を格納することによって処理を行う。ＪＰＥＧ圧縮は、無損失（画質劣化がない）または有損（認知不能の劣化から激しい劣化まで）圧縮形式のいずれかを与える、一群の関連規格である。ＪＰＥＧ圧縮は元来ビデオではなく静止画像の圧縮のために設計されたものであるが、ＪＰＥＧ圧縮は、動画ビデオの用途で用いられている場合もある。
【０００５】
静止画像用圧縮アルゴリズムとは対照的に、殆どのビデオ圧縮アルゴリズムは、フル・モーション・ビデオを圧縮するために設計されたものである。動画ビデオ用ビデオ圧縮アルゴリズムは、フレーム間圧縮と呼ばれる概念を用いる。これは、データ・ファイル内における連続フレーム間の差分のみを格納することから成る。フレーム間圧縮では、通常適度に圧縮したフォーマットで、キー・フレーム即ち基準フレームの画像全体を格納する。連続するフレームをキー・フレームと比較し、キー・フレームと連続するフレームとの差分のみを格納する。新たな場面が表示されるとき等、周期的に、新たなキー・フレームを格納し、この新たな基準点から後続の比較を開始する。フレーム間圧縮比は、ビデオ品質が変動しても、一定に保持してよいことを注記しておく。あるいは、フレーム間圧縮比は、内容に応じて変更してもよい。即ち、圧縮対象のビデオ・クリップが多くの急峻な場面遷移を画像毎に含む場合、圧縮の効率は低下する。フレーム間圧縮技法を用いるビデオ圧縮の例としては、とりわけ、ＭＰＥＧ、ＤＶＩおよびＩｎｄｅｏがあげられる。
ＭＰＥＧの背景
ＭＰＥＧ(Moving Pictures Experts Group)圧縮と称する圧縮規格は、フル・モーション・ビデオ画像の圧縮(compression)および伸張(decompression)のための１組の方法であり、上述のフレーム間圧縮技法を用いるものである。ＭＰＥＧ圧縮は、動き補償および離散コサイン変換（ＤＣＴ: discrete cosine transform）プロセス双方を用い、２００：１以上の圧縮比を生み出すことができる。
【０００６】
ＭＰＥＧ規格は、ビデオ・データと同時に音響も記録し、ビデオ・データおよびオーディオ・データを単一ファイルにインターリーブして、再生の間ビデオおよびオーディオの同期を維持することを要求する。通常、オーディオ・データも同様に圧縮し、ＭＰＥＧ規格は、ＭＰＥＧレイヤＩＩのようなオーディオ圧縮方法を指定している。この圧縮方法は、フィリップス社(Philips)の商標である"MUSICAM"でも知られている。
【０００７】
殆どのビデオ・シーケンスでは、背景は比較的安定している一方、アクションは前景で行われる。背景も動く可能性があるが、ビデオ・シーケンス内の連続フレームの大部分は冗長である。ＭＰＥＧストリームを発生する際、ＭＰＥＧエンコーダはＩフレーム即ちイントラ・フレームおよびＰフレーム即ち予測フレーム、ならびにＢフレームを作成する。Ｉフレームは、ビデオのフレーム全体のビデオ・データを含み、通常各１０ないし１５フレーム毎に置かれる。Ｐフレームは、以前のＩフレームまたはＰフレームに対する変化のみを含む。ＩフレームおよびＰフレームは、後続のフレームに対する基準として用いる。通常、ＩフレームまたはＰフレームに続くフレーム（群）、即ち、基準フレームに続くフレームでは、これらのフレームが各基準フレームの対応する部分と異なるのは、小部分に過ぎない。したがって、これらのフレームでは、差分のみを捕獲し、圧縮し、格納する。
【０００８】
Ｉフレームを作成した後、ＭＰＥＧエンコーダは各Ｉフレームを、マクロ・ブロックと称する、１６ｘ１６画素から成る正方形の格子に分割する。各Ｉフレームをマクロ・ブロックに分割するのは、動き補償を行うためである。Ｉフレームの後に続くピクチャの各々も、同じマクロ・ブロックに分割する。次に、エンコーダは、基準ピクチャのマクロ・ブロックと連続するピクチャにおけるそれらとの間の正確なまたはほぼ正確な一致を探索する。一致が見いだせた場合、エンコーダは、ベクトル移動コード即ち動きベクトルを伝達する。ベクトル移動コード即ち動きベクトルは、Ｉフレームと各連続ピクチャとの間の差分に関する情報のみを含む。基準ピクチャ即ちＩフレームにおけるブロックに対して変化がない連続ピクチャ内のブロックは無視する。このようにして、これらのフレームのために実際に格納するデータ量を大幅に減少させる。
【０００９】
動きベクトルを発生した後、エンコーダは空間冗長度(spatial redundancy)を用いて変化を追跡する。次いで、マクロ・ブロックの位置の変化を発見した後、ＭＰＥＧアルゴリズムは、対応するマクロ・ブロック間の差分を記述することによって、更にデータを減少させる。これは、離散コサイン変換またはＤＣＴと呼ばれる数学的プロセスを通じて行う。このプロセスは、マクロ・ブロックを４つのサブブロックに分割し、色および明るさの変化を求める。人間の知覚(perception)は、色の変化よりは明るさの変化に敏感である。したがって、ＭＰＥＧアルゴリズムは、明るさよりも色空間を減らす方向に、その処理能力(effort)を配分する。
【００１０】
ＭＰＥＧストリームは、イントラ（Ｉ）フレーム、予測（Ｐ）フレーム、および双方向補間（Ｂ）フレームと称する、３種類のピクチャを含む。イントラ・フレームは、ランダム・アクセスのためにファイルへのエントリ・ポイントを与え、通常適度に圧縮するのみである。予測フレームは、過ぎ去ったフレーム、即ち、以前のイントラ・フレームまたは予測フレームを参照してエンコードする。通常、予測フレームは、相当高い量の圧縮を受け、今後の予測フレームに対する基準として用いる。双方向ピクチャは、圧縮量が最大であり、エンコードするためには、以前および今後双方の基準を必要とする。双方向フレームを他のフレームの基準として用いることは決してない。
【００１１】
また、各ピクチャ即ちフレームは、当該フレームを識別し、そのフレームのための情報を含む、ピクチャ・ヘッダを含む。ＭＰＥＧ規格は、ビデオ・シーケンスの開始を識別するシーケンス・ヘッダも含む。シーケンス・ヘッダは、ビデオ・シーケンスの開始前に１回だけあればよい。しかしながら、ＭＰＥＧ−２規格は、シーケンス・ヘッダを、いずれのＩフレームまたはＰフレームの前にでも移転させることを許可している。シーケンス・ヘッダは、当該ビデオ・シーケンスに関連する情報を含み、この情報には、とりわけ、フレーム・レートおよびピクチャ・サイズが含まれる。
【００１２】
デジタル・テレビジョンの用途に用いるＭＰＥＧビットストリームは、通常、全てのＩフレームおよびＰフレームの前にシーケンス・ヘッダを含む。これは、異なるビデオ・チャネル間でチャネル・サーフィング(channel surfing)を容易に行うために必要であり、これはユーザ側には重要な要求である。通常、ユーザが新しいチャネルに切り替える場合、その新しいチャネルのビデオは、次のシーケンス・ヘッダがビットストリームに現れるまでは、表示することができない。その理由は、シーケンスが表示可能となる前にデコーダが必要とするビデオ・シーケンスに関する重要な情報が、シーケンス・ヘッダに含まれているからである。各Ｉフレームおよび／またはＰフレームの前にシーケンス・ヘッダが含まれていない場合、ユーザが新しいチャネルに切り替えた場合、新しいチャネルのビデオはおそらく直ちに表示することはできない。即ち、ビデオは、次のシーケンス・ヘッダまで表示することができない。
【００１３】
また、ＭＰＥＧ符号化ストリームは、重み付けマトリクスも含み、これを用いてＭＰＥＧビットストリーム内のＩフレームを復号化する。各重み付けマトリクスは、フレームを符号化する際に用いる離散コサイン変換（ＤＣＴ）の異なるパラメータに適用する係数のマトリクスから成る。各ビデオ・シーケンスの先頭には新しい重み付けマトリクス値が含まれており、後続の新しい重み付けマトリクスがＭＰＥＧストリーム内で現れるまで、これらの値を各フレームに用いる。重み付けマトリクスは、通常、シーケンス・ヘッダまたはピクチャ・ヘッダに含むようにする。しかしながら、重み付けマトリクスは、ＰフレームまたはＢフレームに挿入することも可能である。
トリック・プレイ・ストリーム
双方向ビデオ・オン・デマンド・システムでは、ユーザが視聴中のムービー全体にわたって選択的に高速前進や高速逆進が可能であることが非常に望ましい。したがって、ビデオ・オン・デマンド・システムの中には、各ムービーのために、トリック・プレイ・ストリーム(trick play stream)と称する、高速前進ストリームおよび高速逆進ストリームを含むものもある。ユーザがあるムービーの中で高速前進または高速逆進を行いたい場合、ユーザは、高速前進または高速逆進の選択肢を選択する。すると、ユーザが視聴していた適切な時点において、高速前進または高速逆進トリック・プレイ・ストリームがユーザに転送され、こうして、視聴中のムービーの高速前進および高速逆進を模擬する。
【００１４】
トリック・プレイ・ストリームを含む双方向ビデオ・オン・デマンド・システムは、ノーマル・プレイ・ビットストリームからトリック・プレイ・ストリームを発生する方法を必要とする。ノーマル・プレイ・ビットストリームから高速前進または高速逆進ビットストリームを発生する現行の方法の１つに、参照テーブルを用いて多数のストリームに入り込むものがある。この参照テーブルは、各Ｉフレームを参照する複数のインデックスを含み、ビデオ・サーバは、実行中にインデックス間をジャンプし、各ジャンプ毎にＩ−フレームのみを再生しようとうする。言い換えると、ビデオ・サーバは参照テーブルにインデックスし、高速高速前進および高速逆進トリック・プレイ・ストリームのためのＩ−フレームのみを再生する。この方法に伴う問題の１つに、高速前進または高速逆進の要求を受けている間にテーブルの参照を行い実行中にインデックス間でジャンプすることによって、ビデオ・サーバにかなりの負担をかけることがあげられる。更に、この方法には、ビット・レート拡張の問題も伴っている。
【００１５】
トリック・プレイ高速前進および高速逆進ビットストリームを生成する他の公知の方法に、ＤＣＴのＡＣ係数を含まず、代わりにＤＣ係数のみを含むビデオ・ストリームを発生するものがある。これは、ブロック状のトリック・プレイ・ストリームを生成するものであり、そのため、他のトリック・プレイ・ストリーム発生方法程望ましくはない。
【００１６】
したがって、圧縮ノーマル・プレイ・ビットストリームからトリック・プレイ・ビデオ・ストリーム、即ち、高速前進および高速逆進ビデオ・ストリームを効率的に発生するために、システムおよび方法の改良が望まれている。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明は、圧縮ノーマル・プレイ・ビットストリーム(compressed normal play bitstream)からトリック・プレイ・ビデオ・ストリーム、即ち、高速前進および高速逆進ビデオ・ストリームを発生するシステムおよび方法から成る。本発明は、必要な記憶容量を減少させ、データ転送帯域幅の要件も軽減する、圧縮トリック・プレイ・ビデオ・ストリームを効率的に発生する。また、本発明は、インデックスの参照のように、ビデオ・データのリアル・タイム処理を必要としない。
【課題を解決するための手段】
【００１８】
まず、本システムは、圧縮ノーマル・プレイ・ビットストリームを受信する。このプレイ・ビット・ストリームは、ローカル・メディア上に格納するか、あるいはリモート位置から受信する。次に、本システムは、ビットストリームの一部分のみを抽出し、セーブすることによって、ビットストリームにフィルタ処理を行う。好ましくは、本システムはＭＰＥＧビットストリームからＩ−フレームおよび全ての重み付けマトリクスを含むシーケンス・ヘッダを抽出し、この情報を１つ以上の新しいファイルに格納する。こうして、フィルタ処理により、予測（Ｐ）フレームおよび双方向（Ｂ）フレームを含む、ＭＰＥＧデータ・ストリームの部分を除去即ち削除する。
【００１９】
次に、本システムは、フィルタ処理したデータの組み立て即ち取り揃え(collate)を正順または逆順に行い、単一の組み立てビットストリームを生成する。また、システムは、重み付けマトリクスが適正に各Ｉ−フレームに対応することを保証する。高速前進トリック・プレイ・ストリームでは、組み立てビットストリームは、シーケンス・ヘッダ、Ｉフレーム、および各重み付けマトリクスを、これらが元のＭＰＥＧストリームに現れる場合のように、適正な時間順即ち連続順で含む。高速逆進トリック・プレイ・ビットストリーム・ストリームでは、システムはヘッダ／Ｉフレームの集合体即ちタプル(tuple)の順序を逆転させ、逆プレイ・ストリームを生成する。これによって、関連する重み付けマトリクスを含む複数のシーケンス・ヘッダおよびＩ−フレームから成る、組み立てビットストリームを生成する。
【００２０】
次に、組み立てビットストリームをＭＰＥＧ−２にしたがって復号化し、新しいビデオ・ストリームを生成する。新しいビデオ・シーケンスは、元の非圧縮ノーマル・プレイ・ビットストリームのピクチャ即ちフレームＸ個毎に１つのピクチャ即ちフレームのみから成り、ここで１／Ｘが、元の非圧縮ノーマル・プレイ・ストリームのＩフレームの頻度となる。この出力ピクチャ・ストリームを、トリックプレイ・ストリームに望まれるＭＰＥＧパラメータを用いて、再度符号化し、トリックプレイ・ストリームを生成する。これは、有効なＭＰＥＧ符号化ストリームである。この新しいＭＰＥＧ符号化トリックプレイ・ストリームを復号化すると、その結果、元の圧縮していないノーマル・プレイ・ビットストリームのフレームＸ個毎に１つのみのフレームを含む高速前進または高速逆進ビデオ・シーケンスが得られる。
【００２１】
したがって、本発明は、圧縮ノーマル・プレイ・ビットストリームから、トリック・プレイ・ストリームを一層効率的に発生する。得られたトリック・プレイ・ストリームは、有効なＭＰＥＧ符号化ストリームであり、したがって、記憶容量およびデータ転送データ帯域幅の要件が軽減され、このトリック・プレイ・ストリームは、あらゆるＭＰＥＧデコーダ上において、公知の挙動によって復号化することが可能となる。
【００２２】
本発明のより良い理解は、以下の好適な実施形態の詳細な説明を、以下の図面と関連付けて検討することによって得ることができよう。
【発明を実施するための最良の形態】
【００２３】
これより図１を参照し、圧縮したノーマル・プレイ・ビットストリームからトリック・プレイ・ビデオを発生するシステムを示す。このシステムは、好ましくは、ビデオ・オン・デマンド・システムにおいて用いるためのトリック・プレイ・ストリームを発生する。しかしながら、本発明のシステムは、必要に応じて、様々な種類の用途のいずれにおいても使用可能なトリック・プレイ・ストリームを発生するために用いることができる。
【００２４】
図示のように、一実施形態では、トリックプレイ発生システムは、汎用コンピュータ・システム６０を含む。コンピュータ・システム６０は、圧縮ノーマル・ビデオ・ストリームを受信し、１つ以上のトリック・プレイ・ストリームを発生する。本開示では、「トリック・プレイ・ストリーム」という用語は、高速前進および／または高速逆進ビデオ・ストリームのことであり、好ましくは圧縮したストリームであって、ノーマル・プレイ・ストリームから発生し、好ましくは圧縮したノーマル・プレイ・ストリームから発生したものを意味するものとする。
【００２５】
コンピュータ・システム６０は、好ましくは、１つ以上のプロセッサ、１系統以上のバス、ハード・ドライブおよびメモリを含む、種々の標準的な構成物を含む。次に図１のＡを参照し、図１のコンピュータ・システムに設けた構成物を表すブロック図を示す。尚、図１のＡは例示に過ぎず、他のコンピュータ・アーキテクチャも要望に応じて使用可能であることを注記しておく。図示のように、コンピュータ・システムは、少なくとも１つのプロセッサ８０を含み、チップセット・ロジック(chipset logic)８２を介して、システム・メモリ８４に結合してある。チップセット８２は、好ましくは、ＰＣＩ（周辺要素相互接続：Peripheral Component Interconnect) ブリッジを含み、ＰＣＩバス８６にインターフェースする。ＭＰＥＧデコーダ７４およびＭＰＥＧエンコーダ７６が、ＰＣＩバス８６に接続してあることを示す。代替実施形態では、ＭＰＥＧ復号化および符号化は、ソフトウエアで行う。コンピュータ・システムには、ビデオ８８およびハード・ドライブ９０のような、種々の他の構成物を備えてもよい。
【００２６】
再び図１を参照して、好適な実施形態では、コンピュータ・システム６０は、１つ以上のディジタル記憶装置またはメディア記憶装置を含むか、あるいはこれらに結合してある。例えば、図１の実施形態では、コンピュータ・システム６０は、ケーブル６４を通じて、媒体格納ユニット６２に結合してある。媒体格納ユニット６２は、１つ以上のＣＤ−ＲＯＭドライブおよび／または１つ以上のディジタル・ビデオ・ディスク（ＤＶＤ）格納ユニットを含み、ディジタル・ビデオを格納しておく。また、コンピュータ・システムは１つ以上の内部ＣＤ−ＲＯＭドライブを含んでもよく、あるいは１つ以上の別個のディジタル・ビデオ・ディスク（ＤＶＤ）格納ユニットに結合してもよい。また、コンピュータ・システム６０は、必要に応じて、他の種類のディジタルまたはアナログ記憶装置に接続することも可能である。
【００２７】
圧縮ノーマル・プレイ・ビットストリームは、ＣＤ−ＲＯＭまたはディジタル・ビデオ・ディスク（ＤＶＤ）のような、記憶媒体上に備えるとよい。この実施形態では、圧縮ノーマル・プレイ・ビットストリームを含む記憶媒体を、コンピュータ・システム６０に備えてあるまたは結合してある各記憶装置に挿入し、コンピュータ・システム６０がこの記憶媒体から、圧縮ノーマル・プレイ・ビットストリームを読み取る。例えば、圧縮ノーマル・プレイ・ビットストリームは、ＣＤ−ＲＯＭ上に備えることができ、ＣＤ−ＲＯＭを媒体格納ユニット６２のＣＤ−ＲＯＭドライブまたはコンピュータ・システム６０に挿入し、コンピュータ・システム６０が圧縮ノーマル・プレイ・ビットストリームにアクセスすることを可能にする。また、圧縮ノーマル・プレイ・ビットストリームは、ＤＶＤ上に備えてもよく、ビットストリームは、コンピュータ・システム６０によってＤＶＤから読み取る。
【００２８】
あるいは、圧縮ノーマル・プレイ・ビットストリームを、リモート記憶装置またはリモート・コンピュータ・システムのような、外部ソースから受信することも可能である。この実施形態では、コンピュータ・システムは、好ましくは、圧縮ノーマル・プレイ・ビットストリームを受信するために、ＡＴＭ（非同期転送モード）アダプタ・カードまたはＩＳＤＮ（統合サービス・ディジタル網）ターミナル・アダプタのような入力デバイス、またはその他のディジタル・データ受信機を含む。また、圧縮ノーマル・プレイ・ビットストリームは、アナログ・フォーマットで格納または受信し、コンピュータ・システム６０外部でまたはコンピュータ・システム６０内部でディジタル・データに変換することも可能である。
【００２９】
前述のように、コンピュータ・システム６０は、圧縮ノーマル・プレイ・ビットストリームからトリック・プレイ・ビデオ・ストリームを発生する。以下で更に論ずるが、コンピュータ・システム６０は、フィルタ処理機能および検証／調整(verifier/fixer)機能、ならびにＭＰＥＧ−２復号化および符号化機能を実行する。好適な実施形態では、フィルタ処理機能および検証／調整機能は、コンピュータ・システム６０によってソフトウエアで実行する。ソフトウエアは、フロッピ・ディスク７２で表している。代替実施形態では、コンピュータ・システム６０は、専用ハードウエアを含み、これがフィルタ処理機能および検証／調整機能の一方または双方を実行する。
【００３０】
図１の実施形態では、コンピュータ・システム６０は、好ましくは、ハードウエアのＭＰＥＧ（ＭＰＥＧ−２）デコーダ・カード７４およびハードウエアのＭＰＥＧ（ＭＰＥＧ−２）エンコーダ・カード７６を含む。ＭＰＥＧデコーダ７４およびＭＰＥＧエンコーダ７６は、コンピュータ・システム内のバスに結合してあるアダプタ・カードを備えているが、図１では、図示の目的のために、コンピュータ・システム６０の外部に示してある。あるいは、ＭＰＥＧデコーダおよびＭＰＥＧエンコーダの一方または双方をコンピュータ・システム６０外部に置く。代替実施形態では、コンピュータ・システム６０は、ＭＰＥＧ伸長およびＭＰＥＧ圧縮の一方または双方をソフトウエアで行う。この場合、ソフトウエアは、フロッピ・ディスク７２で表してある。この実施形態では、コンピュータ・システム６０は、ハードウエアのＭＰＥＧデコーダもＭＰＥＧエンコーダも含まない。
【００３１】
トリック・プレイ・ビデオ・ストリームを発生するシステムは、要望に応じて、相互接続した２台以上のコンピュータを備える場合もあることを注記しておく。また、トリック・プレイ・ビデオ・ストリームを発生するシステムは、専用ハードウエアを備え、単体で用いても汎用のプログラム可能コンピュータと共に用いてもよい。本発明にしたがってトリック・プレイ・ビデオ・ストリームを発生するためには、様々な種類のシステムのいずれでも、要望に応じて、使用可能であることを注記しておく。
フロー図
次に図２を参照し、本発明の動作を表す図を示す。図示のように、本発明は、フィルタ処理１０２，検証／調整処理１０４、ＭＰＥＧ−２復号化処理、およびＭＰＥＧ−２符号化処理を含む。先に論じたように、これらの処理の各々は、要望に応じて、ハードウエアまたはソフトウエアのいずれで行ってもよい。
【００３２】
図示のように、本発明のシステムは、ノーマル・プレイ・ビットストリームを受信する。ノーマル・プレイ・ビットストリームは、テレビジョンまたはコンピュータ・システムのような画面上に、テレビジョン・セグメントまたはムービーのようなビデオ・シーケンスを提示するために用いる、ビデオ・データのビットストリームである。好適な実施形態では、このノーマル・プレイ・ビットストリームは、圧縮ビットストリームである。圧縮ノーマル・ビットストリームは、好ましくはＭＰＥＧ圧縮ビットストリームであり、好ましくはＭＰＥＧ−１またはＭＰＥＧ−２圧縮ビットストリームである。他の形式の圧縮も、要望に応じて、使用可能である。
【００３３】
図示のように、本発明は、「Ｉ−ピクチャ・シーケンス・ヘッダ・フィルタ」と称するフィルタ１０２を含み、これが圧縮ビットストリームのフィルタ処理を行う。フィルタ１０２は、ビットストリームの一部分のみをセーブする。即ち、ＭＰＥＧデータ・ストリームを部分的に除去即ち削除する。より正確には、フィルタ１０２は、ＭＰＥＧビットストリームから、Ｉ−フレームおよびシーケンス・ヘッダ、ならびに重み付けマトリクスを抽出および格納し、この情報を新しいファイルに格納する。このように、フィルタ１０２は、Ｉ−フレーム、シーケンス・ヘッダおよび重み付けマトリクス以外のＭＰＥＧビデオ・データの全てを除去する。フィルタ１０２は、こうして、予測（Ｐ）フレームおよび双方向（Ｂ）フレームを含む、ＭＰＥＧデータ・ストリームの部分を削除する。
【００３４】
先に論じたように、ＭＰＥＧ符号化ビットストリームは、イントラコード化ピクチャ(intracoded picture)である複数のＩ−フレームと、インターコード化ピクチャ(intercoded picture)である複数のＢフレームおよびＰフレームを含む。Ｉフレームは各々、ビデオのフレーム全体のビデオ・データを含み、シーケンス内に周期的に置かれる。ＰフレームおよびＢフレームは、以前のフレームまたは後続のフレームに対する変化情報を含む。各ピクチャ即ちフレームは、ピクチャ・ヘッダも含み、これが当該フレームを識別し、そのフレームのための情報を含む。更に、ＭＰＥＧ符号化ビットストリームは、１つ以上のシーケンス・ヘッダを含む。シーケンス・ヘッダは、情報の中でもとりわけ、フレーム・レートおよびピクチャ・サイズを含む、ビデオ・シーケンスに関するある種の情報を含む。
【００３５】
また、ＭＰＥＧ符号化ストリームは、重み付けマトリクスも含み、これらを用いて、ＭＰＥＧビットストリーム内のＤＣＴ係数から画素値を再現する。各重み付けマトリクスは、フレームを符号化する際に用いる離散コサイン変換（ＤＣＴ）の異なるパラメータに適用する、係数のマトリクスから成る。各ビデオ・シーケンスの開始時に、デコーダ内のマトリクスを再初期化し、後続の新しい重み付けマトリクスがＭＰＥＧストリーム内に現れるまで、これらの値をそれぞれのフレームに用いる。尚、ＭＰＥＧ符号化ストリームは、インター・フレーム・マトリクスおよびイントラ・フレーム・マトリクス双方を含むことを注記しておく。また、本トリックプレイ発生システムおよび方法は、トリック・プレイ・ストリームを発生する際に、イントラ・フレーム・マトリクスのみを利用することを注記しておく。
【００３６】
重み付けマトリクスは、通常、各Ｉフレーム毎のピクチャ・ヘッダ、または各Ｉフレームの前のシーケンス・ヘッダに含まれる。しかしながら、場合によっては、各Ｉフレームに対する重み付けマトリクスがＩフレーム・ピクチャ・ヘッダにもシーケンス・ヘッダにも含まれないが、代わりに以前のＰフレームまたはＢフレームに含まれることがある。言い換えると、場合によって、各Ｉ−フレームに対する重み付けマトリクスの新しい値が以前のＰフレームまたはＢフレームに含まれる場合がある。これが生ずるのは、ＰフレームまたはＢフレームが、Ｉフレーム・シンタックスで符号化された１つ以上のマイクロブロックを含む場合である。したがって、フィルタ１０２は、ＰフレームおよびＢフレームを重み付けマトリクスについて検査し、検証／調整ブロック１０４が用いるために、これらのマトリクスを格納する。
【００３７】
図示のように、フィルタ１０２は、ＭＰＥＧストリームの一部分から成る、格納出力を検証／調整部１０４に供給する。検証／調整部１０４は、フィルタ１０２が発生したデータを、単一のビットストリームに組み立てる、即ち、取り揃える。検証／調整部１０４は、格納データの組み立てまたは連結を適正な順序で行い、組み立てビットストリーム(assembled bitstream)を発生する。検証／調整部１０４は、フィルタ１０２が供給した情報を用いて、シーケンス・ヘッダが適切なＩフレームに対応することを保証する。
【００３８】
また、検証／調整部１０４は、ＰフレームまたはＢフレーム内における等、ストリーム内で発見した重み付けマトリクスが、関連するストリームに含まれており、それぞれのＩ−フレームに適正に対応することを保証する。言い換えると、検証／調整部１０４は、重み付けマトリクスまたは量子化マトリクス変化が、新しい組み立てビットマトリクスに適正に組み込まれていることを保証する。好適な実施形態では、検証／調整部１０４は、ＰフレームおよびＢフレームにおいて発見した重み付けマトリクスに対し、新しいシーケンス・ヘッダを作成し、これら新しいシーケンス・ヘッダを、正しいＩフレームに連結する。
【００３９】
高速前進トリック・プレイ・ストリームでは、組み立てビットストリームは、シーケンス・ヘッダ、Ｉフレーム、およびそれぞれの重み付けマトリクスを、それらが元のＭＰＥＧストリーム内に現れるのと同様に、適正な時間順序即ち連続順序で含んでいる。高速逆進トリック・プレイ・ビットストリーム・シーケンスでは、検証／調整部１０４は、シーケンス・ヘッダ／Ｉフレームの集合体即ちタプルの順序を逆転させ、逆プレイ・シーケンスを生成する。このように、検証／調整部１０４は、シーケンス・ヘッダ／Ｉフレーム・タプルを逆順に並べ替え、マトリクスがそれぞれのＩ−フレームに対応することも保証する。
【００４０】
このように、検証／調整部１０４の出力は、複数のシーケンス・ヘッダおよびＩ−フレームから成る、組み立てビットストリームとなる。こうして、検証／調整部１０４は、有効なＭＰＥＧ符号化ビットストリームであるビットストリームを結果的に生成する。
【００４１】
この出力組み立てビットストリームを、デコーダ・ブロック１０６、好ましくはＭＰＥＧ−２デコーダ・ブロック１０６に供給する。ＭＰＥＧ−２デコーダ・ブロック１０６は、組み立てビットストリーム、即ち、それぞれのＩ−フレームの各々を復号化し、新しいビデオ・シーケンスを生成する。新しいビデオ・シーケンスは、非圧縮シーケンスであり、元の非圧縮ノーマル・プレイ・ストリームのピクチャＸ個毎に１つのピクチャのみを含む。したがって、元のノーマル・プレイ・ビットストリームが、ピクチャＸ個毎にｌつの頻度でＩフレームを含んでいた場合、新しいビデオ・シーケンスは、元の非圧縮ノーマル・プレイ・ビットストリームのピクチャ即ちフレームＸ個毎に１つのピクチャ即ちフレームのみを含む。例えば、フィルタの入力において受け取った元のＭＰＥＧ−２圧縮ビットストリームが７フレーム毎に１つのＩ−フレームを含んでいた場合、ＭＰＥＧ−２デコーダ・ブロック１０６は、非圧縮ビデオ・データから成るが、元の非圧縮ビットストリームの７フレーム毎に１つのフレームのみを含むビットストリームを生成する。
【００４２】
次に、この出力ピクチャ・ストリームをエンコーダ・ブロック１０８に供給し、ここで、トリックプレイ・ストリームに望まれるそれぞれのＭＰＥＧパラメータを用いて、このストリームを再度符号化する。これらのＭＰＥＧパラメータは、ビット・レート、ピクチャ・サイズ、およびその他を含む。好適な実施形態では、エンコーダ・ブロック１０８は、ノーマル・プレイ・ストリームよりも小さなピクチャ・サイズおよび低いデータ・レートによってこのストリームを符号化し、データ記憶量を減らし、転送帯域幅を狭めるようにする。
【００４３】
ＭＰＥＧ−２エンコーダ１０８は、トリックプレイ・ストリームを生成する。これは有効なＭＰＥＧ符号化ストリームであるが、元のストリームのフレームＸ個毎に１つのフレームのみを含む。このように、エンコーダ１０８から出力するトリック・プレイ・ストリームは、Ｉフレーム、ＰフレームおよびＢフレームを含む。この新しいＭＰＥＧ符号化トリック・プレイ・ストリームを続いてユーザに転送し、ＭＰＥＧデコーダによって復号化すると、その結果得られるビットストリームは、元の非圧縮ノーマル・プレイ・ビットストリームのフレームＸ個毎に１つのフレームのみを含むストリームから成る。
図３−フィルタのフローチャート図
次に図３を参照し、一実施形態によるフィルタ１０２の動作を表すフローチャート図を示す。ステップ２０２において、フィルタ１０２は、ＭＰＥＧデータのブロックを検査する。ここで、ＭＰＥＧデータのブロックは、シーケンス・ヘッダまたはピクチャ・ヘッダのいずれかと仮定する。検査対象のＭＰＥＧデータがシーケンス・ヘッダである場合、ステップ２１２において、フィルタ１０２はこのシーケンス・ヘッダを格納する。次に、フィルタ１０２はステップ２０２に戻り、ＭＰＥＧデータの次のブロックの検査を開始する。
【００４４】
ステップ２０２における検査対象のフレームまたはデータがピクチャ・ヘッダまたはピクチャである場合、ステップ２１４において、フィルタ１０２は、そのピクチャ・ヘッダ、および当該ピクチャ・ヘッダに対応する後続のフレームを検査する。検査対象のフレームまたはデータがＩフレームである場合、ステップ２２２において、フィルタ１０２は、このピクチャ・ヘッダおよびＩフレームを格納する。また、フィルタ１０２は、ステップ２２４において対応データ(correspondence data)も格納し、格納するＩフレームに対応するそれぞれのシーケンス・ヘッダまたはピクチャ・ヘッダを示すことが好ましい。Ｉフレームおよび対応データを格納した後、フィルタ１０２はステップ２０２に戻り、ＭＰＥＧデータの次のブロックを検査する。
【００４５】
検査対象フレームがＰフレームまたはＢフレームである場合、ステップ２３２において、フィルタ１０２は、各ＰフレームまたはＢフレームが重み付けマトリクスを含むか否かについて判定を行う。含まない場合、検査対象のＰフレームまたはＢフレームを格納せずに、フィルタ１０２はステップ２０２に戻り、ＭＰＥＧデータの次のブロックを検査する。検査対象のＰフレームまたはＢフレームが重み付けマトリクスを含む場合、ステップ２３４において、フィルタ１０２は重み付けマトリクスを格納する。ステップ２３６において、フィルタ１０２は、重み付けマトリクスを、それぞれのＩフレーム、即ち、後続のＩフレームと関連付ける。また、ステップ２３６において、フィルタ１０２は、重み付けマトリクスに対応するそれぞれのＩフレームを示す、対応データも格納することが好ましい。フィルタ１０２が重み付けマトリクスおよび対応データを格納した後、フィルタ１０２はステップ２０２に戻り、ＭＰＥＧデータの次のブロックを検査する。
【００４６】
このようにして、フィルタ１０２は、ＭＰＥＧストリーム中のヘッダおよびフレームを全て検査する。これが必要なのは、ＭＰＥＧストリーム内のいずれのヘッダまたはフレームにも重み付けマトリクスが存在する可能性があるからである。フィルタ１０２は、シーケンス・ヘッダおよびＩフレーム、ならびにＰフレームまたはＢフレームにおけるようなＭＰＥＧストリームのどこか他のところに位置する重み付けマトリクスのみを格納する。フィルタ１０２は、Ｐフレーム・データやＢフレーム・データを格納しない。また、フィルタ１０２は、シーケンス・ヘッダおよび重み付けマトリクスを、それぞれ対応するＩフレームと関連付ける。
【００４７】
このように、介在するＰフレームまたはＢフレームの一方にマトリクスが含まれる場合、フィルタ１０２はこのマトリクスをファイルに格納し、トリック・プレイマスタ・シーケンスを再現する際に用いるようにする。以下で更に論ずるが、トリックプレイ・ストリームの再生の間、本発明はダミー・シーケンス・ヘッダを発生するか、あるいはその他の方法で新しいマトリクスを組み立てビットストリームに挿入する。
【００４８】
シーケンス・ヘッダまたはフレームを検査した後、フィルタ１０２はＭＰＥＧデータの次の１組(piece)を検査し、この動作を繰り返す。同様に、フィルタ１０２は、ＭＰＥＧシーケンス内のあらゆるヘッダおよびフレームを検査し、シーケンス・ヘッダ、Ｉフレーム、および重み付けマトリクスを格納し、ＰフレームおよびＢフレームは格納しない。このようにして、フィルタ１０２は、シーケンス・ヘッダ、ピクチャ・ヘッダ、Ｉフレーム、および重み付けマトリクスのみから成る、ＭＰＥＧデータの部分を格納する。
【００４９】
一実施形態では、フィルタ１０２の結果を連結して、トリック・プレイ・ビットストリームを生成する。しかしながら、フィルタ１０２の結果を単純に連結した場合、ビットストリームは有効なＭＰＥＧビットストリームにはならないことを注記しておく。好適な実施形態では、本発明は、ＭＰＥＧ圧縮ビットストリームを生成する。何故なら、得られるトリックプレイ・ビットストリームが標準的なＭＰＥＧデコーダを通過可能であることが望ましいからである。
図４−検証／調整部のフローチャート図
次に図４を参照し、検証／調整部１０４がトリック・プレイ・ストリームを組み立てる際の動作を表すフローチャート図を示す。ステップ３０２において、検証／調整部１０４は、格納してあるＭＰＥＧデータのブロック、即ち、フィルタ１０２によって格納したＭＰＥＧデータのブロックを検査する。ここで注記すべきは、このＭＰＥＧデータのブロックは、シーケンス・ヘッダ、ピクチャ・ヘッダ、Ｉフレーム、または重み付けマトリクスのいずれかであることである。ステップ３０２において、検証／調整部１０４によって検査するＭＰＥＧデータがシーケンス・ヘッダ、ピクチャ・ヘッダ、またはＩフレームである場合、ステップ３０４において、検証／調整部１０４は、フィルタ１０２によって発生した対応データを検査し、ピクチャ・ヘッダまたはシーケンス・ヘッダを適切なＩフレームと関連付ける。ステップ３０６において、検証／調整部１０４は、Ｉフレームならびにそれらの各ピクチャ・ヘッダおよび／またはシーケンス・ヘッダを集合化即ち連結する。ここでは、これらの集合体(grouping)のことを、ヘッダ／Ｉフレーム・タプル(header/I frame tuple)と呼ぶことにする。ステップ３０８において、検証／調整部１０４は、新しいヘッダ／Ｉフレーム・タプルを、組み立てつつあるビットストリームに連結し、新しいビットストリームを組み立てる。ステップ３０８を実行した後、検証／調整部１０４はステップ３０２に戻り、ＭＰＥＧデータの次の格納ブロックを検査し、動作を繰り返す。
【００５０】
システムが高速前進ストリームを発生している場合、ステップ３０８において、検証／調整部１０４は、ヘッダ／Ｉフレーム・タプルと称する、Ｉフレームならびにそれらの各ピクチャ・ヘッダおよび／またはシーケンス・ヘッダの集合体を、順時間順序、即ち、これらが元のストリームに現れる時間順序に連結する。システムが高速逆進ストリームを発生している場合、ステップ３０８において検証／調整部１０４は、ヘッダ／Ｉフレーム・タプルを逆時間順序で連結する。このように、高速逆進シーケンスでは、それぞれのＩフレームに対応するピクチャ・ヘッドおよびシーケンス・ヘッドは、未だそれらの各Ｉフレームに時間的に連結されていることを注記しておく。しかしながら、ヘッダ／Ｉフレーム集合体即ちタプルは、逆時間順序で連結する。
【００５１】
ステップ３０２において、検証／調整部１０４による検査対象のＭＰＥＧデータが重み付けマトリクスである場合、ステップ３０２において、検証／調整部１０４は、この重み付けマトリクスを含む新しいシーケンス・ヘッダを作成することが好ましい。検証／調整部１０４は、次にステップ３０４に進み、ここで検証／調整部１０４は、フィルタ１０２によって発生した対応データを検査し、ステップ３０６において、新しいシーケンス・ヘッダをそれぞれのＩフレームと集合化する。ステップ３０６において、検証／調整部１０４は、新たに作成したシーケンス・ヘッダを、対応するＩフレームの前に置く。ステップ３０８において、検証／調整部１０４は、新しいヘッダ／Ｉフレーム・タプルを、組み立てつつあるビットストリームに連結し、新しいビットストリームを組み立てる。
【００５２】
あるＩフレームが重み付けマトリクスを有さない場合、検証／調整部１０４は、以前のＩフレームからの重み付けマトリクスまたはデフォルト値を用いる。好適な実施形態では、用いるデフォルト・マトリクスは、当該ストリームが明示的にマトリクスを含まず、この動作がＭＰＥＧ規格の一部であるという事実によって、暗示的に決定する。
代替実施形態
本発明の第１の代替実施形態では、高速前進トリック・プレイ・ストリームのために、トリック・プレイ発生システムは、高速前進トリック・プレイ・ストリームには、ＩフレームだけでなくＰフレームも含むようにする。この実施形態は、好ましくは、２ｘ，３ｘ，または４ｘの高速前進トリック・プレイ・ストリームに用い、好ましくは３ｘの高速前進ストリームに用いる。この実施形態では、システムはＢフレーム内のフレーム間マトリクスについて、ＭＰＥＧストリームを検査し、これらのフレーム間マトリクスを後続のＰフレームに移動させる。尚、この実施形態は、順方向トリック・プレイ・ストリームにのみ可能であることを注記しておく。何故なら、元のＭＰＥＧストリーム内のＰフレームは、以前のＰフレームに対する変化のみを含むからである。
【００５３】
次に図５を参照し、別の代替実施形態による本発明の動作を表す図を示す。図示のように、本発明のこの実施形態は、ＭＰＥＧ−２復号化処理５０２、抽出処理５０４、およびＭＰＥＧ−２符号化処理５０６を含む。これらの処理の各々は、要望に応じて、ハードウエアまたはソフトウエアのいずれで実行してもよい。
【００５４】
図示のように、本発明のシステムは、ノーマル・プレイ・ビットストリーム、好ましくはＭＰＥＧ圧縮ノーマル・ビット・ストリームを受信する。この圧縮ノーマル・プレイ・ビットストリームは、デコーダ・ブロック５０２、好ましくは、ＭＰＥＧ−２デコーダ・ブロック５０２に供給する。ＭＰＥＧ−２デコーダ・ブロック５０２は、それぞれのフレームの各々を復号化し、元の非圧縮ビデオ・シーケンスを生成する。次に、元の非圧縮ビデオ・シーケンスを抽出ブロック５０４に供給し、ビデオ・シーケンスのフレームＸ個毎に１つのフレームを抽出するように動作する。また、抽出ブロック５０４は、正時間順序または逆時間順序で、これら抽出したフレームを連結する。こうして、これら連結したフレームは、ビットストリームを構成する。このビットストリームは、元の非圧縮ノーマル・プレイ・ストリームのピクチャＸ個毎に１つのピクチャのみを含む。したがって、元のノーマル・プレイ・ビットストリームがフレームＸ個毎にｌつの頻度でＩフレームを含んでいた場合、新しいビデオ・シーケンスは、元の非圧縮ノーマル・プレイ・ビットストリームのピクチャ即ちフレームＸ個毎に１つのみのピクチャ即ちフレームを含む。
【００５５】
この出力ピクチャ・ストリームを次にエンコーダ・ブロック５０６に供給し、トリックプレイ・ストリームに望まれるそれぞれのＭＰＥＧパラメータを用いてこのストリームを再度符号化する。これらのＭＰＥＧパラメータは、ビット・レート、ピクチャ・サイズ、およびその他を含む。ＭＰＥＧ−２エンコーダ５０６は、有効なＭＰＥＧ符号化ストリームであるトリックプレイ・ストリームを生成するが、これは、フレームＸ個毎に１つのフレームのみを含む。この新しいＭＰＥＧ符号化トリック・プレイ・ストリームは、続いてユーザに転送し、ＭＰＥＧデコーダによって復号化する。得られたビットストリームは、元の非圧縮ノーマル・プレイ・ビットストリームのフレームＸ個毎に１つのみのフレームを含むストリームから成る。
逆進トリック・プレイ・ストリームの発生−代替実施例
次に図６を参照し、本発明にしたがって逆進トリック・プレイ・ストリームを発生するための、代替かつ好適な実施形態を示す。図６は、便宜上、図６のＡ、図６のＢおよび図６のＣと称する３つの部分で示す。図６の実施形態では、逆進トリック・プレイ・ストリームは、終端から先頭に向かってビデオ・ストリームを走査することによって発生する。この実施形態も、メモリ・スタックを用い、ＭＰＥＧデータの集合体即ちタプルを一時的に格納し、逆のプレイ・トリック・ストリームにこれらを適正な順序で組み込むようにしている。
【００５６】
図６に示すように、ステップ６０２において、初期化フェーズを実行し、スタックをクリアする。ステップ６０４において、ビデオ・シーケンスにおける最初のピクチャ開始コードの探索を行う。ステップ６０４において、ビデオ・ストリームの終端から先頭まで探索を行う。終端から先頭まで探索して最初のピクチャ開始コードを発見した場合、ステップ６０６において、マーカをスタック上にプッシュする。以下で更に論ずるが、このマーカを用いて、ビデオ・ストリームの異なるブロックまたは部分を識別する。ステップ６０６の後、探索フェーズを開始する。
【００５７】
ステップ６１２において、本方法は、ビデオ・ストリーム内において開始コードを探索する。ステップ６１４において、本方法は、ステップ６１２の開始コードの探索でファイル終了状態を発見したか否かについて判定を行う。発見した場合、ステップ６１６において、出力ストリームを閉じ、プログラムを終了し、処理を完了する。ステップ６１４においてファイル終了状態を発見しなかった場合、ステップ６２０において、本方法はビデオ・ストリームにおいて開始コードを発見したこととする。
【００５８】
尚、発見した開始コードは、ユーザ・データ・ブロックの開始、拡張ブロックの開始、ＢまたはＰフレームのピクチャ・ヘッド・ブロックの開始、またはＩフレーム・ピクチャ・ヘッダの開始を含む場合があることを注記しておく。図６に示すように、ステップ２０においてどの種類の開始コードを発見したかに応じて、異なる処理を実行する。図６における楕円ブロックは方向を含み、非機能的ステップであることを注記しておく。
【００５９】
ステップ６２０において発見した開始コードがユーザ・データ・ブロックの開始である場合、ステップ６２２において、本方法は、必要に応じて、ユーザ・データ・ブロックの内容を調節する。ユーザ・データ・ブロックの内容を調節し、前述のトリック・プレイ・ストリームを用意する際に用いる可能性のある新しいパラメータに合わせる。ステップ６２２において内容を調節した後、ステップ６２４において、本方法は、ユーザ・データ・ブロックの座標をスタック上にプッシュする。次に、処理はステップ６１２に戻り、前述のように新しい開始ブロックの探索を実行する。
【００６０】
ステップ６２０において発見した開始コードが拡張ブロックの開始である場合、ステップ６３２において、本方法は、拡張ブロックの座標をスタックにプッシュする。次いで、本方法はステップ６１２に戻り、次の開始コードを探索する。
【００６１】
ステップ６２０において発見した開始コードがＢフレームまたはＰフレームのピクチャ・ヘッダ・ブロックの開始である場合、ステップ６４２において、本方法は、マーカを検出するまで、スタックから全ての座標をポップする。言い換えると、ＢフレームまたはＰフレームのピクチャ・ヘッダ・ブロックの開始を検出した場合、ステップ６４２において、マーカより上のスタック上の座標全てを、スタックから除去即ちポップする。この後、ステップ６４４において、マーカをプッシュし、スタックに戻す。次いで、処理はステップ６１２に戻り、前述のように、新しい開始コードの探索を行う。
【００６２】
ステップ６２０において発見した開始コードがＩ−フレームのピクチャ・ヘッダの開始である場合、ステップ６５２において、本方法は、必要に応じて、Ｉ−フレームのピクチャ・ヘッダ情報を調節する。Ｉ−フレームのピクチャ・ヘッダ情報を調節して、前述のように、トリック・プレイ・ストリームを用意する際に用いる可能性のある新しいパラメータに合わせる。Ｉフレームのピクチャ・ヘッダを調節した後、ステップ６５４において、本方法は、Ｉ−フレームのピクチャ・ヘッダ・ブロックの座標をスタック上にプッシュする。ステップ６５６において、本方法は、マーカを検出するまで、スタック上にプッシュした座標をポップ即ち除去する。ステップ６５８において、本方法は、各座標の組をポップする毎に、対応するビデオ・ストリーム内のデータを出力逆進トリック・プレイ・ストリームに書き込む。ここで注記すべきは、ステップ６５６および６５８は順次しかも実質的に並列に行われることであり、その際、ステップ６５６においてスタックから座標をポップすると、座標をスタックにポップする毎に、対応するビデオ・ストリームからのデータを出力逆進トリック・プレイ・ストリームに書き込む。
【００６３】
ステップ６５６においてスタックから座標の全てをポップし、ステップ６５８において出力逆進トリック・プレイ・ストリームに書き込んだ後、ステップ６６０において、本方法はマーカをスタックにプッシュし戻す。ステップ６６２において、本方法は最初の（？？？）シーケンス・ヘッダ開始コードを探索する。この最初のシーケンス・ヘッダ開始コードを発見した場合、本方法はステップ６１２に戻り、再度次の開始コードを探索し、前述のように処理を繰り返す。
【００６４】
このように、本発明は、圧縮ノーマル・プレイ・ビデオ・ストリームから、トリック・プレイ・ビデオ・ストリームを発生するシステムおよび方法から成る。本発明は、ＭＰＥＧシーケンス内の各ヘッダまたはフレームを検査し、シーケンス・ヘッダ、Ｉフレームおよび関連する重み付けマトリクスを格納する。次に、システムはこれら格納したコンポーネントから成る新しい高速前進または高速逆進ビットストリームを適宜(intelligently)組み立てる。新しく組み立てたビットストリームを復号化し、複数の非圧縮フレームを発生する。次に、これらの非圧縮フレームをＭＰＥＧ規格にしたがって再度符号化し、トリック・プレイ高速前進または高速逆進ストリームである、新しいＭＰＥＧストリームを生成する。
【００６５】
以上、本発明のシステムおよび方法について、記載した実施形態に関連付けながら説明したが、ここに明示した特定形態に限定することを意図する訳ではなく、逆に、添付する請求の範囲に規定する本発明の精神および範囲に正当に該当し得る代替、変更、および均等を包含することを意図するものである。
【図面の簡単な説明】
【００６６】
【図１】図１は、本発明による、ビデオ・トリックプレイ・ストリームを発生するコンピュータ・システムを示す。
【図１Ａ】図１のＡは、図１のコンピュータ・システムを示すブロック図である。
【図２】図２は、本発明の動作を示すフロー図である。
【図３】図３は、図２のフィルタの動作を示すフローチャート図である。
【図４】図４は、図２の検証／調整部の動作を示すフローチャート図である。
【図５】図５は、代替実施形態による、本発明の動作を示すフローチャート図である。
【図６Ａ】図６Ａは、本発明にしたがって、逆進トリック・プレイ・ストリームを発生する好適な実施形態のフローチャート図である。
【図６Ｂ】図６Ｂは、本発明にしたがって、逆進トリック・プレイ・ストリームを発生する好適な実施形態のフローチャート図である。
【図６Ｃ】図６Ｃは、本発明にしたがって、逆進トリック・プレイ・ストリームを発生する好適な実施形態のフローチャート図である。
【図１】
2008054330.tif 000003
【図１Ａ】
2008054330.tif 000004
【図２】
2008054330.tif 000005
【図３】
2008054330.tif 000006
【図４】
2008054330.tif 000007
【図５】
2008054330.tif 000008
【図６Ａ】
2008054330.tif 000009
【図６Ｂ】
2008054330.tif 000010
【図６Ｃ】
2008054330.tif 000011
【手続補正書】
【提出日】平成19年9月13日(2007.9.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
圧縮ノーマル・プレイ・ビットストリームからトリックプレイ・ストリームを発生するコンピュータ実装方法であって、
圧縮ノーマル・プレイ・ビットストリームを受信するステップであって、前記圧縮ノーマル・プレイ・ビットストリームが、複数のイントラコード化フレームと、複数のインターコード化フレームと、および前記イントラコード化フレームのうちの１つ以上に対する情報を含む複数のシーケンス・ヘッダとを含む、前記のステップと、
前記圧縮ノーマル・プレイ・ビットストリームから前記イントラコード化フレームを抽出するステップであって、該抽出するステップが、前記イントラコード化フレームを記憶メモリに格納することを含む、前記のステップと、
前記圧縮ノーマル・プレイ・ビットストリームから前記シーケンス・ヘッダを抽出するステップであって、該抽出するステップが、前記シーケンス・ヘッダを記憶メモリに格納することを含む、前記のステップと、
前記抽出するステップの後、前記イントラコード化フレームを組み立てて、組み立てビットストリームを形成するステップであって、前記組み立てビットストリームは前記複数のイントラコード化フレームをある順序で含む、前記のステップと、
前記組み立てビットストリームを復号化して、複数の非圧縮フレームを生成するステップと、
前記復号化するステップの後、前記複数の非圧縮フレームを符号化して、圧縮トリック・プレイ・ビットストリームを生成するステップであって、前記圧縮トリック・プレイ・ビットストリームが、前記ノーマル・プレイ・ビットストリームのフレームのサブセットのみを含む、前記のステップと、
を含む方法。
【請求項２】
請求項１記載の方法において、前記圧縮ノーマル・プレイ・ビットストリームが、指定された頻度で発生する前記複数のイントラコード化フレームを含み、
前記抽出するステップが、前記指定された頻度で発生する前記イントラコード化フレームに対応するデータ・ビットを抽出することを備えること、
を特徴とする方法。
【請求項３】
請求項１記載の方法において、更に、
前記圧縮ノーマル・プレイ・ビットストリーム内のピクチャ・ヘッダを検出し抽出するステップと、
前記ピクチャ・ヘッダに対応する第１のフレームを検査するステップと、
前記第１フレームがイントラコード化フレームであることを検出したことに応答して、
前記ピクチャ・ヘッダを格納するステップと、
前記ピクチャ・ヘッダと前記第１フレームとを関連付ける対応のデータを格納するステップと、
を行うステップと、
前記第１フレームがイントラコード化フレームでないことを検出したことに応答して、前記ピクチャ・ヘッダを捨てるステップと、
を含むこと、を特徴とする方法。
【請求項４】
請求項１記載の方法において、前記方法が、トリック・プレイ高速前進ビットストリームを発生し、
前記組み立てるステップが、前記複数のイントラコード化フレームを正時間順序で含む前記組み立てビットストリームを形成することを備えること、
を特徴とする方法。
【請求項５】
請求項１記載の方法において、前記方法がトリック・プレイ高速逆進ビットストリームを発生し、
前記組み立てるステップが、前記複数のイントラコード化フレームを逆時間順序で含む前記組み立てビットストリームを形成することを備えること、
を特徴とする方法。
【請求項６】
請求項１記載の方法において、前記圧縮ノーマル・プレイ・ビットストリームが、前記イントラコード化フレームに対応する複数のマトリクスを含み、
前記方法が、更に、
前記圧縮ノーマル・プレイ・ビットストリーム内の前記マトリクスを見付けるステップと、
前記第１フレームがＢフレームまたはＰフレームのいずれかであることを検出したことに応答して、
前記第１フレームに対応する前記マトリクスのうちの第１の重み付けマトリクスを、前記第１フレームが前記第１重み付けマトリクスを含むことを検出したことに応答して格納するステップと、および
前記圧縮ノーマル・プレイ・ビットストリーム内の次のイントラコード化フレームに対し前記第１重み付けマトリクスを関連付ける対応データを格納するステップと、
を行うステップと、
を備え、
前記組み立てるステップが、前記マトリクスを前記組み立てビットストリームに含ませることを含むこと、
を特徴とする方法。
【請求項７】
請求項６記載の方法において、
更に、
抽出され格納された第１のデータを検査するステップと、
前記第１データがシーケンス・ヘッダまたはピクチャ・ヘッダであることを検出したことに応答して、
前記第１データと、第１の対応する格納されたイントラコード化フレームとの間の関連を示す格納された対応データを検査するステップと、
前記第１データを、前記第１の対応する格納されたイントラコード化フレームと関連付けるステップと、
を行うステップと、
前記第１データがイントラコード化フレームであることを検出したことに応答して、
前記第１データと、対応する格納されたヘッダとの間の関連を示す格納された対応データを検査するステップと、
前記第１データを、前記対応する格納されたヘッダと関連付けるステップと、
を行うステップと、
前記第１データが重み付けマトリクスであることを検出したことに応答して、
第１の重み付けマトリクスを含む新たなシーケンス・ヘッダを作成するステップと、
前記重み付けマトリクスと第２の対応する格納されたイントラコード化フレームとの間の関連を示す格納された対応データを検査するステップと、
前記第１データを、前記第２の対応する格納されたイントラコード化フレームと関連付けるステップと、
を行うステップと、
を含むこと、を特徴とする方法。
【請求項８】
請求項１記載の方法において、前記圧縮ノーマル・プレイ・ビットストリームがＭＰＥＧ圧縮ビットストリームであり、
前記組み立てビットストリームを復号化する前記ステップが、前記組み立てビットストリームをＭＰＥＧ復号化して、前記複数の非圧縮フレームを生成することを含み、
前記複数の非圧縮フレームを符号化する前記ステップが、前記複数の非圧縮フレームをＭＰＥＧ符号化してＭＰＥＧ圧縮トリック・プレイ・ビットストリームを生成することを含むこと、
を特徴とする方法。
【請求項９】
圧縮ノーマル・プレイ・ビットストリームからトリックプレイ・ストリームを発生するシステムであって、
圧縮ノーマル・プレイ・ビットストリームを格納する記憶媒体であって、前記圧縮ノーマル・プレイ・ビットストリームが、複数のイントラコード化フレームと、複数のインターコード化フレームと、前記イントラコード化フレームのうちの１つ以上に対する情報を含む複数のシーケンス・ヘッダとを含む、前記の記憶媒体と、
前記圧縮ノーマル・プレイ・ビットストリームから前記イントラコード化フレームと前記シーケンス・ヘッダとを抽出するフィルタと、
前記抽出したイントラコード化フレームとシーケンス・ヘッダとを格納する記憶メモリと、
前記格納したイントラコード化フレームを組み立てて、組み立てビットストリームを形成する検証／調整部であって、前記組み立てビットストリームは前記複数のイントラコード化フレームをある順序で含む、前記の検証／調整部と、
前記組み立てビットストリームを復号化して、複数の非圧縮フレームを生成するデコーダと、
前記複数の非圧縮フレームを符号化して、圧縮トリック・プレイ・ビットストリームを生成するエンコーダであって、前記圧縮トリック・プレイ・ビットストリームが、前記ノーマル・プレイ・ビットストリームのフレームのサブセットのみを含む、前記のエンコーダと、
を備えたシステム。
【請求項１０】
請求項９記載のシステムにおいて、前記圧縮ノーマル・プレイ・ビットストリームが、指定された頻度で発生する前記複数のイントラコード化フレームを含み、
前記フィルタが、前記指定された頻度で発生する前記イントラコード化フレームに対応するデータ・ビットを抽出すること、
を特徴とするシステム。
【請求項１１】
請求項９記載のシステムにおいて、
前記検証／調整部が、前記シーケンス・ヘッダを前記組み立てビットストリームに含め、該組み立てビットストリームにおいて前記複数のシーケンス・ヘッダの各々がこれに対応する前記イントラコード化フレームと関連付けられおり、
前記フィルタが更に、
前記圧縮ノーマル・プレイ・ビットストリーム内のピクチャ・ヘッダを検出し抽出し、
前記ピクチャ・ヘッダに対応する第１のフレームを検査し、
前記第１フレームがイントラコード化フレームであることを検出したことに応答して、
前記ピクチャ・ヘッダを格納し、
前記ピクチャ・ヘッダと前記第１フレームとを関連付ける対応データを格納する、
ことを行い、
前記第１フレームがイントラコード化フレームでないことを検出したことに応答して、前記ピクチャ・ヘッダを捨てる、
ように構成されたこと、を特徴とするシステム。
【請求項１２】
請求項９記載のシステムにおいて、前記システムが、トリック・プレイ高速前進ビットストリームを発生し、
前記検証／調整部が、前記複数のイントラコード化フレームを正時間順序で含む前記組み立てビットストリームを形成すること、
を特徴とするシステム。
【請求項１３】
請求項９記載のシステムにおいて、前記システムがトリック・プレイ高速逆進ビットストリームを発生し、
前記検証／調整部が、前記複数のイントラコード化フレームを逆時間順序で含む前記組み立てビットストリームを形成すること、
を特徴とするシステム。
【請求項１４】
請求項９記載のシステムにおいて、前記圧縮ノーマル・プレイ・ビットストリームが、前記イントラコード化フレームに対応する複数のマトリクスを含み、
前記フィルタが、
前記圧縮ノーマル・プレイ・ビットストリーム内の前記マトリクスを見付け、かつ前記マトリクスを前記記憶メモリに格納し、
前記第１フレームがＢフレームまたはＰフレームのいずれかであることを検出したことに応答して、
前記第１フレームに対応する前記マトリクスのうちの第１の重み付けマトリクスを、前記第１フレームが前記第１重み付けマトリクスを含むことを検出したことに応答して格納し、
前記圧縮ノーマル・プレイ・ビットストリーム内の次のイントラコード化フレームに対し前記第１重み付けマトリクスを関連づける対応データを格納する、
ように構成されており、
前記検証／調整部が、前記マトリクスを前記組み立てビットストリーム内に含ませ、該組み立てビットストリームにおいて前記複数のマトリクスの各々がこれに対応する前記イントラコード化フレームと関連付けられていること、を特徴とするシステム。
【請求項１５】
請求項１４記載のシステムにおいて、前記複数のマトリクスの各々が、前記イントラコード化フレームの１つに対応し、
前記検証／調整部が、前記マトリクスを前記組み立てビットストリーム内に含ませ、該組み立てビットストリームにおいて前記マトリクスのそれぞれが前記イントラコード化フレームの対応するものと関連付けられ、
前記検証／調整部が、
抽出され格納された第１のデータを検査し、
前記第１データがシーケンス・ヘッダまたはピクチャ・ヘッダであることを検出したことに応答して、前記第１データと、第１の対応する格納されたイントラコード化フレームとの間の関連を示す格納された対応データを検査し、前記第１データを、前記第１の対応する格納されたイントラコード化フレームと関連付け、
前記第１データがイントラコード化フレームであることを検出したことに応答して、前記第１データと、対応する格納されたヘッダとの間の関連を示す格納された対応データを検査し、前記第１データを、前記対応する格納されたヘッダと関連付け、
前記第１データが重み付けマトリクスであることを検出したことに応答して、第１の重み付けマトリクスを含む新たなシーケンス・ヘッダを作成し、前記重み付けマトリクスと第２の対応する格納されたイントラコード化フレームとの間の関連を示す格納された対応データを検査し、前記第１データを、前記第２の対応する格納されたイントラコード化フレームと関連付ける、
ように構成されたこと、を特徴とする方法。
【請求項１６】
請求項９記載のシステムにおいて、前記圧縮ノーマル・プレイ・ビットストリームがＭＰＥＧ圧縮ビットストリームであり、
前記デコーダがＭＰＥＧデコーダであり、
前記エンコーダがＭＰＥＧエンコーダであること、
を特徴とするシステム。
【外国語明細書】
2008054330000001.pdf