(58)【調査した分野】(Int.Cl.,DB名)
前記一又はそれ以上のパラメータは、強度パラメータ、密度パラメータ、振幅パラメータ、周波数パラメータ、アクチュエータパラメータ又はフェールセーフパラメータの少なくとも1つを含み、
前記ハプティック信号の強度を構成するステップ、前記ハプティック信号の密度を構成するステップ、前記ハプティック信号の振幅を構成するステップ、前記ハプティック信号の周波数を構成するステップ、前記ハプティック信号が送信される一又はそれ以上の特定のアクチュエータを構成するステップ又はフェールセーフオペレーションを実行するステップの少なくとも1つをさらに含む請求項3に記載の方法。
前記少なくとも1つのパラメータが、前記ストリームが前記ハプティック効果に変換されたことを示すかどうかに関わらずオーディオ効果を生成するために、前記オーディオ信号の前記ストリームをスピーカへ送信するステップをさらに含む請求項1に記載の方法。
前記ストリームに依存しないハプティック変換モジュールは、さらに、前記一又はそれ以上のパラメータに基づいて前記ハプティック信号を構成するように構成される請求項10に記載のハプティック変換システム。
前記一又はそれ以上のパラメータは、強度パラメータ、密度パラメータ、振幅パラメータ、周波数パラメータ、アクチュエータパラメータ又はフェールセーフパラメータの少なくとも1つを含み、
前記ストリームに依存しないハプティック変換モジュールは、さらに、前記ハプティック信号の強度を構成する、前記ハプティック信号の密度を構成する前記ハプティック信号の振幅を構成する、前記ハプティック信号の周波数を構成する、前記ハプティック信号が送信される一又はそれ以上の特定のアクチュエータを構成する又はフェールセーフオペレーションを実行することの少なくとも1つを実行するように構成される請求項12に記載のハプティック変換システム。
前記オーディオ信号は、パルスコード変調オーディオバッファであり、前記ストリームは、パルスコード変調ストリームである請求項10に記載のハプティック変換システム。
【発明を実施するための形態】
【0006】
一実施形態は、複数のオーディオストリームを含むオーディオ信号を受信し、各オーディオストリーム内に含まれる一又はそれ以上のパラメータに基づいて複数のオーディオストリームのオーディオストリームが、ハプティック効果に変換されることを識別し、識別された各オーディオストリームに対してハプティック信号を生成し、一又はそれ以上のハプティック効果を生成するために一又はそれ以上のアクチュエータを通じて、生成されたハプティック信号をプレイすることができるハプティック変換システムである。
ハプティック変換システムは、識別されたオーディオストリームのみに対してハプティック信号を生成し、それにより、ハプティック変換のストリーム非依存性を提供することができる。
よって、一又はそれ以上のパラメータをオーディオ信号の各オーディオストリームに割り当てることにより、ハプティック変換システムのユーザは、オーディオ信号の各オーディオストリームのオーディオ トゥ ハプティック変換(audio−to−haptic conversion、オーディオからハプティックへの変換)をオン又はオフにすることができる。
さらに、ハプティック変換システムは、各オーディオストリーム内に含まれる一又はそれ以上のパラメータに基づいて個々のオーディオストリームそれぞれに対して生成される各ハプティック信号を構成することができる。
各ハプティック信号の構成は、オーディオ トゥ ハプティック変換の前、最中又は後に行うことができる。
したがって、一又はそれ以上のパラメータをオーディオ信号の各オーディオストリームに割り当てることにより、ハプティック変換システムのユーザは、対応するオーディオストリームに対して生成されるハプティック信号を個別に構成することにより個々のオーディオストリームのそれぞれに対するオーディオ トゥ ハプティック変換を個々に構成することができる。
生成された信号が複数のアクチュエータを通じてプレイされる実施形態では、一又はそれ以上のパラメータは、一又はそれ以上の特定されたアクチュエータを通じてプレイされる、生成された信号を構成しうる少なくとも1つのアクチュエータパラメータを含みうる。
【0007】
図1は、本発明の一実施形態に係るハプティック変換システムのブロック図を示す。
一実施形態では、システム10は、モバイル装置の一部分であり、システム10は、モバイル装置のためにハプティック変換機能を提供する。
図では単一のシステムを示したが、システム10の機能は、分散されたシステムとして実装されることができる。
システム10は、情報を伝達するためのバス12又は他の通信機構と、情報を処理するために、バス12に接続されるプロセッサ22と、を含む。
プロセッサ22は、任意のタイプの一般的な又は特殊用途のプロセッサであってもよい。システム10は、プロセッサ22により実行される情報及び命令を記憶するメモリ14をさらに含む。
メモリ14は、ランダムアクセスメモリ(“RAM”)、リードオンリーメモリ(“ROM”)、磁気又は光ディスクのようなスタティックストレージ、又は任意のタイプのコンピュータ可読媒体の任意の組み合わせを含みうる。
【0008】
コンピュータ可読媒体は、プロセッサ22によりアクセス可能であり、揮発性及び不揮発性媒体の両方、リムーバブル及びノンリムーバブル媒体、通信媒体、及びストレージ媒体を含む任意の取得可能な媒体であってもよい。
通信媒体は、搬送波又は他の伝送機構のような変調されたデータ信号におけるコンピュータ可読命令、データ構造、プログラムモジュール又は他のデータを含んでもよく、既存の技術の情報伝達媒体の任意の形態を含んでもよい。
ストレージ媒体は、RAM、フラッシュメモリ、ROM、erasable programmable read−only memory(“EPROM”)、electrically erasable programmable read−only memory(“EEPROM”)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスクリードオンリーメモリ(“CD−ROM”)、又は既存の技術の任意の他のストレージ媒体の形態を含んでもよい。
【0009】
一実施形態では、メモリ14は、プロセッサ22により実行されたときに、機能を提供するソフトウェアモジュールを記憶する。
モジュールは、一実施形態のモバイル装置の他の部分と同様に、システム10にオペレーティングシステム機能を提供するオペレーティングシステム15を含む。
モジュールは、以下に詳細を記載するように、オーディオ信号を一又はそれ以上のハプティック効果を生成するために用いられる一又はそれ以上のハプティック信号の一又はそれ以上のオーディオストリームへ変換するストリームに依存しない(stream−independent)ハプティック変換モジュール16を含む。
特定の実施形態では、ストリームに依存しないハプティック変換モジュール16は、オーディオ信号を一又はそれ以上のハプティック効果を生成するために用いられる一又はそれ以上のハプティック信号の一又はそれ以上のオーディオストリームへ変換する特定の個別の機能を各々が提供する複数のモジュールを含みうる。
システム10は、通常、Immersion CorporationによるIntegrator(登録商標)のような追加の機能を含むための一又はそれ以上の追加のアプリケーションモジュール18を含む。
【0010】
システム10は、リモートソースからデータを送信及び/又は受信する実施形態において、赤外線、無線、Wi−Fi又はセルラーネットワーク通信のようなモバイル無線通信を提供するために、ネットワークインターフェースカードのような通信装置20をさらに含む。
他の実施形態では、通信装置20は、イーサネット(登録商標)接続又はモデムのような有線通信を提供する。
【0011】
プロセッサ22は、バス12を介して、グラフィック描写又はユーザインターフェースをユーザへ表示する液晶ディスプレイ(“LCD”)のようなディスプレイ24にさらに接続される。
ディスプレイ24は、タッチスクリーンのような、プロセッサ22から信号を送受信するように構成される接触検知入力装置であってもよく、マルチタッチスクリーンであってもよい。
【0012】
システム10は、一実施形態では、複数のアクチュエータ26をさらに含む。
プロセッサ22は、生成されたハプティック効果に関連付けられたハプティック信号を複数のアクチュエータ26に送信し、次に、例えば振動触覚効果のようなハプティック効果を出力する。
アクチュエータ26は、アクチュエータ回路を含む。アクチュエータ26は、例えば、電気モータ、電磁気アクチュエータ、ボイスコイル、形状記憶合金、電気活性ポリマー、ソレノイド、偏心モータ(eccentric rotating mass motor(“ERM”))、リニア共振アクチュエータ(inear resonant actuator(“LRA”))、圧電アクチュエータ、高帯域幅アクチュエータ、電気活性ポリマー(electroactive polymer(“EAP”))アクチュエータ、静電触覚ディスプレイ、又は超音波振動発生器であってもよい。
別の実施形態では、システム10は、アクチュエータ26に加えて、一又はそれ以上の別のアクチュエータ(
図1には図示せず)を含みうる。他の実施形態では、システム10から離れた装置は、ハプティック効果を生成するアクチュエータを含み、ハプティックフィードバックシステム10は、通信装置20を通じて当該装置へ生成したハプティック効果信号を送信する。
【0013】
いくつかの実施形態では、システム10は、一又はそれ以上のスピーカ28をさらに含む。
プロセッサ22は、スピーカ28へオーディオ信号を送信してもよく、順次オーディオ効果を出力する。
スピーカ28は、例えば、ダイナミックラウドスピーカ、エレクトロダイナミックラウドスピーカ、圧電ラウドスピーカ、磁気歪ラウドスピーカ、静電ラウドスピーカ、リボンプラナー磁気ラウドスピーカ、屈曲波ラウドスピーカ、フラットパネルラウドスピーカ、ヘイルエアモーショントランスデューサ、プラズマアークスピーカ、及びデジタルラウドスピーカであってもよい。
【0014】
図2は、本発明の一実施形態に係るハプティック変換システムのアーキテクチャ図を示す。
図示された実施形態では、ハプティック変換システムは、アプリケーション210と、モバイルプラットフォームアーキテクチャ220と、インターフェース230と、ハプティック変換ブロック240と、を含む。
アプリケーション210は、装置(例えば、モバイル装置)で実行されうるソフトウェアアプリケーションであり、オーディオ信号を生成するように構成される。
図示された実施形態では、アプリケーション210は、ユーザの入力を受信し、ユーザの入力に応じてオーディオ信号を生成し、オーディオ信号は、一又はそれ以上のオーディオストリームを含む。
【0015】
特定の実施形態では、オーディオ信号は、パルスコード変調(“PCM”)オーディオ信号のようなデジタルオーディオ信号を含み、各PCMオーディオ信号は、一又はそれ以上のPCMオーディオストリームを含む。
他の実施形態では、オーディオ信号は、Musical Instrument Digital Interface(“MIDI”)オーディオ信号のような構造ベースオーディオ信号(structure−based audio signal)を含み、各MIDIオーディオ信号は、一又はそれ以上のMIDIオーディオデータストリームを含む。
さらに別の実施形態では、オーディオ信号は、MPEG−2 オーディオ レイヤーIII(“MP3”)オーディオ信号のような周波数ドメインオーディオ信号を含み、各MP3オーディオ信号は、一又はそれ以上のMP3オーディオデータストリームを含む。
さらに別の実施形態では、オーディオ信号は、当業者に既に知られている複数のオーディオストリームを有する他のオーディオフォーマットを含む。
【0016】
オーディオ信号の各オーディオストリームは、一又はそれ以上のパラメータを含みうる。以下により詳細に説明するように、一又はそれ以上のパラメータは、オーディオ信号の各オーディオストリームの処理をカスタマイズするためにインターフェース230により用いられうる。
一又はそれ以上のパラメータは、ハプティック変換を示すパラメータを含みうる。ハプティック変換を示すパラメータは、以下により詳細に説明するように、対応するオーディオストリームがハプティック効果に変換されたかどうかを示すことができる。
一又はそれ以上のパラメータは、また、一又はそれ以上のハプティックパラメータを含みうる。一又はそれ以上のハプティックパラメータは、オーディオストリームに基づいて生成されるハプティック信号を構成するために用いられることができ、よって、以下により詳細に説明するように、オーディオストリームに基づいて生成されるハプティック効果を構成するために用いられることができる。
ハプティック信号の構成は、ハプティック信号の生成の前、最中又は後に行うことができる。
一又はそれ以上のハプティックパラメータのそれぞれは、値を含むことができ、各値は、一又はそれ以上のハプティックパラメータのそれぞれに対応する。
このようなハプティックパラメータのそれぞれは、強度パラメータ(ハプティック信号の強度を構成するために用いられうる)、密度パラメータ(ハプティック信号の密度を構成するために用いられうる)、振幅(magnitude)パラメータ(ハプティック信号の振幅を構成するために用いられうる)、周波数パラメータ(ハプティック信号の周波数を構成するために用いられうる)、アクチュエータパラメータ(一又はそれ以上の特定されたアクチュエータへ送信されるハプティック信号を構成するために用いられうる)、又はフェールセーフパラメータ(一又はそれ以上の無効なハプティックパラメータの場合に実行するためのフェールセーフオペレーションを示すために用いられる)。
【0017】
図示された実施形態では、アプリケーション210は、インターフェース230を通じて、オーディオ信号の一又はそれ以上のオーディオストリームをモバイルプラットフォームオーディオアーキテクチャ220へ送信する。
モバイルプラットフォームオーディオアーキテクチャ220は、オーディオ信号の一又はそれ以上のオーディオストリームを一又はそれ以上のスピーカ(
図2には図示せず)へ送信するように構成されるモジュール(又はモジュールの集合体)である。
モバイルプラットフォームオーディオアーキテクチャ220は、オーディオ信号の一又はそれ以上のオーディオストリームを一又はそれ以上のスピーカへストリームする機能を提供しうる一又はそれ以上のアプリケーションプログラミングインターフェース(application programming interfaces (“APIs”))を含みうる。
一実施形態では、モバイルプラットフォームオーディオアーキテクチャ220は、モバイル装置のAndroid(登録商標)オペレーティングシステムのAndroid AudioTrackモジュール(又はモジュールの集合体)である。
この実施形態では、モバイルプラットフォームオーディオアーキテクチャ220は、一又はそれ以上のAudioTrack APIsを含むことができ、各AudioTrack APIは、アプリケーション210がプレイするように構成されるオーディオ信号の異なるオーディオストリームを示すことができ、各AudioTrack APIは、一又はそれ以上のスピーカでオーディオストリームをプレイするために呼び出され(又は実行され)うる。
図示された実施形態では、各AudioTrack APIは、以下により詳細に説明するように、インターフェース230内の対応するAPIにより呼び出されうる。各AudioTrack APIが呼び出されたとき、各AudioTrack APIは、アプリケーション210によりプレイされるオーディオ信号のオーディオストリームをパスすることができ、各AudioTrack APIは、一又はそれ以上のスピーカで対応するオーディオストリームをプレイすることができる。
よって、図示された実施形態では、モバイルプラットフォームオーディオアーキテクチャ220は、アプリケーション210により送信されたオーディオ信号の一又はそれ以上のオーディオストリームを受信し、それらを一又はそれ以上のスピーカへ送信する。
【0018】
インターフェース230は、モバイルプラットフォームオーディオアーキテクチャ220を拡張するように構成されるモジュール(又はモジュールの集合体)であり、(a)オーディオ信号のオーディオストリームがオーディオ トゥ ハプティック変換を用いるか判定し、(b)オーディオ トゥ ハプティック変換を用いて各オーディオストリームに対してオーディオ トゥ ハプティック変換を構成する機能を提供する。
実施形態によれば、インターフェース230内のAPIは、モバイルプラットフォームオーディオアーキテクチャ220又はハプティック変換ブロック240のいずれかのAPIよりも抽出が高いレベルにある。これは、インターフェース230内のAPIが、オーディオ信号のオーディオストリーム内に含まれる一又はそれ以上のパラメータに基づいて、モバイルプラットフォームオーディオアーキテクチャ220内のAPI又はハプティック変換ブロック240内のAPIを呼び出すことができるためである。
一実施形態では、インターフェース230は、(HapticTrack APIsとして識別される)一又はそれ以上のAPIsを含むことができ、インターフェース230の各HapticTrack APIは、アプリケーション210がプレイするように構成されるオーディオ信号のオーディオストリームを示すことができ、インターフェース230の各HapticTrack APIは、モバイルプラットフォームオーディオアーキテクチャ220(例えばAudioTrack API)内のAPIに対応する。
実施形態によれば、各HapticTrack APIは、一又はそれ以上のスピーカでオーディオストリームをプレイするためにアプリケーション210により呼び出されることができ、潜在的に、オーディオストリームをハプティック信号に変換し、一又はそれ以上のハプティック効果を生成するために一又はそれ以上のアクチュエータ(
図2には図示せず)でハプティック信号をプレイすることができる。
【0019】
アプリケーション210がインターフェース230のHapticTrack APIを呼び出したとき、一実施形態によれば、アプリケーション210は、ハプティック信号のオーディオストリームをパスし、オーディオストリームは、一又はそれ以上のパラメータを含む。
パラメータの1つは、ハプティック変換を示すパラメータであってもよい。前述したように、ハプティック変換を示すパラメータは、対応するオーディオストリームがハプティック効果に変換されたかどうかを示すことができる。
【0020】
実施形態によれば、インターフェース230のHapticTrack APIは、モバイルプラットフォームオーディオアーキテクチャ220の対応するAudioTrack APIを呼び出すことができ、オーディオストリームを対応するAudioTrack APIへ移動(pass)する。
AudioTrack APIは、その後、前述した一又はそれ以上のスピーカでオーディオストリームをプレイすることができる。
HapticTrack APIは、また、一又はそれ以上のパラメータを分析することもでき、ハプティック変換を示すパラメータが、オーディオストリームがハプティック効果に変換されたことを示す値を含むかどうかを判定することができる。
ハプティック変換を示すパラメータが、オーディオストリームがハプティック効果に変換されたことを示す値を含む場合には、HapticTrack APIは、以下により詳細に説明するように、オーディオストリームをハプティック効果に変換するためにハプティック変換ブロック240を呼び出すことができる。
ハプティック変換を示すパラメータが、オーディオストリームがハプティック効果に変換されたことを示す値を含む場合には、HapticTrack APIは、ハプティック変換ブロック240を呼び出さず、オーディオストリームは、ハプティック効果に変換されない。
【0021】
特定の実施形態では、インターフェース230は、モバイルプラットフォームオーディオアーキテクチャ220に動作可能に接続され、オーディオストリームがハプティック効果に変換されるかどうかを判定しうるインターフェースである。
これらの実施形態のいくつかでは、インターフェース230は、また、どのようにオーディオストリームがハプティック効果に変換されるかを構成することもできる。
これらの実施形態のいくつかでは、構成は、ハプティック効果を生成するために、ハプティック効果を示すハプティック信号を送るためのアクチュエータを決定することを含むことができる。
【0022】
さらに、いくつかの実施形態では、インターフェース230は、また、オーディオストリーム内に含まれる一又はそれ以上のパラメータでエラー検出が行われることもできる。
例えば、インターフェース230は、一又はそれ以上のパラメータが無効(例えば、一又はそれ以上のパラメータが無効である値を含む)であるかどうかを判定することができる。パラメータの無効値の例は、予め設定された範囲外である強度パラメータ用の値、又は存在しないアクチュエータを示すアクチュエータパラメータ用の値を含むことができる。
インターフェース230が、一又はそれ以上のパラメータが無効であると判定した場合には、インターフェース230は、オーディオストリームをハプティック効果に変換するフェールセーフオペレーションを実行することができる。
フェールセーフオペレーションの一例は、デフォルトのオーディオ トゥ ハプティック変換を用いることである。
フェールセーフオペレーションの別の例は、オーディオストリームのオーディオ トゥ ハプティック変換を自動的にバイパスすることである。
一実施形態では、インターフェース230は、オーディオストリーム内に含まれるフェールセーフパラメータに基づいて実行するためにフェールセーフオペレーションを選択することができる。
【0023】
よって、一実施形態では、インターフェース230は、オーディオストリーム内に含まれる一又はそれ以上のパラメータの包括的な解釈を提供する。
実施形態によれば、一又はそれ以上のパラメータの数が有限であることができ、異なるHapticTrack APIは、オーディオストリーム内に含まれるパラメータの数及びタイプに応じて呼び出されうる。
また、一実施形態では、一又はそれ以上のパラメータは、AudioTrack APIへ送信されうる一又はそれ以上のパラメータの拡張(extension)でありうる。よって、AudioTrack APIへ送信されうる(パラメータの任意の組み合わせを含む)オーディオストリームは、また、HapticTrack APIへ送信されうる。一実施形態では、一又はそれ以上のパラメータは、一又はそれ以上のオーディオパラメータ及び一又はそれ以上の追加パラメータを含むことができる。
一実施形態では、インターフェース230は、オーディオストリームで行われる一又はそれ以上のオペレーションを決定するために、一又はそれ以上のパラメータを解釈することの責任を担うことができる。
【0024】
ハプティック変換ブロック240は、オーディオストリームを受信し、オーディオストリームをハプティック信号に変換し、ハプティック効果を生成するために一又はそれ以上のアクチュエータでハプティック信号をプレイするように構成されるモジュール(又はモジュールの集合体)である。
ハプティック変換ブロック240により行われるオーディオ トゥ ハプティック変換処理のさらなる詳細は、“SOUND TO HAPTIC EFFECT CONVERSION SYSTEM USING AMPLITUDE VALUE”という発明の名称の米国特許出願番号第13/365,984号、“SOUND TO HAPTIC EFFECT CONVERSION SYSTEM USING WAVEFORM,”という発明の名称の米国特許出願番号第13/366,010号、及び“SOUND TO HAPTIC EFFECT CONVERSION SYSTEM USING MULTIPLE ACTUATORS,”という発明の名称の米国特許出願番号第13/439,241に説明されており、その開示が参照により本明細書に援用される。
【0025】
特定の実施形態では、ハプティック変換ブロック240は、オーディオストリームがハプティック効果に変換されることを示すハプティック変換を示すパラメータを含むオーディオストリームのみを呼び出す。
これらの実施形態では、オーディオストリームがハプティック効果に変換されることを示すハプティック変換を示すパラメータを含むオーディオストリームのみを呼び出すため、ハプティック変換ブロック240は、これらの特定のオーディオストリームを、一又はそれ以上のアクチュエータでその後プレイされるハプティック信号にのみ変換する。
これらの実施形態によれば、このようなハプティック変換を示すパラメータを含まないオーディオストリーム(又はハプティック変換を示すパラメータを含むが、ハプティック変換を示すパラメータは、オーティオストリームがハプティック効果に変換されないことを示す)は、ハプティック変換ブロック240によりハプティック信号に変換されない。
他の実施形態では、ハプティック変換ブロック240は、オーティオストリームが変換されたことを明示的に又はコンテキスト的に示す一又はそれ以上のパラメータを含むオーディオストリームのみが呼び出されうる。
オーディオストリームがハプティック効果に変換されることを明示的に示すことにより、一又はそれ以上のパラメータは、オーディオストリームがハプティック効果に変換される特定の値を含む。
オーディオストリームがハプティック効果に変換されることをコンテキスト的に示すことにより、一又はそれ以上のパラメータは、オーディオストリームがハプティック効果に変換される特定の値を必ず含むわけではないが、一又はそれ以上のパラメータの存在は、オーディオストリームがハプティック効果に変換されることを意味する。
【0026】
特定の実施形態では、インターフェース230のHapticTrack APIは、さらに、一又はそれ以上のパラメータを分析し、一又はそれ以上のパラメータが一又はそれ以上のハプティックパラメータを含むかどうか判定する。
特定の実施形態では、一又はそれ以上のパラメータのそれぞれは、値を含むことができ、各値は、一又はそれ以上のハプティックパラメータのそれぞれに対応する。
一又はそれ以上のパラメータが一又はそれ以上のハプティックパラメータを含む場合、HapticTrack APIは、ハプティック変換ブロック240により生成されるハプティック信号を構成するために一又はそれ以上のハプティックパラメータを用いることができる。
特定の実施形態では、HapticTrack APIは、ハプティック変換ブロック240により生成されるハプティック信号を構成するために一又はそれ以上のハプティックパラメータに対応する一又はそれ以上の値を用いることができる。
よって、ハプティック信号の構成は、一又はそれ以上のアクチュエータで生成されたハプティック信号を構成することができる。
例えば、ハプティックパラメータの1つが強度パラメータである場合、HapticTrack APIは、強度パラメータの値に基づいてハプティック変換ブロック240により生成されるハプティックパラメータの強度を構成しうる。この構成は、対応するハプティック効果の強度を構成しうる。
別の例として、ハプティックパラメータの1つが密度パラメータである場合、HapticTrack APIは、密度パラメータの値に基づいてハプティック変換ブロック240により生成されるハプティックパラメータの密度を構成しうる。この構成は、対応するハプティック効果の密度を構成しうる。
さらに別の例として、ハプティックパラメータの1つが振幅パラメータである場合、HapticTrack APIは、振幅パラメータの値に基づいてハプティック変換ブロック240により生成されるハプティックパラメータの振幅を構成しうる。この構成は、対応するハプティック効果の振幅を構成しうる。
さらに別の例として、ハプティックパラメータの1つが周波数パラメータである場合、HapticTrack APIは、周波数パラメータの値に基づいてハプティック変換ブロック240により生成されるハプティックパラメータの周波数を構成しうる。この構成は、対応するハプティック効果の周波数を構成しうる。
さらに別の例として、ハプティックパラメータの1つがアクチュエータパラメータである場合、HapticTrack APIは、アクチュエータパラメータの値に基づいてハプティック変換ブロック240により生成されるハプティックパラメータのアクチュエータを構成しうる。この構成は、特定の一又はそれ以上のアクチュエータにより生成される対応するハプティック効果を生じることにより、対応するハプティック効果のアクチュエータを構成しうる。
一実施形態では、アクチュエータパラメータの値は、アクチュエータインデックスのアレイであることができ、アクチュエータインデックスは、一又はそれ以上のアクチュエータの特定のアクチュエータを示す。
さらに別の例として、ハプティックパラメータの1つがフェールセーフパラメータである場合、HapticTrack APIは、少なくとも1つのハプティックパラメータが無効であるイベントでフェールセーフパラメータにより示されるフェールセーフオペレーションに基づいてハプティック信号を構成しうる。
いくつかの実施形態では、HapticTrack APIは、ハプティック信号がハプティック変換ブロック240により生成される前にハプティック信号を構成しうる。
これらの実施形態では、HapticTrack APIは、ハプティック信号を生成するためにハプティック変換ブロック240により用いられる一又はそれ以上の特性を構成するために一又はそれ以上のパラメータの値を用いる。
これらのいくつかの実施形態では、オーディオストリームは、対応するハプティック信号が、一又はそれ以上のパラメータで要求される特性を含むように操作されうる。
他の実施形態では、HapticTrack APIは、ハプティック信号がハプティック変換ブロック240により生成される間にハプティック信号を構成しうる。
これらのいくつかの実施形態では、ハプティック信号を生成する間に、一又はそれ以上のパラメータは、最終的なハプティック信号を生成する際に考慮される。
他の実施形態では、HapticTrack APIは、ハプティック信号がハプティック変換ブロック240により生成された後にハプティック信号を構成しうる。
これらのいくつかの実施形態では、初めにハプティック信号を生成した後に、ハプティック信号が、一又はそれ以上のパラメータで要求される特性を含むように操作されうる。
【0027】
ハプティック効果の構成は、オーディオ効果と共にプレイされるハプティック効果を設計するハプティック効果の開発者にとって有益となりうる。
例えば、コンピュータゲーム内でプレイされるハプティック効果を開発するハプティック効果の開発者は、爆発を表現するオーディオ信号の一又はそれ以上のオーディオストリームに、最大値を有するハプティックパラメータを含ませることにより、コンピュータゲーム内での爆発を表すことができ、そのため、得られるハプティック効果は強くなる。
別の例として、ハプティック効果の開発者は、足音を表現するオーディオ信号の一又はそれ以上のオーディオストリームに、減少された値を有するハプティックパラメータを含ませることにより、コンピュータゲーム内での足音を表すことができ、そのため、得られるハプティック効果は、爆発を表現するハプティック効果とは異なる。
【0028】
図3は、本発明の一実施形態に係る、オーディオ信号の複数のオーディオストリームを受信し、オーディオストリームを、一又はそれ以上のハプティック効果を出力するためにアクチュエータへ送信されるハプティック信号に選択的に変換するハプティック変換システムの一例を示す。
実施形態によれば、ハプティック変換システムは、インターフェース310及びオーディオ トゥ ハプティックモジュール320を含む。インターフェース310は、(a)オーディオ信号のオーディオストリームがオーディオ トゥ ハプティック変換を用いるか判定し、(b)オーディオ トゥ ハプティック変換を用いて各オーディオストリームに対してオーディオ トゥ ハプティック変換を構成する機能を提供するように構成されるモジュール(又はモジュールの集合体)である。
いくつかの実施形態では、インターフェース310は、
図2のインターフェース230と同一である。
【0029】
実施形態によれば、インターフェース310は、オーディオ信号の複数のオーディオストリームを受信し(オーディオストリーム311として
図3に示される)、各オーディオストリームは、一又はそれ以上のパラメータを含む。
特定の実施形態では、オーディオ信号は、例えばPCMオーディオ信号のようなデジタルオーディオ信号であり、PCMオーディオ信号の複数のオーディオストリームは、複数のPCMオーディオストリームである。
各オーディオストリームに対して、インターフェース310は、オーディオストリーム内に含まれる少なくとも1つのパラメータが、オーディオストリームがハプティック効果に変換される値を含むハプティック変換を示すパラメータであるか判定する。
特定の実施形態では、インターフェース310は、オーディオストリームが、オーディオストリームがハプティック効果に変換されることを示すハプティック変換を示すパラメータを含む場合に、この判定を行う。
他の実施形態では、インターフェース310は、オーディオストリームが、オーディオストリームがハプティック効果に変換されることを明示的又はコンテキスト的に示す一又はそれ以上のパラメータを含む場合に、この判定を行う。
オーディオストリームがハプティック効果に変換されることを明示的に示すことにより、一又はそれ以上のパラメータは、オーディオストリームがハプティック効果に変換される特定の値を含む。
オーディオストリームがハプティック効果に変換されることをコンテキスト的に示すことにより、一又はそれ以上のパラメータは、オーディオストリームがハプティック効果に変換される特定の値を必ず含むわけではないが、一又はそれ以上のパラメータの存在は、オーディオストリームがハプティック効果に変換されることを意味する。
【0030】
よって、インターフェース310は、対応するオーディオストリームがハプティック効果に変換されることを示すハプティック変換を示すパラメータを含む一又はそれ以上のオーディオストリームを識別する。
インターフェース310は、続いて、これらの識別されたオーディオストリームをオーディオ トゥ ハプティックモジュール320へ送信する。
実施形態によれば、インターフェース310は、他のオーディオストリームをオーディオ トゥ ハプティックモジュール320へ送信しない(つまり、対応するオーディオストリームがハプティック効果に変換されることを示すハプティック変換を示すパラメータを含まないオーディオストリーム、又はオーディオストリームがハプティック効果に変換されないことを示すハプティック変換を示すパラメータを含むオーディオストリーム)。
よって、インターフェース310は、オーディオ トゥ ハプティックモジュール320をセットアップし、インターフェース310がオーディオ トゥ ハプティックモジュール320へ送信するオーディオストリームをどのように処理するかをオーディオ トゥ ハプティックモジュールに指示する。
【0031】
図示された実施形態では、(
図3に図示される薄い線によって示されるように)オーディオストリーム311の3つのオーディオストリームは、対応するオーディオストリームがハプティック効果に変換されることを示すハプティック変換を示すパラメータを含む。
さらに、オーディオストリーム311の3つの他のオーディオストリームは、対応するオーディオストリームがハプティック効果に変換されることを示すハプティック変換を示すパラメータを含まない。
よって、図示された実施形態では、インターフェース310は、対応するオーディオストリームがハプティック効果に変換されることを示すハプティック変換を示すパラメータを含むオーディオストリーム311の3つのオーディオストリームを識別し、これらの3つのオーディオストリームのみをオーディオ トゥ ハプティックモジュール320に送信する。
さらに、オーディオ トゥ ハプティックモジュール320は、これらの3つのオーディオストリームのみをオーディオ信号に変換し、3つのハプティック信号のみをアクチュエータに送信する。
しかし、図示された実施形態は、実施形態の一例であり、インターフェース310は、任意の数のオーディオストリームを識別し、オーディオ トゥ ハプティックモジュール320へ送信し、オーディオ トゥ ハプティックモジュール320は、任意の数のオーディオストリームを任意の数のハプティック信号に変換し、任意の数のハプティック信号を任意の数のアクチュエータに送信する構成されることができる。
【0032】
オーディオ トゥ ハプティックモジュール320は、オーディオストリームを受信し、オーディオストリームをハプティック信号に変換し、一又はそれ以上のハプティック効果を生成するために一又はそれ以上のアクチュエータでハプティック信号をプレイする。
いくつかの実施形態では、オーディオ トゥ ハプティックモジュール320は、
図2のハプティック変換ブロック240と同一である。
実施形態では、オーディオ トゥ ハプティックモジュール320は、インターフェース310から一又はそれ以上のオーディオストリームを受信し、各オーディオストリームに対して、対応するハプティック信号を生成するように構成される。
オーディオ トゥ ハプティックモジュール320は、さらに、一又はそれ以上のハプティック信号を一又はそれ以上のアクチュエータに送信するように構成され(ハプティック信号321として
図3に示される)、一又はそれ以上のハプティック信号は、一又はそれ以上のハプティック効果を生成するために一又はそれ以上のアクチュエータでプレイされる。
特定の実施形態では、インターフェース310がオーディオ トゥ ハプティックモジュール320へ送信する各オーディオストリームに対して、インターフェース310は、さらに、対応するオーディオストリーム内に含まれる一又はそれ以上のパラメータに基づいてオーディオ トゥ ハプティックモジュール320により生成されるハプティック信号を構成する。
よって、ハプティック信号の構成は、一又はそれ以上のアクチュエータで生成されるハプティック効果を構成しうる。
【0033】
例えば、ハプティックパラメータの1つが強度パラメータである場合、インターフェース310は、強度パラメータの値に基づいてオーディオ トゥ ハプティックモジュール320により生成されるハプティック信号の強度を構成しうる。この構成は、対応するハプティック効果の強度を構成しうる。
別の例として、ハプティックパラメータの1つが密度パラメータである場合、インターフェース310は、密度パラメータの値に基づいてオーディオ トゥ ハプティックモジュール320により生成されるハプティック信号の密度を構成しうる。この構成は、対応するハプティック効果の密度を構成しうる。
さらに別の例として、ハプティックパラメータの1つが振幅パラメータである場合、インターフェース310は、振幅パラメータの値に基づいてオーディオ トゥ ハプティックモジュール320により生成されるハプティック信号の振幅を構成しうる。この構成は、対応するハプティック効果の振幅を構成しうる。
さらに別の例として、ハプティックパラメータの1つが周波数パラメータである場合、インターフェース310は、周波数パラメータの値に基づいてオーディオ トゥ ハプティックモジュール320により生成されるハプティック信号の周波数を構成しうる。
さらに別の例として、ハプティックパラメータの1つがアクチュエータパラメータである場合、インターフェース310は、アクチュエータパラメータの値に基づいて、一又はそれ以上の特定のアクチュエータへ送信されるオーディオ トゥ ハプティックモジュール320により生成されるハプティック信号を構成しうる。
一実施形態では、アクチュエータパラメータの値は、アクチュエータインデックスのアレイであることができ、各アクチュエータインデックスは、一又はそれ以上のアクチュエータの特定のアクチュエータを示す。
さらに別の例として、ハプティックパラメータの1つがフェールセーフパラメータであり、ハプティックパラメータの少なくとも1つが無効である場合、HapticTrack APIは、フェールセーフパラメータにより示されるフェールセーフオペレーションに基づいてハプティック信号を構成しうる。
いくつかの実施形態では、インターフェース310は、オーディオ トゥ ハプティックモジュール320がハプティック信号を生成する前にハプティック信号を構成しうる。
これらの実施形態では、インターフェース310は、ハプティック信号を生成するためのオーディオ トゥ ハプティックモジュール320により用いられる一又はそれ以上の特性を構成するために一又はそれ以上のパラメータの値を用いる。
これらの実施形態のいくつかでは、オーディオストリームは、対応するハプティック信号が、一又はそれ以上のパラメータにより要求される特性を含むように操作されることができる。
いくつかの実施形態では、インターフェース310は、オーディオ トゥ ハプティックモジュール320がハプティック信号を生成する間にハプティック信号を構成しうる。
これらの実施形態のいくつかでは、ハプティック信号を生成する間に、一又はそれ以上のパラメータは、最終的なハプティック信号を生成する際に考慮される。
いくつかの実施形態では、インターフェース310は、オーディオ トゥ ハプティックモジュール320がハプティック信号を生成した後にハプティック信号を構成しうる。
これらの実施形態のいくつかでは、初めにハプティック信号を生成した後に、ハプティック信号は、ハプティック信号が、一又はそれ以上のパラメータにより要求される特性を含むように操作されうる。
【0034】
図4は、本発明の一実施形態に係る、ストリームに依存しないハプティック変換モジュール(例えば、
図1のストリームに依存しないハプティック変換モジュール16)の機能のフロー図を示す。
一実施形態では、
図4の機能は、メモリ又は他のコンピュータ可読媒体若しくは有形的表現媒体に記憶されるソフトウェアにより実装され、プロセッサにより実行される。
別の実施形態では、当該機能は、(例えば、特定用途向け集積回路(“ASIC”)、プログラマブルゲートアレイ(“PGA”)、フィールドプログラマブルゲートアレイ(“FPGA”)等のアプリケーションを使用することによる)ハードウェアにより行われてもよく、ハードウェア及びソフトウェアの組み合わせにより行われてもよい。
また、別の実施形態では、機能は、アナログ構成要素を用いたハードウェアにより行われてもよい。
【0035】
フローは開始し、410へ進む。410では、オーディオ信号の複数のストリームは、受信され、各ストリームは、一又はそれ以上のパラメータを含む。
特定の実施形態では、一又はそれ以上のパラメータは、ハプティック変換を示すパラメータを含むことができ、ハプティック変換を示すパラメータは、ストリームがハプティック効果に変換されるかどうかを示すことができる。
これらの実施形態のいくつかでは、一又はそれ以上のパラメータは、さらに、一又はそれ以上のハプティックパラメータを含みうる。
一又はそれ以上のハプティックパラメータは、ストリームに基づいて生成されるハプティック信号を構成するために用いられることができ、ストリームに基づいて生成されるハプティック効果を構成するために用いられることができる。
これらの実施形態のいくつかでは、一又はそれ以上のパラメータは、強度パラメータ(ハプティック信号の強度を構成するために用いられうる)、密度パラメータ(ハプティック信号の密度を構成するために用いられうる)、振幅パラメータ(ハプティック信号の振幅を構成するために用いられうる)、周波数パラメータ(ハプティック信号の周波数を構成するために用いられうる)、アクチュエータパラメータ(一又はそれ以上の特定されたアクチュエータへ送信されるハプティック信号を構成するために用いられうる)、フェールセーフパラメータ(一又はそれ以上の無効パラメータの場合に実行されるフェールセーフオペレーションを示すために用いられる)の少なくとも1つを含みうる。
フローは420へ進む。
【0036】
420では、複数のストリームの各ストリームに対して、対応するストリームがハプティック効果に変換されることを示す一又はそれ以上のパラメータの少なくとも1つのパラメータであるかどうかを判定する。
したがって、実施形態によれば、対応するストリームがハプティック効果に変換されることを示す少なくとも1つのパラメータを含む一又はそれ以上のストリームが識別される。
フローは430へ進む。
【0037】
430では、識別されたストリームのみに対して、ハプティック信号は、各対応するストリームに基づいて生成される。
フローは440へ進む。
【0038】
440では、識別されたストリームのみに対して、各ハプティック信号は、一又はそれ以上のパラメータに基づいて構成され、一又はそれ以上のパラメータは、一又はそれ以上のハプティックパラメータを含む。
各ハプティック信号の構成は、一又はそれ以上のハプティックパラメータに基づいて各ハプティック信号の一又はそれ以上の特性を構成することを含みうる。
一又はそれ以上のハプティックパラメータの1つが強度パラメータである場合の実施形態では、各ハプティック信号の構成は、各ハプティック信号の強度を構成することを含みうる。
一又はそれ以上のハプティックパラメータの1つが密度パラメータである場合の実施形態では、各ハプティック信号の構成は、各ハプティック信号の密度を構成することを含みうる。
一又はそれ以上のハプティックパラメータの1つが振幅パラメータである場合の実施形態では、各ハプティック信号の構成は、各ハプティック信号の振幅を構成することを含みうる。
一又はそれ以上のハプティックパラメータの1つが周波数パラメータである場合の実施形態では、各ハプティック信号の構成は、各ハプティック信号の周波数を構成することを含みうる。
一又はそれ以上のハプティックパラメータの1つがアクチュエータパラメータである場合の実施形態では、各ハプティック信号の構成は、一又はそれ以上の特定のアクチュエータに送信される各ハプティック信号を構成することを含みうる。
一又はそれ以上のハプティックパラメータの1つがアクチュエータパラメータである場合の実施形態では、各ハプティック信号の構成は、一又はそれ以上の無効なパラメータの場合にフェールセーフパラメータにより示されるフェールセーフオペレーションを実行することを含みうる。
特定の実施形態では、440で行われる各ハプティック信号の構成は、430で行われる各ハプティック信号の生成の前に行われうる。
他の実施形態では、440で行われる各ハプティック信号の構成は、430で行われる各ハプティック信号の生成中に行われうる。
他の実施形態では、440で行われる各ハプティック信号の構成は、430で行われる各ハプティック信号を生成した後に行われうる。
フローは450へ進む。
【0039】
450では、識別されたストリームに対して、各ハプティック信号は、ハプティック効果を生成するためにアクチュエータに送信される。
特定の実施形態では、全てのストリームに対して、各ストリームは、また、ストリームのハプティック変換を示すパラメータが、ストリームがハプティック効果に変換されることを示すかどうかに関わらず、オーディオ効果を生成するためにスピーカへ送信される。
フローはその後終了する。
【0040】
特定の実施形態では、オーディオ信号は、PCMオーディオ信号であり、PCMオーディオ信号の各ストリームは、PCMオーディオストリームである。
別の実施形態では、オーディオ信号は、MIDIオーディオ信号であり、MIDIオーディオ信号の各ストリームは、MIDIオーディオストリームである。
さらに別の実施形態では、オーディオ信号は、MP3オーディオ信号であり、MP3オーディオ信号の各ストリームは、MP3オーディオストリームである。
【0041】
よって、ハプティック変換システムは、ストリーム バイ ストリームベース(stream−by−stream basis)でのオーディオ信号の個々のオーディオストリームのためのオーディオ トゥ ハプティック変換を適用することを提供することができる。
このようなハプティック変換システムは、オーディオ トゥ ハプティックが粒度のカスタマイズ可能なレベルで適用されることを可能にすることにより、ハプティック効果の開発者が、ユーザのためにハプティック体験を開発及び設計することにおいてよりよい制御を有することを可能にする。
さらに、ハプティック変換システムは、ユーザが、オーディオストリームがハプティック信号を生成すべきである制御を許可することを可能にするハプティック効果の開発者用の機構を提供することができる。
よって、個々のオーディオストリームに対して可能又は不可能であり得るカスタマイズされた信号は、ユーザの選択に基づいてオーディオ信号から生成されることができ、ハプティック信号は、ハプティック効果を生成するために用いられうる。
【0042】
本明細書を通して記載された本発明の特徴、構造、又は特性は、1つ以上の実施形態において任意の適切な方法において組み合わされてよい。例えば、「一実施形態」、「一部の実施形態」、「特定の実施形態」、「特定の実施形態(複数)」、又は他の類似の言語の使用は、本明細書を通じて、実施形態に関連して記載された特定の特徴、構造、又は特性が、本発明の少なくとも1つの実施形態に含まれ得るという事実に言及している。従って、「一実施形態」、「一部の実施形態」、「特定の実施形態」、「特定の実施形態(複数)」の言い回し、又は他の類似の言語の登場は、これら全てが、実施形態の同じ群のことを必ずしも言及しているのではなく、記載された特徴、構造、又は特性は、1つ以上の実施形態において任意の適切な方法において組み合わされてよい。
【0043】
当業者は、上述した発明が、異なる順序におけるステップを用いて実施されてよく、及び/又は、記載された構成とは異なる構成における要素を用いて実施されてよいことを容易に理解する。それゆえ、本発明はこれらの好ましい実施形態に基づいて記載されているけれども、特定の修正、変更、及び代替の構成が明白であり、他方で本発明の趣旨及び範囲内にあることは、当業者にとって明白である。本発明の境界を決定するために、それゆえ、添付の特許請求の範囲に参照がなされるべきである。