本発明における撮像装置の実施形態について、図面を参照して説明する。また、撮像装置として、デジタルカメラなどの音声、動画及び静止画の記録が可能な撮像装置を例に挙げて説明する。
<<撮像装置>>
まず、撮像装置の構成について、図1を参照して説明する。図1は、本発明の実施形態における撮像装置の構成を示すブロック図である。
図1に示すように、撮像装置1は、入射される光学像を電気信号に変換するCCDまたはCMOSセンサなどの固体撮像素子から成るイメージセンサ2と、被写体の光学像をイメージセンサ2に結像させるとともに光量などの調整を行うレンズ部3と、を備える。レンズ部3とイメージセンサ2とで撮像部が構成され、この撮像部によって画像信号が生成される。なお、レンズ部3は、ズームレンズやフォーカスレンズなどの各種レンズ(不図示)や、イメージセンサ2に入力される光量を調整する絞り(不図示)などを備える。
さらに、撮像装置1は、イメージセンサ2から出力されるアナログ信号である画像信号をデジタル信号に変換するとともにゲインの調整を行うAFE(Analog Front End)4と、入力される音声を電気信号に変換するマイク5と、AFE4から出力されるR(赤)G(緑)B(青)のデジタル信号となる画像信号をY(輝度信号)U,V(色差信号)を用いた信号に変換するとともに画像信号に各種画像処理を施す画像処理部6と、マイク5から出力されるアナログ信号である音声信号をデジタル信号に変換する音声処理部7と、画像処理部6から出力される画像信号に対してJPEG(Joint Photographic Experts Group)圧縮方式などの静止画用の圧縮符号化処理を施したり画像処理部6から出力される画像信号と音声処理部7からの音声信号とに対してMPEG(Moving Picture Experts Group)圧縮方式などの動画用の圧縮符号化処理を施したりする圧縮処理部8と、圧縮処理部8で圧縮符号化された圧縮符号化信号を記録する外部メモリ10と、画像信号を外部メモリ10に記録したり読み出したりするドライバ部9と、ドライバ部9において外部メモリ10から読み出した圧縮符号化信号を伸長して復号する伸長処理部11と、を備える。なお、画像処理部6は、入力される画像信号にノイズ低減処理を施すノイズ低減処理部60を備える。
また、撮像装置1は、伸長処理部11で復号された画像信号をディスプレイなどの表示装置(不図示)で表示可能な形式の信号に変換する画像出力回路部12と、伸長処理部11で復号された音声信号をスピーカなどの再生装置(不図示)で再生可能な形式の信号に変換する音声出力回路部13と、を備える。
また、撮像装置1は、撮像装置1内全体の動作を制御するCPU(Central Processing Unit)14と、各処理を行うための各プログラムを記憶するとともにプログラム実行時の信号の一時保管を行うメモリ15と、撮像を開始するボタンや各種設定の決定を行うボタンなどのユーザからの指示が入力される操作部16と、各部の動作タイミングを一致させるためのタイミング制御信号を出力するタイミングジェネレータ(TG)部17と、CPU14と各部との間で信号のやりとりを行うためのバス回線18と、メモリ15と各部との間で信号のやりとりを行うためのバス回線19と、を備える。
なお、外部メモリ10は画像信号や音声信号を記録することができればどのようなものでも構わない。例えば、SD(Secure Digital)カードのような半導体メモリ、DVDなどの光ディスク、ハードディスクなどの磁気ディスクなどをこの外部メモリ10として使用することができる。また、外部メモリ10を撮像装置1から着脱自在としても構わない。
次に、撮像装置1の基本動作について図1を用いて説明する。まず、撮像装置1は、レンズ部3より入射される光をイメージセンサ2において光電変換することによって、電気信号である画像信号を取得する。そして、イメージセンサ2は、TG部17から入力されるタイミング制御信号に同期して、所定のフレーム周期(例えば、1/60秒)で順次AFE4に画像信号を出力する。そして、AFE4によってアナログ信号からデジタル信号へと変換された画像信号は、画像処理部6に入力される。画像処理部6では、画像信号がYUVを用いた信号に変換されるとともに、階調補正や輪郭強調等の各種画像処理が施される。また、メモリ15はフレームメモリとして動作し、画像処理部6が処理を行なう際に画像信号を一時的に保持する。
また、このとき画像処理部6に入力される画像信号に基づき、レンズ部3において、各種レンズの位置が調整されてフォーカスの調整が行われたり、絞りの開度が調整されて露出の調整が行われたりする。このフォーカスや露出の調整は、それぞれ最適な状態となるように所定のプログラムに基づいて自動的に行われたり、ユーザの指示に基づいて手動で行われたりする。また、画像処理部6に備えられるノイズ低減処理部60は、入力される画像信号に対してノイズ低減処理を施す。
動画を記録する場合であれば、画像信号だけでなく音声信号も記録される。マイク5において電気信号に変換されて出力される音声信号は音声処理部7に入力されてデジタル化されるとともにノイズ除去などの処理が施される。そして、画像処理部6から出力される画像信号と、音声処理部7から出力される音声信号と、はともに圧縮処理部8に入力され、圧縮処理部8において所定の圧縮方式で圧縮される。このとき、画像信号と音声信号とは時間的に関連付けられており、再生時に画像と音とがずれないように構成される。そして、圧縮された画像信号及び音声信号はドライバ部9を介して外部メモリ10に記録される。
一方、静止画や音声のみを記録する場合であれば、画像信号または音声信号が圧縮処理部8において所定の圧縮方法で圧縮され、外部メモリ10に記録される。なお、動画を記録する場合と静止画を記録する場合とで、画像処理部6において行われる処理を異なるものとしても構わない。
外部メモリ10に記録された圧縮後の画像信号及び音声信号は、ユーザの指示に基づいて伸長処理部11に読み出される。伸長処理部11では、圧縮された画像信号及び音声信号を伸長し、画像信号を画像出力回路部12、音声信号を音声出力回路部13にそれぞれ出力する。そして、画像出力回路部12や音声出力回路部13において、表示装置やスピーカで表示または再生可能な形式の信号に変換されて出力される。
なお、表示装置やスピーカは、撮像装置1と一体となっているものでも構わないし、別体となっており、撮像装置1に備えられる端子とケーブル等を用いて接続されるようなものでも構わない。
また、画像信号の記録を行わずに表示装置などに表示される画像をユーザが確認する、所謂プレビューモードである場合に、画像処理部6から出力される画像信号を圧縮せずに画像出力回路部12に出力することとしても構わない。また、動画の画像信号を記録する際に、圧縮処理部8で圧縮して外部メモリ10に記録するのと並行して、画像出力回路部12を介して表示装置などに画像信号を出力することとしても構わない。
<<ノイズ低減処理部>>
次に、図1に示したノイズ低減処理部60の構成について図面を参照して説明する。図2は、本発明の実施形態における撮像装置に備えられるノイズ低減処理部の構成を示すブロック図である。なお、以下では説明の具体化のために、ノイズ低減処理部60に入力されてノイズ低減処理が行われる画像信号を画像として表現するとともに、「入力画像」と呼ぶこととする。また、ノイズ低減処理部60から出力される画像信号を「出力画像」と呼ぶこととする。
また、順次入出力される入力画像及び出力画像の順序を、フレームを用いて表現する。特に、ノイズ低減処理が行われる対象となる入力画像を現フレームの入力画像とし、この現フレームの入力画像にノイズ低減処理が施されて出力される出力画像を現フレームの出力画像とする。また、現フレームの入力画像の前にノイズ低減処理部60に入力される入力画像を前フレームの入力画像とし、この前フレームの入力画像にノイズ低減処理が施されて出力される出力画像を前フレームの出力画像とする。
図2に示すように、ノイズ低減処理部60は、現フレームの入力画像とフレームメモリ50に一時的に記憶された前フレームの出力画像とに基づいてノイズ除去量を算出するノイズ除去量算出部61と、現フレームの入力画像とフレームメモリ50に一時的に記憶された前フレームの出力画像とに基づいて動き量を算出する動き量算出部62と、動き量に基づいて帰還係数を算出する帰還係数算出部63と、ノイズ除去量と帰還係数とに基づいて現フレームの入力画像のノイズを低減して現フレームの出力画像を生成するノイズ低減部64と、を備える。
<ノイズ除去量算出部>
ノイズ除去量算出部61について図面を参照して説明する。図3は、ノイズ除去量算出部の構成を示す模式図である。図3に示すように、ノイズ除去量算出部61は、現フレームの入力画像と前フレームの出力画像との差分値を求める差分値算出部61aと、差分値算出部61aより得られる差分値に基づいてノイズ除去量を設定するノイズ除去量設定部61bと、を備える。なお、差分値算出部61aで求められる差分値は、画素毎の値となる。
ノイズ除去量設定部61bは、例えば、図4に示すような方法でノイズ除去量を設定する。図4は、ノイズ除去量の設定方法の一例を示すグラフである。図4に示すように、ノイズ除去量設定部61bは、画素毎に求められる差分値xに基づいてノイズ除去量n(x)を設定する。なお、図4に示すようにノイズ除去量を設定する場合、n(x)は下記式(1)に示すものとなる。
上記式(1)に示されるn(x)では、差分値xの絶対値が閾値th(th>0)を超える場合、ノイズ除去量n(x)が抑制される。そのため、被写体や撮像装置の動きなどによって画素値に大きな変動が生じた場合に、ノイズによる変動と誤認されてノイズ除去量が大きく設定されることが抑制される。したがって、尾引きや残像などの発生を抑制することが可能となる。
<帰還係数算出部>
次に、帰還係数算出部63について図面を参照して説明する。図5は、帰還係数の設定方法の一例を示すグラフである。図5に示すように、帰還係数は、動き量が増大するほど小さくなる。例えば、動き量が0であれば1となり、動き量が閾値thMを超えると0となる。なお、動き量算出部62の構成や動き量の算出方法の詳細については後述するが、概ね、現フレームの入力画像の画素値と前フレームの出力画像の画素値との差分値の絶対値が大きいほど動き量も大きくなる。
<ノイズ低減部>
図2に示すように、ノイズ低減部64は、ノイズ除去量に帰還係数を乗じて除去値を算出する乗算部64aと、現フレームの入力画像から除去値を減算する減算部64bと、を備える。
上述のように、動き量が大きいと帰還係数が小さくなる。そのため、ノイズ除去量に帰還係数を乗じて算出される除去値は、ノイズ除去量を大きく低減したものとなり、小さい値となる。動き量が大きい場合、現フレームの入力画像と前フレームの出力画像との差分値は、主に被写体や撮像装置1の動きによって発生するブレなどによるものと考えられる。そのため、除去値を小さいものとして、現フレームの入力画像を略そのまま現フレームの出力画像として出力する。これにより、尾引きや残像の発生を抑制することが可能となる。
一方、動き量が小さいと帰還係数が大きくなる。そのため、ノイズ除去量に帰還係数を乗じて算出される除去値は、ノイズ除去量をあまり低減しないものとなり、大きい値となる。動き量が小さい場合、現フレームの入力画像と前フレームの出力画像との差分値は、主にランダムに発生するノイズに起因するものと考えられる。そのため、除去値を大きいものとして、現フレームの入力画像から好適にノイズを低減する。
<動き量算出部>
次に、動き量算出部62の各実施例について、以下説明する。
(第1実施例)
動き量算出部の第1実施例について図面を参照して説明する。図6は、動き量算出部の第1実施例の構成を示す模式図である。図6に示すように、本実施例の動き量算出部62aは、現フレームの入力画像と前フレームの出力画像との差分値を画素毎に算出する差分値算出部621と、差分値算出部621から出力される差分値の絶対値を算出する絶対値算出部622と、絶対値算出部622から出力される差分値の絶対値に平滑化処理を行い動き量を算出するフィルタ部623と、現フレームの入力画像に基づいてフィルタ部623のフィルタ係数を算出するフィルタ係数算出部624aと、を備える。
フィルタ部623は、例えば、注目画素及び周辺画素のそれぞれに所定のフィルタ係数を乗算し、乗算後の各値を合算して得られた値を所定の数(以下、除数とする)で除算するフィルタである。また、フィルタ部623は、フィルタ係数が可変であり除数も可変であるものとする。なお、フィルタ部623の具体的な構成例については後述する。
次に、動き量算出部62aの動作について図面を参照して説明する。図7は、動き量算出部の第1実施例の動作例を示す模式図である。図7では、注目画素を太線の実線で示し、重みが大きいフィルタ係数が乗算される画素の範囲を太線の破線で示している。また、説明の簡略化のために、画素値は100または0のいずれかの値をとるものとする。なお、物体を示す画素の画素値を100とし、背景を示す画素の画素値を0とする。
図6に示すように、本実施例の動き量算出部62aは、まず、差分値算出部621で現フレームの入力画像と前フレームの出力画像との差分値が画素毎に算出される。このとき、例えば、注目画素と注目画素を中心とした周囲画素とを併せた35個(水平方向に7行、垂直方向に5列)の画素のそれぞれについて、差分値が算出される。そして、得られた差分値は絶対値算出部622に入力され、絶対値が算出される。
一方、フィルタ係数算出部624aは、現フレームの入力画像に基づいてフィルタ係数を算出する。具体的に例えば、まず、注目画素の画素値と略等しい画素値(例えば、注目画素の画素値との差が所定の範囲内となる画素値)を有する画素を検出する。そして、フィルタ部623が動き量を算出する際に、当該検出された画素の画素値の重みが大きくなるようにフィルタ係数を設定する。
以下では、上記のようにして検出された画素に乗算されるフィルタ係数を1とし、それ以外の画素に乗算されるフィルタ係数を0とする場合を例に挙げて説明する。なお、乗算後の各値を合算して得られた値を除算する除数は、設定されるフィルタ係数を合算した値(即ち、本例ではフィルタ係数=1が乗算される画素の数)とする。
図7(a)に示す例では、現フレームの入力画像の注目画素の画素値が100である。また、図中の太線の破線で示すように、画素値が100となる画素は水平方向の左方から4列分の20個である。本実施例では、これら20個の画素の差分値の絶対値のそれぞれに対してフィルタ係数=1が乗算される。そして、乗算後の各値を合算して得られた値が、除数=20で除算される。なお、図7(a)に示す場合では、20個全ての画素の差分値の絶対値が0となる。そのため、(0×20)/20=0が動き量となる。
図7(b)に示す例では、現フレームの入力画像の注目画素の画素値が100である。また、図中の太線の破線で示すように、画素値が100となる画素は水平方向の左方から4列分の20個となる。本実施例では、これら20個の画素の差分値の絶対値のそれぞれに対して、フィルタ係数=1が乗算される。そして、乗算後の各値を合算して得られた値が、除数=20で除算される。図7(b)に示す場合では、10個の画素の差分値の絶対値が0となり、10個の画素の差分値の絶対値が100となる。そのため、(0×10+100×10)/20=50が動き量となる。
本実施例の動き量算出部62aによると、現フレームの注目画素と画素値が略等しい画素の重みを大きくして動き量を算出するため、注目画素の画素値の変動に対応する動き量をより精度良く算出することが可能となる。
具体的に、図7(a),(b)のそれぞれの場合について説明する。図7(a)に示す場合、物体に動きはあるが、注目画素の画素値が変動していないため、動きが小さいと判定されることが好ましい。本実施例の場合、動き量算出部62aから出力される動き量は0となり、動きが小さい(静止している)と判定される。したがって、ノイズ低減部64に入力される帰還係数が大きくなることで除去値が大きくなり、ノイズを効果的に抑制することが可能となる。
一方、図7(b)に示す場合では、物体に動きがあり、注目画素の画素値が変動しているため、動きが大きいと判定されることが好ましい。本実施例の場合、動き量算出部62aから出力される動き量は50となり、動きが大きいと判定される。したがって、ノイズ低減部64に入力される帰還係数が小さくなることで除去値が小さくなり、尾引きや残像の発生を抑制することが可能となる。
(第2実施例)
動き量算出部の第2実施例について図面を参照して説明する。図8は、動き量算出部の第2実施例の構成を示す模式図であり、第1実施例について示した図6に相当するものである。なお、第1実施例と同様となる部分には同じ符号を付し、詳細な説明については省略する。
図8に示すように、本実施例の動き量算出部62bは、差分値算出部621と、絶対値算出部622と、フィルタ部623と、前フレームの出力画像に基づいてフィルタ部623のフィルタ係数を算出するフィルタ係数算出部624bと、を備える。
次に、動き量算出部62bの動作について図面を参照して説明する。図9は、動き量算出部の第2実施例の動作例を示す模式図であり、第1実施例について示した図7に相当するものである。なお、図7と同様に図9でも、注目画素を太線の実線で示し、重みが大きいフィルタ係数が乗算される画素の範囲を太線の破線で示している。また、説明の簡略化のために、画素値は100または0のいずれかの値をとるものとする。なお、物体を示す画素の画素値を100とし、背景を示す画素の画素値を0とする。
図8に示すように、本実施例の動き量算出部62bは、まず、差分値算出部621で現フレームの入力画像と前フレームの出力画像との差分値が画素毎に算出される。例えば、第1実施例と同様に35個の画素のそれぞれについて差分値が算出される。そして、得られた差分値は絶対値算出部622に入力され、絶対値が算出される。
一方、フィルタ係数算出部624bは、前フレームの出力画像に基づいてフィルタ係数を算出する。具体的に例えば、まず、注目画素の画素値と略等しい画素値(例えば、注目画素の画素値との差が所定の範囲内となる画素値)を有する画素を検出する。そして、フィルタ部623が動き量を算出する際に、当該検出された画素の画素値の重みが大きくなるようにフィルタ係数を設定する。なお、以下の説明においても、第1実施例と同様に、当該検出された画素に乗算されるフィルタ係数を1とし、それ以外の画素に乗算されるフィルタ係数を0とする。また、乗算後の各値を合算して得られた値を除算する除数は、設定されるフィルタ係数を合算した値(即ち、本例ではフィルタ係数=1が乗算される画素の数)とする。
図9(a)に示す例では、前フレームの出力画像の注目画素の画素値が100である。また、図中の太線の破線で示すように、画素値が100となる画素は水平方向の左方から6列分の30個である。本実施例では、これら30個の画素の差分値の絶対値のそれぞれに対して、フィルタ係数=1が乗算される。そして、乗算後の各値を合算して得られた値が、除数=30で除算される。なお、図9(a)に示す場合では、20個の画素の差分値の絶対値が0となり、10個の画素の差分値の絶対値が100となる。そのため、(0×20+100×10)/30≒33が動き量となる。
図9(b)に示す例では、現フレームの入力画像の注目画素の画素値が100である。また、図中の太線の破線で示すように、画素値が100となる画素は水平方向の右方から5列分の25個となる。本実施例では、これら25個の画素の差分値の絶対値のそれぞれに対して、フィルタ係数=1が乗算される。そして、乗算後の各値を合算して得られた値が、除数=25で除算される。なお、図9(b)に示す場合では、15個の画素の差分値の絶対値が0となり、10個の画素の差分値の絶対値が100となる。そのため、(0×15+100×10)/25=40が動き量となる。
本実施例の動き量算出部62bは、前フレームの出力画像の注目画素と画素値が略等しい画素の重みを大きくして動き量を算出する。そのため、第1実施例の動き量算出部62aと同様に、注目画素の画素値の変動に対応する動き量をより精度良く算出することが可能となる。
具体的に、図9(a),(b)のそれぞれの場合について説明する。図9(a)に示す場合、物体に動きはあるが、注目画素の画素値が変動していないため、動きが小さいと判定されることが好ましい。本実施例の場合、動き量算出部62bから出力される動き量は33となり、動きが比較的小さいと判定される。したがって、ノイズ低減部64に入力される帰還係数が大きくなることで除去値が大きくなり、ノイズを効果的に抑制することが可能となる。
一方、図9(b)に示す場合では、物体に動きがあり、注目画素の画素値が変動しているため、動きが大きいと判定されることが好ましい。本実施例の場合、動き量算出部62bから出力される動き量は40となり、動きが比較的大きいと判定される。したがって、ノイズ低減部64に入力される帰還係数が小さくなることで除去値が小さくなり、尾引きや残像の発生を抑制することが可能となる。
また、本実施例の動き量算出部62bは、ノイズ低減処理が既に施されている前フレームの出力画像の注目画素を基準としてフィルタ係数を設定する。そのため、フィルタ係数を算出する際に、ノイズの影響を抑制することが可能となる。具体的には、ノイズの影響で注目画素やその他の画素の画素値が異常な値となるためにフィルタ係数が精度良く算出されなくなることを、抑制することが可能となる。したがって、さらに精度良く動き量を算出することが可能となる。
また、本実施例の構成であれば、例えば画素値が一様となる平坦部分においても、効果的にノイズを低減することが可能となる。これについて図面を参照して説明する。図10は、動き量算出部の第2実施例の動作例を示す模式図であり、図9と同様のものである。図10(a),(b)は、ノイズによって画素値が変動する場合を示したものである。なお、説明の簡略化のために、ノイズが含まれる画素の画素値を全て500とする。
図10(a)は、前フレームの出力画像において、注目画素とその近傍(注目画素の下部の画素1個)にのみノイズが含まれている場合を示している。この場合、この2個の画素の差分値の絶対値に対して、フィルタ係数=1が乗算される。そして、乗算後の各値を合算して得られた値が、除数=2で除算される。図10(a)に示す場合では、現フレームの入力画像にはノイズの影響がなく、動き量が算出される35個の画素の画素値の全てが0である。そのため、2個の画素の差分値の絶対値はそれぞれ500となる。したがって、(500×2)/2=500が動き量となる。
図10(a)に示すように、動きが発生していない場合でも、ノイズなどの影響によって動き量が大きくなる。そしてこの場合、帰還係数が小さくなり、ノイズを含んだ前フレームの出力画像と現フレームの入力画像との差分値に基づいて設定された不適なノイズ除去量の帰還が抑制される(除去値が小さくなる)。したがって、現フレームの出力画像の画素の画素値が不適なものになることが抑制される。
また図10(b)は、前フレームの出力画像において、注目画素の近傍(注目画素の左方の画素2個)にのみノイズが含まれ、注目画素にノイズが含まれていない場合を示している。この場合、この2個の画素を除く33個の画素の差分値の絶対値に対して、フィルタ係数=1が乗算される。そして、乗算後の各値を合算して得られた値が、除数=33で除算される。図10(b)に示す場合では、現フレームの入力画像の注目画素にのみノイズが含まれている。そのため、注目画素の差分値の絶対値は500となり、他の32個の画素の差分値の絶対値は0となる。したがって、(500×1+0×32)/33≒15が動き量となる。
図10(b)に示すように、前フレームの出力画像の注目画素以外の画素にノイズが含まれると、動き量が小さくなる。すると、これによって帰還係数が大きくなり、ノイズ除去量の帰還が大きくなる(除去値が大きくなる)。そのため、現フレームの注目画素にノイズが含まれたとしても、除去値が大きくなるために効果的にノイズを低減することが可能となる。
(第3実施例)
動き量算出部の第3実施例について図面を参照して説明する。図11は、動き量算出部の第3実施例の構成を示す模式図であり、第1実施例について示した図6に相当するものである。なお、第1実施例と同様となる部分には同じ符号を付し、詳細な説明については省略する。
図11に示すように、本実施例の動き量算出部62cは、差分値算出部621と、絶対値算出部622と、フィルタ部623cと、現フレームの入力画像に基づいてフィルタ部623cのフィルタ係数を算出するフィルタ係数算出部624c1と、前フレームの出力画像に基づいてフィルタ部623cのフィルタ係数を算出するフィルタ係数算出部624c2とを備える。なお、フィルタ係数算出部624c1は、図6に示した第1実施例の動き量算出部62aのフィルタ係数算出部624aと同様のものとなる。また、フィルタ係数算出部624c2は、図8に示した第2実施例の動き量算出部62bのフィルタ係数算出部624bと同様のものとなる。
フィルタ部623cは、フィルタ係数算出部624c1から出力されるフィルタ係数と、フィルタ係数算出部624c2から出力されるフィルタ係数と、から一方を選択する。そして、選択されたフィルタ係数を用いて、絶対値算出部622から出力される差分値の絶対値に平滑化処理を行い、動き量を算出する。
次に、動き量算出部62cの動作について図面を参照して説明する。図12は、動き量算出部の第3実施例の動作例を示す模式図であり、第1実施例について示した図7に相当するものである。なお、図7と同様に図12でも、注目画素を太線の実線で示し、重みが大きいフィルタ係数が乗算される画素の範囲を太線の破線で示している。また、説明の簡略化のために、画素値は100または0のいずれかの値をとるものとする。なお、物体を示す画素の画素値を100とし、背景を示す画素の画素値を0とする。
図11に示すように、本実施例の動き量算出部62cは、まず、差分値算出部621で現フレームの入力画像と前フレームの出力画像との差分値が画素毎に算出される。例えば、第1実施例と同様に35個の画素のそれぞれについて差分値が算出される。そして、得られた差分値は絶対値算出部622に入力され、絶対値が算出される。
フィルタ係数算出部624c1は、現フレームの入力画像に基づいてフィルタ係数を算出する。具体的には、まず、注目画素の画素値と略等しい画素値(例えば、注目画素の画素値との差が所定の範囲内となる画素値)を有する画素を検出する。そして、フィルタ部623cが動き量を算出する際に、当該検出された画素の画素値の重みが大きくなるようにフィルタ係数を設定する。なお、以下の説明においても、第1実施例と同様に、当該検出された画素に乗算されるフィルタ係数を1とし、それ以外の画素に乗算されるフィルタ係数を0とする。また、乗算後の各値を合算して得られた値を除算する除数は、設定されるフィルタ係数を合算した値(即ち、本例ではフィルタ係数=1が乗算される画素の数)とする。なお、フィルタ係数算出部624c1は、第1実施例のフィルタ係数算出部624aと同様の動作を行う。
また、フィルタ係数算出部624c2は、前フレームの出力画像に基づいて、フィルタ係数を算出する。なお、算出方法自体は、フィルタ係数算出部624c1と同様のものとなる。即ち、注目画素の画素値と略等しい画素値を有する画素を検出し、フィルタ部623cが動き量を算出する際に当該検出された画素の重みが大きくなるようなフィルタ係数を算出する。また、乗算後の各値を合算して得られた値を除算する除数は、設定されるフィルタ係数を合算した値(即ち、本例ではフィルタ係数=1が乗算される画素の数)である。なお、フィルタ係数算出部624c2は、第2実施例のフィルタ係数算出部624bと同様の動作を行う。
フィルタ部623cは、フィルタ係数算出部624c1から入力されるフィルタ係数と、フィルタ係数算出部624c2から入力されるフィルタ係数と、から一方を選択する。具体的には、除数(フィルタ係数=1が乗算される画素の数)が、所定の値jに近い方のフィルタ係数を選択する。なお、所定の値jは、フィルタ部623cに入力される差分値の絶対値の数の半分(即ち、35の半分≒18)程度の大きさとすると、好ましい。
所定の値jを18とする場合について以下説明する。図12(a)に示す場合、フィルタ係数算出部624c1から出力されるフィルタ係数における、フィルタ係数=1が乗算される画素の数は20となる(図7(a)参照)。一方、フィルタ係数算出部624c2から出力されるフィルタ係数における、フィルタ係数=1が乗算される画素の数は30となる(図9(a)参照)。そのため、図12(a)に示す場合では、フィルタ係数算出部624c1から出力されるフィルタ係数が選択されることとなる。
また、図12(b)に示す場合、フィルタ係数算出部624c2から出力されるフィルタ係数における、フィルタ係数=1が乗算される画素の数は20となる(図7(b)参照)。一方、フィルタ係数算出部624c2から出力されるフィルタ係数における、フィルタ係数=1が乗算される画素の数は25となる(図9(b)参照)。そのため、図12(b)に示す場合では、フィルタ係数算出部624c1から出力されるフィルタ係数が選択されることとなる。
以上のようにフィルタ部623cでフィルタ係数が選択され、動き量が算出される。具体的に例えば、図12(a)に示すように算出される。図12(a)に示す例では、現フレームの入力画像の注目画素の画素値が100、画素値が100となる画素は水平方向の左方から4列分の20個である。これら20個の画素の差分値の絶対値のそれぞれに対してフィルタ係数=1が乗算され、乗算後の各値を合算して得られた値が、除数=20で除算される。そして、(0×20)/20=0が動き量となる。
図12(b)に示す例では、現フレームの入力画像の注目画素の画素値が100、画素値が100となる画素は水平方向の左方から4列分の20個となる。これら20個の画素の差分値の絶対値のそれぞれに対して、フィルタ係数=1が乗算され、乗算後の各値を合算して得られた値が、除数=20で除算される。そして、(0×10+100×10)/20=50が動き量となる。
本実施例の動き量算出部62cは、現フレームの入力画像または前フレームの出力画像の注目画素と画素値が略等しい画素の重みを大きくして動き量を算出する。そのため、第1実施例の動き量算出部62aと同様に、注目画素の変動に対応する動き量をより精度良く算出することが可能となる。したがって、効果的にノイズを低減したり、尾引きや残像の発生を抑制したりすることが可能となる。
さらに、フィルタ係数の重みを大きくする画素の数を、適切な値(所定の値j)に近づけることが可能となる。例えば、フィルタ係数=1を乗算する画素の数を多くすると、多数の画素の画素値の影響を受けた動き量が算出される。そのため、注目画素における動きの大小の判定が困難となる。反対に、フィルタ係数=1を乗算する画素の数を少なくすると、ノイズによる画素値の変動が動き量に強く反映され得るため、動き量が不適切な値になる可能性が高くなる。したがって、本実施例の動き量算出部62cのようにフィルタ係数を選択可能なものとすることで、最適なフィルタ係数を用いてさらに正確な動き量を算出することが可能となる。
なお、第1〜第3実施例の動き量算出部62a〜62cについて、注目画素の画素値と略等しい画素値の画素に乗算されるフィルタ係数を1、それ以外の画素に乗算されるフィルタ係数を0としたが、注目画素の画素値と略等しい画素値の画素の重みが大きいものであれば、この値に限られない。例えば、注目画素の画素値と略等しい画素値の画素に乗算されるフィルタ係数をv、その他の画素に乗算されるフィルタ係数をmとしても構わない(ただし、v>mとする)。
また、選択され得るフィルタ係数の値を、2値以上としても構わない。特に、注目画素の画素値との差が大きい画素に乗算されるフィルタ係数ほど、小さい値になるように設定しても構わない。
また例えば、下記式(2)に示すように動き量Mを算出しても構わない。なお、下記式(2)は一般式であり、フィルタ係数を0または1の2値とする上述の場合にも適用され得る。また、下記式(2)において、fkはk番目の画素の画素値に乗算するフィルタ係数、pckは現フレームの入力画像におけるk番目の画素の画素値、ppkは前フレームの出力画像におけるk番目の画素の画素値である。また、0〜N番目までのN+1個(上記例では35個)の画素の画素値に基づいて動き量Mを算出する場合について示したものである。
また、ノイズ低減処理部60に入力される入力画像がR、G及びBの3種類の画素値を備えるものである場合、それぞれの種類毎(即ち、1種類毎)にノイズ低減処理を施すこととしても構わない。また、RAWデータ(色同時化前のデータ、1つの画素に1色の画素値を有するデータ)に対してノイズ低減処理を施しても構わない。
また、入力画像がY、U及びVの3種類の画素値を備えるものである場合でも同様に、それぞれの種類毎にノイズ低減処理を施すこととしても構わない。さらに、入力画像がRGB、YUV以外の種類の画素値を備える場合についても、同様に処理しても構わない。
また、動き量算出部62a〜62cが、入力画像の輝度(例えば、画素値Yや、RGBの画素値から算出されるYに相当する値)に基づいて、動き量を算出することとしても構わない。また、処理されるそれぞれの画素値(RGBやYUVのそれぞれ)に基づいて動き量を算出することとしても構わない。
また、ノイズ低減処理部60に入力されて処理される画像を、現フレームの入力画像と前フレームの出力画像としたが、撮像タイミングが異なる画像であれば、他の画像であっても構わない。例えば、現フレームの入力画像と前フレームの入力画像としても構わないし、連続的に撮像されて得られた画像でなくても構わない。
<<変形例>>
<フィルタ部の構成例>
次に、上記のフィルタ部623,623cの構成例について図面を参照して説明する。図13は、フィルタ部の構成例について示すブロック図である。なお、以下では、フィルタ部に入力される現フレームの入力画像の画素と前フレームの出力画像の画素との差分値の絶対値を、差分値絶対値と呼ぶこととする。
図13は、フィルタ部の一部を示したものとなり得る。特に、図13は、水平方向に整列する1行分の画素の差分値絶対値を平滑化処理する構成について示したものである。そのため、複数行にわたって整列する画素の差分値絶対値に対して平滑化処理を施す構成とする場合は、図13はフィルタ部の一部を示したものとなる。なお、以下ではフィルタ部が、注目画素と注目画素を中心とした周囲画素とを併せた35個(垂直方向に5行、水平方向に7列)の画素の差分値絶対値に対して平滑化処理を施す構成である場合について説明する。
フィルタ部(一部)は、順次入力される差分値絶対値z0〜z6を一時的に記憶するとともに新たな差分値絶対値が入力される際に後段に出力する遅延部d1〜d6と、差分値絶対値z0〜z6にフィルタ係数f0〜f6を乗算する乗算部m0〜m6と、乗算された値を合算する加算部a1〜a6と、合算された値を除数で除算する除算部divと、を備える。
遅延部d1〜d6は直列的に接続される構成となる。遅延部d1に入力される差分値絶対値z0は、乗算部m0にも入力される。遅延部d1〜d5のそれぞれに記憶されたそれぞれの差分値絶対値z1〜z5は、遅延部d1〜d5のそれぞれから出力されて遅延部d2〜d6のそれぞれに入力されるとともに、乗算部m1〜m5のそれぞれにも入力される。また、遅延部d6に記憶された差分値絶対値z6は、遅延部d6から出力されて乗算部m6に入力される。なお、差分値絶対値z0〜z6は、水平方向に整列する画素から得られるものである。
乗算部m0〜m6は、それぞれ入力される差分値絶対値z0〜z6に、フィルタ係数f0〜f6を乗算する。そして、乗算後の値は加算部a1〜a6に入力されて合算され、除算部divに入力される。除算部divでは、所定の除数で合算後の値が除算され、水平方向に一列に整列した画素(7個分)の動き量が算出される。
なお、上記のような35個の画素の差分値絶対値に基づいて動き量を求める場合は、5行分の画素の差分値絶対値に対して同様の方法を用いることで動き量を算出する。例えば、35個の画素の差分値絶対値のそれぞれにフィルタ係数を乗算した値を加算部によって全て合算し、合算されて得られる値を除数(5行分=35個分のフィルタ係数の合算値)で除算することで動き量を得る。
<フィルタ係数算出部の第1構成例>
上記のフィルタ係数算出部624a,624b,624c1,624c2の第1構成例について図面を参照して説明する。図14は、フィルタ係数算出部の第1構成例を示すブロック図である。また、本構成例のフィルタ係数算出部は、ε−フィルタの考え方を利用した構成である。
図14は、フィルタ係数算出部の一部を示したものとなり得る。図14は、水平方向に整列する1行分の画素(注目画素を含む)の画素値に乗算するフィルタ係数を算出する構成について示したものである。そのため、複数行にわたって整列する画素に乗算するフィルタ係数を算出する構成とする場合は、図14はフィルタ係数算出部の一部を示したものとなる。以下ではフィルタ係数算出部が、注目画素と注目画素を中心とした周囲画素とを併せた35個(垂直方向に5行、水平方向に7列)の画素に乗算するフィルタ係数を算出する構成である場合について説明する。
図14に示すように、フィルタ係数算出部(一部)は、順次入力される画素値p0〜p6を一時的に記憶するとともに新たな画素値が入力される際に後段に出力する遅延部e1〜e6と、入力される画素値p0〜p6と注目画素の画素値p3との差分値を求める減算部s0〜s6と、減算部s0〜s6から出力される差分値と所定の値とを比較するとともに比較結果に基づいてフィルタ係数を出力する比較部c0〜c6と、比較部の出力を合算する加算部b1〜b6と、を備える。
遅延部e1〜e6は直列的に接続される構成となる。遅延部e1に入力される画素値p0は、減算部s0にも入力される。遅延部e1〜e5のそれぞれに記憶されたそれぞれの画素値p1〜p5は、遅延部e1〜e5のそれぞれから出力されて遅延部e2〜e6のそれぞれに入力されるとともに、減算部s1〜s5のそれぞれにも入力される。また、遅延部e6に記憶された画素値p6は、遅延部e6から出力されて減算部s6に入力される。なお、画素値p0〜p6は、水平方向に一列に整列する画素の画素値である。また、画素値p3が注目画素の画素値となる。
減算部s0〜s6は、それぞれ入力される画素値p0〜p6と、注目画素の画素値p3との差分値を算出する。例えば、画素値p0〜p6のそれぞれから注目画素の画素値p3を減算することで差分値を算出する。得られた差分値は比較部c0〜c6のそれぞれに入力され、閾値Tと比較される。特に、差分値の絶対値が、閾値T以下か否かが判定される。
ここで、上述したように、フィルタ係数として1または0の値が算出される構成とすると、下記式(3)に示すようになる。下記式(3)中、pkは任意の画素の画素値、pcは注目画素の画素値である。下記式(3)に示すように、閾値T以下と判定される比較部c0〜c6からは、フィルタ係数=1が出力される。一方、閾値Tより大きいと判定される比較部c0〜c6からは、フィルタ係数=0が出力される。
また、比較部c0〜c6から出力される各値は、加算部b1〜b6に入力されて合算される。合算されて得られる値は、水平方向に整列した画素(7個分)の除数となる。上記のような35個の画素に対してフィルタ係数が算出される場合、例えば、同様にして求められる5行分の除数を合算して得られる値が、フィルタ係数算出部から出力される除数となる。
本構成例のように、ε−フィルタの考え方を利用してフィルタ係数を算出するとともに、動き量を算出することとすると、簡易な構成を用いて精度良く動き量を算出することが可能となる。
なお、図15に、水平方向に整列する画素(注目画素を含まない)の画素値に乗算するフィルタ係数を算出する構成について示す。図15に示す構成は図14に示す構成と略等しいものとなる。具体的には、図15の遅延部e11〜e16、減算部s10〜s16、比較部c10〜c16、加算部b11〜b16は、図14の遅延部e1〜e6、減算部s0〜s6、比較部c0〜c6、加算部b1〜b6のそれぞれに相当する。ただし、注目画素の画素値p3が外部から入力され、それぞれの減算部s10〜s16に入力される点において、図15に示す構成は図14に示す構成と異なる。
また、上述したように、フィルタ係数を0以上1以下の値とし、注目画素の画素値との差が大きい画素値の画素に乗算されるものほど小さい値となるように設定する場合の、比較部の出力例を、図16に示す。図16は、比較部の出力例を示すグラフである。
図16に示す例では、ある画素の画素値pkと注目画素の画素値pcとの差分値の絶対値が、閾値T以下である場合のフィルタ係数が1で一定となる。また、ある画素の画素値pkと注目画素の画素値pcとの差分値の絶対値が、閾値Tより大きくなるにつれて減少し、0に近づく。なお、図16では線形に減少する場合について示しているが、非線形に減少することとしても構わない。
このように構成すると、動き量を精密に算出することが可能となる。そのため、さらに正確な動き量を算出することが可能となる。
<フィルタ係数算出部の第2構成例>
次に、上記のフィルタ係数算出部624a,624b,624c1,624c2の第2構成例について図面を参照して説明する。図17は、フィルタ係数算出部の第2構成例を示すブロック図であり、第1構成例について示した図14に相当するものである。また、第1構成例と同様となる部分については同じ符号を付し、詳細な説明については省略する。
図17は、フィルタ係数算出部の一部を示したものとなり得る。図17は、水平方向に整列する1行分の画素(注目画素を含む)の画素値に乗算するフィルタ係数を算出する構成について示したものである。そのため、複数行にわたって整列する画素に乗算するフィルタ係数を算出する構成とする場合は、図17はフィルタ係数算出部の一部を示したものとなる。以下ではフィルタ係数算出部が、注目画素と注目画素を中心とした周囲画素とを併せた35個(垂直方向に5行、水平方向に7列)の画素に乗算するフィルタ係数を算出する構成である場合について説明する。
図17に示すように、フィルタ係数算出部(一部)は、遅延部e1〜e6と、減算部s0〜s6と、比較部c0〜c6と、加算部b1〜b6と、注目画素の画素値p3とその近傍画素の画素値p2,p4とを平滑化する平滑化部SMと、を備える。また、平滑化部SMは、注目画素の画素値p3とその近傍の画素の画素値p2,p4とを合算する加算部g0,g1と、加算部g0,g1で合算された値を加算した画素数で除算する除算部hと、を備える。
第1構成例と同様に、遅延部e1〜e6は直列的に接続される。また、遅延部e1に入力される画素値p0は減算部s0にも入力され、遅延部e1〜e5のそれぞれに記憶されたそれぞれの画素値p1〜p5は遅延部e2〜e6のそれぞれに入力されるとともに減算部s1〜s5のそれぞれにも入力され、遅延部e6に記憶された画素値p6は減算部s6に入力される。ただし、注目画素の画素値p3とその近傍画素の画素値p2,p4は、遅延部e2と遅延部e1,e3とからそれぞれ出力され、平滑化部SMに入力される。
平滑化部SMでは、まず、加算部g0,g1によって入力される画素値p2〜p4を合算する。そして、合算して得られた値を除算部hで除算する。本例では、3つの画素値p2〜p4を平滑化するため3で除算し、平滑化後の画素値paを得る。なお、図17では説明の具体化のために、平滑化する画素値の数を3としているが、他の数であっても構わない。
減算部s0〜s6は、それぞれ入力される画素値p0〜p6と、画素値paとの差分値を算出する。例えば、画素値p0〜p6のそれぞれから画素値paを減算することで差分値を算出する。減算後のそれぞれの値は比較部c0〜c6のそれぞれに入力され、閾値Tと比較される。特に、差分値の絶対値が、閾値T以下か否かが判定される。
比較部c0〜c6は、第1構成例と同様の動作を行う。例えば、フィルタ係数として1または0の値が算出される構成である場合、上記式(3)に示すように判定される(ただし、式(3)中の注目画素の画素値pcを、平滑化後の画素値paに変更する)。そして、比較部c0〜c6からフィルタ係数f0〜f6がそれぞれ出力される。
また、比較部c0〜c6から出力される各値は、加算部b1〜b6に入力されて合算される。合算されて得られる値は、水平方向に整列した画素(7個分)の除数となる。上記のような35個の画素に対してフィルタ係数が算出される場合、例えば、同様にして求められる5行分の除数を合算して得られる値が、フィルタ係数算出部から出力される除数となる。さらにこの場合、平滑化後の画素値paを算出するために、複数の行の画素の画素値を用いることとしても構成としても構わない。
本構成例では、注目画素の画素値だけでなくその周辺の画素の画素値をも用いて画素値paを求め、画素値paと各画素値との差分値に応じたフィルタ係数を算出することとしている。そのため、ノイズなどの影響で注目画素の画素値が異常な値となったとしても、精度よく動き量を求めることが可能となる。したがって、効果的にノイズを低減したり、尾引きや残像の発生を抑制したりすることが可能となる。
なお、本構成例においても、フィルタ係数を0以上1以下の値とし、注目画素の画素値との差が大きい画素値の画素に乗算されるものほど小さい値となるように設定しても構わない。即ち、比較部c0〜c6が、例えば図16に示したようなフィルタ係数を出力することとしても構わない。
<フィルタ係数算出部の第3構成例>
次に、上記のフィルタ係数算出部624a,624b,624c1,624c2の第3構成例について図面を参照して説明する。図18は、フィルタ係数算出部の第3構成例を示すブロック図であり、第1構成例について示した図14に相当するものである。また、第1構成例と同様となる部分については同じ符号を付し、詳細な説明については省略する。また、本構成例のフィルタ係数算出部は、バイラテラルフィルタの考え方を利用した構成となる。
図18は、フィルタ係数算出部の一部を示したものとなり得る。特に、図18は、水平方向に整列する1行分の画素(注目画素を含む)の画素値に乗算するフィルタ係数を算出する構成について示したものである。そのため、複数行にわたって整列する画素に乗算するフィルタ係数を算出する構成とする場合は、図18はフィルタ係数算出部の一部を示したものとなる。以下ではフィルタ係数算出部が、注目画素と注目画素を中心とした周囲画素とを併せた35個(垂直方向に5行、水平方向に7列)の画素に乗算するフィルタ係数を算出する構成である場合について説明する。
図18に示すように、フィルタ係数算出部(一部)は、遅延部e1〜e6と、減算部s0〜s6と、減算部s0〜s6から出力される差分値と調整用係数σrとを用いてフィルタ係数を算出する演算部q0〜q6と、演算部q0〜q6の出力を合算する加算部b1〜b6と、を備える。
第1構成例と同様に、遅延部e1〜e6は直列的に接続される。また、遅延部e1に入力される画素値p0は減算部s0にも入力され、遅延部e1〜e5のそれぞれに記憶されたそれぞれの画素値p1〜p5は遅延部e2〜e6のそれぞれに入力されるとともに減算部s1〜s5のそれぞれにも入力され、遅延部e6に記憶された画素値p6は減算部s6に入力される。また、注目画素の画素値はp3となる。
減算部s0〜s6は、それぞれ入力される画素値p0〜p6と、注目画素の画素値p3との差分値を算出する。例えば、画素値p0〜p6のそれぞれから注目画素の画素値p3を減算することで差分値を算出する。得られた差分値は演算部q0〜q6のそれぞれに入力される。また、演算部q0〜q6には、演算に必要な調整用係数σrが入力される。
演算部q0〜q6の動作について図面を参照して説明する。図19は、演算部の動作を説明する模式図である。なお、以下では説明の簡略化のため、画素値の符号を振り直すこととする。特に、注目画素の画素値p3を画素値P18とするとともに、画素値p0〜p6をP15〜P21とする。また、注目画素が含まれないそれぞれの行の画素を、上方から、P1〜P7、P8〜P14、P22〜P28、P29〜P35とする。
図19(a)は、それぞれの演算部に入力される画素値P1〜P35を示すものである。なお、上述の演算部q0〜q6のそれぞれには、画素値P15〜P21が入力される。また、図19(b)は、画素値P1〜P35のそれぞれに対応するドメインフィルタ係数D1〜D35を示すものである。また、図19(c)は、画素値P1〜P35のそれぞれに対応するレンジフィルタ係数R1〜R35を示すものである。
ドメインフィルタ係数Diは、注目画素の位置と演算部に入力される画素の位置とに基づいて設定される重みである。そのため、それぞれの演算部ごとに決まった値となる。このドメインフィルタ係数Diは、下記式(4)に示すように設定される。下記式(4)において、xi及びyiは演算部に入力される画素値を有する画素の位置を示し、x18及びy18は注目画素の位置を示す。また、σdはドメインフィルタ係数Diの値を調整するための係数である。なお、このドメインフィルタ係数Diを、それぞれの演算部に記録させる構成としても構わない。
レンジフィルタ係数Riは、注目画素の画素値と演算部に入力される画素の画素値との差分値に基づいて設定される重みである。このレンジフィルタ係数Riは、下記式(5)に示すように設定される。下記式(5)において、Piは演算部に入力される画素値であり、P18は注目画素の画素値である。また、σrはレンジフィルタ係数Riの値を調整するための係数である。
演算部では、ドメインフィルタ係数Diとレンジフィルタ係数Riとを乗算した値、即ち、Di×Riが出力される。そして、この出力される値がフィルタ係数となる。特に、演算部q0〜q6からはフィルタ係数f0〜f6(D15×R15〜D21×R21)が出力される。
また、演算部q0〜q6から出力されるフィルタ係数f0〜f6は、加算部b1〜b6に入力されて合算され、水平方向に整列した画素(7個分)の除数としてフィルタ部に入力される。上記のような35個の画素に対してフィルタ係数が算出される場合、例えば、同様にして求められる5行分の除数を合算して得られる値が、フィルタ係数算出部から出力される除数となる。なお、注目画素が含まれない行の画素が入力される場合、図15と同様に、注目画素の画素値p3が他から入力される構成としても構わない。
また、本構成例の場合、動き量算出部全体から出力される動き量Mは、下記式(6)に示すものとなる。なお、下記式(6)において、Pciは現フレームの入力画像におけるi番目の画素の画素値、Ppiは前フレームの出力画像におけるi番目の画素の画素値である。
本構成例のように、バイラテラルフィルタの考え方を利用してフィルタ係数を算出するとともに、動き量を算出することとすると、さらに精度良く動き量を算出することが可能となる。
なお、本構成例においても、第2構成例と同様に、注目画素の画素値p3を用いる代わりに、平滑化を行った画素値paを用いることとしても構わない。
<その他の構成例>
第1〜第3の構成例について、除数が小さければ小さいほど、出力される動き量が抑制される構成としても構わない。例えば、第1構成例について、除数が1(フィルタ係数=1となる画素の数が1)であれば、算出された動き量を16分の1に小さくして出力しても構わない。同様に、除数が2であれば動き量を8分の1に小さくし、除数が3であれば動き量を4分の1に小さくし、除数が4であれば動き量を2分の1に小さくし、除数が5以上であれば算出された動き量をそのまま出力することとしても構わない。
除数が小さい場合とは、注目画素の画素値などに近い画素値を有する画素が僅かな領域にのみ存在することを示すこととなる。即ち、その画素の画素値はノイズの影響を受けている可能性が高い。しかしながら、除数が小さいと、この画素の画素値の影響が大きくなるため、動き量が大きくなる。そして、静止している状態と判断されずに除去値が小さくなり、ノイズが十分に低減されなくなる。
本構成例の構成とすることによって、除数が小さく動き量が大きい場合が生じることを抑制することが可能となる。そして、発生したノイズを効果的に低減することが可能となる。
また、上述した動き量の算出やノイズ低減処理は、例えば、動画の撮像時や再生時、静止画の撮像時に利用することが可能である。ただし、静止画の撮像時に利用する場合、撮像時に複数フレームの画像を取得することとする。
また、本発明の実施形態における撮像装置1について、画像処理部6やノイズ低減処理部60、動き量算出部62,62a〜62cなどのそれぞれの動作を、マイコンなどの制御装置が行うこととしても構わない。さらに、このような制御装置によって実現される機能の全部または一部をプログラムとして記述し、該プログラムをプログラム実行装置(例えばコンピュータ)上で実行することによって、その機能の全部または一部を実現するようにしても構わない。
また、上述した場合に限らず、図1の撮像装置1及びノイズ低減処理部60、図2の動き量算出部62、図6の動き量算出部62a、図8の動き量算出部62b、図11の動き量算出部62c、図13のフィルタ部、図14,図15,図17及び図18のフィルタ係数算出部は、ハードウェア、或いは、ハードウェアとソフトウェアの組み合わせによって実現可能である。また、ソフトウェアを用いて撮像装置1や動き量算出部62,62a〜62c、フィルタ部、フィルタ係数算出部を構成する場合、ソフトウェアによって実現される部位についてのブロック図は、その部位の機能ブロック図を表すこととする。
以上、本発明の実施形態についてそれぞれ説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実行することができるものである。