(57)【要約】  仮想オブジェクトをレンダリングする方法４００が開示される。方法４００は、照明デバイス１２０によって発せられる光１２２を検出するステップ４０２であって、光１２２は、照明デバイス１２０の特性を表す埋め込みコードを含む、ステップと、仮想オブジェクトを取得するステップ４０４と、照明デバイス１２０の特性に基づいて仮想オブジェクトの外観及び／又は挙動を決定するステップ４０６と、決定された外観及び／又は挙動にしたがって画像レンダリングデバイス１０４に仮想オブジェクトをレンダリングするステップ４０８とを含む。
2020522804.tif 000002
【特許請求の範囲】
【請求項１】
物理的環境のビュー上のオーバーレイとしてモバイルデバイスに仮想オブジェクトをレンダリングする方法であって、前記モバイルデバイスは、画像レンダリングデバイスを含み、当該方法は、
前記ビューに位置する照明デバイスによって発せられる光を検出するステップであって、前記光は、前記照明デバイスの特性を表す埋め込みコードを含む、ステップと、
仮想オブジェクトを取得するステップと、
前記照明デバイスの特性に基づいて前記仮想オブジェクトの外観及び／又は挙動を決定するステップと、
決定された前記外観及び／又は挙動にしたがって前記画像レンダリングデバイスに前記仮想オブジェクトをレンダリングするステップと、
を含む、方法。
【請求項２】
前記特性は、
前記照明デバイスによって発せられる前記光のビーム形状、
前記照明デバイスの形状、
前記照明デバイスの識別子、
前記照明デバイスのタイプ、
前記照明デバイスの光設定、及び
前記照明デバイスの位置及び／又は向き、
のうちの少なくとも一つに関する、請求項１に記載の方法。
【請求項３】
前記外観は、
前記仮想オブジェクトのサイズ、
前記仮想オブジェクトの形状、
前記仮想オブジェクトの色、及び
前記仮想オブジェクトの透明度、
のうちの少なくとも一つに関する、請求項１又は２に記載の方法。
【請求項４】
前記挙動は、
前記仮想オブジェクトの動き、
前記仮想オブジェクトの運動速度、
前記仮想オブジェクトの軌道、及び
前記仮想オブジェクトのライフタイム、
のうちの少なくとも一つに関する、請求項１、２又は３に記載の方法。
【請求項５】
当該方法は、第２の照明デバイスによって発せられる光を検出するステップを含み、該光は、前記第２の照明デバイスの第２の特性を表わす第２の埋め込みコードを含み、前記仮想オブジェクトの外観及び／又は挙動は、前記照明デバイスの特性及び前記第２の照明デバイスの前記第２の特性に基づく、請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
前記画像レンダリングデバイスは、画像キャプチャデバイスを含むモバイルデバイスに含まれ、当該方法は、
前記画像キャプチャデバイスによって捕捉される画像内の物体を識別するステップと、
前記画像内の前記物体の第１の位置を決定するステップと、
前記画像内の前記物体の前記第１の位置に基づいて前記画像レンダリングデバイスに第２の位置において前記仮想オブジェクトをレンダリングするステップと、
を含む、請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
前記画像レンダリングデバイスは、画像キャプチャデバイスを含むモバイルデバイスに含まれ、当該方法は、
前記画像キャプチャデバイスによって捕捉される画像内の照明デバイスの第１の位置を決定するステップと、
前記画像内の前記照明デバイスの前記第１の位置に基づいて前記画像レンダリングデバイスに第２の位置において前記仮想オブジェクトをレンダリングするステップと、
を含む、請求項１乃至５のいずれか一項に記載の方法。
【請求項８】
当該方法は、
前記画像キャプチャデバイスの視野内の第２の照明デバイスの第３の位置を決定するステップと、
前記照明デバイスの前記第１の位置及び前記第２の照明デバイスの前記第３の位置に基づいて前記仮想オブジェクトのための動き軌道を決定するステップと、
決定された前記動き軌道にしたがって前記画像レンダリングデバイスに前記仮想オブジェクトをレンダリングするステップと、
を含む、請求項５に従属する請求項７に記載の方法。
【請求項９】
当該方法は、
更新された埋め込みコードを含む光を発するように前記照明デバイスを制御するステップであって、前記更新された埋め込みコードは、前記仮想オブジェクトの前記外観及び／又は前記挙動の変更のための命令を表す、ステップと、
前記更新された埋め込みコードを検出するステップと、
前記更新された埋め込みコードに基づいて前記仮想オブジェクトの更新された外観及び／又は更新された挙動を決定するステップと、
前記更新された外観及び／又は前記更新された挙動にしたがって前記画像レンダリングデバイスに前記仮想オブジェクトをレンダリングするステップと、
を含む、請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記仮想オブジェクトを取得するステップは、前記照明デバイスの前記特性に基づいて前記仮想オブジェクトをメモリから選択することを含む、請求項１乃至９のいずれか一項に記載の方法。
【請求項１１】
前記仮想オブジェクトは、仮想キャラクタである、請求項１乃至１０のいずれか一項に記載の方法。
【請求項１２】
コンピューティングデバイスのためのコンピュータプログラムであって、当該コンピュータプログラムが前記コンピューティングデバイスの処理ユニット上で実行される場合、請求項１乃至１１のいずれか一項に記載の方法を実行するコンピュータプログラムコードを含む、コンピュータプログラム。
【請求項１３】
仮想オブジェクトをレンダリングするためのシステムであって、当該システムは、
物理的環境のビュー上のオーバーレイとして仮想オブジェクトをレンダリングするための画像レンダリングデバイスと、
前記ビューに位置する照明デバイスによって発せられる光を検出するように構成される光検出器であって、前記光は、前記照明デバイスの特性を表す埋め込みコードを含む、光検出器と、
仮想オブジェクトを取得する、前記照明デバイスの特性に基づいて前記仮想オブジェクトの外観及び／又は挙動を決定する、及び決定された前記外観及び／又は挙動にしたがって前記画像レンダリングデバイスに前記仮想オブジェクトをレンダリングするように構成されるプロセッサと、
を含む、システム。
【請求項１４】
当該システムは、画像キャプチャデバイスを含み、前記プロセッサは、画像キャプチャデバイスの視野内の物体及び／又は前記照明デバイスの位置を決定する、及び前記画像キャプチャデバイスの視野内の前記物体及び／又は前記照明デバイスの位置に基づいて前記画像レンダリングデバイスに前記仮想オブジェクトをレンダリングする場所を決定するように構成される、請求項１３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想オブジェクトをレンダリングする方法、及び該方法を実行するためのコンピュータプログラムに関する。本発明はさらに、仮想オブジェクトをレンダリングするためのシステムに関する。
【背景技術】
【０００２】
仮想現実（ＶＲ：virtual reality）及び拡張現実（ＡＲ：augmented reality）の最近の開発は、ユーザが、仮想オブジェクトとインタラクトする(interact)ことを可能にしている。これらの仮想オブジェクトは、物理的世界(physical world)の上のオーバーレイとして、例えば、スマートフォン又はＡＲグラス(AR-glass)に表示される場合がある。この技術は、例えば、位置ベースの宝物探しゲーム、仮想ペットを飼育する等、多くのさまざまなタイプのアプリケーションを可能にしている。ＡＲ及び符号化光技術の最近の開発は、このような仮想オブジェクトとのインタラクション及びこのような仮想オブジェクトの生成のための新規のパラダイムを可能にしている。
【０００３】
米国特許出願公開第２０１４００４３３２１  Ａ１号は、シミュレートされた環境においてオブジェクトを可視化することを開示している。オブジェクトは、実際の環境上のオーバーレイとしてレンダリングされてもよい。環境データベースは、シミュレートされる環境に関連する、物理的特性（例えば照明条件）を表す環境データを格納してもよい。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、仮想オブジェクトの生成のための新規なパラダイムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明の第１の態様によれば、前記目的は、仮想オブジェクトをレンダリングする方法であって、
照明デバイスによって発せられる光を検出するステップであって、光は、照明デバイスの特性を表す埋め込みコードを含む、ステップと、
仮想オブジェクトを取得するステップと、
照明デバイスの特性に基づいて仮想オブジェクトの外観及び／又は挙動を決定するステップと、
決定された外観及び／又は挙動にしたがって画像レンダリングデバイスに仮想オブジェクトをレンダリングするステップと、
を含む、方法により達成される。
【０００６】
照明デバイスの特性に基づいて仮想オブジェクトの外観及び／又は挙動を決定することによって、仮想オブジェクトの外観及び／又は挙動は、照明デバイスごとに異なってもよい。例えば、特性が、照明デバイスのタイプ（例えばＬＥＤストリップ又はＬＥＤ電球）を表す場合、仮想オブジェクトは、照明デバイスのタイプにしたがってレンダリングされる。これは、例えば仮想オブジェクトが仮想キャラクタである場合、仮想キャラクタが照明デバイスのタイプにしたがってレンダリングされるので、有益である（例えば、照明デバイスがＬＥＤストリップである場合、仮想ヘビキャラクタが長尺にレンダリングされてもよく、一方、照明デバイスがＬＥＤ電球である場合、同じ仮想ヘビキャラクタがよりコンパクトな形でレンダリングされてもよい）。
【０００７】
照明デバイスは、照明デバイスの特性を表す埋め込みコードを含む光を発する。ユーザは、スマートフォン又はスマートグラス等の（モバイル）デバイスを操作して、その光検出器（例えばカメラ又はフォトダイオード）が光源の視線(line of sight)にあるようにモバイルデバイスを位置付けてもよく、光検出器で、埋め込みコードが検出されてもよく、特性が、埋め込みコードから取り出されてもよく、仮想オブジェクトの外観及び／又は挙動が、特性に基づいて決定されてもよい。これは、ユーザが、モバイルデバイスの光検出器を異なる照明デバイスに向け、それによって、仮想オブジェクトの外観及び／又は挙動を変え、仮想オブジェクトがレンダリングされる様(how)を制御することを可能にする。
【０００８】
照明デバイスの特性は、照明デバイスの一つ以上の光源の構成／分布を表してもよい。追加的に又は代替的に、照明デバイスの特性は、（現在の）光設定及び／又は照明デバイスによって発せられる光の配光を表してもよい。追加的に又は代替的に、照明デバイスの特性は、照明デバイスの空間位置を表わしてもよい。照明デバイスの特性は、例えば、
照明デバイスによって発せられる光のビーム形状、
照明デバイスの形状、
照明デバイスの識別子、
照明デバイスのタイプ、
照明デバイスの光設定、及び
照明デバイスの位置及び／又は向き(orientation)、
のうちの少なくとも一つに関してもよい。ある実施形態において、埋め込みコードは、照明デバイスの異なる特性を表わしてもよい。これは、仮想オブジェクトの外観及び／又は挙動をさらに特定するので、有益であり得る。
【０００９】
仮想オブジェクトの外観は、どのように仮想オブジェクトが見えるかに関する。仮想オブジェクトの外観は、例えば、
仮想オブジェクトのサイズ、
仮想オブジェクトの形状、
仮想オブジェクトの色、及び
仮想オブジェクトの透明度、
のうちの少なくとも一つに関してもよい。
【００１０】
仮想オブジェクトの挙動は、仮想環境の仮想オブジェクトの時空間挙動(spatial and temporal behavior)に関する。仮想オブジェクトの挙動は、例えば、
仮想オブジェクトの動き、
仮想オブジェクトの運動速度、
仮想オブジェクトの軌道、及び
仮想オブジェクトのライフタイム、
のうちの少なくとも一つに関してもよい。
【００１１】
当該方法はさらに、第２の照明デバイスによって発せられる光を検出するステップを含み、該光は、第２の照明デバイスの第２の特性を表わす第２の埋め込みコードを含んでもよく、仮想オブジェクトの外観及び／又は挙動は、照明デバイスの特性及び第２の照明デバイスの第２の特性に基づいてもよい。斯くして、仮想オブジェクトの外観及び／又は挙動は、複数の照明デバイスの特性に基づいてもよい。例えば、第１の照明デバイスの第１の特性は、第１の光設定（例えば赤色光）でもよく、第２の照明デバイスの第２の特性は、第２の光設定（例えば黄色光）でもよく、これらに基づいて、仮想オブジェクトは、例えば、オレンジ色、又は、赤色／黄色カラーパターンでレンダリングされてもよい。
【００１２】
画像レンダリングデバイスは、画像キャプチャデバイスを含むモバイルデバイスに含まれてもよく、当該方法はさらに、
画像キャプチャデバイスによって捕捉される画像内の物体を識別するステップと、
画像内の物体の第１の位置を決定するステップと、
画像内の物体の第１の位置に基づいて画像レンダリングデバイスに第２の位置において仮想オブジェクトをレンダリングするステップと、
を含んでもよい。斯くして、物体が、仮想オブジェクトをレンダリングするためのアンカー(anchor)として使用されることができる。これは、物体の位置に対する位置において仮想オブジェクトをレンダリングすることを可能にするので、有益である。第１の位置と第２の位置の関係は、あらかじめ定義されていてもよい。例えば、第２の位置は、第１の位置の近くに位置してもよく、第１の位置と離れていてもよく、又は第１の位置と同じでもよい。
【００１３】
画像レンダリングデバイスは、画像キャプチャデバイスを含むモバイルデバイスに含まれてもよく、当該方法はさらに、
画像キャプチャデバイスによって捕捉される画像内の照明デバイスの第１の位置を決定するステップと、
画像内の照明デバイスの第１の位置に基づいて画像レンダリングデバイスに第２の位置において仮想オブジェクトをレンダリングするステップと、
を含んでもよい。第１の位置と第２の位置の関係は、あらかじめ定義されていてもよい。斯くして、照明デバイスが、仮想オブジェクトをレンダリングするためのアンカーとして使用されることができる。これは、照明デバイスの位置に対する位置において仮想オブジェクトをレンダリングすることを可能にするので、有益である。第１の位置と第２の位置の関係は、あらかじめ定義されていてもよい。例えば、第２の位置は、第１の位置の近くに位置してもよく、第１の位置と離れていてもよく、又は第１の位置と同じでもよい。
【００１４】
当該方法はさらに、
画像キャプチャデバイスの視野内の第２の照明デバイスの第３の位置を決定するステップと、
照明デバイスの第１の位置及び第２の照明デバイスの第３の位置に基づいて仮想オブジェクトのための動き軌道を決定するステップと、
決定された動き軌道にしたがって画像レンダリングデバイスに仮想オブジェクトをレンダリングするステップと、
を含んでもよい。これは、照明デバイスに関係する軌道にしたがって移動する仮想オブジェクトのレンダリングを可能にする。これは、仮想オブジェクトと照明デバイス間のインタラクションを高める。
【００１５】
当該方法はさらに、
更新された埋め込みコードを含む光を発するように照明デバイスを制御するステップであって、更新された埋め込みコードは、仮想オブジェクトの外観及び／又は挙動の変更のための命令を表す、ステップと、
更新された埋め込みコードを検出するステップと、
更新された埋め込みコードに基づいて仮想オブジェクトの更新された外観及び／又は更新された挙動を決定するステップと、
更新された外観及び／又は更新された挙動にしたがって画像レンダリングデバイスに仮想オブジェクトをレンダリングするステップと、
を含んでもよい。これは、（モバイル）デバイスが、更新されたコードを検出して、仮想オブジェクトの外観及び／又は挙動を変えることを可能にする。これはさらに、照明デバイスを制御するデバイスが、仮想オブジェクトが更新された埋め込みコードを受けるデバイスにどのようにレンダリングされるかを決定することを可能にする。
【００１６】
画像レンダリングデバイスは、例えば、モバイルデバイスのディスプレイでもよく、仮想オブジェクトは、ディスプレイにレンダリングされてもよい。追加的に、仮想オブジェクトは、モバイルデバイスが位置する物理的環境のビュー上のオーバーレイとしてレンダリングされてもよい。モバイルデバイスは、画像を捕捉するように構成される画像キャプチャデバイスを含んでもよい。当該方法はさらに、ディスプレイに画像キャプチャデバイスによって捕捉される画像をレンダリングするステップと、画像上のオーバーレイとしてディスプレイに仮想オブジェクトをレンダリングするステップとを含んでもよい。代替的に、モバイルデバイスは、スマートグラス（例えば、拡張現実／混合現実スマートグラス）でもよく、画像レンダリングデバイスは、仮想オブジェクトをスマートグラス上に、又はユーザの網膜上に直接、モバイルデバイスが位置する物理的環境のビュー上のオーバーレイとして投射するように構成されるプロジェクタでもよい。本発明の脈絡において、「ビュー(view)」という用語は、モバイルデバイス（すなわちＡＲデバイス）を操作しているユーザがモバイルデバイスを通して（例えば画像レンダリングデバイス上で、又は、一組のスマートグラスを通して）見ることができる物理的環境の一部のユーザのビュー(視野)に関する。これは、例えば、画像レンダリングデバイスにレンダリングされている物理的環境の画像でもよく、又は、例えば、一対のスマートグラスを通して見ることができる物理的環境でもよい。
【００１７】
仮想オブジェクトを取得するステップは、照明デバイスの特性に基づいて仮想オブジェクトをメモリから選択することを含んでもよい。仮想オブジェクトは、照明デバイスの特性に基づいて（第１に）選択されてもよく、その外観及び／又は挙動は、照明デバイスの特性に基づいて、又は、照明デバイスの他の特性に基づいて（第２に）決定されてもよい。
【００１８】
本発明の第２の態様によれば、前記目的は、コンピューティングデバイスのためのコンピュータプログラムであって、当該コンピュータプログラムがコンピューティングデバイスの処理ユニット上で実行される場合、上述した方法のうちの任意の方法を実行するコンピュータプログラムコードを含む、コンピュータプログラムにより達成される。
【００１９】
本発明の第３の態様によれば、前記目的は、仮想オブジェクトをレンダリングするためのシステムであって、
画像レンダリングデバイスと、
照明デバイスによって発せられる光を検出するように構成される光検出器であって、光は、照明デバイスの特性を表す埋め込みコードを含む、光検出器と、
仮想オブジェクトを取得する、照明デバイスの特性に基づいて仮想オブジェクトの外観及び／又は挙動を決定する、及び決定された外観及び／又は挙動にしたがって画像レンダリングデバイスに仮想オブジェクトをレンダリングするように構成されるプロセッサと、
を含む、システムにより達成される。
【００２０】
当該システムはさらに、画像キャプチャデバイスを含んでもよく、プロセッサはさらに、画像キャプチャデバイスの視野内の物体及び／又は照明デバイスの位置を決定する、及び画像キャプチャデバイスの視野内の物体及び／又は照明デバイスの位置に基づいて画像レンダリングデバイスに仮想オブジェクトをレンダリングする場所を決定するように構成されてもよい。
【００２１】
特許請求の範囲に記載のコンピュータプログラム及びシステムは、特許請求の範囲に記載の方法と類似の及び／又は同一の実施形態及び利点を有し得ることを理解されたい。
【図面の簡単な説明】
【００２２】
開示されるシステム、モバイルデバイス及び方法の上述した及びさらなる目的、特徴及び利点は、添付の図面を参照する、デバイス及び方法の実施形態の以下の例示的及び非限定的な詳細な説明によって、よりよく理解されるであろう。
【図１】仮想オブジェクトをレンダリングするためのシステムの一実施形態を概略的に示す。
【図２ａ】仮想オブジェクトの外観及び／又は挙動がどのように光源の特性に基づいてもよいかの一例を示す。
【図２ｂ】仮想オブジェクトの外観及び／又は挙動がどのように光源の特性に基づいてもよいかの一例を示す。
【図２ｃ】仮想オブジェクトの外観及び／又は挙動がどのように光源の特性に基づいてもよいかの一例を示す。
【図３】動き軌道がどのように複数の照明デバイスの位置に基づいて決定されてもよいかについて概略的に示す。
【図４】仮想オブジェクトをレンダリングする方法を概略的に示す。
【発明を実施するための形態】
【００２３】
すべての図面は、概略的であり、必ずしも縮尺通りではなく、概して、本発明を説明するために必要な部分のみを示しており、他の部分は省略されているか又は単に示唆されている場合がある。
【００２４】
図１は、仮想オブジェクトをレンダリングするためのシステムの一実施形態を概略的に示す。システムは、画像レンダリングデバイス１０４と、照明デバイス１２０によって発せられる光１２２を検出するように構成される光検出器１１２であって、光１２２は、照明デバイス１２０の特性を表す埋め込みコードを含む、光検出器と、プロセッサ１０２とを含む、モバイルデバイス１００を含む。プロセッサ１０２は、仮想オブジェクトを取得する、照明デバイス１２０の特性に基づいて仮想オブジェクトの外観及び／又は挙動を決定する、及び決定された外観及び／又は挙動にしたがって画像レンダリングデバイス１０４に仮想オブジェクトをレンダリングするように構成される。
【００２５】
プロセッサ１０２（例えばマイクロコントローラ、回路、マイクロチップ等）は、仮想オブジェクトを取得するように構成される。プロセッサ１０２は、仮想オブジェクトをメモリ１０６から選択してもよい。追加的に又は代替的に、埋め込みコードは、特定の仮想オブジェクトをレンダリングするためのモバイルデバイス１００のための命令を含んでもく、及び／又は、埋め込みコードは、仮想オブジェクトを表わすデータ（例えば仮想オブジェクトの２Ｄ／３Ｄを表わすデータ）を含んでもよい。モバイルデバイス１００は、メモリ１０６を含んでもよい。代替的に、モバイルデバイス１００は、遠隔メモリ１０６と通信するための通信ユニット１０８を含んでもよい。通信ユニット１０８はさらに、例えば、照明デバイス１２０を制御するために、照明デバイス１２０等の他のデバイスと通信するように構成されてもよい。モバイルデバイス１００の通信ユニット１０８は、他のデバイスと一つ以上の通信プロトコルで通信するように構成されてもよい。種々の通信プロトコル、例えば、イーサネット、ブルートゥース、Ｗｉ−Ｆｉ、Ｌｉ−Ｆｉ、３Ｇ、４Ｇ又はジグビーが、通信ユニット１０８により使用されてもよい。
【００２６】
メモリ１０６は、複数の仮想オブジェクトを格納するように構成される仮想オブジェクトデータベースを含んでもよい。プロセッサ１０２は、一つ以上の選択基準に基づいて仮想オブジェクトを取得／選択してもよい。例えば、選択は、モバイルデバイス１００上で動作しているアプリケーションに依存してもよい。例えば、（ゲーム）アプリケーションは、どの仮想オブジェクトが現在の（ゲーム）脈絡において選択される（及びレンダリングされる）べきかを決定してもよい。他の例では、仮想オブジェクトの選択は、照明デバイス１２０の特性に基づいてもよい。次に、外観及び／又は挙動が、当該特性に基づいて、又は、照明デバイス１２０の他の特性に基づいて決定されてもよい。例えば、照明デバイス１２０のタイプは、どの仮想オブジェクトが選択されるか（例えばＬＥＤストリップの場合第１の仮想オブジェクト及びＬＥＤチューブの場合第２の仮想オブジェクト）を決定してもよく、仮想オブジェクトの挙動は、該タイプに基づいて、又は照明デバイス１２０の光設定等の他の特性に基づいて決定されてもよい。他の例では、仮想オブジェクトの選択は、仮想オブジェクトの選択を示すユーザ入力に基づいてもよい。例えば、モバイルデバイス１００は、仮想オブジェクトの選択を示すユーザ入力を受けるように構成されるユーザインタフェースを含んでもよく、その結果、仮想オブジェクトの外観及び／又は挙動が、照明デバイス１２０の特性に基づいて決定されてもよい。
【００２７】
プロセッサ１０２はさらに、照明デバイス１２０の特性に基づいて仮想オブジェクトの外観及び／又は挙動を決定するように構成される。プロセッサ１０２は、（メモリ１０６に格納されてもよい）ルックアップテーブルにアクセスすることによって仮想オブジェクトの外観及び／又は挙動を決定してもよく、ルックアップテーブルは、特性と、特定の仮想オブジェクトの外観及び／又は挙動との関連性(association)を格納してもよい。プロセッサ１０２は、埋め込みコードから取り出される特性を、ルックアップテーブルに格納される特性と比較し、当該特性がルックアップテーブル内の格納された特性に対応する場合、仮想オブジェクトの外観及び／又は挙動を選択してもよい。追加的に又は代替的に、プロセッサ１０２は、特性に基づいて、選択された仮想オブジェクトを変えてもよい。特性は、例えば、照明デバイス１２０の現在の光設定（例えば明るさ及び／又は色）に関してもよく、プロセッサ１０２は、現在の光設定に基づいて、選択された仮想オブジェクト（の一部の）色を変更してもよい。追加的に又は代替的に、プロセッサ１０２は、特性に基づいて、画像レンダリングデバイス１０４に仮想オブジェクトをレンダリングする場所を決定してもよい。特性は、例えば、照明デバイス１２０によって発せられる光のビーム形状に関してもよく、プロセッサ１０２は、ユーザの視点から、仮想オブジェクトが光のビームに位置するように見えるような位置に仮想オブジェクトをレンダリングしてもよい。
【００２８】
図２ａ−２ｃは、どのように仮想オブジェクト（これらの例では、仮想キャラクタ）がモバイルデバイス２００の画像キャプチャデバイスによって捕捉される画像上のオーバーレイとしてモバイルデバイス２００のディスプレイ２０４にレンダリングされるかについての例を示す。図２ａにおいて、照明デバイス２２０ａは、（ポータブル）テーブルトップ照明デバイスである。照明デバイス２２０ａは、そのタイプ（例えばフィリップスＨｕｅ Ｇｏランプ）を示す埋め込みコードを含む光を発してもよい。このタイプに基づいて、プロセッサ１０２（図２ａに図示せず）は、仮想キャラクタ２４０ａの外観及び挙動（例えば、外観：デフォルト外観、挙動：照明デバイス２２０ａ'の上で休止）を決定し、それに応じて、モバイルデバイス２００の画像キャプチャデバイス（図示せず）によって捕捉される照明デバイス２２０ａの画像上のオーバーレイとして仮想オブジェクトをレンダリングしてもよい。
【００２９】
他の例では、図２ｂを参照すると、照明デバイス２２０ｂは、線形照明デバイスである。照明デバイス２２０ｂは、そのタイプ（例えばＬＥＤストリップ）を示す埋め込みコードを含む光を発してもよい。このタイプに基づいて、プロセッサ１０２（図２ｂに図示せず）は、仮想キャラクタ２４０ｂの外観及び挙動（例えば、外観：「ボール」外観、挙動：照明デバイス２２０ｂ'を横切る回転移動）を決定してもよい。プロセッサ１０２は、モバイルデバイス２００の画像キャプチャデバイス（図示せず）によって捕捉される照明デバイス２２０ｂの一つ以上の画像の上のオーバーレイとして仮想オブジェクト２４０ｂ、２４０ｂ'、２４０ｂ''、２４０ｂ'''をレンダリングしてもよい。プロセッサは、仮想オブジェクト２４０ｂ、２４０ｂ'、２４０ｂ''、２４０ｂ'''が照明デバイス２２０ｂを横切って転がっているとユーザに見えるように経時的に仮想オブジェクト２４０ｂ、２４０ｂ'、２４０ｂ''、２４０ｂ'''をレンダリングしてもよい。追加的に、プロセッサはさらに、（例えば、照明デバイス２２０ｂから受ける信号に基づいて、照明デバイス２２０ｂに送られる制御信号に基づいて、照明デバイス２２０ｂの捕捉された一つ以上の画像の画像分析に基づいて、等々）照明デバイス２２０ｂのどの光源がオンであるかを決定し、これに基づいて、仮想オブジェクト２４０ｂの運動速度を決定してもよい。光源は、例えば、順次オン／オフされてもよく、仮想オブジェクト２４０ｂは、オンにされる光源と連動して移動してもよい。
【００３０】
他の例では、図２ｃを参照すると、照明デバイス２２０ｃは、電球である。照明デバイス２２０ｃは、そのタイプ（例えばＬＥＤ電球）を示す埋め込みコードを含む光を発してもよい。このタイプに基づいて、プロセッサ１０２（図２ｃに図示せず）は、仮想キャラクタ２４０ｃの外観及び挙動（例えば、外観：「飛行」外観、挙動：飛行移動）を決定してもよい。プロセッサ１０２は、モバイルデバイス２００の画像キャプチャデバイス（図示せず）によって捕捉される照明デバイス２２０ｃの一つ以上の画像の上のオーバーレイとして仮想オブジェクト２４０ｃをレンダリングしてもよい。プロセッサは、仮想オブジェクト２４０ｃが照明デバイス２２０ｃの下を「飛んでいるいる」とユーザに見えるように経時的に仮想オブジェクト２４０ｃをレンダリングしてもよい。
【００３１】
モバイルデバイス１００はさらに、照明デバイス１２０によって発せられる光１２２を検出するように構成される光検出器１１２を含み、光１２２は、照明デバイス１２０の特性を表わす埋め込みコードを含む。光検出器１１２は、例えば、フォトダイオード又はカメラでもよい。コードは、コードを光に埋め込む任意の既知の原理によって、例えば、光パルスの振幅及び／又はデューティサイクルを変調すること等により、光出力１２２の変動をもたらすように照明デバイスに対する時間的変化を伴う、変調される電流を制御することにより作成されてもよい。
【００３２】
プロセッサ１０２は、光１２２から埋め込みコードを取り出すように構成される。コードは、照明デバイス１２０に関する情報を含んでもよい。コードは、照明デバイス１２０の識別子を含んでもよく、これにより、プロセッサ１０２が、照明デバイス１２０を識別する、及び照明デバイスの識別子とそれらの特性との関連性を格納しているデータベースにアクセスすることによって照明デバイス１２０の一つ以上の特性を決定することを可能にしてもよい。データベースは、モバイルデバイス１００に格納されてもよく、プロセッサ１０２によって直接アクセス可能であってもよく、又はメモリ１０６に、若しくは、照明制御システム等の遠隔デバイスに格納され、例えば通信ユニット１０８を通じて、プロセッサ１０２によってアクセス可能であってもよい。照明デバイス１２０の識別子は、格納された識別子と比較されてもよく、該識別子が格納された識別子に対応する場合、当該格納された識別子と関連する一つ以上の特性がプロセッサ１０２によって取り出されてもよい。
【００３３】
追加的に又は代替的に、コードは、照明デバイス１２０の特性を含んでもよく、これは、プロセッサ１０２が、コードから直接照明デバイス１２０の一つ以上の特性を取り出すことを可能にする。照明デバイス１２０は、どの特性がコードに含まれているかを決定するように構成されるコントローラを含んでもよい／該コントローラに接続されてもよい。コントローラはさらに、特定の特性の選択を示す制御コマンドを受けるように構成されてもよい。制御コマンドは、例えば、モバイルデバイス１００（上で動作しているアプリケーション）から受けてもよい。モバイルデバイス１００のプロセッサ１０２はさらに、照明デバイス１２０のコントローラに特定の特性を表わすコードを含んでいる光を発することを要求するように照明デバイスに制御コマンドを伝えるよう構成されてもよい。
【００３４】
例えば、照明デバイス１２０の特性は、照明デバイス１２０によって発せられる光のビームサイズ及び／又はビーム形状に関してもよい。光のビームは、特定の形状（例えば狭い形状）を有してもよく、これは、プロセッサ１０２が、仮想オブジェクトの外観（例えば長尺な形状）及び／又は挙動（例えば、ビーム内の／ビームに沿う動き軌道）を決定／選択し、それに応じて仮想オブジェクトをレンダリングすることを可能にする。
【００３５】
例えば、照明デバイス１２０の特性は、照明デバイス１２０の識別子又はタイプに関してもよい。照明デバイス１２０は、特定のタイプ（例えば複数の個々の光源を含んでいるシャンデリア）でもよく、これは、プロセッサ１０２が、仮想オブジェクトの外観（例えば光源ごとに１つの仮想オブジェクト等の複数の仮想オブジェクト）及び／又は挙動（例えばシャンデリアによって占有されている空間内のランダムな移動）を決定／選択し、それに応じて仮想オブジェクトをレンダリングすることを可能にする。
【００３６】
例えば、照明デバイス１２０の特性は、照明デバイス１２０の形状に関してもよい。照明デバイス１２０は、特定のデザイン又は形状を有してもよい。例えば、照明デバイスは、月の形をしたランプシェードを有してもよい。プロセッサ１０２は、仮想オブジェクトの外観（例えば宇宙服を着用している人間）及び／又は挙動（例えば人間が重量がないかのような移動）を決定／選択してもよく、それに応じて仮想オブジェクトをレンダリングしてもよい。
【００３７】
例えば、照明デバイス１２０の特性は、照明デバイス１２０の光設定に関してもよい。照明デバイス１２０は、特定の光設定（例えば経時的に調光されている赤色光）を発してもよく、これは、プロセッサ１０２が、仮想オブジェクトの外観（例えば、オブジェクトのサイズが調光レベルに対応してもよい、及び、オブジェクトのある部分は赤くてもよい）及び／又は挙動（例えば、オブジェクトのライフタイムは調光レベルに対応してもよい）を決定／選択し、それに応じて仮想オブジェクトをレンダリングすることを可能にする。
【００３８】
例えば、照明デバイス１２０の特性は、照明デバイス１２０の位置及び／又は向きに関してもよい。例えば、電球が天井に位置する場合、仮想オブジェクトは、翼（外観）を有し、飛行してもよく（挙動）、一方、同じ電球が地上に位置する場合、仮想オブジェクトは、脚（外観）を有し、這ってもよい（挙動）。例えば、電球が上方に向けられている場合、仮想オブジェクトは、上方へ移動する（挙動）ようにレンダリングされてもよく、一方、同じ電球が下方に向けられている場合、仮想オブジェクトは、下方へ移動する（挙動）ようにレンダリングされてもよい。
【００３９】
上述した特性及びそれらの対応する外観及び／又は挙動が単なる例であり、当業者は、添付の特許請求の範囲を逸脱することなく変形例を設計することが可能であることを理解されたい。
【００４０】
プロセッサ１０２は、画像レンダリングデバイス１０４に仮想オブジェクトをレンダリングするように構成される。プロセッサ１０２は、連続的に、埋め込みコードの検出の際、又は埋め込みコードが（連続的に）検出されている間だけ、画像レンダリングデバイス１０４に仮想オブジェクトをレンダリングしてもよい。プロセッサ１０２は、モバイルデバイス１００が存在する物理的環境とは無関係に、仮想オブジェクトをレンダリングしてもよい。代替的に、プロセッサ１０２は、物理的環境を拡張する(augment)ために物理的環境のビューの上のオーバーレイとして仮想オブジェクトをレンダリングするように構成されてもよい。
【００４１】
モバイルデバイス１００は、ディスプレイを含む、スマートフォン、タブレットＰＣ、スマートウォッチ、スマートグラス等でもよい。モバイルデバイス１００は、画像キャプチャデバイス（例えば（深度）カメラ）を含んでもよい。プロセッサ１０２は、モバイルデバイス１００のディスプレイに画像キャプチャデバイスによって捕捉される画像をレンダリングするように構成されてもよい。プロセッサ１０２はさらに、決定された外観及び／又は挙動にしたがって画像レンダリングデバイス１０４に仮想オブジェクトをレンダリングしてもよい。代替的に、モバイルデバイス１００は、透明要素を含む一つ以上のグラスを含む一対のスマートグラスでもよい。プロセッサ１０２は、透明要素に、選択された仮想オブジェクト４０２ｂをレンダリングするように構成されてもよい。画像レンダリングデバイス１０４は、仮想オブジェクトを、モバイルデバイスが位置する物理的環境のビュー上のオーバーレイとして、一つ以上のスマートグラスのうちの少なくとも１つのグラスに、又は、直接ユーザの網膜に投射するように構成されるプロジェクタでもよい。
【００４２】
仮想オブジェクトは、任意のタイプの仮想オブジェクトでもよい。仮想オブジェクトの例には、仮想家具、建物、植物等の無生物オブジェクト(inanimate object)、（ゲーム）キャラクタ及び動物等の生物オブジェクト(animate object)、マーク(signage)等が含まれるが、これらに限定されない。
【００４３】
照明デバイス１２０は、照明制御コマンドを受けるように構成される任意のタイプの照明デバイスでもよい。照明デバイス１２０は、一般照明(general lighting)、タスク照明、周囲照明(ambient lighting)、雰囲気照明(atmosphere lighting)、アクセント照明、屋内照明、屋外照明等を提供するように構成されてもよい。照明デバイス１２０は、照明器具若しくは照明具に設置されてもよく、又は独立型デバイス（例えばＬＥＤストリップ）等でもよい。照明デバイス１２０は、ポータブル照明デバイス（例えば、ＬＥＤキューブ、ＬＥＤ球体、又は物体／動物形状の照明デバイス等の手持ちサイズのデバイス）、又はウェアラブル照明デバイス（例えば、ライトブレスレット、ライトネックレス等）に含まれてもよい。
【００４４】
モバイルデバイス１００はさらに、（カメラ、３Ｄ深度カメラ等の）画像キャプチャデバイス１３０を含んでもよい。画像キャプチャデバイス１３０は、環境の画像を捕捉するように構成されてもよい。追加的に、画像キャプチャデバイス１３０は、光検出器１１２として機能してもよくて、光１２２に埋め込まれるコードを検出するように構成されてもよい。プロセッサ１０２はさらに、画像キャプチャデバイス１３０によって捕捉される画像を分析するように構成されてもよい。プロセッサ１０２は、例えば、画像内の物体（例えば、家具、玩具、デバイス、動物、植物、（建築）設備等）を識別してもよい。追加的に又は代替的に、プロセッサ１０２は、画像内の照明デバイス１２０を識別するように構成されてもよい。プロセッサ１０２はさらに、画像内の、及びそれとともに画像キャプチャデバイス１３０の視野２３２、３３２内の照明デバイス１２０及び／又は物体の位置を決定するために画像を分析するように構成されてもよい。プロセッサ１０２はさらに、画像キャプチャデバイス１３０の視野２３２、３３２内の照明デバイス１２０及び／又は物体に対する画像内の仮想オブジェクトのための（第２の）位置を決定し、該位置に基づいて画像レンダリングデバイスに仮想オブジェクトをレンダリング（及びそれとともに、物理的環境のビューの上のオーバーレイとして仮想オブジェクトをレンダリング）してもよい。プロセッサ１０２は、例えば、照明デバイス１２０／物体の隣に、照明デバイス１２０／物体の上に、等々、仮想オブジェクトをレンダリングしてもよい。プロセッサ１０２は画像を分析するための遠隔処理システムを使用してもよいことを理解されたい。
【００４５】
光検出器１１２はさらに、第２の照明デバイスによって発せられる光を検出するように構成されてもよく、該光は、第２の照明デバイスの第２の特性を表わす第２の埋め込みコードを含んでもよい。プロセッサ１０２はさらに、照明デバイス１２０の特性に基づいて、及び、第２の照明デバイスの第２の特性に基づいて仮想オブジェクトの外観及び／又は挙動を決定するように構成されてもよい。例えば、第１の照明デバイスの第１の特性は、第１の照明デバイスの第１の位置（例えば天井）に関連してもよく、第２の照明デバイスの第２の特性は、第２の照明デバイスの第２の位置（例えば地上）に関連してもよく、プロセッサ１０２は、これら２つの照明デバイスの間を移動するような仮想オブジェクトの動き軌道を選択／決定するように構成されてもよい。
【００４６】
図３は、仮想オブジェクト３４０の動き軌道３０２が画像キャプチャデバイス（図３に図示せず）の視野３３２内の複数の照明デバイスの位置に基づく例を示している。３つの照明デバイスは各々、特性を示すコードを含む光を発してもよい。特性は、各照明デバイスについて同一でもよく、例えば、特性は、照明デバイスのタイプ（例えば（吊下げ）ＬＥＤ電球）に関してもよい。代替的に、特性は、各照明デバイスについて異なってもよく、空間に対するそれらの位置（例えば空間に対する一組の座標）に、又は、互いに（例えば左、中央、右）に関してもよい。プロセッサ（図３に図示せず）は、特性に基づいて仮想オブジェクト３４０の動き軌道３０２を決定してもよい。例えば、これは、全て３つの照明デバイスが（吊下げ）ＬＥＤ電球である、及びそれらがモバイルデバイス３００の画像キャプチャデバイスの視野内にあるという事実に基づいてもよく、又は、例えば、埋め込みコードを通じて提供されるそれらの相対的位置、及びそれらがモバイルデバイス３００の画像キャプチャデバイスの視野内にあることに基づいてもよい。プロセッサは、決定された動き軌道３０２にしたがってディスプレイ３０４に仮想オブジェクトをレンダリングしてもよい。
【００４７】
ある実施形態において、プロセッサ１０２はさらに、仮想環境内の位置が物理的環境内の位置に対応する物理的環境上の仮想環境のマッピングを受けるように構成されてもよい。プロセッサ１０２は、リモートサーバ等のさらなるデバイスからこのマッピングを受けてもよい。追加的に又は代替的に、プロセッサ１０２はさらに、例えば、画像キャプチャデバイス１３０から受ける画像に基づいて及び／又は建物情報（例えば、２Ｄ／３Ｄ建物レイアウト）に基づいて、マッピングを生成するように構成されてもよい。プロセッサ１０２は、物理的環境上の仮想環境のマッピングを生成するために（例えば、３Ｄカメラ／スキャナから受ける深度情報に基づいてもよい）物理的環境のレイアウト及び物体の位置を決定するように画像処理アルゴリズムを適用してもよい。マッピングは、例えば、３Ｄ空間の物理的座標への仮想座標のマッピングでもよい。プロセッサ１０２はさらに、例えば、（屋内）測位システムから受ける測位信号に基づいて、物理的環境におけるモバイルデバイス１１０の位置を決定するように構成されてもよい。照明デバイス１２０の特性は、物理的環境における照明デバイス１２０の位置を表わしてもよい。これはさらに、プロセッサ１０２が、仮想環境に光源１２０を位置付けることを可能にする。これは、プロセッサ１０２が、仮想環境の仮想オブジェクトの仮想位置／軌道を決定する、及び物理的環境の上のオーバーレイとして仮想環境にそれに応じて仮想オブジェクトをレンダリングすることを可能にする。
【００４８】
ある実施形態において、照明デバイス１２０は、更新された埋め込みコードを含む光を発するように制御されてもよく、更新された埋め込みコードは、仮想オブジェクトの外観及び／又は挙動の変更のための命令を表してもよい。例えば、照明デバイス１２０は、照明デバイス１２０のコントローラによって、リモートサーバ等のさらなるデバイスによって、モバイルデバイス１００のプロセッサ１０２によって、等々、制御されてもよい。これは、仮想オブジェクトの外観及び／又は挙動のさらなる制御を可能にする。これはさらに、第１のモバイルデバイスが第２のモバイルデバイスのための仮想オブジェクトの外観及び／又は挙動を変えることが望まれる（ゲーム）状況において、有益であり得る。モバイルデバイス１００の光検出器１０２はさらに、更新された埋め込みコードを検出してもよく、プロセッサ１０２は、更新された埋め込みコードに基づいて仮想オブジェクトの更新された外観及び／又は更新された挙動を決定し、それに応じて仮想オブジェクトをレンダリングしてもよい。更新された埋め込みコード、例えば、仮想オブジェクトの色／形状／サイズを変える、仮想オブジェクトの運動速度を増加する／減らす、仮想オブジェクトの動き軌道を変える、仮想オブジェクトのライフタイムを増加する／減らす、等の、プロセッサ１０２に対する命令を含んでもよい。
【００４９】
図４は、仮想オブジェクトをレンダリングする方法４００を概略的に示す。方法４００は、
照明デバイス１２０によって発せられる光１２２を検出するステップ４０２であって、該光は、照明デバイス１２０の特性を表す埋め込みコードを含む、ステップと、
（例えば、照明デバイス１２０によって発せられる光の埋め込みコードに基づいて、メモリ１０６から、等）仮想オブジェクトを選択するステップ４０４と、
照明デバイス１２０の特性に基づいて仮想オブジェクトの外観及び／又は挙動を決定するステップ４０６と、
決定された外観及び／又は挙動にしたがって画像レンダリングデバイス１０４に仮想オブジェクトをレンダリングするステップ４０８と、
を含む。
【００５０】
方法４００は、コンピュータプログラムがコンピューティングデバイスの処理ユニット（例えば、モバイルデバイス１００のプロセッサ１０２）上で実行される場合、コンピュータプログラムのコンピュータプログラムコードにより実行されてもよい。
【００５１】
上記の実施形態は本発明を限定するものではなく、当業者は添付の特許請求の範囲から逸脱することなく多くの代替実施形態を設計できることに留意されたい。
【００５２】
特許請求の範囲において、括弧内に置かれた参照符号は、特許請求の範囲を限定するものとして解釈されるべきではない。「有する」という動詞及びその活用形の使用は、請求項に記載された要素又はステップ以外の要素又はステップの存在を排除するものではない。要素に先行する冠詞「a」又は「an」は、複数の斯かる要素の存在を排除するものではない。本発明は、いくつかの別個の要素を含むハードウェアにより、及び適切にプログラムされたコンピュータ又は処理ユニットにより実施されてもよい。いくつかの手段を列挙するデバイスの請求項において、これらの手段のいくつかは、同一のハードウェアのアイテムにより具体化されてもよい。特定の手段が相互に異なる従属請求項に列挙されているという単なる事実は、これらの手段の組み合わせが有利に使用できないことを示すものではない。
【００５３】
本発明の態様は、コンピュータにより実行され得るコンピュータ可読記憶デバイスに記憶されたコンピュータプログラム命令の集合体であってもよいコンピュータプログラムにおいて実施されてもよい。本発明の命令は、スクリプト、解釈可能プログラム、ダイナミックリンクライブラリ（ＤＬＬ）又はＪａｖａクラスを含むが、これらに限定されない任意の解釈可能又は実行可能コードメカニズムであってもよい。命令は、完全な実行可能プログラム、部分実行可能プログラム、既存のプログラムに対する修正（例えば更新）、又は既存のプログラムに対する拡張（例えば、プラグイン）として提供され得る。さらに、本発明の処理の一部は、複数のコンピュータ又はプロセッサにわたって分散されてもよい。
【００５４】
コンピュータプログラム命令を格納するのに適した記憶媒体には、ＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリデバイス、内部及び外部ハードディスクドライブ等の磁気ディスク、リムーバブルディスク並びにＣＤ−ＲＯＭディスクを含むが、これらに限定されないすべての形態の不揮発性メモリが含まれる。コンピュータプログラムは、斯様な記憶媒体上で頒布されてもよく、又はＨＴＴＰ、ＦＴＰ、電子メール、又はインターネット等のネットワークに接続されるサーバを介してダウンロード用に提供されてもよい。
【図１】
2020522804.tif 000003
【図２ａ】
2020522804.tif 000004
【図２ｂ】
2020522804.tif 000005
【図２ｃ】
2020522804.tif 000006
【図３】
2020522804.tif 000007
【図４】
2020522804.tif 000008
【国際調査報告】
2020522804.tif 000009
2020522804.tif 000010
2020522804.tif 000011