特許第6739571号(P6739571)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ イマージョン コーポレーションの特許一覧

特許6739571周波数シフトを用いたハプティック変換システム
<>
  • 特許6739571-周波数シフトを用いたハプティック変換システム 図000002
  • 特許6739571-周波数シフトを用いたハプティック変換システム 図000003
  • 特許6739571-周波数シフトを用いたハプティック変換システム 図000004
  • 特許6739571-周波数シフトを用いたハプティック変換システム 図000005
  • 特許6739571-周波数シフトを用いたハプティック変換システム 図000006
  • 特許6739571-周波数シフトを用いたハプティック変換システム 図000007
  • 特許6739571-周波数シフトを用いたハプティック変換システム 図000008
  • 特許6739571-周波数シフトを用いたハプティック変換システム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6739571
(24)【登録日】2020年7月27日
(45)【発行日】2020年8月12日
(54)【発明の名称】周波数シフトを用いたハプティック変換システム
(51)【国際特許分類】
   G06F 3/01 20060101AFI20200730BHJP
   G10L 21/06 20130101ALI20200730BHJP
【FI】
   G06F3/01 560
   G10L21/06 400Z
【請求項の数】15
【外国語出願】
【全頁数】18
(21)【出願番号】特願2019-63290(P2019-63290)
(22)【出願日】2019年3月28日
(62)【分割の表示】特願2014-152842(P2014-152842)の分割
【原出願日】2014年7月28日
(65)【公開番号】特開2019-109943(P2019-109943A)
(43)【公開日】2019年7月4日
【審査請求日】2019年4月26日
(31)【優先権主張番号】14/020,502
(32)【優先日】2013年9月6日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】500390995
【氏名又は名称】イマージョン コーポレーション
【氏名又は名称原語表記】IMMERSION CORPORATION
(74)【代理人】
【識別番号】100116872
【弁理士】
【氏名又は名称】藤田 和子
(72)【発明者】
【氏名】サボウン ジャマル
(72)【発明者】
【氏名】クルス−エルナンデス ユアン マヌエル
【審査官】 佐伯 憲太郎
(56)【参考文献】
【文献】 特開2011−141890(JP,A)
【文献】 特開2003−099177(JP,A)
【文献】 特開2012−168947(JP,A)
【文献】 特開2013−117996(JP,A)
【文献】 特表2012−520516(JP,A)
【文献】 特開2011−203732(JP,A)
【文献】 米国特許出願公開第2013/0106691(US,A1)
【文献】 中国特許出願公開第101424975(CN,A)
【文献】 特表2008−515088(JP,A)
【文献】 国際公開第2006/006528(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G10L 21/06
(57)【特許請求の範囲】
【請求項1】
周波数シフトを用いて入力を一つ以上のハプティック効果に変換するための、コンピュータ実装される方法であって、
入力信号を受け取るステップと、
前記入力信号の高速フーリエ変換を行って、変換された入力信号を生成するステップと、
ソートされた周波数を生成するために、振幅によって、前記変換された入力信号の複数の周波数をソートするステップと、
選択された周波数を決定するために、前記変換された入力信号の複数の前記ソートされた周波数を選択するステップと、
クラスタリングされた周波数を決定するために、前記変換された入力信号の前記選択された周波数をクラスタリングするステップと、
周波数シフトされた信号を生成するために、シフト先周波数範囲内の周波数に、元の周波数から前記クラスタリングされた周波数をシフトするステップと、
逆フーリエ変換された信号を生成するために、周波数シフトされた信号の逆高速フーリエ変換を行うステップであって、逆変換された信号は、ハプティック信号を形成する、ステップと、
前記ハプティック信号に基づいて前記一つ以上のハプティック効果を生成するステップと、
を含む、コンピュータ実装される方法。
【請求項2】
ハプティック信号を形成するために、前記逆フーリエ変換された信号を包絡処理するステップをさらに含む、請求項1に記載のコンピュータ実装される方法。
【請求項3】
前記ソートされた周波数を選択するステップは、最大振幅を有する前記ソートされた周波数に従って実行される、請求項に記載のコンピュータ実装される方法。
【請求項4】
前記複数のソートされた周波数を選択するステップは、第1の規定の閾値よりも大きい振幅を有する前記ソートされた周波数に従って実行され、
前記選択された周波数をクラスタリングするステップは、選択された各周波数に、前記選択された周波数の一つの周波数よりも大きい周波数を有する第1の規定の周波数範囲内の他の選択された周波数である、前記選択された周波数の一つを除去する、請求項に記載のコンピュータ実装される方法。
【請求項5】
前記変換された入力信号の前記選択された周波数を変換するステップは、
複数のブロックに前記クラスタリングされた周波数をグループ化するステップであって、それぞれのブロックは、前記クラスタリングされた周波数の少なくとも一つを含む周波数コンテンツを有し、それぞれのブロックの第2の規定の周波数範囲は、前記シフト先周波数範囲よりも小さい、グループ化するステップと、
変換された周波数コンテンツを生成するために、前記シフト先周波数範囲にそれぞれのブロックの前記周波数コンテンツを変換するステップと、
前記シフト先周波数範囲内に、複数のセンタリングする周波数の一つのセンタリングする周波数において、それぞれのブロックの前記変換された周波数コンテンツをセンタリングするステップと、
を含む請求項に記載のコンピュータ実装される方法。
【請求項6】
前記複数のセンタリングする周波数は、既定の周波数距離によって離される、
請求項5に記載のコンピュータ実装される方法。
【請求項7】
前記複数のセンタリングする周波数は、ランダムに選択される請求項に記載のコンピュータ実装される方法。
【請求項8】
変換された前記入力信号の選択された前記周波数をクラスタリングするステップは、各クラスタリングされた周波数ごとに、第三既定範囲の振幅スペクトル曲線下面積を計算するステップと、前記面積が第2の既定の閾値より小さい場合にはクラスタリングされた前記周波数を除去するステップとをさらに含む請求項に記載のコンピュータ実装される方法。
【請求項9】
前記シフト先周波数範囲は、ハプティック出力デバイスの共振周波数を含む請求項に記載のコンピュータ実装される方法。
【請求項10】
周波数シフトを用いて入力を一つ以上のハプティック効果に変換するシステムであって、
ハプティック変換モジュールを格納するように構成されたメモリと、
前記メモリに格納された前記ハプティック変換モジュールを実行するように構成されたプロセッサと、を含み、
前記プロセッサは、
入力信号を受け取るステップと
変換された入力信号を生成するために、前記入力信号の高速フーリエ変換を行うステップと
ソートされた周波数を生成するために、振幅によって、前記変換された入力信号の複数の周波数をソートするステップと、
選択された周波数を決定するために、前記変換された入力信号の複数の前記ソートされた周波数を選択するステップと、
クラスタリングされた周波数を決定するために、前記変換された入力信号の前記選択された周波数をクラスタリングするステップと、
周波数シフトされた信号を生成するために、シフト先周波数範囲内の周波数に、元の周波数から前記クラスタリングされた周波数をシフトするステップと、
逆フーリエ変換された信号を生成するために、周波数シフトされた信号の逆高速フーリエ変換を行うステップであって、逆変換された信号は、ハプティック信号を形成する、ステップと、
前記ハプティック信号に基づいて前記一つ以上のハプティック効果を生成するステップと、
を実行するシステム。
【請求項11】
前記プロセッサは、第1の規定の閾値よりも大きい振幅を有する前記ソートされた周波数に従って、前記複数のソートされた周波数を選択するステップをさらに実行し、
前記選択された周波数をクラスタリングするステップは、選択された各周波数に、前記選択された周波数の一つの周波数よりも大きい周波数を有する第1の規定の周波数範囲内の他の選択された周波数である、前記選択された周波数の一つを除去する、請求項10に記載のシステム。
【請求項12】
前記変換された入力信号の前記選択された周波数を変換するステップは、
複数のブロックに前記クラスタリングされた周波数をグループ化するステップであって、それぞれのブロックは、前記クラスタリングされた周波数の少なくとも一つを含む周波数コンテンツを有し、それぞれのブロックの第2の規定の周波数範囲は、前記シフト先周波数範囲よりも小さい、グループ化するステップと、
変換された周波数コンテンツを生成するために、前記シフト先周波数範囲にそれぞれのブロックの前記周波数コンテンツを変換するステップと、
前記シフト先周波数範囲内に、複数のセンタリングする周波数の一つのセンタリングする周波数において、それぞれのブロックの前記変換された周波数コンテンツをセンタリングするステップと、
を含む、請求項11に記載のシステム。
【請求項13】
前記複数のセンタリングする周波数は、既定またはランダムに選択される周波数距離によって離される、
請求項12に記載のシステム。
【請求項14】
変換された前記入力信号の選択された前記周波数をクラスタリングするステップは、各クラスタリングされた周波数ごとに、第三既定範囲の振幅スペクトル曲線下面積を計算するステップと、前記面積が第2の既定の閾値より小さい場合にはクラスタリングされた前記周波数を除去するステップとをさらに含む請求項11に記載のシステム。
【請求項15】
プロセッサにより実行されると請求項1からのいずれか一項に記載の方法を前記プロセッサに実施させる命令が格納されたコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
一実施形態は、一般にデバイスを目的とし、より具体的には、ハプティック効果を生み出すデバイスを目的とする。
【背景技術】
【0002】
ハプティクスは、力、振動、および運動等のハプティックフィードバック効果(すなわち「ハプティック効果」)をユーザに与えることでユーザの触感を利用する、触覚および力フィードバック技術である。モバイルデバイス、タッチスクリーンデバイス、およびパーソナルコンピュータ等のデバイスは、ハプティック効果を生成するように構成できる。一般に、ハプティック効果を生成できるエンベデッドハードウェア(アクチュエータなど)に対する呼び出しが、デバイスのオペレーティングシステム(「OS」)にプログラミングされうる。これらの呼び出しは、どのハプティック効果を再生するかを特定する。例えば、ユーザが、例えばボタン、タッチスクリーン、レバー、ジョイスティック、ホイール、または他の何らかの制御部を用いてデバイスと対話する際に、デバイスのOSが、制御回路を通じてエンベデッドハードウェアに再生コマンドを送信しうる。そして、エンベデッドハードウェアが適切なハプティック効果を生み出す。
【0003】
デバイスは、ハプティック効果が他のコンテンツに組み込まれるように、ハプティック効果の出力をオーディオなどの他のコンテンツの出力と連携させるように構成できる。例えば、オーディオ効果開発者は、デバイスにより出力できる、機関銃砲火、爆発、または車の衝突音などのオーディオ効果を開発しうる。さらに、ビデオ効果などの他のタイプのコンテンツが開発され、その後デバイスにより出力されうる。その後ハプティック効果開発者はデバイス用にハプティック効果をオーサリングし、デバイスがこのハプティック効果を他のコンテンツとともに出力するように構成されうる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、このようなプロセスには、オーディオ効果または他のタイプのコンテンツを適切に補足するハプティック効果をオーサリングするためのハプティック効果開発者の個人的判断が一般に必要である。オーディオ効果または他のタイプのコンテンツを補足しないオーサリング不良のハプティック効果は、ハプティック効果がオーディオ効果または他のコンテンツと「かみ合わない」全体として不協和の効果を生み出しうる。この種のユーザ体験は、一般に望ましくない。
【課題を解決するための手段】
【0005】
一実施形態は、周波数シフトを用いて入力を一つ以上のハプティック効果に変換するシステムである。このシステムは、入力信号を受け取る。システムはさらに、入力信号の高速フーリエ変換を行う。システムはさらに、変換された入力信号の一つ以上の周波数を、シフト先周波数範囲内の一つ以上の周波数にシフトする。システムはさらに、周波数シフトされた信号の逆高速フーリエ変換を行い、逆変換された信号はハプティック信号を形成する。システムは、ハプティック信号に基づいて一つ以上のハプティック効果をさらに生成する。
【図面の簡単な説明】
【0006】
図1】本発明の一実施形態による、システムのブロック図である。
図2】本発明の一実施形態による、入力信号の複数の周波数の周波数シフトの図である。周波数シフトは入力信号をハプティック信号に変換するために用いられる。
図3】本発明の一実施形態による、ハプティック変換モジュールの機能のフロー図である。
図4】本発明の一実施形態による、入力信号をハプティック信号に変換するための第一方法例のフロー図である。
図5】本発明の一実施形態による、入力信号をハプティック信号に変換するための第二方法例のフロー図である。
図6】本発明の一実施形態による、入力信号をハプティック信号に変換するための第三方法例のフロー図である。
図7】本発明の一実施形態による、入力信号をハプティック信号に変換するための第四方法例のフロー図である。
図8】本発明の一実施形態による、入力信号をハプティック信号に変換するための第五方法例のフロー図である。
【発明を実施するための形態】
【0007】
さらなる実施形態、詳細、利点、および修正は、添付の図面とあわせて考慮されるべき以下の好ましい実施形態の詳細な説明から明らかとなるであろう。
【0008】
一実施形態は、入力信号に関連するハプティック信号を自動的に導出できるシステムである。入力信号の一例は、オーディオ信号であり、オーディオ信号は、オーディオファイルまたはビデオファイル等のマルチメディアファイルのコンポーネントでありうる。導出されたハプティック信号は、アクチュエータ等のハプティック出力デバイスに適合する範囲にシフトされている周波数成分を含む。したがって、システムは、導出されたハプティック信号をハプティック出力デバイスに送り、導出されたハプティック信号に基づいて一つ以上のハプティック効果を生成できる。あるいは、システムは、後に他の信号とともに同期して再生するためにハプティック信号を記憶しうる。本実施形態によれば、システムは、関連するハプティック信号を導出するために、入力信号の高速フーリエ変換を利用しうる。システムは、入力信号の周波数成分を分析し、(様々なアプローチを用いて様々な様式で)最大振幅の周波数を検出し、(様々な技術により)これらの周波数をハプティック出力デバイスの共振周波数の周辺の周波数範囲にシフトしうる。以下にさらに詳述するように、様々な戦略を利用して、入力信号の周波数成分をソートおよびシフトすることができる。
【0009】
図1は、本発明の一実施形態によるシステム10のブロック図である。一実施形態では、システム10はモバイルデバイスの一部であり、システム10は、モバイルデバイスにハプティック変換機能を提供する。別の実施形態では、システム10は着用可能デバイスの一部であり、システム10は、着用可能デバイスにハプティック変換機能を提供する。着用可能デバイスの例には、リストバンド、ヘッドバンド、眼鏡、リング、レッグバンド、衣類と一体化されたアレイ、またはユーザが身に付けまたはユーザによって保持されうる他の任意のタイプのデバイスが含まれる。一部の着用可能デバイスは、「ハプティック式」、すなわちハプティック効果を生成する機構を含むものとすることができる。別の実施形態では、システム10は、デバイス(例えばモバイルデバイスまたは着用可能デバイス)から切り離されており、デバイスにハプティック変換機能を遠隔提供する。単一のシステムとして図示されているが、システム10の機能は、分散型システムとして実装されてもよい。システム10は、バス12または情報通信のための他の通信機構と、バス12に結合された情報処理のためのプロセッサ22とを含む。プロセッサ22は、任意のタイプの汎用または特定用途向けプロセッサであってよい。システム10は、プロセッサ22により実行される情報および命令を格納するメモリ14をさらに含む。メモリ14は、ランダムアクセスメモリ(「RAM」)、リードオンリメモリ(「ROM」)、磁気もしくは光ディスクなどのスタティックストレージ、または他の任意のタイプのコンピュータ可読媒体の任意の組み合わせで構成することができる。
【0010】
コンピュータ可読媒体は、プロセッサ22によりアクセス可能な任意の利用可能な媒体であればよく、揮発性および不揮発性媒体の両方、取外し可能および取外し不能媒体、通信媒体、および記憶媒体を含むことができる。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを、搬送波または他のトランスポート機構などの変調データ信号に含むことができ、公知技術のその他の任意の形の情報配信媒体を含みうる。記憶媒体には、RAM、フラッシュメモリ、ROM、消去可能プログラム可能リードオンリメモリ(「EPROM」)、電気的消去可能プログラム可能リードオンリメモリ(「EEPROM」)、レジスタ、ハードディスク、取外し可能ディスク、コンパクトディスクリードオンリメモリ(「CD−ROM」)、または公知技術の他の任意の形の記憶媒体を含みうる。
【0011】
一実施形態では、メモリ14は、プロセッサ22により実行されたときに機能を提供するソフトウェアモジュールを格納する。モジュールは、一実施形態ではシステム10のほかモバイルデバイスの残りの部分にオペレーティングシステム機能を提供する、オペレーティングシステム15を含む。モジュールは、以下でより詳細に開示するように、周波数シフト用いて入力を一つ以上のハプティック効果に変換する、ハプティック変換モジュール16をさらに含む。ある実施形態では、ハプティック変換モジュール16は、周波数シフトを用いて入力を一つ以上のハプティック効果に変換するための特定の個別の機能を各モジュールが提供する、複数のモジュールを含みうる。システム10は通常、Immersion CorporationによるIntegrator(登録商標)ソフトウェアなど、追加の機能を含むための一つ以上の追加のアプリケーションモジュール18を含む。
【0012】
システム10は、リモートソースからデータを送信および/または受信する実施形態では、赤外線、無線、Wi−Fiまたはセルラネットワーク通信等の移動無線ネットワーク通信を提供するために、ネットワークインタフェースカード等の通信デバイス20をさらに含む。他の実施形態では、通信デバイス20は、イーサネット(商標)接続またはモデム等の有線ネットワーク接続を提供する。
【0013】
プロセッサ22は、グラフィック表現またはユーザインタフェースをユーザに表示するための液晶ディスプレイ(「LCD」)等のディスプレイ24に、バス12を介してさらに結合される。ディスプレイ24は、プロセッサ22から信号を送受信するように構成されたタッチスクリーン等の接触感知式入力デバイスでもよく、マルチタッチ式タッチスクリーンでもよい。
【0014】
システム10は、一実施形態では、アクチュエータ26をさらに含む。プロセッサ22は、生成されたハプティック効果に関連したハプティック信号をアクチュエータ26に送信し、さらにアクチュエータ26が、振動触覚ハプティック効果、静電摩擦ハプティック効果、または変形ハプティック効果等のハプティック効果を出力する。アクチュエータ26は、アクチュエータ駆動回路を含む。アクチュエータ26は、例えば、電動モータ、電磁アクチュエータ、ボイスコイル、形状記憶合金、電気活性ポリマ、ソレノイド、偏心回転質量モータ(「ERM:eccentric rotating mass motor」)、リニア共振アクチュエータ(「LRA:linear resonant actuator」)、圧電アクチュエータ、高帯域幅アクチュエータ、電気活性ポリマ(「EAP:electroactive polymer」)アクチュエータ、静電摩擦ディスプレイ、または超音波振動発生器でもよい。代替的実施形態では、システム10は、アクチュエータ26に加えて、一つ以上の追加のアクチュエータを含みうる(図1には示されない)。アクチュエータ26は、ハプティック出力デバイスの一例であり、ここでハプティック出力デバイスとは、駆動信号に応答して振動触覚ハプティック効果、静電摩擦ハプティック効果、または変形ハプティック効果等のハプティック効果を出力するように構成されたデバイスである。代替的実施形態では、アクチュエータ26は、他の何らかのタイプのハプティック出力デバイスに置換できる。さらに、他の代替的実施形態では、システム10はアクチュエータ26を含まなくてもよく、システム10とは別個のデバイスが、アクチュエータまたはハプティック効果を生成する他のハプティック出力デバイスを含み、システム10は、生成されたハプティック信号を、通信デバイス20を通じてそのデバイスに送る。
【0015】
システム10は、一実施形態では、スピーカ28をさらに含む。プロセッサ22は、スピーカ28にオーディオ信号を送信してもよく、さらにスピーカ28がオーディオ効果を出力する。スピーカ28は、例えば、ダイナミックラウドスピーカ、動電(electrodynamic)ラウドスピーカ、圧電ラウドスピーカ、磁気歪みラウドスピーカ、静電ラウドスピーカ、リボン型平面磁気ラウドスピーカ、屈曲波ラウドスピーカ、フラットパネルラウドスピーカ、ハイルエアモーショントランスデューサ、プラズマアークスピーカ、およびデジタルラウドスピーカでありうる。代替的実施形態では、システム10は、スピーカ28に加えて、一つ以上の追加のスピーカを含みうる(図1には示されない)。さらに、他の代替的実施形態では、システム10は、スピーカ28を含まなくてもよく、システム10とは別個のデバイスが、オーディオ効果を出力するスピーカを含み、システム10は、オーディオ信号を、通信デバイス20を通じてそのデバイスに送る。
【0016】
システム10は、一実施形態では、センサ30をさらに含む。センサ30は、音、動作、加速度、生体信号、距離、流量、力/圧力/歪み/屈曲、湿度、線形位置、方位/傾斜、無線周波数、回転位置、回転速度、スイッチの操作、温度、振動、または可視光強度等であるがこれに限定されない、エネルギーの一形態または他の物理的性質を検出するように構成されうる。センサ30は、検出エネルギーまたは他の物理的性質を、電気信号または仮想センサ情報を表す任意の信号に変換するようにさらに構成されうる。センサ30は、加速度計、心電図、脳波図、筋電計、眼電図、電気的パラトグラフ、電気皮膚反応センサ、容量センサ、ホール効果センサ、赤外センサ、超音波センサ、圧力センサ、光ファイバセンサ、曲りセンサ(または屈曲センサ)、力感知レジスタ、ロードセル、LuSense CPS 155、ミニチュア圧力トランスデューサ、圧電センサ、ストレインゲージ、湿度計、線形位置タッチセンサ、線形ポテンショメータ(またはスライダ)、線形可変差動変圧器、コンパス、傾斜計、磁性タグ(または無線周波数識別タグ)、回転エンコーダ、回転ポテンショメータ、ジャイロスコープ、オンオフスイッチ、温度センサ(温度計、熱電対、抵抗温度検知器、サーミスタ、または温度変換集積回路等)、マイクロホン、光度計、高度計、生体モニタ、カメラ、または光依存レジスタ等であるがこれに限定されない任意のデバイスであってよい。代替的実施形態では、システム10は、センサ30に加えて、一つ以上の追加のセンサを含みうる(図1には示されない)。これらの実施形態の一部では、センサ30および一つ以上の追加のセンサは、センサアレイまたは他の何らかのタイプのセンサの集まりの一部であってもよい。さらに、他の代替的実施形態では、システム10は、センサ30を含まなくてもよく、システム10とは別個のデバイスが、エネルギーの一形態または他の物理的性質を検出するセンサを含み、検出されたエネルギーまたは他の物理的性質を、電気信号または仮想センサ情報を表す他のタイプの信号に変換する。それからこのデバイスが、変換された信号を、通信デバイス20を通じてシステム10に送ることができる。
【0017】
図2は、本発明の一実施形態による、入力信号の複数の周波数の周波数シフトを示す。周波数シフトは入力信号をハプティック信号に変換するために用いられる。図2は、入力信号の一種であるオーディオ信号を表したグラフ210を示す。代替的実施形態では、オーディオ信号は、ビデオ信号、加速度信号、方位信号、周囲光信号、またはセンサで捕らえられたデータを含みうる別のタイプの信号など、別のタイプの入力信号で置換されうる。
【0018】
本実施形態によれば、オーディオ信号に高速フーリエ変換が行われればよく、変換されたオーディオ信号がグラフ220により表される。高速フーリエ変換とは、空間または時間等の一つのドメインで定義された信号または他の関数の、波長または周波数等の別のドメインへのマッピングである。
【0019】
その後、変換されたオーディオ信号の一つ以上の周波数が、複数の周波数シフト方法の一つに従ってソートおよびシフトされればよく、周波数シフトされたオーディオ信号がグラフ230により表される。より具体的には、変換された信号の周波数は、特性(振幅等)によりソートされ、変換された信号のソートされた周波数のうちの一つ、複数、または全てが選択され、変換された信号の選択された周波数が、既存の周波数から「シフト先」周波数範囲内の周波数にシフトされる。
【0020】
周波数をソートおよびシフトする技術の例は、図4、5、6、7、および8とあわせて、入力信号をハプティック信号に変換する方法の例の一部としてさらに後述する。しかし、当業者には当然のことながら、後述する周波数シフト技術の例は、実施形態例による周波数シフト技術の例にすぎず、代替的実施形態では、他の代替的周波数シフト技術によって、変換されたオーディオ信号の周波数がソートおよびシフトされてもよい。さらに、後述する技術例を用いて、選択された周波数シフト技術に基づいて異なる「フィーリング」を出すハプティック効果の固有のセットを生み出しうる。加えて、使用される周波数シフト技術は、システムにより予め定義されてもよく、またはシステム管理者、ハプティック効果開発者、ユーザ、またはその他の人によりカスタマイズされてもよい。
【0021】
本実施形態によれば、周波数シフトされたオーディオ信号に逆高速フーリエ変換が行われればよく、逆変換されたオーディオ信号がグラフ240により表される。その後、逆変換されたオーディオ信号に基づいてハプティック信号が形成されうる。ハプティック信号はその後、アクチュエータ等のハプティック出力デバイスに送られればよく、ハプティック出力デバイスによりハプティック信号を用いて一つ以上のハプティック効果が出力される。あるいは、ハプティック信号は、RAM、フラッシュメモリ、ROM、EPROM、EEPROM、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または他の任意の形の記憶媒体などの記憶媒体に格納されうる。ハプティック信号はその後、記憶媒体から取り出され、ハプティック出力デバイスに送られればよく、ハプティック出力デバイスがハプティック信号に基づいて一つ以上のハプティック効果を出力すればよい。
【0022】
図3は、本発明の一実施形態による、ハプティック変換モジュール(図1のハプティック変換モジュール16等)の機能のフロー図である。一実施形態では、図3の機能、ならびに図4、5、6、7、および8の機能は、それぞれ、メモリまたは他のコンピュータ可読媒体または有形媒体に格納されたソフトウェアにより実施され、プロセッサにより実行される。他の実施形態では、各機能は、ハードウェアにより(例えば、特定用途向け集積回路(「ASIC」)、プログラム可能ゲートアレイ(「PGA」)、フィールドプログラム可能ゲートアレイ(「FPGA」)などを使用して)、またはハードウェアとソフトウェアの任意の組み合わせにより行われうる。
【0023】
フローが開始し、300に進む。300では、入力信号が受け取られる。ある実施形態では、入力信号はオーディオ信号でありうる。他の実施形態では、入力信号はビデオ信号でありうる。他の実施形態では、入力信号は加速度信号でありうる。その後、フローは310へ進む。
【0024】
310では、入力信号に高速フーリエ変換が行われる。その後、フローは320へ進む。
【0025】
320では、変換された入力信号の複数の周波数の振幅が正規化される。ある実施形態では、入力信号の高速フーリエ変換により、周波数を含む一つのベクトルと、それらの周波数に対応するマグニチュードを含むもう一つのベクトルの、二つのベクトルが得られる。全てのマグニチュードからは最大値を見つけることができ、最大値を用いて全てのマグニチュードを正規化することができ、これによって1より小さい値のマグニチュードベクトルが得られる。換言すれば、マグニチュードを含むベクトルは1に正規化されうる。ある実施形態では、320は省略されうる。その後、フローは330へ進む。
【0026】
330では、変換された入力信号の周波数がソートされる。周波数は、周波数の特性に基づいてソートされうる。ある実施形態では、変換された入力信号の周波数は、図4、5、6、7、および8に関連して以下に詳述する、入力信号をハプティック信号に変換する一つの方法例の一部であるソーティング法に従ってソートされうる。ある実施形態では、330は省略されうる。その後、フローは340へ進む。
【0027】
340では、変換された入力信号の周波数から一つ以上の周波数が選択される。変換された入力信号のうちの一つ、複数、または全ての周波数が選択されうる。ある実施形態では、変換された入力信号の周波数は、図4、5、6、7、および8に関連して以下に詳述する、入力信号をハプティック信号に変換する一方法例の一部である選択技術に従って選択されうる。ある実施形態では、340は省略されうる。その後、フローは350へ進む。
【0028】
350では、変換された入力信号の選択された周波数がクラスタリングされる。クラスタリングにより、選択された周波数が、より少数の周波数に減少されうる。ある実施形態では、変換された入力信号の選択された周波数は、図4、5、6、7、および8に関連して以下に詳述する、入力信号をハプティック信号に変換する一つの方法例の一部であるクラスタリング技術に従ってクラスタリングされうる。加えて、ある実施形態では、350は省略されうる。その後、フローは360へ進む。
【0029】
360では、変換された入力信号のクラスタリングされた周波数が、「シフト先(shift−to)」周波数範囲内にシフトされる。シフトにより、各クラスタリングされた周波数が、その元の周波数(すなわち「シフト元(shift−from)」周波数)から新たな周波数(すなわち「シフト先」周波数)に移動される。ある実施形態では、変換された入力信号のクラスタリングされた周波数は、図4、5、6、7、および8に関連して以下に詳述する、入力信号をハプティック信号に変換する一つの方法例の一部である周波数シフト技術に従ってシフトされうる。また、ある実施形態では、得られた周波数シフトされた信号に基づいてハプティック信号が形成される。その後、フローは370へ進む。
【0030】
370では、周波数シフトされた信号に逆高速フーリエ変換が行われる。ある実施形態では、得られた逆変換された信号に基づいてハプティック信号が形成される。その後、フローは380へ進む。
【0031】
380では、逆変換された信号が元の入力信号で包絡処理される。これは、元の入力信号と逆変換された信号との間の1対1(サンプル)乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード1を有する包絡線によって乗算することができる。ある実施形態では、得られた包絡処理済み信号に基づいてハプティック信号が形成される。代替的実施形態では、380は省略されうる。その後、フローは390へ進む。
【0032】
390では、ハプティック信号に基づいて一つ以上のハプティック効果が生成される。一部の実施形態では、ハプティック信号が、図1のアクチュエータ26等のハプティック出力デバイスに送られて、一つ以上のハプティック効果が生成されうる。その後、フローは終了する。
【0033】
図4は、本発明の一実施形態による、入力信号をハプティック信号に変換する第一方法例のフロー図である。フローが開始し、410に進む。410では、オーディオ信号、ビデオ信号、加速度信号、またはセンサで捕らえられたデータを含みうる他の任意の信号などの入力信号に高速フーリエ変換が行われる。その後、フローは420へ進む。
【0034】
420では、変換された入力信号の周波数は、その振幅によりソートされる。その後、フローは430へ進む。
【0035】
430では、変換された入力信号の周波数から、振幅が最大の既定数の周波数が選択される。既定数の周波数は、既定周波数範囲の幅に等しければよい。既定周波数範囲は、「シフト先(shift−to)」周波数範囲でありうる。その後、フローは440へ進む。
【0036】
440では、選択された周波数がシフト先周波数範囲へ移される。ある実施形態では、シフト先周波数範囲は、ハプティック出力デバイスの共振周波数(resonate frequency)を含みうる。それらの実施形態の一部では、ハプティック出力デバイスはアクチュエータでありうる。さらに、ある実施形態では、選択された周波数は、各選択された周波数の振幅(高速フーリエ変換値から導出されたもの)を、シフト先周波数範囲内の周波数に割り当てることにより、移されうる。その後、フローは450へ進む。
【0037】
450では、シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値が無効化される。その後、フローは460へ進む。
【0038】
460では、周波数シフトされた信号の逆高速フーリエ変換が行われる。その後、フローは470へ進む。
【0039】
470では、逆変換された信号が元の入力信号により包絡処理されてハプティック信号が形成される。これは、元の入力信号と逆変換された信号との間の1対1(サンプル)乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード1を有する包絡線によって乗算することができる。その後、フローは終了する。
【0040】
図5は、本発明の一実施形態による、入力信号をハプティック信号に変換する第二方法例のフロー図である。フローが開始し、510に進む。510で、オーディオ信号、ビデオ信号、加速度信号、またはセンサで捕らえられたデータを含みうる他の任意の信号などの入力信号に高速フーリエ変換が行われる。その後、フローは520へ進む。
【0041】
520では、変換された入力信号の周波数の振幅が正規化される。ある実施形態では、入力信号の高速フーリエ変換により、周波数を含む一つのベクトルと、それらの周波数に対応するマグニチュードを含むもう一つのベクトルの、二つのベクトルが得られる。全てのマグニチュードからは最大値を見つけることができ、最大値を用いて全てのマグニチュードを正規化することができ、これによって1より小さい値のマグニチュードベクトルが得られる。換言すれば、マグニチュードを含むベクトルは1に正規化されうる。その後、フローは530へ進む。
【0042】
530では、変換された入力信号の周波数がそれらの正規化された振幅によりソートされる。その後、フローは540へ進む。
【0043】
540では、変換された入力信号の周波数から、振幅が既定の閾値(例えば0.1)より大きい一つ以上の周波数が選択される。選択された周波数は周波数「fs」として識別でき、他の周波数は無視されうる。その後、フローは550へ進む。
【0044】
550では、残った周波数fsが以下のようにクラスタリングされる。最大振幅を有する周波数fs[i]から始まり、二番目に大きな振幅を有する周波数fs[i+1]、以下同様のfsの各周波数「fs[i]」ごとに、範囲[fs[i]−x Hzからfs[i]+x Hz](例えばx=1)内の全ての周波数が検討される。この範囲内に周波数fs[i]より大きい振幅を有する周波数がある場合には、周波数fs[i]は除去される。このクラスタリング技術を適用することにより、x Hzよりも離れた周波数だけが存在することとなる。これらの残った周波数は周波数「fc」として識別できる。その後、フローは560へ進む。
【0045】
560では、残った周波数fcが、一つ以上のブロックB(fc)にグループ化され、ここでfcの各周波数「fc[i]」につきB(fc[i])=[fc[i]−y Hzからfc[i]+y Hz]であり、yは既定周波数範囲の幅より小さい数に等しい。既定周波数範囲は、「シフト先」周波数範囲であればよい。そして、各ブロックB(fc[i])の周波数成分は、シフト先周波数範囲(例えば250Hzの共振周波数のアクチュエータでは200から300Hz)の周波数にシフトおよびセンタリングされる。異なる周波数からシフトされた成分が異なるものとして感じられるように、ブロックB(fc)同士はシフト先周波数範囲内で既定距離d(例えばd=1Hz)で離すことができる。例えば、最大振幅を有する周波数に対応する第一ブロックは250Hzにシフトおよびセンタリングされ、二番目に大きな振幅を有する周波数に対応する第二ブロックは248Hzにシフトおよびセンタリングされ、三番目に大きな振幅を有する周波数に対応する第三ブロックは252Hzにシフトおよびセンタリングされ、シフト先周波数範囲(例えば200Hzから300Hz)の下限および上限に達するまで同様にすればよい。ある実施形態では、各ブロックの周波数成分の一つ以上の周波数は、各周波数の振幅(高速フーリエ変換値から導出されたもの)をシフト先周波数範囲内の周波数に割り当てることによりシフトされうる。その後、フローは570へ進む。
【0046】
570では、シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値が無効化される。その後、フローは580へ進む。
【0047】
580では、周波数シフトされた信号の逆高速フーリエ変換が行われる。その後、フローは590へ進む。
【0048】
590では、逆変換された信号が、元の入力信号により包絡処理されてハプティック信号が形成される。これは、元の入力信号と逆変換された信号との間の1対1のポイント(サンプル)乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード1を有する包絡線によって乗算することができる。包絡処理された信号は、元の入力信号のものに近い包絡線を有し、ハプティック信号として用いられうる。その後、フローは終了する。
【0049】
図6は、本発明の一実施形態による、入力信号をハプティック信号に変換する第三方法例のフロー図である。フローが開始し、610に進む。610では、オーディオ信号、ビデオ信号、加速度信号、またはセンサで捕らえられたデータを含みうる他の任意の信号などの入力信号に高速フーリエ変換が行われる。その後、フローは620へ進む。
【0050】
620では、変換された入力信号の周波数の振幅が正規化される。ある実施形態では、入力信号の高速フーリエ変換により、周波数を含む一つのベクトルと、それらの周波数に対応するマグニチュードを含むもう一つのベクトルの、二つのベクトルが得られる。全てのマグニチュードからは最大値を見つけることができ、最大値を用いて全てのマグニチュードを正規化することができ、これによって1より小さい値のマグニチュードベクトルが得られる。換言すれば、マグニチュードを含むベクトルは1に正規化されうる。その後、フローは630へ進む。
【0051】
630では、変換された入力信号の周波数がそれらの正規化された振幅によりソートされる。その後、フローは640へ進む。
【0052】
640では、変換された入力信号の周波数から、振幅が既定の閾値(例えば0.1)より大きい一つ以上の周波数が選択される。選択された周波数は周波数「fs」として識別でき、他の周波数は無視されうる。その後、フローは650へ進む。
【0053】
650では、残った周波数fsが以下のようにクラスタリングされる。最大振幅を有する周波数fs[i]から始まり、二番目に大きな振幅を有する周波数fs[i+1]、以下同様のfsの各周波数「fs[i]」ごとに、範囲[fs[i]−x Hzからfs[i]+x Hz](例えばx=1)内の全ての周波数が検討される。この範囲内に周波数fs[i]より大きい振幅を有する周波数がある場合には、周波数fs[i]は除去される。このクラスタリング技術を適用することにより、x Hzよりも離れた周波数だけが存在することとなる。これらの残った周波数は周波数「fc」として識別できる。その後、フローは660へ進む。
【0054】
660では、残った周波数fcが、一つ以上のブロックB(fc)にグループ化され、ここでfcの各周波数「fc[i]」につきB(fc[i])=[fc[i]−y Hzからfc[i]+y Hz]であり、yは既定周波数範囲の幅より小さい数に等しい。既定周波数範囲は、「シフト先」周波数範囲であればよい。そして、各ブロックB(fc[i])の周波数成分は、シフト先周波数範囲(例えば250Hzの共振周波数のアクチュエータでは200から300Hz)の周波数にシフトおよびセンタリングされる。シフト先周波数範囲における周波数の位置の選択はランダムであってよい。ある実施形態では、各ブロックの周波数成分の一つ以上の周波数は、各周波数の振幅(高速フーリエ変換値から導出されたもの)をシフト先周波数範囲内の周波数に割り当てることによりシフトされうる。その後、フローは670へ進む。
【0055】
670では、シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値が無効化される。その後、フローは680へ進む。
【0056】
680では、周波数シフトされた信号の逆高速フーリエ変換が行われる。その後、フローは690へ進む。
【0057】
690では、逆変換された信号は、元の入力信号により包絡処理されてハプティック信号が形成される。これは、元の入力信号と逆変換された信号との間の1対1(サンプル)乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード1を有する包絡線によって乗算することができる。包絡処理された信号は、元の入力信号のものに近い包絡線を有し、ハプティック信号として用いられうる。その後、フローは終了する。
【0058】
図7は、本発明の一実施形態による、入力信号をハプティック信号に変換する第四方法例のフロー図である。フローが開始し、700に進む。700では、オーディオ信号、ビデオ信号、加速度信号、またはセンサで捕らえられたデータを含みうる他の任意の信号などの入力信号に高速フーリエ変換が行われる。その後、フローは710へ進む。
【0059】
710では、変換された入力信号の周波数の振幅が正規化される。ある実施形態では、入力信号の高速フーリエ変換により、周波数を含む一つのベクトルと、それらの周波数に対応するマグニチュードを含むもう一つのベクトルの、二つのベクトルが得られる。全てのマグニチュードからは最大値を見つけることができ、最大値を用いて全てのマグニチュードを正規化することができ、これによって1より小さい値のマグニチュードベクトルが得られる。換言すれば、マグニチュードを含むベクトルは1に正規化されうる。その後、フローは720へ進む。
【0060】
720では、変換された入力信号の周波数がそれらの正規化された振幅によりソートされる。その後、フローは730へ進む。
【0061】
730では、変換された入力信号の周波数から、振幅が既定の閾値(例えば0.1)より大きい一つ以上の周波数が選択される。選択された周波数は周波数「fs」として識別でき、他の周波数は無視されうる。その後、フローは740へ進む。
【0062】
740では、残った周波数fsが以下のようにクラスタリングされる。最大振幅を有する周波数fs[i]から始まり、二番目に大きな振幅を有する周波数fs[i+1]、以下同様のfsの各周波数「fs[i]」ごとに、範囲[fs[i]−x Hzからfs[i]+x Hz](例えばx=1)内の全ての周波数が検討される。この範囲内に周波数fs[i]より大きい振幅を有する周波数がある場合には、周波数fs[i]は除去される。このクラスタリング技術を適用することにより、x Hzよりも離れた周波数だけが存在することとなる。これらの残った周波数は周波数「fc」として識別できる。その後、フローは750へ進む。
【0063】
750では、残った周波数fcが以下のようにクラスタリングされる。fcの各周波数「fc[i]」ごとに、範囲[fc[i]−y Hzからfc[i]+y Hz]の振幅スペクトル曲線下面積(a surface under an amplitude spectrum curve)が計算される。面積(surface)が既定の閾値より大きい場合には、周波数fc[i]が維持される。それ以外の場合には、周波数fc[i]は除去される。残った周波数は、周波数「fd」として識別できる。その後、フローは760へ進む。
【0064】
760では、残った周波数fdが、一つ以上のブロックB(fd)にグループ化され、ここでfdの各周波数「fd[i]」につきB(fd[i])=[fd[i]−z Hzからfd[i]+z Hz]であり、zは既定周波数範囲の幅より小さい数に等しい。既定周波数範囲は、「シフト先」周波数範囲であればよい。そして、各ブロックB(fd[i])の周波数成分は、シフト先周波数範囲(例えば250Hzの共振周波数のアクチュエータでは200から300Hz)の周波数にシフトおよびセンタリングされる。シフト先周波数範囲における周波数の位置の選択はランダムであってよい。ある実施形態では、各ブロックの周波数成分の一つ以上の周波数は、各周波数の振幅(高速フーリエ変換値から導出されたもの)をシフト先周波数範囲内の周波数に割り当てることによりシフトされうる。その後、フローは770へ進む。
【0065】
770では、シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値が無効化される。その後、フローは780へ進む。
【0066】
780では、周波数シフトされた信号の逆高速フーリエ変換が行われる。その後、フローは790へ進む。
【0067】
790では、逆変換された信号が、元の入力信号により包絡処理されてハプティック信号が形成される。これは、元の入力信号と逆変換された信号との間の1対1(サンプル)乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード1を有する包絡線によって乗算することができる。包絡処理された信号は、元の入力信号のものに近い包絡線を有し、ハプティック信号として用いられうる。その後、フローは終了する。
【0068】
図8は、本発明の一実施形態によれる、入力信号をハプティック信号に変換する第五方法例のフロー図である。810では、オーディオ信号、ビデオ信号、加速度信号、またはセンサで捕らえられたデータを含みうる他の任意の信号などの入力信号に高速フーリエ変換が行われる。その後、フローは820へ進む。
【0069】
820では、変換された入力信号の振幅スペクトルが推定される。その後、フローは830へ進む。
【0070】
830では、変換された入力信号の周波数は、各ブロックがx個の連続した周波数を含む連続したブロックbにグループ化される。その後、フローは840へ進む。
【0071】
840では、各ブロックbの振幅スペクトル下面積(a surface under an amplitude spectrum curve)(面積(surface)S(b)として識別)が推定され、各面積(surface)S(b)が全面積の最大値Sを用いて1に正規化される。その後、フローは850へ進む。
【0072】
850では、既定の閾値より小さい面積S(b)を有する各ブロックbが除去される。その後、フローは860へ進む。
【0073】
860では、面積が最大の一つ以上のブロックの周波数成分が、「シフト先」周波数範囲内のランダムな位置にシフトおよびセンタリングされる。その後、フローは870へ進む。
【0074】
870では、シフト先周波数範囲内にない周波数の全ての高速フーリエ変換値が無効化される。その後、フローは880へ進む。
【0075】
880では、周波数シフトされた信号の逆高速フーリエ変換が行われる。その後、フローは890へ進む。
【0076】
890では、逆変換された信号は、元の入力信号により包絡処理されてハプティック信号が形成される。これは、元の入力信号と逆変換された信号との間の1対1(サンプル)乗算であればよい。別の包絡処理方法は、元の入力信号の包絡線を抽出し、この包絡線を逆変換された信号に乗算することである。あるいは、逆変換された信号は包絡処理されずそのまま使用される。換言すると、一定のマグニチュード1を有する包絡線によって乗算することができる。包絡処理された信号は、元の入力信号のものに近い包絡線を有し、ハプティック信号として用いられうる。その後、フローは終了する。
【0077】
したがって、一実施形態では、システムは、周波数シフトを用いて、オーディオ信号、ビデオ信号、または加速度信号等の入力信号からハプティック信号を作成することができる。したがってこのシステムは、オーディオデータ、ビデオデータ、または加速度データ等の入力データを、入力信号のフィルタリングを必要とせずにハプティック効果に変換することができる。したがって、入力信号のあらゆる成分を用いて、ハプティック信号を生成することができる。
【0078】
本明細書の全体にわたり記載された本発明の特徴、構造、または特性は、一つ以上の実施形態において任意の適切な様式で組み合わされうる。例えば、本明細書の全体にわたる「一実施形態」、「一部の実施形態」、「ある実施形態」、「ある実施形態(複数)」、または他の類似の語の使用は、実施形態に関連して記載された特定の特徴、構造、または特性が本発明の少なくとも一つの実施形態に含まれうるという事実をさす。したがって、本明細書の全体にわたって見られる「一実施形態」、「一部の実施形態」、「ある実施形態」、「ある実施形態(複数)」の語句または他の類似の語は、全てが必ずしも同じ実施形態のグループをさすわけではなく、記載された特徴、構造、または特性は、一つ以上の実施形態で任意の適切な様式で組み合わせられうる。
【0079】
通常の技術を有する当業者は、上述の本発明が、異なる順序のステップを用いて、および/または開示されたものとは異なる構成の要素を用いて実施されうることを容易に理解するであろう。したがって、本発明はこれらの好ましい実施形態に基づいて記載されているが、一定の修正、変形、および代替的構造が明らかであり、本発明の趣旨および範囲内にもとどまることが当業者には明らかである。したがって、本発明の境界および限界を決定するためには、添付の請求の範囲が参照されなければならない。
図1
図2
図3
図4
図5
図6
図7
図8