(57)【要約】【課題】  リライティング処理のための仮想光源の位置と光強度の調節を簡単に行えるようにする。【解決手段】  カメラ信号処理部１０８は、撮像センサ１０９による撮像画像をDRAM１０６に格納する。被写体検出部１１１は、撮像画像からリライティング処理の対象となる被写体を検出する。制御マイコン１０１は、ＬＣＤタッチパネル１１６のＬＣＤに、検出された被写体と、この被写体に対する仮想光源の位置と光強度を操作する操作オブジェクトを表示する。ユーザは、ＬＣＤタッチパネル１１６のタッチパネルを使って、その操作オブジェクトを操作する。制御マイコン１０１は、操作オブジェクトの操作に応じて、リライティング処理部１１２に被写体への仮想光源によるリライティング処理を実行させ、実行結果をＬＣＤに表示する。【選択図】  図１
2018010497.tif 000002
【特許請求の範囲】
【請求項１】
画像を入力する画像入力手段と、
前記画像からリライティング処理の対象となる被写体を検出する被写体検出手段と、
仮想光源による前記被写体にリライティング処理を施すリライティング処理手段と、
前記被写体に対する前記仮想光源の位置と光強度を操作する操作オブジェクトを前記被写体と共に表示する表示手段と、
前記操作オブジェクトを操作する操作手段と、
前記操作オブジェクトの操作に応じて、前記リライティング処理手段に前記リライティング処理を実行させ、前記表示手段の表示を更新させる制御手段
とを有することを特徴とする画像処理装置。
【請求項２】
前記操作オブジェクトは、水平方向にスライドする水平スライドバーと、垂直方向にスライドする垂直スライドバーとを有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記水平スライドバーにより、前記被写体に対する前記仮想光源の水平面内での位置を操作できることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記水平スライドバーにより、前記被写体に対する前記仮想光源の前記光強度を操作できることを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記操作オブジェクトが円形のオブジェクトからなり、前記円形のオブジェクトの中心が前記被写体に対する前記仮想光源の位置を示し、前記円形の半径が前記仮想光源の光強度を示すことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
さらに、前記リライティング処理手段により処理された被写体を含む前記画像を記録する記録手段を有することを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記被写体検出手段は、前記画像における前記被写体の傾きを検出し、
前記表示手段は、前記操作オブジェクトを前記被写体の傾きに応じた位置と方向で表示する
ことを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記制御手段は、前記被写体が複数ある場合に、主たる被写体に対する仮想光源を他の被写体に適用するように前記リライティング処理手段を制御することを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記表示手段は、前記被写体が複数ある場合に、各被写体に対して前記仮想光源の位置と光強度を操作する操作オブジェクトを表示することを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項１０】
前記表示手段は、被写体に対し複数の仮想光源の操作オブジェクトを表示できることを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１１】
更に、
前記仮想光源の異なる２つの位置に対するリライティング処理の結果となる２つのテンポラリ画像を生成する手段と、
前記２つのテンポラリ画像を、前記仮想光源の操作に従って合成してプレビュー画像を生成する手段
とを有することを特徴とする請求項１から１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記画像入力手段が撮像手段であることを特徴とする請求項１から１１のいずれか１項に記載の画像処理装置
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に、入力画像の明るさを補正する画像処理装置に関する。
【背景技術】
【０００２】
従来、撮影後の画像中の被写体に対して、仮想的な光源（仮想光源）からの光を照射したように画像の明るさを補正するリライティング処理が知られている。この処理により、環境光によって生じる被写体の陰影がより望ましい状態となるよう撮影画像の明るさを部分的に補正できる。
【０００３】
特許文献１には、撮影画像における被写体の陰影状態に応じて、環境光に対する仮想光源の配置を決め、リライティング処理を行う画像処理装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−０７２６９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
被写体にどのような陰影が付くことが望ましいかは、ユーザによって異なるのが一般的である。すなわち、被写体の陰影状態から自動的に仮想光源の配置を決定した場合、多くの人にとっては望ましい結果であっても、あるユーザにとっては期待と異なる結果である場合がある。
【０００６】
本発明では、ユーザが被写体の陰影状態を容易に調整できる画像処理装置を提示することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る画像処理装置は、画像を入力する入力手段と、前記画像からリライティング処理の対象となる被写体を検出する被写体検出手段と、仮想光源による前記被写体にリライティング処理を施すリライティング処理手段と、前記被写体に対する前記仮想光源の位置と光強度を操作する操作オブジェクトを前記被写体と共に表示する表示手段と、前記操作オブジェクトを操作する操作手段と、前記操作オブジェクトの操作に応じて、前記リライティング処理手段に前記リライティング処理を実行させ、前記表示手段の表示を更新させる制御手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザが容易に被写体の陰影状態を簡単な操作で調整できるようになる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】本実施例の外観斜視図である。
【図３】リライティング処理の画像例である。
【図４】処理対象の被写体と仮想光源との位置関係の説明図である。
【図５】リライティング処理の仮想光源の位置と光強度を操作する画面例である。
【図６】水平スライドバーと仮想光源の水平位置との関係の説明図である。
【図７】リライティング処理のプレビュー画像生成に使用するテンプレート画像の説明図である。
【図８】プレビュー画像生成の説明図である。
【図９】本実施例のリライティング処理のフローチャートである。
【図１０】被写体の傾きに応じた、仮想光源の位置と光強度を操作する画面例である。
【図１１】複数の被写体に対する、仮想光源の位置と光強度を操作する画面例である。
【図１２】複数の仮想光源を設定する、仮想光源の位置と光強度を操作する画面例である。
【図１３】仮想光源の位置と光強度を円形オブジェクトで操作する別の画面例と説明の図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１１】
図１は、本発明に係る画像処理装置の一実施例を採用するデジタルカメラの概略構成ブロック図を示す。
【００１２】
デジタルカメラ１００において、１０１は、内部バス１０２で接続された各ブロックを制御するマイクロコンピュータ（以下、「制御マイコン」という。）である。
【００１３】
１０３は、制御マイコン１０１からの要求に基づき、フラッシュメモリ１０４へのデータの読み書きを制御するフラッシュメモリコントローラである。制御マイコン１０１は、フラッシュメモリ１０４に格納されたプログラムを読み込み実行することで、デジタルカメラ１００を制御する。
【００１４】
１０５は、制御マイコン１０１を含む所定のブロックからの要求に基づきＤＲＡＭ１０６へのデータの読み書きを制御するＤＲＡＭコントローラである。制御マイコン１０１を含む所定のブロックは、動作中の一時データまたは画像データなどをＤＲＡＭ１０６に格納する。
【００１５】
１０７は、デジタルカメラ１００の外装に設けられたシャッタボタン及び再生ボタン等で構成される操作部である。操作部１０７は、ユーザによる操作を制御マイコン１０１に伝達する。
【００１６】
１０８はカメラ信号処理部である。カメラ信号処理部１０８は、制御マイコン１０１の指示に基づき撮像センサ１０９が撮影した画像信号を処理して、得られた画像データをＤＲＡＭ１０６に格納する。カメラ信号処理部１０８及び撮像センサ１０９は、画像データを画像処理装置に入力する画像入力手段として機能する。カメラ信号処理部１０８はまた、画像データを制御マイコン１０１から指定されたサイズに変倍して、記録用画像データとしてＤＲＡＭ１０６に格納する。カメラ信号処理部１０８はまた、画像データを表示用画像データに変倍し、ＤＲＡＭ１０６の表示用フレームメモリに格納する。カメラ信号処理部１０８はまた、制御マイコン１０１から指定された比率で２枚の画像データを合成し、得られた合成画像データをＤＲＡＭ１０６に格納する。
【００１７】
１１０はレンズユニットである。レンズユニット１１０は、ズームレンズ、フォーカシングレンズ及び絞りにより構成され、制御マイコン１０１の指示に基づきレンズ位置及び絞りを調整可能である。レンズユニット１１０を介して受光した被写体からの光が、撮像センサ１０９の受光面上に入射する。
【００１８】
１１１は被写体検出部である。被写体検出部１１１は、ＤＲＡＭ１０６に格納された画像データから人物の顔を検出し、それらの位置と大きさ並びに眼及び口などの器官の位置を検出して制御マイコン１０１に伝達する。
【００１９】
１１２はリライティング処理部である。リライティング処理部１１２は、ＤＲＡＭ１０６に格納された画像データに対して、制御マイコン１０１の指示に基づき仮想光源を設定し、指定の被写体をリライティング処理した結果の画像データをＤＲＡＭ１０６に格納する。
【００２０】
１１３はメモリカードコントローラである。メモリカードコントローラ１１３は、ＤＲＡＭ１０６に格納された記録用画像データをデジタルカメラ１００に接続されたメモリカード１５０に記録する。
【００２１】
１１４はグラフィック描画部である。グラフィック描画部１１４は、制御マイコン１０１の指示に基づき、ユーザに通知する文字情報、及び、操作に用いるアイコンなどのオブジェクトを、ＤＲＡＭ１０６の表示用フレームメモリに描画する。
【００２２】
１１５は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）コントローラである。ＬＣＤコントローラ１１５は、ＤＲＡＭ１０６の表示用フレームメモリの記憶データを読みだして、ＬＣＤタッチパネル１１６のＬＣＤ部に供給して表示させる。１１７はタッチパネルコントローラである。タッチパネルコントローラ１１７は、ＬＣＤタッチパネル１１６のタッチパネルに対するユーザのタッチ操作を検出し、そのタッチ位置等を制御マイコン１０１に伝達する。
【００２３】
図２は、デジタルカメラ１００の外観図であって、図２（ａ）はデジタルカメラ１００を正面側から見た外観斜視図を示し、図２（ｂ）は背面側から見た概観斜視図を示す。図２（ａ）に示す曜日、デジタルカメラ１００は正面にレンズユニット１１０を備え、上面に操作部１０７を構成するシャッタボタン２０１を備えている。また、図２（ｂ）に示すように、デジタルカメラ１００の背面にＬＣＤタッチパネル１１６と、操作部１０７を構成する再生ボタン２０２が配置されている。
【００２４】
図３及び図４を参照して、リライティング処理の概要を説明する。図３（ａ）は人物３００に対するリライティング処理前の画像例を示し、図３（ｂ）は、処理後の画像例を示す。
【００２５】
図３（ａ）に示す処理前画像３０２では、人物３００の顔の左側部分３０４が環境光に照らされて明るく、右側部分３０６が、相対的に暗くなっている。ここでは図を単純化するため、明部（左側部分３０４）と暗部（右側部分３０６）に分けて図示しているが、実際には、顔の表面形状に応じて明るさは連続的に変化する。
【００２６】
図３（ｂ）に示す処理後画像３１０では、人物３００に対して環境光の反対側に仮想光源を配置している。仮想光源により、右側部分３０６が処理前より明るくなると共に、左側部分３０４に少し暗くなる部分３１２ができる。なお、仮想光源による明るさの加算により元から明るい部分の白飛びが起きることを防ぐためのゲイン調整により、処理前よりも暗くなる部分ができる。顎の下の、環境光と仮想光源のどちらからの影になる部分３１４は、暗くなる。
【００２７】
リライティング処理の前提として、顔の凹凸を決定する必要がある。制御マイコン１０１は、被写体検出部１１１の検出した人物３００の顔の位置と大きさ、並びに目や口などの器官の位置をもとに、顔の奥行き方向の表面形状を推定する。または、画像の撮影時に位相差検出方式などの測距手段によって、処理対象となる部分の奥行き方向の距離を検出または推定することができ、この距離データを使っても凹凸形状を決定できる。
【００２８】
例えば、図４に示すように、人物３００の顔に対して矩形４１０乃至４２９で示す水平位置の奥行き方向の表面形状を曲線４２０のように推定する。制御マイコン１０１は、こうして得られた曲線４２０において、矩形４１０〜４２９と対応する表面部分の法線ベクトル４５０〜４６９を求める。制御マイコン１０１は、人物３００の顔の中心４７０を、曲線４２０の中央表面から奥行き方向に所定距離を設けた位置に設定する。仮想光源４７１が、図４では、中心４７０に対して十分遠い距離に配置されているものとする。仮想光源４７１から中心４７０に向かうベクトル４７２は、仮想光源４７１から放たれる仮想的な光線の光軸を示す。各矩形４１０〜４２９に対応する表面部分の法線ベクトル４５０〜４６９とベクトル４７２の成す角度が９０度から２７０度の範囲内である場合、制御マイコン１０１は、１８０度に近い矩形領域ほど明るく補正する。制御マイコン１０１は、これらの処理を画素単位で、リライティング処理の対象となる被写体の全体に対して実行する。
【００２９】
図５は、仮想光源の位置と強さを変更するユーザインターフェースとなる画面例を示す。図５（ａ）は、リライティング処理前にＬＣＤタッチパネル１１６のＬＣＤに表示される画像例を示し、図５（ｂ）は、仮想光源を操作する要素を追加表示する画像例を示す。
【００３０】
ユーザが再生ボタン２０２を押下することで、制御マイコン１０１はデジタルカメラ１００を再生モードとし、メモリカード１５０に格納された画像データをＬＣＤタッチパネル１１６のＬＣＤに再生表示する。図５（ａ）は、このようにＬＣＤに再生表示される画像例５００を示す。画像例５００では、人物３００の向かって右側の手前に窓５０２があり、そこからの環境光が人物３００の顔の左側を明るく照らしている。制御マイコン１０１は、グラフィック描画部１１４によって画面の左上に歯車様のアイコン５０４を表示する。ユーザがこのアイコン５０４をタッチすると、制御マイコン１０１は所定のメニューを表示し、ユーザはそのメニュー上でリライティング処理を選択できる。
【００３１】
ユーザがメニュー上でリライティング処理を選択すると、制御マイコン１０１は、図５（ｂ）に示す画像例５０５のように、被写体検出により処理対象として人物の顔の部分を示す枠５０６を追加的に表示する。制御マイコン１０１は、仮想光源の位置を水平方向で操作する水平スライドバー５０８とつまみ５１０、及び、仮想光源の出力光強度を垂直方向で操作する垂直スライドバー５１２とつまみ５１４を追加表示する。制御マイコン１０１は更に、画面左上にキャンセルボタン５１６を表示し、画面右上に決定ボタン５１８を表示する。ユーザは、ＬＣＤタッチパネル１１６のタッチパネルに対してつまみ５１０をタッチしたまま左右にスライドさせることで仮想光源の水平位置を変更でき、つまみ５１４をタッチしたまま上下にスライドさせることで仮想光源の強さを変更できる。
【００３２】
図６を参照して、水平スライドバー５０８上でのつまみ５１０の位置と、仮想光源の位置とのの関係を説明する。図６（ａ）は、スライドバー５０８のつまみ５１０の操作に対する仮想光源４７１の可動範囲６０１を示す。制御マイコン１０１は、つまみ５１０の操作に応じて、対象の中心４７０から一定距離Ｒの円周上で仮想光源４７１を移動させる。ただし、制御マイコン１０１は、常に中心４７０に向いた状態に仮想光源４７１を維持する。図６（ｂ）に示すように、水平スライドバー５０８の全長Ｈを等分割した個々の範囲が、可動範囲角θを等分割した個々の範囲に対応する。
【００３３】
図７及び図８を参照して、リライティング処理のプレビュー画像の生成方法を説明する。図７はプレビュー画像例を示し、図８は、処理前画像と２つのテンポラリ画像の合成処理を示す。
【００３４】
リライティング処理のユーザインターフェースにおいて、制御マイコン１０１は、スライドバーのつまみの動きに追従して仮想光源の位置と強さを変更した結果をＬＣＤタッチパネル１１６のＬＣＤに表示する。すなわち、制御マイコン１０１は、スライドバーのつまみが操作された、その操作に応じた仮想光源の位置及び光強度のリライティング処理をリライティング処理部１１２に実行させる。そして、制御マイコン１０１は、リライティングの処理結果または以下に説明するプレビュー画像でＬＣＤの表示を更新する。
【００３５】
つまみの位置に対する操作速度に対して、リライティング処理に時間がかかる場合がある。本実施例では、これに対処するため、制御マイコン１０１は、予め作成した複数のテンポラリ画像を合成したプレビュー画像を生成して先に表示する。
【００３６】
図７（ａ）に示す画像７０１は、リライティング処理を行う前の画像を示す。Ｐ０は画像７０１を構成する画素の１つである。図７（ｂ）に示す画像７０２は、仮想光源を可動範囲６０１の最も左の位置７１２に設定してリライティング処理を行った第１のテンポラリ画像である。Ｐ１は処理前の画像７０１における画素Ｐ０に対応する画素である。図７（ｃ）に示す画像７０３は、仮想光源を可動範囲６０１の最も右の位置７１３に設定してリライティング処理を行った第２のテンポラリ画像である。Ｐ２は、処理前の画像７０１の画素Ｐ０に対応する画素である。
【００３７】
図８は、処理前画像７０１と２つのテンポラリ画像７０２，７０３の合成関係を示す。制御マイコン１０１は、まず２つのテンポラリ画像７０２，７０３をカメラ信号処理部１０８またはリライティング処理部１１２に合成させることで、仮プレビュー画像７０４を生成させる。Ｐｔは、処理前の画像７０１の画素Ｐ０に対応する仮プレビュー画像７０４の画素である。画素Ｐｔの画素値ｐｔは、水平スライドバー５０８のつまみ５１０の位置ａに応じて、式１により得られる。すなわち、
ｐｔ＝ａ×ｐ１＋（１−ａ）×ｐ２・・・（１）
ここで、ｐ１，ｐ２はそれぞれ画素Ｐ１，Ｐ２の画素値である。ａはつまみ４６１０の位置に比例して変化し、水平スライドバー５０８の左端に位置したときに０、右端に位置したときに１となる。
【００３８】
さらに、制御マイコン１０１は、生成した仮プレビュー画像７０４と処理前の画像７０１をカメラ信号処理部１０８またはリライティング処理部１１２により合成させることで、プレビュー画像８０５を生成させる。プレビュー画像８０５のＰは、処理前の画像７０１の画素Ｐ０に対応する画素である。画素Ｐの画素値ｐは、垂直スライドバー５１２のつまみ５１４の位置ｂに応じて、式２により得られる。すなわち、
ｐ＝ｂ×ｐｔ＋（１−ｂ）×ｐ０
＝ｂ×（ａ×ｐ１＋（１−ａ）×ｐ２）＋（１−ｂ）×ｐ０・・・（２）
ここで、ｂはつまみ５１４の位置に比例して変化し、垂直スライドバー５１２の上端に位置したときに０、下端に位置したときに１となる。この合成処理をリライティング処理の対象となる被写体の全画素に対して行うことで、スライドバーのつまみの動きに追従したプレビュー画像が生成される。
【００３９】
仮想光源の複数の位置についてテンポラリ画像を生成したが、２つの光強度についてテンポラリ画像を生成し、同様の手順で仮プレビュー画像及びプレビュー画像を生成し、仮想光源の操作中の表示に使用するようにしてもよい。
【００４０】
図９は、本実施例のリライティング処理のフローチャートを示す。制御マイコン１０１は、図９に対応する制御プログラムをフラッシュメモリ１０４から読み込み実行することで、図９に示す処理を実現する。図４を参照して説明したように、画像再生中にメニュー表示からリライティング処理をユーザが選択すると、制御マイコン１０１が、図９に示す処理を実行する。
【００４１】
ステップＳ９０１で、制御マイコン１０１は、被写体検出部１１１により、再生中の画像から人物の顔を検出させ、リライティング処理の対象となる主被写体を決定する。
【００４２】
ステップＳ９０２で、制御マイコン１０１は、ステップＳ９０１で主被写体を決定できたかどうかを判定する。制御マイコン１０１は、主被写体を決定できている場合、ステップＳ９０４に進み、決定できていない場合、Ｓ９０３に進む。
【００４３】
ステップＳ９０３で、制御マイコン１０１は、ＬＣＤタッチパネル１１６のＬＣＤに中断メッセージを表示する。ユーザがＬＣＤタッチパネル１１６のタッチパネルをタッチしたら、制御マイコン１０１は、中断メッセージの表示をクリアして、図９に示すリライティング処理を終了する。
【００４４】
ステップＳ９０４で、制御マイコン１０１は、図７及び図８を参照して説明したように、２つのテンポラリ画像を生成する。ステップＳ９０５で、制御マイコン１０１は、グラフィック描画部１１４によりＤＲＡＭ１０６の表示用フレームメモリに対して操作オブジェクトを描画させる。描画オブジェクトは、主被写体を囲む枠５０６、水平スライドバー５０８とつまみ５１０、垂直スライドバー５１２とつまみ５１４、並びに、決定ボタン５１８及びキャンセルボタン５１６といった操作用オブジェクトからなる。
【００４５】
ステップＳ９０６で、制御マイコン１０１は、記録用の画像の生成を開始する。具体的には、制御マイコン１０１は、処理前の画像に対して、現在のスライドバーのつまみの位置に応じたリライティング処理を開始する。
【００４６】
ステップＳ９０７で、制御マイコン１０１は、図７及び図８を参照して説明したように、処理前画像７０１と２つのテンポラリ画像７０２，７０３を合成してプレビュー画像７０５を生成し、ＬＣＤタッチパネル１１６のＬＣＤに表示する。
【００４７】
ステップＳ９０８で、制御マイコン１０１は、決定ボタン５１８にタッチされたか否かを判定する。制御マイコン１０１は、決定ボタン５１８にタッチされている場合、ステップＳ９０９に進み、タッチされていない場合、ステップＳ９１２に進む。
【００４８】
ステップＳ９０９で、制御マイコン１０１は、ステップＳ９０６で開始した記録用の画像の生成が完了するのを待つ。完了するか、または既に完了している場合、制御マイコン１０１は、ステップＳ９１０に進む。ステップＳ９１０で、制御マイコン１０１は、生成した記録用の画像をメモリカード１５０に記録する。ステップＳ９１１で、制御マイコン１０１は、生成したテンポラリ画像及びプレビュー画像並びに描画した操作用オブジェクトなどを削除してリライティング処理の開始前の状態に戻す終了処理を行い、図９に示す処理を終了する。
【００４９】
ステップＳ９１２で、制御マイコン１０１は、中断ボタンにタッチされたか否かを判定する。制御マイコン１０１は、中断ボタンにタッチされている場合、ステップＳ９１３に進み、タッチされていない場合、ステップＳ９１４に進む。
【００５０】
ステップＳ９１３で、制御マイコン１０１は、記録用の画像の生成が継続中か否かを確認し、継続していれば生成を中断して、ステップＳ９１１に進む。ステップＳ９１１で、制御マイコン１０１は、先に説明したように終了処理を実行して、図９に示す処理を終了する。
【００５１】
ステップＳ９１４で、制御マイコン１０１は、スライドバーのつまみの位置が変化したか否かを判定する。制御マイコン１０１は、つまみの位置に変化がある場合、ステップＳ９１５に進み、変化が無い場合、ステップＳ９１６に進む。
【００５２】
ステップＳ９１５で、制御マイコン１０１は、ステップＳ９１３と同様に、記録画像の生成が継続中かどうかを確認し、継続している場合にその生成を中断して、ステップＳ９０６に戻る。
【００５３】
ステップＳ９１６で、制御マイコン１０１は、記録用の画像の生成が完了したかどうかを確認する。記録用画像の生成が完了していて、プレビュー画像の表示に利用可能なとき、制御マイコン１０１は、ステップＳ９１７に進む。記録用画像の生成が完了していないか、既に記録用の画像が表示に用いられている場合、制御マイコン１０１は、ステップＳ９０８に戻る。
【００５４】
ステップＳ９１７で、制御マイコン１０１は、ＬＣＤタッチパネル１１６のＬＣＤに表示すべき画像を、プレビュー画像から記録用の画像に差し替えて、ステップＳ９０８に戻る。
【００５５】
以上のように、本実施例によれば、ユーザが簡単な操作で被写体の陰影状態を調整できる。
【実施例２】
【００５６】
リライティング処理の対象となる主被写体が傾いていても良い。このような傾きに対応する実施例２を説明する。
【００５７】
図１０は、主被写体の傾きに応じたユーザインターフェースの画面構成例を示す。制御マイコン１０１は、メニューからリライティング処理をユーザが選択したときに、ＬＣＤタッチパネル１１６のＬＣＤに図１０に示すような画面を表示する。ここで処理対象としている画像は、リライティング処理の対象となる人物３００の顔がＬＣＤタッチパネル１１６のＬＣＤの画面に対して傾いている点が、図５（ｂ）の表示例とは異なる。
【００５８】
制御マイコン１０１は、主被写体３００に対して、顔部分を覆う枠１００６を主被写体３００の傾きに合わせて表示する。制御マイコン１０１は、枠１００６の下の水平スライドバー１００８と、右側の垂直スライドバー１０１２も、顔部分の傾きに合わせて傾けて表示する。水平スライドバー１００８に対するつまみ１０１０と、垂直スライドバー１０１２に対するつまみ１０１４は、それぞれ、水平スライドバー１００８及び垂直スライドバー１０１２に沿って移動可能に配置される。水平スライドバー１００８のつまみにより仮想光源の水平位置を調整でき、垂直スライドバー１０１２のつまみ１０１４により、仮想光源の光強度を調整できるのは、図４の場合と同じである。仮想光源の可動範囲も、顔部分の傾きに応じて傾ける。
【００５９】
以上のように、実施例２によれば、画像中の人物の顔の傾きに応じて顔の左右方向から仮想光源を照射して、その陰影状態を調整できる。
【実施例３】
【００６０】
１つの画像内にリライティング処理の対象となる被写体が複数ある場合に、仮想光源をまとめて設定するか、被写体毎に仮想光源を設定する実施例３を説明する。
【００６１】
図１１は、実施例３におけるＬＣＤタッチパネル１１６のＬＣＤに表示する画面例を示す。図１１では、人物３００に加えて、人物１１００が、１つの撮像画像に含まれている。図１１（ａ）は、人物３００，１１００の両方に同じ設定の仮想光源によるリライティング処理を適用する一括適用モードの画面例を示し、図１１（ｂ）は、人物３００，１１００のそれぞれに個別に仮想光源を設定する個別適用モードの画面例を示す。人物１１００に対しては、その顔の部分を囲む枠１１０６が、人物３００に対する枠５０６と同様に表示される。
【００６２】
一括適用モードでは、制御マイコン１０１は、図１１（ａ）に示すような画像をＬＣＤタッチパネル１１６のＬＣＤに表示する。すなわち、制御マイコン１０１は、片方の人物３００に対し、図５と同様に、枠５０６、水平スライドバー５０８とつまみ５１０及び垂直スライドバー５１２とつまみ５１４を表示する。ユーザは、つまみ５１０，５１４により、人物３００に対する仮想光源の位置（角度）と光強度を調整できる。制御マイコン１０１は、人物３００に対する仮想光源の設定と同じ設定を他の人物１１００にも適用する。これにより、２つの人物３００，１１００に対して同じ設定の仮想光源によるリライティング処理が適用される。キャンセルボタン１１１６と決定ボタン１１１８の機能はそれぞれ、キャンセルボタン５１６及び決定ボタン５１８と同じである。
【００６３】
図１１（ａ）に示す画面において、他の人物１１００の枠１１０６の左上には、仮想光源を個別に設定するモードへの切替えを制御マイコン１０１に指示する十字様の切替えアイコン１１２０が表示される。ユーザが切替えアイコン１１２０をタップすると、制御マイコン１０１は、図１１（ｂ）に示す画面例の個別適用のモードに切り替える。
【００６４】
個別的用モードでは、図１１（ｂ）に示すように、制御マイコン１０１は、人物１１００にも、顔部分を囲む枠１１０６、水平スライドバー１１０８とつまみ１１１０及び垂直スライドバー１１１２とつまみ１１１４を表示する。ユーザは、つまみ１１１０，１１１４により、人物１１００に対する仮想光源の位置（角度）と光強度を、人物３００に対する仮想光源とは別に調整できる。制御マイコン１０１は、人物１１００の顔を囲う枠１１０６の左上には、マイナス字状の切替えアイコン１１２２を描画する。ユーザが、アイコン１１２２をタッチすると、制御マイコン１０１は、  図１１（ａ）に示す一括適用モードの画面に切り替える。
【００６５】
実施例３では、画像中の複数の人物の顔に対し、仮想光源の設定を一括適用するか、個別に適用するかを簡単な操作で切り替えることが出来る。
【実施例４】
【００６６】
１つの主被写体に複数の仮想光源を設定できる実施例４を説明する。図１２は、そのユーザインターフェースとなる画面例を示す。図１２（ａ）は、リライティング処理を選択したときの初期画面例を示し、図１２（ｂ）は、２つ目の仮想光源を操作する操作要素を表示する画面例を示す。
【００６７】
図１２（ａ）に示す初期画面では、制御マイコン１０１は、図５に示す例と同様に、人物３００に対し、枠５０６、水平スライドバー５０８とつまみ５１０及び垂直スライドバー５１２とつまみ５１４を表示する。キャンセルボタン５１６と決定ボタン５１８と同様に表示される。本実施例では、制御マイコン１０１は、仮想光源の追加を指示する追加アイコン１２２０を表示する。ユーザが追加アイコン１２２０をタッチすると、制御マイコン１０１は、図１２（ｂ）に示す画面例のように、２つ目の仮想光源に対する水平スライドバー１２３８とつまみ１２４０及び垂直スライドバー１２４２とつまみ１２４４を表示する。更に、制御マイコン１０１は、仮想光源削除のアイコン１２２２も表示する。ユーザが仮想光源削除アイコン１２２２をタッチすると、制御マイコン１０１は、その時点で選択されていたつまみ５１０，５１４，１２４０，１２４４に対応する仮想光源を削除する。
【００６８】
実施例４では、複数の仮想光源を設定して人物の顔の陰影状態を調整することができる。
【実施例５】
【００６９】
上記各実施例では、スライドバートつまみにより、仮想光源の位置と光強度を変更したが、仮想光源自体をイメージしたオブジェクトで位置または光強度を変更できるようにしてもよい。図１３（ａ）は、そのような実施例５の画面例１３０１を示し、図１３（ｂ）は仮想光源の照射状態の斜視図を示す。
【００７０】
制御マイコン１０１は、メニューからリライティング処理を選択した際のＬＣＤタッチパネル１１６のＬＣＤに、図１３（ａ）に示す初期画面１３０１を表示する。図５（ｂ）に示す画面例と比べて、人物３００の顔を囲う枠と、スライドバーが無くなり、円形オブジェクト１３１１が追加されている。円形オブジェクト１３１１は、その中心位置で仮想光源の位置を示し、その半径で光強度を示す。ユーザは、円形オブジェクト１３１１をタッチしてスライドすることで、位置を変更でき、円形オブジェクト１３１１の付近でピンチインまたはピンチアウトを行うことで半径（光強度）を変更できる。例えば、円形オブジェクト１３１１の半径が大きいほど、仮想光源の出力光強度が強くなる。仮想光源の出力光強度に応じて、円形オブジェクト１３１１の色、または半径と色を変更しても良い。
【００７１】
図１３（ｂ）は、円形オブジェクト１３１１の表示位置と、仮想光源の位置との関係を示す。１３２０は表示画面１３０１上の、人物３００の顔の中心を示す。１３２１は表示画面１１０１と垂直に顔の中心１３２０から伸ばした線分Ｌｏの先にあり、人物３００の顔の中心１３２０の仮想的な奥行き方向の位置を示す。１３２２は仮想光源（の位置）を示す。仮想光源１３２２は、奥行き方向も考慮した位置１３２１を中心とする半径Ｒの球面上の任意の位置に移動可能である。１３２３は、仮想光源１３２２から表示画面１３０１に対して垂直に伸ばした線分Ｌａと表示画面１３０１との交点であり、この交点１３２３を中心に円形オブジェクト１３１１が描画される。半径Ｒは固定値であり、位置１３２１を中心とした半径Ｒの球面を表示画面１３０１に投影した範囲に、円形オブジェクト１３１１の可動範囲は限定される。もちろん、ユーザの操作によって半径Ｒを変更可能に構成しても良い。
【００７２】
実施例５によれば、仮想光源の位置や強さを、視覚的に容易に把握しながら、人物の顔の陰影状態を調整することができる。
【００７３】
仮想光源の位置（または照明角度）を水平面内で調節できる実施例を説明したが、垂直面内の位置（仰俯角）も同様のインターフェースで変更できることはあきらかである。
【００７４】
上記各実施例では、人物の顔をリライティング処理の対象としたが、他にも、他の種類の被写体をリライティング処理の対象としても良いし、背景を含む画像全体をリライティング処理の対象としても良い。画像の撮影時に位相差検出方式などの測距手段によって処理対象部分の奥行き方向の距離を検出または推定し、この距離データを使って１または所定数の画素の領域毎に表面部分の法線ベクトルを求めることができる。この法線ベクトルを参照することで、上述のように、仮想光源による明るさ補正を実行できる。
【００７５】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７６】
本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を装置に供給することによっても、達成される。このとき、供給された装置の制御部を含むコンピュータ（またはＣＰＵやＭＰＵ）は、記憶媒体に格納されたプログラムコードを読み出し実行する。記憶媒体から読み出されたプログラムコード自体が、上述の実施例の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は、本発明を構成することになる。
【００７７】
プログラムコードを供給するための記憶媒体としては、例えば、磁気ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード又はＲＯＭ等を用いることができる。
【００７８】
上述のプログラムコードの指示に基づき、装置上で稼動しているＯＳ（基本システムやオペレーティングシステム）などが処理の一部又は全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【００７９】
さらに、記憶媒体から読み出されたプログラムコードが、装置に挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれ、前述した実施形態の機能が実現される場合も含まれる。このとき、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行う。
【００８０】
以上、本発明の好ましい実施例を説明したが、本発明は、これらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【図１】
2018010497.tif 000003
【図２】
2018010497.tif 000004
【図３】
2018010497.tif 000005
【図４】
2018010497.tif 000006
【図５】
2018010497.tif 000007
【図６】
2018010497.tif 000008
【図７】
2018010497.tif 000009
【図８】
2018010497.tif 000010
【図９】
2018010497.tif 000011
【図１０】
2018010497.tif 000012
【図１１】
2018010497.tif 000013
【図１２】
2018010497.tif 000014
【図１３】
2018010497.tif 000015