(57)【要約】【課題】被写体の凹凸によって生じる明るさのムラを効果的に補正することができる画像処理装置を提供する。【解決手段】画像処理装置１００が備えるＣＰＵ１１４が、撮像素子１０４とＡ／Ｄ変換部１０５とを介して、画像データを取得する。また、ＣＰＵ１１４が、画像データに対応する被写体の奥行き方向の深さを示す深度情報を取得する。そして、ＣＰＵ１００が、画像補正部１１１を制御して、画像データの輝度と、深度情報とに基づき、画像データの輝度を補正する。【選択図】図１
2018082239.tif 000002
【特許請求の範囲】
【請求項１】
画像データを取得する第１の取得手段と、
前記画像データに対応する被写体の奥行き方向の深さを示す深度情報を取得する第２の取得手段と、
前記画像データの輝度と、前記深度情報とに基づいて、前記画像データの、前記被写体にテカリあるいは陰影が生じている補正領域の輝度を補正する制御手段と、を有する
ことを特徴とする画像処理装置。
【請求項２】
前記制御手段は、
前記深度情報に基づいて、前記被写体の凹凸を示す形状情報を取得し、
前記形状情報と、前記画像データの輝度とに基づいて、前記補正領域と、前記輝度の補正量とを決定する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、前記被写体の凹凸により陰影が生じる領域を前記補正領域として決定する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記制御手段は、前記被写体の凸形状の領域の周辺の領域であって、かつ、前記凸形状の領域の輝度値よりも輝度値が所定値だけ小さい領域を、前記補正領域として決定する
ことを特徴とする請求項２または請求項３に記載の画像処理装置。
【請求項５】
前記制御手段は、前記輝度の補正によって前記凸形状の領域による前記補正領域の輝度低下が低減するように前記輝度の補正量を決定する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記制御手段は、前記補正領域の輝度値と前記凸形状の領域の輝度値との差に基づいて、前記輝度の補正量を決定する
ことを特徴とする請求項４または請求項５に記載の画像処理装置。
【請求項７】
前記制御手段は、前記画像データに係る画像を複数の領域に分割し、
前記深度情報が示す深さに基づいて、各々の前記領域の代表となる深さを決定し、
前記代表となる深さが極小となる領域を前記凸形状の領域として決定する
ことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記画像データを解析して、前記被写体の顔領域を検出する検出手段を有し、
前記制御手段は、前記顔領域から前記補正領域を決定する
ことを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
画像データを取得する第１の取得手段と、
前記画像データに対応する被写体の奥行き方向の深さを示す深度情報を取得する第２の取得手段と、
前記画像データの輝度と、前記深度情報とに基づいて、凸形状をなす被写体に対応する前記画像データ内の領域を補正領域として、該補正領域の輝度を補正する制御手段と、を有することを特徴とする画像処理装置。
【請求項１０】
画像データを取得する第１の取得手段と、
前記画像データに対応する被写体の奥行き方向の深さを示す深度情報を取得する第２の取得手段と、
前記画像データの輝度と、前記深度情報とに基づいて、凸形状をなす被写体に対応する前記画像データ内の領域の周辺の領域であって、かつ、前記凸形状をなす被写体に対応する領域の輝度よりも輝度が低い領域を補正領域として、該補正領域の輝度を補正する制御手段と、を有することを特徴とする画像処理装置。
【請求項１１】
前記第２の取得手段は、撮影される複数の視点画像の視差量に基づく像ずれマップまたはデフォーカス量に基づくデフォーカスマップを前記深度情報として取得する
ことを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記第２の取得手段は、撮影される複数の視点画像の視差量に基づく被写体までの距離を示す距離マップ、またはＴＯＦ法により取得された、被写体までの距離を示す距離情報のうちの少なくともいずれかを前記深度情報として取得する
ことを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１３】
前記輝度の補正後の画像データを表示する表示手段をさらに有する
ことを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理装置。
【請求項１４】
前記制御手段は、さらに、前記輝度の補正後の画像データを符号化し、深度情報を含めて画像ファイルにした上で、記憶手段に記憶する
ことを特徴とする請求項１乃至１３のいずれか１項に記載の画像処理装置。
【請求項１５】
前記制御手段は、さらに、前記被写体に生じているテカリの補正あるいは陰影の補正を含む自動補正をしたことを示す情報を前記画像ファイルに記録する
ことを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記画像処理装置は、前記輝度の補正後の画像データを表示する表示手段を含むモバイル機器である
ことを特徴とする請求項１乃至１５のいずれか１項に記載の画像処理装置。
【請求項１７】
前記制御手段は、撮像素子から順次取得される画像データに対して前記輝度の補正を実行する
ことを特徴とする請求項１乃至１６のいずれか１項に記載の画像処理装置。
【請求項１８】
被写体光を光電変換して前記画像データに係る信号を出力する撮像素子を有する
ことを特徴とする請求項１乃至１７のいずれか１項に記載の画像処理装置として機能する撮像装置。
【請求項１９】
画像データを取得する工程と、
前記画像データに対応する被写体の奥行き方向の深さを示す深度情報を取得する工程と、
前記画像データの輝度と、前記深度情報とに基づいて、前記画像データの、前記被写体に陰影が生じている補正領域の輝度を補正する工程とを有する
ことを特徴とする画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置および制御方法に関する。
【背景技術】
【０００２】
画像データにおける深度情報から印刷時の厚さ情報を生成し、凹凸のある立体的な印刷を行う印刷データ生成装置を開示している（特許文献１）。また、撮影した画像データの輝度を被写体の特徴に基づいて補正する機能を備えた画像処理装置が提案されている。特許文献２は、人物の顔の所定部位を検出し、この所定部位に対する輝度を補正する画像処理装置を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４８８２８２３号公報
【特許文献２】特開２００７−１９３７２９号公報
【特許文献３】特開２０１２−２３０１７２号公報
【特許文献４】特開２００５−３３９５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献２が開示する画像処理装置は、輝度の補正対象とする顔の所定部位それぞれについて予め決められた明度の関係にするために補正を行う。しかし、被写体撮影時の光源の位置や被写体の向きによって明度の関係は変わってくるため、誤補正となる場合もある。上記課題に鑑み、本発明は、被写体の凹凸によって生じる明るさのムラを効果的に補正することができる画像処理装置の提供を目的とする。
【課題を解決するための手段】
【０００５】
本発明の一実施形態の画像処理装置は、画像データを取得する第１の取得手段と、前記画像データに対応する被写体の奥行き方向の深さを示す深度情報を取得する第２の取得手段と、前記画像データの輝度と、前記深度情報とに基づいて、前記画像データの、前記被写体にテカリあるいは陰影が生じている補正領域の輝度を補正する制御手段と、を有する。
【発明の効果】
【０００６】
本発明の画像処理装置によれば、被写体の凹凸によって生じる明るさのムラを効果的に補正することができる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態の画像処理装置の構成を示す図である。
【図２】画像補正部の構成例を示す図である。
【図３】輝度補正領域と、輝度補正量の決定処理を説明する図である。
【図４】輝度補正領域と、輝度補正量の決定処理を説明する図である。
【図５】輝度補正領域と、輝度補正量の決定処理を説明する図である。
【図６】輝度補正領域と、輝度補正量の決定処理を説明する図である。
【図７】画像処理装置の動作処理を説明するフローチャートである。
【図８】画像処理装置の動作処理を説明するフローチャートである。
【図９】輝度補正処理を説明するフローチャートである。
【図１０】凸領域の検出処理を説明するフローチャートである。
【図１１】補正領域画像の生成処理を説明するフローチャートである。
【発明を実施するための形態】
【０００８】
（実施例１）
撮影した画像データを立体物に印刷すると、立体物の凹凸によって出来る実際の陰影と、撮影時の光の当たり具合によってできた陰影の印刷が重なり、強調される。以下に説明する本実施形態の画像処理装置によれば、被写体の凹凸によって生じる明るさのムラを効果的に補正することができる。
図１は、本実施形態の画像処理装置の構成を示す図である。
図１に示す画像処理装置１００は、撮像装置の一例としてのデジタルカメラである。
画像処理装置１００は、撮影レンズ１０１、絞り１０２、１０３、撮像素子１０４、Ａ／Ｄ変換部１０５、タイミングジェネレータ（ＴＧ）１０６、第１メモリ１０８、第２メモリ１０９、画像処理部１１０を備える。また、画像処理装置１００は、画像補正部１１１、記録Ｉ／Ｆ１１２、記録媒体１１３、ＣＰＵ１１４、表示部１１５、外部接続Ｉ／Ｆ１１６、操作部１１７、内部バス１１８、レンズ駆動部１１９、顔検出部１２０を備える。ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。
【０００９】
撮影レンズ１０１は、ズームレンズと合焦位置調整用のフォーカスレンズとを含む複数のレンズ群を有する。撮影レンズ１０１を構成する各々のレンズは、レンズ駆動部１１９によって制御される。絞り１０２、１０３は、撮影レンズ１０１からの入射光量を調節する。絞り１０２、１０３の開口量は、ＣＰＵ１１４によって制御される。
【００１０】
撮像素子１０４は、例えば、ＣＭＯＳなどにより構成される。ＣＭＯＳは、Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒの略称である。撮像素子１０４は、ＣＰＵ１１４の制御により、撮影レンズ１０１を通過した被写体光を光電変換して、画像データに係る信号（アナログ画像信号）を生成して出力する。本実施形態では、撮像素子１０４の各画素は、受光領域が左右水平方向に分離された一対の光電変換部を含む。一対の光電変換部の出力から、一対の光学像の強度分布に関する情報が得られる。この情報に対して像ズレ検出演算処理（相関演算処理、位相差検出処理）を施すことによって、いわゆる瞳分割型位相差検出方式による一対の像の像ズレ量が検出される。ＣＰＵ１１４が、像ズレ量に対して演算を行うことによってデフォーカス量が算出され、焦点検出と被写体までの深度情報の取得ができる。深度情報は、画像データに対応する被写体の奥行き方向の深さを示す。深度情報には、撮像手段としてのカメラから被写体までの距離（被写体距離）を絶対値として距離値で表わすデータや、画像データにおける相対的な距離関係（画像の深度）を示すデータ（視差量の分布、デフォーカス量の分布等）を含む。一対の光電変換部に蓄積された電荷は、加算されて画素毎のアナログ信号として出力される。撮像素子１０４は、特許文献３等に開示された技術を用いて製造することができるため、詳細構造に関する説明は省略する。
【００１１】
深度情報に関して、さまざまな実施形態がある。つまり、被写体の深さに対応するデータが示す情報は、画像内における撮像装置から被写体までの被写体距離を直接的に表すか、または画像内の被写体の距離（被写体距離）や深さの相対関係を表す情報であればよい。例えば、ＣＰＵ１１４が、合焦位置を変更する制御を行い、撮影された複数の撮像画像データが取得される。それぞれの撮像画像データの合焦領域と、撮像画像データの合焦位置情報から深度情報を取得することができる。この他にも、撮像素子が瞳分割型の画素構成を有する場合、一対の像信号の位相差から各画素に対する深度情報を取得可能である。具体的には、撮像素子は、撮像光学系の異なる瞳部分領域を通過する一対の光束が光学像としてそれぞれ結像したものを電気信号に変換し、対をなす画像データ（視点画像）を複数の光電変換部から出力する。対をなす画像データ間の相関演算によって各領域の像ずれ量が算出され、像ずれ量の分布を表す像ずれマップが算出される。あるいはさらに像ずれ量がデフォーカス量に換算され、デフォーカス量の分布（撮像画像の２次元平面上の分布）を表すデフォーカスマップが生成される。このデフォーカス量を撮像光学系や撮像素子の条件に基づいて、被写体までの距離（被写体距離）に換算すると、被写体距離の分布を示す距離マップデータが得られる。距離マップは、撮影される複数の視点画像の視差量に基づく被写体までの距離を示す。像ずれマップデータ、デフォーカスマップデータ、あるいはデフォーカス量から変換される被写体距離の距離マップデータを取得可能である。
【００１２】
また、被写体への投光から反射光を受けるまでの遅延時間を測定して被写体までの距離計測を行うＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）法を用いて画像内における撮像装置から被写体までの距離情報を直接的に取得してもよい。ＴＯＦ法では、投光手段により被写体（対象物）にパルス光を投射して、その反射光を受光し、このパルス光の飛行時間（遅れ時間）を測定することで被写体距離（対象物までの距離）を測り、深度情報を取得する。
【００１３】
Ａ／Ｄ変換部１０５は、ＣＰＵ１１４の指示にしたがって、撮像素子１０４から出力されたアナログ信号に対してＡ／Ｄ変換を行うことにより、デジタル信号（画像データ）を生成し、第１メモリ１０８に記録する。すなわち、ＣＰＵ１１４は、画像データを取得する第１の取得手段として機能する。ＴＧ１０６は、ＣＰＵ１１４の指示に従って、撮像素子１０４およびＡ／Ｄ変換部１０５に対するタイミングパルスを生成し供給する。撮像素子１０４、Ａ／Ｄ変換部１０５の駆動タイミングは、ＴＧ１０６のタイミングパルスによって制御される。
【００１４】
第１メモリ１０８は、揮発性のバッファメモリであり、Ａ／Ｄ変換部１０５や記録媒体１１３からの画像データ、Ａ／Ｄ変換部１０５や記録媒体１１３からの深度情報を一時的に記憶する。第２メモリ１０９は、不揮発性メモリであり、ＣＰＵ１１４が画像処理装置の各部動作を制御するためのシーケンスプログラムなどを保持している。
【００１５】
画像処理部１１０は、Ａ／Ｄ変換部１０５からのデジタル信号に対して、各種画像処理を施して画像データを生成し、第１メモリ１０８に記録する。画像処理部１１０は、圧縮部、伸張部等を備え、画像データに対して色補正、平滑化処理、コントラスト強調処理や信号圧縮、伸張などの各種処理を行う。
【００１６】
画像補正部１１１は、ＣＰＵ１１４の制御にしたがって、第１メモリ１０８から画像データと深度情報を読み出す。そして、画像補正部１１１は、画像データの輝度と、深度情報とに基づいて、画像データの輝度を補正する。画像補正部１１１の詳細な内部処理については後述する。記録Ｉ／Ｆ１１２には、記録媒体１１３を接続するためのコネクタが形成されている。記録Ｉ／Ｆ１１２は、ＣＰＵ１１４からの指示に従って、記録媒体１１３に対して画像データや深度情報の読み出し／書き込みを行う。記録媒体１１３は、ハードディスクや半導体メモリを内蔵したメモリカードなどを有する。
【００１７】
ＣＰＵ１１４は、画像処理装置１００全体を制御する。ＣＰＵ１１４は、第２メモリ１０９に格納されたシーケンスプログラムに従って、画像処理装置１００の各部動作を制御するとともに、撮影などに必要となる各種演算を実行する。表示部１１５は、ＣＰＵ１１４の指示に従って、メニュー画面やライブビュー等の各種表示を行う。また、表示部１１５は、ＣＰＵ１１４の指示にしたがって、輝度の補正後の画像データを表示する。外部接続Ｉ／Ｆ１１６は、ＵＳＢなどの有線あるいはＷｉＦｉなどの無線を介して外部機器と接続する。これにより、外部接続Ｉ／Ｆ１１６は、外部機器とデータの送受信を行う。
【００１８】
操作部１１７は、レリーズボタン、操作ボタンなどを有する。操作部１１７のレリーズボタンは、露光動作開始の指示や焦点検出、撮影の指示を操作者から受け付ける。操作部１１７の操作ボタンは、メニュー画面での入力や、撮影モードの切り換え入力などを操作者から受け付ける。内部バス１１８は、公知のプロトコルに基づいた大容量高速伝送路である。
【００１９】
レンズ駆動部１１９は、撮像素子１０４に結像した光学像が合焦するように、ＣＰＵ１１４からの指示に従って撮影レンズ１０１を駆動する。顔検出部１２０は、第１メモリ１０８に記録されている画像データを解析して、被写体の顔領域を検出する。顔領域は、例えば、人物の顔面が写っている部分と、目、鼻、口などの器官の領域である。顔面、器官の領域の検出には公知の手法を用いるので、詳細な説明は省略する。なお、図１に示して説明した画像処理装置１００の構成は一例である。したがって、以下に説明する動作を実行できるのであれば、画像処理装置１００の構成は、図１に示す構成に限定されるものではない。また、画像処理装置は、輝度の補正後の画像データを表示する表示部を含むモバイル機器であってもよい。
【００２０】
図２は、画像補正部１１１の構成例を示す図である。
画像補正部１１１は、補正領域決定部２０３、補正量決定部２０４、補正演算部２０５を備える。本実施形態において、画像データは、各画素８ビット長の輝度データを有するものとする。
【００２１】
補正領域決定部２０３は、ＣＰＵ１１４の制御にしたがって第１メモリ１０８から深度情報を読み出し、この深度情報に基づいて、被写体に生じる明るさのムラを検出する。本実施形態では、被写体の凸形状の領域である凸領域を検出することで、被写体の凸領域に生じるテカリなどの高輝度部や凸領域の周辺の画像領域に生じる、凸形状の被写体に光が遮られたことによる陰影が生じる領域を検出する。これらのテカリや陰影の領域はその程度や画像の用途に応じて強調や低減など適切に補正される。補正領域決定部２０３は、凸領域の検出結果を補正量決定部２０４へ送信する。凸領域の検出とは、被写体表面の突起形状を検出する処理である。すなわち、補正領域決定部２０３は、凸領域の検出処理によって、被写体の凹凸を示す形状情報を取得する。補正領域決定部２０３は、深度情報が示す深さが周辺の領域（例えば、凸形状のピーク位置を示す画素から所定画素数の範囲内、あるいは凸形状の半値全幅の所定倍の領域など）の深さに比べて極小値を示す領域を凸領域として検出する。
【００２２】
また、補正領域決定部２０３は、第１メモリ１０８から画像データを読み出し、この画像データから輝度成分を抽出して、輝度画像を生成する。補正領域決定部２０３は、輝度画像と、凸領域の検出結果に基づいて、被写体の凹凸すなわち凸領域に起因して発生した凸領域の高輝度部あるいは凸領域の周辺領域の低輝度部（陰影が生じる領域）を輝度補正領域に設定する。輝度補正領域は、輝度の補正対象とする領域である。補正領域決定部２０３は、顔検出部１２０によって検出された顔領域から輝度補正領域を決定するようにしてもよい。補正領域決定部２０３は、輝度補正領域に属する画素の輝度データに対して、最上位に識別信号ビットを付加した補正領域画像を生成し、補正量決定部２０４へ送信する。輝度画像に付加する識別信号ビットと補正領域画像については、後述する。
【００２３】
補正量決定部２０４は、補正領域決定部２０３から受信した補正領域画像と凸領域の検出結果とに基づいて、高輝度部の輝度補正量あるいは陰影部の輝度補正量を決定し、画素単位の輝度補正量を表す補正輝度画像を生成し、補正演算部２０５へ送信する。補正演算部２０５は、第１メモリ１０８から読み出した画像データに対して、補正量決定部２０４から受信した補正輝度画像を加算することで、輝度補正を行う。なお、輝度補正の方法としては上記に限らず、補正ゲイン等を各領域に掛けることで補正を行っても良い。また、画像データに対する補正値としてＲＧＢ信号の形式に換算して、各色の信号にゲインをかける方式で明るさの補正を行っても良い。
【００２４】
図３乃至図６は、輝度補正領域と、輝度補正量の決定処理を説明する図である。
図３（Ａ）は、人物を撮影した画像データの例を示す。この画像データには、撮影時の光の当たり具合によって、鼻筋の左側部、左小鼻の下部に陰影が現れる。図３（Ｂ）は、図３（Ａ）に示す画像データの、鼻筋の左側部と左小鼻の下部付近を拡大した部分を示す。本実施形態では、画像補正部１１１は、輝度補正する際に、画像データに係る画像を複数のブロックに分割し、ブロック単位で被写体表面の凸領域の検出を行った後、画素単位で輝度補正を行う。また、画像補正部１１１は、凸領域の検出と、輝度補正領域の決定と、輝度補正とを、画像データの水平方向に対して行った後に、垂直方向に対して行う。以降、ブロック３０１、３０２、３０３、３０４、３０５、３０６に着目して、水平方向に対する補正領域決定部２０３と補正量決定部２０４の処理を説明する。
【００２５】
図４（Ａ）、（Ｂ）、（Ｃ）に示すグラフの横軸は、いずれも画像上の面内座標を示している。図４（Ａ）の縦軸は、第１メモリ１０８が得た被写体の深度情報から算出した奥行き方向の深さ（被写体表面の凹凸）を示す。深さの数値が小さいほど、被写体は撮影者側に盛り上がった形状であることを意味する。
【００２６】
図４（Ｂ）は、ブロック毎に求めた深度情報が示す深さの代表値（以下、代表深さ値と称する）を表している。代表深さ値の算出方法としては、ブロック毎に各画素の深度情報を積分しても良いし平均をとっても良いが、本実施形態では平均をとるものとする。
【００２７】
図４（Ｃ）の縦軸は、第１メモリ１０８が得た画像データの輝度である。以下、図４（Ａ）、（Ｂ）、（Ｃ）を詳しく説明する。図３（Ｃ）の曲線３２０は、図３（Ｂ）の陰影が現れた鼻筋近傍の凹凸を表す。補正領域決定部２０３は、複数の代表深さ値の中から、下に凸な極小値となる代表深さ値を表すブロックを見つけることによって、被写体表面に存在する凸部を検出する。具体的には、補正領域決定部２０３は、複数ブロック領域（例えば図３（Ｂ）に示したような６ブロック分の領域）の代表深さ値の中から最小となるブロックを決定する処理を繰り返して、画像データ全体に適用する。
【００２８】
複数ブロック領域が、被写体である人物と背景に跨ってしまうと、極小値を示すブロックが全て背景に含まれてしまうので、被写体表面の凹凸を検出できなくなる。したがって、補正領域決定部２０３は、代表深さ値が極小値となるブロックを探す範囲を限定する。具体的には、補正領域決定部２０３は、撮影時に操作者が焦点を合わせた被写体までの深さを基準にして、代表深さ値が、基準とした深さから−Ｄ〜＋Ｄの範囲に収まるブロックをブロックの検出対象にする。
【００２９】
図４（Ａ）は、ブロック３０１やブロック３０６が位置している顔の表面（代表深さ値がＤ２）に対して合焦している状態を示す。極小値となるブロックを検出する範囲は、Ｄ２を中心にして、±Ｄに限定される。Ｄは、被写体が人物である場合には、例えば、２０ｃｍ程度に設定しておく。
【００３０】
図４（Ｂ）は、図４（Ａ）に対応する、ブロック毎の代表深さ値を示す。
代表深さ値３２１は、ブロック３０１に属する画素が持つ深度情報から算出される代表深さ値を示す。代表深さ値３２３が下に凸な極小値を示していることが分かる。ブロック単位で代表深さ値を算出することにより、画素単位の輝度ばらつきが平準化される。したがって、操作者が陰影検出精度を指定することによって分割ブロックの大きさが決定される構成を採ってもよい。
【００３１】
図４（Ｃ）の曲線３３１は、ブロック３０１からブロック３０６に相当する座標位置における画像データの輝度分布を表す。陰影にあたる最小輝度値が、輝度Ｙ１である。陰影以外の領域の輝度値が、輝度Ｙ２である。補正領域決定部２０３は、凸領域の検出結果と画像データの輝度分布とから輝度補正領域を決定し、補正領域画像を生成する。
【００３２】
輝度補正領域と補正領域画像について説明する。まず、輝度補正領域について説明する。図４（Ｂ）のグラフに示すように、ブロック３０３近傍に凸領域があることが検出される。次に、補正領域決定部２０３は、ブロック３０３の周囲のブロックを探索する。図４（Ｃ）のグラフに示すように、ブロック３０３に隣接するブロック３０４に属する画素の輝度値が低下している。補正領域決定部２０３は、ブロック３０４における輝度値の低下は、ブロック３０３の凸領域によって発生した陰影の影響によるものであると判断し、ブロック３０４を輝度補正領域として決定する。輝度補正領域は画素単位で決定される。隣接ブロックとみなす範囲は、操作者が操作部１１７を介して指定した陰影検出精度に合わせて決定される。
【００３３】
ブロック３０６の右方に位置するブロック３０７、３０８の代表深さ値がブロック３０６と同等であるにも関わらず、ブロック３０７に相当する座標位置における画像データの代表輝度値が低下している場合を想定する。この場合には、ブロック３０７に対応する代表輝度値の低下は、被写体表面の凸領域による陰影の影響であるとは判断されず、ブロック３０７は、輝度補正領域には含まれない。
【００３４】
画素の輝度値が低下しているかどうかを判断する基準の一例を説明する。補正領域決定部２０３は、例えば、代表深さ値が極小値をとるブロック３０３での輝度平均値（図４（Ｃ）ではＹ２）よりも所定値（Ｔｈ１）だけ小さいかどうかを基準にする。Ｔｈ１の値は、予め一意に決定されてもよいし、操作者が画像データ全体の輝度分布や、画素単位での輝度ばらつき度合いに基づいてＴｈ１の値を設定してもよい。すなわち、補正領域決定部２０３は、凸領域の周辺の領域であって、かつ、凸領域の輝度値よりも輝度値が所定値だけ小さい領域を、輝度補正領域として決定する。
【００３５】
次に、補正領域画像について説明する。補正領域画像は、補正領域決定部２０３が生成した輝度画像のうち、輝度補正領域に対応する位置に画素単位で識別信号が付加された輝度画像である。識別信号付けは、以下のように行われる。輝度画像の１画素の輝度を０〜２５５の２５６階調で２進数表現すると“００００００００”〜“１１１１１１１１”の８ビット長が必要になる。例えば、３０階調は“０００１１１１０”のように表現される。３０階調の画素が輝度補正領域に含まれると判断された場合は、“１０００１１１１０”のように、拡張された最上位ビットに識別信号ビット“１”が付けられる。３０階調の画素が輝度補正領域に含まれないと判断された場合は、“００００１１１１０”のように、拡張された最上位ビットに識別信号ビット“０”が付加される。輝度画像の画像データに対して最上位ビットを拡張し、その値によって補正領域に属するか否かを表現する画像が補正領域画像である。
【００３６】
補正量決定部２０４は、補正領域決定部２０３から補正領域画像と凸領域の検出結果を受け取って輝度補正量を決定し、０階調（黒色）画像に対して、補正領域に相当する位置座標の階調を輝度補正量だけオフセットして、補正輝度画像を生成する。補正量決定部２０４は、生成した補正輝度画像を補正演算部２０５に渡す。
【００３７】
顔検出部１２０が、検出した顔面に対して陰影補正を行う場合、毛髪部を低輝度領域として誤認識しないように毛髪検出を行ってもよい。毛髪検出については、特許文献４等に開示された技術を用いて実施することができるので、詳細処理に関する説明は省略する。また、顔面で陰影に関係なく低輝度であるような部位のうち、例えば目のような顔検出部１２０が検出できる器官については、誤補正を防止するために、補正領域画像において補正対象から除外してもよい。
【００３８】
本実施形態では、補正量決定部２０４は、輝度補正によって、凸領域による輝度補正領域の輝度低下が低減するように輝度補正量を算出する。具体的には、補正量決定部２０４は、極小値ブロック３０３での代表輝度値と輝度補正対象画素の輝度値の差分に基づいて、輝度補正量を算出する。極小値ブロック３０３での代表輝度値が１００階調で、輝度補正対象画素の輝度が３０階調の場合、輝度補正量は７０階調となる。したがって、ブロック３０３によって発生した低輝度領域に含まれる補正対象画素の階調は、７０、つまり“０１０００１１０”となる。補正輝度画像は、画像データ内の全ての補正領域の位置座標に対して輝度補正量分だけ階調をオフセットすることにより生成される。このとき、補正輝度画像の各画素は、最上位の識別信号ビットを持たないので、８ビット長である。
【００３９】
次に、図５（Ａ）、（Ｂ）、図６（Ａ）乃至（Ｃ）を用いて、ブロック３０４、３１１、３１２、３１３、３１４、３１５に着目した、垂直方向に対する補正領域決定部２０３と補正量決定部２０４の処理を説明する。大きな処理の流れは水平方向の処理と同様である。
【００４０】
図５（Ａ）は、輝度補正前の画像を示す。図６（Ａ）、（Ｂ）、（Ｃ）の横軸は、いずれも画像上の面内座標を示している。図６（Ａ）の縦軸は、第１メモリ１０８が得た被写体の深度情報から算出される被写体表面の凹凸を示す。図６（Ｂ）は、ブロック毎に求めた代表深さ値を表す。図６（Ａ）の曲線３４０は、図３（Ｂ）に示す陰影が現れた小鼻近傍の凹凸を表す。補正領域決定部２０３は、複数の代表深さ値のうち、下に凸な極小値となる代表深さ値を表すブロックを見つけることによって、被写体表面に存在する凸領域を検出する。
【００４１】
図６（Ｂ）は、図６（Ａ）に対応する、ブロック毎の代表深さ値を示す。代表深さ値３４１は、ブロック３０４に属する画素が持つ深度情報から算出される代表深さ値を示している。代表深さ値３４４が下に凸な極小値を示していることが分かる。図６（Ｃ）の曲線３４７は、ブロック３０４からブロック３１５に相当する座標位置における画像データの輝度分布を表している。
【００４２】
図６（Ｃ）に示すように、ブロック３１３に隣接するブロック３１４に属する画素の輝度値が低下している。したがって、補正領域決定部２０３は、ブロック３１４に属するガぞの輝度値の低下は、ブロック３１３（凸領域）によって発生した陰影の影響であると判断する。補正領域決定部２０３は、輝度画像のデータに対して識別信号“１”が付加された補正領域画像を生成する。
【００４３】
補正量決定部２０４は、補正領域決定部２０３から補正領域画像と凸領域の検出結果を受け取って輝度補正量を決定し、０階調（黒色）画像に対して補正領域に相当する位置座標の階調を輝度補正量だけオフセットした補正輝度画像を生成する。補正量決定部２０４は、生成した補正輝度画像を補正演算部２０５に渡す。補正演算部２０５は、補正輝度画像に基づいて、陰影の輝度補正を行う。図５（Ｂ）は、輝度補正後の画像を示す。
【００４４】
図７および図８は、画像処理装置の動作処理を説明するフローチャートである。
本フローチャートが示す処理は、ユーザによって撮影モードの設定、輝度補正処理の有無等の諸設定が行われた後で開始される。
【００４５】
図７は、撮影処理を示す。ステップＳ４１０１において、ＣＰＵ１１４が、撮像素子１０４からライブビュー表示用のアナログ信号を読み出す。その後、Ａ／Ｄ変換部１０５、画像処理部１１０によって各種信号処理が行われ、表示部１１５にライブビューとして撮像素子１０４が捉えた被写体が表示される。
【００４６】
次に、ステップＳ４１０２において、ＣＰＵ１１４が、操作部１１７に対するユーザ操作を待つ。ユーザによってレリーズボタンが半押しされた場合は、処理がステップＳ４１０３に進む。レリーズボタンへの操作が無い場合は、処理がステップＳ４１０１に戻る。
【００４７】
ステップＳ４１０３において、ＣＰＵ１１４が、焦点検出処理を実行する。ＣＰＵ１１４は、例えば、撮像素子１０４に埋め込まれた位相差検出用画素の情報に基づいて、レンズ１０１の駆動方向を決定する。ステップＳ４１０４において、ＣＰＵ１１４が、レンズ駆動部１１９を制御して、ステップＳ４１０３で決めた駆動方向にレンズ１０１を移動する。
【００４８】
ステップＳ４１０５において、ＣＰＵ１１４が、ステップＳ４１０４で移動したレンズ位置において、ステップＳ４１０１と同様に、撮像素子１０４からライブビュー表示用のアナログ信号を読み出す。そして、ＣＰＵ１１４は、Ａ／Ｄ変換部１０５、画像処理部１１０を制御して各種信号処理を実行し、表示部１１５にライブビュー画像を表示する。
【００４９】
ステップＳ４１０６において、ＣＰＵ１１４が、操作部１１７に対するユーザ操作を待つ。ユーザによってレリーズボタンが全押しされた場合は、処理がステップＳ４１０７に進む。レリーズボタンの半押しが保持されている場合は、処理がステップＳ４１０５に進む。また、レリーズボタンから指が離れ、ボタンの押し込みが戻った場合は、処理がステップＳ４１０１に戻る。
【００５０】
次に、ステップＳ４１０７において、ＣＰＵ１１４が、撮像素子１０４から、静止画モードで被写体を撮像した際のアナログ信号と深度情報を読み出す。続いて、ステップＳ４１０８において、ＣＰＵ１１４が、Ａ／Ｄ変換部１０５を制御して、撮像素子１０４からのアナログ信号をデジタル変換する。画像処理部１１０が、デジタル変換されたアナログ信号に対して、各種画像処理を施して、静止画用の画像データを生成する。
【００５１】
次に、ステップＳ４１０９において、ＣＰＵ１１４が、ユーザによって予め輝度補正設定がなされたか否かを判断する。輝度補正設定がされている場合は、処理がステップＳ４１１０に進む。輝度補正設定がされていない場合は、処理がステップＳ４１１１に進む。ステップＳ４１１０の輝度補正処理に関しては、図９を用いて後述する。ステップＳ４１１１において、ＣＰＵ１１４が、画像データを記録Ｉ／Ｆ１１２を介して記録媒体１１３に記録するか、または外部接続Ｉ／Ｆ１１６を介して外部機器に送信する。ＣＰＵ１１４が、補正後の画像データを符号化し、深度情報を含めて画像ファイルにした上で、記憶手段である記録媒体１１３に記録するようにしてもよい。また、ＣＰＵ１１４が、輝度補正すなわち、被写体に生じているテカリの補正あるいは陰影の補正を含む自動補正をしたことを示す情報を例えばメタデータとして画像ファイルに記録するようにしてもよい。
【００５２】
図８は、画像処理装置による再生処理を説明するフローチャートである。
ステップＳ４２０１において、ＣＰＵ１１４が、記録Ｉ／Ｆ１１２を介して、記録媒体１１３から、再生する画像データと深度情報を読み出し、第１メモリ１０８に書き込む。本実施形態では、記録媒体１１３には、撮像素子１０４からＡ／Ｄ変換部１０５を介して第１メモリ１０８に書き込まれる信号と同様の形式で、画像データと深度情報とが記録されているものとする。
【００５３】
次に、ステップＳ４２０２において、ＣＰＵ１１４が、ユーザによって予め輝度補正設定がされたか否かを判断する。輝度補正設定がされている場合は、処理がステップＳ４２０３に進む。Ｓ４２０３において、ＣＰＵ１１４が、輝度補正処理を実行する。輝度補正設定がされていない場合は、処理がステップＳ４２０４に進む。
【００５４】
ステップＳ４２０４において、ＣＰＵ１１４が、画像データを記録Ｉ／Ｆ１１２を介して記録媒体１１３に記録するか、または外部接続Ｉ／Ｆ１１６を介して外部機器に送信する。以上で再生処理を終了する。
【００５５】
図９は、図７のステップＳ４１０と、図８のステップＳ４２０３における輝度補正処理を説明するフローチャートである。
ステップＳ４３０１において、補正領域決定部２０３が、輝度補正対象画像の画像データと深度情報とを第１メモリ１０８から読み出す。続いて、ステップＳ４３０２において、補正領域決定部２０３が、画像データをブロック分割する。本実施形態では、分割ブロックの大きさは、ユーザが操作部１１７を介して指定した陰影検出精度に合わせて決定される。
【００５６】
次に、ステップＳ４３０３において、補正領域決定部２０３が、水平方向の分割ブロックに対して輝度補正処理を行うように、処理方向を設定する。ステップＳ４３０４において、補正領域決定部２０３が、画像データと深度情報とに基づいて、被写体表面の凸領域の検出処理を実行する。
【００５７】
ステップＳ４３０５では、補正領域決定部２０３が、画像データと、図９のステップＳ４３０４での凸領域の検出結果とに基づいて、凸領域によって発生した陰影の領域である補正対象領域を決定し、識別信号が付加された補正領域画像を生成する。続いて、ステップＳ４３０６において、補正量決定部２０４が、凸領域の検出結果と補正領域画像とに基づいて、画素単位で陰影部の輝度補正量を求める。そして、補正量決定部２０４は、０階調（黒色）画像に対して補正領域に相当する位置座標の階調を輝度補正量だけオフセットした補正輝度画像を生成する。この例では、補正輝度画像の各画素のデータ長は、識別信号ビットを持たない８ビットである。
【００５８】
ステップＳ４３０７において、補正演算部２０５が、画像データと補正量決定部２０４が生成した補正輝度画像とを加算することで、凸領域によって生成された陰影の輝度補正を行う。本実施形態によれば、撮像素子から順次取得される画像データ（ライブビュー画像）に対して輝度の補正を実行することができる。このとき、上記ステップＳ４３０７に続いて、ステップＳ４３０８において、補正演算部２０５が、輝度補正処理が水平、垂直両方に対して実行されたかを判断する。輝度補正処理が水平、垂直両方に対して実行された場合は、処理を終了する。輝度補正処理が垂直方向に対して実行されていない場合は、処理がステップＳ４３０９に進む。ステップＳ４３０９において、補正領域決定部２０３が、垂直方向の分割ブロックに対して輝度補正処理を行うように、処理方向を設定し、処理がステップＳ４３０４に戻る。また、本フローチャートによる輝度補正はライブビュー画像にだけでなく、メモリ等に記録された再生画像に対しても適用可能である。
【００５９】
図１０は、図９のステップＳ４３０４における凸領域の検出処理を説明するフローチャートである。
ステップＳ４４０１において、補正領域決定部２０３が、分割ブロック毎に、画素単位で取得した深度情報の平均をとって、ブロックの代表深さ値を算出する。続いて、ステップＳ４４０２において、補正領域決定部２０３が、ステップＳ４４０１で算出した代表深さ値を第１メモリ１０８に書き込む。
【００６０】
次に、ステップＳ４４０３において、補正領域決定部２０３が、代表深さ値の算出を画像データ内の全ブロックに対して行ったかを判断する。代表深さ値の算出を画像データ内の全ブロックに対して行った場合は、処理がステップＳ４４０４に進む。代表深さ値の算出を行っていないブロックが残っている場合は、処理がステップＳ４４０１に戻る。
【００６１】
ステップＳ４４０４において、補正領域決定部２０３が、複数ブロック（例えば、６ブロック）の中で、代表深さ値が極小値となるブロックを検出する。この複数ブロック領域の大きさは、ユーザが操作部１１７を介して指定した陰影検出精度に合わせて決定される。続いて、ステップＳ４４０５において、補正領域決定部２０３が、極小値ブロックとなるブロックの座標（例えば、ブロックの中央画素の座標）を凸領域の座標として第１メモリ１０８に書き込み、処理を終了する。
【００６２】
図１１は、図９のステップＳ４３０５における補正領域画像の生成処理を説明するフローチャートである。
ステップＳ４５０１において、補正量決定部２０４が、第１メモリ１０８から読み出した画像データに対して、輝度成分のみを抽出した輝度画像を生成する。本実施形態では、黒を０階調、白を２５５階調とし、画像データが持つ８ビットの輝度情報で構成された輝度画像を生成する。続いて、ステップＳ４５０２において、補正量決定部２０４が、輝度画像における低輝度領域に対して、図９のステップＳ４３０４での凸領域の検出結果に基づき、凸領域の近傍の低輝度領域であるかを判断する。本実施形態では、補正量決定部２０４は、凸領域に対応する極小値ブロックに隣接するブロックから広がっている低輝度領域を陰影とし、この低輝度領域を輝度補正領域として決定する。
【００６３】
ステップＳ４５０３において、補正量決定部２０４が、ステップＳ４５０１で生成した８ビットの輝度画像に対して、最上位ビット１ビットを拡張した９ビットの輝度画像を生成する。補正量決定部２０４は、拡張した１ビットを識別信号ビットとして扱い、輝度補正領域に属する座標位置の画素に対しては識別信号ビットに“１”を立てる。補正量決定部２０４は、輝度補正領域に属さない画素に対しては、識別信号ビットを“０”にした補正領域画像を生成する。上述した本実施形態の画像処理装置によれば、被写体の凸領域によって発生した陰影に対して効果的に輝度補正を行うことができる。
【００６４】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６５】
１００  画像処理装置
１１４  ＣＰＵ
【図１】
2018082239.tif 000003
【図２】
2018082239.tif 000004
【図３】
2018082239.tif 000005
【図４】
2018082239.tif 000006
【図５】
2018082239.tif 000007
【図６】
2018082239.tif 000008
【図７】
2018082239.tif 000009
【図８】
2018082239.tif 000010
【図９】
2018082239.tif 000011
【図１０】
2018082239.tif 000012
【図１１】
2018082239.tif 000013