(57)【要約】【課題】  デジタルビデオを符号化／復号化するための技法およびツール、詳細には、ビデオストリーム中でエントリポイントを決定し、指示し、検出するための技法およびツールを提供すること。【解決手段】  本明細書で説明する技法およびツールは、受信機、編集システム、挿入システム、およびその他のシステムが圧縮ビデオ中の有効エントリポイントを検出するのに利用できるエントリポイント標識情報をビットストリーム中に埋め込むのに使用される。【選択図】  図８
2005151570.tif 000002
【特許請求の範囲】
【請求項１】
複数のビデオフレームで構成されるシーケンスのために１つまたは複数のエントリポイントをエントリポイントポリシーに少なくとも部分的には基づいて決定するステップと、
前記複数のフレーム中の第１のフレームは前記１つまたは複数のエントリポイントの１つであることを示すエントリポイント標識をビットストリーム中に挿入するステップであって、前記第１のフレームはフィールドインターレースＰ／Ｉフレームを含む１組のタイプから選択されるタイプを有するステップと
を備えることを特徴とする方法。
【請求項２】
前記１組のタイプは、フレームインターレースＩフレーム、フィールドインターレースＩ／Ｐフレーム、フィールドインターレースＩ／Ｉフレーム、およびプログレッシブＩフレームをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記１つまたは複数のエントリポイントは、異なる間隔で配置された複数のエントリポイントを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記エントリポイント標識は、エントリポイントヘッダを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記エントリポイントヘッダは、バッファ余裕情報を含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記エントリポイント標識は、エントリポイント開始コードを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記エントリポイント開始コードは、前記エントリポイント開始コードを前記ビットストリーム中のその他の開始コードから区別するのに十分な短縮型の開始コードであることを特徴とする請求項６に記載の方法。
【請求項８】
前記ビットストリームは、複数の構文レベルを有し、前記エントリポイント標識は、シーケンスレベルの下の構文レベルに含まれることを特徴とする請求項１に記載の方法。
【請求項９】
シーケンスレベルの下の構文レベルは、エントリポイントレベルであることを特徴とする請求項１に記載の方法。
【請求項１０】
前記エントリポイント標識は、前記ビットストリーム中でシーケンスヘッダの直後に続くことを特徴とする請求項１に記載の方法。
【請求項１１】
前記エントリポイント標識は、ビデオスプライシングを容易にするためコマーシャル挿入ポイントを指示することを特徴とする請求項１に記載の方法。
【請求項１２】
ビデオ符号化中に請求項１に記載の方法をコンピュータシステムに実行させるコンピュータ実行可能命令を格納することを特徴とするコンピュータ可読媒体。
【請求項１３】
複数のビデオフレームで構成されるシーケンスのビットストリームを受信するステップと、
前記ビットストリーム中でエントリポイント標識を検出するステップであって、前記エントリポイント標識は、前記複数のフレーム中の第１のフレームを復号化のためのエントリポイントとして指示し、エントリポイントポリシーに従って前記ビットストリーム中に配置されるステップと、
前記ビットストリームの少なくとも一部分を前記エントリポイント標識に少なくとも部分的には基づいて復号化するステップとを備え、
前記エントリポイントポリシーは、エントリポイント標識を配置するための１つまたは複数の条件を含み、前記１つまたは複数の条件は、フィールドインターレースＰ／Ｉフレームを含む１組のタイプから選択されるタイプへの前記第１のフレームの制限を含むことを特徴とする方法。
【請求項１４】
前記１組のタイプは、フレームインターレースＩフレーム、フィールドインターレースＩ／Ｐフレーム、フィールドインターレースＩ／Ｉフレーム、およびプログレッシブＩフレームをさらに含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記ビットストリームは、複数の構文レベルを有し、前記エントリポイント標識は、シーケンスレベルの下の構文レベルにあることを特徴とする請求項１３に記載の方法。
【請求項１６】
シーケンスレベルの下の構文レベルは、エントリポイントレベルであることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記エントリポイント標識は、エントリポイント開始コードとエントリポイントヘッダとを含むことを特徴とする請求項１３に記載の方法。
【請求項１８】
前記第１のフレームは、フレームインターレースＩフレームであり、前記１つまたは複数の条件はさらに、その他の制限を含まないことを特徴とする請求項１３に記載の方法。
【請求項１９】
前記第１のフレームは、プログレッシブＩフレームであり、前記１つまたは複数の条件はさらに、その他の制限を含まないことを特徴とする請求項１３に記載の方法。
【請求項２０】
前記第１のフレームは、フィールドインターレースＩ／Ｉフレームであり、前記１つまたは複数の条件はさらに、その他の制限を含まないことを特徴とする請求項１３に記載の方法。
【請求項２１】
前記第１のフレームは、フィールドインターレースＩ／Ｐフレームであり、前記フィールドインターレースＩ／Ｐフレームは、インターレースＩフィールドとそれに続くインターレースＰフィールドを含み、前記１つまたは複数の条件はさらに、
前記インターレースＰフィールドが、前記インターレースＩフィールドからだけ予測されることを含むことを特徴とする請求項１３に記載の方法。
【請求項２２】
前記インターレースＰフィールドのフィールドヘッダ中のｎｕｍｒｅｆフィールドが、０に設定され、前記インターレースＰフィールドの前記フィールドヘッダ中のｒｅｆｆｉｅｌｄフィールドが、０に設定されることを特徴とする請求項２１に記載の方法。
【請求項２３】
前記第１のフレームは、フィールドインターレースＰ／Ｉフレームであり、前記フィールドインターレースＰ／Ｉフレームは、インターレースＰフィールドとそれに続くインターレースＩフィールドを含み、前記１つまたは複数の条件はさらに、
前記フィールドインターレースＰ／Ｉフレームの後に続くフィールドインターレースＰ／ＰフレームのＰフィールドが、前記フィールドインターレースＰ／Ｉフレームの前記インターレースＰフィールドから予測されないことを含むことを特徴とする請求項１３に記載の方法。
【請求項２４】
前記第１のフレームは、フィールドインターレースＰ／Ｉフレームであり、前記フィールドインターレースＰ／Ｉフレームは、インターレースＰフィールドとそれに続くインターレースＩフィールドを含み、前記１つまたは複数の条件はさらに、
前記フィールドインターレースＰ／Ｉフレームの後に続くフィールドインターレースＢ／ＢフレームのＢフィールドが、前記フィールドインターレースＰ／Ｉフレームの前記インターレースＰフィールドから予測されないことを含むことを特徴とする請求項１３に記載の方法。
【請求項２５】
前記第１のフレームは、フィールドインターレースＰ／Ｉフレームであり、前記フィールドインターレースＰ／Ｉフレームは、インターレースＰフィールドとそれに続くインターレースＩフィールドを含み、前記１つまたは複数の条件はさらに、
前記フィールドインターレースＰ／Ｉフレームの後に続くフレームインターレースＢフレームが、前記フィールドインターレースＰ／Ｉフレームから予測されないことを含むことを特徴とする請求項１３に記載の方法。
【請求項２６】
前記第１のフレームは、フィールドインターレースＰ／Ｉフレームであり、前記フィールドインターレースＰ／Ｉフレームは、インターレースＰフィールドとそれに続くインターレースＩフィールドを含み、前記１つまたは複数の条件はさらに、
前記フィールドインターレースＰ／Ｉフレームの後に続くフレームインターレースＰフレームが、前記フィールドインターレースＰ／Ｉフレームから予測されないことを含むことを特徴とする請求項１３に記載の方法。
【請求項２７】
前記第１のフレームは、フィールドインターレースＰ／Ｉフレームであり、前記フィールドインターレースＰ／Ｉフレームは、インターレースＰフィールドとそれに続くインターレースＩフィールドを含み、前記フィールドインターレースＰ／Ｉフレームの後に続くフレームは、フレームインターレースＩフレーム、フィールドインターレースＩ／Ｐフレーム、フィールドインターレースＩ／Ｉフレーム、プログレッシブＩフレーム、およびフィールドインターレースＰ／Ｉフレームを含む組から選択されるフレームであることを特徴とする請求項１３に記載の方法。
【請求項２８】
前記第１のフレームの後に続くフレームは、フレームインターレースＩフレーム、フィールドインターレースＩ／Ｐフレーム、フィールドインターレースＩ／Ｉフレーム、プログレッシブＩフレーム、およびフィールドインターレースＰ／Ｉフレームを含む組から選択されるフレームであることを特徴とする請求項１３に記載の方法。
【請求項２９】
前記エントリポイントに少なくとも部分的には基づいて、前記シーケンスの要約版を生成するステップをさらに備えることを特徴とする請求項１３に記載の方法。
【請求項３０】
要約版を生成する前記ステップが、ビデオ編集アプリケーションによって実行されることを特徴とする請求項２９に記載の方法。
【請求項３１】
復号化する前記ステップが、トリックモードで実行されることを特徴とする請求項１３に記載の方法。
【請求項３２】
前記トリックモードは、早巻き戻しであることを特徴とする請求項３１に記載の方法。
【請求項３３】
前記トリックモードは、早送りであることを特徴とする請求項３１に記載の方法。
【請求項３４】
複数のビデオフレームで構成されるシーケンスのビットストリームを受信するステップと、
復号化のためのエントリポイントを検出するステップであって、前記エントリポイントは、フィールドインターレースＰ／Ｉフレームであるステップと、
前記ビットストリームの少なくとも一部分をエントリポイント標識に少なくとも部分的には基づいて復号化するステップとを備えることを特徴とする方法。
【請求項３５】
前記エントリポイントを検出する前記ステップは、エントリポイント開始コードを検出するステップを備えることを特徴とする請求項３４に記載の方法。
【請求項３６】
前記エントリポイントを検出する前記ステップは、エントリポイント開始コードとエントリポイントヘッダで構成されるエントリポイント標識を検出するステップを備えることを特徴とする請求項３４に記載の方法。
【請求項３７】
前記エントリポイントヘッダは、バッファ余裕情報を含むことを特徴とする請求項３６に記載の方法。
【請求項３８】
複数のビデオフレームで構成されるシーケンスのビットストリームを受信するステップと、
前記ビットストリーム中でエントリポイント標識によって指示されるエントリポイントを開始位置として復号化するステップであって、前記エントリポイントは、前記複数のビデオフレームのフィールドインターレースフレームであり、前記ビットストリームは、前記エントリポイント標識の後に、前記エントリポイントの以下の要素、すなわち、フレームヘッダ、第１のフィールドヘッダ、第１のフィールドデータ、第２のフィールドヘッダ、および第２のフィールドデータを含むステップとを備えることを特徴とする方法。
【請求項３９】
前記ビットストリームは、前記フレームヘッダの直前のフレーム開始コードと、前記第２のフィールドヘッダの直前のフィールド開始コードをさらに含むことを特徴とする請求項３８に記載の方法。
【請求項４０】
前記エントリポイント標識は、エントリポイント開始コードとエントリポイントヘッダを含むことを特徴とする請求項３８に記載の方法。
【請求項４１】
前記第１のフィールドデータは、Ｉフィールド用であり、前記第２のフィールドデータは、Ｐフィールド用であることを特徴とする請求項３８に記載の方法。
【請求項４２】
前記第１のフィールドデータは、Ｉフィールド用であり、前記第２のフィールドデータは、Ｉフィールド用であることを特徴とする請求項３８に記載の方法。
【請求項４３】
前記第１のフィールドデータは、Ｐフィールド用であり、前記第２のフィールドデータは、Ｉフィールド用であることを特徴とする請求項３８に記載の方法。
【請求項４４】
複数のビデオフレームで構成されるシーケンスのビットストリームを受信するステップと、
復号化のためのエントリポイントを検出するステップであって、前記エントリポイントは、フィールドインターレースＩ／Ｐフレームであり、前記フィールドインターレースＩ／ＰフレームのＩフィールドは、前記フィールドインターレースＩ／ＰフレームのＰフィールド用の単一の基準フィールドであることを前記ビットストリーム中で指示されるステップと、
前記ビットストリームの少なくとも一部分を前記エントリポイント標識に少なくとも部分的には基づいて復号化するステップとを備えることを特徴とする方法。
【請求項４５】
前記エントリポイントを検出する前記ステップは、エントリポイント開始コードを検出するステップを備えることを特徴とする請求項４４に記載の方法。
【請求項４６】
前記エントリポイントを検出する前記ステップは、エントリポイント開始コードとエントリポイントヘッダで構成されるエントリポイント標識を検出するステップを備えることを特徴とする請求項４４に記載の方法。
【請求項４７】
前記Ｐフィールドのフィールドヘッダ中のｎｕｍｒｅｆフィールドが、０に設定され、前記Ｐフィールドのフィールドヘッダ中のｒｅｆｆｉｅｌｄフィールドが、０に設定されることを特徴とする請求項４４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルビデオを符号化／復号化するための技法およびツールに関する。例えば、本発明に係わるビデオ符号器は、説明する技法およびツールを使用して、ビデオストリーム中で有効エントリポイントを定義し、指示する。
【背景技術】
【０００２】
本特許文献の開示の一部には、著作権保護の対象となる部分が含まれる。著作権者は、特許商標局の特許ファイルまたは記録にある場合、特許開示のいずれか１つによる複製については異議を唱えないが、その他についてはどのようなものであれ、すべての著作権の権利を保有する。
【０００３】
デジタルビデオは、大量の記憶領域および通信容量を消費する。典型的な生のデジタルビデオシーケンスは、毎秒１５または３０のフレームを含む。各フレームは、数万または数十万のピクセル（ペルとも呼ばれる）を含むことができる。各ピクセルは、画像の微細要素に相当する。生の形式では、一般的にコンピュータは、全体で２４ビットの３つのサンプルを含む組としてピクセルを表現する。したがって、典型的な生のデジタルビデオシーケンスの毎秒のビット数、すなわちビットレートは、５百万ビット／秒またはそれより大きくなり得る。
【０００４】
多くのコンピュータおよびコンピュータネットワークは、生のデジタルビデオを処理するためのリソースを欠いている。そのため、技術者らは、デジタルビデオのビットレートを低下させるために圧縮（コーディングまたは符号化とも呼ばれる）を用いる。圧縮は、ビデオをより低いビットレート形式に変換することによって、ビデオを記憶し、送信するコストを減少させる。伸張（復号化とも呼ばれる）は、圧縮形式から元の形式のビデオを再構成する。「コーデック（ｃｏｄｅｃ）」とは、符号化／復号化システムのことである。圧縮は可逆圧縮とすることができ、その場合、ビデオ品質は損なわれないが、ビットレートの減少はビデオデータ毎に特有のばらつき量（エントロピーと呼ばれることもある）によって制限される。あるいは、圧縮は非可逆圧縮とすることができ、その場合、ビデオ品質は損なわれるが、より効率的なビットレートの減少を達成することができる。非可逆圧縮は可逆圧縮と併せてしばしば用いられ、そのようなシステム設計においては、非可逆圧縮によって情報の近似形式を生成し、可逆圧縮技法を利用してその近似形式を表現する。
【０００５】
一般に、ビデオ圧縮技法には、「イントラ符号化画像」圧縮（“ｉｎｔｒａ−ｐｉｃｔｕｒｅ”ｃｏｍｐｒｅｓｓｉｏｎ）と「インター符号化画像」圧縮（“ｉｎｔｅｒ−ｐｉｃｔｕｒｅ”ｃｏｍｐｒｅｓｓｉｏｎ）が含まれ、画像は、例えば、プログレッシブスキャンビデオフレーム（ｐｒｏｇｒｅｓｓｉｖｅｌｙ  ｓｃａｎｎｅｄ  ｖｉｄｅｏ  ｆｒａｍｅ）である。プログレッシブビデオフレーム（ｐｒｏｇｒｅｓｓｉｖｅ  ｖｉｄｅｏ  ｆｒａｍｅ）の場合、イントラフレーム圧縮（ｉｎｔｒａ  ｆｒａｍｅ  ｃｏｍｐｒｅｓｓｉｏｎ）では、フレーム（一般にＩフレームまたはキーフレーム（ｋｅｙ  ｆｒａｍｅ）と呼ばれる）は個別に圧縮される。インターフレーム圧縮（ｉｎｔｅｒ  ｆｒａｍｅ  ｃｏｍｐｒｅｓｓｉｏｎ）では、フレーム（一般に予測フレーム（ｐｒｅｄｉｃｔｅｄ  ｆｒａｍｅ）またはＰフレームと呼ばれ、双方向予測（ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ  ｐｒｅｄｉｃｔｉｏｎ）の場合はＢフレームと呼ばれる）は先行フレームおよび／または後続フレーム（一般に基準フレーム（ｒｅｆｅｒｅｎｃｅ  ｆｒａｍｅ）またはアンカーフレーム（ａｎｃｈｏｒ  ｆｒａｍｅ）と呼ばれる）を基準にして圧縮される。
【０００６】
Ｉ．インターレースビデオおよびプログレッシブビデオ
典型的なインターレースビデオフレーム（ｉｎｔｅｒｌａｃｅｄ  ｖｉｄｅｏ  ｆｒａｍｅ）は、異なる時間に走査が開始される２つのフィールドから構成される。例えば、インターレースビデオフレームは、トップフィールド（ｔｏｐ  ｆｉｅｌｄ）とボトムフィールド（ｂｏｔｔｏｍ  ｆｉｅｌｄ）を含む。一般に、偶数番目のライン（トップフィールド）は、１つの時間（例えば、時間ｔ）に走査が開始され、奇数番目のライン（ボトムフィールド）は、異なる（普通は遅れた）時間（例えば、時間ｔ＋１）に走査が開始される。２つのフィールドは異なる時間に走査が開始されるので、そのようなタイミングは、動きの存在するインターレースビデオフレームの領域にぎざぎざの歯のような特徴を生み出し得る。このため、インターレースビデオフレームは、フィールド構造に従って符号化するため、再構成することができ、１つのフィールドとして符号化するために奇数ラインをグループ化し、別のフィールドとして符号化するために偶数ラインをグループ化することができる。フィールド符号化（ｆｉｅｌｄ  ｃｏｄｉｎｇ）として知られるこの構成は、ハイモーション画像においてぎざぎざのエッジの出現を抑制するのに役に立つ。異なるフィールド符号化インターレースフレーム（ｆｉｅｌｄ−ｃｏｄｅｄ  ｉｎｔｅｒｌａｃｅｄ  ｆｒａｍｅ）中のフィールドは、異なる仕方で符号化することができる。例えば、フィールド符号化インターレースフレーム中のフィールドは、イントラ符号化フィールド（例えば、インターレースＩフィールド）とすることも、インター符号化フィールド（例えば、インターレースＰフィールドまたはインターレースＢフィールド）とすることもできる。
【０００７】
一方、静止領域では、インターレースビデオフレーム中のイメージ詳細は、上記の符号化再構成を行わなくても、より効率的に保存することができる。したがって、静止またはローモーションのインターレースビデオフレーム中では、フレーム符号化（ｆｒａｍｅ  ｃｏｄｉｎｇ）がしばしば用いられ、その場合、元の交替するフィールドライン構成が保存される。異なるフレーム符号化インターレースフレーム（ｆｒａｍｅ−ｃｏｄｅｄ  ｉｎｔｅｒｌａｃｅｄ  ｆｒａｍｅ）も、異なる仕方で符号化することができる。例えば、そのようなフレームは、イントラ符号化フレーム（例えば、インターレースＩフレーム）とすることも、インター符号化フレーム（例えば、インターレースＰフレームまたはインターレースＢフレーム）とすることもできる。
【０００８】
典型的なプログレッシブビデオフレームは、交替しないラインによる内容の１つのフレームから構成される。インターレースビデオとは対照的に、プログレッシブビデオは、ビデオフレームを別個のフィールドに分割せず、単一の時間から開始して、フレーム全体を左から右、上から下に走査する。プログレッシブフレームは、イントラ符号化フレーム（例えば、プログレッシブＩフレーム）とすることも、インター符号化フレーム（例えば、プログレッシブＰフレームまたはプログレッシブＢフレーム）とすることもできる。
【０００９】
ＩＩ．ビデオ圧縮および伸張のための規格
ビデオ圧縮および伸張には、複数の国際規格が関係する。そのような規格として、動画専門家グループ［「ＭＰＥＧ」］１、２、４規格、国際電気通信連合［「ＩＴＵ」］のＨ．２６１、Ｈ．２６２（ＭＰＥＧ２の別名）、Ｈ．２６３、Ｈ．２６４（ＪＶＴ／ＡＶＣとも呼ばれる）規格がある。これらの規格は、ビデオ復号器の態様、および圧縮ビデオ情報の形式を規定する。これらの規格は、符号器についても、直接的または含意的に、ある程度の詳細を規定するが、それを超える詳細については規定していない。これらの規格は、イントラフレームの伸張、圧縮、インターフレームの伸張、圧縮の異なる組合せを用いる（または用いるための支援を行う）。具体的には、これらの規格は、復号器および／または編集器用の異なる「アクセスポイント」を使用し、または使用するための支援を行う。
【００１０】
ＭＰＥＧ２／Ｈ．２６２規格は、イントラ符号化画像（例えば、符号化Ｉフレーム）およびグループオブピクチャ（ＧＯＰ）（ｇｒｏｕｐ−ｏｆ−ｐｉｃｔｕｒｅｓ）ヘッダについて説明する。ＭＰＥＧ２では、イントラ符号化画像は、他の画像を基準としないで符号化され、復号化を開始できる符号化シーケンスへのアクセスポイントを提供する。イントラ符号化画像は、ビデオシーケンス中の異なる場所で使用することができる。例えば、イントラ符号化画像は、定期的に挿入することができ、またはシーンチェンジが生じる場所もしくはその他の方法では動き補償が非効率になる場所で使用することができる。符号化Ｉフレームは、Ｉフレームピクチャであるか、または第１のフィールドピクチャがＩピクチャであり、第２のフィールドピクチャがＩピクチャもしくはＰピクチャである１対のフィールドピクチャである。ＭＰＥＧ２規格では、第１のフィールドピクチャがＰピクチャであり、第２のフィールドピクチャがＩピクチャである符号化Ｉフレームは許されない。
【００１１】
ＧＯＰヘッダは、グループオブピクチャの開始を通知するＭＰＥＧ２ビットストリーム中の構造である。一般にグループオブピクチャは、すべて同じＩフレームを基準にして符号化された１組のビデオフレーム／フィールドの境界を示すのに使用される。ＧＯＰヘッダは、ビットストリーム中で符号化Ｉフレームの直後に続く（しかし、一般に表示順では符号化Ｉフレームに先行する）連続するＢピクチャの第１のＢピクチャが（存在するならば）、ランダムアクセスが行われた際に正確に再構成可能かどうかを示すため、符号化Ｉフレームの直前で提示される任意選択のヘッダである。そのようなＢピクチャでは、現在の符号化Ｉフレームの前の基準ピクチャが利用可能でない場合、Ｂピクチャが現在の符号化Ｉフレーム以降の後方予測またはイントラ符号化だけを利用するのでない限り、それを正確に再構成することはできない。復号器は、正しく復号化できないＢピクチャを表示しないように、この情報を用いることができる。したがって、ＧＯＰヘッダは、復号器から見た場合、ＧＯＰヘッダがビデオシーケンスの中程にあるとしても、復号器がどのようにＧＯＰヘッダからの復号化を実行できるかを示すものである。ＧＯＰヘッダは、ｇｒｏｕｐ＿ｓｔａｒｔ＿ｃｏｄｅと呼ばれる開始コードを含む。ＧＯＰヘッダ開始コードは、ＧＯＰヘッダ開始コード値（１６進表示でＢ８）が後に続く、２４ビットの開始コードプレフィックス（２３個の０の後に１個の１）を含む。ＭＰＥＧ２における開始コードは、バイト境界に合わされ、バイト境界合わせを保証するため、開始コードプレフィックスが開始する前に０が挿入される。さらなる情報については、Ｈ．２６２規格を参照されたい。
【００１２】
ＭＰＥＧ４規格は、イントラ符号化ビデオオブジェクトプレーン（Ｉ−ＶＯＰ）（ｉｎｔｒａ−ｃｏｄｅｄ  ｖｉｄｅｏ  ｏｂｊｅｃｔ  ｐｌａｎｅ）およびグループオブビデオオブジェクトプレーン（ＶＯＰ）（ｇｒｏｕｐ  ｏｆ  ｖｉｄｅｏ  ｏｂｊｅｃｔ  ｐｌａｎｅ）ヘッダについて説明する。Ｉ−ＶＯＰは、ＶＯＰ自体の情報だけから符号化されたＶＯＰである。非イントラ符号化ＶＯＰ（ｎｏｎ−ｉｎｔｒａ−ｃｏｄｅｄ  ＶＯＰ）は、プログレッシブまたはインターレースフレームから導出することができる。ＭＰＥＧ４では、Ｉ−ＶＯＰは、他のピクチャを基準としないで符号化され、復号化を開始できる符号化シーケンスへのアクセスポイントを提供する。グループオブＶＯＰヘッダは、符号化Ｉフレームの直後に続く第１の連続するＢ−ＶＯＰが、ランダムアクセスが行われた際に正確に再構成可能かどうかを復号器に示すため、符号化Ｉ−ＶＯＰの直前で使用される任意選択のヘッダである。グループオブＶＯＰヘッダの後には、符号化Ｉ−ＶＯＰが続かなければならない。グループオブＶＯＰ開始コードは、グループオブＶＯＰ開始コード値（１６進表示でＢ３）が後に続く、２４ビットの開始コードプレフィックス（２３個の０の後に１個の１）を含む。ＭＰＥＧ４における開始コードは、バイト境界に合わされ、バイト境界合わせを達成するため、この規格ではビットスタッフィング（ｂｉｔ  ｓｔｕｆｆｉｎｇ）が提供される。例えば、１個から８個のビットをスタッフィングするには、直前のコードが開始コードでないならば、０とそれに続く１個から７個の１を開始コードの前に挿入する。さらなる情報については、ＭＰＥＧ４規格を参照されたい。
【００１３】
ＪＶＴ／ＡＶＣビデオ規格のＪＶＴ−ｄ１５７草案によれば、Ｉピクチャは、復号化を開始できる符号化シーケンスへのアクセスポイントを提供し、復号化の際に使用される様々な情報が、ネットワーク抽象化層（「ＮＡＬ」）単位（ｎｅｔｗｏｒｋ  ａｂｓｔｒａｃｔｉｏｎ  ｌａｙｅｒ  ｕｎｉｔ）で通知される。ＮＡＬ単位は、どのようなタイプのデータが、エミュレーション防止データを散在させた、データ自体が後に続くＮＡＬ単位内に期待されるかを示す。補足エンハンス情報（「ＳＥＩ」）ＮＡＬ単位（ｓｕｐｐｌｅｍｅｎｔａｌ  ｅｎｈａｎｃｅｍｅｎｔ  ｉｎｆｏｒｍａｔｉｏｎ  ＮＡＬ  ｕｎｉｔ）は、ＮＡＬ単位の１タイプである。ＳＥＩ  ＮＡＬ単位は、１つまたは複数のＳＥＩメッセージを含む。各ＳＥＩメッセージは、ＳＥＩヘッダとＳＥＩペイロードから構成される。ＳＥＩペイロードのタイプおよびサイズは、拡張可能構文を用いて符号化される。ＳＥＩペイロードは、ＳＥＩペイロードヘッダをもつことができる。例えば、ペイロードヘッダは、特定のデータがどのピクチャに属しているかを示すことができる。
【００１４】
ＪＶＴ−ｄ１５７草案の付録Ｃは、仮説基準復号器（「ＨＲＤ」）バッファ（ｈｙｐｏｔｈｅｔｉｃａｌ  ｒｅｆｅｒｅｎｃｅ  ｄｅｃｏｄｅｒ  ｂｕｆｆｅｒ）を取り扱うためのルールを定めている。例えば、各復号器リフレッシュポイントにおいて、バッファリング期間ＳＥＩメッセージ（ｂｕｆｆｅｒｉｎｇ  ｐｅｒｉｏｄ  ＳＥＩ  ｍｅｓｓａｇｅ）は、復号器リフレッシュ前の最後のピクチャの最後のＮＡＬ単位の後に続き、復号器リフレッシュ後の最初のピクチャの最初のＮＡＬ単位の前に位置する。ＨＲＤピクチャＳＥＩメッセージは、各ピクチャの最後のＮＡＬ単位の後に続き、次のピクチャの最初のＮＡＬ単位の前に位置しなければならない。これらのＳＥＩメッセージは各々、その後に続くピクチャに関連する。
【００１５】
ＪＶＴ−ｄ１５７草案の付録Ｄは、ランダムアクセスポイントＳＥＩメッセージ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｐｏｉｎｔ  ＳＥＩ  ｍｅｓｓａｇｅ）について説明する。ランダムアクセスポイントＳＥＩメッセージは、ランダムアクセスエントリポイントを示す復号器用の標識（ｉｎｄｉｃａｔｏｒ）を含む。エントリポイントは、現在のピクチャのフレーム番号に先立つ符号化フレーム数を単位とする、ＳＥＩメッセージの位置に関連するカウントとして示される。付録Ｄは、ＨＲＤバッファモデルの初期化を行うため、ランダムアクセスポイントＳＥＩメッセージによって指示されるランダムアクセスエントリポイントの場所でバッファリング期間ＳＥＩメッセージを送信するべきであると述べている。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
これらの国際規格は、いくつかの重要な点で制限がある。例えば、ＭＰＥＧ２では、ＧＯＰヘッダの後の最初の符号化フレームは、「符号化Ｉフレーム」、すなわちイントラ符号化フレームピクチャであるか、または第１のフィールドピクチャがＩピクチャであり、第２のフィールドピクチャがＩピクチャもしくはＰピクチャである１対のフィールドピクチャでなければならない。ＧＯＰヘッダは、その他のどのようなフレームタイプの前に位置することも許されない。ＭＰＥＧ４では、グループオブＶＯＰヘッダの後には、符号化Ｉ−ＶＯＰが続かなければならない。
【００１７】
デジタルビデオにおいてビデオ圧縮および伸張はきわめて重要であるので、ビデオ圧縮および伸張の分野で開発が盛んなことは驚くに当たらない。しかし、従来のビデオ圧縮および伸張技法がどのように役立つにしろ、以下に示す技法およびツールがもつ利点はもっていない。
【課題を解決するための手段】
【００１８】
要約すると、デジタルビデオを符号化／復号化するための様々な技法およびツールについて詳細な説明が行われる。具体的には、本明細書で説明する実施形態は、ビデオストリーム中でエントリポイントを決定し、指示するための技法およびツールを含む。
【００１９】
一般にビデオ圧縮では、ビデオ内容を効率的に圧縮可能かどうかは、ビデオフィールドまたはビデオフレーム間の時間的な相関に依存する。結果として、ビデオフィールド／フレームの圧縮は、これらのフィールドまたはフレーム間の時間的な依存関係を導入する。  本明細書で説明する技法およびツールは、受信機、編集システム、または挿入システムが圧縮ビデオ中に有効エントリポイントを検出するのに使用できる、エントリポイント標識情報をビットストリーム中に埋め込むために用いられる。埋め込まれた情報は、ビデオ復号器が１つのエントリポイントまたはキーフレームから別のエントリポイントまたはキーフレームにジャンプすることを可能にすることで、例えば、「トリック」モード（例えば、早送り、早巻き戻しなど）を実施する際に使用することができる。様々な技法およびツールは、組み合わせて用いることも、単独で用いることもできる。
【００２０】
本発明のさらに別の特徴および利点は、添付の図面を参照しながら行われる、異なる実施形態についての以下の詳細な説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００２１】
本出願は、圧縮ビデオ中で有効エントリポイントを決定し、指示するための技法およびツールに関する。本明細書の文脈において、「決定する」とは、例えば、圧縮後にビデオフレームがビットストリーム中の有効エントリポイントであるかどうかを検出したり、圧縮時に有効エントリポイントの生成を保証するルールまたはポリシーを実施したりすることを意味し得る。ビットストリーム形式または構文は、本発明の技法を具体化するため、フラグまたはその他のコードを含む。ビットストリーム形式は、異なるレイヤまたはレベル（例えば、シーケンスレベル、フレーム／ピクチャ／イメージレベル、マクロブロックレベル、ブロックレベル）から構成される。
【００２２】
本明細書で説明する技法およびツールは、ビデオフレームまたはビデオフィールドがビットストリーム中で有効エントリポイントとなる条件を導入する。そうした条件は、ビデオ符号器がビデオシーケンスを符号化する際、（例えば、「トリック」モードが使用できるように）ビットストリーム中にエントリポイントを生成するために実施するポリシーを表す。ポリシーは、ビットストリーム中の異なる場所にエントリポイントを生成することができる。例えば、ポリシーは、シーンチェンジが発生したときにエントリポイントが提供されるようにすることができ、またはビデオ要約およびスライシングなどの活動がそれぞれ容易になるようにコマーシャルを挿入可能な場所をエントリポイントに指示させることもできる。ビットストリーム中へのエントリポイントの挿入を管理するポリシーは、エントリポイントが一定の間隔および（例えば、サービスに適合させる際の待ち時間を最短にする）特殊な時間間隔で提供されるように設計することもできる。本明細書で説明する技法およびツールは、基本ストリーム中でエントリポイントを明確に指示し得る機構にも冠する。これはエントリヘッダが後に続く特殊な開始コードによって達成することができる。
【００２３】
様々な技法およびツールは、組み合わせて用いることも、単独で用いることもできる。異なる実施形態は、本明細書で説明する１つまたは複数の技法およびツールを実施する。
【００２４】
Ｉ．コンピューティング環境
図１には、本明細書で説明する複数の実施形態を実施できる適切なコンピューティング環境１００の一般化された例が示されている。本発明の技法およびツールは様々な汎用または専用コンピューティング環境で実施可能であり、コンピューティング環境１００は、本発明の使用または機能の範囲についていかなる制限も示唆するものではない。
【００２５】
図１を参照すると、コンピューティング環境１００は、少なくとも１つのプロセッシングユニット１１０とメモリ１２０を含む。図１では、この最も基本的な構成１３０は、破線で囲われている。プロセッシングユニット１１０は、コンピュータ実行可能命令を実行し、実プロセッサとすることも、仮想プロセッサとすることもできる。マルチプロセッシングシステムでは、複数のプロセッシングユニットでコンピュータ実行可能命令を実行して、処理能力を向上させる。メモリ１２０は、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）とすることも、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなど）とすることも、それらの何らかの組合せとすることもできる。メモリ１２０は、エントリポイント処理を行うビデオ符号器または復号器を実施するソフトウェア１８０を格納する。
【００２６】
コンピューティング環境は、さらに別の機能を有することもできる。例えば、コンピューティング環境１００は、記憶装置１４０、１つまたは複数の入力装置１５０、１つまたは複数の出力装置１６０、および１つまたは複数の通信コネクション１７０を含む。バス、コントローラ、またはネットワークなどの相互接続機構（図示せず）は、コンピューティング環境１００のコンポーネントを相互接続する。一般に、オペレーティングシステムソフトウェア（図示せず）は、コンピューティング環境１００で実行される他のソフトウェアのための動作環境を提供し、コンピューティング環境１００のコンポーネントの活動を調整する。
【００２７】
記憶装置１４０は、着脱可能とすることも、着脱不能とすることもでき、磁気ディスク、磁気テープもしくはカセット、ＣＤ−ＲＯＭ、ＤＶＤ、または情報を記憶するのに使用でき、コンピューティング環境１００内でアクセスされ得るその他の任意の媒体を含む。  記憶装置１４０は、ビデオ符号器または復号器を実施するソフトウェア１８０の命令を記憶する。
【００２８】
入力装置１５０は、キーボード、マウス、ペン、トラックボールなどのタッチ入力装置、音声入力装置、スキャニング装置、またはコンピューティング環境１００に入力を提供するその他の装置とすることができる。オーディオまたはビデオ符号化の場合、入力装置１５０は、サウンドカード、ビデオカード、ＴＶチューナ、またはアナログもしくはデジタル形式でオーディオもしくはビデオ入力を受け入れる類似の装置、またはオーディオもしくはビデオサンプルをコンピューティング環境１００に読み込むＣＤ−ＲＯＭもしくはＣＤ−ＲＷとすることができる。出力装置１６０は、ディスプレイ、プリンタ、スピーカ、ＣＤライタ、またはコンピューティング環境１００から出力を提供するその他の装置とすることができる。
【００２９】
通信コネクション１７０は、通信媒体を介した別のコンピューティングエンティティとの通信を可能にする。通信媒体は、コンピュータ実行可能命令、オーディオ入力もしくは出力またはビデオ入力もしくは出力、またはその他のデータなどの情報を変調データ信号として伝送する。変調データ信号とは、情報を信号に符号化するための方式で設定または変化させられた１つまたは複数の特性を有する信号のことである。例えば、通信媒体には、電気的、光学的、ＲＦ、赤外線、音響的、またはその他の搬送波を用いて実施される有線または無線技法があるが、これらに限定されるものではない。
【００３０】
本発明の技法およびツールは、コンピュータ可読媒体の一般的文脈において説明することができる。コンピュータ可読媒体とは、コンピューティング環境内でアクセスされ得る任意の利用可能媒体のことである。例えば、コンピューティング環境１００内のコンピュータ可読媒体には、メモリ１２０、記憶装置１４０、通信媒体、および上記の任意の組合せがあるが、これらに限定されるものではない。
【００３１】
本発明の技法およびツールは、プログラムモジュールに含まれるような、コンピューティング環境のターゲット実プロセッサまたは仮想プロセッサ上で実行されるコンピュータ実行可能命令の一般的文脈において説明することができる。一般に、プログラムモジュールには、特定のタスクを実行し、または特定の抽象データ型を実施するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などがある。プログラムモジュールの機能は、様々な実施形態で望ましいように、プログラムモジュール間で結合し、または分割することができる。プログラムモジュール用のコンピュータ実行可能命令は、ローカルコンピューティング環境内で実行することも、分散コンピューティング環境内で実行することもできる。
【００３２】
本発明を開示するため、詳細な説明では、コンピューティング環境におけるコンピュータ動作を説明するのに「決定する」、「実施する」、「提供する」といった言葉を用いる。これらの言葉は、コンピュータによって実行される動作を高いレベルの抽象性で表現しており、人間によって行われる行為と混同してはならない。これらの言葉に対応する実際のコンピュータ動作は、実施内容に応じて変化する。
【００３３】
ＩＩ．一般化されたビデオ符号器および復号器
図２には、一般化されたビデオ符号器２００が示されており、図３には、一般化されたビデオ復号器３００が示されている。符号器および復号器内のモジュール間に示された関係は、符号器および復号器内の情報の主な流れを示しており、その他の関係は、図を簡略にするため示されていない。具体的には、一般に図２および図３には、ビデオシーケンス、フレーム、マクロブロック、ブロック用などに用いられる符号器設定、モード、テーブルなどを指示する副次情報は示されていない。そのような副次情報は、一般に副次情報のエントロピー符号化を行った後、出力ビットストリームで送信される。出力ビットストリームの形式は、Ｗｉｎｄｏｗｓ（登録商標）Ｍｅｄｉａ  Ｖｉｄｅｏ形式またはその他の形式とすることができる。
【００３４】
符号器２００および復号器３００は、ブロックベースであり、４：２：０のマクロブロック形式を用いる。代替的には、符号器２００および復号器３００は、オブジェクトベースであり、または異なるマクロブロックもしくはブロック形式を用いる。
【００３５】
実施および望ましい圧縮のタイプに応じて、符号器または復号器のモジュールは、追加し、省略し、複数のモジュールに分割し、他のモジュールと結合し、かつ／または類似のモジュールで置き換えることができる。代替実施形態では、異なるモジュールおよび／または他のモジュール構成を有する符号器または復号器が、本明細書で説明する１つまたは複数の技法を実行する。
【００３６】
Ａ．ビデオ符号器
図２は、一般的なビデオ符号器システム２００のブロック図である。符号器システム２００は、現在のフレーム２０５を含むビデオフレームのシーケンスを受信し、圧縮ビデオ情報２９５を出力として生成する。一般にビデオ符号器の具体的な実施形態は、一般化された符号器２００の変形形態または補足形態を使用する。
【００３７】
符号器システム２００は、予測フレームおよびキーフレームを圧縮する。本発明を開示するため、図２には、符号器システム２００によるキーフレーム用のパスと、予測フレーム用のパスが示されている。符号器システム２００のコンポーネントの多くは、キーフレームと予測フレームの両方を圧縮するために使用される。これらのコンポーネントによって実行される正確な動作は、圧縮される情報のタイプに応じて変化し得る。
【００３８】
予測フレーム（Ｐフレーム、双方向予測の場合はＢフレーム、またはインター符号化フレームとも呼ばれる）は、１つまたは複数の基準（またはアンカー）フレームからの予測（または差分）によって表現される。予測誤差（ｐｒｅｄｉｃｔｉｏｎ  ｒｅｓｉｄｕａｌ）は、予測されたものと元のフレームとの差である。対照的に、キーフレーム（Ｉフレーム、またはイントラ符号化フレームとも呼ばれる）は、他のフレームを基準としないで圧縮される。イントラ符号化フレームは、プログレッシブＩフレーム、インターレースＩフレーム（フレームインターレースモード）、およびＩ／Ｉフレーム（フィールドインターレースモード）を含む。その他のフレームの部分も、他のフレームを基準としないで圧縮される。例えば、Ｉ／ＰフレームおよびＰ／ＩフレームのＩフィールドは、他のフレームを基準としないで圧縮され、これについては以下で詳しく説明する。場合によっては、Ｉ／ＰフレームのＰフィールドも、以下で詳しく説明するように、他のフレームを基準としないで圧縮される。
【００３９】
現在のフレーム２０５が前方予測フレーム（ｆｏｒｗａｒｄ−ｐｒｅｄｉｃｔｅｄ  ｆｒａｍｅ）である場合、動き推定器（ｍｏｔｉｏｎ  ｅｓｔｉｍａｔｏｒ）２１０は、基準フレームに関係する現在のフレーム２０５のマクロブロックまたはピクセルのその他の組の動きを推定する。基準フレームは、フレームストア（例えば、フレームストア２２０）にバッファリングされている再構成された先行フレーム２２５である。現在のフレーム２０５が双方向予測フレーム（Ｂフレーム）である場合、動き推定器２１０は、再構成された２つの基準フレームに関係する現在のフレーム２０５内の動きを推定する。一般に、動き推定器は、時間的に先行する基準フレームと時間的に後続する基準フレームに関係するＢフレームの動きを推定する。
【００４０】
動き推定器２１０は、動きベクトルなどの動き情報２１５を副次情報として出力する。  動き補償器（ｍｏｔｉｏｎ  ｃｏｍｐｅｎｓａｔｏｒ）２３０は、動き情報２１５を再構成されたフレーム２２５に適用して、動き補償が施された現在のフレーム２３５を形成する。しかし、予測が完璧であることは稀であり、動き補償が施された現在のフレーム２３５と元の現在のフレーム２０５との差が、予測誤差２４５である。代替的には、動き推定器および動き補償器は、別のタイプの動き推定／補償を利用する。
【００４１】
周波数変換器２６０は、空間領域ビデオ情報を周波数領域（すなわち、スペクトル）データに変換する。次に量子化器２７０が、スペクトルデータ係数のブロックを量子化する。量子化に加えて、符号器２００は、フレームドロッピング（ｆｒａｍｅ  ｄｒｏｐｐｉｎｇ）、適応フィルタリング、またはレート制御のためのその他の技法を用いることができる。
【００４２】
再構成された現在のフレームが以降の動き推定／補償のために必要とされる場合、逆量子化器２７６が、量子化されたスペクトルデータ係数について逆量子化を実行する。次に逆周波数変換器２６６が、周波数変換器２６０の動作の逆を実行して、再構成された予測誤差（予測フレームについて）または再構成されたキーフレームを生成する。現在のフレーム２０５がキーフレームである場合、再構成されたキーフレームが、再構成された現在のフレーム（図示せず）として採用される。現在のフレーム２０５が予測フレームである場合、再構成された予測誤差が、動き補償が施された現在のフレーム２３５に加えられて、再構成された現在のフレームを形成する。フレームストア（例えば、フレームストア２２０）は、別のフレームの予測に用いるため、再構成された現在のフレームをバッファリングする。
【００４３】
エントロピー符号化器２８０は、量子化器２７０の出力と一定の副次情報（例えば、動き情報２１５、量子化ステップサイズ）を圧縮する。一般的なエントロピー符号化技法には、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、ＬＺ符号化、辞書型符号化、および上記の組合せがある。
【００４４】
エントロピー符号化器（ｅｎｔｒｏｐｙ  ｃｏｄｅｒ）２８０は、圧縮されたビデオ情報２９５をバッファ２９０に格納する。バッファレベル指標が、ビットレート適応モジュールにフィードバックされる。圧縮されたビデオ情報２９５は、一定または相対的に一定のビットレートでバッファ２９０から排出され、そのビットレートで後続のストリーミングのために格納される。したがって、バッファ２９０のレベルは主に、フィルタリングされ量子化されるビデオ情報のエントロピーの関数であり、エントロピー符号化の効率に影響を与える。代替的には、符号器システム２００は、圧縮後直ちに圧縮されたビデオ情報をストリーム送出し、バッファ２９０のレベルも、情報が送信のためバッファ２９０から排出されるレートに依存する。
【００４５】
ネットワークを介して送信するため、バッファ２９０の前または後で、圧縮されたビデオ情報２９５にチャネル符号化を施すことができる。チャネル符号化によって、圧縮されたビデオ情報２９５に誤り検出および訂正データを付加することができる。
【００４６】
Ｂ．ビデオ復号器
図３は、一般的なビデオ復号器システム３００のブロック図である。復号器システム３００は、圧縮されたビデオフレームのシーケンスについての情報３９５を受信し、再構成されたフレーム３０５を含む出力を生成する。一般にビデオ復号器の具体的な実施形態は、一般化された復号器３００の変形形態または補足形態を使用する。
【００４７】
復号器システム３００は、予測フレームおよびキーフレームを伸張する。本発明を開示するため、図３には、復号器システム３００によるキーフレーム用のパスと、予測フレーム用のパスが示されている。復号器システム３００のコンポーネントの多くは、キーフレームと予測フレームの両方を伸張するために使用される。これらのコンポーネントによって実行される正確な動作は、伸張される情報のタイプに応じて変化し得る。
【００４８】
バッファ３９０は、圧縮されたビデオシーケンスについての情報３９５を受信し、受信情報をエントロピー復号化器３８０が利用できるようにする。一般にバッファ３９０は、長期にわたってほぼ一定のレートで情報を受信し、帯域または送信における短期的な変動を平滑にするジッタバッファ（ｊｉｔｔｅｒ  ｂｕｆｆｅｒ）を含む。バッファ３９０は、再生バッファおよびその他のバッファをさらに含むこともできる。代替的には、バッファ３９０は、可変レートで情報を受信する。バッファ３９０の前または後で、圧縮されたビデオ情報にチャネル復号化を施し、誤り検出および訂正処理を実行することができる。
【００４９】
エントロピー復号化器（ｅｎｔｒｏｐｙ  ｄｅｃｏｄｅｒ）３８０は、エントロピー符号化された量子化データとエントロピー符号化された副次情報（例えば、動き情報３１５、量子化ステップサイズ）をエントロピー復号化し、一般に符号器で実行されたエントロピー符号化の逆の処理を行う。
【００５０】
動き補償器３３０は、動き情報３１５を１つまたは複数の基準フレーム３２５に適用して、再構成されるフレーム３０５の予測３３５を形成する。例えば、動き補償器３３０は、基準フレーム３２５中のマクロブロックを見つけるため、マクロブロック動きベクトルを用いる。フレームバッファ（例えば、フレームバッファ３２０）は、先に再構成されたフレームを基準フレームとして用いるために格納する。一般にＢフレームは、１つより多い基準フレーム（例えば、時間的に先行する基準フレームと時間的に後続する基準フレーム）を有する。動き補償器による予測が完璧であることは稀であり、復号器３００は予測誤差も再構成する。
【００５１】
復号器が後続の動き補償のために再構成されたフレームを必要とする場合、フレームバッファ（例えば、フレームバッファ３２０）は、別のフレームの予測に用いるため、再構成されたフレームをバッファリングする。
【００５２】
逆量子化器３７０は、エントロピー復号化されたデータを逆量子化する。逆周波数変換器３６０は、量子化された周波数領域データを空間領域ビデオ情報に変換する。
【００５３】
ＩＩＩ．有効エントリポイントの決定および指示
ビットストリーム中の有効エントリポイントとは、ビットストリーム中のどのような先行情報（ビット）も必要とせず、システム（例えば、受信機、ビデオスライサ、コマーシャル挿入ツール、ビデオ編集器、要約エンジンなど）がそのポイントからビットストリームを復号化し、処理できる基本ビットストリーム中の場所のことである。先行フレームを基準とせずに復号化が可能なフレームは一般に、「キー」フレームと呼ばれる。
【００５４】
エントリポイントは、ビットストリーム中でエントリポイント標識によって指示される。エントリポイント標識の目的は、復号化を開始または再開できるビットストリーム中の特殊な場所（例えば、エントリポイント標識直後のビデオフレームは、それ以前に復号化されたビデオフィールドまたはフレームに依存することなく復号化できる）の存在を示すことである。エントリポイント標識は、ビットストリーム中に規則的な間隔または不規則な間隔で挿入することができる。したがって、符号器は、ビットストリーム中へのエントリポイント標識の挿入を決定するのに、異なるポリシーを採用することができる。
【００５５】
図４は、ビットストリーム中でエントリポイントを決定し、指示する技法４００を示したフローチャートである。４１０において、エントリポイントが、エントリポイントポリシーに基づいてビットストリーム中で決定される。次に４２０において、エントリポイント標識が、ビットストリーム中に挿入される。図５は、エントリポイント標識を有する圧縮されたビデオストリームを（例えば、ビデオ復号器で）処理する技法５００を示したフローチャートである。５１０において、１つまたは複数のエントリポイント標識を有する圧縮されたビデオが、（例えば、ビデオ復号器、ビデオ編集器、スライサなどによって）受信される。次に５２０において、圧縮されたビデオが、少なくとも部分的に１つまたは複数のエントリポイント標識に基づいて処理される。
【００５６】
一例として、エントリポイント標識は、エントリポイント開始コードとエントリポイントヘッダで構成することができる。
【００５７】
いくつかの実施においては、エントリポイント開始コードが、ビットストリーム中のエントリポイントを指示する。エントリポイント開始コードは、ビットストリーム中の他の場所には出現しない特殊な３２ビットコードから構成することができる。例えば、エントリポイント開始コードは、先頭の３バイトが０ｘ０００００１であり、最後のバイトで開始コードがエントリポイント開始コードであることを識別する、３２ビットの一意のシーケンスをもった形式とすることができる。しかし、基礎をなすトランスポートが同種の情報を提供するのに十分な信号伝達を含む場合は、開始コードをよりコンパクトに表現することもできる。例えば、エントリポイント開始コードは、エントリポイント開始コードをビットストリーム中のその他のタイプの開始コードから十分に区別できる短縮された開始コード（例えば、１バイトまたは数ビット）とすることができる。いくつかの実施では、エントリポイント開始コードは、最後のビデオフレームの後、次のビデオフレームが開始する前に設定される。
【００５８】
エントリポイント開始コードは、シーケンス開始コード、フレーム開始コード、フィールド開始コード、スライス開始コード、およびユーザデータ開始コードなど、ビットストリーム中のその他の開始コードと共に使用することができる。いずれのタイプの開始コードも、３２ビットフィールドとすることができる。開始コードのタイプによって、最終バイトを異なるものとすることができ、その開始コードがシーケンス開始コード、フレーム開始コード、フィールド開始コード、スライス開始コード、ユーザデータ開始コードなどのどれなのかを識別することができる。
【００５９】
開始コードの前には「０」値のビットを任意の数だけ置くことができ、「０」値ビットの前には「１」値のビットが１つ置かれる。先行構造の末尾と開始コードの先頭の間に「１０．．．０」という形のフラッシュビット（ｆｌｕｓｈｉｎｇ  ｂｉｔ）シーケンスを使用する目的は、連続する開始コードを整数個のバイトで分割できるようにして、受信機による開始コードの分析を容易にすることにある。開始コードの前、最後の「０」値フラッシュビットの後に、０ｘ００値のバイトを任意の数だけ追加することもできる。
【００６０】
いくつかの実施においては、エントリポイント開始コードの直後にエントリポイントヘッダが続く。２つの連続するビデオフレームの間にシーケンス開始コードとシーケンスヘッダがすでに存在するビットストリーム中の位置に、エントリポイント開始コードとエントリポイントヘッダを挿入する必要がある場合、エントリポイント開始コードとエントリポイントヘッダは、シーケンス開始コードとシーケンスヘッダの後に続く。
【００６１】
エントリポイント開始コードとエントリポイントヘッダは、ビットストリーム中に規則的な間隔または不規則な間隔で挿入することができるので、符号器は、エントリポイント開始コードと関連するヘッダの挿入を決定するのに、異なるポリシーを採用することができる。
【００６２】
ＩＶ．実施例
いくつかの実施においては、エントリポイント開始コードと関連するヘッダは、ビットストリーム中の有効エントリポイントを指示する。別の表現を用いると、エントリポイント開始コードおよび／またはヘッダは、エントリポイント開始コードおよびヘッダの後のキーフレームに（時間順で）先立って復号化されたビデオフィールドまたはフレームに依存することなく、エントリポイント開始コードおよびヘッダの後のキーフレームに（時間順で）すぐ続くビデオフレームを復号化できる特殊な場所の存在を示す。したがって、エントリポイントキーフレームに続くことのできるフレームには、以下で説明する一定の条件が課される、それ自体がエントリポイントフレームになることのできるフレーム（例えば、プログレッシブＩフレーム、フレームインターレースＩフレーム、フィールドインターレースＩ／Ｉフレーム、フィールドインターレースＩ／Ｐフレーム、フィールドインターレースＰ／Ｉフレームなど）と予測フレームの両方が含まれる。これを達成するための条件が、図６〜図１０を参照する以下の例に示されている。ビデオフレームおよび／またはフィールドは、画像のタイプに応じて一定の条件を満たさなければならない。これらの条件は例に過ぎない。その他の条件を用いることもできる。
【００６３】
これらの条件は、エントリポイント後の最初のフレーム／フィールドのタイプに依存する。これらの例では、エントリポイント開始コードヘッダの後に続く最初のフレームのタイプは、画像符号化タイプがプログレッシブまたはフレームインターレースに設定されている場合は、Ｉとなる。画像符号化タイプがフィールドインターレースに設定されている場合は、エントリポイント開始コードおよびヘッダの後に続く最初の２つのフレームのタイプは、Ｉ／Ｐ（ＩおよびＰ）、Ｐ／Ｉ（ＰおよびＩ）、またはＩ／Ｉ（ＩおよびＩ）となる。
【００６４】
図６〜図１０には、その定義が以下の一覧中に見出し得る、一定のビットストリーム構造が示されている。
ＳＥＱ＿ＳＣ：シーケンス開始コード
ＳＥＱ＿ＨＤＲ：シーケンスヘッダ
ＥＮＴＲＹ＿ＳＣ：エントリポイント開始コード
ＥＮＴＲＹ＿ＨＤＲ：エントリポイントヘッダ
ＦＲＡＭＥ＿ＳＣ：フレーム開始コード
ＦＲＡＭＥ＿ＨＤＲ：フレームヘッダ
ＦＩＥＬＤ＿ＳＣ：フィールド開始コード
ＦＩＥＬＤ＿ＨＤＲ：フィールドヘッダ
ＵＤ＿ＳＣ：ユーザデータ開始コード
ＵＤ＿ＨＤＲ：ユーザデータヘッダ
【００６５】
さらに、図６〜図１０は、ＦＣＭフィールドについて触れている。ＦＣＭは、ビデオフレーム用に用いられる画像符号化タイプを示す可変サイズのフィールドである。値「０」は、画像符号化タイプが「プログレッシブ」であることを示す。値「１０」は、フレームが「フィールドインターレース」として符号化されていることを示す。フィールドインターレース画像では、フレームは、一般におよそ１５ミリ秒ずれた２つの異なるビデオフィールド、すなわち、トップフィールドとボトムフィールドから構成される。値「１１」は、「フレームインターレース」タイプの画像を示す。フレームインターレース画像では、インターレースビデオフレームは、フィールドモードまたはフレームモードのマクロブロックから構成される。これは、（マクロブロック内の別々のフィールドとしてフィールドモードで符号化される）画像内の縮小領域で前景には動きが多く、一方、背景は静止している（マクロブロック内のインターレースラインとしてフレームモードで符号化される）ような状況で役に立つ。ＦＣＭ値は、各個別の図のタイトルと関連がある。有効エントリポイントの条件は、画像がどのように符号化されたか（プログレッシブ、フィールドインターレース、またはフレームインターレース）に応じて異なる。フレームおよびフィールドのＩ、Ｐ、またはＢのタイプは、フレームおよびフィールドそれぞれのヘッダ内で指示することができる。例えば、フィールドインターレースモードのフレームの場合、最初のフィールドの画像タイプは、最初のフィールドデータの前に置かれるフレームまたはフィールドヘッダ内で指示され、第２のフィールドの画像タイプは、第２のフィールドデータの前に置かれるフィールドヘッダ内で指示される。代替的には、フレームヘッダ中のフィールドが、フィールド対のフィールドタイプの組合せ、例えば、Ｉ／Ｉ、Ｐ／Ｉ、またはＩ／Ｐなどを指示する。
【００６６】
以下の図および説明は、基準フィールドおよびフレームの位置についての一定のルールを具体化したものである。一般に、プログレッシブＰフレームの基準フレームは、当該フレームの前方に位置する最初のＩまたはＰフレームであり、プログレッシブＢフレームの基準フレームは、当該フレームの後方に位置する最初のＩまたはＰフレームをさらに含むことができる。同じようなルールが、フレームインターレースモードのＰフレームおよびＢフレームに適用される。フィールドインターレースフレームの場合、Ｐフィールドの基準フィールドは、例えば、当該フィールドの前方に位置する最初のＩおよびＰフィールドの一方か両方である。Ｂフィールドの基準フィールドは、例えば、時間的に先行する２つのフィールドと時間的に後続する２つのフィールドである。
【００６７】
Ａ．プログレッシブモードのＩフレーム
図６には、画像符号化タイプ（ＦＣＭフィールド）が２進値の「０」（プログレッシブモード）に設定された場合、エントリポイント開始コードおよびヘッダがＩフレームの前でどのように存在し得るかが図示されている。図６には、エントリポイント開始コードの前にシーケンス開始コードおよびシーケンスヘッダも示されているが、これは必須ではない。エントリポイント開始コードの前に、常にこのような構造が置かれる必要はない。
【００６８】
フレームはイントラ符号化されているので、このＩフレームをビットストリーム中の有効エントリポイントとするのに、追加の条件は必要とされない。エントリポイントは、エントリポイント開始コードおよびヘッダの後に続くＩフレームに設定される。エントリポイントは、ビットストリーム中で前記Ｉフレームの後に続き、前記Ｉフレームより早い時点で再生されるＢフレームデータまたはＢフィールドデータには設定されない。
【００６９】
Ｂ．フィールドインターレースモードのＩ／Ｐフレーム
図７には、画像符号化タイプ（ＦＣＭフィールド）が２進値の「１０」（フィールドインターレースモード）に設定された場合、エントリポイント開始コードおよびヘッダがＩ／Ｐフレームの前でどのように存在し得るかが図示されている。図７には、エントリポイント開始コードの前にシーケンス開始コードおよびシーケンスヘッダは示されていないが、そのような構造がエントリポイント開始コードの前に置かれる場合もある。
【００７０】
フレームはＩフィールドとそれに続くＰフィールドから構成されるので、以下の条件が満たされた場合に、このＩ／Ｐフレームはビットストリーム中の有効エントリポイントとなる。
・エントリＩ／ＰフレームのＰフィールドのフィールドヘッダ中の「ｎｕｍｒｅｆ」フィールドの値は、２進値の「０」である。
・エントリＩ／ＰフレームのＰフィールドのフィールドヘッダ中の「ｒｅｆｆｉｅｌｄ」フィールドの値は、２進値の「０」である。
【００７１】
これらの条件は、ＰフィールドがＩフィールドからだけ予測され、エントリポイントの前のフレームまたはフィールドには依存しないことを保証する（言い換えれば、「ｎｕｍｒｅｆ」（基準の数）フィールドは、Ｐフィールドの基準フィールドの数が１（ｎｕｍｒｅｆ＝０）であることを示し、「ｒｅｆｆｉｅｌｄ」（基準フィールド）フィールドは、Ｐフィールドの１つの基準フィールドが時間的に直近のフィールド、すなわち、Ｉフィールド（ｒｅｆｆｉｅｌｄ＝０）であることを示す）。
【００７２】
エントリポイントは、エントリポイント開始コードおよびヘッダの後に続くＩ／Ｐフレームに設定されるが、ビットストリーム中で前記Ｉ／Ｐフレームの後に続き、前記Ｉ／Ｐフレームより早い時点で再生されるＢフレームデータまたはＢフィールドデータには設定されない。
【００７３】
Ｃ．フィールドインターレースモードのＰ／Ｉフレーム
図８には、画像符号化タイプ（ＦＣＭフィールド）が２進値の「１０」（フィールドインターレースモード）に設定された場合、エントリポイント開始コードおよびヘッダがＰ／Ｉフレームの前でどのように存在し得るかが図示されている。図８には、エントリポイント開始コードの前にシーケンス開始コードおよびシーケンスヘッダは示されていないが、そのような構造がエントリポイント開始コードの前に置かれる場合もある。
【００７４】
フレームはＰフィールドとそれに続くＩフィールドから構成されるので、以下の条件が満たされた場合に、このＰ／Ｉフレームはビットストリーム中の有効エントリポイントとなる。
・Ｐ／ＩフレームのエントリＩフィールドの後で、プログレッシブモードまたはフレームインターレースモードのＰフレームが発生するには、その前にフィールドインターレースモードのＰ／Ｐフレームがビットストリーム中で存在する。
・エントリＰ／Ｉフレームの後に続く最初のＰフィールドのフィールドヘッダ中の「ｎｕｍｒｅｆ」フィールドの値は、２進値の「０」である。
・エントリＰ／Ｉフレームの後に続く最初のＰフィールドのフィールドヘッダ中の「ｒｅｆｆｉｅｌｄ」フィールドの値は、２進値の「０」である。
・ビットストリーム中でエントリＰ／Ｉフレームの後に続き、そのエントリＰ／Ｉフレームより遅い時点で再生されるＢフレームは、Ｐ／Ｉフレームに依存して符号化されない。
・ビットストリーム中でエントリＰ／Ｉフレームの後に続き、そのエントリＰ／Ｉフレームより遅い時点で再生されるＢ／Ｂフレームの（時間順で）最初のＢフレームは、エントリＰ／ＩフレームのＰフィールドに依存して符号化されない。
【００７５】
これらの条件は、ビットストリーム中の次のＰ／ＰフレームおよびＢ／Ｂフレームが、エントリＩフィールドから予測され、その前のＰフィールドから予測されないことを保証する。Ｐ／Ｉフレームから予測されたＰフレームがある場合、それがエントリＰ／ＩフレームのＰフィールドに対する依存性を生じさせるので、ここに有効エントリポイントを設定することはできないことも留意されたい。
【００７６】
エントリポイントは、エントリポイント開始コードおよびヘッダの後に続くＩフィールドに設定されるが、ビットストリーム中で前記Ｉフィールドの後に続き、前記Ｉフィールドより早い時点で再生されるＢフレームデータには設定されない。さらに、エントリポイントは、エントリポイント開始コードとそれに続くエントリＰ／ＩフレームのＩフィールドの間に位置するＰフィールドデータには設定されない。
【００７７】
Ｄ．フィールドインターレースモードのＩ／Ｉフレーム
図９には、画像符号化タイプ（ＦＣＭフィールド）が２進値の「１０」（フィールドインターレースモード）に設定された場合、エントリポイント開始コードおよびヘッダがＩ／Ｉフレームの前でどのように存在し得るかが図示されている。図９には、エントリポイント開始コードの前にシーケンス開始コードおよびシーケンスヘッダは示されていないが、そのような構造がエントリポイント開始コードの前に置かれる場合もある。
【００７８】
Ｉ／Ｉフレームは２つのＩフィールドから構成されるので、このフレームをビットストリーム中の有効エントリポイントとするのに、追加の条件は必要とされない。
【００７９】
エントリポイントは、エントリポイント開始コードおよびヘッダの後に続くＩ／Ｉフレームに設定されるが、ビットストリーム中で前記Ｉ／Ｉフレームの後に続き、前記Ｉ／Ｉフレームより早い時点で再生されるＢフレームデータまたはＢフィールドデータには設定されない。
【００８０】
Ｅ．フレームインターレースモードのＩフレーム
図１０には、画像符号化タイプ（ＦＣＭフィールド）が２進値の「１１」（フレームインターレースモード）に設定された場合、エントリポイント開始コードおよびヘッダがＩフレームの前でどのように存在し得るかが図示されている。図１０には、エントリポイント開始コードの前にシーケンス開始コードおよびシーケンスヘッダも示されているが、エントリポイント開始コードの前に、常にこのような構造が置かれる必要はない。
【００８１】
フレームはイントラ符号化されているので、このＩフレームをビットストリーム中の有効エントリポイントとするのに、追加の条件は必要とされない。エントリポイントは、エントリポイント開始コードおよびヘッダの後に続くＩフレームに設定されるが、ビットストリーム中で前記Ｉフレームの後に続き、前記Ｉフレームより早い時点で再生されるＢフレームデータまたはＢフィールドデータには設定されない。
【００８２】
Ｖ．拡張機能
上記の様々な代替形態と併せて、またはそれらに加えて、符号器および復号器は以下のように動作することができる。
【００８３】
ポリシーは、ビットストリーム中のポイントが有効エントリポイントであるかどうか評価する。符号器は、有効エントリポイントとしてシーンチェンジを定義（し、その結果、圧縮エンジンが上記の制約条件の１つを生じさせることを保証）するポリシーを用いることができる。この場合、シーンチェンジは、符号器とリアルタイムにインターフェースをとる（通信を行う）ことのできるシーンチェンジ検出器コンポーネントによって検出することができる。符号器はさらに、一定の時間間隔でＩフレームまたはＩフィールドを発生するためのポリシーを用いる。
【００８４】
符号器は、生成した圧縮ビデオのタイプおよび属性を監視することもでき、上述したＩ、Ｉ／Ｐ、Ｐ／Ｉ、Ｉ／Ｉフレームの例で説明したような条件のいずれかが満たされているかを確認するビットストリーム中のポイントを検出することもできる。そのようなイベントを検出した際、符号器は、エントリポイント開始コードとエントリポイントヘッダを最後のビットストリーム中に挿入することができる。
【００８５】
早送りまたは早巻き戻しなどのモードでは、ビデオ復号器は、エントリポイント開始コードを探すことによって、エントリポイントフレームを探し、そこから再生することができる。
【００８６】
エントリポイントは、アプリケーションによってビデオシーケンスの要約版（サムネイル）を圧縮ビットストリームから直接生成し、表示するのに利用することができる。ビデオ編集アプリケーションまたはデジタルテレビ電子番組ガイドを、そのようなアプリケーションとすることができる。
【００８７】
ビデオスライシングを実行するため、ビデオスライサは、エントリポイントを探して、適切なスライシングが行えるシーンチェンジを見つけることができる。
【００８８】
エントリポイントヘッダは、バッファステータスに関する情報を含むことができる。この情報は、バッファのアンダフローまたはオーバフローを回避できるようにするのに必要なバッファステータスを示す。バッファステータス情報は、エントリヘッダ内のフィールドに格納される。例えば、バッファ余裕要件（ｂｕｆｆｅｒ  ｆｕｌｌｎｅｓｓ  ｒｅｑｕｉｒｅｍｅｎｔ）情報をエントリヘッダに書き込むことによって、復号化を開始できるようになるには、バッファに少なくともどれだけ余裕が必要かを、復号器に知らせることができる。
【００８９】
上記の複数の例では、エントリポイントは、ビットストリーム中でエントリＩフレームまたはＩフィールドの後に続き、そのＩフレームまたはＩフィールドより早い時点で再生されるＢフレームまたはＢフィールドデータには設定されない。代替的には、ＢフレームまたはＢフィールドデータがイントラ符号化されており、エントリポイントのＩフレームまたはＩフィールドからだけ予測される場合、エントリポイントは、ＢフレームまたはＢフィールドデータに設定される。
【００９０】
様々な実施形態を参照しながら本発明の原理を説明し図示してきたが、本発明の原理から逸脱することなく、そうした様々な実施形態に構成上および細部の変更を施し得ることは理解されよう。本明細書で説明したプログラム、処理、または方法は、別途明示されない限り、どのような特定のタイプのコンピューティング環境に関連付けられることも、または限定されることもない。様々なタイプの汎用または専用コンピューティング環境が、本明細書で説明された教示に従う動作と共に使用でき、これを実行することができる。ソフトウェアで示された実施形態の要素は、ハードウェアでも実施可能であり、その逆も可能である。
【００９１】
本発明の原理を適用できる実施形態が数多く存在することに鑑みて、本発明の発明者らは、添付の特許請求の範囲およびその均等物の範囲および主旨に包含され得るすべての実施形態を本発明として主張する。
【図面の簡単な説明】
【００９２】
【図１】本明細書で説明する複数の実施形態を実施できる適切なコンピューティング環境のブロック図である。
【図２】本明細書で説明する複数の実施形態で使用される一般化されたビデオ符号器のブロック図である。
【図３】本明細書で説明する複数の実施形態で使用される一般化されたビデオ復号器のブロック図である。
【図４】ビットストリーム中のエントリポイントを決定し指示する技法を示したフローチャートである。
【図５】エントリポイント標識を有する圧縮ビデオストリームを処理する技法を示したフローチャートである。
【図６】プログレッシブＩフレームの前でエントリポイントを指示するビットストリーム構文を示した図である。
【図７】Ｉ／Ｐフレームの前でエントリポイントを指示するビットストリーム構文を示した図である。
【図８】Ｐ／Ｉフレームの前でエントリポイントを指示するビットストリーム構文を示した図である。
【図９】Ｉ／Ｉフレームの前でエントリポイントを指示するビットストリーム構文を示した図である。
【図１０】インターレースＩフレームの前でエントリポイントを指示するビットストリーム構文を示した図である。
【符号の説明】
【００９３】
１００  コンピューティング環境
１１０  プロセッシングユニット
１２０  メモリ
１４０  記憶装置
１５０  入力装置
１６０  出力装置
１７０  通信コネクション
【図１】
2005151570.tif 000003
【図２】
2005151570.tif 000004
【図３】
2005151570.tif 000005
【図４】
2005151570.tif 000006
【図５】
2005151570.tif 000007
【図６】
2005151570.tif 000008
【図７】
2005151570.tif 000009
【図８】
2005151570.tif 000010
【図９】
2005151570.tif 000011
【図１０】
2005151570.tif 000012