(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-08
(45)【発行日】2024-03-18
(54)【発明の名称】画像処理装置、画像処理方法、及びプログラム
(51)【国際特許分類】
H04N 23/60 20230101AFI20240311BHJP
G06T 5/73 20240101ALI20240311BHJP
【FI】
H04N23/60 500
G06T5/73
(21)【出願番号】P 2020063880
(22)【出願日】2020-03-31
【審査請求日】2023-03-27
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100090273
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】松岡 正明
【審査官】村山 絢子
(56)【参考文献】
【文献】特開2017-130106(JP,A)
【文献】特開2017-054337(JP,A)
【文献】特開2016-085637(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
G06T 3/00-5/94
(57)【特許請求の範囲】
【請求項1】
画像に対応した評価値分布を評価値マップとして取得するマップ取得手段と、
前記評価値マップを用いて前記画像から抽出した被写体領域に基づく第1の被写体マップを生成するマップ生成手段と、
前記第1の被写体マップに含まれる疎ら領域の度合を表す、疎ら度合を取得する度合取得手段と、
前記第1の被写体マップと、前記評価値マップを用いずに生成された第2の被写体マップとの、少なくともいずれかを用いて前記画像に補正処理を行う補正手段と、を有し、
前記補正手段は、前記疎ら度合が高いほど前記第1の被写体マップよりも前記第2の被写体マップを優先的に用いて、前記補正処理を行うことを特徴とする画像処理装置。
【請求項2】
前記マップ生成手段は、被写体領域を表す被写体ラベルと非被写体を表す非被写体ラベルとの、少なくとも二つのラベル領域にクラス分けした、前記第1の被写体マップを生成し、
前記度合取得手段は、
前記第1の被写体マップに対する所定の処理によって前記被写体ラベルが疎らに分布している領域を変化させた第3の被写体マップを生成し、
前記第1の被写体マップに対する所定の処理によって前記非被写体ラベルが疎らに分布している領域を変化させた第4の被写体マップを生成し、
前記第3の被写体マップと前記第4の被写体マップとの、少なくともいずれかに基づいて、前記疎ら度合を算出することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記度合取得手段は、
前記第1の被写体マップと前記第3の被写体マップとを基に第1の疎ら領域マップを生成し、
前記第1の被写体マップと前記第4の被写体マップとを基に第2の疎ら領域マップを生成して、
前記第1の疎ら領域マップと前記第2の疎ら領域マップとの、少なくともいずれかに基づいて、前記疎ら度合を算出することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記度合取得手段は、前記第3の被写体マップと前記第4の被写体マップとを基に第3の疎ら領域マップを生成し、前記第3の疎ら領域マップに基づいて前記疎ら度合を算出することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記第3の被写体マップを生成する際の前記所定の処理は、前記被写体ラベルのラベル領域を収縮させた後、少なくとも前記被写体ラベルのラベル領域を膨張させるフィルタ処理を含むことを特徴とする請求項2から請求項4のいずれか1項に記載の画像処理装置。
【請求項6】
前記第4の被写体マップを生成する際の前記所定の処理は、前記非被写体ラベルのラベル領域を収縮させた後、少なくとも前記非被写体ラベルのラベル領域を膨張させるフィルタ処理を含むことを特徴とする請求項2から請求項4のいずれか1項に記載の画像処理装置。
【請求項7】
前記度合取得手段は、前記疎ら領域マップに対して孤立領域を除去する孤立領域除去処理をも行うことを特徴とする請求項3から請求項6のいずれか1項に記載の画像処理装置。
【請求項8】
前記マップ生成手段は、被写体領域を表す被写体ラベルと非被写体を表す非被写体ラベルとの、少なくとも二つのラベル領域にクラス分けした、前記第1の被写体マップを生成し、
前記度合取得手段は、前記被写体ラベルと前記非被写体ラベルとがトグルする回数に基づいて前記疎ら度合を算出することを特徴とする請求項1に記載の画像処理装置。
【請求項9】
前記度合取得手段は、前記第1の被写体マップを周波数領域に変換して周波数領域マップを生成し、前記周波数領域マップに基づいて前記疎ら度合を算出することを特徴とする請求項1に記載の画像処理装置。
【請求項10】
前記度合取得手段は、前記第1の被写体マップを小ブロックごとに周波数領域に変換して周波数領域マップを生成し、前記周波数領域マップの小ブロックごとに、予め決定された疎ら周波数範囲で所定の閾値以上の応答を示しているか否かを判定し、所定の閾値以上の応答を示している小ブロックの数に応じて、前記疎ら度合を算出することを特徴とする請求項9に記載の画像処理装置。
【請求項11】
前記評価値マップは、前記画像のピント情報分布と、距離情報分布と、動きベクトル情報分布と、色ラベリング情報分布と、機械学習による意味的領域分割との、いずれかを含むことを特徴とする請求項1から請求項10のいずれか1項に記載の画像処理装置。
【請求項12】
前記ピント情報分布は、視点の異なる画像群から取得される視差情報分布、もしくはフォーカス位置を逐次異ならせて得られた画像群から取得されるコントラスト情報分布であることを特徴とする請求項11に記載の画像処理装置。
【請求項13】
前記視差情報分布は、視差を表すシフト量に基づいたマップ、デフォーカス量に基づいたマップ、もしくは距離値に基づいたマップの、いずれかを含むことを特徴とする請求項12に記載の画像処理装置。
【請求項14】
画像処理装置が実行する画像処理方法であって、
画像に対応した評価値分布を評価値マップとして取得するマップ取得工程と、
前記評価値マップを用いて前記画像から抽出した被写体領域に基づく第1の被写体マップを生成するマップ生成工程と、
前記第1の被写体マップに含まれる疎ら領域の度合を表す、疎ら度合を取得する度合取得工程と、
前記第1の被写体マップと、前記評価値マップを用いずに生成された第2の被写体マップとの、少なくともいずれかを用いて前記画像に補正処理を行う補正工程と、を有し、
前記補正工程では、前記疎ら度合が高いほど前記第1の被写体マップよりも前記第2の被写体マップを優先的に用いて、前記補正処理を行うことを特徴とする画像処理方法。
【請求項15】
コンピュータを、請求項1から請求項13のいずれか1項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像された画像に対する画像処理技術に関する。
【背景技術】
【0002】
従来、撮像画像から被写体領域を抽出し、被写体領域内だけ明るさを補正したり、被写体領域以外に背景ぼかし効果を付与したりするカメラが知られている。特許文献1では、デフォーカス量分布に基づいて被写体領域を抽出し、被写体領域以外をぼかすことで電子的に背景ぼかし効果を調節する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述の特許文献に開示された従来技術では、デフォーカス量分布のヒストグラムを解析して被写体領域のデフォーカス量範囲を決定するため、人物などの被写体と壁などの背景が接近している場合はデフォーカス量範囲が精度よく決定できない。結果、被写体領域に背景の一部が疎らに含まれたり、逆に被写体領域の一部が疎らに欠けたりして、画像補正や画像効果が疎らに適用され出力画像に斑状等のアーティファクトが発生してしまう。
【0005】
そこで、本発明は、被写体領域の抽出精度不足によるアーティファクト発生を抑圧可能にすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の画像処理装置は、画像に対応した評価値分布を評価値マップとして取得するマップ取得手段と、前記評価値マップを用いて前記画像から抽出した被写体領域に基づく第1の被写体マップを生成するマップ生成手段と、前記第1の被写体マップに含まれる疎ら領域の度合を表す、疎ら度合を取得する度合取得手段と、前記第1の被写体マップと、前記評価値マップを用いずに生成された第2の被写体マップとの、少なくともいずれかを用いて前記画像に補正処理を行う補正手段と、を有し、前記補正手段は、前記疎ら度合が高いほど前記第1の被写体マップよりも前記第2の被写体マップを優先的に用いて、前記補正処理を行うことを特徴とする。
【発明の効果】
【0007】
本発明によれば、被写体領域の抽出精度不足によるアーティファクト発生を抑圧可能になる。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係るデジタルカメラの構成例を示す図である。
【
図4】被写体領域抽出部の動作を説明するための図である。
【
図5】被写体マップ合成部の動作を説明するための図である。
【
図6】疎ら判定部の構成を説明するための図である。
【
図9】MAX/MEDIAN/MINフィルタ部の動作フローチャートである。
【
図10】静止画撮影時の制御部の動作フローチャートである。
【
図11】疎ら判定部の他の構成を説明するための図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態を、添付の図面に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。同一の構成または処理については、同じ参照符号を付して説明する。
【0010】
図1は、本発明実施形態の画像処理装置の一適用例としての撮像装置(以下、デジタルカメラ100とする)の概略的な構成例を示したブロック図である。
制御部101は、例えばCPUである。ROM102は、書き換え可能な不揮発性メモリであり、デジタルカメラ100が備える各ブロックの動作を制御する動作プログラムに加え、各ブロックの動作に必要なパラメータ等を記憶する。制御部101は、ROM102から動作プログラムを読み出し、RAM103に展開して実行することにより、本実施形態のデジタルカメラ100が備える各ブロックの動作を制御する。RAM103は、書き換え可能な揮発性メモリであり、デジタルカメラ100が備える各ブロックの動作において出力されたデータの一時的な記憶領域として用いられる。
【0011】
光学系104は、被写体等の光学像を撮像部105の撮像面上に結像させる。
撮像部105は、例えばCCDやCMOSセンサ等の撮像素子であり、光学系104により撮像素子に結像された光学像を光電変換し、得られた撮像信号(アナログ信号)をA/D変換部106に出力する。
A/D変換部106は、入力された撮像信号にA/D変換処理を適用し、得られた撮像データ(デジタル撮像信号)をRAM103に出力して記憶させる。
【0012】
画像処理部107は、RAM103に記憶されている撮像データに対して、ホワイトバランス調整、色補間、縮小/拡大、フィルタリングなど、様々な画像処理を適用し、得られた画像データをRAM103に出力して記憶させる。本実施形態に係る後述する補正処理は、画像処理部107において行われる。
【0013】
記録媒体108は、着脱可能なメモリカード等であり、画像処理部107で画像処理がなされてRAM103に記憶されている画像データや、A/D変換部106でA/D変換された撮像データなどを記録画像として記録する。
表示部109は、液晶ディスプレイ(LCD)等の表示デバイスであり、撮像部105で取り込まれた被写体像をスルー表示するなど、様々な情報を表示する。撮像部105で取り込まれた被写体像をスルー表示する場合、表示部109は、EVF(電子ビューファインダ)として機能する。
【0014】
ピントマップ処理部110は、撮像部105による撮像信号を解析することで、被写体等のピント分布に関連する情報をピントマップとして生成し、そのピントマップのデータをRAM103に出力して記憶させる。ピントマップ処理部110におけるピントマップの生成処理の詳細は後述する。本実施形態の場合、ピントマップ処理部110が取得した被写体等のピント分布に関連する情報であるピントマップは、撮像された画像に対する評価値分布を表した評価値マップとして用いられる。
【0015】
図2は、撮像部105の撮像面の構成例を説明するための図である。
画素202は、マイクロレンズ201と一対の光電変換部203、204とから構成される。
図1の撮像部105の撮像面には、それらマイクロレンズ201と一対の光電変換部203、204とで構成された画素202が、二次元的に規則的に配列されている。
図2に示す構成の撮像部105では、二次元的に規則的に配列された各画素202の一対の光電変換部203、204の出力から、一対の画像としてA像、B像が出力される。すなわち、撮像部105によれば、
図1の光学系104の瞳の異なる領域を通過する一対の光束を一対の光学像として結像させて、それらを一対の画像であるA像およびB像として出力することができる。
【0016】
図1のピントマップ処理部110は、それらA像とB像との位相差分布、つまり視点がそれぞれ異なる二つの画像群から取得される視差情報分布を、評価値マップ(ピントマップ)として出力する。A像とB像の位相差分布としては、例えば特許文献1に開示されている手法を用いたデフォーカス量分布を取得すればよい。
【0017】
図3は、画像処理部107の構成例を示すブロック図である。
図3に示すように、画像処理部107は、被写体領域抽出部301、疎ら判定部302、被写体マップ合成部303、及び補正処理部305を有して構成されている。
【0018】
被写体領域抽出部301は、ピントマップ処理部110から入力されるピントマップ(評価値マップ)を用いて被写体領域を抽出して被写体マップを生成する被写体マップ取得処理を行う。そして、被写体領域抽出部301は、その被写体マップの情報を、被写体マップ合成部303と疎ら判定部302とに出力する。なお被写体領域は、例えば特許文献1に開示されているデフォーカス量分布を用いて抽出することができる。
【0019】
図4(a)~
図4(d)は、被写体領域抽出部301における被写体マップ生成処理の動作を説明するための図である。
図4(a)は
図1の撮像部105の撮像面401上に結像された被写体像を説明するための図である。
図4(a)の例では、主被写体である人物412にピントが合っていて、その手前に人物411が立っているとする。
図4(a)の例の場合、主被写体の人物412は、部屋の壁の直前に立っているとする。また
図4(a)の場合、部屋内には家具413もあり、その家具413は背面が壁につくように設置されている。このため、主被写体の人物412にピントが合っている場合、その家具413もピントが合った状態になっているとする。一方、人物411は、人物412よりも手前に立っているため、その人物411にはピントが合っていない。
【0020】
図4(b)は、ピントマップ402を表した図である。
図4(b)に示したピントマップ402はグレースケールで表現されており、デフォーカス量が大きいほど白く表され、デフォーカス量が小さいほどグレーに表されている。なお
図4(b)中の領域422は
図4(a)の人物412に対応した領域であり、領域423は
図4(a)の家具413に対応した領域であり、領域421は
図4(a)の人物411に対応した領域である。
図4(a)の主被写体の人物412と家具413及びその背後の壁は距離が近くそれぞれデフォーカス量が小さいため、領域422と423および壁はグレーで表され、一方、手前側の人物411はデフォーカス量が大きいため、領域421は白で表されている。
【0021】
図4(d)は、デフォーカス量頻度分布を示した図である。
図4(d)の頻度分布404は人物411のデフォーカス量頻度分布を示し、頻度分布405は人物412および家具413のデフォーカス量頻度分布を、頻度分布406は壁のデフォーカス量頻度分布を示している。前述したように人物412と家具413は壁に近いため、人物412及び家具413のデフォーカス量頻度分布405と、壁のデフォーカス量頻度分布406との境界(頻度分布の谷部分)は、不鮮明になっている。一方、人物412及び家具413や壁から離れている人物411のデフォーカス量頻度分布404は、それら人物412及び家具413や壁のデフォーカス量頻度分布405,406と明確に区別可能になっている。
【0022】
図4(c)は、
図4(d)のデフォーカス量頻度分布に基づいて生成される被写体マップ403を示した図である。被写体マップは、白が255で黒が0の8ビットの2値で表されるマップである。白部分は、被写体領域を表す被写体ラベルとして用いられ、黒部分は被写体領域外(非被写体領域)を表す非被写体ラベルとして用いられる。このように、被写体マップは、白部分で表される被写体ラベルと、黒部分で表される非被写体ラベルとの、少なくとも二つのラベル領域にクラス分けされている。被写体マップの生成時には、デフォーカス量0を含むデフォーカス量頻度分布405のピークを挟む一方の谷d1から他方の谷d2までのL2範囲に含まれる領域が白(255)の被写体ラベルで表される被写体領域となされる。L2範囲外(L1範囲やL3範囲)の領域は黒(0)の非被写体ラベルで表される非被写体領域となされる。なお、
図4(c)中の領域432は
図4(a)の人物412に対応した領域であり、領域433は
図4(a)の家具413に対応した領域である。
【0023】
ただし、
図4(d)のデフォーカス量頻度分布例の場合、デフォーカス量頻度分布405と406との境界が不鮮明である。このため、
図4(c)の被写体マップ403では、人物412に対応した領域432および家具413に対応した領域433だけでなく、部屋の壁の一部が被写体ラベルを表す白(255)の領域434として生成されている。この領域434は、本来の主被写体ではない領域であるため、主被写体の人物412のように纏まった領域にはならず、疎らに散らばった斑状等の小領域になることが多い。以下、被写体マップにおいて疎らに散らばった斑状等の各小領域434を、疎ら領域と呼ぶことにする。
【0024】
図3に説明を戻す。
疎ら判定部302は、被写体領域抽出部301によって生成された被写体マップにおいて疎ら領域を検出し、被写体マップ内に疎ら領域がどの程度含まれているかを示す疎ら度合を判定する疎ら度合取得処理を行う。そして、疎ら判定部302は、その取得した疎ら度合を表す情報を、被写体マップ合成部303に出力する。
【0025】
本実施形態の場合、疎ら判定部302は、被写体マップに含まれる各疎ら領域の面積を求め、それら疎ら領域の面積を基に当該被写体マップの疎ら度合を判定する。疎ら度合は一例として0~100%の割合を示す値となされており、疎ら判定部302は、被写体マップの全面積に対して疎ら領域の面積が相対的に大きくなるほど、当該被写体マップの疎ら度合を高い値にする。
図4(c)に例示した被写体マップ403の場合、壁の一部の小領域414が疎ら領域として検出され、被写体マップに対して疎ら領域の面積が相対的に大きいほど高い値の疎ら度合が出力される。なお、疎ら判定部302の構成、疎ら領域検出、および疎ら度合の判定処理等の詳細な説明は後述する。
【0026】
そして、被写体マップ合成部303は、被写体領域抽出部301からの被写体マップと、予め用意された代替シルエット307とを、疎ら度合に基づいて合成し、その合成後の被写体マップを補正処理部305に出力する。詳細は後述するが、本実施形態の場合、被写体マップ合成部303では、疎ら度合が高いほど、代替シルエット307が被写体マップ403よりも優先的に用いられるように合成された合成後被写体マップが生成される。そしてこの場合、補正処理部305では、疎ら度合が高いほど代替シルエット307が被写体マップ403よりも優先的に用いられるように合成された合成後被写体マップに基づく補正処理が行われることになる。
【0027】
図5(a)~
図5(d)は、被写体マップ合成部303の動作を説明するための図である。
図5(b)は代替シルエット307の一例を示した図である。
図5(b)に示した代替シルエット307は、人型510を含む固定形状マップである。前述した被写体マップはピントマップ(評価値マップ)を用いて生成された第1の被写体マップであり、一方、代替シルエットは評価値マップを用いずに予め生成されている第2の被写体マップである。代替シルエット307の情報は、例えば
図1のROM102が保持しており、画像処理部107において利用される時に、
図1のRAM103に展開されて被写体マップ合成部303に送られる。なお、疎ら度合を基に代替シルエット307が合成される場合、画像処理部107では、例えば撮像画像から既知の人物画像認識処理などで人型の領域を検出する。そして、被写体マップ合成部303では、その検出位置に、代替シルエット307の人型510の位置を合わせるようにして合成するものとする。
【0028】
図5(a)のグラフ501は、代替シルエット使用率と疎ら度合との関係を示した図である。
図5(a)の縦軸が代替シルエット使用率[%]を示し、横軸が疎ら度合[%]を示している。グラフ501に示すように、疎ら度合が第1の閾値TH1未満である場合には代替シルエット使用率が0%となされ、疎ら度合が第2の閾値TH2以上である場合には代替シルエット使用率が100%となされる。また、疎ら度合が第1の閾値TH1以上で第2の閾値TH2未満である場合には、疎ら度合が高くなるほど、代替シルエット使用率が高くなる。
【0029】
図5(d)は
図4(c)に示した被写体マップ403を示した図である。
図5(c)は、被写体マップ合成部303において、
図5(d)の被写体マップ403と
図5(b)の代替シルエット307とを、
図5(a)のグラフ501の疎ら度合を基に合成した後の合成後被写体マップ503を示した図である。なお、被写体マップ合成部303における合成処理の詳細は後述する。
【0030】
図5(c)の例は、被写体マップの疎ら度合が例えば
図5(a)の第2の閾値TH2以上であったため、代替シルエット使用率が100%になされた場合の合成後被写体マップ503を示している。
図5(c)の例では、
図5(d)の被写体マップ403内の
図4(a)の家具413に対応した領域433が白(255)の被写体レベルとはならず黒(0)の非被写体レベルになるが、疎ら領域434についてはすべて黒(0)の非被写体レベルになっている。この合成後被写体マップ503が後段の補正処理部305で後述する補正処理に用いられた場合、疎ら領域に補正が行われて不要なアーティファクトが発生してしまうのを防ぐことができることになる。
【0031】
図5の説明では、代替シルエット307は予め用意され加工等されずに被写体マップ403と合成される例を挙げたが、本実施形態はこれに限定されるものではない。代替シルエット307を加工して被写体マップ403と合成してもよい。例えば、
図4(a)の主被写体の人物412の顔器官位置、関節位置や姿勢情報などを検出し、その検出結果を基に、代替シルエット307の人型510の位置と形状を、主被写体の人物412の位置と形状に合うように変形や拡大・縮小等するようにしても良い。その他にも、代替シルエットは撮像された画像の解析を行うことで生成されてもよい。例えば、機械学習に基づいた意味的領域分割などの手法を使って、主被写体の人物412の人物マップを検出し、その人物マップを代替シルエットとして用いても良い。
【0032】
図3に説明を戻す。
加算部304は、A像308とB像309の一対の視差画像が入力され、それらA像308とB像309の一対の視差画像を加算する。加算部304による加算後の画像(加算画像)は補正処理部305に送られる。
【0033】
補正処理部305は、加算画像の明るさを、合成後被写体マップに基づいて補正する。補正処理部305における補正処理は、以下の式(1)の演算により表される。なお、式(1)において、Xは加算画像の画素値、Gは合成後被写体マップの画素値、Yは補正処理が行われた後の画像の画素値である。この補正処理部305による補正処理後の画像は、画像処理部107における補正後画像310として出力される。
【0034】
Y=X・(1+G/255) 式(1)
【0035】
式(1)は加算画像の明るさを合成後被写体マップに基づいて補正する補正処理の演算例であるため、補正後画像310は、着目被写体つまり主被写体である人物412にライトを照らしたようなライティング補正効果が付与された画像となる。本実施形態では、ライティング補正効果を付与する補正処理を挙げたが、補正処理はこの例に限定されるものではない。例えば、合成後被写体マップに基づいて加算画像にシャープネス調整を行う補正処理でも良く、この場合、着目被写体のシャープネスが向上した画像の取得が可能となる。その他にも、着目被写体に対する補正処理ではなく、合成後被写体マップに基づいて着目被写体の領域外の背景領域について背景ぼかしや背景コントラスト調整を行うような補正処理でもよい。この場合、着目被写体の領域外の背景がぼけた画像や背景コントラストが調整された画像の取得が可能となる。またこれらライティング補正、シャープネス調整、背景ぼかし、背景コントラスト調整等は、それぞれ別個に行われても良いし、二つ以上が組み合わされて行われても良い。
【0036】
図6(a)は、
図3の疎ら判定部302の構成例を示す図であり、
図6(b)~
図6(g)は
図6(a)の構成における動作を説明するための図である。
図6(a)に示すように、疎ら判定部302は、膨張フィルタ部601、収縮フィルタ部602、差分検出部603、差分検出部604、マップ統合部605、MEDIANフィルタ部606、及び疎ら度合算出部607を有する。
【0037】
膨張フィルタ部601は、入力被写体マップ608の白(255)の被写体ラベル部分を膨張させるフィルタ部である。
図6(b)は、入力被写体マップ608が前述の
図4(c)に示した被写体マップ403である場合に、その被写体マップ403を膨張フィルタ部601にて膨張フィルタ処理した後の、膨張後被写体マップ611を示した図である。すなわち
図4(c)の被写体マップ403に対して膨張フィルタ処理が行われた場合、被写体マップ403内で互いに近い白部分同士(被写体ラベル部分同士)が繋がった、
図6(b)に示すような膨張後被写体マップ611が生成される。本実施形態の場合、膨張後被写体マップ611は第3の被写体マップに相当する。
【0038】
収縮フィルタ部602は、入力被写体マップ608の白(255)の被写体ラベルを収縮させるフィルタ部である。
図6(c)は、入力被写体マップ608が
図4(c)に示した被写体マップ403である場合に、その被写体マップ403を収縮フィルタ部602にて収縮フィルタ処理した後の、収縮後被写体マップ612を示した図である。すなわち
図4(c)の被写体マップ403に対して収縮フィルタ処理が行われた場合、被写体マップ403内で互いに近い黒部分同士が繋がった、
図6(c)に示すような収縮後被写体マップ612が生成される。本実施形態の場合、収縮後被写体マップ612は第4の被写体マップに相当する。
【0039】
差分検出部603は、膨張フィルタ処理前後の被写体マップで差分があるところを白(255)の被写体ラベルとし、それ以外を黒(0)の非被写体ラベルとするような差分検出処理を行う。
図6(d)は、膨張フィルタ処理前である
図4(c)の被写体マップ403と、膨張フィルタ処理後である
図6(b)の膨張後被写体マップ611とから、差分検出部603が差分検出処理を行った後の、差分検出マップ613を示した図である。すなわち
図4(c)の被写体マップ403と
図6(b)の膨張後被写体マップ611との差分検出処理が行われた場合、差分部分が白(255)となり、それ以外が黒(0)の非被写体ラベルとなった、
図6(d)に示すような差分検出マップ613が生成される。本実施形態の場合、差分検出マップ613は第1の疎ら領域マップに相当する。
【0040】
差分検出部604は、収縮フィルタ処理前後の被写体マップで差分があるところを白(255)の被写体ラベルとし、それ以外の黒(0)の非被写体ラベルとするような差分検出処理を行う。
図6(e)は、収縮フィルタ処理前である
図4(c)の被写体マップ403と、収縮フィルタ処理後である
図6(c)の収縮後被写体マップ612とから、差分検出部604が差分検出処理を行った後の、差分検出マップ614を示した図である。つまり
図4(c)の被写体マップ403と
図6(c)の収縮後被写体マップ612との差分検出処理によれば、差分部分が白(255)の被写体ラベルで、それ以外が黒(0)の非被写体ラベルとなる
図6(e)に示すような差分検出マップ614が生成される。本実施形態の場合、差分検出マップ614は第2の疎ら領域マップに相当する。
【0041】
これら差分検出部603、604における差分検出処理は、以下の式(2)で表される。なお、式(2)において、X0及びX1は差分検出部へ入力される被写体マップである。つまりX0とX1は、差分検出部603の場合には膨張フィルタ処理前後の被写体マップであり、差分検出部604の場合には膨張フィルタ処理前後の被写体マップである。また式(2)において、ABSは絶対値関数、Sは差分検出部の出力である。
【0042】
S=ABS(X0-X1) 式(2)
【0043】
このように、膨張フィルタ部601による膨張フィルタ処理前後の被写体マップを用い、差分検出部603で差分検出処理を行うように構成することで、疎ら領域における黒部分を検出することができることになる。つまり膨張フィルタ部601の膨張フィルタ処理で被写体マップの疎ら領域の黒部分(非被写体ラベル)が変化(白の被写体ラベルに変化)することになり、さらに差分検出部603で差分検出処理で疎ら領域における黒部分を検出することができることになる。また、収縮フィルタ部602による収縮フィルタ処理前後の被写体マップを用い、差分検出部604で差分検出処理を行うように構成することで、疎ら領域における白部分を検出することができることになる。つまり収縮フィルタ部602の収縮フィルタ処理によって被写体マップの疎ら領域の白部分が変化(黒部分に変化)することになり、さらに差分検出部604で差分検出処理を行うことで、その疎ら領域における白部分を検出することができることになる。
【0044】
なお本実施形態では、差分検出部603,604における差分検出処理を式(2)で表される演算としたが、この例に限定されるものではない。例えば、白(255)の部分をTRUE(真)、黒(0)の部分をFALSE(偽)としたうえで、XOR(排他的論理和)の論理演算を行って差分検出を行うようにしても良い。
【0045】
差分検出部603による差分検出マップと、差分検出部604による差分検出マップとは、マップ統合部605に入力される。
マップ統合部605は、入力された差分検出マップのいずれかが白なら白(255)の被写体ラベルとし、それ以外を黒(0)の非被写体ラベルにして出力するマップ統合処理を行う。
図6(f)は、
図6(d)に示した差分検出マップ613と、
図6(e)に示した差分検出マップ614とを、マップ統合処理した後の統合マップ615を示した図である。
【0046】
マップ統合部605におけるマップ統合処理は、以下の式(3)で表される。なお、式(3)において、X2およびX3はマップ統合部へ入力される差分検出マップである。また式(3)において、CLIPは0以下なら0、255以上なら255に値をクリップするクリップ関数、Iはマップ統合部の出力である。
【0047】
I=CLIP(X2+X3) 式(3)
【0048】
マップ統合部605において式(3)で表されるようなマップ統合処理が行われることで、
図4(c)の被写体マップ403から疎ら領域全体を検出することができる。すなわち、
図6(f)に示した統合マップ615は、被写体マップ403から検出された疎ら領域マップ615となされている。
【0049】
なお本実施形態では、マップ統合部605において式(3)の演算を行う例を挙げたが、これに限定されるものではない。例えば白(255)の部分をTRUEとし、黒(0)の部分をFALSEとしたうえで、OR(論理和)の論理演算を行ってマップ統合を行うようにしても良い。
【0050】
また本実施形態においては、差分検出部603による疎ら領域の黒部分検出結果と、差分検出部604による疎ら領域の白部分検出結果との両方を疎ら領域として評価する構成としたが、これに限定されるものではない。例えば、差分検出部603の検出結果だけ用いても良いし、逆に差分検出部604の検出結果だけ用いるようにしても良い。
【0051】
図6(a)のMEDIANフィルタ部606は、マップ統合部605にて生成された疎ら領域マップ615に対し、メディアンフィルタをかけるフィルタ処理部である。
図6(g)は、
図6(f)に示した疎ら領域マップ615にメディアンフィルタ処理が行われた後の疎ら領域マップ616を示した図である。疎ら領域マップ615に対するメディアンフィルタ処理は、当該疎ら領域マップ615の孤立領域を除去する孤立領域除去処理となる。すなわち疎ら領域マップ615に対してメディアンフィルタ処理が行われると、疎ら領域マップ615内の細い線や細かい点等を除去することができ、被写体の輪郭部などで発生する疎ら領域マップの誤判定領域を除去することができる。
【0052】
図6(a)の疎ら度合算出部607は、メディアンフィルタ処理後の疎ら領域マップ616の白の被写体ラベル部分の画素数を計測し、その計測画素数がマップ内の全画素数に対して占める割合を、疎ら度合として算出するような疎ら度合算出処理を行う。そして、疎ら度合算出部607は、算出した疎ら度合609の情報を前述した
図3の被写体マップ合成部303へ出力する。なお本実施形態では、疎ら度合を画素数の割合として算出したが、例えば疎ら領域マップの白の被写体ラベル部分の画素数をそのまま疎ら度合の値としても良い。
【0053】
図7は、
図6(a)の膨張フィルタ部601の構成例を示した図である。膨張フィルタ部601は、MAXフィルタ部701、MEDIANフィルタ部702、およびMINフィルタ部703を有する。
図8は、
図6(a)の収縮フィルタ部602の構成例を示した図である。収縮フィルタ部602は、MINフィルタ部801、MEDIANフィルタ部802、およびMAXフィルタ部803を有する。
これら
図7と
図8に示されたMAXフィルタ部701と803、MEDIANフィルタ部702と802、MINフィルタ部703と801の各動作を、
図9のフローチャートを用いて説明する。なお
図9のフローチャートでは、MAXフィルタ、MEDIANフィルタ部、およびMINフィルタ部を区別せずに、単に、フィルタ部と呼ぶ。
【0054】
ステップS901において、フィルタ部は、
図6(a)の入力被写体マップ608の着目画素それぞれについて、その着目画素の周辺画素の値を積算し、その積算値ΣPixと閾値thとを比較する。そして、フィルタ部は、積算値ΣPixが閾値th以上であればステップS902へ処理を進めて白の値(255)を出力し、一方、積算値ΣPixが閾値th未満である場合にはステップS903に処理を進めて黒の値(0)を出力する。
【0055】
ここで、着目画素に対する周辺画素の範囲(参照範囲とする)が、着目画素を中心として縦横7×7画素の範囲である場合、閾値thを255×1=255とすることで、当該フィルタ部はMAXフィルタ部として動作する。また、閾値thを255×7×7=12495とすることで、当該フィルタ部はMIXフィルタ部として動作する。また、閾値thを255×(7×7/2)=255×(24.5)=255×25=6375とすることで、当該フィルタ部はMEDIANフィルタ部として動作する。
【0056】
この
図9のフローチャートの動作により、
図7の膨張フィルタ部601の場合、MAXフィルタ部701では、入力被写体マップ608の白(255)の被写体ラベル部分が一律に膨張し、疎ら領域の黒(0)の非被写体ラベル部分が白で埋まるようになる。その後、MINフィルタ部703により被写体の輪郭部が膨張したところは収縮させて元に戻す。これにより、疎ら領域の黒(0)の非被写体ラベル部分だけを変化させることができる。さらに、MEDIANフィルタ部702により、疎ら領域の黒(0)の非被写体ラベル部分の埋め残しを白(255)で埋める。これにより、後段のMINフィルタ部703の処理で黒(0)の非被写体ラベル部分の埋め残しが再度広がることがない。
【0057】
また
図8の収縮フィルタ部602の場合、MINフィルタ部801では、入力被写体マップ608の白(255)の部分が一律に収縮し、疎ら領域の白の被写体ラベル部分が黒(0)で埋まる。その後、MAXフィルタ部803により被写体輪郭部が収縮したところは膨張させて元に戻す。これにより、疎ら領域の白部分だけを変化させることができる。さらにMEDIANフィルタ部802により、疎ら領域の白の被写体ラベル部分の埋め残しを黒で埋めることで、後段のMAXフィルタ部803の処理で白部分の埋め残しが再度広がることがない。
【0058】
図10は、
図1のデジタルカメラ100において、静止画撮影が行われる場合の制御部101の動作を説明するためのフローチャートである。
ステップS1001の処理として、制御部101は、不図示のシャッターボタンがいわゆる半押し状態(SW1オン)になるまで、表示部109にEVF映像を表示させるEVF撮像制御を行う。
【0059】
次にステップS1002において、制御部101は、シャッターボタンが半押し状態(SW1オン)であるか否かを判定する。制御部101は、半押し状態(SW1オン)でないと判定した場合にはステップS1001に処理を戻し、一方、ユーザにてシャッターボタンが操作されることで半押し状態(SW1オン)になっていると判定した場合にはステップS1003に処理を進める。
【0060】
ステップS1003に進むと、制御部101は、光学系104のフォーカスレンズを駆動制御するオートフォーカス(AF)処理を行って、被写体にフォーカスを合わせるようにする。
【0061】
次にステップS1004において、制御部101は、シャッターボタンがいわゆる全押し状態(SW2オン)であるか否かを判定する。制御部101は、全押し状態(SW2オン)でないと判定した場合にはステップS1001に処理を戻し、一方、全押し状態(SW2オン)になっていると判定した場合にはステップS1005に処理を進める。
【0062】
ステップS1005に進むと、制御部101は、各部を制御して静止画を撮像させる。
その後、ステップS1006に進むと、制御部101は、画像処理部107を制御して本実施形態に係る補正処理を含む画像処理を行わせる。画像処理部107における補正処理は、前述の
図3等を用いて説明したような補正処理であり、例えばライティング補正、シャープネス調整、背景ぼかし、背景コントラスト調整などの何れか若しくは二つ以上を組み合わせた補正処理である。
【0063】
なお
図10のフローチャートの例では、撮像された静止画のみに補正処理を施す例を挙げたが、この例に限定されるものではない。例えば、EVF撮像中に補正処理を行ってもよい。EVF撮像中に補正処理を行うと、ユーザは記録される静止画の仕上がり具合を、EVF映像を見ることで事前に確認しながら、レリーズを切ることができ、利便性が高い。
【0064】
また前述した実施形態の説明では、被写体マップの疎ら領域の黒(非被写体ラベル)部分と白(被写体ラベル)部分をそれぞれ検出して統合することで疎ら領域を検出する構成としたが、これに限定されるものではない。例えば、
図3に示した疎ら判定部302は、
図11(a)のような構成であっても良い。なお、
図11の構成例において、膨張フィルタ部601、収縮フィルタ部602、MEDIANフィルタ部606、疎ら度合算出部607、被写体マップ608、疎ら度合609は、
図6と同様であるためそれらの説明は省略する。
【0065】
図11の構成の疎ら判定部302において、膨張フィルタ部601からは前述の
図6(b)に示した膨張後被写体マップ611が出力され、収縮フィルタ部602からは前述の
図6(c)に示した収縮後被写体マップ612が出力される。これら膨張後被写体マップ611と収縮後被写体マップ612は、差分検出部1105に入力される。
【0066】
差分検出部1105は、前述した式(2)と同様の演算を行って、それら膨張後被写体マップ611と収縮後被写体マップ612との差分を検出する。差分検出部1105による差分検出処理の結果、前述の
図6(f)に示したのと同様の疎ら領域マップ615が生成される。
図11の構成例の場合、差分検出部1105による差分検出処理結果のマップは第3の疎ら領域マップに相当する。
【0067】
MEDIANフィルタ部606では、疎ら領域マップ615の被写体輪郭部などの誤検出を排除して、前述の
図6(g)と同様の疎ら領域マップ616を出力する。
図11の構成例の場合、被写体マップの差分検出処理およびマップ統合処理のための構成及び演算を減らすことができる。
【0068】
以上説明したように、本実施形態によれば、例えば被写体領域ごとに適応的に画像補正や画像効果を適用する画像処理装置において、被写体領域抽出精度不足によるアーティファクト発生を抑圧することが可能である。
【0069】
前述した本実施形態では、MAXフィルタ部やMINフィルタ部などの空間フィルタで疎ら領域が変化するのを検出して疎ら度合を算出する構成としたが、これに限定されるものではない。例えば、被写体マップを縦や横に走査して白の被写体ラベルと黒の非被写体ラベルとがトグルするようなトグル回数を数えて疎ら度合を算出するようにしても良い。また白(被写体ラベル)と黒(非被写体ラベル)とがトグルする回数が多い領域について、白から黒へ変化したときに白が持続した幅を疎ら領域の白部分の数とし、黒から白へ変化した時に黒が持続した幅を疎ら領域の黒部分の数としてカウントしても良い。このように構成することで、空間フィルタを使うよりも演算コストを軽くすることができる。
【0070】
また例えば、離散フーリエ変換(FFT)や離散コサイン変換(DCT)を用いて、被写体マップの疎ら領域に対応する周波数帯域を解析することで疎ら度合を算出するようにしても良い。すなわち疎ら判定部302は、評価値マップを用いて抽出した被写体マップを周波数領域に変換する周波数領域変換処理を行って周波数領域マップを生成し、その周波数領域マップに基づいて疎ら度合を算出する。この例の場合、疎ら判定部302は、予め疎ら周波数範囲が決定されており、被写体マップを小ブロックごとに分けて周波数変換処理した周波数領域マップの小ブロックごとに、その疎ら周波数範囲で所定の閾値以上の応答を示しているか否かを判定する。そして、疎ら判定部302は、所定以上の応答を示している小ブロックの数に応じて疎ら度合を算出する。より具体的に説明すると、疎ら判定部302は、被写体マップに対し、例えば8×8画素のブロックごとにFFT処理を実施して、疎ら領域に対応する周波数応答が閾値より高いブロックのブロック数を数え、それらのブロックの割合を疎ら度合とする。このように構成することで、空間フィルタを使うよりもきめ細かく疎ら領域の周波数帯域を決めることができる。
【0071】
また本実施形態では、評価値分布として位相差分布(例えばデフォーカス量分布によるピント分布)を用いているが、これに限定されるものではない。評価値分布は、例えば、A像とB像のずれ量(つまり視差)を表すシフト量の分布であっても良い。なおシフト量は、検出ピッチ(同一種類の画素の配置ピッチ)をかけてマイクロメートルなどの長さの単位で表しても良い。また例えば、評価値分布は、デフォーカス量を焦点深度(2Fδもしくは1Fδ。Fは絞り値、δは許容錯乱円径)で正規化した値の分布であっても良い。なお、絞り値Fは像高中央付近の絞り値を代表値として全面固定値としても良いし、光学系104のケラレで周辺像高の絞り値が暗くなるのを加味した絞り値分布を適用するようにしても良い。
【0072】
また本実施形態では、画像のピント情報分布、例えば位相差測距方式によるデフォーカス量分布を、評価値マップとして取得する例を挙げたが、これに限定されるものではない。例えば、評価値マップは、コントラスト測距方式による被写体距離つまりフォーカス位置を逐次異ならせて得られる画像群から取得されるコントラスト情報分布に基づいて生成されても良い。また例えば、評価値マップは、像面側のデフォーカス量を物体面側の距離値に変換した距離情報分布に基づいて生成されても良い。また距離情報分布を取得する際の測距の方式は、位相差測距方式、コントラスト測距方式あるいは画像特徴に基づくパッシブ方式に限定されない。例えば、測距の方式は、TOF(Time Of Flight)方式やストロボ反射光の有無を比較するようなアクティブ方式が用いられてもよい。さらには被写体距離によらない方式でも良く、例えば動きベクトル分布をマップ化したオプティカルフロー、色情報を基にラベリングした色ラベルマップ、機械学習に基づいた意味的領域分割などに基づいて被写体マップが生成されてもよい。意味的領域分割を利用する場合は、代替シルエットはそれ以外の方式を用いる必要があるが、人型の固定形状マップを用いるなど、シーン変化によりロバストな方式を選択するようにすればよい。すなわち、記評価値マップは、画像のピント情報分布、距離情報分布、動きベクトル情報分布、色ラベリング情報分布、もしくは機械学習による意味的領域分割の、少なくともいずれかを基に生成されてもよい。
【0073】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0074】
100:デジタルカメラ、101:制御部、107:画像処理部、110:ピントマップ処理部、301:被写体領域抽出部、302:疎ら判定部、303:被写体マップ合成部、304:加算部、305:補正処理部