(電子機器の構成)
図1に示すように一実施形態の電子機器1は、近接センサ18(ジェスチャセンサ)と、タッチセンサ26と、コントローラ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は、タッチセンサ26と一体化したタッチパネルディスプレイ(タッチスクリーンディスプレイ)である。
マイク15は、人が発する声を含む、電子機器1の周囲の音を検出する。
ストレージ16は記憶部としてプログラムおよびデータを記憶する。ストレージ16は、コントローラ11の処理結果を一時的に記憶する。ストレージ16は、半導体記憶デバイスおよび磁気記憶デバイス等の任意の記憶デバイスを含んでよい。ストレージ16は、複数の種類の記憶デバイスを含んでよい。ストレージ16は、メモリカード等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。
ストレージ16に記憶されるプログラムには、フォアグランドまたはバックグランドで実行されるアプリケーションと、アプリケーションの動作を支援する制御プログラムとを含む。アプリケーションは、例えば、ジェスチャに応じた処理をコントローラ11に実行させる。制御プログラムは、例えば、OS(Operating System)である。アプリケーションおよび制御プログラムは、通信ユニット17による通信または記憶媒体を介してストレージ16にインストールされてよい。ストレージ16に記憶されるデータは、例えば静止画(写真)、動画、地図、高速道路のIC(Inter Change、インターチェンジ)等の情報、交通情報等の各種の情報を含む。例えば地図および交通情報は通信ユニット17を介して取得および更新され得る。
通信ユニット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は音を出力する。電子機器1が通話可能な機器である場合に、例えば通話の際に、相手の声がスピーカー25から出力される。また、例えばニュースまたは天気予報等の読み上げの際に、その内容がスピーカー25から音で出力される。
近接センサ18は、電子機器1の周囲の対象物との相対距離および対象物の移動方向等を非接触で検出する。本実施形態において、近接センサ18は1つの光源用赤外LED(Light Emitting Diode)と4つの赤外フォトダイオードとを有する。近接センサ18は、光源用赤外LEDから赤外光を対象物に向けて照射する。近接センサ18は、対象物からの反射光を赤外フォトダイオードの入射光とする。そして、近接センサ18は赤外フォトダイオードの出力電流に基づいて対象物との相対距離を測定することができる。また、近接センサ18は、対象物からの反射光がそれぞれの赤外フォトダイオードに入射する時間差により対象物の移動方向を検出する。したがって、近接センサ18は、電子機器1のユーザが電子機器1に触れずに行うエアジェスチャ(以下単に「ジェスチャ」という)を用いた操作を検出することができる。ここで、近接センサ18は可視光フォトダイオードを有していてよい。
タッチセンサ26は、ユーザの指またはスタイラスペン等の接触を検出して、その接触位置を特定するセンサである。上記のように、本実施形態において、タッチセンサ26はディスプレイ14と一体化されて、タッチパネルディスプレイを構成する。タッチセンサ26は、指またはスタイラスペン等が接触した位置を同時に複数検出することができる。
コントローラ11は、例えばCPU(Central Processing Unit)等のプロセッサである。コントローラ11は、他の構成要素が統合されたSoC(System-on-a-Chip)等の集積回路であってよい。コントローラ11は、複数の集積回路を組み合わせて構成されてよい。コントローラ11は、電子機器1の動作を統括的に制御して各種の機能を実現する。ここで、電子機器1が車両に搭載されるカーナビゲーションシステムを構成する装置である場合、コントローラ11はCPUであって、通信ユニット17およびストレージ16とともにECU(Electronic Control Unit、電子制御ユニット)を構成し得る。
具体的にはコントローラ11は、ストレージ16に記憶されているデータを必要に応じて参照する。コントローラ11は、ストレージ16に記憶されているプログラムに含まれる命令を実行してディスプレイ14等の他の機能部を制御することによって各種機能を実現する。例えばコントローラ11は、ユーザによる接触のデータをタッチセンサ26から取得する。例えばコントローラ11は、近接センサ18が検出したユーザのジェスチャに関する情報を取得する。また、例えばコントローラ11は、アプリケーションの起動状況を把握する。
UVセンサ19は、太陽光等に含まれる紫外線(Ultraviolet)量を測定することができる。
照度センサ20は、当該照度センサ20に入射する周囲光の照度を検出する。照度センサ20は、例えばフォトダイオードを用いたものでよい。また、照度センサ20は、例えばフォトトランジスタを用いたものでよい。
加速度センサ21は、電子機器1に働く加速度の方向および大きさを検出する。加速度センサ21は、検出した加速度の情報を出力信号とする。加速度センサ21は、例えばx軸方向、y軸方向およびz軸方向の加速度を検出する3軸(3次元)タイプである。加速度センサ21は、例えばピエゾ抵抗型であってよい。また、加速度センサ21は、例えば静電容量型であってよい。
地磁気センサ22は地磁気の向きを検出して、電子機器1の向きを測定可能にする。
気圧センサ23は、電子機器1の外側の気圧(大気圧)を検出する。
ジャイロセンサ24は、電子機器1の角速度を検出する。コントローラ11は、ジャイロセンサ24により取得された角速度を時間積分することにより、電子機器1の向きの変化を測定することができる。
(ジェスチャによる電子機器の操作)
図2は、ユーザがジェスチャにより電子機器1を操作する様子を示す。図2において、電子機器1は一例としてスタンドによって支持される。代替例として電子機器1は壁に立てかけられたり、テーブルに置かれたりしてよい。近接センサ18がユーザのジェスチャを検出すると、コントローラ11は検出されたジェスチャに基づく処理を行う。図2の例では、ジェスチャに基づく処理はレシピが表示されている画面のスクロールである。例えば、ユーザが電子機器1の長手方向上方へと手を動かすジェスチャを行うと、ユーザの手の動きに連動して画面が上方へとスクロールする。また、例えば、ユーザが電子機器1の長手方向下方へと手を動かすジェスチャを行うと、ユーザの手の動きに連動して画面が下方へとスクロールする。ここで、近接センサ18によるジェスチャ検出に代えて、カメラ13が撮影した画像に基づいてコントローラ11がジェスチャ検出を実行してよい。
図2の例では、画面は2つに分割されている。図2の例では、2つの画面のうち上の画面にレシピが表示されており、上記のようにジェスチャによってスクロールさせることが可能である。2つの画面のうち下の画面には、複数のアイコンが並んだホーム画面が表示されている。ユーザは下の画面のアイコンへのタッチによって、アイコンに対応付けられたアプリケーションを起動することができる。本明細書において、ユーザのタッチパネルディスプレイへのタッチ動作(接触動作)は単にタッチと表記される。タッチは、例えばタップ、ダブルタップ、ロングタップ(長押し)およびスライド等の様々な動作を含む。
図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モードおよび第3モードを含む。第1モードは通常の動作モード(通常モード)である。第2モードは、キッチンでレシピを表示しながら料理を行うのに最適な電子機器1の動作モード(キッチンモード)である。また、第3モードは、移動体、特に車両に設けられて様々な情報(例えば地図等の運転または操縦に役立つ情報)を提供するのに最適な電子機器1の動作モード(カーモード)である。上記で説明したように、第2モードの場合には、ジェスチャによる操作が可能である。また、以下に説明するように、第3モードの場合にも、ジェスチャによる操作が可能である。ここで、移動体は、例えば車両、船舶および航空機等を含み得る。車両は、例えば電気自動車、ハイブリッド電気自動車、ガソリン自動車、バイク、二輪車および福祉車両等を含み得る。車両は、例えば鉄道車両を含んでよい。移動体は、ユーザによって運転または操縦されてよい。移動体の運転または操縦に関するユーザ操作の少なくとも一部が自動化されていてよい。
(カーモード)
図6は、ユーザがカーモードで動作する電子機器1をジェスチャにより操作する様子を示す。図6において、電子機器1は一例として自動車のコンソールパネルに設置される。代替例として電子機器1は自動車内に設けられた支持具によって指示されてよい。また、支持具はダッシュボードの上に設置されてよい。また、図6に示すように、カーモードで動作する電子機器1は、横向き(長手方向が左右となる向き)で使用されてよい。近接センサ18がユーザのジェスチャを検出すると、コントローラ11は検出されたジェスチャに基づく処理を行う。図6の例では、ジェスチャに基づく処理は広域地図が表示されている画面の移動である。例えば、ユーザが電子機器1の長手方向左方へと手を動かすジェスチャを行うと、ユーザの手の動きに連動して画面が左方へと移動する。ここで、ユーザの手を動かすジェスチャの向きと、画面が移動する向きとの対応は任意に設定可能である。例えば、ユーザが左方へと手を動かすジェスチャを行うと、画面は左方でなく右方へ移動してよい。
上記の通り、図6に示す電子機器1はコンソールパネルに設置および取り外しが可能なスマートフォンである。別の例として、電子機器1は車両に設置されたカーナビゲーション装置でよい。このとき、電子機器1のモードは第2モードを含まなくてよい。
図7は、ユーザがジェスチャにより電子機器1を操作する状況の一例を示す。図7に示すように、例えば電子機器1は、ディスプレイ14が自動車のコンソールパネルにおいて中央に位置するように、配置される。図7の例で、ユーザは、目的地までの経路を電子機器1のディスプレイ14に表示させた状態で、表示された経路を参照しながら、電子機器1が搭載された自動車に乗り込んで、当該自動車を運転する。このとき、近接センサ18はユーザのジェスチャを検出可能な状態である。コントローラ11は近接センサ18が検出したジェスチャに基づく処理を行う。
電子機器1は、タッチパネルディスプレイにおいて、ユーザからのタッチを受け付け可能である。しかしながら、タッチの位置を確認するためにユーザが運転中にディスプレイ14に長く視線を移すことは好ましくない。本開示の電子機器1は、ユーザにジェスチャによる操作を可能にする。そのため、運転中のユーザが長くディスプレイ14を見るようなことはない。
ここで、電子機器1がキッチンモードまたはカーモードで動作する場合に、ユーザはジェスチャおよびタッチを用いて電子機器1を操作することが可能である。本開示の電子機器1は、ジェスチャおよびタッチを以下に説明するように画面の操作に対応付けることによって、例えば複数の画面を表示する場合および画面の移動量を調整する場合等における、入力操作についての操作性を向上させ得る。
(第1の手法)
図8は電子機器1の画面表示の一例を示す。図8に示すように、電子機器1のディスプレイ14は、第1画面141および第2画面142を表示する。つまり、電子機器1はマルチウィンドウ機能を備えており、ディスプレイ14に画面を分割して表示する。第1画面141および第2画面142のそれぞれは、互いに独立に、アプリケーションを実行できる。図8の例では、第1画面141に料理のレシピが表示されている。また、図8の例では、第2画面142に複数のアイコン30が並んだホーム画面が表示されている。また、電子機器1はキッチンモードで動作している。ここで、第1画面141と第2画面142とは一部が重複して表示されてよい。第1の手法および後述する第2の手法では、近接センサ18によって検出されるジェスチャおよびタッチセンサ26によって検出されるタッチを第1画面141の操作および第2画面142の操作にそれぞれ対応付ける。また、タッチセンサ26は上記のようにディスプレイ14と一体化されてタッチパネルディスプレイを構成する。
第1の手法として、電子機器1のコントローラ11は、ジェスチャを第1画面141の操作に対応付ける。また、電子機器1のコントローラ11は、タッチを第2画面142の操作に対応付ける。図8の例では、近接センサ18は電子機器1のディスプレイ14の上部、つまり、第2画面142よりも第1画面141に近い側に配置されている。コントローラ11は、ジェスチャを近接センサ18が配置された位置から第2画面142よりも近い第1画面141の操作に対応付けて、タッチを第2画面142の操作に対応付ける。
ここで、コントローラ11は、ジェスチャと第1画面141の操作、および、タッチと第2画面142の操作を、例えばテーブル等によって関連付けて、ストレージ16に記憶させてよい。コントローラ11は、例えば上下方向に手を動かすジェスチャと画面のスクロールとを関連付けたテーブルをストレージ16に予め記憶させる。また、コントローラ11は、ダブルタップとアプリケーションの実行とを関連付けたテーブルをストレージ16に予め記憶させる。そして、コントローラ11は、ストレージ16からこのようなテーブルを読み出し、テーブルに従ってジェスチャおよびタッチに対応付けられた操作を実行する。
図9は、ジェスチャによる操作の一例を示す図である。第1の手法では、コントローラ11は、近接センサ18によって上下方向に手を動かすジェスチャが検出された場合に、第1画面141に表示された料理のレシピを上下方向にスクロールさせる。ジェスチャの手を動かす向き(例えば上向き)に応じた第1画面141のスクロールの向きは、同じ(例えば上向き)でも、逆向き(例えば下向き)でよい。
ここで、ユーザがジェスチャで操作可能な画面(第1画面141)を区別できるように、第1画面141は第2画面142と異なる態様で表示されてよい。本実施形態において、第1画面141は、枠の色が第2画面142と異なる。例えば、第1画面141の枠の色は赤色である。また、例えば、第2画面142の枠の色は黒色である。図9以降の図面において、第1画面141の枠が二重に示されていることは、枠の色が異なることを意味する。ここで、別の例として、ユーザが区別可能なように、第1画面141(または第2画面142)に特定のピクト等が表示されてよい。
また、ユーザに対して、近接センサ18によってジェスチャが検出されたことを示すために、第1画面141の枠の表示態様が変化してよい。例えば、第1画面141の枠は、ジェスチャが検出されると、線の太さ(例えばより太くなる等)、種類(例えば点線になる、点滅する等)または色(例えば赤から青になる等)が変化してよい。
図10は、タッチによる操作の一例を示す図である。第1の手法では、コントローラ11は、例えばタッチセンサ26によって上下方向のスライドが検出された場合に、第2画面142に表示されたアイコン30が並んだホーム画面を上下方向にスクロールさせる。
(第2の手法)
第1の手法において、コントローラ11は、ジェスチャを近接センサ18が配置された位置から第2画面142よりも近い第1画面141の操作に対応付けた。ここで、第1画面141は近接センサ18が配置された位置から第2画面142より遠い場合もあり得る。第2の手法では、コントローラ11は、ジェスチャを近接センサ18が配置された位置から第2画面142よりも遠い第1画面141の操作に対応付けて、タッチを第2画面142の操作に対応付ける。
図11は、第2の手法におけるジェスチャによる操作の一例を示す図である。第2の手法では、コントローラ11は、近接センサ18によって上下方向に手を動かすジェスチャが検出された場合に、近接センサ18から遠い側の第1画面141に表示されたアイコン30が並んだホーム画面を上下方向にスクロールさせる。ここで、ジェスチャの手を動かす向き(例えば上向き)に応じた第1画面141のスクロールの向きは、同じ(例えば上向き)でも、逆向き(例えば下向き)でよい。また、第2の手法において、ユーザはタッチによって近接センサ18に近い側の第2画面142に表示された料理のレシピをスクロールさせることが可能である。
第1の手法および第2の手法では、コントローラ11は、近接センサ18が配置された位置に応じて、ジェスチャおよびタッチを第1画面141の操作および第2画面142の操作にそれぞれ対応付ける。つまり、複数に分割された画面のそれぞれは、ジェスチャまたはタッチによって操作可能である。特に、図8に示すように、ディスプレイ14が2つの画面を表示する場合に、一方の画面がジェスチャによって操作されて、他方の画面がタッチによって操作されるため、ユーザが操作方法を容易に把握できる。
ここで、ユーザは、例えばメニュー画面から選択できる電子機器1の設定によって、第1の手法または第2の手法を選択できてよい。第1の手法では、ユーザは近接センサ18が配置された位置から近い第1画面141をジェスチャで操作する。ユーザは、近接センサ18の近くで手を動かす(ジェスチャを実行する)ため、直感的に、操作する画面(第1画面141)がわかり易い。また、第2の手法では、ユーザは近接センサ18が配置された位置から遠い第1画面141をジェスチャで操作する。ユーザは、ジェスチャの操作対象である第1画面141を、自分の手で遮ることがない(ジェスチャを行う手で覆うことがない)ため、画面(第1画面141)が見易い。ユーザは、操作する画面が直感的にわかり易いことを好む場合に、第1の手法を選択してよい。また、ユーザは、画面が見易いことを好む場合に、第2の手法を選択してよい。
(第3の手法)
第3の手法では、コントローラ11は、ジェスチャを近接センサ18が配置された位置から第2画面142よりも近い第1画面141の操作に対応付けて、タッチを第2画面142の操作だけでなく、更に画面間の操作および画面の消去の操作の少なくとも1つに対応付ける。タッチによって画面間の操作および画面の消去の操作の少なくとも1つが実行されること以外は、第1の手法と同じである。ここで、画面間の操作とは、複数の画面の間で実行される操作である。画面間の操作は、例えば、後述する表示内容の入れ替え、表示内容のコピーまたは表示内容の移動等を含む。
上記のように、タッチは、例えばタップ、ダブルタップ、ロングタップおよびスライド等の様々な動作を含む。また、上記のように、コントローラ11は、一部のタッチと、第2画面142の操作と、を対応付ける。第3の手法では、コントローラ11は、第2画面142の操作に対応付けていないタッチを、画面間の操作および画面の消去の操作の少なくとも1つに対応付ける。例えば、コントローラ11は、ロングタップ後の上下方向のスライドを、第1画面141と第2画面142の表示内容の入れ替えに対応付けてよい。また、例えば、コントローラ11は、ロングタップ後の左右方向のスライドを、第2画面142の消去に対応付けてよい。第2画面142の消去は、第2画面142で表示されているアプリケーションを終了させる。
図12は、第3の手法におけるタッチによる操作の一例を示す図である。第3の手法では、コントローラ11は、ユーザが第2画面142をロングタップした後に上向きにスライドした場合に、第2画面142が第1画面141に重なるように表示を変更する。そして、更にユーザが第2画面142を上向きにスライドさせると、第1画面141と第2画面142の表示内容が入れ替わる。つまり、第1画面141に複数のアイコン30が並んだホーム画面が表示される。また、第2画面142に料理のレシピが表示される。
図13は、図12の画面間の操作後に、ジェスチャによる操作が実行される場合を例示する図である。コントローラ11は、近接センサ18によって上下方向に手を動かすジェスチャが検出された場合に、第1画面141に入れ替わって表示されたホーム画面を上下方向にスクロールさせる。
また、図14は、第3の手法におけるタッチによる操作の別の例を示す図である。第3の手法では、コントローラ11は、ユーザが第2画面142をロングタップした後に右向きにスライドした場合に、第2画面142が右側に移動するように表示を変更する。そして、更にユーザが第2画面142を右向きにスライドさせると、第2画面142がディスプレイ14に表示されなくなり、消去される。
ここで、第3の手法では、別の例として、コントローラ11は、ジェスチャを近接センサ18が配置された位置から第2画面142よりも遠い第1画面141の操作に対応付けてよい。このとき、タッチによって画面間の操作および画面の消去の操作の少なくとも1つが実行されること以外は、第2の手法と同じである。
また、更に別の例として、コントローラ11は、タッチを第2画面142の操作に対応付けることなく、画面間の操作および画面の消去の操作の少なくとも1つだけに対応付けてよい。
また、更に別の例として、コントローラ11は、タッチでなくジェスチャを画面間の操作および画面の消去の操作の少なくとも1つに対応付けてよい。例えば、コントローラ11は、円を描くジェスチャの後の上下方向のジェスチャを、第1画面141と第2画面142の表示内容の入れ替えに対応付けてよい。また、例えば、コントローラ11は、円を描くジェスチャの後の左右方向のジェスチャを、第2画面142の消去に対応付けてよい。
第3の手法は、コントローラ11が、第1画面141の操作または第2画面142の操作だけでなく、画面間の操作および画面の消去の操作をタッチまたはジェスチャに対応付ける。そのため、第3の手法は、更に多様な入力が可能である。
(第4の手法)
第4の手法では、コントローラ11は、第2画面142で実行可能なタッチの1つである特定のタッチを第2画面142の特定の操作に対応付けて、ジェスチャの1つを第1画面141の特定の操作に対応付ける。特定の操作は、例えばノーティフィケーションの表示である。また、第2画面142で実行可能なタッチの1つは、第2画面142の外部から第2画面142の内部へのスライドである。
図15は、第4の手法におけるタッチによる操作の一例を示す図である。第4の手法では、コントローラ11は、ユーザが第2画面142の外部から下向きに第2画面142の内部までスライドした場合に、通知を示すノーティフィケーションを表示する。ここで、図15の例では、第2の手法と同様に、近接センサ18が配置された位置から第2画面142よりも遠い位置に第1画面141が表示される。
ここで、画面の外部から内部へとスライドすることによって、ノーティフィケーションが引き出されるように表示されることは、ユーザに直感的な操作を可能にする。しかし、図15の例で、ユーザが第1画面141の外部から下向きに第1画面141の内部までスライドしようとすると、ユーザは第1画面141の上方にある第2画面142にタッチすることになる。すると、ユーザのタッチは、第2画面142に対するものと扱われる。つまり、第1画面141に対して、第2画面142と同じタッチによってノーティフィケーションを表示させることはできない。
ここで、本開示の電子機器1はジェスチャによる操作が可能である。そのため、電子機器1は、第2画面142での特定のタッチを第1画面141にそのまま適用できない場合に、ジェスチャによって第1画面141における特定の操作を実行可能である。上記の例では、特定のタッチは画面の外部から画面の内部までの下向きのスライドである。また、特定のタッチに対応付けられる操作(特定の操作)はノーティフィケーションの表示である。
図16は、第4の手法におけるジェスチャによる操作の一例を示す図である。図16に示すように、コントローラ11は、手を下向きに移動するジェスチャの1つを、第1画面141におけるノーティフィケーションの表示に対応付けている。
第4の手法は、ディスプレイ14に複数の画面が表示されて、画面によって始点または終点が異なる領域に含まれるようなタッチを用いる場合に有用である。領域は例えば画面の表示領域である。上記の例では、第2画面142でノーティフィケーションを表示させる場合に、始点を画面の表示領域(第1画面141および第2画面142)の外部とする下向きのスライドが用いられる。しかし、第1画面141で下向きのスライドを実行すると、始点は画面の表示領域の内部になる。つまり、画面によって始点が異なる領域に含まれる。このような場合に、コントローラ11は、ジェスチャを用いることによって、複数の画面のいずれでも特定の操作(例えばノーティフィケーションの表示)を実行可能にする。
(第5の手法)
第5の手法では、コントローラ11は、同時に表示されるアクティブウィンドウおよび非アクティブウィンドウのうち、アクティブウィンドウの操作にタッチおよびジェスチャを対応付ける。また、コントローラ11は、ジェスチャをアクティブウィンドウの設定項目の一覧の表示に対応付ける。ここで、アクティブウィンドウは、ユーザが操作を行える状態にある画面のことである。また、非アクティブウィンドウは、ユーザが操作を行えない状態にある画面のことである。ここで、非アクティブウィンドウで実行されるアプリケーション等は、バックグラウンドで動作してよい。
図17は、第5の手法におけるタッチによる操作の一例を示す図である。図17の例では、ユーザがディスプレイ14に表示された複数の画面(上側の画面および下側の画面)のうち、上側の画面にタッチしている。タッチされた上側の画面はアクティブウィンドウに設定される。また、下側の画面は非アクティブウィンドウに設定される。ここで、ユーザが下側の画面にタッチすると、下側の画面がアクティブウィンドウに設定される。つまり、アクティブウィンドウは画面の一部をタッチすることによって切り替え可能である。
アクティブウィンドウは、上記の第1画面141および第2画面142に対応する。つまり、ユーザはタッチおよびジェスチャによってアクティブウィンドウを操作することができる。また、アクティブウィンドウは、非アクティブウィンドウである第3画面143とともに、ディスプレイ14に表示される。図17に示すように、コントローラ11は、アクティブウィンドウにおいて、タッチセンサ26によって上下方向にスライドするタッチが検出された場合に、表示された料理のレシピを上下方向にスクロールさせる。
図18は、第5の手法におけるジェスチャによる操作の一例を示す図である。図18に示すように、コントローラ11は、手を左右方向(水平方向)に移動するジェスチャを、アクティブウィンドウにおけるメニュー(設定項目の一覧)の表示に対応付けている。図18の例では、手を右向きに移動させるジェスチャに対応して、メニューがアクティブウィンドウの左端から右向きに引き出されるように表示される。ここで、別の例として、手を左向きに移動させるジェスチャに対応して、メニューがアクティブウィンドウの右端から左向きに引き出されるように表示されてよい。また、別の例として、手を下向きに移動させるジェスチャに対応して、ノーティフィケーションがアクティブウィンドウの上端から下向きに引き出されるように表示されてよい。
第5の手法は、アクティブウィンドウに対して、タッチおよびジェスチャによる操作が可能である。そのため、第5の手法は、1つの画面に対して多様な入力が可能である。また、第5の手法では、コントローラ11は、ジェスチャを、少なくともメニューの表示に対応付ける。そのため、ユーザは設定項目の変更または確認を実行したい場合に、ジェスチャによって素早くメニューを表示させることができる。
第5の手法では、上記の例のように、アクティブウィンドウの直接的な操作(例えばスクロール等の画面の移動または画面の消去)をタッチに対応させて、補助的な操作(例えばメニュー等の別画面の表示)をジェスチャに対応させてよい。逆に、直接的な操作をジェスチャに、補助的な操作をタッチに対応させることが可能である。操作の種類に応じてタッチまたはジェスチャに対応付けることによって、ユーザはより直感的にアクティブウィンドウの操作が可能である。
また、タッチとジェスチャとで、動きの方向または向きが異なっていてよい。例えば、タッチが第1の方向(一例として上下方向)の動きであるのに対して、ジェスチャは第2の方向(一例として左右方向)の動きだけを使用してよい。また、例えば、タッチが第1の向き(一例として下向きおよび左向き)の動きであるのに対して、ジェスチャは第2の向き(一例として上向きおよび右向き)の動きだけを使用してよい。1つのアクティブウィンドウに対してタッチおよびジェスチャを使用可能であるため、ユーザは同じ方向または同じ向きの動きがあると混同する可能性がある。そのため、タッチとジェスチャとで方向または向きが重複しないようにすることで、ユーザが容易にタッチおよびジェスチャの使い分けができるようにしてよい。
(第6の手法)
図8から図18においてキッチンモードで動作している場合の電子機器1を示したが、電子機器1がカーモードで動作する場合にも、ジェスチャおよびタッチを第1画面141の操作および第2画面142の操作にそれぞれ対応付けることができる。
図19は、第6の手法におけるジェスチャおよびタッチによる操作の一例を示す図である。図19の例では、近接センサ18は運転席側にあり、運転者のジェスチャを良好に検出する。近接センサ18により近い第1画面141には、目的地まで車両の航行を導くための地図が表示されている。地図には、丸印で示された車両の現在位置および道路名等が示されている。また、近接センサ18から離れた第2画面142には、オーディオの操作画面が表示されている。オーディオの操作画面は、例えば選択されているアルバムおよび曲名、音量ボタン等が示されている。
図19に示すように、コントローラ11は、手を上下左右に移動するジェスチャを、第1画面141における地図の移動に対応付けている。また、コントローラ11は、音量ボタン(上向きおよび下向きの矢印が付されたボタン)へのタッチを、第2画面142における音量の調整に対応付けている。
運転者は、ジェスチャによって地図を移動させることが可能である。運転者は、タッチの位置を確認するためにディスプレイ14を長くみるようなことなく、電子機器1を操作することができる。また、助手席側の第2画面142において、運転しないユーザはタッチによってオーディオの音量調整が可能である。
第6の手法では、コントローラ11は、運転席側にある近接センサ18の位置に応じて、ジェスチャおよびタッチを第1画面141の操作および第2画面142の操作にそれぞれ対応付ける。このとき、運転者は、安全にジェスチャによる電子機器1の操作が可能である。また、助手席側のユーザは、タッチによって様々な操作が可能である。ここで、電子機器1がカーモードで動作する場合に、近接センサ18の位置は図19に示す位置に限定されない。例えば、近接センサ18は、電子機器1の使用時に助手席側より運転席側に近くなるような位置であれば自由に設置してよい。
(フローチャート)
図20は、上記の第1の手法から第6の手法に対応する、電子機器1のユーザ動作に応じた処理を例示するフローチャートである。
電子機器1のコントローラ11は、ディスプレイ14に第1画面141および第2画面142が表示される場合に(ステップS1のYes)、ステップS2の処理に進む。ここで、ユーザによってマルチウィンドウ機能が使用された場合に、第1画面141および第2画面142が表示され得る。電子機器1のコントローラ11は、第1画面141および第2画面142に対応するアクティブウィンドウと、非アクティブウィンドウとが表示される場合にも、ステップS2の処理に進む。
電子機器1のコントローラ11は、ディスプレイ14に第1画面141および第2画面142が表示されていない場合に(ステップS1のNo)、処理を終了する。
電子機器1のコントローラ11は、近接センサ18によってジェスチャを検出した場合に(ステップS2のYes)、ジェスチャに対応付けられた第1画面141の操作を実行する(ステップS3)。
電子機器1のコントローラ11は、近接センサ18によってジェスチャを検出しない場合に(ステップS2のNo)、または、ステップS3の処理の後に、ステップS4の処理に進む。ここで、電子機器1のコントローラ11は、所定の時間(例えば1分)にジェスチャを検出しない場合に、ステップS4の処理に進んでよい。
電子機器1のコントローラ11は、タッチセンサ26によってタッチを検出した場合に(ステップS4のYes)、タッチに対応付けられた第2画面142の操作を実行する(ステップS5)。
電子機器1のコントローラ11は、タッチセンサ26によってタッチを検出しない場合に(ステップS4のNo)、または、ステップS5の処理の後に、ステップS1の処理に戻る。ここで、電子機器1のコントローラ11は、所定の時間(例えば1分)にタッチを検出しない場合に、ステップS1の処理に戻ってよい。
(第7の手法)
電子機器1のコントローラ11は、ジェスチャおよびタッチを異なる複数の移動量に対応させることによって、電子機器1の操作性を向上させることが可能である。以下において、異なる複数の移動量が1つのアプリケーションで併用される実施例が説明される。以下において、画面は複数(マルチウィンドウ)であり得るが、画面が1つである場合を例に説明する。また、電子機器1は、ジェスチャによる操作が可能なモードで動作している。
図21は写真を表示するためのアプリケーションの画面である。図21の例では、複数の写真を縮小したサムネイル31が一覧で表示されている。サムネイル31には、所定の順番(例えば撮影日時順)に従った番号が付されている。以下において、写真のそれぞれを区別する場合に、番号が用いられる。例えば、1番の写真とは、図21で「1」の番号が付された写真を意味する。このアプリケーションにおいて、ユーザが例えば1番の写真のサムネイル31をタップすると、1番の写真がディスプレイに大きく表示される。
写真を表示するためのアプリケーションでは、写真の数が増加するとユーザが所望の写真を表示させるまでに多くのタッチが必要になることがある。そのため、表示のスクロール量(例えばスキップする何枚)を大きくしたいとの要望があった。一方、このようなアプリケーションにおいて、ユーザは1枚ずつ順に表示する機能を必要とする。
第7の手法では、コントローラ11は、ジェスチャおよびタッチを、異なる移動量で画面を変化させる操作に対応付ける。詳細には、コントローラ11は、ジェスチャに基づく基本操作あたりの画面の移動量を、タッチに基づく基本操作あたりの画面の移動量よりも大きくなるように設定する。ここで、画面の移動量は、例えばスクロール量等であって、画面の表示内容の変化の大きさを意味する。画面の移動量は、上記のように、写真を表示させるアプリケーション等での表示内容の変化(例えばスキップする枚数)の大きさを含む。また、画面の移動量は、例えば地図をスクロールさせた場合の座標の変化を含む。また、画面の移動量は、例えば動画再生のアプリケーションで早送りを指示した場合の変化量(例えば早送りする時間)を含む。また、基本操作とは一度の操作である。ジェスチャであれば、例えば一回の手を下方向に移動させる動作である。また、タッチであれば、例えば一回のタッチである。
図21の例では、コントローラ11は、タッチに基づく基本操作あたりの画面の移動量S1、すなわち写真の変化する枚数を1枚に設定する。また、コントローラ11は、ジェスチャ(例えば手を水平方向に移動する動作)に基づく基本操作あたりの画面の移動量S2、すなわち写真の変化する数を10枚に設定する。コントローラ11は、タッチに基づく基本操作あたりの画面の移動量S1およびジェスチャに基づく基本操作あたりの画面の移動量S2をストレージ16に記憶してよい。
図22は、第7の手法におけるタッチによる操作の一例を示す図である。図22の例では、ディスプレイ14に1番の写真が表示されている場合に、ユーザが例えば接触した指を左向きに移動させるタッチを1回行う。コントローラ11は、タッチセンサ26によってタッチを検出すると、ストレージ16からタッチに基づく基本操作あたりの画面の移動量S1を取得する。そして、コントローラ11は、1枚分の写真を変化させて、ディスプレイ14に2番の写真を表示させる。ここで、ユーザのタッチの向きと写真の番号の変化との対応は任意に設定され得る。例えば、ユーザが例えば接触した指を下向きに移動させるタッチを1回行うと、ディスプレイ14に番号が1つ増加した写真が表示されてよい。
図23は、第7の手法におけるジェスチャによる操作の一例を示す図である。図23の例では、ディスプレイ14に1番の写真が表示されている場合に、ユーザが例えば右向きに手を移動させる動きのジェスチャを1回行う。コントローラ11は、近接センサ18によってジェスチャを検出すると、ストレージ16からジェスチャに基づく基本操作あたりの画面の移動量S2を取得する。そして、コントローラ11は、10枚分の写真を変化させて、ディスプレイ14に11番の写真を表示させる。ここで、ユーザのジェスチャ(例えば水平方向の手の動き)の向きと写真の番号の変化との対応は任意に設定され得る。例えば、ユーザが左向きのジェスチャを1回行うと、ディスプレイ14に番号が10だけ増加した写真が表示されてよい。また、例えば、ユーザが左向きのジェスチャを1回行うと、ディスプレイ14に番号が10だけ減少した写真が表示されてよい。
第7の手法では、上記の例のように、タッチによって小さく画面を移動させる操作が可能であるとともに、ジェスチャによって大きく画面を移動させる操作が可能である。したがって、ユーザはジェスチャを用いることによって、タッチよりも大きく画面を移動させて(例えば先の例では離れた番号の写真を表示させて)、例えばタッチを何回も繰り返す場合に比べて、効率的な操作を行うことができる。例えば、図21の例で、12番目の写真を表示させる場合に、ユーザは12回のタッチを繰り返すのではなく、1回のジェスチャと2回のタッチを行うだけでよい。つまり、ユーザはより少ない動作で画面を移動させて、所望のデータを表示させることが可能である。
ここで、コントローラ11は、ジェスチャによる操作を所定の条件が満たされる場合にだけ実行可能にしてよい。例えば、上記の写真を表示するためのアプリケーションの例において、写真のデータが1回のジェスチャによる移動量(10枚)に満たない場合に、コントローラ11は、ジェスチャによる操作ができないようにしてよい。このとき、コントローラ11は、近接センサ18をオフ状態にして、消費電力を抑えることが可能である。また、上記の写真を表示するためのアプリケーションの例において、画面の移動量は写真の枚数を単位としているが、例えば撮影時の時間に基づいて設定されてよい。例えば、ジェスチャによる移動量は1年に設定し得る。このとき、ユーザは1回のジェスチャによって、1年前または1年後の写真を表示させることができる。また、このとき、写真の撮影日時の差が1回のジェスチャによる移動量(1年)に満たない場合に、コントローラ11は、近接センサ18をオフ状態にして、ジェスチャによる操作ができないようにしてよい。
(第8の手法)
例えば、電子機器1がカーモードで動作しており、車両の現在位置の周辺の地図を見たい場合に、ユーザはタッチパネルディスプレイをタッチ(例えばタップ)することで画面を移動させることが可能である。ここで、ユーザは車両の現在位置から離れた交差点(曲がり角)の情報を知りたいことがあり得る。しかし、特に地図を拡大表示しているような場合に、ユーザは所望の交差点を表示させるまでに多くのタッチを実行することがある。そのため、自動的に次の交差点が表示されるようにしたいとの要望があった。一方、このようなナビゲーション装置において、従来のタッチによる小さな画面遷移の機能も必要である。電子機器1のコントローラ11は、ジェスチャおよびタッチを異なる情報に対応付けることによって、異なる移動量での画面の表示を可能にする。
図24は、第8の手法におけるタッチによる操作の一例を示す図である。図24の例では、ディスプレイ14(タッチパネルディスプレイ)に地図が表示されている。図形Pはユーザの乗る車両の現在位置を示す。例えばユーザがタッチパネルディスプレイをタップすると、コントローラ11はタッチパネルディスプレイからタップされた位置の座標を取得する。そして、コントローラ11はタップされた位置がディスプレイ14の中心になるように座標の計算を行って、計算結果に基づいて地図を移動させる。このように、第8の手法において、コントローラ11は、タッチセンサ26によって検出されるタッチに対応付けられた座標の情報(第2の情報の一例)に基づいて画面の移動量を決定する。ここで、別の例として、コントローラ11は、1回のタップでの画面の移動量を一定にしてよい。例えば、ユーザがタッチパネルディスプレイの中心から左上にある位置をタップすると、画面全体を反対向き(右下向き)に一定の移動量だけシフトさせて表示してよい。ここで、一定の移動量は例えば距離(例えば500メートル等)で決定されてよい。
図25は、第8の手法におけるジェスチャによる操作の一例を示す図である。ユーザが例えば左向きに手を移動させる動きのジェスチャを1回行う。コントローラ11は、近接センサ18によってジェスチャを検出すると、ストレージ16から地図の情報を取得する。地図の情報は、道路および交差点の情報を含む。そして、コントローラ11は、車両の現在位置から左方にあって、車両が現在通っている道路の次の交差点Iを検索する。そして、コントローラ11は、検索された交差点Iの位置がディスプレイ14の中心付近に表示されるように地図を移動させる。このように、第8の手法において、コントローラ11は、近接センサ18によって検出されるジェスチャに対応付けられた交差点の情報(第1の情報の一例)に基づいて画面の移動量を決定する。ここで、コントローラ11は、検索された交差点Iの詳細な情報(例えば拡大表示)を、例えばポップアップ等の別の画面で示してよい。また、別の例として、コントローラ11は、ジェスチャの手の向きに関係なく、車両の現在の進行方向での次の交差点Iを検索してよい。
第8の手法では、上記の例のように、コントローラ11は、タッチおよびジェスチャを、異なる2つの情報(例えば座標の情報および交差点の情報)にそれぞれ対応付ける。そして、コントローラ11は、異なる2つの情報に基づいて、互いに異なる画面の移動量を設定する。ユーザはジェスチャを用いることによって、タッチと異なる移動量で画面を移動させて(例えば先の例では次の交差点まで移動させて)、例えばタッチを何回も繰り返す場合に比べて、効率的な操作を行うことができる。
(第9の手法)
例えば、電子機器1がカーモードで動作しており、高速道路で渋滞に巻き込まれた場合に、ユーザは渋滞がどこまで続いているかを素早く知りたいことがある。しかし、従来のナビゲーション装置は、続くICの名称を渋滞が発生中であるか否かを示す背景色とともに、順に表示することが一般的であった。したがって、ユーザは渋滞が発生していないICをスクロールさせて確認するために、多くのタッチが必要であった。電子機器1のコントローラ11は、ジェスチャおよびタッチを異なる情報に対応付けることによって、異なる移動量での画面の表示を可能にする。
図26は、第9の手法におけるジェスチャによる操作の一例を示す図である。電子機器1は、ディスプレイ14に地図と、ポップアップ画面144に示されるICの名称等の情報を表示している。ユーザは例えば下向きに手を移動させる動きのジェスチャを1回行う。コントローラ11は、近接センサ18によってジェスチャを検出すると、ストレージ16から交通情報を取得する。そして、コントローラ11は、車両が通過する予定のICのうち、渋滞が解消された最初のIC(図26の例では「GHI」)を検索する。そして、コントローラ11は、検索されたICが前の2つのIC(図26の例では「ABC」および「DEF」)とともに表示されるように、ポップアップ画面144の表示を移動させる。ここで、「ABC」および「DEF」は渋滞が発生していることを示す背景色で表示される。このように、第9の手法において、コントローラ11は、近接センサ18によって検出されるジェスチャに対応付けられた交通情報(第1の情報の一例)に基づいて画面の移動量を決定する。ここで、ユーザはタッチによってポップアップ画面の表示を移動させることも可能である。このとき、ポップアップ画面144に示されるICの名称等の情報は1つずつシフトされる。
第9の手法では、第8の手法と同様に、コントローラ11は、タッチおよびジェスチャを、異なる2つの情報(例えばICの情報および交通情報)にそれぞれ対応付ける。そして、コントローラ11は、異なる2つの情報に基づいて、互いに異なる画面の移動量を設定する。ユーザはジェスチャを用いることによって、タッチと異なる移動量で画面を移動させて、例えばタッチを何回も繰り返す場合に比べて効率的な操作を行うことができる。ここで、別の例として、コントローラ11は、高速道路のサービスエリアまたはパーキングエリアの情報を用いてよい。例えば、コントローラ11は、交通情報に基づいて、ユーザのジェスチャによって駐車可能な(満車でない)サービスエリアまたはパーキングエリアを直ちに表示させてよい。
(フローチャート)
図27は、上記の第7の手法に対応する、電子機器1のユーザ動作に応じた処理を例示するフローチャートである。
電子機器1のコントローラ11は、タッチセンサ26によってタッチを検出した場合に(ステップS101のYes)、タッチに基づく基本操作あたりの画面の移動量で、画面を移動させる(ステップS102)。
電子機器1のコントローラ11は、タッチセンサ26によってタッチを検出しない場合に(ステップS101のNo)、または、ステップS102の処理の後に、ステップS103の処理に進む。
電子機器1のコントローラ11は、近接センサ18によってジェスチャを検出した場合に(ステップS103のYes)、ジェスチャに基づく基本操作あたりの画面の移動量で、画面を移動させる(ステップS104)。
電子機器1のコントローラ11は、ステップS104の処理の後で、画面の移動について終了指示がある場合に(ステップS105のYes)、一連の処理を終了する。
電子機器1のコントローラ11は、近接センサ18によってジェスチャを検出しない場合に(ステップS103のNo)、または、画面の移動について終了指示がない場合に(ステップS105のNo)、ステップS101の処理に戻る。
また、図28は、上記の第8の手法および第9の手法に対応する、電子機器1のユーザ動作に応じた処理を例示するフローチャートである。
電子機器1のコントローラ11は、タッチセンサ26によってタッチを検出した場合に(ステップS201のYes)、タッチに対応付けられた第2の情報に基づく画面の移動量で、画面を移動させる(ステップS202)。
電子機器1のコントローラ11は、タッチセンサ26によってタッチを検出しない場合に(ステップS201のNo)、または、ステップS202の処理の後に、ステップS203の処理に進む。
電子機器1のコントローラ11は、近接センサ18によってジェスチャを検出した場合に(ステップS203のYes)、ジェスチャに対応付けられた第1の情報に基づく画面の移動量で、画面を移動させる(ステップS204)。
電子機器1のコントローラ11は、ステップS204の処理の後で、画面の移動について終了指示がある場合に(ステップS205のYes)、一連の処理を終了する。
電子機器1のコントローラ11は、近接センサ18によってジェスチャを検出しない場合に(ステップS203のNo)、または、画面の移動について終了指示がない場合に(ステップS205のNo)、ステップS201の処理に戻る。
以上のように、本開示の電子機器1のコントローラ11は、近接センサ18によって検出されるジェスチャおよびタッチセンサ26によって検出されるタッチをそれぞれ適切に操作に対応付ける。そのため、本開示の電子機器1は、入力操作について操作性が向上する。
(その他の実施形態)
本開示を図面および実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形および修正を行うことが容易であることに注意されたい。したがって、これらの変形および修正は本開示の範囲に含まれることに留意されたい。例えば、各手段または各ステップなどに含まれる機能などは論理的に矛盾しないように再配置可能であり、複数の手段またはステップなどを1つに組み合わせたり、或いは分割したりすることが可能である。
例えば、上記の第1から第9の手法は組み合わせることが可能である。例えば第7から第9の手法のそれぞれは、複数の画面を有する第5の手法の表示形態を組み合わせることができる。
また、複数の画面が表示される場合の態様は、図8の例のように1つのディスプレイ14で画面が分割されるものに限定されない。例えば電子機器1が正面と背面とにディスプレイ14を備える場合に、背面のディスプレイ14に第1画面141が表示されて、正面のディスプレイ14に第2画面142が表示されてよい。
上記の実施形態では、ジェスチャは、近接センサ18により検出されると説明したが、必ずしも近接センサ18により検出されなくてよい。ジェスチャは、自機器に触れずにユーザのジェスチャを検出可能な任意のセンサにより検出されてよい。このようなセンサの一例は、例えば、カメラ13等を含む。
自機器に触れずにユーザのジェスチャを検出可能なセンサは、例えば測距センサを含んでよい。例えば、電子機器1は、近接センサ18に代えて、又は近接センサ18とともに、測距センサを含み、測距センサにより、ジェスチャを検出してよい。
測距センサは、対象物との距離を測定可能なセンサである。測距センサは、例えばToF(Time of Flight)センサにより構成されていてよい。ToFセンサとして構成される測距センサは、正弦波変調光(赤外レーザ光)を対象物に向けて照射する発光部と、照射された赤外レーザ光の対象物からの反射光を受光する受光部とを備える。受光部は、例えば複数の受光素子を配置したイメージセンサを有する。ToFセンサは、赤外レーザ光を照射してから、各受光素子で反射光を受光するまでの時間(飛行時間)を測定する。ToFセンサは、照射した赤外レーザ光と、受光した反射光との位相差に基づき、飛行時間を測定できる。ToFセンサは、測定した飛行時間に基づき、照射した赤外レーザ光を反射した対象物までの距離を測定できる。ToFセンサは、対象物からの反射光が複数の受光素子それぞれに入射する時間差により対象物の移動方向を検出することができる。これにより、ToFセンサも、近接センサ18で説明した原理と同様の原理で、ユーザが行うジェスチャを検出することができる。測距センサは、電子機器1において、例えば近接センサ18が配置された面と同じ面に配置されてよい。
ここで、図29から図31を参照しながら、コントローラ10が測距センサの出力に基づいてユーザのジェスチャを検出する方法を説明する。図29は、測距センサ126を模式的に示す図である。図29は、側面視における測距センサ126を示している。測距センサ126は、発光部126aと受光部126bとを備える。発光部126a及び受光部126bは、電子機器1の長手方向と略平行に配置されているとする。発光部126aは、赤外レーザ光を対象物に向けて照射する。受光部126bは、照射された赤外光の対象物からの反射光を受光する。
受光部126bは、複数の受光素子を備えていてよい。例えば、受光部126bは、図30に示すように、3行×3列に配置された9つの受光素子を備えていてよい。9つの受光素子は、それぞれ対象物からの反射光を受光する。受光部126bにおいて、上段には、電子機器1の短手方向と略平行に、左から順にCh11、Ch12及びCh13の3つの受光素子が配置されている。受光部126bにおいて、中段には、電子機器1の短手方向と略平行に、左から順にCh21、Ch22及びCh23の3つの受光素子が配置されている。受光部126bにおいて、下段には、電子機器1の短手方向と略平行に、左から順にCh31、Ch32及びCh33の3つの受光素子が配置されている。
測距センサ126は、発光部126aが照射した赤外レーザ光と、受光部126bの9つの受光素子がそれぞれ受光した反射光との位相差に基づき、9つの受光素子それぞれから対象物までの距離を測定できる。測距センサ126は、9つの受光素子それぞれから対象物までの距離と、時間経過に伴う距離の変化に基づいて、ジェスチャを検出することができる。
例えば、ユーザが手を左から右に動かすジェスチャを行ったとする。このとき、例えば中段の受光素子Ch21、Ch22及びCh23により検出される、対象物までの距離をそれぞれD21、D22及びD23とする。図31は、各受光素子により検出される対象物までの距離の推移を模式的に示す図である。例えば図31に模式的に示すように、まず、対象物である手が最初に左側に配置された受光素子Ch21に近づくため、受光素子Ch21により検出される対象物の距離D21が近くなる。その後、対象物である手が中央に配置された受光素子Ch22に近づくと、受光素子Ch22により検出される対象物の距離D22が近くなる。最後に、対象物である手が右側に移動すると、右側に配置された受光素子Ch23により検出される対象物の距離D23が近くなる。各受光素子Ch21、Ch22及びCh23に近づいた手が遠ざかる順序も、Ch21、Ch22、Ch23の順である。そのため、距離D21、D22及びD23は、この順序で大きくなる(初期値に戻る)。上下方向のジェスチャも、同様の原理により、例えば長手方向に配置された受光素子Ch12、Ch22及びCh32を用いて検出することができる。このように、測距センサ126は、9つの受光素子それぞれから対象物までの距離と、時間経過に伴う距離の変化に基づいて、ジェスチャを検出することができる。
なお、ここでは、受光部126bが9つの受光素子を備えるとして説明したが、受光部126bが備える受光素子の数量はこれに限られない。複数の受光素子の配置も図30に示す配置に限られない。受光部126bが備える受光素子の数量及びその配置は、検出するジェスチャの種類に応じて、適宜定められてよい。
また、測距センサ126の発光部126aは、複数の発光素子を備えていてよい。この場合、各発光素子から発光される赤外レーザ光と、受光部126bが受光する反射光との位相差に基づき、9つの発光素子それぞれから対象物までの距離を測定できる。この場合においても、測距センサ126は、9つの発光素子それぞれから対象物までの距離と、時間経過に伴う距離の変化に基づいて、上述の原理を応用することにより、ジェスチャを検出することができる。
本開示内容の多くの側面は、プログラム命令を実行可能なコンピュータシステムその他のハードウェアにより実行される、一連の動作として示される。コンピュータシステムその他のハードウェアには、例えば、汎用コンピュータ、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もしくは情報を格納可能な他の有形の記憶媒体または上記の具体例いずれかの組合せが含まれる。メモリは、プロセッサまたはプロセッシングユニットの内部および/または外部に設けることができる。ここで用いられるように、「メモリ」という語は、あらゆる種類の長期記憶用、短期記憶用、揮発性、不揮発性またはその他のメモリを意味する。つまり、「メモリ」は特定の種類および/または数に限定されない。また、記憶が格納される媒体の種類も限定されない。