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