(電子機器の構成)
図1に示すように一実施形態の電子機器1は、近接センサ18(ジェスチャセンサ)と、コントローラ11と、を備える。また、電子機器1は、タイマー12と、カメラ13と、ディスプレイ14と、マイク15と、ストレージ16と、通信ユニット17と、スピーカー25と、を備える。本実施形態において、電子機器1は、さらにUVセンサ19と、照度センサ20と、加速度センサ21と、地磁気センサ22と、気圧センサ23と、ジャイロセンサ24と、を備える。図1は例示である。電子機器1は図1に示す構成要素の全てを含まなくてもよい。また、電子機器1は図1に示す以外の構成要素を備えていてもよい。
タイマー12はコントローラ11からタイマー動作の指示を受け、所定時間経過した時点で、その旨を示す信号をコントローラ11に出力する。タイマー12は、図1に示すようにコントローラ11とは独立して設けられていてもよいし、コントローラ11が内蔵する構成であってもよい。
カメラ13は、電子機器1の周囲の被写体を撮像する。カメラ13は一例として、電子機器1のディスプレイ14が設けられる面(正面)に設けられるインカメラ13a(図7(c)参照)である。また、カメラ13は一例として、電子機器1の背面(ディスプレイ14が設けられる面の反対側の面)に設けられるアウトカメラ13b(図7(e)参照)である。本実施形態において、カメラ13はインカメラ13aおよびアウトカメラ13bを含む。
ディスプレイ14は画面を表示する。画面は、例えば文字、画像、記号および図形等の少なくとも一つを含む。ディスプレイ14は、液晶ディスプレイ(Liquid Crystal Display)であってもよい。ディスプレイ14は、有機ELパネル(Organic Electro-Luminescence Panel)または無機ELパネル(Inorganic Electro-Luminescence Panel)等であってもよい。本実施形態において、ディスプレイ14はタッチパネルディスプレイ(タッチスクリーンディスプレイ)である。タッチパネルディスプレイは、指またはスタイラスペン等の接触を検出して、その接触位置を特定する。ディスプレイ14は、指またはスタイラスペン等が接触した位置を同時に複数検出することができる。
マイク15は、人が発する声を含む、電子機器1の周囲の音を検出する。
ストレージ16は記憶部としてプログラムおよびデータを記憶する。ストレージ16は、コントローラ11の処理結果を一時的に記憶する。ストレージ16は、半導体記憶デバイスおよび磁気記憶デバイス等の任意の記憶デバイスを含んでよい。ストレージ16は、複数の種類の記憶デバイスを含んでよい。ストレージ16は、メモリカード等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。
ストレージ16に記憶されるプログラムには、フォアグランドまたはバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとを含む。アプリケーションは、例えば、ジェスチャに応じた処理をコントローラ11に実行させる。制御プログラムは、例えば、OS(Operating System)である。アプリケーションおよび制御プログラムは、通信ユニット17による通信または記憶媒体を介してストレージ16にインストールされてもよい。
通信ユニット17は、有線または無線により通信するためのインタフェースである。一実施形態の通信ユニット17によって行われる通信方式は無線通信規格である。例えば、無線通信規格は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)等を含む。通信ユニット17は、上述した通信規格の1つまたは複数をサポートすることができる。
スピーカー25は音を出力する。例えば通話の際に、相手の声がスピーカー25から出力される。また、例えばニュースまたは天気予報等の読み上げの際に、その内容がスピーカー25から音で出力される。
近接センサ18は、電子機器1の周囲の対象物との相対距離および対象物の移動方向等を非接触で検出する。本実施形態において、近接センサ18は1つの光源用赤外LED(Light Emitting Diode)と4つの赤外フォトダイオードとを有する。近接センサ18は、光源用赤外LEDから赤外光を対象物に向けて照射する。近接センサ18は、対象物からの反射光を赤外フォトダイオードの入射光とする。そして、近接センサ18は赤外フォトダイオードの出力電流に基づいて対象物との相対距離を測定することができる。また、近接センサ18は、対象物からの反射光がそれぞれの赤外フォトダイオードに入射する時間差により対象物の移動方向を検出する。したがって、近接センサ18は、電子機器1のユーザが電子機器1に触れずに行うエアジェスチャ(以下単に「ジェスチャ」という)を用いた操作を検出することができる。ここで、近接センサ18は可視光フォトダイオードを有していてもよい。詳細については後述するが、本実施形態において近接センサ18は複数であって、互いに電子機器1の異なる面に設けられた第1の近接センサ18aおよび第2の近接センサ18bを含む(例えば図8参照)。
コントローラ11は、例えばCPU(Central Processing Unit)等のプロセッサである。コントローラ11は、他の構成要素が統合されたSoC(System-on-a-Chip)等の集積回路であってもよい。コントローラ11は、複数の集積回路を組み合わせて構成されてもよい。コントローラ11は、電子機器1の動作を統括的に制御して各種の機能を実現する。
具体的にはコントローラ11は、ストレージ16に記憶されているデータを必要に応じて参照する。コントローラ11は、ストレージ16に記憶されているプログラムに含まれる命令を実行してディスプレイ14等の他の機能部を制御することによって各種機能を実現する。例えばコントローラ11は、ユーザによる接触のデータをタッチパネルから取得する。例えばコントローラ11は、近接センサ18が検出したユーザのジェスチャに関する情報を取得する。例えばコントローラ11は、タイマー12からカウントダウンの残り時間(タイマー時間)等の情報を取得する。また、例えばコントローラ11は、アプリケーションの起動状況を把握する。また、例えばコントローラ11は、加速度センサ21が検出した加速度の情報から電子機器1の姿勢を判定する。
UVセンサ19は、太陽光等に含まれる紫外線(Ultraviolet)量を測定することができる。
照度センサ20は、当該照度センサ20に入射する周囲光の照度を検出する。照度センサ20は、例えばフォトダイオードを用いたものでもよいし、フォトトランジスタを用いたものでもよい。
加速度センサ21は、電子機器1に働く加速度の方向および大きさを検出する。加速度センサ21から出力される値は、検出した加速度の情報である。加速度センサ21は、例えばx軸方向、y軸方向およびz軸方向の加速度を検出する3軸(3次元)タイプである。加速度センサ21は、例えばピエゾ抵抗型であってもよいし、静電容量型であってもよい。
地磁気センサ22は地磁気の向きを検出して、電子機器1の向きを測定可能にする。
気圧センサ23は、電子機器1の外側の気圧(大気圧)を検出する。
ジャイロセンサ24は、電子機器1の角速度を検出する。コントローラ11は、ジャイロセンサ24により取得された角速度を時間積分することにより、電子機器1の向きの変化を測定することができる。
(ジェスチャによる電子機器の操作)
図2は、ユーザがジェスチャにより電子機器1を操作する様子を示す。図2において、電子機器1は一例としてスタンドによって支持される。代替例として電子機器1は壁に立てかけられたり、テーブルに置かれたりしてもよい。近接センサ18がユーザのジェスチャを検出すると、コントローラ11は検出されたジェスチャに基づく処理を行う。図2の例では、ジェスチャに基づく処理はレシピが表示されている画面のスクロールである。例えば、ユーザが電子機器1の長手方向上方へと手を動かすジェスチャを行うと、ユーザの手の動きに連動して画面が上方へとスクロールする。また、例えば、ユーザが電子機器1の長手方向下方へと手を動かすジェスチャを行うと、ユーザの手の動きに連動して画面が下方へとスクロールする。
図2に示す電子機器1はスマートフォンである。代替例として電子機器1は例えば、携帯電話端末、ファブレット、タブレットPCまたはフィーチャーフォン等でもよい。また、電子機器1は、上記のものに限定されず、例えば、PDA、リモコン端末、携帯音楽プレイヤー、ゲーム機、電子書籍リーダ、カーナビゲーション、家電製品または産業用機器(FA機器)等でもよい。
(近接センサによるジェスチャ検出手法)
ここで、図3および図4を参照しながら、コントローラ11が近接センサ18の出力に基づいてユーザのジェスチャを検出する手法を説明する。図3は、電子機器1を正面から見たときの近接センサ18の構成例を示す図である。近接センサ18は、光源用赤外LED180と、4つの赤外フォトダイオードSU,SR,SDおよびSLと、を有する。4つの赤外フォトダイオードSU,SR,SDおよびSLは、レンズ181を介して検出対象物からの反射光を検出する。4つの赤外フォトダイオードSU,SR,SDおよびSLは、レンズ181の中心から見て対称的に配置されている。ここで、図3に示される仮想線D1は電子機器1の長手方向と略平行であるとする。図3の仮想線D1上に、赤外フォトダイオードSUと赤外フォトダイオードSDとが離れて配置されている。そして、図3の仮想線D1の方向において、赤外フォトダイオードSRおよびSLは、赤外フォトダイオードSUと赤外フォトダイオードSDとの間に配置されている。
図4は、4つの赤外フォトダイオードSU,SR,SDおよびSLの検出対象物(例えばユーザの手等)が、図3の仮想線D1の方向に沿って移動したときの検出値の推移を例示する。ここで、仮想線D1の方向において、赤外フォトダイオードSUと赤外フォトダイオードSDとが最も離れている。そのため、図4に示すように、赤外フォトダイオードSUの検出値(破線)の変化(例えば上昇)と、赤外フォトダイオードSDの検出値(細い実線)の同じ変化(例えば上昇)との時間差が最も大きい。コントローラ11は、フォトダイオードSU,SR,SDおよびSLの検出値の所定の変化の時間差を把握することによって、検出対象物の移動方向を判定できる。
コントローラ11は、近接センサ18からフォトダイオードSU,SR,SDおよびSLの検出値を取得する。そして、コントローラ11は、例えば検出対象物の仮想線D1の方向への移動を把握するために、フォトダイオードSDの検出値からフォトダイオードSUの検出値を減算した値を所定の時間で積分してもよい。図4の例では、領域R41およびR42において積分値は非ゼロの値となる。この積分値の変化(例えば正値、ゼロ、負値の変化)から、コントローラ11は、仮想線D1の方向における検出対象物の移動を把握できる。
また、コントローラ11は、フォトダイオードSLの検出値からフォトダイオードSRの検出値を減算した値を所定の時間で積分してもよい。この積分値の変化(例えば正値、ゼロ、負値の変化)から、コントローラ11は、仮想線D1に直交する方向(電子機器1の短手方向に略平行な方向)における検出対象物の移動を把握できる。
代替例として、コントローラ11はフォトダイオードSU,SR,SDおよびSLの全ての検出値を用いて演算を行ってもよい。すなわち、コントローラ11は検出対象物の移動方向を、電子機器1の長手方向および短手方向の成分に分離して演算することなく把握してもよい。
近接センサ18で検出されるジェスチャは、例えば左右のジェスチャ、上下のジェスチャ、斜めのジェスチャ、時計回りで円を描くジェスチャ、および反時計回りで円を描くジェスチャ等である。例えば左右へのジェスチャとは、電子機器1の短手方向と略平行な方向に行われるジェスチャである。上下のジェスチャとは、電子機器1の長手方向と略平行な方向に行われるジェスチャである。斜めのジェスチャとは、電子機器1と略平行な平面において、電子機器1の長手方向と短手方向とのいずれとも平行でない方向に行われるジェスチャである。
(キッチンモード)
図5は、ユーザがジェスチャにより電子機器1を操作する状況の一例を示す。図5の例で、ユーザは料理のレシピを電子機器1のディスプレイ14に表示しながら、キッチンでレシピに従って料理をしている。図5の例において、近接センサ18はユーザのジェスチャを検出する。そして、コントローラ11は近接センサ18が検出したジェスチャに基づく処理を行う。例えば、コントローラ11は特定のジェスチャ(例えばユーザが手を上下に動かすジェスチャ)に応じてレシピをスクロールする処理が可能である。料理中は、ユーザの手が汚れたり、濡れたりすることがある。しかし、ユーザは電子機器1に触れることなくレシピをスクロールすることができる。したがって、ディスプレイ14が汚れること、および料理中のユーザの手にディスプレイ14の汚れがうつることを回避できる。
ここで、電子機器1はモードを複数有する。モードとは電子機器1の全体の動作について制限等を与える動作モード(動作状態または動作状況)を意味する。モードは同時に1つだけ選択可能である。本実施形態において、電子機器1のモードは少なくとも第1モードおよび第2モードを含む。第1モードは、例えばキッチン以外の部屋および外出先等での使用に適している通常の動作モード(通常モード)である。第2モードは、キッチンでレシピを表示しながら料理を行うのに最適な電子機器1の動作モード(キッチンモード)である。上記で説明したように、第2モードの場合には、ジェスチャによる入力操作が可能である。
第2モード(キッチンモード)の場合に、電子機器1は近接センサ18によるジェスチャ検出を行う。ここで、仮に電子機器1の正面のみに近接センサ18が設けられているとする。このとき、ユーザのジェスチャを検出可能なように、例えばスタンド等で電子機器1を支持して正面をユーザの方に向けることが好ましい(図5参照)。しかし、図6に示すように、ユーザは電子機器1をテーブルに置いたまま使用することがある。特にスタンドまたは電子機器1を立てかける壁がない場合に、ユーザは電子機器1の正面を上にしてテーブルに置くことがある。このとき、ユーザは手を電子機器1の上方まで伸ばしてからジェスチャを行う必要がある。そのため、ユーザがジェスチャによる入力操作の操作性が良くないと考えるおそれがあった。
本実施形態に係る電子機器1は、第1の近接センサ18aと、第2の近接センサ18bと、を備える。そして、コントローラ11は自機器(電子機器1)の状態に応じて、第1の近接センサ18aおよび第2の近接センサ18bのうちの一方を選択する。ここで、第2の近接センサ18bは、第1の近接センサ18aが設けられている面(例えば正面)と異なる面に設けられている。本実施形態に係る電子機器1は、後述するように、電子機器1の状態に応じて第1の近接センサ18aと第2の近接センサ18bとを適切に選択することによって、ジェスチャに関するユーザの操作性を向上させることができる。
(近接センサを設ける面)
図7(a)は本実施形態に係る電子機器1の上面(平面)図である。図7(b)は電子機器1の左側面図である。図7(c)は電子機器1の正面図である。図7(d)は電子機器1の右側面図である。図7(e)は電子機器1の背面図である。図7(f)は電子機器1の底面図である。図7(a)〜図7(f)はそれぞれ電子機器1の電子機器1の外観上の一つの面(筐体の一つの面)を示す。ここで、図7(a)〜図7(f)は各面の概略を示すものであって、電子機器1が備える全ての要素を示すものではない。
図7(c)に示すように、本実施形態において第1の近接センサ18aは、電子機器1の正面に設けられている。電子機器1の正面は、ディスプレイ14およびインカメラ13aが設けられている面である。図7(c)の例では、第1の近接センサ18aはディスプレイ14よりも上の位置に設けられている。しかし、第1の近接センサ18aの位置はディスプレイ14の上方に限定されるものではない。例えば、第1の近接センサ18aはディスプレイ14よりも下の位置に設けられてもよい。
図7(a)に示すように、本実施形態において第2の近接センサ18bは、電子機器1の上面(平面)に設けられている。本実施形態において、第2の近接センサ18bは、電子機器1の正面における短手方向で中央よりもやや紙面左方に位置しているが、この位置に限定されるものではない。また、第2の近接センサ18bは上面(平面)に限らず、第1の近接センサ18aが設けられている面と異なる面に設けることができる。第2の近接センサ18bは例えば底面(図7(f))に設けられてもよい。また、第2の近接センサ18bは例えばアウトカメラ13bと同様に背面(図7(e))に設けられてもよい。
図8は電子機器1がポケットに入れられた状態を示す図である。例えば第2モード(キッチンモード)で動作する電子機器1をシャツまたはエプロンのポケットに入れて別の場所に移動することがあり得る。このとき、電子機器1は図8に示すような縦向き(電子機器1の所定の姿勢の一例)になる。ここで、縦向きとは、電子機器1の正面における長手方向が重力方向と略平行である状態をいう。
ここで、移動中にタイマー12のカウントダウンが終了してアラームが鳴った場合に、ジェスチャ(例えば手または顎等の顔の一部をかざす動作)によってアラームを止めたいことがある。また、移動中に携帯電話である電子機器1に電話着信があった場合に、ジェスチャ(例えば電子機器1の正面における短手方向に手を移動させる動作または首を横に振る動作)によって応答したいことがある。しかし、電子機器1の正面に設けられた第1の近接センサ18aは、ポケットによって覆われており、ユーザのジェスチャを検出することができない。
コントローラ11は、電子機器1が縦向きであるか否か(自機器の状態の一例)に応じて、第1の近接センサ18aから出力される値に基づいた第1のジェスチャ検出と第2の近接センサ18bから出力される値に基づいた第2のジェスチャ検出とを選択する。具体的には、コントローラ11は、電子機器1が所定の姿勢(縦向き)である場合に第2のジェスチャ検出を選択し、電子機器1が所定の姿勢(縦向き)でない場合に第1のジェスチャ検出を選択する。図8の例では、コントローラ11は第2の近接センサ18bの出力(検出信号)に基づいてユーザのジェスチャを検出する。
ユーザは、例えば電子機器1の上面の近くで(第2の近接センサ18bの検出距離の範囲内で)ジェスチャをすることにより、電子機器1をポケットに入れて移動中であってもアラームを止めたり、電話に応答したりすることができる。そのため、ジェスチャに関するユーザの操作性が向上する。特に電子機器1が胸ポケットに入っている場合に、両手がふさがっているとしても、ユーザは第2の近接センサ18bの近くで顎をかざしたり、首を横に振ったりするジェスチャによって、アラームを止めたり、電話に応答したりすることができる。
コントローラ11は、自機器の状態を、例えば加速度センサ21から出力される値を用いて判定する。本実施形態において、コントローラ11は、加速度センサ21が検出した加速度の情報を取得する。そして、コントローラ11は、加速度の情報から得られる重力加速度の向きによって電子機器1の姿勢を判定して、第1のジェスチャ検出または第2のジェスチャ検出を選択する。
電子機器1がポケットに入れられている場合を例示したが、例えば電子機器1がカバンに入れられている場合にも、コントローラ11は同様の処理によって操作性を向上させることができる。
(第2の近接センサの別の設置例)
ここで、本実施形態に係る電子機器1では、上面に第2の近接センサ18bが設けられている。しかし、別の例として第2の近接センサ18bは下面(図7(f))に設けられていてもよい。例えば図9は、第2の近接センサ18bを下面に設けた電子機器1が正面を上にしてテーブルに置かれた状態を示す図である。
例えば図9に示すように第2モード(キッチンモード)で動作する電子機器1をテーブルに置いて、表示されるレシピを見ながらユーザが料理をすることがあり得る。このとき、例えばレシピをスクロールするために、ユーザは調理中であっても手を電子機器1の正面近くまで伸ばす必要がある。そのため、ユーザがジェスチャによる入力操作について操作性が良くないと考えるおそれがある。
コントローラ11は、電子機器1の姿勢に応じた選択の処理に加えて、第1の近接センサ18aおよび第2の近接センサ18bの一方が所定の条件を満たす場合に他方を選択する処理を行う。本実施形態において、所定の条件は、ジェスチャ入力操作が無いまま所定時間(例えば30秒)が経過することである。ここで、所定の条件は限定されるものではない。例えば所定の条件は、ジェスチャ入力操作の有無にかかわらず所定時間が経過することであってもよい。また、例えば所定の条件は、ユーザによる特定のジェスチャ(一例として円を描くジェスチャ)を検出したことであってもよい。
図9の例では、最初にコントローラ11は電子機器1が所定の姿勢(縦向き)でないため、第1の近接センサ18aから出力される値に基づいた第1のジェスチャ検出を選択する。しかし、ジェスチャ入力操作が無いまま所定時間が経過すると、コントローラ11は、第1の近接センサ18aに代えて、第2の近接センサ18bの出力に基づいてユーザのジェスチャを検出する。
ユーザが電子機器1の正面の近くまで手を伸ばしてジェスチャをしなくても、所定時間の経過後に、第2の近接センサ18bの出力に基づくジェスチャ検出が行われる。ユーザは、電子機器1の下面の近くで(第2の近接センサ18bの検出距離の範囲内で)ジェスチャをすることによって入力操作が可能である。つまり、ユーザは電子機器1の正面の近くまで手を伸ばす必要がないため、ジェスチャに関するユーザの操作性が向上する。
ここで、コントローラ11は、ジェスチャ入力操作が無いまま所定時間が経過した場合に近接センサ18の選択を変更する処理を、図8の例(電子機器1がポケットに入れられた状態の例)においても実行してよい。例えば図8の例において第1の近接センサ18aはポケットによって覆われており、ユーザのジェスチャを検出することができない。そのため、所定時間が経過した後に、コントローラ11は第2の近接センサ18bの出力を選択して、ユーザのジェスチャを検出する。ここで、「ジェスチャ入力操作が無い」とは、近接センサ18が対象物からの反射光を得られない場合だけでなく、対象物からの反射光を得ているがジェスチャでない(動きがない)場合を含む。図8の例のように第1の近接センサ18aがポケットで覆われている場合には、対象物からの反射光を得ているが動きがないため、コントローラ11はジェスチャ入力操作が無いと判定する。
また、図9において電子機器1が正面を下向きにしてテーブルに置かれた場合にも、コントローラ11は第2の近接センサ18bの出力を適切に選択できる。この場合にも、第1の近接センサ18aが対象物(テーブル)からの反射光を得るが、動き(ジェスチャ)がないため、コントローラ11はジェスチャ入力操作が無いと判定する。
(第2の近接センサのさらに別の設置例)
さらに別の例として第2の近接センサ18bは背面(図7(e))に設けられていてもよい。例えば図10(a)および図10(b)は、第2の近接センサ18bを背面に設けた電子機器1をユーザが把持してジェスチャ入力操作を行う様子を例示する図である。
図10(a)および図10(b)の例では、コントローラ11は電子機器1が所定の姿勢(縦向き)であるため、第2の近接センサ18bから出力される値に基づいた第2のジェスチャ検出を選択する。すなわち、コントローラ11は、電子機器1の背面に設けられた第2の近接センサ18bからの出力に基づいてユーザのジェスチャを検出する。
図10(a)の例では、第2の近接センサ18bは電子機器1の背面で上端に近い位置にある。電子機器1の下端から中央付近までの部分を、ユーザが左手で把持している。そして、ユーザは電子機器1の背面側で、右手でジェスチャをすることが可能である。このとき、ユーザはディスプレイ14を自らのジェスチャ動作で遮ることがない。そのため、ユーザは、ジェスチャを行う場合であっても、ディスプレイ14が見えなくなることがない。ここで、電子機器1の背面側でユーザ自身がジェスチャをするのではなく、第三者(ユーザ以外)がジェスチャを行って電子機器1を操作することも可能である。
図10(b)の例では、第2の近接センサ18bは電子機器1の中央付近にある。電子機器1の下端から中央までの部分を、ユーザが右手で把持している。そして、ユーザは電子機器1の背面側で、右手の指(例えば人差指)を使ってジェスチャをすることが可能である。このとき、ユーザはジェスチャ動作も含めて、片手だけで電子機器1を操作することができる。また、図10(b)の例でも、ユーザはディスプレイ14を自らのジェスチャ動作で遮ることがない。
(フローチャート)
図11は電子機器1が実行する第1の近接センサ18aおよび第2の近接センサ18bの選択処理を例示するフローチャートである。図11に示す処理の開始時において、電子機器1はジェスチャによる入力操作が可能な第2モード(キッチンモード)で動作している。
コントローラ11は、加速度センサ21が検出した加速度の情報を取得する(ステップS1)。そして、コントローラ11は、加速度の情報に基づいて電子機器1の姿勢を判定する。
コントローラ11は電子機器1が縦向きでない場合に(ステップS2のNo)、第1の近接センサ18aから出力される値に基づいてジェスチャを検出する(ステップS3)。
コントローラ11は、第1の近接センサ18aから出力される値に基づくジェスチャ入力操作が無いまま所定時間が経過した場合に(ステップS4のYes)、ステップS6の処理に進む。つまり、コントローラ11は第1の近接センサ18aに代えて第2の近接センサ18bを選択する。
コントローラ11は、所定時間内に第1の近接センサ18aから出力される値に基づくジェスチャ入力操作があった場合、または、ジェスチャ入力操作が無いが所定時間が経過していない場合に(ステップS4のNo)、ステップS5の処理に進む。
コントローラ11は、例えばユーザによる第2モードの解除等によって、ジェスチャ入力操作の終了指示がある場合に(ステップS5のYes)、一連の切り替え処理を終了する。
コントローラ11は、ジェスチャ入力操作の終了指示がない場合に(ステップS5のNo)、ステップS3の処理に戻る。
コントローラ11は電子機器1が縦向きである場合に(ステップS2のYes)、第2の近接センサ18bから出力される値に基づいてジェスチャを検出する(ステップS6)。
コントローラ11は、第2の近接センサ18bから出力される値に基づくジェスチャ入力操作が無いまま所定時間が経過した場合に(ステップS7のYes)、ステップS3の処理に進む。つまり、コントローラ11は第2の近接センサ18bに代えて第1の近接センサ18aを選択する。
コントローラ11は、所定時間内に第2の近接センサ18bから出力される値に基づくジェスチャ入力操作があった場合、または、ジェスチャ入力操作が無いが所定時間が経過していない場合に(ステップS7のNo)、ステップS8の処理に進む。
コントローラ11は、例えばユーザによる第2モードの解除等によって、ジェスチャ入力操作の終了指示がある場合に(ステップS8のYes)、一連の切り替え処理を終了する。
コントローラ11は、ジェスチャ入力操作の終了指示がない場合に(ステップS8のNo)、ステップS6の処理に戻る。
以上のように、本実施形態に係る電子機器1は、第1の近接センサ18aと、第2の近接センサ18bと、を備える。また、電子機器1は、自機器(電子機器1)の状態に応じて、第1の近接センサ18aから出力される値に基づいた第1のジェスチャ検出と第2の近接センサ18bから出力される値に基づいた第2のジェスチャ検出とを選択するコントローラ11を備える。自機器の状態とは、例えば自機器が所定の姿勢(例えば縦向き)であるか否かを含んでもよい。また、自機器の状態とは、例えばジェスチャ入力操作が無いまま所定時間が経過したか否かを含んでもよい。コントローラ11が自機器の状態に応じて、第1の近接センサ18aまたは第2の近接センサ18bを適切に選択することによって、ユーザが電子機器1の姿勢に合わせて操作したり、電子機器1の向きを調整したりすることをなくすことができる。そのため、本実施形態に係る電子機器1は、ジェスチャに関するユーザの操作性を向上させることができる。
(その他の実施形態)
本発明を図面および実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形および修正を行うことが容易であることに注意されたい。したがって、これらの変形および修正は本発明の範囲に含まれることに留意されたい。例えば、各手段または各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段またはステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。
上記の実施形態では、コントローラ11は、第1の近接センサ18aの出力および第2の近接センサ18bの出力のうちの一方を選択してジェスチャ検出を行っていた。つまり、一方の近接センサ18の出力が選択されている場合に、他方の近接センサ18も動作している可能性があった。ここで、消費電力を抑えるために、コントローラ11は、自機器の状態に応じて、第1の近接センサ18aまたは第2の近接センサ18bを切り替えてもよい。つまり、コントローラ11は、出力をジェスチャ検出に用いない近接センサ18をオフにしてもよい(停止させてもよい)。例えば図11のステップS3で第1の近接センサ18aが選択されるとき、コントローラ11は第1の近接センサ18aをオンにして、第2の近接センサ18bをオフにする。また、例えば図11のステップS6で第2の近接センサ18bが選択されるとき、コントローラ11は第2の近接センサ18bをオンにして、第1の近接センサ18aをオフにする。ここで、コントローラ11は、自機器の状態を、加速度センサ21から出力される値を用いて判定してもよい。また、コントローラ11は、第1の近接センサ18aおよび第2の近接センサ18bの一方が所定の条件(例えば所定時間が経過すること等)を満たす場合に、第1の近接センサ18aおよび第2の近接センサ18bの他方に切り替えてもよい。
上記の実施形態では、電子機器1は、第1の近接センサ18aが正面に設けられて、第2の近接センサ18bが上面に設けられていた。また、別の例として、第2の近接センサ18bは上面ではなく、底面または背面に設けられていた。ここで、第1の近接センサ18aと第2の近接センサ18bとは、互いに異なる面であれば、あらゆる面に設けることが可能である。例えば、電子機器1は、第1の近接センサ18aが背面に設けられて、第2の近接センサ18bが側面に設けられていてもよい。このとき、コントローラ11は、一方の近接センサ18からの出力に基づくジェスチャ入力操作が無いまま所定時間が経過した場合に、他方の近接センサ18の出力を選択してもよい。つまり、コントローラ11は、電子機器1の姿勢によらず、ジェスチャ入力操作が無いまま所定時間が経過すると他方の近接センサ18を選択するようにしてもよい。
上記の実施形態では、電子機器1は2つの近接センサ18を備えていた。ここで、電子機器1は3つ以上の近接センサ18を備える構成であってもよい。このとき、電子機器1は、近接センサ18が設けられている面が少なくとも2つ以上あるように構成される。3つ以上の近接センサ18は互いに異なる面に設けられてもよい。また、例えば2つの近接センサ18が正面に設けられて、1つの近接センサ18が背面に設けられてもよい。また、3つ以上の近接センサ18は、例えばジェスチャ入力操作が無いまま所定時間が経過すると、所定の順番に従って切り替えられてもよい。
また、電子機器1に設けられる複数の近接センサ18の少なくとも一部の出力は、コントローラ11が電子機器1の姿勢を判定するのに用いられてもよい。例えば、図10(b)の図において、電子機器1の背面の下部(ユーザが右手で把持している部分)に第3の近接センサ18cが設けられていてもよい。コントローラ11は、第3の近接センサ18cからの出力に基づいて、第3の近接センサ18cが覆われていることを把握する。つまり、コントローラ11は、電子機器1がユーザに把持されて縦向きで使用されていると判定できる。近接センサ18の少なくとも一部(この例では第3の近接センサ18c)の出力を用いることによって、コントローラ11は、電子機器1の姿勢についてより正確な判定が可能になる。ここで、コントローラ11は電子機器1がユーザに把持されていると判定した場合に、ディスプレイ14に表示されるアイコンを下方に移動させて(例えばスクロールさせて)、片手でのタップ操作を実行し易くしてもよい。
また、コントローラ11は、電子機器1の姿勢を判定するのにジャイロセンサ24の出力を用いてもよい。このとき、コントローラ11は、電子機器1の向きの変化についても把握することができる。また、コントローラ11は、自機器の状態を判定するのに、照度センサ20の出力を用いてもよい。例えばコントローラ11は、照度センサ20の出力に基づいて周囲光の照度が閾値(例えば50ルクス)未満であることを把握した場合に、電子機器1がポケットまたはカバンに入っている状態であると判定してもよい。
本開示内容の多くの側面は、プログラム命令を実行可能なコンピュータシステムその他のハードウェアにより実行される、一連の動作として示される。コンピュータシステムその他のハードウェアには、例えば、汎用コンピュータ、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)が含まれる。また、このようなプロセッサには、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子機器、ここに記載する機能を実行可能に設計されたその他の装置が含まれる。また、このようなプロセッサには、上記の具体例の組合せが含まれる。ここに示す実施形態は、例えば、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコードまたはこれらいずれかの組合せにより実装される。命令は、必要なタスクを実行するためのプログラムコードまたはコードセグメントであってもよい。そして、命令は、機械読取り可能な非一時的記憶媒体その他の媒体に格納することができる。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラスまたは命令、データ構造もしくはプログラムステートメントのいずれかの任意の組合せを示すものであってもよい。コードセグメントは、他のコードセグメントまたはハードウェア回路と、情報、データ引数、変数または記憶内容の送信および/または受信を行い、これにより、コードセグメントが他のコードセグメントまたはハードウェア回路と接続される。
ここで用いられるストレージ16は、さらに、ソリッドステートメモリ、磁気ディスクおよび光学ディスクの範疇で構成されるコンピュータ読取り可能な有形のキャリア(媒体)として構成することができる。かかる媒体には、ここに開示する技術をプロセッサに実行させるためのプログラムモジュール等のコンピュータ命令の適宜なセットまたはデータ構造が格納される。コンピュータ読取り可能な媒体には、一つ以上の配線を備えた電気的接続、磁気ディスク記憶媒体、磁気カセット、磁気テープ、その他の磁気記憶装置が含まれる。また、コンピュータ読取り可能な媒体には、光学記憶装置(例えば、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もしくは情報を格納可能な他の有形の記憶媒体または上記の具体例いずれかの組合せが含まれる。メモリは、プロセッサまたはプロセッシングユニットの内部および/または外部に設けることができる。ここで用いられるように、「メモリ」という語は、あらゆる種類の長期記憶用、短期記憶用、揮発性、不揮発性またはその他のメモリを意味する。つまり、「メモリ」は特定の種類および/または数に限定されない。また、記憶が格納される媒体の種類も限定されない。