JP2009290660A - 画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置 - Google Patents
画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置 Download PDFInfo
- Publication number
- JP2009290660A JP2009290660A JP2008142349A JP2008142349A JP2009290660A JP 2009290660 A JP2009290660 A JP 2009290660A JP 2008142349 A JP2008142349 A JP 2008142349A JP 2008142349 A JP2008142349 A JP 2008142349A JP 2009290660 A JP2009290660 A JP 2009290660A
- Authority
- JP
- Japan
- Prior art keywords
- correction
- color
- image
- correction curve
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/62—Retouching, i.e. modification of isolated colours only or in isolated picture areas only
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/40—Image enhancement or restoration using histogram techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/407—Control or modification of tonal gradation or of extreme levels, e.g. background level
- H04N1/4072—Control or modification of tonal gradation or of extreme levels, e.g. background level dependent on the contents of the original
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
- H04N1/62—Retouching, i.e. modification of isolated colours only or in isolated picture areas only
- H04N1/628—Memory colours, e.g. skin or sky
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
Abstract
【課題】逆光補正を行なうと画像中の明るい部分の色味が飛んでしまっていた。また画像全体の色のバランスを適切に整えることが困難であった。
【解決手段】入力画像内における特定画像の少なくとも一部を含む領域を検出する特定画像検出部と、上記検出された領域に属する画素に基づいて特定画像を代表する代表色を算出する代表色算出部と、代表色の明るさに基づいて階調補正のための第一補正曲線を取得する第一補正曲線取得部と、代表色を第一補正曲線によって補正し、補正後の代表色を構成する要素色毎の階調値に基づいて要素色毎の階調補正のための第二補正曲線を取得する第二補正曲線取得部と、入力画像を構成する画素のうち暗部を定義した色域に属する画素の階調値を第一補正曲線を用いて補正する第一補正部と、入力画像を構成する画素の要素色毎の階調値を第二補正曲線を用いて補正する第二補正部とを備える構成とした。
【選択図】図2
【解決手段】入力画像内における特定画像の少なくとも一部を含む領域を検出する特定画像検出部と、上記検出された領域に属する画素に基づいて特定画像を代表する代表色を算出する代表色算出部と、代表色の明るさに基づいて階調補正のための第一補正曲線を取得する第一補正曲線取得部と、代表色を第一補正曲線によって補正し、補正後の代表色を構成する要素色毎の階調値に基づいて要素色毎の階調補正のための第二補正曲線を取得する第二補正曲線取得部と、入力画像を構成する画素のうち暗部を定義した色域に属する画素の階調値を第一補正曲線を用いて補正する第一補正部と、入力画像を構成する画素の要素色毎の階調値を第二補正曲線を用いて補正する第二補正部とを備える構成とした。
【選択図】図2
Description
本発明は、画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置に関する。
デジタルスチルカメラ等から得られた入力画像が、画像領域の一部分が暗く当該一部分の周辺部が明るい、いわゆる逆光画像である場合、当該入力画像に対して逆光補正が行われる。このような逆光補正に関する技術として、撮影画像が逆光人物画像であるか否かを判定し、撮影画像が逆光人物画像である場合には、画像を構成する全画素のうち肌色画素について輝度の平均値を取得し、当該平均値を入力値とした場合の出力値が所定値FVとなるトーンカーブを求め、画像の各画素の輝度値あるいはR値、G値、B値に対して当該トーンカーブを適用することにより、明度補正を実行する画像処理装置が知られている(特許文献1参照。)。
特開2004‐341889号公報
従来の逆光補正においては、以下のような問題があった。
上述したように、逆光補正のためのトーンカーブは、人物画に略対応する肌色画素の輝度平均値と、予め定められた理想値(所定値FV)との関係に基づいて決定される。そのため、当該トーンカーブで入力画像を補正すると、元々暗かった人物画の明るさはある程度適切に上昇する。しかし、トーンカーブの決定に際しては逆光画像において元々明るかった部分の状態は考慮されていないため、当該明るかった部分(例えば、人物画の背景等)は上記トーンカーブが適用されることで過剰な補正がなされ、殆ど真っ白な状態(白飛びした状態)になることもあった。つまり従来の逆光補正においては、逆光画像中の明るい部分の色味が飛んでしまっていた。
また、入力画像に対して逆光補正を行っただけでは、入力画像におけるカラーバランスが崩れている場合もある。つまり、高画質な画像を得るには、逆光補正を含めた複数種類の補正を、互いの補正の影響を考慮しながら適切に実行する必要がある。
上述したように、逆光補正のためのトーンカーブは、人物画に略対応する肌色画素の輝度平均値と、予め定められた理想値(所定値FV)との関係に基づいて決定される。そのため、当該トーンカーブで入力画像を補正すると、元々暗かった人物画の明るさはある程度適切に上昇する。しかし、トーンカーブの決定に際しては逆光画像において元々明るかった部分の状態は考慮されていないため、当該明るかった部分(例えば、人物画の背景等)は上記トーンカーブが適用されることで過剰な補正がなされ、殆ど真っ白な状態(白飛びした状態)になることもあった。つまり従来の逆光補正においては、逆光画像中の明るい部分の色味が飛んでしまっていた。
また、入力画像に対して逆光補正を行っただけでは、入力画像におけるカラーバランスが崩れている場合もある。つまり、高画質な画像を得るには、逆光補正を含めた複数種類の補正を、互いの補正の影響を考慮しながら適切に実行する必要がある。
本発明は上記課題に鑑みてなされたもので、逆光画像において明るい部分の色味を残しつつ暗い部分に対して適切な補正の効果を生じさせ、さらに画像全体の色のバランスを整えることにより、全体として質の高い画像を得ることが可能な画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置を提供することを目的とする。
上記目的を達成するため、本発明の画像処理装置は、入力画像内における特定画像の少なくとも一部を含む領域を検出する特定画像検出部と、上記特定画像検出部によって検出された領域に属する画素に基づいて上記特定画像を代表する代表色を算出する代表色算出部と、上記代表色の明るさに基づいて階調補正のための第一補正曲線を取得する第一補正曲線取得部と、上記代表色を上記第一補正曲線によって補正し、補正後の代表色を構成する要素色毎の階調値に基づいて要素色毎の階調補正のための第二補正曲線を取得する第二補正曲線取得部と、上記入力画像を構成する画素のうち暗部を定義した色域に属する画素の階調値を上記第一補正曲線を用いて補正する第一補正部と、上記入力画像を構成する画素の要素色毎の階調値を上記第二補正曲線を用いて補正する第二補正部とを備える構成としてある。
本発明によれば、上記代表色の明るさに基づいて取得された第一補正曲線によって、入力画像の暗部が補正され、また、第一補正曲線による補正後の代表色を構成する各要素色に応じて補正度合いが決定された要素色毎の第二補正曲線によって、入力画像の各要素色が補正される。従って、入力画像が逆光画像等である場合には、元々暗かった部分の明るさが適切に上昇しかつ画像の要素色間のバランスが整えられ、その結果、高画質な画像が得られる。具体的には、上記第二補正部は、上記第一補正部によって補正された画素を含む入力画像の全画素を対象として各画素の要素色毎の階調値を上記第二補正曲線を用いて補正する。つまり、入力画像の暗部に対する第一補正曲線による補正が行われて暗部の明るさが補正された後の画像の全体に対して、第二補正曲線を適用する。その結果、逆光補正の効果と画像全体における要素色間のバランス補正の効果とを適切に生じさせることができる。
画像処理装置は、上記第一補正部および第二補正部による補正がされる前の入力画像における要素色毎の最大値を求めるとともに、当該最大値間のばらつきを抑制するように上記第一補正部および第二補正部による補正がされる前の入力画像の各要素色に対して補正を行う事前補正部を備えるとしてもよい。当該構成によれば、第一補正部および第二補正部による補正前に、入力画像のホワイトバランスが整えられる。そのため、第一補正部等による補正の結果においてホワイトバランスが破綻した画像が出力されるといった事態が防止される。
上記第二補正曲線取得部は、上記補正後の代表色を構成する要素色毎の階調値と所定の基準値との差をそれぞれ算出し、当該算出した要素色毎の差に応じて要素色毎の第二補正曲線を生成するとしてもよい。当該構成によれば、第一補正曲線による補正がなされた後の入力画像の要素色間のずれを補正するために使用して最適な第二補正曲線を得ることができる。
上記第一補正曲線取得部は、低階調域における曲線の一部を上記代表色の明るさと入力画像内における背景領域の明るさとの差に基づいて上側にシフトさせることにより、当該低階調域において上側に凸状のカーブを描き中間階調域において入力階調値と出力階調値とが等しい関係にある直線に対して接近しかつ中間階調域から高階調域にかけて当該直線に対して収束していく形状の第一補正曲線を生成するとしてもよい。当該構成によれば、全階調域に渡って入力階調値=出力階調値の関係を持つ直線に比べて、低階調域から中間階調域に渡る範囲が部分的に上側に凸となった特殊な形状の第一補正曲線を得ることができ、かかる第一補正曲線を用いれば画像の暗部だけを的確に補正することができる。
上記第一補正曲線取得部は、上記代表色の明るさと背景領域の明るさとの差が大きいほど曲線をシフトさせる度合いを高めるとしてもよい。当該構成によれば、基本的に上記特定画像にかかる領域と背景領域との明るさの差が大きいほど、暗部に対する補正の度合いが大きくなる。
また、上記第一補正曲線取得部は、上記代表色の明るさが低いほど上記曲線をシフトさせる度合いを高めるとしてもよい。当該構成によれば、基本的に上記特定画像にかかる領域が暗いほど、暗部に対する補正の度合いが大きくなる。
また、上記第一補正曲線取得部は、上記代表色の明るさが低いほど上記曲線をシフトさせる度合いを高めるとしてもよい。当該構成によれば、基本的に上記特定画像にかかる領域が暗いほど、暗部に対する補正の度合いが大きくなる。
上記第一補正部は、上記入力画像の輝度分布を取得し、当該輝度分布における谷に相当する階調値を特定し、所定の表色系のグレー軸上における当該特定した階調値に対応する位置を特定し、グレー軸方向における上限が当該特定したグレー軸上の位置である色域を上記表色系において定義するとしてもよい。入力画像が逆光画像である場合、その輝度分布では低階調側と高階調側とに分布数が集中し、低階調側と高階調側との間には分布の谷が生じやすい。上記構成によれば、上記谷の階調値に応じて、暗部を規定する色域のグレー軸方向の上限位置を決めるため、輝度分布において低階調側に集中して分布する画素を対象として第一補正曲線による補正を行うことができる。
上記第一補正部は、上記輝度分布における谷であって上記第一補正曲線による出力階調値の変化率が低い所定の入力階調範囲に該当する所定の階調値よりも低階調側に存在する谷に相当する階調値を特定するとしてもよい。第一補正曲線においてはその形状の特殊性故に、入力階調値の変化率よりも出力階調値の変化率の方が緩やかな範囲が中間階調域あたりに生じることがあり、かかる階調域に属する画素に対しては、階調性維持の観点からできるだけ第一補正曲線を適用しないほうがよい。上記構成によれば、上記輝度分布に複数の谷が存在する場合であっても、第一補正曲線における出力階調値の変化率が低い入力階調範囲に該当する所定の階調値よりも低階調側に存在する谷の階調値に応じて、上記色域のグレー軸方向における上限が決定される。そのため、画像の階調性を損なうことなく、暗部の補正を行うことができる。
上記第一補正部は、上記色域のグレー軸方向を向く中心軸と補正対象の画素との距離に応じて画素に対する補正の度合いを変更するとしてもよい。当該構成によれば、上記暗部を規定する色域に属する画素であっても当該色域の中心軸から遠い画素ほど第一補正部による補正の度合いを弱めることで、補正後の入力画像における階調性を適切に維持することができる。
上記代表色算出部は、上記特定画像検出部によって検出された領域に属する画素であって上記特定画像に対応する色域として所定の表色系において設定された色域に属する画素の要素色毎の平均値からなる色を代表色として算出してもよい。当該構成によれば、特定画像の色を正確に反映した代表色を得ることができ、かかる代表色を基準に行なわれる第一補正曲線の取得や第二補正曲線の取得処理においても、より適切な補正曲線を得ることが可能となる。
上記特定画像検出部は、入力画像内における顔画像の少なくとも一部を含む領域を検出するとしてもよい。当該構成によれば、入力画像において重要な被写体である顔画像の明るさに基づいて入力画像の暗部を補正し、かつ当該入力画像の要素色間のバランスを整えることができるため、顔が暗く写った逆光画像において最適な補正結果を得ることができる。
本発明の技術的思想は、上述した画像処理装置の発明以外にも、上述した画像処理装置が備える各部が行なう各処理工程を備えた画像処理方法の発明や、上述した画像処理装置が備える各部に対応した各機能をコンピュータに実行させる画像処理プログラムの発明としても捉えることができる。また、上記の画像処理装置、画像処理方法および画像処理プログラムは具体的には、PCやサーバ等のハードウェアによって実現される他、画像入力装置としてのデジタルスチルカメラやスキャナ、あるいは、画像出力装置としてのプリンタ(印刷装置)やプロジェクタやフォトヴューワ等、様々な製品によって実現することができる。
以下の順序に従って、本発明の実施形態を説明する。
1.プリンタの概略構成
2.肌代表色の算出
3.補正曲線の生成
4.補正処理
5.変形例
6.まとめ
1.プリンタの概略構成
2.肌代表色の算出
3.補正曲線の生成
4.補正処理
5.変形例
6.まとめ
1.プリンタの概略構成
図1は、本発明の画像処理装置や印刷装置の一例に該当するプリンタ10の構成を概略的に示している。プリンタ10は、記録メディア(例えば、メモリカードMC等)から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラープリンタ(例えば、カラーインクジェットプリンタ)である。プリンタ10は、プリンタ10の各部を制御するCPU11と、例えばROMやRAMによって構成された内部メモリ12と、ボタンやタッチパネルにより構成された操作部14と、液晶ディスプレイにより構成された表示部15と、プリンタエンジン16と、カードインターフェース(カードI/F)17と、PCやサーバやデジタルスチルカメラ等の各種外部機器との情報のやり取りのためのI/F部13とを備えている。プリンタ10の各構成要素は、バスを介して互いに接続されている。
図1は、本発明の画像処理装置や印刷装置の一例に該当するプリンタ10の構成を概略的に示している。プリンタ10は、記録メディア(例えば、メモリカードMC等)から取得した画像データに基づき画像を印刷する、いわゆるダイレクトプリントに対応したカラープリンタ(例えば、カラーインクジェットプリンタ)である。プリンタ10は、プリンタ10の各部を制御するCPU11と、例えばROMやRAMによって構成された内部メモリ12と、ボタンやタッチパネルにより構成された操作部14と、液晶ディスプレイにより構成された表示部15と、プリンタエンジン16と、カードインターフェース(カードI/F)17と、PCやサーバやデジタルスチルカメラ等の各種外部機器との情報のやり取りのためのI/F部13とを備えている。プリンタ10の各構成要素は、バスを介して互いに接続されている。
プリンタエンジン16は、印刷データに基づき印刷を行う印刷機構である。カードI/F17は、カードスロット172に挿入されたメモリカードMCとの間でデータのやり取りを行うためのI/Fである。メモリカードMCには画像データが格納されており、プリンタ10は、カードI/F17を介してメモリカードMCに格納された画像データを取得することができる。画像データ提供のための記録メディアとしてはメモリカードMC以外にも種々の媒体を用いることができる。むろんプリンタ10は、記録メディア以外にも、I/F部13を介して接続した上記外部機器から画像データを入力することも可能である。プリンタ10は、コンシューマ向けの印刷装置であってもよいし、DPE向けの業務用印刷装置(いわゆるミニラボ機)であってもよい。プリンタ10は、I/F部13を介して接続したPCやサーバ等から印刷データを入力することもできる。
内部メモリ12には、画像処理部20と、表示制御部30と、印刷制御部40とが格納されている。画像処理部20は、所定のオペレーティングシステムの下で、画像データに対し補正処理等の各種画像処理を実行するためのコンピュータプログラムである。表示制御部30は、表示部15を制御することにより表示部15の画面に所定のユーザインターフェース(UI)画像やメッセージやサムネイル画像などを表示させるディスプレイドライバである。印刷制御部40は、画像処理部20によって補正処理等が施された後の画像データに基づいて各画素の記録材(インクやトナー)の記録量を規定した印刷データを生成し、プリンタエンジン16を制御して、印刷データに基づく画像の印刷媒体への印刷を実行するためのコンピュータプログラムである。
CPU11は、内部メモリ12から、これらの各プログラムを読み出して実行することにより、これら各部の機能を実現する。画像処理部20はさらに、プログラムモジュールとして、顔画像検出部21と、代表色算出部22と、差取得部23と、逆光補正曲線取得部24と、カラーバランス(CB)補正曲線取得部25と、逆光補正部26と、CB補正部27と、ホワイトバランス(WB)補正部28とを少なくとも含んでいる。顔画像検出部21は、特定画像検出部に該当し、逆光補正曲線取得部24は、第一補正曲線取得部または補正曲線取得部に該当し、CB補正曲線取得部25は、第二補正曲線取得部に該当し、逆光補正部26は、第一補正部または補正部に該当し、CB補正部27は、第二補正部に該当し、WB補正部28は、事前補正部に該当する。これら各部の機能については後述する。さらに内部メモリ12には、肌色域定義情報12aや、顔テンプレート12bや、記憶色域定義情報12cや、各関数を始めとして、各種データやプログラムが格納されている。プリンタ10は、印刷機能以外にも、コピー機能やスキャナ機能(画像読取機能)など多種の機能を備えたいわゆる複合機であってもよい。
次に、プリンタ10において画像処理部20に従って実行される処理を説明する。
次に、プリンタ10において画像処理部20に従って実行される処理を説明する。
2.肌代表色の算出
図2は、画像処理部20が実行する処理をフローチャートにより示している。
本実施形態で画像処理部20が実行する処理には、少なくとも逆光補正とカラーバランス補正とが含まれ、かつ、これら各補正に用いるための各補正曲線を生成する処理も含まれる。各補正曲線を生成するための前提として、画像処理部20は、入力画像における肌代表色を求める。肌代表色とは、入力画像内に存在する顔画像を代表する色を意味し、より具体的には、顔画像の肌部分の色を代表する色を意味する。
図2は、画像処理部20が実行する処理をフローチャートにより示している。
本実施形態で画像処理部20が実行する処理には、少なくとも逆光補正とカラーバランス補正とが含まれ、かつ、これら各補正に用いるための各補正曲線を生成する処理も含まれる。各補正曲線を生成するための前提として、画像処理部20は、入力画像における肌代表色を求める。肌代表色とは、入力画像内に存在する顔画像を代表する色を意味し、より具体的には、顔画像の肌部分の色を代表する色を意味する。
ステップS(以下、ステップの表記を省略。)100では、画像処理部20は、処理対象となる画像を表した画像データDをメモリカードMC等の記録メディアから取得する。つまり、ユーザが表示部15に表示されたUI画像を参照して操作部14を操作し、処理対象とする画像データDを指定した場合に、当該指定された画像データDを画像処理部20が読み込む。画像処理部20は、I/F部13を介してPCやサーバやデジタルスチルカメラ等から画像データDを取得してもよい。画像データDは、各画素の色が要素色(RGB)毎の階調(例えば、0〜255の256階調)で表されたビットマップデータである。画像データDは、記録メディア等に記録されている段階で圧縮されていてもよいし、他の表色系で各画素の色が表現されていてもよい。これらの場合、画像データDの展開や表色系の変換を実行し、画像処理部20がRGBビットマップデータとしての画像データDを取得する。このように取得された画像データDは入力画像に該当する。
なお図2の処理は、逆光画像に対して特に有用な補正処理である。そのため、本実施形態では、S100取得された画像データDは画像領域内に顔画像を含む逆光画像(特に顔画像の部分が暗い画像)を表している前提で説明を行う。
なお図2の処理は、逆光画像に対して特に有用な補正処理である。そのため、本実施形態では、S100取得された画像データDは画像領域内に顔画像を含む逆光画像(特に顔画像の部分が暗い画像)を表している前提で説明を行う。
S200では、顔画像検出部21が画像データDから顔領域を検出する。顔領域とは、少なくとも顔画像(特定画像の一種)の一部を含む領域を意味する。顔画像検出部21は、顔領域を検出可能な手法であればあらゆる手法を採用することができる。例えば、顔画像検出部21は、複数のテンプレート(上記顔テンプレート12b)を利用したいわゆるパターンマッチングによって画像データDから顔領域を検出する。パターンマッチングを行うにあたっては、画像データD上に矩形状の検出領域SAを設定し、画像データD上での検出領域SAの位置と大きさを変えながら、検出領域SA内の画像と各顔テンプレート12bの画像との類似性を評価する。そして、類似性が一定の基準を満足する検出領域SAを顔領域として検出する。画像データD全体に検出領域SAを移動させることにより、画像データD内に存在する単数または複数の顔についての顔領域を検出できる。本実施形態では、一つの顔を含む一つの顔領域が検出されたものとして説明を続ける。なお顔画像検出部21は、検出領域SA単位で画像の各種情報(例えば、輝度情報やエッジ量やコントラスト等。)を入力し検出領域SAに顔画像が存在するか否かを示す情報を出力する、予め学習されたニューラルネットワークを用いることにより、顔領域の検出を行なっても良いし、サポートベクタマシンを利用して検出領域SA毎に顔領域であるか否かを判断してもよい。
図3は、S200において画像データDから顔領域として検出された検出領域SAの矩形を示している。以下では、S200において顔領域として検出された検出領域SAを顔領域SAと呼ぶ。
S300では、代表色算出部22が顔領域SA内の画素に基づいて肌代表色を算出する。
S300では、代表色算出部22が顔領域SA内の画素に基づいて肌代表色を算出する。
図4は、S300における処理の詳細をフローチャートにより示している。
S310では代表色算出部22は、画像データDの状態を判定する。画像データDの状態とは、画像データDの画像における明るさや、画像中に含まれる被写体の特徴等に基づいて決定される状態を言う。本実施形態では特にS310において、画像データDの画像が逆光画像であるか否かの判定を行なう。逆光画像であるか否かの判定手法は特に限られない。例えば、代表色算出部22は、画像データDの全範囲を対象として所定の抽出率に基づいて画素をサンプリングし、サンプリングした画素の輝度分布を生成する。逆光画像の輝度分布においては、一般的に、高階調側と低階調側とに分布数が集中し、その中間階調域において分布の谷が生じる傾向がある。そのため、代表色算出部22は生成した輝度分布の形状的特徴に応じて逆光画像であるか否か判定することができる。
S310では代表色算出部22は、画像データDの状態を判定する。画像データDの状態とは、画像データDの画像における明るさや、画像中に含まれる被写体の特徴等に基づいて決定される状態を言う。本実施形態では特にS310において、画像データDの画像が逆光画像であるか否かの判定を行なう。逆光画像であるか否かの判定手法は特に限られない。例えば、代表色算出部22は、画像データDの全範囲を対象として所定の抽出率に基づいて画素をサンプリングし、サンプリングした画素の輝度分布を生成する。逆光画像の輝度分布においては、一般的に、高階調側と低階調側とに分布数が集中し、その中間階調域において分布の谷が生じる傾向がある。そのため、代表色算出部22は生成した輝度分布の形状的特徴に応じて逆光画像であるか否か判定することができる。
あるいは、代表色算出部22は、画像データDから画素をサンプリングする際に、画像の中央付近の領域と当該中央付近の領域の周囲領域とのうち、中央付近の領域においてより高い抽出率で画素をサンプリングし、サンプリングした画素の輝度の平均値(輝度平均値)を求める。代表色算出部22は、このように画像中央の領域に重きをおいて求めた輝度平均値と予め用意された所定のしきい値とを比較し、輝度平均値がしきい値以下であれば、画像データDは画像中央付近が暗い画像すなわち逆光画像であると判定できる。上述したようにS100で取得された画像データDは逆光画像であるため、代表色算出部22はS310で、画像データDが逆光画像であると判定する。
S320では、代表色算出部22は、内部メモリ12から肌色域定義情報12aを読み出す。肌色域定義情報12aは、顔画像検出部21が検出する画像(顔画像)が対応する色(肌色)の標準的な範囲(肌色域)を所定の表色系において予め定義した情報である。本実施形態では一例として、肌色域定義情報12aは、国際照明委員会(CIE)で規定されたL*a*b*表色系(以下、「*」の表記は省略。)において肌色域を定義している。ただし、肌色域定義情報12aによる肌色域の定義には、HSV表色系や、XYZ表色系や、RGB表色系等、様々な表色系を採用可能である。肌色域定義情報12aは、ある表色系において肌色らしい色域を規定した情報であればよい。
図5は、Lab表色系において肌色域定義情報12aが定義する肌色域A1の一例を示している。肌色域定義情報12aは、肌色域A1を明度L、彩度C、色相Hの各範囲Ls≦L≦Le、Cs≦C≦Ce、Hs≦H≦Heによって定義している。図5の例では、肌色域A1は6面からなる立体である。図5では、ab平面上への肌色域A1の投影図もハッチングを施して併せて示している。ただし、肌色域定義情報12aが定義する肌色域は、上記のような6面体である必要はなく、例えば、肌色域の中心点を示すLab表色系における一つの座標と、当該一つの座標を中心とした半径rとによって定義される球状の領域であってもよいし、それ以外の形状であってもよい。
S330では、代表色算出部22は、S320における判定結果に応じて肌色域A1に対する変更を施す。具体的には、S320において画像データDが逆光画像であると判定した場合には、少なくとも変更前と比較して低彩度側の色域が含まれるように肌色域A1に変更を加える。
S330では、代表色算出部22は、S320における判定結果に応じて肌色域A1に対する変更を施す。具体的には、S320において画像データDが逆光画像であると判定した場合には、少なくとも変更前と比較して低彩度側の色域が含まれるように肌色域A1に変更を加える。
図6は、画像データDが逆光画像であると判定した場合に代表色算出部22が行なう色域変更の様子を例示している。図6では、Lab表色系におけるab平面上に変更前の肌色域A1(鎖線)と変更後の肌色域A2(実線)とを示している。代表色算出部22は、画像データDが逆光画像である場合には、肌色域A1の彩度範囲がL軸(グレー軸)に接近するように肌色域A1を移動させ、移動後の色域を肌色域A2とする。つまり、画像データDは逆光画像なので、顔画像の肌部分の色も低彩度の傾向が強いと言え、そのため、肌部分の画素の色と、肌色域定義情報12aが元々定義していた標準的な肌色域とのずれを修正するのである。上記移動後の彩度範囲をCs´≦C≦Ce´とすると、肌色域A2は明度L、彩度C、色相Hの各範囲Ls≦L≦Le、Cs´≦C≦Ce´、Hs≦H≦Heによって定義される。ただし、肌色域の彩度範囲を低彩度側に移動させるのみだと、移動前の肌色域A1と比較して移動後の肌色域A2が小さくなってしまうため、図6に例示すように、彩度範囲の変更と併せて色相範囲を広げるとしてもよい。
あるいは代表色算出部22は、画像データDが逆光画像であると判定した場合、肌色域A1の彩度範囲の下限(Cs)がL軸に接近するように肌色域A1をL軸側に変形(拡大)させ、拡大後の色域を肌色域A2としてもよい。拡大後の彩度範囲をCs´≦C≦Ceとすると、肌色域A2は各範囲Ls≦L≦Le、Cs´≦C≦Ce、Hs≦H≦Heによって定義される。あるいは代表色算出部22は、画像データDが逆光画像である場合、肌色域A1の彩度範囲を拡大させかつ移動させることにより変更後の肌色域A2を取得するとしてもよいし、肌色域A1の明度範囲についても変更を施しても良い。変更後の色域A2は、特定画像に対応する色域として所定の表色系において設定された色域に該当する。
S340では、代表色算出部22は、顔領域SA内に属する画素のうち色が上記変更後の肌色域A2に属する画素を抽出する。この場合、代表色算出部22は、顔領域SA内の各画素のRGBデータを、肌色域A2が採用する表色系(Lab表色系)のデータ(Labデータ)にそれぞれ変換し、変換後の各Labデータが肌色域A2に属するか否か判定する。そして、代表色算出部22は、上記Labデータが肌色域A2に属する画素のみを肌画素として抽出する。代表色算出部22は、RGBデータからLabデータへの変換は、RGB表色系からLab表色系への変換を行なう所定の色変換プロファイルなどを用いることで可能である。内部メモリ12には、かかる色変換プロファイルも保存されているとしてもよい。なお本実施形態は、画像データDから一つの顔領域SAが検出された場合について説明している。しかし、画像データDから複数の顔領域SAが検出された場合には、S340では、代表色算出部22は、複数の顔領域SA内の各画素についてそれぞれ肌色域A2に属するか否か判定し、属する画素については肌画素として抽出する。
S350では、代表色算出部22は、S340で抽出した複数の肌画素に基づいて肌代表色を算出する。肌代表色の算出方法は様々であるが本実施形態では、代表色算出部22は、肌画素のRGB毎の平均値Rave,Gave,Baveを算出し、当該平均値Rave,Gave,Baveからなる色(RGBデータ)を肌代表色とする。代表色算出部22は、肌代表色のRGBデータを内部メモリ12等の所定の記憶領域に保存する。このように代表色算出部22は、肌代表色を算出するための肌画素を顔領域SAから抽出する際に、単純に肌色域定義情報12aが表す肌色域を用いて画素を抽出するのではなく、画像データDの状態(逆光画像)に応じて肌色域定義情報12aが表す肌色域に変更を加え、変更後の肌色域に属する画素を肌画素として抽出する。その結果、入力画像内の顔画像の色味が標準的な肌色ではない場合でも、顔画像の肌部分に対応する画素を確実に抽出でき、入力画像毎の正確な肌代表色を得ることができる。なお上記では、代表色算出部22は、入力画像が逆光画像である場合に肌色域の変更処理を行なうとしたが、入力画像が、例えばいわゆる色かぶり状態の画像や、露出不足のアンダー画像(全体的に暗い画像)や、露出過多のオーバー画像(全体的に明るい画像)であると判定した場合等においても、判定結果に応じて、肌色域定義情報12aが定義する肌色域に変更を施すとしてもよい。
S400では、差取得部23が、画像データD内における背景領域の明るさを取得する。差取得部23は、画像データD内の画像領域を複数のエリアに分ける。例えば、差取得部23は、画像データDが表す画像の4辺に沿った枠状の領域であって顔領域SAを含まない領域を周囲領域とし、周囲領域以外の領域を中央領域とする。逆光画像においては、顔などの主要な被写体が配置されていることが多い中央領域が暗く、中央領域よりも周囲領域が明るいのが一般的である。
図7は、差取得部23が画像データDの画像領域を中央領域CAと周囲領域PAとに分けた様子を例示している。なお、上述したように代表色算出部22が画像データDは逆光画像であるか否かを判定する際(S310)にも、図7に示したように画像データDを中央領域CAと周囲領域PAとに分け、中央領域CAから多めに画素をサンプリングすることがきる。
S400における処理の一例として、差取得部23は、周囲領域PAから画素を所定の抽出率にてサンプリングする。そして、周囲領域PAからサンプリングした画素の輝度平均値を算出し、この輝度平均値を背景領域の明るさとする。つまりこの場合、周囲領域PAが背景領域である。なお各画素の輝度は、画素のRGBの階調値それぞれに所定の重みを付けた上でそれらRGBを加算することにより得られ、このように得られた画素毎の輝度を平均することにより、輝度平均値を得ることができる。
S400における処理の一例として、差取得部23は、周囲領域PAから画素を所定の抽出率にてサンプリングする。そして、周囲領域PAからサンプリングした画素の輝度平均値を算出し、この輝度平均値を背景領域の明るさとする。つまりこの場合、周囲領域PAが背景領域である。なお各画素の輝度は、画素のRGBの階調値それぞれに所定の重みを付けた上でそれらRGBを加算することにより得られ、このように得られた画素毎の輝度を平均することにより、輝度平均値を得ることができる。
また、S400における処理の他の例として、差取得部23は、画像データDの全領域を画素サンプリングの対象としつつ、中央領域CAよりも周囲領域PAにおいて高い抽出率で画素をサンプリングし、サンプリングした画素を対象とした輝度平均値を求め、この輝度平均値を背景領域の明るさとしてもよい。つまり、差取得部23は、中央領域CAよりも周囲領域PAに対して重みを付けて輝度平均値を求める。
さらに、S400における処理の他の例として、差取得部23は、背景領域(例えば、周囲領域PA。)に属する画素のうち所定の記憶色に該当する画素のみ抽出する。そして、記憶色に該当する画素の輝度平均値を算出し、その輝度平均値を背景領域の明るさとしてもよい。
さらに、S400における処理の他の例として、差取得部23は、背景領域(例えば、周囲領域PA。)に属する画素のうち所定の記憶色に該当する画素のみ抽出する。そして、記憶色に該当する画素の輝度平均値を算出し、その輝度平均値を背景領域の明るさとしてもよい。
記憶色としては、例えば、空の色に対応する青色や、山や森の色に対応する緑色等が挙げられる。プリンタ10は、所定の表色系(例えば、Lab表色系)において各記憶色の色域をそれぞれ定義した記憶色域定義情報12cを肌色域定義情報12aと同様に内部メモリ12等に予め保存しておく。そして差取得部23は、S400の際に、背景領域に属する画素のうち色が記憶色域定義情報12cの定義する色域に属する画素を抽出し、抽出した画素の輝度平均値を算出する。背景領域に属する画素であって記憶色に該当する画素だけに基づいて背景領域の輝度平均値を算出することで、画像データDが表す画像における実際の背景部分(空や山など)の明るさを正確に表した輝度平均値を得ることができる。記憶色は青色や緑色など複数定義されているが、差取得部23は、いずれかの記憶色に該当する画素であれば輝度平均値算出の対象に入れるとしても良いし、一部の記憶色に該当する画素だけを用いて輝度平均値を算出しても良い。例えば、背景領域に属する画素のうち記憶色“緑色”に該当する画素がある一定数よりも少なく、記憶色“青色”に該当する画素がある一定数以上存在する場合には、数の多い記憶色“青色”に該当する画素だけに基づいて輝度平均値を算出するとしてもよい。
このように差取得部23は、上述したいずれかの手法によって背景領域の明るさ(輝度平均値)を算出する。以下では、差取得部23がS400で算出した輝度平均値を便宜上、輝度Ybと表す。
S500では、差取得部23は、顔領域SAの明るさと背景領域の明るさとの差を取得する。この場合、差取得部23は、S300で算出された肌代表色のRGBから上述した重み付け加算の手法により輝度を算出する。以下では、肌代表色のRGBから算出した輝度を輝度Yfと表す。輝度Yfは、肌代表色の明るさであり、肌画素の輝度平均値をほぼ表していると言える。また輝度Yfは顔領域SAの明るさを表しているとも言える。そして差取得部23は、S400で算出した輝度Ybと上記輝度Yfとの輝度差Yd(輝度Yb−輝度Yf)を求め、輝度差Ydを顔領域SAの明るさと背景領域の明るさとの差として取得する。輝度Yb>輝度Yfである場合に輝度差Ydは正の値となる。本実施形態では、輝度Yb>輝度Yfであるとする。
S500では、差取得部23は、顔領域SAの明るさと背景領域の明るさとの差を取得する。この場合、差取得部23は、S300で算出された肌代表色のRGBから上述した重み付け加算の手法により輝度を算出する。以下では、肌代表色のRGBから算出した輝度を輝度Yfと表す。輝度Yfは、肌代表色の明るさであり、肌画素の輝度平均値をほぼ表していると言える。また輝度Yfは顔領域SAの明るさを表しているとも言える。そして差取得部23は、S400で算出した輝度Ybと上記輝度Yfとの輝度差Yd(輝度Yb−輝度Yf)を求め、輝度差Ydを顔領域SAの明るさと背景領域の明るさとの差として取得する。輝度Yb>輝度Yfである場合に輝度差Ydは正の値となる。本実施形態では、輝度Yb>輝度Yfであるとする。
3.補正曲線の生成
上記のように入力画像における肌代表色や、輝度Yfや、輝度差Ydが求められたら、S600では、逆光補正曲線取得部24が、逆光補正に用いるための逆光補正曲線(第一補正曲線または補正曲線に該当。)を生成し、S700では、CB補正曲線取得部25が、カラーバランス補正に用いるためのCB補正曲線(第二補正曲線に該当。)を生成する。
上記のように入力画像における肌代表色や、輝度Yfや、輝度差Ydが求められたら、S600では、逆光補正曲線取得部24が、逆光補正に用いるための逆光補正曲線(第一補正曲線または補正曲線に該当。)を生成し、S700では、CB補正曲線取得部25が、カラーバランス補正に用いるためのCB補正曲線(第二補正曲線に該当。)を生成する。
図8は、逆光補正曲線取得部24が生成する逆光補正曲線F1の一例を示している。
逆光補正曲線F1は、横軸を入力階調値x(0〜255)、縦軸を出力階調値y(0〜255)とした二次元座標(xy平面)上に定義された階調変換特性である。逆光補正曲線F1は、概略的には図8に示すように、低階調域において、上側に凸状のカーブを描き、中間階調域において、入力階調値x=出力階調値yの関係を規定した直線F0に対して徐々に接近し、中間階調域から高階調域にかけて当該直線F0に対して収束していく形状をしている。逆光補正曲線取得部24は、このような形状の逆光補正曲線F1を、肌代表色の明るさ(輝度Yf)や輝度差Ydに基づいて生成する。
逆光補正曲線F1は、横軸を入力階調値x(0〜255)、縦軸を出力階調値y(0〜255)とした二次元座標(xy平面)上に定義された階調変換特性である。逆光補正曲線F1は、概略的には図8に示すように、低階調域において、上側に凸状のカーブを描き、中間階調域において、入力階調値x=出力階調値yの関係を規定した直線F0に対して徐々に接近し、中間階調域から高階調域にかけて当該直線F0に対して収束していく形状をしている。逆光補正曲線取得部24は、このような形状の逆光補正曲線F1を、肌代表色の明るさ(輝度Yf)や輝度差Ydに基づいて生成する。
図9は、S600における処理の詳細をフローチャートにより示している。
S610では、逆光補正曲線取得部24は、輝度Yfに基づいて、逆光補正における基準補正量gを求める。基準補正量gは、輝度Yfが低いほど大きく、輝度Yfが高いほど小さい値である。逆光補正曲線取得部24は、基準補正量gを得るための関数f1(Y)を定義する。つまり、g=f1(Y)である。関数f1(Y)は、輝度Yの階調区間0≦Y≦Y1を二次曲線、階調区間Y1≦Y≦Y2を直線で構成した関数であり、
0≦Y≦Y1のとき、f1(Y)=gmax−α1・Y2 …(1)
Y1≦Y≦Y2のとき、f1(Y)=β1・(Y2−Y) …(2)
Y2≦Yのとき、f1(Y)=0 …(3)
で表される。
S610では、逆光補正曲線取得部24は、輝度Yfに基づいて、逆光補正における基準補正量gを求める。基準補正量gは、輝度Yfが低いほど大きく、輝度Yfが高いほど小さい値である。逆光補正曲線取得部24は、基準補正量gを得るための関数f1(Y)を定義する。つまり、g=f1(Y)である。関数f1(Y)は、輝度Yの階調区間0≦Y≦Y1を二次曲線、階調区間Y1≦Y≦Y2を直線で構成した関数であり、
0≦Y≦Y1のとき、f1(Y)=gmax−α1・Y2 …(1)
Y1≦Y≦Y2のとき、f1(Y)=β1・(Y2−Y) …(2)
Y2≦Yのとき、f1(Y)=0 …(3)
で表される。
gmax、Y1、Y2は予め実験等によって定められた値であり、本実施形態ではgmax=50、Y1=64、Y2=128としている。ここでY=Y1である場合に、上記式(1)にかかる二次曲線f1(Y1)と上記式(2)にかかる直線f1(Y1)とが一致し、かつ上記式(1)にかかる二次曲線f1(Y)の導関数f1´(Y1)と上記式(2)にかかる直線f1(Y)の導関数f1´(Y1)とが一致する。従って、逆光補正曲線取得部24は、係数α1,β1を決定することができ、関数f1(Y)を輝度Yの全階調範囲に渡って定義することができる。
図10は、逆光補正曲線取得部24が定義した関数f1(Y)の一例を示している。逆光補正曲線取得部24は、関数f1(Y)に輝度Yfを入力し、出力値f1(Yf)を、基準補正量gとして取得する。
S620では、逆光補正曲線取得部24は、基準補正量gの大きさを輝度差Ydに基づいて調整する。逆光補正曲線取得部24は、輝度差Ydが小さいほど基準補正量gを小さくする。以下では、調整後の基準補正量gを、補正量g´と表す。S620において逆光補正曲線取得部24は、補正量g´を得るための関数f2(d)を定義する。つまり、g´=f2(d)である。関数f2(d)は、輝度差Yd(ここでは便宜的に、輝度差をdと表す。)がとり得る階調区間−255〜255のうち、階調区間0≦d≦D1を直線、階調区間D1≦d≦D2を二次曲線で構成した関数であり、
d<0のとき、f2(d)=0 …(4)
0≦d≦D1のとき、f2(d)=α2・d …(5)
D1≦d≦D2のとき、f2(d)=g−β2・(D2−d)2 …(6)
D2≦dのとき、f2(d)=g …(7)
で表される。
S620では、逆光補正曲線取得部24は、基準補正量gの大きさを輝度差Ydに基づいて調整する。逆光補正曲線取得部24は、輝度差Ydが小さいほど基準補正量gを小さくする。以下では、調整後の基準補正量gを、補正量g´と表す。S620において逆光補正曲線取得部24は、補正量g´を得るための関数f2(d)を定義する。つまり、g´=f2(d)である。関数f2(d)は、輝度差Yd(ここでは便宜的に、輝度差をdと表す。)がとり得る階調区間−255〜255のうち、階調区間0≦d≦D1を直線、階調区間D1≦d≦D2を二次曲線で構成した関数であり、
d<0のとき、f2(d)=0 …(4)
0≦d≦D1のとき、f2(d)=α2・d …(5)
D1≦d≦D2のとき、f2(d)=g−β2・(D2−d)2 …(6)
D2≦dのとき、f2(d)=g …(7)
で表される。
D1、D2は予め実験等によって定められた値であり、本実施形態ではD1=75、D2=150としている。
ここでd=D1である場合に、上記式(6)にかかる二次曲線f2(D1)と上記式(5)にかかる直線f2(D1)とが一致し、かつ上記式(6)にかかる二次曲線f2(d)の導関数f2´(D1)と上記式(5)にかかる直線f2(d)の導関数f2´(D1)とが一致する。従って、逆光補正曲線取得部24は、係数α2,β2を決定することができ、関数f2(d)を輝度差dがとり得る全階調範囲に渡って定義することができる。
ここでd=D1である場合に、上記式(6)にかかる二次曲線f2(D1)と上記式(5)にかかる直線f2(D1)とが一致し、かつ上記式(6)にかかる二次曲線f2(d)の導関数f2´(D1)と上記式(5)にかかる直線f2(d)の導関数f2´(D1)とが一致する。従って、逆光補正曲線取得部24は、係数α2,β2を決定することができ、関数f2(d)を輝度差dがとり得る全階調範囲に渡って定義することができる。
図11は、逆光補正曲線取得部24が定義した関数f2(d)の一例を示している。逆光補正曲線取得部24は、関数f2(d)に輝度差Ydを入力し、出力値f2(Yd)を、補正量g´として取得する。図11から明らかなように、輝度差YdがD2以上である場合には、補正量g´=基準補正量gとなる。
S630では、逆光補正曲線取得部24は、逆光補正曲線F1の形状を特徴付ける複数のポイント(座標)を上記xy平面上に特定する。この場合、逆光補正曲線取得部24は、座標(x1,y1)で表される補正ポイントP1、座標(x2,y2)で表される調整ポイントP2および座標(x3,y3)で表される収束ポイントP3を、輝度Yfや補正量g´に基づいて特定する。
S630では、逆光補正曲線取得部24は、逆光補正曲線F1の形状を特徴付ける複数のポイント(座標)を上記xy平面上に特定する。この場合、逆光補正曲線取得部24は、座標(x1,y1)で表される補正ポイントP1、座標(x2,y2)で表される調整ポイントP2および座標(x3,y3)で表される収束ポイントP3を、輝度Yfや補正量g´に基づいて特定する。
逆光補正曲線取得部24は、補正ポイントP1を、入力階調値x1=Yf、出力階調値y1=x1+g´とする。つまり、肌代表色の明るさYfを補正量g´分上昇させるような逆光補正曲線F1を生成するために、補正ポイントP1を特定する。なおx1には上限(例えば64)と下限(例えば32)とを予め設けておき、逆光補正曲線取得部24は、かかる上限と下限との範囲内でx1を特定するとしてもよい。次に、逆光補正曲線取得部24は、調整ポイントP2の入力階調値x2を、x2=x1+α3とする。α3は定数である。調整ポイントP2は、補正ポイントP1の位置に応じて逆光補正曲線F1の曲がり具合を調整するためのポイントであり、その入力階調値x2は、補正ポイントP1の入力階調値x1と常に一定の間隔を保つようにしている。本実施形態では一例として、α3=10としている。また、逆光補正曲線取得部24は、調整ポイントP2の出力階調値y2を、補正ポイントP1(x1,y1)および調整ポイントP2の入力階調値x2をパラメータとする以下の所定の関数に従って特定する。
y2=f3(x1,x2,y1) …(8)
y2=f3(x1,x2,y1) …(8)
次に、逆光補正曲線取得部24は、収束ポイントP3の入力階調値x3を決定する。収束ポイントP3は、調整ポイントP2より高階調側において、逆光補正曲線F1を自然な形で直線F0に収束させるためのポイントであり、入力階調値x3は、補正ポイントP1の入力階調値x1および補正量g´をパラメータとする以下の所定の関数に従って特定される。
x3=f4(x1,g´) …(9)
また、逆光補正曲線取得部24は、収束ポイントP3の出力階調値y3を、収束ポイントP3の入力階調値x3をパラメータとする以下の所定の関数に従って特定する。
y3=f5(x3) …(10)
なお、関数f3,f4,f5は、予め実験等によって決められた関数であり、例えば、内部メモリ12に保存されている。
x3=f4(x1,g´) …(9)
また、逆光補正曲線取得部24は、収束ポイントP3の出力階調値y3を、収束ポイントP3の入力階調値x3をパラメータとする以下の所定の関数に従って特定する。
y3=f5(x3) …(10)
なお、関数f3,f4,f5は、予め実験等によって決められた関数であり、例えば、内部メモリ12に保存されている。
図8では、上記のようにして特定された補正ポイントP1(x1,y1)、調整ポイントP2(x2,y2)および収束ポイントP3(x3,y3)も示している。補正ポイントP1(x1,y1)、調整ポイントP2(x2,y2)および収束ポイントP3(x3,y3)を特定したら、逆光補正曲線取得部24は、S640において、これら各ポイント(x1,y1)、(x2,y2)、(x3,y3)と、直線F0の両端(0,0)、(255,255)とを所定の補間方法によって補間することにより、逆光補正曲線F1を生成する。逆光補正曲線取得部24は、例えば、スプライン補間によって逆光補正曲線F1を生成する。
このような逆光補正曲線F1は、低階調域における曲線の一部(輝度Yfに対応する補正ポイントP1の出力階調値y1)を、輝度差Ydに基づいて決定した補正量g´の分だけ上側に持ち上げた(シフトさせた)形状であると言える。また、出力階調値y1をシフトさせる度合い(補正量g´の大きさ)は、輝度Yfが低いほど大きくなる。そのため、入力画像内において暗い状態の顔領域SAを明るくするために適した逆光補正曲線F1となる。ただし、輝度差Ydが低い場合には、背景も含めて入力画像が全体的に暗いと言える。そのため、輝度差Ydが大きいほど出力階調値y1をシフトさせる度合いを大きくし、輝度差Ydが小さい場合には逆光補正の度合いを控えめにしている。なお、輝度差Ydが小さく入力画像が全体的に暗い場合には、逆光補正の度合いを控えめにする分、後述するようにカラーバランス補正の度合いが上昇することで、最終的に得られる画像は常に明るさが適切となるようにしている。
S700では、CB補正曲線取得部25は、S600で生成された逆光補正曲線F1に応じたCB補正曲線F2を生成する。本実施形態では、画像処理部20は、入力画像に対して逆光補正を施した後にカラーバランス補正を施すため、カラーバランス補正の度合いは、逆光補正の度合いに応じて変化するようにしている。具体的には、CB補正曲線取得部25は、肌代表色のRGB毎の階調値をそれぞれ逆光補正曲線F1に入力して補正する。逆光補正曲線F1による補正後の肌代表色のRGBを、Rf´Gf´Bf´と表す。次に、CB補正曲線取得部25は、肌色のカラーバランス補正のための理想値として内部メモリ12等に予め保存されている階調値RsGsBs(基準値)を取得するとともに、Rf´Gf´Bf´とRsGsBsQとの差分ΔR=Rs−Rf´、ΔG=Gs−Gf´、ΔB=Bs−Bf´を算出する。そしてCB補正曲線取得部25は、差分ΔR,ΔG,ΔBに基づいて、RGB毎のカラーバランス補正用のトーンカーブF2R,F2G,F2Bを生成する。
図12A〜Cは、トーンカーブF2R,F2G,F2Bをそれぞれ例示している。トーンカーブF2Rは、入力階調値=Rf´とした場合に出力階調値=Rsとなるトーンカーブであり、トーンカーブF2Gは、入力階調値=Gf´とした場合に出力階調値=Gsとなるトーンカーブであり、トーンカーブF2Bは、入力階調値=Bf´とした場合に出力階調値=Bsとなるトーンカーブである。つまり、逆光補正曲線F1を用いた補正による肌代表色のRGBの上昇率が大きい場合には、トーンカーブF2R,F2G,F2Bにおける補正の度合い(カーブの膨らみ度合い)は小さいものとなり、逆に、逆光補正曲線F1を用いた補正による肌代表色のRGBの上昇率が小さい場合には、トーンカーブF2R,F2G,F2Bにおける補正の度合いは大きくなる。本実施形態では、トーンカーブF2R,F2G,F2BをまとめてCB補正曲線F2と呼ぶ。
4.補正処理
逆光補正曲線F1とCB補正曲線F2とが生成されたら、S800では、逆光補正部26が画像データDの暗部に対する逆光補正を行い、S900では、CB補正部27が画像データD全体のカラーバランス補正を行う。ただしS600〜S900の順序は図2に示した順序に限られず、逆光補正曲線F1の生成(S600)後に、逆光補正を行い(S800)、CB補正曲線F2の生成(S700)後に、カラーバランス補正を行なう(S900)としてもよい。
逆光補正曲線F1とCB補正曲線F2とが生成されたら、S800では、逆光補正部26が画像データDの暗部に対する逆光補正を行い、S900では、CB補正部27が画像データD全体のカラーバランス補正を行う。ただしS600〜S900の順序は図2に示した順序に限られず、逆光補正曲線F1の生成(S600)後に、逆光補正を行い(S800)、CB補正曲線F2の生成(S700)後に、カラーバランス補正を行なう(S900)としてもよい。
図13は、S800における処理の詳細をフローチャートにより示している。
逆光補正部26は、S810〜S830において、画像データDの暗部の範囲を定義するための色域(暗部色域Jと呼ぶ。)を、所定の表色系において生成する。本実施形態では、RGBの3軸が互いに直行するRGB表色系におけるグレー軸方向を向く略楕円状の色立体を暗部色域Jとして生成する。
図14は、逆光補正部26が生成した暗部色域Jの一例を示している。以下、暗部色域Jの生成手順について説明する。S810では、逆光補正部26は、RGB表色系のグレー軸に一つの軸が一致するxyz座標系を、暗部色域Jを定義するための座標系として設定する。
逆光補正部26は、S810〜S830において、画像データDの暗部の範囲を定義するための色域(暗部色域Jと呼ぶ。)を、所定の表色系において生成する。本実施形態では、RGBの3軸が互いに直行するRGB表色系におけるグレー軸方向を向く略楕円状の色立体を暗部色域Jとして生成する。
図14は、逆光補正部26が生成した暗部色域Jの一例を示している。以下、暗部色域Jの生成手順について説明する。S810では、逆光補正部26は、RGB表色系のグレー軸に一つの軸が一致するxyz座標系を、暗部色域Jを定義するための座標系として設定する。
具体的には、逆光補正部26は、原点0がRGB表色系の原点0と一致し、x軸がR軸に、y軸がG軸に、z軸がB軸にそれぞれ一致するxyz座標系を設定する。次に、逆光補正部26は、当該xyz座標系を、R軸からG軸へ向かう方向へz軸を中心にして45度回転させ、更にその後、x軸がRGB表色系のグレー軸と一致するように、xyz座標系をy軸を中心にして回転させる。この結果、x軸がRGB表色系のグレー軸と一致したxyz座標系が設定される。図14では、このように設定されたxyz座標系とRGB表色系との関係も示している。
S820では、逆光補正部26は、xyz座標系における暗部色域Jの中心点OJの位置および暗部色域Jのxyz各方向における長さを設定する。
S820では、逆光補正部26は、xyz座標系における暗部色域Jの中心点OJの位置および暗部色域Jのxyz各方向における長さを設定する。
図15は、暗部色域Jのxz平面と平行な断面であって、暗部色域Jのx方向およびz方向における長さがいずれも最大となる断面を例示している。
図16は、暗部色域Jのyz平面と平行な断面(x軸に対して垂直な断面)であって、暗部色域Jのy方向およびz方向における長さがいずれも最大となる断面を例示している。逆光補正部26は、xzy座標系の原点0からx軸プラス側への中心点OJのずれ量xoff、当該原点0からy軸プラス側への中心点OJのずれ量yoff、中心点OJからx軸プラス側への長さAt、中心点OJからx軸マイナス側への長さAb、中心点OJからy軸プラス側への長さBt、中心点OJからy軸マイナス側への長さBb、中心点OJからz軸プラス側への長さCtおよび中心点OJからz軸マイナス側への長さCbをそれぞれ設定する。
図16は、暗部色域Jのyz平面と平行な断面(x軸に対して垂直な断面)であって、暗部色域Jのy方向およびz方向における長さがいずれも最大となる断面を例示している。逆光補正部26は、xzy座標系の原点0からx軸プラス側への中心点OJのずれ量xoff、当該原点0からy軸プラス側への中心点OJのずれ量yoff、中心点OJからx軸プラス側への長さAt、中心点OJからx軸マイナス側への長さAb、中心点OJからy軸プラス側への長さBt、中心点OJからy軸マイナス側への長さBb、中心点OJからz軸プラス側への長さCtおよび中心点OJからz軸マイナス側への長さCbをそれぞれ設定する。
本実施形態では、逆光補正部26は、ずれ量xoff,yoffをいずれも0に設定する。従って、中心点OJはxyz座標系の原点(RGB表色系の原点)と一致する。なお、図15,16および後述の図17では、ずれ量xoff,yoffがいずれも0でない場合を例示している。また本実施形態では、上記長さAb,Bt,Bb,Ct,Cbについても、それぞれの固定長が内部メモリ12等の所定の記憶領域に情報として定められており、逆光補正部26は、このような予め定められている各固定長を上記長さAb,Bt,Bb,Ct,Cbとして設定する。本実施形態ではBt=Bb、Ct=Cbである。ただし、中心点OJからx軸プラス側への長さAtは予め定められていない。長さAtは、暗部色域Jのグレー軸方向における上限(暗部色域Jの明るさの上限)を定義する値である。そのため本実施形態では、長さAtについては固定値とせず、逆光補正部26が画像データDの状態に応じて設定する。
図17は、逆光補正部26が行う上記長さAtの設定手順を説明するための図である。図17では、上段において、暗部色域Jのxz平面と平行な断面であって暗部色域Jのx方向およびz方向における長さが最大となる断面を例示し、下段において、画像データDの全範囲を対象として所定の抽出率に基づいてサンプリングされた画素から得られる輝度分布を示している。なお、逆光補正部26はS820において、当該輝度分布を生成してもよいし、上述したS310において代表色算出部22によって画像データDの輝度分布が生成済みであれば、代表色算出部22が生成した輝度分布を取得してもよい。
上記長さAtの設定手順においては、まず逆光補正部26は、x軸(グレー軸)上に、初期上限ポイントXt0を設定する。初期上限ポイントXt0は、逆光補正曲線F1による出力階調値の変化率が低い所定の入力階調範囲に該当する階調値に対応するポイントである。図8に示したように、逆光補正曲線F1における出力階調値の変化率(傾き)は、直線F0による変化率と比較して、概略的には入力階調値x1を含む入力階調値0〜x2の範囲で大きく、入力階調値x2〜x3までの範囲においては逆に低く、入力階調値x3以降において直線F0とほぼ同等となる。よって、逆光補正曲線F1による出力階調値の変化率が低い入力階調範囲には、入力階調範囲x2〜x3が相当する。そこで、逆光補正部26は、入力階調範囲x2〜x3に該当するある階調値、特に入力階調値x3近傍の階調値に相当するグレー軸上の位置を初期上限ポイントXt0とする。
より具体的には、逆光補正部26は、以下の所定の関数に従って初期上限ポイントXt0を特定する。
Xt0=f6(x1,g´)・√3 …(11)
上述したように入力階調値x3は、入力階調値x1および補正量g´によって決まる値であるため、初期上限ポイントXt0も、入力階調値x1および補正量g´をパラメータとする上記関数f6(x1,g´)に従って特定する。関数f6は予め実験等によって決められた関数であり、例えば内部メモリ12に保存されている。
√3は、3の平方根を意味する。f6(x1,g´)に√3を乗じるのは、f6(x1,g´)がとり得るレンジとグレー軸のレンジとの整合を図るためである。なお、逆光補正部26は、上記入力階調値x3に√3を乗じた値をXt0としてもよい。
Xt0=f6(x1,g´)・√3 …(11)
上述したように入力階調値x3は、入力階調値x1および補正量g´によって決まる値であるため、初期上限ポイントXt0も、入力階調値x1および補正量g´をパラメータとする上記関数f6(x1,g´)に従って特定する。関数f6は予め実験等によって決められた関数であり、例えば内部メモリ12に保存されている。
√3は、3の平方根を意味する。f6(x1,g´)に√3を乗じるのは、f6(x1,g´)がとり得るレンジとグレー軸のレンジとの整合を図るためである。なお、逆光補正部26は、上記入力階調値x3に√3を乗じた値をXt0としてもよい。
初期上限ポイントXt0をグレー軸上に設定したら(図17の上段参照。)、次に、逆光補正部26は、初期上限ポイントXt0を輝度分布の階調値に正規化し、正規化した後の階調値を初期上限階調値Xt0´とする。つまり、グレー軸のレンジは輝度分布のレンジ(0〜255)の√3倍であるため、逆光補正部26は、初期上限ポイントXt0に(1/√3)を乗じることにより、初期上限階調値Xt0´を取得する。図17の下段では、輝度分布の階調範囲内に初期上限階調値Xt0´を記している。
次に、逆光補正部26は輝度分布における谷を特定する。つまり逆光補正部26は、輝度分布における極小値を見つけ、極小値に対応する階調値(輝度)を特定する。図17に示した輝度分布では、3つの谷が存在する場合を例示しており、それぞれの谷に対応する階調値を階調値Yv1,Yv2,Yv3と表している。上述したように逆光画像においては、低階調側と高階調側とに輝度の分布が集中しその間に分布の谷が生じる傾向があるが、生じる谷の数は1つとは限らない。そこで、逆光補正部26は、輝度分布において生じた谷を上記のように一旦全て特定する。
次に、逆光補正部26は輝度分布における谷を特定する。つまり逆光補正部26は、輝度分布における極小値を見つけ、極小値に対応する階調値(輝度)を特定する。図17に示した輝度分布では、3つの谷が存在する場合を例示しており、それぞれの谷に対応する階調値を階調値Yv1,Yv2,Yv3と表している。上述したように逆光画像においては、低階調側と高階調側とに輝度の分布が集中しその間に分布の谷が生じる傾向があるが、生じる谷の数は1つとは限らない。そこで、逆光補正部26は、輝度分布において生じた谷を上記のように一旦全て特定する。
逆光補正部26は、初期上限階調値Xt0´よりも低階調側の谷に対応する階調値のうち、初期上限階調値Xt0´に最も近い階調値を特定する。そして、初期上限階調値Xt0´を、当該特定した階調値に変更する。図17の例では、輝度分布の谷に対応する階調値Yv1,Yv2,Yv3のうち、階調値Yv1,Yv2が初期上限階調値Xt0´より低階調側に在り、そのうち階調値Yv2が初期上限階調値Xt0´に最も近い。そのため、初期上限階調値Xt0´を階調値Yv2に変更する。ただし逆光補正部26は、初期上限階調値Xt0´と初期上限階調値Xt0´よりも低階調側で最も近い谷の階調値との差分が、予め定められたしきい値を超える場合には、初期上限階調値Xt0´の変更を行なわない。これは、暗部色域Jの明るさの上限が低くなり過ぎないようにするためである。
次に、逆光補正部26は、上記変更後の階調値(階調値Yv2)に√3を乗じた値を、グレー軸上に設定する。本実施形態では、上記変更後の階調値に√3を乗じた値を、上限ポイントXt1と表す(図17の上段参照。)。そして、逆光補正部26は、x軸方向における中心点OJと上限ポイントXt1との距離を、長さAtとして設定する。なお、初期上限階調値Xt0´の変更を行なわなかった場合には、逆光補正部26は、x軸方向における中心点OJと初期上限ポイントXt0との距離を長さAtとする。
S830では、逆光補正部26は、S820で設定した中心点OJの位置およびxyz各方向における各長さに基づいて、暗部色域Jをxyz座標系内に生成する。つまり逆光補正部26は、中心点OJを基準としてx軸プラス側へ長さAtを有しx軸マイナス側へ長さAbを有しz軸プラス側へ長さCtを有しz軸マイナス側へ長さCbを有する、xz平面と平行なxz断面と、中心点OJを基準としてy軸プラス側へ長さBtを有しy軸マイナス側へ長さBbを有しz軸プラス側へ長さCtを有しz軸マイナス側へ長さCbを有する、yz平面と平行なyz断面と、を含む略楕円状(略卵型)の立体を生成し、これを暗部色域Jとする。当該xz断面は、暗部色域Jのxz平面と平行な断面のうち面積が最大となる断面であり、当該yz断面は、暗部色域Jのyz平面と平行な断面のうち面積が最大となる断面である。
S840以降では、逆光補正部26は、画像データDの画素のうち暗部色域Jに属する画素に対してのみ、逆光補正を行なう。つまりS840では、逆光補正部26は、画像データDを構成する画素のうち一つの画素を選択し、S850では、直近のS840で選択した画素のRGBデータが、暗部色域Jに属するか否か判定する。
逆光補正部26は、S850において画素のRGBデータが暗部色域Jに属すると判定した場合にはS860に進み、一方、画素のRGBデータが暗部色域Jに属さないと判定した場合にはS860をスキップしてS870に進む。
逆光補正部26は、S850において画素のRGBデータが暗部色域Jに属すると判定した場合にはS860に進み、一方、画素のRGBデータが暗部色域Jに属さないと判定した場合にはS860をスキップしてS870に進む。
S860では、逆光補正部26は、直近のS840で選択した画素を逆光補正曲線F1を用いて補正する。具体的には、画素のRGB毎の階調値をそれぞれ逆光補正曲線F1に入力して補正する。S860における逆光補正曲線F1による補正後のRGBを、R´G´B´と表す。
なおS860においては、逆光補正部26は、暗部色域Jのグレー軸方向を向く中心軸と、そのとき補正対象とした画素との距離に応じて、画素に対する補正の度合いを変更するとしてもよい。
なおS860においては、逆光補正部26は、暗部色域Jのグレー軸方向を向く中心軸と、そのとき補正対象とした画素との距離に応じて、画素に対する補正の度合いを変更するとしてもよい。
図18は、暗部色域Jのグレー軸方向を向く中心軸に対して垂直な面における暗部色域Jの断面と、各逆光補正曲線との対応関係を例示している。逆光補正部26は図18に示すように、暗部色域Jの中心軸からの距離に応じて、暗部色域J内の領域を複数の領域J1,J2,J3…に分ける。上述したように、本実施形態では、暗部色域Jの中心点OJのy軸方向へのずれ量yoffは0であるため、暗部色域Jの中心軸とグレー軸とは一致している。逆光補正部26は、中心軸から遠い領域に対応する補正曲線ほど補正の度合いが弱くなるように、各領域J1,J2,J3…に対応する複数の逆光補正曲線F11,F12,F13…を生成する。具体的には、中心軸に最も近い領域(中心軸を含む領域J1)には、S600で生成された逆光補正曲線F1そのものを対応付ける(つまり、逆光補正曲線F1=逆光補正曲線F11である。)。また、中心軸から遠ざかる各領域J2,J3…に対しては、逆光補正曲線F1の形状を基礎として曲線の湾曲度合いを徐々に緩くした逆光補正曲線F12,F13…を生成し、対応付ける。S860では、逆光補正部26は、補正対象の画素が属する領域(領域J1,J2,J3…のいずれか)に対応する逆光補正曲線を用いて画素の補正を行う。
このように暗部領域Jの中心軸からの距離に応じて徐々に逆光補正の度合いを弱めることにより、逆光補正を行なった際に画像データDの暗部色域Jに属する色と暗部色域Jに属さない色との間で階調性の欠損(階調つぶれ)が生じることを、的確に防止することができる。S870では、逆光補正部26は、画像データDに属する画素の全てをS840において一度ずつ選択し終えたか否か判定し、全ての画素を選択済みであれば図13の処理を終える。一方、画像データDに属する画素であってS840におい未選択の画素が存在している場合には、S840に戻り、未選択の画素を一つ選択しS850以降の処理を繰り返す。
このように本実施形態では、画像データDを構成する画素のうち、色が暗部色域Jに属する画素だけが逆光補正曲線F1によって補正される。特に、画像データDの輝度分布における谷に対応するグレー軸上の位置を、暗部色域Jのグレー軸方向における上限としている。そのため、逆光画像である画像データD内の暗部に該当する画素だけを確実に逆光補正の対象とし、逆行補正が不要な明るい部分まで逆光補正の対象としてしまうことを防止している。また本実施形態では、輝度分布における谷であって、逆光補正曲線F1による出力階調値の変化率が低い入力階調範囲に該当する階調値(初期上限階調値Xt0´)よりも低階調側の谷に対応するグレー軸上の位置を、暗部色域Jのグレー軸方向における上限としている。そのため、逆光補正曲線F1を構成する曲線区間のうち、出力階調値の変化率が低い曲線区間(例えば、調整ポイントP2から収束ポイントP3までの区間)は、実質的に殆ど逆光補正に用いられない。その結果、逆光補正曲線F1によって補正を施した部分の階調性が損なわれる(コントラストが低下する)ことを極力防止することができる。
S900では、CB補正部27が、S800において暗部に逆光補正が施された後の画像データDを対象として、CB補正曲線F2を用いて補正を行う。CB補正部27は、画像データDを構成する全画素のRGB(逆光補正がなされた画素についてはR´G´B´)の階調値を、トーンカーブF2R,F2G,F2Bに入力することにより、各画素の各要素色を個別に補正する。この結果、画像データD全体のカラーバランスが整えられ、画像データDにおけるRGB間の分布特性のばらつきが小さくなる。また、顔画像の肌部分の色も理想的な肌色に極めて近くなる。当該補正が終了したら、画像処理部20は図2のフローチャートを終える。以後、画像処理部20は、画像データDに対してさらなる他の画像処理を施しても良いし、画像データDを印刷制御部40に受け渡してもよい。
5.変形例
本実施形態の内容は上述したものに限られず、以下に示す様々な変形例を採用することができる。
WB補正部28は、上述した逆光補正およびカラーバランス補正が行なわれる前に、画像データDに対してホワイトバランス補正を行うとしてもよい。例えば、WB補正部28は、S100の後であってS200の前にホワイトバランス補正を行う。ホワイトバランス補正とは、画像データDにおけるRGBの最大値間のばらつきを抑制するように画像データDの各画素を補正する処理を言う。WB補正部28は、まず、画像データDから画素をサンプリングし、サンプリングした画素のRGB毎の度数分布(ヒストグラム)を生成する。
本実施形態の内容は上述したものに限られず、以下に示す様々な変形例を採用することができる。
WB補正部28は、上述した逆光補正およびカラーバランス補正が行なわれる前に、画像データDに対してホワイトバランス補正を行うとしてもよい。例えば、WB補正部28は、S100の後であってS200の前にホワイトバランス補正を行う。ホワイトバランス補正とは、画像データDにおけるRGBの最大値間のばらつきを抑制するように画像データDの各画素を補正する処理を言う。WB補正部28は、まず、画像データDから画素をサンプリングし、サンプリングした画素のRGB毎の度数分布(ヒストグラム)を生成する。
図19A,19B,19Cは、WB補正部28が生成したRGB毎のヒストグラムを例示している。WB補正部28は、各ヒストグラムの最大値Rmax,Gmax,Bmaxのうち、一つの値(例えば、Gmaxとする。)を選択し、当該選択した最大値Gmaxに対する他の要素色の最大値Rmax,Bmaxの差分ΔGR=Gmax−Rmax,ΔGB=Gmax−Bmaxをそれぞれ算出する。そして、WB補正部28は、差分ΔGRをオフセット量としてRが最大値Rmaxである画素のRに加算するとともに、Rが最大値Rmaxでない他の画素のRに対し、Rのレベルに応じたオフセット量(例えば、Rのレベルに応じて0〜1の係数を差分ΔGRに乗算して得られるオフセット量)を加算する。同様に、WB補正部28は、差分ΔGBをオフセット量としてBが最大値Bmaxである画素のBに加算するとともに、Bが最大値Bmaxでない他の画素のBに対し、Bのレベルに応じたオフセット量(例えば、Bのレベルに応じて0〜1の係数を差分ΔGBに乗算して得られるオフセット量)を加算する。
このような加算処理を行なうことで、少なくとも画像データDを構成するRGBの最大値間のばらつきが是正される(ホワイトバランスが整えられる)。なお、WB補正部28によるホワイトバランス補正の具体的手法は上述した手法に限られない。逆光補正に用いる逆行補正曲線F1は、図8に示したように一部の階調範囲だけを上昇させる特殊な変換特性を有しており、入力画像に対して大きな変化を生じさせる。そのため、元々ホワイトバランスが崩れているような入力画像に対してそのまま逆光補正を行ってしまうと、結果的にホワイトバランスの崩れが拡大されて画像の色が破綻してしまう恐れもある。そこで、逆光補正部26による逆光補正の前に、WB補正部28が入力画像に対してホワイトバランス補正を行って画像のホワイトバランスを整えることにより、逆光補正の結果において画像の色が破綻することを防止している。
上記では、逆光補正曲線取得部24はS600において、輝度Yfや輝度差Ydに基づいて補正量g´を算出するとともに、3つのポイントP1,P2,P3を求めることにより逆光補正曲線F1を生成するとした。しかし他の例として、逆光補正曲線取得部24はS600において、形状が異なる予め生成された複数の逆光補正曲線F1の中から、輝度Yfや輝度差Ydに基づいて一つの補正曲線を選択するとしてもよい。例えば、内部メモリ12に、補正の度合いが異なる複数の逆光補正曲線F1が予め保存されているものとする。そして、逆光補正曲線取得部24は、入力画像から得た輝度差Ydの大きさに基づいて、当該輝度差Ydを解消するために最適な補正度合いの逆光補正曲線F1を一つ選択する。S800では、S600で選択された逆光補正曲線F1が使用される。かかる構成とすれば、複雑な演算を行なうことなく極めて簡易に逆光補正曲線F1を取得することができる。
上記では、暗部色域Jを定義するパラメータのうち、ずれ量xoff,yoffおよび長さAb,Bt,Bb,Ct,Cbについては固定値であるとしたが、これらパラメータについて、画像データDの状態等に応じて適宜、その値を変更してもよい。また、顔画像が暗い状態の逆光画像を補正するという視点に立てば、暗部色域Jは肌色を多く含む色域であると有効である。そこで、中心点OJのy軸プラス側へのずれ量yoffは、所定の負値であるとしてもよい。ずれ量yoffが所定の負値であると、暗部色域Jは、上述したように中心軸がグレー軸と一致している場合と比較して、RGB表色系における肌色系統の色を多く含むようになる。その結果、暗部色域Jに基づいて逆光補正の対象画素を限定すれば、画像データD内の暗い画素であってかつ顔画像の肌部分に対応した画素を精度良く逆光補正の対象とすることができる。
6.まとめ
このように本実施形態によれば、プリンタ10は、画像データDから検出した顔領域SAの明るさ(顔領域SAから算出した肌代表色の明るさ)と背景領域の明るさとの差(輝度差Yd)や、顔領域SAの明るさに基づいて補正量を決定した逆光補正曲線F1を生成する。そして、プリンタ10は、画像データDを構成する画素のうち、画像データDの輝度分布の谷の位置に応じて明るさの上限が規定された暗部色域Jに属する画素だけを、逆光補正曲線F1によって補正する。そのため、画像データD内の暗部だけが上記輝度差Ydや肌代表色の明るさを考慮した最適な補正度合いにて明るさが補正され、画像データD内の暗部に該当しない画素の色は白飛びすることなくその色味が維持される。
このように本実施形態によれば、プリンタ10は、画像データDから検出した顔領域SAの明るさ(顔領域SAから算出した肌代表色の明るさ)と背景領域の明るさとの差(輝度差Yd)や、顔領域SAの明るさに基づいて補正量を決定した逆光補正曲線F1を生成する。そして、プリンタ10は、画像データDを構成する画素のうち、画像データDの輝度分布の谷の位置に応じて明るさの上限が規定された暗部色域Jに属する画素だけを、逆光補正曲線F1によって補正する。そのため、画像データD内の暗部だけが上記輝度差Ydや肌代表色の明るさを考慮した最適な補正度合いにて明るさが補正され、画像データD内の暗部に該当しない画素の色は白飛びすることなくその色味が維持される。
さらにプリンタ10は、肌代表色の各要素色を逆光補正曲線F1によって補正するとともに、当該補正後の肌代表色の各要素色に基づいて、要素色毎のCB補正曲線F2を生成する。そしてプリンタ10は、上記のように画像データDの暗部を逆光補正曲線F1で補正した後に、画像データDの全画素を対象としてCB補正曲線F2を用いて要素色毎の補正を行う。つまり、逆光補正曲線F1による逆光補正だけでは、画像データDの要素色間のバランスがばらついている可能性もあるが、さらにCB補正曲線F2によるカラーバランス補正を行うことにより、暗部の明度不足が解消され且つカラーバランスが整えられた極めて理想的な画像を得ることができる。CB補正曲線F2は、逆光補正曲線F1によって補正した肌代表色と肌色の理想値として予め定められた基準値との比較に基づいて生成されるため、逆光補正後のカラーバランス補正が過剰な補正となることはない。このような逆光補正とカラーバランス補正との組み合わせは、画像領域内に顔画像を含む逆光画像に対して特に有効である。
なお、逆光補正とカラーバランス補正とを行なう順番も重要である。つまり、入力画像に対して逆光補正よりも先にカラーバランス補正を実行すると、補正の度合いが大きいために画像の明るい部分が白飛びする恐れがあり、かかる白飛びは修正されないままとなってしまう。また、カラーバランス補正後に逆光補正を行うと、カラーバランス補正によって整えられた顔画像などの色のバランスが、逆光補正によって再び崩れてしまうことも考えられる。従って、高い画質の画像を得るためには、本実施形態のように逆光補正を行なった上でカラーバランス補正を行う必要がある。
本実施形態では、特定画像は顔画像であるとして説明を行なったが、本発明の構成を用いて検出可能な特定画像は顔画像に限られない。つまり本発明では、人工物や、生物や、自然物や、風景など、様々な対象を特定画像として検出することが可能であり、算出される代表色も、そのとき検出の対象としている特定画像を代表する色となる。
本実施形態では、特定画像は顔画像であるとして説明を行なったが、本発明の構成を用いて検出可能な特定画像は顔画像に限られない。つまり本発明では、人工物や、生物や、自然物や、風景など、様々な対象を特定画像として検出することが可能であり、算出される代表色も、そのとき検出の対象としている特定画像を代表する色となる。
10…プリンタ、11…CPU、12…内部メモリ、12a…肌色域定義情報、12b…顔テンプレート、12c…記憶色域定義情報、16…プリンタエンジン、17…カードI/F、20…画像処理部、21…顔画像検出部、22…代表色算出部、23…差取得部、24…逆光補正曲線取得部、25…CB補正曲線取得部、26…逆光補正部、27…CB補正部、28…WB補正部、30…表示制御部、40…印刷制御部、172…カードスロット
Claims (15)
- 入力画像内における特定画像の少なくとも一部を含む領域を検出する特定画像検出部と、
上記特定画像検出部によって検出された領域に属する画素に基づいて上記特定画像を代表する代表色を算出する代表色算出部と、
上記代表色の明るさに基づいて階調補正のための第一補正曲線を取得する第一補正曲線取得部と、
上記代表色を上記第一補正曲線によって補正し、補正後の代表色を構成する要素色毎の階調値に基づいて要素色毎の階調補正のための第二補正曲線を取得する第二補正曲線取得部と、
上記入力画像を構成する画素のうち暗部を定義した色域に属する画素の階調値を上記第一補正曲線を用いて補正する第一補正部と、
上記入力画像を構成する画素の要素色毎の階調値を上記第二補正曲線を用いて補正する第二補正部とを備えることを特徴とする画像処理装置。 - 上記第二補正部は、上記第一補正部によって補正された画素を含む入力画像の全画素を対象として各画素の要素色毎の階調値を上記第二補正曲線を用いて補正することを特徴とする請求項1に記載の画像処理装置。
- 上記第一補正部および第二補正部による補正がされる前の入力画像における要素色毎の最大値を求めるとともに、当該最大値間のばらつきを抑制するように上記第一補正部および第二補正部による補正がされる前の入力画像の各要素色に対して補正を行う事前補正部を備えることを特徴とする請求項1または請求項2に記載の画像処理装置。
- 上記第二補正曲線取得部は、上記補正後の代表色を構成する要素色毎の階調値と所定の基準値との差をそれぞれ算出し、当該算出した要素色毎の差に応じて要素色毎の第二補正曲線を生成することを特徴とする請求項1〜請求項3のいずれかに記載の画像処理装置。
- 上記第一補正曲線取得部は、低階調域における曲線の一部を上記代表色の明るさと入力画像内における背景領域の明るさとの差に基づいて上側にシフトさせることにより、当該低階調域において上側に凸状のカーブを描き中間階調域において入力階調値と出力階調値とが等しい関係にある直線に対して接近しかつ中間階調域から高階調域にかけて当該直線に対して収束していく形状の第一補正曲線を生成することを特徴とする請求項1〜請求項4のいずれかに記載の画像処理装置。
- 上記第一補正曲線取得部は、上記代表色の明るさと背景領域の明るさとの差が大きいほど曲線をシフトさせる度合いを高めることを特徴とする請求項5に記載の画像処理装置。
- 上記第一補正曲線取得部は、上記代表色の明るさが低いほど上記曲線をシフトさせる度合いを高めることを特徴とする請求項5または請求項6に記載の画像処理装置。
- 上記第一補正部は、上記入力画像の輝度分布を取得し、当該輝度分布における谷に相当する階調値を特定し、所定の表色系のグレー軸上における当該特定した階調値に対応する位置を特定し、グレー軸方向における上限が当該特定したグレー軸上の位置である色域を上記表色系において定義することを特徴とする請求項1〜請求項7のいずれかに記載の画像処理装置。
- 上記第一補正部は、上記輝度分布における谷であって上記第一補正曲線による出力階調値の変化率が低い所定の入力階調範囲に該当する所定の階調値よりも低階調側に存在する谷に相当する階調値を特定することを特徴とする請求項8に記載の画像処理装置。
- 上記第一補正部は、上記色域のグレー軸方向を向く中心軸と補正対象の画素との距離に応じて画素に対する補正の度合いを変更することを特徴とする請求項8または請求項9に記載の画像処理装置。
- 上記代表色算出部は、上記特定画像検出部によって検出された領域に属する画素であって上記特定画像に対応する色域として所定の表色系において設定された色域に属する画素の要素色毎の平均値からなる色を代表色として算出することを特徴とする請求項1〜請求項10のいずれかに記載の画像処理装置。
- 上記特定画像検出部は、入力画像内における顔画像の少なくとも一部を含む領域を検出することを特徴とする請求項1〜請求項11のいずれかに記載の画像処理装置。
- 入力画像内における特定画像の少なくとも一部を含む領域を検出する特定画像検出工程と、
上記特定画像検出工程において検出された領域に属する画素に基づいて上記特定画像を代表する代表色を算出する代表色算出工程と、
上記代表色の明るさに基づいて階調補正のための第一補正曲線を取得する第一補正曲線取得工程と、
上記代表色を上記第一補正曲線によって補正し、補正後の代表色を構成する要素色毎の階調値に基づいて要素色毎の階調補正のための第二補正曲線を取得する第二補正曲線取得工程と、
上記入力画像を構成する画素のうち暗部を定義した色域に属する画素の階調値を上記第一補正曲線を用いて補正する第一補正工程と、
上記入力画像を構成する画素の要素色毎の階調値を上記第二補正曲線を用いて補正する第二補正工程とを備えることを特徴とする画像処理方法。 - 入力画像内における特定画像の少なくとも一部を含む領域を検出する特定画像検出機能と、
上記特定画像検出機能によって検出された領域に属する画素に基づいて上記特定画像を代表する代表色を算出する代表色算出機能と、
上記代表色の明るさに基づいて階調補正のための第一補正曲線を取得する第一補正曲線取得機能と、
上記代表色を上記第一補正曲線によって補正し、補正後の代表色を構成する要素色毎の階調値に基づいて要素色毎の階調補正のための第二補正曲線を取得する第二補正曲線取得機能と、
上記入力画像を構成する画素のうち暗部を定義した色域に属する画素の階調値を上記第一補正曲線を用いて補正する第一補正機能と、
上記入力画像を構成する画素の要素色毎の階調値を上記第二補正曲線を用いて補正する第二補正機能とをコンピュータに実行させることを特徴とする画像処理プログラム。 - 入力画像内における特定画像の少なくとも一部を含む領域を検出する特定画像検出部と、
上記特定画像検出部によって検出された領域に属する画素に基づいて上記特定画像を代表する代表色を算出する代表色算出部と、
上記代表色の明るさに基づいて階調補正のための第一補正曲線を取得する第一補正曲線取得部と、
上記代表色を上記第一補正曲線によって補正し、補正後の代表色を構成する要素色毎の階調値に基づいて要素色毎の階調補正のための第二補正曲線を取得する第二補正曲線取得部と、
上記入力画像を構成する画素のうち暗部を定義した色域に属する画素の階調値を上記第一補正曲線を用いて補正する第一補正部と、
上記入力画像を構成する画素の要素色毎の階調値を上記第二補正曲線を用いて補正する第二補正部とを備えることを特徴とする印刷装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008142349A JP2009290660A (ja) | 2008-05-30 | 2008-05-30 | 画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置 |
| CNA2009101452128A CN101594453A (zh) | 2008-05-30 | 2009-05-27 | 图像处理装置、图像处理方法、图像处理程序及打印装置 |
| US12/474,636 US8310726B2 (en) | 2008-05-30 | 2009-05-29 | Image processing apparatus, image processing method, image processing program, and printing apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008142349A JP2009290660A (ja) | 2008-05-30 | 2008-05-30 | 画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2009290660A true JP2009290660A (ja) | 2009-12-10 |
Family
ID=41408872
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008142349A Withdrawn JP2009290660A (ja) | 2008-05-30 | 2008-05-30 | 画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8310726B2 (ja) |
| JP (1) | JP2009290660A (ja) |
| CN (1) | CN101594453A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8908990B2 (en) | 2011-05-25 | 2014-12-09 | Fuji Xerox Co., Ltd. | Image processing apparatus, image processing method, and computer readable medium for correcting a luminance value of a pixel for reducing image fog |
| US8958637B2 (en) | 2011-05-27 | 2015-02-17 | Fuji Xerox Co., Ltd. | Image processing apparatus, image processing method, and computer readable medium |
| KR101854432B1 (ko) | 2011-06-23 | 2018-05-03 | 삼성전자주식회사 | 역광 프레임을 검출하고, 보정하는 방법 및 장치 |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4780104B2 (ja) * | 2005-06-03 | 2011-09-28 | 株式会社ニコン | 画像処理装置、画像処理方法、画像処理プログラム製品、および撮像装置 |
| JP2011198128A (ja) * | 2010-03-19 | 2011-10-06 | Seiko Epson Corp | 画像処理方法、画像処理装置、および画像処理プログラム |
| JP5669599B2 (ja) * | 2010-05-14 | 2015-02-12 | キヤノン株式会社 | 画像処理装置及びその制御方法 |
| JP5624809B2 (ja) * | 2010-06-24 | 2014-11-12 | 株式会社 日立産業制御ソリューションズ | 画像信号処理装置 |
| JP4760999B1 (ja) * | 2010-10-29 | 2011-08-31 | オムロン株式会社 | 画像処理装置、画像処理方法、および制御プログラム |
| JP4862955B1 (ja) * | 2010-10-29 | 2012-01-25 | オムロン株式会社 | 画像処理装置、画像処理方法、および制御プログラム |
| US20120262503A1 (en) * | 2011-03-18 | 2012-10-18 | Hsin-Nan Lin | Monitor and method of displaying pixels on displaying device |
| JP5273208B2 (ja) * | 2011-06-07 | 2013-08-28 | オムロン株式会社 | 画像処理装置、画像処理方法、および制御プログラム |
| DE102012205427A1 (de) * | 2012-04-03 | 2013-10-10 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Reduzieren eines gegenseitigen Beeinflussens von Bildpunkten einer Bildpunktgruppe |
| TWI532384B (zh) * | 2013-12-02 | 2016-05-01 | 矽創電子股份有限公司 | 色彩調整裝置與色彩調整方法 |
| JP6248755B2 (ja) * | 2014-03-28 | 2017-12-20 | ブラザー工業株式会社 | 画像処理装置、および、コンピュータプログラム |
| JP6423625B2 (ja) | 2014-06-18 | 2018-11-14 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
| EP3185207A4 (en) * | 2014-08-22 | 2018-09-19 | Olympus Corporation | Image processing device, image processing method, and image processing program |
| KR20160059240A (ko) * | 2014-11-18 | 2016-05-26 | 삼성전자주식회사 | 색 재현 영역을 표시하는 방법 및 장치 |
| US10845245B2 (en) * | 2016-04-20 | 2020-11-24 | Leica Biosystems Imaging, Inc. | Digital pathology color calibration and validation |
| EP3459043A4 (en) * | 2016-06-21 | 2019-04-24 | Zhejiang Dahua Technology Co., Ltd | SYSTEMS AND METHOD FOR IMAGE PROCESSING |
| CN106803920B (zh) * | 2017-03-17 | 2020-07-10 | 广州视源电子科技股份有限公司 | 一种图像处理的方法、装置及智能会议终端 |
| JP2019061484A (ja) * | 2017-09-26 | 2019-04-18 | キヤノン株式会社 | 画像処理装置及びその制御方法及びプログラム |
| JP2019106588A (ja) * | 2017-12-11 | 2019-06-27 | ソニーセミコンダクタソリューションズ株式会社 | 画像処理装置、画像処理方法及び撮像装置 |
| WO2019133991A1 (en) * | 2017-12-29 | 2019-07-04 | Wu Yecheng | System and method for normalizing skin tone brightness in a portrait image |
| US11430093B2 (en) * | 2019-10-01 | 2022-08-30 | Microsoft Technology Licensing, Llc | Face-based tone curve adjustment |
| KR102673058B1 (ko) * | 2020-03-06 | 2024-06-10 | 주식회사 엘엑스세미콘 | 디스플레이 패널 구동을 위한 영상데이터를 처리하는 장치 및 방법 |
| WO2023235455A1 (en) * | 2022-06-03 | 2023-12-07 | Apple Inc. | Automatic image treatment suggestions based on color analysis |
| JP2024088389A (ja) | 2022-12-20 | 2024-07-02 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
| US20240202977A1 (en) * | 2022-12-20 | 2024-06-20 | Canon Kabushiki Kaisha | Image processing apparatus, image processing method, and non-transitory computer-readable storage medium storing program |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4374901B2 (ja) | 2003-05-16 | 2009-12-02 | セイコーエプソン株式会社 | 画像の明度補正処理 |
| US7469072B2 (en) * | 2003-07-18 | 2008-12-23 | Canon Kabushiki Kaisha | Image processing apparatus and method |
| JP4475395B2 (ja) | 2004-03-01 | 2010-06-09 | 富士ゼロックス株式会社 | 画像処理方法および画像処理装置、画像処理プログラム、記憶媒体 |
| JP3949684B2 (ja) | 2004-04-30 | 2007-07-25 | 三菱電機株式会社 | 階調補正装置、階調補正用プログラム、携帯端末機器及びパーソナルコンピュータ |
| JP4788394B2 (ja) | 2006-02-24 | 2011-10-05 | セイコーエプソン株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
| US20080187184A1 (en) * | 2007-02-01 | 2008-08-07 | Kabushiki Kaisha Toshiba | System and method for facial image enhancement |
| JP2008283573A (ja) * | 2007-05-11 | 2008-11-20 | Olympus Corp | 画像処理装置 |
-
2008
- 2008-05-30 JP JP2008142349A patent/JP2009290660A/ja not_active Withdrawn
-
2009
- 2009-05-27 CN CNA2009101452128A patent/CN101594453A/zh active Pending
- 2009-05-29 US US12/474,636 patent/US8310726B2/en not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8908990B2 (en) | 2011-05-25 | 2014-12-09 | Fuji Xerox Co., Ltd. | Image processing apparatus, image processing method, and computer readable medium for correcting a luminance value of a pixel for reducing image fog |
| US8958637B2 (en) | 2011-05-27 | 2015-02-17 | Fuji Xerox Co., Ltd. | Image processing apparatus, image processing method, and computer readable medium |
| KR101854432B1 (ko) | 2011-06-23 | 2018-05-03 | 삼성전자주식회사 | 역광 프레임을 검출하고, 보정하는 방법 및 장치 |
Also Published As
| Publication number | Publication date |
|---|---|
| US8310726B2 (en) | 2012-11-13 |
| US20100027072A1 (en) | 2010-02-04 |
| CN101594453A (zh) | 2009-12-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2009290660A (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置 | |
| JP2009290661A (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよび印刷装置 | |
| US8929681B2 (en) | Image processing apparatus and image processing method | |
| JP4725057B2 (ja) | 画質調整情報の生成および画質調整情報を用いた画質調整 | |
| JP5105209B2 (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
| US6608926B1 (en) | Image processing method, image processing apparatus and recording medium | |
| US9055263B2 (en) | Apparatus, method and computer program for correcting an image using lookup tables generated by inputted image analysis | |
| JP5235759B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
| JP4262151B2 (ja) | 画像処理方法および画像処理装置およびコンピュータプログラムおよび記憶媒体 | |
| US20080062484A1 (en) | Image processing device and image processing method | |
| JP2010003118A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
| JP2009033361A (ja) | 色調整装置、画像形成装置およびプログラム | |
| US7920752B2 (en) | Image processing device that quickly performs retinex process | |
| US20030231856A1 (en) | Image processor, host unit for image processing, image processing method, and computer products | |
| US7912308B2 (en) | Image processing device that quickly performs retinex process | |
| US8873108B2 (en) | Image processing apparatus and image processing method | |
| JP4581999B2 (ja) | 画像処理装置および画像処理方法 | |
| JP3950551B2 (ja) | 画像処理方法、装置および記録媒体 | |
| US20080100749A1 (en) | Image processing device capable of performing retinex process at high speed | |
| JP2008011286A (ja) | 画像処理プログラムおよび画像処理装置 | |
| JP2000032287A (ja) | 画像処理装置及び画像処理方法 | |
| JP3990816B2 (ja) | 画像処理方法、装置および記録媒体 | |
| JP2004112494A (ja) | 画像処理装置、画像処理方法および記録媒体 | |
| JP2000105820A (ja) | モノト―ン変換装置、モノト―ン変換方法およびモノト―ン変換プログラムを記録した媒体 | |
| JP4375223B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110405 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20120307 |