(電子機器の構成)
図1に示すように一実施形態の電子機器1は、タイマー12と、カメラ13と、ディスプレイ14と、マイク15と、ストレージ16と、通信ユニット17と、スピーカー25と、近接センサ18(ジェスチャセンサ)と、コントローラ11と、を備える。電子機器1は、さらにUVセンサ19と、照度センサ20と、加速度センサ21と、地磁気センサ22と、気圧センサ23と、ジャイロセンサ24と、を備える。図1は例示である。電子機器1は図1に示す構成要素の一部を備えなくてよい。また、電子機器1は図1に示す以外の構成要素を備えていてよい。
電子機器1は、移動体の運転または操縦において用いられる種々の機器として実現されてよい。移動体は、移動可能な任意の装置により構成されていてよい。移動体は、ユーザが乗り込むことが可能であってよい。移動体は、例えば、車両、船舶および航空機等を含んでよい。車両は、例えば、電気自動車、ハイブリッド電気自動車、ガソリン自動車、バイク、二輪車、および福祉車両等を含んでよい。車両は、例えば鉄道車両を含んでよい。移動体は、ユーザによって運転または操縦されてよい。移動体の運転または操縦に関するユーザ操作の少なくとも一部が自動化されていてよい。移動体は、ユーザ操作によらず、自律して移動可能であってよい。以下において、移動体は、ユーザが運転する自動車であるとして説明する。
移動体が自動車である場合、電子機器1は、例えば自動車に搭載されたカーナビゲーションシステム等の車載機器として実現されてよい。電子機器1は、例えば携帯電話端末、ファブレット、タブレットPC(Personal Computer)、スマートフォンまたはフィーチャーフォン等として実現されてよい。この場合、電子機器1は、ユーザが運転する自動車に搭載されたシステムと、有線または無線により通信可能に接続されてよい。例えば、電子機器1は、スマートフォンとして実現され、Bluetooth(登録商標)により自動車に搭載されたシステムと通信可能に接続されてよい。電子機器1は、これらの例に限られず、移動体の運転または操縦において用いられる任意の機器として実現されてよい。電子機器1は、例えば、PDA(Personal Digital Assistant)、リモコン端末、携帯音楽プレイヤ、ゲーム機、電子書籍リーダ、家電製品または産業用機器(FA機器)等により実現されてよい。ここでは、電子機器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は、例えば入力された自動車の目的地までの経路を案内する音声を出力する。電子機器1が通話可能な機器として実現されている場合には、例えば通話の際に、相手の声がスピーカー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の動作を統括的に制御して各種の機能を実現する。
電子機器1が自動車に搭載されたカーナビゲーションシステムとして実現される場合、電子機器1が備えるコントローラ11は、例えば、自動車が備えるECU(Electric Control UnitまたはEngine Control Unit)により構成されていてよい。
コントローラ11は、ストレージ16に記憶されているデータを必要に応じて参照する。コントローラ11は、ストレージ16に記憶されているプログラムに含まれる命令を実行してディスプレイ14等の他の機能部を制御することによって各種機能を実現する。例えばコントローラ11は、近接センサ18が検出したユーザのジェスチャに関する情報を取得する。コントローラ11は、例えば自動車が停止中であって電子機器1がタッチパネルによって操作可能である場合に、ユーザによる接触のデータをタッチパネルから取得する。また、例えばコントローラ11は、近接センサ18以外のセンサが検出した情報を取得する。
また、本実施形態において、コントローラ11は、ディスプレイ14の表示を制御するディスプレイドライバとしての機能を有する。すなわち、本実施形態において、コントローラ11は、直接的にディスプレイ14の制御を行って、画像を表示することが可能である。別の実施形態として、ディスプレイドライバは、コントローラ11から独立して設けられていてよい。この場合に、コントローラ11は、ディスプレイドライバを介して、ディスプレイ14に画像を表示させてよい。
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を操作する様子を示す。電子機器1は、一例として、ディスプレイ14がコンソールパネルに設置されるように、自動車に搭載されている。代替例として、電子機器1は、自動車内に設けられた、電子機器1を支持するための支持具に支持されてよい。近接センサ18がユーザのジェスチャを検出すると、コントローラ11は検出されたジェスチャに基づく処理を行う。図2の例では、ジェスチャに基づく処理は、例えばスピーカー25から出力されている音の音量の調整である。例えば、ユーザが電子機器1の上方へと手を動かすジェスチャを行うと、ユーザの手の動きに連動して音量が大きくなる。また、例えば、ユーザが電子機器1の下方へと手を動かすジェスチャを行うと、ユーザの手の動きに連動して音量が小さくなる。
ジェスチャに基づく処理は、音量の調整に限られない。ジェスチャに基づく処理は、検出したジェスチャに基づいて実行可能な他の処理であってよい。例えば、ジェスチャに基づく処理は、ディスプレイ14に表示された情報の拡大または縮小、ディスプレイ14の表示の明るさの調整、所定の情報の音声による読み上げ開始、音声による読み上げの停止等を含んでよい。
(ジェスチャを検出する方法)
ここで、図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上に、赤外フォトダイオード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に直交する方向における検出対象物の移動を把握できる。
代替例として、コントローラ11はフォトダイオードSU,SR,SDおよびSLの全ての検出値を用いて演算を行ってよい。すなわち、コントローラ11は検出対象物の移動方向を、仮想線D1の方向および直交する方向の成分に分離して演算することなく把握してよい。
検出されるジェスチャは例えば、左右のジェスチャ、上下のジェスチャ、斜めのジェスチャ、時計回りで円を描くジェスチャ、および反時計回りで円を描くジェスチャ等である。例えば左右へのジェスチャとは、電子機器1の長手方向と略平行な方向に行われるジェスチャである。上下のジェスチャとは、電子機器1の短手方向と略平行な方向に行われるジェスチャである。斜めのジェスチャとは、電子機器1と略平行な平面において、電子機器1の長手方向と短手方向とのいずれとも平行でない方向に行われるジェスチャである。
ここで、フォトダイオードSU,SR,SDおよびSLは、光源用赤外LED180から照射された赤外光の検出対象物での反射光を受光し、受光量に応じた大きさの検出値を出力し得る。このとき、コントローラ11は、検出対象物が近接センサ18に近付くこと、および、遠ざかることも判定可能である。まず、コントローラ11は、フォトダイオードSU,SR,SDおよびSLの少なくとも1つの検出値がある閾値(例えばゼロでない値)以上であることによって、検出対象物が存在すると判定可能である。そして、コントローラ11は、検出対象物が存在すると判定した後に、フォトダイオードSU,SR,SDおよびSLの少なくとも1つの検出値が相対的に大きくなることによって、検出対象物が電子機器1に近付いていると判定できる。また、コントローラ11は、検出対象物が存在すると判定した後に、フォトダイオードSU,SR,SDおよびSLの少なくとも1つの検出値が相対的に小さくなることによって、検出対象物が電子機器1から遠ざかっていると判定できる。このとき、コントローラ11は、ユーザが電子機器1に向かって、手を近付けるジェスチャ、手を遠ざけるジェスチャ、および、これらのジェスチャと上記の別のジェスチャ(例えば左右のジェスチャ等)とを組み合わせたジェスチャを判別可能である。
(カーモード)
図5は、ユーザがジェスチャにより電子機器1を操作する状況の一例を示す。図5に示すように、例えば電子機器1は、ディスプレイ14が自動車のコンソールパネルにおいて中央に位置するように、配置される。図5の例で、ユーザは、目的地までの経路を電子機器1のディスプレイ14に表示させた状態で、表示された経路を参照しながら、電子機器1が搭載された自動車に乗り込んで、当該自動車を運転している。このとき、近接センサ18はユーザのジェスチャを検出可能な状態である。コントローラ11は近接センサ18が検出したジェスチャに基づく処理を行う。
例えば、コントローラ11は特定のジェスチャ(例えばユーザが手を上下に動かすジェスチャ)に応じて電子機器1から出力させている音の音量を調整する処理が可能である。電子機器1は、タッチスクリーンディスプレイにおいて、ユーザからのタッチ入力を受け付け可能である。しかし、運転中にタッチ入力を行おうとすると、タッチスクリーンディスプレイまでの距離および接触位置を確認するために、ユーザがディスプレイ14に長く視線を移す可能性がある。仮に運転に関するユーザ操作の少なくとも一部が自動化されているとしても、車両の安全運転の観点から、ユーザは運転中に自動車の周囲の状況確認し続けることが好ましい。つまり、ユーザはタッチ入力を行わないことが好ましい。本実施形態のように電子機器1がジェスチャによる入力操作を受付可能な場合には、ユーザは電子機器1に触れることなく入力操作を行うことができる。これにより、ユーザが運転中に入力操作を行う場合であっても、運転の安全性を確保しやすくなる。
ここで、電子機器1はモードを複数有してよい。モードとは電子機器1の全体の動作について制限等を与える動作モード(動作状態または動作状況)を意味する。モードは同時に1つだけ選択可能である。本実施形態において、電子機器1のモードは第1モードおよび第2モードを含む。第1モードは、例えば運転以外の状況での使用に適している通常の動作モード(通常モード)である。運転以外の状況は、例えば、自動車のエンジンがかかっていない状態、シフトレバーが所定のレンジ(例えばパーキングレンジ)になっている状態、ブレーキが踏まれている状態、および、目的地までの経路の表示が行われていない状態のいずれかを含んでよい。第2モードは、目的地までの経路を電子機器1のディスプレイ14に表示させて自動車を運転するのに適した電子機器1の動作モード(カーモード)である。上記で説明したように、第2モードの場合には、ジェスチャによる入力が可能であることが好ましい。つまり、電子機器1のモードが第2モードに切り替わる場合には、連動して近接センサ18を動作させてジェスチャを検出可能にすることが好ましい。電子機器1は、例えばユーザによる電子機器1に対する所定の入力操作または自動車に対する所定の入力操作に基づいて、電子機器1のモードを切り替えてよい。
ここで、図6は、電子機器1のディスプレイ14の表示の一例である。第1画面140は、例えば地図画面であって、道路と、自動車の現在の位置および向きを示すマーク141と、インターチェンジ(IC:interchange)または建造物等を示すマーク142と、を含む。また、第2画面150は、例えば高速道路の情報を示す道路情報画面であって、現在位置から近いインターチェンジの詳細情報151を含む。詳細情報151は、インターチェンジ名(例えば○○、△△および××)を含む。また、詳細情報151は、インターチェンジ(IC)付近に、サービスエリア(SA)またはジャンクション(JCT)があるか否かの情報を含む。図6の例では、インターチェンジである××の付近にサービスエリアがあることが示されている。また、詳細情報151は、現在の位置から各インターチェンジまでの距離を含む。図6の例では、インターチェンジである△△まで5kmであることが示されている。
特に車載機器である電子機器1において、ディスプレイ14の表示領域の全体に表示される画面(以下、表示画面という)の構成は一般に固定的である。例えば、搭載される自動車に関係なく、図6のように表示画面の左半分に第1画面140(例えば地図画面)が表示されて、右半分に第2画面150(例えば道路情報画面)が表示される。しかし、自動車の種類として、右ハンドル車と左ハンドル車がある。固定的な表示画面の電子機器1を操作する場合に、右ハンドル車の運転者と左ハンドル車の運転者とでは使い勝手が大きく異なる。そのため、一方(例えば右ハンドル車)の運転者が操作しやすい表示画面であっても、他方(例えば左ハンドル車)の運転者にとって操作しやすいとは限らなかった。また、例えば運転者の好みを反映できる、柔軟な画面配置が可能な電子機器1が求められていた。本実施形態において、電子機器1のコントローラ11は、以下に説明する処理の実行によって、運転席で操作しやすい画面配置を実現しながら、ジェスチャ操作によって移動体の運転の安全性を向上可能な電子機器1を提供できる。ここで、以下に説明する処理は、電子機器1が上記のカーモードである場合に実行される。
(運転席の位置の決定方法)
ここで、電子機器1において、ジェスチャとして検出される方向は、予め定められていてよい。例えば図7に示すように、ジェスチャとして検出される方向は、上下方向、左右方向および前後方向に定められていてよい。以下において、説明を簡潔にするため、ジェスチャとして検出される方向が、上下方向および左右方向および前後方向に定められているとして、以下説明する。すなわち、以下、斜め方向のジェスチャおよび例えば円等の所定の形状を描くジェスチャについては例示しない。ただし、これは本開示に係る電子機器1においてジェスチャとして検出される方向を限定するものではない。従って、電子機器1は、以下の説明と同様の方法で、例えば斜め方向のジェスチャ等の検出を行ってよい。
図7では、直交座標系が設定されており、x軸が左右方向、y軸が上下方向、z軸が前後方向にそれぞれ対応付けられている。前後方向は、電子機器1の近接センサ18に近付く方向、および、遠ざかる方向である。詳細には、x軸の正方向、負方向がそれぞれ右方向、左方向に対応付けられている。また、y軸の正方向、負方向がそれぞれ上方向、下方向に対応付けられている。z軸の正方向、負方向がそれぞれ後方向、前方向に対応付けられている。
コントローラ11は、電子機器1が搭載された自動車において、運転席の位置を決定する。例えば、一例として図8に示すように、自動車30は、進行方向に向かって、前列および後列にそれぞれ2つの座席を備え、右側および左側にそれぞれ2つの座席を備えるとする。すなわち、自動車30は、前列右側、前列左側、後列右側、および後列左側に、それぞれ座席31、座席32、座席33、および座席34を備える。また、自動車30には、前列の前方側の中央に、ディスプレイ14および近接センサ18が配置されている。
ここで、運転席は、自動車30の運転を行うユーザが座る座席をいう。自動車30がステアリング(操舵装置)を備え、ユーザがステアリングを操作して運転を行う場合、運転席はステアリングが配置された位置の正面の座席である。ステアリングは例えばハンドル、レバーまたはバー等であり得る。通常、自動車30のステアリングは前列のいずれかの座席の正面に配置される。そのため、コントローラ11は、前列右側の座席31または前列左側の座席32を運転席の位置として決定する。
本実施形態において、コントローラ11は、最初にジェスチャが検出された方向に基づいて、運転席の位置を決定する。最初に検出されたジェスチャは、電子機器1に電源が供給された後に検出された1番目のジェスチャであってよい。別の例として、最初に検出されたジェスチャは、電子機器1がユーザに対して所定の文字、画像および音の少なくとも1つを示した後で検出された1番目のジェスチャであってよい。例えば所定の文字および画像は、ディスプレイ14に表示される「運転席から助手席側に手を伸ばしてください」といったメッセージ、および、当該メッセージの内容を示す画像であってよい。また、例えば所定の音は、スピーカー25から発せられる「運転席から助手席側に手を伸ばしてください」という音声であってよい。
ユーザは、電子機器1に電源が供給された後で、電子機器1を使用するために手を近づける。この場合、ユーザの手は、ユーザが座っている座席の方向から伸びてくる。つまり、ユーザが進行方向に向かって右側に座っていれば、ユーザの手は、進行方向に向かって近接センサ18の右側から伸びてくる。反対に、ユーザが進行方向に向かって左側に座っていれば、ユーザの手は、進行方向に向かって近接センサ18の左側から伸びてくる。そこで、電子機器1は、近接センサ18によって最初に検出されたジェスチャの方向に応じて、ユーザの位置を特定することができる。自動車30を運転するに際して、電子機器1の操作を行おうとするユーザは、通常、当該自動車30を運転するユーザであると考えられる。そのため、コントローラ11は、最初にジェスチャを検出した方向に応じて、運転席の位置を特定することができる。
(表示設定)
コントローラ11は、運転席の位置(つまり、運転者の位置)を特定した後に、ディスプレイの表示画面を運転者の位置に応じた表示画面に変更する。コントローラ11は、後述する電子機器1の表示設定に従って、もとの表示画面を、運転者の位置に応じた表示画面に変更する。ここで、表示画面の「変更」は、もとの表示画面が電子機器1の表示設定に従っても不変である場合、すなわち、結果的に表示画面の内容が変わらない場合を含む。
ユーザは、電子機器1の設定画面で、表示設定を指定できる。図9は設定画面の一例を示す。図9の例において、ユーザは「高速道路の地図画面の位置」、「複数画像のサイズ」、「アイコンの位置」および「単一画面の中心位置」について指定が可能である。ここで、設定画面は、これらの項目の一部を含まなくてよい。また、設定画面は、これらの項目以外の別の項目を更に含んでよい。
(優先度に応じた表示位置)
図10は、自動車が高速道路を走行中に表示される、2以上の画面を含む表示画面を示す。図10の例において、表示画面は、第1画面140である地図画面と、第2画面150である道路情報画面と、を含む。ここで、表示画面が2以上の画面を含む場合に、画面に優先度を設定して、優先度の高い画面を運転者の近くに表示することが好ましい。つまり、運転者にとってより必要な情報である優先度の高い画面が、見やすいように、より近くに表示されることが好ましい。図9の設定画面における「高速道路の地図画面の位置」は、地図画面の優先度を設定するための項目である。図9の例では、高速道路の地図画面の位置が「運転席側」に設定されている。つまり、地図画面(第1画面140)の優先度は、道路情報画面(第2画面150)よりも高く設定される。
コントローラ11は、運転席の位置が右側(図8の例では座席31)であると決定した場合に、図10の下図に示すように、優先度の高い地図画面を運転者に近い右側に表示する。そして、コントローラ11は、優先度の低い道路情報画面を、地図画面よりも運転者から遠い位置(助手席側)に表示する。つまり、コントローラ11は、優先度の高い画面が運転者から遠い位置にある場合に(図10の上図)、優先度の高い画面が運転者に近い位置に表示されるように変更する(図10の下図)。このとき、コントローラ11は、優先度の低い画面の位置と優先度の高い画面の位置とを入れ替えて(並べ替えて)、優先度の低い画面の表示も継続する。このように、コントローラ11は、表示画面が2以上の画面を含む場合に、画面の優先度に基づいて、表示位置の並べ替えを実行できる。ここで、図9の設定画面において地図画面が助手席側に設定された場合、上記と反対に、地図画面(第1画面140)の優先度は、道路情報画面(第2画面150)よりも低く設定される。
(表示画面領域の変更)
図11の表示画面は、図10と同じく、第1画面140である地図画面と、第2画面150である道路情報画面と、を含む。ここで、運転者の近くに表示された優先度の高い画面は、優先度の低い画面よりも大きく表示されることが好ましい。つまり、運転者にとってより必要な情報である優先度の高い画面が、さらに見やすいように、大きく表示されることが好ましい。図9の設定画面における「複数画像のサイズ」は、表示画面に含まれる複数の画面のサイズを調整するための項目である。図9の例では、複数画像のサイズが「変更」に設定されている。つまり、運転者の近くに表示される画面のサイズは、他の画面よりも大きくなるように調整される。
コントローラ11は、運転席の位置が右側であると決定した場合に、運転者に近い地図画面の表示画面領域(サイズ)を大きくする。コントローラ11は、運転者に近い地図画面のサイズを、少なくとも地図画面より運転者から遠い道路情報画面のサイズよりも大きくする。ここで、設定画面において、運転者に近い画面の具体的なサイズ(例えばディスプレイ14の表示領域の70%のサイズ)が設定可能であってよい。また、例えば設定画面において、運転者に近い画面のサイズと、運転者から遠い他の画面のサイズとの比率が設定可能であってよい。ここで、コントローラ11は運転者から遠い画面の表示も継続する。図11に示すように、運転者から遠い画面は、一部だけが表示されるようにサイズが調整されてよい。このように、コントローラ11は、表示画面が2以上の画面を含む場合に、運転者に近い画面の表示画面領域を、運転者から遠い画面の表示画面領域よりも大きくする。ここで、図9の設定画面において複数画像のサイズが「同一」に設定された場合、表示画面に含まれる複数の画面のサイズは同じである。
(アイコンの表示位置)
図12の表示画面は、アイコングループ160およびアイコン170を含む。アイコングループ160およびアイコン170は、例えば非表示状態でジェスチャ(一例として左右のジェスチャ)が検出されることによって表示されてよい。また、アイコングループ160およびアイコン170は、表示された後で、運転者からの操作がないまま一定の時間が経過した場合に再び非表示状態になってよい。アイコングループ160は、複数のアイコン160A、160B、160Cおよび160Dの集合である。ユーザは、アイコン160A、160B、160C、160Dまたは170をジェスチャによって選択することによって、関連付けられた機能を実行させることができる。アイコン160Aは、地図画面において自宅を表示させる機能に関連付けられている。アイコン160Bは、地図画面において現在の位置または指定した位置を登録する機能に関連付けられている。アイコン160Cは、設定メニューの一覧を表示させる機能に関連付けられている。例えば図9の設定画面は、設定メニューの一覧から選択されることによって表示され得る。アイコン160Dは、地図画面の縮尺を指定する機能に関連付けられている。アイコン170は、地図画面の表示態様を指定する機能に関連付けられている。アイコン170は、例えば上方向を北とする地図の表示と、上方向を自動車の進行方向とする地図の表示とを切り替えるために用いられる。
ここで、アイコングループ160およびアイコン170は、ジェスチャによる選択等の操作がしやすいように、運転者の近くに表示されることが好ましい。図9の設定画面における「アイコンの位置」は、表示画面に含まれるアイコンの位置を調整するための項目である。図9の例では、アイコンの位置が「運転席側」であるように設定されている。
コントローラ11は、運転席の位置が右側であると決定した場合に、図12の下図に示すように、アイコングループ160およびアイコン170を運転者に近い右側に表示する。つまり、コントローラ11は、運転席から遠い位置にあったアイコングループ160およびアイコン170を、一方向(左右方向)に平行移動させて運転席に近付ける。このように、コントローラ11は、表示画面がアイコンを含む場合に、運転者により近い位置にアイコンを移動する。ここで、図9の設定画面においてアイコンの位置が「初期位置」に設定された場合、アイコンは移動せずに最初の位置に表示される。
また、コントローラ11は、近接センサ18によって第1のジェスチャ(例えば左右のジェスチャ)が検出されると、アイコングループ160に含まれるアイコン160A、160B、160C、160Dをローテーションして表示してよい。そして、コントローラ11は、近接センサ18によって第2のジェスチャ(例えば上下のジェスチャ)が検出されると、最も運転席側に表示されているアイコンの機能を実行してよい。図13は、アイコングループ160のローテーションの様子を示す図である。図13に示すように、コントローラ11は、第1のジェスチャが検出されると、アイコン160A、160B、160C、160Dのローテーションを実行する。図13の例では、アイコン160D、アイコン160C、アイコン160B、アイコン160Aの順に、最も運転席側に位置するアイコンが変化する。コントローラ11は、このようなローテーションによって、アイコングループ160に含まれるアイコンをユーザが選択しやすいようにすることができる。また、コントローラ11は、第1のジェスチャでなく、第2のジェスチャでもないジェスチャ(例えば前後のジェスチャ)が検出されると、アイコン170が選択されたと判定してよい。そして、コントローラ11は、アイコン170が選択された状態で第2のジェスチャが検出されると、アイコン170の機能(地図の表示の切り替え)を実行してよい。別の実施形態として、コントローラ11は、アイコン160A、160B、160C、160Dに、更にアイコン170を含めて、選択されるアイコンを順に変更するローテーションを実行してよい。ここで、コントローラ11は、図9の設定画面においても、同じ手法を採用する。つまり、コントローラ11は、第1のジェスチャが検出されると、「高速道路の地図画面の位置」、「複数画像のサイズ」、「アイコンの位置」および「単一画面の中心位置」を順に選択する。そして、コントローラ11は、第2のジェスチャが検出されると、選択された項目の設定を切り替える(例えば、助手席側を運転席側に変更する)。
上記では表示設定の項目について個別に説明したが、コントローラ11は、複数の表示設定に従って表示画面を変更することが可能である。例えば高速道路の地図画面の位置が「運転席側」に、複数画像のサイズが「変更」に、および、アイコンの位置が「運転席側」に設定された場合に、コントローラ11は、図14に示すように表示画面を変更する。つまり、コントローラ11は、優先度に応じて第1画面140と第2画面150とを入れ替えて、運転者に近い第1画面140のサイズを大きくして、アイコングループ160およびアイコン170を運転者の近くに表示する。コントローラ11は、ユーザによって指定された複数の表示設定に応じた複数の表示画面の変更を、順番に、または一度に実行してよい。
(単一画面の表示調整)
図15の表示画面は、1つの画面(単一画面)であり得る。ここで、例えば1つの地図画面が表示されている場合に、自動車の現在位置を示す表示はディスプレイ14の中心付近にあることが多い。自動車の現在位置が運転者にとって見やすい位置(より近く)に表示されるならば、運転者はより早く確認作業を行うことが可能になる。図9の設定画面における「単一画面の中心位置」は、表示画面に含まれる単一画面の中心の位置を調整するための項目である。図9の例では、単一画面の中心位置が「運転席側」に設定されている。つまり、画面が運転席側にずれて(シフトして)表示される。
コントローラ11は、運転席の位置が右側であると決定した場合に、単一画面の中心位置を運転席側にシフトして表示する。ここで、設定画面において、シフト量(ずれの大きさ)が設定可能であってよい。図15に示すように、単一画面をシフトすることで、画面が表示されなくなった領域は特定の色(例えば黒色)で表示されてよい。このように、コントローラ11は、表示画面が単一画面である場合に、単一画面の中心位置を運転者側にずらして表示してよい。ここで、図9の設定画面において単一画面の中心位置が「中央」に設定された場合、画面のシフトは実行されない。
(コントローラが実行する処理のフロー)
図16は、電子機器1のコントローラ11が実行する処理の一例を示すフローチャートである。
コントローラ11は、上記説明した方法により、自動車における運転席の位置を決定する(ステップS1)。
コントローラ11は、優先度に応じた画面表示位置の設定がある場合に(ステップS2のYes)、画面の位置を調整して表示する(ステップS3)。例えば、コントローラ11は、図9の設定画面において高速道路の地図画面の位置が運転席側に設定された場合に、優先度が高い地図画面を運転者に近い位置に表示する。
コントローラ11は、ステップS3の後で、または、優先度に応じた画面表示位置の設定がない場合に(ステップS2のNo)、ステップS4の処理に進む。
コントローラ11は、画面の領域調整の設定がある場合に(ステップS4のYes)、画面の領域を調整して表示する(ステップS5)。例えば、コントローラ11は、図9の設定画面において複数画像のサイズが変更に設定された場合に、運転者の近くに表示される画面のサイズを他の画面よりも大きくして表示する。
コントローラ11は、ステップS5の後で、または、画面の領域調整の設定がない場合に(ステップS4のNo)、ステップS6の処理に進む。
コントローラ11は、アイコンの表示位置の設定がある場合に(ステップS6のYes)、アイコンの位置を調整して表示する(ステップS7)。例えば、コントローラ11は、図9の設定画面においてアイコンの位置が運転席側に設定された場合に、運転者により近い位置にアイコンを移動して表示する。
コントローラ11は、ステップS7の後で、または、アイコンの表示位置の設定がない場合に(ステップS6のNo)、一連の処理を終了する。
以上説明したように、本実施形態に係る電子機器1は、最初に検出されたジェスチャの方向に応じて運転席の位置を特定し、ディスプレイ14の表示画面を運転者の位置に応じた表示画面に変更する。そのため、電子機器1は、運転席で操作しやすい画面配置を実現する。そして、電子機器1は、ジェスチャによる入力操作が可能であるため、例えば接触操作の場合に比べて、ディスプレイ14に視線を移さずに操作が可能になる。そのため、ユーザは運転中に自動車の周囲の状況確認し続けることができ、運転の安全性が向上する。
(その他の実施形態)
本開示を図面および実施形態に基づき説明してきたが、当業者であれば本開示に基づき種々の変形および修正を行うことが容易であることに注意されたい。したがって、これらの変形および修正は本開示の範囲に含まれることに留意されたい。例えば、各手段または各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段またはステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。
上記の実施形態では、ジェスチャは、近接センサ18により検出されると説明したが、必ずしも近接センサ18により検出されなくてよい。ジェスチャは、自機器に触れずにユーザのジェスチャを検出可能な任意のセンサにより検出されてよい。このようなセンサの一例は、例えば、カメラ13等を含む。
自機器に触れずにユーザのジェスチャを検出可能なセンサは、例えば測距センサを含んでよい。例えば、電子機器1は、近接センサ18に代えて、または近接センサ18とともに、測距センサを含み、測距センサにより、ジェスチャを検出してよい。
測距センサは、対象物との距離を測定可能なセンサである。測距センサは、例えばToF(Time of Flight)センサにより構成されていてよい。ToFセンサとして構成される測距センサは、正弦波変調光(赤外レーザ光)を対象物に向けて照射する発光部と、照射された赤外レーザ光の対象物からの反射光を受光する受光部とを備える。受光部は、例えば複数の受光素子を配置したイメージセンサを有する。ToFセンサは、赤外レーザ光を照射してから、各受光素子で反射光を受光するまでの時間(飛行時間)を測定する。ToFセンサは、照射した赤外レーザ光と、受光した反射光との位相差に基づき、飛行時間を測定できる。ToFセンサは、測定した飛行時間に基づき、照射した赤外レーザ光を反射した対象物までの距離を測定できる。ToFセンサは、対象物からの反射光が複数の受光素子それぞれに入射する時間差により対象物の移動方向を検出することができる。これにより、ToFセンサも、近接センサ18で説明した原理と同様の原理で、ユーザが行うジェスチャを検出することができる。測距センサは、電子機器1において、例えば近接センサ18が配置された面と同じ面に配置されてよい。
ここで、図17から図19を参照しながら、コントローラ11が測距センサの出力に基づいてユーザのジェスチャを検出する方法を説明する。図17は、測距センサ26を模式的に示す図である。図17は、側面視における測距センサ26を示している。測距センサ26は、発光部26aと受光部26bとを備える。発光部26aは、赤外レーザ光を対象物に向けて照射する。受光部26bは、照射された赤外光の対象物からの反射光を受光する。
受光部26bは、複数の受光素子を備えていてよい。例えば、受光部26bは、図18に示すように、3行×3列に配置された9つの受光素子を備えていてよい。9つの受光素子は、それぞれ対象物からの反射光を受光する。受光部26bにおいて、上段には、左から順にCh11、Ch12およびCh13の3つの受光素子が配置されている。受光部26bにおいて、中段には、左から順にCh21、Ch22およびCh23の3つの受光素子が配置されている。受光部26bにおいて、下段には、左から順にCh31、Ch32およびCh33の3つの受光素子が配置されている。
測距センサ26は、発光部26aが照射した赤外レーザ光と、受光部26bの9つの受光素子がそれぞれ受光した反射光との位相差に基づき、9つの受光素子それぞれから対象物までの距離を測定できる。測距センサ26は、9つの受光素子それぞれから対象物までの距離と、時間経過に伴う距離の変化に基づいて、ジェスチャを検出することができる。
例えば、ユーザが手を左から右に動かすジェスチャを行ったとする。このとき、例えば中段の受光素子Ch21、Ch22およびCh23により検出される、対象物までの距離をそれぞれD21、D22およびD23とする。図19は、各受光素子により検出される対象物までの距離の推移を模式的に示す図である。例えば図19に模式的に示すように、まず、対象物である手が最初に左側に配置された受光素子Ch21に近づくため、受光素子Ch21により検出される対象物の距離D21が近くなる。その後、対象物である手が中央に配置された受光素子Ch22に近づくと、受光素子Ch22により検出される対象物の距離D22が近くなる。最後に、対象物である手が右側に移動すると、右側に配置された受光素子Ch23により検出される対象物の距離D23が近くなる。各受光素子Ch21、Ch22およびCh23に近づいた手が遠ざかる順序も、Ch21、Ch22、Ch23の順である。そのため、距離D21、D22およびD23は、この順序で大きくなる(初期値に戻る)。上下方向のジェスチャも、同様の原理により、例えば受光素子Ch12、Ch22およびCh32を用いて検出することができる。このように、測距センサ26は、9つの受光素子それぞれから対象物までの距離と、時間経過に伴う距離の変化に基づいて、ジェスチャを検出することができる。
ここでは、受光部26bが9つの受光素子を備えるとして説明したが、受光部26bが備える受光素子の数量はこれに限られない。複数の受光素子の配置も図18に示す配置に限られない。受光部26bが備える受光素子の数量およびその配置は、検出するジェスチャの種類に応じて、適宜定められてよい。
また、測距センサ26の発光部26aは、複数の発光素子を備えていてよい。この場合、各発光素子から発光される赤外レーザ光と、受光部26bが受光する反射光との位相差に基づき、9つの発光素子それぞれから対象物までの距離を測定できる。この場合においても、測距センサ26は、9つの発光素子それぞれから対象物までの距離と、時間経過に伴う距離の変化に基づいて、上記の原理を応用することにより、ジェスチャを検出することができる。
また、上記の実施形態では、コントローラ11は、最初にジェスチャを検出した方向によって運転席の位置を決定すると説明したが、この手法に限定されない。コントローラ11は、最初にジェスチャを検出した方向に代えて、または、最初にジェスチャを検出した方向と組み合わせて、以下に説明する方法の少なくとも1つによって、運転席の位置を決定してよい。
例えば、コントローラ11は、予めストレージ16に記憶された情報に基づいて、運転席の位置を決定してよい。例えば、電子機器1が予め自動車30に備え付けられている場合、ストレージ16には、運転席の位置に関する情報が記憶されていてよい。あるいは、ユーザが電子機器1に対して入力操作を行うことにより、運転席の位置に関する情報を入力した場合、ストレージ16には、運転席の位置に関する情報が記憶されていてよい。この場合、コントローラ11は、ストレージ16に記憶された運転席の位置に関する情報に基づいて、運転席の位置を決定できる。
例えば、コントローラ11は、カメラ13で撮像した画像に基づいて、運転席の位置を決定してよい。具体的には、コントローラ11は、ジェスチャに基づく制御を実行する場合(例えば電子機器1が第1の動作モードである場合)に、カメラ13を起動する。カメラ13は、ディスプレイ14の正面側、つまり自動車30の内部を撮像する。コントローラ11は、カメラ13が撮像した画像を解析して、ステアリングの正面の座席の位置を、運転席の位置と決定してよい。コントローラ11は、カメラ13が撮像した画像を解析して、ステアリングの正面の座席にユーザが映り込んでいる場合に、当該座席の位置を、運転席の位置と決定してよい。コントローラ11は、運転席の位置を決定した場合、カメラ13の動作を停止してよい。これにより、コントローラ11は、カメラ13による消費電力を抑えることができる。
例えば、コントローラ11は、各座席31ないし34に圧力センサが設けられている場合、圧力センサの出力に基づいて、運転席の位置を決定してよい。圧力センサは、例えば、各座席31ないし34において、ユーザが座ったときに荷重がかかる座面の下に設けられていてよい。圧力センサは、各座席31ないし34の座面にかかる圧力を検出する。コントローラ11は、ユーザが自動車に乗り込んで座席に座ったときに、当該座席に配置された圧力センサからの出力に基づいて、ユーザが座った座席を特定することができる。コントローラ11は、ユーザが座った座席の位置を、運転席の位置と決定してよい。この方法は、例えば、自動車にユーザが1人で乗り込む場合に用いることができる。
例えば、コントローラ11は、各座席31ないし34の正面に人感センサが設けられている場合、人感センサの出力に基づいて、運転席の位置を決定してよい。人感センサは、例えば、赤外線を利用して周囲の温度変化を感知することにより、座席31ないし34にユーザが座ったか否かを検出するものであってよい。コントローラ11は、ユーザが自動車に乗り込んで座席に座ったときに、当該座席の正面に配置された人感センサからの出力に基づいて、ユーザが座った座席を特定することができる。コントローラ11は、ユーザが座った座席の位置を、運転席の位置と決定してよい。この方法は、例えば、自動車にユーザが1人で乗り込む場合に用いることができる。
例えば、コントローラ11は、自動車30のドアの開閉に基づいて、運転席の位置を決定してよい。例えば、自動車30は、各座席31ないし34の近くに、それぞれ1つずつドアを備えるとする。具体的には、自動車30は、前列右側の座席31の右側、前列左側の座席32の左側、後列右側の座席33の右側、および後列左側の座席34の左側に、それぞれ1つのドアを備えるとする。また、各ドアには、開閉を検出するセンサが設けられているとする。コントローラ11は、開閉が行われたドアの最も近くの座席に、ユーザが座ると判定することができる。ユーザは、通常、座ろうとする座席の最も近くのドアから自動車30に乗り込むと考えられるためである。コントローラ11は、ユーザが座ると判定した座席の位置を、運転席の位置と決定してよい。この方法は、例えば、自動車にユーザが1人で乗り込む場合に用いることができる。
例えば、コントローラ11は、自動車30のドアのロックを解除した位置に基づいて、運転席の位置を決定してよい。上記のように自動車30に複数のドアが設けられている場合、コントローラ11は、ロックの解除操作が行われたドアの最も近くの座席に、ユーザが座ると判定することができる。ユーザは、通常、座ろうとする座席の最も近くのドアにおいてロックを解除し、当該ドアから自動車30に乗り込むと考えられるためである。コントローラ11は、ユーザが座ると判定した座席の位置を、運転席の位置と決定してよい。この方法は、例えば、自動車にユーザが1人で乗り込む場合に用いることができる。
例えば、コントローラ11は、タッチスクリーンディスプレイを操作した手に基づいて、運転席の位置を決定してよい。例えば、ユーザは、左右の指の指紋のデータを予め電子機器1のストレージ16に記憶させる。ユーザは、例えば、指紋のデータを登録するための入力操作を行って、指紋のデータを電子機器1のストレージ16に記憶させることができる。そして、コントローラ11は、自動車30の運転を行うに際して電子機器1に電源が供給された状態で、タッチスクリーンディスプレイにユーザの指が触れたときに、当該タッチスクリーンディスプレイに触れた指の指紋を読み取り、当該指がユーザの右手の指であるか、左手の指であるかを判定する。コントローラ11は、決定した手の方向(つまり右手であるか左手であるか)と反対側の座席が、ユーザが座っている座席であると判定する。例えば、ユーザが右側の座席に座っている場合には、ユーザは、中央に配置されたタッチスクリーンディスプレイに対して、左手でタッチ入力を行うことが想定される。そこで、コントローラ11は、タッチスクリーンディスプレイに触れた指がユーザの左手であると判定した場合、ユーザが右側の座席に座っていると判定する。反対に、ユーザが左側の座席に座っている場合には、ユーザは、中央に配置されたタッチスクリーンディスプレイに対して、右手でタッチ入力を行うことが想定される。そこで、コントローラ11は、タッチスクリーンディスプレイに触れた指がユーザの右手であると判定した場合、ユーザが左側の座席に座っていると判定する。コントローラ11は、ユーザが座っていると判定した座席の位置を、運転席の位置と決定してよい。
例えば、コントローラ11は、マイク15が検出した音に基づいて、運転席の位置を決定してよい。例えば、コントローラ11は、マイク15が検出した音について、音が発生した方向を決定する。コントローラ11は、決定した音が発生した方向が、ユーザが存在する方向であると判定できる。そこで、コントローラ11は、音が発生した方向にある座席の位置を、運転席の位置と決定してよい。
また、上記実施形態において、コントローラ11は、決定した運転席の位置に応じて、近接センサ18によるジェスチャの検出範囲を変更してよい。ジェスチャの検出範囲は、近接センサ18により検出可能な方向を含んでよい。例えば、コンソールパネルにおいて近接センサ18が左右方向に可動に設けられているとする。コントローラ11は、決定した運転席の方向に、近接センサ18を向けるように制御してよい。つまり、例えば、コントローラ11は、運転席が進行方向に向かって右側であると判定した場合、近接センサ18を進行方向に向かって右側に向けてよい。同様に、コントローラ11は、運転席が進行方向に向かって左側であると判定した場合、近接センサ18を進行方向に向かって左側に向けてよい。近接センサ18は、ジェスチャを検出可能な視野角が限られている。そのため、ユーザがジェスチャを行っても、近接センサ18の検出可能範囲外である場合には、ユーザのジェスチャは検出されない。しかしながら、近接センサ18の検出範囲を変更し、例えば、ユーザが座っている運転席の方向に近接センサ18の検出範囲を向けることにより、近接センサ18は、ユーザのジェスチャを、より検出しやすくなる。近接センサ18がユーザのジェスチャを検出しやすくなることによって、ユーザにとってはジェスチャによる入力が見落とされにくくなるため、より運転に集中しやすくなる。そのため、運転の安全性が向上する。
上記実施形態において、電子機器1は1つの近接センサ18を備える。ここで、電子機器1は複数の近接センサ18を備えてよい。上記実施形態において、近接センサ18は、ディスプレイ14の左右方向(x軸方向)の辺の中央であって、上下方向(y軸方向)においてディスプレイ14よりも下側に位置する電子機器1の筐体部分に設けられている。ここで、電子機器1は、上記実施形態と異なる位置に近接センサ18を備えてよい。つまり、電子機器1が備える近接センサ18の数および位置は限定されない。
図20は、別の実施形態における、近接センサ18、118a、118bおよび118cの配置例を示す図である。図20の例において、電子機器1は複数の4つの近接センサ18、118a、118bおよび118cを備える。コントローラ11は、例えば4つの近接センサ18、118a、118bおよび118cの検出値を統計的に処理すること(例えば平均値等を算出すること)によって、ジェスチャをより正確に判別することが可能になる。また、例えば近接センサ18、118a、118bおよび118cの一部が故障等によって検出値の出力が不可能になっても、コントローラ11は他のセンサからの検出値を用いて、ジェスチャの判別を継続することができる。また、近接センサ118bおよび118cは、ディスプレイ14の上下方向(y軸方向)の辺の中央であって、左右方向(x軸方向)においてディスプレイ14よりも外側(左側および右側)に位置する電子機器1の筐体部分に設けられている。近接センサ118bおよび118cの一方は、他のセンサより運転席に近いため、より高い感度で運転者のジェスチャを検出することが可能である。さらに別の実施形態として、電子機器1は、図20の近接センサ18、118a、118bおよび118cのうちの一部を備えてよい。例えば、電子機器1は、2つの近接センサ18および118aを備えてよい。また、例えば、電子機器1は、2つの近接センサ118bおよび118cを備えてよい。また、さらに別の実施形態として、電子機器1は、図20に示される近接センサ118a、118bまたは118cの位置に、1つの近接センサを備えてよい。また、さらに別の実施形態として、近接センサ18、118a、118bおよび118cの少なくとも一部は、ディスプレイ14の辺の中央に位置しなくてよい。例えば、近接センサ18、118a、118bおよび118cは、ディスプレイ14の四隅の外側に配置されてよい。
また、上記実施形態において、コントローラ11は、近接センサ18によって第1のジェスチャ(例えば左右のジェスチャ)が検出されると、アイコングループ160をローテーションして表示した。ここで、コントローラ11は、ローテーションでなく、優先度の高いアイコンを運転者の近くに表示してよい。このとき、運転者は、設定画面においてアイコングループ160が含むアイコンの優先度を指定可能であってよい。図21は、コントローラ11が優先度の高いアイコンを運転者の近くに表示する例を示す。例えば、運転者が第1の優先度設定として、アイコン160C、160A、160D、160Bの順に優先度が高いように指定した場合に、コントローラ11は図21の左下の図のようにアイコングループ160を表示する。ここで、運転席の位置は右側である。また、例えば、運転者が第2の優先度設定として、アイコン160A、160D、160B、160Cの順に優先度が高いように指定した場合に、コントローラ11は図21の右下の図のようにアイコングループ160を表示する。コントローラ11は、運転者が操作したいアイコンを、運転者の近くに表示する。このことによって、運転者は誤って他のアイコンを選択することがなくなる。つまり、運転者の誤操作が防止される。
また、上記実施形態において、アイコングループ160はディスプレイ14の長手方向の一辺(横方向の下辺)に沿ったものであった。ここで、ディスプレイ14の短手方向(縦方向)に沿ったアイコングループ185が表示されてよい。図22に示すように、アイコングループ185は、複数のアイコン185A、185Bおよび185Cの集合である。アイコン185Aは、地図画面の表示態様を指定する機能に関連付けられている。アイコン185Bは、地図画面の縮尺を指定する機能に関連付けられている。アイコン185Cは、地図画面において自宅を表示させる機能に関連付けられている。図22の上図に示すように、最初の画面において、アイコングループ185はディスプレイ14の左辺に沿った位置に表示されている。コントローラ11は、運転席の位置が右側であると決定した場合に、図22の下図に示すように、アイコングループ185を運転者に近い右辺に沿って表示する。ここで、図23の上図は、最初の画面において、アイコングループ185がディスプレイ14の右辺に沿った位置に表示されている場合を示す。このとき、コントローラ11は、運転席の位置が左側であると決定した場合に、図23の下図に示すように、アイコングループ185を運転者に近い左辺に沿って表示する。
ここで、ディスプレイ14の左辺および右辺に、短手方向(縦方向)に沿ったアイコングループ185および190が表示されてよい。図24に示すように、アイコングループ190は、複数のアイコン190Aおよび190Bの集合である。アイコン190Aは、カーオーディオで次の曲を選択する機能に関連付けられている。アイコン190Bは、カーオーディオで音量を調整する機能に関連付けられている。ここで、地図画面の操作に関連するアイコングループ185は、カーオーディオの操作に関連するアイコングループ190より優先度が高い。コントローラ11は、運転席の位置が右側であると決定した場合に、図24の下図に示すように、アイコングループ185を運転者に近い右辺に沿って表示して、アイコングループ190を運転者から遠い左辺に沿って表示する。図22〜図24の例のいずれにおいても、コントローラ11は、運転者にとって優先度の高いアイコングループを、運転者の近くに表示する。そのため、誤操作が防止されて、運転者にとって操作がしやすくなる。ここで、さらに別の例として、アイコングループ185は、非表示状態でジェスチャが検出された場合に、運転者に近いディスプレイ14の左辺または右辺に沿って表示されてよい。例えば、コントローラ11は、アイコングループ185の非表示状態(図10の上図参照)でジェスチャが検出された場合に、アイコングループ185を運転者に近い方の辺に沿って表示する(図22、図23の下図参照)。このとき、アイコングループ185を表示させるジェスチャは、例えば左右のジェスチャでよい。また、アイコングループ185を表示させるジェスチャは、上記の最初に検出されるジェスチャであってよい。コントローラ11は、アイコングループ185の非表示状態で最初のジェスチャが検出された場合に、運転席の位置を決定するとともに、アイコングループ185を運転者に近い辺に沿って表示する。アイコングループ185は、表示された後で、運転者からの操作がないまま一定の時間が経過した場合に再び非表示状態になってよい。そして、アイコングループ185は、非表示状態でジェスチャが検出された場合に、再び表示されてよい。この例では、優先度の高いアイコングループの表示位置は常に運転者の近くであり、運転者にとって操作がしやすくなる。
本開示内容の多くの側面は、プログラム命令を実行可能なコンピュータシステムその他のハードウェアにより実行される、一連の動作として示される。コンピュータシステムその他のハードウェアには、例えば、汎用コンピュータ、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もしくは情報を格納可能な他の有形の記憶媒体またはこれらいずれかの組合せが含まれる。メモリは、プロセッサまたはプロセッシングユニットの内部および/または外部に設けることができる。ここで用いられるように、「メモリ」という語は、あらゆる種類の長期記憶用、短期記憶用、揮発性、不揮発性またはその他のメモリを意味する。つまり、「メモリ」は特定の種類および/または数に限定されない。また、記憶が格納される媒体の種類も限定されない。