(57)【要約】【課題】赤目を高速かつ正確に検出し、確実に補正する。【解決手段】フラッシュ撮影された画像から赤目を検出し、検出された赤目を画像処理により補正する場合において、本撮影直前に撮影された画像から人物の目を検出し、検出した目を囲うように赤目の検出範囲に設定する。本撮影された画像に対して赤目補正する場合は、あらかじめ設定された検出範囲内で赤目を検出する。【選択図】      図３
2008301402.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュを発光させて本撮影された画像から赤目を検出し、検出された赤目を画像処理により補正して、記憶メディアに記録する撮影装置の撮影方法において、
本撮影直前に撮影された画像から目を検出し、検出した目を囲うように検出範囲に設定し、設定された検出範囲内で本撮影された画像から赤目を検出することを特徴とする撮影装置の撮影方法。
【請求項２】
本撮影時における装置本体のブレを検出し、検出したブレの大きさに応じて前記検出範囲を拡縮することを特徴とする請求項１に記載の撮影装置の撮影方法。
【請求項３】
本撮影時における撮影条件に応じて前記検出範囲を拡縮することを特徴とする請求項１に記載の撮影装置の撮影方法。
【請求項４】
本撮影された画像から顔を検出し、検出された顔の大きさに応じて前記検出範囲を拡縮することを特徴とする請求項１に記載の撮影装置の撮影方法。
【請求項５】
本撮影時における撮影状態に応じて前記検出範囲を拡縮することを特徴とする請求項１に記載の撮影装置の撮影方法。
【請求項６】
本撮影時における撮影モードに応じて前記検出範囲を拡縮することを特徴とする請求項１に記載の撮影装置の撮影方法。
【請求項７】
フラッシュを発光させて本撮影された画像から赤目検出手段で赤目を検出し、検出された赤目を赤目補正手段で画像処理により補正して、記憶メディアに記録する撮影装置において、
本撮影直前に撮影された画像から目を検出する目検出手段と、
前記目検出手段で検出された目を囲うように検出範囲を設定する検出範囲設定手段と、
を備え、前記赤目検出手段は、前記検出範囲設定手段で設定された検出範囲内で本撮影された画像から赤目を検出することを特徴とする撮影装置。
【請求項８】
装置本体のブレを検出するブレ検出手段を備え、前記検出範囲設定手段は、前記ブレ検出手段で検出された本撮影時における装置本体のブレの大きさに応じて前記検出範囲を拡縮して設定することを特徴とする請求項７に記載の撮影装置。
【請求項９】
撮影装置の撮影条件を取得する撮影条件取得手段を備え、前記検出範囲設定手段は、前記撮影条件取得手段で取得された撮影装置に本撮影時における撮影条件に応じて前記検出範囲を拡縮して設定することを特徴とする請求項７に記載の撮影装置。
【請求項１０】
撮影された画像から顔を検出する顔検出手段を備え、前記検出範囲設定手段は、本撮影された画像から前記顔検出手段で検出された顔の大きさに応じて前記検出範囲を拡縮して設定することを特徴とする請求項７に記載の撮影装置。
【請求項１１】
撮影装置の状態を検出する撮影状態検出手段を備え、前記検出範囲設定手段は、前記撮影状態検出手段で検出された撮影装置の本撮影時における撮影状態に応じて前記検出範囲を拡縮して設定することを特徴とする請求項７に記載の撮影装置。
【請求項１２】
撮影モードを検出する撮影モード検出手段を備え、前記検出範囲設定手段は、前記撮影モード検出手段で検出された撮影装置の本撮影時における撮影モードに応じて前記検出範囲を拡縮して設定することを特徴とする請求項７に記載の撮影装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影方法及び装置に係り、特に人物を対象としたフラッシュ撮影時に発生する赤目を画像処理により自動補正する撮影方法及び装置に関する。
【背景技術】
【０００２】
赤目とは、人の目が赤く光って写る現象をいい、フラッシュ光が被写体の網膜の毛細血管に反射して、カメラのレンズに戻ることにより発生する。この赤目現象を軽減する方法の一つとして、本撮影前にフラッシュをプリ発光させる方法が知られている。この方法は、フラッシュをプリ発光させて、事前に被写体の瞳孔を閉じさせることにより、本撮影時に赤目が発生するのを防止するものである。しかし、プリ発光させてから被写体の瞳孔が閉じるまでの時間には個人差や環境差があり、必ずしも赤目が防止できるとは限らないという欠点がある。
【０００３】
一方、デジタルカメラにおいては、撮影された画像を画像処理することにより加工できるという利点を活かして、撮影された画像から赤目を検出し、自動で補正して記録するカメラも知られている（たとえば、特許文献１）。
【０００４】
そして、この赤目補正の処理を高速化する技術として、特許文献２、３には、撮影により得られた画像から低解像度の画像を生成し、その低解像度の画像から赤目を検出し、自動補正する技術が提案されている。
【特許文献１】特開２００３−１７９８０７号公報
【特許文献２】特開２００５−１６７６９７号公報
【特許文献３】特開２００５−２２３８５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献２、３は、低解像度の画像から赤目を検出することにより高速化を図るものであるが、この場合も低解像度画像に対して全領域を検出対象として赤目を検出しているため、処理に時間がかかるという欠点がある。
【０００６】
本発明は、このような事情に鑑みてなされたもので、赤目を高速かつ正確に検出し、確実に補正できる撮影方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に係る発明は、前記目的を達成するために、フラッシュを発光させて本撮影された画像から赤目を検出し、検出された赤目を画像処理により補正して、記憶メディアに記録する撮影装置の撮影方法において、本撮影直前に撮影された画像から目を検出し、検出した目を囲うように検出範囲に設定し、設定された検出範囲内で本撮影された画像から赤目を検出することを特徴とする撮影装置の撮影方法を提供する。
【０００８】
請求項１に係る発明によれば、本撮影前にあらかじめ目の位置が検出され、本撮影時における赤目の検出範囲が絞られる。すなわち、本撮影前にあらかじめ検出された目を囲う範囲に赤目の検出範囲が設定され、本撮影時は、その設定された検出範囲内で赤目の検出が行われる。これにより、赤目の検出処理を高速化することができる。
【０００９】
請求項２に係る発明は、前記目的を達成するために、本撮影時における装置本体のブレを検出し、検出したブレの大きさに応じて前記検出範囲を拡縮することを特徴とする請求項１に記載の撮影装置の撮影方法を提供する。
【００１０】
請求項２に係る発明によれば、本撮影時における装置本体のブレが検出され、検出したブレの大きさに応じて赤目の検出範囲が拡縮される。すなわち、本発明では、本撮影前に得られた画像から目の位置が検出されて、本撮影時における赤目の検出範囲が設定されるが、手ブレなどが生じている場合には、設定した検出範囲外に目の位置がズレ、赤目を正確に検出できなくなるおそれがある。そこで、撮影時における装置本体のブレを検出し、ブレの大きさに応じて赤目の検出範囲を拡縮し、ブレが生じている場合であっても正確に赤目が検出されるようにする。すなわち、ブレが大きい場合は、設定する検出範囲を拡大し、目の位置が検出範囲から外れないようにする。これにより、高速かつ正確に赤目の検出を行うことができ、確実に赤目を補正することができるようになる。
【００１１】
請求項３に係る発明は、前記目的を達成するために、本撮影時における撮影条件に応じて前記検出範囲を拡縮することを特徴とする請求項１に記載の撮影装置の撮影方法を提供する。
【００１２】
請求項３に係る発明によれば、本撮影時における撮影条件に応じて赤目の検出範囲が拡縮される。すなわち、撮影条件からブレの発生が推定できることから、設定した検出範囲から目の位置が外れないようにするため、撮影条件に応じて赤目の検出範囲を拡縮する。一般に手ブレは、シャッタ速度が１／焦点距離sec以下になると発生するといわれている（ただし、焦点距離は３５ｍｍ版換算値）。したがって、たとえば、撮影時のシャッタ速度と焦点距離とに基づいて赤目の検出範囲を拡縮し、たとえば、シャッタ速度が１／焦点距離sec以下になると、検出範囲を拡大させる。これにより、高速かつ正確に赤目の検出を行うことができ、確実に赤目を補正することができるようになる。
【００１３】
請求項４に係る発明は、前記目的を達成するために、本撮影された画像から顔を検出し、検出された顔の大きさに応じて前記検出範囲を拡縮することを特徴とする請求項１に記載の撮影装置の撮影方法を提供する。
【００１４】
請求項４に係る発明によれば、本撮影された画像に写されている顔の大きさに応じて赤目の検出範囲が拡縮される。すなわち、写されている顔が小さければ、ブレが発生したとき、目の位置のズレ量も大きくなることから、検出範囲を拡大する。又は、写されている顔が大きければ、ブレが発生しても、目の位置のズレ量は小さいので、検出範囲を縮小する。これにより、高速かつ正確に赤目の検出を行うことができ、確実に赤目を補正することができるようになる。
【００１５】
請求項５に係る発明は、前記目的を達成するために、本撮影時における撮影状態に応じて前記検出範囲を拡縮することを特徴とする請求項１に記載の撮影装置の撮影方法を提供する。
【００１６】
請求項５に係る発明によれば、本撮影時における撮影状態に応じて赤目の検出範囲が拡縮される。すなわち、たとえば装置本体を三脚に設置して撮影したような場合は、原則としてブレは生じていないものと推定できることから、検出範囲を縮小する。あるいは、装置本体を三脚に設置していない場合は、ブレが生じたとき、目の位置がずれる可能性があることから、検出範囲を拡大する。これにより、高速かつ正確に赤目の検出を行うことができ、確実に赤目を補正することができるようになる。
【００１７】
請求項６に係る発明は、前記目的を達成するために、本撮影時における撮影モードに応じて前記検出範囲を拡縮することを特徴とする請求項１に記載の撮影装置の撮影方法を提供する。
【００１８】
請求項６に係る発明によれば、本撮影時における撮影モードに応じて赤目の検出範囲が拡縮される。すなわち、たとえばセルフタイマ撮影の場合は、装置本体を三脚等に固定して撮影することが想定されることから、原則としてブレは生じないと推定できる。そこで、撮影モードとしてセルフタイマ撮影モードが選択された場合は、赤目の検出範囲を縮小する。あるいは、撮影モードがセルフタイマ撮影モードに選択されていない場合は、ブレが生じたとき、目の位置がずれる可能性があることから、検出範囲を拡大する。これにより、高速かつ正確に赤目の検出を行うことができ、確実に赤目を補正することができるようになる。
【００１９】
請求項７に係る発明は、前記目的を達成するために、フラッシュを発光させて本撮影された画像から赤目検出手段で赤目を検出し、検出された赤目を赤目補正手段で画像処理により補正して、記憶メディアに記録する撮影装置において、本撮影直前に撮影された画像から目を検出する目検出手段と、前記目検出手段で検出された目を囲うように検出範囲を設定する検出範囲設定手段と、を備え、前記赤目検出手段は、前記検出範囲設定手段で設定された検出範囲内で本撮影された画像から赤目を検出することを特徴とする撮影装置を提供する。
【００２０】
請求項７に係る発明によれば、請求項１に係る発明と同様に、本撮影前にあらかじめ目の位置が目検出手段によって検出され、本撮影時における赤目の検出範囲が絞られる。これにより、赤目の検出処理を高速化することができる。
【００２１】
請求項８に係る発明は、前記目的を達成するために、装置本体のブレを検出するブレ検出手段を備え、前記検出範囲設定手段は、前記ブレ検出手段で検出された本撮影時における装置本体のブレの大きさに応じて前記検出範囲を拡縮して設定することを特徴とする請求項７に記載の撮影装置を提供する。
【００２２】
請求項８に係る発明によれば、請求項２に係る発明と同様に、本撮影時における装置本体のブレがブレ検出手段によって検出され、検出したブレの大きさに応じて赤目の検出範囲が拡縮されるこれにより、高速かつ正確に赤目の検出を行うことができ、確実に赤目を補正することができるようになる。
【００２３】
請求項９に係る発明は、前記目的を達成するために、撮影装置の撮影条件を取得する撮影条件取得手段を備え、前記検出範囲設定手段は、前記撮影条件取得手段で取得された撮影装置に本撮影時における撮影条件に応じて前記検出範囲を拡縮して設定することを特徴とする請求項７に記載の撮影装置を提供する。
【００２４】
請求項９に係る発明によれば、請求項３に係る発明と同様に、本撮影時における撮影条件に応じて赤目の検出範囲が拡縮される。たとえば、撮影時のシャッタ速度と焦点距離とに基づいて赤目の検出範囲が拡縮される。これにより、高速かつ正確に赤目の検出を行うことができ、確実に赤目を補正することができるようになる。
【００２５】
請求項１０に係る発明は、前記目的を達成するために、撮影された画像から顔を検出する顔検出手段を備え、前記検出範囲設定手段は、本撮影された画像から前記顔検出手段で検出された顔の大きさに応じて前記検出範囲を拡縮して設定することを特徴とする請求項７に記載の撮影装置を提供する。
【００２６】
請求項１０に係る発明によれば、請求項４に係る発明と同様に、本撮影された画像に写されている顔の大きさに応じて赤目の検出範囲が拡縮される。たとえば、本撮影された画像に写されている顔が小さければ、検出範囲を拡大する。又は、本撮影された画像に写されている顔が大きければ、検出範囲を縮小する。これにより、高速かつ正確に赤目の検出を行うことができ、確実に赤目を補正することができるようになる。
【００２７】
請求項１１に係る発明は、前記目的を達成するために、撮影装置の状態を検出する撮影状態検出手段を備え、前記検出範囲設定手段は、前記撮影状態検出手段で検出された撮影装置の本撮影時における撮影状態に応じて前記検出範囲を拡縮して設定することを特徴とする請求項７に記載の撮影装置を提供する。
【００２８】
請求項１１に係る発明によれば、請求項５に係る発明と同様に、本撮影時における撮影状態に応じて赤目の検出範囲が拡縮される。たとえば、三脚への設置状態を検出し、装置本体が三角に設置されている場合は、検出範囲を縮小する。あるいは、装置本体が三脚に設置されていない場合は、検出範囲を拡大する。これにより、高速かつ正確に赤目の検出を行うことができ、確実に赤目を補正することができるようになる。
【００２９】
請求項１２に係る発明は、前記目的を達成するために、撮影モードを検出する撮影モード検出手段を備え、前記検出範囲設定手段は、前記撮影モード検出手段で検出された撮影装置の本撮影時における撮影モードに応じて前記検出範囲を拡縮して設定することを特徴とする請求項７に記載の撮影装置を提供する。
【００３０】
請求項１２に係る発明によれば、請求項６に係る発明と同様に、本撮影時における撮影モードに応じて赤目の検出範囲が拡縮される。たとえば、撮影モードがセルフタイマ撮影モードに設定されている場合は検出範囲を縮小する。又は、撮影モードがセルフタイマ撮影モードに設定されていない場合は、検出範囲を拡大する。これにより、高速かつ正確に赤目の検出を行うことができ、確実に赤目を補正することができるようになる。
【発明の効果】
【００３１】
本発明に係る撮影方法及び装置によれば、赤目を高速かつ正確に検出して、確実に補正することができる。
【発明を実施するための最良の形態】
【００３２】
以下、添付図面を参照して本発明に係る撮影方法及び装置を実施するための最良の形態について説明する。
【００３３】
図１は、本発明が適用された撮影装置の第１の実施形態の概略構成を示すブロック図である。
【００３４】
この撮影装置１０は、画像を撮像素子で撮像して、デジタルデータとして記録するデジタルカメラとして構成されており、撮影光学系１２、撮像素子１４、アナログ信号処理部１６、デジタル信号処理部１８、記憶メディア２０、操作部２２、液晶モニタ（ＬＣＤ）２４、電源２６、フラッシュ２８、ブレ検出センサ８０等を備えて構成されている。
【００３５】
この撮影装置１０の全体の動作は、デジタル信号処理部１８に備えられたＣＰＵ３０によって統括制御されており、ＣＰＵ３０は、所定の制御プログラムに従って動作することにより、装置の各部の動作を制御する。バス３２を介してＣＰＵ３０に接続されたフラッシュＲＯＭ３４には、このＣＰＵ３０が実行する制御プログラムや制御に必要な各種データが記録されている。ＣＰＵ３０は、このフラッシュＲＯＭ３４に記録された制御プログラムをＳＤＲＡＭ３６にロードし、ＳＤＲＡＭ３６を作業領域として使用しながらロードした制御プログラムを逐次実行することにより、装置全体の動作を制御する。
【００３６】
撮影光学系１２は、いわゆるＡＦズームレンズで構成されており、ズームレンズ１２ｚ、フォーカスレンズ１２ｆ、アイリス絞り１２ｉ、メカシャッタ１２ｓ等を備えて構成されている。
【００３７】
ズームレンズ１２ｚは、図示しないズームモータに駆動されることにより、光軸上を前後移動して、焦点距離を可変し、フォーカスレンズ１２ｆは、図示しないフォーカスモータに駆動されることにより、光軸上を前後移動して、焦点位置を可変する。また、アイリス絞り１２ｉは、図示しないアイリスモータに駆動されることにより、その開口量を可変して、撮像素子１４への入射光量を調整し、シャッタ１２ｓは、図示しないシャッタモータに駆動されることにより開閉して、撮像素子１４への露光／遮光を行う。
【００３８】
ＣＰＵ３０は、レンズ駆動回路３８を介してズームモータ、フォーカスモータ、アイリスモータ、シャッタモータの駆動を制御することにより、ズームレンズ１２ｚ、フォーカスレンズ１２ｆ、アイリス絞り１２ｉ、シャッタ１２ｓの動作を制御する。
【００３９】
撮像素子１４は、単板式のカラーＣＣＤで構成されており、撮影光学系１２を介して入射した光を電気信号（画像信号）に変換する。この撮像素子１４は、アナログ信号処理部１６に備えられたタイミングジェネレータ（ＴＧ）４０から与えられる駆動信号に従って動作し、ＣＰＵ３０は、このタイミングジェネレータ４０を制御することにより、撮像素子１４の動作を制御する。なお、本実施の形態では、撮像素子１４に単板式のカラーＣＣＤを使用しているが、使用する撮像素子は、これに限定されるものではなく、ＣＭＯＳ等の他の構成の撮像素子を使用することもできる。
【００４０】
アナログ信号処理部１６は、撮像素子１４から出力された画像信号に各種アナログ信号処理を施し、デジタル信号に変換して出力する。このアナログ信号処理部１６は、タイミングジェネレータ４０、相関二重サンプリング回路（ＣＤＳ）４２、オート・ゲイン・コントロール（ＡＧＣ）回路４４、Ａ／Ｄコンバータ４６等を備えている。
【００４１】
タイミングジェネレータ４０は、上記のようにＣＰＵ３０からの指令に従い撮像素子１４に駆動信号を出力する。撮像素子１４は、このタイミングジェネレータ４０から与えられる駆動信号に従って動作し、画像信号を出力する。
【００４２】
相関二重サンプリング回路４２は、撮像素子１４から得られた画像信号を相関二重サンプリング処理し、画像信号に含まれるリセットノイズを取り除く。
【００４３】
オート・ゲイン・コントロール回路４４は、相関二重サンプリング処理された画像信号を増幅し、一定レベルの大きさにコントロールする。
【００４４】
Ａ／Ｄコンバータ４６は、増幅されたアナログの画像信号をデジタルの画像信号に変換してデジタル信号処理部１８に出力する。
【００４５】
デジタル信号処理部１８は、アナログ信号処理部１６から出力されたデジタルの画像信号を取り込み、各種信号処理を施して、輝度データ（Ｙデータ）と色差データ（Ｃｒ、Ｃｂデータ）とからなる画像データ（ＹＣデータ）を生成する。そして、生成されたＹＣデータを圧縮して、記憶メディア２０に記録する。また、記憶メディア２０に記録された圧縮画像データを伸張して、非圧縮の画像信号を生成し、液晶モニタ２４に出力する。また、必要に応じて撮影画像から人物の顔を検出し、また、赤目を検出する。そして、検出した赤目を画像処理によって補正する。すなわち、本実施の形態の撮影装置１０は、赤目の補正機能を備えており、撮影された画像の赤目を自動的に補正できるようにされている。      
【００４６】
このデジタル信号処理部１８は、ＣＰＵ３０、画像バッファ５０、ＹＣ処理回路５２、圧縮・伸張処理回路５４、メディアコントローラ５６、ＡＥ検出回路５８、ＡＦ検出回路６０、顔・目検出回路６２、赤目検出・補正回路６４、エンコーダ７０等を備えて構成されている。
【００４７】
画像バッファ５０は、ＣＰＵ３０からの指令に従い、Ａ／Ｄコンバータ４６から出力された１画面分の画像信号を蓄積する。
【００４８】
ＹＣ処理回路５２は、ＣＰＵ３０からの指令に従い、画像バッファ５０に蓄積された１画面分の画像信号を取り込み、各種信号処理を施して画像データ（ＹＣデータ）を生成する。
【００４９】
圧縮・伸張処理回路５４は、ＣＰＵ３０からの指令に従い、入力された画像データに圧縮処理を施し、圧縮画像データを生成する。また、ＣＰＵ３０からの指令に従い、入力された圧縮画像データに伸張処理を施し、非圧縮の画像データを生成する。
【００５０】
メディアコントローラ５６は、ＣＰＵ３０からの指令に従い、記憶メディア２０にアクセスし、データの記録及び読み出しを行う。なお、記憶メディア２０については、内蔵式のものでもよいし、また、メモリカードのように着脱式のものであってもよい。本実施の形態では、着脱式のメモリカードが用いられるものとする。
【００５１】
ＡＥ検出回路５８は、ＣＰＵ３０からの指令に従い、画像バッファ５０に蓄積された１画面分の画像信号からＡＥ制御に必要な積算値を算出する。ここでは、１画面を複数のエリア（たとえば１６×１６）に分割し、分割したエリアごとにＲ、Ｇ、Ｂの画像信号の積算値を算出する。ＣＰＵ３０は、このＡＥ検出回路５８から得た積算値に基づいて撮影シーンの明るさを検出（測光）し、その結果に基づいて撮影に適した露出値（EV値）を算出する。そして、得られた露出値に基づき所定のプログラム線図に従って適正露出（撮影感度、絞り値、シャッタ速度）を決定する。
【００５２】
ＡＦ検出回路６０は、ＣＰＵ３０からの指令に従い、画像バッファ５０に蓄積された１画面分の画像信号からＡＦ制御に必要な積算値を算出する。ここで、本実施の形態の撮影装置１０は、画像のコントラストによりＡＦ制御を行うものとし（いわゆるコントラストＡＦ）、ＡＦ検出回路６０は、入力された画像信号から画像の鮮鋭度を示す焦点評価値（たとえば、所定のフォーカスエリア内におけるＧ信号の高周波成分の積算値）を算出する。ＣＰＵ３０は、フォーカスレンズ１２ｆを至近から無限遠まで移動させて各点で焦点評価値を算出し、焦点評価値が極大となる位置をサーチする。そして、その焦点評価値が極大となる位置を合焦位置として、その位置にフォーカスレンズ１２ｆを移動させる。
【００５３】
顔・目検出回路６２は、ＣＰＵ３０からの指令に従い、ＹＣ処理回路５２で生成された画像データから画像中の顔領域を抽出する。また、抽出された顔領域から目領域を抽出する。
【００５４】
なお、画像中から顔領域及び目領域を抽出する技術は、公知の技術であるので、ここでは、その具体的な処理の方法についての説明は省略する。
【００５５】
たとえば、画像中から顔領域を抽出する方法としては、エッジ検出又は形状パターン検出による顔検出方法、色相抽出又は肌色抽出による顔検出方法、候補領域を抽出して、この候補領域を小領域に分割し、領域ごとの特徴量を予め設定した顔領域パターンと照合して、その確度から顔領域を抽出する方法（特開２０００−１３７７８８号公報参照）、顔候補領域を抽出して、各候補領域の重複度から確度を評価して顔領域を抽出する方法（特開２０００−１４９０１８号公報参照）、及び、顔候補領域を抽出して、各候補領域の濃度が所定の閾値に対応する値である場合に、胴体候補領域を抽出し、顔および胴体候補領域の濃度や彩度コントラストを用いて確度を評価して、顔領域を抽出する方法（特開２０００−１４８９８０号公報参照）などを用いることができる。
【００５６】
また、画像中から目領域を抽出する方法としては、検出された顔領域からエッジ検出、形状パターン検出、位置情報又は色相情報等を用いて瞳抽出を行う方法などを用いることができる。
【００５７】
赤目検出・補正回路６４は、ＣＰＵ３０からの指令に従い、ＹＣ処理回路５２で生成された画像データから画像中の赤目領域を抽出し、抽出された赤目領域を画像処理により補正する。
【００５８】
なお、この赤目領域の抽出処理についても公知の技術であるので、ここでは、その具体的な処理の内容についての説明は省略する。たとえば、エッジ検出、形状パターン検出、位置情報又は色相情報等を用いて瞳抽出を行い、色相等から赤目を検出する方法や、エッジ検出、形状パターン検出又は位置情報等を用いて目を抽出し、この目の画像データの輝度ヒストグラムから低輝度領域を抽出して、抽出した低輝度領域を収縮処理して瞳の領域を抽出し、色相等から赤目を検出する方法、顔領域をｘｙ平面として各画素毎に色相等を用いた画像特徴量ｚを求め、ｘｙｚの三次元空間を設定してｚ値の山状分布からｘｙ平面を分割し、分割領域ごとに形状情報や統計的画像特徴量等から赤目を検出する方法（特開２０００−７６４２７号公報参照）などを用いることができる。
【００５９】
また、抽出した赤目の補正方法についても同様に公知の方法を用いることができ、たとえば、抽出した赤目領域の色変換又は彩度低下によって赤目を補正する方法や、抽出した赤目領域で最小明度の画素に近づけるように、他の全画素の彩度又は明度を補正する方法（特開２０００−７６４２７号公報参照）などを用いることができる。
【００６０】
なお、この赤目検出・補正回路６４で行われる赤目の検出処理は、画像中の特定範囲（検出範囲）に対して行われ、ＣＰＵ３０は、この赤目検出・補正回路６４が行う赤目の検出範囲を設定する。なお、この検出範囲の設定方法については、後に詳述する。
【００６１】
エンコーダ７０は、ＣＰＵ３０からの指令に従い、ＹＣ処理回路５２で生成されたＹＣデータを液晶モニタ２４に表示するための信号形式に変換する。このエンコーダ７０で変換された映像信号は、ＬＣＤ駆動回路７２を介して液晶モニタ２４に出力され、これにより、液晶モニタ２４に画像が表示される。
【００６２】
操作部２２は、撮影装置１０の各種操作手段であり、撮影を指示するためのシャッタボタン、撮影／再生の各種モードを設定するためのモードダイヤル、テレ／ワイドのズームを指示するためのズームボタン、メニュー画面の表示を指示するメニューボタン、操作の実行／決定等を指示する実行ボタン、操作のキャンセル等を指示するキャンセルボタン、カーソルの移動等を指示する十字ボタン、フラッシュのモードを設定するフラッシュボタン、電源ボタン等を含んで構成されており、操作に応じた信号をＣＰＵ３０に出力する。ＣＰＵ３０は、この操作部２２からの指示入力に応じた処理を実行し、各部を制御する。
【００６３】
なお、本装置において、各種の設定は、液晶モニタ２４に表示されるメニュー画面によって行うようにされている。すなわち、メニューボタンでメニュー画面の表示を指示すると、液晶モニタ２４にメニュー画面が表示され、このメニュー画面で各種設定を行うようにされている。たとえば、撮影時における撮影感度の設定（オート、１００、２００、４００、８００等）や画像サイズの設定（１Ｍ、３Ｍ、６Ｍ等）、ホワイトバランスの設定（オート、マニュアル、晴天、曇天、蛍光灯、白熱灯等）、測光方式の設定（マルチ、スポット、中央重点等）、ＡＥ方式の設定（オート、絞り優先、シャッタ速度優先、マニュアル、シーンプログラム等）、ＡＦ方式の設定（センター固定ＡＦ、顔検出ＡＦ、マニュアルフォーカス）、セルフタイマの設定（ＯＮ／ＯＦＦ）をメニュー画面で行うことができるようにされている。
【００６４】
また、必要に応じて各種動作の指示も液晶モニタ２４の表示を利用して行うようにされている。たとえば、画像の選択や削除の指示等を画面の表示に従って行うことができるようにされている。
【００６５】
電源２６の電力は、図示しない電源制御回路によって各部に供給される。ＣＰＵ３０は、電源制御回路を制御して、各部への電力供給を制御する。
【００６６】
フラッシュ２８は、クセノン管によって構成されており、フラッシュ発光制御回路７４によって発光が制御される。フラッシュ発光制御回路７４は、ＣＰＵ３０からの指示に従い、撮影に同期させてフラッシュ２８を発光させ、その発光時間を制御することにより発光量を調整する。なお、本実施の形態では、フラッシュ２８をクセノン管で構成しているが、この他にＬＥＤ等の他の光源で構成することもできる。
【００６７】
ブレ検出センサ８０は、撮影装置１０の装置本体に取り付けられており、装置本体に発生した振動（ブレ）を検出する。このブレ検出センサ８０は、たとえば、角速度センサによって構成され、一対の角速度センサによって、装置本体の縦方向及び横方向に発生する振動を検出する。そして、その検出結果をＣＰＵ３０に出力する。
【００６８】
次に、以上のように構成された本実施の形態の撮影装置１０の作用について説明する。
【００６９】
まず、フラッシュ２８を発光させないで画像を撮影する場合の動作について概説する。
【００７０】
撮影装置１０のモードを撮影モードに設定し、電源を投入すると、撮像素子１４の駆動が開始され、撮像素子１４で捉えた画像が液晶モニタ２４にスルー表示される。すなわち、撮像素子１４で連続的に画像が撮影され、得られた画像信号（スルーデータ）が連続的に処理されて、液晶モニタ２４に出力される。
【００７１】
この際、同時に人物の顔検出が行われ、顔が検出されると、その検出された顔を囲うようにして、フレームが液晶モニタ２４に表示される。
【００７２】
なお、顔検出は次のように行われる。すなわち、撮像素子１４からアナログ信号処理部１６を介してデジタル信号処理部１８に取り込まれた画像信号は、ＹＣ処理回路５２でＹＣの画像データに変換され、顔・目検出回路６２に加えられる。顔・目検出回路６２は、得られた画像データから画像中における人物の顔領域を検出し、その検出結果をＣＰＵ３０に出力する。ＣＰＵ３０は取得した顔領域の情報に基づいて液晶モニタ２４にフレームを表示させる。
【００７３】
撮影者は、この液晶モニタ２４にスルー表示される画像（スルー画像）を見て構図を決定し、シャッタボタンを押下して、本撮影を指示する。ＣＰＵ３０は、この撮影指示応じて、ＡＥ制御の処理を実行し、被写体を測光して、露出を決定する。また、ＡＦ制御の処理を実行して、被写体に焦点を合わせる。そして、合焦後、ＡＥ処理で求めた露出（撮影感度、絞り値、シャッタ速度）で撮像素子１４を露光し、記録用の画像を撮像する。
【００７４】
撮像素子１４から出力された記録用の画像信号は、アナログ信号処理部１６で所要の信号処理が施され、デジタルの画像信号とされた後、デジタル信号処理部１８に取り込まれ、画像バッファ５０に蓄積される。
【００７５】
画像バッファ５０に蓄積された画像信号は、ＣＰＵ３０の制御の下、ＹＣ処理回路５２に加えられ、所定の信号処理が施されて画像データ（ＹＣデータ）が生成される。そして、生成された画像データは、圧縮・伸張処理回路５４に加えられ、所定の圧縮処理が施された後、メディアコントローラ５６を介して記憶メディア２０に記録される。
【００７６】
次に、フラッシュ２８を発光させて撮影する場合における本実施の形態の撮影装置の動作について説明する。
【００７７】
本実施の形態の撮影装置１０は赤目補正の機能を備えており、フラッシュ撮影された画像に対して赤目の検出を行い、検出された場合は、自動でこれを補正する。
【００７８】
赤目の検出、補正は、上記のように、ＣＰＵ３０の制御の下、赤目検出・補正回路６４によって行われる。赤目検出・補正回路６４は、本撮影により得られた画像から赤目を検出し、これを画像処理によって補正する。この際、赤目検出・補正回路６４は、画像の特定の範囲を対象に赤目の検出を行う。ＣＰＵ３０は、この赤目検出・補正回路６４が行う赤目の検出範囲を設定する。この設定は次のように行われる。
【００７９】
すなわち、本撮影前に取得されるスルー画像から被写体の目を顔・目検出回路６２で検出しておき、本撮影直前に撮影されたスルー画像で検出された目を囲う範囲に赤目の検出範囲を設定する。たとえば、図２に示すように、本撮影直前に撮影されたスルー画像で被写体の目が検出されると、その目を囲うように検出範囲（図中の斜線部）が設定される（たとえば、目を完全に囲うことができる最小の正方領域が検出範囲に設定される。）。赤目検出・補正回路６４は、このよう設定された検出範囲を対象に赤目の検出を行う。
【００８０】
図３は、本実施の形態の撮影装置１０のフラッシュ撮影時における処理動作の手順を示すフローチャートである。
【００８１】
通常の撮影時と同様に、まず、スルーデータの取り込みが行われる（ステップＳ１０）。すなわち、液晶モニタ２４にスルー表示するための画像が撮像素子１４で連続的に撮像される。
【００８２】
ＣＰＵ３０は、得られたスルーデータに対して顔・目の検出処理を行う（ステップＳ１１）。すなわち、得られたスルーデータをＹＣ処理後、顔・目検出回路６２に加え、画像から顔を検出し、顔が検出された場合は、更に目を検出する。そして、その検出結果に基づいて赤目の検出範囲を設定する（ステップＳ１２）。すなわち、画像から目が検出された場合は、その目を囲うように検出範囲に設定し（図２参照）、目が検出されていない場合は、全範囲を検出範囲に設定する。なお、人物の顔が複数検出された場合については、検出された各人物の目を囲うように検出範囲が設定される。設定された検出範囲の情報は、ＳＤＲＡＭ３６に記録される。
【００８３】
この後、ＣＰＵ３０は、操作部２２からの入力に基づいて本撮影開始の指示の有無を判定する（ステップＳ１３）。すなわち、シャッタボタンが押下されたか否かを判定する。ここで、本撮影開始が指示されていないと判定すると、ＣＰＵ３０は、ステップＳ１０に戻り、再度、スルーデータの取り込みを行い、そのスルーデータから顔・目の検出処理を行って、赤目の検出範囲を設定する。すなわち、本撮影の指示が出されるまで繰り返しスルーデータから顔・目の検出処理が行われ、その検出結果に基づいて赤目の検出範囲の設定が行われる。なお、赤目の検出範囲は随時更新され、ＳＤＲＡＭ３６には最新の検出範囲が記録される。すなわち、本撮影直前に得られた画像に基づく赤目の検出範囲が記録される。
【００８４】
ステップＳ１３で本撮影開始が指示されたと判定すると、ＣＰＵ３０は、ＡＥ制御の処理を実行し、被写体を測光して、露出を決定する。また、ＡＦ制御の処理を実行して、被写体に焦点を合わせる。そして、合焦後、フラッシュ２８を発光させて、フラッシュ撮影を実行する（ステップＳ１４）。すなわち、フラッシュ発光制御回路７４にフラッシュ２８の発光指令を出力し、所定の発光量（発光時間）でフラッシュ２８を発光させるとともに、そのフラッシュの発光に同期してＡＥ処理で求めた露出で撮像素子１４を露光し、記録用の画像を撮像する。
【００８５】
撮像素子１４から出力された記録用の画像信号は、アナログ信号処理部１６で所要の信号処理が施され、デジタルの画像信号とされた後、デジタル信号処理部１８に取り込まれ、画像バッファ５０に蓄積される。
【００８６】
画像バッファ５０に蓄積された画像信号は、ＣＰＵ３０の制御の下、ＹＣ処理回路５２に加えられる。ＹＣ処理回路５２は、入力された画像信号に各種信号処理を施して、輝度データと色差データとからなる画像データ（ＹＣデータ）を生成する。生成された画像データは、ＳＤＲＡＭ３６に一旦格納される。
【００８７】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データに対して赤目の検出・補正処理を実行する（ステップＳ１５）。すなわち、まず、ＳＤＲＡＭ３６に格納された赤目の検出範囲の情報を赤目検出・補正回路６４に加え、赤目の検出範囲を設定する。次いで、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを赤目検出・補正回路６４に加え、設定された検出範囲内で赤目の検出・補正処理を行わせる。ここで、本撮影直前に目が検出されている場合には、その目を囲む範囲が検出範囲に設定される。このように検出範囲を絞ることにより、高速に赤目の検出を行うことができる。
【００８８】
このようにして設定された範囲内で赤目の検出処理を行い、赤目が検出されると、赤目検出・補正回路６４は、その検出した赤目に対して画像処理により補正処理を施す。そして、その補正した画像データをＳＤＲＡＭ３６に格納する。なお、赤目が検出されず、赤目補正の処理が行われなかった場合は、そのまま撮影により得られた画像データがＳＤＲＡＭ３６に格納される。
【００８９】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを圧縮・伸張処理回路５４に加え、所要の圧縮処理を施した後、メディアコントローラ５６を介して記憶メディア２０に記録する（ステップＳ１６）。
【００９０】
以上説明したように、本実施の形態の撮影装置１０では、撮影直前に得られたスルーデータから人物の目を検出し、その目を囲う範囲に赤目の検出範囲を設定する。そして、本撮影時は、あらかじめ設定された検出範囲内で赤目の検出処理を行う。これにより、高速に赤目の検出を行うことができ、全体の処理速度が向上する。
【００９１】
また、一般にスルー画像は撮像素子から得られる画像信号のすべてを用いるのではなく、適度に間引きした画像信号から生成されるため、このようなスルー画像を対象に顔、目の検出を行うことにより、全体の処理速度を向上させることができる。
【００９２】
なお、スルーデータで行う顔、目の検出処理は、数フレームおきに行うようにしてもよい。すなわち、一般にスルーデータの取り込みは、所定のフレームレートで行われるが、取り込まれた全スルーデータを対象に顔、目の検出処理を行うのではなく、数フレームおきに顔、目の検出処理を行うようにしてもよい。
【００９３】
また、シャッタボタンの半押しで、ＡＥ、ＡＦの処理が行われる撮影装置の場合には、そのシャッタボタンの半押しで得られた画像から顔、目の検出を行うようにしてもよい。
【００９４】
更に、本撮影前にフラッシュをプリ発光させてフラッシュ撮影する場合には、そのフラッシュのプリ発光時に得られた画像から顔、目の検出を行うようにしてもよい。
【００９５】
また、上記実施の形態では、スルーデータで顔が検出されない場合、赤目の検出範囲を全画像領域に設定しているが、スルーデータで顔が検出されない場合、赤目の検出・補正処理を行わないようにしてもよい。すなわち、この場合、本撮影される画像にも人物の顔が含まれている可能性が低いので、赤目の検出・補正処理を行わず、そのまま画像を記録する。これにより、無駄な処理を省いて、全体の処理速度を向上させることができる。
【００９６】
また、スルーデータから目が検出された場合において、設定する赤目の検出範囲は、少なくとも検出した目を囲う範囲で設定すればよく、その大きさは検出精度等を考慮して適宜設定することが好ましい。あまり狭い範囲に設定すると、撮影前の間に被写体が動いたり、手ブレなどで目の位置がずれたりすると、検出できなくなるおそれがあるので、適切な大きさに設定することが好ましい。
【００９７】
また、撮影時にブレ（振動）を検出し、そのブレの大きさに応じて検出範囲を拡縮させるようにしてもよい。
【００９８】
以下、撮影時に装置本体に生じたブレに応じて赤目の検出範囲を拡縮する場合の処理について説明する。
【００９９】
上記のように、撮影装置１０には、装置本体に発生したブレ（振動）を検出するブレ検出センサ８０が備えられている。ＣＰＵ３０は、本撮影時にブレ検出センサ８０で検出された装置本体のブレの情報を取得し、その検出結果に基づいて赤目の検出範囲を補正する。ここでは、当初設定された赤目の検出範囲を検出されたブレの大きさに応じた割合で拡大するものとする。たとえば、図４に示すように、撮影時にブレが検出された場合、そのブレの大きさに応じた割合で当初設定された赤目の検出範囲を拡大する（当初設定されていた検出範囲の中心を中心にして相似形をもって拡大する。）。そして、その補正後の検出範囲を赤目検出・補正回路６４に設定する。
【０１００】
図５は、ブレに応じて赤目の検出範囲を補正して赤目の検出・補正処理を行う場合の処理動作の手順を示すフローチャートである。
【０１０１】
上記同様、まずスルーデータの取り込みが行われ（ステップＳ２０）、得られたスルーデータに対して顔・目の検出処理が行われる（ステップＳ２１）。そして、その検出結果に基づいて赤目の検出範囲が設定される（ステップＳ２２）。この処理が本撮影開始前まで繰り返し行われる。
【０１０２】
ステップＳ２３で本撮影の開始が指示されたと判定すると、ＣＰＵ３０は、ＡＥ、ＡＦの各処理を実行する。また、ブレ検出センサ８０で装置本体に生じたブレを検出し（ステップＳ２４）、その検出結果に基づいて赤目の検出範囲を補正する（ステップＳ２５）。すなわち、検出されたブレの大きさに応じた割合で当初設定された赤目の検出範囲（本撮影直前のスルーデータに基づいて設定された赤目の検出範囲）を拡大させる。補正された赤目の検出範囲の情報は、ＳＤＲＡＭ３６に格納される。なお、ブレが検出されていなければ、補正は行われず、当初設定された赤目の検出範囲がそのままＳＤＲＡＭ３６に格納される。
【０１０３】
このように、本撮影が指示されると、ＡＥ、ＡＦの処理とともに、ブレの検出及びそのブレに基づく赤目の検出範囲の補正処理が行われる。そして、そして、被写体にピントが合うと、フラッシュ２８を発光させて、本撮影が行われる（ステップＳ２６）。
【０１０４】
本撮影により撮像素子１４から出力された画像信号は、アナログ信号処理部１６で所要の信号処理が施され、デジタルの画像信号とされた後、デジタル信号処理部１８に取り込まれ、画像バッファ５０に蓄積される。
【０１０５】
画像バッファ５０に蓄積された画像信号は、ＣＰＵ３０の制御の下、ＹＣ処理回路５２に加えられる。ＹＣ処理回路５２は、入力された画像信号に各種信号処理を施して、輝度データと色差データとからなる画像データ（ＹＣデータ）を生成する。生成された画像データは、ＳＤＲＡＭ３６に一旦格納される。
【０１０６】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データに対して赤目の検出・補正処理を実行する（ステップＳ２７）。すなわち、まず、ＳＤＲＡＭ３６に格納された赤目の検出範囲の情報を赤目検出・補正回路６４に加え、赤目の検出範囲を設定する。次いで、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを赤目検出・補正回路６４に加え、設定された検出範囲内で赤目の検出・補正処理を行わせる。
【０１０７】
ここで、本撮影時に装置本体にブレが生じている場合には、そのブレに応じて検出範囲が拡大されるため、検出漏れを有効に防止することができる。
【０１０８】
このようにして設定された範囲内で赤目の検出処理を行い、赤目が検出されると、赤目検出・補正回路６４は、その検出した赤目に対して画像処理により補正処理を施す。そして、その補正した画像データをＳＤＲＡＭ３６に格納する。なお、赤目が検出されず、赤目補正の処理が行われなかった場合は、そのまま撮影により得られた画像データがＳＤＲＡＭ３６に格納される。
【０１０９】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを圧縮・伸張処理回路５４に加え、所要の圧縮処理を施した後、メディアコントローラ５６を介して記憶メディア２０に記録する（ステップＳ２８）。
【０１１０】
以上説明したように、撮影時にブレ（振動）を検出し、そのブレの大きさに応じて検出範囲を補正することにより、迅速かつ確実に赤目を検出して、その補正を行うことができる。
【０１１１】
なお、上記実施の形態では、本撮影時におけるブレの大きさに応じた割合で赤目の検出範囲を拡大するように補正しているが、検出範囲の補正方法は、これに限定されるものではない。
【０１１２】
たとえば、当初設定する赤目の検出範囲を比較的大きく取り、ブレに応じて拡大させる一方、ブレが発生していない場合は検出範囲を縮小させるようにしてもよい。
【０１１３】
また、ブレ量に応じて連続的に検出範囲を拡大させるのではなく、ブレ量に応じて段階的に検出範囲を拡大させて補正するようにしてもよい。あるいは、検出されたブレが、あらかじめ設定された閾値を超えた場合にのみ所定量検出範囲を拡大させるようにしてもよい。
【０１１４】
また、ブレが一定の値を超えた場合には、赤目の検出・補正処理自体を行わないようにしてもよい。すなわち、ブレが大きすぎる場合には、赤目の検出が不能になることから、このような場合は、赤目の検出・補正処理自体を中止して、全体の処理速度を向上させる。
【０１１５】
なお、装置本体に生じるブレの検出は、上記実施の形態のブレ検出センサのように、直接検出する以外にも行うことができることから、他の方法でブレを検出するようにしてもよい。たとえば、本撮影直前の画像との差分を検出し、その差分に基づいてブレを検出するようにしてもよい。
【０１１６】
また、撮影時におけるブレの発生は、他の要素から推測できることから、このブレの発生を推測して、赤目の検出範囲を拡縮するようにしてもよい。以下、ブレの発生を推測して、赤目の検出範囲を拡縮する方法について説明する。
【０１１７】
１．撮影条件からブレを推測する方法
一般に手ブレは、シャッタ速度が、１／焦点距離sec以下になると発生するといわれている（ただし、焦点距離は３５ｍｍ版換算値）。したがって、撮影時のシャッタ速度と焦点距離の情報を取得し、シャッタ速度が１／焦点距離sec以下になった場合に赤目の検出範囲を補正するようにする。これにより、赤目の検出範囲を補正することができる。
【０１１８】
図６は、撮影条件に応じて赤目の検出範囲を補正して赤目の検出・補正処理を行う場合の処理動作の手順を示すフローチャートである。
【０１１９】
上記同様、まずスルーデータの取り込みが行われ（ステップＳ３０）、得られたスルーデータに対して顔・目の検出処理が行われる（ステップＳ３１）。そして、その検出結果に基づいて赤目の検出範囲が設定される（ステップＳ３２）。この処理が本撮影開始前まで繰り返し行われる。
【０１２０】
ステップＳ３３で本撮影の開始が指示されたと判定すると、ＣＰＵ３０は、ＡＥ、ＡＦの各処理を実行し、その後、フラッシュ２８を発光させて本撮影の処理を実行する（ステップＳ３４）。そして、その本撮影時の撮影条件の情報を取得する（ステップＳ３５）。すなわち、本撮影時におけるシャッタ速度と撮影レンズの焦点距離（ズーム位置）の情報を取得する。
【０１２１】
ＣＰＵ３０は、取得した撮影条件に基づいて赤目の検出範囲を補正する（ステップＳ３５）。すなわち、まず、取得したレンズの焦点距離の情報に基づいて１／焦点距離（３５ｍｍ版換算値）の値を算出する。そして、算出した値とシャッタ速度とを比較し、シャッタ速度が算出した値を超えているか否かを判定する。この判定の結果、シャッタ速度が１／焦点距離sec以下の場合、ブレが生じていると推測し、赤目の検出範囲を所定の割合で拡大して補正する。そして、補正した赤目の検出範囲をＳＤＲＡＭ３６に格納する。なお、シャッタ速度が１／焦点距離secを超えている場合、ブレは生じていないものと推測し、当初の赤目の検出範囲をＳＤＲＡＭ３６にそのまま格納する。
【０１２２】
本撮影により撮像素子１４から出力された画像信号は、アナログ信号処理部１６で所要の信号処理が施され、デジタルの画像信号とされた後、デジタル信号処理部１８に取り込まれ、画像バッファ５０に蓄積される。
【０１２３】
画像バッファ５０に蓄積された画像信号は、ＣＰＵ３０の制御の下、ＹＣ処理回路５２に加えられる。ＹＣ処理回路５２は、入力された画像信号に各種信号処理を施して、輝度データと色差データとからなる画像データを生成する。生成された画像データは、ＳＤＲＡＭ３６に一旦格納される。
【０１２４】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データに対して赤目の検出・補正処理を実行する（ステップＳ３７）。すなわち、まず、ＳＤＲＡＭ３６に格納された赤目の検出範囲の情報を赤目検出・補正回路６４に加え、赤目の検出範囲を設定する。次いで、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを赤目検出・補正回路６４に加え、設定された検出範囲内で赤目の検出・補正処理を行わせる。
【０１２５】
ここで、本撮影時に装置本体にブレが生じていると推定されている場合には、検出範囲が拡大されるため、検出漏れを有効に防止することができる。
【０１２６】
このようにして設定された範囲内で赤目の検出処理を行い、赤目が検出されると、赤目検出・補正回路６４は、その検出した赤目に対して画像処理により補正処理を施す。そして、その補正した画像データをＳＤＲＡＭ３６に格納する。なお、赤目が検出されず、赤目補正の処理が行われなかった場合は、そのまま撮影により得られた画像データがＳＤＲＡＭ３６に格納される。
【０１２７】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを圧縮・伸張処理回路５４に加え、所要の圧縮処理を施した後、メディアコントローラ５６を介して記憶メディア２０に記録する（ステップＳ３８）。
【０１２８】
以上説明したように、撮影条件から装置本体に生じているブレを推測し、適宜、赤目の検出範囲を補正することにより、迅速かつ確実に赤目を検出して、その補正を行うことができる。
【０１２９】
なお、上記実施の形態では、本撮影時におけるシャッタ速度とレンズの焦点距離の情報に基づいてブレの発生を推測しているが、シャッタ速度にのみ基づいてブレの発生を推測するようにしてもよい。たとえば、シャッタ速度が１／６０secの場合には、ブレが生じているものと推測し、赤目の検出範囲を補正するようにしてもよい。
【０１３０】
また、シャッタ速度に応じて補正量を可変させるようにしてもよい。たとえば、基準とするシャッタ速度（１／焦点距離又は１／６０）からの差分に応じて拡大する割合を変えるようにしてもよい。この場合、連続的に可変させてもよいし、段階的に可変させるようにしてもよい。
【０１３１】
また、シャッタ速度が一定値以下になった場合には、赤目の検出・補正処理自体を行わないようにしてもよい。すなわち、あまりに遅いシャッタ速度の場合には、ブレが大きくなりすぎて、赤目の検出が不能になることから、このような場合は、赤目の検出・補正処理自体を中止して、全体の処理速度を向上させるようにしてもよい。
【０１３２】
なお、レンズの焦点距離の検出方法については、公知の技術を用いるものとし、たとえば、位置センサでズームレンズの位置を検出して、焦点距離を検出することができる。
【０１３３】
２．撮影状態からブレを推測する方法
装置本体を三脚に設置して撮影したような場合は、原則としてブレは生じていないものと推定することができる。そこで、装置本体を三脚に設置していない場合についてのみ検出範囲を所定の割合で拡大するようにする。これにより、適切に赤目の検出範囲を補正することができる。
【０１３４】
図７は、撮影条件に応じて赤目の検出範囲を補正して赤目の検出・補正処理を行う場合の処理動作の手順を示すフローチャートである。
【０１３５】
上記同様、まずスルーデータの取り込みが行われ（ステップＳ４０）、得られたスルーデータに対して顔・目の検出処理が行われる（ステップＳ４１）。そして、その検出結果に基づいて赤目の検出範囲が設定される（ステップＳ４２）。この処理が本撮影開始前まで繰り返し行われる。
【０１３６】
ステップＳ４３で本撮影の開始が指示されたと判定すると、ＣＰＵ３０は、ＡＥ、ＡＦの各処理を実行し、その後、フラッシュ２８を発光させて本撮影の処理を実行する（ステップＳ４４）。そして、その本撮影時の撮影状態の情報を取得する（ステップＳ４５）。すなわち、装置本体が三脚に設置されているか否かの情報を取得する。
【０１３７】
なお、装置本体が三脚に設置されているか否かの検出は、これを検出するセンサを装置本体に設けて検出するようにしてもよいし、また、ユーザが手動で装置の状態を入力するようにしてもよい。すなわち、装置本体を三脚に設置した場合は、メニュー画面等を利用して、その情報を撮影装置に入力するようにする。また、切り替えボタン等を設けて、設置状態を入力できるようにしてもよい。
【０１３８】
ＣＰＵ３０は、取得した撮影状態の情報に基づいて赤目の検出範囲を補正する（ステップＳ４５）。すなわち、装置本体が三脚に設置されていない場合は、ブレが生じていると推測し、赤目の検出範囲を所定の割合で拡大して補正する。そして、その補正した赤目の検出範囲をＳＤＲＡＭ３６に格納する。一方、装置本体が三脚に設置されている場合は、ブレは生じていないものと推測し、当初の赤目の検出範囲をＳＤＲＡＭ３６にそのまま格納する。
【０１３９】
本撮影により撮像素子１４から出力された画像信号は、アナログ信号処理部１６で所要の信号処理が施され、デジタルの画像信号とされた後、デジタル信号処理部１８に取り込まれ、画像バッファ５０に蓄積される。
【０１４０】
画像バッファ５０に蓄積された画像信号は、ＣＰＵ３０の制御の下、ＹＣ処理回路５２に加えられる。ＹＣ処理回路５２は、入力された画像信号に各種信号処理を施して、輝度データと色差データとからなる画像データを生成する。生成された画像データは、ＳＤＲＡＭ３６に一旦格納される。
【０１４１】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データに対して赤目の検出・補正処理を実行する（ステップＳ４７）。すなわち、まず、ＳＤＲＡＭ３６に格納された赤目の検出範囲の情報を赤目検出・補正回路６４に加え、赤目の検出範囲を設定する。次いで、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを赤目検出・補正回路６４に加え、設定された検出範囲内で赤目の検出・補正処理を行わせる。
【０１４２】
ここで、本撮影時に装置本体にブレが生じていると推定されている場合には、検出範囲が拡大されるため、検出漏れを有効に防止することができる。
【０１４３】
このようにして設定された範囲内で赤目の検出処理を行い、赤目が検出されると、赤目検出・補正回路６４は、その検出した赤目に対して画像処理により補正処理を施す。そして、その補正した画像データをＳＤＲＡＭ３６に格納する。なお、赤目が検出されず、赤目補正の処理が行われなかった場合は、そのまま撮影により得られた画像データがＳＤＲＡＭ３６に格納される。
【０１４４】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを圧縮・伸張処理回路５４に加え、所要の圧縮処理を施した後、メディアコントローラ５６を介して記憶メディア２０に記録する（ステップＳ４８）。
【０１４５】
以上説明したように、撮影状態から装置本体に生じているブレを推測し、適宜、赤目の検出範囲を補正することにより、迅速かつ確実に赤目を検出して、その補正を行うことができる。
【０１４６】
なお、本方式と撮影条件からブレを推測する方法とを組み合わせて使用してもよい。すなわち、まず、装置本体の三脚への設置の有無を判定し、装置本体が三脚に設置されている場合は、検出範囲の補正は行わないようにする。一方、装置本体が三脚に設置されていない場合は、撮影条件から補正の要否を更に検討する。すなわち、撮影時におけるシャッタ速度とレンズの焦点距離の情報を取得し、シャッタ速度が１／焦点距離sec以下の場合にのみ検出範囲の補正を行うようにする。あるいは、撮影時におけるシャッタ速度の情報を取得し、シャッタ速度が１／６０sec以下の場合にのみ検出範囲の補正を行うようにする。これにより、より的確に赤目の検出範囲の補正を行うことができる。
【０１４７】
また、あらかじめ三脚に設置していることが分かっている場合には、本撮影前に設定する赤目の検出範囲の設定段階で検出範囲を補正するようにしてもよい。すなわち、たとえば、三脚に設置されている場合は、最小の検出範囲を設定し、三脚に設置されていない場合は、最小の検出範囲よりも所定の割合で拡大した範囲に検出範囲を設定する。
【０１４８】
３．撮影モードからブレを推測する方法
撮影装置が複数の撮影モードを備えている場合、設定された撮影モードからブレの発生の有無を推測することができる。たとえば、セルフタイマ撮影では、装置本体を三脚等に固定して撮影することが想定されるので、原則としてブレは生じないものと推定することができる。そこで、装置本体がセルフタイマ撮影モード以外の場合についてのみ赤目の検出範囲を所定の割合で拡大するようにする。これにより、適切に赤目の検出範囲を補正することができる。
【０１４９】
図８は、撮影モードに応じて赤目の検出範囲を補正して赤目の検出・補正処理を行う場合の処理動作の手順を示すフローチャートである。
【０１５０】
上記同様、まずスルーデータの取り込みが行われ（ステップＳ５０）、得られたスルーデータに対して顔・目の検出処理が行われる（ステップＳ５１）。そして、その検出結果に基づいて赤目の検出範囲が設定される（ステップＳ５２）。この処理が本撮影開始前まで繰り返し行われる。
【０１５１】
ステップＳ５３で本撮影の開始が指示されたと判定すると、ＣＰＵ３０は、ＡＥ、ＡＦの各処理を実行し、その後、フラッシュ２８を発光させて本撮影の処理を実行する（ステップＳ５４）。そして、その本撮影時の撮影モードの情報を取得する（ステップＳ５５）。
【０１５２】
ＣＰＵ３０は、取得した撮影モードの情報に基づいて赤目の検出範囲を補正する（ステップＳ５５）。すなわち、撮影モードがセルフタイマ撮影モード以外のモードに設定されている場合は、ブレが生じていると推測し、赤目の検出範囲を所定の割合で拡大して補正する。そして、その補正した赤目の検出範囲をＳＤＲＡＭ３６に格納する。一方、撮影モードがセルフタイマ撮影モードに設定されている場合は、ブレは生じていないものと推測し、当初の赤目の検出範囲をＳＤＲＡＭ３６にそのまま格納する。
【０１５３】
本撮影により撮像素子１４から出力された画像信号は、アナログ信号処理部１６で所要の信号処理が施され、デジタルの画像信号とされた後、デジタル信号処理部１８に取り込まれ、画像バッファ５０に蓄積される。
【０１５４】
画像バッファ５０に蓄積された画像信号は、ＣＰＵ３０の制御の下、ＹＣ処理回路５２に加えられる。ＹＣ処理回路５２は、入力された画像信号に各種信号処理を施して、輝度データと色差データとからなる画像データを生成する。生成された画像データは、ＳＤＲＡＭ３６に一旦格納される。
【０１５５】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データに対して赤目の検出・補正処理を実行する（ステップＳ５７）。すなわち、まず、ＳＤＲＡＭ３６に格納された赤目の検出範囲の情報を赤目検出・補正回路６４に加え、赤目の検出範囲を設定する。次いで、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを赤目検出・補正回路６４に加え、設定された検出範囲内で赤目の検出・補正処理を行わせる。
【０１５６】
ここで、本撮影時に装置本体にブレが生じていると推定されている場合には、検出範囲が拡大されるため、検出漏れを有効に防止することができる。
【０１５７】
このようにして設定された範囲内で赤目の検出処理を行い、赤目が検出されると、赤目検出・補正回路６４は、その検出した赤目に対して画像処理により補正処理を施す。そして、その補正した画像データをＳＤＲＡＭ３６に格納する。なお、赤目が検出されず、赤目補正の処理が行われなかった場合は、そのまま撮影により得られた画像データがＳＤＲＡＭ３６に格納される。
【０１５８】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを圧縮・伸張処理回路５４に加え、所要の圧縮処理を施した後、メディアコントローラ５６を介して記憶メディア２０に記録する（ステップＳ５８）。
【０１５９】
以上説明したように、撮影モードから装置本体に生じているブレを推測し、適宜、赤目の検出範囲を補正することにより、迅速かつ確実に赤目を検出して、その補正を行うことができる。
【０１６０】
なお、上記同様、本方式と撮影条件からブレを推測する方法とを組み合わせて使用してもよい。すなわち、まず、撮影モードがセルフタイマ撮影モードに設定されているか否かを判定し、セルフタイマ撮影モードに設定されている場合は、検出範囲の補正は行わないようにする。一方、撮影モードがセルフタイマ撮影モード以外のモードに設定されている場合は、撮影条件から補正の要否を更に検討する。すなわち、撮影時におけるシャッタ速度とレンズの焦点距離の情報を取得し、シャッタ速度が１／焦点距離sec以下の場合にのみ検出範囲の補正を行うようにする。あるいは、撮影時におけるシャッタ速度の情報を取得し、シャッタ速度が１／６０sec以下の場合にのみ検出範囲の補正を行うようにする。これにより、より的確に赤目の検出範囲の補正を行うことができる。
【０１６１】
なお、あらかじめ撮影モードがセルフタイマ撮影モードに設定されていることが分かっている場合には、本撮影前に設定する赤目の検出範囲の設定段階で検出範囲を補正するようにしてもよい。すなわち、たとえば、撮影モードがセルフタイマ撮影モードに設定されている場合は、最小の検出範囲を設定し、セルフタイマ撮影モード以外の撮影モードに設定されている場合は、最小の検出範囲よりも所定の割合で拡大した範囲に検出範囲を設定する。
【０１６２】
以上のように、撮影条件や撮影状態、撮影モードから装置本体に発生するブレを推測し、赤目の検出範囲を補正することもできる。
【０１６３】
また、次のように、撮影された被写体の顔の大きさに応じて赤目の検出範囲を補正することによっても、赤目の検出範囲を適切に設定することができる。すなわち、画面に顔が大きく写されている場合と小さく写されている場合とでは、同じブレ量で装置本体が振れた場合であっても、画面に顔が小さく写されている場合の方が、あらかじめ設定された赤目の検出範囲からズレる可能性が高い。そこで、撮影された被写体の顔が小さくなるにつれて検出範囲が所定の割合で大きくなるように補正する。
【０１６４】
図９は、撮影モードに応じて赤目の検出範囲を補正して赤目の検出・補正処理を行う場合の処理動作の手順を示すフローチャートである。
【０１６５】
上記同様、まずスルーデータの取り込みが行われ（ステップＳ６０）、得られたスルーデータに対して顔・目の検出処理が行われる（ステップＳ６１）。そして、その検出結果に基づいて赤目の検出範囲が設定される（ステップＳ６２）。この処理が本撮影開始前まで繰り返し行われる。
【０１６６】
ステップＳ６３で本撮影の開始が指示されたと判定すると、ＣＰＵ３０は、ＡＥ、ＡＦの各処理を実行し、その後、フラッシュ２８を発光させて本撮影の処理を実行する（ステップＳ６４）。そして、撮影に得られた画像から人物の顔を検出し、検出された顔の大きさを算出する（ステップＳ６５）。すなわち、撮影により得られた画像データを顔・目検出回路６２に加え、画像から人物の顔領域を抽出する。そして、抽出された領域の大きさ（全領域に対する割合）を算出する。
【０１６７】
ＣＰＵ３０は、算出した顔の大きさに基づいて赤目の検出範囲を補正する（ステップＳ５５）。すなわち、算出した顔の大きさに応じた割合で検出範囲を拡縮させ、赤目の検出範囲を補正する。そして、その補正した赤目の検出範囲をＳＤＲＡＭ３６に格納する。
【０１６８】
本撮影により撮像素子１４から出力された画像信号は、アナログ信号処理部１６で所要の信号処理が施され、デジタルの画像信号とされた後、デジタル信号処理部１８に取り込まれ、画像バッファ５０に蓄積される。
【０１６９】
画像バッファ５０に蓄積された画像信号は、ＣＰＵ３０の制御の下、ＹＣ処理回路５２に加えられる。ＹＣ処理回路５２は、入力された画像信号に各種信号処理を施して、輝度データと色差データとからなる画像データを生成する。生成された画像データは、ＳＤＲＡＭ３６に一旦格納される。
【０１７０】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データに対して赤目の検出・補正処理を実行する（ステップＳ６７）。すなわち、まず、ＳＤＲＡＭ３６に格納された赤目の検出範囲の情報を赤目検出・補正回路６４に加え、赤目の検出範囲を設定する。次いで、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを赤目検出・補正回路６４に加え、設定された検出範囲内で赤目の検出・補正処理を行わせる。
【０１７１】
ここで、本撮影時に装置本体にブレが生じていると推定されている場合には、検出範囲が拡大されるため、検出漏れを有効に防止することができる。
【０１７２】
このようにして設定された範囲内で赤目の検出処理を行い、赤目が検出されると、赤目検出・補正回路６４は、その検出した赤目に対して画像処理により補正処理を施す。そして、その補正した画像データをＳＤＲＡＭ３６に格納する。なお、赤目が検出されず、赤目補正の処理が行われなかった場合は、そのまま撮影により得られた画像データがＳＤＲＡＭ３６に格納される。
【０１７３】
この後、ＣＰＵ３０は、ＳＤＲＡＭ３６に格納された画像データを圧縮・伸張処理回路５４に加え、所要の圧縮処理を施した後、メディアコントローラ５６を介して記憶メディア２０に記録する（ステップＳ６８）。
【０１７４】
以上説明したように、顔の大きさに応じて赤目の検出範囲を補正することにより、迅速かつ確実に赤目を検出して、その補正を行うことができる。
【０１７５】
なお、本方式についても、上述した他の方式と組み合わせて使用してもよい。たとえば、撮影状態を合わせて検出し、装置本体が三脚に設置されている場合は、顔の大きさによる検出範囲の補正は行わないようにする（装置本体が三脚に設置されていない場合にのみ、顔の大きさによる検出範囲の補正を行うようにする。）。
【０１７６】
また、撮影モードを合わせて検出し、撮影モードがセルフタイマ撮影モードに設定されている場合は、顔の大きさによる検出範囲の補正は行わないようにする（撮影モードがセルフタイマ撮影モード以外の撮影モードに設定されている場合にのみ、顔の大きさによる検出範囲の補正を行うようにする。）。
【０１７７】
また、装置本体に生じているブレを合わせて検出し、検出したブレの大きさと顔の大きさとに応じて検出範囲を補正するようにしてもよい。同様に撮影条件と検出した顔の大きさとに応じて検出範囲を補正するようにしてもよい。
【０１７８】
また、上記実施の形態では、本撮影された画像から検出した人物の顔の大きさに応じて検出範囲の補正を行うようにしているが、本撮影直前に撮影された画像（スルー画像）から人物の顔の大きさを検出し、その顔の大きさに応じて検出範囲を補正するようにしてもよい。これにより、撮影後の処理を更に高速化することができる。なお、この場合、検出範囲の設定段階で補正するようにしてもよい。すなわち、検出した目を囲う範囲を検出した顔の大きさに応じて拡縮して、検出範囲を設定するようにしてもよい。
【０１７９】
なお、上記一連の実施の形態では、本発明をデジタルカメラに適用した場合を例に説明したが、本発明の適用は、これに限定されるものではなく、フラッシュの撮影機能を備えた携帯電話機やビデオカメラ等にも同様に適用することができる。
【０１８０】
また、上記一連の実施の形態の撮影装置では、赤目の検出・補正処理、顔の検出処理等をハードウェア回路で実現しているが、ソフトウェアによって同機能を実現することもできる。
【図面の簡単な説明】
【０１８１】
【図１】撮影装置の概略構成を示すブロック図
【図２】赤目の検出範囲の設定方法の説明図
【図３】フラッシュ撮影時における処理動作の手順を示すフローチャート
【図４】赤目の検出範囲の補正方法の説明図
【図５】ブレに応じて赤目の検出範囲を補正して赤目の検出・補正処理を行う場合の処理動作の手順を示すフローチャート
【図６】撮影条件に応じて赤目の検出範囲を補正して赤目の検出・補正処理を行う場合の処理動作の手順を示すフローチャート
【図７】撮影条件に応じて赤目の検出範囲を補正して赤目の検出・補正処理を行う場合の処理動作の手順を示すフローチャート
【図８】撮影モードに応じて赤目の検出範囲を補正して赤目の検出・補正処理を行う場合の処理動作の手順を示すフローチャート
【図９】撮影モードに応じて赤目の検出範囲を補正して赤目の検出・補正処理を行う場合の処理動作の手順を示すフローチャート
【符号の説明】
【０１８２】
１０…撮影装置、１２…撮影光学系、１２ｚ…ズームレンズ、１２ｆ…フォーカスレンズ、１２ｉ…アイリス絞り、１２ｓ…シャッタ、１４…撮像素子、１６…アナログ信号処理部、１８…デジタル信号処理部、２０…記憶メディア、２２…操作部、２４…液晶モニタ（ＬＣＤ）、２６…電源、２８…フラッシュ、３０…ＣＰＵ、３２…バス、３４…フラッシュＲＯＭ、３６…ＳＤＲＡＭ、３８…レンズ駆動回路、４０…タイミングジェネレータ（ＴＧ）、４２…相関二重サンプリング回路（ＣＤＳ）、４４…オート・ゲイン・コントロール（ＡＧＣ）回路、４６…Ａ／Ｄコンバータ、５０…画像バッファ、５２…ＹＣ処理回路、５４…圧縮・伸張処理回路、５６…メディアコントローラ、５８…ＡＥ検出回路、６０…ＡＦ検出回路、６２…顔・目検出回路、６４…赤目検出・補正回路、６８…フラッシュ発光時間算出回路、７０…エンコーダ、７２…ＬＣＤ駆動回路、７４…フラッシュ発光制御回路
【図１】
2008301402.tif 000003
【図２】
2008301402.tif 000004
【図３】
2008301402.tif 000005
【図４】
2008301402.tif 000006
【図５】
2008301402.tif 000007
【図６】
2008301402.tif 000008
【図７】
2008301402.tif 000009
【図８】
2008301402.tif 000010
【図９】
2008301402.tif 000011