上記特許文献1および特許文献2に開示の装置によれば、タッチセンサに対する操作入力を受け付けた際に、操作者の指先などに、振動による触感を呈示することができる。したがって、このような装置を用いて入力を行う操作者は、タッチセンサに対して行った操作入力が装置に適正に受け付けられたことを、触覚により認識することができる。
しかしながら、このような装置を用いて操作入力を受け付けた際に触感を呈示するためには、所定の条件に応じて触感を呈示する処理が、予めアプリケーションソフトウェア(以下、単に「アプリケーション」と記す)に組み込まれている必要がある。すなわち、上述の装置においては、振動を発生させることを予め想定して開発されたアプリケーションを使用すれば、所定の条件に応じて触感を呈示することができる。しかしながら、上述の装置に、振動を発生させることを想定していないアプリケーションをそのまま適用しても、適切に触感を呈示することはできない。
したがって、上述したような装置において所定の条件に応じて適切に触感を呈示するためには、新たにアプリケーションを開発するか、あるいは既存のアプリケーションに対して、触感を呈示するための処理を追加する等の改変を加える必要がある。
具体的には、触感呈示装置の表示部に画像表示されるキーまたはボタン等のオブジェクトの位置に対応するタッチセンサに対して入力がなされた際に、当該装置が所定の触感を呈示するための処理をアプリケーションに追加する必要がある。また、表示部にキーまたはボタン等のオブジェクトが画像表示されていない位置に対応するタッチセンサに対して入力がなされても、装置が触感を呈示しないようにする必要もある。
このように触感の呈示の有無を制御すれば、タッチセンサおよびGUI(Graphical User Interface)を入出力に用いたユーザインタフェースによって操作入力を受け付けた際に、操作者の指先などに、振動による触感を呈示することができる。すなわち、画像表示したキーまたはボタン等のオブジェクトに対する入力により、当該入力を受け付けたことを、触感を呈示することにより操作者に報知することができる。一方、キーまたはボタン等のオブジェクトのない位置に対する入力がなされても、フィードバックが発生しないようにできる。
このような制御を行う場合、触感呈示装置は、一般的に、タッチセンサに対して入力がなされた際のGUIの状態、すなわち表示部に表示されるキーまたはボタン等のオブジェクトの状態を管理しているアプリケーションと連携することが必要になる。
以下、触感呈示装置において、触感を呈示する際に想定される処理について説明する。
図8は、想定される触感呈示装置の概略構成を示すブロック図である。図8に示すように、触感呈示装置100は、制御部110と、アプリケーション実行部120と、表示部130と、タッチセンサ140と、触感呈示部150と、を備えている。また、制御部110は、表示制御部112と、触感制御部114とを含んでいる。
制御部110は、触感呈示装置100の各機能部をはじめとして触感呈示装置100の全体を制御する。アプリケーション実行部120は、図示しない記憶部から各種のアプリケーションを読み込んで、当該アプリケーションに基づく処理を実行する。なお、以下の説明においては、アプリケーション実行部120が実行しているアプリケーションは、表示部130に表示したオブジェクトの位置に対応するタッチセンサ140に入力があった際に、所定の触感を呈示する処理が予め追加されている(組み込まれている)ものとする。
表示部130は、液晶ディスプレイや有機ELディスプレイ等で構成し、入力を行うためのキーまたはボタン等のオブジェクトの画像を表示する。タッチセンサ140は、通常は表示部130の前面に配置して、表示部130に表示したオブジェクトに対する操作者の指等によるタッチ入力を、対応するタッチセンサ140のタッチ面により受け付ける。また、タッチセンサ140は、タッチ面により受け付けたタッチ入力の位置を、制御部110を介してアプリケーション実行部120に通知する。触感呈示部150は、小型の偏心モータや圧電素子等で構成し、タッチセンサ140のタッチ面を振動させることにより、操作者の指等のタッチ対象に触感を呈示する。
制御部110の表示制御部112は、アプリケーション実行部120から供給される表示データに基づいて、表示部130にオブジェクトなどの画像を表示したり、あるいは当該画像の表示態様を変更したりする等、表示に係る制御を行う。触感制御部114は、アプリケーション実行部120の指示に基づいて、触感呈示部150が所定の条件に基づく振動パターンを呈示するように制御する。
図9は、触感呈示装置100による、入力に基づいて触感を呈示する動作の例を概略的に説明するフローチャートである。
タッチセンサ140のタッチ面に対するタッチ入力が検知された時点で、触感呈示装置100による触感の呈示を制御する動作は開始する。本動作が開始すると、まず、タッチセンサ140は、タッチ面に対するタッチ入力の位置をアプリケーション実行部120に通知する(ステップS100)。この通知を受けると、アプリケーション実行部120は、当該入力位置が表示部130にキーまたはボタン等のオブジェクトを画像表示している位置に対応するか否かを判定する(ステップS102)。ステップS102において、入力位置が表示部130にキーまたはボタン等のオブジェクトの画像を表示している位置に対応しない場合、アプリケーション実行部120は、表示または触感に関する指示は行わずに動作を終了する。この場合、触感は呈示されない。
一方、ステップS102において、入力の位置がキーまたはボタン等のオブジェクトの画像を表示している位置に対応する場合、アプリケーション実行部120は、表示制御部112に対して、入力を受け付けた旨の表示を行うための表示データを供給する。ここで、入力を受け付けた旨の表示とは、例えばキーまたはボタン等のオブジェクトを一瞬だけ反転表示したり、キーまたはボタン等が押下された状態を示す画像を表示するなど、操作者が視認できるような表示にすることである。このような表示データをアプリケーション実行部120から受信したら、表示制御部112は、当該表示データに基づいて、表示部130に表示される画像を変更する(ステップS104)。
続いて、アプリケーション実行部120は、触感制御部114に対して、入力を受け付けた旨を操作者に報知するため、所定の触感を呈示するように指示する。ここで、所定の触感の呈示とは、タッチセンサ140のタッチ面を一瞬だけ振動させるなど、操作者の触覚により認識できるフィードバックを提供することである。このような触感の呈示の指示を受けたら、触感制御部114は、当該指示に従って触感呈示部150が所定の振動パターンを呈示するように制御する。これにより、触感呈示部150は、タッチセンサ140のタッチ面をタッチしているタッチ対象に対して所定の振動パターンによる触感を呈示する(ステップS106)。このような処理を行うことで、触感呈示装置100は、入力の際にタッチセンサおよびGUIを採用するユーザインタフェースによって、入力を受け付けるオブジェクトに対する操作入力を受け付けた際にのみ、触感を呈示することができる。
以上説明したように、触感呈示装置100によれば、アプリケーションが触感を呈示する動作に対応していれば、問題なく上述の動作を行うことができる。すなわち、触感を呈示する処理を予め組み込んだアプリケーションであれば、上述の動作により、所定の触感を適切に呈示することができる。
しかしながら、上述した触感呈示装置100においては、触感の呈示に対応していないアプリケーションを適用すると、そのままの状態では、入力に基づいてオブジェクトの表示が変化しても、適切に触感を呈示することはできない。したがって、触感呈示装置100において、現在までに開発されてきた種々のアプリケーション資源を無駄にせずに有効に活用するためには、それぞれのアプリケーションを改変して、所定の条件に応じて触感を呈示する処理を追加しなければならない。このような処理を追加する改変は、種々のアプリケーションごとに行わなければならず、膨大な手間とコストがかかることが懸念される。また、オブジェクトごとに異なる触感を呈示しようとすれば、それぞれのオブジェクトごとに異なる触感を呈示するための処理を追加することになるため、手間とコストは極めて大きくなる。
このような事情の下では、今後、触感呈示装置に向けたアプリケーションの開発に各社ベンダが参入する阻害要因になったり、タッチセンサおよびGUIを採用したプラットフォームの普及が遅延する要因にもなり得る。
また、例えば上記特許文献1および特許文献2に開示の技術は、単にタッチセンサが入力を受け付けると、当該入力に応じてタッチセンサを振動させているに過ぎない。このため、上記特許文献1および特許文献2に開示の技術において、触感の呈示に対応したアプリケーションを適用しても、触感を適切に呈示することができないことも想定される。特に、機械式の押しボタンスイッチ(プッシュ式ボタンスイッチ)のようなボタンスイッチがタッチセンサ上に描画される装置は、タッチセンサの入力を受け付ける閾値が低いと、タッチセンサに指などが軽く触れた(タッチした)だけで触感を呈示してしまう。このため、操作者がタッチセンサをプッシュする前段階の軽く触れる動作(タッチ)に反応してしまうため、描画イメージ(押しボタン)の反応と異なり、誤操作を誘発するおそれがある。
また、描画されたボタンスイッチを操作者がプッシュする意図はなくても(力を入れていなくても)、タッチセンサを軽く触れる動作(タッチ)に応じて触感を呈示してしまうため、操作者に違和感を与えることにもなる。ここで、タッチセンサのタッチによる入力を受け付ける閾値とは、タッチセンサが反応する閾値で、例えば抵抗膜方式においては、上部導電膜が下部導電膜に接触する押圧力の閾値であり、静電容量方式においては、接触による電気的信号の検出閾値である。
さらに、従来の触感を呈示する装置に、タッチセンサにより触感を呈示するための処理を予め組み込んだアプリケーションに基づくユーザインタフェースを採用したとしても、入力を受け付けた際に機械式の押しボタンスイッチのような操作感を提供することはできなかった。すなわち、従来の触感呈示装置により呈示される触感は、あくまでも入力が受け付けられたことを操作者に報知するためのものであり、単にタッチ面を振動させる等の動作を行うのみである。したがって、従来の触感呈示装置により呈示される触感は、機械式の押しボタンスイッチを操作する場合のようなリアルな操作感を操作者に提供するものではなかった。
しかしながら、タッチセンサおよびGUIを採用するユーザインタフェースにおいては、現実の機械式の押しボタンスイッチなどを模したオブジェクトの画像を表示することが多い。したがって、そのようなオブジェクトに対する入力を受け付けた場合、やはり機械式の押しボタンスイッチに倣ったリアルな触感を呈示するほうが、操作者に与える操作感としては好適である。表示されたオブジェクトに対して押圧入力を受け付けた際に、現実のキーまたはボタン等をクリックした場合のようなフィードバックを返すことができれば、操作者に与える操作感を向上することができる。
機械式の押しボタンスイッチの場合、操作者は、ある程度の押圧力を加えることにより、当該スイッチが押下されて、例えばメタルドームスイッチなどが坐屈する際の触感(以下、クリック触感という)を得ることができる。同様に、機械式の押しボタンスイッチの場合、操作者は、押下していたスイッチに対する押圧力を解除する過程で、ある程度まで押圧力を弱めることにより、メタルドームスイッチなどが元の押下されていない状態に戻る触感(以下、リリース触感という)を得ることができる。また、機械式の押しボタンスイッチの場合、操作者は、非常に弱い押圧力によってスイッチに触れても(タッチしても)クリック触感は呈示されず、また、クリック触感が呈示されない状態からは、リリース触感も呈示されない。従来のタッチセンサおよびGUIを採用した触感呈示装置においては、上述した機械式の押しボタンスイッチのようなクリック触感およびリリース触感を呈示することはできなかった。
また、機械式の押しボタンスイッチに対して入力を行う場合であれば、スイッチ機構等の物理的な構成の差異に応じて、様々な異なる触感が得られるものである。例えば、ボタンの大きさによって、押圧した際に得られる触感の強弱の度合いが異なったり、あるいは、ボタンによって押し込む際のストロークの深さが異なる場合にも、それぞれ押圧した際に異なる態様の感触が得られるものである。
特許文献1および2に開示された装置は、このようなオブジェクトごとに異なる触感、すなわち各オブジェクトに見合うような触感を呈示することはできなかった。特許文献1および2に開示された装置により呈示される触感は、入力が受け付けられたことを操作者に報知することが一義的な目的であるため、どのオブジェクトが押圧入力を受け付けても、同じ触感が呈示されることが一般的であった。したがって、オブジェクトに応じて異なる触感を呈示しようとすれば、上述したように、アプリケーションに対して、それぞれの触感を呈示するための処理を、オブジェクトごとに追加する等の改変を加える必要があり、大変な手間とコストを要するものとなる。
したがって、かかる事情に鑑みてなされた本発明の目的は、オブジェクトに見合う触感を呈示する触感呈示装置を提供することにある。
上記目的を達成する第1の観点に係る触感呈示装置の発明は、
タッチセンサと、
前記タッチセンサのタッチ面を振動させる触感呈示部と、
表示部と、
前記表示部に表示するオブジェクトの高さの情報、または影付けの部分の情報を解析する解析部と、
前記オブジェクトの高さの情報、または影付けの部分の情報を解析した結果に基づいて、当該オブジェクトに前記触感呈示部が呈示する触感を設定するとともに、該オブジェクトに対する入力を検知すると、前記タッチ面を押圧している押圧対象に対して当該オブジェクトに応じた触感を呈示するように前記触感呈示部を制御する制御部と、
を備えることを特徴とするものである。
第2の観点に係る触感呈示装置の発明は、
タッチセンサと、
前記タッチセンサのタッチ面を振動させる触感呈示部と、
表示部と、
前記表示部に表示する画像を解析する解析部と、
前記画像を解析した結果に基づいて、当該画像内のオブジェクトに前記触感呈示部が呈示する触感を設定するとともに、該オブジェクトに対する入力を検知すると、前記タッチ面を押圧している押圧対象に対して当該オブジェクトに応じた触感を呈示するように前記触感呈示部を制御する制御部と、
を備えることを特徴とするものである。
第3の観点に係る発明は、第1または第2の観点に係る触感呈示装置において、
前記タッチセンサのタッチ面に対する押圧荷重を検出する荷重検出部をさらに備え、
前記制御部は、前記オブジェクトに対する入力を検知している状態で、前記荷重検出部が触感を呈示する荷重基準を満たす押圧荷重を検出すると、前記押圧対象に対して触感を呈示するように前記触感呈示部を制御するものである。
第4の観点に係る発明は、第3の観点に係る触感呈示装置において、
前記制御部は、前記解析した結果に基づいて、前記オブジェクトに前記触感を呈示する荷重基準を変更するものである。
本発明によれば、オブジェクトに見合う触感を呈示することができる。
以下、本発明の各実施の形態について、図面を参照して説明する。
本発明は、表示部に表示するユーザインタフェースを生成するための情報を解析することにより、各オブジェクトの大きさ等に応じて、入力があった際に呈示する触感を設定するものである。また、本発明は、このようにして触感を呈示する際、タッチセンサに対して軽く触れる(タッチする)程度の押圧に対しては触感を呈示せず、操作者が意図してタッチセンサを押圧する(プッシュする)動作に対して触感を呈示する。
(第1実施の形態)
図1は、本発明の第1実施の形態に係る触感呈示装置の概略構成を示すブロック図である。
図1に示すように、触感呈示装置1は、制御部10と、アプリケーション実行部20と、表示部30と、タッチセンサ40と、触感呈示部50と、荷重検出部60と、を備えている。また、制御部10は、表示制御部12と、触感制御部14と、ユーザインタフェース解析部16と、を含んでいる。なお、図面および以下の説明において、「ユーザインタフェース」は、適宜、単に「UI」と略記する。
制御部10は、触感呈示装置1の各機能部をはじめとして触感呈示装置1の全体を制御する。アプリケーション実行部20は、図示しない記憶部から各種のアプリケーションを読み込んで、当該アプリケーションに基づく処理を実行する。なお、本実施の形態においては、アプリケーション実行部20が、本来、触感の呈示に対応していないアプリケーションを実行する場合について説明する。
表示部30は、押しボタンスイッチ(プッシュ式ボタンスイッチ)のようなオブジェクトを画像表示する。なお、押しボタンスイッチとは、入力ボタンやキー等(以下、単に「キー等」と総称する)である。表示部30は、例えば、液晶表示パネルや有機EL表示パネル等を用いて構成する。アプリケーション実行部20は、UIを生成する際や、オブジェクトの画像を変更する際などに、UIを構成する情報を表示制御部12およびUI解析部16に供給する。このようにしてUIを構成する情報を供給されたら、表示制御部12は、表示部30に当該情報に基づく表示を行うことができる。
タッチセンサ40は、通常は表示部30の前面に配置して、表示部30に表示したオブジェクトに対する操作者の指等(押圧対象)による押圧入力(タッチ入力)を、対応するタッチセンサ40のタッチ面により受け付ける。また、タッチセンサ40は、タッチ面に対するタッチ入力の位置を検出し、当該検出した入力の位置を、触感制御部14を介してアプリケーション実行部20に通知する。このタッチセンサ40は、例えば抵抗膜方式、静電容量方式、光学式等の公知の方式のもので構成する。
触感呈示部50は、圧電振動子等を用いて構成し、タッチセンサ40のタッチ面に振動を発生させる。この触感呈示部50は、タッチセンサ40のタッチ面に振動を発生させることにより、タッチ面を押圧している押圧対象に対して触感を呈示する。タッチ面を押圧している押圧対象とは、例えば操作者の指などである。荷重検出部60は、タッチセンサ40のタッチ面に対する押圧荷重を検出するもので、例えば、歪みゲージセンサや圧電素子等の荷重に対してリニアに反応する素子を用いて構成する。また、荷重検出部60は、検出したタッチセンサ40のタッチ面に対する押圧荷重を、触感制御部14に通知する。
制御部10の表示制御部12は、アプリケーション実行部20から供給される表示データに基づいて、表示部30にオブジェクトなどを画像表示したり、あるいは当該画像表示を変更したりする等、表示に係る制御を行う。表示制御部12は、表示部30に表示するUIを生成する際に使用するオブジェクトの表示データを、アプリケーション実行部20から受け取る。また、表示制御部12は、タッチセンサ40に対する操作者の押圧入力の位置が、所定の動作を開始するオブジェクトに対応する位置である場合の、入力を受け付けた旨を示すオブジェクトの表示データも、アプリケーション実行部20から受け取る。
触感制御部14は、タッチセンサ40が検知したタッチ面に対するタッチ入力の位置を、アプリケーション実行部20等に通知する。
UI解析部16は、アプリケーション実行部20から供給される、表示部30に表示するUIを構成する情報を解析する。UI解析部16が行う、UIを構成する情報の解析については後述する。このようにして解析した結果の情報を、UI解析部16は、触感制御部14に通知する。
このようにしてUI解析部16が解析した結果の情報を受信した触感制御部14は、タッチセンサ40に対する入力位置が所定の動作を開始するオブジェクトの位置である場合に触感呈示部50が呈示すべき触感を設定する。また、触感制御部14は、所定の処理を実行するオブジェクトに対する入力を検知している状態で、荷重検出部60により検出される押圧荷重が触感を呈示する荷重基準を満たした場合、設定された所定のパターンの振動を発生するように触感呈示部50を制御する。
図2は、図1に示した触感呈示装置1の実装構造の一例を示すもので、図2(A)は要部断面図、図2(B)は要部平面図である。表示部30は、筐体61内に収納保持する。表示部30上には、弾性部材からなるインシュレータ62を介して、タッチセンサ40を保持する。なお、本実施の形態に係る触感呈示装置1は、表示部30およびタッチセンサ40を、平面視で矩形状としている。また、触感呈示装置1は、タッチセンサ40を、図2(B)に仮想線で示す表示部30の表示領域Aから外れた4隅に配設したインシュレータ62を介して表示部30上に保持する。
また、筐体61には、表示部30の表示領域から外れたタッチセンサ40の表面領域を覆うようにアッパカバー63を設け、このアッパカバー63とタッチセンサ40との間に、弾性部材からなるインシュレータ64を配設する。なお、図2に示すタッチセンサ40は、タッチ面40aを有する表面部材を、例えば透明フィルムやガラスで構成し、裏面部材をガラスやアクリルで構成している。タッチセンサ40は、タッチ面40aが押圧されると、押圧部分が押圧力に応じて微少量撓む(歪む)、または構造体そのものが微少量撓む構造のものを用いる。
タッチセンサ40の表面上には、アッパカバー63で覆われる各辺の近傍に、タッチセンサ40に加わる荷重(押圧力)を検出するための歪みゲージセンサ51をそれぞれ接着等により設ける。さらに、タッチセンサ40の裏面上には、対向する2つの辺の近傍に、タッチセンサ40を振動させるための圧電振動子52をそれぞれ接着等により設ける。すなわち、図2に示す触感呈示装置1は、図1に示した荷重検出部60を4つの歪みゲージセンサ51を用いて構成し、触感呈示部50を、2つの圧電振動子52を用いて構成している。そして、触感呈示部50によりタッチセンサ40を振動させることにより、タッチ面40aを振動させるようにしている。なお、図2(B)は、図2(A)に示した筐体61、アッパカバー63およびインシュレータ64の図示を省略している。
次に、本実施の形態によるUIを構成する情報の解析について説明する。
本発明において、UI解析部16は、最初にUIを生成して表示部30に表示する際、または表示されるオブジェクトの画像を変更する際などに、アプリケーション実行部20から、オブジェクトの画像データを含む各種の属性情報などを受信する。このオブジェクトの画像データを含む各種の属性情報とは、UIまたはUIを構成するオブジェクトを生成するために必要な情報である。この情報には、例えば、UIを構成する各オブジェクトについて、オブジェクトを画像表示する際に使用する画像データの他、当該オブジェクトの画像を表示部30の表示領域において表示する位置の情報などが含まれる。さらに、この情報は、当該オブジェクトの画像のサイズの情報、当該オブジェクトの画像が表現するオブジェクトの高さの情報など、各オブジェクトの属性を示す各種の情報とすることができる。
本実施の形態においては、UI解析部16は、上記のUIを構成する各情報のうち、表示部30に表示するオブジェクトの画像以外の情報を抽出したものを解析する。具体的には、オブジェクトの属性情報として供給される、オブジェクトが表すボタンの大きさや、高さなどの情報を抽出(取得)して解析する。
通常、オブジェクトの大きさは、HTMLによるサイズ情報として、直接得ることができるのが一般的である。また、オブジェクトに使用されている色のうち同一色が閉める領域の面積が判定できる場合には、この判定結果から、オブジェクトが表すボタンの大きさを推定することができる。同様に、オブジェクトが示すボタンの高さの情報も属性情報に含まれている場合は、高さの情報も取得する。例えば、オペレーティングシステム(OS)によっては、オブジェクトが表すボタンの高さは、3Dコントロールなどによって標準化されていることもある。このような場合、OSから直接情報を得ることができる。
また、例えばHTML/CSSのようなスタイルシートにおいては、Shadowタグでボタンや文字に影付けをすることができる。このような場合、この影付けの部分の属性を取得することにより、shadow効果の影の広さなどを利用して、画像の立体効果部分の幅から、表示されるボタンの高さを推定することもできる。
以上のような解析そのものは、既存の各種の解析技術を用いて行うことができる。このように、UI解析部16は、UIを構成する各オブジェクトの属性情報などを解析して、この解析結果を触感制御部14に通知する。UIを構成するオブジェクトの属性情報の解析結果を受信した触感制御部14は、当該解析結果に基づいて、オブジェクトに適した触感を設定する。このようにして、それぞれのオブジェクトに適した触感を呈示することができる。
このようにして触感を設定する際には、オブジェクトに応じて触感の種類(例えばメタルドームスイッチやラバースイッチの触感)や、触感の態様(例えばフィードバックの強弱)、または触感を呈示する荷重基準など、各種の設定を行うことができる。触感を呈示する荷重基準とは、荷重検出部60が所定の荷重基準を満たす押圧荷重を検出したら押圧対象に対して触感を呈示する際の当該所定の荷重基準である。
図3は、UI解析部16がUIを構成する情報の解析を行うことにより触感制御部14が設定する触感の具体例を説明する図である。
図3(A)に示すように、UI解析部16の解析結果として、小さなオブジェクトであることが判明した場合は、比較的小さな(弱いフィードバックの)触感を設定することができる。あるいは、この場合、発生させる振動の周波数を高くしたり、振動を発生する時間を短くしたりすることもできる。一方、図3(B)に示すように、UI解析部16の解析結果として、大きなオブジェクトであることが判明した場合は、比較的大きな(強いフィードバックの)触感を設定することができる。あるいは、この場合、発生させる振動の周波数を低くしたり、振動を発生する時間を長くしたりすることもできる。さらに、図3(A)に示すような小さなオブジェクトの場合、触感を呈示する荷重基準を比較的小さく設定し、操作者の比較的弱い押圧によって触感が呈示されるようにできる。また、図3(B)に示すような大きなオブジェクトの場合、触感を呈示する荷重基準を比較的大きく設定し、操作者の比較的強い押圧でないと触感が呈示されないようにもできる。
図3(C)に示すように、UI解析部16の解析結果として、高さの低い(薄い)オブジェクトであることが判明した場合は、比較的小さな(弱いフィードバックの)触感を設定することができる。あるいは、この場合、発生させる振動の周波数を高くしたり、振動を発生する時間を短くしたりすることもできる。一方、図3(D)に示すように、UI解析部16の解析結果として、高さの高い(厚い)オブジェクトであることが判明した場合は、比較的大きな(強いフィードバックの)触感を設定することができる。あるいは、この場合、発生させる振動の周波数を低くしたり、振動を発生する時間を長くしたりすることもできる。さらに、図3(C)に示すような薄いオブジェクトの場合、触感を呈示する荷重基準を比較的小さく設定し、操作者の比較的弱い押圧によって触感が呈示されるようにできる。また、図3(D)に示すような厚いオブジェクトの場合、触感を呈示する荷重基準を比較的大きく設定し、操作者の比較的強い押圧でないと触感が呈示されないようにもできる。以上に説明した触感の設定は、想定される触感の設定のいくつかの例を説明したものに過ぎず、他にも触感の態様など、種々の触感および触感を呈示する荷重基準を設定できる。
次に、触感呈示装置1の動作について説明する。以下、触感呈示装置1が、表示部30にUIを表示した後、操作者の入力を受け付けて触感を呈示する際の動作について説明する。
本実施の形態による触感呈示装置1は、表示部30に画像表示されたオブジェクトに対する操作者のタッチ入力がタッチセンサ40に検知されると、UIを構成する情報を解析する。また、触感呈示装置1は、オブジェクトに対する操作者のタッチ入力がタッチセンサ40に検知されている状態で、荷重検出部60が検出する押圧荷重が所定の基準を満たすと、触感を呈示する。荷重検出部60が検出する押圧荷重が所定の基準を満たす場合に触感を呈示するのは、このような場合に、操作者がタッチセンサをタッチしただけでなく、意図して押圧する(プッシュする)動作を行ったとみなせることに基づく。
図4は、本実施の形態による触感呈示装置1の動作を示すフローチャートである。触感呈示装置1の動作を行うにあたり、予め、表示部30には、操作者の指またはスタイラスなどによる入力を受け付けるために、キー等のオブジェクトにより構成されるUIを画像表示しておくものとする。この際、アプリケーション実行部20は、GUIを構成する各オブジェクトの表示データを、表示制御部12に供給する。そして、表示制御部12は、アプリケーション実行部20から供給されたオブジェクトの表示データに基づいて、各オブジェクトの画像を表示(描画)するように表示部30を制御する。上述したように、以下、触感呈示装置1でUIにより実行させるアプリケーションは、触感の呈示に対応していないものとする。なお、このアプリケーションは、表示部30に表示されたオブジェクトの画像の位置に対応するタッチセンサ40にタッチ入力がなされた際、オブジェクトの画像に何らかの変化を施して表示するものとする。しかしながら、本実施の形態においては、このような画像の変化は必須のものではない。
上述のような準備が完了した状態で、本実施の形態による触感呈示装置1の動作は開始する。触感呈示装置1の動作が開始したら、まず、UI解析部16は、操作者の指などによるタッチセンサ40のタッチ面に対するタッチ入力の有無を監視する(ステップS11)。ステップS11にてタッチセンサ40のタッチ面に対するタッチ入力が検知されたら、UI解析部16は、当該タッチ入力の位置をアプリケーション実行部20に通知する(ステップS12)。
タッチセンサ40におけるタッチ入力の位置が通知されたら、アプリケーション実行部20は、当該入力の位置が、現在のGUIにおいてキー等のオブジェクトの画像が表示された位置に対応するか否かを判定する(ステップS13)。入力の位置が、オブジェクトの画像が表示された位置に対応する場合、上述したUIを構成する情報の解析を行う(ステップS14)。
また、入力の位置が、オブジェクトの画像が表示された位置に対応する場合、アプリケーション実行部20は、アプリケーションに基づく設定に従ってオブジェクトの画像を変更するための表示データを、表示制御部12に供給する。この表示データを受け取ったら、表示制御部12は、表示されるオブジェクトの画像を変更するように表示部30を制御する(ステップS15)。すなわち、キー等のオブジェクトに対するタッチ入力があった場合、当該オブジェクトの表示画像を変更する。オブジェクトの表示画像を変更する際、例えばオブジェクトが選択されたような表示をしたり、またオブジェクトの色または輝度などを変化させたりして、キー等に触れた(タッチした)ことを操作者が視認できるようにするのが好適である。このようなオブジェクトの画像を変化させる表示は、アプリケーションに基づく設定により、種々の態様が考えられる。
ステップS15においてオブジェクトの表示が変更されたら(すなわちキー等のオブジェクトに対するタッチ入力があったら)、ステップS16の動作に移行する。ステップS16においては、UI解析部16がUIを構成する情報に基づく解析を行った結果に基づいて、触感制御部14は、入力を受け付けているオブジェクトに対応する触感を設定する。入力を受け付けているオブジェクトに対応する触感が設定されたら、触感制御部14は、荷重検出部60により検出される押圧荷重が、タッチセンサ40のタッチ面に対する押圧によって増加しながら、触感を呈示する所定の基準を満たしたか否かを判定する(ステップS17)。なお、荷重検出部60は、例えば、4つの歪みゲージセンサ51の出力の平均値から荷重を検出する。ここで、所定の基準を満たす荷重は、操作者が通常の押圧操作を行う際の押圧荷重に基づいて、例えば1.5N(ニュートン)などの値を予め設定し、その後も設定変更できるようにするのが好適である。また、この所定の基準は、操作者の意図に基づく押圧入力の際の押圧荷重を考慮して(例えば平均値など)、過度に低い基準を設定しないようにする。これは、操作者が意図せずに軽く触れてしまったような場合の操作は押圧(プッシュ)入力として受け付けないようにするため、および後述するリアルな触感のための圧覚を操作者に与えるためである。
ステップS17において押圧荷重が所定の基準を満たした場合、触感制御部14は、タッチセンサ40のタッチ面に所定の振動を発生させて、触感を呈示するように触感呈示部50を制御する(ステップS18)。すなわち、触感制御部14は、所定の処理を実行するオブジェクトに対する入力を検知している状態で、荷重検出部60が触感を呈示する荷重基準を満たす押圧荷重を検出すると、触感を呈示するように触感呈示部50を制御する。この制御により、触感呈示部50は、タッチセンサ40のタッチ面を押圧している押圧対象に対して触感を呈示する。ここで呈示する触感とは、上述したUIを構成する情報の解析に基づいて、オブジェクトごとに設定された触感である。
なお、本実施の形態では、ステップS18において触感呈示部50が押圧対象に対して呈示する触感は、上述したクリック触感とすることができる。操作者に対してリアルなクリック触感を呈示するためには、触感呈示装置1は、操作者の圧覚が刺激された状態で触覚を刺激する。すなわち、触感呈示装置1は、タッチセンサ40に加わる荷重が、触感を呈示する基準(例えば1.5N)を満たすまでは、圧覚を刺激するようにし、荷重が当該基準を満たすと、圧電振動子52を所定の駆動信号で駆動してタッチ面40aを振動させて触覚を刺激する。これにより、触感呈示装置1は、押しボタンスイッチ(プッシュ式ボタンスイッチ)のようなボタンスイッチを押した際に得られるのと同様なクリック触感を、操作者に呈示することができる。したがって、操作者は、タッチセンサに描画されたバーチャルな押しボタンスイッチであっても、実際の押しボタンスイッチを操作した場合と同様のリアルなクリック触感を得ながら、タッチセンサ40に対して入力操作を行うことができるので、違和感を覚えることがない。また、タッチセンサ40を「押した」という意識との連動で入力操作を行うことができるので、単なるタッチによる入力ミスも防止することができる。
上述したクリック触感を呈示する際の駆動信号、すなわち触覚を刺激する一定周波数、周期(波長)、波形、振幅は、呈示するクリック触感に応じて適宜設定することができる。例えば、携帯端末に使用されているメタルドームスイッチに代表されるクリック触感を呈示する場合、例えば、170Hzの一定周波数のSin波からなる1周期分の駆動信号により触感呈示部50を駆動する。このような駆動信号により触感呈示部50を駆動させて、タッチ面40aを、基準の押圧荷重が加わった状態で、約15μm振動させる。これにより、実際のキーをクリックした場合のような、リアルなクリック触感を操作者に呈示することができる。
また、ステップS17において押圧荷重が所定の基準を満たしていない場合、触感制御部14は、タッチセンサ40のタッチ面に対する押圧が弱まることにより、荷重検出部60により検出される押圧荷重がゼロになったか否かを判定する(ステップS19)。ステップS19において荷重検出部60により検出される押圧荷重がまだゼロになっていない場合は、操作者のタッチセンサ40に対するタッチ入力が解除(リリース)されていないため、ステップS17に戻る。一方、ステップS19において荷重検出部60により検出される押圧荷重がゼロになった場合は、操作者がタッチセンサ40に対するタッチ入力を解除(リリース)していると判定できるため、本実施による動作を終了する。なお、ステップS19における動作は、荷重検出部60により検出される押圧荷重がゼロになったか否かを判定する動作に代えて、タッチパネル40に対する入力がまだ検知されているか否かを判定する動作とすることもできる。
一方、ステップS13において、入力の位置がオブジェクトの画像が表示された位置に対応しない場合、アプリケーション実行部20は、処理を終了する。すなわち、キー等のオブジェクトに対するタッチ入力がない場合、またはタッチ入力がキー等のオブジェクトに対するものでない場合、アプリケーション実行部20は、オブジェクトの表示画像を変更せずに処理を終了する。さらに、この場合、UI解析部16は、触感制御部14に触感を呈示する旨の指示を出さずに処理を終了する。このように、触感呈示装置1は、キー等のオブジェクト以外の位置に対する入力の場合、オブジェクトに対する押圧入力が受け付けられていないことを、触感を呈示しないことによって操作者に認識させることができる。
このように、本実施の形態によれば、所定の動作を実行するオブジェクトに対して入力があり、かつ、所定の荷重基準を満たす押圧荷重が検出された場合に、UIを構成する情報の解析に基づいて設定された触感を呈示する。そのため、起動するアプリケーションが触感の呈示に係る動作に対応していない場合でも、触感呈示装置1は、UIを構成する情報を解析することにより、各オブジェクトに対する押圧入力に基づいて、オブジェクトごとの触感を適切に呈示することができる。したがって、触感呈示装置1によれば、オブジェクトに見合った触感を呈示することができる。また、UIを用いて実行する既存のアプリケーションリソースを流用することができる。また、本実施の形態による触感呈示装置1は、キー等のオブジェクトに対して押圧(プッシュ)する入力により、当該オブジェクトに対する入力が受け付けられたことを、リアルなクリック触覚によって操作者に認識させることができる。
次に、触感呈示装置1が操作者の入力を受け付けてクリック触感を呈示した後、さらにリリース触感を呈示する際の動作について説明する。
通常の機械式の押しボタンスイッチに対して押圧入力が行われた場合、その後スイッチに対する押圧力が弱まることにより、メタルドームスイッチなどが元の押下されていない状態に戻る触感(以下、リリース触感という)が呈示される。本実施の形態による触感呈示装置1は、押圧入力に応じてリアルなクリック触感を呈示することができるため、その後、押圧されているタッチセンサの押圧が解除(リリース)される途中で、リアルなリリース触感を呈示する方が自然な操作感を提供できる。
図5は、本実施の形態による触感呈示装置1の動作を示すフローチャートである。図5に示す動作は、図4において説明したクリック触感を呈示する動作(ステップS18)の後から開始する。本動作が開始すると、触感制御部14は、操作者のタッチパネル40に対する入力の押圧力が弱まることにより、荷重検出部60が検出する押圧荷重が所定の基準以上から当該所定の基準未満に変化したか否かを判定する(ステップS31)。なお、ここで「所定の基準以上から当該所定の基準未満に変化」とは、リリース時において、押圧荷重が所定の基準を超えている(または所定の基準以上の)状態から当該所定の基準を下回る(または所定の基準未満の)状態になることを意味する。
ステップS31において押圧荷重が所定の基準以上から当該所定の基準未満に変化したと判定された場合、アプリケーション実行部20は、アプリケーションに基づく設定に従ってオブジェクトの画像を変更するための表示データを、表示制御部12に供給する。この表示データを受け取ったら、表示制御部12は、表示されるオブジェクトの画像を変更するように表示部30を制御する(ステップS32)。すなわち、表示制御部12は、キー等のオブジェクトから入力がリリースされる過程で、当該オブジェクトの表示画像を変更する。オブジェクトの表示画像を変更する際、例えば既に選択されているオブジェクトが選択される前に戻るような表示をしたり、またオブジェクトの色または輝度などを変化させたりすることができる。このような表示の変更により、キー等に対するタッチがリリースされたことを操作者が視認できるようにするのが好適である。
ステップS52においてオブジェクトの表示が変更されたら、次に、触感制御部14は、UIを構成する情報の解析に基づいて設定されたリリース触感を呈示するように触感呈示部50を制御する(ステップS33)。なお、図4のステップS14におけるUIを構成する情報の解析に基づいて、ステップS16におけるクリック触感の設定とともに、ここで呈示されるリリース触感も設定しておくようにするのが好適である。
ここで、リリース触感を呈示する荷重基準は、押圧時にクリック触感を呈示する上記の荷重基準と同じに設定することもできるが、好ましくは、押圧時にクリック触感を呈示する荷重基準よりも50%〜80%低い値に設定する。このようにすれば、同一位置(オブジェクト)を連続入力(連打)する場合に、順次の入力と触感呈示タイミングとが合致し、違和感のないリアルなクリック触感を呈示することができる。すなわち、リリース時に触感を呈示する基準の荷重を、押圧時に触感を呈示する基準の荷重よりも小さくすることにより、違和感を与えないようにし、かつ、リリース時に触感を呈示する基準の荷重を、押圧時に触感を呈示する基準の荷重のおよそ50%以上とすることにより、連続入力時の操作性を格段に向上できる。また、リリース時に触感を呈示する基準の荷重を、押圧時に触感を呈示する基準の荷重のおよそ80%以下とすることにより、連続入力時のホールド状態での微小な荷重変化にも対応できる。
このようにすれば、押下時に「カッ」、リリース時に「チッ」と感じられるよりリアルなクリック触感を呈示することができる。勿論、リリース触感は、クリック触感と同一の駆動信号を用いることもできるが、本実施の形態においては、例えば図5において説明したように、クリック触感とは別の態様のリリース触感を設定できる。
このように、本実施の形態による触感呈示装置1は、UIを構成する情報の解析に基づいて、各オブジェクトに対する触感を、オブジェクトごとに設定することができる。したがって、触感呈示装置1は、既存のアプリケーションリソースを流用するとともに、オブジェクトごとに適切な触感を呈示することができる。また、本実施の形態による触感呈示装置1は、オブジェクトに対する入力に応じて、クリック触感、リリース触感などの種々の触感を呈示することができる。このため、触感呈示装置1は、既存のアプリケーションリソースを無駄にすることなく活用することができ、さらに、現実の押しボタンスイッチを操作する際に得られるようなリアルな操作感を提供することができる。
(第2実施の形態)
次に、本発明の第2実施の形態について説明する。第2実施の形態は、上述した第1実施の形態において、ステップS14(図4)のUIを構成する情報の解析の態様を変更するものである。
上述した第1実施の形態においては、UI解析部16は、上記のUIを構成する各情報のうち、表示部30に表示するオブジェクトの画像以外の情報を抽出したものを解析した。しかしながら、アプリケーション実行部20から供給されるUIを構成する情報には、アプリケーションによって、オブジェクトの大きさや高さ等の各種情報が常に含まれているとは限らない。そこで、このような場合を考慮して、第2実施の形態においては、UIを構成する各情報のうち、表示部30に表示するオブジェクトの画像を解析する。
ステップS14において、UI解析部16がオブジェクトの画像を解析することにより、まず、オブジェクトの大きさを判定することができる。これは、例えば図6(A)に示すように、タッチセンサ40上で操作者の指による押圧が検知された位置付近の色と同系統の色が続く領域を1つのボタンなどのオブジェクトと判断することができる。また、例えばオブジェクトがボタンなどを模していて影が付いている画像表示の場合、オブジェクトの中央付近の領域の色と比較して、暗い色(影)の部分が続く領域の高さ(幅)から、オブジェクトの高さを推定することができる。例えば、図6(B)に示すように、オブジェクト中央領域の色と比較して影の部分となる(x)または(y)の幅などから、このオブジェクトの高さを推定することができる。
さらに、例えば図7に示すように、オブジェクトの画像が全体的にグラデーションのような色調変化によって凹凸が表現されている場合、そのグラデーションの色調の変化を検知することにより、オブジェクトが表現する凹凸の具合、すなわち高さを推定できる。
例えば、図7(A)に示すオブジェクトは、明暗のグラデーションの色調変化が比較的緩やかであるため、高さが比較的低いオブジェクトを表現していることが判定できる。図においては、オブジェクトの縦方向の明暗の変化を、隣のグラフでは横軸方向で表し、縦軸方向は色調の明暗を表している。グラフおいて、直線が傾斜している部分がグラデーションにより影を表現している部分であり、グラフ中央の水平な直線はキーの上面(キートップ)を表現している部分である。このようなグラデーションの前後における色調の差に基づいて、オブジェクトが表現する高さを推定することができる。一方、図7(B)に示すオブジェクトは、明暗のグラデーションの色調変化が比較的激しいため、比較的高いオブジェクトを表現していることが判定できる。なお、UIを構成する情報に、オブジェクトの大きさの情報は含まれていたが、高さ情報は含まれていなかった場合は、大きさ情報はそのまま用いて、高さ情報は本実施の形態の画像解析により判定するなど、解析方法を適宜組み合わせて用いることもできる。
なお、オブジェクトによっては、例えば図7(C)に示すオブジェクトの上端付近のように、画像の一部に光沢やツヤを表すハイライトの表示が入っている場合もある。このような場合、図7(C)に示すオブジェクトの隣に示すグラフのように、そのまま画像解析を行うと、オブジェクトの高さを正しく推定できないおそれもある。グラフにおいてαの部分が、オブジェクトのツヤを表すハイライトの部分である。したがって、このような微小区間における急激な変化は、ノイズとして処理することにより、オブジェクトの高さの推定においては考慮しないようにするのが好適である。すなわち、例えばローパスフィルタをかけるなどして、図7(C)に示すαのような箇所は取り除いた上で、オブジェクトの高さの推定を行うようにする。
以上説明したような画像の解析は、各種の既存の画像解析技術を用いて行うことができる。この解析結果に基づいて、触感制御部14は、各オブジェクトに適した触感および触感を呈示する荷重基準を設定し、その他の点においては第1実施の形態と同じように実施することができる。オブジェクトごとの触感および触感を呈示する荷重基準を設定する際は、上述の画像解析により得たオブジェクトの大きさ情報や高さ情報を用いて第1実施の形態と同様の条件に従って設定することができる。また、本実施の形態においては、画像解析に基づく独自の条件に従って触感および触感を呈示する荷重基準を設定してもよい。例えば、オブジェクトの画像解析によりオブジェクトの色を全体的に判別し、重厚な感じのする「重そうに見える色」のオブジェクトには、強い触感が呈示されるように設定したり、触感を呈示する荷重基準を高く設定することができる。また、例えば「軽そうに見える色」のオブジェクトには、弱い触感を設定したり、触感を呈示する荷重基準を低く設定することができる。
上述したような設定の基になる画像解析ができるように、UI解析部16には、所定の条件に従って適切な判断を行うことができるような画像解析を実行するアルゴリズムを備えておく。
このように、本実施の形態によれば、ボタンなどのオブジェクトの見た目に対応した適切な触感が呈示されるように設定することができる。
なお、本発明は、上記実施の形態にのみ限定されるものではなく、幾多の変形または変更が可能である。例えば、上述した第2実施の形態においてUIを構成する情報の解析を行う際は、オブジェクトがクリックされる前の画像と、クリックされた後の画像と比較することにより、触感の設定および触感を呈示する荷重基準の設定をしてもよい。このようにオブジェクトがクリックされる前後の画像を比較すれば、オブジェクトが表現するボタンなどが押圧された際のストロークの深さを推定することができる。
また、上述した各実施の形態においては、図4のステップS15にてオブジェクトがクリックされた画像の表示に変更したが、この処理をステップS18の前または後に行うようにしてもよい。このようにすれば、押圧入力により呈示される触感と、押圧入力を受け付けたオブジェクトの表示がシンクロすることになり、見た目も自然な挙動のUIとなる。
さらに、上述した各実施の形態では、オブジェクトに対する操作者の押圧入力が検知されてからUIを構成する情報を開始し、適切な触感を設定した。しかしながら、最初にUIを生成して各UIオブジェクトを表示する際に、それぞれUIの情報を解析して予め触感を設定しておくこともできる。このようにすると、触覚制御部14は、設定された触感を一時的に記憶しておかなければならないが、そのぶん、毎回触感を設定する場合と比べると、UI解析部16および触感制御部14の処理負荷は軽くなるというメリットがある。したがって、触感呈示装置1に搭載される処理装置の処理速度が高速なものでなくとも、処理が間に合わずに触感の呈示が遅延する、というおそれはなくなる。
また、例えば、上述した各実施の形態では、制御部10に、表示制御部12と、触感制御部14と、UI解析部16とが含まれる構成について説明した。しかしながら、本発明による触感呈示装置は、このような構成に限定されるものではなく、設計の際の要求に応じて種々の構成を採ることができる。例えば、一の機能部が他の機能部を兼ねるように機能させることで、当該他の機能部を省略したり、または一の機能部を複数の機能部に細分化したりすることもできる。
さらに、上述した各実施の形態において、荷重検出部は、タッチセンサにおける入力検出方式に応じて構成することができる。例えば、抵抗膜方式の場合には、接触面積による抵抗変化に基づく出力信号の変化から荷重が検出できれば、歪みゲージセンサを用いることなく構成することができる。あるいは、静電容量方式の場合には、静電容量の変化に基づく出力信号の変化から荷重が検出できる場合も、歪みゲージセンサを用いることなく構成することができる。
なお、触感呈示部は、任意の個数の圧電振動子を用いて構成したり、タッチセンサの全面に透明圧電素子を設けて構成したり、触感を呈示する振動を表現できるのであれば、偏心モータを駆動信号の1周期で1回転させるようにして構成したり、することもできる。さらに、荷重検出部および触感呈示部は、圧電素子を用いて構成する場合は、圧電素子を共用して荷重検出部および触感呈示部を構成することもできる。
上述した各実施の形態においては、タッチセンサを表示部の上面に重ねて配置した構成を想定して説明した。しかしながら、本発明による触感呈示装置は、必ずしもこのような構成にする必要はなく、タッチセンサと表示部とを離間した構成にしてもよい。
本発明は、タッチセンサがオン・オフ動作を行うタッチスイッチとして機能する入力装置にも有効に適用することができる。
また、本発明に係る触感呈示装置は、圧電素子の出力に基づいて検出される押圧荷重が触感を呈示する荷重基準を満たした際に、当該圧電素子を駆動する。ここで、圧電素子の出力に基づいて検出される押圧荷重が触感を呈示する荷重基準を満たした際とは、検出される押圧荷重が触感を呈示する基準値に達した際であってもよいし、検出される押圧荷重が触感を呈示する基準値を超えた際でもよいし、圧電素子の出力に基づいて触感を呈示する基準値が検出された際でもよい。