(57)【要約】【課題】  本発明は、ユーザにとって、光源オブジェクトの操作によってライティング効果が変化することが容易に把握できる情報処理装置を提供することを目的とする。【解決手段】  本発明に係る情報処理装置は、撮像画像とともに仮想光源の状態を示すオブジェクトを表示させる表示手段と、時間の経過に応じて、前記オブジェクトを変化させるとともに、前記仮想光源の状態を変更する変更手段と、前記変更手段により状態が変更された仮想光源によるライティング効果を前記撮像画像に付与する付与手段と、を有することを特徴とする。【選択図】  図８
2020071803.tif 000002
【特許請求の範囲】
【請求項１】
撮像画像とともに仮想光源の状態を示すオブジェクトを表示させる表示手段と、
時間の経過に応じて、前記オブジェクトを変化させるとともに、前記仮想光源の状態を変更する変更手段と、
前記変更手段により状態が変更された仮想光源によるライティング効果を前記撮像画像に付与する付与手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記オブジェクトの変化は、前記オブジェクトの位置、向き、大きさ、明るさ、色、透過度、個数のうちの少なくとも一つの変化であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記時間の経過は、前記オブジェクトの表示を始めた時からの経過時間であることを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置の所定の変化を検出する検出手段を更に有し、
前記時間の経過は、前記検出手段により所定の変化が検出された時からの経過時間であることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記情報処理装置の所定の変化は、前記情報処理装置の位置もしくは姿勢の変化であることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記情報処理装置の所定の変化は、前記情報処理装置に対する入力の情報の変化であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記変更手段は、ユーザの操作に基づき、前記オブジェクトによって示される仮想光源の状態を変更することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記経過時間は、前記ユーザの操作を受け付けた時点からの経過時間であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記変更手段は、前記ユーザの操作を受け付けた場合、前記時間の経過に応じた前記オブジェクトによって示される仮想光源の状態の変更を終了することを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
表示手段が、撮像画像とともに仮想光源の状態を示すオブジェクトを表示させる表示工程と、
変更手段が、時間の経過に応じて、前記オブジェクトを変化させるとともに、前記仮想光源の状態を変更する変更手段と、
付与手段が、前記変更工程において変更された仮想光源によるライティング効果を前記撮像画像に付与する付与手段と、を有することを特徴とする情報処理方法。
【請求項１１】
コンピュータを、
撮像画像とともに仮想光源の状態を示すオブジェクトを表示させる表示手段と、
時間の経過に応じて、前記オブジェクトを変化させるとともに、前記仮想光源の状態を変更する変更手段と、
前記変更手段により状態が変更された仮想光源によるライティング効果を前記撮像画像に付与する付与手段と、を有することを特徴とする情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想光源によるライティング効果を撮像画像に付与する情報処理装置に関する。
【背景技術】
【０００２】
従来、撮像画像に仮想的なライティング効果を加える仮想ライティング処理を実行する技術がある。特許文献１には、光源を模した操作用オブジェクト（以下、光源オブジェクトと呼ぶ）に対してユーザが仮想光源の位置や光強度といったパラメータを設定し、その仮想光源によるライティング効果を画像に加えることが開示されている。この技術は、光源オブジェクトを撮像画像に重畳表示し、その光源オブジェクトに対するユーザの操作に応じて仮想光源のパラメータを変更する。このとき、仮想光源のパラメータを、光源オブジェクトの表示位置やサイズといった表示状態と連動させて変更することにより、ユーザが仮想光源の位置や光強度を視覚的に把握しながらライティングの状態を調整することを可能とするものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０１０４９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術においては、光源オブジェクトがユーザにより操作されなければ、撮像画像に付与されるライティング効果は変化しない。よって、ユーザが、光源オブジェクトの操作機能を有する情報処理装置の操作に不慣れである場合、光源オブジェクトの操作によってライティング効果が変化することに気付かない場合がある。本願発明は、上記課題を鑑みてなされたものであり、ユーザにとって、光源オブジェクトの操作によってライティング効果が変化することが容易に把握できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る情報処理装置は、撮像画像とともに仮想光源の状態を示すオブジェクトを表示させる表示手段と、時間の経過に応じて、前記オブジェクトを変化させるとともに、前記仮想光源の状態を変更する変更手段と、前記変更手段により状態が変更された仮想光源によるライティング効果を前記撮像画像に付与する付与手段と、を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、ユーザにとって、光源オブジェクトの操作によってライティング効果が変化することが容易に把握できる情報処理装置を提供することができる。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置のハードウェア構成を示す図。
【図２】情報処理装置の外観の一例を示す図。
【図３】情報処理装置の論理構成を示すブロック図。
【図４】第１実施形態に係る情報処理装置が実行する処理の流れを示すフローチャート。
【図５】第１実施形態に係る座標系を説明する図。
【図６】第１実施形態に係るＧＵＩおよびライティング画像の例を示す図。
【図７】第１実施形態に係る経過時間に応じた光源オブジェクトパラメータ変更の例を示す図。
【図８】第１実施形態に係るＧＵＩおよびライティング画像の変化の例を示す図。
【図９】第２実施形態に係る情報処理装置が実行する処理の流れを示すフローチャート。
【図１０】第２実施形態に係る経過時間に応じた光源オブジェクトパラメータ変更の例を示す図。
【図１１】第２実施形態に係るＧＵＩおよびライティング画像の例を示す図。
【図１２】第３実施形態に係る情報処理装置が実行する処理の流れを示すフローチャート。
【図１３】第３実施形態に係る経過時間に応じた光源オブジェクトパラメータ変更の例を示す図。
【図１４】第３実施形態に係るＧＵＩおよびライティング画像の例を示す図。
【図１５】第４実施形態に係るＧＵＩおよびライティング画像の変化の例を示す図。
【図１６】第５実施形態に係る情報処理装置が実行する処理の流れを示すフローチャート。
【図１７】第５実施形態に係る仮想光源の初期パラメータの例を示す図。
【図１８】第５実施形態に係る光源オブジェクトの状態の例を示す図。
【図１９】第５実施形態に係るＧＵＩおよびライティング画像の変化の例を示す図。
【発明を実施するための形態】
【０００８】
以下、本実施形態について、図面を参照して説明する。尚、以下の実施形態は本発明を必ずしも限定するものではない。また、本実施形態において説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【０００９】
（第１実施形態）
＜情報処理装置１のハードウェア構成＞
図１（ａ）は、情報処理装置１のハードウェア構成の一例を示す図である。情報処理装置１は、スマートフォンやタブレットＰＣ（パーソナルコンピュータ）等の通信機能及び撮像機能を備えた機器により実現される。情報処理装置１は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、入出力インタフェース（Ｉ／Ｆ）１０４と、タッチパネルディスプレイ１０５と、撮像部１０６と、通信Ｉ／Ｆ１０７と、を有する。ＣＰＵ１０１は、ＲＡＭ１０３をワークメモリとして、ＲＯＭ１０２、外部記憶装置１１０などに格納されたＯＳ（オペレーティングシステム）や各種プログラムを実行する。尚、ＯＳ（オペレーティングシステム）や各種プログラムは、内部の記憶装置内に格納されていても良い。また、ＣＰＵ１０１は、システムバス１０８を介して各構成を制御する。尚、後述するフローチャートによる処理は、ＲＯＭ１０２や外部記憶装置１１０などに格納されたプログラムコードがＲＡＭ１０３に展開され、ＣＰＵ１０１によって実行される。入出力Ｉ／Ｆ１０４には、シリアルバス１０９を介して、外部記憶装置１１０が接続される。外部記憶装置１１０は、ＨＤＤ（ハードディスクドライブ）である。タッチパネルディスプレイ１０５は、画像の表示を行うディスプレイと、指などの指示体によるタッチの位置を検出するタッチパネルと、が一体となった入出力部である。撮像部１０６は、撮像対象の画像を取得する撮像部である。図２に本実施形態における情報処理装置１の外観の一例を示す。図２（ａ）に、情報処理装置１のタッチパネルディスプレイ１０５を有する面（以下、ディスプレイ面と呼ぶ）を示し、図２（ｂ）に情報処理装置１のディスプレイ面と反対の面（以下、背面と呼ぶ）を示す。本実施形態における撮像部１０６は、情報処理装置１の背面に備えられるメインカメラ２０２及び情報処理装置１のディスプレイ面に備えられるインカメラ２０１である。インカメラ２０１は、ディスプレイ（表示画面）を閲覧しようとするユーザの顔を撮像可能な位置及び方向に設置されている。通信Ｉ／Ｆ１０７は、他の情報処理装置や通信機器、外部記憶装置等との間で、有線又は無線による双方向の通信を行う。本実施形態における通信Ｉ／Ｆ１０７は、無線ＬＡＮ（ローカルエリアネットワーク）を介して通信相手とのデータの送受信が可能である。また、通信Ｉ／Ｆ１０７は、他の通信機器との間では、直接の通信以外に、中継装置を介した間接的な通信も可能である。
【００１０】
＜情報処理装置１の論理構成＞
情報処理装置１の論理構成例を説明する。図３（ａ）は、本実施形態における情報処理装置１の論理構成を示すブロック図である。情報処理装置１は、ＲＡＭ１０３をワークメモリとして、ＣＰＵ１０１がＲＯＭ１０２に格納されたプログラムを実行することによって、図３（ａ）に示す論理構成として機能する。尚、以下に示す処理の全てが必ずしもＣＰＵ１０１によって実行される必要はなく、処理の一部または全てがＣＰＵ１０１以外の一つまたは複数の処理回路によって行われるように情報処理装置１が構成されていてもよい。
【００１１】
情報処理装置１は、データ取得部３０１と、ライティング部３０２と、画像表示部３０３と、データ保存部３０４と、操作部３０５と、変更部３０６と、ＧＵＩ表示部３０７とを有する。
【００１２】
データ取得部３０１は、入力画像データとして撮像画像を撮像部１０６から取得する。また、仮想光源パラメータの初期値と光源オブジェクトパラメータの初期値を、ＲＯＭ１０２あるいは外部記憶装置１１０などから取得する。仮想光源パラメータとは、画像にライティング効果を付与する際に用いる仮想光源の状態を表すパラメータであり、例えば仮想光源の位置、向き、照射角、強度、配光曲線、個数などである。光源オブジェクトパラメータとは、光源オブジェクトの状態を表すパラメータであり、例えば光源オブジェクトの位置、向き、大きさ、明るさ、色、透過度、形状、個数などである。これらのパラメータの初期値は、ＲＯＭ１０２あるいは外部記憶装置１１０などに予め格納されているものとする。尚、撮像部１０６がポートレートモードやマクロモードといった複数の撮像モードを備える場合には、撮像モードごとに用意された初期値の中から、入力画像の撮像モードに対応する値を取得してもよい。取得した入力画像データと仮想光源パラメータの初期値は、ライティング部３０２へ送られる。また、光源オブジェクトパラメータの初期値は変更部３０６へ送られる。
【００１３】
ライティング部３０２は、光源オブジェクトパラメータに基づいて仮想光源パラメータを決定する。また、仮想光源パラメータを用いて、仮想光源によるライティング効果が付与された画像データ（以下、ライティング画像データと呼ぶ。）を生成する。処理の詳細は後述する。生成されたライティング画像データは、画像表示部３０３およびデータ保存部３０４へ送られる。
【００１４】
画像表示部３０３は、ライティング画像データをタッチパネルディスプレイ１０５に出力して表示する。
【００１５】
データ保存部３０４は、ライティング画像データを外部記憶装置１１０に格納して保存する。
【００１６】
操作部３０５は、タッチパネルディスプレイ１０５を介して、ユーザの操作を表す入力情報（以下、操作情報と呼ぶ。）を受信する。受信した操作情報のうち、光源オブジェクトに対するものは変更部３０６へ送られる。
【００１７】
変更部３０６は、光源オブジェクトに対する操作または時間の経過に応じて、光源オブジェクトパラメータを決定する。処理の詳細は後述する。決定された光源オブジェクトパラメータは、ライティング部３０２およびＧＵＩ表示部３０７へ送られる。
【００１８】
ＧＵＩ表示部３０７は、光源オブジェクトパラメータに基づき光源オブジェクトを含むＧＵＩ（グラフィカルユーザインタフェース）を描画し、タッチパネルディスプレイ１０５に出力して表示する。
【００１９】
図５は、本実施形態で用いる座標系（ｉｊ平面座標系、ｕｖ平面座標系、ｘｙｚ空間座標系）を説明する模式図である。ｉｊ平面座標系は、入力画像Ｉの左上隅を原点、水平方向右向きをｉ軸、垂直方向下向きをｊ軸とする２次元座標系である。以下、画像上において位置座標が（ｉ，ｊ）である画素を「画素（ｉ，ｊ）」と表す。ｕｖ平面座標系は、入力画像Ｉの中心を原点、ｉ軸と同じ向きをｕ軸、ｊ軸の逆向きをｖ軸とする２次元座標系である。ｕ、ｖは画像の横幅と縦幅がそれぞれ１となるように正規化されているものとする。ｘｙｚ空間座標系は、入力画像Ｉを撮像したカメラの光学中心Ｏを原点、ｕ軸と同じ向きをｘ軸、ｖ軸と同じ向きをｙ軸、深度方向（すなわちカメラの光軸方向）の手前（カメラ側）から奥（被写体側）へ向かう向きをｚ軸とする３次元座標系である。以下の説明では、仮想光源パラメータとして仮想光源の３次元位置ベクトルＰＬ＝（ｘＬ，ｙＬ，ｚＬ）と、仮想光の減衰率ＦＬ（Ｐ´）と、仮想光のＲＧＢの強度（ＩｒＬ，ＩｇＬ，ＩｂＬ）とを用いる。ここで、Ｐ´は仮想光源の位置を原点とした３次元位置ベクトルであり、ＦＬ（Ｐ´）は仮想光源から射出された光が位置ベクトルＰ´の示す点に到達する際の減衰率（０≦ＦＬ（Ｐ´）≦１）である。また、光源オブジェクトパラメータとして、ｕｖ平面座標系における光源オブジェクトの位置座標（ｕｐ，ｖｐ）と、光源オブジェクトの明るさＳｐとを用いる。以下、仮想光源パラメータをまとめてＱＬ（＝｛ＰＬ，ＦＬ（Ｐ´），（ＩｒＬ，ＩｇＬ，ＩｂＬ）｝）と表し、光源オブジェクトパラメータをまとめてｑＬ（＝｛（ｕｐ，ｖｐ），Ｓｐ｝）と表す。
【００２０】
＜ライティング処理の詳細＞
ライティング部３０２におけるライティング処理の詳細を説明する。まず、入力画像の各画素について被写体表面の向きを表す単位法線ベクトルを取得する。法線ベクトルの取得には、公知である種々の形状推定技術を利用可能である。例えば、入力画像の陰影に基づいて推定してもよいし、予め用意した形状モデルを入力画像中の被写体にあてはめて推定してもよい。あるいは、撮像対象の深度情報を画像と併せて取得可能なカメラを撮像部に用い、そこから得られる深度情報に基づいて法線を算出してもよい。法線ベクトルの取得方法については本発明の主眼ではないため、詳細な説明を省略する。
【００２１】
次に、仮想光源パラメータと被写体表面の法線ベクトルとに基づいて、被写体が仮想光源により照らされた場合の仮想的な反射強度を求める。本実施形態では、入力画像の各画素（ｉ，ｊ）について次式に従い仮想反射強度（ＩｒＤ（ｉ，ｊ），ＩｇＤ（ｉ，ｊ），ＩｂＤ（ｉ，ｊ））を算出する。
【００２２】
【数１】
2020071803.tif 000003
【００２３】
ここで、Ｐ（ｉ，ｊ）は入力画像中の画素（ｉ，ｊ）に写っている被写体の３次元位置ベクトルである。この位置ベクトルＰ（ｉ，ｊ）は、被写体の深度情報と撮像部の画角とに基づいて算出するなどして画素ごとに取得することが望ましい。あるいは、処理を簡単にするために、画素位置に依らない一定の値（例えば、Ｐ（ｉ，ｊ）＝（０，０，ｄｐ）。ただし、ｄｐは定数。）としてもよい。（Ｉｒ（ｉ，ｊ），Ｉｇ（ｉ，ｊ），Ｉｂ（ｉ，ｊ））は入力画像における画素（ｉ，ｊ）のＲＧＢ値である。Ｌ（ｉ，ｊ）は、被写体から仮想光源へと向かう光源ベクトルである。Ｎ（ｉ，ｊ）は画素（ｉ，ｊ）に関する被写体表面の法線ベクトルである。式１により得られる仮想反射強度は、減衰率および入力画像の画素値がそれぞれ一定であれば、法線ベクトルと光源ベクトルとのなす角θが小さいほど大きな値となる。θ＝０の場合（すなわち、被写体表面が仮想光源から入射する光の方向に正対している場合）に最大となる。
【００２４】
以上で算出した仮想反射強度を次式に従い入力画像のＲＧＢ値に加えることで、ライティング画像データを生成する。
【００２５】
【数２】
2020071803.tif 000004
【００２６】
ここで、（Ｉ´ｒ（ｉ，ｊ），Ｉ´ｇ（ｉ，ｊ），Ｉ´ｂ（ｉ，ｊ））はライティング画像における画素（ｉ，ｊ）のＲＧＢ値である。
【００２７】
尚、仮想反射強度を算出する際には、式１で表される反射の他、光沢などの被写体固有の反射特性や影などを考慮してもよく、コンピュータグラフィクスで一般的に用いられる様々な反射モデルを利用可能である。上記の処理により、撮像画像中の被写体に対してライティング効果を付与することが可能になる。
【００２８】
＜情報処理装置１が実行する処理＞
図４は、情報処理装置１が実行する処理の流れを示すフローチャートである。以下、各ステップ（工程）は符号の前にＳをつけて表す。
【００２９】
Ｓ４０１において、データ取得部３０１は、入力画像データと、仮想光源の初期パラメータＱＬ０＝｛ＰＬ０，ＦＬ０（Ｐ´），（ＩｒＬ０，ＩｇＬ０，ＩｂＬ０）｝と、光源オブジェクトの初期パラメータｑＬ０＝｛（ｕｐ０，ｖｐ０），Ｓｐ０｝を取得する。具体的な初期パラメータの一例を以下に示す。
【００３０】
（仮想光源の初期パラメータＱＬ０）
・仮想光源の位置ベクトルＰＬ０＝（０，０，ｄＬ０）  （ｄＬ０は定数）
・仮想光の減衰率ＦＬ０（Ｐ´）＝１／｜Ｐ´｜２
・仮想光のＲＧＢの強度（ＩｒＬ０，ＩｇＬ０，ＩｂＬ０）＝（０．５，０．５，０．５）
（光源オブジェクトの初期パラメータｑＬ０）
・光源オブジェクトの位置座標（ｕｐ０，ｖｐ０）＝（０，０）
・光源オブジェクトの明るさＳｐ０＝０．５
【００３１】
Ｓ４０２において、ライティング部３０２と変更部３０６は、Ｓ４０１で取得した初期パラメータＱＬ０、ｑＬ０を用いて、仮想光源パラメータＱＬと光源オブジェクトパラメータｑＬをそれぞれ初期化する。すなわち、ライティング部３０２が仮想光源パラメータＱＬ＝ＱＬ０とし、変更部３０６が光源オブジェクトパラメータｑＬ＝ｑＬ０とする。
【００３２】
Ｓ４０３において、ライティング部３０２は、Ｓ４０２で初期化した仮想光源パラメータＱＬを用いて、Ｓ４０１で取得した入力画像データにライティング効果を付与し、ライティング画像データを生成する。
【００３３】
Ｓ４０４において、ＧＵＩ表示部３０７は、光源オブジェクトを含むＧＵＩをタッチパネルディスプレイ１０５に表示する。さらに、画像表示部３０３は、Ｓ４０３で生成したライティング画像をＧＵＩ上の所定の領域に表示する。図６（ａ）はＧＵＩの一例を示す図である。ライティング画像Ｉ´は、ＧＵＩ６上の画像表示領域６０１に表示される。また、光源オブジェクト６０２は、Ｓ４０２で初期化された光源オブジェクトパラメータｑＬ（＝ｑＬ０）に基づき、画像表示領域６０１に表示されたライティング画像Ｉ´に重畳表示される。図６（ａ）では、ライティング画像Ｉ´は被写体が正面から仮想光で照らされた画像となっている。また、光源オブジェクト６０２はライティング画像Ｉ´の中央に重畳表示されている。この図において、網掛け部分６０５は、仮想光源のライティング効果により明るくなった部分を表している。以下の説明で用いる図中では、より明るい部分ほど、より濃い色の網掛けで表現する。
【００３４】
Ｓ４０５において、変更部３０６は現在の時刻を取得し、これを仮想ライティング処理の開始時刻ｔ０として記憶する。
【００３５】
Ｓ４０６において、操作部３０５は、Ｓ４０４で表示した光源オブジェクトに対するユーザの操作情報を受け付ける。光源オブジェクトに対するユーザの操作情報とは、タッチパネルディスプレイ１０５に表示された光源オブジェクトに対するタップ（シングルタップ、ダブルタップ、ロングタップ）、ドラッグ、フリック、ピンチイン／ピンチアウトなどの操作に関する情報である。光源オブジェクトに対する操作情報を受信した場合はＳ４０７へ進み、それ以外の場合はＳ４０８へ進む。
【００３６】
Ｓ４０７において、変更部３０６は、Ｓ４０６で受信した操作情報に応じて光源オブジェクトパラメータｑＬの値を決定する。例えば、光源オブジェクトがドラッグされた場合、ドラッグによるタッチ位置の移動に応じた分だけ光源オブジェクトの位置座標（ｕｐ，ｖｐ）を変更する。また、光源オブジェクトがタップされた場合、光源オブジェクトの明るさＳｐを変更する。明るさを変更する際には、タップされる毎に予め定めた複数段階の階調を巡回するように変更する。あるいは、タップされた際に別途スライダを表示し、このスライダをユーザが操作することにより明るさを変更してもよい。尚、操作情報と各種パラメータの変更内容との対応付けは上述した例に限るものではない。その他の例としては、光源オブジェクトに対するピンチイン／ピンチアウトの操作により明るさを減増させてもよいし、光源オブジェクトがタップされる度に明るさをＳｐ＝０とＳｐ≠０とで切り替えてもよい。
【００３７】
Ｓ４０８において、変更部３０６は現在の時刻を取得し、これを現時刻ｔとして記憶する。
【００３８】
Ｓ４０９において、変更部３０６は開始時刻ｔ０から現時刻ｔまでの経過時間Δｔ０（＝ｔ−ｔ０）に応じて、光源オブジェクトパラメータｑＬ（すなわち、光源オブジェクトの位置座標（ｕｐ，ｖｐ）と明るさＳｐ）の値を決定する。ここでは、以下に示す経過時間Δｔの関数ｆｕ（Δｔ）、ｆｖ（Δｔ）、ｆｓ（Δｔ）にΔｔ＝Δｔ０を代入して得られる値を、それぞれｕｐ（＝ｆｕ（Δｔ０））、ｖｐ（＝ｆｖ（Δｔ０））、Ｓｐ（＝ｆＳ（Δｔ０））とする。
【００３９】
【数３】
2020071803.tif 000005
【００４０】
ここで、ａｕ１、ａｖ１は、ｕｖ平面座標系における各軸方向の位置の変動幅を表す係数である。ａＳ１は、明るさの変動幅を表す係数である。ａｕ２、ａｖ２、ａＳ２は、位置または明るさの変動に関する時間軸方向の周期を表す係数である。図７に、経過時間と光源オブジェクトパラメータの値との関係の一例を示す。図７（ａ）〜（ｃ）はそれぞれ式４〜６により定まるｕｐ、ｖｐ、Ｓｐのグラフであり、図７（ｄ）はこの場合のｕｖ平面上における光源オブジェクトの位置座標（ｕｐ，ｖｐ）の軌跡である。尚、各パラメータの値の算出に用いられる関数は上述した例（式４〜６）に限られず、経過時間Δｔ０の関数であれば任意の関数を利用可能である。また、関数を用いる代わりに、経過時間Δｔ０と各パラメータの値とが対応付けられたＬＵＴを参照することにより、光源オブジェクトパラメータの値を決定してもよい。
【００４１】
Ｓ４１０において、ライティング部３０２は、Ｓ４０７またはＳ４０９で決定した光源オブジェクトパラメータｑＬに基づいて、仮想光源パラメータＱＬを決定する。本実施形態では、光源オブジェクトパラメータｑＬ＝｛（ｕｐ，ｖｐ），Ｓｐ｝に基づいて、仮想光源パラメータＱＬに含まれる仮想光源の位置ベクトルＰＬとＲＧＢの強度（ＩｒＬ，ＩｇＬ，ＩｂＬ）を、次式に従い決定する。
【００４２】
【数４】
2020071803.tif 000006
【００４３】
ここで、θＨ、θＶはそれぞれ入力画像を撮像したカメラの水平画角および垂直画角である。
【００４４】
Ｓ４１１において、ライティング部３０２は、Ｓ４１０で決定した仮想光源パラメータＱＬを用いてライティング画像データを再生成する。
【００４５】
Ｓ４１２において、画像表示部３０３は、ライティング画像データの表示を更新する。すなわち、Ｓ４１１で再生成したライティング画像データを、Ｓ４０４で表示したＧＵＩ６上の画像表示領域６０１に上書き表示する。さらに、ＧＵＩ表示部３０７は、Ｓ４０７またはＳ４０９で決定した光源オブジェクトパラメータｑＬに基づき、光源オブジェクト６０２を画像表示領域６０１に再描画する。図６（ｂ）に、更新後のＧＵＩの一例を示す。この図は、Ｓ４０９において経過時間Δｔ０に応じて光源オブジェクトパラメータを決定した場合の例である。図６（ｂ）では、光源オブジェクト６０２の位置と明るさが図６（ａ）から変化している。また、この変化に応じて、仮想光により照らされている部分６０５の位置と明るさも変化している。
【００４６】
Ｓ４１３において、操作部３０５は、Ｓ４０４で表示したＧＵＩを介してユーザの操作情報を受け付け、処理を続行するか否かを判定する。具体的には、ＧＵＩ６上の決定ボタン６０３またはキャンセルボタン６０４が押下された場合は、処理を終了すると判定してＳ４１４へ進む。それ以外の場合は、処理を続行すると判定してＳ４０６へ戻る。
【００４７】
Ｓ４１４において、操作部３０５は、Ｓ４１３で受信した操作情報に基づき、ライティング画像データを保存するか否かを判定する。具体的には、Ｓ４１３で押下されたボタンが決定ボタン６０３であった場合は、データを保存すると判定してＳ４１５へ進む。Ｓ４１３で押下されたボタンがキャンセルボタン６０４であった場合は、データを保存しないと判定して処理を終了する。
【００４８】
Ｓ４１５において、データ保存部３０４は、Ｓ４１１で再生成したライティング画像データを保存し、処理を終了する。
【００４９】
（第１実施形態の効果）
以上説明したように、本実施形態における情報処理装置は、ＧＵＩ上において光源オブジェクトの状態を時間経過に応じて変化させるとともに、光源オブジェクトの状態に応じた仮想光源によるライティング効果を画像に付与して表示する。これにより、光源オブジェクトと付与されるライティング効果との関係を容易に把握できる。
【００５０】
尚、本実施形態では、データ取得部３０１は撮像部１０６から入力画像データを取得したが、外部記憶装置１１０などに格納されている画像データを入力画像データとして取得してもよい。
【００５１】
また、データ取得部３０１は予め格納されている仮想光源パラメータの初期値と光源オブジェクトパラメータの初期値を取得したが、これらの初期値は入力画像中の被写体の種別や位置、大きさなどに基づいて決定してもよい。例えば、ピントの合っている領域や人物の顔が写っている領域を主被写体領域として抽出し、主被写体領域の中心位置と大きさを基準にして仮想光源の初期位置ベクトルＰＬ０および光源オブジェクトの初期位置座標（ｕｐ０，ｖｐ０）を決定してもよい。あるいは、以前に設定した仮想光源パラメータや光源オブジェクトパラメータの値を記憶しておき、これらを初期値として用いてもよい。
【００５２】
また、データ保存部３０４は、ライティング画像データとともに仮想光源パラメータを紐づけて保存してもよい。
【００５３】
また、本実施形態では、光源オブジェクトパラメータとして光源オブジェクトの位置座標と明るさとを用いたが、いずれか一方のみを用いてもよい。位置座標のみを用いる場合は、Ｓ４１０において式７に基づき仮想光源の位置ベクトルのみを決定し、仮想光源のＲＧＢの強度は初期値のまま一定とすればよい。また、明るさのみを用いる場合は、式８に基づき仮想光源のＲＧＢの強度のみを決定し、仮想光源の位置ベクトルは初期値のまま一定とすればよい。
【００５４】
また、本実施形態において仮想光源は指向性を持たない点光源としたが、スポットライトのように指向性を持つ光源としてもよい。その場合、仮想光源の光軸方向や照射角度を仮想光源パラメータに追加し、光源オブジェクトの向きや形状を光源オブジェクトパラメータとして用いてもよい。すなわち、Ｓ４０７またはＳ４０９で光源オブジェクトの向きを決定し、その向きに基づいてＳ４１０で仮想光源の光軸方向を決定する。あるいは、Ｓ４０７またはＳ４０９で光源オブジェクトの形状を決定し、その形状に基づいてＳ４１０で仮想光源の照射角度を決定する。このときのＧＵＩおよびライティング画像の変化の例を図８（ａ）、（ｂ）に示す。
【００５５】
また、仮想光源を面光源としてもよい。その場合、仮想光源の面の大きさや形状を仮想光源パラメータに追加し、光源オブジェクトの大きさや形状を光源オブジェクトパラメータとして用いてもよい。すなわち、Ｓ４０７またはＳ４０９で光源オブジェクトの大きさや形状を決定し、それらに基づいてＳ４１０で仮想光源の面の大きさや形状を決定する。このときのＧＵＩおよびライティング画像の変化の例を図８（ｃ）に示す。
【００５６】
また、本実施形態では、光源オブジェクトの明るさに基づいて仮想光源のＲＧＢの強度を決定したが、他の光源オブジェクトパラメータに基づいて決定しても良い。図８（ｄ）に、光源オブジェクトの透過度に応じて仮想光源のＲＧＢの強度を決定した場合のＧＵＩおよびライティング画像の変化の例を示す。この図の例では、時刻ｔ０において不透明であった光源オブジェクト６０２が時刻ｔ０＋Δｔ０において半透明となっている。また、この変化に応じて、仮想光により照らされている部分の明るさが減少している。
【００５７】
また、光源オブジェクトの大きさに基づいて仮想光源の明るさを決定しても良い。図８（ｅ）に示す例では、光源オブジェクトが大きいほど仮想光により照らされている部分の明るさが増大している。
【００５８】
また、点光源や面光源といった光源の種別を仮想光源パラメータに追加し、各種の光源を模した形状を光源オブジェクトパラメータとして用いてもよい。すなわち、Ｓ４０７またはＳ４０９で光源オブジェクトの形状を決定し、その形状に基づいてＳ４１０で仮想光源の種別を決定する。その場合、Ｓ４１１において、光源の種別に応じた反射モデルに基づいて仮想反射強度を算出し、ライティング画像データを生成すればよい。種々の反射モデルに基づく反射強度の算出方法については本発明の主眼ではないため、詳細な説明を省略する。
【００５９】
また、本実施形態では、仮想光源パラメータと被写体表面の法線ベクトルとに基づいて仮想反射強度を算出することによりライティング画像データを生成したが、ライティング画像データの生成方法はこれに限らない。例えば、既知の光源下で被写体を撮像した様々な画像データに基づいて仮想光源パラメータと得られるライティング画像との関係を学習し、その学習結果に基づいてライティング画像データを生成してもよい。
【００６０】
（第２実施形態）
第１実施形態においては、仮想ライティング処理開始時点からの時間の経過に応じて光源オブジェクトの状態を変更した。本実施形態においては、さらに、操作された時刻からの時間の経過も考慮して光源オブジェクトの状態を変更する。（尚、本実施形態における情報処理装置１のハードウェア構成は第１実施形態のものと同等であるため、説明を省略する。）以下において、本実施形態と第１実施形態とで異なる部分を主に説明する。尚、第１実施形態と同一の構成については、同一の符号を付して説明する。
【００６１】
＜情報処理装置１の論理構成＞
本実施形態における情報処理装置１の論理構成は、第１実施形態（図３（ａ））と同じである。
【００６２】
＜情報処理装置１が実行する処理＞
図９は、本実施形態における情報処理装置１が実行する処理の流れを示すフローチャートである。尚、本実施形態における仮想光源パラメータＱＬ、および、光源オブジェクトパラメータｑＬは、第１実施形態と同様にＱＬ＝｛ＰＬ，ＦＬ（Ｐ´），（ＩｒＬ，ＩｇＬ，ＩｂＬ）｝、ｑＬ＝｛（ｕｐ，ｖｐ），Ｓｐ｝とする。
【００６３】
Ｓ９０１〜９０６の処理はＳ４０１〜４０６と同じであるため説明を省略する。
【００６４】
Ｓ９０７において、変更部３０６は現在の時刻を取得し、これを操作された時刻ｔ１として記憶する。尚、時刻ｔ１は予め充分小さな値（例えば負の定数）ｔｍで初期化されており、Ｓ９０７が実行されるまではｔ１＝ｔｍであるものとする。
【００６５】
Ｓ９０８、９０９の処理はＳ４０７、４０８と同じであるため説明を省略する。
【００６６】
Ｓ９１０において、変更部３０６は、開始時刻ｔ０と操作された時刻ｔ１とを比較し、仮想ライティング処理の開始時刻以降にユーザによる操作があったか否かを判定する。具体的には、ｔ０＜ｔ１の場合は操作があったと判定してＳ９１１へ進み、それ以外の場合は操作がなかったと判定してＳ９１２へ進む。
【００６７】
Ｓ９１１において、変更部３０６は、操作された時刻ｔ１から現時刻ｔまでの経過時間Δｔ１（＝ｔ−ｔ１）に応じて、光源オブジェクトパラメータｑＬの値を決定する。本実施形態では、図１０（ａ）に示すＬＵＴを参照して経過時間Δｔ１に対応する光源オブジェクトの変位Δｕｐ、Δｖｐと、明るさの変化量ΔＳｐとを取得し、これら用いて次式に従い光源オブジェクトの位置座標（ｕｐ，ｖｐ）と明るさＳｐを算出する。
【００６８】
【数５】
2020071803.tif 000007
【００６９】
ここで、（ｕｐ１，ｖｐ１）およびＳｐ１はＳ９０８で決定された（すなわち、ユーザによる操作後の）光源オブジェクトの位置座標と明るさである。このときのｕｖ平面上における光源オブジェクトの位置座標（ｕｐ，ｖｐ）の軌跡を、図１０（ｂ）に示す。
【００７０】
Ｓ９１２において、変更部３０６は、（Ｓ４０９と同様に）仮想ライティング処理の開始時刻から現時刻までの経過時間Δｔ０に応じて、光源オブジェクトパラメータｑＬの値を決定する。本実施形態では、図１０（ｃ）に示すＬＵＴを参照して経過時間Δｔ０に対応する光源オブジェクトの変位Δｕｐ、Δｖｐと、明るさの変化量ΔＳｐとを取得し、これら用いて次式に従い光源オブジェクトの位置座標（ｕｐ，ｖｐ）と明るさＳｐを算出する。
【００７１】
【数６】
2020071803.tif 000008
【００７２】
このときのｕｖ平面上における光源オブジェクトの位置座標（ｕｐ，ｖｐ）の軌跡を、図１０（ｄ）に示す。
【００７３】
Ｓ９１３〜９１８の処理はＳ４１０〜４１５と同じであるため説明を省略する。
【００７４】
図１１に、本実施形態におけるＧＵＩの動作の例を示す。図１１（ａ）は、時刻ｔ０に仮想ライティング処理を開始してから、時刻ｔ１にユーザにより光源オブジェクトが操作されるまでの、ＧＵＩの様子を表している。時刻ｔ０〜ｔ１間では、光源オブジェクト６０２は開始時刻からの経過時間Δｔ０に応じて状態が変化する。すなわち、図１０（ｃ）に例示したＬＵＴに基づき、明るさを変化させながら図１０（ｄ）の軌道上を移動する。そして、ユーザにより光源オブジェクトが操作されるまでに一定の時間（図１０（ｃ）の例では１．３［ｓ］）が経過した場合、光源オブジェクト６０２は初期位置座標（ｕｐ０，ｖｐ０）に一定の明るさ（＝Ｓｐ０）で停滞する。また、光源オブジェクト６０２の状態に応じたライティング効果が、ライティング画像Ｉ´に逐次反映される。図１１（ｂ）は、時刻ｔ１に光源オブジェクトが操作された後のＧＵＩの様子を表している。この図は、光源オブジェクト６０２が（ｕｐ０，ｖｐ０）から（ｕｐ１，ｖｐ１）へドラッグされた後の例である。時刻ｔ１以後は、光源オブジェクト６０２は操作された時刻からの経過時間Δｔ１に応じて状態が変化する。すなわち、図１０（ａ）に例示したＬＵＴに基づき、一定時間（図１０（ａ）の例では１０．０［ｓ］）が経過した後に、明るさを変化させながら図１０（ｂ）の軌道上を移動する。ライティング画像Ｉ´には、引き続き光源オブジェクト６０２の状態に応じたライティング効果が逐次反映される。尚、時刻ｔ１以後に光源オブジェクトに対して再度操作が行われた場合は、その時刻が新たにｔ１と見なされる。そして、新たなｔ１（すなわち、再度操作が行われた時刻）からの経過時間に応じて光源オブジェクトの状態が変化し、それに伴ってライティング画像も変化する。
【００７５】
＜第２実施形態の効果＞
以上説明したように、本実施形態における情報処理装置は、仮想ライティング処理開始時からの時間の経過だけでなく、操作された時刻からの時間の経過も考慮して光源オブジェクトの状態を変更する。これにより、ユーザが操作に迷うなどしてしばらく操作がなかった場合に、光源オブジェクトの操作とライティング効果の例を提示できる。
【００７６】
尚、本実施形態では、Ｓ９１２において一定時間経過後に光源オブジェクトパラメータの値が一定となるＬＵＴを用いたが、さらに特定の時間が経過した場合に、再び光源オブジェクトパラメータの値が変化するようなＬＵＴを用いてもよい。また、Ｓ９１１で用いるＬＵＴとＳ９１２で用いるＬＵＴは同一であってもよい。
【００７７】
（第３実施形態）
本実施形態においては、情報処理装置の位置もしくは姿勢が変化するなど、情報処理装置に係る状況に変化が生じた時刻からの時間の経過に応じて光源オブジェクトの状態を変更する。尚、本実施形態では、主に、情報処理装置の位置姿勢の変化について説明する。しかし、例えば、情報処理装置に対する所定の操作（情報処理装置の所定の機能を実現するためのボタンを押下）した時を基準にしても良い。本実施形態における情報処理装置１のハードウェア構成は第１実施形態のものと同等である。
【００７８】
＜情報処理装置１の論理構成＞
図３（ｂ）は、本実施形態における情報処理装置１の論理構成を示すブロック図である。情報処理装置１は、データ取得部３０１と、ライティング部３０２と、画像表示部３０３と、データ保存部３０４と、操作部３０５と、変更部３０６と、ＧＵＩ表示部３０７と、検出部３０８とを有する。
【００７９】
検出部３０８は、情報処理装置に係る状況の変化を検出する。本実施形態では、情報処理装置の位置または向きの変化を状況の変化とし、これを検出する例を説明する。本実施形態における検出部３０８は、撮像部１０６から時系列に沿って逐次撮像画像データを取得する。そして、撮像画像データを取得する毎に直前の時刻に取得した画像データとの差分を算出し、その差分が予め定めた閾値以上であった場合に情報処理装置の位置または向きが変化したと判定する。画像データ間の差分としては、例えば画素値の平均二乗誤差や平均絶対誤差などを利用可能である。検出結果は逐次変更部３０６へ送られる。
【００８０】
データ取得部３０１、ライティング部３０２、画像表示部３０３、データ保存部３０４、操作部３０５、変更部３０６、ＧＵＩ表示部３０７については第１実施形態と同じであるため、説明を省略する。
【００８１】
＜情報処理装置１が実行する処理＞
図１２は、本実施形態における情報処理装置１が実行する処理の流れを示すフローチャートである。尚、本実施形態における仮想光源パラメータＱＬ、および、光源オブジェクトパラメータｑＬは、第１実施形態と同様にＱＬ＝｛ＰＬ，ＦＬ（Ｐ´），（ＩｒＬ，ＩｇＬ，ＩｂＬ）｝、ｑＬ＝｛（ｕｐ，ｖｐ），Ｓｐ｝とする。
【００８２】
Ｓ１２０１〜１２０４、１２０５、１２０６の処理はＳ４０１〜４０４、４０６、４０７と同じであるため説明を省略する。
【００８３】
Ｓ１２０７において、変更部３０６は検出部３０８から送られる検出結果に従い、情報処理装置に係る状況が変化したか否かを判断する。状況の変化が検出された場合はＳ１２０８へ進み、それ以外の場合はＳ１２０９へ進む。
【００８４】
Ｓ１２０８において、変更部３０６は現在の時刻を取得し、これを情報処理装置に係る状況が変化した時刻ｔ２として記憶する。
【００８５】
Ｓ１２０９の処理はＳ４０８と同じであるため説明を省略する。
【００８６】
Ｓ１２１０において、変更部３０６は、情報処理装置に係る状況が変化した時刻ｔ２から現時刻ｔまでの経過時間Δｔ２（＝ｔ−ｔ２）に応じて、光源オブジェクトパラメータｑＬの値を決定する。本実施形態では、次式に従い経過時間Δｔ２に対する各パラメータの変化量Δｕｐ、Δｖｐ、ΔＳｐを算出し、これらを用いて光源オブジェクトの位置座標（ｕｐ，ｖｐ）と明るさＳｐを決定する。
【００８７】
【数７】
2020071803.tif 000009
【００８８】
ここで、θｕｖは光源オブジェクトの位置の変動方向を表す角度であり、ａｕｖ１、ａｕｖ２、γｕｖは、それぞれ位置の変動幅、変動の周期、変動の減衰を表す係数である。ａＳ３、ａＳ４、γＳは、それぞれ明るさの変動幅、変動の周期、変動の減衰を表す係数である。（ｕｐ２，ｖｐ２）およびＳｐ２は、時刻ｔ２における光源オブジェクトの位置座標と明るさである。図１３（ａ）〜（ｃ）に、式１２により定まるｕｐ、ｖｐ、Ｓｐのグラフをそれぞれ示す。このとき、光源オブジェクトはｕｖ平面上において傾きθｕｖの直線上を減衰振動する。なお、θｕｖの値は予め定めた定数でもよいし、別途加速度センサなどを用いて検出した重力方向の傾きとしてもよい。
【００８９】
Ｓ１２１１〜１２１６の処理はＳ４１０〜４１５と同じであるため説明を省略する。
【００９０】
図１４に、本実施形態におけるＧＵＩの動作の例を示す。同図はある時刻に情報処理装置を傾けた場合の例である。図１４（ａ）は、情報処理装置が傾く直前における情報処理装置およびＧＵＩを表している。図１４（ｂ）は、情報処理装置が傾いてからΔｔ２だけ時間が経過した際の情報処理装置およびＧＵＩを表している。図１４（ｂ）では、光源オブジェクト６０２の位置が図１４（ａ）の状態から重力方向に移動しており、明るさも変化している。また、この変化に応じて、仮想光により照らされている部分の位置と明るさも変化している。
【００９１】
（第３実施形態の効果）
以上説明したように、本実施形態における情報処理装置は、情報処理装置に係る状況に変化が生じた時刻からの時間の経過に応じて、光源オブジェクトの状態を変更する。これにより、情報処理装置に係る状況の変化をきっかけとして光源オブジェクトにユーザの視線を引きつけ、光源オブジェクトを操作することでライティングの効果を変えられることを暗に提示できる。
【００９２】
尚、検出部３０８は加速度センサやジャイロセンサ、あるいは地磁気センサなどを具備し、これらのセンサ出力に基づいて情報処理装置の位置または向きの変化を検出してもよい。
【００９３】
また、検出部３０８は、撮像部１０６から時系列に沿って取得した複数の撮像画像に基づき、公知のカメラ位置姿勢推定手法を用いることにより撮像部１０６の位置姿勢の変化を推定し、この変化を情報処理装置に係る状況の変化として検出してもよい。
【００９４】
また、検出部３０８は、ユーザによるタッチ操作やジェスチャなどの入力情報を受信した場合に、情報処理装置に係る状況が変化したと判定してもよい。
【００９５】
（第４実施形態）
本実施形態においては、ライティング画像とＧＵＩとを別々に表示する。本実施形態における情報処理装置１のハードウェア構成は第１実施形態のものと同等である。
【００９６】
＜情報処理装置１の論理構成＞
本実施形態における情報処理装置１の論理構成は、第１実施形態（図３（ａ））と同じである。
【００９７】
＜情報処理装置１が実行する処理＞
本実施形態における情報処理装置１が実行する処理の流れは第１実施形態（図４）と同様である。ただし、Ｓ４０４とＳ４１２におけるＧＵＩおよびライティング画像の表示の仕方が異なる。尚、本実施形態における仮想光源パラメータＱＬ、および、光源オブジェクトパラメータｑＬは、第１実施形態と同様にＱＬ＝｛ＰＬ，ＦＬ（Ｐ´），（ＩｒＬ，ＩｇＬ，ＩｂＬ）｝、ｑＬ＝｛（ｕｐ，ｖｐ），Ｓｐ｝とする。また、本実施形態におけるｕｖ平面座標系は、ＧＵＩ中の画像表示領域の中心を原点、水平方向右向きをｕ軸、垂直方向上向きをｖ軸とする２次元座標系とし、ｕ、ｖは画像表示領域の横幅と縦幅がそれぞれ１となるように正規化されているものとする。
【００９８】
Ｓ４０４において、ＧＵＩ表示部３０７は、光源オブジェクトを含むＧＵＩをタッチパネルディスプレイ１０５に表示する。また、画像表示部３０３は、Ｓ４０３で生成したライティング画像をＧＵＩとは別にタッチパネルディスプレイ１０５に表示する。
【００９９】
Ｓ４１２において、ＧＵＩ表示部３０７は、Ｓ４０７またはＳ４０９で決定した光源オブジェクトパラメータｑＬに基づき、光源オブジェクト６０２を画像表示領域６０１に再描画する。また、画像表示部３０３は、Ｓ４１１で再生成したライティング画像データを、Ｓ４０４でＧＵＩとは別に表示したライティング画像に上書き表示する。
【０１００】
図１５は本実施形態におけるＧＵＩおよびライティング画像の変化の一例を示す図である。光源オブジェクト６０２は、ＧＵＩ６上の画像表示領域６０１に表示される。また、ライティング画像Ｉ´は、ＧＵＩ６とは別に、タッチパネルディスプレイ１０５上に表示される。ＧＵＩとライティング画像とが別々に表示されるため、時刻ｔ０のように仮想光源が被写体の正面に位置する場合でも、ライティング画像中の被写体を光源オブジェクト６０２により隠されることなく確認することができる。尚、仮想光源の位置を把握しやすくするために、画像表示領域６０１にガイド画像を表示してもよい。図１５の例では、入力画像を撮像したカメラの光学中心に相当する点や、この点を中心とする円などを描画した画像を、ガイド画像として表示している。
【０１０１】
＜第４実施形態の効果＞
以上説明したように、本実施形態における情報処理装置は、ライティング画像とＧＵＩとを別々に表示する。これにより、ライティング画像を光源オブジェクトに隠されることなく確認することができる。
【０１０２】
（第５実施形態）
本実施形態においては、予め定めた複数パターンの仮想光源の状態を時間経過に応じて切り替えながら、光源オブジェクトとライティング画像とを表示する例を説明する。本実施形態における情報処理装置１のハードウェア構成は第１実施形態のものと同等である。
【０１０３】
＜情報処理装置１の論理構成＞
本実施形態における情報処理装置１の論理構成は、第１実施形態（図３（ａ））と同じである。
【０１０４】
＜情報処理装置１が実行する処理＞
図１６は、本実施形態における情報処理装置１が実行する処理の流れを示すフローチャートである。
【０１０５】
Ｓ１６０１において、データ取得部３０１は第１実施形態のＳ４０１と同様にして、入力画像データと、仮想光源の初期パラメータと、光源オブジェクトの初期パラメータを取得する。本実施形態では、複数の仮想光源それぞれに関する以下のパラメータをまとめて仮想光源パラメータＱＬ＝｛Ｑ０，Ｑ１，・・・，ＱＫ−１｝（Ｋは仮想光源の個数。）とする。
【０１０６】
（ｋ番目の仮想光源に関するパラメータＱｋ）
・仮想光源の位置ベクトルＰＬＰｋ＝（ｘＬＰｋ，ｙＬＰｋ，ｚＬＰｋ）
・仮想光源の光軸が通る点の位置ベクトルＰＬＡｋ＝（ｘＬＡｋ，ｙＬＡｋ，ｚＬＡｋ）
・仮想光のＲＧＢの強度（ＩｒＬｋ，ＩｇＬｋ，ＩｂＬｋ）
・仮想光源の種別ＴｙｐｅＬｋ
・仮想光源の形状ＳｈａｐｅＬｋ
・仮想光源のサイズＳｉｚｅＬｋ
・仮想光の照射角度θＬｋ
【０１０７】
Ｋ＝６の場合における初期パラメータＱＬ０＝｛Ｑ００，Ｑ１０，・・・，Ｑ５０｝の例を図１７に示す。この図において、「Ａｒｅａ」は仮想光源の種別が面光源であることを表しており、「Ｐｏｉｎｔ」は点光源であることを表している。「Ｓｑｕａｒｅ」は面光源の形状が正方形であることを表しており、ＳｉｚｅＬｋの数値はその一辺の長さを表している。この図の例では、６個の仮想光源がｚ軸上の点（０，０，ｄａｔ）を取り囲むように配置されている。
【０１０８】
また、本実施形態では予め記憶しておいたＭ通りの光源オブジェクトの状態を示すＩＤを光源オブジェクトパラメータｑＬとして用い、初期値ｑＬ０＝０とする。図１８にＭ＝４通りの光源オブジェクトの状態の例を示す。この図において、各状態にはＫ＝６個の仮想光源に対応する光源オブジェクト１８００〜１８０５が含まれており、αｍ，ｋはｍ番目の状態におけるｋ番目の光源オブジェクトの透過度を表している。ここで、透過度は光源オブジェクトが透けて見える度合いを表しており、透過度が０のときに光源オブジェクトは不透明な状態で描画される。
【０１０９】
Ｓ１６０２〜１６０５およびＳ１６０６の処理は、Ｓ４０２〜４０５およびＳ４０８と同じであるため説明を省略する。尚、１６０３においてライティング画像を生成する際には、Ｋ個の仮想光源それぞれに関して第１実施形態で説明したように仮想反射強度を算出し、それらを入力画像の画素値に合算すればよい。
【０１１０】
Ｓ１６０７において、変更部３０６は、開始時刻ｔ０から現時刻ｔまでの経過時間Δｔ０（＝ｔ−ｔ０）に応じて、光源オブジェクトパラメータｑＬ、すなわち、光源オブジェクトの状態を示すＩＤの値を決定する。本実施形態では、次式に従い経過時間Δｔ０に対する光源オブジェクトパラメータｑＬを決定する。
【０１１１】
【数８】
2020071803.tif 000010
【０１１２】
ここで、Ｔはインターバルを表す定数である。このとき、光源オブジェクトパラメータｑＬの値は、Ｔだけ時間が経過するたびに０からＭ−１の間で繰り返し変化する。
【０１１３】
Ｓ１６０８において、ライティング部３０２は、Ｓ１６０７で決定した光源オブジェクトパラメータｑＬが示すＩＤに基づき、仮想光源パラメータＱＬに含まれる仮想光源のＲＧＢの強度を決定する。仮想光源のＲＧＢの強度（ＩｒＬｋ，ＩｇＬｋ，ＩｂＬｋ）（ｋ＝０，１，・・・，Ｋ−１）は次式に従い決定される。
【０１１４】
【数９】
2020071803.tif 000011
【０１１５】
このとき、仮想光源のＲＧＢの強度は光源オブジェクトの透過度が低いほど大きな値となる。
【０１１６】
Ｓ１６０９の処理はＳ４１１と同じであるため説明を省略する。
【０１１７】
Ｓ１６１０において、画像表示部３０３はＳ４１２と同様にして、ライティング画像データの表示を更新する。すなわち、Ｓ１６０９で再生成したライティング画像データを、Ｓ１６０４で表示したＧＵＩ６上の画像表示領域６０１に上書き表示する。さらに、ＧＵＩ表示部３０７は、Ｓ１６０７で決定した光源オブジェクトパラメータｑＬに基づき、光源オブジェクト６０２を画像表示領域６０１に再描画する。
【０１１８】
Ｓ１６１１〜１６１３の処理はＳ４１３〜４１５と同じであるため説明を省略する。
【０１１９】
図１９は本実施形態におけるＧＵＩおよびライティング画像の変化の一例を示す図であり、Ｍ＝４通りの仮想光源の状態が切り替わる様子を表している。この図の例では、Ｋ＝６個の光源オブジェクト１８００〜１８０５の透過度がそれぞれ経過時間Δｔ０に応じて変化している。また、光源オブジェクトの透過度の変化に応じて、仮想光により照らされている部分の明るさも変化している。ユーザは、表示されたライティング画像を気に入った場合に決定ボタン６０３を押下することにより、そのライティング画像を保存することができる。
【０１２０】
＜第５実施形態の効果＞
以上説明したように、本実施形態における情報処理装置は、予め定めた複数パターンの仮想光源の状態を時間経過に応じて切り替えながら、光源オブジェクトとライティング画像とを表示する。これにより、光源オブジェクトと付与されるライティング効果との関係を容易に把握することができるとともに、付与するライティング効果をより簡便に決定することができる。
【０１２１】
［変形例］
上述した実施形態において、情報処理装置１のハードウェア構成は、図１（ａ）に示した構成であったが、情報処理装置１のハードウェア構成は上記の例に限られない。例えば、情報処理装置１のハードウェア構成は、図１（ｂ）に示す構成であってもよい。情報処理装置１は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＶＣ（ビデオカード）１１１と、汎用Ｉ／Ｆ１１４と、ＳＡＴＡ（シリアルＡＴＡ）Ｉ／Ｆ１１８と、を有する。ＣＰＵ１０１は、ＲＡＭ１０３をワークメモリとして、ＲＯＭ１０２、外部記憶装置１１０などに格納されたＯＳや各種プログラムを実行する。また、ＣＰＵ１０１は、システムバス１０８を介して各構成を制御する。汎用Ｉ／Ｆ１１４には、シリアルバス１１５を介して、マウスやキーボードなどの入力デバイス１１６や撮像装置１１７が接続される。ＳＡＴＡＩ／Ｆ１１８には、シリアルバス１１９を介して、外部記憶装置１１０が接続される。ＶＣ１１１には、シリアルバス１１２を介して、ディスプレイ１１３が接続される。ＣＰＵ１０１は、プログラムによって提供されるＧＵＩをディスプレイ１１３に表示し、入力デバイス１１６を介して得られたユーザの指示を表す入力情報を受信する。図１（ｂ）に示す情報処理装置１は、例えば、デスクトップ型のＰＣによって実現される。尚、情報処理装置１は、撮像装置１１７と一体となったデジタルカメラや、ディスプレイ１１３と一体となったＰＣなどによっても実現される。
【０１２２】
また、上述した実施形態においては、情報処理装置１は撮像部１０６としてメインカメラ２０２とインカメラ２０１との２つのカメラを有していたが、撮像部１０６は上記の例に限られない。例えば、情報処理装置１は、メインカメラ２０２のみであってもよい。
【０１２３】
また、上述した実施形態における外部記憶装置１１０はＨＤＤであったが、外部記憶装置１１０は上記の例に限られない。例えば、ＳＳＤ（ソリッドステートドライブ）であってもよい。また、外部記憶装置１１０は、メディア（記録媒体）と、当該メディアへのアクセスを行うための外部記憶ドライブとによっても実現される。メディアには、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ、ＭＯ、フラッシュメモリなどを用いることができる。
【０１２４】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２５】
１  情報処理装置
３０２  ライティング部
３０３  画像表示部
３０６  変更部
３０７  ＧＵＩ表示部
【図１】
2020071803.tif 000012
【図２】
2020071803.tif 000013
【図３】
2020071803.tif 000014
【図４】
2020071803.tif 000015
【図５】
2020071803.tif 000016
【図６】
2020071803.tif 000017
【図７】
2020071803.tif 000018
【図８】
2020071803.tif 000019
【図９】
2020071803.tif 000020
【図１０】
2020071803.tif 000021
【図１１】
2020071803.tif 000022
【図１２】
2020071803.tif 000023
【図１３】
2020071803.tif 000024
【図１４】
2020071803.tif 000025
【図１５】
2020071803.tif 000026
【図１６】
2020071803.tif 000027
【図１７】
2020071803.tif 000028
【図１８】
2020071803.tif 000029
【図１９】
2020071803.tif 000030