以下、本発明の実施の形態について、図面を参照して説明する。
図1は、本発明の実施の形態に係る触感呈示装置の概略構成を示すブロック図である。
図1に示すように、触感呈示装置1は、表示制御部12と、触感制御部14と、アプリケーション実行部20と、を備えている。なお、表示制御部12と、触感制御部14と、アプリケーション実行部20は、制御部10に含まれるものである。また、触感呈示装置1は、表示部30と、タッチセンサ40と、触感呈示部50と、荷重検出部60と、記憶部80と、を備えている。
記憶部80は、例えばNAND型フラッシュメモリ等によって構成し、そのメモリ領域の少なくとも一部に、アプリケーション記憶領域82および表示用リソース記憶領域84を含んでいる。記憶部80に含まれるアプリケーション記憶領域82は、各種のアプリケーションを記憶することができる。また、表示用リソース記憶領域84は、当該アプリケーションを構成するデータのうち表示部30に表示する際に利用されるデータを記憶することができる。例えば、表示用リソース記憶領域84は、表示用リソースとして、画像ファイルなどの画像のデータを格納することができる。この表示用リソースには、後述するように、触感の種類や呈示条件等を示す触感設定情報が付加されている。なお、これらの記憶領域82および84は、以下の説明の便宜上、仮想的な領域の区別を表したものであり、必ずしも物理的な区別を意味するものではなく、アプリケーション記憶領域82の中に表示用リソース記憶領域84が含まれる態様なども考えられる。
なお、アプリケーション記憶領域82に記憶されているアプリケーションと、表示用リソース記憶領域84に記憶されている表示用リソースは、別個独立のものである。後述のとおり、アプリケーション実行部20にて、アプリケーションに基づく処理を実行すると、アプリケーションのソースコードに基づき表示用リソース記憶領域84から表示用リソースが読み出される。したがって、アプリケーションのソースコードには、表示用リソース記憶領域84から表示用リソースを読み出す命令があるだけで、当該表示用リソースを読み出す際に、表示用リソースに触感設定情報が付加されているか否かで、アプリケーションのソースコードに改変を加える必要はない。また、触感呈示装置1に記憶されているアプリケーション等の各種のデータは、記憶部80に記憶されている必要はなく、例えば、触感呈示装置1が備える図示しない通信部により通信を行うことが可能なサーバ等に記憶されていてもよい。
アプリケーション実行部20は、各種のアプリケーションのうち指定されたものを記憶部80から読み込んで、当該アプリケーションに基づく処理を実行するとともに、各機能部を当該アプリケーションに基づいて制御する。なお、本実施の形態において、アプリケーション実行部20が実行するアプリケーションについては後述する。
表示部30は、背景画像などを表示したり、押しボタンスイッチ(プッシュ式ボタンスイッチ)のようなオブジェクトを画像表示したりする。このオブジェクトは、接触すべき領域を操作者に示唆する画像である。また、押しボタンスイッチとは、操作者が入力の操作に用いるボタンやキー等(以下、単に「キー等」と総称する)である。表示部30は、例えば、液晶表示パネル(LCD)や有機EL表示パネル等を用いて構成する。
タッチセンサ40は、通常は表示部30の前面に配置して、表示部30に表示したオブジェクトに対する操作者の指等(接触対象)による接触(または接触の解除)を、対応するタッチセンサ40のタッチ面において検出する。また、タッチセンサ40は、タッチ面に対する接触の位置を検出し、当該検出した接触の位置を、触感制御部14に通知する。このタッチセンサ40は、例えば抵抗膜方式、静電容量方式、光学式等の公知の方式のもので構成する。
触感呈示部50は、例えば圧電振動子等を用いて構成し、タッチセンサ40のタッチ面に、所定の振動パターンによる振動を発生させる。この触感呈示部50は、タッチセンサ40のタッチ面に振動を発生させることにより、タッチ面を接触している接触対象に対して触感を呈示する。
荷重検出部60は、タッチセンサ40のタッチ面に対する押圧荷重を検出するもので、例えば、歪みゲージセンサや圧電素子等の荷重に対してリニアに反応する素子を用いて構成する。また、荷重検出部60は、検出したタッチセンサ40のタッチ面に対する押圧荷重を、触感制御部14に通知する。
表示制御部12は、アプリケーション実行部20からの表示指示に基づいて、表示部30に背景画像やオブジェクトの画像などを表示したり、あるいは当該画像の表示を変更したりする等、表示部30における表示に係る制御を行う。アプリケーション実行部20が表示制御部12に対して表示指示を行う際には、表示部30に表示する画像の表示データなどは、記憶部80の表示用リソース記憶領域84に記憶させておいた表示用リソースを読み出すことができる。表示制御部12は、このように記憶部80から読み出した表示データの供給を受けて、所定の画像を描画するように表示部30を制御する。また、表示制御部12は、後述するように、アプリケーション実行部20により指定された表示用リソースに付加されている触感設定情報と、表示用リソースの表示位置(および表示階層)の情報と、等に基づいて触感制御部14に対して触感の設定を行う。
触感制御部14は、表示制御部12による触感の設定に基づいて、所定の条件に基づく所定のパターンの振動を発生するように触感呈示部50を制御する。例えば、触感制御部14は、タッチセンサ40が表示部30に表示された所定のオブジェクト等の画像の領域に対応する位置における接触を検出したら、タッチセンサ40のタッチ面を接触している接触対象に対して当該画像に設定された触感を呈示するように触感呈示部50を制御する。
また、触感制御部14は、表示制御部12による触感の設定が、押圧荷重の条件を伴うものである場合、荷重検出部60により検出される押圧荷重が、触感を呈示する所定の基準を満たしているか否かを判定する。この場合、触感制御部14は、上述の触感を呈示する所定の基準を満たす押圧荷重が荷重検出部60により検出されたら、所定の条件に基づく所定のパターンの振動を発生するように触感呈示部50を制御する。例えば、触感制御部14は、タッチセンサ40が表示部30に表示された所定の画像の領域に対応する位置における接触を検出しているときに、荷重検出部60が当該画像に設定された触感を呈示する荷重基準を満たす押圧荷重を検出したら、接触対象に対して当該画像に設定された触感を呈示するように触感呈示部50を制御する。なお、触感制御部14は、触感を呈示するように触感呈示部50を制御する際、タッチセンサ40によって接触が検出された位置情報や荷重検出部60によって検出された荷重等の情報を、適切なタイミングでアプリケーション実行部20に通知する。
図2は、図1に示した触感呈示装置1のうち、表示部30、タッチセンサ40、触感呈示部50、および荷重検出部60を中心とする実装構造の一例を示すもので、図2(A)は要部断面図、図2(B)は要部平面図である。表示部30は、筐体71内に収納保持する。表示部30上には、弾性部材からなるインシュレータ72を介して、タッチセンサ40を保持する。なお、本実施の形態に係る触感呈示装置1は、表示部30およびタッチセンサ40を、平面視で矩形状としている。しかしながら、触感呈示装置1が備えるタッチセンサ40または表示部30の構成などの諸条件に応じた形状とすることができる。また、触感呈示装置1は、タッチセンサ40を、図2(B)に仮想線で示す表示部30の表示領域Aから外れた4隅に配設したインシュレータ72を介して表示部30上に保持する。
また、筐体71には、表示部30の表示領域から外れたタッチセンサ40の表面領域を覆うようにアッパカバー73を設け、このアッパカバー73とタッチセンサ40との間に、弾性部材からなるインシュレータ74を配設する。なお、図2に示すタッチセンサ40は、タッチ面40aを有する表面部材を、例えば透明フィルムやガラスで構成し、裏面部材をガラスやアクリルで構成している。タッチセンサ40は、タッチ面40aが押圧されると、押圧部分が押圧力に応じて微少量撓む(歪む)、または構造体そのものが微少量撓む構造のものを用いる。
タッチセンサ40の表面上には、アッパカバー73で覆われる各辺の近傍に、タッチセンサ40に加わる荷重(押圧力)を検出するための歪みゲージセンサ62をそれぞれ接着等により設ける。さらに、タッチセンサ40の裏面上には、対向する2つの辺の近傍に、タッチセンサ40を振動させるための圧電振動子52をそれぞれ接着等により設ける。すなわち、図2に示す触感呈示装置1は、図1に示した荷重検出部60を4つの歪みゲージセンサ62を用いて構成し、触感呈示部50を、2つの圧電振動子52を用いて構成している。そして、触感呈示部50によりタッチセンサ40を振動させることにより、タッチ面40aを振動させるようにしている。なお、図2(B)は、図2(A)に示した筐体71、アッパカバー73およびインシュレータ74の図示を省略している。
次に、本発明による触感呈示装置1において使用されるアプリケーションが供給する画像のデータに付加された、触感の設定に係る情報(以下、適宜「触感設定情報」と記す)について説明する。
図3は、触覚設定情報を含む表示用リソースの構成の一例を説明する図である。図3に示す例においては、表示用リソースをBMP(Microsoft Windows(登録商標) Bitmap Image)ファイルとした場合の例を示す。しかしながら、本発明による触感呈示装置1において使用されるアプリケーションの表示用リソースはBMPファイルに限定されるものではなく、PNGファイルまたはJPGファイル等の他のファイル形式とすることも可能である。他のファイル形式が使用される場合は、後述するBMPファイルの予約領域に対応する領域に触感設定情報を付加することが好適である。
図3(A)は、本発明による表示用リソースを構成するBMPファイルフォーマットの構成を説明する図である。図3(A)に示すように、BMPファイルフォーマットは、14バイトのファイルヘッダ、12または40バイトの情報ヘッダ、および画像データ、により構成されている。情報ヘッダは、40バイトならばWindows(登録商標)のフォーマットであり、12バイトならばOS/2のフォーマットである。
図3(B)は、BMPファイルの一部であるファイルヘッダのフォーマットの構成を説明する図である。図3(B)に示すように、ファイルヘッダのフォーマットは、最初から2バイトがファイルタイプを示し、次の4バイトはファイルサイズを示し、次に2バイトずつの予約領域1および2が存在し、最後の4バイトは先頭から画像データまでのオフセットである。これら2バイトずつの予約領域1および2は、常にゼロであり、使用されていない。そこで、本発明においては、この予約領域を、触感の設定に係る情報すなわち触感設定情報として活用する。例えば、以下の例においては、2バイトの予約領域1を触感設定情報とする場合について説明する。
図3(C)は、2バイトの予約領域1を触感設定情報として使用したフォーマットの構成を説明する図である。本発明においては、図3(C)に示すように、例えば、予約領域1を構成する2バイトのうち最初の1バイトを用いて、当該予約領域1が触感設定情報として使用されている旨を示す識別子を格納する。この識別子には、0x00または0xFF以外の任意の値を使用することが想定できる。そして、本発明においては、例えば、予約領域1を構成する2バイトのうち残りの1バイトを用いて、触感呈示動作種別を示す情報を格納する。この触感呈示動作種別を示す情報とは、この表示用リソースすなわちBMPファイルに基づいて表示される画像の領域に対応する位置のタッチセンサ40において接触が検出された際に実行する動作により呈示される、触感の種別を示す情報である。
なお、上述した触感設定情報は、アプリケーションを構成するプログラムに含ませる必要がある。しかしながら、本発明においては、この触感設定情報をファイルヘッダの一部に含ませて画像のデータに付加するだけでこと足りる。したがって、本発明によるアプリケーションにおいては、ソースコードそのものを改変する必要がないため、プログラムとしての汎用性を高めることができる。すなわち、このようなアプリケーションを、触感を呈示しないタイプのタッチセンサを備える機器に使用した場合でも、画像のデータに付加された触感設定情報は無視されるため、当該機器において触感の呈示以外の他の機能を正常に動作させることができる。
図4は、上述した触感設定情報において、呈示される触感を指定するために予約領域1の2バイト目に格納すべき値と、当該値が示す触感呈示動作の内容との対応関係の一例を示す図である。本発明による触感呈示装置1においては、触感制御部14が、図4に例示したような値を認識することに基づいて、対応する触感呈示動作の内容に示した触感が呈示されるように設定を行う。
図4に示すように、例えば図3(C)で説明した触感呈示動作種別に値0x00が格納されている場合、当該表示用リソースの画像データにより表示される画像に対応する位置のタッチセンサ40において接触が検出されても、触感を呈示しないように設定される。また、触感呈示動作種別に値0x01が格納されている場合、当該表示用リソースの画像データにより表示される画像に対応する位置のタッチセンサ40において接触が検出されると、通常のクリック触感を呈示するように設定される。なお、「通常のクリック触感」とは、機械式のキーやボタンなどを押圧した際に得られる「ボタンが一気に押し下がった(カチッという)触感を再現したもの」を意味する。
同様に、触感呈示動作種別に値0x02が格納されている場合、当該表示用リソースの画像データにより表示される画像に対応する位置のタッチセンサ40において接触が検出されると、グニュという感触のクリック触感を呈示するように設定される。なお、「グニュという感触のクリック触感」とは、例えばフィードバックが強めのキーやボタンなどを押圧した際に得られる「ボタンが(一気に沈むのではなく)徐々に沈むような触感を再現したもの」を意味する。
また、触感呈示動作種別に値0x11が格納されている場合、当該表示用リソースの画像データにより表示される画像に対応する位置のタッチセンサ40において接触が検出されると、その時の押圧荷重に応じた通常のクリック触感を呈示するように設定される。このように、押圧荷重に応じて触感を呈示する場合、荷重検出部60により検出される荷重が所定の第1段階の基準を満たしたら、第1段階の通常のクリック触感を呈示するように設定される。同様に、この場合、荷重検出部60により検出される荷重が、第1段階の基準よりも高い所定の第2段階の基準を満たしたら、第1段階よりも強めの第2段階の通常のクリック触感を呈示するなど、複数段階の押圧荷重に応じて触感を呈示するように設定される。
また、触感呈示動作種別に値0x21が格納されている場合、当該表示用リソースの画像データにより表示される画像に対応する位置のタッチセンサ40において、接触の移動が検出されると、つるつるした感触のなぞり触感を呈示するように設定される。なお、「つるつるした感触のなぞり触感」とは、摩擦の少ない平面において操作者が指などをスライドさせた際に得られる感触を、タッチセンサを振動させる触感呈示部50の制御により再現した触感のことを意味する。また、「ザラザラした感触のなぞり触感」とは、摩擦の大きな平面において操作者が指などをスライドさせた際に得られる感触を、タッチセンサを振動させる触感呈示部50の制御により再現した触感のことを意味する。
図5は、各種の表示用リソースに基づいて表示部30に表示される画像と、上述した触感呈示動作種別の値との対応関係の一例を示す図である。図5の左側の欄は、本発明による触感呈示装置1において使用可能なアプリケーションに含まれる表示用リソースの画像のデータに基づいて表示部30に表示される画像の例を示す。また、図5の右側の欄は、当該表示用リソースのファイルヘッダに含まれる触感設定情報の触感呈示動作種別を表す値を示す。
例えば図5(A)および(B)に示すような背景画像など、当該部分に対応する位置のタッチセンサ40に接触が検出されても触感を呈示すべきでない画像の触感呈示動作種別には、値0x00を対応させて触感が呈示されないようにする。一方、図5(C)、(D)および(E)に示すボタンの画像など、当該部分に対応する位置のタッチセンサ40に接触が検出されたら触感を呈示すべき画像の触感呈示動作種別には、値0x01や0x11等を対応させて、それぞれ画像に応じた触感が呈示されるようにする。
また、図5(F)に示すスライドバーの画像など、当該部分に対応する位置のタッチセンサ40において、接触の移動が検出されたら触感を呈示すべき画像の触感呈示動作種別には、例えば値0x22等を対応させて、なぞり触感等が呈示されるようにする。なお、図5(G)に示す画像はGUIにおけるダイアログボックスを構成する画像である。このダイアログボックスの中にさらにボタンなどの画像が表示される場合には、当該ボタンは接触の検出に応じて触感を呈示するが、それ以外の部分においては触感を呈示しないため、図5(G)に示す画像の触感呈示動作種別にも、値0x00を対応させている。
次に、本発明による触感呈示装置1において、触感設定情報が付加された表示用リソースを含むアプリケーションを実行する場合の動作を説明する。本発明においては、表示用リソースに触感設定情報を含めるため、基本的に、表示部30に最初に画像が表示される際、または表示部30において表示された画像が変更される際に、更新後の画面に対して触感を設定する動作が行われる。以下の説明においては、実行中のアプリケーションに基づいて、アプリケーション実行部20が、表示制御部12に対して所定の画像を表示する旨の指示を出した際の表示制御部12および触感制御部14の動作を中心に説明する。
図6は、表示制御部12の動作を説明するフローチャートである。図6に示す動作が開始すると、まず、表示制御部12は、アプリケーション実行部20から、表示制御部12に対して所定の画像を表示する旨の指示があったか否かを判定する(ステップS11)。ステップS11においてアプリケーション実行部20から所定の画像を表示する旨の指示があったら、当該アプリケーションに規定された表示の指示に基づいて、記憶部80の表示用リソース記憶領域84から表示用リソースを取得する(ステップS12)。
記憶部80から表示用リソースを取得したら、表示制御部12は、取得した表示用リソースを、当該表示の指示に基づいた表示の位置にプロットすることにより、描画用データを生成する(ステップS13)。なお、描画用データを生成する際、各表示用リソースを表示させる表示位置などの情報は、例えばアプリケーションに規定しておくことにより、表示するそれぞれの画像の位置などを定めることができる。また、表示部30において各画像の階層表示などが行われる場合も、その旨の情報をアプリケーションに規定しておくことにより、特殊な態様の画像の表示を行うこともできる。
描画用データが生成されたら、表示制御部12は、ステップS13において使用した表示用リソースに含まれているファイルヘッダに基づいて、触感設定情報を生成する(ステップS14)。なお、触感呈示情報を生成する際、当該表示用リソースを表示させる位置(および表示階層)などの情報に基づいて、タッチセンサ40において呈示される触感を設定する位置または範囲などの情報も含ませることができる。
触感設定情報が生成されたら、表示制御部12は、ステップS13において生成した描画用データを表示部30に供給するとともに、表示部30が描画用データに基づく画像を表示するように制御する(ステップS15)。これにより、触感呈示装置1の表示部30における画面表示が更新される。
画面表示が更新されると、表示制御部12は、ステップS14において生成した触感設定情報を触感制御部14に供給する(ステップS16)。これにより、触感制御部14において触感の設定が更新されるようにすることができる。
上述したような動作により、触感呈示装置1は、表示用リソースに触感設定情報が含まれている場合、生成した触感設定情報を触感制御部14に供給することができる。なお、表示用リソースに触感設定情報が含まれている場合は、ステップS14において触感設定情報が生成されないため、ステップS16において触感制御部14にも供給されない。
図7は、触感制御部14の動作を説明するフローチャートである。図7に示す動作が開始すると、まず、触感制御部14は、表示制御部12から触感設定情報が供給されたか否かを判定する(ステップS21)。ステップS21において表示制御部12から触感設定情報が供給されたら、触感制御部14は、触感制御部12において管理している触感設定情報を更新する(ステップS22)。ここで、触感設定情報の更新とは、各表示用リソースに基づいて表示される画像について、触感設定情報に含まれる触感呈示動作種別の値に対応する触感呈示動作内容が表す触感を、当該触感が呈示される条件とともに触感制御部14に設定することである。すなわち、この際、触感制御部14が、アプリケーションから供給される画像のデータに付加された触感の設定に係る情報に基づいて、表示部30に表示する画像に応じて触感呈示部50が呈示する触感を設定するように制御する。
触感設定情報が更新されたら、触感制御部14は、タッチセンサ40によって操作者の指やスタイラス等の接触対象による接触が検出されたか否かを判定する(ステップS23)。なお、ステップS21において表示制御部12から触感設定情報が供給されない場合は、更新すべき情報がないため、触感制御部14は、ステップS22を経ずに、すなわち触感設定情報を更新せずに、ステップS23以降の処理を行う。
ステップS23においてタッチセンサ40によって接触が検出されない場合、触感制御部14は、ステップS21に戻って処理を続行する。一方、ステップS23においてタッチセンサ40によって操作者の接触が検出された場合、触感制御部14は、当該接触位置における触感設定を確認する(ステップS24)。すなわち、ステップS24において、触感制御部14は、表示部30に表示された画像の領域に対応する位置においてタッチセンサ40に接触が検出された場合に呈示する触感が設定されているか否かを確認してから、ステップS25の処理に移行する。
ステップS24において接触位置における触感設定を確認した結果、ステップS25において触感の呈示が必要でないと判定された場合、触感制御部14は、ステップS21に戻って処理を続行する。
一方、ステップS25において触感の呈示が必要であると判定された場合、触感制御部14は、当該位置に設定された触感が、押圧荷重の条件を含むものであるか否かを判定する(ステップS26)。この条件の有無の区別にあたっては、例えば図3ないし5において説明した触感呈示動作種別を示す値によって、押圧荷重の条件を有する触感の呈示と、当該条件を有しない触感の提示とを区別することができる。
ステップS26において、接触位置に設定された触感が押圧荷重の条件を含むものでない場合は、その後直ちに触感を呈示するため、触感制御部14は、ステップS30に移行して処理を続行する。
ステップS30において、触感制御部14は、触感呈示部50に対して触感設定に応じた振動パターンを出力する(ステップS30)。これにより、触感呈示部50は、タッチセンサ40において接触が検出された位置に対応する画像に応じた触感を呈示することができる。すなわち、触感制御部14は、タッチセンサ40が表示部30に表示された所定の画像の領域に対応する位置における接触を検出したら、タッチセンサ40のタッチ面を接触している接触対象に対して当該画像に設定された触感を呈示するように触感呈示部50を制御する。
ステップS30において触感が呈示されたら、触感制御部14は、操作者による接触の情報をアプリケーション実行部20へ通知する(ステップS31)。アプリケーション実行部20は、当該通知を受信したことをトリガとして、操作者による接触の検出に応じて当該接触に割り当てられた所定の処理を実行することができる。例えば、表示部30に表示された音楽プレーヤの再生ボタンの画像に対応する位置のタッチセンサ30において接触が検出されたら、アプリケーション実行部20は、音楽プレーヤのアプリケーションに基づいて音楽の再生動作を開始する。あるいは、例えば表示部30に表示されたキーボードのキーの画像に対応する位置のタッチセンサ30において接触が検出されたら、アプリケーション実行部20は、文字入力のアプリケーションに基づいて表示部30に当該文字を出力する動作を開始する。
一方、ステップS26において、接触位置に設定された触感が押圧荷重の条件を含む場合は、荷重検出部60が所定の基準を満たす押圧荷重を検出してから触感を呈示するため、ステップS27に移行して処理を続行する。
ステップS27においては、触感制御部14は、タッチセンサ40に対する操作者の接触がまだ継続して検出されているか否かを判定する。ステップS27において接触がもはや継続していない場合、操作者の接触操作はすでに行われていないと判断できるため、触感制御部14は、タッチセンサ40に対する操作者の接触が解除されたものとして、ステップS21に戻る。すなわち、押圧荷重の条件を満たさずに操作者の接触操作が終了した場合には、触感制御部14は、触感呈示部50への振動パターンの出力やアプリケーション実行部20への通知は行わない。
一方、ステップS27において接触がまだ継続して検出されている場合、触感制御部14は、タッチセンサ40のタッチ面に対する押圧荷重を監視するように荷重検出部60を制御する(ステップS28)。ステップS28の後、触感制御部14は、荷重検出部60により検出される押圧荷重が、タッチセンサ40の押圧によって増加しながら所定の基準を満たしたか否かを判定する(ステップS29)。なお、荷重検出部12は、例えば、4つの歪みゲージセンサ62の出力の平均値から荷重を検出する。ここで、所定の基準を満たす荷重は、操作者が通常の押圧操作を行う際の押圧荷重に基づいて、例えば1N(ニュートン)などの値を予め設定し、その後も設定変更できるようにするのが好適である。また、この所定の基準は、操作者が意図せずに軽く触れてしまったような場合の操作は入力として受け付けないようにするため、および後述するリアルな触感のための圧覚を操作者に与えるために、操作者の意図に基づく押圧入力の際の押圧荷重を考慮して(例えば平均値など)、過度に低い基準を設定しないようにする。
ステップS29において押圧荷重が所定の基準を満たしていない場合、触感制御部14は、ステップS27に戻って処理を続行する。一方、ステップS29において押圧荷重が所定の基準を満たしたら、触感制御部14は、上述したステップS30およびステップS31の処理を行う。
ステップS30の処理により、触感呈示部50は、荷重検出部60により所定の基準を満たす押圧荷重が検出された際に、タッチセンサ40において接触が検出された位置に対応する画像に応じた触感を呈示することができる。すなわち、触感制御部14は、タッチセンサ40が表示部30に表示された所定の画像の領域に対応する位置における接触を検出しているときに、荷重検出部60が当該画像に設定された触感を呈示する荷重基準を満たす押圧荷重を検出したら、タッチセンサ40のタッチ面を接触している接触対象に対して当該画像に設定された触感を呈示するように触感呈示部50を制御する。
なお、ステップS29を経てステップS31の処理を行う場合、触感制御部14は、操作者による接触の情報をアプリケーション実行部20へ通知する際に、荷重検出部60により検出された所定の基準の押圧荷重についての情報も併せて通知する。これにより、アプリケーション実行部20は、例えば複数段階の押圧荷重に応じて触感を呈示する場合であっても、当該通知の受信をトリガとして、操作者による接触の検出および押圧荷重に応じて当該接触に割り当てられた所定の処理を実行することができる。すなわち、アプリケーション実行部20は、複数段階の荷重に応じて異なる動作を実行させることができる。例えば、カメラのシャッターの機能を果たすボタンのように、押圧荷重が第1段階の基準を満たしたらオートフォーカス機能が作動し、その後第2段階の基準を満たしたら画像を撮像する機能が作動するような、動作を割り当てることができる。
なお、ステップS30において触感呈示部14が押圧対象に対して呈示する触感は、上述したクリック触感のようなリアルな触感とすることができる。操作者に対してリアルなクリック触感を呈示するためには、触感呈示装置1は、以下のような動作を行うことにより、操作者の圧覚を刺激した状態で触覚を刺激する。すなわち、触感呈示装置1は、タッチセンサ40に加わる荷重が、触感を呈示する基準(例えば1N)を満たすまでは、圧覚を刺激するようにし、荷重が当該基準を満たすと、圧電振動子52を所定の駆動信号で駆動してタッチ面40aを振動させて触覚を刺激する。これにより、触感呈示装置1は、押しボタンスイッチ(プッシュ式ボタンスイッチ)のようなボタンスイッチを押した際に得られるのと同様なクリック触感を、操作者に呈示することができる。したがって、操作者は、タッチセンサ上部に描画された押しボタンスイッチであっても、押しボタンスイッチを操作した場合と同様のリアルなクリック触感を得ながら、タッチセンサ40に対して接触操作を行うことができるので、違和感を覚えることがない。また、タッチセンサ11を「押した」という意識との連動で接触操作を行うことができるので、単なる押圧による操作ミスも防止することができる。
上述したクリック触感を呈示する際の駆動信号、すなわち触覚を刺激する一定周波数、周期(波長)、波形、振幅は、呈示するクリック触感に応じて適宜設定することができる。例えば、携帯端末に使用されているメタルドームスイッチに代表されるクリック触感を呈示する場合、例えば、170Hzの一定周波数のSin波からなる1周期分の駆動信号により触感呈示部50を駆動する。このような駆動信号により触感呈示部50を駆動させて、タッチ面40aを、基準の押圧荷重が加わった状態で、約15μm振動させる。これにより、実際のキーをクリックした場合のような、リアルなクリック触感を操作者に呈示することができる。
次に、図6および図7において説明した動作により、触感呈示装置1において表示部30に画像の表示が行われるとともに、それぞれの画像の位置に呈示される触感が設定された様子を、具体例を用いて説明する。
図8は、図5において説明した表示用リソースに基づいて表示部30に画像表示を行った様子と、当該画像に割り当てられた触感呈示動作種別の値との対応を示した図である。
図8(A)は、触感呈示装置1があるアプリケーションを実行することにより、アプリケーション実行部20が表示制御部12に画面の表示を指示したことに基づいて、表示部30に表示された画面の例を表す図である。図8(A)に示す例は、触感呈示装置1において動画を再生するアプリケーションが実行された様子を表している。図8(A)に示す画面においては、図5において説明した表示用リソースのうち、背景用画像(A)の上に、動画の画面(B)、ボタンのオブジェクト(C)および(E)、スライドバーのオブジェクト(F)を表示している。触感呈示装置1においては、これらの画像を表示部30に表示する際に、図6および図7において説明した処理により、各画像に応じて呈示される触感が設定される。
図8(B)は、図8(A)の画像を表示部30に表示する際に、触感制御部14に設定される触感の触感呈示動作種別が各画像に応じて割り当てられている様子を概念的に表した図である。なお、図8(B)は、呈示される触感が各画像に応じて割り当てられている様子を示すためのものであり、実際に表示部30に表示するものではない。
図8(A)において背景画像および動画が表示される領域は、図8(B)に示すように触感呈示動作種別として0x00の値が設定されているため、当該領域に対する接触がタッチセンサ40において検出されても、触感呈示装置1は触感を呈示しない。すなわち、操作者が、表示部30において背景画像や動画が表示されている領域に対応する位置におけるタッチセンサ40に対して接触する操作を行ったとしても、触感は呈示されない。
一方、図8(A)において「再生」および「停止」のボタンが表示される領域は、図8(B)に示すように触感呈示動作種別として0x01の値が設定されている。このため、タッチセンサ40において当該領域に対する接触が検出されたら、触感呈示装置1は、通常のクリック触感を呈示する。すなわち、操作者が、表示部30において「再生」および「停止」のボタンが表示されている領域に対応する位置におけるタッチセンサ40に対して接触する操作を行うと、通常のクリック触感が呈示される。
また、図8(A)において「戻し」および「送り」のボタンが表示される領域は、図8(B)に示すように触感呈示動作種別として0x11の値が設定されている。このため、タッチセンサ40において当該領域に対する接触が検出されたら、触感呈示装置1は、通常のクリック触感を多段階に呈示する。すなわち、操作者が、表示部30において「戻し」および「送り」のボタンが表示されている領域に対応する位置におけるタッチセンサ40に対して接触する操作を行うと、当該荷重が段階的に検出され、検出された荷重に応じて通常のクリック触感が呈示される。
さらに、図8(A)においてスライドバーが表示される領域は、図8(B)に示すように触感呈示動作種別として0x22の値が設定されている。このため、タッチセンサ40において当該領域に対する接触の移動が検出されたら、触感呈示装置1は、ザラザラする感触のなぞり触感を呈示する。
図9(A)は、触感呈示装置1が図8(A)において説明したのと同じアプリケーションを実行することにより、アプリケーション実行部20が表示制御部12に画面の表示を指示したことに基づいて、表示部30に表示された画面の他の例を表す図である。図9(A)に示した例は、図8(A)に示した状態において実行していたアプリケーションの動作に基づいて、画面の表示が変化した様子を表している。図9(A)に示す画面においては、図8(A)に示した状態に加えて、図5において説明した表示用リソースのうち、ダイアログボックス(G)の上に、さらにボタンのオブジェクト(D)を表示している。図8(A)の場合と同様に、触感呈示装置1において、これらの画像を表示部30に表示する際に、図6および図7において説明した処理により、各画像に応じて呈示される触感が設定される。
図9(A)において「はい」および「いいえ」のボタンが表示される領域は、図9(B)に示すように触感呈示動作種別として0x01の値が設定されている。このため、タッチセンサ40において当該領域に対する接触が検出されたら、触感呈示装置1は、通常のクリック触感を呈示する。すなわち、操作者が、表示部30において「はい」および「いいえ」のボタンが表示されている領域に対応する位置におけるタッチセンサ40に対して接触する操作を行うと、通常のクリック触感が呈示される。
図9(B)は、図9(A)の画像を表示部30に表示する際に、触感制御部14に設定される触感の触感呈示動作種別が各画像に応じて割り当てられている様子を概念的に表した図である。
図9(B)に示すように、この場合、「はい」および「いいえ」のボタンに対応する領域以外には、呈示される触感が設定されていない。図9(A)に示した状態においては、アプリケーションの実行により通常の動画再生を行っている最中に、アプリケーションの終了を問うダイアログボックスを割り込み処理として表示している。そこで、この場合、触感呈示装置1は、当該ダイアログボックスに対する応答を最優先に促すために、「はい」および「いいえ」のボタンに対応する領域以外の位置におけるタッチセンサ40に対して接触が検出されても触感を呈示しないように設定している。
このように、本実施の形態によれば、表示部30に画像を重畳させて階層表示を行う場合でも、例えば最上位の表示階層に追加された画像に応じて呈示される触感を設定することも可能である。この場合、上述したように、例えば下層に表示されている表示リソースに付加されている触感設定情報は無効とすることができる。
なお、本発明は、上記実施の形態にのみ限定されるものではなく、幾多の変形または変更が可能である。例えば、上述した実施の形態では、表示制御部12と、触感制御部14と、アプリケーション実行部20とは、別の構成要素として説明した。しかしながら、本発明による触感呈示装置は、このような構成に限定されるものではなく、設計の際の要求に応じて種々の構成を採ることができる。例えば、制御部が、表示制御部12と、触感制御部14と、アプリケーション実行部20との全てまたは一部の構成要素を含むようにもできる。
また、上記実施の形態では、タッチセンサ40を用いて、当該タッチセンサのタッチ面に対する接触を検出したが、荷重センサ(荷重検出部)を用いて、所定の押圧荷重の基準を満たした場合に、接触がなされたものと判定することもできる。このような荷重検出部は、上述した実施の形態の荷重検出部と同様に、任意の個数の歪みゲージセンサ等を用いて構成することができる。
また、上述した実施の形態において、荷重検出部は、タッチセンサにおける接触検出方式に応じて構成することができる。例えば、抵抗膜方式の場合には、接触面積による抵抗変化に基づく出力信号の変化から荷重が検出できれば、歪みゲージセンサを用いることなく構成することができる。あるいは、静電容量方式の場合には、静電容量の変化に基づく出力信号の変化から荷重が検出できる場合も、歪みゲージセンサを用いることなく構成することができる。
また、触感呈示部は、任意の個数の圧電振動子を用いて構成したり、タッチセンサの全面に透明圧電素子を設けて構成したり、触感を呈示する振動を表現できるのであれば、偏心モータを駆動信号の1周期で1回転させるようにして構成したり、することもできる。さらに、荷重検出部および触感呈示部は、圧電素子を用いて構成する場合は、圧電素子を共用して荷重検出部兼触感呈示部を構成することもできる。
上述した実施の形態においては、タッチセンサを表示部の上面に重ねて配置した構成を想定して説明した。本発明による触感呈示装置は、このような構成にすることは必須ではなく、タッチセンサと表示部とを離間した構成にすることもできる。しかしながら、タッチセンサを表示部の上面に重ねて配置した構成とする方が、表示される画像と呈示される触感の対応関係を、操作者に容易に認識させることができる。
また、本発明に係る触感呈示装置は、圧電素子の出力に基づいて検出される押圧荷重が触感を呈示する所定の基準を満たした際に、当該圧電素子を駆動することを想定して説明した。ここで、圧電素子の出力に基づいて検出される押圧荷重が触感を呈示する基準を満たした際とは、検出される押圧荷重が触感を呈示する基準値に達した際であってもよいし、検出される押圧荷重が触感を呈示する基準値を超えた際でもよいし、圧電素子の出力に基づいて触感を呈示する基準値が検出された際でもよい。
本発明の触感呈示装置1に用いるプログラムは、上述した実施の形態において説明した処理を実行するための情報であって、記憶部80に記憶されている。本発明の触感呈示装置1の制御部10は、記憶部80に記憶されている当該プログラムに基づき上述した各処理を行うものである。なお、上記プログラムは、記憶部80に記憶されている必要はなく、例えば、触感呈示装置1が備える図示しない通信部により通信を行うことが可能なサーバまたは外部記憶媒体等に記憶されていてもよい。また、上記プログラムは、記憶部80と、サーバまたは外部記憶媒体等とに分けて記憶されていてもよい。
また、本実施の形態の説明における表示部30およびタッチセンサ40は、表示部とタッチセンサとの両機能を共通の基板に持たせる等により、一体化した装置によって構成されるようにしてもよい。このように表示部とタッチセンサとの両機能を一体化した装置の構成の一例としては、液晶パネルが有するマトリクス状配列の画素電極群に、フォトダイオード等の複数の光電変換素子を規則的に混在させたものを挙げることができる。この装置は、液晶パネル構造によって画像を表示する一方で、パネル表面の所望位置をタッチ入力するペンの先端で液晶表示用のバックライトの光を反射し、この反射光を周辺の光電変換素子が受光することによって、タッチ位置を検出することができる。
なお、触感呈示部50は、振動モータ(偏心モータ)などに基づいて触感呈示装置1を振動させることにより、接触検出部タッチセンサ40を間接的に振動させるように構成してもよいし、タッチセンサ40に圧電素子を配設することにより、タッチセンサ40を直接的に振動させるように構成してもよい。
また、例えば、荷重検出部60および触感呈示部50は、圧電素子を用いて構成する場合は、圧電素子を共用して荷重検出部兼触感呈示部を構成することもできる。圧電素子は、圧力が加わると電力を発生し、電力が加えられると変形するためである。
なお、タッチセンサ40が接触を検出する上で、接触対象がタッチセンサ40を物理的に接触することは必須ではない。例えば、タッチセンサ40が光学式である場合、タッチセンサ40は当該タッチセンサ40上の赤外線が指やスタイラスペン等で遮られた位置を検出するため、接触対象がタッチセンサ40に接触することは不要である。
また、本発明は、荷重検出部60により検出される押圧荷重が、入力として認識されるための所定の基準を満たした際に、触感呈示部50を駆動させるが、荷重検出部60により検出される押圧荷重が入力として認識されるための所定の基準を満たした際とは、荷重検出部60により検出される押圧荷重が入力として認識される所定値に達した際であってもよいし、荷重検出部60により検出される押圧荷重が入力として認識される所定値を超えた際でもよいし、荷重検出部60により入力として認識される所定値が検出された際でもよい。