(57)【要約】【課題】  リライティング処理の仮想光源の、被写体に対する位置と方向を直感的に操作できるようにする。【解決手段】  ＣＰＵ１０１は、メイン画像と、メイン画像に含まれる主被写体の３次元形状データをサブ画像作成手段１１０に供給する。サブ画像作成手段１１０は、主被写体に対する仮想光源の位置と方向を示すサブ画像を作成する。サブ画像は、主被写体を示す被写体オブジェクトと、被写体オブジェクトを中心として主被写体と仮想光源との間の距離に対応する半径の球体と、主被写体に対する仮想光源の位置に配置され、主被写体を照明する方向を示す仮想光源オブジェクトとを含む。ＣＰＵ１０１は、主被写体に対する前記仮想光源の位置と距離を操作する操作部１０３の操作に応じて、サブ画像作成手段１１０にサブ画像を更新させる。【選択図】  図１
2018010496.tif 000002
【特許請求の範囲】
【請求項１】
主被写体に仮想光源の出力光を照射するリライティング処理を施す画像処理装置であって、
前記主被写体に対する前記仮想光源の位置と方向を示す補助画像を作成する補助画像作成手段と、
前記主被写体に対する前記仮想光源の位置と距離を操作する操作手段と、
前記操作手段の操作に応じて、前記補助画像作成手段に前記補助画像を再作成させる制御手段
とを有し、
前記補助画像が、前記主被写体を示す被写体オブジェクトと、前記被写体オブジェクトを中心に置き、前記被写体オブジェクトから前記仮想光源までの距離に相当する半径の球面と、前記主被写体に対する前記仮想光源の位置に描画され、前記主被写体を照明する方向を示す仮想光源オブジェクトとを含む
ことを特徴とする画像処理装置。
【請求項２】
前記補助画像作成手段は、前記仮想光源を前記主被写体の手前側から照明する場合の方が、背後側から照射する場合よりも、前記仮想光源オブジェクトを大きく描画することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記補助画像作成手段は、前記仮想光源による照明の方向に応じた陰影を前記被写体オブジェクトに付けて描画することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記補助画像作成手段は、前記仮想光源の照明による前記主被写体の影を前記球面に合わせて描画することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記補助画像作成手段は、前記主被写体と前記仮想光源との間の距離に応じて、前記球面、前記被写体オブジェクトおよび前記仮想光源オブジェクトのいずれか１つ以上の大きさを変更して描画することを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記補助画像作成手段は、前記補助画像に前記主被写体と前記仮想光源との間の距離に応じた数値を表示することを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記操作手段は、前記補助画像に対して前記主被写体に対する前記仮想光源の位置と距離を操作するタッチパネルからなることを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
更に、複数の被写体を含む画像から前記主被写体を決定する手段を有することを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
主被写体に仮想光源の出力光を照射するリライティング処理を施す画像処理装置の制御方法であって
前記主被写体に対する前記仮想光源の位置と方向を示す補助画像であって、前記主被写体を示す被写体オブジェクトと、前記被写体オブジェクトを中心に置き、前記被写体オブジェクトから前記仮想光源までの距離に相当する半径の球面と、前記主被写体に対する前記仮想光源の位置に描画され、前記主被写体を照明する方向を示す仮想光源オブジェクトとを含む補助画像を作成する補助画像作成ステップと、
前記主被写体に対する前記仮想光源の位置と距離を操作する操作ステップと、
前記操作ステップの操作に応じて、前記補助画像作成ステップに前記補助画像を再作成させる制御ステップ
とを有する画像処理装置の制御方法。
【請求項１０】
主被写体に仮想光源の出力光を照射するリライティング処理を施す画像処理装置のＣＰＵを、
前記主被写体に対する前記仮想光源の位置と方向を示す補助画像であって、前記主被写体を示す被写体オブジェクトと、前記被写体オブジェクトを中心に置き、前記被写体オブジェクトから前記仮想光源までの距離に相当する半径の球面と、前記主被写体に対する前記仮想光源の位置に描画され、前記主被写体を照明する方向を示す仮想光源オブジェクトとを含む補助画像を作成する補助画像作成手段と、
前記主被写体に対する前記仮想光源の位置と距離を操作する操作手段の操作に応じて、前記補助画像作成手段に前記補助画像を再作成させる制御手段
として機能させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に任意の照明効果を与える、いわゆるリライティング処理を施す像処理装置並びにその制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、撮影後の画像中の被写体に対して、仮想的な光源（以降、「仮想光源」と呼ぶ）からの光で照明した効果を与える画像処理、いわゆるリライティング処理が知られている。この処理は例えば、環境光によって生じる被写体の陰影が好ましくないときに、この陰影をより好ましい態様に補正することに利用される。
【０００３】
好ましい陰影を得るには、仮想光源の位置及び方向等を調節する機能は必須であるが、ユーザが、その調節を直観的に行えるユーザインターフェースが望まれる。特許文献１には、被写体に対する光源の位置関係を示すために光源をアイコンで表示することが提案されている。光源のアイコンは、被写体を直接照射するように描写され、同時に被写体におけるリライティングの効果のプレビューが表示される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０５−２１０７１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、仮想光源のアイコンと被写体のプレビューを同一空間で表現している。このため、仮想光源と被写体プレビューをどちらも表示するためには、仮想光源が遠くなるほど被写体を小さく表示しないといけなくなる。また、仮想光源のアイコンを被写体の手前側に移動すると、アイコンが被写体を隠してしまい、プレビューが見づらくなってしまう。
【０００６】
本発明は、このような不都合を解消し、被写体に対する仮想光源の方向及び距離などの位置関係を直観的に把握できる像処理装置並びにその制御方法及びプログラムを提示することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る画像処理装置は、主被写体に仮想光源の出力光を照射するリライティング処理を施す画像処理装置であって、前記主被写体に対する前記仮想光源の位置と方向を示す補助画像を作成する補助画像作成手段と、前記主被写体に対する前記仮想光源の位置と距離を操作する操作手段と、前記操作手段の操作に応じて、前記補助画像作成手段に前記補助画像を再作成させる制御手段とを有し、前記補助画像が、前記主被写体を示す被写体オブジェクトと、前記被写体オブジェクトを中心に置き、前記被写体オブジェクトから前記仮想光源までの距離に相当する半径の球面と、前記主被写体に対する前記仮想光源の位置に配置され、前記主被写体を照明する方向を示す仮想光源オブジェクトとを含むことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、主被写体に対する仮想光源の方向や距離などの位置関係を直観的に把握できるユーザインターフェースを実現できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】メイン画像およびサブ画像の例の説明図である。
【図３】本実施例の動作フローチャートである。
【図４】サブ画像の第２例の説明図である。
【図５】サブ画像の第３例の説明図である。
【図６】サブ画像の第４例の説明図である。
【図７】サブ画像の第５例の説明図である。
【図８】サブ画像の第６例の説明図である。
【図９】リライティング処理の説明図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１１】
図１は、本発明に係る画像処理装置の一実施例の概略構成ブロック図を示す。
【００１２】
１０１は、画像処理装置１００を構成する各モジュールを制御するＣＰＵである。１０２は、プログラム及びパラメータを格納するＲＯＭである。ＲＯＭ１０２には、画像処理装置１００を制御するための、ＣＰＵ１０１上で実行される制御プログラムが格納されている。
【００１３】
１０３は、ユーザによる操作、具体的には、仮想光源の位置及び距離の変更及び決定などを受け付ける操作部である。操作部１０３は、マウス及び十字キーなどのボタン並びにタッチパネルなどからなる。ここでは、操作部１０３としてタッチパネルを想定して説明する。
【００１４】
１０４は、各モジュールを接続するバスである。１０５は、メイン画像及びサブ画像等の種々のデータを一時記憶するＤＲＡＭである。メイン画像は、リライティング処理の対象となる画像である。サブ画像は、リライティング処理の際に、メイン画像に含まれる主被写体に対する仮想光源の位置と方向を示し、仮想光源の位置と方向を操作するための操作用画像または補助画像である。１０６は、各モジュールによるＤＲＡＭ１０５へアクセスを仲介するメモリＩ／Ｆである。
【００１５】
１０８は、メイン画像に含まれる１または複数の被写体からリライティング処理の対象となる主被写体を検出または決定する主被写体検出手段である。主被写体を特定する方法には、例えば、顔検出で最も大きい顔を特定する方法、及び、ユーザによって操作部１０３から指定された範囲で被写体検出し、主被写体とする方法などがある。
【００１６】
１０９は、仮想光源の出力光をメイン画像に含まれる主被写体に照射することにより主被写体への陰影を生成するリライティングの画像処理を施すリライティング手段である。リライティング処理の前提として、対象の被写体の立体形状を知る必要があり、撮像時に３次元形状を計測し、撮像画像と一緒に画像処理装置１００に入力する。３次元形状は例えば、撮影時にカメラと被写体との距離について画素ごとに取得した距離情報から決定する。他にも、ステレオカメラを使って距離画像を得る方法もある。
【００１７】
図９を参照して、リライティング処理の基本を説明する。被写体９００の立体形状を推定し、所定の間隔で法線ベクトル９０１〜９０７を算出する。９０８は環境光ベクトルであり、９０９および９１０は仮想光源ベクトルである。仮想光源（仮想光源ベクトル９０９，９１０）が無い状態では、法線ベクトル９０１〜９０７と環境光ベクトル９０８の方向成分が１８０度に近いほど、被写体９００は明るい。具体的には、法線ベクトル９０１周辺に比べて、法線ベクトル９０６周辺の領域が明るい状態である。仮想光源ベクトル９０９を用いてリライティング処理する場合、仮想光源ベクトル９０９と方向成分が１８０度に近い法線ベクトル９０５〜９０６周辺の領域が明るくなる。仮想光源ベクトル９１０を用いてリライティング処理する場合、仮想光源ベクトル９１０と方向成分が１８０度に近い法線ベクトル９０１〜９０２周辺の領域が明るくなる。
【００１８】
１１０は、サブ画像（メイン画像に含まれる主被写体と仮想光源との位置・距離関係を操作するための補助画像）を作成するサブ画像作成手段（補助画像作成手段）である。サブ画像作成手段１１０の詳細な処理は後述する。
【００１９】
１１１は、リライティング手段１０９によってリライティングを施されたメイン画像と、サブ画像作成手段１１０によって作成されたサブ画像を表示する表示部である。表示部１１１は、同一画面上にメイン画像とサブ画像を同時に表示しても良いし、別々の画面上に表示してもよい。後者の場合、表示部１１１は、２つの表示装置を有するか、コンピュータシステムのウインドウ表示システム上の２つの表示ウインドウを有する。
【００２０】
１１２は、メイン画像およびサブ画像を表示部１１１に出力する表示用インターフェース（Ｉ／Ｆ）である。
【００２１】
１２０は、リライティング処理の対象となる主被写体を含むメイン画像の画像データを格納する記録媒体である。記録媒体１２０には、主被写体の３次元形状データも記録されている。記録媒体１２０の代わりに、メイン画像と主被写体の３次元形状データを外部に提供する、ネットワーク上のサーバであってもよい。更には、ネットワークカメラと主被写体の３次元形状を計測する距離画像カメラから画像データと主被写体の３次元形状データを供給される構成であってもよい。
【００２２】
図２を参照して、メイン画像と、サブ画像作成手段１１０によって作成されるサブ画像、および仮想光源の位置と距離の変更方法について説明する。図２（ａ）は、メイン画像２００を示しており、主被写体である人物２０１が写っている。図２（ｂ）〜図２（ｅ）はサブ画像２０２を示す。図２（ｂ）および図２（ｃ）は、仮想光源の位置を変更する操作方法を説明する図であり、スライド操作によって仮想光源の位置を変更する様子を示す。図２（ｄ）および図２（ｅ）は、主被写体から仮想光源までの距離を変更する操作方法を説明する図であり、ピンチ操作によって距離を変更する様子を示す。
【００２３】
図２（ｂ）〜図２（ｅ）において、２０３は、人物２０１に相当する位置を示す被写体オブジェクトである。本実施例では、被写体オブジェクト２０３として、人型の図柄を用いている。
【００２４】
２０４は、人物２０１にリライティングの画像処理を施すための仮想光源の位置を示す仮想光源オブジェクトである。本実施例では、仮想光源オブジェクト２０４として、懐中電灯の図柄を用いることとし、懐中電灯の光を被写体オブジェクト２０３に向くように描画される。
【００２５】
２０５は、被写体オブジェクト２０３を中心に置き、被写体オブジェクト２０３から仮想光源オブジェクト２０４までの距離に相当する半径の球面である。球面２０５には、被写体オブジェクト２０３に対して手前側の経緯線が描画される。
【００２６】
２０６は、操作部１０３（タッチパネル）を使ったスライド操作によって仮想光源オブジェクト２０４の位置を変更しようとするユーザの手を示す。ここでは、ユーザは、サブ画像に表示される仮想光源オブジェクト２０４の位置を参照しながら、操作部１０３のスライド操作により仮想光源オブジェクト２０４の位置を変更する。２０７は、操作部１０３のピンチ操作によって、仮想光源オブジェクト２０４の主被写体までの距離を変更するユーザの手を示す。このように、本実施例では、仮想光源オブジェクト２０４に対するスライド操作により仮想光源の主被写体に対する位置または照明方向を調整し、ピンチイン・アウト操作により主被写体との距離を調整する。
【００２７】
図２に示す例では、図２（ｂ）に示すように、操作部１０３において手２０６が仮想光源オブジェクト２０４を被写体オブジェクト２０３に対して右下から右上にスライド操作することによって、仮想光源の位置を変更する。サブ画像作成手段１１０は、仮想光源の移動前には、懐中電灯の光が被写体オブジェクト２０３の方向である左上を向くように描画する。サブ画像作成手段１１０は、仮想光源の移動中にも、仮想光源オブジェクト２０４の懐中電灯が被写体オブジェクト２０３の方向に徐々に向きを変えるように仮想光源オブジェクト２０４を描画する。被写体に対して右上の位置において、操作部１０３から手２０６を離すことによって仮想光源オブジェクト２０４の位置を決定すると、サブ画像作成手段１１０は、懐中電灯を左下を向いた状態にして仮想光源オブジェクト２０４の描画を停止する。
【００２８】
図２（ｃ）に示すように、操作部１０３において手２０６が球面２０５の範囲内から範囲外へ移動するようにスライド操作することによって、仮想光源を正面側から背面側にその位置を変更できる。サブ画像作成手段１１０は、仮想光源オブジェクト２０４を、球面２０５の経緯線の背後に、手前側にあるときよりも小さいサイズで、描画する。このような描画により、仮想光源が背面側に位置することを表現する。逆に、手２０６が球面２０５の範囲外から範囲内にスライド操作することで、逆に背後から手前側に仮想光源を移動させる。
【００２９】
図２（ｄ）に示すように手２０７の２本の指を広げた状態から、図２（ｅ）に示すように手２０７の２本指を狭めた状態までピンチ操作を行うことで、仮想光源を被写体に近づかせる。ピンチ操作中、サブ画像作成手段１１０は、球面２０５を徐々に小さくなるように描画し、球面２０５の大きさの変化に連動して、仮想光源オブジェクト２０４を球面２０５に付着して移動するように、仮想光源オブジェクト２０４を描画する。
【００３０】
距離が最も遠い無限遠になったときや、予め定めた最も近い距離になったときには、サブ画像作成手段１１０は、球面２０５を点滅させたり、その色を変更するなど、球面２０５の描画に特徴を付加することで、ユーザに通知する。
【００３１】
図３は、本実施例の動作フローチャートを示す。図３を参照して、本実施例の特徴的な動作を説明する。図３に示す動作を実現するプログラムがＲＯＭ１０２に格納されている。ＣＰＵ１０１は、そのプログラムをＲＯＭ１０２から読み込み実行することで、図３に示す動作を実現する。
【００３２】
Ｓ３０１で、ＣＰＵ１０１は、仮想光源の位置情報および距離情報にデフォルト値に設定し、リライティング手段１０９およびサブ画像作成手段１１０に出力する。デフォルト値は例えば、被写体の真正面など固定値としてもよいし、環境光による陰影を判定してお勧めの位置に設定しても良い。
【００３３】
Ｓ３０２で、ＣＰＵ１０１は、主被写体検出手段１０８に主被写体を特定させる。主被写体検出手段１０８は、メモリＩ／Ｆ１０６を介してＤＲＡＭ１０５から読み出したメイン画像２００から主被写体を検出する。図２に示す例では、主被写体検出手段１０８は、人物２０１を主被写体として特定する。
【００３４】
Ｓ３０３で、ＣＰＵ１０１は、リライティング手段１０９に指示して、仮想光源によるリライティング処理を実行させる。リライティング手段１０９は、ＣＰＵ１０１から供給された仮想光源の位置情報および距離情報に基づいて仮想光源の位置を設定する。そして、リライティング手段１０９は、メモリＩ／Ｆ１０６を介してＤＲＡＭ１０５からメイン画像２００を読み出し、メイン画像２００の人物２０１に対してリライティングの画像処理を施す。リライティング手段１０９は、リライティングを施されたメイン画像を、メモリＩ／Ｆ１０６を介してＤＲＡＭ１０５に格納する。
【００３５】
Ｓ３０４で、ＣＰＵ１０１は、サブ画像作成手段１１０にサブ画像を生成させる。サブ画像作成手段１１０は、ＣＰＵ１０１からの仮想光源の位置情報および距離情報に基づいて仮想光源オブジェクト２０４及び球面２０５を描画することでサブ画像を作成する。そして、サブ画像作成手段１１０は、作成したサブ画像をメモリＩ／Ｆ１０６を介してＤＲＡＭ１０５に格納する。
【００３６】
Ｓ３０５で、ＣＰＵ１０１は、メイン画像とサブ画像を表示部１１１に表示する。すなわち、ＣＰＵ１０１は、メモリＩ／Ｆ１０６を介してＤＲＡＭ１０５からリライティング処理されたメイン画像２００とサブ画像２０２を読み出し、表示用Ｉ／Ｆ１１２を介して表示部１１１に供給する。
【００３７】
Ｓ３０６で、ＣＰＵ１０１は、ユーザによって仮想光源の位置や距離を変更する指示が操作部１０３から入力されたか否かを判定する。仮想光源の位置や距離が変更された場合、ＣＰＵ１０１は、Ｓ３０８に進み、変更されない場合、ＣＰＵ１０１は、Ｓ３０７に進む。
【００３８】
Ｓ３０７で、ＣＰＵ１０１は、ユーザによって仮想光源の位置と距離を決定する指示が操作部１０３から入力されたか否かを判定する。仮想光源の位置と距離が決定された場合、ＣＰＵ１０１は、図３に示す処理を終了し、位置または距離が決定されない場合は、Ｓ３０６に戻る。
【００３９】
Ｓ３０８で、ＣＰＵ１０１は、ユーザによって操作部１０３から変更された仮想光源の位置や距離に基づいて仮想光源の位置情報および距離情報を取得し、リライティング手段１０９およびサブ画像作成手段１１０へ出力する。その後、ＣＰＵ１０１は、Ｓ３０３に戻り、仮想光源の変更された位置・距離に基づきメイン画像とサブ画像を再作成する。
【００４０】
ＣＰＵ１０１は、図３に示す処理で得られたリライティング処理結果を記録媒体１２０に記録するか、図示しないネットワークを介して外部に送信する。
【実施例２】
【００４１】
図４は、サブ画像の別例を示す。図２では、主被写体に対する仮想光源の方向（照明方向）を懐中電灯の向きで表現したが、図４では、被写体オブジェクトを月をイメージする外観とし、仮想光源の方向をその満ち欠けで表現するようにした。すなわち、図４に示すサブ画像４０２では、主被写体に対する仮想光源オブジェクト４０４の方向に応じて、被写体オブジェクト４０３に影を描画するようにした。
【００４２】
図４（ａ）は、主被写体に対して仮想光源を手前側の右下から照射している状態のサブ画像４０２を示す。図４（ｂ）は、主被写体に対して仮想光源を背後側の右上から照射している状態のサブ画像４０２を示す。図４（ｃ）は、主被写体に対して仮想光源を右横から照射している状態のサブ画像４０２を示す。図４に示すように、月の満ち欠けと同様に、仮想光源オブジェクト４０４の方向から照明したときに被写体オブジェクト４０３に出来る陰影を描画する。
【実施例３】
【００４３】
図５は、サブ画像の更に別の構成を示す。図５に示すサブ画像５０２では、仮想光源オブジェクト５０４によって主被写体（被写体オブジェクト５０３）が球面５０５に落とす影５０６を描画する。この影５０６の位置により、ユーザは、主被写体に対する仮想光源の方向を認識しやすくなる。
【００４４】
図５（ａ）は、主被写体に対して仮想光源を手前側の右下から照射している状態のサブ画像５０２を示す。このとき、影５０６は、球面５０５の奥側に出来るので、球面５０５の経緯線の下に球面５０５に合わせて描画される。影５０６と手前側の経緯線の色が近い場合は、視認性を上げるために、影５０６の領域内における手前側の経緯線の色を反転させて描画しても良い。
【００４５】
図５（ｂ）は、主被写体に対して仮想光源を背後側の右上から照射している状態のサブ画像５０２を示す。このとき、影５０６は球面５０５の手前側に出来るので、影５０６の領域内においては球面５０５の経緯線を消すようにして影５０６を描画する。また、図５（ｂ）における影５０６は図５（ａ）のそれよりも手前側に位置するので、図５（ａ）よりも図５（ｂ）の方が大きくなるように影５０６を描画する。
【００４６】
図５（ｃ）は、主被写体に対して仮想光源を手前側の右横から照射している状態のサブ画像５０２を示す。このとき、影５０６は、球面５０５の手前側と奥側の両方に出来るので、影５０６の奥側に落ちた部分は経緯線の下に描画され、手前側に落ちた部分は経緯線を消すように描画される。
【００４７】
図５（ｄ）は、主被写体から仮想光源の距離が図５（ａ）よりも近いときのサブ画像５０２を示す。このとき、図５（ａ）よりも図５（ｄ）の方が、球面５０５に対する影５０６を大きく描画する。この理由を図５（ｅ）および図５（ｆ）を用いて説明する。図５（ｅ）は、主被写体から仮想光源までの距離が無限遠である場合を示す。この場合、仮想光源の光線の向きは平行になるので、被写体が落とす影は被写体と同じ大きさになる。一方、図５（ｆ）は、主被写体から仮想光源までの距離が近い場合を示す。この場合、仮想光源の光線の向きは放射状になるので、被写体が落とす影は被写体の大きさよりも大きくなる。
【００４８】
図５に示すサブ画像でも、図４に示す表示方法を併用しても良い。すなわち、被写体オブジェクト上で照明部分を明るく（非照明部分を暗く）表示しつつ、球面５０５上に影５０６を表示する。
【実施例４】
【００４９】
図６は、サブ画像の第４の例を示す。図６に示すサブ画像６０２では、主被写体に対して仮想光源が近いほど、被写体オブジェクトを大きく描画し、仮想光源が遠いほど被写体オブジェクトを小さく描画する。
【００５０】
図６（ａ）は、主被写体に対する仮想光源の距離が近いときのサブ画像６０２を示す。図６（ｂ）は、主被写体に対する仮想光源の距離が遠いときのサブ画像６０２を示す。図６（ｃ）は、主被写体に対する仮想光源の距離が無限遠のときのサブ画像６０２を示す。
【００５１】
図６に示すように、仮想光源オブジェクト６０４が被写体オブジェクト６０３に近いほど、被写体オブジェクト６０３を大きく描画する。図６（ｃ）に示すように、仮想光源オブジェクト６０４が被写体オブジェクト６０３から無限遠の距離にある場合、被写体オブジェクト６０３を点の形状で描画してもよい。
【実施例５】
【００５２】
図７は、サブ画像の第５の例を示す。図７に示すサブ画像７０２では、図２に示す仮想光源オブジェクト２０４と同様に蛍光灯式の仮想光源オブジェクト７０４を採用しつつ、その仮想光源オブジェクト７０４の大きさを主被写体との距離に応じて変更するようにした。
【００５３】
図７（ａ）は、主被写体に対して仮想光源の距離が近く、手前側の右下から照射している状態のサブ画像７０２を示す。図７（ｂ）は、主被写体に対して仮想光源の距離が遠く、手前側の右下から照射している状態のサブ画像７０２を示す。
【００５４】
図７に示すように、仮想光源オブジェクト７０４が被写体オブジェクト７０３に近いほど、仮想光源オブジェクト７０４を大きく描画する。
【実施例６】
【００５５】
図８は、サブ画像の第６の例を示す。図８に示すサブ画像８０２では、被写体オブジェクト８０３と仮想光源オブジェクト８０４との距離を数値で明示することで、主被写体と仮想光源との間の距離を認識しやすくする。８０７は、被写体オブジェクト８０３および仮想光源オブジェクト８０４を結ぶ矢印である。８０８は、距離を数値で示す吹き出しである。
【００５６】
図８（ａ）は、主被写体に対する仮想光源の距離が２．５ｍであり、手前側の右下から照射している状態のサブ画像８０２を示す。吹き出し８０８には、２．５ｍと表示される。
【００５７】
図８（ｂ）は、主被写体に対して仮想光源の距離が無限遠であり、手前側と背面側の境界における右上から照射している状態のサブ画像８０２を示す。吹き出し８０８には、無限遠を示す記号∞が表示される。
【００５８】
図１では、機能を理解しやすいように、主被写体検出手段１０８、リライティング手段１０９及びサブ画像作成手段１１０をＣＰＵ１０１とは別の構成要素として記載した。しかし、主被写体検出手段１０８、リライティング手段１０９及びサブ画像作成手段１１０の機能の一部または全部をＣＰＵ１０１上で動作するプログラムにより実現できる。更には、主被写体検出手段１０８、リライティング手段１０９及びサブ画像作成手段１１０の機能の一部を専用の論理演算回路により実現しても良い。
【００５９】
本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を装置に供給することによっても、達成される。このとき、供給された装置の制御部を含むコンピュータ（またはＣＰＵやＭＰＵ）は、記憶媒体に格納されたプログラムコードを読み出し実行する。記憶媒体から読み出されたプログラムコード自体が、上述の実施例の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は、本発明を構成することになる。
【００６０】
プログラムコードを供給するための記憶媒体としては、例えば、磁気ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード又はＲＯＭ等を用いることができる。
【００６１】
上述のプログラムコードの指示に基づき、装置上で稼動しているＯＳ（基本システムやオペレーティングシステム）などが処理の一部又は全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【００６２】
さらに、記憶媒体から読み出されたプログラムコードが、装置に挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれ、前述した実施形態の機能が実現される場合も含まれる。このとき、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行う。
【００６３】
以上、本発明の好ましい実施例を説明したが、本発明は、これらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００６４】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2018010496.tif 000003
【図２】
2018010496.tif 000004
【図３】
2018010496.tif 000005
【図４】
2018010496.tif 000006
【図５】
2018010496.tif 000007
【図６】
2018010496.tif 000008
【図７】
2018010496.tif 000009
【図８】
2018010496.tif 000010
【図９】
2018010496.tif 000011