(57)【要約】  サンプリングされたデジタル音声データの連続ストリームを有する音声信号から触覚出力を生成するためのシステムおよび方法が提供される。触覚処理システムは、デジタル音声データを受信し、処理のためにデジタル音声データを分析し、アクチュエータを介して触覚効果を生成するために触覚信号を抽出する。この方法は、デジタル音声信号を１つまたは複数の動的プロセッサに渡し、デジタル音声信号のダイナミックレンジを調整し、音声データの信号エンベロープを抽出し、抽出された信号エンベロープから低周波信号を合成し、共振器を使用して低周波成分を強化するステップを含む。触覚出力は、デジタル音声信号を触覚処理システムのさまざまなモジュールからの出力とミキシングすることによって生成される。分析モジュールは、ノイズゲートモジュール、コンプレッサモジュール、エンベロープモジュールでのデジタル音声信号の処理を監視、制御、および調整して、触覚出力を強化する。処理されたデジタル信号は、ローパスフィルタ、リミッタ、ベルフィルタを通過して、不要な周波数を除去し、利得を上げ、周波数応答を拡張する。出力信号は、デジタルアナログ（Ｄ／Ａ）変換器に提供され、最後にアクチュエータに供給されて触覚出力を生成する。検出モジュールは、ベルフィルタの出力から第１の入力を受け取り、入力音声信号から第２の入力を受け取り、第１および第２の入力で信号をプローブし、両方の入力に音声信号がない場合、触覚処理システムを無効にして省電力モードに入る。
2021527257.tif 000002
【特許請求の範囲】
【請求項１】
入力音声信号から触覚出力を生成するための触覚処理方法であって、
前記方法は、
デジタル信号処理チェーンと分析モジュールで入力音声信号を同時に受信するステップと、
少なくとも１つの動的プロセッサを含む前記デジタル信号処理チェーンにおいて前記入力音声信号を処理するステップと；
ＲＭＳ値およびピーク値を使用して前記分析モジュール内の少なくとも１つの制御パラメータを決定して、前記少なくとも１つの動的プロセッサに前記少なくとも制御パラメータを設定するステップと、
ミキサモジュール内で処理された信号をミキシングするステップであって、前記ミキサモジュールは、ドライ／ウェットモジュール、オシレータモジュール、および共振モジュールから前記処理された信号の所定の割合を受信することを特徴とする、ステップと、
触覚出力を生成するためにアクチュエータを駆動するステップと、を含む
触覚処理方法。
【請求項２】
前記分析モジュールが、
さまざまなウィンドウサイズで一定期間の前記ピーク値と前記ＲＭＳ値に対して前記入力音声信号を分析すること、
（ａ）前記ピーク振幅値と所定の定数との差を決定し、
（ｂ）前記ＲＭＳ値と前記所定の定数の合計を決定し、
（ｃ）前記ステップ（ａ）および前記ステップ（ｂ）で決定された最小値を計算する
ことによって前記少なくとも１つの制御パラメータを決定すること、および
前記ステップ（ｃ）で決定された最小値を適用して、前記少なくとも１つの動的プロセッサの前記少なくとも１つの制御パラメータを動的に変調すること
によって特徴付けられる、
請求項１に記載の触覚処理方法。
【請求項３】
前記入力音声信号が、リアルタイムまたは非リアルタイムで処理される、
請求項１に記載の触覚処理方法。
【請求項４】
前記入力音声信号がトランジェントを含む、
請求項１に記載の触覚処理方法。
【請求項５】
前記トランジェントの存在がトランジェント処理プロセスを呼び出し、前記トランジェント処理プロセスが、
前記入力音声信号を高速エンベロープフォロワと低速エンベロープフォロワに同時に渡すステップと、
前記高速エンベロープフォロワと前記低速エンベロープフォロワとの間の出力値の差を計算するステップと、
前記出力値の差に基づいてトランジェントスコアを計算するステップと、
トランジェント閾値を受信するステップと、
前記トランジェントスコアに基づいてトランジェントバイナリを導出するステップであって、
前記トランジェントスコアが前記トランジェント閾値を超えると、前記トランジェントバイナリが１に設定され、
前記トランジェントスコアが前記トランジェント閾値を下回ると、前記トランジェントバイナリはゼロ（０）に設定される、
ステップと、
前記トランジェントバイナリに前記トランジェントスコアを掛けてトランジェント出力を計算するステップと、
前記デジタル信号処理チェーンで触覚データの前記処理を調整するための前記トランジェント出力を提供するステップと、を実行する
請求項４に記載の触覚処理方法。
【請求項６】
前記入力音声信号にトランジェントが検出されると、前記ＲＭＳ値がゼロに設定される、
請求項１に記載の触覚処理方法。
【請求項７】
入力音声信号から触覚出力データを生成するための触覚処理システムであって、
前記触覚処理システムは、
少なくとも１つの動的プロセッサを含む前記入力音声信号を処理するためのデジタル信号処理チェーンであって、前記少なくとも１つの動的プロセッサは少なくとも１つの制御パラメータを受信するように構成される、デジタル信号処理チェーンと、
前記少なくとも１つの動的プロセッサに関連付けられた分析モジュールと、
を備え、
前記分析モジュールは、
一定期間の前記入力音声信号のＲＭＳ値を計算するための入力信号アナライザおよびＲＭＳジェネレータモジュールと、
異なる一定期間の前記入力音声信号のピーク信号値を計算するためのピークアナライザモジュールと、
を備え、
（ａ）前記ピーク振幅値と所定の定数との差を決定し、
（ｂ）前記ＲＭＳ値と前記所定の定数の合計を決定し、
（ｃ）前記ステップ（ａ）および前記ステップ（ｂ）で決定された前記最小値を計算する
ステップと、
前記ステップ（ｃ）で決定された前記最小値を適用して、前記少なくとも１つの動的プロセッサの前記少なくとも１つの制御パラメータを動的に調整するステップと、を実行する
触覚処理システム。
【請求項８】
前記少なくとも１つの動的プロセッサが、ノイズゲートまたはコンプレッサである、
請求項７に記載の触覚処理システム。
【請求項９】
前記分析モジュールから前記少なくとも１つの制御パラメータを受信するように構成されたエンベロープフォロワモジュールをさらに備える、
請求項７に記載の触覚処理システム。
【請求項１０】
前記触覚処理システムが、ベルフィルタモジュール、リミッタモジュール、ローパスフィルタモジュール、およびミキサモジュールを含む１つまたは複数のモジュールに制御値を設定するように構成されたプリセットモジュールをさらに備え、
前記ミキサモジュールは、ドライ／ウェットモジュール、オシレータモジュール、および共振モジュールからの前記処理された信号の所定の割合を受信するように特徴付けられ、
前記プリセットモジュールを使用して、前記所定の比率が設定される、
請求項７に記載の触覚処理システム。
【請求項１１】
前記入力音声信号がトランジェントを含む、
請求項７に記載の触覚処理システム。
【請求項１２】
前記分析モジュールが、トランジェント検出モジュールを含み、前記トランジェント検出モジュールは、
前記入力音声信号を高速エンベロープフォロワと低速エンベロープフォロワに同時に渡すことにより、前記入力音声信号の前記トランジェントを検出するステップと、
前記高速エンベロープフォロワと前記低速エンベロープフォロワとの間の出力値の差を計算するステップと、
前記出力値の差に基づいてトランジェントスコアを計算するステップと、
トランジェント閾値を受信するステップと、
前記トランジェントスコアに基づいてトランジェントバイナリを導出するステップであって、前記トランジェントスコアが前記トランジェント閾値を超えると、前記トランジェントバイナリが１に設定され、前記トランジェントスコアが前記トランジェント閾値を下回ると、前記トランジェントバイナリはゼロ（０）に設定される、ステップと、
前記トランジェントバイナリに前記トランジェントスコアを掛けてトランジェント出力を計算するステップと、
前記デジタル信号処理チェーンで前記触覚出力の前記処理を調整するための前記トランジェント出力を提供するステップと、を実行する
請求項１１に記載の触覚処理システム。
【請求項１３】
プロセッサによって実行されると、入力音声信号に基づいて触覚出力を提供するエンコードされた命令が組み込まれたコンピュータ可読媒体であって、
前記コンピュータ可読媒体に具体化された前記エンコードされた命令は、
デジタル信号処理チェーンと分析モジュールで前記入力音声信号を同時に受信するステップと、
少なくとも１つの動的プロセッサを含む前記デジタル信号処理チェーンにおいて前記入力音声信号を処理するステップと、
ＲＭＳ値およびピーク値を使用して前記分析モジュール内の少なくとも１つの制御パラメータを決定して、前記少なくとも１つの動的プロセッサ内の前記少なくとも１つの制御パラメータを設定するステップと、
ミキサモジュール内で処理された信号をミキシングするステップであって、前記ミキサモジュールは、ドライ／ウェットモジュール、オシレータモジュール、および共振モジュールからの前記処理された信号の所定の割合を受信することを特徴とする、ステップと、
アクチュエータを駆動して触覚出力を生成するステップと、を実行する
コンピュータ可読媒体。
【請求項１４】
前記入力音声信号がトランジェントを含む、
請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
前記トランジェントの存在がトランジェント処理プロセスを呼び出し、前記トランジェント処理プロセスが、
前記入力音声信号を高速エンベロープフォロワと低速エンベロープフォロワに同時に渡すステップと、
前記高速エンベロープフォロワと前記低速エンベロープフォロワとの間の出力値の差を計算するステップと、
前記出力値の差に基づいてトランジェントスコアを計算するステップと、
トランジェント閾値を受信するステップと、
前記トランジェントスコアに基づいてトランジェントバイナリを導出するステップであって、
前記トランジェントスコアが前記トランジェント閾値を超えると、前記トランジェントバイナリが１に設定され、
前記トランジェントスコアが前記トランジェント閾値を下回ると、前記トランジェントバイナリはゼロ（０）に設定される、
ステップと、
前記トランジェントバイナリに前記トランジェントスコアを掛けてトランジェント出力を計算するステップと、
前記デジタル信号処理チェーンで触覚データの前記処理を調整するための前記トランジェント出力を提供するステップと、を実行する
請求項１４に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、触覚（ハプティクス）応答を生成するための触覚処理システムに関する。より具体的には、本発明は、アクチュエータに触覚出力を生成するためのデジタル音声信号処理に関する。
【背景技術】
【０００２】
触覚は通常、電子デバイスのユーザインタフェース上のフィードバック力または振動としてユーザに提供されるタッチの感覚を指す。フィードバック力は、ユーザに情報を提供できる。技術の進歩により、ユーザインタフェースは、触覚フィードバックを提供する触覚インタフェースと統合されている。モバイルデバイス、ゲームデバイス、および自動車は、より優れたユーザ体験を提供するために、触覚と統合されている。ユーザフィードバックを提供する重要な要素は、音声信号を処理して音声信号を触覚応答に変換することである。触覚応答は、アクチュエータを駆動して、ユーザインタフェースへのタッチに応答して振動を提供する。触覚のもう１つの用途は、音声とともに人体に振動を誘発することにより、ユーザにリアルタイムの体験を提供することである。この用途は、ヘッドセット、ヘッドホン、ウェアラブルストラップ、およびその他のデバイスで広く使用されている。これらすべての用途では、音声信号から触覚応答をリアルタイムで抽出するために、音声信号を処理する必要がある。触覚のユーザ体験は、入力音声データを変換して触覚応答を生成する触覚処理システムの影響を大きく受ける。ユーザ体験は通常、触覚処理システムが優れた触覚効果を処理および生成する能力によって制御される。
【０００３】
いくつかの技術は、入力音声信号から触覚出力を提供するための異なる実装を提供し、例えば、米国特許第７９７９１４６号明細書は、音声信号をいくつかのサブバンドおよびセグメントに分離することによって、受信した音声信号を触覚イベントに自動的に変換するためのシステムおよび方法を提供する。次に、サブバンド信号はいくつかのイベントに変換される。システムは、アクチュエータで触覚応答を生成する特定のサブバンドに触覚イベントを割り当てる。このシステムは、周波数特性、アクチュエータパラメータ、および触覚応答を生成するための最小時間間隔に関連するさまざまなパラメータを提供する。
【０００４】
同様に、米国特許第８３７８９６４号明細書は技術を拡張している。これは、触覚イベントの構造化された表現を提供する。この方法は、さまざまなチャネルのイベントスコアを計算し、累積スコアに基づいて、特定のチャネルに触覚イベントを割り当てて、関連するアクチュエータで触覚応答を生成する。
【０００５】
米国特許出願第２００９／０１８９７４８号明細書は、触覚励起を生成するために音声信号および／またはビデオ信号を処理するための方法および関連するデバイスを提供する。触覚励起生成ユニットは、ベントを介して気流を生成することにより、ユーザの特定の身体部分に触覚励起を生成する。したがって、触覚励起はユーザの体に伝えられる。
【０００６】
米国特許第８７１７１５２号明細書は、波形を使用する触覚効果変換システムを記載している。音声ソースからの音声フレームは、触覚変換システムによって傍受されて触覚信号を生成し、この触覚信号はアクチュエータを通過し、触覚効果を生成する。触覚信号は、触覚信号の大きさを定義する各音声データフレームの最大値に基づいている。
【０００７】
技術の現状は、音声信号を処理して触覚信号を生成するためのさまざまな技術を提供し、それをアクチュエータに渡して触覚効果を生成することができる。ただし、抑制された周波数を増幅するための追加の分析と処理、トランジェントの処理、ユーザ体験を向上させる触覚信号を作成するためのさまざまな動的プロセッサのパラメータの動的更新を提供する最先端の技術はない。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、いくつかの技術を使用して、各デジタル音声データサンプルを使用し、サイドチェーン、共振および物理モジュールを利用し、振幅の平均値および他の関連モジュールを利用して、改善された継続的な触覚体験を提供することによって、ユーザの触覚体験を強化する。現在の触覚変換システムに関連する別の問題は、適切な低周波数がない場合の触覚応答の欠如である。音声信号に高周波成分のストリームがある場合、音声信号のフィルタリング中にほとんどの高周波が減衰されるため、触覚応答は生成されない。さらに、特定の低周波成分は存在するが、フィルタリングおよび処理段階で除去された。これにより、非推奨のユーザ体験が実現する。理想的には、触覚処理システムは、聴覚と触覚の効果で向上させたユーザ体験を提供するために、リアルタイムの触覚効果を提供する必要がある。音声信号が最小の遅延でリアルタイムに処理され、サンプリングされた各音声信号データが処理および分析され、低周波数が増幅および／または追加されて触覚効果を生成する場合、豊かなユーザ体験を提供できる。
【課題を解決するための手段】
【０００９】
したがって、本発明の技術は、デジタル信号処理のための１つまたは複数の動的プロセッサ、物理的共振モジュール、およびミキサを使用することによって、音声信号を効率的かつ効果的に処理して触覚出力を生成する方法およびシステムを提供する。分析モジュールは、ユーザ体験を向上させるために、触覚出力を同時に監視および制御する。
【００１０】
本発明のシステムおよび方法は、触覚処理システムを開示している。触覚処理システムには、デジタル信号処理チェーンと分析モジュールが含まれている。デジタル処理チェーンは、ダウンサンプラ、ローパスフィルタ、少なくとも１つの動的プロセッサ、少なくとも１つのコンプレッサ、少なくとも１つのエンベロープフォロワ、少なくとも１つのオシレータ、少なくとも１つの共振モジュール、少なくとも１つのミキサ、少なくとも１つのベルフィルタ、少なくとも１つのリミッタおよびその他のモジュールで構成される。音声入力信号も受信する分析モジュールは、独立して動作し、デジタル処理チェーンを制御する。分析モジュールは、デジタル信号処理チェーンでの音声信号の処理を制御するためのパラメータを渡す。
【００１１】
少なくとも１つの分析モジュールが、デジタル処理チェーンの少なくとも１つのパラメータを制御する。少なくとも１つのパラメータは、利得、閾値、ＲＭＳ／ピーク値、アタック、リリース、メイクアップ利得、ニー、またはその他のパラメータである。分析モジュールは、デジタル信号処理チェーンでの音声信号の処理を変調する。あるいは、分析モジュールは、特定の時間間隔でデジタル信号処理チェーン内の音声信号の処理を調整する。時間間隔は１ミリ秒から１秒の間で変化する。分析モジュールは、デジタル信号処理チェーン内の入力音声信号の処理をリアルタイムで動的に変更する。あるいは、分析モジュールは、デジタル信号処理チェーン内の音声信号の処理を非リアルタイムで変更することができる。入力音声信号は、デジタル信号処理チェーンの入力で受信され、前処理モジュールに渡される。前処理モジュールは、入力音声信号を、少なくとも１つの動的プロセッサで処理できる許容可能なサンプリングレートにダウンサンプリングする。入力音声信号は、デジタル入力信号またはアナログ入力信号のいずれかであり、アナログデジタル（Ａ／Ｄ）コンバータを使用してデジタル信号に変換される。
【００１２】
前処理モジュールは、入力音声信号をフィルタリングする。さらに、入力音声信号の利得を上げることができる。受信した音声入力信号が許容可能なサンプリングレートである場合、前処理モジュールはバイパスされる。プリプロセッサモジュールの出力は、少なくとも１つの動的プロセッサに提供される。動的プロセッサは、ノイズゲート、コンプレッサ、利得制御プロセッサ、またはそれらの任意の組み合わせにすることができる。ノイズゲートには、検出器モジュール、サイドチェーンモジュール、および閾値モジュールが含まれる。閾値モジュールは、分析モジュールから制御パラメータを受信する。サイドチェーンモジュールは、ノイズゲートモジュールから信号の一部を受信する。あるいは、サイドチェーンは、前処理モジュール、少なくとも１つの動的プロセッサから入力信号を受信するか、または直接入力音声信号を受信することができる。
【００１３】
入力信号がノイズゲートモジュールまたは入力音声信号のいずれかからサイドチェーンモジュールで受信されると、サイドチェーンモジュールに関連付けられた検出器は、受信信号が閾値レベルを上回っているか下回っているかを検出する。信号が閾値レベルを超えると、ノイズゲートが開いて受信信号を渡す。ただし、受信信号が閾値レベルを下回っていることを検出すると、ノイズゲートが閉じて、受信信号を利得係数で減衰させる。利得係数は利得低減であり、受信した入力信号に適用される。
【００１４】
分析モジュールは、入力音声信号を同時に受信し、入力音声信号の特性に基づいて１つまたは複数の制御パラメータを計算する。次に、分析モジュールはパラメータをノイズゲートに渡し、少なくとも１つの制御パラメータ、例えば、リアルタイムの閾値レベルを設定する。あるいは、分析モジュールは、複数の制御パラメータを渡して、複数の動的プロセッサの少なくとも閾値レベルおよび／または利得を設定する。渡されたパラメータは、各瞬間に動的に更新される。
【００１５】
分析モジュールは、別の実装形態において、デジタル信号処理チェーンの前に入力音声信号を受信する。別の変形例では、デジタル信号処理チェーンに供給される入力音声信号は、１ミリ秒から１００ミリ秒まで変化する所定の時間だけ遅延される。分析モジュールには、入力音声信号をリアルタイムで監視し、少なくとも１つまたは複数の動的プロセッサに提供されるパラメータを予測する予測アルゴリズムが含まれている。
【００１６】
前処理モジュールからの入力音声信号もしくは入力信号の一部、または利得コントローラモジュールからの入力信号も、ドライ／ウェットモジュールに提供される。さらに、ドライ／ウェットモジュールは、少なくとも１つまたは複数の動的プロセッサまたは利得制御プロセッサから信号を受信する。受信した入力信号は、所定の比率でミキシングされ、デュアルフィルタに渡される。一変形例では、ドライ／ウェット信号の比率は、分析モジュールによって動的に制御され、および／またはドライ／ウェット信号の比率は、プリセットモジュールによって制御される。
【００１７】
所定の比率は定数値であるが、他の変形例では、ソフトウェアプログラムまたはユーザインタフェースのいずれかによって調整可能である。
【００１８】
少なくとも１つの動的プロセッサからの出力信号は、コンプレッサまたは利得制御プロセッサのいずれかである別の動的プロセッサに渡される。コンプレッサは、受信信号のダイナミックレンジを縮小する。
【００１９】
サイドチェーンモジュールは、コンプレッサや利得制御プロセッサなどの１つまたは複数の動的プロセッサに関連付けられている。コンプレッサは、少なくとも検出器モジュールおよび閾値モジュールを含む。別の実装形態では、検出器モジュールおよび閾値モジュールは独立したモジュールであり、ノイズゲート、コンプレッサ、および利得制御プロセッサなどの動的プロセッサに関連付けられている。
【００２０】
コンプレッサモジュールの出力は、高周波信号を低周波信号に変換するエンベロープフォロワモジュールに提供される。さらに、バイポーラ入力信号をユニポーラ出力信号に変換する。エンベロープフォロワの出力は、受信した音声信号を変調するオシレータモジュールに提供される。並行して、コンプレッサモジュールからの出力信号は、（ａ）抑制された低周波数を増幅する；（ｂ）入力音声信号に基づいて、弦、膜、プレート、またはその他の楽器モデルの物理モデルを励起する；（ｃ）出力信号に低周波数を追加する、共振モジュールにも提供される。ミキサモジュールは、ドライ／ウェットモジュール、オシレータモジュール、および共振モジュールからの出力信号をミキシングする。ミキサモジュールの出力は、ローパスフィルタ、リミッタモジュール、ベルフィルタモジュール、およびアクチュエータに渡され、触覚出力を生成する。
【００２１】
触覚処理システムは、デジタル信号処理チェーン、分析モジュール、およびプリセットモジュールで構成される。いくつかの変形例ではあるが、触覚処理システムは、デジタル信号処理チェーンおよび分析モジュールで構成される。デジタル信号処理チェーンには、音声入力信号、前処理モジュール、信号検出モジュール、１つまたは複数の動的プロセッサまたは利得コントローラプロセッサモジュール、ドライ／ウェットモジュール、エンベロープフォロワモジュール、オシレータモジュール、共振モジュール、ミキサモジュール、少なくとも１つのデュアルフィルタモジュール、少なくとも１つのリミッタモジュール、少なくとも１つのフィルタモジュール、およびその他のモジュールが含まれる。一変形例では、デジタル信号処理チェーンは、ブーストコントローラモジュールを含む。デジタル信号処理チェーンは、入力音声信号からアクチュエータを駆動する触覚出力信号への信号フローのパスである。
【００２２】
分析モジュールには、ピークアナライザモジュール、トランジェント検出モジュール、入力信号アナライザおよびＲＭＳジェネレータモジュール、サイドチェーンモジュール、検出器および閾値モジュール、予測およびインテリジェンスモジュール、利得コントローラモジュール、および周波数利得コントローラモジュールが含まれる。分析モジュールは、ピーク検出、二乗平均平方根（ＲＭＳ）値、およびトランジェント検出に関連するすべての計算を実行する。分析モジュールは、第１の利得制御プロセッサと第２の利得制御プロセッサ、あるいは１つまたは複数の動的プロセッサに渡す必要のあるパラメータを計算する。さらに、分析モジュールは、エンベロープフォロワモジュールとデュアルフィルタモジュールに制御パラメータも提供する。
【００２３】
分析モジュールには、ピークアナライザモジュール、トランジェント検出モジュール、入力信号アナライザおよびＲＭＳジェネレータモジュール、サイドチェーンモジュール、検出器および閾値モジュール、予測およびインテリジェンスモジュール、利得コントローラモジュール、および周波数利得コントローラモジュールが含まれ、これらは互いに直接接続される。あるいは、分析モジュールの一部のモジュールは互いに直接接続されているが、他のモジュールの一部は間接的に相互に接続され、つまり、これらのモジュールは、関数呼び出し、メモリ参照、共有メモリまたはポインタによってパラメータを交換する。別の代替構成では、すべてのモジュールが他の各モジュールに直接および間接的に接続される。
【００２４】
分析モジュールによって渡される１つまたは複数の制御パラメータは、少なくとも閾値レベルおよび／または利得低減に関連している。
【００２５】
プリセットモジュールは、１つまたは複数の制御パラメータを渡して、デュアルフィルタモジュール、リミッタモジュール、フィルタモジュール、およびアップサンプリングモジュールの値を設定する。プリセットモジュールによって提供されるパラメータは、デジタル信号処理チェーンに干渉することなく入力音声信号を制御するために利用される。さらに、プリセットモジュールは一変形例でミキサモジュールにパラメータを渡すこともできる。
【００２６】
入力音声信号は二乗平均平方根モジュールに渡され、入力音声信号にトランジェントが検出されると、一時的にゼロに設定される。
【００２７】
デュアルフィルタモジュールは、デジタル信号処理チェーンとは独立して、分析モジュールとプリセットモジュールからパラメータを受信する。
【００２８】
入力音声信号のリアルタイムおよび非リアルタイム信号処理のための触覚処理システムは：トランジェント検出および分析モジュールをさらに備える分析モジュールと；ピークアナライザモジュールと；入力信号アナライザおよび二乗平均平方根モジュールと；入力音声信号が閾値を下回っているか上回っているかを検出するように構成されたサイドチェーンモジュールならびに検出器および閾値モジュールであって、決定された値は予測およびインテリジェンスモジュールに渡される、サイドチェーンモジュールならびに検出器および閾値モジュールと；利得低減パラメータを決定する予測およびインテリジェンスモジュールに関連付けられた利得コントローラモジュールであって、予測およびインテリジェンスモジュールは、予測アルゴリズムを適用して、触覚出力を生成するためにリアルタイムで閾値レベルおよび利得低減を変調するためにデジタル信号処理チェーンに関連付けられた少なくとも１つの動的プロセッサに適用されるパラメータを決定する、利得コントローラモジュールと、を備える。
【００２９】
トランジェント処理システムを、医療デバイス、音声デバイス、電子デバイス、またはその他のデバイスに実装することができる。
【００３０】
触覚出力を生成するための音声入力信号に存在するトランジェントを検出および処理するための触覚処理システムおよび方法が開示される。触覚処理システムは、デジタル信号処理チェーンと分析モジュールで構成される。入力音声信号は、デジタル信号処理チェーンと分析モジュールに同時に提供される。分析モジュールには、入力音声信号のトランジェントの存在を検出するためのトランジェント分析検出モジュールが含まれている。トランジェントが検出されると、トランジェント分析検出モジュールは受信信号を高速エンベロープフォロワと低速エンベロープフォロワに渡し、高速エンベロープフォロワと低速エンベロープフォロワの出力値の差を計算する。出力値の差はデシベル（ｄＢ）であることが好ましく、トランジェントスコアの計算に使用される。トランジェント分析検出モジュールは、トランジェント閾値も受信する。さまざまな変形例で、トランジェント閾値は、検出および閾値モジュールによって提供されるか、トランジェント分析検出モジュールで計算できる。続いて、トランジェントスコアに基づいてトランジェントバイナリが決定される。トランジェントバイナリはバイナリであり、１または０のいずれかである。トランジェントバイナリは、トランジェントスコアに正比例または反比例する。トランジェントスコアがトランジェント閾値を超えている場合、トランジェントバイナリは１に設定され、そうでない場合、トランジェントスコアはゼロ（０）に設定される。トランジェント出力は、トランジェントバイナリにトランジェントスコアを掛けることによって計算される。次に、トランジェント出力がデジタル信号処理チェーンに提供され、触覚データまたは触覚出力の処理を制御または調整する。
【００３１】
分析モジュールに関連付けられた入力信号アナライザとＲＭＳジェネレータモジュールは、トランジェントの検出時に二乗平均平方根値を一時的にゼロ（０）に設定する。
【００３２】
分析モジュールは、２つのカットオフ周波数を有するデュアルフィルタの開閉を制御する。第１のカットオフ周波数はｆ１で、第２のカットオフ周波数はｆ２である。別の変形例では、デュアルフィルタバンドパスフィルタにより、低いカットオフ周波数ｆ１と高いカットオフ周波数ｆ２をそれぞれ、より高いカットオフ周波数ｆ１’とより高いカットオフ周波数ｆ２’にシフトすることができる。
【００３３】
入力音声信号からの触覚データを処理して触覚出力を生成するための方法およびシステムが開示される。触覚処理システムは、デジタル信号処理チェーンと分析モジュールで構成されている。触覚処理システムは、入力音声信号を受信する。入力音声信号は、１つまたは複数の動的プロセッサまたは利得制御プロセッサを有するデジタル信号処理チェーンで処理される。分析モジュールは、入力音声信号の特性を分析して、触覚出力を生成するための少なくとも１つの予測アルゴリズムを選択する。選択された予測アルゴリズムは、メモリに格納されている１つまたは複数のデータセットを使用して、および／または分析モジュールで計算された１つまたは複数の制御パラメータを使用してトレーニングされる。分析モジュールで計算される１つまたは複数の制御パラメータは、瞬間ＲＭＳ値、瞬間ピーク値、トランジェント、およびその他の入力信号パラメータに基づいている。パラメータは、少なくとも１つの瞬間利得パラメータおよび／または瞬間閾値パラメータを含む。制御パラメータはリアルタイムで動的に更新される。メモリは、音声イベントに対応する事前にプログラムされた触覚波形を格納する。メモリに格納されている触覚波形は、分析モジュールによって動的に更新できる。予測アルゴリズムは、制御パラメータを予測して、デジタル信号処理チェーンを変調または制御したり、および／または１つまたは複数のアクチュエータと１つまたは複数のブースタアクチュエータを使用して格納された触覚出力を再生したりできる。予測アルゴリズムは、事前の学習に基づいて、少なくとも１つの動的プロセッサまたは利得制御プロセッサをリアルタイムで制御または変調する。
【００３４】
予測アルゴリズムは、リアルタイムデータまたは非リアルタイムデータを使用してトレーニングされる。
【００３５】
予測アルゴリズムは、１つまたは複数の教師あり学習あるいは１つまたは複数の教師なし学習アルゴリズムを使用して予測するようにトレーニングされている。１つまたは複数の制御パラメータは、入力音声信号特性に関連する振幅、閾値、利得、位相、または他のいくつかのパラメータである。
【００３６】
予測アルゴリズムは、入力音声特性に基づいて、追加または増幅されるサウンドのタイプを決定できる。予測アルゴリズムは、先を見越してファジーロジックを使用し、弦、プレート、または膜に基づいてサウンドを追加または増幅することができる。
【００３７】
入力音声信号を処理して触覚体験を生成するためのシステムおよび方法が開示されている。触覚処理方法は、デジタル信号処理チェーンと分析モジュールで音声入力信号を受信する。入力音声信号は、少なくとも１つの利得コントローラおよび１つまたは複数の利得制御プロセッサで処理される。分析モジュールは、入力信号を処理して、デジタル信号処理チェーン内の入力音声信号の処理を変調するために１つまたは複数の利得コントローラに渡される少なくとも１つまたは複数の制御パラメータを決定する。デジタル信号処理チェーンは、触覚体験を生成するための１つまたは複数のアクチュエータ／マスタアクチュエータと１つまたは複数のブースタアクチュエータで構成される。触覚処理方法は、１つまたは複数のアクチュエータ／マスタアクチュエータを介して触覚出力を生成する。さらに、１つまたは複数のブースタアクチュエータがブーストコントローラに接続されており、ブーストコントローラは触覚出力のためのブースタアクチュエータのトリガを制御する。ブースタアクチュエータのトリガは、少なくとも１つの制御パラメータまたは音声入力信号の特性に基づいている。ブースタアクチュエータは、マスタアクチュエータと同期して触覚出力を生成する。
【００３８】
ブースタアクチュエータは、分析モジュールとミキサモジュールからの少なくとも１つの制御パラメータに基づいてトリガされる。あるいは、ブースタアクチュエータは、分析モジュールと物理的共振モジュールまたはオシレータモジュールからの少なくとも１つの制御パラメータに基づいてトリガされる。ブースタアクチュエータは、分析モジュールに関連付けられた予測およびインテリジェンスモジュールにあるブーストコントローラモジュールによって制御される。別の実装形態では、ブースタアクチュエータは、分析モジュールおよびブーストコントローラモジュールまたはＬＲブーストコントローラモジュールに関連付けられた予測およびインテリジェンスモジュールに存在するブーストコントローラモジュールによって制御される。
【００３９】
アクチュエータ／マスタアクチュエータおよび１つまたは複数のブースタアクチュエータは、ステレオ構成または４チャネル構成で構成され得る。ステレオ構成は、少なくとも１つの触覚処理モジュールまたは少なくとも１つの触覚処理システムを利用する。４チャネル構成は、少なくとも２つ以上の触覚処理モジュールまたは少なくとも２つ以上の触覚処理システムを利用する。
【発明を実施するための形態】
【００４０】
本明細書で使用される場合、「入力音声信号」、「受信信号」、「処理された信号」という用語は、ネットワークに接続された、または独立して動作する他のタイプの音声またはメディアプログラムを再生できるレンダリングデバイスを使用してレンダリングできる、ビデオまたは音声プログラムに埋め込まれた信号を含む、メディアプログラムに埋め込まれたアナログ音声信号、デジタル音声信号、音声データ、音声信号を含むあらゆるタイプの音声信号を広く包含することを意図している。また、ライブメディア、リニアメディア、音楽、ゲーム、オンラインビデオゲームなどのインタラクティブメディアプログラム、または音声が埋め込まれたその他のタイプのストリーミングメディアプログラムも含まれる。
【００４１】
本明細書で使用される「触覚出力」または「触覚信号」または触覚体験という用語は、入力音声信号を処理することによって生成されるか、あるいはデジタル信号処理、アナログ信号処理、または入出力信号デジタルおよびアナログ信号処理を利用することによって導出される触覚信号を含むものとする。触覚出力または触覚信号は、タッチの感覚、特に、タッチの感覚および知覚を使用してユーザに強化された体験を提供する物体の知覚および操作に関連する。
【００４２】
「デジタル信号処理」または「触覚信号処理」という用語は、触覚データ、触覚フィードバック、触覚体験、またはユーザへの触覚出力を導出するためのデジタル信号またはアナログ信号の処理を含むように広く解釈されることを意図している。
【００４３】
さらに、本発明およびその利点は、添付の図面に示されている例示された実装形態およびその変形例を参照することによって最もよく理解され、同様の符号は同様の部品を示す。しかしながら、本発明は、触覚信号処理のための多数のデバイスで実現することができ、本明細書に記載の例示的な実装に限定されると解釈されるべきではない。図を参照することによって本発明を説明するために、例示的な実装およびそれらの変形例を以下に説明する。
【００４４】
図１は、本発明の一実施形態における触覚処理システム１００Ａを示している。触覚処理システム１００Ａは、少なくとも１つのプロセッサ１１０、コプロセッサ１１８、通信モジュール１１６および入力／出力モジュール１１４、メモリ１０２、およびいくつかの他のモジュールを含む。メモリ１０２は、オペレーティングシステム１０４、１つまたは複数のアプリケーション１０６、および触覚モジュール１０８を備える。触覚モジュール１０８は、触覚フィードバックまたは触覚体験を提供するために、音声信号から触覚信号を生成するための実行可能な命令を含むことができる。インタフェースバス１１２は、メモリ１０２、少なくとも１つのプロセッサ１１０、コプロセッサ１１８、入力／出力モジュール１１４（Ｉ／Ｏモジュール１１４とも呼ばれる）、通信モジュール１１６、および図１に示されていない他のモジュールの間のデータ通信を提供する。
【００４５】
インタフェースバス１１２は、相互接続されたさまざまなモジュール間でのデジタルおよびアナログデータの転送を容易にする。さらに、電源を介してさまざまなモジュールに電力を供給し、データ、情報の交換、割り込みのトリガ、およびその他のタイプの機能の実行も可能にする。
【００４６】
少なくとも１つのプロセッサ１１０およびコプロセッサ１１８は、ハイパースレッディング、マルチタスク、およびマルチプロセッシングを提供することができる。あるいは、プロセッサ１１０は、アナログまたはデジタル化された音声信号を処理することができる専用プロセッサまたは他のタイプのマイクロプロセッサであり得る。プロセッサ１１０およびコプロセッサ１１８は、デジタル信号処理を可能にする特別なハードウェア、例えば、インテル（登録商標）によって提供されるＭＭＸ技術を実装することができる。ＭＭＸ技術は、音声、ビデオ、およびマルチメディアを操作するための追加の命令セットを提供する。
【００４７】
プロセッサ１１０は、ＭＭＸ、ＳＳＥ、ＳＳＥ２（ストリーミングＳＩＭＤ拡張２）、ＳＳＥ３（ストリーミングＳＩＭＤ拡張３）、ＳＳＳＥ３（補足ストリーミングＳＩＭＤ拡張３）、バリアントＳＳＥ４．１およびＳＳＥ４．２を含むＳＳＥ４（ストリーミングＳＩＭＤ拡張４）、ＡＶＸ（Ａｄｖａｎｃｅｄ  Ｖｅｃｔｏｒ  Ｅｘｔｅｎｓｉｏｎｓ）、ＡＶＸ２（Ｈａｓｗｅｌｌ  Ｎｅｗ  Ｉｎｓｔｒｕｃｔｉｏｎｓ）、ＦＭＡ３を含むＦＭＡ（Ｆｕｓｅｄ  ｍｕｌｔｉｐｌｙ−ａｄｄ）、ＳＧＸ（Ｓｏｆｔｗａｒｅ  Ｇｕａｒｄ  Ｅｘｔｅｎｓｉｏｎｓ）、ＭＰＸ（Ｍｅｍｏｒｙ  Ｐｒｏｔｅｃｔｉｏｎ  Ｅｘｔｅｎｓｉｏｎｓ）、Ｅｎｈａｎｃｅｄ  Ｉｎｔｅｌ  ＳｐｅｅｄＳｔｅｐ  Ｔｅｃｈｎｏｌｏｇｙ（ＥＩＳＴ）、インテル（登録商標）６４、ＸＤビット（ＮＸビット実装）、インテル（登録商標）ＶＴ−ｘ、インテル（登録商標）ＶＴ−ｄ、ターボブースト、ハイパースレッディング、ＡＥＳ−ＮＩ、インテル（登録商標）ＴＳＸ−ＮＩ、インテル（登録商標）ｖＰｒｏ、インテル（登録商標）ＴＸＴ、スマートキャッシュまたはプロセッサ用の他のタイプの実装であり得る。
【００４８】
プロセッサ１１０またはコプロセッサ１１８は、少なくとも１つのマイクロコントローラ、リアルタイムプロセッサ、アプリケーションプロセッサなどを含むことができるＭｉｃｒｏＢｌａｚｅ（登録商標）プロセッサなどのソフトプロセッサであり得る。
【００４９】
コプロセッサ１１８は、ゲーム機における触覚信号処理を強化するか、またはプロセッサ１１０と協調して動作して、リアルタイムの触覚フィードバックのための触覚信号処理を高速化する。触覚処理システム１００は、グラフィックスコプロセッサ、モーションコプロセッサ、ＤＳＰコプロセッサ、またはデジタル信号処理もしくは他のタイプのプロセッサの処理を容易にする他のタイプのコプロセッサを含むことができる。
【００５０】
触覚処理システム１００Ａは、オーバーヘッドおよびメモリ使用量を低減するために、単一のプロセッサまたは汎用命令セットを備えたマイクロプロセッサを使用して実装され得る。さらに、シングルプロセッサの実装は、保守が容易で、触覚信号処理などの単一のタスクの実行に集中でき、アーキテクチャが単純なため、耐久性が高くなり得る。また、単一のプロセッサは、触覚処理システム１００Ａを、電子時計、フィットネスバンド、ウェアラブルサブウーファー、イヤホンなどの小型の家電製品に組み込むことを可能にすることができる。
【００５１】
メモリ１０２は、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、デジタルストレージ、磁気テープストレージ、フラッシュストレージ、ソリッドステートデバイスストレージ、または他のタイプのストレージデバイスであり得る。プログラム命令は、符号化された命令としてメモリ１０２に格納される。メモリ１０２は、暗号化された命令、ソースコード、バイナリコード、オブジェクトコード、暗号化されたコンパイル済みコード、エンコードされた実行可能コード、実行可能命令、アセンブリ言語コード、または他のタイプのコンピュータ可読命令を格納できる。さらに、触覚モジュール１０８をデバイスに格納するために利用されるメモリのタイプは、さまざまなパラメータに依存する。これらのパラメータは、触覚処理システム１００Ａを実装するデバイスの形状、サイズ、機能、および構成を含むことができる。例えば、デバイスは、ヘッドホン、ヘッドセット、ゲーム機、ラップトップ、ウェアラブルデバイス、携帯電話、ファブレット、タブレット、ｉＰａｄ、ゲームパッド、ウェアラブル電子デバイス、Ｂｌｕｅｔｏｏｔｈウォッチ、触覚バンド、または血圧計、ブドウ糖計、血液カウンタまたは他のタイプの電子機器に限定されない触覚フィードバックを実装する医療デバイスである。
【００５２】
少なくとも１つのプロセッサ１１０およびコプロセッサ１１８は、触覚モジュール１０８に格納された命令を実行するために同期して動作することができる。例えば、コプロセッサ１１８は、複雑な数学的命令を実行して、プロセッサ１１０の実行負荷を低減することができる。あるいは、処理ワークロードは、触覚モジュール１０８に格納されたプログラム命令にハードコーディングすることができ、プログラムで提供される順序で実行することができる。触覚モジュール１０８は、デジタル信号処理のための関連する特殊なハードウェアを有することができる。
【００５３】
通信モジュール１１６は、有線または無線通信を介して外部デバイス／アプリケーションとインタフェースすることができる。例えば、通信モジュール１１６は、有線ケーブルを介してサーバ１３０に接続することができる。同様に、通信モジュール１１６は、データおよび情報の転送を容易にするか、またはクラウド１４０から触覚処理モジュール１００Ａ内の任意のアプリケーションを更新することができる。
【００５４】
さらに、触覚モジュール１０８は、ソフトウェアへの更新が利用可能であるときにバイナリコードを更新するために、無線または有線ネットワークを介して分散ネットワーク１５０に接続され得る。他の変形例では、更新は、よく知られている暗号化技術とプロトコルを実装するインターネット上の安全なワイヤレス接続を介して転送され得る。通信モジュール１１６は、１つまたは複数の異なるサーバに接続して、更新をダウンロードすることができる。
【００５５】
通信モジュール１１６は、触覚処理モジュール１００Ａを更新するためのバイナリコードをダウンロードすることができる電子デバイスに接続され得る。触覚処理モジュール１００Ａは、ラップトップ、モバイルデバイス、デスクトップなどの任意の電子デバイスに接続され得る。あるいは、電子デバイスは、ユニバーサル非同期送受信機（ＵＡＲＴ）などの有線接続によって、または他のシリアル通信モードを介して接続され得る。あるいは、ユニバーサルシリアルバス（ＵＳＢ）などを使用して更新される。
【００５６】
Ｉ／Ｏモジュール１１４は、有線接続を使用して、ディスプレイ１２２、スピーカ１２４、アクチュエータ１２６、およびゲームインタフェース１２８などの１つまたは複数の入力／出力デバイスに接続され得る。例えば、Ｉ／Ｏモジュール１１４は、単一のデバイスに実装され、すべてのＩ／Ｏデバイスは、有線接続を使用して互いに接続されている。
【００５７】
Ｉ／Ｏモジュール１１４は、ミニディスプレイポート、マイクロディスプレイポート、ＤＤＭ、ディスプレイストリーム圧縮、ｅＤＰ、ｉＤＰ、ＰＤＭＩ、ｗＤＰ、ＳｌｉｍＰｏｒｔ、ＤｉｓｐｌａｙＩＤ、ＤｏｃｋＰｏｒｔ、ＵＳＢ−Ｃ、ＨＤＭＩ、ＤＶＩ、ＶＧＡ、ＦＰＤ−Ｌｉｎｋまたはその他のタイプの接続を使用して、ディスプレイ１２２と接続することができる。
【００５８】
あるいは、Ｉ／Ｏモジュール１１４は、ディスプレイ１２２、スピーカ１２４、アクチュエータ１２６、およびゲームインタフェース１２８などの１つまたは複数の入力／出力デバイスに無線で接続され得る。例えば、触覚モジュール１０８は、分散環境で実装され得る。触覚モジュール１０８は、モジュラ形式で実装され得、いくつかのモジュールはアクチュエータ１２６に実装され、他のモジュールはメモリ１０６に実装される。アクチュエータ１２６は、触覚処理システム１００Ａと無線で通信して、触覚フィードバックを生成することができる。通信モジュール１１６は、Ｂｌｕｅｔｏｏｔｈ、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）、ＺｉｇＢｅｅ、Ｚ−Ｗａｖｅ、６ＬｏＷＰＡＮ、スレッド、ＷｉＦｉ−ａｈ（ＨａＬｏｗ）、ＩＥＥＥ８０２．１１、２Ｇ、３Ｇ、４Ｇおよび５Ｇを含むＧＳＭ、ＬＴＥ  Ｃａｔ０，１，＆３、ＬＴＥ−Ｍ１、ＲＦＩＤ、ＮＦＣ、ＡＮＴ＆ＡＮＴ＋（Ｓａｍｓｕｎｇ  Ｄｅｖｉｃｅｓ）、ＷｉｒｅｌｅｓｓＨＡＲＴ（オープンワイヤレス標準）、ＤｉｇｉＭｅｓｈ、およびＭｉＷｉなどの無線プロトコルを使用して実装され得る。
【００５９】
触覚処理モジュール１００Ａはまた、８０２．１１ａ／ｂ／ｇ／ｎおよび８０２．１１の他の変形などの無線プロトコルを実装する。
【００６０】
さらに、触覚処理モジュール１００Ａは、ブルーサウンド、ボーズのサウンドタッチ、デノンのＨＥＯＳ、ＮｕＶｏのゲートウェイ、ピュアオーディオのＪｏｎｇｏ、サムスンのシェイプ、およびＬＧのＮＰ８７４０などであるがこれらに限定されない無線音声規格を実装することもできる。
【００６１】
さらに、触覚処理モジュール１００Ａは、放送装置または放送局によって放送される無線信号を受信するために、振幅変調または周波数変調を実施することができる。
【００６２】
Ｉ／Ｏモジュール１１４は、アクチュエータ１２６のような１つまたは複数のアクチュエータをサポートすることができる。アクチュエータ１２６は、少なくとも１つのセンサまたは少なくとも１つのトランスデューサを含むことができる。あるいは、アクチュエータ１２６は、圧電アクチュエータ、電気活性ポリマー（ＥＡＰ）アクチュエータ、電磁アクチュエータ、ボイスコイルアクチュエータ、ソレノイド、線形共振アクチュエータ（ＬＲＡ）、モータ、または触覚出力を提供することができる他のタイプのトランスデューサであり得る。しかしながら、簡単にするために、１つのアクチュエータ１２６のみが例示的な図１に示されている。
【００６３】
触覚モジュール１０８を、１つまたは複数のデバイスに統合することができる。例えば、触覚処理システム１００Ａを、組み込みデバイスに実装することができる。組み込みデバイスの例には、ヘッドセット、ヘッドホン、モバイルデバイス、ゲーム機、ゲームコントローラ、仮想／拡張／複合現実コントローラ、仮想／拡張／複合現実ヘッドセット、ハンドヘルド電子デバイス、ウェアラブル電子デバイス、カメラ、ジョイスティック、タブレット、ＰＤＡが含まれるが、これらに限定されない。
【００６４】
触覚処理システム１００Ａを、マイクロチップまたはマイクロコントローラに組み込むことができる。
【００６５】
触覚処理システム１００Ａを、システムオンチップ（ＳｏＣ）上に実装することができる。チップ上のシステムにおける触覚処理システム１００Ａの実装は、マイクロコントローラの周囲またはマイクロプロセッサの周囲であり得る。
【００６６】
別の実施形態では、触覚処理システム１００Ａを、プログラマブルシステムオンチップ（ＰＳｏＣ）上に実装することができる。
【００６７】
触覚処理システム１００Ａは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）、単一パッケージ内の１つまたは複数のチップを含むパッケージ内システム（ＳｉＰ）、特定用途向け集積回路（ＡＳＩＣ）、特定用途向け標準製品（ＡＳＳＰ）に、またはＦＥＴ、トランジスタ、集積回路、コンデンサ、抵抗、インダクタ、またはそれらの任意の組み合わせなどのアナログコンポーネントを使用することで実装され得る。
【００６８】
さらに、触覚処理モジュール１００Ａは、触覚モジュール１０８内のソフトウェアに実装され得る。さらに、触覚モジュール１０８に実装されたソフトウェア命令は、メモリに符号化され得る。
【００６９】
触覚モジュール１０８を、メモリにプログラムすることができる。ソフトウェア命令を、アセンブリ言語、バイナリコード、機械語、ハイレベルプログラミング言語、またはこれらの言語の任意の組み合わせで実装することができる。
【００７０】
あるいは、触覚処理システム１００Ａを、ソフトウェアとハードウェアの組み合わせとして実装することができる。
【００７１】
図１Ｂを参照すると、本発明の一実施形態における、触覚モジュール１０８の高レベルのモジュラアーキテクチャが提供される。触覚モジュール１０８を、ソフトウェアとして、またはソフトウェアとハードウェアの組み合わせとして実装することができる。あるいは、触覚モジュール１０８を、モジュール構成で実装することができ、モジュールのいくつかは、デバイスＡに実装でき、他のモジュールは、別のデバイスＢに遠隔で実装できる。例えば、１つまたは複数のモジュールは、ヘッドホンまたはヘッドセット（デバイスＡ）に実装でき、他のモジュールは別のデバイスＢに実装できる。デバイスＢは、ウェアラブルウォッチ、基地局、電子処理デバイス、ゲーム機、楽器、またはその他のタイプの電子処理デバイスである。
【００７２】
触覚モジュール１０８は、音声入力信号１６２を受信する。音声入力信号１６２は、デジタル信号またはアナログ信号であり得る。音声入力信号１６２は、モノフォニック、ステレオフォニック、クアドラフォニック、マルチチャネル音声フォーマット（例えば、２．１、４．１、５．１、７．１、または他のタイプのサラウンドサウンドフォーマット）、またはＳ／ＰＤＩＦ、ＨＤＭＩ、ＴＯＳＬＩＮＫ、Ｉ２Ｓ、Ｄｏｌｂｙ  Ｄｉｇｉｔａｌ  Ｐｌｕｓ、ＡＥＳ５０、ＨｙｐｅｒＭＡＣ、ＵＳＢ、Ｆｉｒｅｗｉｒｅ、Ｔｈｕｎｄｅｒｂｏｌｔ、Ａｐｐｌｅ  Ｌｉｇｈｔｎｉｎｇ、またはその他の種類のデジタル形式などのデジタル規格であり得る。
【００７３】
入力音声信号１６２は、前処理モジュール１６４に渡される。前処理モジュール１６４は、入力音声信号１６２を処理および変換し、それを、触覚出力を生成するための適切な形式に変換する。前処理モジュール１６４は、フィルタリング、変換、ダウンサンプル、アップサンプル、または他の機能を実行する。次に、前処理モジュール１６４は、処理された信号を１つまたは複数の動的プロセッサ１６６Ａから１６６Ｎに渡す。さらに、入力音声信号１６２を、分析モジュール１７０に提供することもできる。動的プロセッサ１６６は、ノイズゲート、コンプレッサ、およびリミッタを含むがこれらに限定されない特殊なタイプのプロセッサであり得、これらは、異なる実装および／または変形における後続の図で詳細に説明される。
【００７４】
１つまたは複数の動的プロセッサ１６６からの出力は、ドライ／ウェットモジュール１６８に渡される。ドライ／ウェットモジュール１６８はまた、入力音声信号１６２を受信する。動的プロセッサ１６６Ａから受信された出力および入力音声信号１６２は、ドライ／ウェットモジュール１６８において固定比率で組み合わされる。入力音声信号１６２と動的プロセッサ１６６Ａからの出力信号との比率は、「ドライ／ウェット」比と呼ばれる。ドライ／ウェット比は、位相、周波数、および振幅などの入力信号１６２のパラメータに基づいて、事前にプログラムされるか、または動的に決定され得る。ドライ信号対ウェット信号比は、ユーザインタフェースから受信した入力に基づいてプログラムされ得る。あるいは、ドライ／ウェット比を、ユーザインタフェースで使用可能な選択可能な比の１つに設定することもできる。
【００７５】
動的プロセッサ１６６Ａからの出力信号は、動的プロセッサ１６６Ｂから１６６Ｎに渡される。少なくとも２つの動的プロセッサ１６６が存在するが、少なくとも３つの動的プロセッサ１６６を有する他の組み合わせが可能である。例えば、少なくとも４つの動的プロセッサ１６６が存在することができる。動的プロセッサ１６６Ａから１６６Ｎはすべて機能が異なる可能性があるが、まとめて動的プロセッサ１６６と呼ばれることに留意されたい。動的プロセッサ１６６は、ノイズゲート、コンプレッサ、減圧機、膨張機、リミッタ、マルチバンドコンプレッサ、ルックアヘッドコンプレッサ、サイドチェーンコンプレッサ、レンガ壁制限コンプレッサ、並列コンプレッサ、または他のタイプのコンプレッサであり得る。
【００７６】
動的プロセッサ１６６Ｎからの出力は、エンベロープ検出器モジュール１７２に供給される。エンベロープ検出器モジュール１７２は、動的プロセッサ１６６Ｎモジュールから受信した入力信号の低周波波形を生成する。エンベロープ検出器モジュール１７２からの低周波波形は、固定周波数オシレータモジュール１７４を使用して変調されて、低周波変調波形を生成する。同時に、動的プロセッサ１６６Ｎからの出力は、共振モジュール１７８に渡される。次に、共振モジュール１７８は、弦、膜、またはプレートに対応する低周波成分を増幅し、その出力をミキサモジュール１８０に渡す。さらに、共振モジュール１７８は、弦、膜、またはプレートに対応する追加の新しい周波数を作成するか、弦、膜、または他の楽器に対応する追加の新しい周波数を増幅および追加し、その出力をミキサモジュール１８０に渡す。ミキサモジュール１８０は、ドライ／ウェットモジュール１６８、固定周波数オシレータモジュール１７４、および共振モジュール１７８から入力信号を受信し、それらを所定の比率でミキシングする。事前定義された比率は、ファジー論理モジュール、人工知能モジュール、プログラムされた命令を使用して決定することができ、または利得、位相、周波数、または振幅などの入力信号の少なくとも１つのパラメータに依存することができる。ミキサモジュールからの出力は、ローパスフィルタモジュール１８２、リミッタモジュール１８４、およびベルフィルタモジュール１８６に渡され、最後にアクチュエータ１８８に渡されて、触覚出力を生成する。
【００７７】
ベルフィルタモジュール１８６の出力はまた、検出器モジュール１９０に渡され、検出器モジュール１９０は、前処理モジュール１６４での信号の存在およびベルフィルタ１８６からの出力信号をプローブする。検出器モジュール１９０が入力および出力で信号を検出するとき、それは、触覚処理モジュール１００Ｂがアクティブ電源オンモードに保たれることを確実にする。前処理モジュール１６４に入力信号がなく、ベルフィルタ１８６に出力信号がない場合、検出器モジュール１９０は、触覚処理モジュール１００Ｂに、バッテリを節約するために省電力状態に入るように指示することができる。
【００７８】
触覚処理モジュール１００Ｂは、適切な電圧および電流を有する外部ソースからの電源によって電力を供給され得る。あるいは、電力をバッテリによって提供することができる。バッテリは、充電式バッテリまたは非充電式バッテリのいずれかであり得る。バッテリは、小型シール型鉛酸（ＳＳＬＡ）バッテリ、吸収性ガラスマット（ＡＧＭ）バッテリ、ゲルバッテリ（「ゲルセル」）、ニッケル金属水素化物バッテリ、ニッケルカドミウムバッテリ、リチウムイオンバッテリ、またはその他のタイプの充電式バッテリであり得る。
【００７９】
検出器モジュール１９０は、前処理モジュール１６４から入力音声信号１６２および出力信号を受信して、いつ省電力モードに移行するか、または電力アクティブ状態に留まるかを決定することができる。例えば、入力音声信号１６２および前処理モジュール１６４からの出力の存在などであるがこれらに限定されない特定のパラメータに基づいて、検出器モジュール１９０は、触覚処理モジュール１００Ｂの有効電力オン状態を維持することを決定することができる。
【００８０】
あるいは、検出器モジュール１９０は、ベルフィルタモジュール１８６からの入力音声信号１６２および出力信号を受信して、触覚処理モジュール１００Ｂの電力状態を決定することができる。例えば、検出器モジュール１９０は、ベルフィルタモジュール１８６での入力音声信号１６２および出力信号の存在をプローブする。検出器モジュール１９０がベルフィルタモジュール１８６で入力音声信号１６２および出力信号を検出する場合、検出器モジュール１９０は、触覚処理モジュール１００Ｂを電源オン状態に維持する。しかしながら、ベルフィルタ１８６に入力音声信号１６２および出力信号がない場合、検出器モジュール１９０は、触覚処理モジュール１００Ｂを省電力または電源オフモードにする。別の例では、入力音声信号１６２がなく、ベルフィルタモジュール１８６に出力信号が存在する場合、検出器モジュール１９０は、電源オフ状態または省電力モードに入る前に所定の期間をカウントするカウンタを開始する。所定の期間は１秒から２０秒まで変化するが、所定の期間は好ましくは１０秒に設定される。
【００８１】
いくつかの代替構成が可能であり、例えば、検出器モジュール１９０は、前処理モジュール１６４からの信号およびベルフィルタモジュール１８６からの出力信号を受信して、省電力モードに入るか、または電源オン状態のままであるかを決定することができる。別の例では、検出器モジュール１９０は、入力音声信号１６２と、分析モジュール１７０およびベルフィルタモジュール１８６からの出力信号を受信して、電源オン／オフ状態を決定する。
【００８２】
本発明の新規な態様の１つは、入力音声信号１６２の各データセグメントを使用して触覚信号を生成することである。本発明は、触覚出力を生成するためのデジタル信号処理チェーンおよび分析モジュールを提供する。デジタル信号処理チェーンは、触覚出力を生成するための入力音声信号１６２のフローパスであり、入力音声信号１６２を処理するすべてのモジュールを含む。例えば、触覚出力を生成するためのさまざまなモジュールを通る入力音声信号１６２の直接のフローは、前処理モジュール１６４、１つまたは複数の動的プロセッサ１６６、ドライ／ウェットモジュール１６８、エンベロープフォロワモジュール１７２、オシレータモジュール１７４、共振モジュール１７８、ミキサモジュール１８０、ローパスフィルタモジュール１８２、リミッタモジュール１８４、ベルフィルタモジュール１８６、および検出器モジュール１９０を含む。分析モジュール１７０は、各データセグメントを分析して、強化された触覚出力のためにデジタル信号処理チェーンを制御する。分析モジュール１７０は、入力音声信号１６２に関連するピーク値および二乗平均平方根値を計算して格納する。ノイズを除去し、入力音声信号１６２のダイナミックレンジを縮小するために、少なくとも１つの動的プロセッサ１６６が使用される。サイドチェーンは、少なくとも１つの動的プロセッサ１６６の閾値および利得を制御するためのフィードバックとして提供される。少なくとも１つの動的プロセッサ１６６は、ノイズゲート、コンプレッサ、または２つのノイズゲートもしくは２つのコンプレッサなどである。少なくとも１つの動的プロセッサ１６６から受信された低周波数成分は、受信信号において抑制または低減され得る低周波数を追加または増幅する共振モジュール１７８によって増強され得る。エンベロープフォロワ１７２は、受信された高周波信号を低周波信号に変換し、それがオシレータモジュール１７４に渡される。受信信号は他のモジュールからの信号とミキシングされ、触覚出力信号を生成する。
【００８３】
触覚モジュール１０８の分析モジュール１７０は、入力音声データセグメントの異なるサイズの平均化ウィンドウを使用して、入力音声信号１６２の二乗平均平方根振幅値を計算する。入力音声信号１６２は、１つまたは複数のデータセグメントを使用して分析される。分析される入力音声信号１６２のデータセグメントの数は、時間とともに変化し得る。例えば、１つのウィンドウのデータセグメントの数を５０にすることができる。同様に、次のウィンドウのデータセグメントの数を７５にすることができる。したがって、異なるウィンドウサイズの平均振幅は、データセグメントのサイズに応じて変化する可能性がある。さらに、触覚処理モジュール１００Ｂは、入力音声信号１６２のピーク振幅値および二乗平均平方根振幅値を計算して、利得および閾値の計算などの１つまたは複数の制御パラメータを決定する。触覚処理モジュール１００Ｂは、利得および／または閾値を計算するために、一定期間のピーク振幅値および対応する二乗平均平方根値をバッファリングおよび格納し、これらは、ノイズゲート、コンプレッサ、およびサイドチェーンなどの１つまたは複数の動的プロセッサ１６６の設定を制御するために利用される。これらの設定は、触覚出力を生成するための入力音声信号１６２の処理を変調または制御するために継続的に更新される。好適には、この斬新でユニークな方法とシステムアーキテクチャは、ユーザ体験を向上させる。
【００８４】
さらに、触覚処理モジュール１００Ｂは、トランジェントの存在下で触覚信号を増強または補償するために、高速オンセット／トランジェント検出メカニズムを実装する。例えば、トランジェントは、音楽のキックドラムやゲームの音声信号の銃声などのイベントである可能性がある。オンセット検出メカニズムは、触覚信号の強度を強化するために利用され、ユーザに高レベルの触覚体験を提供する本発明の一実施形態では、トランジェント検出メカニズムは、分析モジュール１７０で実行される。
【００８５】
図２は、少なくとも２つの動的プロセッサを備えた好ましい実施形態２００における触覚処理モジュールの詳細なアーキテクチャを提供する。触覚処理モジュール２００は、ハードウェア、ソフトウェアとして、またはハードウェアとソフトウェアの組み合わせとして実装され得る。
【００８６】
触覚処理モジュール２００は、触覚出力を生成するための２つの動的プロセッサを示している。第１の動的プロセッサおよび第２の動的プロセッサは、それぞれ、ノイズゲートおよびコンプレッサとして示されている。詳細と明確さのために、動的プロセッサは、動的プロセッサの機能に基づいて名前が付けられている。３つ以上のノイズゲートまたは３つ以上のコンプレッサを使用した他の実装も可能である。
【００８７】
触覚処理モジュール２００は、入力音声信号１６２を受信して、触覚信号を出力として生成する。入力音声信号１６２は、アナログもしくはデジタル信号またはデジタルデータであり得る。入力音声信号１６２は、サンプリングされたデジタル信号、モノフォニックデジタル信号、ステレオフォニックデジタル信号、クアドラフォニックデジタル信号、または他のタイプのサンプリングされたデジタル信号である。
【００８８】
入力音声信号１６２は、前処理モジュール１６４に渡される。前処理モジュール１６４は、入力音声信号１６２を処理し、それをさらなる処理のために適切な形式に変換する。例えば、前処理モジュール１６４は、ダウンサンプラモジュール、アナログデジタル（Ａ／Ｄ）変換器モジュールおよび他のモジュールを含むことができる。受信された入力音声信号１６２がアナログ信号である場合、アナログデジタル（Ａ／Ｄ）変換器モジュールを利用して、アナログ信号をデジタル音声データストリームに変換することができる。同様に、ダウンサンプラモジュールは、入力音声信号１６２を処理するために、入力音声信号１６２をより低いサンプリングレートにダウンサンプリングする。例えば、４４．１ＫＨｚでサンプリングされた入力デジタル音声データは４．９ＫＨｚにダウンサンプリングされる。好ましくは、前処理モジュール１６４で受信されたデジタル信号は、入力音声信号１６２のダウンサンプリングをバイパスするために４ＫＨｚ未満でサンプリングされるべきである。入力音声信号１６２がダウンサンプリングを必要としない場合、入力デジタル信号１６２を、ノイズゲートモジュール２０６に直接供給することができる。
【００８９】
ノイズゲートモジュール２０６は、サイドチェーンモジュール２０８Ａに関連付けられている。ノイズゲートモジュール２０６の主な機能は、入力音声信号１６２のノイズを低減することである。前処理モジュール１６４の出力は、ノイズゲートモジュール２０６およびサイドチェーンモジュール２０８Ａに同時に渡される。サイドチェーンモジュール２０８Ａは、他のモジュールとは別に、検出器モジュール、閾値モジュール、ローパスフィルタモジュールを含む（図２には示されていない）。閾値は、閾値モジュールにプログラムできる。閾値は、分析モジュール１７０によってリアルタイムで動的に制御される。分析モジュール１７０は、１つまたは複数の制御パラメータを閾値モジュールに渡して、ノイズゲートモジュール２０６内の閾値を調整する。一例では、分析モジュール１７０は、入力音声信号１６２を分析して、入力信号に存在するノイズの量を確認し、それに応じて、サイドチェーンモジュール２０８Ａに関連する閾値モジュールの閾値を変調するために少なくとも１つの制御パラメータを渡す。
【００９０】
別の例では、閾値を、一定の時間間隔でサイドチェーンモジュール２０８Ａからの関数呼び出しによって設定することができる。例えば、閾値を設定する関数呼び出しは、１０ミリ秒ごとに開始できる。分析モジュール１７０は、関数呼び出しに応答して、サイドチェーンモジュール２０８Ａに閾値を設定するための１つまたは複数のパラメータを渡す。サイドチェーンモジュール２０８Ａによって分析モジュール１７０に対して行われる関数呼び出し間の間隔は、時間的に１ミリ秒から２００ミリ秒まで変化する。
【００９１】
サイドチェーンモジュール２０８Ａに関連する閾値モジュールによって分析モジュール１７０に対して行われる関数呼び出しは、整数値、浮動小数点値、二重値、メモリへの参照、サブルーチン、関数、またはポインタを返すことができる。これらの用語は、Ｃ、Ｃ＋＋、ＪＡＶＡ、ＪａｖａＳｃｒｉｐｔ、その他のプログラミング言語などのプログラミング言語でよく知られている。
【００９２】
あるいは、分析モジュール１７０は、適切な時間間隔でサイドチェーンモジュール２０８Ａに関連する閾値モジュールへの関数呼び出しを実行して、閾値を設定することができる。
【００９３】
閾値は、ソフトウェアユーザインタフェースまたはハードウェアスイッチもしくはダイヤルを介してユーザがアクセスできるプリセットコントロールを使用して設定され得る。
【００９４】
ノイズゲートモジュール２０６は、閾値に基づいて受信信号の利得を変調する。閾値は、分析モジュール１７０によって提供されるパラメータに基づいてサイドチェーンモジュール２０８Ａに関連付けられている閾値モジュールによって調整される。分析モジュール１７０は、関数呼び出しによってサイドチェーンモジュール２０８Ａに関連付けられた閾値モジュールの要求を受信する。関数呼び出しは、閾値を設定するために１つまたは複数の制御パラメータを要求する。サイドチェーンモジュール２０８Ａに関連する検出器モジュールは、ノイズゲートモジュール２０６で受信された入力信号を検出して、ノイズゲートモジュール２０６内の信号に適用される利得を調整する。入力音声信号１６２が閾値を超えると、検出器モジュールがアクティブになる。次に、検出器モジュールは、利得係数をノイズゲートモジュール２０６に適用して、入力音声信号１６２を減衰させるかまたは渡す。入力音声信号１６２は、適用された利得に応じて、利得係数によって減衰または増幅される。利得係数は０から１の間で設定され、閾値もプログラミング時に所定の値に設定されるか、または入力音声信号１６２に関連するさまざまなパラメータに応じて動的に変更され得る。閾値はプログラムされて所定の値に設定され、利得係数は０から１の間に設定される。閾値を動的に変更すること、閾値を事前設定すること、インタフェースを使用して閾値を選択することなどの他の変形および実装は、本発明の範囲内にある。
【００９５】
ノイズゲート２０６は、サイドチェーンモジュール２０８Ａに関連して利得係数／利得低減を適用することによって、入力音声信号１６２を減衰させる。閾値モジュールの閾値は、（マイナス）−２０ｄＢの値に設定され得る。入力音声信号１６２は、−２０ｄＢを超える利得に対して、または入力音声信号１６２が閾値を超えたときに完全に渡される。しかしながら、入力音声信号１６２が閾値、すなわち−２０ｄＢを下回る場合、入力信号は減衰され、１未満の利得係数が適用される。「利得係数」は、「減衰係数」とも呼ばれる。利得係数の値は、０から１の間で変化する。例えば、利得係数は、０．５、０．７５、０．８１、０．９３などの１０進値である。
【００９６】
閾値モジュールに関連付けられたデシベル単位の閾値は、他の変形例では−１０ｄＢから−３０ｄＢまで変化する。
【００９７】
分析モジュール１７０を、触覚信号処理２００に関連するさまざまなパラメータを制御または調整するために、ノイズゲートモジュール２０６に関連付けることができる。分析モジュール１７０は、入力音声信号１６２内のトランジェント信号を検出する。トランジェント信号が検出された場合、分析モジュール１７０は、二乗平均平方根（ＲＭＳ）値が入力音声信号１６２のＲＭＳ値に音声信号ピークを追加することを一時的に停止する。このインスタンスでＲＭＳ信号値はゼロ（０）に設定されるか、トランジェントが検出されるとＲＭＳ値はゼロ（０）にリセットされる。続いて、分析モジュール１７０は、２つの異なる計算を実行し、すなわち、（ａ）最後の１秒間に入力音声信号１６２からデシベル単位のＲＭＳ値を分析し、ここで、ＲＭＳ値は、１秒の期間にわたって数回サンプリングされ、その後、平均化されて平均値を取得する、（ｂ）入力音声信号１６２の最後の１０秒間のデシベル単位のピーク信号値をチェックする。次に、分析モジュール１７０は、（ａ）最後の１秒間のデシベル単位の計算されたＲＭＳ値にデシベル単位の事前定義された定数値を追加し、（ｂ）最後の１０秒間に得られたデシベル単位の計算された信号ピーク値からデシベル単位の事前定義された定数値を減算する。事前定義された定数は６ｄＢであることが好ましいが、他の実装では変化する可能性もある。続いて、２つの値、すなわち、（ａ）および（ｂ）で計算された値が比較され、２つの値の最小値が、ノイズゲート２０６での閾値として設定される。例えば、分析モジュール１７０によって計算された二乗平均平方根値が−１８ｄＢであり、計算されたピーク信号値が−２ｄＢである場合、分析モジュール１７０は、ＲＭＳ値に＋６ｄＢを加える、すなわち−１８ｄＢ＋６ｄＢ＝−１２ｄＢである。同様に、分析モジュール１７０は、ピーク値から６ｄＢを差し引く、すなわち、−２ｄＢ−６ｄＢ＝−８ｄＢである。２つの値の最小値は、ノイズゲートでの閾値を設定するために利用される。
【００９８】
ＲＭＳ値は１０ミリ秒ごとに計算され、最後の１秒間に計算されたすべての値の平均が６ｄＢ利得に追加されるように決定される。その他の変形例には、最後の１秒間に計算されたすべての値の中央値を計算し、それらを６ｄＢ利得に追加することが含まれる。同様に、ＲＭＳ値は５ミリ秒ごとに計算でき、すべての値の二乗平均平方根を計算して６ｄＢ利得に追加できる。例えば、別の変形例は、二乗平均平方根の値が１秒間に２〜１０回計算されることである。別の実装形態では、二乗平均平方根値は、１秒から１０秒まで変化する事前定義された時間に対して計算される。
【００９９】
あるいは、別の例では、ピーク信号値は、事前定義された時間内に等しい時間間隔で計算される。例えば、ピーク信号値は毎秒計算され、最大値がピーク信号値として採用される。
【０１００】
デシベル単位の事前定義された定数値は６ｄＢに設定されるが、別の変形例では、入力音声信号１６２の特性に応じて、事前定義された定数は６ｄＢから２０ｄＢの間で設定され得る。入力音声信号１６２の特性には、振幅、周波数、および位相が含まれる。分析モジュール１７０は、デジタル信号処理チェーンに干渉することなく、ノイズゲート２０６モジュールおよび関連するサイドチェーンモジュール２０８Ａのさまざまなパラメータを制御および調整する。
【０１０１】
ノイズゲート２０６からの出力信号は、低減されたノイズレベルを有し、これは、前処理モジュール１６４からの信号のダイナミックレンジを縮小するためにコンプレッサモジュール２１２に渡される。同時に、ノイズゲート２０６からの出力信号は、ドライ／ウェットモジュール１６８にも渡される。ドライ／ウェットモジュール１６８はまた、前処理モジュール１６４からの信号を受信し、ノイズゲート２０６および前処理モジュール１６４からの出力信号を、事前定義された比率（「ドライ／ウェット比」と呼ばれる）でミキシングする。
【０１０２】
コンプレッサモジュール２１２は、最も音が大きな部分と最も静かな部分との間のダイナミックレンジを縮小する。コンプレッサモジュール２１２は、デジタル音声データ／信号のより音の大きな部分を圧縮し、より静かな部分を増幅する。前処理モジュール１６４からの出力信号もサイドチェーンモジュール２０８Ｂに同時に渡される。サイドチェーンモジュール２０８Ｂは、コンプレッサモジュール２１２内の入力音声信号１６２を制御および調整するための検出器モジュール、閾値モジュール、および他のモジュールを備える。サイドチェーンモジュール２０８Ｂは、前処理モジュール１６４から音声信号を受信する。サイドチェーンモジュール２０８Ｂに関連する閾値モジュールは、閾値を設定するようにプログラムされている。受信信号が閾値を超えると、検出器モジュールがアクティブになる。起動時に、検出器は、コンプレッサモジュール２１２で処理されている入力音声信号１６２の圧縮をトリガする。例えば、受信信号の振幅が閾値を超える場合、検出器が作動し、コンプレッサモジュール２１２は、受信信号の振幅を特定の量だけ減少させる。圧縮率は、圧縮の量を定義する。入力音声信号１６２が閾値レベルを下回ると、検出器は非アクティブ化され、コンプレッサモジュール２１２で処理された入力音声信号１６２は、圧縮なしで渡される。圧縮に加えて、コンプレッサモジュール２１２は、分析モジュール１７０によって事前にプログラムされた、または動的に制御された利得係数によって入力音声信号１６２を増幅する。このシナリオでは、コンプレッサモジュール２１２は、利得を適用し、閾値を下回る受信信号を増幅する。
【０１０３】
分析モジュール１７０は、コンプレッサモジュール２１２に適用される利得を制御する。コンプレッサモジュール２１２は、分析モジュール１７０に関数呼び出しを行い、コンプレッサモジュール２１２に適用される利得を設定するための１つまたは複数のパラメータを要求する。要求に応答して、分析モジュール１７０は、利得を設定するためにコンプレッサモジュール２１２に１つまたは複数のパラメータを提供する。１つまたは複数のパラメータは、プログラミング言語の分野で知られているように、関数呼び出し、サブルーチン呼び出し、プロシージャ呼び出し、またはサブプロシージャによって提供される。あるいは、分析モジュール１７０からコンプレッサモジュール２１２に返される１つまたは複数のパラメータは、フロート、ダブル、整数、ポインタ、またはメモリへの参照などのデータ型の変数であり得る。
【０１０４】
コンプレッサモジュール２１２およびサイドチェーンモジュール２０８Ｂは、入力音声信号１６２を変調するためにいくつかの制御パラメータを利用して、触覚出力／体験を生成する。これらのパラメータには、閾値、圧縮率、アタックタイム、リリースタイム、ニー、メイクアップ利得、またはその他のタイプのパラメータが含まれる。例えば、ボーカル音声には、聞き取りにくい単語が含まれている場合がある。コンプレッサモジュール２１２が、ボーカルがはっきりと聞こえるようなレベルに設定されている場合、より低い聞き取りにくい単語は省略される可能性が高い。同様に、圧縮モジュール２１２が、より低いレベルの聞き取りにくい単語がはっきりと聞こえるレベルに設定されている場合、ボーカル信号は音声信号を上書きする。最高の触覚体験を提供できる出力信号を生成するには、パラメータを適切に組み合わせる必要がある。したがって、ユーザ体験を向上させる触覚出力を生成するには、パラメータ値を設定および最適化する必要がある。
【０１０５】
コンプレッサモジュール２１２は、ダイナミックレンジを縮小し、入力音声信号１６２に利得を適用するための少なくとも１つのパラメータを有する。少なくとも１つのパラメータは圧縮率である。圧縮は、入力音声信号１６２のピーク値を低減する圧縮比によって定義される操作制御である。圧縮率が高いほど、音声信号のピークの減少が大きくなる。圧縮率は、プリセット値、定数値、デジタル音声データに依存する値、または少なくとも１つの所定の係数に応じて動的に変化する変数であり得る。例えば、係数は、時間、入力デジタル音声データ、入力デジタル音声データの振幅、およびその他のいくつかのパラメータである。
【０１０６】
さらに、コンプレッサモジュール２１２は、ダイナミックレンジを縮小し、入力音声信号１６２に利得を適用するための少なくとも１つの別のパラメータを有する。少なくとも１つのパラメータは閾値である。閾値は、コンプレッサモジュール２１２の圧縮をトリガする。閾値が増加すると、入力音声信号１６２のかなりの部分が閾値を下回り、したがって、圧縮は適用されない。閾値レベルが減少するにつれて、より多くの入力音声信号１６２が閾値レベルを超え、圧縮が適用される。閾値レベルは、少なくとも１つの係数に依存する可能性がある。係数は、デジタル音声データ、アナログ信号の振幅、デジタル音声データの振幅、音声信号のタイプ、アクチュエータの周波数特性、またはその他のパラメータである。
【０１０７】
さらに、コンプレッサモジュール２１２は、ダイナミックレンジを縮小し、入力音声信号１６２に利得を適用するために、少なくとも１つの他のパラメータを有する。少なくとも１つのパラメータは利得制御である。コンプレッサモジュール２１２は、分析モジュール１７０によって提供される少なくとも１つのパラメータに基づいて利得を適用する。圧縮の程度は、入力利得制御を用いて入力音声信号１６２を調整することによって制御される。利得制御は、入力音声信号１６２の低周波数成分を増幅して、触覚処理のために音声信号を正規化することができる。
【０１０８】
分析モジュール１７０は、コンプレッサモジュール２１２およびサイドチェーンモジュール２０８Ｂに関連付けられている。分析モジュール１７０は、サイドチェーンモジュール２０８Ｂのサブベース制御を変調することによって、コンプレッサモジュール２１２の利得を間接的に調整する。分析モジュール１７０は、入力音声信号１６２内のトランジェント信号を検出し、５秒から６０秒まで変化する所定の時間の間、入力音声信号１６２内の音声ピークの発生を監視する。分析モジュール１７０は、最後の１０秒間の信号ピークの発生を計算し、６ｄＢを減算し、導出された値をサイドチェーン２０８Ｂに渡して、コンプレッサのサイドチェーンサブベース制御を変化させる。
【０１０９】
閾値は、範囲、つまり、開いた閾値と閉じた閾値との間の閾値として定義することもできる。あるいは、閾値レベルはマルチレベルの閾値である。
【０１１０】
ノイズゲートモジュール２０６およびコンプレッサモジュール２１２はまた、それぞれ、サイドチェーンモジュール２０８Ａおよびサイドチェーンモジュール２０８Ｂとも関連付けられ、サイドチェーンモジュール２０８とも呼ばれる。サイドチェーンモジュール２０８Ａおよびサイドチェーンモジュール２０８Ｂは、機能が同一であってもよいし、異なる機能を提供してもよい。例えば、サイドチェーン２０８Ａモジュールは、ノイズゲートモジュール２０６の動作を制御するために事前にプログラムされている。別の例では、サイドチェーン２０８Ｂモジュールは、連続デジタル音声データのチョッピングを制御するようにプログラムされている。
【０１１１】
サイドチェーンモジュール２０８の実装のための異なるタイプの変形例を提供することができる。変形の例には、ノイズゲート２０６の開閉がデジタル音声データによって制御されないが、ソフトウェアコード、命令セット、プログラムされた音声コントローラ、および統合された回路によって事前にプログラムおよび制御されるトランスゲートが含まれる。
【０１１２】
サイドチェーンモジュール２０８Ａまたはサイドチェーンモジュール２０８Ｂは、ユーザの全体的な触覚体験を強化するために、少なくとも１つのバンドパスフィルタまたは少なくとも１つのローパスフィルタを含む。これらのフィルタを含めることは、サウンドの音質には影響しないが、サイドチェーンモジュール２０８Ａおよび２０８Ｂの応答には影響する。例えば、フィルタを含めることにより、コンプレッサモジュール２１２または関連するノイズゲート２０６が、トムトラック上でシンバルを処理している間に誤ったトリガを生成することを防止する。
【０１１３】
ドライ／ウェットモジュール１６８のドライ／ウェット比設定は、ロータリスイッチ、デジタルスイッチ、アナログスイッチ、インテリジェントモジュールまたは他のタイプの可変スイッチであるユーザインタフェースを使用して制御可能である。ドライ／ウェットモジュール１６８の所定の設定は、ユーザによって制御される設定、ユーザによって頻繁に使用される設定、入力デジタル音声データの分析に基づく自動設定、または事前にプログラムされた設定もしくは他のタイプを有するファジー論理などのさまざまなパラメータに基づく。
【０１１４】
サイドチェーンモジュール２０８Ｂは、コンプレッサモジュール２１２の入力音声信号１６２のレベルを監視して、コンプレッサモジュール２１２の応答を変調する。別の変形例では、サイドチェーンモジュール２０８Ｂは、入力音声信号１６２とは異なる別個の外部入力信号源を備えている。一実装形態では、ダンスミュージックは、同じ周波数範囲を占めるキックとベースを有する場合がある。したがって、触覚体験を向上させるには、キックとベースの両方の効果を強調することが不可欠になる。触覚処理モジュール２００は、キックをサイドチェーンモジュールへの入力として利用し、ベースをコンプレッサモジュールへの入力として利用して、キックが打たれたときにベースをダックさせ、それによってその周波数範囲での位相および混濁を回避する。
【０１１５】
コンプレッサモジュール２１２からの出力信号は、エンベロープフォロワモジュール１７２および共振モジュール１７８に同時に渡される。エンベロープフォロワモジュール１７２は、双極信号を単極信号に変換する。さらに、エンベロープフォロワモジュール１７２は、入力波形を歪めることなく、高周波デジタル音声データの低周波デジタル音声データへの変動を低減する。例えば、エンベロープフォロワモジュール１７２は、高周波デジタル音声データのレプリカである低周波信号を出力として生成する。あるいは、エンベロープフォロワ１７２は、高周波デジタル音声データを低周波アナログ音声データに類似させる制御信号を生成する。エンベロープフォロワモジュール１７２の出力は、低周波デジタルまたはアナログ信号であり、これは、コンプレッサモジュール２１２から受信された入力デジタル音声データの低周波エンベロープである。エンベロープフォロワモジュール１７２によって処理される低周波信号は、フィルタリングを必要とするリップルを有し得る。低周波デジタル音声データで生成されたリップルは、低周波デジタルまたはアナログ音声データを平滑化するために利用されるデジタルまたはアナログフィルタを利用してフィルタ処理される。さらに、低周波デジタル音声データの正確なレプリカを滑らかにして再生するために、一連のフィルタを使用することもできる。低周波デジタル音声データの平滑化は、応答性に影響を与える可能性がある。本発明は、さまざまな技術を利用して、エンベロープフォロワモジュール１７２によって生成される低周波デジタル音声データの平滑化および応答性のバランスをとる。
【０１１６】
エンベロープフォロワモジュール１７２の利得は、分析モジュール１７０によって変調される。分析モジュール１７０は、入力音声信号１６２を受信し、入力音声信号１６２を分析して、エンベロープフォロワモジュール１７２で処理されている信号に適用される利得を調整する。エンベロープフォロワモジュール１７２は、１つまたは複数のパラメータを呼び出すために、Ｃ、Ｃ＋＋、Ｊａｖａまたは他の任意のプログラミング言語で関数呼び出しを実装することができる。分析モジュール１７０は、関数呼び出しに応答して、１つまたは複数の制御パラメータを提供し、これを利用して、エンベロープフォロワモジュール１７２の利得を設定することができる。関数呼び出しは、１つまたは複数の戻りパラメータを使用して実装され得る。エンベロープモジュール１７２による関数呼び出しに応答する１つまたは複数の戻りパラメータは、フロート、ダブル、整数、ポインタ、またはメモリ位置への参照などであるがこれらに限定されないプリミティブデータ型であり得る。
【０１１７】
エンベロープフォロワモジュール１７２の出力は、固定周波数オシレータモジュール１７４上に重ね合わされる。エンベロープフォロワモジュール１７２からの低周波音声出力信号は、固定周波数オシレータモジュール１７４によって変調される。固定周波数オシレータモジュール１７４は、アクチュエータ１８８の共振周波数の近くまたはその周辺で調整される。複数のアクチュエータが接続されている場合、固定周波数オシレータ１７４の共振周波数は、５０Ｈｚ〜１２０Ｈｚに設定される。異なるアクチュエータの共振周波数は、互いにわずかに異なる場合がある。例えば、ゲーム装置は、１つまたは複数のアクチュエータを有することができ、各アクチュエータは、異なる共振周波数を有する。第１のアクチュエータは６０Ｈｚの共振周波数に設定され、第２のアクチュエータは７２Ｈｚの共振周波数に設定される。この実装では、オシレータモジュール１７４は６０Ｈｚで調整される。代替の実装形態では、オシレータモジュール１７４は、入力データの特性および必要な触覚出力のタイプに応じて、７２Ｈｚまたは６０Ｈｚで調整される。
【０１１８】
所定の周波数は通常６０Ｈｚ前後に設定されている。
【０１１９】
コンプレッサモジュール２１２からの出力信号も同時に共振モジュール１７８に渡される。共振モジュール１７８は、弦、膜、プレート、または他のいくつかの楽器モデルの物理モデルを励起するように構成される。基本的な楽器のシミュレーションは、抑制された低周波数を増幅および強化するための音声信号の修正および強化に役立つ。共振モジュール１７８はまた、他の周波数成分の存在のために抑制された音声信号の低周波数成分を追加する。例えば、共振モジュール１７８は、音声信号内の抑制された低周波数成分を識別し、識別された低周波数成分の基本周波数成分を追加して、ユーザの触覚体験を強化する。別の例では、共振モジュール１７８は、音声信号をシミュレートして、低周波数成分を強調し、より良い触覚体験を作り出す。
【０１２０】
固定周波数オシレータモジュール１７４、共振モジュール１７８、およびドライ／ウェットモジュール１６８の出力は、ミキサモジュール１８０に集約され、合計される。ミキサモジュール１８０は、異なるモジュールからの入力を所定の比率で追加する。
【０１２１】
別の変形例では、分析モジュール１７０は、ノイズゲートモジュール２０６、コンプレッサモジュール２１２、サイドチェーンモジュール２０８Ａおよび２０８Ｂ、共振モジュール１７８、エンベロープフォロワモジュール１７２、および入力音声信号１６２を分析するための他のモジュールに関連付けられて、自動利得制御を提供する。
【０１２２】
分析モジュール１７０は、入力音声信号１６２を受信し、次に、入力音声信号１６２を分析して、図２に示すように、触覚信号処理フロー内の少なくとも１つのパラメータを制御するためのさまざまなパラメータを抽出する。分析モジュール１７０は、コンプレッサモジュール２１２、サイドチェーンモジュール２０８Ａおよび２０８Ｂ、共振モジュール１７８、エンベロープフォロワモジュール１７２および他のいくつかのモジュールに関連する少なくとも１つまたは複数のパラメータを調整するための出力制御信号を生成する。
【０１２３】
ミキサモジュール１８０からの出力信号は、高周波成分をフィルタで除去するローパスフィルタ１８２に渡される。さらに、ローパスフィルタ１８２はまた、信号歪みにつながる高調波を遮断することができる。一実装形態では、ローパスフィルタ１８２は、アクチュエータ１８８からの連続的な触覚応答を回避するために、キックドラムによって生成される低周波数成分とベースギターによって生成される低周波数成分とを区別するように設計され得る。ローパスフィルタモジュール１８２は、一次フィルタ、二次フィルタ、三次フィルタ、または他のタイプのフィルタであり得る。バンドパスフィルタは、不要な低周波数とともに高周波数をフィルタ処理するために利用される。
【０１２４】
ローパスフィルタ１８２の出力信号は、リミッタモジュール１８４に渡される。リミッタモジュール１８４は、出力信号の振幅を制限して、過剰な電圧または電流を渡すことよって引き起こされるアクチュエータ１８８への損傷を回避する。リミッタモジュール１８４は、∞：１の圧縮比を有するタイプのコンプレッサであり得る。出力の閾値は、−３ｄＢの閾値に設定され得る。この場合、入力レベルに関係なく、出力レベルは−３ｄＢに制限される。
【０１２５】
リミッタモジュール１８４からの出力信号を、ベルフィルタ１８６に渡すことができ、これにより、低周波数の範囲にわたってボイスコイルおよび／またはアクチュエータ１８８の周波数応答を改善することができる。調整された共振周波数で応答するように調整された線形共振フィルタとは対照的に、触覚処理モジュール２００は、広い周波数範囲に応答するために利用され、それによってアクチュエータ１８８の触覚応答を強化することができる。これに関して、本明細書で論じられるボイスコイルまたはアクチュエータ１８８は、共振周波数のみに応答するのではなく、広範囲の周波数にわたって動作することができる。これは、参照により本明細書に組み込まれる米国特許出願第１４／８２８９５４号明細書で提供される。ボイスコイルまたはアクチュエータ１８８の周波数応答を拡張するために、ベルフィルタモジュール１８６は、アクチュエータ１８８の共振周波数を減衰させることができる。ベルフィルタモジュール１８６は、周波数ｆ１と周波数ｆ２との間に定義された周波数範囲にわたってプラトーを有する集約曲線と組み合わされた、反転周波数応答を有するアクチュエータ１８８の周波数曲線の正確なレプリカを提供するように設計されている。例えば、ローパスフィルタモジュールに共振周波数ｆがあり、ベルフィルタに周波数ｆの最大抑制がある場合、両方の曲線の合計は、周波数ｆ１と周波数ｆ２との間の平坦な周波数曲線になる。したがって、ローパスフィルタモジュール１８２およびベルフィルタモジュール１８６の全体的な効果は、周波数ｆ１とｆ２との間である広範囲の周波数にわたって応答を生成することである。これにより、広範囲の低周波数で体験する可能性のある触覚応答が強化される。
【０１２６】
検出モジュール１９０は、出力触覚信号を連続的にプローブするベルフィルタモジュール１８６に関連付けられている。検出モジュール１９０はまた、入力音声信号１６２に関連付けられ、入力信号の存在を継続的に検出する。検出モジュール１９０は、ベルフィルタモジュール出力１８６および入力音声信号１６２の両方で信号をプローブし、信号の存在を分析し、ＯＲ論理を利用して、触覚処理システム１００のオン／オフ状態を決定する。信号がベルフィルタモジュール出力１８６または入力音声信号１６２のいずれかで検出されると、検出モジュール１９０は、触覚処理モジュール２００をオン状態に保つ。触覚処理モジュール２００の入力または出力のいずれかで信号が検出されない場合、検出モジュール１９０は、触覚処理モジュール２００を省電力モードに移動させる。検出モジュール１９０は決してオフ状態になることはないが、触覚処理モジュール２００に関連するさまざまなモジュールの状態を制御して電源オン状態または電源オフ状態を制御してバッテリを節約することに留意されたい。本発明の一実施形態では、触覚処理モジュール２００の入力および出力での信号のプロービングは、１マイクロ秒から１０秒の間である。入力音声信号１６２で入力が検出されないが、ベルフィルタモジュール１８６で信号が検出される場合、触覚処理モジュール２００は、省電力モードに入るか、入力を再度プローブする前に、所定の時間待機する。これは、信号処理の遅延のために触覚処理モジュール２００に残っている未処理の触覚信号を渡すために必要である。
【０１２７】
従来のＬＲＡアクチュエータに対するボイスコイルアクチュエータ１８８を使用することの利点は、一例として理解することができる広範囲の周波数にわたって応答を提供することである。通常の線形共振アクチュエータでは、アクチュエータはその共振周波数、例えば７０Ｈｚで動作する。低周波数、例えば５０Ｈｚが、７０Ｈｚの共振周波数で動作する線形共振アクチュエータに供給される場合、触覚応答を生成するために周波数変換／シフトが必要である。この欠陥は、アクチュエータ１８８が周波数シフトを必要とせずに動作することができる周波数範囲を提供することによって、本発明において排除される。有利には、これにより、アクチュエータ１８８は、周波数シフトを必要とせずに、さまざまな周波数範囲にわたって動作することができる。
【０１２８】
図３は、本発明の好ましい実施形態における分析モジュール３００の拡大図を提供する。分析モジュール３００の拡大図は、分析モジュール１７０からなる。分析モジュール１７０は、トランジェント分析モジュールおよび検出モジュール３０４、ピークアナライザモジュール３０６、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８、サイドチェーンモジュール３１０、予測およびインテリジェンスモジュール３１２、検出および閾値モジュール３１４、ならびに利得コントローラモジュール３１６Ａおよび３１６Ｂ（集合的または個別に利得コントローラモジュール３１６と呼ばれる）を含むことができる。
【０１２９】
分析モジュール１７０は、アナログ信号またはデジタル信号のいずれかである入力信号１６２を受信する。受信された入力音声信号は、トランジェント分析および検出モジュール３０４、ピークアナライザモジュール３０６、ならびに入力信号アナライザおよびＲＭＳモジュール３０８に同時に渡される。トランジェント分析および検出モジュール３０４は、入力音声信号１６２におけるトランジェントの存在を分析する。トランジェントは、サウンドの状態の突然の変化によって引き起こされるエネルギーの短いバーストであり、非調和的なアタックフェーズでサウンドの特性の速い変化を示す。さらに、信号のトランジェントには、高度な非周期成分とより高い高周波が含まれる。信号にトランジェントが存在すると、サウンドの出力品質が歪められる。トランジェント分析および検出モジュール３０４は、複数のエンベロープフォロワを使用して実装される。例えば、分析トランジェント検出モジュール３０４は、ローパスフィルタ（オプション）、高速エンベロープフォロワ、低速エンベロープフォロワ、およびトランジェント感度アナライザを含むことができる。
【０１３０】
本発明の一実施形態では、高速エンベロープフォロワおよび低速エンベロープフォロワを、ハードウェアまたはソフトウェアとして実装することができる。ソフトウェアの実装では、高速のアタックタイムと高速のリリースタイムを利用して、高速エンベロープフォロワを実装できる。同様に、低速のリリースタイムを使用して低速エンベロープフォロワを実装できる。例えば、アタックタイムとリリースタイムが速いと、高速エンベロープフォロワが入力波形を追跡できるようになる。高速エンベロープフォロワは、入力波形のレプリカを近似する。同様に、低速エンベロープフォロワは速いアタックタイムと遅いリリースタイムを有し、これにより、低速エンベロープフォロワは最初に波形の立ち上がりを追跡できるが、立ち下がり時間は遅くなり、ランプタイプの減衰が発生する。さらに、高速エンベロープフォロワと低速エンベロープフォロワがハードウェアとして実装されている。同じことを実現する１つの方法は、高速エンベロープフォロワには小さなコンデンサ値を使用し、低速エンベロープフォロワには大きなコンデンサ値を使用することである。集積回路、タイミング回路、およびＭＯＳＦＥＴを使用して他の実装が可能である。
【０１３１】
高速エンベロープフォロワは、アタック係数を使用するソフトウェアとして実装される。アタック係数は、１つまたは複数のパラメータに比例する可能性がある。アタック係数は、サンプルレート、ミリ秒単位のアタック時間、およびその他のパラメータに比例する。あるいは、アタック係数は、アタック時間、サンプルレート、および比例定数を有するその他のパラメータに反比例する可能性がある。同様に、低速エンベロープフォロワは、リリース係数を使用するソフトウェアとして実装される。リリース係数は、リリース時間、サンプル速度、および他の同様のパラメータなどであるがこれらに限定されない１つまたは複数のパラメータに比例する。あるいは、リリース係数は、リリース時間、サンプル速度などに反比例し、比例定数を有する。例えば、アタック係数は０．９４９１２６８５７９６であり得、この際、アタック時間は２ミリ秒、サンプリングレートは４４１００であり、比例定数は入力波形の特性に依存する。同様に、別の例では、リリース係数は、リリース時間が３０ミリ秒、サンプリングレートが４４１００の場合、０．９９６５２５１９６８９になり得る。高速エンベロープフォロワの出力値は、アタック係数に過去および現在の入力音声データポイントを掛けることで計算できる。同様に、低速エンベロープフォロワの出力値は、リリース係数とリリース時間を使用して計算できる。
【０１３２】
トランジェント分析および検出モジュール３０４は、触覚信号の処理中に異なるパラメータを制御するために、入力音声信号１６２のトランジェントを検出することを任せられている。
【０１３３】
ピークアナライザモジュール３０６は、ローパスフィルタ、ピーク検出器、および他のモジュールを含むことができる。ピーク検出器モジュール３０６の主な機能は、入力音声信号１６２のピークを識別することである。
【０１３４】
入力信号アナライザおよびＲＭＳジェネレータモジュール３０８は、信号を分析し、入力音声信号１６２のＲＭＳ値を計算するタスクを実行する。計算されたＲＭＳ値は、分析モジュール１７０に関連する動的プロセッサの閾値および利得を変調するために利用され得る。
【０１３５】
入力音声信号１６２のトランジェント、信号ピーク、およびＲＭＳ値が、トランジェント分析および検出モジュール３０４、ピークアナライザモジュール３０６、ならびに入力信号アナライザおよびＲＭＳジェネレータモジュール３０８によって分析されると、これらは、触覚処理に関連する１つまたは複数の動的プロセッサおよびエンベロープモジュールの利得を設定するためのサイドチェーンモジュール３１０に渡される。例えば、一実装形態では、サイドチェーンモジュール３１０は、トランジェント分析および検出モジュール３０４、ピークアナライザモジュール３０６、ならびに入力信号アナライザおよびＲＭＳジェネレータモジュール３０８から受信した入力の分析に基づいて、コンプレッサモジュール２１２およびエンベロープフォロワモジュール１７２の利得を設定することができる。
【０１３６】
入力音声信号１６２のＲＭＳ値は、１つまたは複数の動的プロセッサの閾値を設定するために利用される。例えば、検出器および閾値モジュール３１４は、分析されたＲＭＳ値に基づいて、ノイズゲートモジュール２０６で閾値を設定することができる。あるいは、入力音声信号１６２のトランジェント、信号ピーク、およびＲＭＳ値などのパラメータの少なくとも１つを分析して、１つまたは複数の動的プロセッサの閾値または利得を設定することができる。
【０１３７】
予測およびインテリジェンスモジュール３１２は、信号ピーク情報およびＲＭＳ値を、それぞれ、ピークアナライザモジュール３０６ならびに入力信号アナライザおよびＲＭＳジェネレータモジュール３０８から受信する。受信信号のピーク情報およびＲＭＳ値は、サイドチェーンモジュール３１０の利得ならびに検出器および閾値モジュール３１４の閾値を制御するために処理および分析されて、１つまたは複数の動的プロセッサにおける触覚信号処理を調整する。
【０１３８】
一変形例では、分析モジュール１７０は、デジタル信号処理チェーンの前に入力信号を受信する。例えば、入力音声信号１６２は、デジタル信号処理チェーンに供給され、１ミリ秒から１００ミリ秒まで変化し得る所定の時間だけ遅延される。別の変形例は、ルックアヘッドメカニズムを有することができ、入力音声信号１６２は、分析モジュール１７０に供給され、その後、デジタル信号処理チェーンに渡される。別の変形例では、ルックアヘッドメカニズムは、分析モジュール１７０に予測アルゴリズムを提供することによって実装される。予測アルゴリズムは、入力音声信号１６２をリアルタイムで監視し、少なくとも１つの動的プロセッサに提供されるパラメータを予測する。
【０１３９】
サイドチェーンモジュール３１０の出力は、利得コントローラモジュール３１６Ａに渡されて、少なくとも１つの動的プロセッサの利得をリアルタイムで調整する。同様に、検出器および閾値モジュール３１４の出力は、少なくとも１つの動的プロセッサの利得を設定するために、利得コントローラモジュール３１６Ｂに渡される。
【０１４０】
トランジェント分析および検出モジュール３０４は、入力音声信号１６２におけるトランジェントの存在を検出し、触覚処理におけるトランジェントの影響を制御するためのパラメータをデジタル信号処理チェーンに提供する。トランジェント分析および検出モジュール３０４は、ローパスフィルタ、高速エンベロープフォロワ、ならびに低速エンベロープフォロワおよびトランジェントスコアジェネレータを含む。ローパスフィルタはオプションである。高速エンベロープフォロワおよび低速エンベロープフォロワは、入力音声信号１６２におけるトランジェントの検出を可能にする。低速エンベロープフォロワと高速エンベロープフォロワによって処理された信号の平均振幅が計算される。平均振幅間の差は、トランジェントの存在を計算するために使用される。入力音声信号１６２のトランジェントは、トランジェントスコアに変換される。トランジェントスコアは、トランジェントバイナリを導出するために利用される。さらに、トランジェント分析および検出モジュール３０４は、トランジェント閾値を受信する。トランジェントスコアがトランジェント閾値よりも大きい場合、トランジェントバイナリは１に設定され、それ以外の場合、トランジェントバイナリは０に設定される。
【０１４１】
ピークアナライザモジュール３０６は、入力音声信号１６２のピーク信号値を決定する。ピークアナライザモジュール３０６は、トランジェント分析および検出モジュール３０４、入力信号アナライザおよび二乗平均平方根ジェネレータモジュール３０８、サイドチェーンモジュール３１０、ならびに検出器および閾値モジュール３１４に関連付けられている。入力信号は、一定期間のピーク信号値とＲＭＳ値について分析される。一定期間は５秒から１５秒の間で変化するが、一定期間は通常１０秒に設定される。ピーク信号値は、予測およびインテリジェンスモジュール３１２に関連するメモリに格納またはバッファリングされる。
【０１４２】
入力信号アナライザおよび二乗平均平方根ジェネレータモジュール３０８は、一定期間の入力音声信号１６２を分析し、二乗平均平方根値を決定する。二乗平均平方根値は、予測およびインテリジェンスモジュール３１２に関連するメモリにバッファリングまたは格納される。
【０１４３】
予測およびインテリジェンスモジュール３１２は、メモリにバッファリングされたピーク信号値および二乗平均平方根値にアクセスする。予測およびインテリジェンスモジュール３１２に関連するメモリにバッファリングされたピーク信号値および二乗平均平方根値は、ノイズゲートモジュール２０６またはコンプレッサモジュール２１２に渡される１つまたは複数の制御パラメータを計算するために利用される。一変形例では、例外的な高ノイズを処理するために事前に格納された値が、触覚処理モジュールが触覚出力を処理できるようにするために、予測およびインテリジェンスモジュール３１２によって利用される。
【０１４４】
予測およびインテリジェンスモジュール３１２は、遅延なしにパラメータを瞬時に更新して、分析モジュール１７０がそれをデジタル信号処理チェーンに渡すことを可能にする。例えば、時刻ｔ１で、ノイズゲートに渡されるパラメータ値はｘ１，ｘ２，．．．ｘｎであり、コンプレッサに渡されるパラメータ値はｙ１，ｙ２，．．．．ｙｎである。時間ｔ２の別のインスタンスでは、ノイズゲートに渡されるパラメータ値はｑ１，ｑ２，．．．ｑｎであり、コンプレッサに渡されるパラメータ値はｒ１，ｒ２，．．．．ｒｎである。予測およびインテリジェンスモジュール３１２は、これらのパラメータ値をリアルタイムでデジタル信号処理チェーンに渡して、触覚出力を制御する。そのような実装は、待ち時間をほとんど保証せず、強化されたユーザ体験を生成するために入力音声信号１６２のリアルタイム制御を可能にすることに留意されたい。
【０１４５】
図３Ｃは、予測およびインテリジェンスモジュール３１２の異なるモジュールを示している。予測およびインテリジェンスモジュール３１２は、複数のセグメントを備えたメモリ３３０、ブースタモジュール３３８および他のモジュールに関連付けられている。メモリ３３０は、触覚モジュール１０８、メモリ１０２に存在するか、あるいは、クラウド１４０、サーバ１３０、または分散システム１５０に存在する。メモリ３３０は、マイクロチップ、マイクロコントローラ、コンピュータプログラム製品、または触覚処理システムに関連する外部メモリに格納される。さらに、予測およびインテリジェンスモジュール３１２は、アルゴリズムおよび触覚選択モジュール３４０を含む。メモリ３３０は、セグメント３３２、３３４、および３３６などの複数のセグメントに分割されている。例えば、メモリセグメント３３２は、音声波形分析パラメータ３４２を格納し、メモリセグメント３３４は、触覚データ３４４を格納し、メモリセグメント３３６は、予測データアルゴリズム３４６を格納する。メモリセグメント３３２、メモリセグメント３３４、およびメモリセグメント３３６などのメモリセグメントは、表現のみを目的としている。複数のメモリセグメントが存在する場合があり、単一のメモリまたは複数のメモリバンクのいずれかに異なる順序で割り当てられる場合がある。波形分析パラメータ３４２は、入力音声信号１６２の波形特性に関連する情報を格納する。波形特性には、ラウドネス、ピッチ、トーン、伝搬速度、音調、自己相関係数、ゼロ交差率、ピークエンベロープ、オンセット、テンポとメータ、リズム、タイミング、および波長が含まれるが、これらに限定されない。
【０１４６】
同様に、触覚データ３４４は、異なる触覚信号を格納する。触覚データ３４４は、デジタル信号処理チェーンを制御するための、事前に格納された触覚信号または触覚デジタルデータである。あるいは、触覚データ３４４は、触覚体験を生成するための音声信号特性である。好ましくは、触覚データ３４４は、ユーザに触覚体験を提供するためのデジタル値のセットである。
【０１４７】
例えば、触覚データ３４４は、異なる触覚信号に対応するゲーム内の異なるイベントを分類して、所望の触覚効果を生成することによって取得される。分類アルゴリズム、例えば、ランダムフォレストは、触覚体験を生成するためのコンピュータゲームの異なるイベントに対して少なくとも１つの予測データアルゴリズム３４６を訓練するために使用される。触覚体験は、触覚データ３４４として格納される。次に、予測データアルゴリズム３４６は、波形特性の１つまたは複数のパラメータを利用して、触覚データ３４４を予測し、１つまたは複数のアクチュエータを介して触覚体験を生成する。
【０１４８】
別の実装形態では、触覚データ３４４を、予測およびインテリジェンスモジュール３１２によって動的に更新することができる。予測およびインテリジェンスモジュール３１２は、メモリ書き込み操作を可能にするための要求を分析モジュール１７０に送信する。分析モジュール１７０は、予測およびインテリジェンスモジュール３１２が触覚データ３４４をメモリ３３０に書き込むことを可能にする書き込み許可を付与する。予測およびインテリジェンスモジュール３１２は、触覚データ３４４をメモリ３３０に書き込む。あるいは、予測および分析モジュール３１２は、メモリ３３０に直接読み取り／書き込みすることができる。別の変形例では、予測およびインテリジェンスモジュール３１２は、インターネットに接続して、メモリ３３０内のユーザのゲームに関連するサーバ１３０、クラウド１４０、または分散システム１５０から触覚データをダウンロードする。
【０１４９】
別の実装形態では、予測およびインテリジェンスモジュール３１２は、１つまたは複数の動的プロセッサ１６６に適用される利得および／または閾値を計算するための一連の手順／アルゴリズムを実装することによって、およびＲＭＳ値とピーク値を使用することによって、分析モジュール１７０によって生成される瞬間値から学習する。予測およびインテリジェンスモジュール３１２は、最初に、入力音声波形特性に基づいて少なくとも１つの予測データアルゴリズム３４６を選択する。あるいは、予測およびインテリジェンスモジュール３１２は、ゲームのタイプ、ゲームメタデータなどのゲーム属性に基づいて、少なくとも１つの予測データアルゴリズム３４６を選択する。属性が確認できない場合、予測およびインテリジェンスモジュール３１２は、過去１０回のゲームに基づいて最も可能性が高い使用される予測アルゴリズムを使用する。予測およびインテリジェンスモジュール３１２は、リアルタイムデータ、すなわち、ＲＭＳ値、ピーク値、利得、および閾値から学習する。学習プロセスが完了すると、予測アルゴリズムは、１つまたは複数のデジタル信号処理チェーンの利得と閾値を個別に予測できる。これにより、処理のオーバーヘッドが削減され、音声と触覚体験との間のタイムラグが減少する。さらに、予測分析はまた、利得、閾値、プリセットなどの異なるパラメータを設定し、プリセット、デュアルフィルタモジュール、物理的共振モジュール、およびデジタル信号処理チェーンの他のモジュールなどの異なるモジュールを制御するための分析モジュール１７０にルックアヘッドを提供する。
【０１５０】
予測およびインテリジェンスモジュール３１２は、入力音声信号１６２の瞬間ＲＭＳ値およびピーク値を受信して、利得および／または閾値を決定し、動的プロセッサ１６６の少なくとも１つを変調／制御する。さらに、予測およびインテリジェンスモジュール３１２はまた、入力音声信号１６２の瞬間波形特性を受信する。次のステップで、予測およびインテリジェンスモジュール３１２は、入力音声波形特性、ゲームのタイプ、ゲームに埋め込まれたメタデータ、ならびにゲーム内に埋め込まれた音声の手がかり、ゲーム内のさまざまなタイプのイベントの数、イベントの頻度、およびゲームに関連する他のタイプのパラメータなどのその他のパラメータを含む少なくとも１つのパラメータに基づいて、格納された予測データアルゴリズム３４６のリストから最良のアルゴリズムを決定する。次に、予測およびインテリジェンスモジュール３１２は、選択されたアルゴリズムおよび瞬間ＲＭＳ値、ピーク値、および入力音声信号１６２の瞬間波形特性を使用して、触覚出力を予測するようにそれ自体を訓練する。続いて、予測およびインテリジェンスモジュールは、触覚出力を予測して、デジタル信号処理チェーンを制御する。あるいは、予測およびインテリジェンスモジュール３１２は、触覚体験を提供するために、触覚データ３４４を１つまたは複数のアクチュエータに直接渡すことができる。この場合の触覚データ３４４は、広帯域または高解像度の触覚体験を提供するために、異なる触覚信号を格納する。
【０１５１】
別の実施形態では、入力音声信号１６２の瞬間ＲＭＳ値、ピーク値、および瞬間波形特性を使用する予測アルゴリズムのトレーニングはまた、ユーザフィードバックを含む。予測アルゴリズムの学習は、マルチレベルのプロセスである。各レベルで、触覚体験に関してユーザフィードバックが提供される。フィードバックは、最適な触覚体験のために触覚データ３４４を修正するために利用される。予測アルゴリズムのマルチレベルトレーニングが完了すると、予測およびインテリジェンスモジュール３１２は、最適な触覚体験のためにデータの予測を開始できる。予測は、デジタル信号処理チェーン内のパラメータの制御に関連しているか、または予測は、１つまたは複数のアクチュエータへの少なくとも１つの触覚データ３４４を開始する。
【０１５２】
あるいは、予測およびインテリジェンスモジュール３１２は、触覚体験を修正するためのユーザフィードバックを備えている。フィードバックループは、ユーザフィードバックと実際の触覚出力信号を受信する。ユーザフィードバックと実際の触覚出力信号の違いは、最適な触覚体験からの偏差に対応する差動信号である。予測およびインテリジェンスモジュール３１２は、この差動信号を使用して、触覚体験を修正する。例えば、ユーザから提供されるフィードバックはスコアである。スコアは、望ましい触覚体験からの触覚信号の偏差に対応する。ユーザは、触覚体験を定量化するためにスコアを選択する。予測およびインテリジェンスモジュール３１２は、スコアを分析し、触覚体験を最適化するための是正措置を講じる。
【０１５３】
予測およびインテリジェンスモジュール３１２は、出力精度を予測するための規定を有する予測データアルゴリズム３４６からの予測アルゴリズムを実装する。例えば、予測アルゴリズムは、予測精度の信頼水準を提供する。予測アルゴリズムが予測に対して低い信頼水準（０から１のスケールで０．６未満）を有する場合、予測およびインテリジェンスモジュール３１２は、デジタル信号処理チェーンを制御するためのパラメータを提供するために分析モジュール１７０に切り替わる。ただし、信頼水準が０．６より大きい場合、予測およびインテリジェンスモジュールは触覚出力を提供するために有効になる。
【０１５４】
予測されたアルゴリズムを訓練するためのデータセットは、予測およびインテリジェンスモジュール３１２に関連付けられたメモリ３３０に事前に格納される。データセットは、メモリセグメントで提供されるか、クラウド１４０、サーバ１３０、またはネットワークの場所からダウンロードされ得る。予測およびインテリジェンスモジュール３１２は、事前に格納されたデータセットを利用して、触覚出力を予測するようにそれ自体を訓練するか、または波形分析パラメータ３４２を触覚データ３４４と相関させることができる。この相関関係は、触覚出力のリアルタイム入力音声信号を予測するのに役立つ。別の実装形態では、予測およびインテリジェンスモジュール３１２は、波形分析パラメータ３４２およびメモリ３３０に事前に格納されたデータを利用して、それ自体を訓練し、触覚出力の予測を学習する。予測およびインテリジェンスモジュール３１２は、音声波形特性および他のパラメータを決定して、触覚出力を予測するためにそれ自体を訓練するための最良および／または最も近いデータセットを選択する。さらに、予測およびインテリジェンスモジュール３１２は、触覚データの自己訓練および分類に利用される少なくとも１つの予測アルゴリズムを決定する。次に、予測およびインテリジェンスモジュール３１２は、音声から各触覚イベントを決定し、予測データアルゴリズム３４６から少なくとも１つの予測アルゴリズムを利用し、１つまたは複数のアクチュエータに提供される触覚データ出力３４４を識別する。
【０１５５】
メモリ３３０、アルゴリズムおよび触覚選択モジュール３４０は、ブースタモジュール３３８に直接関連付けられている。ブースタモジュール３３８は、１つまたは複数の二次アクチュエータ（ブースタアクチュエータとしても知られている）を駆動する。ブースタモジュール３３８の主な機能は、ブースタアクチュエータを駆動することによってランプアップするか、または追加のブーストを提供することである。
【０１５６】
予測およびインテリジェンスモジュール３１２は、メモリ３３０に事前に格納された触覚データおよび音声信号の波形特性から決定されたパラメータを利用して、触覚出力を予測するための少なくとも１つの予測アルゴリズムを訓練する。予測された触覚体験は、触覚データ３４４と相関されて、予測された触覚データ３４４と波形分析特性３４２との間のリンクを形成する。計算時間を短縮するために、予測アルゴリズムは、音声信号と触覚データ３４４との間のテーブルを維持して、１つまたは複数のアクチュエータに渡す。信頼水準が高い（＞０．６）特定の状況では、予測アルゴリズムは、メモリ３３０に事前に格納された触覚データ３４４を１つまたは複数のアクチュエータ、例えば、アクチュエータ１８８に直接ストリーミングする。
【０１５７】
さらに別の実装形態では、予測およびインテリジェンスモジュール３１２は、ＲＭＳ値、ピーク値、ピッチ、ラウドネス、音調、自己相関係数、ゼロ交差率、ピークエンベロープ、オンセット、テンポとメータ、リズム、タイミング、および波長を含むがこれらに限定されないパラメータのすべてまたは一部を単独で、または組み合わせて利用して、触覚データを予測する。さらに、メモリ３３０に格納されたトレーニングデータおよび／または予測データアルゴリズム３４６として格納された予測アルゴリズムの選択は、ＲＭＳ値、ピーク値、ピッチ、ラウドネス、音調、自己相関係数、ゼロ交差率、ピークエンベロープ、オンセット、テンポとメータ、リズム、タイミングと波長、およびその他の入力音声信号の特性に依存する。
【０１５８】
一実装形態の予測およびインテリジェンスモジュール３１２は、デジタル信号処理チェーンを制御するために、リアルタイムで利得および／または閾値を予測する。さらに、予測およびインテリジェンスモジュール３１２は、音声信号特性を受信する。音声信号特性は、時間の各インスタンスでリアルタイムに計算される。予測およびインテリジェンスモジュール３１２は、音声信号特性ならびに閾値および／または利得のリアルタイム計算を分析して、リアルタイムで機械学習を実行する。続いて、予測およびインテリジェンスモジュール３１２は、強化された触覚出力を生成するためにデジタル信号処理チェーンに提供される利得および／または閾値を予測する。
【０１５９】
予測およびインテリジェンスモジュールは、線形適応フィルタ、カーネル適応フィルタ、ロジスティック回帰、通常の最小二乗回帰、単純ベイズ分類器、アンサンブル法、サポートベクターマシン、決定ツリー、ブーストツリー、ランダムフォレスト、ニューラルネットワーク、最近傍、ガウス混合モデル、コンポーネント分析、およびその他のタイプのアルゴリズムなどの線形分類器を含む教師あり学習用のさまざまなアルゴリズムを実装できる。
【０１６０】
予測およびインテリジェンスモジュール３１２は、最適な触覚体験のためにデジタル信号処理チェーンに渡される、ゲームコントローラ、ジョイスティックなどの任意のゲーム装置に関連するボタン押下イベントに対応するパラメータを格納する。例えば、ゲームコントローラは、ビデオゲームの爆発に対応するボタン押下イベントを提供する。ボタン押下イベントおよび関連するパラメータは、分析モジュール１７０に渡される。分析モジュール１７０は、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８を介して入力音声信号１６２を処理して、音声信号の異なる特性を決定する。例えば、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８は、ピーク信号値、ＲＭＳ値、および他の音声信号特性を決定する。これは、予測およびインテリジェンスモジュール３１２によってゲームパッドまたはゲームコントローラから受信されたボタン押下イベントの処理と並行して行われる。入力信号アナライザおよびＲＭＳジェネレータモジュール３０８によって決定されたパラメータ、ならびに予測およびインテリジェンスモジュール３１２に事前に格納された値を使用して生成されたパラメータは、予測アルゴリズムを使用して評価され、触覚体験のためのデジタル信号処理チェーンに渡される最適値に到達する。あるいは、予測およびインテリジェンスモジュール３１２は、入力音声信号を使用して決定されたパラメータまたは事前に格納された触覚データ３４４パラメータのいずれかを利用して、デジタル信号処理チェーン内の少なくとも１つまたは複数の動的プロセッサを制御することを決定する。別の実装形態では、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８によって決定されたパラメータと、予測およびインテリジェンスモジュール３１２に事前に格納された値を使用して生成されたパラメータは、予測アルゴリズムを使用して評価され、エンベロープフォロワ、プリセット値、デュアルフィルタのカットオフ周波数およびその他のパラメータを決定または制御する。
【０１６１】
予測およびインテリジェンスモジュール３１２は、少なくとも１つの分類アルゴリズムを実装する。予測データアルゴリズム３４６から選択された分類アルゴリズムは、最初に、メモリ３３０に事前に格納されたデータセットを使用して訓練される。予測およびインテリジェンスモジュール３１２は、最初に、学習プロセスを開始することによって、事前に格納されたデータおよび波形分析パラメータデータ３４２から学習する。予測アルゴリズムが学習プロセスを完了すると、学習を使用して触覚データを分類し、触覚体験を提供する。例えば、分類アルゴリズムは、デジタル信号処理チェーン内の１つまたは複数の動的プロセッサに提供されるＲＭＳ値およびピーク値などの入力音声信号１６２の特性に基づいて、利得および／または閾値を分類することができる。予測およびインテリジェンスモジュール３１２は、教師なしアルゴリズム、例えば、生成的な確率モデルであるディープビリーフネットワークを実装する。ディープビリーフネットワークは、複数の隠れ層を有する可視層で構成される深層学習アルゴリズムである。予測およびインテリジェンスモジュール３１２は、メモリ３３０に事前に格納されたデータを使用して、少なくとも１つの可視層を訓練する。学習プロセスは隠れ層に伝播され、隠れ層は可視層から統計的関係を学習する。一実装形態では、ディープビリーフネットワークは、音声信号特性および事前に格納されたデータを使用する貪欲な層ごとの訓練を使用して訓練され、触覚データ３４４に格納された最も近い触覚体験を予測することができる。貪欲な層ごとの訓練は、訓練プロセス中にボトムアップアプローチに従う。あるいは、畳み込みディープビリーフネットワークを使用して、触覚信号を予測することもできる。
【０１６２】
予測およびインテリジェンスモジュール３１２は、クラスタリング、ｋ−ｍｅａｎｓ、混合モデル、ＤＢＳＣＡＮ（Ｄｅｎｓｉｔｙ−ｂａｓｅｄ  ｓｐａｔｉａｌ  ｃｌｕｓｔｅｒｉｎｇ  ｏｆ  ａｐｐｌｉｃａｔｉｏｎｓ  ｗｉｔｈ  ｎｏｉｓｅ）、ＯＰＴＩＣＳ（Ｏｒｄｅｒｉｎｇ  ｐｏｉｎｔｓ  ｔｏ  ｉｄｅｎｔｉｆｙ  ｔｈｅ  ｃｌｕｓｔｅｒｉｎｇ  ｓｔｒｕｃｔｕｒｅ）アルゴリズム、ディープビリーフネット、Ｈｅｂｂｉａｎ学習、生成的敵対ネットワーク、自己組織化マップ、期待値最大化アルゴリズム（ＥＭ）、モーメント法、ブラインド信号分離手法、またはその他の教師なし学習アルゴリズムを含むがこれらに限定されない教師なし学習アルゴリズムを実装する。
【０１６３】
図４は、プリセットモジュール４０２を備えた触覚処理システム４００を示している。触覚処理システム４００は、入力音声信号１６２を受信する。信号は前処理され、前処理モジュール１６４での処理に適したものにされる。前処理モジュール１６４は、入力音声信号１６２のサンプリングレートを低減し、入力音声信号１６２内の不要な周波数をフィルタリングしてから、それを１つまたは複数の動的プロセッサ１６６に提供することができる。この実施形態では、２つの動的プロセッサ１６６、すなわち、ノイズゲート２０６およびコンプレッサ２０８が提供される。前処理された信号は、閾値レベルを有するノイズゲート２０６に渡される。閾値レベルは、分析モジュール１７０から受信したパラメータに基づいて動的に設定される。ノイズゲートモジュール２０６からの出力は、コンプレッサモジュール２０８に提供される。さらに、ノイズゲートモジュール２０６からの出力は、ドライ／ウェットモジュール１６８にも提供される。ドライ／ウェットモジュール１６８は、入力音声信号１６２とノイズゲート２０６からの出力信号とを事前定義された比率でミキシングする。ドライ／ウェットモジュール１６８は、未処理の音声信号である入力音声信号１６２と、少なくとも１つの動的プロセッサモジュールからの処理された信号との間のミキサとして機能する。ドライ／ウェットモジュール１６８は、ドライ信号とウェット信号とのミックスを制御して、低周波数を調整する。さらに、ドライ／ウェットモジュール１６８は、ドライ音声信号をウェット音声信号にミキシングすることによって触覚出力信号を改善する。ウェット音声信号を使用してサウンド効果を生成できない場合、ドライ／ウェット信号のミックスが触覚出力を生成するための基礎を提供する。２つの信号の事前定義された比率は、０から１の間で変化する。ドライ／ウェットモジュール１６８からの出力信号は、ミキサモジュール１８０に提供される。
【０１６４】
ノイズゲートモジュール２０６からの出力信号は、コンプレッサモジュール２０８に渡され、これにより、受信信号１６２のダイナミックレンジが縮小する。コンプレッサモジュール２０８はまた、分析モジュール１７０からパラメータを受信する。受信されたパラメータは、デジタル信号処理チェーンに干渉することなく、コンプレッサモジュール２０８の利得を変調または制御または調整する。ダイナミックレンジが縮小されたコンプレッサモジュール２０８からの出力信号は、エンベロープフォロワモジュール１７２に渡される。エンベロープフォロワモジュール１７２は、受信された双極信号を単極信号に変換し、受信された高周波信号を低周波信号にさらに変換する。低周波信号は高周波信号のレプリカである。エンベロープフォロワモジュール１７２の出力は、固定共振周波数、好ましくはアクチュエータ１８８の共振周波数に調整されたオシレータモジュール１７４に渡される。オシレータモジュール１７４は、アクチュエータ１８８の共振周波数の周辺に調整されている。続いて、オシレータモジュール１７４からの出力は、ミキサモジュール１８０に渡される。
【０１６５】
コンプレッサモジュール２０８からの信号はまた、受信信号に存在する低周波成分を増幅する共振モジュール１７８に渡される。共振モジュール１７８は、弦、プレート、または膜を複製する低周波成分を追加することができる。さらに、共振モジュール１７８は、元の入力音声信号１６２で抑制された低周波成分を増幅および／または追加する。さらに、共振モジュール１７８は、受信信号に低周波数を追加する。さらに、共振モジュール１７８は、弦、膜、プレート、または他の楽器の物理モデルを励起して、触覚出力を強化する。共振モジュール１７８の出力は、ミキサモジュール１８０に渡される。
【０１６６】
ミキサモジュール１８０は、ドライ／ウェットモジュール１６８からの入力、オシレータモジュール１７４の出力、および共振モジュール１７８からの出力を受信する。ミキサモジュール１８０において、受信信号は、事前定義された比率でミキシングされ、これは、プログラムされ得るか、またはユーザインタフェースを介して変化し得る。ミキサモジュール１７８からの出力信号は、ローパスフィルタモジュール１８２に渡される。ローパスフィルタモジュール１８２は、受信信号の不要な高周波成分を抑制する。ローパスフィルタモジュール１８２からの出力信号は、リミッタモジュール１８４に渡される。リミッタモジュール１８４は、受信信号に埋め込まれた不要なエネルギーが、アクチュエータ１８８の動作電圧または電流に制限されることを確実にする。したがって、リミッタモジュール１８４は、アクチュエータ１８８を損傷する可能性のある追加の電力を制限する。また、リミッタモジュール１８４は、アクチュエータ１８８への損傷を回避するために、信号内の電圧を制限する。さらに移動すると、ベルフィルタモジュール１８６は、アクチュエータ１８８の動作周波数応答を改善する。ベルフィルタモジュール１８６からの出力信号は、検出器モジュール１９０およびアクチュエータ１８８に提供される。アクチュエータ１８８は、ベルフィルタモジュール１８６からの受信信号を変換して、触覚出力を生成する。
【０１６７】
プリセットモジュール４０２は、ローパスフィルタモジュール１８２、リミッタモジュール１８４、およびベルフィルタモジュール１８６において１つまたは複数の制御パラメータを設定するために構成された１つまたは複数のプリセットを有する。１つまたは複数の制御パラメータには、カットオフ周波数、異なるモジュールでミキシングされる信号の比率などが含まれる。あるいは、プリセットスイッチは、電子デバイスのユーザインタフェース、異なるプリセット値を有するロータリスイッチ、またはその他のタイプのスイッチによって制御される。
【０１６８】
少なくとも１つの動的プロセッサ、例えば、ノイズゲート２０６またはコンプレッサモジュール２０８と、分析モジュール１７０との間のパラメータの交換は、信号処理デジタル信号処理チェーンから独立している。ノイズゲート２０６またはコンプレッサ２０８などの少なくとも１つの動的プロセッサと、分析モジュール１７０との間のパラメータの交換は、ポインタ、参照による値の受け渡し、共有メモリ、関数、サブルーチン、プロシージャ、または当技術分野で知られている任意の他のタイプのパラメータ交換手段を使用して実装される。例えば、ノイズゲート２０６は、分析モジュール１７０からパラメータ値を受け取り、それに応じて、ノイズゲート２０６の閾値を制御する。別の実装形態では、コンプレッサモジュール２０８は、分析モジュール１７０からパラメータを受け取り、コンプレッサモジュール２０８の利得を制御する。
【０１６９】
ベルフィルタモジュール１８６からの出力信号は、検出器モジュール１９０に渡され、検出器モジュール１９０は、前処理モジュール１６４からの入力または入力音声信号１６２も受信する。検出器モジュール１９０は、２つの入力のいずれかでの信号、すなわち、前処理モジュール１６４からの入力信号およびベルフィルタモジュール１８６からの出力信号の存在をプローブする。いずれの入力でも信号が検出されない場合、検出器モジュール１９０は、触覚処理モジュール４００をオフにして省電力モードにする。しかしながら、信号が入力音声信号１６２およびベルフィルタモジュール１８６の出力の両方で検出された場合、検出器モジュール１９０は、触覚処理モジュール４００を電源オン状態またはアクティブモードに維持する。信号が入力または出力のいずれかで検出されると、検出器モジュール１９０は、所定の期間電源オン状態に留まり、２つの入力を再びプローブし、両方の入力に信号がない場合、検出器モジュール１９０は、電源をオフにするか、省電力モードに入る。触覚処理モジュール４００が電源をオフにするまでの時間は、１０秒から６０秒の間で変化する。
【０１７０】
分析モジュール１７０は、トランジェント分析検出モジュール３０４、ピークアナライザモジュール３０６、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８、サイドチェーンモジュール３１０、予測およびインテリジェンスモジュール３１２、検出器および閾値モジュール３１４、利得コントローラモジュール３１６Ａおよび利得コントローラモジュール３１６Ｂを含む。分析モジュール１７０および他のすべてのモジュールは、すでに前述したように機能を実行する。
【０１７１】
図５を参照すると、触覚処理システム５００が示されている。点線の接続は、異なるモジュール間のパラメータ交換を示し、直接接続線は、異なるモジュールにおける入力音声信号５０２のフローを示している。
【０１７２】
先におよび本明細書で定義されるように、触覚処理モジュール５００は、デジタル信号処理チェーン、分析モジュール１７０、およびプリセットモジュール５２４で構成されている。分析モジュール１７０およびプリセットモジュール５２４は、異なるモジュール内の１つまたは複数の制御パラメータを調整することによって、デジタル信号処理チェーン内の音声入力信号の処理を制御または変調する。デジタル信号処理チェーンは、音声入力信号を処理して触覚出力を生成するためのすべてのモジュールで構成されている。
【０１７３】
触覚処理システム５００は、前処理モジュール５０４に提供される入力音声信号５０２（入力音声信号１６２と同じ）を受信する。前処理モジュール５０４は、例えば、受信された入力音声信号５０２を８ＫＨｚ未満のサンプリングレートを有する信号に変換することによって、信号を適切な形態に変換して、音声入力信号５０２の処理を可能にする。同様に、前処理モジュール５０４は、不要な周波数を除去するためのローパスフィルタを含み得る。前処理モジュール５０４の出力は、信号検出モジュール５０６に提供される。信号検出モジュール５０６は、前処理モジュール５０４からの信号およびフィルタモジュール５４４から受信された信号の存在を感知し、前処理モジュール５０４およびフィルタモジュール５４４に信号がない場合、触覚処理モジュール５００の電源をオフにして、省電力モードに入る。あるいは、検出モジュール５０６が、前処理モジュール５０４での信号またはフィルタモジュール５４４からの信号のいずれかを感知する場合、それは、触覚処理モジュール５００を有効電力状態に維持する。あるいは、検出モジュール５０６は、前処理モジュール５０４からの信号およびフィルタモジュール５４４からの信号の存在を調査し、前処理モジュール５０４からの信号を検出せず、フィルタモジュール５４４からの信号を検出する場合、検出モジュールは、触覚処理モジュール５００の電源をオフにする前に、所定の時間待機する。所定の時間は１０秒である。所定の期間は１秒から６０秒の間で変化する。
【０１７４】
信号検出モジュール５０６からの出力は、信号の利得を増加または減少させる利得コントローラモジュール５０８に提供される。次に、利得コントローラモジュール５０８の出力は、利得制御プロセッサ１モジュール５２６および分析モジュール１７０に渡される。利得制御プロセッサ１モジュール５２６は、分析モジュール１７０から閾値などの少なくとも１つの制御パラメータを受信する。１つの制御パラメータは、利得制御プロセッサ１モジュール５２６の閾値レベルを調整または制御し、また、信号に適用される利得を提供する。閾値パラメータの利得制御プロセッサ１モジュール５２６への受け渡しは、参照、値、ポインタ、または関数呼び出しによって行われる。利得制御プロセッサ１モジュール５２６は、受信信号が受信閾値を超えると受信信号を渡すために開き、受信信号が完全に、または０から１の間である減衰係数によって閾値を下回ると、受信信号を減衰させる。受信信号に適用される利得は、分析モジュール１７０によって提供されるパラメータに基づいて動的に変化する。例えば、１つのインスタンスｔ１および別のインスタンスｔ２で適用される利得は、互いに異なり、入力音声信号５０２の特性に依存する。
【０１７５】
分析モジュール１７０はまた、利得コントローラモジュール５０８から信号を受信する。受信信号は、トランジェント分析検出モジュール３１４、ピークアナライザモジュール３０６、ならびに入力信号アナライザおよびＲＭＳジェネレータモジュール３０８に同時に提供される。トランジェント分析検出モジュール３０４は、受信された入力信号におけるトランジェントの存在を検出し、一方、ピークアナライザモジュール３０６は、一定期間、受信された入力音声信号５０２におけるピーク値を計算する。同様に、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８は、少なくとも１つの制御パラメータ、例えば、利得または利得制御プロセッサの閾値を変調または制御するために、受信された入力音声信号５０２の二乗平均平方根値を計算する。
【０１７６】
サイドチェーンモジュール３１０は、アタック時間、リリース時間、ホールド時間、ニー、および受信信号に関連する他のパラメータなど、触覚処理システム５００の異なるパラメータを制御する。検出器および閾値モジュール３１４は、受信信号を監視し、入力音声信号が閾値より上または下に移動するときを検出する。トランジェント分析検出モジュール３０４、ピークアナライザモジュール３０６、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８、サイドチェーンモジュール３１０、ならびに検出器および閾値モジュール３１４からの出力は、予測およびインテリジェンスモジュール３１２に提供される。予測およびインテリジェンスモジュール３１２は、１つまたは複数の制御パラメータを計算して、触覚処理モジュール５００の異なる段階で信号処理を制御する。例えば、トランジェント分析検出モジュール３０４、ピークアナライザモジュール３０６、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８、サイドチェーンモジュール３１０、ならびに検出器および閾値モジュール３１４から受信したパラメータに基づいて、予測およびインテリジェンスモジュール３１２は、閾値および／または利得を制御するために、利得制御プロセッサ１モジュール５２６にパラメータを提供する。同様に、トランジェント分析検出モジュール３０４、ピークアナライザモジュール３０６、ＲＭＳジェネレータモジュール３０８、サイドチェーンモジュール３１０、ならびに検出器および閾値モジュール３１４、予測およびインテリジェンスモジュール３１２は、１つまたは複数の利得制御プロセッサで利得を変調または調整する。また、サイドチェーンモジュール３１０の出力は、利得コントローラモジュール３１６Ａに渡される。同様に、検出器および閾値モジュール３１４からの出力もまた、周波数利得コントローラモジュール５１０に渡される。周波数利得コントローラ５５２は、特定の周波数で受信信号の振幅を制御または調整して、広帯域アクチュエータで強化された触覚応答を提供する。
【０１７７】
利得制御プロセッサ１モジュール５２６の出力は、利得制御プロセッサ２モジュール５２８に提供され、利得制御プロセッサ２モジュール５２８は、分析モジュール１７０からパラメータを受け取り、利得、閾値、および他の制御パラメータを設定する。利得制御プロセッサ２モジュール５２８は、分析モジュール１７０からリアルタイムで受信された利得および／または閾値などのパラメータに基づいて、受信信号のダイナミックレンジを縮小する。パラメータは、値渡し、参照による受け渡し、ポインタによる受け渡し、またはプログラミング言語で一般的に使用される同様の方法で渡される。
【０１７８】
利得制御プロセッサ２モジュール５２８からの出力は、エンベロープフォロワモジュール５３４、物理的共振モジュール５３２、およびドライ／ウェットモジュール５３０に同時に渡される。エンベロープフォロワは、高周波信号を低周波信号に変換し、双極信号を単極信号に変換して、オシレータモジュール５３６に提供する。オシレータモジュール５３６は、固定共振周波数で受信信号を変調する。オシレータの固定周波数は、３５Ｈｚから１２０Ｈｚまで変化することができる。物理的共振モジュール５３２は、受信信号の抑制された低周波数を増幅および／または追加して、より良い触覚体験を生成する。さらに、物理的共振モジュール５３２は、数学的モデルを使用して音声波形を生成し、弦、膜、またはプレートに対応する周波数を追加する。
【０１７９】
ドライ／ウェットモジュール５３０は、利得制御プロセッサ２モジュール５２８および利得コントローラモジュール５０８からの入力を受信する。ドライ／ウェットモジュール５３０は、受信信号を処理し、ミキサモジュール５３８に出力を提供する。
【０１８０】
さらに、分析モジュール１７０はまた、制御パラメータをエンベロープフォロワモジュール５３４およびデュアルフィルタモジュール５４０に渡す。分析モジュール１７０は、エンベロープフォロワモジュール５３４での閾値および／または利得を制御するためのパラメータを渡す。さらに、分析モジュール１７０はまた、デュアルフィルタモジュール５４０を制御するためのパラメータを提供する。
【０１８１】
プリセットモジュール５２４は、ドライ／ウェットモジュール５３０、ミキサモジュール５３８、デュアルフィルタモジュール５４０、リミッタモジュール５４２、フィルタモジュール５４４、およびアップサンプリングモジュール５４６を制御するためのパラメータを提供する。例えば、プリセットモジュール５２４は、ミキサモジュール５３８を制御するためのパラメータを設定するためにユーザインタフェースを提供する。別の例では、ドライ／ウェットモジュール５３０は、パラメータを変更するためにユーザに提供される制御ノブを含む。
【０１８２】
オシレータモジュール５３６、物理的共振モジュール５３２、およびドライ／ウェットモジュール５３０からの出力は、ミキサモジュール５３８に提供される。ミキサモジュール５３８は、事前定義された比率で信号をミキシングする。プリセットモジュール５２４は、パラメータを提供することによって異なるモジュールの設定を制御する。ミキサモジュール５３８からの出力は、デュアルフィルタモジュール５４０に渡される。デュアルフィルタモジュール５４０は、それぞれカットオフ周波数Ｆ１およびＦ２を有するダブルフィルタを使用して出力をフィルタリングする。分析モジュール１７０は、デュアルフィルタモジュール５４０に関連するカットオフ周波数Ｆ１およびＦ２を制御する。トランジェントが検出されると、分析モジュール１７０は、デュアルフィルタ５４０に、カットオフ周波数をより低いカットオフ周波数Ｆ１からより高いカットオフ周波数Ｆ２（Ｆ２＞Ｆ１）にシフトして、トランジェントを通過するように指示する。トランジェントを通過した後、分析モジュール１７０は、制御信号を送信して、カットオフ周波数Ｆ２をカットオフ周波数Ｆ１に戻す。一例では、デュアルフィルタ５４０のカットオフ周波数は、４０Ｈｚ〜２５０Ｈｚである。別の例では、デュアルフィルタ５４０のカットオフ周波数は、５０Ｈｚ〜４００Ｈｚである。現在の実装の別の変形例では、下限カットオフ周波数は２０Ｈｚ〜６０Ｈｚであり、上限カットオフ周波数は２５０Ｈｚ〜５００Ｈｚである。
【０１８３】
次に、デュアルフィルタモジュール５４０の出力がリミッタモジュール５４２に提供され、これにより、受信信号がアクチュエータ５４８の許容可能な動作範囲内にあることが保証される。そうしないと、触覚出力に歪みが生じる可能性がある。これを克服するために、リミッタモジュール５４２は、０ｄＢ直下の−３ｄＢに設定されている。
【０１８４】
リミッタモジュール５４２は、オーバードライブモジュールおよびダンピングモジュールに関連付けられている。アクチュエータ５４８の初期重量のために、励起電圧がアクチュエータ５４８に渡されるとき、予想される振動を達成するのに時間がかかる。これは、アクチュエータ５４８の移動質量によるものである。アクチュエータ５４８の遅い応答は、初期励起で予想される振動に到達するための追加の励起を提供するオーバードライブモジュールによって補償される。さらに、アクチュエータ５４８の質量および振動中にそれによって得られる運動量は、アクチュエータ５４８が直ちに停止することを可能にしない。アクチュエータ５４８の追加の振動を補償するために、減衰モジュールが提供される。ダンピングモジュールは、入力信号から１８０度位相がずれた励起信号を提供して、振動を減衰させ、アクチュエータ５４８を直ちに停止する。
【０１８５】
リミッタモジュール５４２の出力は、不要な周波数を減衰させるためにフィルタモジュール５４４に提供される。フィルタモジュール５４４の出力は、サンプリングレートを所望のレベルに増加させるために、アップサンプリングモジュール５４６に渡される。信号は、触覚出力を生成するために、最終的にアクチュエータ５４８に渡される。
【０１８６】
図５Ａを参照すると、少なくとも２つのアクチュエータ、すなわち、アクチュエータ５４８（アクチュエータ５４８は、他のアクチュエータと区別するためにマスタアクチュエータ５４８とも呼ばれる）およびブースタアクチュエータ５６４を示す触覚処理システム５００Ａが提供されている。マスタアクチュエータ５４８およびブースタアクチュエータ５６４の両方は、同一のモジュールと並列にデジタル信号処理チェーンに接続されているが、独立して動作する。先におよび本明細書で説明したように、デジタル信号処理チェーンは、直接音声信号フローを備えたすべてのモジュールで構成される。入力音声信号は、デジタル信号処理チェーンで処理され、触覚出力信号を生成する。デジタル信号処理チェーンは、分析モジュール１７０およびプリセットモジュール５２４を除くすべての異なるモジュールを含む。分析モジュール１７０およびプリセットモジュール５２４は、１つまたは複数の制御パラメータを渡すことによって、デジタル信号処理チェーンの処理を制御または調整する。さらに、先におよび本明細書で提供されるように、点線の接続は異なるモジュール間のパラメータの交換を示し、一方、直接接続線は異なるモジュール間の入力音声信号のフローを示す。さらに、分析モジュール１７０は、図３Ａ、図３Ｂ、および図３Ｃで説明されるようなすべての機能を実装する。
【０１８７】
触覚処理モジュール５００Ａは、前処理モジュール５０４に提供される入力音声信号５０２を受信する。前処理モジュール５０４は、例えば、受信された入力音声信号５０２を８ＫＨｚ未満のサンプリングレートを有する音声信号に変換することによって、信号を適切な形式に変換して、音声入力信号５０２の処理を可能にする。前処理モジュール５０４は、不要な周波数を除去するためのローパスフィルタを含む。前処理モジュール５０４の出力は、信号検出モジュール５０６に提供される。信号検出モジュール５０６は、前処理モジュール５０４からの入力音声信号５０２およびフィルタモジュール５４４から受信された出力信号の存在を感知し、前処理モジュール５０４およびフィルタモジュール５４４に信号がない場合、触覚処理モジュール５００Ａの電源をオフにして、省電力モードに入る。あるいは、信号検出モジュール５０６が、前処理モジュール５０４での信号またはフィルタモジュール５４４からの信号のいずれかを感知する場合、それは、触覚処理モジュール５００Ａを有効電力状態に維持する。さらに、信号検出モジュール５０６は、前処理モジュール５０４からの信号およびフィルタモジュール５４４からの信号の存在を調査し、前処理モジュール５０４で信号が検出されないが、出力信号がフィルタモジュール５４４で感知される場合、信号検出モジュール５０６は、触覚処理モジュール５００Ａの電源をオフにする前に、所定の時間待機する。
【０１８８】
所定の時間は５秒から１０秒の間であるが、１秒から６０秒の間の範囲であってもよい。
【０１８９】
信号検出モジュール５０６からの出力は、音声信号の利得を増加または減少させる利得コントローラモジュール５０８に提供される。次に、利得コントローラモジュール５０８の出力は、利得制御プロセッサ１モジュール５２６および分析モジュール５０８に渡される。利得制御プロセッサ１モジュール５２６は、１つまたは複数の制御パラメータ、例えば、分析モジュール１７０からの閾値および／または利得を受信する。制御パラメータは、利得制御プロセッサ１モジュール５２６の閾値を調整または制御する。さらに、制御パラメータは、少なくともデジタル信号処理チェーンでの処理中に入力信号に適用される利得も提供する。制御パラメータを、参照、値、ポインタによって、または関数もしくはサブルーチン呼び出しとして、利得制御プロセッサ１モジュール５２６に渡すことができる。
【０１９０】
利得制御プロセッサ１モジュール５２６は、開状態または閉状態のいずれかで動作する。利得コントローラモジュール５０８からの受信信号が閾値を超えると、利得制御プロセッサ１モジュール５２６は開状態で動作し、受信信号を渡す。しかしながら、受信信号が閾値を下回ると、利得制御プロセッサ１モジュール５２６は閉状態になり、受信信号を減衰させる。一変形例では、受信信号および／または閾値に適用される利得は、リアルタイムで動的に更新される。さらに、受信信号および／または閾値に適用される利得は、さまざまな時間間隔で動的に更新される。例えば、インスタンスｔ１およびインスタンスｔ２で適用される利得および／または閾値は、入力音声信号５０２の特性に応じて異なる。
【０１９１】
分析モジュール１７０、および利得コントローラプロセッサ１モジュール５２６は、利得コントローラモジュール５０８から入力音声信号５０２を同時に受信する。受信された入力信号は、トランジェント分析検出モジュール３０４、ピークアナライザモジュール３０６、ならびに入力信号アナライザおよびＲＭＳジェネレータモジュール３０８に提供される。並列処理は、入力音声信号５０２に対して実行される。トランジェント分析検出モジュール３０４は、図２１で後述するトランジェント検出アルゴリズムを実装することにより、受信された入力信号におけるトランジェントの存在を検出する。ピークアナライザモジュール３０６は、さまざまなウィンドウサイズで一定時間受信された入力信号のピークを計算する。ウィンドウサイズは、信号の周波数、ピッチ、時間分解能、周波数分解能、およびその他の波形特性によって異なる。一実装形態では、ウィンドウサイズは、Ｗｉｄｒｏｗ−Ｈｏｆｆ最小二乗（ＬＭＳ）などの適応アルゴリズムに基づいて選択される。同時に、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８は、受信された音声信号の二乗平均平方根値を計算する。ピーク値およびＲＭＳ値は、図１６のプロセス１６００で説明されるように、利得制御プロセッサ１モジュール５２６および利得制御プロセッサ２モジュール５２８を変調するための１つまたは複数の制御パラメータを計算するために利用される。１つまたは複数の制御パラメータは、利得、閾値、ピッチ、位相、または入力音声信号に関連する他のいくつかのパラメータである。
【０１９２】
分析モジュール１７０はまた、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８、サイドチェーンモジュール３１０、予測およびインテリジェンスモジュール３１２、検出および閾値モジュール３１４、利得コントローラモジュール３１６Ａ、周波数利得コントローラモジュール５５２、ならびに他のモジュールとは別にブースタ分析モジュール３３８（図３Ｃに示される）を含む。ピークアナライザモジュール３０６は、入力音声信号５０２のピーク値を計算する。トランジェント分析検出モジュール３０４は、入力音声信号５０２におけるトランジェントの存在を検出する。ＲＭＳジェネレータは、入力音声信号５０２のＲＭＳ値を計算する。本明細書および他の場所と同様に、ＲＭＳ値およびピーク値は、利得および／または閾値などの１つまたは複数の制御パラメータの計算に利用される。同様に、トランジェント分析検出モジュール３０４は、図２１で後述するトランジェント処理アルゴリズムを実装することによって、入力音声信号５０２のトランジェントを処理する。サイドチェーンモジュール３１０は、アタック時間、リリース時間、ホールド時間、ニーおよび他のパラメータなどの触覚処理モジュール５００Ａの異なるパラメータを制御する。検出器および閾値モジュール３１４は、受信された入力信号を監視し、入力音声信号が閾値より上または下に移動するときを検出する。トランジェント検出モジュール３０４、ピーク検出モジュール３０６、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８、サイドチェーンモジュール３１０、ならびに検出器および閾値モジュール３１４からの出力は、予測およびインテリジェンスモジュール３１２に提供される。予測およびインテリジェンスモジュール３１２は、入力音声信号５０２の特性に関連するパラメータ値を計算して、触覚処理モジュール５００Ａの異なる段階で信号処理を制御する。予測およびインテリジェンスモジュール３１２は、図３Ｃに記載されているように、すべての予測アルゴリズムを実装することができる。例えば、トランジェント分析検出モジュール３０４、ピークアナライザモジュール３０６、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８、サイドチェーンモジュール３１０、ならびに検出器および閾値モジュール３１４から受信したパラメータに基づいて、予測およびインテリジェンスモジュール３１２は、触覚処理を制御するために、利得制御プロセッサ１モジュール５２６に１つまたは複数の制御パラメータを提供する。同様に、トランジェント分析検出モジュール３０４、ピークアナライザモジュール３０６、入力信号アナライザおよびＲＭＳジェネレータモジュール３０８、サイドチェーンモジュール３１０、検出器および閾値モジュール３１４、ならびに予測およびインテリジェンスモジュール３１２は、利得制御プロセッサ１のような１つまたは複数の利得制御プロセッサを変調する。また、サイドチェーンモジュール３１０の出力はまた、利得コントローラモジュール３１６Ａに渡される。同様に、検出器および閾値モジュール３１４からの出力はまた、周波数利得コントローラモジュール５１０に渡され、これは、より良い触覚体験のために制御パラメータにさらなる改良を提供する。
【０１９３】
利得制御プロセッサ１モジュール５２６の出力は、利得制御プロセッサ２モジュール５２８に提供され、利得制御プロセッサ２モジュール５２８はまた、分析モジュール１７０から制御パラメータを受信して、利得および／または閾値を設定する。利得制御プロセッサ２モジュール５２８は、分析モジュール１７０からリアルタイムで受信された利得および／または閾値などの制御パラメータに基づいて、受信信号のダイナミックレンジを縮小する。制御パラメータを、値渡し、参照渡し、ポインタ渡しなどの既知のパラメータ方法を使用して渡すことができる。
【０１９４】
利得制御プロセッサ２モジュール５２８からの出力は、エンベロープフォロワモジュール５３４、物理的共振モジュール５３２、およびドライ／ウェットモジュール５３０に同時に渡される。エンベロープフォロワモジュール５３４は、高周波信号を低周波信号に変換し、双極信号を単極信号に変換して、オシレータモジュール５３６に提供する。オシレータモジュール５３６は、固定共振周波数で受信信号を変調する。固定周波数は、マスタアクチュエータ５４８の共振周波数に応じて異なる変動で３５Ｈｚ〜１２０Ｈｚまで変動する。物理的共振モジュール５３２は、受信信号の抑制された低周波数を増幅および／または追加および／または作成して、より良い触覚体験を生成する。
【０１９５】
ドライ／ウェットモジュール５３０は、利得制御プロセッサ２モジュール５２８および利得コントローラモジュール５０８からの入力を受信する。ドライ／ウェットモジュール５３０は、入力としてドライ信号およびウェット信号を受信する。ドライ信号は、未処理の入力音声信号である。ウェット信号は、処理された入力音声信号である。ドライ／ウェットモジュール５３０は、ドライ信号とウェット信号を特定の比率でミキシングする。ドライ／ウェット信号の出力は、ミキサモジュール５３８に提供される。
【０１９６】
分析モジュール１７０はまた、１つまたは複数の制御パラメータを、エンベロープフォロワモジュール５３４、デュアルフィルタモジュール５４０、デュアルフィルタモジュール５５６、およびブースタコントローラモジュール５５４に渡す。
【０１９７】
ミキサモジュール５３８は、デュアルフィルタモジュール５４０に直接接続されている。さらに、ミキサモジュール５３８は、ブースタコントローラモジュール５５４にも接続されている。ミキサモジュール５３８からの触覚出力は、デュアルフィルタモジュール５４０、リミッタモジュール５４２、フィルタモジュール５４４、アップサンプリングモジュール５４６、およびマスタアクチュエータ５４８などの１つまたは複数のマスタアクチュエータに提供される。図５Ａは、１つのマスタアクチュエータ５４８のみを示しているが、触覚体験を生成するために５４８Ａ、５４８Ｂ、５４８Ｃ、５４８Ｄなどの複数のマスタアクチュエータを提供することができる。
【０１９８】
ブーストコントローラモジュール５５４は、出力信号を、デュアルフィルタ５５６、リミッタモジュール５５８、フィルタモジュール５６０、アップサンプリングモジュール５６２、および１つまたは複数のブースタアクチュエータ５６４に提供する。１つのブースタアクチュエータ５６４のみが示されているが、ブースタアクチュエータ５６４Ａ、ブースタアクチュエータ５６４Ｂ、ブースタアクチュエータ５６４Ｃ、およびブースタアクチュエータ５６４Ｄなどの複数のブースタアクチュエータは、この実装の別の変形例では、アップサンプリングモジュール５６２と接続され得る。ブースタ制御モジュール５５４の主な目的は、マスタアクチュエータ５４８と同期してより良い触覚体験のために追加のブーストを提供することである。ブースタ制御モジュール５５４はまた、本明細書に組み込まれる図３に記載されるように、ブースタ分析モジュール３３８からの入力を受信する。
【０１９９】
ブーストコントローラ５５４は、分析モジュール１７０およびミキサモジュール５３８から入力を受け取り、１つまたは複数の制御パラメータに基づいてブーストをいつトリガするかを決定する。制御パラメータは、振幅、周波数、位相、ラウドネス、ＲＭＳ値、ピーク値、計算された利得、計算された閾値、および図３Ｃの予測およびインテリジェンスモジュールに実装された予測アルゴリズムなどの波形特性である。限定としてではなく例として、ミキサモジュール５３８は、ブーストコントローラモジュール５５４に触覚信号を提供する。ブーストコントローラモジュール５５４は、マスタアクチュエータ５４８と同期して１つまたは複数のブースタアクチュエータ５６４をトリガするロジックを有する。あるいは、ブーストコントローラ５５４は、分析モジュール１７０から受信した１つまたは複数の制御パラメータに基づいて、ブースタアクチュエータ５６４をトリガする。ブーストコントローラモジュール５５４は、別の実装において、分析モジュール１７０から受信された１つまたは複数の制御パラメータおよびミキサモジュール５３８から受信された信号に基づいて、１つまたは複数のブースタアクチュエータ５６４をトリガすることができる。同様に、ブーストコントローラモジュール５５４は、さらに別の実装において、分析モジュール１７０から受信した１つまたは複数の制御パラメータ、またはミキサモジュール５３８から受信した信号に基づいて、ブースタアクチュエータ５６４をトリガすることができる。しかしながら、マスタアクチュエータ５４８は、デジタル信号処理チェーンから受信した信号に基づいて触覚出力を生成する。例を用いて説明するために、触覚処理システム５００Ａは、入力音声信号５０２に基づいて、マスタアクチュエータ５４８を介して連続的に触覚出力を生成する。しかしながら、ブースタコントローラ５５４は、マスタアクチュエータ５４８と同相でブースタアクチュエータ５６４をいつトリガするかを決定する。
【０２００】
図５Ｂは、触覚処理システム５００Ｂの代替の実装を示しており、この実装では、ブーストコントローラモジュール５５４がオシレータモジュール５３６から出力信号を受信することを除いて、すべての機能において５００Ａと同様である。この実装の新しい側面は、単純な波形を使用して、触覚出力を生成するためにブースタアクチュエータ５６４を駆動することである。例えば、ブースタアクチュエータ５６４は、線形共振アクチュエータ（ＬＲＡ）であり得、これは、共振周波数で最大の触覚効果を提供し、マスタアクチュエータ５４８と一緒に統合することができる。ＬＲＡベースのブースタアクチュエータ５６４を、共振周波数で調整することができ、マスタアクチュエータ５４８は、ある範囲の周波数にわたって良好な周波数応答を提供するように調整される広帯域アクチュエータである。この構成は、ブースタアクチュエータ５６４とマスタアクチュエータ５４８との同期を単純化し、より良い触覚体験を生成する。さらに、ミキサモジュール５３８は、異なるソースから受信された受信入力信号をミキシングする。出力波形は複雑な波形であり、これがマスタアクチュエータ５４８に渡されて高品位の触覚体験を生成するのに対し、ブースト信号はオシレータモジュール５３６によって提供される。ブースタコントローラモジュール５５４は、１つまたは複数の制御パラメータに基づいてブースタアクチュエータ５６４をトリガして、デュアルフィルタモジュール５５６、リミッタモジュール５５８、フィルタモジュール５６０、およびアップサンプリングモジュール５６２を介して触覚出力を生成する。１つのブーストアクチュエータ５６４のみが示されているが、アップサンプリングモジュール５６２に接続されたブースタアクチュエータ５６４Ａ、ブースタアクチュエータ５６４Ｂ、ブースタアクチュエータ５６４Ｃ、およびブースタアクチュエータ５６４Ｄなどの１つまたは複数のブーストアクチュエータがあってもよい。一例では、マスタアクチュエータ５４８は、ブースタアクチュエータ５６４Ａ、ブースタアクチュエータ５６４Ｂ、ブースタアクチュエータ５６４Ｃ、およびブースタアクチュエータ５６４Ｄなどの１つまたは複数のブースタアクチュエータに接続されている。別の例では、マスタアクチュエータ５４８Ａ、マスタアクチュエータ５４８Ｂ、マスタアクチュエータ５４８Ｃ、およびマスタアクチュエータ５４８Ｄなどの１つまたは複数のマスタアクチュエータを、１つのブースタアクチュエータ５６４に構成することができる。別の例では、マスタアクチュエータ５４８Ａ、マスタアクチュエータ５４８Ｂ、マスタアクチュエータ５４８Ｃ、およびマスタアクチュエータ５４８Ｄなどの１つまたは複数のマスタアクチュエータは、ブースタアクチュエータ５６４Ａ、ブースタアクチュエータ５６４Ｂ、ブースタアクチュエータ５６４Ｃ、およびブースタアクチュエータ５６４Ｄと接続されている。
【０２０１】
図５Ｃは、ブーストコントローラモジュール５５４が物理的共振モジュール５３２から出力信号を受信することを除いて、触覚処理システム５００Ａと同様の触覚処理システム５００Ｃの別の代替の実装を示している。次に、ブースタコントローラモジュール５５４は、１つまたは複数の制御パラメータに基づいてブースタアクチュエータ５６４をトリガして、デュアルフィルタモジュール５５６、リミッタモジュール５５８、フィルタモジュール５６０、およびアップサンプリングモジュール５６２を介して触覚出力を生成する。物理的共振モジュール５３２をブーストコントローラモジュール５５４に接続することにより、いくつかの抑制された周波数を増幅して、マスタアクチュエータ５４８と同期してブースタアクチュエータ５６４を駆動することができる。入力音声信号５０２のいくつかの低周波数は、失われるか抑制される可能性があり、現実的な触覚体験を生成するために再生または増幅を必要とする。これは、物理的共振モジュール５３２からの触覚信号の一部をブーストコントローラモジュール５５４に直接渡すことによって達成することができ、ブーストコントローラモジュール５５４は、マスタアクチュエータ５４８と同期して１つまたは複数の制御パラメータに基づいてブースタアクチュエータ５６４を駆動する。１つのブーストアクチュエータ５６４のみが示されているが、アップサンプリングモジュール５６２に接続されたブースタアクチュエータ５６４Ａ、ブースタアクチュエータ５６４Ｂ、ブースタアクチュエータ５６４Ｃ、およびブースタアクチュエータ５６４Ｄなどの１つまたは複数のブースタアクチュエータがあってもよい。一例では、マスタアクチュエータ５４８は、ブースタアクチュエータ５６４Ａ、ブースタアクチュエータ５６４Ｂ、ブースタアクチュエータ５６４Ｃ、およびブースタアクチュエータ５６４Ｄなどの１つまたは複数のブースタアクチュエータに接続されている。別の例では、マスタアクチュエータ５４８Ａ、マスタアクチュエータ５４８Ｂ、マスタアクチュエータ５４８Ｃ、およびマスタアクチュエータ５４８Ｄなどの１つまたは複数のマスタアクチュエータは、１つのブースタアクチュエータ５６４に対して構成されている。別の例では、マスタアクチュエータ５４８Ａ、マスタアクチュエータ５４８Ｂ、マスタアクチュエータ５４８Ｃ、およびマスタアクチュエータ５４８Ｄなどの１つまたは複数のマスタアクチュエータは、ブースタアクチュエータ５６４Ａ、ブースタアクチュエータ５６４Ｂ、ブースタアクチュエータ５６４Ｃ、およびブースタアクチュエータ５６４Ｄと接続されている。
【０２０２】
プリセットモジュール５２４は、ドライ／ウェットモジュール５３０、ミキサモジュール５３８、デュアルフィルタモジュール５４０、リミッタモジュール５４２、フィルタモジュール５４４、およびアップサンプリングモジュール５４６においてパラメータまたは事前定義された値を設定するための制御を提供する。例えば、プリセットモジュール５２４は、制御パラメータまたは値を設定するためのユーザインタフェースを提供する。別の例では、ドライ／ウェットモジュール５３０は、ソフトウェアまたはハードウェアのユーザインタフェースを介してユーザがアクセスできるスライダによって制御される。さらに、プリセットモジュール５２４は、ブースタアクチュエータ５６４に関連するデュアルフィルタモジュール５５６、リミッタモジュール５５８、フィルタモジュール５６０、アップサンプリングモジュール５６２において制御パラメータまたは制御値を設定するために使用される。制御パラメータまたは制御値は、事前定義されるか、ユーザインタフェースを使用して設定できる。
【０２０３】
さらに移動すると、オシレータモジュール５３６、物理的共振モジュール５３２、およびドライ／ウェットモジュール５３０からの出力信号は、ミキサモジュール５３８内で一緒にミキシングされる。ミキサモジュール５３８は、事前定義された比率で信号をミキシングするか、またはプリセットモジュール５２４のユーザインタフェースを介して設定され得る。ミキサモジュール５３８からの出力は、デュアルフィルタモジュール５４０およびブーストコントローラモジュール５５４に渡される。ブーストコントローラモジュール５５４の出力は、デュアルフィルタモジュール５５６に提供される。デュアルフィルタモジュール５４０およびデュアルフィルタ５５６は、カットオフ周波数Ｆ１およびＦ２を有するダブルフィルタを使用して出力をフィルタリングする。分析モジュール１７０は、デュアルフィルタ５４０およびデュアルフィルタ５５６の開放を制御する。トランジェントが検出されると、分析モジュール１７０は、デュアルフィルタ５４０およびデュアルフィルタ５５６に、カットオフ周波数をＦ１からＦ２にシフトするように指示する。トランジェントを通過した後、分析モジュール１７０は、カットオフ周波数をＦ１に戻すために別の制御信号を送信する。一例では、デュアルフィルタのカットオフ周波数は４０Ｈｚ〜２５０Ｈｚである。別の例では、デュアルフィルタのカットオフ周波数は５０Ｈｚ〜４００Ｈｚである可能性がある。別の実装形態では、下限カットオフ周波数は２０Ｈｚ〜６０Ｈｚに設定され、上限カットオフ周波数は２５０Ｈｚ〜５００Ｈｚに設定される。
【０２０４】
次に、デュアルフィルタモジュール５４０の出力がリミッタモジュール５４２に提供され、これにより、受信信号がマスタアクチュエータ５４８の許容可能な動作範囲内にあることが保証される。そうしないと、触覚出力に歪みが生じる可能性がある。これを克服するために、リミッタモジュール５４２は０ｄＢ直下の−３ｄＢに設定され、フラットな触覚応答を提供する。同様に、デュアルフィルタモジュール５５６からの出力信号は、リミッタモジュール５５８に提供され、これは、受信信号がブースタアクチュエータ５６４の許容可能な動作範囲内にあることを保証する。
【０２０５】
リミッタモジュール５４２からの出力は、触覚出力に歪みを引き起こす可能性のある不要な周波数をフィルタリングするために、フィルタモジュール５４４に渡される。同様に、リミッタ５５８からの出力は、フィルタモジュール５６０に提供される。フィルタモジュール５４４からの出力信号は、マスタアクチュエータ５４８で触覚出力を生成する前にサンプリングレートを増加させるためにアップサンプリングモジュール５４６に提供される。同様に、フィルタモジュール５６０からの出力信号は、ブースタアクチュエータ５６４で触覚出力を生成する前にサンプリングレートを増加させるためにアップサンプリングモジュール５６２に提供される。
【０２０６】
図５Ａ、図５Ｂ、および図５Ｃは、ステレオまたは４チャネル構成で実装され得る。ステレオ構成には、左チャネルと右チャネルがあり、各チャネルには、図５Ａ、図５Ｂ、および図５Ｃに示す触覚処理システムがある。例えば、左チャネル音声および右チャネル音声は、音声入力信号５０２、前処理モジュール５０４、信号検出モジュール５０６、利得コントローラ５０８、利得制御プロセッサ１モジュール５２６、利得制御プロセッサ２モジュール５２８、エンベロープフォロワモジュール５３４、オシレータモジュール５３６、物理的共振モジュール５３２、ドライ／ウェットモジュール５３０、ミキサモジュール５３８、ブーストコントローラモジュール５５４、デュアルフィルタモジュール５４０、リミッタ５４２モジュール、フィルタモジュール５４４、およびアップサンプリングモジュール５４６含む別個のデジタル信号処理チェーンであり、マスタアクチュエータ５４８Ａに触覚出力を生成する。さらに、デジタル信号処理チェーンはまた、ブーストコントローラ５５４、デュアルフィルタモジュール５５６、リミッタ５５８、フィルタモジュール５６０、アップサンプリングモジュール５６２を含み、ブースタアクチュエータ５６４に触覚出力を生成する。分析モジュール１７０は、１つまたは複数の制御パラメータを渡すことによって、デジタル信号処理チェーンを制御する。同様に、４チャネル実装では、少なくとも４つの触覚処理モジュールがあり、それぞれが分析モジュールを備えたデジタル信号処理チェーンを含み、それぞれが１つまたは複数のマスタアクチュエータ５４８および１つまたは複数のブースタアクチュエータに接続されている。あるいは、４チャネルを、仮想４チャネルを提供するように構成された２つの触覚処理モジュールを使用して実装することもできる。
【０２０７】
図５Ｄを参照すると、ステレオフォニック触覚処理システム５００Ｄが示されている。ステレオフォニック触覚処理システム５００Ｄは、図５Ａ、図５Ｂ、および図Ｃにそれぞれ示されるように、デジタル信号処理チェーン５００Ａまたは５００Ｂまたは５００Ｃに渡される入力音声信号５０２を含む。左側のデジタル信号処理チェーンと右側のデジタル信号処理チェーンとを区別するために、左側のデジタル信号処理チェーンは５００Ｘとして示され、右側のデジタル信号処理チェーンは５００Ｙとして示されている。左側のデジタル信号処理チェーン５００Ｘおよび右側のデジタル信号処理チェーン５００Ｙの出力は、ＬＲブーストコントローラモジュール５７０に提供される。ブーストコントローラモジュール５７０は、デュアルフィルタモジュール、リミッタモジュール、フィルタモジュール、アップサンプリングモジュールを含み、ブースタアクチュエータ５６４を駆動する。さらに、左側のデジタル信号処理チェーン５００Ｘは、左マスタアクチュエータ５４８Ａおよび５４８Ｃなどの１つまたは複数の左アクチュエータを介して触覚出力を生成する。同様に、右側のデジタル信号処理チェーン５００Ｙは、マスタアクチュエータ５４８Ｂおよびマスタアクチュエータ５４８Ｄなどの１つまたは複数の右マスタアクチュエータを介して触覚出力を生成する。左側のデジタル信号処理チェーン５００Ｘおよび右側のデジタル信号処理チェーン５００Ｙからの出力信号の一部は、ＬＲブーストコントローラモジュール５７０に提供される。ＬＲブーストコントローラは、前述のように１つまたは複数の制御パラメータに基づいてトリガされる。マスタアクチュエータ、例えば、マスタアクチュエータ５４８Ａおよびマスタアクチュエータ５４８Ｂの触覚出力は、同期された触覚体験を生成するためにブースタアクチュエータ５６４と調和されている。１つの左マスタアクチュエータ５４８Ａおよび１つの右マスタアクチュエータ５４８Ｂのみが提供されているが、触覚処理システム５００Ｄは、他の実装において、５４８Ａおよび５４８Ｃなどの２つ以上の左マスタアクチュエータと、５４８Ｂおよび５４８Ｄなどの２つ以上の右マスタアクチュエータを有することができる。
【０２０８】
図５Ｅは、本発明の一実施形態におけるヘッドホン上のブースタアクチュエータ５６４を備えた左マスタアクチュエータ５４８Ａおよび右マスタアクチュエータ５４８Ｂの配置を示している。さらに、図５Ｅに示す本発明の別の変形例では、ブースタアクチュエータ５６４を備えた左マスタアクチュエータ５４８Ａおよび右マスタアクチュエータ５４８Ｂとともに、５４８Ｃなどの１つまたは複数の追加の左マスタアクチュエータおよび５４８Ｄなどの１つまたは複数の追加の右マスタアクチュエータを提供することができる。
【０２０９】
図５Ｆを参照すると、触覚処理システム５００Ｆは、左側のデジタル信号処理チェーン５００Ｘおよび右側のデジタル信号処理チェーン５００Ｙで示されている。左側のデジタル信号処理チェーン５００Ｘおよび右側のデジタル信号処理チェーン５００Ｙは互いに同一であるが、現在の実装とは異なる変形例で５００Ａまたは５００Ｂまたは５００Ｃで提供されるような独立した触覚処理システムである。一実装形態では、左側のデジタル信号処理チェーン５００Ｘは、左マスタアクチュエータ５４８Ａおよび左ブースタアクチュエータ５６４Ａを駆動する。同様に、右側のデジタル信号処理チェーン５００Ｙは、右マスタアクチュエータ５４８Ｂおよび右ブースタアクチュエータ５６４Ｂを駆動する。左側のデジタル信号処理チェーン５００Ｘおよび右側のデジタル信号処理チェーン５００Ｙの左ブーストコントローラモジュールおよび右ブーストコントローラモジュールからの出力もまた、ＬＲブースタコントローラモジュール５７０に提供される。ＬＲブースタコントローラモジュールは、マスタアクチュエータおよびブースタアクチュエータと同期して、中央ブースタアクチュエータ５６４を駆動する。
【０２１０】
図５Ｇを参照すると、ヘッドホンの各チャネル上に少なくとも２つのマスタアクチュエータおよび２つのブースタアクチュエータを備えた、ヘッドホン上の触覚システムの実装形態が提供されている。例示的な実装形態はヘッドホンに示されているが、触覚モジュール１０８は、ヘッドバンド、ゲームコントローラ、ゲームパッド、ジョイスティック、モバイルデバイス、または触覚出力を備えた他のゲームデバイスに実装され得る。図５Ｇは、各チャネル内の少なくとも２つのアクチュエータを示している。左チャネルは、左マスタアクチュエータ５４８Ａ、左ブースタアクチュエータ５６４Ａ、別の左マスタアクチュエータ５４８Ｃ、および別の左ブースタアクチュエータ５６４Ｃを有する。同様に、右チャネルは、右マスタアクチュエータ５４８Ｂ、右マスタアクチュエータ５４８Ｄ、右ブースタアクチュエータ５６４Ｂ、および右ブースタアクチュエータ５６４Ｄを有する。複数のマスタアクチュエータおよび複数のブーストアクチュエータなどの他の変形もまた、本発明の範囲内にある。
【０２１１】
図５Ｈは、ヘッドホンに実装された１つまたは複数のマスタアクチュエータおよび１つまたは複数のブースタアクチュエータの別の変形例を示している。５００Ｈを参照すると、構成は、少なくとも２つの左マスタアクチュエータ５４８Ａおよび５４８Ｃと、少なくとも２つの右マスタアクチュエータ５４８Ｂおよび５４８Ｄを含む。さらに、少なくとも２つの左ブースタアクチュエータ５６４Ａおよび５６４Ｃと、少なくとも２つの右ブースタアクチュエータ５６４Ｂおよび５６４Ｄが、中央ブースタアクチュエータ５６４とともに存在する。中央ブースタアクチュエータ５６４は、左ブースタアクチュエータ５６４Ａ，５６４Ｃおよび右ブースタアクチュエータ５６４Ｂ，５６４Ｄと協調して機能する。
【０２１２】
現在の実装の変形例では、リミッタモジュール５４２およびリミッタモジュール５５８は、オーバードライブモジュールおよびダンピングモジュールに関連付けられている。マスタアクチュエータ５４８およびブースタアクチュエータ５６４の初期重量のために、励起電圧がマスタアクチュエータ５４８およびブースタアクチュエータ５６４に渡されるとき、予想される振動を達成するのに時間がかかる。これは、アクチュエータの移動質量の重量によるものである。アクチュエータの遅い応答は、最初の励起で予想される振動に到達するための追加の励起を提供するオーバードライブモジュールによって補償される。さらに、マスタアクチュエータ５４８およびブースタアクチュエータ５６４内の移動質量の重量は、振動中に運動量を増す。振動中に得られる運動量のために、マスタアクチュエータ５４８およびブースタアクチュエータ５６４内の移動質量は直ちには停止しない。マスタアクチュエータ５４８およびブースタアクチュエータ５６４の追加の振動を補償するために、減衰モジュールが提供される。ダンピングモジュールは、振動を減衰させ、マスタアクチュエータ５４８およびブースタアクチュエータ５６４を直ちに停止するために、反転された励起信号を提供する。
【０２１３】
リミッタモジュール５４２およびリミッタモジュール５５８の出力は、不要な周波数を減衰させるために、それぞれフィルタモジュール５４４およびフィルタモジュール５６０に提供される。フィルタモジュール５４４およびフィルタモジュール５６０の出力は、それぞれアップサンプリングモジュール５４６およびアップサンプリングモジュール５６２に渡されて、サンプリングレートを所望のレベルに増加させる。アップサンプリングされた信号は、デジタルアナログ回路に渡されて、マスタアクチュエータ５４８およびブースタアクチュエータ５６４をそれぞれ駆動して、触覚出力を生成する。
【０２１４】
図６Ａおよび図６Ｂは、触覚処理中の入力音声信号のさまざまなパラメータを示している。これらのパラメータは、少なくとも１つの動的プロセッサ、例えば、それぞれサイドチェーンモジュール２０８Ａおよび２０８Ｂに関連付けられたノイズゲートモジュール２０６およびコンプレッサモジュール２１２に実装される他のパラメータとは別に、アタック時間、リリース時間、ニー、利得、および閾値を含む。あるいは、これらは、触覚処理システム５００およびその変形にも実装されている。
【０２１５】
図６Ａを参照すると、サイドチェーンモジュール２０８およびサイドチェーンモジュール３１０に関連する異なるパラメータが提供される。単純化および分析のために、入力音声信号１６２は、入力デジタル信号６０６として示されている。閾値レベル６１０は−２０ｄＢに設定されている。現在の実装の変形例では、閾値２０８は、−１０ｄＢから−２０ｄＢの間に設定されている。
【０２１６】
入力デジタルデータ６０６は、閾値６１０を超えて減衰せずに渡される。入力デジタルデータ６０６がちょうど閾値６１０に達すると、ノイズゲート２０６が開かれ、すべての入力デジタルデータ６０６を渡す。入力デジタルデータ６０６が閾値６１０を下回ると、ノイズゲート２０６が閉じられる。閉状態では、ノイズゲート２０６は、入力デジタルデータ６０６を減衰させる。サイドチェーンモジュール２０８Ｂは、入力デジタル音声信号６０６が閾値６１０にあるときに、アタック時間６１２をトリガする。アタック時間６１２は、ノイズゲート２０６が閉状態から開状態に移行するのに必要な時間である。この閉状態から開状態への変化は、フェードイン期間とも呼ばれる。アタック時間６１２は、１０ミリ秒から５０ミリ秒の間に設定される。アタック時間６１２は、ノイズゲート２０６を閉状態から開状態に、またはその逆にスムーズに移行するために必要である。スムーズな移行がない場合、ユーザは短時間サイレンスを体験する可能性がある。入力デジタルデータ６０６が閾値６１０を下回ると、ノイズゲート２０６は閉じて、利得係数／利得低減または減衰係数と呼ばれる事前定義された値によって入力音声信号１６２を減衰させる。分析モジュール１７０は、異なる実装においてリアルタイムで利得係数または閾値６１０を制御する。例えば、分析モジュール１７０は、ノイズゲートモジュール２０６に閾値６１０を設定するために、２．０、３．４または７．５などの絶対値を渡す。あるいは、分析モジュール１７０は、除数（現在のレベルを２で除算する）などの相対値を提供するか、または閾値をノイズゲートモジュール２０６に対して１４パーセント減少させる。続いて、時間Ｔ１の後、入力デジタル音声データ６０６は、閾値６１０を下回る。この場合、ノイズゲート２０６は瞬時に開くのではなく、開く前に短い時間保持する。この短い時間は、ホールド時間６１８と呼ばれる。ホールド時間６１８は、入力デジタルデータ信号６０６が閾値６１０を下回った後、ノイズゲート２０６が閉じる前の時間である。これは、ノイズゲート２０６の開状態と閉状態との間のスムーズな移行を可能にし、また、出力信号６０８にサイレンスまたはクリックを誘発することができない突然の変化を排除する。ノイズゲート２０６を閉じるプロセスを開始するために、リリース時間６２０が開始される。触覚処理モジュールは、別の実装において、ソフトウェア命令を使用してホールド時間６１８をインテリジェントに変化させて、チャタリングを回避する。このプロビジョニングは、ヒステリシスを回避するために、触覚処理モジュール２００または５００のマルチ閾値実装で特別に提供される。ノイズゲート２０６は、リリース時間６２０の終了後に閉じる。リリース期間は０．１ミリ秒から５ミリ秒の間に設定されるが、他の変形例では０．１ミリ秒から１０００ミリ秒の間で変化する。出力波形６０８を図６Ｂに示す。出力波形６０８は実線で表されている。この期間中、ノイズゲート２０６は開いている。対照的に、出力波形６０８は、ノイズゲート２０６が閉じられると、所定の量だけ抑制または減衰され、これは、図６Ｂに破線で示されている。上記の実装は、図６Ａおよび図６Ｂに提供される１つの例示的な表現であるが、他の変形が可能である。
【０２１７】
図７は、ノイズゲート２０６での入力音声信号１６２および出力信号を示している。図７Ａは、ノイズゲートモジュール２０６に適用されている入力音声信号１６２を示している。入力音声信号１６２はまた、検出器を含むサイドチェーンモジュール２０８Ａに渡される。検出器は、入力音声信号１６２の状態を監視して、入力音声信号１６２が閾値レベルより上であるか下であるかを決定する。入力音声信号１６２が閾値レベルを超えると、入力信号は変更されずに渡される。しかしながら、入力音声信号１６２が閾値を下回る場合、入力音声信号１６２は、利得係数／利得低減によって乗算される。これは、利得係数が１未満であるため、入力音声信号１６２を大幅に減少させる。結果は、図７Ｂに示す出力信号である。利得係数の値を０から１の間で変化させることにより、出力信号に適用される減衰量が制御される。さらに、分析モジュール１７０は、ノイズゲートモジュールに関連するパラメータ、例えば、パラメータをノイズゲート２０６に渡すことによって閾値を同時に制御する。
【０２１８】
分析モジュール１７０は、出力信号を強化するために信号利得に対する追加の制御を提供する。分析モジュール１７０は、入力音声信号１６２の分析に基づいて、１つまたは複数の制御パラメータを調整する。分析モジュール１７０は、入力音声信号１６２の処理に直接干渉しないが、デジタル信号処理チェーンを調整するための１つまたは複数の制御パラメータを制御する。分析モジュール１７０によるパラメータの調整は、より良い触覚体験を生成するために出力信号を制御する。デジタル信号処理チェーンのすべてのプロセスおよび分析モジュール１７０で実行されるすべてのプロセスは、並行して、好ましくはマイクロコントローラで実行される。別の変形例では、一部またはすべてのプロセスは、仮想化を使用して実装され得る。
【０２１９】
一例では、本発明の利点を明確に引き出すために、触覚処理モジュール２００は、プリプロセッサモジュール１６４、動的プロセッサ２０６および２１２、サイドチェーン２０８Ａおよび２０８Ｂ、エンベロープフォロワモジュール１７２、オシレータモジュール１７４、共振モジュール１７８、ミキサモジュール１８０、ローパスフィルタ１８２、リミッタモジュール１８４、ベルフィルタモジュール１８６、およびアクチュエータ１８８ならびに他のモジュールを含むデジタル信号処理チェーンを有する。デジタル信号処理チェーンは、入力音声信号１６２のフローパスである。入力音声信号１６２は、分析モジュール１７０にも提供され、分析モジュール１７０は、入力音声信号１６２に対して分析を実行するが、信号のフローを妨害しない。これは、デジタル処理信号チェーンに１つまたは複数の制御パラメータを提供するだけである。
【０２２０】
分析モジュール１７０によって制御または調整される１つまたは複数の制御パラメータは、利得、振幅、周波数、ピッチ、音色、高調波構成、波形、ノイズ、または他のいくつかのタイプのパラメータである。
【０２２１】
分析モジュール１７０がオプションであり得るなど、他のいくつかの変形例を提供することができる。分析モジュール１７０は、ノイズゲートモジュール２０６内でのみパラメータを制御するために部分的に実装され得る。別の変形例では、分析モジュール１７０は、ノイズゲートモジュール２０６およびコンプレッサモジュール２１２にのみ関連付けられている。さらに別の実装形態では、分析モジュール１７０は、ノイズゲートモジュール２０６、サイドチェーンモジュール２０８、コンプレッサモジュール２１２、およびエンベロープフォロワモジュール１７２に関連付けられている。入力音声信号１６２に関連するパラメータの制御または調整を可能にして、ユーザの触覚体験を最適化することを可能にする分析モジュール１７０を使用して、他のさまざまな実装が可能である。
【０２２２】
図８は、コンプレッサモジュール２１２での入力信号および出力信号を示している。図８Ａは、コンプレッサモジュール２１２の入力でノイズゲート２０６から受信された入力音声信号１６２を示している。コンプレッサモジュール２１２の主な機能は、入力音声信号１６２のダイナミックレンジを縮小することである。音声信号のダイナミックレンジは、音声信号の最も静かな部分と最も音が大きな部分の差である。
【０２２３】
コンプレッサモジュール２１２で受信された入力音声信号１６２の振幅は、少なくとも圧縮比および／または閾値に基づいて低減される。サイドチェーンモジュール２０８Ｂ内の検出器は、入力音声信号１６２が閾値を超えたときを検出する。受信した入力信号が閾値を超えると、入力信号の振幅に、圧縮率から導出された利得係数／利得低減が乗算される。図８Ａは、例示的な図における１：４の圧縮比を示している。圧縮率と閾値は、触覚処理の要件によって異なる。圧縮率は１：２〜１：１００で、閾値は０ｄＢ〜−５０ｄＢである。
【０２２４】
推奨される実装形態の圧縮率は１：５に設定され、閾値は−２０ｄＢ〜−３６ｄＢに設定される。コンプレッサモジュール２１２の出力信号が図８Ｂに示されている。図８Ｂは、入力音声信号の振幅を閾値より上に制限することによってダイナミックレンジが大幅に縮小した出力信号を示している。
【０２２５】
図９は、コンプレッサでの利得とダイナミックレンジの縮小を示している。分析モジュール１７０は、コンプレッサモジュール２１２にリアルタイムでパラメータを提供することによって、入力音声信号１６２に適用される利得を調整または制御する。図９Ａは、分析モジュール１７０がない場合のコンプレッサモジュール２１２の出力信号を示している。図９Ｂは、制御パラメータが分析モジュール１７０によって適用されるときのコンプレッサモジュール２１２の出力信号を示している。分析モジュール１７０は、制御パラメータをリアルタイムで継続的に提供する。結果として得られる信号（出力信号）は、それに適用される利得係数とともにダイナミックレンジを縮小するために圧縮される。利得係数は、入力音声信号の振幅、周波数、ピッチ、音色、高調波構成、波形、ノイズレベルなどのさまざまなパラメータに基づいて変化し得る。あるいは、複数のパラメータが、コンプレッサモジュール２１２における音声信号の処理中に分析モジュール１７０によって調整される利得係数を集合的に決定する。
【０２２６】
図１０を参照すると、触覚処理モジュールのフロー図が示されている。プロセス１０００は、ステップ１００２から開始する。ステップ１００４で、プロセス１０００は、触覚出力を生成するためのデジタル音声信号を受信する。ステップ１００４で受信される入力音声信号は、デジタル入力信号またはアナログ音声信号である。受信したアナログ信号は、ステップ１００６に渡す前に、アナログデジタル変換器を使用してデジタル信号に変換される。入力音声信号がデジタル信号の場合、アナログデジタルコンバータは必要ない。ステップ１００６で、音声信号は、信号検出モジュールによって処理されて、入力音声信号の存在をプローブする。入力音声信号が信号検出モジュールによって感知される場合、触覚処理モジュール２００は、検出モジュールによって電源オン状態に保たれ、そうでない場合、それは省電力モードに入る。さらに、信号が出力でのみ検出された場合、検出モジュールは事前定義された期間待機してから省電力モードに入る。これは、現在処理中の触覚処理モジュールに音声信号が存在するためである。検出モジュールが触覚処理モジュールへの電源をオフにするまでの遅延の量は、プリセットによって制御可能であるか、定数としてハードコードされている。ステップ１００８で、受信信号は、入力音声信号のノイズを低減するために処理される。検出器と閾値を含むサイドチェーンモジュールは、入力音声信号のノイズの低減を達成するために利用される。入力音声信号は、サイドチェーンモジュールとノイズゲートに同時に渡される。サイドチェーンには、入力音声信号が閾値を上回っているか下回っているかを検出する検出器が含まれている。入力音声信号が閾値を超えると、ノイズゲートが開き、入力信号は減衰されずに渡される。ただし、入力音声信号が閾値を下回ると、入力信号に利得係数を掛けることで入力音声信号が減衰する。利得係数は０．３に設定されているが、数値０〜１で変化し、例えば、他の変形例では０．３、０．７５、０．８９である。さらに、ノイズゲートでの入力音声信号は、分析モジュールによって動的に調整される。分析モジュールは、振幅のピークを監視することにより、入力音声信号の利得を調整する。ステップ１０１０で、音声信号のダイナミックレンジが縮小する。信号のダイナミックレンジの縮小は、サイドチェーンモジュールと分析モジュールによって制御される。サイドチェーンモジュールには、検出器モジュールと閾値モジュールが含まれる。閾値モジュールは、閾値を設定するために利用される。ステップ１００８から受信された音声信号は、サイドチェーンモジュールおよびコンプレッサモジュールに同時に渡される。さらに、分析モジュールは、入力音声信号の利得を動的に変調して、触覚出力信号を最適化することができる。入力音声信号はサイドチェーンモジュールに渡され、サイドチェーンモジュールは入力音声信号が閾値を下回っているか上回っているかを検出する。入力音声信号が閾値を下回っている場合、検出器はコンプレッサに、圧縮せずに入力信号全体を渡すように指示する。ただし、入力音声信号が閾値を超えている場合、検出器はコンプレッサに指示を送信して、入力信号に圧縮を適用する。入力信号に適用される圧縮の量は、圧縮率に基づいて決定される。適用される圧縮の量は、入力信号の振幅、位相、および周波数を含むがこれらに限定されないさまざまなパラメータによって決定される。
【０２２７】
次に、コンプレッサモジュールからの処理された音声信号は、ステップ１０１２でエンベロープ検出器モジュールを通過し、これにより、受信された入力信号の信号エンベロープを抽出する。エンベロープ検出器モジュールは、受信した高周波波形から低周波波形を生成し、また、バイポーラ信号をユニポーラ信号に変換する。この低周波波形は、高周波波形のレプリカである。エンベロープ検出器モジュールによって生成されたエンベロープ信号は、固定周波数オシレータモジュールを使用して変調される。固定周波数オシレータモジュールは、アクチュエータの共振周波数に合わせて調整されている。ステップ１０１０からの処理された音声信号は、同時に、共振モジュールにも渡される。ステップ１０１４で、膜または弦楽器によって生成された低周波成分は、共振モジュールによって増幅される。一例では、減衰および／または抑制された低周波成分は、触覚信号を生成するように強化される。別の例では、弦または膜によって生成された周波数が受信された音声信号に加算されて、ユーザ体験を向上させるための触覚信号を生成する。
【０２２８】
ステップ１０１６で、異なるソース／モジュールから受信された音声信号は、ミキサモジュールでミキシングされる。ドライ／ウェットモジュールからの出力信号（図１０には示されていない）と、ステップ１０１２および１０１４からの音声出力信号は、触覚出力信号を生成するためにミキシングされる。さらに、１つまたは複数の制御パラメータも分析モジュールから受信される。音声信号のミキシングにより、最適化された触覚信号応答がアクチュエータによって生成される。例えば、周波数の高度な相互ミキシングのために、触覚信号の生成のために適切な周波数のセットを抽出することが困難になる。別の例では、高周波成分が大きいため、音声信号処理中にほとんどの低周波成分も除去される。さらに別の例では、音声信号入力が過剰処理される場合、入力音声信号から導出される触覚信号も、さまざまなモジュールでの処理中に除外される。信号のミキシングは、触覚応答を生成するための適切な品質の信号を生成する。ステップ１０２６は、ステップ１００８、１０１０、および１０１２への入力を提供する。
【０２２９】
ステップ１０１６の出力信号は、残留高周波成分を除去するためにローパスフィルタに渡される。また、触覚信号出力に寄与しない不要な信号を排除する。続いて、１０１６からの音声出力は、ステップ１０２０で、少なくとも１つのフィルタ、例えば、ベルフィルタを介して処理され、固定周波数オシレータの共振周波数またはアクチュエータの共振周波数内およびその周辺の触覚信号の周波数応答を改善する。ステップ１０２２で、アクチュエータは、出力信号を受信して、ユーザに触覚応答を生成する。プロセス１０００は、ステップ１０２４で終了する。
【０２３０】
図１１は、分析モジュールのないデジタル信号処理チェーンのフローチャート１１００を示している。プロセス１１００は、ステップ１１０２で開始される。ステップ１１０４で、プロセス１１００は、音声入力信号を受信する。ステップ１１０６で、プロセス１１００の入力および出力での信号の検出が実行される。入力信号または出力信号が検出されない場合、触覚処理モジュールはバッテリ節約モードに入る。他方、信号が入力または出力のいずれかに存在する場合、触覚処理モジュールは電源オン状態のままである。ステップ１１０８で、入力音声信号は、サイドチェーンモジュールを備えたノイズゲートによって処理されて、入力音声信号のノイズを除去する。ノイズゲートモジュールに関連するサイドチェーンモジュールには、検出器と閾値が含まれている。信号が閾値を上回ったり下回ったりすると、検出器が信号を検出する。入力音声信号が閾値を超えると、入力音声信号全体がノイズゲートモジュールによって渡される。ただし、入力音声信号が閾値を下回ると、ノイズゲートが閉じて、減衰比または利得比／利得低減によって入力信号が減衰する。ノイズゲートからの処理された出力はステップ１１１０に渡され、そこで受信信号は圧縮されて、コンプレッサモジュールによってそのダイナミックレンジを縮小する。ステップ１１１０の処理された出力は、ステップ１１１２および１１１４に同時に渡される。ステップ１１１２で、高周波信号が低周波信号に再生される。低周波数信号は、周波数を下げて受信した入力信号のレプリカである。さらに、この低周波信号は、変調された出力信号を生成するために固定周波数オシレータで変調される。同時に、ステップ１１１４で、受信信号は、弦楽器または膜楽器によって生成された低周波成分について分析される。これらの低周波成分は、異なる音声周波数のミキシングにより抑制された。さらに、これらの低周波数は、受信信号に存在する音声特性に基づいて再現される。ステップ１１１６で、ステップ１１１２および１１１４からの出力信号がミキシングされる。さらに、ステップ１１１６は、ドライ／ウェットモジュールからの入力と、分析モジュールからの１つまたは複数の制御パラメータとを受信する。ステップ１１１６からの出力信号は、ステップ１１１８でローパスフィルタを通過する。ステップ１１２０で、ローパスフィルタからの出力は、アクチュエータの共振周波数の近くおよび周辺の周波数の適切な応答に対応するためにベルフィルタを通過する。ステップ１１２２において、出力信号は、触覚応答を生成するためにアクチュエータに供給される。プロセス１１００は、ステップ１１２４で終了する。
【０２３１】
図１２を参照して、ノイズゲートでの入力音声信号のノイズを低減するためのフローチャートが提供される。プロセス１２００は、ステップ１００８で実行されるプロセスの詳細なフローチャートである。プロセス１２００は、ステップ１００４で音声入力信号を受信することによって開始する。ステップ１００４の音声信号入力は、適切なレベルにダウンサンプリングされて、入力音声信号内の不要な情報を低減し、信号をステップ１２０２の触覚処理に適合させる。信号のダウンサンプリングには、受信信号がアナログ信号の場合、デジタルアナログコンバータを介して入力音声信号を渡すことが含まれる。ステップ１２０４で、入力音声信号は、ドライ／ウェットモジュールおよびノイズゲートに直接供給される。ステップ１２０６で、ダウンサンプリングされた音声信号は、ノイズゲートモジュールおよびサイドチェーンモジュールによって処理されて、入力音声信号のノイズ成分を低減する。サイドチェーンモジュールは、検出器と閾値で構成される。サイドチェーンモジュールには入力音声信号が供給され、閾値が設定され、検出器は入力信号が設定された閾値を下回っているか上回っているかを確認する。入力信号が閾値を超えると、ノイズゲートが開き、減衰することなく入力音声信号を渡す。入力音声信号が閾値を下回っている場合、ノイズゲートは利得係数／利得低減によって入力信号を減衰させ、利得係数／利得低減は、少なくとも入力信号に存在するノイズのレベルに応じて０〜１の範囲になり得る。
【０２３２】
サイドチェーンモジュール２０８Ａは、不要な周波数をプレフィルタリングするためのローパスフィルタを含む。ステップ１２０６の出力は、ステップ１２０４に入力として渡される。ステップ１２０６の出力信号（処理された信号）に対する音声入力信号（未処理の信号）の比率は、「ドライ／ウェット信号比」と呼ばれる。プレミキシング比は固定またはハードコードされている。あるいは、プレミキシング比は、ロータリまたはタッチインタフェースを使用して、利用可能なプリセット値のセットからユーザが選択する。ステップ１２０４からの出力は、ステップ１２０８に提供される。
【０２３３】
図１３を参照すると、コンプレッサモジュールで実行されるプロセス１３００が示されている。プロセス１３００は、ノイズゲートモジュール１００８から処理された信号を受信する。プロセス１３００は、ステップ１３０２でサイドチェーンモジュールから入力音声信号を受信する。サイドチェーンモジュールは、検出器と、閾値を設定できる閾値モジュールで構成される。ステップ１３０２で、閾値が固定される。続いて、入力音声信号は、検出器によって閾値に対して監視される。検出器は、入力音声信号のレベルを閾値に対して継続的に検出して、コンプレッサモジュールの利得を調整する。入力音声信号が閾値を下回る場合、圧縮は適用されない。逆に、入力音声信号が閾値を超えると、受信信号に圧縮が適用される。適用される圧縮は、入力音声信号に関連するさまざまなパラメータに応じて１：２から１：１０まで変化する圧縮比によって決定される。この比率は、入力信号に適用される利得低減の量を決定し、例えば、４：１の比率は、入力レベルが閾値を４ｄＢ超えている場合、出力信号レベルが閾値を１ｄＢ超えているように減少することを意味する。利得と出力レベルが３ｄＢ減少した。最後に、ステップ１３０８で、コンプレッサからの出力信号が生成される。
【０２３４】
図１４は、エンベロープフォロワモジュールによる信号の抽出プロセスの詳細を示している。ステップ１３０８において、コンプレッサモジュールからの出力信号は、エンベロープフォロワモジュールに供給される。エンベロープフォロワモジュールは、コンプレッサモジュールで受信した出力信号から低周波音声信号の抽出を実行する。ステップ１４０２で、高周波信号は、エンベロープフォロワモジュールによって低周波信号に変換される。エンベロープフォロワモジュールからの出力は、ステップ１４０４で固定周波数オシレータに提供される。コンプレッサモジュールの音声出力も、前述のように共振モジュールに同時に提供される。固定周波数オシレータは、アクチュエータの共振周波数に合わせて調整されている。共振モジュールは、音声信号の抑制された低周波数成分を増幅する。さらに、共振モジュールは周波数を補足および増幅して、より良いユーザ体験を生成する。さらに移動すると、共振モジュールの出力は入力ミキサモジュールに送られる。
【０２３５】
図１５を参照すると、フローチャートは、プレミキサモジュールに関連するプロセス１５００を示している。プロセス１５００は、固定周波数オシレータモジュールから入力音声信号１５０２を受信する。この信号は、「ドライ／ウェット」信号の比率である。ステップ１５０４で、共振モジュールからの処理された信号が受信される。さらに、ステップ１５０６で、ドライ／ウェットモジュールからの処理された信号が受信され、これは、所定の比率でのドライ／ウェット信号比の混合物である。これらの信号はすべて同時に受信され、ステップ１５０８で所定の比率でミキシングされて出力信号を生成し、それがローパスフィルタに渡されることに留意されたい。
【０２３６】
図１６は、１６００でのプロセスを示し、分析モジュール１７０内の入力信号処理を説明している。プロセスは１６０２から始まる。ステップ１６０４で、プロセス１６００は、デジタル信号である入力音声信号１６２を受信する。受信された入力信号は、ステップ１６０６および１６０８に同時に渡される。ステップ１６０６で、受信された入力音声信号は、入力音声信号のトランジェントを決定するために、高速エンベロープフォロワおよび低速エンベロープフォロワに渡される。トランジェント検出のための当技術分野で周知のさまざまな技術を利用して、入力音声信号におけるトランジェントの存在を決定することができる。同時に、ステップ１６０８で、入力音声信号が分析されて、信号のピークが決定される。信号のピークは、入力音声信号の特定の時間について分析され得る。特定の時間は１０秒であるが、特定の時間は１０秒から６０秒まで変化する。
【０２３７】
さらにステップ１６１０に移ると、トランジェントが検出されるとき、分析モジュールは、ステップ１６０８で決定されたピーク信号値をＲＭＳ信号値に加算することを一時的に停止する。ＲＭＳ値はゼロに設定される。トランジェントが検出されない場合、ステップ１６１０はバイパスされる。この時点で、分析モジュールは、ステップ１６１４で少なくとも１秒間、入力ＲＭＳ信号の分析を開始する。ステップ１６１６で、分析モジュールは、入力音声信号から得られたＲＭＳ値を計算し、それに６デシベルを加算する。入力音声信号値の最終セットは、分析モジュールに関連付けられたメモリに一時的に格納される。
【０２３８】
並行して、ステップ１６０８で計算されたピーク信号値は、ピーク信号値（デシベル単位）と一定の６ｄＢ利得との間の差を計算するためにステップ１６１４に渡される。このようにして得られた信号値は、メモリ内のバッファに一時的に格納される。
【０２３９】
ステップ１６１８で、バッファメモリに一時的に格納された２つの出力の最小値、すなわち、ステップ１６１６でＲＭＳ信号値の６ｄＢの距離を加算することで得られた第１の最小値と、ステップ１６１４で定数値、例えば、ピーク信号値から６ｄＢの距離、を差し引くことによって得られた第２の最小値が決定される。ステップ１６２０で、第１の値と第２の値とを比較した後に得られた最小値は、閾値または他の制御パラメータを動的に制御するためにノイズゲートに渡される。
【０２４０】
定数値の加算または減算、例えば６ｄＢの距離は、必要な触覚処理に応じて０ｄＢから−２０ｄＢまで変化する。さらに、６ｄＢのデシベル定数値は、信号ノイズ、振幅、周波数、トランジェントの発生頻度、またはその他のパラメータに依存する。同様に、定数値（例えば、信号ピーク値からの６ｄＢの距離）の減算は、信号処理要件に応じて０ｄＢから−２０ｄＢまで変化する。信号のピーク値からの定数値（例えば、６ｄＢまたは−６ｄＢの距離）の減算は、入力音声信号の振幅、周波数、およびノイズレベルに依存する。
【０２４１】
ステップ１６１４から出力された信号はまた、ステップ１６２２でサブベースを制御するためにサイドチェーンモジュールに渡される。一変形例では、サブベースモジュールはサイドチェーンモジュールの一部である。あるいは、別のモジュールとして表示される。プロセスは１６２４で終了する。プロセス１６００は、分析モジュール１７０で具体化されることに留意されたい。別の変形例では、プロセス１６００を、デジタル信号処理チェーンに実装することができる。
【０２４２】
図１７を参照すると、コンプレッサでの入力信号の処理を制御するためのプロセス１７００が示されている。プロセス１７００はまた、実行中の他のプロセスからのパラメータ制御を示している。プロセス１７００は、１７０２で開始する。ステップ１７０４で、プロセス１７００は、入力音声信号を受信する。入力音声信号はデジタル信号である。同時に、プロセス１７００はまた、共振モジュール１７０６からフィードバック信号を受信する。一変形例では、プロセス１７００は、共振モジュール１７０６からフィードバック信号を受信しない。ステップ１７０８で、受信された入力音声信号および物理的共振モジュールからのフィードバック信号が加算され、ローパスフィルタに渡される。ローパスフィルタは、受信信号の低周波数を通過させる。ステップ１７１０で、コンプレッサモジュールの利得は、メモリから受信されたピーク信号値に基づいて正規化される。続いて、コンプレッサモジュールの利得が正規化されると、ステップ１７１２のプロセス１７００は、受信された音声入力信号のＲＭＳ信号値またはピーク信号値のいずれかを計算する。次に、ステップ１７１２のプロセス１７００は、受信された音声入力信号のＲＭＳ信号値およびピーク信号値のいずれかを計算する。さらに、ステップ１７１４で、プロセス１７００は、閾値に基づいて、コンプレッサモジュールに適用される利得低減を計算する。閾値は、コンプレッサモジュールに関連付けられたサイドチェーンモジュールによって提供される。ステップ１７１８で、プロセス１７００は、パラメータ、例えば、絶対値または相対値をメモリから受信する。例えば、受信したパラメータに基づく絶対値である。プロセス１７００は、コンプレッサモジュールに関連するアタックリリースエンベロープフォロワのリリース時間を調整する。現在の実装の変形例では、コンプレッサモジュールは、１つまたは複数のエンベロープフォロワを有することができ、これには、アタックリリースエンベロープフォロワ、アタックリリースホールドエンベロープフォロワなどが含まれる。ステップ１７２０で、プロセス１７００は、コンプレッサに適用される利得低減を設定する。最後に、ステップ１７２２で、出力信号は、コンプレッサ利得制御モジュールに渡される。プロセス１７００は、ステップ１７２６で終了する。プロセス１７００は、分析モジュール１７０に実装されているが、他の変形例では、デジタル信号処理チェーンの動的プロセッサに実装され得る。
【０２４３】
図１８を参照すると、ピーク信号検出のための分析モジュール内のプロセス１８００が提供されている。プロセス１８００はまた、実行中の他のプロセスからのパラメータ制御の実装を示している。プロセス１８００は、ステップ１８０２で開始され、直ちにステップ１８０４に移動する。ステップ１８０４で、プロセス１８００は、入力音声信号を受信する。入力音声信号のピーク値およびＲＭＳ値は、ステップ１８０８で決定され、メモリ１７２４に渡される。さらに、ステップ１８０８で、ピーク値およびＲＭＳ値もまた、（ａ）６ｄＢを差し引いたピーク値（ｄＢ単位）と、（ｂ）６ｄＢに加算されたＲＭＳ値（ｄＢ単位）を比較することによって得られた最小値の計算に渡される。２つの値の最小値が計算され、ステップ１８１２に渡される。さらに、計算された値は、他のプロセスに渡されるために、バッファまたはメモリ（例えば、１７２４）に格納される。プロセス１８００は、ステップ１８１０で終了する。
【０２４４】
図１９は、ノイズゲートを制御するためのプロセス１９００を示しているか、または動的プロセッサが提供されている。プロセス１９００はまた、実行中の他のプロセスからのパラメータ制御の実装を示している。プロセス１９００は、ステップ１９０２で開始し、直ちにステップ１９０４に移動する。ステップ１９０４で、受信信号は、高周波成分を除去するためにローパスフィルタに渡される。ローパスフィルタのカットオフ周波数は２００Ｈｚであるが、他の変形例では、カットオフ周波数は５０Ｈｚ〜２５０Ｈｚまで変化することができる。ローパスフィルタから受信した信号を分析して、ステップ１９０８でピーク信号値を決定する。ステップ１９１０で、信号から抽出されたピーク値は、少なくとも１つの制御パラメータに基づいて利得低減を計算するために利用される。さらに、ステップ１９１０はまた、２つの値を比較することによって導出された最小デシベル値、すなわち、（ａ）ピーク値（デシベル単位）を６ｄＢで減算すること、および（ｂ）６ｄＢから加算することによって得られたＲＭＳ値（デシベル単位）を含む制御パラメータをステップ１６１２から受信する。いくつかの変形例では、パラメータはフロア、ニーおよび閾値または他のパラメータである。利得低減を計算するためにプロセス１９００で利用されるパラメータは、フロア、ニー、および閾値に基づく。利得低減が計算されると、ステップ１９１２でアタックリリースホールドエンベロープフォロワに渡される。続いて、アタックリリースホールドエンベロープフォロワの出力は、ステップ１９１４でノイズゲートモジュールに送信される。プロセスはステップ１９１６で終了する。
【０２４５】
図２０を参照すると、分析モジュール内のＲＭＳ値を決定するためのプロセス２０００が提供されている。プロセス２０００はまた、実行中の他のプロセスからのパラメータ制御の実装を示している。プロセス２０００はステップ２００２で開始され、直ちにステップ２００４に移動する。ステップ２００４で、プロセス２０００は、入力音声信号を受信する。入力音声信号は、トランジェントバイナリ２０１０から受信された入力信号とミキシングされる。トランジェントバイナリは、０または１のいずれかのバイナリ値である。入力音声信号の二乗平均平方根値は、ステップ２００６で計算される。ステップ２００６で計算された二乗平均値は、ステップ２００８に渡される。ステップ２００８はまた、ピーク検出モジュールからパラメータを受信する。現在の実装の他の変形例では、受信したパラメータは、関数呼び出し、プロシージャ、サブルーチンによって、またはメモリを参照することによって、または他のタイプのパラメータ交換メカニズムによって実装される。さらに、ステップ２００８で、（ａ）６デシベルで減算されたピーク値および（ｂ）６デシベルで加算されたＲＭＳ値である２つの値の最小距離が決定される。デシベルで計算された最小値は、本明細書および他の場所で説明されているように、他のプロセスに供給するために利用される。プロセス２０００は、ステップ２０１２で終了する。
【０２４６】
図２１を参照すると、トランジェントを検出するためのプロセス２１００が提供される。プロセス２１００は、ステップ２１０２で開始され、直ちにステップ２１０４に移動する。ステップ２１０４で、プロセス２１００は、入力音声信号を受信する。入力音声信号は、ステップ２１０６でローパスフィルタを通過する。ローパスフィルタからの出力は、ステップ２１０８で高速エンベロープフォロワに、ステップ２１１０で低速エンベロープフォロワにそれぞれ同時に提供される。ステップ２１０８で、高速エンベロープフォロワの出力信号のデシベル値が計算され、ステップ２１１０で、低速エンベロープフォロワのデシベル値が計算される。高速エンベロープフォロワと低速エンベロープフォロワのデシベル値の差は、ステップ２１１２でトランジェントスコアに到達するように決定される。
【０２４７】
デシベル単位の高速エンベロープフォロワと低速エンベロープフォロワの差は、トランジェントスコアを表す。あるいは、トランジェントスコアは、デシベル単位の高速エンベロープフォロワと低速エンベロープフォロワの差に定数値を掛けることによって決定される。ステップ２１１４で、トランジェント閾値レベルが定義される。プリセットモジュールは、トランジェント閾値レベルを設定するために利用されるか、分析モジュールに関連付けられたソフトウェアによって制御される。別の変形例では、予測およびインテリジェンスモジュールは、トランジェント閾値レベルを動的に制御できる。ステップ２１１６で、トランジェントバイナリは、トランジェントスコアに基づいて計算される。トランジェントスコアは、トランジェント閾値レベルに対して分析される。トランジェントスコアがトランジェント閾値を超える場合、トランジェントバイナリは１に設定され、それ以外の場合、トランジェントバイナリは０に設定される。ステップ２１１８で、トランジェントバイナリがトランジェントスコアと乗算されてトランジェント出力を決定し、これがデュアルフィルタに提供され、トランジェントがデュアルフィルタを通過できるようにする。デュアルフィルタは、２つのローパスフィルタ、第１のローパスフィルタ１と第２のローパスフィルタ２の組み合わせである。トランジェント出力は、カットオフ周波数ｆ１の第１のローパスフィルタ１と、カットオフ周波数ｆ２の第２のローパスフィルタ２に提供される。トランジェントが検出されると、予測およびインテリジェンスモジュールは、ユーザ体験を向上させるために、トランジェントを通過するようにデュアルフィルタに指示する。すべてのトランジェントを通過した直後に、デュアルフィルタが閉じて他の高周波成分を減衰させる。デュアルフィルタにより、トランジェントが検出されたときにカットオフ周波数をシフトできる。デュアルフィルタは、第１のローパスフィルタ１と第２のローパスフィルタ２のカットオフ周波数をシフトして、トランジェントを渡し、その後、カットオフ周波数を通常のカットオフ周波数値にフェードさせる。例えば、トランジェントが検出されると、すべてのトランジェントの受け渡しに対応するために、カットオフ周波数ｆ１の第１のローパスフィルタ１は、より高いカットオフ周波数ｆ３にシフトされ、カットオフ周波数ｆ２の第２のローパスフィルタ２は、より高いカットオフ周波数ｆ４にシフトされる。
【０２４８】
トランジェントスコアは、０．２，０．３．．．２．１５などの離散デジタル値である。決定されたバイナリ値は、ステップ１８１０に渡され、これは、プロセス１８００のＲＭＳ検出モジュールに提供される。ステップ２１１８で、出力信号が計算され、続いて、エンベロープフォロワモジュールおよび本明細書および他の場所で説明される他のプロセスに関連するデュアルフィルタに送信される。プロセス２１００は、ステップ２１２０で終了する。
【０２４９】
分析モジュール１７０によるデュアルフィルタへの制御パラメータ値の受け渡しは、値、参照、共有メモリ、またはポインタによってパラメータを渡すことで達成される。
【０２５０】
分析モジュール１７０によるエンベロープフォロワモジュールへの制御パラメータ値の受け渡しは、値、参照、共有メモリ、ポインタ、またはパラメータを渡す他の何らかの方法によってパラメータを渡すことによって達成される。
【０２５１】
デュアルフィルタを、Ｆ１，Ｆ２，．．．Ｆｎなどの異なるカットオフ周波数を有するマルチパスフィルタに置き換えることもできる。分析モジュールは、トランジェントの周波数範囲に従って周波数のシフトを制御するようにプログラムされている。分析モジュールは周波数範囲を決定し、それに応じてトランジェントの周波数範囲に基づいてマルチパスフィルタを設定する。
【０２５２】
分析モジュールは、入力音声信号１６２をリアルタイムで受信することができるが、デジタル信号処理チェーンは、数ミリ秒の遅延で入力音声信号１６２を供給される。分析モジュール１７０は、信号を分析してトランジェントを事前に識別し、それに応じて、デュアルフィルタまたはマルチフィルタを操作してトランジェントを通過する。予測およびインテリジェンスモジュールは、デジタル信号処理チェーンによって処理される前に、トランジェントとピークを予測する。
【０２５３】
パラグラフ１．触覚処理方法が提供され、この方法は、入力音声信号を受信するステップと；さまざまなウィンドウサイズで一定期間のピーク振幅値と二乗平均平方根値を計算するために入力音声信号を分析するステップと；計算されたピーク振幅値および計算された二乗平均平方根値を利用して、（ａ）ピーク振幅値と所定の利得との間の差を決定すること、および（ｂ）二乗平均平方根値と所定の利得の合計を決定すること、によって利得制御を少なくとも１つの動的プロセッサに設定するステップであって、ピーク振幅値から差し引かれた所定の利得および二乗平均平方根値に加算された所定の利得は定数である、ステップと；ステップ（ａ）とステップ（ｂ）で決定された２つの値の最小値を決定するステップと；最小値を適用して、少なくとも１つの動的プロセッサの閾値レベルを動的に変調するステップと、を含む。一実施形態では、定数値を有する所定の利得は、−１０ｄＢから−２０ｄＢの間である。一実施形態では、最小値は、少なくとも１つの動的プロセッサの利得をリアルタイムで更新するために、少なくとも１つの動的プロセッサにパラメータとして提供される。現在の実装の変形例では、パラメータはデジタル信号処理チェーンとは独立して計算される。さらに、パラメータは、入力信号の特性と、分析モジュールによって入力音声信号から蓄積されたインテリジェンスに基づいて提供される。
【０２５４】
パラグラフ２．非一時的なコンピュータ可読媒体が提供され、プロセッサによって実行されると、プロセッサに入力音声信号を受信し、入力音声信号を分析して、さまざまなウィンドウサイズで一定期間の少なくとも１つのピーク振幅値および少なくとも１つの二乗平均平方根値を計算する機能を実行させる命令を非一時的なコンピュータ可読媒体に格納し、分析された少なくとも１つのピーク振幅値を決定してピーク信号値を計算し、分析された少なくとも１つの二乗平均平方根値を決定して平均二乗平均平方根値を計算し、（ａ）ピーク信号値と所定の一定利得との差を決定し、（ｂ）二乗平均平方根値と所定の一定利得の合計を決定し、ここで、所定の一定利得はピーク振幅値から差し引かれ、所定の一定利得が二乗平均平方根値に加算され、（ｃ）ステップ（ａ）およびステップ（ｂ）で決定された２つの値の最小値を決定し、（ｄ）決定された最小値を適用して、少なくとも１つの動的プロセッサの閾値レベルを動的に変調する、ことにより、少なくとも１つの動的プロセッサの利得を設定する。
【０２５５】
パラグラフ３．触覚処理システムは、プリプロセッサ、少なくとも１つの動的プロセッサ、メモリ、エンベロープフォロワ、物理的共振モジュール、固定周波数オシレータ、ローパスフィルタ、ベルフィルタ、リミッタ、およびアクチュエータを含むデジタル信号処理フローチェーンを備えている。触覚処理システムはまた、少なくとも１つの動的プロセッサおよびメモリに関連付けられ、入力音声信号を受信することを可能にする分析モジュールを含む。分析モジュールには、二乗平均平方根モジュールが含まれており、このモジュールは、入力音声信号を受信して二乗平均平方根値を計算することができる。計算された二乗平均平方根値は、所定の定数値で加算される。ピーク検出モジュールは、入力音声信号を受信して、ピーク信号値を計算する。ピーク信号値は、所定の定数値から差し引かれる。二乗平均平方根値に加算され、ピーク値から減算される定数値は同じである。さらに、予測モジュールは、２つの値の最小値、つまり、（ａ）所定の定数値に加算された二乗平均平方根値、および（ｂ）ピーク信号値から差し引かれたピーク信号値、を計算する。この最小値はメモリにバッファリングされる。バッファリングされた値は、少なくとも１つの動的プロセッサに提供される。
【０２５６】
パラグラフ４．触覚処理方法が提供され、入力音声信号を受信し、入力音声信号を処理してノイズを除去し、少なくとも１つの動的プロセッサを使用して入力音声信号のダイナミックレンジを縮小するステップを含む。少なくとも１つの動的プロセッサは、サイドチェーンモジュール、検出器モジュール、および閾値モジュールに関連付けられている。さらに、デジタル信号処理チェーン内の少なくとも１つの動的プロセッサは、閾値および利得に関連付けられている。分析モジュールは、入力音声信号を個別に受信し、１つまたは複数のピーク信号値、二乗平均平方根値、および一定期間のトランジェント値を計算することにより、音声入力信号の特性を決定する。分析モジュールは、１つまたは複数のピーク信号値、二乗平均平方根値、および少なくとも１つの動的プロセッサにリアルタイムで適用されるトランジェント値に基づいて閾値パラメータと利得パラメータを計算する。閾値パラメータと利得パラメータは、関数呼び出し、変数を使用して、またはメモリ参照として、分析モジュールによって少なくとも１つの動的プロセッサに渡される。少なくとも１つの動的プロセッサは、閾値パラメータを利用して閾値レベルを設定する。別の動的プロセッサは、利得パラメータを利用して、デジタル信号処理チェーンで処理されている信号の利得を制御する。デジタル信号処理チェーンは、閾値パラメータと利得パラメータを使用して、少なくとも１つの動的プロセッサを動的に継続的に更新し、触覚出力を生成する。一実装形態では、デジタル信号処理チェーンは２つの動的プロセッサを含み、第１の動的プロセッサはノイズゲートであり、ノイズゲートは、少なくとも閾値、ホールド時間、リリース時間、アタック、およびニーを有するサイドチェーンに関連付けられている。第２の動的プロセッサは、コンプレッサであり、コンプレッサは、少なくとも閾値、ホールド時間、リリース時間、アタック、およびニーを有するサイドチェーンに関連付けられている。
【０２５７】
パラグラフ５．触覚処理システムが提供され、デジタル信号処理チェーンを含む。デジタル信号処理チェーンは、少なくとも１つの動的プロセッサをさら含み、少なくとも１つの動的プロセッサは閾値レベルおよび利得を有する入力音声信号を受信するように構成されている。さらに、少なくとも１つの動的プロセッサは、パラメータを受信して、少なくとも閾値レベルまたは少なくとも１つの動的プロセッサの利得を動的に制御することができる。エンベロープフォロワは、バイポーラ信号を受信してユニポーラ信号に変換し、入力音声信号を低周波信号に変換するように構成されている。さらに、固定周波数オシレータが提供され、調整された共振周波数またはその近くで低周波数音声信号を変調する。さらに、共振および物理モデルは、低周波音声信号を強化し、抑制された低周波信号をさらに増幅する。ミキサは、プリセット、共振モデル、および固定周波数オシレータから受信した音声信号をミキシングするように構成されている。ローパスフィルタは、ベルフィルタとリミッタに結合されている。リミッタは、触覚出力を生成するアクチュエータに関連付けられている。触覚処理システムは、一定時間の受信した入力音声信号からピーク値を計算するピーク検出器、一定時間の二乗平均平方根値を計算する二乗平均平方根計算機、および計算された二乗平均平方根値と計算されたピーク値に基づいて少なくとも１つの動的プロセッサに渡されるパラメータを計算して、触覚出力を生成する１つまたは複数の動的プロセッサの閾値と利得を制御するように構成された予測計算機を有する分析モジュールをさらに備える。
【０２５８】
パラグラフ６．触覚処理システムでトランジェント信号を処理する方法が提供される。この方法は、音声入力信号を受信し、入力音声信号をハイパスエンベロープフォロワとローパスエンベロープフォロワに同時に渡すことによって、入力音声信号内のトランジェント信号を検出する。この方法は、ハイパスエンベロープフォロワとローパスエンベロープフォロワとの間の利得の差を計算する。計算された利得の差は、トランジェントスコアを決定するために利用される。方法はトランジェント閾値を受信する。トランジェントスコアはトランジェントバイナリに変換される。トランジェントスコアがトランジェント閾値を上回っている場合、トランジェントバイナリは１（バイナリ１）であり、トランジェントスコアがトランジェント閾値を下回っている場合はゼロである。トランジェント出力は、トランジェントバイナリにトランジェントスコアを乗算することによって計算され、トランジェント出力はエンベロープフォロワとデュアルフィルタに提供される。さらに、トランジェントバイナリはＲＭＳ検出モジュールに提供される。
【０２５９】
パラグラフ７．コンピュータ可読媒体が提供され、プロセッサによって実行されると、入力音声信号に基づいて触覚フィードバックを提供する命令がコンピュータ可読媒体上で符号化され、この命令は、（ａ）入力音声信号を動的プロセッサに処理するステップであって、動的プロセッサは入力音声信号の利得を設定された閾値未満に制御するようにサイドチェーンに構成されている、ステップと、（ｂ）処理された音声信号を、設定された閾値を超える音声信号のダイナミックレンジを制御するためにサイドチェーンで構成された第２の動的プロセッサに入力するステップと、（ｃ）音声信号を：（ｉ）音声信号エンベロープを抽出するためのエンベロープフォロワモジュールであって、音声信号エンベロープは次に固定周波数オシレータの振幅を変調する、エンベロープフォロワモジュール、（ｉｉ）入力音声信号からの弦、膜、プレート、またはその他の楽器モデルの物理モデルを励起するように構成された共振モジュール、に渡すステップと、（ｄ）エンベロープモジュール、共振モジュール、およびドライ／ウェットモジュール信号から出力された信号をミキシングするステップと、（ｅ）触覚出力を生成するために触覚信号をアクチュエータに供給するステップと、を実行する。
【０２６０】
パラグラフ８．触覚処理システムが提供され、この触覚処理システムは、検出モジュールと；サイドチェーンモジュールに構成されたノイズゲートモジュールと；入力音声信号をノイズゲートモジュールの信号出力と所定の比率でミキシングするように構成されたドライ／ウェットモジュールと；別のサイドチェーンモジュールを構成したコンプレッサモジュールと；オシレータに関連付けられたエンベロープモジュールと；抑制された周波数を増幅するように構成された共振モジュールであって、抑制された周波数は、弦または膜楽器を使用して再生される、共振モジュールと；ドライ／ウェットモジュール、固定周波数オシレータモジュール、および共振モジュールからの出力信号をミキシングするように構成されたミキサモジュールと；入力音声信号を独立して処理してインテリジェンスを取り入れ、ノイズゲートモジュールとコンプレッサモジュールにパラメータを提供して、触覚出力を生成するように構成された分析モジュールと、を備える。別の実装形態では、入力音声信号とノイズゲートモジュールの信号出力とのミックスの所定の比率は、０から１の１０進値の間である。さらに、信号ミックスの所定の比率は、プリセットボタンを使用してユーザが制御できる。あるいは、信号ミックスに関連する所定の比率は、一定の固定値である。一実施形態では、分析モジュールは、信号パラメータに基づいて所定の値をインテリジェントに構成することができる。
【０２６１】
パラグラフ９．リアルタイムおよび非リアルタイム信号処理のための触覚処理システムが提供され、触覚処理システムは、設定された閾値未満の入力信号を処理するための動的プロセッサロジック、設定された閾値を超える入力信号を処理するための第２の動的プロセッサロジック、入力信号の平均値および／またはピーク値を計算するモジュール、入力信号の計算されたピークおよび／または平均（ＲＭＳ）値に基づいて動的プロセッサロジックの閾値および／または利得設定を調整するロジック、感度が変化するリアルタイムのオンセット検出を実行するモジュール、のうちの少なくとも２つを含む分析モジュールと；入力信号の信号振幅を分析モジュールの動的プロセッサロジックの制御信号値で乗算するための少なくとも１つの利得モジュールと；入力音声信号を１つまたは複数の利得モジュールの信号出力と所定の比率でミキシングするように構成されたドライ／ウェットモジュールと；オシレータに関連付けられたエンベロープモジュールと；入力信号から弦、膜、プレートまたは他の楽器モデルの物理モデルを励起するように構成された共振モジュールと；ドライ／ウェットモジュール、オシレータモジュール、および共振モジュールからの出力信号をミキシングするように構成されたミキサモジュールと、を備える。現在の実装の変形例では、ピーク値と二乗平均平方根値がメモリに格納され、予測アルゴリズムによって使用されて、入力音声信号のエネルギーの進行をインテリジェントに予測する。一実施形態では、予測アルゴリズムの結果を利用して、少なくとも１つの動的プロセッサの利得、閾値、またはエンベロープパラメータを変更する。一実施形態では、分析モジュールは、可変のルックアヘッド時間を提供し、分析モジュールで発生するすべてのプロセスは、以前に決定されたルックアヘッド時間を使用して並行して実行される。別の実装形態では、信号の平均化の前にローパスフィルタを実装することができる。現在の実装の変形例では、少なくとも１つの動的プロセッサは、閾値またはその近くで利得伝達曲線を適用することができる。さらに、少なくとも１つの動的プロセッサは、事前定義された値によって最大利得低減を制限することができる。一実施形態では、検出器モジュールは、入力音声信号がないが出力触覚信号が存在する場合に、触覚処理システムの所定の時間の間、アクティブ状態を維持するように構成される。
【０２６２】
パラグラフ１０．触覚処理システムが提供され、触覚処理システムは、信号利得低減を計算するための少なくとも１つの動的プロセッサロジックを有する分析モジュールと；二乗平均平方根値を計算するための少なくとも１つの信号平均化計算モジュールと；少なくとも１つの信号ピーク計算モジュールと；信号ピーク値および二乗平均平方根値が格納される少なくとも１つのメモリと；事前定義された感度でリアルタイムのトランジェント検出を実行するための少なくとも１つのモジュールと；入力信号の信号振幅を分析モジュールの動的プロセッサロジックの制御信号値で乗算するための少なくとも１つの利得制御モジュールと；入力信号を並列に処理し、第２のフィルタが第１のフィルタよりも高いカットオフ周波数を有する、第１のフィルタおよび第２のフィルタを含むローパスフィルタと、を備える。一実施形態では、トランジェント検出は、トランジェントのバイナリ状態出力と連続値の両方を提供する。一実施形態では、並列フィルタの入力および出力は、トランジェント検出に基づいて多重化またはミキシングされ、カットオフ周波数の制御されたシフトは、トランジェント出力に基づいて決定される。さらに、デュアルフィルタの第１フィルタと第２フィルタに対応するカットオフ周波数は、トランジェント出力から受信した連続値に基づいて連続的に調整される。
【０２６３】
本明細書で説明するさまざまなモジュールは、単なる例示である。他の構成とモジュール数が使用されてもよい。本発明は、非モジュラアプローチを使用して実施することができ、異なるサブルーチンは、望ましい触覚応答を達成するために１つのユニットとして動作し得る異なる構成要素で実施することができる。さらに、さまざまなモジュールを単一のレイアウトで製造し、単一のチップに実装することができる。あるいは、触覚処理モジュール２００の製造に複数のチップを使用する一方で、１つまたは複数のモジュールを異なるチップ上に実装することができる。
【０２６４】
本明細書で説明されるモジュールによって提供される機能の説明は、例示を目的とするものであり、１つまたは複数のモジュールが説明されているように追加のまたはより少ない機能を提供できるため、限定することを意図するものではない。さらに、モジュールの構成およびそれらの配置もまた、例示を目的とするものであり、本発明の範囲および趣旨から逸脱することなく１つまたは複数のモジュールを削除、追加、または再構成できるため、限定することを意図するものではない。さらに、１つまたは複数のモジュールが削除されてもよく、その機能は、他のモジュールによって完全にまたは部分的に提供されてもよい。さらに、１つまたは複数のモジュールを拡張して、その中に追加のモジュールを示してもよい。拡張された各モジュールの機能は異なる場合があるが、全体的な効果は触覚出力を生成する。
【図面の簡単な説明】
【０２６５】
【図１Ａ】本発明の一実施形態における触覚処理システム１００Ａを示す図である。
【図１Ｂ】本発明の一実施形態における触覚処理モジュール１００Ｂを示す図である。
【図２】少なくとも２つの動的プロセッサを備えた好ましい実施形態２００における触覚処理モジュールの詳細なアーキテクチャを示す図である。
【図３】本発明の好ましい実施形態における分析モジュール３００の拡大図である。
【図３Ｂ】本発明の好ましい実施形態における分析モジュール３００の別の拡大図である。
【図３Ｃ】予測およびインテリジェンスモジュール３１２の異なるモジュールを示す図である。
【図４】プリセットモジュール４０２を備えた触覚処理システム４００を示す図である。
【図５】触覚処理システム５００を示す図である。
【図５Ａ】触覚処理システム５００Ａを示す図である。
【図５Ｂ】触覚処理システム５００Ｂを示す図である。
【図５Ｃ】触覚処理システム５００Ｃを示す図である。
【図５Ｄ】ステレオフォニック触覚処理システム５００Ｄを示す図である。
【図５Ｅ】本発明の一実施形態におけるヘッドホン上のブースタアクチュエータ５６４を備えた左マスタアクチュエータ５４８Ａおよび右マスタアクチュエータ５４８Ｂの配置を示す図である。
【図５Ｆ】触覚処理システム５００Ｆを示す図である。
【図５Ｇ】ヘッドホンの各チャネル上に少なくとも２つのマスタアクチュエータおよび２つのブースタアクチュエータを備えた、ヘッドホン上の触覚システムを示す図である。
【図５Ｈ】ヘッドホンに実装された１つまたは複数のマスタアクチュエータおよび１つまたは複数のブースタアクチュエータの別の変形例を示す図である。
【図６Ａ】触覚処理中の入力音声信号のさまざまなパラメータを示す図である。
【図６Ｂ】触覚処理中の入力音声信号のさまざまなパラメータを示す別の図である。
【図７Ａ】ノイズゲート２０６での入力音声信号１６２を示す図である。
【図７Ｂ】ノイズゲート２０６での入出力信号を示す図である。
【図８Ａ】コンプレッサモジュール２１２での入力信号を示す図である。
【図８Ｂ】コンプレッサモジュール２１２での出力信号を示す図である。
【図９Ａ】分析モジュール１７０がない場合のコンプレッサモジュール２１２の出力信号を示す図である。
【図９Ｂ】制御パラメータが分析モジュール１７０によって適用されるときのコンプレッサモジュール２１２の出力信号を示す図である。
【図１０】触覚処理モジュールのフロー図である。
【図１１】分析モジュールのないデジタル信号処理チェーンのフローチャート１１００である。
【図１２】ノイズゲートでの入力音声信号のノイズを低減するためのフローチャートである。
【図１３】コンプレッサモジュールで実行されるプロセス１３００を示す図である。
【図１４】エンベロープフォロワモジュールによる信号の抽出プロセスを示す図である。
【図１５】プレミキサモジュールに関連するプロセス１５００を示す図である。
【図１６】分析モジュール１７０内の入力信号処理を説明するプロセス１６００を示す図である。
【図１７】コンプレッサでの入力信号の処理を制御するためのプロセス１７００を示す図である。
【図１８】ピーク信号検出のための分析モジュール内のプロセス１８００を示す図である。
【図１９】ノイズゲートを制御するためのプロセス１９００を示す図である。
【図２０】分析モジュール内のＲＭＳ値を決定するためのプロセス２０００を示す図である。
【図２１】トランジェントを検出するためのプロセス２１００を示す図である。
【図１Ａ】
2021527257.tif 000003
【図１Ｂ】
2021527257.tif 000004
【図２】
2021527257.tif 000005
【図３】
2021527257.tif 000006
【図３Ｂ】
2021527257.tif 000007
【図３Ｃ】
2021527257.tif 000008
【図４】
2021527257.tif 000009
【図５】
2021527257.tif 000010
【図５Ａ】
2021527257.tif 000011
【図５Ｂ】
2021527257.tif 000012
【図５Ｃ】
2021527257.tif 000013
【図５Ｄ】
2021527257.tif 000014
【図５Ｅ】
2021527257.tif 000015
【図５Ｆ】
2021527257.tif 000016
【図５Ｇ】
2021527257.tif 000017
【図５Ｈ】
2021527257.tif 000018
【図６Ａ】
2021527257.tif 000019
【図６Ｂ】
2021527257.tif 000020
【図７Ａ】
2021527257.tif 000021
【図７Ｂ】
2021527257.tif 000022
【図８Ａ】
2021527257.tif 000023
【図８Ｂ】
2021527257.tif 000024
【図９Ａ】
2021527257.tif 000025
【図９Ｂ】
2021527257.tif 000026
【図１０】
2021527257.tif 000027
【図１１】
2021527257.tif 000028
【図１２】
2021527257.tif 000029
【図１３】
2021527257.tif 000030
【図１４】
2021527257.tif 000031
【図１５】
2021527257.tif 000032
【図１６】
2021527257.tif 000033
【図１７】
2021527257.tif 000034
【図１８】
2021527257.tif 000035
【図１９】
2021527257.tif 000036
【図２０】
2021527257.tif 000037
【図２１】
2021527257.tif 000038
【手続補正書】
【提出日】令和3年3月17日(2021.3.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
触覚出力を生成するための音声入力信号に存在するトランジェントを処理するための触覚処理方法であって、
前記触覚処理方法は、
デジタル信号処理チェーンと分析プロセッサで入力音声信号を同時に受信するステップと、
前記分析プロセッサで前記入力音声信号を処理して、前記トランジェントの存在を検出するステップと、
前記入力音声信号を高速エンベロープフォロワと低速エンベロープフォロワに同時に渡すステップと、
前記高速エンベロープフォロワと前記低速エンベロープフォロワの出力値の差を計算するステップと、
計算された値の差に基づいてトランジェントスコアを計算するステップと、
トランジェント閾値を受信するステップと、
前記トランジェントスコアに基づいてトランジェントバイナリを導出するステップであって、前記トランジェントバイナリは、前記トランジェントスコアが前記トランジェント閾値を超える場合は１であり、前記トランジェントバイナリは、前記トランジェントスコアが前記トランジェント閾値を下回る場合はゼロ（０）である、ステップと、
前記トランジェントバイナリに前記トランジェントスコアを掛けてトランジェント出力を計算するステップと、
前記デジタル信号処理チェーンで触覚データの前記処理を調整するための前記トランジェント出力を提供するステップと、を含む
触覚処理方法。
【請求項２】
前記分析プロセッサが、トランジェント分析検出器と、入力信号分析およびＲＭＳジェネレータとを備える、
請求項１に記載の触覚処理方法。
【請求項３】
前記トランジェント分析検出器および前記入力信号分析およびＲＭＳジェネレータが、前記入力音声信号における前記トランジェントを処理するための情報を収集するように構成された予測およびインテリジェンスプロセッサに関連付けられる、
請求項２に記載の触覚処理方法。
【請求項４】
前記入力信号分析およびＲＭＳジェネレータが、前記入力音声信号において前記トランジェントが検出されると、二乗平均平方根値を一時的にゼロ（０）に設定する、
請求項１に記載の触覚処理方法。
【請求項５】
前記分析プロセッサがデュアルフィルタの開閉を制御する、
請求項１に記載の触覚処理方法。
【請求項６】
前記トランジェントが前記分析プロセッサによって検出されると、前記デュアルフィルタが、より低いカットオフ周波数からより高いカットオフ周波数にシフトする、
請求項５に記載の触覚処理方法。
【請求項７】
デシベル単位の前記高速エンベロープフォロワと前記低速エンベロープフォロワの出力値の差が前記トランジェントスコアを表す、
請求項１に記載の触覚処理方法。
【請求項８】
前記トランジェント閾値が、プリセットプロセッサを使用して設定される、
請求項１に記載の触覚処理方法。
【請求項９】
触覚出力データを生成するための音声入力信号のトランジェントを処理するための触覚処理システムであって、
前記触覚処理システムは、
１つまたは複数の動的プロセッサを含むデジタル信号処理チェーンと、
少なくともトランジェント検出器を含む分析プロセッサと、を備え、前記トランジェント検出器は、
前記入力音声信号を高速エンベロープフォロワと低速エンベロープフォロワに同時に渡すことにより、前記入力音声信号のトランジェント信号を検出するステップと、
前記高速エンベロープフォロワと前記低速エンベロープフォロワの出力値の差を計算するステップと、
計算値の差に基づいてトランジェントスコアを計算するステップと、
トランジェント閾値を受信するステップと、
前記トランジェントスコアに基づいてトランジェントバイナリを導出するステップであって、前記トランジェントバイナリは、前記トランジェントスコアが前記トランジェント閾値を超える場合は１であり、前記トランジェントスコアが前記トランジェント閾値を下回る場合はゼロ（０）である、ステップと、
前記トランジェントバイナリに前記トランジェントスコアを掛けてトランジェント出力を計算するステップと、
エンベロープフォロワとデュアルフィルタに前記トランジェント出力を提供し、前記トランジェント分析検出器に前記バイナリスコアを提供して、前記デジタル信号処理チェーン内の触覚データの前記処理を調整するステップと、を実行する
触覚処理システム。
【請求項１０】
前記トランジェント分析検出器と入力信号分析およびＲＭＳジェネレータが、前記入力音声信号のトランジェントに関連する情報を収集するように構成された予測およびインテリジェンスプロセッサに関連付けられる、
請求項９に記載の触覚処理システム。
【請求項１１】
前記入力信号分析およびＲＭＳジェネレータは、前記入力音声信号において前記トランジェントが検出されると、二乗平均平方根値を一時的にゼロ（０）に設定する、
請求項９に記載の触覚処理システム。
【請求項１２】
前記分析プロセッサが前記デュアルフィルタの開閉を制御する、
請求項９に記載の触覚処理システム。
【請求項１３】
前記トランジェントが前記分析プロセッサによって検出されると、前記デュアルフィルタが、より低いカットオフ周波数からより高いカットオフ周波数にシフトする、
請求項１２に記載の触覚処理システム。
【請求項１４】
デシベル単位の前記高速エンベロープフォロワと前記低速エンベロープフォロワの出力値の差が前記トランジェントスコアを表す、
請求項９に記載の触覚処理システム。
【請求項１５】
前記トランジェントバイナリが、前記トランジェントスコアに基づいて計算される、
請求項９に記載の触覚処理システム。
【請求項１６】
前記トランジェント閾値が、プリセットプロセッサを使用して設定される、
請求項９に記載の触覚処理システム。
【請求項１７】
コンピュータプログラム製品であって、
前記コンピュータプログラム製品は、非一時的なコンピュータ可読記憶媒体およびプロセッサを備え、前記非一時的なコンピュータ可読記憶媒体は、少なくとも１つのプロセッサによって実行されると、前記プロセッサに、
デジタル信号処理チェーンと分析プロセッサで同時に入力音声信号を受信するステップと、
前記分析プロセッサで前記入力音声信号を処理して、トランジェントの存在を検出するステップと、
前記入力音声信号を高速エンベロープフォロワと低速エンベロープフォロワに同時に渡すステップと、
前記高速エンベロープフォロワと前記低速エンベロープフォロワの出力値の差を計算するステップと、
前記計算値の差に基づいてトランジェントスコアを計算するステップと、
トランジェント閾値を受信するステップと、
前記トランジェントスコアに基づいてトランジェントバイナリを導出するステップであって、前記トランジェントバイナリは、前記トランジェントスコアが前記トランジェント閾値を超える場合は１であり、前記トランジェントバイナリは、前記トランジェントスコアが前記トランジェント閾値を下回る場合はゼロ（０）である、ステップと、
前記トランジェントバイナリに前記トランジェントスコアを掛けてトランジェント出力を計算するステップと、
エンベロープフォロワとデュアルフィルタに前記トランジェント出力を提供し、前記トランジェント分析検出器に前記バイナリスコアを提供して、前記デジタル処理チェーン内の触覚データの前記処理を調整するステップと、
を実行させる実行可能コードを格納する、
コンピュータプログラム製品。
【請求項１８】
前記分析プロセッサが、トランジェント分析検出器と、入力信号分析およびＲＭＳジェネレータとを備える、
請求項１７に記載のコンピュータプログラム製品。
【請求項１９】
前記トランジェント分析検出器および前記入力信号分析およびＲＭＳジェネレータが、前記入力音声信号から情報を収集するように構成された予測およびインテリジェンスプロセッサに関連付けられている、
請求項１８に記載のコンピュータプログラム製品。
【請求項２０】
前記入力信号分析およびＲＭＳジェネレータは、前記入力音声信号において前記トランジェントが検出されると、二乗平均平方根値を一時的にゼロ（０）に設定する、
請求項１７に記載のコンピュータプログラム製品。
【請求項２１】
前記分析プロセッサが、前記デュアルフィルタの開閉を制御する、
請求項１７に記載のコンピュータプログラム製品。
【請求項２２】
前記トランジェントが前記分析プロセッサによって検出されると、前記デュアルフィルタが、より低いカットオフ周波数からより高いカットオフ周波数にシフトする、
請求項２１に記載のコンピュータプログラム製品。
【請求項２３】
デシベル単位の前記高速エンベロープフォロワと前記低速エンベロープフォロワの出力値の差が前記トランジェントスコアに関連付けられている、
請求項１７に記載のコンピュータプログラム製品。
【請求項２４】
前記トランジェントバイナリが、前記トランジェントスコアに基づいて計算される、
請求項１７に記載のコンピュータプログラム製品。
【請求項２５】
前記トランジェント閾値が、プリセットプロセッサを使用して設定される、
請求項１７に記載のコンピュータプログラム製品。
【国際調査報告】
2021527257.tif 000039
2021527257.tif 000040
2021527257.tif 000041
2021527257.tif 000042