以下、添付図面を参照して、本願の開示する入力装置、統合入力システム、入力装置の制御方法およびプログラムの実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
また、以下では、本実施形態に係る入力装置10の制御方法の概要について図1A〜図1Cを用いて説明した後に、入力装置10およびこれを含む統合入力システム1について、図2〜図9を用いて説明することとする。なお、本実施形態では、統合入力システム1が車載用のシステムとして構成される例を挙げる。
また、以下では、ユーザDが触覚フィードバックによって得る触感を「つるつる」や「ざらざら」のように表現する場合がある。「つるつる」は、摩擦力が小さく滑らかな触感を表すものであり、「ざらざら」は、「つるつる」に対し相対的に摩擦力が大きく、「つるつる」よりも滑らかでない触感を表すものである。
まず、本実施形態に係る入力装置10の制御方法の概要について、図1A〜図1Cを用いて説明する。図1A〜図1Cは、実施形態に係る入力装置10の制御方法の概要を示す図(その1)〜(その3)である。
図1Aに示すように、統合入力システム1は、入力装置10を備える。入力装置10は、操作面Pを有する。操作面Pは、例えば静電容量方式の情報入力機能を有するタッチパッドを用いて構成され、ユーザDの制御対象となる各種機器60(図2にて後述)を制御するための接触操作をユーザDから受け付ける。
入力装置10は、かかる操作面Pが、運転中のユーザDから届く位置に配置されるように例えば運転席のシフトレバーの近傍等に設けられる。
より具体的に、入力装置10は、図1Bの(a)に示すように、操作面Pを振動させる振動素子13aを少なくとも一つ備える。なお、ここでは、振動素子13aを二つ備えた例を図示している。
振動素子13aは、例えば圧電素子であり、操作面Pを高周波振動させることができる。例えばユーザDの指U1が操作面Pを押下した状態で振動素子13aを振動させると、指U1と操作面Pとの間の摩擦力を変化させることができる。
かかる状態で指U1を動かすと、変化した摩擦力に応じた触覚を指U1にフィードバックすることができる。また、振動素子13aの振動状態を変化させることで、指U1と操作面Pとの間の摩擦力の大きさを変化させることができ、指U1にフィードバックする触覚を変化させることができる。
例えば、図1Bの(a)および(b)に示すように、X軸方向に沿って指U1を左右にスライドさせる場合に、区間D1において摩擦力をその他の区間よりも大きくなるように変化させることによって、ユーザDへ、操作面Pに例えば「つるつる」な触感の周囲に対し「ざらざら」な触感のボタンB1があるような触覚をフィードバックすることができる。
また、例えばボタンB1の上に指U1がある場合に振動素子13aの振動強度を上げることによって、例えばユーザDがボタンB1を押下してボタンB1に対応する処理を確定させたような触覚をフィードバックすることができる。このような触覚フィードバックは、例えばユーザDにブラインドタッチ操作を行わせるのに非常に有効となる。
また、図1Aに示すように、統合入力システム1は、マイク20と、撮像部30とを備える。マイク20および撮像部30は、例えばステアリングコラムの上部に配置される。マイク20は、ユーザDが発話する音声を集音し、入力する。撮像部30は、運転席に着座したユーザDの例えば顔画像を撮像する。
また、統合入力システム1は、表示部40(図2にて後述)として、例えばセンターディスプレイ41と、HUD(ヘッドアップディスプレイ)42とを備える。
センターディスプレイ41は、例えば各種機器60の一つとして搭載されるAV一体型のナビ装置の表示部として用いられ、ナビモードやオーディオモードといった選択中のモードごとにおける視覚的な各種情報出力を行う。HUD42は、運転中のユーザDの視野内において、例えば車速やエンジンの回転数といった運転状況に関する視覚的な各種情報出力を行う。
また、統合入力システム1は、その他の各種機器60の一つとして、エアコン61を備える。なお、図示していないが、各種機器60には例えば電話等も含まれる。また、統合入力システム1は、スピーカ70を備える。
このように多様な各種機器60を搭載するシステムにおいては、各種機器60やその各モードへ向けた操作の態様もまた多様となり、例えば制御対象とする各種機器60やその各モードを切り替える操作一つをとっても煩雑になりがちである。このため、これら多様な制御対象を操作性高く操作できることが、ユーザDに対する利便性の向上や安全性の確保の観点から望まれていた。
そこで、本実施形態に係る統合入力システム1では、基本的に一つの操作面Pに対する接触操作によって、多様な各種機器60やその各モード等を集中的に操作可能とするようにした。また、このとき、操作面Pには複数の領域に複数の制御対象を割り当て、ユーザDには所望の制御対象に対応する領域で所望の操作を行わせることとした。
また、ユーザDには、操作面Pの領域ごとで異なる触覚がフィードバックされ、ユーザDが視認しなくとも各領域の区別を行えるようにした。また、ユーザDの例えば指U1が所望の領域を越えて他の領域に侵入してしまうような場合に、これをユーザDが知覚し得る触覚のフィードバックを行うこととした。
これにより、ユーザDが、例えば視認することなくブラインドタッチ操作のみで、所望の制御対象を制御することが可能となる。具体的には、図1Cのまず(a)に示すように、実施形態に係る入力装置10は、1つの操作面Pを領域分割する(図中のステップS1参照)。なお、本実施形態では基本的に、領域R1〜領域R4の4分割がなされるものとする。また、以下、操作面Pの各領域を総称する場合は、単に「領域R」と言う。
そして、入力装置10は、領域ごとで異なる制御対象を割り当てる(図中のステップS2参照)。なお、本実施形態では、領域R1にはナビ装置のナビモードが、領域R2にはナビ装置のオーディオモードが、領域R3にはエアコン61が、領域R4には電話が、それぞれ割り当てられるものとする。
また、入力装置10は、振動素子13aにつき、領域間移動を示す振動状態の設定を行う(図中のステップS3参照)。ここで、「領域間移動」は、例えば領域Rのいずれかから他の領域Rのいずれかへ指U1の代表位置が移動することを言う。「代表位置」は、接触操作において指U1が領域Rに対し接触中の位置である。
かかる「領域間移動」は、指U1が、操作面Pへ接触しつつ境界Bを越える場合を含む。また、指U1が、境界Bを含む所定の境界領域R5(図3Bにて後述)へ侵入する場合を含む。また、指U1が、境界Bを飛び越す場合を含む。なお、ここに言う「飛び越す場合」とは、指U1が一旦領域Rを離れて所定時間内に違う領域Rへ再び接触する場合を指す。以下では、かかる「飛び越す場合」において指U1が違う領域Rへ再び接触したことを「着地」と言う場合がある。また、「領域間移動」に対し、一つの領域R内で指U1が移動することを「領域内移動」と言う場合がある。領域間移動を示す振動状態は、領域内移動時の振動状態と識別できる振動形態である。
そして、図1Cの(b)に示すように、入力装置10は、領域間移動の検出を行う(図中のステップS4参照)。その結果、領域間移動が検出されたならば、入力装置10は、ステップS3において設定された振動状態となるように振動素子13aを制御することによって、領域間移動を示す触覚をフィードバックする(図中のステップS5参照)。なお、領域間移動が検出されないならば、入力装置10は、ユーザDの接触操作に応じて、領域Rごとで異なる通常の触覚をフィードバックする。
これにより、一つの操作面Pによって多様な制御対象を操作性高く、例えばブラインドタッチ操作にて操作することが可能となる。なお、ここで、ユーザDの行う接触操作は、平易な数個のジェスチャ操作であって、領域Rの間で共通に、すなわち各領域Rに対応する異なる制御対象の間で共通に用いることできる。
これにより、ユーザDは、数個の平易なジェスチャ操作を覚えるだけで、多様な制御対象を同様のブラインドタッチ操作で操作することが可能となる。すなわち、操作性高く多様な制御対象を操作することができる。また、領域間移動を示す触覚のフィードバックによりユーザDに領域間移動を知覚させることで、ユーザDによる操作ミス等を抑制することができる。
なお、各ジェスチャ操作およびこれに割り当てられる制御対象ごとの機能の具体例については、図4A〜図5を用いて後述する。
このように、本実施形態では、一つの操作面Pを領域分割し、分割された各領域Rで異なる制御対象を割り当て、領域間移動を示す振動素子13aの振動状態を設定し、領域間移動が検出されたならば、設定された振動状態となるように振動素子13aを制御することによって領域間移動を示す触覚をフィードバックすることとした。したがって、本実施形態によれば、多様な制御対象を操作性高く操作することができる。
なお、ここでは、入力装置10の操作面Pが例えばタッチパッドである場合について説明したが、これに限られない。例えばセンターディスプレイ41と一体になったタッチパネル等であってもよい。以下、上述した制御方法によって制御される入力装置10を含む統合入力システム1についてさらに具体的に説明する。
図2は、実施形態に係る統合入力システム1のブロック図である。なお、図2では、本実施形態の特徴を説明するために必要な構成要素のみを機能ブロックで表しており、一般的な構成要素についての記載を省略している。
換言すれば、図2に図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、各機能ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
図2に示すように、統合入力システム1は、入力装置10と、表示部40と、表示制御部50と、各種機器60と、スピーカ70と、記憶部80とを備える。
まず入力装置10以外の構成要素から説明する。表示部40は、例えば上述したセンターディスプレイ41やHUD42等であって、表示制御部50が出力する視覚情報としての画像をユーザDへ提示する。
表示制御部50は、例えば入力装置10がユーザDから受け付けた入力操作の操作内容に基づき、表示部40に表示させる画像を生成し、表示部40へ出力する。また、表示制御部50は、表示部40を制御して、ユーザDに画像を提示させる。
各種機器60は、例えば上述したナビ装置やエアコン61、図示略の電話等であって、入力装置10を介したユーザDの制御対象となる。スピーカ70は、例えば入力装置10がユーザDから受け付けた入力操作の操作内容に基づき、聴覚情報としての音声をユーザDへ提示する。
記憶部80は、ハードディスクドライブや不揮発性メモリ、レジスタといった記憶デバイスであって、領域設定情報80aを記憶する。
つづいて入力装置10について説明する。入力装置10は、既に述べたように例えばタッチパッドやタッチパネル等を含む情報入力デバイスであって、ユーザDからの入力操作を受け付け、その操作内容に応じた信号を表示制御部50や各種機器60、スピーカ70へ出力する。
入力装置10は、操作部11と、制御部12と、振動部13とを備える。まず操作部11と振動部13について説明する。操作部11は、例えば上述のタッチパッドやタッチパネル等の平板状のセンサであり、ユーザDによる入力操作を受け付ける操作面P(例えば図1A参照)を備える。ユーザDが、操作面Pに対し指U1等を接触させた接触操作を行うと、操作部11はかかる接触操作に応じたセンサ値を制御部12へ出力する。
振動部13は、少なくとも一つの振動素子13a(例えば図1Bの(a)参照)を備える。振動素子13aは、例えば圧電素子(ピエゾ素子)等の圧電アクチュエータであって、制御部12から与えられた電圧信号に応じて伸縮することで操作部11を振動させる。振動素子13aは、例えば操作部11の端部など、ユーザDが視認できない位置に、操作部11と接するように配置される。
なお、既に図1Bの(a)に示した例では、振動素子13aは、操作面Pの左右外側の領域であって、操作面Pと対向する面に配置される場合を示したが、かかる配置は一例であり、これに限られるものではない。
例えば一つの振動素子13aのみで操作面Pを振動させてもよい。このように、振動素子13aの個数や配置は任意であるが、操作面Pの全体を均一に振動させるような個数および配置とすることが好ましい。また、振動素子13aは圧電素子に限られず、例えば操作面Pを超音波周波数帯で振動させることが可能な素子であればよい。
つづいて制御部12について説明する。図2に示すように、制御部12は、領域設定部12aと、検出部12bと、領域間移動判定部12cと、振動制御部12dと、操作処理部12eとを備える。
制御部12は、入力装置10の各部を制御する。領域設定部12aは、操作面Pを領域分割して、分割された領域Rごとで異なる制御対象を割り当てる。また、領域設定部12aは、各領域RでユーザDの接触操作が検出された場合に操作面Pから指U1へフィードバックされる触覚が、領域Rごとで異なるように振動素子13aの振動状態を設定する。
また、領域設定部12aは、領域間移動判定部12cによって領域間移動が検出された場合における、かかる領域間移動を示す振動素子13aの振動状態を設定する。領域間移動を示す振動素子13aの振動状態の具体例については図3A〜図3Cを用いて後述する。
また、領域設定部12aは、設定された設定内容を領域設定情報80aとして記憶部80へ記憶させる。例えば、領域設定情報80aは、領域Rごとに割り当てられた制御対象や、領域Rごとの振動素子13aの制御値等を含む情報である。領域設定情報80aの一例については図5Bを用いて後述する。
検出部12bは、操作部11が出力するセンサ値に基づき、操作面Pに対するユーザDの接触操作を検出し、検出結果を領域間移動判定部12cへ渡す。
領域間移動判定部12cは、検出部12bの検出結果に基づき、検出された接触操作が領域間移動にあたるか否かを判定し、判定結果を振動制御部12dおよび操作処理部12eへ渡す。
振動制御部12dは、領域間移動判定部12cによって接触操作が領域間移動にあたると判定された場合に、領域間移動を示す振動状態となるように、領域設定情報80aに基づいて振動部13の振動素子13aを制御する。
また、振動制御部12dは、領域間移動判定部12cによって接触操作が領域間移動にあたらないと判定された場合、すなわち接触操作が所定のジェスチャ操作にあたると判定された場合に、領域Rにおける通常の、領域間移動を示すものでない振動状態となるように、領域設定情報80aに基づいて振動部13の振動素子13aを制御する。
操作処理部12eは、領域間移動判定部12cによって接触操作が領域間移動にあたると判定された場合に、例えば領域間移動を示す画像を表示制御部50に視覚的に表示部40へフィードバックさせる。
また、操作処理部12eは、領域間移動判定部12cによって接触操作が領域間移動にあたらないと判定された場合、すなわち接触操作が所定のジェスチャ操作にあたると判定された場合に、接触操作に対応する操作内容を、表示制御部50に視覚的に表示部40へフィードバックさせる。また、操作処理部12eは、かかるジェスチャ操作に対応する操作内容を各種機器60へ反映させる処理を行う。
また、操作処理部12eは、領域間移動判定部12cによって接触操作が領域間移動にあたると判定された場合に、かかる旨を示す例えばガイダンス音声をスピーカ70から出力させる。また、操作処理部12eは、領域間移動判定部12cによって接触操作が領域間移動にあたらないと判定された場合、すなわち接触操作が所定のジェスチャ操作にあたると判定された場合に、ジェスチャ操作に対応する操作内容に関するガイダンス音声をスピーカ70から出力させる。
すなわち、ユーザDへ操作面Pから触覚をフィードバックする場合に、このようにスピーカ70からのガイダンス音声を併用することによって、ユーザDの例えばブラインドタッチ操作を聴覚的に支援し、操作性を高めることができる。
次に、操作面Pにおける領域間移動を示す振動素子13aの振動状態の具体例、すなわち領域間移動を示す触覚のフィードバックの具体例について、図3A〜図3Cを用いて説明する。図3A〜図3Cは、領域間移動を示す触覚のフィードバックの具体例を示す図(その1)〜(その3)である。
まず、ユーザDへ領域間移動を知覚させるにあたっては、例えばユーザDの接触操作が検出された場合に、各領域Rで異なる振動状態となるように振動素子13aを制御することで足りる。
図3Aの(a)に示すように、操作面Pにおいて領域間移動を示すものでない通常時の振動素子13aの振動状態が、領域R1においては「つるつる#1」の触覚がフィードバックされるように設定されているものとする。
同様に、領域R2においては「ざらざら#1」の触覚が、領域R3においては「つるつる#2」の触覚が、領域R4においては「ざらざら#2」の触覚が、それぞれフィードバックされるように設定されているものとする。
なお、「つるつる#1」および「つるつる#2」は同じ「つるつる」でも生じる摩擦力が異なっている。「ざらざら#1」および「ざらざら#2」も同様である。
この場合において、指U1を矢印301に沿って動かすと、指U1と操作面Pとの間の摩擦力は、例えば図3Aの(b)に示すように変化することとなる。すなわち、ユーザDは、領域R1と領域R2との間の境界B、領域R2と領域R3との間の境界B、領域R3と領域R4との間の境界Bのそれぞれにおいて、フィードバックされる触覚の摩擦力の変化により領域間移動を知覚することができる。これにより、ユーザDは、例えばブラインドタッチ操作の途中において指U1が領域間移動するのを知覚できるので、例えばユーザDによる操作ミスを防止することができる。
また、ユーザDへ領域間移動を知覚させる別の例としては、図3Bの(a)に示すように例えば、境界Bを含み、かつ、境界Bに沿って設けられた境界領域R5に接触操作の代表位置である指U1が侵入する場合に(図中の矢印302参照)、境界Bに近づくに連れ、ユーザDが触覚から得る抵抗感を徐々に強くしてゆくように、触覚をフィードバックしてもよい。
すなわち、この場合、図3Bの(b)に示すように、境界領域R5へ侵入し、境界Bへ接近するに連れて、指U1と操作面Pとの間の摩擦力が次第に大きくなるような振動状態が領域間移動を示すものとなるように振動素子13aを制御すればよい。また、同様に、境界領域R5へ侵入し、境界Bへ接近するに連れて振動強度が徐々に大きくなるような振動状態となるように振動素子13aを制御してもよい。
これにより、ユーザDは、例えばブラインドタッチ操作の途中において指U1がたまたま領域間移動しようとしても、次第に強くなる抵抗感を知覚して指U1を進めにくくなるので、例えばユーザDによる操作ミスを防止することができる。
また、ユーザDへ領域間移動を知覚させるさらに別の例としては、例えば図3Cの(a)に示すように、指U1が境界Bを「飛び越す」ような接触操作をユーザDが行った場合に(図中の矢印303参照)、操作中の領域Rが他の領域Rへ移動したことを示す触覚をフィードバックしてもよい。
なお、この場合は、ユーザDが次なる操作のためにあえて操作する領域Rを変えたことが考えられるので、領域内移動時の振動と識別できる振動形態であることが好ましい。その一例として、例えば図3Cの(b)に示すように、指U1の「着地」(新たに別の領域Rに接触した時点)から所定回数(ここでは3回)間断的に振動するように振動素子13aを制御してもよい。また、かかる領域内移動時の振動と識別できる振動形態は、図3Cに示す指U1が境界Bを「飛び越す」場合に限らず、指U1の代表位置が違う領域Rへ移動する場合のいずれにも用いることができる。
また、このとき、スピーカ70からは、例えば「操作エリアが変わりました」のようなガイダンス音声を出力させてもよい。これにより、ユーザDがあえて操作する領域Rを変えた場合であってもそうでない場合であっても、ブラインドタッチ操作等においてユーザDの操作ミスを防ぐのに資することができる。
次に、ジェスチャ操作について、図4A〜図4Eを用いて説明する。図4A〜図4Eは、ジェスチャ操作の具体例を示す図(その1)〜(その5)である。ジェスチャ操作は、上述したように、ユーザDの覚えやすい平易な態様であることが操作性を高めるうえで好ましい。
その一つとして、例えば図4Aに示すように、指U1を操作面Pの領域Rにおいて、上下方向にスライドさせるジェスチャ操作を挙げることができる。これは直線状の軌跡を描くだけのごくシンプルな態様であるので、ユーザDにとっても覚えやすく、操作しやすいと言うことができる。
これと同様の他の一つとして、例えば図4Bに示すように、指U1を領域Rにおいて、左右方向にスライドさせるジェスチャ操作を挙げることができる。
また、他の一つとして、例えば図4Cに示すように、指U1を領域Rにおいて、円形の軌跡を描くようにスライドさせるジェスチャ操作を挙げることができる。これは誰もが知る単純な図形の軌跡を描くだけの態様であるので、やはりユーザDにとっても覚えやすく、操作しやすいと言うことができる。
これと同様の他の一つとして、例えば図4Dに示すように、指U1を領域Rにおいて、三角形の軌跡を描くようにスライドさせるジェスチャ操作を挙げることができる。
同様の他の一つとしてさらに、例えば図4Eに示すように、指U1を領域Rにおいて、×印の軌跡を描くようにスライドさせるジェスチャ操作を挙げることができる。
本実施形態では、これら平易で覚えやすいジェスチャ操作のセットを共通に用いてすべての領域Rにおける操作を行うこととしている。したがって、ユーザDは、このセットを覚えていれば、領域Rへ割り当てられたすべての制御対象を同様の操作で操作することができるので、操作ミスを起こしにくい。すなわち、多様な制御対象を操作性高く操作するのに資することができる。
なお、本実施形態では、上記セットの中のジェスチャ操作のそれぞれには異なる制御対象が割り当てられる。次に、かかる割り当ての具体例について図5を用いて説明する。図5は、ジェスチャ操作への制御対象の割り当ての具体例を示す図である。
図5に示すように、例えばナビ装置は、ナビモード、オーディオモードといった複数のモードを有している。ジェスチャ操作のセットは、例えばかかるモードごとに対応付けられ、各ジェスチャ操作は各モードの各機能に割り当てられる。
例えば、ナビ装置のナビモードにおいては、例えば「上下」のジェスチャ操作に地図スクロール(上下)の機能が割り当てられる。また、同モードの例えば「左右」のジェスチャ操作には地図スクロール(左右)の機能が割り当てられる。
一方、ナビ装置のオーディオモードにおいては、例えば「上下」のジェスチャ操作にトラック切替の機能が割り当てられる。また、同モードの例えば「左右」のジェスチャ操作にはアルバム切替の機能が割り当てられる。
このように、各ジェスチャ操作への割り当ては、制御対象が変わっても、ジェスチャ操作の態様からユーザDが直感的に操作内容を知覚しやすいものであることが好ましい。
したがって、例えば、ナビ装置のナビモードにおいては、「円形」のジェスチャ操作に地図拡大/縮小の機能が割り当てられる。また、同モードの例えば「三角形」のジェスチャ操作には、「戻ってくる」とのニュアンスから自宅への経路設定の機能が割り当てられる。また、同モードの例えば「×印」のジェスチャ操作には、地点登録の機能が割り当てられる。
同様に、例えば、ナビ装置のオーディオモードにおいては、「円形」のジェスチャ操作にボリュームUP/DOWNの機能が割り当てられる。また、同モードの例えば「三角形」のジェスチャ操作には、音響設定切替(サイクリック)の機能が割り当てられる。また、同モードの例えば「×印」のジェスチャ操作には、ミュートの機能が割り当てられる。
エアコン61については、例えば「上下」のジェスチャ操作に対し設定温度UP/DOWNの機能が割り当てられる。
次に、領域設定情報80aの具体例について図6を用いて説明する。図6は、領域設定情報80aの具体例を示す図である。上述したように、領域設定情報80aは、領域Rごとに割り当てられた制御対象や、領域Rごとの振動素子13aの制御値等を含む情報である。
具体的には、図6に示すように、領域設定情報80aは、例えば領域項目と、制御対象項目と、開始位置座標項目と、終了位置座標項目と、振動状態項目とを含む。振動状態項目はさらに、例えば接触位置座標項目と、振動周波数項目と、振動強度項目を含んでいる。
領域項目は、各領域Rを識別する情報であり、本実施形態の場合には、例えば境界領域までを含めた領域R1〜R5のそれぞれに関する情報が設定されている。
制御対象項目は、各領域Rへ割り当てられた各制御対象を識別する情報である。開始位置座標項目および終了位置座標項目は、各領域Rを規定する座標位置に関する情報である。
振動状態項目は、各領域Rにおける各振動状態を識別する情報であり、各振動状態には、操作面Pにおける指U1の接触位置座標が定義されている。そして、各接触位置座標には、例えば振動素子13aを振動させる振動周波数や振動強度が対応付けられる。
なお、振動状態項目における接触位置座標や振動周波数、振動強度等の制御値は、例えば設定されないことで、振動素子13aを振動させないという制御に用いることができる。
振動制御部12dは、このような領域設定情報80aを参照し、接触操作あるいは領域間移動が検出された領域Rにおける接触位置座標、振動周波数および振動強度といった制御値を用いることによって、振動素子13aを制御することとなる。なお、図6に示した領域設定情報80aはあくまで一例であって、その構成を限定するものではない。
ところで、これまでは、例えば図3Aの(a)に示すように、領域Rごとで異なるものの、各領域Rの中は均一に同じ振動状態となる場合について説明したが、ジェスチャ操作それぞれの操作性を高めるために、ジェスチャ操作の態様ごとに各領域R内の振動状態を異ならせてもよい。
このような場合のジェスチャ操作ごとの触覚のフィードバックの具体例について、図7Aおよび図7Bを用いて説明する。図7Aおよび図7Bは、ジェスチャ操作ごとの触覚のフィードバックの具体例を示す図(その1)および(その2)である。
なお、図7Aでは、「上下」のジェスチャ操作の具体例を、図7Bでは、「円形」のジェスチャ操作の具体例を、それぞれ示すこととする。
まず、図7Aに示すように、「上下」のジェスチャ操作の場合、領域Rには、例えば中央部で上下方向に直線状に延びる案内領域RX1が設定される。そして、案内領域RX1は、摩擦力の小さい領域として設定される。一方、領域Rのうち案内領域RX1を除く部分は、相対的に摩擦力の大きい領域として設定される。
摩擦力の大小は、振動制御部12dによる振動素子13aの振動状態の制御によって実現される。すなわち、振動制御部12dは、指U1の接触位置が案内領域RX1内である場合においては、例えば振動素子13aが高周波(例えば超音波周波数帯)で振動する電圧信号を生成し、かかる電圧信号によって振動素子13aを振動させる。
また、これに対し、振動制御部12dは、指U1の接触位置が案内領域RX1外である場合においては、案内領域RX1の場合よりも低い周波数帯で振動する電圧信号を生成し、かかる電圧信号によって振動素子13aを振動させる。
これにより、案内領域RX1においては、指U1が滑りやすい触覚をユーザDへフィードバックすることができる(図中の矢印701参照)。また、案内領域RX1から逸れた接触位置においては、指U1が案内領域RX1内よりも滑りにくい触覚をユーザDへフィードバックすることができる(図中の矢印702参照)。
したがって、ユーザDは、滑りやすい触覚のフィードバックによって案内領域RX1に沿って案内されつつ、指U1で操作面Pの領域Rに直線状に上下に延びる軌跡を正確に描くことができる。すなわち、ブラインドタッチ操作等においても操作性高くユーザDに「上下」のジェスチャ操作を行わせることができる。
また、図7Bに示すように、「円形」のジェスチャ操作の場合も同様に、領域Rには、例えば中央で円形の軌跡を描くような案内領域RX2が設定される。そして、案内領域RX2は、摩擦力の小さい領域として設定される。一方、領域Rのうち案内領域RX2を除く部分は、相対的に摩擦力の大きい領域として設定される。
後は図7Aに示したのと同様に、振動制御部12dにより、案内領域RX2においては、指U1が滑りやすい触覚をユーザDへフィードバックすることができる(図中の矢印703参照)。また、案内領域RX2から逸れた接触位置においては、指U1が案内領域RX2内よりも滑りにくい触覚をユーザDへフィードバックすることができる。
したがって、ユーザDは、滑りやすい触覚のフィードバックによって案内領域RX2に沿って案内されつつ、指U1で操作面Pの領域Rに円形の軌跡を正確に描くことができる。すなわち、ブラインドタッチ操作等においても操作性高くユーザDに「円形」のジェスチャ操作を行わせることができる。
なお、このような各ジェスチャ操作に応じた振動状態とするためには、ユーザDが操作を所望する領域Rへさらに行いたいジェスチャ操作を対応付ける必要があるが、例えばマイク20(図1A参照)を用いた音声認識によって実現することができる。
具体的には、次のような手順を踏むこととなる。まずユーザDが、操作面Pのうち操作したい領域Rに指U1で触れたうえで例えば「上下」と発話すると、例えば領域設定部12aが、マイク20を介してユーザDの発話内容を入力して受け付け、所望の領域Rにおいて「上下」のジェスチャ操作に対応する上述の案内領域RX1が形成される振動状態となるように領域設定情報80aを設定する。
そして、その設定結果に基づき、振動制御部12dが、ユーザDの所望の領域Rにおいて上述の案内領域RX1が形成される振動状態となるように振動部13の振動素子13aを制御する。後はユーザDは、案内領域RX1に沿って案内されつつ、指U1を動かして「上下」のジェスチャ操作を行えばよい。
次に、実施形態に係る入力装置10が実行する処理手順について、図8を用いて説明する。図8は、実施形態に係る入力装置10が実行する処理手順を示すフローチャートである。
図8に示すように、入力装置10は、まず領域設定部12aが、操作面Pを領域分割する(ステップS101)。そして、領域設定部12aは、分割された領域Rごとで異なる制御対象を割り当てる(ステップS102)。
そして、領域設定部12aは、領域間移動を示す振動素子13aの振動状態を設定する(ステップS103)。
つづいて、領域間移動判定部12cが、検出部12bによって検出された接触操作が領域間移動にあたるか否かを判定する(ステップS104)。
ここで、領域間移動にあたると判定された場合(ステップS104,Yes)、振動制御部12dが、ステップS103で設定された振動状態となるように振動素子13aを振動させることによって、領域間移動を示す触覚をフィードバックし(ステップS105)、処理を終了する。
一方、振動制御部12dは、検出部12bによって検出された接触操作が領域間移動にあたらないと判定された場合(ステップS104,No)、各領域Rにおける通常の振動状態となるように振動素子13aを振動させることによって、通常の触覚をフィードバックし(ステップS106)、処理を終了する。
本実施形態に係る統合入力システム1は、図9に一例として示す構成のコンピュータ600で実現することができる。図9は、実施形態に係る統合入力システム1の機能を実現するコンピュータの一例を示すハードウェア構成図である。
コンピュータ600は、CPU(Central Processing Unit)610と、ROM(Read Only Memory)620と、RAM(Random Access Memory)630と、HDD(Hard Disk Drive)640とを備える。また、コンピュータ600は、メディアインターフェイス(I/F)650と、通信インターフェイス(I/F)660と、入出力インターフェイス(I/F)670とを備える。
なお、コンピュータ600は、SSD(Solid State Drive)を備え、かかるSSDがHDD640の一部または全ての機能を実行するようにしてもよい。また、HDD640に代えてSSDを設けることとしてもよい。
CPU610は、ROM620およびHDD640の少なくとも一方に格納されるプログラムに基づいて動作し、各部の制御を行う。ROM620は、コンピュータ600の起動時にCPU610によって実行されるブートプログラムや、コンピュータ600のハードウェアに依存するプログラムなどを格納する。HDD640は、CPU610によって実行されるプログラムおよびかかるプログラムによって使用されるデータ等を格納する。
メディアI/F650は、記憶媒体680に格納されたプログラムやデータを読み取り、RAM630を介してCPU610に提供する。CPU610は、かかるプログラムを、メディアI/F650を介して記憶媒体680からRAM630上にロードし、ロードしたプログラムを実行する。あるいは、CPU610は、かかるデータを用いてプログラムを実行する。記憶媒体680は、例えばDVD(Digital Versatile Disc)などの光磁気記録媒体やSDカード、USBメモリなどである。
通信I/F660は、ネットワーク690を介して他の機器からデータを受信してCPU610に送り、CPU610が生成したデータを、ネットワーク690を介して他の機器へ送信する。あるいは、通信I/F660は、ネットワーク690を介して他の機器からプログラムを受信してCPU610に送り、CPU610がかかるプログラムを実行する。
CPU610は、入出力I/F670を介して、ディスプレイ等の表示部40、スピーカ70等の出力部、キーボードやマウス、ボタン、操作部11等の入力部を制御する。CPU610は、入出力I/F670を介して、入力部からデータを取得する。また、CPU610は、生成したデータを入出力I/F670を介して表示部40や出力部に出力する。
例えば、コンピュータ600が統合入力システム1として機能する場合、コンピュータ600のCPU610は、RAM630上にロードされたプログラムを実行することにより、領域設定部12aと、検出部12bと、領域間移動判定部12cと、振動制御部12dと、操作処理部12eとを含む入力装置10の制御部12および表示制御部50の各機能を実現する。
コンピュータ600のCPU610は、例えばこれらのプログラムを記憶媒体680から読み取って実行するが、他の例として、他の装置からネットワーク690を介してこれらのプログラムを取得してもよい。また、HDD640は、記憶部80が記憶する情報を記憶することができる。
上述してきたように、実施形態に係る入力装置は、一つの操作面と、検出部と、少なくとも一つの振動素子と、領域設定部(「設定部」の一例に相当)と、領域間移動判定部(「判定部」の一例に相当)と、振動制御部とを備える。
検出部は、操作面に対するユーザの接触操作を検出する。振動素子は、操作面を振動させる。領域設定部は、操作面を領域分割して領域ごとで異なる制御対象を割り当てる。
領域間移動判定部は、検出部によって検出された接触操作が領域間を移動する領域間移動であるか否かを判定する。振動制御部は、領域間移動判定部によって接触操作が領域間移動であると判定された場合に、領域間移動を示す振動状態となるように振動素子を制御する。
したがって、実施形態に係る入力装置によれば、多様な制御対象を操作性高く操作することができる。
なお、上述した実施形態では、各領域Rごとで異なる振動状態とする場合を例に挙げたが、例えば図3Bに示したように境界Bを含む境界領域R5が設けられている場合、かかる境界領域R5によって少なくとも各領域Rを区別する触覚のフィードバックは可能となるので、必ずしも各領域Rごとで異なる振動状態としなくともよい。
また、上述した実施形態では、領域分割数が基本的に4個である場合を例に挙げたが、無論、領域分割数を限定するものではない。また、各領域の大きさも均一でなくともよい。
また、上述した実施形態に示したジェスチャ操作の態様はあくまで一例であって、かかる態様を限定するものでは無論ない。
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。