(57)【要約】      （修正有）【課題】単位領域ごとに定められたフィルタ係数を用いつつ、単位領域内で画像の特性が一様でない場合でも、より適切なフィルタリングを行うことができる画像フィルタを実現する複合装置を提供する。【解決手段】入力画像におけるフィルタ領域に属する各画素の画素値とフィルタ係数ベクトルＶとから、出力画像における対象画素の画素値を算出する適応フィルタ１００は、入力画像における対象領域の位置、及び、出力画像における対象画素の位置の少なくとも何れかに応じてフィルタ係数ベクトルＶを変更する制御変数決定部１２０を備えている。【選択図】図１
2014209760.tif 000002
【特許請求の範囲】
【請求項１】
動画像を復号する復号装置であって、
符号化された上記動画像を可変長復号し、量子化予測残差データ及びフィルタ係数情報を出力する可変長符号復号部と、
バッファメモリに格納された画像に基づいて予測画像を生成する予測画像生成部と、
上記量子化予測残差データに対して逆量子化及び逆変換を行い、予測残差を出力する逆量子化・逆変換部と、
上記予測画像及び上記予測残差を加算し、復号画像を出力する加算器と、
上記復号画像に対してデブロッキング処理を施しデブロック画像を出力するデブロッキングフィルタと、
上記デブロック画像に対して上記フィルタ係数情報を用いてフィルタリングを行う適応フィルタと、を備え、
上記適応フィルタは、上記デブロック画像のフィルタ対象領域の輝度に基づいて制御変数の値を少なくとも０，１又は２に定め、上記フィルタ係数情報から上記制御変数に対応するフィルタ係数を求め上記フィルタ対象領域の画素値に加算することを特徴とする復号装置。
【請求項２】
上記フィルタ対象領域は、単一の画素であることを特徴とする請求項１に記載の復号装置。
【請求項３】
上記適応フィルタは、上記デブロック画像に対してフィルタリングを施すことによって生成した出力画像を上記バッファメモリに格納することを特徴とする請求項１に記載の復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像のフィルタリングを行う画像フィルタに関する。また、そのような画像フィルタを備えている符号化装置、および、復号装置に関する。また、そのような符号化装置によって生成され、復号装置によって参照される符号化データのデータ構造に関する。
【背景技術】
【０００２】
動画像を効率的に伝送または記録するために、動画像符号化装置が用いられている。具体的な動画像符号化方式としては、例えば、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ、および、ＫＴＡソフトウェアに採用されている方式などが挙げられる。
【０００３】
このような符号化方式において、動画像を構成する画像（ピクチャ）は、画像を分割することにより得られるスライス、スライスを分割することにより得られるマクロブロック、及び、マクロブロックを分割することより得られるブロックからなる階層構造により管理され、普通、ブロックごとに符号化される。
【０００４】
非特許文献１には、復号画像に対しフィルタリングを行うＡＬＦ（Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ）と呼ばれるフィルタが開示されている。当該ＡＬＦは、復号画像上のスライスを単位領域とし、単位領域ごとに、ＡＬＦが適用された復号画像と原画像との誤差が最小となるフィルタ係数を定め、当該単位領域に対して、当該フィルタ係数に基づいたフィルタリングを施すものである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ＩＴＵ−Ｔ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｓｅｃｔｏｒ  ＶＣＥＧ−ＡＩ１８、２００８（２００８年７月公開）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記ＡＬＦにおいては、各単位領域上で一定のフィルタ係数を用いてフィルタリングを行うため、単位領域上で画像の特性が一様でない場合には、適切なフィルタリングを行うことが困難であるという問題を有している。
【０００７】
本発明は、上記の問題に鑑みてなされたものであり、その目的は、単位領域ごとに定められたフィルタ係数を用いつつ、単位領域内で画像の特性が一様でない場合でも、より適切なフィルタリングを行うことができる画像フィルタを実現することにある。
【課題を解決するための手段】
【０００８】
上記の問題を解決するために、本発明に係る復号装置は、動画像を復号する復号装置であって、符号化された上記動画像を可変長復号し、量子化予測残差データ及びフィルタ係数情報を出力する可変長符号復号部と、バッファメモリに格納された画像に基づいて予測画像を生成する予測画像生成部と、上記量子化予測残差データに対して逆量子化及び逆変換を行い、予測残差を出力する逆量子化・逆変換部と、上記予測画像及び上記予測残差を加算し、復号画像を出力する加算器と、上記復号画像に対してデブロッキング処理を施しデブロック画像を出力するデブロッキングフィルタと、上記デブロック画像に対して上記フィルタ係数情報を用いてフィルタリングを行う適応フィルタと、を備え、上記適応フィルタは、上記デブロック画像のフィルタ対象領域の輝度に基づいて制御変数の値を少なくとも０，１又は２に定め、上記フィルタ係数情報から上記制御変数に対応するフィルタ係数を求め上記フィルタ対象領域の画素値に加算することを特徴としている。
【０００９】
上記の構成によれば、上記入力画像における上記フィルタ対象領域の輝度に応じて制御変数を定め、該制御変数に対応するフィルタ係数を求める適応フィルタを備えているため、上記フィルタ対象領域の輝度に応じて、上記フィルタ対象領域ごとに適切なフィルタリングを行うことができるという効果を奏する。
【発明の効果】
【００１０】
以上のように、本発明に係る復号装置は、フィルタ対象領域の輝度に応じて、上記フィルタ対象領域ごとに適切なフィルタリングを行うことができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係る適応フィルタの構成を示すブロック図である。
【図２】実施形態に係る適応フィルタの効果を説明するためのものであって、複数の対象領域を含む単位領域を示す図である。
【図３】実施形態に係る適応フィルタにおけるフィルタ係数算出処理の流れの一例を示すフローチャートである。
【図４】実施形態に係る適応フィルタにおけるフィルタ係数算出処理の流れの他の例を示すフローチャートである。
【図５】実施形態に係る適応フィルタを備えた動画像符号化装置の構成を示すブロック図である。
【図６】実施形態に係る適応フィルタが出力するフィルタ係数情報の構成を示す図である。（ａ）はフィルタ係数情報の第１の例を示すものであり、（ｂ）は、フィルタ係数情報の第２の例を示すものであり、（ｃ）は、フィルタ係数情報の第３の例を示すものである。
【図７】実施形態に係る動画像符号化装置の備えるインター予測画像生成部であって、実施形態に係る適応フィルタを備えたインター予測画像生成部の構成を示すブロック図である。
【図８】実施形態に係る適応フィルタを備えた動画像復号装置の構成を示すブロック図である。
【図９】実施形態に係る動画像復号装置の備えるインター予測画像生成部であって、実施形態に係る適応フィルタを備えたインター予測画像生成部の構成を示すブロック図である。
【図１０】実施形態に係る動画像符号化装置によって生成され、実施形態に係る動画像復号装置に入力される符号化データのビットストリームを示す図である。
【図１１】実施形態に係る動画像符号化装置によって生成され、実施形態に係る動画像復号装置に入力される符号化データに含まれるフィルタ係数情報の構成をより具体的に示す図である。
【発明を実施するための形態】
【００１２】
実施形態に係る適応フィルタ１００の構成について、図１を参照して説明する。
【００１３】
図１は、適応フィルタ１００の構成を示すブロック図である。図１に示すように、適応フィルタ１００は、フィルタ部１１０、および、制御変数決定部１２０を備えている。
【００１４】
適応フィルタ１００は、画像データのフィルタリングに用いることができる画像フィルタである。適応フィルタ１００は、画像データの示す画像上の単位領域であってフィルタリングの対象である単位領域にフィルタリングを行う際に、当該単位領域を分割して得られる領域（フィルタ対象領域Ｔ）ごとに適応的にフィルタリングを行うことができる。
【００１５】
適応フィルタ１００は、例えば、動画像データを符号化する動画像符号化装置、または、符号化された動画像データを復号する動画像復号装置などに好適に用いることができる。
【００１６】
適応フィルタ１００は、入力される画像データ＃１００の各画素値について、一定の領域に含まれる画素値の、フィルタ係数に基づいた加重線形和をとることによって、出力画像データ＃１１０ａを生成し、出力する。
【００１７】
また、適応フィルタ１００には、教師データ＃２００が入力される。ここで、教師データ＃２００とは、後述するように、上記フィルタ係数を決定する際に参照される教師画像を示す画像データのことである。教師データ＃２００の具体的な例としては、例えば、適応フィルタ１００を備える画像符号化装置に入力される入力画像データが挙げられる。
【００１８】
また、適応フィルタ１００は、出力画像データ＃１１０ａと共に、フィルタリングに用いたフィルタ係数についての情報であるフィルタ係数情報＃１１０ｂを出力する。
【００１９】
適応フィルタ１００は、画像データ＃１００、および、画像データ＃１００のサイド情報＃１００ａに基づき、上記一定の領域ごとに上記フィルタ係数を変更しながら上記加重線形和をとる。
【００２０】
なお、画像データ＃１００のサイド情報＃１００ａとは、画像データ＃１００を生成するために必要な符号化データから得られる情報を指す。すなわち、予測残差の生成に必要な変換係数、周波数変換のサイズ、量子化パラメータの情報、予測画像を生成するために必要な、予測モード、動き補償のサイズ、動きベクトル、参照フレームなどを指す情報、重み付け予測の重み情報、ブロック及びブロック境界の位置に関する情報などを全て含む。
【００２１】
なお、フィルタ係数情報＃１１０ｂとは、フィルタ係数とフィルタ係数の生成に必要な情報とを含む情報である。具体例については後述する。
【００２２】
なお、ここではフィルタ対象領域ＴをＭＴ×ＮＴの矩形とするが、フィルタ対象領域Ｔは、単一の画素から構成されるものであってもよいし、ブロックでもマクロブロックでも構わない。またフィルタ対象領域Ｔの形状は、矩形に限らず、ひし形、円形、垂直／水平線分、斜め線分又はその他任意の形状であってもよい。また、フィルタ対象領域Ｔの大きさは、単位領域内で固定とする必要はなく可変でも良い。例えば、変換や動き補償に可変ブロックサイズを採用した場合には、その可変ブロックを領域Ｔとするのが適当である。
【００２３】
以下では、適応フィルタ１００の各部について説明する。
【００２４】
制御変数決定部１２０は、画像データ＃１００、および、画像データ＃１００のサイド情報＃１００ａを受け、制御変数＃１２０ａ、および、制御基底＃１２０ｂをフィルタ部１１０に供給する。
【００２５】
フィルタ部１１０は、画像データ＃１００の各画素値について、一定の領域に含まれる画素値の、フィルタ係数に基づいた加重線形和及びオフセット値の加算などをとることによって、出力画像データ＃１１０ａを算出する。
【００２６】
より具体的には、フィルタ部１１０は、出力画像データ＃１１０ａの座標（ｘ’、ｙ’）における画素値ＳO（ｘ’、ｙ’）を式（１）によって表される加重線形和によって算出する。
【００２７】
【数１】
2014209760.tif 000003
【００２８】
ここで、ＳI（ｘ、ｙ）は、画像データ＃１００の座標（ｘ、ｙ）における画素値を表しており、ｈ（ｉ、ｊ）は、画素値ＳI（ｘ＋ｉ、ｙ＋ｊ）に乗ぜられるフィルタ係数を表している。また、Ｒは、上記加重線形和の対象となる画素によって構成される領域（以下、フィルタ参照領域と呼ぶ）を表している。より具体的には、Ｒは、上記加重線形和の対象となる画素の相対座標のセットを表している。例えば、座標（ｘ、ｙ）における画素を中心とした３×３タップのフィルタリングを行う場合には、Ｒ＝｛（−１、−１）、（−１、０）、（−１、１）、（０、−１）、（０、０）、（０、１）、（１、−１）、（１、０）、（１、１）｝である。また、ｈoffsetは、画素値に加算するオフセット値を表している。なお、座標（ｘ’、ｙ’）と座標（ｘ、ｙ）とは同一の座標であってもよいし、１対１の対応を有していれば、異なった座標であってもよい。また、座標（ｘ’、ｙ’）と座標（ｘ、ｙ）との具体的な対応関係は、本発明を限定するものではなく、適応フィルタ１００が実装される画像処理装置の具体的な構成により定められる。
【００２９】
一般に、Ｍ×Ｎタップのフィルタリングは、フィルタ係数ｈ（ｉ、ｊ）を各成分に持つＭ×Ｎ行列であるフィルタ係数行列Ｈと、上記オフセットｈoffsetによって特徴付けることができる。
【００３０】
なお、以下では、フィルタ参照領域が、Ｍ×Ｎタップの矩形状の領域である場合を例に挙げて説明を行うが、本発明はこれに限定されるものではなく、ひし形、円形、垂直／水平線分、斜め線分又はその他任意の形状を有するフィルタ参照領域Ｒに対しても適用することができる。
【００３１】
以下では、上記フィルタ係数行列Ｈの各成分と上記オフセットｈoffsetをＭ×Ｎ＋１次元のベクトルにマップしたベクトル記法を用いて上記フィルタ係数、および、上記オフセットを表現することにする。
【００３２】
具体的には、以下の式（２）
【００３３】
【数２】
2014209760.tif 000004
【００３４】
によって表されるフィルタ係数行列Ｈ、および、オフセットｈoffsetを、以下の式（３）によって定義されるＭ×Ｎ＋１次元のフィルタ係数ベクトルＶにマップする。
【００３５】
【数３】
2014209760.tif 000005
【００３６】
式（３）に示すように、フィルタ係数ベクトルＶの１からＭ×Ｎ番目の成分は、フィルタ係数ｈ（ｉ、ｊ）を表しており、フィルタ係数ベクトルＶの最後の成分（以下オフセット成分と呼ぶ）は、オフセットｈoffsetを表している。
【００３７】
このような記法を用いることによって、フィルタ係数ｈ（ｉ、ｊ）、および、オフセットｈoffsetを統一的に表すことができる。
【００３８】
また、フィルタ係数ベクトルＶの各成分を、１次元的な添え字Ｋを用いて、ｖ（Ｋ）と表すことにする。たとえば、上記の例では、ｖ（１）＝ｈ（１，１）、ｖ（２）＝ｈ（１，２）、…、ｖ（Ｍ×Ｎ）＝ｖ（Ｍ、Ｎ）、および、ｖ（Ｍ×Ｎ＋１）＝ｈoffsetである。
【００３９】
なお、一般にＭ×Ｎタップに対する、１次元添え字Ｋと、２次元添え字（ｉ，ｊ）との関係は、ｉ＝Ｋ％Ｍ＋１、ｊ＝Ｋ／Ｍ＋１のように表すことにもできる。ここで、％は剰余を表している。すなわちｘ％ｙはｘをｙで割った余りを表している。また、ｘ／ｙは、ｘをｙで割った商に対して、小数点以下を切り捨てる操作（すなわちＦｌｏｏｒ関数を演算する操作）を行った結果を表している。
【００４０】
以上の記法を用いると、式（１）は、以下の式（４）によって表すことができる。
【００４１】
【数４】
2014209760.tif 000006
【００４２】
ここで、ＳO（Ｘ’）、および、ＳI（Ｘ＋Ｋ）は、それぞれ、ＳO（ｘ’、ｙ’）、および、ＳI（ｘ＋ｉ、ｙ＋ｊ）に対応した、上記と同様の１次元記法である。また、ＳI（Ｘ＋Ｋ）のオフセット成分を１と定義する。すなわち、Ｍ×Ｎタップのフィルタリングに対しては、Ｋ＝Ｍ×Ｎ＋１のときＳI（Ｘ＋Ｋ）＝１であると定義する。また、Ｋに関する和は、上記領域Ｒに加えて、オフセット成分も足し上げるものとする。換言すれば、上記領域Ｒ’に関する和は、１次元記法によって表された上記フィルタ参照領域Ｒに関する和に加えて、オフセット成分に関する和も含むものとする。
【００４３】
なお、フィルタ係数ベクトルＶの１からＭ×Ｎ番目の成分は、全て互いに独立であってもよいし、そうでなくてもよい。例えば、フィルタ係数ベクトルＶを、左右対称、上下対称、点対称に制限することが従来行われている。例えば、３×１タップ（オフセットを含めて４タップ）で左右対称の場合には、フィルタ係数ベクトルＶは、以下のように表現することができる。
【００４４】
【数５】
2014209760.tif 000007
【００４５】
ここで、ｗ１、ｗ２、ｗ３はフィルタ係数ベクトルＷの要素である。この例では、４次のフィルタ係数ベクトルＶは、３次のフィルタ係数ベクトルＷで表現されており、自由度が１つ減少する。この時、ｗ１、ｗ２、ｗ３にかかるベクトルを基底と呼ぶ。基底が単位基底の場合にはＷ＝Ｖとなる。
【００４６】
自由度が減少する分、フィルタの表現能力は低下するが、フィルタを表現するためのパラメータ（以下、フィルタパラメータと呼ぶ。ここではフィルタ係数ベクトルＷの各成分）の数が減少する。これにより符号量を低減させることができ、従来、点対称などがよく利用される。
【００４７】
ここで、フィルタパラメータからフィルタ係数ベクトルＶを求める関数を、フィルタ算出関数Ｆと呼ぶことにする。式（５）はフィルタ算出関数Ｆの一例である。なお、基底は、上記のような対称基底に限ることなく別の基底でも構わない。
【００４８】
また、上記の説明では、フィルタ係数ベクトルＶ（またはフィルタ係数行列Ｈ）に基づく、加重線形和を例に挙げて説明を行ったが、本発明はこれに限定されるものではない。すなわち、本発明に係る適応フィルタ１００におけるフィルタリングは、加重線形和に限定されるものではなく、フィルタ係数ベクトルＶの各成分を用いた加重非線形和であってもよい。
【００４９】
本実施形態に係る適応フィルタ１００は、フィルタ係数ベクトルＶを、サイド情報＃１００ａ、画像データ＃１００に含まれる各画素値、画像データ＃１００に含まれる各画素の位置、または、それらの関数に応じて、切り替えることができる。
【００５０】
＜適応フィルタ１００によるフィルタリング処理の例＞
（スキップモードであるか否かに応じてフィルタ係数の切り替えを行う例）
以下では、上述した記法を用いて、適応フィルタ１００によるフィルタ係数ベクトルの算出、および、切り替え方法の例について説明する。特に、適応フィルタ１００が、画像データ＃１００の座標（ｘ、ｙ）における画素が、Ｈ．２４６／ＡＶＣ規格におけるスキップモードが適用されたマクロブロックに属しているか否かに応じて、フィルタ係数ベクトルを切り替える場合を例に挙げ説明する。
【００５１】
（ステップＳ１）
まず、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が、スキップモードが適用されたマクロブロックに属しているか否かに応じて０または１をとる制御変数ｖ＿ｓｋｉｐの値を１に設定し、当該制御変数ｖ＿ｓｋｉｐをフィルタ部１１０に対して出力する。
【００５２】
また、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が、スキップモードが適用されたマクロブロックに属しているか否かの情報（以下、スキップ情報と呼ぶ）に関連付けられたフィルタ基底ｂ＿ｓｋｉｐをフィルタ部１１０に対して出力する。
【００５３】
ここで、フィルタ基底ｂ＿ｓｋｉｐは、フィルタ係数ベクトルＶの各成分に対応した基底成分から構成される基底ベクトルである。すなわち、フィルタ基底ｂ＿ｓｋｉｐは、Ｍ×Ｎタップのフィルタリングに対しては、Ｍ×Ｎ＋１次元のベクトルである。
【００５４】
フィルタ基底ｂ＿ｓｋｉｐとしては、例えば、エッジ強調／ぼかしフィルタ基底を好適に用いることができる。ここで、エッジ強調／ぼかしフィルタ基底とは、エッジを強調もしくはエッジをぼかす効果があるフィルタ基底であり、例えば、２回微分フィルタの基底などが含まれる。以下、エッジ強調／ぼかしフィルタ基底のことを単にエッジ強調フィルタ基底とも記すが、ぼかし効果も備えることを強調しておく。
【００５５】
エッジ強調フィルタ基底の例としては、例えば、３×３タップの場合、横方向エッジ強調基底（０、０、０、−１、２、−１、０、０、０、０）、縦方向エッジ強調基底（０、−１、０、０、２、０、０、−１、０、０）、標準ラプラシアン基底（−１、−１、−１、−１、８、−１、−１、−１、−１、０）、変形されたラプラシアン基底（−１、−２、−１、−２、１２、−２、−１、−２、−１、０）、第１の斜め方向ラプラシアン基底（−１、−２、０、−２、６、０、−１、０、０、０）、および、第２の斜め方向ラプラシアン基底（０、０、−１、０、６、−２、０、−２、−１、０）などが挙げられる。
【００５６】
制御変数決定部１２０は、フィルタ基底ｂ＿ｓｋｉｐとして、エッジ強調フィルタ基底、または、その線形和をフィルタ部１１０に対して出力する。
【００５７】
（ステップＳ２）
フィルタ部１１０は、スライスごと、または、フレームごとに、フィルタ係数ベクトルＶを決定する。ここで、フィルタ係数ベクトルＶの各成分ｖ（ｋ）は、
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｓｋｉｐ×ｖ＿ｓｋｉｐ×ｂ＿ｓｋｉｐ（Ｋ）      …（６）
によって表される。ここで、ｗ（Ｋ）は、フィルタ係数ベクトルＷ（固定係数ベクトル）の各成分であり、ｂ＿ｓｋｉｐ（Ｋ）は、上述したフィルタ基底（固定ベクトル）ｂ＿ｓｋｉｐの各成分である。また、ｖ＿ｓｋｉｐは上述した制御変数（可変係数）であり、ステップＳ１において、ｖ＿ｓｋｉｐ＝１に設定された制御変数である。また、ａ＿ｓｋｉｐは、制御変数ｖ＿ｓｋｉｐに関連付けられた係数（固定係数）である。
【００５８】
なお、固定ベクトル及び固定係数における「固定」は、画素の位置によって変化しないことを意味し、可変係数の「可変」とは画素の位置によって変化することを意味する。
【００５９】
式（６）は、制御変数を用いたフィルタ算出関数Ｆの一例であり、関数Ｆのフィルタパラメータは、固定係数ベクトル、固定係数、制御変数である。
【００６０】
フィルタ部１１０は、スライスやフレームなどの単位領域ごとに、フィルタパラメータのうち、領域によらず固定であるもの（固定フィルタパラメータと呼ぶ）を決定する。ここでは、固定係数ベクトルＷの各成分ｗ（Ｋ）、および、固定係数ａ＿ｓｋｉｐを決定する。
【００６１】
式（６）において、エッジ強調基底ｂ＿ｓｋｉｐ（Ｋ）にかかる係数が正の場合（ここではａ＿ｓｋｉｐが正の場合に対応）には、制御変数ｖ＿ｓｋｉｐが１となる領域においてエッジ強調効果を得ることができる、逆に、ｂ＿ｓｋｉｐ（Ｋ）にかかる係数が負の場合（ここではａ＿ｓｋｉｐが負の場合に対応）には、ｖ＿ｓｋｉｐが１となる領域においてぼかし効果を得ることができる。
【００６２】
フィルタ部１１０は、固定フィルタパラメータを、例えば、統計的手法によって決定することができる。
【００６３】
固定フィルタパラメータの具体的な決定方法の例としては、以下の式（７）によって与えられる、教師データ＃２００の各画素値からの二乗誤差Ｅを最小にするような固定フィルタパラメータを求める方法が挙げられる。
【００６４】
【数６】
2014209760.tif 000008
【００６５】
ここで、Ｓ（Ｘ）は、教師データ＃２００の座標（ｘ、ｙ）における画素値を表している。また、Ｘについての和は、単位領域に含まれる全ての画素についての和である。つまり、固定フィルタパラメータをスライスごとに求める場合には、当該スライスに含まれる全ての画素についての和となる。なお、ここでは単位領域に含まれる全ての画素としているが、フィルタ部１１０で処理する領域を限定する場合には、一部の画素としても良い。例えば、フィルタ部１１０を適応的なデブロッキングフィルタとして用いる場合には、ブロック境界との距離が一定以下の画素のみに処理領域を限定し、その処理領域のみから固定フィルタパラメータを決定することが適当である。また、フィルタリングを行う単位領域中に、フィルタリングを行わない領域を設けた上で、フィルタリングの有無を示す情報を符号化する場合には、フィルタリングを行う領域の画素から、固定フィルタパラメータを決定することが適当である。
【００６６】
より具体的には、式（７）のフィルタパラメータＶを、フィルタ算出関数Ｆを用いてフィルタパラメータの関数にする。次に、得られた式を固定パラメータで偏微分して得られる式を０と置くことにより、一般に正規方程式と呼ばれる式を得ることができる。正規方程式をガウスの消去法などにより解くことにより、固定パラメータが算出される。なお、固定パラメータの算出時には、画素毎もしくは領域毎に定まるＳ、ＳＩ、制御変数（ここではｖ＿ｓｋｉｐ）に、その値を代入する。
【００６７】
なお、オフセットの導入をＭ×Ｎ＋１タップフィルタとして表現したように、制御変数ｖ＿ｓｋｉｐの導入をＭ×Ｎ＋２タップとして表現することもできる。この場合、ｖのＭ×Ｎ＋２番目の項を
ｖ（Ｍ×Ｎ＋２）＝ａ＿ｓｋｉｐ
としてＶの次元をＭ×Ｎ＋２次元に拡張し、ＳIのＭ×Ｎ＋２番目の項を
ＳI（Ｍ×Ｎ＋２）＝Σｖ＿ｓｋｉｐ×ｂ＿ｓｋｉｐ（Ｋ）×ＳI（Ｋ）
としてＳIの次元を拡張すればよい。このような表現を用いれば、式（７）を最小化する
Ｍ×Ｎ＋２個のｖの値を求める問題となる。
【００６８】
また、フィルタ係数ベクトルＶの具体的な決定方法の他の例としては、上記二乗誤差Ｅにおける２乗演算を絶対値演算に置き換えることによって得られる絶対値誤差を最小にするようなフィルタ係数ベクトルＶを求める方法が挙げられる。また、上記二乗誤差Ｅにフィルタ係数ベクトルの各項の２乗に所定の定数を掛けた値を足した関数を、目的関数とすることもできる（いわゆるリッジ回帰）。このようにすれば、フィルタ係数ベクトルを小さい値に保ちながら、二乗誤差Ｅも小さくすることができる。この場合、二乗誤差Ｅは最小値よりもやや大きくなるが、フィルタ係数ベクトルは小さな値となるため符号量を抑えることができる。なお、フィルタ係数ベクトルＶの上記統計的手法による決定方法は、本発明を限定するものではない。
【００６９】
また、適応フィルタ１００は、制御変数を常に０として上記統計的手法を用いることによって、制御変数によってフィルタ係数ベクトルの値を変更しない場合の、フィルタ係数ベクトルＶを決定することもできる。
【００７０】
このようにして決定されたフィルタ係数ベクトルＶは、ｖ＿ｓｋｉｐ＝１のとき、式（６）の第２項の寄与によって、フィルタ強調効果のあるフィルタを表現している。一方で、ｖ＿ｓｋｉｐ＝０と設定すれば、フィルタ係数ベクトルＶに対する式（６）の第２項の寄与がなくなるため、フィルタ係数ベクトルＶは、フィルタ強調効果を有しないフィルタを表現することもできる。以下では、ｖ＿ｓｋｉｐ＝１のときのフィルタ係数ベクトルＶをフィルタ係数ベクトルＶ（ｖ＿ｓｋｉｐ＝１）と表し、ｖ＿ｓｋｉｐ＝０のときのフィルタ係数ベクトルＶをフィルタ係数ベクトルＶ（ｖ＿ｓｋｉｐ＝０）と表すことにする。
【００７１】
（ステップＳ３）
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が、スキップモードが適用されたマクロブロックに属しているか否かに応じて、制御変数ｖ＿ｓｋｉｐの値を設定する。具体的には、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が、スキップモードが適用されたマクロブロックに属しているときに、ｖ＿ｓｋｉｐ＝１に設定し、そうでないときに、ｖ＿ｓｋｉｐ＝０に設定する。
【００７２】
このように設定された制御変数ｖ＿ｓｋｉｐは、画像データ＃１００に含まれる画素ごとに、フィルタ部１１０に対して供給される。
【００７３】
（ステップＳ４）
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｓｋｉｐの値を用いたフィルタ係数ベクトルＶの各成分に基づいて、画像データ＃１００に含まれる画素値の加重平均をとることによって、出力画像データ＃１１０ａの各画素値を算出する。具体的には、フィルタ部１１０は、フィルタ係数ベクトルＶの各成分ｖ（Ｋ）を式（４）に用いることによって、画素値ＳO（Ｘ’）を算出する。
【００７４】
適応フィルタ１００は、上記ステップＳ３およびステップＳ４の動作を繰り返す。したがって、適応フィルタ１００は、画像データ＃１００に含まれる各画素が、スキップモードが適用されたマクロブロックに属するか否かに応じて、異なったフィルタ係数ベクトルを用いてフィルタリングを行うことができる。より正確には、適応フィルタ１００は、画像データ＃１００の座標（ｘ、ｙ）における画素が、スキップモードが適用されたマクロブロックに属しているときには、フィルタ係数ベクトルＶ（ｖ＿ｓｋｉｐ＝１）に基づいたフィルタリングを行い、そうでないときには、フィルタ係数ベクトルＶ（ｖ＿ｓｋｉｐ＝０）に基づいたフィルタリングを行う。
【００７５】
したがって、適応フィルタ１００は、画像データ＃１００の座標（ｘ、ｙ）における画素が、スキップモードが適用されたマクロブロックに属しているときには、エッジ強調効果を有するフィルタリングを行い、そうでないときには、エッジ強調効果を有しないフィルタリングを行う。
【００７６】
一般に、スキップモードが適用されたマクロブロックの画像は、スキップモードが適用されていないマクロブロックに比べて、エッジを明確にした方が好適である傾向がある。
【００７７】
したがって、上記のように構成された適応フィルタ１００を用いることによって、スキップモードが適用されたマクロブロックに対しては、エッジを強調しつつ、スキップモードが適用されていないマクロブロックに対しては、過度なエッジ強調を回避しつつフィルタリングを行うことができるので、フィルタ係数の切り替えを行わない従来の構成に比べて、より効果的なフィルタリングを行うことができる。
【００７８】
なお、シーケンスによっては、スキップモードにおいてぼかした方が良い場合もあるが、この場合もａ＿ｓｋｉｐが負の値として求められ、最適なぼかし処理を適用することができる。
【００７９】
また、適応フィルタ１００は、制御変数ｖ＿ｓｋｉｐの値を１、または、０に設定することによってフィルタ係数ベクトルＶの切り替えを行うことができる。すなわち、適応フィルタ１００は、マクロブロックごとにフィルタ係数を算出することなく、マクロブロックごとにフィルタ係数を切り替えることができるので、フィルタ係数の算出に必要な計算量を削減しつつ、効果的なフィルタリングを行うことができる。
【００８０】
なお、フィルタ対象領域Ｔに複数のマクロブロックが含まれるような場合には、当該複数のマクロブロックのうち何れか１つのマクロブロックに割り付けられたスキップ情報を用いればよい。
【００８１】
以上のように、本実施形態に係る画像フィルタ（適応フィルタ１００）は、入力画像（画像データ＃１００）における対象領域（フィルタ参照領域Ｒ）に属する各画素の画素値とフィルタ係数ベクトル（フィルタ係数ベクトルＶ）とから、出力画像（出力画像データ＃１１０ａ）における対象画素の画素値を算出する画像フィルタであって、上記入力画像における上記対象領域の位置、及び、上記出力画像における上記対象画素の位置の少なくとも何れかに応じて上記フィルタ係数ベクトルを変更するフィルタ係数ベクトル変更手段（制御変数決定部１２０）を備えている、ことを特徴としている。
【００８２】
上記の構成によれば、上記入力画像における上記対象領域の位置、及び、上記出力画像における上記対象画素の位置の少なくとも何れかに応じて上記フィルタ係数ベクトルを変更するフィルタ係数ベクトル変更手段を備えているため、上記対象領域の位置、及び、上記出力画像における上記対象画素の位置の少なくとも何れかに応じて、上記対象領域ごとに適切なフィルタリングを行うことができる。
【００８３】
また、本実施形態に係る画像フィルタ（適応フィルタ１００）においては、上記フィルタ係数ベクトル（フィルタ係数ベクトルＶ）が、上記出力画像を構成する単位領域毎に予め定められた固定フィルタ係数ベクトル（固定係数ベクトルＷから算出されるフィルタ係数ベクトル）と、上記フィルタ係数ベクトル変更手段（制御変数決定部１２０）によって、上記入力画像（画像データ＃１００）における上記対象領域（フィルタ対象領域Ｔ）の位置、及び、上記出力画像における上記対象画素の位置の少なくとも何れかに応じて変更される可変フィルタ係数ベクトルとの和に分解可能である。
【００８４】
上記の構成によれば、上記フィルタ係数ベクトルは、上記出力画像を構成する単位領域毎に予め定められた固定フィルタ係数ベクトルと上記可変フィルタ係数ベクトルとの和に分解可能であり、上記フィルタ係数ベクトル変更手段は、上記可変フィルタ係数ベクトルを、上記入力画像における上記対象領域の位置、及び、上記出力画像における上記対象画素の位置の少なくとも何れかに応じて変更することができる。
【００８５】
したがって、上記の構成によれば、単位領域ごとに予め定められたフィルタ係数を用いつつ、各対象領域に適応した（各対象領域における画像の特性に応じた）フィルタリングを行うことができる。
【００８６】
なお、本発明をＨ．２６４に適用する場合、上記単位領域は、スライスであってもよいし、マクロブロックであってもよし、ブロックあってもよい。
【００８７】
また、上記固定フィルタ係数ベクトル、および、上記可変フィルタ係数ベクトルは、オフセット成分を含むように定義されていてもよい。
【００８８】
また、本実施形態に係る画像フィルタ（適応フィルタ１００）においては、上記可変フィルタ係数ベクトルは、更に、上記出力画像を構成する単位領域毎に定められた固定係数（例えば、ａ＿ｓｋｉｐ）と、上記フィルタ係数ベクトル変更手段によって、上記入力画像における上記対象領域の位置、又は、上記出力画像における上記対象画素の位置に応じて変更される可変係数（制御変数、例えば、ｖ＿ｓｋｉｐ）と、予め定められた固定ベクトル（フィルタ基底、例えばｂ＿ｓｋｉｐ）と、に分解可能である。
【００８９】
上記の構成によれば、上記可変フィルタ係数ベクトルは、更に、上記出力画像を構成する単位領域毎に定められた固定係数と、上記可変係数と、上記固定ベクトルと、に分解可能である。また、上記固定ベクトルは、予め定められており、上記フィルタ係数ベクトル変更手段は、上記入力画像における上記対象領域の位置、又は、上記出力画像における上記対象画素の位置に応じて、上記可変係数を変更することができるので、上記対象領域における画像の特性に応じて、より適切なフィルタリングを行うことができる。
【００９０】
また上記の構成によれば、上記出力画像を構成する単位領域毎に定められた上記固定係数ベクトル及び上記固定係数とを上記画像フィルタに与えることによって、各対象領域に適応した所望のタイプのフィルタリングを行うことができる。
【００９１】
本発明に係る上記の構成による効果を、図２を参照して説明すれば以下のようになる。
【００９２】
図２は、単位領域ＵＲ上に、Ｑ個（Ｑ≧２）の対象領域ＰＲ1〜ＰＲQが存在する場合を示す図である。
【００９３】
図２に示すような単位領域ＵＲ上のＱ個の対象領域ＰＲ1〜ＰＲQに対して、上記の構成を用いてフィルタリングを行う場合、上記固定係数ベクトルＷの成分の数がＰ個（Ｐ≧２）であり、上記固定係数の数が１個であるとすると、合計Ｐ＋１個のフィルタ係数を用いて、Ｑ個の対象領域ＰＲ1〜ＰＲQすべてに対して適応的なフィルタリングを行うことができる。
【００９４】
一方で、図２に示すような単位領域ＵＲ上のＱ個の対象領域ＰＲ1〜ＰＲQに対して、各対象領域ＰＲn（１≦ｎ≦Ｑ）ごとに上記固定係数ベクトルＷを算出する従来の方法によれば、適応的なフィルタリングを行うために、合計でＰ×Ｑ個のフィルタ係数が必要になる。
【００９５】
したがって、本発明に係る上記の構成によれば、各対象領域に対して個別にフィルタ係数ベクトルを算出する場合に比べて、少ない数のフィルタ係数によって、各対象領域に適応したタイプのフィルタリングを行うことができる。
【００９６】
なお、図２においては、Ｑ個の対象領域ＰＲ1〜ＰＲQが互いに重なり合わないように描かれているが、一般には、Ｑ個の対象領域ＰＲ1〜ＰＲQは、互いに重なりあう領域を含んでいる。
【００９７】
なお、上記の説明では、フィルタ係数のベクトル表現を用いて本発明の特徴を述べたが、本発明は、以下のように、フィルタ係数の各成分への作用として表現することもできる。
【００９８】
例えば、３×３タップのフィルタリングの場合であって、ｂ＿ｓｋｉｐとして横方向エッジ強調基底（０、０、０、−１、２、−１、０、０、０、０）をとった場合、フィルタ係数ベクトルＶの各成分は、以下のように成分表示することができる（式（６）参照）。
（ｗ（１）、ｗ（２）、ｗ（３）、ｗ（４）−ａ＿ｓｋｉｐ×ｖ＿ｓｋｉｐ、ｗ（５）＋
２×ａ＿ｓｋｉｐ×ｖ＿ｓｋｉｐ、ｗ（６）−ａ＿ｓｋｉｐ×ｖ＿ｓｋｉｐ、ｗ（７）、
ｗ（８）、ｗ（９）、ｗ（１０））
上式から明らかなように、ｂ＿ｓｋｉｐとして横方向エッジ強調基底（０、０、０、−１、２、−１、０、０、０、０）をとった場合には、フィルタ係数ベクトルＶの第１成分から第３成分、および、第７成分から第１０成分は、制御変数ｖ＿ｓｋｉｐに依存しない。すなわち、フィルタ係数ベクトルＶの第１成分から第３成分、および、第７成分から第１０成分の各々は、スキップモードであるか否かに関わらず、上記統計的手法によって定められた一定の値をとる。
【００９９】
一方で、ｂ＿ｓｋｉｐとして横方向エッジ強調基底（０、０、０、−１、２、−１、０、０、０、０）をとった場合には、フィルタ係数ベクトルＶの第４成分から第６成分は、制御変数ｖ＿ｓｋｉｐに依存する。また、第４成分から第６成分の各々の、制御変数ｖ＿ｓｋｉｐに対する変化の割合は、フィルタ基底ｂ＿ｓｋｉｐによって決定されている。
【０１００】
換言すれば、ｂ＿ｓｋｉｐとして横方向エッジ強調基底（０、０、０、−１、２、−１、０、０、０、０）をとった場合には、フィルタ係数ベクトルＶの所定の成分（第４成分から第６成分）は、制御変数ｖ＿ｓｋｉｐの値に応じて変化し、上記所定の成分以外の成分（第１成分から第３成分、および、第７成分から第１０成分）は、制御変数ｖ＿ｓｋｉｐの値によらずに決定されている。
【０１０１】
したがって、一般に、制御変数決定部１２０が出力するフィルタ基底に応じて、フィルタ係数ベクトルＶの成分のうち、制御変数によって変化する成分と、制御変数によって変化しない成分とが定まる。また、制御変数決定部１２０が出力するフィルタ基底に応じて、制御変数によって変化する成分の、制御変数に対する変化の割合が決定される。
【０１０２】
＜フィルタ係数導出処理＞
また、式（６）のフィルタ係数導出処理は、制御変数によって変化する成分と、変化しない成分とに場合を分けて求めることが可能である。以下では再度、３×３タップのフィルタリングの場合であって、ｂ＿ｓｋｉｐとして横方向エッジ強調基底（０、０、０、−１、２、−１、０、０、０、０）を用いる場合を例に挙げ、図３を参照して、適応フィルタ１００によるフィルタ係数導出処理について説明する。
【０１０３】
図３は、フィルタリング処理を行う動作フローの一例を示す図である。
【０１０４】
（予備ステップ）
まず、適応フィルタ１００は、制御変数によって変化するフィルタ係数ベクトルに対し、式（６）を用いて予めｗ´（ｉ）を算出し保持しておく。
ｗ´（４）＝ｗ（４）＋ａ＿ｓｋｉｐ×ｖ＿ｓｋｉｐ×ｂ＿ｓｋｉｐ（４）
＝ｗ（４）＋ａ＿ｓｋｉｐ×ｖ＿ｓｋｉｐ×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｓｋｉｐ×ｖ＿ｓｋｉｐ×２
ｗ´（６）＝ｗ（６）＋ａ＿ｓｋｉｐ×ｖ＿ｓｋｉｐ×−１
（本ステップ）
（ステップＳ１０１）ループ１：フィルタ対象領域Ｔ毎に、出力画像を構成する単位領域全体に対して、Ｓ１０２からＳ１０９の処理を行う。
【０１０５】
（ステップＳ１０２）フィルタ対象領域Ｔにおける制御変数ｖ＿ｓｋｉｐの値を算出する。
【０１０６】
（ステップＳ１０３）ループ２：ループ変数ｉを用いて、ｉが１から１０までＳ１０４からＳ１０８の処理を行う。
【０１０７】
（ステップＳ１０４）ループ変数ｉに対応するフィルタ係数ベクトルの要素ｖ（ｉ）が制御変数によって変化しない場合はＳ１０５に進む。すなわち、ｉが１、２、３、７、８、９、１０の場合はＳ１０５に進む。それ以外はＳ１０６に進む。
【０１０８】
（ステップＳ１０５）ｖ（ｉ）＝ｗ（ｉ）としてＳ１０８に進む。
【０１０９】
（ステップＳ１０６）制御変数ｖ＿ｓｋｉｐが０であればＳ１０５に進む。制御変数ｖ＿ｓｋｉｐが１であればＳ１０７に進む。
【０１１０】
（ステップＳ１０７）ｖ（ｉ）＝ｗ´（ｉ）としてＳ１０８に進む。
【０１１１】
（ステップＳ１０８）ループ２終端
（ステップＳ１０９）導出したフィルタ係数ベクトルＶを用いて、式（４）に示すフィ
ルタリングを行う。
【０１１２】
（ステップＳ１１０）ループ１終端
上記では、フィルタ係数ベクトルＶの導出を、制御変数によって変化する成分との和を用いることなく分岐で行っている。この和の処理と、分岐の処理は、具体的な処理としては別に見えるが、処理の結果としては全く同一であり、本発明はどちらも含むものとする。分岐に用いる制御変数については上記例に限らず、下記に示す例を含む何れの例でも構わない。
【０１１３】
図４は、フィルタリングを行う動作フローの他の例を示す図である。図４は、フィルタ係数ベクトルＶの算出を、制御変数によって変化する成分との和を用いる場合を示す。本例においては、図３のＳ１０４からＳ１０７の処理が、式（６）を用いた以下のステップＳ１５４に置き換わる。
【０１１４】
（ステップＳ１５４）制御変数ｖ＿ｓｋｉｐより、式（６）によりフィルタ係数ベクトルの要素ｖ（ｉ）を算出する。
【０１１５】
なお、フィルタリングの前に、予めフィルタ係数の成分の位置と制御変数の値によって定まる２次元テーブルｖ２（ｉ、ｖ）に、当該成分及び制御変数の値に対応する、フィルタ係数の値を格納しておき、フィルタリング時には、その２次元テーブルｖ２（ｉ、ｖ）を引くことも好適である。ここで、ｉはフィルタ係数の成分の位置、ｖは制御変数の値を意味する。なお、制御変数の数が１つの場合には２次元テーブルであるが、制御変数がＮｖ個の場合には、Ｎｖ＋１次元テーブルになる。
【０１１６】
以上が、本発明の、フィルタ係数ベクトルＶの各成分に対する作用としての表現である。
【０１１７】
＜フィルタ算出関数の一般形＞
式（６）は、フィルタ算出関数Ｆの一例である。固定係数ベクトルｗｉ（１≦ｉ≦Ｎｗ、Ｎｗは固定係数ベクトルの次元数）、制御変数ｖｋ（１≦ｋ≦Ｎｖ、Ｎｖは制御変数の総数）、固定係数ａｋｊ（ｋは上記のとおり、１≦ｊ≦Ｎａｋ、Ｎａｋは制御変数Ｖｋに関する固定係数の総数）、とした場合、関数Ｆは一般に、以下の式（８）のように表現される。
【０１１８】
Ｆ（ｗ１・・・、ｗＮｗ、ａ１１、・・・、ａ１＿Ｎａ１、・・・、ａＮｖ１、・・・、ａＮｖ＿ＮａＮｖ、ｖ１、・・・、ｖＮｖ）＝Ｆ１（ｗ１・・・、ｗＮｗ）＋Ｆ２（Ｎａ１、・・・、ａＮｖ１、・・・、ａＮｖ＿ＮａＮｖ、ｖ１、・・・、ｖＮｖ）
…（８）
ここで、フィルタ算出関数Ｆは、第一項の固定フィルタ係数ベクトルと、第二項の可変フィルタ係数ベクトルに分解可能である構造をもつ。なお、Ｆ１は、固定係数ベクトルの関数、Ｆ２は、制御変数と固定係数との関数である。ここで、制御変数及び固定係数の数も複数でよいし、さらに、制御変数が複数の場合には、制御変数によって固定係数の数を変更しても構わない。
【０１１９】
関数Ｆを全て線形演算と仮定すると、以下の式（９）のように表現される。
【０１２０】
【数７】
2014209760.tif 000009
【０１２１】
ここで、ｂ＿ｗｉはｗｉにかかるＮｗ個の基底であり、単位基底、対称基底、などが用いられる。本明細書ではｂ＿ｗｉに単位基底を用いているがこれに限らない。ｂ＿ｖｋｊは、制御変数ｖｋ毎にＮａｋ個、用意しておく基底であり、エッジ強調フィルタ基底などが用いられる。なお、ｂ＿ｗｉに対称基底を用いる場合には、ｂ＿ｖｋｊにも同様の対称性を持つ基底を用いると良い。また、式（９）左辺のフィルタ係数ベクトルは、同式の右辺に示すように、第一項の固定フィルタ係数ベクトルと第二項の可変フィルタ係数ベクトルに分解可能である。また、固定フィルタ係数ベクトルは、固定係数ベクトル（要素ｗｉ）と、基底（ｂ＿ｗｉ）に分解可能であり、可変フィルタ係数ベクトルは、固定係数（ａｋｊ）と、制御変数（ｖｋ）と、固定ベクトル（ｂ＿ｖｋｊ）に分解可能である。
【０１２２】
フィルタの次数が４次の場合の具体例を式（１０）に示す。
【０１２３】
【数８】
2014209760.tif 000010
【０１２４】
この例では、固定フィルタ係数の数は３（ｗ１、ｗ２、ｗ３）、制御変数ｖ＿ｓｋｉｐに対応する固定係数の数は２（ａ＿ｓｋｉｐ１とａ＿ｓｋｉｐ２）、制御変数ｖ＿ｆｌａｔに対する固定係数の数は１（ａ＿ｆｌａｔ）である。なお、制御変数ｖ＿ｆｌａｔの意味は後述する。
【０１２５】
＜固定フィルタパラメータ算出の一般形＞
既に説明した通り、式（７）のフィルタパラメータＶを、フィルタ算出関数Ｆを用いてフィルタパラメータの関数にした上で、得られた式を偏微分して得られる値を０と置いて得られる正規方程式を解く。
【０１２６】
以下、制御変数にかかる基底として別の基底を用いる例、及び、制御変数として別の変数を用いる例とその効果を説明する。
【０１２７】
なお、上記の例では、フィルタ基底ｂ＿ｓｋｉｐとして、エッジ強調フィルタ基底を用いる場合について説明を行ったが、本発明はこれに限られるものではない。例えば、制御変数決定部１２０は、スキップ情報に関連付けられたフィルタ基底として効果の異なる複数のフィルタ基底をフィルタ部１１０に対して出力するような構成としてもよい。
【０１２８】
例えば、制御変数決定部１２０は、スキップ情報に関連付けられたフィルタ基底としてエッジ強調基底ｂ＿ｓｋｉｐ０と共に、ＤＣオフセット基底ｂ＿ｄｃ＝（０、０、０、０、０、０、０、０、０、１）をフィルタ部１１０に対して出力してもよい。
【０１２９】
制御変数決定部１２０が、エッジ強調基底ｂ＿ｓｋｉｐ、および、ＤＣオフセット基底ｂ＿ｄｃを出力する場合には、フィルタ部１１０は、以下の式（１１）によって表現される各成分ｗ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を、教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｓｋｉｐ×ｖ＿ｓｋｉｐ×ｂ＿ｓｋｉｐ（Ｋ）＋ａ＿ｄｃ×ｖ＿ｄｃ×ｂ＿ｄｃ（Ｋ）          …（１１）
ここで、ａ＿ｄｃは、ＤＣオフセット基底に対応したＤＣオフセット係数（固定係数）である。
【０１３０】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルＷの各成分ｗ（Ｋ）、エッジ強調係数ａ＿ｓｋｉｐ、および、ＤＣオフセット係数ａ＿ｄｃを、例えば、上述した統計的手法によって決定する。
【０１３１】
制御変数決定部１２０は、スキップモードが適用されたマクロブロックに属する画素に対しては、値が１である制御変数ｖ＿ｓｋｉｐをフィルタ部１１０に出力し、そうでない場合には、値が０である制御変数ｖ＿ｓｋｉｐをフィルタ部１１０に出力する。
【０１３２】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｓｋｉｐを用いたフィルタ係数ベクトルＶに基づいて、フィルタリングを行う。
【０１３３】
上記のような構成をとることによって、適応フィルタ１００は、スキップモードが適用されたマクロブロックに対して、エッジ強調効果を有するフィルタリングを行うと共に、上記ＤＣオフセットによって、輝度を変更する効果を有するフィルタリングを行うことができる。
【０１３４】
また、ＤＣオフセット基底の他、さらに中心要素のみを１とするような中心要素基底ｂ＿ｃ＝（０、０、０、０、１、０、０、０、０、０）を導入し、中心要素基底ｂ＿ｃとＤＣオフセット基底とを用いれば、フェードのような画素毎に輝度が変化するような画素値に対しても適応的なフィルタリングを行うことができる。
【０１３５】
また、制御変数決定部１２０は、スキップ情報に関連付けられたフィルタ基底として、あるエッジ強調基底ｂ＿ｓｋｉｐ０と共に、別のエッジ強調基底ｂ＿ｓｋｉｐ１をフィルタ部１１０に対して出力してもよい。例えばｂ＿ｓｋｉｐ０として横方向エッジ強調基底（０、０、０、−１、２、−１、０、０、０、０）をとり、ｂ＿ｓｋｉｐ１＝（０、−１、０、０、２、０、−１、０、０、０）としても良い。また、エッジ強調／ぼかし基底として、横方向ぼかし基底（０、０、０、１、２、１、０、０、０、０）、縦方向ぼかし基底（０、１、０、０、２、０、０、１、０、０）、または、全方向ぼかし基底（１、１、１、１、２、１、１、１、１、０）のような、ぼかしを主目的とした基底を用いても良い。
【０１３６】
制御変数決定部１２０が、エッジ強調基底ｂ＿ｓｋｉｐ０、および、ｂ＿ｓｋｉｐ１を出力する場合には、フィルタ部１１０は、以下の式（１２）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を、教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｓｋｉｐ０×ｖ＿ｓｋｉｐ×ｂ＿ｓｋｉｐ０（Ｋ）＋ａ＿ｓｋｉｐ１×ｖ＿ｓｋｉｐ×ｂ＿ｓｋｉｐ１（Ｋ）                  …（１２）
ここで、ａ＿ｓｋｉｐ０は、エッジ強調基底ｂ＿ｓｋｉｐ０（Ｋ）に対応したエッジ強調係数（固定係数）であり、ａ＿ｓｋｉｐ１は、ｂ＿ｓｋｉｐ１（Ｋ）に対応したエッジ強調係数（固定係数）である。
【０１３７】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各成分ｗ（Ｋ）、エッジ強調係数ａ＿ｓｋｉｐ０、および、ａ＿ｓｋｉｐ１を、例えば、上述した統計的手法によって決定する。
【０１３８】
制御変数決定部１２０は、スキップモードが適用されたマクロブロックに属する画素に対しては、値が１である制御変数ｖ＿ｓｋｉｐをフィルタ部１１０に出力し、そうでない場合には、値が０である制御変数ｖ＿ｓｋｉｐをフィルタ部１１０に出力する。
【０１３９】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｓｋｉｐを用いたフィルタ係数ベクトルＶに基づいて、フィルタリングを行う。
【０１４０】
上記のような構成をとることによって、適応フィルタ１００は、スキップモードが適用されたマクロブロックに対して、エッジ強調効果、および、ぼかし効果を同時に有するフィルタ係数に基づいたフィルタリングを行うことができ、スキップモードが適用されていないマクロブロックに対しては、エッジ強調効果、および、ぼかし効果を有しないフィルタ係数に基づいたフィルタリングを行うことができる。
【０１４１】
また、上記の例では、適応フィルタ１００が、画像データ＃１００に含まれる各画素が、スキップモードが適用されたマクロブロックに属するか否かに応じて、フィルタ係数ベクトルＶの切り替えを行う場合を例に挙げ説明を行ったが、本発明はこれに限られるものではない。
【０１４２】
以下では、画像データ＃１００、および、サイド情報＃１００ａに基づいて、フィルタ係数の切り替えを行う他の例について説明する。
【０１４３】
（画像の平坦度に応じてフィルタ係数の切り替えを行う例）
まず、画像データ＃１００のフィルタ対象領域Ｔにおける画像の平坦度に応じて、フィルタ係数を切り替える場合について説明する。ここで、フィルタ対象領域Ｔにおける画像の平坦度とは、フィルタ対象領域Ｔに含まれる各画素の画素値のばらつきに応じて定められる指標のことである。フィルタ対象領域Ｔにおける画像に含まれる各画素の画素値のばらつきがより小さい場合とは、当該領域における画像の平坦度がより大きい場合のことであり、フィルタ対象領域Ｔにおける画像に含まれる各画素の画素値のばらつきがより大きい場合とは、当該領域における画像の平坦度がより小さい場合のことである。なお、フィルタ対象領域Ｔの制御変数を求める際に、フィルタ対象領域Ｔの全画素を用いる必要はない（以下同様）。ここでは領域Ｔよりも小さい矩形領域ＭＶ×ＮＶを用いて平坦度を求めても良い。
【０１４４】
制御変数決定部１２０は、フィルタ対象領域Ｔにおける画像の平坦度に応じて０または１をとる制御変数ｖ＿ｆｌａｔの値を１に設定し、当該制御変数ｖ＿ｆｌａｔをフィルタ部１１０に対して出力する。
【０１４５】
また、制御変数決定部１２０は、フィルタ対象領域Ｔにおける画像の平坦度に関連付けられたフィルタ基底ｂ＿ｆｌａｔをフィルタ部１１０に対して出力する。フィルタ基底ｂ＿ｆｌａｔとしては、例えば、上述したエッジ強調フィルタ基底、５×５タップに拡張されたラプラシアン基底（１、１、１、１、１、１、０、０、０、１、１、０、−１６、０、１、１、０、０、０、１、１、１、１、１、１、０）、または、それらの線形和（もしくは加重線形和）を用いればよい。
【０１４６】
フィルタ部１１０は、以下の式（１３）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｆｌａｔ×ｖ＿ｆｌａｔ×ｂ＿ｆｌａｔ（Ｋ）        …（１
３）
ここで、ａ＿ｆｌａｔは、フィルタ基底ｂ＿ｆｌａｔに対応した係数（固定係数）である。
【０１４７】
フィルタ部１１０は、スライスごと、または、フレームごとに、フィルタ係数ベクトルの各成分ｗ（Ｋ）、係数ａ＿ｆｌａｔを、例えば、上述した統計的手法によって決定する。
【０１４８】
制御変数決定部１２０は、画像データ＃１００に含まれる画素ごとに、フィルタ対象領域Ｔに含まれる画素の画素値のばらつきを算出する。具体的には、例えば、制御変数決定部１２０は、画像データ＃１００に含まれる画素ごとに、フィルタ対象領域Ｔに含まれる画素の画素値の分散を算出する。
【０１４９】
換言すれば、制御変数決定部１２０は、画像データ＃１００に含まれる画素ごとの画素値を参照し、フィルタ対象領域Ｔに含まれる各画素の画素値のばらつきを算出する。具体的には、制御変数決定部１２０は、画像データ＃１００に含まれる各画素の画素値を参照し、フィルタ対象領域Ｔに含まれる各画素の画素値の分散を算出する。
【０１５０】
制御変数決定部１２０は、画素値の分散が、予め定められた閾値以上であるときには、制御変数ｖ＿ｆｌａｔを０に設定し、画素値の分散が、予め定められた閾値未満であるときには、制御変数ｖ＿ｆｌａｔを１に設定し、当該制御変数ｖ＿ｆｌａｔを、画像データ＃１００に含まれる画素ごとにフィルタ部１１０に対して出力する。
【０１５１】
また、制御変数決定部１２０は、上記制御変数ｖ＿ｆｌａｔを、フィルタ対象領域Ｔごとにフィルタ部１１０に対して出力してもよい。
【０１５２】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｆｌａｔを用いたフィルタ係数ベクトルＶに基づいて、フィルタリングを行う。
【０１５３】
一般に、平坦度が異なる領域に対しては、最適なフィルタ係数が異なることが知られている。
【０１５４】
上記の構成によれば、適応フィルタ１００は、平坦度の大きいフィルタ対象領域Ｔに対しては、ぼかしの効果を有するフィルタリングを行い、平坦度の小さいフィルタ対象領域Ｔに対しては、ぼかしの効果を有しないフィルタリングを行うことができるので、平坦度が異なる領域を含むスライス、または、フレームに対しても、効果的なフィルタリングを行うことができる。
【０１５５】
なお、画像の平坦度に応じてフィルタ係数の切り替えを行う場合であっても、上述したようなＤＣオフセットに対応するフィルタ基底、および、フィルタ係数を用いることによって、ＤＣオフセットによる輝度変化の効果を有するフィルタリングを行うことも可能である。
【０１５６】
また、本例においては、フィルタ対象領域Ｔにおける画像の平坦度を、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられたＡＣ成分の大きさに応じて判定するような構成としてもよい。
【０１５７】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｆｌａｔとして、３×３タップの横方向エッジ強調フィルタ基底をとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｆｌａｔ×ｖ＿ｆｌａｔ×ｂ＿ｆｌａｔ（４）
＝ｗ（４）＋ａ＿ｆｌａｔ×ｖ＿ｆｌａｔ×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｆｌａｔ×ｖ＿ｆｌａｔ×２
ｗ´（６）＝ｗ（６）＋ａ＿ｆｌａｔ×ｖ＿ｆｌａｔ×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｆｌａｔと読み替えればよい。
【０１５８】
（エッジの角度に応じてフィルタ係数の切り替えを行う例）
次に、画像データ＃１００のフィルタ対象領域Ｔにおける画像に含まれるエッジの角度に応じて、フィルタ係数を切り替える場合について説明する。
【０１５９】
制御変数決定部１２０は、以下の制御変数の値を１に設定し、フィルタ部１１０に対して出力する。
・フィルタ対象領域Ｔに垂直方向のエッジが含まれているか否かに応じて０または１をとる制御変数ｖ＿ｅｄｇｅ＿０
・フィルタ対象領域Ｔに水平方向のエッジが含まれているか否かに応じて０または１をとる制御変数ｖ＿ｅｄｇｅ＿９０
・フィルタ対象領域Ｔに斜め右上がりのエッジが含まれているか否かに応じて０または１をとる制御変数ｖ＿ｅｄｇｅ＿４５
・フィルタ対象領域Ｔに斜め右下がりのエッジが含まれているか否かに応じて０または１をとる制御変数ｖ＿ｅｄｇｅ＿１３５
また、制御変数決定部１２０は、以下のフィルタ基底をフィルタ部１２に対して出力する。
・フィルタ対象領域Ｔに垂直方向のエッジが含まれているか否かの情報に関連付けられたフィルタ基底ｂ＿ｅｄｇｅ＿０
・フィルタ対象領域Ｔに水平方向のエッジが含まれているか否かの情報に関連付けられたフィルタ基底ｂ＿ｅｄｇｅ＿９０
・フィルタ対象領域Ｔに斜め右上がりのエッジが含まれているか否かの情報に関連付けられたフィルタ基底ｂ＿ｅｄｇｅ＿４５
・フィルタ対象領域Ｔに斜め右下がりのエッジが含まれているか否かの情報に関連付けられたフィルタ基底ｂ＿ｅｄｇｅ＿１３５
なお、フィルタ基底ｂ＿ｅｄｇｅ＿ｎ（ｎ＝０、４５、９０、１３５）は、例えば、３×３タップのフィルタリングを行う場合、以下のようにとればよい。
・ｂ＿ｅｄｇｅ＿０＝（０、−１、０、０、２、０、０、−１、０、０）
・ｂ＿ｅｄｇｅ＿９０＝（０、０、０、−１、２、−１、０、０、０、０）
・ｂ＿ｅｄｇｅ＿４５＝（０、０、−１、０、２、０、−１、０、０、０）
・ｂ＿ｅｄｇｅ＿１３５＝（−１、０、０、０、２、０、０、０、−１、０）
フィルタ部１１０は、以下の式（１４）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋Σａ＿ｅｄｇｅ＿ｎ×ｖ＿ｅｄｇｅ＿ｎ×ｂ＿ｅｄｇｅ＿ｎ（Ｋ）
…（１４）
ここで、記号Σは、エッジの角度を表す添え字ｎ（ｎ＝０、４５、９０、１３５）に関する和を表している。また、ａ＿ｅｄｇｅ＿ｎ（ｎ＝０、４５、９０、１３５）は、それぞれ、フィルタ基底ｂ＿ｅｄｇｅ＿ｎ（ｎ＝０、４５、９０、１３５）に対応した係数である。
【０１６０】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各成分ｗ（Ｋ）、係数ａ＿ｅｄｇｅ＿ｎ（ｎ＝０、４５、９０、１３５）を、例えば、上述した統計的手法によって決定する。
【０１６１】
制御変数決定部１２０は、フィルタ対象領域Ｔに含まれるエッジの種類に応じて、以下のように、制御変数ｖ＿ｅｄｇｅ＿ｎ（ｎ＝０、４５、９０、１３５）の値を設定し、フィルタ対象領域Ｔごとに、当該制御変数ｖ＿ｅｄｇｅ＿ｎ（ｎ＝０、４５、９０、１３５）をフィルタ部１１０に対して出力する。
・フィルタ対象領域Ｔに垂直方向のエッジが含まれているときにｖ＿ｅｄｇｅ＿０＝１、そうでないときにｖ＿ｅｄｇｅ＿０＝０
・フィルタ対象領域Ｔに水平方向のエッジが含まれているときにｖ＿ｅｄｇｅ＿９０＝１、そうでないときにｖ＿ｅｄｇｅ＿９０＝０
・フィルタ対象領域Ｔに斜め右上がりのエッジが含まれているときにｖ＿ｅｄｇｅ＿４５＝１、そうでないときにｖ＿ｅｄｇｅ＿４５＝０
・フィルタ対象領域Ｔに斜め右下がりのエッジが含まれているときにｖ＿ｅｄｇｅ＿１３５＝１、そうでないときにｖ＿ｅｄｇｅ＿４５＝０
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｅｄｇｅ＿ｎ（ｎ＝０、４５、９０、１３５）を用いたフィルタ係数ベクトルＶに基づいて、フィルタリングを行う。
【０１６２】
上記の構成によれば、適応フィルタ１００は、対象領域Ｔに含まれるエッジの角度に応じて異なるフィルタ係数を用いてフィルタリングを行うことができるので、様々な角度のエッジを含むスライス、または、フレームに対しても、効果的なフィルタリングを行うことができる。
【０１６３】
なお、適応フィルタ１００においては、制御変数決定部１２０は、以下のようなフィルタ基底をフィルタ部１１０に対して出力するような構成としてもよい。
・フィルタ対象領域Ｔに垂直方向のエッジが含まれているか否かの情報に関連付けられた第１のフィルタ基底ｂ＿ｅｄｇｅ＿０＿０＝ｂ＿ｅｄｇｅ＿０
・フィルタ対象領域Ｔに垂直方向のエッジが含まれているか否かの情報に関連付けられた第２のフィルタ基底ｂ＿ｅｄｇｅ＿０＿１＝ｂ＿ｅｄｇｅ＿９０
・フィルタ対象領域Ｔに水平方向のエッジが含まれているか否かの情報に関連付けられた第１のフィルタ基底ｂ＿ｅｄｇｅ＿９０＿０＝ｂ＿ｅｄｇｅ＿９０
・フィルタ対象領域Ｔに水平方向のエッジが含まれているか否かの情報に関連付けられた第２のフィルタ基底ｂ＿ｅｄｇｅ＿９０＿１＝ｂ＿ｅｄｇｅ＿０
・フィルタ対象領域Ｔに斜め右上がりのエッジが含まれているか否かの情報に関連付けられた第１のフィルタ基底ｂ＿ｅｄｇｅ＿４５＿０＝ｂ＿ｅｄｇｅ＿４５
・フィルタ対象領域Ｔに斜め右上がりのエッジが含まれているか否かの情報に関連付けられた第２のフィルタ基底ｂ＿ｅｄｇｅ＿４５＿１＝ｂ＿ｅｄｇｅ＿１３５
・フィルタ対象領域Ｔに斜め右下がりのエッジが含まれているか否かの情報に関連付けられた第１のフィルタ基底ｂ＿ｅｄｇｅ＿１３５＿０＝ｂ＿ｅｄｇｅ＿１３５
・フィルタ対象領域Ｔに斜め右下がりのエッジが含まれているか否かの情報に関連付けられた第１のフィルタ基底ｂ＿ｅｄｇｅ＿１３５＿１＝ｂ＿ｅｄｇｅ＿４５
この場合、フィルタ部１１０は、以下の式（１５）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋Σａ＿ｅｄｇｅ＿ｎ＿０×ｖ＿ｅｄｇｅ＿ｎ×ｂ＿ｅｄｇｅ＿ｎ＿
０（Ｋ）＋Σａ＿ｅｄｇｅ＿ｎ＿１×ｖ＿ｅｄｇｅ＿ｎ×ｂ＿ｅｄｇｅ＿ｎ＿１（Ｋ）  
…（１５）
ここで、記号Σは、エッジの角度を表す添え字ｎ（ｎ＝０、４５、９０、１３５）に関する和を表している。また、ａ＿ｅｄｇｅ＿ｎ＿０（ｎ＝０、４５、９０、１３５）、および、ａ＿ｅｄｇｅ＿ｎ＿１（ｎ＝０、４５、９０、１３５）は、それぞれ、フィルタ基底ｂ＿ｅｄｇｅ＿ｎ＿０（ｎ＝０、４５、９０、１３５）、および、フィルタ基底ｂ＿ｅｄｇｅ＿ｎ＿１（ｎ＝０、４５、９０、１３５）に対応した係数（固定係数）である。
【０１６４】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各
成分ｗ（Ｋ）、係数ａ＿ｅｄｇｅ＿ｎ＿０（ｎ＝０、４５、９０、１３５）、および、係数ａ＿ｅｄｇｅ＿ｎ＿１（ｎ＝０、４５、９０、１３５）を、例えば、上述した統計的手法によって決定する。
【０１６５】
制御変数決定部１２０における制御変数ｖ＿ｅｄｇｅ＿ｎ（ｎ＝０、４５、９０、１３５）の値を、上述した方法と同様の方法を用いて設定する。また、フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｅｄｇｅ＿ｎ（ｎ＝０、４５、９０、１３５）を用いたフィルタ係数ベクトルＶに基づいて、フィルタリングを行う。
【０１６６】
上記の構成によれば、適応フィルタ１００は、適応フィルタ１００は、対象領域Ｔに含まれるエッジの角度に応じて異なるフィルタ係数を用いてフィルタリングを行うことができるので、様々な角度のエッジを含むスライス、または、フレームに対しても、効果的なフィルタリングを行うことができる。
【０１６７】
また、上記の構成においては、フィルタ基底ｂ＿ｅｄｇｅ＿ｎ＿０（ｎ＝０、４５、９０、１３５）、および、フィルタ基底ｂ＿ｅｄｇｅ＿ｎ＿１（ｎ＝０、４５、９０、１３５）は、それぞれ、エッジに垂直な方向に対するエッジ強調の効果を有する基底成分を含んでいるので、上記の構成を有する適応フィルタ１００は、エッジに平行な方向のみならず、エッジに垂直な方向に関しても、効果的なフィルタリングを行うことが可能である。
【０１６８】
なお、エッジの角度に応じてフィルタ係数の切り替えを行う場合であっても、上述したようなＤＣオフセットに対応するフィルタ基底、および、フィルタ係数を用いることによって、ＤＣオフセットによる輝度変化の効果を有するフィルタリングを行うことも可能である。
【０１６９】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｅｄｇｅ＿ｎとして、ｂ＿ｅｄｇｅ＿９０のみをとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｅｄｇｅ＿９０×ｖ＿ｅｄｇｅ＿９０×ｂ＿ｅｄｇｅ＿９０
（４）＝ｗ（４）＋ａ＿ｅｄｇｅ＿９０×ｖ＿ｅｄｇｅ＿９０×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｅｄｇｅ＿９０×ｖ＿ｅｄｇｅ＿９０×２
ｗ´（６）＝ｗ（６）＋ａ＿ｅｄｇｅ＿９０×ｖ＿ｅｄｇｅ＿９０×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｅｄｇｅ＿９０と読み替えればよい。また、フィルタ基底ｂ＿ｅｄｇｅ＿ｎとして他の基底をとった場合も同様である。また、式（１４）において、ｎについての和をとる場合に対しても容易に一般化できる。
【０１７０】
（輝度に応じてフィルタ係数の切り替えを行う例）
次に、画像データ＃１００のフィルタ対象領域Ｔにおける画像の平均輝度に応じて、フィルタ係数を切り替える場合について説明する。ここで、フィルタ対象領域Ｔにおける画像の平均輝度とは、フィルタ対象領域Ｔに含まれる各画素の輝度値の平均のことである。また、各画素の輝度値は、一般に、当該画素の画素値の関数として求めることができる。
【０１７１】
制御変数決定部１２０は、フィルタ対象領域Ｔにおける画像の平均輝度に応じて０、１、２のうち、何れか１つの値を制御変数ｖ＿ｌｕｍに設定し、当該制御変数ｖ＿ｌｕｍを、フィルタ部１１０に対して出力する。
【０１７２】
また、制御変数決定部１２０は、フィルタ対象領域Ｔにおける画像の平均輝度に関連付けられたフィルタ基底ｂ＿ｌｕｍをフィルタ部１１０に対して出力する。フィルタ基底ｂ＿ｌｕｍとしては、例えば、上述したエッジ強調フィルタ基底、または、それらの線形和（もしくは加重線形和）を用いればよい。
【０１７３】
フィルタ部１１０は、以下の式（１６）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｌｕｍ×ｖ＿ｌｕｍ×ｂ＿ｌｕｍ（Ｋ）            …（１６）
ここで、ａ＿ｌｕｍは、フィルタ基底ｂ＿ｌｕｍに対応した係数（固定係数）である。
【０１７４】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各成分ｗ（Ｋ）、係数ａ＿ｌｕｍを、例えば、上述した統計的手法によって決定する。
【０１７５】
制御変数決定部１２０は、フィルタ対象領域Ｔごとに、当該領域に含まれる画素に対応付けられた輝度値の平均値を算出する。制御変数決定部１２０は、例えば、当該平均値が４８未満であるときに、制御変数ｖ＿ｌｕｍの値を２に設定し、当該平均値が４８以上、９６未満であるときに、制御変数ｖ＿ｌｕｍの値を１に設定し、当該平均値が、９６以上であるときに、制御変数ｖ＿ｌｕｍの値を０に設定する。ここで、当該平均値は、０から２５５までの値をとるものとする。
【０１７６】
また、制御変数決定部１２０は、フィルタ対象領域Ｔごとに、制御変数ｖ＿ｌｕｍをフィルタ部１１０に対して出力する。
【０１７７】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｌｕｍを用いたフィルタ係数ベクトルＶに基づいて、フィルタ対象領域Ｔごとにフィルタリングを行う。
【０１７８】
上記のような構成をとることによって、フィルタ対象領域Ｔに含まれる画素の輝度値の平均値がより低い場合に、ぼかし効果のより強いフィルタリングを行うことができ、フィルタ対象領域Ｔに含まれる画素の輝度値の平均値がより高い場合に、ぼかし効果のより弱いフィルタリングを行うことができる。
【０１７９】
なお、輝度に応じてフィルタ係数の切り替えを行う場合であっても、上述したようなＤＣオフセットに対応するフィルタ基底、および、フィルタ係数を用いることによって、ＤＣオフセットによる輝度変化の効果を有するフィルタリングを行うことも可能である。
【０１８０】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｌｕｍとして、横方向エッジ強調基底をとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｌｕｍ×ｖ＿ｌｕｍ×ｂ＿ｌｕｍ（４）
＝ｗ（４）＋ａ＿ｌｕｍ×ｖ＿ｌｕｍ×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｌｕｍ×ｖ＿ｌｕｍ×２
ｗ´（６）＝ｗ（６）＋ａ＿ｌｕｍ×ｖ＿ｌｕｍ×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｌｕｍと読み替えればよい。また、フィルタ基底ｂ＿ｌｕｍとして他の基底をとった場合も同様である。
【０１８１】
（色に応じてフィルタ係数の切り替えを行う例）
次に、画像データ＃１００のフィルタ対象領域Ｔにおける画像の色に応じて、フィルタ係数を切り替える場合について説明する。特に、フィルタ対象領域Ｔにおける画素が肌色を示しているか否かに応じて、フィルタ係数を切り替える場合について説明する。ここで、フィルタ対象領域Ｔにおける画素が肌色を示している場合とは、例えば、フィルタ対象領域Ｔに含まれる画素が表す色の平均が、ＹＵＶ成分で示して、１３３≦Ｖ≦１７７、かつ、７７≦Ｕ≦１２７、かつ、６０≦Ｙ≦１４５の範囲内である場合である。ここで、Ｙは、当該画素の表示する色成分のうち、輝度成分の大きさを示しており、Ｕは、青色成分と輝度成分との差の定数倍によって定義される色成分の大きさを示しており、Ｖは、赤色成分と輝度成分との差の定数倍によって定義される色成分の大きさを示している。なお、上記の例では、Ｙ、Ｕ、Ｖのそれぞれは、０から２５５までの値をとるものとしている。
【０１８２】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が肌色を示しているか否かに応じて、０または１をとる制御変数ｖ＿ｓｋｉｎの値を１に設定し、当該制御変数ｖ＿ｓｋｉｎをフィルタ部１１０に対して出力する。
【０１８３】
また、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が肌色を示しているか否かに関連付けられたフィルタ基底ｂ＿ｓｋｉｎをフィルタ部１１０に対して出力する。フィルタ基底ｂ＿ｓｋｉｎとしては、例えば、上述したエッジ強調フィルタ基底、または、それらの線形和（もしくは加重線形和）を用いればよい。
【０１８４】
フィルタ部１１０は、以下の式（１７）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｓｋｉｎ×ｖ＿ｓｋｉｎ×ｂ＿ｓｋｉｎ（Ｋ）          …（１７）
ここで、ａ＿ｓｋｉｎは、フィルタ基底ｂ＿ｓｋｉｎに対応した係数（固定係数）である。
【０１８５】
フィルタ部１１０は、スライスごと、または、フレームごとに、フィルタ係数ベクトルの各成分ｖ（Ｋ）、係数ａ＿ｓｋｉｎを、例えば、上述した統計的手法によって決定する。
【０１８６】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が肌色を示しているか否かの判定を行う。具体的には、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が示す色が、ＹＵＶ成分で示して、１３３≦Ｖ≦１７７、かつ、７７≦Ｕ≦１２７、かつ、６０≦Ｙ≦１４５の範囲内であるか否かを判定する。
【０１８７】
また、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が示す色が上記の範囲内にある場合には、制御変数ｖ＿ｓｋｉｎの値を１に設定し、フィルタ部１１０に対して出力する。また、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が示す色が上記の範囲内にない場合には、制御変数ｖ＿ｓｋｉｎの値を０に設定し、フィルタ部１１０に対して出力する。
【０１８８】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｓｋｉｎを用いたフィルタ係数ベクトルＶに基づいて、フィルタ対象領域Ｔごとにフィルタリングを行う。
【０１８９】
上記のような構成をとることによって、画像データ＃１００の座標（ｘ、ｙ）における画素が肌色を示している場合には、ぼかし効果を有するフィルタリングを行い、画像データ＃１００の座標（ｘ、ｙ）における画素が肌色を示していない場合には、ぼかし効果を有しないフィルタリングを行うことができる。
【０１９０】
なお、色に応じてフィルタ係数の切り替えを行う場合であっても、上述したようなＤＣオフセットに対応するフィルタ基底、および、フィルタ係数を用いることによって、ＤＣオフセットによる輝度変化の効果を有するフィルタリングを行うことも可能である。
【０１９１】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｓｋｉｎとして、横方向エッジ強調基底をとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｓｋｉｎ×ｖ＿ｓｋｉｎ×ｂ＿ｓｋｉｎ（４）
＝ｗ（４）＋ａ＿ｓｋｉｎ×ｖ＿ｓｋｉｎ×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｓｋｉｎ×ｖ＿ｓｋｉｎ×２
ｗ´（６）＝ｗ（６）＋ａ＿ｓｋｉｎ×ｖ＿ｓｋｉｎ×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｓｋｉｎと読み替えればよい。また、フィルタ基底ｂ＿ｓｋｉｎとして他の基底をとった場合も同様である。
【０１９２】
（ブロック境界であるか否かに応じてフィルタ係数の切り替えを行う例）
次に、フィルタ対象領域Ｔがブロックの境界を含んでいるか否かに応じてフィルタ係数を切り替える場合について説明する。
【０１９３】
ここで、上記ブロックとは、例えば、Ｈ．２６４／ＡＶＣ規格における変換もしくは動き補償の単位のことであり、一般に、ブロックの境界には、ブロックノイズが発生しやすいという傾向がある。
【０１９４】
制御変数決定部１２０は、フィルタ対象領域Ｔがブロック境界を含んでいるか否かに応じて、０または１をとる制御変数ｖ＿ｂｌｏｃｋの値を１に設定し、当該制御変数ｖ＿ｂｌｏｃｋをフィルタ部１１０に対して出力する。
【０１９５】
また、制御変数決定部１２０は、フィルタ対象領域Ｔがブロック境界を含んでいるか否かに関連付けられたフィルタ基底ｂ＿ｂｌｏｃｋをフィルタ部１１０に対して出力する。フィルタ基底ｂ＿ｂｌｏｃｋとしては、例えば、上述したエッジ強調フィルタ基底、または、それらの線形和（もしくは加重線形和）を用いればよい。
【０１９６】
フィルタ部１１０は、以下の式（１８）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｂｌｏｃｋ×ｖ＿ｂｌｏｃｋ×ｂ＿ｂｌｏｃｋ（Ｋ）      …（１８）
ここで、ａ＿ｂｌｏｃｋは、フィルタ基底ｂ＿ｂｌｏｃｋに対応した係数（固定係数）である。
【０１９７】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各成分ｗ（Ｋ）、係数ａ＿ｂｌｏｃｋを、例えば、上述した統計的手法によって決定する。
【０１９８】
制御変数決定部１２０は、フィルタ対象領域Ｔがブロック境界を含んでいるか否かの判定を行い、フィルタ対象領域Ｔがブロック境界を含んでいる場合には、制御変数ｖ＿ｂｌｏｃｋの値を１に設定し、フィルタ対象領域Ｔがブロック境界を含んでいない場合には、制御変数ｖ＿ｂｌｏｃｋの値を０に設定する。また、制御変数決定部１２０は、制御変数ｖ＿ｂｌｏｃｋをフィルタ部１１０に対して出力する。
【０１９９】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｂｌｏｃｋを用いたフィルタ係数ベクトルＶに基づいて、フィルタ対象領域Ｔごとにフィルタリングを行う。
【０２００】
上記のような構成をとることによって、フィルタ対象領域Ｔがブロック境界を含んでいる場合には、ぼかし効果を有するフィルタリングを行い、そうでない場合には、ぼかし効果を有しないフィルタリングを行うことができる。
【０２０１】
なお、フィルタ対象領域Ｔがブロック境界を含んでいるか否かに応じてフィルタ係数の切り替えを行う場合であっても、上述したようなＤＣオフセットに対応するフィルタ基底、および、フィルタ係数を用いることによって、ＤＣオフセットによる輝度変化の効果を有するフィルタリングを行うことも可能である。
【０２０２】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｂｌｏｃｋとして、横方向エッジ強調基底をとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｂｌｏｃｋ×ｖ＿ｂｌｏｃｋ×ｂ＿ｂｌｏｃｋ（４）
＝ｗ（４）＋ａ＿ｂｌｏｃｋ×ｖ＿ｂｌｏｃｋ×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｂｌｏｃｋ×ｖ＿ｂｌｏｃｋ×２
ｗ´（６）＝ｗ（６）＋ａ＿ｂｌｏｃｋ×ｖ＿ｂｌｏｃｋ×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｂｌｏｃｋと読み替えればよい。また、フィルタ基底ｂ＿ｂｌｏｃｋとして他の基底をとった場合も同様である。
【０２０３】
（予測方向に応じてフィルタ係数の切り替えを行う例）
次に、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられたサイド情報に応じて、フィルタ係数を切り替える場合について説明する。特に、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックが、例えば、Ｈ．２６４／ＡＶＣ規格における単方向予測に基づいて生成されたブロックであるか、または、双方向予測に基づいて生成されたブロックであるかに応じて、フィルタ係数を切り替える場合について説明する。
【０２０４】
ここで、Ｈ．２６４／ＡＶＣ規格における単方向予測とは、当該ブロックが属するフレームよりも前に符号化／復号されたフレームを１つ用いて当該ブロックを予測する場合のことであり、双方向予測とは、当該ブロックが属するフレームの前に符号化／復号されるフレームを２つ用いて当該ブロックを予測する場合のことである。なお、予測に用いるフレームは１つか２つが一般的であるが、これより多くても構わない。
【０２０５】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックが、単方向予測に基づいて生成されたブロックであるか、または、双方向予測に基づいて生成されたブロックであるかに応じて、０または１をとる制御変数ｖ＿ｐｒｅｄの値を１に設定し、当該制御変数ｖ＿ｐｒｅｄをフィルタ部１１０に対して出力する。
【０２０６】
また、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックが、単方向予測に基づいて生成されたブロックであるか、または、双方向予測に基づいて生成されたブロックであるかに関連付けられたフィルタ基底ｂ＿ｐｒｅｄをフィルタ部１１０に対して出力する。フィルタ基底ｂ＿ｐｒｅｄとしては、例えば、上述したエッジ強調フィルタ基底、または、それらの線形和（もしくは加重線形和）を用いればよい。
【０２０７】
フィルタ部１１０は、以下の式（１９）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｐｒｅｄ×ｖ＿ｐｒｅｄ×ｂ＿ｐｒｅｄ（Ｋ）        …（１９）
ここで、ａ＿ｐｒｅｄは、フィルタ基底ｂ＿ｐｒｅｄに対応した係数（固定係数）である。
【０２０８】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各成分ｗ（Ｋ）、係数ａ＿ｐｒｅｄを、例えば、上述した統計的手法によって決定する。
【０２０９】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックが、単方向予測に基づいて生成されたブロックである場合には、制御変数ｖ＿ｐｒｅｄの値を０に設定し、当該ブロックが双方向予測に基づいて生成されたブロックである場合には、制御変数ｖ＿ｐｒｅｄの値を１に設定する。また、制御変数決定部１２０は、制御変数ｖ＿ｐｒｅｄをフィルタ部１１０に対して出力する。
【０２１０】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｐｒｅｄを用いたフィルタ係数ベクトルＶに基づいて、フィルタ対象領域Ｔごとにフィルタリングを行う。
【０２１１】
上記のような構成をとることによって、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックが単方向予測に基づいて生成されたブロックである場合には、エッジやぼかし強調効果を有しないフィルタリングを行い、当該画素が属するブロックが双方向予測に基づいて生成されたブロックである場合には、エッジ強調やぼかし効果を有するフィルタリングを行うことができる。
【０２１２】
なお、上記のように、単方向予測であるか双方向予測であるかに応じてフィルタ係数の切り替えを行う場合であっても、上述したようなＤＣオフセットに対応するフィルタ基底、および、フィルタ係数を用いることによって、ＤＣオフセットによる輝度変化の効果を有するフィルタリングを行うことも可能である。
【０２１３】
また、フィルタ対象領域Ｔに複数のブロックが含まれるような場合には、当該複数のブロックのうち何れか１つのブロックに割り付けられた情報を用いればよい。
【０２１４】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｐｒｅｄとして、横方向エッジ強調基底をとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｐｒｅｄ×ｖ＿ｐｒｅｄ×ｂ＿ｐｒｅｄ（４）
＝ｗ（４）＋ａ＿ｐｒｅｄ×ｖ＿ｐｒｅｄ×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｐｒｅｄ×ｖ＿ｐｒｅｄ×２
ｗ´（６）＝ｗ（６）＋ａ＿ｐｒｅｄ×ｖ＿ｐｒｅｄ×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｐｒｅｄと読み替えればよい。また、フィルタ基底ｂ＿ｐｒｅｄとして他の基底をとった場合も同様である。
【０２１５】
（予測方法に応じてフィルタ係数の切り替えを行う例）
次に、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックが、Ｈ．２６４／ＡＶＣ規格におけるイントラ予測されたブロックであるか、インター予測されたブロックであるかに応じてフィルタ係数を切り替える場合について説明する。
【０２１６】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックが、イントラ予測されたブロックであるか、または、インター予測されたブロックであるかに応じて、０または１をとる制御変数ｖ＿ｉｎｔの値を１に設定し、当該制御変数ｖ＿ｉｎｔをフィルタ部１１０に対して出力する。
【０２１７】
また、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックが、イントラ予測されたブロックであるか、または、インター予測されたブロックであるかに関連付けられたフィルタ基底ｂ＿ｉｎｔをフィルタ部１１０に対して出力する。フィルタ基底ｂ＿ｉｎｔとしては、例えば、上述したエッジ強調フィルタ基底、または、それらの線形和（もしくは加重線形和）を用いればよい。
【０２１８】
フィルタ部１１０は、以下の式（２０）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｉｎｔ×ｖ＿ｉｎｔ×ｂ＿ｉｎｔ（Ｋ）          …（２０）
ここで、ａ＿ｉｎｔは、フィルタ基底ｂ＿ｉｎｔに対応した係数（固定係数）である。
【０２１９】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各成分ｗ（Ｋ）、係数ａ＿ｉｎｔを、例えば、上述した統計的手法によって決定する。
【０２２０】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックが、イントラ予測されたブロックである場合には、制御変数ｖ＿ｉｎｔの値を１に設定し、インター予測されたブロックである場合には、制御変数ｖ＿ｉｎｔの値を０に設定する。また、制御変数決定部１２０は、制御変数ｖ＿ｉｎｔをフィルタ部１１０に対して出力する。
【０２２１】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｐｒｅｄを用いたフィルタ係数ベクトルＶに基づいて、フィルタ対象領域Ｔごとにフィルタリングを行う。
【０２２２】
一般に、イントラ予測されたブロックにおいては、エッジがぼやけ易いという傾向がある。
【０２２３】
上記のような構成をとることによって、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックがイントラ予測されたブロックである場合には、エッジ強調効果を有するフィルタリングを行い、インター予測されたブロックである場合には、エッジ強調効果を有しないフィルタリングを行うことができる。したがって、上記のような構成をとることによって、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックがイントラ予測されたブロックであっても、インター予測されたブロックであっても、効果的なフィルタリングを行うことができる。
【０２２４】
なお、上記のように、インター予測であるかイントラ予測であるかに応じてフィルタ係数の切り替えを行う場合であっても、上述したようなＤＣオフセットに対応するフィルタ基底、および、フィルタ係数を用いることによって、ＤＣオフセットによる輝度変化の効果を有するフィルタリングを行うことも可能である。
【０２２５】
また、フィルタ対象領域Ｔに複数のブロックが含まれるような場合には、当該複数のブロックのうち何れか１つのブロックに割り付けられた情報を用いればよい。
【０２２６】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｉｎｔとして、横方向エッジ強調基底をとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｉｎｔ×ｖ＿ｉｎｔ×ｂ＿ｉｎｔ（４）
＝ｗ（４）＋ａ＿ｉｎｔ×ｖ＿ｉｎｔ×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｉｎｔ×ｖ＿ｉｎｔ×２
ｗ´（６）＝ｗ（６）＋ａ＿ｉｎｔ×ｖ＿ｉｎｔ×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｉｎｔと読み替えればよい。また、フィルタ基底ｂ＿ｉｎｔとして他の基底をとった場合も同様である。
【０２２７】
（ブロック境界からの距離に応じてフィルタ係数の切り替えを行う例）
次に、画像データ＃１００の座標（ｘ、ｙ）における画素と、当該画素が属するブロックのブロック境界との距離に応じて、フィルタ係数を切り替える場合について説明する。      
【０２２８】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素と、当該画素が属するブロックのブロック境界との距離に応じて、０または１をとる制御変数ｖ＿ｄｉｓｔの値を１に設定し、当該制御変数ｖ＿ｄｉｓｔをフィルタ部１１０に対して出力する。
【０２２９】
また、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素と、当該画素が属するブロックのブロック境界との距離に関連付けられたフィルタ基底ｂ＿ｄｉｓｔをフィルタ部１１０に対して出力する。フィルタ基底ｂ＿ｄｉｓｔとしては、例えば、上述したエッジ強調フィルタ基底、または、それらの線形和（もしくは加重線形和）を用いればよい。
【０２３０】
フィルタ部１１０は、以下の式（２１）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｄｉｓｔ×ｖ＿ｄｉｓｔ×ｂ＿ｄｉｓｔ（Ｋ）        …（２１）
ここで、ａ＿ｄｉｓｔは、フィルタ基底ｂ＿ｄｉｓｔに対応した係数（固定係数）である。
【０２３１】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各成分ｗ（Ｋ）、係数ａ＿ｄｉｓｔを、例えば、上述した統計的手法によって決定する。
【０２３２】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素と、当該画素が属するブロックのブロック境界との距離を算出し、当該距離が、予め定められた第１の閾値よりも小さい場合に、制御変数ｖ＿ｄｉｓｔの値を２に設定し、当該距離が上記第１の閾値以上であって、上記第１の閾値よりも大きい第２の閾値より小さい場合に、制御変数ｖ＿ｄｉｓｔの値を１に設定し、当該距離が上記第２の閾値以上である場合に、制御変数ｖ＿ｄｉｓｔの値を０に設定する。また、制御変数決定部１２０は、制御変数ｖ＿ｄｉｓｔをフィルタ部１１０に対して出力する。
【０２３３】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｄｉｓｔを用いたフィルタ係数ベクトルＶに基づいて、フィルタ対象領域Ｔごとにフィルタリングを行う。
【０２３４】
上記のような構成をとることによって、画像データ＃１００の座標（ｘ、ｙ）における画素と、当該画素が属するブロックのブロック境界との距離に応じて、エッジ強調効果が異なる３段階のフィルタリングを行うことができる。すなわち、当該画素とブロック境界との距離が、上記第１の閾値よりも小さい場合に、上記３段階のうち最もエッジ強調効果が強いフィルタリングを行い、当該距離が、上記第１の閾値以上であって、上記第２の閾値よりも小さい場合に、上記３段階のうち２番目にエッジ強調効果が強いフィルタリングを行い、上記距離が、上記第２の閾値以上である場合に、エッジ強調効果を有しないフィルタリングを行うことができる。
【０２３５】
なお、ブロック境界からの距離に応じてフィルタ係数の切り替えを行う場合であっても、上述したようなＤＣオフセットに対応するフィルタ基底、および、フィルタ係数を用いることによって、ＤＣオフセットによる輝度変化の効果を有するフィルタリングを行うことも可能である。
【０２３６】
また、上記ブロック境界が垂直な境界であるか、水平な境界であるかに応じて、上記フィルタ基底を変更するような構成としてもよい。すなわち、上位ブロック境界が垂直な境界である場合には、フィルタ係数ｂ＿ｄｉｓｔが、上述した横方向エッジ強調基底をとり、上位ブロック境界が水平な境界である場合には、フィルタ係数ｂ＿ｄｉｓｔが、上述した縦方向エッジ強調基底をとるような構成としてもよい。
【０２３７】
また、制御変数決定部１２０は、垂直なブロック境界からの距離に応じた制御変数と、水平なブロック境界からの距離に応じた制御変数とを出力するような構成とし、垂直なブロック境界からの距離、および、水平なブロック境界からの距離のそれぞれに応じて、エッジ強調効果の異なるフィルタリングを行うことも可能である。
【０２３８】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｄｉｓｔとして、横方向エッジ強調基底をとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｄｉｓｔ×ｖ＿ｄｉｓｔ×ｂ＿ｄｉｓｔ（４）
＝ｗ（４）＋ａ＿ｄｉｓｔ×ｖ＿ｄｉｓｔ×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｄｉｓｔ×ｖ＿ｄｉｓｔ×２
ｗ´（６）＝ｗ（６）＋ａ＿ｄｉｓｔ×ｖ＿ｄｉｓｔ×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｄｉｓｔと読み替えればよい。また、フィルタ基底ｂ＿ｄｉｓｔとして他の基底をとった場合も同様である。
【０２３９】
（フレーム内位置に応じてフィルタ係数の切り替えを行う例）
次に、画像データ＃１００の座標（ｘ、ｙ）における画素のフレーム内における位置に応じて、フィルタ係数を切り替える場合について説明する。
【０２４０】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素のフレーム内における位置に応じて、０または１をとる制御変数ｖ＿ｘｙの値を１に設定し、当該制御変数ｖ＿ｘｙをフィルタ部１１０に対して出力する。
【０２４１】
また、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素のフレーム内における位置に関連付けられたフィルタ基底ｂ＿ｘｙをフィルタ部１１０に対して出力する。フィルタ基底ｂ＿ｘｙとしては、例えば、上述したエッジ強調基底や上述したＤＣオフセット基底などを用いればよい。
【０２４２】
フィルタ部１１０は、以下の式（２２）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｘｙ×ｖ＿ｘｙ×ｂ＿ｘｙ（Ｋ）  …（２２）
ここで、ａ＿ｘｙは、フィルタ基底ｂ＿ｘｙに対応した係数（固定係数）である。
【０２４３】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各成分ｗ（Ｋ）、係数ａ＿ｘｙを、例えば、上述した統計的手法によって決定する。
【０２４４】
制御変数決定部１２０は、例えば、画像データ＃１００の座標（ｘ、ｙ）における画素が、フレームの上半面に位置する場合に、制御変数ｖ＿ｘｙの値を１に設定し、当該画素がフレームの下半面に位置する場合に、制御変数ｖ＿ｘｙの値を０に設定する。また、制御変数決定部１２０は、制御変数ｖ＿ｘｙをフィルタ部１１０に対して出力する。
【０２４５】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｘｙを用いたフィルタ係数ベクトルＶに基づいて、フィルタ対象領域Ｔごとにフィルタリングを行う。
【０２４６】
上記のような構成をとることによって、フレームの上半面に対して、ＤＣオフセットの効果を有するフィルタリングを行い、フレームの下半面に対して、ＤＣオフセットの効果を有しないフィルタリングを行うことができる。
【０２４７】
なお、上記の説明では、フィルタ基底ｂ＿ｘｙとして、ＤＣオフセット基底を用いる場合を例に挙げたが、本発明はこれに限定されるものではなく、フィルタ基底ｂ＿ｘｙとして、上述したエッジ強調基底を用いることも可能である。
【０２４８】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｘｙとして、横方向エッジ強調基底をとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｘｙ×ｖ＿ｘｙ×ｂ＿ｘｙ（４）
＝ｗ（４）＋ａ＿ｘｙ×ｖ＿ｘｙ×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｘｙ×ｖ＿ｘｙ×２
ｗ´（６）＝ｗ（６）＋ａ＿ｘｙ×ｖ＿ｘｙ×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｘｙと読み替えればよい。また、フィルタ基底ｂ＿ｘｙとして他の基底をとった場合も同様である。
【０２４９】
（量子化パラメータの大きさに応じてフィルタ係数の切り替えを行う例）
次に、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられた量子化パラメータＱＰに応じて、フィルタ係数を切り替える場合について説明する。
【０２５０】
ここで、量子化パラメータＱＰとは、例えば、ＭＰＥＧ−２、および、Ｈ．２６４／ＡＶＣ規格において、量子化ステップに対応付けられたパラメータであって、各ブロックに割り付けられたパラメータのことを指す。
【０２５１】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられた量子化パラメータの大きさに応じて、０または１をとる制御変数ｖ＿ｑｐの値を１に設定し、当該制御変数ｖ＿ｑｐをフィルタ部１１０に対して出力する。
【０２５２】
また、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられた量子化パラメータＱＰの大きさに関連付けられたフィルタ基底ｂ＿ｑｐをフィルタ部１１０に対して出力する。フィルタ基底ｂ＿ｑｐとしては、例えば、上述したエッジ強調基底を用いればよい。
【０２５３】
フィルタ部１１０は、以下の式（２３）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｑｐ×ｖ＿ｑｐ×ｂ＿ｑｐ（Ｋ）  …（２３）
ここで、ａ＿ｑｐは、フィルタ基底ｂ＿ｑｐに対応した係数（固定係数）である。
【０２５４】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各成分ｗ（Ｋ）、係数ａ＿ｑｐを、例えば、上述した統計的手法によって決定する。
【０２５５】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられた量子化パラメータＱＰの値が、予め定められた閾値以上である場合に、制御変数ｖ＿ｑｐの値を１に設定し、量子化パラメータＱＰの値が当該閾値よりも小さい場合に、制御変数ｖ＿ｑｐの値を０に設定する。また、制御変数決定部１２０は、制御変数ｖ＿ｑｐをフィルタ部１１０に対して出力する。
【０２５６】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｑｐを用いたフィルタ係数ベクトルＶに基づいて、フィルタ対象領域Ｔごとにフィルタリングを行う。
【０２５７】
一般に、より大きな量子化パラメータＱＰが関連付けられたブロックは、よりぼやけを含み易いという傾向がある。
【０２５８】
上記のような構成をとることによって、量子化パラメータＱＰが上記閾値以上である場合に、ぼかし効果を有するフィルタリングを行い、量子化パラメータＱＰが上記閾値より小さい場合に、ぼかし効果を有しないフィルタリングを行うことができる。
【０２５９】
したがって、上記のような構成をとることによって、画像データ＃１００が、様々な値の量子化パラメータを含む場合であっても、効果的なフィルタリングを行うことができる。
【０２６０】
なお、上記のように、量子化パラメータＱＰの値に応じてフィルタ係数の切り替えを行う場合であっても、上述したようなＤＣオフセットに対応するフィルタ基底、および、フィルタ係数を用いることによって、ＤＣオフセットによる輝度変化の効果を有するフィルタリングを行うことも可能である。
【０２６１】
また、フィルタ対象領域Ｔに複数のブロックが含まれるような場合には、当該複数のブロックのうち何れか１つのブロックに割り付けられた情報を用いればよい。
【０２６２】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｑｐとして、横方向エッジ強調基底をとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｑｐ×ｖ＿ｑｐ×ｂ＿ｑｐ（４）
＝ｗ（４）＋ａ＿ｑｐ×ｖ＿ｑｐ×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｑｐ×ｖ＿ｑｐ×２
ｗ´（６）＝ｗ（６）＋ａ＿ｑｐ×ｖ＿ｑｐ×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｑｐと読み替えればよい。また、フィルタ基底ｂ＿ｑｐとして他の基底をとった場合も同様である。
【０２６３】
（ＤＣ成分の大きさに応じてフィルタ係数の切り替えを行う場合）
次に、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられたＤＣ成分の大きさに応じて、フィルタ係数を切り替える場合について説明する。
【０２６４】
ここで、上記ＤＣ成分とは、例えば、Ｈ．２６４／ＡＶＣ規格において、上記ブロックに含まれる画素値に対して周波数変換を行った後の各係数のうち直流成分に対応する係数のことである。
【０２６５】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられたＤＣ成分の大きさに応じて、０または１をとる制御変数ｖ＿ｄｃ’の値を１に設定し、当該制御変数ｖ＿ｄｃ’をフィルタ部１１０に対して出力する。      
【０２６６】
また、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられたＤＣ成分の大きさに関連付けられたフィルタ基底ｂ＿ｄｃ’をフィルタ部１１０に対して出力する。フィルタ基底ｂ＿ｄｃ’としては、例えば、上述したエッジ強調基底を用いればよい。
【０２６７】
フィルタ部１１０は、以下の式（２４）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｄｃ’×ｖ＿ｄｃ’×ｂ＿ｄｃ’（Ｋ）          …（２４）
ここで、ａ＿ｄｃ’は、フィルタ基底ｂ＿ｄｃ’に対応した係数（固定係数）である。
【０２６８】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各成分ｗ（Ｋ）、係数ａ＿ｄｃ’を、例えば、上述した統計的手法によって決定する。
【０２６９】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられたＤＣ成分の値が、予め定められた閾値以上である場合に、制御変数ｖ＿ｄｃ’の値を０に設定し、ＤＣ成分の値が当該閾値よりも小さい場合に、制御変数ｖ＿ｄｃ’の値を１に設定する。また、制御変数決定部１２０は、制御変数ｖ＿ｄｃ’をフィルタ部１１０に対して出力する。
【０２７０】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｄｃ’を用いたフィルタ係数ベクトルＶに基づいて、フィルタ対象領域Ｔごとにフィルタリングを行う。
【０２７１】
一般に、より小さなＤＣ成分が関連付けられたブロックにおいては、ぼやけがより生じ易いという傾向がある。
【０２７２】
上記のような構成をとることによって、ＤＣ成分の値が上記閾値よりも小さい場合に、ぼかし効果を有するフィルタリングを行い、ＤＣ成分の値が上記閾値以上である場合に、ぼかし効果を有しないフィルタリングを行うことができる。
【０２７３】
したがって、上記のような構成をとることによって、画像データ＃１００の示す画像が、様々なＤＣ成分を有するブロックから構成される場合であっても、効果的なフィルタリングを行うことができる。
【０２７４】
なお、上記のように、ＤＣパラメータの値に応じてフィルタ係数の切り替えを行う場合であっても、上述したようなＤＣオフセットに対応するフィルタ基底、および、フィルタ係数を用いることによって、ＤＣオフセットによる輝度変化の効果を有するフィルタリングを行うことも可能である。
【０２７５】
また、フィルタ対象領域Ｔに複数のブロックが含まれるような場合には、当該複数のブロックのうち何れか１つのブロックに割り付けられた情報を用いればよい。
【０２７６】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｄｃ’として、横方向エッジ強調基底をとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｄｃ’×ｖ＿ｄｃ’×ｂ＿ｄｃ’（４）
＝ｗ（４）＋ａ＿ｄｃ’×ｖ＿ｄｃ’×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｄｃ’×ｖ＿ｄｃ’×２
ｗ´（６）＝ｗ（６）＋ａ＿ｄｃ’×ｖ＿ｄｃ’×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｄｃ’と読み替えればよい。また、フィルタ基底ｂ＿ｄｃ’として他の基底をとった場合も同様である。
【０２７７】
（動きベクトルの大きさに応じてフィルタ係数の切り替えを行う場合）
次に、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられた動きベクトルの大きさに応じて、フィルタ係数を切り替える場合について説明する。
【０２７８】
ここで、上記動きベクトルとは、例えば、Ｈ．２６４／ＡＶＣ規格において、画面間予測のために用いられる動きベクトルを指す。
【０２７９】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられた動きベクトルの大きさ応じて、０または１をとる制御変数ｖ＿ｍｖの値を１に設定し、当該制御変数ｖ＿ｍｖをフィルタ部１１０に対して出力する。
【０２８０】
また、制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられた動きベクトルの大きさに関連付けられたフィルタ基底ｂ＿ｍｖをフィルタ部１１０に対して出力する。フィルタ基底ｂ＿ｍｖとしては、例えば、上述したエッジ強調基底を用いればよい。
【０２８１】
フィルタ部１１０は、以下の式（２５）によって表現される各成分ｖ（Ｋ）を有するフィルタ係数ベクトルＶの各係数を教師データ＃２００を参照して決定する。
ｖ（Ｋ）＝ｗ（Ｋ）＋ａ＿ｍｖ×ｖ＿ｍｖ×ｂ＿ｍｖ（Ｋ）  …（２５）
ここで、ａ＿ｍｖは、フィルタ基底ｂ＿ｍｖに対応した係数（固定係数）である。
【０２８２】
フィルタ部１１０は、スライスごと、または、フレームごとに、固定係数ベクトルの各成分ｗ（Ｋ）、係数ａ＿ｍｖを、例えば、上述した統計的手法によって決定する。
【０２８３】
制御変数決定部１２０は、画像データ＃１００の座標（ｘ、ｙ）における画素が属するブロックに関連付けられた動きベクトルの大きさが、予め定められた閾値以上である場合に、制御変数ｖ＿ｍｖの値を１に設定し、動きベクトルの大きさが当該閾値よりも小さい場合に、制御変数ｖ＿ｍｖの値を０に設定する。また、制御変数決定部１２０は、制御変数ｖ＿ｍｖをフィルタ部１１０に対して出力する。
【０２８４】
フィルタ部１１０は、制御変数決定部１２０から供給される制御変数ｖ＿ｍｖを用いたフィルタ係数ベクトルＶに基づいて、フィルタ対象領域Ｔごとにフィルタリングを行う。
【０２８５】
一般に、より大きな動きベクトルが関連付けられたブロックにおいては、ぼやけがより生じ易いという傾向がある。
【０２８６】
上記のような構成をとることによって、動きベクトルの大きさが上記閾値以上である場合に、ぼかし効果を有するフィルタリングを行い、動きベクトルの大きさが上記閾値より小さい場合に、ぼかし効果を有しないフィルタリングを行うことができる。
【０２８７】
したがって、上記のような構成をとることによって、画像データ＃１００の示す画像が、様々な大きさを有する動きベクトルが関連付けられたブロックから構成される場合であっても、効果的なフィルタリングを行うことができる。
【０２８８】
なお、上記のように、動きベクトルの大きさに応じてフィルタ係数の切り替えを行う場合であっても、上述したようなＤＣオフセットに対応するフィルタ基底、および、フィルタ係数を用いることによって、ＤＣオフセットによる輝度変化の効果を有するフィルタリングを行うことも可能である。
【０２８９】
また、フィルタ対象領域Ｔに複数のブロックが含まれるような場合には、当該複数のブロックのうち何れか１つのブロックに割り付けられた情報を用いればよい。
【０２９０】
また、上記動きベクトルの大きさに代えて、上記動きベクトルと予測ベクトルとの差分である差分動きベクトルの大きさに応じて、フィルタ係数を切り替えるような構成としてもよい。
【０２９１】
以上、本実施形態に係る適応フィルタ１００によるフィルタ係数の切り替えの例について説明を行ったが、本発明は、上述した例に限定されるものではない。例えば、上記の例を適宜組み合わせることによって、フィルタ係数を切り替えるような場合も本発明に含まれる。すなわち、制御変数決定部１２０が、上記の例において説明した制御変数、および、制御基底のうち、複数の制御基底、および、それに対応する複数の制御基底を出力するような構成としてもよい。このような構成をとることによって、より効果的なフィルタリングを行うことができる。
【０２９２】
また、本動作例における適応フィルタ１００による具体的なフィルタ係数算出処理としては、例えば、フィルタ基底ｂ＿ｍｖとして、横方向エッジ強調基底をとった場合には、上記＜フィルタ係数算出処理＞の（予備ステップ）におけるｗ´（ｉ）を以下の式によって算出し、保持しておけばよい。
ｗ´（４）＝ｗ（４）＋ａ＿ｍｖ×ｖ＿ｍｖ×ｂ＿ｍｖ（４）
＝ｗ（４）＋ａ＿ｍｖ×ｖ＿ｍｖ×−１
ｗ´（５）＝ｗ（５）＋ａ＿ｍｖ×ｖ＿ｍｖ×２
ｗ´（６）＝ｗ（６）＋ａ＿ｍｖ×ｖ＿ｍｖ×−１
また、上記＜フィルタ係数算出処理＞における他のステップにおいては、制御変数ｖ＿ｓｋｉｐを制御変数ｖ＿ｍｖと読み替えればよい。また、フィルタ基底ｂ＿ｍｖとして他の基底をとった場合も同様である。
【０２９３】
また、制御変数決定部１２０が、複数の制御変数を出力する場合には、制御変数決定部１２０は、当該複数の制御変数のうち、フィルタリングに対する寄与が小さい複数の制御変数を決定し、当該寄与の小さい複数の制御変数の線形和によって、新たな制御変数を設定し、当該新たな制御変数の値を切り替えることによって、フィルタ係数を切り替えるような構成としてもよい。
【０２９４】
例えば、制御変数ｖ＿０、ｖ＿１、ｖ＿２のうち、制御変数ｖ＿０、および、制御変数ｖ＿２については、フィルタリングに対する寄与が小さい場合には、制御変数決定部１２０は、ｖ＿０２＝ｖ＿０＋ｖ＿２によって、新たな制御変数ｖ＿０２を設定し、当該制御変数ｖ＿０２の値を切り替えることによって、フィルタ係数を切り替えるような構成としてもよい。
【０２９５】
このような構成をとることによって、フィルタリングに対する寄与の小さい制御変数の数を減らすことができるので、適応フィルタ１００における計算量を削減することができる。
【０２９６】
なお、フィルタリングに対する寄与が小さい複数の制御変数の具体的な決定方法は、本発明を限定するものではないが、例えば、制御変数ごとに異なる値を用いてフィルタリングを行い、フィルタリング前の画素値と、フィルタリング後の画素値との差が小さい制御変数を上記寄与の小さい制御変数に同定すればよい。
【０２９７】
また、上記の説明においては、制御変数決定部１２０から出力されたフィルタ基底に対して、上述した統計的手法によって、当該フィルタ基底に対する係数を決定する構成を例に挙げたが、本発明はこれに限定されるものではない。
【０２９８】
例えば、制御変数決定部１２０は、上述した統計的手法によって決定された係数に対する最適なフィルタ基底を決定するような構成としてもよい。
【０２９９】
また、フィルタ基底を固定して係数を算出する工程と、係数を固定して最適なフィルタ係数を決定する工程とを繰り返すことによって、画像データ＃１００に対する最適なフィルタ係数、および、フィルタ基底を求めることも可能である。
【０３００】
以上が、本実施形態に係る適応フィルタ１００についての説明である。
【０３０１】
以下では、適応フィルタ１００の具体的な使用例として、適応フィルタ１００を備えた動画像符号化装置、および、動画像復号装置について、図５〜図９を参照して説明する。
【０３０２】
（動画像符号化装置への使用例）
まず、適応フィルタ１００を備えている動画像符号化装置１について図４を参照して説明する。
【０３０３】
動画像符号化装置１は、その一部に、Ｈ．２６４／ＡＶＣ規格、および、ＫＴＡソフトウェアに採用されている技術を用いている動画像符号化装置である。
【０３０４】
図５は動画像符号化装置１の構成を示すブロック図である。
【０３０５】
図５に示すように、動画像符号化装置１は、変換・量子化部１１、可変長符号化部１２、逆量子化・逆変換部１３、バッファメモリ１４、イントラ予測画像生成部１５、インター予測画像生成部１６、予測方式制御部１８、動きベクトル冗長性削減部１９、加算器２１、減算器２２、デブロッキングフィルタ５０、および、適応フィルタ１００を備えている。
【０３０６】
動画像符号化装置１には、隣接する複数の画素から構成されるブロック画像（以下「マクロブロック」と呼ぶ）に分割された入力画像＃１が入力される。
【０３０７】
動画像符号化装置１は、入力画像＃１の符号化処理を行い、符号化データ＃２を出力する。
【０３０８】
変換・量子化部１１は、マクロブロックに分割された入力画像＃１と、後述する予測方式制御部１８から出力される予測画像＃１８ａとの差分画像＃２２を、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）変換により、周波数成分へ変換した後、当該周波数成分の量子化を行い、量子化予測残差データ＃１１を生成する。ここで、上記量子化とは、上記周波数成分を整数値に対応付ける演算のことである。また、上記ＤＣＴ変換、および、量子化は、マクロブロックを分割したブロック単位で行われる。以下では、処理の対象となるマクロブロックを「対象マクロブロック」と呼び、処理の対象となるブロックを「対象ブロック」と呼ぶ。
【０３０９】
逆量子化・逆変換部１３は、量子化予測残差データ＃１１の復号を行い、予測残差＃１３を生成する。具体的には、逆量子化・逆変換部１３は、量子化予測残差データ＃１１の逆量子化、すなわち、量子化予測残差データ＃１１を構成する整数値の周波数成分への対応付け、および、当該周波数成分の逆ＤＣＴ変換、すなわち、当該周波数成分に基づいた対象マクロブロックの画素成分への逆変換を行い、予測残差＃１３を生成する。
【０３１０】
加算器２１は、予測残差＃１３と、予測画像＃１８ａとを加算し、復号画像＃２１を生成する。生成された復号画像＃２１は、デブロッキングフィルタ５０に供給される。
【０３１１】
デブロッキングフィルタ５０は、復号画像＃２１におけるブロック境界、またはマクロブロック境界を介して互いに隣接する画素の画素値の差が予め定められた閾値よりも小さい場合に、復号画像＃２１における当該ブロック境界、またはマクロブロック境界に対してデブロッキング処理を施す。デブロッキング処理が施された画像データは、デブロック画像＃５０として出力される。
【０３１２】
適応フィルタ１００は、デブロック画像＃５０に対して、＜適応フィルタ１００によるフィルタリングの例＞において説明したフィルタリングを施し、出力画像データ＃１１０ａをバッファメモリ１４に対して出力する。ここで、デブロック画像＃５０は、上述した画像データ＃１００に対応している。
【０３１３】
また、適応フィルタ１００には、入力画像＃１、および、復号画像＃２１、および、復号画像＃２１に関連付けられたサイド情報が入力される。ここで、入力画像＃１は、上述した教師データ＃２００に対応しており、上記サイド情報は、上述したサイド情報＃１００ａに対応している。
【０３１４】
また、適応フィルタ１００は、フィルタリングに用いたフィルタ係数の情報であるフィルタ係数情報＃１０１を出力する。ここで、フィルタ係数情報＃１０１は、上述したフィルタ係数情報＃１１０ｂに対応している。すなわち、フィルタ係数情報＃１０１には、固定係数ベクトルＷの各成分ｗ（Ｋ）、および、フィルタリングに用いた固定係数が含まれる。例えば、上述した動作例のように、適応フィルタ１００が、スキップモードか否かに応じてフィルタ係数の切り替えを行う場合には、フィルタ係数情報＃１０１には、固定係数ベクトルＷの各成分ｗ（Ｋ）、および、固定係数ａ＿ｓｋｉｐが含まれる。また、他の動作例についても同様である。
【０３１５】
なお、本使用例における適応フィルタ１００は、ほぼ、ＫＴＡにおけるＡＬＦ（Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ）に対応している。すなわち、本使用例における適応フィルタ１００は、整数座標の画素（以下、整数画素と呼ぶ）の画素値を入力として、整数画素の画素値を出力する。これは、式（１）において、ｘ、ｙ、ｘ’、および、ｙ’を何れも整数にとることに対応している。
【０３１６】
なお、動画像符号化装置１はデブロッキングフィルタ５０を備えない構成でも良い。この場合、適応フィルタ１００は、デブロック画像＃５０ではなく、復号画像＃２１に直接フィルタリングを行う。特に、ブロック境界を含むか否か、もしくは、ブロック境界との距離を、制御変数とする場合には、適応フィルタ１００は、デブロッキングフィルタと同様ブロックノイズを削除する性質を持たすことができる。このような場合、デブロッキングフィルタ５０処理を省く分、処理量を削減する効果を得ることができる。さらに、デブロッキングフィルタ５０として、デブロッキングフィルタに特化した適応フィルタを使用することで従来のデブロッキングフィルタよりも高い効果を得ることができる（例えば輝度の値によってぼかし効果を変えるフィルタが適用できる）。
【０３１７】
動画像符号化装置１は、デブロッキングフィルタと適応フィルタを含む構成、デブロッキングフィルタを含まず適応フィルタのみを含む構成、デブロッキングフィルタ用適応フィルタと適応フィルタの両者を含む構成のいずれでも良い。
【０３１８】
イントラ予測画像生成部１５は、バッファメモリ１４に格納された復号画像＃２１から局所復号画像＃１４ａ（対象マクロブロックと同じフレームの既復号領域）を抽出し、局所復号画像＃１４ａに基づいてフレーム内予測を行い、イントラ予測画像＃１５を生成する。
【０３１９】
インター予測画像生成部１６は、入力画像＃１上の対象ブロックに対し、既にフレーム全体が復号され、バッファメモリ１４に格納された参照画像＃１４ｂを用いて、動きベクトル＃１７を算出し、割り付ける。算出された動きベクトル＃１７は、予測画像生成部１６、動きベクトル冗長性削減部１９に対して出力されると共に、バッファメモリ１４に格納される。また、インター予測画像生成部１６は、参照画像＃１４ｂに対し、ブロックごとに、動きベクトル＃１７に基づいた動き補償を行い、インター予測画像＃１６を生成する。
【０３２０】
予測方式制御部１８は、マクロブロック単位で、イントラ予測画像＃１５と、インター予測画像＃１６と、入力画像＃１とを比較し、イントラ予測画像＃１５、または、インター予測画像＃１６のうち、何れか一方を選択し、予測画像＃１８ａとして出力する。また、予測方式制御部１８は、イントラ予測画像＃１５、または、インター予測画像＃１６のうち、何れを選択したのかを表す情報である予測モード＃１８ｂを出力する。予測画像＃１８ａは減算器２２に入力される。
【０３２１】
予測モード＃１８ｂは、バッファメモリ１４に格納されると共に、可変長符号化部１２に入力される。
【０３２２】
動きベクトル冗長性削減部１９は、インター予測画像生成部１６において上記対象ブロックに動きベクトル＃１７が割り付けられた後、他のブロックに割り付けられ、バッファメモリ１４に格納された動きベクトル群＃１４ｃに基づいて予測ベクトルを算出する。また、動きベクトル冗長性削減部１９は、当該予測ベクトルと、動きベクトル＃１７との差分をとり、差分動きベクトル＃１９を生成する。生成された差分動きベクトル＃１９は、可変長符号化部１２に出力される。
【０３２３】
可変長符号化部１２は、量子化予測残差データ＃１１、差分動きベクトル＃１９、予測モード＃１８ｂ、および、フィルタ係数情報＃１０１に含まれるフィルタ係数に対して可変長符号化を行い、符号化データ＃２を生成する。
【０３２４】
減算器２２は、対象マクロブロックに対し、入力画像＃１と、予測画像＃１８ａとの差分をとり、差分画像＃２２を出力する。
【０３２５】
（フィルタ係数情報＃１０１の符号化）
ここで、フィルタ係数情報＃１０１の符号化について、図６の（ａ）〜（ｃ）を参照して具体的に説明する。図６の（ａ）〜（ｃ）は、それぞれ、フィルタ係数情報＃１０１の符号化データの構成を示す図である。
【０３２６】
フィルタ係数情報＃１０１は、フィルタ係数もしくはフィルタ係数の算出に必要な情報である。例えば、フィルタ係数算出式Ｆが式（９）の場合には、固定係数ベクトルｗｉ、固定係数ａｋｊとなる。フィルタ係数算出式Ｆが式（６）の場合には、ｗ（ｉ）、ｉ＝１〜１０、及びａ＿ｓｋｉｐがフィルタ係数情報＃１０１となる。
【０３２７】
図６の（ａ）の例は、フィルタ係数情報＃１０１の符号化データが固定フィルタパラメータから構成される。フィルタ係数情報＃１０１の各値は、中心要素を除き０に近い値の出現確率が高いため、フィルタ係数情報＃１０１の各値を符号と絶対値に分け、符号については１ビットの符号、絶対値については０に近いほど短い符号語となる符号を割り当て符号化する。符号化方法はこれに限らず算術符号などを適用しても良い。中心要素は１に近い値であることを利用する。
【０３２８】
また、フィルタ係数情報＃１０１の予測値を算出し、フィルタ係数情報＃１０１と予測値の差（予測差分）を符号化することも適当である。予測値としては中心値が１に近く、他の要素は０に近いことを利用して中心に対応するｗ（５）の予測値を０．８、その周囲のｗ（ｉ）の予測値を０．１とすることなどをすれば良い。予測方法はこれに限らない。
【０３２９】
また、図３を用いて先に説明したように、フィルタ係数ベクトルは、制御変数によって変化する成分と、変化しない成分とに分けることが可能である。この特性を利用して符号化することも適当である。図６の（ｂ）及び（ｃ）は、この例を２つ示している。
【０３３０】
図６の（ｂ）の例は、（１）制御変数によって変化しない各々の成分に関するフィルタ係数と、（２）制御変数によって変化する各々の成分に関するフィルタ係数であって、制御変数の各々の値に対応するフィルタ係数と、から構成される。この例では、制御変数によって変化しない成分についてはフィルタ係数ｖ（ｉ）をそのまま符号化し、制御変数によって変化する成分については、制御変数ｖ＿ｓｋｉｐが０の場合のフィルタ係数ｖ（ｉ）、ｉ＝４、５、６と、制御変数ｖ＿ｓｋｉｐが１の場合のフィルタ係数ｖ´（ｉ）、ｉ＝４、５、６とを符号化する。
【０３３１】
図６の（ｃ）の例は、（１）制御変数によって変化しない各々の成分に関するフィルタ係数（基本係数と呼ぶ）と、（２）制御変数によって変化する各々の成分に関する、フィルタ係数と基本係数との差分と、を含む構成である。この例では、まず、制御変数ｖ＿ｓｋｉｐが０の場合に対応するフィルタ係数ベクトルＶ、ｖ（ｉ）、ｉ＝１〜１０を符号化する。次いで、制御変数によって変化するフィルタ係数ベクトルの要素について、制御変数ｖ＿ｓｋｉｐが０の場合に対応するフィルタ係数ｖ（ｉ）と制御変数ｖ＿ｓｋｉｐが１の場合に対応するフィルタ係数ｖ´（ｉ）のと差分ｄｖ´（ｉ）、ｉ＝４、５、６を符号化する。
【０３３２】
なお、図６の（ｂ）及び（ｃ）の場合においても、フィルタ係数が対称（基底が対称）であれば、同一となるフィルタ係数については一方だけを符号化すれば良い。
【０３３３】
上記の例では、制御変数ｖ＿ｓｋｉｐによって変化する成分が３つであるので、図６の（ｂ）、（ｃ）のように、フィルタ係数によって変化する成分と変化しない成分を成分毎に符号化するよりも、制御変数に関わる部分のフィルタ係数情報（ここではａ＿ｓｋｉｐ）のみを符号化する（ａ）の方が、符号化するフィルタ係数情報の数が少なくなり好適である。しかし、制御変数に対応する基底としてＤＣオフセット基底ｂ＿ｄｃを用いた場合のように、制御変数によって変化する成分が１つの場合には、フィルタ係数によって変化する成分と変化しない成分とを成分毎に符号化する方法と、制御変数に関わる部分のフィルタ係数情報のみを符号化する方法とでは符号化するフィルタ係数情報の数は等しくなる。
【０３３４】
このように、本発明に係る符号化装置（動画像符号化装置１）は、上記画像フィルタ（適応フィルタ１００）を備え、復号画像に上記画像フィルタを作用させる、ことを特徴としている。
【０３３５】
上記のように構成された本発明に係る符号化装置は、当該符号化装置によって符号化され再度復号された復号画像に対して、上記画像フィルタによるフィルタリングを行うことができるので、上記画像フィルタと同様の効果を奏する。また、上記のように構成された符号化装置は、上記単位領域ごとに定められた、上記固定フィルタ係数ベクトル（固定係数ベクトルＷから算出されるフィルタ係数ベクトル）の各成分、及び、上記固定係数を用いて、上記対象領域ごとにより適切なフィルタリングを行うことができるので、上記対象領域ごとに異なる成分を有するフィルタ係数ベクトルを用いる場合に比べて、少ない数のフィルタ係数ベクトルの成分を用いてフィルタリングを行うことができる。
【０３３６】
また、上記のように構成された符号化装置を用いることによって、上記対象領域ごとに異なる成分を有するフィルタ係数ベクトルを用いる場合に比べて、フィルタ係数ベクトルの符号量を減らすことができる。
【０３３７】
（インター予測画像生成部への使用例）
また、本発明に係る適応フィルタ１００は、動画像符号化装置１におけるインター予測画像生成部１６に対して用いることもできる。
【０３３８】
図７は、適応フィルタ１００を用いたインター予測画像生成部１６の構成を示すブロック図である。以下では、本使用例における適用フィルタ１００を適用フィルタ１００’と記すことにする。
【０３３９】
図７に示すように、インター予測画像生成部１６は、予測画像生成部１６ａ、動きベクトル推定部１７、および、適応フィルタ１００’を備えている。なお、本使用例における適応フィルタ１００’は、ほぼ、ＫＴＡにおけるＡＩＦ（Ａｄａｐｔｉｖｅ  Ｉｎｔｅｒｐｏｌａｔｉｏｎ  Ｆｉｌｔｅｒ）に対応している。
【０３４０】
以下では、インター予測画像生成部１６の各部の動作について説明する。
【０３４１】
（ステップ１０１）
バッファメモリ１４に格納された参照画像＃１４ｂが、適応フィルタ１００’に入力される。なお、以下では、参照信号＃１４ｂを、第１の参照信号＃１４ｂと呼ぶことにする。
【０３４２】
適応フィルタ１００’は、第１の参照画像＃１４ｂに対して、予め定められたフィルタ係数に基づいてフィルタリングを行い、第１の出力画像データ＃１１０ａ’を出力する。すなわち、本ステップにおける適応フィルタ１００’は、予め定められたフィルタ係数に基づいてフィルタリングを行う固定フィルタとして動作する。
【０３４３】
ここで、上記予め定められたフィルタ係数は、例えばＨ．２６４／ＡＶＣで用いられるフィルタ係数を用いればよい。また、適応フィルタ１００’によるフィルタリングによって、第１の参照画像＃１４ｂに含まれる整数画素の画素値から、整数画素以下の画素精度の画像信号が補間によって生成される。これは、式（１）において、ｘ’、および、ｙ’を整数以外の数にとることに対応している。したがって、第１の出力画像データ１００’は、整数画素の画素値、および、整数画素以下の画素精度の補間信号を含む画像データである。
【０３４４】
（ステップ１０２）
動きベクトル推定部１７は、第１の出力画像データ＃１１０ａ’と、入力画像＃１とに基づいて、第１の動きベクトル＃１７’を生成する。第１の動きベクトル＃１７’は１スライスもしくは１フレーム分行われる。
【０３４５】
（ステップ１０３）
適応フィルタ１００’は、第１の参照画像＃１４ｂに対して、＜適応フィルタ１００によるフィルタリングの例＞において説明した処理によってフィルタ係数を求める。適応フィルタ１００’によるフィルタリングで生成される画像を、第２の出力画像データ＃１１０ａ’’と呼ぶ。ここで、第１の参照画像＃１４ｂは、上述した画像データ＃１００に対応しており、第２の出力画像データ＃１１０ａ’’は、上述した出力画像データ＃１１０ａに対応している。また、入力画像＃１は、上述した教師データ＃２００として、適応フィルタ１００’に入力される。
【０３４６】
適応フィルタ１００’は、第１の参照画像＃１４ｂに含まれる複数の整数座標の画素（整数画素と呼ぶ）の画素値から、整数画素以下の画素精度の画像信号を補間によって生成する。これは、式（１）において、ｘ’、および、ｙ’を整数以外の数にとることに対応している。したがって、第２の出力画像データ＃１１０ａ’は、整数画素の画素値、および、整数画素以下の画素精度の補間信号を含む画像データである。
【０３４７】
（ステップ１０４）
動きベクトル推定部１７は、第２の出力画像データ＃１１０ａ’’と、入力画像＃１とに基づいて、第２の動きベクトル＃１７’’を生成する。
【０３４８】
（ステップ１０５）
適応フィルタ１００’は、第１の参照画像＃１４ｂに対して求めたフィルタ係数によるフィルタリングを行い、第２の動きベクトル＃１７’’に基づいた動き補償画像を生成することにより、インター予測画像＃１６を生成し出力する。
【０３４９】
なお、適用フィルタ１００’は、上記第２の出力画像データ＃１１０ａ’を生成する際に、出力画像データ＃１１０ａ’に含まれる画素の位置に応じて、制御変数、および、フィルタ基底を設定するような構成としてもよい。
【０３５０】
（動画像復号装置への使用例）
以下では、適応フィルタ１００を備えている動画像復号装置２について図８を参照して説明する。
【０３５１】
動画像復号装置２は、その一部に、Ｈ．２６４／ＡＶＣ規格、および、ＫＴＡソフトウェアに採用されている技術を用いている動画像復号装置である。
【０３５２】
図８は、動画像復号装置２の構成を示すブロック図である。
【０３５３】
図８に示すように、動画像復号装置２は、可変長符号復号部２３、動きベクトル復元部２４、バッファメモリ２５、インター予測画像生成部２６、イントラ予測画像生成部２７、予測方式決定部２８、逆量子化・逆変換部２９、加算器３０、デブロッキングフィルタ５０、および、適応フィルタ１００を備えている。
【０３５４】
動画像復号装置２は、符号化データ＃２を受け、出力画像＃３を出力する。
【０３５５】
可変長符号復号部２３は、符号化データ＃２を可変長復号し、差分動きベクトル＃２３ａ、サイド情報＃２３ｂ、量子化予測残差データ＃２３ｃ、および、フィルタ係数情報＃２３ｄを出力する。
【０３５６】
動きベクトル復元部２４は、差分動きベクトル＃２３ａ、および、すでに復号され、バッファメモリ２５に格納された動きベクトル＃２５ａから対象パーティションの動きベクトル＃２４を復号する。
【０３５７】
バッファメモリ２５には、適応フィルタ１００から出力される出力画像データ＃１１０ａ、動きベクトル＃２４、および、サイド情報＃２３ｂが格納される。
【０３５８】
インター予測画像生成部２６は、動きベクトル復元部２４によって復号され、バッファメモリ２５を経由した動きベクトル＃２４、および、バッファメモリ２５に格納された参照画像＃２５ｄに基づいて、インター予測画像＃２６を生成する。なお、動きベクトル＃２５ｃは、動きベクトル＃２４と同一の動きベクトルを含む。また、参照画像＃２５ｄは、後述する適用フィルタ１００から出力される出力画像データ＃１１０ａに対応している。
【０３５９】
イントラ予測画像生成部２７は、バッファメモリ２５に格納された、対象マクロブロックと同じ画像内の局所復号画像＃２５ｂから、イントラ予測画像＃２７を生成する。
【０３６０】
予測方式決定部２８は、サイド情報＃２３ｂに含まれる予測モード情報に基づいて、イントラ予測画像＃２７、または、インター予測画像＃２６のうち、何れか一方を選択し、予測画像＃２８として出力する。
【０３６１】
逆量子化・逆変換部２９は、量子化予測残差データ＃２３ｃに対し、逆量子化、および、逆ＤＣＴ変換を行い、予測残差＃２９を出力する。
【０３６２】
加算器３０は、予測残差＃２９、および、予測画像＃２８を加算し、復号画像＃３として出力する。また、出力された復号画像＃３は、デブロッキングフィルタ５０に供給される。
【０３６３】
デブロッキングフィルタ５０は、復号画像＃３におけるブロック境界、またはマクロブロック境界を介して互いに隣接する画素の画素値の差が予め定められた閾値よりも小さい場合に、復号画像＃３における当該ブロック境界、またはマクロブロック境界に対してデブロッキング処理を施す。デブロッキング処理が施された画像データは、デブロック画像＃５０として出力される。
【０３６４】
適応フィルタ１００は、デブロック画像＃５０に対して＜適応フィルタ１００によるフィルタリングの例＞において説明したフィルタリングを施す。ここで、デブロック画像＃５０は、上述した画像データ＃１００に対応している。
【０３６５】
また、本使用例における適応フィルタ１００は、符号化データ＃２から復号されたフィルタ係数情報＃２３ｄに基づいてフィルタ係数を算出し、当該フィルタ係数を用いたフィルタリングを行う。
【０３６６】
すなわち、本使用例における適応フィルタ１００は、＜適応フィルタ１００によるフィルタリングの例＞において説明した統計的手法によってフィルタ係数を決定する代わりに、符号化データ＃２から復号されたフィルタ係数情報＃２３ｄに基づいてフィルタ係数を算出し、当該フィルタ係数を用いたフィルタリングを行う。適応フィルタ１００におけるフィルタ係数の切り替えについては、＜適応フィルタ１００によるフィルタリングの例＞において説明した通りである。
【０３６７】
適応フィルタ１００は、デブロック画像＃５０に対しフィルタリングを施すことによって生成した出力画像データ＃１１０ａをバッファメモリ２５に対して出力する。
【０３６８】
また、適応フィルタ１００には、サイド情報＃２３ｂが入力される。ここで、サイド情報＃２３ｂは、対象ブロックが双方向予測されたブロックであるか、または、単方向予測されたブロックであるかの情報、対象マクロブロックにスキップモードが適用されているか否かの情報、対象マクロブロックがイントラ予測されたマクロブロックであるか、インター予測されたマクロブロックであるかの予測モード情報、対象ブロックに関連付けられた量子化パラメータＱＰを含むものとする。また、サイド情報＃２３ｂは、上述したサイド情報＃１００ａに対応している。
【０３６９】
なお、本使用例における適応フィルタ１００は、ほぼ、ＫＴＡにおけるＡＬＦ（Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ）に対応している。すなわち、本使用例における適応フィルタ１００は、整数画素の画素値を入力として、整数画素の画素値を出力する。これは、式（１）において、ｘ、ｙ、ｘ’、および、ｙ’を何れも整数にとることに対応している。
【０３７０】
なお、動画像復号装置２はデブロッキングフィルタ５０を備えない構成でも良い。この場合、適応フィルタ１００は、デブロック画像＃５０ではなく、復号画像＃３に直接フィルタリングを行う。動画像符号化装置１と同様、処理量削減の効果を得ることができる。      
【０３７１】
動画像復号装置２は、また、動画像符号化装置１と同様、デブロッキングフィルタと適応フィルタを含む構成、デブロッキングフィルタを含まず適応フィルタのみを含む構成、デブロッキングフィルタ用適応フィルタと適応フィルタの両者を含む構成のいずれでも良い。
【０３７２】
＜フィルタ係数の復号と導出＞
＜図６の（ａ）の例に代表される場合＞
固定フィルタパラメータもしくはその予測差分データが符号化されている場合には、可変長符号復号部２３は、フィルタ係数情報＃２３ｄとして、固定フィルタパラメータを復号する。図６の（ａ）ではｗ（１）〜ｗ（Ｍ×Ｎ＋１）とａ＿ｓｋｉｐを復号する。
【０３７３】
適応フィルタ１００は、式（８）、式（９）などで一般形が示されるフィルタ算出関数Ｆに固定フィルタパラメータと制御変数を入力し、フィルタ係数を導出する。ここでは、式（６）に復号されたｗ（１）〜ｗ（Ｍ×Ｎ＋１）とａ＿ｓｋｉｐを入力し、フィルタ係数ベクトルＶを導出する。
【０３７４】
＜図６の（ｂ）の例に代表される場合＞
フィルタ係数もしくはその予測差分データが符号化されている場合には、可変長符号復号部２３はフィルタ係数情報＃２３ｄとして、フィルタ係数を復号する。なお、図６の（ｂ）の例では、制御変数によって変化しない成分については１つのフィルタ係数、制御変数によって変化する成分は、制御変数の値毎に複数のフィルタ係数が符号化されている。可変長符号復号部２３は、制御変数によって変化するかどうかによって処理を分岐することでフィルタ係数を導出することができる。図６の（ｂ）の例では、制御変数によって変化しないフィルタ係数ベクトルの要素、ｖ（ｉ）、ｉ＝１、２、３、７、８、９、１０をまず復号する。次いで、制御変数によって変化するフィルタ係数ベクトルの要素について、制御変数ｖ＿ｓｋｉｐが０の場合に対応するフィルタ係数ｖ（ｉ）、ｉ＝４、５、６と、制御変数ｖ＿ｓｋｉｐが１の場合に対応するフィルタ係数ｖ´（ｉ）、ｉ＝４、５、６を復号する。さらに、制御変数によって変化しないフィルタ係数ベクトルの要素についてはｖ´（ｉ）＝ｖ（ｉ）とする。
【０３７５】
＜図６の（ｃ）の例に代表される場合＞
基本のフィルタ係数および基本のフィルタ係数との差分、もしくは、それらの予測差分データが符号化されている。可変長符号復号部２３はフィルタ係数情報＃２３ｄとして、基本のフィルタ係数を復号し、その後、基本のフィルタ係数との差分を復号する。図６の（ｃ）の例では、基本のフィルタ係数としてｖ（ｉ）、ｉ＝１〜１０を復号する。これらは、制御変数ｖ＿ｓｋｉｐが０の場合に対応するフィルタ係数ベクトルＶとなる。次いで、制御変数によって変化するフィルタ係数ベクトルの要素について、基本の差分との差分であるｄＶ（ｉ）、ｉ＝４、５、６を復号する。制御変数ｖ＿ｓｋｉｐが１の場合に対応するフィルタ係数ｖ´（ｉ）は、制御変数によって変化しない成分の場合は、基本のフィルタ係数ｖ（ｉ）を用いて、以下により導出する。
【０３７６】
ｖ´（ｉ）＝ｖ（ｉ）、ｉ＝１、２、３、７、８、９、１０
制御変数によって変化する成分の場合は、基本のフィルタ係数ｖ（ｉ）と、基本のフィルタ係数との差分ｄＶ（ｉ）を用いて、以下により導出する。
【０３７７】
ｖ´（ｉ）＝ｖ（ｉ）＋ｄＶ（ｉ）、ｉ＝４、５、６
このように、制御変数によって変化するかどうかで成分毎に分岐を行うことでフィルタ係数を導出することができる。
【０３７８】
＜適応フィルタ１００の動作＞
動画像復号装置２においても、適応フィルタ１００は図３、図４で既に説明した通りの動作を行う。フィルタ係数ベクトルを分岐により導出する場合には、図３に示すフローになり、フィルタ係数ベクトルを式（９）のような和により導出する場合には、図４に示すフローになる。なお、フィルタ係数ベクトルを和により導出する場合にも予備ステップを用いて、図３のフローで処理しても良いし、予めフィルタ係数の成分の位置と制御変数の値によって定まるテーブルを導出し、テーブル引きにより処理しても構わない。
【０３７９】
＜予測値を用いた復号＞
上記では、復号するフィルタ係数情報＃２３ｄとして、フィルタ係数、もしくは、フィルタ係数の差分、もしくは、フィルタ係数の増加度を復号していたが、それらの予測値を導出し、予測値との差分を復号する構成としても良い。
【０３８０】
このように、本発明に係る復号装置（動画像復号装置２）は、上記画像フィルタ（適応フィルタ１００）を備え、復号画像に上記画像フィルタを作用させる、ことを特徴としている。
【０３８１】
上記のように構成された本発明に係る復号装置は、上記画像フィルタと同様の効果を奏する。また、上記のように構成された復号装置は、上記単位領域ごとに定められた、上記固定フィルタ係数ベクトル（固定係数ベクトルＷから算出されるフィルタ係数ベクトル）の各成分、及び、上記固定係数を用いて、上記対象領域（フィルタ対象領域Ｔ）ごとにより適切なフィルタリングを行うことができるので、上記対象領域ごとに異なる成分を有するフィルタ係数ベクトルを用いる場合に比べて、少ない数のフィルタ係数ベクトルの成分を用いてフィルタリングを行うことができる。
【０３８２】
また、上記のように構成された復号装置を用いることによって、上記対象領域ごとに異なる成分を有するフィルタ係数ベクトルを用いる場合に比べて、フィルタ係数ベクトルの符号量を減らすことができる。
【０３８３】
（インター予測画像生成部への使用例）
また、本発明に係る適応フィルタ１００は、動画像復号装置２におけるインター予測画像生成部２６に対して用いることもできる。
【０３８４】
図９は、適応フィルタ１００を用いたインター予測画像生成部２６の構成を示すブロック図である。以下では、本使用例における適用フィルタ１００を適用フィルタ１００’’と記すことにする。
【０３８５】
図９に示すように、インター予測画像生成部２６は、予測画像生成部２６ａ、および、適応フィルタ１００’’を備えている。
【０３８６】
以下では、インター予測画像生成部２６の各部の動作について説明する。
【０３８７】
適応フィルタ１００’’は、バッファメモリ２５に格納された参照画像＃２５ｄに対して、フィルタリングを施す。ここで、参照画像＃２５ｄは、上述した画像データ＃１００に対応している。
【０３８８】
また、本使用例における適応フィルタ１００’’は、符号化データ＃２から復号されたフィルタ係数情報＃２３ｄに基づいたフィルタリングを行う。
【０３８９】
すなわち、本使用例における適応フィルタ１００’’は、＜適応フィルタ１００によるフィルタリングの例＞において説明した統計的手法によってフィルタ係数を決定する代わりに、符号化データ＃２から復号されたフィルタ係数情報＃２３ｄに基づきフィルタリングを行う。適応フィルタ１００におけるフィルタ係数の切り替えについては、＜適応フィルタ１００によるフィルタリングの例＞において説明した通りである。
【０３９０】
適応フィルタ１００’’は、参照画像＃２５ｄに対しフィルタリングを施すことによって生成した出力画像データ＃１１０ａ’’’を予測画像生成部２６ａに対して出力する。
【０３９１】
また、適応フィルタ１００’’には、サイド情報＃２３ｂが入力される。ここで、サイド情報＃２３ｂは、対象ブロックが双方向予測されたブロックであるか、または、単方向予測されたブロックであるかの情報、対象マクロブロックにスキップモードが適用されているか否かの情報、対象マクロブロックがイントラ予測されたマクロブロックであるか、インター予測されたマクロブロックであるかの予測モード情報、対象ブロックに関連付けられた量子化パラメータＱＰを含むものとする。また、サイド情報＃２３ｂは、上述したサイド情報＃１００ａに対応している。
【０３９２】
なお、本使用例における適応フィルタ１００’’は、ほぼ、ＫＴＡにおけるＡＩＦ（Ａｄａｐｔｉｖｅ  Ｉｎｔｅｒｐｏｌａｔｉｏｎ  Ｆｉｌｔｅｒ）に対応している。すなわち、本使用例における適応フィルタ１００’’は、整数画素の画素値を入力として、整数画素以下の画素精度の画素値を出力する。これは、式（１）において、ｘ、および、ｙを整数にとり、ｘ’、および、ｙ’を整数、または、小数にとることに対応している。
【０３９３】
予測画像生成部２６ａは、出力画像データ＃１１０ａ’’’に対し、動きベクトル＃２５ｃを用いた動き補償を行うことによって、インター予測画像＃２６を生成し出力する。
【０３９４】
（符号化データ＃２の構成）
以下では、動画像符号化装置１を用いて生成した符号化データ＃２の構成について、図１０および図１１を参照して説明する。
【０３９５】
図１０は、動画像符号化装置１を用いて生成し、動画像復号装置２に参照される符号化データ＃２のスライスごとのビットストリーム＃ＢＳを示す図である。図１０に示すように、ビットストリーム＃ＢＳは、フィルタ係数情報ＦＣ、マクロブロック情報ＭＢ１〜ＭＢＮを含んでいる。
【０３９６】
図１１は、フィルタ係数情報ＦＣの構成の一例を示す図である。
【０３９７】
フィルタ係数情報ＦＣは、適応フィルタ１００によって生成されたフィルタ係数情報＃２３ｄを含む情報であり、既に図６を用いて説明したフィルタ係数情報＃１０１と同様である。なお、動画像復号装置２は、フィルタ係数情報＃２３ｄの他、使用する制御変数の種類を示す情報を復号してもよい。例えば、０から２５５までの８ビットの情報を復号し、制御変数に平坦度を用いる場合には１、エッジの角度を用いる場合には２、輝度を用いる場合には４、色を用いる場合には８、エッジを含むかどうかを用いる場合には１６、予測方向を用いる場合には３２、スキップ／非スキップを用いる場合には６４、インター／イントラを用いる場合には１２８の各ビットが立っているかどうかで、使用する制御変数の種類を判定してもよい。なお、このような符号化データを符号化することにより複数の制御変数を自由な組み合わせで選択することが可能である。選択できる制御変数は、本明細書で説明したいずれの制御変数でもよいし、説明しない制御変数でもよい。
【０３９８】
また、制御変数に用いる基底の種類を復号してもよい。例えば、０から２５５までの８ビットの情報を復号し、横方向エッジ強調基底を１、縦方向エッジ強調基底を２、標準ラプラシアン基底を４、第１の斜め方向ラプラシアン基底を８、第２の斜め方向ラプラシアン基底を１６、ＤＣオフセット基底を３２、・・・とし、各値のビットが立っているかどうかで、使用する基底の種類を判定してもよい。また、動画像復号装置２は、基底の種類の復号を、制御変数毎に復号することにより、複数の制御変数各々で使用する基底の種類を選択可能である。図１１では２つの制御変数＃１と制御変数＃２が使用される場合に対し、各々の基底を指定する例が示されている。なお、選択できる基底は、本明細書で説明したいずれの基底でもよいし、説明しない基底でもよい。
【０３９９】
また、動画像復号装置２は、フィルタのタップ数に関する情報、例えば、３×３フィルタの場合に０、５×５フィルタの場合に１、７×７フィルタの場合に２、９×９フィルタの場合に３などを復号しても構わない。このようにすればフィルタ効果に応じて、フィルタ係数ベクトルの数を変更することが可能になり符号化効率が向上する。なお、動画像復号装置２は、復号したフィルタのタップ数に応じて基底のタップ数を変更しても構わないし、フィルタのタップ数に応じて基底のタップ数は変更しなくても構わない。この場合、フィルタのタップ数が５×５であっても基底は３×３などとなることも考えられる。フィルタのタップ数が基底のタップ数よりも大きい場合には、基底の範囲外の位置のフィルタ係数情報＃２３ｄの値は、フィルタ係数ベクトルの値そのものとして復号する。この場合、基底の範囲外の位置のフィルタ係数ベクトルの値は、制御変数により変化しない成分となる。また、フィルタのタップ数が基底のタップ数よりも小さい場合には、フィルタ係数ベクトルの値自体は、制御変数によって変化する成分として、フィルタのタップ数の範囲外においても定まるが、フィルタリングにおいてはフィルタのタップ数分のフィルタ係数ベクトルのみが使用される。
【０４００】
また、動画像復号装置２は、フィルタの符号化データの形式を表す情報、例えば、図６の（ａ）の形式の場合に０、図６の（ｂ）の形式の場合に１、図６の（ｃ）の形式の場合に２を復号しても構わない。フィルタ係数ベクトルを求めるアルゴリズム上、図６（ａ）の形式でフィルタ係数情報＃２３ｄを求めることが困難な符号化装置においても、制御変数に応じて使用するフィルタ係数ベクトルを変更することによる符号化効率向上が可能になる。
【０４０１】
また、動画像復号装置２は、フィルタ係数情報のビット深度を指定する情報を復号してもよい。例えば、ビット深度が８、１０、１２ビットであるかを復号する。ビット深度は、フィルタ係数情報の量子化を行う粗さと等価である。
【０４０２】
また図１１には図示しないが、動画像復号装置２は、制御変数の値の範囲、例えば０、１であるか、０、１、２であるかなどを復号してもよい。また、画像データ＃１００、および、画像データ＃１００のサイド情報＃１００ａから制御変数を決定する場合に用いる閾値を示す情報、例えば、輝度や平坦度から制御変数の値を判定するための閾値情報を復号してもよい。また、フィルタリング単位を復号してもよい。フィルタリング単位は、画素、ブロック、複数のブロックのいずれでもよいし、他の単位でもよい。また、フィルタリングを行う単位領域中に、フィルタリングを行わない領域を設ける方法を用い、フィルタ領域の有無を特定する情報を含んでいてもよい。
【０４０３】
これらの情報は、フィルタ係数情報制御情報と呼ぶ。
【０４０４】
このように、制御変数や基底、タップ数などのフィルタ係数情報制御情報を復号することにより、シーケンスやピクチャ、スライスに応じた最適なフィルタ係数ベクトルの切り替えが可能になり、符号化効率が向上する。また、符号化装置の演算能力に合わせて、適当なフィルタ係数ベクトルの切り替えが可能であるので、符号化装置の自由度が向上する。例えば、符号化装置の能力が大きければ、制御変数の数、もしくは、基底の数を増加させることにより、符号化効率を高めることが可能である。逆に符号化効率が低い場合には、制御変数や基底の数を最小限にすることや、使用しないことも可能になる。また、例えば平坦度を高速に算出可能なソフトウェア、ハードウェアを搭載している場合には、制御変数に平坦度を用いるなど、搭載するソフトウェア、ハードウェアの特性に応じて使用する制御変数や基底を変更することも可能になる。このような自由度は符号化装置だけではなく、復号装置においても便益がある。すなわち、復号装置の能力が小さいと仮定される場合には、使用する制御変数の数や基底の数を最小限として符号化することができる。
【０４０５】
また、フィルタ係数情報制御情報として、いずれの情報を含むかどうかを示す情報（フィルタ係数情報形式制御情報）を、符号化データから復号しても構わない。例えば、制御変数情報は含むが、タップ情報は含まない構成としてもよい。なお、フィルタ係数情報１４ｂ、フィルタ係数情報制御情報、フィルタ係数情報形式制御情報は、符号化データ上別々の位置で符号化してもよい。例えば、フィルタ係数情報制御情報はスライスヘッダで符号化するが、フィルタ係数情報形式制御情報はピクチャヘッダ、フィルタ係数情報形式制御情報は、シーケンスヘッダで符号化してもよい。またＨ．２６４／ＡＶＣにおけるピクチャパラメータセット、シーケンスパラメータセットに相当する符号化データで符号化してもよい。
【０４０６】
マクロブロック情報ＭＢ１〜ＭＢＮは、当該スライスに含まれるマクロブロックに関する情報であり、マクロブロックの予測モード＃１８ｂ、ブロック分割情報などが含まれている。ここで、Ｎは、当該スライスに含まれるマクロブロックの数を表している。
【０４０７】
このように、本発明に係る符号化データのデータ構造は、上記画像フィルタを備え、復号画像に上記画像フィルタを作用させる復号装置が参照する符号化データのデータ構造であって、上記固定係数ベクトルもしくは固定係数ベクトルから算出される固定フィルタ係数ベクトルの各成分、及び、上記固定係数、もしくは、それらの予測差分データを含んでいる。
【０４０８】
上記のように構成された符号化データのデータ構造によれば、当該符号化データに基づいて画像の復号を行う復号装置において、当該符号化データに含まれる上記固定係数ベクトルの各成分、及び、上記固定係数を用いることによって、上記対象領域ごとに異なるフィルタ係数を含む場合に比べて、少ない数のフィルタ係数を用いつつ、上記対象領域ごとにより適切なフィルタリングを行うことができる。
【０４０９】
（まとめ）
以上のように、本発明に係る画像フィルタは、入力画像における対象領域に属する各画素の画素値とフィルタ係数ベクトルとから、出力画像における対象画素の画素値を算出する画像フィルタであって、上記入力画像における上記対象領域の位置、及び、上記出力画像における上記対象画素の位置の少なくとも何れかに応じて上記フィルタ係数ベクトルを変更するフィルタ係数ベクトル変更手段を備えている、ことを特徴としている。
【０４１０】
上記の構成によれば、上記入力画像における上記対象領域の位置、及び、上記出力画像における上記対象画素の位置の少なくとも何れかに応じて上記フィルタ係数ベクトルを変更するフィルタ係数ベクトル変更手段を備えているため、上記対象領域の位置、及び、上記出力画像における上記対象画素の位置の少なくとも何れかに応じて、上記対象領域ごとに適切なフィルタリングを行うことができるという効果を奏する。
【０４１１】
また、本発明に係る画像フィルタにおいては、上記フィルタ係数ベクトルが、上記出力画像を構成する単位領域毎に予め定められた固定フィルタ係数ベクトルと、上記フィルタ係数ベクトル変更手段によって、上記入力画像における上記対象領域の位置、及び、上記出力画像における上記対象画素の位置の少なくとも何れかに応じて変更される可変フィルタ係数ベクトルとの和に分解可能である、ことが好ましい。
【０４１２】
上記の構成によれば、上記フィルタ係数ベクトルは、上記出力画像を構成する単位領域毎に予め定められた固定フィルタ係数ベクトルと上記可変フィルタ係数ベクトルとの和に分解可能であり、上記フィルタ係数ベクトル変更手段は、上記可変フィルタ係数ベクトルを、上記入力画像における上記対象領域の位置、及び、上記出力画像における上記対象画素の位置の少なくとも何れかに応じて変更することができる。
【０４１３】
したがって、上記の構成によれば、単位領域ごとに予め定められたフィルタ係数を用いつつ、各対象領域に適応した（各対象領域における画像の特性に応じた）フィルタリングを行うことができるという更なる効果を奏する。
【０４１４】
なお、本発明をＨ．２６４に適用する場合、上記単位領域は、スライスであってもよいし、マクロブロックであってもよし、ブロックあってもよい。
【０４１５】
また、上記固定フィルタ係数ベクトル、および、上記可変フィルタ係数ベクトルは、オフセット成分を含むように定義されていてもよい。
【０４１６】
また、本発明に係る画像フィルタにおいては、上記固定フィルタ係数ベクトルは、上記出力画像を構成する単位領域毎に予め定められた固定係数ベクトルと、基底と、に分解可能である、ことが好ましい。
【０４１７】
また、本発明に係る画像フィルタにおいては、上記可変フィルタ係数ベクトルは、更に、上記出力画像を構成する単位領域毎に定められた固定係数と、上記フィルタ係数ベクトル変更手段によって、上記入力画像における上記対象領域の位置、又は、上記出力画像における上記対象画素の位置に応じて変更される可変係数と、予め定められた固定ベクトルと、に分解可能である、ことが好ましい。
【０４１８】
上記の構成によれば、上記可変フィルタ係数ベクトルは、更に、上記出力画像を構成する単位領域毎に定められた固定係数と、上記可変係数と、上記固定ベクトルと、に分解可能である。また、上記固定ベクトルは、予め定められており、上記フィルタ係数ベクトル変更手段は、上記入力画像における上記対象領域の位置、又は、上記出力画像における上記対象画素の位置に応じて、上記可変係数を変更することができるので、上記対象領域における画像の特性に応じて、より適切なフィルタリングを行うことができるという更なる効果を奏する。
【０４１９】
上記の構成によれば、上記出力画像を構成する単位領域毎に定められた上記固定係数ベクトル（もしくは固定フィルタ係数ベクトル）及び上記固定係数とを上記画像フィルタに与えることによって、各対象領域に適応した所望のタイプのフィルタリングを行うことができるという更なる効果を奏する。
【０４２０】
例えば、上記単位領域における上記対象領域の数が１０個であり、上記固定係数ベクトル（もしくは固定フィルタ係数ベクトル）の成分の数がＰ個であり、上記固定係数の数が１個であるとすると、上記の構成によれば、合計Ｐ＋１個の係数データを上記画像フィルタに与えることによって１０個の対象領域に適応した所望のタイプのフィルタリングを行うことができる。一方で、上記１０個の対象領域ごとに上記固定係数ベクトルを個別に算出したとすると、１０×Ｐ個の係数データが必要になる。したがって、上記の構成によれば、各対象領域に対して固定係数ベクトル（もしくはフィルタ係数ベクトル）を算出する場合に比べて、少ない数の係数データによって、各対象領域に適応したタイプのフィルタリングを行うことができる。
【０４２１】
また、本発明に係る画像フィルタにおいては、上記可変係数は、上記フィルタ係数ベクトル変更手段によって、上記対象領域上の画像の平坦度に応じて変更され、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底である、ことが好ましい。
【０４２２】
上記の構成によれば、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底であり、上記フィルタ係数変更手段は、上記可変係数を、上記対象領域の位置によって定まる上記対象領域上の画像の平坦度に応じて変更することができる。したがって、上記の構成によれば、上記対象領域上の画像の平坦度に応じて、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を変化させることによって、より適切なフィルタリングを行うことができるという更なる効果を奏する。
【０４２３】
また、上記エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底は、上記固定係数の正負に応じて、エッジを強調する効果に代えて、エッジをぼかす効果を有する（以下同様）。したがって、上記の構成によれば、上記対象領域上の画像の平坦度に応じて、エッジぼかし効果を変化させることによって、より適切なフィルタリングを行うことができるという更なる効果も奏する。
【０４２４】
また、本発明に係る画像フィルタにおいては、上記可変係数は、上記フィルタ係数ベクトル変更手段によって、上記対象領域上の画像のエッジの角度に応じて変更され、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底である、ことが好ましい。
【０４２５】
上記の構成によれば、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底であり、上記フィルタ係数変更手段は、上記可変係数を、上記対象領域の位置によって定まる上記対象領域上の画像のエッジの角度に応じて変更することができる。したがって、上記の構成によれば、上記可変係数を、上記対象領域上の画像のエッジの角度に応じて、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を変化させることによって、より適切なフィルタリングを行うことができるという更なる効果を奏する。
【０４２６】
また、本発明に係る画像フィルタにおいては、上記可変係数は、上記フィルタ係数ベクトル変更手段によって、上記対象領域上の画像の輝度に応じて変更され、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底である、ことが好ましい。
【０４２７】
上記の構成によれば、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底であり、上記フィルタ係数変更手段は、上記可変係数を、上記対象領域の位置によって定まる上記対象領域上の画像の輝度に応じて変更することができる。したがって、上記の構成によれば、上記対象領域上の画像の輝度に応じて、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を変化させることによって、より適切なフィルタリングを行うことができるという更なる効果を奏する。
【０４２８】
また、本発明に係る画像フィルタにおいては、上記可変係数は、上記フィルタ係数ベクトル変更手段によって、上記対象領域上の画像の色に応じて変更され、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底である、ことが好ましい。
【０４２９】
上記の構成によれば、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底であり、上記フィルタ係数変更手段は、上記可変係数を、上記対象領域の位置によって定まる上記対象領域上の画像の色に応じて変更することができる。したがって、上記の構成によれば、上記対象領域上の画像の色に応じて、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を変化させることによって、より適切なフィルタリングを行うことができるという更なる効果を奏する。
【０４３０】
また、本発明に係る画像フィルタにおいては、上記可変係数は、上記フィルタ係数ベクトル変更手段によって、上記対象領域がブロック境界を含むか否かに応じて変更され、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底である、ことが好ましい。
【０４３１】
上記の構成によれば、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底であり、上記フィルタ係数変更手段は、上記可変係数を、上記対象領域がブロック境界を含むか否かに応じて変更することができる。したがって、上記の構成によれば、上記対象領域がブロック境界を含むか否かに応じて、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を変化させることによって、より適切なフィルタリングを行うことができるという更なる効果を奏する。
【０４３２】
また、本発明に係る画像フィルタにおいては、上記可変係数は、上記フィルタ係数ベクトル変更手段によって、上記対象領域を含むブロックが単方向予測されたブロックであるかまたは双方向予測されたブロックであるかに応じて変更され、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底である、ことが好ましい。
【０４３３】
上記の構成によれば、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底であり、上記フィルタ係数変更手段は、上記可変係数を、上記対象領域を含むブロックが単方向予測されたブロックであるかまたは双方向予測されたブロックであるかに応じて変更することができる。したがって、上記の構成によれば、上記対象領域を含むブロックが単方向予測されたブロックであるかまたは双方向予測されたブロックであるかに応じて、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を変化させることによって、より適切なフィルタリングを行うことができるという更なる効果を奏する。
【０４３４】
また、本発明に係る画像フィルタにおいては、上記可変係数は、上記フィルタ係数ベクトル変更手段によって、上記対象領域を含むブロックがスキップモードが適用されたブロックであるか否かに応じて変更され、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底である、ことが好ましい。
【０４３５】
上記の構成によれば、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底であり、上記フィルタ係数変更手段は、上記可変係数を、上記対象領域を含むブロックがスキップモードが適用されたブロックであるか否かに応じて変更することができる。したがって、上記の構成によれば、上記対象領域を含むブロックがスキップモードが適用されたブロックであるか否かに応じて、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を変化させることによって、より適切なフィルタリングを行うことができるという更なる効果を奏する。
【０４３６】
また、本発明に係る画像フィルタにおいては、上記可変係数は、上記フィルタ係数ベクトル変更手段によって、上記対象領域を含むブロックがインター予測されたブロックであるかまたはイントラ予測されたブロックであるかに応じて変更され、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底である、ことが好ましい。
【０４３７】
上記の構成によれば、上記固定ベクトルは、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を有するフィルタ基底であり、上記フィルタ係数変更手段は、上記可変係数を、上記対象領域を含むブロックがインター予測されたブロックであるかまたはイントラ予測されたブロックであるかに応じて変更することができる。したがって、上記の構成によれば、上記対象領域を含むブロックがインター予測されたブロックであるかまたはイントラ予測されたブロックであるかに応じて、エッジ強調効果およびぼかし効果のうち少なくとも１つの効果を変化させることによって、より適切なフィルタリングを行うことができるという更なる効果を奏する。
【０４３８】
また、本発明に係る画像フィルタにおいては、上記固定フィルタ係数ベクトルの各成分、及び、上記固定係数は、特定の画像と、該特定の画像を符号化／復号化して得られる復号画像を入力画像としたときの出力画像との相違を最小化するように定められている、ことが好ましい。
【０４３９】
上記の構成によれば、上記固定フィルタ係数ベクトルの各成分、及び、上記固定係数は、特定の画像と、該特定の画像を符号化／復号化して得られる復号画像を入力画像としたときの出力画像との相違を最小化するように定められているため、上記単位領域全体に対して最適化された固定フィルタ係数ベクトルの各成分、及び、上記固定係数を用いて算出される可変係数ベクトルを用いてフィルタリングを行うことができるという更なる効果を奏する。
【０４４０】
また、本発明に係る画像フィルタにおいては、上記固定フィルタ係数ベクトルと可変係数ベクトルとが互いに直交している、ことが好ましい。
【０４４１】
上記の構成によれば、上記固定フィルタ係数ベクトルと上記可変係数ベクトルとが、互いに直交しているため、上記固定フィルタ係数ベクトルと上記可変係数ベクトルとが、互いに直交していない場合に比べて、固定フィルタ係数ベクトルの自由度を減らすことができる。したがって、上記の構成によれば、より少ない数のフィルタ係数によって、上記対象領域ごとに適切なフィルタリングを行うことができるという効果を奏する。
【０４４２】
また、本発明に係る画像フィルタにおいては、上記固定フィルタ係数ベクトルと上記可変係数ベクトルとが互いに直交していなくてもよい。
【０４４３】
また、本発明に係る復号装置は、上記画像フィルタを備え、復号画像に上記画像フィルタを作用させる、ことを特徴としている。
【０４４４】
上記のように構成された本発明に係る復号装置は、上記画像フィルタと同様の効果を奏する。また、上記のように構成された復号装置は、上記単位領域ごとに定められた、上記固定係数ベクトル（もしくは固定係数ベクトル）の各成分、及び、上記固定係数を用いて、上記対象領域ごとにより適切なフィルタリングを行うことができるので、上記対象領域ごとに異なる成分を有する固定係数ベクトル（もしくは固定係数ベクトル）を用いる場合に比べて、少ない数の係数データを用いてフィルタ係数ベクトルを導出できるという効果を奏する。
【０４４５】
また、上記のように構成された復号装置を用いることによって、上記対象領域ごとに異なる成分を有する固定係数ベクトル（もしくは固定フィルタ係数ベクトル）を用いる場合に比べて、係数データ（フィルタ係数ベクトル）の符号量を減らすことができるという効果を奏する。
【０４４６】
また、本発明に係る符号化装置は、上記画像フィルタを備え、復号画像に上記画像フィルタを作用させる、ことを特徴としている。
【０４４７】
上記のように構成された本発明に係る符号化装置は、当該符号化装置によって符号化され再度復号された復号画像に対して、上記画像フィルタによるフィルタリングを行うことができるので、上記画像フィルタと同様の効果を奏する。また、上記のように構成された符号化装置は、上記単位領域ごとに定められた、上記固定係数ベクトルの各成分、及び、上記固定係数を用いて、上記対象領域ごとにより適切なフィルタリングを行うことができるので、上記対象領域ごとに異なる成分を有する固定係数ベクトル（もしくは固定フィルタ係数ベクトル）を用いる場合に比べて、少ない数の係数データを用いてフィルタ係数ベクトルを導出できるという効果を奏する。
【０４４８】
また、上記のように構成された符号化装置を用いることによって、上記対象領域ごとに異なる成分を有する固定係数ベクトル（固定フィルタ係数ベクトル）を用いる場合に比べて、係数データ（フィルタ係数ベクトル）の符号量を減らすことができるという効果を奏する。
【０４４９】
また、本発明に係る符号化データのデータ構造は、上記画像フィルタを備え、復号画像に上記画像フィルタを作用させる復号装置が参照する符号化データのデータ構造であって、上記固定フィルタ係数ベクトルの各成分もしくは上記固定フィルタ係数ベクトルを表現する固定係数ベクトル、及び、上記固定係数、もしくは、上記固定フィルタ係数ベクトル、上記固定係数ベクトル、上記固定係数の予測差分データを含んでいる、ことを特徴としている。
【０４５０】
上記のように構成された符号化データのデータ構造によれば、当該符号化データに基づいて画像の復号を行う復号装置において、当該符号化データから復号される上記固定フィルタ係数ベクトルの各成分、及び、上記固定係数を用いることによって、上記対象領域ごとに異なるフィルタ係数を含む場合に比べて、少ない数のフィルタ係数を用いつつ、上記対象領域ごとにより適切なフィルタリングを行うことができるという効果を奏する。
【０４５１】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０４５２】
本発明は、画像データにフィルタリングを行う画像フィルタに好適に用いることができる。また、本発明は、符号化された画像データを復号する放送受信端末や、画像データを符号化して記録媒体に記録したり、記録媒体に記録された画像データを復号したりするＨＤＤレコーダなどに好適に用いることができる。
【符号の説明】
【０４５３】
１００  適応フィルタ（画像フィルタ）
１１０  フィルタ部
１２０  制御変数決定部（フィルタ係数ベクトル変更手段）
１  動画像符号化装置（符号化装置）
２  動画像復号装置（復号装置）
１６、２６  インター予測画像生成部
Ｒ  フィルタ参照領域
Ｔ  フィルタ対象領域
【図１】
2014209760.tif 000011
【図２】
2014209760.tif 000012
【図３】
2014209760.tif 000013
【図４】
2014209760.tif 000014
【図５】
2014209760.tif 000015
【図６】
2014209760.tif 000016
【図７】
2014209760.tif 000017
【図８】
2014209760.tif 000018
【図９】
2014209760.tif 000019
【図１０】
2014209760.tif 000020
【図１１】
2014209760.tif 000021