説明

画像処理システムおよび画像処理プログラム

【課題】フィルタ処理を施しても、フィルタ処理前のブロックのDC値を有効に保持する。
【解決手段】フィルタリング部42は、フィルタ処理の対象となる領域のそれぞれに対して、その周辺に位置する周辺領域の情報を用いたフィルタ処理を施す。減算器44は、互いに隣接した複数の領域の集合であるブロックに関して、フィルタ処理前の平均画素値DC0と、フィルタ処理後の平均画素値DC'0との差分値αを算出する。ブロック補正部45は、フィルタ処理後の平均画素値がDC0に近づくように、ブロック内の各領域に対して、差分値αを分配することによって、フィルタ処理後のブロックを補正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理システムおよび画像処理プログラムに係り、特に、ブロック分割符号化に適した補正付フィルタ処理に関する。
【背景技術】
【0002】
従来より、ブロック分割符号化、すなわち、画像を複数のブロックに分割し、ブロックを処理単位とした処理によって、画像データを圧縮/伸張する手法が知られている。その典型であるJPEG(Joint Photographic Experts Group)では、画像を固定サイズ(8×8画素)のブロックに分割し、ブロック単位の離散コサイン変換(DCT:Discrete Cosine Transform)によって、画像データが空間領域から周波数領域へ変換される。そして、DCTによって得られた周波数成分に対して、量子化後に、エントロピー符号化が施される。この符号化の他の例としては、特許文献1,2に開示された再帰的交流成分予測符号化(RACP:Recursive ACP)が挙げられる。RACP符号化は、処理対象となるブロックを順次細分化し、交流成分予測(ACP:AC Componet Prediction)を用いて、画像データを階層的に圧縮/伸張する手法である。また、特許文献3には、ブロック分割符号化に起因したブロックノイズ等を緩和するために、ローパスフィルタを併用したRACP符号化が開示されている。
【0003】
ところで、例えば、特許文献4にも指摘されているように、ローパスフィルタを用いる場合には、符号化の過程で重畳したノイズ成分のみならず、原画像が本来的に有する高周波成分も除去されてしまう。そのため、フィルタリング後の画像が全体的にぼやけてしまうという問題がある。この問題を解消すべく、特許文献4には、ブロック分割符号化において、ローパスフィルタの代わりに、デリンギングフィルタを用いる点が開示されている。デリンギングフィルタは、判定しきい値との比較によってノイズを検出し、ノイズが生じている領域の画素値を、その周辺領域の情報を用いて演算された値に置き換えるフィルタであり、ブロックノイズやリンギングノイズの緩和といった用途で用いられる。ここで、ブロックノイズは、原画像には存在しないブロックの境目が出現するブロック状の歪みであり、リンギングノイズは、画像の輪郭、すなわちエッジ周辺に生じるもや状の歪みである。
【0004】
【特許文献1】特許第4000157号公報
【特許文献2】特許第3774201号公報
【特許文献3】特許第3700976号公報
【特許文献4】特開2000−102020号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述した従来のデリンギングフィルタでは、フィルタリングの前後でブロックの平均画素値、すなわちDC値(直流成分)が変化してしまうという欠点がある。例えば、JPEGでは、8×8画素のブロック単位でDCTを行うが、DCTはKL変換の良好な近似となるため、低周波成分に情報が集中する。DCTの第一成分であるDC値は、これを量子化したとしても、他成分であるAC値(交流成分)よりも真値により近い。したがって、AC値を含んで生成される出力画素値を用いたフィルタ処理(フィルタリング)によって、ブロックのDC値自体が変化してしまうと、PSNR(Peak signal-to-noise ratio)の低下を招く。ここで、PSNRとは、画像の信号と混入したノイズとの比率(通常はdB)をいい、この値が低いほど、画像信号に多くのノイズが混入していることを意味する。同様のことは、RACP符号化についてもいえる。RACP符号化では、上位階層からDC値が供給され、AC値とともに出力画素値を生成する。上位階層ほど量子化係数が小さくなっているため、DC値の方がAC値よりも真値に近い。したがって、AC値を含んで生成される出力画素値を用いたフィルタ処理によって、ブロックのDC値自体が変化してしまうと、PSNRの低下を招く。
【0006】
本発明は、このような点に鑑みなされたもので、その目的は、フィルタ処理を施しても、フィルタ処理前のブロックのDC値を有効に保持することである。
【課題を解決するための手段】
【0007】
かかる課題を解決すべく、第1の発明は、フィルタリング部と、減算器と、ブロック補正部とを有する画像処理システムを提供する。フィルタリング部は、フィルタ処理の対象となる領域のそれぞれに対して、この領域の周辺に位置する周辺領域の情報を用いたフィルタ処理を施す。減算器は、互いに隣接した複数の領域の集合であるブロックに関して、フィルタ処理前の平均画素値である第1のDC値と、フィルタ処理後の平均画素値である第2のDC値との差分値を算出する。ブロック補正部は、ブロックのフィルタ処理後の平均画素値が第1のDC値に近づくように、ブロック内の各領域に対して、差分値を分配することによって、フィルタ処理後のブロックを補正する。
【0008】
ここで、第1の発明において、フィルタリング部は、上記フィルタ処理として、デリンギングフィルタ、エッジ強調フィルタおよび平滑化フィルタのいずれかの処理を行うことが好ましい。
【0009】
第1の発明において、ブロック補正部は、差分値をブロック内の領域数で除算し、この除算した値をブロック内の各領域に均等に割り当ててもよい。また、ブロック補正部は、ブロック内における各領域の画素値の比率に応じて差分値を按分し、これらの按分した値をブロック内の各領域に可変に割り当ててもよい。
【0010】
第1の発明において、上記ブロックは、画像を複数のブロックに分割し、それぞれのブロックを処理単位とした処理によって、画像データを圧縮または伸張するブロック分割符号化の処理単位となるブロックであることが好ましい。第1の発明は、階層が下位になるにしたがって、上記ブロックのサイズが段階的に小さくなり、上記ブロック分割符号化が階層間で再帰的に行われる複数の階層構造に適用してもよい。この場合、少なくとも一つの階層は、上記フィルタリング部と、上記減算器と、上記ブロック補正部とを有する。そして、上位階層側で補正されたフィル処理後の平均画素値を下位階層側に供給することが好ましい。ここで、上記ブロック分割符号化は、交流成分予測を用いて画像を圧縮するエンコード処理、または、交流成分予測を用いて画像を伸張するデコード処理であってもよい。
【0011】
第2の発明は、以下の画像処理をコンピュータに実行させる画像処理プログラムを提供する。この画像処理は、フィルタ処理の対象となる領域のそれぞれに対して、この領域の周辺に位置する周辺領域の情報を用いたフィルタ処理を施す第1のステップと、互いに隣接した複数の領域の集合であるブロックに関するフィルタ処理前の平均画素値を第1のDC値として算出する第2のステップと、ブロックのフィルタ処理後の平均画素値を第2のDC値として算出する第3のステップと、第1のDC値と第2のDC値との差分値を算出する第4のステップと、ブロックのフィルタ処理後の平均画素値が第1のDC値に近づくように、ブロック内の各領域に対して、差分値を分配することによって、フィルタ処理後のブロックを補正する第5のステップとを有する。
【0012】
ここで、第2の発明において、上記第1のステップは、フィルタ処理として、デリンギングフィルタ、エッジ強調フィルタおよび平滑化フィルタのいずれかの処理を行うことが好ましい。
【0013】
第2の発明において、上記第5のステップは、差分値をブロック内の領域数で除算するステップと、この除算した値をブロック内の各領域に均等に割り当てるステップとを有していてもよい。また、上記第5のステップは、ブロック内における各領域の画素値の比率に応じて差分値を按分し、これらの按分した値をブロック内の各領域に可変に割り当てるステップを有していてもよい。
【0014】
第2の発明において、上記ブロックは、画像を複数のブロックに分割し、それぞれのブロックを処理単位とした処理によって、画像データを圧縮または伸張するブロック分割符号化の処理単位となるブロックであることが好ましい。第2の発明は、階層が下位になるにしたがって、上記ブロックのサイズが段階的に小さくなり、上記ブロック分割符号化が階層間で再帰的に行われる階層構造に適用してもよい。この場合、上記画像処理は、少なくとも一つの階層において行われる。そして、上位階層側の上記画像処理によって補正されたフィルタ処理後の平均画素値が、下位階層側に供給される。ここで、上記各階層の処理は、交流成分予測を用いて画像を圧縮するエンコード処理、または、交流成分予測を用いて画像を伸張するデコード処理であってもよい。
【発明の効果】
【0015】
本発明によれば、フィルタ処理後のブロックの平均画素値が第1のDC値に近づくように、フィルタ処理後のブロック内の各値を補正する。この補正は、フィルタ処理の前後におけるDC値の差分を、それぞれの領域に分配することによって行われる。これにより、補正が施されたブロックは、フィルタ処理後の特性を良好に維持しつつ、フィルタ処理前のDC値を有効に保持することが可能になる。特に、ブロック分割符号化に適用した場合には、フィルタリングの効果を損なうことなく、フィルタリングに起因したPSNRの低下を抑制できる。
【発明を実施するための最良の形態】
【0016】
本実施形態では、ブロック分割符号化の一例として、RACP符号化を例に説明する。図1は、RACPエンコーダの全体構成図である。このエンコーダは、DC算出部1と、DC符号化部2と、階層処理部3a〜3cと、フィルタ処理部4a,4bとを主体に構成されており、4つの階層よりなる階層構造を有する。これらのユニット1,2,3a〜3c,4a,4bより出力されたデータTDCn,DCn,DC''n(n=0,1,2,3)は、図示しないバッファ(記憶部)に一時的に格納され、このバッファを介して、ユニット間のデータ転送が行われる。
【0017】
DC算出部1は、圧縮対象となる入力画像を予め設定されたサイズのブロックに分割し、それぞれのブロックの平均画素値(DC値)、すなわち、ブロック内に含まれる画素の平均値をTDC0〜TDC3として出力する。ここで、TDC0は8×8画素のブロック(8×8ブロック)の平均画素値、TDC1は4×4画素のブロック(4×4ブロック)の平均画素値、TDC2は2×2画素のブロック(2×2ブロック)の平均画素値である。また、TDC3は1×1画素のブロック(1×1ブロック)の平均画素値、すなわち、画像の最小単位である画素の画素値そのもののである。なお、入力画像から直接算出される平均画素値TDC0〜TDC3(真の値)は、ユニット2,3a〜3c内での処理を経て復元される平均画素値DC0〜DC3(復元値)とは区別される。両者の値は、符号化の過程で非可逆変換(量子化を含む)をともなうので、厳密には一致しない。なお、本明細書において、「画素値」とは、画像の最小単位である画素そのものの値のみならず、隣接した複数の画素集合である画素ブロックの特性を表す代表値も含むものとする。
【0018】
DC符号化部2および階層処理部3a〜3cは、8×8ブロック(最上位階層)、4×4ブロック(第2位階層)、2×2ブロック(第3位階層)および1×1ブロック(最下位階層)よりなる4階層構造において、自己に割り当てられた階層処理を行う。
【0019】
最上位階層は、DC符号化部2によって構成される。このDCP符号化部2は、バッファから読み出された8×8ブロック毎の平均画素値TDC0に対して、差分パルス符号変調(DPCM:Differential Pulse Code Modulation)およびエントロピー符号化を施す。差分パルス符号変調によって、画像平面上において互いに隣接したブロックに関する平均画素値TDC0の差分が符号化される。そして、この符号化された差分に対して、量子化後、ハフマン符号化や算術符号化といったエントロピー符号化が施される。このような処理を経たデータは、圧縮データの一部となる画像の直流成分DC0として出力されるとともに、直下位の階層の階層処理部3aに供給すべく、8×8ブロックの平均画素値を復元(逆量子化)した値DC0として出力される。
【0020】
3つの階層処理部3a〜3cは、DC算出部1によって生成された平均画素値TDCn(n=1,2,3、以下同様)と、直上位の階層によって生成された平均画素値DCn-1(またはDC''n-1)とを入力とし、交流成分予測符号化によって、圧縮データの一部としての画像の交流成分ACnを出力する。周知のように、交流成分予測符号化の大まかな処理の流れは、予測画素値の算出、予測残差の算出、予測残差の非可逆変換(アダマール変換および量子化等)、およびエントロピー符号化(ハフマン符号化等)といった順序となり、量子化係数は上位階層ほど小さくなっている。また、階層処理部3a〜3c(ただし、3cは必要な場合のみ)は、非可逆変換の逆変換を行って予測残差を復元し、これを予測画素値に加算することで、平均画素値DCnを復元する。復元された平均画素値DCnは、直下位の階層に供給するために出力される。なお、ある階層の交流成分予測において、その階層のサブブロックを周辺領域として参照する場合、復元された平均画素値DCnは、同一階層にもフィードバックされる。
【0021】
第2位階層は、階層処理部3aおよびフィルタ処理部4aによって構成される。この階層では、8×8ブロックを処理対象とした処理によって、4×4ブロックの交流成分AC1と、4×4ブロックの平均画素値DC1,DC''1とが出力される。階層処理部3aは、交流成分予測で参照すべき周辺領域として、最上位階層で生成された8×8ブロックの平均画素値DC0を用いるとともに、サブブロックを併せて参照する場合には、同一階層でフィードバックされた4×4ブロックの平均画素値DC1も用いる。また、予測残差の算出には、DC算出部1によって算出された4×4ブロックの平均画素値TDC1が用いられる。フィルタ処理部4aは、ブロックノイズやリンギングノイズを緩和するために、平均画素値DC1に補正付フィルタ処理を施し、平均画素値DC''1を出力する。
【0022】
第3位階層は、階層処理部3bおよびフィルタ処理部4bによって構成される。この階層では、4×4ブロックを処理対象とした処理によって、2×2ブロックの交流成分AC2と、2×2ブロックの平均画素値DC2,DC''2とが出力される。階層処理部3bは、交流成分予測で参照すべき周辺領域として、第2位階層で生成された4×4ブロックの平均画素値DC''1(フィルタリング後)を用いるとともに、サブブロックを併せて参照する場合には、同一階層でフィードバックされた2×2ブロックの平均画素値DC2も用いる。また、予測残差の算出には、DC算出部1によって算出された2×2ブロックの平均画素値TDC2が用いられる。フィルタ処理部4bは、ブロックノイズ等を緩和するために、平均画素値DCに補正付フィルタ処理を施し、平均画素値DC''2を出力する。
【0023】
最下位階層は、階層処理部3cによって構成される。この階層では、2×2ブロックを処理対象とした処理によって、1×1ブロックの交流成分AC3が出力される。階層処理部3cは、交流成分予測で参照すべき情報として、第3位階層で生成された2×2ブロックの平均画素値DC''2(フィルタリング後)を用いるとともに、サブブロックを併せて参照する場合には、同一階層でフィードバックされた1×1ブロックの平均画素値DC3も用いる。また、予測残差の算出には、DC算出部1によって算出された1×1ブロックの平均画素値TDC3が用いられる。
【0024】
このような階層構造において、DC符号化部2および階層処理部3a〜3cが互いに連係し、パイプライン的な並行処理を行うことによって、一連の処理が階層間で再帰的に実行される。これによって、圧縮データとして、画像の直流成分DC0と、その交流成分AC1〜AC3とが出力される。この圧縮データには、これら以外にもハフマンテーブル等の付随情報も含まれる。なお、フィルタ処理部4a,4bは、複数の階層に設ける必要はなく、少なくとも一つの階層に設けられていれば足りる。
【0025】
図2は、画像平面上に設定されるブロックの説明図である。ブロックは、画像(1フレームの画像全体またはその一部)を縦横に分割することで、画像平面上に複数設定される。それぞれの階層におけるブロック分割符号化(交流成分予測符号化)は、ブロック単位で行われる。ブロックのサイズは、階層が下位になるにしたがって段階的に小さくなるように設定されており、ある階層で処理対象となるブロックのサイズは、その直上位の階層で細分化されたサブブロックのサイズと一致する。
【0026】
ある階層における画像全体の処理は、処理対象となるブロックを画面上で順次シフトさせながら処理を繰り返し、画像中の全ブロックを処理することによって達成される。このシフトの方向は、図示したように、水平方向に沿った線順次走査的なものであってもよいが、垂直方向に沿ったものも含めて任意に設定してよい。また、それぞれの階層におけるシフトの方向は、必ずしも同一である必要もない。ここで、処理対象の周辺に位置する領域を「周辺領域」といい、この周辺領域の情報が処理対象の交流成分予測を行う際に参照される。周辺領域は、順次シフトによる処理が未だ行われていない領域、すなわち「未処理周辺領域」と、順次シフトによる処理が既に行われた領域、すなわち「処理済周辺領域」とに分類される。同図の場合、処理対象をブロックSとすると、その上下左右に隣接したブロックT,B,L,Rが周辺領域となる。そして、下右に隣接したブロックB,Rが未処理周辺領域となり、上左に隣接したブロックT,Lが処理済周辺領域となる。未処理周辺領域(ブロックB,R)では、ブロックを4つに分割したサブブロックの個々の平均画素値DCnが未だ算出されておらず、直上位の階層で算出されたブロック全体の平均画素値DCn-1のみが既知となっている。また、処理周済辺領域(ブロックT,L)では、同一階層での従前処理によって、ブロックを細分化した個々のサブブロックの平均画素値DCnが算出済みである。以下、あるブロックを細分化した4つのサブブロックに関して、ブロックの左上を”00”,右上を”01”,右下を”11”,左下を”10”とした添字を以て識別するものとする。また、本実施形態では、処理対象の周辺領域として、上下左右のブロックT,B,L,Rを設定しているが、これは一例であって、その一部(例えば上左右)であってもよいし、それ以外(例えば斜め方向、1つ飛び等)を含めてもよい。
【0027】
つぎに、階層処理部3a〜3cで実行される交流成分予測符号化について、図3を参照しつつ概略的に説明する。本予測符号化では、(1)周辺領域T,B,L,Rの情報を参照することによって、処理対象Sの予測画像S’を生成し、(2)予測画像S’と本来の画像との差分を予測残差PRとして算出し、(3)予測残差PRの非可逆変換(アダマール変換および量子化等)を施した後に、エントロピー符号化(ハフマン符号化等)を行う。この符号化において、圧縮率を高める上でのポイントは、予測残差PRの低減、換言すれば、予測画像S’の精度向上である。交流成分予測によって生成された予測画像S’(隣接した予測画素値の集合)が本来の画像(隣接した真の画素値の集合)に近いほど、予測残差PRが小さくなる。予測残差PRが小さくなるほど、統計的に見た予測残差PRの出現頻度が0近傍に偏る傾向が高まるので、エントロピー符号化を施す上で有利になる。
【0028】
交流成分予測は、処理対象Sと周辺領域T,B,L,Rとの空間的な相関性を利用して、予測画像S’、すなわち、処理対象Sを細分化した各領域s00〜s11の予測画素値(領域内の平均画素値)を算出するものである。その具体的な算出手法には様々なものが存在するが、以下の例示を含めて、どの手法を採用してもよい。
【0029】
(算出手法1)
交流成分予測で参照すべき周辺領域として、ブロックT,B,L,Rの平均画素値DCn-1(直上位の階層にて算出済)を用いて、以下の数式1より予測画素値s00〜s11を算出する。なお、数式1に関して、S,T,B,L,Rの表記は、ブロックそのものを指すのではなく、これらの平均画素値DCn-1を示すものとする(後述する数式2についても同様)。なお、本手法の詳細については、特許文献2として挙げた特許第3774201号公報に開示されているので、必要ならば参照されたい。
【0030】
(数式1)
s00=S+(T−B+LーR)/8
s01=S+(T−B−L+R)/8
s10=S+(−T+B+L−R)/8
s11=S+(−T+B−L+R)/8
【0031】
(算出手法2)
交流成分予測で参照すべき周辺領域として、ブロックB,Rの平均画素値DCn-1(直上位の階層にて算出済)と、処理対象Sと隣接したサブブロックt10,t11,l01,l11の平均画素値DCn(同一階層の従前処理にて算出済)とを用いて、以下の数式2により予測画素値s00〜s11を算出する。なお、数式2に関して、t10,t11,l01,l11の表記は、サブブロックそのものを指すのではなく、これらの平均画素値DCnを示すものとする。一般に、処理対象Sと直接隣接しているサブブロックt10,t11は、処理対象Sと直接隣接していないサブブロックt00,t01をも含むブロックTと比較して、処理対象sとの空間的な相関性がより高いといえる。したがって、冗長なサブブロックt00,t01を除いたサブブロックt10,t11のみを用いることで、予測精度の一層の向上が期待できる。なお、本手法の詳細については、特許文献1として挙げた特許第4000157号公報に開示されているので、必要ならば参照されたい。
【0032】
(数式2)
s00=S+((t10+t11)/2−B+(l01+l11)/2−R)/8
s01=S+((t10+t11)/2−B−(l01+l11)/2+R)/8
s10=S+(−(t10+t11)/2+B+(l01+l11)/2−R)/8
s11=S+(−(t10+t11)/2+B−(l01+l11)/2+R)/8
【0033】
なお、直下位の階層に供給する平均画素値DCnは、予測画像S’に予測残差を加算することによって算出されるが、この予測残差の値としては、上述した予測残差PRそのものではなく、これを非可逆変換後に逆変換した復元値PR’(PRとは僅かに相違)が用いられる。復元値PR’を用いる理由は、デコード時の繰り返し処理による誤差Δ(Δ=PR−PR’)の累積を防止して、デコード処理との整合性を担保するためである。
【0034】
図4は、フィルタ処理部4a,4bの構成図である。各階層のフィルタ処理部4a,4bは、取り扱うブロックサイズが異なる点を除けば、その基本構成および処理の流れは同一である。以下、第2位階層のフィルタ処理部4aを例に説明する。フィルタ処理部4aは、処理前DC値算出部41と、フィルタリング部42と、処理後DC値算出部43と、減算器44と、ブロック補正部45とを有する。
【0035】
処理前DC値算出部41は、ブロック分割符号化で処理されるブロックのフィルタ処理前の平均画素値(DC値)をDC0として算出する。第2位階層では、8×8ブロック単位の平均画素値DC0から4×4ブロック単位の平均画素値DC1が算出される。入力ブロックは、位置的に隣接した4つの領域の集合であり、これら領域のDC1(4値)の平均がDC0となる。なお、図2の構成との関係でいえば、このDC0は、直上位の階層(DC符号化部2)にて算出された平均画素値DC0(8×8ブロック)と等価である。したがって、ここでの演算を行う代わりに、直上位の階層にて算出された平均画素値DC0をバッファから読み出し、これを用いてもよい。
【0036】
フィルタリング部42は、フィルタ処理の対象となる領域のそれぞれ、具体的には、入力ブロックを4つに細分化したそれぞれの領域(個々の領域の値はDC1)に対して、その周辺に位置する周辺領域の情報を用いたフィルタ処理を個別に施す。本実施形態では、フィルタ処理として、判定しきい値との比較によってノイズを検出し、ノイズが生じている領域の画素値を、その周辺領域の情報を用いた演算値に置き換えるデリンギングフィルタを用いる。
【0037】
図5は、デリンギングフィルタの動作説明図である。入力ブロック内の1つのDC値g0(=DC1)を処理するために、その周辺に位置する8つのDC値g1〜g8(=DC1)が周辺領域として用いられる。減算器42aは、周辺領域の情報である各DC値g1〜g8と、処理対象Sの情報であるDC値g0との差分を個別に算出し、差分値Δ1〜Δ8(絶対値)を出力する。しきい値判定部42bは、ノイズの有無を判断すべく、差分値Δ1〜Δ8のそれぞれを所定のしきい値Thと比較する。しきい値Thよりも小さい差分値Δ1,Δ2,Δ5,Δ7,Δ8は、その差が符号化の過程で重畳したノイズによるものとみなす一方、しきい値Th以上のものは、その差が原画像に本来的に存在する輪郭成分によるものとみなす。加算器42cは、ノイズに起因した差分値Δ1,Δ2,Δ5,Δ7,Δ8と、処理対象となる領域のDC値g0に係数λを乗じた値とを加算する。そして、この加算結果を係数(λ+n)で除算した値g’5がフィルタリング後の値DC'1として出力される。ここで、nは、しきい値判定部42bの出力数、すなわち、しきい値Thよりも小さいDC値gの個数であり、同図の場合にはn=5となる。以上の処理は、入力ブロックを構成する4つの領域のすべてに対して行われ、これによって、4つの値DC'1によりなる処理済ブロックが得られる。
【0038】
図6は、フィルタの処理の前後におけるスキャンライン上の各値の変化を示す図である。同図の黒丸はスキャンライン上の領域を示し、縦方向はそれぞれの領域におけるDC値gの変化を示す。同図(a)に示すように、差分値|Δ|がしきい値Th以上の場合には、フィルタリングの前後でDC値gは変化せず、原画像の輪郭がそのまま保持される。これに対して、同図(b)に示すように、差分値|Δ|がしきい値Thよりも小さい場合には、フィルタリングによって段差が取り除かれた出力となり、ブロックノイズやリンギングノイズを効果的に除去できる。
【0039】
処理後DC値算出部43は、処理済ブロックの平均画素値をDC'0として算出する。そして、減算器44は、フィルタリング前の平均画素値DC0と、フィルタリング後の平均画素値DC'0との差分値α(=DC'0−DC0)を算出する。DC'0(フィルタリング後)がDC'0(フィルタリング前)よりも大きい場合、すなわち、フィルタ処理によってDC値が増加している場合、差分値αの符号は正になる。一方、DC'0(フィルタリング後)がDC'0(フィルタリング前)よりも小さい場合、すなわち、フィルタ処理によってDC値が低下している場合、差分値αの符号は負になる。
【0040】
ブロック補正部45は、処理済ブロックの平均画素値がDC0(フィルタリング前)に近づくように、差分値αをブロック内の各領域に分配することによって、処理済ブロックを補正する。例えば、差分値αをブロック内の領域数4で除算する。この除算値は、1つの領域あたりの補正量に相当する。そして、以下の数式3にしたがって、除算値(α/4)をブロック内の各領域に均等に割り当て、それぞれの領域の値DC'1から除算値(α/4)を引いた値を補正後の値DC''1とする。
【0041】
(数式3)
DC''1=DC'1−α/4
【0042】
フィルタ処理によってDC値が増加している場合には、差分値αの符号が正なので、補正前の値DC'1から(α/4)が減算される。これによって、出力ブロック全体では、差分値α相当が減算されることになるので、その平均画素値は、DC0(フィルタリング前)相当になる。これに対して、フィルタ処理によってDC値が低下している場合には、差分値αの符号が負なので、補正前の値DC'1から(α/4)が加算される。これによって、出力ブロック全体では、差分値α相当が加算されることになるので、その平均画素値は、DC0(フィルタリング前)相当になる。その結果、4つの値DC''1よりなる出力ブロックは、その領域内の値が個別的には変化するものの、ブロック全体でみると、フィルタリング後の特性を良好に保持しているといえる。
【0043】
また、差分値αの別の分配手法として、処理済ブロック内の各領域の値DC'1の比率に応じて、差分値αを各領域に可変に割り当ててもよい。この場合、フィルタリング後の値DC'1のlog2の比率に応じて差分値αを按分する。例えば、ブロック内の画素値が100,100,150,200の場合、差分値αを2:2:3:4で按分するといった如くである。そして、按分された各値をブロック内の各領域に割り当て、それぞれのDC'1から引く。
【0044】
上述した2つの例では、補正によって出力ブロックの平均画素値をDC0相当に設定している(ただし、除算による丸め誤差があるので、厳密にはDC0にはならない)。DC0と一致させることは最も好ましい実施形態ではあるものの、本発明はこれに限定されるものではなく、少なくともDC0に近づくようにすれば足りる。なぜなら、DC0に近づれば、その分だけPSNRの低下の抑制に貢献するからである。以上のような処理を経て、上位階層側のブロック補正部45によって補正されたフィルタリング後の値DC''1が下位階層側に供給される。
【0045】
なお、図4に示したフィルタ処理部4と等価な機能は、コンピュータによるソフトウェア処理によっても実現することができる。図7は、上述した補正付フィルタ処理を実現するコンピュータプログラムのフローチャートである。なお、ハードウェア処理とソフトウェア処理との間には本質的な相違はないので、ここでは概略的な説明に留め、その詳細は上述した記載を参照するものとする。まず、ステップ1において、ブロックのフィルタ処理前の平均画素値がDC0として算出される。ステップ2において、フィルタ処理の対象領域に対して、その周辺に位置する周辺領域の情報を用いたフィルタ処理(デリンギングフィルタ)が施される。ステップ3において、ブロックのフィルタ処理後の平均画素値がDC'0として算出される。そして、ステップ4において、ステップ1で算出された値DC0と、ステップ3で算出された値DC'0との差分値αが算出される。最後に、ステップ5において、ブロックのフィルタ処理後の平均画素値がDC0に近づくように、ブロック内の各領域に対して差分値αが分配され、これによって、フィルタ処理後のブロックが補正される。
【0046】
このように、本実施形態によれば、従来のRACPエンコーダにフィルタ処理部4a,4bを追加し、各階層におけるブロック分割符号化で処理されるブロックに対して、フィルタ処理を施す。そして、フィルタ処理後のブロックに関して、そのDC値がフィルタ処理前の値DC0に近づくように、ブロック内の各領域の値を補正する。この補正は、フィルタ処理の前後におけるDC値の差分αを、それぞれの領域に分配することによって行われる。これにより、補正が施されたブロックは、フィルタ処理後の特性を良好に維持する。また、RACP符号化では、上位階層からDC値が供給されAC値とともに出力画素値を生成する。上位階層ほど量子化係数が小さくなっているため、DC値の方がAC値よりも真値に近い。本実施形態によれば、フィルタ処理後のブロックを補正することで、フィルタ処理前のDC0を有効に保持できる。その結果、フィルタリングの効果を損なうことなく、フィルタリングに起因したPSNRの低下を有効に抑制できる。
【0047】
なお、上述した実施形態では、フィルタ処理の一例として、デリンギングフィルタを挙げているが、エッジ強調フィルタや平滑化フィルタ等を含めて、対象領域の周辺に位置する周辺領域の情報を用いるフィルタを使用してもよい。エッジ強調フィルタとしては、例えば、図8に示すようなラプラシアンフィルタを用いることができる。また、平滑化フィルタとしては、例えば、図9に示すような単純平均フィルタ、或いは、図10に示すようなガウシアンフィルタを用いることができる。これらのフィルタを適用するにあたっては、フィルタの中心が処理対象となる領域に位置するように被せ、位置的に対応する画素値とフィルタの要素とを個別に乗算し、これらの総和を対象領域の値とする。
【0048】
また、上述した実施形態では、交流成分予測を用いて画像を圧縮するエンコーダにフィルタ処理部4を追加する例について説明したが、交流成分予測を用いて画像を伸張するデコーダにこれを追加してもよい。
【0049】
また、本発明は、交流成分予測符号化に限らず、JPEG等を含めて、ブロック単位の処理を基本としたブロック分割符号化に広く適用可能である。さらに、ブロックを細分化しながら、解像度の高い画像(高精細画像)を生成するといった画像処理にも適用可能である。
【図面の簡単な説明】
【0050】
【図1】RACPエンコーダの全体構成図
【図2】画像平面上に設定されるブロックの説明図
【図3】交流成分予測符号化の説明図
【図4】フィルタ処理部の構成図
【図5】デリンギングフィルタの動作説明図
【図6】フィルタの処理の前後におけるスキャンライン上の各値の変化を示す図
【図7】補正付フィルタ処理を実現するコンピュータプログラムのフローチャート
【図8】ラプラシアンフィルタの説明図
【図9】単純平均フィルタの説明図
【図10】ガウシアンフィルタの説明図
【符号の説明】
【0051】
1 DC算出部
2 DC符号化部
3a〜3c 階層処理部
4a,4b フィルタ処理部
41 処理前DC値算出部
42 フィルタリング部
42a 減算器
42b しきい値判定部
42c 加算器
43 処理後DC値算出部
44 減算器
45 ブロック補正部

【特許請求の範囲】
【請求項1】
画像処理システムにおいて、
フィルタ処理の対象となる領域のそれぞれに対して、当該領域の周辺に位置する周辺領域の情報を用いたフィルタ処理を施すフィルタリング部と、
互いに隣接した複数の前記領域の集合であるブロックに関して、フィルタ処理前の平均画素値である第1のDC値と、フィルタ処理後の平均画素値である第2のDC値との差分値を算出する減算器と、
ブロックのフィルタ処理後の平均画素値が前記第1のDC値に近づくように、前記ブロック内の各領域に対して、前記差分値を分配することによって、フィルタ処理後の前記ブロックを補正するブロック補正部と
を有することを特徴とする画像処理システム。
【請求項2】
前記フィルタリング部は、前記フィルタ処理として、デリンギングフィルタ、エッジ強調フィルタおよび平滑化フィルタのいずれかの処理を行うことを特徴とする請求項1に記載された画像処理システム。
【請求項3】
前記ブロック補正部は、前記差分値を前記ブロック内の領域数で除算し、当該除算した値を前記ブロック内の各領域に均等に割り当てることを特徴とする請求項1または2に記載された画像処理システム。
【請求項4】
前記ブロック補正部は、前記ブロック内における各領域の画素値の比率に応じて前記差分値を按分し、当該按分した値を前記ブロック内の各領域に可変に割り当てることを特徴とする請求項1または2に記載された画像処理システム。
【請求項5】
前記ブロックは、画像を複数のブロックに分割し、それぞれのブロックを処理単位とした処理によって、画像データを圧縮または伸張するブロック分割符号化の処理単位となるブロックであることを特徴とする請求項1から4のいずれかに記載された画像処理システム。
【請求項6】
階層が下位になるにしたがって、前記ブロックのサイズが段階的に小さくなり、前記ブロック分割符号化が階層間で再帰的に行われる階層構造において、
少なくとも一つの階層は、前記フィルタリング部と、前記減算器と、前記ブロック補正部とを有し、
上位階層側で補正されたフィルタ処理後の平均画素値が、下位階層側に供給されることを特徴とする請求項5に記載された画像処理システム。
【請求項7】
前記ブロック分割符号化は、交流成分予測を用いて画像を圧縮するエンコード処理、または、交流成分予測を用いて画像を伸張するデコード処理であることを特徴とする請求項6に記載された画像処理システム。
【請求項8】
画像処理プログラムにおいて、
フィルタ処理の対象となる領域のそれぞれに対して、当該領域の周辺に位置する周辺領域の情報を用いたフィルタ処理を施す第1のステップと、
互いに隣接した複数の前記領域の集合であるブロックに関するフィルタ処理前の平均画素値を第1のDC値として算出する第2のステップと、
前記ブロックに関するフィルタ処理後の平均画素値を第2のDC値として算出する第3のステップと、
前記第1のDC値と前記第2のDC値との差分値を算出する第4のステップと、
前記ブロックのフィルタ処理後の平均画素値が前記第1のDC値に近づくように、前記ブロック内の各領域に対して、前記差分値を分配することによって、フィルタ処理後の前記ブロックを補正する第5のステップと
を有する画像処理をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項9】
前記第1のステップは、前記フィルタ処理として、デリンギングフィルタ、エッジ強調フィルタおよび平滑化フィルタのいずれかの処理を行うことを特徴とする請求項8に記載された画像処理プログラム。
【請求項10】
前記第5のステップは、
前記差分値を前記ブロック内の領域数で除算するステップと、
当該除算した値を前記ブロック内の各領域に均等に割り当てるステップと
を有することを特徴とする請求項8または9に記載された画像処理プログラム。
【請求項11】
前記第5のステップは、前記ブロック内における各領域の画素値の比率に応じて前記差分値を按分し、当該按分した値を前記ブロック内の各領域に可変に割り当てるステップを有することを特徴とする請求項8または9に記載された画像処理プログラム。
【請求項12】
前記ブロックは、画像を複数のブロックに分割し、それぞれのブロックを処理単位とした処理によって、画像データを圧縮または伸張するブロック分割符号化の処理単位となるブロックであることを特徴とする請求項8から11のいずれかに記載された画像処理プログラム。
【請求項13】
階層が下位になるにしたがって、前記ブロックのサイズが段階的に小さくなり、前記ブロック分割符号化が階層間で再帰的に行われる階層構造において、
前記画像処理は、少なくとも一つの階層において行われ、
上位階層側で補正されたフィルタ処理後の平均画素値が、下位階層側に供給されることを特徴とする請求項12に記載された画像処理プログラム。
【請求項14】
前記ブロック分割符号化は、交流成分予測を用いて画像を圧縮するエンコード処理、または、交流成分予測を用いて画像を伸張するデコード処理であることを特徴とする請求項13に記載された画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−93608(P2010−93608A)
【公開日】平成22年4月22日(2010.4.22)
【国際特許分類】
【出願番号】特願2008−262544(P2008−262544)
【出願日】平成20年10月9日(2008.10.9)
【出願人】(398034168)株式会社アクセル (80)
【Fターム(参考)】