【解決手段】設定部23は、入力画像全体の画像データD2に基づいて入力画像毎の第1の補正値を設定し、補正部13は、画像データD3に対して周波数成分毎に補正処理を実行することにより画像データD4を生成する。また、設定部23は、入力画像における周波数成分値間の比率が、ノイズを含まない理想画像における周波数成分値間の比率に等しくなるように、入力画像における各周波数成分値を変換するための変換値を、第1の補正値として設定する。
入力画像全体のノイズ値と、入力画像全体の活発性評価値とに基づいて、ノイズ除去処理の実行の要否を判定する判定部をさらに備える、請求項1〜8のいずれか一つに記載の画像処理装置。
前記判定部は、入力画像全体のノイズ値を、入力画像全体の活発性評価値で除算することによってノイズ強度を算出し、当該ノイズ強度が所定のしきい値未満である場合にはノイズ除去処理の実行を不要と判定し、当該ノイズ強度が当該しきい値以上である場合にはノイズ除去処理の実行を必要と判定する、請求項9に記載の画像処理装置。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した一般的なノイズ除去装置によると、入力画像に対して空間フィルタを一回適用しただけでは、ノイズ除去効果が低い。空間フィルタを複数回適用することによってノイズ除去効果を上げることはできるが、この場合には解像度が低下して輪郭部分が不鮮明となり、画像全体としては却って画質が劣化しているように見えることがある。また、空間フィルタを複数回適用する必要上、処理時間が増大するとともに、中間値を格納するテンポラルメモリが必要となって回路規模が増大する。
【0006】
本発明はかかる事情に鑑みて成されたものであり、画質の劣化を回避しつつ高いノイズ除去効果を実現することが可能であり、しかも、処理時間の短縮及び回路規模の削減を図ることが可能な画像処理装置及び画像処理方法を得ることを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様に係る画像処理装置は、入力画像に対してノイズ除去処理を実行することにより、出力画像を出力する画像処理装置であって、入力画像から所定のブロック単位で抽出した空間領域の第1画像データを、複数の周波数成分を含む周波数領域の第2画像データに変換する変換部と、第2画像データに対して量子化処理を実行することにより、第3画像データを生成する量子化部と、第3画像データに対して周波数成分毎に補正処理を実行することにより、第4画像データを生成する補正部と、入力画像全体の第2画像データに基づいて、補正処理に用いる入力画像毎の第1の補正値を設定する第1の補正値設定部と、を備え、前記第1の補正値設定部は、入力画像における周波数成分値間の比率が、ノイズを含まない理想画像における周波数成分値間の比率に等しくなるように、入力画像における各周波数成分値を変換するための変換値を、第1の補正値として設定することを特徴とするものである。
【0008】
第1の態様に係る画像処理装置によれば、第1の補正値設定部は、入力画像全体の第2画像データに基づいて入力画像毎の第1の補正値を設定し、補正部は、第3画像データに対して周波数成分毎に補正処理を実行することにより第4画像データを生成する。このように、入力画像全体の第2画像データに基づいて設定した第1の補正値を用いて周波数成分毎に補正処理を実行することにより、周波数成分毎のノイズレベルに応じて適切なノイズ除去処理を実行することができる。その結果、画質の劣化を回避しつつ高いノイズ除去効果を実現することが可能となる。また、ノイズ除去効果の向上を企図して空間フィルタを複数回適用する場合と比較すると、処理時間を短縮できるとともに、中間値を格納するテンポラルメモリが不要となるため回路規模を削減することが可能となる。また、第1の補正値設定部は、入力画像における周波数成分値間の比率が、ノイズを含まない理想画像における周波数成分値間の比率に等しくなるように、入力画像における各周波数成分値を変換するための変換値を、第1の補正値として設定する。第1の補正値をこのように設定することにより、出力画像を理想画像に近付ける補正処理を実現できるため、画質を向上することが可能となる。
【0009】
本発明の第2の態様に係る画像処理装置は、第1の態様に係る画像処理装置において特に、第1画像データに基づいて、ブロック毎の活発性評価値を算出する演算部と、第1の補正値と、ブロック毎の活発性評価値とに基づいて、補正処理に用いるブロック毎の第2の補正値を設定する第2の補正値設定部と、をさらに備えることを特徴とするものである。
【0010】
第2の態様に係る画像処理装置によれば、第2の補正値設定部は、第1の補正値と、ブロック毎の活発性評価値とに基づいて、補正処理に用いるブロック毎の第2の補正値を設定する。このように、入力画像全体の第2画像データに基づいて設定される第1の補正値と、ブロック毎の活発性評価値とに基づいて、ブロック毎の第2の補正値を設定することにより、入力画像全体の周波数成分値とブロックの属性とに応じて、ブロック毎に適切な補正処理を実行することができる。その結果、ブロック毎のノイズ除去効果を向上できるため、画像全体として画質を向上することが可能となる。
【0011】
本発明の第3の態様に係る画像処理装置は、第2の態様に係る画像処理装置において特に、前記第2の補正値設定部は、周波数成分別に任意の乗数が設定されたマスクを、活発性評価値に応じて複数種類保持しており、前記演算部によって算出された活発性評価値に対応するマスクを用いて第1の補正値のマスキングを行うことによって、第2の補正値を設定することを特徴とするものである。
【0012】
第3の態様に係る画像処理装置によれば、第2の補正値設定部は、周波数成分別に任意の乗数が設定されたマスクを、活発性評価値に応じて複数種類保持しており、演算部によって算出された活発性評価値に対応するマスクを用いて第1の補正値のマスキングを行うことによって、第2の補正値を設定する。その結果、ブロック毎の活発性評価値に応じた第2の補正値を、第1の補正値から簡易かつ適切に設定することが可能となる。
【0013】
本発明の第4の態様に係る画像処理装置は、第3の態様に係る画像処理装置において特に、前記第2の補正値設定部は、活発性評価値が低レベルのブロックに関しては、低周波成分においては第1の補正値を第2の補正値として設定し、中周波成分及び高周波成分においては略ゼロ値を第2の補正値として設定し、活発性評価値が中レベルのブロックに関しては、低周波成分及び中周波成分においては第1の補正値を第2の補正値として設定し、高周波成分においては略ゼロ値を第2の補正値として設定し、活発性評価値が高レベルのブロックに関しては、低周波成分、中周波成分、及び高周波成分において第1の補正値を第2の補正値として設定することを特徴とするものである。
【0014】
第4の態様に係る画像処理装置によれば、第2の補正値設定部は、活発性評価値が低レベルのブロックに関しては、低周波成分においては第1の補正値を第2の補正値として設定し、中周波成分及び高周波成分においては略ゼロ値を第2の補正値として設定する。活発性評価値が低くノイズが目立ちやすい平坦部に関しては、中周波成分及び高周波成分をカットするマスキングを行うことにより、補正処理による高いノイズ除去効果を得ることが可能となる。また、第2の補正値設定部は、活発性評価値が高レベルのブロックに関しては、低周波成分、中周波成分、及び高周波成分において第1の補正値を第2の補正値として設定する。活発性評価値が高いエッジ部やテクスチャ部に関しては、全周波数成分をカットしないマスキングを行うことにより、エッジ部やテクスチャ部を鮮明化する補正処理を実現でき、画質を向上することが可能となる。また、第2の補正値設定部は、活発性評価値が中レベルのブロックに関しては、低周波成分及び中周波成分においては第1の補正値を第2の補正値として設定し、高周波成分においては略ゼロ値を第2の補正値として設定する。平坦部、エッジ部、及びテクスチャ部以外の画像部分に関しては、高周波成分のみをカットするマスキングを行うことにより、補正処理による中程度のノイズ除去効果を得ることが可能となる。
【0015】
本発明の第5の態様に係る画像処理装置は、第2〜第4のいずれか一つの態様に係る画像処理装置において特に、各画素の画素値と、当該画素に隣接する複数の周辺画素の画素値とに基づいて、各画素の平滑値を算出する平滑化処理部をさらに備え、前記演算部は、各画素の平滑値と、平滑値のブロック内平均値との差分絶対値和を算出し、当該差分絶対値和のブロック内平均値として、ブロック毎の活発性評価値を算出することを特徴とするものである。
【0016】
第5の態様に係る画像処理装置によれば、演算部は、各画素の平滑値と、平滑値のブロック内平均値との差分絶対値和を算出し、当該差分絶対値和のブロック内平均値として、ブロック毎の活発性評価値を算出する。これにより、ブロック毎の活発性評価値を演算部によって適切に求めることが可能となる。
【0017】
本発明の第6の態様に係る画像処理装置は、入力画像に対してノイズ除去処理を実行することにより、出力画像を生成する画像処理装置であって、入力画像から所定のブロック単位で抽出した空間領域の第1画像データを、複数の周波数成分を含む周波数領域の第2画像データに変換する変換部と、第2画像データに対して量子化処理を実行することにより、第3画像データを生成する量子化部と、第3画像データに対して周波数成分毎に補正処理を実行することにより、第4画像データを生成する補正部と、第1画像データに基づいて、ブロック毎の活発性評価値を算出する演算部と、ブロック毎の活発性評価値に基づいて、補正処理に用いるブロック毎の補正値を設定する補正値設定部と、を備え、前記補正値設定部は、周波数成分別に任意の乗数が設定されたマスクを、活発性評価値に応じて複数種類保持しており、前記演算部によって算出された活発性評価値に対応するマスクに設定されている乗数を、補正値として設定することを特徴とするものである。
【0018】
第6の態様に係る画像処理装置によれば、補正値設定部は、ブロック毎の活発性評価値に基づいて、補正処理に用いるブロック毎の補正値を設定する。このように、ブロック毎の活発性評価値に基づいてブロック毎の補正値を設定することにより、ブロックの属性に応じて、ブロック毎に適切な補正処理を実行することができる。その結果、ブロック毎のノイズ除去効果を向上できるため、画像全体として画質を向上することが可能となる。また、ノイズ除去効果の向上を企図して空間フィルタを複数回適用する場合と比較すると、処理時間を短縮できるとともに、中間値を格納するテンポラルメモリが不要となるため回路規模を削減することが可能となる。また、補正値設定部は、周波数成分別に任意の乗数が設定されたマスクを、活発性評価値に応じて複数種類保持しており、演算部によって算出された活発性評価値に対応するマスクに設定されている乗数を、補正値として設定する。その結果、ブロック毎の活発性評価値に応じた補正値を、簡易かつ適切に設定することが可能となる。
【0019】
本発明の第7の態様に係る画像処理装置は、第6の態様に係る画像処理装置において特に、前記補正値設定部は、活発性評価値が低レベルのブロックに関しては、低周波成分においては1倍を補正値として設定し、中周波成分及び高周波成分においては略ゼロ倍を補正値として設定し、活発性評価値が中レベルのブロックに関しては、低周波成分及び中周波成分においては1倍を補正値として設定し、高周波成分においては略ゼロ倍を補正値として設定し、活発性評価値が高レベルのブロックに関しては、低周波成分、中周波成分、及び高周波成分において1倍を補正値として設定することを特徴とするものである。
【0020】
第7の態様に係る画像処理装置によれば、補正値設定部は、活発性評価値が低レベルのブロックに関しては、低周波成分においては1倍を補正値として設定し、中周波成分及び高周波成分においては略ゼロ倍を補正値として設定する。活発性評価値が低くノイズが目立ちやすい平坦部に関しては、中周波成分及び高周波成分をカットするマスキングを行うことにより、補正処理による高いノイズ除去効果を得ることが可能となる。また、補正値設定部は、活発性評価値が高レベルのブロックに関しては、低周波成分、中周波成分、及び高周波成分において1倍を補正値として設定する。活発性評価値が高いエッジ部やテクスチャ部に関しては、全周波数成分をカットしないマスキングを行うことにより、エッジ部やテクスチャ部を鮮明化する補正処理を実現でき、画質を向上することが可能となる。また、補正値設定部は、活発性評価値が中レベルのブロックに関しては、低周波成分及び中周波成分においては1倍を補正値として設定し、高周波成分においては略ゼロ倍を補正値として設定する。平坦部、エッジ部、及びテクスチャ部以外の画像部分に関しては、高周波成分のみをカットするマスキングを行うことにより、補正処理による中程度のノイズ除去効果を得ることが可能となる。
【0021】
本発明の第8の態様に係る画像処理装置は、第6又は第7の態様に係る画像処理装置において特に、各画素の画素値と、当該画素に隣接する複数の周辺画素の画素値とに基づいて、各画素の平滑値を算出する平滑化処理部をさらに備え、前記演算部は、各画素の平滑値と、平滑値のブロック内平均値との差分絶対値和を算出し、当該差分絶対値和のブロック内平均値として、ブロック毎の活発性評価値を算出することを特徴とするものである。
【0022】
第8の態様に係る画像処理装置によれば、演算部は、各画素の平滑値と、平滑値のブロック内平均値との差分絶対値和を算出し、当該差分絶対値和のブロック内平均値として、ブロック毎の活発性評価値を算出する。これにより、ブロック毎の活発性評価値を演算部によって適切に求めることが可能となる。
【0023】
本発明の第9の態様に係る画像処理装置は、第1〜第8のいずれか一つの態様に係る画像処理装置において特に、入力画像全体のノイズ値と、入力画像全体の活発性評価値とに基づいて、ノイズ除去処理の実行の要否を判定する判定部をさらに備えることを特徴とするものである。
【0024】
第9の態様に係る画像処理装置によれば、判定部は、入力画像全体のノイズ値と、入力画像全体の活発性評価値とに基づいて、ノイズ除去処理の実行の要否を判定する。これにより、ノイズ除去処理が真に必要な入力画像を対象としてノイズ除去処理を実行でき、不要な入力画像に対するノイズ除去処理の実行を回避できるため、消費電力を削減することが可能となる。
【0025】
本発明の第10の態様に係る画像処理装置は、第9の態様に係る画像処理装置において特に、前記判定部は、入力画像全体のノイズ値を、入力画像全体の活発性評価値で除算することによってノイズ強度を算出し、当該ノイズ強度が所定のしきい値未満である場合にはノイズ除去処理の実行を不要と判定し、当該ノイズ強度が当該しきい値以上である場合にはノイズ除去処理の実行を必要と判定することを特徴とするものである。
【0026】
第10の態様に係る画像処理装置によれば、判定部は、入力画像全体のノイズ値を、入力画像全体の活発性評価値で除算することによって、ノイズ強度を算出する。そして、当該ノイズ強度が所定のしきい値未満である場合にはノイズ除去処理の実行を不要と判定し、当該ノイズ強度が当該しきい値以上である場合にはノイズ除去処理の実行を必要と判定する。判定部がこのような判定処理を行うことにより、ノイズ除去処理が真に必要な入力画像を高精度に特定することが可能となる。
【0027】
本発明の第11の態様に係る画像処理装置は、第1〜第10のいずれか一つの態様に係る画像処理装置において特に、前記変換部、前記量子化部、及び前記補正部は、入力画像から部分的に重複するように抽出された複数のブロックに関して順次に処理を行い、出力画像のうち複数のブロックが重複する画像部分については、重複する複数のブロックから求めた最適値が当該画像部分の画像データとして出力されることを特徴とするものである。
【0028】
第11の態様に係る画像処理装置によれば、変換部、量子化部、及び補正部は、入力画像から部分的に重複するように抽出された複数のブロックに関して順次に処理を行う。このように、ブロックの一部を互いにオーバーラップさせることにより、ブロックノイズの発生を抑制することが可能となる。また、出力画像のうち複数のブロックが重複する画像部分については、重複する複数のブロックから求めた最適値が当該画像部分の画像データとして出力される。このように、重複部分については複数ブロックから求めた最適値(例えば平均値)を出力することにより、画質の劣化を回避しつつ高いノイズ除去効果を実現することが可能となる。
【0029】
本発明の第12の態様に係る画像処理装置は、第1〜第10のいずれか一つの態様に係る画像処理装置において特に、前記変換部、前記量子化部、及び前記補正部は、入力画像から部分的に重複するように抽出された複数のブロックに関して順次に処理を行い、出力画像のうち複数のブロックが重複する画像部分については、今回のブロックに関する処理における当該画像部分の出力データが、次回のマクロブロックに関する処理における当該画像部分の入力データとして使用されることを特徴とするものである。
【0030】
第12の態様に係る画像処理装置によれば、変換部、量子化部、及び補正部は、入力画像から部分的に重複するように抽出された複数のブロックに関して順次に処理を行う。このように、ブロックの一部を互いにオーバーラップさせることにより、ブロックノイズの発生を抑制することが可能となる。また、出力画像のうち複数のブロックが重複する画像部分については、今回のブロックに関する処理における当該画像部分の出力データが、次回のマクロブロックに関する処理における当該画像部分の入力データとして使用される。従って、複数のブロックを順次に処理する一連の流れの中で同一画像部分について実質的に複数回のノイズ除去処理が行われるため、重複する複数のブロックの出力値から最適値を求める場合と比較して、処理時間を短縮することが可能となる。
【0031】
本発明の第13の態様に係る画像処理装置は、第1〜第12のいずれか一つの態様に係る画像処理装置において特に、入力画像は複数の色成分を有し、前記画像処理装置は、各色成分に対して独立にノイズ除去処理を実行することを特徴とするものである。
【0032】
第13の態様に係る画像処理装置によれば、各色成分に対して独立にノイズ除去処理が実行される。このように、入力画像の各色成分に対して独立にノイズ除去処理を実行することにより、色成分毎に最適なノイズ除去効果を得ることができる。
【0033】
本発明の第14の態様に係る画像処理装置は、第1〜第12のいずれか一つの態様に係る画像処理装置において特に、入力画像は複数の色成分を有し、前記画像処理装置は、複数の色成分に対して統合的にノイズ除去処理を実行することを特徴とするものである。
【0034】
第14の態様に係る画像処理装置によれば、複数の色成分に対して統合的にノイズ除去処理が実行される。このように、複数の色成分に対して統合的なノイズ除去処理を行うことにより、ノイズ検出精度を向上することができる。また、色成分間のノイズ除去効果のばらつきが抑制されるため、画質を向上することができる。
【0035】
本発明の第15の態様に係る画像処理方法は、入力画像に対してノイズ除去処理を実行することにより、出力画像を出力する画像処理方法であって、(A)入力画像から所定のブロック単位で抽出した空間領域の第1画像データを、複数の周波数成分を含む周波数領域の第2画像データに変換するステップと、(B)第2画像データに対して量子化処理を実行することにより、第3画像データを生成するステップと、(C)第3画像データに対して周波数成分毎に補正処理を実行することにより、第4画像データを生成するステップと、(D)入力画像全体の第2画像データに基づいて、補正処理に用いる入力画像毎の第1の補正値を設定するステップと、を備え、前記ステップ(D)では、入力画像における周波数成分値間の比率が、ノイズを含まない理想画像における周波数成分値間の比率に等しくなるように、入力画像における各周波数成分値を変換するための変換値が、第1の補正値として設定されることを特徴とするものである。
【0036】
第15の態様に係る画像処理方法によれば、ステップ(D)では、入力画像全体の第2画像データに基づいて入力画像毎の第1の補正値が設定され、ステップ(C)では、第3画像データに対して周波数成分毎に補正処理を実行することにより第4画像データを生成する。このように、入力画像全体の第2画像データに基づいて設定した第1の補正値を用いて周波数成分毎に補正処理を実行することにより、周波数成分毎のノイズレベルに応じて適切なノイズ除去処理を実行することができる。その結果、画質の劣化を回避しつつ高いノイズ除去効果を実現することが可能となる。また、ノイズ除去効果の向上を企図して空間フィルタを複数回適用する場合と比較すると、処理時間を短縮できるとともに、中間値を格納するテンポラルメモリが不要となるため回路規模を削減することが可能となる。また、ステップ(D)では、入力画像における周波数成分値間の比率が、ノイズを含まない理想画像における周波数成分値間の比率に等しくなるように、入力画像における各周波数成分値を変換するための変換値が、第1の補正値として設定される。第1の補正値をこのように設定することにより、出力画像を理想画像に近付ける補正処理を実現できるため、画質を向上することが可能となる。
【0037】
本発明の第16の態様に係る画像処理方法は、入力画像に対してノイズ除去処理を実行することにより、出力画像を生成する画像処理方法であって、(A)入力画像から所定のブロック単位で抽出した空間領域の第1画像データを、複数の周波数成分を含む周波数領域の第2画像データに変換するステップと、(B)第2画像データに対して量子化処理を実行することにより、第3画像データを生成するステップと、(C)第3画像データに対して周波数成分毎に補正処理を実行することにより、第4画像データを生成するステップと、(D)第1画像データに基づいて、ブロック毎の活発性評価値を算出するステップと、(E)ブロック毎の活発性評価値に基づいて、補正処理に用いるブロック毎の補正値を設定するステップと、を備え、前記ステップ(E)は、(E−1)周波数成分別に任意の乗数が設定されたマスクを、活発性評価値に応じて複数種類保持するステップと、(E−2)前記ステップ(D)で算出された活発性評価値に対応するマスクに設定されている乗数を、補正値として設定するステップと、を有することを特徴とするものである。
【0038】
第16の態様に係る画像処理方法によれば、ステップ(E)では、ブロック毎の活発性評価値に基づいて、補正処理に用いるブロック毎の補正値が設定される。このように、ブロック毎の活発性評価値に基づいてブロック毎の補正値を設定することにより、ブロックの属性に応じて、ブロック毎に適切な補正処理を実行することができる。その結果、ブロック毎のノイズ除去効果を向上できるため、画像全体として画質を向上することが可能となる。また、ノイズ除去効果の向上を企図して空間フィルタを複数回適用する場合と比較すると、処理時間を短縮できるとともに、中間値を格納するテンポラルメモリが不要となるため回路規模を削減することが可能となる。また、周波数成分別に任意の乗数が設定されたマスクが、活発性評価値に応じて複数種類保持されており、ステップ(E−2)では、ステップ(D)で算出された活発性評価値に対応するマスクに設定されている乗数が、補正値として設定される。その結果、ブロック毎の活発性評価値に応じた補正値を、簡易かつ適切に設定することが可能となる。
【発明の効果】
【0039】
本発明によれば、画質の劣化を回避しつつ高いノイズ除去効果を実現することが可能であり、しかも、処理時間の短縮及び回路規模の削減を図ることが可能な画像処理装置及び画像処理方法を得ることができる。
【発明を実施するための形態】
【0041】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【0042】
図1は、本発明の実施の形態に係る画像処理装置1の構成を示す図である。画像処理装置1には、R,Gr,Gb,Bの色成分を有するベイヤー配列の入力画像が、色成分毎に分類されて入力される。画像処理装置1は、各色成分の入力画像に対して独立にノイズ除去処理を実行することにより、出力画像を生成して出力する。なお、入力画像の色成分はR,Gr,Gb,Bに限らず、R,G,B又はY,U,V等であっても良い。
【0043】
図1の接続関係で示すように、画像処理装置1は、変換部11、量子化部12、補正部13、逆量子化部14、逆変換部15、セレクタ16、設定部17、フィルタ18、演算部19,20、及び設定部21〜24を備えて構成されている。
【0044】
変換部11は、入力画像から所定のブロック単位(本実施の形態の例では8行×8列のマクロブロック単位とする)で抽出した空間領域の画像データD1を、DCT変換によって複数の周波数成分を含む周波数領域の画像データD2に変換する。なお、ブロックサイズは8行×8列に限らず、16行×16列等であっても良い。ブロックサイズが大きくなるほど、回路規模は増大するが、周波数成分を細かく制御できるため画質は向上する。
【0045】
量子化部12は、画像データD2に対して量子化処理を実行することにより、画像データD3を生成する。
【0046】
補正部13は、画像データD3に対して周波数成分毎に補正処理を実行することにより、画像データD4を生成する。
【0047】
逆量子化部14は、画像データD4に対して逆量子化処理を実行することにより、画像データD5を生成する。
【0048】
逆変換部15は、周波数領域の画像データD5を、逆DCT変換によって空間領域の画像データD6に変換する。
【0049】
セレクタ16は、画像データD1又は画像データD6を選択して出力する。
【0050】
CPU2は、入力画像全体のノイズ値NOISE(PIC)と、入力画像全体の活発性評価値ACT(PIC)とに基づいて、ノイズ除去処理の実行の要否を判定する。そして、その判定結果を設定部17に設定する。設定部17は、実行が必要である場合はセレクタ16に画像データD6を選択させ、実行が不要である場合はセレクタ16に画像データD1を選択させる。
【0051】
フィルタ18は、任意の平滑化フィルタ(本実施の形態の例では3行×3列のガウシアンフィルタ)であり、各画素の画素値と、当該画素に隣接する複数個(3行×3列の場合は8個)の周辺画素の画素値とに基づいて、各画素の重み付き平均値GAUS(i,j)を算出する。
【0052】
演算部19は、画像データD1と、フィルタ18による重み付き平均化後の画像データD1とに基づいて、マクロブロック毎のノイズ値NOISE(MB)を算出する。また、演算部19は、入力画像内の全てのマクロブロックに関するノイズ値NOISE(MB)の平均値として、ノイズ値NOISE(PIC)を算出する。なお、入力画像内の全てのマクロブロックに関するノイズ値NOISE(MB)の合計値を演算部19からCPU2に入力し、CPU2が当該合計値をマクロブロック数で除算することによってノイズ値NOISE(PIC)を算出しても良い。
【0053】
演算部20は、フィルタ18による重み付き平均化後の画像データD1に基づいて、マクロブロック毎の活発性評価値ACT(MB)を算出する。また、演算部20は、入力画像内の全てのマクロブロックに関する活発性評価値ACT(MB)の平均値として、活発性評価値ACT(PIC)を算出する。なお、入力画像内の全てのマクロブロックに関する活発性評価値ACT(MB)の合計値を演算部20からCPU2に入力し、CPU2が当該合計値をマクロブロック数で除算することによって活発性評価値ACT(PIC)を算出しても良い。
【0054】
設定部21は、ノイズ値NOISE(PIC)に基づいて、量子化部12による量子化処理に用いる入力画像毎の量子化値QP(PIC)を設定する。
【0055】
設定部22は、画像処理装置1の内部パラメータ(例えば、量子化値QP(PIC)、活発性評価値ACT(MB)、及びノイズ値NOISE(MB)等)に基づいて、量子化部12による量子化処理に用いるマクロブロック毎の量子化値QP(MB)を設定する。
【0056】
設定部23は、入力画像全体の画像データD2に基づいて、補正部13による補正処理に用いる入力画像毎の補正値を記述したスケーリングマトリクスSM(PIC)を設定する。
【0057】
設定部24は、画像処理装置1の内部パラメータ(例えば、スケーリングマトリクスSM(PIC)、活発性評価値ACT(MB)、ノイズ値NOISE(PIC)、及び活発性評価値ACT(PIC)等)に基づいて、補正部13による補正処理に用いるマクロブロック毎の補正値を記述したスケーリングマトリクスSM(MB)を設定する。
【0058】
図2は、画像処理装置1が実行するノイズ除去処理の流れを示すフローチャートである。まずステップP101において設定部17は、CPU2によるノイズ除去処理の実行要否の判定結果に基づいて、セレクタ16を設定する。実行が不要である場合は処理を終了する。
【0059】
実行が必要である場合は、次にステップP102において設定部21は、量子化値QP(PIC)を設定する。
【0060】
次にステップP103において設定部23は、スケーリングマトリクスSM(PIC)を設定する。
【0061】
次にステップP104〜P110において、マクロブロック毎のノイズ除去処理が、入力画像内に含まれる全てのマクロブロックに関して繰り返し実行される。
【0062】
ステップP104において演算部20は、活発性評価値ACT(MB)を算出する。
【0063】
次にステップP105において設定部22は、量子化値QP(MB)を設定する。また、設定部24は、スケーリングマトリクスSM(MB)を設定する。
【0064】
次にステップP106において変換部11は、画像データD1を画像データD2に変換する。
【0065】
次にステップP107において量子化部12は、量子化値QP(MB)を用いた量子化処理によって画像データD2から画像データD3を生成する。
【0066】
次にステップP108において補正部13は、スケーリングマトリクスSM(MB)を用いた補正処理によって画像データD3から画像データD4を生成する。
【0067】
次にステップP109において逆量子化部14は、逆量子化処理によって画像データD4から画像データD5を生成する。
【0068】
次にステップP110において逆変換部15は、逆DCT変換によって画像データD5を画像データD6に変換する。入力画像内に含まれる全てのマクロブロックに関してマクロブロック毎のノイズ除去処理が完了することにより、処理が終了する。
【0069】
以下、
図1に示した各処理部が実行する処理内容の詳細について、順に説明する。
【0070】
<GAUS(i,j)の算出処理>
フィルタ18は、マクロブロック内の各画素の画素値をCURR(i,j)として、下記式(1)で示される演算を行うことにより、各画素の重み付き平均値GAUS(i,j)を算出する。
【0072】
<NOISE(MB)の算出処理>
演算部19は、下記式(2)で示される演算を行うことにより、各画素の画素値CURR(i,j)と、各画素の重み付き平均値GAUS(i,j)との差分絶対値和を算出する。そして、下記式(3)で示される演算を行うことにより、当該差分絶対値和のマクロブロック内平均値として、マクロブロック毎のノイズ値NOISE(MB)を算出する。
【0075】
<QP(PIC)の設定処理>
図3は、設定部21による量子化値QP(PIC)の設定処理を説明するための図である。演算部19は、入力画像内の全てのマクロブロックに関するノイズ値NOISE(MB)の平均値として、ノイズ値NOISE(PIC)を算出する。設定部21は、ノイズ値NOISE(PIC)毎の最適な量子化値QP(PIC)を記述したルックアップテーブルを保持している。設定部21は、重み付き平均値GAUS(i,j)と画素数とのヒストグラム内における、重み付き平均値GAUS(i,j)の分布範囲で、当該ルックアップテーブルを正規化する。そして、正規化後のルックアップテーブルを用いることにより、ノイズ値NOISE(PIC)に対応する量子化値を、入力画像に関する量子化値QP(PIC)として設定する。
図3に示すように、設定部21は、ノイズ値NOISE(PIC)が高いほど高い量子化値QP(PIC)を設定する。
【0076】
<SM(PIC)の設定処理>
図4〜8は、設定部23によるスケーリングマトリクスSM(PIC)の設定処理を説明するための図である。まず設定部23は、設定部21と同様の手法によって量子化値QP(PIC)を求める。
【0077】
次に設定部23は、入力画像内の全てのマクロブロックに関して、DCT変換処理と、量子化値QP(PIC)を用いた量子化処理とが完了した後の画像データD3を取得する。そして、画像データD3内の周波数成分毎に、周波数成分値の絶対値を全てのマクロブロックに関して累積することにより、入力画像に関する各周波数成分値の絶対値和K1を求める。絶対値和K1の一例を
図4に示す。左上角がDC成分に相当する周波数成分値であり、右下角が最高周波成分に相当する周波数成分値である。
【0078】
また設定部23は、予め準備した理想画像内の全てのマクロブロックに関して、DCT変換処理が完了した後の画像データD2を取得する。理想画像は、入力画像と同じ構図で同じ被写体を撮影した、ノイズを含まない画像である。例えば画像処理装置1が監視カメラの用途に利用される場合には、夜間等の低照度環境で撮影された、ノイズを多く含む画像が入力画像となり、昼間等の高照度環境で撮影された、ノイズをほとんど含まない画像が理想画像となる。設定部23は、画像データD2内の周波数成分毎に、周波数成分値の絶対値を全てのマクロブロックに関して累積することにより、理想画像に関する各周波数成分値の絶対値和K2を求める。絶対値和K2の一例を
図5に示す。
【0079】
次に設定部23は、絶対値和K2におけるDC成分の周波数成分値が、絶対値和K1におけるDC成分の周波数成分値に等しくなるように、絶対値和K2における各周波数成分値を正規化することにより、正規化後の絶対値和K3を作成する。絶対値和K3の一例を
図6に示す。
【0080】
次に設定部23は、絶対値和K1における各周波数成分値が、絶対値和K3における各周波数成分値に等しくなるように(近付く場合も含む)、絶対値和K1の各周波数成分値を変換するための変換値(乗数)を算出する。つまり設定部23は、入力画像におけるDC成分に対する各周波数成分値の比率が、理想画像における当該比率に等しくなるように、入力画像における各周波数成分値を変換するための変換値を、補正値として設定する。
【0081】
次に設定部23は、各周波数成分の乗数を、各乗数を代用する所定の係数を用いて記述することにより、スケーリングマトリクスSM(PIC)を作成する。スケーリングマトリクスSM(PIC)の一例を
図7に示す。また、係数と乗数との対応関係の一例を
図8に示す。スケーリングマトリクスSM(PIC)においては、係数「16」が乗数「1」(即ちスルー)に対応し、係数「255」が略ゼロ値の最小乗数(即ちカット)に対応する。
【0082】
なお、理想画像が準備できない場合には、全ての周波数成分に関して係数「16」を記述することにより、補正部13を実質的にスルーフィルタとして機能させるスケーリングマトリクスSM(PIC)を作成する。あるいは、汎用的に使用可能なスケーリングマトリクスSM(PIC)を予め準備しておき、理想画像が準備できない場合には当該スケーリングマトリクスSM(PIC)を設定してもよい。
【0083】
<オーバーラップ処理>
画像処理装置1においては、8行×8列のマクロブロックに対して、4画素ずらした位置から次のマクロブロックを抽出して画像データD1とすることにより、マクロブロックのオーバーラップ処理が行われる。なお、画素のずらし幅は4画素に限らず、任意のずらし幅を設定することができる。ずらし幅が小さくなるほど、処理時間は長くなるが、画質は向上する。
【0084】
図9は、オーバーラップ処理を示す図である。
図9では、説明の簡単化のため、16行×16列の入力画像を想定している。まず、入力画像の左上角を起点として、マクロブロックMB1が抽出される。次に、マクロブロックMB1に対して行方向に4画素ずらした位置からマクロブロックMB2が抽出される。次に、マクロブロックMB2に対して行方向に4画素ずらした位置からマクロブロックMB3が抽出される。次に、マクロブロックMB1に対して列方向に4画素ずらした位置からマクロブロックMB4が抽出される。以降は同様に、マクロブロックMB5〜MB9が順に抽出される。これにより、変換部11、量子化部12、補正部13、逆量子化部14、及び逆変換部15は、入力画像から部分的に重複するように抽出された複数のマクロブロックMB1〜MB9に関して、順次に処理を行う。
【0085】
また、出力画像のうち複数のマクロブロックが重複する画像部分については、重複する複数のマクロブロックから求めた最適値(この例では平均値とする)が、当該画像部分の画像データとして出力される。例えば、
図9中で砂地ハッチングを付した4行×4列の画像部分については、4個のマクロブロックMB1,MB2,MB4,MB5が重複しており、これら4個のマクロブロックの各々について画像データD6が得られる。そこで、これら4個のマクロブロック内の該当部分の画像データD6を加算し、その加算値を重複数の「4」で除算することにより、重複する複数のマクロブロックに関する画像データD6の平均値が算出される。そして、その平均値が、当該画像部分の画像データD6として画像処理装置1から出力される。
【0086】
オーバーラップ処理の第1の変形例として、上記の平均値に代えて、重複する複数のマクロブロックのうちノイズ値NOISE(MB)が最小であるマクロブロックに関する出力値(画像データD6)を、上記の最適値として用いても良い。
【0087】
オーバーラップ処理の第2の変形例として、複数のマクロブロックが重複する画像部分については、今回のマクロブロックに関する処理での当該画像部分の出力値を、次回のマクロブロックに関する処理での当該画像部分の入力値として使用しても良い。例えば、
図9中で砂地ハッチングを付した4行×4列の画像部分について、マクロブロックMB1に関する処理での出力値(画像データD6)を、マクロブロックMB2に関する処理での入力値(画像データD1)として使用し、マクロブロックMB2に関する処理での出力値を、マクロブロックMB4に関する処理での入力値として使用し、マクロブロックMB4に関する処理での出力値を、マクロブロックMB5に関する処理での入力値として使用する。この手法によると、複数のマクロブロックを順次に処理する一連の流れの中で同一画像部分について実質的に複数回のノイズ除去処理が行われるため、複数の出力値の平均値を求める場合と比較して、処理時間を短縮することが可能となる。
【0088】
<ACT(MB)の算出処理>
演算部20は、下記式(4)で示される演算を行うことにより、重み付き平均値のマクロブロック内平均値AVE_BLKを算出する。次に、下記式(5)で示される演算を行うことにより、各画素の重み付き平均値GAUS(i,j)と、ブロック内平均値AVE_BLKとの差分絶対値和を算出する。そして、下記式(6)で示される演算を行うことにより、当該差分絶対値和のマクロブロック内平均値として、マクロブロック毎の活発性評価値ACT(MB)を算出する。
【0092】
<QP(MB)の第1の設定処理>
図10は、設定部22による量子化値QP(MB)の第1の設定処理を説明するための図である。設定部22は、量子化値QP(PIC)と活発性評価値ACT(MB)とに基づいて、量子化値QP(MB)を設定する。設定部22は、活発性評価値ACT(MB)毎の最適な量子化値QP(MB)を記述したルックアップテーブルを保持している。
図10の(A)及び(B)に示すように、設定部22は、活発性評価値ACT(MB)とマクロブロック数とのヒストグラム内における、活発性評価値ACT(MB)の分布範囲で、当該ルックアップテーブルを正規化する。
図10の(B)に示すように、当該ルックアップテーブルによると、活発性評価値ACT(MB)が高いほど低い量子化値QP(MB)が設定される。また、
図10の(C)に示すように、設定部22は、量子化値QP(PIC)を中心として、量子化値QP(PIC)よりも値ΔHだけ大きい上限量子化値QPHと、量子化値QP(PIC)よりも値ΔLだけ小さい下限量子化値QPLとを設定する。そして、設定部22は、
図10の(B)の量子化値QP(MB)が上限量子化値QPHを超えるマクロブロック、つまり活発性評価値ACT(MB)が低レベル(値A1未満)のマクロブロックに関しては、上限量子化値QPHを量子化値QP(MB)として設定する。また、
図10の(B)の量子化値QP(MB)が上限量子化値QPH以下かつ下限量子化値QPL以上のマクロブロック、つまり活発性評価値ACT(MB)が中レベル(値A1以上かつ値A2以下)のマクロブロックに関しては、
図10の(B)の量子化値QP(MB)をそのまま量子化値QP(MB)として設定する。また、
図10の(B)の量子化値QP(MB)が下限量子化値QPL未満のマクロブロック、つまり活発性評価値ACT(MB)が高レベル(値A2超)のマクロブロックに関しては、下限量子化値QPLを量子化値QP(MB)として設定する。
【0093】
<QP(MB)の第2の設定処理>
図11は、設定部22による量子化値QP(MB)の第2の設定処理を説明するための図である。設定部22は、量子化値QP(PIC)とノイズ値NOISE(MB)とに基づいて、量子化値QP(MB)を設定する。設定部22は、下記式(7)で示される演算を行うことにより、ノイズ値NOISE(MB)に基づいて量子化値QP(MB)を算出する。
図11に示すように、設定部22は、ノイズ値NOISE(MB)が高いほど高い量子化値QP(MB)を設定する。
【0095】
また、設定部22は、量子化値QP(PIC)を量子化値QP(MB)の上限値として用いることにより、式(7)の演算によって算出した量子化値QP(MB)が量子化値QP(PIC)を超える場合には、量子化値QP(PIC)を量子化値QP(MB)として設定する。
【0096】
図12は、量子化値QP(MB)の第2の設定処理を実現するための画像処理装置1の構成を示す図である。演算部19から設定部22にノイズ値NOISE(MB)が入力される。
【0097】
なお、式(7)において、ノイズ値NOISE(MB)の代わりにノイズ値NOISE(PIC)を代入することによって、量子化値QP(PIC)を算出することができる。従って、設定部21は、
図3に示したルックアップテーブルに代えて、式(7)を用いた演算によって量子化値QP(PIC)を設定しても良い。
【0098】
<SM(MB)の設定処理>
図13〜15は、設定部24によるスケーリングマトリクスSM(MB)の設定処理を説明するための図である。設定部24は、スケーリングマトリクスSM(PIC)と活発性評価値ACT(MB)とに基づいて、スケーリングマトリクスSM(MB)を設定する。
【0099】
図13を参照して、設定部24は、活発性評価値ACT(MB)が低レベル(値A1未満)のマクロブロックに関しては、低レベル用のマスクMLを用いてスケーリングマトリクスSM(PIC)をマスキングする。マスクMLにおいては、「1」の乗数によって低周波成分をスルーし、略ゼロ値の乗数によって中周波成分及び高周波成分をカットするマスク値が設定されている。これにより、低周波成分においてはスケーリングマトリクスSM(PIC)の補正値がスケーリングマトリクスSM(MB)の補正値として設定され、中周波成分及び高周波成分においては略ゼロ値がスケーリングマトリクスSM(MB)の補正値として設定される。
【0100】
図14を参照して、設定部24は、活発性評価値ACT(MB)が中レベル(値A1以上かつ値A2以下)のマクロブロックに関しては、中レベル用のマスクMMを用いてスケーリングマトリクスSM(PIC)をマスキングする。マスクMMにおいては、「1」の乗数によって低周波成分及び中周波成分をスルーし、略ゼロ値の乗数によって高周波成分をカットするマスク値が設定されている。これにより、低周波成分及び中周波成分においてはスケーリングマトリクスSM(PIC)の補正値がスケーリングマトリクスSM(MB)の補正値として設定され、高周波成分においては略ゼロ値がスケーリングマトリクスSM(MB)の補正値として設定される。
【0101】
図15を参照して、設定部24は、活発性評価値ACT(MB)が高レベル(値A2超)のマクロブロックに関しては、高レベル用のマスクMHを用いてスケーリングマトリクスSM(PIC)をマスキングする。マスクMHにおいては、「1」の乗数によって低周波成分、中周波成分、及び高周波成分をスルーするマスク値が設定されている。これにより、低周波成分、中周波成分、及び高周波成分の全てにおいて、スケーリングマトリクスSM(PIC)の補正値がスケーリングマトリクスSM(MB)の補正値として設定される。
【0102】
なお、上記では3種類のマスクML,MM,MHを用いて3段階のマスキング処理を行う例について説明したが、活発性評価値ACT(MB)等の変数に応じて4種類以上のマスクを用意することにより、4段階以上(例えば8段階)のマスキング処理を行ってもよい。また、
図13〜15に示した各マスクML,MM,MHの乗数は一例であり、この例には限定されない。各マスクML,MM,MHに設定する乗数は、ノイズ量等に応じて任意に決定することができる。
【0103】
<ノイズ除去処理の実行要否の判定処理>
演算部19は、入力画像内の全てのマクロブロックに関するノイズ値NOISE(MB)の平均値として、ノイズ値NOISE(PIC)を算出し、当該ノイズ値NOISE(PIC)をCPU2に入力する。また、演算部20は、入力画像内の全てのマクロブロックに関する活発性評価値ACT(MB)の平均値として、活発性評価値ACT(PIC)を算出し、当該活発性評価値ACT(PIC)をCPU2に入力する。
【0104】
CPU2は、入力画像全体のノイズ値NOISE(PIC)と、入力画像全体の活発性評価値ACT(PIC)とに基づいて、入力画像毎にノイズ除去処理の実行の要否を判定する。
【0105】
CPU2は、ノイズ値NOISE(PIC)を活発性評価値ACT(PIC)で除算する演算(NOISE(PIC)/ACT(PIC))を行うことによってノイズ強度を算出する。そして、当該ノイズ強度が所定のしきい値(例えば「1」)未満である場合にはノイズ除去処理の実行を不要と判定し、当該ノイズ強度が当該しきい値以上である場合にはノイズ除去処理の実行を必要と判定する。このように、ノイズ除去処理の実行のON/OFFをピクチャ単位で制御することにより、消費電力を削減することができる。
【0106】
なお、処理の遅延時間が問題とならない場合、例えば入力画像が静止画である場合には、CPU2は、入力画像自身のノイズ値NOISE(PIC)及び活発性評価値ACT(PIC)を算出し、それらに基づいてノイズ除去処理の実行の要否を判定すればよい。
【0107】
一方、処理の遅延時間が問題となる場合、例えば入力画像が動画である場合には、CPU2は、直前(1フレーム前)の入力画像のノイズ値NOISE(PIC)及び活発性評価値ACT(PIC)に基づいて、現入力画像に関するノイズ除去処理の実行の要否を判定すればよい。
【0108】
<第1の変形例>
上記実施の形態では、量子化値QP(PIC)及び量子化値QP(MB)の双方に基づいて量子化値を設定し、スケーリングマトリクスSM(PIC)及びスケーリングマトリクスSM(MB)の双方に基づいて補正値を設定したが、量子化値QP(PIC)のみに基づいて量子化値を設定し、スケーリングマトリクスSM(PIC)のみに基づいて補正値を設定することもできる。
【0109】
図16は、本変形例に係る画像処理装置1の構成を示す図である。
図1に示した構成から設定部22,24が省略されている。
【0110】
図17は、本変形例に係る画像処理装置1が実行するノイズ除去処理の流れを示すフローチャートである。まずステップP201において設定部17は、CPU2によるノイズ除去処理の実行要否の判定結果に基づいて、セレクタ16を設定する。実行が不要である場合は処理を終了する。
【0111】
実行が必要である場合は、次にステップP202において設定部21は、量子化値QP(PIC)を設定する。
【0112】
次にステップP203において設定部23は、スケーリングマトリクスSM(PIC)を設定する。
【0113】
次にステップP204〜P208において、マクロブロック毎のノイズ除去処理が、入力画像内に含まれる全てのマクロブロックに関して繰り返し実行される。
【0114】
ステップP204において変換部11は、画像データD1を画像データD2に変換する。
【0115】
次にステップP205において量子化部12は、量子化値QP(PIC)を用いた量子化処理によって画像データD2から画像データD3を生成する。
【0116】
次にステップP206において補正部13は、スケーリングマトリクスSM(PIC)を用いた補正処理によって画像データD3から画像データD4を生成する。
【0117】
次にステップP207において逆量子化部14は、逆量子化処理によって画像データD4から画像データD5を生成する。
【0118】
次にステップP208において逆変換部15は、逆DCT変換によって画像データD5を画像データD6に変換する。入力画像内に含まれる全てのマクロブロックに関してマクロブロック毎のノイズ除去処理が完了することにより、処理が終了する。
【0119】
<第2の変形例>
上記実施の形態では、量子化値QP(PIC)及び量子化値QP(MB)の双方に基づいて量子化値を設定し、スケーリングマトリクスSM(PIC)及びスケーリングマトリクスSM(MB)の双方に基づいて補正値を設定したが、量子化値QP(MB)のみに基づいて量子化値を設定し、スケーリングマトリクスSM(MB)のみに基づいて補正値を設定することもできる。
【0120】
図18は、本変形例に係る画像処理装置1の構成を示す図である。
図1に示した構成から設定部21,23が省略されている。
【0121】
図19は、本変形例に係る画像処理装置1が実行するノイズ除去処理の流れを示すフローチャートである。まずステップP301において設定部17は、CPU2によるノイズ除去処理の実行要否の判定結果に基づいて、セレクタ16を設定する。実行が不要である場合は処理を終了する。
【0122】
次にステップP302〜P308において、マクロブロック毎のノイズ除去処理が、入力画像内に含まれる全てのマクロブロックに関して繰り返し実行される。
【0123】
ステップP302において演算部20は、活発性評価値ACT(MB)を算出する。
【0124】
次にステップP303において設定部22は、量子化値QP(MB)を設定する。また、設定部24は、スケーリングマトリクスSM(MB)を設定する。本変形例では、設定部24は、活発性評価値ACT(MB)が低レベル(値A1未満)のマクロブロックに関しては、低レベル用のマスクML(
図13)をスケーリングマトリクスSM(MB)として用いる。また、設定部24は、活発性評価値ACT(MB)が中レベル(値A1以上かつ値A2以下)のマクロブロックに関しては、中レベル用のマスクMM(
図14)をスケーリングマトリクスSM(MB)として用いる。また、設定部24は、活発性評価値ACT(MB)が高レベル(値A2超)のマクロブロックに関しては、高レベル用のマスクMH(
図15)をスケーリングマトリクスSM(MB)として用いる。
【0125】
次にステップP304において変換部11は、画像データD1を画像データD2に変換する。
【0126】
次にステップP305において量子化部12は、量子化値QP(MB)を用いた量子化処理によって画像データD2から画像データD3を生成する。
【0127】
次にステップP306において補正部13は、スケーリングマトリクスSM(MB)を用いた補正処理によって画像データD3から画像データD4を生成する。
【0128】
次にステップP307において逆量子化部14は、逆量子化処理によって画像データD4から画像データD5を生成する。
【0129】
次にステップP308において逆変換部15は、逆DCT変換によって画像データD5を画像データD6に変換する。入力画像内に含まれる全てのマクロブロックに関してマクロブロック毎のノイズ除去処理が完了することにより、処理が終了する。
【0130】
<第3の変形例>
上記実施の形態では、入力画像の各色成分に対して独立にノイズ除去処理を実行したが、全て(又は一部の複数)の色成分に対して統合的なノイズ除去処理を行うこともできる。
【0131】
演算部19は、各色成分のノイズ値NOISE(PIC)を平均化することによって、全ての色成分に関する平均ノイズ値NOISE(PIC)を算出する。演算部20は、各色成分の活発性評価値ACT(PIC)を平均化することによって、全ての色成分に関する平均活発性評価値ACT(PIC)を算出する。
【0132】
演算部19は、各色成分のノイズ値NOISE(MB)を平均化することによって、全ての色成分に関する平均ノイズ値NOISE(MB)を算出する。演算部20は、各色成分の活発性評価値ACT(MB)を平均化することによって、全ての色成分に関する平均活発性評価値ACT(MB)を算出する。
【0133】
そして、これらの平均ノイズ値NOISE(PIC),NOISE(MB)及び平均活発性評価値ACT(PIC),ACT(MB)を用いて設定された、全ての色成分に共通する共通量子化値QP(PIC),QP(MB)及び共通スケーリングマトリクスSM(PIC),SM(MB)を用いて、統合的なノイズ除去処理が実行される。
【0134】
このように、全て(又は一部の複数)の色成分に対して統合的なノイズ除去処理を行うことにより、ノイズ検出精度を向上することができる。また、色成分間のノイズ除去効果のばらつきが抑制されるため、画質を向上することができる。
【0135】
一方、上記実施の形態のように入力画像の各色成分に対して独立にノイズ除去処理を実行することにより、色成分毎に最適なノイズ除去効果を得ることができる。一部の色成分のみのノイズ量が突出している場合等、色成分間でノイズ量が大きく異なる場合には、上記実施の形態の手法が有効である。
【0136】
<第4の変形例>
上記実施の形態では、専用LSI等のハードウェアによって画像処理装置1を構成する例について説明したが、ROM等の記録媒体に記録されたプログラムをCPU2が読み出して実行することにより、画像処理装置1と同様の機能をCPU2がソフトウェア処理によって実現する構成としても良い。
【0137】
<まとめ>
上記実施の形態に係る画像処理装置1によれば、設定部23(第1の補正値設定部)は、入力画像全体の画像データD2(第2画像データ)に基づいて入力画像毎のスケーリングマトリクスSM(PIC)(第1の補正値)を設定し、補正部13は、画像データD3(第3画像データ)に対して周波数成分毎に補正処理を実行することにより画像データD4(第4画像データ)を生成する。このように、入力画像全体の画像データD2に基づいて設定した第1の補正値を用いて周波数成分毎に補正処理を実行することにより、周波数成分毎のノイズレベルに応じて適切なノイズ除去処理を実行することができる。その結果、画質の劣化を回避しつつ高いノイズ除去効果を実現することが可能となる。また、ノイズ除去効果の向上を企図して空間フィルタを複数回適用する場合と比較すると、処理時間を短縮できるとともに、中間値を格納するテンポラルメモリが不要となるため回路規模を削減することが可能となる。また、設定部23は、入力画像における周波数成分値間の比率が、ノイズを含まない理想画像における周波数成分値間の比率に等しくなるように、入力画像における各周波数成分値を変換するための変換値を、第1の補正値として設定する。第1の補正値をこのように設定することにより、出力画像を理想画像に近付ける補正処理を実現できるため、画質を向上することが可能となる。
【0138】
また、上記実施の形態に係る画像処理装置1によれば、設定部24(第2の補正値設定部)は、第1の補正値と、マクロブロック毎の活発性評価値ACT(MB)とに基づいて、補正処理に用いるマクロブロック毎のスケーリングマトリクスSM(MB)(第2の補正値)を設定する。このように、入力画像全体の画像データD2に基づいて設定される第1の補正値と、マクロブロック毎の活発性評価値ACT(MB)とに基づいて、マクロブロック毎の第2の補正値を設定することにより、入力画像全体の周波数成分値とマクロブロックの属性とに応じて、マクロブロック毎に適切な補正処理を実行することができる。その結果、ブロック毎のノイズ除去効果を向上できるため、画像全体として画質を向上することが可能となる。
【0139】
また、上記実施の形態に係る画像処理装置1によれば、設定部24は、周波数成分別に任意の乗数が設定されたマスクを、活発性評価値ACT(MB)に応じて複数種類保持しており、演算部20によって算出された活発性評価値ACT(MB)に対応するマスクを用いて第1の補正値のマスキングを行うことによって、第2の補正値を設定する。その結果、マクロブロック毎の活発性評価値ACT(MB)に応じた第2の補正値を、第1の補正値から簡易かつ適切に設定することが可能となる。
【0140】
また、上記実施の形態に係る画像処理装置1によれば、設定部24は、活発性評価値ACT(MB)が低レベルのマクロブロックに関しては、低周波成分においては第1の補正値を第2の補正値として設定し、中周波成分及び高周波成分においては略ゼロ値を第2の補正値として設定する。活発性評価値ACT(MB)が低くノイズが目立ちやすい平坦部に関しては、中周波成分及び高周波成分をカットするマスキングを行うことにより、補正処理による高いノイズ除去効果を得ることが可能となる。また、設定部24は、活発性評価値ACT(MB)が高レベルのマクロブロックに関しては、低周波成分、中周波成分、及び高周波成分において第1の補正値を第2の補正値として設定する。活発性評価値ACT(MB)が高いエッジ部やテクスチャ部に関しては、全周波数成分をカットしないマスキングを行うことにより、エッジ部やテクスチャ部を鮮明化する補正処理を実現でき、画質を向上することが可能となる。また、設定部24は、活発性評価値ACT(MB)が中レベルのマクロブロックに関しては、低周波成分及び中周波成分においては第1の補正値を第2の補正値として設定し、高周波成分においては略ゼロ値を第2の補正値として設定する。平坦部、エッジ部、及びテクスチャ部以外の画像部分に関しては、高周波成分のみをカットするマスキングを行うことにより、補正処理による中程度のノイズ除去効果を得ることが可能となる。
【0141】
また、上記実施の形態に係る画像処理装置1によれば、演算部20は、各画素の平滑値(上記の例では重み付き平均値)と、平滑値のマクロブロック内平均値との差分絶対値和を算出し、当該差分絶対値和のマクロブロック内平均値として、マクロブロック毎の活発性評価値ACT(MB)を算出する。これにより、マクロブロック毎の活発性評価値ACT(MB)を演算部20によって適切に求めることが可能となる。
【0142】
また、上記実施の形態に係る画像処理装置1によれば、設定部24(補正値設定部)は、マクロブロック毎の活発性評価値ACT(MB)に基づいて、補正処理に用いるマクロブロック毎のスケーリングマトリクスSM(MB)(補正値)を設定する。このように、マクロブロック毎の活発性評価値ACT(MB)に基づいてマクロブロック毎の補正値を設定することにより、マクロブロックの属性に応じて、マクロブロック毎に適切な補正処理を実行することができる。その結果、ブロック毎のノイズ除去効果を向上できるため、画像全体として画質を向上することが可能となる。また、ノイズ除去効果の向上を企図して空間フィルタを複数回適用する場合と比較すると、処理時間を短縮できるとともに、中間値を格納するテンポラルメモリが不要となるため回路規模を削減することが可能となる。また、設定部24は、周波数成分別に任意の乗数が設定されたマスクを、活発性評価値ACT(MB)に応じて複数種類保持しており、演算部20によって算出された活発性評価値ACT(MB)に対応するマスクに設定されている乗数を、補正値として設定する。その結果、マクロブロック毎の活発性評価値ACT(MB)に応じた補正値を、簡易かつ適切に設定することが可能となる。
【0143】
また、上記実施の形態に係る画像処理装置1によれば、設定部24は、活発性評価値ACT(MB)が低レベルのマクロブロックに関しては、低周波成分においては1倍を補正値として設定し、中周波成分及び高周波成分においては略ゼロ倍を補正値として設定する。活発性評価値ACT(MB)が低くノイズが目立ちやすい平坦部に関しては、中周波成分及び高周波成分をカットするマスキングを行うことにより、補正処理による高いノイズ除去効果を得ることが可能となる。また、設定部24は、活発性評価値ACT(MB)が高レベルのマクロブロックに関しては、低周波成分、中周波成分、及び高周波成分において1倍を補正値として設定する。活発性評価値ACT(MB)が高いエッジ部やテクスチャ部に関しては、全周波数成分をカットしないマスキングを行うことにより、エッジ部やテクスチャ部を鮮明化する補正処理を実現でき、画質を向上することが可能となる。また、設定部24は、活発性評価値ACT(MB)が中レベルのマクロブロックに関しては、低周波成分及び中周波成分においては1倍を補正値として設定し、高周波成分においては略ゼロ倍を補正値として設定する。平坦部、エッジ部、及びテクスチャ部以外の画像部分に関しては、高周波成分のみをカットするマスキングを行うことにより、補正処理による中程度のノイズ除去効果を得ることが可能となる。
【0144】
また、上記実施の形態に係る画像処理装置1によれば、演算部20は、各画素の平滑値(上記の例では重み付き平均値)と、平滑値のマクロブロック内平均値との差分絶対値和を算出し、当該差分絶対値和のマクロブロック内平均値として、マクロブロック毎の活発性評価値ACT(MB)を算出する。これにより、マクロブロック毎の活発性評価値ACT(MB)を演算部20によって適切に求めることが可能となる。
【0145】
また、上記実施の形態に係る画像処理装置1によれば、CPU2は、入力画像全体のノイズ値NOISE(PIC)と、入力画像全体の活発性評価値ACT(PIC)とに基づいて、ノイズ除去処理の実行の要否を判定する。これにより、ノイズ除去処理が真に必要な入力画像を対象としてノイズ除去処理を実行でき、不要な入力画像に対するノイズ除去処理の実行を回避できるため、消費電力を削減することが可能となる。
【0146】
また、上記実施の形態に係る画像処理装置1によれば、CPU2は、入力画像全体のノイズ値NOISE(PIC)を、入力画像全体の活発性評価値ACT(PIC)で除算することによって、ノイズ強度を算出する。そして、当該ノイズ強度が所定のしきい値未満である場合にはノイズ除去処理の実行を不要と判定し、当該ノイズ強度が当該しきい値以上である場合にはノイズ除去処理の実行を必要と判定する。CPU2がこのような判定処理を行うことにより、ノイズ除去処理が真に必要な入力画像を高精度に特定することが可能となる。
【0147】
また、上記実施の形態に係る画像処理装置1によれば、変換部11、量子化部12、及び補正部13は、入力画像から部分的に重複するように抽出された複数のマクロブロックに関して順次に処理を行う。このように、マクロブロックの一部を互いにオーバーラップさせることにより、ブロックノイズの発生を抑制することが可能となる。また、出力画像のうち複数のマクロブロックが重複する画像部分については、重複する複数のマクロブロックから求めた最適値(上記の例では平均値)が当該画像部分の画像データとして出力される。このように、重複部分については複数のマクロブロックから求めた最適値を出力することにより、画質の劣化を回避しつつ高いノイズ除去効果を実現することが可能となる。