(57)【特許請求の範囲】
【請求項１】
起動されると、触感が定義されたユーザインタフェース定義ファイルの識別情報を供給するアプリケーションソフトウェアと、
前記アプリケーションソフトウェアから供給された前記識別情報に基づくユーザインタフェース定義ファイルを記憶部から読み出して、当該ユーザインタフェース定義ファイルに基づいてユーザインタフェースに対して触感を設定する制御部と、
を備えることを特徴とする触感呈示装置。
【請求項２】
起動されると、触感が定義されたユーザインタフェース定義ファイルを供給するアプリケーションソフトウェアと、
前記アプリケーションソフトウェアから供給された前記ユーザインタフェース定義ファイルを記憶部に記憶して、当該記憶部から読み出したユーザインタフェース定義ファイルに基づいてユーザインタフェースに対して触感を設定する制御部と、
を備えることを特徴とする触感呈示装置。
【請求項３】
起動されたアプリケーションソフトウェアから、触感が定義されたユーザインタフェース定義ファイルの識別情報を受信し、
当該識別情報に基づくユーザインタフェース定義ファイルを記憶部から読み出し、
当該ユーザインタフェース定義ファイルに基づいてユーザインタフェースに対して触感を設定する
ことを特徴とする、触感を呈示する方法。
【請求項４】
起動されたアプリケーションソフトウェアから、触感が定義されたユーザインタフェース定義ファイルを受信し、
当該ユーザインタフェース定義ファイルを記憶部に記憶し、
当該記憶部から読み出したユーザインタフェース定義ファイルに基づいてユーザインタフェースに対して触感を設定する
ことを特徴とする、触感を呈示する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチセンサに対する入力を受け付けて触感を呈示する装置、および当該装置により触感を呈示する方法に関するものである。
【背景技術】
【０００２】
近年、携帯電話やゲーム機等の携帯端末において、ユーザによる操作入力を受け付ける操作部やスイッチ等の入力装置として、タッチパネルやタッチスイッチ等のタッチセンサを備える入力装置が採用されているものがある。携帯端末以外に、電卓、券売機等の情報機器や、電子レンジ、テレビ、照明器具等の家電製品、産業用機器（ＦＡ機器）等にも、タッチセンサを備える入力装置は広く使用されている。
【０００３】
このようなタッチセンサには、抵抗膜方式、静電容量方式、光学式等の種々の方式が知られている。しかしながら、いずれの方式のタッチセンサにおいても、指やスタイラスペンによるタッチ入力を受け付けるものであって、タッチセンサ自体は、タッチされても、押しボタンスイッチのようには物理的に変位しない。
【０００４】
このため、タッチセンサがタッチ入力を受け付けても、操作者は入力に対するフィードバックを得ることができない。操作者は、操作入力を行う際の操作感が得られないため、入力操作が端末に受け付けられたか否かを確認する術がなく、同じ位置を何度もタッチしてしまう等の繰り返し入力が生じ易く、操作者にストレスを与える場合がある。
【０００５】
このような不要な繰り返し入力を防止するものとして、例えば、タッチ入力を受け付けて、音を鳴らすようにしたものが知られている。また、例えば、当該入力位置に対応して表示部に画像表示されている入力ボタン等の入力用ユーザインタフェースオブジェクト（以下、単に「オブジェクト」と記す）の表示色を変更するなど、表示態様を変更するようにしたものも知られている。これらのようなものを使用すれば、操作者は、聴覚や視覚によって、自己の入力操作の受付状況を確認することができる。
【０００６】
しかしながら、聴覚に働きかけるフィードバック方法の場合は、騒音環境下での確認が困難になるとともに、使用機器がマナーモード等の消音状態にあるときは、対応できない。また、視覚に働きかけるフィードバック方法の場合は、表示部に表示されているオブジェクトのサイズが小さいと、特に指で入力を行う際に、指の下にオブジェクトが隠れて表示態様の変化が確認できない場合がある。
【０００７】
そこで、聴覚や視覚によらず、タッチセンサが入力を受け付けると、タッチセンサを振動させて、操作者の指先に触感を呈示する装置によるフィードバック方法も提案されている（例えば、特許文献１および特許文献２参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−２８８１５８号公報
【特許文献２】特開２００８−１３００５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記特許文献１および特許文献２に開示の装置によれば、タッチセンサに対する操作入力を受け付けた際に、操作者の指先などに、振動による触感を呈示することができる。したがって、このような装置を用いて入力を行う操作者は、タッチセンサに対して行った操作入力が装置に適正に受け付けられたことを、触覚により認識することができる。
【００１０】
しかしながら、このような装置を用いて操作入力を受け付けた際に触感を呈示するためには、所定の条件に応じて触感を呈示する処理が、予めアプリケーションソフトウェア（以下、単に「アプリケーション」と記す）に組み込まれている必要がある。すなわち、上述の装置においては、振動を発生させることを予め想定して開発されたアプリケーションを使用すれば、所定の条件に応じて触感を呈示することができる。しかしながら、上述の装置に、振動を発生させることを想定していないアプリケーションをそのまま適用しても、適切に触感を呈示することはできない。
【００１１】
したがって、上述したような装置において所定の条件に応じて適切に触感を呈示するためには、新たにアプリケーションを開発するか、あるいは既存のアプリケーションに対して、触感を呈示するための処理を追加する等の改変を加える必要がある。
【００１２】
具体的には、触感呈示装置の表示部に画像表示されるキーまたはボタン等のオブジェクトの位置に対応するタッチセンサに対して入力がなされた際に、当該装置が所定の触感を呈示するための処理を追加する必要がある。また、表示部にキーまたはボタン等のオブジェクトが画像表示されていない位置に対応するタッチセンサに対して入力がなされても、装置が触感を呈示しないようにする必要もある。
【００１３】
このように触感の呈示の有無を制御すれば、タッチセンサおよびＧＵＩ(Graphical User Interface)を入出力に用いたユーザインタフェースによって操作入力を受け付けた際に、操作者の指先などに、振動による触感を呈示することができる。すなわち、画像表示したキーまたはボタン等のオブジェクトに対する入力により、当該入力を受け付けたことを、触感を呈示することにより操作者に報知することができる。一方、キーまたはボタン等のオブジェクトのない位置に対する入力がなされても、フィードバックが発生しないようにできる。
【００１４】
このような制御を行う場合、触感呈示装置は、一般的に、タッチセンサに対して入力がなされた際のＧＵＩの状態、すなわち表示部に表示されるキーまたはボタン等のオブジェクトの状態を管理しているアプリケーションと連携することが必要になる。
【００１５】
以下、触感呈示装置において、触感を呈示する際に想定される処理について説明する。
【００１６】
図１１は、想定される触感呈示装置の概略構成を示すブロック図である。図１１に示すように、触感呈示装置１００は、制御部１１０と、アプリケーション実行部１２０と、表示部１３０と、タッチセンサ１４０と、触感呈示部１５０と、記憶部１６０と、を備えている。また、制御部１１０は、表示制御部１１２と、触感制御部１１４とを含んでいる。さらに、記憶部１６０には、アプリケーション記憶領域１６２が設けてある。
【００１７】
制御部１１０は、触感呈示装置１００の各機能部をはじめとして触感呈示装置１００の全体を制御する。アプリケーション実行部１２０は、記憶部１６０のアプリケーション記憶領域１６２から各種のアプリケーションを読み込んで、当該アプリケーションに基づく処理を実行する。なお、以下の説明においては、アプリケーション実行部１２０が実行しているアプリケーションは、表示部１３０に表示したオブジェクトの位置に対応するタッチセンサ１４０に入力があった際に、所定の触感を呈示する処理が予め追加されている（組み込まれている）ものとする。
【００１８】
表示部１３０は、液晶ディスプレイや有機ＥＬディスプレイ等で構成し、入力を行うためのキーまたはボタン等のオブジェクトの画像を表示する。タッチセンサ１４０は、通常は表示部１３０の前面に配置して、表示部１３０に表示したオブジェクトに対する操作者の指等によるタッチ入力を、対応するタッチセンサ１４０のタッチ面により受け付ける。また、タッチセンサ１４０は、タッチ面により受け付けたタッチ入力の位置を、制御部１１０を介してアプリケーション実行部１２０に通知する。触感呈示部１５０は、小型の偏心モータや圧電素子等で構成し、タッチセンサ１４０のタッチ面を振動させることにより、操作者の指等のタッチ対象に触感を呈示する。
【００１９】
制御部１１０の表示制御部１１２は、アプリケーション実行部１２０から供給される表示データに基づいて、表示部１３０にオブジェクトなどの画像を表示したり、あるいは当該画像の表示態様を変更したりする等、表示に係る制御を行う。触感制御部１１４は、アプリケーション実行部１２０の指示に基づいて、触感呈示部１５０が所定の条件に基づく振動パターンを呈示するように制御する。
【００２０】
図１２は、触感呈示装置１００による、入力に基づいて触感を呈示する動作の例を概略的に説明するフローチャートである。
【００２１】
タッチセンサ１４０のタッチ面に対するタッチ入力が検知された時点で、触感呈示装置１００による触感の呈示を制御する動作は開始する。本動作が開始すると、まず、タッチセンサ１４０は、タッチ面に対するタッチ入力の位置をアプリケーション実行部１２０に通知する（ステップＳ１００）。この通知を受けると、アプリケーション実行部１２０は、当該入力位置が表示部１３０にキーまたはボタン等のオブジェクトを画像表示している位置に対応するか否かを判定する（ステップＳ１０２）。ステップＳ１０２において、入力位置が表示部１３０にキーまたはボタン等のオブジェクトの画像を表示している位置に対応しない場合、アプリケーション実行部１２０は、表示または触感に関する指示は行わずに動作を終了する。この場合、触感は呈示されない。
【００２２】
一方、ステップＳ１０２において、入力の位置がキーまたはボタン等のオブジェクトの画像を表示している位置に対応する場合、アプリケーション実行部１２０は、表示制御部１１２に対して、入力を受け付けた旨の表示を行うための表示データを供給する。ここで、入力を受け付けた旨の表示とは、例えばキーまたはボタン等のオブジェクトを一瞬だけ反転表示したり、キーまたはボタン等が押下された状態を示す画像を表示するなど、操作者が視認できるような表示にすることである。このような表示データをアプリケーション実行部１２０から受信したら、表示制御部１１２は、当該表示データに基づいて、表示部１３０に表示される画像を変更する（ステップＳ１０４）。
【００２３】
続いて、アプリケーション実行部１２０は、触感制御部１１４に対して、入力を受け付けた旨を操作者に報知するため、所定の触感を呈示するように指示する。ここで、所定の触感の呈示とは、タッチセンサ１４０のタッチ面を一瞬だけ振動させるなど、操作者の触覚により認識できるフィードバックを提供することである。このような触感の呈示の指示を受けたら、触感制御部１１４は、当該指示に従って触感呈示部１５０が所定の振動パターンを呈示するように制御する。これにより、触感呈示部１５０は、タッチセンサ１４０のタッチ面をタッチしているタッチ対象に対して所定の振動パターンによる触感を呈示する（ステップＳ１０６）。このような処理を行うことで、触感呈示装置１００は、入力の際にタッチセンサおよびＧＵＩを採用するユーザインタフェースによって、入力を受け付けるオブジェクトに対する操作入力を受け付けた際にのみ、触感を呈示することができる。
【００２４】
以上説明したように、触感呈示装置１００によれば、アプリケーションが触感を呈示する動作に対応していれば、問題なく上述の動作を行うことができる。すなわち、触感を呈示する処理を予め組み込んだアプリケーションであれば、上述の動作により、所定の触感を適切に呈示することができる。
【００２５】
しかしながら、上述した触感呈示装置１００においては、触感の呈示に対応していないアプリケーションを適用すると、そのままの状態では、入力に基づいてオブジェクトの表示が変化しても、触感を呈示することはできない。したがって、触感呈示装置１００において、現在までに開発されてきた種々のアプリケーション資源を無駄にせずに有効に活用するためには、それぞれのアプリケーションを改変して、所定の条件に応じて触感を呈示する処理を追加しなければならない。このような処理を追加する改変は、種々のアプリケーションごとに行わなければならず、膨大な手間とコストがかかることが懸念される。また、オブジェクトごとに異なる触感を呈示しようとすれば、それぞれのオブジェクトごとに異なる触感を呈示するための処理を追加することになるため、手間とコストは極めて大きくなる。
【００２６】
このような事情の下では、今後、触感呈示装置に向けたアプリケーションの開発に各社ベンダが参入する阻害要因になったり、タッチセンサおよびＧＵＩを採用したプラットフォームの普及が遅延する要因にもなり得る。
【００２７】
また、例えば上記特許文献１および特許文献２に開示の技術は、単にタッチセンサが入力を受け付けると、当該入力に応じてタッチセンサを振動させているに過ぎない。このため、上記特許文献１および特許文献２に開示の技術において、触感の呈示に対応したアプリケーションを適用しても、そのままの状態では、触感を必要な場合にのみ適切に呈示することができないことも想定される。特に、機械式の押しボタンスイッチ（プッシュ式ボタンスイッチ）のようなボタンスイッチがタッチセンサ上に描画される装置は、タッチセンサの入力を受け付ける閾値が低いと、タッチセンサに指などが軽く触れた（タッチした）だけで触感を呈示してしまう。このため、操作者がタッチセンサをプッシュする前段階で軽く触れる動作（タッチ）に反応してしまうため、描画イメージ（押しボタン）の反応と異なり、誤操作を誘発するおそれがある。
【００２８】
また、描画されたボタンスイッチを操作者がプッシュする意図はなくても（力を入れていなくても）、タッチセンサをプッシュする前段階の軽く触れる動作（タッチ）に応じて触感を呈示してしまうため、操作者に違和感を与えることにもなる。ここで、タッチセンサのタッチによる入力を受け付ける閾値とは、タッチセンサが反応する閾値で、例えば抵抗膜方式においては、上部導電膜が下部導電膜に接触する押圧力の閾値であり、静電容量方式においては、接触による電気的信号の検出閾値である。
【００２９】
さらに、従来の触感を呈示する装置は、タッチセンサにより触感を呈示するための処理を予め組み込んだアプリケーションに基づくユーザインタフェースを採用したとしても、入力を受け付けた際に機械式の押しボタンスイッチのような操作感を提供することはできなかった。すなわち、従来の触感呈示装置により呈示される触感は、あくまでも入力が受け付けられたことを操作者に報知するためのものであり、単に筐体を振動させる等の動作を行うのみである。したがって、従来の触感呈示装置により呈示される触感は、機械式の押しボタンスイッチを操作する場合のような現実的な操作感を操作者に提供するものではなかった。
【００３０】
しかしながら、タッチセンサおよびＧＵＩを採用するユーザインタフェースにおいては、現実の機械式の押しボタンスイッチなどを模したオブジェクトの画像を表示することが多い。したがって、そのようなオブジェクトに対する入力を受け付けた場合、やはり機械式の押しボタンスイッチに倣った現実的な触感を呈示するほうが、操作者に与える操作感としては好適である。表示されたオブジェクトに対して押圧入力を受け付けた際に、現実のキーまたはボタン等をクリックした場合のようなフィードバックを返すことができれば、操作者に与える操作感を向上することができる。
【００３１】
機械式の押しボタンスイッチの場合、操作者は、ある程度の押圧力を加えることにより、当該スイッチが押下されて、例えばメタルドームスイッチなどが坐屈する際の触感（以下、クリック触感という）を得ることができる。同様に、機械式の押しボタンスイッチの場合、操作者は、押下していたスイッチに対する押圧力を解除する過程で、ある程度まで押圧力を弱めることにより、メタルドームスイッチなどが元の押下されていない状態に戻る触感（以下、リリース触感という）を得ることができる。また、機械式の押しボタンスイッチの場合、操作者は、非常に弱い押圧力によってスイッチに触れても（タッチしても）クリック触感は呈示されず、また、クリック触感が呈示されない状態からは、リリース触感も呈示されない。従来のタッチセンサおよびＧＵＩを採用した触感呈示装置においては、上述した機械式の押しボタンスイッチのようなクリック触感およびリリース触感を呈示することはできなかった。
【００３２】
また、機械式の押しボタンスイッチに対して入力を行う場合であれば、スイッチ機構等の物理的な構成の差異に応じて、様々な異なる触感が得られるものである。例えば、ボタンの大きさによって、押圧した際に得られる触感の強弱の度合いが異なったり、あるいは、ボタンによって押し込む際のストロークの深さが異なる場合にも、それぞれ押圧した際に異なる態様の感触が得られるものである。従来の触感を呈示する装置は、このようなオブジェクトごとに異なる触感、すなわち各オブジェクトに見合うような触感を呈示することはできなかった。このような触感を実現するためには、上述したように、アプリケーションに対して、それぞれの触感を呈示するための処理を、オブジェクトごとに追加する等の改変を加える必要があり、大変な手間とコストを要するものとなる。
【００３３】
したがって、かかる事情に鑑みてなされた本発明の目的は、ユーザインタフェースを構成する既存のアプリケーションを流用することにより入力に対する触感を呈示する装置であって、操作者に与える操作感を向上する触感呈示装置、および当該装置による触感呈示方法を提供することにある。
【課題を解決するための手段】
【００３６】
上記目的を達成する第１の観点に係る触感呈示装置の発明は、
起動されると、触感が定義されたユーザインタフェース定義ファイルの識別情報を供給するアプリケーションソフトウェアと、
前記アプリケーションソフトウェアから供給された前記識別情報に基づくユーザインタフェース定義ファイルを記憶部から読み出して、当該ユーザインタフェース定義ファイルに基づいてユーザインタフェースに対して触感を設定する制御部と、
を備えることを特徴とするものである。
【００３７】
上記目的を達成する第２の観点に係る触感呈示装置の発明は、
起動されると、触感が定義されたユーザインタフェース定義ファイルを供給するアプリケーションソフトウェアと、
前記アプリケーションソフトウェアから供給された前記ユーザインタフェース定義ファイルを記憶部に記憶して、当該記憶部から読み出したユーザインタフェース定義ファイルに基づいてユーザインタフェースに対して触感を設定する制御部と、
を備えることを特徴とするものである。
【００３８】
上記目的を達成する第３の観点に係る触感呈示方法の発明は、
起動されたアプリケーションソフトウェアから、触感が定義されたユーザインタフェース定義ファイルの識別情報を受信し、
当該識別情報に基づくユーザインタフェース定義ファイルを記憶部から読み出し、
当該ユーザインタフェース定義ファイルに基づいてユーザインタフェースに対して触感を設定する
ことを特徴とするものである。
【００３９】
上記目的を達成する第４の観点に係る触感呈示方法の発明は、
起動されたアプリケーションソフトウェアから、触感が定義されたユーザインタフェース定義ファイルを受信し、
当該ユーザインタフェース定義ファイルを記憶部に記憶し、
当該記憶部から読み出したユーザインタフェース定義ファイルに基づいてユーザインタフェースに対して触感を設定する
ことを特徴とするものである。
【発明の効果】
【００４０】
本発明によれば、入力に対して触感を呈示する処理を予め想定していないアプリケーションを流用することにより、所定の条件に応じてオブジェクトごとに適切な触感を呈示することができる。したがって、本発明によれば、既存のアプリケーションを無駄にすることなく活用することができるとともに、このようなアプリケーションを用いて、操作性の優れたユーザインタフェースを提供することができる。また、本発明によれば、タッチセンサに対する入力を受け付けた際に、機械式の押しボタンスイッチのような触感をオブジェクトごとに呈示することができる。したがって、本発明によれば、操作者に与える操作感を向上することができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施の形態に係る触感呈示装置の概略構成を示すブロック図である。
【図２】図１に示した触感呈示装置の実装構造の一例を示す図である。
【図３】本発明のユーザインタフェース定義ファイルの構成を説明する概念図である。
【図４】図１に示した触感呈示装置の表示部に表示するユーザインタフェースの例を示す図である。
【図５】図１に示した触感呈示装置にて使用するユーザインタフェースのオブジェクトごとに各入力に応じて呈示する触感の設定の例を示す図である。
【図６】本実施の形態で用いるユーザインタフェースの定義ファイルの一例を示す図である。
【図７】図１に示した触感呈示装置がユーザインタフェースを生成する動作を示すフローチャートである。
【図８】図１に示した触感呈示装置のクリック触感呈示動作を示すフローチャートである。
【図９】図１に示した触感呈示装置のリリース触感呈示動作を示すフローチャートである。
【図１０】図１に示した触感呈示装置のなぞり触感呈示動作を示すフローチャートである。
【図１１】想定される触感呈示装置の概略構成を示すブロック図である。
【図１２】想定される触感呈示装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００４２】
以下、本発明の各実施の形態について、図面を参照して説明する。
【００４３】
本発明は、表示部に表示するユーザインタフェースの定義ファイルにおいて、各ユーザインタフェースオブジェクトに入力があった際に呈示すべき触感を定義するものである。また、本発明は、このようにして触感を呈示する際、タッチセンサに対して軽く触れる（タッチする）程度の押圧に対しては触感を呈示せず、操作者が意図してタッチセンサを押圧する（プッシュする）動作に対して触感を呈示する。
【００４４】
図１は、本発明の実施の形態に係る触感呈示装置の概略構成を示すブロック図である。
【００４５】
図１に示すように、触感呈示装置１は、制御部１０と、アプリケーション実行部２０と、表示部３０と、タッチセンサ４０と、触感呈示部５０と、荷重検出部６０と、記憶部７０と、を備えている。また、制御部１０は、表示制御部１２と、触感制御部１４と、ユーザインタフェース制御部１６と、を含んでいる。さらに、記憶部７０には、アプリケーション記憶領域７２と、ユーザインタフェース定義ファイル記憶領域７４と、ユーザインタフェースリソース記憶領域７６と、を設けてある。なお、図面および以下の説明において、「ユーザインタフェース」は、適宜、単に「ＵＩ」と略記する。
【００４６】
制御部１０は、触感呈示装置１の各機能部をはじめとして触感呈示装置１の全体を制御する。アプリケーション実行部２０は、記憶部７０のアプリケーション記憶領域７２から各種のアプリケーションを読み込んで、当該アプリケーションに基づく処理を実行する。なお、本実施の形態においては、アプリケーション実行部２０が、本来、触感の呈示に対応していないアプリケーションを実行する場合について説明する。
【００４７】
表示部３０は、押しボタンスイッチ（プッシュ式ボタンスイッチ）のようなオブジェクトを画像表示する。なお、押しボタンスイッチとは、入力ボタンやキー等（以下、単に「キー等」と総称する）である。表示部３０は、例えば、液晶表示パネルや有機ＥＬ表示パネル等を用いて構成する。
【００４８】
タッチセンサ４０は、通常は表示部３０の前面に配置して、表示部３０に表示したオブジェクトに対する操作者の指等（押圧対象）による押圧入力（タッチ入力）を、対応するタッチセンサ４０のタッチ面により受け付ける。また、タッチセンサ４０は、タッチ面に対するタッチ入力の位置を検出し、当該検出した入力の位置を、ＵＩ制御部１６を介してアプリケーション実行部２０等に通知する。このタッチセンサ４０は、例えば抵抗膜方式、静電容量方式、光学式等の公知の方式のもので構成する。
【００４９】
触感呈示部５０は、圧電振動子等を用いて構成し、タッチセンサ４０のタッチ面に振動を発生させる。この触感呈示部５０は、タッチセンサ４０のタッチ面に振動を発生させることにより、タッチ面を押圧している押圧対象に対して触感を呈示する。荷重検出部６０は、タッチセンサ４０のタッチ面に対する押圧荷重を検出するもので、例えば、歪みゲージセンサや圧電素子等の荷重に対してリニアに反応する素子を用いて構成する。また、荷重検出部６０は、検出したタッチセンサ４０のタッチ面に対する押圧荷重を、触感制御部１４に通知する。
【００５０】
制御部１０の表示制御部１２は、アプリケーション実行部２０からＵＩ制御部１６を介して供給される表示データに基づいて、表示部３０にオブジェクトなどを画像表示したり、あるいは当該画像表示を変更したりする等、表示に係る制御を行う。触感制御部１４は、所定の処理を実行するオブジェクトに対する入力を検知している状態で、荷重検出部６０により検出される押圧荷重が触感を呈示する荷重基準を満たした場合、所定の条件に基づく所定のパターンの振動を発生するように触感呈示部５０を制御する。
【００５１】
ＵＩ制御部１６は、タッチセンサ４０に対する入力位置の情報をアプリケーション実行部２０に通知する。また、ＵＩ制御部１６は、タッチセンサ４０に対する入力位置が所定の動作を開始するオブジェクトに対応する位置である場合、入力を受け付けた旨を示すオブジェクトの表示データをアプリケーション実行部２０から受け取る。さらに、ＵＩ制御部１６は、タッチセンサ４０に対する入力位置が所定の動作を開始するオブジェクトに対応する位置であり、かつ、ＵＩ定義ファイルに呈示すべき触感が定義されている場合、この定義に従って触感制御部１４に呈示すべき触感を設定する。
【００５２】
記憶部７０のアプリケーション記憶領域７２は、各種の機能を実現する為の処理手順が記載されたデータで構成される各種のアプリケーションを記憶する領域である。ＵＩ定義ファイル記憶領域７４は、各ＵＩ全体を生成する際の一連の生成ルールを定義するＵＩ定義ファイルを記憶する領域である。また、ＵＩリソース記憶領域７６は、ＵＩの生成に使用する画像データ、フォントのデータ、および文字列（テキスト）データなどのＵＩリソースを記憶する領域である。実際にＵＩを生成する際には、ＵＩリソース記憶領域７６に記憶された画像データおよびテキストデータなどを、表示部３０に表示する。
【００５３】
図２は、図１に示した触感呈示装置１の実装構造の一例を示すもので、図２（Ａ）は要部断面図、図２（Ｂ）は要部平面図である。表示部３０は、筐体６１内に収納保持する。表示部３０上には、弾性部材からなるインシュレータ６２を介して、タッチセンサ４０を保持する。なお、本実施の形態に係る触感呈示装置１は、表示部３０およびタッチセンサ４０を、平面視で矩形状としている。また、触感呈示装置１は、タッチセンサ４０を、図２（Ｂ）に仮想線で示す表示部３０の表示領域Ａから外れた４隅に配設したインシュレータ６２を介して表示部３０上に保持する。
【００５４】
また、筐体６１には、表示部３０の表示領域から外れたタッチセンサ４０の表面領域を覆うようにアッパカバー６３を設け、このアッパカバー６３とタッチセンサ４０との間に、弾性部材からなるインシュレータ６４を配設する。なお、図２に示すタッチセンサ４０は、タッチ面４０ａを有する表面部材を、例えば透明フィルムやガラスで構成し、裏面部材をガラスやアクリルで構成している。タッチセンサ４０は、タッチ面４０ａが押圧されると、押圧部分が押圧力に応じて微少量撓む（歪む）、または構造体そのものが微少量撓む構造のものを用いる。
【００５５】
タッチセンサ４０の表面上には、アッパカバー６３で覆われる各辺の近傍に、タッチセンサ４０に加わる荷重（押圧力）を検出するための歪みゲージセンサ５１をそれぞれ接着等により設ける。さらに、タッチセンサ４０の裏面上には、対向する２つの辺の近傍に、タッチセンサ４０を振動させるための圧電振動子５２をそれぞれ接着等により設ける。すなわち、図２に示す触感呈示装置１は、図１に示した荷重検出部６０を４つの歪みゲージセンサ５１を用いて構成し、触感呈示部５０を、２つの圧電振動子５２を用いて構成している。そして、触感呈示部５０によりタッチセンサ４０を振動させることにより、タッチ面４０ａを振動させるようにしている。なお、図２（Ｂ）は、図２（Ａ）に示した筐体６１、アッパカバー６３およびインシュレータ６４の図示を省略している。
【００５６】
次に、ＵＩ定義ファイル記憶領域７４に記憶されるＵＩ定義ファイルについて説明する。
【００５７】
記憶部７０のＵＩ定義ファイル記憶領域７４には、アプリケーション記憶領域７２に記憶された各アプリケーションを実行する際に必要なＵＩの仕様および動作などを定義するＵＩ定義ファイルが記憶される。ＵＩを使用する際には、異なるアプリケーションで同じＵＩを使うことも、または、異なるアプリケーションに対してそれぞれ異なるＵＩを用いることもできる。ここでは、説明の便宜のため、各アプリケーションに対応したＵＩ定義ファイルをそれぞれ保存する場合について説明する。
【００５８】
例えば、触感呈示装置１を携帯電話の入力装置として用いる場合、携帯電話の操作入力を受け付けるＵＩを構成するアプリケーションに対応して、携帯電話操作入力用ＵＩ定義ファイルをＵＩ定義ファイル記憶領域７４に記憶する。同様に、例えば、触感呈示装置１を銀行のＡＴＭ（現金自動預け払い機）端末の入力装置として用いる場合、ＡＴＭの操作入力を受け付けるＵＩを構成するアプリケーションに対応して、ＡＴＭ操作入力用ＵＩ定義ファイルをＵＩ定義ファイル記憶領域７４に記憶する。
【００５９】
本実施の形態では、ＵＩ定義ファイルを記述する言語の例として、ＸＭＬ言語をベースにしたＵＩＭＬ(User Interface Markup Language)の形式に従って説明する。このＵＩＭＬのように、最近では、ＸＭＬ（Extensible Markup Language）をベースにしたＵＩが導入されつつある。記述方式が共通化されたＸＭＬファイルを用いてＵＩを表現することによって、プログラムコードの再利用が容易になり、他の機種へのＵＩの移植も可能になる。したがって、例えば、異なるメーカの異なる端末機種間でも同じＵＩを使用することができるなど、各端末からＵＩのみを独立させるように扱うことも可能になる。
【００６０】
このような、ＸＭＬをベースにしたＵＩのうち代表的なものとして、ＴＡＴ社（http://www.tat.se/）が開発したＵＩ  Ｆｏｕｎｄａｔｉｏｎや、Ａｃｒｏｄｅａ社（http://www.acrodea.co.jp/）が開発したＶＩＶＩＤ  ＵＩ、他にもＱｕａｌｃｏｍｍ社（http://www.qualcomm.co.jp/）が開発したＵＩ  Ｏｎｅなどを挙げることができる。
【００６１】
図３は、ＵＩ定義ファイルの構成を説明する概念図である。図３に示すように、触感呈示装置１の記憶部７０内のＵＩ定義ファイル記憶領域７４には、各ＵＩ全体を生成する際の一連の生成ルールを定義するＵＩ定義ファイルを格納する。図３では、ＵＩ定義ファイル（１）〜（６）まで６つのＵＩ定義ファイルを格納しているが、使用するＵＩに応じて、ＵＩ定義ファイル記憶領域７４には、記憶容量の許す限り、任意の数のＵＩ定義ファイルを格納できる。
【００６２】
また、各ＵＩ定義ファイルは、図３に示すように、複数のオブジェクト定義情報を含む。図３においては、ＵＩ定義ファイル（２）は６つのオブジェクト定義情報を含んでいるが、実際には、当該ＵＩ定義ファイル（２）に基づいて構成されるＵＩが含むオブジェクトの数に対応する数のオブジェクト定義情報を含む。
【００６３】
ＵＩ定義ファイルに含まれるそれぞれのオブジェクト定義情報は、図示のように、当該オブジェクト定義情報により定義されるオブジェクトに関連する各種の属性を表す情報を含む。以下、オブジェクト定義情報に含まれる代表的な情報を例示する。
（１）部品（オブジェクト）の種別情報：当該オブジェクトがユーザ操作を受け付けるボタンやキーの機能を持つものか、情報表示のテキストボックス機能を持つものか、表示部３０に画像を表示するだけの機能かなど、種別を特定する情報
（２）オブジェクトに使用するリソース情報：表示部３０に表示するＵＩを構成する要素であるキーまたはボタンなどのオブジェクトを描画するための画像およびテキストを定義する情報
（３）オブジェクトを配置する位置情報：当該オブジェクトを表示部３０における所定のＵＩ表示領域のどの位置に表示するかを特定する情報
（４）オブジェクトの表示サイズ情報：当該オブジェクトを表示部３０のＵＩ表示領域に表示する際のサイズを特定する情報
（５）オブジェクトの動作条件情報（アクション情報）：当該オブジェクトに入力がされた際の（実際にはオブジェクトに対応するタッチセンサ４０にタッチ入力がされた際の）、アプリケーションに対する動作を定義する情報（例えば、携帯電話操作入力用ＵＩの「切断」のオブジェクトに対する入力のイベントが発生した場合、携帯電話操作入力用アプリケーションに対して、通話中の回線を切断する指示を出すよう定義する）
（６）オブジェクトを有効または無効にする情報：当該オブジェクトをＵＩ表示領域に表示するか否か、またはオブジェクトをアクティブ状態にするか否かを特定する情報
【００６４】
本実施の形態では、上記（５）のオブジェクトの動作条件情報（アクション情報）として、各オブジェクトに対応する所定のアプリケーションの機能を実行するためのアクション情報とともに、各オブジェクトに対応する所定の触感の呈示に関する情報を定義する。
【００６５】
図４ないし図６は、上述したオブジェクトの動作条件情報（アクション情報）の具体例を説明する図である。以下、これらの図面を参照して、本実施の形態による触感呈示装置１の触感の設定について説明する。
【００６６】
図４は、触感呈示装置１をビデオ再生機用リモートコントロール端末の入力装置として用いた場合に、操作入力に用いるオブジェクトにより構成されるＵＩを表示部３０に表示した例を示す図である。このように、触感呈示装置１をビデオ再生機用リモートコントロール端末のＵＩとして用いる場合、アプリケーション記憶領域７２に記憶されているアプリケーションの中から、ビデオ再生機用リモートコントロール端末ＵＩ用のアプリケーションを起動する。この際の動作については後述する。ここでは、図４に示すビデオ再生機用リモートコントロール端末のＵＩを構成する各オブジェクトについて、それぞれ触感を呈示する動作について説明する。
【００６７】
図４は、ビデオ再生機用リモートコントロール端末のＵＩを例示する図である。このビデオ再生機用リモートコントロール端末のＵＩは、以下に示すオブジェクトによって構成されている。
（ａ）電源スイッチのオブジェクト：ビデオ再生機の電源をオンまたはオフにする
（ｂ）テキストボックスのオブジェクト：種々の情報を表示する
（ｃ）巻戻しボタンのオブジェクト：ビデオを巻き戻す
（ｄ）早送りボタンのオブジェクト：ビデオを早送りする
（ｅ）選局のオブジェクト：選局するチャンネルを上下する
（ｆ）音量のオブジェクト：音声の音量を上下する
（ｇ）数字キーのオブジェクト：選局をしたり数字を入力する
【００６８】
このように、図４に示すＵＩを構成するオブジェクトの役割（機能）を設定し、その動作内容を、上述した（５）オブジェクトの動作条件情報（アクション情報）として予め定義しておく。適正にアクション情報を定義することにより、例えば（ａ）電源スイッチのオブジェクトに対する入力を受け付けることにより、外部機器であるビデオ再生機の電源をオンまたはオフにする信号を、赤外線などにより発信することができる。
【００６９】
図５は、図４に示したＵＩを構成する各オブジェクトについて、触感を設定したテーブルの一部を例示する図である。
【００７０】
図５に示す縦方向の列は、図４に示したＵＩを構成するオブジェクトの一部を、オブジェクトの種別ごとに分類して示すものである。このような分類は、ＵＩ定義ファイルにおいて、上述した（１）部品（オブジェクト）の種別情報として定義する。図５に示す例においては、HapButton1（ボタン１）の種別には、上述した（ａ）「電源ボタン」のオブジェクトを設定し、HapButton2（ボタン２）の種別には、上述した（ｃ）「巻戻し」および（ｄ）「早送り」のオブジェクトを設定してある。また、HapTextBox（テキストボックス）の種別には、上述した（ｂ）テキストボックスのオブジェクトを割り当てているが、この種別においては、テキストが表示されていない場合と、テキストが表示されている場合とで、種別を区別して設定してある。なお、図５においては、（ａ）〜（ｃ）のオブジェクトについての触感の設定のみを示してあるが、上述した（ｅ）〜（ｇ）のオブジェクトについても同様に触感を設定することができる。
【００７１】
図５に示す横方向の行は、各オブジェクトの種別に対応する、呈示すべき触感を示すものである。h:pressed（クリック触感）は、該当種別のオブジェクトが押圧された際に呈示するように設定されたクリック触感の種類を表す。h:released（リリース触感）は、該当種別のオブジェクトに対する押圧が解除される際に呈示するように設定されたリリース触感の種類を表す。h:slided（なぞり触感）は、該当種別のオブジェクトが押圧された後に、当該オブジェクト上でなぞるようなスライド入力を検知した際に呈示するよう設定されたなぞり触感の種類を表す。このような触感の種類は、ＵＩ定義ファイルにおいて、上述した（５）オブジェクトの動作条件情報（アクション情報）として定義する。また、上述したh:pressed、h:released、およびh:slidedは、オペレーティングシステム（ＯＳ）が持つ同一または類似のイベントに結びついている。
【００７２】
このように、本実施の形態においては、オブジェクトに対する入力が検知された際に、単なるクリック触感、リリース触感、なぞり触感などを呈示するのみならず、それぞれのオブジェクトに応じて異なるクリック触感、リリース触感、なぞり触感などを設定できる。このような種々の触感は、例えば触感呈示部５０を圧電振動子で構成する場合、圧電振動子の振動周波数または周期などを種々調整したり、圧電振動子の出力電圧や動作開始に必要な押圧荷重などを種々調整することにより行う。
【００７３】
なお、図５においては、各オブジェクトに対する入力が検知された際に呈示される触感の種類を、例として擬態音により示してある。例えば、HapButton1（ボタン１）の種別の「電源ボタン」のオブジェクトは、押圧入力を検知すると、Type_C1の触感である「プニッ」というクリック触感を呈示する。また、このオブジェクトは、押圧入力が解除される過程で、Type_R1の触感である「カチッ」というリリース触感を呈示する。さらに、このオブジェクトは、押圧入力を検知した後でスライド入力を検知すると、Type_S2の触感である「ザラザラ」という、なぞり触感を呈示する。
【００７４】
また、例えば、HapTextBox（テキストボックス）の種別のオブジェクトは、押圧入力を検知すると、Type_C3の触感である「ピッ」というクリック触感を呈示する。また、このオブジェクトには、リリース触感は設定されていないため、押圧入力が解除される過程でリリース触感は呈示しない。さらに、このオブジェクトは、押圧入力を検知した後でスライド入力を検知すると、テキストを表示している場合はType_S2の触感である「ザラザラ」というなぞり触感を呈示する。しかしながら、このオブジェクトは、テキストを表示していない状態で、押圧入力を検知した後でスライド入力を検知すると、Type_S1の触感である「ツルツル」というなぞり触感を呈示する。
【００７５】
図６は、上述した触感の設定をXML(UIML)の形式で表現した例を示す図である。なお、図６においては、図４および図５において説明したオブジェクトのうち、種別がHapButton1（ボタン１）である（ａ）「電源ボタン」のオブジェクトに対して触感の呈示を設定した例を示す。図６は、styleの項目において、オブジェクトの形状（オブジェクトの位置、大きさ、使用する画像データ）を規定している様子を示している。このように、ＵＩを定義するためのXML(UIML)の形式に従って、behaviorの項目において、このオブジェクトに対する入力が検知された際の動作を規定することができる。そこで、このオブジェクトに対する入力が検知された際の動作として、呈示する触感の定義を付加する。
【００７６】
図６の（１）において、触感を呈示するオブジェクトを宣言する。ここでは、種別がHapButton1（ボタン１）である（ａ）「電源ボタン」のオブジェクトを指定している。また、図６の（２）において、規定の動作（ここでは触感の呈示）を実行する際に満たされるべき条件を規定する。ここでは、荷重検出部６０により検出される押圧荷重が１．５Ｎに達した際に触感を呈示することを規定している。さらに、図６の（３）および（４）において、触感呈示部５０が呈示する触感を定義している。図６の（３）においては、クリック触感として、Type_C1の触感（プニッ）を定義し、図６の（４）においては、なぞり触感として、Type_S2の触感（ザラザラ）を規定している。
【００７７】
以上のように、オブジェクトごとに、クリック触感、リリース触感、なぞり触感などを、それぞれ設定することができる。このような設定は、ＵＩの定義ファイルとしてＵＩ定義ファイル記憶領域７４に記憶する。すなわち、記憶部７０には、表示部３０に表示するＵＩの定義ファイルであって、当該ＵＩを構成するオブジェクトに応じて触感呈示部５０が呈示する触感の情報を含む定義ファイルを記憶する。使用するＵＩを変更する際は、他のＵＩ定義ファイルを読み込むことにより、ＵＩごとに異なるそれぞれのオブジェクトについて、適切な触感を設定することができる。なお、このような設定は、オブジェクト別に設定されたデフォルト値とすることも可能である。
【００７８】
上述したように、呈示する触感を定義する際は、オブジェクトの動作条件情報として操作者の押圧入力による押圧荷重を設定することができ、所定の押圧荷重が検知されて初めて触感を呈示するように設定することができる。この設定により、操作者の押圧力に応じて、例えば所定の基準を満たす押圧荷重を検知するとクリック触感を呈示し、その後所定の基準を満たす押圧荷重が維持されている間なぞり触感を呈示する、など種々の動作を設定することができる。
【００７９】
次に、本実施の形態に係る触感呈示装置１の動作を説明する。まず、触感呈示装置１において所定のアプリケーションを起動することにより、ＵＩを生成して使用可能にするまでの動作について説明する。
【００８０】
図７は、触感呈示装置１がＵＩを生成する処理を説明するフローチャートである。なお、ここで、ＵＩを生成する処理とは、ＵＩ定義ファイルを解析し、その解析結果に基づいてＵＩを表示部３０に表示する処理である。
【００８１】
図７に示すＵＩ生成処理は、アプリケーション実行部２０がアプリケーション記憶領域７２に記憶されているアプリケーションを読み出して起動する時点から開始する。ＵＩを使用するアプリケーションが起動されると、ＵＩ制御部１６は、当該アプリケーションで使用するＵＩの定義ファイルを指定して、ＵＩ定義ファイル記憶領域７４から読み出す。この時点では、指定されたＵＩ定義ファイルに基づくＵＩが、１つのＤＯＭドキュメント（またはＤＯＭノード）になっている。なお、制御部１０およびアプリケーション２０の双方ともに、記憶部７０にアクセスできる構成であれば、アプリケーション実行部２０が、制御部１０に対してＵＩ定義ファイルを識別する情報を供給する。また、制御部１０およびアプリケーション実行部２０の双方ともに記憶部７０にアクセスできる構成ではない場合、アプリケーション実行部２０から制御部１０にＵＩ定義ファイルが供給され、制御部１０がアクセスする記憶部（図示せず）に記憶されるようにして、該記憶部からＵＩ定義ファイルを読み出す。
【００８２】
ＵＩ生成処理が開始すると、まず、ＵＩ制御部１６は、ＤＯＭドキュメントに対して表示関連の解析を行う（ステップＳ１１）。これは、ＵＩＭＬ形式で記述されたＵＩ定義ファイルにおいて、structureタグやstyleタグを付された属性などを解析することにより行う。次に、ＵＩ制御部１６は、ＤＯＭドキュメントの動作関連について解析を行う（ステップＳ１２）。これは、ＵＩＭＬ形式で記述されたＵＩ定義ファイルでは、behaviorタグを付された属性などを解析する。本実施の形態では、このステップＳ１２において、ＵＩに触感を呈示するオブジェクトが含まれる場合には、当該オブジェクトについて呈示する触感を設定する。
【００８３】
次に、ＵＩ制御部１６は、ＤＯＭドキュメントに含まれる表現を、各端末に依存する表現に変換処理を行う（ステップＳ１３）。さらに、ＵＩ制御部１６は、ステップＳ１３の変換処理の結果に基づいて、使用するオブジェクトのリソースを選定して各属性（プロパティ）を設定する（ステップＳ１４）。この際に必要なオブジェクトのリソースは、ＵＩリソース記憶領域７６に記憶されているものを読み出して使用する。この後、ＵＩ制御部１６は、各オブジェクトを含むＵＩのプロット処理を行う（ステップＳ１５）。これによりＵＩの生成処理は終了し、ＵＩを表示部３０に表示することができる。
【００８４】
以上の処理により、触感呈示装置１は、ＵＩを用いるアプリケーションの実行に伴い、ＵＩ定義ファイルに基づいてＵＩを表示部３０に表示できるようになる。要するに、触感呈示装置１のＵＩ制御部１６は、ＵＩ定義ファイルを解析することにより、当該定義ファイルで定義されるユーザインタフェースを設定する。例えば、触感呈示装置１においてビデオ再生機用リモートコントロール端末ＵＩ用のアプリケーションを起動した場合、前述の図４に示したようなＵＩが表示部３０に表示される。
【００８５】
次に、表示部３０にＵＩが表示された後、触感呈示装置１が操作者の入力を受け付けて触感を呈示する際の動作について説明する。
【００８６】
本実施の形態による触感呈示装置１は、表示部３０に画像表示されたオブジェクトに対する操作者のタッチ入力がタッチセンサ４０に検知されている状態で、荷重検出部６０が検出する押圧荷重が所定の基準を満たすと、触感を呈示する。荷重検出部６０が検出する押圧荷重が所定の基準を満たす場合に触感を呈示するのは、このような場合に、操作者がタッチセンサをタッチしただけでなく、意図して押圧する（プッシュする）動作を行ったとみなせることに基づく。
【００８７】
図８は、本実施の形態による触感呈示装置１の動作を示すフローチャートである。触感呈示装置１の動作を行うにあたり、上述したＵＩ生成処理に従って、予め、表示部３０には、操作者の指またはスタイラスなどによる入力を受け付けるために、キー等のオブジェクトを画像表示しておくものとする。この際、アプリケーション実行部２０は、ＧＵＩを構成する各オブジェクトの表示データを、ＵＩ制御部１６を介して表示制御部１２に供給する。そして、表示制御部１２は、アプリケーション実行部２０から供給されたオブジェクトの表示データに基づいて、各オブジェクトの画像を表示（描画）するように表示部３０を制御する。上述したように、以下、触感呈示装置１で起動するアプリケーションで使用するＵＩを生成するＵＩ定義ファイルにおいて、オブジェクトごとに呈示すべき触感が定義してある場合について説明する。なお、このアプリケーションは、表示部３０に表示されたオブジェクトの画像の位置に対応するタッチセンサ４０にタッチ入力がなされた際、オブジェクトの画像に何らかの変化を施して表示するものとする。しかしながら、本実施の形態においては、このような画像の変化は必須のものではない。
【００８８】
上述のような準備が完了した状態で、本実施の形態による触感呈示装置１の動作は開始する。触感呈示装置１の動作が開始したら、まず、ＵＩ制御部１６は、操作者の指などによるタッチセンサ４０のタッチ面に対するタッチ入力の有無を監視する（ステップＳ３１）。ステップＳ３１にてタッチセンサ４０のタッチ面に対するタッチ入力が検知されたら、ＵＩ制御部１６は、当該タッチ入力の位置をアプリケーション実行部２０に通知する（ステップＳ３２）。
【００８９】
タッチセンサ４０におけるタッチ入力の位置が通知されたら、アプリケーション実行部２０は、当該入力の位置が、現在のＧＵＩにおいてキー等のオブジェクトの画像が表示された位置に対応するか否かを判定する（ステップＳ３３）。入力の位置が、オブジェクトの画像が表示された位置に対応する場合、アプリケーション実行部２０は、アプリケーションに基づく設定に従ってオブジェクトの画像を変更するための表示データを、ＵＩ制御部１６を介して表示制御部１２に供給する。この表示データを受け取ったら、表示制御部１２は、表示されるオブジェクトの画像を変更するように表示部３０を制御する（ステップＳ３４）。すなわち、キー等のオブジェクトに対するタッチ入力があった場合、当該オブジェクトの表示画像を変更する。オブジェクトの表示画像を変更する際、例えばオブジェクトが選択されたような表示をしたり、またオブジェクトの色または輝度などを変化させたりして、キー等に触れた（タッチした）ことを操作者が視認できるようにするのが好適である。このようなオブジェクトの画像を変化させる表示は、アプリケーションに基づく設定により、種々の態様が考えられる。
【００９０】
ステップＳ３３において、入力の位置がオブジェクトの画像が表示された位置に対応するため、ステップＳ３４においてオブジェクトの表示が変更されたら（すなわちキー等のオブジェクトに対するタッチ入力があったら）、ステップＳ３５の動作に移行する。ステップＳ３５において、触感制御部１４は、荷重検出部６０により検出される押圧荷重が、タッチセンサ４０のタッチ面に対する押圧によって増加しながら所定の基準を満たしたか否かを判定する。なお、荷重検出部６０は、例えば、４つの歪みゲージセンサ５１の出力の平均値から荷重を検出する。ここで、所定の基準を満たす荷重は、操作者が通常の押圧操作を行う際の押圧荷重に基づいて、例えば１．５Ｎ（ニュートン）などの値を予め設定し、その後も設定変更できるようにするのが好適である。また、この所定の基準は、操作者の意図に基づく押圧入力の際の押圧荷重を考慮して（例えば平均値など）、過度に低い基準を設定しないようにする。これは、操作者が意図せずに軽く触れてしまったような場合の操作は押圧（プッシュ）入力として受け付けないようにするため、および後述するリアルな触感のための圧覚を操作者に与えるためである。
【００９１】
ステップＳ３５において押圧荷重が所定の基準を満たした場合、触感制御部１４は、タッチセンサ４０のタッチ面に所定の振動を発生させて、触感を呈示するように触感呈示部５０を制御する（ステップＳ３６）。すなわち、触感制御部１４は、所定の処理を実行するオブジェクトに対する入力を検知している状態で、荷重検出部６０が触感を呈示する荷重基準を満たす押圧荷重を検出すると、触感を呈示するように触感呈示部５０を制御する。この制御により、触感呈示部５０は、タッチセンサ４０のタッチ面を押圧している押圧対象に対して触感を呈示する。ここで呈示する触感とは、図５および図６において説明したように、ＵＩの定義ファイルにおけるオブジェクト定義情報の動作条件情報（アクション情報）により設定された触感である。
【００９２】
なお、本実施の形態では、ステップＳ３６において触感呈示部５０が押圧対象に対して呈示する触感は、上述したクリック触感とすることができる。操作者に対してリアルなクリック触感を呈示するためには、触感呈示装置１は、操作者の圧覚が刺激された状態で触覚を刺激する。すなわち、触感呈示装置１は、タッチセンサ４０に加わる荷重が、触感を呈示する基準（例えば１．５Ｎ）を満たすまでは、圧覚を刺激するようにし、荷重が当該基準を満たすと、圧電振動子５２を所定の駆動信号で駆動してタッチ面４０ａを振動させて触覚を刺激する。これにより、触感呈示装置１は、押しボタンスイッチ（プッシュ式ボタンスイッチ）のようなボタンスイッチを押した際に得られるのと同様なクリック触感を、操作者に呈示することができる。したがって、操作者は、タッチセンサ上部に描画された押しボタンスイッチであっても、押しボタンスイッチを操作した場合と同様のリアルなクリック触感を得ながら、タッチセンサ４０に対して入力操作を行うことができるので、違和感を覚えることがない。また、タッチセンサ４０を「押した」という意識との連動で入力操作を行うことができるので、単なる押圧による入力ミスも防止することができる。
【００９３】
上述したクリック触感を呈示する際の駆動信号、すなわち触覚を刺激する一定周波数、周期（波長）、波形、振幅は、呈示するクリック触感に応じて適宜設定することができる。例えば、携帯端末に使用されているメタルドームスイッチに代表されるクリック触感を呈示する場合、例えば、１７０Ｈｚの一定周波数のＳｉｎ波からなる１周期分の駆動信号により触感呈示部５０を駆動する。このような駆動信号により触感呈示部５０を駆動させて、タッチ面４０ａを、基準の押圧荷重が加わった状態で、約１５μｍ振動させる。これにより、実際のキーをクリックした場合のような、リアルなクリック触感を操作者に呈示することができる。
【００９４】
また、ステップＳ３５において押圧荷重が所定の基準を満たしていない場合、触感制御部１４は、タッチセンサ４０のタッチ面に対する押圧が弱まることにより、荷重検出部６０により検出される押圧荷重がゼロになったか否かを判定する（ステップＳ３７）。ステップＳ３７において荷重検出部６０により検出される押圧荷重がまだゼロになっていない場合は、操作者のタッチセンサ４０に対するタッチ入力が解除（リリース）されていないため、ステップＳ３５に戻る。一方、ステップＳ３７において荷重検出部６０により検出される押圧荷重がゼロになった場合は、操作者がタッチセンサ４０に対するタッチ入力を解除（リリース）していると判定できるため、本実施による動作を終了する。なお、ステップＳ３７における動作は、荷重検出部６０により検出される押圧荷重がゼロになったか否かを判定する動作に代えて、タッチパネル４０に対する入力がまだ検知されているか否かを判定する動作とすることもできる。
【００９５】
一方、ステップＳ３３において、入力の位置がオブジェクトの画像が表示された位置に対応しない場合、アプリケーション実行部２０は、処理を終了する。すなわち、キー等のオブジェクトに対するタッチ入力がない場合、またはタッチ入力がキー等のオブジェクトに対するものでない場合、アプリケーション実行部２０は、オブジェクトの表示画像を変更せずに処理を終了する。さらに、この場合、ＵＩ制御部１６は、触感制御部１４に触感を呈示する旨の指示を出さずに処理を終了する。このように、触感呈示装置１は、キー等のオブジェクト以外の位置に対する入力があっても、オブジェクトに対する押圧入力は受け付けられていないことを、触感が呈示されないことによって操作者に認識させることができる。
【００９６】
このように、本実施の形態によれば、所定の動作を実行するオブジェクトに対して入力があり、かつ、所定の荷重基準を満たす押圧荷重が検出された場合に、ＵＩの定義ファイルで設定された触感を呈示する。そのため、起動するアプリケーションが触感の呈示に係る動作に対応していない場合でも、ＵＩの定義ファイルにおいて各オブジェクトに触感が設定されていれば、触感呈示装置１は、オブジェクトに対する押圧入力に基づいて、適切に触感を呈示することができる。したがって、触感呈示装置１によれば、タッチセンサに対する入力を受け付けた際、オブジェクトに応じた触感を呈示することができるとともに、ＵＩを構成する既存のアプリケーションを、ＵＩ定義ファイルに対する設定を付加するのみで流用することができる。また、本実施の形態による触感呈示装置１は、キー等のオブジェクトに対して押圧（プッシュ）する入力により、当該オブジェクトに対する入力が受け付けられたことを、リアルなクリック触覚によって操作者に認識させることができる。
【００９７】
次に、触感呈示装置１が操作者の入力を受け付けてクリック触感を呈示した後、さらにリリース触感を呈示する際の動作について説明する。
【００９８】
通常の機械式の押しボタンスイッチに対して押圧入力が行われた場合、その後スイッチに対する押圧力が弱まることにより、メタルドームスイッチなどが元の押下されていない状態に戻る触感（以下、リリース触感という）が呈示される。本実施の形態による触感呈示装置１は、押圧入力に応じてリアルなクリック触感を呈示することができるため、その後、押圧されているタッチセンサの押圧が解除（リリース）される途中で、リアルなリリース触感を呈示する方が自然な操作感を提供できる。
【００９９】
図９は、本実施の形態による触感呈示装置１の動作を示すフローチャートである。図９に示す動作は、図８において説明したクリック触感を呈示する動作（ステップＳ３６）の後から開始する。本動作が開始すると、触感制御部１４は、操作者のタッチパネル４０に対する入力の押圧力が弱まることにより、荷重検出部６０が検出する押圧荷重が所定の基準以上から当該所定の基準未満に変化したか否かを判定する（ステップＳ５１）。
なお、ここで「所定の基準以上から当該所定の基準未満に変化」とは、リリース時において、押圧荷重が所定の基準を超えている（または所定の基準以上の）状態から当該所定の基準を下回る（または所定の基準未満の）状態になることを意味する。
【０１００】
ステップＳ５１において押圧荷重が所定の基準以上から当該所定の基準未満に変化したと判定された場合、アプリケーション実行部２０は、アプリケーションに基づく設定に従ってオブジェクトの画像を変更するための表示データを、ＵＩ制御部１６を介して表示制御部１２に供給する。この表示データを受け取ったら、表示制御部１２は、表示されるオブジェクトの画像を変更するように表示部３０を制御する（ステップＳ５２）。すなわち、表示制御部１２は、キー等のオブジェクトから入力がリリースされる過程で、当該オブジェクトの表示画像を変更する。オブジェクトの表示画像を変更する際、例えば既に選択されているオブジェクトが選択される前に戻るような表示をしたり、またオブジェクトの色または輝度などを変化させたりすることができる。このような表示の変更により、キー等に対するタッチがリリースされたことを操作者が視認できるようにするのが好適である。
【０１０１】
ステップＳ５２においてオブジェクトの表示が変更されたら、次に、触感制御部１４は、ＵＩ定義ファイルで設定されたリリース触感を呈示するように触感呈示部５０を制御する（ステップＳ５３）。
【０１０２】
ここで、リリース触感を呈示する荷重基準は、押圧時にクリック触感を呈示する上記の荷重基準と同じに設定することもできるが、好ましくは、押圧時にクリック触感を呈示する荷重基準よりも５０％〜８０％低い値に設定する。このようにすれば、同一位置（オブジェクト）を連続入力（連打）する場合に、順次の入力と触感呈示タイミングとが合致し、違和感のないリアルなクリック触感を呈示することができる。すなわち、リリース時に触感を呈示する基準の荷重を、押圧時に触感を呈示する基準の荷重よりも小さくすることにより、違和感を与えないようにし、かつ、リリース時に触感を呈示する基準の荷重を、押圧時に触感を呈示する基準の荷重のおよそ５０％以上とすることにより、連続入力時の操作性を格段に向上できる。また、リリース時に触感を呈示する基準の荷重を、押圧時に触感を呈示する基準の荷重のおよそ８０％以下とすることにより、連続入力時のホールド状態での微小な荷重変化にも対応できる。
【０１０３】
このようにすれば、押下時に「カッ」、リリース時に「チッ」と感じられるよりリアルなクリック触感を呈示することができる。勿論、リリース触感は、クリック触感と同一の駆動信号を用いることもできるが、本実施の形態においては、例えば図５において説明したように、クリック触感とは別の態様のリリース触感を設定できる。
【０１０４】
次に、ＵＩの定義ファイルにおいて、オブジェクトに「なぞり触感」が設定されている場合の動作について説明する。
【０１０５】
本実施の形態においては、触感呈示装置１が呈示する触感として、あるオブジェクトに上述したクリック触感およびリリース触感のみを設定するのみならず、例えば図５において説明したなぞり触感を設定することもできる。例えば、面積の小さなオブジェクトなどの場合のように、操作者にスライド入力を求める必要性が低いオブジェクトの場合、上述したクリック触感およびリリース触感のみを設定すれば充分である場合も考えられる。しかしながら、面積の大きなオブジェクトなどの場合は、操作者がスライド入力をした際に呈示されるなぞり触感によって、操作者がオブジェクトを視認していなくても、触感によりオブジェクトを識別することができる。
【０１０６】
また、例えば図５に示したテキストボックスのオブジェクトのような場合、このオブジェクトそのものは操作者の押圧による入力を受け付けない設定にすることもできる（この場合、クリック触感およびリリース触感を設定しないようにするのが好適である）。このような場合であっても、例えばテキストボックスにテキストを表示している際にはザラザラする手触りのなぞり触感を呈示し、テキストボックスにテキストを表示していない場合にはツルツルする手触りのなぞり触感を呈示する態様も考えられる。このようにすることにより、操作者は、オブジェクトを目視していない場合であっても、テキストボックスにテキストが表示されているか否かを簡単かつ確実に判断することができる。このような態様の応用として、例えば、オブジェクトに所定の警告が表示されている場合には、通常と異なるなぞり触感が呈示されるように設定しておくなど、種々の態様を想定することができる。
【０１０７】
図１０は、本実施の形態による触感呈示装置１がなぞり触感を呈示する動作を説明するフローチャートである。図１０に示す動作も、図９に示したリリース触感の呈示の際の動作と同様に、図８において説明したクリック触感を呈示する動作（ステップＳ３６）の後から開始する。なお、図１０において、ステップＳ７１〜Ｓ７３までの動作は、図９にて説明したリリース触感を呈示する動作と同じであるため、説明を省略する。
【０１０８】
なぞり触感を呈示する動作においては、ステップＳ７１において、荷重検出部６０が検出する押圧荷重が所定の基準以上から当該所定の基準未満に変化していない場合、ステップＳ７４に移行する。ステップＳ７４においては、ＵＩ制御部１６が、タッチセンサ４０のタッチ面に対するタッチ入力の位置が変化したか否かを判定する。
【０１０９】
ステップＳ７４においてタッチ入力の位置が変化したと判定された場合、スライド入力が行われたと判断できる。この場合、触感制御部１４は、タッチセンサ４０のタッチ面に所定の振動を発生させて、ＵＩの定義ファイルにおいて設定されているなぞり触感を呈示するように触感呈示部５０を制御する（ステップＳ７５）。なお、ステップＳ７４においてタッチ入力の位置が変化したと判定されない場合、スライド入力が行われていないと判断できるため、ステップＳ７５の動作は行わずにステップＳ７６に移行する。
【０１１０】
ステップＳ７６においては、アプリケーション実行部２０が、タッチセンサ４０のタッチ面に対するタッチ入力の位置が、入力を受け付けているオブジェクトの画像が表示された位置から外れたか否かを判定する。ステップＳ７６において、入力位置がオブジェクトから外れていないと判定された場合、ステップＳ７１に戻って、以降の動作を続行する。一方、ステップＳ７６において、入力位置がオブジェクトから外れたと判定された場合、ステップＳ７２に移行して、リリースを検知した場合の動作を続行する（ステップＳ７２およびＳ７３）。
【０１１１】
このように、本実施の形態による触感呈示装置１は、ＵＩの定義ファイルにおいて、入力に応じて呈示する触感を、オブジェクトごとに設定することができる。したがって、触感呈示装置１は、既存のアプリケーションを流用することにより、所定の条件に応じてオブジェクトごとに適切な触感を呈示することができる。本発明によれば、ＵＩの生成に係る制御を行うＵＩ制御部が、ＵＩ定義ファイルに基づいて、種々のアプリケーション間の差異を補完するように触感の設定を行うため、アプリケーションの設計の段階で特別な制御を考慮する必要はなくなる。また、本実施の形態による触感呈示装置１は、オブジェクトに対する入力に応じて、クリック触感、リリース触感などの種々の触感を呈示することができる。このため、触感呈示装置１は、既存のアプリケーションを無駄にすることなく活用することができ、さらに、現実の押しボタンスイッチを操作する際に得られるようなリアルな操作感を提供することができる。
【０１１２】
なお、本発明は、上記実施の形態にのみ限定されるものではなく、幾多の変形または変更が可能である。例えば、上述した各実施の形態では、制御部１０には、表示制御部１２と、触感制御部１４と、ＵＩ制御部１６とが含まれる構成について説明した。しかしながら、本発明による触感呈示装置は、このような構成に限定されるものではなく、設計の際の要求に応じて種々の構成を採ることができる。例えば、一の機能部が他の機能部を兼ねるように機能させることで、当該他の機能部を省略したり、または一の機能部を複数の機能部に細分化したりすることもできる。
【０１１３】
また、上述した各実施の形態において、荷重検出部は、タッチセンサにおける入力検出方式に応じて構成することができる。例えば、抵抗膜方式の場合には、接触面積による抵抗変化に基づく出力信号の変化から荷重が検出できれば、歪みゲージセンサを用いることなく構成することができる。あるいは、静電容量方式の場合には、静電容量の変化に基づく出力信号の変化から荷重が検出できる場合も、歪みゲージセンサを用いることなく構成することができる。
【０１１４】
また、触感呈示部は、任意の個数の圧電振動子を用いて構成したり、タッチセンサの全面に透明圧電素子を設けて構成したり、触感を呈示する振動を表現できるのであれば、偏心モータを駆動信号の１周期で１回転させるようにして構成したり、することもできる。さらに、荷重検出部および触感呈示部は、圧電素子を用いて構成する場合は、圧電素子を共用して荷重検出部および触感呈示部を構成することもできる。
【０１１５】
上述した各実施の形態においては、タッチセンサを表示部の上面に重ねて配置した構成を想定して説明した。しかしながら、本発明による触感呈示装置は、必ずしもこのような構成にする必要はなく、タッチセンサと表示部とを離間した構成にしてもよい。
【０１１６】
また、本発明は、タッチセンサがオン・オフ動作を行うタッチスイッチとして機能する入力装置にも有効に適用することができる。
【０１１７】
また、本発明に係る触感呈示装置は、圧電素子の出力に基づいて検出される押圧荷重が触感を呈示する荷重基準を満たした際に、当該圧電素子を駆動する。ここで、圧電素子の出力に基づいて検出される押圧荷重が触感を呈示する荷重基準を満たした際とは、検出される押圧荷重が触感を呈示する基準値に達した際であってもよいし、検出される押圧荷重が触感を呈示する基準値を超えた際でもよいし、圧電素子の出力に基づいて触感を呈示する基準値が検出された際でもよい。
【符号の説明】
【０１１８】
１  触感呈示装置
１０  制御部
１２  表示制御部
１４  触感制御部
１６  ＵＩ制御部
２０  アプリケーション実行部
３０  表示部
４０  タッチセンサ
４０ａ  タッチ面
５０  触感呈示部
５２  圧電振動子
６０  荷重検出部
６１  筐体
６２  インシュレータ
６３  アッパカバー
６４  インシュレータ
７０  記憶部
７２  アプリケーション記憶領域
７４  ＵＩ定義ファイル記憶領域
７６  ＵＩリソース記憶領域
【図１】
0005635274.tif 000002
【図２】
0005635274.tif 000003
【図３】
0005635274.tif 000004
【図４】
0005635274.tif 000005
【図５】
0005635274.tif 000006
【図６】
0005635274.tif 000007
【図７】
0005635274.tif 000008
【図８】
0005635274.tif 000009
【図９】
0005635274.tif 000010
【図１０】
0005635274.tif 000011
【図１１】
0005635274.tif 000012
【図１２】
0005635274.tif 000013