以下、図面を参照しながら、本発明を実施するための形態(以下、「実施の形態」という)について説明する。なお、以下に説明する実施の形態によって本発明が限定されるものではない。また、図面の記載において、同一の部分には同一の符号を付している。
なお、本願において、水平方向とは、画像内の顔の2つの目が並んでいる方向のことをいう。
(実施の形態1)
図1は、本発明の実施の形態1に係る画像記録装置であるデジタルカメラ(以下、単にカメラという)の構成を示すブロック図である。また、図2は、図1に示すカメラの外観を背面側から示す斜視図である。
図2に示すように、カメラ1は、別体で構成された交換レンズ100及びカメラ本体200を備え、交換レンズ100を介して被写体を撮像した画像をカメラ本体100において記録する。交換レンズ100はカメラ本体200の前面のマウント開口部(不図示)に着脱自在となっている。
カメラ本体200の上面には、撮影を指示するためのレリーズ釦10と、パワースイッチ20と、撮影モードを設定するモードダイヤル11とが配置されている。
レリーズ釦10は、半押しすることより第1レリーズスイッチがオンすると共に、さらに押し込んで全押しすることにより第2レリーズスイッチがオンする2段階スイッチとなっている。カメラ1は、第1レリーズスイッチのオンにより、焦点検出、撮影レンズのピント合わせ、被写体輝度の測光等の撮影準備動作を行い、第2レリーズスイッチのオンにより、後述する撮像素子221の出力に基づいて、被写体像の画像データの取り込みを行う撮影動作を実行する。
パワースイッチ20は、カメラ本体200や交換レンズ100のパワー供給を制御するためのパワースイッチレバーに連動している。パワースイッチ20がオン状態となると、カメラ1全体に電源が供給され、カメラ1が動作を開始する。一方、パワースイッチ20がオフ状態となると、カメラ1は低消費電流モード(スリープモードともいう)での動作状態に入る。この低消費電流モードでは、後述するシーケンスコントローラ227は低消費電流で駆動され、気圧センサユニット215、スイッチ検知回路253等の回路以外には電源が供給されない。
カメラ本体200の背面には、表示部26及び該表示部上26に重ねて設けられたタッチパネル12と、拡大釦13a、縮小釦13b、再生釦14、メニュー釦15、目線釦16、編集釦17、十字釦18、決定釦19を含む操作釦群とが配置されている。タッチパネル12及び操作釦群13a〜19は、外部からの操作に応じて、所定の指示や情報に対応する信号を入力する操作入力手段に相当する。また、カメラ本体200の背面には、種々のアクセサリーの接続部となるアクセサリーポート29が設けられている。
表示部26は、TFT(薄膜トランジスタ)等のアクティブ素子を用いた液晶パネルや有機EL(Electro Luminescence)といった表示パネルによって実現され、被写体像のライブビュー表示、記録済みの撮影画像の再生表示、メニュー画面の表示等、種々の画像や情報を表示する。なお、実施の形態1において、表示部26はカメラ本体200の背面に配置されるが、撮影者が観察できる位置であれば、背面に限らず配置することができる。また、ライブビュー表示とは、撮像素子221から出力された画像信号に基づいて表示される被写体像の観察用の動画(ライブビュー画像)表示のことである。
タッチパネル12は、表示部26に表示される情報に基づいてユーザの指やタッチペン(スタイラス)等の物体が自身に接触(タッチ)した位置を検出し、このタッチ位置及びタッチの軌跡に応じた操作信号を入力する。一般に、タッチパネルとしては、抵抗膜方式、静電容量方式、光学式等がある。実施の形態1においては、いずれの方式のタッチパネルを適用しても良い。
拡大釦13aは、表示部26に表示される画像を拡大させる指示信号を入力するための操作釦であり、縮小釦13bは、表示部26に表示される画像を縮小させる指示信号を入力するための操作釦である。
再生釦14は、再生モードへの移行、及び再生モードからの抜出を指示する指示信号を入力するための操作釦である。
メニュー釦15は、表示部26にメニューを表示する指示信号を入力するための操作釦である。
目線釦16は、表示部26に表示された画像内の被写体像の目線を自動又は一括して編集する自動又は一括編集モードへの移行、及び該自動又は一括編集モードからの抜出を指示する指示信号を入力するための操作釦である。
編集釦17は、表示部26に表示された画像内の被写体像の目線をユーザがマニュアルで編集するマニュアル編集モードへの移行、及び該マニュアル編集モードからの抜出を操作するための操作釦である。
十字釦18は、上釦18a、下釦18b、左釦18c、右釦18dを含み、表示部26に表示されたカーソルやポインタ等を上下左右に移動させる指示信号を入力するための操作釦である。
決定釦19は、十字釦18等によって選択された項目を決定する指示信号を入力するための操作釦である。
なお、表示部26に表示されたカーソルやポインタを操作する操作部材としては、タッチパネル12及び十字釦18以外にも、トラックボール、タッチパッド、ポインティングスティック等の種々のポインティングデバイスを用いることができる。これらのポインティングデバイスは、カメラ1に設けても良いし、カメラ1に対して外付けにしても良い。
アクセサリーポート29には、例えばファインダ接眼部、及びファインダ接眼部を介して撮影者が観察可能な位置に配置されたファインダ内表示モニタが設けられたビューファインダ等、種々の付属部品が接続される。なおファインダ内表示モニタとしては、液晶や有機EL等の表示パネルが用いられる。
図1に示すように、交換レンズ100をカメラ本体200に装着した状態のとき、通信接点300において両者は電気的に接続される。カメラ本体200内のマウント開口部の近傍には、着脱検知スイッチ259が設けられており、交換レンズ100とカメラ本体200の装着状態を検知する。
交換レンズ100内には、焦点調節及び焦点距離調節用の撮影レンズ101a、101bを含む撮影光学系101と、開口量を調節するための絞り103が配置されている。この内、撮影光学系101は光学系駆動機構107に駆動されて、その位置調節がなされる。また、絞り103は絞り駆動機構109に駆動されて、その位置調節がなされる。光学位置検出機構105は、撮影光学系101の位置を検出して、撮影光学系101の焦点調節レンズ位置(ピント位置)及び焦点距離(ズーム位置)を取得する。また、交換レンズ100の周囲には、回動自在な距離環112が設けられている。この距離環112の回動方向(操作方向)及び回動量(操作量)は、エンコーダ110によって検出される。
光学位置検出機構105、光学系駆動機構107、絞り駆動機構109、及びエンコーダ110の各々は、通信接点300を介してカメラ本体200に接続されたレンズコントローラ111に接続されている。レンズコントローラ111は、例えばCPUによって実現され、光学系駆動機構107に対する駆動制御を介してピント合わせ及びズーム駆動を制御すると共に、絞り駆動機構109に対する駆動制御を介して絞り値を制御する。
また、レンズコントローラ111は、光学位置検出機構105によって取得された焦点調節レンズ位置及び焦点距離に関するレンズ情報をカメラ本体200に送信する。具体的には、交換レンズ100内(又はレンズコントローラ111内)に内蔵された電気的書き換え可能な不揮発性メモリ(図示せず)に、交換レンズ100の焦点距離情報(ズームレンズの場合には、最短焦点距離及び最長焦点距離)、開放絞り値、最小絞り値、撮影可能距離範囲(最至近距離を含む)、レンズの色バランス情報、収差情報、オートフォーカス(AF)に関する情報、装着されたレンズの種類(マクロレンズ、テレコンバータ等)といったレンズ情報が記憶される。なお、レンズ情報は、これらの情報の他、絞り103の絞り状態(開放絞り状態又は絞り込み状態)、距離環112の操作状態(操作方向及び操作量)といった交換レンズ100の状態に関する情報や、絞り駆動機構109による絞り103の絞り込み完了や絞り開放完了、光学系駆動機構107によるレンズ駆動完了の情報といった交換レンズ100の操作状況に関する情報も含む。レンズコントローラ111は、不揮発性メモリに記憶されたこれらのレンズ情報を、通信接点300を介してカメラ本体200に送信する。
カメラ本体200内における撮影光学系101の光軸上(即ち、撮影光路上)には、露光時間制御及び撮像素子221の遮光用のフォーカルプレーンタイプのシャッタ203が配置されている。シャッタ203の動作は、シャッタ駆動機構213によって駆動制御される。被写体の方向から入射し、撮影光学系101によって形成された被写体像に対応する光束は、交換レンズ100とカメラ本体200とが結合するマウント開口部を介してカメラ本体200の方向に導かれ、シャッタ203が開いたタイミングでカメラ本体200内に入射する。
シャッタ203の後方(撮影光学系101とは反対側の方向)には、撮像素子ユニット290が配置されている。撮像素子ユニット290は、防塵フィルタ205、赤外カットフィルタ209、光学的ローパスフィルタ210、及び撮像素子221を、撮影光学系101側からこの順で配置して一体的に構成したユニットであり、塵埃が侵入しないように密封されたパッケージに収納されている。このような撮像素子ユニット290は、ブレ補正駆動機構292により、撮影光学系101の光軸と直交するXY平面内において2次元的に変位される。
防塵フィルタ205は、カメラ本体200のマウント開口部や本体内部において発生した塵埃が撮像素子221や光学素子に付着することにより、塵埃の影が被写体像に写し込まれて見苦しい画像となることを防止する。
防塵フィルタ205の周縁部の全周又は一部には、防塵フィルタ駆動回路211に接続された圧電素子207が固着されている。圧電素子207は、防塵フィルタ駆動回路211の駆動信号に基づいて、防塵フィルタ205を所定周波数の超音波で振動させる。防塵フィルタ205が超音波で振動することにより、防塵フィルタ205の前面に付着した塵埃が除去される。
赤外カットフィルタ209は、被写体像に対応する光束から赤外光成分をカットする。また、光学的ローパスフィルタ210は、被写体光束から高周波成分を取り除く。
撮像素子221は、撮影光学系101によって結像された光束を光電変換して、アナログ画像信号を生成する。本実施形態1においては、撮像素子221として、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の2次元固体撮像素子が使用される。
また、カメラ本体200は、撮像素子221において生成されたアナログ画像信号を処理する撮像素子駆動回路223、前処理回路225、コントラストAF回路226、ASIC(Application Specific Integrated Circuit 特定用途向け集積回路)262、ブレ補正駆動機構292、アクチュエータ駆動回路294、及びブレ検出部297を備える。
撮像素子駆動回路223は、入出力回路239から出力された制御信号に従って、撮像素子221において生成されたアナログ画像信号を読み出し、このアナログ画像信号を増幅すると共に、アナログデジタル変換(AD変換)等の信号処理を行う。
前処理回路225は、撮像素子駆動回路223において信号処理が施された画像信号に対しライブビュー表示のための画素間間引処理等、種々の前処理を行う。
コントラストAF回路226は、前処理回路225から出力された画像信号の高周波成分(コントラスト信号)を抽出する。コントラスト信号を抽出する画像の範囲は、シーケンスコントローラ227によって制御され、例えば、AFターゲット、撮影画面全体、又は拡大表示領域等の領域に対して抽出が行われる。抽出されたコントラスト信号はシーケンスコントローラ227に出力される。
ASIC262は、データバス261と、このデータバス261に接続されたシーケンスコントローラ(本体側コントローラ)227、画像処理回路229、圧縮伸張回路231、ビデオ信号出力回路233、SDRAM制御回路237、入出力回路239、通信回路241、記録媒体制御回路243、フラッシュメモリ制御回路247、スイッチ検知回路253とを含む。なお、図2においてはコントラストAF回路226をASIC262の外側に設けているが、ASIC262内に設けても良い。
シーケンスコントローラ227は、例えばCPUによって実現され、カメラ本体200の各部の動作を制御する。具体的には、シーケンスコントローラ227は、フラッシュメモリ249に記憶されているプログラムに従って、カメラ1全体の動作を制御する。また、シーケンスコントローラ227は、上述したように、コントラストAF回路226からコントラスト信号を入力し、レンズコントローラ111を介して撮影光学系101の自動焦点調節の制御を行う。
画像処理回路229は、前処理回路225から出力され、データバス261を介して入力されたデジタル画像信号(画像データ)に対し、デジタル的増幅(デジタルゲイン調整処理)、色補正、ガンマ(γ)補正、コントラスト補正、白黒・カラーモード処理、ライブビュー表示用処理といった各種画像処理を施し、画像データの輝度分布や彩度の判定を行う。また、画像処理回路229は、画像データに対応する画像に人物や動物等の被写体像の顔が含まれている場合に、その顔における目線を編集する目線編集処理部230を有する。なお、このような顔検出及び目線の編集は、専用のハードウエアを用いて実行しても良い。
図3は、目線編集処理部230の構成を示すブロック図である。目線編集処理部230は、顔検出部230aと、目領域検出部230b、瞳位置算出部230cと、目線判定部230dと、顔検出枠合成部230eと、顔選択部230f、瞳編集部230gとを備える。
顔検出部230aは、表示部26に表示される画像に顔が含まれるか否かを、パターンマッチング処理等の周知技術を用いて判定する。そして、顔が含まれる場合には、顔の範囲の表示部26における位置座標を取得し、この位置座標を表す顔範囲情報を生成する。このとき、画像中に複数の顔が含まれる場合には、各顔に対応する顔範囲情報が生成される。なお、顔検出部230aは、基本的には人物の顔を検出するが、犬や猫等の動物の顔を検出することとしても良い。
目領域検出部230bは、顔範囲情報に基づいて、顔の範囲から目の領域(以下、目領域という)、及び該目領域における瞳の領域(以下、瞳領域という)を検出する。そして、目領域及び瞳領域の輪郭の表示部26における位置座標を取得し、これらの位置座標を表す目領域情報を生成する。
瞳位置算出部230cは、目領域情報に基づいて、目線を所定の方向に向けた場合の目領域における瞳領域の位置を算出する。具体的には、目領域の水平方向における中央の位置が算出される。
目線判定部230dは、目領域検出部230bにおいて検出された目領域及び瞳領域の位置座標と、瞳位置算出部230cにおいて算出された位置に基づいて、検出された顔の目線が所定の方向を向いているか否かを判定する。実施の形態1においては、目線が正面(カメラ1の方向)を向いているか否かを判定するものとし、検出された瞳領域が水平方向における目領域の略中央にある場合に、目線が正面に向いていると判定される。
顔検出枠合成部230eは、顔範囲情報に基づいて、検出された顔をそれぞれ囲む顔検出枠を画像に合成する。その際、顔検出枠合成部230eは、目線判定部230dにより判定が行われた場合に、その判定結果に応じて定まる属性(線の太さ、色、種類、点滅周期等、以下、表示属性という)で表示される顔検出枠を合成する。具体的には、顔検出枠合成部230eは、目線が正面を向いていると判定された顔、及び目線が正面を向いていないと判定された顔に対し、互いに異なる色や線種で表示される顔検出枠を合成する。この場合、顔検出枠合成部230eは、目線判定部230dの判定結果を通知する通知手段に相当する。
顔選択部230fは、目線判定部230dの判定結果、及び/又はタッチパネル12や操作釦群13a〜19によって入力された選択信号に基づいて、画像内の1つ又は複数の顔を選択する。
瞳編集部230gは、顔選択部230fによって選択された顔に対し、瞳領域を編集する処理を行う。この編集は、目領域における瞳領域の位置を変更することを含む。
なお、このような目線編集処理部230は、専用のハードウエアによって実現しても良いし、目線編集処理プログラムをCPUに読み込むことにより実現しても良い。
圧縮伸張回路231は、SDRAM238に記憶された画像データをJPEG、TIFF等の形式で圧縮する。なお、画像圧縮はJPEGやTIFFに限らず、他の圧縮方法を適用しても良い。
ビデオ信号出力回路233は、表示部駆動回路235を介して表示部26(及び、アクセサリーポート29にビューファインダを取り付ける場合には、ファインダ内表示パネル)に接続される。ビデオ信号出力回路233は、SDRAM238又は記録媒体245に記憶された画像データを、表示部26(及び/又はファインダ内液晶モニタ)に表示するためのビデオ信号に変換する。
SDRAM238は、SDRAM制御回路237を介してデータバス261に接続されている。SDRAM238は、画像処理回路229によって画像処理された画像データ又は圧縮伸張回路231によって圧縮された画像データを一時的に記憶するバッファメモリである。
入出力回路239は、防塵フィルタ駆動回路211、シャッタ駆動機構213、及び撮像素子駆動回路223に接続され、データバス261を介してシーケンスコントローラ227等の各回路とデータの入出力を制御する。
通信回路241は、データバス261と接続されると共に、通信接点300を介してレンズコントローラ111と接続されている。通信回路241は、レンズコントローラ111とシーケンスコントローラ227その他の各回路との間のデータの送受信や制御命令の送信等の通信を行う。
記録媒体制御回路243は、記録媒体245に接続され、記録媒体245への画像データ等の記録と再生の制御を行う。記録媒体245は、コンパクトフラッシュ(登録商標)、SDメモリカード(登録商標)、又はメモリスティック(登録商標)等の書き換え可能な記録媒体が装填可能となるように構成され、カメラ本体200に対して着脱自在となっている。その他、マイクロドライブ(登録商標)などのハードディスクユニットや無線通信ユニットを接続可能に構成してもよい。
フラッシュメモリ制御回路247は、フラッシュメモリ(Flash Memory)249に接続される。フラッシュメモリ249は、電気的に書き換え可能な不揮発性メモリであり、カメラの動作を制御するためのプログラムや、制御用の調整値等を記憶する。シーケンスコントローラ227は、フラッシュメモリ249に記憶されたプログラムや調整値等に従ってデジタルカメラの制御を行う。
スイッチ検知回路253は、モードダイヤル11、タッチパネル12、操作釦群13a〜19、パワースイッチ20、及び着脱検知スイッチ259に接続され、これらの各部のスイッチ状態を検知し、或いはこれらの各部から入力された入力信号を受け付けて、データバス261を介して各部に送信する。なお、パワースイッチ20がオフ状態になると、パワースイッチ20以外の操作部材の動作はいずれも検出されない。
ブレ補正駆動機構292は、駆動源として圧電素子駆動モータ等からなるアクチュエータを備え、撮像素子ユニット290を撮影光学系101の光軸と直交するXY平面内において2次元的に変位することにより、画像におけるブレを防止する。
アクチュエータ駆動回路294は、ブレ補正駆動機構292内のアクチュエータを駆動する。
ブレ検出部297は、ジャイロを利用した角速度センサ297a、及び角速度検出回路297bを含むブレ検出部297を有する。角速度センサ297aは、カメラ本体200に生じたブレに応じたブレ信号を出力する。角速度検出回路297bは、角速度センサ297aから出力されたブレ信号を増幅すると共にAD変換し、シーケンスコントローラ227に出力する。
シーケンスコントローラ227は、ブレ検出部297によって検出されたブレ信号に基づき、カメラ本体200のブレを打ち消すブレ制御信号をアクチュエータ駆動回路294に出力し、ブレ補正駆動機構292内のアクチュエータに対する駆動信号を出力させる。これによりアクチュエータが駆動し、撮像素子221が撮影光学系101の光軸と直交する方向に移動する。その結果、カメラ本体200に加えられたブレが打ち消され、画像の劣化が防止される。なお、このような手ブレ補正の方式は、撮像素子シフト方式と呼ばれる。
実施の形態1に係るカメラの動作を、図4を参照しながら説明する。図4は、シーケンスコントローラ227によるパワーオンリセット後のカメラ1の動作を示すフローチャートである。カメラ本体200にバッテリが装填され、又は外部電源が接続されると、図4に示す動作がスタートする。
まず、ステップS01において、カメラ1は、パワースイッチ20がオンであるか否かを判定する。パワースイッチ20がオンである場合(ステップS01:Yes)、カメラ本体200及び交換レンズ100内の各機構や各回路等への電源供給が開始される(S02)。一方、パワースイッチ20がオフである場合(ステップS01:No)、カメラ1は、低消費電力の状態であるスリープ状態となる(ステップS12)。なお、このスリープ状態は、パワースイッチ20のオフからオンによって解除される。
ステップS03において、カメラ1は、レンズ情報を取得する。具体的には、シーケンスコントローラ227が、レンズコントローラ111から通信回路241を介して、光学位置検出機構105によって検出された撮影光学系101の焦点位置情報及び焦点距離情報、並びに、至近側焦点距離・長焦点側焦点距離、開放絞り値、焦点距離毎の露出補正値、周辺光量の補正値(シェーディング)、周辺の色補正値、歪曲収差補正値等の交換レンズ100の固有情報を含むレンズ情報を取得する。この際、中間リング、テレコンバータなどのレンズに関わるアクセサリーに関する情報を、これらのアクセサリーの装着の有無を含めて取得しても良い。
ステップS04において、カメラ1は、動作モード及びパラメータの設定を行う。具体的には、カメラ本体200が、モードダイヤル11によって設定された撮影モード、ISO感度、操作釦群13a〜19を用いてマニュアル設定されたシャッタ速度、絞り値等の情報に基づいて、撮影条件の読み込みを行う。
続くステップS05において、カメラ1は、測光及び露光量の演算を行う。詳細には、カメラ1は、撮像素子221の出力に基づいて被写体輝度を求め、この被写体輝度を用いて撮影モード及び撮影条件に従って適正露光となるシャッタ速度や絞り値等の露光制御値を算出する。
ステップS06において、カメラ1は、ライブビュー表示を行う。具体的には、画像処理回路229が、撮像素子221から出力された画像信号を取り込んで所定の画像処理を施すことにより、一定の微小な時間間隔で連続的に再生される表示用の画像データを生成する。表示部26は、この表示用の画像データに対応する画像(ライブビュー画像)を表示する。
ステップS07において、カメラ1は、再生スイッチがオンされたか否かを判定する。即ち、再生釦14に連動する再生スイッチ信号が検出されたか否かが判定される。再生スイッチがオンされた場合(ステップS07:Yes)、カメラ1は、記録媒体245に記録されている画像データに対応する画像を表示部26に再生して表示する(ステップS20)。
一方、再生スイッチがオンされない場合(ステップS07:No)、又はステップS20の再生動作が終了した場合、カメラ1は、メニュースイッチがオンされたか否かを判定する(ステップS08)。即ち、メニュー釦15に連動するメニュースイッチ信号が検出されたか否かが判定される。
メニュースイッチがオンされた場合(ステップS08:Yes)、カメラ1はメニュー設定を行う(ステップS30)。詳細には、カメラ1は、メニュースイッチのオンに応じて、ISO感度、ホワイトバランス、マニュアルフォーカス(MF)モード、オートフォーカス(AF)モード、防振モード等の種々の設定用の画面を表示部26に表示する。カメラ1は、このような画面(タッチパネル12)に対するタッチや、十字釦18及び決定釦19に対する操作により入力された指示信号に応じて、種々のモードやパラメータの設定を行い、設定されたモードを各部に実行させる。例えば、防振モードが設定された場合、ライブビュー動作中及び撮影動作時に防振動作が実行される。
一方、メニュースイッチがオンされない場合(ステップS08:No)、又はステップS30のメニュー設定が終了した場合、カメラ1は、第1レリーズスイッチ(1Rスイッチ)がオンされたか否かを判定する(ステップS09)。具体的には、レリーズ釦10の半押しによる第1レリーズスイッチ信号が検出されたか否かが判定される。
第1レリーズスイッチがオンされた場合(ステップS09:Yes)、カメラ1は撮影を実行する(ステップS40)。具体的には、カメラ1は、例えばAFモードに設定されている場合、コントラストAFによって撮影光学系101のピント合わせを行い、測光及び露出演算により適正露光となる露出制御値の演算を行う。そして、レリーズ釦10の全押しにより第2レリーズスイッチがオンされた際に露出動作を行い、撮像によって取得された静止画の画像データを記録媒体245に記録する。
一方、第1レリーズスイッチがオンされない場合(ステップS09:No)、又は、ステップS40の撮影が終了した場合、カメラ1は、パワースイッチ20がオンであるか否かを判定する(ステップS10)。パワースイッチ20がオンである場合(ステップS10:Yes)、動作はステップS05に戻る。一方、パワースイッチ20がオフされた場合(ステップS10:No)、カメラ1はパワーオフモードとなり、電源供給が停止する(ステップS11)。その後、動作はステップS12に移行する。
次に、カメラ1の再生動作(ステップS20)について、図5を参照しながら説明する。図5は、カメラ1の再生動作を示すフローチャートである。
まず、ステップS201において、カメラ1は、記録媒体245に記録された画像データを読み出す。このとき、カメラ1は、最新の撮影画像に対応する画像データを読み出す。
続くステップS202において、カメラ1は、読み出した画像データに対応する画像を表示部26に表示する。図6は、表示部26に表示された画像の例である。以下においては、一例として、図6に示す画像G1に対する処理を説明する。画像G1は、顔F01〜F05を有する被写体像を含む。
ステップS203において、顔検出部230aは、表示部26に表示された画像から顔F01〜F05を検出する。
ステップS204において、目領域検出部230bは、検出された各顔F01〜F05から目領域及び瞳領域を検出する。詳細には、目領域検出部230bは、各顔F01〜F05の顔範囲情報に基づいて顔の範囲内の色情報を取得し、白色(白目の色)と周囲の肌色との境界を検出して、この境界を目領域の輪郭とする。続いて、目領域検出部230bは、目領域内から黒色(又は茶色や灰色)の領域を検出し、この黒色の領域の輪郭を瞳領域の輪郭とする。目領域検出部230bは、目領域及び瞳領域の輪郭の位置座標を目領域情報として生成する。
ステップS205において、目線判定部230dは、目領域情報に基づいて、各顔F
01〜F
05の目線が正面を向いているか否かを判定する。
この目線の判定方法を、図7を参照しながら説明する。図7は、図6に示す顔F
05を含む被写体像の一部を拡大して示す図である。通常、左右両眼において、瞳領域P
R、P
Lが目領域E
R、E
Lの略中央にある場合、目線が正面を向いているように見える。そこで、瞳位置算出部230cは、被写体像から見て右(紙面に向かって左)の瞳領域P
Rの中心から目領域E
Rの外側(目尻側)の端部までの距離L
R(OUT)と、右の瞳領域P
Rの中心から目領域E
Rの内側(目頭側)の端部までの距離L
R(IN)と、被写体像から見て左(紙面に向かって右)の瞳領域P
Lの中心から目領域E
Lの内側の端部までの距離L
L(IN)と、左の瞳領域P
Lの中心から目領域E
Lの外側の端部までの距離L
L(OUT)とを取得し、次式(1)を用いて評価値Wを算出する。
目線判定部230dは、この評価値Wの値及び次式(2)に基づいて目線を判定する。即ち、評価値Wが次式(2)を満たす場合、目線が正面を向いていると判定される。
0.8≦W≦1.2 …(2)
評価値Wが1.0と等しい場合、瞳領域PR、PLはそれぞれの目領域ER、ELの中心にあり、目線は真正面を向いていることになる。また、評価値Wが上式(2)の範囲内である場合、瞳領域PR、PLはそれぞれの目領域ER、ELの略中央にあり、目線はほぼ正面を向いていることになる。
ステップS206において、顔検出枠合成部230eは、顔範囲情報に基づいて、各顔の範囲を囲む顔検出枠を生成し、ステップS205における判定結果に応じた表示属性を付与して画像に合成する。
図8は、目線の判定結果と顔検出枠の表示属性との対応を示す表である。図8に示すように、顔検出枠の表示属性には、線の太さ、線の色、線の種類、枠の形状、点滅周期等がある。線の太さとしては、例えば細線、太線、中線を用いることができ、目線が正面から外れている(よそ見している)と判定された顔のようにユーザの注意を引きたい顔に対しては線の太い枠を合成すると良い。線の色としては、緑色、赤色、黄色等を用いることができ、ユーザの注意を引きたい顔には赤色の枠を合成すると良い。線の種類(1)としては、連続線、破線、一点鎖線等を用いることができる。別の線の種類(2)としては、一重線、二重線、三重線等を用いることができ、ユーザの注意を引きたい顔には重ねる線の数を増やした枠(例えば三重線の枠)を合成すると良い。枠の形状としては、円形、四角形、5角形以上の多角形(例えば6角形)等を用いることができ、ユーザの注意を引きたい顔には角数が少ない枠(例えば3角形や4角形の枠)を合成すると良い。点滅周期としては、点灯(点滅しない)、4Hzで点滅、1Hzで点滅等を適用することができる。
顔検出枠合成部230eは、目線が正面を向いていると判定された顔に対し、例えば、細線、緑色、連続線、一重線、円形状、若しくは点灯、又はこれらを組み合わせた表示属性を有する顔検出枠を合成する。また、顔検出枠合成部230eは、よそ見していると判定された顔に対し、例えば、太線、赤色、破線、三重線、四角形状、若しくは4Hzの点滅、又はこれらを組み合わせた表示属性を有する顔検出枠を合成する。さらに、後述するように、目線を編集した後の顔に対しては、例えば、中線、黄色、一点鎖線、二重線、6角形状、若しくは1Hzの点滅、又はこれらを組み合わせた表示属性を有する顔検出枠を合成する。なお、様々なユーザ(例えば、色弱)に対応するため、複数種類の表示属性を組み合わせることが好ましい。
図9は、顔検出枠が合成された画像G1を示す模式図である。図9において、目線が正面を向いていると判定された被写体象F02、F03に対しては、例えば実線(又は実線且つ緑色等)の顔検出枠a02、a03が合成される。一方、目線が正面から外れている(よそ見をしている)と判定された被写体像F01、F04、F05に対しては、例えば破線(又は破線且つ赤色等)の顔検出枠b01、b04、b05が合成される。なお、カメラ1は、画像G1内に警告表示エリアMを設け、よそ見していると判定された顔が存在する場合に、その旨をユーザに警告するメッセージを警告表示エリアMに表示しても良い。
ステップS207において、カメラ1は、十字釦18が操作されたか(十字釦18から操作信号か入力されたか)否かを判定する。十字釦18が操作された場合(ステップS207:Yes)、カメラ1は、表示部26に表示する画像を変更する(ステップS220)。具体的には、カメラ1は、十字釦18の内の上釦18aから信号が入力された場合、10コマ前の画像に対応する画像データを記録媒体245から読み出す。また、下釦18bから信号が入力された場合、10コマ後の画像に対応する画像データを記録媒体245から読み出す。また、左釦18cから信号が入力された場合、1コマ前の画像に対応する画像データを記録媒体245から読み出す。さらに、右釦18dから信号が入力された場合、1コマ後の画像に対応する画像データを記録媒体245から読み出す。
一方、十字釦18が操作されない場合(ステップS207:No)、カメラ1は、拡大釦13a又は縮小釦13bが操作されたか否かを判定する(ステップS208)。拡大釦13a又は縮小釦13bが操作された場合(ステップS208:Yes)、カメラ1は、表示部26に表示する画像の表示範囲を変更する(ステップS230)。具体的には、カメラ1は、拡大釦13aから信号が入力された場合、表示部26に表示されている画像の表示範囲を中央部の所定範囲に縮小し、該所定範囲を表示部26に拡大表示する。一方、カメラ1は、縮小釦13bから信号が入力された場合、表示部26に表示される画像の範囲を外周側の所定範囲に拡大し、該所定範囲を表示部26に縮小表示する。このとき、既に表示部26に画像が等倍表示されている場合には、カメラ1は、サムネイル画像を複数枚並べて(例えば、2行2列、3行3列、4行4列等に配置)表示するインデックス画像表示(後述する図22参照)を行う。さらに、カメラ1は、十字釦18からの信号を検出した場合、検出した釦(上釦18a、下釦18b、左釦18c、右釦18d)の向きに応じて、表示部26に表示される画像の表示範囲を移動させる。
拡大釦13a又は縮小釦13bが操作されない場合(ステップS208:No)、カメラ1は、編集釦17が操作されたか否かを判定する(ステップS209)。編集釦17が操作された場合(ステップS209:Yes)、カメラ1は、表示中の画像から検出された顔の目線をマニュアル編集する(ステップS250)。
一方、編集釦17が操作されることなく(ステップS209:No)、目線釦16が操作された場合(ステップS210:Yes)、カメラ1は、表示中の画像において検出された顔の目線を自動又は一括編集する(ステップS270)。
その後、再生釦14が操作された場合(ステップS211:Yes)、カメラ1の動作はメインルーチンに戻る。一方、再生釦14が操作されない場合(ステップS211:No)、カメラ1の動作はステップS202に戻る。
次に、目線のマニュアル編集(ステップS250)について、図10を参照しながら詳細に説明する。図10は、カメラ1の目線のマニュアル編集動作を示すフローチャートである。なお、以下においては、例として、図9に示す画像G1に対する処理を説明する。
まず、ステップS251において、カメラ1は、ユーザの指やタッチペン等の物体によりタッチパネル12がタッチされたか否かを判定する。タッチパネル12がタッチされた場合(ステップS251:Yes)、続いてカメラ1は、画像G1に表示された顔のいずれかがタッチされたか否かを判定する(ステップS252)。詳細には、目線編集処理部230が、タッチされた位置座標が顔検出枠a01〜a05のいずれの範囲に含まれるかを判定する。
いずれかの顔がタッチされた場合(ステップS252:Yes)、瞳編集部230gは、タッチされた顔の目領域情報を取得する(ステップS253)。詳細には、顔選択部230fが、タッチされた位置座標が含まれる顔検出枠を選択し、瞳編集部230gが、選択された顔検出枠に対応する目領域情報を取得する。なお、この際、顔検出枠合成部230eは、選択された顔検出枠の表示属性を変化させ、選択中の顔検出枠をユーザが認識できるようにしても良い。例えば、選択された顔検出枠の線幅を太くしたり、点滅表示したりすると良い。
ステップS254において、カメラ1は、タッチパネル12に対して物体によるタッチの移動があったか否かを判定する。タッチの移動があった場合(ステップS254:Yes)、瞳編集部230gは、タッチの軌跡に応じて、瞳領域を編集する(ステップS255)。
具体例として、図6に示す画像G1において顔検出枠a05に対応する被写体像F05が選択された場合を説明する。図11は、顔検出枠a05の領域の拡大図である。なお、瞳領域を編集する際には、ステップS208において拡大釦13aを操作し、予め画像を拡大表示しておくと良い(ステップS230)。
図11に示すように、右の瞳領域PR及び左の瞳領域PLは、それぞれ、右の目領域ER及び左の目領域ELの端部にあるため、顔F05は、目線が正面を向いていないように見える。
このような画像に対し、ユーザが物体(図11においては自身の指)2によって一方の瞳領域(図11においては右側の瞳領域PR)にタッチし、タッチの位置を水平方向に移動させる操作を行う。これに応じて、瞳編集部230gは、タッチされた瞳領域をタッチの軌跡に応じた位置に移動させる。具体的な画像処理は、以下のとおりである。まず、瞳編集部230gは、図12(a)に示すように、当初の瞳領域PRを周囲の白色と同じ色で塗りつぶす。続いて、図12の(b)に示すように、タッチの移動が停止した座標を中心とし、当初の瞳領域PRの半径rを半径とする円を描画し、当初の瞳領域PRと同じ色で塗りつぶす。これが移動後の瞳領域PRとなる。なお、瞳領域PRの移動可能な範囲は目領域ER内に限定される。そのため、瞳編集部230gは、タッチの軌跡が目領域ERを超過した場合、瞳領域PRを移動させる処理を実行しない。或いは、このような場合、超過した側の目領域ERの端部に瞳領域PRを配置しても良い。
ここで、一般的に、目領域ERの中央付近における幅hcは、端部付近における幅heよりも大きい。そのため、目領域ERの端部にあった瞳領域PRを、幅d1のまま中央付近に移動させると、瞳領域PRの上下に目領域ERとの隙間gap1、gap2が生じてしまう。そこで、瞳編集部230gは、瞳領域PRを幅hcに合わせて拡大し、又は、瞳領域PRの周囲を瞳領域PRの端部領域と同じ色で描画して拡張することにより、目領域ERとの隙間gap1、gap2が補間された瞳領域PR’を生成する(図12(c)参照)。
さらに、瞳編集部230gは、タッチされた側とは反対側(図11においては左側)の瞳領域PLを、瞳領域PRと連動させ水平方向に移動させる。このとき、瞳領域PLの位置は、瞳領域PLの中心から目領域ELの両端までの距離の比率が、瞳領域PR’の中心Cから目領域ERの両端までの距離L1、L2の比率と等しくなるように決定される。それにより、右目と左目における目線の方向が揃えられる。また、移動後の瞳領域PLの上下に目領域ELとの隙間が生じる場合には、瞳領域PLを拡大又は拡張して、目領域ELとの間の隙間が補間された瞳領域PL’を生成する。それにより、顔F05の目線を正面に向けることができる。
ステップS256において、カメラ1は、目線編集処理部230によって編集された編集画像を表示部26に表示する。また、この際に、顔検出枠合成部230eは、編集後の顔に合成される顔検出枠の表示属性を変更する(図8参照)。図13は、顔F05の瞳領域が編集された画像を示している。図13に示す画像G2においては、顔F05に対し、編集後であることを示す例えば一点鎖線(又は一点鎖線且つ黄色等)の顔検出枠c05が合成されている。
ステップS257において、カメラ1は、決定釦19が操作されたか否かを判定する。決定釦19が操作された場合(ステップS257:Yes)、カメラ1は、編集画像に対応する画像データを、元の画像に対応する画像データとは異なるファイル名で記録媒体245に記録する(ステップS258)。
一方、タッチパネル12がタッチされない場合(ステップS251:No)、又はタッチパネル12上の顔以外の領域がタッチされた場合(ステップS252:No)、編集釦17が操作された際に(ステップS261:Yes)、カメラ1の動作はメインルーチンに戻る。一方、編集釦17が操作されない場合(ステップS261:No)、カメラ1は、タッチパネル12がタッチされるのを待機する。
また、タッチの移動が検出されない場合(ステップS254:No)、又は、決定釦19が操作されない場合(ステップS257:No)、編集釦17が操作された際に(ステップS262:Yes)、カメラ1の動作はメインルーチンに戻る。この場合、瞳位置の編集は破棄される。
一方、編集釦17が操作されない場合(ステップS262:No)、カメラ1の動作はステップS254に戻る。この場合、ユーザは、タッチパネル12に対するタッチ操作により、瞳位置を再度編集することができる。瞳編集部230gは、2回目以降に瞳編集処理を行う際、1回目にタッチされた側と同じ側の瞳領域(上記説明においては、右側の瞳領域PR)に対するタッチの移動操作があった場合、タッチの軌跡に応じてタッチされた側の瞳領域を移動させると共に、他方の瞳領域も連動して移動させる。一方、瞳編集部230gは、1回目にタッチされた側とは反対側の瞳領域(上記説明においては、左側の瞳領域PL)に対するタッチの移動操作があった場合、タッチの軌跡に応じてタッチされた側の瞳領域のみを移動させ、もう一方は連動させない。これにより、ユーザは、他方の瞳領域(瞳領域PR)へのタッチ操作に連動して移動した瞳領域(瞳領域PL)の位置を微調整することができる。
次に、目線の自動又は一括編集(ステップS270)について、図14及び図15を参照しながら詳細に説明する。図14は、目線の自動又は一括編集を選択するためのメニュー画面の表示例である。また、図15は、カメラ1の目線の自動又は一括編集動作を示すフローチャートである。なお、以下においては、例として、図9に示す画像G1に対する処理を説明する。
ステップS271において、カメラ1は、表示中の画像に対する目線編集メニューを表示部26に表示する。図14に示す目線編集メニューM1には、各顔の目線を個別に自動編集するモード(個別自動編集モード)を選択するためのアイコンI1と、全ての顔の目線を自動編集するモード(全自動編集モード)を選択するためのアイコンI2と、全ての顔の目線を一括してマニュアル編集するモード(マニュアル一括編集モード)を選択するためのアイコンI3と、キャンセルアイコンI4とが表示されている。ユーザは、このような目線編集メニューM1に対し、上釦18a、下釦18b、及び決定釦19に対する操作や、タッチパネル12に対するタッチ操作により、所望のアイコンI1〜I4を選択することができる。それにより、ユーザ所望の目線編集モードを選択する選択信号が入力される。
カメラ1は、個別自動編集モードの選択信号を検出した場合(ステップS272:Yes)、続いて、タッチパネル12がタッチされたか否かを判定する(ステップS273)。タッチパネル12がタッチされた場合(ステップS273:Yes)、さらにカメラ1は、よそ見していると判定された顔がタッチされたか否かを判定する(ステップS274)。具体的には、目線編集処理部230は、タッチされた位置座標が、顔検出枠b01、b04、b05のいずれの範囲に含まれるかを判定する。
よそ見していると判定された顔がタッチされた場合(ステップS274:Yes)、目線編集処理部230は、タッチされた顔の瞳領域を自動編集する(ステップS275)。詳細には、まず、顔選択部230fが、タッチされた顔を選択し、瞳位置算出部230cが、選択された顔の目領域の中心座標を算出する。続いて瞳編集部230gが、瞳領域の中心座標が、目領域の中心座標と一致するように、瞳領域を水平方向に移動させる。なお、具体的な画像処理については、ステップS254において説明したものと同様である。さらに、瞳編集部230gは、瞳領域と目領域との間に隙間が生じる場合に、瞳領域を拡大又は拡張して隙間を補間する(図12(c)参照)。
ステップS276において、カメラ1は、瞳編集部230gによって編集された編集画像を表示部26に表示する。また、この際に、顔検出枠合成部230eは、瞳領域の編集後の顔に合成される顔検出枠の表示属性を変更する。それにより、顔F05の瞳領域が自動編集された画像が生成される。このとき、顔F05に対しては、図13と同様に、編集後であることを示す例えば一点鎖線(又は一点鎖線且つ黄色等)の顔検出枠c05が合成される。
ステップS277において、カメラ1は、決定釦19が操作されたか否かを判定する。決定釦19が操作された場合(ステップS277:Yes)、カメラ1は、編集画像に対応する画像データを、元の画像に対応する画像データとは異なるファイル名で記録媒体245に記録する(ステップS278)。
一方、タッチパネル12がタッチされない場合(ステップS273:No)、目線が外れた顔がタッチされない場合(ステップS274:No)、又は、決定釦19が操作されない場合(ステップS277:No)、カメラ1は、編集釦17が操作されたか否かを判定する(ステップS279)。編集釦17が操作された場合(ステップS279:Yes)、カメラ1の動作はメインルーチンに戻る。一方、編集釦17が操作されない場合(ステップS279:No)、カメラ1の動作はステップS273に戻る。
ステップS272において個別自動編集モードの選択信号が検出されない場合(ステップS272:No)、カメラ1は、全自動編集モードの選択信号が検出されたか否かを判定する(ステップS280)。
全自動編集モードの選択信号が検出された場合(ステップS280:Yes)、目線編集処理部230は、よそ見している全ての顔に対し、瞳領域の位置の自動編集を行う(ステップS281)。詳細には、まず顔選択部230fが、よそ見している全ての顔(図9においては、顔F01、F04、F05)を選択し、瞳位置算出部230cが、選択された各顔の目領域の中心座標を算出する。続いて瞳編集部230gが、各顔に対して、瞳領域の中心座標が、目領域の中心座標と一致するように、瞳領域を水平方向に移動させる。なお、具体的な画像処理については、ステップS254において説明したものと同様である。さらに、瞳編集部230gは、瞳領域と目領域との間に隙間が生じる場合に、瞳領域を拡大又は拡張して隙間を補間する(図12(c)参照)。
ステップS282において、カメラ1は、瞳編集部230gによって編集された編集画像を表示部26に表示する。また、この際に、顔検出枠合成部230eは、瞳領域の編集後の顔に合成される顔検出枠の表示属性を変更する。図16は、顔F01、F04、F05の瞳領域が自動編集された画像を示す。図16に示す画像G3においては、顔F01、F04、F05に対し、編集後であることを示す例えば一点鎖線(又は一点鎖線且つ黄色等)の顔検出枠c01、c04、c05が合成されている。
ステップS283において、カメラ1は、決定釦19が操作された否かを判定する。決定釦19が操作された場合(ステップS283:Yes)、カメラ1の動作はステップS278に移行する。一方、決定釦19が操作されない場合(ステップS283:No)、続いてカメラ1は、編集釦17が操作されたか否かを判定する(ステップS284)。編集釦17が操作された場合(ステップS284:Yes)、カメラ1の動作はメインルーチンに戻る。この場合、瞳領域の編集は破棄される。一方、編集釦17が操作されない場合(ステップS284:No)、カメラ1の動作はステップS283に戻る。
ステップS280において全自動編集モードの選択信号が検出されない場合(ステップS280:No)、カメラ1は、マニュアル一括編集モードに入る(ステップS285)。ここで、マニュアル一括編集モードとは、画像内において検出された顔のいずれかに対し、ユーザがマニュアルで瞳領域を編集した場合に、他の全ての顔に対して同様の編集がなされる編集モードのことである。
この場合、ステップS286において、カメラ1は、タッチパネル12がタッチされたか否かを判定する。タッチパネル12がタッチされた場合(ステップS286:Yes)、続いてカメラ1は、画像に表示された顔の内のいずれかがタッチされたか否かを判定する(ステップS230)。詳細には、目線編集処理部230が、タッチされた位置座標が顔検出枠b01、a02、a03、b04、b05のいずれの範囲に含まれるのかを判定する。
いずれかの顔がタッチされた場合(ステップS287:Yes)、瞳編集部230gは、タッチされた顔の目領域情報を取得する(ステップS288)。詳細には、顔選択部230fが、タッチされた位置座標が含まれる顔検出枠を選択し、瞳編集部230gが、選択された顔検出枠に対応する目領域情報を取得する。
続くステップS289において、カメラ1は、タッチパネル12に対してタッチの移動があったか否かを判定する。タッチの移動があった場合(ステップS289:Yes)、瞳編集部230gは、タッチの軌跡に応じて瞳領域を編集する(ステップS290)。なお、ステップS290における詳細な処理は、ステップS255と同様である。
ステップS291において、瞳編集部230gは、さらに、選択された顔に対する瞳領域の編集と同様にして、他の全ての顔の瞳領域の編集を行う。詳細には、瞳編集部230gは、編集済みの瞳領域の中心と目領域の両端との距離L1、L2を取得し(図12(c)参照)、両者の比率L1/L2を算出する。そして、他の顔においても、瞳領域の中心と目領域の両端の比率が同じ比率L1/L2となるように瞳領域を移動させる。さらに、瞳編集部230gは、瞳領域と目領域との間に隙間が生じる場合には、瞳領域を拡大又は拡張して隙間を補間する(図12(c)参照)。
ステップS292において、カメラ1は、瞳編集部230gにおいて編集された編集画像を表示部26に表示する。また、この際に、顔検出枠合成部230eは、瞳領域の編集後の顔に合成される顔検出枠の表示属性を変更する。図17は、全ての顔F01〜F05の目線が右方向(紙面に向かって左方向)を向くように編集された画像を示す。図17に示す画像G4においては、顔F01〜F05に対し、編集後であることを示す例えば一点鎖線(又は一点鎖線且つ黄色等)の顔検出枠c01〜c05が合成されている。
ステップS293において、カメラ1は、決定釦19が操作されたか否かを判定する。決定釦19が操作された場合(ステップS293:Yes)、カメラ1の動作はステップS278に移行する。
一方、タッチパネル12がタッチされない場合(ステップS286:No)、又は、顔に対するタッチがない場合(ステップS287:No)、カメラ1は、編集釦17が操作されたか否かを判定する(ステップS294)。編集釦17が操作された場合(ステップS294:Yes)、カメラ1の動作はメインルーチンに戻る。一方、編集釦17が操作されない場合(ステップS294:No)、カメラ1は、タッチパネル12がタッチされるのを待機する。
また、タッチの移動がない場合(ステップS289:No)、又は、決定釦19が操作されない場合(ステップS293:No)、カメラ1は、編集釦17が操作されたか否かを判定する(ステップS295)。編集釦17が操作された場合(ステップS295:Yes)、カメラ1の動作はメインルーチンに戻る。一方、編集釦17が操作されない場合(ステップS295:No)、カメラ1の動作はステップS286に戻る。
以上説明したように、実施の形態1によれば、画像から検出された顔の目領域に対して瞳領域を移動させるので、被写体像の目線が所望の方向を向いた画像を生成することが可能となる。
また、実施の形態1によれば、目線を個別にマニュアル編集するモードにおいて、タッチパネル12へのタッチ操作により、瞳領域を所望の位置に移動させるので、瞳領域の位置の微調整が可能となる。また、最初にタッチした側の瞳領域と連動して、タッチしなかった側の瞳領域を移動させるので、左右の目線を簡単に揃えることができる。さらに、タッチしなかった側の瞳領域を移動させる際には、他方の瞳領域を固定しておくので、目線の微妙な調節が可能となる。
また、実施の形態1によれば、目線を自動編集するするモードにおいて、瞳領域を目領域の中央に配置するので、簡単な操作により目線を正面に向けることができる。
なお、上記実施の形態1においては、タッチパネル12に対するタッチにより、編集対象の顔を選択したが、十字釦18及び決定釦19の操作によって顔検出枠を選択することにより、編集対象の顔を選択しても良い。
(変形例1−1)
実施の形態1においては、目線をマニュアル編集する際に、直接指やタッチペン等により瞳領域を直接タッチして移動させたが、移動させたい瞳領域とタッチの位置とは必ずしも一致していなくても良い。例えば、図18に示すように、編集対象の顔F05以外の領域(顔F05の近傍又はタッチパネル12上の所定領域)に、瞳領域の編集用のタッチ領域ATを設けても良い。この場合、ユーザが、予め編集対象の顔(例えば顔F05)をタッチして編集位置を指定した後、編集用のタッチ領域ATに対するタッチ操作を行うと、瞳編集部230gは、タッチ領域ATへのタッチの軌跡に応じて、編集対象の顔(顔F05)における瞳領域(例えば瞳領域P05)を移動させる。この変形例1によれば、ユーザは、自身の指等に妨げられることなく、瞳領域P05を観察しながらタッチ位置を移動させることができるので、瞳領域P05の微調整を容易に行うことができる。
(変形例1−2)
目線をマニュアル編集する際には、タッチパネル12以外の操作部材を用いて瞳領域を移動させても良い。例えば、十字釦18に対する釦操作により、移動させる瞳領域の選択並びに移動方向及び移動量の入力を行っても良いし、マウスやタッチパッド等のポインティングデバイスを別途設け、それらのポインティングデバイスによって瞳領域の選択及び移動を行っても良い。
(変形例1−3)
目線編集処理部230は、目線のマニュアル編集モード(ステップS250)において、ユーザがマニュアルで編集した瞳領域に対し、編集後の画像が自然に見えるか否かを判定し、不自然に見える場合にはその旨をユーザに通知しても良い。
例えば、図7において、瞳領域PR、PLの中心CR、CLが共に、それぞれの目領域ER、ELの中心よりも外側にあるとすれば、左右それぞれの目線が離れ、互いに外側を見ているようで不自然に見える。このような画像が生成されるのを防ぐため、目線判定部230dは、瞳領域PR、PLの中心CR、CLから目領域ER、ELの両端までの距離LR(OUT)、LR(IN)、LL(IN)、LL(OUT)を取得し、次式(3)及び(4)を用いて判定を行う。
LR(OUT)/(LR(OUT)+LR(IN))<0.5 …(3)
LL(OUT)/(LL(OUT)+LL(IN))<0.5 …(4)
編集後の瞳領域の位置が式(3)及び(4)を共に満たす場合、不自然な画像となる。そこで、上式(3)及び(4)を満たすような編集がなされた場合、目線編集処理部230は、編集された顔に合成される顔検出枠の表示属性を変更したり、警告メッセージを表示部26に表示したりする。
(変形例1−4)
上記実施の形態1においては、画像内の顔の目線を正面に向けることとしたが、目線を正面以外の方向に向けても良い。
この場合、目線のマニュアル編集モードにおいては、編集対象の顔において、タッチ操作により瞳領域PR(又はPL)を所望の位置に移動させれば良い。
また、目線の自動又は一括編集モードにおいては、例えば、図9に示す画像G1において、目線がユーザ所望の方向を向いた顔(例えば、目線を右方向に向けた顔F01)をタッチにより選択すると、他の全ての顔(例えば、顔F02〜F05)が選択された顔と同じ方向に目線が向くように瞳領域を編集しても良い。この場合、選択されなかった顔における瞳領域の中心と目領域の両端との距離の比率が、選択された顔における瞳領域の中心と目領域の両端との距離の比率と等しくなるように、瞳領域を編集すれば良い。
(変形例1−5)
実施の形態1においては、画像に合成される顔検出枠の表示属性を異ならせることにより、目線の判定結果をユーザに通知したが、これ以外にも、様々な手段により目線の判定結果をユーザに通知することとしても良い。例えば、目線が正面を向いていないと判定された顔に対して警告マークを合成して表示したり、白目の部分を着色して印象付ける警告表示をしても良い。
(変形例1−6)
実施の形態1においては、目領域における瞳領域の水平方向における位置に基づいて、被写体像の目線が正面を向いているか否かを判定したが、水平方向と共に、水平方向と直交する方向(以下、上下方向という)における瞳領域の位置に基づいて、目線の向きを判定するようにしても良い。この場合、水平方向のよそ見だけでなく、上下方向のよそ見を判別することができる。また、上下方向によそ見している目線を編集する際には、瞳領域を目領域の上下方向における略中央の位置に移動させれば良い。
(実施の形態2)
次に、本発明の実施の形態2について説明する。
図19は、実施の形態2に係る撮像装置が備える目線編集処理部の構成を示すブロック図である。図19に示すように、目線編集処理部230−2は、図3に示す目線編集処理部230に対して、警告表示合成部230hをさらに備える。
なお、実施の形態2に係る撮像装置全体の構成については、図1及び図2に示すカメラ1と同様である。また、実施の形態2に係る撮像装置の全体の動作及び再生動作については、図4及び図5に示すものと同様である。
図20は、実施の形態2に係る撮像装置のライブビュー表示動作(図4のステップS06)を示すフローチャートである。
まず、ステップS301において、画像処理回路229は、撮像素子221から出力された画像信号を取り込む。
続くステップS302において、画像処理回路229は、取り込んだ画像信号に対して所定の画像処理を施し、一定の微小な時間間隔で連続的に再生される表示用の画像データを生成する。
ステップS303において、顔検出部230aは、画像処理が施された各画像から顔を検出し、検出した顔に対応する顔範囲情報を生成する。
顔検出の結果、画像から1つ以上の顔が検出された場合(ステップS304:Yes)、目領域検出部230bは、顔範囲情報に基づいて、各顔から目領域及び瞳領域を検出し、目領域情報を生成する(ステップS305)。
ステップS306において、目線判定部230dは、目領域情報に基づいて、各顔の目線が正面を向いているか否かの判定を行う。なお、目線の判定方法の詳細は、ステップS205と同様である。
ステップS307において、顔検出枠合成部230eは、目線の判定結果に応じた表示属性を有する顔検出枠(図8参照)を生成し、画像に合成する。なお、顔検出枠合成部230eは、目線判定部230dの判定結果に応じた警告表示を画像に合成する警告表示合成手段としても作用する。
目線の判定の結果、目線が正面から外れている(よそ見している)顔があった場合(ステップS308:Yes)、警告表示合成部230hは、よそ見している人がいる旨を警告する警告表示を生成し、画像に合成する(ステップS309)。その際に、警告表示合成部230hは、よそ見している人数を警告表示に含めても良い。具体的には、警告表示合成部230hは、例えば図9に示す警告表示エリアM内に表示するための「よそ見をしている人がn人います。」といった警告文を作成する。
ステップS310において、表示部26は、顔表示枠及び警告表示が合成された画像をライブビュー画像として表示する。例えば図9に示す画像G1の場合、顔F01、F04、F05の目線が正面から外れているため、これらの顔F01、F04、F05に対応する顔検出枠b01、b04、b05は、よそ見を表す例えば破線(又は破線且つ赤色等)で表示される。また、画像G1右上の警告表示エリアMには、よそ見している人が存在する旨の警告が表示される。この警告には、よそ見している人数n(即ち、よそ見に対応する属性を有する顔検出枠の数。画像G1においてはn=3)も含まれる。
一方、画像から顔が検出されなかった場合(ステップS304:No)、又は、よそ見している顔が検出されなかった場合(ステップS308:No)、動作はステップS310に移行する。
このようなライブビュー画像においては、被写体の目線の状態に応じて、警告表示の有無又は内容(例えば、メッセージエリアM内の警告文に記載された人数n)が刻々と変化する。そのため、ユーザは、警告表示を参照し、警告表示が表示されなくなった(即ち、目線の外れた人がいなくなった)タイミング、又は、警告表示中のよそ見をしている人数nが少なくなったタイミングで、レリーズ釦10を操作して撮像を行うことができる。また、警告表示においては、目線の外れた人数に応じて警告文の表示色を赤色や緑色等に変更しても良い。例えば、目線の外れた人数が2人以上のときは赤色、1人のときは緑色というように表示色を変化させると、ユーザは警告の内容(人数n)を即座に把握することができ、レリーズ釦10を適切なタイミングで操作することが可能となる。
(変形例2)
次に、変形例2について説明する。図21は、変形例2に係る撮像装置が備える画像処理回路の構成を示すブロック図である。
図21に示すように、変形例2に係る画像処理回路229−2は、目線編集処理部230−2に加えて、警告情報付加部230−3及び画像選択部230−4を更に備える。
警告情報付加部230−3は、ライブビュー画像に警告表示がなされているタイミングで第2レリーズスイッチがオンされた場合に、よそ見している人がいる旨の警告情報を、当該画像データに付加する。
画像選択部230−4は、操作釦群13a〜19による操作入力に従って、記録媒体245に記録されている画像データから、上記警告情報に基づいて画像データを選択する。
具体的には、画像選択部230−4は、撮像された画像を再生表示する際に、例えば、警告情報が付加された画像データのみを選択する。これに応じて、ビデオ信号出力回路233は、選択された画像データに対応する画像を、表示部26に順次表示又は一覧表示する。図22は、警告情報が付加された画像G11〜G14を一覧表示(インデックス表示)した例を示す模式図である。なお、このとき、画像G11〜G14において、よそ見していると判定された顔に対して合成された顔検出枠を表示しても良い。
この場合、ユーザは、目線の編集が必要な画像のみを観察することができるので、効率的に目線の編集作業を行うことができる。或いは、ユーザは、目線が外れている画像のみを容易に選択して削除等することができる。
また、この場合、全ての顔について目領域及び瞳領域の検出が既になされているので、目線編集処理を高速に行うことができる。
一方、画像選択部230−4に、警告表示が付加されていない画像データのみを選択させるようにしても良い。この場合、表示部26には、警告情報が付加されていない(即ち、よそ見している人が検出されなかった)画像のみが、順次表示又は一覧表示される。図23は、警告情報が付加されていない画像G21〜G24を一覧表示した例を示す模式図である。
この場合、ユーザは、目線の編集が不要な画像のみを効率的に観察することができる。
なお、上記実施の形態2及び変形例2においては、被写体の目線が正面を向いているか否かを判定したが、評価値Wの算出式や判定に用いられる閾値を変更することにより、被写体の目線が所望の方向を向いているか否かの判定を行うこともできる。
以上説明した実施の形態1及び2においては、撮像装置1をデジタルカメラとして説明したが、例えば一眼デジタルスチールカメラ、デジタルビデオカメラ、カメラ付き携帯電話等の撮影機能を備えた各種電子機器に適用することができる。