(57)【要約】      （修正有）【課題】ビジュアルオドメトリに基づいて自動的に触覚を生成するためのデバイス、システム及び方法の例が開示される。【解決手段】コンピュータデバイス１００において、複数のフレームを有する映像を受信し、複数のフレームからの第１のフレームと複数のフレームからの第２のフレームとの間のオプティカルフロー推定１２４を生成する。第２のフレームは、第１のフレームの後である。第１のフレームと第２のフレームとの間の静止オブジェクトの見掛けの動きは、オプティカルフロー推定１２４に少なくとも部分的に基づいて検出される。静止オブジェクトの見掛けの動きに対応する少なくとも１つの触覚効果がオプティカルフロー推定１２４に少なくとも部分的に基づいて生成される。（複数の）生成された触覚効果は、触覚ファイル及び又は触覚出力デバイス１１８に出力される。【選択図】図１Ｃ
2018109960.tif 000002
【特許請求の範囲】
【請求項１】
触覚効果を生成する方法であって、
複数のフレームを有する映像を受信するステップと、
第１のフレームと第２のフレームとの間のオプティカルフロー推定を決定するステップであって、前記第２のフレームは前記第１のフレームの後であるステップと、
前記オプティカルフロー推定に少なくとも部分的に基づいて前記第１のフレームと前記第２のフレームとの間の静止オブジェクトの見掛けの動きを検出するステップと、
前記オプティカルフロー推定に少なくとも部分的に基づいて前記静止オブジェクトの前記見掛けの動きに対応する触覚効果を生成するステップと、
触覚出力デバイスを介して前記触覚効果を発生させるステップと
を含む、方法。
【請求項２】
前記映像は、映像ファイル、リアルタイム映像、又は主観映像の少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記第１のフレーム及び前記第２のフレームは、前記複数のフレームにおける連続フレームである、請求項１に記載の方法。
【請求項４】
前記第２のフレームは前記複数のフレームにおける少なくとも１つのフレームによって前記第１のフレームから分離され、前記第２のフレームは前記第１のフレームに近接している、請求項１に記載の方法。
【請求項５】
前記第２のフレームは、前記映像のフレームレートに少なくとも部分的に基づいて前記複数のフレームから選択される、請求項１に記載の方法。
【請求項６】
前記オプティカルフロー推定を決定するステップは、
前記第１のフレームの部分エリア内の複数の特徴ピクセルを決定すること、及び
前記第１のフレームと前記第２のフレームとの間の前記静止オブジェクトの前記見掛けの動きを示す、前記第１のフレームの前記部分エリア内の前記複数の特徴ピクセル及び前記第２のフレームの部分エリア内の対応する複数の特徴ピクセルに対応する運動ベクトルを生成すること
を含む、請求項１に記載の方法。
【請求項７】
前記静止オブジェクトの前記見掛けの動きを検出するステップは、前記運動ベクトルの同じ方向又は実質的に同じ方向を検出することを含む、請求項６に記載の方法。
【請求項８】
前記部分エリア内の前記複数の特徴ピクセルは、前記静止オブジェクトの検出に少なくとも部分的に基づいて決定され、決定された部分エリアは前記静止オブジェクトを取り囲む、請求項６に記載の方法。
【請求項９】
前記部分エリア内の前記複数の特徴ピクセルは、前記複数のフレームにおける前記第１のフレーム以外のフレームに対応する以前のオプティカルフロー推定を生成する際に決定された以前の部分エリア内の複数の特徴ピクセルと対応する、請求項６に記載の方法。
【請求項１０】
前記オプティカルフロー推定は、前記部分エリア内の特徴ピクセルのみに対応する運動ベクトルを含む、請求項６に記載の方法。
【請求項１１】
前記部分エリアは、前記第１のフレーム及び前記第２のフレームに対応する上端中央ビューを含む、請求項６に記載の方法。
【請求項１２】
前記部分エリアのサイズは、検出された静止オブジェクトの数に少なくとも部分的に基づく、請求項６に記載の方法。
【請求項１３】
前記静止オブジェクトの前記見掛けの動きは、同じ方向又は実質的に同じ方向を有する前記オプティカルフロー推定内の運動ベクトルのクラスタを決定することにより検出される、請求項１に記載の方法。
【請求項１４】
生成された触覚効果は、前記運動ベクトルのクラスタ内の少なくとも１つの運動ベクトルの大きさと対応する強度パラメータを含む、請求項１３に記載の方法。
【請求項１５】
前記触覚効果は、触覚トラックに出力される、請求項１に記載の方法。
【請求項１６】
プロセッサによって実行されるように構成される１つ以上のソフトウェアアプリケーションを含む非一時的なコンピュータ可読媒体であって、前記１つ以上のソフトウェアアプリケーションは、
複数のフレームを有する映像を受信すること、
第１のフレームと第２のフレームとの間のオプティカルフロー推定を決定することであって、前記第２のフレームは前記第１のフレームの後であること、
前記オプティカルフロー推定に少なくとも部分的に基づいて前記第１のフレームと前記第２のフレームとの間の静止オブジェクトの見掛けの動きを検出すること、
前記オプティカルフロー推定に少なくとも部分的に基づいて前記静止オブジェクトの前記見掛けの動きに対応する触覚効果を生成すること、及び
触覚出力デバイスを介して前記触覚効果を発生させること
を行うように構成される、非一時的なコンピュータ可読媒体。
【請求項１７】
前記オプティカルフロー推定は複数の運動ベクトルを含み、前記静止オブジェクトの見掛けの動きは、同じ又は実質的に同じ方向を指す前記運動ベクトルのクラスタに基づいて検出される、請求項１６に記載の非一時的なコンピュータ可読媒体。
【請求項１８】
前記触覚効果は、前記映像を記録したカメラの近似した動きに対応する運動ベクトルのクラスタからの運動ベクトルの大きさに少なくとも部分的に基づく強度パラメータを含む、請求項１６に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
触覚効果を発生させるように構成されるデバイスであって、
カメラと、
ディスプレイと、
触覚出力デバイスと、
前記カメラ、前記ディスプレイ、及び前記触覚出力デバイスと通信するプロセッサであって、
前記カメラから複数のフレームを有する映像を受信すること、
第１のフレームと第２のフレームとの間のオプティカルフロー推定を決定することであって、前記第２のフレームは前記第１のフレームの後であること、
前記オプティカルフロー推定に少なくとも部分的に基づいて前記第１のフレームと前記第２のフレームとの間の静止オブジェクトの見掛けの動きを検出すること、
前記オプティカルフロー推定に少なくとも部分的に基づいて前記静止オブジェクトの前記見掛けの動きに対応する触覚効果を前記触覚出力デバイスに出力させるように構成される触覚信号を生成すること、
前記ディスプレイに前記第１のフレーム及び前記第２のフレームを出力すること、及び
前記第２のフレームが前記ディスプレイに表示されるときに前記触覚出力デバイスが前記触覚効果を発生させるように前記触覚出力デバイスに前記触覚信号を出力すること
を行うように構成されるプロセッサと
を備える、デバイス。
【請求項２０】
前記第１のフレーム及び前記第２のフレームは、前記複数のフレームにおける連続フレームである、請求項１９に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、一般には触覚デバイスに関し、より一般にはビジュアルオドメトリに基づく自動触覚生成に関する。
【背景技術】
【０００２】
従来、機械式ボタンが電子デバイスのユーザに物理的な触感を提供してきた。しかしながら、電子デバイスのサイズが減少し、電子デバイスの携帯性が増加してくると、電子デバイスの機械式ボタンの数が減少し、一部の電子デバイスは機械式ボタンを全く持っていない。触覚出力デバイスは、ユーザに触覚効果を出力するためにこのようなデバイスに含まれる場合がある。
【発明の概要】
【０００３】
ビジュアルオドメトリに基づいて自動的に触覚を生成するためのデバイス、システム及び方法に関する様々な例が記載されている。
【０００４】
開示された方法の一例は、複数のフレームを有する映像を受信するステップと、第１のフレームと第２のフレームとの間のオプティカルフロー推定を決定するステップであって、第２のフレームは第１のフレームの後であるステップと、オプティカルフロー推定に少なくとも部分的に基づいて第１のフレームと第２のフレームとの間の静止オブジェクトの見掛けの動きを決定するステップと、オプティカルフロー推定に少なくとも部分的に基づいて静止オブジェクトの見掛けの動きに対応する触覚効果を生成するステップと、触覚出力デバイスを介して触覚効果を発生させるステップとを含む。
【０００５】
本開示の非一時的なコンピュータ可読媒体の一例は、プロセッサによって実行されるように構成される１つ以上のソフトウェアアプリケーションを含む。この例示では、１つ以上のソフトウェアアプリケーションは、複数のフレームを有する映像を受信すること、第１のフレームと第２のフレームとの間のオプティカルフロー推定を決定することであって、第２のフレームは第１のフレームの後であること、オプティカルフロー推定に少なくとも部分的に基づいて第１のフレームと第２のフレームとの間の静止オブジェクトの見掛けの動きを決定すること、オプティカルフロー推定に少なくとも部分的に基づいて静止オブジェクトの見掛けの動きに対応する触覚効果を生成すること、及び触覚出力デバイスを介して触覚効果を発生させることを行うように構成される。
【０００６】
触覚効果をもたらすように構成される開示されたデバイスの一例は、カメラ、ディスプレイ、触覚出力デバイス及びプロセッサを含む。この例示では、プロセッサは、カメラ、ディスプレイ及び触覚出力デバイスと通信する。この例示では、プロセッサは、カメラから複数のフレームを有する映像を受信すること、第１のフレームと第２のフレームとの間のオプティカルフロー推定を決定することであって、第２のフレームは第１のフレームの後であること、オプティカルフロー推定に少なくとも部分的に基づいて第１のフレームと第２のフレームとの間の静止オブジェクトの見掛けの動きを決定すること、オプティカルフロー推定に少なくとも部分的に基づいて静止オブジェクトの見掛けの動きに対応する触覚効果を触覚出力デバイスに出力させるように構成される触覚信号を生成すること、ディスプレイに第１のフレーム及び第２のフレームを出力すること、及び第２のフレームがディスプレイに表示されるときに触覚出力デバイスが触覚効果をもたらすように触覚出力デバイスに触覚信号を出力することを行うように構成される。
【０００７】
こうした例示は、本開示の範囲を限定又は定義するために言及されるのではなく、その理解を支援するための例示を提供するものである。詳細な説明において例示が検討されており、そこには更なる説明が提供されている。様々な例によってもたらされる利点は、本明細書を吟味することにより更に理解され得る。
【図面の簡単な説明】
【０００８】
本特許又は出願ファイルは、カラーで作成された少なくとも１つの図面を含む。カラー図面を有する本特許又は特許出願のコピーは、要求及び必要な手数料の支払いに応じて庁により提供されるであろう。
【０００９】
本明細書に組み込まれてその一部を構成する添付の図面は、１つ以上の所定の例示を示しており、例示の説明と共に、所定の例示の原理及び実装を説明する役割を果たす。
【図１Ａ】一実施形態によるビジュアルオドメトリに基づく触覚の自動生成に関する例示的なコンピュータデバイスを示す。
【図１Ｂ】一実施形態によるビジュアルオドメトリに基づく触覚の自動生成に関する例示的なコンピュータデバイスを示す。
【図１Ｃ】一実施形態によるビジュアルオドメトリに基づく触覚の自動生成に関する例示的なコンピュータデバイスを示す。
【図２】一実施形態によるビジュアルオドメトリに基づく触覚の自動生成に関する例示的なコンピュータデバイスを示す。
【図３】一実施形態によるビジュアルオドメトリに基づいて触覚を自動的に生成する例示的な方法を示す。
【図４】一実施形態による映像フレームに関する例示的なオプティカルフロー推定を示す。
【図５Ａ】一実施形態による森を描く映像において検出された部分エリア内の特徴ピクセルに関する例示的なオプティカルフロー推定を示す。
【図５Ｂ】一実施形態による山を描く映像において検出された部分エリア内の特徴ピクセルに関する例示的なオプティカルフロー推定を示す。
【図６】図６Ａ及び６Ｂは一実施形態による１つのフレーム（図６Ａ）から別のフレーム（図６Ｂ）への例示的な垂直カメラシフトを示す。
【図７Ａ】一実施形態による砂利道を走行しているマウンテンバイクの映像に対して生成された例示的な触覚効果を示す。
【図７Ｂ】一実施形態による石の上を走行しているマウンテンバイクの映像に対して生成された例示的な触覚効果を示す。
【図８】一実施形態によるビジュアルオドメトリに基づいて触覚を自動的に生成する例示的な方法を示す。
【発明を実施するための形態】
【００１０】
本明細書には、ビジュアルオドメトリに基づいて自動的に触覚を生成するためのデバイス、システム及び方法の文脈で例が記載されている。複数の実施形態では、本明細書で用いられるビジュアルオドメトリは、カメラの動きを示す映像内のフレーム間の静止オブジェクトの見掛けの動きを決定するために、映像内の映像フレームを解析することによって検出される映像を記録するときのカメラの動きに言及する。当業者であれば、以下の記載は例示目的であり、如何なる限定も意図していないことを理解するであろう。次に、添付の図面に示された例示的な実装を詳細に参照する。同じ参照記号が同じ又は同様の項目を参照するために図面及び以下の記載を通じて使用される。
【００１１】
明確のため、本明細書に記載の例示の定型的な特徴の全てが示され且つ記載されているわけではない。勿論、このような実際の実装の開発において、アプリケーション及びビジネス関連の制約の遵守等の多くの実装固有の決定が開発者の特定の目的を達成するために行われなければならず、こうした特定の目的は実装ごとに又は開発者ごとに変化することが理解されるであろう。
【００１２】
（ビジュアルオドメトリに基づく自動的触覚生成の例示）
例示では、アクションカメラは、ユーザが主観映像を記録することを可能にする。ユーザがアクションカメラを使用して主観映像を記録した後で、この例示では、ビジュアルオドメトリに基づいて主観映像に関する触覚効果が自動的に生成され且つそれに追加され得る。主観映像は一人称視点から記録されているので、主観映像を記録した人物のモーションが、アクションカメラの動きに基づいて推定され得る。更に、主観映像が再生されるときに主観映像における動きに対応する触覚効果が出力されるように、動きに対応する触覚効果が生成されて触覚ファイルに記録され得る。
【００１３】
この例示では、主観映像におけるさもなければ静止しているオブジェクトの垂直方向への見掛けの突然の動きに対応する触覚効果が生成される。オブジェクトは静止しているはずなので、この例示では、記録された主観映像における静止オブジェクトの動きの見掛けの突然の動きは、映像の記録中のアクションカメラの動きによって引き起こされている。この例示では、触覚効果は、主観映像が記録されたカメラの移動速度に基づいて生成される。例えば、触覚効果は、主観映像の連続フレーム間のさもなければ静止しているオブジェクトの垂直方向における見掛けの動きの大きさに基づいて生成され得る。連続フレーム間のさもなければ静止しているオブジェクトの垂直方向における見掛けの動きの大きさは、主観映像が記録されたときのカメラの移動速度に近似し得る。
【００１４】
この例示では、触覚効果は、主観映像に対応する触覚ファイルに記憶される。触覚効果に関するタイミング及び大きさパラメータは、主観映像が再生されるときに、主観映像における静止オブジェクトの見掛けの突然の垂直の動きに対応する触覚効果が出力されるように、触覚ファイルに記憶され得る。一例として、触覚ファイルは、主観映像内の静止オブジェクトにおいて見掛けの突然の大きな垂直の動きが有るときに大きな触覚効果が出力されるように、触覚効果に関するタイミング及び大きさパラメータを記憶し得る。別の例示として、静止オブジェクトにおける見掛けの突然の垂直の動きが閾値量を超える場合、触覚ファイルは、垂直の動きの大きさに対応する大きさを有する触覚効果が、突然の動きが主観映像で再生されるときに出力されるように、タイミング及び大きさパラメータを有し得る。この例示では、静止オブジェクトにおける見掛けの突然の垂直の動きが閾値量より低い場合、触覚ファイルは、突然の動きに対応するタイミング又は大きさパラメータを有していなくてもよく、従って、触覚効果は、突然の動きが主観映像で再生されるときに出力されない。
【００１５】
この例示の実施形態は本明細書で検討される一般的な主題を読者に紹介するために与えられており、本開示はこの例示に限定されない。以下の段落では、ビジュアルオドメトリに基づいて自動的に触覚を生成するためのシステム及び方法の様々な追加の非限定的な例示が記載されている。
【００１６】
図１Ａ、１Ｂ及び１Ｃは、一実施形態によるビジュアルオドメトリに基づく触覚の自動生成に関する例示的なコンピュータデバイス１００を示す。図１Ａはコンピュータデバイス１００の前面を示し、図１Ｂはコンピュータデバイス１００の背後を示し、図１Ｃはコンピュータデバイス１００のコンポーネントを示す。
【００１７】
コンピュータデバイス１００は、例えば、デジタルカメラ、アクションカメラ、３６０度カメラ、スマートフォン、タブレット、Ｅリーダ、ラップトップコンピュータ、デスクトップコンピュータ、携帯型ゲームデバイス、医療デバイス、セットトップボックス（例えば、ＤＶＤプレーヤ、ＤＶＲ、ケーブルテレビボックス）、又はゲームコントローラを含んでもよい。他の例では、コンピュータデバイス１００は、多機能コントローラ、例えば、キオスク、自動車、アラームシステム、サーモスタット、又は他の種類の電子デバイスで使用されるコントローラを含んでもよい。一部の例では、コンピュータデバイス１００は、腕時計、ブレスレット、ネックレス、ベルト、仮想現実（ＶＲ）ヘッドセット、ヘッドホン、手袋又はブーツ等のウェアラブルコンピュータデバイスを含んでもよい。コンピュータデバイス１００は図１Ａ−１Ｃにおいて単一のデバイスとして示されているが、他の例では、コンピュータデバイス１００は、例えば、図２に示されるように複数のデバイスを含んでもよい。
【００１８】
例示のコンピュータデバイス１００は、バス１０６を介して他のハードウェアとインターフェース接続されるプロセッサ１０２を含む。ＲＡＭ、ＲＯＭ又はＥＥＰＲＯＭ等の任意の適切な有形の（及び非一時的な）コンピュータ可読媒体を含み得るメモリ１０４が、コンピュータデバイス１００の動作を構成するプログラムコンポーネントを具現化してもよい。一部の例では、コンピュータデバイス１００は、１つ以上のネットワークインターフェースデバイス１１０、入力／出力（Ｉ／Ｏ）インターフェースコンポーネント１１２、及び追加の記憶装置１１４を更に備えてもよい。
【００１９】
ネットワークインターフェースデバイス１１０は、ネットワーク接続を容易にする１つ以上の任意のネットワークコンポーネントを表し得る。限定されないが、例示には、イーサネット（登録商標）、ＵＳＢ、ＩＥＥＥ１３９４等の有線インターフェース、及び／又はＩＥＥＥ８０２．１１、ブルートゥース（登録商標）等の無線インターフェース、又は携帯電話ネットワークにアクセスするための無線インターフェース（例えば、ＣＤＭＡ、ＧＳＭ（登録商標）、ＵＭＴＳ又は他の移動通信ネットワーク）が含まれる。
【００２０】
Ｉ／Ｏコンポーネント１１２は、１つ以上のディスプレイ、キーボード、カメラ、マウス、スピーカ、マイクロホン、ボタン、ジョイスティック、及び／又はデータの入力又は出力に使用される他のハードウェア等のデバイスへの接続を容易にするために使用されてもよい。追加の記憶装置１１４は、読み取り専用メモリ、フラッシュメモリ、ランダム・アクセス・メモリ（ＲＡＭ）、強誘電性ＲＡＭ（Ｆ−ＲＡＭ）、磁気、光学、又はコンピュータデバイス１００に含まれ若しくはプロセッサ１０２に結合される他の記憶媒体等の不揮発性記憶装置を表す。
【００２１】
コンピュータデバイス１００は、タッチセンサ面１１６を有する。図１Ｃに示される例では、タッチセンサ面１１６は、コンピュータデバイス１００に統合される。他の例では、コンピュータデバイス１００は、タッチセンサ面１１６を含まなくてもよい。タッチセンサ面１１６は、ユーザの触覚入力を感知するように構成される任意の表面を表す。一部の例では、タッチセンサ面１１６は、丸め可能、折り曲げ可能、折り畳み可能、伸縮可能、捻り可能、絞り可能、又はそれ以外の変形が可能であってもよい。例えば、タッチセンサ面１１６は、折り曲げ可能電子ペーパー又はタッチセンサ式ディスプレイデバイスを含んでもよい。
【００２２】
１つ以上のタッチセンサ１０８は、一部の例では、物体がタッチセンサ面１１６に接触する場合に接触領域における接触を検出して、プロセッサ１０２によって使用される適切なデータを提供するように構成される。任意の適切な数、タイプ、又は配置のセンサが使用され得る。例えば、抵抗性及び／又は容量性のセンサが、タッチセンサ面１１６に組み込まれて、タッチの場所及び圧力、速さ、及び／又は方向等の他の情報を検出するために使用されてもよい。別の例示として、タッチ位置を決定するために、タッチセンサ面１１６のビューを備える光学センサが使用されてもよい。
【００２３】
他の例では、タッチセンサ１０８は、ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）検出器を含んでもよい。例えば、一部の例では、タッチセンサ面１１６は、ディスプレイの側部に取り付けられるＬＥＤ指検出器を含んでもよい。一部の例では、プロセッサ１０２は、単一のタッチセンサ１０８と通信する。他の例では、プロセッサ１０２は複数のタッチセンサ１０８、例えば、第１のタッチスクリーン及び第２のタッチスクリーンに関係付けられるタッチセンサと通信する。タッチセンサ１０８は、ユーザ相互作用を検出し、ユーザ相互作用に基づいて、プロセッサ１０２に信号を送信するように構成される。一部の例では、タッチセンサ１０８は、ユーザ相互作用の複数の態様を検出するように構成されてもよい。例えば、タッチセンサ１０８は、ユーザ相互作用の速度及び圧力を検出して、この情報を信号に組み込んでもよい。
【００２４】
一部の例では、コンピュータデバイス１００は、タッチセンサ面１１６及びディスプレイを組み合わせたタッチ可能ディスプレイを含んでもよい。タッチセンサ面１１６は、ディスプレイ外部又はディスプレイのコンポーネント上の１つ以上の材料層に対応してもよい。他の例では、コンピュータデバイス１００の特定の構成によっては、タッチセンサ面１１６はディスプレイを含まなくてもよい（そうでない場合、ディスプレイに対応する）。
【００２５】
コンピュータデバイス１００は、１つ以上の追加のセンサ１３０も備える。（複数の）センサ１３０は、プロセッサ１０２にセンサ信号を送信するように構成される。一部の例では、（複数の）センサ１３０は、例えば、カメラ、湿度センサ、周辺光センサ、ジャイロスコープ、ＧＰＳ装置、加速度計、距離センサ又は深度センサ、バイオリズムセンサ、又は温度センサを含んでもよい。図１Ｃに示された例ではセンサ１３０がコンピュータデバイス１００の内部に有るように描かれているが、一部の例では、センサ１３０はコンピュータデバイス１００の外部に有ってもよい。例えば、一部の例では、１つ以上のセンサ１３０が、ゲームシステムを含むコンピュータデバイス１００で使用されるゲームコントローラに関係付けられてもよい。一部の例では、プロセッサ１０２は単一のセンサ１３０と通信し、他の例では、プロセッサ１０２は複数のセンサ１３０、例えば、温度センサ及び湿度センサと通信してもよい。一部の例では、センサ１３０は、コンピュータデバイス１００から遠隔に有るが、例えば、図２に示されるように、プロセッサ１０２に通信可能に結合されてもよい。
【００２６】
コンピュータデバイス１００は、プロセッサ１０２と通信する触覚出力デバイス１１８を更に含む。触覚出力デバイス１１８は、触覚信号に応答して触覚効果を出力するように構成される。一部の例では、触覚出力デバイス１１８は、例えば、振動、知覚される摩擦係数の変化、シミュレートされるテクスチャ、温度の変化、ストロークの感覚、電気触覚効果、又は表面変形（例えば、コンピュータデバイス１００に関係付けられる表面の変形）を含む触覚効果を出力するように構成される。本明細書には単一の触覚出力デバイス１１８が示されているが、一部の例では、触覚効果を生ずるために連続して又は同時に作動され得る同じ又は異なるタイプの複数の触覚出力デバイス１１８を含んでもよい。
【００２７】
図１Ｃに示される例では、触覚出力デバイス１１８は、コンピュータデバイス１００の内部に有る。他の例では、触覚出力デバイス１１８は、コンピュータデバイス１００から遠隔に有るが、例えば、図２に示されるように、プロセッサ１０２に通信可能に結合されてもよい。例えば、触覚出力デバイス１１８は、コンピュータデバイス１００の外部に有り、イーサネット、ＵＳＢ、ＩＥＥＥ１３９４等の有線インターフェース、及び／又はＩＥＥＥ８０２．１１、ブルートゥース、又はラジオインターフェース等の無線インターフェースを介してコンピュータデバイス１００と通信してもよい。
【００２８】
一部の例では、触覚出力デバイス１１８は、振動を含む触覚効果を出力するように構成されてもよい。一部のこのような例では、触覚出力デバイス１１８は、圧電アクチュエータ、電気モータ、電磁アクチュエータ、音声コイル、形状記憶合金、電気活性ポリマー、ソレノイド、偏心回転質量モータ（ＥＲＭ）又は線形共振アクチュエータ（ＬＲＡ）の１つ以上を含んでもよい。
【００２９】
一部の例では、触覚出力デバイス１１８は、例えば、触覚信号に応じてコンピュータデバイス１００の表面に沿って知覚される摩擦係数を調節する触覚効果を出力するように構成されてもよい。一部のこのような例では、触覚出力デバイス１１８は、超音波アクチュエータを含んでもよい。超音波アクチュエータは、圧電材料を含んでもよい。超音波アクチュエータは、所定の超音波周波数、例えば、２０ｋＨｚで振動して、タッチセンサ面１１６の表面において知覚される係数を増加又は減少してもよい。
【００３０】
一部の例では、触覚出力デバイス１１８は、静電気引力を使用して、例えば、静電アクチュエータを使用することによって、触覚効果を出力してもよい。触覚効果は、シミュレートされるテクスチャ、シミュレートされる振動、ストロークの感覚、又はコンピュータデバイス１００に関係付けられる表面（タッチセンサ面１１６）における知覚される摩擦係数の変化を含んでもよい。一部の例では、静電アクチュエータは、導電レイヤ及び絶縁レイヤを含んでもよい。導電レイヤは、任意の半導体又は銅、アルミニウム、金又は銀等の他の導電性材料であってもよい。絶縁レイヤは、ガラス、プラスチック、ポリマー、又は任意の他の絶縁性材料であってもよい。更に、プロセッサ１０２は、導電レイヤに電気信号、例えば、ＡＣ信号を加えることによって静電アクチュエータを動作させてもよい。一部の例では、高電圧増幅器がＡＣ信号を生成してもよい。電気信号は、導電層と触覚出力デバイス１１８に近接する又はタッチするオブジェクト（例えば、ユーザの指又はスタイラス）との間に容量結合を生成してもよい。一部の例では、オブジェクトと導電層との間の引力レベルの変化は、ユーザによって知覚される触覚効果を変化させることができる。
【００３１】
また、コンピュータデバイス１００は前面カメラ１３４も含む。例えば、図１Ａに示された前面カメラ１３４は、ユーザによってコンピュータデバイス１００が使用されるときに、コンピュータデバイス１００のユーザの方に向く又は面する。前面カメラ１３４は、映像信号をプロセッサ１０２に伝達するように構成される。例えば、前面カメラ１３４は、毎秒２４フレームを有する映像信号をプロセッサ１０２に送ってもよい。他の実施形態では、前面カメラ１３４は、毎秒２５，３０，４８，５０，６０，７２，９０，１００，１２０，１４４，２４０，又は３００フレームのフレームレートを有する映像信号をプロセッサ１０２に送る。一実施形態では、前面カメラ１３４は、毎秒２４から３００の間のフレームを有する映像信号をプロセッサ１０２に送ってもよい。一部の例では、プロセッサ１０２は、バス１０６を介して前面カメラ１３４と通信する。一例では、前面カメラ１３４は、主観映像等の映像を記録するために使用可能であり、映像は、メモリ１０４又は記憶装置１１４に記憶され得る。一部の例では、前面カメラ１３４は、ネットワーク１１０を介して別のコンピュータデバイスにストリーミングされる、主観映像等の映像をキャプチャするために使用され得る。
【００３２】
また、コンピュータデバイス１００は後面カメラ１４０も含む。例えば、図１Ｂに示された後面カメラ１４０は、ユーザによってコンピュータデバイス１００が使用されるときに、コンピュータデバイス１００のユーザから離れた方に向く又は面する。後面カメラ１４０は、映像信号をプロセッサ１０２に伝達するように構成される。例えば、後面カメラ１４０は、毎秒２４フレームを有する映像信号をプロセッサ１０２に送ってもよい。他の実施形態では、後面カメラ１４０は、毎秒２５，３０，４８，５０，６０，７２，９０，１００，１２０，１４４，２４０，又は３００フレームを有する映像信号をプロセッサ１０２に送る。一実施形態では、後面カメラ１４０は、毎秒２４から３００の間のフレームを有する映像信号をプロセッサ１０２に送る。一部の例では、プロセッサ１０２は、バス１０６を介して後面カメラ１４０と通信する。一例では、後面カメラ１４０は、主観映像等の映像を記録するために使用可能であり、映像は、メモリ１０４又は記憶装置１１４に記憶され得る。一部の例では、後面カメラ１４０は、ネットワーク１１０を介して別のコンピュータデバイスにストリーミングされる、主観映像等の映像をキャプチャするために使用され得る。
【００３３】
また、コンピュータデバイス１００はメモリ１０４も含む。メモリ１０４は、プログラムコンポーネント１２４、１２６及び１２を含み、これらはビジュアルオドメトリに基づいて自動的に触覚を生成するために一部の例では、デバイスがどのように構成され得るかを示すように描かれている。
【００３４】
オプティカルフロー推定モジュール１２４は、映像内のフレーム間のオプティカルフローを推定するようにプロセッサ１０２を構成する。例えば、オプティカルフロー推定モジュール１２４は、映像内の２つの連続した映像フレーム間のオプティカルフロー推定を生成することができる。オプティカルフロー推定モジュール１２４は、オプティカルフローを推定するときに焦点を合わせるべき映像のフレーム内の所定の領域内の所定の特徴ピクセルを検出するようにプロセッサ１０２を構成してもよい。例えば、オプティカルフロー推定モジュール１２４は、映像をキャプチャしたカメラの動きが無ければ近接する映像フレームに対して静止したままであるはずの映像の映像フレームにおける１つ以上のエリア内の１つ以上の特徴ピクセルを決定することができる。一例として、オプティカルフロー推定モジュール１２４は、（映像における次の映像フレーム等の）後続の映像フレームにおいて、映像をキャプチャするときのカメラの動きがなければ静止したままであるはずの映像フレームにおいて示された１つ以上のオブジェクトを取り囲む１つ以上のエリア内の１つ以上のピクセルを決定することができる。この例は、オプティカルフロー推定モジュール１２４の効率を高め、映像フレームのエリア全体の中のピクセルに対してオプティカルフロー推定が生成されることを必要としないことによって、プロセッサ１０２の必要な処理能力を減らすことができる。複数の実施形態では、映像における２つ以上の映像フレームの少なくとも一部内のピクセル間のオプティカルフローを推定するために、オプティカルフロー推定モジュール１２４は、例えば、位相相関法、ブロックベースの方法、Ｌｕｃａｓ−Ｋａｎａｄｅ法、Ｈｏｒｎ−Ｓｃｈｕｎｃｋ法、Ｂｕｘｔｏｎ−Ｂｕｘｔｏｎ法、Ｂｌａｃｋ−Ｊｅｐｓｏｎ法、別の適切な微分法、最大フロー・最小カットに基づくアルゴリズム、離散最適化法等のアルゴリズムを実装する。
【００３５】
オプティカルフロー推定モジュール１２４は、様々なソースから多くのフレームを有する映像を受信することができる。例えば、オプティカルフロー推定モジュール１２４は、前面カメラ１３４、後面カメラ１４０、又はＩ／Ｏ１１２からリアルタイム映像を受信することができる。一例では、オプティカルフロー推定モジュールは、メモリ１０４、記憶装置１１４、又はＩ／Ｏ１１２に記憶された映像を受信することができる。一部の例では、オプティカルフロー推定モジュール１２４は、ネットワーク１１０を介してストリーミング映像を受信することができる。
【００３６】
複数の例において、オプティカルフロー推定モジュール１２４は、図３のブロック３２０及び／又は図８のブロック８２０等に関して、本明細書に記載の映像におけるフレーム間のオプティカルフロー推定を生成するようにプロセッサ１０２を構成する。オプティカルフロー推定モジュール１２４はメモリ１０４内のプログラムコンポーネントとして図１Ｃに描かれているが、一部の例では、オプティカルフロー推定モジュール１２４は、オプティカルフローを推定するように構成されるハードウェアを含んでもよい。一部の例では、このようなハードウェアは、アナログからデジタルへの変換器、プロセッサ、マイクロコントローラ、比較器、増幅器、トランジスタ、及び他のアナログ又はデジタル回路を含んでもよい。
【００３７】
イベント検出モジュール１２６は、映像内のフレーム間の動きを検出するようにプロセッサ１０２を構成する。例えば、イベント検出モジュール１２６は、映像における連続フレーム間の突然の動きを検出することができる。この例示では、イベント検出モジュール１２６は、突然の動きが有るかどうかを決定するために連続フレームに対してオプティカルフロー推定モジュール１２４によって生成されるオプティカルフロー推定を分析することができる。一実施形態では、イベント検出モジュール１２６は、生成されたオプティカルフロー推定における運動ベクトルの大きさを解析する。例えば、生成されたオプティカルフロー推定における運動ベクトルの平均の大きさが大きさ閾値を超える場合、イベント検出モジュール１２６は、映像がキャプチャされたときにカメラのモーションに突然の動きが発生したことを決定することができる。一部の実施形態では、イベント検出モジュール１２６は、生成されたオプティカルフロー推定における運動ベクトルの方向を解析する。例えば、イベント検出モジュール１２６は、突然の動きが有るかどうかを決定する際に、垂直又は実質的に垂直であり且つ北又は実質的に北を向いている運動ベクトルのみを解析してもよい。
【００３８】
複数の例において、イベント検出モジュール１２６は、図３のブロック３３０及び／又は図８のブロック８２０及び／又は８３０等に関して、本明細書に記載の映像におけるフレーム間の動きを検出するようにプロセッサ１０２を構成する。イベント検出モジュール１２６はメモリ１０４内のプログラムコンポーネントとして図１Ｃに描かれているが、一部の例では、イベント検出モジュール１２６は、動きを検出するように構成されるハードウェアを含んでもよい。一部の例では、このようなハードウェアは、アナログ・デジタル変換器、プロセッサ、マイクロコントローラ、比較器、増幅器、トランジスタ、及び他のアナログ又はデジタル回路を含んでもよい。
【００３９】
効果生成モジュール１２８は、映像に対する触覚効果を生成するようにプロセッサ１０２を構成する。例えば、効果生成モジュール１２８は、映像における連続フレーム間の突然の動きに基づいて触覚効果を生成することができる。この例示では、効果生成モジュール１２８は、イベント検出モジュール１２６によって検出された連続フレーム間の突然の動きに基づいて触覚効果に関する１つ以上のパラメータを決定することができる。例えば、イベント検出モジュール１２６が映像の２つの連続フレーム間に突然の動きを検出する場合、効果生成モジュール１２８は、オプティカルフロー推定モジュール１２４によって生成されるオプティカルフロー推定における運動ベクトルの平均の大きさと一致する触覚効果に関するパラメータを決定することができる。この例示では、効果生成モジュール１２８は、より大きな平均の大きさによってより大きな強度触覚パラメータがもたらされるように、運動ベクトルの平均の大きさに対応する強度触覚パラメータを決定することができる。一実施形態によれば、より大きな触覚強度パラメータが、より小さな触覚強度パラメータよりも大きな力で触覚効果を触覚出力デバイスに出力させるように構成される。
【００４０】
効果生成モジュール１２８は、様々なやり方で生成された触覚効果を出力することができる。例えば、効果生成モジュール１２８は、映像が再生されるときに生成された触覚効果を触覚出力デバイス１１８に出力することができる。この例示では、生成された触覚効果は、触覚効果が映像と同期されるように触覚出力デバイス１１８に出力される。例えば、イベント検出モジュール１２６が突然の動きを検出する場合、効果生成モジュール１２８は、映像内で突然の動きが発生するのと同時又は実質的に同時に触覚効果が出力されるように、触覚出力デバイス１１８に触覚効果信号を送信することができる。
【００４１】
別の例示として、効果生成モジュール１２８は、映像内に埋め込まれる触覚トラックを生成することができる。
【００４２】
この例示では、効果生成モジュール１２８は、オプティカルフロー推定モジュール１２４によって受信された映像に触覚トラックを埋め込むことができる。触覚トラックを含む映像は、メモリ１０４、記憶装置１１４及び／又はＩ／Ｏ１１２に記憶され得る。触覚トラックを含む映像は、ネットワーク１１０を介して別のコンピュータデバイスに送られ得る。こうした例では、映像が再生されると、オプティカルフロー推定モジュール１２４によって検出される推定オプティカルフロー、イベント検出モジュール１２６によって検出される突然の動き、及び効果生成モジュール１２８によって生成される触覚効果に基づいて、映像における突然の動きに対応する触覚効果が出力される。
【００４３】
一部の例では、効果生成モジュール１２８は、別のファイルに生成された触覚効果を記憶することができるか、さもなければ映像を再エンコードせずに映像に追加され得る。例えば、効果生成モジュール１２８は、生成された触覚効果を有する触覚トラックを生成して、ＨＡＰＴファイルフォーマットを有するファイル等の触覚ファイルに触覚トラックを記憶することができる。この例示では、効果生成モジュール１２８は、メモリ１０４、記憶装置１１４、及び／又はＩ／Ｏ１１２に触覚トラックを記憶することができる。触覚ファイルは、ネットワーク１１０を介して別のコンピュータデバイスに送られ得る。こうした例では、映像が再生されると、メモリ１０４、記憶装置１１４、Ｉ／Ｏ１１２から、及び／又はネットワーク１１０を介してビデオに対応する触覚ファイルが取得され、効果生成モジュール１２８によって生成された触覚ファイル内で指定された触覚効果であって映像内の突然の動きに対応するものが出力される。この例示では、触覚ファイルにおいて指定された触覚効果は、オプティカルフロー推定モジュール１２４によって検出された推定オプティカルフロー、イベント検出モジュール１２６によって検出された突然の動き、及び効果生成モジュール１２８によって生成された触覚ファイルに対応する。
【００４４】
複数の例において、効果生成モジュール１２８は、図３のブロック３４０及び／又は図８のブロック８２０等に関して、本明細書に記載の映像に対応する触覚効果を生成するようにプロセッサ１０２を構成する。効果生成モジュール１２８はメモリ１０４内のプログラムコンポーネントとして図１Ｃに描かれているが、一部の例では、効果生成モジュール１２８は、触覚効果を生成するように構成されるハードウェアを含んでもよい。一部の例では、このようなハードウェアは、アナログ・デジタル変換器、プロセッサ、マイクロコントローラ、比較器、増幅器、トランジスタ、触覚出力デバイス及び他のアナログ又はデジタル回路を含んでもよい。
【００４５】
次に図２を参照すると、この図は、一実施形態によるビジュアルオドメトリに基づく触覚の自動生成に関する例示的なシステムを示すブロック図である。システム２００は、コンピュータシステム２３６を含む。一部の実施形態では、コンピュータシステム２３６は、例えば、デジタルカメラ、アクションカメラ、３６０度カメラ、スマートフォン、タブレット、Ｅリーダ、ラップトップコンピュータ、デスクトップコンピュータ、携帯型ゲームデバイス、医療デバイス、セットトップボックス（例えば、ＤＶＤプレーヤ、ＤＶＲ、ケーブルテレビボックス）、又はゲームコントローラを含んでもよい。
【００４６】
コンピュータシステム２３６は、バス２０６を介して他のハードウェアと通信するプロセッサ２０２を含む。また、コンピュータシステム２３６は、オプティカルフロー推定モジュール２２４、イベント検出モジュール２２６、及び効果生成モジュール２２８を含むメモリ２０４も備える。こうしたコンポーネントは、それぞれ図１に描かれたメモリ１０４、オプティカルフロー推定モジュール１２４、イベント検出モジュール１２６、及び効果生成モジュール１２８と同様に機能するように構成されてもよい。
【００４７】
また、コンピュータシステム２３６は、ネットワークインターフェースデバイス２１０、Ｉ／Ｏコンポーネント２１２、記憶装置２１４、センサ２３１、及び触覚出力デバイス２２２も備える。こうしたコンポーネントは、それぞれ図１Ｃに描かれたネットワークインターフェースデバイス１１０、Ｉ／Ｏコンポーネント１１２、記憶装置１１４、センサ１３０、及び触覚出力デバイス１１８と同様に機能するように構成されてもよい。
【００４８】
更に、コンピュータシステム２３６はディスプレイ２３４も備える。一部の実施形態では、ディスプレイ２３４は、別個のコンポーネント、例えば、有線又は無線接続を介してプロセッサ２０２に結合されるリモートモニタ、テレビ、又はプロジェクタを含んでもよい。
【００４９】
コンピュータシステム２３６は、コンピュータデバイス２００に通信可能に結合される。一部の実施形態では、コンピュータシステム２００は、例えば、デジタルカメラ、アクションカメラ、３６０度カメラ、スマートフォン、タブレット、Ｅリーダ、ラップトップコンピュータ、デスクトップコンピュータ、携帯型ゲームデバイス、医療デバイス、セットトップボックス（例えば、ＤＶＤプレーヤ、ＤＶＲ、ケーブルテレビボックス）、又はゲームコントローラを含んでもよい。
【００５０】
コンピュータデバイス２００は、プロセッサ２０３、メモリ２０５、オプティカルフロー推定モジュール２２４（図示せず）、イベント検出モジュール２２６（図示せず）、及び効果生成モジュール２２８（図示せず）を含んでもよい。また、コンピュータデバイス２００は、ネットワークインターフェースデバイス２４５を含んでもよい。プロセッサ２０３、メモリ２０５、オプティカルフロー推定モジュール２２４、イベント検出モジュール２２６、効果生成モジュール２２８、及びネットワークインターフェース２４５は、それぞれ図１Ｃに描かれているプロセッサ１０２、メモリ２０４、オプティカルフロー推定モジュール１２４、イベント検出モジュール１２６、効果生成モジュール１２８、及びネットワークインターフェース１１０と同様に機能するように構成されてもよい。図２に示された例では、コンピュータデバイス２００はネットワークインターフェースデバイス２４５を備え、且つＩＥＥＥ８０２．１１、ブルートゥース、又は無線インターフェース（例えば、ＣＤＭＡ、ＧＳＭ、ＵＭＴＳ、又は他の移動通信ネットワークにアクセスするためのトランシーバ／アンテナ）等の無線インターフェースを介してコンピュータシステム２３６と通信する。
【００５１】
コンピュータデバイス２００はＩ／Ｏコンポーネント２１３を含み、これは図１Ｃに描かれたＩ／Ｏコンポーネント１１２と同様に機能するように構成されてもよい。また、コンピュータデバイス２００は、Ｉ／Ｏコンポーネント２１３と通信するユーザ入力デバイス２３８も含む。ユーザ入力デバイス２３８は、コンピュータデバイス２００とのユーザ相互作用を可能にするためのデバイスを含む。例えば、ユーザ入力デバイス２３８は、ジョイスティック、方向パッド、ボタン、スイッチ、スピーカ、マイクロホン、タッチセンサ面、及び／又はデータの入力に使用される他のハードウェアを含んでもよい。
【００５２】
コンピュータデバイス２００は、１つ以上のセンサ２３０、前面カメラ２３４、後面カメラ２４０、及び触覚出力デバイス２１８を更に含む。こうしたコンポーネントは、それぞれ図１Ｃに描かれたセンサ１３０、前面カメラ１３４、後面カメラ１４０及び触覚出力デバイス１１８と同様に機能するように構成されてもよい。
【００５３】
次に図３を参照すると、この図面は一実施形態によるビジュアルオドメトリに基づいて触覚を自動的に生成する例示的な方法３００を示す。この例示では、方法３００は、映像をキャプチャするために使用されるカメラのモーションを決定して、モーションに基づいて自動的に触覚を生成することができる。一例として、方法３００は、カメラの動きに基づいて一人称のモーションが近似され得る主観映像におけるモーションを検出するのに特に有益であり得る。図１Ａ、１Ｂ、１Ｃ及び／又は図２が参照されるが、本開示による任意の適切なデバイスが様々な実施形態によるビジュアルオドメトリに基づいて触覚効果を自動的に生成するために利用されてもよい。
【００５４】
方法３００は、映像が受信されるブロック３１０で開始する。一例では、映像は、後面カメラ１４０からプロセッサ１０２によって受信される。映像は、主観映像であってもよい。一部の例では、映像はリアルタイム映像であり、他の例では、映像は、メモリ１０４、記憶装置１１４、又はＩ／Ｏコンポーネント１１２に記憶される事前記録映像ファイルであり、プロセッサ１０２によって受信される。一実施形態では、映像は、コンピュータデバイス２００からコンピュータシステム２３６にストリーミングされる。別の実施形態では、事前記録映像ファイルがコンピュータデバイス２００からコンピュータシステム２３６にダウンロードされる。こうした例では、コンピュータシステム２３６におけるプロセッサ２０２は、ネットワーク２４５及び２１０を介してコンピュータデバイス２００から映像を受信し得る。映像は複数のフレームを有し得る。例えば、映像は、毎秒２５，３０，４８，５０，６０，７２，９０，１００，１２０，１４４，２４０，又は３００フレームのフレームレートを有してもよい。複数の実施形態では、映像は、毎秒２４から３００の間のフレームを有する。
【００５５】
ブロック３２０において、映像に対応するオプティカルフロー推定が決定される。複数の例において、映像を受信するプロセッサは、オプティカルフロー推定モジュールによってオプティカルフロー推定を生成するように構成される。例えば、図１Ｃにおけるプロセッサ１０２は、オプティカルフロー推定モジュール１２４によってオプティカルフローを推定するように構成され得る。別の例示として、プロセッサ２０２及び／又はプロセッサ２０３は、オプティカルフロー推定モジュール２２４によってオプティカルフローを推定するように構成され得る。
【００５６】
本明細書で用いられるオプティカルフロー推定は、映像をキャプチャするカメラと映像内のオブジェクトとの間の相対モーションによって引き起こされる映像のフレーム間の映像におけるオブジェクトの見掛けのモーションのパターンである。例えば、映像は、人物が廊下を歩いて開いたドアに向かっていることを示す主観映像であってもよい。この例示では、開いたドアのドアフレームは、現実には動かない静止オブジェクトである。しかしながら、主観映像では、映像をキャプチャしているカメラが廊下を歩いて開いたドアに向かっている人物と共に動いているので、主観映像の様々なフレーム内で動く。
【００５７】
この例示では、映像内のフレーム間のドアフレームの相対モーションは、人物が廊下を歩いて開いたドアに向かうときに映像をキャプチャする場合のカメラの動きに対応する。例えば、オプティカルフロー推定は、映像をキャプチャしたカメラと映像内のドアフレームとの間の相対モーションによって引き起こされる映像のフレーム間の映像におけるドアフレームの見掛けのモーションのパターンを示すように生成され得る。
【００５８】
オプティカルフロー推定は、映像内の少なくとも２つのフレームに関して生成され得る。例えば、オプティカルフロー推定は、一実施形態では、受信映像における２つの連続フレームに関して生成される。一部の例では、オプティカルフロー推定は、受信映像における２つの不連続フレームに関して生成される。例えば、推定オプティカルフローを生成する際に使用される１つのフレームは、同様に推定オプティカルフローを生成する際に使用される別のフレームから少なくとも１つのフレームだけ分離されてもよい。一例では、オプティカルフロー推定を生成する際に使用されるフレームは、映像のフレームレートに少なくとも部分的に基づいて受信映像から選択される。例えば、オプティカルフロー推定を生成するために使用される映像内の２つのフレーム間のフレームの数は、映像のフレームレートの約１０パーセントであり得る。複数の例において、オプティカルフロー推定は、映像における２つの連続フレームに対して生成される。他の例では、１つ以上のフレームがスキップされてもよく、オプティカルフロー推定は、時間ｔにおける映像フレームと時間（ｔ＋ｘ）における別の映像フレームとを使用して生成され得る。
【００５９】
一部の例では、推定オプティカルフローは、映像のフレーム内で検出された特徴に関して生成される。例えば、次に図４を参照すると、この図面は、映像内の２つの連続フレームにおいて検出された特徴の間の推定オプティカルフロー４００を示している。この例示では、推定オプティカルフロー４００は、オプティカルフロー推定を生成するために使用される映像のフレームにおけるオブジェクトに関して、図４に示された運動ベクトル４１０、４２０、４３０、４４０等の運動ベクトルを含む。この例示では、推定オプティカルフロー４００が生成された後で、運動ベクトルは、映像に関する後続の運動ベクトルを生成するときに焦点を合わせるべき映像のフレーム内の部分エリアを決定するように解析され得る。例えば、図４に示された運動ベクトルは、近似的に同じ方向を指しており且つ近似的に同じ大きさを有する運動ベクトルのクラスタ（例えば、部分エリア４５０内の運動ベクトル４４０及び周囲の運動ベクトル）が有る部分エリア４５０内の特徴ピクセルを見つけるために解析されてもよい。
【００６０】
複数の実施形態では、映像フレーム内のノイズを減らすためにオプティカルフローを推定する前に映像フレームにフィルタが適用される。複数の実施形態では、オプティカルフロー推定内のノイズを減らすために生成されたオプティカルフロー推定にフィルタが適用される。
【００６１】
一実施形態では、映像のフレーム内の部分エリア内の特徴ピクセルは、類似の方向及び／又は類似の大きさを有する運動ベクトルのクラスタを決定するためにオプティカルフロー推定内の運動ベクトルを解析することにより決定され得る。この例示では、決定された部分エリアは、運動ベクトルのクラスタを取り囲んでいる。例えば、図４では、部分エリア４５０は、類似の方向及び類似の大きさを有する運動ベクトルのクラスタを取り囲んでいる。この例示では、後続のオプティカルフロー推定は、映像フレームの残りのエリアにおけるピクセルに関して運動ベクトルを生成せずに、部分エリア４４０内の特徴ピクセルのみに関して運動ベクトルを生成することができる。特徴ピクセルを見つけて、将来のオプティカルフロー推定における映像内の他の映像フレームに関して推定オプティカルフローを生成するための映像内の映像フレームにおける部分エリアを決定することは、映像の部分エリア内の関連の特徴ピクセルに焦点を合わせて、映像の他のエリアにおける他のピクセルを無視することにより、映像をキャプチャしたカメラのモーションを近似する際の処理時間を減らすこと及び／又は精度を改善することができる。
【００６２】
他の例では、映像のフレームの部分エリア内の特徴ピクセルは、オプティカルフロー推定を生成する前に決定され得る。例えば、映像内のフレームは、一実施形態によればオプティカルフロー推定を生成する前に映像内の静止オブジェクトの特徴ピクセルを決定するように解析される。この例示では、１つ以上のオブジェクトが、映像を記録するカメラの動きが無ければ映像内で静止したままであると期待される映像の映像フレーム内で検出される。映像の映像フレーム内で検出され得る静止オブジェクトの例は、限定されないが、建物又はその一部（例えば、壁、ドア、窓、調理台、階段等）、景色（例えば、木、森、山、岩、街路等）、使用されていない家具（例えば、テーブル、椅子、ラグマット、写真）、使用されていない車両（例えば、停車中の車、停車中のオートバイ等）、又は別の静止オブジェクトを含む。複数の例では、検出された（複数の）静止オブジェクトを取り囲む１つ以上の部分エリアが決定されて、こうした（複数の）部分エリアに対してのみ推定オプティカルフローが生成される。
【００６３】
一部の例では、映像内の静止オブジェクトに対応する特徴ピクセルが決定され得る。一実施形態では、特徴ピクセルは、映像内の静止オブジェクトの角に対応するピクセルである。他の例では、特徴ピクセルは、映像をキャプチャしたカメラの動きが無ければ映像内の（複数の）連続した及び／又は後続のフレーム間で動かないはずである静止オブジェクトに対応する映像フレームにおけるピクセルであり得る。
【００６４】
運動ベクトルは、映像フレームの全体エリアに対するピクセルではなく映像の１つ以上のフレーム内の（複数の）部分エリア内で検出される特徴ピクセルに対してのみ生成されてもよい。オプティカルフロー推定を生成する前に映像内の映像フレームにおける部分エリア内で１つ以上の特徴ピクセルを決定することは、映像の部分エリア内の関連する（複数の）特徴ピクセルに焦点を合わせて、映像の他のエリアを無視することにより、映像をキャプチャしたカメラのモーションを近似する際に処理時間を減らすこと及び／又は精度を改善することができる。
【００６５】
例えば、再び図４を参照すると、部分エリア４５０内の特徴ピクセルは、オプティカルフロー４００を推定する前に（例えば、運動ベクトル４１０、４２０、４３０、４４０等の前に）決定される。この例示では、部分エリア４５０は、静止オブジェクト４６０を検出するために写真を解析して、次に検出された静止オブジェクト４６０を取り囲んでいるエリア内の特徴ピクセルを選択することにより決定される。この例示では、運動ベクトルは、部分エリア４５０内のみの所定のピクセルのみに対して生成される。この例示では、部分エリア４５０の外の領域のピクセルに対して運動ベクトルは生成されないであろう（例えば、運動ベクトル４１０、４２０、４３０等は生成されないであろう）。
【００６６】
次に図５Ａ及び５Ｂを参照すると、こうした図面のそれぞれは、複数の実施形態による映像における部分エリア内で検出される特徴ピクセルに対するオプティカルフロー推定の各例示を示している。例えば、図５Ａは、より大きな映像フレームの部分エリア５１０を示している。この例示では、部分エリア５１０は、森を描く映像フレームの部分を取り囲んでいる映像フレーム内のエリアを検出することにより決定される。この例示では、より大きな映像フレーム内で検出された部分エリア内の特徴ピクセルにのみ対応する運動ベクトル５２０等の運動ベクトルを有するオプティカルフロー推定が生成されてもよい。別の例示として、図５Ｂは、より大きな映像フレームの部分エリア５３０を示している。この例示では、部分エリア５４０は、開いた山の景色を描く映像フレームのエリアを検出して取り囲むことにより決定される。この例示では、より大きな映像フレーム内で検出された部分エリア内の特徴ピクセルにのみ対応する運動ベクトル５４０等の運動ベクトルを有するオプティカルフロー推定が生成されてもよい。
【００６７】
複数の例において、推定オプティカルフローにおける運動ベクトルの数は、映像の映像フレームにおいて検出されたピクセル特徴の数に対応する。例えば、推定オプティカルフローは、映像フレームにおいて検出されたピクセル特徴ごとに１つの運動ベクトルを有してもよい。一部の例では、検出されたピクセル特徴は、映像フレームに示されたオブジェクトの角に対応する。他の例では、検出されたピクセル特徴は、映像フレームに示されたオブジェクトの任意のタイプの視覚特性に対応し得る。一実施形態では、映像をキャプチャしたカメラがオブジェクトに接近している場合、映像はオブジェクトの詳細ビューを有し、このオブジェクトに対応する多くのピクセル特徴が検出される。この実施形態では、推定オプティカルフローは多くの運動ベクトルを有する。他の実施形態では、映像をキャプチャしたカメラがオブジェクトから遠く離れている場合、映像内のオブジェクトは詳細化されず、オブジェクトに対応するより少数のピクセル特徴が検出される。この実施形態では、推定オプティカルフローは、１つの運動ベクトル又はごく少数の運動ベクトルを有し得る。このようにして、一部の実施形態では、推定オプティカルフローにおける運動ベクトルの数及び運動ベクトルの集中が、映像内のオブジェクトの数及び映像をキャプチャしたカメラがこうしたオブジェクトにどれくらい接近していたかに対応する。
【００６８】
更に、一部の例では、映像をキャプチャするときにカメラがオブジェクトに接近しており且つオブジェクトが互いに接近している場合、オブジェクトの互いに対する近接性は特徴ピクセルの検出に影響を及ぼさず、映像内のオブジェクトは映像内のオブジェクトの詳細のために互いから区別することができる。他の例では、しかしながら、映像をキャプチャするときにカメラがオブジェクトに接近しておらず（例えば、カメラがオブジェクトから遠く離れており）且つオブジェクトが互いに接近している場合、オブジェクトの近接性はピクセル特徴の検出に影響を及ぼし、映像内のオブジェクトは映像内のオブジェクトの詳細の欠如のために互いから区別することができなくてもよい。この例示では、映像内の２つ以上のオブジェクトが、映像内のオブジェクトの詳細の欠如のために単一のオブジェクトとして検出されてもよく、検出された特徴の数は、オブジェクトに接近していたときにカメラによってオブジェクトがキャプチャされていた場合よりも少なくてもよい。
【００６９】
例えば、図５Ａに示されたオプティカルフロー推定に対応する映像は、互いに接近している多くの静止オブジェクトが有る森の中で記録されたものであり、映像を記録したカメラはそれが記録された森に接近していた。しかしながら、図５Ｂに示されたオプティカルフロー推定に対応する映像は山の上で記録されたものであり、バックグラウンドには木等の多くの静止オブジェクトが互いに接近しているが、映像を記録したカメラは映像が記録されたときに森から遠く離れていた。この例示では、図５Ｂに示された部分エリア５３０に関するオプティカルフロー推定に対応する映像をキャプチャしたカメラよりも、図５Ａに示された部分エリア５１０に関するオプティカルフロー推定に対応する映像をキャプチャしたときにカメラがオブジェクトに接近していたので、図５Ｂにおけるオプティカルフロー推定内の運動ベクトル５４０よりも図５Ａにおけるオプティカルフロー推定内の運動ベクトル５２０はより高度に集中している。
【００７０】
一部の実施形態では、特徴ピクセルを検出するように解析される部分エリアのサイズ及び／又は場所はユーザによって決定される。複数の実施形態では、ユーザは、映像内の特定の形状（例えば、矩形、円形、三角形、ユーザが描いた自由な形状、又は他の形状）に特徴検出を制限し、特定の形状が覆う映像内の場所を特定してもよい。例えば、ユーザは、映像フレームのピクセル（ｉ，ｊ）において開始し且つＸピクセルの幅及びＹピクセルの高さを有する矩形内で特徴が検出されるべきであることを指定してもよい。
【００７１】
他の実施形態では、部分エリアのサイズ及び／又は場所が動的に決定される。一部の実施形態では、部分エリアのサイズ及び場所は、運動ベクトルの集中に基づいて動的に指定されるか又は更新され得る。例えば、１つの映像フレームにおいて、特徴がフレーム全体の中で検出されてもよく、次にその映像フレーム内の部分エリアが決定されて後続の映像フレームに対して使用されてもよい。次に、映像フレーム１内のピクセル特徴を決定するために映像フレーム１の全体が解析されると、映像フレーム１に関して決定されたピクセル特徴の一部又は全てを取り囲んでいる部分エリアが、後続の映像フレームにおいてピクセル特徴を決定するために使用されてもよい。一部の例では、部分エリアを決定するために映像フレーム全体を解析し且つ後続の映像フレームにおいてこの部分エリアを使用する処理が多くの要求の後で繰り返される。例えば、部分エリアを決定するために映像フレーム１の全体が解析され且つこの部分エリアが映像フレーム２から５０に対してピクセル特徴を識別するために使用される場合、映像フレーム５１の全体は、映像フレーム５２から１００に対するピクセル特徴を識別するために使用される別の部分エリアを決定するため等に解析されてもよい。
【００７２】
一部の例では、ユーザがピクセル特徴を決定するために初期部分エリアを指定する場合、１つの映像フレームにおいて、初期の部分エリア内に特徴が検出されてもよく、検出された特徴を取り囲んでいる初期の部分エリア内の別の部分エリアが決定されてもよい。この例示では、動的に決定される他の部分エリアが、後続の映像フレーム内でピクセル特徴を検出するために使用される。
【００７３】
一実施形態では、決定された部分エリアは、映像内の上端中央エリアに対応する。例えば、図４に示された部分エリア４５０は、映像内の上端中央エリアに対応する。様々な例では、決定された部分エリアは、映像内の上端、中央又は下端エリアに対応する。一部の例では、決定された部分エリアは、映像内の左、中央、又は右エリアに対応する。一部の実施形態では、部分エリアは、映像内の上端、中央又は下端の水平エリア及び左、中央又は右の垂直エリアに対応する。
【００７４】
ブロック３２０でオプティカルフローを推定した後で、ブロック３３０において、映像内の突然の動きが決定される。複数の例において、プロセッサは、イベント検出モジュールによって、オプティカルフロー推定モジュールによって生成されるオプティカルフロー推定に少なくとも部分的に基づいて、映像内の１つ以上の突然の動きを決定するように構成される。例えば、図１Ｃにおけるプロセッサ１０２は、イベント検出モジュール１２６によって、映像内の突然の動きを決定するように構成され得る。別の例示として、プロセッサ２０２及び／又はプロセッサ２０３は、イベント検出モジュール２２６によって、映像内の突然の動きを決定するように構成され得る。
【００７５】
複数の例において、映像内の突然の動きは、生成されたオプティカルフロー推定における運動ベクトルに基づいて決定される。一部の実施形態では、部分エリアの外のピクセルに対応する運動ベクトルが有ったとしても、映像内の突然の動きは、映像の部分エリア内の特徴ピクセルに対応する運動ベクトルのみ（これはブロック３２０で既に決定されていてもよく又はブロック３２０に関して先に記載されたようにブロック３３０で決定され得る）を解析することにより決定される。複数の実施形態では、オプティカルフロー推定において最大の大きさを有する１つ以上の運動ベクトル及び／又は最小の大きさを有する１つ以上の運動ベクトルが、運動ベクトルの平均の大きさを決定する際に除去されるか又は無視される。オプティカルフロー推定において最大及び最小の大きさを有する運動ベクトルはノイズに由来することが多いので、運動ベクトルの平均の大きさを決定するときにこのような運動ベクトルを除去又は無視することは、突然の動きを検出する際のより高い精度及び／又は突然の動きを適切な触覚効果と適合させる際のより高い精度を提供することができる。
【００７６】
一例では、映像内の突然の動きは、運動ベクトルのクラスタが同じ又は実質的に同じ方向を指すかどうかを決定するために、推定オプティカルフローにおける運動ベクトルを解析することで決定される。例えば、図４に示されたオプティカルフロー推定４００は、北の方向に面し且つ映像内の動きの中で突然の動きとして検出される部分エリア４５０内に運動ベクトルのクラスタを有する。一部の例では、部分エリア４５０内の運動ベクトルのクラスタは、部分エリア４５０内のこうした運動ベクトルのみを解析することにより決定され得る。この例示では、部分エリア４５０は、ブロック３２０の一部として決定されてもよく、又はブロック３３０の一部として決定されてもよい。別の例示として、運動ベクトル４１０、４２０、４３０、４４０等の運動ベクトルは、ベクトルが同じ方向を向く運動ベクトルのクラスタの一部であるかどうかを決定するために使用され得る。例えば、図４に示されている運動ベクトルは、運動ベクトル４４０が同じ又は実質的に同じ北の方向を向いており、そのため映像内の突然の動きとして検出される（図４の部分エリア４５０に示された）運動ベクトルのクラスタの一部であることを決定するために解析され得る。
【００７７】
複数の実施形態では、突然の動きは、推定オプティカルフローにおける運動ベクトルによって描かれた映像内の連続した又は近接するフレーム間における同じ方向の動き（例えば、垂直方向の動き、水平方向の動き、又は別の特定方向の動き）である。一部の実施形態では、オプティカルフロー推定における少なくとも所定の運動ベクトルの平均の大きさは、突然の動きを有するためには大きさ閾値を超えていなければならない。
【００７８】
一部の例では、オプティカルフロー推定における垂直又は実質的に垂直の運動ベクトルのクラスタは、映像を記録するときのカメラの垂直の動きに対応する映像内の突然の垂直の動きに対応する。例えば、図６Ａ及び６Ｂは、実質的に垂直であって、映像を記録するときのカメラの動きと対応する映像内の突然の垂直の動きを示す運動ベクトル（例えば、６１０，６２０，６３０，６６０，６７０，６８０等）を有する各オプティカルフロー推定（６００、６５０）をそれぞれ示している。
【００７９】
他の例では、オプティカルフロー推定における水平又は実質的に水平の運動ベクトルのクラスタは、映像を記録するときのカメラの水平の動きに対応する映像内の突然の水平の動きに対応する。一部の例では、オプティカルフロー推定における同じ方向又は実質的に同じ方向を向く運動ベクトルのクラスタは、映像を記録するときの同じ方向又は実質的に同じ方向のカメラの動きに対応する同じ方向又は実質的に同じ方向の映像内の突然の動きに対応する。一部の例では、同じ方向を指す映像に対応するオプティカルフロー推定における運動ベクトルは、映像を記録したカメラの移動速度及び／又は移動の方向に対応する。
【００８０】
ブロック３３０で突然の動きが決定された後で、方法３００はブロック３４０に進む。ブロック３４０では、１つ以上の触覚効果が生成される。複数の例において、プロセッサは、効果生成モジュールによって、イベント検出モジュールによって決定された映像内の１つ以上の突然の動きに対応する１つ以上の触覚効果を生成するように構成される。例えば、図１Ｃにおけるプロセッサ１０２は、効果生成モジュール１２８によって、映像内で決定された突然の動きに対応する触覚効果を生成するように構成され得る。別の例示として、プロセッサ２０２及び／又はプロセッサ２０３は、効果生成モジュール２２８によって、映像内の突然の動きに対応する触覚効果を生成するように構成され得る。
【００８１】
複数の例において、生成された触覚効果は、推定オプティカルフローにおける運動ベクトルに対応する強度パラメータを有する。例えば、生成された触覚効果は、ブロック３３０で決定された突然の動きと対応するオプティカルフロー推定のエリアにおける運動ベクトルの平均の大きさに対応する強度パラメータを有し得る。別の例示として、生成された触覚効果は、ブロック３２０及び／又はブロック３３０に関して先に検討されたように）決定された部分エリア内の運動ベクトルの平均の大きさに対応する強度パラメータを有し得る。こうした例において、より大きな決定された平均の大きさは、より大きな強度パラメータに対応してもよく、より大きな強度パラメータは、より強い触覚効果に対応し得る。一部の例では、決定された部分エリアにおける運動ベクトルの方向及び大きさは、映像を記録したカメラの方向及び速さに対応し且つ実質的に類似しているか又は等しい。
【００８２】
次に図７Ａ及び７Ｂを参照すると、こうした図面は、映像内の突然の動きに対応して生成された触覚効果の例を示す。図７Ａに示された生成された触覚効果と対応する映像において、アクションカメラは、砂利道をマウンテンバイクで走っている人物のヘルメットに取り付けられている。その人物が砂利道をマウンテンバイクで走ると、人物の体、従ってアクションカメラが垂直に動く。本明細書で検討されたように、オプティカルフロー推定モジュール（例えば、１２４、２２４）は、アクションカメラによって記録された映像に関する運動ベクトルを有するオプティカルフロー推定を生成してもよく、イベント検出モジュール（例えば、１２６、２２６）は、生成されたオプティカルフロー推定における垂直な又は実質的に垂直な運動ベクトルに基づいて映像内の突然の動きを決定することができる。例えば、イベント検出モジュール（例えば、１２６、２２６）は、人物が砂利道の粗い部分を走っていること、ジャンプした後に地面にぶつかること等と対応して生成されたオプティカルフロー推定における垂直な又は実質的に垂直な運動ベクトルに基づいて突然の動きを決定することができる。こうした例において、映像を記録するカメラは、こうした活動が起こると垂直方向に動き、生成されたオプティカルフロー推定における運動ベクトルの少なくとも一部がこうした動きに対応する。
【００８３】
また、こうした動きに対応する触覚効果は、検出された突然の動きに基づいて生成された触覚効果を示す図７Ａ及び７Ｂに示されるように生成され得る。上記のように、図７Ａは、人物が砂利道でマウンテンバイクに乗っている映像に関して生成された触覚効果を示す。図７Ｂは、人物が石段でマウンテンバイクに乗っている映像に関して生成された触覚効果を示す。複数の実施形態では、生成された触覚効果は、映像が記録されたときのカメラの動きに対応する。こうした例において、カメラの動きは、推定オプティカルフローにおける運動ベクトルに基づいて近似され得る。例えば、オプティカルフロー推定における１つ以上の運動ベクトルの大きさは、映像がキャプチャされたときのカメラの決定された突然の動きと対応し得る。別の例示として、（上記のように）決定された部分エリアにおける１つ以上の運動ベクトルの大きさは、映像が記録されたときのカメラの動きと対応してもよい。
【００８４】
一部の実施形態では、１つ以上の生成された触覚効果は、生成された触覚効果を映像に統合するように映像を再エンコードすることにより映像内に記憶され得る。他の実施形態では、１つ以上の生成された触覚効果は、別のファイルに保存されてもよく、さもなければ映像を再エンコードせずに映像に追加され得る。例えば、生成された触覚効果を有する触覚トラックが生成されて、受信された映像とは別の触覚ファイルとして記憶され得る。この例示では、触覚ファイルは映像が再生されるときに取得されてもよく、映像内で検出された突然の動きと対応する触覚効果における複数の触覚効果が出力され得る。映像が再生されるときに出力される触覚効果の強度は、映像内の突然の動きに対応して生成されたオプティカルフロー推定における運動ベクトルに基づいて近似された、映像を記録したカメラの方向及び／又は速度における動きと対応し得る。
【００８５】
一部の実施形態では、１つ以上の生成された触覚効果が、リアルタイムで１つ以上の触覚出力デバイスに出力され得る。例えば、図２を再び参照すると、プロセッサ２０２及び／又はプロセッサ２０３によって生成される触覚効果を触覚出力デバイスに出力させるように構成される触覚出力信号が触覚出力デバイス２２２に送られ得る。この例示では、生成された触覚効果にも対応し、ディスプレイ２３４に表示される、決定された突然の動きと対応する映像フレームと対応する時間に生成された触覚効果が、触覚出力デバイス２２２によって出力されるように触覚出力デバイス２２２に送られる。従って、複数の実施形態では、オプティカルフロー推定が生成され、突然の動きが検出され、触覚効果がリアルタイムで生成され且つ出力され、それによってカメラの動きにおける突然の動きに対応する触覚効果を有さない映像が、映像が再生されるときにカメラの動きにおける突然の動きに対応する時間に触覚効果が出力されるように触覚的に強化され得る。
【００８６】
図３に示された方法３００は単一の映像フィードに関して先に記載されているが、複数の映像フィードと共に方法３００を使用することも本開示の範囲内である。例えば、複数の実施形態では、（並列に撮影するとき等）複数のカメラからの映像フィードが使用され得る。一部の実施形態では、映像フィードに対応する推定オプティカルフローに関する異なる運動ベクトルが、データ融合技術（例えば、カルマンフィルタ）等を使用することにより結合され得る。例えば、第１の映像フィードにおける第１のフレーム及び第２のフレームに対応する推定オプティカルフローに関する運動ベクトルが、第２の映像フィードにおける第１のフレーム及び第２のフレームに対応する推定オプティカルフローに関する運動ベクトルと結合され得る。一部の例では、複数の映像フィードからの推定オプティカルフローに関する運動ベクトルを結合することは、より正確な動きの推定をもたらす。
【００８７】
一部の実施形態では、（複数の）推定オプティカルフローに関する運動ベクトルが、より正確な動きの推定を得るために映像を記録したカメラに組み込まれているセンサからの測定値と結合される。例えば、映像を記録するカメラに組み込まれている１つ以上のセンサ（例えば、（複数の）加速度計、（複数の）ジャイロスコープ、（複数の）慣性測定装置）からの測定値が、映像に関する動きの推定をより正確に提供するために映像に関する（複数の）推定オプティカルフローに関する運動ベクトルと組み合わされ得る。一部の例では、より正確な動きの推定が、映像フィードを記録するカメラにおけるセンサからの測定値と共に複数の映像フィードを使用することにより行われ得る。
【００８８】
次に図８を参照すると、図８は一実施形態によるビジュアルオドメトリに基づいて触覚を自動的に生成する例示的な方法８００を示す。図１Ａ、１Ｂ、１Ｃ及び／又は図２が参照されるが、本開示による任意の適切なデバイスが様々な実施形態によるビジュアルオドメトリに基づいて触覚効果を自動的に生成するために利用されてもよい。
【００８９】
方法８００はブロック８１０で開始し、映像が受信される。例えば、映像は、図３のブロック３１０等に関して本明細書に記載の１つ以上のやり方で受信され得る。
【００９０】
ブロック８２０において、連続フレーム間の突然の動きが検出される。例えば、突然の動きは、図３のブロック３２０及び／又は３３０に関して先に記載されたように、突然の動きを検出するために受信した映像に対するオプティカルフロー推定を生成することにより検出され得る。複数の実施形態では、突然の動きは、映像内の連続フレーム間の拡大、縮小、回転、衝突、揺動等のモーションである。
【００９１】
一部の例では、推定オプティカルフローは、受信した圧縮映像内の基準フレームに基づいて生成される。例えば、オプティカルフロー推定は、圧縮映像における基準フレーム（例えば、イントラコード化ピクチャフレーム、「Ｉフレーム」とも呼ばれる）と圧縮映像における後続の隣接フレーム（例えば、予測ピクチャフレーム、「Ｐフレーム」とも呼ばれる）との間で生成され得る。一部の例では、オプティカルフロー推定は、圧縮映像における基準フレームと後続の非隣接フレーム（例えば、双方向予測ピクチャフレーム、「Ｂフレーム」とも呼ばれる）との間で生成され得る。一例では、オプティカルフロー推定は、ＰフレームとＢフレームとの間で生成される。一部の例では、オプティカルフロー推定は、複数のフレームに関して生成され得る。例えば、オプティカルフロー推定は、ＩフレームとＰフレームとＢフレームとの間で生成され得る。オプティカルフロー推定は、複数の基準フレーム、予測ピクチャフレーム、及び／又は双方向ピクチャフレームに対して生成されてもよい。上記のように、映像内の映像フレーム間の（複数の）推定オプティカルフローは、映像内の突然の動きの発生を決定するように解析される１つ以上の運動ベクトルを有し得る。
【００９２】
フレーム間の突然の動きの検出は、Ｐフレーム及び／又はＢフレーム等の１つ以上の予測フレームに基づいて決定され得る。一部の例では、画像データ又は運動ベクトル変位、又は両方を含む。多くの場合、予測フレームは、Ｉフレーム等の非予測フレームよりもエンコードのために少ないビットを必要とする。こうした例において、圧縮映像における突然の動きは、予測フレームにおいて、画像データ、運動ベクトル変位、又は両方に基づいて検出され得る。一部の例では、対応するＩフレームからの画像データは、映像内で突然の動きが発生したかどうかを決定するために解析される必要がない。例えば、（複数の）予測フレームにおける全ての又は突然の大多数のピクセルに関する動きが有ることを画像データ及び／又は運動ベクトル変位が示す場合、突然の動きはこうした（複数の）フレームに対して検出され得る。この例示では、突然の動きは、映像を記録したカメラの動きに対応する。別の例示として、動いているオブジェクトが有ること及びオブジェクトを取り囲んでいる（複数の）フレームにおけるピクセルも動いていることを画像データ及び／又は運動ベクトル変位が示す場合、空間内を動いているオブジェクトに対応するこうした（複数の）フレームに対して突然の動きが検出され得る。動いているオブジェクトが有ること及びオブジェクトを取り囲んでいる（複数の）フレームにおけるピクセルが動いていないことを画像データ及び／又は運動ベクトル変位が示す場合、さもなければ静止しているシーン内を動いているオブジェクトに対応するこうした（複数の）フレームに対して突然の動きが検出され得る。例えば、それは、さもなければ何も無い道路に沿って走っている車である突然の動きを示してもよい。
【００９３】
ブロック８３０において、受信した映像において検出された突然の動きに対応するパラメータが決定される。例えば、検出された突然の動きに対応するパラメータは、図３のブロック３４０に関して先に記載されたように、受信映像に対して生成されたオプティカルフロー推定に基づいて決定され得る。
【００９４】
図８のブロック８２０に関して先に検討されたように、オプティカルフロー推定は、受信映像における予測フレームに少なくとも部分的に基づいて生成され得る。こうした例において、検出された突然の動きに対応するパラメータは、予測フレームにおける画像データ又は運動ベクトル変位、又は両方等の予測フレームにおける情報に基づき得る。例えば、触覚効果に関する強度パラメータは、Ｐフレーム及び／又はＢフレーム等の１つ以上の予測フレームにおける運動ベクトル変位と相関していてもよい。この例示では、より大きな運動ベクトル変位によって、より強い触覚効果を出力させるより大きな強度パラメータが決定される。より強い触覚効果は、（複数の）予測フレームにおける運動ベクトル変位によって決定される映像のモーションにおける突然の動きと相関する。
【００９５】
ブロック８４０において、突然の動きに対応する触覚効果が生成される。一部の例では、触覚効果は、突然の動きの決定されたパラメータに少なくとも部分的に基づいている。例えば、触覚効果の強度は、突然の動きのパラメータに基づいていてもよい。この例示では、突然の動きのより大きなパラメータが、対応するより大きな強度を有する生成された触覚効果をもたらす。例えば、触覚効果は、映像内の対応する突然の動きが表示されるときに生成された触覚効果を触覚出力デバイスに出力させるように生成されて触覚出力デバイスに出力され得る。この例示では、生成された触覚効果は、検出された突然の動きに対応する推定オプティカルフローにおける１つ以上の運動ベクトルに対応する強度パラメータを有し得る。一部の例では、触覚効果が生成されて触覚トラックに記憶される。触覚効果は、図３のブロック３４０等に関して本明細書に記載の１つ以上のやり方で生成されて出力され得る。
【００９６】
本明細書に記載のデバイス、システム及び方法の一部の例は様々な機械で実行するソフトウェアに関して記載されているが、方法及びシステムは、例えば、様々な方法を特別に実行するためのフィールド・プログラマブル・ゲート・アレイ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ；ＦＰＧＡ）等の特別に構成されたハードウェアとして実装されてもよい。例えば、例示は、デジタル電子回路で、又はコンピュータハードウェア、ファームウェア、ソフトウェア若しくはこれらの組み合わせで実装され得る。一例では、デバイスは、１つ又は複数のプロセッサを含んでもよい。プロセッサは、プロセッサに結合されるランダム・アクセス・メモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ；ＲＡＭ）等のコンピュータ可読媒体を備える。プロセッサは、メモリに記憶されたコンピュータ実行可能プログラム命令を実行する。例えば、画像を編集するための１つ以上のコンピュータプログラムを実行する。このようなプロセッサは、マイクロプロセッサ、デジタル・シグナル・プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ；ＤＳＰ）、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ；ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ；ＦＰＧＡ）、及び状態機械を含む。このようなプロセッサは、ＰＬＣ、プログラマブル割り込みコントローラ（ｐｒｏｇｒａｍｍａｂｌｅ  ｉｎｔｅｒｒｕｐｔ  ｃｏｎｔｒｏｌｌｅｒ；ＰＩＣ）、プログラマブル論理デバイス（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ；ＰＬＤ）、プログラマブルＲＯＭ（ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ；ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ；ＥＰＲＯＭ又はＥＥＰＲＯＭ）、又は他の類似のデバイス等のプログラマブル電子デバイスを更に備えてもよい。
【００９７】
このようなプロセッサは、媒体、例えば、プロセッサによって実行されると、プロセッサによって遂行又は支援される本明細書に記載のステップをプロセッサに実行させることができる命令を記憶し得るコンピュータ可読記憶媒体を備え又はこれと通信してもよい。コンピュータ可読媒体の例は、限定されないが、プロセッサ、例えばウェブサーバのプロセッサにコンピュータ可読命令を提供することができる電子、光学、磁気又は他の記憶デバイスを含んでもよい。媒体の他の例は、限定されないが、フロッピーディスク、ＣＤ−ＲＯＭ、磁気ディスク、メモリチップ、ＲＯＭ、ＲＡＭ、ＡＳＩＣ、構成プロセッサ、全ての光学媒体、全ての磁気テープ若しくは他の磁気媒体、又はコンピュータプロセッサが読み取り可能な任意の他の媒体を含む。記載されたプロセッサ及び処理は、１つ以上の構造内に有ってもよく、１つ以上の構造を通じて分散されてもよい。プロセッサは、本明細書に記載の１つ以上の方法（又は方法の一部）を実行するためのコードを備えてもよい。
【００９８】
一部の例の上記の説明は、例示及び説明のためにのみ示されているのであって、網羅的であること又は開示された厳密な形態に本開示を限定することは意図されていない。その多くの修正及び適合が、本開示の精神及び範囲から逸脱することなく当業者には明らかであろう。
【００９９】
本明細書における一例又は実装への言及は、特定の機能、構造、操作、又は例と関連して記載される他の特徴が本開示の少なくとも１つの実装に含まれ得ることを意味する。本開示は、このように記載された特定の例又は実装に制限されない。明細書の様々な場所における「一例では」又は「ある例において」、「一実装では」又は「ある実装において」という句又はこれらの変形の出現は、必ずしも同じ例又は実装への言及ではない。任意の特定の機能、構造、操作、又は一例若しくは実装に関連する本明細書に記載の他の特徴は、他の機能、構造、操作、又は任意の他の例若しくは実装に関して記載された他の特徴と組み合わされてもよい。
【図１Ａ】
2018109960.tif 000003
【図１Ｂ】
2018109960.tif 000004
【図１Ｃ】
2018109960.tif 000005
【図２】
2018109960.tif 000006
【図３】
2018109960.tif 000007
【図４】
2018109960.tif 000008
【図５Ａ】
2018109960.tif 000009
【図５Ｂ】
2018109960.tif 000010
【図６】
2018109960.tif 000011
【図７Ａ】
2018109960.tif 000012
【図７Ｂ】
2018109960.tif 000013
【図８】
2018109960.tif 000014
【外国語明細書】
2018109960000001.pdf