(57)【要約】【課題】周波数シフトを用いて入力を一つ以上のハプティック効果に変換するシステムを提供する。【解決手段】システムは、入力信号を受け取る。システムはさらに、入力信号の高速フーリエ変換を行う。システムはさらに、変換された入力信号の一つ以上の周波数をシフト先周波数範囲内の一つ以上の周波数にシフトする。システムはさらに、周波数シフトされた信号の逆高速フーリエ変換を行い、逆変換された信号はハプティック信号を形成する。システムはさらに、ハプティック信号に基づいて一つ以上のハプティック効果を生成する。【選択図】図１
2019109943.tif 000002
【特許請求の範囲】
【請求項１】
周波数シフトを用いて入力を一つ以上のハプティック効果に変換するための、コンピュータ実装される方法であって、
入力信号を受け取るステップと、
前記入力信号の高速フーリエ変換を行うステップと、
変換された前記入力信号の一つ以上の周波数をシフト先周波数範囲内の一つ以上の周波数にシフトするステップと、
周波数シフトされた信号の逆高速フーリエ変換を行うステップであって、逆変換された信号は、ハプティック信号を形成する、ステップと、
前記ハプティック信号に基づいて前記一つ以上のハプティック効果を生成するステップと、
を含む、コンピュータ実装される方法。
【請求項２】
変換された前記入力信号の前記周波数をソートするステップと、
変換された前記入力信号の前記周波数から一つ以上の周波数を選択するステップと、
をさらに含む、請求項１に記載のコンピュータ実装される方法。
【請求項３】
変換された前記入力信号の一つ以上の選択された前記周波数をクラスタリングするステップをさらに含む、請求項２に記載のコンピュータ実装される方法。
【請求項４】
変換された前記入力信号の前記周波数の振幅を正規化するステップをさらに含む、請求項３に記載のコンピュータ実装される方法。
【請求項５】
変換された前記入力信号の前記周波数をソートするステップは、前記周波数を振幅によりソートするステップをさらに含み、
変換された前記入力信号の一つ以上の前記周波数を選択するステップは、振幅が最大の一つ以上の周波数を選択するステップをさらに含み、
変換された前記入力信号の一つ以上の選択された前記周波数をシフトするステップは、一つ以上の選択された前記周波数を前記シフト先周波数範囲へ移すステップをさらに含み、前記シフト先周波数範囲は、ハプティック出力デバイスの共振周波数を含む請求項２に記載のコンピュータ実装される方法。
【請求項６】
変換された前記入力信号の一つ以上の選択された前記周波数を移すステップは、
各選択された周波数の高速フーリエ変換値から導出される振幅を、前記シフト先周波数範囲内の周波数に割り当てるステップと、
前記シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値を無効化するステップと、をさらに含む請求項５に記載のコンピュータ実装される方法。
【請求項７】
変換された前記入力信号の前記周波数をソートするステップは、前記周波数をそれらの正規化された振幅によりソートするステップをさらに含み、
変換された前記入力信号の一つ以上の前記周波数を選択するステップは、振幅が既定の閾値より大きい一つ以上の周波数を選択するステップをさらに含み、
変換された前記入力信号の一つ以上の選択された前記周波数をクラスタリングするステップは、各選択された周波数ごとに、選択された前記周波数の振幅よりも大きい振幅を有する周波数が第一既定範囲内にある場合には選択された前記周波数を除去するステップをさらに含み、
変換された前記入力信号の一つ以上の選択された前記周波数をシフトするステップは、一つ以上のクラスタリングされた前記周波数を一つ以上のブロック内にグループ化するステップであって、各ブロックの幅は、前記シフト先周波数範囲の幅より小さい第二既定範囲の幅である、ステップと、各ブロックの周波数成分を前記シフト先周波数範囲内にシフトするステップと、各ブロックのシフトされた前記周波数成分を、前記シフト先周波数範囲内の周波数にセンタリングするステップとをさらに含む請求項４に記載のコンピュータ実装される方法。
【請求項８】
各ブロックの前記周波数成分を前記シフト先周波数範囲内の周波数にシフトするステップは、
周波数の各グループの高速フーリエ変換値を、前記シフト先周波数範囲内の周波数に割り当てるステップと、
前記シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値を無効化するステップと、をさらに含む請求項７に記載のコンピュータ実装される方法。
【請求項９】
各ブロックは、前記シフト先周波数範囲内のランダムな位置に置かれ、
変換された前記入力信号の一つ以上の選択された前記周波数をクラスタリングするステップは、各クラスタリングされた周波数ごとに、第三既定範囲の振幅スペクトル曲線下面積を計算するステップと、前記面積が既定の閾値より小さい場合にはクラスタリングされた前記周波数を除去するステップとをさらに含む請求項７に記載のコンピュータ実装される方法。
【請求項１０】
変換された前記入力信号の振幅スペクトルを推定するステップをさらに含み、
変換された前記入力信号の前記周波数をソートするステップは、前記周波数を複数の連続したブロックにグループ化するステップをさらに含み、各ブロックは、一つ以上の連続した周波数を含み、
変換された前記入力信号の一つ以上の前記周波数を選択するステップは、各ブロックにつき振幅スペクトル下面積を推定するステップと、各ブロックの前記面積を最大値に正規化するステップと、前記面積が既定の閾値より小さい各ブロックを除去するステップとをさらに含み、
変換された前記入力信号の一つ以上の選択された前記周波数をシフトするステップは、前記面積が最大の一つ以上のブロックの周波数成分を前記シフト先周波数範囲内にシフトするステップと、前記一つ以上のブロックのシフトされた前記周波数成分を前記シフト先周波数範囲内の周波数にセンタリングするステップとをさらに含む請求項２に記載のコンピュータ実装される方法。
【請求項１１】
周波数シフトを用いて入力を一つ以上のハプティック効果に変換するシステムであって、
ハプティック変換モジュールを格納するように構成されたメモリと、
前記メモリに格納された前記ハプティック変換モジュールを実行するように構成されたプロセッサと、を含み、
前記ハプティック変換モジュールは、入力信号を受け取るように構成され、
前記ハプティック変換モジュールは、前記入力信号の高速フーリエ変換を行うようにさらに構成され、
前記ハプティック変換モジュールは、変換された前記入力信号の一つ以上の周波数をシフト先周波数範囲内の一つ以上の周波数にシフトするようにさらに構成され、
前記ハプティック変換モジュールは、周波数シフトされた信号の逆高速フーリエ変換を行うようにさらに構成され、逆変換された前記信号は、ハプティック信号を形成し、
前記ハプティック変換モジュールは、前記ハプティック信号に基づいて前記一つ以上のハプティック効果を生成するようにさらに構成されるシステム。
【請求項１２】
前記ハプティック変換モジュールは、変換された前記入力信号の前記周波数をソートするようにさらに構成され、
前記ハプティック変換モジュールは、変換された前記入力信号の前記周波数から一つ以上の周波数を選択するようにさらに構成される請求項１１に記載のシステム。
【請求項１３】
前記ハプティック変換モジュールは、変換された前記入力信号の一つ以上の選択された前記周波数をクラスタリングするようにさらに構成される請求項１２に記載のシステム。
【請求項１４】
前記ハプティック変換モジュールは、前記周波数を振幅によりソートするようにさらに構成され、
前記ハプティック変換モジュールは、振幅が最大の一つ以上の周波数を選択するようにさらに構成され、
前記ハプティック変換モジュールは、一つ以上の選択された前記周波数を前記シフト先周波数範囲へ移すようにさらに構成され、前記シフト先周波数範囲は、ハプティック出力デバイスの共振周波数を含む請求項１２に記載のシステム。
【請求項１５】
プロセッサにより実行されると請求項１から１０のいずれか一項に記載の方法を前記プロセッサに実施させる命令が格納されたコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
一実施形態は、一般にデバイスを目的とし、より具体的には、ハプティック効果を生み出すデバイスを目的とする。
【背景技術】
【０００２】
ハプティクスは、力、振動、および運動等のハプティックフィードバック効果（すなわち「ハプティック効果」）をユーザに与えることでユーザの触感を利用する、触覚および力フィードバック技術である。モバイルデバイス、タッチスクリーンデバイス、およびパーソナルコンピュータ等のデバイスは、ハプティック効果を生成するように構成できる。一般に、ハプティック効果を生成できるエンベデッドハードウェア（アクチュエータなど）に対する呼び出しが、デバイスのオペレーティングシステム（「ＯＳ」）にプログラミングされうる。これらの呼び出しは、どのハプティック効果を再生するかを特定する。例えば、ユーザが、例えばボタン、タッチスクリーン、レバー、ジョイスティック、ホイール、または他の何らかの制御部を用いてデバイスと対話する際に、デバイスのＯＳが、制御回路を通じてエンベデッドハードウェアに再生コマンドを送信しうる。そして、エンベデッドハードウェアが適切なハプティック効果を生み出す。
【０００３】
デバイスは、ハプティック効果が他のコンテンツに組み込まれるように、ハプティック効果の出力をオーディオなどの他のコンテンツの出力と連携させるように構成できる。例えば、オーディオ効果開発者は、デバイスにより出力できる、機関銃砲火、爆発、または車の衝突音などのオーディオ効果を開発しうる。さらに、ビデオ効果などの他のタイプのコンテンツが開発され、その後デバイスにより出力されうる。その後ハプティック効果開発者はデバイス用にハプティック効果をオーサリングし、デバイスがこのハプティック効果を他のコンテンツとともに出力するように構成されうる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、このようなプロセスには、オーディオ効果または他のタイプのコンテンツを適切に補足するハプティック効果をオーサリングするためのハプティック効果開発者の個人的判断が一般に必要である。オーディオ効果または他のタイプのコンテンツを補足しないオーサリング不良のハプティック効果は、ハプティック効果がオーディオ効果または他のコンテンツと「かみ合わない」全体として不協和の効果を生み出しうる。この種のユーザ体験は、一般に望ましくない。
【課題を解決するための手段】
【０００５】
一実施形態は、周波数シフトを用いて入力を一つ以上のハプティック効果に変換するシステムである。このシステムは、入力信号を受け取る。システムはさらに、入力信号の高速フーリエ変換を行う。システムはさらに、変換された入力信号の一つ以上の周波数を、シフト先周波数範囲内の一つ以上の周波数にシフトする。システムはさらに、周波数シフトされた信号の逆高速フーリエ変換を行い、逆変換された信号はハプティック信号を形成する。システムは、ハプティック信号に基づいて一つ以上のハプティック効果をさらに生成する。
【図面の簡単な説明】
【０００６】
【図１】本発明の一実施形態による、システムのブロック図である。
【図２】本発明の一実施形態による、入力信号の複数の周波数の周波数シフトの図である。周波数シフトは入力信号をハプティック信号に変換するために用いられる。
【図３】本発明の一実施形態による、ハプティック変換モジュールの機能のフロー図である。
【図４】本発明の一実施形態による、入力信号をハプティック信号に変換するための第一方法例のフロー図である。
【図５】本発明の一実施形態による、入力信号をハプティック信号に変換するための第二方法例のフロー図である。
【図６】本発明の一実施形態による、入力信号をハプティック信号に変換するための第三方法例のフロー図である。
【図７】本発明の一実施形態による、入力信号をハプティック信号に変換するための第四方法例のフロー図である。
【図８】本発明の一実施形態による、入力信号をハプティック信号に変換するための第五方法例のフロー図である。
【発明を実施するための形態】
【０００７】
さらなる実施形態、詳細、利点、および修正は、添付の図面とあわせて考慮されるべき以下の好ましい実施形態の詳細な説明から明らかとなるであろう。
【０００８】
一実施形態は、入力信号に関連するハプティック信号を自動的に導出できるシステムである。入力信号の一例は、オーディオ信号であり、オーディオ信号は、オーディオファイルまたはビデオファイル等のマルチメディアファイルのコンポーネントでありうる。導出されたハプティック信号は、アクチュエータ等のハプティック出力デバイスに適合する範囲にシフトされている周波数成分を含む。したがって、システムは、導出されたハプティック信号をハプティック出力デバイスに送り、導出されたハプティック信号に基づいて一つ以上のハプティック効果を生成できる。あるいは、システムは、後に他の信号とともに同期して再生するためにハプティック信号を記憶しうる。本実施形態によれば、システムは、関連するハプティック信号を導出するために、入力信号の高速フーリエ変換を利用しうる。システムは、入力信号の周波数成分を分析し、（様々なアプローチを用いて様々な様式で）最大振幅の周波数を検出し、（様々な技術により）これらの周波数をハプティック出力デバイスの共振周波数の周辺の周波数範囲にシフトしうる。以下にさらに詳述するように、様々な戦略を利用して、入力信号の周波数成分をソートおよびシフトすることができる。
【０００９】
図１は、本発明の一実施形態によるシステム１０のブロック図である。一実施形態では、システム１０はモバイルデバイスの一部であり、システム１０は、モバイルデバイスにハプティック変換機能を提供する。別の実施形態では、システム１０は着用可能デバイスの一部であり、システム１０は、着用可能デバイスにハプティック変換機能を提供する。着用可能デバイスの例には、リストバンド、ヘッドバンド、眼鏡、リング、レッグバンド、衣類と一体化されたアレイ、またはユーザが身に付けまたはユーザによって保持されうる他の任意のタイプのデバイスが含まれる。一部の着用可能デバイスは、「ハプティック式」、すなわちハプティック効果を生成する機構を含むものとすることができる。別の実施形態では、システム１０は、デバイス（例えばモバイルデバイスまたは着用可能デバイス）から切り離されており、デバイスにハプティック変換機能を遠隔提供する。単一のシステムとして図示されているが、システム１０の機能は、分散型システムとして実装されてもよい。システム１０は、バス１２または情報通信のための他の通信機構と、バス１２に結合された情報処理のためのプロセッサ２２とを含む。プロセッサ２２は、任意のタイプの汎用または特定用途向けプロセッサであってよい。システム１０は、プロセッサ２２により実行される情報および命令を格納するメモリ１４をさらに含む。メモリ１４は、ランダムアクセスメモリ（「ＲＡＭ」）、リードオンリメモリ（「ＲＯＭ」）、磁気もしくは光ディスクなどのスタティックストレージ、または他の任意のタイプのコンピュータ可読媒体の任意の組み合わせで構成することができる。
【００１０】
コンピュータ可読媒体は、プロセッサ２２によりアクセス可能な任意の利用可能な媒体であればよく、揮発性および不揮発性媒体の両方、取外し可能および取外し不能媒体、通信媒体、および記憶媒体を含むことができる。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを、搬送波または他のトランスポート機構などの変調データ信号に含むことができ、公知技術のその他の任意の形の情報配信媒体を含みうる。記憶媒体には、ＲＡＭ、フラッシュメモリ、ＲＯＭ、消去可能プログラム可能リードオンリメモリ（「ＥＰＲＯＭ」）、電気的消去可能プログラム可能リードオンリメモリ（「ＥＥＰＲＯＭ」）、レジスタ、ハードディスク、取外し可能ディスク、コンパクトディスクリードオンリメモリ（「ＣＤ−ＲＯＭ」）、または公知技術の他の任意の形の記憶媒体を含みうる。
【００１１】
一実施形態では、メモリ１４は、プロセッサ２２により実行されたときに機能を提供するソフトウェアモジュールを格納する。モジュールは、一実施形態ではシステム１０のほかモバイルデバイスの残りの部分にオペレーティングシステム機能を提供する、オペレーティングシステム１５を含む。モジュールは、以下でより詳細に開示するように、周波数シフト用いて入力を一つ以上のハプティック効果に変換する、ハプティック変換モジュール１６をさらに含む。ある実施形態では、ハプティック変換モジュール１６は、周波数シフトを用いて入力を一つ以上のハプティック効果に変換するための特定の個別の機能を各モジュールが提供する、複数のモジュールを含みうる。システム１０は通常、Ｉｍｍｅｒｓｉｏｎ  ＣｏｒｐｏｒａｔｉｏｎによるＩｎｔｅｇｒａｔｏｒ（登録商標）ソフトウェアなど、追加の機能を含むための一つ以上の追加のアプリケーションモジュール１８を含む。
【００１２】
システム１０は、リモートソースからデータを送信および／または受信する実施形態では、赤外線、無線、Ｗｉ−Ｆｉまたはセルラネットワーク通信等の移動無線ネットワーク通信を提供するために、ネットワークインタフェースカード等の通信デバイス２０をさらに含む。他の実施形態では、通信デバイス２０は、イーサネット（商標）接続またはモデム等の有線ネットワーク接続を提供する。
【００１３】
プロセッサ２２は、グラフィック表現またはユーザインタフェースをユーザに表示するための液晶ディスプレイ（「ＬＣＤ」）等のディスプレイ２４に、バス１２を介してさらに結合される。ディスプレイ２４は、プロセッサ２２から信号を送受信するように構成されたタッチスクリーン等の接触感知式入力デバイスでもよく、マルチタッチ式タッチスクリーンでもよい。
【００１４】
システム１０は、一実施形態では、アクチュエータ２６をさらに含む。プロセッサ２２は、生成されたハプティック効果に関連したハプティック信号をアクチュエータ２６に送信し、さらにアクチュエータ２６が、振動触覚ハプティック効果、静電摩擦ハプティック効果、または変形ハプティック効果等のハプティック効果を出力する。アクチュエータ２６は、アクチュエータ駆動回路を含む。アクチュエータ２６は、例えば、電動モータ、電磁アクチュエータ、ボイスコイル、形状記憶合金、電気活性ポリマ、ソレノイド、偏心回転質量モータ（「ＥＲＭ：ｅｃｃｅｎｔｒｉｃ  ｒｏｔａｔｉｎｇ  ｍａｓｓ  ｍｏｔｏｒ」）、リニア共振アクチュエータ（「ＬＲＡ：ｌｉｎｅａｒ  ｒｅｓｏｎａｎｔ  ａｃｔｕａｔｏｒ」）、圧電アクチュエータ、高帯域幅アクチュエータ、電気活性ポリマ（「ＥＡＰ：ｅｌｅｃｔｒｏａｃｔｉｖｅ  ｐｏｌｙｍｅｒ」）アクチュエータ、静電摩擦ディスプレイ、または超音波振動発生器でもよい。代替的実施形態では、システム１０は、アクチュエータ２６に加えて、一つ以上の追加のアクチュエータを含みうる（図１には示されない）。アクチュエータ２６は、ハプティック出力デバイスの一例であり、ここでハプティック出力デバイスとは、駆動信号に応答して振動触覚ハプティック効果、静電摩擦ハプティック効果、または変形ハプティック効果等のハプティック効果を出力するように構成されたデバイスである。代替的実施形態では、アクチュエータ２６は、他の何らかのタイプのハプティック出力デバイスに置換できる。さらに、他の代替的実施形態では、システム１０はアクチュエータ２６を含まなくてもよく、システム１０とは別個のデバイスが、アクチュエータまたはハプティック効果を生成する他のハプティック出力デバイスを含み、システム１０は、生成されたハプティック信号を、通信デバイス２０を通じてそのデバイスに送る。
【００１５】
システム１０は、一実施形態では、スピーカ２８をさらに含む。プロセッサ２２は、スピーカ２８にオーディオ信号を送信してもよく、さらにスピーカ２８がオーディオ効果を出力する。スピーカ２８は、例えば、ダイナミックラウドスピーカ、動電（ｅｌｅｃｔｒｏｄｙｎａｍｉｃ）ラウドスピーカ、圧電ラウドスピーカ、磁気歪みラウドスピーカ、静電ラウドスピーカ、リボン型平面磁気ラウドスピーカ、屈曲波ラウドスピーカ、フラットパネルラウドスピーカ、ハイルエアモーショントランスデューサ、プラズマアークスピーカ、およびデジタルラウドスピーカでありうる。代替的実施形態では、システム１０は、スピーカ２８に加えて、一つ以上の追加のスピーカを含みうる（図１には示されない）。さらに、他の代替的実施形態では、システム１０は、スピーカ２８を含まなくてもよく、システム１０とは別個のデバイスが、オーディオ効果を出力するスピーカを含み、システム１０は、オーディオ信号を、通信デバイス２０を通じてそのデバイスに送る。
【００１６】
システム１０は、一実施形態では、センサ３０をさらに含む。センサ３０は、音、動作、加速度、生体信号、距離、流量、力／圧力／歪み／屈曲、湿度、線形位置、方位／傾斜、無線周波数、回転位置、回転速度、スイッチの操作、温度、振動、または可視光強度等であるがこれに限定されない、エネルギーの一形態または他の物理的性質を検出するように構成されうる。センサ３０は、検出エネルギーまたは他の物理的性質を、電気信号または仮想センサ情報を表す任意の信号に変換するようにさらに構成されうる。センサ３０は、加速度計、心電図、脳波図、筋電計、眼電図、電気的パラトグラフ、電気皮膚反応センサ、容量センサ、ホール効果センサ、赤外センサ、超音波センサ、圧力センサ、光ファイバセンサ、曲りセンサ（または屈曲センサ）、力感知レジスタ、ロードセル、ＬｕＳｅｎｓｅ  ＣＰＳ２  １５５、ミニチュア圧力トランスデューサ、圧電センサ、ストレインゲージ、湿度計、線形位置タッチセンサ、線形ポテンショメータ（またはスライダ）、線形可変差動変圧器、コンパス、傾斜計、磁性タグ（または無線周波数識別タグ）、回転エンコーダ、回転ポテンショメータ、ジャイロスコープ、オンオフスイッチ、温度センサ（温度計、熱電対、抵抗温度検知器、サーミスタ、または温度変換集積回路等）、マイクロホン、光度計、高度計、生体モニタ、カメラ、または光依存レジスタ等であるがこれに限定されない任意のデバイスであってよい。代替的実施形態では、システム１０は、センサ３０に加えて、一つ以上の追加のセンサを含みうる（図１には示されない）。これらの実施形態の一部では、センサ３０および一つ以上の追加のセンサは、センサアレイまたは他の何らかのタイプのセンサの集まりの一部であってもよい。さらに、他の代替的実施形態では、システム１０は、センサ３０を含まなくてもよく、システム１０とは別個のデバイスが、エネルギーの一形態または他の物理的性質を検出するセンサを含み、検出されたエネルギーまたは他の物理的性質を、電気信号または仮想センサ情報を表す他のタイプの信号に変換する。それからこのデバイスが、変換された信号を、通信デバイス２０を通じてシステム１０に送ることができる。
【００１７】
図２は、本発明の一実施形態による、入力信号の複数の周波数の周波数シフトを示す。周波数シフトは入力信号をハプティック信号に変換するために用いられる。図２は、入力信号の一種であるオーディオ信号を表したグラフ２１０を示す。代替的実施形態では、オーディオ信号は、ビデオ信号、加速度信号、方位信号、周囲光信号、またはセンサで捕らえられたデータを含みうる別のタイプの信号など、別のタイプの入力信号で置換されうる。
【００１８】
本実施形態によれば、オーディオ信号に高速フーリエ変換が行われればよく、変換されたオーディオ信号がグラフ２２０により表される。高速フーリエ変換とは、空間または時間等の一つのドメインで定義された信号または他の関数の、波長または周波数等の別のドメインへのマッピングである。
【００１９】
その後、変換されたオーディオ信号の一つ以上の周波数が、複数の周波数シフト方法の一つに従ってソートおよびシフトされればよく、周波数シフトされたオーディオ信号がグラフ２３０により表される。より具体的には、変換された信号の周波数は、特性（振幅等）によりソートされ、変換された信号のソートされた周波数のうちの一つ、複数、または全てが選択され、変換された信号の選択された周波数が、既存の周波数から「シフト先」周波数範囲内の周波数にシフトされる。
【００２０】
周波数をソートおよびシフトする技術の例は、図４、５、６、７、および８とあわせて、入力信号をハプティック信号に変換する方法の例の一部としてさらに後述する。しかし、当業者には当然のことながら、後述する周波数シフト技術の例は、実施形態例による周波数シフト技術の例にすぎず、代替的実施形態では、他の代替的周波数シフト技術によって、変換されたオーディオ信号の周波数がソートおよびシフトされてもよい。さらに、後述する技術例を用いて、選択された周波数シフト技術に基づいて異なる「フィーリング」を出すハプティック効果の固有のセットを生み出しうる。加えて、使用される周波数シフト技術は、システムにより予め定義されてもよく、またはシステム管理者、ハプティック効果開発者、ユーザ、またはその他の人によりカスタマイズされてもよい。
【００２１】
本実施形態によれば、周波数シフトされたオーディオ信号に逆高速フーリエ変換が行われればよく、逆変換されたオーディオ信号がグラフ２４０により表される。その後、逆変換されたオーディオ信号に基づいてハプティック信号が形成されうる。ハプティック信号はその後、アクチュエータ等のハプティック出力デバイスに送られればよく、ハプティック出力デバイスによりハプティック信号を用いて一つ以上のハプティック効果が出力される。あるいは、ハプティック信号は、ＲＡＭ、フラッシュメモリ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または他の任意の形の記憶媒体などの記憶媒体に格納されうる。ハプティック信号はその後、記憶媒体から取り出され、ハプティック出力デバイスに送られればよく、ハプティック出力デバイスがハプティック信号に基づいて一つ以上のハプティック効果を出力すればよい。
【００２２】
図３は、本発明の一実施形態による、ハプティック変換モジュール（図１のハプティック変換モジュール１６等）の機能のフロー図である。一実施形態では、図３の機能、ならびに図４、５、６、７、および８の機能は、それぞれ、メモリまたは他のコンピュータ可読媒体または有形媒体に格納されたソフトウェアにより実施され、プロセッサにより実行される。他の実施形態では、各機能は、ハードウェアにより（例えば、特定用途向け集積回路（「ＡＳＩＣ」）、プログラム可能ゲートアレイ（「ＰＧＡ」）、フィールドプログラム可能ゲートアレイ（「ＦＰＧＡ」）などを使用して）、またはハードウェアとソフトウェアの任意の組み合わせにより行われうる。
【００２３】
フローが開始し、３００に進む。３００では、入力信号が受け取られる。ある実施形態では、入力信号はオーディオ信号でありうる。他の実施形態では、入力信号はビデオ信号でありうる。他の実施形態では、入力信号は加速度信号でありうる。その後、フローは３１０へ進む。
【００２４】
３１０では、入力信号に高速フーリエ変換が行われる。その後、フローは３２０へ進む。
【００２５】
３２０では、変換された入力信号の複数の周波数の振幅が正規化される。ある実施形態では、入力信号の高速フーリエ変換により、周波数を含む一つのベクトルと、それらの周波数に対応するマグニチュードを含むもう一つのベクトルの、二つのベクトルが得られる。全てのマグニチュードからは最大値を見つけることができ、最大値を用いて全てのマグニチュードを正規化することができ、これによって１より小さい値のマグニチュードベクトルが得られる。換言すれば、マグニチュードを含むベクトルは１に正規化されうる。ある実施形態では、３２０は省略されうる。その後、フローは３３０へ進む。
【００２６】
３３０では、変換された入力信号の周波数がソートされる。周波数は、周波数の特性に基づいてソートされうる。ある実施形態では、変換された入力信号の周波数は、図４、５、６、７、および８に関連して以下に詳述する、入力信号をハプティック信号に変換する一つの方法例の一部であるソーティング法に従ってソートされうる。ある実施形態では、３３０は省略されうる。その後、フローは３４０へ進む。
【００２７】
３４０では、変換された入力信号の周波数から一つ以上の周波数が選択される。変換された入力信号のうちの一つ、複数、または全ての周波数が選択されうる。ある実施形態では、変換された入力信号の周波数は、図４、５、６、７、および８に関連して以下に詳述する、入力信号をハプティック信号に変換する一方法例の一部である選択技術に従って選択されうる。ある実施形態では、３４０は省略されうる。その後、フローは３５０へ進む。
【００２８】
３５０では、変換された入力信号の選択された周波数がクラスタリングされる。クラスタリングにより、選択された周波数が、より少数の周波数に減少されうる。ある実施形態では、変換された入力信号の選択された周波数は、図４、５、６、７、および８に関連して以下に詳述する、入力信号をハプティック信号に変換する一つの方法例の一部であるクラスタリング技術に従ってクラスタリングされうる。加えて、ある実施形態では、３５０は省略されうる。その後、フローは３６０へ進む。
【００２９】
３６０では、変換された入力信号のクラスタリングされた周波数が、「シフト先（ｓｈｉｆｔ−ｔｏ）」周波数範囲内にシフトされる。シフトにより、各クラスタリングされた周波数が、その元の周波数（すなわち「シフト元（ｓｈｉｆｔ−ｆｒｏｍ）」周波数）から新たな周波数（すなわち「シフト先」周波数）に移動される。ある実施形態では、変換された入力信号のクラスタリングされた周波数は、図４、５、６、７、および８に関連して以下に詳述する、入力信号をハプティック信号に変換する一つの方法例の一部である周波数シフト技術に従ってシフトされうる。また、ある実施形態では、得られた周波数シフトされた信号に基づいてハプティック信号が形成される。その後、フローは３７０へ進む。
【００３０】
３７０では、周波数シフトされた信号に逆高速フーリエ変換が行われる。ある実施形態では、得られた逆変換された信号に基づいてハプティック信号が形成される。その後、フローは３８０へ進む。
【００３１】
３８０では、逆変換された信号が元の入力信号で包絡処理される。これは、元の入力信号と逆変換された信号との間の１対１（サンプル）乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード１を有する包絡線によって乗算することができる。ある実施形態では、得られた包絡処理済み信号に基づいてハプティック信号が形成される。代替的実施形態では、３８０は省略されうる。その後、フローは３９０へ進む。
【００３２】
３９０では、ハプティック信号に基づいて一つ以上のハプティック効果が生成される。一部の実施形態では、ハプティック信号が、図１のアクチュエータ２６等のハプティック出力デバイスに送られて、一つ以上のハプティック効果が生成されうる。その後、フローは終了する。
【００３３】
図４は、本発明の一実施形態による、入力信号をハプティック信号に変換する第一方法例のフロー図である。フローが開始し、４１０に進む。４１０では、オーディオ信号、ビデオ信号、加速度信号、またはセンサで捕らえられたデータを含みうる他の任意の信号などの入力信号に高速フーリエ変換が行われる。その後、フローは４２０へ進む。
【００３４】
４２０では、変換された入力信号の周波数は、その振幅によりソートされる。その後、フローは４３０へ進む。
【００３５】
４３０では、変換された入力信号の周波数から、振幅が最大の既定数の周波数が選択される。既定数の周波数は、既定周波数範囲の幅に等しければよい。既定周波数範囲は、「シフト先（ｓｈｉｆｔ−ｔｏ）」周波数範囲でありうる。その後、フローは４４０へ進む。
【００３６】
４４０では、選択された周波数がシフト先周波数範囲へ移される。ある実施形態では、シフト先周波数範囲は、ハプティック出力デバイスの共振周波数（ｒｅｓｏｎａｔｅ  ｆｒｅｑｕｅｎｃｙ）を含みうる。それらの実施形態の一部では、ハプティック出力デバイスはアクチュエータでありうる。さらに、ある実施形態では、選択された周波数は、各選択された周波数の振幅（高速フーリエ変換値から導出されたもの）を、シフト先周波数範囲内の周波数に割り当てることにより、移されうる。その後、フローは４５０へ進む。
【００３７】
４５０では、シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値が無効化される。その後、フローは４６０へ進む。
【００３８】
４６０では、周波数シフトされた信号の逆高速フーリエ変換が行われる。その後、フローは４７０へ進む。
【００３９】
４７０では、逆変換された信号が元の入力信号により包絡処理されてハプティック信号が形成される。これは、元の入力信号と逆変換された信号との間の１対１（サンプル）乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード１を有する包絡線によって乗算することができる。その後、フローは終了する。
【００４０】
図５は、本発明の一実施形態による、入力信号をハプティック信号に変換する第二方法例のフロー図である。フローが開始し、５１０に進む。５１０で、オーディオ信号、ビデオ信号、加速度信号、またはセンサで捕らえられたデータを含みうる他の任意の信号などの入力信号に高速フーリエ変換が行われる。その後、フローは５２０へ進む。
【００４１】
５２０では、変換された入力信号の周波数の振幅が正規化される。ある実施形態では、入力信号の高速フーリエ変換により、周波数を含む一つのベクトルと、それらの周波数に対応するマグニチュードを含むもう一つのベクトルの、二つのベクトルが得られる。全てのマグニチュードからは最大値を見つけることができ、最大値を用いて全てのマグニチュードを正規化することができ、これによって１より小さい値のマグニチュードベクトルが得られる。換言すれば、マグニチュードを含むベクトルは１に正規化されうる。その後、フローは５３０へ進む。
【００４２】
５３０では、変換された入力信号の周波数がそれらの正規化された振幅によりソートされる。その後、フローは５４０へ進む。
【００４３】
５４０では、変換された入力信号の周波数から、振幅が既定の閾値（例えば０．１）より大きい一つ以上の周波数が選択される。選択された周波数は周波数「ｆｓ」として識別でき、他の周波数は無視されうる。その後、フローは５５０へ進む。
【００４４】
５５０では、残った周波数ｆｓが以下のようにクラスタリングされる。最大振幅を有する周波数ｆｓ［ｉ］から始まり、二番目に大きな振幅を有する周波数ｆｓ［ｉ＋１］、以下同様のｆｓの各周波数「ｆｓ［ｉ］」ごとに、範囲［ｆｓ［ｉ］−ｘ  Ｈｚからｆｓ［ｉ］＋ｘ  Ｈｚ］（例えばｘ＝１）内の全ての周波数が検討される。この範囲内に周波数ｆｓ［ｉ］より大きい振幅を有する周波数がある場合には、周波数ｆｓ［ｉ］は除去される。このクラスタリング技術を適用することにより、ｘ  Ｈｚよりも離れた周波数だけが存在することとなる。これらの残った周波数は周波数「ｆｃ」として識別できる。その後、フローは５６０へ進む。
【００４５】
５６０では、残った周波数ｆｃが、一つ以上のブロックＢ（ｆｃ）にグループ化され、ここでｆｃの各周波数「ｆｃ［ｉ］」につきＢ（ｆｃ［ｉ］）＝［ｆｃ［ｉ］−ｙ  Ｈｚからｆｃ［ｉ］＋ｙ  Ｈｚ］であり、ｙは既定周波数範囲の幅より小さい数に等しい。既定周波数範囲は、「シフト先」周波数範囲であればよい。そして、各ブロックＢ（ｆｃ［ｉ］）の周波数成分は、シフト先周波数範囲（例えば２５０Ｈｚの共振周波数のアクチュエータでは２００から３００Ｈｚ）の周波数にシフトおよびセンタリングされる。異なる周波数からシフトされた成分が異なるものとして感じられるように、ブロックＢ（ｆｃ）同士はシフト先周波数範囲内で既定距離ｄ（例えばｄ＝１Ｈｚ）で離すことができる。例えば、最大振幅を有する周波数に対応する第一ブロックは２５０Ｈｚにシフトおよびセンタリングされ、二番目に大きな振幅を有する周波数に対応する第二ブロックは２４８Ｈｚにシフトおよびセンタリングされ、三番目に大きな振幅を有する周波数に対応する第三ブロックは２５２Ｈｚにシフトおよびセンタリングされ、シフト先周波数範囲（例えば２００Ｈｚから３００Ｈｚ）の下限および上限に達するまで同様にすればよい。ある実施形態では、各ブロックの周波数成分の一つ以上の周波数は、各周波数の振幅（高速フーリエ変換値から導出されたもの）をシフト先周波数範囲内の周波数に割り当てることによりシフトされうる。その後、フローは５７０へ進む。
【００４６】
５７０では、シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値が無効化される。その後、フローは５８０へ進む。
【００４７】
５８０では、周波数シフトされた信号の逆高速フーリエ変換が行われる。その後、フローは５９０へ進む。
【００４８】
５９０では、逆変換された信号が、元の入力信号により包絡処理されてハプティック信号が形成される。これは、元の入力信号と逆変換された信号との間の１対１のポイント（サンプル）乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード１を有する包絡線によって乗算することができる。包絡処理された信号は、元の入力信号のものに近い包絡線を有し、ハプティック信号として用いられうる。その後、フローは終了する。
【００４９】
図６は、本発明の一実施形態による、入力信号をハプティック信号に変換する第三方法例のフロー図である。フローが開始し、６１０に進む。６１０では、オーディオ信号、ビデオ信号、加速度信号、またはセンサで捕らえられたデータを含みうる他の任意の信号などの入力信号に高速フーリエ変換が行われる。その後、フローは６２０へ進む。
【００５０】
６２０では、変換された入力信号の周波数の振幅が正規化される。ある実施形態では、入力信号の高速フーリエ変換により、周波数を含む一つのベクトルと、それらの周波数に対応するマグニチュードを含むもう一つのベクトルの、二つのベクトルが得られる。全てのマグニチュードからは最大値を見つけることができ、最大値を用いて全てのマグニチュードを正規化することができ、これによって１より小さい値のマグニチュードベクトルが得られる。換言すれば、マグニチュードを含むベクトルは１に正規化されうる。その後、フローは６３０へ進む。
【００５１】
６３０では、変換された入力信号の周波数がそれらの正規化された振幅によりソートされる。その後、フローは６４０へ進む。
【００５２】
６４０では、変換された入力信号の周波数から、振幅が既定の閾値（例えば０．１）より大きい一つ以上の周波数が選択される。選択された周波数は周波数「ｆｓ」として識別でき、他の周波数は無視されうる。その後、フローは６５０へ進む。
【００５３】
６５０では、残った周波数ｆｓが以下のようにクラスタリングされる。最大振幅を有する周波数ｆｓ［ｉ］から始まり、二番目に大きな振幅を有する周波数ｆｓ［ｉ＋１］、以下同様のｆｓの各周波数「ｆｓ［ｉ］」ごとに、範囲［ｆｓ［ｉ］−ｘ  Ｈｚからｆｓ［ｉ］＋ｘ  Ｈｚ］（例えばｘ＝１）内の全ての周波数が検討される。この範囲内に周波数ｆｓ［ｉ］より大きい振幅を有する周波数がある場合には、周波数ｆｓ［ｉ］は除去される。このクラスタリング技術を適用することにより、ｘ  Ｈｚよりも離れた周波数だけが存在することとなる。これらの残った周波数は周波数「ｆｃ」として識別できる。その後、フローは６６０へ進む。
【００５４】
６６０では、残った周波数ｆｃが、一つ以上のブロックＢ（ｆｃ）にグループ化され、ここでｆｃの各周波数「ｆｃ［ｉ］」につきＢ（ｆｃ［ｉ］）＝［ｆｃ［ｉ］−ｙ  Ｈｚからｆｃ［ｉ］＋ｙ  Ｈｚ］であり、ｙは既定周波数範囲の幅より小さい数に等しい。既定周波数範囲は、「シフト先」周波数範囲であればよい。そして、各ブロックＢ（ｆｃ［ｉ］）の周波数成分は、シフト先周波数範囲（例えば２５０Ｈｚの共振周波数のアクチュエータでは２００から３００Ｈｚ）の周波数にシフトおよびセンタリングされる。シフト先周波数範囲における周波数の位置の選択はランダムであってよい。ある実施形態では、各ブロックの周波数成分の一つ以上の周波数は、各周波数の振幅（高速フーリエ変換値から導出されたもの）をシフト先周波数範囲内の周波数に割り当てることによりシフトされうる。その後、フローは６７０へ進む。
【００５５】
６７０では、シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値が無効化される。その後、フローは６８０へ進む。
【００５６】
６８０では、周波数シフトされた信号の逆高速フーリエ変換が行われる。その後、フローは６９０へ進む。
【００５７】
６９０では、逆変換された信号は、元の入力信号により包絡処理されてハプティック信号が形成される。これは、元の入力信号と逆変換された信号との間の１対１（サンプル）乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード１を有する包絡線によって乗算することができる。包絡処理された信号は、元の入力信号のものに近い包絡線を有し、ハプティック信号として用いられうる。その後、フローは終了する。
【００５８】
図７は、本発明の一実施形態による、入力信号をハプティック信号に変換する第四方法例のフロー図である。フローが開始し、７００に進む。７００では、オーディオ信号、ビデオ信号、加速度信号、またはセンサで捕らえられたデータを含みうる他の任意の信号などの入力信号に高速フーリエ変換が行われる。その後、フローは７１０へ進む。
【００５９】
７１０では、変換された入力信号の周波数の振幅が正規化される。ある実施形態では、入力信号の高速フーリエ変換により、周波数を含む一つのベクトルと、それらの周波数に対応するマグニチュードを含むもう一つのベクトルの、二つのベクトルが得られる。全てのマグニチュードからは最大値を見つけることができ、最大値を用いて全てのマグニチュードを正規化することができ、これによって１より小さい値のマグニチュードベクトルが得られる。換言すれば、マグニチュードを含むベクトルは１に正規化されうる。その後、フローは７２０へ進む。
【００６０】
７２０では、変換された入力信号の周波数がそれらの正規化された振幅によりソートされる。その後、フローは７３０へ進む。
【００６１】
７３０では、変換された入力信号の周波数から、振幅が既定の閾値（例えば０．１）より大きい一つ以上の周波数が選択される。選択された周波数は周波数「ｆｓ」として識別でき、他の周波数は無視されうる。その後、フローは７４０へ進む。
【００６２】
７４０では、残った周波数ｆｓが以下のようにクラスタリングされる。最大振幅を有する周波数ｆｓ［ｉ］から始まり、二番目に大きな振幅を有する周波数ｆｓ［ｉ＋１］、以下同様のｆｓの各周波数「ｆｓ［ｉ］」ごとに、範囲［ｆｓ［ｉ］−ｘ  Ｈｚからｆｓ［ｉ］＋ｘ  Ｈｚ］（例えばｘ＝１）内の全ての周波数が検討される。この範囲内に周波数ｆｓ［ｉ］より大きい振幅を有する周波数がある場合には、周波数ｆｓ［ｉ］は除去される。このクラスタリング技術を適用することにより、ｘ  Ｈｚよりも離れた周波数だけが存在することとなる。これらの残った周波数は周波数「ｆｃ」として識別できる。その後、フローは７５０へ進む。
【００６３】
７５０では、残った周波数ｆｃが以下のようにクラスタリングされる。ｆｃの各周波数「ｆｃ［ｉ］」ごとに、範囲［ｆｃ［ｉ］−ｙ  Ｈｚからｆｃ［ｉ］＋ｙ  Ｈｚ］の振幅スペクトル曲線下面積（ａ  ｓｕｒｆａｃｅ  ｕｎｄｅｒ  ａｎ  ａｍｐｌｉｔｕｄｅ  ｓｐｅｃｔｒｕｍ  ｃｕｒｖｅ）が計算される。面積（ｓｕｒｆａｃｅ）が既定の閾値より大きい場合には、周波数ｆｃ［ｉ］が維持される。それ以外の場合には、周波数ｆｃ［ｉ］は除去される。残った周波数は、周波数「ｆｄ」として識別できる。その後、フローは７６０へ進む。
【００６４】
７６０では、残った周波数ｆｄが、一つ以上のブロックＢ（ｆｄ）にグループ化され、ここでｆｄの各周波数「ｆｄ［ｉ］」につきＢ（ｆｄ［ｉ］）＝［ｆｄ［ｉ］−ｚ  Ｈｚからｆｄ［ｉ］＋ｚ  Ｈｚ］であり、ｚは既定周波数範囲の幅より小さい数に等しい。既定周波数範囲は、「シフト先」周波数範囲であればよい。そして、各ブロックＢ（ｆｄ［ｉ］）の周波数成分は、シフト先周波数範囲（例えば２５０Ｈｚの共振周波数のアクチュエータでは２００から３００Ｈｚ）の周波数にシフトおよびセンタリングされる。シフト先周波数範囲における周波数の位置の選択はランダムであってよい。ある実施形態では、各ブロックの周波数成分の一つ以上の周波数は、各周波数の振幅（高速フーリエ変換値から導出されたもの）をシフト先周波数範囲内の周波数に割り当てることによりシフトされうる。その後、フローは７７０へ進む。
【００６５】
７７０では、シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値が無効化される。その後、フローは７８０へ進む。
【００６６】
７８０では、周波数シフトされた信号の逆高速フーリエ変換が行われる。その後、フローは７９０へ進む。
【００６７】
７９０では、逆変換された信号が、元の入力信号により包絡処理されてハプティック信号が形成される。これは、元の入力信号と逆変換された信号との間の１対１（サンプル）乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード１を有する包絡線によって乗算することができる。包絡処理された信号は、元の入力信号のものに近い包絡線を有し、ハプティック信号として用いられうる。その後、フローは終了する。
【００６８】
図８は、本発明の一実施形態によれる、入力信号をハプティック信号に変換する第五方法例のフロー図である。８１０では、オーディオ信号、ビデオ信号、加速度信号、またはセンサで捕らえられたデータを含みうる他の任意の信号などの入力信号に高速フーリエ変換が行われる。その後、フローは８２０へ進む。
【００６９】
８２０では、変換された入力信号の振幅スペクトルが推定される。その後、フローは８３０へ進む。
【００７０】
８３０では、変換された入力信号の周波数は、各ブロックがｘ個の連続した周波数を含む連続したブロックｂにグループ化される。その後、フローは８４０へ進む。
【００７１】
８４０では、各ブロックｂの振幅スペクトル下面積（ａ  ｓｕｒｆａｃｅ  ｕｎｄｅｒ  ａｎ  ａｍｐｌｉｔｕｄｅ  ｓｐｅｃｔｒｕｍ  ｃｕｒｖｅ）（面積（ｓｕｒｆａｃｅ）Ｓ（ｂ）として識別）が推定され、各面積（ｓｕｒｆａｃｅ）Ｓ（ｂ）が全面積の最大値Ｓを用いて１に正規化される。その後、フローは８５０へ進む。
【００７２】
８５０では、既定の閾値より小さい面積Ｓ（ｂ）を有する各ブロックｂが除去される。その後、フローは８６０へ進む。
【００７３】
８６０では、面積が最大の一つ以上のブロックの周波数成分が、「シフト先」周波数範囲内のランダムな位置にシフトおよびセンタリングされる。その後、フローは８７０へ進む。
【００７４】
８７０では、シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値が無効化される。その後、フローは８８０へ進む。
【００７５】
８８０では、周波数シフトされた信号の逆高速フーリエ変換が行われる。その後、フローは８９０へ進む。
【００７６】
８９０では、逆変換された信号は、元の入力信号により包絡処理されてハプティック信号が形成される。これは、元の入力信号と逆変換された信号との間の１対１（サンプル）乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード１を有する包絡線によって乗算することができる。包絡処理された信号は、元の入力信号のものに近い包絡線を有し、ハプティック信号として用いられうる。その後、フローは終了する。
【００７７】
したがって、一実施形態では、システムは、周波数シフトを用いて、オーディオ信号、ビデオ信号、または加速度信号等の入力信号からハプティック信号を作成することができる。したがってこのシステムは、オーディオデータ、ビデオデータ、または加速度データ等の入力データを、入力信号のフィルタリングを必要とせずにハプティック効果に変換することができる。したがって、入力信号のあらゆる成分を用いて、ハプティック信号を生成することができる。
【００７８】
本明細書の全体にわたり記載された本発明の特徴、構造、または特性は、一つ以上の実施形態において任意の適切な様式で組み合わされうる。例えば、本明細書の全体にわたる「一実施形態」、「一部の実施形態」、「ある実施形態」、「ある実施形態（複数）」、または他の類似の語の使用は、実施形態に関連して記載された特定の特徴、構造、または特性が本発明の少なくとも一つの実施形態に含まれうるという事実をさす。したがって、本明細書の全体にわたって見られる「一実施形態」、「一部の実施形態」、「ある実施形態」、「ある実施形態（複数）」の語句または他の類似の語は、全てが必ずしも同じ実施形態のグループをさすわけではなく、記載された特徴、構造、または特性は、一つ以上の実施形態で任意の適切な様式で組み合わせられうる。
【００７９】
通常の技術を有する当業者は、上述の本発明が、異なる順序のステップを用いて、および／または開示されたものとは異なる構成の要素を用いて実施されうることを容易に理解するであろう。したがって、本発明はこれらの好ましい実施形態に基づいて記載されているが、一定の修正、変形、および代替的構造が明らかであり、本発明の趣旨および範囲内にもとどまることが当業者には明らかである。したがって、本発明の境界および限界を決定するためには、添付の請求の範囲が参照されなければならない。
【図１】
2019109943.tif 000003
【図２】
2019109943.tif 000004
【図３】
2019109943.tif 000005
【図４】
2019109943.tif 000006
【図５】
2019109943.tif 000007
【図６】
2019109943.tif 000008
【図７】
2019109943.tif 000009
【図８】
2019109943.tif 000010
【手続補正書】
【提出日】平成31年4月26日(2019.4.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
周波数シフトを用いて入力を一つ以上のハプティック効果に変換するための、コンピュータ実装される方法であって、
入力信号を受け取るステップと、
前記入力信号の高速フーリエ変換を行って、変換された入力信号を生成するステップと、
ソートされた周波数を生成するために、振幅によって、前記変換された入力信号の複数の周波数をソートするステップと、
選択された周波数を決定するために、前記変換された入力信号の複数の前記ソートされた周波数を選択するステップと、
クラスタリングされた周波数を決定するために、前記変換された入力信号の前記選択された周波数をクラスタリングするステップと、
周波数シフトされた信号を生成するために、シフト先周波数範囲内の周波数に、元の周波数から前記クラスタリングされた周波数をシフトするステップと、
逆フーリエ変換された信号を生成するために、周波数シフトされた信号の逆高速フーリエ変換を行うステップであって、逆変換された信号は、ハプティック信号を形成する、ステップと、
前記ハプティック信号に基づいて前記一つ以上のハプティック効果を生成するステップと、
を含む、コンピュータ実装される方法。
【請求項２】
ハプティック信号を形成するために、前記逆フーリエ変換された信号を包絡処理するステップをさらに含む、請求項１に記載のコンピュータ実装される方法。
【請求項３】
前記ソートされた周波数を選択するステップは、最大振幅を有する前記ソートされた周波数に従って実行される、請求項１に記載のコンピュータ実装される方法。
【請求項４】
前記複数のソートされた周波数を選択するステップは、第１の規定の閾値よりも大きい振幅を有する前記ソートされた周波数に従って実行され、
前記選択された周波数をクラスタリングするステップは、選択された各周波数に、前記選択された周波数の一つの周波数よりも大きい周波数を有する第１の規定の周波数範囲内の他の選択された周波数である、前記選択された周波数の一つを除去する、請求項１に記載のコンピュータ実装される方法。
【請求項５】
前記変換された入力信号の前記選択された周波数を変換するステップは、
複数のブロックに前記クラスタリングされた周波数をグループ化するステップであって、それぞれのブロックは、前記クラスタリングされた周波数の少なくとも一つを含む周波数コンテンツを有し、それぞれのブロックの第２の規定の周波数範囲は、前記シフト先周波数範囲よりも小さい、グループ化するステップと、
変換された周波数コンテンツを生成するために、前記シフト先周波数範囲にそれぞれのブロックの前記周波数コンテンツを変換するステップと、
前記シフト先周波数範囲内に、複数のセンタリングする周波数の一つのセンタリングする周波数において、それぞれのブロックの前記変換された周波数コンテンツをセンタリングするステップと、
を含む請求項４に記載のコンピュータ実装される方法。
【請求項６】
前記複数のセンタリングする周波数は、既定の周波数距離によって離される、
請求項５に記載のコンピュータ実装される方法。
【請求項７】
前記複数のセンタリングする周波数は、ランダムに選択される請求項５に記載のコンピュータ実装される方法。
【請求項８】
変換された前記入力信号の選択された前記周波数をクラスタリングするステップは、各クラスタリングされた周波数ごとに、第三既定範囲の振幅スペクトル曲線下面積を計算するステップと、前記面積が第２の既定の閾値より小さい場合にはクラスタリングされた前記周波数を除去するステップとをさらに含む請求項４に記載のコンピュータ実装される方法。
【請求項９】
前記シフト先周波数範囲は、ハプティック出力デバイスの共振周波数を含む請求項１に記載のコンピュータ実装される方法。
【請求項１０】
周波数シフトを用いて入力を一つ以上のハプティック効果に変換するシステムであって、
ハプティック変換モジュールを格納するように構成されたメモリと、
前記メモリに格納された前記ハプティック変換モジュールを実行するように構成されたプロセッサと、を含み、
前記プロセッサは、
入力信号を受け取るステップと、
変換された入力信号を生成するために、前記入力信号の高速フーリエ変換を行うステップと、
ソートされた周波数を生成するために、振幅によって、前記変換された入力信号の複数の周波数をソートするステップと、
選択された周波数を決定するために、前記変換された入力信号の複数の前記ソートされた周波数を選択するステップと、
クラスタリングされた周波数を決定するために、前記変換された入力信号の前記選択された周波数をクラスタリングするステップと、
周波数シフトされた信号を生成するために、シフト先周波数範囲内の周波数に、元の周波数から前記クラスタリングされた周波数をシフトするステップと、
逆フーリエ変換された信号を生成するために、周波数シフトされた信号の逆高速フーリエ変換を行うステップであって、逆変換された信号は、ハプティック信号を形成する、ステップと、
前記ハプティック信号に基づいて前記一つ以上のハプティック効果を生成するステップと、
を実行するシステム。
【請求項１１】
前記プロセッサは、第１の規定の閾値よりも大きい振幅を有する前記ソートされた周波数に従って、前記複数のソートされた周波数を選択するステップをさらに実行し、
前記選択された周波数をクラスタリングするステップは、選択された各周波数に、前記選択された周波数の一つの周波数よりも大きい周波数を有する第１の規定の周波数範囲内の他の選択された周波数である、前記選択された周波数の一つを除去する、請求項１０に記載のシステム。
【請求項１２】
前記変換された入力信号の前記選択された周波数を変換するステップは、
複数のブロックに前記クラスタリングされた周波数をグループ化するステップであって、それぞれのブロックは、前記クラスタリングされた周波数の少なくとも一つを含む周波数コンテンツを有し、それぞれのブロックの第２の規定の周波数範囲は、前記シフト先周波数範囲よりも小さい、グループ化するステップと、
変換された周波数コンテンツを生成するために、前記シフト先周波数範囲にそれぞれのブロックの前記周波数コンテンツを変換するステップと、
前記シフト先周波数範囲内に、複数のセンタリングする周波数の一つのセンタリングする周波数において、それぞれのブロックの前記変換された周波数コンテンツをセンタリングするステップと、
を含む、請求項１１に記載のシステム。
【請求項１３】
前記複数のセンタリングする周波数は、既定またはランダムに選択される周波数距離によって離される、
請求項１２に記載のシステム。
【請求項１４】
変換された前記入力信号の選択された前記周波数をクラスタリングするステップは、各クラスタリングされた周波数ごとに、第三既定範囲の振幅スペクトル曲線下面積を計算するステップと、前記面積が第２の既定の閾値より小さい場合にはクラスタリングされた前記周波数を除去するステップとをさらに含む請求項１１に記載のシステム。
【請求項１５】
プロセッサにより実行されると請求項１から９のいずれか一項に記載の方法を前記プロセッサに実施させる命令が格納されたコンピュータ可読媒体。
【外国語明細書】
2019109943000001.pdf