(57)【要約】【課題】ハプティック効果のプレイバック速度を所望のプレイバック速度に調整するための方法が提供される。【解決手段】所望のプレイバック速度が定められる。その所望のプレイバック速度に基づくハプティック信号の部分が生成される。そのハプティック信号の部分がハプティック出力デバイスに送られることによって、ハプティック出力デバイスに所望のプレイバック速度に対応するプレイバック速度でハプティック効果を出力させる。【選択図】図１
2020119614.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサによって実行されるときに前記プロセッサにハプティック効果を生成させる命令が保存されている非一時的コンピュータ読み取り可能な媒体であって、前記命令は、
プレイバック速度を定めることと、
前記プレイバック速度に基づいてハプティック信号を生成することと、
前記プレイバック速度にてハプティック効果を生成するために、前記ハプティック信号をハプティック出力デバイスに適用することと
を含む、非一時的コンピュータ読み取り可能な媒体。
【請求項２】
前記プレイバック速度を定めることは、前記ハプティック信号を生成する前に前記プレイバック速度を定めることを含む、請求項１に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項３】
前記プレイバック速度を定めることは、前記ハプティック信号を生成した後に前記プレイバック速度を定めることを含む、請求項１に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項４】
前記ハプティック信号を生成することは、
複数のハプティック信号を生成することを含み、前記複数のハプティック信号は各々が異なるハプティックプレイバック速度を有し、前記プレイバック速度に基づくハプティック信号を含む、請求項１に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項５】
前記ハプティック信号を生成することは、
前記プレイバック速度に基づいて入力データをリサンプリングすることと、
前記リサンプリングされた入力データから前記ハプティック信号を生成することと
を含む、請求項１に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項６】
前記ハプティック信号を生成することは、
元のハプティック信号を前記ハプティック信号にリサンプリングすることを含む、請求項１に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項７】
前記ハプティック信号を生成することは、
前記プレイバック速度に基づいて入力データをリサンプリングすることと、
前記リサンプリングされた入力データにおけるキー入力イベントを識別することと、
元のハプティック信号におけるキーハプティックイベントを識別することと、
前記ハプティック信号を作成するために前記キーハプティックイベントを前記キー入力イベントと整合させることと
を含む、請求項１に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項８】
キー入力イベントを識別することは、前記キー入力イベントの長さを識別することをさらに含み、前記ハプティック信号を生成することは、
前記キー入力イベントの前記長さに基づいて前記キーハプティックイベントをリサンプリングすることをさらに含む、請求項７に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項９】
前記ハプティック信号を生成することは、
複数のハプティック信号を生成することであって、前記複数のハプティック信号は各々が異なるプレイバック速度に対応する異なるハプティックビットレートを有し、前記プレイバック速度に基づくハプティック信号を含む、複数のハプティック信号を生成することと、
前記複数のハプティック信号を組み合わせてコンテナに入れることと
を含む、請求項１に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項１０】
前記ハプティック信号を生成することは、
切断点を選択することと、
前記切断点において前記ハプティック信号をハプトレットに分割することと、
前記ハプトレットにインデックスを付けることとを含み、前記ハプティック信号の少なくとも一部が前記ハプティック信号のハプトレットに対応する、請求項１に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項１１】
前記ハプティック信号を生成することは、前記ハプティック信号をハプティックブロックに分割することを含み、
前記ハプティック信号を適用することは、ハプティックブロックを前記ハプティック出力デバイスに送ることと、待機期間の間待つことと、別の連続するハプティックブロックを前記ハプティック出力デバイスに送ることとを含む、請求項１に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項１２】
前記ハプティック信号は前記ハプティック信号の抽出部分を含み、抽出は前記ハプティック信号の範囲選択に基づくものである、請求項１に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項１３】
前記ハプティック信号を生成することは、
前記ハプティック信号に付加するか、又は前記ハプティック信号から除去するためにサンプルの数を算出することと、
前記ハプティック信号にサンプルを付加するか、又は前記ハプティック信号からサンプルを除去するために前記ハプティック信号をリサンプリングして、調整ハプティック信号を作成することと、
前記ハプティック信号を前記調整ハプティック信号に置き換えることと
を含む、請求項１に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項１４】
前記リサンプリングは、低エントロピーの期間に０値サンプルを付加することを含む、請求項１３に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項１５】
前記リサンプリングは、低エントロピーの期間にハプティック閾値より低いサンプルを除去することを含む、請求項１３に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項１６】
前記リサンプリングは、
付加するサンプル数に基づいて、サンプルを付加するための前記ハプティック信号内の場所を定めることと、
隣接サンプルの１つ又はそれ以上の値に基づいて、前記付加されるサンプルに対する値を算出することと
を含む、請求項１３に記載の非一時的コンピュータ読み取り可能な媒体。
【請求項１７】
ハプティック効果のプレイバックを調整する方法であって、
プレイバック速度を定めるステップと、
前記プレイバック速度に基づいてハプティック信号を生成するステップと、
前記プレイバック速度にてハプティック効果を生成するために、前記ハプティック信号をハプティック出力デバイスに適用するステップと
を含む、方法。
【請求項１８】
前記ハプティック信号を生成するステップは、
複数のハプティック信号を生成するステップを含み、前記複数のハプティック信号は各々が異なるハプティックプレイバック速度を有し、前記プレイバック速度に基づくハプティック信号を含む、請求項１７に記載の方法。
【請求項１９】
前記ハプティック信号を生成するステップは、
前記プレイバック速度に基づいて入力データをリサンプリングするステップと、
前記リサンプリングされた入力データから前記ハプティック信号を生成するステップと
を含む、請求項１７に記載の方法。
【請求項２０】
前記ハプティック信号を生成するステップは、
元のハプティック信号を前記ハプティック信号にリサンプリングするステップを含む、請求項１７に記載の方法。
【請求項２１】
前記ハプティック信号を生成するステップは、
前記プレイバック速度に基づいて入力データをリサンプリングするステップと、
前記リサンプリングされた入力データにおけるキー入力イベントを識別するステップと、
元のハプティック信号におけるキーハプティックイベントを識別するステップと、
前記ハプティック信号を作成するために前記キーハプティックイベントを前記キー入力イベントと整合させるステップと、
を含む、請求項１７に記載の方法。
【請求項２２】
前記ハプティック信号を生成するステップは、
複数のハプティック信号を生成するステップであって、前記複数のハプティック信号は各々が異なるプレイバック速度に対応する異なるハプティックビットレートを有し、前記プレイバック速度に基づくハプティック信号を含む、複数のハプティック信号を生成するステップと、
前記複数のハプティック信号を組み合わせてコンテナに入れるステップと
を含む、請求項１７に記載の方法。
【請求項２３】
前記ハプティック信号を生成するステップは、
切断点を選択するステップと、
前記切断点において前記ハプティック信号をハプトレットに分割するステップと、
前記ハプトレットにインデックスを付けるステップとを含み、前記ハプティック信号の少なくとも一部が前記ハプティック信号のハプトレットに対応する、請求項１７に記載の方法。
【請求項２４】
前記ハプティック信号を生成するステップは、前記ハプティック信号を複数のハプティックブロックに分割するステップを含み、
前記ハプティック信号を適用するステップは、ハプティックブロックを前記ハプティック出力デバイスに送るステップと、待機期間の間待つステップと、別の連続するハプティックブロックを前記ハプティック出力デバイスに送るステップとを含む、請求項１７に記載の方法。
【請求項２５】
前記ハプティック信号は前記ハプティック信号の抽出部分を含み、抽出は前記ハプティック信号の範囲選択に基づく、請求項１７に記載の方法。
【請求項２６】
前記ハプティック信号を生成するステップは、
前記ハプティック信号に付加する又は前記ハプティック信号から除去するサンプルの数を算出するステップと、
前記ハプティック信号にサンプルを付加する又は前記ハプティック信号からサンプルを除去するために前記ハプティック信号をリサンプリングして、調整ハプティック信号を作成するステップと、
前記ハプティック信号を前記調整ハプティック信号に置き換えるステップと、
を含む、請求項１７に記載の方法。
【請求項２７】
前記リサンプリングするステップは、低エントロピーの期間に、０値サンプルを付加するステップ、又はハプティック閾値より低いサンプルを除去するステップを含む、請求項２６に記載の方法。
【請求項２８】
前記リサンプリングするステップは、
付加するサンプル数に基づいて、サンプルを付加する前記ハプティック信号内の場所を定めるステップと、
隣接サンプルの１つ又はそれ以上の値に基づいて、前記付加されるサンプルに対する値を算出するステップと、
を含む、請求項２６に記載の方法。
【請求項２９】
ハプティック効果のプレイバックを調整するためのシステムであって、
プレイバック速度を定めるように構成されたプレイバック速度決定部と、
選択されたプレイバック速度に基づいてハプティック信号を生成するように構成されたハプティック信号ジェネレータと、
前記プレイバック速度にてハプティック効果を生成するために、前記ハプティック信号を適用するように構成されたハプティック出力デバイスと、
を含む、システム。
【請求項３０】
前記ハプティック信号ジェネレータは、複数のハプティック信号を生成するようにさらに構成され、前記複数のハプティック信号は各々が異なるハプティックプレイバック速度を有し、前記プレイバック速度に基づくハプティック信号を含む、請求項２９に記載のシステム。
【請求項３１】
前記プレイバック速度に基づいて入力データをリサンプリングするように構成されたリサンプラをさらに含み、
前記ハプティック信号ジェネレータは、前記リサンプリングされた入力データから前記ハプティック信号を生成するようにさらに構成される、請求項２９に記載のシステム。
【請求項３２】
前記ハプティック信号ジェネレータは、元のハプティック信号を前記ハプティック信号にリサンプリングするように構成される、請求項２９に記載のシステム。
【請求項３３】
前記プレイバック速度に基づいて入力データをリサンプリングするように構成されたリサンプラと、
前記リサンプリングされた入力データにおけるキー入力イベントを識別し、
元のハプティック信号におけるキーハプティックイベントを識別する
ように構成されたキーイベント識別部と、
をさらに含み、前記ハプティック信号ジェネレータは、前記ハプティック信号を生成するために前記キーハプティックイベントを前記キー入力イベントと整合させるように構成される、請求項２９に記載のシステム。
【請求項３４】
前記ハプティック信号ジェネレータは、複数のハプティック信号を生成するようにさらに構成され、前記複数のハプティック信号は各々が異なるプレイバック速度に対応する異なるハプティックビットレートを有し、前記プレイバック速度に基づく前記ハプティック信号を含み、前記システムはさらに、
前記複数のハプティック信号を保持するコンテナを含む、請求項２９に記載のシステム。
【請求項３５】
切断点を選択し、
前記切断点において前記ハプティック信号をハプトレットに分割し、
前記ハプトレットにインデックスを付ける
ように構成されたハプトレットジェネレータをさらに含み、前記ハプティック信号の少なくとも一部が前記ハプティック信号のハプトレットに対応する、請求項２９に記載のシステム。
【請求項３６】
前記ハプティック信号を複数のハプティックブロックに分割し、ハプティックブロックを前記ハプティック出力デバイスに送り、待機期間の間待ち、別の連続するハプティックブロックを前記ハプティック出力デバイスに送るように構成されたハプティックブロックジェネレータをさらに含む、請求項２９に記載のシステム。
【請求項３７】
前記ハプティック信号は前記ハプティック信号の抽出部分を含み、抽出は前記ハプティック信号の範囲選択に基づく、請求項２９に記載のシステム。
【請求項３８】
前記ハプティック信号に付加する又は前記ハプティック信号から除去するサンプルの数を算出し、
前記ハプティック信号にサンプルを付加する又は前記ハプティック信号からサンプルを除去するために前記ハプティック信号をリサンプリングして、調整ハプティック信号を作成し、
前記ハプティック信号を前記調整ハプティック信号に置き換える
ように構成されたリサンプラをさらに含む、請求項２９に記載のシステム。
【請求項３９】
前記リサンプリングは、低エントロピーの期間に、０値サンプルを付加すること、又はハプティック閾値より低いサンプルを除去することを含む、請求項３８に記載のシステム。
【請求項４０】
前記リサンプリングは、
付加するサンプル数に基づいて、サンプルを付加する前記ハプティック信号内の場所を定めることと、
隣接サンプルの１つ又はそれ以上の値に基づいて、前記付加されるサンプルに対する値を算出することと
を含む、請求項３８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１５年４月２８日に提出された米国特許仮出願第６２／１５３，５７６号の優先権を主張するものであり、その内容は本明細書において引用により援用される。
【０００２】
技術分野
一実施形態は一般的にデバイスに向けられたものであり、より特定的には、ハプティック効果を生成するデバイスに向けられたものである。
【背景技術】
【０００３】
ハプティクスとは、ユーザに例えば力、振動及び運動などのハプティックフィードバック効果（すなわち、「ハプティックフィードバック」又は「ハプティック効果」）を適用することによる、ユーザの触感覚を利用した触覚及び力のフィードバック技術である。例えばモバイルデバイス、タッチスクリーンデバイス、パーソナルコンピュータ、及びウェアラブルデバイスなどのデバイスは、ハプティック効果を生成するように構成され得る。一般的に、デバイス内で、ハプティック効果を生成できる埋め込み型ハードウェア（例えばアクチュエータなど）への呼び出しをプログラムできる。これらの呼び出しは、どのハプティック効果を再生するかを指定する。例えば、ユーザが例えばボタン、タッチスクリーン、レバー、ジョイスティック、ホイール、又は何らかのその他の制御などを用いてデバイスと対話するとき、そのデバイスは制御回路を通じて埋め込み型ハードウェアに再生コマンドを送ってもよい。次いで、埋め込み型ハードウェアは適切なハプティック効果を生成する。
【０００４】
ハプティック設計者によってハプティック効果が作成されるとき、そのハプティック効果のプレイバックは特定のプレイバックスピード又は速度にて起こるという仮定の下で、ハプティック効果が作成され得る。しかし、デバイスに基づき、ハプティック効果のプレイバックは異なるプレイバック速度で起こり得る。ハプティック効果を異なるプレイバック速度でプレイバックすることによって、エンドユーザのハプティック効果の経験が歪み得る。さらに、ハプティック効果のプレイバックが、例えば音声入力、ビデオ入力、加速入力などの別のタイプの入力のプレイバックと同期されることがある。もし他方の入力のプレイバック速度がハプティック効果のプレイバック速度に適合しないように他方の入力のプレイバック速度が調整されれば、ハプティック効果のプレイバックはもはや他方の入力のプレイバックと同期しないかもしれず、それはエンドユーザの経験をさらに歪め得る。
【発明の概要】
【０００５】
一実施形態は、ハプティック効果のプレイバックを調整する方法を含む。所望のプレイバック速度が定められる。その所望のプレイバック速度に基づくハプティック信号の部分が生成される。そのハプティック信号の部分がハプティック出力デバイスに送られることによって、ハプティック出力デバイスに所望のプレイバック速度に対応するプレイバック速度でハプティック効果を出力させる。
【０００６】
添付の図面とともに提供される以下の実施形態例の詳細な説明から、さらなる実施形態、詳細、利点及び修正が明らかになるだろう。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係るシステムを示すブロック図である。
【図２】本発明の実施形態に係るハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図３】本発明の実施形態に係る静的ハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図４】一実施形態に係る、異なるスピードの複数のハプティック信号を提供するためのハプティック信号の静的調整のためのシステムを示す図である。
【図５】本発明の実施形態に係る静的ハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図６】一実施形態に係る、入力信号をリサンプリングすることによるハプティック信号の静的調整のためのシステムを示す図である。
【図７】本発明の実施形態に係る静的ハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図８】一実施形態に係る、ハプティック信号をリサンプリングすることによるハプティック信号の静的調整のためのシステムを示す図である。
【図９】本発明の実施形態に係る静的ハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図１０】一実施形態に係る、キーイベントを分析することによるハプティック信号の静的調整のためのシステムを示す図である。
【図１１】本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図１２】一実施形態に係る、ハプティック信号を選択することによるハプティック信号の動的調整のためのシステムを示す図である。
【図１３】本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図１４】一実施形態に係る、ハプトレットを選択することによるハプティック信号の動的調整のためのシステムを示す図である。
【図１５】本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図１６】一実施形態に係る、ハプティックブロックを再生することによるハプティック信号の動的調整のためのシステムを示す図である。
【図１７】本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図１８】一実施形態に係る、ある範囲のハプティック信号を再生することによるハプティック信号の動的調整のためのシステムを示す図である。
【図１９】本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図２０】本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図２１】本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能を示すフローチャートである。
【図２２】いくつかの実施形態に係る、ハプティック信号にサンプルを挿入するか、又はそこから除去することによるハプティック信号の動的調整のためのシステムを示す図である。
【発明を実施するための形態】
【０００８】
一実施形態は、所望のプレイバック速度に対応するために、例えばハプティック信号などのハプティックデータのプレイバックを調整するハプティックプレイバック調整システムであり、ここでハプティックデータのプレイバックは、異なるプレイバック速度又はスピードに対応し得る。
【０００９】
一実施形態において、ハプティックプレイバック調整システムは、ハプティック信号のプレイバックを静的に調整できる。言い換えると、ハプティックプレイバック調整システムは、ハプティック信号のプレイバックが開始される前に、所望のプレイバック速度に対応するようにハプティック信号のプレイバックを調整できる。ハプティックプレイバック調整システムは、以下においてより詳細に説明される１つ又はそれ以上の静的調整技術を用いて、所望のプレイバック速度に対応するようにハプティック信号のプレイバックを調整できる。その後ハプティック信号はハプティック出力デバイスに送られてもよく、ここでハプティック信号はハプティック出力デバイスに１つ又はそれ以上のハプティック効果を出力させ、その１つ又はそれ以上のハプティック効果のプレイバックは所望のプレイバック速度に対応する。
【００１０】
例えば、ユーザは例えばスマートフォン又はアクションカメラなどのビデオキャプチャデバイスにおいて、２４０フレーム毎秒（ｆｒａｍｅｓ  ｐｅｒ  ｓｅｃｏｎｄ：「ｆｐｓ」）という高フレーム速度でビデオを撮ってもよい。ハプティックオーサリングツール、ビデオ、付随する音声、及び／又はその他の入力センサデータを用いて、ハプティック信号を作成できる。ユーザは、速い動作の連続をより良好に知覚するために、ビデオを遅くすること、すなわちビデオをスローモーションで再生することを望むことがある。例えば、ユーザはビデオを１／４のスピードで再生することを望むかもしれない。ユーザはビデオを６０ｆｐｓで再生することを選択できる。言い換えると、１秒の１／２４０（０．００４１６７ｓｅｃ．）にて捕捉されたフレームが、１秒の１／６０（０．０１６７）にて再生されることによって、元々捕捉されたときよりも４倍遅いプレイバックスピードが得られる。本明細書に記載されるハプティックプレイバック調整システムはさらに、新たなプレイバックスピードに対して適切なハプティック信号を提供するようにハプティック信号を調整できる。
【００１１】
別の実施形態において、ハプティックプレイバック調整システムは、ハプティック信号のプレイバックを動的に調整できる。言い換えると、ハプティックプレイバック調整システムは、ハプティック信号のプレイバックが開始された後に、所望のプレイバック速度に対応するようにハプティック信号のプレイバックを調整できる。ハプティックプレイバック調整システムは、以下においてより詳細に説明される１つ又はそれ以上の動的調整技術を用いて、所望のプレイバック速度に対応するようにハプティック信号のプレイバックを調整できる。その後ハプティック信号はハプティック出力デバイスに送られてもよく、ここでハプティック信号はハプティック出力デバイスに１つ又はそれ以上のハプティック効果を出力させ、その１つ又はそれ以上のハプティック効果のプレイバックは所望のプレイバック速度に対応する。
【００１２】
例えば、ユーザはユーザのモバイルデバイスにおいて、アニメーションの部分に関連するハプティック効果を有するアニメーションを受取ることができる。デバイスの能力に依存して、アニメーションは元々設計されたよりも遅く、又は速く再生することがある。したがって、関連するハプティック効果は再生の際に意図されたとおりにアニメーションと一致しないかもしれない。アニメーションが元々の意図よりも遅く再生するものと仮定する。アニメーションエレメントの前にハプティック効果がトリガすることによって、ユーザの経験が不十分になるだろう。アニメーションが元々の意図よりも速く再生するものと仮定する。アニメーションエレメントよりも後にハプティック効果がトリガすることによって、ユーザの経験が不十分になるだろう。本明細書に記載されるハプティックプレイバック調整システムを用いて、ハプティック信号のプレイバックの動的調整を達成できる。
【００１３】
ある実施形態によれば、ハプティック信号のプレイバックとは、ハプティック信号の少なくとも一部がハプティック出力デバイスに送られて、ハプティック出力デバイスに少なくとも１つのハプティック効果を出力させるときである。さらに、ハプティック信号のプレイバックは、ハプティック信号の少なくとも一部をハプティック出力デバイスに送るための命令が受信されるときに開始される。加えて、ハプティック信号のプレイバック（すなわち１つ又はそれ以上のハプティック効果のプレイバック）は、ハプティック信号のプレイバック速度が所望のプレイバック速度と等しいとき、又はハプティック信号のプレイバックが他の入力のプレイバックと同期されていて、他の入力のプレイバックが所望のプレイバック速度と等しいときに、所望のプレイバック速度に対応する。
【００１４】
図１は、本発明の一実施形態に係るシステム１０のブロック図を示す。一実施形態において、システム１０はデバイス（例、モバイルデバイス又はウェアラブルデバイス）の一部であり、システム１０はそのデバイスに対するハプティックプレイバック調整機能を提供する。ウェアラブルデバイスの例はリストバンド、ヘッドバンド、眼鏡、リング、レッグバンド、衣服と一体化されたアレイ、又はユーザが身体に着用し得るか、もしくはユーザによって保持され得るあらゆる他のタイプのデバイスを含む。いくつかのウェアラブルデバイスは「ハプティックに使用可能」であってもよく、これはそれらのウェアラブルデバイスがハプティック効果を生成するための機構を含むことを意味する。別の実施形態において、システム１０はデバイス（例、モバイルデバイス又はウェアラブルデバイス）とは分離しており、そのデバイスに対する上述の機能を遠隔的に提供する。単一システムとして示されているが、システム１０の機能が分散システムとして実現されてもよい。システム１０は、バス１２又は情報を通信するためのその他の通信機構と、情報を処理するためのバス１２に結合されたプロセッサ２２とを含む。プロセッサ２２は、任意のタイプの汎用又は特定目的用プロセッサであってもよい。システム１０はさらに、情報及びプロセッサ２２によって実行される命令を保存するためのメモリ１４を含む。メモリ１４は、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ：「ＲＡＭ」）、リードオンリメモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ：「ＲＯＭ」）、例えば磁気ディスクもしくは光ディスクなどの静的記憶装置、又はあらゆるその他のタイプのコンピュータ読み取り可能な媒体の任意の組み合わせで構成されてもよい。
【００１５】
コンピュータ読み取り可能な媒体は、プロセッサ２２によるアクセスが可能な任意の利用可能な媒体であってもよく、揮発性及び不揮発性媒体の両方、取外し可能及び取外し不可能な媒体、通信媒体、及び記憶媒体を含んでもよい。通信媒体は、例えば搬送波又はその他の移送機構などの変調データ信号の中に、コンピュータ読取り可能命令、データ構造、プログラムモジュール、又はその他のデータを含んでもよく、さらに当該技術分野において公知のあらゆるその他の形の情報配信媒体を含んでもよい。記憶媒体は、ＲＡＭ、フラッシュメモリ、ＲＯＭ、消去可能プログラマブルリードオンリメモリ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ：「ＥＰＲＯＭ」）、電気的消去可能プログラマブルリードオンリメモリ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ：「ＥＥＰＲＯＭ」）、レジスタ、ハードディスク、取外し可能ディスク、コンパクトディスクリードオンリメモリ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ：「ＣＤ−ＲＯＭ」）、又は当該技術分野において公知のあらゆるその他の形の記憶媒体を含んでもよい。
【００１６】
一実施形態において、メモリ１４は、プロセッサ２２によって実行されるときに機能を提供するソフトウェアモジュールを保存する。モジュールは、システム１０及び一実施形態においてはモバイルデバイスの残りに対するオペレーティングシステム機能を提供するオペレーティングシステム１５を含む。モジュールはさらに、以下により詳細に開示されるとおりにハプティック効果のプレイバックを調整するハプティックプレイバック調整モジュール１６を含む。特定の実施形態において、ハプティックプレイバック調整モジュール１６は複数のモジュールを含んでもよく、各モジュールはハプティック効果のプレイバックを調整するための特定的な個々の機能を提供してもよい。システム１０は典型的に、例えばイマージョン・コーポレーション（Ｉｍｍｅｒｓｉｏｎ  Ｃｏｒｐｏｒａｔｉｏｎ）のＩｎｔｅｇｒａｔｏｒ（商標）ソフトウェアなど、付加的な機能を含ませるための１つ又はそれ以上の付加的なアプリケーションモジュール１８を含むだろう。
【００１７】
リモートソースからデータを送信及び／又は受信する実施形態において、システム１０はさらに、例えば赤外線、無線、Ｗｉ−Ｆｉ、又はセルラネットワーク通信などのモバイルワイヤレスネットワーク通信を提供するための、例えばネットワークインタフェースカードなどの通信デバイス２０を含む。他の実施形態において、通信デバイス２０は、例えばイーサネット（登録商標）接続又はモデムなどのワイヤードネットワーク接続を提供する。
【００１８】
プロセッサ２２はさらにバス１２を介して、ユーザにグラフィカルな表現又はユーザインタフェースを表示するための、例えば液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：「ＬＣＤ」）などのディスプレイ２４に結合される。ディスプレイ２４は、プロセッサ２２からの信号を送信及び受信するように構成された例えばタッチスクリーンなどのタッチセンス入力デバイスであってもよく、さらにマルチタッチのタッチスクリーンであってもよい。
【００１９】
一実施形態において、システム１０はさらにアクチュエータ２６を含む。プロセッサ２２は、生成されるハプティック効果に関連するハプティック信号をアクチュエータ２６に送信してもよく、次いでアクチュエータ２６は、例えば振動触覚ハプティック効果、静電摩擦ハプティック効果、又は変形ハプティック効果などのハプティック効果を出力する。アクチュエータ２６は、アクチュエータ駆動回路を含む。アクチュエータ２６は、例えば電気モータ、電磁気アクチュエータ、ボイスコイル、形状記憶合金、電気活性ポリマー、ソレノイド、偏心回転質量モータ（ｅｃｃｅｎｔｒｉｃ  ｒｏｔａｔｉｎｇ  ｍａｓｓ  ｍｏｔｏｒ：「ＥＲＭ」）、リニア共振アクチュエータ（ｌｉｎｅａｒ  ｒｅｓｏｎａｎｔ  ａｃｔｕａｔｏｒ：「ＬＲＡ」）、圧電アクチュエータ、高帯域幅アクチュエータ、電気活性ポリマー（ｅｌｅｃｔｒｏａｃｔｉｖｅ  ｐｏｌｙｍｅｒ：「ＥＡＰ」）アクチュエータ、静電摩擦ディスプレイ、又は超音波振動発生装置などであってもよい。代替的実施形態において、システム１０は、アクチュエータ２６に加えて１つ又はそれ以上の付加的なアクチュエータを含んでもよい（図１には示されていない）。アクチュエータ２６はハプティック出力デバイスの例であり、ここでハプティック出力デバイスとは、駆動信号に応答して例えば振動触覚ハプティック効果、静電摩擦ハプティック効果、又は変形ハプティック効果などのハプティック効果を出力するように構成されたデバイスのことである。代替的実施形態において、アクチュエータ２６は何らかの他のタイプのハプティック出力デバイスと置き換えられてもよい。さらに他の代替的実施形態において、システム１０はアクチュエータ２６を含まなくてもよく、システム１０とは別のデバイスがハプティック効果を生成するアクチュエータ又は他のハプティック出力デバイスを含み、システム１０は通信デバイス２０を通じてそのデバイスに生成されたハプティック信号を送る。
【００２０】
一実施形態において、システム１０はさらにスピーカ２８を含む。プロセッサ２２は音声信号をスピーカ２８に送信してもよく、次いでスピーカ２８は音声効果を出力する。スピーカ２８は例えばダイナミックスピーカ、電気力学スピーカ、圧電スピーカ、磁気歪みスピーカ、静電スピーカ、リボン及び平面磁気スピーカ、屈曲波スピーカ、フラットパネルスピーカ、ハイルエアモーショントランスデューサ、プラズマアークスピーカ、ならびにデジタルスピーカなどであってもよい。代替的実施形態において、システム１０は、スピーカ２８に加えて１つ又はそれ以上の付加的なスピーカを含んでもよい（図１には示されていない）。さらに、他の代替的実施形態において、システム１０はスピーカ２８を含まなくてもよく、システム１０とは別のデバイスが音声効果を出力するスピーカを含み、システム１０は通信デバイス２０を通じてそのデバイスに音声信号を送る。
【００２１】
一実施形態において、システム１０はさらにセンサ３０を含む。センサ３０は、例えば音、運動、加速、バイオ信号、距離、流れ、力／圧力／歪み／屈曲、湿度、線形位置、オリエンテーション／傾斜、無線周波数、回転位置、回転速度、スイッチの操作、温度、振動、又は可視光強度などであるがそれに限定されないエネルギー又はその他の物理的性質の形状を検出するように構成され得る。センサ３０はさらに、検出されたエネルギー又はその他の物理的性質を、電気信号又は仮想センサ情報を表す任意の信号に変換するように構成され得る。センサ３０は、例えば加速度計、心電図、脳波図、筋電計、眼電図、電気口蓋図、皮膚電気反応センサ、容量性センサ、ホール効果センサ、赤外センサ、超音波センサ、圧力センサ、光ファイバーセンサ、屈曲センサ（又は曲げセンサ）、力感受性レジスタ、ロードセル、ＬｕＳｅｎｓｅ  ＣＰＳ２  １５５、微小圧力トランスデューサ、ピエゾセンサ、歪み計、湿度計、線形位置タッチセンサ、線形電位差計（又はスライダ）、線形可変差動変成器、コンパス、傾斜計、磁気タグ（又は無線周波数識別タグ）、回転エンコーダ、回転電位差計、ジャイロスコープ、オン−オフスイッチ、温度センサ（例えば温度計、熱電対、抵抗温度検出器、サーミスタ、又は温度変換集積回路など）、マイクロホン、光度計、高度計、バイオモニタ、カメラ、又は光依存性レジスタなどであるがそれに限定されない、任意のデバイスであってもよい。代替的実施形態において、システム１０は、センサ３０に加えて１つ又はそれ以上の付加的なセンサを含んでもよい（図１には示されていない）。これらの実施形態のいくつかにおいて、センサ３０及び１つ又はそれ以上の付加的なセンサは、センサアレイ又は何らかの他のタイプのセンサの集合の一部であってもよい。さらに、他の代替的実施形態において、システム１０はセンサ３０を含まなくてもよく、システム１０とは別のデバイスが、エネルギー又はその他の物理的性質の形状を検出し、かつ検出されたエネルギー又はその他の物理的性質を電気信号又は仮想センサ情報を表す他のタイプの信号に変換するセンサを含む。次いでそのデバイスが、変換された信号を通信デバイス２０を通じてシステム１０に送ってもよい。
【００２２】
本発明の実施形態によれば、前述のとおり、例えばシステム１０などのハプティックプレイバック調整システムは、ハプティック信号のプレイバックを静的又は動的に調整できる。ハプティック信号のプレイバックを静的に調整するために、ハプティックプレイバック調整システム１０は、以下の静的調整技術の概要において考察される１つ又はそれ以上の静的調整技術を実行できる。
【００２３】
一実施形態において、ハプティックプレイバック調整システム１０は、ハプティック設計者が複数のハプティック信号を生成することによって複数のプレイバック速度に対するハプティック効果を作成することを可能にでき、ここで各ハプティック信号は一意のプレイバック速度に対応する。その後、ハプティックプレイバック調整システム１０は所望のプレイバック速度に基づいて、複数のハプティック信号からハプティック信号を選択でき、このハプティック信号の選択は、ハプティック信号のプレイバックが開始される前であってもよい。その後、ハプティックプレイバック調整システム１０は、選択されたハプティック信号をハプティック出力デバイスに送ってもよく、選択されたハプティック信号のプレイバックは所望のプレイバック速度に対応する。
【００２４】
別の実施形態において、もし元のハプティック信号が元々ハプティック変換アルゴリズムによって生成されていれば（すなわち、元々例えば音声信号、ビデオ信号、加速度信号、センサ出力などの元の入力信号から変換されたものであるとき）、ハプティックプレイバック調整システム１０は、所望のサンプリング速度に対して元の入力信号をリサンプリング（例、アップサンプリング又はダウンサンプリング）することによって、元の入力信号を新たな入力信号に変換できる。ハプティックプレイバック調整システム１０は、ハプティック変換アルゴリズムと新たな入力信号（すなわち、リサンプリングされた入力信号）とを用いて、新たなハプティック信号を生成できる。結果として得られる新たなハプティック信号は、元の入力信号の所望のリサンプリング速度によって設定された所望のプレイバック速度に対応する。その後、ハプティックプレイバック調整システム１０はハプティック出力デバイスに新たなハプティック信号を送ることができ、選択されたハプティック信号のプレイバックは所望のプレイバック速度に対応する。
【００２５】
別の実施形態において、ハプティックプレイバック調整システム１０は、元のハプティック信号をリサンプリング（例、アップサンプリング又はダウンサンプリング）することによって、元のハプティック信号を所望のプレイバック速度に対応する新たなハプティック信号に変換できる。その後、ハプティックプレイバック調整システム１０はハプティック出力デバイスに新たなハプティック信号を送ることができ、新たなハプティック信号のプレイバックは所望のプレイバック速度に対応する。
【００２６】
別の実施形態において、ハプティックプレイバック調整システム１０は、元の入力信号をリサンプリング（例、アップサンプリング又はダウンサンプリング）することによって、元の入力信号を所望のプレイバック速度に対応する新たな入力信号に変換できる。ハプティックプレイバック調整システム１０は新たな入力信号をさらに分析して、１つ又はそれ以上の「キー入力イベント（ｋｅｙ  ｉｎｐｕｔ  ｅｖｅｎｔ）」を識別してもよく、ここで「キー入力イベント」とは、１つ又はそれ以上の指定された特徴（例、周波数、振幅、包絡線など）を有する入力データの部分のことである。ハプティックプレイバック調整システム１０はさらに、「キーハプティックイベント」が１つ又はそれ以上の指定された特徴（例、周波数、振幅、包絡線など）を有するハプティックデータの部分であるときに、１つ又はそれ以上の「キーハプティックイベント」を識別し、かつその１つ又はそれ以上のキーハプティックイベントが新たな入力信号の１つ又はそれ以上のキー入力イベントと整合するように、１つ又はそれ以上のキーハプティックイベントを新たなハプティック信号内でシフトさせることによって、元のハプティック信号を新たなハプティック信号に変換してもよい。キーハプティックイベントが新たな入力信号のキー入力イベントと整合するようにキーハプティックイベントを新たなハプティック信号内でシフトさせることによって、キーハプティックイベントの位置が新たな入力信号内のキー入力イベントの位置と整合するように、新たなハプティック信号内のキーハプティックイベントの位置が調整される。さらに、キーハプティックイベントの位置が（ａ）キー入力イベントの位置と同一であるか、又は（ｂ）キー入力イベントの位置と実質的に同一であるときに、キーハプティックイベントの位置がキー入力イベントの位置と整合し、ここではキー入力効果に基づいて出力デバイスが出力する効果と、キーハプティック効果に基づいてハプティック出力デバイスが出力するハプティック効果とが、ほぼ同時に両方起こるか、又は両方経験される。キーハプティックイベントの位置とキー入力イベントの位置とを整合した後に、ハプティックプレイバック調整システム１０は、キー入力イベントが起こるフレームの数と一致させるためにハプティック信号を任意に伸長（又は収縮）させてもよい。その後、ハプティックプレイバック調整システム１０はハプティック出力デバイスに新たなハプティック信号を送ってもよく、ここで新たなハプティック信号のプレイバックは、所望のプレイバック速度に対応する。
【００２７】
前述の動的調整技術を、以下にさらにより詳細に説明する。
【００２８】
ハプティック信号のプレイバックを動的に調整するために、ハプティックプレイバック調整システム１０は、以下の動的調整技術の概要において考察される１つ又はそれ以上の動的調整技術を実行できる。
【００２９】
一実施形態において、ハプティックプレイバック調整システム１０は、ハプティック設計者が複数のハプティック信号を生成することによって複数のプレイバック速度に対するハプティック効果を作成することを可能にでき、ここで各ハプティック信号は一意のプレイバック速度に対応する。一意のビットレートに従って複数のハプティック信号を符号化できる。複数のハプティック信号はさらに、単一のファイル又はコンテナ内に保存され得る。その後、ハプティックプレイバック調整システム１０は所望のプレイバック速度に基づいて複数のハプティック信号からハプティック信号を選択でき、このハプティック信号の選択はハプティック信号のプレイバックが開始された後であってもよい。その後、ハプティックプレイバック調整システム１０は、選択されたハプティック信号をハプティック出力デバイスに送ってもよく、選択されたハプティック信号のプレイバックは所望のプレイバック速度に対応する。
【００３０】
別の実施形態において、ハプティックプレイバック調整システム１０は、ハプティック信号を１つ又はそれ以上のハプトレットに分割してもよく、ここでハプトレットとはハプティック信号の一部であって、ハプティック信号内のそのハプトレットの位置を示すインデックスを含む。ハプティック信号の分割は、ハプティック信号のプレイバックが開始される前に行われてもよいし、ハプティック信号のプレイバックが開始された後に行われてもよい。その後、ハプティック信号のプレイバックが開始された後に、ハプティックプレイバック調整システム１０は、１つ又はそれ以上のハプトレットのうち選択された数のプレイバックを調整することができる。より特定的には、ハプティックプレイバック調整システム１０は、各ハプトレットに対してそのハプトレットがハプティック出力デバイスに送られるべきかどうかを定めてもよい。もしそのハプトレットが選択されれば、ハプティックプレイバック調整システム１０は選択されたハプトレットをハプティック出力デバイスに送ってもよく、選択されたハプトレットはハプティック出力デバイスに１つ又はそれ以上のハプティック効果を出力させる。もしそのハプトレットが選択されなければ、ハプティックプレイバック調整システム１０はそのハプトレットをハプティック出力デバイスに送らない。いくつかの実施形態において、ハプトレットには優先順位が割り当てられてもよく、ハプトレットがハプティック出力デバイスに送られるべきかどうかを定めるための根拠の一部として、その優先順位が用いられてもよい。
【００３１】
別の実施形態において、ハプティックプレイバック調整システム１０は、ハプティック信号を１つ又はそれ以上のハプティックブロックに分割してもよく、ここでハプティックブロックとはハプティック信号の一部である。ハプティック信号の分割は、ハプティック信号のプレイバックが開始される前に行われてもよいし、ハプティック信号のプレイバックが開始された後に行われてもよい。その後、ハプティック信号のプレイバックが開始された後に、ハプティックプレイバック調整システム１０は、指定された連続するハプティックブロックのプレイバックの間の遅延（「スリープ期間」又は「待機期間」とも識別される）を構成してもよい。より特定的には、ハプティックプレイバック調整システム１０は、第１のハプティックブロックのプレイバックの後、第２のハプティックブロックのプレイバックの前（ここで第１及び第２のハプティックブロックは連続するハプティックブロックである）に、遅延パラメータに基づいて特定の持続時間の遅延を指定できる。この持続時間の間、ハプティックプレイバック調整システム１０はハプティックブロックをプレイバックしない。言い換えると、この持続時間の間、ハプティックプレイバック調整システム１０はハプティックブロックをハプティック出力デバイスに送らない。
【００３２】
別の実施形態において、ハプティック信号のプレイバックが開始された後に、ハプティックプレイバック調整システム１０は、開始時間と終了時間とを含む指定された時間範囲内のハプティック信号のプレイバックに対する１つ又はそれ以上の要求を受取ってもよい。要求に応答して、ハプティックプレイバック調整システム１０は、開始時間と終了時間との間にのみハプティック信号のプレイバックが起こり、終了時間に達するとハプティック信号のプレイバックが停止されるようにハプティック信号のプレイバックを調整してもよい。各要求に対して、ハプティックプレイバック調整システムによるこの調整が繰り返されてもよい。
【００３３】
別の実施形態において、ハプティック信号のプレイバックが開始された後に、ハプティックプレイバック調整システム１０は、タイムスタンプに基づいてプレイバック速度を所望のプレイバック速度に調整する要求を受取ってもよい。ハプティックプレイバック調整システム１０は、ハプティック信号の少なくとも一部に付加する又はそこから除去すべきハプティックサンプルの数を算出してもよく、ここでハプティックサンプルとはハプティック信号内に含まれるハプティックデータの一部である。算出された付加又は除去すべきハプティックサンプルの数に基づいて、ハプティックプレイバック調整システム１０は、ハプティック信号の少なくとも一部をリサンプリング（例えば、アップサンプリング又はダウンサンプリング）することによって、ハプティック信号の少なくとも一部を新たなハプティック信号に変換できる。特定の実施形態において、ハプティックプレイバック調整システム１０は、以下により詳細に説明されるリサンプリング技術の１つを用いて、ハプティック信号の少なくとも一部をリサンプリングできる。
【００３４】
リサンプリング技術の１つは、ハプティック信号から「サイレントハプティックサンプル」（「ゼロハプティックサンプル」とも識別される）を除去することを含み、ここで「サイレントハプティックサンプル」とは、予め定められた閾値よりも低い値を有するハプティックデータを含むハプティックサンプルのことである。サイレントハプティックサンプルを除去できる１つ又はそれ以上の場所を選択するために、ハプティック信号の現在のハプティックブロック（すなわちハプティックデータのブロック）を評価してもよく、その１つ又はそれ以上の選択された場所から１つ又はそれ以上のサイレントハプティックサンプルが除去されてもよい。その後、もし前の調整からキャッシュされたハプティックサンプルが不十分であれば、新たなハプティックブロックがフェッチされ得る。このリサンプリング技術は、増加したプレイバック速度へのプレイバック速度の調整の要求に応答して使用されてもよい。
【００３５】
別のリサンプリング技術は、ハプティック信号にサイレントハプティックサンプルを加えることを含む。サイレントハプティックサンプルを加えることができる１つ又はそれ以上の場所を選択するために、ハプティック信号の現在のハプティックブロックを評価してもよく、その１つ又はそれ以上の選択された場所に１つ又はそれ以上のサイレントハプティックサンプルを加えてもよい。その後、ハプティックブロックはハプティック出力デバイスに送られてもよい。その後、ハプティックブロックはその後のプレイバックのために保持されてもよい。このリサンプリング技術は、減少したプレイバック速度へのプレイバック速度の調整の要求に応答して使用されてもよい。
【００３６】
別のリサンプリング技術は、ハプティックサンプルを加えることのできるハプティック信号の１つ又はそれ以上の場所を識別することを含む。その１つ又はそれ以上の選択された場所に１つ又はそれ以上のハプティックサンプルを加えてもよい。さらに、各ハプティックサンプルに対して、ハプティック信号の残りの部分における「最も近いハプティックサンプル」に等しい１つ又はそれ以上の値が定められてもよい。「最も近いハプティックサンプル」とは、加えられたハプティックサンプルの前又は後に物理的又は論理的に位置するハプティックサンプルであってもよい。このリサンプリング技術は、減少したプレイバック速度へのプレイバック速度の調整の要求に応答して使用されてもよい。
【００３７】
別のリサンプリング技術は、ハプティックサンプルを加えることのできるハプティック信号の１つ又はそれ以上の場所を識別することを含む。その１つ又はそれ以上の選択された場所に１つ又はそれ以上のハプティックサンプルを加えてもよい。さらに、各ハプティックサンプルに対して、ハプティック信号の残りの部分における２つの最も近いハプティックサンプルの平均となる１つ又はそれ以上の値が定められてもよい。このリサンプリング技術は、減少したプレイバック速度へのプレイバック速度の調整の要求に応答して使用されてもよい。
【００３８】
別のリサンプリング技術は、所望のプレイバック速度へのプレイバック速度の調整の要求に応答して、指定された速度でハプティック信号のハプティックブロックをリサンプリングすることを含む。前にリサンプリングされなかったハプティック信号のハプティックブロックに対して、任意のその後の調整が適用されてもよい。言い換えると、すでにリサンプリングされたハプティック信号の任意のハプティックブロックは、再びリサンプリングされることはない。このリサンプリング技術は、増加したプレイバック速度又は減少したプレイバック速度へのプレイバック速度の調整の要求に応答して使用されてもよい。
【００３９】
前述の動的調整技術を以下にさらにより詳細に説明する。
【００４０】
図２は、本発明の実施形態に係るハプティックプレイバック調整モジュールの機能のフローチャートを示す。一実施形態において、以下の図２並びに図３、５、７、９、１１、１３、１５、１７、１９、２０及び２１の機能は、メモリ又はその他のコンピュータ読み取り可能な媒体もしくは有形の媒体に保存されて、プロセッサによって実行されるソフトウェアによって実現される。他の実施形態において、その機能はハードウェア（例、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：「ＡＳＩＣ」）、プログラマブルゲートアレイ（ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ：「ＰＧＡ」）、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ：「ＦＰＧＡ」）などの使用によって）、又はハードウェアとソフトウェアとの任意の組み合わせによって実行されてもよい。特定の実施形態においては、機能のいくつかが省略され得る。
【００４１】
フローが開始して、２１０に進む。２１０において、所望のプレイバック速度を定める。特定の実施形態においては、ハプティック信号のプレイバックが開始される前に所望のプレイバック速度を定めてもよい。他の実施形態においては、ハプティック信号のプレイバックが開始された後に所望のプレイバック速度を定めてもよい。次いで、フローは２２０に進む。２２０において、所望のプレイバック速度に基づいて、ハプティック信号の少なくとも一部を生成する。特定の実施形態においては、所望のプレイバック速度に基づいて、ハプティック信号の一部のみを生成する。他の実施形態においては、所望のプレイバック速度に基づいて、ハプティック信号全体を生成する。ハプティック信号のプレイバックが開始される前に所望のプレイバック速度を定める実施形態においては、前述の静的技術の１つ又はそれ以上を用いてハプティック信号の少なくとも一部を生成してもよく、この１つ又はそれ以上の前述の静的技術を、以下にさらにより詳細に説明する。ハプティック信号のプレイバックが開始された後に所望のプレイバック速度を定める他の実施形態においては、前述の動的調整技術の１つ又はそれ以上を用いてハプティック信号の少なくとも一部を生成してもよく、この１つ又はそれ以上の前述の動的調整技術を、以下にさらにより詳細に説明する。次いで、フローは２３０に進む。２３０において、ハプティック信号の少なくとも一部をハプティック出力デバイスに送る。ハプティック信号の少なくとも一部は、ハプティック出力デバイスに１つ又はそれ以上のハプティック効果を出力させる。さらに、この１つ又はそれ以上のハプティック効果のプレイバックは、所望のプレイバック速度に対応する。次いで、フローは終了する。
【００４２】
図３は、本発明の実施形態に係る静的ハプティックプレイバック調整モジュールの機能のフローチャートを示す。フローが開始して、３１０に進む。３１０において、ハプティック信号に対するいくつかの所望のプレイバック速度を定めてもよい。公称プレイバック速度は１ｘスピード、すなわちその通常のスピードで再生されるものとして記載されてもよい。他のプレイバック速度は０．７ｘスピード、１．５ｘスピード、２．０ｘスピード、２．５ｘスピードなどであってもよい。これらのスピードの各々は、公称１ｘスピードの乗数を表す。３２０において、所望のプレイバック速度の各々に対するハプティック信号を生成する。例えば、ハプティック信号は、ハプティック信号オーサリングツールを用いて作成されてもよいし、ハプティック信号を作成するための本出願に記載される任意の方法によって作成されてもよい。３３０において、所望のハプティックプレイバック速度に対応するハプティック信号を選択してもよい。例えば、ユーザはハプティック信号に対応するビデオトラックを減速又は加速することを希望することがある。ユーザは、ビデオトラックを減速又は加速し、かつ利用可能なハプティック信号の１つを選択することによって、対応するハプティック信号を同じ量だけ減速又は加速することができる。例えば、ユーザがビデオ信号を２だけ加速するとき、対応するハプティック信号は２ｘスピードハプティック信号として選択され得る。３４０において、例えばハプティック信号を含む関連ハプティックトラックを有するメディアをプレイバックするときに受取られ得る命令など、ハプティック信号を再生するための命令を受取ってもよい。３５０において、例えば図１とともに上述したハプティック出力デバイスの１つなどのハプティック出力デバイスに、ハプティック信号の少なくとも一部を送ってもよい。次いで、フローは終了する。
【００４３】
図４は、一実施形態に係る、異なるスピードの複数のハプティック信号を提供するためのハプティック信号の静的調整のためのシステムを示す。入力信号ソース４１０は、ハプティック信号作成ツール４２０に１つ又はそれ以上の入力信号を提供できる。上述のとおり、入力信号は、音声、ビデオ、又は１つもしくはそれ以上のセンサ、又はそれらの任意の組み合わせを含む任意の入力ソースからのものであってもよい。ハプティック信号作成ツール４２０は、１つ又はそれ以上の入力信号ソースが提供する入力信号に基づいてハプティック信号を作成するためにハプティックオーサによって使用されるツールであってもよい。ハプティック信号作成ツール４２０は、例えばＨａｐｔｉｃ  Ｓｔｕｄｉｏ、ＰｒｏＴｏｏｌｓ、Ａｕｄａｃｉｔｙなどのソフトウェアを含んでもよい。いくつかの実施形態において、ハプティック信号作成ツール４２０は、入力信号を自動的に分析して、その入力信号に基づくハプティック信号を提供するための変換ツールであってもよい。ハプティック信号１  ４３０、ハプティック信号２  ４３１、ハプティック信号３  ４３２など、ハプティック信号Ｎ  ４３５までの各々は、ハプティック信号作成ツール４２０からの出力ハプティック信号を表す。ハプティック信号４３０、４３１、４３２、及び４３５は、異なるサンプリング速度で提供された同じ入力ソース信号の異なるハプティック信号表現である。例えば、ハプティック信号１  ４３０は１ｘスピード、すなわち入力ソース信号と同じサンプリング速度であってもよい。ハプティック信号２  ４３１は０．７ｘスピードであってもよく、ハプティック信号３  ４３２は２ｘスピードであってもよく、ハプティック信号Ｎ  ４３５は４ｘスピードであってもよく、これらの異なるスピードは元の入力ソース信号のサンプリング速度の乗数である。これらは単なる例であり、異なるハプティック信号を任意の個別のスピードで提供してもよい。結果として得られるハプティック信号４３０、４３１、４３２、及び４３５の各々は、ハプティック入力ソースに対する正確なハプティック信号を表し得る。なぜなら、「キーモーメント（ｋｅｙ  ｍｏｍｅｎｔｓ）」を識別してこれらをマニュアルで整合でき、かつハプティック信号が対応する事象に対してどれぐらいの長さであるべきかに基づいてハプティック信号を補間できるハプティック設計者によって、各信号を個別に作成できるからである。しかし、多数のハプティック信号に対しては、必要とされる数、すなわち各乗数に対して１つのハプティック信号をハプティック設計者が生成することは、冗長又は非実用的であり得る。
【００４４】
図５は、本発明の実施形態に係る静的ハプティックプレイバック調整モジュールの機能のフローチャートを示す。フローが開始して、５１０に進む。５１０において、所望のプレイバック速度を定める。付随ハプティック信号が望まれる入力（例えばビデオもしくは音声などのメディアエレメント、又はセンサ入力など）のプレイバック速度の加速又は減速を示す設定によって、所望のプレイバック速度を定めてもよい。５２０において、所望のプレイバック速度に基づいて、入力データをリサンプリングしてもよい。適切なリサンプリング技術は、フレームの除去、フレームの挿入、例えば線形、多項式、スプライン、ガウス（Ｇｕａｓｓｉａｎ）、最近傍法などの補間によるフレームの挿入、又はその他のリサンプリング技術を含む。入力データのタイプ又はソースに基づいて、選択されるリサンプリング技術が変わり得る。例えば、１つの技術による音声のリサンプリングが使用されてもよく、別の技術によるビデオのリサンプリングが使用されてもよい。
【００４５】
５３０において、リサンプリングされた入力データをハプティック信号に変換する。変換ツールは、入力信号からハプティック信号への変換を提供できる。入力信号がリサンプリングされたので、生成されるハプティック信号は所望のプレイバック速度となる。５４０において、ハプティック信号を再生するための命令を受取ってもよい。５５０において、例えば図１とともに上述したハプティック出力デバイスの１つなどのハプティック出力デバイスに、ハプティック信号の少なくとも一部を送ってもよい。次いでフローは終了する。
【００４６】
入力信号のリサンプリングは、ハプティック信号を生成するために通常用いられる別のリサンプリング動作に加えて、又はその代わりに行われてもよい。例えば、通常のプレイバックの状況において、センサのデータは１ｋＨｚにて捕捉されてもよく、次いで８ｋＨｚにアップサンプリングされて、ハプティックコンバータを用いてハプティックトラックに変換されてもよい。２ｘプレイバックの状況において、センサデータは再び（又は代わりに）１６ｋＨｚにアップサンプリングされて、同じハプティックコンバータを用いて２ｘハプティック信号をもたらすように変換されてもよい。同様に４ｘプレイバックに対しては、センサデータが３２ｋＨｚにアップサンプリングされて、４ｘハプティック信号をもたらすようにハプティック信号に変換されてもよい。０．５ｘプレイバックに対しては、センサデータが４ｋＨｚにアップサンプリングされて変換されてもよい。同様に、もし通常のハプティック信号を生成するためにセンサデータが２００Ｈｚにダウンサンプリングされるのであれば、そのセンサデータは２ｘハプティック信号を生成するために４００Ｈｚまでしかダウンサンプリングされなくてもよいし、０．５ｘハプティック信号を生成するためにさらに１００Ｈｚにダウンサンプリングされてもよい。
【００４７】
図６は、一実施形態に係る、入力信号をリサンプリングすることによるハプティック信号の静的調整のためのシステムを示す。入力信号ソース６１０は、入力信号リサンプラ６１５に１つ又はそれ以上の入力信号を提供できる。上述のとおり、各入力信号は、音声、ビデオ、１つもしくはそれ以上のセンサ、又はそれらの任意の組み合わせを含む任意の入力ソースからのものであってもよい。入力信号リサンプラ６１５は、１つ又はそれ以上の入力信号を遅くする（すなわちそれらを引き伸ばすことによって長くする）か、又は速くする（すなわちそれらを圧縮することによって短くする）ために、それらの入力信号をリサンプリングできる。１つ又はそれ以上の入力信号の各々は、入力信号の最初のサンプリング速度及び対応する変換アルゴリズム要求を与えられて、異なる速度でリサンプリングされ得る（すなわち、異なるタイプの入力信号は、異なる要求を伴う異なる変換アルゴリズムを有し得る）。リサンプリングされた１つ又はそれ以上の入力信号はハプティック信号コンバータ６２０に提供されてもよく、ハプティック信号コンバータ６２０は１つ又はそれ以上のリサンプリングされた信号を取って、それらを１つのハプティック信号６３０に変換する。
【００４８】
図７は、本発明の実施形態に係る静的ハプティックプレイバック調整モジュールの機能のフローチャートを示す。１つ又はそれ以上の入力信号に基づいて、ハプティック信号がすでに作成又は提供されている。フローが開始して、７１０に進む。７１０において、所望のプレイバック速度を定める。ハプティック信号が付随するように設計された、ハプティック信号に対応するメディアエレメントのプレイバック速度の加速又は減速を示す設定によって、所望のプレイバック速度を定めてもよい。７２０において、ハプティック信号のプレイバック時間を伸長又は収縮させるために、ハプティック信号をリサンプリングしてもよい。例えば、ハプティック信号を縮めるために、サンプルを除去するか、平均化する（すなわち、いくつかのサンプルの平均に置き換える）か、又はそれらの値を組み合わせた別の値もしくは特徴で表してもよい。ハプティック信号を伸ばすために、付加的なサンプルを加えてもよい。ゼロ値サンプルの挿入、例えば線形、多項式、スプライン、ガウス、及び近隣などの補間によるサンプルの挿入を含む、上記にて考察した技術を用いて、サンプルを加えてもよい。いくつかの実施形態においては、代わりにハプティック信号のプレイバック速度を変更してもよい。例えば、８ｋＨｚのプレイバック速度を有するハプティック信号を代わりに１０ｋＨｚで再生して、その信号を効果的に２５％縮めてもよい。又は例えば、８ｋＨｚのプレイバック速度を有するハプティック信号を代わりに４ｋＨｚで再生して、その信号を効果的に２００％伸ばしてもよい。
【００４９】
いくつかの実施形態において、リサンプリングのために音声処理ツールを使用してもよい。ハプティック信号を音声トラックとして処理して、音声処理ツールボックスにおいて実現される伸長／収縮フィルタを用いて処理してもよい。７３０において、リサンプリングされたハプティック信号を再生するための命令を受取ってもよい。７４０において、例えば図１とともに上述したハプティック出力デバイスの１つなどのハプティック出力デバイスに、リサンプリングされたハプティック信号の少なくとも一部を送ってもよい。信号自体が変更されたため、ハプティック信号は元のサンプリング速度で再生されてもよい。次いで流れは終了する。
【００５０】
図８は、一実施形態に係る、ハプティック信号をリサンプリングすることによるハプティック信号の静的調整のためのシステムを示す。入力信号ソース８１０は、ハプティック信号ジェネレータ又はコンバータ８２０に１つ又はそれ以上の入力信号を提供できる。ハプティック信号ジェネレータ又はコンバータ８２０は、ハプティックオーサリングツール（図示せず）又はハプティックコンバータを用いて、１つ又はそれ以上の入力信号からハプティック信号を作成できる。ハプティック設計者は、１つ又はそれ以上の入力信号に基づいてハプティック信号を作成するためにハプティックオーサリングツールを使用できる。ハプティックコンバータは、１つ又はそれ以上の入力信号を単一又は複合ハプティック信号に変換できる。結果として得られたハプティック信号を、ハプティック信号リサンプラ８２５に提供できる。ハプティック信号リサンプラは、所望のプレイバック速度入力又は設定に基づいて伸長又は収縮したハプティック信号を提供するために、信号をリサンプリングできる。ハプティック信号を縮めるために、ハプティック信号リサンプラ８２５は、サンプルを除去するか、それらを平均化する（すなわち、２つ以上をいくつかのサンプルの平均によって置き換える）か、又はサンプル値をそれらの値を組み合わせた別の値もしくは特徴で表してもよい。ハプティック信号を伸ばすために、ハプティック信号リサンプラ８２５は、例えばゼロ値サンプルの挿入、線形補間を用いて定められた値によるサンプルの挿入、最近傍値を用いて定められた値によるサンプルの挿入、又はその他のリサンプリング技術から導出される値によるフレームの挿入などの技術を用いて、サンプルを加えてもよい。リサンプリングされたハプティック信号を、図１のハプティック出力デバイス２６に対応し得るハプティック出力デバイス８３０に提供できる。
【００５１】
図７のフロー又は図８のシステムによって提供されるものなどのハプティック信号の伸長又は収縮は、ハプティックトラックにアーティファクトを生じるかもしれない。なぜなら、新たに作成されたハプティック信号は、わずかに同期していない感じを与え得るハプティック効果を生じることがあるからである。例えば、スノーボードのビデオクリップにおいて、スノーボードの着地には、通常のプレイバックにおけるビデオの２フレームをカバーするハプティック効果が付随し得る。プレイバックを８倍延長するスローモーションプレイバックに対して、同じ効果がビデオの１６フレームに伸長される。しかし、スローモーションプレイバックは新たなビデオ信号の４フレームしか続かない着地を示すかもしれず、それによって残りの１２フレームに対してハプティック効果が混乱した、不適切な、同期していないと感じられるものになる。図９のフローは、この問題に対する解決策を提供し得るものである。
【００５２】
図９は、本発明の実施形態に係る静的ハプティックプレイバック調整モジュールの機能のフローチャートを示す。１つ又はそれ以上の入力信号に基づいて、ハプティック信号がすでに作成又は提供されている。流れが開始して、９１０に進む。９１０において、所望のプレイバック速度を定める。ハプティック信号が付随するように設計された、ハプティック信号に対応するメディアエレメントのプレイバック速度の加速又は減速を示す設定によって、所望のプレイバック速度を定めてもよい。９２０において、所望のプレイバック速度に基づいて、入力データをリサンプリングしてもよい。適切なリサンプリング技術が上に考察されており、それはフレームの除去、フレームの挿入、例えば線形、多項式、スプライン、ガウス、及び最近傍法などの補間によるフレームの挿入、又はその他のリサンプリング技術を含んでもよい。入力データのタイプ又はソースに基づいて、選択されるリサンプリング技術が変わり得る。例えば、１つの技術による音声のリサンプリングが使用されてもよく、別の技術によるビデオのリサンプリングが使用されてもよい。
【００５３】
例えば、ビデオプレイバックを異なるやり方で遅らせてもよい。「通常の」プレイバックスピードが３０ｆｐｓであるとすれば、ビデオは通常３３．３３３ｍｓ表示される。１２０ｆｐｓで捕捉され、３０ｆｐｓでプレイバックされるビデオは、４ｘスローモーションビデオとして知覚される。フレームを１つおきに除去することによって、つまり利用可能な１２０ｆｐｓのうちの６０ｆｐｓのみを用い、なおかつ各フレームを３３．３３３ｍｓ表示することによって、１２０ｆｐｓのビデオが２ｘスローモーションと知覚され得る。３０ｆｐｓで捕捉されたビデオは、各フレームを３３．３３３ｍｓよりも長く表示することによって、スローモーション効果を提供できる。例えば、もし各フレームが代わりに１００ｍｓ（１０ｆｐｓ）で表示されれば、そのビデオは通常のスピードよりも３ｘ遅くみえる。３０ｆｐｓで捕捉されたビデオは、すべてのフレームの間に別のフレームを挿入し、挿入フレームの値を補間するために近隣フレームの値を用いることによって、２ｘスローモーションを提供できる。
【００５４】
９３０において、１つ又はそれ以上の入力ソース信号中の１つ又はそれ以上の「キー入力イベント」を識別する。「キー入力イベント」を識別するときには、事象のタイミング及び持続時間を推定する。上述のとおり、「キー入力イベント」とは、１つ又はそれ以上の指定された特徴（例、周波数、振幅、包絡線など）を有する入力データの部分である。例えば、１つ又はそれ以上の指定された特徴が、ハプティック出力を引き起こす事象に関連付けられ得る特定の閾値又はパターンと一致するときに、キー入力イベントが見出され得る。その考えは、ほとんどの場合の事象は瞬間的なものであるため、例えばビデオソース中の事象を減速することは必ずしもハプティクスを同量だけ減速することにならないというものである。瞬間的な事象は、遅くしたクリップにおいてはより分離した（ｄｉｓｃｒｅｅｔ）ものとして強調される。例えば、通常のプレイバックにおいてはビデオの単一フレームにおいてパンチが起こり得る。８倍スローモーションにおいては、同じパンチがスローモーションプレイバックの８フレームではなく、なおもビデオの単一フレームにおいて起こり得る。しかしスノーボードに関しては、いくつかの事象はスローモーションにおいてなおも複数のフレームにまたがるかもしれないが、倍の数のフレームにはまたがらないかもしれない。例えば、爆発はビデオの通常のプレイバックにおいて２フレームにまたがってもよく、ビデオのスローモーションプレイバックにおいては（１６フレームではなく）８フレームにまたがってもよい。
【００５５】
キー入力イベントの正確な瞬間及びその持続時間の局在化を試みるために、任意の利用可能な有効データを用いてもよい。例えば、スノーボードの例はさらに、ジャイロスコープ及び加速度計の供給を含む入力感覚データを、利用可能な有効データとして有してもよい。これらの供給は、ビデオの供給によって提供され得るものよりも特定的なキーイベントタイミングを見出すために用いられ得る。
【００５６】
有効データ信号とは、表示されるべきフレーム間の元の時間間隔よりも小さいサンプリング時間間隔によって捕捉された、メディアの内容（音声、ビデオ、又はセンサ）を説明する任意のデータである。例えば、１２０ｆｐｓにて捕捉された４ｘスローモーションビデオにおいて、３０ｆｐｓにて捕捉フレームをプレイバックすることによって、すべての利用可能なフレームを使用してもよい。各フレームの開始の間の時間間隔は、捕捉されたとおり８．３３３ｍｓである。データ信号が有効であるためには、それも１２０Ｈｚ又はそれ以上のサンプリング速度を有さなければならない。そうでなければ、エラーが導入され得る。例えば、もしサンプリング速度が２０Ｈｚしかなければ、サンプル間には５０ｍｓある。以下により詳細に説明するとおり、キーモーメントをこのデータに基づかせることは、ビデオに対するキーモーメントを６フレームもオフセットにする可能性があり、その結果としてハプティック効果が不十分になる。１２０ｆｐｓにて捕捉された２ｘスローモーションビデオにおいて、１つおきのフレームが除去されてもよく、その結果として６０ｆｐｓ及び元々表示されたとおりの１６．６６７ｍｓの表示フレーム間の時間間隔がもたらされる。ここで、有効データ信号は６０Ｈｚ又はそれ以上にてサンプリングされ得る。事象のタイミング及び持続時間の局在化は、視覚情報データに対するコンピュータ視覚技術（例、ブロック及び端縁分析）、又はその他のデータタイプに対するあらゆるその他の適切な音声もしくは信号処理アプローチ（例、周波数分析、包絡線分析、音響事象検出など）によって行われ得る。
【００５７】
９４０において、ハプティック信号における１つ又はそれ以上の「キーハプティックイベント」を識別してもよく、このハプティック信号は元の１つ又はそれ以上の入力信号から作成されたハプティック信号に対応する。上述のとおり、「キーハプティックイベント」とは、１つ又はそれ以上の指定された特徴（例、周波数、振幅、包絡線など）を有するハプティックデータの部分である。９５０において、リサンプリングされた入力データのキー入力イベントに対応するようにハプティックストリームにおける各キーハプティックイベントをシフトして、新たなシフトハプティック信号を作成してもよい。キーハプティックイベントをキー入力イベントに対してシフトすることにおいて、キーハプティックイベント（及び関連するハプティック出力信号）の整合は、ハプティック信号を単純にリサンプリングするよりも正確に達成され得る。しかし、リサンプリングされた入力データから新たなハプティック信号を作成するよりも、現存するハプティック信号をシフトする方が効率的に達成され得る。キー入力イベントとキーハプティックイベントとの整合は、前述の基準に従って行われてもよく、その基準とはすなわち、キーハプティックイベントの位置が（ａ）キー入力イベントの位置と同一であるか、又は（ｂ）キー入力イベントの位置と実質的に同一であるかのいずれかであるときに、キーハプティックイベントの位置がキー入力イベントの位置と整合するというものであり、ここでキー入力効果に基づいて出力デバイスが出力する効果と、キーハプティック効果に基づいてハプティック出力デバイスが出力するハプティック効果とが、ほぼ同時に両方起こるか、又は両方経験される。
【００５８】
９６０において、キー入力イベントのフレーム数又は持続時間と一致させるために、キーハプティックイベントのハプティック信号を任意に伸長又は収縮させてもよい。例えば、リサンプリングされた信号のキー入力イベントは３０フレーム続くかもしれない。キーハプティックイベントは１０フレーム続くかもしれない。３０フレームにて入力事象と一致させるか、又は２０フレーム（もしくは何らかのその他のフレーム数）にて入力事象と部分的に一致させるために、キーハプティックイベントに対応するハプティック信号が伸ばされてもよい。例えば、もしキー入力イベントが爆発であれば、最初の爆発が１５フレーム続いてもよく、それに伴って対応するキーハプティックイベントが２０フレーム続いてもよい。もし所望のプレイバック速度がプレイバックを０．５スピードに減速するものであれば、入力信号はリサンプリングを通じて３０フレームに伸ばされ得る。しかし、リサンプリングされた入力データは、キー入力イベントが実際には新たなリサンプリングデータの相対フレーム２から開始して発生することを示すかもしれない。キーハプティックイベントに対応するハプティック信号は、フレーム２から開始して２０フレーム実行されるようにキー入力イベントに対してシフトされ得る。次に、キー入力イベントの持続時間と一致させるためにハプティックキーイベント信号がさらに９フレーム伸ばされてもよい。
【００５９】
９７０において、シフトハプティック信号を再生するための命令を受取ってもよい。９８０において、例えば図１とともに上述したハプティック出力デバイスの１つなどのハプティック出力デバイスに、シフトハプティック信号の少なくとも一部を送ってもよい。次いで、フローは終了する。
【００６０】
上に考察したとおり、異なるやり方でビデオプレイバックを遅くできる。例えば、１２０ｆｐｓで捕捉されたビデオを、４ｘスローモーションビデオとして知覚させるために３０ｆｐｓでプレイバックしてもよい。この場合は、上に考察したとおり、キー入力イベントを局在化するために１２０Ｈｚ又はそれ以上の任意の有効データ信号が使用され得る。
【００６１】
３０ｆｐｓで捕捉されたビデオは、各フレームを３３．３３３ｍｓよりも長く、例えば３ｘスローモーションに対して１００ｍｓ（１０ｆｐｓ）などで表示することによって、スローモーション効果を提供できる。この場合は、上に考察したとおり、３０Ｈｚ又はそれ以上の有効データ信号が使用され得る。通常のプレイバックにおいてハプティック効果は３フレームにまたがるかもしれないが、局在化した時間に最も近くなる中心フレームを見出すことによってハプティック効果を中心フレームに局在化するために、図９の流れで説明した技術を用いることができる。加えて、事象が実際には１００ｍｓよりも短時間起こり得るように１２０Ｈｚにて捕捉された有効データ信号を用いて事象を局在化できたとしても、フレーム全体に対して再生するようにハプティック効果を伸長又は収縮できる。言い換えると、絶対的タイミングではなくビデオフレームと整合するようにハプティック効果を調整できる。こうしてビデオプレイバックを２ｘ又は６６．６６７ｍｓに調整でき、ハプティック信号はなおも開始モーメント及び持続時間の両方でフレームと整合する。例として、フレームシーケンスは通常１、２、３と表示される。対応するハプティック信号は、１００ｍｓ続くｘ、ｘ、ｘ（ここで「ｘ」はハプティック効果である）として出力され得る。各フレームをより長く、３ｘにて表示するとき、フレームは１、１、１、２、２、２、３、３、３として表示される。補正のためにハプティック信号が伸ばされたとき、ハプティック信号は３００ｍｓ続くｘ、ｘ、ｘ、ｘ、ｘ、ｘ、ｘ、ｘ、ｘとして出力される。キーモーメント分析は、フレーム２の最も近くでキーモーメントが発生することを定めてもよい。最初の３フレーム及び最後の３フレームでハプティック効果をプレイバックすることは典型的な知覚統合ウィンドウ閾値を超えており、その結果としてユーザは得られたハプティック効果がビデオと整合していないことに気付く。図９の流れを用いて、ハプティック信号がｏ、ｏ、ｏ、ｘ、ｘ、ｘ、ｏ、ｏ、ｏと出力されるように、ハプティック信号をフレーム２と関連付けることができる。
【００６２】
３０ｆｐｓで捕捉されたビデオは、すべてのフレームの間に別のフレームを挿入し、挿入フレームの値を補間するために近隣フレームの値を用いることによって、２ｘスローモーションを提供できる。この場合、有効サンプリング速度は補間されて６０ｆｐｓとなる。このため、キー入力イベントを局在化するために６０Ｈｚ又はそれ以上で有効データ信号をサンプリングする必要がある。
【００６３】
上述のスノーボードの例を続けると、図９の流れはリサンプリングされた入力信号のキー入力イベントを識別でき、結果としてスノーボード着地に対応する４フレームを取る識別キー入力イベントをもたらす。キーハプティックイベントに対するハプティック信号が分析されて、キー入力イベントと整合され得る。次いで、キー入力イベントと一致させるために、２フレームのハプティック信号が４フレームに伸ばされ得る。
【００６４】
別の例において、ボクシングの試合がハプティックフィードバックによって増強され得る。ハプティック効果を伸ばさずにノックアウトパンチをリプレイするとき、ハプティック情報を伸長する何らかのやり方はおそらく存在しないため、ハプティック効果は消失し得る。別の構成において、システムは単純にハプティック信号を対応するビデオ信号と同じ量だけ減速するかもしれず、結果として得られるハプティック効果はビデオ信号に適切に整合せずにハプティック効果を破滅させることがある。これは通常のプレイバックスピードでは問題にならないかもしれない。なぜならその効果は実際のパンチの前後のフレームも迅速にカバーしているかもしれないが、その態様はパンチの着地と識別可能ではないからである。別の構成においては、低速のプレイバックスピードにて、リサンプリングされた信号で見出されたキー入力イベントと、ハプティック信号におけるキーハプティックイベントとに基づいて、ハプティック信号がシフトされ得る。キー入力イベントの持続時間と一致させるために、ハプティック信号をさらに伸ばしてもよい。
【００６５】
図１０は、一実施形態に係る、キーイベントを分析することによるハプティック信号の静的調整のためのシステムを示す。入力信号ソース１０１０は、１つ又はそれ以上の入力信号をハプティック信号ジェネレータ１０２０に提供できる。入力信号ソース１０１０はさらに、１つ又はそれ以上の入力信号をハプティック信号ジェネレータ１０２０に提供できる。上述のとおり、各入力信号は、音声、ビデオ、１つもしくはそれ以上のセンサ、又はそれらの任意の組み合わせを含む任意の入力ソースからのものであってもよい。入力信号リサンプラ１０３０は、１つ又はそれ以上の入力信号を遅くする（すなわちそれらを引き伸ばすことによって長くする）か、又は速くする（すなわちそれらを圧縮することによって短くする）ために、それらの入力信号をリサンプリングできる。リサンプリングされた１つ又はそれ以上の入力信号は、キー入力イベントアナライザ１０４０に提供されてもよく、キー入力イベントアナライザ１０４０は１つ又はそれ以上のリサンプリングされた信号を取って、入力データ内のキーイベントを識別できる。ハプティック信号ジェネレータ１０２０からのハプティック信号は、キーハプティックイベントアナライザ１０５０に提供されてもよく、ハプティック信号内のキーイベントを識別してもよい。ハプティック信号シフタ１０６０は、キー入力イベントと整合させて修正ハプティック信号を提供するためにハプティック信号をシフトできる。修正ハプティック信号は、ハプティック伸長又は収縮アジャスタ１０７０によって、ハプティック信号のキーハプティックイベントの１つ又はそれ以上において任意に伸長又は収縮され得る。ハプティック伸長又は収縮アジャスタ１０７０は、さらに修正したハプティック信号をハプティック出力デバイス１０８０に提供できる。ハプティック伸長又は収縮アジャスタ１０７０を有さない実施形態においては、ハプティック信号シフタ１０６０からの修正ハプティック信号がハプティック出力デバイス１０８０に直接提供され得る。ハプティック出力デバイス１０８０はハプティック信号の少なくとも一部を再生してハプティック効果を提供できる。
【００６６】
動的ハプティックプレイバック調整システムにおいて、ハプティック信号はメディアエレメントとともに再生され得る。メディアエレメントは、対応するハプティック効果を有し得る任意のタイプのビデオ、アニメーション、視覚的警報、音声、聴覚的警報、又はゲーミング効果であってもよい。メディアエレメントの一例は短いビデオアニメーションであってもよく、例えばチャットセッションにおけるステッカーアニメーションなどは、対応するハプティック信号とともに再生されてもよく、そのハプティック信号はハプティック出力デバイスに与えられるか、又はそこで再生されるときにハプティック効果を提供する。アニメーションが再生されるデバイスによっては、ハプティック情報がアニメーションとは異なるプレイバック速度で再生することがある。例えば、速いプロセッサを有するか、又はわずかなバックグラウンドプロセスを実行中のデバイスにおいてはアニメーションが迅速に再生してもよく、もっと遅いプロセッサを有するか、又は多くのバックグラウンドプロセスを実行中のデバイスにおいてはアニメーションがもっと遅く再生してもよい。加えて、例えばアニメーションなどのメディアエレメントに依存して、アニメーションはより多くの運動するエレメントを有するセクションを有することがあり、それによってプレイバックシステムがアニメーションのすべてのエレメントの操作に対処するためにアニメーションの再生が遅くなることがある。アニメーションのプレイバックにおける任意の変動によって、対応するハプティック信号のプレイバックがメディアエレメントと同期しなくなり得る。ハプティック効果はアニメーションを増強するという意図される効果を有さないだけでなく、アニメーションの有効性を損なうであろう。
【００６７】
いくつかの実施形態において、ハプティック信号のプレイバックスピードは、例えばセンサに関連するパラメータなどのパラメータに基づいて動的に調整され得る。例えば、タッチスクリーン上の指の動きの速度を特定するパラメータは、その動きの速度に基づいて変わる、テクスチャに基づくハプティック効果に対応し得る。別のパラメータは、デバイスの対地速度に対応するセンサの出力であり得る。
【００６８】
図１１は、本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能のフローチャートを示す。フローが開始して、１１１０に進む。１１１０において、複数のプレイバック速度の各々に対応するビットレートにおいて、ハプティック信号を生成する。各生成ハプティック信号は個々に作成されてもよいし、１つ又はそれ以上の入力信号からのデータの変換プロセスの結果もたらされてもよい。プレイバック速度は、各々のハプティック信号のビットレートに基づいて変動し得る。例えば、２００ｂｐｓのビットレートを有するハプティック信号が、通常のプレイバックスピードを表してもよい。３００ｂｐｓのビットレートを有するハプティック信号は、通常のプレイバックスピードの１．５倍のスピードの速いプレイバックスピードを表し得る。なぜなら、ハプティック信号内の同じ量のデータが１秒当りのより速い速度で再生され得るために、より速いプレイバックがもたらされるからである。同様に、１００ｂｐｓのビットレートを有するハプティック信号は、通常のプレイバックスピードの０．５倍のスピードの遅いプレイバックスピードを表し得る。ビットレートに加えてハプティック信号の値を調整するために、個々のハプティック信号の各々がさらに調整されてもよい。１１２０において、各々のハプティック信号を組み合わせて単一のファイル又はコンテナに入れてもよい。これらのハプティック信号は、各ハプティック信号がファイル内のどこで開始及び／又は終了するかを記載したポインタ又はヘッダとともに、順に多重化、インタリーブ、又はリスト化されてもよい。
【００６９】
１１３０において、ハプティック信号を再生するための命令を受取ってもよく、ハプティック信号のプレイバックが開始される。１１４０において、所望のプレイバック速度を定めてもよい。所望のプレイバック速度は、対応するメディアエレメントのプレイバック速度、メディアエレメント及びハプティック信号を再生するデバイスの既知の能力、又はメディアエレメント及びハプティック信号の実際のプレイバック間の算出不足量の１つ又はそれ以上に基づいて定められてもよい。例えば、算出不足量は、メディアエレメントがハプティックエレメントよりも速く再生していることを示してもよい。プレイバック速度がパラメータに基づいている実施形態において、所望のプレイバック速度は、例えばタッチスクリーン上の指の動きの速度又はデバイスの対地速度などのパラメータに基づいて定められてもよい。１１５０において、利用可能なハプティック信号のファイル又はコンテナからハプティック信号を選択してもよく、選択された信号は所望のプレイバック速度に対応する。１１６０において、選択されたハプティック信号の少なくとも一部をハプティック出力デバイスに送ってもよい。１１７０において、もし再生するハプティック信号がまだ残っていれば、流れは１１４０に戻って続き、所望のプレイバック速度を再び調整すべきかどうかを定めてもよい。１１７０において、もし再生するハプティック信号がもう残っていなければ、フローは終了し得る。
【００７０】
図１２は、一実施形態に係る、ハプティック信号を選択することによるハプティック信号の動的調整のためのシステムを示す。複数のハプティック信号を生成するために、１つ又はそれ以上の入力信号ソース１２１０をハプティック信号ジェネレータ１２２０に提供でき、各々のハプティック信号は、ハプティック信号の異なるプレイバックスピードを表す異なるビットレートである。ハプティック信号１  １２３０は第１のビットレートであってもよく、ハプティック信号２  １２３１は別のビットレートであってもよく、ハプティック信号３  １２３２はさらに別のビットレートであってもよく、ハプティック信号Ｎ１２３５は別のビットレートであってもよく、他も同様である。すべてのハプティック信号がファイル又はコンテナ１２４０に含まれていてもよい。コンテナ１２４０をハプティックプレイバック信号セレクタ１２５０に提供でき、ハプティックプレイバック信号セレクタ１２５０は、付随するメディアエレメント（図示せず）とともに再生するためのハプティック信号又はパラメータに応答するハプティック信号を動的に選択して、選択したハプティック信号をハプティック出力デバイス１２６０に提供できる。
【００７１】
図１３は、本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能のフローチャートを示す。入力ソースに関係する入力データから、ハプティック信号がすでに作成されている。フローが開始して、１３１０に進む。１３１０において、ハプティック出力デバイスで再生するためのハプティック信号を受取ってもよい。１３２０において、ハプティック信号をハプトレット（ｈａｐｔｌｅｔ）に切断するための切断点を選択してもよい。上述のとおり、ハプトレットとはハプティック信号の一部であって、ハプティック信号内のそのハプトレットの位置を示すインデックスを含む。ハプトレット切断点は、ハプティック信号内のハプティック的にサイレントな（０値）点又はほぼサイレントな点における場所に見出され得る。ハプトレットの数は構成可能であってもよく、メディアエレメントのフレームの数と一致してもよい。加えて、ハプトレット切断点は、対応するメディアエレメントのフレームの始まりに対応してもよい。１３３０において、ハプティック信号を切断点においてハプトレットに分割してもよく、各ハプトレットにインデックスを割り当ててもよい。いくつかの実施形態において、ハプトレットはプレイバックが開始される前、例えばハプティック信号の作成後だがハプティック信号のプレイバックの要求よりも前などに作成されてもよい。いくつかの実施形態において、ハプトレットはプレイバックが開始された後に作成されてもよい。１３４０において、いくつかの実施形態においては、各ハプトレットにさらにハプトレット優先順位値を任意に割り当ててもよい。例えば、近隣ハプトレットよりも少ないハプティック情報又は低いハプティック値を含むハプトレットには、より低い優先順位が割り当てられ得る。
【００７２】
１３５０において、ハプトレットインデックス及び適用可能であれば優先順位インデックスに基づいて、再生するためのハプトレットを選択してもよい。例えば、メディアエレメントはハプトレットインデックスを参照してもよく、そのメディアエレメントのプレイバックにおいて各インデックスに遭遇するときに、そのハプトレットを選択する。１３６０において、選択されたハプトレットをハプティック出力デバイスに送ってもよい。もしハプティック出力デバイスがすでにハプトレットを再生していれば、いくつかの実施形態においては、そのハプトレットのプレイバックを中断して新たなハプトレットを再生してもよく、一方で他の実施形態においては、重複する期間に両方のハプトレットのプレイバックが同時に起こってもよい。１３７０において、ハプトレットの再生が終わったとき、別のハプトレットが選択されるまで他のハプトレットを再生しない。１３８０において、もし再生する付加的なハプトレットがあれば、フローは１３５０に続いて別のハプトレットを選択し、もし再生する付加的なハプトレットがなければ、フローは終了する。図１３のフローを用いて、メディアエレメントのプレイバックスピード又は入力パラメータに従ってハプティック信号のプレイバックを調整できる。（おそらくはプレイバックデバイスにおけるバックグラウンドアクティビティの増加のため、又はメディアエレメントの複雑さのために）メディアエレメントのプレイバックが遅くなるか、又はパラメータがより低速のプレイバックを指定するとき、次のハプトレットのプレイバックを遅延させることによって対応するハプティックプレイバックも遅くできるように、プレイバックを動的に調整できる。さらに、例えば対応するメディアエレメントのプレイバックがハプティック信号の再生よりも速いとき、又はパラメータが通常のプレイバックスピードよりも速いハプティック信号のプレイバックを指定するときなどに、優先順位の低いハプトレットをスキップしてもよい。
【００７３】
図１４は、一実施形態に係る、ハプトレットを選択することによるハプティック信号の動的調整のためのシステムを示す。ハプティック信号ソース１４１０は、ハプティック信号の切断点を選択するためのハプティック信号アナライザ１４２０にハプティック信号を提供できる。ハプティック信号スプリッタ１４３０は、切断点を用いてハプティック信号を切断して、ハプトレット１  １４４０、ハプトレット２  １４４１、ハプトレット３  １４４２、以下同様にハプトレットＮ１４４５までとしてもよい。これらのハプトレットを編成してハプティック信号にできる。ハプティック信号をハプトレットのストリームとしてハプトレットプレイバックセレクタ１２５０に送ってもよく、ハプトレットプレイバックセレクタ１２５０はハプトレットのインデックスに基づいて、再生するハプトレットを選択する。ハプトレットを選択するときの付加的な評価基準として、ハプトレットに対する任意の優先順位値もハプトレットプレイバックセレクタ１２５０によって使用され得る。選択されたハプトレットは、プレイバックのためにハプティック出力デバイス１２６０に送られてもよく、結果としてハプティック効果をもたらす。
【００７４】
図１５は、本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能のフローチャートを示す。入力ソースに関係する入力データから、ハプティック信号がすでに作成されている。フローが開始して、１５１０に進む。ハプティック信号を受取ってもよい。１５２０において、ハプティック信号をハプティックブロックに分割してもよい。上述のとおり、ハプティックブロックとはハプティック信号の一部である。ハプティック信号の分割は、ハプティック信号のプレイバックが開始される前に行われてもよいし、ハプティック信号のプレイバックが開始された後に行われてもよい。ハプティック信号のハプティックブロックへの分割は、各々のハプティックブロックが同じ長さ又は異なる長さになり得るように、均一に行われても、変動する態様で行われてもよい。いくつかの実施形態において、ハプティックブロックの長さは、ハプティック信号の全長に基づいて定められてもよい。例えば、各ハプティックブロックがハプティック信号を８０００で割った長さの時間を表すように、信号を８０００ブロックに分割してもよい。いくつかの実施形態においては、設定された量のハプティック信号データに対してハプティックブロックが作成されてもよい。例えば、ハプティック信号の５０ｍｓごとに対してハプティックブロックが作成されてもよい。よって、ハプティック信号に対するハプティックブロックの総数は、ハプティック信号の時間の長さの秒数に２０を掛けたものとなる。
【００７５】
１５３０において、第１のハプティックブロックをハプティック出力デバイスに送ってもよい。１５４０において、もし再生する付加的なハプティックブロックがなければ、フローは終了する。もし再生する付加的なハプティックブロックがあれば、１５５０においてもし次のハプティックブロックのプレイバックを遅延させるべきであれば、次いで１５６０において待機期間が生じる。待機期間の後、１５７０において、次の連続ハプティックブロックをハプティック出力デバイスに送ってもよい。もし１５５０からの待機期間がなければ、１５７０において次の連続ハプティックブロックをハプティック出力デバイスに直ちに送ってもよい。次いでフローは１５４０に戻って続き、再生する付加的なブロックがあるかどうかを定める。１５６０における待機期間は、ハプティック信号に対応するメディアエレメントのプレイバックスピードに基づくか、又は入力パラメータに基づいて算出してもよい。こうして、１５６０における待機期間はクライアントによって提供されるか、又はメディアエレメント及びハプティック信号のプレイバック速度に基づいて算出されてもよい。（おそらくはプレイバックデバイスにおけるバックグラウンドアクティビティの増加のため、又はメディアエレメントの複雑さのために）メディアエレメントのプレイバックが遅くなるか、又はパラメータがより低速のプレイバックを指定するとき、次のハプティックブロックのプレイバックを遅延させることによって対応するハプティックプレイバックも遅くできるように、プレイバックを動的に調整できる。
【００７６】
図１６は、一実施形態に係る、ハプティックブロックを再生することによるハプティック信号の動的調整のためのシステムを示す。ハプティック信号をハプティックブロック１  １６３０、ハプティックブロック２  １６３１、ハプティックブロック３  １６３２、以下同様にハプティックブロックＮ１６３５までに分割するために、ハプティック信号ソース１６１０はハプティック信号をハプティック信号スプリッタ１６２０に提供できる。上述のとおり、いくつかの異なるスキームに従ってハプティックブロックを分割できる。ハプティックブロックをハプティック信号としてハプティックプレイバック／待機ロジック１６５０に送ってもよい。ハプティックプレイバック／待機ロジック１６５０は、ハプティックブロックをその順序で再生するが、ハプティック信号の全体的なプレイバックを遅くするために、各ブロックのプレイバックの間に待機することができる。ハプティックプレイバック／待機ロジック１６５０は、ハプティック効果を生成するためにハプティックブロックを再生するために、ハプティック出力デバイス１６６０にハプティックブロックを送ってもよい。
【００７７】
図１７は、本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能のフローチャートを示す。入力ソースに関係する入力データから、ハプティック信号がすでに作成されている。フローが開始して、１７１０に進む。１７１０において、ハプティック信号を受取ってもよい。１７２０において、ある範囲のハプティック信号を再生するための要求を受取ってもよい。例えば、その要求は再生するハプティック信号の部分の開始時間及び持続時間、又は開始時間及び終了時間を含んでいてもよい。例えば、メディアエレメントを再生していて、そのメディアエレメントに対応するハプティック信号からのハプティック信号範囲を要求しているプレイバックデバイスから、その要求が受取られてもよく、そのハプティック信号範囲は、プレイバックデバイスにおいてプレイバックされるメディアエレメントの範囲に対応する。又は例えば、指の動きのパラメータもしくは対地速度パラメータなどの入力パラメータに基づいて、その要求が受取られてもよい。１７３０において、ハプティック信号の一部分をハプティック出力デバイスに送ってもよく、その部分はハプティック信号の要求された範囲に対応する。いくつかの実施形態において、要求された範囲に対応するハプティック信号のサブセットをプレイバックデバイスに送ってもよく、次いでそのプレイバックデバイスはハプティック出力デバイスにおいてその範囲を再生してもよい。そのハプティック信号の範囲は、開始位置から終了位置まで（又は特定の持続時間だけ）連続的に再生する。１７４０において、もしファイル内に再生する付加的なハプティクスがあれば、１７２０において、ある範囲のハプティック信号を再生するための別の要求を受取ってもよい。１７４０において、もしハプティック信号において再生するための付加的なハプティクスが利用可能でなければ、フローは終了してもよい。
【００７８】
図１８は、一実施形態に係る、ある範囲のハプティック信号を再生することによるハプティック信号の動的調整のためのシステムを示す。ハプティック信号の指定された範囲を抽出ハプティック信号として抽出するために、ハプティック信号ソース１８１０はハプティック信号をハプティック範囲抽出器１８２０に提供できる。抽出ハプティック信号をハプティックプレイバックロジック１８３０に提供でき、次いでハプティックプレイバックロジック１８３０は、それをハプティック効果を生成するためのハプティック出力デバイス１８４０に提供できる。いくつかの実施形態において、構成要素１８２０及び１８３０は同じ構成要素であってもよい。
【００７９】
図１９は、本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能のフローチャートを示す。入力ソースに関係する入力データから、ハプティック信号がすでに作成されている。フローが開始して、１９１０に進む。１９１０において、ハプティック信号を受取ってもよい。１９２０において、ハプティック信号のプレイバック速度を調整するための要求を受取ってもよい。１９３０において、所望のプレイバック速度の調整を達成するために付加又は除去するサンプルの数を算出してもよい。一実施形態において、サンプル数は、現在のハプティック信号の位置又はタイムスタンプ、及び対応するメディアエレメントの位置又はタイムスタンプに基づくものであってもよい。例えば、メディアエレメントは位置３００であってもよく、ハプティック信号は位置３３０であってもよい。したがって、ハプティック信号をメディアエレメントと近似的に整合させるために、ハプティック信号から３０サンプルを除去する必要があると判定してもよい。
【００８０】
ハプティックプレイバック調整が、例えば指の動きのパラメータなどのパラメータに基づくものであるいくつかの実施形態において、サンプル数はパラメータに基づいてもよい。例えば、ハプティックプレイバックスピードが５００Ｈｚであるとき、パラメータに基づいてそれぞれ除去又は付加するハプティックサンプルの数を算出することによってハプティック信号のプレイバックスピードの増加又は減少をもたらし得るような瞬時値をパラメータが提供してもよい。
【００８１】
いくつかの実施形態においては、記憶リサンプラが、ハプティック信号の将来の部分に対して用いるためにリサンプル速度を保存してもよい。例えば、ハプティック信号がメディアエレメントのプレイバックよりも速く再生しているために、ハプティック信号から１０サンプルごとに約１サンプルを除去する必要があると判定してもよい。上の例から、ハプティック信号プレイバック位置３３０は、メディアエレメントプレイバック位置３００から１０％ずれているとみられてもよい（（３３０−３００）／３００＝１０％のずれ）。
【００８２】
１９４０において、サンプルを付加又は除去することによってハプティック信号の一部をリサンプリングすることによって、ハプティック信号の少なくとも一部を調整ハプティック信号に変換してもよい。この例を続けると、ハプティック信号の一部を調整して、ハプティック信号から３０サンプルを除去してもよい。１９５０において、調整ハプティック信号を、ハプティック効果を提供するためのハプティック出力デバイスに送ってもよい。メディアエレメントに同期している実施形態において、結果として得られるハプティック効果は、メディアエレメントに対して調整前の再生よりも近くに整合し得る。
【００８３】
図２０は、本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能のフローチャートを示す。図２０は、図１９の流れに対するいくつかの特定的な実施形態を提供する。フローが開始して、２０１０に進む。図１９の１９１０に従って、ハプティック信号はすでに受取られている。図２０の２０１０において、ハプティック信号及び（適用可能な実施形態においては）対応するメディアエレメントデータをプレイバックのために復号してもよく、かつプレイバックが開始してもよく、このプレイバックはハプティック信号、及びいくつかの実施形態においてはメディアエレメントのプレイバックを含む。２０２０において、プレイバックが始まった後の時間に、ハプティック信号のプレイバック位置とメディアエレメントのプレイバック位置との時間デルタを計算してもよい。ハプティックプレイバック速度が入力パラメータに基づいている実施形態においては、現在のプレイバック速度と所望のプレイバック速度との時間デルタを計算してもよい。２０３０において、時間デルタを０に近付けるためにハプティック信号に付加する又はそこから除去するハプティック信号のサンプル数を計算してもよい。例えば、ハプティック信号が８ｋＨｚで再生されているとき、ハプティック信号とメディアエレメントとの０．０５秒の時間差は、４００サンプルの差の算出をもたらし得る（８０００掛ける０．０５）。よって、デルタを０に近付けるためにハプティック信号に４００サンプルを付加するか、又はそこから除去する必要があると判定してもよい。
【００８４】
いくつかの実施形態においては、記憶リサンプラが、ハプティック信号の将来の部分に対して用いるためにリサンプル速度を保存してもよい。例えば、ハプティックブロックに対して約２００サンプルを挿入する必要があることが一度判定されてもよい。次のハプティックブロックは、最初に付加的な計算を必要とせずに、２００サンプルを付加するように自動的にリサンプリングされてもよい。リサンプリング後、フローは２０２０に戻って、リサンプリングされたハプティック信号を適用可能なハプティック信号として分析して、時間デルタがなおも存在するかどうかを定めてもよい。そこからフローが続いてもよく、新たに算出されたリサンプル値を用いて値を調整することによって、前の記憶リサンプラを更新してもよい。例えば、ハプティックブロックに２００サンプルが挿入されるとき、次いでそのブロックの時間デルタを再分析して、１３サンプルを除去する必要があることを判定し、次いで次の処理ブロックのために記憶値を２００−１３＝１８７に更新してもよい。
【００８５】
２０４０において、サンプルが所与の閾値を下回っているウィンドウを見出すために、ハプティック信号の少なくとも一部を分析してもよい。これらのウィンドウは、ハプティック信号アクティビティがほとんど又はまったくないハプティック信号の範囲又は期間を表し得る。こうしたウィンドウは、ハプティック信号における低エントロピーの期間と考えられ得る。例えば、０から２５５のサンプル値を含むハプティック信号は、各々の信号値が０又は約０である期間を有してもよい。例えば、所与のハプティック信号において、信号の比較的小さいパーセンテージのみが閾値より高いハプティック情報を含むのではないかと考えられる。閾値の値を有するハプティック信号は典型的な人間に知覚不可能であるか、又はほとんど知覚不可能であるように、閾値の値が選択されてもよい。この閾値は、閾値より高いハプティック値を有するハプティック信号の部分に悪影響を与えることなく除去され得る、ハプティック信号内の低エントロピーのウィンドウを識別することを助ける。２０５０において、識別された範囲のハプティックサンプルにサンプルを挿入するか、又はそこから除去してもよい。ハプティック信号を短くするためにサンプルを除去するために、閾値を下回るサンプルを除去してもよい。いくつかの実施形態においては、こうしたハプティック低エントロピーウィンドウの１つから特定の数又はパーセンテージのサンプルのみが除去され得ることを、長さ制限が指定してもよい。長さ制限は、ハプティック信号の感覚（及び、ハプティック信号をハプティック設計者が生成している場合は、設計者の意図）を保存することを助けてもよく、かつ完全に異なるハプティック出力が起こることを防ぐことを助けてもよい。例えば、閾値より上で起こるハプティック信号アクティビティの時間の間に存在する何らかの空間的情報の保存を助けるために、ウィンドウのサンプルの３分の１より多くを一度に除去してはならないことを指定してもよい。ハプティック信号を長くするためにサンプルを付加するために、０値サンプル（又は０値に近いサンプル）をウィンドウに挿入してもよい。いくつかの実施形態においては、こうした識別された範囲の１つに特定の数のサンプルのみを付加できることを、長さ制限が指定してもよい。例えば、ウィンドウは３分の１以下だけ伸び得ることを指定してもよい。よってウィンドウが２４０サンプルを含むとき、そのウィンドウには８０サンプル以下を挿入できる。
【００８６】
２０６０において、修正ハプティック信号をハプティック出力デバイスに送ってもよい。２０７０において、もしハプティック信号をさらに調整するためのサンプルが残っていれば、次いで２０８０において調整サンプルの数を提供してもよく、フローは２０３０に戻って続き、時間デルタを０に近付けるためにハプティック信号に付加する又はそこから除去するサンプルの数を算出してもよい。例えば、もし挿入する４００サンプルのうち２４０サンプルしか分析されたハプティック信号の部分に挿入されていなければ、調整のために残されたサンプル数を更新するために、残りの数値１６０又は能動的に調整された数値２４０が提供されてもよい。挿入又は除去するサンプルがもうないとき、フローは２０１０に戻って続き、プレイバックのためにさらなるハプティック信号データ及び対応するメディアエレメントデータを復号してもよい。２０１０で処理するためのさらなるハプティック信号が残らなくなるまで、必要に応じてプレイバックをさらに調整するために、フローが２０２０などに進んでもよい。
【００８７】
図２１は、本発明の実施形態に係る動的ハプティックプレイバック調整モジュールの機能のフローチャートを示す。図２１は、特定の場合におけるサンプルの挿入の場合のみに対する、図１９のフローに対するいくつかの特定的な実施形態を提供する。フローが開始して、２１１０に進む。図１９の１９１０に従って、ハプティック信号はすでに受取られている。図２１の２１１０において、ハプティック信号データ及び（適用可能な実施形態においては）対応するメディアエレメントデータをプレイバックのために復号してもよく、かつプレイバックが開始してもよく、このプレイバックはハプティック信号、及びいくつかの実施形態においてはメディアエレメントのプレイバックを含む。２１２０において、プレイバックが始まった後の時間に、ハプティック信号のプレイバック位置とメディアエレメントのプレイバック位置との時間デルタを計算してもよい。ハプティックプレイバック速度が入力パラメータに基づいている実施形態においては、現在のプレイバック速度と所望のプレイバック速度との時間デルタを計算してもよい。２１３０において、時間デルタを０に近付けるためにハプティック信号に付加する又はそこから除去するハプティック信号のサンプル数を計算してもよい。サンプルを除去する場合には、次いでフローは図２０の２０４０に続いてもよい。サンプルを付加する場合には、流れは図２１の２１４０に続いてもよい。例えば、ハプティック信号が８ｋＨｚで再生されているとき、ハプティック信号とメディアエレメントとの間の０．０５秒の時間差（ハプティック信号がメディアエレメントのプレイバックより遅れていることを示す）は、４００サンプルの差の算出をもたらし得る（８０００掛ける０．０５）。よって、デルタを０に近付けるためにハプティック信号に４００サンプルを付加する必要があると判定してもよい。
【００８８】
いくつかの実施形態においては、記憶リサンプラが、ハプティック信号の将来の部分に対して用いるためにリサンプル速度を保存してもよい。例えば、ハプティックブロックに対して約２００サンプルを挿入する必要があることが一度判定されてもよい。次のハプティックブロックは、最初に付加的な計算を必要とせずに、２００サンプルを付加するように自動的にリサンプリングされてもよい。リサンプリング後、フローは２１２０に戻って、リサンプリングされたハプティック信号を適用可能なハプティック信号として分析して、時間デルタがなおも存在するかどうかを定めてもよい。そこから流れが続いてもよく、新たに算出されたリサンプル値を用いて値を調整することによって、前の記憶リサンプラを更新してもよい。例えば、ハプティックブロックに２００サンプルが挿入されるとき、次いでそのブロックの時間デルタを再分析して、１５サンプルを付加する必要があることを判定し、次いで次の処理ブロックのために記憶値を２００＋１５＝２１５に更新してもよい。
【００８９】
２１４０において、サンプルを付加するための範囲に対して、ハプティック信号の復号部分を分析してもよい。付加するサンプルは、ハプティック信号のその部分にランダム又は均一に分散してもよい。例えば、ハプティック信号部分が２０００サンプルであり、調整が４００サンプルであるとき、５サンプルごとの後に１サンプルを付加して、変更ハプティック信号のサンプルの総数を２４００サンプルにしてもよい。２１５０において、各々のサンプルの値を計算してもよい。各々のサンプルの値を算出するために、異なる方法が用いられてもよい。例えば、あるサンプルを元のサンプル２０と２１との間に挿入するとき、挿入されたサンプルの値はサンプル２０からコピーされても、サンプル２１からコピーされてもよいし、それら２つの平均であってもよい。いくつかの実施形態において、新たなサンプルの値を計算するために、他の隣接サンプルを分析してもよい。例えば、新たなサンプルにどの値を入れるかを定めるために、サンプル１９及び２２をも分析してもよい。言い換えると、新たなサンプルに挿入する値を定めるために、補間を用いてもよい。２１６０において、識別された範囲においてハプティック信号に新たなサンプルを挿入してもよい。
【００９０】
２１７０において、修正ハプティック信号をプレイバックのためにハプティック出力デバイスに送ってもよい。２１８０において、もしハプティック信号をさらに調整するためのサンプルが残っていれば、次いで２１９０において調整サンプルの数を提供してもよく、フローは２１３０に戻って続き、時間デルタを０に近付けるためにハプティック信号に付加するサンプルの数を算出してもよい。例えば、もし挿入する４００サンプルのうち２４０サンプルしか分析されたハプティック信号の部分に挿入されていなければ、調整のために残されたサンプル数を更新するために、残りの数値１６０又は能動的に調整された数値２４０が提供されてもよい。挿入するサンプルがもうないとき、フローは２１１０に戻って続き、プレイバックのためにさらなるハプティック信号データ及び対応するメディアエレメントデータを復号してもよい。２１１０で処理するためのさらなるハプティック信号が残らなくなるまで、必要に応じてプレイバックをさらに調整するために、フローが２１２０などに進んでもよい。
【００９１】
図２２は、一実施形態に係る、ハプティック信号にサンプルを挿入するか、又はそこから除去することによるハプティック信号の動的調整のためのシステムを示す。ハプティック信号ソース２２１０は、ハプティック信号の少なくとも一部に付加する又はそこから除去するサンプルの数を算出するためのハプティックサンプル計算器２２２０にハプティック信号を提供できる。そのサンプル数をハプティック信号リサンプラ２２３０に提供してもよく、ハプティック信号リサンプラ２２３０は、前に考察した方法の１つ、例えばサンプルの挿入又は除去などを用いて、ハプティック信号（又はその少なくとも一部）をリサンプリングできる。挿入するときには、０サンプル（又は低値サンプル）を挿入するか、又は分散されたサンプルを挿入し、挿入されたサンプルの周りの１つ又はそれ以上のサンプルの値に基づいて、挿入されたサンプルに対する適切な値を選択する。リサンプリングされたハプティック信号を、ハプティック効果を提供するためのハプティック出力デバイス２２４０に送ってもよい。
【００９２】
よって一実施形態によれば、所望のプレイバック速度に対応させるために例えばハプティック信号などのハプティックデータのプレイバックを調整する、ハプティックプレイバック調整システムが提供され得る。よってハプティックプレイバック調整システムは、ハプティックデータの調整されたプレイバックが有益であり得るようなシナリオに適応でき、そのシナリオとは例えば、ハプティックデータのプレイバックと、例えば音声データ、ビデオデータ、又は加速度データなどの何らかの他のタイプのデータのプレイバックとの同期であって、この他のデータは異なるプレイバック速度に従って出力され得る、同期、又は、異なるハードウェア仕様、すなわち異なるプレイバック能力を有する異なるデバイスにおけるハプティックデータのプレイバックなどである。
【００９３】
上記の技術の１つ又はそれ以上を、ともに組み合わせるか、又は任意の実用的順序で連続して用いて、リサンプリングを達成できることを当業者は理解するだろう。
【００９４】
この明細書全体にわたって記載される本発明の特徴、構造又は特性を、１つ又はそれ以上の実施形態において任意の好適な態様で組み合わせてもよい。例えば、この明細書全体における「一実施形態」、「いくつかの実施形態」、「特定の実施形態」、「特定の複数の実施形態」、又はその他の類似の言語の使用は、その実施形態に関連して記載される特定の特徴、構造又は特性が、本発明の少なくとも１つの実施形態に含まれ得るという事実を示すものである。よって、この明細書全体における「一実施形態」、「いくつかの実施形態」、「特定の実施形態」、「特定の複数の実施形態」というフレーズ、又はその他の類似の言語の出現は、必ずしもすべて同じグループの実施形態を示すものではなく、記載される特徴、構造又は特性が、１つ又はそれ以上の実施形態において任意の好適な態様で組み合わされてもよい。
【００９５】
上に考察される本発明は、異なる順序のステップ、及び／又は開示されるものとは異なる構成における構成要素によって実行されてもよいことを、通常の当業者は容易に理解するだろう。したがって、これらの好ましい実施形態に基づいて本発明を説明しているが、本発明の趣旨及び範囲内にとどまる特定の修正、変形、及び代替的構成が明らかとなることが当業者には明らかであろう。したがって本発明の境界を定めるために、添付の請求項が参照されるべきである。
【図１】
2020119614.tif 000003
【図２】
2020119614.tif 000004
【図３】
2020119614.tif 000005
【図４】
2020119614.tif 000006
【図５】
2020119614.tif 000007
【図６】
2020119614.tif 000008
【図７】
2020119614.tif 000009
【図８】
2020119614.tif 000010
【図９】
2020119614.tif 000011
【図１０】
2020119614.tif 000012
【図１１】
2020119614.tif 000013
【図１２】
2020119614.tif 000014
【図１３】
2020119614.tif 000015
【図１４】
2020119614.tif 000016
【図１５】
2020119614.tif 000017
【図１６】
2020119614.tif 000018
【図１７】
2020119614.tif 000019
【図１８】
2020119614.tif 000020
【図１９】
2020119614.tif 000021
【図２０】
2020119614.tif 000022
【図２１】
2020119614.tif 000023
【図２２】
2020119614.tif 000024
【手続補正書】
【提出日】令和2年5月21日(2020.5.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサによって実行されるときに前記プロセッサにハプティック効果を生成させる命令が保存されている非一時的コンピュータ読み取り可能な媒体であって、前記命令は、
プレイバック速度を定めることと、
前記プレイバック速度に基づいて複数のハプティック信号を生成することであって、前記複数のハプティック信号の各々は、異なるプレイバック速度に対応する異なるハプティックビットレートを有する、複数のハプティック信号を生成することと、
前記異なるプレイバック速度にてハプティック効果を生成するために、前記複数のハプティック信号の少なくとも１つをハプティック出力デバイスに適用することと
を含む、非一時的コンピュータ読み取り可能記憶媒体。
【請求項２】
前記プレイバック速度を定めることは、前記複数のハプティック信号を生成する前に前記プレイバック速度を定めることを含む、請求項１に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項３】
前記プレイバック速度を定めることは、前記複数のハプティック信号を生成した後に前記プレイバック速度を定めることを含む、請求項１に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項４】
前記複数のハプティック信号を生成することは、
リサンプリングされた入力データを生成するために前記プレイバック速度に基づいて入力データをリサンプリングすることと、
前記リサンプリングされた入力データから前記複数のハプティック信号を生成することと
を含む、請求項１に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項５】
前記複数のハプティック信号を生成することは、
前記複数のハプティック信号の各々について、元のハプティック信号をハプティック信号にリサンプリングすることを含む、請求項１に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項６】
前記複数のハプティック信号を生成することは、
前記複数のハプティック信号の各々について、
リサンプリングされた入力データを生成するために前記プレイバック速度に基づいて入力データをリサンプリングすることと、
前記リサンプリングされた入力データにおけるキー入力イベントを識別することと、
元のハプティック信号におけるキーハプティックイベントを識別することと、
ハプティック信号を作成するために前記キーハプティックイベントを前記キー入力イベントと整合させることと
を含む、請求項１に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項７】
キー入力イベントを識別することは、前記キー入力イベントの長さを識別することをさらに含み、前記複数のハプティック信号を生成することは、
前記キー入力イベントの前記長さに基づいて前記入力データをリサンプリングして、リサンプリングした入力データを生成することであって、前記リサンプリングした入力データは、前記リサンプリングした入力データ内の前記キー入力イベントの開始フレームを示す、リサンプリングした入力データを生成することと、
前記ハプティック信号を、前記キー入力イベントの前記開始フレームにあるように、かつ前記キー入力イベントの長さと一致させるように調整させることと、
をさらに含む、請求項６に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項８】
前記複数のハプティック信号を生成することは、
前記複数のハプティック信号を組み合わせてコンテナに入れること
を含む、請求項１に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項９】
前記複数のハプティック信号を生成することは、
前記複数のハプティック信号の各々について、
切断点を選択することと、
前記切断点においてハプティック信号をハプトレットに分割することと、
前記ハプトレットにインデックスを付けることと、を含み、前記ハプティック信号の少なくとも一部が前記ハプティック信号のハプトレットに対応する、請求項１に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項１０】
前記複数のハプティック信号を生成することは、前記複数のハプティック信号の各々をハプティックブロックに分割することを含み、
前記複数のハプティック信号の各々を適用することは、ハプティックブロックを前記ハプティック出力デバイスに送ることと、待機期間の間待つことと、別の連続するハプティックブロックを前記ハプティック出力デバイスに送ることとを含む、請求項１に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項１１】
前記複数のハプティック信号の各々はハプティック信号の抽出部分を含み、前記抽出部分の抽出は前記ハプティック信号の範囲選択に基づくものである、請求項１に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項１２】
前記複数のハプティック信号を生成することは、
前記複数のハプティック信号の各々に付加するか、又は前記複数のハプティック信号の各々から除去するためにサンプルの数を算出することと、
ハプティック信号にサンプルを付加するか、又はハプティック信号からサンプルを除去するために前記複数のハプティック信号の各々をリサンプリングして、調整ハプティック信号を作成することと、
前記ハプティック信号を前記調整ハプティック信号に置き換えることと
を含む、請求項１に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項１３】
前記リサンプリングは、低エントロピーの期間に０値サンプルを付加することを含む、請求項１２に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項１４】
前記リサンプリングは、低エントロピーの期間にハプティック閾値より低いサンプルを除去することを含む、請求項１２に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項１５】
前記リサンプリングは、
付加するサンプル数に基づいて、サンプルを付加するための前記複数のハプティック信号の各々内の場所を定めることと、
隣接サンプルの１つ又はそれ以上の値に基づいて、付加されるサンプルに対する値を算出することと
を含む、請求項１２に記載の非一時的コンピュータ読み取り可能記憶媒体。
【請求項１６】
複数のハプティック効果のプレイバックを調整する方法であって、
プレイバック速度を定めるステップと、
前記プレイバック速度に基づいて複数のハプティック信号を生成するステップであって、前記複数のハプティック信号の各々は異なるプレイバック速度に対応する異なるハプティックビットレートを有する、ステップと、
前記異なるプレイバック速度にてハプティック効果を生成するために、前記複数のハプティック信号の少なくとも１つをハプティック出力デバイスに適用するステップと
を含む、方法。
【請求項１７】
前記複数のハプティック信号を生成するステップは、
リサンプリングされた入力データを生成するために前記プレイバック速度に基づいて入力データをリサンプリングするステップと、
前記リサンプリングされた入力データから前記複数のハプティック信号を生成するステップと
を含む、請求項１６に記載の方法。
【請求項１８】
前記複数のハプティック信号を生成するステップは、
前記複数のハプティック信号の各々について、元のハプティック信号をハプティック信号にリサンプリングするステップを含む、請求項１６に記載の方法。
【請求項１９】
前記複数のハプティック信号を生成するステップは、
前記複数のハプティック信号の各々について、
リサンプリングされた入力データを生成するために前記プレイバック速度に基づいて入力データをリサンプリングするステップと、
前記リサンプリングされた入力データにおけるキー入力イベントを識別するステップと、
元のハプティック信号におけるキーハプティックイベントを識別するステップと、
ハプティック信号を作成するために前記キーハプティックイベントを前記キー入力イベントと整合させるステップと、
を含む、請求項１６に記載の方法。
【請求項２０】
前記複数のハプティック信号を生成するステップは、
前記複数のハプティック信号を組み合わせてコンテナに入れるステップと
を含む、請求項１６に記載の方法。
【請求項２１】
前記複数のハプティック信号を生成するステップは、
前記複数のハプティック信号の各々について、
切断点を選択するステップと、
前記切断点においてハプティック信号をハプトレットに分割するステップと、
前記ハプトレットにインデックスを付けるステップとを含み、前記ハプティック信号の少なくとも一部が前記ハプティック信号のハプトレットに対応する、請求項１６に記載の方法。
【請求項２２】
前記複数のハプティック信号を生成するステップは、前記複数のハプティック信号の各々を複数のハプティックブロックに分割するステップを含み、
前記複数のハプティック信号の少なくとも１つを適用するステップは、ハプティックブロックを前記ハプティック出力デバイスに送るステップと、待機期間の間待つステップと、別の連続するハプティックブロックを前記ハプティック出力デバイスに送るステップとを含む、請求項１６に記載の方法。
【請求項２３】
前記複数のハプティック信号の各々はハプティック信号の抽出部分を含み、前記抽出部分の抽出は前記ハプティック信号の範囲選択に基づく、請求項１６に記載の方法。
【請求項２４】
前記複数のハプティック信号を生成するステップは、
前記複数のハプティック信号の各々に付加する又は前記複数のハプティック信号の各々から除去するサンプルの数を算出するステップと、
ハプティック信号にサンプルを付加する又はハプティック信号からサンプルを除去するために前記複数のハプティック信号の各々をリサンプリングして、調整ハプティック信号を作成するステップと、
前記ハプティック信号を前記調整ハプティック信号に置き換えるステップと、
を含む、請求項１６に記載の方法。
【請求項２５】
前記リサンプリングするステップは、低エントロピーの期間に、０値サンプルを付加するステップ、又はハプティック閾値より低いサンプルを除去するステップを含む、請求項２４に記載の方法。
【請求項２６】
前記リサンプリングするステップは、
付加するサンプル数に基づいて、サンプルを付加する前記複数のハプティック信号の各々内の場所を定めるステップと、
隣接サンプルの１つ又はそれ以上の値に基づいて、付加されるサンプルに対する値を算出するステップと、
を含む、請求項２４に記載の方法。
【請求項２７】
複数のハプティック効果のプレイバックを調整するためのシステムであって、
プレイバック速度を定めるように構成されたプレイバック速度決定部と、
選択されたプレイバック速度に基づいて複数のハプティック信号を生成するように構成されたハプティック信号ジェネレータであって、前記複数のハプティック信号の各々は異なるプレイバック速度に対応する異なるハプティックビットレートを有する、ハプティック信号ジェネレータと、
前記異なるプレイバック速度にてハプティック効果を生成するために、前記複数のハプティック信号の少なくとも１つを適用するように構成されたハプティック出力デバイスと、
を含む、システム。
【請求項２８】
リサンプリングされた入力データを生成するために前記プレイバック速度に基づいて入力データをリサンプリングするように構成されたリサンプラをさらに含み、
前記ハプティック信号ジェネレータは、前記リサンプリングされた入力データから前記複数のハプティック信号を生成するようにさらに構成される、請求項２７に記載のシステム。
【請求項２９】
前記ハプティック信号ジェネレータは、前記複数のハプティック信号の各々について、元のハプティック信号をハプティック信号にリサンプリングするように構成される、請求項２７に記載のシステム。
【請求項３０】
リサンプリングされた入力データを生成するために前記プレイバック速度に基づいて入力データをリサンプリングするように構成されたリサンプラと、
前記リサンプリングされた入力データにおけるキー入力イベントを識別し、
元のハプティック信号におけるキーハプティックイベントを識別する
ように構成されたキーイベント識別部と、
をさらに含み、前記複数のハプティック信号の各々について、前記ハプティック信号ジェネレータは、ハプティック信号を生成するために前記キーハプティックイベントを前記キー入力イベントと整合させるように構成される、請求項２７に記載のシステム。
【請求項３１】
前記システムはさらに、
前記複数のハプティック信号を保持するコンテナを含む、請求項２７に記載のシステム。
【請求項３２】
前記複数のハプティック信号の各々について、
切断点を選択し、
前記切断点においてハプティック信号をハプトレットに分割し、
前記ハプトレットにインデックスを付ける
ように構成されたハプトレットジェネレータをさらに含み、前記ハプティック信号の少なくとも一部が前記ハプティック信号のハプトレットに対応する、請求項２７に記載のシステム。
【請求項３３】
前記複数のハプティック信号の各々を複数のハプティックブロックに分割し、ハプティックブロックを前記ハプティック出力デバイスに送り、待機期間の間待ち、別の連続するハプティックブロックを前記ハプティック出力デバイスに送るように構成されたハプティックブロックジェネレータをさらに含む、請求項２７に記載のシステム。
【請求項３４】
前記複数のハプティック信号の各々はハプティック信号の抽出部分を含み、前記抽出部分の抽出は前記ハプティック信号の範囲選択に基づく、請求項２７に記載のシステム。
【請求項３５】
前記複数のハプティック信号の各々に付加する又は前記複数のハプティック信号の各々から除去するサンプルの数を算出し、
ハプティック信号にサンプルを付加する又はハプティック信号からサンプルを除去するために前記複数のハプティック信号の各々をリサンプリングして、調整ハプティック信号を作成し、
前記ハプティック信号を前記調整ハプティック信号に置き換える
ように構成されたリサンプラをさらに含む、請求項２７に記載のシステム。
【請求項３６】
前記リサンプリングは、低エントロピーの期間に、０値サンプルを付加すること、又はハプティック閾値より低いサンプルを除去することを含む、請求項３５に記載のシステム。
【請求項３７】
前記リサンプリングは、
付加するサンプル数に基づいて、サンプルを付加する前記複数のハプティック信号の各々内の場所を定めることと、
隣接サンプルの１つ又はそれ以上の値に基づいて、前記付加されるサンプルに対する値を算出することと
を含む、請求項３５に記載のシステム。
【外国語明細書】
2020119614000001.pdf