(58)【調査した分野】(Int.Cl.,DB名)
前記特定機能では、前記ユーザ端末の位置情報に基づいて、当該ユーザ端末が位置する建物に設けられた照明に関する情報を前記光源関連情報の少なくとも一部として特定する機能を
実現させるための請求項1または請求項2記載の画像処理プログラム。
前記特定機能では、前記ユーザ端末の位置情報に基づいて、当該ユーザ端末が位置する建物に設けられた遮蔽物に関する情報を前記光源関連情報の少なくとも一部として特定する機能を
実現させるための請求項1から請求項3のうち何れかに記載の画像処理プログラム。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態の例について図面を参照して説明する。なお、以下で説明する各実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、ある実施形態の例として説明した内容については、他の実施形態においてその説明を省略している場合がある。また、各実施形態の特徴部分に関係しない動作や処理については、その内容を省略している場合がある。さらに、以下で説明する各種フローを構成する各種処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
【0013】
[第1の実施形態]
図1は、本発明の一実施の形態における画像処理システム100の構成の例を示すブロック図である。
図1に示すように、画像処理システム100は、画像処理サーバ10(サーバ10)と、画像処理システム100のユーザが使用するユーザ端末20,201〜20N(Nは任意の整数)とを含む。なお、画像処理システム100の構成はこれに限定されず、単一のユーザ端末を複数のユーザが使用する構成としてもよいし、複数のサーバを備える構成としてもよい。
【0014】
サーバ10と複数のユーザ端末20,201〜20Nは、それぞれインターネットなどの通信ネットワーク30に接続されている。なお、図示しないが、複数のユーザ端末20,201〜20Nは、通信業者によって管理される基地局と無線通信回線によるデータ通信を行うことによって、通信ネットワーク30と接続する。
【0015】
画像処理システム100は、サーバ10と複数のユーザ端末20,201〜20Nとを備えることにより、ユーザの操作に応じて各種処理を実行するための各種機能を実現する。
【0016】
サーバ10は、画像処理システム100の管理者によって管理され、複数のユーザ端末20,201〜20Nに対して各種処理に関する情報を提供するための各種機能を有する。本例において、サーバ10は、WWWサーバなどの情報処理装置によって構成され、各種情報を格納する記憶媒体を備える。なお、サーバ10は、制御部や通信部などコンピュータとして各種処理を行うための一般的な構成を備えるが、ここでの説明は省略する。また、画像処理システム100においては、複数のユーザ端末20,201〜20Nそれぞれにかかる処理負荷を軽減させるといった観点から、各種情報はサーバ10が管理することが好ましい。ただし、各種情報を記憶する記憶部は、サーバ10がアクセス可能な状態で記憶領域を備えていればよく、例えば専用の記憶領域をサーバ10の外部に有する構成とされていてもよい。
【0017】
図2は、サーバ10の構成の例であるサーバ10Aの構成を示すブロック図である。
図2に示すように、サーバ10Aは、取得部11と、特定部12と、設定部13と、生成部14と、出力部15とを少なくとも備える。
【0018】
取得部11は、実空間を撮影する撮影装置を備えたユーザ端末から、実空間画像と当該ユーザ端末の位置情報を取得する機能を有する。
【0019】
ここで、実空間とは、現実の空間を意味する。実空間画像の構成は特に限定されないが、ユーザ端末のユーザが、ユーザ端末に設けられたカメラを操作して撮影された動画または静止画であることが好ましい。
【0020】
また、位置情報とは、ユーザ端末の位置を特定するための情報を意味する。位置情報は、後述する光源関連情報を特定可能な構成であれば特に限定されない。位置情報の例には、一般的なGPS情報がある。
【0021】
また、実空間画像と位置情報とを取得するための構成は特に限定されないが、実空間情報と位置情報とが対応付けられた情報をユーザ端末から受信する構成が好ましい。このような構成の例には、実空間画像が撮影された際の位置情報をユーザ端末が特定し、特定した位置情報と実空間画像およびユーザまたはユーザ端末の識別情報をユーザ操作に応じてサーバに送信する構成がある。
【0022】
特定部12は、光源に関連する情報として予め定義された情報(光源関連情報)と、位置情報とを対応付けて記憶する光源関連情報記憶手段を参照し(図示せず。)、ユーザ端末の位置情報に対応する光源関連情報を特定する機能を有する。
【0023】
ここで、光源関連情報の構成は特に限定されないが、実空間画像が撮影された位置における自然光の強弱や、撮影空間に設けられた照明の向きや色を特定し得る構成であることが好ましい。このような構成の例には、位置情報と、複数の光源の特徴とが対応付けされた構成がある。また、1つの位置情報に、季節や時間帯など変化する要素に対応する複数の光源情報が対応付けされている構成としてもよい。
【0024】
また、位置情報に対応する光源関連情報を特定するための構成は特に限定されないが、追加の情報をユーザに要求することなく1つの光源関連情報を特定し得る構成が好ましい。ただし、追加情報をユーザに要求する構成としてもよい。このような構成の例には、光源関連情報記憶手段において、取得部11により取得された位置情報の少なくとも一部を含む位置情報に対応付けされた光源関連情報を検索し、検索結果をユーザに提示し、ユーザに選択された光源関連情報を特定する構成がある。
【0025】
設定部13は、特定された光源関連情報に基づいて、仮想オブジェクトに対する仮想光源を設定する機能を有する。
【0026】
ここで、仮想オブジェクトとは、実空間画像に合成する対象を意味する。仮想オブジェクトの構成は、光源設定の内容に応じて表示形態が変化し得る構成であれば特に限定されない。このような構成の例には、いわゆる2Dオブジェクトや3Dオブジェクトがある。
【0027】
また、仮想オブジェクトに対する仮想光源を設定するとは、仮想オブジェクトが配置された仮想空間に、光源位置や輝度、光の色や向きなど所定のパラメータを決定することを意味する。仮想光源を設定するための構成は特に限定されないが、仮想空間を、実空間の環境と同じにし得る構成であることが好ましい。このような構成の例には、各種情報から実空間画像が撮影された実空間と仮想空間の環境とが同じになうように各種パラメータを設定した後、ユーザ操作に応じてパラメータを調整可能とした構成がある。
【0028】
生成部14は、設定された仮想光源に基づいて、仮想オブジェクト画像を生成する機能を有する。
【0029】
ここで、仮想オブジェクトを表す画像(仮想オブジェクト画像)を生成するための構成は特に限定されないが、仮想光源による影響を反映させた外観であることをユーザが認識し得る構成であることが好ましい。このような構成の例には、仮想光源による影響を反映させる前後の画像を生成し、ユーザ操作に応じて両者をユーザ端末に表示可能とする構成がある。
【0030】
出力部15は、生成された仮想オブジェクト画像が実空間画像に合成された合成画像を出力する機能を有する。
【0031】
ここで、出力とは、合成画像をユーザが認識し得る状態にすることを意味する。合成画像を出力するための構成は特に限定されないが、ユーザ端末が備える表示画面に合成画像が表示される構成が好ましい。このような構成の例には、合成画像を表示するための情報をサーバ10がユーザ端末に送信する構成がある。
【0032】
複数のユーザ端末20,201〜20Nは、それぞれ、ユーザによって管理され、例えば携帯電話端末やPDA(Personal Digital Assistants)、携帯型ゲーム装置や所謂ウェアラブルデバイスなどのネットワーク配信型のゲームを行うことが可能な通信端末によって構成される。なお、画像処理システム100が含み得るユーザ端末の構成は上述した例に限定されず、ユーザが合成画像を認識し得る構成であればよい。ユーザ端末の構成の他の例には、各種通信端末を組み合わせたものやパーソナルコンピュータ、据置型ゲーム装置がある。
【0033】
また、複数のユーザ端末20,201〜20Nは、それぞれ、通信ネットワーク30に接続し、サーバ10との通信を行うことにより各種処理を実行するためのハードウェア(例えば、座標に応じたブラウザ画面やゲーム画面を表示する表示装置など)およびソフトウェアを備える。なお、複数のユーザ端末20,201〜20Nそれぞれは、サーバ10を介さずに互いに直接通信を行うこともできる構成とされていてもよい。
【0034】
次に、本例の画像処理システム100(システム100)の動作について説明する。
【0035】
図3は、システム100が実行する画像処理の例を示すフローチャートである。本例における画像処理では、実空間画像と仮想オブジェクト画像の合成に関連する処理が行われる。以下、サーバ10Aとユーザ端末20(端末20)とが、画像処理を実行する場合を例にして説明する。
【0036】
画像処理は、例えばサーバ10Aにアクセスした端末20が合成画像の表示条件を満たした場合に開始される。以下、端末20を操作するユーザが表示条件を満たした場合を例にして説明する。
【0037】
サーバ10Aは、画像処理において、先ず、実空間画像と位置情報を取得する(ステップS11)。本例においてサーバ10Aは、端末20から、実空間画像と、位置情報とを含む合成要求を受信する。
【0038】
サーバ10Aは、実空間画像と位置情報を取得すると、位置情報に対応する光源関連情報を特定する(ステップS12)。本例においてサーバ10Aは、所定の記憶部(光源関連情報記憶手段)を参照し、端末20の位置情報に対応する光源関連情報を特定する。
【0039】
サーバ10Aは、光源関連情報を特定すると、仮想光源を設定する(ステップS13)。本例においてサーバ10Aは、特定した光源関連情報に基づいて、仮想オブジェクトに対する仮想光源を設定する。
【0040】
サーバ10Aは、仮想光源を設定すると、仮想オブジェクト画像を生成する(ステップS14)。本例においてサーバ10Aは、設定された仮想光源に基づいて、仮想オブジェクト画像を生成する。
【0041】
サーバ10Aは、仮想オブジェクト画像を生成すると、合成画像を出力し(ステップS15)、ここでの処理を終了する。本例においてサーバ10Aは、生成された仮想オブジェクト画像が実空間画像に合成された合成画像を出力する。
【0042】
図4は、画像処理におけるサーバ10A側の動作の例を示すフローチャートである。ここでは、システム100におけるサーバ10Aの動作について改めて説明する。
【0043】
サーバ10Aは、画像処理において、先ず、実空間画像と位置情報を取得し(ステップS101)、取得した位置情報に対応する光源関連情報を特定し(ステップS102)、特定した光源関連情報に基づいて仮想光源を設定し(ステップ103)、設定した仮想光源に基づいて仮想オブジェクト画像を生成し(ステップ104)、生成した仮想オブジェクト画像と取得した実空間画像とを合成した合成画像を出力する(ステップ105)。
【0044】
図5は、端末20が画像処理を実行する場合の端末20側の動作の例を示すフローチャートである。以下、端末20が、単体で画像処理を実行する場合を例にして説明する。なお、端末20の構成については、サーバ10から各種情報を受信することを除きサーバ10の構成と同様の機能を備えるものであるため、重複説明を避ける観点から記載を省略する。
【0045】
端末20は、画像処理において、先ず、実空間画像と位置情報を取得し(ステップS201)、取得した位置情報に対応する光源関連情報を特定し(ステップS202)、特定した光源関連情報に基づいて仮想光源を設定し(ステップ203)、設定した仮想光源に基づいて仮想オブジェクト画像を生成し(ステップ204)、生成した仮想オブジェクト画像と取得した実空間画像とを合成した合成画像を出力する(ステップ205)。本例において端末20は、サーバ10Aと通信することで、各ステップで用いる情報を取得する。なお、端末20が、自身が備える記憶部を参照して各ステップで用いる情報を特定する構成としてもよい。
【0046】
以上に説明したように、第1の実施形態の一側面として、実空間画像と仮想オブジェクト画像の合成を制御する機能を備えたサーバ10Aが、取得部11と、特定部12と、設定部13と、生成部14と、出力部15とを備える構成としているので、実空間を撮影する撮影装置を備えたユーザ端末から、実空間画像と当該ユーザ端末の位置情報を取得し、光源に関連する情報として予め定義された情報(光源関連情報)と、位置情報とを対応付けて記憶する光源関連情報記憶手段を参照し、ユーザ端末の位置情報に対応する光源関連情報を特定し、特定した光源関連情報に基づいて、仮想オブジェクトに対する仮想光源を設定し、設定された仮想光源に基づいて、仮想オブジェクト画像を生成し、生成された仮想オブジェクト画像が実空間画像に合成された合成画像を出力し、実空間における光源の影響をARオブジェクトにより正確に反映させることができる。
【0047】
すなわち、実空間の位置情報が対応付けされた光源関連情報を利用することで、利用しない場合と比べ、仮想オブジェクト画像の生成において光源の影響を正確に反映させることができる。特に、実空間画像が撮影(あるいは、生成)された状況の光源環境を光源関連情報が正確に再現可能な構成となっている程、仮想オブジェクト画像と実空間画像との合成が自然になる。言い換えれば、実空間における光源関連情報が蓄積される程、実空間における光源の影響を仮想オブジェクトに正確に反映させることができるようになるという意味でも有用である。
【0048】
[第2の実施形態]
図6は、画像処理サーバ10の例である画像処理サーバ10B(サーバ10B)の構成を示すブロック図である。本例において、サーバ10Bは、取得部11Bと、特定部12と、設定部13Bと、生成部14と、出力部15とを少なくとも備える。
【0049】
取得部11Bは、所定の外部機器から、光源関連情報を補足する情報(補足情報)を取得する機能を有する。
【0050】
ここで、所定の外部機器とは、少なくとも補足情報を取得する前に特定可能とされている各種機器を意味する。所定の外部機器の構成は特に限定されないが、実空間において光源に影響し得る情報を取得し得る構成であることが好ましい。このような構成の例には、監視カメラや監視カメラを管理する管理機器がある。
【0051】
また、補足情報を取得するための構成は特に限定されないが、光源関連情報との関係が明確な構成であることが好ましい。このような構成の例には、光源関連情報が「位置情報が示す部屋Aには、北方向に窓およびブラインドがある」という内容である場合に、「部屋Aに設けられた管理情報では、部屋Aのブラインドは閉ざされている。」という構成がある。
【0052】
設定部13Bは、仮想光源を設定する場合に、補足情報を利用する機能を有する。
【0053】
ここで、補足情報を利用するための構成は特に限定されず、ユーザ操作を要求する構成としてもよいし、ユーザ操作を要求しない構成としてもよい。ユーザ操作を要求する構成の例には、補足情報を設定する場合と設定しない場合の仮想光源の設定内容をユーザに提示し、ユーザ操作に応じて設定内容を調整する構成がある。
【0054】
図7は、システム100が実行する画像処理の例を示すフローチャートである。以下、サーバ10Bと、端末20の動作を例にして説明する。なお、サーバ10Bと端末20それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
【0055】
サーバ10Bは、画像処理において、光源関連情報を特定すると、補足情報を取得する(ステップS2−11)。本例においてサーバ10Bは、取得した位置情報に関連する外部機器を特定し、特定した外部機器との通信により補足情報を取得する。
【0056】
サーバ10Bは、補足情報を取得すると、補足情報を利用して仮想光源を設定する(ステップS2−11)。本例においてサーバ10Bは、特定した光源関連情報に取得した補足情報を反映させることで、仮想光源を設定する。すなわち、例えば光源関連情報に「蛍光灯の情報」がある場合に、補足情報が「実空間画像が撮影された時点での蛍光灯はON」である場合、蛍光灯がONになっている状態に対応するよう仮想光源を設定する。
【0057】
以上に説明したように、第2の実施形態の一側面として、サーバ10Bが、取得部11Bと、特定部12と、設定部13Bと、生成部14と、出力部15とを備える構成としているので、所定の外部機器から、光源関連情報を補足する情報(補足情報)を取得し、仮想光源を設定する場合に、補足情報を利用し、外部機器に蓄積された情報を利用することができる。
【0058】
[第3の実施形態]
図8は、画像処理サーバ10の例である画像処理サーバ10C(サーバ10C)の構成を示すブロック図である。本例において、サーバ10Cは、取得部11と、特定部12Cと、設定部13と、生成部14と、出力部15とを少なくとも備える。
【0059】
特定部12Cは、ユーザ端末の位置情報に基づいて、当該ユーザ端末が位置する建物に設けられた照明に関する情報を光源関連情報の少なくとも一部として特定する機能を有する。
【0060】
ここで、位置情報に基づいて照明に関する情報を特定するための構成は特に限定されないが、ユーザ端末が位置する部屋まで特定可能な構成であることが好ましい。このような構成の例には、位置情報に部屋情報まで含まれる構成や、位置情報から特定可能な建物の情報をユーザに提示して部屋を特定するための情報(例えば、部屋番号)をユーザに要求する構成がある。なお、位置情報から建物を特定するための構成は特に限定されず、地図情報を用いる公知の技術を利用する構成としてもよい。
【0061】
図9は、システム100が実行する画像処理の例を示すフローチャートである。以下、サーバ10Cと、端末20の動作を例にして説明する。なお、サーバ10Cと端末20それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
【0062】
サーバ10Cは、実空間画像と位置情報を取得すると、照明に関する情報を含む光源関連情報を特定する(ステップS3−11)。本例においてサーバ10Cは、端末20から取得した位置情報から建物を特定し、当該建物に設けられた照明に関する情報を特定する。
【0063】
以上に説明したように、第3の実施形態の一側面として、サーバ10Cが、取得部11と、特定部12Cと、設定部13と、生成部14と、出力部15を備える構成としているので、ユーザ端末の位置情報に基づいて、当該ユーザ端末が位置する建物に設けられた照明に関する情報を光源関連情報の少なくとも一部として特定し、光源関連情報の有用性を高めることができる。
【0064】
[第4の実施形態]
図10は、画像処理サーバ10の例である画像処理サーバ10D(サーバ10D)の構成を示すブロック図である。本例において、サーバ10Dは、取得部11と、特定部12Dと、設定部13と、生成部14と、出力部15と、提示部16とを少なくとも備える。
【0065】
特定部12Dは、ユーザ端末の位置情報に基づいて、当該ユーザ端末が位置する建物に設けられた遮蔽物に関する情報を光源関連情報の少なくとも一部として特定する機能を有する。
【0066】
ここで、遮蔽物とは、光を遮蔽し得る物を意味する。遮蔽物の例には、カーテンやブラインドがある。また、遮蔽物に関する情報の構成は特に限定されないが、光源との位置関係を含む構成が好ましい。このような構成の例には、建物における窓や照明の位置および遮蔽物の位置とを含む構成がある。
【0067】
また、位置情報に基づいて遮蔽物に関する情報を特定するための構成は特に限定されないが、ユーザ端末が位置する部屋まで特定可能な構成であることが好ましい。このような構成の例には、位置情報に部屋情報まで含まれる構成や、位置情報から特定可能な建物の情報をユーザに提示して部屋を特定するための情報(例えば、部屋番号)をユーザに要求する構成がある。なお、位置情報から建物を特定するための構成は特に限定されず、地図情報を用いる公知の技術を利用する構成としてもよい。
【0068】
図11は、システム100が実行する画像処理の例を示すフローチャートである。以下、サーバ10Dと、端末20の動作を例にして説明する。なお、サーバ10Dと端末20それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
【0069】
サーバ10Dは、実空間画像と位置情報を取得すると、遮蔽物に関する情報を含む光源関連情報を特定する(ステップS4−11)。本例においてサーバ10Dは、端末20から取得した位置情報から建物を特定し、当該建物に設けられた遮蔽物に関する情報を特定する。
【0070】
以上に説明したように、第4の実施形態の一側面として、サーバ10Dが、取得部11と、特定部12Dと、設定部13と、生成部14と、出力部15とを備える構成としているので、ユーザ端末の位置情報に基づいて、当該ユーザ端末が位置する建物に設けられた遮蔽物に関する情報を光源関連情報の少なくとも一部として特定し、光源関連情報の有用性を高めることができる。
【0071】
[第5の実施形態]
図12は、サーバ10の例であるサーバ10E(サーバ10E)の構成を示すブロック図である。本例において、サーバ10Eは、取得部11Eと、特定部12と、設定部13Eと、生成部14と、出力部15とを少なくとも備える。
【0072】
取得部11Eは、ユーザ端末の表示画面に表示されている画像を撮影している撮影装置とは異なる撮影装置により撮影された画像(別画像)をユーザ端末から取得する機能を有する。
【0073】
ここで、異なる撮影装置とは、少なくとも撮影範囲が異なることを意味する。異なる撮影装置の構成は、表示中の画像を撮影している撮影範囲(主範囲)とは異なる撮影範囲(副範囲)を利用する構成であれば特に限定されないが、主範囲とは異なる方向を撮影範囲とするものが好ましい。このような構成の例には、いわゆるスマートフォンにおけるメインカメラに対するサブカメラがある。なお、ユーザ端末において、2つの撮影装置により撮影された画像(実空間画像と別画像)が同時に表示可能な構成とされていてもよい。
【0074】
また、別画像を取得するための構成は特に限定されないが、実画像と別画像とが同時に撮影されることで、実画像を撮影している際の周辺環境(特に光源に関する状況)を推定可能となる構成であることが好ましい。このような構成の例には、実画像と別画像とが撮影時に対応付けて記憶される構成がある。
【0075】
設定部13Eは、仮想光源を設定する場合に、実空間画像と別画像とを利用する機能を有する。
【0076】
ここで、ユーザ端末から取得した実空間画像と別画像とを仮想光源の設定に利用するための構成は特に限定されないが、2つのカメラから光のバランスを検出して利用する構成が好ましい。なお、実空間を撮影した複数の画像から光のバランスなど光源環境を推定するための構成は特に限定されず、公知の技術を用いる構成としてもよい。
【0077】
図13は、システム100が実行する画像処理の例を示すフローチャートである。以下、サーバ10Eと、端末20の動作を例にして説明する。なお、サーバ10Eと端末20それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
【0078】
サーバ10Eは、画像処理において、実空間画像と、別画像と、位置情報とを取得する(ステップS5−11)。本例においてサーバ10Eは、端末20から、実空間画像と、当該実空間画像と同時に撮影された別画像と、撮影時に端末20が位置した場所を示す位置情報とを含む合成要求を受信する。
【0079】
サーバ10Eは、実空間画像と、別画像と、位置情報とを取得し、位置情報に対応する光源関連情報を特定すると、仮想光源を設定する(ステップS5−12)。本例においてサーバ10Aは、特定した光源関連情報に、実空間画像および別画像から推定した光源環境を反映させることで、仮想光源を設定する。
【0080】
以上に説明したように、第5の実施形態の一側面として、サーバ10Eが、取得部11Eと、特定部12と、設定部13Eと、生成部14と、出力部15とを備える構成としているので、ユーザ端末の表示画面に表示されている画像を撮影している撮影装置とは異なる撮影装置により撮影された画像(別画像)をユーザ端末から取得し、仮想光源を設定する場合に、実空間画像と別画像とを利用し、例えば光源関連情報だけを利用する場合と比べ、実空間における光源の影響を仮想オブジェクトにより正確に反映させることができる。
【0081】
[第6の実施形態]
図14は、システム100(
図1参照)における画像処理サーバ10の例である画像処理サーバ10Z(サーバ10Z)の構成を示すブロック図である。本例において、サーバ10Zは、取得部11Zと、特定部12Zと、設定部13Zと、生成部14Zと、出力部15Zとを少なくとも備える。
【0082】
取得部11Zは、実空間を撮影する撮影装置を備えたユーザ端末20の例であるユーザ端末20(端末20)から、実空間画像と当該ユーザ端末の位置情報を取得する機能を有する。以下、取得部11Zが、カメラを備えた端末20から、カメラにより撮影された実空間画像と、端末20のGPS機能により特定された位置情報を取得する場合を例にして説明する。
【0083】
特定部12Zは、光源に関連する情報として予め定義された情報(光源関連情報)と、位置情報とを対応付けて記憶する光源関連情報記憶手段を参照し、ユーザ端末の位置情報に対応する光源関連情報を特定する機能を有する。以下、特定部12Zが、端末20の位置情報に対応する光源関連情報として、自然光、照明、および遮蔽物のうち少なくとも1つに関連する情報を特定する場合を例にして説明する。
【0084】
設定部13Zは、特定した光源関連情報に基づいて、仮想オブジェクトに対する仮想光源を設定する機能を有する。以下、設定部13Zが、特定した光源関連情報に基づいて、ビデオゲームに登場するキャラクタを端末20に表示させるための仮想光源を設定する場合を例にして説明する。
【0085】
生成部14Zは、設定された仮想光源に基づいて、仮想オブジェクト画像を生成する機能を有する。以下、生成部14Zが、設定された仮想光源に基づいてキャラクタを描画する場合を例にして説明する。
【0086】
出力部15Zは、生成された仮想オブジェクト画像が実空間画像に合成された合成画像を出力する機能を有する。以下、出力部15Zが、描画されたキャラクタ画像が実空間画像に合成された合成画像を端末20の表示画面に表示させる場合を例にして説明する。
【0087】
図15は、サーバ10が備える記憶部(図示せず)に記憶される情報の格納状態の例について説明するための説明図である。
図15に示すように、記憶部は、位置情報と、光源関連情報とを対応付けて記憶する。
【0088】
ここで、位置情報とは、現実空間における位置を特定し得る情報を意味する。位置情報の構成は、現実空間の位置を特定し得るものであれば特に限定されないが、ユーザが位置する施設を特定可能な構成であることが好ましい。位置情報の例には、経度と緯度、施設名、階層がある。また、位置情報が、施設に関する情報(例えば、階層や部屋番号)を含む構成としてもよい。
【0089】
また、光源関連情報とは、現実空間における光源を特定し得る情報を意味する。光源関連情報の構成は、光源に関する情報(例えば、光源位置や光の方向)を特定し得るものであれば特に限定されないが、同じ位置でも日時や天候に対応する複数の情報を含む構成であることが好ましい。光源関連情報の例には、窓の位置、遮蔽物の種類、照明の種類数がある。
【0090】
図16は、サーバ10Zを備えるシステム100Zが実行する画像処理の例を示すフローチャートである。本例における画像処理では、本例における画像処理では、実空間画像と仮想オブジェクト画像の合成に関連する処理が行われる。以下、各処理について説明する。なお、各処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
【0091】
画像処理は、例えばサーバ10Zにアクセスした端末20が合成画像の表示条件を満たした場合に開始される。以下、端末20を操作するユーザが、プレイ中のビデオゲームにおいて、AR画像の表示要求を入力した場合を例にして説明する。
【0092】
システム100Zは、画像処理において、先ず、実空間画像と位置情報を取得する(ステップS301)。本例ではサーバ10Zが、実空間画像と位置情報とを含む合成要求を端末20から受信する。
【0093】
システム100Zは、実空間画像と位置情報を取得すると、位置情報に対応する光源関連情報を特定する(ステップS302)。本例ではサーバ10Zが、端末20の位置情報に対応付けされた光源関連情報を、所定の記憶部を検索することで特定する。
【0094】
システム100Zは、光源関連情報を特定すると、仮想光源を設定する(ステップS303)。本例ではサーバ10Zが、特定した光源関連情報に基づいて、仮想オブジェクトに対する仮想光源を設定する。
【0095】
システム100Zは、仮想光源を設定すると、仮想オブジェクト画像を生成する(ステップS304)。本例ではサーバ10Zが、設定された仮想光源に基づいて、AR画像の表示要求に対応するキャラクタ画像を描画する。
【0096】
システム100Zは、仮想オブジェクト画像を生成すると、合成画像を出力し(ステップS305)、ここでの処理を終了する。本例ではサーバ10Zが、描画したキャラクタ画像が実空間画像に合成された合成画像を端末20の表示画面に表示させるための情報を、端末20に送信する。
【0097】
以上に説明したように、第6の実施形態の一側面として、実空間画像と仮想オブジェクト画像の合成を制御する機能を備えたサーバ10Zが、取得部11Zと、特定部12Zと、設定部13Zと、生成部14Zと、出力部15Zとを備える構成としているので、実空間を撮影する撮影装置を備えた端末20Zから、実空間画像と当該ユーザ端末の位置情報を取得し、光源に関連する情報として予め定義された情報(光源関連情報)と、位置情報とを対応付けて記憶する光源関連情報記憶手段を参照し、ユーザ端末の位置情報に対応する光源関連情報を特定し、特定した光源関連情報に基づいて、仮想オブジェクト(例えば、ARオブジェクトとしてのキャラクタ)に対する仮想光源を設定し、設定された仮想光源に基づいて、仮想オブジェクト画像を生成し(例えば、仮想光源を反映させたキャラクタを描画し)、生成された仮想オブジェクト画像が実空間画像に合成された合成画像を出力し(例えば、端末20ZにAR画像を表示させ)、実空間における光源の影響をARオブジェクトにより正確に反映させることができるようになる。
【0098】
なお、上述した第6の実施形態の例では特に言及していないが、サーバ10Zが、所定の外部機器から、光源関連情報を補足する情報(補足情報)を取得し、仮想光源を設定する場合に、補足情報を利用する構成としてもよい。このような構成の例には、ユーザ端末が位置する施設の監視カメラから光源に関連する情報(例えば、照明のオンオフや遮蔽物の開閉)を取得して補足情報とする構成がある。このような構成とすることで、外部機器に蓄積された情報をAR画像の表示に利用することができる。
ことができるようになる。
【0099】
なお、補足情報を取得するため構成は特に限定されず、既存のサービス(例えば、地図情報サービス)と連動させる構成としてもよい。また、同じ部屋の中でも外光が当たる場合と当たらない場合あるため、補足情報として部屋の環境を利用する構成としてもよい。すなわち、環境がデータ化され、光の分布図が補足情報として利用できる構成であることが好ましい。このような構成とすることで、例えばユーザ端末のカメラから光源情報を推定する場合と比べ、カメラの死角になる位置の情報も光源情報の推定に利用可能となる。すなわち、ユーザ端末が存在するエリアにライト環境を当て込むことで、光源情報の計算に馴染みやすい情報を得ることができる。
【0100】
また、上述した第6の実施形態の例では、サーバ10Zが、ユーザ端末の位置情報に基づいて、当該ユーザ端末が位置する建物に設けられた照明に関する情報を光源関連情報の少なくとも一部として特定する構成としているので、光源関連情報の有用性を高めることができる。
【0101】
また、上述した第6の実施形態の例では特に言及していないが、サーバ10Zが、所ユーザ端末の位置情報に基づいて、当該ユーザ端末が位置する建物に設けられた遮蔽物に関する情報を光源関連情報の少なくとも一部として特定する構成としているので、光源関連情報の有用性を高めることができる。
【0102】
なお、上述した第6の実施形態の例では特に言及していないが、サーバ10Zが、ユーザ端末の表示画面に表示されている画像を撮影している撮影装置とは異なる撮影装置により撮影された画像(別画像)をユーザ端末から取得し、仮想光源を設定する場合に、実空間画像と別画像とを利用する構成としてもよい。このような構成の例には、位置情報とコンパスで太陽の位置を特定しキーライト(強いライト)として決定し、端末20に設けられたメインカメラとサブカメラから取得した画像から光のバランスを検出し、仮想光源を設定する構成がある。撮影範囲の異なるメインカメラとサブカメラとを利用することで、例えば光源関連情報だけを利用する場合と比べ、実空間における光源の影響をARオブジェクトにより正確に反映させることができる。
【0103】
なお、上述した第6の実施形態の例では特に言及していないが、サーバ10Zが、ユーザ操作に応じて動作するキャラクタを仮想オブジェクトとする構成としてもよい。このような構成の例には、端末20に表示されたキャラクタ画像に対する移動操作をユーザから受け付け、移動操作に応じたキャラクタの移動後の位置を決定し、決定した移動後の位置における仮想光源を反映させたキャラクタ画像を描画し、合成画像を端末20に表示させる構成がある。このような構成とすることで、キャラクタ画像がより現実空間に存在するような感覚をユーザに提供できる。
【0104】
なお、上述した第6の実施形態の例では特に言及していないが、サーバ10Zが、実空間画像に対応する時間情報を取得し、時間情報に基づいて光源関連情報を特定する構成としてもよい。このような構成の例には、実空間画像が撮影された日時または合成画像を生成する日時を、カレンダー機能を備えた端末20から取得し、取得した日時を検索条件に含めて光源関連情報を検索する構成がある。このような構成とすることで、実空間における光源の影響を仮想オブジェクトにより正確に反映させることができる。
【0105】
以上に説明したように、本願の各実施形態により1または2以上の不足が解決される。なお、夫々の実施形態による効果は、非限定的な効果または効果の一例である。
【0106】
なお、上述した各実施形態では、複数のユーザ端末20,201〜20Nとサーバ10は、自己が備える記憶装置に記憶されている各種制御プログラム(例えば、画像処理プログラム)に従って、上述した各種の処理を実行する。
【0107】
また、システム100の構成は上述した各実施形態の例として説明した構成に限定されず、例えばユーザ端末が実行する処理として説明した処理の一部または全部をサーバ10が実行する構成としてもよいし、サーバ10が実行する処理として説明した処理の一部または全部を複数のユーザ端末20,201〜20Nの何れか(例えば、ユーザ端末20)が実行する構成としてもよい。また、サーバ10が備える記憶部の一部または全部を複数のユーザ端末20,201〜20Nの何れかが備える構成としてもよい。すなわち、システム100におけるユーザ端末20とサーバ10のどちらか一方が備える機能の一部または全部を、他の一方が備える構成とされていてもよい。
【0108】
また、プログラムが、上述した各実施形態の例として説明した機能の一部または全部を、通信ネットワークを含まない装置単体に実現させる構成としてもよい。
【0109】
[付記]
上述した実施形態の説明は、少なくとも下記発明を、当該発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
[1]
実空間画像と仮想オブジェクト画像の合成を制御する機能をサーバに実現させるための画像処理プログラムであって、
前記サーバに、
実空間を撮影する撮影装置を備えたユーザ端末から、実空間画像と当該ユーザ端末の位置情報を取得する取得機能と、
光源に関連する情報として予め定義された情報(以下「光源関連情報」という。)と、位置情報とを対応付けて記憶する光源関連情報記憶手段を参照し、前記ユーザ端末の位置情報に対応する光源関連情報を特定する特定機能と、
特定した光源関連情報に基づいて、仮想オブジェクトに対する仮想光源を設定する設定機能と、
設定した仮想光源に基づいて、前記仮想オブジェクト画像を生成する生成機能と、
生成した前記仮想オブジェクト画像が前記実空間画像に合成された合成画像を出力する出力機能とを
実現させるための画像処理プログラム。
[2]
前記取得機能では、所定の外部機器から、前記光源関連情報を補足する情報(以下「補足情報」という。)を取得する機能を実現させ、
前記設定機能では、前記仮想光源を設定する場合に、前記補足情報を利用する機能を
実現させるための[1]記載の画像処理プログラム。
[3]
前記特定機能では、前記ユーザ端末の位置情報に基づいて、当該ユーザ端末が位置する建物に設けられた照明に関する情報を前記光源関連情報の少なくとも一部として特定する機能を
実現させるための[1]または[2]記載の画像処理プログラム。
[4]
前記特定機能では、前記ユーザ端末の位置情報に基づいて、当該ユーザ端末が位置する建物に設けられた遮蔽物に関する情報を前記光源関連情報の少なくとも一部として特定する機能を
実現させるための[1]から[3]のうち何れかに記載の画像処理プログラム。
[5]
前記取得機能では、前記ユーザ端末の表示画面に表示されている画像を撮影している撮影装置とは異なる撮影装置により撮影された画像(以下「別画像」という。)を前記ユーザ端末から取得する機能を実現させ、
前記設定機能では、前記仮想光源を設定する場合に、前記実空間画像と前記別画像とを利用する機能を
実現させるための[1]から[4]のうち何れかに記載の画像処理プログラム。
[6]
前記設定機能では、ユーザ操作に応じて動作するキャラクタを前記仮想オブジェクトとする機能を
実現させるための[1]から[5]のうち何れかに記載の画像処理プログラム。
[7]
前記取得機能では、前記実空間画像に対応する時間情報を取得する機能を実現させ、
前記特定機能では、前記時間情報に基づいて前記光源関連情報を特定する機能を
実現させるための[1]から[6]のうち何れかに記載の画像処理プログラム。
[8]
[1]から[7]のうち何れかに記載の画像処理プログラムが前記サーバに実現させる機能のうち少なくとも1つの機能を、当該サーバと通信可能なユーザ端末に実現させるための画像処理プログラム。
[9]
[1]から[7]のうち何れかに記載の画像処理プログラムがインストールされたサーバ。
[10]
通信ネットワークと、サーバと、ユーザ端末とを備え、ユーザ操作に応じて実空間画像と仮想オブジェクト画像の合成を制御する画像処理システムであって、
実空間を撮影する撮影装置を備えたユーザ端末から、実空間画像と当該ユーザ端末の位置情報を取得する取得手段と、
光源に関連する情報として予め定義された情報(以下「光源関連情報」という。)と、位置情報とを対応付けて記憶する光源関連情報記憶手段を参照し、前記ユーザ端末の位置情報に対応する光源関連情報を特定する特定手段と、
特定された光源関連情報に基づいて、仮想オブジェクトに対する仮想光源を設定する設定手段と、
設定された仮想光源に基づいて、前記仮想オブジェクト画像を生成する生成手段と、
生成された前記仮想オブジェクト画像が前記実空間画像に合成された合成画像を出力する出力手段とを含む
ことを特徴とする画像処理システム。
[11]
前記サーバが、前記取得手段と、前記特定手段と、前記設定手段と、前記生成手段とを含み、
前記ユーザ端末が、前記生成手段により生成された前記合成画像を表すゲーム画面を表示装置の表示画面に出力する出力手段を含む
[10]記載の画像処理システム。
[12]
実空間画像と仮想オブジェクト画像の合成を制御する機能をサーバに実現させるための画像処理プログラムであって、実空間を撮影する撮影装置を備えたユーザ端末から、実空間画像と当該ユーザ端末の位置情報を取得する取得機能と、光源に関連する情報として予め定義された情報(以下「光源関連情報」という。)と、位置情報とを対応付けて記憶する光源関連情報記憶手段を参照し、前記ユーザ端末の位置情報に対応する光源関連情報を特定する特定機能と、特定した光源関連情報に基づいて、仮想オブジェクトに対する仮想光源を設定する設定機能と、設定した仮想光源に基づいて、前記仮想オブジェクト画像を生成する生成機能と、生成した前記仮想オブジェクト画像が前記実空間画像に合成された合成画像を出力する出力機能とを有するサーバから、当該サーバが備える機能に関する情報を受信して当該機能に対応する入出力を行う機能を前記ユーザ端末に
実現させるための画像処理プログラム。
[13]
実空間画像と仮想オブジェクト画像の合成を制御する機能をユーザ端末に実現させるための画像処理プログラムであって、
前記ユーザ端末に、
実空間を撮影した実空間画像と、当該ユーザ端末の位置情報とを取得する取得機能と、
光源に関連する情報として予め定義された情報(以下「光源関連情報」という。)と、位置情報とを対応付けて記憶する光源関連情報記憶手段を参照し、前記位置情報に対応する光源関連情報を特定する特定機能と、
特定した光源関連情報に基づいて、仮想オブジェクトに対する仮想光源を設定する設定機能と、
設定した仮想光源に基づいて、前記仮想オブジェクト画像を生成する生成機能と、
生成した前記仮想オブジェクト画像が前記実空間画像に合成された合成画像を出力する出力機能とを
実現させるための画像処理プログラム。
[14]
[13]記載の画像処理プログラムが前記ユーザ端末に実現させる機能のうち少なくとも1つの機能を、当該ユーザ端末と通信可能なサーバに実現させるための画像処理プログラム。
[15]
[12]または[13]記載の画像処理プログラムがインストールされたユーザ端末。
[16]
実空間画像と仮想オブジェクト画像の合成を制御する画像処理方法であって、
実空間を撮影する撮影装置を備えたユーザ端末から、実空間画像と当該ユーザ端末の位置情報を取得する取得処理と、
光源に関連する情報として予め定義された情報(以下「光源関連情報」という。)と、位置情報とを対応付けて記憶する光源関連情報記憶手段を参照し、前記ユーザ端末の位置情報に対応する光源関連情報を特定する特定処理と、
特定した光源関連情報に基づいて、仮想オブジェクトに対する仮想光源を設定する設定処理と、
設定した仮想光源に基づいて、前記仮想オブジェクト画像を生成する生成処理と、
生成した前記仮想オブジェクト画像が前記実空間画像に合成された合成画像を出力する出力処理とを含む
ことを特徴とする画像処理方法。
[17]
通信ネットワークと、サーバと、ユーザ端末とを備える画像処理システムが、実空間画像と仮想オブジェクト画像の合成を制御する画像処理方法であって、
実空間を撮影する撮影装置を備えたユーザ端末から、実空間画像と当該ユーザ端末の位置情報を取得する取得処理と、
光源に関連する情報として予め定義された情報(以下「光源関連情報」という。)と、位置情報とを対応付けて記憶する光源関連情報記憶手段を参照し、前記ユーザ端末の位置情報に対応する光源関連情報を特定する特定処理と、
特定した光源関連情報に基づいて、仮想オブジェクトに対する仮想光源を設定する設定処理と、
設定した仮想光源に基づいて、前記仮想オブジェクト画像を生成する生成処理と、
生成した前記仮想オブジェクト画像が前記実空間画像に合成された合成画像を出力する出力処理とを含む
ことを特徴とする画像処理方法。