(57)【特許請求の範囲】
【請求項１】
ピクチャに関する入力データを、結果として得られるビットストリームに符号化するビデオエンコーダを備える装置であって、
前記ビデオエンコーダは、プレフィルタと、前記プレフィルタの下流に配置されたポストフィルタとを備え、前記プレフィルタは、前記ピクチャに関する前記入力データをフィルタ処理し、前記ポストフィルタは、前記ピクチャに関するループ内再構築後データをフィルタ処理し、
前記プレフィルタ及び前記ポストフィルタの少なくとも１つに関するフィルタ係数及びフィルタパラメータの少なくとも１つが、解像度、量子化レベル、ローカル勾配、予測モード、及び勾配方向のうちの少なくとも１つに応答して選択され、適応は、勾配強度、勾配方向及び勾配分散を互いに素な範囲に区分化し、異なる範囲について固定フィルタを適用することによって離散的に行われ、
前記プレフィルタ及び前記ポストフィルタは、リフティング方式で実装され、固定プレフィルタ変換行列の特異値分解を実行することにより得られる対角行列の値を変えることにより前記適応をその中に組み込む、前記装置。
【請求項２】
ピクチャに関する入力データを、結果として得られるビットストリームに符号化するステップであって、プレフィルタリングステップと、前記プレフィルタリングステップの後に行われるポストフィルタリングステップとを備え、前記プレフィルタリングステップが、前記ピクチャに関する前記入力データをフィルタ処理し、前記ポストフィルタリングステップが、前記ピクチャに関するループ内再構築後データをフィルタ処理する、前記符号化するステップを備え、
前記プレフィルタリングステップ及び前記ポストフィルタリングステップの少なくとも１つに関するフィルタ係数及びフィルタパラメータの少なくとも１つが、解像度、量子化レベル、ローカル勾配、予測モード、及び勾配方向のうちの少なくとも１つに応答して選択され、適応は、勾配強度、勾配方向及び勾配分散を互いに素な範囲に区分化し、異なる範囲について固定フィルタを適用することによって離散的に行われ、
前記プレフィルタリングステップ及び前記ポストフィルタリングステップは、リフティング方式で実装され、固定プレフィルタ変換行列の特異値分解を実行することにより得られる対角行列の値を変えることにより前記適応をその中に組み込む、方法。
【請求項３】
前記ポストフィルタリングステップが前記プレフィルタリングステップの厳密な逆となるように前記ポストフィルタリングステップのフィルタ係数およびフィルタパラメータが選択される、請求項２に記載の方法。
【請求項４】
前記プレフィルタリングステップと前記ポストフィルタリングステップの少なくとも一方が異なるフィルタの使用を含み、前記ピクチャのクロマ成分が、前記ピクチャのルーマ成分に用いられる前記異なるフィルタのパラメータ・セットから独立したパラメータ・セットを使用してフィルタ処理される、請求項２に記載の方法。
【請求項５】
前記再構築後データをフィルタ処理するために前記ポストフィルタリングステップによって使用されるポストフィルタ変換行列が、２つの加数に分解され、前記２つの加数の一方が恒等行列であり、前記２つの加数の他方が第１の行列、第２の行列、および第３の行列の乗算を表す行列であり、前記第１の行列および前記第３の行列が固定であり、前記第２の行列が、前記プレフィルタリングステップの適応を反転するために可変である、請求項２に記載の方法。
【請求項６】
前記ポストフィルタリングステップが前記プレフィルタリングステップの逆となるように前記ポストフィルタリングステップのフィルタ係数およびフィルタパラメータが選択される、請求項２に記載の方法。
【請求項７】
前記ポストフィルタリングステップが、観測値とプレフィルタ処理後推定との間の差を最小にすることにより、前記プレフィルタリングステップに供給される入力データと同じ出力データを前記ポストフィルタリングステップから供給するように構成され、前記観測値が、前記ポストフィルタリングステップに供給される入力データに関するものであり、前記プレフィルタ処理後推定が、前記プレフィルタリングステップによるフィルタ処理の前の前記ピクチャに関する前記入力データの推定に関するものである、請求項２又は６に記載の方法。
【請求項８】
前記プレフィルタリングステップおよび前記ポストフィルタリングステップが、前記プレフィルタリングステップと前記ポストフィルタリングステップとの間の厳密な可逆性に関する距離を最小にするように決定される整数演算を用いて実施される、請求項２に記載の方法。
【請求項９】
前記プレフィルタリングステップおよび前記ポストフィルタリングステップの係数の数が、残差データに適用される変換のサイズに等しく、前記残差データが、前記ピクチャに関する前記入力データと、少なくとも１つの基準ピクチャに関する基準データとの間の差を表す、請求項２に記載の方法。
【請求項１０】
前記プレフィルタリングステップおよび前記ポストフィルタリングステップが複数のフィルタの使用を含み、前記複数のフィルタのうちの少なくとも１つが、残差データに適用される変換のすべての変換サイズに適用される、請求項２又は９に記載の方法。
【請求項１１】
前記プレフィルタリングステップと前記ポストフィルタリングステップの少なくとも一方の係数の数が、前記入力データに適用される変換のサイズとは異なる、請求項２に記載の方法。
【請求項１２】
前記プレフィルタリングステップおよび前記ポストフィルタリングステップが、前記入力データの一部のみに適用される、請求項２に記載の方法。
【請求項１３】
前記入力データの一部が、ブロック境界およびブロック内の少なくとも一方から選択される、請求項１２に記載の方法。
【請求項１４】
ピクチャに関する残差イメージデータを復号化するビデオデコーダであって、プレフィルタと、前記プレフィルタの下流に配置されたポストフィルタとを備え、前記プレフィルタが、前記残差イメージデータを復号化する際に使用される基準ピクチャをフィルタ処理し、前記ポストフィルタが、前記ピクチャに関するループ内再構築後データをフィルタ処理する、前記ビデオデコーダを備え、
前記プレフィルタ及び前記ポストフィルタの少なくとも１つに関するフィルタ係数及びフィルタパラメータの少なくとも１つが、解像度、量子化レベル、ローカル勾配、予測モード、及び勾配方向のうちの少なくとも１つに応答して選択され、適応は、勾配強度、勾配方向及び勾配分散を互いに素な範囲に区分化し、異なる範囲について固定フィルタを適用することによって離散的に行われ、
前記プレフィルタ及び前記ポストフィルタは、リフティング方式で実装され、固定プレフィルタ変換行列の特異値分解を実行することにより得られる対角行列の値を変えることにより前記適応をその中に組み込む、装置。
【請求項１５】
ピクチャに関する残差イメージデータを復号化するステップであって、プレフィルタリングステップと、前記プレフィルタリングステップの後に行われるポストフィルタリングステップとを備え、前記プレフィルタリングステップが、前記残差イメージデータを復号化する際に使用される基準ピクチャをフィルタ処理し、前記ポストフィルタリングステップが、前記ピクチャに関するループ内再構築後データをフィルタ処理する、前記復号化するステップを備え、
前記プレフィルタリングステップ及び前記ポストフィルタリングステップの少なくとも１つに関するフィルタ係数及びフィルタパラメータの少なくとも１つが、解像度、量子化レベル、ローカル勾配、予測モード、及び勾配方向のうちの少なくとも１つに応答して選択され、適応は、勾配強度、勾配方向及び勾配分散を互いに素な範囲に区分化し、異なる範囲について固定フィルタを適用することによって離散的に行われ、
前記プレフィルタリングステップ及び前記ポストフィルタリングステップは、リフティング方式で実装され、固定プレフィルタ変換行列の特異値分解を実行することにより得られる対角行列の値を変えることにより前記適応をその中に組み込む、方法。
【請求項１６】
前記ポストフィルタリングステップが前記プレフィルタリングステップの厳密な逆となるように前記ポストフィルタリングステップのフィルタ係数およびフィルタパラメータが選択される、請求項１５に記載の方法。
【請求項１７】
前記プレフィルタリングステップと前記ポストフィルタリングステップの少なくとも一方が異なるフィルタの使用を含み、前記ピクチャのクロマ成分が、前記ピクチャのルーマ成分に用いられる前記異なるフィルタのパラメータ・セットから独立したパラメータ・セットを使用してフィルタ処理される、請求項１５に記載の方法。
【請求項１８】
前記再構築後データをフィルタ処理するために前記ポストフィルタリングステップによって使用されるポストフィルタ変換行列が、２つの加数に分解され、前記２つの加数の一方が恒等行列であり、前記２つの加数の他方が第１の行列、第２の行列、および第３の行列の乗算を表す行列であり、前記第１の行列および前記第３の行列が固定であり、前記第２の行列が、前記プレフィルタリングステップの適応を反転するために可変である、請求項１５に記載の方法。
【請求項１９】
前記ポストフィルタリングステップが前記プレフィルタリングステップの逆となるように前記ポストフィルタリングステップのフィルタ係数およびフィルタパラメータが選択される、請求項１５に記載の方法。
【請求項２０】
前記ポストフィルタリングステップが、観測値とプレフィルタ処理後推定との間の差を最小にすることにより、前記プレフィルタリングステップに供給される入力データと同じ出力データを前記ポストフィルタリングステップから供給するように構成され、前記観測値が、前記ポストフィルタリングステップに供給される入力データに関するものであり、前記プレフィルタ処理後推定が、前記プレフィルタリングステップによるフィルタ処理の前の前記ピクチャに関する前記入力データの推定に関するものである、請求項１５又は１９記載の方法。
【請求項２１】
前記プレフィルタリングステップおよび前記ポストフィルタリングステップが、前記プレフィルタリングステップと前記ポストフィルタリングステップとの間の厳密な可逆性に関する距離を最小にするように決定される整数計算オペレーションを用いて実施される、請求項１５に記載の方法。
【請求項２２】
前記プレフィルタリングステップおよび前記ポストフィルタリングステップの係数の数が、残差データに適用される変換のサイズに等しく、前記残差データが、前記ピクチャに関する入力データと、少なくとも１つの基準ピクチャに関する基準データとの間の差を表す、請求項１５に記載の方法。
【請求項２３】
前記プレフィルタリングステップおよび前記ポストフィルタリングステップが複数のフィルタの使用を含み、前記複数のフィルタのうちの少なくとも１つが、残差データに適用される変換のすべての変換サイズに適用される、請求項１５又は２２に記載の方法。
【請求項２４】
前記プレフィルタリングステップと前記ポストフィルタリングステップの少なくとも一方の係数の数が、入力データに適用される変換のサイズとは異なる、請求項１５に記載の方法。
【請求項２５】
前記プレフィルタリングステップおよび前記ポストフィルタリングステップが、入力データの一部のみに適用される、請求項１５に記載の方法。
【請求項２６】
前記入力データの一部が、ブロック境界およびブロック内の少なくとも一方から選択される、請求項２５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本原理は、一般にはビデオ符号化および復号化に関し、より詳細には、ビデオ符号化および復号化用の適応型結合前処理および後処理フィルタのための方法および装置に関する。
【背景技術】
【０００２】
関連出願の相互参照
本願は、参照によりその全体が本明細書に組み込まれる２００９年１２月３１日出願の米国特許仮出願第６１／２９１５９６号の特典を主張する。
【０００３】
国際標準化機構／国際電気標準会議（ＩＳＯ／ＩＥＣ）Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ−４（ＭＰＥＧ−４）  Ｐａｒｔ  １０  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）  Ｓｔａｎｄａｒｄ／国際電気通信連合、電気通信セクタ（ＩＴＵ−Ｔ）Ｈ．２６４  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ（以下「ＭＰＥＧ−４  ＡＶＣ規格」）などの現在のビデオ圧縮方式および規格での変換について、より高度な変換手法（例えばサブバンドコーディングなど）と比べて、本質的に複雑さが低く、同程度の性能が達成されるために、ブロックベースの変換手法が主に選ばれてきた。重複変換は、離散コサイン変換（ＤＣＴ）などの非重複変換よりも著しく性能が高く、複雑さがわずかに増大するだけである。重複変換は、コーディング利得を最大にし、エネルギー圧縮を最大にし、良好な周波数応答を与え、基底での正則性を最大にし、または上記の目的の組合せを最大にするように設計することができる。コーディング利得は直接的にレートひずみ性能の改善につながるので、コーディング利得は特に関心を引くものである。変換のコーディング利得は、「変換なしの再構築ひずみ」と「変換を伴う再構築ひずみ」との比として計算される。高ビットレートという仮定の下で、重複双直交変換（ｌａｐｐｅｄ  ｂｉ−ｏｒｔｈｏｇｏｎａｌ  ｔｒａｎｓｆｏｒｍ）（ＬＢＴ）に関するこの量は、第１の従来技術の手法では以下のように記述される。
【０００４】
【数１】
0005964755.tif 000002
【０００５】
上式で、
【０００６】
【数２】
0005964755.tif 000003
【０００７】
はソースｘの分散であり、ｙは重複変換の出力であり、
【０００８】
【数３】
0005964755.tif 000004
【０００９】
はｉ番目の変換出力の分散であり、Ｐi-1は重複変換の合成基底（ポストフィルタカラム）である。高ビットレート重複変換の設計は、式（１）で定義されるコーディング利得が最大となることを必要とする。
【００１０】
第２の従来技術の手法では、準最適重複変換を、プレフィルタ演算と、その後に続くシフテッドＤＣＴ演算に分解する代替均等物が開示される。この利点は、既存のエンコーダおよびデコーダループの外部でプレフィルタ手法を適用することができ、したがって第２の従来技術の手法は既存のエンコーダおよびデコーダ内でほとんど変更の必要がないことである。
【００１１】
重複変換に対するプレフィルタ処理ベースの手法では、出力ｙを以下のように表すことができる。
ｙ＝ＤＣＴ［Ｓｈｉｆｔ（Ｐｘ）］          （２）
【００１２】
上式で、Ｓｈｉｆｔはプレフィルタとブロック変換の間の時間シフトであり、Ｐは現データｘに対して適用されるプレフィルタである。
【００１３】
図１を参照すると、４×４プレフィルタと、その後に続くシフテッド４×４  ＤＣＴ演算としての４×８重複変換の実装が、全般的に参照番号１００によって示されている。すなわち、図１は、重複変換の２つの等価な実装を示す。図１の上部では、重複双直交変換により、８つの入力サンプルが４つの出力サンプルに直接変換される。図１から気付くように、同数の合計入力および出力サンプルを得るために、次の８つの入力サンプルが、最初の８つの入力サンプルと重複して取得される。実装がプレフィルタを使用する図１の下部に関して、以下が含まれる。まず、プレフィルタを４つの入力サンプルに適用し、次いで、ＤＣＴを適用する。プレフィルタと離散コサイン変換との間のシフトにより、図１の上部と全く同様に、それぞれの４つの出力サンプルについて８つの入力サンプルの処理が可能となることに留意されたい。
【００１４】
ＭＰＥＧ−４  ＡＶＣ  Ｓｔａｎｄａｒｄで実施されるようなブロックベースのコーディング手法を増強するための以前の取り組みは、前処理フィルタおよび後処理フィルタを使用し、コーディング利得を向上させると共に、予測コーディング効率に対する影響を無視することを含む。しかし、そのような従来技術のプレフィルタは、単一の変換のみで動作するように設計される。例えば、第３の従来技術の手法は、４×４プレフィルタがイントラコーディング用の４×４  ＤＣＴで動作するように設計された方式を使用する。さらに、第３の従来技術の手法は、より高い圧縮効率を達成するために、プレフィルタ処理およびポストフィルタ処理と調和して働くようにレートひずみオプティマイザや最確モードプレディクタなどの従属エンコーダおよびデコーダブロックを修正することを何ら考慮しない。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
従来技術のこれらおよび他の欠点および不都合が、ビデオ符号化および復号化用の適応型結合前処理および後処理フィルタのための方法および装置を対象とする本原理によって対処される。
【課題を解決するための手段】
【００１６】
本原理の一態様によれば、装置が提供される。この装置は、ピクチャに関する入力データを、結果として得られるビットストリームとして符号化するビデオエンコーダを含む。ビデオエンコーダは、プレフィルタと、プレフィルタに結合されたポストフィルタとを含む。プレフィルタは、ピクチャに関する入力データをフィルタ処理し、ポストフィルタは、ピクチャに関するループ内再構築後データをフィルタ処理する。
【００１７】
本原理の別の態様によれば、ビデオエンコーダにおける方法が提供される。この方法は、ピクチャに関する入力データを、結果として得られるビットストリームとして符号化することを含む。ビデオエンコーダは、プレフィルタと、プレフィルタに結合されたポストフィルタとを含む。プレフィルタは、ピクチャに関する入力データをフィルタ処理し、ポストフィルタは、ピクチャに関するループ内再構築後データをフィルタ処理する。
【００１８】
本原理のさらに別の態様によれば、装置が提供される。この装置は、ピクチャに関する残差イメージデータを復号化するビデオデコーダを含む。ビデオデコーダは、プレフィルタと、プレフィルタに結合されたポストフィルタとを含む。プレフィルタは、残差イメージデータを復号化する際に使用される基準ピクチャをフィルタ処理し、ポストフィルタは、ピクチャに関するループ内再構築後データをフィルタ処理する。
【００１９】
本原理のさらに別の態様によれば、ビデオエンコーダにおける方法が提供される。この方法は、ピクチャに関する残差イメージデータ復号化することを含む。ビデオデコーダは、プレフィルタと、プレフィルタに結合されたポストフィルタとを含む。プレフィルタは、残差イメージデータを復号化する際に使用される基準ピクチャをフィルタ処理し、ポストフィルタは、ピクチャに関するループ内再構築後データをフィルタ処理する。
【００２０】
添付の図面と共に読むべきである例示的実施形態の以下の詳細な説明から、本原理のこれらおよび他の態様、特徴、および利点が明らかとなるであろう。
【００２１】
以下の例示的な図に従って本原理をより良く理解することができる。
【図面の簡単な説明】
【００２２】
【図１】４×８重複変換の直接的実装、ならびに４×４プレフィルタと、その後に続くシフテッド４×４ＤＣＴ演算としての同等な実装を示す図である。
【図２】本原理の一実施形態による、前処理フィルタおよび後処理フィルタを備える例示的ビデオエンコーダを示すブロック図である。
【図３】本原理の一実施形態による、前処理フィルタおよび後処理フィルタを備える例示的ビデオデコーダを示すブロック図である。
【図４】本原理の一実施形態による、別々のルーマおよびクロマプレフィルタ処理を使用する、イメージデータを符号化する例示的方法を示す流れ図である。
【図５】本原理の一実施形態による、別々のルーマおよびクロマポストフィルタ処理を使用する、イメージデータを復号化する例示的方法を示す流れ図である。
【図６Ａ】本原理の一実施形態による、予測コーディング（イントラ／インター）をモデル化するのに使用される（関数Ｉ（・，・）に関する４つの可能な選択肢を示す図である。
【図６Ｂ】本原理の一実施形態による、予測コーディング（イントラ／インター）をモデル化するのに使用される（関数Ｉ（・，・）に関する４つの可能な選択肢を示す図である。
【図６Ｃ】本原理の一実施形態による、予測コーディング（イントラ／インター）をモデル化するのに使用される（関数Ｉ（・，・）に関する４つの可能な選択肢を示す図である。
【図６Ｄ】本原理の一実施形態による、予測コーディング（イントラ／インター）をモデル化するのに使用される（関数Ｉ（・，・）に関する４つの可能な選択肢を示す図である。
【図７】本原理の一実施形態による、フィルタパラメータ、適応パラメータ、および拡張パラメータのオフライントレーニングに関する例示的方法を示す流れ図である。
【図８】本原理の一実施形態による、観測データに対するプレフィルタ処理後推定の距離を最小限に抑えることによってポストフィルタ処理を実施する例示的方法を示す流れ図である。
【図９】本原理の一実施形態による、前処理フィルタ処理および後処理フィルタ処理でビデオデータを符号化する例示的方法を示す流れ図である。
【図１０】本原理の一実施形態による、前処理フィルタ処理および後処理フィルタ処理でビデオデータを復号化する例示的方法を示す流れ図である。
【図１１】本原理の一実施形態による、別々のルーマおよびクロマプレフィルタ処理を含む、イメージデータを符号化する例示的方法を示す流れ図である。
【図１２】本原理の一実施形態による、別々のルーマおびクロマポストフィルタ処理を含む、イメージデータを復号化する例示的方法を示す流れ図である。
【図１３】本原理の一実施形態による、リフティング実装で特異値分解（ＳＶＤ）を使用して適応型プレフィルタ処理およびポストフィルタ処理を実施する例示的方法を示す流れ図である。
【図１４】本原理の一実施形態による、行列分解またはガウスの消去法を使用してフィルタのリフティング実装を導出する例示的方法を示す流れ図である。
【図１５】本原理の一実施形態による、レートひずみオプティマイザをトレーニングする例示的方法を示す流れ図である。
【図１６】本原理の一実施形態による、最確モードプレディクタをトレーニングする例示的方法を示す流れ図である。
【図１７】本原理の一実施形態による、ハードウェアでポストフィルタを効率的に実装する例示的方法を示す流れ図である。
【図１８】本原理の一実施形態による、元の浮動小数点適応型フィルタの整数実装を求める例示的方法を示す流れ図である。
【発明を実施するための形態】
【００２３】
本原理は、ビデオ符号化および復号化用の適応型結合前処理および後処理フィルタのための方法および装置を対象とする。
【００２４】
本説明は本原理を例示する。したがって、本明細書では明示的には説明または図示していないが、本原理を実施し、本原理の趣旨および範囲内に含まれる様々な構成を当業者は考案できることになることを理解されよう。
【００２５】
本明細書に記載のすべての例および条件的言語は、当技術分野を促進することに対して本発明者（等）が寄与する本原理および概念を読者が理解するのを助ける、教育的な目的のためのものであり、そのような具体的に記載した例および条件に限定されないと解釈されるべきである。
【００２６】
さらに、本原理の原理、態様、および実施形態、ならびにその特定の例を説明する本明細書のすべての陳述は、その構造的均等物と機能的均等物の両方を包含するものとする。さらに、そのような均等物は、現在知られている均等物、ならびに将来開発される均等物の両方、すなわち構造の如何に関わらず同一の機能を実施する、開発される任意の要素を含むものとする。
【００２７】
したがって、例えば、本明細書で提示するブロック図が本原理を実施する例示的回路の概念図を表すことを当業者は理解されよう。同様に、コンピュータまたはプロセッサが明示的に示されているか否かに関わらず、実質上コンピュータ可読媒体で表すことができ、次いでそのようなコンピュータまたはプロセッサによって実行することのできる任意のフローチャート、流れ図、状態遷移図疑似コードなどが様々なプロセスを表すことを理解されよう。
【００２８】
図に示す様々な要素の機能は、専用ハードウェア、ならびに適切なソフトウェアに関連してソフトウェアを実行することのできるハードウェアを使用することによって実現することができる。プロセッサで実現されるとき、単一の専用プロセッサ、単一の共有プロセッサ、または一部が共有されることのある複数の個々のプロセッサによって機能を実現することができる。さらに、「プロセッサ」または「コントローラ」という用語の使用が、ソフトウェアを実行することのできるハードウェアをもっぱら指すと解釈すべきではなく、限定はしないが、暗黙的に、デジタル信号プロセッサ（「ＤＳＰ」）ハードウェア、ソフトウェアを格納する読取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、および不揮発性ストレージを含むことができる。
【００２９】
従来型および／またはカスタムの他のハードウェアも含めることができる。同様に、図に示す任意のスイッチは概念的なものに過ぎない。その機能は、プログラムロジックの動作、専用ロジック、プログラム制御および専用ロジックの対話、さらには手動によって実施することができ、文脈からより具体的に理解できるように、実装者によって特定の技法が選択可能である。
【００３０】
本明細書の特許請求の範囲では、指定の機能を実施する手段として表される任意の要素は、例えば、ａ）その機能を実施する回路要素の組合せ、ｂ）ソフトウェアを実行して機能を実施するための適切な回路と組み合わされる、任意の形態のソフトウェア、したがってファームウェア、マイクロコードなどを含むソフトウェアを含む、その機能を実施する任意の方式を包含するものとする。そのような特許請求の範囲によって定義される本原理は、様々な記載の手段によって提供される機能が、特許請求の範囲が求める方式で組み合わされ、互いに一緒にされることにある。したがって、そのような機能を提供することのできる任意の手段が、本明細書で示すものと同等であるとみなされる。
【００３１】
本明細書での、本原理の「一実施形態」ならびに本原理の他の変形形態に対する参照は、実施形態と共に説明する特定の機能、構造、特徴などが本原理の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書全体にわたって様々な場所で出現する「一実施形態では」という語句、ならびに任意の他の変形の出現は、必ずしもすべて同一の実施形態を指すわけではない。
【００３２】
「／」、「および／または」、および「の少なくとも１つ」、例えば、「Ａ／Ｂ」の場合、「Ａおよび／またはＢ」、「ＡおよびＢのうちの少なくとも１つ」は、最初に列挙したオプション（Ａ）の選択のみ、または２番目に列挙したオプション（Ｂ）の選択のみ、または両方のオプション（ＡおよびＢ）の選択を包含するものとすることを理解されたい。別の例として、「Ａ、Ｂ、および／またはＣ」ならびに「Ａ、Ｂ、およびＣのうちの少なくとも１つ」の場合、そのような言い回しは、最初に列挙したオプション（Ａ）の選択のみ、または２番目に列挙したオプション（Ｂ）の選択のみ、または３番目に列挙したオプション（Ｃ）の選択のみ、または１番目と２番目に列挙したオプション（ＡおよびＢ）の選択のみ、または１番目と３番目に列挙したオプション（ＡおよびＣ）の選択のみ、または２番目と３番目に列挙したオプション（ＢおよびＣ）の選択のみ、または３つのすべてのオプション（ＡおよびＢおよびＣ）の選択を包含するものとする。当業者は直ちに理解するように、列挙される項目と同数だけこのことを拡張することができる。
【００３３】
さらに、本明細書では、「ピクチャ」および「イメージ」という語が交換可能に使用され、ビデオシーケンスからの静止イメージまたはピクチャを指す。周知の通り、ピクチャはフレームまたはフィールドでよい。
【００３４】
さらに、本明細書では、「プレフィルタ」および「前処理フィルタ」という用語が交換可能に使用される。同様に、「ポストフィルタ」および「後処理フィルタ」という用語が本明細書では交換可能に使用される。本原理はエンコーダおよびデコーダで適用可能であることを理解されたい。
【００３５】
さらに、本明細書では、「厳密な逆」という語句は、プレフィルタとポストフィルタとの間の関係を記述するのに使用されるとき、ポストフィルタから得られるフィルタ処理結果がプレフィルタから得られるフィルタ処理結果と逆となるように選ばれるプレフィルタおよびポストフィルタに関するフィルタ係数およびフィルタパラメータを指す。言い換えれば、「厳密な逆」は、任意の他の処理（例えば量子化など）がない場合、プレフィルタによって処理され、次いでポストフィルタによって処理されるプレフィルタの入力がポストフィルタの出力と同じとなるようなプレフィルタとポストフィルタとの間の関係を記述する。
【００３６】
さらに、本明細書では、「ほぼ逆」という語句は、プレフィルタとポストフィルタとの間の関係を記述するのに使用されるとき、ポストフィルタから得られるフィルタ処理結果がプレフィルタから得られるフィルタ処理結果とほぼ逆となるように選ばれるプレフィルタおよびポストフィルタに関するフィルタ係数およびフィルタパラメータを指す。同様に、「ほぼ逆」という語句は、ポストフィルタが適応型であるときにプレフィルタとポストフィルタとの間の関係を記述するのに使用されるとき、「小さい」摂動が適応に著しい影響を及ぼさないように選ばれるポストフィルタに関する適応パラメータを指す。この定義は、安定性の数学的概念に関係付けられる。すなわち、入力の変動が小さいとすると、出力の変動も小さい。例えば、そのことを、出力の違いのノルムが入力の違いのノルムにある係数を掛けたものよりも小さいと述べることによって数学的に表すことができる。このことの典型的な例は線形システムである。（例えば、データを量子化する）入力の変動が、同程度の出力の変動を示唆するからである。同じ概念が「ほぼ逆」によって意図され、「ほぼ逆」は「厳密な逆」を保証しないが、かなり近く、例えば、「ほぼ」を、システムで受け入れられる任意の入力について、入力の違いのノルムと出力の違いのノルムを関係付ける定数として表すことができる。
【００３７】
例示および説明のために、本明細書では、ＭＰＥＧ−４  ＡＶＣ  Ｓｔａｎｄａｒｄに勝る改良の文脈で例を説明し、ＭＰＥＧ−４  ＡＶＣ  Ｓｔａｎｄａｒｄを本発明者等の説明に関する基準として使用し、ＭＰＥＧ−４  ＡＶＣ  Ｓｔａｎｄａｒｄを超える改良および拡張を説明する。しかし、本原理はＭＰＥＧ−４  ＡＶＣ  Ｓｔａｎｄａｒｄおよび／またはその拡張だけに限定されないことを理解されたい。本明細書で与えられる本原理の教示が与えられると、本原理が等しく適用可能であり、他の規格の拡張に適用したとき、またはまだ開発されていない規格内で適用および／または組み込まれるときに本原理が少なくとも同様の利点をもたらすことを当業者なら理解されよう。さらに、規格に準拠せず、知的所有権のある定義に準拠するビデオエンコーダおよびビデオデコーダにも本原理が当てはまることを理解されたい。
【００３８】
上述のように、ＭＰＥＧ−４  ＡＶＣ  Ｓｔａｎｄａｒｄで使用されるブロックベースのコーディング手法は、インター変換ブロック境界に存在する相関を効果的に活用しない。明確には、本明細書では、「インター変換ブロック」は、相異なる変換によって処理されるデータのブロックを指す。ブロック内の空間的相関が変換によって除去され、すなわちイントラ変換データが変換によって非相関化される。しかし、ＭＰＥＧ−４  ＡＶＣでの変換は重複しないので、相異なる変換ブロックに属するデータ間の相関が、適切に除去されない。本原理によれば、インター変換ブロック相関を活用し、ビデオコーディングで観測されるブロッキングアーチファクトを低減する、結合した適応型前処理フィルタおよび後処理フィルタのセットを定義する方法および装置を開示する。例えば、結合したフィルタのセットは、１つまたは複数の後処理フィルタに結合された１つまたは複数の前処理フィルタを含むことができる。
【００３９】
一実施形態では、フィルタ適応は、例えば、入力データについて計算される「勾配」、および／または「量子化器ステップサイズ」、および／または「分散」などのローカルデータ統計に基づくことができる。予測（空間的または時間的）機構と協調して働くように前処理フィルタおよび後処理フィルタを設計および最適することに関する少なくとも１つの実施形態を開示する。この共同の設計および最適化は、より良好な全体的レートひずみ性能を達成する助けになる。さらに、前処理フィルタおよび後処理フィルタは、エッジの保持の助けとなり、より良好な知覚品質が得られる。本原理はまた、より良好な性能利得を達成するために、レートひずみオプティマイザや最確モードプレディクタなどの既存のビデオアーキテクチャをどのように修正するかを略述する。
【００４０】
前処理フィルタおよび後処理フィルタの目標は、このインター変換ブロック相関を活用し、したがってより高いコーディング効率を達成することである。さらに、前処理フィルタおよび後処理フィルタが変換ブロック境界にわたって適用されるので、ブロックベースのビデオコーディングでしばしば見られるブロッキングアーチファクトを低減する助けになる。
【００４１】
通常、予測を使用して冗長性が除去される前に、プレフィルタが元のフレームに適用される。強いプレフィルタが元のフレームに適用される場合、まさに予測のために使用されるピクセルを激しく摂動することになる。したがって、予測の品質が不十分であると、予測コーディングの圧縮効率が低下することになる。したがって、全体的なエンコーダおよびデコーダ圧縮効率も低下することになる。予測コーディングに対するプレフィルタ処理の影響を考慮し、補償するために、新しいプレフィルタ設計方法を開示する。一実施形態では、プレフィルタが、より良好な圧縮効率のために、入力データについて計算される「勾配」、および／または「量子化器ステップサイズ」、および／または「分散」などのローカルデータ統計に適合される。結合「適応型」ポストフィルタが、エンコーダのプレフィルタによって実施される演算を反転するように設計される。システムの性能は、前処理フィルタおよび後処理フィルタと共に動作するようにレートひずみオプティマイザおよび最確モードプレディクタを修正することによってさらに改善される。
【００４２】
図２を参照すると、前処理フィルタおよび後処理フィルタを備える例示的ビデオエンコーダが、全般的に参照番号２００によって示されている。ビデオエンコーダ２００は、コンバイナ２１０の第１の入力と信号通信で接続された第１の出力を有するプレフィルタ２０５を含む。コンバイナの出力は、変換器（Ｔ）２１５の入力と信号通信で接続される。変換器（Ｔ）２１５の出力は、量子化器（Ｑ）２２０の入力と信号通信で接続される。量子化器（Ｑ）２２０の出力は、エントロピーコーダ２２５の入力および逆量子化器（ＩＱ）２３０の入力と信号通信で接続される。逆量子化器（ＩＱ）２３０の出力は、逆変換器（ＩＴ）２３５の入力と信号通信で接続される。逆変換器（ＩＴ）２３５の出力は、コンバイナ２４０の第１の非反転入力と信号通信で接続される。コンバイナ２４０の出力は、ポストフィルタ２４５の第１の入力およびイントラプレディクタ２８０の入力と信号通信で接続される。ポストフィルタ２４５の出力は、デブロッキングフィルタ２５０の入力およびループフィルタ２５５の入力と信号通信で接続される。ループフィルタ２５５の出力は、基準メモリ２６０の入力と信号通信で接続される。基準メモリ２６０の第１の出力は、動き／イントラ補償器２６５の第１の入力と信号通信で接続される。基準メモリ２６０の第２の出力は、動き推定器２７０の第２の入力と信号通信で接続される。動き推定器２７０の出力は、動き／イントラ補償器２６５の第２の入力と信号通信で接続される。動き／イントラ補償器２６５の出力は、プレフィルタ２７５の第１の入力と信号通信で接続される。プレフィルタ２７５の出力は、イントラ／インターセレクタ２８５の第１の入力と信号通信で接続される。イントラ／インターセレクタ２８５の出力は、コンバイナ２１０の第２の非反転入力およびコンバイナ２４０の第２の非反転入力と信号通信で接続される。イントラプレディクタ２８０の出力は、イントラ／インターセレクタ２８５の第２の入力と信号通信で接続される。エントロピーコーダ２２５の出力は、ビットストリームを出力する、ビデオエンコーダ２００の出力として利用可能である。デブロッキングフィルタ２５０の出力は、再構築を出力する、ビデオエンコーダ２００の出力として利用可能である。プレフィルタ２０５の入力は、ビデオエンコーダに関係するビデオソースおよび／またはコンテンツを受信する、ビデオエンコーダの入力として利用可能である。プレフィルタ２０５、コンバイナ２１０、および変換器（Ｔ）２１５は、逆変換器（Ｉ）２３５、コンバイナ２４０、およびポストフィルタ２４５から形成される等価な逆重複変換２７７に対する等価な順方向重複変換２６６を形成する。
【００４３】
図３を参照すると、前処理フィルタおよび後処理フィルタを備える例示的ビデオデコーダが、全般的に参照番号３００によって示されている。ビデオデコーダ３００は、エントロピーデコーダ３１０の入力と信号通信で接続された出力を有する入力バッファ３０５を含む。エントロピーデコーダ３１０の出力は、逆量子化器３１５の入力と信号通信で接続される。逆量子化器３２０の出力は、コンバイナ３２５の第１の非反転入力と信号通信で接続される。コンバイナ３２５の出力は、ポストフィルタ３３０の入力およびイントラプレディクタ３６５の入力と信号通信で接続される。ポストフィルタ３３０の出力は、ループフィルタ３４０の入力と信号通信で接続される。ループフィルタ３４０の出力は、基準メモリ３４５の入力と信号通信で接続される。基準メモリ３４５の出力は、動き／イントラ補償器３５０の入力と信号通信で接続される。動き／イントラ補償器３５０の出力は、プレフィルタ３５５の入力と信号通信で接続される。プレフィルタ３５５の出力は、イントラ／インターセレクタ３６０の第１の入力と信号通信で接続される。イントラ／インターセレクタ３６０の出力は、コンバイナ３２５の第２の非反転入力と信号通信で接続される。イントラプレディクタ３６５の出力は、イントラ／インターセレクタ３６０の第２の入力と信号通信で接続される。入力バッファ３０５の入力は、入力ビットストリームを受信する、ビデオエンコーダ３００の入力として利用可能である。デブロッキングフィルタ３３５の出力は、ビットストリームに対応する１つまたは複数のピクチャを出力する、ビデオデコーダ３００の出力として利用可能である。逆変換器（ＩＴ）３２０、コンバイナ３２５、およびポストフィルタ３３０は、等価な逆重複変換３７７を形成する。
【００４４】
したがって、図２は、元のビデオソースをプレフィルタ処理するビデオエンコーダの一実施形態を示す。結合される後処理フィルタ２４５は、イントラコーディング用のコーディングループの外部に配置されるが、インターコーディング用のコーディングループの内部に配置される。図３は、対応するデコーダを示し、前処理フィルタ３５５および後処理フィルタ３３０ならびにその適応パラメータが、ルーマ成分およびクロマ成分について別々にオフラインで導出される。別々のパラメータは、異なる解像度についても得られる。
【００４５】
プレフィルタ（例えば、２０５および２７５）は物理的にポストフィルタ２４５に結合されないが、プレフィルタ２０５、２７５、およびポストフィルタ２４５は、プレフィルタ２０５に対する（プレフィルタ処理後）入力と同一であり、または可能な限り近い出力を供給するためにポストフィルタ２４５が動作するような関係を有するという点で「結合される」。すなわち、ポストフィルタ２４５に関するフィルタ係数およびパラメータが、ポストフィルタ２４５によって実施されるフィルタ処理演算がプレフィルタ２０５、２７５によって実施されるフィルタ処理演算とほぼ逆となるように選択される。
【００４６】
図４を参照すると、別々のルーマおよびクロマプレフィルタ処理を使用する、イメージデータを符号化する例示的方法が、全般的に参照番号４００によって示されている。方法４００は、機能ブロック４０７に制御を渡す開始ブロック４０５を含む。機能ブロック４０７はデータ（ソース／再構築データ）を入力し、判定ブロック４１０に制御を渡す。判定ブロック４１０は、フィルタ処理すべき現成分がルーマ成分であるか否かを判定する。そうである場合、機能ブロック４１５および機能ブロック４３５に制御を渡す。そうでない場合、機能ブロック４４０および機能ブロック４６０に制御を渡す。機能ブロック４１５はルーマ適応パラメータを設定し、機能ブロック４３５に制御を渡す。機能ブロック４３５は、（機能ブロック４１５によって設定されたルーマ適応パラメータを使用して）ルーマプレフィルタ処理を実施し、機能ブロック４６５に制御を渡す。機能ブロック４６５は、プレフィルタ処理後データを出力し、終了ブロック４９９に制御を渡す。機能ブロック４４０はクロマ適応パラメータを設定し、機能ブロック４６０に制御を渡す。機能ブロック４６０は、（機能ブロック４４０によって設定されたクロマ適応パラメータを使用して）クロマプレフィルタ処理を実施し、機能ブロック４６５に制御を渡す。機能ブロック４１５に関して、機能ブロック４１５は、エンコーダ設定４２０、プレディクタモード４２５、ならびに変換サイズおよびタイプ４３０に基づいてルーマ適応パラメータを設定する。機能ブロック４４０に関して、機能ブロック４４０は、エンコーダ設定４４５、プレディクタモード４５０、ならびに変換サイズおよびタイプ４５５に基づいてクロマ適応パラメータを設定する。
【００４７】
図５を参照すると、本原理の一実施形態による、別々のルーマおよびクロマポストフィルタ処理を使用する、イメージデータを復号化する例示的方法が、全般的に参照番号５００によって示されている。方法５００は、機能ブロック５０７に制御を渡す開始ブロック５０５を含む。機能ブロック５０７は再構築データを入力し、判定ブロック５１０に制御を渡す。判定ブロック５１０は、フィルタ処理すべき現成分がルーマ成分であるか否かを判定する。そうである場合、機能ブロック５１５および機能ブロック５３５に制御を渡す。そうでない場合、機能ブロック５４０および機能ブロック５６０に制御を渡す。機能ブロック５１５はルーマ適応パラメータを設定し、機能ブロック５３５に制御を渡す。機能ブロック５３５は、（機能ブロック５１５によって設定されたルーマ適応パラメータを使用して）ルーマポストフィルタ処理を実施し、機能ブロック５６５に制御を渡す。機能ブロック５６５はポストフィルタ処理後データを出力し、終了ブロック５９９に制御を渡す。機能ブロック５４０はクロマ適応パラメータを設定し、機能ブロック５６０に制御を渡す。機能ブロック５６０は、（機能ブロック５４０によって設定されたクロマ適応パラメータを使用して）クロマポストフィルタ処理を実施し、機能ブロック５６５に制御を渡す。機能ブロック５１５に関して、機能ブロック５１５は、エンコーダ設定５２０、プレディクタモード５２５、ならびに変換サイズおよびタイプ５３０に基づいてルーマ適応パラメータを設定する。機能ブロック５４０に関して、機能ブロック５４０は、エンコーダ設定５４５、プレディクタモード５５０、ならびに変換サイズおよびタイプ５５５に基づいてクロマ適応パラメータを設定する。
【００４８】
パラメータ導出は、プレフィルタの設計から始まる。プレフィルタ出力の時間領域表現が以下のように書き直される。
ｙ＝Ｄ［Ｓｈｉｆｔ（Ｉ（Ｐｘ，Ｐｒｅｖ（ｘ）））］          （３）
【００４９】
上式で、Ｄはブロック変換（例えば、離散コサイン変換（ＤＣＴ）、カルーネンレーベ変換（ＫＬＴ）、および／またはモード依存方向性変換（ＭＤＤＴ））であり、Ｐｒｅｖ（ｘ）は、ｘを予測する際に使用するデータである。関数Ｉ（・，・）は、考慮中のコーディング方式に対して使用されるプレディクタの挙動を取り込むようにモデル化される。異なるプレディクタを表すために異なるモデルを選ぶことができる。図４Ａ〜４Ｄを参照すると、予測コーディング（イントラ／インター）をモデル化するのに使用される関数Ｉ（・，・）についての４つの可能な選択肢が、全般的に参照番号６１０、６２０、６３０、および６４０によって示されている。具体的には、図６Ａは、平均２乗誤差を最小限に抑える直線を以前のピクセルのサブセットを通じてフィッティングし、現ピクセルに関する予測を得るために補外する場合の関数についての選択肢６１０を示す。図６Ｂは、以前のピクセルを現ピクセル関数に関する予測としてコピーする場合の関数についての選択肢６２０を示す。図６Ｃは、以前のブロックを現ブロックに関する予測としてコピーする場合の関数についての選択肢６３０を示す。図６Ｄは、平均２乗誤差を最小限に抑える直線を以前のピクセルのサブセットを通じてフィッティングし、現ブロックに関する予測を得るために補外する場合の関数についての選択肢６４０を示す。考慮中のｘ全体に関する予測を得るために、選択肢６１０および６２０を反復的に適用することができる。
【００５０】
ＭＰＥＧ−４  ＡＶＣ  Ｓｔａｎｄａｒｄでのプレフィルタ処理では、分散
【００５１】
【数４】
0005964755.tif 000005
【００５２】
が以下のように計算される。
【００５３】
【数５】
0005964755.tif 000006
【００５４】
次に、全体的なＭＰＥＧ−４  ＡＶＣ  Ｓｔａｎｄａｒｄプレフィルタ設計問題を以下のように表すことができる。
【００５５】
【数６】
0005964755.tif 000007
【００５６】
上記の問題を以下によって近似する（「逆ＤＣＴ」および「予測再構築」による再構築でのひずみ増大が固定倍数であるという仮定に対応する）。
【００５７】
【数７】
0005964755.tif 000008
【００５８】
このようにして、少なくとも１つ実装では、本原理によるフィルタを設計する方法は、予測コーディング効率に対するプレフィルタ処理の影響を組み込む。式（６）を解くことによって得られる解を進化最適化アルゴリズムのためのシードとして使用することにより、解をさらに改善することができる。
【００５９】
（コーディングモード選択を実施する）レートひずみオプティマイザや最確モードプレディクタなどの次のシステムブロックを、設計した前処理フィルタおよび後処理フィルタと協調して働くように修正およびトレーニングする。レートひずみオプティマイザに対する修正は、エンコーダだけの修正である。
【００６０】
目標関数、例えば、コーディング利得、エネルギー圧縮、周波数応答、基底での正則性、または上記の目標の一部もしくはすべての一次結合を最大にすることにより、前処理フィルタパラメータおよび後処理フィルタパラメータ、適応パラメータ、ならびにシステムパラメータが得られる。代表的シーケンスサブセットに対してオフラインでパラメータのすべてのトレーニングおよび決定を実施する。トレーニングが完了すると、これらのパラメータをすべてのビデオシーケンスに対して使用することができる。
【００６１】
図７を参照すると、本原理の一実施形態による、フィルタパラメータ、適応パラメータ、および拡張パラメータのオフライントレーニングに関する例示的方法が、全般的に参照番号７００によって示されている。方法７００は、機能ブロック７１０に制御を渡す開始ブロック７０５を含む。機能ブロック７１０はトレーニングデータを入力し、機能ブロック７１５に制御を渡す。機能ブロック７１５は、トレーニングデータに基づいてフィルタパラメータ、適応パラメータ、および拡張パラメータを求め、機能ブロック７２０に制御を渡す。機能ブロック７２０はパラメータを格納し、終了ブロック７９９に制御を渡す。
【００６２】
ポストフィルタは、プレフィルタによって実施される処理を反転するためにプレフィルタに結合される。非適応型固定フィルタでは、ポストフィルタはプレフィルタの厳密な逆である。固定フィルタ処理は、フィルタ処理なしに勝る性能改善をもたらすが、この性能改良をフィルタ適応によってさらに高めることができる。
【００６３】
これから、プレフィルタ適応およびポストフィルタ適応に関する可能な変形形態および実施形態を論じる。
【００６４】
適応
プレフィルタでの適応が元のデータに基づく場合、元のデータの（例えばデコーダ側での）非可用性のために、ポストフィルタは完全な逆となることはできない。そのような場合、ポストフィルタは、ポストフィルタに入力されるデータに基づいて適応を推定する。２つの新規なポストフィルタ処理実施形態が以下のように可能である。
【００６５】
第１の実施形態では、適応的にプレフィルタ処理されるときに現観測値に最も近い出力ベクトルを与える元のデータベクトルを推定する。凸最適化または非凸最適化のどちらかを使用して、この推定を実施することができる。
【００６６】
図８を参照すると、観測データに対するプレフィルタ処理後推定の距離を最小限に抑えることによってポストフィルタ処理を実施する例示的方法が、全般的に参照番号８００によって示されている。方法８００は、機能ブロック８１０に制御を渡す開始ブロック８０５を含む。機能ブロック８１０は入力観測値を受信し、機能ブロック８１５に制御を渡す。機能ブロック８１５は推測ｘを行い、機能ブロック８２０に制御を渡す。機能ブロック８２０は適応型フィルタ処理を実施し、機能ブロック８２５に制御を渡す。機能ブロック８２５は、観測値に対する推測から距離を測定し、判定ブロック８４５に制御を渡す。判定ブロック８４５は、（距離から判定して）以前の推測からの改善があるか否かを判定する。そうである場合、制御は機能ブロック８１５に戻る。そうでない場合、機能ブロック８５０に制御を渡す。機能ブロック８５０は、観測値に最も近い推測を出力し、終了ブロック８９９に制御を渡す。機能ブロック８２０に関して、機能ブロック８２０は、エンコーダ設定８３５、プレディクタモード８３０、ならびに変換サイズおよびタイプ８４０に基づいて適応型フィルタ処理を実施する。
【００６７】
第２の実施形態では、観測データベクトルに基づいて、「使用された適応型プレフィルタ」を推定し、ポストフィルタ変換に対応する逆マトリックスを計算する。次いで、この逆マトリックスを使用してポストフィルタ処理を実施する。プレフィルタの選択は、入力データ（および場合によっては、例えばプレディクタモードや符号化設定などの他のデータ）に適応的に依存する。したがって、正しいポストフィルタを適用してプレフィルタプロセスを反転するために、選択されたプレフィルタを推論しなければならず、すなわち使用されたプレフィルタの推定を実施しなければならない。適切なポストフィルタを適用するために使用されるプレフィルタを推論または推定するために、デコーダは、フィルタ処理後量子化データが利用可能であり、すなわちデコーダは、上述のデータ（例えば、入力データ、他のデータ（例えば、プレディクタモード、符号化設定など）、およびフィルタ処理後量子化データ）を観測および解析し、使用されたプレフィルタの推定を実施し、次いでポストフィルタに対応する逆行列を計算することができる。
【００６８】
ポストフィルタ処理に対する前述の手法は、ポストフィルタをプレフィルタのほぼ逆にする。
【００６９】
図９を参照すると、前処理フィルタ処理および後処理フィルタ処理でビデオデータを符号化する例示的方法が、全般的に参照番号９００によって示されている。方法９００は、機能ブロック９１０に制御を渡す開始ブロック９０５を含む。機能ブロック９１０はビデオソースデータを入力し、機能ブロック９１５、機能ブロック９６５、および機能ブロック９６０に制御を渡す。機能ブロック９１５はビデオソースデータをプレフィルタ処理し、機能ブロック９２０に制御を渡す。機能ブロック９２０は、ビデオソースデータに関する残差（例えば、ビデオソースデータからの元のピクチャと、予測とも呼ばれる基準ピクチャとの差）を計算し、機能ブロック９２５に制御を渡す。機能ブロック９２５は、残差に対する変換を適用し、それに関する係数を得、機能ブロック９３０および機能ブロック９６５に制御を渡す。機能ブロック９３０は、係数を量子化して量子化係数を得、機能ブロック９３５および機能ブロック９６５に制御を渡す。機能９３５は、量子化係数を逆量子化して逆量子化係数を得、機能ブロック９４０、機能ブロック９７５、および機能ブロック９８０に制御を渡す。機能ブロック９４０は、逆量子化係数に対して逆変換を適用して、再構築残差を得、機能ブロック９４５、機能ブロック９７５、および機能ブロック９８０に制御を渡す。機能ブロック９４５は、予測に再構築残差を追加して、再構築ピクチャを得、機能ブロック９５０、機能ブロック９７５、および機能ブロック９７０に制御を渡す。機能ブロック９５０は、再構築ピクチャに対するポストフィルタ処理を実施して、再構築およびポストフィルタ処理後ピクチャを得、機能ブロック９５５に制御を渡す。機能ブロック９５５は、再構築およびポストフィルタ処理後ピクチャのプレフィルタ処理を実施し、機能ブロック９６０に制御を渡す。機能ブロック９６０はインター予測を実施し、機能ブロック９２０、機能ブロック９４５、機能ブロック９７５、機能ブロック９６５、および機能ブロック９８０に制御を返す。機能ブロック９６５は、プレフィルタ選択を使用するエンコーダ適応を実施し、機能ブロック９１５に制御を返す。機能ブロック９７０はイントラ予測を実施し、機能ブロック９８０、機能ブロック９４５、機能ブロック９７５、機能ブロック９２０、および機能ブロック９６５に制御を返す。機能ブロック９８５はデブロッキングフィルタ処理を実施し、機能ブロック９９０に制御を渡す。機能ブロック９９０は再構築を出力し、終了ブロック９９９に制御を渡す。機能ブロック９７５はデコーダ適応を模倣し、機能ブロック９５０に制御を渡す。機能ブロック９８０はデコーダ適応を模倣し、機能ブロック９５５に制御を渡す。
【００７０】
図１０を参照すると、前処理フィルタ処理および後処理フィルタ処理でビデオデータを復号化する例示的方法が、全般的に参照番号１０００によって示されている。方法１０００は、機能ブロック１０１０に制御を渡す開始ブロック１００５を含む。機能ブロック１０１０はビットストリームを入力し、機能ブロック１０１５に制御を渡す。機能ブロック１０１５は、ビットストリーム中の量子化残差を逆量子化し、それに関する係数を得、機能ブロック１０２０、機能ブロック１０５５、および機能ブロック１０６０に制御を渡す。機能ブロック１０２０は、係数を逆変換して（例えば、ビットストリーム中のピクチャに関する）残差を得、機能ブロック１０２５、機能ブロック１０５５、および機能ブロック１０６０に制御を渡す。機能ブロック１０２５は、予測に残差を追加して、再構築ピクチャを得、機能ブロック１０３０、機能ブロック１０５５、および機能ブロック１０４５に制御を渡す。機能ブロック１０３０は、再構築ピクチャに関してポストフィルタ処理を実施し、再構築およびポストフィルタ処理後ピクチャを得、機能ブロック１０３５、機能ブロック１０６０、および機能ブロック１０５０に制御を渡す。機能ブロック１０３５は、再構築およびポストフィルタ処理後ピクチャのプレフィルタ処理を実施し、機能ブロック１０４０に制御を渡す。機能ブロック１０４０はインター予測を実施し、機能ブロック１０６０、機能ブロック１０５５、および機能ブロック１０２５に制御を返す。機能ブロック１０４５はイントラ予測を実施し、機能ブロック１０２５、機能ブロック１０６０、および機能ブロック１０５５に制御を渡す。機能ブロック１０５０はデブロッキングフィルタ処理を実施し、機能ブロック１０６５に制御を渡す。機能ブロック１０６５は復号化出力を供給し、終了ブロック１０９９に制御を渡す。
【００７１】
別の実施形態では、プレフィルタおよびポストフィルタがリフティング方式を使用して実装される場合、リフティング機構内に適応を組み込むことができる。そのような場合、プレフィルタでの適応をポストフィルタで完全に反転することができる。
【００７２】
図１１を参照すると、リフティング方式を用いた別々のルーマおよびクロマプレフィルタ処理を含む、イメージデータを符号化する例示的方法が、全般的に参照番号１１００によって示されている。方法１１００は、機能ブロック１１０７に制御を渡す開始ブロック１１０５を含む。機能ブロック１１０７はデータ（ソース／再構築データ）を入力し、判定ブロック１１１０に制御を渡す。判定ブロック１１１０は、フィルタ処理すべき現成分がルーマ成分であるか否かを判定する。そうである場合、機能ブロック１１１５に制御を渡す。そうでない場合、機能ブロック１１４０に制御を渡す。機能ブロック１１１５は、リフティング実装を用いたルーマプレフィルタ処理を実施し、機能ブロック１１６５に制御を渡す。機能ブロック１１６５はプレフィルタ処理後データを出力し、終了ブロック１１９９に制御を渡す。機能ブロック１１４０は、リフティング実装を用いたクロマプレフィルタ処理を実施し、機能ブロック１１６５に制御を渡す。機能ブロック１１１５に関して、機能ブロック１１１５は、リフティング実装と、エンコーダ設定１１２０、プレディクタモード１１２５、および変換サイズおよびタイプ１１３０に基づく適応とを用いたルーマプレフィルタ処理を実施する。機能ブロック１１４０に関して、機能ブロック１１４０は、リフティング実装と、エンコーダ設定１１４５、プレディクタモード１１５０、および変換サイズおよびタイプ１１５５に基づく適応とを用いたクロマプレフィルタ処理を実施する。
【００７３】
図１２を参照すると、別々のルーマおびクロマポストフィルタ処理を含む、イメージデータを復号化する例示的方法が、全般的に参照番号１２００によって示されている。方法１２００は、機能ブロック１２０７に制御を渡す開始ブロック１２０５を含む。機能ブロック１２０７は再構築データを入力し、判定ブロック１２１０に制御を渡す。判定ブロック１２１０は、フィルタ処理すべき現成分がルーマ成分であるか否かを判定する。そうである場合、機能ブロック１２１５に制御を渡す。そうでない場合、機能ブロック１２６０に制御を渡す。機能ブロック１２１５は、リフティング実装を用いたルーマポストフィルタ処理を実施し、機能ブロック１２６５に制御を渡す。機能ブロック１２６５はポストフィルタ処理後データを出力し、終了ブロック１２９９に制御を渡す。機能ブロック１２６０は、リフティング実装を用いたクロマポストフィルタ処理を実施し、機能ブロック１２６５に制御を渡す。機能ブロック１２１５に関して、機能ブロック１２１５は、リフティング実装と、エンコーダ設定１２２０、プレディクタモード１２２５、ならびに変換サイズおよびタイプ１２３０に基づく適応とを用いたルーマポストフィルタ処理を実施する。機能ブロック１２６０に関して、機能ブロック１２６０は、リフティング実装と、エンコーダ設定１２４５、プレディクタモード１２５０、ならびに変換サイズおよびタイプ１２５５に基づく適応とを用いたクロマポストフィルタ処理を実施する。
【００７４】
特異値分解を使用して固定プレフィルタ変換行列をまず分解することによってリフティング実装を実施することができる。特異値分解によって３つの行列の積が得られる。第１の行列および第３の行列は直交行列である。周知の通り、あらゆる直交行列は一連のギブンズ平面回転に分解することができる（そのような回転数は行列の次元に関係し、好ましくは「Ｎ個から２個を選ぶ」数学的演算を使用し、すなわちｎが行列の次元である場合、回転数はｎ＊（ｎ−１）／２である）。各平面の回転は、予測−回転−予測のような３つのリフティングステップを使用して実装することができる。特異値分解から得られる第２の行列は対角行列であり、スケーリングに対応する。リフティング実装で使用することのできる新規な適応技法は、対角行列の値を変更することである。値は、そのような値をデコーダで厳密に、またはほぼ反転することができるように変更される。プレフィルタによって実施される個々のリフティングステップを反転することによってポストフィルタリフティング実装が得られる。
【００７５】
図１３を参照すると、リフティング実装で特異値分解（ＳＶＤ）を使用して適応型プレフィルタ処理およびポストフィルタ処理を実施する例示的方法が、全般的に参照番号１３００によって示されている。方法１３００は、機能ブロック１３１０に制御を渡す開始ブロック１３０５を含む。機能ブロック１３１０はベースプレフィルタ変換行列を入力し、機能ブロック１３１５に制御を渡す。機能ブロック１３１５は特異値分解（ＳＶＤ）を実施し、機能ブロック１３２０、機能ブロック１３２５、および機能ブロック１３３０に制御を渡す。機能ブロック１３２０は、第１の直交行列を（機能ブロック１３１５によって実施される）ＳＶＤの第１の出力として受信し、機能ブロック１３３５に制御を渡す。機能ブロック１３２５は、第２の対角行列を（機能ブロック１３１５によって実施される）ＳＶＤの第２の出力として受信し、機能ブロック１３４５に制御を渡す。機能ブロック１３３０は、第３の直交行列を（機能ブロック１３１５によって実施される）ＳＶＤの第３の出力として受信し、機能ブロック１３６５に制御を渡す。機能ブロック１３３５は、第１の直交行列を与えられた平面回転に分解し、機能ブロック１３４０に制御を渡す。機能ブロック１３４０は、各回転を予測−更新−予測リフティングステップとして実装し、機能ブロック１３４５に制御を渡す。機能ブロック１３４５は、対角行列の要素について適応を求め、機能ブロック１３５０に制御を渡す。機能ブロック１３５０は、１３４０のリフティングステップ、１３４５の適応要素を有するスケーリング行列、および１３７０のリフティングステップを連結し、プレフィルタの完全なリフティング実装を得、機能ブロック１３５５に制御を渡す。機能ブロック１３５５は、個々のリフティングステップおよび適応を反転して、ポストフィルタリフティング実装を得、機能ブロック１３６０に制御を渡す。機能ブロック１３６０は、フィルタに関するリフティング実装を格納し、終了ブロック１３９９に制御を渡す。機能ブロック１３６５は、第３の直交行列を与えられた平面回転に分解し、機能ブロック１３７０に制御を渡す。機能ブロック１３７０は、各回転を予測−更新−予測リフティングステップとして実装し、機能ブロック１３４５に制御を渡す。
【００７６】
固定プレフィルタおよびポストフィルタのリフティング実装を求める他の新規な方式は、ＱＲ分解、ＰＬＵＳ分解などの行列分解を含む。ガウスの消去法（行変換のみ）を使用して、プレフィルタ変換行列を恒等行列に還元することができる。各行変換はリフティングステップである。これらのリフティングステップは、連結されたときに、ポストフィルタリフティング実装が得られる。ポストフィルタでのステップを反転することにより、プレフィルタ実装が得られる。
【００７７】
図１４を参照すると、行列分解またはガウスの消去法を使用してフィルタのリフティング実装を導出する例示的方法が、全般的に参照番号１４００によって示されている。方法１４００は、機能ブロック１４１０に制御を渡す開始ブロック１４０５を含む。機能ブロック１４１０はベースプレフィルタ変換行列を入力し、機能ブロック１４１５および機能ブロック１４２５に制御を渡す。機能ブロック１４１５は、（機能ブロック１４１０によって入力されたベースプレフィルタ変換行列の）行列分解からプレフィルタのリフティング実装を得、機能ブロック１４２０に制御を渡す。機能ブロック１４２５は、ガウスの消去法（機能ブロック１４１０によって入力されたベースプレフィルタ変換行列に関する行変換）を使用してポストフィルタのリフティング実装を得、機能ブロック１４３０に制御を渡す。機能ブロック１４２０は、個々のリフティングステップおよび適応を反転し、ポストフィルタリフティング実装を得、機能ブロック１４３５に制御を渡す。機能ブロック１４３０は、個々のリフティングステップおよび適応を反転し、プレフィルタリフティング実装を得、機能ブロック１４３５に制御を渡す。機能ブロック１４３５は、フィルタのリフティング実装を格納し、終了ブロック１４９９に制御を渡す。したがって、方法１４００に関して、次いで１つまたは複数のリフティングステップで適応を（完全に可逆な、またはほぼ可逆な方式で）実施することができる。
【００７８】
入力データから導出されるフィルタ適応は、データ勾配強度および／またはデータ勾配方向および／またはデータ分散などの特性に基づく。この新規な適応は、勾配強度および／または勾配方向および／または勾配分散を互いに素な範囲に区分化し、相異なる範囲について固定フィルタを適用することによって離散的に行うことができる。このことは、ルックアップテーブルに基づく適応と考えることができる。別の実施形態では、この適応は、勾配強度および／または勾配方向および／またはデータ分散の連続関数である。良好な性能をもたらす勾配適応関数の選択は、勾配が増加するときに指数関数的に減少する関数である。勾配は、プレフィルタ処理されているピクセル間の差として計算することができる。勾配のより正確な測定のために、ピクセル差は、プレフィルタ境界を超え、適切に重み付けされるピクセルを含むことができる。勾配を使用してエッジを検出することに関心があるので、勾配の大きさのみを考慮することにより、エッジを検出するより良好な能力を得ることができる。
【００７９】
適応のプロセスは、以下によってさらに向上する。  
−水平方向および垂直方向について異なる適応型プレフィルタおよびポストフィルタを選ぶ。  
−適応型プレフィルタおよびポストフィルタを選択的に適応する。  
・変換ブロック境界のみに対して、
・変換ブロック境界および変換ブロック内に対して、および／または
・プレフィルタおよびポストフィルタをオフにする。
【００８０】
適応型プレフィルタおよびポストフィルタの１つの新規な特徴は、様々な変換（離散コサイン変換（ＤＣＴ）、カルーネンレーベ変換（ＫＬＴ）、モード依存方向性変換（ＭＤＤＴ））および様々な変換サイズと共に働くことができることである。以前の作業では、プレフィルタおよびポストフィルタ組合せが、単一の変換および変換サイズと共に働くように制限された。前述の図４および５は、前述の適応に関する一実施形態を示す。例えば、図４および５を参照すると、エンコーダ設定、予測モード、変換タイプ／サイズ、および入力データを含むいくつかの入力に従って前処理フィルタおよび後処理フィルタがその挙動を適応させることがわかる。
【００８１】
システム拡張
プレフィルタおよびポストフィルタの性能は、いくつかのエンコーダおよびデコーダ機能を修正し、そのような機能をフィルタ処理プロセスと協調して働かせることによって改善することができる。ルーマおよびクロマ成分についての異なるプレフィルタおよびポストフィルタの選択により、２つのチャネルのコーディング効率が変化する。このコーディング効率の変化は、新しいコーディング効率を反映し、より良好なモード決定を行うために、レートひずみオプティマイザを修正する必要があることを示唆する。このコーディング効率の変化を反映する１つの単純な方式は、エンコーダおよび／またはデコーダ内のルーマおよびクロマに関するラグランジアンパラメータを変更することである。コーディング効率を正確に反映する関数にラグランジアンパラメータを変更することにより、全体的な圧縮効率が著しく改善される。
【００８２】
図１５を参照すると、レートひずみオプティマイザをトレーニングする例示的方法が、全般的に参照番号１５００によって示されている。方法１５００は、機能ブロック１５１０に制御を渡す開始ブロック１５０５を含む。機能ブロック１５１０はトレーニングデータを入力し、機能ブロック１５１５に制御を渡す。機能ブロック１５１５は、プレフィルタ／ポストフィルタベースの符号化を実施し、レートひずみオプティマイザを反復的に同調して、（例えば、レートひずみコストに基づいて）最良の性能を得、機能ブロック１５２０に制御を渡す。機能ブロック１５２０は、レートひずみパラメータを保存し、終了ブロック１５９９に制御を渡す。方法１５００はエンコーダ側のみに関するものであり、したがってデコーダに影響を及ぼさないことを理解されたい。
【００８３】
ＭＰＥＧ−４  ＡＶＣ  Ｓｔａｎｄａｒｄビデオエンコーダまたはデコーダで使用されるコーディングモードプレディクタは、過去にコーディングされたブロックに基づいて、現ブロックに関する最も可能性の高いコーディングモードに対する推測を行う。多くの場合、予測の基となるブロックは、現ブロックと空間的または時間的に隣接する。プレディクタが現ブロックに関する最良のコーディングモードに対する正確な推測を行う場合、このモードをコーディングするために最小のビット数が使用される。正確なプレディクタにより、ビットレートを著しく節約することができる。プレフィルタ処理プロセスおよびポストフィルタ処理プロセスは、予測プロセスに影響を及ぼし、予測プロセスの正確さを低下させる。トレーニング用のシーケンスのサブセットを使用して、フィルタ処理下でモードプレディクタをより正確に再設計することができる。
【００８４】
図１６を参照すると、最確モードプレディクタをトレーニングする例示的方法が、全般的に参照番号１６００によって示されている。方法１６００は、機能ブロック１６１０に制御を渡す開始ブロック１６０５を含む。機能ブロック１６１０は、プレフィルタ／ポストフィルタベースの符号化を実施し、現ブロックおよび前のブロックに関して選択された予測モードに関する統計を収集し、機能ブロック１６２０に制御を渡す。機能ブロック１６２０は、収集した統計に基づいて新しい最確モードプレディクタを求め、機能ブロック１６２５に制御を渡す。機能ブロック１６２５は最確モードプレディクタ構成パラメータを格納し、終了ブロック１６９９に制御を渡す。最尤推定器、最大事後推定器、または任意の他の適切な推定器に基づいて、最確モードプレディクタを再設計できることを理解されたい。
【００８５】
ポストフィルタハードウェア実装の促進：
多くの場合、プレフィルタでの適応プロセスは、浮動小数点値、例えばｓによってプレフィルタパラメータをスケーリングするのと同じほど単純である。４×４プレフィルタの一例を以下のように示す。
【００８６】
【数８】
0005964755.tif 000009
【００８７】
適応型プレフィルタを反転する適応型ポストフィルタのハードウェア実装は、その反転論理をこの適応に基づいて変更しなければならない。上記の表現の直接的な「行列反転」によって４×４行列が得られ、スケーリングパラメータｓに基づいて行列のあらゆる項を変更しなければならない。より良い方式は、スケーリングパラメータを可能な限り少ない行列要素に分離することである。この目的で、以下の新規なポストフィルタを提案する。
Ｐ（ｓ）-1＝Ｉ4×4＋Ｑ（ｓ）          （８）
【００８８】
３つの行列への特異値分解を使用して、Ｑ（ｓ＝定数）を分解することができ、定数は通常は１として選ばれる。第１の行列（Ｕi）および第３の行列（Ｖi）は直交行列である。ここで、特異値分解の第２の行列中のスケーリングパラメータの変動がある場合、それを以下のように吸収することができる。
【００８９】
【数９】
0005964755.tif 000010
【００９０】
パラメータｍ22、ｍ23、ｍ32、ｍ33、およびｃ22、ｃ23、ｃ32、ｃ33は、所与のフィルタパラメータのセットｐ00、ｐ01、ｐ10、ｐ11に対して一意に求められる定数である。このポストフィルタのハードウェア実装に対する利点は、変化する部分が４つの要素だけに制限され、要素の残りの部分は定数であることである。
【００９１】
図１７を参照すると、ハードウェアでポストフィルタを効率的に実装する例示的方法が、全般的に参照番号１７００によって示されている。方法１７００は、機能ブロック１７１０に制御を渡す開始ブロック１７０５を含む。機能ブロック１７１０は再構築データを入力し、判定ブロック１７１５に制御を渡す。判定ブロック１７１５は、フィルタ処理すべき現成分がルーマ成分であるか否かを判定する。そうである場合、機能ブロック１７２０、機能ブロック１７２５、および機能ブロック１７４０に制御を渡す。そうでない場合、機能ブロック１７４５、機能ブロック１７５０、および機能ブロック１７６７に制御を渡す。機能ブロック１７２０は、ＳＶＤ（ルーマ）の第３の行列に対応する固定変換を得、機能ブロック１７３０に制御を渡す。機能ブロック１７４５は、ＳＶＤ（クロマ）の第３の行列に対応する固定変換を得、機能ブロック１７５５に制御を渡す。機能ブロック１７３０は、ＳＶＤ（ルーマ）の第２の行列を得、機能ブロック１７３５に制御を渡す。機能ブロック１７３５は、ＳＶＤ（ルーマ）の第１の行列に対応する固定変換を得、機能ブロック１７４０に制御を渡す。機能ブロック１７４０は、ブロック１７３５の変換後データに再構築ルーマデータを加算する加算演算を実施し、機能ブロック１７９７に制御を渡す。機能ブロック１７５５は、ＳＶＤ（クロマ）の第２の行列を得、機能ブロック１７６０に制御を渡す。機能ブロック１７６０は、ＳＶＤ（クロマ）の第１の行列に対応する固定変換を得、機能ブロック１７６７に制御を渡す。機能ブロック１７６７は、ブロック１７６０の変換後データに再構築クロマデータを加算する加算演算を実施し、機能ブロック１７９７に制御を渡す。機能ブロック１７９７は、ポストフィルタ処理後データを出力し、終了ブロック１７９９に制御を渡す。機能ブロック１７２５はルーマ適応パラメータを設定し、機能ブロック１７３０に制御を渡す。機能ブロック１７５０はクロマ適応パラメータを設定し、機能ブロック１７５５に制御を渡す。機能ブロック１７２５に関して、機能ブロック１７２５は、エンコーダ設定１７７０、プレディクタモード１７７５、ならびに変換サイズおよびタイプ１７８０に基づいてルーマ適応パラメータを設定する。機能ブロック１７５０に関して、機能ブロック１７５０は、エンコーダ設定１７８５、プレディクタモード１７９０、ならびに変換サイズおよびタイプ１７９５に基づいてクロマ適応パラメータを設定する。
【００９２】
フィルタ実装を促進するためのソフトウェア手法は、整数実装を使用して適応型フィルタを近似することである。一実施形態では、整数実装下で、プレフィルタ処理およびポストフィルタ処理中に実施されるすべての浮動小数点演算が、整数乗算およびビットシフトに変換される。ビットシフトは、整数除算を２のべき乗による除算に制限する。フィルタパラメータ行列を、整数乗算と、その後に最後に続くビットシフトとに変換することによって式（７）の適合型プレフィルタを実装することができる。次に、得られたデータを元のデータに加算する前に、得られたデータにスケーリングパラメータを乗算することができる。適応型ポストフィルタ式について、整数プレフィルタの反転に近く、同時に元の浮動小数点Ｐ（ｓ）-1に近い整数実装を求める。
【００９３】
図１８を参照すると、元の浮動小数点適応型フィルタの整数実装を求める例示的方法が、全般的に参照番号１８００によって示されている。方法１８００は、機能ブロック１８１０に制御を渡す開始ブロック１８０５を含む。機能ブロック１８１０は浮動小数点適応型フィルタを入力し、機能ブロック１８１５に制御を渡す。機能ブロック１８１５は、浮動変換行列および整数変換行列が可能な限り近くなるように、さらに整数ポストフィルタが整数プレフィルタの反転に可能な限り近くなることを保証するように行列乗算の整数実装を求め、機能ブロック１８２５に制御を渡す。機能ブロック１８２５は、適応型フィルタに関する整数実装を格納し、終了ブロック１８９９に制御を渡す。機能ブロック１８２０は、可能な最大整数精度を設定し、機能ブロック１８１５に制御を渡す。
【００９４】
様々な革新、および新規性のポイント
−元のデータをプレフィルタ処理すること、およびコーディングループ中の結合されるポストフィルタ（およびデコーダ側）
−「結合フィルタ」
○ポストフィルタがプレフィルタの厳密な逆（完全な逆）である
○適応型ポストフィルタが、適応型プレフィルタと「ほぼ逆」である
・「ほぼ逆」：小さい摂動が適応に著しく影響を及ぼさないように適応パラメータが選ばれる
・量子化がなく、適応がある場合、適応はデコーダで利用可能ではない元のデータに基づくので、厳密な逆は達成されない
・ポストフィルタは厳密な逆ではない：観測値とフィルタ処理した元のデータとの違いを最小限に抑える
−２Ｄフィルタの方向が勾配のローカル方向に依存する
−ルーマ成分およびクロマ成分について異なるフィルタを使用する
−１Ｄフィルタを使用する
○垂直方向および水平方向について異なるフィルタを使用する
−結合フィルタの設計での予測効率
−ローカルデータ（エッジ、勾配、および／または分散）に対する結合フィルタの適応
○フィルタの連続的適応
○ローカル統計のサブセットにそれぞれ適用される結合フィルタの離散集合の使用
・ローカル勾配に応じた３つのプレフィルタおよび３つのポストフィルタ
−フィルタ処理機構に適合された最確モードプレディクタ
−フィルタ処理機構（エンコーダのみの最適化）のために使用されるレートひずみ（ＲＤ）
−フィルタを以下のように適応的に適用することができる。変換境界単位のみ、変換境界および変換単位内、および変換単位には全く適用しない。変換単位は、例えばブロックまたはマクロブロックでよい。
○上記の３つのモード間の比較および選択を可能にする方法は以下の通りである。３単位を作成し、ＲＤコスト比較を実施して、現単位に対する最良のコーディングオプションを求める。現単位に対して行われる決定が、将来コーディングすべき単位に影響を及ぼすことを理解されたい。  
−結合フィルタのリフティング方式実装
○ガウスの消去法およびギブンズ回転実装
−適応型プレフィルタおよびポストフィルタ組合せは、様々な変換（ＤＣＴ、ＫＬＴ、ＭＤＤＴ）および様々な変換次元と共に動作する。
【００９５】
次に、その一部を上記で述べた、本発明の多数の付随する利点／特徴のうちの一部の説明を与える。例えば、１つの利点／特徴は、ピクチャに関する入力データを、得られるビットストリームとして符号化するビデオエンコーダを有する装置である。ビデオエンコーダは、プレフィルタと、プレフィルタに結合されたポストフィルタとを含む。プレフィルタは、ピクチャに関する入力データをフィルタ処理し、ポストフィルタは、ピクチャに関するループ内再構築後データをフィルタ処理する。
【００９６】
別の利点／特徴は、上述のビデオエンコーダを有する装置であり、ポストフィルタがプレフィルタの厳密な逆となるようにポストフィルタのフィルタ係数およびフィルタパラメータが選択される。
【００９７】
さらに別の利点／特徴は、上述のビデオエンコーダを有する装置であり、プレフィルタとポストフィルタの少なくとも一方が異なるフィルタを含み、ピクチャのクロマ成分が、ピクチャのルーマ成分とは異なるフィルタのうちの異なるフィルタを使用してフィルタ処理される。
【００９８】
さらに別の利点／特徴は、上述のビデオエンコーダを有する装置であり、プレフィルタとポストフィルタの少なくとも一方に関するフィルタ係数およびフィルタパラメータのうちの少なくとも１つが、解像度、量子化レベル、ローカル勾配、予測モード、および勾配方向のうちの少なくとも１つに応答して選択される。
【００９９】
さらに別の利点／特徴は、上述のビデオエンコーダを有する装置であり、再構築後データをフィルタ処理するためにポストフィルタによって使用されるポストフィルタ変換行列が、２つの被加数に分解され、２つの被加数の一方が恒等行列であり、２つの被加数の他方が第１の行列、第２の行列、および第３の行列の乗算を表す行列であり、第１の行列および第３の行列が固定であり、第２の行列が、プレフィルタの適応を反転するために可変である。
【０１００】
さらに、別の利点／特徴は、上述のビデオエンコーダを有する装置であり、ポストフィルタがプレフィルタのほぼ逆となるようにポストフィルタのフィルタ係数およびフィルタパラメータが選択される。
【０１０１】
さらに、別の利点／特徴は、ビデオエンコーダを有する装置であり、上述のようにポストフィルタがプレフィルタのほぼ逆となるようにポストフィルタのフィルタ係数およびフィルタパラメータが選択され、ポストフィルタが、観測値とプレフィルタ処理後推定との間の差を最小限に抑えることにより、プレフィルタに供給される入力データと同じ出力データをポストフィルタから実質的に供給するように構成され、観測値は、ポストフィルタに供給される入力データに関するものであり、プレフィルタ処理後推定は、プレフィルタによるフィルタ処理の前のピクチャに関する入力データの推定に関するものである。
【０１０２】
さらに、別の利点／特徴は、上述のビデオエンコーダを有する装置であり、プレフィルタおよびポストフィルタが、プレフィルタとポストフィルタとの厳密な可逆性に関する距離を最小限に抑えるように求められる整数実装である。
【０１０３】
さらに、別の利点／特徴は、上述のビデオエンコーダを有する装置であり、プレフィルタおよびポストフィルタのフィルタサイズが、残差データに適用される変換と同じサイズであり、残差データは、ピクチャに関する入力データと、少なくとも１つの基準ピクチャに関する基準データとの間の差を表す。
【０１０４】
さらに、別の利点／特徴は、ビデオエンコーダを有する装置であり、プレフィルタおよびポストフィルタのフィルタサイズが、残差データに適用される変換と同じサイズであり、残差データが、上述のように、ピクチャに関する入力データと、少なくとも１つ基準ピクチャに関する基準データとの間の差を表し、プレフィルタおよびポストフィルタが複数のフィルタを含み、複数のフィルタのうちの少なくとも１つが、残差データに適用される変換のすべての変換サイズに適用される。
【０１０５】
さらに、別の利点／特徴は、上述のビデオエンコーダを有する装置であり、プレフィルタとポストフィルタの少なくとも一方のフィルタサイズが、入力データに適用される変換のサイズとは異なる。
【０１０６】
さらに、別の利点／特徴は、上述のビデオエンコーダを有する装置であり、プレフィルタおよびポストフィルタが、入力データの一部のみに適用される。
【０１０７】
さらに、別の利点／特徴は、ビデオエンコーダを有する装置であり、プレフィルタおよびポストフィルタが、上述のように入力データの一部のみに適用され、入力データのその部分が、ブロック境界およびブロック内の少なくとも一方から選択される。
【０１０８】
本明細書の教示に基づいて、当業者は本原理のこれらおよび他の特徴および利点を容易に確認することができる。ハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、またはそれらの組合せの様々な形態で本原理の教示を実装できることを理解されたい。
【０１０９】
最も好ましくは、本原理の教示は、ハードウェアとソフトウェアの組合せとして実装される。さらに、ソフトウェアをプログラム記憶ユニット上に有形に実施されたアプリケーションプログラムとして実装することができる。アプリケーションプログラムは、任意の適切なアーキテクチャを備えるマシンにアップロードし、実行することができる。
【０１１０】
好ましくは、マシンは、１つまたは複数の中央演算処理装置（「ＣＰＵ」）、ランダムアクセスメモリ（「ＲＡＭ」）、入出力（「Ｉ／Ｏ」）インターフェースなどのハードウェアを有するコンピュータプラットフォーム上に実装される。コンピュータプラットフォームはまた、オペレーティングシステムおよびマイクロ命令コードをも含むことができる。本明細書に記載の様々なプロセスおよび機能は、ＣＰＵによって実行することのできる、マイクロ命令コードの一部、もしくはアプリケーションプログラムの一部、またはそれらの任意の組合せでよい。さらに、追加のデータ記憶ユニットやプリンティングユニットなどの様々な他の周辺ユニットをコンピュータプラットフォームに接続することができる。
【０１１１】
添付の図面に示す構成システム構成要素および方法の一部が好ましくはソフトウェアで実装されるので、システム構成要素またはプロセス機能ブロック間の実際の接続は、本原理がプログラムされる方式に応じて異なることがあることをさらに理解されたい。本明細書の教示が与えられると、本原理のこれらおよび類似の実装または構成を当業者は企図することができることになる。
【０１１２】
添付の図面を参照しながら本明細書で例示的実施形態を説明したが、本原理がこうした厳密な実施形態に限定されず、本原理の範囲または趣旨から逸脱することなく、当業者は実施形態の中で様々な変更および修正を実施できることを理解されたい。すべてのそのような変更および修正は、添付の特許請求の範囲に記載の本原理の範囲内に包含されるものとする。
［付記１］
ピクチャに関する入力データを、結果として得られるビットストリームに符号化するビデオエンコーダ（２００）を備える装置であって、
前記ビデオエンコーダ（２００）は、プレフィルタ（２０５、２７５）と、前記プレフィルタ（２０５、２７５）に結合されたポストフィルタ（２４５）とを備え、前記プレフィルタ（２０５、２７５）は、前記ピクチャに関する前記入力データをフィルタ処理し、前記ポストフィルタ（２４５）は、前記ピクチャに関するループ内再構築後データをフィルタ処理する、前記装置。
［付記２］
ビデオエンコーダにおいて、
ピクチャに関する入力データを、結果として得られるビットストリームに符号化するステップであって、前記ビデオエンコーダが、プレフィルタと、前記プレフィルタに結合されたポストフィルタとを備え、前記プレフィルタが、前記ピクチャに関する前記入力データをフィルタ処理し、前記ポストフィルタが、前記ピクチャに関するループ内再構築後データをフィルタ処理する（９００、９１５、９５０）、前記符号化するステップを備える方法。
［付記３］
前記ポストフィルタが前記プレフィルタの厳密な逆となるように前記ポストフィルタのフィルタ係数およびフィルタパラメータが選択される（９００、９１５、９５０）、付記２に記載の方法。
［付記４］
前記プレフィルタと前記ポストフィルタの少なくとも一方が異なるフィルタを含み、前記ピクチャのクロマ成分が、前記ピクチャのルーマ成分とは異なるフィルタのうちの異なるフィルタを使用してフィルタ処理される（４１５、４３５、４４０、４６０）、付記２に記載の方法。
［付記５］
前記プレフィルタと前記ポストフィルタの少なくとも一方に関するフィルタ係数およびフィルタパラメータのうちの少なくとも１つが、解像度、量子化レベル、ローカル勾配、予測モード、および勾配方向のうちの少なくとも１つに応答して選択される（４１５、４２０、４２５、４３０、４３５）、付記２に記載の方法。
［付記６］
再構築後データをフィルタ処理するために前記ポストフィルタによって使用されるポストフィルタ変換行列が、２つの被加数に分解され、前記２つの被加数の一方が恒等行列であり、前記２つの被加数の他方が第１の行列、第２の行列、および第３の行列の乗算を表す行列であり、前記第１の行列および前記第３の行列が固定であり、前記第２の行列が、前記プレフィルタの適応を反転するために可変である（１７２０、１７２５、１７３０、１７３５、１７４０）、付記２に記載の方法。
［付記７］
前記ポストフィルタが前記プレフィルタのほぼ逆となるように前記ポストフィルタのフィルタ係数およびフィルタパラメータが選択される（８１５、８２０、８２５）、付記２に記載の方法。
［付記８］
前記ポストフィルタが、観測値とプレフィルタ処理後推定との間の差を最小にすることにより、前記プレフィルタに供給される入力データと同じ出力データを前記ポストフィルタから実質的に供給するように構成され、前記観測値が、前記ポストフィルタに供給される入力データに関するものであり、前記プレフィルタ処理後推定が、前記プレフィルタによるフィルタ処理の前の前記ピクチャに関する前記入力データの推定に関するものである（８１５、８２０、８２５）、付記７に記載の方法。
［付記９］
前記プレフィルタおよび前記ポストフィルタが、前記プレフィルタと前記ポストフィルタとの間の厳密な可逆性に関する距離を最小にするように決定される整数実装である（１８１０、１８１５、１８２０、１８２５）、付記２に記載の方法。
［付記１０］
前記プレフィルタおよび前記ポストフィルタのフィルタサイズが、残差データに適用される変換と同じサイズであり、前記残差データが、前記ピクチャに関する前記入力データと、少なくとも１つの基準ピクチャに関する基準データとの間の差を表す（４１５、４３０、４３５）、付記２に記載の方法。
［付記１１］
前記プレフィルタおよび前記ポストフィルタが複数のフィルタを含み、前記複数のフィルタのうちの少なくとも１つが、前記残差データに適用される変換のすべての変換サイズに適用される（４１５、４３０、４３５）、付記１０に記載の方法。
［付記１２］
前記プレフィルタと前記ポストフィルタの少なくとも一方のフィルタサイズが、前記入力データに適用される変換のサイズとは異なる（４１５、４３０、４３５）、付記２に記載の方法。
［付記１３］
前記プレフィルタおよび前記ポストフィルタが、前記入力データの一部のみに適用される（９１５、９６５）、付記２に記載の方法。
［付記１４］
前記入力データの前記部分が、ブロック境界およびブロック内の少なくとも一方から選択される（９１５、９６５）、付記１３に記載の方法。
［付記１５］
ピクチャに関する残差イメージデータを復号化するビデオデコーダ（３００）であって、前記ビデオデコーダ（３００）が、プレフィルタ（３５５）と、前記プレフィルタ（３３５）に結合されたポストフィルタ（３３０）とを備え、前記プレフィルタ（３５５）が、前記残差イメージデータを復号化する際に使用される基準ピクチャをフィルタ処理し、前記ポストフィルタ（３３０）が、前記ピクチャに関するループ内再構築後データをフィルタ処理する、前記ビデオデコータを備える装置。
［付記１６］
ビデオデコーダにおいて、
ピクチャに関する残差イメージデータ復号化するステップであって、前記ビデオデコーダが、プレフィルタと、前記プレフィルタに結合されたポストフィルタとを備え、前記プレフィルタが、前記残差イメージデータを復号化する際に使用される基準ピクチャをフィルタ処理し、前記ポストフィルタが、前記ピクチャに関するループ内再構築後データをフィルタ処理する（１０３０、１０３５、１０５５、１０６０）、前記復号化するステップを備える方法。
［付記１７］
前記ポストフィルタが前記プレフィルタの厳密な逆となるように前記ポストフィルタのフィルタ係数およびフィルタパラメータが選択される（１０３０、１０３５、１０５５、１０６０）、付記１６に記載の方法。
［付記１８］
前記プレフィルタと前記ポストフィルタの少なくとも一方が異なるフィルタを含み、前記ピクチャのクロマ成分が、前記ピクチャのルーマ成分とは異なるフィルタのうちの異なるフィルタを使用してフィルタ処理される（５１５、５３５、５４０、５６０）、付記１６に記載の方法。
［付記１９］
前記プレフィルタと前記ポストフィルタの少なくとも一方に関するフィルタ係数およびフィルタパラメータのうちの少なくとも１つが、解像度、量子化レベル、ローカル勾配、予測モード、および勾配方向のうちの少なくとも１つに応答して選択される（５１５、５２０、５２５、５３０、５３５）、付記１６に記載の方法。
［付記２０］
前記再構築後データをフィルタ処理するために前記ポストフィルタによって使用されるポストフィルタ変換行列が、２つの被加数に分解され、前記２つの被加数の一方が恒等行列であり、前記２つの被加数の他方が第１の行列、第２の行列、および第３の行列の乗算を表す行列であり、前記第１の行列および前記第３の行列が固定であり、前記第２の行列が、前記プレフィルタの適応を反転するために可変である（１７２０、１７２５、１７３０、１７３５、１７４０）、付記１６に記載の方法。
［付記２１］
前記ポストフィルタが前記プレフィルタのほぼ逆となるように前記ポストフィルタのフィルタ係数およびフィルタパラメータが選択される（８１５、８２０、８２５）、付記１６に記載の方法。
［付記２２］
前記ポストフィルタが、観測値とプレフィルタ処理後推定との間の差を最小にすることにより、前記プレフィルタに供給される入力データと同じ出力データを前記ポストフィルタから実質的に供給するように構成され、前記観測値が、前記ポストフィルタに供給される入力データに関するものであり、前記プレフィルタ処理後推定が、前記プレフィルタによるフィルタ処理の前の前記ピクチャに関する前記入力データの推定に関するものである（８１５、８２０、８２５、８４５）、付記２１に記載の方法。
［付記２３］
前記プレフィルタおよび前記ポストフィルタが、前記プレフィルタと前記ポストフィルタとの間の厳密な可逆性に関する距離を最小にするように決定される整数実装である（１８１５、１８２０、１８２５）、付記１６に記載の方法。
［付記２４］
前記プレフィルタおよび前記ポストフィルタのフィルタサイズが、残差データに適用される変換と同じサイズであり、前記残差データが、前記ピクチャに関する前記入力データと、少なくとも１つの基準ピクチャに関する基準データとの間の差を表す（５１５、５３０、５３５）、付記１６に記載の方法。
［付記２５］
前記プレフィルタおよび前記ポストフィルタが複数のフィルタを含み、前記複数のフィルタのうちの少なくとも１つが、前記残差データに適用される変換のすべての変換サイズに適用される（５１５、５３０、５３５）、付記２４に記載の方法。
［付記２６］
前記プレフィルタと前記ポストフィルタの少なくとも一方のフィルタサイズが、前記入力データに適用される変換のサイズとは異なる（５１５、５３０、５３５）、付記１６に記載の方法。
［付記２７］
前記プレフィルタおよび前記ポストフィルタが、前記入力データの一部のみに適用される（１０３０、１０３５、１０５５、１０６０）、付記１６に記載の方法。
［付記２８］
前記入力データの前記部分が、ブロック境界およびブロック内の少なくとも一方から選択される、付記２７に記載の方法。
［付記２９］
符号化されたビデオ信号データを有する非一時的コンピュータ可読記憶媒体であって、
符号化されたピクチャに関する入力データであって、前記ピクチャに関する前記入力データが、符号化されたとき、プレフィルタを使用してプレフィルタ処理されたものであり、前記ピクチャに関するループ内再構築後データが、符号化されたとき、前記プレフィルタに直接結合されたポストフィルタを使用してポストフィルタ処理されたものである、前記入力データ
を備える、前記非一時的コンピュータ可読記憶媒体。
【図１】
0005964755.tif 000011
【図２】
0005964755.tif 000012
【図３】
0005964755.tif 000013
【図４】
0005964755.tif 000014
【図５】
0005964755.tif 000015
【図６Ａ】
0005964755.tif 000016
【図６Ｂ】
0005964755.tif 000017
【図６Ｃ】
0005964755.tif 000018
【図６Ｄ】
0005964755.tif 000019
【図７】
0005964755.tif 000020
【図８】
0005964755.tif 000021
【図９】
0005964755.tif 000022
【図１０】
0005964755.tif 000023
【図１１】
0005964755.tif 000024
【図１２】
0005964755.tif 000025
【図１３】
0005964755.tif 000026
【図１４】
0005964755.tif 000027
【図１５】
0005964755.tif 000028
【図１６】
0005964755.tif 000029
【図１７】
0005964755.tif 000030
【図１８】
0005964755.tif 000031