以下、添付図面を参照して、本願の開示する入力装置、表示装置、入力装置の制御方法およびプログラムの実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
<1.入力装置の制御方法>
図1は、本発明の実施形態に係る入力装置10の制御方法を説明するための図である。本実施形態では、例えばカーナビゲーションシステムへ搭載される車載用の表示装置1が入力装置10を備える場合について説明する。
まず、図1を用いて本実施形態に係る表示装置1の概要について説明する。ここでは、例えばタッチパネルのように、表示装置1が入力装置10を備えるものとする。
図1に示すように、本実施形態にかかる表示装置1は、入力装置10を備える。入力装置10は、操作部110と、操作部110の操作面120Aを振動させる振動素子130a、130bを有する。
操作部110は、例えば静電容量方式の情報入力機能を有する透過性のあるパネルであり、かかる操作部110の下面に表示装置1の表示部が配置される。ユーザが指U1やタッチペン等のポインティングデバイスで操作面120Aに接触すると、入力装置10は、操作面120Aを介してユーザの接触位置Cを検出する。
なお、操作部110の操作面120Aは表示部の表示領域と重ねて配置され、例えば地図など車両のナビゲーションを行うための画像やテレビ、インターネットの動画、あるいは静止画などの画像が表示部の表示領域に表示される。ユーザは、表示部の表示領域に表示された画像を透過性のある操作面120Aを介して視認することができる。
振動素子130a、130bは、例えば圧電素子であり、操作部110の操作面120Aを高周波(例えば、超音波周波数帯)で振動させる。例えばユーザの指U1が操作面120Aを押下した状態で振動素子130a、130bを振動させると、指U1と操作面120Aとの間の空気層の状態が変化し摩擦力が変化する。かかる状態で指U1を動かすと、変化した摩擦力に応じた触覚を指U1に与えることができる。また、振動素子130a、130bの振動状態を変化させることで、指U1と操作面120Aとの間の摩擦力の大きさを変化させることができ、指U1に与える触覚を変化させることができる。
このように、本実施形態に係る入力装置10は、振動素子130a、130bを用いて操作面120Aを振動させることで、ユーザに触覚を与える入力装置である。以下、かかる入力装置10の制御方法について説明する。
ここで、図1に示す表示装置1では、例えば動画Pを再生しており、動画Pの下に表示されるシークバーが表示されているものとする。ここで、シークバーとは、動画Pの再生位置を表示するGUI(Graphical User Interface)部品であり、例えば図1では、シークバーを左右にスライドさせることで動画Pの再生位置を変更することができる。
入力装置10は、例えばシークバーのようにユーザの操作対象となる画像に応じて所定の案内軌跡TA1(以下、案内軌跡TAとも記載する)を設定する。図1の例では、案内軌跡TA1は、シークバーに沿って設定される軌跡である。
入力装置10は、操作面120Aに対するユーザの接触位置Cを検出する。入力装置10は、検出した接触位置Cに応じて振動素子130a、130bを制御する。例えば、図1の矢印TB1に示すように、ユーザの指U1がシークバー上を右に移動する場合、すなわち操作面120Aに対するユーザの接触位置Cが案内軌跡TA1に沿って移動する場合、入力装置10は、振動素子130a、130bの振動状態が第1の状態となるように、振動素子130a、130bを制御する。
また、例えば、図1の矢印TB2に示すように、ユーザの指U1がシークバーから右上に移動する場合、すなわち操作面120Aに対するユーザの接触位置Cが案内軌跡TA1から逸脱するように移動する場合、入力装置10は、振動素子130a、130bの振動状態が第2の状態となるように、振動素子130a、130bを制御する。
ここで、振動素子130a、130bの振動状態が第1の状態であるとは、例えば振動素子130a、130bが高周波で振動している状態を指す。振動素子130a、130bが高周波で振動している場合、操作面120Aとユーザとの接触面(例えば指U1)の間の摩擦力が低下し、ユーザの指U1が操作面120A上を滑りやすくなる。すなわち、入力装置10は、振動素子130a、130bの振動状態を第1の状態とすることで、ユーザの指U1に例えばつるつるとした滑らかな触覚を与えることができる。
また、振動素子130a、130bの振動状態が第2の状態であるとは、例えば振動素子130a、130bが振動していない状態を指す。振動素子130a、130bが振動していない場合、操作面120Aとユーザとの接触面(例えば指U1)の間に所定の摩擦力が発生し、ユーザの指U1が第1の状態と比べて操作面120A上を滑りにくくなる。すなわち、入力装置10は、振動素子130a、130bの振動状態を第2の状態とすることで、ユーザの指U1に例えば滑りにくい触覚を与えることができる。
このように、本実施形態にかかる入力装置10の制御方法では、操作面120Aに対するユーザの接触位置Cが案内軌跡TA1に沿って移動する場合、振動素子130a、130bの振動状態を第1の状態とすることでユーザの指U1に滑らかな触覚を与え、案内軌跡TA1から逸脱するように移動する場合、振動状態を第2の状態とすることで滑りにくい触覚を与える。
これにより、案内軌跡TA1に沿った操作面に対する指の滑りが滑らかとなり、ユーザは、案内軌跡TA1に沿ってU1を移動させやすくなる。さらに案内軌跡TA1からの逸脱を気づきやすくなるため、例えば図1の場合ではシークバーを容易に操作することができるようになる。このように、本実施形態による制御方法によれば、ユーザの操作性を向上させることができる。
例えば、入力装置10を備える表示装置1が車両に搭載される場合、ユーザである運転者は、周囲の状況に気を配る必要があり、表示装置1を注視して操作できない可能性がある。このような場合であっても、振動素子130a、130bの振動状態を変化させて案内軌跡TA1に沿って指U1を移動させやすくするとともに、案内軌跡TA1からの逸脱を気づきやすくすることで、ユーザが表示装置1を操作しやすくすることができる。
なお、ここでは、表示装置1が車両に搭載されるナビゲーションシステムの表示装置である場合について説明したが、これに限られない。例えば表示装置1が、スマートフォンやタブレット端末、パソコンなどであってもよい。
また、ここでは、例えばタッチパネルなど、入力装置10が表示部20を備える場合について説明したが、これに限られない。例えば、入力装置10がタッチパッドなど表示部を備えずにユーザの接触位置Cに応じて入力操作を受け付ける装置であってもよい。以下、かかる制御方法によって制御される入力装置10を含む表示装置1についてさらに説明する。
<2.表示装置1>
図2は、本実施形態に係る表示装置1の構成を示すブロック図である。表示装置1は、入力装置10と、表示部20と、表示制御部30と、記憶部40とを備える。
<2.1.表示部20>
表示部20は、例えば液晶ディスプレイであって、表示制御部30が出力する画像をユーザに提示する。
<2.2.表示制御部30>
表示制御部30は、例えば入力装置10がユーザから受け付けた入力操作に基づいて、表示部20に表示させる画像を生成する。表示制御部30は生成した画像を表示部20に出力する。表示制御部30は、表示部20を制御して、ユーザに画像を提示させる。
<2.3.入力装置10>
入力装置10は、例えばタッチパネルやタッチパッド等の情報入力デバイスであり、表示装置1のユーザによる入力操作を受け付け、ユーザの入力操作に応じた信号を表示制御部30に出力する。入力装置10は、操作部110と、振動部130と、制御部140とを備える。
<2.3.1.操作部110>
操作部110は、例えばタッチパッドやタッチパネル等の平板状のセンサである。操作部110は、ユーザによる入力操作を受け付ける操作面120Aを備える。ユーザが操作面120Aに接触すると、操作部110はユーザの接触位置Cに応じたセンサ値を制御部140に出力する。
例えば、入力装置10が表示機能を有するタッチパネルである場合、操作部110は、表示部20の機能を備える。すなわち、操作部110と表示部20とを一つの装置として構成することができる。この場合、例えば操作面120Aが表示部20の表示面となる。
<2.3.2.振動部130>
振動部130は、少なくとも1つの振動素子を備える。図3に示す例では、振動部130は、2つの振動素子130a、130bを備える。振動素子130a、130bは、例えば圧電素子(ピエゾ素子)などの圧電アクチュエータであって、制御部140から与えられた電圧信号に応じて伸縮することで操作部110を振動させる。振動素子130a、130bは、例えば操作部110の端部など、ユーザが視認できない位置に、操作部110と接するように配置される。
図3の例では、振動素子130a、130bは、操作面120Aの左右外側の領域であって、操作部110の操作面120Aと対向する面に配置される。なお、図3は、振動素子130a、130bの配置例を説明する図であって、説明に不要な構成要素の図示を省略している。
なお、図3に示す振動素子130a、130bの個数および配置は一例であり、これに限られない。例えば1つの振動素子で操作面120Aを振動させてもよい。このように、振動素子130a、130bの個数や配置は任意であるが、操作面120A全体を均一に振動させるような個数および配置とすることが望ましい。
また、ここでは、振動素子130a、130bとして圧電素子を用いる場合について説明したが、これに限られず、例えば操作面120Aを超音波周波数帯で振動させる素子であればよい。
<2.3.3.制御部140>
制御部140は、入力装置10の各部を制御する。また制御部140は、操作部110を介して受け付けた入力操作に応じた信号を表示制御部30に出力する。制御部140は、検出部141と、軌跡設定部142と、軌跡判定部143と、比較部144と、振動制御部145とを備える。
<2.3.3.1.検出部141>
検出部141は、操作部110が出力するセンサ値に基づいて、操作面120Aに対するユーザの接触位置Cを検出する。例えば、検出部141が所定の周期でユーザの接触位置Cを検出することで、ユーザの指U1が操作面120A上を移動し接触位置Cが変化した場合であっても、検出部141はかかる変化に追従して接触位置Cを検出することができる。検出部141は、検出結果であるユーザの接触位置Cを軌跡判定部143へ出力する。
<2.3.3.2.軌跡設定部142>
軌跡設定部142は、ユーザが行う入力操作に対応する案内軌跡TAを設定する。ここで、案内軌跡TAとは、例えばユーザが所定の入力操作を行う場合に、操作面120A上でユーザの指U1が移動することが望ましい軌跡のことである。
軌跡設定部142は、例えば表示制御部30が表示部20に表示させる画像や、検出部141が検出するユーザの操作面120Aにおける接触位置Cに基づいて、案内軌跡TAを設定する。また、軌跡設定部142は、案内軌跡TAとして、例えば案内軌跡TAの始点と終点を設定する。
図4を用いて軌跡設定部142が設定する案内軌跡TAの例を説明する。なお、図4では説明を簡単にするために、説明に不要な構成要素の図示を省略している。図4では、例えば、表示部20に動画の再生リストが表示されている。かかる再生リストの中からユーザが再生する動画を選択する場合、ユーザは再生リストをスクロールするスクロール操作を行う。ユーザがスクロール操作を行う場合、表示部20に表示されるスクロールバーB1上をユーザの指U1が移動することが望ましい。そこで、軌跡設定部142は、例えばスクロールバーB1に沿った案内軌跡TAを設定する。
例えば、図4(a)に示す例では、軌跡設定部142は、スクロールバーB1の一端PB1を始点とし、他端PB2を終点とする案内軌跡TA3を設定する。このように、軌跡設定部142は、表示部20に表示される表示対象であるスクロールバーB1に応じて案内軌跡TA3を設定する。すなわち、軌跡設定部142は、表示対象の配置およびサイズの少なくとも一つに応じて案内軌跡TA3を設定する。設定した案内軌跡TA3を比較部144へ出力する。
図4(a)では、表示対象であるスクロールバーB1が一つの場合について説明したが、これに限られない。例えば複数のスクロールバーが表示部20に表示されている場合などは、複数のスクロールバーそれぞれに案内軌跡TAを設定する。このように軌跡設定部142は、表示対象の数、配置およびサイズの少なくとも一つに応じて案内軌跡TA3を設定する。
あるいは、図4(b)に示すように、軌跡設定部142が、例えば検出部141の検出結果に基づいて、ユーザの接触位置C1を始点とし、入力操作に対応する位置、例えばスクロールバーB1の一端PB1を終点とする第1の案内軌跡TA4を設定するようにしてもよい。さらに、ユーザの接触位置C1を始点とし、例えばスクロールバーB1の他端PB2を終点とする第2の案内軌跡TA5を設定するようにしてもよい。このように、軌跡設定部142が複数の案内軌跡TAを設定するようにしてもよい。
このように、軌跡設定部142は、表示部20に表示させる画像や、ユーザの操作面120Aにおける接触位置Cに基づいて案内軌跡TAを動的に設定する。これにより、ユーザの入力操作ごとに対応する案内軌跡TAを動的に設定することができる。
また、ここでは、軌跡設定部142が案内軌跡TAの始点および終点を設定する場合、すなわち案内軌跡TAが直線である場合について説明したが、案内軌跡TAはこれに限られない。例えば、図4に示すようにダイアルなど円形のボタンB2の外周をなぞることで入力操作を行う場合など接触位置Cの移動が曲線となる場合がある。この場合、例えば軌跡設定部142が始点および終点を含む複数の点を設定し、かかる点を線分で結ぶことで案内軌跡TAを設定するようにしてもよい。あるいは、軌跡設定部142が円弧や複数の点を結ぶベジエ曲線など、曲線の案内軌跡TAを設定するようにしてもよい。
また、軌跡設定部142が設定する案内軌跡TAは線分に限られない。例えば案内軌跡TAが所定の幅を有する帯状の軌跡であってもよい。この場合、軌跡設定部142は、例えば案内軌跡TAの始点および終点に加え、案内軌跡TAの幅Wを設定する。あるいは、軌跡設定部142が複数の点を結ぶ閉区間を設定することで、かかる閉区間を案内軌跡TAとするようにしてもよい。なお、軌跡設定部142による案内軌跡TAの他の設定例については、図5〜図7を用いて後述する。
<2.3.3.3.軌跡判定部143>
軌跡判定部143は、検出部141によって検出されたユーザの接触位置Cに応じて、接触位置Cの移動軌跡を判定する。軌跡判定部143は、例えば検出部141が現在の時刻Tn(nは自然数)で検出した接触位置Cnと、時刻Tnより1周期前の時刻Tn−1で検出した接触位置Cn−1とを結ぶ線を移動軌跡と判定する。ここで、軌跡判定部143は、判定した移動軌跡を比較部144へ出力する。
なお、軌跡判定部143が判定する移動軌跡は、時刻Tn−1、Tnにおける検出部141の検出結果に基づくものとしたが、これに限られない。軌跡判定部143が、例えば時刻Tn−mから時刻Tnまでの間で検出した接触位置Cn−m〜Cnを結ぶ線を移動軌跡と判定するようにしてもよい。
あるいは、例えば検出を開始した時刻T1から時刻Tnまでの間で検出した接触位置C1〜Cnの少なくとも1つに基づいて次の時刻Tn+1の接触位置Cn+1を予測し、予測した接触位置Cn+1と検出部141が検出した接触位置Cnとを結ぶ線分を移動軌跡と判定するようにしてもよい。
<2.3.3.4.比較部144>
比較部144は、軌跡設定部142が設定した案内軌跡TAと、軌跡判定部143が判定した移動軌跡とを比較する。例えば、比較部144は、移動軌跡の始点と案内軌跡TAとの距離D1および移動軌跡の終点と案内軌跡TAとの距離D2を算出し、算出結果を比較結果として振動制御部145に出力する。
あるいは、例えば案内軌跡TAが所定の幅Wを有する帯状の軌跡である場合、比較部144は、移動軌跡の始点および終点が案内軌跡TA内に含まれるか否かを判定し、かかる判定結果を算出結果として振動制御部145に出力するようにしてもよい。
<2.3.3.5.振動制御部145>
振動制御部145は、比較部144による比較結果に応じて、移動軌跡が案内軌跡TAに沿う場合に振動部130の振動素子130a、130bの振動状態を第1の振動状態にし、移動軌跡が案内軌跡TAから逸脱する場合に振動素子130a、130bの振動状態を第2の振動状態にする。
振動制御部145が例えば比較部144から移動軌跡の始点および終点と案内軌跡TAとの距離D1、D2を比較結果として受け取る場合、振動制御部145は、距離D1、D2が所定閾値より小さい場合に、移動軌跡が案内軌跡TAに沿うと判定する。また、振動制御部145は、距離D1、D2の少なくとも一方が所定閾値以上である場合に、移動軌跡が案内軌跡TAから逸脱すると判定する。
あるいは、比較部144が移動軌跡の始点および終点が案内軌跡TA内に含まれるか否かを判定する場合、振動制御部145は、移動軌跡の始点および終点が案内軌跡TA内に含まれる場合に移動軌跡が案内軌跡TAに沿うと判定し、含まれない場合に逸脱すると判定する。
振動制御部145は、振動素子130a、130bの振動状態を第1の振動状態にする場合、例えば振動素子130a、130bが高周波(例えば超音波周波数帯)で振動する電圧信号を生成し、振動部130へ出力する。これにより、振動素子130a、130bおよび操作部110が高周波で振動するため、操作面120Aとユーザとの接触面(例えば指U1)の間の摩擦力が低下し、ユーザの指U1が操作面120A上を滑りやすくなる。
また、振動制御部145は、振動素子130a、130bの振動状態を第2の振動状態にする場合、例えば振動素子130a、130bを振動させない電圧信号を生成し、振動部130へ出力する。これにより、振動素子130a、130bが無振動状態になり、操作面120Aとユーザとの接触面(例えば指U1)の間に所定の摩擦力が発生する。そのため、ユーザの指U1が第1の状態と比べて操作面120A上を滑りにくくなる。
これにより、ユーザは、案内軌跡TAに沿って指U1を移動させやすくなり、かかる案内軌跡TAに対応する入力操作を行いやすくなる。このように、ユーザの接触位置Cが案内軌跡TAに沿って移動しているか否かをユーザの触覚にフィードバックすることで、ユーザの操作性を向上させることができる。
<2.4.記憶部40>
記憶部40は、例えば軌跡設定部142が設定した案内軌跡TAをユーザが行う入力操作と対応づけて記憶する。また記憶部40は、検出部141が検出したユーザの接触位置Cの履歴を記憶する。このように、記憶部40は、入力装置10の各部が行う処理に必要な情報や処理結果を記憶する。
また、記憶部40は、表示制御部30によって表示部20に表示する画像を記憶する。記憶部40は、例えばRAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置である。
<3.案内軌跡TAの設定例>
続いて、図5〜図7を用いて軌跡設定部142が設定する案内軌跡TAの例を説明する。
<3.1.設定例1>
図5は、軌跡設定部142が設定する案内軌跡TAの設定例1を説明する図である。図5に示す例では、表示部20に例えばダイアログボックスなどユーザに情報を提示する画像G1とボタンB3が表示されており、入力装置10は操作面120Aを介してユーザがボタンB3を押下する操作を受け付けるために待機しているものとする。
ここで、ユーザが操作面120Aを押下し、検出部141がユーザの接触位置C1を検出したとする。このとき、軌跡設定部142は、接触位置C1を始点とし、入力操作を受け付ける位置(ここではボタンB3。以下、入力操作の目標位置と記載する)を終点とする案内軌跡TA6を設定する。なお、図5では、ボタンB3の中心を入力操作の目標位置としているが、これに限られない。例えばボタンB3のうち接触位置C1から最も近い場所を目標位置としてもよい。
上述したように、入力装置10を備える表示装置1が車両に搭載される場合、表示装置1を注視して操作できない可能性がある。このような場合、例えば表示部20にボタンB3が表示されていても、ユーザがボタンB3とは異なる場所を押下する可能性がある。あるいは、例えばボタンB3の表示が小さいと、ユーザがボタンB3を押下しようとしてボタンB3とは異なる場所を押下してしまう場合がある。
このように、ユーザがボタンB3とは異なる場所を押下しても、かかる押下位置C1から目標位置であるボタンB3までの案内軌跡TA6を軌跡設定部142が設定することで、例えばつるつるとした触覚でユーザをボタンB3まで誘導することができ、ユーザがボタンB3を押下する入力操作を容易に行うことができる。したがって、ユーザの操作性を向上させることができる。
ここで、例えばユーザが案内軌跡TA6に従って指U1を移動させ、接触位置C1が目標位置であるボタンB3に到達したとする。このとき、例えば振動制御部145は、操作面120Aの摩擦力が所定期間増加するように振動部130を制御することで、ユーザに操作面120Aの目標位置に凸面があるかのような触覚を与えるようにしてもよい。なお、振動制御部145は、検出部141からユーザの接触位置C1の検出結果を受け取り、接触位置C1が目標位置に到達したか否か判定するものとする。
これにより、振動制御部145は、ユーザにボタンB3あるいはボタンB3の境界を乗り越えるような触覚を与えることができ、ユーザに目標位置であるボタンB3に到達したことを通知することができる。
なお、目標位置に到達したことを通知する方法は、上述した触覚による通知に限られない。例えば、目標位置に到達したときに音を出力することで通知するようにしてもよい。このとき、例えば図示しないスピーカを介して音を出力してもよく、あるいは振動制御部145によって振動部130の振動素子130a、130bを可聴領域で振動させることで、振動の変化によって触感を変化させたり、操作面の可聴周波数の振動で音を出力したりするようにしてもよい。または、入力装置10そのものが振動するように振動部130の振動素子130a、130bを制御することで、ユーザに直接振動を伝えるようにしてもよい。
<3.2.案内軌跡TAの設定例2>
図6は、軌跡設定部142が設定する案内軌跡TAの設定例2を説明する図である。図6に示す例では、表示部20に表示対象であるひらがなの文字が50音順に並べて表示されており、入力装置10は、ユーザが表示対象であるひらがなを選択することで、文字入力操作を受け付けるものとする。
ここでは、入力装置10が、ユーザの指U1が操作面120Aから離れたときにユーザが表示対象であるひらがなの入力操作を受け付けるものとする。すなわち、ユーザの指U1が操作面120Aから離れることで検出部141がユーザの接触位置Cを検出しなくなった場合、入力装置10は、最後に検出部141が検出した接触位置Cに対応する文字の入力操作を受け付けたものとする。ここで、表示対象である文字は、それぞれ所定の表示領域を有しており、かかる表示領域内に表示されるものとする。文字ごとの表示領域は互いに重複することなく表示部20に配置される。入力装置10は、ユーザの接触位置Cが含まれる表示領域の文字の入力操作を受け付けたものとする。
したがって、ユーザは、例えば操作面120Aに指U1を接触させた状態で操作面120A上を移動させ、入力したい文字上で指U1を操作面120Aから離す操作を行う。これにより、ユーザは、操作面120Aから指U1を離す前に位置していた接触位置Cに対応する文字を入力することができる。
図6では、ユーザが上述した文字入力操作を行う場合に、ユーザの接触位置Cに応じて軌跡設定部142が案内軌跡TAを設定することで、ユーザによる文字入力操作を行いやすくするものである。
ユーザが50音表に基づいて文字入力操作を行う場合、まず「あ行〜わ行」の中から該当する行を探し、次に「あ段〜お段」の中から該当する段を探すことで、入力したい文字を検索する方法が考えられる。
そこで、本実施形態にかかる軌跡設定部142は、例えば図6(a)に示すように、検出部141が検出したユーザの接触位置C1から図中の横方向に伸びる第1の案内軌跡TA7と、接触位置C1から図中の縦方向に伸びる第2の案内軌跡TA8とを設定する。
例えば、図6(a)に示すように、ユーザの接触位置C1が文字「あ」の表示領域に位置している場合、軌跡設定部142は、接触位置C1を始点とし、「あ段」の文字のうち最も端部に位置する文字(図6(a)では小文字の「や」)の表示領域を終点とする第1の案内軌跡TA7を設定する。また、軌跡設定部142は、接触位置C1を始点とし、「あ行」の文字のうち最も端部に位置する文字(図6(a)では「お」)の表示領域を終点とする第2の案内軌跡TA8を設定する。
次に、ユーザの指U1が操作面120A上を移動し、接触位置が「C1」から「C2」に移動した場合について説明する。このとき、軌跡設定部142は、例えば図6(b)に示すように、検出部141が検出したユーザの接触位置C2から図中の横方向に伸びる第1、2の案内軌跡TA9、TA10と、接触位置C2から図中の縦方向に伸びる第3の案内軌跡TA11とを設定する。
例えば、図6(b)に示すように、ユーザの接触位置C2が文字「な」の表示領域に位置している場合、軌跡設定部142は、接触位置C2を始点とし、「あ段」の文字のうち最も左端部に位置する文字(図6(b)では小文字の「や」)の表示領域を終点とする第1の案内軌跡TA9を設定する。また、軌跡設定部142は、接触位置C2を始点とし、「あ段」の文字のうち最も右端部に位置する文字(図6(b)では「あ」)の表示領域を終点とする第2の案内軌跡TA10を設定する。軌跡設定部142は、接触位置C2を始点とし、「な行」の文字のうち最も端部に位置する文字(図6(b)では「の」)の表示領域を終点とする第3の案内軌跡TA11を設定する。
このように、ユーザの接触位置Cが移動すると、軌跡設定部142が案内軌跡TAを変更する。これにより、軌跡設定部142は、ユーザの接触位置Cに応じて動的に案内軌跡TAを設定することができ、ユーザの接触位置Cが移動しても適切な案内軌跡TAを設定することができる。したがって、ユーザは適切な案内軌跡TAに沿った入力操作が行いやすくなり、ユーザの操作性が向上する。
なお、ここでは、ユーザの接触位置C1、C2を案内軌跡TAの始点としたが、例えばユーザの接触位置C1、C2が含まれる表示領域を案内軌跡TAの始点としてもよい。
ここで、例えばユーザの接触位置Cが案内軌跡TAに沿って、異なる文字の表示領域に移動するときに、振動制御部145が表示領域を乗り越えるような触覚をユーザに与えることで、ユーザに異なる文字の表示領域に移動したことを通知するようにしてもよい。
例えば図6(a)において、接触位置C1が案内軌跡TA8に沿って、「あ」の表示領域から「い」の表示領域に移動する場合について説明する。このとき、振動制御部145は、「あ」の表示領域と「い」の表示領域の境界領域Dの振動部130の振動状態を第1の振動状態とは異なる状態とする。例えば、接触位置C1が境界領域D内に位置している場合、振動制御部145は、操作面120Aとユーザとの接触面(例えば指U1)との間の摩擦力が第1の振動状態より大きくなるように振動部130を制御する。
これにより、接触位置C1が境界領域Dを移動している場合、「あ」の表示領域および「い」の表示領域を移動している場合に比べて指U1が滑りにくい触覚をユーザに与えることができ、境界領域Dに凸面が生じている、すなわち境界領域Dを乗り越えているような触覚をユーザに与えることができる。なお、表示領域を移動したことを通知する方法は、上述した触覚による通知に限られない。例えば、表示領域を移動したときに音を出力することで通知するようにしてもよい。
なお、境界領域Dを移動している場合に与える触覚は、例えば案内軌跡TAに沿って移動している場合の滑りやすさより滑りにくく、案内軌跡TAを逸脱する場合より滑りやすい触覚とする。すなわち、ユーザと操作面120Aとの間の摩擦力を、例えば案内軌跡TAに沿った場合に最も小さく、案内軌跡TAを逸脱する場合に最も大きく、境界領域Dを移動する場合はその中間とする。これにより、案内軌跡TAに沿った場合、境界領域Dを移動する場合、案内軌跡TAを逸脱する場合の順に指U1が滑りやすくなる。そのため、ユーザは、案内軌跡TAから逸脱することなく案内軌跡TAに沿って指U1を移動させやすくなるとともに、表示領域を移動したこと認識しやすくなる。なお、境界領域Dを移動する場合は、ユーザに表示領域を移動したことを提示できればよく、例えば振動部130を低周波で振動させるようにしてもよい。
また、図6のように、入力装置10が例えばナビゲーションシステムの施設検索を行うために文字入力操作を受け付ける場合、入力装置10によっては入力操作を受け付ける文字が制限される場合がある。例えばかかる入力装置10は、検索結果の候補に含まれる文字の入力操作のみを受け付ける。したがって、ユーザが文字を入力することで検索結果の候補数が絞られると、候補に含まれる文字が減り、入力装置10が入力操作を受け付けない文字が発生する。
このとき、表示装置1は、例えば入力を受け付けない文字の表示色を背景色に近い色とすることで、ユーザに所定文字の入力操作を受け付けない旨を提示する。また、入力装置10の軌跡設定部142が、ユーザの接触位置C1を始点とし、入力操作を受け付ける文字の表示領域を終点とする案内軌跡TAを設定するようにする。これにより、入力操作を受け付ける文字までユーザの接触位置C1を誘導することができるようになる。
なお、入力装置10が入力操作を受け付ける文字数が所定の閾値以上である場合は、図6に示すように、接触位置C1から縦または横方向に伸びる案内軌跡TAを設定するようにし、所定の閾値より小さい場合に、入力操作を受け付ける文字を終点とする案内軌跡TAを設定するようにしてもよい。
また、例えば接触位置Cが「あ」の表示領域に含まれる場合、振動制御部145が、第1、第2の振動状態とは異なる振動状態となるように振動部130を制御するようにしてもよい。例えば、ユーザの指U1が「あ」の表示領域と接触している場合、第1の振動状態よりさらに摩擦力が小さくなるようにする。あるいは、所定周期で摩擦力の増減を切り替えることで凸凹とした触覚をユーザに与えるようにする。例えば、50音表を用いて文字入力を行う場合に「あ」を、文字入力操作を行う基準位置(ホームポジション)とする。このとき、指U1が基準位置に位置する場合に特定の触覚をユーザに与えることで、ユーザが表示部20を注視できない場合であっても、ユーザが操作面120Aにおける指U1の位置を確認することができるようになる。
このように、操作面120A上の特定の位置で、第1、第2の振動状態とは異なる振動状態となるように、すなわちユーザに特定の触覚を与えるようにする。これにより、ユーザが操作面120A上の特定の位置を容易に認識することができるようになる。
<3.3.案内軌跡TAの設定例3>
図7は、軌跡設定部142が設定する案内軌跡TAの設定例3を説明する図である。図7に示す例では、表示部20に表示対象であるひらがなの文字が表示されており、入力装置10は、ユーザが表示対象であるひらがなを選択することで、文字入力操作を受け付けるものとする。なお、ここでは、図6の場合と同様に入力装置10が、ユーザの指U1が操作面120Aから離れたときにユーザが表示対象であるひらがなの入力操作を受け付けるものとする。
図7の例では、ユーザは、まず表示部20に表示された文字に例えば指U1を接触させることで、入力したい文字の行を選択する。次にユーザは、指U1が入力したい文字の行を選択した状態、すなわち操作面120Aに接触した状態で指U1を入力したい文字まで移動させることで、入力したい文字を選択する。このように、図7では、いわゆる「フリック入力」によって文字入力操作を行うものとする。
この場合、表示部20は、ユーザが入力したい文字の行を選択すると、選択した文字の上下左右に、入力候補の文字を表示する。例えば図7では、ユーザが文字「ま」に接触することで「ま行」を選択しており、表示部20は、かかる選択を受けて文字「ま」の周囲に入力候補の文字「み」「む」「め」「も」を表示する。
ここで、軌跡設定部142は、表示部20が表示対象として入力候補の文字「み」「む」「め」「も」を表示した場合に、ユーザが選択している文字「ま」から入力候補の文字「み」「む」「め」「も」までの案内軌跡TA12〜TA15をそれぞれ設定する。
これにより、ユーザは,案内軌跡TA12〜TA15に沿って指U1を移動させやすくなり、入力候補の文字を容易に選択できるようになる。このように、ユーザがフリック入力を行う場合にも、ユーザの操作性を向上させることができる。
<4.制御処理>
次に、本実施形態に係る入力装置10が実行する処理手順について図8を用いて説明する。図8は、本実施形態に係る入力装置10が実行する処理手順を示すフローチャートである。
図8に示すように、入力装置10は、表示部20に表示される表示対象および検出部141によって検出されるユーザの接触位置Cの少なくとも一方に基づいて案内軌跡TAを設定する(ステップS101)。ここで、例えば接触位置Cは、図8に示す処理を実行する直前に検出部141によって検出される接触位置Cとする。例えば、検出部141が接触位置Cを検出したことを契機として図8に示す処理を実行するようにしてもよい。
次に、入力装置10は、検出部141が接触位置C1を検出したか否かを判定する(ステップS102)。なお、ここで検出部141が検出する接触位置C1は、上述した接触位置Cとは異なる位置であるものとする。検出部141が接触位置C1を検出しない場合(ステップS102;No)、入力装置10はステップS102に戻り、検出部141が接触位置C1を検出するのを待つ。
検出部141が接触位置C1を検出した場合(ステップS102;Yes)、入力装置10は、接触位置C1がステップS101で設定した案内軌跡TAに沿って移動しているか否かを判定する(ステップS103)。
接触位置C1が案内軌跡TAに沿って移動している場合(ステップS103;Yes)、入力装置10は、振動部130の振動素子130a、130bが第1の振動状態となるように制御し(ステップS104)、処理を終了する。
接触位置C1が案内軌跡TAに沿って移動していない、すなわち接触位置C1が案内軌跡TAから逸脱するように移動する場合(ステップS103;No)、入力装置10は、振動部130の振動素子130a、130bが第2の振動状態となるように制御し(ステップS105)、処理を終了する。
なお、ステップS101とステップS102とを実行する順序は、同時であったり、逆であったりしてもよい。また、ステップS102で所定期間接触位置C1を検出しなかった場合は、ユーザによる入力操作が終了したとして処理を終了してもよい。
<5.ハードウェア構成>
本実施形態に係る表示装置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を介して、ディスプレイ等の表示部20、スピーカ等の出力部、キーボードやマウス、ボタン、操作部110等の入力部を制御する。CPU610は、入出力I/F670を介して、入力部からデータを取得する。また、CPU610は、生成したデータを入出力I/F670を介して表示部20や出力部に出力する。
例えば、コンピュータ600が表示装置1として機能する場合、コンピュータ600のCPU610は、RAM630上にロードされたプログラムを実行することにより、検出部141と、軌跡設定部142と、軌跡判定部143と、比較部144と、振動制御部145を含む入力装置10の制御部140および表示制御部30の各機能を実現する。
コンピュータ600のCPU610は、例えばこれらのプログラムを記憶媒体680から読み取って実行するが、他の例として、他の装置からネットワーク690を介してこれらのプログラムを取得してもよい。また、HDD640は、記憶部40が記憶する情報を記憶することができる。
<6.変形例>
図10〜図13を用いて本実施形態の変形例を説明する。図10、図11は、本実施形態の変形例1を説明する図である。また図12、図13は、本実施形態の変形例2を説明する図である。
<6.1.変形例1>
本変形例1に係る表示装置2の入力装置11は、図2に示す入力装置10の構成に加え、速度算出部146を備える。なお、図2に示す表示装置1と同じ構成には、同一符号を付し説明を省略する。
図10の速度算出部146は、検出部141が検出した接触位置Cの時間変化に応じて接触位置Cの移動速度Vを算出する。例えば、検出部141が所定の周期で接触位置Cを検出している場合、速度算出部146は、時刻Tnにおける接触位置Cnと時刻Tn−1における接触位置Cn−1との距離を算出し、算出した距離を所定の周期で除算することで時刻Tnにおける移動速度Vnを算出する。速度算出部146は、算出した移動速度Vnを振動制御部145に出力する。
振動制御部145は、振動部130の振動素子130a、130bの振動状態を速度算出部146が算出した移動速度Vに応じて変更する。例えば、振動制御部145は、移動速度Vが大きいほど、操作面120Aとユーザとの接触面の摩擦力を小さくする。これにより、ユーザの移動速度Vが大きい程、ユーザに滑らかな触覚を与えることができる。
例えば記憶部40に、移動速度Vと振動素子130a、130bの振動状態とを対応付けて記憶させておく。振動制御部145は、速度算出部146から移動速度Vを受け取ると、記憶部40を参照して移動速度Vに対応する振動状態を決定する。振動制御部145は、振動素子130a、130bが決定した振動状態となるように振動素子130a、130bを制御する。
あるいは、振動制御部145が例えば移動速度Vと所定の閾値とを比較することで振動状態を決定するようにしてもよい。例えば振動制御部145は、移動速度Vが所定の閾値より大きい場合に振動素子130a、130bの振動状態を第1の振動状態とすると決定する。また、移動速度Vが所定の閾値以下である場合に振動素子130a、130bの振動状態を第1、第2の振動状態と異なる第3の振動状態とすると決定する。ここで、第3の振動状態とは、操作面120Aとユーザとの接触面の摩擦力が第1の振動状態より大きいが、第2の振動状態より小さい状態であるとする。
このように、ユーザの移動速度Vに応じてユーザに与える触覚を変更する、具体的にはユーザの移動速度Vが大きい程、ユーザに滑らかな触覚を与えることで、ユーザが速い速度で例えば指U1を操作面120A上で移動させている場合に、滑らかな触覚を与えることができ、ユーザの操作性を向上させることができる。
次に、図11を用いて、本変形例に係る入力装置11の適用例について説明する。図11では、例えば入力装置11を用いて漢字の書き取り練習をする場合について説明する。
この場合、表示部20は書き取りを行う漢字を表示する。また軌跡設定部142は、表示部20に表示される漢字の筆画を表示対象として案内軌跡TAを設定する。このとき、例えば軌跡設定部142は、ユーザの接触位置Cや漢字の筆順に応じて案内軌跡TAを設定する。
具体的には、軌跡設定部142は、漢字の第一画目から順に漢字の筆順に従って案内軌跡TAを設定する。例えばユーザが第一画目の筆画を書き終わると、軌跡設定部142は、第二画目の案内軌跡TAを設定する。
このように、ユーザによる入力操作の順番があらかじめ決められている場合、入力操作の順番に従って案内軌跡TAを設定する。これにより、ユーザはあらかじめ決められた順番に従って入力操作を容易に行えるようになり、ユーザの操作性が向上する。
また、軌跡設定部142は、ユーザが所定の筆画を書いている場合、ユーザの接触位置Cに応じて案内軌跡TAを設定する。例えば図11では、ユーザが「習」の第一画目を書き終えており、ユーザのタッチペンU2が接触位置C3で操作面120Aと接触しているものとする。
この場合、軌跡設定部142は、接触位置C3を始点とし、第一画目の書き終わりを終点とする案内軌跡TA16を設定する。このとき、軌跡設定部142は、第一画目の書き始めを終点とする案内軌跡TAを設定しない。これにより、ユーザは、接触位置C3から第一画目の書き始めに戻る操作を行いにくくなる。
このように、ユーザによる入力操作の方向があらかじめ決められている場合、入力操作の方向に沿って案内軌跡TAを設定する。これにより、ユーザはあらかじめ決められた方向に沿った入力操作が行いやすくなり、ユーザの操作性が向上する。
また、図11では、振動制御部145はタッチペンU2の移動速度Vに応じて振動状態を決定する。例えば、「習」という字の書き取りを行う場合、第一画目を書くより第三画目をはねる方がタッチペンU2の移動速度Vが大きくなる。そこで、振動制御部145は、第一画目の案内軌跡TA16に沿ってタッチペンU2が移動する場合に第3の振動状態になり、第三画目の案内軌跡TA17に沿ってタッチペンU2が移動する場合に第1の振動状態になるように、振動素子130a、130bを制御する。これにより、ユーザは第三画目をより滑らかに書くことができるようになり、ユーザの操作性が向上する。
なお、図11では、図面を見やすくするため、案内軌跡TA16、TA17を漢字の各筆画からずらして図示しているが、実際は軌跡設定部142が漢字の筆画上に案内軌跡TA16、TA17を設定するものとする。
なお、ここでは、ユーザの接触位置Cの移動速度Vに応じて振動素子130a、130bの振動状態を変更するとしたが、これに限られない。例えば上述した漢字の書き取りのように、移動速度Vの大小が表示対象である筆画と対応付けられている場合、表示対象に応じて振動素子130a、130bの振動状態を変更するようにしてもよい。
例えば、漢字の書き取りでは、漢字のはねやはらいを縦方向や横方向に書く線より速く記載する。そこで、例えば「習」の第三画目のようなはねやはらいの筆画は第1の振動状態になり、第一画目のような横線や縦線の筆画は第3の振動状態になるように、筆画と振動状態とを対応付けて記憶部40に記憶しておく。
振動制御部145は、例えば所定の筆画に対応する案内軌跡TAに沿ってタッチペンU2が移動する場合、記憶部40を参照し、かかる筆画に対応する振動状態になるように振動素子130a、130bを制御する。
このように、所定の入力操作に望ましい移動速度Vが設定されている場合、振動制御部145が入力操作に対応付けられた移動速度Vに応じた振動状態となるように振動素子130a、130bを制御する。これにより、ユーザは、入力操作に応じた移動速度Vで入力操作を行いやすくなり、ユーザの操作性が向上する。
なお、上述した変形例1では、入力装置11の適用例として漢字の書き取りを行う場合について説明したが、これに限られない。例えば、接触位置C1からボタンB3など所定の目標位置までの案内軌跡TA6を設定する場合(図5参照)、接触位置C1と目標位置との間の距離が大きいほど移動速度Vを大きくするようにしてもよい。
すなわち、接触位置C1と目標位置との間の距離が大きいほど、操作面120Aとユーザとの接触面の摩擦力を小さくする。これにより、接触位置C1と目標位置との間の距離が大きいほど、ユーザは接触位置C1をより滑らかに移動させることができるようになる。したがって、接触位置C1と目標位置との間の距離が離れていても、短時間で目標位置まで接触位置C1を移動させることができ、ユーザの操作性が向上する。
このように、設定した案内軌跡TAの長さに応じて振動素子130a、130bの振動状態を変更するようにしてもよい。接触位置C1の移動に応じて案内軌跡TAを動的に変更する場合、かかる案内軌跡TAの変更に応じて振動素子130a、130bの振動状態を変更するようにしてもよい。これにより、例えばユーザが目標位置に近づいているか遠ざかっているかを認識できるようにすることができる。
<6.2.変形例2>
本変形例2に係る表示装置3の入力装置12は、図2に示す入力装置10の構成に加え、操作推定部147を備える。なお、図2に示す表示装置1と同じ構成には、同一符号を付し説明を省略する。
図12の操作推定部147は、検出部141によって検出された接触位置Cの移動軌跡に応じて、ユーザによる入力操作を推定する。例えば操作推定部147は、軌跡判定部143が判定した移動軌跡に基づいてユーザによる入力操作を推定する。表示装置3は、例えばユーザから受け付ける入力操作と、かかる入力操作の軌跡とを対応付けて記憶部40に記憶しているものとする。
操作推定部147は、例えば記憶部40に記憶される入力操作の軌跡と、軌跡判定部143が判定した移動軌跡とのパターンマッチングを行い、マッチング結果に応じて入力操作を推定する。このとき、操作推定部147は、移動軌跡の始点および終点、すなわち移動軌跡の移動方向や、複数の移動軌跡の記載順序等を考慮して入力操作を推定する。操作推定部147は、例えば推定結果を振動制御部145に出力する。
なお、記憶部40に記憶される入力操作の軌跡と、軌跡判定部143が判定した移動軌跡とのパターンマッチングは、例えば移動軌跡をオンラインによる手書き文字とした場合の手書き文字の認識アルゴリズムを用いて行うようにすればよい。手書き文字の認識アルゴリズムとしては、例えばSVM(サポートベクタマシン)などの機械学習アルゴリズムが挙げられる。
振動制御部145は、操作推定部147が入力操作を推定した場合に、第1の振動状態とは異なる振動状態で振動素子130a、130bを振動させる。これにより、入力装置12は、ユーザに入力操作を推定した旨を通知することができ、例えばユーザは、入力装置12による推定後に入力操作を継続する必要がなくなり、ユーザの操作性を向上させることができる。
次に、図13を用いて、本変形例に係る入力装置12の適用例について説明する。図13では、例えば入力装置12がオンラインで手書き文字の入力操作を受け付ける場合について説明する。
図13(a)に示すように、ユーザは例えばタッチペンU2を操作面120A上で接触移動させることで手書きの文字を入力する。操作推定部147は、検出部141によって検出された接触位置Cの移動軌跡に応じて、ユーザが入力する文字を推定する。
例えばユーザによる入力操作が開始されて、接触位置Cが、図13(a)に示す位置C1まで移動したとする。このとき、操作推定部147は、例えば「あ」「オ」「を」をユーザが入力した文字候補として推定する。
ここで、図13(b)に示すように、軌跡設定部142が、操作推定部147が推定した文字候補に基づいて案内軌跡TAを設定するようにしてもよい。例えば軌跡設定部142は、操作推定部147が推定した文字候補「あ」に基づいて第1の案内軌跡TA18を設定する。また、同様に軌跡設定部142は、例えば文字候補「オ」に基づいて第2の案内軌跡TA19を設定し、文字候補「を」に基づいて第3の案内軌跡TA20を設定する。
軌跡設定部142は、例えば記憶部40を参照し、文字候補に対応付けられた入力操作の軌跡に基づいて各案内軌跡TAを設定する。軌跡設定部142は、例えば参照した入力操作の軌跡を、移動軌跡にあわせて拡大または縮小する。さらに、軌跡設定部142は、例えば入力操作の軌跡のうち、移動軌跡にマッチングする部分を削除した軌跡を案内軌跡TAとする。
このように、操作推定部147の推定結果に応じて、軌跡設定部142が案内軌跡TAを設定することで、ユーザが案内軌跡TAに沿って入力操作(ここでは手書き文字入力)を行いやすくすることができる。
図13(c)に示すように、ユーザが図13(a)に引き続いて文字入力操作を継続した場合について説明する。この場合、操作推定部147が入力文字を推定することで、文字候補が一つに絞られたとする。操作推定部147は、推定結果を振動制御部145に通知する。なお、操作推定部147が入力操作の推定を終了した旨を振動制御部145に通知するようにしてもよい。
振動制御部145は、操作推定部147から通知を受けると第1の振動状態とは異なる振動状態となるように振動素子130a、130bを制御する。例えば、軌跡設定部142によって図13(c)に示す案内軌跡TA21が設定されているものとする。この場合、操作推定部147から通知を受けていない状態でタッチペンU2の接触位置Cが案内軌跡TA21に沿って移動すると、振動制御部145は、第1の振動状態となるように振動素子130a、130bを制御する。そのため、タッチペンU2と操作面120Aの摩擦力が低下し、タッチペンU2の接触位置Cは滑らかに移動することができる。
ここで、操作推定部147から通知を受けると、振動制御部145は、第1の振動状態とは異なる振動状態、例えば第2の振動状態となるように振動素子130a、130bを制御する。そのため、タッチペンU2と操作面120Aの摩擦力が増加し、タッチペンU2の接触位置Cが滑らかに移動できなくなる。これにより、ユーザは手書き文字認識が完了したと認識でき、文字入力操作の途中であっても操作を終了することができる。
このように、操作推定部147が入力操作を推定した場合に、第1の振動状態とは異なる振動状態で振動素子130a、130bを振動させることで、ユーザに入力操作を終了するよう誘導することができる。これにより、ユーザは入力操作の途中であってもかかる操作を終了することができ、ユーザの操作性を向上させることができる。
なお、操作推定部147が推定した文字候補の数が所定数以上である場合(図13(a)参照)、軌跡設定部142は、操作面120Aの手書き入力を受け付ける領域を案内軌跡TAに設定するようにしてもよい。これにより、ユーザの接触位置Cがどこに移動しても、振動制御部145は、接触位置Cが案内軌跡TAに沿って移動していると判定する。すなわち、ユーザの接触位置Cがどこに移動しても、振動制御部145は滑らかな触覚をユーザに与えるものとする。
これにより、ユーザは、操作推定部147が推定した文字候補の数が所定数以上である場合は、自由に手書き文字を入力することができる。また、文字候補の数が所定数より少なくなると、入力装置12が推定した文字候補の中の一つに沿って文字を入力することができるようになり、ユーザが容易に文字を入力することができるようになるとともに、入力装置12の操作推定部147による入力操作の推定の精度を向上させることができる。
なお、ここでは、入力装置12の適用例として手書き文字入力を行う場合について説明したが、これに限られない。例えば、操作面120A上で矢印等の記号や文字を入力することで、かかる記号や文字に対応した操作を行うジェスチャー入力を行う場合に適用してもよい。
ここで、ジェスチャー入力としては、例えば表示部20に表示されている表示対象にかかわらず、操作面120A上で所定軌跡を入力することで、かかる所定軌跡に対応する入力操作を受け付けるものである。例えば、カーナビゲーションの動作中にユーザが「A」という文字を入力することでAMラジオを起動する、あるいは操作面120A上でユーザが円弧を描くことでスピーカの音量を調整するといった操作が挙げられる。
なお、例えばあらかじめ所定軌跡と入力操作とを対応付けておくことで、入力装置12がジェスチャー入力操作を受け付けるようにする。あるいは、ユーザが、任意に軌跡を入力し、入力した軌跡に対応する入力操作を決定することで、ユーザが設定したジェスチャー入力操作を入力装置12が受け付けるようにしてもよい。
このように、ユーザが所定軌跡を入力装置12に入力する場合に、かかる所定軌跡に応じて操作推定部147が入力操作を推定し、推定結果に応じて振動制御部145が第1の振動状態とは異なる振動状態になるように振動素子130a、130bを制御する。これにより、入力装置12がジェスチャー入力を受け付けたか否かをユーザが認識することができるようになる。
<6.3.変形例3>
以下に操作面を振動させることでユーザに触覚を与える入力装置10における、触感に与え方等について色々な実施形態の例をあげる。上記に説明した技術も含め、これらの触感付与技術はそれぞれ適宜組み合わせて用いることにより、多種多様な効果を持った触感をユーザに与えることが可能となる。
上述した変形例1、2に限らず、例えば入力装置10が図示しないスピーカの音量調整や空調機の温度調整を行う入力操作を受け付ける場合、かかる音量や温度に応じてユーザに与える触覚を変更するようにしてもよい。
例えばユーザがスピーカの音量調整や空調機の温度調整を行う場合、振動制御部145は、所定の周期で振動部130の動作周波数を切り替える、すなわち操作面120Aとユーザとの接触面の摩擦力の大小を切り替えるものとする。これにより、例えばユーザに凸凹とした触覚を与えることができる。これにより、ユーザにスピーカの音量や空調機の設定温度に応じた触覚を与えることができる。
このとき、例えばスピーカの音量が大きくなる、あるいは空調機の設定温度が高くなるにしたがって、動作周波数を切り替える所定周期を長くする。また、スピーカの音量が小さくなる、あるいは空調機の設定温度が低くなるにしたがって、動作周波数を切り替える所定周期を短くする。
また、例えばユーザがスピーカの音量を大きくする、あるいは空調機の設定温度を高くする場合、ユーザに操作面120Aが膨らんでいるような凸の触覚を与えるようにし、スピーカの音量を小さくする、あるいは空調機の設定温度を低くする場合、ユーザに操作面120Aがへこんでいるような凹の触覚を与えるようにしてもよい。これにより、ユーザは、どのような操作を行っているか触覚によって認識できるようになる。
また、例えば検出部141の検出結果に応じて、ユーザが操作面120Aに所定期間以上触れていると制御部140が判定すると、かかる判定結果に応じて表示制御部30が所定の操作メニューボタンを表示するようにしてもよい。
かかる操作メニューボタンは、例えば円形のボタンであり、円周に沿って入力を受け付ける操作を示す画像が配置されているものとする。ユーザは、例えば操作メニューボタンの外周に沿って接触位置Cを移動させることで操作を選択する。
このとき、円形のボタンがユーザによる接触動作に応じて回転するのにあわせて、ユーザに凹凸の触覚を与えることで実際にダイアルを回しているような触覚を与えることができる。例えば、振動制御部145が所定の周期で振動部130の動作周波数を切り替える、すなわち操作面120Aとユーザとの接触面の摩擦力の大小を切り替える。これにより、例えばユーザに凸凹とした触覚を与えることができる。
また、例えばファイルの完全削除など、操作を実行してしまうと、かかる操作の取り消しが行えない入力操作を受け付ける場合、入力装置10が、かかる入力操作を受け付けると取り消して元の状態に戻せない旨の警告を触覚で与えるようにしてもよい。例えば取り消しが行えない操作を受け付けるボタンにユーザの接触位置Cが近づくにつれて、操作面120A上の摩擦力を大きくする。
具体的には、例えば軌跡設定部142がかかるボタンを目標位置とし、ユーザの接触位置Cから目標位置までの案内軌跡TAを設定する。振動制御部145は、案内軌跡TAの長さに応じて振動部130の振動状態を変更する。例えば振動制御部145は、案内軌跡TAの長さが長いほど操作面120A上の摩擦力を小さくし、案内軌跡TAの長さが短いほど操作面120A上の摩擦力を大きくする。
これにより、ボタンにユーザの接触位置Cが近づくにつれて、ユーザの指U1に与える抵抗感を増加させることができ、ユーザに警告を触覚で与えることができる。
また、ユーザが入力装置10に対して入力操作を行っている場合において、例えば車両に障害物が接近している場合、あるいはユーザが表示部20を注視している場合などユーザに危険を通知する必要が発生する場合がある。このとき、入力装置10が、特定の触覚をユーザに与えることで危険を通知するようにしてもよい。
例えば入力装置10は、ユーザに危険を通知する必要が発生すると、ユーザに与えていた触覚を大きく変化させることで、危険を通知する。例えば、大きな摩擦力をユーザに与えるように振動制御部145が振動部130を制御している場合は、摩擦力がゼロに近づくように振動部130を制御するようにする。これにより、指U1が急に滑るような触覚をユーザに与えることができる。
また、例えば、小さな摩擦力をユーザに与えるように振動制御部145が振動部130を制御している場合は、摩擦力が最大となるように振動部130を制御するようにする。これにより、滑らかに移動していた指U1を急に停止させるような触覚を与えることができる。
このように、入力装置10がユーザに与える触覚を急激に変化させることで危険を通知することができる。なお、例えば車両に障害物が接近しているか否かは、車両に搭載された図示しない接近センサの検出結果を用いて判定するものとする。また、ユーザが表示部20を注視しているか否かは、図示しない撮像装置による撮像画像に基づいてユーザの視線検出を行うことで判定するものとする。
なお、上述した実施形態および変形例では、表示装置1の表示部20および操作部110の形状を平板状としたが、これに限られない。例えば表示装置1の表示部20および操作部110の形状を、曲面を有する形状としてもよい。このとき、例えば操作部110の形状にあわせてユーザに与える触覚を変更してもよい。すなわち、振動制御部145が操作部110の形状およびユーザの接触位置Cに応じて、振動部130の振動状態を変更するようにしてもよい。
例えば、接触位置Cがユーザから遠ざかる方向、すなわち曲面の極大値から極小値に向かって移動する場合、振動制御部145は、振動状態が第1の振動状態となるように振動部130を制御する。これにより、操作面120A上の摩擦力が小さくなり、ユーザの指U1を滑りやすくすることができる。
あるいは、例えば接触位置Cがユーザに近づく方向、すなわち曲面の極小値から極大値に向かって移動する場合、振動制御部145は、振動状態が第2の振動状態となるように振動部130を制御する。これにより、操作面120A上の摩擦力が大きくなり、ユーザの指U1が滑りにくくなる。なお、上述した振動状態は一例であり、例えば接触位置Cがユーザから遠ざかる場合に操作面120A上の摩擦力を大きくし、近づく場合に摩擦力を小さくしてもよい。
なお、上述した実施形態および変形例では、振動素子130a、130bが高周波で振動している状態を第1の振動状態とし、振動素子130a、130bが振動していない無振動状態を第2の振動状態としたが、これに限られない。振動制御部145が、ユーザが案内軌跡TAに沿って接触位置Cを移動させやすくなるとともに、案内軌跡TAを逸脱しにくくなるように振動状態を変更できればよい。すなわち、案内軌跡TAに沿う場合はユーザと操作面120Aとの間の摩擦力が小さくなり、案内軌跡TAを逸脱する場合は摩擦力が大きくなるように変更できればよい。
そこで、上述したように、振動素子130a、130bの振動の有無(オン・オフ)を切り替えるようにしてもよく、例えば、振動素子130a、130bの振動強度(振幅)、振動周波数、振動周期、振動のオン・オフパターン(例えば0.2秒間隔でオンオフを2回繰り返した後2秒オンを維持するパターンを繰り返す等)を切り替えることで、振動素子130a、130bの振動状態を変更するようにしてもよい。あるいは、これらを組み合わせることで振動状態を変更するようにしてもよい。
以上のように、本実施形態に係る表示装置1が備える入力装置10は、検出部141と、少なくとも一つの振動素子130a、130bと、振動制御部145とを備える。検出部141は、操作面120Aに対するユーザの接触位置Cを検出する。振動素子130a、130bは、操作面120Aを振動させる。振動制御部145は、検出部141によって検出された接触位置Cが所定の案内軌跡TAに沿って移動する場合に振動素子130a、130bの振動状態が第1の振動状態になり、接触位置Cが案内軌跡TAから逸脱するように移動する場合に振動素子130a、130bの振動状態が第1の振動状態とは異なる第2の振動状態になるように、振動素子130a、130bを制御する。
これにより、例えば操作面120Aに対するユーザの接触位置Cが案内軌跡TAに沿って移動する場合にユーザの指U1に滑らかな触覚を与え、案内軌跡TAから逸脱するように移動する場合に滑りにくい触覚を与えることができる。そのため、ユーザは、案内軌跡TAに沿って指U1を移動させやすくなり、入力装置10に対するユーザの操作性を向上させることができる。
また、本実施形態に係る入力装置10は、軌跡判定部143と、比較部144とをさらに備える。軌跡判定部143は、検出部141によって検出された接触位置Cに応じて接触位置Cの移動軌跡を判定する。比較部144は、軌跡判定部143によって判定された移動軌跡と案内軌跡TAとを比較する。また、振動制御部145は、比較部144による比較結果に応じて、移動軌跡が案内軌跡TAに沿う場合に振動素子130a、130bの振動状態を第1の振動状態にし、移動軌跡が案内軌跡TAから逸脱する場合に振動素子130a、130bの振動状態を第2の振動状態にする。
これにより、例えばユーザの接触位置Cの移動軌跡に応じてユーザの指U1に滑らかな触覚あるいは滑りにくい触覚を与えることができる。そのため、ユーザは、案内軌跡TAに沿って指U1を移動させやすくなり、入力装置10に対するユーザの操作性を向上させることができる。
また、本実施形態に係る入力装置10は、ユーザが行う所定の入力操作に対応する案内軌跡TAを設定する軌跡設定部142を備える。これにより、ユーザは、かかる案内軌跡TAに沿って所定の入力操作を容易に行えるようになり、ユーザの操作性を向上させることができる。
また、本実施形態に係る入力装置10の軌跡設定部142は、検出部141が検出した接触位置Cに基づいて案内軌跡TAを設定する。これにより、軌跡設定部142が接触位置Cに応じて動的に案内軌跡TAを設定することができ、ユーザがかかる案内軌跡TAに沿って所定の入力操作を容易に行えるようになる。このため、ユーザの操作性を向上させることができる。
また、本実施形態に係る入力装置10の軌跡設定部142は、検出部141が検出した接触位置Cから、入力操作に応じた所定位置までの案内軌跡TAを設定する。これにより、ユーザは、所定位置まで容易に接触位置Cを移動できるようになり、ユーザの操作性を向上させることができる。
また、本実施形態に係る入力装置10の軌跡設定部142は、ユーザによる操作面120Aへの操作に応じた画像が表示される表示部20に表示される表示対象に応じて案内軌跡TAを設定する。これにより、ユーザは、表示対象に応じた案内軌跡TAに沿って入力操作を行えるようになり、ユーザの操作性を向上させることができる。
また、本実施形態に係る入力装置10の軌跡設定部142は、表示対象の数、配置およびサイズの少なくとも一つに応じて案内軌跡TAを設定する。これにより、ユーザは、表示対象の数、配置およびサイズに応じた案内軌跡TAに沿って入力操作を行えるようになり、ユーザの操作性を向上させることができる。
また、本実施形態に係る入力装置11は、検出部141が検出した接触位置Cの時間変化に応じて接触位置Cの移動速度Vを算出する速度算出部146を備える。また、振動制御部145は、振動素子130a、130bの振動状態を速度算出部146が算出した移動速度Vに応じて変更する。これにより、接触位置Cの移動スピードに応じた触覚をユーザに与えることができ、ユーザの操作性を向上させることができる。
また、本実施形態に係る入力装置12は、検出部141によって検出された接触位置Cの移動軌跡に応じて、ユーザによる入力操作を推定する操作推定部147を備える。振動制御部145は、操作推定部147が入力操作を推定した場合に、第1の振動状態とは異なる振動状態になるように振動素子130a、130bを制御する。これにより、入力装置12は、ユーザに入力操作を推定した旨を通知することができ、例えばユーザは、入力装置12による推定後に入力操作を継続する必要がなくなる。そのため、ユーザの操作性を向上させることができる。
本実施形態に係る表示装置1〜3は、上述した入力装置10〜12であってユーザからの入力操作を受け付ける入力装置10〜12と、入力装置10〜12によって受け付けられた入力操作に応じて、画像を表示する表示部20とを備える。ユーザの操作性を向上させることができる入力装置10〜12を備えることで、表示装置1〜3の操作性を向上させることができる。
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。