(電子機器の構成)
図1に示すように一実施形態の電子機器1は、タイマー12と、カメラ13と、ディスプレイ14と、マイク15と、ストレージ16と、通信ユニット17と、スピーカー25と、近接センサ18(ジェスチャセンサ)と、コントローラ11と、を備える。電子機器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が設けられる面に設けられるインカメラである。
ディスプレイ14は画面を表示する。画面は、例えば文字、画像、記号および図形等の少なくとも一つを含む。ディスプレイ14は、液晶ディスプレイ(Liquid Crystal Display)、有機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は可視光フォトダイオードを有していてもよい。
コントローラ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は、アプリケーションの起動状況を把握する。
UVセンサ19は、太陽光等に含まれる紫外線(Ultraviolet)量を測定することができる。
照度センサ20は、当該照度センサ20に入射する周囲光の照度を検出する。
加速度センサ21は、電子機器1に働く加速度の方向および大きさを検出する。加速度センサ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の長手方向および短手方向の成分に分離して演算することなく把握してもよい。
検出されるジェスチャは例えば、左右のジェスチャ、上下のジェスチャ、斜めのジェスチャ、時計回りで円を描くジェスチャ、および反時計回りで円を描くジェスチャ等である。例えば左右へのジェスチャとは、電子機器1の短手方向と略平行な方向に行われるジェスチャである。上下のジェスチャとは、電子機器1の長手方向と略平行な方向に行われるジェスチャである。斜めのジェスチャとは、電子機器1と略平行な平面において、電子機器1の長手方向と短手方向とのいずれとも平行でない方向に行われるジェスチャである。
(キッチンモード)
図5は、ユーザがジェスチャにより電子機器1を操作する状況の一例を示す。図5の例で、ユーザは料理のレシピを電子機器1のディスプレイ14に表示しながら、キッチンでレシピに従って料理をしている。このとき、近接センサ18はユーザのジェスチャを検出する。そして、コントローラ11は近接センサ18が検出したジェスチャに基づく処理を行う。例えば、コントローラ11は特定のジェスチャ(例えばユーザが手を上下に動かすジェスチャ)に応じてレシピをスクロールする処理が可能である。料理中は、ユーザの手が汚れたり、濡れたりすることがある。しかし、ユーザは電子機器1に触れることなくレシピをスクロールすることができる。したがって、ディスプレイ14が汚れること、および料理中のユーザの手にディスプレイ14の汚れがうつることを回避できる。
ここで、電子機器1はモードを複数有する。モードとは電子機器1の全体の動作について制限等を与える動作モード(動作状態または動作状況)を意味する。モードは同時に1つだけ選択可能である。本実施形態において、電子機器1のモードは第1モードおよび第2モードを含む。第1モードは、例えばキッチン以外の部屋および外出先等での使用に適している通常の動作モード(通常モード)である。第2モードは、キッチンでレシピを表示しながら料理を行うのに最適な電子機器1の動作モード(キッチンモード)である。上記で説明したように、第2モードの場合には、ジェスチャによる入力操作が可能であることが好ましい。つまり、電子機器1のモードが第2モードに切り替わる場合には、連動して近接センサ18を動作させてジェスチャを検出可能にすることが好ましい。本実施形態の電子機器1は、以下に説明するユーザインターフェースを備えることによって、第2モード(キッチンモード)への切り替えと近接センサ18の動作とを連動させることが可能である。
(ジェスチャの方向を決定する方法)
次に、電子機器1のコントローラ11による、ジェスチャの方向の決定処理について説明する。コントローラ11によるジェスチャの方向の決定処理は、例えば、電子機器1が上述したキッチンモードである場合に実行されてもよい。
電子機器1において、ジェスチャとして検出される方向は、予め定められていてよい。例えば、ジェスチャとして検出される方向は、上下方向及び左右方向に定められていてよい。本実施形態では、説明を簡潔にするため、電子機器1においてジェスチャとして検出される方向が、上下方向及び左右方向に定められているとして、以下説明する。すなわち、本実施形態では、以下、斜め方向のジェスチャについては考慮しない。ただし、これは本開示に係る電子機器1においてジェスチャとして検出される方向を限定するものではない。従って、電子機器1は、以下の説明と同様の方法で、斜め方向のジェスチャの検出を行ってもよい。
電子機器1においてジェスチャとして検出される方向が、上下方向及び左右方向に定められている場合、電子機器1のコントローラ11は、ジェスチャを検出すると、検出したジェスチャが上下左右いずれの方向の操作であるかを決定する。コントローラ11は、例えば、検出したジェスチャが、上下方向の操作であるか、左右方向の操作であるかを決定できる。例えば、コントローラ11は、ジェスチャを検出すると、ジェスチャを上下方向の成分(移動量)と左右方向の成分(移動量)とに分解する。そして、コントローラ11は、上下方向の成分が左右方向の成分よりも大きい場合、ジェスチャが上下方向の操作であると決定する。反対に、コントローラ11は、左右方向の成分が上下方向の成分よりも大きい場合、ジェスチャが左右方向の操作であると決定できる。
コントローラ11は、例えば判定基準を用いて、ジェスチャの方向を決定する。判定基準は、ジェスチャの方向を決定するための基準であり、例えば予めストレージ16に記憶されていてよい。
図6は、判定基準を用いた、ジェスチャの方向の決定方法について説明するための概念図である。図6では、直交座標系が設定されており、x軸が左右方向、y軸が上下方向にそれぞれ対応付けられている。判定基準は、図6に一例として示すように、2つの直線L1及びL2により構成される。以下、本明細書において、角度について言及する場合には、x軸正方向を基準(0度)とし、反時計回りを角度の正方向とする。従って、y軸正方向は、90度である。
図6に示す判定基準では、直線L1は45度、直線L2は−45度(つまり135度)に設定されている。つまり、図6に示す判定基準では、直線L1と直線L2とは、直交している。直線L1と直線L2とにより区分される4つの領域が、それぞれ、上方向、下方向、右方向及び左方向に対応付けられている。具体的には、2つの直線L1及びL2によって区分される4つの領域のうち、−45度から45度の領域が右方向、45度から135度の領域が上方向、135度から225度の領域が左方向、225度から315度の領域が下方向に対応付けられている。図6に示された判定基準を、本明細書において、以下、「標準判定基準」とも称する。
コントローラ11は、近接センサ18からの出力(検出値)に基づいて、ジェスチャが示すベクトルの方向を算出し、判定基準を用いて、算出したベクトルがいずれの方向を示すかを判定する。例えば、コントローラ11は、近接センサ18からの出力に基づいて算出したジェスチャのベクトルが、図6の矢印A1に示すように90度の方向である場合、図6の標準判定基準を用いて、当該ジェスチャが上方向のジェスチャであると判定できる。また、例えば、コントローラ11は、近接センサ18からの出力に基づいて算出したジェスチャのベクトルが、図6の矢印A2に示すように30度の方向である場合、図6の標準判定基準を用いて、当該ジェスチャが右方向のジェスチャであると判定できる。
ところで、標準判定基準を用いてジェスチャの方向が判定される場合、ユーザのジェスチャは、ユーザが意図する方向のジェスチャとして判定されない場合がある。例えば、ユーザが、上方向の操作を行うことを意図して、手を下方向から上方向に動かすジェスチャを行ったとする。このジェスチャを、例えばユーザが右手で行う場合、人体の構造上、右手の手のひらは、図7に手の動きを矢印A3で模式的に示すように、右手の肘を軸として弧を描くように移動する。この場合、ユーザが行ったジェスチャは、ユーザが意図した上方向の成分と、手のひらが弧を描いたことにより生じる右方向の成分とを有する。
矢印A3で模式的に示すジェスチャが行われた場合、コントローラ11は、当該ジェスチャを検出した近接センサ18からの出力に基づいて、当該ジェスチャが示すベクトルの方向を算出する。具体的には、コントローラ11は、近接センサ18からの出力に基づいて、上方向の成分と右方向の成分との大きさを算出し、上方向の成分及び右方向の成分の大きさから、ジェスチャが示すベクトルの方向(つまり図7の矢印A4で模式的に示す方向)を算出する。コントローラ11は、算出したベクトルの方向に基づき、判定基準を用いて、ジェスチャの方向を決定する。
矢印A3で模式的に示すジェスチャにおいて、上方向の成分より右方向の成分の方が大きい場合、ジェスチャが示すベクトルの方向は、45度未満となる。この場合、コントローラ11が標準判定基準を用いてジェスチャが示すベクトルの方向を決定すると、ジェスチャは、右方向へのジェスチャであると決定される。しかしながら、当該ジェスチャにおいて、ユーザが意図したのは上方向の操作であるため、コントローラ11が右方向のジェスチャであると決定して、右方向の処理を行うと、誤操作となる。
本実施形態に係る電子機器1のコントローラ11は、ユーザが自機器(電子機器1)を操作する手に応じて、ユーザのジェスチャの方向を決定する。これにより、上述のような誤操作を防止しやすくする。具体的には、本実施形態に係る電子機器1のコントローラ11は、ユーザが自機器を操作する手に応じて、ジェスチャの方向を判定するための判定基準を決定し、決定した判定基準を用いてジェスチャの方向を決定することにより、誤操作を防止しやすくなる。本実施形態に係る電子機器1のコントローラ11が実行する制御の詳細について説明する。
(判定基準に基づくジェスチャの決定方法)
コントローラ11は、ユーザが自機器を操作する手に応じて、判定基準を決定する。ユーザが自機器を操作する手は、例えばユーザが自機器を操作するためにジェスチャを行う手であってよい。例えば、ユーザが自機器をジェスチャで操作するために、右手でジェスチャを行う場合、操作する手は、右手を意味する。反対に、ユーザが左手でジェスチャを行う場合、操作する手は、左手を意味する。コントローラ11は、ユーザがジェスチャを行う手が決定されている状態で、当該ジェスチャを行う手に応じて、判定基準を決定する。
コントローラ11は、ジェスチャを行う手が右手である場合、右手の判定基準を用いてジェスチャの方向を判定する。右手の判定基準とは、右手による動作の性質を踏まえて、右手で操作を行った場合にユーザの意図に応じたジェスチャの方向の決定を行いやすい判定基準である。右手による動作の性質は、図7を参照して説明したように、例えば、上方向の操作に対して、右方向の成分が含まれやすくなるという性質を含む。右手による動作の性質は、例えば、下方向の操作に対して、図7を参照して説明したのと同様の理由により左方向の成分が含まれやすくなるという性質を含む。
図8は、右手の判定基準の一例を示す図である。右手の判定基準は、図8に一例として示すように、2つの直線L1R及びL2Rにより構成される。直線L1R及びL2Rは、それぞれ図8に破線で示される直線L1及びL2を、所定の角度右方向に回転させた直線である。図8では、所定の角度は20度である。つまり、図8に示す直線L1R及びL2Rは、それぞれ直線L1及びL2を20度右方向に回転させた直線である。
図8に示す右手の判定基準では、2つの直線L1R及びL2Rにより区分される4つの領域が、それぞれ、上方向、下方向、右方向及び左方向に対応付けられる。具体的には、2つの直線L1R及びL2Rによって区分される4つの領域のうち、−65度から25度の領域が右方向、25度から115度の領域が上方向、115度から205度の領域が左方向、205度から295度の領域が下方向に対応付けられる。
図8に示す右手の判定基準を用いた場合、コントローラ11は、近接センサ18からの出力に基づいて算出したジェスチャのベクトルが、矢印A1に示すように90度の方向である場合に、当該ジェスチャが上方向のジェスチャであると判定できる。また、コントローラ11は、近接センサ18からの出力に基づいて算出したジェスチャのベクトルが、矢印A2に示すように30度の方向である場合にも、当該ジェスチャが上方向のジェスチャであると判定できる。すなわち、矢印A2に示す30度の方向のジェスチャは、標準判定基準を用いると、右方向のジェスチャであると決定されるが、右手の判定基準を用いると、上方向のジェスチャであると決定される。
右手でジェスチャが行われる場合には、上述したように、上方向のジェスチャに対して、右方向の成分が含まれやすくなる。ユーザが上方向の操作を意図して行ったジェスチャに右方向の成分が含まれることによって当該ジェスチャが矢印A2に示す30度の方向のジェスチャであると判断された場合、コントローラ11は、標準判定基準を用いると、当該ジェスチャを右方向のジェスチャであると決定する。しかしながらユーザが意図したジェスチャは、上方向のジェスチャであるため、右方向のジェスチャであるとの決定は、誤操作の原因となる。これに対し、同じジェスチャであっても、コントローラ11は、右手の判定基準を用いた場合、当該ジェスチャを上方向のジェスチャであると決定する。そのため、右手の判定基準を用いることによって、コントローラ11は、ユーザの意図した制御を実行しやすくなる。そのため、電子機器1によれば、ジェスチャによる入力操作において誤操作を防止しやすくなる。
図9は、右手の判定基準の他の一例を示す図である。図9に示す右手の判定基準は、2つの直線L1R及びL2により構成される。直線L1Rは、直線L1を、所定の角度(例えば20度)右方向に回転させた直線である。直線L2は、図6を参照して説明したものと同じ直線である。
図9に示す右手の判定基準では、2つの直線L1R及びL2により区分される4つの領域が、それぞれ、上方向、下方向、右方向及び左方向に対応付けられる。具体的には、2つの直線L1R及びL2によって区分される4つの領域のうち、−45度から25度の領域が右方向、25度から135度の領域が上方向、135度から205度の領域が左方向、205度から315度の領域が下方向に対応付けられる。
コントローラ11は、図9に示す右手の判定基準を用いた場合においても、矢印A1に示す90度の方向のジェスチャを、上方向のジェスチャと判定し、矢印A2に示す30度の方向のジェスチャを、上方向のジェスチャと判定する。そのため、コントローラ11は、図9に示す右手の判定基準を用いた場合においても、図8に示した右手の判定基準を用いた場合と同様に、ユーザの意図した制御を実行しやすくなる。そのため、電子機器1によれば、ジェスチャによる入力操作において誤操作を防止しやすくなる。
右手でジェスチャを行う場合には、人体の構造上、上下左右のいずれの方向をユーザが意図してジェスチャを行った場合であっても、右下方向及び左上方向の成分を含むジェスチャとして検出されにくい。そのため、右手の判定基準においても、右下方向から左上方向について境界を形成する直線L2については、図9の例で示すように、標準判定基準と同じ直線を用いることができる。
コントローラ11は、ジェスチャを行う手が左手である場合、左手の判定基準を用いてジェスチャの方向を判定する。左手の判定基準とは、左手による動作の性質を踏まえて、左手で操作を行った場合にユーザの意図に応じたジェスチャの方向の決定を行いやすい判定基準である。左手による動作の性質は、右手による動作に対して左右対称となる性質であり、例えば、上方向の操作に対して、左方向の成分が含まれやすくなるという性質を含む。左手による動作の性質は、例えば、下方向の操作に対して、右方向の成分が含まれやすくなるという性質を含む。
図10は、左手の判定基準の一例を示す図である。左手の判定基準は、図10に一例として示すように、2つの直線L1L及びL2Lにより構成される。直線L1L及びL2Lは、それぞれ図6に破線で示される直線L1及びL2を、所定の角度左方向に回転させた直線である。図10では、所定の角度は20度である。つまり、図10に示す直線L1L及びL2Lは、それぞれ直線L1及びL2を20度左方向に回転させた直線である。
図10に示す左手の判定基準では、2つの直線L1L及びL2Lにより区分される4つの領域が、それぞれ、上方向、下方向、右方向及び左方向に対応付けられる。具体的には、2つの直線L1L及びL2Lによって区分される4つの領域のうち、−25度から65度の領域が右方向、65度から155度の領域が上方向、155度から245度の領域が左方向、245度から335度の領域が下方向に対応付けられる。
コントローラ11は、図10に示す左手の判定基準を用いた場合、上記右手の判定基準に関して詳細に説明したのと同様の理由で、左手で行われたジェスチャについて、ユーザの意図した制御を実行しやすくなる。そのため、電子機器1によれば、ジェスチャによる入力操作において誤操作を防止しやすくなる。
図11は、左手の判定基準の他の一例を示す図である。図11に示す左手の判定基準は、2つの直線L1及びL2Lにより構成される。直線L2Lは、直線L2を、所定の角度(例えば20度)左方向に回転させた直線である。直線L1は、図6を参照して説明したものと同じ直線である。
図11に示す左手の判定基準では、2つの直線L1及びL2Lにより区分される4つの領域が、それぞれ、上方向、下方向、右方向及び左方向に対応付けられる。具体的には、2つの直線L1及びL2Lによって区分される4つの領域のうち、−25度から45度の領域が右方向、45度から155度の領域が上方向、155度から225度の領域が左方向、225度から335度の領域が下方向に対応付けられる。
コントローラ11は、図11に示す左手の判定基準を用いた場合も、上記右手の判定基準に関して詳細に説明したのと同様の理由で、左手で行われたジェスチャについて、ユーザの意図した制御を実行しやすくなる。そのため、電子機器1によれば、ジェスチャによる入力操作において誤操作を防止しやすくなる。
図8から図11の説明においては、判定基準を構成する直線の回転角度(所定の角度)が20度である場合について説明したが、所定の角度は、20度に限られない。所定の角度は、ジェスチャの方向を、ユーザの意図した方向に決定しやすい任意の角度であってよい。
また、右手の判定基準及び左手の判定基準は、図8から図11に示すものに限られない。右手の判定基準及び左手の判定基準は、ジェスチャを行う手に応じて、ジェスチャの方向を、ユーザの意図した方向に決定しやすい任意の基準とすることができる。
(ジェスチャを行う手の決定方法)
次に、コントローラ11による、ユーザが自機器を操作するためにジェスチャを行う手(つまり、右手または左手)の決定方法について説明する。コントローラ11は、ここで説明する方法の1つを用いて、または2つ以上を組み合わせて、ユーザが自機器を操作するためにジェスチャを行う手を決定する。コントローラ11は、決定した手に基づいて、ジェスチャの方向の決定に用いる判定基準(つまり、右手の判定基準または左手の判定基準)を決定して、ジェスチャの方向を決定する。
コントローラ11は、例えば、予めストレージ16に記憶された情報に基づいて、ジェスチャを行う手を決定してよい。例えば、ストレージ16には、ユーザが予め設定した、ジェスチャを行う手に関する情報(つまり、右手でジェスチャを行うか左手でジェスチャを行うかに関する情報)が記憶されていてよい。コントローラ11は、ストレージ16に記憶されたジェスチャを行う手に関する情報に基づいて、ジェスチャを行う手を決定できる。
コントローラ11は、例えば、カメラ13で撮像した画像に基づいて、ジェスチャを行う手を決定してよい。具体的には、コントローラ11は、ジェスチャに基づく制御を実行する場合に、カメラ13を起動する。カメラ13は、ジェスチャを行うユーザを撮像する。コントローラ11は、カメラ13が撮像した画像を解析して、ユーザが右手または左手のいずれの手でジェスチャを行っているかを決定してよい。コントローラ11は、ジェスチャに基づく制御を開始してから、所定の回数(例えば5回等)のジェスチャが、連続して同じ手で行われていると判断した場合、カメラ13の動作を停止してもよい。所定の回数のジェスチャが連続して同じ手で行われた場合、ユーザは、ジェスチャを当該手で行い続ける可能性が高いと推定できる。そのため、コントローラ11は、カメラ13の動作を停止した場合、ジェスチャが連続して行われていた手を、ジェスチャを行う手として決定し続けてよい。これにより、コントローラ11は、ユーザがジェスチャを行う可能性の高い手に対応する判定基準を用いることができるとともに、カメラ13の動作を停止することで消費電力を抑えることができる。
コントローラ11は、間欠的にカメラ13を起動して、ユーザがジェスチャを行う手が変わっていないか否かを確認してもよい。
コントローラ11は、例えば、電子機器1の動作状態に基づいて、ジェスチャを行う手を決定してよい。電子機器1の動作状態は、電子機器1が静止している状態(静止状態)であるか、静止していない状態(非静止状態)であるかを含む。コントローラ11は、電子機器1の動作状態を、加速度センサ21の出力に基づいて判断できる。コントローラ11は、加速度センサ21の出力に基づき、電子機器1が非静止状態であると判断した場合、ユーザが電子機器1を利き手で保持していると判断し、利き手とは反対の手を、ジェスチャを行う手として決定してよい。一方、コントローラ11は、加速度センサ21の出力に基づき、電子機器1が静止状態であると判断した場合、ユーザが電子機器1を保持していないと判断し、ユーザの利き手を、ジェスチャを行う手として決定してよい。例えばユーザが右利きの場合、コントローラ11は、電子機器1が非静止状態であると判断した場合には、左手を、ジェスチャを行う手として決定し、電子機器1が静止状態であると判断した場合には、右手を、ジェスチャを行う手として決定してよい。ユーザの利き手は、例えば、ユーザの入力により、予めストレージ16に記憶されていてよい。ユーザの利き手は、例えば、電子機器1が備える各種センサからの出力に基づき、コントローラ11が判断してもよい。例えば、コントローラ11は、電子機器1を保持する指の位置、またはタッチスクリーンディスプレイに接触する指の形状等に基づき、公知の技術を用いて、電子機器を保持する手が右手または左手のいずれであるかを判断できる。
コントローラ11は、例えば、電子機器1のモードに基づいて、ジェスチャを行う手を決定してよい。コントローラ11は、例えば、電子機器1が上述したキッチンモードである場合、ユーザの利き手とは反対の手を、ジェスチャを行う手として決定してよい。電子機器1がキッチンモードである場合、ユーザは、利き手で包丁等の調理器具を使用している可能性が高い。この場合、ユーザは、利き手とは反対の手でジェスチャを行う可能性が高いと推定できることから、コントローラ11は、利き手とは反対の手を、ジェスチャを行う手として決定できる。
(コントローラが実行する処理のフロー)
図12は、電子機器1のコントローラ11が実行する処理の一例を示すフローチャートである。
コントローラ11は、上記説明した方法により、ユーザがジェスチャを行う手(つまり、右手または左手)を決定する(ステップS1)。
コントローラ11は、ステップS1によりジェスチャを行う手が決定した状態で、ジェスチャを行う手に基づいて、ジェスチャの方向の決定のために用いる判定基準を決定する(ステップS2)。
コントローラ11は、近接センサ18からの出力を取得する(ステップS3)。
コントローラ11は、ステップS3で取得した近接センサ18からの出力に基づいて、ステップS2で決定した判定基準を用いて、ジェスチャの方向を決定する(ステップS4)。
コントローラ11は、ステップS4で決定したジェスチャの方向に応じて、制御を行う(ステップS5)。
以上説明したように、本実施形態に係る電子機器1は、ユーザがジェスチャを行う手に応じて、近接センサ18からの出力に基づいて、ユーザのジェスチャの方向を決定する。そのため、電子機器1は、ユーザがジェスチャを行う手に応じて、ユーザのジェスチャを、ユーザが意図する操作として検出しやすくなる。これにより、ジェスチャによる入力操作において誤操作を防止しやすくなる。
(その他の実施形態)
本発明を図面および実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形および修正を行うことが容易であることに注意されたい。したがって、これらの変形および修正は本発明の範囲に含まれることに留意されたい。例えば、各手段または各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段またはステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。
上記の実施形態では、ジェスチャは、近接センサ18により検出されると説明したが、必ずしも近接センサ18により検出されなくてもよい。ジェスチャは、任意の非接触でユーザのジェスチャを検出可能な、任意の非接触センサにより検出されてもよい。非接触センサの一例は、例えば、カメラ13または照度センサ20等を含む。
本開示内容の多くの側面は、プログラム命令を実行可能なコンピュータシステムその他のハードウェアにより実行される、一連の動作として示される。コンピュータシステムその他のハードウェアには、例えば、汎用コンピュータ、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もしくは情報を格納可能な他の有形の記憶媒体またはこれらいずれかの組合せが含まれる。メモリは、プロセッサまたはプロセッシングユニットの内部および/または外部に設けることができる。ここで用いられるように、「メモリ」という語は、あらゆる種類の長期記憶用、短期記憶用、揮発性、不揮発性またはその他のメモリを意味する。つまり、「メモリ」は特定の種類および/または数に限定されない。また、記憶が格納される媒体の種類も限定されない。