(57)【特許請求の範囲】
【請求項１】
コンピュータ可読媒体であって、プロセッサによって実行された場合に、前記プロセッサに、オーディオ信号を１つ以上の触覚効果に変換させる命令を前記コンピュータ可読媒体内に保存させた、コンピュータ可読媒体であって、前記命令は、
前記オーディオ信号の複数のデータフレームを受信する工程であって、前記データフレームは、等しい期間のデータフレームである、工程と、
前記データフレームのそれぞれの最大値を決定する工程と、
前記データフレームのそれぞれの前記最大値に基づいて触覚信号を生成する工程であって、前記データフレームのそれぞれの前記最大値は、各データフレームに対する前記触覚信号の大きさを規定する、工程と、
前記触覚信号の大きさをフィルタリングする工程であって、前記触覚効果の極端さのパラメータは、前記触覚信号の大きさに付与される減衰の量を規定するために用いられる、工程と、
各データフレームに対する前記１つ以上の触覚効果を生成するために、前記触覚信号をアクチュエータに送信する工程と、
を含む、コンピュータ可読媒体。
【請求項２】
前記触覚信号は周期的効果を含む、請求項１に記載のコンピュータ可読媒体。
【請求項３】
前記命令は、前記データフレームの１つ以上のサンプル値を生成するために、前記データフレームをサンプリングする工程であって、前記最大値は前記１つ以上のサンプル値の最大値である、工程をさらに含む、請求項１に記載のコンピュータ可読媒体。
【請求項４】
前記データフレームの１つ以上のサンプル値は絶対値である、請求項３に記載のコンピュータ可読媒体。
【請求項５】
前記データフレームの１つ以上のサンプル値は平方値である、請求項３に記載のコンピュータ可読媒体。
【請求項６】
前記最大値は、線形変換関数を用いて、オリジナルの最大値から変換される、請求項１に記載のコンピュータ可読媒体。
【請求項７】
前記オーディオ信号は、パルス符号変調オーディオバッファである、請求項１に記載のコンピュータ可読媒体。
【請求項８】
前記触覚信号を生成および送信する工程はさらに、パラメータとして前記最大値を、触覚効果再生モジュールのアプリケーションプログラミングインターフェースに回す工程を含む、請求項１に記載のコンピュータ可読媒体。
【請求項９】
前記命令はさらに、前記データフレームの高速フーリエ変換を用いて、前記データフレームから周波数コンテンツを抽出する工程を含む、請求項１に記載のコンピュータ可読媒体。
【請求項１０】
前記命令はさらに、バンドパスフィルタを用いて、前記データフレームから周波数コンテンツを抽出する工程を含む、請求項１に記載のコンピュータ可読媒体。
【請求項１１】
前記命令はさらに、
前記データフレームを、低周波数コンテンツ、中程度の周波数コンテンツ、および高周波数コンテンツに分ける工程、および
デジタルオーディオ信号のコンテンツを用いて、前記中程度の周波数コンテンツおよび高周波数コンテンツを抽出する工程
を含む、請求項１に記載のコンピュータ可読媒体。
【請求項１２】
オーディオ信号を１つ以上の触覚効果に変換するためのコンピュータが実施する方法であって、前記方法は、
前記オーディオ信号の複数のデータフレームを受信する工程であって、前記データフレームは、等しい期間のデータフレームである、工程と、
前記データフレームのそれぞれの最大値を決定する工程であって、各データフレームの前記最大値は、各データフレームに対する触覚信号の大きさを規定する、工程と、
前記データフレームのそれぞれの前記最大値に基づいて触覚信号を生成する工程と、
前記触覚信号の大きさをフィルタリングする工程であって、前記触覚効果の極端さのパラメータは、前記触覚信号の大きさに付与される減衰の量を規定するために用いられる、工程と、
各データフレームに対する前記１つ以上の触覚効果を生成するために、前記触覚信号をアクチュエータに送信する工程と
を含む、方法。
【請求項１３】
前記触覚信号は周期的効果を含む、請求項１２に記載のコンピュータが実施する方法。
【請求項１４】
前記方法はさらに、
前記データフレームの１つ以上のサンプル値を生成するために、前記データフレームをサンプリングする工程であって、前記最大値は前記１つ以上のサンプル値の最大値である、工程を含む、請求項１２に記載のコンピュータが実施する方法。
【請求項１５】
前記データフレームの１つ以上のサンプル値は絶対値である、請求項１４に記載のコンピュータが実施する方法。
【請求項１６】
前記最大値は、線形変換関数を用いて、オリジナルの最大値から変換される、請求項１２に記載のコンピュータが実施する方法。
【請求項１７】
前記方法はさらに、前記データフレームの高速フーリエ変換を用いて、前記データフレームから周波数コンテンツを抽出する工程を含む、請求項１２に記載のコンピュータが実施する方法。
【請求項１８】
前記方法はさらに、バンドパスフィルタを用いて、前記データフレームから周波数コンテンツを抽出する工程を含む、請求項１２に記載のコンピュータが実施する方法。
【請求項１９】
前記方法はさらに、
前記データフレームを、低周波数コンテンツ、中程度の周波数コンテンツ、および高周波数コンテンツに分ける工程、および
デジタルオーディオ信号のコンテンツを用いて、前記中程度の周波数コンテンツおよび高周波数コンテンツを抽出する工程
を含む、請求項１２に記載のコンピュータが実施する方法。
【請求項２０】
触覚変換システムであって、
触覚変換モジュールを保存するように構成されたメモリであって、前記触覚変換モジュールは、リバーブモジュールおよびブームボックスモジュールを含む、メモリと、
前記メモリに保存された前記触覚変換モジュールを実行するように構成されたプロセッサと、
１つ以上の触覚効果を出力するように構成されたアクチュエータと、
を備え、
前記リバーブモジュールは、オーディオ信号の複数のデータフレームを受信するように構成され、
前記ブームボックスモジュールは、前記データフレームのそれぞれの最大値を決定するように構成され、
前記リバーブモジュールはさらに、各データフレームの前記最大値に基づいて触覚信号を生成するように構成され、前記最大値は、前記触覚信号の大きさを規定し、
前記リバーブモジュールはさらに、前記触覚信号の大きさに付与される減衰の量を、前記触覚効果の極端さのパラメータを用いて規定し、
前記リバーブモジュールはさらに、前記１つ以上の触覚効果を生成するために、前記アクチュエータに前記触覚信号を送信するように構成される、
触覚変換システム。
【請求項２１】
前記触覚信号は周期的効果を含む、請求項２０に記載の触覚変換システム。
【請求項２２】
前記ブームボックスモジュールは、前記データフレームの１つ以上のサンプル値を生成するために、前記データフレームをサンプリングするようにさらに構成され、前記最大値は前記１つ以上のサンプル値の最大値である、請求項２０に記載の触覚変換システム。
【請求項２３】
前記データフレームの１つ以上のサンプル値は絶対値である、請求項２２に記載の触覚変換システム。
【請求項２４】
前記ブームボックスモジュールは、線形変換関数を用いて、オリジナルの最大値から前記最大値を変換するようにさらに構成される、請求項２２に記載の触覚変換システム。
【請求項２５】
前記ブームボックスモジュールは、前記データフレームの高速フーリエ変換を用いて、前記データフレームから周波数コンテンツを抽出するようにさらに構成される、請求項２０に記載の触覚変換システム。
【請求項２６】
前記ブームボックスモジュールは、バンドパスフィルタを用いて、前記データフレームから周波数コンテンツを抽出するようにさらに構成される、請求項２０に記載の触覚変換システム。
【請求項２７】
前記ブームボックスモジュールは、
前記データフレームを、低周波数コンテンツ、中程度の周波数コンテンツ、および高周波数コンテンツに分け、ならびに、
デジタルオーディオ信号のコンテンツを用いて、前記中程度の周波数コンテンツおよび高周波数コンテンツを抽出する
ようにさらに構成される、請求項２０に記載の触覚変換システム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、２０１１年２月１１日に出願の米国仮特許出願第６１／４４１，７９２号の優先権を主張し、その開示は本明細書により参照することにより援用される。
【０００２】
一実施形態は、一般にデバイス、より詳細には、触覚効果を生成するデバイスに関する。
【０００３】
ハプティクス（触覚学）は、触覚フィードバック効果（すなわち「触覚（ハプティック）効果」、例えば力、振動、および動きなどをユーザに付与することによって、ユーザが感じる接触を利用する触知性および力フィードバック技術である。モバイルデバイス、タッチスクリーンデバイス、およびパーソナルコンピュータ等のデバイスは触覚効果を生成するように構成できる。一般に、触覚効果を生成することができる内蔵のハードウェア（例えばアクチュエータ）へのコールは、デバイスのオペレーティングシステム（「ＯＳ」）内でプログラミング可能である。これらのコールは、どの触覚効果を生じさせるかを特定する。例えば、ユーザが、例えばボタン、タッチスクリーン、レバー、ジョイスティック、ホイール、または一部の他の制御装置を用いてデバイスと対話する場合、デバイスのＯＳは制御回路を介してプレイコマンドを内蔵のハードウェアに送信することができる。内蔵のハードウェアは次いで適切な触覚効果を生成する。
【０００４】
このようなデバイスはまた、例えばデジタルオーディオ信号等のオーディオデータを再生するように構成できる。例えばそのようなデバイスは、オーディオ部分、または例えば曲などのオーディオデータを含む動画またはビデオゲーム等のビデオデータを再生するように構成されたアプリケーションを含み得る。ハプティクスと類似して、音響効果を生成することができる追加の内蔵ハードウェア（例えばスピーカ）へのコールは、デバイスのＯＳ内にプログラミングされ得る。このように、デバイスのＯＳは、制御回路を介して、追加の内蔵のハードウェアにプレイコマンドを送信することができ、ここで追加の内蔵のハードウェアは次いで適切な音響効果を生成する。
【発明の概要】
【課題を解決するための手段】
【０００５】
一実施形態は、オーディオ信号を１つ以上の触覚効果に変換するシステムに関する。システムはオーディオ信号のデータフレームを受信する。システムはデータフレームの最大値をさらに生成する。システムはさらに、最大値に基づいて触覚信号を生成し、ここで最大値は、触覚信号の大きさを規定する。システムは、１つ以上の触覚効果を生成するために、アクチュエータに触覚信号をさらに送信する。
【０００６】
さらなる実施形態、詳細、利点、および修正が、添付の図面に関連して考慮された好ましい実施形態の以下の詳細な記載から明らかとなる。
【図面の簡単な説明】
【０００７】
【図１】図１は、本発明の一実施形態に係る触覚変換システムのブロック図を示す。
【図２】図２は、本発明の一実施形態に係る触覚変換システムのアーキテクチャの図を示す。
【図３】図３は、本発明の一実施形態に係る触覚変換システムによって実行される機能性のフロー図を示す。
【図４】図４は、本発明の一実施形態に係る、出力値の範囲をコントロールするように適合された線形変換関数を示す。
【図５】図５は、本発明の一実施形態に係るデジタルオーディオ信号に基づいて生成された触覚効果の大きさの例示的な計算を示す。
【図６】図６は、本発明の一実施形態に係るデジタルオーディオ信号のエンベロープの例示的な計算を示す。
【図７】図７は、本発明の一実施形態に係る、周波数コンテンツに基づくデジタルオーディオ信号のエンベロープの例示的な計算を示す。
【図８】図８は、本発明の一実施形態に係る、触覚変換モジュールの機能性のフロー図を示す。
【発明を実施するための形態】
【０００８】
一実施形態は、例えばデジタルオーディオ信号等のオーディオデータの１つ以上のフレームをインターセプトし、１つ以上のフレームを触覚信号に変換（コンバート）し、生成された触覚信号をアクチュエータを介して再生して、１つ以上の触覚効果を生成することができる触覚変換システムである。触覚信号は単一のコントロールパラメータを含むことができる。触覚信号は、単一のコントロールパラメータを受信するように構成された１つのタイプのアクチュエータに付与可能であり、ここでアクチュエータは１つ以上の触覚効果を生成するために単一のコントロールパラメータを利用することができる。
【０００９】
図１は、本発明の一実施形態に係る触覚変換システム１０のブロック図を示す。一実施形態において、システム１０はモバイルデバイスの一部であり、システム１０は、モバイルデバイスのための触覚変換機能を提供する。単一のシステムとして示されているが、システム１０の機能は分散型のシステムとして実施可能である。システム１０は、情報を通信するためのバス１２または他の通信メカニズム、および情報を処理するためにバス１２に接続されたプロセッサ２２を含む。プロセッサ２２は、任意のタイプの汎用プロセッサまたは特定用途向けプロセッサであってもよい。システム１０は、プロセッサ２２によって実行される情報および命令を保存するためのメモリ１４をさらに含む。メモリ１４は、ランダムアクセスメモリ（「ＲＡＭ」）、読み出し専用メモリ（「ＲＯＭ」）、磁気ディスクまたは光学ディスク等の静的記憶装置、あるいは任意の他のタイプのコンピュータ可読媒体の任意の組み合わせから構成されることができる。
【００１０】
コンピュータ可読媒体は、プロセッサ２２によってアクセス可能である任意の利用可能な媒体であってよく、揮発性および不揮発性の媒体両方、取り外し可能および取り外しが可能でない媒体、通信媒体、ならびに保存媒体を含んでよい。通信媒体は、コンピュータ可読命令、データストラクチャ、プログラムモジュール、または搬送波または他の搬送メカニズム等の変調されたデータ信号における他のデータを含んでよく、当該技術分野において公知である情報送達媒体の任意の他の形態を含んでよい。保存媒体は、ＲＡＭ、フラッシュメモリ、ＲＯＭ、消去可能ＰＲＯＭ（「ＥＰＲＯＭ」）、電気的消去可能・プログラム可能型読み取り専用メモリ（「ＥＥＰＲＯＭ」）、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読み取り専用メモリ（「ＣＤ−ＲＯＭ」）、あるいは当該技術分野において公知である保存媒体の任意の他の形態を含んでよい。
【００１１】
一実施形態において、メモリ１４は、プロセッサ２２によって実行された場合に機能を提供するソフトウェアモジュールを保存する。モジュールは、システム１０、および一実施形態において、モバイルデバイスの残りのためのオペレーティングシステム機能を提供するオペレーティングシステム１５を含む。モジュールは、以下でさらに詳細に開示するように、オーディオ信号を、１つ以上の触覚効果を生成するために用いられる触覚信号に変換する触覚変換モジュール１６をさらに含む。特定の実施形態において、触覚変換モジュール１６は、複数のモジュールを含むことができ、それらの各々は、オーディオ信号を、１つ以上の触覚効果を生成するために用いられる触覚信号に変換するための特定の個々の機能を提供することができる。システム１０は、通常は、Ｉｍｍｅｒｓｉｏｎ  ＣｏｒｐｏｒａｔｉｏｎによるＭＯＴＩＶ（登録商標）ハプティック開発プラットフォーム等のさらなる機能性を含むために、１つ以上のさらなる追加のアプリケーションモジュール１８を含む。
【００１２】
リモートソースからデータを送信および／または受信する実施形態において、システム１０は、例えば赤外線、無線、Ｗｉ−Ｆｉ、セルラーネットワーク、または他の次世代無線データネットワーク通信等のモバイルワイヤレスネットワークを提供するために、ネットワークインターフェースカード等の通信デバイス２０をさらに含む。他の実施形態において、通信デバイス２０はイーサネット（登録商標）通信またはモデム等の有線ネットワーク通信を提供する。
【００１３】
プロセッサ２２は、グラフィック表示またはユーザインターフェースをユーザに表示するための液晶ディスプレイ（「ＬＣＤ」）等のディスプレイ２４に、バス１２を介してさらに接続される。ディスプレイ２４は、プロセッサ２２から信号を送信および受信するように構成されたタッチスクリーン等のタッチセンサ式入力デバイスであってよい。
【００１４】
システム１０は１つ以上のアクチュエータ２６をさらに含む。プロセッサ２２は、触覚効果に関連付けられた触覚信号をアクチュエータ２６に送信してよく、次いでこのアクチュエータ２６は触覚効果を出力する。アクチュエータ２６は、例えば、電気モータ、電磁アクチュエータ、音声コイル、形状記憶合金、電気活性ポリマー、ソレノイド、偏心回転質量モータ（「ＥＲＭ」）、リニア共振アクチュエータ（「ＬＲＡ」）、圧電アクチュエータ、高帯域幅アクチュエータ、電気活性高分子（「ＥＡＰ」）アクチュエータ、静電摩擦ディスプレイ（ｅｌｅｃｔｒｏｓｔａｔｉｃ  ｆｒｉｃｔｉｏｎ  ｄｉｓｐｌａｙ）、または超音波振動生成器であってよい。
【００１５】
一部の実施形態において、システム１０は、１つ以上のスピーカ２８をさらに含む。プロセッサ２２は、オーディオ信号をスピーカ２８に送信してよく、次いでオーディオ効果を出力してよい。スピーカ２８は、例えば、ダイナミックラウドスピーカ、エレクトロダイナミックラウドスピーカ、圧電ラウドスピーカ、リボンおよび平面マグネティックラウドスピーカ、曲げ波（ｂｅｎｄｉｎｇ  ｗａｖｅ）ラウドスピーカ、フラットパネルラウドスピーカ、ハイルエアモーション（ｈｅｉｌ  ａｉｒ  ｍｏｔｉｏｎ）トランスデューサ、プラズマアークスピーカ、およびデジタルラウドスピーカであってよい。
【００１６】
図２は本発明の一実施形態に係る触覚変換システムのアーキテクチャの図を示す。図示の実施形態において、触覚変換システムはオーディオトラックモジュール２１０およびスピーカ２２０を含む。オーディオトラックモジュール２１０は、１つ以上のＰＣＭオーディオバッファを受信し、１つ以上のパルス符号変調（「ＰＣＭ」）オーディオバッファをスピーカ２２０に流すように構成されたデバイス（例えばモバイルデバイス）のためのオペレーティングシステムのモジュールであり、ここで各ＰＣＭオーディオバッファは１つ以上のＰＣＭオーディオデータフレームを含む。一実施形態において、オーディオトラックモジュール２１０は、モバイルデバイスのためのＡｎｄｒｏｉｄ（登録商標）のオペレーティングシステムのＡｎｄｒｏｉｄ  Ａｕｄｉｏ  Ｔｒａｃｋモジュールである。スピーカ２２０は、１つ以上のＰＣＭオーディオバッファを受信するように構成され、かつ１つ以上のオーディオ効果を出力するように構成されたスピーカである。スピーカ２２０は、例えば、ダイナミックラウドスピーカ、エレクトロダイナミックラウドスピーカ、圧電ラウドスピーカ、磁気歪みラウドスピーカ、静電ラウドスピーカ、リボンおよび平面磁気ラウドスピーカ、曲げ波ラウドスピーカ、フラットパネルラウドスピーカ、ハイルエアモーショントランスデューサ、プラズマアークスピーカ、およびデジタルラウドスピーカであってよい。
【００１７】
触覚変換システムはまた、本実施形態によれば、触覚変換モジュール２３０を含む。特定の実施形態において、触覚変換モジュール２３０は、図１の触覚変換モジュール１６と同じである。図示の実施形態において、触覚変換モジュール２３０は、２つのサブモジュール、すなわちリバーブモジュール２３１、およびブームボックスモジュール２３２から構成される。しかしながら、これは単に例示的な実施形態であり、代替的な実施形態においては、触覚変換モジュール２３０は任意の数のサブモジュールから構成でき、あるいは触覚変換モジュール２３０は単一のモジュールであってもよい。
【００１８】
本実施形態によれば、リバーブモジュール２３１は、オーディオトラックモジュール２１０がスピーカ２２０に流す１つ以上のオーディオバッファをインターセプトするように構成される。リバーブモジュール２３１はさらに、各オーディオバッファの各オーディオデータフレームをブームボックスモジュール２３２に送信するように構成される。ブームボックスモジュール２３２は各オーディオデータフレームを解析し、かつ各オーディオデータフレームについて最大値を計算するように構成される。各オーディオデータフレームについての最大値の計算は、ブームボックスモジュール２３２によって実行され、図４〜図７に関連してさらに詳細に記載される。ブームボックスモジュール２３２は、各オーディオデータフレームについての最大値をリバーブモジュール２３１に戻すようにさらに構成される。
【００１９】
触覚変換システムはまた、触覚効果プレーヤモジュール２４０およびアクチュエータ２５０を含む。触覚プレーヤモジュール２４０は、デバイス内に内蔵されたモジュール（例えばモバイルデバイス）であり、かつ、１つ以上の触覚信号をアクチュエータに送信することによって、アクチュエータに１つ以上の触覚効果を再生するように構成されたモジュールである。一実施形態において、触覚効果プレーヤモジュール２４０は、Ｉｍｍｅｒｓｉｏｎ  ＣｏｒｐｏｒａｔｉｏｎによるＴｏｕｃｈＳｅｎｓｅ  Ｐｌａｙｅｒ（登録商標）モジュールである。アクチュエータ２５０は、１つ以上の触覚信号を受信するように構成され、かつ１つ以上の触覚効果を出力するように構成されたアクチュエータである。特定の実施形態において、アクチュエータ２５０は、単一のコントロールパラメータ（例えばマグニチュード（大きさ）のパラメータ）を受信するように構成されたアクチュエータであり、ここで単一のコントロールパラメータは、アクチュエータを介して再生された場合、周期的な効果のマグニチュード（大きさ）および精度（プレシジョン、適合率）を制御するために用いられる。アクチュエータ２５０は、例えば、電気モータ、電磁気アクチュエータ、ボイスコイル、形状記憶合金、電気活性ポリマー、ソレノイド、ＥＲＭ、またはＬＲＡであってもよい。
【００２０】
本実施形態によれば、リバーブモジュール２３１は、触覚信号を生成するために、ブームボックスモジュール２３２によって戻されるオーディオデータフレームの最大値を用いるように構成され、ここで触覚信号は周期的な効果であり、最大値は、触覚信号の振幅を規定する。特定の実施形態において、触覚信号は、アクチュエータ２５０の共振周波数にて周期的効果である。リバーブモジュール２３１は、触覚効果プレーヤモジュール２４０のアプリケーションプログラムインターフェース（「ＡＰＩ」）をコールし、ＡＰＩのパラメータとして、オーディオデータフレームの最大値を、触覚効果プレーヤモジュール２４０に送信するようにさらに構成される。特定の実施形態において、触覚効果プレーヤモジュール２４０のＡＰＩは、Ｉｍｍｅｒｓｉｏｎ  ＣｏｒｐｏｒａｔｉｏｎによるＴｏｕｃｈＳｅｎｓｅ  Ｐｌａｙｅｒ（登録商標）モジュールの「ＰｌａｙＰｅｒｉｏｄｉｃＥｆｆｅｃｔ」のＡＰＩである。触覚効果プレーヤモジュール２４０のＡＰＩは、オーディオデータフレームの最大値をアクチュエータ２５０に送信し、ここでアクチュエータ２５０は、オーディオデータフレームの最大値に基づいて適切な周期的効果を再生するように構成される。本実施形態によれば、オーディオデータフレームの最大値は、アクチュエータ２５０の振幅パラメータとして働き、アクチュエータ２５０の振幅パラメータの変化は、アクチュエータ２５０内で適切な周期的効果を再生する。周期的効果を再生することにより、アクチュエータ２５０は触覚効果を生成する。
【００２１】
図３は、本発明の一実施形態に係る触覚変換システムによって実行される機能のフロー図を示す。一実施形態において、図３の機能性、および図８の機能性は、メモリまたは他のコンピュータ可読媒体、あるいは有形の媒体によって実施され、プロセッサによって実行される。他の実施形態において、機能性はハードウェア（例えば、特定用途向け集積回路（「ＡＳＩＣ」）、プログラマブルゲートアレイ（「ＰＧＡ」）、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）、等）によって実行されてもよく、あるいは、ハードウェアおよびソフトウェアの任意の組み合わせによって実行されてもよい。さらに、代替の実施形態において、機能性はアナログコンポーネントを用いてハードウェアによって実行されてもよい。
【００２２】
本実施形態によれば、触覚変換システムは、オペレーティングシステム３００、リバーブモジュール３０１、およびブームボックスモジュール３０２、を含む。オペレーティングシステム３００はデバイス（例えばモバイルデバイス）のオペレーティングシステムである。図示の実施形態において、オペレーティングシステム３００は、モバイルデバイスのＡｎｄｒｏｉｄ（登録商標）のオペレーティングシステムである。リバーブモジュール３０１、およびブームボックスモジュール３０２は、触覚変換モジュール（例えば図１の触覚変換モジュール１６等）のサブモジュールである。特定の実施形態において、リバーブモジュール３０１およびブームボックスモジュール３０２は、各々図２におけるリバーブモジュール２３１およびブームボックスモジュール２３２である。
【００２３】
本実施形態によれば、３０５において、オーディオ信号を生成するように構成されたアプリケーションが生成される。アプリケーションは、オペレーティングシステム３００内で実行可能な任意のアプリケーションである。図示の実施形態において、アプリケーションは、Ａｎｄｒｏｉｄ（登録商標）のアプリケーションである。フローは３１０に進む。３１０において、「ＳｏｕｎｄＰｏｏｌ」オブジェクトがアプリケーションによって生成され、ここでＳｏｕｎｄＰｏｏｌオブジェクトはＳｏｕｎｄＰｏｏｌのＡＰＩ（これはＡｎｄｒｏｉｄ（登録商標）のＡＰＩ）のインスタンスであり、ＳｏｕｎｄＰｏｏｌオブジェクトはそのアプリケーションのためのオーディオリソースを管理および再生する。ＳｏｕｎｄＰｏｏｌオブジェクトは、デバイス内に保存されたリソースから、または、デバイスのファイルシステム内に保存されたファイルから、デバイスのメモリ内へとロード可能である複数のオーディオサンプルを含むことができる。ＳｏｕｎｄＰｏｏｌオブジェクトは、複数のオーディオサンプルをｒａｗ  １６−ｂｉｔのＰＣＭモノまたはステレオバッファにデコードすることができる。フローは３１５に進む。３１５において、他のオーディオオブジェクトがアプリケーションによって生成され、ここで他のオーディオオブジェクトは他のオーディオのＡＰＩのインスタンスである。他のオーディオオブジェクトはまた、オーディオサンプルを１６−ｂｉｔのＰＣＭオーディオバッファにデコードすることができる。フローは３２０に進む。３２０において、ＡｕｄｉｏＴｒａｃｋオブジェクトは、ＳｏｕｎｄＰｏｏｌオブジェクトまたは他のオーディオオブジェクトのうちの１つのいずれかによって生成される。ＡｕｄｉｏＴｒａｃｋオブジェクトは、１つ以上のＰＣＭオーディオバッファを受信し、かつ１つ以上のＰＣＭオーディオバッファを流すように構成される。
【００２４】
フローは３２５に進む。３２５において、リバーブオブジェクトが生成される。リバーブオブジェクトはリバーブモジュール３０１のインスタンスであり、ここでリバーブオブジェクトは、図２に関連して上で記載したように、ＡｕｄｉｏＴｒａｃｋオブジェクトによって送信されたＰＣＭオーディオバッファの１つ以上のオーディオデータフレームを処理するように構成される。フローは３３０に進む。３３０において、リバーブオブジェクトの１つ以上の設定が設定される。リバーブの設定の例としては、触覚変換をイネーブル／ディセーブル、メディアのために触覚変換をイネーブル／ディセーブル、３つの選択肢（例えば、弱、中、強）から触覚変換の強さを選択、ならびに、触覚変換がイネーブルされる１つ以上のアプリケーションを（例えばリストから）選択、が挙げられる。特定の実施形態において、上述の設定は拡張マークアップ言語（「ＸＭＬ」）のファイル内に保存される。上述の設定はＸＭＬファイルから読み出されることができ、かつリバーブオブジェクト内に保存されることができ、ここでリバーブオブジェクトは、特定のアプリケーションについてイネーブルでき、かつ他のアプリケーションについてディセーブルできる。特定の実施形態において、強さ（ｓｔｒｅｎｇｔｈ）、密度（ｄｅｎｓｉｔｙ）、および極端さ（ｓｈａｒｐｎｅｓｓ）として同定される３つの値は、３つの要因：（１）強さの設定（例えば、弱、中、および強）、（２）触覚テーマ（触覚効果を用いてユーザインターフェースイベントをマッピングする）、および（３）アクチュエータタイプ、に基づく。強さ、密度、および極端さは、リバーブオブジェクト内で生成されかつ保存できる。フローは３３５に進む。３３５において、ブームボックスオブジェクトがリバーブオブジェクトによって生成される。ブームボックスオブジェクトは、図２に関連して上で記載したように、ブームボックスモジュール３０２のインスタンスであり、ここでブームボックスオブジェクトは、リバーブオブジェクトからオーディオデータフレームを受信し、オーディオデータフレームの最大値を生成し、オーディオデータフレームの最大値をリバーブオブジェクトに送信するように構成される。特定の実施形態において、リバーブオブジェクト内で生成および保存された強さおよび密度の値はまた、ブームボックスオブジェクト内で保存可能である。
【００２５】
フローは３４０に進む。３４０において、リバーブオブジェクトは、ＡｕｄｉｏＴｒａｃｋオブジェクトから受信されたＰＣＭオーディオバッファのオーディオデータフレームを、ブームボックスオブジェクトに送信する。フローは３４５に進む。３４５において、ブームボックスオブジェクトは、オーディオデータフレーム内に含まれるデータをサンプリングする。このようなサンプリングは、図４〜図７に関連してより詳細に記載される。フローは３５０に進む。３５０において、ブームボックスオブジェクトは、オーディオデータフレーム内に含まれるデータを、単一の電圧値（すなわち最大値）へと翻訳する。このような翻訳はまた、図４〜図７に関連してより詳細に記載される。ブームボックスオブジェクトは次いで、単一の電圧値をリバーブオブジェクトに戻す。フローは３５５に進む。３５５において、リバーブオーディオは、単一の電圧値にマグニチュードフィルタリングを実行する。このようなマグニチュードフィルタリングはまた、図４〜図７に関連してさらに詳細に記載される。特定の実施形態において、リバーブオーディオ内において生成および保存された極端さの値は、単一の電圧値にマグニチュードフィルタリングを実行するために用いられる。フローは３６０に進む。３６０において、リバーブオーディオは、単一の電圧値を用いて、アクチュエータにて周期的効果を再生する。アクチュエータにおいて周期的効果を再生することによって、リバーブオーディオはアクチュエータに、触覚効果を生成させる。
【００２６】
前述したように、触覚変換モジュール（例えば図１の触覚変換モジュール１６など）はＰＣＭオーディオデータバッファ内に含まれるオーディオ信号を処理する。また、上述したように、オーディオ信号の処理は、ＰＣＭオーディオデータバッファの各オーディオデータをサンプリングすること、ＰＣＭオーディオデータバッファの各オーディオデータフレームについて最大値を計算すること、およびマグニチュードフィルタリングを含む。オーディオ信号のこのような処理をここでさらに詳細に記載する。
【００２７】
特定の実施形態によれば、オーディオ信号のエンベロープがまず抽出される。エンベロープは、オリジナルのオーディオ信号またはフィルタリングされたバージョンのオリジナルのオーディオ信号の周波数全てを用いて抽出できる。しかしながら、エンベロープ自体は、オリジナルのオーディオ信号と同じ周波数コンテンツを有さない。
【００２８】
一実施形態において、オーディオデータフレームはオーディオ信号からとられる。１つの例として、オーディオデータフレームは１ｍｓのフレーム長を有してよい。別の例において、オーディオデータフレームは１０ｍｓのフレーム長を有してもよい。１ｍｓのオーディオデータフレームは５００Ｈｚより上の周波数のエンベロープをキャプチャするが、より低い周波数はキャプチャされず、すなわち「リーク」される（ｌｅａｋ  ｔｈｒｏｕｇｈ）。１０ｍｓのフレームは５０Ｈｚより上の周波数のエンベロープをキャプチャする等。一実施形態において、フレームにおける各サンプルの絶対値が計算される。代替の実施形態において、絶対値ではなく、フレームにおける各サンプルの平方が計算される。このような処理は触覚変換モジュール（例えば図１の触覚変換モジュール１６等）によって実行されるオーディオデータフレームのサンプリングを構成する。
【００２９】
絶対サンプル値（または、代替の実施形態における平方したサンプル値）の最大値「Ｖ１」が計算される。最大値「Ｖ１」は次いで、図４に関連して以下で記載するように、線形変換関数を用いて変換可能である。
【００３０】
図４は本発明の一実施形態に係る、出力値の範囲をコントロールするように適合された線形変換関数４００を図示する。本実施形態によれば、線形変換関数４００は、図４に示すように、新たな値「Ｖ２」を得るために、出力値「Ｖ１」の範囲をコントロールするように適合可能である。図示の実施形態によれば、「ｘ０」は、例えば［２．．２０］のように、特定の範囲内で可変である。「ｘ０」は、新たな値「Ｖ２」に変換される最小値「Ｖ１」を規定する。「ｙｍａｘ」は、例えば例［６０．．２５５］のように、特定の範囲内で可変である。「ｙｍａｘ」は、最大変換値「Ｖ２」を規定する。「Ｖ１」が「ｘ０」未満か「ｘ０」と等しい場合、出力値「Ｖ２」は０に等しい。「Ｖ１」が「ｘ０」より大きい場合、出力値「Ｖ２」は、関数の傾き分だけ、「Ｖ１」を乗算することにより得られる。「Ｖ２」は固定され、「Ｖｍａｘ」よりも大きくなることはできない。代替の実施形態において、（ｘ０，ｙ０）および（ｘ１，ｙｍａｘ）さらに概略的なマッピングもまた用いることができる。このような処理は、触覚変換モジュール（図１の触覚変換モジュール１６等）によって実行されたオーディオデータフレームの最大値を計算することを構成する。
【００３１】
このように、本実施形態によれば、オーディオ信号のエンベロープが触覚信号の振幅にマッピングされ、ここで触覚信号の振幅はフィルタリングされている。代替の実施形態において、オーディオ信号のエンベロープがまずフィルタリングでき、次いで、オーディオ信号のフィルタリングされたエンベロープが、触覚信号の振幅にマッピング可能である。
【００３２】
触覚変換モジュール（例えば図１の触覚変換モジュール１６等）によって実行されるマグニチュードフィルタリングがここでさらに詳細に記載される。触覚効果のマグニチュード（または強さ）「Ｖ３」は、前述の値「Ｖ２」を用いて計算される。特定の実施形態において、「Ｖ３」は周波数にマッピングすることができる。他の実施形態において、「Ｖ３」は、周波数値のセットにマッピングすることができる。反復「ｉ」の「Ｖ２」が反復「ｉ−１」の「Ｖ２」よりも小さい場合、出力「Ｖ３」はゼロまたは一部の他の小さい値に設定でき、あるいは、その出力は変わらないまま（「Ｖ３」＝「Ｖ２」）である。この特定の技術は、触覚イベントを表す信号のピーク値をキャプチャすることができ、かつ、その触覚イベントを独立した触覚効果に自動的に関連付けることができる。代替的な実施形態においては、反復「ｉ」の「Ｖ２」が反復「ｉ−１」の「Ｖ２」よりも小さい場合、ゼロへの極端なドロップではなく平滑な低下が利用可能である。０％〜１００％の範囲の「極端さ」のパラメータは「Ｖ２」：Ｖ３＝Ｖ２×極端さ／ｍに適合される低下の量を規定するために用いられることができ、式中、「ｍ」は、１から始まる整数除数（ｉｎｔｅｇｅｒ  ｄｉｖｉｓｏｒ）であり、反復「ｉ」の「Ｖ２」が反復「ｉ−１」の「Ｖ２」より小さい限り、インクリメントする。本実施形態によれば、「ｍ」は、反復「ｉ」の「Ｖ２」が反復「ｉ−１」の「Ｖ２」よりも大きいか、またはそれに等しい場合、言い換えれば、「Ｖ３」＝「Ｖ２」である場合、１にリセットされる。特定の実施形態において、リバーブオブジェクト内に生成および保存される極端さの値は極端さのパラメータとして用いられる。
【００３３】
図５は、本発明の一実施形態に係る、デジタルオーディオ信号に基づいて生成された触覚効果の大きさ（マグニチュード）の例示的計算５００を示す。図５は、４４１００Ｈｚにてサンプリングされたオーディオ信号５１０、２０ｍｓのフレーム長について計算された最大値５２０、およびマグニチュードフィルタリングによって得られたパルス５３０を図示する。本実施形態によれば、パルス５３０はオーディオ信号５１０のエンベロープをキャプチャし、従って、パルス５３０はこの情報を、１つ以上の触覚効果を介してユーザに運ぶことができる。
【００３４】
図６は、本発明の一実施形態に係る、デジタルオーディオ信号のエンベロープの例示的計算６００を図示する。図６は、オーディオ信号６１０、オーディオ信号６１０の絶対値をローパスフィルタに介させることによって得られたエンベロープ６２０、ならびに、２０ｍｓの場合に、特定のフレームに亘る絶対値の最大値を計算するエンベロープ値６３０を図示する。
【００３５】
特定のｍｓ時間期間の各フレームは、周波数ドメインにおいて処理される。従って、特定の実施形態において、フレームの高速フーリエ変換（ＦＦＴ）が、周波数コンテンツを抽出するために用いられ得る。他の実施形態において、バンドパスフィルタはその周波数コンテンツを抽出するために用いられ得る。
【００３６】
一実施形態において、フレーム情報は、バス周波数または低周波数（例えば、２００Ｈｚ未満）、中程度の周波数（例えば、２４０Ｈｚ〜４０００Ｋｈｚの間）、および高周波数（例えば、４４００ＫＨｚ以上）に分けられることができ、ここで中程度の周波数コンテンツおよび高周波数コンテンツは、その信号のコンテンツを用いて抽出される。
【００３７】
図７は、本発明の一実施形態に係る、周波数コンテンツに基づくデジタルオーディオ信号のエンベロープの例示的な計算７００を図示する。本実施形態によれば、いったんオーディオデータフレームが上述のように処理されると、最大値が得られる。実際、１つは低周波数帯域、１つは中程度の周波数帯域、１つは高周波数帯域で、３つの最大値が得られる。図７に示すように、グラフ７１０は、未処理の最大値（オーディオ信号全体に基づく）を表し、グラフ７２０は、オーディオ信号の低周波数範囲に対応する最大値を表し、グラフ７３０はオーディオ信号の中程度の周波数範囲に対応する最大値を表し、グラフ７４０はオーディオ信号の高周波数範囲に対応する最大値を表す。
【００３８】
本実施形態によれば、信号の処理が開始されると、低周波数帯域（すなわちグラフ７２０）および高周波数帯域（すなわちグラフ７４０）における周波数値よりも大きい最大値が得られることを前提として、最初のフレームは、さらに中程度の周波数コンテンツ（すなわちグラフ７３０）を含む。
【００３９】
本実施形態によれば、触覚効果は、フレームのコンテンツ周波数が以前のフレームの周波数コンテンツと異なる場合、再生可能である。図７に示すように、触覚効果は、矢印７０１〜７０７により指摘される位置において再生される。
【００４０】
代替の実施形態において、この技術のバリエーションは、以下：未処理のフレームの最大マグニチュード；周波数帯域に対応する最大マグニチュード；最初のフレームについてのみＴｏｕｃｈＳｅｎｓｅソフトウェアにおいて許可された最大マグニチュード、のようなマグニチュードを用いて、全ての周波数変換におけるパルスを再生することを含むことができる。
【００４１】
特定の代替の実施形態において、続くフレームが同じ周波数コンテンツを有する場合、：未処理のフレームのマグニチュードが再生可能である；または、処理されたフレームのマグニチュードが再生可能である；または、一定の振動、おそらく小が、フレームが同じ周波数コンテンツを有する限りで再生可能である；あるいは、マグニチュードは、周波数帯域におけるパワーコンテンツに基づいて可変である。
【００４２】
特定の実施形態において、異なる触覚効果は、異なる周波数コンテンツを有するフレームが見出された場合、再生可能である。
【００４３】
さらに、音響の人間による知覚は線形ではなく、その音響の周波数に依存する。より詳細には、人間は、高周波数よりも低周波数により敏感である。性別および年齢もまた知覚に影響を及ぼす。従って、特定の実施形態において、特定の周波数をブーストする補償係数（要因）が存在し得る。ブースト係数は、音響の人間による知覚、またはユーザの好み（一部の周波数帯域が手動で強化される）に基づき得る。ユーザが音響に対してそれほど敏感ではないことが知られている場合、一般にソフトウェアは高周波数コンテンツを強化することができる。これにより、特定の帯域についての触角効果が、より強い強さとなることができ、従って、ユーザの聴覚系によって知覚および感知される一方で、十分なパワーを有していない場合のある音響を強化する。
【００４４】
特定の実施形態において、触覚変換システムのユーザは、音響−触覚変換アルゴリズムをカスタマイズすることができる。より詳細には、ユーザは、デジタルオーディオ信号が、ローパスフィルタ、ハイパスフィルタ、またはバンドパスフィルタを用いてフィルタリングされるか選択することができる。代替的に、あるいはフィルタのタイプをカスタマイズすることに加えて、ユーザは、事前に規定されたパラメータの間で選択するのではなく、フィルタのパラメータを特定することができる。これらの実施形態によれば、触覚変換システムは、グラフィカル・ユーザ・インターフェース内で、１つ以上のユーザ規定のパラメータを表示することができる。ユーザは、次いで、１つ以上のユーザ規定のパラメータから選択することができるか、あるいは、グラフィカル・ユーザ・インターフェースを用いて、１つ以上のユーザ規定のパラメータを特定することができる。例えば、ユーザは、ローパスフィルタ、バンドパスフィルタ、およびハイパスフィルタの中から、音響−触覚（ｓｏｕｎｄ−ｔｏ−ｈａｐｔｉｃ）効果変換アルゴリズムにおいて利用されるフィルタのタイプを選択することができる。別の例において、ユーザは１つ以上のカットオフ周波数を特定することができ、ここで、２５０〜５００Ｈｚの間の値の代わりに、ユーザは任意の値を特定することができる。さらに別の例において、ユーザは音響−触覚効果変換アルゴリズムにおいて用いられるゲインを特定することができる。
【００４５】
特定の実施形態においては、システムに規定されたフィルタパラメータを利用するのではなく、触覚変換システムは、ユーザ規定のパラメータに基づいたランタイムでフィルタのパラメータを計算することができる。より詳細には、ユーザはフィルタのタイプを選択することができる。例えば、ユーザは、バタワース設計、ベッセル設計、またはチェビシェフ設計を選択することができ、ここで、各設計に対して、ユーザは、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ、またはバンドストップフィルタを選択することができる。ユーザがチェビシェフ設計を選択した場合、ユーザはまたリップルを特定することができる。ユーザはまたフィルタの順序、およびサンプリングレートを特定することができる。ユーザがローパスフィルタまたはハイパスフィルタを選択した場合は、ユーザはまた１つのコーナー周波数を特定することができ、ユーザがバンドパスフィルタまたはバンドストップフィルタを選択した場合には、ユーザは２つのコーナー周波数を特定することができる。ユーザはまた、任意の追加のゼロ値、および、マグニチュードスケールの任意の下限値を選択することができる。さらに、ユーザはまた、フィルタが、双一次変換方法によって、または一致した（ｍａｔｃｈｅｄ）Ｚ変換方法によって設計されるかどうかを選択することができる。触覚変換システムは次いで、ユーザによって特定されたパラメータに基づいたランタイムにおいて、１つ以上のフィルタのパラメータを計算することができる。
【００４６】
図８は、本発明の一実施形態に係る、触覚変換モジュール（例えば図１の触覚変換モジュール１６等）の機能性のフロー図を示す。８１０において、オーディオ信号のデータフレームが受信される。特定の実施形態において、オーディオ信号はスピーカに流されるので、オーディオ信号はインターセプトされる。また、特定の実施形態において、オーディオ信号はＰＣＭオーディオバッファである。フローは８２０に進む。
【００４７】
８２０において、データフレームの最大値が生成される。特定の実施形態において、最大値は、データフレームの１つ以上のサンプル値を生成するために、データフレームをサンプリングすることによって生成され、ここで最大値は、１つ以上のサンプル値の最大値である。１つの実施形態において、１つ以上のサンプル値は絶対値である。代替の実施形態において、１つ以上のサンプル値は平方の値である。特定の実施形態において、最大値は、線形変換関数を用いて、オリジナルの最大値から変換される。フローは８３０に進む。
【００４８】
８３０において、触覚信号は、最大値に基づいて生成される。特定の実施形態において、最大値は触覚信号の大きさを規定する。また、特定の実施形態において、触覚信号の大きさはフィルタリングされる。さらに、特定の実施形態において、触覚信号の大きさがフィルタリングされる場合、極端さ（鮮明さ、シャープネス）のパラメータが、触覚信号の大きさに付与される減衰の量を規定するために用いられる。フローは８４０に進む。
【００４９】
８４０において、触覚信号は、１つ以上の触覚効果を生成するためにアクチュエータを介して送信される。特定の実施形態において、触覚信号は周期的効果である。また、特定の実施形態において、触覚信号を生成かつ送信する工程は、パラメータとして最大値を、触覚効果再生モジュールのアプリケーションプログラミングインターフェースに回す（パスする）ことをさらに含む。
【００５０】
従って、一実施形態によれば、触覚変換システムは、オーディオ信号の一部であるオーディオデータフレームをインターセプトし、そのオーディオデータフレームを触覚信号に変換し、ここで各オーディオデータフレームの最大値は、触覚信号の大きさを規定し、かつ、アクチュエータを介して、その変換された触覚信号を再生して、触覚効果を得る。触覚信号の大きさを規定する最大値に基づいて、アクチュエータを介して再生される触覚信号の強さは非常に強くてよく、このようにして、十分に規定された触覚効果を生成する。
【００５１】
本明細書を通して記載された本発明の特徴、構造、または特性は、１つ以上の実施形態において任意の適切な方法において組み合わされてよい。例えば、「一実施形態」、「一部の実施形態」、「特定の実施形態」、「特定の実施形態（複数）」、または他の類似の言語の使用は、本明細書を通じて、実施形態に関連して記載された特定の特徴、構造、または特性が、本発明の少なくとも１つの実施形態に含まれ得るという事実に言及している。従って、「一実施形態」、「一部の実施形態」、「特定の実施形態」、「特定の実施形態（複数）」の言い回し、または他の類似の言語の登場は、これら全てが、実施形態の同じ群のことを必ずしも言及しているのではなく、記載された特徴、構造、または特性は、１つ以上の実施形態において任意の適切な方法において組み合わされてよい。
【００５２】
当業者は、上述した発明が、異なる順序におけるステップを用いて実施されてよく、および／または、記載された構成とは異なる構成における要素を用いて実施されてよいことを容易に理解する。それゆえ、本発明はこれらの好ましい実施形態に基づいて記載されているけれども、特定の修正、変更、および代替の構成が明白であり、他方で本発明の趣旨および範囲内にあることは、当業者にとって明白である。本発明の境界を決定するために、それゆえ、添付の特許請求の範囲に参照がなされるべきである。
【図１】
0006026751.tif 000002
【図２】
0006026751.tif 000003
【図３】
0006026751.tif 000004
【図４】
0006026751.tif 000005
【図５】
0006026751.tif 000006
【図６】
0006026751.tif 000007
【図７】
0006026751.tif 000008
【図８】
0006026751.tif 000009