画像補正装置および方法,ならびに画像補正プログラム
【目的】 ハイライト部分の階調再現性を高める。
【構成】 ハイライト重要度が設定される。また,画像データに基づいて入力輝度値に対応する出力輝度値を規定した輝度補正値(補正関数)が算出される。ハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,輝度補正値が修正される。修正された輝度補正値は,受付られた画像データによって表される画像中に,あらかじめ定められた複数の被写体種類を表す画像がそれぞれどの程度の確からしさで含まれているかを表す確信度に基づいて,統合される。
【構成】 ハイライト重要度が設定される。また,画像データに基づいて入力輝度値に対応する出力輝度値を規定した輝度補正値(補正関数)が算出される。ハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,輝度補正値が修正される。修正された輝度補正値は,受付られた画像データによって表される画像中に,あらかじめ定められた複数の被写体種類を表す画像がそれぞれどの程度の確からしさで含まれているかを表す確信度に基づいて,統合される。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は,画像補正装置および方法,ならびに画像補正プログラムに関する。
【背景技術】
【0002】
特許文献1には,被写体像の濃度が目標濃度範囲にない場合,画像における最高濃度部の濃度および最低濃度部の濃度を略保持した状態において,被写体像の濃度が目標濃度範囲となるように階調変換することによって,処理済の画像データを得ている。
【0003】
特許文献1のものでは,画像における最高濃度部の濃度および最低濃度部の濃度を略保持しているので,被写体像の濃度が目標濃度範囲よりも小さい場合,低濃度部分(明るい部分,ハイライト部分)のコントラストが低下する。たとえば,結婚式の写真におけるウエディングドレスに含まれる細かな模様が再現できなくなるおそれがある。
【特許文献1】特開2000−196890号公報
【発明の開示】
【0004】
この発明は,ハイライト部分の階調再現性を高めることができるようにすることを目的とする。
【0005】
またこの発明は,外部から与えられる指示に応じて,ハイライト部分の階調再現性を高める程度を設定できるようにすることを目的とする。
【0006】
さらにこの発明は,被写体種類ごとに,ハイライト部分の階調再現性を高める程度を設定できるようにすることを目的とする。
【0007】
この発明では,画像の明るさを表すデータとして輝度値を用いる。輝度値は,濃度値に一意に変換することができるので,この発明において,輝度値は濃度値と読み替えることもできる。視覚的に言えば,高輝度値の画像(画素)は明るく,低輝度値の画像(画素)は暗い。高濃度値の画像(画素)は暗く,低濃度値の画像(画素)は明るい。
【0008】
この発明による画像補正装置は,あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定するハイライト重要度設定手段,与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出する確信度算出手段,上記ハイライト重要度設定手段によって被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出する修正輝度補正値算出手段,上記確信度算出手段によって算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,上記修正輝度補正値算出手段によって算出された被写体種類ごとの修正輝度補正値を統合した統合輝度補正値を算出する統合手段,および上記統合手段によって算出された統合輝度補正値を用いて,上記画像データを輝度補正する補正手段を備えたことを特徴とする。
【0009】
この発明による画像補正方法は,あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定し,与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出し,被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出し,算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,算出された被写体種類ごとの修正輝度補正値を統合し,統合された統合輝度補正値を用いて,上記画像データを輝度補正することを特徴とする。
【0010】
この発明は,上述の画像補正方法をコンピュータに実行させるプログラム(コンピュータを,上述の画像補正装置として機能させるプログラム)を提供している。この発明によるプログラムは,コンピュータに,あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定するハイライト重要度設定処理,与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出する確信度算出処理,上記ハイライト重要度設定処理によって被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出する修正輝度補正値算出処理,上記確信度算出処理によって算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,上記修正輝度補正値算出処理によって算出された被写体種類ごとの修正輝度補正値を統合した統合輝度補正値を算出する統合処理,および上記統合処理によって算出された統合輝度補正値を用いて,上記画像データを輝度補正する補正処理をコンピュータに実行させるものである。
【0011】
この発明による画像補正装置では,ハイライト重要度を設定すべき複数の被写体種類が,あらかじめ定められる。ハイライト重要度を設定すべき複数の被写体種類は,確信度を算出すべき被写体種類および輝度補正値を算出すべき複数の被写体種類と一致する。被写体種類には,画像データに基づいて識別し得る被写体の種類(撮影シーン種類と言ってもよい)であって,画像補正において異なる輝度補正を行うべき(異なる輝度補正処理を行った方が補正後の画像が適切であることが経験的に知られている)被写体の種類が,複数設定される。たとえば,複数の被写体種類として,「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」,「検出対象外」などを設定することができる。
【0012】
与えられる画像データによって表される画像中に,あらかじめ定められた複数の被写体種類を表す画像が,それぞれどの程度(確からしさ)で含まれているかを表す確信度(レベル,グレード)が,あらかじめ定められた被写体種類ごとに算出される。この確信度の算出には,与えられる画像データに,被写体種類のそれぞれに特有のスコア(特徴量から得られる数値)が,どの程度含まれているかを用いることができる。
【0013】
たとえば,被写体種類「海中」の画像(以下,海中画像という)には,当然に,いわゆる海中色(青色〜緑色の色範囲に属する色)を持つ画素が,画像中の広い範囲に含まれている。最も単純には,海中色を持つ画素が所定面積以上含まれていればその画像は海中画像であることを識別することができ,さらにその面積に応じて確信度を算出することができる。もちろん,複数種類のスコア(特徴量)を利用して,海中画像であることの確信度を算出することができるのは言うまでもない。
【0014】
ハイライト重要度は,入力装置が用いられてユーザの指示に応じて被写体種類ごとに設定される。もちろん,デフォルト値をあらかじめ記憶しておき,ユーザの指示に応じてデフォルト値を変更するようにしてもよい。被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分(比較的大きい数値の入力輝度値と,それに対応する出力輝度値との関係を表す部分)における入力輝度値に対する出力輝度値の比が大きくなるように,複数の被写体種類のそれぞれについての輝度補正値のそれぞれが修正される。ハイライト部分における入力輝度値に対する出力輝度値の比を大きくすることによって,与えられる画像データによって表される画像中のハイライト部分のコントラストが改善される。
【0015】
ハイライト重要度は,ハイライト部分における入力輝度値に対する出力輝度値の比を大きくするときの程度を表す。たとえば,ハイライト重要度は0から1までの間の値で設定される。ハイライト重要度の大きさに応じて,入力輝度値に対する出力輝度値の比の大きさが制御される。ハイライト重要度として0よりも大きい値が設定された場合には,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくされる。
【0016】
算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,被写体種類ごとの修正輝度補正値を統合した統合輝度補正値が算出される。たとえば,上記確信度算出手段によって算出された複数の被写体種類のそれぞれについての確信度に応じた重みを,上記修正輝度補正値算出手段によって算出された,対応する被写体種類についての修正輝度補正値にそれぞれ乗算し,乗算によって得られる被写体種類ごとの値を統合することによって,統合輝度補正値を算出することができる。
【0017】
この発明によると,ハイライト重要度に応じてハイライト部分における入力輝度値に対する出力輝度値の比が大きくされる。入力輝度値と出力輝度値との関係を示すグラフ(補正曲線,輝度変換曲線,階調曲線)に則して言えば,ハイライト部分(比較的大きい数値の入力輝度値と,それに対応する出力輝度値との関係を表す部分)の傾きが大きくなる。したがって,入力画像におけるハイライト部分のコントラストが強調されることになり,ハイライト部分の階調再現性が高められる。与えられる画像データによって表される画像に含まれる被写体像の種類のそれぞれについてハイライト重要度が設定されるので,被写体種類ごとに,ハイライト部分のコントラストの強調の程度を設定することができる。
【0018】
またこの発明によると,画像データの輝度補正に用いられるデータは,算出された複数の被写体種類のそれぞれについての確信度に基づく重みによって重み付けされて得られる統合輝度補正値であるから,確信度に基づく重みが大きい被写体種類についての輝度補正値が統合補正値に大きく反映される。与えられた画像データによって表される画像の内容に応じた輝度補正が実現される。2つ以上の被写体種類が含まれている画像であっても,バランスよく輝度補正処理を行うことができる。
【0019】
一実施態様では,画像補正装置は,上記複数の被写体種類を表す画像のそれぞれについて,一または複数の代表輝度値を算出する代表輝度値算出手段,上記代表輝度値算出手段によって算出された,被写体種類のそれぞれについての一または複数の代表輝度値のそれぞれに対応する補正代表輝度値を,設定または算出する補正代表輝度値設定/算出手段,および上記代表輝度値算出手段によって算出された一または複数の代表輝度値と,上記補正代表輝度値設定/算出手段によって設定または算出された一または複数の補正代表輝度値に基づいて,上記複数の被写体種類のそれぞれについて,入力輝度値に対応する出力輝度値を規定した輝度補正値を算出する輝度補正値算出手段を備え,上記修正輝度補正値算出手段は,上記輝度補正値算出手段によって算出された複数の被写体種類のそれぞれについての輝度補正値を修正するものである。ハイライト重要度に基づいて修正される輝度補正値が,与えられる画像データに基づいて被写体種類ごとに得られるので,与えられる画像データによって表される画像の内容(被写体種類ごとの明るさ)に応じた明るさ補正が実現される。
【0020】
輝度値が8ビットのデータによって表されるとすると,輝度値は0〜255の256レベルで表すことができる。最も単純には,一の代表輝度値と,この代表輝度値に対応する補正輝度値とから定められる比(ゲイン)によって,0〜255の256レベルのそれぞれについての輝度補正値(たとえば,すべての入力輝度値とすべての出力輝度値との対応関係,ルックアップテーブル)を得ることができる。
【0021】
代表輝度値は,被写体種類のそれぞれを代表する値(輝度値)である。たとえば,被写体種類「人物顔」については,与えられる画像データによって表される画像中に含まれる人物顔部分を構成する画素の平均輝度値,最頻値,中央値等を用いることができる。
【0022】
代表輝度値に対応する補正代表輝度値(目標輝度値)は,あらかじめ設定された値(輝度値)であってもよいし,所定の算出ルールにしたがって算出されるものであってもよい。たとえば,外部から与えられるパラメータ,たとえば,ダイナミックレンジ,補正後画像の明るさの程度を表す入力値等が用いられて,代表輝度値に対応する補正代表輝度値が算出される。
【0023】
好ましくは,上記代表輝度値算出手段は,複数の代表輝度値を算出するものであり,上記輝度補正値算出手段は,上記代表輝度値算出手段によって算出された複数の代表輝度値のそれぞれと上記補正代表輝度値設定/算出手段によって設定または算出された複数の補正代表輝度値のそれぞれとの対応関係に基づいて,上記複数の代表輝度値以外の輝度値に対応する補正輝度値のそれぞれを,代表輝度値および代表輝度値以外の輝度値とこれらの輝度値に対応する補正輝度値との対応関係を曲線で表した場合に滑らかな曲線となるような補間によって算出する補間手段を含む。
【0024】
輝度値を0〜255の256レベルで表すとすると,補間によって,256レベルの輝度値のうち,算出された複数の代表輝度値以外の輝度値のそれぞれに対応する補正輝度値が算出される。代表輝度値および代表輝度値以外の輝度値と,これらの輝度値に対応する補正輝度値との関係を曲線で表した場合に滑らかな曲線となるような補間処理には,スプライン補間法,ニアレスト・ネイバー法,バイ・リニア法,バイ・キュービック法等を利用することができる。
【0025】
上記補正代表輝度値設定/算出手段によって設定または算出された上記複数の代表輝度値のそれぞれに対応する複数の補正代表輝度値と,上記補間手段によって算出された上記複数の代表輝度値以外の輝度値のそれぞれに対応する補正輝度値に基づいてルックアップテーブル(補正曲線)を作成することができる。輝度値が0〜255の256レベルで表される場合には,256レベルの輝度値(複数の代表輝度値を含む256個の輝度値)と,そのそれぞれに対応する補正輝度値との対応関係が,作成されるルックアップテーブルに格納される。ルックアップテーブルは,横軸を入力輝度値,縦軸を出力輝度値(補正値)としたグラフ上において補正曲線(輝度変換曲線,濃度変換曲線または階調曲線)として表すことができる。補正曲線は,上記複数の代表輝度値と,そのそれぞれに対応する複数の補正代表輝度値との交点のすべてを通り,かつ滑らかな曲線で描かれる。
【実施例】
【0026】
図1は,画像処理システムのハードウエア構成を示すブロック図である。図2は,画像処理システムを構成する画像補正装置1の電気的構成を,記憶装置4とともに示すブロック図である。
【0027】
画像処理システムは,画像補正装置1と,画像補正装置1に接続された入力装置2(キーボード,マウス等),表示装置3(CRTディスプレイ,液晶ディスプレイ等),記憶装置4(ハードディスク等)およびプリンタ5から構成されている。
【0028】
画像補正装置1に接続された記憶装置4には,画像データが記憶されている。記憶装置4から読出された画像データが入力インターフェース(図示略)を介して画像補正装置1に入力される(以下,画像補正装置1に入力する画像データを「入力画像データ」と呼び,入力画像データによって表される画像を「入力画像」と呼ぶ。)。もちろん,記憶装置4に代えて,CD−ROM,DVD−ROM,メモリカードその他の記録媒体に記録された画像データを,画像補正装置1に入力するようにしてもよい。この場合には,画像処理システムの画像補正装置1には,CD−ROMドライブ,DVD−ROMドライブ等が接続される。もちろん,ネットワークを通じて送信された画像データを,画像補正装置1に入力するようにしてもよい。この場合には,画像処理システムの画像補正装置1には,ネットワークを通じて画像データを送受信する送受信装置(モデム等)が接続される。
【0029】
記憶装置4から読出された入力画像データは,画像補正装置1に含まれる確信度算出回路12,補正値算出回路13および画像補正回路15のそれぞれに与えられる。
【0030】
確信度算出回路12は,与えられた入力画像データによって表される入力画像中に,あらかじめ定められた複数の被写体種類のそれぞれが,どの程度の割合(確からしさ)で含まれているかを表す確信度を,被写体種類ごとに算出する回路である。確信度算出回路12には,確信度算出用メモリ31が接続されており,確信度算出用メモリ31に記憶されたデータが用いられて,確信度算出回路12によって,入力画像データによって表される入力画像中に含まれる被写体種類ごとの確信度が算出される。確信度算出回路12における確信度算出処理,ならびに確信度算出用メモリ31の詳細は後述する。
【0031】
補正値算出回路13は,入力画像の輝度補正のための値(輝度補正値)を,入力画像データに基づいて算出する回路である。補正値算出回路13には,上述のあらかじめ定められた複数の被写体種類のそれぞれについて,入力画像中のハイライト部分をどの程度重要視して輝度補正値を算出するかを表すハイライト重要度が記憶されたハイライト重要度メモリ33が接続されている。また,補正値算出回路13には,入力装置2が用いられて画像処理システムのオペレータによって入力される被写体種類のそれぞれについての目標平均輝度値およびダイナミックレンジが与えられる。補正値算出回路13は,メモリ33に記憶されている複数の被写体種類のそれぞれについてのハイライト重要度,ならびに入力装置2から入力される複数の被写体種類のそれぞれについての目標平均輝度値およびダイナミックレンジに基づいて,被写体種類ごとに輝度補正値(ルックアップテーブル)を算出する。補正値算出回路13の処理の詳細は後述する。
【0032】
補正値統合回路14は,上述の補正値算出回路13によって算出された,被写体種類ごとの輝度補正値を,上述した確信度算出回路12において算出された被写体種類ごとの確信度に基づいて統合する回路である。確信度が大きい被写体種類についての輝度補正値が大きく反映された,統合された輝度補正値が,補正値統合回路14において算出される。補正値統合回路14の処理の詳細は後述する。
【0033】
画像補正回路15は,補正値統合回路14から出力される統合補正値に基づいて,入力画像データの輝度を補正する回路である。画像補正回路15によって輝度補正された画像データが,出力インターフェース(図示略)を介して画像補正装置1から出力されて表示装置3またはプリンタ5に与えられる。補正後画像データによって表される画像が表示装置3の表示画面上に表示され,またはプリンタ5から出力される。
【0034】
図3は,確信度算出回路12によって識別(検出)され,かつ確信度が算出される被写体の種類と,各被写体種類に対応する画像例と,各被写体種類の定義とを示している。
【0035】
この実施例において,確信度算出回路12は,入力画像中に,「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」の7種類の被写体種類のうちのいずれかの被写体種類を表す画像が含まれているかどうか,および含まれている場合にはどの程度の確度(確信度)で含まれているかどうかを算出する。また,確信度算出回路12は,入力画像中に,上記7種類の被写体種類のいずれもが含まれていないことおよびその確信度(被写体種類「検出対象外」についての確信度)を,「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」の7種類の被写体種類のそれぞれについて算出された確信度を用いて算出する。すなわち,確信度算出回路12は,入力画像に,「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」および「検出対象外」の8種類の被写体種類のうちのいずれの被写体種類を表す画像が含まれているかどうかを識別(検出)し,含まれている場合には,それらがどの程度の割合(確信度)で含まれているかどうかを算出する。
【0036】
この実施例において確信度が算出される被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」および「検出対象外」の8種類の被写体種類のうち,「検出対象外」を除く被写体種類は,いずれも同一の手法によって確信度が算出される。確信度算出回路12に接続された確信度算出用メモリ31には,「検出対象外」を除く被写体種類のそれぞれについての確信度変換関数データが記憶されている。以下,被写体種類「人物顔」を例にして,図4(A)〜(C)および図5(A)〜(C)を参照して,確信度算出用メモリ31に記憶された確信度変換関数データ,および確信度算出回路12の処理を説明する。
【0037】
あらかじめ,人物顔が写っている複数の画像データ(以下,人物顔テスト画像という)と,人物顔が写っていない複数の画像データ(以下,非人物顔テスト画像という)が用意される。複数の人物顔テスト画像および複数の非人物顔テスト画像が用いられて,スコアs(たとえば,肌色の色相範囲に入る色相を持つ画素の平均RGB値など)に対する度数分布が作成される。
【0038】
図4(A) は,人物顔テスト画像が用いられて作成された度数分布Φp(s)と,非人物顔テスト画像が用いられて作成された度数分布Φn(s) とを示している。
【0039】
図4(B) は,人物顔テスト画像が用いられて作成された度数分布Φp(s)から得られる累積相対度数分布Dp(s),および非人物顔テスト画像が用いられて作成された度数分布Φn(s)から得られる累積対数度数分布Dn(s)を示している。人物顔テスト画像に基づく累積相対度数分布Dp(s),および非人物顔テスト画像に基づく累積対数度数分布Dn(s)は,次式によって得られる。
【0040】
【数1】
【0041】
式1によって求められた人物顔テスト画像に基づく累積相対度数分布Dp(s),および非人物顔テスト画像に基づく累積対数度数分布Dn(s)に基づいて,スコアsに対する確信度I(s) が次式によって算出される。
【0042】
I(s)=Dp(s)/(Dp(s)+Dn(s)) ・・・式2
【0043】
図4(C) は,式2によって表される確信度(確信度変換関数)の一例を,グラフによって示すものである。
【0044】
式2(図4(C))にしたがって,被写体種類「人物顔」についての確信度I(s)が得られる。確信度算出用メモリ31には,被写体種類「人物顔」の他に,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」のそれぞれについての確信度関数I(s) を表すデータが記憶されている。なお,確信度I(s) の算出に用いられるスコアs は,被写体種類のそれぞれについて異なる種類のものを用いることができるのは言うまでもない。スコアsには,確信度を算出すべき被写体種類を識別することができる種類のスコア(特徴量種類)が採用される。
【0045】
なお,累相相対度数分布Dp(s),Dn(s)に重なりがない場合(Dp(s)+Dn(s)=0となる区間が存在する場合)には,次式に示す確信度関数I(s) を用いる。
【0046】
I(s)=0 (s<s1)
I(s)=(s−s1)/(s2−s1) (s≦s<s2)
I(s)=1 (s2≦s) ・・・式3
【0047】
図5(A)〜(C)に,累相相対度数分布Dp(s),Dn(s)に重なりがない場合における,図4(A)〜(C) に対応するグラフをそれぞれ示す。
【0048】
確信度算出回路12では,処理対象の入力画像データからスコアsを算出し,算出したスコアsを確信度変換関数I(s) に適用して得られる確信度を算出する。算出される確信度は,0から1までの間のいずれかの値をとる。入力画像データによって表される画像中に,被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」のそれぞれが,どの程度の確からしさ(レベル,グレード)で含まれているかが,数値(確信度)によって表される。
【0049】
被写体種類「検出対象外」についての確信度Potは,被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」のそれぞれについて求められた確信度が用いられて,次式によって算出される。
【0050】
Pot=(1−Pfa)・(1−Pbs)・(1−Phs)・(1−Pss)・(1−Pni)・( 1−Pse)・(1−Phk) ・・・式4
【0051】
式4において,Pfa,Pbs,Phs,Pss,Pni,Pse,Phkは,被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」のそれぞれ確信度である。なお,ある被写体種類についての確信度が「1」であった場合には,被写体種類「検出対象外」についての確信度は「0」とする。
【0052】
次に,補正値算出回路13の処理について説明する。
【0053】
補正値算出回路13は,処理対象の入力画像データに基づいて,被写体種類(「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」および「検出対象外」)のそれぞれの輝度補正値を求める回路である。なお,上述の確信度算出処理において確信度が「0」であった被写体種類についての輝度補正値については,必ずしも求めなくてもよい。
【0054】
被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」および「検出対象外」のそれぞれについての輝度補正値は,いずれも同一の手法によって算出される。以下,被写体種類「人物顔」を例にして,補正値算出回路13の処理を説明する。
【0055】
図6は,被写体種類「人物顔」についての補正値算出回路13の処理機能を示す機能ブロック図である。
【0056】
被写体種類「人物顔」についての補正値算出回路13は,顔領域区画機能21,明輝度値および暗輝度値算出機能22,平均輝度値算出機能23,目標明輝度値および目標暗輝度値算出機能24,補正値算出機能(ルックアップテーブル作成機能)25を備えている。
【0057】
記憶装置4から読出された入力画像データに対する補正値は,補正値算出機能(ルックアップテーブル作成機能)25において算出(作成)される。補正値算出機能25では,入力輝度値と出力輝度値(補正値)の対応関係を規定した補正値(ルックアップテーブル)が生成される。ルックアップテーブルは,輝度変換曲線(階調曲線)として表すことができる。
【0058】
補正値算出機能(ルックアップテーブル作成機能)25には,入力画像全体についての明輝度値,入力画像全体についての暗輝度値,顔画像部分についての明輝度値,顔画像部分についての暗輝度値,顔画像部分についての平均輝度値,顔画像部分についての目標平均輝度値(補正平均輝度値),顔画像部分についての目標明輝度値(補正明輝度値),顔画像部分についての目標暗輝度値(補正暗輝度値)が与えられる。これらの値に基づいて,補正値算出機能(ルックアップテーブル作成機能)25は,被写体種類「人物顔」についての補正値(ルックアップテーブル)を算出(作成)する。
【0059】
はじめに,顔画像部分についての明輝度値,顔画像部分についての暗輝度値,および顔画像部分についての平均輝度値の算出処理(取得処理)について説明する。これらの3つの輝度値の算出において,顔領域区画機能21,明輝度値および暗輝度値算出機能22および平均輝度値算出機能23が機能(動作)する。
【0060】
処理対象の画像データによって表される画像には,人物の顔を表す画像部分(顔画像部分)が含まれているものとする(すなわち,被写体種類「人物顔」についての確信度(>0)が,確信度算出回路12において取得されているものとする)。顔画像が含まれている画像を表す画像データが,記憶装置4から読出される。
【0061】
記憶装置4から読出された画像データは,顔領域区画機能21,明輝度値および暗輝度値算出機能22および平均輝度値算出機能23のそれぞれにおいて処理される。
【0062】
顔領域区画機能21は,入力画像データによって表される入力画像中に含まれる顔画像部分を,その他の画像部分と区画する(顔画像部分を検出する,境界を画定する)。
【0063】
画像中に含まれる顔画像部分を区画する処理には,従来または新規の種々の区画(検出)手法を用いることができる。たとえば,画像を複数領域に分解し,分解した画像ごとに得られる色相および彩度についての2次元ヒストグラムを利用して,顔画像部分を区画する(検出)する手法(特開平5−100328号公報),パターンマッチングによって顔画像部分をその他の画像部分から区画(検出)する手法(特開平8−122944号公報),画像中の肌候補領域を検出し,検出された肌候補領域中の主な顔特徴(目,眉,毛,鼻および口)を検出することによって顔画像部分を区画(検出)する方法(特開2002−203239号公報),画像内に学習枠を設定し,該学習枠により規定される画像部分を表す画像データを学習して,該学習枠を代表する1つまたは複数の代表特徴ベクトルを抽出し,同画像内に探索枠を設定するとともに,上記の代表特徴ベクトルの各々と探索枠により規定される画像部分を表す画像データから抽出された複数の特徴ベクトルとの類似度に基づき,探索枠内から顔画像部分を抽出する方法(特願2002−378989号)などである。
【0064】
顔領域区画機能21は,区画(検出)した顔画像部分(顔画像領域内)に含まれる画素のそれぞれを1(または0),顔画像部分以外の画像部分(顔画像領域外)に含まれる画素のそれぞれを0(または1)とした2値データ(画素アドレスごとに,1または0が対応付けられたデータ)を出力する。
【0065】
顔領域区画機能21から出力される2値データは,入力画像に含まれる顔画像部分の位置および範囲(領域位置)を示す。以下,顔領域区画機能21から出力される2値データを,顔領域情報と呼ぶ。
【0066】
顔領域区画機能21において得られた顔領域情報は,明輝度値および暗輝度値算出機能22および平均輝度値算出機能23のそれぞれにおける処理に用いられる。
【0067】
明輝度値および暗輝度値算出機能22では,2つの明輝度値および暗輝度値の組を算出する。
【0068】
その一は,入力画像中に含まれる顔画像部分を構成する画素ごとの輝度値のうち,最も大きい輝度値および最も小さい輝度値である。以下,これらの輝度値を,明輝度値(顔)および暗輝度値(顔)と呼ぶ。
【0069】
その二は,入力画像全体における画素ごとの輝度値のうち,最も大きい輝度値および最も小さい輝度値である。以下,これらの輝度値を,明輝度値(全体)および暗輝度値(全体)と呼ぶ。
【0070】
はじめに,明輝度値(顔)および暗輝度値(顔)の算出について説明する。
【0071】
入力画像を表す入力画像データが,明輝度値および暗輝度値算出機能22に与えられる。入力画像に含まれる顔画像部分の領域位置が,顔領域区画機能21から出力される顔領域情報によって特定される。
【0072】
ここで,明輝度値(顔)(Yhl)および暗輝度値(顔)(Ysd)として,単純に顔画像部分を構成する画素ごとの輝度値のうちの最も大きい値および最も小さい値を採用することもできるが,入力画像によってはノイズ等の影響によって特異な(正確でない)輝度値が存在することがある。特異な(正確でない)輝度値が,明輝度値および暗輝度値とされてしまうことを避けるために,明輝度値および暗輝度値算出機能22では,顔画像部分を構成する画素ごとの輝度値を用いてヒストグラムを作成し,このヒストグラムにおいて,最も大きい輝度値から1%の面積を占める輝度値を明輝度値(顔)(Yhl) ,最も小さい輝度値から1%を占める輝度値を暗輝度値(顔)(Ysd) として算出する(図8参照)。特異な(正確でない)輝度値を持つ画素が存在していても,その輝度値が明輝度値または暗輝度値として決定されてしまうのを避けることができる。
【0073】
明輝度値(全体)および暗輝度値(全体)の算出についても,同様の処理が行われる。すなわち,入力画像を表す入力画像データが,明輝度値および暗輝度値算出機能22に与えられると,明輝度値および暗輝度値算出機能22は,入力画像を構成する画素ごとの輝度値を用いてヒストグラムを作成し,このヒストグラムにおいて,最も大きい輝度値から1%の面積を占める輝度値を明輝度値(全体)(Yhl_all) ,最も小さい輝度値から1%を占める輝度値を暗輝度値(全体)(Ysd_all) として算出する。なお,入力画像についてRGB値のそれぞれのヒストグラムを算出して,3つのヒストグラムのそれぞれについて,最大値から0.3%の面積を占める値を求め,最も大きい値をとった画素についての輝度値を,明輝度値(全体)(Yhl_all)としてもよい。
【0074】
平均輝度値算出機能23では,入力画像中に含まれる顔画像部分を構成する画素ごとの輝度値の平均値を算出する。算出された平均値が平均輝度値(顔)(Yave)である。次に示す式6によって,平均輝度値(顔)(Yave)が算出される。
【0075】
(ΣYi)/n ・・・式6
【0076】
ここでYiは,顔画像部分を構成する画素ごとの輝度値を,nは顔画像部分の画素数を,それぞれ表す。
【0077】
平均値に代えて,中央値または最頻値を,平均輝度値(Yave)としてもよい。
【0078】
明輝度値および暗輝度値算出機能22において算出された明輝度値(顔)(Yhl)および暗輝度値(顔)(Ysd),ならびに明輝度値(全体)(Yhl_all) および暗輝度値(顔)(Ysd_all),平均輝度値算出機能23において算出された平均輝度値(顔)(Yave)は,補正値算出機能(ルックアップテーブル作成機能)25に与えられる。さらに,明輝度値および暗輝度値算出機能22において算出された明輝度値(顔)(Yhl)および暗輝度値(顔)(Ysd),ならびに平均輝度値算出機能23において算出された平均輝度値(顔)(Yave)は,目標明輝度値および目標暗輝度値算出機能24に与えられる。
【0079】
補正値算出機能(ルックアップテーブル作成機能)25には,顔画像部分についての目標平均輝度値(顔),目標明輝度値(顔)および目標暗輝度値(顔)も与えられる。目標平均輝度値(顔)は,入力装置2から操作者によって入力された値が用いられる。目標明輝度値(顔)および目標暗輝度値(顔)は,目標明輝度値および目標暗輝度値算出機能24において算出される。
【0080】
画像補正装置1の操作者によって,入力装置2が用いられて,目標平均輝度値(顔)(Ytarget)が入力される。目標平均輝度値(顔)(Ytarget)は,上述の顔画像部分から得られた平均輝度値(顔)(Yave)の補正値になる(ルックアップテーブルに,平均輝度値(顔)(Yave)に対応する値として目標平均輝度値(顔)(Ytarget) が格納されることになる)。なお,次に説明する目標明輝度値(顔)(Ytarget_hl)および目標暗輝度値(顔)(Ytarget_sd)は,上述の顔画像部分から得られた明輝度値(顔)(Yhl) および暗輝度値(顔)(Ysd)のそれぞれについての補正値になる。
【0081】
入力装置2からは,目標平均輝度値(Ytarget) とともに,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)も入力される。目標明輝度値および目標暗輝度値算出機能24には,目標平均輝度値(Ytarget) と,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)が与えられる。図7は,表示装置3の表示画面上に表示される目標平均輝度値(顔)(Ytarget) と,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)の設定のための画面例を示している。スライドバーaがマウスによって操作されて,目標平均輝度値(顔)(Ytarget) が設定される。スライドバーbがマウスによって操作されて,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)が設定される。
【0082】
上述したように,目標明輝度値および目標暗輝度値算出機能24には,明輝度値および暗輝度値算出機能22において算出された明輝度値(顔)(Yhl)および暗輝度値(顔)(Ysd)と,平均輝度値算出機能23において算出された平均輝度値(顔)(Yave)も与えられる。次に説明するように,目標明輝度値および目標暗輝度値算出機能24は,入力装置2から入力された目標平均輝度値(顔)(Ytarget) および目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)と,明輝度値および暗輝度値算出機能22において算出された明輝度値(顔)(Yhl)および暗輝度値(顔)(Ysd)と,平均輝度値算出機能23において算出された平均輝度値(顔)(Yave)とを利用して,目標明輝度値(顔)(Ytarget_hl)および目標暗輝度値(顔)(Ytarget_hl)を算出する。
【0083】
目標明輝度値(顔)(Ytarget_hl)は,次に示す式7によって算出される。
【0084】
目標明輝度値(顔)(Ytarget_hl)=平均輝度値(Yave)+目標明輝度値(顔)および 目標平均輝度値(顔)間のダイナミックレンジ(DLhl)・・・式7
【0085】
目標暗輝度値(顔)(Ytarget_hl)は,次に示す式8によって算出される。
【0086】
目標暗輝度値(顔)(Ytarget_hl)=平均輝度値(顔)(Yave)−目標平均輝度値(顔 )および目標暗輝度値(顔)間のダイナミックレンジ(DLsd)・・・式8
【0087】
ここで,式7に用いられる目標明輝度値(顔)および目標平均輝度値(顔)間のダイナミックレンジ(DLhl)は,次に示す式9によって算出される。
【0088】
DLhl=目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)・(明輝度値(顔)(Yhl)−平均輝度値(顔)(Yave))/(明輝度値(顔)(Yhl)−暗 輝度値(顔)(Ysd))・・・式9
【0089】
式8に用いられる目標平均輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DLsd)は,次に示す式10によって算出される。
【0090】
DLsd=目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)・(平均輝度値(顔)(Yave)−暗輝度値(顔)(Ysd))/(明輝度値(顔)(Yhl)−暗 輝度値(顔)(Ysd))・・式10
【0091】
式9および式10について,図10を参照して補足説明すると,目標明輝度値(顔)および目標平均輝度値(顔)間のダイナミックレンジ(DLhl)(式9)は,Yhl〜Ysd間の輝度差に対するYhl〜Yave 間の輝度差の比率を,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)に対して当てはめて得られる値(輝度レンジ)であり,目標平均輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DLsd)(式10)は,Yhl〜Ysd間の輝度差に対するYave〜Ysd 間の輝度差の比率を,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)に対して当てはめて得られる値(輝度レンジ)である。
【0092】
式9および式10では,入力装置2から入力される目標明輝度および目標暗輝度間のダイナミックレンジ(DL)を用いて目標明輝度および目標平均輝度間のダイナミックレンジ(DLhl)および目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)を算出しているが,目標明輝度および目標暗輝度間のダイナミックレンジ(DL)の入力に代えて,入力装置2から目標明輝度および目標平均輝度間のダイナミックレンジ(DLhl)を入力させるようにして,入力された目標明輝度および目標平均輝度間のダイナミックレンジ(DLhl)を用いて,目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)を算出してもよい。この場合,目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)は次に示す式11によって算出される。
【0093】
目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)
=目標明輝度および目標平均輝度間のダイナミックレンジ(DLhl)・(明輝度値(顔)(Yhl)−平均輝度値(顔)(Yave))/(平均輝度値(顔)(Yave)−暗輝度値(顔)(Ysd))・・式11
【0094】
もちろん,入力装置2から目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)を入力させるようにして,入力された目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)を用いて,目標明輝度および目標平均輝度間のダイナミックレンジ(DLhl)を算出するようにしてもよい。
【0095】
式7〜式10によって得られた目標明輝度値(顔)(Ytarget_hl)および目標暗輝度値(顔)(Ytarget_hl)と,入力装置2から入力された目標平均輝度値(顔)(Ytarget) が,補正値算出機能25に与えられる。
【0096】
目標平均輝度値(顔)(Ytarget)は,顔画像部分から得られた平均輝度値(顔)(Yave)の補正値になる。目標明輝度値(顔)(Ytarget_hl) は,顔画像部分から得られた明輝度値(顔)(Yhl)の補正値になる。目標暗輝度値(顔)(Ytarget_sd) は,顔画像部分から得られた暗輝度値(顔)(Ysd)の補正値になる。なお,明輝度値(全体)(Yhl_all)の補正値は255(8ビットスケールの輝度値のうち最大の値)とし,暗輝度値(顔)(Ysd_all)の補正値は,0(8ビットスケールの輝度値のうち最大の値)とする。
【0097】
図9はルックアップテーブルの構造を,図10は入力輝度値を横軸,出力輝度値(補正輝度値)を縦軸にして,明輝度値(全体)(Yhl_all) と輝度値255との対応,暗輝度値(全体)(Ysd_all)と輝度値0との対応,平均輝度値(Yave)と目標平均輝度値(Ytarget_ave)の対応,明輝度値(Yhl)と目標明輝度値(Ytarget_hl)の対応,暗輝度値(Ysd)との目標暗輝度値(Ytarget_sd)の対応を示すものである。。
【0098】
輝度値が8ビットで表されるとすると,ここまでの処理によって,0〜255の256レベルの入力輝度値のうち,5つの入力輝度値(Ysd_all,Ysd,Yave,YhlおよびYhl_all)のそれぞれに対応する5つの出力輝度値(補正値)(0,Ytarget_sd,Ytarget_ave,Ytarget_hlおよび255)が決定される。
【0099】
補正値算出機能(ルックアップテーブル作成機能)25は,2つの補正値(ルックアップテーブル)を作成する。
【0100】
その一は,ハイライト重要度が0である場合の補正値(ルックアップテーブル)である。
【0101】
その二は,ハイライト重要度が1である場合の補正値(ルックアップテーブル)である。
【0102】
ハイライト重要度は,画像処理システムのオペレータによって設定される。図11はハイライト重視度の設定画面の一例を示している。
【0103】
ハイライト重要度の設定画面W2には,被写体種類のそれぞれについてスライドバーW2aが表示される。被写体種類のそれぞれについてのスライドバーW2aが用いられて,被写体種類ごとのハイライト重要度(0〜1までの間の数値)が設定される。設定された被写体種類ごとのハイライト重要度が,ハイライト重要度メモリ33に記憶される。
【0104】
後述するように,補正値算出機能(ルックアップテーブル作成機能)25は,ハイライト重要度が0の場合およびハイライト重要度が1の場合の2つの補正値(ルックアップテーブル)の作成した上で,設定されているハイライト重要度(0〜1の間の数値)にしたがって,これらの2つの補正値(ルックアップテーブル)を重み付けしたものを算出する処理を行う。
【0105】
まず,ハイライト重要度が0の場合についての補正値(ルックアップテーブル)の算出処理を説明する。
【0106】
5つの入力輝度値(Ysd_all,Ysd,Yave,YhlおよびYhl_all)以外の他の入力輝度値のそれぞれに対応する出力輝度値(補正値)の算出が行われる。
【0107】
上述の5つの入力輝度値の以外の入力輝度値に対応する出力輝度値(補正値)は,補間処理によって算出される。補間処理には,スプライン補間法,ニアレスト・ネイバー法,バイ・リニア法,バイ・キュービック法等を利用することができる。図12は,3次のスプライン補間法によって,図10に示す5つの点(5つの入力輝度値と出力輝度値の対応関係)を補間した例(輝度変換曲線,階調曲線,補正曲線)を示す。補間処理によって,図9に示すルックアップテーブルには,0〜255のすべての入力輝度値に対応する出力輝度値(補正値)が格納される。なお,明輝度値(全体)(Yhl_all) 以上の入力輝度値に対応する出力輝度値はすべて255に,暗輝度値(全体)(Ysd_all) 以下の入力輝度値に対応する出力輝度値はすべて0に統一される。
【0108】
次に,ハイライト重要度が1の場合の補正値(ルックアップテーブル)の算出処理について説明する。
【0109】
ハイライト重要度が1の場合も,ハイライト重要度が0の場合と同じようにして補正値(ルックアップテーブル)が算出される。ハイライト重要度が0である場合とは,明輝度値(顔)(Yhl)と目標明輝度値(顔)(Ytarget_hl) との対応関係に代えて,制御輝度(Y_cn)および目標制御輝度値(Ytarget_cn)の対応関係が用いられる点が異なる。制御輝度(Y_cn)および目標制御輝度値(Ytarget_cn)は,次式によって算出される。
【0110】
制御輝度値(Y_cn)=明輝度値(全体)(Yhl_all)−c
目標制御輝度値(Ytarget_cn)=255−c ・・・式12
【0111】
式12において,cは定数(たとえば,20)である。
【0112】
図13は,ハイライト重要度が1の場合についての補正曲線を示している。
【0113】
図12に示すハイライト重要度が0の場合の補正曲線と,図13に示すハイライト重要度が1の場合の補正曲線とを比較すると,高い輝度値を持つ入力輝度値に対応する補正曲線の傾きが異なる。すなわち,ハイライト重要度が0の場合についての補正曲線では,高い輝度値を持つ入力輝度値に対応する曲線部分の傾きが小さいので(図12参照),この補正曲線にしたがって輝度補正されて得られる補正後の画像は,高い輝度値を持つ画像部分(ハイライト部分)のコントラストが低下する。他方,ハイライト重要度が1の場合についての補正曲線では高い輝度値を持つ入力輝度値に対応する曲線部分の傾きが大きいので(図13参照),高い輝度値を持つ画像部分(ハイライト部分)のコントラストが向上する。すなわち,入力画像中のハイライト部分について,細かいコントラストの変化を表現することができる。
【0114】
上述したように,補正値算出機能(ルックアップテーブル作成機能)25は,ハイライト重要度が0の場合およびハイライト重要度が1の場合の2つの輝度補正値(ルックアップテーブル)の作成した上で,設定されているハイライト重要度(0〜1の間の数値)にしたがって,これらの2つの輝度補正値(ルックアップテーブル)の重み付けしたものを算出する。ハイライト重要度をI(0<I<1),ハイライト重要度が0のときの輝度補正値(ルックアップテーブル)をT0,ハイライト重要度が1のときの輝度補正値(ルックアップテーブル)をT1とすると,上述の重み付けは,次式によって行われる。
【0115】
T=I・T1+(1−I)T0 ・・・式13
【0116】
ハイライト重要度Iに応じて算出された被写体種類「人物顔」についての輝度補正値(ルックアップテーブル)は,補正値算出回路13から出力されて補正値統合回路14に与えられる。
【0117】
他の被写体種類についても,同様にして,ハイライト重要度に応じた輝度補正値(ルックアップテーブル)が算出されて,補正値統合回路14に与えられる。
【0118】
補正値統合回路14には,補正値算出回路13によって算出された複数の被写体種類のそれぞれについての輝度補正値Ti,および確信度算出回路12において算出された複数の被写体種類のそれぞれについての確信度Piが与えられる。
【0119】
補正値統合回路14は,次式によって,統合補正値Tを算出する。
【0120】
統合補正値T=Σ(ViTi) ・・・ 式14
【0121】
式14において,変数iは,被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」および「検出対象外」のそれぞれについてのものであることを示す。Tiは,補正値算出回路13によって得られる被写体種類ごとの輝度補正値を表す。Viは,上述のように確信度算出回路12によって算出される被写体種類ごとの確信度に基づいて得られる,被写体種類ごとの重みを表す。この重みViは次に示す式15によって算出される。
【0122】
Vi=Pi/Σ(Pi) ・・・式15
【0123】
式15においても,変数iは,被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」および「検出対象外」のそれぞれについてのものであることを示す。
【0124】
上述の式14および式15に示すように,統合補正値Tは,被写体種類のそれぞれについての確信度の大きさに応じた重みViをその被写体種類の補正値Tiに乗算したものを,加算することによって得られる。このため,統合補正値Tは,確信度が大きい被写体種類についての輝度補正値が強く反映されたものになる。
【0125】
補正値統合回路14において算出された統合補正値Tが,画像補正回路15に与えられる。画像補正回路15において,統合補正値Tにしたがった輝度補正後の画像データが生成される。
【0126】
画像補正装置1を構成するハードウェア回路の処理の一部または全部をプログラムによって実現するようにしてもよい。
【図面の簡単な説明】
【0127】
【図1】画像処理システムのハードウエア構成を示すブロック図である。
【図2】画像補正装置の電気的構成を示すブロック図である。
【図3】画像補正装置によって検出される被写体種類の内容,画像例,定義をそれぞれ示す。
【図4】(A)は人物顔テスト画像を用いて作成された度数分布Φp(s)および非人物顔テスト画像を用いて作成された度数分布Φn(s)を,(B)は人物顔テスト画像を用いて作成された度数分布Φp(s)から得られる累積相対度数分布Dp(s)および非人物顔テスト画像を用いて作成された度数分布Φn(s)から得られる累積対数度数分布Dn(s)を,(C)は,確信度関数グラフを,それぞれ示す。
【図5】(A)は人物顔テスト画像を用いて作成された度数分布Φp(s)および非人物顔テスト画像を用いて作成された度数分布Φn(s)を,(B)は人物顔テスト画像を用いて作成された度数分布Φp(s)から得られる累積相対度数分布Dp(s)および非人物顔テスト画像を用いて作成された度数分布Φn(s)から得られる累積対数度数分布Dn(s)を,(C)は,確信度関数グラフを,それぞれ示す。
【図6】被写体種類「人物顔」についての補正値算出回路の処理機能を示す機能ブロック図である。
【図7】目標輝度平均値およびダイナミックレンジの設定画面を示す。
【図8】顔画像部分の輝度値についてのヒストグラムを示す。
【図9】ルックアップテーブルの一例を示す。
【図10】入力輝度値と出力輝度値(補正値)との関係を示す。
【図11】ハイライト重要度の設定画面を示す。
【図12】ハイライト重要度が0である場合の輝度変換曲線を示す。
【図13】ハイライト重要度が1である場合の輝度変換曲線を示す。
【符号の説明】
【0128】
1 画像補正装置
2 入力装置
3 表示装置
4 記憶装置
5 プリンタ
12 確信度算出回路
13 補正値算出回路
14 補正値統合回路
15 画像補正回路
21 顔領域区画機能
22 明輝度値および暗輝度値算出機能
23 平均輝度値算出機能
24 目標明輝度値および目標暗輝度値算出機能
25 補正値算出機能
31 確信度算出用メモリ
33 ハイライト重要度メモリ
【技術分野】
【0001】
この発明は,画像補正装置および方法,ならびに画像補正プログラムに関する。
【背景技術】
【0002】
特許文献1には,被写体像の濃度が目標濃度範囲にない場合,画像における最高濃度部の濃度および最低濃度部の濃度を略保持した状態において,被写体像の濃度が目標濃度範囲となるように階調変換することによって,処理済の画像データを得ている。
【0003】
特許文献1のものでは,画像における最高濃度部の濃度および最低濃度部の濃度を略保持しているので,被写体像の濃度が目標濃度範囲よりも小さい場合,低濃度部分(明るい部分,ハイライト部分)のコントラストが低下する。たとえば,結婚式の写真におけるウエディングドレスに含まれる細かな模様が再現できなくなるおそれがある。
【特許文献1】特開2000−196890号公報
【発明の開示】
【0004】
この発明は,ハイライト部分の階調再現性を高めることができるようにすることを目的とする。
【0005】
またこの発明は,外部から与えられる指示に応じて,ハイライト部分の階調再現性を高める程度を設定できるようにすることを目的とする。
【0006】
さらにこの発明は,被写体種類ごとに,ハイライト部分の階調再現性を高める程度を設定できるようにすることを目的とする。
【0007】
この発明では,画像の明るさを表すデータとして輝度値を用いる。輝度値は,濃度値に一意に変換することができるので,この発明において,輝度値は濃度値と読み替えることもできる。視覚的に言えば,高輝度値の画像(画素)は明るく,低輝度値の画像(画素)は暗い。高濃度値の画像(画素)は暗く,低濃度値の画像(画素)は明るい。
【0008】
この発明による画像補正装置は,あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定するハイライト重要度設定手段,与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出する確信度算出手段,上記ハイライト重要度設定手段によって被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出する修正輝度補正値算出手段,上記確信度算出手段によって算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,上記修正輝度補正値算出手段によって算出された被写体種類ごとの修正輝度補正値を統合した統合輝度補正値を算出する統合手段,および上記統合手段によって算出された統合輝度補正値を用いて,上記画像データを輝度補正する補正手段を備えたことを特徴とする。
【0009】
この発明による画像補正方法は,あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定し,与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出し,被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出し,算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,算出された被写体種類ごとの修正輝度補正値を統合し,統合された統合輝度補正値を用いて,上記画像データを輝度補正することを特徴とする。
【0010】
この発明は,上述の画像補正方法をコンピュータに実行させるプログラム(コンピュータを,上述の画像補正装置として機能させるプログラム)を提供している。この発明によるプログラムは,コンピュータに,あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定するハイライト重要度設定処理,与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出する確信度算出処理,上記ハイライト重要度設定処理によって被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出する修正輝度補正値算出処理,上記確信度算出処理によって算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,上記修正輝度補正値算出処理によって算出された被写体種類ごとの修正輝度補正値を統合した統合輝度補正値を算出する統合処理,および上記統合処理によって算出された統合輝度補正値を用いて,上記画像データを輝度補正する補正処理をコンピュータに実行させるものである。
【0011】
この発明による画像補正装置では,ハイライト重要度を設定すべき複数の被写体種類が,あらかじめ定められる。ハイライト重要度を設定すべき複数の被写体種類は,確信度を算出すべき被写体種類および輝度補正値を算出すべき複数の被写体種類と一致する。被写体種類には,画像データに基づいて識別し得る被写体の種類(撮影シーン種類と言ってもよい)であって,画像補正において異なる輝度補正を行うべき(異なる輝度補正処理を行った方が補正後の画像が適切であることが経験的に知られている)被写体の種類が,複数設定される。たとえば,複数の被写体種類として,「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」,「検出対象外」などを設定することができる。
【0012】
与えられる画像データによって表される画像中に,あらかじめ定められた複数の被写体種類を表す画像が,それぞれどの程度(確からしさ)で含まれているかを表す確信度(レベル,グレード)が,あらかじめ定められた被写体種類ごとに算出される。この確信度の算出には,与えられる画像データに,被写体種類のそれぞれに特有のスコア(特徴量から得られる数値)が,どの程度含まれているかを用いることができる。
【0013】
たとえば,被写体種類「海中」の画像(以下,海中画像という)には,当然に,いわゆる海中色(青色〜緑色の色範囲に属する色)を持つ画素が,画像中の広い範囲に含まれている。最も単純には,海中色を持つ画素が所定面積以上含まれていればその画像は海中画像であることを識別することができ,さらにその面積に応じて確信度を算出することができる。もちろん,複数種類のスコア(特徴量)を利用して,海中画像であることの確信度を算出することができるのは言うまでもない。
【0014】
ハイライト重要度は,入力装置が用いられてユーザの指示に応じて被写体種類ごとに設定される。もちろん,デフォルト値をあらかじめ記憶しておき,ユーザの指示に応じてデフォルト値を変更するようにしてもよい。被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分(比較的大きい数値の入力輝度値と,それに対応する出力輝度値との関係を表す部分)における入力輝度値に対する出力輝度値の比が大きくなるように,複数の被写体種類のそれぞれについての輝度補正値のそれぞれが修正される。ハイライト部分における入力輝度値に対する出力輝度値の比を大きくすることによって,与えられる画像データによって表される画像中のハイライト部分のコントラストが改善される。
【0015】
ハイライト重要度は,ハイライト部分における入力輝度値に対する出力輝度値の比を大きくするときの程度を表す。たとえば,ハイライト重要度は0から1までの間の値で設定される。ハイライト重要度の大きさに応じて,入力輝度値に対する出力輝度値の比の大きさが制御される。ハイライト重要度として0よりも大きい値が設定された場合には,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくされる。
【0016】
算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,被写体種類ごとの修正輝度補正値を統合した統合輝度補正値が算出される。たとえば,上記確信度算出手段によって算出された複数の被写体種類のそれぞれについての確信度に応じた重みを,上記修正輝度補正値算出手段によって算出された,対応する被写体種類についての修正輝度補正値にそれぞれ乗算し,乗算によって得られる被写体種類ごとの値を統合することによって,統合輝度補正値を算出することができる。
【0017】
この発明によると,ハイライト重要度に応じてハイライト部分における入力輝度値に対する出力輝度値の比が大きくされる。入力輝度値と出力輝度値との関係を示すグラフ(補正曲線,輝度変換曲線,階調曲線)に則して言えば,ハイライト部分(比較的大きい数値の入力輝度値と,それに対応する出力輝度値との関係を表す部分)の傾きが大きくなる。したがって,入力画像におけるハイライト部分のコントラストが強調されることになり,ハイライト部分の階調再現性が高められる。与えられる画像データによって表される画像に含まれる被写体像の種類のそれぞれについてハイライト重要度が設定されるので,被写体種類ごとに,ハイライト部分のコントラストの強調の程度を設定することができる。
【0018】
またこの発明によると,画像データの輝度補正に用いられるデータは,算出された複数の被写体種類のそれぞれについての確信度に基づく重みによって重み付けされて得られる統合輝度補正値であるから,確信度に基づく重みが大きい被写体種類についての輝度補正値が統合補正値に大きく反映される。与えられた画像データによって表される画像の内容に応じた輝度補正が実現される。2つ以上の被写体種類が含まれている画像であっても,バランスよく輝度補正処理を行うことができる。
【0019】
一実施態様では,画像補正装置は,上記複数の被写体種類を表す画像のそれぞれについて,一または複数の代表輝度値を算出する代表輝度値算出手段,上記代表輝度値算出手段によって算出された,被写体種類のそれぞれについての一または複数の代表輝度値のそれぞれに対応する補正代表輝度値を,設定または算出する補正代表輝度値設定/算出手段,および上記代表輝度値算出手段によって算出された一または複数の代表輝度値と,上記補正代表輝度値設定/算出手段によって設定または算出された一または複数の補正代表輝度値に基づいて,上記複数の被写体種類のそれぞれについて,入力輝度値に対応する出力輝度値を規定した輝度補正値を算出する輝度補正値算出手段を備え,上記修正輝度補正値算出手段は,上記輝度補正値算出手段によって算出された複数の被写体種類のそれぞれについての輝度補正値を修正するものである。ハイライト重要度に基づいて修正される輝度補正値が,与えられる画像データに基づいて被写体種類ごとに得られるので,与えられる画像データによって表される画像の内容(被写体種類ごとの明るさ)に応じた明るさ補正が実現される。
【0020】
輝度値が8ビットのデータによって表されるとすると,輝度値は0〜255の256レベルで表すことができる。最も単純には,一の代表輝度値と,この代表輝度値に対応する補正輝度値とから定められる比(ゲイン)によって,0〜255の256レベルのそれぞれについての輝度補正値(たとえば,すべての入力輝度値とすべての出力輝度値との対応関係,ルックアップテーブル)を得ることができる。
【0021】
代表輝度値は,被写体種類のそれぞれを代表する値(輝度値)である。たとえば,被写体種類「人物顔」については,与えられる画像データによって表される画像中に含まれる人物顔部分を構成する画素の平均輝度値,最頻値,中央値等を用いることができる。
【0022】
代表輝度値に対応する補正代表輝度値(目標輝度値)は,あらかじめ設定された値(輝度値)であってもよいし,所定の算出ルールにしたがって算出されるものであってもよい。たとえば,外部から与えられるパラメータ,たとえば,ダイナミックレンジ,補正後画像の明るさの程度を表す入力値等が用いられて,代表輝度値に対応する補正代表輝度値が算出される。
【0023】
好ましくは,上記代表輝度値算出手段は,複数の代表輝度値を算出するものであり,上記輝度補正値算出手段は,上記代表輝度値算出手段によって算出された複数の代表輝度値のそれぞれと上記補正代表輝度値設定/算出手段によって設定または算出された複数の補正代表輝度値のそれぞれとの対応関係に基づいて,上記複数の代表輝度値以外の輝度値に対応する補正輝度値のそれぞれを,代表輝度値および代表輝度値以外の輝度値とこれらの輝度値に対応する補正輝度値との対応関係を曲線で表した場合に滑らかな曲線となるような補間によって算出する補間手段を含む。
【0024】
輝度値を0〜255の256レベルで表すとすると,補間によって,256レベルの輝度値のうち,算出された複数の代表輝度値以外の輝度値のそれぞれに対応する補正輝度値が算出される。代表輝度値および代表輝度値以外の輝度値と,これらの輝度値に対応する補正輝度値との関係を曲線で表した場合に滑らかな曲線となるような補間処理には,スプライン補間法,ニアレスト・ネイバー法,バイ・リニア法,バイ・キュービック法等を利用することができる。
【0025】
上記補正代表輝度値設定/算出手段によって設定または算出された上記複数の代表輝度値のそれぞれに対応する複数の補正代表輝度値と,上記補間手段によって算出された上記複数の代表輝度値以外の輝度値のそれぞれに対応する補正輝度値に基づいてルックアップテーブル(補正曲線)を作成することができる。輝度値が0〜255の256レベルで表される場合には,256レベルの輝度値(複数の代表輝度値を含む256個の輝度値)と,そのそれぞれに対応する補正輝度値との対応関係が,作成されるルックアップテーブルに格納される。ルックアップテーブルは,横軸を入力輝度値,縦軸を出力輝度値(補正値)としたグラフ上において補正曲線(輝度変換曲線,濃度変換曲線または階調曲線)として表すことができる。補正曲線は,上記複数の代表輝度値と,そのそれぞれに対応する複数の補正代表輝度値との交点のすべてを通り,かつ滑らかな曲線で描かれる。
【実施例】
【0026】
図1は,画像処理システムのハードウエア構成を示すブロック図である。図2は,画像処理システムを構成する画像補正装置1の電気的構成を,記憶装置4とともに示すブロック図である。
【0027】
画像処理システムは,画像補正装置1と,画像補正装置1に接続された入力装置2(キーボード,マウス等),表示装置3(CRTディスプレイ,液晶ディスプレイ等),記憶装置4(ハードディスク等)およびプリンタ5から構成されている。
【0028】
画像補正装置1に接続された記憶装置4には,画像データが記憶されている。記憶装置4から読出された画像データが入力インターフェース(図示略)を介して画像補正装置1に入力される(以下,画像補正装置1に入力する画像データを「入力画像データ」と呼び,入力画像データによって表される画像を「入力画像」と呼ぶ。)。もちろん,記憶装置4に代えて,CD−ROM,DVD−ROM,メモリカードその他の記録媒体に記録された画像データを,画像補正装置1に入力するようにしてもよい。この場合には,画像処理システムの画像補正装置1には,CD−ROMドライブ,DVD−ROMドライブ等が接続される。もちろん,ネットワークを通じて送信された画像データを,画像補正装置1に入力するようにしてもよい。この場合には,画像処理システムの画像補正装置1には,ネットワークを通じて画像データを送受信する送受信装置(モデム等)が接続される。
【0029】
記憶装置4から読出された入力画像データは,画像補正装置1に含まれる確信度算出回路12,補正値算出回路13および画像補正回路15のそれぞれに与えられる。
【0030】
確信度算出回路12は,与えられた入力画像データによって表される入力画像中に,あらかじめ定められた複数の被写体種類のそれぞれが,どの程度の割合(確からしさ)で含まれているかを表す確信度を,被写体種類ごとに算出する回路である。確信度算出回路12には,確信度算出用メモリ31が接続されており,確信度算出用メモリ31に記憶されたデータが用いられて,確信度算出回路12によって,入力画像データによって表される入力画像中に含まれる被写体種類ごとの確信度が算出される。確信度算出回路12における確信度算出処理,ならびに確信度算出用メモリ31の詳細は後述する。
【0031】
補正値算出回路13は,入力画像の輝度補正のための値(輝度補正値)を,入力画像データに基づいて算出する回路である。補正値算出回路13には,上述のあらかじめ定められた複数の被写体種類のそれぞれについて,入力画像中のハイライト部分をどの程度重要視して輝度補正値を算出するかを表すハイライト重要度が記憶されたハイライト重要度メモリ33が接続されている。また,補正値算出回路13には,入力装置2が用いられて画像処理システムのオペレータによって入力される被写体種類のそれぞれについての目標平均輝度値およびダイナミックレンジが与えられる。補正値算出回路13は,メモリ33に記憶されている複数の被写体種類のそれぞれについてのハイライト重要度,ならびに入力装置2から入力される複数の被写体種類のそれぞれについての目標平均輝度値およびダイナミックレンジに基づいて,被写体種類ごとに輝度補正値(ルックアップテーブル)を算出する。補正値算出回路13の処理の詳細は後述する。
【0032】
補正値統合回路14は,上述の補正値算出回路13によって算出された,被写体種類ごとの輝度補正値を,上述した確信度算出回路12において算出された被写体種類ごとの確信度に基づいて統合する回路である。確信度が大きい被写体種類についての輝度補正値が大きく反映された,統合された輝度補正値が,補正値統合回路14において算出される。補正値統合回路14の処理の詳細は後述する。
【0033】
画像補正回路15は,補正値統合回路14から出力される統合補正値に基づいて,入力画像データの輝度を補正する回路である。画像補正回路15によって輝度補正された画像データが,出力インターフェース(図示略)を介して画像補正装置1から出力されて表示装置3またはプリンタ5に与えられる。補正後画像データによって表される画像が表示装置3の表示画面上に表示され,またはプリンタ5から出力される。
【0034】
図3は,確信度算出回路12によって識別(検出)され,かつ確信度が算出される被写体の種類と,各被写体種類に対応する画像例と,各被写体種類の定義とを示している。
【0035】
この実施例において,確信度算出回路12は,入力画像中に,「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」の7種類の被写体種類のうちのいずれかの被写体種類を表す画像が含まれているかどうか,および含まれている場合にはどの程度の確度(確信度)で含まれているかどうかを算出する。また,確信度算出回路12は,入力画像中に,上記7種類の被写体種類のいずれもが含まれていないことおよびその確信度(被写体種類「検出対象外」についての確信度)を,「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」の7種類の被写体種類のそれぞれについて算出された確信度を用いて算出する。すなわち,確信度算出回路12は,入力画像に,「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」および「検出対象外」の8種類の被写体種類のうちのいずれの被写体種類を表す画像が含まれているかどうかを識別(検出)し,含まれている場合には,それらがどの程度の割合(確信度)で含まれているかどうかを算出する。
【0036】
この実施例において確信度が算出される被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」および「検出対象外」の8種類の被写体種類のうち,「検出対象外」を除く被写体種類は,いずれも同一の手法によって確信度が算出される。確信度算出回路12に接続された確信度算出用メモリ31には,「検出対象外」を除く被写体種類のそれぞれについての確信度変換関数データが記憶されている。以下,被写体種類「人物顔」を例にして,図4(A)〜(C)および図5(A)〜(C)を参照して,確信度算出用メモリ31に記憶された確信度変換関数データ,および確信度算出回路12の処理を説明する。
【0037】
あらかじめ,人物顔が写っている複数の画像データ(以下,人物顔テスト画像という)と,人物顔が写っていない複数の画像データ(以下,非人物顔テスト画像という)が用意される。複数の人物顔テスト画像および複数の非人物顔テスト画像が用いられて,スコアs(たとえば,肌色の色相範囲に入る色相を持つ画素の平均RGB値など)に対する度数分布が作成される。
【0038】
図4(A) は,人物顔テスト画像が用いられて作成された度数分布Φp(s)と,非人物顔テスト画像が用いられて作成された度数分布Φn(s) とを示している。
【0039】
図4(B) は,人物顔テスト画像が用いられて作成された度数分布Φp(s)から得られる累積相対度数分布Dp(s),および非人物顔テスト画像が用いられて作成された度数分布Φn(s)から得られる累積対数度数分布Dn(s)を示している。人物顔テスト画像に基づく累積相対度数分布Dp(s),および非人物顔テスト画像に基づく累積対数度数分布Dn(s)は,次式によって得られる。
【0040】
【数1】
【0041】
式1によって求められた人物顔テスト画像に基づく累積相対度数分布Dp(s),および非人物顔テスト画像に基づく累積対数度数分布Dn(s)に基づいて,スコアsに対する確信度I(s) が次式によって算出される。
【0042】
I(s)=Dp(s)/(Dp(s)+Dn(s)) ・・・式2
【0043】
図4(C) は,式2によって表される確信度(確信度変換関数)の一例を,グラフによって示すものである。
【0044】
式2(図4(C))にしたがって,被写体種類「人物顔」についての確信度I(s)が得られる。確信度算出用メモリ31には,被写体種類「人物顔」の他に,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」のそれぞれについての確信度関数I(s) を表すデータが記憶されている。なお,確信度I(s) の算出に用いられるスコアs は,被写体種類のそれぞれについて異なる種類のものを用いることができるのは言うまでもない。スコアsには,確信度を算出すべき被写体種類を識別することができる種類のスコア(特徴量種類)が採用される。
【0045】
なお,累相相対度数分布Dp(s),Dn(s)に重なりがない場合(Dp(s)+Dn(s)=0となる区間が存在する場合)には,次式に示す確信度関数I(s) を用いる。
【0046】
I(s)=0 (s<s1)
I(s)=(s−s1)/(s2−s1) (s≦s<s2)
I(s)=1 (s2≦s) ・・・式3
【0047】
図5(A)〜(C)に,累相相対度数分布Dp(s),Dn(s)に重なりがない場合における,図4(A)〜(C) に対応するグラフをそれぞれ示す。
【0048】
確信度算出回路12では,処理対象の入力画像データからスコアsを算出し,算出したスコアsを確信度変換関数I(s) に適用して得られる確信度を算出する。算出される確信度は,0から1までの間のいずれかの値をとる。入力画像データによって表される画像中に,被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」のそれぞれが,どの程度の確からしさ(レベル,グレード)で含まれているかが,数値(確信度)によって表される。
【0049】
被写体種類「検出対象外」についての確信度Potは,被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」のそれぞれについて求められた確信度が用いられて,次式によって算出される。
【0050】
Pot=(1−Pfa)・(1−Pbs)・(1−Phs)・(1−Pss)・(1−Pni)・( 1−Pse)・(1−Phk) ・・・式4
【0051】
式4において,Pfa,Pbs,Phs,Pss,Pni,Pse,Phkは,被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」および「ハイキー」のそれぞれ確信度である。なお,ある被写体種類についての確信度が「1」であった場合には,被写体種類「検出対象外」についての確信度は「0」とする。
【0052】
次に,補正値算出回路13の処理について説明する。
【0053】
補正値算出回路13は,処理対象の入力画像データに基づいて,被写体種類(「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」および「検出対象外」)のそれぞれの輝度補正値を求める回路である。なお,上述の確信度算出処理において確信度が「0」であった被写体種類についての輝度補正値については,必ずしも求めなくてもよい。
【0054】
被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」および「検出対象外」のそれぞれについての輝度補正値は,いずれも同一の手法によって算出される。以下,被写体種類「人物顔」を例にして,補正値算出回路13の処理を説明する。
【0055】
図6は,被写体種類「人物顔」についての補正値算出回路13の処理機能を示す機能ブロック図である。
【0056】
被写体種類「人物顔」についての補正値算出回路13は,顔領域区画機能21,明輝度値および暗輝度値算出機能22,平均輝度値算出機能23,目標明輝度値および目標暗輝度値算出機能24,補正値算出機能(ルックアップテーブル作成機能)25を備えている。
【0057】
記憶装置4から読出された入力画像データに対する補正値は,補正値算出機能(ルックアップテーブル作成機能)25において算出(作成)される。補正値算出機能25では,入力輝度値と出力輝度値(補正値)の対応関係を規定した補正値(ルックアップテーブル)が生成される。ルックアップテーブルは,輝度変換曲線(階調曲線)として表すことができる。
【0058】
補正値算出機能(ルックアップテーブル作成機能)25には,入力画像全体についての明輝度値,入力画像全体についての暗輝度値,顔画像部分についての明輝度値,顔画像部分についての暗輝度値,顔画像部分についての平均輝度値,顔画像部分についての目標平均輝度値(補正平均輝度値),顔画像部分についての目標明輝度値(補正明輝度値),顔画像部分についての目標暗輝度値(補正暗輝度値)が与えられる。これらの値に基づいて,補正値算出機能(ルックアップテーブル作成機能)25は,被写体種類「人物顔」についての補正値(ルックアップテーブル)を算出(作成)する。
【0059】
はじめに,顔画像部分についての明輝度値,顔画像部分についての暗輝度値,および顔画像部分についての平均輝度値の算出処理(取得処理)について説明する。これらの3つの輝度値の算出において,顔領域区画機能21,明輝度値および暗輝度値算出機能22および平均輝度値算出機能23が機能(動作)する。
【0060】
処理対象の画像データによって表される画像には,人物の顔を表す画像部分(顔画像部分)が含まれているものとする(すなわち,被写体種類「人物顔」についての確信度(>0)が,確信度算出回路12において取得されているものとする)。顔画像が含まれている画像を表す画像データが,記憶装置4から読出される。
【0061】
記憶装置4から読出された画像データは,顔領域区画機能21,明輝度値および暗輝度値算出機能22および平均輝度値算出機能23のそれぞれにおいて処理される。
【0062】
顔領域区画機能21は,入力画像データによって表される入力画像中に含まれる顔画像部分を,その他の画像部分と区画する(顔画像部分を検出する,境界を画定する)。
【0063】
画像中に含まれる顔画像部分を区画する処理には,従来または新規の種々の区画(検出)手法を用いることができる。たとえば,画像を複数領域に分解し,分解した画像ごとに得られる色相および彩度についての2次元ヒストグラムを利用して,顔画像部分を区画する(検出)する手法(特開平5−100328号公報),パターンマッチングによって顔画像部分をその他の画像部分から区画(検出)する手法(特開平8−122944号公報),画像中の肌候補領域を検出し,検出された肌候補領域中の主な顔特徴(目,眉,毛,鼻および口)を検出することによって顔画像部分を区画(検出)する方法(特開2002−203239号公報),画像内に学習枠を設定し,該学習枠により規定される画像部分を表す画像データを学習して,該学習枠を代表する1つまたは複数の代表特徴ベクトルを抽出し,同画像内に探索枠を設定するとともに,上記の代表特徴ベクトルの各々と探索枠により規定される画像部分を表す画像データから抽出された複数の特徴ベクトルとの類似度に基づき,探索枠内から顔画像部分を抽出する方法(特願2002−378989号)などである。
【0064】
顔領域区画機能21は,区画(検出)した顔画像部分(顔画像領域内)に含まれる画素のそれぞれを1(または0),顔画像部分以外の画像部分(顔画像領域外)に含まれる画素のそれぞれを0(または1)とした2値データ(画素アドレスごとに,1または0が対応付けられたデータ)を出力する。
【0065】
顔領域区画機能21から出力される2値データは,入力画像に含まれる顔画像部分の位置および範囲(領域位置)を示す。以下,顔領域区画機能21から出力される2値データを,顔領域情報と呼ぶ。
【0066】
顔領域区画機能21において得られた顔領域情報は,明輝度値および暗輝度値算出機能22および平均輝度値算出機能23のそれぞれにおける処理に用いられる。
【0067】
明輝度値および暗輝度値算出機能22では,2つの明輝度値および暗輝度値の組を算出する。
【0068】
その一は,入力画像中に含まれる顔画像部分を構成する画素ごとの輝度値のうち,最も大きい輝度値および最も小さい輝度値である。以下,これらの輝度値を,明輝度値(顔)および暗輝度値(顔)と呼ぶ。
【0069】
その二は,入力画像全体における画素ごとの輝度値のうち,最も大きい輝度値および最も小さい輝度値である。以下,これらの輝度値を,明輝度値(全体)および暗輝度値(全体)と呼ぶ。
【0070】
はじめに,明輝度値(顔)および暗輝度値(顔)の算出について説明する。
【0071】
入力画像を表す入力画像データが,明輝度値および暗輝度値算出機能22に与えられる。入力画像に含まれる顔画像部分の領域位置が,顔領域区画機能21から出力される顔領域情報によって特定される。
【0072】
ここで,明輝度値(顔)(Yhl)および暗輝度値(顔)(Ysd)として,単純に顔画像部分を構成する画素ごとの輝度値のうちの最も大きい値および最も小さい値を採用することもできるが,入力画像によってはノイズ等の影響によって特異な(正確でない)輝度値が存在することがある。特異な(正確でない)輝度値が,明輝度値および暗輝度値とされてしまうことを避けるために,明輝度値および暗輝度値算出機能22では,顔画像部分を構成する画素ごとの輝度値を用いてヒストグラムを作成し,このヒストグラムにおいて,最も大きい輝度値から1%の面積を占める輝度値を明輝度値(顔)(Yhl) ,最も小さい輝度値から1%を占める輝度値を暗輝度値(顔)(Ysd) として算出する(図8参照)。特異な(正確でない)輝度値を持つ画素が存在していても,その輝度値が明輝度値または暗輝度値として決定されてしまうのを避けることができる。
【0073】
明輝度値(全体)および暗輝度値(全体)の算出についても,同様の処理が行われる。すなわち,入力画像を表す入力画像データが,明輝度値および暗輝度値算出機能22に与えられると,明輝度値および暗輝度値算出機能22は,入力画像を構成する画素ごとの輝度値を用いてヒストグラムを作成し,このヒストグラムにおいて,最も大きい輝度値から1%の面積を占める輝度値を明輝度値(全体)(Yhl_all) ,最も小さい輝度値から1%を占める輝度値を暗輝度値(全体)(Ysd_all) として算出する。なお,入力画像についてRGB値のそれぞれのヒストグラムを算出して,3つのヒストグラムのそれぞれについて,最大値から0.3%の面積を占める値を求め,最も大きい値をとった画素についての輝度値を,明輝度値(全体)(Yhl_all)としてもよい。
【0074】
平均輝度値算出機能23では,入力画像中に含まれる顔画像部分を構成する画素ごとの輝度値の平均値を算出する。算出された平均値が平均輝度値(顔)(Yave)である。次に示す式6によって,平均輝度値(顔)(Yave)が算出される。
【0075】
(ΣYi)/n ・・・式6
【0076】
ここでYiは,顔画像部分を構成する画素ごとの輝度値を,nは顔画像部分の画素数を,それぞれ表す。
【0077】
平均値に代えて,中央値または最頻値を,平均輝度値(Yave)としてもよい。
【0078】
明輝度値および暗輝度値算出機能22において算出された明輝度値(顔)(Yhl)および暗輝度値(顔)(Ysd),ならびに明輝度値(全体)(Yhl_all) および暗輝度値(顔)(Ysd_all),平均輝度値算出機能23において算出された平均輝度値(顔)(Yave)は,補正値算出機能(ルックアップテーブル作成機能)25に与えられる。さらに,明輝度値および暗輝度値算出機能22において算出された明輝度値(顔)(Yhl)および暗輝度値(顔)(Ysd),ならびに平均輝度値算出機能23において算出された平均輝度値(顔)(Yave)は,目標明輝度値および目標暗輝度値算出機能24に与えられる。
【0079】
補正値算出機能(ルックアップテーブル作成機能)25には,顔画像部分についての目標平均輝度値(顔),目標明輝度値(顔)および目標暗輝度値(顔)も与えられる。目標平均輝度値(顔)は,入力装置2から操作者によって入力された値が用いられる。目標明輝度値(顔)および目標暗輝度値(顔)は,目標明輝度値および目標暗輝度値算出機能24において算出される。
【0080】
画像補正装置1の操作者によって,入力装置2が用いられて,目標平均輝度値(顔)(Ytarget)が入力される。目標平均輝度値(顔)(Ytarget)は,上述の顔画像部分から得られた平均輝度値(顔)(Yave)の補正値になる(ルックアップテーブルに,平均輝度値(顔)(Yave)に対応する値として目標平均輝度値(顔)(Ytarget) が格納されることになる)。なお,次に説明する目標明輝度値(顔)(Ytarget_hl)および目標暗輝度値(顔)(Ytarget_sd)は,上述の顔画像部分から得られた明輝度値(顔)(Yhl) および暗輝度値(顔)(Ysd)のそれぞれについての補正値になる。
【0081】
入力装置2からは,目標平均輝度値(Ytarget) とともに,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)も入力される。目標明輝度値および目標暗輝度値算出機能24には,目標平均輝度値(Ytarget) と,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)が与えられる。図7は,表示装置3の表示画面上に表示される目標平均輝度値(顔)(Ytarget) と,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)の設定のための画面例を示している。スライドバーaがマウスによって操作されて,目標平均輝度値(顔)(Ytarget) が設定される。スライドバーbがマウスによって操作されて,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)が設定される。
【0082】
上述したように,目標明輝度値および目標暗輝度値算出機能24には,明輝度値および暗輝度値算出機能22において算出された明輝度値(顔)(Yhl)および暗輝度値(顔)(Ysd)と,平均輝度値算出機能23において算出された平均輝度値(顔)(Yave)も与えられる。次に説明するように,目標明輝度値および目標暗輝度値算出機能24は,入力装置2から入力された目標平均輝度値(顔)(Ytarget) および目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)と,明輝度値および暗輝度値算出機能22において算出された明輝度値(顔)(Yhl)および暗輝度値(顔)(Ysd)と,平均輝度値算出機能23において算出された平均輝度値(顔)(Yave)とを利用して,目標明輝度値(顔)(Ytarget_hl)および目標暗輝度値(顔)(Ytarget_hl)を算出する。
【0083】
目標明輝度値(顔)(Ytarget_hl)は,次に示す式7によって算出される。
【0084】
目標明輝度値(顔)(Ytarget_hl)=平均輝度値(Yave)+目標明輝度値(顔)および 目標平均輝度値(顔)間のダイナミックレンジ(DLhl)・・・式7
【0085】
目標暗輝度値(顔)(Ytarget_hl)は,次に示す式8によって算出される。
【0086】
目標暗輝度値(顔)(Ytarget_hl)=平均輝度値(顔)(Yave)−目標平均輝度値(顔 )および目標暗輝度値(顔)間のダイナミックレンジ(DLsd)・・・式8
【0087】
ここで,式7に用いられる目標明輝度値(顔)および目標平均輝度値(顔)間のダイナミックレンジ(DLhl)は,次に示す式9によって算出される。
【0088】
DLhl=目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)・(明輝度値(顔)(Yhl)−平均輝度値(顔)(Yave))/(明輝度値(顔)(Yhl)−暗 輝度値(顔)(Ysd))・・・式9
【0089】
式8に用いられる目標平均輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DLsd)は,次に示す式10によって算出される。
【0090】
DLsd=目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)・(平均輝度値(顔)(Yave)−暗輝度値(顔)(Ysd))/(明輝度値(顔)(Yhl)−暗 輝度値(顔)(Ysd))・・式10
【0091】
式9および式10について,図10を参照して補足説明すると,目標明輝度値(顔)および目標平均輝度値(顔)間のダイナミックレンジ(DLhl)(式9)は,Yhl〜Ysd間の輝度差に対するYhl〜Yave 間の輝度差の比率を,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)に対して当てはめて得られる値(輝度レンジ)であり,目標平均輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DLsd)(式10)は,Yhl〜Ysd間の輝度差に対するYave〜Ysd 間の輝度差の比率を,目標明輝度値(顔)および目標暗輝度値(顔)間のダイナミックレンジ(DL)に対して当てはめて得られる値(輝度レンジ)である。
【0092】
式9および式10では,入力装置2から入力される目標明輝度および目標暗輝度間のダイナミックレンジ(DL)を用いて目標明輝度および目標平均輝度間のダイナミックレンジ(DLhl)および目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)を算出しているが,目標明輝度および目標暗輝度間のダイナミックレンジ(DL)の入力に代えて,入力装置2から目標明輝度および目標平均輝度間のダイナミックレンジ(DLhl)を入力させるようにして,入力された目標明輝度および目標平均輝度間のダイナミックレンジ(DLhl)を用いて,目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)を算出してもよい。この場合,目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)は次に示す式11によって算出される。
【0093】
目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)
=目標明輝度および目標平均輝度間のダイナミックレンジ(DLhl)・(明輝度値(顔)(Yhl)−平均輝度値(顔)(Yave))/(平均輝度値(顔)(Yave)−暗輝度値(顔)(Ysd))・・式11
【0094】
もちろん,入力装置2から目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)を入力させるようにして,入力された目標平均輝度および目標暗輝度間のダイナミックレンジ(DLsd)を用いて,目標明輝度および目標平均輝度間のダイナミックレンジ(DLhl)を算出するようにしてもよい。
【0095】
式7〜式10によって得られた目標明輝度値(顔)(Ytarget_hl)および目標暗輝度値(顔)(Ytarget_hl)と,入力装置2から入力された目標平均輝度値(顔)(Ytarget) が,補正値算出機能25に与えられる。
【0096】
目標平均輝度値(顔)(Ytarget)は,顔画像部分から得られた平均輝度値(顔)(Yave)の補正値になる。目標明輝度値(顔)(Ytarget_hl) は,顔画像部分から得られた明輝度値(顔)(Yhl)の補正値になる。目標暗輝度値(顔)(Ytarget_sd) は,顔画像部分から得られた暗輝度値(顔)(Ysd)の補正値になる。なお,明輝度値(全体)(Yhl_all)の補正値は255(8ビットスケールの輝度値のうち最大の値)とし,暗輝度値(顔)(Ysd_all)の補正値は,0(8ビットスケールの輝度値のうち最大の値)とする。
【0097】
図9はルックアップテーブルの構造を,図10は入力輝度値を横軸,出力輝度値(補正輝度値)を縦軸にして,明輝度値(全体)(Yhl_all) と輝度値255との対応,暗輝度値(全体)(Ysd_all)と輝度値0との対応,平均輝度値(Yave)と目標平均輝度値(Ytarget_ave)の対応,明輝度値(Yhl)と目標明輝度値(Ytarget_hl)の対応,暗輝度値(Ysd)との目標暗輝度値(Ytarget_sd)の対応を示すものである。。
【0098】
輝度値が8ビットで表されるとすると,ここまでの処理によって,0〜255の256レベルの入力輝度値のうち,5つの入力輝度値(Ysd_all,Ysd,Yave,YhlおよびYhl_all)のそれぞれに対応する5つの出力輝度値(補正値)(0,Ytarget_sd,Ytarget_ave,Ytarget_hlおよび255)が決定される。
【0099】
補正値算出機能(ルックアップテーブル作成機能)25は,2つの補正値(ルックアップテーブル)を作成する。
【0100】
その一は,ハイライト重要度が0である場合の補正値(ルックアップテーブル)である。
【0101】
その二は,ハイライト重要度が1である場合の補正値(ルックアップテーブル)である。
【0102】
ハイライト重要度は,画像処理システムのオペレータによって設定される。図11はハイライト重視度の設定画面の一例を示している。
【0103】
ハイライト重要度の設定画面W2には,被写体種類のそれぞれについてスライドバーW2aが表示される。被写体種類のそれぞれについてのスライドバーW2aが用いられて,被写体種類ごとのハイライト重要度(0〜1までの間の数値)が設定される。設定された被写体種類ごとのハイライト重要度が,ハイライト重要度メモリ33に記憶される。
【0104】
後述するように,補正値算出機能(ルックアップテーブル作成機能)25は,ハイライト重要度が0の場合およびハイライト重要度が1の場合の2つの補正値(ルックアップテーブル)の作成した上で,設定されているハイライト重要度(0〜1の間の数値)にしたがって,これらの2つの補正値(ルックアップテーブル)を重み付けしたものを算出する処理を行う。
【0105】
まず,ハイライト重要度が0の場合についての補正値(ルックアップテーブル)の算出処理を説明する。
【0106】
5つの入力輝度値(Ysd_all,Ysd,Yave,YhlおよびYhl_all)以外の他の入力輝度値のそれぞれに対応する出力輝度値(補正値)の算出が行われる。
【0107】
上述の5つの入力輝度値の以外の入力輝度値に対応する出力輝度値(補正値)は,補間処理によって算出される。補間処理には,スプライン補間法,ニアレスト・ネイバー法,バイ・リニア法,バイ・キュービック法等を利用することができる。図12は,3次のスプライン補間法によって,図10に示す5つの点(5つの入力輝度値と出力輝度値の対応関係)を補間した例(輝度変換曲線,階調曲線,補正曲線)を示す。補間処理によって,図9に示すルックアップテーブルには,0〜255のすべての入力輝度値に対応する出力輝度値(補正値)が格納される。なお,明輝度値(全体)(Yhl_all) 以上の入力輝度値に対応する出力輝度値はすべて255に,暗輝度値(全体)(Ysd_all) 以下の入力輝度値に対応する出力輝度値はすべて0に統一される。
【0108】
次に,ハイライト重要度が1の場合の補正値(ルックアップテーブル)の算出処理について説明する。
【0109】
ハイライト重要度が1の場合も,ハイライト重要度が0の場合と同じようにして補正値(ルックアップテーブル)が算出される。ハイライト重要度が0である場合とは,明輝度値(顔)(Yhl)と目標明輝度値(顔)(Ytarget_hl) との対応関係に代えて,制御輝度(Y_cn)および目標制御輝度値(Ytarget_cn)の対応関係が用いられる点が異なる。制御輝度(Y_cn)および目標制御輝度値(Ytarget_cn)は,次式によって算出される。
【0110】
制御輝度値(Y_cn)=明輝度値(全体)(Yhl_all)−c
目標制御輝度値(Ytarget_cn)=255−c ・・・式12
【0111】
式12において,cは定数(たとえば,20)である。
【0112】
図13は,ハイライト重要度が1の場合についての補正曲線を示している。
【0113】
図12に示すハイライト重要度が0の場合の補正曲線と,図13に示すハイライト重要度が1の場合の補正曲線とを比較すると,高い輝度値を持つ入力輝度値に対応する補正曲線の傾きが異なる。すなわち,ハイライト重要度が0の場合についての補正曲線では,高い輝度値を持つ入力輝度値に対応する曲線部分の傾きが小さいので(図12参照),この補正曲線にしたがって輝度補正されて得られる補正後の画像は,高い輝度値を持つ画像部分(ハイライト部分)のコントラストが低下する。他方,ハイライト重要度が1の場合についての補正曲線では高い輝度値を持つ入力輝度値に対応する曲線部分の傾きが大きいので(図13参照),高い輝度値を持つ画像部分(ハイライト部分)のコントラストが向上する。すなわち,入力画像中のハイライト部分について,細かいコントラストの変化を表現することができる。
【0114】
上述したように,補正値算出機能(ルックアップテーブル作成機能)25は,ハイライト重要度が0の場合およびハイライト重要度が1の場合の2つの輝度補正値(ルックアップテーブル)の作成した上で,設定されているハイライト重要度(0〜1の間の数値)にしたがって,これらの2つの輝度補正値(ルックアップテーブル)の重み付けしたものを算出する。ハイライト重要度をI(0<I<1),ハイライト重要度が0のときの輝度補正値(ルックアップテーブル)をT0,ハイライト重要度が1のときの輝度補正値(ルックアップテーブル)をT1とすると,上述の重み付けは,次式によって行われる。
【0115】
T=I・T1+(1−I)T0 ・・・式13
【0116】
ハイライト重要度Iに応じて算出された被写体種類「人物顔」についての輝度補正値(ルックアップテーブル)は,補正値算出回路13から出力されて補正値統合回路14に与えられる。
【0117】
他の被写体種類についても,同様にして,ハイライト重要度に応じた輝度補正値(ルックアップテーブル)が算出されて,補正値統合回路14に与えられる。
【0118】
補正値統合回路14には,補正値算出回路13によって算出された複数の被写体種類のそれぞれについての輝度補正値Ti,および確信度算出回路12において算出された複数の被写体種類のそれぞれについての確信度Piが与えられる。
【0119】
補正値統合回路14は,次式によって,統合補正値Tを算出する。
【0120】
統合補正値T=Σ(ViTi) ・・・ 式14
【0121】
式14において,変数iは,被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」および「検出対象外」のそれぞれについてのものであることを示す。Tiは,補正値算出回路13によって得られる被写体種類ごとの輝度補正値を表す。Viは,上述のように確信度算出回路12によって算出される被写体種類ごとの確信度に基づいて得られる,被写体種類ごとの重みを表す。この重みViは次に示す式15によって算出される。
【0122】
Vi=Pi/Σ(Pi) ・・・式15
【0123】
式15においても,変数iは,被写体種類「人物顔」,「青空」,「高彩度」,「夕景」,「夜景」,「海中」,「ハイキー」および「検出対象外」のそれぞれについてのものであることを示す。
【0124】
上述の式14および式15に示すように,統合補正値Tは,被写体種類のそれぞれについての確信度の大きさに応じた重みViをその被写体種類の補正値Tiに乗算したものを,加算することによって得られる。このため,統合補正値Tは,確信度が大きい被写体種類についての輝度補正値が強く反映されたものになる。
【0125】
補正値統合回路14において算出された統合補正値Tが,画像補正回路15に与えられる。画像補正回路15において,統合補正値Tにしたがった輝度補正後の画像データが生成される。
【0126】
画像補正装置1を構成するハードウェア回路の処理の一部または全部をプログラムによって実現するようにしてもよい。
【図面の簡単な説明】
【0127】
【図1】画像処理システムのハードウエア構成を示すブロック図である。
【図2】画像補正装置の電気的構成を示すブロック図である。
【図3】画像補正装置によって検出される被写体種類の内容,画像例,定義をそれぞれ示す。
【図4】(A)は人物顔テスト画像を用いて作成された度数分布Φp(s)および非人物顔テスト画像を用いて作成された度数分布Φn(s)を,(B)は人物顔テスト画像を用いて作成された度数分布Φp(s)から得られる累積相対度数分布Dp(s)および非人物顔テスト画像を用いて作成された度数分布Φn(s)から得られる累積対数度数分布Dn(s)を,(C)は,確信度関数グラフを,それぞれ示す。
【図5】(A)は人物顔テスト画像を用いて作成された度数分布Φp(s)および非人物顔テスト画像を用いて作成された度数分布Φn(s)を,(B)は人物顔テスト画像を用いて作成された度数分布Φp(s)から得られる累積相対度数分布Dp(s)および非人物顔テスト画像を用いて作成された度数分布Φn(s)から得られる累積対数度数分布Dn(s)を,(C)は,確信度関数グラフを,それぞれ示す。
【図6】被写体種類「人物顔」についての補正値算出回路の処理機能を示す機能ブロック図である。
【図7】目標輝度平均値およびダイナミックレンジの設定画面を示す。
【図8】顔画像部分の輝度値についてのヒストグラムを示す。
【図9】ルックアップテーブルの一例を示す。
【図10】入力輝度値と出力輝度値(補正値)との関係を示す。
【図11】ハイライト重要度の設定画面を示す。
【図12】ハイライト重要度が0である場合の輝度変換曲線を示す。
【図13】ハイライト重要度が1である場合の輝度変換曲線を示す。
【符号の説明】
【0128】
1 画像補正装置
2 入力装置
3 表示装置
4 記憶装置
5 プリンタ
12 確信度算出回路
13 補正値算出回路
14 補正値統合回路
15 画像補正回路
21 顔領域区画機能
22 明輝度値および暗輝度値算出機能
23 平均輝度値算出機能
24 目標明輝度値および目標暗輝度値算出機能
25 補正値算出機能
31 確信度算出用メモリ
33 ハイライト重要度メモリ
【特許請求の範囲】
【請求項1】
あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定するハイライト重要度設定手段,
与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出する確信度算出手段,
上記ハイライト重要度設定手段によって被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出する修正輝度補正値算出手段,
上記確信度算出手段によって算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,上記修正輝度補正値算出手段によって算出された被写体種類ごとの修正輝度補正値を統合した統合輝度補正値を算出する統合手段,および
上記統合手段によって算出された統合輝度補正値を用いて,上記画像データを輝度補正する補正手段,
を備えた画像補正装置。
【請求項2】
上記確信度算出手段は,上記画像データに基づいて得られる一または複数の特徴量から得られるスコアに基づいて,被写体種類ごとの確信度を算出するものである,請求項1に記載の画像補正装置。
【請求項3】
上記複数の被写体種類を表す画像のそれぞれについて,一または複数の代表輝度値を算出する代表輝度値算出手段,
上記代表輝度値算出手段によって算出された,被写体種類のそれぞれについての一または複数の代表輝度値のそれぞれに対応する補正代表輝度値を,設定または算出する補正代表輝度値設定/算出手段,および
上記代表輝度値算出手段によって算出された一または複数の代表輝度値と,上記補正代表輝度値設定/算出手段によって設定または算出された一または複数の補正代表輝度値に基づいて,上記複数の被写体種類のそれぞれについて,入力輝度値に対応する出力輝度値を規定した輝度補正値を算出する輝度補正値算出手段を備え,
上記修正輝度補正値算出手段は,
上記輝度補正値算出手段によって算出された複数の被写体種類のそれぞれについての輝度補正値を修正するものである,
請求項1または2に記載の画像補正装置。
【請求項4】
上記代表輝度値算出手段は,複数の代表輝度値を算出するものであり,
上記輝度補正値算出手段は,
上記代表輝度値算出手段によって算出された複数の代表輝度値のそれぞれと上記補正代表輝度値設定/算出手段によって設定または算出された複数の補正代表輝度値のそれぞれとの対応関係に基づいて,上記複数の代表輝度値以外の輝度値に対応する補正輝度値のそれぞれを,代表輝度値および代表輝度値以外の輝度値とこれらの輝度値に対応する補正輝度値との対応関係を曲線で表した場合に滑らかな曲線となるような補間によって算出する補間手段を含む,
請求項3に記載の画像補正装置。
【請求項5】
上記統合手段は,
上記確信度算出手段によって算出された複数の被写体種類のそれぞれについての確信度に応じた重みを,上記修正輝度補正値算出手段によって算出された,対応する被写体種類についての修正輝度補正値にそれぞれ乗算し,乗算によって得られる被写体種類ごとの値を統合するものである,
請求項1から4のいずれか一項に記載の画像補正装置。
【請求項6】
あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定し,
与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出し,
被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出し,
算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,算出された被写体種類ごとの修正輝度補正値を統合し,
統合された統合輝度補正値を用いて,上記画像データを輝度補正する,
画像補正方法。
【請求項7】
あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定するハイライト重要度設定処理,
与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出する確信度算出処理,
上記ハイライト重要度設定処理によって被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出する修正輝度補正値算出処理,
上記確信度算出処理によって算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,上記修正輝度補正値算出処理によって算出された被写体種類ごとの修正輝度補正値を統合した統合輝度補正値を算出する統合処理,および
上記統合処理によって算出された統合輝度補正値を用いて,上記画像データを輝度補正する補正処理,
をコンピュータに実行させる画像補正プログラム。
【請求項1】
あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定するハイライト重要度設定手段,
与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出する確信度算出手段,
上記ハイライト重要度設定手段によって被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出する修正輝度補正値算出手段,
上記確信度算出手段によって算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,上記修正輝度補正値算出手段によって算出された被写体種類ごとの修正輝度補正値を統合した統合輝度補正値を算出する統合手段,および
上記統合手段によって算出された統合輝度補正値を用いて,上記画像データを輝度補正する補正手段,
を備えた画像補正装置。
【請求項2】
上記確信度算出手段は,上記画像データに基づいて得られる一または複数の特徴量から得られるスコアに基づいて,被写体種類ごとの確信度を算出するものである,請求項1に記載の画像補正装置。
【請求項3】
上記複数の被写体種類を表す画像のそれぞれについて,一または複数の代表輝度値を算出する代表輝度値算出手段,
上記代表輝度値算出手段によって算出された,被写体種類のそれぞれについての一または複数の代表輝度値のそれぞれに対応する補正代表輝度値を,設定または算出する補正代表輝度値設定/算出手段,および
上記代表輝度値算出手段によって算出された一または複数の代表輝度値と,上記補正代表輝度値設定/算出手段によって設定または算出された一または複数の補正代表輝度値に基づいて,上記複数の被写体種類のそれぞれについて,入力輝度値に対応する出力輝度値を規定した輝度補正値を算出する輝度補正値算出手段を備え,
上記修正輝度補正値算出手段は,
上記輝度補正値算出手段によって算出された複数の被写体種類のそれぞれについての輝度補正値を修正するものである,
請求項1または2に記載の画像補正装置。
【請求項4】
上記代表輝度値算出手段は,複数の代表輝度値を算出するものであり,
上記輝度補正値算出手段は,
上記代表輝度値算出手段によって算出された複数の代表輝度値のそれぞれと上記補正代表輝度値設定/算出手段によって設定または算出された複数の補正代表輝度値のそれぞれとの対応関係に基づいて,上記複数の代表輝度値以外の輝度値に対応する補正輝度値のそれぞれを,代表輝度値および代表輝度値以外の輝度値とこれらの輝度値に対応する補正輝度値との対応関係を曲線で表した場合に滑らかな曲線となるような補間によって算出する補間手段を含む,
請求項3に記載の画像補正装置。
【請求項5】
上記統合手段は,
上記確信度算出手段によって算出された複数の被写体種類のそれぞれについての確信度に応じた重みを,上記修正輝度補正値算出手段によって算出された,対応する被写体種類についての修正輝度補正値にそれぞれ乗算し,乗算によって得られる被写体種類ごとの値を統合するものである,
請求項1から4のいずれか一項に記載の画像補正装置。
【請求項6】
あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定し,
与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出し,
被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出し,
算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,算出された被写体種類ごとの修正輝度補正値を統合し,
統合された統合輝度補正値を用いて,上記画像データを輝度補正する,
画像補正方法。
【請求項7】
あらかじめ定められる複数の被写体種類のそれぞれについて,ハイライト重要度を設定するハイライト重要度設定処理,
与えられる画像データによって表される画像中に,上記複数の被写体種類を表す画像が,それぞれどの程度の確度で含まれているかを表す確信度を,定められた被写体種類ごとに算出する確信度算出処理,
上記ハイライト重要度設定処理によって被写体種類ごとに設定されたハイライト重要度に基づいて,ハイライト部分における入力輝度値に対する出力輝度値の比が大きくなるように,上記複数の被写体種類のそれぞれについての輝度補正値を修正した修正輝度補正値を算出する修正輝度補正値算出処理,
上記確信度算出処理によって算出された複数の被写体種類のそれぞれについての確信度に基づく重みに応じた重付けにより,上記修正輝度補正値算出処理によって算出された被写体種類ごとの修正輝度補正値を統合した統合輝度補正値を算出する統合処理,および
上記統合処理によって算出された統合輝度補正値を用いて,上記画像データを輝度補正する補正処理,
をコンピュータに実行させる画像補正プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2006−146290(P2006−146290A)
【公開日】平成18年6月8日(2006.6.8)
【国際特許分類】
【出願番号】特願2004−331303(P2004−331303)
【出願日】平成16年11月16日(2004.11.16)
【出願人】(000005201)富士写真フイルム株式会社 (7,609)
【Fターム(参考)】
【公開日】平成18年6月8日(2006.6.8)
【国際特許分類】
【出願日】平成16年11月16日(2004.11.16)
【出願人】(000005201)富士写真フイルム株式会社 (7,609)
【Fターム(参考)】
[ Back to top ]