特開2018-109961(P2018-109961A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

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

▶ イマージョン コーポレーションの特許一覧
特開2018-109961カラー特徴及びモーション解析に基づく自動触覚生成
<>
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000003
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000004
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000005
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000006
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000007
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000008
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000009
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000010
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000011
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000012
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000013
  • 特開2018109961-カラー特徴及びモーション解析に基づく自動触覚生成 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2018-109961(P2018-109961A)
(43)【公開日】2018年7月12日
(54)【発明の名称】カラー特徴及びモーション解析に基づく自動触覚生成
(51)【国際特許分類】
   G06T 7/215 20170101AFI20180615BHJP
   G06T 7/90 20170101ALI20180615BHJP
   G06F 3/01 20060101ALI20180615BHJP
【FI】
   G06T7/215
   G06T7/90 C
   G06F3/01 560
【審査請求】未請求
【請求項の数】21
【出願形態】OL
【外国語出願】
【全頁数】30
(21)【出願番号】特願2017-237355(P2017-237355)
(22)【出願日】2017年12月12日
(31)【優先権主張番号】15/378,929
(32)【優先日】2016年12月14日
(33)【優先権主張国】US
(71)【出願人】
【識別番号】500390995
【氏名又は名称】イマージョン コーポレーション
【氏名又は名称原語表記】IMMERSION CORPORATION
【住所又は居所】アメリカ合衆国 カリフォルニア州 95134 サンノゼ リオ ロブレス 50
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100095500
【弁理士】
【氏名又は名称】伊藤 正和
(74)【代理人】
【識別番号】100111235
【弁理士】
【氏名又は名称】原 裕子
(72)【発明者】
【氏名】ウー、 リーウェン
【住所又は居所】カナダ国 エイチ2ダブリュー 2アール2 ケベック州 モントリオール サンローラン ブルバール 4200 スイート1105
(72)【発明者】
【氏名】サボーネ、 ジャマール
【住所又は居所】カナダ国 エイチ2ダブリュー 2アール2 ケベック州 モントリオール サンローラン ブルバール 4200 スイート1105
(72)【発明者】
【氏名】レインズ、 ペイジ
【住所又は居所】アメリカ合衆国 カリフォルニア州 95134 サンノゼ リオ ロブレス 50
【テーマコード(参考)】
5E555
5L096
【Fターム(参考)】
5E555AA22
5E555BA01
5E555BA04
5E555BA15
5E555BA16
5E555BA18
5E555BA20
5E555BA22
5E555BA23
5E555BA31
5E555BA38
5E555BB01
5E555BB04
5E555BB15
5E555BB16
5E555BB18
5E555BB20
5E555BB22
5E555BB23
5E555BB31
5E555BB38
5E555BC04
5E555CA42
5E555CB47
5E555DA24
5E555EA22
5E555FA00
5L096AA02
5L096AA06
5L096CA04
5L096DA05
5L096FA67
5L096GA10
5L096GA38
5L096HA04
(57)【要約】      (修正有)
【課題】ビジュアルカラー特徴及びモーション解析に基づいて触覚効果を生成するためのデバイス、システム及び方法を提供する。
【解決手段】複数のフレームを有する映像が受信され、複数のフレームにカラーマスクを適用することにより映像に対してマスクされたフレームが生成される。2つのマスクフレームの間のイベントが検出され、こうしたマスクフレームに対してオプティカルフロー推定が生成される。オプティカルフローに基づいてイベントに対応する少なくとも1つの触覚効果が生成される。(複数の)生成された触覚効果は、触覚ファイル又は触覚出力デバイス、又は両方に出力される。
【選択図】図3
【特許請求の範囲】
【請求項1】
複数のフレームを有する映像を受信するステップと、
前記複数のフレームにおける第1のフレームに第1のカラーマスクを適用することにより第1のマスクフレームを生成するステップと、
前記複数のフレームにおける第2のフレームに第2のカラーマスクを適用することにより第2のマスクフレームを生成するステップであって、前記第2のフレームは前記第1のフレームの後であるステップと、
前記第1のマスクフレームと前記第2のマスクフレームとの間のイベントを検出するステップと、
前記第1のマスクフレームと前記第2のマスクフレームとの間のオプティカルフローを推定するステップと、
前記オプティカルフローに少なくとも部分的に基づいて前記イベントに対応する触覚効果を生成するステップと、
触覚出力デバイスを介して前記触覚効果を発生させるステップと
を含む、方法。
【請求項2】
前記第1のカラーマスク及び前記第2のカラーマスクは同じカラーマスクである、請求項1に記載の方法。
【請求項3】
前記第1のフレーム及び前記第2のフレームは、前記複数のフレームにおける連続フレームである、請求項1に記載の方法。
【請求項4】
前記第2のフレームは前記複数のフレームにおける少なくとも1つのフレームによって前記第1のフレームから分離され、前記第2のフレームは前記第1のフレームに近接している、請求項1に記載の方法。
【請求項5】
前記第2のフレームは、前記映像のフレームレートに少なくとも部分的に基づいて前記複数のフレームから選択される、請求項1に記載の方法。
【請求項6】
推定されたオプティカルフローは、複数の運動ベクトルを含む、請求項1に記載の方法。
【請求項7】
前記触覚効果は、前記複数の運動ベクトルに少なくとも部分的に基づく、請求項6に記載の方法。
【請求項8】
少なくとも前記複数の運動ベクトルの各サブセットに関する各方向を評価することにより、前記イベントの誤検出が有るかどうかを決定するステップ
を更に含む、請求項6に記載の方法。
【請求項9】
前記イベントは爆発に対応する、請求項8に記載の方法。
【請求項10】
前記複数の運動ベクトルのサブセットに関する各方向が同じ方向又は実質的に同じ方向を集合的に指すと決定することに応じて、前記イベントの誤検出が有ることを決定するステップ
を更に含む、請求項9に記載の方法。
【請求項11】
前記複数の運動ベクトルのサブセットに関する各方向が実質的に異なる方向を集合的に指すと決定することに応じて、前記イベントの誤検出が無いことを決定するステップ
を更に含む、請求項9に記載の方法。
【請求項12】
前記複数の運動ベクトルのサブセットに関する各方向がランダムな方向を集合的に指すと決定することに応じて、前記イベントの誤検出が無いことを決定するステップ
を更に含む、請求項9に記載の方法。
【請求項13】
前記イベントは、前記映像をキャプチャしたカメラの動き又は前記映像内で類似したカラーのオブジェクトの動きの少なくとも1つに対応する、請求項8に記載の方法。
【請求項14】
前記複数の運動ベクトルのサブセットに関する各方向が同じ方向又は実質的に同じ方向を集合的に指すと決定することに応じて、前記イベントの誤検出が無いことを決定するステップ
を更に含む、請求項13に記載の方法。
【請求項15】
前記複数の運動ベクトルのサブセットに関する各方向が実質的に異なる方向を集合的に指すと決定することに応じて、前記イベントの誤検出が有ることを決定するステップ
を更に含む、請求項13に記載の方法。
【請求項16】
プロセッサによって実行されるように構成される1つ以上のソフトウェアアプリケーションを含む非一時的なコンピュータ可読媒体であって、前記1つ以上のソフトウェアアプリケーションは、
複数のフレームを有する映像を受信すること、
前記複数のフレームにおける第1のフレームにカラーマスクを適用することにより第1のマスクフレームを生成すること、
前記複数のフレームにおける第2のフレームに前記カラーマスクを適用することにより第2のマスクフレームを生成することであって、前記第2のフレームは前記第1のフレームの後であること、
前記第1のマスクフレームと前記第2のマスクフレームとの間のイベントを検出すること、
前記第1のマスクフレームと前記第2のマスクフレームとの間のオプティカルフローを推定すること、
前記オプティカルフローに少なくとも部分的に基づいて前記イベントに対応する触覚効果を生成すること、及び
触覚出力デバイスを介して前記触覚効果を発生させること
を行うように構成される、非一時的なコンピュータ可読媒体。
【請求項17】
推定されたオプティカルフローは、複数の運動ベクトルを含む、請求項16に記載の非一時的なコンピュータ可読媒体。
【請求項18】
前記1つ以上のソフトウェアアプリケーションは、
前記イベントのタイプ及び前記複数の運動ベクトルの各サブセットに関する各方向が類似の方向を集合的に指すかどうかに少なくとも部分的に基づいて前記イベントの誤検出が有るかどうかを決定すること
を行うように更に構成される、請求項17に記載の非一時的なコンピュータ可読媒体。
【請求項19】
前記1つ以上のソフトウェアアプリケーションは、
前記イベントのタイプが爆発であり、前記複数の運動ベクトルのサブセットに関する各方向が前記類似の方向を集合的に指さない場合に、前記イベントの誤検出が無いことを決定すること
を行うように更に構成される、請求項18に記載の非一時的なコンピュータ可読媒体。
【請求項20】
前記1つ以上のソフトウェアアプリケーションは、
前記イベントのタイプが前記映像をキャプチャしたカメラの動き又は前記映像内の類似のカラーのオブジェクトの動きの少なくとも1つに対応し、前記複数の運動ベクトルのサブセットに関する各方向が前記類似の方向を集合的に指す場合に、前記イベントの誤検出が無いことを決定すること
を行うように更に構成される、請求項18に記載の非一時的なコンピュータ可読媒体。
【請求項21】
ディスプレイと、
触覚出力デバイスと、
前記ディスプレイ及び前記触覚出力デバイスと通信するプロセッサであって、
複数のフレームを有する映像を受信すること、
前記複数のフレームにおける第1のフレームに第1のカラーマスクを適用することにより第1のマスクフレームを生成すること、
前記複数のフレームにおける第2のフレームに第2のカラーマスクを適用することにより第2のマスクフレームを生成することであって、前記第2のフレームは前記第1のフレームの後であること、
前記第1のマスクフレームと前記第2のマスクフレームとの間のイベントを検出すること、
前記第1のマスクフレームと前記第2のマスクフレームとの間のオプティカルフローを推定すること、
前記オプティカルフローに少なくとも部分的に基づいて前記イベントに対応する触覚効果を前記触覚出力デバイスに出力させるように構成される触覚信号を生成すること、
前記ディスプレイに前記第1のフレーム及び前記第2のフレームを出力すること、及び
前記第2のフレームが前記ディスプレイに表示されるときに前記触覚出力デバイスが前記触覚効果を発生させるように前記触覚出力デバイスに前記触覚信号を出力すること
を行うように構成されるプロセッサと
を備える、デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、一般には触覚デバイスに関し、より一般にはカラー特徴及びモーション解析に基づく自動触覚生成に関する。
【背景技術】
【0002】
従来、機械式ボタンが電子デバイスのユーザに物理的な触感を提供してきた。しかしながら、電子デバイスのサイズが減少し、電子デバイスの携帯性が増してくると、電子デバイスの機械式ボタンの数が減少し、一部の電子デバイスは機械式ボタンを全く持っていない。ユーザに触覚効果を出力するために、このようなデバイスに触覚出力デバイスが含まれる場合がある。
【発明の概要】
【0003】
カラー特徴及びモーション解析に基づいて自動的に触覚を生成するためのデバイス、システム及び方法に関する様々な例が記載されている。
【0004】
開示された方法の一例は、複数のフレームを有する映像を受信するステップと、複数のフレームにおける第1のフレームに第1のカラーマスクを適用することにより第1のマスクフレームを生成するステップと、複数のフレームにおける第2のフレームに第2のカラーマスクを適用することにより第2のマスクフレームを生成するステップであって、第2のフレームは第1のフレームの後であるステップと、第1のマスクフレームと第2のマスクフレームとの間のイベントを検出するステップと、第1のマスクフレームと第2のマスクフレームとの間のオプティカルフローを推定するステップと、オプティカルフローに少なくとも部分的に基づいてイベントに対応する触覚効果を生成するステップと、触覚出力デバイスを介して触覚効果を発生させるステップとを含む。
【0005】
本開示の非一時的なコンピュータ可読媒体の一例は、プロセッサによって実行されるように構成される1つ以上のソフトウェアアプリケーションを含む。この例示では、1つ以上のソフトウェアアプリケーションは、複数のフレームを有する映像を受信すること、複数のフレームにおける第1のフレームに第1のカラーマスクを適用することにより第1のマスクフレームを生成すること、複数のフレームにおける第2のフレームに第2のカラーマスクを適用することにより第2のマスクフレームを生成することであって、第2のフレームは第1のフレームの後であること、第1のマスクフレームと第2のマスクフレームとの間のイベントを検出すること、第1のマスクフレームと第2のマスクフレームとの間のオプティカルフローを推定すること、オプティカルフローに少なくとも部分的に基づいてイベントに対応する触覚効果を生成すること、触覚出力デバイスを介して触覚効果を発生させることを行うように構成される。
【0006】
開示されたデバイスの一例は、ディスプレイと、触覚出力デバイスと、ディスプレイ及び触覚出力デバイスと通信するプロセッサとを含む。この例示では、プロセッサは、複数のフレームを有する映像を受信すること、複数のフレームにおける第1のフレームに第1のカラーマスクを適用することにより第1のマスクフレームを生成すること、複数のフレームにおける第2のフレームに第2のカラーマスクを適用することにより第2のマスクフレームを生成することであって、第2のフレームは第1のフレームの後であること、第1のマスクフレームと第2のマスクフレームとの間のイベントを検出すること、第1のマスクフレームと第2のマスクフレームとの間のオプティカルフローを推定すること、オプティカルフローに少なくとも部分的に基づいてイベントに対応する触覚効果を触覚出力デバイスに出力させるように構成される触覚信号を生成すること、第1のフレーム及び第2のフレームをディスプレイに出力すること、第2のフレームがディスプレイに表示されるときに触覚出力デバイスが触覚効果を発生させるように触覚出力デバイスに触覚信号を出力することを行うように構成される。
【0007】
こうした例示は、本開示の範囲を限定又は定義するために言及されるのではなく、その理解を支援するための例示を提供するものである。詳細な説明において例示が検討されており、そこには更なる説明が提供されている。様々な例によってもたらされる利点は、本明細書を吟味することにより更に理解され得る。
【図面の簡単な説明】
【0008】
本特許又は出願ファイルは、カラーで作成された少なくとも1つの図面を含む。カラー図面を有する本特許又は特許出願のコピーは、要求及び必要な手数料の支払いに応じて庁により提供されるであろう。
【0009】
本明細書に組み込まれてその一部を構成する添付の図面は、1つ以上の所定の例示を示しており、例示の説明と共に、所定の例示の原理及び実装を説明する役割を果たす。
図1A】一実施形態によるカラー特徴及びモーション解析に基づく触覚の自動生成に関する例示的なコンピュータデバイスを示す。
図1B】一実施形態によるカラー特徴及びモーション解析に基づく触覚の自動生成に関する例示的なコンピュータデバイスを示す。
図1C】一実施形態によるカラー特徴及びモーション解析に基づく触覚の自動生成に関する例示的なコンピュータデバイスを示す。
図2】一実施形態によるカラー特徴及びモーション解析に基づく触覚の自動生成に関する例示的なシステムを示す。
図3】一実施形態によるカラー特徴及びモーション解析に基づいて触覚を自動的に生成する例示的な方法を示す。
図4】一実施形態によるカラーマスクを適用する前(図4A)及びカラーマスクを適用した後(図4B)の例示的な映像フレームを示す。
図5】一実施形態による1つのマスクされた映像フレーム(図5A)と後続の連続的にマスクされた映像フレーム(図5B)との間のイベントの検出を示す。
図6A】一実施形態によるカメラの動き又はオブジェクトの動きに対応する推定オプティカルフローを示す。
図6B】一実施形態による爆発の推定オプティカルフローを示す。
図7A】一実施形態による大爆発の触覚の例を示す。
図7B】一実施形態による小爆発の触覚の例を示す。
図8】一実施形態によるカラー特徴及びモーション解析に基づいて触覚を自動的に生成する例示的な方法を示す。
【発明を実施するための形態】
【0010】
本明細書には、カラー特徴及びモーション解析に基づいて自動的に触覚を生成するためのデバイス、システム及び方法の文脈で例が記載されている。当業者であれば、以下の記載は例示目的であり、如何なる限定も意図していないことを理解するであろう。次に、添付の図面に示された例示的な実装を詳細に参照する。同じ参照記号が同じ又は同様の項目を参照するために図面及び以下の記載を通じて使用される。
【0011】
明確のため、本明細書に記載の例示の定型的な特徴の全てが示され且つ記載されているわけではない。勿論、このような実際の実装の開発において、アプリケーション及びビジネス関連の制約の遵守等の多くの実装固有の決定が開発者の特定の目的を達成するために行われなければならず、こうした特定の目的は実装ごとに又は開発者ごとに変化することが理解されるであろう。
【0012】
(カラー特徴及びモーション解析に基づく自動触覚生成の例示)
一例において、映像は、スマートフォン、ラップトップコンピュータ等のコンピュータデバイスによって受信され、複数のフレームを有し、こうしたフレームは映像内で起きる爆発に対応する。この例示では、映像は車の爆発を示している。コンピュータデバイスは、映像内で車の爆発等のイベントを検出して、イベントに対応する触覚効果を生成することができる。
【0013】
この例示では、カラーマスクは、受信映像における複数のフレームの各々に適用される。カラーマスクは、受信映像からイベントを検出するのに重要ではない情報を除去する。例えば、カラーマスクは、赤及びオレンジである映像フレームのエリアにおけるカラーを維持して、フレームの残りのエリアを黒く塗りつぶしてもよい。従って、カラーマスクは、特定のカラーではない映像フレーム内のピクセルを黒く塗りつぶすこと等によって隠すことができる。複数の実施形態では、カラーマスクは、特定のカラーのセット内に無い及び/又は特定のカラーの範囲内に無い映像フレームにおけるピクセルを隠す。例えば、車の爆発を示す映像の例では、カラーマスクは、爆発に対応するフレーム内のエリアを保持して、フレーム内の残りのピクセルエリアを黒く塗りつぶす。カラーマスクが受信映像内のフレームに適用された後で、マスクされたフレームは映像内のイベントを検出するために解析される。
【0014】
複数の実施形態では、カラーマスクを適用した後で、マスクされたフレーム内の黒くなっていない連続ピクセルが「候補ブロブ」と呼ばれるグループを形成する。例えば、2つの連続するマスクフレームが、第1のマスクフレームと隣接する第2のマスクフレームとの間の候補ブロブのサイズの変更に基づいて、爆発等のイベントを検出するために解析される。この例示では、候補ブロブのサイズが第1のマスクフレームから第2のマスクフレームへと大きくなる場合に、イベントの検出が起こる。他の例では、候補ブロブのサイズが第1のマスクフレームから第2のマスクフレームへと小さくなる場合に、イベントの検出が起こる。一部の例では、候補ブロブのサイズの変更が第1のフレームと第2のフレームとの間の特定の比率である場合に、イベントの検出が起こる。他の例では、第1のフレームと第2のフレームとの間の候補ブロブのサイズの変更が特定の比率よりも大きい場合に、イベントの検出が起こる。
【0015】
一実施形態よれば、検出されたイベントのオプティカルフローが推定される。例えば、第1のマスクフレームと隣接する第2のマスクフレームとの間で推定オプティカルフローが生成され得る。一部の例では、オプティカルフローは、候補ブロブにおけるピクセル特徴に関して推定される。例えば、オプティカルフローは、先に検討されたイベント検出に使用される候補ブロブにおけるピクセル特徴に関して推定され得る。推定オプティカルフローは、第1のマスクフレームと第2のマスクフレームとの間(従って、第1のマスクフレームに対応する第1のフレームと第2のマスクフレームに対応する第2のフレームとの間)の見掛けの動きの方向及び大きさを示す複数の運動ベクトルを有し得る。
【0016】
候補ブロブに対応する運動ベクトルは、運動ベクトルの方向に基づくイベントの誤検出が有ったかどうかを決定するために解析され得る。例えば、検出されたイベントが爆発であった場合、推定オプティカルフローは異なる方向にランダムに向く運動ベクトルを有すると期待される。従って、検出されたイベントが爆発に対応する場合、推定オプティカルフローにおける運動ベクトルはランダムに異なる方向を指し、誤検出が無かったことが決定され得る(即ち、映像は正確に検出された爆発を示している)。しかしながら、推定オプティカルフローにおける運動ベクトルが同じ方向又は実質的に同じ方向を集合的に指す場合(例えば、運動ベクトルの方向がランダムに異なる方向を指していない場合)、誤検出が有ったことが決定され得る(即ち、マスクされたフレームを解析したときに爆発が検出されたとしても映像は爆発を示していない)。
【0017】
この例示では、イベントの誤検出が無かった場合、触覚効果が生成され且つ出力される。映像内の車の爆発の例では、マスクされたフレームに関して生成された運動ベクトルは、ランダムに異なる方向を指し、これは爆発の突然の検出が誤検出ではなかったことを示す。この例示では、検出された爆発(即ち、検出されたイベント)に対応する触覚効果が生成される。例えば、推定オプティカルフローにおける運動ベクトルの少なくとも1つに対応する強度パラメータを有する触覚効果が生成され得る。この例示では、触覚効果は、検出された爆発に対応し且つ推定オプティカルフローにおける運動ベクトルに基づく強度を有する触覚効果を触覚出力デバイスに出力させるように構成される。従って、推定オプティカルフローにおける運動ベクトルが2つのマスクフレーム間の大きな動きを示す大きな大きさを有する場合、映像内で起こる大きな爆発を模倣するために触覚効果に対して大きな強度パラメータが決定され得る。同様に、推定オプティカルフローにおける運動ベクトルが2つのマスクフレーム間の小さな動きを示す小さな大きさを有する場合、映像内で起こる小さな爆発を模倣するために触覚効果に対して小さな強度パラメータが決定され得る。
【0018】
一部の例では、強度パラメータは、第1のフレームと第2のフレームとの間の候補ブロブのサイズの変化の比率に基づく。例えば、第1のマスクフレームに関する候補ブロブと第2のマスクフレームに関する候補ブロブとの間のより大きな比率は、第1のマスクフレームに関する候補ブロブと第2のマスクフレームに関する候補ブロブとの間の変化のサイズを模倣するためにより大きな強度パラメータをもたらし得る。
【0019】
複数の例において、映像内でイベントが起こると触覚出力デバイスが触覚効果を出力するように、生成された触覚効果を触覚出力デバイスに出力させるように構成される触覚信号が、映像が再生されると触覚出力デバイスに出力される。爆発する車の映像の例では、映像が再生されるときに、車が爆発するときに決定された強度パラメータを有する触覚効果を触覚出力デバイスに出力させるための触覚信号が触覚出力デバイスに送信され得る。一部の例では、生成された触覚効果は、触覚トラックに出力され及び/又は触覚ファイル内に記憶される。こうした例では、映像が再生されると、触覚トラック及び/又は触覚ファイルが取得されて、映像内でイベントが起こると触覚出力デバイスが触覚効果を出力するように、触覚出力デバイスに出力させるように構成される触覚信号を触覚出力デバイスに出力させる。一部の例では、生成された触覚効果は受信映像内に記憶される。
【0020】
この例示の実施形態は本明細書で検討される一般的な主題を読者に紹介するために与えられており、本開示はこの例示に限定されない。以下の段落では、カラー特徴及びモーション解析に基づいて自動的に触覚を生成するためのシステム及び方法の様々な追加の非限定的な例示が記載されている。
【0021】
図1A、1B及び1Cは、一実施形態によるカラー特徴及びモーション解析に基づく触覚の自動生成に関する例示的なコンピュータデバイス100を示す。図1Aはコンピュータデバイス100の前面を示し、図1Bはコンピュータデバイス100の背後を示し、図1Cはコンピュータデバイス100のコンポーネントを示す。
【0022】
コンピュータデバイス100は、例えば、デジタルカメラ、アクションカメラ、360度カメラ、スマートフォン、タブレット、Eリーダ、ラップトップコンピュータ、デスクトップコンピュータ、携帯型ゲームデバイス、医療デバイス、セットトップボックス(例えば、DVDプレーヤ、DVR、ケーブルテレビボックス)、又はゲームコントローラを含んでもよい。他の例では、コンピュータデバイス100は、多機能コントローラ、例えば、キオスク、自動車、アラームシステム、サーモスタット、又は他の種類の電子デバイスで使用されるコントローラを含んでもよい。一部の例では、コンピュータデバイス100は、腕時計、ブレスレット、ネックレス、ベルト、仮想現実(VR)ヘッドセット、ヘッドホン、手袋又はブーツ等のウェアラブルコンピュータデバイスを含んでもよい。コンピュータデバイス100は図1A−1Cにおいて単一のデバイスとして示されているが、他の例では、コンピュータデバイス100は、例えば、図2に示されるように複数のデバイスを含んでもよい。
【0023】
例示のコンピュータデバイス100は、バス106を介して他のハードウェアとインターフェース接続されるプロセッサ102を含む。RAM、ROM又はEEPROM等の任意の適切な有形の(及び非一時的な)コンピュータ可読媒体を含み得るメモリ104が、コンピュータデバイス100の動作を構成するプログラムコンポーネントを具現化してもよい。一部の例では、コンピュータデバイス100は、1つ以上のネットワークインターフェースデバイス110、入力/出力(I/O)インターフェースコンポーネント112、及び追加の記憶装置114を更に備えてもよい。
【0024】
ネットワークインターフェースデバイス110は、ネットワーク接続を容易にする1つ以上の任意のネットワークコンポーネントを表し得る。限定されないが、例示には、イーサネット(登録商標)、USB、IEEE1394等の有線インターフェース、及び/又はIEEE802.11、ブルートゥース(登録商標)等の無線インターフェース、又は携帯電話ネットワークにアクセスするための無線インターフェース(例えば、CDMA、GSM(登録商標)、UMTS又は他の移動通信ネットワーク)が含まれる。
【0025】
I/Oコンポーネント112は、1つ以上のディスプレイ、キーボード、カメラ、マウス、スピーカ、マイクロホン、ボタン、ジョイスティック、及び/又はデータの入力又は出力に使用される他のハードウェア等のデバイスへの接続を容易にするために使用されてもよい。追加の記憶装置114は、読み取り専用メモリ、フラッシュメモリ、ランダム・アクセス・メモリ(RAM)、強誘電性RAM(F−RAM)、磁気、光学、又はコンピュータデバイス100に含まれ若しくはプロセッサ102に結合される他の記憶媒体等の不揮発性記憶装置を表す。
【0026】
コンピュータデバイス100は、タッチセンサ面116を有する。図1Cに示される例では、タッチセンサ面116は、コンピュータデバイス100に統合される。他の例では、コンピュータデバイス100は、タッチセンサ面116を含まなくてもよい。タッチセンサ面116は、ユーザの触覚入力を感知するように構成される任意の表面を表す。一部の例では、タッチセンサ面116は、丸め可能、折り曲げ可能、折り畳み可能、伸縮可能、捻り可能、絞り可能、又はそれ以外の変形が可能であってもよい。例えば、タッチセンサ面116は、折り曲げ可能電子ペーパー又はタッチセンサ式ディスプレイデバイスを含んでもよい。
【0027】
1つ以上のタッチセンサ108は、一部の例では、物体がタッチセンサ面116に接触する場合に接触領域における接触を検出して、プロセッサ102によって使用される適切なデータを提供するように構成される。任意の適切な数、タイプ、又は配置のセンサが使用され得る。例えば、抵抗性及び/又は容量性のセンサが、タッチセンサ面116に組み込まれて、タッチの場所及び圧力、速さ、及び/又は方向等の他の情報を検出するために使用されてもよい。別の例示として、タッチ位置を決定するために、タッチセンサ面116のビューを備える光学センサが使用されてもよい。
【0028】
他の例では、タッチセンサ108は、LED(Light Emitting Diode)検出器を含んでもよい。例えば、一部の例では、タッチセンサ面116は、ディスプレイの側部に取り付けられるLED指検出器を含んでもよい。一部の例では、プロセッサ102は、単一のタッチセンサ108と通信する。他の例では、プロセッサ102は複数のタッチセンサ108、例えば、第1のタッチスクリーン及び第2のタッチスクリーンに関係付けられるタッチセンサと通信する。タッチセンサ108は、ユーザ相互作用を検出し、ユーザ相互作用に基づいて、プロセッサ102に信号を送信するように構成される。一部の例では、タッチセンサ108は、ユーザ相互作用の複数の態様を検出するように構成されてもよい。例えば、タッチセンサ108は、ユーザ相互作用の速度及び圧力を検出して、この情報を信号に組み込んでもよい。
【0029】
一部の例では、コンピュータデバイス100は、タッチセンサ面116及びディスプレイを組み合わせたタッチ可能ディスプレイを含んでもよい。タッチセンサ面116は、ディスプレイ外部又はディスプレイのコンポーネント上の1つ以上の材料レイヤに対応してもよい。他の例では、コンピュータデバイス100の特定の構成によっては、タッチセンサ面116はディスプレイを含まなくてもよい(そうでない場合、ディスプレイに対応する)。
【0030】
コンピュータデバイス100は、1つ以上の追加のセンサ130も備える。(複数の)センサ130は、プロセッサ102にセンサ信号を送信するように構成される。一部の例では、(複数の)センサ130は、例えば、カメラ、湿度センサ、周辺光センサ、ジャイロスコープ、GPS装置、加速度計、距離センサ又は深度センサ、バイオリズムセンサ、又は温度センサを含んでもよい。図1Cに示された例ではセンサ130がコンピュータデバイス100の内部に有るように描かれているが、一部の例では、センサ130はコンピュータデバイス100の外部に有ってもよい。例えば、一部の例では、1つ以上のセンサ130が、ゲームシステムを含むコンピュータデバイス100で使用されるゲームコントローラに関係付けられてもよい。一部の例では、プロセッサ102は単一のセンサ130と通信し、他の例では、プロセッサ102は複数のセンサ130、例えば、温度センサ及び湿度センサと通信してもよい。一部の例では、センサ130は、コンピュータデバイス100から遠隔に有るが、例えば、図2に示されるように、プロセッサ102に通信可能に結合されてもよい。
【0031】
コンピュータデバイス100は、プロセッサ102と通信する触覚出力デバイス118を更に含む。触覚出力デバイス118は、触覚信号に応答して触覚効果を出力するように構成される。一部の例では、触覚出力デバイス118は、例えば、振動、知覚される摩擦係数の変化、シミュレートされるテクスチャ、温度の変化、ストロークの感覚、電気触覚効果、又は表面変形(例えば、コンピュータデバイス100に関係付けられる表面の変形)を含む触覚効果を出力するように構成される。本明細書には単一の触覚出力デバイス118が示されているが、一部の例では、触覚効果を生ずるために連続して又は同時に作動され得る同じ又は異なるタイプの複数の触覚出力デバイス118を含んでもよい。
【0032】
図1Cに示される例では、触覚出力デバイス118は、コンピュータデバイス100の内部に有る。他の例では、触覚出力デバイス118は、コンピュータデバイス100から遠隔に有るが、例えば、図2に示されるように、プロセッサ102に通信可能に結合されてもよい。例えば、触覚出力デバイス118は、コンピュータデバイス100の外部に有り、イーサネット、USB、IEEE1394等の有線インターフェース、及び/又はIEEE802.11、ブルートゥース、又はラジオインターフェース等の無線インターフェースを介してコンピュータデバイス100と通信してもよい。
【0033】
一部の例では、触覚出力デバイス118は、振動を含む触覚効果を出力するように構成されてもよい。一部のこのような例では、触覚出力デバイス118は、圧電アクチュエータ、電気モータ、電磁アクチュエータ、音声コイル、形状記憶合金、電気活性ポリマー、ソレノイド、偏心回転質量モータ(ERM)又は線形共振アクチュエータ(LRA)の1つ以上を含んでもよい。
【0034】
一部の例では、触覚出力デバイス118は、例えば、触覚信号に応じてコンピュータデバイス100の表面に沿って知覚される摩擦係数を調節する触覚効果を出力するように構成されてもよい。一部のこのような例では、触覚出力デバイス118は、超音波アクチュエータを含んでもよい。超音波アクチュエータは、圧電材料を含んでもよい。超音波アクチュエータは、所定の超音波周波数、例えば、20kHzで振動して、タッチセンサ面116の表面において知覚される係数を増加又は減少してもよい。
【0035】
一部の例では、触覚出力デバイス118は、静電力を使用して、例えば、静電アクチュエータを使用することによって、触覚効果を出力してもよい。触覚効果は、シミュレートされるテクスチャ、シミュレートされる振動、ストロークの感覚、又はコンピュータデバイス100に関係付けられる表面(タッチセンサ面116)において知覚される摩擦係数の変化を含んでもよい。一部の例では、静電アクチュエータは、導電レイヤ及び絶縁レイヤを含んでもよい。導電レイヤは、任意の半導体又は銅、アルミニウム、金又は銀等の他の導電性材料であってもよい。絶縁レイヤは、ガラス、プラスチック、ポリマー、又は任意の他の絶縁性材料であってもよい。更に、プロセッサ102は、導電レイヤに電気信号、例えば、AC信号を加えることにより静電アクチュエータを動作させてもよい。一部の例では、高電圧増幅器がAC信号を生成してもよい。電気信号は、導電レイヤと触覚出力デバイス118に近接する又はタッチするオブジェクト(例えば、ユーザの指又はスタイラス)との間に容量結合を生成してもよい。一部の例では、オブジェクトと導電レイヤとの間の引力レベルの変化は、ユーザによって知覚される触覚効果を変化させることができる。
【0036】
また、コンピュータデバイス100は前面カメラ134も含む。例えば、図1Aに示された前面カメラ134は、ユーザによってコンピュータデバイス100が使用されるときに、コンピュータデバイス100のユーザの方に向く又は面する。前面カメラ134は、映像信号をプロセッサ102に伝達するように構成される。例えば、前面カメラ134は、毎秒24フレームを有する映像信号をプロセッサ102に送ってもよい。他の実施形態では、前面カメラ134は、毎秒25,30,48,50,60,72,90,100,120,144,240,又は300フレームのフレームレートを有する映像信号をプロセッサ102に送る。一実施形態では、前面カメラ134は、毎秒24から300の間のフレームを有する映像信号をプロセッサ102に送ってもよい。一部の例では、プロセッサ102は、バス106を介して前面カメラ134と通信する。一例では、前面カメラ134は、主観映像等の映像を記録するために使用可能であり、映像は、メモリ104又は記憶装置114に記憶され得る。一部の例では、前面カメラ134は、ネットワーク110を介して別のコンピュータデバイスにストリーミングされる、主観映像等の映像をキャプチャするために使用され得る。
【0037】
また、コンピュータデバイス100は後面カメラ140も含む。例えば、図1Bに示された後面カメラ140は、ユーザによってコンピュータデバイス100が使用されるときに、コンピュータデバイス100のユーザから離れた方に向く又は面する。後面カメラ140は、映像信号をプロセッサ102に伝達するように構成される。例えば、後面カメラ140は、毎秒24フレームを有する映像信号をプロセッサ102に送ってもよい。他の実施形態では、後面カメラ140は、毎秒25,30,48,50,60,72,90,100,120,144,240,又は300フレームを有する映像信号をプロセッサ102に送る。一実施形態では、後面カメラ140は、毎秒24から300の間のフレームを有する映像信号をプロセッサ102に送る。一部の例では、プロセッサ102は、バス106を介して後面カメラ140と通信する。一例では、後面カメラ140は、主観映像等の映像を記録するために使用可能であり、映像は、メモリ104又は記憶装置114に記憶され得る。一部の例では、後面カメラ140は、ネットワーク110を介して別のコンピュータデバイスにストリーミングされる、主観映像等の映像をキャプチャするために使用され得る。
【0038】
また、コンピュータデバイス100はメモリ104も含む。メモリ104は、プログラムコンポーネント123、124、126及び128を含み、これらはカラー特徴及びモーション解析に基づいて自動的に触覚を生成するために一部の例では、デバイスがどのように構成され得るかを示すように描かれている。
【0039】
マスクアプリケーションモジュール123は、映像に対して1つ以上のマスクフレームを生成するようにプロセッサ102を構成する。例えば、マスクアプリケーションモジュール123は、映像内の映像フレームごとにマスクフレームを生成する際にカラーマスクを使用し得る。一実施形態では、カラーマスクを使用するマスクアプリケーションモジュール123は、解析されている映像フレームに対して新しいレイヤを作成する。この例示では、新しいレイヤは最初は透明である。マスクアプリケーションモジュール123は、映像フレーム内の各ピクセルを解析する。映像フレーム内の特定のピクセルが特定のカラーを有する場合、新しいレイヤ内の対応するピクセルは変更されず、透明のままにされる。しかしながら、映像フレーム内の特定のピクセルが特定のカラーではない場合、新しいレイヤ内の対応するピクセルは映像フレーム内のそのピクセルを隠すために黒く塗りつぶされるように変更される。
【0040】
他の例では、(RGB、HSV等の任意の表色系を使用する)カラーの範囲内に有る映像フレームにおけるピクセルは、マスクされないままであり、映像フレームにおける他のピクセル(例えば、カラーの範囲内に無いピクセル)はマスクされる。例えば、カラーの範囲は、ピクセルのカラー成分の値に条件を付けることで設定され得る。例えば、RGB系では、マスクされないままのカラーの範囲は、125<R<255及び/又はB<45及び/又はG>79で全てのピクセルに設定され得る。他の例では、マスクされるカラーの範囲が設定され得る。
【0041】
一部の例では、マスクアプリケーションモジュール123は、映像内のフレームごとにマスクフレームを生成する。他の例では、マスクアプリケーションモジュール123は、映像内のフレームの全てではなく一部に対してマスクフレームを生成する。例えば、マスクアプリケーションモジュール123は、映像のフレームレートに基づいて映像のフレームの一部に対するマスクフレームを生成し得る。一実施形態では、マスクアプリケーションモジュール123は、フレームレートの約10パーセントにマスクフレームを生成する。従って、映像が毎秒30フレームのフレームレートを有する場合、マスクアプリケーションモジュール123は、映像内の3番目のフレームごとにマスクされたフレームを生成する。他の例では、マスクアプリケーションモジュール123は、フレームレートの5パーセントから80パーセントにマスクフレームを生成する。
【0042】
複数の例において、マスクアプリケーションモジュール123は、映像内のイベントの検出に重要ではない情報を除去するマスクフレームを生成するように構成される。例えば、マスクアプリケーションモジュール123が映像内で爆発が起こるかどうかを決定するためにマスクフレームを生成している場合、マスクアプリケーションモジュール123は、フレーム内のオレンジ及び赤はそのままにしておいて映像の他のエリアを黒く塗りつぶすマスクフレームを生成するために映像内の映像フレームにカラーマスクを適用し得る。
【0043】
マスクアプリケーションモジュール123は、様々なソースから多くのフレームを有する映像を受信することができる。例えば、マスクアプリケーションモジュール123は、前面カメラ134、後面カメラ140、又はI/O112からリアルタイム映像を受信することができる。一例では、マスクアプリケーションモジュール123は、メモリ104、記憶装置114、又はI/O112に記憶された映像を受信することができる。一部の例では、マスクアプリケーションモジュール123は、ネットワーク110を介してストリーミング映像を受信することができる。
【0044】
複数の例において、マスクアプリケーションモジュール123は、図3のブロック320及び/又は図8のブロック820等に関して、本明細書に記載の映像におけるフレーム間の動きを検出するようにプロセッサ102を構成する。マスクアプリケーションモジュール123はメモリ104内のプログラムコンポーネントとして図1Cに描かれているが、一部の例では、マスクアプリケーションモジュール123は、マスクフレームを生成するように構成されるハードウェアを含んでもよい。一部の例では、このようなハードウェアは、アナログ・デジタル変換器、プロセッサ、マイクロコントローラ、比較器、増幅器、トランジスタ、及び他のアナログ又はデジタル回路を含んでもよい。
【0045】
イベント検出モジュール124は、映像内のフレーム間の動きを検出するようにプロセッサ102を構成する。例えば、イベント検出モジュール124は、映像における連続フレーム間のイベントを検出することができる。この例示では、イベント検出モジュール124は、イベントが有るかどうかを決定するためにマスクアプリケーションモジュール123によって生成されるマスクフレームを解析することができる。複数の例において、イベント検出モジュール124は、図3のブロック330及び/又は図8のブロック820及び/又は830等に関して、本明細書に記載の映像におけるフレーム間の動きを検出するようにプロセッサ102を構成する。イベント検出モジュール124はメモリ104内のプログラムコンポーネントとして図1Cに描かれているが、一部の例では、イベント検出モジュール124は、動きを検出するように構成されるハードウェアを含んでもよい。一部の例では、このようなハードウェアは、アナログ・デジタル変換器、プロセッサ、マイクロコントローラ、比較器、増幅器、トランジスタ、及び他のアナログ又はデジタル回路を含んでもよい。
【0046】
オプティカルフロー推定モジュール126は、フレーム間のオプティカルフローを推定するようにプロセッサ102を構成する。例えば、オプティカルフロー推定モジュール126は、マスクアプリケーションモジュール123によって生成される2つのマスクフレーム間のオプティカルフロー推定を生成することができる。オプティカルフロー推定モジュール126は、映像内の(マスクされている又はマスクされていない)2つの連続した映像フレーム間のオプティカルフロー推定を生成することができる。複数の例において、オプティカルフロー推定モジュール126は、2つの映像フレーム間の動きの方向及び大きさを示す運動ベクトルを生成する。運動ベクトルは、映像の映像フレーム内の各ピクセルに対応し得る。映像フレームは、マスクアプリケーションモジュール123によって生成されるマスク映像フレームであるか又は受信映像からの対応映像フレームであり得る。
【0047】
オプティカルフロー推定モジュール126は、映像内の2つ以上のフレームの少なくとも一部の間のオプティカルフローを推定するようにプロセッサ102を構成してもよい。例えば、複数の実施形態では、映像における2つ以上の映像フレームの少なくとも一部の間のオプティカルフローを推定するために、オプティカルフロー推定モジュール126は、例えば、位相相関法、ブロックベースの方法、Lucas−Kanade法、Horn−Schunck法、Buxton−Buxton、Black−Jepson法、別の適切な微分法、最大フロー・最小カットに基づくアルゴリズム、離散最適化法等のアルゴリズムを実装する。
【0048】
オプティカルフロー推定モジュール126は、様々なソースから多くのフレームを有する映像を受信することができる。例えば、オプティカルフロー推定モジュール126は、マスクアプリケーションモジュール123及び/又はイベント検出モジュール124から映像に対するマスクフレームを受信し得る。一部の例では、オプティカルフロー推定モジュール126は、前面カメラ134、後面カメラ140、又はI/O112からリアルタイム映像を受信することができる。一例では、オプティカルフロー推定モジュール126は、メモリ104、記憶装置114、又はI/O112に記憶された映像を受信することができる。一部の例では、オプティカルフロー推定モジュール126は、ネットワーク110を介してストリーミング映像を受信することができる。こうした例において、マスクアプリケーションモジュール123及び/又はイベント検出モジュール124は、受信映像における所定のフレームに対するオプティカルフローを推定するようにオプティカルフロー推定モジュール126に指示し得る。例えば、イベント検出モジュール124は、イベント検出モジュール124がイベントを検出した2つのフレーム間のオプティカルフローを推定するようにオプティカルフロー推定モジュール126に指示してもよい。
【0049】
複数の例において、オプティカルフロー推定モジュール126は、図3のブロック340及び/又は図8のブロック830等に関して、本明細書に記載の映像におけるフレーム間のオプティカルフローを推定するようにプロセッサ102を構成する。オプティカルフロー推定モジュール126はメモリ104内のプログラムコンポーネントとして図1Cに描かれているが、一部の例では、オプティカルフロー推定モジュール126は、推定オプティカルフローを生成するように構成されるハードウェアを含んでもよい。一部の例では、このようなハードウェアは、アナログ・デジタル変換器、プロセッサ、マイクロコントローラ、比較器、増幅器、トランジスタ、及び他のアナログ又はデジタル回路を含んでもよい。
【0050】
効果生成モジュール128は、映像に対する触覚効果を生成するようにプロセッサ102を構成する。例えば、効果生成モジュール128は、映像における連続フレーム間のイベントに基づいて触覚効果を生成することができる。この例示では、効果生成モジュール128は、イベント検出モジュール124によって検出された連続フレーム間のイベントに基づいて触覚効果に関する1つ以上のパラメータを決定することができる。例えば、イベント検出モジュール124が映像の2つの連続フレーム間に突然のイベントを検出する場合、効果生成モジュール128は、オプティカルフロー推定モジュール126によって生成される推定オプティカルフローにおける運動ベクトルの平均の大きさと一致する触覚効果に関するパラメータを決定することができる。この例示では、効果生成モジュール128は、より大きな平均の大きさによってより大きな強度触覚パラメータがもたらされるように、運動ベクトルの平均の大きさに対応する強度触覚パラメータを決定することができる。他の例では、強度パラメータは、2つのフレーム間の候補ブロブのサイズの変化の比率に基づく。複数の実施形態では、より大きな触覚強度パラメータが、一実施形態によればより小さな触覚強度パラメータよりも大きな力で触覚効果を触覚出力デバイスに出力させるように構成される。
【0051】
効果生成モジュール128は、様々なやり方で生成された触覚効果を出力することができる。例えば、効果生成モジュール128は、映像が再生されるときに生成された触覚効果を触覚出力デバイス118に出力することができる。この例示では、生成された触覚効果は、触覚効果が映像と同期されるように触覚出力デバイス118に出力される。例えば、イベント検出モジュール124がイベントを検出する場合、効果生成モジュール128は、映像内でイベントが発生するのと同時又は実質的に同時に触覚効果が出力されるように、触覚出力デバイス118に触覚効果信号を送信することができる。
【0052】
別の例示として、効果生成モジュール128は、映像内に埋め込まれる触覚トラックを生成することができる。この例示では、効果生成モジュール128は、マスクアプリケーションモジュール123、イベント検出モジュール124、及び/又はオプティカルフロー推定モジュール126によって受信された映像に触覚トラックを埋め込むことができる。触覚トラックを含む映像は、メモリ104、記憶装置114及び/又はI/O112に記憶され得る。触覚トラックを含む映像は、ネットワーク110を介して別のコンピュータデバイスに送られ得る。こうした例では、映像が再生されると、オプティカルフロー推定モジュール123によって推定されるオプティカルフロー及び/又はマスクアプリケーションモジュール123によって生成されるマスクフレームからイベント検出モジュールによって検出されるイベント、及び効果生成モジュール128によって生成される触覚効果に基づいて、映像におけるイベントに対応する触覚効果が出力される。
【0053】
一部の例では、効果生成モジュール128は、別のファイルに生成された触覚効果を記憶することができるか、さもなければ映像を再エンコードせずに映像に追加され得る。例えば、効果生成モジュール128は、生成された触覚効果を有する触覚トラックを生成して、HAPTファイルフォーマットを有するファイル等の触覚ファイルに触覚トラックを記憶することができる。この例示では、効果生成モジュール128は、メモリ104、記憶装置114、及び/又はI/O112に触覚トラックを記憶することができる。触覚ファイルは、ネットワーク110を介して別のコンピュータデバイスに送られ得る。こうした例では、映像が再生されると、メモリ104、記憶装置114、I/O112から、及び/又はネットワーク110を介してビデオに対応する触覚ファイルが取得され、効果生成モジュール128によって生成された触覚ファイル内で指定された触覚効果であって映像内のイベントに対応するものが出力される。この例示では、触覚ファイルで指定された触覚効果は、オプティカルフロー推定モジュール123によって推定されるオプティカルフロー及び/又はマスクアプリケーションモジュール123によって生成されるマスクフレームからイベント検出モジュールによって検出されるイベント、及び効果生成モジュール128によって生成される触覚効果に対応する。
【0054】
複数の例において、効果生成モジュール128は、図3のブロック360及び/又は図8のブロック840及び950等に関して、本明細書に記載の映像に対応する触覚効果を生成するようにプロセッサ102を構成する。効果生成モジュール128はメモリ104内のプログラムコンポーネントとして図1Cに描かれているが、一部の例では、効果生成モジュール128は、触覚効果を生成するように構成されるハードウェアを含んでもよい。一部の例では、このようなハードウェアは、アナログ・デジタル変換器、プロセッサ、マイクロコントローラ、比較器、増幅器、トランジスタ、触覚出力デバイス及び他のアナログ又はデジタル回路を含んでもよい。
【0055】
次に図2を参照すると、この図は、一実施形態によるカラー特徴及びモーション解析に基づく触覚の自動生成に関する例示的なシステムを示すブロック図である。システム200は、コンピュータシステム236を含む。一部の実施形態では、コンピュータシステム236は、例えば、デジタルカメラ、アクションカメラ、360度カメラ、スマートフォン、タブレット、Eリーダ、ラップトップコンピュータ、デスクトップコンピュータ、携帯型ゲームデバイス、医療デバイス、セットトップボックス(例えば、DVDプレーヤ、DVR、ケーブルテレビボックス)、又はゲームコントローラを含んでもよい。
【0056】
コンピュータシステム236は、バス206を介して他のハードウェアと通信するプロセッサ202を含む。また、コンピュータシステム236は、マスクアプリケーションモジュール223、イベント検出モジュール224、オプティカルフロー推定モジュール226、及び効果生成モジュール228を含むメモリ204も備える。こうしたコンポーネントは、それぞれ図1Cに描かれたメモリ104、マスクアプリケーションモジュール123、イベント検出モジュール124、オプティカルフロー推定モジュール126、及び効果生成モジュール128と同様に機能するように構成されてもよい。
【0057】
また、コンピュータシステム236は、ネットワークインターフェースデバイス210、I/Oコンポーネント212、記憶装置214、センサ231、及び触覚出力デバイス222も備える。こうしたコンポーネントは、それぞれ図1Cに描かれたネットワークインターフェースデバイス110、I/Oコンポーネント112、記憶装置114、センサ130、及び触覚出力デバイス118と同様に機能するように構成されてもよい。
【0058】
更に、コンピュータシステム236はディスプレイ234も備える。一部の実施形態では、ディスプレイ234は、別個のコンポーネント、例えば、有線又は無線接続を介してプロセッサ202に結合されるリモートモニタ、テレビ、又はプロジェクタを含んでもよい。
【0059】
コンピュータシステム236は、コンピュータデバイス200に通信可能に結合される。一部の実施形態では、コンピュータシステム200は、例えば、デジタルカメラ、アクションカメラ、360度カメラ、スマートフォン、タブレット、Eリーダ、ラップトップコンピュータ、デスクトップコンピュータ、携帯型ゲームデバイス、医療デバイス、セットトップボックス(例えば、DVDプレーヤ、DVR、ケーブルテレビボックス)、又はゲームコントローラを含んでもよい。
【0060】
コンピュータデバイス200は、プロセッサ203、メモリ205、マスクアプリケーションモジュール223(図示せず)、イベント検出モジュール224(図示せず)、オプティカルフロー推定モジュール226(図示せず)、及び効果生成モジュール228(図示せず)を含んでもよい。また、コンピュータデバイス200は、ネットワークインターフェースデバイス245を含んでもよい。プロセッサ203、メモリ205、マスクアプリケーションモジュール223、イベント検出モジュール224、オプティカルフロー推定モジュール224、及び効果生成モジュール228、及びネットワークインターフェース245は、それぞれ図1Cに描かれているプロセッサ102、メモリ204、マスクアプリケーションモジュール123、オプティカルフロー推定モジュール124、イベント検出モジュール126、効果生成モジュール128、及びネットワークインターフェース110と同様に機能するように構成されてもよい。図2に示された例では、コンピュータデバイス200はネットワークインターフェースデバイス245を備え、且つIEEE802.11、ブルートゥース、又は無線インターフェース(例えば、CDMA、GSM、UMTS、又は他の移動通信ネットワークにアクセスするためのトランシーバ/アンテナ)等の無線インターフェースを介してコンピュータシステム236と通信する。
【0061】
コンピュータデバイス200はI/Oコンポーネント213を含み、これは図1Cに描かれたI/Oコンポーネント112と同様に機能するように構成されてもよい。また、コンピュータデバイス200は、I/Oコンポーネント213と通信するユーザ入力デバイス238も含む。ユーザ入力デバイス238は、コンピュータデバイス200とのユーザ相互作用を可能にするためのデバイスを含む。例えば、ユーザ入力デバイス238は、ジョイスティック、方向パッド、ボタン、スイッチ、スピーカ、マイクロホン、タッチセンサ面、及び/又はデータの入力に使用される他のハードウェアを含んでもよい。
【0062】
コンピュータデバイス200は、1つ以上のセンサ230、前面カメラ234、後面カメラ240、及び触覚出力デバイス218を更に含む。こうしたコンポーネントは、それぞれ図1Cに描かれたセンサ130、前面カメラ134、後面カメラ140及び触覚出力デバイス118と同様に機能するように構成されてもよい。
【0063】
次に図3を参照すると、図3は一実施形態によるカラー特徴及びモーション解析に基づいて触覚を自動的に生成する例示的な方法300を示す。この例示では、方法300は、映像をキャプチャするために使用されるカメラのモーションを決定して、モーションに基づいて自動的に触覚を生成することができる。図1A、1B、1C及び/又は図2が参照されるが、本開示による任意の適切なデバイスが様々な実施形態によるカラー特徴及びモーション解析に基づいて触覚を自動的に生成するために利用されてもよい。
【0064】
方法300はブロック310で開始し、映像が受信される。一例では、映像は、後面カメラ140からプロセッサ102によって受信される。映像は、主観映像であってもよい。一部の例では、映像はリアルタイム映像であり、他の例では、映像は、メモリ104、記憶装置114、又はI/Oコンポーネント112に記憶される事前記録映像ファイルであり、プロセッサ102によって受信される。一実施形態では、映像は、コンピュータデバイス200からコンピュータシステム236にストリーミングされる。別の実施形態では、事前記録映像ファイルがコンピュータデバイス200からコンピュータシステム236にダウンロードされる。こうした例では、コンピュータシステム236におけるプロセッサ202は、ネットワーク245及び210を介してコンピュータデバイス200から映像を受信し得る。映像は複数のフレームを有し得る。例えば、映像は、毎秒25,30,48,50,60,72,90,100,120,144,240,又は300フレームのフレームレートを有してもよい。複数の実施形態では、映像は、毎秒24から300の間のフレームを有する。
【0065】
ブロック320において、カラーマスクが映像内の受信映像の一部又は全てに適用される。複数の例において、映像を受信するプロセッサは、受信映像内の受信映像フレームの一部又は全てに1つ以上のカラーマスクを適用するように構成される。例えば、図1Cにおけるプロセッサ102は、マスクアプリケーションモジュール123によって、受信映像内の受信映像フレームの一部又は全てに1つ以上のカラーマスクを適用するように構成され得る。別の例示として、プロセッサ202及び/又はプロセッサ203は、マスクアプリケーションモジュール223によって、受信映像内の受信映像フレームの一部又は全てに1つ以上のカラーマスクを適用するように構成され得る。
【0066】
1つ以上のカラーマスクは、2つのフレームに対応するマスクフレームが、2つのフレームに対応するマスクフレームを生成するために映像内の2つのフレームに適用され得る。例えば、カラーマスクは、第1のマスク映像フレームを生成するように映像内の1つのフレームに適用され、同じ又は異なるカラーマスクが第2のマスク映像フレームを生成するように次の隣接映像フレーム(即ち、連続映像フレーム)に適用され得る。一部の例では、カラーマスクは、受信映像における2つの不連続フレームに適用される。例えば、第1のマスクフレームを生成するようにカラーマスクが適用される1つのフレームが、第2のマスクフレームを生成するように同じカラーマスク又は別のカラーマスクが適用される別のフレームから少なくとも1つのフレームによって分離されてもよい。複数の実施形態では、映像フレーム内のノイズを減らすためにマスクを適用する前に映像フレームにフィルタが適用される。複数の実施形態では、マスクフレーム内のノイズを減らすために生成されたマスクフレームにフィルタが適用される。
【0067】
一部の例では、映像のフレームレートに少なくとも部分的に基づいてカラーマスクを適用するべきフレームが選択される。例えば、カラーマスクを適用することによってマスクフレームを生成する際に使用される映像内の2つのフレーム間のフレームの数は、映像のフレームレートの約10パーセントであり得る。従って、映像が毎秒30フレームのフレームレートを有する場合、マスクフレームを生成するために1つ以上のカラーマスクが適用される映像内の2つのフレーム間に3つのフレームが有ってもよい。他の例では、マスクされたフレームを生成するために使用される映像内の2つのフレーム間のフレームの数は、映像のフレームレートの5パーセントから75パーセントの間であり得る。
【0068】
複数の例において、カラーマスクは、映像内のイベントを検出するのに重要ではない映像フレーム内の画像データを隠す又は除去するように構成される。例えば、図4Aはカラーマスクを適用する前の例示的な映像フレーム400を示しており、図4Bは映像にカラーマスクを適用することにより生成された例示的な映像フレーム450を示している。図4Aにおける映像フレーム400は、建物が爆発しているシーンを示している。カラーマスクが図4Aに適用される前に、映像フレーム400は、建物410、空420、及び爆発430を示している。この例示では、カラーマスクが、赤又はオレンジのカラーを有する映像フレーム400のエリアを維持して、残りのエリアを黒く塗りつぶすように構成される。図4Bに示されたマスク映像フレーム450において、このカラーマスクは図4Aに示された映像フレーム400に適用されている。図4Bに見て取れるように、マスクされた映像フレーム450は、(エリア470で示されるように)オレンジ又は赤のカラーに対応する映像フレームのエリアを維持して、(黒く塗りつぶされたエリア460で示されるように)オレンジ又は赤のカラーに対応しない映像フレームの他のエリアを黒く塗りつぶしている。この例示では、マスクされた映像フレーム450におけるエリア470は、映像内で起こる爆発に対応する。
【0069】
ブロック330において、映像内のイベントが決定される。複数の例において、プロセッサは、イベント検出モジュールによって、マスクアプリケーションモジュールによって生成される1つ以上のマスクフレームに少なくとも部分的に基づいて、映像内の1つ以上のイベントを決定するように構成される。一部の例では、プロセッサは、イベント検出モジュールによって、オプティカルフロー推定モジュールによって推定されたオプティカルフローに少なくとも部分的に基づいて、映像内の1つ以上のイベントを決定するように構成される。こうした例において、推定オプティカルフローは、ブロック330に関して以下に検討されるようにイベントを検出する前に、ブロック340に関して以下に検討されるように生成される。複数の実施形態では、図1Cにおけるプロセッサ102は、イベント検出モジュール124によって、映像内のイベントを決定するように構成され得る。別の例示として、プロセッサ202及び/又はプロセッサ203は、イベント検出モジュール224によって、映像内のイベントを決定するように構成され得る。複数の実施形態では、イベントは、映像内の連続フレーム間の拡大、縮小、回転、衝突、揺動等のモーションである。一部の実施形態では、イベントは、映像内の近接フレーム間の、又は短期間(例えば、0.002秒から0.3秒の間)にわたる映像内の複数のフレームにわたる拡大、縮小、回転、衝突、揺動等のモーションである。
【0070】
複数の例において、第1のフレームと、第2のフレームとの間でイベントが検出され、第2のフレームは第1のフレームと連続していてもよい。イベントは、第1のフレームと第2のフレームとの間のブロブのサイズ(例えば、マスクされていないピクセルの数)の変化に基づいて検出されてもよい。爆発イベント等の一部の例では、ブロブのサイズは第1のフレームと第2のフレームとの間で拡大され、この拡大はイベントの発生を決定するために使用される。他の例では、ブロブのサイズは第1のフレームと第2のフレームとの間で縮小されてもよく、これはイベントの発生を決定するために使用される。複数の例において、イベントは、第1のフレームと第2のフレームとの間のブロブのサイズによって反映されるイベントに関するシグネチャに基づいて検出される。
【0071】
一部の実施形態では、映像内のイベントはマスクされたフレームに基づいて決定される。例えば、受信映像内の1つの映像フレームに対応する第1のマスクフレーム及び受信映像内の次の隣接映像フレームに対応する第2のマスクフレームが、イベントが発生するかどうかを決定するために解析され得る。他の例では、受信映像内の第1の映像フレームに対応する第1のマスクフレーム及び第1の映像フレームに隣接していない映像フレームに対応する第2のマスクフレームが、イベントが発生するかどうかを決定するために解析される。一部の例では、イベントが発生するかどうかを決定するために一連のマスクフレームが解析される。
【0072】
映像内のイベントは、第1のマスクフレームにおいて黒く塗りつぶされたエリアの量と第2のマスクフレームにおいて黒く塗りつぶされたエリアの量との比較に基づいて決定され得る。これとは逆に、イベントは、第1のマスクフレームにおけるカラーの量と第2のマスクフレームにおけるカラーの量との比較に基づいて決定されてもよい。
【0073】
例えば、図5Aは、カラーマスクが適用された受信映像内の第1の映像フレームに対応する第1のマスク映像フレーム500を示す。図5Bは、カラーマスクが適用された受信映像内の第2の映像フレームに対応する第2のマスク映像フレーム550を示す。この例示では、第2のフレームは、第1のフレームの後の連続映像フレームである。従って、第1のマスク映像フレーム500は受信映像内の映像フレームに対応し、第2のマスク映像フレーム550は受信映像内の隣接映像フレームに対応する。
【0074】
図5Aに示されるように、第1のマスク映像フレーム500は、大きな黒く塗りつぶされたエリア510と小さな爆発520を示している。第2のマスク映像フレーム550は、より小さな黒く塗りつぶされたエリア560とより大きな爆発570を示している。この例示では、小さな爆発520のエリアとより大きな爆発570のエリアを比較することにより、受信映像内の第1及び第2の連続映像フレーム間でイベントが検出される。代替的に、第1のマスクフレーム500の黒く塗りつぶされたエリア510は、第2のマスクフレーム550の黒く塗りつぶされたエリア560と比較され得る。この例示では、第1のマスクフレーム500の黒く塗りつぶされたエリア510は、第2のマスクフレーム550の黒く塗りつぶされたエリア560よりも大きく、そのためにイベントが検出される。
【0075】
イベントが2つのマスクフレーム間のパーセンテージの差に基づいて検出されてもよい。例えば、マスクフレーム内のカラーエリアのパーセンテージが10パーセント以上増加する場合に、映像内の隣接フレームに対応する2つのマスクフレーム間でイベントが検出されてもよい。他の例では、異なる閾値パーセンテージが使用されてもよい。イベントを検出するための閾値パーセンテージは、様々な実施形態において10から70%の間であり得る。複数の実施形態では、映像フレーム内の候補ブロブ間のサイズ変化に基づいてイベントが検出される。例えば、第1の映像フレームに対応する候補ブロブと第2の隣接映像フレームに対応する候補ブロブとの間のサイズ変化に基づいてイベントが検出され得る。一部の例では、第1の映像フレームと第2の映像フレームに対応する候補ブロブのサイズのパーセンテージ変化に基づいてイベントが検出される。例えば、候補ブロブが第1の映像フレームと第2の隣接映像フレームとの間で特定のパーセンテージ(例えば、50%、75%、100%、150%等)だけ変化する場合に、イベントの発生が検出されてもよい。
【0076】
ブロック340において、映像に対応するオプティカルフロー推定が決定される。複数の例において、映像を受信するプロセッサは、オプティカルフロー推定モジュールによって推定オプティカルフローを生成するように構成される。例えば、図1Cにおけるプロセッサ102は、オプティカルフロー推定モジュール126によって推定オプティカルフローを生成するように構成され得る。別の例示として、プロセッサ202及び/又はプロセッサ203は、オプティカルフロー推定モジュール226によって推定オプティカルフローを生成するように構成され得る。
【0077】
複数の例において、オプティカルフロー推定は、2つのマスクフレーム間で生成される。例えば、オプティカルフロー推定は、ブロック330に関して先に記載されたようにイベントが検出された2つのマスクフレームに対して生成されてもよい。一部の例では、オプティカルフロー推定は、ブロック330に関して先に記載されたように受信映像フレームから生成される2つ以上のマスクフレームに対して生成される。
【0078】
オプティカルフロー推定は、受信映像に対して生成された少なくとも2つのマスクされたフレームに関して生成され得る。例えば、オプティカルフロー推定は、一実施形態では、受信映像における2つの連続マスクフレームに関して生成される。一部の例では、オプティカルフロー推定は、受信映像における2つの不連続マスクフレームに関して生成される。例えば、オプティカルフロー推定を生成する際に使用される1つのマスクフレームは、同様にオプティカルフロー推定を生成する際に使用される別のマスクフレームから少なくとも1つのフレームだけ分離されてもよい。一例では、オプティカルフロー推定を生成するために使用されるマスクフレームを生成する際に使用されるフレームは、映像のフレームレートに少なくとも部分的に基づいて受信映像から選択される。例えば、オプティカルフロー推定を生成するために使用される映像内の2つのフレーム間のフレームの数は、映像のフレームレートの約10パーセントであり得る。従って、映像が毎秒30フレームのフレームレートを有する場合、オプティカルフロー推定を生成するために使用される映像内の2つのフレーム間に3つのフレームが有ってもよい。他の例では、オプティカルフロー推定を生成するために使用されるマスクフレームを生成するために使用される映像内の2つのフレーム間のフレームの数は、映像のフレームレートの5パーセントから75パーセントの間であり得る。一部の例では、オプティカルフロー推定は、受信映像のフレームから生成される2つ、3つ、4つ、5つ又はそれ以上のマスクフレームを使用して生成される。
【0079】
複数の実施形態では、映像フレーム内のノイズを減らすためにオプティカルフローを生成する前に映像フレームにフィルタが適用される。複数の実施形態では、オプティカルフロー推定内のノイズを減らすために生成されたオプティカルフロー推定にフィルタが適用される。
【0080】
ブロック350において、検出されたイベントが誤検出かどうかに関する決定が行われる。複数の例において、映像を受信するプロセッサが、検出されたイベントが誤検出かどうかを決定するように構成される。例えば、図1Cにおけるプロセッサ102が、イベント検出モジュール124及び/又はオプティカルフロー推定モジュール126によって、検出されたイベントが誤検出かどうかを決定するように構成され得る。別の例示として、プロセッサ202及び/又はプロセッサ203が、イベント検出モジュール224及び/又はオプティカルフロー推定モジュール226によって、検出されたイベントが誤検出かどうかを決定するように構成され得る。一部の例では、検出されたイベントが誤検出であるとの決定が行われる場合、ブロック360に関して本明細書で検討された触覚は生成されない。
【0081】
一部の例では、生成されたオプティカルフロー推定は、イベントの誤検出が有るかどうかを決定するために使用される。例えば、イベントの誤検出が有るかどうかは、イベントが検出されるマスクフレームに関して生成されたオプティカルフロー推定において運動ベクトルの一部又は全てに対する方向を評価することによって決定され得る。一部の例では、イベントの誤検出が有るかどうかは、イベントのタイプにも基づく。
【0082】
例えば、イベントのタイプは、マスクされたフレームが生成される受信映像をキャプチャしたカメラの動きで有ってもよく、又はイベントのタイプは、カラーマスク範囲に従うカラーを有する受信映像内の(複数の)オブジェクトの動きであり得る。こうした例において、生成されたオプティカルフロー推定における運動ベクトルが同じ方向又は実質的に同じ方向を集合的に指す場合、イベントの誤検出が無いとの決定が行われる。こうした例において、生成されたオプティカルフロー推定における運動ベクトルが実質的に異なる方向を集合的に指す及び/又はランダムな方向を集合的に指す場合、イベントの誤検出が有るとの決定が行われる。
【0083】
別の例示として、イベントのタイプが爆発である場合、爆発が検出されたマスクされたフレームに対して生成されたオプティカルフロー推定は異なる方向をランダムに指すはずである。この例示では、生成されたオプティカルフロー推定における運動ベクトルが同じ方向又は実質的に同じ方向を集合的に指す場合、イベントの誤検出が有るとの決定が行われる。複数の実施形態では、誤検出が決定される場合、触覚効果は生成されない。しかしながら、生成されたオプティカルフロー推定における運動ベクトルが実質的に異なる方向を集合的に指す及び/又はランダムな方向を集合的に指す場合、イベントの誤検出が無いとの決定が行われる。
【0084】
次に図6Aを参照すると、この図面は、一実施形態によるカメラの動き又はオブジェクトの動きに対応する複数の運動ベクトル610を有するオプティカルフロー推定600を示す。この例示では、運動ベクトル610は、実質的に同じ方向を集合的に指す。複数の実施形態では、ブロック330で検出されたイベントのタイプがカラーマスク範囲に従うカラーを有する映像内の(複数の)オブジェクトの動き又は受信映像をキャプチャしたカメラの動きである場合、ブロック350においてイベントの誤検出が無いとの決定が行われる。しかしながら、ブロック330で検出されたイベントのタイプが運動ベクトルのランダムな方向が期待される爆発又は別のタイプのイベントである場合、ブロック350においてイベントの誤検出が有るとの決定が行われる。
【0085】
次に図6Bを参照すると、この図面は、一実施形態による爆発に対応する複数の運動ベクトル660を有する例示的なオプティカルフロー推定650を示す。この例示では、運動ベクトル660は、ランダムな方向を指している。複数の実施形態では、ブロック330で検出されたイベントのタイプが受信映像をキャプチャしたカメラの動きである場合、ブロック350においてイベントの誤検出が有るとの決定が行われる。しかしながら、ブロック330で検出されたイベントのタイプが運動ベクトルのランダムな方向が期待される爆発又は別のタイプのイベントである場合、ブロック350においてイベントの誤検出が無いとの決定が行われる。
【0086】
一例では、爆発を検出すると、フレーム間の候補ブロブのサイズの変化及びカラーマスクフィルタが、爆発イベントの発生を決定するために使用される。このイベントシグネチャ(例えば、特定のカラーマスクフィルタ及び候補ブロブサイズの変化の要件)がいつ爆発が起こるかを決定するために使用される。しかしながら、爆発以外のイベントが爆発と同じ又は類似のイベントシグネチャを有するかもしれないので、誤検出機構が必要とされ得る。例えば、複数の実施形態では、突然のカメラの動きが爆発と同じイベントシグネチャを有し得る。この実施形態では、運動ベクトルの方向は、実際の爆発イベントか又は突然のカメラの動きのための爆発イベントの誤検出かを区別するために使用される。
【0087】
ブロック360では、1つ以上の触覚効果が生成される。複数の例において、プロセッサは、効果生成モジュールによって、イベント検出モジュールによって決定された映像内の1つ以上のイベントに対応する1つ以上の触覚効果を生成するように構成される。例えば、図1Cにおけるプロセッサ102は、効果生成モジュール128によって、映像内で決定されたイベントに対応する触覚効果を生成するように構成され得る。別の例示として、プロセッサ202及び/又はプロセッサ203は、効果生成モジュール228によって、映像内のイベント対応する触覚効果を生成するように構成され得る。
【0088】
複数の例において、生成された触覚効果は、生成されたオプティカルフロー推定における運動ベクトルに対応する強度パラメータを有する。例えば、生成された触覚効果は、ブロック340で決定されたイベントと対応するオプティカルフロー推定のエリアにおける運動ベクトルの平均の大きさに対応する強度パラメータを有し得る。別の例示として、生成された触覚効果は、ブロック320−340に関して先に検討されたように2つのマスクフレームに対して生成されたオプティカルフロー推定における運動ベクトルの平均の大きさに対応する強度パラメータを有し得る。
【0089】
一部の実施形態では、生成された触覚効果は、ブロック340で決定されたイベントと対応する2つ以上のマスクフレームに対して生成されたオプティカルフロー推定において選択された運動ベクトルの最小の大きさを有する運動ベクトルに対応する強度パラメータを有する。複数の例において、生成された触覚効果は、ブロック340で決定されたイベントと対応する2つ以上のマスクフレームに対して生成されたオプティカルフロー推定における最大の運動ベクトルに対応する強度パラメータを有する。他の例では、生成された触覚効果は、2つ以上のマスクフレームに対して生成されたオプティカルフロー推定における運動ベクトルの平均の大きさ又は中央の大きさに対応する強度パラメータを有する。一部の例では、生成された触覚効果は、第1の映像フレームと第2の映像フレームとの間の候補ブロブのサイズの変化(候補ブロブのサイズの比率等)に対応する強度パラメータを有する。
【0090】
magsweep効果が、検出されたイベントに対応するサイズ及び/又は速さに基づいて動的に生成され得る。図7Aは、一実施形態による大爆発を有する映像に対して生成された触覚効果の例を示す。図7Aに示されるように、生成された触覚効果の強度は、爆発が開始すると0から約1に急速に増加して、爆発が完了した後で強度が0に戻るまで爆発が弱まるにつれて経時的に減少する。図7Bは、一実施形態による小爆発を有する映像に対して生成された触覚効果の例を示す。図7Bに示されるように、生成された触覚効果の強度は、急速に増加するが、今回は強度は約0.25の最大値に達すると、爆発が完了した後で強度が0に戻るまで爆発が弱まるにつれて経時的に減少する。
【0091】
上記のように、一部の実施形態では、触覚効果は、強度パラメータを調節することによりカスタマイズ可能である。一部の例では、触覚効果は、触覚効果に対応する(複数の)パラメータを調節することにより調整され得る。複数の実施形態では、(複数の)こうしたパラメータは、マスクフレーム間のカラーエリアのサイズの増加、生成されたオプティカルフロー推定における運動ベクトルの速さ、及び検出されたイベントの弱まる速さに少なくとも部分的に基づいて調節され得る。
【0092】
一部の実施形態では、1つ以上の生成された触覚効果は、生成された触覚効果を映像に統合するように映像を再エンコードすることにより映像内に記憶され得る。他の実施形態では、1つ以上の生成された触覚効果は、別のファイルに保存されてもよく、さもなければ映像を再エンコードせずに映像に追加され得る。例えば、生成された触覚効果を有する触覚トラックが生成されて、受信された映像とは別の触覚ファイルとして記憶され得る。この例示では、触覚ファイルは映像が再生されるときに取得されてもよく、映像内で検出されたイベントと対応する触覚効果における複数の触覚効果が出力され得る。こうした例において、映像が再生されると出力される触覚効果の強度は、映像内で検出されたイベントと対応し得る。
【0093】
一部の実施形態では、1つ以上の生成された触覚効果が、リアルタイムで1つ以上の触覚出力デバイスに出力され得る。例えば、図2を再び参照すると、プロセッサ202及び/又はプロセッサ203によって生成される触覚効果を触覚出力デバイスに出力させるように構成される触覚出力信号が触覚出力デバイス222に送られ得る。この例示では、生成された触覚効果にも対応し、ディスプレイ234に表示される、決定されたイベントと対応する映像フレームと対応する時間に生成された触覚効果が、触覚出力デバイス222によって出力されるように触覚出力デバイス222に送られる。従って、複数の実施形態では、カラーマスクが適用され、オプティカルフロー推定が生成され、イベントが検出され、触覚効果がリアルタイムで生成され且つ出力され、それによってイベントに対応する触覚効果を有さない映像が、映像が再生されるときにイベントに対応する時間に触覚効果が出力されるように触覚的に強化され得る。
【0094】
次に図8を参照すると、図8は一実施形態によるカラー特徴及びモーション解析に基づいて触覚を自動的に生成する例示的な方法800を示す。図1A、1B、1C及び/又は図2が参照されるが、本開示による任意の適切なデバイスが様々な実施形態によるカラー特徴及びモーション解析に基づいて触覚を自動的に生成するために利用されてもよい。
【0095】
方法800はブロック810で開始し、映像が受信される。例えば、映像は、図3のブロック310等に関して本明細書に記載の1つ以上のやり方で受信され得る。
【0096】
ブロック820において、連続フレーム間のイベントが検出される。例えば、イベントは、図3のブロック320、330、340及び/又は350に関して先に記載されたように、イベントを検出するために受信した映像に対するオプティカルフロー推定を生成すること及び/又はマスクフレームを生成することにより検出され得る。複数の実施形態では、イベントは、映像内の連続フレーム間の拡大、縮小、回転、衝突、揺動等のモーションである。複数の実施形態では、第1の映像フレームと第2の映像フレームとの間の候補ブロブのサイズの変化に少なくとも部分的に基づいてイベントが検出される。
【0097】
一部の例では、オプティカルフロー推定は、受信した圧縮映像内の基準フレームに基づいて生成される。例えば、オプティカルフロー推定は、圧縮映像における基準フレーム(例えば、イントラコード化ピクチャフレーム、「Iフレーム」とも呼ばれる)と圧縮映像における後続の隣接フレーム(例えば、予測ピクチャフレーム、「Pフレーム」とも呼ばれる)との間で生成され得る。一部の例では、推定オプティカルフローは、圧縮映像における基準フレームと後続の非隣接フレーム(例えば、双方向予測ピクチャフレーム、「Bフレーム」とも呼ばれる)との間で生成され得る。一例では、推定オプティカルフローは、PフレームとBフレームとの間で生成される。一部の例では、オプティカルフロー推定は、複数のフレームに関して生成され得る。例えば、オプティカルフロー推定は、IフレームとPフレームとBフレームとの間で生成され得る。オプティカルフロー推定は、複数の基準フレーム、予測ピクチャフレーム、及び/又は双方向ピクチャフレームに対して生成されてもよい。上記のように、映像内の映像フレーム間で生成された(複数の)推定オプティカルフローは、映像内のイベントの発生を決定するように解析される1つ以上の運動ベクトルを有し得る。
【0098】
フレーム間のイベントの検出は、Pフレーム及び/又はBフレーム等の1つ以上の予測フレームに基づいて決定され得る。一部の例では、画像データ又は運動ベクトル変位、又は両方を含む。多くの場合、予測フレームは、Iフレーム等の非予測フレームよりもエンコードのために少ないビットを必要とする。こうした例において、圧縮映像におけるイベントは、予測フレームにおいて、画像データ、運動ベクトル変位、又は両方に基づいて検出され得る。一部の例では、対応するIフレームからの画像データは、映像内でイベントが発生したかどうかを決定するために解析される必要がない。例えば、(複数の)予測フレームにおける全ての又は突然の大多数のピクセルに関する動きが有ることを画像データ及び/又は運動ベクトル変位が示す場合、イベントがこうした(複数の)フレームに対して検出され得る。この例示では、イベントは、映像を記録したカメラの動きに対応する。別の例示として、動いているオブジェクトが有ること及びオブジェクトを取り囲んでいる(複数の)フレームにおけるピクセルも動いていることを画像データ及び/又は運動ベクトル変位が示す場合、空間内を動いているオブジェクトに対応するこうした(複数の)フレームに対してイベントが検出され得る。動いているオブジェクトが有ること及びオブジェクトを取り囲んでいる(複数の)フレームにおけるピクセルが動いていないことを画像データ及び/又は運動ベクトル変位が示す場合、さもなければ静止しているシーン内を動いているオブジェクトに対応するこうした(複数の)フレームに対してイベントが検出され得る。例えば、それは、さもなければ何も無い道路に沿って車が走っていることであるイベントを示してもよい。
【0099】
ブロック830において、受信した映像において検出されたイベントの動きに対応するパラメータが決定される。例えば、検出されたイベントに対応するパラメータは、図3のブロック360に関して先に記載されたように、受信映像に対して生成された推定オプティカルフローに基づいて決定され得る。
【0100】
図8のブロック820に関して先に検討されたように、オプティカルフロー推定は、受信映像における予測フレームに少なくとも部分的に基づいて生成され得る。こうした例において、検出されたイベントの動きに対応するパラメータは、予測フレームにおける画像データ又は運動ベクトル変位、又は両方等の予測フレームにおける情報に基づき得る。例えば、触覚効果に関する強度パラメータは、Pフレーム及び/又はBフレーム等の1つ以上の予測フレームにおける運動ベクトル変位と相関していてもよい。複数の実施形態では、より強い触覚効果は、(複数の)予測フレームにおける運動ベクトル変位によって決定される映像のモーションにおけるイベントと相関する。
【0101】
ブロック840において、イベントに対応する触覚効果が生成される。一部の例では、触覚効果は、イベントの決定されたパラメータに少なくとも部分的に基づいている。例えば、触覚効果の強度は、イベントのパラメータに基づいていてもよい。この例示では、イベントのより大きなパラメータが、対応するより大きな強度を有する生成された触覚効果をもたらす。例えば、触覚効果は、映像内の対応するイベントが表示されるときに生成された触覚効果を触覚出力デバイスに出力させるように生成されて触覚出力デバイスに出力され得る。この例示では、生成された触覚効果は、検出されたイベントに対応するオプティカルフロー推定における1つ以上の運動ベクトルに対応する強度パラメータを有し得る。一部の例では、触覚効果が生成されて触覚トラックに記憶される。触覚効果は、図3のブロック350等に関して本明細書に記載の1つ以上のやり方で生成されて出力され得る。
【0102】
本明細書に記載のデバイス、システム及び方法の一部の例は様々な機械で実行するソフトウェアに関して記載されているが、方法及びシステムは、例えば、様々な方法を特別に実行するためのフィールド・プログラマブル・ゲート・アレイ(field−programmable gate array;FPGA)等の特別に構成されたハードウェアとして実装されてもよい。例えば、例示は、デジタル電子回路で、又はコンピュータハードウェア、ファームウェア、ソフトウェア若しくはこれらの組み合わせで実装され得る。一例では、デバイスは、1つ又は複数のプロセッサを含んでもよい。プロセッサは、プロセッサに結合されるランダム・アクセス・メモリ(random access memory;RAM)等のコンピュータ可読媒体を備える。プロセッサは、メモリに記憶されたコンピュータ実行可能プログラム命令を実行する。例えば、画像を編集するための1つ以上のコンピュータプログラムを実行する。このようなプロセッサは、マイクロプロセッサ、デジタル・シグナル・プロセッサ(digital signal processor;DSP)、特定用途向け集積回路(application−specific integrated circuit;ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array;FPGA)、及び状態機械を含む。このようなプロセッサは、PLC、プログラマブル割り込みコントローラ(programmable interrupt controller;PIC)、プログラマブル論理デバイス(programmable logic device;PLD)、プログラマブルROM(programmable read−only memory;PROM)、電気的プログラマブルROM(electronically programmable read−only memory;EPROM又はEEPROM)、又は他の類似のデバイス等のプログラマブル電子デバイスを更に備えてもよい。
【0103】
このようなプロセッサは、媒体、例えば、プロセッサによって実行されると、プロセッサによって遂行又は支援される本明細書に記載のステップをプロセッサに実行させることができる命令を記憶し得るコンピュータ可読記憶媒体を備え又はこれと通信してもよい。コンピュータ可読媒体の例は、限定されないが、プロセッサ、例えばウェブサーバのプロセッサにコンピュータ可読命令を提供することができる電子、光学、磁気又は他の記憶デバイスを含んでもよい。媒体の他の例は、限定されないが、フロッピーディスク、CD−ROM、磁気ディスク、メモリチップ、ROM、RAM、ASIC、構成プロセッサ、全ての光学媒体、全ての磁気テープ若しくは他の磁気媒体、又はコンピュータプロセッサが読み取り可能な任意の他の媒体を含む。記載されたプロセッサ及び処理は、1つ以上の構造内に有ってもよく、1つ以上の構造を通じて分散されてもよい。プロセッサは、本明細書に記載の1つ以上の方法(又は方法の一部)を実行するためのコードを備えてもよい。
【0104】
一部の例の上記の説明は、例示及び説明のためにのみ示されているのであって、網羅的であること又は開示された厳密な形態に本開示を限定することは意図されていない。その多くの修正及び適合が、本開示の精神及び範囲から逸脱することなく当業者には明らかであろう。
【0105】
本明細書における一例又は実装への言及は、特定の機能、構造、操作、又は例と関連して記載される他の特徴が本開示の少なくとも1つの実装に含まれ得ることを意味する。本開示は、このように記載された特定の例又は実装に制限されない。明細書の様々な場所における「一例では」又は「ある例において」、「一実装では」又は「ある実装において」という句又はこれらの変形の出現は、必ずしも同じ例又は実装への言及ではない。任意の特定の機能、構造、操作、又は一例若しくは実装に関連する本明細書に記載の他の特徴は、他の機能、構造、操作、又は任意の他の例若しくは実装に関して記載された他の特徴と組み合わされてもよい。
図1A
図1B
図1C
図2
図3
図4
図5
図6A
図6B
図7A
図7B
図8
【外国語明細書】
2018109961000001.pdf