以下、添付図面を参照して本発明をその例示的な実施形態に基づいて詳細に説明する。なお、以下の実施形態は本発明を限定するものではない。また、以下では複数の特徴が記載されているが、その全てが本発明に必須のものとは限らない。また、以下に記載される複数の特徴は任意に組み合わせてもよい。さらに、添付図面において同一若しくは同様の構成には同一の参照番号を付し、重複する説明は省略する。
なお、以下の実施形態では、本発明を撮像装置(具体的にはレンズ交換式のデジタルカメラ)で実施する場合に関して説明する。しかし、本発明は視線情報取得機能(ユーザの視線に関する視線情報を取得する機能)を搭載可能な任意の電子機器に対して適用可能である。このような電子機器には、ビデオカメラ、コンピュータ機器(パーソナルコンピュータ、タブレットコンピュータ、メディアプレーヤ、PDAなど)、携帯電話機、スマートフォン、ゲーム機、ロボット、ドローン、ドライブレコーダなどが含まれる。これらは例示であり、本発明は他の電子機器にも適用可能である。また、以下のデジタルカメラは視線検出機能や撮像機能、表示機能などを有するが、それらの機能を互いに通信可能な複数の機器(例えば本体とリモートコントローラ)に分けて搭載する構成にも本発明は適用可能である。
[構成]
図1は、本発明の実施形態にかかる電子機器の一例としてのデジタルカメラシステムの構成例を示すブロック図である。デジタルカメラシステムは、レンズ交換式デジタルカメラの本体100と、本体100に着脱可能なレンズユニット150とを有している。なお、レンズ交換式であることは本発明に必須でない。
レンズユニット150は、本体100に装着されると本体100に設けられた通信端子10と接触する通信端子6を有する。通信端子10および通信端子6を通じて本体100からレンズユニット150に電源が供給される。また、レンズユニット150のレンズシステム制御回路4と本体100のシステム制御部50とは通信端子10および通信端子6
を通じて双方向に通信可能である。
レンズユニット150において、レンズ群103は可動レンズを含む複数のレンズから構成される撮像光学系である。可動レンズには少なくともフォーカスレンズが含まれる。また、レンズユニット150によっては、変倍レンズや、ぶれ補正レンズなどの1つ以上がさらに含まれ得る。AF駆動回路3は、フォーカスレンズを駆動するモータやアクチュエータなどを含む。フォーカスレンズは、レンズシステム制御回路4がAF駆動回路3を制御することによって駆動される。絞り駆動回路2は、絞り102を駆動するモータアクチュエータなどを含む。絞り102の開口量は、レンズシステム制御回路4が絞り駆動回路2を制御することによって調整される。
メカニカルシャッタ101はシステム制御部50によって駆動され、撮像素子22の露光時間を調整する。なお、メカニカルシャッタ101は動画撮影時には全開状態に保持される。
撮像素子22は例えばCCDイメージセンサやCMOSイメージセンサである。撮像素子22には複数の画素が2次元配置されており、各画素には1つのマイクロレンズ、1つのカラーフィルタ、および1つ以上の光電変換部が設けられている。本実施形態においては、各画素に複数の光電変換部が設けられており、各画素は光電変換部ごとに信号を読み出し可能に構成されている。画素をこのような構成にすることにより、撮像素子22から読み出した信号から撮像画像、視差画像対、および位相差AF用の像信号を生成することができる。
図2(a)は、撮像素子22が有する画素が2つの光電変換部を有する場合の、レンズユニット150の射出瞳と各光電変換部との対応関係を模式的に示した図である。
画素に設けられた2つの光電変換部201a,201bは1つのカラーフィルタ252および1つのマイクロレンズ251を共有する。そして、光電変換部201aには射出瞳(領域253)の部分領域253aを通過した光が、光電変換部201bには射出瞳の部分領域253bを通過した光が、それぞれ入射する。
したがって、或る画素領域に含まれる画素について、光電変換部201aから読み出される信号で形成される画像と、光電変換部201bから読み出される信号で形成される画像とは視差画像対を構成する。また、視差画像対は位相差AF用の像信号(A像信号およびB像信号)として用いることができる。さらに、光電変換部201aから読み出される信号と光電変換部201bから読み出される信号とを画素ごとに加算することで、通常の画像信号(撮像画像)を得ることができる。
なお、本実施形態では撮像素子22の各画素が、位相差AF用の信号を生成するための画素(焦点検出用画素)としても、通常の画像信号を生成するための画素(撮像用画像)としても機能する。しかしながら、撮像素子22の一部の画素を焦点検出用画素とし、他の画素を撮像用画素とした構成であってもよい。図2(b)は、焦点検出用画素と、入射光が通過する射出瞳の領域253との対応関係の一例を示している。図2(b)に示す焦点検出用画素において、光電変換部201は、開口部254により、図2(a)の光電変換部201bと同様に機能する。図2(b)に示す焦点検出用画素と、図2(a)の光電変換部201aと同様に機能する別の種類の焦点検出用画素とを、撮像素子22の全体に分散配置することにより、実質的に任意の場所及び大きさの焦点検出領域を設定することが可能になる。
図2(a),2(b)に示す構成は、記録用の画像を得るための撮像素子を位相差AF
用のセンサとして用いる構成であるが、任意の大きさ及び位置の焦点検出領域を設定可能な他のAFなど、AFの方式に依らず本発明は実施可能である。例えばコントラストAFを用いる構成であっても本発明は実施可能である。コントラストAFのみを用いる場合には、各画素が有する光電変換部は1つである。
図1に戻り、A/D変換器23は、撮像素子22から出力されるアナログ画像信号をデジタル画像信号(画像データ)に変換するために用いられる。なお、A/D変換器23は撮像素子22が備えてもよい。
A/D変換器23が出力する画像データ(RAW画像データ)は、必要に応じて画像処理部24で処理されたのち、メモリ制御部15を通じてメモリ32に格納される。メモリ32は画像データや音声データを一時的に記憶するバッファメモリとして用いられたり、表示部28用のビデオメモリとして用いられたりする。
画像処理部24は、画像データに対して予め定められた画像処理を適用し、信号や画像データを生成したり、各種の情報を取得および/または生成したりする。画像処理部24は例えば特定の機能を実現するように設計されたASICのような専用のハードウェア回路であってもよいし、DSPのようなプロセッサがソフトウェアを実行することで特定の機能を実現する構成であってもよい。
ここで、画像処理部24が適用する画像処理には、前処理、色補間処理、補正処理、検出処理、データ加工処理、評価値算出処理などが含まれる。前処理には、信号増幅、基準レベル調整、欠陥画素補正などが含まれる。色補間処理は、画像データに含まれていない色成分の値を補間する処理であり、デモザイク処理とも呼ばれる。補正処理には、ホワイトバランス調整、画像の輝度を補正する処理、レンズユニット150の光学収差を補正する処理、色を補正する処理などが含まれる。検出処理には、特徴領域(たとえば顔領域や人体領域)の検出および追尾処理、人物の認識処理などが含まれる。データ加工処理には、スケーリング処理、符号化および復号処理、ヘッダ情報生成処理などが含まれる。評価値算出処理には、位相差AF用の1対の像信号やコントラストAF用の評価値や、自動露出制御に用いる評価値などの算出処理が含まれる。なお、これらは画像処理部24が実施可能な画像処理の例示であり、画像処理部24が実施する画像処理を限定するものではない。また、評価値算出処理はシステム制御部50が行ってもよい。
D/A変換器19は、メモリ32に格納されている表示用の画像データから、表示部28での表示に適したアナログ信号を生成して、生成したアナログ信号を表示部28に供給する。表示部28は例えば液晶表示装置を有し、D/A変換器19からのアナログ信号に基づく表示を表示面上で行う。
動画の撮像(撮像制御)と、撮像された動画の表示(表示制御)とを継続的に行うことで、表示部28を電子ビューファインダ(EVF)として機能させることができる。表示部28をEVFとして機能させるために表示する動画をライブビュー画像と呼ぶ。表示部28は接眼部を通じて観察するように本体100の内部に設けられてもよいし、接眼部を用いずに観察可能なように本体100の筐体表面に設けられてもよい。表示部28は、本体100の内部と筐体表面との両方に設けられてもよい。
システム制御部50は例えばCPU(MPU、マイクロプロセッサとも呼ばれる)である。システム制御部50は、不揮発性メモリ56に記憶されたプログラムをシステムメモリ52に読み込んで実行することにより、本体100およびレンズユニット150の動作を制御し、カメラシステムの機能を実現する。システム制御部50は、通信端子10および6を通じた通信によってレンズシステム制御回路4に様々なコマンドを送信することに
より、レンズユニット150の動作を制御する。
不揮発性メモリ56は、システム制御部50が実行するプログラム、カメラシステムの各種の設定値、GUI(Graphical User Interface)の画像データなどを記憶する。システムメモリ52は、システム制御部50がプログラムを実行する際に用いるメインメモリである。不揮発性メモリ56に格納されたデータ(情報)は書き替え可能であってよい。
システム制御部50はその動作の一部として、画像処理部24または自身が生成した評価値に基づく自動露出制御(AE)処理を行い、撮影条件を決定する。例えば、静止画撮影の撮影条件はシャッター速度、絞り値、感度である。システム制御部50は、設定されているAEのモードに応じて、シャッター速度、絞り値、感度の1つ以上を決定する。システム制御部50はレンズユニット150の絞り機構の絞り値(開口量)を制御する。また、システム制御部50は、メカニカルシャッタ101の動作も制御する。
また、システム制御部50は、画像処理部24または自身が生成した評価値もしくはデフォーカス量に基づいてレンズユニット150のフォーカスレンズを駆動し、レンズ群103を焦点検出領域内の被写体に合焦させる自動焦点検出(AF)処理を行う。
システムタイマー53は内蔵時計であり、システム制御部50が利用する。
操作部70はユーザが操作可能な複数の入力デバイス(ボタン、スイッチ、ダイヤルなど)を有する。操作部70が有する入力デバイスの一部は、割り当てられた機能に応じた名称を有する。シャッターボタン61、モード切り替えスイッチ60、電源スイッチ72は便宜上、操作部70と別に図示ししているが、操作部70に含まれる。表示部28がタッチパネルを備えるタッチディスプレイである場合には、タッチパネルもまた操作部70に含まれる。操作部70に含まれる入力デバイスの操作はシステム制御部50が監視している。システム制御部50は、入力デバイスの操作を検出すると、検出した操作に応じた処理を実行する。
シャッターボタン61は半押し状態でONとなり信号SW1を出力する第1シャッタースイッチ62と、全押し状態でONとなり信号SW2を出力する第2シャッタースイッチ64とを有する。システム制御部50は、信号SW1(第1シャッタースイッチ62のON)を検出すると、静止画撮影の準備動作を実行する。準備動作には、AE処理やAF処理などが含まれる。また、システム制御部50は、信号SW2(第2シャッタースイッチ64のON)を検出すると、AE処理で決定した撮影条件に従った静止画の撮影動作(撮像および記録の動作)を実行する。
また、本実施形態の操作部70は、ユーザの視線(視線方向)を検出して検出結果(ユーザの視線に関する視線情報)を出力する視線検出部701を有する。システム制御部50は、視線検出部701からの視線情報に応じて各種制御を実行することができる。視線検出部701はユーザが直接操作する部材ではないが、視線検出部701が検出する視線を入力として取り扱うため、操作部70に含めている。
図3(a)は、ファインダ内に設ける視線検出部701の構成例を模式的に示す側面図である。視線検出部701は、本体100の内部に設けられた表示部28をファインダのアイピースを通じて見ているユーザの眼球501aの光軸の回転角を視線の方向として検出する。検出された視線の方向に基づいて、ユーザが表示部28で注視している位置(表示画像中の注視点)を特定することができる。
表示部28には例えばライブビュー画像が表示され、ユーザはアイピースの窓を覗き込むことにより、表示部28の表示内容を接眼レンズ701dおよびダイクロックミラー701cを通じて観察することができる。光源701eは、アイピースの窓方向(本体100の外部方向)に赤外光を発することができる。ユーザがファインダを覗いている場合には、光源701eが発した赤外光は眼球501aで反射されてファインダ内に戻ってくる。ファインダに入射した赤外光はダイクロックミラー701cで受光レンズ701b方向に反射される。
受光レンズ701bは、赤外光による眼球像を撮像素子701aの撮像面に形成する。撮像素子701aは赤外光撮像用のフィルタを有する2次元撮像素子である。視線検出用の撮像素子701aの画素数は撮影用の撮像素子22の画素数よりも少なくてよい。撮像素子701aによって撮像された眼球画像はシステム制御部50に送信される。システム制御部50は、眼球画像から赤外光の角膜反射の位置と瞳孔の位置とを検出し、両者の位置関係から視線方向を検出する。また、システム制御部50は、検出した視線方向に基づいて、ユーザが注視している表示部28の位置(表示画像中の注視点)を検出する。なお、眼球画像から角膜反射の位置と瞳孔の位置を画像処理部24で検出し、システム制御部50は画像処理部24からこれらの位置を取得してもよい。
なお、本発明は視線検出の方法や視線検出部の構成には依存しない。したがって、視線検出部701の構成は図3(a)に示したものに限定されない。例えば、図3(b)に示すように、本体100の背面に設けられた表示部28の近傍に配置されたカメラ701fにより撮像された画像に基づいて視線を検出してもよい。破線で示すカメラ701fの画角は、表示部28を見ながら撮影を行うユーザの顔が撮像されるように定められている。カメラ701fで撮像した画像から検出した目領域(眼球501aと眼球501の少なくとも一方の領域)の画像に基づいて視線の方向を検出することができる。赤外光の画像を用いる場合には、カメラ701fの近傍に光源701eを配置し、光源701eで画角内の被写体に赤外光を投写して撮像を行えばよい。その場合は、得られた画像から視線の方向を検出する方法は図3(a)の方法と同様でよい。また、可視光の画像を用いる場合には光を投射しなくてもよい。可視光の画像を用いる場合には、目領域の目頭と虹彩の位置関係などから視線の方向を検出することができる。
再び図1に戻り、電源制御部80は、電池検出回路、DC-DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部80は、検出結果及びシステム制御部50の指示に基づいてDC-DCコンバータを制御し、必要な電圧を必要な期間、記録媒体200を含む各部へ供給する。
電源部30は、電池やACアダプター等からなる。I/F18は、メモリカードやハードディスク等の記録媒体200とのインターフェースである。記録媒体200には、撮影された画像や音声などのデータファイルが記録される。記録媒体200に記録されたデータファイルはI/F18を通じて読み出され、画像処理部24およびシステム制御部50を通じて再生することができる。
通信部54は、無線通信および有線通信の少なくとも一方による外部機器との通信を実現する。撮像素子22で撮像した画像(撮像画像;ライブビュー画像を含む)や、記録媒体200に記録された画像は、通信部54を通じて外部機器に送信可能である。また、通信部54を通じて外部機器から画像データやその他の各種情報を受信することができる。
姿勢検出部55は重力方向に対する本体100の姿勢を検出する。姿勢検出部55は加速度センサ、または角速度センサであってよい。システム制御部50は、撮影時に姿勢検
出部55で検出された姿勢に応じた向き情報を、当該撮影で得られた画像データを格納するデータファイルに記録することができる。向き情報は、例えば記録済みの画像を撮影時と同じ向きで表示するために用いることができる。
本実施形態の本体100は、画像処理部24が検出した特徴領域が適切な画像となるように各種の制御を実施することが可能である。例えば、本体100は、特徴領域で合焦させる自動焦点検出(AF)や、特徴領域が適正露出となるような自動露出制御(AE)を実施することが可能である。また、本体100は、特徴領域のホワイトバランスが適切になるような自動ホワイトバランスや、特徴領域の明るさが適切になるような自動フラッシュ光量調整なども実施することが可能である。なお、特徴領域を適切にする制御は、これらに限定されない。画像処理部24は、例えばライブビュー画像に対して公知の方法を適用して、予め定められた特徴に当てはまると判定される領域を特徴領域として検出し、各特徴領域の位置、大きさ、信頼度といった情報をシステム制御部50に出力する。なお、本発明は特徴領域の種類や検出方法には依存しない。また特徴領域の検出には公知の方法を利用可能であるため、特徴領域の検出方法についての説明は省略する。
また、特徴領域は、被写体情報を検出するためにも用いることができる。特徴領域が顔領域の場合、被写体情報として、例えば、赤目現象が生じているか否か、目をつむっているか否か、表情(例えば笑顔)などが検出される。なお、被写体情報はこれらに限定されない。
本実施形態では、大きさおよび位置が不定である複数の画像領域の一例としての複数の特徴領域から、各種の制御に用いたり、被写体情報を取得したりするための1つの特徴領域(主被写体領域)を、ユーザの視線を用いて選択することができる。視線検出部701で検出されるようにユーザが視線を向ける動作は、視線入力と呼ぶことができる。
[動作]
以下、図4を参照して、本体100で行われる撮影処理について説明する。図4は、本実施形態に係る撮影処理のフローチャートである。撮影モードで本体100が起動したことや、本体100のモードとして撮影モードが設定されたことなどに応じて、図4の処理が開始される。
ステップS1では、システム制御部50は、撮像素子22の駆動を開始し、撮像データ(画像)の取得を開始する。これにより、焦点検出や被写体検出、ライブビュー表示などの少なくともいずれかを行うために十分な解像度を有する画像が順次取得される。ここでは、ライブビュー表示用の動画撮像のための駆動動作であるため、ライブビュー表示用のフレームレートに応じた時間の電荷蓄積を撮像データの読み出しの度に行う、いわゆる電子シャッタを用いた撮像を行う。ライブビュー表示は、表示部28を電子ビューファインダ(EVF)として機能させる表示であり、被写体を略リアルタイムで表す表示である。ライブビュー表示は、例えば、ユーザ(撮影者)が撮影範囲や撮影条件の確認を行うために行われ、ライブビュー表示用のフレームレートは、例えば、30フレーム/秒(撮像間隔33.3ms)や60フレーム/秒(撮像間隔16.6ms)などである。
ステップS2では、システム制御部50は、現在の撮像データから焦点検出データと撮像画像データを取得する処理を開始する。焦点検出データは、焦点検出領域における視差画像対を構成する第1画像と第2画像のデータを含む。例えば、第1画像を構成する画素のデータは、図2(a)の光電変換部201aから得られるデータであり、第2画像を構成する画素のデータは、光電変換部201bから得られるデータである。撮像画像データは、撮像画像のデータであり、第1画像のデータと第2画像のデータとを足し合わせ、画像処理部24で色補間処理などを適用して得られるデータである。このように、1回の撮
像により、焦点検出データと撮像画像データを取得することができる。なお、焦点検出用画素と撮像用画素とを別々の画素とした場合には、焦点検出用画素の位置での画素値を得る補間処理などを行って撮像画像データを取得する。
ステップS3では、システム制御部50はライブビュー表示処理を開始する。システム制御部50は、ライブビュー表示処理において、画像処理部24を用いて現在の撮像画像(撮像画像データ)からライブビュー表示用の画像を生成し、生成した画像を表示部28の画像表示領域に表示する。画像表示領域は、表示部28の表示面の全領域、表示部28に表示された画面(ウィンドウなど)の全領域、表示面または画面の一部の領域などのいずれかである。なお、ライブビュー表示用の画像は、例えば、表示部28の解像度に合わせた縮小画像であり、撮像画像を生成する際に画像処理部24で縮小処理を実施することもできる。この場合には、システム制御部50は、生成された撮像画像(縮小処理後の画像)を表示部28に表示する。上述したように、ライブビュー表示は被写体を略リアルタイムで表すため、ユーザは、ライブビュー表示を確認しながら、撮影時の構図や露出条件の調整などを容易に行うことができる。さらに、本実施形態では、本体100は、撮像画像から、人物の顔や動物などの被写体を検出することができる。このため、ライブビュー表示において、検出している被写体の領域を示す枠などの表示も行うことができる。
ステップS4では、システム制御部50は、視線検出と焦点検出を開始する。視線検出では、視線検出部701により、表示部28の表示面における視線位置(ユーザの視線の位置)を示す視線情報が、ユーザが見ていた撮像画像と関連付けて、所定の時間間隔で取得される。さらに、ステップS4では、システム制御部50は、検出された視線位置をユーザに通知するため、表示部28の表示面における視線位置への所定のアイテム(丸など)の表示を開始する。焦点検出については後述する。
ステップS5では、システム制御部50は、信号SW1(第1シャッタースイッチ62のON;撮影準備指示;シャッターボタン61の半押し状態)が検出された否かを判定する。システム制御部50は、信号SW1が検出されたと判定した場合にステップS6へ処理を進め、信号SW1が検出されなかったと判定した場合にステップS11へ処理を進める。
ステップS6では、システム制御部50は、焦点検出領域の設定と、ステップS4で開始した焦点検出とを行う。ここでは、システム制御部50は、ステップS4で開始した視線検出の結果(順次検出される視線の検出結果)に基づいて、焦点検出領域を設定する。検出される視線位置は、ユーザが意図する被写体の位置に対して、様々な要因で、誤差を含む。本実施形態では、より高精度な(より好適な)視線情報が取得されるように、状況に応じて、検出された視線位置(視線情報)の加工や、視線検出タイミング(視線位置を検出するタイミング)の制御などの統計方法の変更を行う。詳細は後述する。なお、そのような処理(視線位置の加工や視線検出タイミングの制御)後の視線情報が外部から取得されるようにしてもよい。ステップS6では、そのような処理後の視線情報を用いて、焦点検出領域を設定する。その際に、視線位置と焦点検出領域の中心位置とを揃えてもよいし、そうしなくてもよい。検出された被写体の領域など、焦点検出領域の候補が存在する場合には、検出された複数の被写体のうち、視線位置に最も近い被写体の領域(視線位置を含む領域)を、当該視線位置に紐づけて、焦点検出領域に設定することができる。そして、システム制御部50は、焦点検出領域で合焦する焦点位置(合焦点)を検出する。ステップS6以降では、視線情報を用いた焦点検出(焦点検出領域の設定を含む)が繰り返し実行される。なお、視線情報が取得される前の焦点検出領域の設定方法は特に限定されない。例えば、ユーザが任意に選択した被写体の領域を、焦点検出領域として設定することができる。
焦点検出では、焦点検出領域における視差画像対を構成する第1画像と第2画像の像ずれ量(位相差)が算出され、像ずれ量から焦点検出領域におけるデフォーカス量(大きさと方向を含むベクトル量)が算出される。以下、焦点検出について具体的に説明する。
まず、システム制御部50は、第1画像と第2画像にシェーディング補正を施すことにより、第1画像と第2画像の間の光量差(輝度差)を低減する。さらに、システム制御部50は、シェーディング補正後の第1画像と第2画像にフィルター処理を施すことにより、位相差検出を行う空間周波数の画像(データ)を抽出する。
次に、システム制御部50は、フィルター処理後の第1画像と第2画像を相対的に瞳分割方向にシフトさせるシフト処理を行い、第1画像と第2画像の一致度を表す相関値を算出する。
ここで、フィルター処理後の第1画像におけるk番目の画素のデータをA(k)とし、フィルター処理後の第2画像におけるk番目の画素のデータをB(k)とし、焦点検出領域に対応する番号kの範囲をWとする。さらに、シフト処理によるシフト量をs1として、シフト量s1の範囲(シフト範囲)をΓ1とする。この場合に、相関値COR(s1)は、以下の式1を用いて算出できる。
具体的には、シフト量s1のシフト処理により、フィルター処理後の第1画像におけるk番目の画素のデータA(k)に、フィルター処理後の第2画像におけるk-s1番目の画素のデータB(k-s1)を対応付ける。次に、データA(k)からデータB(k-s1)を減算し、減算結果の絶対値を算出する。そして、焦点検出領域に対応する範囲W内で算出された絶対値の総和を、相関値COR(s1)として算出する。なお、必要に応じて、行毎に算出された相関量を、シフト量毎に、複数行に亘って加算してもよい。
次に、システム制御部50は、相関値から、サブピクセル演算により、相関値が最小となる実数値のシフト量を、像ずれ量p1として算出する。そして、システム制御部50は、算出した像ずれ量p1に、焦点検出領域の像高と、撮像レンズ(結像光学系;撮像光学系)のF値と、射出瞳距離とに応じた変換係数K1を乗算することにより、デフォーカス量を算出する。
ステップS7では、システム制御部50は、ステップS6で検出(算出)したデフォーカス量に基づき、フォーカスレンズを駆動する。検出されたデフォーカス量が所定値より小さい場合には、必ずしもフォーカスレンズを駆動する必要はない。
ステップS8では、システム制御部50は、ステップS1~S4で開始した処理(撮像、ライブビュー表示、視線検出、視線位置の表示、焦点検出など)を行う。焦点検出の方法は、ステップS6の方法(視線情報を用いた焦点検出)と同様である。なお、ステップS8の処理は、ステップS7の処理中(フォーカスレンズの駆動中)に、並列的に行ってもよい。また、ライブビュー表示(撮像画像)の変化や、視線位置の変化などに基づいて、焦点検出領域を変更してもよい。
ステップS9では、システム制御部50は、信号SW2(第2シャッタースイッチ64のON;撮影指示;シャッターボタン61の全押し状態)が検出された否かを判定する。システム制御部50は、信号SW2が検出されたと判定した場合にステップS10へ処理
を進め、信号SW2が検出されなかったと判定した場合にステップS5へ処理を戻す。
ステップS10では、システム制御部50は、撮像画像の記録(撮影)を行うか否かを判定する。システム制御部50は、撮像画像の記録を行うと判定した場合にステップS300へ処理を進め、撮像画像の記録を行わないと判定した場合にステップS400へ処理を進める。本実施形態では、第2シャッタースイッチ64の長押しで連写(連写撮影;連続撮影)が行われ、連写中には、撮影(撮像画像の記録)と焦点検出の間で処理が切り替えられる。撮影と焦点検出が交互に行われるように、1回の撮像の度に処理を切り替えてもよい。複数回(例えば、3回)の撮像の度に1回の焦点検出が行われるように処理を切り替えてもよい。これにより、単位時間当たりの撮影枚数を大幅に減らすことなく、焦点検出を好適に行うことができる。
ステップS300では、システム制御部50は、撮影サブルーチンを実行する。撮影サブルーチンの詳細については後述する。ステップS300の後、ステップS9へ処理が戻される。
ステップS400では、システム制御部50は、ステップS8と同様に、ステップS1~S4で開始した処理(撮像、ライブビュー表示、視線検出、視線位置の表示、焦点検出など)を行う。但し、連写のフレームレート(撮像コマ速)や、撮像画像から記録画像(記録する画像)を生成する生成処理などにより、ステップS400では、撮像画像の表示期間や表示更新レート(間隔)、表示遅延などがステップS8と異なる。ステップS400の後、ステップS9へ処理が戻される。
撮像画像の表示期間や表示更新レート(間隔)、表示遅延などが変わる際に、ユーザの視線位置は、少なからず影響を受ける。本実施形態では、このような表示状態の変化に応じて、検出される視線位置に誤差が生じることを鑑みて、視線位置の加工や視線検出タイミングの制御などの統計方法の変更を好適に行う。これにより、表示状態の変化によらず、精度度な(好適な)視線位置を取得することができる。得られた視線位置(視線情報)は、上述の通り、視線位置の表示、焦点検出領域の設定、被写体領域との紐づけなどに用いられる。詳細は後述する。
上述したように、ステップS5で信号SW1が検出されなかった場合には、ステップS11へ処理が進められる。ステップS11では、システム制御部50は、撮影処理の終了指示(操作)があったか否かを判定する。終了指示は、例えば、本体100のモードを撮影モードから他のモードへ変更する指示や、本体100の電源を切る指示などである。システム制御部50は、終了指示があったと判定した場合に図4の撮影処理を終了し、終了指示が無かったと判定した場合にステップS5へ処理を戻す。
次に、図5を参照して、図4のS300で実行される撮影サブルーチンの詳細について説明する。図5は、本実施形態に係る撮影サブルーチンのフローチャートである。
ステップS301では、システム制御部50は、露出制御を実行し、撮影条件(シャッター速度、絞り値、撮影感度など)を決定する。この露出制御は、任意の公知技術を用いて実行することができ、例えば撮像画像の輝度情報に基づいて実行することができる。そして、システム制御部50は、決定した絞り値とシャッター速度に基づいて、絞り102とシャッター101(メカニカルシャッタ)の動作を制御する。また、システム制御部50は、シャッター101を通じて撮像素子22が露光される期間(露光期間)、撮像素子22に電荷蓄積を行わせる。
露光期間が終了した後のステップS302では、システム制御部50は、静止画撮影の
ための撮像画像を撮像素子22から取得する(読み出す)。さらに、システム制御部50は、焦点検出領域における視差画像対を構成する第1画像と第2画像の一方である焦点検出画像を撮像素子22から取得する(読み出す)。焦点検出画像は、記録画像(撮影画像;撮像画像に基づいて記録された画像)の再生時に、被写体のピント状態を検出するために用いられる。撮像画像に比べ狭い領域の画像や、撮像画像に比べ解像度が低い画像を、焦点検出画像として取得することで、焦点検出画像のデータ量を低減してもよい。第1画像と第2画像の一方と撮像画像との差分を、第1画像と第2画像の他方として算出することができる。本実施形態では、撮像画像と一方の焦点検出画像とを取得して(読み出して)記録し、他方の焦点検出画像は算出する。以降の画像処理(画像に関する処理)は、取得した撮像画像と一方の焦点検出画像とに対して施される。
ステップS303では、システム制御部50は、画像処理部24を用いて、ステップS302で取得した画像に対して欠陥画素補間(補正)処理を施す。ステップS304では、システム制御部50は、画像処理部24を用いて、ステップS303の欠陥画素補間処理後の画像に対して他の画像処理を施す。他の画像処理は、デモザイク(色補間)処理、ホワイトバランス処理、γ補正(階調補正)処理、色変換処理、エッジ強調処理、符号化処理などである。ステップS305では、システム制御部50は、ステップS303,S304の処理後の画像(静止画撮影のための撮像画像、及び、一方の焦点検出画像)を画像データファイルとしてメモリ32に記録する。
ステップS306では、システム制御部50は、本体100の特性情報を、ステップS305で記録した記録画像(撮影画像)に対応させて、メモリ32(およびシステム制御部50内のメモリ)に記録する。本体100の特性情報は、例えば、以下の情報を含む。
・撮影条件(絞り値、シャッタ速度、撮影感度など)に関する情報
・画像処理部24で適用した画像処理に関する情報
・撮像素子22の受光感度分布に関する情報
・本体100内での撮影光束のケラレに関する情報
・本体100とレンズユニット150との取り付け面から撮像素子22までの距離に関する情報
・製造誤差に関する情報
なお、受光感度分布は、オンチップマイクロレンズと光電変換部に依存するため、これら部材に関する情報を、受光感度分布に関する情報として記録してもよい。受光感度分布に関する情報として、撮像素子22から光軸上の所定の距離における位置に応じた感度を示す情報を記録してもよい。受光感度分布に関する情報として、光の入射角度の変化に対する感度の変化を示す情報を記録してもよい。
ステップS307では、システム制御部50は、レンズユニット150の特性情報を、ステップS305で記録した記録画像に対応させて、メモリ32(およびシステム制御部50内のメモリ)に記録する。レンズユニット150の特性情報は、例えば、射出瞳の情報、枠情報、撮影時の焦点距離の情報、撮影時のFナンバー情報、収差情報、製造誤差情報、撮影時のフォーカスレンズ位置と対応付けられた被写体距離情報などを含む。
ステップS308では、システム制御部50は、ステップS305で記録した記録画像に関する画像関連情報を、メモリ32(およびシステム制御部50内のメモリ)に記録する。画像関連情報は、例えば、撮影前(記録前)の焦点検出動作に関する情報や、被写体移動情報、焦点検出動作の精度に関する情報などを含む。
ステップS309では、システム制御部50は、ステップS305で記録した記録画像を表示部28に表示する(プレビュー表示)。これにより、ユーザは、記録画像の簡易的
な確認を行うことができる。ステップS305の記録用の画像は、ステップS303,S304などの各種処理を施して生成するが、ステップS309のプレビュー表示用の画像は、簡易的な確認のための画像であるため、これら各種処理を施さずに生成してもよい。これらの各種処理を行わずにプレビュー表示用の画像を生成する場合には、ステップS303以降の処理と並列に、ステップS309のプレビュー表示を行うことで、露光から表示までのタイムラグをより短くすることができる。
次に、図6を参照して、視線位置(視線情報)の加工や視線検出タイミングの制御などの統計方法の変更を含む視線検出調整処理について説明する。図6は、本実施形態に係る視線検出調整処理のフローチャートである。図6の処理は、図4のステップS4が行われたことに応じて開始され、ステップS4以降の処理と並列に繰り返し行われる。
ステップS201では、システム制御部50は、視線検出部701により検出された視線位置の情報(視線情報)を取得する。
ステップS202では、システム制御部50は、ステップS201の処理を行ったタイミング(視線位置を検出したタイミング)でのライブビュー設定情報を取得する。ライブビュー設定情報は、ライブビュー表示における撮像画像(フレーム)の表示期間や表示更新レート(間隔)、表示遅延などの情報である。本実施形態のカメラシステムでは、ライブビュー設定情報の影響で、検出される視線位置が、ユーザの意図する位置に対して、位置ずれ(オフセットやばらつき)を有する場合がある。そのため、本実施形態では、ライブビュー設定情報に応じて、視線情報の加工や視線検出タイミングの制御などの統計方法の変更を行う。ライブビュー設定情報の影響で位置ずれが生じる原因については、後述する。
ステップS203では、システム制御部50は、ステップS202で取得したライブビュー設定情報に基づき、ステップS201で取得した視線情報の加工処理を行う。加工処理は、複数のタイミングにそれぞれ対応する複数の視線の重みづけ合成(スムージング処理;フィルター処理)や、順次検出される視線の間引き処理、注視領域判定に用いる視線情報の個数(サンプル数)の変更などを含み得る。注視領域判定に用いる視線情報の個数は、注視領域判定に用いる視線情報を取得する期間の長さとも言える。本実施形態では、第1視線情報と第2視線情報とが異なる加工処理(統計方法)で生成される。ステップS203の処理の詳細は、後述する。
ステップS204では、システム制御部50は、加工処理により生成された視線情報(第1視線情報と第2視線情報)に基づく処理を行う。第1視線情報は視線位置の表示に使用され、第2視線情報は焦点検出領域の設定に使用される。
ステップS205では、システム制御部50は、統計方法の変更として、視線検出タイミング(サンプルタイミング)の変更が必要か否かを判定する。具体的には、システム制御部50は、ライブビュー設定情報(表示更新レートや表示遅延など)に変更があったか否かを判定する。図4の撮影処理では、撮影前の状態から連写中に移行した場合に、表示更新レートや表示遅延が変わる。システム制御部50は、視線検出タイミングの変更が必要であると判定した場合、つまりライブビュー設定情報に変更があったと判定した場合に、ステップS206へ処理を進める。一方で、システム制御部50は、視線検出タイミングの変更が必要でないと判定した場合、つまりライブビュー設定情報に変更が無かったと判定した場合に、図6の視線検出調整処理を終了する。上述したように視線検出調整処理は繰り返し行われるため、視線検出調整処理は、ここで終了されたとしても、再度ステップS201から開始される。
ステップS206では、システム制御部50は、視線検出タイミングを変更する。ステップS206の処理は、表示更新レートが低い場合や、表示遅延が大きい場合など、ユーザが意図する被写体の近傍を見ることが困難な場合などに、ユーザの意図にあった視線情報が取得されるように、視線検出タイミングを変更する処理である。ステップS206の処理の詳細は、後述する。
なお、ライブビュー設定情報を取得した後であれば、ステップS205,S206の処理と他の処理との順序に関する制約は無く、ステップS205,S206の処理はいつ行ってもよい。また、ステップS205,S206の処理は他の処理と並列に行ってもよい。
次に、図7(a),7(b)を用いて、図6のステップS203の処理において第1視線情報と第2視線情報とを異なる加工処理(異なる生成方法;異なる統計方法)で生成する理由について説明する。図7(a),7(b)は、撮像中のシーンの一例を示しており、フレームF1からフレームF5まで、均一の表示更新レートでライブビュー画像が更新された場合を示している。表示更新レートは、例えば、60fpsや120fpsである。つまり、表示部28に表示するライブビュー画像を更新する時間間隔は、例えば、1/60秒や1/120秒である。図7(a),7(b)には、表示部28に表示された画面として、フレームF1~F5の5フレームが時系列に示されている。各フレームにおいて、ライブビュー画像に重ねて表示されたアイテムW1~W5は、検出された被写体領域を示す。被写体の距離が近いため、頭部の領域が検出されている。
また、各フレームにおいて、ライブビュー画像に重ねて表示されたアイテムP1~P5,P11~P15は、視線位置を示す。図7(a)のアイテムP1~P5は第2視線情報に基づき、図7(b)のアイテムP11~P15は第1視線情報に基づく。なお、例えば、フレームF1を見たユーザの視線位置を示すアイテムP1が表示されるのは、視線位置の検出処理と加工処理を終えた後となるが、図7(a)では、検出処理や加工処理による表示の遅延は考慮せずに、アイテムP1が示されている。図7(a),7(b)では、視線位置を示す他のアイテムも、検出処理や加工処理による表示の遅延は考慮せずに示されている。
また、各フレームにおいて、ライブビュー画像に重ねて表示されたアイテムPd1~Pd5,Pd11~Pd15は、視線位置を示し、アイテムP1~P5,P11~P15よりも視認しやすい形態を有する。図7(a)のアイテムPd1~Pd5は第2視線情報に基づき、図7(b)のアイテムPd11~Pd15は第1視線情報に基づく。
なお、上述した各種アイテムの形態は図示したもの(破線の矩形、十字、一点鎖線の円形)に限られない。視線位置については、アイテムP1~P5,P11~P15とアイテムPd1~Pd5,Pd11~Pd15との一方のみが表示されるようにしてもよい。
図7(a)を用いて、第2視線情報を用いた場合について説明する。第2視線情報は、検出された視線位置を概ね維持するような加工処理により生成される。このため、第2視線情報は、即時性を必要とするような処理に好適に用いることができ、本実施形態では焦点検出領域の設定に用いている。なお、第2視線情報に基づく所定の処理は、即時性を必要とするような処理であればよく、焦点検出領域の設定に限られない。第1視線情報に基づく所定の処理も、視線位置の表示に限られない。第1視線情報に基づく所定の処理と第2視線情報に基づく所定の処理とが互いに異なっていればよい。第2視線情報の取得方法については、後述する。
第2視線情報を焦点検出領域の設定に用いることで、例えば、被写体を好適に追尾して
、当該被写体の領域を焦点検出領域に設定することができる。図7(a)では、視線位置のアイテムP1~P5が、それぞれ、被写体領域のアイテムW1~W5内に位置しているため、フレームF1からフレームF5にわたって、アイテムW1~W5に対応する被写体(頭部)を追尾できている。このため、フレームF1からフレームF5にわたって、アイテムW1~W5に対応する被写体(頭部)の領域を焦点検出領域に設定できている。
しかし、第2視線情報を視線位置の表示に用いると、アイテムPd1~Pd5で示すように、フレームごとに視線位置が大きく変化してしまい、視線位置を視認性良く表示することができない。このような現象は、ユーザが物体の同じ箇所(例えば人物の瞳)を注視し続けることが困難で、視線位置がばらつくために生じる。具体的には、このような現象は、固定点を注視していても生じる視線位置のバラツキや、動いている被写体を観察することによる視線位置のバラツキなどにより生じる。
図7(b)を用いて、第1視線情報を用いた場合について説明する。第1視線情報は、例えば、視線の変化による視線情報の変化を抑制するような加工処理、つまり、視線の変化に対して、第1視線情報の変化が第2視線情報の変化よりも小さくなるような加工処理により生成される。第1視線情報の取得方法については、後述する。図7(b)では、第1視線情報を視線位置の表示に用いているため、アイテムPd11~Pd15の位置変化は、図7(a)のアイテムPd1~Pd5の位置変化から抑制されており、視線位置が視認性良く表示できている。このように、第2視線情報を用いることで、視線位置を視認性良く表示することができる。
次に、図8(a),8(b)を用いて、視線情報の加工(図6のステップS203)や視線検出タイミングの制御(図6のステップS206)などの統計方法の変更が必要となる理由について説明する。図8(a),8(b)は、撮像中のシーンの一例を示している。図8(a)では、表示部28に表示された画面として、フレームF101~F115の15フレームが時系列に示されており、図8(b)では、表示部28に表示された画面として、フレームF201~F215の15フレームが時系列に示されている。各フレームにおいて、ライブビュー画像に重ねて表示されたアイテムW101~W115,W201~W215は、検出された被写体領域を示す。被写体が近づくにつれて、検出される領域が、全身、上半身、頭部と変化している。
また、各フレームにおいて、ライブビュー画像に重ねて表示されたアイテムP101~P115,P201~P215は、視線位置を示す。アイテムP101~P115,P201~P215は、加工処理前の視線情報に基づく。なお、例えば、フレームF101を見たユーザの視線位置を示すアイテムP101が表示されるのは、視線位置の検出処理を終えた後となるが、図8(a)では、検出処理による表示の遅延は考慮せずに、アイテムP101が示されている。
図8(a)は、フレームF101からフレームF115まで、均一の表示更新レートでライブビュー画像が更新された場合を示している。表示更新レートは、例えば、60fpsや120fpsである。
図8(b)は、フレームF201からフレームF215までの期間において、表示更新レートの変化が生じた場合を示している。表示更新レートの変化により、フレームF209~F211の期間では、ライブビュー画像の更新が止まり、フレームF209と同じライブビュー画像が表示されている。フレームF212~F214の期間でも、同様に、フレームF212と同じライブビュー画像が表示されている。このような現象は、例えば、図4の撮影処理を実行した際に起こり得る。具体的には、フレームF201~F209の期間では、図4のステップS1~S9の処理が実行されており、ライブビュー画像の表示
更新レートが一定(例えば60fps)とされている。その後、図4のステップS10以降の処理が行われ、連写状態に移行すると、フレームF209~F215のように、ライブビュー画像の表示更新レートが変化する(例えば20fps)。連写時における記録画像の取得には、ライブビュー画像の取得に対して、撮像素子からの画像読み出しや、読み出した画像に対する画像処理などの影響で、比較的長い処理時間を要する。そのため、連写時に表示更新レートが低減され、図8(b)のような状態が生じる。
図8(a)では、表示部28に表示するライブビュー画像を更新する時間間隔(表示更新間隔)も、ライブビュー画像を取得(撮像)してから表示部28に表示するまでの遅延時間(表示遅延時間)も一定である。このため、ユーザが観察したい被写体(人物)とユーザの視線位置との距離が比較的短い状態で安定した視線検出が可能となる。しかしながら、ユーザは物体の同じ箇所(例えば人物の瞳)を注視し続けることが困難で、視線位置はばらつく。具体的には、固定点を注視していても生じる視線位置のバラツキや、動いている被写体を観察することによる視線位置のバラツキなどが生じる。
そのため、本実施形態では、視線位置のバラツキを抑制するように、視線情報の加工(図6のステップS203)や視線検出タイミングの制御(図6のステップS206)などの統計方法の変更を行う。統計方法の変更については後述する。
図8(b)では、フレームF211からフレームF212への変化の際に、表示更新レートが低いことにより、被写体の位置が大きく変化する。このような場合に、ユーザはすぐに視線を移動させることができず、被写体から遠い位置をユーザが注視している状態が発生することがある(視線位置のアイテムP212)。その後にユーザは視線を移動させるため、フレームF213,F214では、視線位置は被写体に徐々に近づく(視線位置のアイテムP213,P214)。このように、表示更新レートによっては、ユーザの視線位置は被写体(ユーザの意図した領域)から遠くなることがある。そのような状態、例えばフレームF212の状態での視線位置を用いて焦点検出領域を設定すると、ユーザの意図した焦点検出領域を設定できず、ユーザの意図したピント状態を実現できない。
そのため、本実施形態では、ユーザが意図していない視線位置を焦点検出領域の設定などに用いないように、表示更新レートに基づいて視線情報の加工や視線検出タイミングの制御などの統計方法の変更を行う。統計方法の変更については後述する。
なお、図8(b)では、表示遅延時間が図8(a)と同じであるとしたが、連写状態に移行することで、表示遅延時間が変わる場合もある。具体的には、連写時における記録画像の取得には、ライブビュー画像の取得に対して、撮像素子からの画像読み出しや、読み出した画像に対する画像処理などの影響で、比較的長い処理時間を要する。そのため、連写時には表示遅延時間が長くなりやすい。表示遅延時間が長くなると、ユーザは、本体100に対して行った操作(例えば、パンニング動作)に対して表示が遅れて行われるため、違和感をおぼえる。その結果、ユーザの視線位置にバラツキが生じる。そのような場合を考慮し、ユーザが意図していない視線位置を焦点検出領域の設定などに用いないように、表示遅延時間に基づいて視線情報の加工や視線検出タイミングの制御などの統計方法の変更を行ってもよい。統計方法の変更は、表示更新レートと表示遅延時間の一方に基づいて行ってもよいし、両方に基づいて行ってもよい。
次に、図9を用いて、視線情報の加工処理について説明する。図9は、ライブビュー表示と視線検出と加工処理のタイミングチャートの一例である。
図9の上段には、ライブビュー画像の種別と表示期間が示されている。図9では、画像D1~D12が順に表示される。画像D1~D5の表示は、図4のステップS3で開始さ
れるライブビュー表示(LV)であり、画像D1~D5は、例えば60fpsで更新されて表示される。画像D5の表示中に信号SW2が検出され、図4のステップS10へ処理が進められる。それ以降、ステップS300で取得される記録画像(画像D7,D9)の表示と、ステップS400で取得される画像(焦点検出用の画像;画像D8,D10)の表示とが交互に行われる。記録画像の表示には上述の通り時間を要するため、画像D6の表示は画像D1~D5の表示のようには更新されず(フリーズ)、画像D6の表示期間は画像D1~D5の表示期間に比べ延長されている。画像D10の表示中に信号SW2が検出されなくなり、図4のステップS3で開始されるライブビュー表示(画像D11,D12)に戻る。
図9の中段には、第2視線情報を得る加工処理が示されており、視線検出タイミングE1~E11と第2視線情報の取得タイミングA1~A11とが黒丸で示されている。
視線位置の検出は、撮像やライブビュー表示などと並列に、視線検出部701により行われる。図9では、視線位置の検出は、連写中であるか否かにかかわらず、一定の検出レートで行われている。具体的には、視線位置の検出は30回/秒で行われている。但し、連写後の視線検出タイミングE11を画像D12の表示に同期させる同期処理により、視線検出タイミングE10から視線検出タイミングE11までの検出間隔は、他の検出間隔と異なる。
第2視線情報の取得タイミングA1~A3,A11は、60fpsのライブビュー表示中のタイミングであるため、検出された視線位置(加工前の視線情報)に大きな誤差は無いと考えられる。そのため、取得タイミングA1~A3,A11では、それら取得タイミングへ向かう矢印で示すように、視線検出タイミングE1~E3,E11で検出された視線位置の情報を、そのまま第2視線情報として取得する。取得タイミングA4~A10では、それら取得タイミングへ向かう矢印で示すように、複数の視線位置を平均化した位置情報を、第2視線情報として取得する。第2視線情報を得るための複数の視線位置は、例えば、当該第2視線情報の取得タイミングまでに得られた所定数の視線位置である。具体的には、取得タイミングA4では、視線検出タイミングE3で検出された視線位置と、視線検出タイミングE4で検出された視線位置とを平均化した位置情報が、第2視線情報として取得される。上述の通り、表示更新レートが低下したり、表示遅延時間が長くなったりした場合には、ユーザが意図した位置(被写体など)を注視しておらず、検出される視線位置に誤差(ユーザの意図した被写体位置と検出される視線位置とのずれ)が生じる。そのため、図9では、検出された視線位置の情報をそのまま第2視線情報とはせず、平均化処理(重みづけ合成)などの加工処理を行って第2視線情報を得ている。これにより、検出される視線位置の誤差による影響を低減することができる。
図9の下段には、第1視線情報を得る加工処理が示されており、視線検出タイミングE1~E11と第1視線情報の取得タイミングA1’~A11’とが黒丸で示されている。
前述の第2視線情報を得る加工処理とは異なり、第1視線情報を得る加工処理では、取得タイミングA1’~A11’の全てで、それら取得タイミングへ向かう矢印で示すように、複数の視線位置を平均化した位置情報を、第1視線情報として取得する。第1視線情報を得るための複数の視線位置は、例えば、当該第1視線情報の取得タイミングまでに得られた所定数の視線位置である。さらに、第1視線情報に基づいて視線位置を視認性良く表示できるように、第2視線情報を得るための視線位置よりも多くの視線位置を用いて、第1視線情報を取得する。具体的には、取得タイミングA4’では、視線検出タイミングE2,E3,E4で検出された3つの視線位置を平均化した位置情報が、第1視線情報として取得される。上述の通り、表示更新レートが低下したり、表示遅延時間が長くなったりした場合には、ユーザが意図した位置(被写体など)を注視しておらず、検出される視
線位置に誤差(ユーザの意図した被写体位置と検出される視線位置とのずれ)が生じる。そのため、図9では、検出された視線位置の情報をそのまま第1視線情報とはせず、平均化処理(重みづけ合成)などの加工処理を行って第1視線情報を得ている。これにより、検出される視線位置の誤差による影響を低減することができる。
なお、図9には示していないが、連写中にブラックアウト画像が表示される場合には、ブラックアウト画像の表示中に検出された視線位置を使用せずに(間引いて)、平均化処理などの重みづけ合成を実施してもよい。
図9では、連写開始前には平均化処理を行わず、連写中に平均化処理を行って、第2視線情報が取得され、常に平均化処理を行って第1視線情報が取得される。そして、平均化処理では、常に同じ数の視線位置が使用される。しかしながら、第1視線情報や第2視線情報を得るための加工処理はこれらに限られない。上述の通り、連写中は、連写前や連写後に比べ、視線位置の誤差が大きくなる。このため、連写前や連写後には第1の数の視線位置を平均化する平均化処理を行い、連写中には第1の数よりも多い第2の数の視線位置を平均化する平均化処理を行ってもよい。平均化処理に用いる視線位置の数を少なくすれば、誤差の低減よりも即時性(遅延少)を重視した視線情報(加工後)を得ることができ、平均化処理に用いる視線位置の数を多くすれば、誤差の低減を重視した視線情報を得ることができる。つまり、統計方法の違いは、平均化処理に用いる視線情報の個数(サンプル数)の違いを含んでもよい。
図9では、平均化処理(複数の視線位置を同じ重みで合成する重みづけ合成)を行う例を示したが、複数の視線位置の重みは同じでなくてもよい。例えば、視線検出タイミングと現時点と差が大きい視線位置は、現時点の視線位置や、ユーザの意図した視線位置と大きく異なることがある。そのため、重みづけ合成では、視線検出タイミングと現時点と差が大きいほど小さい重みを視線位置に割り当ててもよい。そうすることで、誤差がより低減された視線情報(加工後)を得ることができる。この際に、連写中か否かで、重みのバランスを変えたり、重みづけ合成に用いる視線位置の数を変えたりしてもよい。つまり、統計方法の違いは、重みづけ合成における重みのバランスの違いや、重みづけ合成に用いる視線情報の個数(サンプル数)の違いなどを含んでもよい。
次に、図10を用いて、図9とは異なる加工処理について説明する。図9では、平均化処理を含む加工処理の例を示したが、図10では、間引き処理を含む加工処理の例を示す。つまり、図10では、統計方法の違いが間引き処理の違いを含む例を示す。図10は、図9と同様に、ライブビュー表示と視線検出と加工処理のタイミングチャートの一例である。図10の上段は図9の上段と同じであり、図10の視線検出タイミングE1~E11(中段と下段)は図9と同じである。図10では、第2視線情報の取得タイミング(中段)と第1視線情報の取得タイミング(下段)とが、図9と異なる。
図10では、中段に示すように、視線検出タイミングE5,E8で検出された視線位置(加工前の視線情報)を間引いて、第2視線情報が取得される。具体的には、視線検出タイミングE1~E4,E6,E7,E9~E11に対応する取得タイミングC1~C4,C6,C7,C9~C11のそれぞれで、対応する視線検出タイミングで検出された視線位置の情報が、第2視線情報として取得される。
表示更新レートが低い状態(画像D6~D10の表示期間)において、表示画像が切り替わった直後に検出された視線位置は、図8(b)のフレームF212で示したように誤差が大きい。このため、そのような視線位置(誤差の大きい視線位置)を用いないように、間引き処理を行うことが好ましい。図10において、視線検出タイミングE5は、表示画像が画像D6から画像D7に切り替わった直後であり、視線検出タイミングE8は、表
示画像が画像D8から画像D9に切り替わった直後である。このため、図10の中段では、視線検出タイミングE5,E8で検出された視線位置(加工前の視線情報)を間引いている。間引き処理は、例えば、所定値以下の表示更新レートの場合に、表示画像の切り替わりから第1時間以上かつ第2時間以下の期間に検出された視線位置を間引く処理である。間引き処理は、所定値以下の表示更新レートの場合に、表示画像の切り替わりから所定時間内に検出された視線位置を間引く処理であってもよい。
図10では、下段に示すように、視線検出タイミングE5で検出された視線位置(加工前の視線情報)を間引いて、第1視線情報が取得される。具体的には、視線検出タイミングE1~E4,E6~E11に対応する取得タイミングC1’~C4’,C6’~C11’のそれぞれで、対応する視線検出タイミングで検出された視線位置の情報が、第2視線情報として取得される。なお、連写開始時においてのみ視線位置を間引く例を示したが、第2視線情報の取得と同様に、視線検出タイミングE8で検出された視線位置をさらに間引いてもよい。
なお、間引き処理の発動条件は、所定値以下の表示更新レートの場合に限られない。上述の通り、表示更新時の被写体の移動が大きい場合に、検出された視線位置(加工前の視線情報)に誤差が生じる。そのため、表示更新レートが所定値以下であり、かつ、検出された被写体位置の移動量が大きい場合に、間引き処理を行ってもよい。間引く視線位置を変更することで、焦点検出領域の設定などのための第2視線情報と、視線位置の表示などのための第1視線情報とを好適に取得することができる。
また、図10において、取得タイミングC6で取得された第2視線情報や、取得タイミングC6’で取得された第1視線情報は、画像D7で検出された視線情報として紐づけることができる。これら加工済み視線情報(第1視線情報と第2視線情報)の元情報は、表示画像が画像D7から画像D8に切り替わった直後(第1時間以内)の視線検出タイミングE6で取得されている。しかしながら、ユーザが認識に要する時間(ユーザによる視認から認識までの遅延)を加味して、これら加工済み視線情報は、画像D7の表示中に検出された視線情報としてもよい。同様に、取得タイミングC9で取得された第2視線情報や、取得タイミングC9’で取得された第1視線情報は、画像D9で検出された視線情報として紐づけることができる。
なお、第1視線情報を取得するための間引き処理と、第2視線情報を取得するための間引き処理との違いは、第1視線情報の取得タイミング(サンプルタイミング)と、第2視線情報の取得タイミング(サンプルタイミング)との違いとも言える。つまり、統計方法の違いは、サンプルタイミングの違いを含んでもよい。
次に、図11を用いて、統計方法の変更例として、視線検出タイミングの制御について説明する。図11は、ライブビュー表示と視線検出のタイミングチャートの一例である。図11の上段は図9の上段と同じである。
図11の中段には、連写を含む撮影動作を行っていない状態での視線検出タイミングE1~E4,E9が示されている。連写を含む撮影動作を行っていない状態では、視線位置の検出は、ライブビュー表示と同期して、30回/秒で行われる。
図11の下段には、連写中の視線検出タイミングE5’~E8’が示されている。連写中のライブビュー表示(画像D7~D10の表示)に同期させるため、検出レートが変更されて、視線位置の検出が行われる。ユーザの視線情報として有用な(誤差の少ない)情報を得るために、撮影動作を行っていない状態から連写中に移行する際に同期処理(視線検出タイミングをライブビュー表示に同期させる処理)を改めて行っている。具体的には
、視線検出タイミングE5’は、画像D7の表示期間の後半のタイミングとなるように制御されている。同様に、視線検出タイミングE6’~E8’は、画像D6~D8の表示期間に基づいて制御されている。
本実施形態では、図9~11を用いて、視線情報の加工や視線検出タイミングの制御を個別に行う例を説明したが、これらの処理を併用してもよい。また、検出される視線位置と、ユーザの意図する位置とのずれ(誤差)が、ライブビュー表示の表示更新レートや表示遅延によって生じる場合の例を説明したが、誤差の生じる状況は、これに限らない。例えば、フォーカス状態の変化や、絞り状態の変化、露出設定や、その変化などで、撮像画像において被写体がぼけていたり、暗くて視認しにくかったりする場合がある。そのような場合にも、上記誤差が大きくなることがあるため、図9~11で説明した処理を行うことは有効である。
(変形例)
上述の実施形態では、静止画を撮影する前のライブビュー表示状態から、連写時のライブビュー表示に移行した際に生じる視線位置の誤差を考慮した例を説明した。検出される視線位置の誤差は、他の状況でも生じ得る。例えば、動画記録(動画撮影)時におけるライブビュー表示の表示更新レートや表示遅延によって、検出される視線位置の誤差は増大する。動画記録時における視線位置の誤差を考慮した例について、図12(a),12(b)を用いて説明する。図12(a),12(b)は、動画記録時のライブビュー表示の表示期間と視線検出タイミングのタイミングチャートの一例である。
図12(a)では、動画記録は60fpsで行っており、視線検出は30回/秒で行っている(視線検出タイミングE1~E7)。動画記録に合わせてライブビュー表示も60fpsで行っている(画像D1~D14)。60fpsのライブビュー表示では、ライブビュー画像上の被写体は滑らかに移動するため、ユーザの注視する視線位置の誤差は小さい。そのため、図12(a)では、1枚のライブビュー画像(画像D1や画像D3など)の表示期間の中心のタイミングで、視線検出を行っている。
図12(b)では、動画記録は30fpsで行っており、視線検出も同様に30回/秒で行っている(視線検出タイミングE1~E7)。動画記録に合わせてライブビュー表示も30fpsで行っている(画像D1~D7)。30fpsのライブビュー表示では、ライブビュー画像上での被写体の移動の滑らかさが低いため、ユーザの注視する視線位置の誤差は大きい。そのため、図12(b)では、1枚のライブビュー画像(画像D1や画像D2など)の表示期間の後半のタイミングで、視線検出を行っている。これにより、視線位置の誤差を低減した視線情報を取得することができる。
なお、動画記録時におけるライブビュー表示の表示遅延に基づいて、同様の制御を行うことで、ユーザの意図する視線情報を取得することができる。視線検出タイミングをライブビュー表示に同期させると、表示部28に表示する画像を更新する時間間隔、または、画像を取得してから表示部28に表示するまでの遅延時間である参照時間が長いほど長い時間間隔で視線位置が順次検出されることになる。この場合に、参照時間が所定の閾値よりも長い場合に、1枚の画像を表示部28に表示する期間の後半のタイミングで視線位置を検出するように、視線検出タイミングを制御すれば、ユーザの意図する視線情報を取得することができる。
また、視線位置の誤差の低減は、視線検出タイミングの制御によるものに限らない。上述の実施形態で述べたように、スムージング処理(重みづけ合成)のサンプル数を多くしたり、誤差が大きいことが想定されるサンプルを間引いたりすることで、誤差の少ない視線情報が取得されるようにしてもよい。視線検出タイミングの制御、重みづけ合成、間引
き処理などを適宜組み合わせて実施してもよい。
本実施形態では、静止画撮影や動画撮影の際に、取得した第1視線情報を視線位置の表示に用い、取得した第1視線情報より敏感度の高い第2視線情報を焦点検出領域の設定に用いる例を説明した。しかし、視線情報の利用方法(使い分け)はこれに限らない。
例えば、メニュー画面等で表示部28に表示されたアイコンを選択、操作指示する場合の視線検知では第1視線情報を用い、静止画撮影や動画撮影の際の被写体選択のための視線検知では第1視線情報よりも敏感度の高い第2視線情報を用いてもよい。一般的に、表示した位置から動かないアイコン選択時よりも、動的に動く可能性のより高い被写体選択時の方が即時性が求められるからである。
また、同じ視線位置を報知する表示でも、第1の表示フレームレートで第1視線情報、第1の表示フレームレートより高いフレームレートの第2の表示フレームレートで第1視線情報より敏感度の高い第2視線情報を用いてもよい。表示レートが高い場合の方が被写体が動的に位置を変化させる頻度が高く、即時性が求められるからである。
また、表示部28に表示されたメニューアイコンを視線位置に基づき選択するUIにおいて、第1の表示状態のときに第1視線情報を用い、第2の表示状態のときに第1視線情報よりも敏感度の高い第2視線情報を用いてもよい。第2の表示状態は、第1の表示状態よりもアイコン数が少ない、アイコン同士の間隔が広い、あるいはアイコンの大きさが大きい、の少なくともいずれかを含む表示状態である。アイコン数が多かったり、アイコン同士の間隔が狭かったり、アイコンが小さかったりすると、即時性を高めた場合、アイコンを選択する際に固視微動等のふらつきによって誤った位置を指定する可能性が高い。このため、そのような表示状態では敏感度を下げることで安定したメニュー選択を可能とする。
動画記録(動画撮影)時に、各フレームに、そのフレームをユーザ(撮影者)が注視した際の視線情報を紐づけて記録してもよい。こうすることで、動画を編集する際などに、撮影者が注視していた領域を、トリミング処理や拡大処理などで自動的に抽出して拡大したり、撮影者の視線位置の移動に伴い、トリミング領域を変えたりといったことが可能となる。動画に対して視線情報を紐づける際には、視線情報を取得した画像の表示と記録のタイミングのずれ(遅延)があることを想定して、紐づけを行うことで、より正確に紐づけを行うことができる。
また、静止画に視線情報を付加することで、同様のトリミング処理や、注視領域に特化した画像処理(明るさや色味の補正など)を行うことができる。
また、視線情報を動画や静止画に紐づけて記録する際には、検出された視線位置、表示更新レート、表示遅延などの情報を合わせて記録してもよい。これにより、本実施形態で説明したような、視線情報の加工や視線検出タイミングの制御は、撮像装置ではなくパソコンなどで後処理として行うことができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、上述の実施形態はあくまで一例であり、本発明の要旨の範囲内で実施形態の構成
(処理の順番を含む)を適宜変形したり変更したりすることにより得られる構成も、本発明に含まれる。実施形態の構成を適宜組み合わせて得られる構成も、本発明に含まれる。