(電子機器の構成)
図1に示すように一実施形態の電子機器1は、タッチスクリーンディスプレイ2と、操作部3と、照度センサ4と、近接センサ5と、通信ユニット6と、レシーバ7と、マイク8と、ストレージ9と、コントローラ10と、スピーカ11と、カメラ12および13と、コネクタ14と、加速度センサ15と、方位センサ16と、ジャイロスコープ17と、測距センサ18と、を備える。図1は例示である。電子機器1は、図1に示す構成要素の全てを備えなくてもよい。電子機器1は、図1に示す以外の構成要素を備えていてもよい。
タッチスクリーンディスプレイ2は、ディスプレイ2Aと、タッチスクリーン2Bとを有する。ディスプレイ2Aおよびタッチスクリーン2Bは、例えば、重なって位置してよいし、並んで位置してもよいし、離れて位置してもよい。ディスプレイ2Aとタッチスクリーン2Bとが重なって位置する場合、例えば、ディスプレイ2Aの1ないし複数の辺は、タッチスクリーン2Bのいずれの辺とも沿っていなくてもよい。
ディスプレイ2Aは、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機ELディスプレイ(OELD:Organic Electro−Luminescence Display)、または無機ELディスプレイ(IELD:Inorganic Electro−Luminescence Display)等の表示デバイスを備える。ディスプレイ2Aは、文字、画像、記号、および図形等のオブジェクトを画面内に表示する。ディスプレイ2Aが表示する文字、画像、記号、および図形等のオブジェクトを含む画面は、ロック画面と呼ばれる画面、ホーム画面と呼ばれる画面、アプリケーションの実行中に表示されるアプリケーション画面を含む。ロック画面は、電子機器1において、少なくとも一部の機能の使用が制限されている場合に表示される画面である。すなわち、電子機器1は、一部の機能の使用が制限された状態と、機能の使用が制限されていない状態とを取ることができる。ホーム画面は、デスクトップ、待受画面、アイドル画面、標準画面、アプリ一覧画面またはランチャー画面と呼ばれることもある。ディスプレイ2Aは、表示部の一例である。
タッチスクリーン2Bは、タッチスクリーン2Bに対する指、ペン、またはスタイラスペン等の接触等を検出する。タッチスクリーン2Bは、複数の指、ペン、またはスタイラスペン等がタッチスクリーン2Bに接触等した位置を検出することができる。タッチスクリーン2Bは、タッチスクリーン2Bに対する指の接触等を、接触等を検出した位置とともにコントローラ10に通知する。タッチスクリーン2Bは、検出位置の通知をもって接触等の検出をコントローラ10に通知してよい。タッチスクリーン2Bを有するタッチスクリーンディスプレイ2は、タッチスクリーン2Bが行える動作を実行できる。言い換えると、タッチスクリーン2Bが行う動作は、タッチスクリーンディスプレイ2が行ってもよい。
コントローラ10は、タッチスクリーン2Bにより検出された接触等、接触等が検出された位置、接触等が継続した時間、接触が検出された間隔、および接触等が検出された回数の少なくとも1つに基づいて入力操作の種別を判別する。コントローラ10を有する電子機器1は、コントローラ10が行える動作を実行できる。言い換えると、コントローラ10が行う動作は、電子機器1が行ってもよい。入力操作は、タッチスクリーン2Bに対して行われる操作である。コントローラ10によって判別される入力操作は、例えば、タッチ、ロングタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、フリック、ピンチイン、およびピンチアウトを含むがこれらに限定されない。
タッチスクリーン2Bの検出方式は、静電容量方式、抵抗膜方式、表面弾性波方式(または超音波方式)、赤外線方式、電磁誘導方式、および荷重検出方式等の任意の方式でよい。
操作部3は、ユーザによって操作される操作ボタンである。操作部3は、電子機器1のハウジングに、ユーザによって押下可能に配置される。操作部3は、複数配置されていてもよい。コントローラ10は操作部3と協働することによって操作部3に対する操作を検出する。操作部3に対する操作は、例えば、クリック、ダブルクリック、トリプルクリック、およびプッシュを含むが、これらに限定されない。
照度センサ4は、電子機器1の周囲光の照度を検出する。照度は、照度センサ4の測定面の単位面積に入射する光束の値である。照度センサ4は、例えば、ディスプレイ2Aの輝度の調整に用いられる。
近接センサ5は、電子機器1の周囲の対象物(検出対象の物質)との相対距離および対象物の移動方向等を非接触で検出する。本実施形態において、近接センサ5は1つの光源用赤外LED(Light Emitting Diode)と、4つの赤外フォトダイオードとを有する。近接センサ5は、光源用赤外LEDから赤外光を対象物に向けて照射する。近接センサ5は、対象物からの反射光を赤外フォトダイオードの入射光とする。そして、近接センサ5は赤外フォトダイオードの出力電流に基づいて対象物との相対距離を測定することができる。また、近接センサ5は、対象物からの反射光がそれぞれの赤外フォトダイオードに入射する時間差により対象物の移動方向を検出する。したがって、近接センサ5は、電子機器1のユーザが電子機器1に触れずに行うエアジェスチャ(以下単に「ジェスチャ」ともいう)を用いた操作を検出することができる。近接センサ5は可視光フォトダイオードを有していてもよい。本実施形態では、近接センサ5は、電子機器1において、タッチスクリーンディスプレイ2が配置された面と同じ面に配置されてよい。
ここで、図2および図3を参照しながら、コントローラ10が近接センサ5の出力に基づいてユーザのジェスチャを検出する方法を説明する。図2は、電子機器1を正面から見たときの近接センサ5の構成例を示す図である。近接センサ5は、光源用赤外LED180と、4つの赤外フォトダイオードSU,SR,SDおよびSLと、を有する。4つの赤外フォトダイオードSU,SR,SDおよびSLは、レンズ181を介して検出対象物からの反射光を検出する。4つの赤外フォトダイオードSU,SR,SDおよびSLは、レンズ181の中心から見て対称的に配置されている。ここで、図2に示される仮想線L1は電子機器1の長手方向と略平行であるとする。図2の仮想線L1上に、赤外フォトダイオードSUと赤外フォトダイオードSDとが離れて配置されている。そして、図2の仮想線L1の方向において、赤外フォトダイオードSRおよびSLは、赤外フォトダイオードSUと赤外フォトダイオードSDとの間に配置されている。
図3は、4つの赤外フォトダイオードSU,SR,SDおよびSLの検出対象物(例えばユーザの手等)が、図2の仮想線L1の方向に沿って移動したときの検出値の推移を例示する。ここで、仮想線L1の方向において、赤外フォトダイオードSUと赤外フォトダイオードSDとが最も離れている。そのため、図3に示すように、赤外フォトダイオードSUの検出値(破線)の変化(例えば上昇)と、赤外フォトダイオードSDの検出値(細い実線)の同じ変化(例えば上昇)との時間差が最も大きい。コントローラ10は、フォトダイオードSU,SR,SDおよびSLの検出値の所定の変化の時間差を把握することによって、検出対象物の移動方向を判定できる。
コントローラ10は、近接センサ5からフォトダイオードSU,SR,SDおよびSLの検出値を取得する。そして、コントローラ10は、例えば検出対象物の仮想線L1の方向への移動を把握するために、フォトダイオードSDの検出値からフォトダイオードSUの検出値を減算した値を所定の時間で積分してもよい。図3の例では、領域R41およびR42において積分値は非ゼロの値となる。この積分値の変化(例えば正値、ゼロ、負値の変化)から、コントローラ10は、仮想線L1の方向における検出対象物の移動を把握できる。
また、コントローラ10は、フォトダイオードSLの検出値からフォトダイオードSRの検出値を減算した値を所定の時間で積分してもよい。この積分値の変化(例えば正値、ゼロ、負値の変化)から、コントローラ10は、仮想線L1に直交する方向(電子機器1の短手方向に略平行な方向)における検出対象物の移動を把握できる。
代替例として、コントローラ10はフォトダイオードSU,SR,SDおよびSLの全ての検出値を用いて演算を行ってもよい。すなわち、コントローラ10は検出対象物の移動方向を、電子機器1の長手方向および短手方向の成分に分離して演算することなく把握してもよい。
検出されるジェスチャは例えば、左右のジェスチャ、上下のジェスチャ、斜めのジェスチャ、時計回りで円を描くジェスチャ、および反時計回りで円を描くジェスチャ等である。例えば左右へのジェスチャとは、電子機器1の短手方向と略平行な方向に行われるジェスチャである。上下のジェスチャとは、電子機器1の長手方向と略平行な方向に行われるジェスチャである。斜めのジェスチャとは、電子機器1と略平行な平面において、電子機器1の長手方向と短手方向とのいずれとも平行でない方向に行われるジェスチャである。
なお、ここでは近接センサ5が、4つのフォトダイオードSU,SR,SDおよびSLを有する場合について説明した。しかしながら、近接センサ5が有するフォトダイオードの数は、必ずしも4つでなくてもよい。近接センサ5が有するフォトダイオードの数量及びその配置は、検出するジェスチャの種類に応じて、適宜定められてよい。
再び図1を参照すると、通信ユニット6は、無線により通信する。通信ユニット6によってサポートされる通信方式は、無線通信規格である。無線通信規格として、例えば、2G、3G、4G等のセルラーフォンの通信規格がある。セルラーフォンの通信規格として、例えば、LTE(Long Term Evolution)、W−CDMA(Wideband Code Division Multiple Access)、CDMA2000、PDC(Personal Digital Cellular)、GSM(登録商標)(Global System for Mobile Communications)、PHS(Personal Handy−phone System)等がある。無線通信規格として、さらに、例えば、WiMAX(Worldwide Interoperability for Microwave Access)、IEEE802.11、Bluetooth(登録商標)、IrDA(Infrared Data Association)、NFC(Near Field Communication)等がある。通信ユニット6は、上述した通信規格の1つまたは複数をサポートしていてもよい。
レシーバ7およびスピーカ11は、音出力部である。レシーバ7およびスピーカ11は、コントローラ10から送信される音信号を音として出力する。レシーバ7は、例えば、通話時に相手の声を出力するために用いられる。スピーカ11は、例えば、着信音および音楽を出力するために用いられる。レシーバ7およびスピーカ11の一方が、他方の機能を兼ねてもよい。マイク8は、音入力部である。マイク8は、ユーザの音声等を音信号へ変換してコントローラ10へ送信する。
ストレージ9は、プログラムおよびデータを記憶する。ストレージ9は、コントローラ10の処理結果を一時的に記憶する作業領域としても利用される。ストレージ9は、半導体記憶媒体、および磁気記憶媒体等の任意の非一過的(non−transitory)な記憶媒体を含んでよい。ストレージ9は、複数の種類の記憶媒体を含んでよい。ストレージ9は、メモリカード、光ディスク、または光磁気ディスク等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。ストレージ9は、RAM(Random Access Memory)等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
ストレージ9に記憶されるプログラムには、フォアグランドまたはバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとが含まれる。アプリケーションは、例えば、ディスプレイ2Aに画面を表示させ、タッチスクリーン2Bを介して検出される入力操作に応じた処理をコントローラ10に実行させる。制御プログラムは、例えば、OS(Operating System)を含む。アプリケーションおよび制御プログラムは、通信ユニット6による無線通信または非一過的な記憶媒体を介してストレージ9にインストールされてもよい。
ストレージ9は、例えば、制御プログラム9Aおよび設定データ9Zを記憶する。設定データ9Zは、電子機器1の動作に関する各種の設定に関する情報を含む。
制御プログラム9Aは、電子機器1を稼働させるための各種制御に関する機能を提供する。制御プログラム9Aは、例えば、通信ユニット6、レシーバ7、およびマイク8等を制御することによって、通話を実現させる。制御プログラム9Aが提供する機能には、タッチスクリーン2Bを介して検出された入力操作に応じて、ディスプレイ2Aに表示されている情報を変更する等の各種制御を行う機能が含まれる。また、制御プログラム9Aは、ユーザが非接触で行うジェスチャを検出し、検出したジェスチャに基づく各種制御に関する機能を提供する。ジェスチャの検出は、近接センサ5からの出力および/または測距センサ18からの出力に基づいて実行される。制御プログラム9Aが提供する機能は、他のプログラムが提供する機能と組み合わせて利用されることがある。
コントローラ10は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System−on−a−chip)、MCU(Micro Control Unit)、FPGA(Field−Programmable Gate Array)、およびコプロセッサを含むが、これらに限定されない。コントローラ10は、複数の演算処理装置を含んでもよい。コントローラ10は、電子機器1の動作を統括的に制御して各種の機能を実現する。
具体的には、コントローラ10は、ストレージ9に記憶されているデータを必要に応じて参照しつつ、ストレージ9に記憶されているプログラムに含まれる命令を実行する。そして、コントローラ10は、データおよび命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、ディスプレイ2A、通信ユニット6、レシーバ7、およびスピーカ11を含むが、これらに限定されない。コントローラ10は、検出部の検出結果に応じて、制御を変更することがある。検出部は、例えば、タッチスクリーン2B、操作部3、照度センサ4、近接センサ5、マイク8、カメラ12、カメラ13、加速度センサ15、方位センサ16、ジャイロスコープ17、および測距センサ18を含むが、これらに限定されない。
カメラ12およびカメラ13は撮影した画像を電気信号に変換する。カメラ12は、ディスプレイ2Aに面している物体を撮影するインカメラである。カメラ13は、ディスプレイ2Aの反対側の面に面している物体を撮像するアウトカメラである。カメラ12およびカメラ13は、インカメラおよびアウトカメラを切り換えて利用可能なカメラユニットとして、機能的および物理的に統合された状態で電子機器1に実装されてもよい。
コネクタ14は、他の装置が接続される端子である。コネクタ14は、USB(Universal Serial Bus)、HDMI(登録商標)(High−Definition Multimedia Interface)、ライトピーク(サンダーボルト(登録商標))、イヤホンマイクコネクタのような汎用的な端子であってもよい。コネクタ14は、Dockコネクタのような専用の端子でもよい。コネクタ14に接続される装置は、例えば、外部ストレージ、スピーカ、および通信装置を含むが、これらに限定されない。
加速度センサ15は、電子機器1に作用する加速度の方向および大きさ、電子機器1の傾きの角度、重力加速度の大きさおよび方向を検出する。方位センサ16は、地磁気の向きを検出する。ジャイロスコープ17は、電子機器1の角度および角速度を検出する。加速度センサ15、方位センサ16、およびジャイロスコープ17の検出結果は、電子機器1の位置、姿勢、および状態の変化を検出するために、組み合わせて利用される。
測距センサ18は、対象物との距離を測定可能なセンサである。測距センサ18は、例えばToF(Time of Flight)センサにより構成されていてよい。ToFセンサとして構成される測距センサ18は、正弦波変調光(赤外レーザ光)を対象物に向けて照射する発光部と、照射された赤外レーザ光の対象物からの反射光を受光する受光部とを備える。受光部は、例えば複数の受光素子を配置したイメージセンサを有する。ToFセンサは、赤外レーザ光を照射してから、各受光素子で反射光を受光するまでの時間(飛行時間)を測定する。ToFセンサは、照射した赤外レーザ光と、受光した反射光との位相差に基づき、飛行時間を測定できる。ToFセンサは、測定した飛行時間に基づき、照射した赤外レーザ光を反射した対象物までの距離を測定できる。ToFセンサは、対象物からの反射光が複数の受光素子それぞれに入射する時間差により対象物の移動方向を検出することができる。これにより、ToFセンサも、近接センサ5で説明した原理と同様の原理で、ユーザが行うジェスチャを検出することができる。本実施形態では、測距センサ18は、電子機器1において、近接センサ5が配置された面と同じ面に配置されてよい。本実施形態では、測距センサ18は、ToFセンサにより構成されるとして、以下説明する。
ここで、図4から図6を参照しながら、コントローラ10が測距センサ18の出力に基づいてユーザのジェスチャを検出する方法を説明する。図4は、測距センサ18を模式的に示す図である。図4は、側面視における測距センサ18を示している。測距センサ18は、発光部18aと受光部18bとを備える。発光部18a及び受光部18bは、電子機器1の長手方向と略平行に配置されているとする。発光部18aは、赤外レーザ光を対象物に向けて照射する。受光部18bは、照射された赤外光の対象物からの反射光を受光する。
受光部18bは、複数の受光素子を備えていてよい。例えば、受光部18bは、図5に示すように、3行×3列に配置された9つの受光素子を備えていてよい。9つの受光素子は、それぞれ対象物からの反射光を受光する。受光部18bにおいて、上段には、電子機器1の短手方向と略平行に、左から順にCh11、Ch12及びCh13の3つの受光素子が配置されている。受光部18bにおいて、中段には、電子機器1の短手方向と略平行に、左から順にCh21、Ch22及びCh23の3つの受光素子が配置されている。受光部18bにおいて、下段には、電子機器1の短手方向と略平行に、左から順にCh31、Ch32及びCh33の3つの受光素子が配置されている。
測距センサ18は、発光部18aが照射した赤外レーザ光と、受光部18bの9つの受光素子がそれぞれ受光した反射光との位相差に基づき、9つの受光素子それぞれから対象物までの距離を測定できる。測距センサ18は、9つの受光素子それぞれから対象物までの距離と、時間経過に伴う距離の変化に基づいて、ジェスチャを検出することができる。
例えば、ユーザが手を左から右に動かすジェスチャを行ったとする。このとき、例えば中段の受光素子Ch21、Ch22及びCh23により検出される、対象物までの距離をそれぞれD21、D22及びD23とする。図6は、各受光素子により検出される対象物までの距離の推移を模式的に示す図である。例えば図6に模式的に示すように、まず、対象物である手が最初に左側に配置された受光素子Ch21に近づくため、受光素子Ch21により検出される対象物の距離D21が近くなる。その後、対象物である手が中央に配置された受光素子Ch22に近づくと、受光素子Ch22により検出される対象物の距離D22が近くなる。最後に、対象物である手が右側に移動すると、右側に配置された受光素子Ch23により検出される対象物の距離D23が近くなる。各受光素子Ch21、Ch22及びCh23に近づいた手が遠ざかる順序も、Ch21、Ch22、Ch23の順である。そのため、距離D21、D22及びD23は、この順序で大きくなる(初期値に戻る)。上下方向のジェスチャも、同様の原理により、例えば長手方向に配置された受光素子Ch12、Ch22及びCh32を用いて検出することができる。このように、測距センサ18は、9つの受光素子それぞれから対象物までの距離と、時間経過に伴う距離の変化に基づいて、ジェスチャを検出することができる。
なお、ここでは、受光部18bが9つの受光素子を備えるとして説明したが、受光部18bが備える受光素子の数量はこれに限られない。複数の受光素子の配置も図5に示す配置に限られない。受光部18bが備える受光素子の数量及びその配置は、検出するジェスチャの種類に応じて、適宜定められてよい。
また、測距センサ18の発光部18aは、複数の発光素子を備えていてもよい。この場合、各発光素子から発光される赤外レーザ光と、受光部18bが受光する反射光との位相差に基づき、9つの発光素子それぞれから対象物までの距離を測定できる。この場合においても、測距センサ18は、9つの発光素子それぞれから対象物までの距離と、時間経過に伴う距離の変化に基づいて、上述の原理を応用することにより、ジェスチャを検出することができる。
(従来の近接センサによるジェスチャの検出)
例えば特許文献1に開示された電子機器は、赤外線センサ等の近接センサによりジェスチャを検出する。赤外線センサは、赤外線照射口から赤外光を照射し、照射した赤外光の対象物からの反射光の光量を測定することにより、ジェスチャを検出する。ここで、ユーザは、例えば電子機器において、タッチスクリーンディスプレイが配置される前面側に、タッチスクリーンディスプレイを保護するための保護シートを貼付することがある。赤外線センサの赤外線照射口が、電子機器においてタッチスクリーンディスプレイと同じ前面側に配置されている場合、保護シートを電子機器に貼付すると、赤外線照射口も保護シートで覆われる。この場合、赤外線センサは保護シートからの反射光を受光する場合がある。
図7は、従来の電子機器における近接センサによる検出の様子を模式的に示す図である。図7は、例えば特許文献1に開示された電子機器等の従来の電子機器101において、近接センサ105を含む断面を模式的に示すものである。図7に一例として示すように、電子機器101が備える近接センサ105の前面側に強化ガラス123が配置されている。強化ガラス123には、接着層122を介して保護シート121が貼付されている。近接センサ105と強化ガラス123との間には、エアギャップAG1が存在する。近接センサ105から照射される赤外光L1は、検出対象物に到達する前に、保護シート121、接着層122及び強化ガラス123の表面で、その一部が反射し、反射光L2として近接センサ105により受光される。このように、保護シート121、接着層122及び強化ガラス123は、近接センサ105から照射される赤外光L1の透過率に影響を与える。
図8は、従来の電子機器101における近接センサ105の出力と検出距離との関係を示す図である。図8に示す図において、横軸は電子機器101と検出対象物との距離を示し、縦軸は近接センサ105の出力、すなわち反射光の検出値(以下、「クロストーク値」ともいう)を示す。図8には、保護シート121の貼合せのばらつきが少ない場合、保護シート121の貼合せのばらつきが多い場合、及び、保護シート121の表面が汚れている場合の3通りについて、検出距離と近接センサ105の出力との関係が示されている。貼合せのばらつきは、強化ガラス123に保護シート121が貼付された電子機器1における、接着層122の厚み、保護シート121の皺及び接着層122の汚れ等、赤外光を反射し得る要素をいう。図8に示すように、保護シート121の凹凸が少ない場合と比較して、保護シート121の凹凸が多い場合は、保護シート121における反射が発生しやすいため、検出対象物との距離が離れても、近接センサ105の出力は高くなる。保護シート121の表面が汚れている場合には、保護シート121で反射される成分が多くなり、近接センサ105の出力がさらに高くなる。
図8において、直線Aは、対象物を検出したか否かの判定基準となる閾値である。近接センサ105の出力が閾値Aを越えた場合に、電子機器101は、対象物を検出したと判定する。電子機器101において、より離れた位置にある対象物を検出しようとする場合、閾値Aをより低くする必要がある。しかしながら、閾値Aを低くし過ぎると、例えば図8に示すように、保護シート121の貼付状態によっては、保護シート121等からの反射により、近接センサ105の出力が常時閾値Aを越える。そのため、電子機器101は、常時対象物を検出していると判定することとなる。しかしながら、これは、近接センサ105が保護シート121からの反射光を検出しているに過ぎないため、正しく対象物の検出が行われているとは言えない。
そこで、本明細書において開示される実施形態に係る電子機器1は、近接センサ5と測距センサ18とを用いて対象物の検出を行う。これにより、電子機器1は、より長距離の検出を適切に実行しやすくなる。
(ジェスチャによる電子機器の操作)
図9は、ユーザがジェスチャにより電子機器1を操作する様子を示す。図9において、電子機器1は一例としてスタンドによって支持される。代替例として電子機器1は壁に立てかけられたり、テーブルに置かれたりしてもよい。近接センサ5または測距センサ18がユーザのジェスチャを検出すると、コントローラ10は検出されたジェスチャに基づく処理を行う。図9の例では、ジェスチャに基づく処理はレシピが表示されている画面のスクロールである。例えば、ユーザが電子機器1の長手方向上方へと手を動かすジェスチャを行うと、ユーザの手の動きに連動して画面が上方へとスクロールする。また、例えば、ユーザが電子機器1の長手方向下方へと手を動かすジェスチャを行うと、ユーザの手の動きに連動して画面が下方へとスクロールする。
図9に示す電子機器1はスマートフォンである。代替例として電子機器1は例えば、携帯電話端末、ファブレット、タブレットPCまたはフィーチャーフォン等でもよい。また、電子機器1は、上記のものに限定されず、例えば、PDA、リモコン端末、携帯音楽プレイヤー、ゲーム機、電子書籍リーダ、カーナビゲーション、家電製品または産業用機器(FA機器)等でもよい。
(キッチンモード)
図10は、ユーザがジェスチャにより電子機器1を操作する状況の一例を示す。図10の例で、ユーザは料理のレシピを電子機器1のタッチスクリーンディスプレイ2に表示しながら、キッチンでレシピに従って料理をしている。このとき、近接センサ5および/または測距センサ18はユーザのジェスチャを検出する。そして、コントローラ10は近接センサ5および/または測距センサ18が検出したジェスチャに基づく処理を行う。例えば、コントローラ10は特定のジェスチャ(例えばユーザが手を上下に動かすジェスチャ)に応じてレシピをスクロールする処理が可能である。料理中は、ユーザの手が汚れたり、濡れたりすることがある。しかし、ユーザは電子機器1に触れることなくレシピをスクロールすることができる。したがって、タッチスクリーンディスプレイ2が汚れること、および料理中のユーザの手にタッチスクリーンディスプレイ2の汚れがうつることを回避できる。
ここで、電子機器1はモードを複数有する。モードとは電子機器1の全体の動作について制限等を与える動作モード(動作状態または動作状況)を意味する。例えば、電子機器1は、特定のアプリケーションが起動されると、当該アプリケーションに対応する動作モードとなる。モードは同時に1つだけ選択可能であってよい。本実施形態において、電子機器1のモードは第1モードおよび第2モードを含む。
第1モードは、例えばキッチン以外の部屋および外出先等での使用に適している通常の動作モード(通常モード)である。第1モードでは、ユーザは、電子機器1が実行可能な機能を実行させることができる。例えば、第1モードにおいて、ユーザは、電子機器1のカメラ機能、通話機能、およびメール機能等を実行できる。また、第1モードにおいて、ユーザは、電子機器1にインストールされたアプリケーションを起動することができる。
第2モードは、キッチンでレシピを表示しながら料理を行うのに最適な電子機器1の動作モード(キッチンモード)である。ユーザは、例えば電子機器1において、特定のアプリケーションを起動することにより、電子機器1を第2モードに遷移させることができる。ここでいう特定のアプリケーションは、例えばレシピを表示するアプリケーションであってよい。上記で説明したように、第2モードの場合には、ジェスチャによる入力操作が可能であることが好ましい。つまり、電子機器1のモードが第2モードに切り替わる場合には、連動して近接センサ5および/または測距センサ18を動作させてジェスチャを検出可能にすることが好ましい。本実施形態の電子機器1は、以下に説明するユーザインターフェースを備えることによって、第2モード(キッチンモード)への切り替えと、近接センサ5および測距センサ18の動作とを連動させることが可能である。
(近接センサおよび測距センサの特性)
ここで、電子機器1における近接センサ5と測距センサ18との、対象物を検出可能な距離の特性について説明する。図11は、近接センサ5および測距センサ18の検出距離を模式的に示す図である。図11の上段には測距センサ18の検出距離が示され、図11の下段には近接センサ5の検出距離が示されている。図11は、センサの位置を0とし、各センサが検出可能な距離を斜線で示している。
図11の上段に示すように、ToFセンサにより構成される測距センサ18は、距離D1以上で距離D2未満の位置にある対象物を検出できる。ただし、D1<D2であるとする。すなわち、測距センサ18は、距離0以上で距離D1未満の位置にある対象物を検出できない。これは、ToFセンサの前面側がカバーガラスで覆われており、ToFセンサから照射される赤外光が当該カバーガラスで反射されるため、D1未満の距離については、対象物からの反射光であるか、カバーガラスからの反射であるかを区別できないためである。また、測距センサ18は、距離D2以上の位置にある対象物を検出できない。距離D2以上離れると、ToFセンサは、反射光を受光できなくなるためである。測距センサ18は、距離D1以上で距離D2未満の位置にある対象物を、上述した原理により検出できる。従って、測距センサ18は、ユーザが距離D1以上で距離D2未満の位置でジェスチャを行った場合、当該ジェスチャを検出できる。
図11の下段に示すように、近接センサ5は、距離0以上でD3未満の位置にある対象物を検出できる。すなわち、近接センサ5は、距離D3以上の位置にある対象物を検出できない。これは、対象物が距離D3以上離れると、例えば図8で説明した近接センサの出力が閾値Aを下回るためである。近接センサ5は、距離0以上でD3未満の位置にある対象物を、上述した原理により検出できる。従って、近接センサ5は、ユーザが距離D3未満の位置でジェスチャを行った場合、当該ジェスチャを検出できる。
電子機器1は、近接センサ5と測距センサ18との検出可能な距離の関係が、D1<D3<D2となるような近接センサ5および測距センサ18を用いることができる。この場合、図11に示すように、距離D1以上で距離D3未満の位置にある対象物については、近接センサ5および測距センサ18の双方により検出可能である。すなわち、近接センサ5と測距センサ18との検出可能な距離は、その一部が重複している。これにより、電子機器1は、近接センサ5と測距センサ18とにより、距離0から距離D2までの範囲の位置にある対象物について、検出できない範囲を有さず、連続的に検出可能である。本実施形態では、近接センサ5と測距センサ18とは、検出可能距離が図11に示す関係を有するとして、以下説明する。すなわち、本実施形態では、D1<D3<D2が成立するとして、以下説明する。
次に、電子機器1のコントローラ10によるジェスチャの検出処理について説明する。本明細書では、第1の制御と第2の制御とについて説明する。電子機器1のコントローラ10は、第1の制御または第2の制御のいずれかにより、ユーザのジェスチャの検出処理を実行してよい。
(第1の制御)
図12は、電子機器1のコントローラ10が実行する第1の制御による処理の一例を示すフローチャートである。図12に示すフローは、例えばユーザが電子機器1においてジェスチャを検出する機能を起動させたときに実行されてよい。図12に示すフローは、例えばユーザが電子機器1をキッチンモードにしたときに実行されてもよい。図12のフローの開始時点において、近接センサ5および測距センサ18は、いずれもオフの状態、すなわち起動されていない状態であるとする。
コントローラ10は、近接センサ5および測距センサ18の双方をオンにする(ステップS11)。これにより、近接センサ5および測距センサ18のそれぞれによるジェスチャの検出が開始される。
コントローラ10は、近接センサ5および測距センサ18の出力に基づいてジェスチャを検出する。
具体的には、コントローラ10は、近接センサ5からの出力を取得する(ステップS12)。
コントローラ10は、ステップS12で取得した近接センサ5の出力に基づいて、近接センサ5によりジェスチャが検出されているか否かを判定する(ステップS13)。コントローラ10は、例えば、ジェスチャが距離D3未満の位置で行われている場合に、近接センサ5によりジェスチャが検出されていると判定でき、ジェスチャが距離D3以上の位置で行われている場合に、近接センサ5によりジェスチャが検出されていないと判定できる。
コントローラ10は、近接センサ5によりジェスチャが検出されていると判定した場合(ステップS13のYes)、検出されたジェスチャに応じた制御を実行する(ステップS16)。例えば、コントローラ10は、検出されたジェスチャに応じて、タッチスクリーンディスプレイ2に表示されている画面をスクロールする。
一方、コントローラ10は、近接センサ5によりジェスチャが検出されていないと判定した場合(ステップS13のNo)、測距センサ18からの出力を取得する(ステップS14)。
コントローラ10は、ステップS14で取得した測距センサ18の出力に基づいて、測距センサ18によりジェスチャが検出されているか否かを判定する(ステップS15)。コントローラ10は、例えば、ジェスチャが距離D1以上で距離D2未満の位置で行われている場合に、測距センサ18によりジェスチャが検出されていると判定でき、ジェスチャが距離D1未満の位置または距離D2以上の位置で行われている場合に、測距センサ18によりジェスチャが検出されていないと判定できる。
コントローラ10は、測距センサ18によりジェスチャが検出されていると判定した場合(ステップS15のYes)、検出されたジェスチャに応じた制御を実行する(ステップS16)。
一方、コントローラ10は、測距センサ18によりジェスチャが検出されていないと判定した場合(ステップS15のNo)、ステップS12に移行する。
コントローラ10は、ステップS16においてジェスチャに応じた制御を実行したあと、ステップS12に移行して、ステップS12からステップS16を繰り返し実行してよい。コントローラ10は、例えばユーザが電子機器1においてジェスチャの検出を停止する操作入力を行った場合に、図12に示すフローを停止してよい。
図12に示すフローでは、コントローラ10が、近接センサ5によりジェスチャが検出されているかを判定したあと、測距センサ18によりジェスチャが検出されているかを判定すると説明した。しかしながら、コントローラ10は、例えば、測距センサ18によりジェスチャが検出されているかを判定したあと、近接センサ5によりジェスチャが検出されているかを判定してもよい。また、コントローラ10は、近接センサ5によりジェスチャが検出されているかの判定処理と、測距センサ18によりジェスチャが検出されているかの判定処理を同時に実行してもよい。
このように、コントローラ10は、近接センサ5および測距センサ18の出力に基づいてジェスチャを検出することにより、近接センサ5または測距センサ18のいずれかの検出距離で行われているジェスチャを検出できる。つまり、コントローラ10は、ジェスチャが、近接センサ5または測距センサ18のいずれかの検出距離で行われている限り、当該ジェスチャを検出できる。そのため、電子機器1によれば、近接センサのみによりジェスチャの検出を行う従来の電子機器と比較して、測距センサ18の検出距離で行われるジェスチャも検出できるため、ジェスチャの検出距離を延ばすことができる。すなわち、電子機器1によれば、従来の電子機器と比較して、より遠くのジェスチャを検出することができ、より遠くのジェスチャの検出精度が向上し得る。
例えば、ユーザが電子機器1をキッチンモードにしたまま、一時的に電子機器1から離れているとする。このときに、例えば電子機器1が、キッチンモードの1つの機能として搭載されているタイマー機能により、設定された時間が経過したことを、ユーザに音を鳴らしたりする等して知らせたとする。近接センサのみによりジェスチャの検出を行う従来の電子機器の場合、ユーザは、鳴っている音を止めるために、電子機器の近くに戻って、音を止めるジェスチャを行う必要がある。これに対し、本実施形態に係る電子機器1によれば、ジェスチャの検出距離が延びているため、ユーザは、従来の電子機器の場合と比較して、より遠い位置からでも、ジェスチャを行って音を止めることができる。そのため、ユーザの位置によっては、電子機器1の方へ移動せずに、ユーザがいる位置においてジェスチャを行うことにより、音を止めることができる。
(第2の制御)
第1の制御では、近接センサ5および測距センサ18の双方が起動される場合について説明した。第2の制御では、コントローラ10は、近接センサ5または測距センサ18のいずれかのみを起動させる。例えば、コントローラ10は、検出対象の物体と自機器との距離に応じて、動作させるセンサを、近接センサ5と、測距センサ18とで切り替える制御を行ってよい。この場合、コントローラ10は、動作させているセンサの出力に基づいてジェスチャを検出することができる。
図13は、電子機器1のコントローラ10が実行する第2の制御による処理の一例を示すフローチャートである。図13に示すフローは、例えばユーザが電子機器1においてジェスチャを検出する機能を起動させたときに実行されてよい。図13に示すフローは、例えばユーザが電子機器1をキッチンモードにしたときに実行されてもよい。図13のフローの開始時点において、近接センサ5および測距センサ18は、いずれもオフの状態、すなわち起動されていない状態であるとする。
コントローラ10は、近接センサ5をオンにする(ステップS21)。これにより、近接センサ5が動作を開始し、近接センサ5によるジェスチャの検出が開始される。
コントローラ10は、近接センサ5からの出力を取得する(ステップS22)。
コントローラ10は、ステップS22で取得した近接センサ5の出力に基づいて、近接センサ5によりジェスチャが検出されているか否かを判定する(ステップS23)。コントローラ10は、例えば、ジェスチャが距離D3未満の位置で行われている場合に、近接センサ5によりジェスチャが検出されていると判定でき、ジェスチャが距離D3以上の位置で行われている場合に、近接センサ5によりジェスチャが検出されていないと判定できる。
コントローラ10は、近接センサ5によりジェスチャが検出されていると判定した場合(ステップS23のYes)、検出されたジェスチャに応じた制御を実行する(ステップS24)。そして、コントローラ10は、ステップS22に移行し、近接センサ5によりジェスチャが検出されていると判定されている限りにおいて、ステップS22からステップS24を繰り返す。
コントローラ10は、近接センサ5によりジェスチャが検出されていないと判定した場合(ステップS23のNo)、近接センサ5をオフにする(ステップS25)。
そして、コントローラ10は、測距センサ18をオンにする(ステップS26)。つまり、コントローラ10は、ステップS23において近接センサ5によりジェスチャが検出されていないと判定した場合、動作するセンサを近接センサ5から測距センサ18に切り替える。これにより、測距センサ18が動作を開始し、測距センサ18によるジェスチャの検出が開始される。
コントローラ10は、測距センサ18からの出力を取得する(ステップS27)。
コントローラ10は、ステップS27で取得した測距センサ18の出力に基づいて、測距センサ18によりジェスチャが検出されているか否かを判定する(ステップS28)。コントローラ10は、例えば、ジェスチャが距離D1以上で距離D2未満の位置で行われている場合に、測距センサ18によりジェスチャが検出されていると判定でき、ジェスチャが距離D1未満の位置または距離D2以上の位置で行われている場合に、測距センサ18によりジェスチャが検出されていないと判定できる。
近接センサ5によりジェスチャが検出されなくなった場合、ジェスチャが行われる位置が距離D3以上の位置となった可能性がある。そこで、コントローラ10は、近接センサ5によりジェスチャが検出されなくなった場合に、測距センサ18をオンにすることにより、ジェスチャの検出距離を距離D1以上で距離D2未満の範囲に変更する。これにより、近接センサ5により検出できなくなったジェスチャを、測距センサ18により検出し得る。
コントローラ10は、測距センサ18によりジェスチャが検出されていると判定した場合(ステップS28のYes)、検出されたジェスチャに応じた制御を実行する(ステップS29)。そして、コントローラ10は、ステップS27に移行し、測距センサ18によりジェスチャが検出されていると判定されている限りにおいて、ステップS27からステップS29を繰り返す。
コントローラ10は、測距センサ18によりジェスチャが検出されていないと判定した場合(ステップS28のNo)、測距センサ18をオフにする(ステップS30)。そして、コントローラ10は、ステップS21に移行して、再び近接センサ5をオンにする。つまり、コントローラ10は、ステップS28において測距センサ18によりジェスチャが検出されていないと判定した場合、動作するセンサを測距センサ18から近接センサ5に切り替える。これにより、近接センサ5が、再度動作を開始し、近接センサ5によるジェスチャの検出が開始される。
測距センサ18によりジェスチャが検出されなくなった場合、ジェスチャが行われる位置がジェスチャが距離D1未満の位置または距離D2以上の位置となった可能性がある。ジェスチャが距離D1未満の位置で行われている場合、コントローラ10は、近接センサ5をオンにすることにより、ジェスチャの検出距離を変更することにより、測距センサ18により検出できなくなったジェスチャを、近接センサ5により検出し得る。
コントローラ10は、例えばユーザが電子機器1においてジェスチャの検出を停止する操作入力を行った場合に、図12に示すフローを停止してよい。
第2の制御では、第1の制御と同様に、近接センサのみによりジェスチャの検出を行う従来の電子機器と比較して、ジェスチャの検出距離を延ばすことができる。また、第2の制御では、コントローラ10は、近接センサ5と測距センサ18のいずれか一方をオンにし、他方をオフにするため、消費電力を低減することができる。
(その他の実施形態)
本発明を図面および実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形および修正を行うことが容易であることに注意されたい。したがって、これらの変形および修正は本発明の範囲に含まれることに留意されたい。例えば、各手段または各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段またはステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。
例えば、上記実施形態では、コントローラ10は、近接センサ5および測距センサ18の出力に基づいてジェスチャを検出すると説明した。しかしながら、コントローラ10は、近接センサ5および測距センサ18の出力に基づき、例えば電子機器1とユーザとの距離を推定できる。コントローラ10は、例えば上記実施形態のように近接センサ5及び測距センサ18が電子機器1の前面側に配置されている場合、電子機器1の前面側にいるユーザとの距離を推定できる。すなわち、コントローラ10は、例えば測距センサ18の出力に基づいて、電子機器1に対するユーザの距離を算出することにより、電子機器1とユーザとの距離を推定できる。
コントローラ10は、電子機器1とユーザとの距離を推定する場合、推定した距離に応じて、タッチスクリーンディスプレイ2の表示を点灯させたり消灯させたりしてよい。例えば、コントローラ10は、ユーザが予め定められた所定の距離以上離れたと判定した場合、タッチスクリーンディスプレイ2の表示を消灯させてよい。コントローラ10は、ユーザが、電子機器1に対して当該所定の距離未満の位置に近づいたと判定した場合、タッチスクリーンディスプレイ2の表示を点灯させてよい。このような制御により、コントローラ10は、ユーザが電子機器1に近づいて電子機器1の表示を視認可能な位置にいる際に、タッチスクリーンディスプレイ2の表示を点灯させることができる一方、ユーザが電子機器1から遠ざかった場合に、タッチスクリーンディスプレイ2の表示を点灯させることにより、電子機器1の電力消費を低減させることができる。
上記の実施形態では、ジェスチャは、近接センサ5および測距センサ18により検出されると説明したが、必ずしも近接センサ5および測距センサ18により検出されなくてもよい。ジェスチャは、任意の非接触でユーザのジェスチャを検出可能な、任意の非接触センサにより検出されてもよい。非接触センサの一例は、例えば、カメラ13または照度センサ4等を含む。
本開示内容の多くの側面は、プログラム命令を実行可能なコンピュータシステムその他のハードウェアにより実行される、一連の動作として示される。コンピュータシステムその他のハードウェアには、例えば、汎用コンピュータ、PC(パーソナルコンピュータ)、専用コンピュータ、ワークステーション、PCS(Personal Communications System、パーソナル移動通信システム)、移動(セルラー)電話機、データ処理機能を備えた移動電話機、RFID受信機、ゲーム機、電子ノートパッド、ラップトップコンピュータ、GPS(Global Positioning System)受信機またはその他のプログラム可能なデータ処理装置が含まれる。各実施形態では、種々の動作または制御方法は、プログラム命令(ソフトウェア)で実装された専用回路(例えば、特定機能を実行するために相互接続された個別の論理ゲート)、一以上のプロセッサにより実行される論理ブロックおよび/またはプログラムモジュール等により実行されることに留意されたい。論理ブロックおよび/またはプログラムモジュール等を実行する一以上のプロセッサには、例えば、一以上のマイクロプロセッサ、CPU(中央演算処理ユニット)、ASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子機器、ここに記載する機能を実行可能に設計されたその他の装置および/またはこれらいずれかの組合せが含まれる。ここに示す実施形態は、例えば、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたはこれらいずれかの組合せにより実装される。命令は、必要なタスクを実行するためのプログラムコードまたはコードセグメントであってもよい。そして、命令は、機械読取り可能な非一時的記憶媒体その他の媒体に格納することができる。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラスまたは命令、データ構造もしくはプログラムステートメントのいずれかの任意の組合せを示すものであってもよい。コードセグメントは、他のコードセグメントまたはハードウェア回路と、情報、データ引数、変数または記憶内容の送信および/または受信を行い、これにより、コードセグメントが他のコードセグメントまたはハードウェア回路と接続される。
ここで用いられるストレージ9は、さらに、ソリッドステートメモリ、磁気ディスクおよび光学ディスクの範疇で構成されるコンピュータ読取り可能な有形のキャリア(媒体)として構成することができる。かかる媒体には、ここに開示する技術をプロセッサに実行させるためのプログラムモジュール等のコンピュータ命令の適宜なセットまたはデータ構造が格納される。コンピュータ読取り可能な媒体には、一つ以上の配線を備えた電気的接続、磁気ディスク記憶媒体、磁気カセット、磁気テープ、その他の磁気および光学記憶装置(例えば、CD(Compact Disk)、レーザーディスク(登録商標)、DVD(登録商標)(Digital Versatile Disc)、フロッピー(登録商標)ディスクおよびブルーレイディスク(登録商標))、可搬型コンピュータディスク、RAM(Random Access Memory)、ROM(Read-Only Memory)、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)もしくはフラッシュメモリ等の書換え可能でプログラム可能なROMもしくは情報を格納可能な他の有形の記憶媒体またはこれらいずれかの組合せが含まれる。メモリは、プロセッサまたはプロセッシングユニットの内部および/または外部に設けることができる。ここで用いられるように、「メモリ」という語は、あらゆる種類の長期記憶用、短期記憶用、揮発性、不揮発性またはその他のメモリを意味する。つまり、「メモリ」は特定の種類および/または数に限定されない。また、記憶が格納される媒体の種類も限定されない。