しかし、上記の背景技術では、撮像部が常時動作しているため、消費電力が多い問題があった。
それゆえに、この発明の主たる目的は、新規な、表示装置ならびに視線入力制御プログラムおよび方法を提供することである。
この発明の他の目的は、少ない消費電力で視線検出を行うことができる、表示装置ならびに視線入力制御プログラムおよび方法を提供することである。
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
第1の態様は、表示面を有する表示部と、発光部と、撮影部を有し、視線入力を利用するアプリケーションを実行可能な表示装置であって、発光部からの光による使用者の瞳孔の反射光に基づいて表示面上での視線入力の位置を検出する検出部と、発光部、および、撮影部のオン/オフを制御する制御部と、を備え、検出部はさらに、発光部および撮影部の両方がオン状態であるオン期間において撮影部からの画像に基づき視線検出を行い、制御部は、発光部および撮影部の少なくとも一方を繰り返しオン/オフする制御を実行する。
第1の態様では、表示装置の一例である携帯端末(10)は、表示面を有する表示部(30)と発光部(40)と撮影部(42)を有し、視線入力を利用するアプリケーションを実行可能である。このような携帯端末において、たとえばCPU(24)が視線検出プログラム(52)および視線入力制御プログラム(54)を実行することで、検出部(S9)および制御部(S3〜S7,S11〜S15)が実現される。
検出部は、発光部からの光による使用者の瞳孔の反射光に基づいて表示面上での視線入力の位置を検出し、制御部は、発光部および撮影部のオン/オフを制御する。検出部はさらに、発光部および撮影部の両方がオン状態であるオン期間において撮影部からの画像に基づき視線検出を行い、制御部は、発光部および撮影部の少なくとも一方を繰り返しオン/オフする制御を実行する。
つまり、制御部は、発光部および撮像部の少なくとも一方を繰り返しオン/オフし、検出部は、発光部および撮像部の両方がオン状態のとき撮像部からの画像に基づき視線検出を行う(図3(B),図3(C),図4,図5,図9(A)〜図9(C))。
なお、好ましい実施例では、発光部は赤外線を発光し、撮像部は赤外線で撮像を行うが、他の実施例では、発光部は可視光線を発光し、撮像部は可視光線で撮像を行ってもよい。
第1の態様によれば、発光部および撮影部の少なくとも一方を繰り返しオン/オフすることで消費電力を削減しながら、両方がオン状態であるとき視線検出を行うので、少ない消費電力で視線検出を行うことができる。
第2の態様は、第1の態様において、制御部は、発光部および撮影部の少なくとも一方を第1周期でオン/オフし、検出部は、発光部および撮影部の両方がオン状態であるオン期間中に撮影部からの画像に基づき第1周期と同じまたはより短い周期での第2周期で視線検出を行う。
第2の態様によれば、1つのオン期間に少なくとも1回視線検出が行われる結果となり、無駄なオン期間がないので、効率よく視線検出を行える。
第3の態様は、第2の態様において、第1周期および第2周期の少なくとも一方を、視線入力を利用するアプリケーションの属性に基づいて変化させる変化部をさらに備える。
第3の態様では、変化部(S1,66,68)がさらに実現され、変化部は、第1周期および第2周期の少なくとも一方を、視線入力を利用するアプリケーションの属性に基づいて変化させる(図3(B)⇔図3(C),図3(B)⇔図4,図3(B)⇔図5)。
第3の態様によれば、アプリケーションの属性に適した省電力化が可能となる。
なお、属性は、典型的には追従性(応答性,時間分解能という場合もある)である。この場合、高い追従性が求められるアプリケーションでは第1周期および第2周期の少なくとも一方を短くし、あまり高い追従性は求められないアプリケーションでは第1周期および第2周期の少なくとも一方を長くすることで、それぞれのアプリケーションが要求する追従性を損なわない範囲で、できるだけ省電力化を図ることができる。または、属性は、空間分解能でもよく、高い空間分解能が求められるアプリケーションでは第1周期および第2周期の少なくとも一方を短くし、あまり高い空間分解能は求められないアプリケーションでは第1周期および第2周期の少なくとも一方を長くすることが有効である。あるいは、属性は、操作頻度でもよく、頻繁に操作が行われるアプリケーションでは第1周期および第2周期の少なくとも一方を短くし、あまり頻繁な操作は行われないアプリケーションでは、第1周期および第2周期の少なくとも一方を長くする。さらには、アプリケーションを実行中に属性が変化してもよい(たとえば、操作画面を表示中は第1周期および第2周期の少なくとも一方を短くし、操作画面が隠れいている期間中は第1周期および第2周期の少なくとも一方を長くするなど)。
第4の態様は、第3の態様において、変化部は第2周期を維持しつつ第1周期を変化させる(図3(B)⇔図3(C))。
一般に、第1周期の伸長による省電力効果は、第2周期の伸長による省電力効果よりも大きい。他方、第2周期を維持すれば、制御が簡単になる。したがって、第4の態様によれば、簡単な制御で、高い省電力効果が得られる。
第5の態様は、第4の態様において、変化部は第1周期を、発光部および撮影部の少なくとも一方がオフ状態であるオフ期間を変更することにより変化させる。
第5の態様によれば、より簡単な制御で、高い省電力効果が得られる。
第6の態様は、第3の態様において、変化部は第1周期を維持しつつ第2周期を変化させる(図3(B)⇔図4)。
第6の態様によれば、簡単な制御で、省電力効果が得られる。
第7の態様は、第3の態様において、変化部は第1周期および第2周期を共に変化させる(図3(B)⇔図5)。
第7の態様によれば、より高い省電力効果が得られる。
第8の態様は、第6または7の態様において、変化部は、検出部が1つのオン期間につき少なくとも1回は検出を行えるように第2周期を変化させる。
第8の態様によれば、1つのオン期間あたり1回以上検出を行える範囲で第2周期を伸長することで、省電力効果を高めることができる。
第9の態様は、第1ないし8のいずれかの態様において、検出部は発光部および撮影部の少なくとも一方がオフ状態であるオフ期間では検出を停止する。
第9の態様によれば、省電力効果を高めることができる。
第10の態様は、第9の態様において、検出部は1つのオン期間につき複数回検出を行い、複数回の検出結果にフィルタリングを施すことで入力すべき視線を確定する確定部(S17,S19)をさらに備える。
第10の態様によれば、視線検出の精度を高めることができる。
第11の態様は、第10の態様において、確定部は複数回のうち一定回数以上で同一の検出結果が得られた場合に当該検出結果を入力すべき視線として確定する。
第11の態様によれば、簡単にフィルタリングを行うことができる。
第12の態様は、第1ないし11のいずれかの態様において、制御部は発光部および撮影部の両方をオン/オフする(図3(B),図3(C),図4,図5,図9(C))。
第12の態様によれば、高い省電力効果が得られる。
第13の態様は、第12の態様において、制御部は発光部のオンタイミングを撮影部のオンタイミングに対して遅延させる(図8(A),図8(B))。
一般に、撮影部の起動時間は、発光部の安定化時間よりも長いので、発光部のオンタイミングは、撮影部のオンタイミングよりも遅くてよい。
第13の態様によれば、発光部のオン期間がより短縮されるので、省電力効果を高めることができる。
第14の態様は、第13の態様において、遅延の大きさは、撮影部の起動時間と発光部の安定化時間の間の差分に等しいまたは満たない値である。
第14の態様によれば、発光部のオンタイミングの撮影部のオンタイミングに対する遅延を、撮影部の起動時間と発光部の安定化時間の間の差分に近づけることで、省電力効果を極力高めることができる。
第15の態様は、第12の態様において、撮影部のオンタイミングは発光部のオンタイミングよりも遅く、かつ撮影部のオフタイミングは発光部のオフタイミングよりも早い(図9(C))。
第15の態様では、撮影部のオン期間は発光部のオン期間より短いが、発光部のオン期間内に撮影部がオンおよびオフされることで、検出部は検出を行える。
第16の態様は、第1の態様において、制御部は発光部をオン状態に維持しつつ撮影部をオン/オフする(図9(A))。
第16の態様では、撮影部の消費電力を削減できる。
第17の態様は、第1の態様において、制御部は撮影部をオン状態に維持しつつ発光部をオン/オフする(図9(B))。
第17の態様では、発光部の消費電力を削減できる。
第16または17の態様によれば、簡単な制御で、省電力効果が得られる。
第18の態様は、視線入力制御プログラム(54)であって、表示面を有する表示部(30)と、発光部(40)と、撮影部(42)を有し、視線入力を利用するアプリケーションを実行可能な表示装置のCPU(24)を、発光部からの光による使用者の瞳孔の反射光に基づいて表示面上での視線入力の位置を検出する検出部(S9)と、発光部、および、撮影部のオン/オフを制御する制御部(S3〜S7,S11〜S15)として機能させ、検出部はさらに、発光部および撮影部の両方がオン状態であるオン期間において撮影部からの画像に基づき視線検出を行い、制御部は、発光部および撮影部の少なくとも一方を繰り返しオン/オフする制御を実行する(図3(B),図3(C),図4,図5,図9(A)〜図9(C))。
第19の態様は、表示面を有する表示部(30)と、発光部(40)と、撮影部(42)を有し、視線入力を利用するアプリケーションを実行可能な表示装置によって行われる視線入力制御方法であって、発光部からの光による使用者の瞳孔の反射光に基づいて表示面上での視線入力の位置を検出する検出ステップと、発光部、および、撮影部のオン/オフを制御する制御ステップと、を含み、検出ステップはさらに、発光部および撮影部の両方がオン状態であるオン期間において撮影部からの画像に基づき視線検出を行い、制御ステップは、発光部および撮影部の少なくとも一方を繰り返しオン/オフする制御を実行する(図3(B),図3(C),図4,図5,図9(A)〜図9(C))。
第18および19の各態様によっても、第1の態様と同様に、少ない消費電力で視線検出を行うことができる。
この発明によれば、少ない消費電力で視線検出を行うことができる、携帯端末ならびに視線入力制御プログラムおよび方法が実現される。
図1には、携帯端末10のハードウエア構成が示される。図1を参照して、この発明の一実施例である携帯端末10はCPU24を含む。CPU24には、キー入力装置26、タッチパネル32、メインメモリ34、フラッシュメモリ36、赤外線カメラ42および画像処理回路44が接続され、さらに、無線通信回路14を介してアンテナ12が、A/Dコンバータ16を介してマイク18が、D/Aコンバータ20を介してスピーカ22が、ドライバ28を介してディスプレイ30が、そしてLEDドライバ38を介して赤外線LED40が、それぞれ接続される。
アンテナ12は、図示しない基地局からの無線信号を捕捉(受信)し、また、無線通信回路14からの無線信号を放出(送信)する。無線通信回路14は、アンテナ12で受信された無線信号を復調および復号化し、また、CPU24からの信号を符号化および変調する。マイク18は、音波をアナログの音声信号に変換し、A/Dコンバータ16は、マイク18からの音声信号をディジタルの音声データに変換する。D/Aコンバータ20は、CPU24からの音声データをアナログの音声信号に変換し、スピーカ22は、D/Aコンバータ20からの音声信号を音波に変換する。
キー入力装置26は、ユーザ(使用者)によって操作される各種のキー,ボタン(図示せず)などで構成され、操作に応じた信号(コマンド)をCPU24に入力する。ドライバ28は、CPU24からの信号に応じた画像をディスプレイ30に表示する。タッチパネル32は、ディスプレイ30の表示面に設けられ、タッチ点の位置を示す信号をCPU24に入力する。LEDドライバ38は、CPU24からの命令に応じて赤外線LED40をオン(点灯)/オフ(消灯)させる。赤外線カメラ42は、CPU24からの命令に応じてオン(起動)/オフ(終了)する。
ディスプレイ30,赤外線LED40および赤外線カメラ42は、図2に示すように、携帯端末10の一方主面(前面)に設けられ、画像処理回路44は、CPU24の制御下で赤外線カメラ42からの画像を処理して、ディスプレイ30の表示面に向けられたユーザの視線(視線によって示される表示面上のポイント)を検出する。
メインメモリ34は、たとえばSDRAMなどで構成され、CPU24に各種の処理を実行させるためのプログラム,データなど(図6参照)を記憶する共に、CPU24に必要な作業領域を提供する。フラッシュメモリ36は、たとえばNAND型のフラッシュメモリで構成され、プログラムやデータの保存領域として利用される。
CPU24は、メインメモリ34に記憶されたプログラム(52〜56)およびデータに基づいて、他のハードウエア(12〜22,26〜44)を利用しつつ各種の処理を実行する。処理の実行に必要な現在時刻情報やタイミング信号は、RTC(Real Time Clock)24aから供給される。
以上のように構成された携帯端末10では、図示しないメニュー画面を通して、通話を行う通話モード、データ通信を行うデータ通信モード、および情報処理を実行する情報処理モードなどを選択することができる。
通話モードが選択されると、携帯端末10は、通話装置として機能する。詳しくは、キー入力装置26またはタッチパネル32によって発呼操作が行われると、CPU24は、無線通信回路14を制御して発呼信号を出力する。出力された発呼信号は、アンテナ12を介して出力され、図示しない移動通信網を経て相手の電話機に伝達される。相手の電話機は、着信音などによる呼び出しを開始する。着信を受けた相手が電話機に対して着呼操作を行うと、CPU24は通話処理を開始する。一方、相手からの発呼信号がアンテナ12によって捕捉されると、無線通信回路14は着信をCPU24に通知し、CPU24は、スピーカ22からの着信音や図示しないバイブレータの振動などによる呼び出しを開始する。キー入力装置26またはタッチパネル32によって着呼操作が行われると、CPU24は通話処理を開始する。
通話処理は、たとえば、次のように行われる。相手から送られてきた受話音声信号は、アンテナ12によって捕捉され、無線通信回路14によって復調および復号化を施された後、D/Aコンバータ20を経てスピーカ22に与えられる。これにより、スピーカ22から受話音声が出力される。一方、マイク18によって取り込まれた送話音声信号は、A/Dコンバータ16を経て無線通信回路14に送られ、無線通信回路14によって符号化および変調を施された後、アンテナ12を通して相手に送信される。相手の電話機でも、送話音声信号の復調および復号化が行われ、送話音声が出力される。
データ通信モードが選択されると、携帯端末10はデータ通信装置として機能する。詳しくは、CPU24は、ブラウザなどのアプリケーションプログラム56の制御下で、無線通信回路14を介してインターネット上のWebサーバ(図示せず)とデータ通信を行うことでハイパーテキストデータを取得し、これに基づくHTML文書(Web画面)をドライバ28を介してディスプレイ30に表示する。
情報処理モードが選択されると、携帯端末10は情報処理装置として機能する。詳しくは、CPU24は、電子ブックリーダ,シューティングゲーム,表計算ソフト,ワンセグプレイヤといったアプリケーションプログラム56の制御下で、キー入力装置26やタッチパネル32の操作に応じて各種の情報処理を実行し、処理結果に基づく画面をドライバ28を介してディスプレイ30に表示する。
また、ユーザは、上記のような通話モード,データ通信モードまたは情報処理モードが選択された状態で、キー操作等によりメニュー画面を呼び出し、視線入力機能をオンすると、以降、各種の画面でアイコンを選択したりソフトキーを押したりする操作は、赤外線LED40および赤外線カメラ42を利用した視線入力により行うことができるようになる。
詳しくは、視線入力機能がオンされると、LEDドライバ38は赤外線LED40の駆動を開始し、これと同時または略同時に赤外線カメラ42も起動されて、赤外線カメラ42によって撮影された画像(赤外線画像)の画像処理回路44への入力が開始される。画像処理回路44は、CPU24の制御下で、赤外線画像を処理してユーザの視線を検出し、検出結果を所定の周期(たとえば20μ秒周期)でサンプリングして出力する。CPU24は、画像処理回路44から出力されたサンプリング結果に基づいて画面上のアイコン等が選択されたと判断される場合に、その選択されたアイコン等に関連付けられた処理を実行する。
視線検出は、たとえば次のように行われる。図2を参照して、赤外線LED40および赤外線カメラ42は、ディスプレイ30の右上および左下にそれぞれ配置されており、赤外線LED40から照射された赤外光は、ユーザの眼球内の瞳孔で反射され、この反射光が赤外線カメラ42により撮影される。このような赤外線カメラ42による撮影画像から、瞳孔と、眼球に映った赤外線LED40(光点)とが検出され、これら瞳孔および光点の位置関係や形状などから、ユーザの視線(視線とディスプレイ30の表示面との交点の位置)が計算される。なお、具体的な計算方法は、この実施例の本質的な内容ではないため、説明を省略する。
この実施例では、上記のような視線入力を、赤外線LED40および赤外線カメラ42をオン状態に維持(赤外線LED40を連続発光させかつ赤外線カメラ42を常時駆動)しながら行う「通常モード」と、赤外線LED40および赤外線カメラ42を所定の周期でオン/オフしながら行う「省電力モード」とが準備されており、ユーザは、メニュー画面で「視線入力」機能をオンする際に、これら通常モードおよび省電力モードの一方を選択することができる。
なお、他の実施例では、通常モードを省略し、「視線入力」機能がオンされると常に省電力モードで動作するように構成してもよい。
また、赤外線LED40および赤外線カメラ42をオン/オフする周期は、視線検出のサンプリング周期(たとえば20μ秒)と同じか、またはより長い周期(たとえば200μ秒,320μ秒など)であれば、無駄なオン期間がなくて好ましい(図3〜図5:後述)。
そして、省電力モードの下位モードとして、赤外線LED40および赤外線カメラ42を高速に(たとえば200μ秒周期で)オン/オフしながらサンプリングを行う「第1省電力モード」(図3(B))と、赤外線LED40および赤外線カメラ42を低速に(たとえば320μ秒周期で)オン/オフしながらサンプリングを行う「第2省電力モード」(図3(C))とが準備されており、これら第1および第2省電力モードのいずれか1つが、そのとき実行中のアプリケーション(アプリ)の属性に応じて自動的に選択される。
たとえば、高い追従性が求められるアプリ(シューティングゲームなど)を実行中の場合は第1省電力モードが、低い追従性でよいアプリ(電子ブックリーダなど)を実行中の場合は第2省電力モードが、各アプリに記述された属性情報に基づきCPU24によって選択される。なお、他の実施例では、選択すべき省電力モードを示すモード情報(62:図6参照)自体を予めアプリケーションに記述しておいてもよい。
視線入力時、赤外線LED40および赤外線カメラ42は、たとえば図3のような波形に従ってオン/オフされる。図3(A)が通常モード用の、図3(B)が第1省電力モード用の、図3(C)が第2省電力モード用の、駆動波形を示す。まず、図3(A)を参照して、通常モードにおけるサンプリング周期は20μ秒であり、オン期間中にサンプリング動作が5回単位で間欠的に実行される。つまり、波形が立ち上がった後、20μ秒周期で5回サンプリングが行われ、これらのサンプリング結果にフィルタリング(後述)を施すことで、入力すべき視線が確定される。以降、20μ秒周期で5回サンプリングを行って入力すべき視線を確定する一連の動作が、一定の休止期間(たとえば5回サンプリング相当の休止期間)を挟みつつ(つまり間欠的に)、オン期間の終了まで繰り返される。
20μ秒周期で5回サンプリングを行って、入力すべき視線をフィルタリングにより確定する点は、第1および第2の各省電力モードでも同様である。異なるのは、赤外線LED40および赤外線カメラ42が、第1省電力モードでは図3(B)に示すような200μ秒周期の、第2省電力モードでは図3(C)に示すような320μ秒周期の、駆動波形に従ってオン/オフされる点である。
オン/オフ周期に占めるオン期間の長さは、第1および第2の省電力モードで共通であり、20μ秒周期で5回サンプリングを行えるだけの時間長(たとえは120μ秒)を有する。第1および第2の省電力モードの間の相違は、オン/オフ周期に占めるオフ期間の長さであり、一例として、第1省電力モードでは80μ秒、第1省電力モードでは120μ秒である。したがって、オン/オフ周期に占めるオン期間の割合(いわゆるデューティ)は、第1省電力モードでは120/200=0.6、第1省電力モードでは120/320=0.375となる。つまり、赤外線LED40および赤外線カメラ42の消費電力が、第1省電力モードでは通常モードの60%、第2省電力モードでは通常モードの37.5%まで削減され得る(ただしオン/オフに要する電力は除く)。
なお、第2省電力モードでは、図4に変形例として示すように、赤外線LED40および赤外線カメラ42のオン/オフ周期は高速(たとえば200μ秒周期)のままサンプリング周期を長くする(たとえば第1モードでの20μ秒に対し2倍の40μ秒とする)ことも可能であり、これによって、サンプリングに要する消費電力の削減が可能となる。
たとえば、サンプリング周期を40μ秒とした場合、120μ秒のオン期間に3回サンプリングが行われるので、サンプリングに要する消費電力は、第1省電力モードに対して60%となる。サンプリング周期を200μ秒とした場合には、120μ秒のオン期間に1回サンプリングが行われるので、サンプリングに要する消費電力は、第1省電力モードに対して20%となる。
または、第2省電力モードでは、図5に他の変形例として示すように、赤外線LED40および赤外線カメラ42のオン/オフ周期およびサンプリング周波数を共に長くする(たとえば、オン/オフ周期を第1省電力モードでの200μ秒周期に対し1.6倍の320μ秒周期とし、サンプリング周期を第1省電力モードでの20μ秒周期に対し2倍の40μ秒周期とする)ことも可能である。これによって、赤外線LED40および赤外線カメラ42の消費電力およびサンプリングに要する消費電力の削減が可能である。
なお、この実施例では、図3(B)および図3(C)に示すように、第1および第2の省電力モードの間で、オン/オフ周期に含まれるオン期間を一定(=120μ秒)に保ち、オフ期間を変更(伸縮)することで、オン/オフ周期を変化させている(この点は図4,図5の変形例でも同様)が、オン期間も変更(伸縮)されてよい。
上述のような第1および第2の各省電力モードでの視線入力は、たとえば、メインメモリ34に記憶された図6に示す各種のプログラム(52〜56)およびデータ(62〜68)に基づいて、CPU24が図7に示すフローに従う省電力モード用視線入力制御処理を実行することにより実現される。
詳しくは、まず図6を参照して、メインメモリ34はプログラム領域50およびデータ領域60を含み、プログラム領域50には視線検出プログラム52,視線入力制御プログラム54およびアプリケーションプログラム56などが、データ領域60にはモード情報62,通常モード用制御情報64,第1省電力モード用制御情報66および第2省電力モード用制御情報68などが、それぞれ記憶される。なお、図示は省略するが、プログラム領域50には、キー入力装置26やタッチパネル32からの入力を制御したり、ドライバ28を介してディスプレイ30への出力を制御するための入出力制御プログラムなども記憶される。
視線検出プログラム52は、赤外線カメラ42で撮影された画像を画像処理回路44で処理して視線検出を行い、検出結果を視線入力制御プログラム54の命令に基づきサンプリングして出力するためのプログラムである。
視線入力制御プログラム54は、モード情報62に応じた態様で赤外線LED40および赤外線カメラ42をオン/オフして消費電力を制御しつつ、画像処理回路44からのサンプリング結果に基づいて入力すべき視線を確定するためのプログラムであり、省電力モード用プログラム54aを含む。省電力モード用プログラム54aは、CPU24にデータ領域60の第1省電力モード用制御情報66または第2省電力モード用制御情報68を参照しつつ図7のフローに従う処理を実行させる。
なお、視線検出プログラム52または視線入力制御プログラム54は、携帯端末10が視線入力を受け付ける状態にある場合に、その旨をディスプレイ30のピクト領域(メール通知アイコンなどが表示される領域:図示せず)に表示する制御を行ってもよい。
アプリケーションプログラム56は、携帯端末10を先述したようなデータ通信装置や各種の情報処理装置(電子ブックリーダ,ゲーム機など)として動作させるためのプログラムであり、そのアプリケーションの属性(後述)を示す属性情報(または属性を判別可能な情報)が記述されている。
モード情報62は、視線入力に関し現時点で選択されているモードを示す情報である。モード情報62は、タッチパネル32等を介したユーザ操作に基づいて、またはアプリケーションプログラム56に設定された属性情報に基づいて、通常モード,第1省電力モードおよび第2省電力モードのいずれか1つが、視線入力制御プログラム54によって書き込まれる(更新される)。たとえば、ゲームアプリであれば高速応答が求められるので第1省電力モードが、文書管理アプリであれば特に高速応答は必要ないので第2省電力モードが書き込まれる。なお、他の実施例では、モード情報62自体を予めアプリケーションプログラム56に記述しておき、これをデータ領域60に転記してもよい。
通常モード用制御情報64は、図3(A)に示すような、通常モードでの視線入力を実現するための制御情報であり、サンプリング周期(ここでは20μ秒)が記述される。
第1省電力モード用制御情報66は、図3(B)に示すような、第1省電力モードでの視線入力を実現するための制御情報であり、サンプリング周期(ここでは20μ秒)、サンプリング回数(ここでは5回)、オン/オフ周期(ここでは200μ秒:オン期間120μ秒+オフ期間80μ秒)、および確定条件(ここでは「5回中3回以上で同一ポイントを検出」)が記述される。
第2省電力モード用制御情報66は、図3(C)に示すような、第2省電力モードでの視線入力を実現するための制御情報であり、サンプリング周期(ここでは20μ秒)、サンプリング回数(ここでは5回)、オン/オフ周期(ここでは320μ秒:オン期間120μ秒+オフ期間200μ秒)、および確定条件(ここでは「5回中3回以上で同一ポイントを検出」)が記述される。
第1省電力モードまたは第2省電力モードでは、CPU24は、省電力モード用プログラム54aに基づいて、第1省電力モード用制御情報66または第2省電力モード用制御情報68を参照しつつ、図7のフローに従う処理を実行する。詳しくは、最初、ステップS1で、モード情報62を参照して、第1および第2省電力モード用制御情報66および68から1つを選択する。次に、ステップS3で、第1または第2省電力モード用制御情報66または68に記述されたオン/オフ周期とRTC24aからの現在時刻情報とに基づいて、オンタイミングが到来したか否かを判別し、NOであれば所定の待機時間を経て同様の判別を繰り返す。
ステップS3でYESであれば、ステップS5で赤外線カメラ42をオン(起動命令を発行)し、さらにステップS7で赤外線LED40をオン(LEDドライバ38を介して赤外線LED40に電圧を印加)する。なお、これらステップS5およびS7は、この実施例では略同時に実行される(実行順序が逆でもよい)。ただし、図8(B)に示すように、赤外線カメラ42の起動時間(たとえば15μ秒)と赤外線LED40の安定化時間(たとえば5μ秒)との差分(たとえば10μ秒)を上限として、赤外線LED40のオンタイミングを遅らせることで、一層の省電力化を図ることも可能である(詳細は後述)。
次に、ステップS9で、画像処理回路44に対し、第1または第2省電力モード用制御情報66または68に記述されたサンプリング周期およびサンプリング回数に基づくサンプリング実行命令を発行する。なお、ステップS9は、図8(A)に示すように、赤外線カメラ42の起動時間(たとえば15μ秒)および赤外線LED40の安定化時間(たとえば5μ秒)を考慮して、ステップS5およびS7から一定時間(たとえば20μ秒)後に実行される(詳細は後述)。
そして、ステップS11で、第1または第2省電力モード用制御情報66または68に記述されたオン/オフ周期とRTC24aからの現在時刻情報とに基づいて、オフタイミングが到来したか否かを判別し、NOであれば所定の待機時間を経て同様の判別を繰り返す。
ステップS11でYESであれば、ステップS13で赤外線カメラ42をオフ(終了コマンドを発行)し、さらにステップ15で赤外線LED40をオフ(電圧の印加を停止)する。これらステップS13およびS154は、略同時に実行される(実行順序が逆でもよい)。
サンプリング命令を受けた画像処理回路44は、図3(B)または図3(C)に示されるように、120μ秒のオン期間に周期20μ秒で5回サンプリングを行い、そのサンプリング結果をCPU24に返す。
サンプリング結果を受け取ったCPU24は、これにフィルタリングを施すことで視線を確定する。具体的には、ステップS17で、画像処理回路44からのサンプリング結果が確定条件を満足するか否か(5回中3回以上で同一ポイントを検出したか否か)を判別し、ここでNOであれば、ステップ3に戻って上記と同様の処理を繰り返す。ステップ17でYESであれば、CPU24は、そのサンプリング結果に基づく値(たとえば、5回中3回以上で同一ポイントを検出した場合の、その同一ポイント)を、視線入力による入力値として確定する。その後、ステップ3に戻って上記と同様の処理を繰り返す。
こうして、携帯端末10において、図3(B)または図3(C)に示すような、第1または第2省電力モードでの視線入力が実現される。
また、通常モードでは、CPU24は、通常モード用制御情報64を参照しつつ、次のような処理を実行する。最初、赤外線カメラ42をオンし、さらに赤外線LED40をオンする。これらのオン処理は、略同時に実行される(実行順序が逆でもよい)。赤外線LED40および赤外線カメラ42は、通常モードが解除されるまでオン状態に維持される。
次に、画像処理回路44に対し、通常モード用制御情報64に記述されたサンプリング周期に基づくサンプリング実行命令を発行する。サンプリング命令を受けた画像処理回路44は、周期20μ秒のサンプリング処理を開始し、CPU24は、画像処理回路44からのサンプリング結果にフィルタリングを施して視線を確定する処理を開始する。サンプリング処理および視線確定処理は、通常モードが解除されるまで、連続的にまたは間欠的に実行される。
こうして、携帯端末10において、図3(A)に示すような、通常モードでの視線入力が実現される。
なお、この実施例では、通常モードに加えて、第1および第2の2種類の省電力モードについて説明したが、通常モードは省略されてもよいし、省電力モードはいずれか1種類でも3種類以上でもよい。より細かい省電力制御を行う場合、たとえば、オン/オフ周期が第1および第2の省電力モードの場合の中間値つまり260μ秒(オン期間120μ秒+オフ期間140μ秒)である第3の省電力モードが設定されることが考えられる。
ここで、赤外線LED40の安定化時間および赤外線カメラ42の起動時間と、これらを考慮したオン/オフ制御およびサンプリング開始タイミングについて、詳しく説明する。
赤外線LED40の駆動波形に対する発光波形、および赤外線カメラ42の駆動波形に対する動作波形は、たとえば図8(A)に示されるように遅延する。このような、赤外線LED40の駆動波形に対する発光波形の遅延時間を「安定化時間」と呼び、赤外線カメラ42の駆動波形に対する動作波形の遅延時間を「起動時間」と呼ぶ(両者を「起動時間デューティ」のように総称する場合もある)。
たとえば、赤外線LED40の安定化時間が5μ秒、赤外線カメラ42の起動時間が15μ秒であれば、これらより大きい20μ秒(>15μ秒>5μ秒)のマージンが、図3(B)または図3(C)に示すオン期間の立ち上がりに付加されている。したがって、ステップS9の実行タイミングは、ステップS5およびS7の実行タイミングに対してマージン分つまり20μ秒だけ遅延する。
一方、ステップS5およびS7の実行タイミングは、赤外線LED40の安定化時間が赤外線カメラ42の起動時間より短いため、略同時で問題なくサンプリングを行うことができる。より好ましくは、より一層の省電力を実現するために、図8(B)に示すように、赤外線カメラ42の起動時間と赤外線LED40の安定化時間との差分(10μ秒)を上限として、赤外線LED40のオンタイミングを遅らせることも可能である。赤外線LED40のオンタイミングを10μ秒遅らせると、赤外線LED40の発光が安定化するタイミングと赤外線カメラ42の起動が完了するタイミングとが一致するが、サンプリング開始タイミングはその5μ秒後なので、問題なくサンプリングを行うことができる。
なお、第1,第2省電力モードでは、赤外線LED40および赤外線カメラ42は、同一の波形に従ってオン/オフしたが、他の省電力モードでは、たとえば図9に示すように、互いに異なる波形に従いオン/オフしてもよい。まず、図9(A)の例では、赤外線LED40はオン状態に維持され(常時発光し)、赤外線カメラ42だけがオン/オフ(間欠動作)する。この場合、赤外線カメラ42のデューティが低下する分だけ消費電力を削減できる。次に、図9(B)の例では、赤外線カメラ42はオン状態に維持され(常時動作し)、赤外線LED40だけがオン/オフ(間欠発光)する。この場合、赤外線LED40のデューティが低下する分だけ消費電力を削減できる。そして、図9(C)の例では、赤外線カメラ42および赤外線LED40はいずれもオン/オフ(間欠発光および間欠動作)するが、赤外線カメラ42のオン期間の方が赤外線LED40のオン期間よりも短く、赤外線LED40のオン期間内に赤外線カメラ42がオンおよびオフする。この場合、赤外線LED40および赤外線カメラ42のデューティが低下する分だけ消費電力を削減できる。
以上から明らかなように、この実施例の携帯端末10は、表示面を有するディスプレイ30,赤外線LED40および赤外線カメラ42(さらに画像処理回路44および視線検出プログラム52)を有し、視線入力を利用するアプリケーション(たとえば電子ブックリーダ,シューティングゲーム,表計算ソフト,ブラウザ,ワンセグプレイヤなど)を実行可能である。そして、携帯端末10のCPU24は、赤外線LED40からの赤外線によるユーザの瞳孔の反射光に基づいて表示面上での視線入力の位置を検出し(S9)、赤外線LED40および赤外線カメラ42のオン/オフを制御する(S3〜S7,S11〜S15)。CPU24はさらに、赤外線LED40および赤外線カメラ42の両方がオン状態のとき赤外線カメラ42からの画像に基づき視線検出を行い、赤外線LED40および赤外線カメラ42の少なくとも一方を繰り返しオン/オフする制御を実行する。
つまり、CPU24は、赤外線LED40および赤外線カメラ42の少なくとも一方を繰り返しオン/オフしつつ(S3〜S7,S11〜S15)、赤外LED40および赤外線カメラ42の両方がオン状態であるオン期間中に、赤外線カメラ42からの画像に基づき画像処理回路44を介して視線検出を行う(S9)。
この実施例によれば、赤外線LED40および赤外線カメラ42の少なくとも一方を繰り返しオン/オフする(間欠的にオンする)ことで消費電力を削減しながら、両方がオン状態であるときに視線検出を行うので、少ない消費電力で視線検出を行うことができる。
特に、CPU24は、赤外線LED40および赤外線カメラ42の少なくとも一方を第1周期でオン/オフしつつ、赤外線LED40および赤外線カメラ42の両方がオン状態であるオン期間中に、赤外線カメラ42からの画像に基づき第1周期と同じ、または、より短い第2周期で視線検出を行う(図3(B),図3(C),図4,図5,図9(A)〜図9(C))。したがって、1つのオン期間に少なくとも1回視線検出が行われる結果となり、無駄なオン期間がないので、効率よく視線検出を行える。
また、CPU24は、第1周期および第2周期の少なくとも一方を、視線入力を利用するアプリケーションの属性に基づいて変化させる(S1,66,68:図3(B)⇔図3(C),図3(B)⇔図4,図3(B)⇔図5)。これにより、アプリケーションの属性に適した省電力化が可能となる。
なお属性は、視線入力の追従性(応答性,時間分解能という場合もある)であり、たとえば、シューティングゲームのような、高い追従性が求められるアプリケーションでは、第1周期および第2周期の少なくとも一方を短くし、電子ブックリーダのような、あまり高い追従性は求められないアプリケーションでは、第1周期および第2周期の少なくとも一方を長くすることで、個々のアプリケーションが要求する追従性を損なわない範囲で、省電力化を図ることができる。
または、属性は、空間分解能でもよく、たとえば、表計算ソフトのような、高い空間分解能が求められる(細かいマス目を区別する必要がある)アプリケーションでは、第1周期および第2周期の少なくとも一方を短くし、電子ブックリーダのような、あまり高い空間分解能は求められない(たとえば頁めくりボタンの選択を検知できる程度でよい)アプリケーションでは、第1周期および第2周期の少なくとも一方を長くすることが有効である。
あるいは、属性は、操作頻度でもよく、たとえば、シューティングゲームやブラウザのような、アプリケーションの実行中に頻繁に入力操作が行われるアプリケーションでは、第1周期および第2周期の少なくとも一方を短くし、電子ブックリーダやワンセグプレイヤのような、あまり頻繁な操作は行われないアプリケーションでは、第1周期および第2周期の少なくとも一方を長くすることが有効である。
さらには、アプリケーションを実行中に属性が変化してもよい(たとえばワンセグプレイヤで、操作画面を表示中は第1周期および第2周期の少なくとも一方を短くし、テレビ画面を表示中(操作画面が隠れいている期間中)は第1周期および第2周期の少なくとも一方を長くするなど)。
以上では、携帯端末10について説明したが、この発明は、表示面を有する表示部(ディスプレイなど)、発光部(赤外線や可視光線を発するLEDなど)および撮像部(赤外線や可視光線で撮像を行うカメラなど)を有し、視線入力を利用するアプリケーションを実行可能な各種の端末に適用できるが、特に、消費電力の制約が大きい携帯型の端末(スマートフォン,タブレットPC,携帯電話端末,携帯情報端末など)に好適である。