[第1実施形態]
(電子機器の構成)
図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が設けられる面に設けられるインカメラである。また、カメラ13は一例として、電子機器1の筐体の背面(ディスプレイ14が設けられる面の反対側の面)に設けられるアウトカメラである。本実施形態において、カメラ13はインカメラおよびアウトカメラを含む。
ディスプレイ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は可視光フォトダイオードを有していてもよい。
コントローラ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は、照度センサ20が検出した照度の情報から電子機器1の周囲光について把握する。また、例えばコントローラ11は、加速度センサ21が検出した加速度の情報から電子機器1の姿勢および電子機器1が静止状態であるか等を把握する。コントローラ11は、電子機器1が静止状態であると判定する場合に、例えばタイマー12を用いて、またはコントローラ11自身で静止時間をカウントしてもよい。また、例えばコントローラ11は、ストレージ16に記憶されているカメラ13が撮影した画像から、ユーザの所定の部位(例えば手)を抽出する処理を実行する。コントローラ11は、画像から抽出したユーザの所定の部位の時間変化に基づいてジェスチャの検出および判定を行う。
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の長手方向下方へと手を動かすジェスチャを行うと、ユーザの手の動きに連動して画面が下方へとスクロールする。ここで、近接センサ18によるジェスチャ検出に代えて、カメラ13が撮影した画像に基づいてコントローラ11がジェスチャ検出を実行してもよい。
図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の検出距離(例えば数cm)よりも離れた場合には、ジェスチャによる入力操作はできなくなる。一方で、本実施形態に係る電子機器1は、カメラ13が撮影した画像からユーザの所定の部位(例えば手)を抽出して、その時間変化からジェスチャの検出および判定を行うことが可能である。つまり、電子機器1は画像処理によるジェスチャ検出が可能である。このとき、画像にユーザの所定の部位が含まれれば、ユーザが電子機器1から例えば数m離れていてもジェスチャ検出は可能である。また、画像処理によるジェスチャ検出は、例えば左右のジェスチャ等に限らず、さらに複雑なジェスチャの検出が可能である。そのため、画像処理によるジェスチャ検出は、ジェスチャに関するユーザの操作性をさらに向上させ得る。
しかし、画像処理によるジェスチャ検出では、カメラ13による動画撮影が必要である。そのため、近接センサ18を用いる場合と比較すると、画像処理によるジェスチャ検出は消費電力が大きい。また、カメラ13が撮影した画像からユーザの所定の部位を抽出する必要があるため、画像処理によるジェスチャ検出は、電子機器1の周囲の明るさが適切な範囲であることを必要とする。近接センサ18によるジェスチャ検出に代えて、画像処理によるジェスチャ検出だけを実行することは、例えば消費電力の観点等から現実的ではなかった。
そこで、本実施形態に係る電子機器1は、ユーザが自機器(電子機器1)を使用する状態に応じて、近接センサ18から出力される値に基づいたジェスチャ検出と、カメラ13から出力される値に基づいたジェスチャ検出と、を切り替える。ここで、画像処理によるジェスチャ検出では、電子機器1は例えば画像における輪郭を抽出して、幾何学特徴が一致するか否かによってユーザの所定の部位を判定する。そして、電子機器1はユーザの所定の部位と判定した部分を抽出して、抽出した部分の時間変化を把握することによってジェスチャの検出を行う。ここで、画像処理によるジェスチャ検出としては、上記の処理に限らず他の公知の技術を用いることが可能である。
(ジェスチャ検出手法の切り替え)
本実施形態に係る電子機器1のコントローラ11は、ユーザが自機器を使用する状態を、ユーザの自機器の使用環境に応じて決定する。自機器の使用環境は例えば周囲の明るさである。例えばキッチンで電子機器1を第2モード(キッチンモード)で動作させる場合、午後から夕方にかけて太陽からの西日が強く入り込むことがある。このとき、カメラ13からの画像を用いる画像処理によるジェスチャ検出では、逆光の影響によってユーザを正確に抽出できずに、ジェスチャの認識率が低下するおそれがある。
図6は、本実施形態における、周囲光の照度とジェスチャ検出手法の切り替えとの関係を示す図である。第2モード(キッチンモード)で動作する電子機器1のコントローラ11は、照度センサ20が検出した照度の情報から電子機器1の周囲光について把握する。そして、コントローラ11は、周囲光の照度が第1の閾値以上かつ第2の閾値未満であれば、カメラ13から出力される値に基づいたジェスチャ検出(画像処理によるジェスチャ検出)を行う。コントローラ11は、周囲光の照度が第2の閾値以上であれば、近接センサ18から出力される値に基づいたジェスチャ検出(近接センサ18によるジェスチャ検出)を行う。また、コントローラ11は、周囲光の照度が第1の閾値未満であれば、近接センサ18から出力される値に基づいたジェスチャ検出を行う。
ここで、本実施形態において、第1の閾値は例えば300ルクスである。例えば日の出または日の入りの時の照度が約300ルクスである。また、本実施形態において、第2の閾値は例えば2000ルクスである。例えば日の出から1時間程度経過した曇天時の照度が約2000ルクスである。電子機器1は、周囲光の照度が第1の閾値以上かつ第2の閾値未満であれば、カメラ13が撮影した画像からユーザの所定の部位を適切に抽出できるため、画像処理によるジェスチャ検出を行う。例えば、キッチンが蛍光灯だけで照らされている場合に照度は約1000ルクスである。このとき、本実施形態に係る電子機器1は画像処理によるジェスチャ検出を行う。
図7は、第2モード(キッチンモード)で動作する電子機器1のディスプレイ14に、タイマー12の設定画面が表示された様子を示す。タイマー時間は初期値で5分に設定されている。コントローラ11は、近接センサ18によるジェスチャ検出を行う場合に、ユーザが手を上下方向に移動させるジェスチャに基づいてタイマー時間を調整する。コントローラ11は、例えば近接センサ18が手を下から上へと移動させるジェスチャを1回検出すると、タイマー時間を1分加える。また、コントローラ11は、例えば近接センサ18が手を上から下へと移動させるジェスチャを1回検出すると、タイマー時間を1分減じる。
コントローラ11は、画像処理によるジェスチャ検出を行う場合にも、ユーザの手を上下方向に移動させるジェスチャに基づく調整が可能である。これに加えて、コントローラ11は、画像処理によるジェスチャ検出を行う場合に、ユーザが示した指の本数に応じてタイマー時間を変更できる。例えば、コントローラ11は、ストレージ16に記憶されているカメラ13が撮影した画像を読み出して、ユーザの手を抽出する。例えば抽出されたユーザの手が指を3本立てている状態であれば、コントローラ11はタイマー時間を3分に変更する。この例のように、画像処理によるジェスチャ検出では、ユーザのより細かいジェスチャを検出できる。そのため、画像処理によるジェスチャ検出では、細かいジェスチャを用いた追加的なジェスチャ入力操作(上記の例では指を立てるジェスチャによる操作)が可能になる。よって、ジェスチャに関するユーザの操作性を向上させることができる。
ここで、コントローラ11は、周囲光の照度が第1の閾値以上かつ第2の閾値未満である場合に限って画像処理によるジェスチャ検出を行う。つまり、コントローラ11は、撮影した画像からユーザの手を適切に抽出できない可能性がある場合に、近接センサ18によるジェスチャ検出を行う。そのため、電子機器1は、画像処理によるジェスチャ検出だけを実行する場合と比較して、消費電力の増大を抑えることができる。
(フローチャート)
図8は電子機器1が実行する周囲光の照度に応じたジェスチャ検出手法の切り替え処理を例示するフローチャートである。図8に示す処理の開始時において、電子機器1はジェスチャによる入力操作が可能な第2モード(キッチンモード)で動作している。
電子機器1のコントローラ11は、照度センサ20が検出した照度の情報を取得する(ステップS1)。つまり、コントローラ11は、電子機器1の使用環境の一例である周囲光の照度の情報を取得する。
コントローラ11は、周囲光の照度が第1の閾値以上かつ第2の閾値未満であるかを判定する(ステップS2)。ここで、第1の閾値は例えば300ルクスであるが、例えばカメラ13の仕様における最低被写体照度等に応じて変動させてもよい。また、第2の閾値は例えば2000ルクスであるが、例えばカメラ13が逆光補正機能を備えるか否かに応じて変動させてもよい。つまり、第1の閾値および第2の閾値は固定値でなくてもよい。例えば第1の閾値および第2の閾値は、電子機器1が備えるカメラ13の性能に応じて変化してもよい。
コントローラ11は、周囲光の照度が第1の閾値以上かつ第2の閾値未満である場合に(ステップS2のYes)、画像処理によるジェスチャ検出を行う(ステップS3)。また、周囲光の照度が第1の閾値以上かつ第2の閾値未満の範囲に含まれない場合に(ステップS2のNo)、コントローラ11は近接センサ18によるジェスチャ検出を行う(ステップS4)。つまり、コントローラ11は周囲光の照度に応じてジェスチャ検出手法を切り替える。
以上のように、本実施形態に係る電子機器1は、ジェスチャ検出を可能にする近接センサ18と、カメラ13と、を備える。コントローラ11は、ユーザの自機器(電子機器1)の使用環境(照度)に応じてユーザが自機器を使用する状態を決定する。つまり、コントローラ11は、電子機器1が例えば強い太陽光の環境下で使用されているか、または暗闇で使用されているか等を判定する。そして、コントローラ11は、ユーザが自機器を使用する状態に応じて、近接センサ18から出力される値に基づいたジェスチャ検出と、カメラ13から出力される値に基づいたジェスチャ検出と、を切り替える。上記の切り替えによって、本実施形態に係る電子機器1は、ジェスチャに関するユーザの操作性を向上させながらも、消費電力の増大を抑えることができる。
ここで、上記の周囲光の照度による切り替えに関連して、電子機器1は次のような機能を備えてもよい。夜間、停電または消灯等の事情によって周囲が暗い場合に、コントローラ11は照度センサ20が検出した照度の情報に基づいて、電子機器1を自動的に第3モード(低照度モード)で動作させてもよい。コントローラ11は、例えば周囲光の照度が第1の閾値未満の場合に、電子機器1を第3モードで動作させてもよい。電子機器1が第3モードで動作すると、近接センサ18によるジェスチャ検出が有効になる。近接センサ18は赤外線を用いるため、周囲が暗くてもユーザのジェスチャを検出することが可能である。電子機器1は、ユーザが電子機器1に対して手をかざすジェスチャを検出すると、ディスプレイ14を点灯させてもよい。ディスプレイ14の点灯時間は短時間(例えば2秒等)であってもよい。また、別の例として、ディスプレイ14は、ユーザがディスプレイ14に接触するまでずっと点灯していてもよい。また、別の例として、ディスプレイ14は、所定の時間(例えば5秒等)点滅を繰り返してもよい。電子機器1が上記の機能を備える場合、ユーザは暗い場所で電子機器1の正確な場所が分からない場合に、おおよその位置で手をかざすだけで、点灯したディスプレイ14によって電子機器1がどこにあるかを認識することが可能である。
また、ユーザが電子機器1を第3モード(低照度モード)で動作させることを選択できてもよい。例えば、ユーザが設定画面で明示的に第3モードを使用するように設定した場合のみ、電子機器1が第3モードで動作してもよい。また、電子機器1が照度センサ20に照度を検出させるアプリケーションプログラム(以下「照度検出アプリ」という)を有していてもよい。そして、ユーザが照度検出アプリを起動させた時の照度の値に応じて、電子機器1は第3モードで動作するか否かを決定してもよい。例えば、照度検出アプリの起動時の照度が1000ルクス未満の場合に、第3モードでの動作が選択されてもよい。
[第2実施形態]
第2実施形態に係る電子機器1について図9および図10を参照しながら説明する。本実施形態の電子機器1の構成は第1実施形態と同じである。本実施形態の電子機器1は、以下に説明するように、近接センサ18から出力される値に基づいたジェスチャ検出と、カメラ13から出力される値に基づいたジェスチャ検出と、を切り替える。
(スリープ画面)
図9(a)は、第2モードで動作する電子機器1のディスプレイ14にレシピが表示された様子(アクティブ状態の一例)を示す。図9(b)は、電子機器1がスリープ状態となってディスプレイ14が非表示となった様子を示す。図9(a)の状態でユーザからの入力操作が無く所定時間(例えば1分)が経過すると、電子機器1はスリープ状態となって、図9(b)に示すようにディスプレイ14が非表示になる。また、第2モードで動作する電子機器1は、スリープ状態の場合であってもジェスチャ入力操作が有効である。そのため、図9(b)の状態でユーザが手を電子機器1にかざすと、電子機器1のスリープ状態が解除されて、図9(a)の表示に戻る。
(ジェスチャ検出手法の切り替え)
本実施形態に係る電子機器1のコントローラ11は、ユーザが自機器を使用する状態を、自機器自体の状態に応じて決定する。自機器自体の状態は、この例ではアクティブ状態またはスリープ状態である。コントローラ11は、電子機器1がアクティブ状態であれば、カメラ13を動作させて画像処理によるジェスチャ検出を行う。上記のように、画像処理によるジェスチャ検出が行われることによって、ジェスチャに関するユーザの操作性が向上する。
ここで、電子機器1がスリープ状態の間に、仮にカメラ13で動画撮影をしながらコントローラ11でジェスチャを判定すると消費電力が大きくなる。そこで、コントローラ11は、スリープ状態の間に、近接センサ18から出力される値に基づいたジェスチャ検出を行う。本実施形態において、ユーザからの入力操作が無く所定時間が経過すると、電子機器1はスリープ状態となるとともに近接センサ18によるジェスチャ検出に切り替わる。そのため、電子機器1は消費電力の増大を抑えることができる。
ただし、電子機器1が充電中であれば、消費電力を抑える必要性があまりないため、コントローラ11は画像処理によるジェスチャ検出を継続してもよい。
(フローチャート)
図10は電子機器1が実行する、電子機器1自体の状態に応じたジェスチャ検出手法の切り替え処理を例示するフローチャートである。図10に示す処理の開始時において、電子機器1はジェスチャによる入力操作が可能な第2モード(キッチンモード)で動作している。また、図10に示す処理の開始時において、電子機器1はスリープ状態が解除された状態(通常の画面表示に戻った状態)である。
電子機器1のコントローラ11は、画像処理によるジェスチャ検出を行う(ステップS11)。画像処理によるジェスチャ検出が実行されることによって、ユーザの操作性が向上する。
コントローラ11は、電子機器1が充電中であるか判定する(ステップS12)。ここで、コントローラ11は、例えば電子機器1のバッテリーの残容量の情報を受け取り、その時間変化を把握することで充電中であるか否かを判定してもよい。
コントローラ11は、電子機器1が充電中であれば(ステップS12のYes)、画像処理によるジェスチャ検出を継続する。つまり、コントローラ11は、一連のジェスチャ検出手法の切り替え処理を終了する。ここで、本実施形態において充電中の電子機器1はスリープ状態にはならず、アクティブ状態のままである。
コントローラ11は、電子機器1が充電中でなければ(ステップS12のNo)、ステップS13の処理に進む。
コントローラ11は、ユーザからのジェスチャ入力操作が無いまま所定時間(例えば1分)が経過するまで待機する(ステップS13のNo)。
ユーザからのジェスチャ入力操作が無いまま所定時間(例えば1分)が経過すると、電子機器1はスリープ状態となって、図9(b)に示すようにディスプレイ14が非表示になる。コントローラ11は、所定時間が経過して電子機器1がスリープ状態となった場合に(ステップS13のYes)、近接センサ18によるジェスチャ検出を行う(ステップS14)。近接センサ18によるジェスチャ検出に切り替えることによって、電子機器1のスリープ状態における消費電力の増大が抑えられる。
以上のように、本実施形態に係る電子機器1のコントローラ11は、自機器(電子機器1)自体の状態に応じて、ユーザが自機器を使用する状態を決定する。つまり、コントローラ11は、電子機器1のアクティブ状態またはスリープ状態に応じて、近接センサ18から出力される値に基づいたジェスチャ検出と、カメラ13から出力される値に基づいたジェスチャ検出と、を切り替える。また、本実施形態において、コントローラ11は電子機器1の充電状態に応じてジェスチャ検出手法を選択する。上記の切り替えによって、本実施形態に係る電子機器1は、ジェスチャに関するユーザの操作性を向上させながらも、消費電力の増大を抑えることができる。
ここで、自機器自体の状態に応じた切り替えに関連して、電子機器1は次のような機能を備えてもよい。電子機器1がアクティブ状態であっても、ユーザからのジェスチャ入力操作が無いまま別の所定時間(例えば30秒)が経過した場合に、コントローラ11は近接センサ18によるジェスチャ検出に切り替えてもよい。このとき、電子機器1の消費電力を更に抑えることが可能である。ただし、電子機器1が充電中であれば、消費電力を抑える必要性があまりないため、コントローラ11は画像処理によるジェスチャ検出を継続してもよい。
[第3実施形態]
第3実施形態に係る電子機器1について図11を参照しながら説明する。本実施形態の電子機器1の構成は第1実施形態と同じである。本実施形態の電子機器1は、以下に説明するように、近接センサ18から出力される値に基づいたジェスチャ検出と、カメラ13から出力される値に基づいたジェスチャ検出と、を切り替える。
カメラ13は、連続的な動画撮影を行うと、一例では200mA程度の電流が流れるので消費電力が大きい。一方、近接センサ18は、光源用赤外LED180、4つの赤外フォトダイオードSU,SR,SDおよびSLを間欠動作させることができるため低消費電力である。しかし、近接センサ18の検出距離は短い(例えば数cm)。そこで、本実施形態の電子機器1は、ユーザと自機器との距離に応じてジェスチャ検出手法を切り替える。
(フローチャート)
図11は電子機器1が実行する、ユーザと自機器(電子機器1)との距離に応じたジェスチャ検出手法の切り替え処理を例示するフローチャートである。図11に示す処理の開始時において、電子機器1はジェスチャによる入力操作が可能な第2モード(キッチンモード)で動作している。
本実施形態に係る電子機器1のコントローラ11は、近接センサ18によるジェスチャ検出を行う(ステップS21)。
コントローラ11は、加速度センサ21が検出した加速度の情報を取得する(ステップS22)。コントローラ11は、電子機器1にユーザの入力操作がなく、取得した加速度の情報から電子機器1が移動していない場合に、電子機器1が静止状態であると判定する。そして、コントローラ11は、電子機器1の静止状態が所定時間(例えば1分)未満の場合に(ステップS23のNo)、ユーザと電子機器1との距離が近いと判定する。ユーザが電子機器1の近くにいる場合には電子機器1を頻繁に操作するため、電子機器1の静止状態が短くなると考えられる。そのため、コントローラ11は上記のように判定する。そして、コントローラ11はステップS22の処理に戻る。
一方、コントローラ11は、電子機器1の静止状態が所定時間(例えば1分)以上の場合に(ステップS23のYes)、電子機器1とユーザとの距離が離れていると判定する。このとき、コントローラ11は、ユーザが電子機器1と離れたところにいてもジェスチャによって操作可能であるように、カメラ13を動作させて画像処理によるジェスチャ検出を行う(ステップS24)。このように、コントローラ11は、加速度センサ21からの出力信号に基づいて距離(より具体的には、ユーザと電子機器1との距離が近いか離れているか)について判定する。
以上のように、本実施形態に係る電子機器1のコントローラ11は、ユーザと自機器(電子機器1)との距離に応じて、ユーザが自機器を使用する状態を決定する。本実施形態において、コントローラ11は、加速度センサ21からの加速度の情報に基づく電子機器1の静止状態の時間からユーザと自機器との距離を推定する。上記の切り替えによって、本実施形態に係る電子機器1は、ジェスチャに関するユーザの操作性を向上させながらも、消費電力の増大を抑えることができる。
[第4実施形態]
第4実施形態に係る電子機器1について図12および図13を参照しながら説明する。本実施形態の電子機器1の構成は第1実施形態と同じである。本実施形態の電子機器1は、以下に説明するように、近接センサ18から出力される値に基づいたジェスチャ検出と、カメラ13から出力される値に基づいたジェスチャ検出と、を切り替える。
図12(a)は、ディスプレイ14にレシピが表示されている状態を示す。このとき、ユーザはジェスチャ入力操作によって、電子機器1のタッチパネル(ディスプレイ14)に触れることなく、レシピが表示されている画面をスクロールさせることができる。コントローラ11は、例えばユーザが手を上下方向に移動させるジェスチャの検出信号に基づいて、ディスプレイ14の画面をスクロールさせる。また、コントローラ11は、例えばユーザが手を一定時間(例えば1秒等)かざすジェスチャによって、図12(a)のレシピの表示と、図12(b)のタイマー12の設定画面の表示と、を互いに切り替える。先に説明したように、図12(b)のタイマー12の設定画面で画像処理によるジェスチャ検出を行う場合には、ユーザが示した指の本数に応じたタイマー時間の変更が可能になる。つまり、図12(b)のタイマー12の設定画面において画像処理によるジェスチャ検出が可能になれば、ジェスチャに関するユーザの操作性が向上する。
(ジェスチャ検出手法の切り替え)
本実施形態に係る電子機器1のコントローラ11は、ユーザが自機器を使用する状態を、ユーザの操作に応じて決定する。ユーザの操作は、例えば表示画面を変更する操作である。本実施形態の例では、ユーザが図12(a)のレシピの表示画面から図12(b)のタイマー画面に変更する操作である。コントローラ11は、ディスプレイ14にレシピが表示されている状態では、近接センサ18によるジェスチャ検出を行う。そして、ユーザがディスプレイ14にタイマー画面を表示させる操作をすると、画像処理によるジェスチャ検出を行う。
(フローチャート)
本実施形態に係る電子機器1のコントローラ11は、近接センサ18によるジェスチャ検出を行う(ステップS31)。
コントローラ11は、ユーザの所定の操作を検出するまで待機する(ステップS32のNo)。コントローラ11は、待機している間も近接センサ18によるジェスチャ検出を続ける。ここで、図12(a)および図12(b)の例では、ユーザの所定の操作は、レシピの表示画面からタイマー画面に変更するための手をかざすジェスチャである。
コントローラ11は、ユーザの所定の操作を検出すると(ステップS32のYes)、カメラ13を動作させて画像処理によるジェスチャ検出を行う(ステップS33)。
以上のように、本実施形態に係る電子機器1のコントローラ11は、ユーザの操作に応じて、ユーザが自機器を使用する状態を決定する。図12(a)および図12(b)の例では、ユーザは細かいジェスチャ(指を立てるジェスチャ)を用いた追加的な入力操作が可能になる。このように、カメラ13を用いることで追加的なジェスチャ入力操作が可能になる状態へとユーザが遷移させた場合に、コントローラ11は、近接センサ18によるジェスチャ検出から画像処理によるジェスチャ検出へと切り替えてもよい。逆に、追加的なジェスチャ入力操作がない状態へユーザが遷移させた場合には、近接センサ18によるジェスチャ検出が行われてもよい。上記の切り替えによって、本実施形態に係る電子機器1は、ジェスチャに関するユーザの操作性を向上させながらも、消費電力の増大を抑えることができる。
(その他の実施形態)
本発明を図面および実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形および修正を行うことが容易であることに注意されたい。したがって、これらの変形および修正は本発明の範囲に含まれることに留意されたい。例えば、各手段または各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段またはステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。
(第1変形例)
上記の第1実施形態では、西日が強く入り込むことがあるキッチンで電子機器1を動作させた。ここで、電子機器1は屋内だけで使われるものではなく、屋外でも使用され得る。電子機器1は、屋内での使用か、屋外での使用かを判断して、ジェスチャ検出手法を切り替えてもよい。
例えば屋外での使用において電子機器1を使用すると、アプリケーションの仕様によっては、カメラ13で撮影した動画をディスプレイ14に表示しながらジェスチャ検出を行うことがある。すると、ユーザの自機器(電子機器1)に、ユーザ以外の人が映し出されることになり、プライバシーの観点から好ましくないことがある。そこで、電子機器1のコントローラ11は、周囲光の照度が第3の閾値(例えば3000ルクス)以上であれば、電子機器1が屋外で使用されていると判定してもよい。そして、電子機器1のコントローラ11は、電子機器1が屋外で使用されていると判定した場合に、近接センサ18から出力される値に基づいたジェスチャ検出を行う。ここで、コントローラ11は、電子機器1が屋内で使用されていると判定した場合には、画像処理によるジェスチャ検出を行ってもよい。
電子機器1のコントローラ11は、照度センサ20が検出した照度の情報以外の情報から、電子機器1が屋外で使用されているか否かを判定してもよい。例えば、コントローラ11は、GPSの情報から電子機器1がユーザの自宅から離れていることを把握して、屋外での使用を判定してもよい。また、コントローラ11は、GPSの受信感度の変化(例えば受信感度が高くなったこと)によって、屋外での使用を判定してもよい。また、コントローラ11は、通信ユニット17が接続したアクセスポイントのWiFi(登録商標)のIDが自宅のキッチン等で接続する場合のIDと異なることから、屋外での使用を判定してもよい。また、コントローラ11は、これらの判定方法の一部または全部を周囲光の照度の変化と組み合わせて、屋外での使用を判定してもよい。
以上のように、この変形例に係る電子機器1は、屋外(特に公共の場)における電子機器1の使用において、他者のプライバシーに配慮したジェスチャ操作入力を可能にする。また、仮に屋外で電子機器1が画像処理によるジェスチャ検出を行うと、ユーザ以外の他者の動きを誤ってジェスチャと認識する可能性もある。この変形例に係る電子機器1は、屋外において近接センサ18によるジェスチャ検出を行うので、より正確にユーザのジェスチャを検出することが可能である。
(第2変形例)
上記の第2実施形態では、自機器(電子機器1)自体の状態がアクティブ状態であれば、一律に画像処理によるジェスチャ検出が行われた。しかし、コントローラ11は、特定のアプリケーションが起動されたことを条件として、画像処理によるジェスチャ検出を行ってもよい。
例えば、コントローラ11は、細かいジェスチャを用いるアプリケーションが起動されていれば画像処理によるジェスチャ検出を行ってもよい。近接センサ18によるジェスチャ検出では、例えばユーザの手の形状を判定することは一般に困難である。例えば、ユーザのグー、チョキ、パーを判定するじゃんけんアプリケーションが起動された場合に、コントローラ11は画像処理によるジェスチャ検出を行う。ここで、コントローラ11は、そのようなアプリケーションが起動されていなければ、近接センサ18によるジェスチャ検出を行ってもよい。じゃんけんアプリケーション等が起動していない場合に、近接センサ18によるジェスチャ検出を行うことでアクティブ状態の電子機器1の消費電力を抑えることが可能である。
以上のように、この変形例に係る電子機器1は、起動しているアプリケーションの種類に応じてジェスチャ検出手法を切り替える。そのため、アクティブ状態の電子機器1の消費電力を抑えることが可能である。ここで、起動しているアプリケーションは、フォアグランドで起動しているものに限定してもよいし、バックグランドで起動しているものを含めてもよい。
(第3変形例)
上記の第3実施形態では、ユーザと自機器との距離は、加速度センサ21が検出した加速度の情報に基づく電子機器1の静止状態から推定されていた。ここで、電子機器1は、ユーザとの距離を直接的に測定する測距センサを備えていてもよい。そして、コントローラ11は、加速度センサ21からの加速度の情報に代えて、測距センサからの出力信号(より具体的には、ユーザと電子機器1との距離についての情報)に基づいて距離を求めてもよい。測距センサは、例えばユーザを複数の異なる方向から同時に撮影することによって、ユーザまでの距離の情報を記録できるステレオカメラである。コントローラ11は、ステレオカメラからステレオ画像を取得する。コントローラ11は、ステレオ画像からユーザを抽出して所定の画像処理を施すことにより、ユーザまでの距離を求めることができる。
この変形例に係る電子機器1は、ユーザと自機器との距離をより正確に得ることができる。そして、電子機器1は、より適切にジェスチャ検出手法を切り替えることができる。ユーザは、例えばキッチンタイマーのアラームを離れた場所から止めること等が可能になる。そのため、ジェスチャに関するユーザの操作性が一層向上する。
(第4変形例)
また、上記の実施形態および変形例を適宜組み合わせて実行することが可能である。例えば、第3実施形態のようにユーザと自機器との距離に応じてジェスチャ検出手法を切り替えることを優先的に適用しながら、第1実施形態のように周囲光の照度に応じてもジェスチャ検出手法を切り替えることが可能である。例えば、電子機器1は、ユーザと自機器が離れている(例えば数m程度)と判定する場合に画像処理によるジェスチャ検出を行う。そして、電子機器1は、ユーザが近接センサ18の検出距離の範囲にいる場合に、基本的に近接センサ18によるジェスチャ検出を行う。しかし、周囲光の照度が第1の閾値以上かつ第2の閾値未満であれば、電子機器1は画像処理によるジェスチャ検出に切り替える。
また、第3実施形態のようにユーザと自機器との距離に応じてジェスチャ検出手法を切り替えることに、特定のアプリケーションが使用されていること(自機器自体の状態の一例)を組み合わせてもよい。特定のアプリケーションは、例えばカメラ13で被写体を撮影するカメラアプリである。例えば、電子機器1は、カメラアプリが使用中でありインカメラが選択された場合には、ユーザと自機器が近いと判断する。このとき、電子機器1は、近接センサ18によるジェスチャ検出を行う。そして、電子機器1は、例えばユーザが手を上から下に移動させるジェスチャを検出すると、被写体の撮影(この例ではユーザ自身の撮影)を行う。また、電子機器1は、カメラアプリが使用中でありアウトカメラが選択された場合には、ユーザと自機器が遠いと判断する。このとき、電子機器1は、画像処理によるジェスチャ検出を行う。そして、電子機器1は、例えば被写体の人が手を上から下に移動させるジェスチャを検出すると、被写体の撮影を行う。ここで、電子機器1は、アウトカメラが選択されている場合に、ジェスチャの検出から撮影までに時間差(例えば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もしくは情報を格納可能な他の有形の記憶媒体または上記の具体例いずれかの組合せが含まれる。メモリは、プロセッサまたはプロセッシングユニットの内部および/または外部に設けることができる。ここで用いられるように、「メモリ」という語は、あらゆる種類の長期記憶用、短期記憶用、揮発性、不揮発性またはその他のメモリを意味する。つまり、「メモリ」は特定の種類および/または数に限定されない。また、記憶が格納される媒体の種類も限定されない。