(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
(本発明の基礎となった知見)
本発明者らは、特許文献1に開示されている技術は、ユーザの指をディスプレイの縦および/または横方向に変位させる振動パターンにより、指をボタンの位置まで誘導する方式であるため、GUIの存在方向へ指をタッチパネル上でなぞって移動させる際の指の皮膚の変形方向と、ボタンの存在位置へ誘導するための振動による指の皮膚の変形方向とが逆になるため、指の移動を妨げるなど、指をスムーズに移動させる入力操作がしづらいという課題を発見した。
【0016】
そこで、本開示は、パネルのディスプレイに対して縦および/または横方向に変位させることなく、マルチタッチパネルで検出される複数のタッチ位置のうち、目的とするGUIに近いタッチ位置に振動を提示し、同時にタッチされているその他のタッチ位置に振動を提示しないことにより、振動が提示されているタッチ位置と振動が提示されていないタッチ位置の位置関係に基づいて、目的とするGUIが存在する方向の提示を可能とする触覚入出力装置を提供する。より具体的には、オブジェクトがディスプレイの表示領域の左側に存在する場合には、2つのタッチ位置のうち左側にあるタッチ位置に第1の触感信号による振動を提示し、オブジェクトが右側に存在する場合には、2つのタッチ位置のうち右側にあるタッチ位置に第1の触感信号による振動を提示し、また、オブジェクトがディスプレイの表示領域の上側にある場合には、2つのタッチ位置のうち上側にあるタッチ位置に第2の触感信号による振動を提示し、逆にオブジェクトが下側に存在する場合には、2つのタッチ位置のうち下側にあるタッチ位置に第2の触感信号による振動を提示することにより、オブジェクトの存在方向を提示する触覚入出力装置を提供する。
【0017】
また、本開示は、例えば、電子地図や電子ドキュメントなどのオブジェクトを拡大、縮小、スクロールさせることによって、注目していた情報が、ディスプレイの表示領域外に出た場合に、注目していた情報がディスプレイの表示領域外のどの方向に存在するのかを、ユーザに提示することができるタッチパネルデバイスとその制御方法、触覚入出力装置(A tactile/haptic feedback touch panel apparatus, or a tactile/haptic user interface apparatus)、触覚入出力装置の制御方法(A method of controlling a tactile/haptic feedback touch panel apparatus)、触覚入出力装置の振動方法(A method of vibrating a tactile/haptic feedback touch panel apparatus)を提供する。
【0018】
本発明の一態様に係るタッチパネルの制御方法は、タッチパネル表面またはその近傍にマルチタッチ入力された、複数の入力を検出し、検出された前記複数の入力の位置である複数の入力位置を検出し、コンテントの一部又は全てをディスプレイに表示し、前記コンテント上のオブジェクトが前記ディスプレイの表示領域内にあるか表示領域外にあるか決定し、前記オブジェクトが表示領域外にある場合は、前記複数の入力位置のうち、前記オブジェクトとの距離が最も近い入力位置を含む少なくとも1つの位置に
それぞれ対応する位置近傍を
1以上の振動点として振動させ、前記複数の入力位置のうち、
前記1以上の振動点に対応しない入力位置近傍を振動させない。
【0019】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、オブジェクトが存在する方向を適切にユーザに知らせることができる。
【0020】
本発明の別の一態様に係るタッチパネルの制御方法は、前記オブジェクトと前記オブジェクトとの距離が最も近い入力位置との距離に応じて
、前記1以上の振動点における振動を変更する。
【0021】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、オブジェクトが存在する方向を適切にユーザに知らせることができる。
【0022】
本発明の別の一態様に係るタッチパネルの制御方法は、ユーザのなぞり又はタップに応じて前記コンテントをスクロールさせる、タッチパネルデバイスの制御方法であって、前記オブジェクトが表示領域外から表示領域内となったときに、さらに前記タッチパネルを振動させる。
【0023】
この構成によれば、ユーザがオブジェクトが表示領域に入ったことを触覚によりユーザが把握できる。
【0024】
本発明の別の一態様に係るタッチパネルの制御方法は、前記オブジェクトが表示領域について左右方向の表示領域外にある場合と、前記オブジェクトが表示領域について上下方向の表示領域外にある場合とで、
前記1以上の振動点における振動が異なる。
【0025】
この構成によれば、オブジェクトが上下方向か左右方向かどちらの方向に存在するかを適切にユーザに知らせることができる。
【0026】
本発明の一態様に係るタッチパネルデバイスは、マルチタッチが入力できるように構成されたタッチパネルと、複数のアクチュエータと、プロセッサを有し、前記プロセッサは、タッチパネル表面またはその近傍にマルチタッチ入力された、複数の入力を検出し、検出された前記複数の入力の位置である複数の入力位置を検出し、コンテントの全て又は一部をディスプレイに表示し、前記コンテント上のオブジェクトが前記ディスプレイの表示領域内にあるか表示領域外にあるか決定し、前記オブジェクトが表示領域外にある場合は、前記複数の入力位置のうち、前記オブジェクトとの距離が最も近い1つを含む少なくとも1つの位置に
それぞれ対応する位置近傍を
1以上の振動点として振動させ、前記複数の入力位置のうち、
前記1以上の振動点に対応しない入力位置近傍を振動させない、制御を行なう。
【0027】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、オブジェクトが存在する方向を適切にユーザに知らせることができる。
【0028】
本発明の別の一態様に係るタッチパネルデバイスは、前記オブジェクトと前記オブジェクトとの距離が最も近い入力位置との距離に応じて
、前記1以上の振動点における振動を変更する。
【0029】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、オブジェクトが存在する方向を適切にユーザに知らせることができる。
【0030】
本発明の別の一態様に係るタッチパネルデバイスは、ユーザのなぞり又はタップに応じて前記コンテントをスクロールさせる、請求項1記載のタッチパネルデバイスであって、前記オブジェクトが表示領域外から表示領域内となったときに、さらに前記タッチパネルを振動させる。
【0031】
この構成によれば、ユーザがオブジェクトが表示領域に入ったことを触覚によりユーザが把握できる。
【0032】
本発明の別の一態様に係るタッチパネルデバイスは、前記オブジェクトが表示領域について左右方向の表示領域外にある場合と、前記オブジェクトが表示領域について上下方向の表示領域外にある場合とで、
前記1以上の振動点における振動が異なる。
【0033】
この構成によれば、オブジェクトが上下方向か左右方向かどちらの方向に存在するかを適切にユーザに知らせることができる。
【0034】
本発明の別の一態様に係るタッチパネルデバイスは、前記コンテントは地図である、車載用タッチパネルデバイスである。
【0035】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、地図上のオブジェクトが存在する方向を適切にユーザに知らせることができる。
【0036】
本発明の別の一態様に係るタッチパネルデバイスは、前記コンテントは地図、電子ドキュメント、ブックマーク、
及びWebページ
の少なくとも1つを含む。
【0037】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、地図、電子ドキュメント、ブックマーク、又はWebページ上のオブジェクトが存在する方向を適切にユーザに知らせることができる。
【0038】
本発明の一態様に係る触覚入出力装置は、ユーザによるタッチ入力を受け付けて結果を振動により出力するパネルと、前記パネルの互いに異なる位置に設置され、前記パネルを振動させるための複数のアクチュエータと、前記パネルの複数の位置で同時に検出されるタッチ位置を取得するタッチ情報取得部と、前記パネルで同時に検出される複数のタッチ位置の時系列情報に基づいて、タッチ位置の移動方向および移動距離を算出する移動入力判定部と、コンテントを表示する表示部と、コンテント上に存在するオブジェクトが、表示部の表示領域外のどの方向にあるかを判定する方向判定部と、前記複数のタッチ位置とオブジェクトの位置を比較し、(i)オブジェクトとの距離が最短であるタッチ位置を、振動を提示する第1のタッチ位置として決定し、(ii)第1のタッチ位置以外の同時に検出されているタッチ位置を、振動を提示しない第2のタッチ位置として決定する振動提示位置決定部と、前記振動提示位置決定部で決定された第1のタッチ位置に提示する振動を示す触感信号を、前記方向判定部により決定されたオブジェクトの存在方向に基づいて決定する提示振動決定部と、前記第1のタッチ位置に所定の振動を提示し、かつ前記第2のタッチ位置に前記所定の振動を提示しないように各アクチュエータの駆動信号を算出し、算出した前記駆動信号により前記アクチュエータを駆動して前記パネルの振動をタッチ位置別に同時に制御する多点同時振動制御部と前記移動入力判定部で算出されたタッチ位置の移動方向と移動距離に基づいて、コンテントをスクロールして表示部に表示する制御を実行するコンテント制御部とを備える。
【0039】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、オブジェクトが存在する方向を適切にユーザに知らせることができる。また、目的とするオブジェクトを表示領域内に再度表示させるコンテントの移動操作を効率よく達成することができる。
【0040】
本発明の一態様に係る触覚入出力方法は、パネルによりユーザからのタッチ入力に応答して、複数のアクチュエータによる振動により出力する触覚入出力方法であって、前記パネルの複数の位置で同時に検出されるタッチ位置を取得し、前記パネルで同時に検出される複数のタッチ位置の時系列情報に基づいて、タッチ位置の移動方向および移動距離を算出し、コンテントを表示し、コンテント上に存在するオブジェクトが、表示部の表示領域外のどの方向にあるかを判定し、前記複数のタッチ位置のうち、(i)オブジェクトとの距離が最短であるタッチ位置を、振動を提示する第1のタッチ位置として決定し、(ii)第1のタッチ位置以外の同時に検出されているタッチ位置を、振動を提示しない第2のタッチ位置として決定し、決定された第1のタッチ位置に提示する振動を示す触感信号を、前記方向判定部により決定されたオブジェクトの存在方向に基づいて決定し、前記第1のタッチ位置に所定の振動を提示し、かつ前記第2のタッチ位置に前記所定の振動を提示しないようにアクチュエータを駆動し、算出された移動方向と移動距離に基づいて、前記コンテントをスクロールして表示部に表示する。
【0041】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、オブジェクトが存在する方向を適切にユーザに知らせることができる。また、目的とするオブジェクトを表示領域内に再度表示させるコンテントの移動操作を効率よく達成することができる。
【0042】
本発明の一態様に係るコンピュータプログラムは、タッチパネル表面またはその近傍にマルチタッチ入力された、複数の入力を検出し、検出された前記複数の入力の位置である複数の入力位置を検出し、コンテントの一部又は全てをディスプレイに表示し、前記コンテント上のオブジェクトが前記ディスプレイの表示領域内にあるか表示領域外にあるか決定し、前記オブジェクトが表示領域外にある場合は、前記複数の入力位置のうち、前記オブジェクトとの距離が最も近い入力位置を含む少なくとも1つの位置に対応する位置近傍を振動させ、前記複数の入力位置のうち、前記少なくとも1つの位置に対応する位置近傍以外を振動させない、タッチパネルデバイスの制御方法をコンピュータに実行させるためのコンピュータプログラムである。
【0043】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、オブジェクトが存在する方向を適切にユーザに知らせることができる。
【0044】
本発明の別の一態様に係るコンピュータプログラムは、パネルによりユーザからのタッチ入力に応答して、複数のアクチュエータによる振動により出力する触覚入出力方法であって、前記パネルの複数の位置で同時に検出されるタッチ位置を取得し、前記パネルで同時に検出される複数のタッチ位置の時系列情報に基づいて、タッチ位置の移動方向および移動距離を算出し、コンテントを表示し、コンテント上に存在するオブジェクトが、表示部の表示領域外のどの方向にあるかを判定し、前記複数のタッチ位置のうち、(i)オブジェクトとの距離が最短であるタッチ位置を、振動を提示する第1のタッチ位置として決定し、(ii)第1のタッチ位置以外の同時に検出されているタッチ位置を、振動を提示しない第2のタッチ位置として決定し、決定された第1のタッチ位置に提示する振動を示す触感信号を、前記方向判定部により決定されたオブジェクトの存在方向に基づいて決定し、前記第1のタッチ位置に所定の振動を提示し、かつ前記第2のタッチ位置に前記所定の振動を提示しないようにアクチュエータを駆動し、算出された移動方向と移動距離に基づいて、前記コンテントをスクロールして表示部に表示する、触覚入出力方法をコンピュータに実行させるためのコンピュータプログラムである。
【0045】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、オブジェクトが存在する方向を適切にユーザに知らせることができる。また、目的とするオブジェクトを表示領域内に再度表示させるコンテントの移動操作を効率よく達成することができる。
【0046】
本発明の一態様に係るコンピュータ読み取り可能なストレージメディアは、1つ又は複数のプログラムが格納されたコンピュータ読み取り可能なストレージメディアであって、前記1つ又は複数のプログラムは、1つ又は複数のインストラクションを有しており、タッチパネルを有する電子機器によって実行される際に、タッチパネル表面またはその近傍にマルチタッチ入力された、複数の入力を検出し、検出された前記複数の入力の位置である複数の入力位置を検出し、コンテントの一部又は全てをディスプレイに表示し、前記コンテント上のオブジェクトが前記ディスプレイの表示領域内にあるか表示領域外にあるか決定し、前記オブジェクトが表示領域外にある場合は、前記複数の入力位置のうち、前記オブジェクトとの距離が最も近い入力位置を含む少なくとも1つの位置に対応する位置近傍を振動させ、前記複数の入力位置のうち、前記少なくとも1つの位置に対応する位置近傍以外を振動させない、ように前記電子機器に実行させる、コンピュータ読み取り可能なストレージメディアである。
【0047】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、オブジェクトが存在する方向を適切にユーザに知らせることができる。
【0048】
本発明の別の一態様に係るコンピュータ読み取り可能なストレージメディアは、1つ又は複数のプログラムが格納されたコンピュータ読み取り可能なストレージメディアであって、前記1つ又は複数のプログラムは、1つ又は複数のインストラクションを有しており、タッチ入力可能なパネルを有する電子機器によって実行される際に、ユーザから入力された前記パネルの複数の位置で同時に検出されるタッチ位置を取得し、前記パネルで同時に検出される複数のタッチ位置の時系列情報に基づいて、タッチ位置の移動方向および移動距離を算出し、コンテントを表示し、コンテント上に存在するオブジェクトが、表示部の表示領域外のどの方向にあるかを判定し、前記複数のタッチ位置のうち、(i)オブジェクトとの距離が最短であるタッチ位置を、振動を提示する第1のタッチ位置として決定し、(ii)第1のタッチ位置以外の同時に検出されているタッチ位置を、振動を提示しない第2のタッチ位置として決定し、決定された第1のタッチ位置に提示する振動を示す触感信号を、前記方向判定部により決定されたオブジェクトの存在方向に基づいて決定し、前記第1のタッチ位置に所定の振動を提示し、かつ前記第2のタッチ位置に前記所定の振動を提示しないようにアクチュエータを駆動し、算出された移動方向と移動距離に基づいて、前記コンテントをスクロールして表示部に表示するように前記電子機器に実行させる、コンピュータ読み取り可能なストレージメディアである。
【0049】
この構成によれば、ユーザがタッチしているどのタッチ位置に振動を提示させるかを制御することにより、オブジェクトが存在する方向を適切にユーザに知らせることができる。また、目的とするオブジェクトを表示領域内に再度表示させるコンテントの移動操作を効率よく達成することができる。
【0050】
本明細書において、マルチタッチとは、パネルに同時に接触している状態を有する複数のタッチを意味する。換言すれば、マルチタッチとは、ある時点においてパネルに接触している複数のタッチを意味する。つまり、マルチタッチとは、パネル上の複数の位置に対する複数のタッチであって、時間的に重複する複数のタッチを意味する。したがって、マルチタッチは、同時に開始された複数のタッチだけではなく、異なる時刻に開始され、ある時点において同時に検出される複数のタッチを含む。具体的には、第1タッチが開始された後に、第1タッチが継続された状態で第2タッチが開始された場合、第2タッチの開始時点において、第1タッチと第2タッチとはマルチタッチに相当する。
【0051】
以下本発明の実施の形態について、図面を参照しながら説明する。
【0052】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0053】
(実施の形態1)
実施の形態1の触覚入出力装置は、マルチタッチパネルで検出される複数のタッチ位置のうち、目的とするGUI(アイコン、ボタン等)に最も近いタッチ位置に振動を提示し、同時にタッチされているその他のタッチ位置に振動を提示しない。これにより目的とするGUIが存在する方向を提示することができる。
【0054】
例えば、マルチタッチパネルを備えたディスプレイでは、タッチした2つのタッチ位置の距離が離れるように移動させることにより、例えば地図を拡大表示させ、逆に2つのタッチ位置の距離が短くなるように移動させることにより、地図を縮小表示する機能が実現されている。地図を拡大、縮小、または任意方向へスクロールすることにより、目的地周辺の情報を参照する際に、表示されていた目的地などの対象物(アイコンやボタンなどでディスプレイ上に図示される)が、ディスプレイの表示範囲外にでてしまい、地図をどの方向にスクロールすれば、目的地を再度ディスプレイの表示領域内に表示できるのかわからなくなる場合がある。また、マルチタッチパネルを備えたディスプレイがGPSを搭載して現在地に基づいて地図を表示する場合、ディスプレイ装置の移動に伴い地図表示を更新すると、目的地や対象物を示すアイコンやボタンがディスプレイ表示範囲外となることがある。
【0055】
実施の形態1では、表示領域外に存在するオブジェクトの位置を、タッチパネル上に存在する複数のタッチ位置のうち、目的とするオブジェクトに最も近いタッチ位置に振動を提示し、同時にタッチされているその他のタッチ位置に振動を提示しない。これにより、上記のようにオブジェクトが表示範囲外にある場合において、目的とするオブジェクトが存在する方向をユーザに提示する。目的とするオブジェクトを表示領域内に再度表示できるよう、オブジェクトの存在する方向を提示するように考慮したものである。より具体的に、2つのタッチ位置があった場合について説明する。オブジェクトがディスプレイの表示領域を越えた左側に存在する場合には、2つのタッチ位置のうち左側にあるタッチ位置に第1の触感信号による振動を提示し、オブジェクトが右側に存在する場合には、2つのタッチ位置のうち右側にあるタッチ位置に第1の触感信号による振動を提示する。また、オブジェクトがディスプレイの表示領域を越えた上側にある場合には、2つのタッチ位置のうち上側にあるタッチ位置に第2の触感信号による振動を提示し、逆にオブジェクトが表示領域を越えた下側に存在する場合には、2つのタッチ位置のうち下側にあるタッチ位置に第2の触感信号による振動を提示することにより、オブジェクトの存在方向を提示するように考慮したものである。
【0056】
図1Aは、本発明の実施の形態における触覚入出力装置の構成を示すブロック図である。
【0057】
本実施形態の触覚入出力装置100は、パネル101、アクチュエータ102、タッチ情報取得部103、方向判定部104、振動提示位置決定部105、提示振動決定部106、多点同時振動制御部107、移動入力判定部108、コンテント制御部109、表示部110を備える。これに加えて、図示しないが、触覚入出力装置の位置を測定するための位置測定部(GPSモジュール、ジャイロセンサ、電子コンパス等)や地図データを通信(無線LAN、W−CDMA/UMTSやLTEなどの移動通信方式、近距離無線等)によって受信するための通信部及びアンテナを具備することもできる。なお、地図データはメモリに記憶されていてもよい。各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0058】
本発明の実施の形態における触覚入出力装置の例としては、自動車に組み込まれた、あるいは、外付けによる車ナビゲーションシステム、タブレット機器、携帯電話機器、ノート型コンピュータ等である。
【0059】
<地図データを表示するタブレット機器の例>
図1Bは、本触覚入出力装置がタブレット機器310であり、地図データ320を表示する例について説明した図である。タブレット機器310の表示領域は、特に地図を拡大した場合など、地図データ320全体を表示することができない。
図1Bにおける地図データは表示領域外と表示領域内の関係を表すために模式的に示されているが、表示領域外の地図が実際に表示されない。オブジェクトとしてのターゲット地点321は、ユーザがターゲットとして設定した、あるいは、タブレット機器310が自動的に設定した地点である。
図1Bにおいて、ターゲット地点321はタブレット機器310の表示領域外にあるため、表示されない。ユーザが指1及び指2によってマルチタッチした場合、指2とターゲット地点321の方が指1とターゲット地点321との距離よりも近いため、指2に対応するタッチ位置に第1の触感信号による振動を提示する。言い換えると、ターゲット地点321は画面外の右側にあるため、マルチタッチされた複数の位置のうち、より右側にある指2に対応するタッチ位置に対して振動を提示することになる。振動方法(刺激数や振幅など)、振動位置の決定方法は本明細書に記載されたどの方法も適用できる。
【0060】
なお、地図データは世界全体の地図を含むこともできるし、大陸、国、地域などニーズや記憶容量に応じていかなる大きさ地図データでもよい。
【0062】
<パネル101>
パネル101は振動を伝達する部材であり、ユーザのタッチ操作を受け付け、振動することによりタッチ操作が受け付けられたことをユーザに通知する。パネルの材質としては、ガラス、ポリカ、アクリル、ABSなどユーザのタッチ操作に対して耐久性のあるものが好ましい。しかしながらこれらに限定されるものではなく、ユーザに振動がフィードバックできる部材であればよい。
【0063】
なお、パネル101の形状、大きさ、厚さ、硬さおよび固定方法などは、特に限定される必要はない。ただし、パネル101の形状、大きさ、厚さ、硬さおよび固定方法などに依存して、アクチュエータ102からパネル101上の各位置(以後、「点」とも呼ぶ)までの振動の伝達特性は変化する。
【0064】
<アクチュエータ102>
アクチュエータ102は、パネル101を振動させ、ユーザに触覚を提示する。アクチュエータ102として、例えば、圧電素子、振動モータ、ボイスコイル、人工筋肉などを用いることができる。
【0065】
図2は、アクチュエータ102のパネル101への配置の一例である。アクチュエータ102は、例えば、接着剤など(図示しない。アクチュエータ102が圧電素子の場合、エポキシ系の接着剤などを用いればよい。)でパネル101に固定する。
【0066】
本実施の形態では、アクチュエータ102の数を、パネル101をタッチ操作するタッチ位置の数以上とする例で説明する。これにより、アクチュエータ102の数M(Mは2以上の整数)と同数の同時に検出されるタッチ位置に対して、互いに異なる振動を提示することができる。本実施の形態においては、
図2に示すように、アクチュエータ102の数は4、タッチ位置の数は2(指1および指2)とした。
【0067】
アクチュエータ102の配置位置は、特に限定される必要はない。例えば、複数のアクチュエータ102は、パネル101を効率良く振動させることができるように配置されればよい。また、アクチュエータ102の数を4としたが、これに限るものではない。
【0068】
<タッチ情報取得部103>
タッチ情報取得部103は、パネル101に対するユーザの複数のタッチ位置を取得する。
【0069】
説明の便宜上、
図2に示すように、例えば2本の指、指1および指2でタッチ操作されている場合、時刻tにおける指1および指2の2つのタッチ位置をそれぞれP1(x1(t)、y1(t))、P2(x2(t)、y2(t))で表す。
図2では、紙面に対して表示部110の左上隅を原点Oとする2次元平面のxy座標を用いてタッチ位置を表す。
【0070】
タッチ情報取得部103としては、例えば静電容量方式や抵抗膜方式などのマルチタッチパネルを用いることができる。例えば、タッチ情報取得部103が静電容量方式のマルチタッチパネルで構成される場合、タッチ情報取得部103は、マルチタッチによる静電容量の変化に基づいて複数のタッチ位置を取得する。また例えば、タッチ情報取得部103が感圧方式のマルチタッチパネルで構成される場合、タッチ情報取得部103は、マルチタッチによる圧力の変化に基づいて、複数のタッチ位置を取得する。
【0071】
なお、マルチタッチの検出は、静電容量方式あるいは感圧方式のマルチタッチパネルに限定される必要はない。どのような方式のマルチタッチ検出方式であっても構わない。例えば、指の位置をCCDやCMOSカメラで撮影して画像処理により取得してもよい。あるいはパネル101を透明のアクリル部材としてパネル101の側壁から赤外光を入射すると全反射の性質によりパネル101内に赤外光が閉じ込められるが、タッチ操作によるパネル101のひずみにより漏れた赤外光を、赤外フィルタを備えたカメラにより検出するFTIR(Frustrated Total Internal Reflection)方式などを用いてもよい。
【0072】
<方向判定部104>
方向判定部104は、
図3Aに示すように、コンテント(又はコンテンツ)3上に存在するオブジェクト4が、表示部110の表示領域(矩形ABCD)に対してどの方向にあるかを判定する。ここでは、説明の便宜上、
図3Aにおいては、タッチ位置P1、P2を表すo−xy座標系と、コンテント13上の2次元位置を表す座標系(図示しない)を統合したO−XY座標系を用いて、方向判定の概要を説明する。紙面に対して表示部110の左上隅を原点oとする2次元平面のxy座標と、統合座標系O−XYの関係は次の通りである。x軸は表示部110の長辺上(長軸方向)で定義し、統合座標系のX軸と平行とする。また、y軸は表示部110の短辺上(短軸方向)で定義し、統合座標系のY軸と平行とする。また、紙面に対して表示部110の左上隅である原点oの統合座標系における座標値を(R
L,R
T)とし、紙面に対して表示部110の右下隅の座標値を(R
R,R
B)とする。このとき、表示部110の表示領域(矩形ABCD)に対して、オブジェクト4(X
O(t)、Y
O(t))が存在する方向を、表示部110の表示領域(矩形ABCD)の上端の座標値R
T、下端の座標値R
B、左端の座標値R
L、右端の座標値R
Rを用いて判定する。
図3Aの例では、オブジェクト4の座標値(X
O(t)、Y
O(t))とR
T、R
B、R
L、R
Rを比較し、オブジェクト4は、紙面に対して、表示部110の上端R
Tより上側の方向、かつ、表示部110の右端R
Rより右側の方向に存在すると判定する。
【0073】
例えばコンテント13としては地図、オブジェクト4としては目的地位置の表示アイコン(以下、目的地とも呼ぶ)とすることができる。なお、コンテント13およびオブジェクト4としては、これに限らず、電子的なドキュメントとすることができる。電子的なドキュメントとしては、例えばコンテント13はWebページ、オブジェクト4はハイパーリンクの位置や画像などのコンテントとすることができる。また、コンテント13を電子ブック、オブジェクト4はブックマークとすることができる。すなわち、表示部110に表示する電子コンテントであって、ユーザがページ移動やスクロール操作をすることにより、オブジェクトが表示領域外にでることがあるものに対して、特に本発明は有効である。
【0074】
<振動提示位置決定部105>
振動提示位置決定部105は、複数のタッチ位置とオブジェクト4の位置を比較し、オブジェクト4との距離が最短であるタッチ位置を振動を提示する第1のタッチ位置として決定し、第1のタッチ位置以外の同時に検出されているタッチ位置を振動を提示しない第2のタッチ位置として決定する。最短距離は、X軸上での距離、Y軸上での距離をそれぞれ算出し、より短いほうの距離を最短距離とする。
図3Aにおいて、タッチ位置P1、P2の統合座標系O−XYでの座標値はそれぞれ(X1(t)、Y1(t))、(X2(t)、Y2(t))であり、オブジェクト4の座標値(X
O(t)、Y
O(t))と比較すると、X軸上での最短距離はX
O(t)−X2(t)であり、Y軸上での最短距離はY
O(t)−Y2(t)であり、どちらの最短距離を選択しても、振動を提示する第1のタッチ位置はP2となり、第1のタッチ位置以外、この場合、タッチ位置P1を振動を提示しない第2のタッチ位置として決定する。
【0075】
これによりユーザは、タッチしている複数のタッチ位置のうち、オブジェクト4に最も近いタッチ位置を振動の有無により確認することができる。
図3Aの例においては、紙面に対して右側の指(タッチ位置P2)に振動が提示され、左側の指(タッチ位置P1)には振動が提示されないことになる。このとき、ユーザは、右側にオブジェクト4があるから右側の指(タッチ位置P2)に振動が提示されているのか、右側の指は左側の指に対して上側にあるので、オブジェクト4が上側にあるから上側の指(タッチ位置P2)に対して振動が提示されているのかは区別できない。そのため、これらを区別できるようにするため、提示振動決定部で、ユーザに提示する振動を決定する。
【0076】
なお、単純にタッチ位置P1,P2のそれぞれとオブジェクト4との直線距離を算出し、より短いほうの距離を最短距離として、最短距離となるタッチ位置を振動を提示するタッチ位置として決定してもよい。
【0077】
<提示振動決定部106>
提示振動決定部106は、振動提示位置決定部105で決定された第1のタッチ位置に提示する振動を示す触感信号を、方向判定部104により決定されたオブジェクト4の存在方向に基づいて決定する。触感信号としては、例えば、オブジェクト4が、紙面に対して表示部110の左端より左の方向または右端より右の方向に存在するときは第1の触感信号を用い、紙面に対して表示部110の上端より上の方向または下端より下の方向に存在するときは第2の触感信号を用いる。第1および第2の信号としては、振動刺激の回数、周波数、振幅などユーザが違いを識別できる信号を用いればよく、例えば、第1の触感信号としては、
図4Aに示す1回刺激信号を用い、第2の触感信号としては、
図4Bに示す2回刺激信号を用いることができる。
【0078】
例えば
図3Aの場合、オブジェクト4の位置とタッチ位置P1,P2との最短距離は、X軸上での最短距離はX
O(t)−X2(t)となるので、
図4Aに示す1回刺激信号を提示することにより、ユーザは右側にオブジェクト4が存在することを確認することができる。
【0079】
<多点同時振動制御部107>
多点同時振動制御部107は、前記第1のタッチ位置に前記触感信号が示す振動を提示し、かつ前記第2のタッチ位置に振動を提示しないように各アクチュエータの駆動信号を算出し、算出した前記駆動信号により前記アクチュエータを駆動して前記パネルの振動をタッチ位置別に同時に制御する。
【0080】
<移動入力判定部108>
移動入力判定部108は、タッチ情報取得部103により取得される複数タッチ位置の時系列情報に基づいて、タッチ位置の移動距離を算出する。ユーザは多点同時振動制御部107により振動が提示されるタッチ位置と触感信号の種類に基づいて、オブジェクト4が存在する方向を認識し、表示部110の表示領域内にオブジェクト4を表示させるため、算出したタッチ位置の移動距離に基づいてコンテント13をスクロールする。
【0081】
<コンテント制御部109>
コンテント制御部109は、移動入力判定部108で算出されたタッチ位置の移動方向と移動距離に基づいて、コンテント13をスクロールして表示部110に表示する。さらに、コンテント13を前記移動方向と移動距離に基づいて移動させた結果、オブジェクト4が表示部110の表示領域内に入れば処理を終了し、表示領域内に入らなければ、タッチ情報取得部103に戻ってタッチ位置を取得して、方向判定部104によりオブジェクト4の存在方向を判定して、多点同時振動制御部107によりオブジェクトの存在方向を振動により提示することを繰り返す。表示部110としてはLCD、有機EL、電子ペーパなどのディスプレイを用いることができる。
【0082】
<動作>
上記のように構成された本実施の形態1の触覚入出力装置100の動作を
図3から
図15に基づいて説明する。
【0083】
図5は本発明の実施の形態における触覚入出力装置100の動作を示すフローチャートであり、これに基づいて本実施の形態1における触覚入出力装置100の動作を詳細に説明する。
【0084】
本実施の形態1では、
図3Aから
図3Cに示すように、表示部110に表示されたコンテント13をスクロール制御する電子機器10に触覚入出力装置100を搭載した例で説明する。例えば、表示部110の表示領域外に存在するスクロール操作可能なコンテント13(例えば地図)上のオブジェクト4(例えば目的地を示す表示アイコン)の方向を、パネル101にタッチしている複数のタッチ位置のうち、オブジェクト4に近いタッチ位置にのみ振動を提示することによりユーザに認識させる例で説明する。
【0085】
(ステップS101:タッチ情報取得)
タッチ情報取得部103は、パネル101に対するユーザの複数のタッチ位置を取得する。
【0086】
図3Aの例では、例えば2本の指、指1および指2でタッチ操作されている場合、時刻tにおける指1および指2の2つのタッチ位置をそれぞれP1(x1(t)、y1(t))、P2(x2(t)、y2(t))を取得する。タッチ位置P1,P2は例えば10msなどのサンプリング間隔で時系列情報として取得する。
【0087】
(ステップS102:オブジェクト方向判定)
方向判定部104は、
図3A、
図3B、
図3Cに示すように、コンテント13上に存在するオブジェクト4が、表示部110の表示領域(矩形ABCD)に対してどの方向にあるかを判定する。ここでは、説明の便宜上、
図3A、
図3B、
図3Cにおいては、パネル101上のタッチ位置P1、P2を表すo−xy座標系と、コンテント13上の2次元位置を表す座標系(図示しない)を統合したO−XY座標系を用いて、方向判定の概要を説明する。オブジェクト4の座標をL
O(X
O(t)、Y
O(t))で表す。紙面に対して表示部110の左上隅を原点oとする2次元平面のxy座標と、統合座標系O−XYの関係は次の通りである。x軸は表示部110の長辺上で定義し、統合座標系のX軸と平行とする。また、y軸は表示部110の短辺上で定義し、統合座標系のY軸と平行とする。また、紙面に対して表示部110の左上隅である原点oの統合座標系における座標値を(R
L,R
T)とし、紙面に対して表示部110の右下隅の座標値を(R
R,R
B)とする。このとき、表示部110の表示領域(矩形ABCD)に対して、座標値がL
O(X
O(t)、Y
O(t))であるオブジェクト4が存在する方向を、表示部110の表示領域(矩形ABCD)の上端の座標値R
T、下端の座標値R
B、左端の座標値R
L、右端の座標値R
Rを用いて判定する。
図3Aの例では、オブジェクト4の座標値L
O(X
O(t)、Y
O(t))とR
T、R
B、R
L、R
Rを比較し、オブジェクト4は、紙面に対して、表示部110の上端R
Tより上側の方向、かつ、表示部110の右端R
Rより右側の方向に存在すると判定する。
図3Bの例は、タッチ位置P1,P2を移動させて紙面に対して左側の方向へコンテント13をスクロールした例である。
図3Bの場合も同様に、オブジェクト4の座標値L
O(X
O(t)、Y
O(t))とR
T、R
B、R
L、R
Rを比較し、オブジェクト4は、紙面に対して、表示部110の上端R
Tより上側の方向、かつ、表示部110の左端R
Lと右端R
Rの間の方向に存在すると判定する。
図3Cの例は、タッチ位置P1,P2を移動させて紙面に対して下側の方向へコンテント13をスクロールした例である。
図3Cの場合も同様に、オブジェクト4の座標値L
O(X
O(t)、Y
O(t))とR
T、R
B、R
L、R
Rを比較し、オブジェクト4は、紙面に対して、表示部110の上端R
Tと上端R
Bの間に存在し、かつ、表示部110の左端R
Lと右端R
Rの間に存在すると判定する。すなわちこの場合は、表示部110の表示領域(矩形ABCD)にオブジェクト4が表示されたと判定する。
【0088】
例えばコンテント13としては地図、オブジェクト4としては目的地位置の表示アイコン(以下、目的地とも呼ぶ)とすることができる。なお、コンテント13およびオブジェクト4としては、これに限らず、電子的なドキュメントとすることができる。電子的なドキュメントとしては、例えばコンテント13はWebページ、オブジェクト4はハイパーリンクの位置や画像などのコンテントとすることができる。また、コンテント13を電子ブック、オブジェクト4はハイライトやブックマークとすることができる。すなわち、表示部110に表示する電子コンテントであって、ユーザがページ移動やスクロール操作をすることにより、オブジェクトが表示領域外にでることがあるものに対して、特に本実施の形態は有効である。
【0089】
(ステップS103:振動提示位置決定)
振動提示位置決定部105は、複数のタッチ位置とオブジェクト4の位置を比較し、オブジェクト4との距離が最短であるタッチ位置を振動を提示する第1のタッチ位置として決定し、第1のタッチ位置以外の同時に検出されているタッチ位置を振動を提示しない第2のタッチ位置として決定する。最短距離は、X軸上での距離、Y軸上での距離をそれぞれ算出し、より短いほうの距離を最短距離とする。
図3Aにおいて、統合座標系O−XYでのタッチ位置P1、P2の座標値はそれぞれ(X1(t)、Y1(t))、(X2(t)、Y2(t))であり、オブジェクト4の座標値L
O(X
O(t)、Y
O(t))と比較すると、X軸上での最短距離はX
O(t)−X2(t)であり、Y軸上での最短距離はY
O(t)−Y2(t)であり、どちらの最短距離を選択しても、振動を提示する第1のタッチ位置はP2となり、第1のタッチ位置以外、この場合、タッチ位置P1を振動を提示しない第2のタッチ位置として決定する。すなわち、
図3Aの場合、斜線で示される指2に振動が提示され、指1には振動を提示しない。
図3Bの場合も同様に、統合座標系O−XYでのタッチ位置P1、P2の座標値はそれぞれ(X1(t)、Y1(t))、(X2(t)、Y2(t))であり、オブジェクト4の座標値L
O(X
O(t)、Y
O(t))と比較すると、X軸上での最短距離はX
O(t)−X2(t)であり、Y軸上での最短距離はY
O(t)−Y2(t)であり、どちらの最短距離を選択しても、振動を提示する第1のタッチ位置はP2となり、第1のタッチ位置以外、この場合、タッチ位置P1を振動を提示しない第2のタッチ位置として決定する。すなわち、
図3Bの場合も、斜線で示される指2に振動が提示され、指1には振動を提示しない。
図3Cの場合も同様に、タッチ位置P1、P2の座標値はそれぞれ(X1(t)、Y1(t))、(X2(t)、Y2(t))であり、オブジェクト4の座標値L
O(X
O(t)、Y
O(t))と比較すると、X軸上での最短距離はX
O(t)−X2(t)であり、Y軸上での最短距離はY
O(t)−Y2(t)であり、どちらの最短距離を選択しても、振動を提示する第1のタッチ位置はP2となり、第1のタッチ位置以外、この場合、タッチ位置P1を振動を提示しない第2のタッチ位置として決定する。すなわち、
図3Bの場合も、斜線で示される指2に振動が提示され、指1には振動を提示しない。
【0090】
上記の振動提示位置の決定により、ユーザは、タッチしている複数のタッチ位置のうち、オブジェクト4に最も近いタッチ位置を振動の有無により確認することができる。
図3Aの例においては、紙面に対して右側の指(タッチ位置P2)に振動が提示され、左側の指(タッチ位置P1)には振動が提示されない。このとき、ユーザは、右側にオブジェクト4が存在し、左側の指1(タッチ位置P1)より右側にあって、よりオブジェクト4に対して距離が近い右側の指2(タッチ位置P2)に振動が提示されているのか、右側の指2(タッチ位置P2)は左側の指1(タッチ位置P1)に対して上側にあるので、オブジェクト4が上側にあって、よりオブジェクト4への距離が近くなる指2(タッチ位置P2)に対して振動が提示されているのかは区別できない。これらを区別できるようにするため、本実施の形態では2種類の振動を用いる。次のステップS104で、提示振動決定部106により、ユーザに提示する2つの振動を決定する。
【0091】
なお、単純にタッチ位置P1,P2のそれぞれとオブジェクト4との直線距離を算出し、より短いほうの距離を最短距離として、最短距離となるタッチ位置を振動を提示するタッチ位置として決定してもよい。
【0092】
(ステップS104:提示振動決定)
提示振動決定部106は、振動提示位置決定部105で決定された第1のタッチ位置に提示する振動を示す触感信号を、方向判定部104により決定されたオブジェクト4の存在方向に基づいて決定する。触感信号としては、例えば、オブジェクト4が、紙面に対して表示部110の左端より左の方向または右端より右の方向に存在するときは第1の触感信号を用い、紙面に対して表示部110の上端より上の方向または下端より下の方向に存在するときは第2の触感信号を用いる。
【0093】
より具体的には、オブジェクト4の座標値X
O(t),Y
O(t)がそれぞれ[R
L,R
R]、[R
T,R
B]の範囲内であるかを判定し、X
O(t),Y
O(t)の少なくとも一方が範囲外の場合、範囲外であるオブジェクトの座標値について、最短の距離となるR
L、R
R、R
T、R
Bを選択して、R
LまたはR
Rが選択されたときは第1の触感信号を用い、R
TまたはR
Bが選択されたときは第2の触感信号を用いると決定する。
【0094】
例えば、
図3Aの場合、オブジェクト4の座標値X
O(t),Y
O(t)はいずれも、それぞれ[R
L,R
R]、[R
L,R
R]の範囲外であり、オブジェクト4から最短距離となるのは右端であるR
Rとなるため第1の触感信号選択がされ、かつ、オブジェクト4との距離が最短となる右側の指2のタッチ位置P2にある指2に振動を提示し、タッチ位置P1には振動を提示しない。これにより、
図3Aの場合は、まず、ユーザは、オブジェクト4は表示部110の右端R
Rより右側にあることを確認できる。次に、ユーザは、
図3Bに示すように、表示部110の右側にあると通知されたオブジェクト4を、コンテント13を紙面に対して左側の方向へスクロールし、表示部110の表示範囲内に表示するために移動させる。このとき、オブジェクト4の座標値X
O(t),Y
O(t)がそれぞれ[R
L,R
R]、[R
T,R
B]の範囲内であるかを判定し、
図3Bの場合、Y
O(t)が[R
T,R
B]の範囲外であるため、オブジェクト4からの最短距離は上端であるR
Tとなるため第2の触感信号が選択され、かつ、オブジェクト4との距離が最短となる上側の指2のタッチ位置P2にある指2に振動を提示し、タッチ位置P1には振動を提示しない。これにより、
図3Bの場合、ユーザは、オブジェクト4は表示部110の上端R
Tより上側にあることを確認できる。次に、ユーザは、
図3Cに示すように、表示部110の上側にあると通知されたオブジェクト4を、コンテント13を紙面に対して下側の方向へスクロールし、表示部110の表示範囲内に表示するために移動させる。このとき、オブジェクト4の座標値X
O(t),Y
O(t)がそれぞれ[R
L,R
R]、[R
T,R
B]の範囲内であるかを判定し、
図3Cの場合、X
O(t),Y
O(t)がいずれも範囲であるため、オブジェクト4が表示部110の表示エリア内に表示されていると判定する。この場合、パネル101の振動は停止してもよいし、オブジェクト4と距離が最短であるタッチ位置を第1のタッチ位置として振動を提示し続けてもよい。
【0095】
上記第1触感信号および第2の触感信号としては、振動刺激の回数、周波数、振幅、提示する時間長などユーザが違いを識別できる信号を用いればよく、例えば、第1の触感信号としては、例えば、
図4Aに示す刺激信号を用い、第2の触感信号としては、
図4Bに示す刺激信号を用いることができる。
図4Aに示す触感信号は以下の式(1)により生成したものである。
図4Aは、周波数fcの正弦波のr周期分の信号に基づいて前記触感信号をs(n)生成しており、r周期がちょうど半周期になるような変調周波数fmを用いて正弦波を変調したものである。
【0097】
ここで、Tsは、サンプリング周期を表す。
図4Aの例では、fc=200Hz、r=10であるので、変調周波数fmは10Hzである。このように生成された触感信号は、物理的なスイッチを1回クリックしたような触感を提示するための信号(以下、1回刺激信号と呼ぶ。)として用いることができ、これにより、ユーザは前記設定値が1だけ増減したことを触覚により確認できる。
【0098】
同様に、
図4Bはr周期がちょうど1周期になるような変調周波数fmを用いて正弦波を変調したものであり、物理的なスイッチを2回連続してクリックしたような触感を提示するための信号(以下、2回刺激信号と呼ぶ。)として用いることができる。
【0099】
なお、触感信号は、必ずしも上記のように生成された信号である必要はない。例えば、式(1)に示すような変調が行われる必要はない。つまり、触感信号として、正弦波を用い、その提示する時間長が異なるものを第1の触感信号および第2の触感信号としてもよい。
【0100】
なお、周波数fcは、人間が触覚により感知できる周波数であればどのような周波数であってもよい。例えば、周波数fcは、パネル101の振動特性に基づいて決定されればよい。
【0101】
例えば、周波数fcは、パネル101の共振周波数と一致するように決定されてもよい。周波数fcがこのように決定されることにより、アクチュエータ102によってパネル101に与えられた振動の減衰を少なくすることができ、効率良く触感を呈示することができる。
【0102】
(ステップS105:多点同時振動制御)
多点同時振動制御部107は、ステップS103およびステップ104で決定された第1のタッチ位置に前記第1または第2の触感信号が示す振動を提示し、かつ前記第2のタッチ位置に前記振動を提示しないように各アクチュエータの駆動信号を算出し、算出した前記駆動信号により前記アクチュエータを駆動して前記パネルの振動をタッチ位置別に同時に制御する。
【0103】
具体的には、ステップ104で決定された触感信号に基づいて、オブジェクトが表示部110の表示領域の左側に存在する場合には、2つのタッチ位置のうち左側にあるタッチ位置に第1の触感信号による振動を提示し、オブジェクトが右側に存在する場合には、2つのタッチ位置のうち右側にあるタッチ位置に第1の触感信号による振動を提示する。また、オブジェクトが表示部110の表示領域の上側にある場合には、2つのタッチ位置のうち上側にあるタッチ位置に第2の触感信号による振動を提示し、逆にオブジェクトが下側に存在する場合には、2つのタッチ位置のうち下側にあるタッチ位置に第2の触感信号による振動を提示する。
【0104】
なお、多点同時振動制御部107は、タッチ位置P1,P2がタッチ情報取得部103により検出されたタイミングで常にパネル101を振動させてもよいし、所定の時間間隔で振動の提示と停止を繰り返してもよい。また、タッチ位置が1点のときは振動させず、2点のときのみ、方向を提示する振動制御を行うことにより、1本指でコンテント13をスクロールしながら、オブジェクトの方向を知りたくなったタイミングで2点目をタッチすることにより、必要なタイミングでのみ、振動により方向情報を提示でき、ユーザにとって、また消費電力的にも、不必要なパネル振動を抑制することができる。多点同時振動制御部107の具体的な構成と動作の一例については後述する。
【0105】
(ステップS106:移動入力判定)
移動入力判定部108は、タッチ情報取得部103により取得される複数タッチ位置の時系列情報に基づいて、タッチ位置の移動方向および移動距離を算出する。ユーザは多点同時振動制御部107により振動が提示されるタッチ位置と触感信号の種類に基づいて、オブジェクト4が存在する方向を認識し、表示部110の表示領域内にオブジェクト4を表示させるため、算出したタッチ位置の移動方向および移動距離に基づいてコンテント13をスクロールする。
【0106】
タッチ位置の移動方向は次のように算出する。ここでは、ステップS101で取得するタッチ位置の時系列情報により、指をパネル101上にタッチしたままタッチ位置を移動させるときの移動方向を算出する。具体的には、サンプリング間隔Δtごとのタッチ位置P1の移動方向を表す移動ベクトルはv1(x1(t)−x1(t−1),y1(t)−y1(t−1))、タッチ位置P2の移動ベクトルはv2(x2(t)−x2(t−1),y2(t)−y2(t−1))で算出する。ただし、(t−1)は1サンプル前の時刻を表す。
図3Bにコンテント13をスクロールする移動入力の一例を示す。
図3Bは、紙面に対して左側へタッチ位置を移動させることにより、コンテント13を左側へスクロールする例を示している。パネル101上のタッチ位置P1、P2を表すo−xy座標系と、コンテント13上の2次元位置を表す座標系(図示しない)を統合したO−XY座標系において、指1、指2はそれぞれ、時刻(t−1)において、同時にパネル101にタッチしており、タッチ位置P1,P2はそれぞれX1(t−1)、X2(t−1)である。指1、指2のタッチ位置P1,P2の移動方向はそれぞれ、v1=X1(t)−X1(t−1)、v2=X2(t)−X2(t−1)である。同様に、
図3Cは、紙面に対して下側へタッチ位置を移動させることにより、コンテント13を下側へスクロールする例を示している。このとき、指1、指2のタッチ位置P1,P2の移動方向はそれぞれ、v1=Y1(t)−Y1(t−1)、v2=Y2(t)−Y2(t−1)である。
【0107】
タッチ位置の移動距離は次のように算出する。ユーザが指1でパネル101にタッチした時刻(t=0、移動開始位置P1(X1(0),Y1(0))から時刻t(タッチ位置P1(X1(t)、Y1(t)))までのタッチ位置の移動距離d1(t)を、式(2)により求める。ここで、時刻tで取得したタッチ位置P1(X1(t)、Y1(t))と、時刻(t−Δt)で取得したタッチ位置P1(X1(t−1)、Y1(t−1))が同じであるとき、あるいは、P1(X1(t)、Y1(t))とP1(X1(t−1)、Y1(t−1))の距離が所定の距離より小さいとき、指1のなぞりによるタッチ位置P1の移動は停止したと判定する。タッチ位置の移動が停止したと判定されたとき、移動開始位置をP1(X1(0),Y1(0))で初期化する。また、タッチ位置の移動が停止したと判定された時刻を基点として、サンプリング間隔Δtごとに、タッチ位置の移動が停止したのと同じ位置にタッチが静止しているかを確認し静止時間t1sを記録し更新する。指2によるタッチ位置P2の移動距離d2(t)も式(2)により同様に算出し、P2の静止時間t2sも同様に記録し、更新する。
【0109】
(ステップS107:コンテント制御)
コンテント制御部109は、ステップS106で移動入力判定部108で算出されたタッチ位置の移動方向と移動距離に基づいて、コンテント13をスクロールして表示部110に表示する。
【0110】
図6に、タッチ位置の移動方向と移動距離に基づくコンテント13の制御パターンの一例を示す。
【0111】
制御パターン[1]は、タッチ情報取得部103で検出されるタッチ数が1であり、かつタッチ位置P1が移動ベクトルv1の方向へ移動している場合であり、このとき、式(2)で算出される移動距離d1だけコンテント13を移動させる表示制御を行う。具体的には、例えば、コンテント13全体を移動ベクトルv1により移動させる。これにより、オブジェクト4の座標値(X
O(t)、Y
O(t))は、(X
O(t−1)+(X1(t)−X1(t−1)),Y
O(t−1)+(Y1(t)−Y1(t−1)))へ移動する。例えば、
図3Bの場合、(X
O(t)、Y
O(t))は、(X
O(t−1)+(X1(t)−X1(t−1)),Y
O(t−1))に移動し、
図3Cの場合、(X
O(t−1),Y
O(t−1)+(Y1(t)−Y1(t−1)))へ移動する。
【0112】
制御パターン[2]は、タッチ情報取得部103で検出されるタッチ数が1であり、かつタッチ位置P1が移動ベクトルv1の方向へ移動し、式(2)で算出される移動距離d1が所定の閾値D以上で、かつタッチ位置の静止時間t1sが所定の閾値Ts以上の場合であり、すなわち、タッチ位置が所定の距離だけ移動したあと静止を継続する場合に、コンテント13を移動ベクトルv1の方向へ連続的にスクロールする。これにより、オブジェクト4の座標を所定の時間ごとにL
O+αv1だけ移動させる。ただしαは正の定数である。
【0113】
制御パターン[3]は、タッチ情報取得部103で検出されるタッチ数が2、かつタッチ位置P1,P2の移動方向v1とv2が同一のとき、式(2)で算出される移動距離d1またはd2だけコンテント13を移動させる表示制御を行う。具体的には、コンテント13を移動ベクトルv1またはv2の方向へスクロールする。これにより、オブジェクト4の座標は(L
O+v1)または(L
O+v2)だけ移動される。ただしαは正の定数である。
【0114】
制御パターン[4]は、タッチ情報取得部103で検出されるタッチ数が2、かつタッチ位置P1,P2の移動方向v1とv2が同一、かつ式(2)で算出される移動距離d1またはd2が所定の閾値D以上、かつタッチ位置P1,P2の静止時間t1s、t2sのいずれも所定の閾値Ts以上の場合であり、すなわち、タッチ位置P1,P2が同一方向に所定の距離だけ移動したあと静止を継続する場合に、コンテント13を連続的に移動させる表示制御を行う。具体的には、コンテント13を移動ベクトルv1またはv2の方向へ連続的にスクロールする。これにより、オブジェクト4の座標を所定の時間ごとに(L
O+αv1)または(L
O+αv2)だけ移動させる。ただしαは正の定数である。
【0115】
タッチ位置P1,P2の移動方向の同一性は、例えば、移動ベクトルv1、v2のなす角θのcosの値が所定の閾値より小さいときに同一であると判定する。また、コンテント13をスクロールする移動ベクトルは、移動ベクトルv1、v2のうちいずれかを任意で選択すればよく、例えば、上記手順で算出した移動距離が大きいほうの移動ベクトルを選択すればよい。
【0116】
(ステップS108:表示判定)
コンテント制御部109は、コンテント13を前記移動方向と移動距離に基づいて移動させた結果、オブジェクト4が表示部110の表示領域内に入れば処理を終了し、表示領域内に入らなければ、ステップS101に戻り、タッチ情報取得部103によりタッチ位置を取得して、方向判定部104によりオブジェクト4の存在方向を判定して、振動提示位置決定部105により、振動を提示するタッチ位置を決定し、提示振動決定部106により提示する触感信号を決定し、多点同時振動制御部107によりオブジェクトの存在方向を振動により提示することをオブジェクト4が表示部110の表示領域に入るまで繰り返す。
【0117】
上記の構成と動作により、本実施の形態1にかかる触覚入出力装置100は、表示領域外に存在するオブジェクトの位置を、タッチパネル上に存在する複数のタッチ位置のうち、目的とするオブジェクトに最も近いタッチ位置に振動を提示し、同時にタッチされているその他のタッチ位置に振動を提示しない。より具体的には、オブジェクトがディスプレイの表示領域の左側に存在する場合には、2つのタッチ位置のうち左側にあるタッチ位置に第1の触感信号による振動を提示し、オブジェクトが右側に存在する場合には、2つのタッチ位置のうち右側にあるタッチ位置に第1の触感信号による振動を提示し、また、オブジェクトがディスプレイの表示領域の上側にある場合には、2つのタッチ位置のうち上側にあるタッチ位置に第2の触感信号による振動を提示し、逆にオブジェクトが下側に存在する場合には、2つのタッチ位置のうち下側にあるタッチ位置に第2の触感信号による振動を提示することにより、オブジェクトの存在方向を提示する。
【0118】
これにより、目的とするオブジェクトが存在する方向をユーザに提示することができ、目的とするオブジェクトを表示領域内に再度表示させるコンテントの移動操作を効率よく達成することができる。
【0119】
なお、上記の実施の形態1の説明では、オブジェクト4は1つの例で説明したが、これに限らず、第1の実施の形態の変形例として、例えば、複数のオブジェクトに対してタッチ数を割り当て、タッチ数によって、方向を提示するオブジェクトを変更できることはいうまでもない。これにより、電子ドキュメント上にマークした複数のハイライト部分を再表示する操作に対して、タッチ位置の数によって、ドキュメントをスクロールすべき方向を切り替えて提示することができる。また、Webコンテントなどのスクロールにおいても、例えば2本指でダブルタップした位置や、3本指でダブルタップした位置を、タッチ数と対応付けられた目的地として登録し、それらが存在する方向をタッチ数に応じて振動により提示できることはいうまでもない。
【0120】
なお、実施の形態1では、オブジェクトが表示領域の上下または左右のどちらにあるのかを、タッチ位置の上下または左右の位置関係と2種類の触感信号により、オブジェクトに最も近いタッチ位置を振動させ、その他のタッチ位置を振動させないことによりユーザに認識させる例で説明したが、これに限らず、第1の実施の形態の変形例として、
図7Aに示すように、3つの指でパネル101にタッチする場合には、表示部110の左側にオブジェクト4が存在するときには最も左側のタッチ位置(例えば人差し指)にのみ第1の触感信号による振動を提示し、表示部110の右側にオブジェクト4が存在するときには最も右側のタッチ位置(例えば薬指)にのみ第1の触感信号による振動を提示する。上下方向の提示については、3つのタッチ位置のうち中央のタッチ位置(例えば中指)にのみ第1の触感信号による振動を提示することによりオブジェクトが上側に存在することを示し、第2の触感信号による振動を提示することによりオブジェクトが下側に存在することを示してもよい。
【0121】
また、第1の実施の形態の別の変形例として、
図7Bに示すように、3つの指でパネル101にタッチする場合には、2つのタッチ位置を組みにして振動を提示することにより、上(領域[2])、下(領域[7])左(領域[4])右(領域[5])の方向だけでなく、斜め方向(領域[1]、領域[3]、領域[6]、領域[8]、)を振動により提示することができる。
【0122】
なお、実施の形態1の変形例として、ディスプレイの表示範囲外のオブジェクトの方向だけでなく、表示範囲内のボタンへ指を誘導できることはいうまでもない。
【0123】
なお、本実施の形態では、タッチパネル平面を含む2次元平面上でのオブジェクトの方向を提示する例で説明したが、さらにジャイロセンサやGPSと組み合わせることにより、屋外環境で、目的地のある方向を振動により提示できることはいうまでもない。
【0124】
<多点同時振動制御部107の構成と動作の一例の説明>
ここで、ステップS106の動作にかかる、第1の実施の形態の構成要素である多点同時振動制御部107の構成と動作の一例を説明する。
図8は多点同時振動制御部のより詳細な構成を表すブロック図を示す。本実施の形態の多点同時振動制御部107は、伝達特性記憶部201、伝達特性取得部202、フィルタ算出部203、触感信号記憶部204、フィルタ算出部205を備える。以下、各構成要素と動作について説明する。
【0125】
<伝達特性記憶部201>
伝達特性記憶部201は、例えば、ハードディスクあるいは半導体メモリである。伝達特性記憶部201は、パネル101上の各点について、各アクチュエータ102から当該点までの伝達特性を記憶している。つまり、伝達特性記憶部201は、パネル101上の複数の位置および複数のアクチュエータ102について、位置とアクチュエータ102との組合せに対応付けて伝達特性を記憶している。
【0126】
伝達特性は、システムにおける入力と出力との関係を示す。ここでは、アクチュエータの駆動信号が入力に相当し、パネル上の1点における振動が出力に相当する。一般的に、伝達特性G(ω)は、系への入力X(ω)に対する系からの出力Y(ω)の比で表わされる(G(ω)=Y(ω)/X(ω))。例えば、入力X(ω)がインパルスである場合(X(ω)=1)、伝達特性G(ω)は、出力Y(ω)(インパルス応答)と一致する。
【0127】
そこで、本実施の形態では、伝達特性記憶部201は、パネル101上の各点について、各アクチュエータ102から当該点までのインパルス応答を伝達特性として記憶している。なお、インパルス応答は、時間領域で表されてもよいし、周波数領域で表わされてもよい。つまり、伝達特性記憶部201には、インパルス応答の時間波形が記憶されてもよいし、インパルス応答のスペクトルが記憶されてもよい。
【0128】
ここで、パネル101上の各点は、例えば、パネル101上の各分割領域の代表点(例えば、中心あるいは重心など)であればよい。分割領域は、例えば、パネル101上の領域を10mm単位で格子状に分割して得られる。なお、分割領域の形状は、必ずしも矩形状である必要はなく、その他の形状であっても構わない。また、分割領域の大きさはすべての分割領域で同一である必要はない。例えば、パネル101上の位置によって分割領域の大きさが異なってもよい。
【0129】
ここで、各分割領域が小さいほど(つまり、分割領域の数が多いほど)、触感呈示の分解能を向上させことができるが、伝達特性を記憶するための記憶容量は増大する。つまり、分解能と記憶容量とはトレードオフの関係にあるため、必要な分解能あるいは許容される記憶容量などに基づいて、各分割領域の大きさが決定されればよい。
【0130】
以下に、伝達特性記憶部201に記憶される伝達特性について、さらに詳細に説明する。
【0131】
ここでは、伝達特性記憶部201は、M(Mは2以上の整数)個のアクチュエータ102(A1、A2、・・・、AM)の各々から、パネル101上のN(Nは2以上の整数)個の位置(P1(x1,y1)、P2(x2,y2)、・・・、PN(xN,yN))の各々までのM×N個の伝達特性を記憶しているとして説明する。
【0132】
図9は、アクチュエータ102からパネル101上のある位置に振動が伝播する経路を示す。
【0133】
図9に示すように、位置Piにおける振動は、アクチュエータAjから位置Pi(xi,yi)に直接到達する振動、およびパネル101の端で反射して位置Pi(xi,yi)に到達する振動などが合成された振動である。したがって、伝達特性には、アクチュエータAjからパネル上のある位置Piまでのあらゆる経路の伝播の特性が含まれる。
【0134】
なお、伝達特性は、時間領域で表現されてもよいし、周波数領域で表現されてもよい。時間領域で表現された伝達特性と周波数領域で表現された伝達特性とは、情報としては等価であり、互いに変換することができる。
【0135】
アクチュエータAjから位置Pi(xi,yi)までの伝達特性は、例えば、アクチュエータAjにインパルスを入力したときの位置Pi(xi,yi)における振動(インパルス応答)を計測することで取得することができる。インパルス応答は、アクチュエータAjから位置Pi(xi,yi)までの系の特性を完全に表現することができる。そこで、本実施の形態では、伝達特性としてインパルス応答を用いる。
【0136】
なお、通常、インパルスが直接印加された場合、インパルスの継続時間が非常に短いために、インパルス応答のSN比が低くなるという傾向がある。そこで、インパルスの代わりにTSP(Time Stretched Pulse)を用いてインパルス応答が測定されてもよい。これにより、SN比が高いインパルス応答を伝達特性として得ることができる。以下に、TSPを用いてインパルス応答を測定する方法について説明する。
【0137】
TSPは、式(3)に示すように、インパルスの位相を周波数の2乗に比例して変化させることにより、インパルスよりも時間軸が引き伸ばされた信号である。
図10Aは、TSPの一例を示す。
【0139】
式(3)において、H(n)は、周波数領域におけるTSPを表す。jは、虚数単位(−1の平方根)を表す。kは、定数であり伸縮の度合いを表す。nは、離散化された周波数単位を表す。H*は、Hの複素共役を表す。
【0140】
式(3)に示すTSPを逆フーリエ変換して得られる信号を用いて、アクチュエータAjが駆動され、パネル101上の位置Pi(xi,yi)での振動(以降、「TSP応答」と呼ぶ)が計測される。計測方法は限定される必要はないが、例えばドップラー変位計などを用いて振動(TSP応答)が計測される。
図10Bは、TSP応答の一例を示す。
【0141】
計測されたTSP応答を用いて、インパルス応答が算出される。具体的には、式(2)に示すTSPの逆関数を用いて畳み込み演算を行なうことにより、インパルス応答が算出される。
【0143】
式(4)において、H−1(n)は、TSPの逆関数を表す。
図10Cは、TSPの逆関数の一例を示す。また、
図10Dは、
図10BのTSP応答から算出されるインパルス応答の一例を示す。
【0144】
以上のように、TSPを用いて、アクチュエータAjから位置Pi(xi,yi)までのインパルス応答が計測される。このような計測を、M個のアクチュエータ102(A1、A2、・・・、AM)とN個の位置(P1(x1,y1)、P2(x2,y2)、・・・、PN(xN,yN))との全ての組合せについて行うことにより、M×N個の伝達特性が得られる。このようにして得られたM×N個の伝達特性が伝達特性記憶部201に記憶される。
【0145】
なお、伝達特性の計測方法は上述の方法に限るものではない。例えば、伝達特性は、M系列信号を用いて計測されてもよい。また例えば、伝達特性は、ガウス乱数を用いて計測されてもよい。
【0146】
<伝達特性取得部202>
伝達特性取得部202は、伝達特性記憶部201に記憶されている複数の伝達特性の中から、タッチ情報取得部103により取得された各タッチ位置に対応する伝達特性を取得する。つまり、伝達特性取得部202は、各アクチュエータ102から各タッチ位置までの伝達特性を伝達特性記憶部201から読み出す。
【0147】
<フィルタ算出部203>
フィルタ算出部203は、フィルタ取得部の一例である。フィルタ算出部203は、任意の触感信号に対するフィルタ処理によって所望の駆動信号を生成するためのフィルタを取得する。ここで、所望の駆動信号とは、振動を提示する第1のタッチ位置でパネル101が任意の触感信号に従って振動し、かつ振動を提示しない第2のタッチ位置でパネル101が振動しないように各アクチュエータ102を駆動するための信号である。
【0148】
つまり、フィルタ算出部203は、伝達特性取得部202により取得された伝達特性を用いて、タッチ情報取得部103が取得した複数のタッチ位置のうち、第1のタッチ位置にのみ触感を呈示し、第2のタッチ位置(振動を提示しないタッチ位置)に触感を呈示しないためのフィルタを算出する。より具体的なフィルタの算出方法については後述する。
【0149】
<触感信号記憶部204>
触感信号記憶部204は、例えば、ハードディスクあるいは半導体メモリである。触感信号記憶部204は、提示振動決定部108により生成された触感信号を記憶しており、
図7Aおよび
図7Bの各々は、触感信号の一例である。
【0150】
触感信号は、ユーザに触感を呈示できればどのような信号であってもよいが、例えば、パネル101の振動特性に基づいて決定されてもよい。具体的には、触感信号は、例えば、パネル101の共振周波数あるいはその近傍の周波数の信号であってもよい。これにより、エネルギー効率を向上させることが可能となる。
【0151】
本実施の形態では、触感信号は、提示振動決定部108により、設定情報の設定値に基づいてオンラインで生成しているが、生成した信号を触感信号記憶部204に記憶し、アクチュエータ102の駆動信号をフィルタ処理部205により生成する。なお、提示振動決定部108は、逆に、触感信号記憶部204にあらかじめ
図7Aおよび
図7Bに示すような設定情報の設定値に応じた触感信号を記憶しておき、それらを設定値に基づいて選択する構成としてもよい。
【0152】
<フィルタ処理部205>
フィルタ処理部205は、フィルタ算出部203により算出された各アクチュエータ102のためのフィルタを用いて、触感信号記憶部204に記憶されている触感信号をフィルタ処理(フィルタリング)することにより、各アクチュエータ102を駆動するための駆動信号を生成する。
【0153】
各アクチュエータ102は、このようにフィルタ処理部205により生成された駆動信号に従って、パネル101を振動させる。その結果、複数のタッチ位置のうち第1のタッチ位置においてのみ触感信号に基づく振動が発生し、振動を提示しない第2のタッチ位置において振動が抑制される。これにより、多点同時振動制御部107により、振動提示位置においてユーザに触感を呈示し、振動を提示しない第2のタッチ位置において触感を呈示しないことが可能となる。
【0154】
<動作>
次に、以上のように構成された多点同時振動制御部107の各構成要素の動作に関して具体的に説明する。
図11は、実施の形態1における触覚入出力装置100の処理動作を示すフローチャートである。
図12は、実施の形態1における触覚入出力装置100の処理動作を説明するための図である。
【0155】
(ステップS201:伝達特性を取得)
次に、伝達特性取得部202は、振動提示位置決定部107により決定された第1のタッチ位置および第2のタッチ位置に対応する伝達特性を伝達特性記憶部201から取得する。伝達特性取得部202は、例えば
図12に一例を示すように、アクチュエータA1、A2、A3、A4の各々からタッチ位置P1までの伝達特性g11、g12、g13、g14と、アクチュエータA1、A2、A3、A4の各々からタッチ位置P2までの伝達特性g21、g22、g23、g24とを伝達特性記憶部201から読み出す。ここでは、例えば第1のタッチ位置(提示位置)をP1、第2のタッチ位置(非提示位置)をP2とする。
【0156】
(ステップS202:フィルタを算出)
続いて、フィルタ算出部203は、提示位置において触感を提示し、かつ、非呈示位置において触感を提示しないためのフィルタを算出する。具体的には、フィルタ算出部203は、各アクチュエータ102から提示位置までの伝達特性と、各アクチュエータ102から非呈示位置までの伝達特性とを用いてフィルタを算出する。例えば、フィルタ算出部203は、タッチ位置P1において触感を提示し、タッチ位置P2において触感を提示しないためのフィルタを、伝達特性g11、g12、g13、g14、g21、g22、g23、g24を用いて算出する。
【0157】
以下に、より具体的なフィルタの算出方法の一例を示す。
【0158】
ここでは、アクチュエータAjからタッチ位置Piまでの伝達特性(インパルス応答)gijを、式(5)のように表す。また、アクチュエータAjのための駆動信号を生成するためのフィルタhjを、式(6)のように表す。また、すべてのアクチュエータA1〜AMへの入力に対するタッチ位置Piにおける応答(出力)diを、式(7)のように表す。
【0160】
式(5)において、Lgは、インパルス応答の長さを示す。式(6)において、Lは、フィルタの長さ(フィルタ長)を示す。このフィルタ長が長いほど、より細かな制御が可能となる。
【0161】
ここで、アクチュエータA1〜AMへの入力およびフィルタh1〜hMと、1つのタッチ位置Piにおける応答diとの関係を考える。1つのアクチュエータAjへの入力に対する1つのタッチ位置Piにおける応答は、フィルタhjと伝達特性gijとの畳み込み演算によって算出される。そして、1つのアクチュエータAjへの入力に対する1つのタッチ位置Piにおける応答を全てのアクチュエータA1〜AMについて重ね合わせることにより、すべてのアクチュエータA1〜AMへの入力に対する1つのタッチ位置Piにおける応答diを算出することができる。つまり、応答diは、フィルタhjと伝達特性gijとを用いて式(8)のように表すことができる。
【0163】
式(8)に示すように、アクチュエータA1〜AMへの入力に対するタッチ位置P1〜PNにおける応答d1〜dNは、各アクチュエータAjから各タッチ位置Piまでの伝達特性gijと、算出すべきフィルタhjとの畳み込み演算結果の和で表される。
【0164】
ここで、複数のタッチ位置P1〜PNのうち、タッチ位置Pk(0<k≦N)における応答dkのみがインパルス(dk(0)=1、dk(1)=0、dk(2)=0、・・・、dk(M)=0)となり、他のタッチ位置Pl(0<l≦N、l≠k)における応答が零(dl(0)=0、dl(1)=0、dl(2)=0、・・・、dl(M)=0)となるようなフィルタhjを算出できれば、所望のフィルタを得ることができる。つまり、このように算出されるフィルタhjを用いて任意の触感信号に対してフィルタ処理を行うことにより、タッチ位置Pkでのみ当該任意の触感信号に従って触感を呈示し、他のタッチ位置Pl(l≠k)では触感を呈示しないための駆動信号を生成することができる。
【0165】
そこで、フィルタ算出部203は、各アクチュエータ102から呈示位置までの伝達特性とフィルタとの時間領域における畳み込み演算結果の和がインパルスを示し、かつ、各アクチュエータ102から非呈示位置までの伝達特性とフィルタとの時間領域における畳み込み演算結果の和が零を示すように、フィルタを算出する。
【0166】
上述のようなフィルタの算出方法は特に限定するものではないが、Gの一般逆行列G*を算出することにより、式(9)のようにフィルタを算出することができる。つまり、Gの一般逆行列G*とインパルスを示すDとから、所望のフィルタを示すHを算出することができる。
【0168】
一般に、アクチュエータの数(M)がタッチ位置の数(N)以上であれば、式(9)を解くことができる。なお、任意のタッチ位置の組合せに対して安定的に式(9)を解くためには、各位置において、複数のアクチュエータ102からの伝達特性gijが同じゼロ点を持たないようにすることが望ましい。例えば、タッチ位置の数が2つの場合は、
図12に示すようにパネル101の長辺側の端部に2個ずつアクチュエータ102を配置することにより、任意の2点における伝達特性が異なるようにアクチュエータ102を配置することができる。
【0169】
なお、ゼロ点とは、周波数領域において、伝達特性のレベルが0または0に限りなく近くなる周波数のことである。つまり、入力にゼロ点の周波数成分が含まれていても、出力には、その周波数成分がほとんど含まれない。
【0170】
したがって、全てのアクチュエータ102からある位置までの伝達特性が同じ周波数でゼロ点を有する場合、どのような信号が入力されても、その位置においてその周波数ではパネル101は振動しない。つまり、特定の周波数において振動を制御することができなくなる。したがって、制御対象となる各周波数において、少なくとも1つのアクチュエータ102からの伝達特性が、ゼロ点ではない特性を有するようにしておくことが望ましい。
【0171】
図13は、フィルタの一例を示す。具体的には、
図13は、
図12において、タッチ位置P1が提示位置と決定された場合に算出されたフィルタを示す。
【0172】
(ステップS203:触感信号をフィルタ処理)
次に、フィルタ処理部205は、触感信号記憶部204に記憶されている触感信号に対して、ステップS202において算出されたフィルタを用いてフィルタ処理を行なうことにより、各アクチュエータ102を駆動するための駆動信号を生成する。具体的には、フィルタ処理部205は、触感信号S(n)とフィルタhj(n)との畳み込み演算を行なうことにより、アクチュエータAjのための駆動信号を生成する。
【0173】
ここでは、触感信号S(n)としては、提示振動決定部108により設定値に応じて決定され、触感信号記憶部204に記憶されている、タッチ位置P1に提示する
図7Aに示す触感信号をフィルタ処理する例で説明する。
【0174】
ここで、フィルタ処理についてより詳細に説明する。
【0175】
フィルタ処理部205は、式(10)に示すように、アクチュエータAjを駆動するための駆動信号uj(n)を生成する。つまり、フィルタ処理部205は、触感信号s(n)と、フィルタ算出部203により算出されたフィルタhj(n)との畳み込み演算を行うことにより、駆動信号uj(n)を生成する。
【0177】
図14は、駆動信号の一例を示す。つまり、
図14は、式(10)に従ってフィルタ処理部205によって生成された駆動信号の一例を示す。より具体的には、
図14は、
図13に示すフィルタを用いて、
図7Aに示す触感信号を処理することにより生成された駆動信号を示す。
【0178】
(ステップS204:アクチュエータを駆動)
次に、アクチュエータAjは、ステップS203で生成された駆動信号uj(n)を用いて駆動される。つまり、アクチュエータAjは、駆動信号uj(n)に従ってパネル101を振動させる。
【0179】
なお、アクチュエータの種類によっては、高電圧の駆動信号を必要とする場合がある。そのような場合には、アクチュエータ102は、駆動信号を増幅するためのアンプを備えてもよい。
【0180】
図15は、各タッチ位置におけるパネル101の振動の実験結果を示す。具体的には、
図15は、
図15に示す駆動信号を用いてアクチュエータ102が駆動された場合のタッチ位置P1およびP2におけるパネル101の振動を示す。
【0181】
タッチ位置P1では、振動のピーク間の差(以後、「振幅強度」と呼ぶ)が約30μmとなっており、強く振動していることが分かる。一方、タッチ位置P2では、振幅強度が約1μmとなっており、人が感知できない程度でしか振動していないことが分かる。
【0182】
なお、
図15では、タッチ位置P1、P2における振動特性を示したが、タッチ位置P1、P2以外の位置でも振動が生じている。しかしながら、タッチ位置P1、P2以外の位置はユーザにタッチされていない位置であるので、どのような振動が生じていてもユーザに触感が提示されることがない。
【0183】
上記の構成と動作により、本実施の形態1における多点同時振動制御部107によれば、振動を提示する第1のタッチ位置に触感を提示し、振動を提示しない第2のタッチ位置において触感を提示しないことができる。したがって、複数のタッチ位置のうち、触感の提示が必要なタッチ入力に対してのみ触感を提示することができる。
【0184】
なお、多点同時振動制御部107の変形例1として、実施の形態1では、時間領域においてフィルタの算出を行ったが、これを周波数領域で算出することにより、処理負荷を低減できることは言うまでもない。また、人間が触覚として感じる周波数帯域に処理を限定することによりさらに処理負荷を低減できることもいうまでもない。
【0185】
また、多点同時振動制御部107の変形例2として、フィルタを算出するまでの処理を、オンラインではなくオフラインで実施することにより、処理負荷を低減できることはいうまでもない。
【0186】
なお、多点同時振動制御部107の変形例3として、あらかじめ複数のタッチ位置の組み合わせパターンのすべてについて、駆動信号を算出して記憶しておき、タッチ位置の組み合わせパターンによって選択することにより、さらに処理負荷を低減でき、より処理能力の低い計算資源でもタッチ位置ごとに異なる振動を提示できることはいうまでもない。
【0187】
さらに、多点同時振動制御部107の変形例4として、例えば、第1のタッチ位置P1に
図4Aの振動を提示し、第2のタッチ位置P2には
図4Aの振動を提示しないための駆動信号1と、P2を第1のタッチ位置として
図4Bの振動を提示し、P1を第2のタッチ位置として
図4Bの振動を提示しないための駆動信号2とを加算した駆動信号によりアクチュエータ102を駆動することで、P1に
図4Aの振動を提示し、かつP2に
図4Bの振動を同時に提示することができることはいうまでもない。
【0188】
なお、ここで説明した多点同時触感制御部109の構成と動作は一例であり、他の構成と動作とすることもできる。例えばパネルがフレキシブルなディスプレイで構成されており、その表面を局所的に振動させるアクチュエータを備えたものであってもよい。
【0189】
<変形された実施の形態1>
上記説明したように、振動によって表示領域外にあるオブジェクトの方向をユーザに把握させながら、ユーザが指1本又は複数で地図や文書などのコンテント13をスクロールすることができる。このとき、本変形された実施の形態では、オブジェクトが表示領域外から表示領域内に入った際(あるいは入った後のタッチ動作が行なわれた際)に、別の振動をタッチ位置に加える。具体的には、より振幅の大きい振動を与える駆動信号によりアクチュエータ102を駆動することができる。あるいは、タッチしている全ての指に対して振動を加える、又は、刺激数を増加させることでもよい。これにより、ユーザが画面を注視せずにスクロール操作を行なう場合に、オブジェクトが表示領域に入ったことを触覚により把握できる。例えば、オブジェクトが一旦表示領域内に入った場合に、ユーザが気づかないことなどにより、ユーザがスクロール操作をやめずに再び表示領域外に行くことを防ぐことができる。
【0190】
<変形された実施の形態2>
上記説明したように、振動によって表示領域外にあるオブジェクトの方向をユーザに把握させながら、ユーザが指1本又は複数で地図や文書などのコンテント13をスクロールすることができる。このとき、本変形された実施の形態では、オブジェクトと表示領域境界(あるいはタッチ位置)との距離に応じて振動の大きさあるいは種類を変更する。具体的には、表示領域に近づくほど振動を大きく(又はその逆)したり、振動刺激数をより多くする(又はその逆)ことで、オブジェクトと表示領域の距離をユーザが触覚により把握できる。これにより、ユーザがオブジェクトの方向だけでなく表示領域との距離感を触覚を通じて把握できるので、ユーザがスクロール動作を停止する準備を行なうことができる。以上のように、第1の実施の形態の触覚入出力装置によれば、目的とするオブジェクトが存在する方向をユーザに提示することができ、目的とするオブジェクトを表示領域内に再度表示させるコンテントの移動操作を効率よく達成することができる。
【0191】
なお、実施の形態1においては、タッチ位置が検出されない場合は、アクチュエータ102の駆動を停止し、パネル101を振動させないことが好ましい。ただし、タッチ位置が離れた後に、入力状態や機器の状態を振動によりフィードバックしてもよい。
【0192】
なお、実施の形態1においては、タッチ位置の時系列情報に基づいて、検出順序、移動方向、空間順序を算出したが、これに限らず、例えばタッチパネルドライバからオペレーティングシステムに通知されるタッチ数、タッチ番号、タッチ開始イベント、タッチ継続イベント、タッチ終了イベントなどのタッチイベントを併用して算出してもよい。
【0193】
また、実施の形態1では、タッチ位置の検出時、タッチ位置の移動時、タッチ位置の移動後の停止時に振動を提示する例で説明したが、これに限らず、タッチの押圧が所定の閾値以上のとき、タッチ位置での指の接触面積が所定の閾値以上のとき、あるいは他のマルチタッチジェスチャーが検出されたときに振動を提示してもよい。
【0194】
上記説明した実施の形態1に係る触覚入出力装置は、タッチ入力により機器を操作する際に、入力するタッチパネルやタッチパッドを注視することなく、機器の設定操作ができるので、ディスプレイのコンテントを注視しながら手元のタッチリモートコントローラを操作する際にはリモコンを注視することなく操作する、あるいはディスプレイをできるだけ注視しないで操作することが望まれるカーナビゲーションなどの車載システムに応用できる。また、設定項目とタッチ位置の空間順序を対応づけ、選択された設定項目に対応するタッチ位置のみを振動させることにより、機器に受け付けられた設定項目をユーザが触覚により容易に確認できるので、タッチ入力装置を供えたさまざまな機器の操作に応用できる。例えば、タッチパネルやタッチパッドなどタッチ入力で操作するタブレット端末、ゲーム機、TV用リモコン、デジタルカメラ、ムービー、パーソナルコンピュータ、携帯情報端末、携帯電話、電子黒板やデジタルサイネージ用ディスプレイなどの触覚入出力装置に応用できる。また、洗濯機、電子レンジなどのタッチパネルが搭載された家電機器の触覚入出力装置、また、家電機器を制御する携帯電話やタブレット端末などでタッチパネルが搭載されている機器の触覚入出力装置としても応用できる。
【0195】
以上、例示的な各実施の形態について説明したが、本願の請求の範囲は、これらの実施の形態に限定されるものではない。添付の請求の範囲に記載された主題の新規な教示および利点から逸脱することなく、上記各実施の形態においてさまざまな変形を施してもよく、上記各実施の形態の構成要素を任意に組み合わせて他の実施の形態を得てもよいことを、当業者であれば容易に理解するであろう。したがって、そのような変形例や他の実施の形態も本発明に含まれる。