(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-04
(45)【発行日】2024-10-15
(54)【発明の名称】電子機器およびその制御方法
(51)【国際特許分類】
G03B 7/091 20210101AFI20241007BHJP
G02B 7/28 20210101ALI20241007BHJP
G03B 13/00 20210101ALI20241007BHJP
G06F 3/0346 20130101ALI20241007BHJP
H04N 23/60 20230101ALI20241007BHJP
H04N 23/611 20230101ALI20241007BHJP
H04N 23/63 20230101ALI20241007BHJP
【FI】
G03B7/091
G02B7/28 N
G03B13/00
G06F3/0346 423
H04N23/60 100
H04N23/611
H04N23/63 310
(21)【出願番号】P 2020121212
(22)【出願日】2020-07-15
【審査請求日】2023-06-28
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】森 直美
【審査官】殿岡 雅仁
(56)【参考文献】
【文献】特開平09-038039(JP,A)
【文献】特開2014-110562(JP,A)
【文献】特開2008-072674(JP,A)
【文献】特開平08-321973(JP,A)
【文献】特開2002-301033(JP,A)
【文献】中国特許出願公開第104274151(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G03B 7/00 - 7/30
G02B 7/28 - 7/40
H04N 5/222- 5/257
H04N 23/00
H04N 23/40 - 23/76
H04N 23/90 - 23/959
(57)【特許請求の範囲】
【請求項1】
画面に対するユーザーの視線に関する情報を取得する取得手段と、
前記取得手段を備える筐体の姿勢を検出する検出手段と、
前記画面にキャリブレーション表示が行われているときに前記取得手段により取得したユーザーの視線に関する情報からキャリブレーションを実行する制御手段であって、複数のキャリブレーション表示にそれぞれ対応する複数の視線に関する情報を前記取得手段により取得し、当該複数の視線に関する情報からキャリブレーションデータの取得を実行する制御手段と
を有し、
前記制御手段は、前記画面に第1のキャリブレーション表示が行われているときに前記取得手段によりユーザーの視線に関する第1の視線情報を取得したときの前記筐体の第1の姿勢が、前記画面に第2のキャリブレーション表示が行われているときにユーザーの視線に関する第2の視線情報を取得する際の前記筐体の姿勢と異なる場合には、前記画面にユーザーに対して前記筐体の姿勢を前記第1の姿勢とするように促す第1の警告表示を行うように制御し、
前記制御手段は、キャリブレーション表示が行われているときに前記取得手段により取得したユーザーの視線に関する第3の視線情報がキャリブレーションに適正な情報でない場合には、第2の警告表示を行うように制御し、
前記制御手段は、前記第2の警告表示中に第1の操作が行われた場合は、前記第3の視線情報の再取得を行うように制御し、前記第2の警告表示中に第2の操作が行われた場合は、キャリブレーションデータの取得を終了するように制御し、
前記制御手段は、前記第1の警告表示中に前記筐体の姿勢が前記第1の姿勢であることを前記検出手段により検出した場合は、前記第2の視線情報の取得を行うように制御し、前記第1の警告表示中には前記第2の操作に応じたキャリブレーションデータの取得の終了は行わないように制御する、
ことを特徴とする電子機器。
【請求項2】
前記制御手段は、前記キャリブレーションデータの取得において、前記第1のキャリブレーション表示に対応するユーザーの視線に関する前記第1の視線情報の取得時の前記筐体の姿勢と、前記複数のキャリブレーション表示にそれぞれ対応する前記複数の視線に関する情報から算出する視線の校正値とを紐づけて保存することを特徴とする請求項1に記載の電子機器。
【請求項3】
前記制御手段は、前記第1の警告表示を、前記第2のキャリブレーション表示と共に前記画面に表示するように制御することを特徴とする請求項1または2に記載の電子機器。
【請求項4】
前記制御手段は、前記第2の視線情報を取得する際の前記筐体の姿勢が前記第1の姿勢と異なる場合は、ユーザーの視線に関する情報を前記取得手段により取得しない、ことを特徴とする請求項1乃至3のいずれか1項に記載の電子機器。
【請求項5】
前記制御手段は、
前記画面に前記第1の警告表示を行ったあと、前記筐体の姿勢が前記第1の姿勢へと変化することなく所定の条件を満たした場合は、前記筐体の姿勢が前記第1の姿勢ではない状態において前記取得手段により取得した前記第2の視線情報を前記キャリブレーションデータの取得に用いることを特徴とする請求項1乃至3のいずれか1項に記載の電子機器。
【請求項6】
前記制御手段は、
前記画面に前記複数のキャリブレーション表示のうちいずれかのキャリブレーション表示を行ったあと、所定の条件を満たしたことに応じて、前記取得手段による当該キャリブレーション表示に対応するユーザーの視線に関する情報の取得を行うように制御することを特徴とする請求項1乃至4のいずれか1項に記載の電子機器。
【請求項7】
前記所定の条件は、
所定の操作部材への操作、もしくは、所定時間内におけるユーザーの視線を検出した位置の移動量が既定の閾値以下のいずれかであることを特徴とする請求項5または6に記載の電子機器。
【請求項8】
前記第1のキャリブレーション表示は、前記複数のキャリブレーション表示のうち最初に前記画面に表示されるキャリブレーション表示であることを特徴とする請求項1乃至7のいずれか1項に記載の電子機器。
【請求項9】
前記制御手段は、
前記複数のキャリブレーション表示は、それぞれ、前記画面に表示される注視点を含む表示であることを特徴とする請求項1乃至8のいずれか1項に記載の電子機器。
【請求項10】
前記複数のキャリブレーション表示は、それぞれ、前記画面の異なる位置に前記注視点が配置される表示であることを特徴とする請求項9に記載の電子機器。
【請求項11】
前記制御手段は、
前記キャリブレーションデータの取得において、前記複数のキャリブレーション表示にそれぞれ対応する前記複数の視線に関する情報の取得が完了することなくキャリブレーションの実行が終了された場合は、前記キャリブレーションデータの取得中に前記取得手段と前記検出手段によって取得したユーザーの視線に関する情報と前記筐体の姿勢を破棄することを特徴とする請求項1乃至10のいずれか1項に記載の電子機器。
【請求項12】
前記制御手段は、
前記画面
に所定の表示中に、前記筐体の姿勢が第1の姿勢へと変化したことを前記検出手段により検出したことに応じて、前記所定の表示を非表示にし、前記第2の視線情報の取得を再開するように制御することを特徴とする請求項1乃至11のいずれか1項に記載の電子機器。
【請求項13】
被写体像を撮像する撮像部と、
ファインダーと、
ファインダー内の表示部と、を更に有し、
前記制御手段は、
前記ファインダー内の表示部に表示される前記画面に対するユーザーの視線に関する情報を取得することを特徴とする請求項1乃至12のいずれか1項に記載の電子機器。
【請求項14】
画面に対するユーザーの視線に関する情報を取得する取得ステップと、
前記取得ステップを備える筐体の姿勢を検出する検出ステップと、
前記画面にキャリブレーション表示が行われているときに前記取得ステップにより取得したユーザーの視線に関する情報からキャリブレーションを実行する制御ステップであって、複数のキャリブレーション表示にそれぞれ対応する複数の視線に関する情報を前記取得ステップにより取得し、当該複数の視線に関する情報からキャリブレーションデータの取得を実行する制御ステップと
を有する電子機器の制御方法であって、
前記制御ステップでは、前記画面に第1のキャリブレーション表示が行われているときに前記取得ステップによりユーザーの視線に関する第1の視線情報を取得したときの前記筐体の第1の姿勢が、第2のキャリブレーション表示が行われているときにユーザーの視線に関する第2の視線情報を取得する際の前記筐体の姿勢と異なる場合には、前記画面にユーザーに対して前記筐体の姿勢を前記第1の姿勢とするように促す第1の警告表示を行うように制御し、
前記制御ステップでは、キャリブレーション表示が行われているときに前記取得ステップにより取得したユーザーの視線に関する第3の視線情報がキャリブレーションに適正な情報でない場合には、第2の警告表示を行うように制御し、
前記制御ステップでは、前記第2の警告表示中に第1の操作が行われた場合は、前記第3の視線情報の再取得を行うように制御し、前記第2の警告表示中に第2の操作が行われた場合は、キャリブレーションデータの取得を終了するように制御し、
前記制御ステップでは、前記第1の警告表示中に前記筐体の姿勢が前記第1の姿勢であることを前記検出ステップにより検出した場合は、前記第2の視線情報の取得を行うように制御し、前記第1の警告表示中には前記第2の操作に応じたキャリブレーションデータの取得の終了は行わないように制御する、
ことを特徴とする電子機器の制御方法。
【請求項15】
コンピュータを、請求項1乃至13のいずれか1項に記載された電子機器の各手段として機能させるためのプログラム。
【請求項16】
コンピュータを、請求項1乃至13のいずれか1項に記載された電子機器の各手段として機能させるためのプログラムを格納したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザーの視線による視線入力が可能な電子機器、及び電子機器の制御方法に関するものである。
【背景技術】
【0002】
従来、ユーザーである撮影者の視線を検出し、撮影者がファインダー内のどの位置(領域)を見ているかを検出し、自動焦点調節等の撮影機能を制御するカメラが知られている。しかし、ユーザーの視線の検出は、ユーザーの眼の瞳孔径やファインダーへの覗き方、周囲の明るさによって精度が左右される。そのため、ユーザーの視線をデータとして取得し、ユーザーがどの位置を見ているのか、ユーザーの視線位置を算出するための校正値を求めるためのキャリブレーションを行う必要がある。キャリブレーションを行うことにより、ユーザーが見ている位置と算出されるユーザーの視線に対応する視線位置との差が小さくなり、ユーザーが違和感を覚えることなく、視線を用いた位置指定や機能実行を行うことができる。特許文献1には、キャリブレーション開始時の光学装置が横位置なのか縦位置なのかを検出して、検出した姿勢とユーザーの視線情報(視線データ)から算出した校正値をキャリブレーションデータとして保存することが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1では、キャリブレーションデータを作成するための複数の視線情報である視線データを取得する場合、キャリブレーション開始時点での光学装置の姿勢のみを取得している。複数の検出点の各々について視線データを取得するタイミングにおける2点目以降の光学装置の姿勢を考慮していない。1点目(指標1)の視線データを取得するタイミングの光学装置の姿勢と2点目(指標2)の視線データを取得するタイミングの光学装置の姿勢が異なると、視線データの精度が低下してしまう。したがって、算出する校正値を含むキャリブレーションデータにも影響を及ぼしてしまう。これにより、ユーザーが見ている位置と、ユーザーの視線に対応する視線位置にズレが生じてしまう。
【0005】
そこで本発明は、より精度の高いキャリブレ―ションデータを作成できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は
画面に対するユーザーの視線に関する情報を取得する取得手段と、前記取得手段を備える筐体の姿勢を検出する検出手段と、前記画面にキャリブレーション表示が行われているときに前記取得手段により取得したユーザーの視線に関する情報からキャリブレーションを実行する制御手段であって、複数のキャリブレーション表示にそれぞれ対応する複数の視線に関する情報を前記取得手段により取得し、当該複数の視線に関する情報からキャリブレーションデータの取得を実行する制御手段とを有し、前記制御手段は、前記画面に第1のキャリブレーション表示が行われているときに前記取得手段によりユーザーの視線に関する第1の視線情報を取得したときの前記筐体の第1の姿勢が、前記画面に第2のキャリブレーション表示が行われているときにユーザーの視線に関する第2の視線情報を取得する際の前記筐体の姿勢と異なる場合には、前記画面にユーザーに対して前記筐体の姿勢を前記第1の姿勢とするように促す第1の警告表示を行うように制御し、前記制御手段は、キャリブレーション表示が行われているときに前記取得手段により取得したユーザーの視線に関する第3の視線情報がキャリブレーションに適正な情報でない場合には、第2の警告表示を行うように制御し、前記制御手段は、前記第2の警告表示中に第1の操作が行われた場合は、前記第3の視線情報の再取得を行うように制御し、前記第2の警告表示中に第2の操作が行われた場合は、キャリブレーションデータの取得を終了するように制御し、前記制御手段は、前記第1の警告表示中に前記筐体の姿勢が前記第1の姿勢であることを前記検出手段により検出した場合は、前記第2の視線情報の取得を行うように制御し、前記第1の警告表示中には前記第2の操作に応じたキャリブレーションデータの取得の終了は行わないように制御する、ことを特徴とする。
【発明の効果】
【0007】
本発明により、より精度の高いキャリブレ―ションデータを作成することができる。
【図面の簡単な説明】
【0008】
【
図2】デジタルカメラ100の構成を示すブロック図である。
【
図3】キャリブレーション処理での制御フローチャートである。
【
図4】キャリブレーション処理でのデータ取得処理の制御フローチャートである。
【
図5】視線情報である視線データの取得時の表示例である。
【
図6】データ取得処理でのデジタルカメラ100の姿勢と、視線検出ブロック160と目161との位置関係についての説明図である。
【発明を実施するための形態】
【0009】
図1に本発明を適用可能な装置(電子機器)の一例としてのデジタルカメラ100の外観図を示す。
図1(a)はデジタルカメラ100の前面斜視図であり、
図1(b)はデジタルカメラ100の背面斜視図である。
図1において、表示部28は画像や各種情報を表示する、カメラ背面に設けられた表示部である。タッチパネル70aはタッチ操作部材であり、表示部28の表示面(操作面)に対するタッチ操作を検出することができる。ファインダー外液晶表示部43は、カメラ上面に設けられた表示部であり、シャッター速度や絞りをはじめとするカメラの様々な設定値が表示される。
【0010】
シャッターボタン61は撮影指示を行うための操作部である。モード切替スイッチ60は各種モードを切り替えるための操作部である。端子カバー40は外部機器との接続ケーブルとデジタルカメラ100とを接続するコネクタ(不図示)を保護するカバーである。メイン電子ダイヤル71は操作部70に含まれる回転操作部材であり、このメイン電子ダイヤル71を回すことで、シャッター速度や絞りなどの設定値の変更等が行える。電源スイッチ72はデジタルカメラ100の電源のON及びOFFを切り替える操作部材である。電源スイッチ72は操作部70に含まれる。サブ電子ダイヤル73は操作部70に含まれる回転操作部材であり、選択枠の移動や画像送りなどを行える。十字キー74は操作部70に含まれ、4方向に押し込み可能な押しボタンを有する操作部材である。十字キー74の押下した方向に応じた操作が可能である。SETボタン75は操作部70に含まれ、押しボタンであり、主に選択項目の決定などに用いられる。動画ボタン76は、動画撮影(記録)の開始、停止の指示に用いられる操作部材であって、操作部70に含まれる。
【0011】
M-Fnボタン77は操作部70に含まれ、撮影待機状態で押下することにより、ホワイトバランスやISO感度などの各種設定を素早く変更するために用いられる。撮影待機状態のみならず、M-Fnボタン77には様々な機能をユーザーが任意に割り当てることが可能である。視線入力に関する機能を割り当てることも可能であり、例えば撮影待機状態において、M-Fnボタン77の押下によって視線入力機能のON/OFFを切り替えることができる。後述する視線検出ブロック160を用いて、ユーザーが見ている位置をより正確に検出するために行うキャリブレーション実行時にも用いる。ユーザーが、表示されているキャリブレーション表示である注視点を注視し、M-Fnボタン77を押下すると、確定操作として機能する。キャリブレーションについては、後述する。
【0012】
再生ボタン79は操作部70に含まれ、撮影モードと再生モードとを切り替える操作ボタンである。撮影モード中に再生ボタン79を押下することで再生モードに移行し、記録媒体200に記録された画像のうち最新の画像を表示部28に表示させることができる。メニューボタン81は、操作部70に含まれ、押下することにより各種の設定可能なメニュー画面が表示部28に表示される。ユーザーは、表示部28に表示されたメニュー画面と、十字キー74やSETボタン75を用いて直感的に各種設定を行うことができる。
【0013】
通信端子10はデジタルカメラ100が後述するレンズユニット150(着脱可能)と通信を行う為の通信端子である。接眼部16は、接眼ファインダー(覗き込み型のファインダー)の接眼部であり、ユーザーは、接眼部16を介してファインダー内部のEVF(Electric View Finder)29に表示された映像を視認することができる。レンズユニット150を通して被写体の光学像(被写体像)を得ることができる場合には、接眼部16を介して内部の光学ファインダーにより、光学的な像(被写体像)を視認することができる。接眼検知部57は接眼部16に撮影者が接眼しているか否かを検知する接眼検知センサーである。蓋202は記録媒体200を格納したスロットの蓋である。グリップ部90は、ユーザーがデジタルカメラ100を構えた際に右手で握りやすい形状とした保持部である。グリップ部90を右手の小指、薬指、中指で握ってデジタルカメラを保持した状態で、右手の人差指で操作可能な位置にシャッターボタン61、メイン電子ダイヤル71が配置されている。また、同じ状態で、右手の親指で操作可能な位置に、サブ電子ダイヤル73が配置されている。
【0014】
図2は、本実施形態による電子機器の1つであるデジタルカメラ100およびレンズユニット150の構成例を示すブロック図である。
図2において、レンズユニット150は、交換可能な撮影レンズを搭載するレンズユニットであり、被写体像を得るためのレンズである。レンズ103は通常、複数枚のレンズから構成されるが、ここでは簡略して一枚のレンズのみで示している。通信端子6はレンズユニット150がデジタルカメラ100と通信を行う為の通信端子である。レンズユニット150は、この通信端子6と前述の通信端子10を介してシステム制御部50と通信する。レンズシステム制御回路4は、絞り駆動回路2を介して絞り1の制御を行う。レンズシステム制御回路4は、AF駆動回路3を介して、レンズ103を変位させることで焦点を合わせる。
【0015】
シャッター101は、システム制御部50の制御で撮像部22の露光時間を自由に制御できるフォーカルプレーンシャッターである。
【0016】
撮像部22は光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。A/D変換器23は、撮像部22から出力されるアナログ信号をデジタル信号に変換するために用いられる。
【0017】
画像処理部24は、A/D変換器23からのデータ、または、後述するメモリ制御部15からのデータに対し所定の画素補間、縮小といったリサイズ処理や色変換処理を行う。また、画像処理部24では、撮像した画像データを用いて所定の演算処理を行う。画像処理部24により得られた演算結果に基づいてシステム制御部50が露光制御、測距制御を行う。これにより、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。画像処理部24では更に、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理を行う。
【0018】
メモリ制御部15は、A/D変換器23、画像処理部24、メモリ32間のデータ送受を制御する。A/D変換器23からの出力データは、画像処理部24およびメモリ制御部15を介して、あるいは、メモリ制御部15を介してメモリ32に直接書き込まれる。メモリ32は、撮像部22によって得られA/D変換器23によりデジタルデータに変換された画像データや、表示部28、EVF29に表示するための画像データを格納する。メモリ32は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
【0019】
また、メモリ32は画像表示用のメモリ(ビデオメモリ)を兼ねている。メモリ32に書き込まれた表示用の画像データはメモリ制御部15を介して表示部28、EVF29により表示される。表示部28、EVF29は、LCDや有機EL等の表示器上に、メモリ制御部15からの信号に応じた表示を行う。A/D変換器23によってA/D変換されメモリ32に蓄積されたデータを、表示部28またはEVF29に逐次転送して表示することで、ライブビュー表示(LV表示)を行える。以下、ライブビューで表示される画像をライブビュー画像(LV画像)と称する。
【0020】
システムタイマー53は各種制御に用いる時間や、内蔵された時計の時間を計測する計時部である。
【0021】
モード切替スイッチ60、第1シャッタースイッチ62、第2シャッタースイッチ64、操作部70はシステム制御部50に各種の動作指示を入力するための操作手段である。モード切替スイッチ60は、システム制御部50の動作モードを静止画撮影モード、動画撮影モード等のいずれかに切り替える。静止画撮影モードに含まれるモードとして、オート撮影モード、オートシーン判別モード、マニュアルモード、絞り優先モード(Avモード)、シャッター速度優先モード(Tvモード)、プログラムAEモード(Pモード)、がある。また、撮影シーン別の撮影設定となる各種シーンモード、カスタムモード等がある。モード切替スイッチ60により、ユーザーは、これらのモードのいずれかに直接切り替えることができる。あるいは、モード切替スイッチ60で撮影モードの一覧画面を表示し、表示された複数のモードのいずれかを選択し、他の操作部材を用いてモードを切り替えるようにしてもよい。同様に、動画撮影モードにも複数のモードが含まれていてもよい。
【0022】
第1シャッタースイッチ62は、デジタルカメラ100に設けられたシャッターボタン61の操作途中、いわゆる半押し(撮影準備指示)でONとなり第1シャッタースイッチ信号SW1を発生する。第1シャッタースイッチ信号SW1により、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮影準備動作を開始する。
【0023】
第2シャッタースイッチ64は、シャッターボタン61の操作完了、いわゆる全押し(撮影指示)でONとなり、第2シャッタースイッチ信号SW2を発生する。システム制御部50は、第2シャッタースイッチ信号SW2により、撮像部22からの信号読み出しから撮像された画像を画像ファイルとして記録媒体200に書き込むまでの一連の撮影処理の動作を開始する。
【0024】
操作部70は、ユーザーからの操作を受け付ける入力部としての各種操作部材である。操作部70には、少なくとも以下の操作部が含まれる。シャッターボタン61、タッチパネル70a、メイン電子ダイヤル71、電源スイッチ72、サブ電子ダイヤル73、十字キー74、SETボタン75、動画ボタン76、M-Fnボタン77、再生ボタン79、メニューボタン81。
【0025】
タッチパネル70aと表示部28とは一体的に構成することができる。例えば、タッチパネル70aは光の透過率が表示部28の表示を妨げないように構成され、表示部28の表示面の上層に取り付けられる。そして、タッチパネル70aにおける入力座標と、表示部28の表示画面上の表示座標とを対応付ける。これにより、あたかもユーザーが表示部28上に表示された画面を直接的に操作可能であるかのようなGUI(グラフィカルユーザーインターフェース)を提供できる。システム制御部50はタッチパネル70aへの以下の操作、あるいは状態を検出できる。
・タッチパネル70aにタッチしていなかった指やペンが新たにタッチパネル70aにタッチしたこと。すなわち、タッチの開始(以下、タッチダウン(Touch-Down)と称する)。
・タッチパネル70aを指やペンでタッチしている状態であること(以下、タッチオン(Touch-On)と称する)。
・タッチパネル70aを指やペンでタッチしたまま移動していること(以下、タッチムーブ(Touch-Move)と称する)。
・タッチパネル70aへタッチしていた指やペンを離したこと。すなわち、タッチの終了(以下、タッチアップ(Touch-Up)と称する)。
・タッチパネル70aに何もタッチしていない状態(以下、タッチオフ(Touch-Off)と称する)。
【0026】
タッチダウンが検出されると、同時にタッチオンであることも検出される。タッチダウンの後、タッチアップが検出されない限りは、通常はタッチオンが検出され続ける。タッチムーブが検出されるのもタッチオンが検出されている状態である。タッチオンが検出されていても、タッチ位置が移動していなければタッチムーブは検出されない。タッチしていた全ての指やペンがタッチアップしたことが検出された後は、タッチオフとなる。
【0027】
これらの操作・状態や、タッチパネル70a上に指やペンがタッチしている位置座標は内部バスを通じてシステム制御部50に通知される。システム制御部50は通知された情報に基づいてタッチパネル70a上にどのような操作(タッチ操作)が行なわれたかを判定する。タッチムーブについてはタッチパネル70a上で移動する指やペンの移動方向についても、位置座標の変化に基づいて、タッチパネル70a上の垂直成分・水平成分毎に判定できる。所定距離以上をタッチムーブしたことが検出された場合はスライド操作が行なわれたと判定するものとする。タッチパネル上に指をタッチしたままある程度の距離だけ素早く動かして、そのまま離すといった操作をフリックと呼ぶ。フリックは、言い換えればタッチパネル70a上を指ではじくように素早くなぞる操作である。所定距離以上を、所定速度以上でタッチムーブしたことが検出され、そのままタッチアップが検出されるとフリックが行なわれたと判定できる(スライド操作に続いてフリックがあったものと判定できる)。更に、複数箇所(例えば2点)を同時にタッチして、互いのタッチ位置を近づけるタッチ操作をピンチイン、互いのタッチ位置を遠ざけるタッチ操作をピンチアウトと称する。ピンチアウトとピンチインを総称してピンチ操作(あるいは単にピンチ)と称する。タッチパネル70aは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサー方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。方式によって、タッチパネルに対する接触があったことでタッチがあったと検出する方式や、タッチパネルに対する指やペンの接近があったことでタッチがあったと検出する方式があるが、いずれの方式でもよい。
【0028】
電源制御部80は、電池検出回路、DC-DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類、電池残量の検出を行う。また、電源制御部80は、その検出結果及びシステム制御部50の指示に基づいてDC-DCコンバータを制御し、必要な電圧を必要な期間、記録媒体200を含む各部へ供給する。電源部30は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる。
【0029】
記録媒体I/F18は、メモリカードやハードディスク等の記録媒体200とのインターフェースである。記録媒体200は、撮影された画像を記録するためのメモリカード等の記録媒体であり、半導体メモリや磁気ディスク等から構成される。
【0030】
通信部54は、無線または有線ケーブルによって接続し、映像信号や音声信号の送受信を行う。通信部54は無線LAN(Local Area Network)やインターネットとも接続可能である。また、通信部54は、Bluetooth(登録商標)やBluetooth Low Energyでも外部機器と通信可能である。通信部54は撮像部22で撮像した画像(ライブビュー画像を含む)や、記録媒体200に記録された画像を送信可能であり、また、外部機器から画像やその他の各種情報を受信することができる。
【0031】
不揮発性メモリ56は、電気的に消去・記録可能なメモリであり、例えばFlash-ROM等が用いられる。不揮発性メモリ56には、システム制御部50の動作用の定数、プログラム等が記憶される。ここでいう、プログラムとは、本実施形態にて後述する各種フローチャートを実行するためのコンピュータープログラムのことである。
【0032】
システム制御部50は、少なくとも1つのプロセッサーまたは回路からなる制御部であり、デジタルカメラ100全体を制御する。前述した不揮発性メモリ56に記録されたプログラムを実行することで、後述する本実施形態の各処理を実現する。システムメモリ52には、例えばRAMが用いられ、システム制御部50の動作用の定数、変数、不揮発性メモリ56から読み出したプログラム等が展開される。また、システム制御部50はメモリ32、表示部28等を制御することにより表示制御も行う。
【0033】
姿勢検知部55は重力方向に対するデジタルカメラ100の筐体の姿勢情報(向き)を検知する。姿勢検知部55としては、加速度センサーやジャイロセンサーなどを用いることができる。姿勢検知部55である、加速度センサーやジャイロセンサーを用いて、デジタルカメラ100の動き(パン、チルト、持ち上げ、静止しているか否か等)を検知することも可能である。姿勢検知部55で検知された姿勢に基づいて、撮像部22で撮影された画像が、デジタルカメラ100を横に構えて撮影された画像であるか、縦に構えて撮影された画像であるかを判別可能である。システム制御部50は、姿勢検知部55で検知された姿勢に応じた姿勢情報を撮像部22で撮像された画像の画像ファイルに付加したり、画像を回転して記録したりすることが可能である。
【0034】
後述するキャリブレーションを行う場合は、デジタルカメラ100と目161の位置関係の把握が重要になる。そのため、キャリブレーションによって視線情報であるユーザーの視線データを取得する際は、姿勢検知部55で検知したデジタルカメラ100の姿勢も取得し、姿勢情報として保存する。これにより、ユーザーが様々な角度で撮影を行った場合にも、より正確な視線に対応する視線位置の決定が可能となる。
【0035】
視線検出ブロック160は、接眼部16に接眼したユーザーの眼球(目)161の視線を検出する(受け付ける)。視線検出ブロック160は、ダイクロイックミラー162、結像レンズ163、視線検知センサー164、赤外発光ダイオード166、視線検出回路165により構成される。
【0036】
赤外発光ダイオード166は、ファインダー内表示部におけるユーザーの視線を検出するための発光素子であり、接眼部16に接眼したユーザーの眼球(目)161に赤外光を照射する。赤外発光ダイオード166から発した赤外光は眼球(目)161で反射し、その赤外反射光はダイクロイックミラー162に到達する。ダイクロイックミラー162は赤外光だけを反射して可視光を透過させる。光路を変更された赤外反射光は、結像レンズ163を介して視線検知センサー164の撮像面に結像する。結像レンズ163は視線検知光学系を構成する光学部材である。視線検知センサー164は、CCD型イメージセンサ等の撮像デバイスから成る。
【0037】
視線検知センサー164は、入射された赤外反射光を電気信号に光電変換して視線検出回路165へ出力する。視線検出回路165は少なくとも1つのプロセッサーを含み、視線検知センサー164の出力信号に基づき、ユーザーの眼球(目)161の画像または動きからユーザーの視線を検出し、検出情報をシステム制御部50に出力する。
【0038】
本発明では視線検出ブロック160を用いて、角膜反射法と呼ばれる方式で視線を検出する。角膜反射法とは、赤外発光ダイオード166から発した赤外光が眼球(目)161の特に角膜で反射した反射光と、眼球(目)161の瞳孔との位置関係から、視線の向き・位置を検出する方式である。この他にも黒目と白目での光の反射率が異なることを利用する強膜反射法と呼ばれる方式など、様々な視線の向き・位置を検出する方式がある。なお、視線の向き・位置を検出できる方式であれば、上記以外の視線検出手段の方式を用いてもよい。
【0039】
視線検出ブロック160で検出したユーザーの視線は、例えば、デジタルカメラ100において、ユーザーの視線に対応する視線位置にAF枠を表示し、AFを実行する機能として使用する。ユーザーの視線の移動に追従してAF枠が移動し、常に視線に対応する視線位置においてAFを実行することができる。AFのみならず、AEやAWB等にも適用可能である。また、撮影時にユーザーがどの被写体をどの程度の時間見ていたかを蓄積し画像と共に保存することで、再生時などにユーザーの視線に対応する視線位置や蓄積時間に応じた様々な機能を提案することができる。また、デジタルカメラ100のみならず、HMD(ヘッドマウントディスプレイ)では視線に対応する視線位置を中心に高解像度にし、視線に対応する視線位置から離れるほど低解像度にするものがある。AR(拡張現実)グラスでは、ユーザーが視線を向けた先にある建物や広告の詳細情報を表示するものがある。
【0040】
キャリブレーションとは、視線検出ブロック160を用いてユーザーの視線を検出し、より正確にユーザーの視線に対応する視線位置を決定するための校正ステップである。視線検出ブロック160はキャリブレーションを行わずともユーザーの視線を検出し、視線に対応する視線位置を決定することができる。しかし、瞼等を含めた人間の目全体の構造は個人差があり、ユーザーによっては視線に対応する視線位置を決定しづらい場合がある。キャリブレーションを行うことで、デジタルカメラ100を使用するユーザー固有の視線情報である視線データを取得することができる。取得したユーザー固有の視線データから校正値を算出することで、そのユーザーが入力した視線に対応する視線位置をより正確に決定することができる。また、キャリブレーションは、複数回行うことでより正確な校正値を取得することができる。明るい自然光や蛍光灯の下や暗い場所、メガネを装着した状態など、様々な状況でキャリブレーションを行うことで、様々な状況に対応した校正値を取得することができる。本実施形態のデジタルカメラ100のように、様々な姿勢で視線検出を行うことが想定される場合、デジタルカメラ100のEVF29と目161の位置関係が変化し、EVF29への覗き方が変わることがある。キャリブレーションの実行中に、視線検出ブロック160と目161の位置関係が変化すると、取得する視線情報である視線データが大きく変化し、校正値にズレが生じる。したがって、それぞれの姿勢でキャリブレーションを行うことが望ましく、キャリブレーション中に姿勢が変化することは望ましくない。
【0041】
デジタルカメラ100の姿勢と、視線検出ブロック160と目161の相対的な位置関係について、
図6(a)~(c)に示す。
図6(a)は、デジタルカメラ100の姿勢を4つに分類した図である。ここで、デジタルカメラ100の筐体の姿勢は、以下の4つの姿勢(位置)に分類するとする。
・接眼部16がエリア611の範囲に位置する場合(横正位置)。
・接眼部16がエリア612の範囲に位置する場合(左縦位置)。
・接眼部16がエリア613の範囲に位置する場合(右縦位置)。
・接眼部16がエリア614の範囲に位置する場合(横逆位置)。
【0042】
図6(b)、(c)にユーザーが接眼部16に接眼している状態における、赤外発光ダイオード166と目161の位置関係を示す。本実施形態では、赤外発光ダイオード166が
図6(b)のダイオード166a~166dに示すように、接眼部16の内側4か所に配置されている。前述したように、視線検出ブロック160と目161の位置関係、すなわち、赤外発光ダイオード166と目161の相対的な位置関係が、取得する視線データに影響を及ぼす。
【0043】
デジタルカメラ100の場合、ユーザーは直立した状態で接眼部16に接眼するため、デジタルカメラ100の姿勢が変化すると、赤外発光ダイオード166(視線検出ブロック160)と目161の相対的な位置関係が変化する。つまり、デジタルカメラ100の姿勢(向き)が、視線検出ブロック160と目161の相対的な位置関係を示すといえる。
【0044】
図6(b)はデジタルカメラ100が横正位置である状態での、赤外発光ダイオード166(ダイオード166a~166d)と目161の位置関係である。ダイオード166a、166bは目161の上瞼側から、ダイオード166c、166dは目161の下瞼側から赤外光が照射される。
【0045】
図6(c)はデジタルカメラ100が左縦位置である状態での、赤外発光ダイオード166(ダイオード166a~166d)と目161の位置関係である。ダイオード166b、166dが目161の上瞼側から、ダイオード166a、166cが目161の下瞼側から照射される。
【0046】
デジタルカメラ100が右縦位置である状態(不図示)では、ダイオード166a,166cが目161の上瞼側から、ダイオード166b、166dが目161の下瞼側から照射される。デジタルカメラ100が横逆位置である状態(不図示)では、ダイオード166c、166dは目161の上瞼側から、ダイオード166a、166bは目161の下瞼側から赤外光が照射される。
【0047】
なお、
図6(a)のエリア611~614は、360°を4等分し、それぞれの範囲を90°としたが、エリアごとに範囲に大小を付けてもよい。
【0048】
キャリブレーションは一般的に、表示される位置が異なる複数の注視点が表示され、それぞれの注視点をユーザーが注視した際の視線データを取得、蓄積し、複数の視線データから校正値を算出する。このとき表示される複数の注視点は表示される位置が異なることから、様々な角度の眼球の視線データを取得することができる。算出された校正値をキャリブレーションデータとして登録することで、ユーザーが視線入力を使用する際に毎度キャリブレーションを行うことなく、より精度の高い視線入力を行うことができる。なお、本実施形態では、取得した視線データから算出した校正値とデジタルカメラ100の姿勢(姿勢情報)を紐づけてキャリブレーションデータとして保存・登録する。
【0049】
キャリブレーションモードにおいて表示される注視点の数は、例えば、3点や5点のものが知られている。これらの注視点の表示形態として、例えば以下に説明するような制御のものがある。複数の注視点のうち、1点ずつ順に表示され、1点目の注視点における視線データを取得することができたら、1点目を非表示にして2点目を表示し、全ての視線データを取得し終え、校正値を算出し終えるとキャリブレーションが完了するもの。
【0050】
キャリブレーションモードにおいてキャリブレーションを行う際には、ユーザーに注視点を注視してもらうことが必須であり、視線が不安定になることは回避したい。例えば1点目の注視点のみが表示され、1点目が表示されたまま2点目が表示されるような制御では、ユーザーは無意識的に視線が1点目と2点目の注視点を行き来してしまう可能性があり、視線が不安定になってしまう。したがって、複数の注視点を1つずつ順に表示して、対応する視線データを取得する方法が、より望ましいといえる。
【0051】
本実施形態のキャリブレーションモードでは、計5点の注視点での視線データを取得し、1点ずつ注視点が順に表示され視線データを取得し終えると非表示となり、次の点の注視点が表示される制御とする。
【0052】
接眼検知部57はファインダーの接眼部16に対する目(物体)161の接近(接眼)および離脱(離眼)を検知する(接近検知)、接眼検知センサーである。システム制御部50は、接眼検知部57で検知された状態に応じて、表示部28とEVF29の表示(表示状態)/非表示(非表示状態)を切り替える。より具体的には、少なくともデジタルカメラ100が撮影待機状態、かつ、撮像部22で撮像されたライブビュー画像の表示先の切替設定が自動切替設定である場合において、非接眼中は表示先を表示部28として表示をオンとし、EVF29は非表示とする。また、接眼中は表示先をEVF29として表示をオンとし、表示部28は非表示とする。
【0053】
接眼検知部57は、例えば赤外線近接センサーを用いることができ、EVF29を内蔵するファインダーの接眼部16への何らかの物体の接近を検知することができる。物体が接近した場合は、接眼検知部57の投光部(不図示)から投光した赤外線が反射して赤外線近接センサーの受光部(不図示)に受光される。受光された赤外線の量によって、物体が接眼部16からどの距離まで近づいているか(接眼距離)も判別することができる。このように、接眼検知部57は、接眼部16への物体の近接距離を検知する接眼検知を行う。
【0054】
なお、本実施形態では接眼検知部57の投光部および受光部は前述の赤外発光ダイオード166および視線検知センサー164とは別体のデバイスであるものとする。ただし、接眼検知部57の投光部を赤外発光ダイオード166で兼ねてもよい。また、受光部を視線検知センサー164で兼ねてもよい。
【0055】
接眼検知部57は、非接眼状態(非接近状態)から、接眼部16に対して所定距離以内に近づく物体が検出された場合に、接眼されたと検出するものとする。接眼状態(接近状態)から、接近を検知していた物体が所定距離以上離れた場合に、離眼されたと検出するものとする。接眼を検出する閾値と、離眼を検出する閾値は例えばヒステリシスを設けるなどして異なっていてもよい。また、接眼を検出した後は、離眼を検出するまでは接眼状態であるものとする。離眼を検出した後は、接眼を検出するまでは非接眼状態であるものとする。なお、赤外線近接センサーは一例であって、接眼検知部57には、接眼とみなせる目や物体の接近を検知できるものであれば他のセンサーを採用してもよい。
【0056】
システム制御部50は視線検出ブロック160からの出力に基づいて以下の操作、あるいは状態を検知できる。
・接眼部16に接眼したユーザーの視線が新たに入力(検出)されたこと。すなわち、視線入力の開始。
・接眼部16に接眼したユーザーの視線入力がある状態であること。
・接眼部16に接眼したユーザーが注視している状態であること。
・接眼部16に接眼したユーザーが入力していた視線を外したこと。すなわち、視線入力の終了。
・接眼部16に接眼したユーザーが何も視線入力していない状態。
【0057】
ここで述べた注視とは、ユーザーの視線に対応する視線位置が所定時間内に所定の移動量を超えなかった(既定の閾値以下)場合のことを指す。
【0058】
本実施形態では、電子機器の1つであるデジタルカメラ100においてユーザーの視線によるキャリブレーションの実行処理について説明する。
【0059】
図3は、ユーザーが視線のキャリブレーションを行う際の制御フローチャートである。この制御処理は、システム制御部50が不揮発性メモリ56に格納されたプログラムをシステムメモリ52に展開して実行することにより実現される。
【0060】
図3のフローチャートはデジタルカメラ100を起動し、ユーザーがファインダーを覗いた状態、つまり接眼部16へ接眼している状態で、ユーザーが設定メニュー画面においてキャリブレーションを開始する操作を行った場合に開始される。
図7に視線入力に関する設定メニュー画面の表示例を示す。
図7の項目701に示す視線入力の設定は選択肢701aが選択されている、すなわち視線入力がONに設定されている状態を示す。項目702に対して実行指示、すなわち、表示702aの選択・決定があった場合に、
図3のフローチャートを開始する。
図7では表示702aが「未登録」と表示されており、これはユーザーがこれまでキャリブレーションを一度も実行したことがないことを示している。ユーザーが一度でもキャリブレーションを実行している場合は、表示702aに「登録」と表示される。表示702aにどちらの表示がされていても、前述したように、キャリブレーションを実行することは可能である。
【0061】
S301では、システム制御部50は、EVF29にキャリブレーションの開始画面を表示する。
図5(a)に、キャリブレーションの開始画面の表示例を示す。
図5(a)はユーザーが接眼部16に接眼し、姿勢検知部55で検知したデジタルカメラ100の姿勢が横位置(正位置)である場合に、EVF29に表示される表示例である。キャリブレーションを含むユーザーの視線を検出する際には、ユーザーがいくつかの調整を行うことで、視線検出ブロック160がユーザーの視線を検出しやすくなる。そのため、キャリブレーション開始時に、
図5(a)のダイアログ501のような表示を行う。また、視線入力の機能を使用したことがないユーザーにとっても、ダイアログ501のような表示を行うことで、キャリブレーションのみならず視線入力を行う際の要領を掴みやすくすることができる。なお、ダイアログ501の文言はこれに限るものではないし、
図5(a)を表示することなく、キャリブレーションの開始指示があったことに応じて、S301をスキップしてS302から開始するようにしてもよい。
【0062】
S302では、システム制御部50は、確定操作があったか否かを判定する。確定操作があった場合は、S303へ進み、ない場合は、S304へ進む。本実施形態では、
図5(a)の表示511に示すように、確定操作はM-Fnボタン77の押下とする。なお、確定操作は、ユーザーが次のステップ(画面)へ進むための意思表示としての条件の1つであり、M-Fnボタン77の押下に限らない。
【0063】
S303では、システム制御部50は、キャリブレーションデータの取得処理を開始する。キャリブレーションデータの取得処理は、
図4の制御フローチャートを用いて後述する。
【0064】
S304では、システム制御部50は、キャリブレーションが終了した際に表示する終了メッセージを、注視点の表示に代わって表示を行う。具体的には、
図5(g)に示すようダイアログ503と選択肢512、選択肢513を表示する。
【0065】
S305では、システム制御部50は、キャリブレーションを再度行う指示があったか否かを判定する。指示があった場合は、S400に戻り、ない場合は、
図4の制御フローチャートを終了する。キャリブレーションを再度行う指示とは、
図5(g)に示す選択肢513の選択を指す。選択肢513を選択すると、キャリブレーションを始めから実行する。一方で選択肢512を選択すると、キャリブレーション表示画面から、ユーザーがキャリブレーションを開始する前の表示画面、例えば設定メニュー画面へと遷移する。
【0066】
キャリブレーションを複数回行うことで、より精度のキャリブレーションデータの取得を実現できる。
図5(g)の画面を表示することにより、複数回のキャリブレーションを行うことでより精度の高いキャリブレーションデータを取得することを知らせることができ、ユーザーに複数回のキャリブレーションを促す効果が得られる。なお、5点の注視点での視線データの取得が終了すると、
図5(g)のような表示を行わずに、キャリブレーションデータの取得処理を終了してもよい。すなわち、S304とS305をスキップしてS303から
図3の制御フローチャートを終了するようにしてもよい。
【0067】
S306では、システム制御部50は、確定操作以外の操作があったか否かを判定する。確定操作以外の操作、すなわち、S302で述べたM-Fnボタン77以外の操作部材への操作があった場合は、キャリブレーション処理を終了し、ない場合は、S302へ戻る。M-Fnボタン77以外への操作部材への操作があった場合は、操作された部材に対応した処理を行う。例えば、再生ボタン79が押下された場合は、再生モード処理へ遷移し、撮影済みもしくは記録媒体200に保存された画像を再生する。シャッターボタン61が押下された場合には、撮影モード処理である撮影待機状態へ遷移し、AF、AE、AWB等の撮影準備処理を行い、撮影指示があった場合は、撮像された画像を画像ファイルとして記録媒体200に記録するまでの一連の撮影処理を行う。
【0068】
図4は、
図3のS303で説明した、キャリブレーションデータの取得処理の制御フローチャートである。
図3のS302においてYesと判定された場合に開始される。
【0069】
S400で、システム制御部50は、フラグ情報Fを初期化(F=0)し、システムメモリ52に格納する。フラグ情報Fは、キャリブレーションの実行中の姿勢変化を許容するか否かを示す情報である。フラグ情報Fが0である場合、システム制御部50は、キャリブレーションの実行中に姿勢変化があった場合にユーザーに通知を行う。詳細は後述する。
【0070】
S401では、システム制御部50は、変数Xを1(X=1)とし、システムメモリ52に格納する。本実施形態では、変数XはEVF29に表示する注視点の数を表している。
【0071】
S402では、システム制御部50は、不揮発性メモリ56を参照し、キャリブレーション表示であるX点目の注視点をEVF29に表示する。不揮発性メモリ56には、予めデジタルカメラ100の姿勢と表示順(X)とに対応付けられた、複数のキャリブレーション画像が格納されている。デジタルカメラ100が横位置(正位置)である場合、X=1のときは
図5(b)、X=2のときは
図5(c)、X=3のときは
図5(d)、X=4のときは
図5(e)、X=5のときは
図5(f)をEVF29に表示する。すなわち、注視点の表示順は、ユーザーに対して中央・左・右・上・下とする。表示順をこのような順にしたのは、ユーザーの視線の安定性を考慮したためである。前述したように、
図5に示すように注視点を1点ずつ順に表示するのではなく、本ステップにおいて5点すべてをEVF29に表示し、順に1点ずつ非表示にするようにしてもよい。すなわち、ユーザーによる注視が終わった(視線データを取得できた)と想定される注視点から順に非表示にし、最後の1点の視線データを取得し終えたことに応じて、
図4の制御フローチャートを終了するようにしてもよい。
【0072】
例えば注視点をEVF29の下方に表示したあと上方に表示すると、ユーザーは視線を下から上へと移動させる必要があり、人間の眼球の特性上、視線の安定性が損なわれる可能性がある。このような理由から、接眼部16が左側かつグリップ部90が上側にある状態(左縦位置)では、EVF29に対して相対的な位置で中央・左・右・上・下とするため、
図5(b)→(e)→(f)→(d)→(c)の順となる。接眼部16が右側かつグリップ部90が下側にある状態(右縦位置)では、
図5(b)→(f)→(e)→(c)→(d)となる。
【0073】
すなわち、デジタルカメラ100の姿勢がどのような姿勢になろうと、ユーザーから見て注視点の表示位置が相対的に、中央・左・右・上・下の順に表示を行う。本実施形態では注視点の表示順を前述したような順、またデジタルカメラ100の姿勢に応じて変化させる表示形態としたが、これに限らない。注視点の数も上下左右の4点や、上左下右下の3点などの他の組み合わせでもよい。
【0074】
S403では、S302と同様に、システム制御部50は、確定操作があったか否かを判定する。あった場合は、S404へ進み、ない場合は、S426へ進む。
【0075】
S404では、システム制御部50は、S403において確定操作を行った時点でのデジタルカメラ100の姿勢である姿勢情報P(X)を確定する。前述したように、デジタルカメラ100の姿勢は姿勢検知部55によって常に検知されているが、ユーザーの意思表示である確定操作が行われた時点での姿勢を、デジタルカメラ100の姿勢とする。
【0076】
S405では、システム制御部50は、変数Xが1であるか否かを判定する。Xが1である場合は、S406へ進み、Xが1以外である場合は、S408へ進む。
【0077】
S406では、システム制御部50は、S404において確定したデジタルカメラ100の姿勢情報P(X)が、キャリブレーションデータとして登録できる姿勢であるか否かを判定する。登録できる姿勢である場合はS407へ進み、できない場合はS416へ進む。
【0078】
キャリブレーションデータとして登録できる姿勢は、
図6(a)に示す4つの姿勢のうち、横正位置、左縦位置、右縦位置のいずれかとし、デジタルカメラ100の姿勢が横逆位置である場合は、キャリブレーションデータとして登録できない姿勢とする。これは、接眼部16がエリア614の範囲にある状態で、視線入力を使用した撮影を行う機会が少ないと考えるためであるが、このようは横逆位置であってもキャリブレーションデータとして登録できるようにしてもよい。
【0079】
S407では、システム制御部50は、S404で確定したデジタルカメラ100の姿勢を姿勢情報P(x)として不揮発性メモリ56に保存する。本実施形態では、1点目の注視点が表示されている状態で確定操作が行われた場合の姿勢のみを、不揮発性メモリ56に保存する。
【0080】
S405においてNoと判定された場合に、S408では、システム制御部50は、デジタルカメラ100の姿勢情報P(X)が1点目の注視点が表示されている状態で確定操作が行われた場合の姿勢P(1)であるか否かを判定する。P(X)がP(1)である場合は、S409へ進み、そうでない場合はS421へ進む。
【0081】
S409では、システム制御部50は、X点目の注視点が表示された場合の視線データE(x)を確定する。本実施形態では、キャリブレーション実行中は視線検出ブロック160を用いて常にユーザーの視線を検出しているとする。S409では、システム制御部50はS403において確定操作が入力されたタイミングで取得した視線に関する情報を視線データE(X)とする。確定操作があったタイミングの視線データで確定するのは、より確実な視線データを取得するためである。なお、確定操作がなくても、視線検出ブロック160で注視があったと判定できたタイミングで視線データを取得する構成でもよい。
図4の制御フローのような、キャリブレーションのデータ取得時の確定操作に注視を用いる場合は、データ取得時以外の場合の注視の判定条件とは別の条件を定めるようにするとよい。例えば、データ取得時以外には、120ミリ秒のうちにユーザーの視線の移動量が既定閾値以下であった場合に、注視があったと判定する。これに対して、データ取得時には3秒のうちにユーザーの視線の移動量が規制の閾値以下とする。また、注視判定基準の時間を120ミリ秒のまま、視線の移動量の既定閾値をより小さくしてもよいし、時間を長くした上で視線の移動量の既定閾値を小さくしてもよい。
【0082】
S410では、システム制御部50は、S409で確定した視線データE(X)が視線データとして使用できるか否か(OKかNGか)を判定する。OKである場合は、S411へ進み、NGである場合は、S416へ進む。視線データがNGであるとは、S403において確定操作を行った際に、目に外光が反射したことやメガネ着用によるレンズによる反射がある。また、ユーザーの瞬きが多いなどの理由により、S413において後述する校正値を算出するための適正な視線データE(X)が取得できなかった場合があげられる。
【0083】
S411では、システム制御部50は、変数XにX+1を入力し、システムメモリ52に保存する。
【0084】
S412では、システム制御部50は、システムメモリ52を参照し、X>Xthであるか否かを判定する。X>Xthである場合は、S413へ進み、X≦Xthである場合は、S414に進む。Xthは、キャリブレーションで視線データを取得する注視点の数を示す閾値である。本実施形態では、注視点の表示が5点であるためXthを5とした。
【0085】
S413では、システム制御部50は、本ステップに到達するまでに取得した全ての視線データE(X)から、校正値を算出し、S415へ進む。
【0086】
S414では、システム制御部50は、EVF29に表示する注視点を非表示にし、S402へ戻る。前述したように、本実施形態のキャリブレーションモードでは、キャリブレーション表示である注視点は1点ずつ順に表示し、EVF29には1つの注視点のみが表示される制御とするため、本ステップにおいて注視点を非表示とする。
【0087】
S415では、システム制御部50は、S407において保存したP(1)と、S413において算出した校正値を合わせてキャリブレーションデータとし、これらを紐づけて不揮発性メモリ56に保存する。前述したように、視線検出ブロック160と目161との相対的な位置関係の変化により、赤外発光ダイオード166から照射され、目161で反射する赤外光の位置が変化し、視線検出ブロック160で検出される赤外光も変化する。そのため、視線検出ブロック160の向き、すなわちデジタルカメラ100の姿勢とユーザーの視線データを紐づけて保存することで、ユーザーが視線入力を用いた機能実行を行う際に、より精度の高い視線入力による位置の指定などを行うことができる。
【0088】
S406で、姿勢情報P(1)が登録可能でないと判定された場合、もしくは、S410で視線データE(X)がNGであると判定された場合、システム制御部50は、S416で、EVF29に警告表示を行う。S406においてNoと判定された場合の警告表示は「横位置または縦位置で操作してください」とする。S410においてNoと判定された場合は、それぞれ視線データE(x)がNGとなった原因に応じて、警告表示を行う。例えば、瞬きが多い、目に外光が反射した、メガネにゴーストが被った等がある。これらのような場合は、「両目をしっかり開いていください」、「M-Fnボタンを押すときに、瞬きをしないでください」、「メガネが下がっているときはメガネの位置を上げてから、ファインダーに目を近づけてください」と表示する。また、「ファインダーに目を近づけてください」や「別の人が使うときや、メガネをかけたり外したりしたときは、別の登録番号でキャリブレーションをしてください」という表示を行う。このような警告表示を行うことで、ユーザーに、視線データを取得できるような姿勢や目の状態にするよう改善を促すことができる。なお、システム制御部50は、注視点を表示したまま、警告表示をEVF29に表示する。なお、システム制御部50は、一旦、注視点を非表示にした後に警告表示が行われるように制御してもよい。
【0089】
S417では、システム制御部50は、S403と同様に、確定操作があったか否かを判定する。確定操作があった場合は、S418へ進み、そうでない場合はS419へ進む。
【0090】
S418では、システム制御部50は、S416において表示した警告を非表示にし、S402へ戻る。なお、S416において表示した警告表示(
図5(h)のダイアログ504)を非表示にするタイミングは、S417における確定操作の有無ではなく、表示を開始してから一定時間経過後に非表示になるようにしてもよい。
【0091】
S419では、システム制御部50は、S304と同様に、確定操作以外の操作があったか否かを判定する。あった場合は、S420へ進み、なかった場合は、S417へ戻る。
【0092】
S420では、システム制御部50は、
図4の制御フローチャート内で取得したデータ、すなわちシステムメモリ52に保存されているデジタルカメラ100の姿勢P(1)や視線データE(X)を破棄し、
図4および
図3の制御フローチャートを終了する。S420では、注視点の全5点での視線データの取得が完了することなくデータ取得処理の終了指示があったことから、取得したデータを全て破棄し、
図4の制御フローを終了する。言い換えると、取得した全5点の視線データから校正値を算出し、カメラの姿勢情報と紐づけて校正値を保存する一連の処理が終了(完了)することなく、データ取得処理の終了指示があったことから、取得したデータを全て破棄する。このように制御することで、視線情報である視線データが校正値を算出するためのデータ数として不足しているにもかかわらず、校正値が算出してしまうことを防ぐことができる。これにより、精度の低い校正値、すなわちキャリブレーションデータの取得・保存を避けることができる。
【0093】
S408で、X点目の姿勢情報P(X)が1点目の姿勢情報P(1)と異なる(No)と判定された場合、システム制御部50は、S421で、フラグ情報Fが1であるか否かを判定する。フラグ情報Fが1である場合、処理はS409に進む。フラグ情報Fが1でない(フラグ情報Fが0である)場合、処理はS422に進む。
【0094】
S408で、X点目の姿勢情報P(X)が1点目の姿勢情報P(1)と異なる(No)と判定された場合、S422で、システム制御部50は、警告を表示する。
図5(h)に表示例を示す。システム制御部50は、警告表示を行うことで、現在の姿勢は、1点目の視線データを取得した際の姿勢とは異なることをユーザーに報知する。また、警告表示として
図5(h)に示すダイアログ504のような警告を表示することで、姿勢を1点目の視線データを取得した際の姿勢へ戻すことを促すことができる。本実施形態では
図5(h)に示すように、注視点の表示を継続したまま警告表示を行う。このように制御することで、ダイアログ504が非表示となった場合にユーザーは注視点を探すために視線を動かす必要がない。ただし、注視点と警告の両方がEVF29に表示されないように制御してもよい。
【0095】
S423では、システム制御部50は、デジタルカメラ100の姿勢が戻ったか否かを判定する。システム制御部50は、姿勢検知部55の出力データをモニタし、P(1)と同じ姿勢情報を取得したか否かを判定する。P(1)と同じ姿勢情報を取得された場合、S426へ進み、そうでない場合は、S424へ進む。
【0096】
S424では、S403と同様に、システム制御部50は、確定操作があったか否かを判定する。確定操作があった、すなわち
図5(h)の表示514に示すM-Fnボタン77の押下があった場合は、S425へ進み、ない場合はS423へ戻る。
【0097】
S425で、システム制御部50は、フラグ情報Fを1とする。
【0098】
S424においてYesとの判定より、ユーザーは警告表示を無視して、P(1)とは異なる姿勢でキャリブレーションを続行したいと考えていると想定できる。そのため、以降の処理では、S403で取得された姿勢情報P(X)が1点目の姿勢情報P(1)と異なっていても、警告表示を繰り返さず、視線データE(X)の取得を継続することができる。例えば、P(1)が正位置で、P(2),P(3)も正位置であったが、P(4)で左縦位置に変化し、左縦位置の状態のまま、S424で確定操作が行われたとする。この場合、システム制御部50は、警告を非表示にし、S402に戻ることで引き続き4点目(X=4)の注視点を表示する。そして、デジタルカメラ100の筐体の姿勢が左縦位置のまま、S403で確定操作を行ったとしても、S4XXでS409に進むことで、視線データE(X)をX点目の注視点に対応する視線データとして蓄積する。
【0099】
このような制御により、取得・蓄積する視線データはデジタルカメラ100の姿勢に対して精度が低下するが、4点目までキャリブレ―ションを実行しているにもかかわらず1点目の注視点に戻ることによる煩わしさを低減することができる。仮にカメラの姿勢が変化したあとに表示される注視点が1点目(最初に表示される注視点)に戻ってしまうと、ユーザーは初めからキャリブレーションの実行を開始することに煩わしさを感じる可能性が高い。これにより、視線入力の機能そのものを使用しないことやキャリブレーションを行うことなく視線入力を使用する場合が生じる。キャリブレーションを行わずに視線入力を使用すると、ユーザーの視線とデジタルカメラ100が検出する視線に対応する視線位置とに差が生じてしまい、使い勝手が悪く、ユーザーは結果的に視線入力を使用しなくなってしまう場合が生じる。したがって、視線入力機能の使用を促しつつ、かつ、煩わしく感じることなく、より精度の高い視線入力を行ってもらうためのキャリブレーションの実行を促進することができる。
【0100】
なお、S423の判定処理をデジタルカメラ100の姿勢がP(1)と同等となるまで確定操作が行われたとしても繰り返してもよい。この場合、デジタルカメラ100の筐体の姿勢がほぼ同等である場合の視線データを収集することが可能であることから、より精度の高いキャリブレーションデータを取得・登録することができる。したがって、ユーザーが見ている位置とキャリブレーションにより算出される視線に対応する視線位置との誤差を小さくすることができる。
【0101】
S426では、システム制御部50は、S422において表示した警告を非表示にし、S402へ戻る。
【0102】
X点目の注視点を示す画像が表示されたのち、確定操作が行われずS403でNoと判定された場合、S427において、システム制御部50は、S304と同様に、確定操作以外の操作があったか否かを判定する。確定操作以外の操作があった場合は、
図4および
図3の制御フローチャートを終了し、ない場合は、S403へ戻る。
【0103】
なお、本実施例では確定操作をM-Fnボタン77の押下としたが、前述したようにユーザーが次のステップ(画面)へ進むための意思表示としての条件の1つであり、M-Fnボタン77の押下に限らない。確定機能を割り当てられる他の機能を有する操作部材であればよい。他の操作部材にする場合、ユーザーが接眼部16に接眼しグリップ部90を右手で把持しながら操作できる位置にある操作部材であると、なお操作性がよい。例えば、レンズユニット150の外装である鏡筒に配置される操作部材であっても、接眼部16に接眼しグリップ部90を右手で把持しながら左手で押下できる。確定操作が操作部材の押下でなく、表示した注視点をユーザーが注視することで確定操作があったとしてもよい。すなわち、M-Fnボタン77の押下以外の条件として、ユーザーの視線がEVF29に表示している注視点にあり、所定時間内に所定の移動量を超えなかった(所定の閾値以下)場合についても、ユーザーによる確定操作があったと判定することができる。このような制御にした場合、ユーザーの視線が安定するまで(視線データが取得できる程度に安定していると判定されるまで)視線データが確定されないため、本実施形態での
図4、S410において視線データ(E(X))がNGと判定される可能性は低い。
【0104】
また、S416、S422において表示した警告表示は、文章によるものでなくアイコンによるものでもよいし、EVF29の表示形態や表示色の変化、EVF29の点滅、またこれらの組み合わせなど、ユーザーに通知できるものであればよい。例えば
図5(h)のダイアログ504を点滅させたり、EVF29の背景色を注視点を表示する場合の背景色とは異なるものにしてもよい。
【0105】
このように本実施形態では、キャリブレーション実行中に筐体の姿勢が変化した場合は警告表示を行い、1点目の視線データ確定時の姿勢に戻るようにユーザーを促し、ユーザーによる指示があるまでは姿勢変化後の視線データは受け付けないように制御する。これにより、ユーザーは視線データの精度の低下を低減することができ、より精度の高いキャリブレーションデータを作成・取得できる。また、姿勢が変化したとしてもユーザーによる確定操作があった場合は、1点目の注視点に戻ることなく姿勢変化前に表示していた注視点を継続して表示するため、ユーザーがキャリブレーションの実行を煩わしく感じる可能性を低減できる。したがって、キャリブレーションデータの精度の低下を低減しつつ、ユーザーがキャリブレーション実行を煩わしく感じないようにデータを取得することができる。
【0106】
なお、システム制御部50が行うものとして説明した前述の各種制御は、1つのハードウエアが行ってもよいし、複数のハードウエア(例えば複数のプロセッサーや回路)が処理を分担することで装置全体の制御を行ってもよい。
【0107】
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。キャリブレーションを行う際の注視点の形を四角形の形状としたが、ユーザーが注視できるような形状であればいかなる形でもよい。静止した表示でなく、アニメーションのような表示にしてもよい。また、注視点を表示する背景を単色としたが、背景の色が変化したり、グラデーション表示のようにしたり、再生画像やLV画像を表示してもよい。例えば、ユーザーが明るい場所や暗い場所で何度もキャリブレーションを行わなくてもよいように、複数の注視点を表示する度に背景の色や輝度を変化させ、1回のキャリブレーションで様々な状況下でのキャリブレーションを行えるようにしてもよい。
【0108】
本実施形態においては、EVF29を有したデジタルカメラ100に適用した場合を例にして説明したが、これはこの例に限定されず、ユーザーの視線に関する情報を取得可能な取得手段を有する電子機器であれば適用可能である。具体的には、表示部にキャリブレーションを行うための注視点を表示し、表示部を見ているユーザーの視線を検出可能であれば適用可能である。また、各実施形態を適宜組み合わせることも可能である。本実施形態ではEVF29を有する接眼部16と視線検出ブロック160とが一体になった構成としたが、表示部と視線検出部とが別の装置であり、それらを接続してユーザーの視線を検出する構成でも本実施形態は実施可能である。すなわち、本発明はパーソナルコンピューターやPDA、スマートフォンを含む携帯電話端末やタブレット、携帯型の画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤー。ゲーム機、電子ブックリーダー、ヘッドマウントディスプレイ等のウェアラブル機器などに適用可能である。
【0109】
例えばパーソナルコンピューターに、外付けの視線検出器を接続した場合は、パーソナルコンピューターの姿勢ではなく、視線検出器の姿勢で本実施形態の制御を行う。視線検出器を横向きに置いた状態でキャリブレーションを開始した、ユーザーの視線データを取得している場合を考える。キャリブレーションの途中で視線検出器の向きを横向きから縦向きに変更した場合には、視線検出器の向きが縦向きになった後のユーザーの視線データは取得・保存しないように制御する。
【0110】
また、撮像装置本体に限らず、有線または無線通信を介して撮像装置(ネットワークカメラを含む)と通信し、撮像装置を遠隔で制御する制御装置にも本発明を適用可能である。撮像装置を遠隔で制御する装置としては、例えば、スマートフォンやタブレットPC、デスクトップPCなどの装置がある。制御装置側で行われた操作や制御装置側で行われた処理に基づいて、制御装置側から撮像装置に各種動作や設定を行わせるコマンドを通知することにより、撮像装置を遠隔から制御可能である。また、撮像装置で撮影したライブビュー画像を有線または無線通信を介して受信して制御装置側で表示できるようにしてもよい。
【0111】
なお、システム制御部50が行うものとして説明した前述の各種制御は、1つのハードウエアが行ってもよいし、複数のハードウエア(例えば複数のプロセッサーや回路)が処理を分担することで装置全体の制御を行ってもよい。
【0112】
(他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち前述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピューター(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記録媒体は本発明を構成することになる。