(57)【要約】【課題】像ぶれをマスク画像として表示することにより手ぶれによる撮像の失敗を抑制する。【解決手段】  画像メモリ３１には、最新の画像データAが格納され、画像メモリ３２には、その直前の画像データBが格納される。グレイスケール３３，３５は、それぞれ画像データA，Bの各画素の画素値をグレイスケール値に変換する。差分値計算部３４は、グレイスケール３３，３５より供給されたグレイスケール値の画像データA，Bのそれぞれに対応する位置の画素間の画素値の差分の絶対値を求める。像ぶれ位置抽出部３６は、差分値の絶対値を閾値th1と比較し、大きい位置において位置を像ぶれが生じている位置として出力する。マスク画像生成部３７は、像ぶれが生じている位置の情報に基づいてマスク画像データmbを生成する。合成部３８は、画像データAとマスク画像データmbを合成する。本発明は、デジタルスチルカメラに適用することができる。【選択図】図２
2005203880.tif 000002
【特許請求の範囲】
【請求項１】
第1の画像を撮像する撮像手段と、
前記第1の画像を格納する格納手段と、
前記第1の画像より前に撮像された前記格納手段に格納されている第２の画像と、前記第１の画像とに基づいて、像ぶれ領域を検出する像ぶれ検出手段と、
前記像ぶれ検出手段により検出された像ぶれ領域の情報に基づいて、マスク画像を生成するマスク画像生成手段と、
前記第１の画像と前記マスク画像とを合成し、第３の画像を生成する合成手段と、
前記第３の画像を表示する表示手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記第３の画像を縮小する縮小手段をさらに備え、
前記表示手段は、前記縮小手段により縮小された第３の画像を表示する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の画像と前記第２の画像のそれぞれの対応する位置の画素間の画素値を計算する差分計算手段をさらに備え、
前記像ぶれ検出手段は、各画素毎に前記差分計算手段により計算された差分と、所定の閾値とを比較して、所定の閾値以上となる位置の画素を像ぶれ領域として検出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記格納手段に格納された前記第1の画像のエッジ領域を検出するエッジ検出手段をさらに備え、
前記マスク画像生成手段は、前記像ぶれ検出手段により検出された像ぶれ領域の情報、および、前記エッジ検出手段により検出されたエッジ領域の情報に基づいて、マスク画像を生成する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記格納手段に格納された前記第１の画像にエッジ強調処理を施すエッジ強調手段をさらに備え、
前記エッジ検出手段は、前記エッジ強調手段によりエッジ強調処理が施されている前記格納手段に格納された前記第1の画像の各画素と、所定の閾値とを比較して、前記所定の閾値以上となる位置の画素をエッジ領域として検出する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記エッジ強調手段は、ラプラシアンフィルタを用いて前記格納手段に格納された前記第１の画像にエッジ強調処理を施す
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記マスク画像生成手段は、前記像ぶれ検出手段により検出された像ぶれ領域のみに含まれる位置の画素を第１の色で示し、前記エッジ検出手段により検出されたエッジ領域のみに含まれる位置の画素を第２の色で示し、前記像ぶれ領域と前記エッジ領域のいずれの領域にも含まれる位置の画素を第３の色で示すマスク画像を生成する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項８】
第1の画像を撮像する撮像ステップと、
前記第1の画像を格納する格納ステップと、
前記第1の画像より前に撮像された、前記格納ステップの処理で格納されている第２の画像と前記第１の画像とに基づいて、像ぶれ領域を検出する像ぶれ検出ステップと、
前記像ぶれ検出ステップの処理で検出された像ぶれ領域の情報に基づいて、マスク画像を生成するマスク画像生成ステップと、
前記第１の画像と前記マスク画像とを合成し、第３の画像を生成する合成ステップと、
前記第３の画像を表示する表示ステップと
を含むことを特徴とする画像処理方法。
【請求項９】
撮像された第1の画像の格納を制御する格納制御ステップと、
前記第1の画像より前に撮像された、前記格納制御ステップの処理で格納されている第２の画像と前記第１の画像とに基づいて、像ぶれ領域の検出を制御する像ぶれ検出制御ステップと、
前記像ぶれ検出制御ステップの処理で検出された像ぶれ領域の情報に基づいて、マスク画像の生成を制御するマスク画像生成制御ステップと、
前記第１の画像と前記マスク画像との合成による、第３の画像の生成を制御する合成制御ステップと、
前記第３の画像の表示を制御する表示制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１０】
撮像された第1の画像の格納を制御する格納制御ステップと、
前記第1の画像より前に撮像された、前記格納制御ステップの処理で格納されている第２の画像と前記第１の画像とに基づいて、像ぶれ領域の検出を制御する像ぶれ検出制御ステップと、
前記像ぶれ検出制御ステップの処理で検出された像ぶれ領域の情報に基づいて、マスク画像の生成を制御するマスク画像生成制御ステップと、
前記第１の画像と前記マスク画像との合成による、第３の画像の生成を制御する合成制御ステップと、
前記第３の画像の表示を制御する表示制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項１１】
第1の画像を撮像する撮像手段と、
前記第1の画像を格納する格納手段と、
前記格納手段に格納された前記第1の画像のエッジ領域を検出するエッジ検出手段と、
前記エッジ検出手段により検出されたエッジ領域の情報に基づいて、マスク画像を生成するマスク画像生成手段と、
前記第１の画像と前記マスク画像とを合成し、第３の画像を生成する合成手段と、
前記第３の画像を表示する表示手段と
を備えることを特徴とする画像処理装置。
【請求項１２】
前記格納手段に格納された前記第１の画像にエッジ強調処理を施すエッジ強調手段をさらに備え、
前記エッジ検出手段は、前記エッジ強調手段によりエッジ強調処理が施されている前記格納手段に格納された前記第1の画像の各画素と、所定の閾値とを比較して、所定の閾値以上となる位置の画素をエッジ領域として検出する
ことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記エッジ強調手段は、ラプラシアンフィルタを用いて前記格納手段に格納された前記第１の画像にエッジ強調処理を施す
ことを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
第1の画像を撮像する撮像ステップと、
前記第1の画像を格納する格納ステップと、
前記格納ステップの処理で格納された前記第1の画像のエッジ領域を検出するエッジ検出ステップと、
前記エッジ検出ステップの処理で検出されたエッジ領域の情報に基づいて、マスク画像を生成するマスク画像生成ステップと、
前記第１の画像と前記マスク画像とを合成し、第３の画像を生成する合成ステップと、
前記第３の画像を表示する表示ステップと
を含むことを特徴とする画像処理方法。
【請求項１５】
撮像された第1の画像の格納を制御する格納制御ステップと、
前記格納制御ステップの処理で格納された前記第1の画像のエッジ領域の検出を制御するエッジ検出制御ステップと、
前記エッジ検出制御ステップの処理で検出されたエッジ領域の情報に基づいて、マスク画像の生成を制御するマスク画像生成制御ステップと、
前記第１の画像と前記マスク画像との合成による、第３の画像の生成を制御する合成制御ステップと、
前記第３の画像の表示を制御する表示制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１６】
撮像された第1の画像の格納を制御する格納制御ステップと、
前記格納制御ステップの処理で格納された前記第1の画像のエッジ領域の検出を制御するエッジ検出制御ステップと、
前記エッジ検出制御ステップの処理で検出されたエッジ領域の情報に基づいて、マスク画像の生成を制御するマスク画像生成制御ステップと、
前記第１の画像と前記マスク画像との合成による、第３の画像の生成を制御する合成制御ステップと、
前記第３の画像の表示を制御する表示制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、デジタルスチルカメラを用いた撮像における手ぶれやピントずれによる失敗を抑制できるようにした画像処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
デジタルスチルカメラが一般に普及しつつある。
【０００３】
デジタルスチルカメラには、撮像しようとする被写体をモニタする画像を表示する小型のディスプレイが設けられており、ユーザは、このディスプレイに映し出された画像を見ながらファインダ代わりに利用して、構図を決定し、シャッタボタンを押下することで画像をデジタル情報として記録させる。
【０００４】
ところで、デジタルスチルカメラによる撮像においては、従来の光学式カメラと異なる原因により撮像そのものが失敗することがある。この失敗の原因としては、手ぶれ、被写体が動いたことによる画像のぶれ、または、ピントが合っていないために画像がボケてしまうことが挙げられる。このような場合、デジタルスチルカメラでは、撮像した直後に、撮像した画像を、液晶ディスプレイなど、デジタルスチルカメラに装備されている小型の表示装置で確認することができるので、ユーザは、このディスプレイに表示された画像を見て、気に入らなければ再度、取り直すことができる（例えば、特許文献１参照）。
【特許文献１】特開２００３−４６９４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、撮像した画像を確認するために表示される画像は、ファインダとして機能する程度の小さな表示部に表示されるものであるため、記録される画像に比べ解像度が低いので、画像のディテールを確認することは難しい。したがって、デジタルスチルカメラを用いて撮影直後に画像を確認した場合でも、実際には撮影が失敗してしまっているようなことが生じてしまうという課題があった。この場合、ユーザは、撮影してからずっと後になって、失敗を知ることになるので、再度取り直すことができないうえ、時間が経過しているのでそのときの状況を覚えていないことが多く、適切に撮影するコツを習得することも困難である。
【０００６】
上述のような課題に対応すべく、手ぶれに対する警告を出す方法として、さまざまな方法が提案されている。第１の手法として、シャッタースピードがある時間以上になる場合、手ぶれが発生する可能性があるので、これを警告することでユーザに注意を促すという手法が提案されている。しかしながら、この手法では、手ぶれが生じる可能性を示唆するものであって、実際に撮像された画像にぶれが発生しているかどうかを知らせるものではないため、撮像の失敗を根本的に解決することができないという課題があった。
【０００７】
また、第２の手法として、デジタルスチルカメラに角速度センサを内蔵させ、角速度センサの出力に応じて、デジタルスチルカメラが動いていることを検知した場合に、LED（Light Emmision Diode）などを光らせて警告を発する手法が提案されている。しかしながら、第２の手法において、ユーザは、警告が出てないことを確認した上で撮影することができるが、第１の手法と同様に、撮影直後に実際に撮影した画像にぶれが起きているかどうかを確認することができないという課題があった。
【０００８】
さらに、ピントが合っているかどうかを、カメラに装備された表示装置で確認する手法として、画像の一部を拡大して、カメラの表示装置に表示するというものが提案されている。しかしながら、この手法では、画像全体を見渡すことができないうえに、ユーザがピントを合わせたい部分が、拡大表示された部分と異なるときには、ピントがあっているか否かを確認することができないという課題があった。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、特に、デジタルスチルカメラによる撮像において、手ぶれや被写体が動いたことによる像ぶれ、ピントが合っていないことによるぼけなどの失敗を起こさないように、ユーザを補助することで、デジタルスチルカメラにおける撮像の失敗を抑制すると共に、像ぶれやピントが合わないことにより生じるボケを抑制できるような撮像方法を初心者でも容易に体得できるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の第１の画像処理装置は、第1の画像を撮像する撮像手段と、第1の画像を格納する格納手段と、第1の画像より前に撮像された、格納手段に格納されている第２の画像と第１の画像とに基づいて、像ぶれ領域を検出する像ぶれ検出手段と、像ぶれ検出手段により検出された像ぶれ領域の情報に基づいて、マスク画像を生成するマスク画像生成手段と、第１の画像とマスク画像とを合成し、第３の画像を生成する合成手段と、第３の画像を表示する表示手段とを備えることを特徴とする。
【００１１】
前記第３の画像を縮小する縮小手段をさらに設けるようにさせることができ、表示手段には、縮小手段により縮小された第３の画像を表示させるようにすることができる。
【００１２】
前記第１の画像と第２の画像のそれぞれの対応する位置の画素間の画素値の差分を計算する差分計算手段をさらに設けるようにさせることができ、像ぶれ検出手段には、各画素毎に差分計算手段により計算された差分と、所定の閾値とを比較して、所定の閾値以上となる位置の画素を像ぶれ領域として検出させるようにすることができる。
【００１３】
前記格納手段に格納された第1の画像のエッジ領域を検出するエッジ検出手段をさらに設けるようにさせることができ、マスク画像生成手段には、像ぶれ検出手段により検出された像ぶれ領域の情報、および、エッジ検出手段により検出されたエッジ領域の情報に基づいて、マスク画像を生成させるようにすることができる。
【００１４】
前記格納手段に格納された第１の画像にエッジ強調処理を施すエッジ強調手段をさらに設けるようにさせることができ、エッジ検出手段には、エッジ強調手段によりエッジ強調処理が施されている格納手段に格納された第1の画像の各画素と、所定の閾値とを比較して、所定の閾値以上となる位置の画素をエッジ領域として検出させるようにすることができる。
【００１５】
前記エッジ強調手段には、ラプラシアンフィルタを用いて格納手段に格納された第１の画像にエッジ強調処理を施すようにさせることができる。
【００１６】
前記マスク画像生成手段には、像ぶれ検出手段により検出された像ぶれ領域のみに含まれる位置の画素を第１の色で示し、エッジ検出手段により検出されたエッジ領域のみに含まれる位置の画素を第２の色で示し、像ぶれ領域とエッジ領域のいずれの領域にも含まれる位置の画素を第３の色で示すマスク画像を生成させるようにすることができる。
【００１７】
本発明の第１の画像処理方法は、第1の画像を撮像する撮像ステップと、第1の画像を格納する格納ステップと、第1の画像より前に撮像された、格納ステップの処理で格納されている第２の画像と第１の画像とに基づいて、像ぶれ領域を検出する像ぶれ検出ステップと、像ぶれ検出ステップの処理で検出された像ぶれ領域の情報に基づいて、マスク画像を生成するマスク画像生成ステップと、第１の画像とマスク画像とを合成し、第３の画像を生成する合成ステップと、第３の画像を表示する表示ステップとを含むことを特徴とする。
【００１８】
本発明の第１の記録媒体のプログラムは、撮像された第1の画像の格納を制御する格納制御ステップと、第1の画像より前に撮像された、格納制御ステップの処理で格納されている第２の画像と第１の画像とに基づいて、像ぶれ領域の検出を制御する像ぶれ検出制御ステップと、像ぶれ検出制御ステップの処理で検出された像ぶれ領域の情報に基づいて、マスク画像の生成を制御するマスク画像生成制御ステップと、第１の画像とマスク画像との合成による、第３の画像の生成を制御する合成制御ステップと、第３の画像の表示を制御する表示制御ステップと、を含むことを特徴とする。
【００１９】
本発明の第１のプログラムは、撮像された第1の画像の格納を制御する格納制御ステップと、第1の画像より前に撮像された、格納制御ステップの処理で格納されている第２の画像と第１の画像とに基づいて、像ぶれ領域の検出を制御する像ぶれ検出制御ステップと、像ぶれ検出制御ステップの処理で検出された像ぶれ領域の情報に基づいて、マスク画像の生成を制御するマスク画像生成制御ステップと、第１の画像とマスク画像との合成による、第３の画像の生成を制御する合成制御ステップと、第３の画像の表示を制御する表示制御ステップとをコンピュータに実行させることを特徴とする。
【００２０】
本発明の第２の画像処理装置は、第1の画像を撮像する撮像手段と、第1の画像を格納する格納手段と、格納手段に格納された第1の画像のエッジ領域を検出するエッジ検出手段と、エッジ検出手段により検出されたエッジ領域の情報に基づいて、マスク画像を生成するマスク画像生成手段と、第１の画像とマスク画像とを合成し、第３の画像を生成する合成手段と、第３の画像を表示する表示手段とを備えることを特徴とする。
【００２１】
前記格納手段に格納された第１の画像にエッジ強調処理を施すエッジ強調手段をさらに設けるようにさせることができ、エッジ検出手段には、エッジ強調手段によりエッジ強調処理が施されている格納手段に格納された第1の画像の各画素と、所定の閾値とを比較して、所定の閾値以上となる位置の画素をエッジ領域として検出させるようにすることができる。
【００２２】
前記エッジ強調手段には、ラプラシアンフィルタを用いて格納手段に格納された第１の画像にエッジ強調処理を施すようにさせることができる。
【００２３】
本発明の第２の画像処理方法は、第1の画像を撮像する撮像ステップと、第1の画像を格納する格納ステップと、格納ステップの処理で格納された第1の画像のエッジ領域を検出するエッジ検出ステップと、エッジ検出ステップの処理で検出されたエッジ領域の情報に基づいて、マスク画像を生成するマスク画像生成ステップと、第１の画像とマスク画像とを合成し、第３の画像を生成する合成ステップと、第３の画像を表示する表示ステップとを含むことを特徴とする。
【００２４】
本発明の第２の記録媒体のプログラムは、撮像された第1の画像の格納を制御する格納制御ステップと、格納制御ステップの処理で格納された第1の画像のエッジ領域の検出を制御するエッジ検出制御ステップと、エッジ検出制御ステップの処理で検出されたエッジ領域の情報に基づいて、マスク画像の生成を制御するマスク画像生成制御ステップと、第１の画像とマスク画像との合成による、第３の画像の生成を制御する合成制御ステップと、第３の画像の表示を制御する表示制御ステップと、を含むことを特徴とする。
【００２５】
本発明の第２のプログラムは、撮像された第1の画像の格納を制御する格納制御ステップと、格納制御ステップの処理で格納された第1の画像のエッジ領域の検出を制御するエッジ検出制御ステップと、エッジ検出制御ステップの処理で検出されたエッジ領域の情報に基づいて、マスク画像の生成を制御するマスク画像生成制御ステップと、第１の画像とマスク画像との合成による、第３の画像の生成を制御する合成制御ステップと、第３の画像の表示を制御する表示制御ステップとをコンピュータに実行させることを特徴とする。
【００２６】
本発明の第１の画像処理装置および方法、並びに第１のプログラムにおいては、第1の画像が撮像され、第1の画像が格納され、第1の画像より前に撮像された、格納されている第２の画像と第１の画像とに基づいて、像ぶれ領域が検出され、検出された像ぶれ領域の情報に基づいて、マスク画像が生成され、第１の画像とマスク画像とが合成され、第３の画像が生成され、第３の画像が表示される。
【００２７】
本発明の第２の画像処理装置および方法、並びに第２のプログラムにおいては、第1の画像が撮像され、第1の画像が格納され、格納された第1の画像のエッジ領域が検出され、検出されたエッジ領域の情報に基づいて、マスク画像が生成され、第１の画像とマスク画像とが合成され、第３の画像が生成され、第３の画像が表示される。
【００２８】
本発明の第１または第２の画像処理装置は、独立した装置であっても良いし、画像処理を行うブロックであっても良い。
【発明の効果】
【００２９】
本発明によれば、デジタルスチルカメラでの撮像の失敗を抑制することが可能になると共に、像ぶれやピントをうまくあわせることができずに生じるボケを生じさせないような撮像方法を初心者でも容易に体得することが可能となる。
【発明を実施するための最良の形態】
【００３０】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００３１】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００３２】
即ち、本発明の第１の画像処理装置は、第1の画像を撮像する撮像手段（例えば、図１のCCD１３）と、第1の画像を格納する格納手段（例えば、図２の画像メモリ３２）と、第1の画像より前に撮像された、格納手段に格納されている第２の画像と第１の画像とに基づいて、像ぶれ領域を検出する像ぶれ検出手段（例えば、図２の像ぶれ位置抽出部３６）と、像ぶれ検出手段により検出された像ぶれ領域の情報に基づいて、マスク画像を生成するマスク画像生成手段（例えば、図２のマスク画像生成部３７）と、第１の画像とマスク画像とを合成し、第３の画像を生成する合成手段（例えば、図２の合成部３８）と、第３の画像を表示する表示手段（例えば、図１のディスプレイ２０）とを備えることを特徴とする。
【００３３】
前記第３の画像を縮小する縮小手段（例えば、図２の縮小部３９）をさらに設けるようにさせることができ、表示手段には、縮小手段により縮小された第３の画像を表示させるようにすることができる。
【００３４】
前記第１の画像と第２の画像のそれぞれに対応する位置の画素間の画素値の差分を計算する差分計算手段（例えば、図２の差分値計算部３４）をさらに設けるようにさせることができ、像ぶれ検出手段には、各画素毎に差分計算手段により計算された差分と、所定の閾値とを比較して、所定の閾値以上となる位置の画素を像ぶれ領域として検出させるようにすることができる。
【００３５】
前記格納手段に格納された第1の画像のエッジ領域を検出するエッジ検出手段（例えば、図１２のエッジ位置抽出部８１）をさらに設けるようにさせることができ、マスク画像生成手段（例えば、図１２のマスク画像生成部７７）には、像ぶれ検出手段（例えば、図１２の像ぶれ位置抽出部７６）により検出された像ぶれ領域の情報、および、エッジ検出手段により検出されたエッジ領域の情報に基づいて、マスク画像を生成させるようにすることができる。
【００３６】
前記格納手段に格納された第１の画像にエッジ強調処理を施すエッジ強調手段（例えば、図１２のラプラシアンフィルタ８０）をさらに設けるようにさせることができ、エッジ検出手段には、エッジ強調手段（例えば、図１２のエッジ位置抽出部８１）によりエッジ強調処理が施されている格納手段に格納された第1の画像の各画素と、所定の閾値とを比較して、所定の閾値以上となる位置の画素をエッジ領域として検出させるようにすることができる。
【００３７】
前記エッジ強調手段（例えば、図１２のラプラシアンフィルタ８０）には、ラプラシアンフィルタを用いて格納手段に格納された第１の画像にエッジ強調処理を施すようにさせることができる。
【００３８】
本発明の第１の画像処理方法は、第1の画像を撮像する撮像ステップ（例えば、図３のフローチャートのステップＳ１）と、第1の画像を格納する格納ステップ（例えば、図３のフローチャートのステップＳ２）と、第1の画像より前に撮像された、格納ステップの処理で格納されている第２の画像と第１の画像とに基づいて、像ぶれ領域を検出する像ぶれ検出ステップ（例えば、図４のフローチャートのステップＳ２５）と、像ぶれ検出ステップの処理で検出された像ぶれ領域の情報に基づいて、マスク画像を生成するマスク画像生成ステップ（例えば、図４のフローチャートのステップＳ２６，Ｓ２７）と、第１の画像とマスク画像とを合成し、第３の画像を生成する合成ステップ（例えば、図１のフローチャートのステップＳ５）と、第３の画像を表示する表示ステップ（例えば、図１のフローチャートのステップＳ７）とを含むことを特徴とする。
【００３９】
本発明の第２の画像処理装置は、第1の画像を撮像する撮像手段（例えば、図１のCCD１３）と、第1の画像を格納する格納手段（例えば、図７の画像メモリ５１）と、格納手段に格納された第1の画像のエッジ領域を検出するエッジ検出手段（例えば、図７のエッジ位置抽出部５３）と、エッジ検出手段により検出されたエッジ領域の情報に基づいて、マスク画像を生成するマスク画像生成手段（例えば、図７のマスク画像生成部５４）と、第１の画像とマスク画像とを合成し、第３の画像を生成する合成手段（例えば、図７の合成部５５）と、第３の画像を表示する表示手段（例えば、図１のディスプレイ２０）とを備えることを特徴とする。
【００４０】
前記格納手段に格納された第１の画像にエッジ強調処理を施すエッジ強調手段（例えば、図７のラプラシアンフィルタ５２）をさらに設けるようにさせることができ、エッジ検出手段には、エッジ強調手段によりエッジ強調処理が施されている格納手段に格納された第1の画像の各画素と、所定の閾値とを比較して、所定の閾値以上となる位置の画素をエッジ領域として検出させるようにすることができる。
【００４１】
前記エッジ強調手段（例えば、図７のラプラシアンフィルタ５２）には、ラプラシアンフィルタを用いて格納手段に格納された第１の画像にエッジ強調処理を施すようにさせることができる。
【００４２】
本発明の第２の画像処理方法は、第1の画像を撮像する撮像ステップ（例えば、図９のフローチャートのステップＳ４１）と、第1の画像を格納する格納ステップ（例えば、図９のフローチャートのステップＳ４２）と、格納ステップの処理で格納された第1の画像のエッジ領域を検出するエッジ検出ステップ（例えば、図１０のフローチャートのステップＳ６５）と、エッジ検出ステップの処理で検出されたエッジ領域の情報に基づいて、マスク画像を生成するマスク画像生成ステップ（例えば、図１０のフローチャートのステップＳ６６，Ｓ６７）と、第１の画像とマスク画像とを合成し、第３の画像を生成する合成ステップ（例えば、図９のフローチャートのステップＳ４４）と、第３の画像を表示する表示ステップ（例えば、図９のフローチャートのステップＳ４６）とを含むことを特徴とする。
【００４３】
尚、第１および第２の記録媒体、並びに、第１および第２のプログラムについての対応関係は、第１および第２の画像処理方法にそれぞれ対応するものであるので、その説明は省略する。
【００４４】
以下、本発明の一実施の形態であるデジタルスチルカメラについて、図面を参照して説明する。
【００４５】
図１は、本発明を適用したデジタルスチルカメラ１の構成例を示している。このデジタルスチルカメラ１は、被写体を撮像する際、ファインダや映像モニタを兼ねる内蔵されたディスプレイ２０に、手ぶれの発生の有無をマスク画像として、被写体を映し出した画像上に表示するものである。
【００４６】
デジタルスチルカメラ１は、大別して光学系、信号処理系、記録系、表示系、および制御系から構成される。
【００４７】
光学系は、被写体の画像を構成する光を集光するレンズ１１、集光された光の光量を調整する絞り１２、および集光されて光量が調整された光を所定のフレームレートで光電変換して画像データを生成するCCDイメージセンサ１３から構成される。なお、CCDイメージセンサ１３が生成する画像は、多チャンネル（例えば、３チャンネル）の輝度信号からなるカラー画像データであることを前提に説明するが、１チャンネルの輝度信号からなるモノクロ画像データである場合であってもよいことは言うまでもない。また、ユーザが、フラッシュ２６を動作するようにインプットデバイス２４を操作すると、フラッシュ制御装置（CTRL）２５が対応する操作情報に基づいて、フラッシュ発光装置２６を制御して発光させる。
【００４８】
信号処理系は、CCDイメージセンサ１３から出力された画像をサンプリングすることによってノイズを低減させる相関２重サンプリング回路（CDS）１４、相関２重サンプリング回路１４によってノイズが除去された画像をAD変換するA/Dコンバータ１５、A/Dコンバータ１５が出力する画像に対して手ぶれの発生を示すマスク画像を生成する処理を施すDSP(Digital Signal Processor)１６から構成される。
【００４９】
デジタルスチルカメラ１の記録系は、DSP１６から入力される画像をエンコードしてメモリ２２に記録したり、メモリ２２に記憶されている符号データを読み出してデコードし、DSP１６に供給したりするCODEC(Compression/Decompression)２１、および、エンコードされた画像を記憶する、磁気ディスク、光ディスク、光磁気ディスク、半導体などよりなるメモリ２２から構成される。
【００５０】
表示系は、DSP１６から供給される画像をDA変換するD/Aコンバータ１８、D/Aコンバータ１８が出力するアナログの画像を、輝度Ｙ、色差Ｃｒ，Ｃｂ等の通常のビデオ信号に変換してディスプレイ２０に出力するビデオエンコーダ１９、およびビデオ信号に対応する画像を表示することによってファインダやビデオモニタとして機能するLCD(Liquid Crystal Display)等よりなるディスプレイ２０から構成される。
【００５１】
制御系は、CCDイメージセンサ１３乃至DSP１６の動作タイミングを制御するタイミングジェネレータ（ＴＧ）１７、ユーザからの各種の操作を受け付けるインプットデバイス２４、およびデジタルスチルカメラ１の全体を制御するCPU(Central Processing Unit)２３から構成される。
【００５２】
次に、図１のデジタルスチルカメラ１の動作について説明する。
【００５３】
CCDイメージセンサ１３は、光学系を通過した入射光を、撮像面上の各受光素子で受光し、光電変換させることにより電気信号に変換し、相関２重サンプリング回路１４に供給する。相関２重サンプリング回路１４は、供給された電子信号のノイズを除去し、A/Dコンバータ１５に供給する。A/Dコンバータ１５は、ノイズが除去された電気信号をデジタル信号に変換して、DSP１６に供給する。この際、ユーザがインプットデバイス２４を操作することにより、撮像時に、フラッシュ制御装置２５がフラッシュ発光装置２６を制御して、撮像に必要な光を発光させることもできる。
【００５４】
タイミングジェネレータ１７は、一定のフレームレートによる画像取り込みを維持するように信号処理系を制御する。タイミングジェネレータ１７は、DSP１６に対しても一定のレートで画像のデータ（ストリームデータ）を供給する。DSP１６は、後述するように、手ぶれを認識できるように画像データを処理した後、D/Aコンバータ１８、若しくはCODEC２１、またはその両方に出力する。D/Aコンバータ１８は、DSP１６から送られる画像データをアナログ信号に変換し、ビデオエンコーダ１９に出力する。ビデオエンコーダ１９は、アナログ信号に変換されている画像データをビデオ信号に変換し、ディスプレイ２０に出力して表示させる。ユーザは、ディスプレイ２０に表示された画像をモニタできるので、ディスプレイ２０はデジタルスチルカメラ１のファインダとしての機能も果たしている。
【００５５】
また、CODEC２１は、DSP１６から送られる画像データを符号化し、メモリ２２に記録させる。メモリ２２は、半導体記録媒体、磁気記録媒体、光磁気記録媒体、または光記録媒体など、電子的にデータが記録できる記録媒体であればいずれのものであってもよい。
【００５６】
以上のように、デジタルスチルカメラ１では、インプットデバイス２４がユーザにより操作されて、いわゆるシャッタボタンの押下に対応する操作がなされるまでの間、撮影のための構図などを決めるのを補助する目的で、高速で連続撮影される画像を随時ディスプレイ２０に表示することができる。以降においては、このようなデジタルスチルカメラ１の動作状態（シャッタボタンが押下されるまでの状態）をモニタモードと称するものとする。
【００５７】
次に、図２を参照して、DSP１６の詳細な構成について説明する。
【００５８】
画像メモリ３１は、A/Dコンバータ１５より供給される画像データを一時的に格納して、適宜画像メモリ３２、グレイスケール値変換部３５、合成部３８、および、CODEC２１に供給する。より詳細には、画像メモリ３１は、新たに画像データが供給されると格納している直前の画像データを画像メモリ３２、グレイスケール値変換部３５、および合成部３８に供給する。
【００５９】
画像メモリ３２は、画像メモリ３１より供給される画像データを一時的に格納した後、グレイスケール値変換部３３に供給する。より詳細には、画像メモリ３２は、画像メモリ３１より画像データが供給されると、直前まで格納していた画像データをグレイスケール値変換部３３に供給する。
【００６０】
グレイスケール値変換部３３，３５は、いずれも同様の機能を有するものであり、それぞれ画像メモリ３２，３１より供給される画像データの各画素の画素値をグレイスケール値に変換し、変換結果を差分値計算部３４に供給する。すなわち、グレイスケール値変換部３３，３５は、画像データの各画素のRGB（Red Green Blueの光の三原色）の各チャンネルの画素値の重みつき和を求めることにより、グレイスケール値に変換する。また、グレイスケール値変換部３３，３５はこれ以外の方法で各画素値をグレイスケール値に変換してもよく、例えば、RGBチャンネルのいずれかの値をそのままグレイスケール値として変換するようにしても良い。
【００６１】
従って、画像メモリ３１，３２には、それぞれ最新の画像データと、その直前の画像データが格納された状態となるので、グレイスケール値変換部３３，３５は、それぞれ最新の画像データと、その直前の画像データの各画素値をグレイスケール値に変換し、差分値計算部３４に供給する。尚、最新の画像データと直前の画像データとは、ストリームデータとしてみたときに連続するフィールドの画像データとしてもよいことはもちろんのこと、像ぶれが検出できる程度の時間間隔で取り込まれる画像データとしてもよく、画像メモリ３１，３２に格納される画像データの時間的な前後関係が保たれていればよい。
【００６２】
差分値計算部３４は、連続する最新の画像データと、その直前の画像データのそれぞれの対応する位置（それぞれの画像上の同一の位置）の画素間の、グレイスケール値に変換された画素値の差分の絶対値を求めて、像ぶれ位置抽出部３６に供給する。
【００６３】
像ぶれ位置抽出部３６は、差分値計算部３４より供給された最新の画像データと直前の画像データの各画素間のグレイスケール値に変換された画素値の差分の絶対値と、所定の閾値th1とを比較して、所定の閾値th1よりも大きな画素の位置を像ぶれが発生している領域として、その画素位置の情報を抽出し、マスク画像生成部３７に供給する。
【００６４】
マスク画像生成部３７は、像ぶれ位置抽出部３６より供給された像ぶれが発生している領域であることを示す画素位置の情報に対応する位置の画素を特定の色で表示するマスク画像を生成し、合成部３８に供給する。
【００６５】
合成部３８は、マスク画像生成部３７より供給されたマスク画像を画像メモリ３１より読み出される最新の画像の画像データに合成し、合成画像の画像データを生成して縮小部３９に供給する。より詳細には、合成部３８は、最新の画像上にマスク画像を重ねるようにし合成して、合成画像を生成する。
【００６６】
縮小部３９は、ディスプレイ２０の表示解像度に合わせて、例えば、所定の間隔で画素を間引きするなどして合成画像を縮小し、D/Aコンバータ１８、および、ビデオエンコーダ１９を介してディスプレイ２０に表示させる。また、縮小部３９による合成画像の縮小方法は、間引きによる方法に限るものではなく、例えば、合成画像の縦、横方向ともに半分の大きさの解像度に縮小する場合、縦２画素、横２画素の計4画素で構成される部分に格子状に分割し、各格子状の部分の平均値を１の画素の画素値とすることにより縮小するようにしてもよい。
【００６７】
次に、図３のフローチャートを参照して、図２のDSP１６を用いた図１のデジタルスチルカメラ１によるマスク画像表示処理について説明する。
【００６８】
ステップＳ１において、レンズ１１および絞り１２を介して被写体となる画像がCCDイメージセンサ１３により撮像され、撮像された画像がCDS１４およびA/Dコンバータ１５を介して、画像データとしてDSP１６に供給される。より詳細には、CCDイメージセンサ１３は、レンズ１１および絞り１２を介して撮像される被写体の光を光電変換により画像を電気信号に変換し、相関２重サンプリング回路（CDS）１４に供給する。相関２重サンプリング回路（CDS）１４は、供給された画像の電気信号よりノイズを除去し、A/Dコンバータ１５に供給する。A/Dコンバータ１５は、アナログ信号である画像の電気信号をデジタル信号に変換してDSP１６に供給する。以上の処理により、画像が撮像される。
【００６９】
ステップＳ２において、DSP１６の画像メモリ３１は、A/Dコンバータ１５より供給された今撮像された最新の画像データを格納すると共に、それまで格納していた直前の画像データを画像メモリ３２に供給し、格納させる。尚、以降において、今撮像された最新の画像の画像データを画像データＡと称し、その直前の画像の画像データを画像データＢと称するものとする。従って、ステップＳ２においては、画像メモリ３１が画像データＡを格納し、画像メモリ３２は、それまで画像メモリ３１に格納されていた画像データAを、画像データＢとしてに格納する。
【００７０】
ステップＳ３において、画像メモリ３２は、画像データＢを格納しているか否かを判定する。すなわち、最初に画像が撮像された場合、画像メモリ３１には画像データＡが格納されていないので、最新の画像の画像データを画像データＡとして格納することはできても、それまでの画像データを画像メモリ３２に画像データＢとして格納させることができない。従って、ステップＳ３においては、実質的には、最初の処理であるか否かが判定されることになる。
【００７１】
ステップＳ３において、例えば、最初に画像が撮像された場合、画像メモリ３１には、それまでに画像データＡが格納されていないことになるので、当然に、画像メモリ３２には、画像データＢが格納されていないことになるので、その処理は、ステップＳ１に戻ることになる。
【００７２】
ステップＳ３において、画像データＢが画像メモリ３２に格納されていると判定された場合、ステップＳ４において、像ぶれマスク画像生成処理が実行される。
【００７３】
ここで、図４のフローチャートを参照して、像ぶれマスク画像生成処理について説明する。尚、以降においては、像ぶれ領域の画素に所定の色を表示し、それ以外の領域に色を付さない像ぶれマスク画像の画像データを画像データmbとする。また、像ぶれマスク画像データmbは、画像データAと同等の大きさの画像の画像データであって、各画素はマスクを示す所定の色が付されるonの状態か、または所定の色が付されないoffの状態となる２値画像である。さらに、画像データAの幅はwであり、高さはhであるものとする。
【００７４】
ステップＳ２１において、グレイスケール値変換部３３，３５は、それぞれ画像メモリ３２，３１に格納された画像データBと画像データAを読み出し、各画素の画素値をグレイスケール値に変換し、差分値計算部３４に出力する。
【００７５】
ステップＳ２２において、差分値計算部３４は、画像上の垂直方向の画素位置を特定する座標であるカウンタｙを０に初期化する。さらに、ステップＳ２３において、差分値計算部３４は、画像上の水平方向の画素位置を特定する座標であるカウンタｘを０に初期化する。
【００７６】
ステップＳ２４において、差分値計算部３４は、それぞれの画像上の位置(x,y)における、画素間の画素値の差分値ｄを以下の式（１）を演算することにより求め、マスク画像生成部３７に供給する。
【００７７】
d=IA(x,y)−IB(x,y)
・・・（１）
【００７８】
ここで、IA(x,y)は、画像データＡの位置(x,y)における画素値を示し、IB(x,y)は、画像データＢの位置(x,y)における画素値を示す。
【００７９】
尚、画像データAおよび画像データBはカラー画像の画像データであり、各画素はRGBの３チャンネルの値を持っているので、dは3次元の差分値ベクトルとなりdvector=(dr,dg,db)と表される。
【００８０】
ここで、dvectorは、差分値ベクトルを示し、差分値drは、dr=IAr(x,y)−IBr(x,y)であり、差分値dgは、dg=IAg(x,y)−IBg(x,y)であり、差分値dbは、db=IAb(x,y)−IBb(x,y)であり、それぞれがRGB成分の差分値を示している。尚、「vector」は、ベクトルであることを示す。
【００８１】
ステップＳ２５において、マスク画像生成部３７は、以下の式（２）を演算することにより、差分値ベクトルｄvectorの大きさ|dvector|が、あらかじめ定めた閾値th1よりも大きいか否かを判定する。
【００８２】
|dvector|=|dr| +|dg| +|db|
・・・（２）
【００８３】
例えば、ステップＳ２５において、大きさ|dvector|が閾値th1より大きいと判断された場合、すなわち、画素値の変化が大きく手ぶれが生じている領域の画素であると判定された場合、ステップＳ２６において、マスク画像生成部３７は、マスク画像データmb上の位置（x,y）の画素の画素値mb（x,y）をマスクを示す色を付するように、onの状態に設定する（mb（x,y）＝onに設定する）。
【００８４】
一方、ステップＳ２５において、大きさ|dvector|が閾値th1より大きくないと判断された場合、すなわち、画素値の変化が小さく手ぶれが生じていない領域の画素であると判定された場合、ステップＳ２７において、マスク画像生成部３７は、マスク画像データmb上の位置（x,y）の画素の画素値mb（x,y）に色を付さないように、offの状態に設定する（mb（x,y）＝offに設定する）。
【００８５】
ステップＳ２８において、差分値計算部３４は、カウンタｘが画像上で取りうる値の最大値w−1より大きいか否かを判定し、小さいと判定した場合、ステップＳ２９において、カウンタｘを１インクリメントして、その処理は、ステップＳ２４に戻り、それ以降の処理が繰り返される。すなわち、カウンタｘが画像上で取りうる値となる最大値w−１となるまで（水平方向の画素について全て差分値の大きさ|dvector|が閾値th1より大きいか否かの判定がなされるまで）、ステップＳ２４乃至Ｓ２９の処理が繰り返される。
【００８６】
ステップＳ２８において、カウンタｘが画像上で取りうる値となる最大値w−１となった、すなわち、水平方向の画素について全て差分値の大きさ|dvector|が閾値th1より大きいか否かの判定がなされるまで処理がなされたと判定された場合、ステップＳ３０において、差分値計算部３４は、カウンタyが画像上で取りうる値の最大値h−1より大きいか否かを判定する。ステップＳ３０において、例えば、カウンタｙが画像上で取りうる値の最大値h−1より大きくないと判定された場合、ステップＳ３１において、差分値計算部３４は、カウンタyの値を１インクリメントして、その処理は、ステップＳ２３に戻る。すなわち、カウンタｙが画像上で取りうる値となる最大値h−１となるまで（垂直方向の画素について全て差分値の大きさ|dvector|が閾値th1より大きいか否かの判定がなされるまで）、ステップＳ２３乃至Ｓ３１の処理が繰り返される。
【００８７】
そして、ステップＳ３０において、例えば、カウンタｙが画像上で取りうる値の最大値h−1より大きくないと判定された場合、すなわち、垂直方向の画素について全て差分値の大きさ|dvector|が閾値th1より大きいか否かの判定がなされたと判定された場合、処理を終了する。
【００８８】
以上の処理により、マスク画像生成部３７は、画像データAと画像データBの各画素について差分値（の絶対値）|d|を求めて、差分値|d|が閾値th1よりも大きい場合、その画素が手ぶれ領域の画素であるとみなし、その画素に対応する位置のマスク画像データmbの画素を、mb(x,y)＝onとし、差分値|d|が閾値th1よりも小さい場合、その領域の画素をmb(x,y)＝offとすることにより、マスク画像データmbを生成し、生成したマスク画像データmbを合成部３８に供給する。
【００８９】
ここで、図３のフローチャートの説明に戻る。
【００９０】
ステップＳ５において、合成部３８は、画像メモリ３１に格納されている画像データＡを読み出し、画像データAの上に、マスク画像生成部３７より供給されるマスク画像データmbをオーバーラップするようにして合成することにより合成画像を生成して、縮小部３９に供給する。尚、以降において、この画像データＡとマスク画像データmbとの合成画像を画像データCと称するものとする。
【００９１】
ステップＳ６において、縮小部３９は、合成部３８より供給された画像データCをディスプレイ２０の表示解像度に合わせて、所定の間隔で画素を間引きして縮小し、ステップＳ７において、D/Aコンバータ１８、および、ビデオエンコーダ１９を介してディスプレイ２０に表示させる。尚、縮小方法は、これに限るものではなく、例えば、画像データCの縦、横方向ともに半分の大きさの解像度に縮小する場合、縦２画素、横２画素の計4画素で構成される部分に格子状に分割し、各格子状の部分の平均値を１の画素の画素値とすることにより縮小するようにしてもよい。
【００９２】
ステップＳ８において、CPU２３は、インプットデバイス２４がユーザにより操作されて、モニタモードが終了したか否かを判定し、モニタモードが終了していないと判定した場合、その処理は、ステップＳ１に戻り、それ以降の処理が繰り返される。また、ステップＳ８において、モニタモードが終了する操作がなされたと判定された場合、その処理は、終了する。
【００９３】
以上の処理により、例えば、手ぶれがない状態であると、画像データA，Ｂには、それぞれの画素間において変化が生じないことになるので、画素間の差分値は小さくなり、図４のフローチャートのステップＳ２５の処理においては、閾値th1よりも大きくないと判定されることになり、マスク画像データmbの全画素がmb(x,y)＝offに設定されることになり、例えば、図５で示されるように画像データAそのものとなる画像データCがディスプレイ２０に表示されることになる。
【００９４】
一方、手ぶれが生じると、画像データA，Ｂの、それぞれの画素間において変化が生じることになるので、画素間の差分値は大きくなり、図４のフローチャートのステップＳ２５の処理においては、閾値th1よりも大きいと判定されることになり、マスク画像データmbにおける手ぶれが生じている画素がmb(x,y)＝onに設定されることになり、例えば、図６で示されるように画像データAに、マスク画像データmbがオーバーラップされたような画像データCがディスプレイ２０に表示されることになる。尚、図６において、マスク画像上の画素でmb(x,y)＝onに設定された画素は、白色となるように設定されている。
【００９５】
結果として、ユーザが、デジタルスチルカメラ１を用いて、撮像しようとする際、手ぶれが生じると、図６のようにマスク画像データmbが最新の画像（画像データA）にオーバーラップされたような合成画像である画像データCがディスプレイ２０に表示されることになるので、ユーザは、このマスク画像データmbがディスプレイ２０上に表示されないように、構えるようにすることで、手ぶれによる撮像の失敗を抑制することができる。また、撮像前に、撮像される画像に発生するであろう手ぶれの状態をディスプレイ２０に表示することにより、視覚的にユーザに対して示すことができるので、この情報に基づいて、手ぶれによる撮像の失敗を抑制することができるうえ、このマスク画像の情報に基づいて、手ぶれを生じさせない撮像手法をユーザ自身で体得することが可能となる。
【００９６】
尚、以上の演算にあたり、高解像度の画像であると、上述したマスク画像の生成に係る差分値を求める計算量が多く、処理時間が掛かり過ぎてしまい、滑らかな動画像としてディスプレイ２０に表示できないような場合、DSP１６の処理能力に応じて画像メモリ３１に格納する画像データAを適宜間引くなどして、適宜解像度を低下させてから上述の処理を実行するようにしてもよい。
【００９７】
また、本明細書の記載において、画像データは、画像を構成する各画素の画素値や再生タイミングなどを示すデータからなるものであり、例えば、画像データが生成される、格納される、または処理されるとは、実質的に、その画像データに基づいた画像が生成される、格納される、または処理されることであるものとする。また、例えば、画像データA，Bが合成されて、合成画像である画像データCが生成されるとは、画像データAからなる画像Aと、画像データBからなる画像Bとが合成されることにより、画像データCからなる合成画像としての画像Cが生成されるものとする。
【００９８】
以上においては、手ぶれが生じているか否かをマスク画像として表示するようにした例について説明してきたが、ピントが画像上のどの位置の被写体に合っているのかを表示させるようにして、ユーザが所望とする被写体に対してピントが合っているか否かを確認できるようにしても良い。
【００９９】
図７は、撮像しようとする画像上のどの被写体にピントがあっているかを示すようにしたDSP１６の構成を示している。
【０１００】
画像メモリ５１は、上述した画像メモリ３１と同様のものであり、最新の画像データである画像データAを一時的に格納し、順次ラプラシアンフィルタ５２、合成部５５、および、CODEC２１に供給する。
【０１０１】
ラプラシアンフィルタ５２は、画像メモリ５１より画像データAを読み出して、各画素について、例えば、図８で示されるようなラプラシアンオペレータからなるフィルタをかけることにより、画像データA上のエッジ部分を強調して、エッジ位置抽出部５３に供給する。尚、ラプラシアンフィルタにより強調されるエッジ部は、画像データAにおいて、最も細かい境界部分、すなわち、テクスチャを示すことになり、結果として、最もピントがあっている部分が強調されることになる。図８においては、ラプラシアンフィルタ５２の例として、３×３のフィルタが示されており、上部左から右に向って、０，１，０、中央左から右に向って、１，−４，１、下部左から右向って、０，１，０のフィルタが示されている。尚、図８で示されるラプラシアンフィルタは、一例に過ぎず、これ以外のラプラシアンフィルタであっても良いし、さらには、ラプラシアンフィルタでなくてもエッジが強調できる処理であればよいことは言うまでもない。
【０１０２】
エッジ位置抽出部５３は、ラプラシアンフィルタ５２によりエッジが強調された画像データAの各画素について各画素の画素値の絶対値が閾値よりも大きいか否かを判定し、大きいときエッジ領域の画素であるとみなし、その位置の情報をマスク画像生成部５４に供給する。
【０１０３】
マスク画像生成部５４は、エッジ位置抽出部３７より供給されたエッジ領域、すなわち、ピントが合っている領域であることを示す画素位置の情報に対応する位置の画素を特定の色で表示するマスク画像を生成し、合成部５５に供給する。
【０１０４】
合成部５５は、合成部３８と同様のものであり、マスク画像生成部５４より供給されたマスク画像を画像メモリ５１より読み出される最新の画像の画像データＡに合成し、合成画像を生成して縮小部５６に供給する。より詳細には、合成部５５は、最新の画像上にマスク画像を重ねるように合成して、合成画像を生成する。
【０１０５】
縮小部５６は、縮小部３９と同様のものであり、ディスプレイ２０の表示解像度に合わせて、例えば、所定の間隔で画素を間引きするなどして合成画像を縮小し、D/Aコンバータ１８、および、ビデオエンコーダ１９を介してディスプレイ２０に表示させる。
【０１０６】
次に、図９のフローチャートを参照して、図８のDSP１６を用いた図１のデジタルスチルカメラ１によるマスク画像表示処理について説明する。尚、図９のフローチャートにおいては、ステップＳ４１，Ｓ４４乃至Ｓ４７の処理は、図３のフローチャートを参照して説明したステップＳ１，Ｓ５乃至Ｓ８の処理と同様であるので、その説明は省略する。
【０１０７】
ステップＳ４２において、DSP１６の画像メモリ５１は、A/Dコンバータ１５より供給された今撮像された最新の画像データを画像データＡとして格納する。
【０１０８】
ステップＳ４３において、エッジマスク画像生成処理が実行される。
【０１０９】
ここで、図１０のフローチャートを参照して、エッジマスク画像生成処理について説明する。尚、以降においては、エッジ領域の画素に所定の色を表示し、それ以外の領域に色を付さないエッジマスク画像データをエッジマスク画像データmeとする。また、エッジマスク画像データmeは、画像データAと同等の大きさの画像であって、各画素はマスクの色が付されるonの状態か、または色が付されないoffの状態となる２値画像である。さらに、画像データAの幅はwであり、高さはhであるものとする。
【０１１０】
ステップＳ６１において、ラプラシアンフィルタ５２は、画像上の垂直方向の画素位置を特定する座標であるカウンタｙを０に初期化する。さらに、ステップＳ６２において、ラプラシアンフィルタ５２は、画像上の水平方向の画素位置を特定する座標であるカウンタｘを０に初期化する。
【０１１１】
ステップＳ６３において、ラプラシアンフィルタ５２は、画像上の位置(x,y)における、画素について、以下の式（３）を演算することによりエッジ領域の画素の画素値を強調することでエッジ部を強調し、エッジ位置抽出部５３に供給する。
【０１１２】
l=−4IA(x,y) +IA(x-1,y)+IA(x+1,y) +IA(x,y-1) +IA(x,y+1)
・・・（３）
尚、画像データＡは、カラー画像であり、各画素はRGBの３チャンネルの値を持っているので、lは3次元のベクトルとなりlvector=(lr,lg,lb)と表される。
【０１１３】
ここで、lvectorは、強調ベクトルを示し、強調部lrは、lr=−4IAr(x,y)+IAr(x-1,y)+IAr(x+1,y)+IAr(x,y-1)+IAr(x,y+1)であり、強調部lgは、lg=−4IAg(x,y)+IAg(x-1,y)+IAg(x+1,y)+IAg(x,y-1)+IAg(x,y+1)であり、強調部lbは、lb=−4IAb(x,y)+IAb(x-1,y)+IAb(x+1,y)+IAb(x,y-1)+IAb(x,y+1)であり、それぞれがRGB成分のエッジ強調された画素値を示している。
【０１１４】
また、式（３）においては、そのまま、画像データＡのすべての(x,y)の位置に適用すると、画像データAの範囲外の画素値が必要となってしてしまうので、以下の例外処理を行う。x−1、y−1が0より小さくなる場合は、x−1、y−1の代わりに0を用いる。また、x+1がw−1より大きくなる場合はw−1を用い、y+1がh−1より大きくなる場合はh−1を用いる。
【０１１５】
ステップＳ６４において、マスク画像生成部５４は、以下の式（４）を演算することにより、強調ベクトルlvectorの大きさ|lvector|が、あらかじめ定めた閾値th2よりも大きいか否かを判定する。
【０１１６】
|lvector|=|lr| +|lg| +|lb| 
・・・（４）
【０１１７】
例えば、ステップＳ６４において、大きさ|lvector|が閾値th2より大きいと判断された場合、すなわち、エッジ強調された画素値が大きく、エッジが生じている領域、すなわち、ピントが合っている領域の画素であると判定された場合、ステップＳ６５において、マスク画像生成部５４は、マスク画像データmeの位置（x,y）の画素の画素値me（x,y）をマスクを示す色を付するように、onの状態に設定する（me（x,y）＝onに設定する）。
【０１１８】
一方、ステップＳ６４において、大きさ|lvector|が閾値th2より大きくないと判断された場合、すなわち、エッジ強調された画素値が小さく、エッジが生じていない領域、すなわち、ピントが合っていない領域の画素であると判定された場合、ステップＳ６６において、マスク画像生成部５４は、マスク画像データmeの位置（x,y）の画素の画素値me（x,y）に色を付さないように、offの状態に設定する（me（x,y）＝offに設定する）。
【０１１９】
ステップＳ６７において、ラプラシアンフィルタ５２は、カウンタｘが画像上で取りうる値の最大値w−1より大きいか否かを判定し、小さいと判定した場合、ステップＳ６８において、カウンタｘを１インクリメントして、その処理は、ステップＳ６３に戻り、それ以降の処理が繰り返される。すなわち、カウンタｘが画像上で取りうる値となる最大値w−１となるまで（水平方向の画素について全てエッジ強調された画素の画素値の大きさ|lvector|が閾値th2より大きいか否かの判定がなされるまで）、ステップＳ６３乃至Ｓ６８の処理が繰り返される。
【０１２０】
ステップＳ６７において、カウンタｘが画像上で取りうる値となる最大値w−１となった、すなわち、水平方向の画素について全てエッジ強調された画素の大きさ|lvector|が閾値th2より大きいか否かの判定がなされる処理がなされたと判定された場合、ステップＳ６９において、ラプラシアンフィルタ５２は、カウンタyが画像上で取りうる値の最大値h−1より大きいか否かを判定する。ステップＳ６９において、例えば、カウンタｙが画像上で取りうる値の最大値h−1より大きくないと判定された場合、ステップＳ７０において、ラプラシアンフィルタ５２は、カウンタyの値を１インクリメントして、その処理は、ステップＳ６２に戻る。すなわち、カウンタｙが画像上で取りうる値となる最大値h−１となるまで（垂直方向の画素について全てのエッジ強調された画素の画素値の大きさ|lvector|が閾値th2より大きいか否かの判定がなされるまで）、ステップＳ６２乃至Ｓ７０の処理が繰り返される。
【０１２１】
そして、ステップＳ６９において、例えば、カウンタｙが画像上で取りうる値の最大値h−1より大きいと判定された場合、すなわち、垂直方向の画素について全てのエッジ強調された画素の画素値の大きさ|lvector|が閾値th2より大きいか否かの判定がなされたと判定された場合、処理を終了する。
【０１２２】
以上の処理により、マスク画像生成部５４は、画像データAと画像データBの各画素についてエッジ強調された画素の画素値｜l｜を求めて、エッジ強調された画素値が閾値th2よりも大きい場合、その画素がエッジ領域の画素、すなわち、ピントが合っている被写体を表示している領域であるとみなし、その画素に対応する位置のマスク画像データmeの画素を、me(x,y)＝onとし、エッジ強調された画素の画素値が閾値th2よりも小さい場合、その領域の画素をme(x,y)＝offとすることにより、マスク画像データmeを生成し、生成したマスク画像データmeを合成部５５に供給する。
【０１２３】
尚、図７のDSP１６においては、エッジの位置を抽出するためラプラシアンフィルタを用いたが、これに限らず別の方法で、エッジの有無（ピントがあっている領域の有無）を判定するようにしてもよい。
【０１２４】
以上の処理により、例えば、ピントがあっていない状態（合焦点となるように調整されていない状態）であると、ラプラシアンフィルタが掛けられた画像データAの各画素の画素値の絶対値は、小さくなり、図１０のフローチャートのステップＳ６４の処理においては、閾値th2よりも大きくないと判定されることになり、マスク画像データmeの全画素がme(x,y)＝offに設定されることになり、例えば、図５で示されるように画像データAそのものとなる画像データC（マスクされる部分がないので画像データC＝画像データA）がディスプレイ２０に表示されることになる。つまり、この場合、表示された図５の画像上のどの位置にもピントがあっていないことが示される。
【０１２５】
一方、エッジが生じると、すなわち、ピントがあった領域（合焦点となるように調整されている領域）が存在すると、その領域においては、ラプラシアンフィルタが掛けられた各画素の画素値の絶対値は大きくなるので、図１０のフローチャートのステップＳ２５の処理においては、閾値th2よりも大きいと判定されることになり、マスク画像データmeにおけるエッジが生じている画素、すなわち、ピントが合っている領域の画素がme(x,y)＝onに設定されることになり、例えば、図１１で示されるように画像データAに、マスク画像データmeがオーバーラップされたような画像データCがディスプレイ２０に表示されることになる。尚、図１１において、マスク画像上の画素でme(x,y)＝onに設定された画素は、白色となるように設定されている。
【０１２６】
結果として、ユーザが、デジタルスチルカメラ１を用いて、撮像しようとする際、図１１で示されるようにマスク画像データmeが最新の画像の画像データ（画像データA）にオーバーラップされたような合成画像である画像データCがディスプレイ２０に表示されることになるので、ユーザは、このマスク画像データmeの位置を見ることで、ピントが合っている位置を認識することができ、必要に応じて焦点位置を調整させることができ、ピントがボケることによる撮像の失敗を抑制することができる。また、撮像前に、撮像される画像に発生するであろうピントが合っているか否かの状態をディスプレイ２０に表示することにより、視覚的にユーザに対してピントのあっている位置を示すことができるので、この情報に基づいて、ピントがボケることにより生じる撮像の失敗を抑制することができるうえ、このマスク画像の情報に基づいて、ピントがボケない撮像手法をユーザ自身で体得することが可能となる。
【０１２７】
以上においては、DSP１６の構成に応じて、手ぶれの発生状況を示すマスク画像としてオーバーラップ表示させる例と、ピントが合っている位置を示すマスク画像をオーバーラップ表示させる例について説明してきたが、上述の両方の機能を持たせるようにしても良い。
【０１２８】
図１２は、手ぶれの発生状況を示すマスク画像と、ピントが合っている位置を示すマスク画像を、それぞれ異なる色で表示してオーバーラップ表示させるようにしたDSP１６の構成を示している。
【０１２９】
図１２のDSP１６の基本的な構成は、図２のDSP１６の構成と、図７のDSP１６の構成とを組み合わせたものである。すなわち、図１２の画像メモリ７１は、図２の画像メモリ３１、および図７の画像メモリ５１に、画像メモリ７２は、図２の画像メモリ３２に、グレイスケール値変換部７３，７５は、図２のグレイスケール値変換部３３，３５に、差分値計算部７４は、図２の差分値計算部３４に、像ぶれ位置抽出部７６は、図２の像ぶれ位置抽出部３６に、縮小部７９は、図２の縮小部３９、および、図７の縮小部５６に、ラプラシアンフィルタ８０は、図７のラプラシアンフィルタ５２に、エッジ位置抽出部８１は、エッジ位置抽出部５３にそれぞれ対応するものである。
【０１３０】
尚、マスク画像生成部７７は、図２のマスク画像生成部３７、および、図７のマスク画像生成部５４で、それぞれに生成される像ぶれマスク画像データとエッジマスク画像データを生成し、合成部７８に供給する。また、合成部７８は、マスク画像生成部７７より供給された像ぶれマスク画像データとエッジマスク画像データに基づいて、像ぶれのみが生じている領域の画素については、第１の色で、エッジのみの領域の画素については、第２の色で、像ぶれとエッジの両方の領域については第３の色で、それぞれマスク画像データを生成し、画像データA上にオーバーラップして表示する。
【０１３１】
次に、図１３のフローチャートを参照して、図１２のDSP１６を用いた図１のデジタルスチルカメラ１によるマスク画像表示処理について説明する。尚、図１３のフローチャートにおいては、ステップＳ８１乃至Ｓ８５の処理、および、ステップＳ８７乃至Ｓ８９の処理は、図３のフローチャートを参照して説明したステップＳ１乃至Ｓ３、図９のフローチャートを参照して説明したステップＳ４３の処理、図３のフローチャートを参照して説明したステップＳ４の処理、および、ステップＳ６乃至Ｓ８の処理と同様であるので、その説明は省略する。
【０１３２】
ステップＳ８６において、合成部７８は、マスク画像生成部７７より供給された像ぶれマスク画像データとエッジマスク画像データに基づいて、像ぶれのみが生じている領域の画素については、第１の色で、エッジのみの領域の画素については、第２の色で、像ぶれとエッジの両方の領域については第３の色で、それぞれマスク画像データを生成し、画像データA上にオーバーラップして表示する。
【０１３３】
尚、ステップＳ８８において、縮小部７９が、ディスプレイ２０の表示解像度に合わせて、合成画像の縦、横方向ともに半分の大きさの解像度に縮小する場合、すなわち、縦２画素、横２画素の計4画素で構成される部分に格子状に分割し、各格子状の部分の平均値を１の画素の画素値とすることにより縮小する場合、その４画素の全てが像ぶれ領域であるとき、その４画素の部分に対応する縮小画素では、第1の色で表示させ、その４画素の全てがエッジ領域であるとき、その４画素の部分に対応する縮小画素では、第２の色で表示させ、その４画素の全てが像ぶれ領域とエッジ領域であるとき、その４画素の部分に対応する縮小画素では、第３の色で表示させるようにさせてもよい。
【０１３４】
また、以上においては、画像データの生成に、CCDイメージセンサを用いる場合について説明してきたが、これに限定されるものではなく、例えば、CCDイメージセンサ１３の代わりに、CMOS（Complementary Metal Oxide Semiconductor）イメージセンサを用いるようにしても良い。
【０１３５】
以上によれば、像ぶれの有無とピントが合っているか否かを示すマスク画像が、ディスプレイ２０に表示されるので、ユーザは、そのマスク画像の位置に基づいて、像ぶれが出ないように調整し、さらに、画像上のどの位置にピントが合っているのかを認識することで、焦点位置を調整することができるので、像ぶれやピントがボケるといった撮像の失敗を抑制することが可能となる。
【０１３６】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
【０１３７】
図１４は、図２，図７，図１２のDSP１６の電気的な内部構成をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU１０１は、パーソナルコンピュータの全体の動作を制御する。また、CPU１０１は、バス１０４および入出力インタフェース１０５を介してユーザからキーボードやマウスなどからなる入力部１０６から指令が入力されると、それに対応してROM(Read Only Memory) １０２に格納されているプログラムを実行する。あるいはまた、CPU１０１は、ドライブ１１０に接続された磁気ディスク１１１、光ディスク１１２、光磁気ディスク１１３、または半導体メモリ１１４から読み出され、記憶部１０８にインストールされたプログラムを、RAM(Random Access Memory) １０３にロードして実行する。これにより、上述した図２，図７，図１２のDSP１６の機能が、ソフトウェアにより実現されている。さらに、CPU１０１は、通信部１０９を制御して、外部と通信し、データの授受を実行する。
【０１３８】
プログラムが記録されている記録媒体は、図１４に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１１１（フレキシブルディスクを含む）、光ディスク１１２（CD-ROM(Compact Disc-Read Only Memory)，DVD（Digital Versatile Disk）を含む）、光磁気ディスク１１３（MD（Mini-Disc）を含む）、もしくは半導体メモリ１１４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM１０２や、記憶部１０８に含まれるハードディスクなどで構成される。
【０１３９】
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【０１４０】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１４１】
【図１】本発明を適用したデジタルスチルカメラの一実施の形態の構成を示す図である。
【図２】図１のDSPの構成を示す図である。
【図３】図２のDSPを用いた図１のデジタルスチルカメラによるマスク画像表示処理を説明するフローチャートである。
【図４】図３の像ぶれマスク画像生成処理を説明するフローチャートである。
【図５】像ぶれが生じない場合の合成画像を示す図である。
【図６】像ぶれが生じた場合の合成画像を示す図である。
【図７】図１のDSPのその他の構成を示す図である。
【図８】図７のラプラシアンフィルタの例を示す図である。
【図９】図７のDSPを用いた図１のデジタルスチルカメラによるマスク画像表示処理を説明するフローチャートである。
【図１０】図９のエッジマスク画像生成処理を説明するフローチャートである。
【図１１】エッジが生じた場合の合成画像を示す図である。
【図１２】図１のDSPのさらにその他の構成を示す図である。
【図１３】図１２のDSPを用いた図１のデジタルスチルカメラによるマスク画像表示処理を説明するフローチャートである。
【図１４】記録媒体を説明する図である。
【符号の説明】
【０１４２】
１６  DSP，  ２０  ディスプレイ，  ３１，３２  画像メモリ，  ３３  グレイスケール値変換部，  ３４  差分値計算部，  ３５  グレイスケール値変換部，  ３６  像ぶれ位置抽出部３６  マスク画像生成部，  ３８  合成部，  ３９  縮小部，  ５１  画像メモリ，  ５２  ラプラシアンフィルタ，  ５３  エッジ位置抽出部，  ５４  マスク画像生成部，  ５５  合成部，  ５６  縮小部，  ７１，７２  画像メモリ，  ７３  グレイスケール値変換部，  ７４  差分値計算部，  ７５  グレイスケール値変換部，  ７６  像ぶれ位置抽出部，  ７７  マスク画像生成部，  ７８  合成部，  ７９  縮小部，  ８０  ラプラシアンフィルタ，  ８１  エッジ位置抽出部
【図１】
2005203880.tif 000003
【図２】
2005203880.tif 000004
【図３】
2005203880.tif 000005
【図４】
2005203880.tif 000006
【図５】
2005203880.tif 000007
【図６】
2005203880.tif 000008
【図７】
2005203880.tif 000009
【図８】
2005203880.tif 000010
【図９】
2005203880.tif 000011
【図１０】
2005203880.tif 000012
【図１１】
2005203880.tif 000013
【図１２】
2005203880.tif 000014
【図１３】
2005203880.tif 000015
【図１４】
2005203880.tif 000016