種々の実施の形態を、図面を参照しながら詳細に説明し、複数の図面を通じて、同様な参照番号は、同様なパーツ又は部品を表す。種々の実施の形態への言及は、添付した特許請求の範囲を制限しない。また、本明細書で説明するあらゆる例は、制限することを意図するものではなく、添付した特許請求の範囲の複数のあり得る実施の形態の一部を単に説明するものである。
適切な場合には、単数で用いられる用語は複数も含み、逆の場合も同じである。「一つ(a)」の使用は、ここでは、別段の定めをした場合を除き又は「一つ以上」の使用が明らかに不適切である場合を除き、「一つ以上」を意味する。用語「又は」及び「及び」の使用は、別段の定めをした場合を除き又は関連の言語の内容から明らかである場合を除き、「及び/又は」を意味する。「備える」、「含む」及び「有する」の使用は、置き換え可能であり、制限することを意図するものではない。用語「ような」も、制限することを意図するものではない。例えば、用語「含む」は、「含むがそれに制限されるものではない」を意味する。
一般論として、この特許文献は、ハプティック対応装置又はハプティック対応装置と通信を行う他の装置によって受信した情報に基づくハプティック効果の自動的な生成に関する。ハプティック効果を、人に伝達されるあらゆるタイプの触感とすることができる。ハプティック効果は、合図、通知又は更に複雑な情報のようなメッセージを具体化する。
少なくとも一部の実施の形態において、ハッシュ値を生成するために、ハッシュ関数を、受け取り情報又は受け取り情報の一部において実行する。その後、ハッシュ値は、独自のハプティック効果を生成するために用いられる。他の実施の形態において、合成信号を形成するために情報又は情報の一部と波形を合成する。合成信号は、独自のハプティック効果を生成及び伝達するために用いられる。他の実施の形態は、独自のハプティック効果を生成するためのハッシュ値及び信号合成の組合せを用いる。
図1を参照すると、ハプティック対応装置100の少なくとも一つの実施の形態は、ハプティックアクチュエータ102と、コントローラ104と、ユーザインターフェース装置106と、センサ112と、アクチュエータ駆動回路114と、アンテナ138と、を含む。
ハプティックアクチュエータ102を、動きが生じる任意の装置とすることができる。アクチュエータの例は、モータのような機構、偏心質量がモータによって動かされる偏心回転質量(eccentric rotating mass)(ERM)、ばねに取り付けられた質量が前後に駆動されるソレノイド、リニアモータ又はリニアバイブレータ(linear resonant actuator)(LRA)のような線形アクチュエータ、磁気又は電磁機構、形状記憶合金、圧電材料、電気活性高分子及びスマート流体を含有する材料のようなスマート材料、マクロ−ファイバー複合アクチュエータ(macro-fiber composite actuator)、静電アクチュエータ、電気ハプティックアクチュエータ、又は、ハプティックフィードバックのような物理的なフィードバックを提供する他のタイプのアクチュエータを含む。ハプティック出力装置は、超音波表面摩擦(ultrasonic surface friction)(USF)のような非機械的装置又は非振動な装置、又は、帯電摩擦(electrostatic friction)(ESF)を使用し、超音波聴覚振動子(ultrasonic haptic transduce)によって音響放射圧を引き起こし、ハプティック基板及び可撓性又は変形可能基板を使用し、かつ、超音波フィードバック又は空気ジェットを用いた一吹きの空気(a puff of air using an air jet)のような伝えられたハプティック出力を行う装置を含むこともできる。
ユーザインターフェース装置106は、ユーザが情報を見ることができる又はユーザがコマンド又は他の情報をハプティック対応装置100に入力することができる任意の装置又は機構を含む。ユーザインターフェース装置106の例は、タッチスクリーン、カメラ、ボタン及びスイッチのような機械的な入力部、及び、他のタイプの入力部品を含む。
センサ112を、刺激を受けることに応答して信号を出力する任意の機器又は他の装置とすることができる。センサ112を、コントローラ104に有線で接続することができ、又は、コントローラ104に無線で接続することができる。センサ112を、環境条件、他の人々又は物体の存在、バイオメトリックパラメータ又は他の情報、心拍数、血圧、血糖値のようなメディカルパラメータ、並びに、他の生命兆候及びメディカルパラメータのような多様な異なる条件、事象及び事態を検出又は検知することができる。
センサ112の例は、マイクロホンのような音響センサ(acoustic or sound sensors)、振動センサ、アルコール検知器、一酸化炭素及び二酸化炭素センサ、及び、ガイガーカウンタのような化学及び粒子センサ、検電器又はホール効果センサのような電気及び磁気センサ、流量センサ、GPS受信器、高度計、ジャイロスコープ又は加速度計のようなナビゲーションセンサ又は機器、圧電材料、距離計、走行距離計、速度計及び衝撃検出器のような位置、近接及び動作に関連したセンサ、電荷結合素子(CCD)、CMOSセンサ、赤外線センサ及び光検知器のような画像センサ及び他の光学的なセンサ、圧力計、圧度計及びハプティックセンサのような圧力センサ、圧電センサ及びひずみゲージのような力センサ、温度計、熱量計、サーミスタ、熱電対及びパイロメータのような温度及び熱センサ、動作検出装置、三角測量センサ(triangulation sensor)、レーダ、フォトセル、ソーナー及びホール効果センサのような近接及び存在センサ、生体素子、並びに、血圧センサ、パルス/oxセンサ(pulse/ox sensors)、血中グルコースセンサ及び心臓モニタのようなバイオメトリックセンサを含む。また、センサ112を、一部の実施の形態においてセンサとアクチュエータの両方として機能する圧電性高分子のようなスマート材料によって形成することができる。
コントローラ104は、バス116と、プロセッサ118と、入出力(I/O)コントローラ120と、メモリ122と、通信/ネットワークインターフェースコントローラ(NIC)108と、を備える。バス116は、プロセッサ118、メモリ122及びI/Oコントローラ120を含むコントローラ104の構成要素の間のデータの転送を行うために経路を提供するための導体又は伝送線を含む。バス116は、典型的には、制御バス、アドレスバス及びデータバスを備える。しかしながら、バス116を、コントローラ104の構成要素の間でデータを転送するのに適切な任意のバス又はバスの組合せとすることができる。
I/Oコントローラ120は、コントローラ104並びにユーザインターフェース装置106、センサ112及びアクチュエータ駆動回路114のような周辺又は外部装置の動作を監視する回路である。I/Oコントローラ120は、さらに、コントローラ104と周辺装置との間のデータフローを管理し、プロセッサ118を、周辺装置の監視及び制御に関連した詳細から解放する。I/Oコントローラ120がインターフェースをとることができる他の周辺又は外部装置の例は、外部記憶装置、モニタ、キーボード及びポインティングデバイスのような入力装置、外部演算装置、アンテナ、人に装着された他の物品、並びに、他の任意の遠隔装置110を含む。
NIC108は、コントローラ104とアンテナ138との間にインターフェースを提供し、これによって、コントローラ104と遠隔装置110との間で無線通信を行う。無線通信は、Bluetooth(登録商標)、携帯電話の規格(例えば、CDMA,GPRS,GSM(登録商標),2.5G,3G,3.5G,4G)、WiGig(登録商標)、IEEE802.11a/b/g/n/ac及びIEEE802.16(例えば、WiMax(登録商標))のような規格を含む任意の無線通信技術に従うことができる。NIC108は、さらに、データを伝送するための任意の適切なポート及びコネクタを使用するとともにRS232、USB、FireWire(登録商標)、イーサネット(登録商標)、MIDI(登録商標)、eSATA又はthunderbolt(登録商標)のような任意の適切な規格に従う有線接続を介してコントローラ104と遠隔装置110との間に有線通信を提供することができる。
プロセッサ118を、情報を処理するように構成された任意の回路とすることができ、プロセッサ118は、任意の適切なアナログ又はデジタル回路を含むことができる。プロセッサ118は、命令を実行するプログラマブル回路を含むことができる。プログラマブル回路の例は、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PLA)フィールドプログラマブルゲートアレイ(FPGA)、又は、命令を実行するのに適切な他の任意のプロセッサ又はハードウェアを含む。種々の実施の形態において、プロセッサ118を、単一ユニット又は二つ以上のユニットの組合せとすることができる。プロセッサ118が二つ以上のユニットを含む場合、ユニットを、単一のコントローラ又は個別の装置に物理的に配置することができる。
メモリ122は、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、電気的に消去可能なプログラマブル読出し専用メモリ(EPROM)、フラッシュメモリ、磁気メモリ、光メモリ又は他の任意の適切なメモリ技術のような揮発性メモリを含むことができる。メモリ122は、揮発性メモリと不揮発性メモリの組合せを含むこともできる。メモリ122は、プロセッサ118によって実行される複数のプログラマブルモジュールを格納することができ、それは、事象検知モジュール124、ハプティック決定モジュール126、通信モジュール130、ハプティック制御モジュール134及びハプティック対応装置の動作において用いられる他の任意のプログラマブルモジュールを含む。各モジュールは、データと、ルーチンと、オブジェクトと、呼出し及び一つ以上の特定のタスクを実行する他の命令との一群である。所定のモジュールをここに開示するが、ここに記載した種々の命令及びタスクを、単一のモジュール、モジュールの種々の組合せ、ここに開示したモジュール以外のモジュール、又は、ハプティック対応装置100及びコントローラ104と通信を行う遠隔装置110によって実行されるモジュールによって実行することができる。メモリ122は、任意の予め決定された情報、データ、プログラムコード、波形、信号及び独自のハプティック効果を自動的に生成する又はハプティック対応装置100を動作させるのに用いられる他の情報とすることができるプログラムデータ132も格納する。
事象検知モジュール124は、種々の実施の形態においてNIC108を介して遠隔装置110から、センサから又はユーザ入力装置から受け取ることができる情報を受け取るようにプログラムされる。情報は、通報又は警告のようなコントローラ104によって実行されるプロセスによって生成される情報も含むことができる。事象検知モジュール124は、受け取り情報が一般的にハプティック効果に対応するか否かを決定する。
ハプティック効果を自動的に生成する情報は、予め決定された情報としてメモリ122に格納されており、任意のタイプの情報を含むことができる。そのような情報の例は、電話番号、電子メールアドレス、メタデータ、名前、センサ信号、通報、しきい値、時間、メッセージの体内の所定の語(certain words within the body of a message)、装置識別子(例えば、媒体アクセス制御(MAC)アドレス及び/又は装置を識別することができる識別子)、ネットワークアドレス(例えば、ユーアールエル又は他のネットワークアドレス)、並びに、他の識別子及び情報を含むことができる。また、情報の予め決定された項目は、異なる長さの文字列を有することができ、これによって、ハプティック対応装置100は、それが受け取るあらゆるタイプの予め決定された情報を処理することができる。
事象検知モジュール124は、受け取った情報とメモリ122に格納された予め決定された情報を比較する。事象検知モジュール124は、受け取った情報と予め決定された情報を比較するための任意の適切なアルゴリズムを含むとともに用いることができる。そのようなアルゴリズムの例は、順序アルゴリズムを含む。他のあり得る比較の方法において、事象検知モジュール124は、受け取った情報を解析して構成要素又はデータ項目にし、その後、解析したデータ項目の各々と予め決定された情報を比較する。他の実施の形態は、情報の種類を規定し、これらの種類をメモリ122に格納する。これらの実施の形態において、情報検知モジュール124は、受け取った情報が規定された種類の情報に含有されているか否かを決定する。受け取った情報を分類するのに用いることができる種類の例は、電子メールアドレス、電話番号、メタデータ、名前、センサ信号、通報、しきい値、時間、メッセージの体内の所定の語、装置識別子、ネットワークアドレス、並びに、他の識別子及び情報を含むことができる。ハプティック効果を生成するか否かを決定するために情報の種類を用いる実施の形態は、特定の電話番号のような予め決定された情報の特定の項目を格納しなくてもよい。
他の実施の形態において、予め決定されたタイプの情報を受け取るとき、事象検知モジュール124は、それとメモリ122に格納された予め決定されたタイプの情報を比較する。例えば、ハプティック対応装置100が電話である場合、事象検知モジュール124は、一致が存在するか否かを決定するために、着信する電話の呼び出しのそれぞれに対する電話番号又は連絡先とメモリ122に格納された予め決定された電話番号又は連絡先のリストをそれぞれ比較する。
受信した情報がメモリ122に格納された予め決定された情報と一致する又は予め規定された種類の情報に含有されることを決定すると、事象検知モジュール124は、予め決定された情報をハプティック決定モジュール126に渡す。
種々の実施の形態において、ハプティック決定モジュール126は、事象検知モジュール124によって識別される予め決定された情報に関連したハプティックデータ又はハプティック信号を生成する。
例えば、ハプティック決定モジュール126は、ハッシュ値を生成するために、予め決定された情報においてハッシュ関数を実行する。ハプティック決定モジュール126は、ハッシュ値を生成するために任意の適切なハッシュ関数を用いることができる。少なくとも一部の実施の形態において、ハッシュ関数は、ハッシュされる予め決定された情報に対する文字列の長さに関係なく同数の数字を有する又は所定の範囲の値を有するハッシュ値を生成する。
ハッシュ値は、ルックアップテーブル又は他の適切なマッピング方法を用いることによってハプティックデータの対応する組にマッピングされる。その後、ハプティックデータのマッピングされた組は、ハプティック制御モジュール134に送信され、ハプティック制御モジュール134は、ハプティック信号を生成する。ハプティックデータの組は、ハプティック駆動信号を生成するのに用いられるパラメータを規定する。ハプティックデータによって規定することができるパラメータの例は、周波数、振幅、位相、反転、持続時間、波形、アタックタイム、立ち上り時間、消滅時間(fade time)、及び、事象に対する遅延時間又はリードタイムを含む。また、ハプティック決定モジュール126は、ハッシュ関数によって処理したときに予め決定された情報の項目が同一のハッシュ値を生じた場合には任意の適切な衝突回避プロセスを用いることができる。代替的には、衝突がある場合、ハプティック対応装置100は、予め決定された情報の衝突する項目の各々に対して独自のハプティック効果を選択するようにユーザに指示し、その後、選択したハプティックデータを格納するとともにそれを情報の衝突する予め決定された項目にマッピングすることができる。
少なくとも一部の他の実施の形態において、ハプティック決定モジュール126は、ハプティック制御モジュール134によって更に処理される合成信号を生成するために、ハッシュ値を表すデータと一つ以上の波形を合成する。これらの他の実施の形態において、メモリ122は、ハッシュ値をハプティックデータの予め決定された組にマッピングしない。他の実施の形態において、ハプティック決定モジュール126は、ハッシュ関数、ハッシュ値又は予め規定されたハプティックデータのテーブルを用いることなくハプティック信号を自動的に生成する。例えば、ハプティック決定モジュール126は、ハッシュされていない予め決定された情報に対応するデジタルデータを使用し、合成信号を形成するために当該デジタルデータを一つ以上の波形に合成する。合成信号は、ハプティック制御モジュール134によって更に処理される。ハッシュ値及び合成を用いたハプティック信号の生成を、ここで更に詳細に説明する。ハプティックデータ又はハッシュされていない予め決定された情報を合成するのに用いられる波形を、予め決定するとともにメモリ122に格納することができる。代替的には、ハプティック対応装置100は、合成プロセス中に波形を生成するために発振器を含むことができる。
ハプティック制御モジュール134は、ハプティックデータ又は合成信号を受信し、それを処理してハプティック信号にし、その後、ハプティックアクチュエータ102に伝達される駆動信号を生成するためにハプティック信号をアクチュエータ駆動回路114に送信する。
他の実施の形態において、ハプティック制御モジュール134は、ハプティック効果を更に制御及び規定する規則を含むこともできる。例は、ハプティック効果を供給すべきであるとき、ハプティック効果を供給すべきでないとき及び規則が時間、位置又は他の何らかの基準に基づくか否かを規定する規則を含む。他の例において、規則は、周波数、振幅、位相、反転、持続時間、波形、アタックタイム、立ち上り時間、消滅時間、及び、事象に対する遅延時間又はリードタイムを含み、これらの信号パラメータは、時間、位置又は他の何らかの基準に依存してもよい。
通信モジュール130は、アンテナ138又は通信ポートを通じて受信した信号に統合されたデータの処理及びアンテナ138又は通信ポートを通じて遠隔装置110に送信されるデータの準備を含むNIC108を通じたコントローラ104と遠隔装置110との間の通信を制御及び促進する。遠隔装置110の例は、演算装置及びセンサを含む。演算装置の例は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、ハイブリッドコンピュータ、タブレット、スマートフォン、スマートウォッチ(登録商標)又はスマートクロージング(smart clothing)のようなウェアラブルデバイス、ホームオートメーションコンピュータ及びコントローラ、スマート家電(smart appliance)、ゲームコンソール及びコントローラ、並びに、プログラム可能な他の任意の装置を含む。通信は、無線又は有線通信信号又はデータ経路の通信を含むデータ通信に適切な任意の形態をとることができる。
プログラムモジュールの他の実施の形態が可能である。例えば、一部の他の実施の形態は、事象検知モジュール124、ハプティック決定モジュール126、ハプティック制御モジュール134及び通信モジュール130よりも多い又は少ないプログラムモジュールを有する。さらに、ここで開示した機能を、ここで開示したプログラムモジュールとは異なる一つ以上のプログラムモジュールにプログラムすることができる。
アクチュエータ駆動回路114は、コントローラ104からハプティック信号を受信する回路である。アクチュエータ駆動回路114は、ハプティックアクチュエータ102に送信する又は供給するためにハプティック信号をデジタル信号からアナログ信号に変換するデジタル−アナログ回路を含む。アクチュエータ駆動回路114は、増幅器、フィルタ、及び、駆動信号を調整するとともにそれをハプティックアクチュエータ102に供給するのに必要な他の任意の回路も含む。
図2は、情報を処理するとともにハプティックデータ又はハプティック信号を生成するためにハプティック対応装置100が遠隔装置110と通信を行う他の実施の形態を示す。本実施の形態において、ハプティック対応装置100は、遠隔装置110とペアになる又は遠隔装置110と通信を行う。ここで開示するようなペアとなる又は協働することができるハプティック対応装置100及び遠隔装置110の例は、スマートウォッチ(登録商標)、スマートクロージング又はウェアラブルモニタのようなウェアラブルデバイス(すなわち、ハプティック対応装置)及びスマートフォン(すなわち、遠隔装置)、スマートフォン(すなわち、ハプティック対応装置)及びサーバ(すなわち、遠隔装置)、ゲームコントローラ(すなわち、ハプティック対応装置)及びゲームコンソール(すなわち、遠隔装置)、デスクトップ、ラップトップ、タブレット又はハイブリッドコンピュータのようなコンピュータ(すなわち、ハプティック対応装置)及びサーバ(すなわち、遠隔装置)、スマートフォン(すなわち、ハプティック対応装置)及びホームオートメーションコンピュータ(すなわち、遠隔装置)、又は、ハプティック対応装置及び遠隔装置の他の任意の組合せを含む。
本実施の形態において、遠隔装置110は、ハプティック対応装置100と略同様であり、バス116’、NIC108’、プロセッサ118’及びメモリ122’を含む。種々の実施の形態において、遠隔装置110は、ユーザインターフェース、I/Oコントローラ120’、センサ112’、ハプティックアクチュエータ102’、アクチュエータ駆動回路114’、ネットワークポート、又は、他の任意のハードウェア又はソフトウェアを含む。遠隔装置110は、ハプティック対応できるようにしてもよい。
図2に示すような少なくとも一部の実施の形態において、プログラムモジュールの一つ以上は、遠隔装置110のメモリ122’に格納され、遠隔装置110のプロセッサ118’によって実行される。例えば、事象検知モジュール124’、ハプティック決定モジュール126’及び通信モジュール130’は、遠隔装置110にロードされるとともに遠隔装置110によって実行される。メモリ122’は、あらゆる必要なプログラムデータ132’も格納し、それは、遠隔装置110のメモリ122’に格納できる受け取り情報を処理するとともにハプティック効果を生成するのに必要なデータ及びプログラムモジュールを含むことができる。例は、予め決定された情報の事象検知モジュール124’、ハプティック決定モジュール126’、ハプティックデータの合成に用いられる波形及びその組合せを含む。そのような実施の形態において、遠隔装置110は、スマートフォンのような最初の受信装置から送られる情報を受け取るとともに受け取る情報がハプティックに関連した予め決定された情報を含むか否かを決定することができる。受け取った情報が予め決定された情報を含まない場合、遠隔装置110は、命令、ハプティックデータ又は他のデータ、ハプティック信号、合成信号又は他の信号のような情報、データ又は信号をメモリ122’から生成又は呼び出すことができる。その後、遠隔装置110は、更なる処理及びハプティック効果の生成のために情報又はデータをハプティック対応装置100に送信する。
この実施の形態の用途の一例は、ブルートゥース(登録商標)通信リンクを通じてスマートウォッチ(登録商標)にリンクされたスマートフォンである。スマートフォンは、電話を受け、その後、受けた電話に関連した電話番号をマッピングし、電話番号が予め決定された情報のリストにあることを決定し、ハプティックデータを生成し、ハプティック効果を生成するとともにユーザに伝達するためにハプティックデータをスマートフォンに送信する。他の例において、遠隔装置110は、フェイスブック(登録商標)サーバのようなサーバであり、ハプティック対応装置100は、スマートフォン又はフェイスブック(登録商標)投稿メッセージを閲覧するのに用いられる他のコンピュータである。ユーザがフェイスブック(登録商標)インターフェースをスクロールする場合、見ることができるユーザインターフェースに情報がもたらされたときに情報を持続的に評価する。予め決定された情報がユーザインターフェースに表示された場合、ハプティック決定モジュール126’は、ハプティックデータ又はハプティック信号を生成し、ハプティック効果を生成するとともにハプティック効果をユーザに伝達するために当該ハプティックデータ又はハプティック信号をハプティック対応装置100に送信する。
他の実施の形態において、事象検知モジュール124、ハプティック決定モジュール126及びハプティック制御モジュール134の機能を、サーバ、スマートウォッチ(登録商標)のようなハプティック対応装置100及びインターフェースを提供するスマートフォンとの間で分担し、場合によっては、一部のハプティック処理機能を、サーバとハプティック対応装置100との間で分担する。
更に別の実施の形態において、ハプティック対応装置100がハプティックアクチュエータ102、駆動電子機器、及び、有線又は無線ネットワークインターフェースを備えるが、事象検知モジュール124又はハプティック決定モジュール126を含まないという意味では、ハプティック対応装置100は、「データ処理能力のない(dumb)」装置である。そのような実施の形態において、遠隔装置110は、ハプティック処理を実行し、モータ制御信号を生成し、その後、モータ制御信号又はモータ制御信号を生成するためのパラメータをハプティック対応装置100に送信する。その後、ハプティック対応装置は、ハプティック効果を生成するためにモータ制御信号をハプティックアクチュエータ102に供給する。そのような実施の形態の例は、マイクロソフト(登録商標)株式会社から市販されているXbox(登録商標)のゲームコンソール又はソニー(登録商標)株式会社から市販されているPlayStation(登録商標)のゲームコンソールのようなゲームコンソールと通信を行うゲームコントローラである。本実施の形態において、ゲームコントローラは、遠隔装置110であり、ゲームコンソールは、遠隔装置110である。
図3は、ハプティック対応装置100が遠隔装置110にネットワーク接続される環境の一例を示す。この図において、ネットワーク128を、パブリックネットワーク、プライベートネットワーク、ローカルエリアネットワーク、インターネットのようなワイドエリアネットワーク、電話網、又は、その一部の組合せのような任意の適切なネットワークとすることができる。種々の実施の形態において、受信装置136は、ネットワーク128を通じて情報、データ又は信号を受信する装置である。受信装置の例は、スマートフォンのようなハプティック対応装置100、ネットワーク接続を有するウェアラブルデバイス、ゲームコンソール及びコンピュータを含む。代替的には、受信装置を、情報を受け取り、その後、ハプティック効果を伝達するために命令、情報、データ、又は、情報に関連した信号を他のハプティック対応装置100に送信するハプティック対応であるか否かに関係ない遠隔装置110とすることができる。
送信装置140を、ハプティック効果を引き起こすことができる情報を送信できる任意の装置とすることができる。送信装置の例は、電話機、コンピュータ、ゲームコンソール及びサーバ144を含む。サーバ144は、情報サーバのような情報を格納、処理及び送信することができる任意のタイプのサーバ、ソーシャルメディアサーバ及びホームオートメーションコントローラ/サーバを含むことができる。
また、サーバ144を、予め規定された情報、ハッシュ関数、ハプティックデータ、ハッシュ値をハプティックデータの組にマッピングするテーブル、ハッシュ値又は予め決定された情報を合成するのに用いられる波形、及び、他の情報、命令、プログラムモジュール、データ又は信号を格納する中央ハプティックサーバ142とすることができる。これらの実施の形態において、事象検知モジュール124、ハプティック決定モジュール126及びハプティック制御モジュール134を実行するハプティック対応装置100又は遠隔装置110を、情報、データ、プログラム更新、ハッシュ関数、波形及び信号をダウンロードするために中央ハプティックサーバを参照するようにプログラムすることができる。他の例において、中央ハプティックサーバは、ハプティック信号及び効果を生成するか否かを決定するために受け取り情報を処理するハプティック対応装置100又は他の遠隔装置110にダウンロードすることができる予め決定された情報の中央リストを維持することができる。
図4は、ハプティック対応装置100が情報を受け取るときにハプティック効果を自動的に生成するプロセスを概略的に示す。動作150において、ハプティック対応装置100は、情報を受け取る。その後、受け取り情報がハプティック効果に対応する予め決定された情報を含むか否かを決定するために、受け取り情報を処理する(動作152)。受け取り情報が予め決定された情報を含む場合、独自のハプティック効果に関連した独自のハプティック信号を生成するために、受け取り情報を処理する(動作154)。その後、ハプティックアクチュエータ102は、独自のハプティック効果を伝達する(動作156)。受け取り情報が予め決定された情報を含まない場合、動作を行わず、プロセスが終了する。このプロセスの少なくとも一部の実施の形態は、情報を受け取るとリアルタイム又は準リアルタイムでハプティック信号を生成する。これらの実施の形態において、ハプティック対応装置100の情報の受け取りとハプティック対応装置のハプティック信号の生成との間には、ユーザが知覚できる遅延がない。また、このプロセスは、予め決定された情報の各項目に対して独自のハプティック効果を生成する。さらに、ハプティック対応装置100は、典型的なユーザが予め決定された情報の異なる項目に対応する異なるハプティック効果の間の区別を容易にできるのに十分な程度のハプティック信号を生成するのに用いられるパラメータ及び波形を変更することによって独自のハプティック効果を提供することができる。
他の実施の形態は、受け取り情報を情報の特定の予め決定された項目と比較するのではなく、受け取り情報又は受け取り情報の少なくとも一部が予め決定された種類の情報に含有されるか否かを決定する。受け取り情報が予め決定された種類の情報に含有される場合、予め決定された種類の情報に含有される受け取り情報を、ここで開示したような独自のハプティック効果に関連した独自のハプティック効果を生成するのに用いる(動作152)。その後、ハプティックアクチュエータ102は、独自のハプティック効果を伝達する(動作154)。
図5は、独自のハプティック信号を生成するために予め決定された情報を処理する動作154のあり得る実施の形態を示す。本実施の形態において、ハッシュ関数を、ハッシュ値を生成するために予め決定された情報において実行する(動作158)。その後、ハッシュ値を独自の組のハプティックデータにマッピングする(動作160)。その後、マッピングされた独自の組のハプティックデータを、ハプティック信号を生成するために処理する(動作162)。ハプティック信号は、駆動信号を生成するためにアクチュエータ駆動回路114に送信され、駆動信号は、ハプティックアクチュエータ102に供給される。ハプティックアクチュエータ102は、ハプティック効果を生成する(動作156)。
図6は、独自のハプティック信号を生成するために予め決定された情報を処理する動作154の一つのあり得る実施の形態を示す。本実施の形態において、ハッシュ関数を、ハッシュ値を生成するために予め決定された情報において実行する(動作164)。その後、ハッシュ値を、合成信号を形成するために波形に合成する(動作166)。ハッシュ値に合成される波形は、正弦波のような任意の適正な周期波形のデジタル表示である。また、ハッシュ関数に合成される波形を、複数の波形を重ね合わせたものとすることができ、ハッシュ関数に合成される波形は、変動周波数又は振幅のような変動パラメータを有することができる。合成信号を、ハプティック信号を生成するためにハプティック制御モジュール134によって処理する(動作168)。その後、ハプティック信号をアクチュエータ駆動回路114に送信し、ハプティック信号は、アナログ信号に変換され、駆動信号を生成するように調整される。駆動信号を、ハプティックアクチュエータ102に供給する(動作156)。代替的には、合成信号は、ハプティック信号それ自体を形成し、アクチュエータ駆動回路114に直接送信される。駆動信号をハプティックアクチュエータ102に供給すると、ハプティックアクチュエータ102は、ハプティック効果を生成する(動作156)。
図7は、独自のハプティック信号を生成するために予め決定された情報を処理する動作154の他のあり得る実施の形態を示す。本実施の形態において、情報のデジタル表示を、合成信号を形成するために波形に直接合成する。合成信号を、ハプティック信号を生成するためにハプティック制御モジュール134によって処理する(動作172)。その後、ハプティック信号をアクチュエータ駆動回路114に送信し、ハプティック信号は、アナログ信号に変換され、駆動信号を生成するように調整される(動作174)。駆動信号をハプティックアクチュエータ102に供給する(動作156)。代替的には、合成信号は、ハプティック信号それ自体を形成し、アクチュエータ駆動回路114に直接送信される。駆動信号をハプティックアクチュエータ102に供給すると、ハプティックアクチュエータ102は、ハプティック効果を生成する(動作156)。
ハッシュ関数又は情報と波形の合成は、信号を合成するための任意の適切な技術又はプロセスを用いることができる。少なくとも一部のあり得る実施の形態において、ハッシュ値又は情報と波形を合成するためにグラニュラーシンセシスを用いる。図8を参照すると、ハッシュ値又は情報と波形のグラニュラーシンセシスのあり得るプロセスは、ハッシュデータ又は予め決定された情報及び他の任意の予め規定された信号パラメータに基づいて複数の波形を生成することを含む(動作174)。各波形を、グレインを生成するためにエンベロープ(envelope)に結合し、これによって複数のグレインを生成する(動作176)。経時的な複数のグレインの空間表示であるクラウドを生成するためにグレインを結合する(動作178)。合成信号をクラウドに基づいて生成する(動作180)。その後、ハプティック制御モジュール134は、ハプティック信号を形成するために合成信号を処理し、その後、ハプティック信号をアクチュエータ制御回路に送信し、ハプティック信号を処理して、ハプティックアクチュエータ102を制御するための駆動信号にする。ハプティック信号を生成するためのデータのグラニュラーシンセシスは、2014年10月14日に発行された「グラニュラーシンセシスを用いるハプティック効果変換システム」の表題の米国特許第8,860,563号明細書に詳細に記載されており、その全開示は、参照することにより本明細書に組み込まれる。
上述した種々の実施の形態は、実例としてのみ提供され、添付した特許請求の範囲を限定するものと解釈すべきでない。当業者は、ここで例示及び記載した実施の形態及び用途に従うことなく、かつ、特許請求の範囲の真の精神及び範囲から逸脱することなく行うことができる種々の変更及び変形を容易に認識する。