(57)【要約】【課題】簡単な構成かつ低コストで、動体に与える影響を軽減して、画像の揺らぎを補正できるようにする。【解決手段】補正部１１１は、入力された画像データの画像の揺らぎを補正するために、画像データに対して、１つの係数と1フレーム前の画像データとで規定される伝達関数を適用する演算を行う。フレームメモリ１１２は、補正部１１１により補正された画像データを１フレーム遅延して、補正部１１１に1フレーム前の画像データとしてフィードバックする。抽出部２１１は、入力された画像データと1フレーム前の画像データとに基づいて、画像中の動きのある画素を抽出する。識別部４１１は、動きのある画素のうちの動体の画素を揺らぎの画素から識別する。係数制御部１１４は、識別部４１１による識別結果に応じて係数を制御する。本発明は監視カメラにより撮像された画像を処理する画像処理装置に適用することができる。【選択図】図８
2011229030.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データの画像の揺らぎを補正するために、前記画像データに対して、１つの係数と1フレーム前の前記画像データとで規定される伝達関数を適用する演算を行う補正手段と、
前記補正手段により補正された前記画像データを１フレーム遅延して、前記補正手段に1フレーム前の前記画像データとしてフィードバックする遅延手段と、
入力された前記画像データと1フレーム前の前記画像データとに基づいて、前記画像中の動きのある画素を抽出する抽出手段と、
前記動きのある画素のうちの動体の画素を揺らぎの画素から識別する識別手段と、
前記識別手段による識別結果に応じて前記係数を制御する制御手段と
を備える画像処理装置。
【請求項２】
前記識別手段は、入力された前記画像データの対象画素に対応する1フレーム前の前記画像データの画素の周囲を探索して前記動体の画素を識別する
請求項１に記載の画像処理装置。
【請求項３】
前記抽出手段は、入力された前記画像データと１フレーム前の前記画像データとの差分から前記動きのある画素を抽出する
請求項２に記載の画像処理装置。
【請求項４】
入力された前記画像データのうち、所定の期間、動きのある画素を揺らぎ候補として作成する揺らぎ候補作成手段と、
前記揺らぎ候補を記憶する記憶手段と
をさらに備え、
前記抽出手段は、入力された前記画像データの対象画素と前記揺らぎ候補との差分が大きいとき、前記対象画素を動きのある画素と判断する
請求項３に記載の画像処理装置。
【請求項５】
前記係数制御手段は、前記静止物と判断された場合、前記係数を段階的に変更する
請求項４に記載の画像処理装置。
【請求項６】
入力された画像データの画像の揺らぎを補正するために、前記画像データに対して、１つの係数と1フレーム前の前記画像データとで規定される伝達関数を適用する演算を行う補正ステップと、
前記補正ステップの処理により補正された前記画像データを１フレーム遅延して、前記補正ステップの処理のために1フレーム前の前記画像データとしてフィードバックする遅延ステップと、
入力された前記画像データと1フレーム前の前記画像データとに基づいて、前記画像中の動きのある画素を抽出する抽出ステップと、
前記動きのある画素のうちの動体の画素を揺らぎの画素から識別する識別ステップと、
前記識別ステップの処理による識別結果に応じて前記係数を制御する制御ステップと
を含む画像処理方法。
【請求項７】
入力された画像データの画像の揺らぎを補正するために、前記画像データに対して、１つの係数と1フレーム前の前記画像データとで規定される伝達関数を適用する演算を行う補正ステップと、
前記補正ステップの処理により補正された前記画像データを１フレーム遅延して、前記補正ステップの処理のために1フレーム前の前記画像データとしてフィードバックする遅延ステップと、
入力された前記画像データと1フレーム前の前記画像データとに基づいて、前記画像中の動きのある画素を抽出する抽出ステップと、
前記動きのある画素のうちの動体の画素を揺らぎの画素から識別する識別ステップと、
前記識別ステップの処理による識別結果に応じて前記係数を制御する制御ステップと
をコンピュータに実行させるプログラムが記録された記録媒体。
【請求項８】
入力された画像データの画像の揺らぎを補正するために、前記画像データに対して、１つの係数と1フレーム前の前記画像データとで規定される伝達関数を適用する演算を行う補正ステップと、
前記補正ステップの処理により補正された前記画像データを１フレーム遅延して、前記補正ステップの処理のために1フレーム前の前記画像データとしてフィードバックする遅延ステップと、
入力された前記画像データと1フレーム前の前記画像データとに基づいて、前記画像中の動きのある画素を抽出する抽出ステップと、
前記動きのある画素のうちの動体の画素を揺らぎの画素から識別する識別ステップと、
前記識別ステップの処理による識別結果に応じて前記係数を制御する制御ステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および方法、記録媒体、並びにプログラムに関し、特に簡単な構成かつ低コストで、動体に与える影響を軽減して、画像の揺らぎを補正するようにした画像処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
監視カメラにより所定の空間を撮像して監視する監視システムが知られている。撮像対象の空間に空気の揺らぎが存在する場合、撮像画像が揺らぐことがある。これは、大気中の温度差により空気の密度に粗密が生じ、屈折率がランダムに変動し、光の位相が乱されることにより引き起こされる現象である。この揺らぎをそのままにしておくと、異常が誤検知されるおそれがある。そこで画像の揺らぎを補正することが望ましい。
【０００３】
画像の揺らぎを補正するのにアベレージフィルタを用いたり、例えば、特許文献１に開示されているようにメディアンフィルタを用いることが知られている。
【０００４】
図１はアベレージフィルタの構成例を示すブロック図である。このアベレージフィルタ１は、平均値演算器１１とｎ個の遅延回路１２−１乃至１２−ｎにより構成されている。遅延回路１２-１乃至１２−ｎは、入力された画像データを１フレームだけ遅延して、後段に出力するとともに、平均値演算器１１に出力する。記号Ｚｆ−１ｉは、ｉ（＝１，２，・・・，ｎ）番目の遅延回路１２−ｉの出力を表している。平均値演算器１１は、入力された画像データと、遅延回路１２−１乃至１２−ｎから出力された画像データの平均値を次式に従って演算し、出力する。これにより揺らぎを補正することができる。
【０００５】
【数１】
2011229030.tif 000003
【０００６】
図２は、メディアンフィルタの構成例を示すブロック図である。このメディアンフィルタ５１は、中間値演算器６１とｎ個の遅延回路６２−１乃至６２−ｎにより構成されている。遅延回路６２-１乃至６２−ｎは、入力された画像データを１フレームだけ遅延して、後段に出力するとともに、中間値演算器６１に出力する。中間値演算器６１は、入力された画像データと、遅延回路６２−１乃至６２−ｎから出力された画像データの中間値を次式に従って演算し、出力する。すなわち、入力された画像データと、遅延回路６２−１乃至６２−ｎのｎ個の出力の中から中間の値が１つ選択され、出力される。これにより揺らぎを補正することができる。
【０００７】
【数２】
2011229030.tif 000004
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１６０７３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、アベレージフィルタやメディアンフィルタにより揺らぎを補正する場合、強い揺らぎ補正効果を得るには、メモリの使用量を多くする必要があり、構成が複雑になるばかりでなく、コスト高となる。また記憶するフレーム数も多くなるので、画像データを蓄積するための待ち時間が長くなる。さらに補正量をダイナミックに可変にする場合、メモリの周辺回路も大きくなる。
【００１０】
また、メディアンフィルタの場合、中央値を探索するので、フレーム数が多くなると、計算コストが高くなる。
【００１１】
さらに、揺らぎを補正する処理が、撮像画像中の揺らぎだけでなく、動体にもかかってしまい、動体のテクスチャが失われてしまうことがあった。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、簡単な構成かつ低コストで、動体に与える影響を軽減して、画像の揺らぎを補正することができるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の一側面は、入力された画像データの画像の揺らぎを補正するために、前記画像データに対して、１つの係数と1フレーム前の前記画像データとで規定される伝達関数を適用する演算を行う補正手段と、前記補正手段により補正された前記画像データを１フレーム遅延して、前記補正手段に1フレーム前の前記画像データとしてフィードバックする遅延手段と、入力された前記画像データと1フレーム前の前記画像データとに基づいて、前記画像中の動きのある画素を抽出する抽出手段と、前記動きのある画素のうちの動体の画素を揺らぎの画素から識別する識別手段と、前記識別手段による識別結果に応じて前記係数を制御する制御手段とを備える画像処理装置である。
【００１４】
前記識別手段は、入力された前記画像データの対象画素に対応する1フレーム前の前記画像データの画素の周囲を探索して前記動体の画素を識別することができる。
【００１５】
前記抽出手段は、入力された前記画像データと１フレーム前の前記画像データとの差分から前記動きのある画素を抽出することができる。
【００１６】
入力された前記画像データのうち、所定の期間、動きのある画素を揺らぎ候補として作成する揺らぎ候補作成手段と、前記揺らぎ候補を記憶する記憶手段とをさらに備え、前記抽出手段は、入力された前記画像データの対象画素と前記揺らぎ候補との差分が大きいとき、前記対象画素を動きのある画素と判断することができる。
【００１７】
前記係数制御手段は、前記静止物と判断された場合、前記係数を段階的に変更することができる。
【００１８】
本発明の一側面の画像処理方法、記録媒体およびプログラムは、上述した本発明の一側面の画像処理装置に対応する方法、記録媒体およびプログラムである。
【００１９】
本発明の側面においては、入力された画像データの画像の揺らぎを補正するために、画像データに対して、１つの係数と1フレーム前の画像データとで規定される伝達関数を適用する演算が行われ、補正された画像データを１フレーム遅延して、1フレーム前の画像データとしてフィードバックされる。入力された画像データと1フレーム前の画像データとに基づいて、画像中の動きのある画素が抽出され、動きのある画素のうちの動体の画素が揺らぎの画素から識別され、識別結果に応じて係数が制御される。
【発明の効果】
【００２０】
以上のように、本発明の側面によれば、簡単な構成かつ低コストで、動体に与える影響を軽減して、画像の揺らぎを補正することができる。
【図面の簡単な説明】
【００２１】
【図１】アベレージフィルタの構成例を示すブロック図である。
【図２】メディアンフィルタの構成例を示すブロック図である。
【図３】画像処理装置の基本的構成を示すブロック図である。
【図４】補正部の構成を示すブロック図である。
【図５】画像処理装置の基本的構成を示すブロック図である。
【図６】画像処理装置の基本的構成を示すブロック図である。
【図７】画像処理装置の基本的構成を示すブロック図である。
【図８】画像処理装置の基本的構成を示すブロック図である。
【図９】画像処理を説明するフローチャートである。
【図１０】抽出処理を説明するフローチャートである。
【図１１】識別処理を説明するフローチャートである。
【図１２】探索範囲を説明する図である。
【図１３】係数制御処理を説明するフローチャートである。
【図１４】画像処理装置の基本的構成を示すブロック図である。
【図１５】画像処理を説明するフローチャートである。
【図１６】抽出処理を説明するフローチャートである。
【図１７】揺らぎ候補作成処理を説明するフローチャートである。
【図１８】画像処理装置の基本的構成を示すブロック図である。
【図１９】係数制御処理を説明するフローチャートである。
【発明を実施するための形態】
【００２２】
以下、発明を実施するための形態（以下、実施の形態と称する）について説明する。なお、説明は以下の順序で行う。
１．揺らぎ補正の原理的構成（図３乃至図７）
２．第１の実施の形態（図８）
３．第２の実施の形態（図１４）
４．第３の実施の形態（図１８）
【００２３】
＜揺らぎ補正の原理的構成＞
［揺らぎ補正の原理的構成１］
【００２４】
図３は、画像処理装置１０１の基本的構成を示すブロック図である。この画像処理装置１０１は、補正部１１１、フレームメモリ１１２、アドレス生成部１１３、および係数制御部１１４で構成されている。
【００２５】
補正部１１１には、図示せぬ監視カメラなどより撮像された撮像画像の画像データが入力される。補正部１１１はこの画像の揺らぎを補正する。揺らぎが補正された画像の画像データは、フレームメモリ１１２に供給され、記憶される。フレームメモリ１１２に記憶された画像データは、次のフレームの処理のタイミングにおいて読み出され、図示せぬ装置に出力されるとともに、補正部１１１にフィードバックされる。
【００２６】
アドレス生成部１１３は、フレームメモリ１１２の書き込み時と読み出し時のアドレスを指定する。
【００２７】
係数制御部１１４は補正部１１１が使用する係数を指定する。
【００２８】
［補正部１１１の構成］
【００２９】
図４は、補正部１１１の構成を示すブロック図である。この補正部１１１は、乗算器１３１，１３５、加算器１３２、減算器１３３、および保持部１３４により構成されている。
【００３０】
入力された画像データは、乗算器１３１に入力される。乗算器１３１は、減算器１３３より入力された係数（１−α）を、入力された画像データに乗算する。加算器１３２は、乗算器１３１の出力と、乗算器１３５により係数αが乗算されたフレームメモリ１１２より読み出された１フレーム前の画像データとを加算する。加算器１３２の出力はフレームメモリ１１２に供給され、記憶される。
【００３１】
フレームメモリ１１２より読み出された画像データは、揺らぎが補正された画像データとして、後段の装置に供給される。
【００３２】
また、フレームメモリ１１２より読み出された画像データは、乗算器１３５に入力され、係数制御部１１４より供給された係数αと乗算され、加算器１３２に供給される。
【００３３】
係数制御部１１４より供給された係数αはまた、減算器１３３に供給され、保持部１３４が保持している値１から減算される。減算器１３３が出力する減算値（１−α）は、乗算器１３１に供給される。
【００３４】
この補正部１１１に入力される画像データをｘ（ｎ）とし、出力される画像データをｙ（ｎ）とすると、次式が成立する。
【００３５】
【数３】
2011229030.tif 000005
【００３６】
式（３）の両辺をｚ変換し、整理すると、次のようになる。
【００３７】
【数４】
2011229030.tif 000006
【００３８】
式（６）から次の伝達関数Ｈ（ｚ）が得られる。
【００３９】
【数５】
2011229030.tif 000007
【００４０】
この伝達関数は、１つの係数αと1フレーム前の画像データｚ−１ｆとで規定される。入力された画像データに対してこの伝達関数を適用する演算を行うことで、入力された画像データの画像の揺らぎを補正した画像データを得ることができる。
【００４１】
この画像処理装置１０１において、補正の強さを可変にするには、係数αの値を可変にすればよい。従って、メモリの使用量を大きくしたり、構成を複雑にする必要がない。
【００４２】
［揺らぎ補正の原理的構成２］
【００４３】
図３に示した画像処理装置１０１では、画像全体に揺らぎを補正する補正処理がかけられる。その結果、画像に含まれる静止物の揺らぎが補正されるだけでなく、動体にも補正処理がかかり、動体に残像が発生することがある。そこで、図５に示されるような構成が考えられる。
【００４４】
図５は、画像処理装置２０１の基本的構成を示すブロック図である。この画像処理装置２０１には、抽出部２１１が設けられている。その他の構成は、図３と図４に示される場合と同様である。
【００４５】
抽出部２１１は、画像中の動きのある画素を抽出する。係数制御部１１４は、抽出部２１１の出力に応じて、動体と、動体でない部分（すなわち静止物）に対して異なる係数αを適用する。動体に対して適用する係数αの値は、静止物に対して適用する係数αより小さい。これにより、動体に揺らぎ補正を加えた場合に発生する残像を抑制することができる。
【００４６】
［揺らぎ補正の原理的構成３］
【００４７】
図６は、画像処理装置３０１の基本的構成を示すブロック図である。動体を検出するにはいくつかの方法が考えられるが、この画像処理装置３０１においては、抽出部２１１が、差分検出部２２１とフレームメモリ２２２により構成されている。
【００４８】
フレームメモリ２２２は、入力された画像データを１フレームだけ遅延して差分検知部２２１に出力する。差分検知部２２１は、入力された画像データと、１フレームだけ遅延された画像データの差分を演算し、その差分を動体として検知する。すなわち、動体は画面内を移動しているので、異なるフレームにおいて異なる位置に存在する。これに対して静止物は異なるフレームにおいても位置は同じである。従って、差分が存在する画素は動体の画素として検知することができる。
【００４９】
［揺らぎ補正の原理的構成４］
【００５０】
図７は、画像処理装置４０１の基本的構成を示すブロック図である。図６の画像処理装置３０１は、フレームメモリ１１２とフレームメモリ２２２という２個のフレームメモリを使用している。そこで、図７の画像処理装置４０１は、図６のフレームメモリ２２２を省略し、フレームメモリ１１２にフレームメモリ２２２の機能を併せ持たせている。従って、差分検知部２２１は、入力された画像データと、フレームメモリ１１２が出力する１フレームだけ遅延された画像データとの差分を演算する。
【００５１】
フレームメモリ２２２に記憶される画像データは揺らぎが補正されていない画像データである。これに対してフレームメモリ１１２に記憶される画像データは揺らぎが補正された画像データである。しかし、差分検知部２２１は、フレームメモリ２２２を用いる場合と同様に動体を検知することができる。
【００５２】
＜第１の実施の形態（図８）＞
［画像処理装置の構成］
【００５３】
図８は、第１の実施の形態の画像処理装置５０１の基本的構成を示すブロック図である。この画像処理装置５０１は、図７の補正部１１１、フレームメモリ１１２、アドレス生成部１１３、係数制御部１１４、および差分検知部２２１を有する他、識別部４１１を有している。
【００５４】
識別部４１１には、入力された画像データと、フレームメモリ１１２から読み出された１フレーム前の画像データの他、抽出部２１１を構成する差分検知部２２１からの検知結果が供給されている。識別部４１１は、識別結果を係数制御部１１４に出力する。その他の構成は、図７の画像処理装置４０１と同様である。すなわち、補正部１１１は、図４に示されるように構成されている。
【００５５】
［画像処理］
【００５６】
図９は、図８の画像処理装置５０１の画像処理を説明するフローチャートである。以下、この図９を参照して図８の画像処理装置５０１の画像処理を説明する。この処理は、各フレーム毎に繰り返し実行される。
【００５７】
ステップＳ１において補正部１１１は、監視カメラからの画像データを入力する。ステップＳ２においてフレームメモリ１１２は、揺らぎが補正された１フレーム前の画像データを出力する。フレームメモリ１１２には、前のフレームの処理で揺らぎが補正された画像データが記憶されており、これが読み出され、出力される。書き込みと読み出しのアドレスは、アドレス生成部１１３により指定される。ステップＳ３において補正部１１１は、フレームメモリ１１２から出力された１フレーム前の画像データを入力する。
【００５８】
ステップＳ４において、抽出部２１１は抽出処理を実行する。この抽出処理の詳細について図１０を参照して説明する。
【００５９】
［抽出処理］
【００６０】
図１０は、抽出処理を説明するフローチャートである。ステップＳ２１において抽出部２１１を構成する差分検知部２２１は、入力と出力の差分を演算する。すなわち、入力された撮像画像の座標（ｘ，ｙ）の画素値Ｉ（ｘ，ｙ）と、出力された画像の座標（ｘ，ｙ）の画素値Ｏ（ｘ，ｙ）の差分が演算される。差分検知部２２１は、入力された画像データと１フレーム前の画像データとの差分から動きのある画素を抽出する抽出手段を構成する。ステップＳ２２において差分検知部２２１は、入力と出力の差分が閾値より大きいかを判定する。すなわち、画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ，ｙ）の差分の絶対値が、閾値Ｔｓと比較される。画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ，ｙ）の差の絶対値が、閾値Ｔｓ以下であるとき、比較結果Ｄｓ（ｘ，ｙ）は０とされ、閾値Ｔｓより大きいとき、１とされる。
【００６１】
画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ，ｙ）の差の絶対値が、閾値Ｔｓより大きいとき、すなわち、比較結果Ｄｓ（ｘ，ｙ）が１であるとき、ステップＳ２３において差分検知部２２１は、入力された座標（ｘ，ｙ）の対象画素を動きのある画素と判断する。そして、検知結果Ｄ（ｘ，ｙ）を１とする。
【００６２】
これに対して、画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ，ｙ）の差の絶対値が、閾値Ｔｓ以下であるとき、すなわち、比較結果Ｄｓ（ｘ，ｙ）が０であるとき、ステップＳ２４において差分検知部２２１は、入力された座標（ｘ，ｙ）の対象画素を静止した画素と判断する。そして、検知結果Ｄ（ｘ，ｙ）を０とする。
【００６３】
検知結果Ｄ（ｘ，ｙ）は、識別部４１１に出力される。
【００６４】
図９に戻って、以上のようにしてステップＳ４で抽出処理が行われた後、ステップＳ５において識別部４１１により識別処理が実行される。識別部４１は、動きのある画素のうちの動体の画素を揺らぎの画素から識別する識別手段として機能する。
【００６５】
［識別処理］
【００６６】
図１１は、識別処理を説明するフローチャートである。以下この図を参照して識別処理を説明する。
【００６７】
ステップＳ５１において識別部４１１は、検知結果Ｄ（ｘ，ｙ）が１であるかを判定する。この検知結果Ｄ（ｘ，ｙ）は、上述した図１０のステップＳ２３，Ｓ２４の処理で、差分検知部２２１により出力されている。検知結果Ｄ（ｘ，ｙ）が１である場合、すなわち対象画素が動きのある画素である場合、ステップＳ５２において識別部４１１は、ｙ座標を表す変数ｊに値−ｚ／２を設定する。さらにステップＳ５３において識別部４１１は、ｘ座標を表す変数ｉに値−ｚ／２を設定する。
【００６８】
ステップＳ５４において識別部４１１は、入力画像の画素値Ｉ（ｘ，ｙ）と出力画像の画素値Ｏ（ｘ＋ｉ，ｙ＋ｊ）の差の絶対値が、閾値Ｔｍより大きいかを判定する。変数ｉ，ｊの値は、ステップＳ５２，Ｓ５３で設定された値である。
【００６９】
この識別処理では、入力画像の座標（ｘ，ｙ）の対象画素に対応する出力画像の座標（ｘ，ｙ）の画素の周囲の画素が探索される。
【００７０】
図１２は、探索範囲を説明する図である。図１２に４角形で示され範囲が出力画像の探索範囲である。いまの場合、ステップＳ５２，Ｓ５３の処理で、ｉ＝−ｚ／２，ｊ＝−ｚ／２に設定されたので、ステップＳ５４では、探索範囲の左下の座標（ｘ−ｚ／２，ｙ−ｚ／２）が設定されたことになる。
【００７１】
ステップＳ５４において、画素値Ｉ（ｘ，ｙ）と出力画像の画素値Ｏ（ｘ＋ｉ，ｙ＋ｊ）の差の絶対値が、閾値Ｔｍより大きいと判定された場合、処理はステップＳ５５に進む。ステップＳ５５において識別部４１１は、変数ｉを１だけインクリメントする。
【００７２】
ステップＳ５６において識別部４１１は、変数ｉが値ｚ／２より大きいかを判定する。いまの場合、まだｉ＝−ｚ／２＋１とされただけなので、変数ｉ（＝−ｚ／２＋１）は値ｚ／２より小さい。この場合は、処理はステップＳ５４に戻る。そしてそこで、画素値Ｉ（ｘ，ｙ）と出力画像の画素値Ｏ（ｘ＋ｉ，ｙ＋ｊ）の差の絶対値が、閾値Ｔｍより大きかが判定される。いまの場合、画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ−ｚ／２＋１，ｙ−ｚ／２）との差の絶対値が、閾値Ｔｍより大きいかが判定される。
【００７３】
ステップＳ５４において、画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ−ｚ／２＋１，ｙ−ｚ／２）との差の絶対値が、閾値Ｔｍより大きいと判定された場合、ステップＳ５５において変数ｉが１だけインクリメントされて、ｉ＝２とされる。ステップＳ５６で変数ｉがｚ／２より小さいと判定されたとき、すなわち、まだ検索範囲の右側の端部に達していないとき、ステップＳ５４の処理が再び行われる。つまり、画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ−ｚ／２＋２，ｙ−ｚ／２）との差の絶対値が、閾値Ｔｍより大きいかが判定される。
【００７４】
以上のようにして、変数ｉが１ずつインクリメントされて、ステップＳ５５でインクリメントされた変数ｉがｚ／２より大きくなったとき、すなわち、ｘ座標の探索範囲が端部ｚ／２に達したとき、処理はステップＳ５７に進む。
【００７５】
ステップＳ５７において識別部４１１は、変数ｊを１だけインクリメントする。
【００７６】
ステップＳ５８において識別部４１１は、変数ｊが値ｚ／２より大きいかを判定する。いまの場合、まだｊ＝−ｚ／２＋１とされただけなので、変数ｊ（＝−ｚ／２＋１）は値ｚ／２より小さい。この場合は、処理はステップＳ５３に戻る。
【００７７】
ステップＳ５３において識別部４１１は、変数ｉを再び−ｚ／２に設定する。次にステップＳ５４において識別部４１１は、画素値Ｉ（ｘ，ｙ）と出力画像の画素値Ｏ（ｘ＋ｉ，ｙ＋ｊ）の差の絶対値が、閾値Ｔｍより大きかを判定する。いまの場合、画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ−ｚ／２，ｙ−ｚ／２＋１）との差の絶対値が、閾値Ｔｍより大きいかが判定される。
【００７８】
ステップＳ５４において、画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ−ｚ／２，ｙ−ｚ／２＋１）との差の絶対値が、閾値Ｔｍより大きいと判定された場合、ステップＳ５５において変数ｉが１だけインクリメントされて、ｉ＝２とされる。ステップＳ５６で変数ｉがｚ／２より小さいと判定されたとき、すなわち、まだ検索範囲の右側の端部に達していないとき、再びステップＳ５４の処理が行われる。ステップＳ５４で、画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ−ｚ／２＋２，ｙ−ｚ／２＋１）との差の絶対値が、閾値Ｔｍより大きいかが判定される。
【００７９】
以上のようにして、変数ｉが１ずつインクリメントされて、ステップＳ５５でインクリメントされた変数ｉがｚ／２より大きくなったとき、すなわち、ｘ座標の探索範囲が端部ｚ／２に達したとき、処理はステップＳ５７に進む。そしてステップＳ５７で変数ｊが１だけインクリメントされて、ｊ＝２とされる。
【００８０】
ステップＳ５８で変数jがｚ／２以下であると判定された場合、すなわち、ｙ座標の探索範囲が、端部ｚ／２にまだ達していないとき、処理はステップＳ５３に戻り、以下同様の処理が繰り返される。
【００８１】
ステップＳ５８で変数ｊがｚ／２より大きいと判定された場合、探索範囲がｙ座標の上側端部に達したことになる。そこで処理はステップＳ５９に進み、認識部４１１は座標（ｘ，ｙ）の対象画素を動体と判断する。そして認識結果Ｍ（ｘ，ｙ）を１に設定する。
【００８２】
ステップＳ５１において検知結果Ｄ（ｘ，ｙ）が１ではない、すなわち０であると判定された場合、ステップＳ６０において、認識部４１１は座標（ｘ，ｙ）の対象画素を静止物と判断する。そして認識結果Ｍ（ｘ，ｙ）を０に設定する。
【００８３】
ステップＳ５４において、画素値Ｉ（ｘ，ｙ）と出力画像の探索範囲の画素値Ｏ（ｘ＋ｉ，ｙ＋ｊ）の差の絶対値が、１つでも閾値Ｔｍ以下であると判定されたときも同様に、ステップＳ６０の処理が実行される。座標（ｘ，ｙ）の対象画素は静止物である判断され、認識結果Ｍ（ｘ，ｙ）が０に設定される。時間軸方向に追跡すると、静止物が揺らいでいるに過ぎない場合は過去の周辺画像データに同じ画素値が存在する。  そこで、過去の周辺の画像データを探索して、差分が小さい画素値が検出された場合には、静止物の揺らぎと判定される。
【００８４】
以上のようにして、抽出処理により座標（ｘ，ｙ）の対象画素が動きのある画素であると判定された場合には、さらに出力画像の探索範囲が探索され、その範囲の全ての画素との差が十分大きいときにのみ、対象画素は動体と判断される。探索範囲に１つでも差が小さい画素が存在するときは、対象画素の動きは揺らぎである、すなわち対象画素は静止物であると判断される。
【００８５】
図９に戻って、以上のようにしてステップＳ５で識別処理が行われた後、ステップＳ６において係数制御部１１４により係数制御処理が実行される。係数制御部１１４は、識別手段による識別結果に応じて係数を制御する制御手段として機能する。
【００８６】
［係数制御処理］
【００８７】
図１３は、係数制御処理を説明するフローチャートである。以下、この図を参照して、係数制御処理を説明する。
【００８８】
ステップＳ７１において係数制御部１１４は、認識結果Ｍ（ｘ，ｙ）が０であるかを判定する。この認識結果Ｍ（ｘ，ｙ）は、図１１のステップＳ５９，Ｓ６０で認識部４１１により判断されている。
【００８９】
認識結果Ｍ（ｘ，ｙ）が０である場合、すなわち座標（ｘ，ｙ）の対象画素が静止物の画素である場合、ステップＳ７２において係数制御部１１４は、係数αに静止物用の係数αｓを設定する。これに対して、認識結果Ｍ（ｘ，ｙ）が１である場合、すなわち座標（ｘ，ｙ）の対象画素が動体の画素である場合、ステップＳ７３において係数制御部１１４は、係数αに動体用の係数αｍを設定する。係数αｍは、係数αｓより小さい値とされている。これにより動体に過度に補正がかけられ、残像が発生することが抑制される。
【００９０】
ステップＳ７２，Ｓ７３の処理の後、ステップＳ７４において係数制御部１１４は、係数αを出力する。
【００９１】
図９に戻って、ステップＳ６において上述したように係数制御処理が実行されて、係数αが補正部１１１に供給されると、ステップＳ７において補正部１１１は、係数αに基づき入力された画像データを補正する。すなわち、図４を参照して説明したように、入力された画像データに対して、１つの係数αと1フレーム前の画像データとで規定される伝達関数Ｈ（ｚ）を適用する演算が行なわれ、画像の揺らぎが除去されるように画像データが補正される。補正部１１１は、入力された画像データの画像の揺らぎを補正するために、画像データに対して、１つの係数と1フレーム前の画像データとで規定される伝達関数を適用する演算を行う補正手段として機能する。
【００９２】
ステップＳ８においてフレームメモリ１１２は、補正された画像データを記憶する。この画像データは次のフレーム処理の時、１フレーム前の画像データとして補正部１１１にフィードバックされる。フレームメモリ１１２は、補正手段により補正された画像データを１フレーム遅延して、補正手段に1フレーム前の画像データとしてフィードバックする遅延手段として機能する。
【００９３】
以上の図９の処理は、１フレーム毎に繰り返し実行される。これにより、揺らぎが補正された画像データを出力することができる。
【００９４】
この実施の形態の場合、入力された画像データに対して、１つの係数αと1フレーム前の画像データとで規定される伝達関数Ｈ（ｚ）を適用する演算を行って、画像の揺らぎが補正される。従って、強い揺らぎ補正効果を得る場合にも、係数αを大きくするだけでよいので、同じ構成でよく、メモリの使用量を多くする必要もなく、構成が複雑になることもない。その結果、コストも安くすることができる。また記憶するフレーム数も１個だけなので、画像データを蓄積するための待ち時間が長くなることもない。さらに補正量をダイナミックに可変にする場合にも、メモリの周辺回路を大きくする必要が無い。処理のための計算コストが安い。さらに、動体と静止物との識別結果に応じて係数αを制御するので、揺らぎを補正する処理が、揺らぎだけでなく、動体にもかかってしまい、動体のテクスチャが失われてしまうようなことが抑制される。
【００９５】
＜第２の実施の形態（図１４）＞
［画像処理装置の構成］
【００９６】
図１４は、第２の実施の形態の画像処理装置６０１の基本的構成を示すブロック図である。この画像処理装置６０１は、図８の画像処理装置５０１と同様に、補正部１１１、フレームメモリ１１２、アドレス生成部１１３、係数制御部１１４、および抽出部２１１を有している。ただし、抽出部２１１は、図６の画像処理部３０１と同様に、差分検知部２２１だけでなく、フレームメモリ２２２を有している。さらに、画像処理装置６０１は、揺らぎ候補作成部５１１を有している。フレームメモリ２２２には、揺らぎ候補作成部５１１で作成された揺らぎ候補が書き込まれる。  
【００９７】
［画像処理］
【００９８】
図１５は、図１４の画像処理装置６０１の画像処理を説明するフローチャートである。以下、この図１５を参照して、画像処理装置６０１の画像処理を説明する。
【００９９】
図１５のステップＳ１０１乃至Ｓ１０３の処理、並びにステップＳ１０６乃至Ｓ１０９の処理は、図９のステップＳ１乃至Ｓ３の処理、並びにステップＳ５乃至Ｓ８の処理と基本的に同様の処理である。すなわち、ステップＳ１０６の識別処理は、図１１と図１２に示される場合と同様の処理である。またステップＳ１０７の係数制御処理も、図１３に示される場合と同様の処理である。
【０１００】
ステップＳ１０４の揺らぎ候補作成処理は図９の画像処理には存在しない処理である。ステップＳ１０５の抽出処理は図９のステップＳ４の抽出処理（すなわち、図１０の抽出処理）とは異なっている。そこで、ステップＳ１０１乃至Ｓ１０３の処理、並びにステップＳ１０６乃至Ｓ１０９の処理は、繰り返しになるので説明は省略し、ステップＳ１０４の抽出処理とステップＳ１０５の揺らぎ候補作成処理について、以下に説明する。
【０１０１】
［抽出処理］
【０１０２】
図１６は、図１５のステップＳ１０４の抽出処理を説明するフローチャートである。以下、この図１６を参照して、図１４の画像処理装置６０１の抽出処理について説明する。
【０１０３】
ステップＳ１２１において抽出部２１１の差分検知部２２１は、入力と揺らぎ候補の差分を演算する。すなわち、入力された座標（ｘ，ｙ）の画素値Ｉ（ｘ，ｙ）と、フレームメモリ２２２に過去の処理で記憶されている、対応する座標（ｘ，ｙ）の揺らぎ候補の画素値Ｂ（ｘ，ｙ）との差分が演算される。ステップＳ１２２において差分検知部２２１は、入力と揺らぎ候補の差分が閾値より大きいかを判定する。すなわち、画素値Ｉ（ｘ，ｙ）と揺らぎ候補の画素値Ｂ（ｘ，ｙ）との差の絶対値が、閾値Ｔｂより大きいかが判定される。
【０１０４】
画素値Ｉ（ｘ，ｙ）と揺らぎ候補の画素値Ｂ（ｘ，ｙ）との差の絶対値が、閾値Ｔｂより大きい場合、ステップＳ１２３において、差分検知部２２１は、差分結果Ｄｂ（ｘ，ｙ）に１を設定する。ステップＳ１２４において差分検知部２２１は、入力と出力の差分を演算する。すなわち、入力された撮像画像の座標（ｘ，ｙ）の画素値Ｉ（ｘ，ｙ）と、出力された画像の座標（ｘ，ｙ）の画素値Ｏ（ｘ，ｙ）の差分が演算される。ステップＳ１２５において差分検知部２２１は、入力と出力の差分が閾値より大きいかを判定する。すなわち、画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ，ｙ）の差分の絶対値が、閾値Ｔｓと比較される。画素値Ｉ（ｘ，ｙ）と画素値Ｏ（ｘ，ｙ）との差の絶対値が、閾値Ｔｓより大きい場合、ステップＳ１２６において、差分検知部２２１は、座標（ｘ，ｙ）の対象画素を動きのある画素と判断し、差分結果Ｄ（ｘ，ｙ）を１に設定する。
【０１０５】
ステップＳ１２２において、画素値Ｉ（ｘ，ｙ）と揺らぎ候補の画素値Ｂ（ｘ，ｙ）との差の絶対値が、閾値Ｔｂ以下であると判定された場合、ステップＳ１２７において、差分検知部２２１は、差分結果Ｄｂ（ｘ，ｙ）に０を設定する。さらにステップＳ１２８において差分検知部２２１は、座標（ｘ，ｙ）の対象画素を静止した画素と判断する。またこのとき、差分結果Ｄ（ｘ，ｙ）が０に設定される。ステップＳ１２５において、画素値Ｉ（ｘ，ｙ）と出力された画像の画素値Ｏ（ｘ，ｙ）との差の絶対値が、閾値Ｔｓ以下であると判定された場合にもステップＳ１２８において差分検知部２２１は、座標（ｘ，ｙ）の対象画素を静止した画素と判断する。またこのとき、差分結果Ｄ（ｘ，ｙ）に０が設定される。
【０１０６】
このように、抽出処理においては、差分結果Ｄ（ｘ，ｙ）が生成され、認識部４１１に供給され、図１５のステップＳ１０６の識別処理のうちの、図１１のステップＳ５１の判定処理に用いられる。また、ステップＳ１２３，Ｓ１２７で設定された差分結果Ｄｂ（ｘ，ｙ）は、後述する図１７のステップＳ１４２の判定処理で用いられる。
【０１０７】
［揺らぎ候補作成処理］
【０１０８】
図１７は、揺らぎ候補作成処理を説明するフローチャートである。次にこの図を参照して、図１５のステップＳ１０５の揺らぎ候補作成処理の詳細について説明する。
【０１０９】
ステップＳ１４１において揺らぎ候補作成部５１１は、更新カウンタ値としてのＣ（ｘ，ｙ）をフレームメモリ２２２から読み出す。この更新カウンタ値Ｃ（ｘ，ｙ）は、前回の処理時において、後述するステップＳ１４６の処理によりフレームメモリ２２２に記憶されている。揺らぎ候補作成部５１１は、入力された画像データのうち、所定の期間、動きのある画素を揺らぎ候補として作成する揺らぎ候補作成手段として機能する。
【０１１０】
ステップＳ１４２において揺らぎ候補作成部５１１は、差分結果Ｄｂ（ｘ，ｙ）が０であるかを判定する。差分結果Ｄｂ（ｘ，ｙ）は、図１６のステップＳ１２３またはステップＳ１２７において１または０に設定されている。この差分結果Ｄｂ（ｘ，ｙ）が０の場合とは、図１６のステップＳ１２２において、座標（ｘ，ｙ）の入力画像の対象画素の画素値Ｉ（ｘ，ｙ）と、対応する座標（ｘ，ｙ）の揺らぎ候補の画素値Ｂ（ｘ，ｙ）との差の絶対値が、閾値Ｔｂ以下であると判定された場合である。
【０１１１】
差分結果Ｄｂ（ｘ，ｙ）が０である場合、すなわち画素値Ｉ（ｘ，ｙ）と揺らぎ候補の画素値Ｂ（ｘ，ｙ）との差の絶対値が閾値Ｔｂ以下の場合、ステップＳ１４３において揺らぎ候補作成部５１１は、更新カウンタ値Ｃ（ｘ，ｙ）を１だけインクリメントする。ステップＳ１４４において揺らぎ候補作成部５１１は、更新カウンタ値Ｃ（ｘ，ｙ）が更新カウンタの最大値Ｃｍａｘより大きいかを判定する。
【０１１２】
更新カウンタ値Ｃ（ｘ，ｙ）が最大値Ｃｍａｘより大きい場合、ステップＳ１４５において揺らぎ候補作成部５１１は、更新カウンタ値Ｃ（ｘ，ｙ）に最大値Ｃｍａｘを設定する。これに対して、更新カウンタ値Ｃ（ｘ，ｙ）が最大値Ｃｍａｘ以下である場合、ステップＳ１４５の処理は実行されず、更新カウンタ値Ｃ（ｘ，ｙ）の値はそのままとされる。そしてステップＳ１４６において揺らぎ候補作成部５１１は、更新カウンタ値Ｃ（ｘ，ｙ）をフレームメモリ２２２に書き込む。このようにして書き込まれた更新カウンタ値Ｃ（ｘ，ｙ）が、次のフレームの処理のタイミングにおいて、上述したステップＳ１４１において読み出される。このように、更新カウンタ値Ｃ（ｘ，ｙ）は、各フレーム毎の処理において、対象画素の画素値Ｉ（ｘ，ｙ）と揺らぎ候補の画素値Ｂ（ｘ，ｙ）との差の絶対値が閾値Ｔｂ以下であると判断されると、最大値Ｃｍａｘまでの大きい値に設定される。最大値Ｃｍａｘの具体的値は、揺らぎ状況に応じて最適値が適宜設定される。
【０１１３】
ステップＳ１４２において、差分結果Ｄｂ（ｘ，ｙ）が０ではなく、１であると判定された場合、処理はステップＳ１４７に進む。すなわち、図１６のステップＳ１２２において、対象画素の画素値Ｉ（ｘ，ｙ）と揺らぎ候補の画素値Ｂ（ｘ，ｙ）との差の絶対値が閾値Ｔｂより大きいと判定されている場合、ステップＳ１４７において揺らぎ候補作成部５１１は、更新カウンタ値Ｃ（ｘ，ｙ）を１だけデクリメントする。そしてステップＳ１４８において揺らぎ候補作成部５１１は、更新カウンタ値Ｃ（ｘ，ｙ）が０以外の値であるかを判定する。
【０１１４】
更新カウンタ値Ｃ（ｘ，ｙ）が０以外の値ではない場合、すなわち、０である場合、ステップＳ１４９において揺らぎ候補作成部５１１は、フレームメモリ２２２上の揺らぎ候補の画素値Ｂ（ｘ，ｙ）を、画素値Ｉ（ｘ，ｙ）で上書きする。これによりいままでの揺らぎ候補の画素値Ｂ（ｘ，ｙ）に代えて、新たに入力された画素値Ｉ（ｘ，ｙ）が新たな揺らぎ候補の画素値Ｂ（ｘ，ｙ）としてフレームメモリ２２２に記憶されることになる。フレームメモリ２２２は、揺らぎ候補を記憶する記憶手段として機能得する。そしてステップＳ１５０において揺らぎ候補作成部５１１は、更新カウンタ値Ｃ（ｘ，ｙ）の値に初期値Ｃｉを設定する。この初期値Ｃｉの具体的値は、揺らぎ状況に応じて最適値が適宜設定される。
【０１１５】
これに対して、更新カウンタ値Ｃ（ｘ，ｙ）が０以外の値である場合、そのときの対象画素は揺らぎ候補とはされない。すなわち、ステップＳ１４９，Ｓ１５０の処理は実行されず、古い揺らぎ候補が更新されずに、そのまま保持される。つまり対象画素が、連続して更新カウンタ値Ｃ（ｘ，ｙ）のフレーム数にわたって、古い揺らぎ候補の画素との差分が閾値より大きいと判定されたとき、対象画素が新たな揺らぎ候補の画素とされる。
【０１１６】
ステップＳ１４８において更新カウンタ値Ｃ（ｘ，ｙ）が０以外の値であると判定された場合、およびステップＳ１５０の処理の後、ステップＳ１４６において、更新カウンタ値Ｃ（ｘ，ｙ）がフレームメモリ２２２に書き込まれる。
【０１１７】
以上のようにして、入力された画素値が過去の対応する座標の揺らぎ候補の画素値との差分が閾値より大きい状態が、所定の複数のフレームの処理回数の期間、連続して発生したとき、新たな揺らぎ候補としてのその画素値により、過去の揺らぎ候補が更新される。すなわち、ある一定期間内に繰り返して出現する画素が揺らぎ候補として保持される。過去の対応する座標の揺らぎ候補の画素値との差分が十分大きくない対象画素は、揺らぎの候補とされない。また、過去の対応する座標の揺らぎ候補の画素値との差分が十分大きくても、その状態が、所定の複数のフレームの処理回数の期間出現しない対象画素は、揺らぎとは異なった画素であると考えられる。従ってその対象画素も揺らぎの候補とされない。
【０１１８】
図１４の画像処理装置６０１によれば、より正確に動体を揺らぎから識別することができる。その結果、動体に残像が残るようなことが抑制され、品位の高い揺らぎ補正データを得ることができる。
【０１１９】
＜第３の実施の形態（図１８）＞
［画像処理装置の構成］
【０１２０】
揺らぎ候補を利用して動体と揺らぎを識別するようにしても、動体内のテクスチャによっては、フレーム間差分をとると動体部分に差分が現れず、動体が静止物として誤検出されてしまうことがある。その結果、動体に揺らぎ補正がかけられてしまい、動体内のテクスチャが失われてしまうことがある。そこで、次のような画像処理装置を構成することができる。
【０１２１】
図１８は、画像処理装置７０１の基本的構成を示すブロック図である。この画像処理装置７０１は、係数制御部１１４に接続されたメモリ６１１を有している。なおメモリ６１１は、係数制御部１１４に内蔵させてもよい。その他の構成は、図１４の画像処理装置６０１と同様である。すなわち、補正部１１１は、図４に示されるように構成される。
【０１２２】
次に画像処理装置７０１の動作を説明する。その基本的な処理は、図１５に示されたステップＳ１０１乃至Ｓ１０９の処理と同様である。すなわち、ステップＳ１０４の抽出処理、ステップＳ１０５の揺らぎ候補作成処理、およびステップＳ１０６の識別処理は、それぞれ図１６、図１７、および図１１に示される場合と同様である。
【０１２３】
ただしステップＳ１０７の係数制御処理だけが図１４の画像処理装置６０１の場合の処理（すなわち図１３に示される処理）と異なっている。そこで、ステップＳ１０１乃至Ｓ１０６，Ｓ１０８，Ｓ１０９の処理の説明は繰り返しになるので省略し、ステップＳ１０７の係数制御処理についてだけ以下に説明する。
【０１２４】
［係数制御処理］
【０１２５】
図１９は、係数制御処理を説明するフローチャートである。
【０１２６】
ステップＳ１８１において係数制御部１１４は、認識結果Ｍ（ｘ，ｙ）が０であるかを判定する。この認識結果Ｍ（ｘ，ｙ）は、認識部４１１により図１１のステップＳ５９，Ｓ６０の処理で設定されている。認識結果Ｍ（ｘ，ｙ）が０である場合、すなわち対象画素が静止物であると判断されている場合、ステップＳ１８２において係数制御部１１４は、座標（ｘ，ｙ）の係数値Ｖ（ｘ，ｙ）をメモリ６１１から読み出す。メモリ６１１には、過去のフレームにおける、後述するステップＳ１８７の処理により、係数値Ｖ（ｘ，ｙ）が記憶されている。
【０１２７】
ステップＳ１８３において係数制御部１１４は、ステップＳ１８２で読み出した係数値Ｖ（ｘ，ｙ）が、静止物の係数αｓより小さいかを判定する。係数αｓは、後述する係数可変のステップ値ｋ、動体の係数αｍなどと同様に、揺らぎの状況に応じて適宜最適値が設定される。
【０１２８】
係数値Ｖ（ｘ，ｙ）が、静止物の係数αｓより小さい場合、ステップＳ１８４において係数制御部１１４は、係数値Ｖ（ｘ，ｙ）をステップ値ｋだけインクリメントする。係数値Ｖ（ｘ，ｙ）として静止物の係数値αｓより小さい値が設定されている場合とは、その座標（ｘ，ｙ）の画素が過去に動体と判断されて、係数値Ｖ（ｘ，ｙ）として動体の係数値αｍ（αｍ＜αｓ）が設定された場合である。これにより、過去に動体として判断された結果、係数値Ｖ（ｘ，ｙ）として動体の係数値αｍが設定されていた対象画素が、その後、静止物と判断されたとき、係数値Ｖ（ｘ，ｙ）に最大の係数値αｓが直ちに設定されることが禁止される。係数値Ｖ（ｘ，ｙ）はステップｋずつ段階的に増加され、最大の係数αｓに達したときは、それ以上増加されない（後述するステップＳ１８５の処理）。上述したように、動体内のテクスチャによっては、フレーム間差分をとると動体部分に差分が現れず、動体が静止物として誤検出されてしまうことがある。しかしこのように段階的に係数値Ｖ（ｘ，ｙ）を変化させれば、静止物として誤検出された動体に揺らぎ補正がかけられたとしても、動体内のテクスチャが失われてしまうようなことが抑制される。
【０１２９】
係数値Ｖ（ｘ，ｙ）が、静止物の係数αｓ以上である場合、ステップＳ１８５において係数制御部１１４は、係数値Ｖ（ｘ，ｙ）に静止物の係数値αｓを設定する。すなわち、過去に静止物と判断された対象画素が、ステップＳ１８４のステップｋずつのインクリメント処理により、静止物の係数αｓ以上になった場合には、係数値Ｖ（ｘ，ｙ）は静止物の係数αｓに制限される。これにより静止物に対して過大な揺らぎ補正が行われることが防止される。
【０１３０】
一方、ステップＳ１８１において認識結果Ｍ（ｘ，ｙ）が０ではない、すなわち１であると判定された場合、処理はステップＳ１８６に進む。この場合、図１１のステップＳ５９の処理で対象画素が動体であると判断されているので、ステップＳ１８６において係数制御部１１４は、係数値Ｖ（ｘ，ｙ）に動体の係数値αｍを設定する。動体の係数値αｍは、静止物の係数値αｓより小さい。これにより動体に対して大きな揺らぎ補正が行われることが防止される。
【０１３１】
ステップＳ１８４，Ｓ１８５，Ｓ１８６の処理の後、ステップＳ１８７において係数制御部１１４は、係数値Ｖ（ｘ，ｙ）をメモリ６１１に書き込む。すなわち、ステップＳ１８４，Ｓ１８５，Ｓ１８６の処理で設定された係数値Ｖ（ｘ，ｙ）がメモリ６１１に書き込まれる。この係数値Ｖ（ｘ，ｙ）が次のフレームの処理のとき、上述したステップＳ１８２で読み出される。
【０１３２】
ステップＳ１８８において係数制御部１１４は、係数αを出力する。この係数αには、ステップＳ１８７でメモリ６１１に書き込まれた係数値Ｖ（ｘ，ｙ）が設定される。補正部１１１はこの係数αを用いて、図１５のステップＳ１０８で補正処理を行う。
【０１３３】
[本発明のプログラムへの適用]
【０１３４】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることができる。
【０１３５】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１３６】
このようなプログラムを含む記録媒体は、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVDを含む）、光磁気ディスク（MD（Mini-Disk）を含む）、もしくは半導体メモリなどよりなる記録媒体により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているフラッシュROM、ハードディスクなどで構成される。
【０１３７】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１３８】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１３９】
１０１  画像処理装置，  １１１  補正部，  １１２  フレームメモリ，  １１３  アドレス生成部，  １１４  係数制御部，  ２０１  画像処理装置，  ２１１  抽出部，  ２２１  差分検知部，  ２２２  フレームメモリ，  ３０１，４０１  画像処理装置，  ４１１  識別部，  ５０１  画像処理装置，  ５１１  揺らぎ候補作成部，  ６１１  メモリ
【図１】
2011229030.tif 000008
【図２】
2011229030.tif 000009
【図３】
2011229030.tif 000010
【図４】
2011229030.tif 000011
【図５】
2011229030.tif 000012
【図６】
2011229030.tif 000013
【図７】
2011229030.tif 000014
【図８】
2011229030.tif 000015
【図９】
2011229030.tif 000016
【図１０】
2011229030.tif 000017
【図１１】
2011229030.tif 000018
【図１２】
2011229030.tif 000019
【図１３】
2011229030.tif 000020
【図１４】
2011229030.tif 000021
【図１５】
2011229030.tif 000022
【図１６】
2011229030.tif 000023
【図１７】
2011229030.tif 000024
【図１８】
2011229030.tif 000025
【図１９】
2011229030.tif 000026