(57)【要約】【課題】フィルタ処理を施しても、フィルタ処理前のブロックのＤＣ値を有効に保持する。【解決手段】フィルタリング部４２は、フィルタ処理の対象となる領域のそれぞれに対して、その周辺に位置する周辺領域の情報を用いたフィルタ処理を施す。減算器４４は、互いに隣接した複数の領域の集合であるブロックに関して、フィルタ処理前の平均画素値ＤＣ0と、フィルタ処理後の平均画素値ＤＣ'0との差分値αを算出する。ブロック補正部４５は、フィルタ処理後の平均画素値がＤＣ0に近づくように、ブロック内の各領域に対して、差分値αを分配することによって、フィルタ処理後のブロックを補正する。【選択図】図４
2010093608.tif 000002
【特許請求の範囲】
【請求項１】
画像処理システムにおいて、
フィルタ処理の対象となる領域のそれぞれに対して、当該領域の周辺に位置する周辺領域の情報を用いたフィルタ処理を施すフィルタリング部と、
互いに隣接した複数の前記領域の集合であるブロックに関して、フィルタ処理前の平均画素値である第１のＤＣ値と、フィルタ処理後の平均画素値である第２のＤＣ値との差分値を算出する減算器と、
ブロックのフィルタ処理後の平均画素値が前記第１のＤＣ値に近づくように、前記ブロック内の各領域に対して、前記差分値を分配することによって、フィルタ処理後の前記ブロックを補正するブロック補正部と
を有することを特徴とする画像処理システム。
【請求項２】
前記フィルタリング部は、前記フィルタ処理として、デリンギングフィルタ、エッジ強調フィルタおよび平滑化フィルタのいずれかの処理を行うことを特徴とする請求項１に記載された画像処理システム。
【請求項３】
前記ブロック補正部は、前記差分値を前記ブロック内の領域数で除算し、当該除算した値を前記ブロック内の各領域に均等に割り当てることを特徴とする請求項１または２に記載された画像処理システム。
【請求項４】
前記ブロック補正部は、前記ブロック内における各領域の画素値の比率に応じて前記差分値を按分し、当該按分した値を前記ブロック内の各領域に可変に割り当てることを特徴とする請求項１または２に記載された画像処理システム。
【請求項５】
前記ブロックは、画像を複数のブロックに分割し、それぞれのブロックを処理単位とした処理によって、画像データを圧縮または伸張するブロック分割符号化の処理単位となるブロックであることを特徴とする請求項１から４のいずれかに記載された画像処理システム。
【請求項６】
階層が下位になるにしたがって、前記ブロックのサイズが段階的に小さくなり、前記ブロック分割符号化が階層間で再帰的に行われる階層構造において、
少なくとも一つの階層は、前記フィルタリング部と、前記減算器と、前記ブロック補正部とを有し、
上位階層側で補正されたフィルタ処理後の平均画素値が、下位階層側に供給されることを特徴とする請求項５に記載された画像処理システム。
【請求項７】
前記ブロック分割符号化は、交流成分予測を用いて画像を圧縮するエンコード処理、または、交流成分予測を用いて画像を伸張するデコード処理であることを特徴とする請求項６に記載された画像処理システム。
【請求項８】
画像処理プログラムにおいて、
フィルタ処理の対象となる領域のそれぞれに対して、当該領域の周辺に位置する周辺領域の情報を用いたフィルタ処理を施す第１のステップと、
互いに隣接した複数の前記領域の集合であるブロックに関するフィルタ処理前の平均画素値を第１のＤＣ値として算出する第２のステップと、
前記ブロックに関するフィルタ処理後の平均画素値を第２のＤＣ値として算出する第３のステップと、
前記第１のＤＣ値と前記第２のＤＣ値との差分値を算出する第４のステップと、
前記ブロックのフィルタ処理後の平均画素値が前記第１のＤＣ値に近づくように、前記ブロック内の各領域に対して、前記差分値を分配することによって、フィルタ処理後の前記ブロックを補正する第５のステップと
を有する画像処理をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項９】
前記第１のステップは、前記フィルタ処理として、デリンギングフィルタ、エッジ強調フィルタおよび平滑化フィルタのいずれかの処理を行うことを特徴とする請求項８に記載された画像処理プログラム。
【請求項１０】
前記第５のステップは、
前記差分値を前記ブロック内の領域数で除算するステップと、
当該除算した値を前記ブロック内の各領域に均等に割り当てるステップと
を有することを特徴とする請求項８または９に記載された画像処理プログラム。
【請求項１１】
前記第５のステップは、前記ブロック内における各領域の画素値の比率に応じて前記差分値を按分し、当該按分した値を前記ブロック内の各領域に可変に割り当てるステップを有することを特徴とする請求項８または９に記載された画像処理プログラム。
【請求項１２】
前記ブロックは、画像を複数のブロックに分割し、それぞれのブロックを処理単位とした処理によって、画像データを圧縮または伸張するブロック分割符号化の処理単位となるブロックであることを特徴とする請求項８から１１のいずれかに記載された画像処理プログラム。
【請求項１３】
階層が下位になるにしたがって、前記ブロックのサイズが段階的に小さくなり、前記ブロック分割符号化が階層間で再帰的に行われる階層構造において、
前記画像処理は、少なくとも一つの階層において行われ、
上位階層側で補正されたフィルタ処理後の平均画素値が、下位階層側に供給されることを特徴とする請求項１２に記載された画像処理プログラム。
【請求項１４】
前記ブロック分割符号化は、交流成分予測を用いて画像を圧縮するエンコード処理、または、交流成分予測を用いて画像を伸張するデコード処理であることを特徴とする請求項１３に記載された画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システムおよび画像処理プログラムに係り、特に、ブロック分割符号化に適した補正付フィルタ処理に関する。
【背景技術】
【０００２】
従来より、ブロック分割符号化、すなわち、画像を複数のブロックに分割し、ブロックを処理単位とした処理によって、画像データを圧縮／伸張する手法が知られている。その典型であるＪＰＥＧ（Joint Photographic Experts Group）では、画像を固定サイズ（８×８画素）のブロックに分割し、ブロック単位の離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）によって、画像データが空間領域から周波数領域へ変換される。そして、ＤＣＴによって得られた周波数成分に対して、量子化後に、エントロピー符号化が施される。この符号化の他の例としては、特許文献１，２に開示された再帰的交流成分予測符号化（ＲＡＣＰ：Recursive ＡＣＰ）が挙げられる。ＲＡＣＰ符号化は、処理対象となるブロックを順次細分化し、交流成分予測（ＡＣＰ：ＡＣ Componet Prediction）を用いて、画像データを階層的に圧縮／伸張する手法である。また、特許文献３には、ブロック分割符号化に起因したブロックノイズ等を緩和するために、ローパスフィルタを併用したＲＡＣＰ符号化が開示されている。
【０００３】
ところで、例えば、特許文献４にも指摘されているように、ローパスフィルタを用いる場合には、符号化の過程で重畳したノイズ成分のみならず、原画像が本来的に有する高周波成分も除去されてしまう。そのため、フィルタリング後の画像が全体的にぼやけてしまうという問題がある。この問題を解消すべく、特許文献４には、ブロック分割符号化において、ローパスフィルタの代わりに、デリンギングフィルタを用いる点が開示されている。デリンギングフィルタは、判定しきい値との比較によってノイズを検出し、ノイズが生じている領域の画素値を、その周辺領域の情報を用いて演算された値に置き換えるフィルタであり、ブロックノイズやリンギングノイズの緩和といった用途で用いられる。ここで、ブロックノイズは、原画像には存在しないブロックの境目が出現するブロック状の歪みであり、リンギングノイズは、画像の輪郭、すなわちエッジ周辺に生じるもや状の歪みである。
【０００４】
【特許文献１】特許第４０００１５７号公報
【特許文献２】特許第３７７４２０１号公報
【特許文献３】特許第３７００９７６号公報
【特許文献４】特開２０００−１０２０２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した従来のデリンギングフィルタでは、フィルタリングの前後でブロックの平均画素値、すなわちＤＣ値（直流成分）が変化してしまうという欠点がある。例えば、ＪＰＥＧでは、８×８画素のブロック単位でＤＣＴを行うが、ＤＣＴはＫＬ変換の良好な近似となるため、低周波成分に情報が集中する。ＤＣＴの第一成分であるＤＣ値は、これを量子化したとしても、他成分であるＡＣ値（交流成分）よりも真値により近い。したがって、ＡＣ値を含んで生成される出力画素値を用いたフィルタ処理（フィルタリング）によって、ブロックのＤＣ値自体が変化してしまうと、ＰＳＮＲ（Peak signal-to-noise ratio）の低下を招く。ここで、ＰＳＮＲとは、画像の信号と混入したノイズとの比率（通常はｄＢ）をいい、この値が低いほど、画像信号に多くのノイズが混入していることを意味する。同様のことは、ＲＡＣＰ符号化についてもいえる。ＲＡＣＰ符号化では、上位階層からＤＣ値が供給され、ＡＣ値とともに出力画素値を生成する。上位階層ほど量子化係数が小さくなっているため、ＤＣ値の方がＡＣ値よりも真値に近い。したがって、ＡＣ値を含んで生成される出力画素値を用いたフィルタ処理によって、ブロックのＤＣ値自体が変化してしまうと、ＰＳＮＲの低下を招く。
【０００６】
本発明は、このような点に鑑みなされたもので、その目的は、フィルタ処理を施しても、フィルタ処理前のブロックのＤＣ値を有効に保持することである。
【課題を解決するための手段】
【０００７】
かかる課題を解決すべく、第１の発明は、フィルタリング部と、減算器と、ブロック補正部とを有する画像処理システムを提供する。フィルタリング部は、フィルタ処理の対象となる領域のそれぞれに対して、この領域の周辺に位置する周辺領域の情報を用いたフィルタ処理を施す。減算器は、互いに隣接した複数の領域の集合であるブロックに関して、フィルタ処理前の平均画素値である第１のＤＣ値と、フィルタ処理後の平均画素値である第２のＤＣ値との差分値を算出する。ブロック補正部は、ブロックのフィルタ処理後の平均画素値が第１のＤＣ値に近づくように、ブロック内の各領域に対して、差分値を分配することによって、フィルタ処理後のブロックを補正する。
【０００８】
ここで、第１の発明において、フィルタリング部は、上記フィルタ処理として、デリンギングフィルタ、エッジ強調フィルタおよび平滑化フィルタのいずれかの処理を行うことが好ましい。
【０００９】
第１の発明において、ブロック補正部は、差分値をブロック内の領域数で除算し、この除算した値をブロック内の各領域に均等に割り当ててもよい。また、ブロック補正部は、ブロック内における各領域の画素値の比率に応じて差分値を按分し、これらの按分した値をブロック内の各領域に可変に割り当ててもよい。
【００１０】
第１の発明において、上記ブロックは、画像を複数のブロックに分割し、それぞれのブロックを処理単位とした処理によって、画像データを圧縮または伸張するブロック分割符号化の処理単位となるブロックであることが好ましい。第１の発明は、階層が下位になるにしたがって、上記ブロックのサイズが段階的に小さくなり、上記ブロック分割符号化が階層間で再帰的に行われる複数の階層構造に適用してもよい。この場合、少なくとも一つの階層は、上記フィルタリング部と、上記減算器と、上記ブロック補正部とを有する。そして、上位階層側で補正されたフィル処理後の平均画素値を下位階層側に供給することが好ましい。ここで、上記ブロック分割符号化は、交流成分予測を用いて画像を圧縮するエンコード処理、または、交流成分予測を用いて画像を伸張するデコード処理であってもよい。
【００１１】
第２の発明は、以下の画像処理をコンピュータに実行させる画像処理プログラムを提供する。この画像処理は、フィルタ処理の対象となる領域のそれぞれに対して、この領域の周辺に位置する周辺領域の情報を用いたフィルタ処理を施す第１のステップと、互いに隣接した複数の領域の集合であるブロックに関するフィルタ処理前の平均画素値を第１のＤＣ値として算出する第２のステップと、ブロックのフィルタ処理後の平均画素値を第２のＤＣ値として算出する第３のステップと、第１のＤＣ値と第２のＤＣ値との差分値を算出する第４のステップと、ブロックのフィルタ処理後の平均画素値が第１のＤＣ値に近づくように、ブロック内の各領域に対して、差分値を分配することによって、フィルタ処理後のブロックを補正する第５のステップとを有する。
【００１２】
ここで、第２の発明において、上記第１のステップは、フィルタ処理として、デリンギングフィルタ、エッジ強調フィルタおよび平滑化フィルタのいずれかの処理を行うことが好ましい。
【００１３】
第２の発明において、上記第５のステップは、差分値をブロック内の領域数で除算するステップと、この除算した値をブロック内の各領域に均等に割り当てるステップとを有していてもよい。また、上記第５のステップは、ブロック内における各領域の画素値の比率に応じて差分値を按分し、これらの按分した値をブロック内の各領域に可変に割り当てるステップを有していてもよい。
【００１４】
第２の発明において、上記ブロックは、画像を複数のブロックに分割し、それぞれのブロックを処理単位とした処理によって、画像データを圧縮または伸張するブロック分割符号化の処理単位となるブロックであることが好ましい。第２の発明は、階層が下位になるにしたがって、上記ブロックのサイズが段階的に小さくなり、上記ブロック分割符号化が階層間で再帰的に行われる階層構造に適用してもよい。この場合、上記画像処理は、少なくとも一つの階層において行われる。そして、上位階層側の上記画像処理によって補正されたフィルタ処理後の平均画素値が、下位階層側に供給される。ここで、上記各階層の処理は、交流成分予測を用いて画像を圧縮するエンコード処理、または、交流成分予測を用いて画像を伸張するデコード処理であってもよい。
【発明の効果】
【００１５】
本発明によれば、フィルタ処理後のブロックの平均画素値が第１のＤＣ値に近づくように、フィルタ処理後のブロック内の各値を補正する。この補正は、フィルタ処理の前後におけるＤＣ値の差分を、それぞれの領域に分配することによって行われる。これにより、補正が施されたブロックは、フィルタ処理後の特性を良好に維持しつつ、フィルタ処理前のＤＣ値を有効に保持することが可能になる。特に、ブロック分割符号化に適用した場合には、フィルタリングの効果を損なうことなく、フィルタリングに起因したＰＳＮＲの低下を抑制できる。
【発明を実施するための最良の形態】
【００１６】
本実施形態では、ブロック分割符号化の一例として、ＲＡＣＰ符号化を例に説明する。図１は、ＲＡＣＰエンコーダの全体構成図である。このエンコーダは、ＤＣ算出部１と、ＤＣ符号化部２と、階層処理部３ａ〜３ｃと、フィルタ処理部４ａ，４ｂとを主体に構成されており、４つの階層よりなる階層構造を有する。これらのユニット１，２，３ａ〜３ｃ，４ａ，４ｂより出力されたデータＴＤＣn，ＤＣn，ＤＣ''n（n=0,1,2,3）は、図示しないバッファ（記憶部）に一時的に格納され、このバッファを介して、ユニット間のデータ転送が行われる。
【００１７】
ＤＣ算出部１は、圧縮対象となる入力画像を予め設定されたサイズのブロックに分割し、それぞれのブロックの平均画素値（ＤＣ値）、すなわち、ブロック内に含まれる画素の平均値をＴＤＣ0〜ＴＤＣ3として出力する。ここで、ＴＤＣ0は８×８画素のブロック（８×８ブロック）の平均画素値、ＴＤＣ1は４×４画素のブロック（４×４ブロック）の平均画素値、ＴＤＣ2は２×２画素のブロック（２×２ブロック）の平均画素値である。また、ＴＤＣ3は１×１画素のブロック（１×１ブロック）の平均画素値、すなわち、画像の最小単位である画素の画素値そのもののである。なお、入力画像から直接算出される平均画素値ＴＤＣ0〜ＴＤＣ3（真の値）は、ユニット２，３ａ〜３ｃ内での処理を経て復元される平均画素値ＤＣ0〜ＤＣ3（復元値）とは区別される。両者の値は、符号化の過程で非可逆変換（量子化を含む）をともなうので、厳密には一致しない。なお、本明細書において、「画素値」とは、画像の最小単位である画素そのものの値のみならず、隣接した複数の画素集合である画素ブロックの特性を表す代表値も含むものとする。
【００１８】
ＤＣ符号化部２および階層処理部３ａ〜３ｃは、８×８ブロック（最上位階層）、４×４ブロック（第２位階層）、２×２ブロック（第３位階層）および１×１ブロック（最下位階層）よりなる４階層構造において、自己に割り当てられた階層処理を行う。
【００１９】
最上位階層は、ＤＣ符号化部２によって構成される。このＤＣＰ符号化部２は、バッファから読み出された８×８ブロック毎の平均画素値ＴＤＣ0に対して、差分パルス符号変調（ＤＰＣＭ：Differential Pulse Code Modulation）およびエントロピー符号化を施す。差分パルス符号変調によって、画像平面上において互いに隣接したブロックに関する平均画素値ＴＤＣ0の差分が符号化される。そして、この符号化された差分に対して、量子化後、ハフマン符号化や算術符号化といったエントロピー符号化が施される。このような処理を経たデータは、圧縮データの一部となる画像の直流成分ＤＣ0として出力されるとともに、直下位の階層の階層処理部３ａに供給すべく、８×８ブロックの平均画素値を復元（逆量子化）した値ＤＣ0として出力される。
【００２０】
３つの階層処理部３ａ〜３ｃは、ＤＣ算出部１によって生成された平均画素値ＴＤＣn（n=1,2,3、以下同様）と、直上位の階層によって生成された平均画素値ＤＣn-1（またはＤＣ''n-1）とを入力とし、交流成分予測符号化によって、圧縮データの一部としての画像の交流成分ＡＣnを出力する。周知のように、交流成分予測符号化の大まかな処理の流れは、予測画素値の算出、予測残差の算出、予測残差の非可逆変換（アダマール変換および量子化等）、およびエントロピー符号化（ハフマン符号化等）といった順序となり、量子化係数は上位階層ほど小さくなっている。また、階層処理部３ａ〜３ｃ（ただし、３ｃは必要な場合のみ）は、非可逆変換の逆変換を行って予測残差を復元し、これを予測画素値に加算することで、平均画素値ＤＣnを復元する。復元された平均画素値ＤＣnは、直下位の階層に供給するために出力される。なお、ある階層の交流成分予測において、その階層のサブブロックを周辺領域として参照する場合、復元された平均画素値ＤＣnは、同一階層にもフィードバックされる。
【００２１】
第２位階層は、階層処理部３ａおよびフィルタ処理部４ａによって構成される。この階層では、８×８ブロックを処理対象とした処理によって、４×４ブロックの交流成分ＡＣ1と、４×４ブロックの平均画素値ＤＣ1，ＤＣ''1とが出力される。階層処理部３ａは、交流成分予測で参照すべき周辺領域として、最上位階層で生成された８×８ブロックの平均画素値ＤＣ0を用いるとともに、サブブロックを併せて参照する場合には、同一階層でフィードバックされた４×４ブロックの平均画素値ＤＣ1も用いる。また、予測残差の算出には、ＤＣ算出部１によって算出された４×４ブロックの平均画素値ＴＤＣ1が用いられる。フィルタ処理部４ａは、ブロックノイズやリンギングノイズを緩和するために、平均画素値ＤＣ1に補正付フィルタ処理を施し、平均画素値ＤＣ''1を出力する。
【００２２】
第３位階層は、階層処理部３ｂおよびフィルタ処理部４ｂによって構成される。この階層では、４×４ブロックを処理対象とした処理によって、２×２ブロックの交流成分ＡＣ2と、２×２ブロックの平均画素値ＤＣ2，ＤＣ''2とが出力される。階層処理部３ｂは、交流成分予測で参照すべき周辺領域として、第２位階層で生成された４×４ブロックの平均画素値ＤＣ''1（フィルタリング後）を用いるとともに、サブブロックを併せて参照する場合には、同一階層でフィードバックされた２×２ブロックの平均画素値ＤＣ2も用いる。また、予測残差の算出には、ＤＣ算出部１によって算出された２×２ブロックの平均画素値ＴＤＣ2が用いられる。フィルタ処理部４ｂは、ブロックノイズ等を緩和するために、平均画素値ＤＣに補正付フィルタ処理を施し、平均画素値ＤＣ''2を出力する。
【００２３】
最下位階層は、階層処理部３ｃによって構成される。この階層では、２×２ブロックを処理対象とした処理によって、１×１ブロックの交流成分ＡＣ3が出力される。階層処理部３ｃは、交流成分予測で参照すべき情報として、第３位階層で生成された２×２ブロックの平均画素値ＤＣ''2（フィルタリング後）を用いるとともに、サブブロックを併せて参照する場合には、同一階層でフィードバックされた１×１ブロックの平均画素値ＤＣ3も用いる。また、予測残差の算出には、ＤＣ算出部１によって算出された１×１ブロックの平均画素値ＴＤＣ3が用いられる。
【００２４】
このような階層構造において、ＤＣ符号化部２および階層処理部３ａ〜３ｃが互いに連係し、パイプライン的な並行処理を行うことによって、一連の処理が階層間で再帰的に実行される。これによって、圧縮データとして、画像の直流成分ＤＣ0と、その交流成分ＡＣ1〜ＡＣ3とが出力される。この圧縮データには、これら以外にもハフマンテーブル等の付随情報も含まれる。なお、フィルタ処理部４ａ，４ｂは、複数の階層に設ける必要はなく、少なくとも一つの階層に設けられていれば足りる。
【００２５】
図２は、画像平面上に設定されるブロックの説明図である。ブロックは、画像（１フレームの画像全体またはその一部）を縦横に分割することで、画像平面上に複数設定される。それぞれの階層におけるブロック分割符号化（交流成分予測符号化）は、ブロック単位で行われる。ブロックのサイズは、階層が下位になるにしたがって段階的に小さくなるように設定されており、ある階層で処理対象となるブロックのサイズは、その直上位の階層で細分化されたサブブロックのサイズと一致する。
【００２６】
ある階層における画像全体の処理は、処理対象となるブロックを画面上で順次シフトさせながら処理を繰り返し、画像中の全ブロックを処理することによって達成される。このシフトの方向は、図示したように、水平方向に沿った線順次走査的なものであってもよいが、垂直方向に沿ったものも含めて任意に設定してよい。また、それぞれの階層におけるシフトの方向は、必ずしも同一である必要もない。ここで、処理対象の周辺に位置する領域を「周辺領域」といい、この周辺領域の情報が処理対象の交流成分予測を行う際に参照される。周辺領域は、順次シフトによる処理が未だ行われていない領域、すなわち「未処理周辺領域」と、順次シフトによる処理が既に行われた領域、すなわち「処理済周辺領域」とに分類される。同図の場合、処理対象をブロックＳとすると、その上下左右に隣接したブロックＴ，Ｂ，Ｌ，Ｒが周辺領域となる。そして、下右に隣接したブロックＢ，Ｒが未処理周辺領域となり、上左に隣接したブロックＴ，Ｌが処理済周辺領域となる。未処理周辺領域（ブロックＢ，Ｒ）では、ブロックを４つに分割したサブブロックの個々の平均画素値ＤＣnが未だ算出されておらず、直上位の階層で算出されたブロック全体の平均画素値ＤＣn-1のみが既知となっている。また、処理周済辺領域（ブロックＴ，Ｌ）では、同一階層での従前処理によって、ブロックを細分化した個々のサブブロックの平均画素値ＤＣnが算出済みである。以下、あるブロックを細分化した４つのサブブロックに関して、ブロックの左上を”00”，右上を”01”，右下を”11”，左下を”10”とした添字を以て識別するものとする。また、本実施形態では、処理対象の周辺領域として、上下左右のブロックＴ，Ｂ，Ｌ，Ｒを設定しているが、これは一例であって、その一部（例えば上左右）であってもよいし、それ以外（例えば斜め方向、１つ飛び等）を含めてもよい。
【００２７】
つぎに、階層処理部３ａ〜３ｃで実行される交流成分予測符号化について、図３を参照しつつ概略的に説明する。本予測符号化では、（１）周辺領域Ｔ，Ｂ，Ｌ，Ｒの情報を参照することによって、処理対象Ｓの予測画像Ｓ’を生成し、（２）予測画像Ｓ’と本来の画像との差分を予測残差ＰＲとして算出し、（３）予測残差ＰＲの非可逆変換（アダマール変換および量子化等）を施した後に、エントロピー符号化（ハフマン符号化等）を行う。この符号化において、圧縮率を高める上でのポイントは、予測残差ＰＲの低減、換言すれば、予測画像Ｓ’の精度向上である。交流成分予測によって生成された予測画像Ｓ’（隣接した予測画素値の集合）が本来の画像（隣接した真の画素値の集合）に近いほど、予測残差ＰＲが小さくなる。予測残差ＰＲが小さくなるほど、統計的に見た予測残差ＰＲの出現頻度が０近傍に偏る傾向が高まるので、エントロピー符号化を施す上で有利になる。
【００２８】
交流成分予測は、処理対象Ｓと周辺領域Ｔ，Ｂ，Ｌ，Ｒとの空間的な相関性を利用して、予測画像Ｓ’、すなわち、処理対象Ｓを細分化した各領域s00〜ｓ11の予測画素値（領域内の平均画素値）を算出するものである。その具体的な算出手法には様々なものが存在するが、以下の例示を含めて、どの手法を採用してもよい。
【００２９】
（算出手法１）
交流成分予測で参照すべき周辺領域として、ブロックＴ，Ｂ，Ｌ，Ｒの平均画素値ＤＣn-1（直上位の階層にて算出済）を用いて、以下の数式１より予測画素値ｓ00〜ｓ11を算出する。なお、数式１に関して、Ｓ，Ｔ，Ｂ，Ｌ，Ｒの表記は、ブロックそのものを指すのではなく、これらの平均画素値ＤＣn-1を示すものとする（後述する数式２についても同様）。なお、本手法の詳細については、特許文献２として挙げた特許第３７７４２０１号公報に開示されているので、必要ならば参照されたい。
【００３０】
（数式１）
ｓ00＝Ｓ＋（Ｔ−Ｂ＋ＬーＲ）／８
ｓ01＝Ｓ＋（Ｔ−Ｂ−Ｌ＋Ｒ）／８
ｓ10＝Ｓ＋（−Ｔ＋Ｂ＋Ｌ−Ｒ）／８
ｓ11＝Ｓ＋（−Ｔ＋Ｂ−Ｌ＋Ｒ）／８
【００３１】
（算出手法２）
交流成分予測で参照すべき周辺領域として、ブロックＢ，Ｒの平均画素値ＤＣn-1（直上位の階層にて算出済）と、処理対象Ｓと隣接したサブブロックｔ10，ｔ11，ｌ01，ｌ11の平均画素値ＤＣn（同一階層の従前処理にて算出済）とを用いて、以下の数式２により予測画素値ｓ00〜ｓ11を算出する。なお、数式２に関して、ｔ10，ｔ11，ｌ01，ｌ11の表記は、サブブロックそのものを指すのではなく、これらの平均画素値ＤＣnを示すものとする。一般に、処理対象Ｓと直接隣接しているサブブロックｔ10，ｔ11は、処理対象Ｓと直接隣接していないサブブロックｔ00，ｔ01をも含むブロックＴと比較して、処理対象ｓとの空間的な相関性がより高いといえる。したがって、冗長なサブブロックｔ00，ｔ01を除いたサブブロックｔ10，ｔ11のみを用いることで、予測精度の一層の向上が期待できる。なお、本手法の詳細については、特許文献１として挙げた特許第４０００１５７号公報に開示されているので、必要ならば参照されたい。
【００３２】
（数式２）
ｓ00＝Ｓ＋（（ｔ10＋ｔ11）／２−Ｂ＋（ｌ01＋ｌ11）／２−Ｒ）／８
ｓ01＝Ｓ＋（（ｔ10＋ｔ11）／２−Ｂ−（ｌ01＋ｌ11）／２＋Ｒ）／８
ｓ10＝Ｓ＋（−（ｔ10＋ｔ11）／２＋Ｂ＋（ｌ01＋ｌ11）／２−Ｒ）／８
ｓ11＝Ｓ＋（−（ｔ10＋ｔ11）／２＋Ｂ−（ｌ01＋ｌ11）／２＋Ｒ）／８
【００３３】
なお、直下位の階層に供給する平均画素値ＤＣnは、予測画像Ｓ’に予測残差を加算することによって算出されるが、この予測残差の値としては、上述した予測残差ＰＲそのものではなく、これを非可逆変換後に逆変換した復元値ＰＲ’（ＰＲとは僅かに相違）が用いられる。復元値ＰＲ’を用いる理由は、デコード時の繰り返し処理による誤差Δ（Δ＝ＰＲ−ＰＲ’）の累積を防止して、デコード処理との整合性を担保するためである。
【００３４】
図４は、フィルタ処理部４ａ，４ｂの構成図である。各階層のフィルタ処理部４ａ，４ｂは、取り扱うブロックサイズが異なる点を除けば、その基本構成および処理の流れは同一である。以下、第２位階層のフィルタ処理部４ａを例に説明する。フィルタ処理部４ａは、処理前ＤＣ値算出部４１と、フィルタリング部４２と、処理後ＤＣ値算出部４３と、減算器４４と、ブロック補正部４５とを有する。
【００３５】
処理前ＤＣ値算出部４１は、ブロック分割符号化で処理されるブロックのフィルタ処理前の平均画素値（ＤＣ値）をＤＣ0として算出する。第２位階層では、８×８ブロック単位の平均画素値ＤＣ0から４×４ブロック単位の平均画素値ＤＣ1が算出される。入力ブロックは、位置的に隣接した４つの領域の集合であり、これら領域のＤＣ1（４値）の平均がＤＣ0となる。なお、図２の構成との関係でいえば、このＤＣ0は、直上位の階層（ＤＣ符号化部２）にて算出された平均画素値ＤＣ0（８×８ブロック）と等価である。したがって、ここでの演算を行う代わりに、直上位の階層にて算出された平均画素値ＤＣ0をバッファから読み出し、これを用いてもよい。
【００３６】
フィルタリング部４２は、フィルタ処理の対象となる領域のそれぞれ、具体的には、入力ブロックを４つに細分化したそれぞれの領域（個々の領域の値はＤＣ1）に対して、その周辺に位置する周辺領域の情報を用いたフィルタ処理を個別に施す。本実施形態では、フィルタ処理として、判定しきい値との比較によってノイズを検出し、ノイズが生じている領域の画素値を、その周辺領域の情報を用いた演算値に置き換えるデリンギングフィルタを用いる。
【００３７】
図５は、デリンギングフィルタの動作説明図である。入力ブロック内の１つのＤＣ値ｇ０（＝ＤＣ1）を処理するために、その周辺に位置する８つのＤＣ値ｇ１〜ｇ８（＝ＤＣ1）が周辺領域として用いられる。減算器４２ａは、周辺領域の情報である各ＤＣ値ｇ１〜ｇ８と、処理対象Ｓの情報であるＤＣ値ｇ０との差分を個別に算出し、差分値Δ１〜Δ８（絶対値）を出力する。しきい値判定部４２ｂは、ノイズの有無を判断すべく、差分値Δ１〜Δ８のそれぞれを所定のしきい値Ｔｈと比較する。しきい値Ｔｈよりも小さい差分値Δ１，Δ２，Δ５，Δ７，Δ８は、その差が符号化の過程で重畳したノイズによるものとみなす一方、しきい値Ｔｈ以上のものは、その差が原画像に本来的に存在する輪郭成分によるものとみなす。加算器４２ｃは、ノイズに起因した差分値Δ１，Δ２，Δ５，Δ７，Δ８と、処理対象となる領域のＤＣ値ｇ０に係数λを乗じた値とを加算する。そして、この加算結果を係数（λ＋ｎ）で除算した値ｇ’５がフィルタリング後の値ＤＣ'1として出力される。ここで、ｎは、しきい値判定部４２ｂの出力数、すなわち、しきい値Ｔｈよりも小さいＤＣ値ｇの個数であり、同図の場合にはｎ＝５となる。以上の処理は、入力ブロックを構成する４つの領域のすべてに対して行われ、これによって、４つの値ＤＣ'1によりなる処理済ブロックが得られる。
【００３８】
図６は、フィルタの処理の前後におけるスキャンライン上の各値の変化を示す図である。同図の黒丸はスキャンライン上の領域を示し、縦方向はそれぞれの領域におけるＤＣ値ｇの変化を示す。同図（ａ）に示すように、差分値｜Δ｜がしきい値Ｔｈ以上の場合には、フィルタリングの前後でＤＣ値ｇは変化せず、原画像の輪郭がそのまま保持される。これに対して、同図（ｂ）に示すように、差分値｜Δ｜がしきい値Ｔｈよりも小さい場合には、フィルタリングによって段差が取り除かれた出力となり、ブロックノイズやリンギングノイズを効果的に除去できる。
【００３９】
処理後ＤＣ値算出部４３は、処理済ブロックの平均画素値をＤＣ'0として算出する。そして、減算器４４は、フィルタリング前の平均画素値ＤＣ0と、フィルタリング後の平均画素値ＤＣ'0との差分値α（＝ＤＣ'0−ＤＣ0）を算出する。ＤＣ'0（フィルタリング後）がＤＣ'0（フィルタリング前）よりも大きい場合、すなわち、フィルタ処理によってＤＣ値が増加している場合、差分値αの符号は正になる。一方、ＤＣ'0（フィルタリング後）がＤＣ'0（フィルタリング前）よりも小さい場合、すなわち、フィルタ処理によってＤＣ値が低下している場合、差分値αの符号は負になる。
【００４０】
ブロック補正部４５は、処理済ブロックの平均画素値がＤＣ0（フィルタリング前）に近づくように、差分値αをブロック内の各領域に分配することによって、処理済ブロックを補正する。例えば、差分値αをブロック内の領域数４で除算する。この除算値は、１つの領域あたりの補正量に相当する。そして、以下の数式３にしたがって、除算値（α／４）をブロック内の各領域に均等に割り当て、それぞれの領域の値ＤＣ'1から除算値（α／４）を引いた値を補正後の値ＤＣ''1とする。
【００４１】
（数式３）
ＤＣ''1＝ＤＣ'1−α／４
【００４２】
フィルタ処理によってＤＣ値が増加している場合には、差分値αの符号が正なので、補正前の値ＤＣ'1から（α／４）が減算される。これによって、出力ブロック全体では、差分値α相当が減算されることになるので、その平均画素値は、ＤＣ0（フィルタリング前）相当になる。これに対して、フィルタ処理によってＤＣ値が低下している場合には、差分値αの符号が負なので、補正前の値ＤＣ'1から（α／４）が加算される。これによって、出力ブロック全体では、差分値α相当が加算されることになるので、その平均画素値は、ＤＣ0（フィルタリング前）相当になる。その結果、４つの値ＤＣ''1よりなる出力ブロックは、その領域内の値が個別的には変化するものの、ブロック全体でみると、フィルタリング後の特性を良好に保持しているといえる。
【００４３】
また、差分値αの別の分配手法として、処理済ブロック内の各領域の値ＤＣ'1の比率に応じて、差分値αを各領域に可変に割り当ててもよい。この場合、フィルタリング後の値ＤＣ'1のｌｏｇ２の比率に応じて差分値αを按分する。例えば、ブロック内の画素値が１００，１００，１５０，２００の場合、差分値αを２：２：３：４で按分するといった如くである。そして、按分された各値をブロック内の各領域に割り当て、それぞれのＤＣ'1から引く。
【００４４】
上述した２つの例では、補正によって出力ブロックの平均画素値をＤＣ0相当に設定している（ただし、除算による丸め誤差があるので、厳密にはＤＣ0にはならない）。ＤＣ0と一致させることは最も好ましい実施形態ではあるものの、本発明はこれに限定されるものではなく、少なくともＤＣ0に近づくようにすれば足りる。なぜなら、ＤＣ0に近づれば、その分だけＰＳＮＲの低下の抑制に貢献するからである。以上のような処理を経て、上位階層側のブロック補正部４５によって補正されたフィルタリング後の値ＤＣ''1が下位階層側に供給される。
【００４５】
なお、図４に示したフィルタ処理部４と等価な機能は、コンピュータによるソフトウェア処理によっても実現することができる。図７は、上述した補正付フィルタ処理を実現するコンピュータプログラムのフローチャートである。なお、ハードウェア処理とソフトウェア処理との間には本質的な相違はないので、ここでは概略的な説明に留め、その詳細は上述した記載を参照するものとする。まず、ステップ１において、ブロックのフィルタ処理前の平均画素値がＤＣ0として算出される。ステップ２において、フィルタ処理の対象領域に対して、その周辺に位置する周辺領域の情報を用いたフィルタ処理（デリンギングフィルタ）が施される。ステップ３において、ブロックのフィルタ処理後の平均画素値がＤＣ'0として算出される。そして、ステップ４において、ステップ１で算出された値ＤＣ0と、ステップ３で算出された値ＤＣ'0との差分値αが算出される。最後に、ステップ５において、ブロックのフィルタ処理後の平均画素値がＤＣ0に近づくように、ブロック内の各領域に対して差分値αが分配され、これによって、フィルタ処理後のブロックが補正される。
【００４６】
このように、本実施形態によれば、従来のＲＡＣＰエンコーダにフィルタ処理部４ａ，４ｂを追加し、各階層におけるブロック分割符号化で処理されるブロックに対して、フィルタ処理を施す。そして、フィルタ処理後のブロックに関して、そのＤＣ値がフィルタ処理前の値ＤＣ0に近づくように、ブロック内の各領域の値を補正する。この補正は、フィルタ処理の前後におけるＤＣ値の差分αを、それぞれの領域に分配することによって行われる。これにより、補正が施されたブロックは、フィルタ処理後の特性を良好に維持する。また、ＲＡＣＰ符号化では、上位階層からＤＣ値が供給されＡＣ値とともに出力画素値を生成する。上位階層ほど量子化係数が小さくなっているため、ＤＣ値の方がＡＣ値よりも真値に近い。本実施形態によれば、フィルタ処理後のブロックを補正することで、フィルタ処理前のＤＣ0を有効に保持できる。その結果、フィルタリングの効果を損なうことなく、フィルタリングに起因したＰＳＮＲの低下を有効に抑制できる。
【００４７】
なお、上述した実施形態では、フィルタ処理の一例として、デリンギングフィルタを挙げているが、エッジ強調フィルタや平滑化フィルタ等を含めて、対象領域の周辺に位置する周辺領域の情報を用いるフィルタを使用してもよい。エッジ強調フィルタとしては、例えば、図８に示すようなラプラシアンフィルタを用いることができる。また、平滑化フィルタとしては、例えば、図９に示すような単純平均フィルタ、或いは、図１０に示すようなガウシアンフィルタを用いることができる。これらのフィルタを適用するにあたっては、フィルタの中心が処理対象となる領域に位置するように被せ、位置的に対応する画素値とフィルタの要素とを個別に乗算し、これらの総和を対象領域の値とする。
【００４８】
また、上述した実施形態では、交流成分予測を用いて画像を圧縮するエンコーダにフィルタ処理部４を追加する例について説明したが、交流成分予測を用いて画像を伸張するデコーダにこれを追加してもよい。
【００４９】
また、本発明は、交流成分予測符号化に限らず、ＪＰＥＧ等を含めて、ブロック単位の処理を基本としたブロック分割符号化に広く適用可能である。さらに、ブロックを細分化しながら、解像度の高い画像（高精細画像）を生成するといった画像処理にも適用可能である。
【図面の簡単な説明】
【００５０】
【図１】ＲＡＣＰエンコーダの全体構成図
【図２】画像平面上に設定されるブロックの説明図
【図３】交流成分予測符号化の説明図
【図４】フィルタ処理部の構成図
【図５】デリンギングフィルタの動作説明図
【図６】フィルタの処理の前後におけるスキャンライン上の各値の変化を示す図
【図７】補正付フィルタ処理を実現するコンピュータプログラムのフローチャート
【図８】ラプラシアンフィルタの説明図
【図９】単純平均フィルタの説明図
【図１０】ガウシアンフィルタの説明図
【符号の説明】
【００５１】
１  ＤＣ算出部
２  ＤＣ符号化部
３ａ〜３ｃ  階層処理部
４ａ，４ｂ  フィルタ処理部
４１  処理前ＤＣ値算出部
４２  フィルタリング部
４２ａ  減算器
４２ｂ  しきい値判定部
４２ｃ  加算器
４３  処理後ＤＣ値算出部
４４  減算器
４５  ブロック補正部
【図１】
2010093608.tif 000003
【図２】
2010093608.tif 000004
【図３】
2010093608.tif 000005
【図４】
2010093608.tif 000006
【図５】
2010093608.tif 000007
【図６】
2010093608.tif 000008
【図７】
2010093608.tif 000009
【図８】
2010093608.tif 000010
【図９】
2010093608.tif 000011
【図１０】
2010093608.tif 000012