本発明は、画像を構成する画素にローパスフィルタをかけて平滑化画像を生成する画像処理に関するものであり、特に、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を生成する画像処理装置、画像処理プログラム、および画像処理方法に関するものである。
デジタル画像処理では画像をぼかした平滑化画像を生成する際にはローパスフィルタを用いて、フィルタサイズ内の各画素のレベル値の平均値を注目画素の信号レベルとしていた。しかしながら、ローパスフィルタを用いた場合、フィルタサイズ内の各画素のレベル値の平均値を注目画素のレベル値とするため、レベル値の差が大きいエッジ部分もぼやけてしまうという問題があった。具体的には、ローパスフィルタを用いた場合、図17に示すように、実線で示した処理対象画像の明暗の差が大きいエッジ部分の勾配が、ローパスフィルタから出力される点線で示したローパスフィルタ画像(図中ではLPF画像)ではなまっており、エッジ部分を保持することができない。
このような問題を改善するために、従来から、画像のエッジ部分を正確に保存し、かつエッジ以外をぼかすための種々の技術が考えられている。たとえば、特許文献1には、イプシロンフィルタを用いた顔画像処理装置(画像処理装置)に関する技術が開示されている。
具体的には、図18に示すように、画像の座標(m,n)に位置する画素を注目画素とし、注目画素の周囲の画素にの場合は、座標(m−1,n−1)、座標(m,n−1)、座標(m+1,n−1)、座標(m−1,n)、座標(m+1,n)、座標(m−1,n+1)、座標(m,n+1)、座標(m+1,n+1)の8画素)を周辺画素とし、差分検出器500が、注目画素のレベル値(たとえば、輝度信号の階調値)と各周辺画素のレベル値との差分を算出し、閾値判定部501が、差分検出器500によって算出されたそれぞれの差分が所定の閾値THより小さい周辺画素を抽出する。そして、加算部503が、閾値判定部501によって抽出された周辺画素の信号レベルに所定の係数を乗じた画素値を注目画素の画素値に加算した値を注目画素の画素値として出力する。
このように、特許文献1に記載の従来技術においては、注目画素のレベル値との差分が閾値THより小さい周辺画素のみ処理対象とすることで階調値のレベル幅を制限するようにしているため、図19に示すように、イプシロンフィルタから出力される点線で示したイプシロンフィルタ画像(図中ではεフィルタ画像)のエッジ部分の勾配はなまることなく、実線で示した処理対象画像のエッジ部分の勾配を保持しており、エッジ部分を正確に保存し、かつエッジ以外をぼかすことを可能にしている。
しかしながら、上記特許文献1に記載のイプシロンフィルタを用いた従来技術では、画像の各画素を注目画素とし、それぞれの注目画素のレベル値と各周辺画素のレベル値との差分を算出して閾値と比較しなければならないため、変数による条件分岐処理を含むこととなり、処理負荷が大きく、高速化が困難であるという問題があった。
処理負荷を軽減して高速化を実現するために、画像を縮小(画像の画素を間引いて画素数を少なくして注目画素および周辺画素の数を少なくする)してイプシロンフィルタによる平滑化処理を実行し、平滑化処理を行った画像を拡大することが考えられる。すなわち、画像を低解像化(離散化)して処理を実行することで高速化することが考えられる。しかしながら、画像を縮小するとエッジの位置によってはエッジ部分の画素が間引かれてしまいエッジの情報を含まない縮小画像が生成されることがある。そのため、注目画素の画素値と処理対象とする周辺画素の画素値とを加算して注目画素の画素値とする上記特許文献1に記載のイプシロンフィルタを用いた従来技術では、図20に示すように、実線で示した処理対象画像のエッジ部分の勾配が、点線で示した離散処理によるイプシロンフィルタの出力では保持することができなくなる場合がある。すなわち、上記特許文献1に記載のイプシロンフィルタを用いた従来技術では、処理負荷を軽減して高速化を実現するために画像を低解像化して処理を行った場合、エッジ部分を正確に保持することはできないという問題が生じる。
また、処理負荷を軽減して高速化を実現するために、2次元フィルタを画像の横方向の処理に用いる1次元のフィルタと画像の縦方向の処理に用いる1次元のフィルタとに分解し、横方向の平滑化処理を実行した後に縦方向の平滑化処理を実行する方法(逐次処理)がある。しかしながら、上記特許文献1に記載のイプシロンフィルタを用いた従来技術に逐次処理を適用した場合、横方向の1次元のフィルタ(横フィルタ)の出力画像に対して縦方向の1次元のフィルタ(縦フィルタ)を適用するため、縦輪郭が発生する場合がある。
図21を参照して、縦輪郭が発生する場合について説明する。入力画像600において、領域602に位置する各画素のレベル値(階調値)と領域603に位置する各画素の階調値との差が大きく、かつ領域601に位置する各画素のレベル値(階調値)と領域601の横に隣接する領域602に位置する各画素の階調値との差が制限レベル幅以上(閾値TH以上)であって、領域601に位置する各画素の階調値と領域601の縦方向下に隣接する領域603に位置する各画素の階調値との差が制限レベル幅未満であるとする。
入力画像600に横方向の処理に用いる1次元のフィルタを適用すると、領域601に位置する各画素の階調値と領域602に位置する各画素の階調値の差が閾値TH以上であるため、領域601に位置する画素を注目画素とした場合、領域602に位置する画素は処理対象とならない。また、領域602に位置する画素を注目画素とした場合、領域601に位置する画素は処理対象とならない。そのため、入力画像600に横フィルタを適用した横フィルタ出力画像600aは、入力画像600の領域601に対応する領域601aと入力画像600の領域602に対応する領域602aはぼかされていない。
つぎに、横フィルタ出力画像600aに縦フィルタを適用する。入力画像600の領域601に位置する各画素の階調値と領域603に位置する各画素の階調値との差は閾値TH未満であるため、入力画像600の領域601に対応する横フィルタ出力画像600aの領域601aに位置する各画素の階調値と入力画像600の領域603に対応する横フィルタ出力画像600aの領域603aに位置する各画素の階調値との差も閾値TH未満となる。よって、横フィルタ出力画像600aの領域601aの画素を注目画素とした場合、領域603aに位置する画素は処理対象となり、横フィルタ出力画像600aの領域603aの画素を注目画素とした場合、領域601aに位置する画素は処理対象となる。よって、横フィルタ出力画像600aに縦フィルタを適用した縦フィルタ出力画像600bの縦方向(入力画像600の領域601,603に対応する領域601b,603b)はぼけているが、横フィルタによってぼかすことができなかった入力画像600の領域601と領域602に対応する領域601bと領域602aとの境界に縦輪郭が発生する。
このように、上記特許文献1に記載のイプシロンフィルタを用いた従来技術では、画像の低解像化や逐次処理によって処理負荷を低減して高速化を図った場合、エッジを正確に保持することができないという問題があった。
本発明は、上記に鑑みてなされたものであって、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成する画像処理装置、画像処理プログラム、および画像処理方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、入力画像をぼかした平滑化画像を生成する画像処理装置であって、それぞれ異なるレベル値範囲が設定され、前記入力画像または該入力画像を元に生成した第1の入力画像の各画素を注目画素とし、フィルタサイズ内に含まれる注目画素を含む各画素のレベル値が自身に設定されているレベル値範囲に含まれる各画素を抽出し、抽出した画素のレベル値を平滑化し注目画素のレベル値とする第1のレベル値制限平滑化画像を生成する複数の第1のローパスフィルタと、前記入力画像または該入力画像を元に生成した第2の入力画像の各画素を処理対象画素とし、処理対象画素のレベル値を含むレベル値範囲が設定されている第1のローパスフィルタが生成した第1のレベル値制限平滑化画像を1または複数選択し、選択した第1のレベル値制限平滑化画像の中で前記処理対象画素の位置もしくはその近傍の1または複数の画素のレベル値より算出する値を前記処理対象画素のレベル値とする平滑化画像を生成する第1の合成処理手段と、を備えることを特徴とする。
また、本発明は、上記発明において、前記第1の入力画像は、前記入力画像の縮小画像であり、前記第1の合成処理手段は、前記入力画像に基づいて前記第1の入力画像から生成された第1のレベル値制限平滑化画像を拡大し、拡大した第1のレベル値制限平滑化画像を1または複数選択すること、を特徴とする。
また、本発明は、上記発明において、前記第1の合成処理手段は、前記第1のレベル値制限平滑化画像の画素のレベル値および位置情報を用いた3D−interpolationによるレベル値補間によって前記第1のレベル値制限平滑化画像を生成すること、を特徴とする。
また、本発明は、上記発明において、前記第1の合成処理手段は、前記第1のレベル値制限平滑化画像の画素のレベル値を重み付け平均化することによって前記平滑化画像を生成すること、を特徴とする。
また、本発明は、上記発明において、前記第1のローパスフィルタは、1次元のローパスフィルタであり、横方向平滑化処理および縦方向平滑化処理の逐次実施により平滑化すること、を特徴とする。
また、本発明は、上記発明において、前記複数の第1のローパスフィルタとは異なるフィルタサイズであって、かつそれぞれ異なるレベル値範囲が設定され、前記入力画像または第1の入力画像の各画素を注目画素としてフィルタサイズ内に含まれる注目画素を含む各画素のレベル値が自身に設定されているレベル値範囲に含まれる各画素を抽出し、抽出した画素のレベル値を平滑化し注目画素のレベル値とする第2のレベル値制限平滑化画像を生成する複数の第2のローパスフィルタと、前記第1の合成処理手段によって生成された第1の平滑化画像の各画素を処理対象画素とし、処理対象画素のレベル値を含むレベル値範囲が設定されている第2のローパスフィルタが生成した第2のレベル値制限平滑化画像を1または複数選択し、選択した第2のレベル値制限平滑化画像の中で前記処理対象画素の位置もしくはその近傍の1または複数の画素のレベル値より算出する値を前記処理対象画素のレベル値とする平滑化画像を生成する第2の合成処理手段と、を備えることを特徴とする。
また、本発明は、上記発明において、前記複数の第1のローパスフィルタとは異なるフィルタサイズが設定され、前記第1の合成処理手段によって生成された第1の平滑化画像または該第1の平滑化画像を元に生成した第2の平滑化画像の各画素を注目画素とし、フィルタサイズ内に含まれる注目画素を含む各画素のレベル値が自身に設定されているレベル値範囲に含まれる各画素を抽出し、抽出した画素のレベル値を平滑化し注目画素のレベル値とする第2のレベル値制限平滑化画像を生成する複数の第2のローパスフィルタと、前記第1の合成処理手段によって生成された第1の平滑化画像の各画素を処理対象画素とし、処理対象画素のレベル値を含むレベル値範囲が設定されている第2のローパスフィルタが生成した第2のレベル値制限平滑化画像を1または複数選択し、選択した第2のレベル値制限平滑化画像の中で前記処理対象画素の位置もしくはその近傍の1または複数の画素のレベル値より算出する値を前記処理対象画素のレベル値とする平滑化画像を生成する第2の合成処理手段と、を備えることを特徴とする。
本発明にかかる画像処理装置によれば、それぞれ異なるレベル値範囲が設定された複数の第1のローパスフィルタが、入力画像または入力画像を元に生成した第1の入力画像の各画素を注目画素とし、フィルタサイズ内に含まれる注目画素を含む各画素のレベル値が自身に設定されているレベル値範囲に含まれる各画素を抽出し、抽出した画素のレベル値を平滑化し注目画素のレベル値とする第1のレベル値制限平滑化画像を生成し、第1の合成処理手段が、入力画像または入力画像を元に生成した第2の入力画像の各画素を処理対象画素とし、処理対象画素のレベル値を含むレベル値範囲が設定されている第1のローパスフィルタが生成した第1のレベル値制限平滑化画像を1または複数選択し、選択した第1のレベル値制限平滑化画像の中で処理対象画素の位置もしくはその近傍の1または複数画素のレベル値より算出する値を処理対象画素のレベル値とする平滑化画像を生成することで、複数の第1のローパスフィルタの処理を条件分岐処理ではなく固定化した処理とすることを可能にし、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成する画像処理装置を得ることができるという効果を奏する。
また、本発明にかかる画像処理装置によれば、第1の入力画像を入力画像の縮小画像とし、第1の合成処理手段が、前記入力画像に基づいて第1の入力画像から生成された第1のレベル値制限平滑化画像を拡大し、拡大した第1のレベル値制限平滑化画像を1または複数選択するようにしているため、複数の第1のローパスフィルタの処理対象となる画素数を削減することができ、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成する画像処理装置を得ることができるという効果を奏する。
また、本発明にかかる画像処理装置によれば、第1の合成処理手段は、第1のレベル値制限平滑化画像の画素のレベル値および位置情報を用いた3D−interpolationによるレベル値補間によって第1のレベル値制限平滑化画像を生成することで、複数の第1のレベル値制限平滑化画像全てを補間することなく、必要な部分のみを補間して拡大するようにしているため、拡大処理に要する時間を短縮することが可能となり、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成する画像処理装置を得ることができるという効果を奏する。
また、本発明にかかる画像処理装置によれば、第1の合成処理手段が、第1のレベル値制限平滑化画像の画素のレベル値を重み付け平均化することによって平滑化画像を生成するようにしているため、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成するとともに、生成する平滑化画像の品質を向上することができる画像処理装置を得ることができるという効果を奏する。
また、本発明にかかる画像処理装置1によれば、第1のローパスフィルタを1次元のローパスフィルタとし、横方向平滑化処理および縦方向平滑化処理の逐次実施によって平滑化するようにしているため、2次元のローパスフィルタを用いる場合と比較して処理負荷を低減させることが可能となり、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成する画像処理装置を得ることができるという効果を奏する。
複数の第1のローパスフィルタとは異なるフィルタサイズであって、かつそれぞれ異なるレベル値範囲が設定された複数の第2のローパスフィルタが、入力画像または第1の入力画像の各画素を注目画素とし、フィルタサイズ内に含まれる注目画素を含む各画素のレベル値が自身に設定されているレベル値範囲に含まれる各画素を抽出し、抽出した画素のレベル値を平滑化して注目画素のレベル値とする第2のレベル値制限平滑化画像を生成し、第2の合成処理手段が、第1のローパスフィルタによって生成された第1のレベル値制限平滑化画像から生成された第1の平滑化画像の各画素を処理対象画素とし、処理対象画素のレベル値を含むレベル値範囲が設定されている第2のローパスフィルタが生成した第2のレベル値制限平滑化画像を1または複数選択し、選択した第2のレベル値制限平滑化画像の中で処理対象画素の位置もしくはその近傍の1または複数の画素のレベル値より算出する値を処理対象画素のレベル値とする平滑化画像を生成するようにしている。すなわち、フィルタサイズの異なる同一構造の処理を複数回行なうことで、入力画像の微細構造の残存を残すことなく、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成する画像処理装置を得ることができるという効果を奏する。
また、本発明にかかる画像処理装置によれば、複数の第1のローパスフィルタとは異なるフィルタサイズであって、それぞれ異なるレベル値範囲が設定された複数の第2のローパスフィルタが、複数の第1のローパスフィルタが生成した第1のレベル値制限平滑化画像から生成された平滑化画像(第1の平滑化画像)または第1の平滑化画像を元に生成した第2の平滑化画像の各画素を注目画素とし、フィルタサイズ内に含まれる注目画素を含む各画素のレベル値が自身に設定されているレベル値範囲に含まれる各画素を抽出し、抽出した画素のレベル値を平滑化して注目画素のレベル値とする第2のレベル値制限平滑化画像を生成し、第2の合成処理手段が、第1のローパスフィルタによって生成された第1のレベル値制限平滑化画像から生成された第1の平滑化画像の各画素を処理対象画素とし、処理対象画素のレベル値を含むレベル値範囲が設定されている第2のローパスフィルタが生成した第2のレベル値制限平滑化画像を1または複数選択し、選択した第2のレベル値制限平滑化画像の中で処理対象画素の位置もしくはその近傍の1または複数の画素のレベル値より算出する値を処理対象画素のレベル値とする平滑化画像を生成するようにしている。すなわち、フィルタサイズの異なる同一構造の処理を複数回行なう際に、1度目は入力画像または入力画像を元に生成した画像を処理の対象とし、2度目は1度目の処理によって生成された第1の平滑化画像または第1の平滑化画像を元に生成した第2の平滑化画像を処理の対象とすることで、入力画像の微細構造の残存を残すことなく、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成する画像処理装置を得ることができるという効果を奏する。
図1は、実施例1の画像処理装置の構成を示すブロック図である。
図2は、実施例1の画像処理装置の動作を説明するためのフローチャートである。
図3は、実施例1の画像処理装置の動作を説明するための図である。
図4は、実施例2の画像処理装置の構成を示すブロック図である。
図5は、実施例2の画像処理装置の動作を説明するためのフローチャートである。
図6は、実施例2の画像処理装置の動作を説明するための図である。
図7は、拡大および合成処理を説明するための図である。
図8は、重み付けを説明するための図である。
図9は、微細構造を説明するための図である。
図10は、実施例4の画像処理装置の構成を示すブロック図である。
図11は、実施例4の画像処理装置の動作を説明するためのフローチャートである。
図12は、実施例4の画像処理装置の動作を説明するための図である。
図13は、実施例4の画像処理装置の動作を説明するための図である。
図14は、実施例5の画像処理装置の構成を示すブロック図である。
図15は、実施例5の画像処理装置の動作を説明するためのフローチャートである。
図16は、実施例5の画像処理装置の動作を説明するための図である。
図17は、従来技術を説明するための図である。
図18は、従来技術を説明するための図である。
図19は、従来技術を説明するための図である。
図20は、従来技術の低解像度化による高速化の弊害を説明するための図である。
図21は、横縦処理によるアーチフェクトを説明するための図である。
符号の説明
1,1a,1b,1c 画像処理装置
2,45,60,70,80,131 入力画像
3 出力画像
11 制御部
13 記憶部
46,71,81,134 縮小画像
47−1,47−2,47−3,47−4,47−5,72−1,72−2,72−3,72−4,72−5,74−1,74−2,74−3,74−4,74−5,82−1,82−2,82−3,82−4,82−5,85−1,85−2,85−3,85−4,85−5,132−1,132−n,132a−1,132a−n,132b−1,132b−n レベル値制限平滑化画像
49,61,75,86,133 平滑化画像
73,83,135 参照用画像
84,136 縮小参照用画像
111 入力画像受付部
112,112b 平滑化画像生成部
113 出力画像生成部
1120 フィルタ処理部
1121−1,1121−n,1121a−1,1121a−n,1121b−1,1121b−n ローパスフィルタ
1122 合成処理部
1123,1123a 縮小画像生成部
1124,1124a,1124b 拡大・合成処理部
以下に、本発明にかかる画像処理装置、画像処理プログラム、および画像処理方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1〜図3を用いてこの発明の実施例1を説明する。図1は、この発明における画像処理装置の実施例1の構成を示すブロック図である。図1において、画像処理装置1は、入力画像2を受け付け、受け付けた入力画像2を平滑化して出力画像3を生成する制御部11と、各種画像を記憶する記憶部13とを備えている。入力画像2は、動画であっても静止画であってもよく、カラーでもモノクロでもかまわない。
制御部11は、入力画像受付部111、それぞれレベル値範囲の異なるn(1<n,nは自然数)個のローパスフィルタ(以下、LPFという)1121−1〜1121−nを有するフィルタ処理部1120、および合成処理部1122を備えている。入力画像受付部111は、入力画像2を読み込んで入力画像131として記憶部13に記憶させる。
LPF1121−1〜1121−nは、同一フィルタサイズの1次元のローパスフィルタで、それぞれ異なったレベル値範囲が予め設定されており、記憶部13に記憶されている入力画像131の画素のレベル値が、自身に設定されたレベル値範囲内の画素を処理対象として平滑化(平均値の算出)するレベル値制限平滑化処理を行ってレベル値制限平滑化画像132−1〜132−nを生成する。LPF1121−1〜1121−nは、生成したレベル値制限平滑化画像132−1〜132−nを記憶部13に記憶させる。
なお、LPF1121−1〜1121−nのフィルタサイズは、処理対象となる画像(この場合は、入力画像131)のおおむね1/2程度が好ましいが、他のフィルタサイズであってもかまわない。また、LPF1121−1〜1121−nに設定するレベル値範囲は、その範囲の一部が少なくとも2つのLPF1121−1〜1121−nに重なるようにすることが好ましいが、入力画像のレベル値範囲をカバーしていればよい。さらに、LPF1121−1〜1121−nのフィルタサイズおよびレベル値範囲は、固定値を設定しておいてもよいし、外部から設定するようにしてもよい。
合成処理部1122は、記憶部13に記憶されている入力画像131の各画素のレベル値に基づいて、当該画素に対するレベル値制限平滑化画像132−1〜132−nを選択し、選択したレベル値制限平滑化画像132−1〜132−nのレベル値を合成して平滑化画像133を生成する。合成処理部1122は、生成した平滑化画像133を記憶部13に記憶させる。
出力画像生成部113は、記憶部13に記憶されている入力画像131および平滑化画像133に基づいて出力画像3を生成して出力する。
つぎに、図2のフローチャートと、図1および図3を参照して、この発明における画像処理装置1の実施例1の動作を説明する。入力画像受付部111は、1フレーム分の入力画像2を読み込む(ステップS100)。図3においては、入力画像40が読み込まれる。入力画像受付部111は、読み込んだ入力画像2を入力画像131として記憶部13に記憶させる。図3においては、入力画像40が入力画像受付部111によって読み込まれて記憶部13に記憶される。
フィルタ処理部1120は、所定のフィルタサイズ内で指定されたレベル値範囲内にある入力画像131の画素を累積して平均するレベル値制限平滑化処理を実行してレベル値制限平滑化画像132−1〜132−nを生成する(ステップS101)。なお平均値算出は、フィルタ中心部の画素の重みを大きくし、フィルタ両端部の画素の重みを小さくするように、フィルタ中心部との距離に応じた重み付け平均値を算出してもよい。
具体的には、フィルタ処理部1120のLPF1121−1〜1121−nは、まず画像の横方向に対する1次元のフィルタ処理において、フィルタサイズ内の入力画像131の画素のレベル値が自身に設定されているレベル値範囲内であるか否かを判定する。LPF1121−1〜1121−nは、フィルタサイズ内の入力画像131の画素のレベル値が自身に設定されているレベル値範囲内であると判定した画素のレベル値を累積して平均値を算出する。LPF1121−1〜1121−nは、フィルタサイズ内の入力画像131の画素のレベル値が自身に設定されているレベル値範囲内となる画素が存在しない場合にはフィルタサイズ内の入力画像131の全ての画素のレベル値を累積して平均値を算出する。LPF1121−1〜1121−nは、フィルタサイズ内の任意の画素(たとえば、フィルタサイズ内の中心に位置する画素)を注目画素とし、算出した平均値を注目画素のレベル値とする。次に横方向のフィルタ処理を全画素実施した画像に対し、同様に縦方向に対する1次元フィルタ処理を実施し、LPF1121−1〜1121−nは、入力画像131の全ての画素を注目画素としてそれぞれのレベル値を求めてレベル値制限平滑化画像132−1〜132−nを生成して記憶部13に記憶させる。なお、1次元フィルタ処理は、縦方向を先に実施してもよく、2次元フィルタで実施してもよい。
また、フィルタサイズ内の入力画像131の画素のレベル値が自身に設定されているレベル値範囲内となる画素が、あらかじめ設定した閾値を下回る個数の場合に、全ての画素のレベル値を累積して平均値を算出してもよい。また全ての画素のレベル値を累積して平均値を算出するのではなく、レベル値中央の値を出力してもよい。
図3においては、n=5、すなわち5個のLPF1121−1−1121−5が、それぞれに設定されたレベル値範囲で入力画像40に対してレベル値制限平滑化処理を実行してレベル値制限平滑化画像41−1〜41−5を生成している。
合成処理部1122は、入力画像131の各画素のレベル値に基づいて当該画素に対応するレベル値制限平滑化画像132−1〜132−nを選択する(ステップS102)。具体的には、合成処理部1122は、入力画像131から処理対象となる画素(処理対象画素)を選択し、選択した処理対象画素のレベル値をレベル値範囲とするレベル値制限平滑化画像132−1〜132−nを選択する。LPF1121−1〜1121−nに設定されたレベル値範囲が重なっている場合、処理対象画素のレベル値をレベル値範囲とするレベル値制限平滑化画像132−1〜132−nが複数存在する。この場合、合成処理部1122は、レベル値範囲の中心値と処理対象画素のレベル値との差が小さいレベル値制限平滑化画像132−1〜132−nを2つ以上選択する。
合成処理部1122は、選択したレベル値制限平滑化画像132−1〜132−nのレベル値を合成して平滑化画像133を生成する(ステップS103)。具体的には、合成処理部1122は、選択したレベル値制限平滑化画像132−1〜132−nから処理対象画素の位置に対応する画素のレベル値を抽出し、抽出したレベル値をレベル値範囲の中心値と処理対象画素のレベル値との差分に応じて重みを付け平均値を算出し、処理対象画素が位置する画素のレベル値とする。合成処理部1122は、入力画像131の全ての画素を処理対象画素として処理対象画素の位置に対応する画素のレベル値を求めて平滑化画像133を生成する。合成処理部1122は、生成した平滑化画像133を記憶部13に記憶させる。図3においては、入力画像40の各画素のレベル値に基づいて画素毎にレベル値制限平滑化画像41−1〜41−5を選択し、選択したレベル値制限平滑化画像41−1〜41−5の画素のレベル値を合成して平滑化画像42を生成している。なお、レベル値制限平滑化画像が1つしか選択されない場合は、処理対象画素が位置する画素のレベル値を、処理対象画素のレベル値とすればよい。
出力画像生成部113は、入力画像131および平滑化画像133に基づいて出力画像3を生成して出力する(ステップS104)。具体的には、出力画像生成部113は、入力画像131および平滑化画像133から低周波成分および高周波成分を算出する。ここで、低周波成分とは、平滑化画像133の画素のレベル値そのものであり、高周波成分とは、入力画像131の画素のレベル値と当該画素に対応する位置の平滑化画像133の画素のレベル値との差分である。
出力画像生成部113は、低周波成分および高周波成分を算出した後、低周波成分のダイナミックレンジを圧縮するため、低周波成分(平滑化画像の各画素のレベル値)をレベル範囲の中間値に近づける処理を行なう。なお、中間値に近づける割合は、経験的なものであって、平滑化画像133の画素のレベル値と中間値とのちょうど半分程度のレベル値にすることが一般的である。出力画像生成部113は、中間値に近づけた平滑化画像133の各画素のレベル値に当該画素の高周波成分を加算して出力画像を生成する。
なお、高周波成分を単純に加算するのではなく、拡大した高周波成分を加算するようにしてもよい。この場合、高周波成分を強調することによって、メリハリの出力画像を生成することが可能となる。また、高周波成分を非線形変換することによって拡大し、拡大した高周波成分を加算するようにしてもよい。この場合、高周波成分の変化を緩和することによって仕上がりが自然な出力画像を生成することが可能となる。
このように、この実施例1においては、それぞれ異なるレベル値範囲が設定された複数の第1のローパスフィルタであるLPF1121−1〜1121−nが、入力画像131の各画素を注目画素とし、フィルタサイズ内に含まれる注目画素を含む各画素のレベル値が自身に設定されているレベル値範囲に含まれる各画素を抽出し、抽出した画素のレベル値を平滑化し注目画素のレベル値とする第1のレベル値制限平滑化画像であるレベル値制限平滑化画像132−1〜132−nを生成し、第1の合成処理手段である合成処理部1122が、入力画像131の各画素を処理対象画素とし、処理対象画素のレベル値を含むレベル値範囲が設定されているLPF1121−1〜1121−nが生成したレベル値制限平滑化画像132−1〜132−nを1または複数選択し、選択したレベル値制限平滑化画像132−1〜132−nの中で処理対象画素の位置もしくはその近傍の1または複数の画素のレベル値より算出する値を処理対象画素のレベル値とする平滑化画像133を生成することで、複数のLPF1121−1〜1121−nの処理を条件分岐処理ではなく固定化した処理とすることを可能にし、入力画像131のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像133を高速に生成することができる。
また、この実施例1においては、第1のローパスフィルタであるLPF1121−1〜1121−nを1次元のローパスフィルタと詩、横方向平滑化処理および縦方向平滑化処理の逐次処理によって平滑化するようにしているため、2次元のローパスフィルタを用いる場合と比較して処理負荷を低減させることが可能となり、入力画像の園児を生活に保持し、かつエッジ以外をぼかした平滑化画像をより高速に生成することができる。
なお、この実施例1の入力画像受付部111、LPF1121−1〜1121−n、合成処理部1122、および出力画像生成部113によって実現される前述した各機能を汎用のコンピュータに実現させるための画像処理プログラムとして提供してもよい。この場合、画像処理プログラムは、コンピュータにインストール可能な形式、またはコンピュータが実行可能な形式のファイルでROM、CD−ROM、フロッピー(登録商標)ディスク、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供する。記録媒体に記録された画像処理プログラムは、記録媒体から読み出されてコンピュータ上で実現される。
図4〜図7を用いてこの発明の実施例2を説明する。図4は、この発明における画像処理装置の実施例2の構成を示すブロック図である。図4に示した画像処理装置1aは、先の図1に示した実施例1の画像処理装置1の平滑化画像生成部112の代わりに、平滑化画像生成部112aを備えている。先の図1に示した実施例1の画像処理装置1と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
平滑化画像生成部112aは、先の図1に示した平滑化画像生成部112の合成処理部1122の代わりに拡大・合成処理部1124を備え、縮小画像生成部1123が追加されている。縮小画像生成部1123は、記憶部13に記憶されている入力画像131の画素を間引いて入力画像131を縮小した(画素数を少なくした)縮小画像134を生成して記憶部13に記憶させる。なお、入力画像131の縮小は、1/64程度が好ましいが、これに限るものではない。
フィルタ処理部1120のLPF1121−1〜1121−nは、縮小画像134に対してレベル値制限平滑化処理を行なって、レベル値制限平滑化画像132−1〜132−nを生成して記憶部13に記憶させる。なお、LPF1121−1〜1121−nの処理対象となる画像は縮小画像134となるので、LPF1121−1〜1121−nのフィルタサイズは、縮小画像134に適した値(たとえば、縮小画像134の1/2)に設定する。
拡大・合成処理部1124は、記憶部13に記憶されているレベル値制限平滑化画像132−1〜132−nを入力画像131の大きさに拡大するとともに、記憶部13に記憶されている入力画像131の各画素のレベル値に基づいて、当該画素に対応する拡大したレベル値制限平滑化画像132−1〜132−nを選択し、選択した拡大したレベル値制限平滑化画像132−1〜132−nのレベル値を合成して平滑化画像133を生成する。拡大・合成処理部1124は、生成した平滑化画像133を記憶部13に記憶させる。
つぎに、図5のフローチャートと、図4および図6を参照して、この発明における画像処理装置1aの動作を説明する。なお、先の図2のフローチャートを参照して説明した実施例1の画像処理装置1と同じ動作については、その詳細な説明を省略する。
入力画像受付部111は、1フレーム分の入力画像2を読み込んで入力画像131として記憶部13に記憶させる(ステップS200)。図6においては、入力画像45が入力画像受付部111によって読み込まれる。
縮小画像生成部1123は、画素を間引いて入力画像131を縮小した(画素数を少なくした)縮小画像134を生成する(ステップS201)。具体的には、縮小画像生成部1123は、予め定められた値おきに入力画像131の画素を抽出し、抽出した画素のみで構成された縮小画像134を生成する。縮小画像生成部1123は、生成した縮小画像134を記憶部13に記憶させる。図6においては、入力画像45から縮小画像46が生成される。なお縮小画像生成部を持たずに、外部で縮小した縮小画像を記憶部13に記憶させてもよい。
フィルタ処理部1120は、所定のフィルタサイズ内で指定されたレベル値範囲内にある縮小画像134の画素を累積して平均するレベル値制限平滑化処理を実行してレベル値制限平滑化画像132−1〜132−nを生成する(ステップS202)。なお平均値算出は、フィルタ中心部の画素の重みを大きくし、フィルタ両端部の画素の重みを小さくするように、フィルタ中心部との距離に応じた重み付け平均値を算出してもよい。
具体的には、フィルタ処理部1120のLPF1121−1〜1121−nは、フィルタサイズ内の縮小画像134の画素のレベル値が自身に設定されているレベル値範囲内である画素のレベル値が存在する場合にはそれらのレベル値を累積して平均値を算出し、フィルタサイズ内の縮小画像134の画素のレベル値が自身に設定されているレベル値範囲内である画素のレベル値が存在しない場合にはフィルタサイズ内の全ての画素のレベル値を累積して平均値を算出する。LPF1121−1〜1121−nは、算出した平均値を注目画素のレベル値として縮小画像134に対するレベル値制限平滑化画像132−1〜132−nを生成する。LPF1121−1〜1121−nは、生成したレベル値制限平滑化画像132−1〜132−nを記憶部13に記憶させる。
また、フィルタサイズ内の縮小画像134の画素のレベル値が自身に設定されているレベル値範囲内となる画素が、あらかじめ設定した閾値を下回る個数の場合に、全ての画素のレベル値を累積して平均値を算出してもよい。また全ての画素のレベル値を累積して平均値を算出するのではなく、レベル値中央の値を出力してもよい。
図6においては、n=5、すなわち5個のLPF1121−1〜1121−5が、それぞれに設定されたレベル値範囲で縮小画像46に対してレベル値制限平滑化処理を実行してレベル値制限平滑化画像47−1〜47−5を生成している。
拡大・合成処理部1124は、記憶部13に記憶されているレベル値制限平滑化画像132−1〜132−nを入力画像131の大きさに拡大する(ステップS203)。拡大は、バイリニア法など一般的な画像処理の補間方法を用いればよい。図6においては、レベル値制限平滑化画像47−1〜47−5を拡大したレベル値制限平滑化画像48−1〜48−7が生成される。
拡大・合成処理部1124は、入力画像131の各画素のレベル値に基づいて当該画素に対応する拡大したレベル値制限平滑化画像132−1〜132−nを選択する(ステップS204)。拡大・合成処理部1124は、選択した拡大したレベル値制限平滑化画像132−1〜132−nのレベル値を合成して平滑化画像133を生成する(ステップS205)。拡大・合成処理部1124は、生成した平滑化画像133を記憶部13に記憶させる。図6においては、入力画像45の各画素のレベル値に基づいて各画素毎に拡大したレベル値制限平滑化画像48−1〜48−5を選択し、選択した拡大したレベル値制限平滑化画像48−1〜48−5の画素のレベル値を合成して平滑化画像49を生成している。合成は、選択したレベル値制限平滑化画像のレベル値を、レベル値範囲の中心値と処理対象画素のレベル値との差分に応じて重みを付け平均値を算出すればよい。
出力画像生成部113は、入力画像131および平滑化画像133に基づいて出力画像3を生成して出力する(ステップS206)。
このように、この実施例2においては、縮小画像生成部1123が、入力画像131の画素から任意の画素を抽出して入力画像131を縮小画像134(入力画像131を元に生成した第1の入力画像)を生成し、それぞれ異なるレベル値範囲が設定された複数の第1のローパスフィルタであるLPF1121−1〜1121−nが、縮小画像生成部1123が生成した縮小画像134の各画素を注目画素とし、フィルタサイズ内に含まれる注目画素を含む各画素のレベル値が自身に設定されているレベル値範囲に含まれる各画素を抽出し、抽出した画素のレベル値を平滑化し注目画素のレベル値とする第1のレベル値制限平滑化画像であるレベル値制限平滑化画像132−1〜132−nを生成し、第1の合成処理手段である拡大・合成処理部1124が、入力画像131に基づいて縮小画像134から生成されたレベル値制限平滑化画像132−1〜132−nの画素を補間して拡大し、入力画像131の各画素を処理対象画素とし、処理対象画素のレベル値を含むレベル値範囲が設定されているLPF1121−1〜1121−nが生成したレベル値制限平滑化画像132−1〜132−nを拡大した画像を1または複数選択し、選択した画像の中で処理対象画素の位置に対応する画素のレベル値より算出する値を処理対象画素のレベル値とする平滑化画像133を生成するようにしているため、LPF1121−1〜1121−nの処理対象となる画素数を削減することができ、入力画像131のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成することができる。
なお、この実施例2においては、レベル値制限平滑化画像132−1〜132−n(図6においてはレベル値制限平滑化画像47−1〜47−5)をそれぞれ補間して入力画像131(図6においては入力画像45)の大きさに拡大した後に、入力画像131(図においては入力画像45)に基づいて拡大したレベル値制限平滑化画像132−1〜132−n(図6においてはレベル値制限平滑化画像48−1〜48−5)を合成するようにしたが、拡大と合成を一度に行うようにしてもよい。
図7を参照して、拡大および合成を1度に行なう具体的な動作を説明する。図7においては、レベル値を暗い、中間、明るいのおおむね1/3に分割し、暗いを示すレベル値範囲P0がLPF1121−5に設定され、中間を示すレベル値範囲P2がLPF1121−3に設定され、明るいを示すレベル値範囲P4がLPF1121−1に設定され、レベル値範囲P0の中心点からレベル値範囲P2の中心点までのやや暗いを示すレベル値範囲P1がLPF1121−4に設定され、レベル値範囲P2の中心点からレベル値範囲P4の中心点までのやや明るいを示すレベル値範囲P3がLPF1121−2に設定されているものとする。
縮小画像生成部1123は、入力画像50の画素を縦方向および横方向ともに3画素おきに抽出して、縮小画像51を生成する。LPF1121−1〜1121−5は、縮小画像51に対してレベル値制限平滑化処理を行なって、レベル値制限平滑化画像52−1〜52−5を生成する。
拡大・合成処理部1124は、対象画素を選択する。たとえば、拡大・合成処理部1124が、入力画像50の画素g1を対象画素として選択したとする。拡大・合成処理部1124は、画素g1のレベル値に基づいてレベル値制限平滑化画像52−1〜52−5を選択する。対象画素g1のレベル値がレベル値範囲P4に含まれる場合、拡大・合成処理部1124は、レベル値制限平滑化画像52−1(レベル値制限平滑化画像53−1)を選択する。拡大・合成処理部1124は、対象画素g1に対応するレベル値制限平滑化画像53−1の画素g2と隣接する画素g3〜g5を選択する。また、拡大・合成処理部1124は、選択したレベル値制限平滑化画像53−1のレベル値範囲に最も近いレベル値制限平滑化画像53−2(レベル値制限平滑化画像52−2)の画素の中から、レベル値制限平滑化画像53−1の画素g2〜g5に対応する画素g6〜g9を選択する。拡大・合成処理部1124は、選択した8個の画素g2〜g9のそれぞれのレベル値と位置(xy座標)を入力としてレベル値補間(3D−interpolation)を行なって入力画像50の領域e1に対応する部分を拡大する。このとき、拡大・合成処理部1124は、入力画像50の領域e1に位置する画素のレベル値の中にレベル値範囲P4に含まれないレベル値を持つ画素が存在する場合には、その画素のレベル値を含むレベル値範囲のレベル値制限平滑化画像52−2〜52−3を選択し、対象画素g1に対応する画素と当該画素に隣接する画素(画素g2〜g9に対応する位置の画素)のそれぞれのレベル値と位置(xy座標)を入力としてレベル値補間(3D−interpolation)を行なって入力画像50の領域e1に対応する部分を拡大する。すなわち、拡大・合成処理部1124は、入力画像50の領域e1の各画素のレベル値が含まれるレベル値制限平滑化画像52−1〜52−5の領域e1に対応する部分のみを拡大する。
拡大・合成処理部1124は、入力画像50の領域e1の各画素毎に当該画素のレベル値に基づいてレベル値制限平滑化画像53−1〜53−nを選択してレベル値を合成し、平滑化画像54を生成する。合成は、実施例1で述べた通り、選択したレベル値制限平滑化画像のレベル値を、レベル値範囲の中心値と処理対象画素のレベル値との差分に応じて重みを付け平均値を算出すればよい。図7を参照し、具体的な動作を説明する。
P0〜P4のレベル値の範囲をそれぞれ、0〜84,42〜128,85〜160,129〜212,161〜255とする。処理対象画素のレベル値が60の時、60を含むレベル値範囲は、レベル値の範囲が0〜84であるP0と、42〜128であるP1であるので、LPF1121−5とLPF1121−4が選択される。この時、P0のレベル値範囲の中心値は42、P1のレベル値範囲の中心値は85であるので、処理対象画素のレベル値として算出する値は,処理対象画素のレベル値である60により近いレベル値範囲中心値を持つLPF1121−5の画素レベル値の重みを大きくするよう重み付け平均値を算出する。具体的にはLPF1121−5の画素レベル値×(25/43)+LPF1121−4の画素レベル値×(18/43)とする。
このように第1の合成処理手段である拡大・合成処理部1124は、第1のレベル値制限平滑化画像であるレベル値制限平滑化画像132−1〜132−nの画素のレベル値および位置情報を用いた3D−interpolationによるレベル値補間によってレベル値制限平滑化画像132−1〜132−nを補間することで、レベル値制限平滑化画像132−1〜132−n全てを補間することなく、必要な部分のみを補間して拡大するようにしているため、拡大処理に要する時間を短縮ことが可能となり、入力画像131のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像133を高速に生成するができる。
また、拡大・合成処理部1124が、レベル値制限平滑化画像132−1〜132−nの画素のレベル値を重み付け平均化することによって平滑化画像133を生成するようにしているため、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像の品質を向上させることができる。
なお、この実施例2の入力画像受付部111、縮小画像生成部1123、LPF1121−1〜1121−n、拡大・合成処理部1124、および出力画像生成部113によって実現される前述した各機能を汎用のコンピュータに実現させるための画像処理プログラムとして提供してもよい。この場合、画像処理プログラムは、コンピュータにインストール可能な形式、またはコンピュータが実行可能な形式のファイルでROM、CD−ROM、フロッピー(登録商標)ディスク、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供する。記録媒体に記録された画像処理プログラムは、記録媒体から読み出されてコンピュータ上で実現される。
図8を参照してこの発明の実施例3を説明する。この実施例3では、実施例1または2で説明した画像処理装置1または画像処理装置1aのLPF1121−1〜1121−nがレベル値制限平滑化画像132−1〜132−nを生成する際の重み付けについて説明する。
動画像の場合、レベル値がレベル値範囲の上限または下限に近い値の画素は、後続の画像では現在のレベル値範囲とは異なるレベル値範囲のレベル値になること、すなわち異なるフレームの同じ位置の画素のレベル値がふらつくことがある。出力画像生成部113は、入力画像131および平滑化画像133に基づいて平滑化画像133のレベル値を強調した出力画像3を生成するため、レベル値のふらつきがあると動画像の品質が低下してしまう。このような問題を改善するために、LPF1121−1〜1121−nがレベル値制限平滑化画像132−1〜132−nを生成する際、すなわち画素のレベル値の平均値を算出する際に、レベル値に応じて重み付けを行なう。
図8は、レベル値範囲における重み付けの一例を示す図である。図8においては、レベル値の重み付けを0.25、0.5、0.75、1.0の4ステップとし、レベル値範囲の下限値および上限値から中心値に向かってレベルN(Nは自然数)までの重み付けを0.25とし、レベル値範囲の下限値および上限値から中心値に向かってレベルNからレベル2Nまでの重み付けを0.5とし、レベル値範囲の下限値および上限値から中心値に向かってレベル2Nからレベル3Nまでの重み付けを0.75とし、レベル値範囲の下限値から中心値に向かってレベル3Nからレベル値範囲の上限値から中心値に向かってレベル3Nまでの重み付けを1.0としている。
たとえば、LPF1121−1〜1121−nが、レベル値範囲の下限値および上限値から中心値に向かってレベルNからレベル2Nまでに含まれるレベル値a1と、レベル値範囲の下限値および上限値から中心値に向かってレベル2Nからレベル3Nまでに含まれるレベル値a2と、レベル値範囲の下限値から中心値に向かってレベル3Nからレベル値範囲の上限値から中心値に向かってレベル3Nまでに含まれるa3を平滑化する場合の計算式は、「(0.5×a1+075×a2+1.0×a3)/(0.5×1+0.75×1+1.0×1)」となる。すなわち、LPF1121−1〜1121−nは、レベル値とそのレベル値を有する画素数に対して重み付けして平滑化する。
このように、この実施例3においては、複数の第1のローパスフィルタであるLPF1121−1〜1121−nは、自身に設定されたレベル値範囲において、下限値および上限値から中心値に近づくほど重み付けを大きくして平均値を算出するようにしているため、入力画像131が動画像の場合でも、レベル値のふらつきによる影響を抑制した高品質の出力画像3を生成することができる。
なお、この実施例3においては、レベル値の重み付けを4ステップとしたが、これに限るものではない。また、下限値および上限値から中心値に向かってのレベルをNの倍数としたが、それぞれ異なるレベルとしてもよい。さらに、重み付けの値もこれに限るものではなく、下限値および上限値から中心値に向かって重み付けが増加するように設定すればよい。さらにまた、レベルおよび重み付けは、LPF1121−1〜1121−nに予め設定しておいてもよいし、外部から任意の値を設定するようにしてもよい。
図9〜図13を参照してこの発明の実施例4を説明する。先の実施例1〜3では、入力画像131または縮小画像134の画素のレベル値が自身に設定されたレベル値範囲内の画素を累積して平均化するレベル値制限平滑化処理を実行してレベル値制限平滑化画像132−1〜132−nを生成し、レベル値制限平滑化画像132−1〜132−nまたは拡大したレベル値制限平滑化画像132−1〜132−nのレベル値を合成して平滑化画像133を生成したが、入力画像131によっては微細構造が残ってしまうことがある。たとえば、図9に示すように、入力画像60から生成した平滑化画像61の領域e2には微細構造が残っている。このような問題を改善するために、この実施例4では2種類の異なるフィルタサイズの複数のLPFを用いることで平滑化画像の微細構造を消去するものである。
図10は、この発明における実施例4の画像処理装置1bの構成を示すブロック図である。図10に示した実施例4の画像処理装置1bは、先の図4に示した実施例2の平滑化画像生成部112aの代わりに平滑化画像生成部112bを備えている。平滑化画像生成部112bは、縮小画像生成部1123、LPF1121a−1〜1121a−nを有するフィルタ処理部1120a、LPF1121b−1〜1121b−nを有するフィルタ処理部1120b、および拡大・合成処理部1124a、1124bを備えている。なお、先の図4に示した実施例2の画像処理装置1aと同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
LPF1121a−1〜1121a−nは、同一フィルタサイズの1次元のローパスフィルタで、それぞれ異なったレベル値範囲が予め設定されており、記憶部13に記憶されている縮小画像134の画素のレベル値が、自身に設定されたレベル値範囲内の画素を処理対象として平滑化(平均値の算出)するレベル値制限平滑化処理を行ってレベル値制限平滑化画像132a−1〜132a−nを生成する。LPF1121a−1〜1121a−nは、生成したレベル値制限平滑化画像132a−1〜132a−nを記憶部13に記憶させる。
LPF1121b−1〜1121b−nは、同一フィルタサイズであって、かつLPF1121a−1〜1121a−nのフィルタサイズとは異なるフィルタサイズの1次元のローパスフィルタで、それぞれ異なったレベル値範囲が予め設定されており、記憶部13に記憶されている縮小画像134の画素のレベル値が、自身に設定されたレベル値範囲内の画素を処理対象として平滑化(平均値の算出)するレベル値制限平滑化処理を行ってレベル値制限平滑化画像132b−1〜132b−nを生成する。LPF1121b−1〜1121b−nは、生成したレベル値制限平滑化画像132b−1〜132b−nを記憶部13に記憶させる。
なお、一方のフィルタ処理部が有するLPFのフィルタサイズを処理対象となる画像(この場合は、縮小画像134)のおおむね1/2程度、他方のフィルタ処理部が有するLPFのフィルタサイズを処理対象となる我像(この場合は、縮小画像134)のおおむね1/10程度とすることが好ましいが、これに限るものではない。
拡大・合成処理部1124aは、記憶部13に記憶されているレベル値制限平滑化画像132a−1〜132a−nを入力画像131の大きさに拡大するとともに、記憶部13に記憶されている入力画像131の各画素のレベル値に基づいて、当該画素に対応する拡大したレベル値制限平滑化画像132a−1〜132a−nを選択し、選択した拡大したレベル値制限平滑化画像132a−1〜132a−nのレベル値を合成して参照用画像135を生成する。拡大・合成処理部1124aは、生成した参照用画像135を記憶部13に記憶させる。
拡大・合成処理部1124bは、記憶部13に記憶されているレベル値制限平滑化画像132b−1〜132b−nを参照用画像135の大きさ(入力画像131の大きさと等価)に拡大するとともに、記憶部13に記憶されている参照用画像135の各画素のレベル値に基づいて、当該画素に対応する拡大したレベル値制限平滑化画像132b−1〜132b−nを選択し、選択した拡大したレベル値制限平滑化画像132b−1〜132b−nのレベル値を合成して平滑化画像133を生成する。拡大・合成処理部1124bは、生成した平滑化画像133を記憶部13に記憶させる。
つぎに、図11のフローチャートと、図10、図12、および図13を参照して、この発明における実施例4の画像処理装置1bの動作を説明する。なお、先の実施例1および2と同じ動作については、その詳細な説明を省略する。
入力画像受付部111は、1フレーム分の入力画像2を読み込んで入力画像131として記憶部13に記憶させる(ステップS300)。図12においては、入力画像70が入力画像受付部111によって読み込まれる。縮小画像生成部1123は、画素を間引いて入力画像131を縮小した(画素数を少なくした)縮小画像134を生成する(ステップS301)。図12においては、入力画像70から縮小画像71が生成される。
フィルタ処理部1120aは、所定のフィルタサイズ内で指定されたレベル値範囲内にある縮小画像134の画素を累積して平均するレベル値制限平滑化処理を実行してレベル値制限平滑化画像132a−1〜132a−nを生成する(ステップS302)。なお平均値算出は、フィルタ中心部の画素の重みを大きくし、フィルタ両端部の画素の重みを小さくするように、フィルタ中心部との距離に応じた重み付け平均値を算出してもよい。
具体的には、フィルタ処理部1120aのLPF1121a−1〜1121a−nは、まず画像の横方向に対する1次元のフィルタ処理において、フィルタサイズ内の縮小画像134の画素のレベル値が自身に設定されているレベル値範囲内である画素のレベル値が存在する場合にはそれらのレベル値を累積して平均値を算出し、フィルタサイズ内の縮小画像134の画素のレベル値が自身に設定されているレベル値範囲内である画素のレベル値が存在しない場合にはフィルタサイズ内の全ての画素のレベル値を累積して平均値を算出する。次に横方向のフィルタ処理を全画素実施した画像に対し、同様に縦方向に対する1次元フィルタ処理を実施し、LPF1121a−1〜1121a−nは、算出した平均値を注目画素のレベル値として縮小画像134に対するレベル値制限平滑化画像132a−1〜132a−nを生成する。LPF1121a−1〜1121a−nは、生成したレベル値制限平滑化画像132a−1〜132a−nを記憶部13に記憶させる。なお、平均値を算出する際に、先の実施例3で説明したように重み付けを行なってもよい。なお、1次元フィルタ処理は、縦方向を先に実施してもよく、2次元フィルタで実施してもよい。
また、フィルタサイズ内の縮小画像134の画素のレベル値が自身に設定されているレベル値範囲内となる画素が、あらかじめ設定した閾値を下回る個数の場合に、全ての画素のレベル値を累積して平均値を算出してもよい。また全ての画素のレベル値を累積して平均値を算出するのではなく、レベル値中央の値を出力してもよい。
図12においては、n=5、すなわち5個のフィルタサイズn1×n2のLPF1121a−1〜1121a−5が、それぞれに設定されたレベル値範囲で縮小画像71に対してレベル値制限平滑化処理を実行してレベル値制限平滑化画像72−1〜72−5を生成している。
拡大・合成処理部1124aは、記憶部13に記憶されている入力画像131に基づいてレベル値制限平滑化画像132a−1〜132a−nを先の実施例2で説明した3D−interpolationによる補間(拡大)および合成処理によって参照用画像135を生成する(ステップS303)。図12においては、入力画像70に基づいてレベル値制限平滑化画像72−1〜72−5から参照用画像73が生成される。
フィルタ処理部1120bは、所定のフィルタサイズ内で指定されたレベル値範囲内にある縮小画像134の画素を累積して平均するレベル値制限平滑化処理を実行してレベル値制限平滑化画像132b−1〜132b−nを生成する(ステップS304)。
具体的には、フィルタ処理部1120bのLPF1121b−1〜1121b−nは、まず画像の横方向に対する1次元のフィルタ処理において、フィルタサイズ内の縮小画像134の画素のレベル値が自身に設定されているレベル値範囲内である画素のレベル値が存在する場合にはそれらのレベル値を累積して平均値を算出し、フィルタサイズ内の縮小画像134の画素のレベル値が自身に設定されているレベル値範囲内である画素のレベル値が存在しない場合にはフィルタサイズ内の全ての画素のレベル値を累積して平均値を算出する。次に横方向のフィルタ処理を全画素実施した画像に対し、同様に縦方向に対する1次元フィルタ処理を実施し、LPF1121b−1〜1121b−nは、算出した平均値を注目画素のレベル値として縮小画像134に対するレベル値制限平滑化画像132b−1〜132b−nを生成する。LPF1121b−1〜1121b−nは、生成したレベル値制限平滑化画像132b−1〜132b−nを記憶部13に記憶させる。なお、平均値を算出する際に、先の実施例3で説明したように重み付けを行なってもよい。なお、1次元フィルタ処理は、縦方向を先に実施してもよく、2次元フィルタで実施してもよい。
また、フィルタサイズ内の縮小画像134の画素のレベル値が自身に設定されているレベル値範囲内となる画素が、あらかじめ設定した閾値を下回る個数の場合に、全ての画素のレベル値を累積して平均値を算出してもよい。また全ての画素のレベル値を累積して平均値を算出するのではなく、レベル値中央の値を出力してもよい。
図12においては、n=5、すなわち5個のフィルタサイズm1×m2のLPF1121b−1〜1121b−5が、それぞれに設定されたレベル値範囲で縮小画像71に対してレベル値制限平滑化処理を実行してレベル値制限平滑化画像74−1〜74−5を生成している。
拡大・合成処理部1124bは、記憶部13に記憶されている参照用画像135に基づいてレベル値制限平滑化画像132b−1〜132b−nを先の実施例2で説明した3D−interpolationによる補間(拡大)および合成処理によって平滑化画像133を生成する(ステップS305)。図12においては、参照用画像73に基づいてレベル値制限平滑化画像74−1〜74−5から平滑化画像75が生成される。
出力画像生成部113は、入力画像131および平滑化画像133に基づいて平滑化画像133のレベル値を強調した出力画像3を生成して出力する(ステップS306)。
図13に、画像処理装置1bの入力画像70と平滑化画像75を示す。図13に示すように、画像処理装置1bの平滑化画像75は、先の図9に示した平滑化画像61の領域e2の微細構造が消去されている。
このように、この実施例4においては、複数の第1のローパスフィルタであるLPF1121a−1〜1121a−nとは異なるフィルタサイズであって、それぞれ異なるレベル値範囲が設定された複数の第2のローパスフィルタであるLPF1121b−1〜1121b−nが、入力画像131を縮小した第1の入力画像である縮小画像134の各画素を注目画素とし、フィルタサイズ内に含まれる注目画素を含む各画素のレベル値が自身に設定されているレベル値範囲に含まれる各画素を抽出し、抽出した画素のレベル値を平滑化し注目画素のレベル値とする第2のレベル値制限平滑化画像であるレベル値制限平滑化画像132b−1〜132b−nを生成し、第2の合成処理手段である拡大・合成処理部1124bが、LPF1121a−1〜1121a−nによって生成された第1のレベル値制限平滑化画像であるレベル値制限平滑化画像132a−1〜132a−nから生成された第1の平滑化画像である参照用画像135の各画素を処理対象画素とし、処理対象画素のレベル値を含むレベル値範囲が設定されているLPF1121b−1〜1121b−nが生成したレベル値制限平滑化画像132b−1〜132b−nを1または複数選択し、選択したレベル値制限平滑化画像132b−1〜132b−nの中で処理対象画素の位置もしくは近傍の1または複数の画素のレベル値より算出する値を処理対象画素のレベル値とする平滑化画像133を生成するようにしている。すなわち、フィルタサイズの異なる同一構造の処理を複数回行なうことで、入力画像の微細構造の残存を残すことなく、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成することができる。なお、この実施例4においては処理を2回繰り返したが、3回以上繰り返してもよい。
なお、この実施例4においては、先の実施例2で説明した3D−interpolationによって補間および合成を行なうようにしたが、バイリニア法などによってレベル値制限平滑化画像132a−1〜132a−nおよびレベル値制限平滑化画像132b−1〜132b−nをすべて拡大した後にレベル値を合成するようにしてもよい。合成は、選択したレベル値制限平滑化画像のレベル値を、レベル値範囲の中心値と処理対象画素のレベル値との差分に応じて重みを付け平均値を算出すればよい。
また、この実施例4においては、入力画像131を縮小した縮小画像134を用いてレベル値制限平滑化画像132a−1〜132a−nおよびレベル値制限平滑化画像132b−1〜132b−nを生成して補間および合成することで参照用画像135および平滑化画像133を生成するようにしたが、フィルタ処理部1120a,1120bへのインプットを縮小画像とせずに、入力画像131を用いてレベル値制限平滑化画像132a−1〜132a−nおよびレベル値制限平滑化画像132b−1〜132b−nを生成して合成することで参照用画像135および平滑化画像133を生成するようにしてもよい。
さらに、この実施例4の入力画像受付部111、縮小画像生成部1123、LPF1121a−1〜1121a−n,1121b−1〜1121b−n、拡大・合成処理部1124a,1124b、および出力画像生成部113によって実現される前述した各機能を汎用のコンピュータに実現させるための画像処理プログラムとして提供してもよい。この場合、画像処理プログラムは、コンピュータにインストール可能な形式、またはコンピュータが実行可能な形式のファイルでROM、CD−ROM、フロッピー(登録商標)ディスク、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供する。記録媒体に記録された画像処理プログラムは、記録媒体から読み出されてコンピュータ上で実現される。
図14〜図16を参照して、この発明の実施例5を説明する。図14は、この発明における実施例5の画像処理装置1cの構成を示すブロック図である。図14に示した画像処理装置1cは、先の図10に示した実施例4の画像処理装置1bの平滑化画像生成部112bの代わりに、平滑化画像生成部112bに縮小画像生成部1123aが追加された平滑化画像生成部112cを備えている。先の図10に示した実施例4の画像処理装置1bと同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
縮小画像生成部1123aは、記憶部13に記憶されている参照用画像135の画素を間引いて参照用画像135を縮小した(画素数を少なくした)縮小参照用画像136を生成して記憶部13に記憶させる。なお、参照用画像135の縮小は、縮小画像生成部1123が入力画像131を縮小する縮小率と同じとする。
フィルタ処理部1120bのLPF1121b−1〜1121b−nは、縮小参照用画像136に対してレベル値制限平滑化処理を行なう。
図15のフローチャートと、図14および図16を参照して、この発明の実施例5の画像処理装置1cの動作を説明する。なお、先の実施例4の画像処理装置1bと同じ動作については、その詳細な説明を省略する。
入力画像受付部111は、1フレーム分の入力画像2を読み込んで入力画像131として記憶部13に記憶させる(ステップS400)。図16においては、入力画像80が入力画像受付部111によって読み込まれる。縮小画像生成部1123は、画素を間引いて入力画像131を縮小した(画素数を少なくした)縮小画像134を生成する(ステップS401)。図16においては、入力画像80から縮小画像81が生成される。
フィルタ処理部1120aは、所定のフィルタサイズ内で指定されたレベル値範囲内にある画素を累積して平均するレベル値制限平滑化処理を実行してレベル値制限平滑化画像132a−1〜132a−nを生成する(ステップS402)。
図16においては、n=5、すなわち5個のフィルタサイズn1×n2のLPF1121a−1〜1121a−5が、それぞれに設定されたレベル値範囲で縮小画像81に対してレベル値制限平滑化処理を実行してレベル値制限平滑化画像82−1〜82−5を生成している。
拡大・合成処理部1124aは、記憶部13に記憶されている入力画像131に基づいてレベル値制限平滑化画像132a−1〜132a−nを先の実施例2で説明した3D−interpolationによる補間(拡大)および合成処理によって参照用画像135を生成する(ステップS403)。図16においては、入力画像80に基づいてレベル値制限平滑化画像82−1〜82−5から参照用画像83が生成される。
縮小画像生成部1123aは、画素を間引いて参照用画像135を縮小した(画素数を少なくした)縮小参照用画像136を生成する(ステップS404)。図16においては、参照用画像83から縮小参照用画像84が生成される。
フィルタ処理部1120bは、所定のフィルタサイズ内で指定されたレベル値範囲内にある縮小参照用画像136の画素を累積して平均するレベル値制限平滑化処理を実行してレベル値制限平滑化画像132b−1〜132b−nを生成する(ステップS405)。
図16においては、n=5、すなわち5個のフィルタサイズm1×m2のLPF1121b−1〜1121b−5が、それぞれに設定されたレベル値範囲で縮小参照用画像84に対してレベル値制限平滑化処理を実行してレベル値制限平滑化画像85−1〜85−5を生成している。
拡大・合成処理部1124bは、記憶部13に記憶されている参照用画像135に基づいてレベル値制限平滑化画像132b−1〜132b−nを先の実施例2で説明した3D−interpolationによる補間(拡大)および合成処理によって平滑化画像133を生成する(ステップS406)。図16においては、参照用画像83に基づいてレベル値制限平滑化画像85−1〜85−5から平滑化画像86が生成される。
出力画像生成部113は、入力画像131および平滑化画像133に基づいて平滑化画像133のレベル値を強調した出力画像3を生成して出力する(ステップS407)。
このように、この実施例5においては、複数の第1のローパスフィルタであるLPF1121a−1〜1121a−nとは異なるフィルタサイズであって、それぞれ異なるレベル値範囲が設定された複数の第2のローパスフィルタであるLPF1121b−1〜1121b−nが、LPF1121a−1〜1121a−nが生成したレベル値制限平滑化画像132a−1〜132a−nから生成された参照用画像135を縮小した第2の平滑化画像である縮小参照用画像136の各画素を注目画素とし、フィルタサイズ内に含まれる注目画素を含む各画素のレベル値が自身に設定されているレベル値範囲に含まれる各画素を抽出し、抽出した画素のレベル値を平滑化し注目画素のレベル値とする第2のレベル値制限平滑化画像であるレベル値制限平滑化画像132b−1〜132b−nを生成し、第2の合成処理手段である拡大・合成処理部1124bが、参照用画像135の各画素を順に処理対象画素とし、処理対象画素のレベル値を含むレベル値範囲が設定されているLPF1121b−1〜1121b−nが生成したレベル値制限平滑化画像132b−1〜132b−nを選択し、選択したレベル値制限平滑化画像132b−1〜132b−nの中で処理対象画素の位置に対応する画素のレベル値より算出する値を処理対象画素のレベル値とする平滑化画像133を生成するようにしている。すなわち、フィルタサイズの異なる同一構造の処理を複数回行なう際に前段で生成した平滑化画像である参照用画像135を縮小した縮小参照用画像136を後段で用いるようにしているため、後段の入力に入力画像131を縮小した縮小画像134を用いる場合よりもより正確に入力画像入力画像の微細構造の残存を残すことなく、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成することができる。
なお、この実施例5においては、先の実施例2で説明した3D−interpolationによって補間および合成を行なうようにしたが、バイリニア法などによってレベル値制限平滑化画像132a−1〜132a−nおよびレベル値制限平滑化画像132b−1〜132b−nをすべて拡大した後にレベル値を合成するようにしてもよい。合成は、選択したレベル値制限平滑化画像のレベル値を、レベル値範囲の中心値と処理対象画素のレベル値との差分に応じて重みを付け平均値を算出すればよい。
また、この実施例5においては、入力画像131を縮小した縮小画像134を用いてレベル値制限平滑化画像132a−1〜132a−nを生成し、また、レベル値制限平滑化画像132a−1〜132a−nを補間および合成して得た参照用画像135を縮小した縮小参照用画像136を用いてレベル値制限平滑化画像132b−1〜132b−nを生成して補間および合成することで平滑化画像133を生成するようにしたが、フィルタ処理部1120a,1120bへのインプットを縮小画像とせずに、入力画像131を用いてレベル値制限平滑化画像132a−1〜132a−nを生成して合成することで参照用画像135を生成し、また、参照用画像135を用いてレベル値制限平滑化画像132b−1〜132b−nを生成して合成することで平滑化画像133を生成するようにしてもよい。
さらに、この実施例5の入力画像受付部111、縮小画像生成部1123,1123a、LPF1121a−1〜1121a−n,1121b−1〜1121b−n、拡大・合成処理部1124a,1124b、および出力画像生成部113によって実現される前述した各機能を汎用のコンピュータに実現させるための画像処理プログラムとして提供してもよい。この場合、画像処理プログラムは、コンピュータにインストール可能な形式、またはコンピュータが実行可能な形式のファイルでROM、CD−ROM、フロッピー(登録商標)ディスク、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供する。記録媒体に記録された画像処理プログラムは、記録媒体から読み出されてコンピュータ上で実現される。
以上のように、本発明にかかる画像処理装置は、入力画像をぼかした平滑化画像を生成する場合に有用であり、特に、入力画像のエッジを正確に保持し、かつエッジ以外をぼかした平滑化画像を高速に生成することが要求される場合に適している。