(57)【特許請求の範囲】
【請求項１】
入力符号化ビットストリームに含まれる予測信号生成用パラメータと圧縮されている差分画像とクラス毎のフィルタとを可変長復号する可変長復号手段と、
上記予測信号生成用パラメータを用いて生成された予測画像と上記圧縮されている差分画像を復号した差分画像とを加算して得られた復号画像にフィルタ処理を実施するフィルタリング手段とを備え、
上記可変長復号手段は、上記復号画像を構成する複数のブロックに係わる情報として、上記ブロックそれぞれに対するフィルタ処理を行わないブロックであるか否かを示す識別情報を可変長復号し、
上記フィルタリング手段は、上記復号画像を構成している画素毎にクラスを決定し、上記フィルタのうち、決定されたクラスによって特定されるフィルタに基づいて上記復号画像にフィルタ処理を行うとともに、上記識別情報がフィルタ処理を行わないことを示すブロックに対してはフィルタ処理を行わないものであり、
上記クラスを決定する単位と上記ブロックとは異なる単位であることを特徴とする画像復号装置。
【請求項２】
可変長復号手段が入力符号化ビットストリームから予測信号生成用パラメータと圧縮されている差分画像とクラス毎のフィルタとを可変長復号する可変長復号処理ステップと、
フィルタリング手段が上記予測信号生成用パラメータを用いて生成された予測画像と上記圧縮されている差分画像を復号した差分画像とを加算して得られた復号画像にフィルタ処理を実施するフィルタリング処理ステップとを備え、
上記可変長復号処理ステップは、上記復号画像を構成する複数のブロックに係わる情報として、上記ブロックそれぞれに対するフィルタ処理を行わないブロックであるか否かを示す識別情報を可変長復号し、
上記フィルタリング処理ステップは、上記フィルタリング手段が上記復号画像を構成している画素毎にクラスを決定し、上記フィルタのうち、決定されたクラスによって特定されるフィルタに基づいて上記復号画像にフィルタ処理を行うとともに、上記識別情報がフィルタ処理を行わないことを示すブロックに対してはフィルタ処理を行わず、
上記クラスを決定する単位と上記ブロックとは異なる単位であることを特徴とする画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像を圧縮符号化して伝送する画像符号化装置及び画像符号化方法と、画像符号化装置により伝送された符号化データから画像を復号する画像復号装置及び画像復号方法とに関するものである。
【背景技術】
【０００２】
従来、ＭＰＥＧやＩＴＵ−Ｔ  Ｈ．２６ｘ等の国際標準映像符号化方式では、入力映像フレームを、１６×１６画素ブロックからなるマクロブロックの単位に分割して、動き補償予測を実施した後、予測誤差信号をブロック単位に直交変換・量子化することによって情報圧縮を行うようにしている。
ただし、圧縮率が高くなると、動き補償予測を実施する際に用いる予測参照画像の品質が低下することに起因して、圧縮効率が妨げられる問題がある。
そのため、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４の符号化方式（非特許文献１を参照）では、ループ内ブロッキングフィルタの処理を実施することで、直交変換係数の量子化に伴って発生する予測参照画像のブロック歪みを除去するようにしている。
【０００３】
ここで、図１７は非特許文献１に開示されている画像符号化装置を示す構成図である。
この画像符号化装置では、ブロック分割部１０１が符号化対象の画像信号を入力すると、その画像信号をマクロブロック単位に分割し、マクロブロック単位の画像信号を分割画像信号として予測部１０２に出力する。
予測部１０２は、ブロック分割部１０１から分割画像信号を受けると、マクロブロック内の各色成分の画像信号をフレーム内又はフレーム間で予測して、予測誤差信号を算出する。
【０００４】
特に、フレーム間で動き補償予測を実施する場合、マクロブロック自体、または、マクロブロックをさらに細かく分割したサブブロックの単位で動きベクトルを探索する。
そして、その動きベクトルを用いて、メモリ１０７により格納されている参照画像信号に対する動き補償予測を実施することで動き補償予測画像を生成し、その動き補償予測画像を示す予測信号と分割画像信号の差分を求めることで予測誤差信号を算出する。
また、予測部１０２は、予測信号を得る際に決定した予測信号生成用パラメータを可変長符号化部１０８に出力する。
なお、予測信号生成用パラメータには、例えば、フレーム内での空間予測をどのように行うかを示すイントラ予測モードや、フレーム間の動き量を示す動きベクトル等の情報が含まれる。
【０００５】
圧縮部１０３は、予測部１０２から予測誤差信号を受けると、その予測誤差信号に対するＤＣＴ（離散コサイン変換）処理を実施することで信号相関を除去した後、量子化することで圧縮データを得る。
局所復号部１０４は、圧縮部１０３から圧縮データを受けると、その圧縮データを逆量子化して、逆ＤＣＴ処理を実施することで、予測部１０２から出力された予測誤差信号に相当する予測誤差信号を算出する。
【０００６】
加算器１０５は、局所復号部１０４から予測誤差信号を受けると、その予測誤差信号と予測部１０２から出力された予測信号を加算して、局所復号画像を生成する。
ループフィルタ１０６は、加算器１０５により生成された局所復号画像を示す局所復号画像信号に重畳されているブロック歪みを除去し、歪み除去後の局所復号画像信号を参照画像信号としてメモリ１０７に格納する。
【０００７】
可変長符号化部１０８は、圧縮部１０３から圧縮データを受けると、その圧縮データをエントロピー符号化し、その符号化結果であるビットストリームを出力する。
なお、可変長符号化部１０８は、ビットストリームを出力する際、予測部１０２から出力された予測信号生成用パラメータをビットストリームに多重化して出力する。
【０００８】
ここで、非特許文献１に開示されている方式では、ループフィルタ１０６が、ＤＣＴのブロック境界の周辺画素に対して、量子化の粗さ、符号化モード、動きベクトルのばらつき度合い等の情報に基づいて円滑化強度を決定して、ブロック境界に発生する歪みの低減を図っている。
これによって、参照画像信号の品質が改善され、以降の符号化における動き補償予測の効率を高めることができる。
【０００９】
一方、非特許文献１に開示されている方式では、高圧縮率で符号化する程、信号の高周波成分が失われてしまい、画面全体が過度に平滑化されて映像がぼやけてしまうという問題がある。
この問題を解決するために、非特許文献２には、ループフィルタ１０６としてウィーナフィルタ（Ｗｉｅｎｅｒ  Ｆｉｌｔｅｒ）を適用し、原画像信号である符号化対象の画像信号と、これに対応する参照画像信号との二乗誤差歪みが最小化するように、ループフィルタ１０６を構成する技術が提案されている。
【００１０】
図１８は非特許文献２に開示されている画像符号化装置において、ウィーナフィルタによる参照画像信号の品質改善の原理を示す説明図である。
図１８において、信号ｓは、図１７のブロック分割部１０１に入力される符号化対象の画像信号に相当する信号であり、信号ｓ’は、図１７の加算器１０５から出力される局所復号画像信号、または、非特許文献１におけるループフィルタ１０６によるブロック境界に発生する歪みが低減された局所復号画像信号に相当する信号である。
つまり、信号ｓ’は、信号ｓに符号化歪み（雑音）ｅが重畳された信号である。
【００１１】
ウィーナフィルタは、この符号化歪み（雑音）ｅを二乗誤差歪みの規範で最小化するように、信号ｓ’に対して施されるフィルタとして定義され、一般的に、信号ｓ’の自己相関行列Ｒs's'と、信号ｓ，ｓ’の相互相関行列Ｒss'とによって、下記の式（１）からフィルタ係数ｗを求めることができる。行列Ｒs's'，Ｒss'の大きさは、求められるフィルタのタップ数に対応する。
0005528445.tif 000002
【００１２】
フィルタ係数ｗのウィーナフィルタを施すことにより、品質改善がなされた信号ｓハット（電子出願の関係上、アルファベット文字に付いた「＾」をハットと表記する）が、参照画像信号に相当する信号として得られる。
なお、非特許文献２では、複数種類のタップ数のフィルタ係数ｗを符号化対象の画像のフレーム全体で求め、フィルタ係数ｗの符号量とフィルタ処理実施後の歪み（ｅ’＝ｓハット−ｓ）がレート歪み規範で最適となるタップ数のフィルタを特定した後、さらに、信号ｓ’を複数サイズのブロックに分割し、上記で求めた最適なタップ数のウィーナフィルタをブロック毎に適用するか否かの選択を行って、フィルタＯＮ／ＯＦＦの情報をブロック毎に伝送する。
これにより、ウィーナフィルタ処理に要する追加の符号量を抑制して、予測画像品質を改善することができる。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】MPEG-4 AVC(ISO/IEC 14496-10)/ITU-T H.264規格
【非特許文献２】T.Chujoh，G.Yasuda，N.Wada，T.Watanabe，T.Yamakage，“Block-based Adaptive Loop Filter”，VCEG-AI18，ITU-T SG16/Q.6 meeting，July 2008
【発明の概要】
【発明が解決しようとする課題】
【００１４】
従来の画像符号化装置は以上のように構成されているので、符号化対象の画像のフレーム全体で１つのウィーナフィルタが設計され、そのフレームを構成している複数のブロックに対して、それぞれウィーナフィルタ処理を適用するか否かが適用される。しかし、いずれのブロックでも、同じウィーナフィルタが適用されるので、そのウィーナフィルタが当該ブロックに対して最適なフィルタであるとは限らず、画像品質を十分に改善することができないことがある課題があった。
【００１５】
この発明は上記のような課題を解決するためになされたもので、画像品質の改善精度を高めることができる画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法を得ることを目的とする。
【課題を解決するための手段】
【００１６】
この発明に係る画像復号装置は、入力符号化ビットストリームに含まれる予測信号生成用パラメータと圧縮されている差分画像とクラス毎のフィルタとを可変長復号する可変長復号手段と、予測信号生成用パラメータを用いて生成された予測画像と圧縮されている差分画像を復号した差分画像とを加算して得られた復号画像にフィルタ処理を実施するフィルタリング手段とを備え、可変長復号手段は、復号画像を構成する複数のブロックに係わる情報として、ブロックそれぞれに対するフィルタ処理を行わないブロックであるか否かを示す識別情報を可変長復号し、フィルタリング手段は、復号画像を構成している画素毎にクラスを決定し、フィルタのうち、決定されたクラスによって特定されるフィルタに基づいて復号画像にフィルタ処理を行うとともに、識別情報がフィルタ処理を行わないことを示すブロックに対してはフィルタ処理を行わないものであり、クラスを決定する単位とブロックとは異なる単位であるものである。
【発明の効果】
【００１７】
この発明によれば、入力符号化ビットストリームに含まれる予測信号生成用パラメータと圧縮されている差分画像とクラス毎のフィルタとを可変長復号する可変長復号手段と、予測信号生成用パラメータを用いて生成された予測画像と圧縮されている差分画像を復号した差分画像とを加算して得られた復号画像にフィルタ処理を実施するフィルタリング手段とを備え、可変長復号手段は、復号画像を構成する複数のブロックに係わる情報として、ブロックそれぞれに対するフィルタ処理を行わないブロックであるか否かを示す識別情報を可変長復号し、フィルタリング手段は、復号画像を構成している画素毎にクラスを決定し、フィルタのうち、決定されたクラスによって特定されるフィルタに基づいて復号画像にフィルタ処理を行うとともに、識別情報がフィルタ処理を行わないことを示すブロックに対してはフィルタ処理を行わないものであり、クラスを決定する単位とブロックとは異なる単位であるので、画像品質の改善精度を高めることができる効果がある。
【図面の簡単な説明】
【００１８】
【図１】この発明の実施の形態１による画像符号化装置を示す構成図である。
【図２】この発明の実施の形態１による画像符号化装置のループフィルタ６を示す構成図である。
【図３】この発明の実施の形態１による画像符号化装置のループフィルタ６の処理内容を示すフローチャートである。
【図４】局所復号画像を構成している４つの領域（領域Ａ，領域Ｂ，領域Ｃ，領域Ｄ）が割り当てられているクラスの一例を示す説明図である。
【図５】局所復号画像を構成している１６個のブロック（Ｋ）を示す説明図である。
【図６】可変長符号化部８により生成されるビットストリームの一例を示す説明図である。
【図７】この発明の実施の形態１による画像復号装置を示す構成図である。
【図８】この発明の実施の形態１による画像復号装置のループフィルタ２５を示す構成図である。
【図９】この発明の実施の形態１による画像復号装置のループフィルタ２５を示す構成図である。
【図１０】この発明の実施の形態１による画像復号装置のループフィルタ２５の処理内容を示すフローチャートである。
【図１１】この発明の実施の形態２による画像符号化装置のループフィルタ６の処理内容を示すフローチャートである。
【図１２】局所復号画像を構成している複数のブロック（Ｋ）におけるウィーナフィルタの選択例を示す説明図である。
【図１３】この発明の実施の形態２による画像復号装置のループフィルタ２５の処理内容を示すフローチャートである。
【図１４】この発明の実施の形態３による画像符号化装置のループフィルタ６の処理内容を示すフローチャートである。
【図１５】１フレーム目におけるループフィルタ６の処理内容を示すフローチャートである。
【図１６】２フレーム目以降におけるループフィルタ６の処理内容を示すフローチャートである。
【図１７】非特許文献１に開示されている画像符号化装置を示す構成図である。
【図１８】ウィーナフィルタによる参照画像信号の品質改善の原理を示す説明図である。
【発明を実施するための形態】
【００１９】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１はこの発明の実施の形態１による画像符号化装置を示す構成図である。
図１において、ブロック分割部１は入力画像である符号化対象の画像信号をマクロブロック単位に分割し、マクロブロック単位の画像信号を分割画像信号として予測部２に出力する処理を実施する。
予測部２はブロック分割部１から分割画像信号を受けると、その分割画像信号をフレーム内又はフレーム間で予測して予測信号を生成する。
特にフレーム間で動き補償予測を実施する場合、その分割画像信号とメモリ７により格納されている参照画像を示す参照画像信号からマクロブロック自体、または、マクロブロックをさらに細かく分割したサブブロックの単位で動きベクトルを検出して、その動きベクトルと参照画像信号から予測画像を示す予測信号を生成する。
そして、予測信号を生成後、その分割画像信号と予測信号の差分である予測誤差信号を算出する処理を実施する。
また、予測部２は予測信号を生成する際に予測信号生成用パラメータを決定し、その予測信号生成用パラメータを可変長符号化部８に出力する。
予測信号生成用パラメータには、例えば、フレーム内での空間予測をどのように行うかを示すイントラ予測モードや、フレーム間の動き量を示す動きベクトル等の情報が含まれる。
なお、ブロック分割部１及び予測部２から予測処理手段が構成されている。
【００２０】
圧縮部３は予測部２により算出された予測誤差信号に対するＤＣＴ（離散コサイン変換）処理を実施することでＤＣＴ係数を算出するとともに、そのＤＣＴ係数を量子化し、量子化後のＤＣＴ係数である圧縮データを局所復号部４及び可変長符号化部８に出力する処理を実施する。なお、圧縮部３は差分画像圧縮手段を構成している。
【００２１】
局所復号部４は圧縮部３から出力された圧縮データを逆量子化して、逆ＤＣＴ処理を実施することで、予測部２から出力された予測誤差信号に相当する予測誤差信号を算出する処理を実施する。
加算器５は局所復号部４により算出された予測誤差信号と予測部２により生成された予測信号を加算することで、局所復号画像を示す局所復号画像信号を生成する処理を実施する。
なお、局所復号部４及び加算器５から局所復号手段が構成されている。
【００２２】
ループフィルタ６は加算器５により生成された局所復号画像信号に重畳されている歪みを補償するフィルタ処理を実施し、フィルタ処理後の局所復号画像信号を参照画像信号としてメモリ７に出力するとともに、フィルタ処理を実施する際に用いるフィルタの情報を可変長符号化部８に出力する処理を実施する。なお、ループフィルタ６はフィルタリング手段を構成している。
メモリ７はループフィルタ６から出力された参照画像信号を格納する記録媒体である。
【００２３】
可変長符号化部８は圧縮部３から出力された圧縮データ、ループフィルタ６から出力されたフィルタ情報及び予測部２から出力された予測信号生成用パラメータをエントロピー符号化して、それらの符号化結果を示すビットストリームを生成する処理を実施する。なお、可変長符号化部８は可変長符号化手段を構成している。
【００２４】
図２はこの発明の実施の形態１による画像符号化装置のループフィルタ６を示す構成図である。
図２において、フレームメモリ１１は加算器５により生成された局所復号画像信号を１フレーム分だけ格納する記録媒体である。
領域分類部１２はフレームメモリ１１により格納されている１フレーム分の局所復号画像信号が示す局所復号画像を構成している複数の領域の特徴量をそれぞれ抽出し、その特徴量に応じて各領域が属するクラスを分類する処理を実施する。
【００２５】
フィルタ設計・処理部１３は局所復号画像を構成している複数の領域のうち、１つ以上の領域が属しているクラス毎に、当該クラスに属している１つ以上の領域における符号化対象の画像信号と局所復号画像信号との間の誤差を最小化するウィーナフィルタを生成し、そのウィーナフィルタを用いて、当該領域に重畳されている歪みを補償する処理を実施する。
また、フィルタ設計・処理部１３はウィーナフィルタに関するフィルタ情報を可変長符号化部８に出力する処理を実施する。
【００２６】
次に動作について説明する。
ブロック分割部１は、符号化対象の画像信号を入力すると、その画像信号をマクロブロック単位に分割し、マクロブロック単位の画像信号を分割画像信号として予測部２に出力する。
予測部２は、ブロック分割部１から分割画像信号を受けると、その分割画像信号をフレーム内又はフレーム間で予測するための予測信号生成用パラメータを検出する。その後、予測信号生成用パラメータを用いて予測画像を示す予測信号を生成する。
特にフレーム間で予測するための予測信号生成用パラメータである動きベクトルは、分割画像信号とメモリ７により格納されている参照画像信号から検出する。
そして、予測部２は、動きベクトルを検出すると、その動きベクトルを用いて、その参照画像信号に対する動き補償予測を実施することで予測信号を生成する。
【００２７】
予測部２は、予測画像を示す予測信号を生成すると、その予測信号と分割画像信号の差分である予測誤差信号を算出し、その予測誤差信号を圧縮部３に出力する。
また、予測部２は、その予測信号を生成する際に予測信号生成用パラメータを決定し、その予測信号生成用パラメータを可変長符号化部８に出力する。
なお、予測信号生成用パラメータには、例えば、フレーム内での空間予測をどのように行うかを示すイントラ予測モードや、フレーム間の動き量を示す動きベクトル等の情報が含まれる。
【００２８】
圧縮部３は、予測部２から予測誤差信号を受けると、その予測誤差信号に対するＤＣＴ（離散コサイン変換）処理を実施することでＤＣＴ係数を算出して、そのＤＣＴ係数を量子化する。
そして、圧縮部３は、量子化後のＤＣＴ係数である圧縮データを局所復号部４及び可変長符号化部８に出力する。
【００２９】
局所復号部４は、圧縮部３から圧縮データを受けると、その圧縮データを逆量子化して、逆ＤＣＴ処理を実施することで、予測部２から出力された予測誤差信号に相当する予測誤差信号を算出する。
加算器５は、局所復号部４が予測誤差信号を算出すると、その予測誤差信号と予測部２により生成された予測信号を加算することで、局所復号画像を示す局所復号画像信号を生成する。
【００３０】
ループフィルタ６は、加算器５が局所復号画像信号を生成すると、その局所復号画像信号に重畳されている歪みを補償するフィルタ処理を実施し、フィルタ処理後の局所復号画像信号を参照画像信号としてメモリ７に格納する。
また、ループフィルタ６は、フィルタ処理を実施する際に用いるフィルタの情報を可変長符号化部８に出力する。
可変長符号化部８は、圧縮部３から出力された圧縮データ、ループフィルタ６から出力されたフィルタ情報及び予測部２から出力された予測信号生成用パラメータをエントロピー符号化して、それらの符号化結果を示すビットストリームを生成する処理を実施する。
ここでは、予測信号生成用パラメータもエントロピー符号化しているが、予測信号生成用パラメータはエントロピー符号化せずに、その予測信号生成用パラメータを生成したビットストリームに多重化して出力するようにしてもよい。
【００３１】
以下、ループフィルタ６の処理内容を具体的に説明する。
図３はこの発明の実施の形態１による画像符号化装置のループフィルタ６の処理内容を示すフローチャートである。
まず、ループフィルタ６のフレームメモリ１１は、加算器５により生成された局所復号画像信号を１フレーム分だけ格納する。
【００３２】
領域分類部１２は、フレームメモリ１１により格納されている１フレーム分の局所復号画像信号が示す局所復号画像を構成している複数の領域の特徴量をそれぞれ抽出し、その特徴量に応じて各領域が属するクラスを分類する（ステップＳＴ１）。
例えば、ある領域（任意のサイズ（Ｍ×Ｍ画素）のブロック）毎に、当該領域内の局所復号画像信号の分散値、ＤＣＴ係数、動きベクトル、ＤＣＴ係数の量子化パラメータ等を特徴量として抽出し、これらの情報を基にクラス分類を実施する。Ｍは１以上の整数である。
【００３３】
複数の領域をクラス１〜クラスＮ（Ｎは１以上の整数である）のいずれかに割り当てる場合において、例えば、特徴量として、当該領域内の局所復号画像信号の分散値を用いる場合、予めＮ−１個の閾値を用意し、その局所復号画像信号の分散値とＮ−１個の閾値（ｔｈ1＜ｔｈ2＜・・・＜ｔｈN-1）を比較して、当該領域が属するクラスを分類する。
例えば、局所復号画像信号の分散値がｔｈN-3以上かつｔｈN-2より小さい場合、当該領域をクラスＮ−２に割り当て、局所復号画像信号の分散値がｔｈ2以上かつｔｈ3より小さい場合、当該領域をクラス３に割り当てる。
ここでは、予めＮ−１個の閾値を用意しているものを示したが、シーケンス毎やフレーム毎に、それらの閾値を動的に変化させるようにしてもよい。
【００３４】
例えば、特徴量として、当該領域内の動きベクトルを用いる場合、その動きベクトルの平均ベクトル又は中間ベクトルを算出し、そのベクトルの大きさ又は方向に応じて、当該領域が属するクラスを分類する。
ここで、平均ベクトルは、動きベクトルの成分（ｘ成分、ｙ成分）毎に平均値を取ったものをベクトルの成分とするものである。
また、中間ベクトルは、動きベクトルの成分（ｘ成分、ｙ成分）毎に中間値を取ったものをベクトルの成分とするものである。
【００３５】
フィルタ設計・処理部１３は、領域分類部１２が複数の領域をクラス１〜クラスＮのいずれかに割り当てると、局所復号画像を構成している複数の領域のうち、１つ以上の領域が属しているクラス毎に、当該クラスに属している１つ以上の領域における符号化対象の画像信号と局所復号画像信号との間の誤差を最小化するウィーナフィルタを生成する（ステップＳＴ２〜ＳＴ８）。
【００３６】
例えば、図４に示すように、局所復号画像が４つの領域（領域Ａ，領域Ｂ，領域Ｃ，領域Ｄ）で構成されている場合において、領域Ａ，領域Ｃがクラス３に割り当てられ、領域Ｂがクラス５に割り当てられ、領域Ｄがクラス６に割り当てられていれば、クラス３に属している領域Ａ，領域Ｃにおける符号化対象の画像信号と局所復号画像信号との間の誤差を最小化するウィーナフィルタを生成する。
また、クラス５に属している領域Ｂにおける符号化対象の画像信号と局所復号画像信号との間の誤差を最小化するウィーナフィルタを生成し、クラス６に属している領域Ｄにおける符号化対象の画像信号と局所復号画像信号との間の誤差を最小化するウィーナフィルタを生成する。
【００３７】
なお、フィルタ設計・処理部１３は、誤差を最小化するウィーナフィルタを生成するに際して、例えば、様々なタップ数でフィルタ設計した場合、それぞれに対して下記に示すようなコストを算出し、そのコストが最小となるフィルタのタップ数及び係数値を決定する。
コスト＝Ｄ＋λ・Ｒ        （２）
ただし、Ｄは対象となるフィルタを適用する領域内における符号化対象の画像信号と、フィルタ処理後の局所復号画像信号間の二乗誤差和、λは定数、Ｒはループフィルタ６で発生する符号量である。
ここでは、コストを式（２）で表しているが、これは一例に過ぎず、例えば、二乗誤差和Ｄだけをコストとしてもよい。
また、二乗誤差和Ｄではなく、誤差の絶対値和などの他の評価値であってもよい。
【００３８】
フィルタ設計・処理部１３は、１つ以上の領域が属しているクラス毎に、ウィーナフィルタを生成すると、局所復号画像を構成している複数のブロック（例えば、局所復号画像を構成している領域Ａ〜Ｄより小さい局所的な領域）に対して、各ブロックそれぞれフィルタ処理を実施するブロックであるか否かを決定する（ステップＳＴ９〜ＳＴ１６）。
即ち、フィルタ設計・処理部１３は、局所復号画像を構成している複数のブロックに対して、各ブロックそれぞれブロック内の符号化対象の画像信号と局所復号画像信号との間の誤差をフィルタ処理の前後で比較する。
【００３９】
例えば、図５に示すように、局所復号画像が１６個のブロック（Ｋ）（Ｋ＝１，２，・・・１６）で構成されている場合、ブロック毎にそれぞれ、当該ブロック（Ｋ）における符号化対象の画像信号と局所復号画像信号との間の二乗誤差和をフィルタ処理の前後で比較する。
なお、図５のブロック１、ブロック２、ブロック５、ブロック６が図４の領域Ａに、ブロック３、ブロック４、ブロック７、ブロック８が領域Ｂに、ブロック９、ブロック１０、ブロック１３、ブロック１４が領域Ｃに、ブロック１１、ブロック１２、ブロック１５、ブロック１６が領域Ｄに対応している。
ここでは、二乗誤差和をフィルタ処理の前後で比較しているが、式（２）に示すコスト（Ｄ＋λ・Ｒ）をフィルタ処理の前後で比較してもよいし、誤差の絶対値和をフィルタ処理の前後で比較してもよい。
フィルタ設計・処理部１３は、フィルタ処理後の二乗誤差和がフィルタ処理前の二乗誤差和より小さければ、当該ブロック（Ｋ）は、フィルタ処理を実施するブロックであるものと決定する。
一方、フィルタ処理後の二乗誤差和がフィルタ処理前の二乗誤差和より大きければ、当該ブロック（Ｋ）は、フィルタ処理を実施しないブロックであるものと決定する。
【００４０】
そして、フィルタ設計・処理部１３は、ステップＳＴ１〜ＳＴ１６でコストが最小となった場合のフィルタ処理を実施した場合と、当該フレーム全体でフィルタ処理を実施しない場合とのコストを算出し、当該フレーム全体でフィルタ処理を行うか否かを決定する（ステップＳＴ１７〜ＳＴ１８）。
ステップＳＴ１８でフィルタ処理を行うと決定したフレームでは、フラグ（ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）＝１（ＯＮ）にして、ステップＳＴ１〜ＳＴ１６でコストが最小となった場合のフィルタ処理を実施し、フィルタ処理後の局所復号画像信号を参照画像信号としてメモリ７に出力する（ステップＳＴ１９〜ＳＴ２０）。
例えば、当該ブロック（Ｋ）を包含している領域が領域Ｂであり、領域Ｂが属しているクラスがクラス５であれば、クラス５のウィーナフィルタを用いて、当該ブロック（Ｋ）におけるフィルタ処理を実施し、フィルタ処理後の局所復号画像信号を参照画像信号としてメモリ７に出力する。
このとき、ステップＳＴ１〜ＳＴ１６でコストが最小となるのがブロック毎にフィルタ処理するか否かの選択を行う処理を実施した場合である時（フラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）＝１（ＯＮ）の時）、フィルタ処理を実施しないと決定したブロック（Ｋ）については、当該ブロック（Ｋ）におけるフィルタ処理を実施せずに、フィルタ処理前の局所復号画像信号をそのまま参照画像信号としてメモリ７に出力する。一方、ステップＳＴ１〜ＳＴ１６でコストが最小となるのがブロック毎にフィルタ処理するか否かの選択を行う処理を実施しない場合である時（フラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）＝０（ＯＦＦ）の時）、フレーム内の全ての局所復号画像信号に対してそれぞれの信号が属している領域の属するクラスのウィーナフィルタを用いてそれぞれフィルタ処理を実施し、フィルタ処理後の局所復号画像信号を参照画像信号としてメモリ７に出力する。
また、ステップＳＴ１８でフィルタ処理を行わないと決定したフレームでは、フラグ（ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）＝０（ＯＦＦ）にして、フィルタ処理前の局所復号画像信号をそのまま参照画像信号としてメモリ７に出力する（ステップＳＴ２１〜ＳＴ２２）。
【００４１】
フローチャートにおけるステップＳＴ２〜ＳＴ２２において、“ｍｉｎ＿ｃｏｓｔ”はコストの最小値を保存する変数、“ｉ”はフィルタタップ数ｔａｐ［ｉ］のインデックス及びループカウンタ、“ｊ”はブロックサイズｂｌ＿ｓｉｚｅ［ｊ］のインデックス及びループカウンタである。
また、“ｍｉｎ＿ｔａｐ＿ｉｄｘ”はコストが最小となるときのフィルタタップ数のインデックス（ｉ）、“ｍｉｎ＿ｂｌ＿ｓｉｚｅ＿ｉｄｘ”はコストが最小となるときのブロックサイズのインデックス（ｊ）である。
また、“ＭＡＸ”はコスト最小値の初期値（十分大きな値）である。
【００４２】
・ｔａｐ［ｉ］（ｉ＝０〜Ｎ１）
予め決められている選択可能なＮ１（Ｎ１≧１）種類のフィルタタップ数を格納している配列。
・ｂｌ＿ｓｉｚｅ［ｊ］（ｊ＝０〜Ｎ２）
予め決められている選択可能なＮ２（Ｎ２≧１）種類のブロックサイズ（ｂｌ＿ｓｉｚｅ［ｊ］×ｂｌ＿ｓｉｚｅ［ｊ］画素）を格納している配列。
・ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ
当該フレームでブロック毎にフィルタ処理を行うか否かを選択する処理を実施するか否かを示すフラグ。
・ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ
当該フレームでフィルタ処理を行うか否かを示すフラグ。
【００４３】
なお、ステップＳＴ２は、初期値を設定するステップであり、ステップＳＴ３〜ＳＴ８は、フィルタタップ数の選択処理を行うループである。
また、ステップＳＴ９は、初期値を設定するステップであり、ステップＳＴ１０〜ＳＴ１６は、ブロックサイズの選択処理及び選択したブロックサイズのブロック毎にフィルタ処理するか否かを決定する処理を行うループである。
さらに、ステップＳＴ１７〜ＳＴ１８は、当該フレーム全体でフィルタ処理を行うか否かを決定するステップであり、ステップＳＴ１９〜ＳＴ２０は、ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ＝１（ＯＮ）にして、ステップＳＴ１〜ＳＴ１６で決定した最適なフィルタ処理を行うステップであり、ステップＳＴ２１〜ＳＴ２２は、ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ＝０（ＯＦＦ）にして、当該フレームでフィルタ処理を行わないステップである。
【００４４】
フィルタ設計・処理部１３は、上記のようにして、ウィーナフィルタを生成して、フィルタ処理を実施すると、そのウィーナフィルタに関するフィルタ情報を可変長符号化部８に出力する。
フィルタ情報には、当該フレームでフィルタ処理を行うか否かを示すフラグ（ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）が含まれている。
このフラグがＯＮ（フィルタ処理を行う）である場合、以下に示す情報がフィルタ情報として含まれる。
【００４５】
（１）ウィーナフィルタの数（１つ以上の領域が属しているクラスの数）
・ウィーナフィルタの数は、フレーム毎に異なっていてもよい。
（２）ウィーナフィルタのタップ数の情報（インデックス）
・フレーム内の全てのフィルタで共通である場合、共通のタップ数が含まれる。
・フィルタ毎に、タップ数が異なる場合、それぞれのフィルタのタップ数が含まれる。
（３）実際に使用されたウィーナフィルタ（１つ以上の領域が属しているクラスのウィーナフィルタ）の係数の情報
・生成されても実際に使用されていないウィーナフィルタに関する情報は含まれない。
（４）ブロック毎のフィルタのＯＮ／ＯＦＦ情報及びブロックサイズ情報
・当該フレームでブロック毎のＯＮ／ＯＦＦ（フィルタ処理の有無）を行うか否かを示すフラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）。
・ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇがＯＮである場合に限り、ブロックサイズ情報（インデックス）及びブロック毎のフィルタ処理のＯＮ／ＯＦＦ情報が含まれる。
【００４６】
ここでは、（１）〜（４）の情報がフィルタ情報として含まれるものとして示したが、ウィーナフィルタの数、ウィーナフィルタのタップ数、ＯＮ／ＯＦＦのブロックサイズについては符号化して送信せずに、画像符号化装置及び画像復号装置で共通に定められている情報として、それぞれが保持しているようにしてもよい。
【００４７】
また、これまでの説明では図３をループフィルタ６の具体的な処理内容として説明を行ったが、ステップＳＴ９〜ＳＴ１６を省略してブロック毎にフィルタ処理のＯＮ／ＯＦＦを行わない（フィルタ情報として（４）がない）ものをループフィルタ６の処理内容としてもよい。
【００４８】
フィルタ設計・処理部１３から出力されたフィルタ情報は、上述したように、可変長符号化部８によりエントロピー符号化されて画像復号装置に送信される。
図６は可変長符号化部８により生成されるビットストリームの一例を示す説明図である。
【００４９】
図７はこの発明の実施の形態１による画像復号装置を示す構成図である。
図７において、可変長復号部２１は画像符号化装置からビットストリームを受信すると、そのビットストリームから圧縮データ、フィルタ情報及び予測信号生成用パラメータを可変長復号する処理を実施する。なお、可変長復号部２１は可変長復号手段を構成している。
予測部２２は可変長復号部２１により可変長復号された予測信号生成用パラメータを用いて予測画像を示す予測信号を生成する処理を実施する。特に動きベクトルが予測信号生成用パラメータとして用いられる場合は、その動きベクトルとメモリ２６により格納されている参照画像信号から予測信号を生成する処理を実施する。なお、予測部２２は予測画像生成手段を構成している。
【００５０】
予測誤差復号部２３は可変長復号部２１により可変長復号された圧縮データを逆量子化して、逆ＤＣＴ処理を実施することで、図１の予測部２から出力された予測誤差信号に相当する予測誤差信号を算出する処理を実施する。
加算器２４は予測誤差復号部２３により算出された予測誤差信号と予測部２２により生成された予測信号を加算することで、図１の加算器５から出力された復号画像信号に相当する復号画像信号を算出する処理を実施する。
なお、予測誤差復号部２３及び加算器２４から復号手段が構成されている。
【００５１】
ループフィルタ２５は加算器２４から出力された復号画像信号に重畳されている歪みを補償するフィルタ処理を実施し、フィルタ処理後の復号画像信号を、フィルタ処理済み復号画像信号として外部及びメモリ２６に出力する処理を実施する。なお、ループフィルタ２５はフィルタリング手段を構成している。
メモリ２６はループフィルタ２５から出力されたフィルタ処理済み復号画像信号を参照画像信号として格納する記録媒体である。
【００５２】
図８はこの発明の実施の形態１による画像復号装置のループフィルタ２５を示す構成図である。
図８において、フレームメモリ３１は加算器２４から出力された復号画像信号を１フレーム分だけ格納する記録媒体である。
領域分類部３２は図２の領域分類部１２と同様に、フレームメモリ３１により格納されている１フレーム分の復号画像信号が示す復号画像を構成している複数の領域の特徴量をそれぞれ抽出し、その特徴量に応じて各領域が属するクラスを分類する処理を実施する。
フィルタ処理部３３は可変長復号部２１により可変長復号されたフィルタ情報を参照して、領域分類部３２により分類された各領域が属するクラスに適用するウィーナフィルタを生成し、そのウィーナフィルタを用いて、当該領域に重畳されている歪みを補償する処理を実施する。
【００５３】
図８の例では、前段にフレームメモリ３１が実装されているループフィルタ２５を示しているが、マクロブロック単位に閉じたフィルタ処理を行う場合、図９に示すように、前段にフレームメモリ３１を実装せずに、領域分類部３２が当該マクロブロックの復号画像を構成している複数の領域の特徴量をそれぞれ抽出するようにしてもよい。
ただし、その場合は、画像符号化装置でのフィルタ処理でマクロブロック毎に独立可能な処理を実施している必要がある。
【００５４】
次に動作について説明する。
可変長復号部２１は、画像符号化装置からビットストリームを受信すると、そのビットストリームから圧縮データ、フィルタ情報及び予測信号生成用パラメータを可変長復号する。
予測部２２は、可変長復号部２１から予測信号生成用パラメータを受けると、その予測信号生成用パラメータから予測信号を生成する。特に予測信号生成用パラメータとして動きベクトルを受けた場合は、その動きベクトルとメモリ２６により格納されている参照画像信号から予測信号を生成する。
【００５５】
予測誤差復号部２３は、可変長復号部２１から圧縮データを受けると、その圧縮データを逆量子化して、逆ＤＣＴ処理を実施することで、図１の予測部２から出力された予測誤差信号に相当する予測誤差信号を算出する。
加算器２４は、予測誤差復号部２３が予測誤差信号を算出すると、その予測誤差信号と予測部２２により生成された予測信号を加算することで、図１の加算器５から出力された局所復号画像信号に相当する復号画像信号を算出する。
【００５６】
ループフィルタ２５は、加算器２４から復号画像信号を受けると、その復号画像信号に重畳されている歪みを補償するフィルタ処理を実施し、フィルタ処理後の復号画像信号を、フィルタ処理済み復号画像信号として外部に出力するとともに参照画像信号としてメモリ２６に格納する。
以下、ループフィルタ２５の処理内容を具体的に説明する。
図１０はこの発明の実施の形態１による画像復号装置のループフィルタ２５の処理内容を示すフローチャートである。
【００５７】
まず、ループフィルタ２５のフレームメモリ３１は、加算器２４から出力された復号画像信号を１フレーム分だけ格納する。
領域分類部３２は、フィルタ情報に含まれているフラグ（ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）が、ＯＮ（フィルタ処理を行う）である場合（ステップＳＴ３１）、図２の領域分類部１２と同様に、フレームメモリ３１により格納されている１フレーム分の復号画像信号が示す復号画像を構成している複数の領域の特徴量をそれぞれ抽出し、その特徴量に応じて各領域が属するクラスを分類する（ステップＳＴ３２）。
【００５８】
フィルタ処理部３３は、可変長復号部２１からフィルタ情報を受けると、そのフィルタ情報を参照して、領域分類部３２により分類された各領域が属するクラスに適用するウィーナフィルタを生成する（ステップＳＴ３３）。
例えば、ウィーナフィルタの数（１つ以上の領域が属しているクラスの数）がＮ個、ウィーナフィルタのタップ数がＬ×Ｌであり、各ウィーナフィルタの係数値がｗi11，ｗi12，・・・，ｗi1L，・・・，ｗiL1，ｗiL2，・・・，ｗiLLで表される場合、Ｎ個のウィーナフィルタＷi（ｉ＝１，２，・・・，Ｎ）は、下記のように表される。
0005528445.tif 000003
【００５９】
フィルタ処理部３３は、Ｎ個のウィーナフィルタＷiを生成すると、これらウィーナフィルタを用いて、１フレーム分の復号画像信号に重畳されている歪みを補償し、補償後の復号画像信号をフィルタ処理済み復号画像信号として外部及びメモリ２６に出力する（ステップＳＴ３４）。
ここで、フィルタ処理後の復号画像信号ｓハットは、下記の式（４）で表される。
0005528445.tif 000004
行列Ｓは、フィルタ処理対象の復号画像信号ｓを含むＬ×Ｌ画素の参照信号群であり、ｉｄ（ｓ）は領域分類部３２により求められる信号ｓを包含する領域が属するクラスの番号（フィルタ番号）である。
【００６０】
ただし、フィルタ処理部３３は、上記フィルタ処理の際にフィルタ情報に含まれているフラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）を参照し、フラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）＝１（ＯＮ）である場合は、フィルタ情報に含まれているブロックサイズ情報を参照して、復号画像を構成している複数のブロック（Ｋ）を特定した後、フィルタ情報に含まれているブロック（Ｋ）毎のフィルタ処理を行うか否かの情報を参照してフィルタ処理を行う。
即ち、フィルタ処理部３３は、フラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）＝１（ＯＮ）である場合は、復号画像を構成している複数のブロックのうち、フィルタ処理を行うブロック（Ｋ）については、当該ブロック（Ｋ）を包含する領域が属するクラスのウィーナフィルタを用いてブロック（Ｋ）内の復号画像信号に対してフィルタ処理を実施するが、フィルタ処理を行わないブロック（Ｋ）についてはフィルタ処理前の復号画像信号をそのままフィルタ処理済み復号画像信号として外部及びメモリ２６に出力する。
一方で、フラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）＝０（ＯＦＦ）の場合には、領域分類部３２により各領域に割り当てられるクラスに対応するフィルタを用いて、当該フレーム内の全ての復号画像信号に対してフィルタ処理を実施する。
【００６１】
フィルタ処理部３３は、フィルタ情報に含まれているフラグ（ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）が、ＯＦＦ（フィルタ処理を行わない）である場合（ステップＳＴ３１）、当該フレームについてはフィルタ処理を実施せずに、加算器２４から出力された復号画像信号をそのままフィルタ処理済み復号画像信号として外部及びメモリ２６に出力する（ステップＳＴ３５）。
【００６２】
以上で明らかなように、この実施の形態１によれば、加算器５から出力された局所復号画像信号が示す局所復号画像を構成している複数の領域の特徴量をそれぞれ抽出し、その特徴量に応じて各領域が属するクラスを分類する領域分類部１２と、その局所復号画像を構成している複数の領域のうち、１つ以上の領域が属しているクラス毎に、当該クラスに属している１つ以上の領域における符号化対象の画像信号と局所復号画像信号との間の二乗誤差和を最小化するウィーナフィルタを生成し、そのウィーナフィルタを用いて、当該領域に重畳されている歪みを補償するフィルタ設計・処理部１３とからループフィルタ６が構成されているので、画像の局所的な性質に応じたフィルタ処理が実現されるようになり、その結果、画像品質の改善精度を高めることができる画像符号化装置が得られる効果がある。
【００６３】
また、この実施の形態１によれば、加算器２４から出力された復号画像信号が示す復号画像を構成している複数の領域の特徴量をそれぞれ抽出し、その特徴量に応じて各領域が属するクラスを分類する領域分類部３２と、可変長復号部２１により可変長復号されたフィルタ情報を参照して、領域分類部３２により分類された各領域が属するクラスに適用するウィーナフィルタを生成し、そのウィーナフィルタを用いて、当該領域に重畳されている歪みを補償するフィルタ処理部３３とからループフィルタ２５が構成されているので、画像の局所的な性質に応じたフィルタ処理が実現されるようになり、その結果、画像品質の改善精度を高めることができる画像復号装置が得られる効果がある。
【００６４】
実施の形態２．
上記実施の形態１では、フィルタ設計・処理部１３が、１つ以上の領域が属しているクラス毎にウィーナフィルタを生成し、局所復号画像を構成している複数のブロック（Ｋ）に対して、各ブロックそれぞれ、当該ブロック（Ｋ）を包含している領域が属しているクラスのウィーナフィルタを用いて、当該ブロック（Ｋ）におけるフィルタ処理を実施するものについて示したが、１つ以上の領域が属しているクラス毎に生成しているウィーナフィルタの中から、各ブロックそれぞれ当該ブロック（Ｋ）における符号化対象の画像信号と局所復号画像信号との間の二乗誤差和が最小になるウィーナフィルタを選択し、そのウィーナフィルタを用いて、当該ブロック（Ｋ）に重畳されている歪みを補償するようにしてもよい。
【００６５】
具体的には、以下の通りである。
図１１はこの発明の実施の形態２による画像符号化装置のループフィルタ６の処理内容を示すフローチャートである。
フィルタ設計・処理部１３は、上記実施の形態１と同様にして、１つ以上の領域が属しているクラス毎にウィーナフィルタを生成する（ステップＳＴ２〜ＳＴ８）。
ただし、この実施の形態２では、ブロック毎にフィルタ処理を行うか否かを選択する処理を当該フレームで実施するか否かを示すフラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）を使用せず、当該フレームでブロック毎に使用するフィルタの選択を行うか否かを示すフラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｓｅｌｅｃｔｉｏｎ＿ｆｌａｇ）を使用し、ステップＳＴ４０において、フラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｓｅｌｅｃｔｉｏｎ＿ｆｌａｇ）がＯＦＦに初期設定されており、ステップＳＴ４６を実施する場合のみフラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｓｅｌｅｃｔｉｏｎ＿ｆｌａｇ）がＯＮとなる。
なお、後述するように、フラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｓｅｌｅｃｔｉｏｎ＿ｆｌａｇ）がＯＮである場合に限り、ブロックサイズ及びブロック毎のフィルタ選択情報がフィルタ情報に含まれる。
【００６６】
フィルタ設計・処理部１３は、１つ以上の領域が属しているクラス毎に、ウィーナフィルタを生成すると、局所復号画像を構成している複数のブロック（Ｋ）に対して、各ブロックそれぞれ、１つ以上の領域が属しているクラス毎に生成しているウィーナフィルタの中から一つを選択してフィルタ処理した場合と、フィルタ処理を行わない場合の中から、最適な処理（例えば、当該ブロック（Ｋ）における符号化対象の画像信号と局所復号画像信号との間の二乗誤差和が最小になる処理）を選択する（ステップＳＴ９，ＳＴ４１〜ＳＴ４７）。
具体的には、４個のウィーナフィルタＷ1，Ｗ2，Ｗ3，Ｗ4が生成されている場合において、４個のウィーナフィルタをそれぞれ用いてフィルタ処理を実施したとき、ブロック（Ｋ）における二乗誤差和Ｅの大小関係が下記の通りになれば、ブロック（Ｋ）については、二乗誤差和Ｅが最小になるウィーナフィルタＷ3を選択する。
ＥW3＜ＥW2＜ＥW4＜ＥW0＜ＥW1
ただし、ＥW0はフィルタ処理を行わない場合の二乗誤差和Ｅを表している。
ここで、図１２は局所復号画像を構成している複数のブロック（Ｋ）におけるウィーナフィルタの選択例を示す説明図であり、例えば、ブロック（１）では、ウィーナフィルタＷ2が選択され、ブロック（２）では、ウィーナフィルタＷ3が選択されている。
【００６７】
フィルタ設計・処理部１３は、当該フレームに対して、ウィーナフィルタを用いてフィルタ処理を行うと決定した場合は、フラグ（ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）＝１（ＯＮ）にして、ステップＳＴ１〜ＳＴ９及びＳＴ４０〜ＳＴ４７でコストが最小となった場合のフィルタ処理を実施し、フィルタ処理後の局所復号画像信号を参照画像信号としてメモリ７に出力する（ステップＳＴ１７〜ＳＴ２０）。
一方、当該フレーム全体でフィルタ処理を行わないと決定した場合（ステップＳＴ１７〜ＳＴ１８）、フラグ（ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）＝０（ＯＦＦ）にして、フィルタ処理前の局所復号画像信号をそのまま参照画像信号としてメモリ７に出力する（ステップＳＴ２１〜ＳＴ２２）。
【００６８】
フィルタ設計・処理部１３は、上記のようにして、ウィーナフィルタを生成して、フィルタ処理を実施すると、そのウィーナフィルタに関するフィルタ情報を可変長符号化部８に出力する。
フィルタ情報には、当該フレームでフィルタ処理を行うか否かを示すフラグ（ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）が含まれている。
このフラグがＯＮ（フィルタ処理を行う）である場合、以下に示す情報がフィルタ情報として含まれる。
【００６９】
（１）ウィーナフィルタの数（１つ以上の領域が属しているクラスの数）
・ウィーナフィルタの数は、フレーム毎に異なっていてもよい。
（２）ウィーナフィルタのタップ数の情報（インデックス）
・フレーム内の全てのフィルタで共通である場合、共通のタップ数が含まれる。
・フィルタ毎に、タップ数が異なる場合、それぞれのフィルタのタップ数が含まれる。
（３）実際に使用されたウィーナフィルタ（１つ以上の領域が属しているクラスのウィーナフィルタ）の係数の情報
・生成されても実際に使用されていないウィーナフィルタに関する情報は含まれない。
（４）ブロック毎のフィルタの選択情報及びブロックサイズ情報
・フレーム単位でブロック毎のフィルタの選択を行うか否かを示すフラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｓｅｌｅｃｔｉｏｎ＿ｆｌａｇ）。
・ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｓｅｌｅｃｔｉｏｎ＿ｆｌａｇがＯＮである場合に限りブロックサイズの情報（インデックス）及びブロック毎の選択情報が含まれる。
【００７０】
ここでは、（１）〜（４）の情報がフィルタ情報として含まれるものとして示したが、ウィーナフィルタの数、ウィーナフィルタのタップ数、ブロックサイズについては符号化して送信せずに、画像符号化装置及び画像復号装置で共通に定められている情報として、それぞれが保持しているようにしてもよい。
【００７１】
画像復号装置におけるループフィルタ２５では、以下の処理内容を実施する。
図１３はこの発明の実施の形態２による画像復号装置のループフィルタ２５の処理内容を示すフローチャートである。
まず、ループフィルタ２５のフレームメモリ３１は、加算器２４から出力された復号画像信号を１フレーム分だけ格納する。
領域分類部３２は、フィルタ情報に含まれているフラグ（ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）が、ＯＮ（フィルタ処理を行う）であり（ステップＳＴ３１）、かつ、フィルタ情報に含まれているフラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｓｅｌｅｃｔｉｏｎ＿ｆｌａｇ）がＯＦＦである場合（ステップＳＴ５１）、上記実施の形態１と同様に、フレームメモリ３１により格納されている１フレーム分の復号画像信号が示す復号画像を構成している複数の領域の特徴量をそれぞれ抽出し、その特徴量に応じて各領域が属するクラスを分類する（ステップＳＴ３２）。
【００７２】
一方、フィルタ情報に含まれているフラグ（ｆｒａｍｅ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）が、ＯＮ（フィルタ処理を行う）であり（ステップＳＴ３１）、かつ、フィルタ情報に含まれているフラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｓｅｌｅｃｔｉｏｎ＿ｆｌａｇ）がＯＮである場合（ステップＳＴ５１）、フィルタ情報に含まれている情報の内、フィルタの選択単位となるブロックサイズの情報やブロック毎のフィルタ選択情報を参照して、ブロック毎にクラス分類を行う（ステップＳＴ５２）。
【００７３】
フィルタ処理部３３は、領域分類部３２が、各領域（各ブロック）が属するクラスを分類すると、上記実施の形態１と同様に、可変長復号部２１から出力されたフィルタ情報を参照して、領域分類部３２により分類された各領域（各ブロック）が属するクラスに適用するウィーナフィルタを生成する（ステップＳＴ３３）。
フィルタ処理部３３は、各クラスで適用するウィーナフィルタを生成すると、（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｓｅｌｅｃｔｉｏｎ＿ｆｌａｇ）がＯＦＦである場合、上記実施の形態１でフラグ（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｏｎ＿ｏｆｆ＿ｆｌａｇ）がＯＦＦである場合と同様に、生成したウィーナフィルタを用いて、当該フレーム内の全ての復号画像信号に対してフィルタ処理を実施し、フィルタ処理後の復号画像信号をフィルタ処理済み復号画像信号として外部及びメモリ２６に出力する（ステップＳＴ５３）。
【００７４】
一方、（ｂｌｏｃｋ＿ｆｉｌｔｅｒ＿ｓｅｌｅｃｔｉｏｎ＿ｆｌａｇ）がＯＮである場合、フィルタ処理部３３は、各クラスで適用するウィーナフィルタを生成すると、ブロック毎に、選択したウィーナフィルタを用いてブロック内の復号画像信号に重畳されている歪みを補償し、フィルタ処理後の復号画像信号をフィルタ処理済み復号画像信号として外部及びメモリ２６に出力する（ステップＳＴ５３）。
このときの、フィルタ処理後の復号画像信号ｓハットは、下記の式（５）で表される。
0005528445.tif 000005
行列Ｓは、フィルタ処理対象の復号画像信号ｓを含むＬ×Ｌ画素の参照信号群である。
ｉｄ＿２（ｂｌ）は復号画像信号ｓが含まれるブロックｂｌにおけるフィルタ選択情報、即ちブロックｂｌのクラス番号（フィルタ番号）である。
なお、ｉｄ＿２（ｂｌ）＝０の場合、フィルタ処理を実施しないブロックを表しているものとして、そのブロックのフィルタ処理を実施しない。
【００７５】
以上で明らかなように、この実施の形態２によれば、復号画像を構成している複数のブロック（Ｋ）に対して、各ブロックそれぞれ、１つ以上の領域が属しているクラス毎に生成しているウィーナフィルタの中から、当該ブロック（Ｋ）における符号化対象の画像信号と復号画像信号との間の二乗誤差和が最小になるウィーナフィルタを選択し、そのウィーナフィルタを用いて、当該ブロック（Ｋ）に重畳されている歪みを補償するように構成したので、上記実施の形態１よりも更に、画像品質の改善精度を高めることができる効果を奏する。
【００７６】
実施の形態３．
上記実施の形態２では、復号画像を構成している複数のブロック（Ｋ）に対して、各ブロックそれぞれ、当該フレームで１つ以上のブロックが属しているクラス毎に生成されたウィーナフィルタの内のいずれかを用いた場合とフィルタ処理を行わない場合の中から、当該ブロック（Ｋ）における符号化対象の画像信号と局所復号画像信号との間の二乗誤差和が最小になる場合を選択する手法について示したが、予め１つ以上のウィーナフィルタを用意し、上記予め用意しているウィーナフィルタの内のいずれかを用いた場合と、当該フレームで１つ以上のブロックが属しているクラス毎に生成されたウィーナフィルタの内のいずれかを用いた場合と、フィルタ処理を行わない場合との中から、当該ブロック（Ｋ）における符号化対象の画像信号と局所復号画像信号との間の二乗誤差和が最小になる場合を選択するようにしてもよい。
図１４はこの発明の実施の形態３による画像符号化装置のループフィルタ６の処理内容を示すフローチャートである。
【００７７】
この実施の形態３の場合、ウィーナフィルタの選択肢が増えるため、上記実施の形態２よりも、最適なウィーナフィルタが選択される確率が向上する。
なお、ウィーナフィルタの選択方法は、上記実施の形態２と同様であるため説明を省略する。
また、画像復号装置の処理内容についても、上記実施の形態２と同様であるため説明を省略する。
【００７８】
実施の形態４．
上記実施の形態２では、復号画像を構成している複数のブロック（Ｋ）に対して、各ブロックそれぞれ、当該フレームで１つ以上のブロックが属しているクラス毎に生成されたウィーナフィルタの内のいずれかを用いた場合とフィルタ処理を行わない場合の中から、当該ブロック（Ｋ）における符号化対象の画像信号と局所復号画像信号との間の二乗誤差和が最小になる場合を選択する手法について示したが、当該フレームで１つ以上のブロックが属しているクラス毎に生成されたウィーナフィルタの内のいずれかを用いた場合と、既に符号化されているフレームで使用されたウィーナフィルタの内のいずれかを用いた場合と、フィルタ処理を行わない場合との中から、当該ブロック（Ｋ）における符号化対象の画像信号と局所復号画像信号との間の二乗誤差和が最小になる場合を選択するようにしてもよい。
【００７９】
ここで、図１５は１フレーム目におけるループフィルタ６の処理内容を示すフローチャートであり、上記実施の形態２における図１１のフローチャートと同様である。
図１６は２フレーム目以降におけるループフィルタ６の処理内容を示すフローチャートである。
【００８０】
なお、既に符号化されているフレームで使用されたウィーナフィルタの参照方法としては、例えば、下記に示すような参照方法が考えられる。
（１）フィルタ処理対象ブロック内から算出したある代表的な動きベクトルが指し示す位置のブロックで使用されたウィーナフィルタ
（２）フィルタ処理対象ブロックと時間的に一番近いフレームにおける同位置のブロックで使用されたウィーナフィルタ
（３）符号化されているフレーム内のブロックの内、相互相関係数が最も高いブロックで使用されたウィーナフィルタ
（３）の場合、画像符号化装置及び画像復号装置で、同一のブロック探索処理が必要である。
【００８１】
この実施の形態４の場合、ウィーナフィルタの選択肢が増えるため、上記実施の形態２よりも、最適なウィーナフィルタが選択される確率が向上する。
なお、ウィーナフィルタの選択方法は、上記実施の形態２と同様であるため説明を省略する。
また、画像復号装置の処理内容についても、上記実施の形態２と同様であるため説明を省略する。
【００８２】
この発明に係る画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法は、画像品質の改善精度を高めることができ、画像を圧縮符号化して伝送する画像符号化装置及び画像符号化方法、画像符号化装置により伝送された符号化データから画像を復号する画像復号装置及び画像復号方法等に用いるのに適している。
【符号の説明】
【００８３】
１  ブロック分割部（予測処理手段）、２  予測部（予測処理手段）、３  圧縮部（差分画像圧縮手段）、４  局所復号部（局所復号手段）、５  加算器（局所復号手段）、６  ループフィルタ（フィルタリング手段）、７  メモリ、８  可変長符号化部（可変長符号化手段）、１１  フレームメモリ、１２  領域分類部、１３  フィルタ設計・処理部、２１  可変長復号部（可変長復号手段）、２２  予測部（予測画像生成手段）、２３  予測誤差復号部（復号手段）、２４  加算器（復号手段）、２５  ループフィルタ（フィルタリング手段）、２６  メモリ、３１  フレームメモリ、３２  領域分類部、３３  フィルタ処理部、１０１  ブロック分割部、１０２  予測部、１０３  圧縮部、１０４  局所復号部、１０５  加算器、１０６  ループフィルタ、１０７  メモリ、１０８  可変長符号化部。
【図１】
0005528445.tif 000006
【図２】
0005528445.tif 000007
【図３】
0005528445.tif 000008
【図４】
0005528445.tif 000009
【図５】
0005528445.tif 000010
【図６】
0005528445.tif 000011
【図７】
0005528445.tif 000012
【図８】
0005528445.tif 000013
【図９】
0005528445.tif 000014
【図１０】
0005528445.tif 000015
【図１１】
0005528445.tif 000016
【図１２】
0005528445.tif 000017
【図１３】
0005528445.tif 000018
【図１４】
0005528445.tif 000019
【図１５】
0005528445.tif 000020
【図１６】
0005528445.tif 000021
【図１７】
0005528445.tif 000022
【図１８】
0005528445.tif 000023