(57)【特許請求の範囲】
【請求項１】
コンピュータシステムにおいて、
ビデオデータを受信するステップと、
前記ビデオデータを符号化するステップと、
前記符号化ビデオデータ、ならびに復号化後の前記ビデオデータの後処理フィルタリングを制御するための制御情報を出力するステップと
を備えるコンピュータにより実行される方法であって、
前記制御情報は、後処理フィルタリングの少なくとも１つのレベルを含むものであり、かつ、前記制御情報は、デコーダによる、後処理フィルタリングの調整を容易にするものであって、前記調整は、前記デコーダが利用できる処理能力に少なくとも部分的に基づくものであることを特徴とするコンピュータにより実行される方法。
【請求項２】
入力として、前記制御情報を受信するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
ビデオエンコーダが前記入力を受信することを特徴とする請求項２に記載の方法。
【請求項４】
アプリケーションが前記入力を受信し、前記制御情報をビデオエンコーダに供給することを特徴とする請求項２に記載の方法。
【請求項５】
ビデオエンコーダは、１つまたは複数の基準に従って前記制御情報を指定し、前記１つまたは複数の基準は、前記ビデオデータの量子化ステップサイズおよび／または品質を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記制御情報は、前記後処理フィルタリングに対するフィルタ種類選択をさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記制御情報のエントロピ符号化ステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
ビットストリーム内の符号化ビデオデータ、および後処理フィルタリングを制御するための前記ビットストリーム内の制御情報を受信するステップと、
前記符号化ビデオデータを復号化するステップと、
利用可能な処理能力を判定するステップと、
前記利用可能な処理能力に少なくとも部分的に基づいて、前記ビデオデータに対して実行されるべき後処理フィルタリングの、レベルを調整するステップと
を備えたことを特徴とするコンピュータ実施方法。
【請求項９】
前記後処理フィルタリングを行うステップは、デブロッキングフィルタを適用するステップを含むことを特徴とする請求項１または請求項８に記載の方法。
【請求項１０】
前記後処理フィルタリングを行うステップは、デリンギングフィルタを適用するステップをさらに含むことを特徴とする請求項１または請求項８に記載の方法。
【請求項１１】
前記制御情報は、前記後処理フィルタリングに対するレベルを含むことを特徴とする請求項８に記載の方法。
【請求項１２】
前記制御情報は、前記後処理フィルタリングに対する最大許容レベルを含むことを特徴とする請求項１または請求項８に記載の方法。
【請求項１３】
前記制御情報は、前記後処理フィルタリングに対する最低許容レベルを含むことを特徴とする請求項１または請求項８に記載の方法。
【請求項１４】
前記制御情報は、前記後処理フィルタリングに対するフィルタ種類選択を含むことを特徴とする請求項１または請求項８に記載の方法。
【請求項１５】
前記制御情報のエントロピ復号化ステップをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１６】
コンピュータシステムに請求項１または請求項８に記載の方法を実行させるためのコンピュータ実行可能命令を記憶することを特徴とするコンピュータ読取り可能媒体。
【請求項１７】
前記後処理フィルタリングを制御するステップは、前記ビデオデータの少なくとも一部に対する前記後処理フィルタリングを省略するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１８】
前記制御情報は、前記デコーダが前記後処理フィルタリングを省略する指定をすることを特徴とする請求項１に記載の方法。
【請求項１９】
前記制御情報は、
復号化後、後処理フィルタリングが実行されるべきか否か指示する情報と、
前記ビデオデータで表される複数のピクチャのそれぞれについて、前記後処理フィルタリングが前記ピクチャに対して実行されるべきである場合に、前記ピクチャに対する前記後処理フィルタリングについてのフィルタタイプ選択を指示する情報と
を含むことを特徴とする請求項１に記載の方法。
【請求項２０】
前記制御情報は、ピクチャ内で、領域単位で前記後処理フィルタリングに対する変更を可能にすることを特徴とする請求項１に記載の方法。
【請求項２１】
前記制御情報により、復号化中にインループフィルタリングも制御することを特徴とする請求項２０に記載の方法。
【請求項２２】
前記制御情報は、前記インループフィルタリングについて複数の利用可能なフィルタタイプの間から選択するためのフィルタタイプ選択を含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記制御情報は、ピクチャ内で、領域単位で前記インループフィルタリングに対する変更を可能にすることを特徴とする請求項２２に記載の方法。
【請求項２４】
利用可能な処理能力を判定するステップは、後処理フィルタリングを適用するために利用可能なＣＰＵサイクルを判定するステップを含むことを特徴とする請求項８に記載の方法。
【請求項２５】
前記後処理フィルタリングを実行するステップをさらに備えることを特徴とする請求項８に記載の方法。
【請求項２６】
前記後処理フィルタリングを実行するステップは、デブロッキングフィルタリングを実行するステップを含み、前記制御情報は、ピクチャ内で領域単位で前記デブロッキングフィルタリングに対する変更を可能にすることを特徴とする請求項２５に記載の方法。
【請求項２７】
前記制御情報により、復号化中にインループフィルタリングも制御することを特徴とする請求項８に記載の方法。
【請求項２８】
前記制御情報によりインループフィルタリングも制御し、前記制御情報は、前記インループフィルタリングについて複数の利用可能なフィルタタイプの間から選択するためのフィルタタイプ選択を含むことを特徴とする請求項８に記載の方法。
【請求項２９】
前記制御情報は、ピクチャ内で領域単位で前記インループフィルタリングに対する変更を可能にすることを特徴とする請求項２８に記載の方法。
【請求項３０】
前記制御情報は、
復号化後、前記後処理フィルタリングが実行されるべきか否か指示する情報と、
前記ビデオデータで表される複数のピクチャのそれぞれについて、前記後処理フィルタリングが前記ピクチャに対して実行されるべきである場合に、前記ピクチャに対する前記後処理フィルタリングについてのフィルタタイプ選択を指示する情報と
を含み、
前記方法は、前記制御情報を解析するステップをさらに含むことを特徴とする請求項８に記載の方法。
【請求項３１】
前記制御情報を解析するステップは、後処理フィルタリングが実行されるべきか否か指示する情報を解析し識別するステップを含むことを特徴とする請求項３０に記載の方法。
【請求項３２】
前記制御情報を解析するステップは、前記ビデオデータで表される前記複数のピクチャのそれぞれについて、前記後処理フィルタリングが前記ピクチャに対して実行されるべきである場合に、前記ピクチャに対する前記後処理フィルタリングについてのフィルタタイプ選択を指示する情報を解析するステップをさらに含むことを特徴とする請求項３１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ビットストリーム制御フィルタリングのための技術およびツールについて記載する。例えば、ビデオエンコーダは後処理フィルタリングのための制御情報を提供し、ビデオデコーダは、デリンギングおよび／またはデブロッキングフィルタによるビットストリーム制御後処理フィルタリングを行う。
【背景技術】
【０００２】
本出願は、２００３年９月７日に出願した「ビデオエンコーディング及びビデオデコーディングのツールならびに技術」という名称の米国特許仮出願第６０／５０１，０８１号に基づいて優先権を主張するものである。
【０００３】
デジタルビデオは、大量の記憶装置および伝送容量を消費する。典型的な未加工のデジタルビデオシーケンスは１秒当たり１５または３０のフレームを含む。各フレームは、数万または数十万のピクセル（ペルとも呼ばれる）を含むことができる。各ピクセルは、画像の非常に小さい要素を表す。未加工の形では、コンピュータは、一般にピクセルを２４ビットで表す。したがって、典型的な未加工デジタルビデオシーケンスの１秒当たりのビット数、またはビットレートは、５００万ビット毎秒以上でありうる。
【０００４】
ほとんどのコンピュータおよびコンピュータネットワークは、未加工のデジタルビデオを処理するための資源が不足している。このため、技術者は、圧縮（コード化または符号化とも呼ばれる）を用いて、デジタルビデオのビットレートを低減させる。圧縮がロスレス（ｌｏｓｓｌｅｓｓ）であると、ビデオの質は損なわないが、ビデオが複雑な場合ビットレートの低減は制限される。あるいは、圧縮がロッシー（ｌｏｓｓｙ）であると、ビデオの質は損なうが、ビットレートの低減はより劇的なものとなる。伸張は圧縮の逆である。
【０００５】
一般に、ビデオ圧縮技術には、フレーム内圧縮およびフレーム間圧縮がある。フレーム内圧縮技術は、典型的にはＩフレームまたはキーフレームと呼ばれる個々のフレームを圧縮する。フレーム間圧縮技術は、典型的には予測フレーム、ＰフレームまたはＢフレームと呼ばれる先行および／または後続フレームを参照してフレームを圧縮する。
【０００６】
マイクロソフト（登録商標）社のＷｉｎｄｏｗｓ（登録商標）のメディアビデオ  バージョン８［「ＷＭＶ８」］およびバージョン９［「ＷＭＶ９」］は、それぞれビデオエンコーダおよびビデオデコーダを含む。エンコーダは、フレーム内圧縮およびフレーム間圧縮を用い、デコーダは、フレーム内伸張およびフレーム間伸張を用いる。ビデオ圧縮およびビデオ伸張に対しては、モーションピクチャエキスパートグループ［「ＭＰＥＧ」］１、２および４規格ならびにＨ．２６ｘ規格を含むいくつかの国際規格もある。ＷＭＶ８およびＷＭＶ９のように、これらの規格は、フレーム内およびフレーム間の圧縮と伸張の組合せを用いる。
【０００７】
（Ｉ．ブロックベースのフレーム内圧縮および伸張）
従来技術のエンコーダの多くは、ブロックベースのフレーム内圧縮を用いている。例示すると、エンコーダはビデオフレームを８×８のピクセルからなるブロックに分割し、８×８離散コサイン変換［「ＤＣＴ」］を個々のブロックに適用するとする。ＤＣＴは、与えられた８×８のピクセルからなるブロック（空間情報）を８×８のＤＣＴ係数からなるブロック（周波数情報）に変換する。ＤＣＴ処理そのものはロスレスまたはほぼロスレスである。エンコーダは、ＤＣＴ係数を量子化して、８×８の量子化ＤＣＴ係数からなるブロックとする。量子化はロッシーであるため、係数に対する情報が完全にロスしなくても、精度のロスがある。次いで、エンコーダは、エントロピ符号化のために８×８の量子化ＤＣＴ係数からなるブロックを用意し、ロスレス圧縮の方法であるエントロピ符号化を行う。
【０００８】
対応するデコーダは、対応する復号化処理を行う。与えられたブロックに対して、デコーダは、エントロピ復号化、逆量子化、逆ＤＣＴ等を行って、再構築ブロックを得る。量子化により、再構築ブロックは、原ブロックと同一でなくなる。実際、再構築ブロック内、または再構築ブロック間の境界に認知しうる誤差が存在する可能性がある。
【０００９】
（ＩＩ．ブロックベースのフレーム間圧縮および伸張）
従来技術のエンコーダの多くは、ブロックベースの動き補償予測コード化を用い、その後に残余の変換コード化を用いる。例示すると、エンコーダは、予測フレームを８×８のピクセルからなるブロックに分割する。４つの８×８輝度ブロックと２つの共存８×８色差ブロック（ｃｏ−ｌｏｃａｔｅｄ ８ｘ８ ｃｈｒｏｍｉｎａｎｃｅ ｂｌｏｃｋｓ）とのグループがマクロブロックを形成する。動き推定は、参照フレーム、例えば既にコード化された前フレームに対するマクロブロックの動きを概算する。エンコーダは、マクロブロックに対する動きベクトルを演算する。動き補償において、参照フレームからの情報を用いてマクロブロックに対する予測マクロブロックを演算するのに動きベクトルが使用される。予測はあまり完全でないため、エンコーダは、通常、予測マクロブロックと原マクロブロックとの間のピクセルの差のブロック（誤差ブロックまたは残差ブロックとも呼ばれる）を符号化する。エンコーダは、ＤＣＴ変換を誤差ブロックに適用して、ＤＣＴ係数のブロックを得る。エンコーダは、ＤＣＴ係数を量子化し、エントロピ符号化のために量子化ＤＣＴ係数のブロックを用意し、エントロピ符号化を行う。
【００１０】
一方、エンコーダに対応するデコーダは対応する復号化処理を行う。デコーダはエントロピ復号化、逆量子化、逆ＤＣＴ変換等を行い、再構築誤差ブロックを得る。また、デコーダは、別の動き補償パスにおいて、関連する参照フレームとの動きベクトル情報を用いて予測を演算する。デコーダは予測と再構築誤差ブロックとを合成する。この場合もやはり、再構築ビデオは、対応する原ビデオと同一にならず、再構築ブロック内、または再構築ブロック間の境界に認知しうる誤差が存在する可能性がある。
【００１１】
（ＩＩＩ．ブロック歪およびリンギング歪）
ロッシー圧縮により、再構築後のビデオに認知しうる誤差が生じる可能性がある。ロッシー圧縮が強ければ強いほど、かつ原ビデオの質が高ければ高いほど、再構築ビデオに認知しうる誤差が生じる可能性がより高くなる。代表的な２種類の誤差は、ブロック歪およびリンギング歪である。
【００１２】
ブロックベースの圧縮技術は、実施が容易であるといった利点があるが、ブロック歪をも生じさせており、ブロック歪は、今日ではデジタルビデオにおけるおそらく最も代表的で厄介な種類の歪みである。ブロック歪とは、再構築ビデオにおけるブロックのエッジの周囲の目に見える不連続部分である。（例えばブロックベースの変換による変換係数の）量子化および切捨ては、特に圧縮率が高いときにブロック歪を生じさせる。例えば、ブロックが独立して量子化されるときの１つのブロックの量子化の程度は、隣接するブロックより低くなったり高くなったりする場合がある。これは、再構築の際、２つのブロック間の境界にブロック歪を生じさせる。あるいは、ブロックの全体的な内容が異なっており、およびブロックの境界を越えて遷移ディテール（ｔｒａｎｓｉｔｉｏｎ ｄｅｔａｉｌ）を再構築するのに高周波係数が必要な場合には、高周波係数を量子化するときにブロック歪が生じる。
【００１３】
リンギング歪は、変換係数がブロックベースの変換によるものであっても、ウェーブレットベースの変換によるものであっても、高周波変換係数の量子化または切捨てによって生じる。いずれの変換も、本質的には、ピクセルからなる領域を正規波形の和として表す。ただし、波形係数は、量子化、符号化などが行われている。一方、ある場合、高周波波形は、低周波波形によって生じる歪みを相殺するのに寄与する。高周波係数が高度に量子化されると、歪みは、低周波における波状振動として目に見えるようになる場合がある。例えば、画像領域がシャープなエッジまたは輪郭を含み、高周波係数が高度に量子化されると仮定しよう。再構築画像において、量子化は、シャープなエッジまたは輪郭の周囲に波紋または振動を生じる可能性がある。
【００１４】
（ＩＶ．後処理フィルタリング）
デブロッキング（ｄｅ−ｂｌｏｃｋｉｎｇ）およびデリンギング（ｄｅ−ｒｉｎｇｉｎｇ）技術を用いて、ブロック歪およびリンギング歪を低減することができる。これらの技術は、典型的にはビデオが復号化された後に適用されるため、後処理技術と呼ばれる。後処理は、通常、再構築ビデオの知覚品質を向上させる。
【００１５】
ＷＭＶ８およびＷＭＶ９デコーダは、特殊化フィルタを使用して、後処理の間にブロック歪およびリンギング歪を低減する。さらなる情報については、２００１年１２月１７日に出願された米国特許仮出願第６０／３４１，６７４号明細書の付属書Ａ、および２００３年７月１８日に出願された米国特許仮出願第６０／４８８，７１０号明細書の付属書Ａを参照されたい。同様に、上述のＭＰＥＧおよびＨ．２６ｘ規格のいくつかを実装するソフトウェアは、デブロッキングおよび／またはデリンギングフィルタを有する。例えば、（１）検証モデルで試験され、ＭＰＥＧ−４草稿Ｎ２２０２の付属書Ｆ、セクション１５．３に記載されているＭＰＥＧ−４デブロッキングおよびデリンギングフィルタ、（２）期近試験モデルで試験されるＨ．２６３＋後処理フィルタ、および（３）Ｈ．２６４ＪＭ後処理フィルタを参照されたい。加えて、多くの出版物が後処理フィルタリング技術（ならびに、場合によっては、対応する前処理技術）を扱っている。例えば、（１）Kuo et al., "Adaptive Postprocessor for Block Encoded Images," IEEE Trans. on Circuits and Systems for Video Technology, Vol. 5, No. 4 (Aug. 1995)、（２）O'Rourke et al., "Improved Image Decompression for Reduced Transform Coding Artifacts," IEEE Trans. on Circuits and Systems for Video Technology, Vol. 5, No. 6, (1995)および（３）Segall et al., "Pre- and Post-Processing Algorithms for Compressed Video Enhancement", Proc. 34th Asilomar Conf. on Signals and Systems (2000)を参照されたい。
【００１６】
図１は、従来技術による後処理フィルタリングの概略図である。ビデオエンコーダ（１１０）は、ソースビデオ（１０５）を受け、それを符号化し、ビデオビットストリーム（１１５）を生成する。ビデオビットストリーム（１１５）は、例えば、ネットワークを介したストリーミングメディアとして送信することにより、チャネル（１２０）を介して配信される。ビデオデコーダ（１３０）は、ビデオビットストリーム（１１５）を受信するとともに復号化して、復号ビデオ（１３５）を生成する。デリンギングおよび／またはデブロッキングフィルタなどの後処理フィルタ（１４０）を復号ビデオ（１３５）に用いて、復号後処理ビデオ（１４５）を生成する。
【００１７】
厳密に言えば、ビデオビットストリーム（１１５）を復号化するのに、後処理フィルタリング技術は必要なものではない。コーデック（エンコーダ／デコーダ）技術者は、コーデックを設計するときに、こうした技術を適用すべきかどうかを決定することができる。この判断は、例えば、ソフトウェアデコーダのためにＣＰＵサイクルが利用可能であるかどうかに、またはハードウェアデコーダのための追加のコストに依存する。後処理フィルタリング技術は、通常、ビデオ品質を著しく向上させるため、今日では多くのビデオデコーダに広く利用されている。後処理フィルタは、ビデオコーデックから独立して設計されることがあるため、同じデブロッキングフィルタおよびデリンギングフィルタを異なるコーデックに利用することができる。
【００１８】
従来のシステムでは、後処理フィルタリングは、ビデオシーケンス全体に自動的に適用される。前提として、後処理フィルタリングは、常に、少なくともビデオ品質を向上させるものであるので、常に後処理フィルタリングを用いるべきである。システムにより、フィルタは、デコーダの能力に応じて異なる強度をもつことができる。さらに、いくつかのフィルタは、再構築ビデオの内容に対するデコーダ側の評価に応じてフィルタリングの強度を選択的に無効にするか、または変化させるが、この適応処理はまだ自動的に行われる。これらのアプローチにはいくつかの問題がある。
【発明の開示】
【発明が解決しようとする課題】
【００１９】
第１に、後処理フィルタリングは常にビデオ品質を少なくとも向上させるという前提は正しくない。大きな損失を伴わずに圧縮される高品質ビデオについては、後処理のデブロッキングおよびデリンギングにより、テクスチャのディテールがなくなり、ビデオ画像が著しくぼけて、実際には品質を低下させてしまう可能性がある。これは、高ビットレートで符号化された高解像度ビデオについて生じることがある。
【００２０】
第２に、後処理フィルタリングを導く情報がビデオビットストリームに存在しない。作成者（ａｕｔｈｏｒ）は、フィルタリングを制御するためにビデオビットストリーム内の情報を導入することによって後処理フィルタリングを制御したり適合させたりすることができないのである。
【００２１】
（Ｖ．インループ（Ｉｎ−Ｌｏｏｐ）フィルタリング）
いくつかの従来技術のシステムは、後処理フィルタリングのほかに、インループフィルタリングを用いている。インループフィルタリングは、符号化または復号化処理における動き補償時の再構築参照フレームに対するフィルタリング（例えばデブロッキングフィルタリング）を含む（これに対して、後処理は復号化処理の後に適用される）。参照フレームにおける歪を低減することによって、エンコーダおよびデコーダは、参照フレームからの動き補償予測の質を向上させる。例えば、（１）２００１年１２月１７日に出願された米国特許仮出願第６０／３４１，６７４号明細書のセクション４．４、（２）２００３年７月１８日に出願された米国特許仮出願第６０／４８８，７１０号明細書のセクション４．９、（３）（マクロブロックの条件付ローパスフィルタリングについて記載している）Ｈ．２６１規格のセクション３．２．３、（４）Ｈ．２６３規格のセクション３．４．８および付属書Ｊ、および（５）Ｈ．２６４規格の該当セクションを参照されたい。
【００２２】
特に、Ｈ．２６４規格により、作成者が、インループフィルタリングをオン・オフし、さらにシーン毎にフィルタリングの強度を変更することが可能となる。しかし、Ｈ．２６４規格で、作成者は、フレーム内の領域に対するループフィルタリングを適合させることを許可されない。さらに、Ｈ．２６４規格では、一種類のインループフィルタしか適用しない。
【００２３】
デジタルビデオに対するビデオ圧縮および伸張の極めて重要であることを考慮すると、ビデオ圧縮および伸張が十分に発展した分野であることは驚くに値しない。しかし、従来の圧縮および伸張技術の利点がどうであろうと、それらは以下の技術およびツールの利点をもつものではない。
【００２４】
要約すると、ここでの詳細な説明は、ビットストリーム制御フィルタリングのための様々な技術およびツールを対象としている。例えば、ビデオエンコーダは、符号化ビデオのためにビットストリームに制御情報を挿入する。ビデオデコーダは、符号化ビデオを復号し、制御情報に従って、復号ビデオに対する後処理フィルタリングを行う。この種の制御によって、操作者は、ビデオ品質が向上する場合後処理をさせ、さもなければ後処理を無効にすることができる。１つのシナリオにおいて、操作者は、高解像度の高ビットレートビデオの再構築において過度のぼけが生じるのを防ぐために後処理フィルタリングを制御する。
【００２５】
組み合わせて、または独立して様々な技術およびツールを用いることができる。
【課題を解決するための手段】
【００２６】
一態様として、ビデオエンコーダまたは他のツールは、ビデオデータを受信して符号化し、符号化ビデオデータならびに制御情報を出力する。制御情報は、復号化後のビデオデータの後処理フィルタリングを制御するためのものである。後処理フィルタリングは、デブロッキング、デリンギングおよび／または他の種類のフィルタリングを含む。典型的には、操作者は、後処理フィルタレベル（すなわちフィルタ強度）またはフィルタ種類選定などの制御情報を指定する。実施態様に応じて、シーケンス、シーン、フレーム、フレーム内の領域および／または他のレベルに対する制御情報が指定される。
【００２７】
他の態様としては、ビデオデコーダまたは他のツールは、符号化ビデオデータおよび制御情報を受信して、符号化ビデオデータを復号し、少なくとも一部に、受信した制御情報に基づいて復号ビデオデータに対する後処理フィルタリングを行う。ここでも、後処理フィルタリングは、デブロッキング、デリンギングおよび／または他の種類のフィルタリングを含み、実施態様に応じて、シーケンス、シーン、フレーム、フレーム内の領域、および／または他のレベルに対する制御情報が指定される。
【００２８】
添付の図面を参照しながら以下の異なる実施形態の詳細な説明から、さらなる特徴および利点が明らかになるであろう。
【発明を実施するための最良の形態】
【００２９】
本出願は、再構築ビデオのデブロッキングおよびデブロッキングのためのビットストリーム制御後処理フィルタリングの技術およびツールに関する。この技術およびツールは、操作者が、ビデオ品質を高める限り後処理を有効とすることができ、さもなければ後処理を無効にすることができるように、後処理フィルタリングを制御できるようにする。例えば、操作者は、高解像度の高ビットレートビデオの再構築における過度のぼけを防ぐために、後処理フィルタリングを制御する。
【００３０】
とりわけ、本出願は、制御情報を指定し、制御情報をパラメータ化し、制御情報を信号伝達し、制御情報に従ってフィルタリングを行うための技術およびツールに関する。様々な技術およびツールを組み合わせて、または独立して用いることができる。記載の技術およびツールのうちの１つまたは複数は、異なる実施形態により実施される。
【００３１】
詳細な説明のほとんどは、後処理時のデブロッキングおよびデリンギングフィルタリングに直接関するものであるが、他の段階（符号化および復号化におけるインループフィルタリングなど）においても、また他の種類のフィルタリングに対してもこの技術およびツールを適用することができる。
【００３２】
同様に、詳細な説明のほとんどは、ビデオエンコーダおよびデコーダに関するものであるが、他の種類のビデオ処理ツールまたは他のツールもビットストリーム制御フィルタリングの１つまたは複数の技術を実施することができる。
【００３３】
（Ｉ．コンピューティング環境）
図２は、記載の実施形態のいくつかを実施することができる好適なコンピューティング環境（２００）の汎用例を示す図である。この技術およびツールは、多様な多目的または特殊目的のコンピューティング環境で実現できるため、コンピューティング環境（２００）は、用途または機能の範囲に関して何らかの制限を示唆することを意図するものではない。
【００３４】
図２を参照すると、コンピューティング環境（２００）は、少なくとも１つの処理装置（２１０）とメモリ（２２０）とを含む。図２において、この最も基本的な構成（２３０）が点線内に含められている。処理装置（２１０）は、コンピュータ実行可能命令を実行するが、実プロセッサでも、仮想プロセッサでもよい。マルチプロセッシングシステムでは、処理力を高めるために、多数の処理装置によりコンピュータ実行可能命令が実行される。メモリ（２２０）は揮発性メモリ（レジスタ、キャッシュ、ＲＡＭなど）、不揮発性メモリ（ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなど）、またはその２つの組合せであってもよい。メモリ（２２０）は、エンコーダおよび／またはデコーダのためのビットストリーム制御フィルタリング技術を実装するソフトウェア（２８０）を記憶する。
【００３５】
コンピューティング環境は、さらなる特徴をもつことができる。例えば、コンピューティング環境（２００）は、記憶装置（２４０）と、１つまたは複数の入力装置（２５０）と、１つまたは複数の出力装置（２６０）と、１つまたは複数の通信接続（２７０）を含む。バス、コントローラまたはネットワークなどの相互接続機構（不図示）は、コンピューティング環境（２００）の構成要素を相互接続する。一般に、オペレーティングシステムソフトウェア（不図示）は、コンピューティング環境（２００）において実行される他のソフトウェアのための動作環境を提供し、コンピューティング環境（２００）の構成要素の動作を調整する。
【００３６】
記憶装置（２４０）は着脱式であっても固定式であってもよく、磁気ディスク、磁気テープもしくは磁気カセット、ＣＤ−ＲＯＭ、ＤＶＤ、または情報を記憶するのに使用でき、コンピューティング環境（２００）内でアクセスできる任意の他の媒体を含む。記憶装置（２４０）は、エンコーダおよび／またはデコーダのためのビットストリーム制御フィルタリング技術を実装するソフトウェア（２８０）を記憶する。
【００３７】
入力装置（２５０）は、キーボード、マウス、ペンまたはトラックボールなどのタッチ入力装置、音声入力装置、スキャニング装置、あるいはコンピューティング環境（２００）に入力を提供する他の装置であってもよい。オーディオ符号化またはビデオ符号化については、入力装置（２５０）は、サウンドカード、ビデオカード、ＴＶチューナカード、またはアナログもしくはデジタル形式のオーディオ入力もしくはビデオ入力を受け入れる同様の装置、またはオーディオサンプルもしくはビデオサンプルをコンピューティング環境（２００）に読み込むＣＤ−ＲＯＭもしくはＣＤ−ＲＷであってもよい。出力装置（２６０）は、ディスプレイ、プリンタ、スピーカ、ＣＤライタ、またはコンピューティング環境（２００）からの出力を提供する他の装置であってもよい。
【００３８】
通信接続（２７０）により、通信媒体を介して他のコンピューティング実態に通信を行うことができる。通信媒体は、コンピュータ実行可能命令、オーディオまたはビデオの入力または出力、あるいは変調されたデータ信号の中の他のデータなどの情報を伝える。変調されたデータ信号は、その１つまたは複数の特性が、信号内の情報を符号化するような方式で設定または変更された信号である。限定するものではなく例として、通信媒体には、電気的、光学的、ＲＦ、赤外線または他のキャリヤを用いて実施される有線または無線技術が挙げられる。
【００３９】
この技術およびツールをコンピュータ読取り可能媒体の一般的なコンテキストで記述することができる。コンピュータ読取り可能媒体は、コンピューティング環境内でアクセスできる利用可能な任意の媒体である。また、限定するものではなく例として、コンピューティング環境（２００）では、コンピュータ読取り可能媒体には、メモリ（２２０）、記憶装置（２４０）、通信媒体、および上記のいずれかの組合せが挙げられる。
【００４０】
この技術およびツールは、プログラムモジュールに含まれるものなど、ターゲットの実プロセッサまたは仮想プロセッサ上のコンピューティング環境で実行されるコンピュータ実行可能命令の一般的なコンテキストで記述することができる。一般に、プログラムモジュールは、特定のタスクを実行し、特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラムモジュールの機能は、様々な実施形態において望まれるようにプログラムモジュール間で組み合わせたり、分割したりすることができる。また、プログラムモジュールのためのコンピュータ実行可能命令は、ローカルなコンピューティング環境または分散コンピューティング境で実行することができる。
【００４１】
（ＩＩ．汎用ビデオエンコーダおよびデコーダ）
図３は、汎用ビデオエンコーダ（３００）のブロック図で、図４は、汎用ビデオデコーダ（４００）のブロック図である。
【００４２】
図において示されるエンコーダおよびデコーダ内のモジュール間の関係は、このエンコーダおよびデコーダにおける情報の主な流れを示している。他の関係は、簡単のため省略されている。特に、図３および４には、ビデオシーケンス、フレーム／フィールド、マクロブロック、ブロックなどに用いられるエンコーダ設定、モード、テーブル等を示す副次的情報は通常示していない。このような副次的情報は、典型的には副次的情報のエントロピ符号化の後に出力ビットストリームで送られる。出力ビットストリームの形式は、Ｗｉｎｄｏｗｓ（登録商標）Ｍｅｄｉａ  Ｖｉｄｅｏバージョン９の形式または他の形式とすることができる。
【００４３】
エンコーダ（３００）およびデコーダ（４００）はブロックベースで、各々のマクロブロックが４輝度の８×８輝度ブロック（時には１つの１６×１６マクロブロックとして扱われる）および２つの８×８色差ブロックを含む４：２：０のマクロブロック形式を用いる。エンコーダ（３００）およびデコーダ（４００）は、ビデオフレームおよび／またはビデオフィールドであるビデオ画像に対して動作する。あるいは、エンコーダ（３００）およびデコーダ（４００）はオブジェクトベースで、異なるマクロブロックまたはブロック形式を用い、８×８ブロックおよび１６×１６マクロブロックと異なるサイズまたは構成のピクセルの集合体に対して動作する。
【００４４】
実施態様および所望の圧縮の種類に応じて、エンコーダまたはデコーダのモジュールを追加し、省略し、多数のモジュールに分割し、他のモジュールと組み合わせ、かつ／または同様のモジュールと取り換えることができる。代替的な実施形態では、異なるモジュールおよび／または他の構成のモジュールをもつエンコーダまたはデコーダが、記載の技術の１つまたは複数を実行する。
【００４５】
（Ａ．ビデオエンコーダ）
図３は、一般的なビデオエンコーダシステム（３００）のブロック図である。エンコーダシステム（３００）は、現画像（３０５）を含むビデオ画像のシーケンスを受信し、出力として圧縮ビデオ情報（３９５）を生成する。ビデオエンコーダの特定の実施形態は、一般には、汎用エンコーダ（３００）の変形または補完バージョンを使用する。
【００４６】
エンコーダシステム（３００）は、予測画像および基本画像を圧縮する。図３は、描写を目的として、エンコーダシステム（３００）を通じた基本画像の経路、および前方予測画像の経路を示す。エンコーダシステム（３００）の構成要素の多くは、基本画像と予測画像の両方を圧縮するのに使用される。これらの構成要素が実行する厳密な動作は、圧縮される情報の種類に応じて異なる。
【００４７】
予測画像（ｐピクチャ、双方向予測に対するｂピクチャ、またはインターピクチャ（ｉｎｔｅｒ−ｃｏｄｅｄ ｐｉｃｔｕｒｅ）とも呼ばれる）は、１つまたは複数の他の画像からの予測（または差）の観点で表される。予測残余は、予測されたものと原画像との差である。対照的に、基本画像（ｉ画像、イントラピクチャ（ｉｎｔｒａ−ｃｏｄｅｄ ｐｉｃｔｕｒｅ）とも呼ばれる）は、他の画像を参照せずに圧縮される。
【００４８】
現画像（３０５）が前方予測画像である場合、動き推定装置（３１０）は、画像記憶装置（３２０）でバッファされた前の再構築画像である参照画像（３２５）に対する現画像（３０５）のマクロブロックまたは他のピクセルの集合体の動きを推定する。代替の実施形態において、参照画像は、後の画像であるか、または現画像は双方向予測されたものである。動き推定装置（３１０）は、動きベクトルなどの動き情報（３１５）を副次的情報として出力する。動き補償器（３３０）は、動き情報（３１５）を参照画像（３２５）に適用して、動き補償現画像予測（３３５）を形成する。しかし、予測はあまり完全ではなく、動き補償現画像予測（３３５）とオリジナル現画像（３０５）との差が予測残余（３４５）になる。あるいは、動き推定装置および動き補償器は、他の種類の動き推定／動き補償を適用する。
【００４９】
周波数変換器（３６０）は、空間領域ビデオ情報を周波数領域（すなわちスペクトル）データに変換する。ブロックベースのビデオ画像については、周波数変換器（３６０）は、ＤＣＴまたはＤＣＴの変種をピクセルデータまたは予測残余データのブロックに適用して、ＤＣＴ係数のブロックを生成する。あるいは、周波数変換器（３６０）は、フーリエ変換などの他の従来の周波数変換を適用するか、またはウェーブレット分解もしくはサブバンド分解を用いる。いくつかの実施形態において、周波数変換器（３６０）は、８×８、８×４、４×８、または他のサイズの周波数変換（ＤＣＴなど）を予測画像に対する予測残余に適用する。
【００５０】
次いで、量子化器（３７０）は、スペクトルデータ係数のブロックを量子化する。量子化器は、画像毎などによって異なるステップサイズでスペクトルデータに均一スカラ量子化を適用する。あるいは、量子化器は、他の種類の量子化、例えば不均一量子化、ベクトル量子化もしくは非適応型量子化をスペクトルデータ係数に適用するか、または周波数変換を用いないエンコーダシステムにおいて空間領域データを直接量子化する。
【００５１】
再構築された現画像が次の動き推定／補償に必要とされるときは、逆量子化器（３７６）が、量子化スペクトルデータ係数に対して逆量子化を行う。次いで、逆周波数変換器（３６６）は、周波数変換器（３６０）の動作の逆を行って、再構築予測残余または再構築基本画像データを生成する。現画像（３０５）が基本画像である場合は、再構築基本画像を再構築現画像（不図示）とする。一方、現画像（３０５）が予測画像である場合は、再構築予測残余を動き補償現画像予測（３３５）に加えて、再構築現画像を形成する。画像記憶装置（３２０）は、次の画像の予測に使用するため再構築現画像をバッファする。いくつかの実施形態において、エンコーダ（３００）は、インループデブロッキングフィルタを再構築画像に適用して、画像内のブロック境界の不連続部を滑らかにするよう調整する。さらなる詳細については、その開示が参照により本明細書に組み込まれている、２００２年１２月１７日に出願された米国特許出願第１０／３２２，３８３号明細書、および２００３年７月１８日に出願された米国特許出願第１０／６２３，１２８号明細書を参照されたい。
【００５２】
エントロピコーダ（３８０）は、量子化器（３７０）の出力、ならびに所定の副次的情報を圧縮する。典型的なエントロピ符号化技術としては、算術符号化、差分符号化、ハフマン符号化、ランレングス符号化、ＬＺ符号化、ディクショナリ符号化、および上記の組合せが挙げられる。エントロピコーダ（３８０）は、一般的には、異なる種類の情報に対して異なる符号化技術を用い、特定の符号化技術内の多数のコードテーブルの中から選択することができる。
【００５３】
エントロピコーダ（３８０）は、圧縮ビデオ情報（３９５）をバッファ（３９０）に投入する。バッファレベル指標がビットレート適応型モジュールにフィードバックされる。圧縮ビデオ情報（３９５）は、一定または比較的一定のビットレートでバッファ（３９０）から使い尽くされ、続くストリーミングのためにそのビットレートで記憶される。あるいは、エンコーダシステム（３００）は、圧縮ビデオ情報を可変レートで流す。
【００５４】
バッファ（３９０）の前後に、圧縮ビデオ情報（３９５）を、ネットワークを介して伝送するためにチャネル符号化することができる。チャネル符号化は、誤差検出および補正データを圧縮ビデオ情報（３９５）に適用することができる。
【００５５】
加えて、エンコーダ（３００）は、フィルタリング動作のための制御情報を受け入れる。制御情報は、コンテンツ作成者または他の操作者からのものであってもよく、エンコーダ設定、またはアプリケーションによるプログラム制御によってエンコーダに提供されうる。あるいは、制御情報は、エンコーダ（３００）そのものの中のモジュールなど他の源からのものであってもよい。制御情報は、以下に記載する後処理デブロッキングおよび／またはデリンギングフィルタリングなどのフィルタリング動作を制御する。エンコーダ（３００）は、圧縮ビデオ情報（３９５）における適切なシンタックスレベルで制御情報を出力する。
【００５６】
（Ｂ．ビデオデコーダ）
図４は、一般的なビデオデコーダシステム（４００）のブロック図である。デコーダシステム（４００）は、圧縮されたビデオ画像のシーケンスに対する情報（４９５）を受信し、再構築画像（４０５）を含む出力を生成する。特定の実施形態のビデオデコーダは、典型的には、汎用デコーダ（４００）の変形または補完バージョンを使用する。
【００５７】
デコーダシステム（４００）は、予測画像および基本画像を伸張する。
図４は、描写を目的として、デコーダシステム（４００）を通じた基本画像の経路、および前方予測画像の経路を示している。基本画像と予測画像の両方を伸張するために、デコーダシステム（４００）の構成要素の多くを使用する。これらの構成要素が実行する厳密な動作は、伸張される情報の種類に応じて異なる。
【００５８】
バッファ（４９０）は、圧縮ビデオシーケンスに対する情報（４９５）を受信し、受信した情報をエントロピデコーダ（４８０）が利用できるようにする。バッファ（４９０）は、典型的には、経時的に極めて一定したレートで情報を受信する。あるいは、バッファ（４９０）は、異なるレートで情報を受信する。バッファ（４９０）の前後で、圧縮ビデオ情報をチャネル復号し、誤差の検出および補正のための処理をすることができる。
【００５９】
エントロピデコーダ（４８０）は、典型的にはエンコーダで実行されるエントロピ符号化の逆を適用して、エントロピ符号化した量子化データならびにエントロピ符号化した副次的情報をエントロピ復号化する。エントロピ復号技術としては、算術復号化、差分復号化、ハフマン復号化、ランレングス復号化、ＬＺ復号化、ディクショナリ復号化、および上記の組合せが挙げられる。エントロピデコーダ（４８０）は、しばしば異なる種類の情報に対して異なる復号技術を用い、特定の復号技術内の多数のコードテーブルの中から選択することができる。
【００６０】
再構築される画像（４０５）が前方予測画像である場合は、動き補償器（４３０）は、参照画像（４２５）に動き情報（４１５）を適用して、再構築される画像（４０５）の予測（４３５）を形成する。例えば、動き補償器（４３０）はマクロブロック動きベクトルを使用して、参照画像（４２５）内のマクロブロックを見つける。画像記憶装置（４２０）は、再構築された前の画像を参照画像として使用するために記憶する。あるいは、動き補償器は、他の種類の動き補償を適用する。動き補償器（４３０）による予測はあまり完全ではないため、デコーダ（４００）は予測残余の再構築も行う。
【００６１】
逆量子化器（４７０）は、エントロピ復号データを逆量子化する。概して、逆量子化器（４７０）は、画像毎などによって異なるステップサイズでエントロピ復号データに均一スカラ逆量子化を適用する。あるいは、逆量子化器（４７０）は、他の種類の逆量子化、例えば不均一逆量子化、ベクトル逆量子化もしくは非適応型逆量子化をデータに適用するか、または逆周波数変換を用いないデコーダシステムにおいて空間領域データを直接逆量子化する。
【００６２】
逆周波数変換器（４６０）は、量子化された周波数領域データを空間領域ビデオ情報に変換する。ブロックベースのビデオ画像については、逆周波数変換器（４６０）は、逆ＤＣＴ［「ＩＤＣＴ」］またはＩＤＣＴの変種をＤＣＴ係数のブロックに適用して、それぞれ基本画像または予測画像に対するピクセルデータまたは予測残余データを生成する。あるいは、逆周波数変換器（４６０）は、逆フーリエ変換などの他の従来の逆周波数変換を適用するか、またはウェーブレット合成もしくはサブバンド合成を用いる。いくつかの実施形態において、逆周波数変換器（４６０）は、８×８、８×４、４×８または他のサイズの逆周波数変換（ＩＤＣＴなど）を予測画像に対する予測残余に適用する。
【００６３】
デコーダ（４００）が次の動き補償のための再構築画像を必要とするときは、画像記憶装置（４２０）は、動き補償に使用するために再構築画像をバッファする。いくつかの実施形態において、例えば、米国特許出願第１０／３２２，３８３号明細書および米国特許出願第１０／６２３，１２８号明細書に記載されているように、デコーダ（４００）は、インループデブロッキングフィルタを再構築画像に適用して、画像内のブロック境界の不連続部を滑らかにするよう調整する。
【００６４】
デコーダ（４００）は、デブロッキングおよび／またはデリンギングフィルタリングなどの後処理フィルタリングを行う。例えば、デコーダは、ＷＭＶ８システム、ＷＭＶ９システムまたは上記の他のシステムのような後処理フィルタリングを行う。
【００６５】
デコーダ（４００）は、フィルタリング動作のための制御情報を（情報（４９５）の一部として）受信する。制御情報は、以下に記載する後処理デブロッキングおよび／またはデリンギングフィルタリングなどの動作に影響する。デコーダ（４００）は、適切なシンタックスレベルで制御情報を受信し、この情報を適切なフィルタリングモジュールに送る。
【００６６】
（ＩＩＩ．ビットストリーム制御後処理フィルタリング）
いくつかの実施形態において、ビデオエンコーダにより、コンテンツ作成者または操作者は、特定のシーケンス、シーン、フレームまたはフレーム内の領域に対する後処理フィルタリングのレベルを制御することが可能となる。操作者は、符号化ビットストリームに挿入される制御情報を指定する。デコーダは、制御情報に従って後処理フィルタリングを行う。これにより、操作者は、後処理が用いられるときこの後処理がビデオ品質を向上させ、不要なときは後処理を無効にすることができる。例えば、操作者は、高解像度の高ビットレートビデオの再構築における過度のぼけを防ぐために後処理フィルタリングを制御する。
【００６７】
図５は、ビットストリーム制御後処理フィルタリングを備えるシステム（５００）の概略図である。図５に示される構成要素、入力および出力の詳細は、実施態様に応じて異なる。
【００６８】
ビデオエンコーダ（５１０）は、ソースビデオ（５０５）を受け入れ、それを符号化し、ビデオビットストリーム（５１５）を生成する。例えば、ビデオエンコーダ（５１０）は、図３に示されるエンコーダ（３００）などのエンコーダである。あるいは、システム（５００）は、異なるビデオエンコーダ（５１０）を含む。
【００６９】
ソースビデオ（５０５）を受信するのに加えて、エンコーダ（５１０）は、コンテンツ作成者または操作者による入力を源とする後処理制御情報（５１２）を受信する。例えば、作成者は、後処理制御情報（５１２）を直接エンコーダ（５１０）に提供するか、または後処理フィルタリングに合わせてエンコーダ設定を調整する。あるいは、何らかの他のアプリケーションが作成者からの入力を受信し、この他のアプリケーションが後処理制御情報（５１２）をエンコーダ（５１０）に送る。あるいは、後処理制御情報（５１２）を指定する操作者の代わりに、エンコーダ（５１０）が、コーデックパラメータまたはビデオ符号化の結果に従って制御情報（５１２）を決定する。例えば、エンコーダ（５１０）は、適用される圧縮率が高くなるにつれてフィルタ強度を高める（例えば、より量子化の大きいステップサイズについてはフィルタ強度を高め、その逆についてはフィルタ強度を低下させる。あるいはより符号化の大きいビット／ピクセルについてはフィルタ強度を低下させ、その逆についてはフィルタ強度を高める）。
【００７０】
エンコーダ（５１０）は、後処理制御情報（５１２）をビデオビットストリーム（５１５）に挿入する。エンコーダ（５１０）は、後処理制御情報（５１２）を固定長コードとしてフォーマットする（例えば、レベル０に対して００、レベル１に対して０１、レベル２に対して１０等）。あるいは、エンコーダ（５１０）は、ＶＬＣ／ハフマンテーブルを用いて、コードを割り当てる（レベル０に対して０、レベル１に対して１０、レベル２に対して１１０等）か、または他の種類のエントロピ符号化を用いる。エンコーダ（５１０）は、制御情報（５１２）をビデオビットストリーム（５１５）の適切なシンタックスレベルでヘッダに挿入する。例えば、画像に対する制御情報（５１２）が、その画像に対する画像ヘッダに挿入される。ＭＰＥＧ−２またはＭＰＥＧ−４ビットストリームについては、ヘッダにおける位置が、画像ヘッダにおけるプライベートデータセクションになりうる。
【００７１】
ビデオビットストリーム（５１５）は、例えば、ネットワークを介したストリーミングメディアとして送信することにより、チャネル（５２０）を介して配信される。ビデオデコーダ（５３０）はビデオビットストリーム（５１５）を受信する。デコーダ（５３０）は、符号化ビデオデータを復号して、復号ビデオ（５３５）を生成する。デコーダ（５３０）は、また、後処理制御情報（５３２）を取り出し（必要な復号を行い）、制御情報（５３２）を後処理フィルタ（５４０）に送る。
【００７２】
後処理フィルタ（５４０）は、制御情報（５３２）を用いて、指示された後処理フィルタリングを復号ビデオ（５３５）に適用して、復号された後処理ビデオ（５４５）を生成する。後処理フィルタ（５４０）は、例えば、デリンギングおよび／またはデブロッキングフィルタである。
【００７３】
図６は、後処理フィルタリングのための制御情報が埋め込まれたビットストリームを生成する技術（６００）を示す図である。図３に示されるエンコーダ（３００）などのエンコーダがこの技術（６００）を実行する。
【００７４】
エンコーダは、符号化すべきビデオを受信する（６１０）とともに、後処理フィルタリングのための制御情報を受信する（６３０）。エンコーダは、ビデオを符号化し（６２０）、符号化ビデオおよび制御情報を出力する（６４０）。一実施態様において、エンコーダはビデオを符号化し（６２０）、ビデオを復号し、結果を提示する。次いで、作成者は、制御情報のための適切な後処理強度等を決定する。後処理強度および他の制御情報に対する意志決定過程は、フレームまたはビデオの他の部分に対して決定が下されるまで、エンコーダは反復するか、そうでなければ異なる後処理強度を評価するような、（符号化フレームまたはビデオの他の部分の復号に続く）エンコーダにおける実際の後処理を含んでもよい。
【００７５】
符号化時に図６に示される技術（６００）を繰り返して、例えば、ビットストリームにおけるシーン毎に、またはフレーム毎に制御情報を埋め込むことができる。もっと一般的には、実施態様に応じて、技術（６００）の段階を追加し、多数の段階に分割し、他の段階と組み合わせ、再構成し、かつ／または同様の段階と取り換えることができる。特に、制御情報の受け取り（６３０）のタイミングは、実施態様に応じて異なってよい。
【００７６】
図７は、ビットストリーム制御後処理フィルタリングを行うための技術（７００）を示す図である。図４に示されるデコーダ（４００）などのデコーダが、この技術（７００）を実行する。
【００７７】
デコーダは、符号化ビデオおよび後処理フィルタリングのための制御情報を受信する（７１０）。デコーダはビデオを復号化する（７２０）。次いで、デコーダは、制御情報に従って後処理フィルタリングを行う（７３０）。復号時に図７に示される技術（７００）を繰り返して、例えば、シーン毎またはフレーム毎に制御情報を取り出し、適用することができる。もっと一般的には、実施態様に応じて、技術（７００）の段階を追加し、多数の段階に分割し、他の段階と組み合わせ、再構成し、かつ／または同様の段階と取り換えることができる。
【００７８】
（Ａ．後処理制御情報の種類）
後処理制御情報の内容についてはいくつかの異なる可能性がある。用いられる制御情報の種類は実施形態に依存する。最も単純な種類なのは、後処理フィルタリングに対するオン／オフ決定である。
【００７９】
他の種類の制御情報は、デブロッキング、デリンギングおよび／または他のフィルタリングの後処理レベル（すなわち強度）を示すものである。ビットストリーム制御後処理は、制御情報が最大許容後処理レベルを表すときに特に有用である。例えば、より高いレベルがより強いフィルタリングを示すと仮定する。作成者が、所定のビデオフレームに対して後処理レベル３を示すと、デコーダは、レベル０、１、２または３の後処理を所定のフレームに適用し、４以上のレベルを適用しない。このアプローチはある程度の柔軟性を提供する。ソフトウェアデコーダが、フレームに対してレベル３を適用するのに利用可能な十分なＣＰＵサイクルを持たない場合は、レベル２等を単に適用することになる。同時に、最大許容レベルを用いると主たる目標が達成される。すなわち、ビデオが後処理によって過度にぼやけることがなくなることが保証される。賢明な作成者は、復号ビデオが既に高品質であるときは、最大許容レベルを０（すなわち後処理なし）に設定するか、または低レベルに設定し、復号ビデオがより多くのブロック歪およびリンギング歪を表すときはより高いレベルに設定する。
【００８０】
またはこれにかえて、最大許容レベルの代わりに、この制御情報は厳密なレベルを示す。このような制御情報は、規定レベルの後処理フィルタリングを指定するものであり、作成者が後処理を厳密に制御したいときに有用である。または、この制御情報は最低許容レベルを示す。これは、例えば非常に低いビットレートのビデオに対して、少なくとも最低レベルの後処理フィルタリングが適用されることを作成者が望むときに有用である。
【００８１】
さらに他の種類の制御情報は、１つの特定のフィルタまたは複数のフィルタに対するフィルタレベル情報の代わりに、またはそれに加えて、フィルタ種類の選択を示す。例えば、値０は後処理なしを示し、値１はデブロッキングを示し、値２はデリンギングを示し、値３はデブロッキングとデリンギングの両方を示す等である。
【００８２】
あるいは、制御情報は、他の、かつ／または追加の種類の情報を含む。
【００８３】
（Ｂ．制御情報に対するシンタックスレベル）
実施態様に応じて、シーケンスに対して、シーケンス内のシーン毎に、フレーム毎に、または領域毎などに制御情報を指定する。これによって、作成者は、再構築ビデオを吟味し、制御が有効になるシンタックスレベルに応じて、所定のシーケンス、シーン、フレーム、フレーム内の領域等に対して後処理を適応させることができる。同様に、ビットストリームは、シーケンス、シーン、フレーム、フレーム内の領域等に対する適切なシンタックスレベルの制御情報に対するシンタックス要素を含む。
【００８４】
フレーム内の領域に対する制御情報を指定するために、作成者は、例えば、長方形または楕円形などの領域を定めることができ、この領域のサイズおよび位置に対するパラメータはビットストリームに挿入される。長方形については、この領域は辺（ａ、ｂ）および左上隅のピクセル位置（ｘ、ｙ）によって定められ、固定長または可変長コードを使用して符号化される。この領域に対する後処理強度もビットストリームに挿入される。あるいは、他のシンタックスを用いて、後処理フィルタリングのためのフレーム内の異なる領域に対する制御情報を指定する。
【００８５】
（ＩＶ．拡張）
１つまたは複数の実施形態において、操作者は、シーン毎、フレーム毎、または領域毎などに、シーケンスに対するインループフィルタリングのための制御情報を指定する。この制御情報は、フィルタのレベル（すなわち強度）、フィルタの種類（例えば、多数の利用可能なフィルタの中から選択される）、および／または他の種類の情報を含む。
【００８６】
様々な実施形態を参照しながら発明の原理を説明、例示したが、当該原理から逸脱することなく様々な実施形態の構成および詳細を変更できることが認識されるであろう。本明細書に記載のプログラム、プロセスまたは方法は、特に指定のない限り、いかなる特定種類の演算環境に関係付けられたり限定されたりしないことを理解すべきである。様々な種類の汎用または専用のコンピューティング環境は、本明細書に記載の教示に使用され、この教示に従って動作することができる。ソフトウェアに示される実施形態の要素をハードウェアで実施することができ、その逆も可能である。
【００８７】
発明の原理を適用できる多くの可能な実施形態に鑑み、請求項およびその等価物の範囲および主旨に含めることができるすべての当該実施形態を発明として主張する。
【図面の簡単な説明】
【００８８】
【図１】従来技術による後処理フィルタリングを示す図である。
【図２】好適なコンピューティング環境のブロック図である。
【図３】汎用ビデオエンコーダシステムのブロック図である。
【図４】汎用ビデオエンコーダシステムのブロック図である。
【図５】ビットストリーム制御後処理フィルタリングを示す図である。
【図６】後処理フィルタリングのための埋め込み制御情報を有するビットストリームを生成するための技術を示すフローチャートである。
【図７】ビットストリーム制御後処理フィルタリングを行うための技術を示すフローチャートである。
【符号の説明】
【００８９】
１０５  ソースビデオ
１１０  ビデオエンコーダ
１１５  ビデオビットストリーム
１２０  チャネルによる配信
１３０  ビデオデコーダ
１３５  復号ビデオ
１４０  後処理フィルタ
１４５  復号後処理ビデオ
２００  演算環境
２１０  処理装置
２２０  メモリ
２４０  記憶装置
２５０  入力装置
２６０  出力装置
２７０  通信接続
３０５  現画像
３１０  動き推定装置
３２０  画像記憶装置
３２５  参照画像
３３０  動き補償器
３４５  残余
３６０  周波数変換器
３６６  逆周波数変換器
３７０  量子化器
３７６  逆量子化器
３８０  エントロピコーダ
３９０  バッファ
３９５  圧縮ビデオ情報
４０５  再構築画像
４２０  画像記憶装置
４２５  基準画像
４３０  動き補償器
４３５  予測画像
４４５  再構築残余
４６０  逆周波数変換器
４７０  逆量子化器
４８０  エントロピデコーダ
４９０  バッファ
４９５  圧縮ビデオ情報
５０５  ソースビデオ
５１０  ビデオエンコーダ
５１２  後処理制御情報（作成者により入力される）
５１５  ビデオビットストリーム
５２０  チャネルによる配信
５３０  ビデオデコーダ
５３２  後処理制御情報
５３５  復号ビデオ
５４０  後処理フィルタ
５４５  復号後処理ビデオ
【図１】
0004633417.tif 000002
【図２】
0004633417.tif 000003
【図３】
0004633417.tif 000004
【図４】
0004633417.tif 000005
【図５】
0004633417.tif 000006
【図６】
0004633417.tif 000007
【図７】
0004633417.tif 000008