画像処理装置及び画像処理方法
【課題】入力画像中の肌色部と暗部の検出結果に応じたγカーブを適用し、良好な階調再現を実現するダイナミックγ処理を行うための技術を提供する。
【解決手段】入力画像信号中のフレーム画像を複数の領域に分割し、各分割領域において、輝度成分を抽出して輝度ヒストグラムを作成し、かつ、所定の色成分を肌色として抽出して肌色輝度ヒストグラムを作成するヒストグラム検出部と、前記輝度ヒストグラムおよび前記肌色輝度ヒストグラムを用いて、フレーム画像に人物が含まれるかどうかを検出する人物検出部と、前記人物検出部による検出結果に基づいてγカーブを作成するγカーブ作成部と、フレーム画像に前記γカーブを適用して出力画像信号を作成するγ変換部とを備える画像処理装置を用いる。
【解決手段】入力画像信号中のフレーム画像を複数の領域に分割し、各分割領域において、輝度成分を抽出して輝度ヒストグラムを作成し、かつ、所定の色成分を肌色として抽出して肌色輝度ヒストグラムを作成するヒストグラム検出部と、前記輝度ヒストグラムおよび前記肌色輝度ヒストグラムを用いて、フレーム画像に人物が含まれるかどうかを検出する人物検出部と、前記人物検出部による検出結果に基づいてγカーブを作成するγカーブ作成部と、フレーム画像に前記γカーブを適用して出力画像信号を作成するγ変換部とを備える画像処理装置を用いる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理方法に関するものである。
【背景技術】
【0002】
入力画像信号の特徴に応じて適応的にγ処理を実行する画像処理方法があり、ダイナミックγ処理と呼ばれる。さらに肌色部分の面積、平均輝度等に応じてダイナミックγ処理を行うことで肌色の再現性を改善する技術も知られている(特許文献1)。また、人物の肌領域と、髪領域を抽出し、人物の有無を検出する技術も知られている(特許文献2)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平7−288836号公報
【特許文献2】特開2007−087123号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、肌色を検出し、肌色の階調再現性を高める従来の技術では、肌色の階調再現性が改善されても、肌色周囲のオブジェクトに対する階調再現性が逆に劣化する恐れがあった。
例えば、暗い(黒い)髪の毛の人物が存在する画像が入力されたとする。従来技術では、人物の肌色の面積と、入力画像信号の平均輝度レベルから、肌色補正信号を算出し、肌色に階調を割り当てるγカーブを作成し、ダイナミックγ処理を行う。しかし、このようなγカーブでは、肌色部の輝度階調に対し表示ビット数が多く割り当てられるため、周囲の暗い髪の毛部分への表示ビット数の割り当てが減少する。その結果、暗い髪の毛部分の階調つぶれや疑似輪郭が発生する恐れがあった。
【0005】
本発明は上記実情に鑑みてなされたものであって、ダイナミックγ処理において、入力画像中の肌色部と暗部の検出結果に応じたγカーブを作成し、良好な階調再現を実現するための技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決するために、本発明では以下の構成を採用する。すなわち、入力画像信号中のフレーム画像を複数の領域に分割し、各分割領域において、輝度成分を抽出して輝度ヒストグラムを作成し、かつ、所定の色成分を肌色として抽出して肌色輝度ヒストグラムを作成するヒストグラム検出部と、前記輝度ヒストグラムおよび前記肌色輝度ヒストグラムを用いて、フレーム画像に人物が含まれるかどうかを検出する人物検出部と、前記人物検出部による検出結果に基づいてγカーブを作成するγカーブ作成部と、フレーム画像に前記γカーブを適用して出力画像信号を作成するγ変換部と、を備え、前記ヒストグラム検出部は、各分割領域の輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第1の閾値を超え、かつ、前記第1の閾値を超えた時の階級値が所定の階級値よりも小さい場合、前記第1の閾値を超えた時の階級値を暗部階調として検出し、フレーム画像内の各分割領域の暗部階調を比較して当該フレーム画像における最小暗部階調と最大暗部階調を求め、分割領域の肌色輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第2の閾値を超えた場合、前記第2の閾値を超えた時の階級値を肌色階調として検出し、フレーム画像内の各分割領域の肌色階調を比較して当該フレーム画像における最小肌色階調と最大肌色階調を求め、前記人物検出部は、暗部階調が検出された分割領域を中心とする所定の範囲に、肌色領
域が検出された分割領域が存在する場合、前記フレーム画像に人物が含まれると判定し、前記γカーブ作成部は、人物が含まれると判定された場合に、最小暗部階調と最大暗部階調の間の範囲、および、最小肌色階調と最大肌色階調の間の範囲に割り当てる階調数を増やすようにγカーブを作成することを特徴とする画像処理装置である。
【0007】
本発明ではまた、以下の構成を採用する。すなわち、入力画像信号中のフレーム画像を複数の領域に分割し、各分割領域において、輝度成分を抽出して輝度ヒストグラムを作成し、かつ、所定の色成分を肌色として抽出して肌色輝度ヒストグラムを作成するヒストグラム検出ステップと、前記輝度ヒストグラムおよび前記肌色輝度ヒストグラムを用いて、フレーム画像に人物が含まれるかどうかを検出する人物検出ステップと、前記人物検出部による検出結果に基づいてγカーブを作成するγカーブ作成ステップと、フレーム画像に前記γカーブを適用して出力画像信号を作成するγ変換ステップと、を含み、前記ヒストグラム検出ステップは、各分割領域の輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第1の閾値を超え、かつ、前記第1の閾値を超えた時の階級値が所定の階級値よりも小さい場合、前記第1の閾値を超えた時の階級値を暗部階調として検出し、フレーム画像内の各分割領域の暗部階調を比較して当該フレーム画像における最小暗部階調と最大暗部階調を求め、分割領域の肌色輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第2の閾値を超えた場合、前記第2の閾値を超えた時の階級値を肌色階調として検出し、フレーム画像内の各分割領域の肌色階調を比較して当該フレーム画像における最小肌色階調と最大肌色階調を求め、前記人物検出ステップは、暗部階調が検出された分割領域を中心とする所定の範囲に、肌色領域が検出された分割領域が存在する場合、前記フレーム画像に人物が含まれると判定し、前記γカーブ作成ステップは、人物が含まれると判定された場合に、最小暗部階調と最大暗部階調の間の範囲、および、最小肌色階調と最大肌色階調の間の範囲に割り当てる階調数を増やすようにγカーブを作成することを特徴とする画像処理方法である。
【発明の効果】
【0008】
本発明によれば、ダイナミックγ処理において、入力画像中の肌色部と暗部の検出結果に応じたγカーブを作成し、良好な階調再現を実現することができるようになる。
【図面の簡単な説明】
【0009】
【図1】実施例1の画像処理装置のブロック図。
【図2】ヒストグラム検出部により検出されたヒストグラムを示す図。
【図3】実施例1で最小暗部階調を検出する際のフローチャート。
【図4】実施例1で最大暗部階調を検出する際のフローチャート。
【図5】実施例1で暗部階調と肌色階調が存在する場合のγカーブ。
【図6】実施例1で暗部階調のみが存在する場合のγカーブ。
【図7】実施例1で肌色階調のみが存在する場合のγカーブ。
【図8】実施例2の暗部伸長量を説明する図。
【図9】実施例2の肌色部伸長量を説明する図。
【図10】実施例3で用いるγカーブ。
【発明を実施するための形態】
【0010】
以下、本発明の画像処理装置について、図面を参照しつつ説明する。この画像処理装置は入力画像信号にダイナミックγ処理を施し、階調変換された出力画像信号を得るものである。この画像処理装置はテレビジョン、STB(Set Top Box)、コンピュータ用のデ
ィスプレイ装置などと接続したり、これらに組み込んだりして用いることができる。以下に記述するブロックは、専用の回路を用いることもできるし、CPU上で動作するプログラムであっても良い。また、以下の画像処理装置が行うそれぞれの処理をコンピュータ用
のプログラムなどに実行させることにより、本発明を画像処理方法として実現することができる。
なお、人物の肌の色には個体差があり、また、画像の撮影環境によって色合いは変化する。以下の記載における肌色とは、特定の人物の肌の色に限定されるものではなく、撮影対象や撮影環境に応じて柔軟に変更することができる。
【0011】
<実施例1>
図1は本実施例の画像処理装置のブロック図を示している。図1に示す画像処理装置100はヒストグラム検出部101と、人物検出部102と、γカーブ作成部103と、γ変換部104から構成されている。各ブロックの動作を以下で説明する。
【0012】
ヒストグラム検出部101は、入力画像信号を輝度成分と色彩成分に分けた場合の輝度成分を抽出し、予め定められた階調範囲に基づいて輝度ヒストグラムを検出する。また、入力画像信号から肌色成分を抽出し、肌色輝度ヒストグラムを検出する。どのような色成分を肌色として認識するかは、画像中の人物の肌特性や使用者の嗜好によって自由に定めることができる。例えば、RGB表色系やLab表色系などで所定の数値範囲で指定すれば良い。この処理は入力画像信号のフレーム(全画面)ごとに行われるので、ここで得られた輝度ヒストグラムのことを後に「全画面輝度ヒストグラム」と呼び、肌色輝度ヒストグラムのことを後に「全画面肌色輝度ヒストグラム」と呼ぶ。
さらに、ヒストグラム検出部101は、入力画像信号中の1つのフレーム画像を複数の領域に分割する。そして、各領域の輝度ヒストグラムと、肌色輝度ヒストグラムを検出する。また、検出した各領域の輝度ヒストグラムの、輝度が低い側の階級から順に度数の合計値を取ることにより累積輝度ヒストグラムを作成する。また、各領域の肌色輝度ヒストグラムの、輝度が低い側の階級から順に度数の合計値を取ることにより肌色累積輝度ヒストグラムを作成する。
本実施例では、1フレーム分の画面を縦10×横10の、計100個の領域に分割して、各領域の輝度ヒストグラムと肌色輝度ヒストグラムを検出する。分割した各領域には、1〜100までの領域番号をつける。なお、本実施例では入力画像信号中の1つのフレーム画像内を10×10に分割しているが、この値は任意であり、例えば10×5や6×3でも良い。また、検出するヒストグラムは256階級とし、0〜255の階級値を持つものとする。
図2は、ヒストグラム検出部101により検出されたヒストグラムを示す図である。図2(a)は、分割されたある領域の輝度成分のみを抽出した輝度ヒストグラムの一例を示す図である。図2(b)は、分割されたある領域の肌色成分の輝度のみを抽出した肌色輝度ヒストグラムの一例を示す図である。
【0013】
人物検出部102は、フレーム画像内に人物が含まれるかどうかを検出し、検出結果を後続処理に送る。人物検出部102は、ヒストグラム検出部101で検出した各領域の累積輝度ヒストグラムから暗部階調dp[a]を算出し、肌色累積輝度ヒストグラムから肌色階調sp[a]を算出する。ここで、aは分割した各領域につけた領域番号(1〜100)である。ここで、暗部階調dp[a]は、領域番号aにおいて、累積輝度ヒストグラムが閾値th1を超えた時の階調値(階級)である。閾値th1は所定の値であり、本発明の第1の閾値に当たる。また、肌色階調sp[a]は、領域番号aにおいて、肌色累積輝度ヒストグラムが閾値th2を超えた時の階調値(階級)である。閾値th2は所定の値であり、本発明の第2の閾値に当たる。
ただし、検出された暗部階調dp[a]が全階調範囲の中央値以上の場合、暗部階調は検出されなかったものとする。本例のヒストグラムは256階級なので、中央の128という階級が基準となる。そして、ある領域で閾値th1を超えた時の階級が128以上ならば、暗部階調は検出されなかったものとして、dp[a]に−1を設定する。なお、ここで中央値を境界としたのは一例に過ぎず、画像特性等の処理の実情に合わせて適宜変更
して構わない。また、累積ヒストグラムが最後まで閾値th1を超えなかった場合も、dp[a]に−1を設定する。
また、肌色階調sp[a]を検出する際に、累積ヒストグラムが最後まで閾値th2を超えなければ、その領域の肌色階調sp[a]に−1を設定する。
【0014】
人物検出部102は、さらに、各分割領域にて検出された暗部階調を比較する。そして、それらの中で最も暗い暗部階調を最小暗部階調dp_min、最も明るい暗部階調を最大暗部階調dp_maxとしてγカーブ作成部103に出力する。なお、この処理に当たっては、たとえ暗部階調が検出された分割領域であっても、同じ領域もしくは隣接する領域に肌色階調が検出されなかった領域は除外される。
人物検出部102は、また、各分割領域にて検出された肌色階調を比較する。そして、それらの中で最も暗い肌色階調を最小肌色階調sp_min、最も明るい肌色階調を最大肌色階調sp_maxとし、γカーブ作成部103に出力する。
【0015】
最小暗部階調dp_minを検出するフローチャートを図3に示す。このフローにおいては、各分割領域について暗部階調検出が行われていることが前提となる。
ステップS111は初期化のステップであり、最小暗部階調dp_minを128(256階級のヒストグラムを検出しているため、256の半分である128階調以下を暗部と判断する)、領域番号aを1に設定する。
ステップS112で、領域番号aが100より大きいかどうか判定し、100より大きくなければステップS113へ進む。100より大きければステップS118に進み、処理を終了する。
ステップS113でdp[a]が−1かどうか(暗部階調が検出されているかどうか)判定し、−1でなければステップS114へ進む。−1であればaに1を加え(S117)、ステップS112へ戻る。
ステップS114で、暗部階調dp[a]が検出された領域aを中心とする3×3の領域内に肌色階調sp[a]が検出されていれば、ステップS115へ進む。検出されていなければaに1を加え(S117)、ステップS112へ戻る。これにより、暗部と肌色が近接している部分(すなわち、髪と肌が近接している可能性が高い部分)が判別でき、人物が検出できる。なお、この3×3という範囲は本実施例における所定の値に過ぎない。どのような範囲を設定するかは、例えば要求される検出感度、一つの分割領域の広さ、画像の特性などによって定められるべきものである。
ステップS115で、暗部階調dp[a]と最小暗部階調dp_minを比較し、dp[a]<dp_minならばステップS116へ進み、そうでなければaに1を加え(S117)、ステップS112へ戻る。
ステップS116でdp_min=dp[a]に更新し、aに1を加え、ステップS112へ戻る。
本実施例では、図3のフローチャートによって、15という最小暗部階調dp_minが得られたものとする。
【0016】
最大暗部階調dp_maxを検出するフローチャートを図4に示す。このフローにおいても、各分割領域について暗部階調検出が行われていることが前提となる。
ステップS121で、最大暗部階調dp_maxを0、領域番号aを1に初期化する。
ステップS122で、領域番号aが100より大きいかどうか判定し、100より大きくなければステップS123へ進む。100より大きければステップS128に進み、処理を終了する。
ステップS123でdp[a]が−1かどうか(暗部階調が検出されているかどうか)判定し、−1でなければステップS124へ進む。−1であればaに1を加え(S127)、ステップS122へ戻る。
ステップS124で、暗部階調dp[a]が検出された領域aを中心とする3×3の領
域内にsp[a]が検出されていれば、ステップS125へ進む。検出されていなければaに1を加え(S127)、ステップS122へ戻る。
ステップS125で、暗部階調dp[a]と最大暗部階調dp_maxを比較し、dp[a]>dp_maxならばステップS126へ進み、そうでなければaに1を加え(S127)、ステップS122へ戻る。
ステップS126でdp_max=dp[a]に更新し、aに1を加え(S127)、ステップS122へ戻る。
本実施例では、図4のフローチャートによって、25という最大暗部階調dp_maxが得られたとものする。
【0017】
最小肌色階調sp_minを検出する際には、まず、最小肌色階調sp_minを255、領域番号aを1に初期化する。そして、領域番号aを100まで1ずつ加算しつつ、sp[a]が−1かどうか(肌色階調が検出されているか)判定する。検出されていれば、sp[a]と、現時点での最小肌色階調sp_minを比較する。そして、sp[a]の方が小さければ、sp_minを更新する。
本実施例では、この処理を領域番号100まで繰り返すことにより、40という最小肌色階調sp_minが得られたものとする。
【0018】
最大肌色階調sp_maxを検出する際には、まず、最大肌色階調sp_maxを0、領域番号aを1に初期化する。そして、領域番号aを100まで1ずつ加算しつつ、sp[a]が−1かどうか(肌色階調が検出されているか)判定する。検出されていれば、sp[a]と、現時点での最大肌色階調sp_maxを比較する。そして、sp[a]の方が大きければ、sp_maxを更新する。
本実施例では、この処理を領域番号100まで繰り返すことにより、55という最大肌色階調sp_maxが得られたものとする。
【0019】
また、ヒストグラム検出部101で検出した入力画像の全画面輝度ヒストグラムを用いて、最小暗部階調dp_minから最大暗部階調dp_maxまでの度数を積算した暗部面積dp_sを求めて、γカーブ作成部103に出力する。同様に、入力画像の全画面肌色輝度ヒストグラムを用いて、最小肌色階調sp_minから最大肌色階調sp_maxまでの度数を積算した肌色面積sp_sを求めて、γカーブ作成部103に出力する。
【0020】
暗部と肌色部が共に検出された場合、γカーブ作成部103は以下の情報からγカーブを作成する。すなわち、人物検出部102で検出された最小暗部階調dp_min、最大暗部階調dp_max、最小肌色階調sp_min、最大肌色階調sp_max、暗部面積dp_s、肌色面積sp_sである。
図5に示すように、暗部階調の伸長範囲はdp_minおよびdp_maxに基づいて決定され、15〜25の範囲である。暗部伸長量は暗部面積dp_sに比例する。また、肌色階調の伸長範囲はsp_minおよびsp_maxに基づいて決定され、40〜55である。肌色部伸長量は肌色面積sp_sに比例する。
本実施例では、最小暗部階調dp_minの値15と、最大暗部階調dp_maxの値25と、最小肌色階調sp_minの値40と、最大肌色階調sp_maxの値55から図5のようなγカーブを作成する。なお、図5中の点線は、入力画像信号をそのまま出力した場合の変換直線であり、実線が作成したγカーブである。このように、値が15〜25の間の範囲と、40〜55の間の範囲に多くの階調数が割当てられている。
【0021】
人物検出部102で、最小暗部階調dp_minが128かつ、最大暗部階調dp_maxが0の場合は暗部が存在していないことを表している。また、最小肌色階調sp_minが255かつ、最大肌色階調sp_maxが0の場合は肌色部が存在していないことを表している。そこで、あるフレームにおいて、最小暗部階調dp_minが15、最大
暗部階調dp_maxが25、最小肌色階調sp_minが255、最大肌色階調sp_maxが0(肌色階調がない)であったと想定する。この場合肌色の補正をする必要が無いので、図6のように暗部に階調を割り当てるγカーブを作成する。
【0022】
また、別のフレームにおいて、最小暗部階調dp_minが128、最大暗部階調dp_maxが0(暗部階調がない)、最小肌色階調sp_minが40、最大肌色階調sp_maxが55であったと想定する。この場合は暗部の補正をする必要が無いので、図7のように肌色部に階調を割り当てるγカーブを作成する。
【0023】
γ変換部104は、入力画像信号中のγカーブを作成する元となったフレーム画像にγカーブ作成部103で作成したγカーブを適用して階調変換を行い、γ変換後のデータを出力する。これにより、出力画像信号が得られる。
【0024】
以上説明したように、本実施例の画像処理方法によれば、取得したヒストグラムの暗部と肌色部の階調に基づいて、暗部と肌色部が隣接している、あるいは同じ領域に存在する場合は、人物画像が存在していると判定する。この場合、暗部は髪の毛であると判定して検出された肌色階調範囲および暗部階調範囲に対してビット数を割り当て、階調伸長制御を行うようなγカーブを作成する。このようにダイナミックγ処理を行うことにより、暗部も肌色部も共に良好に再現する表示を行うことができる。
【0025】
また、入力画像中に暗部のみが存在する場合は、暗部に階調を割り当てるγカーブを作成するので、暗部を良好に再現することができる。さらに、入力画像中に肌色部のみが存在する場合は、肌色部に階調を割り当てるγカーブを作成するので、肌色を良好に再現することができる。
【0026】
<実施例2>
本実施例においては、γカーブの作成方法が実施例1とは異なる画像処理装置について説明を行う。なお、装置の構成自体は実施例1において図1を用いて説明したものと同じである。以下、実施例1と異なる部分を中心に画像処理の流れを述べる。
ヒストグラム検出部101は、実施例1と同様に、1フレーム(全画面)分の入力画像信号に基づいて、全画面輝度ヒストグラム、全画面肌色輝度ヒストグラムを検出する。また、画面を10×10の領域に分割して、各領域の輝度ヒストグラム、累積輝度ヒストグラム、肌色輝度ヒストグラム、累積肌色輝度ヒストグラムを検出する。人物検出部102は、実施例1と同様に、最小暗部階調dp_min、最大暗部階調dp_max、暗部面積dp_s、最小肌色階調sp_min、最大肌色階調sp_max、肌色面積sp_sを求め、γカーブ作成部103に出力する。
そして、γカーブ作成部103は、これらの人物検出部102から入力されたデータを用いてγカーブを作成する。
【0027】
これから作成しようとするγカーブにおける、直線的な変換からの暗部伸長の度合いを表したものを、暗部伸長量dp_aとする。また、処理対象のフレーム画像における最大限の暗部伸長量を、最大暗部伸長量dp_a_maxとする。また、フレーム画像の全画面輝度ヒストグラムにおいて、全ての階級の度数を足し合わせた値を、dp_s_maxとする。この時の暗部伸長量dp_aを、以下の式(1)で表す。
dp_a = (dp_s / dp_s_max) × dp_a_max …式(1)
式(1)は、暗部面積dp_sが全画面輝度ヒストグラム中に占める割合が大きいほど、暗部伸長量dp_aの値が大きくなることを表している。
この式は一例であり、暗部面積dp_sに応じて暗部伸長量dp_aを決定する式であればよい。図8は暗部面積dp_sがdp_s_maxの1/2の場合の例であり、この時の暗部伸長量dp_aは、式(1)のdp_sにdp_s_max/2を代入して、d
p_a_max/2という値が得られる。また、最大暗部伸長量dp_a_maxは、画像の特性や視聴者の嗜好に応じて適宜変更することが可能である。
【0028】
同様に、γカーブにおいて肌色を伸長させる度合いを表したものを肌色部伸長量sp_a、処理対象のフレーム画像における最大限の肌色部伸長量を、最大肌色部伸長量sp_a_maxとする。図9は肌色伸長量を示す図である。また、フレーム画像の全画面輝度ヒストグラムにおいて、全ての階級の度数を足し合わせた値を、sp_s_maxとする。この時の肌色部伸長量sp_aを、以下の式(2)で表す。
sp_a = (sp_s / sp_s_max) × sp_a_max …式(2)
式(2)は、肌色部面積sp_sが全画面肌色輝度ヒストグラム中に占める割合が大きいほど肌色部伸長量sp_aの値が大きくなることを表している。この式は一例であり、肌色部面積sp_sに応じて肌色部伸長量sp_aを決定する式であればよい。図9は肌色部面積sp_sがsp_s_maxの1/2の場合の例であり、この時の肌色部伸長量sp_aは、式(2)のsp_sにsp_s_max/2を代入して、sp_a_max/2という値が得られる。また、最大肌色部伸長量sp_a_maxは、画像の特性や視聴者の嗜好に応じて適宜変更することが可能である。
なお、本実施例においては、dp_s_maxとsp_s_maxは共に全画面輝度ヒストグラムの全階級の度数の和であり、同じ値となる。しかし、実際の処理においては、両者の値を互いに独立に変更することが可能であり、柔軟なダイナミックγ処理を実現することができる。
【0029】
γカーブ作成部103は、以上のようにして得られた暗部伸長量dp_aと、肌色部伸長量sp_aを用いて暗部と肌色部に階調を割り当てるγカーブを作成する。
γ変換部104は、入力画像信号から、γカーブ作成部103で作成したγカーブから階調変換を行い、γ変換後のデータを出力する。
【0030】
以上説明したように、本実施例の方法によれば、肌色領域の面積に応じて肌色部の階調伸長量と、暗部階調領域の面積に応じて暗部の階調伸長量を算出し、暗部と肌色部に階調を割り当てるγカーブを作成する。このようにダイナミックγ処理を行うことにより、暗部も肌色部も共に良好に再現する表示を行うことができる。
【0031】
<実施例3>
本実施例においては、ヒストグラムの検出方法と、γカーブの作成方法が実施例1、2とは異なる画像処理装置について説明を行う。なお、装置の構成自体は実施例1において図1を用いて説明したものと同じである。以下、実施例1と異なる部分を中心に画像処理の流れを述べる。
ヒストグラム検出部101は、画面を10×10の領域に分割して、各領域の輝度ヒストグラム、累積輝度ヒストグラム、肌色輝度ヒストグラム、累積肌色輝度ヒストグラムを検出する。人物検出部102は、最小暗部階調dp_min、最小肌色階調sp_minを求め、γカーブ作成部103に出力する。
そして、γカーブ作成部103は、これらの人物検出部102から入力されたデータを用いてγカーブを作成する。
【0032】
本実施例では、人物検出部102で検出された最小暗部階調dp_min、最小肌色階調sp_minを用いてγカーブを作成する。実施例1、2では、最小暗部階調dp_minから最大暗部階調dp_maxの階調と、最小肌色階調sp_minから最大肌色階調sp_maxの階調に、階調を割り当てるγカーブを適用していた。一方本実施例では、最小暗部階調dp_minと最小肌色階調sp_min近辺に階調を割り当てるγカーブを適用する。比較的暗い階調の暗部や肌色は、黒つぶれやくすみなどが分かりやすい。そこで、最小暗部階調dp_minと最小肌色階調sp_minのみを用いてγカーブを
作成することでも、良好な階調再現を行うことができる。
【0033】
γカーブ作成部103は、最小暗部階調dp_minと最小肌色階調sp_minから暗部と肌色部に階調を割り当てるγカーブを作成する。図10は、最小暗部階調dp_minの近辺と、最小肌色階調sp_minの近辺に階調を割り当てたγカーブの一例を示す図である。
γ変換部104は、入力画像信号から、γカーブ作成部103で作成したγカーブから階調変換を行い、γ変換後のデータを出力する。
【0034】
以上説明したように、本実施例の方法によれば、暗部と肌色部の暗い階調に階調を割り当てるγカーブを作成する。このようにダイナミックγ処理を行うことにより、暗部も肌色部も共に良好に再現する表示を行うことができる。
【符号の説明】
【0035】
100 画像処理装置
101 ヒストグラム検出部
102 人物検出部
103 γカーブ作成部
104 γ変換部
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理方法に関するものである。
【背景技術】
【0002】
入力画像信号の特徴に応じて適応的にγ処理を実行する画像処理方法があり、ダイナミックγ処理と呼ばれる。さらに肌色部分の面積、平均輝度等に応じてダイナミックγ処理を行うことで肌色の再現性を改善する技術も知られている(特許文献1)。また、人物の肌領域と、髪領域を抽出し、人物の有無を検出する技術も知られている(特許文献2)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平7−288836号公報
【特許文献2】特開2007−087123号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、肌色を検出し、肌色の階調再現性を高める従来の技術では、肌色の階調再現性が改善されても、肌色周囲のオブジェクトに対する階調再現性が逆に劣化する恐れがあった。
例えば、暗い(黒い)髪の毛の人物が存在する画像が入力されたとする。従来技術では、人物の肌色の面積と、入力画像信号の平均輝度レベルから、肌色補正信号を算出し、肌色に階調を割り当てるγカーブを作成し、ダイナミックγ処理を行う。しかし、このようなγカーブでは、肌色部の輝度階調に対し表示ビット数が多く割り当てられるため、周囲の暗い髪の毛部分への表示ビット数の割り当てが減少する。その結果、暗い髪の毛部分の階調つぶれや疑似輪郭が発生する恐れがあった。
【0005】
本発明は上記実情に鑑みてなされたものであって、ダイナミックγ処理において、入力画像中の肌色部と暗部の検出結果に応じたγカーブを作成し、良好な階調再現を実現するための技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決するために、本発明では以下の構成を採用する。すなわち、入力画像信号中のフレーム画像を複数の領域に分割し、各分割領域において、輝度成分を抽出して輝度ヒストグラムを作成し、かつ、所定の色成分を肌色として抽出して肌色輝度ヒストグラムを作成するヒストグラム検出部と、前記輝度ヒストグラムおよび前記肌色輝度ヒストグラムを用いて、フレーム画像に人物が含まれるかどうかを検出する人物検出部と、前記人物検出部による検出結果に基づいてγカーブを作成するγカーブ作成部と、フレーム画像に前記γカーブを適用して出力画像信号を作成するγ変換部と、を備え、前記ヒストグラム検出部は、各分割領域の輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第1の閾値を超え、かつ、前記第1の閾値を超えた時の階級値が所定の階級値よりも小さい場合、前記第1の閾値を超えた時の階級値を暗部階調として検出し、フレーム画像内の各分割領域の暗部階調を比較して当該フレーム画像における最小暗部階調と最大暗部階調を求め、分割領域の肌色輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第2の閾値を超えた場合、前記第2の閾値を超えた時の階級値を肌色階調として検出し、フレーム画像内の各分割領域の肌色階調を比較して当該フレーム画像における最小肌色階調と最大肌色階調を求め、前記人物検出部は、暗部階調が検出された分割領域を中心とする所定の範囲に、肌色領
域が検出された分割領域が存在する場合、前記フレーム画像に人物が含まれると判定し、前記γカーブ作成部は、人物が含まれると判定された場合に、最小暗部階調と最大暗部階調の間の範囲、および、最小肌色階調と最大肌色階調の間の範囲に割り当てる階調数を増やすようにγカーブを作成することを特徴とする画像処理装置である。
【0007】
本発明ではまた、以下の構成を採用する。すなわち、入力画像信号中のフレーム画像を複数の領域に分割し、各分割領域において、輝度成分を抽出して輝度ヒストグラムを作成し、かつ、所定の色成分を肌色として抽出して肌色輝度ヒストグラムを作成するヒストグラム検出ステップと、前記輝度ヒストグラムおよび前記肌色輝度ヒストグラムを用いて、フレーム画像に人物が含まれるかどうかを検出する人物検出ステップと、前記人物検出部による検出結果に基づいてγカーブを作成するγカーブ作成ステップと、フレーム画像に前記γカーブを適用して出力画像信号を作成するγ変換ステップと、を含み、前記ヒストグラム検出ステップは、各分割領域の輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第1の閾値を超え、かつ、前記第1の閾値を超えた時の階級値が所定の階級値よりも小さい場合、前記第1の閾値を超えた時の階級値を暗部階調として検出し、フレーム画像内の各分割領域の暗部階調を比較して当該フレーム画像における最小暗部階調と最大暗部階調を求め、分割領域の肌色輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第2の閾値を超えた場合、前記第2の閾値を超えた時の階級値を肌色階調として検出し、フレーム画像内の各分割領域の肌色階調を比較して当該フレーム画像における最小肌色階調と最大肌色階調を求め、前記人物検出ステップは、暗部階調が検出された分割領域を中心とする所定の範囲に、肌色領域が検出された分割領域が存在する場合、前記フレーム画像に人物が含まれると判定し、前記γカーブ作成ステップは、人物が含まれると判定された場合に、最小暗部階調と最大暗部階調の間の範囲、および、最小肌色階調と最大肌色階調の間の範囲に割り当てる階調数を増やすようにγカーブを作成することを特徴とする画像処理方法である。
【発明の効果】
【0008】
本発明によれば、ダイナミックγ処理において、入力画像中の肌色部と暗部の検出結果に応じたγカーブを作成し、良好な階調再現を実現することができるようになる。
【図面の簡単な説明】
【0009】
【図1】実施例1の画像処理装置のブロック図。
【図2】ヒストグラム検出部により検出されたヒストグラムを示す図。
【図3】実施例1で最小暗部階調を検出する際のフローチャート。
【図4】実施例1で最大暗部階調を検出する際のフローチャート。
【図5】実施例1で暗部階調と肌色階調が存在する場合のγカーブ。
【図6】実施例1で暗部階調のみが存在する場合のγカーブ。
【図7】実施例1で肌色階調のみが存在する場合のγカーブ。
【図8】実施例2の暗部伸長量を説明する図。
【図9】実施例2の肌色部伸長量を説明する図。
【図10】実施例3で用いるγカーブ。
【発明を実施するための形態】
【0010】
以下、本発明の画像処理装置について、図面を参照しつつ説明する。この画像処理装置は入力画像信号にダイナミックγ処理を施し、階調変換された出力画像信号を得るものである。この画像処理装置はテレビジョン、STB(Set Top Box)、コンピュータ用のデ
ィスプレイ装置などと接続したり、これらに組み込んだりして用いることができる。以下に記述するブロックは、専用の回路を用いることもできるし、CPU上で動作するプログラムであっても良い。また、以下の画像処理装置が行うそれぞれの処理をコンピュータ用
のプログラムなどに実行させることにより、本発明を画像処理方法として実現することができる。
なお、人物の肌の色には個体差があり、また、画像の撮影環境によって色合いは変化する。以下の記載における肌色とは、特定の人物の肌の色に限定されるものではなく、撮影対象や撮影環境に応じて柔軟に変更することができる。
【0011】
<実施例1>
図1は本実施例の画像処理装置のブロック図を示している。図1に示す画像処理装置100はヒストグラム検出部101と、人物検出部102と、γカーブ作成部103と、γ変換部104から構成されている。各ブロックの動作を以下で説明する。
【0012】
ヒストグラム検出部101は、入力画像信号を輝度成分と色彩成分に分けた場合の輝度成分を抽出し、予め定められた階調範囲に基づいて輝度ヒストグラムを検出する。また、入力画像信号から肌色成分を抽出し、肌色輝度ヒストグラムを検出する。どのような色成分を肌色として認識するかは、画像中の人物の肌特性や使用者の嗜好によって自由に定めることができる。例えば、RGB表色系やLab表色系などで所定の数値範囲で指定すれば良い。この処理は入力画像信号のフレーム(全画面)ごとに行われるので、ここで得られた輝度ヒストグラムのことを後に「全画面輝度ヒストグラム」と呼び、肌色輝度ヒストグラムのことを後に「全画面肌色輝度ヒストグラム」と呼ぶ。
さらに、ヒストグラム検出部101は、入力画像信号中の1つのフレーム画像を複数の領域に分割する。そして、各領域の輝度ヒストグラムと、肌色輝度ヒストグラムを検出する。また、検出した各領域の輝度ヒストグラムの、輝度が低い側の階級から順に度数の合計値を取ることにより累積輝度ヒストグラムを作成する。また、各領域の肌色輝度ヒストグラムの、輝度が低い側の階級から順に度数の合計値を取ることにより肌色累積輝度ヒストグラムを作成する。
本実施例では、1フレーム分の画面を縦10×横10の、計100個の領域に分割して、各領域の輝度ヒストグラムと肌色輝度ヒストグラムを検出する。分割した各領域には、1〜100までの領域番号をつける。なお、本実施例では入力画像信号中の1つのフレーム画像内を10×10に分割しているが、この値は任意であり、例えば10×5や6×3でも良い。また、検出するヒストグラムは256階級とし、0〜255の階級値を持つものとする。
図2は、ヒストグラム検出部101により検出されたヒストグラムを示す図である。図2(a)は、分割されたある領域の輝度成分のみを抽出した輝度ヒストグラムの一例を示す図である。図2(b)は、分割されたある領域の肌色成分の輝度のみを抽出した肌色輝度ヒストグラムの一例を示す図である。
【0013】
人物検出部102は、フレーム画像内に人物が含まれるかどうかを検出し、検出結果を後続処理に送る。人物検出部102は、ヒストグラム検出部101で検出した各領域の累積輝度ヒストグラムから暗部階調dp[a]を算出し、肌色累積輝度ヒストグラムから肌色階調sp[a]を算出する。ここで、aは分割した各領域につけた領域番号(1〜100)である。ここで、暗部階調dp[a]は、領域番号aにおいて、累積輝度ヒストグラムが閾値th1を超えた時の階調値(階級)である。閾値th1は所定の値であり、本発明の第1の閾値に当たる。また、肌色階調sp[a]は、領域番号aにおいて、肌色累積輝度ヒストグラムが閾値th2を超えた時の階調値(階級)である。閾値th2は所定の値であり、本発明の第2の閾値に当たる。
ただし、検出された暗部階調dp[a]が全階調範囲の中央値以上の場合、暗部階調は検出されなかったものとする。本例のヒストグラムは256階級なので、中央の128という階級が基準となる。そして、ある領域で閾値th1を超えた時の階級が128以上ならば、暗部階調は検出されなかったものとして、dp[a]に−1を設定する。なお、ここで中央値を境界としたのは一例に過ぎず、画像特性等の処理の実情に合わせて適宜変更
して構わない。また、累積ヒストグラムが最後まで閾値th1を超えなかった場合も、dp[a]に−1を設定する。
また、肌色階調sp[a]を検出する際に、累積ヒストグラムが最後まで閾値th2を超えなければ、その領域の肌色階調sp[a]に−1を設定する。
【0014】
人物検出部102は、さらに、各分割領域にて検出された暗部階調を比較する。そして、それらの中で最も暗い暗部階調を最小暗部階調dp_min、最も明るい暗部階調を最大暗部階調dp_maxとしてγカーブ作成部103に出力する。なお、この処理に当たっては、たとえ暗部階調が検出された分割領域であっても、同じ領域もしくは隣接する領域に肌色階調が検出されなかった領域は除外される。
人物検出部102は、また、各分割領域にて検出された肌色階調を比較する。そして、それらの中で最も暗い肌色階調を最小肌色階調sp_min、最も明るい肌色階調を最大肌色階調sp_maxとし、γカーブ作成部103に出力する。
【0015】
最小暗部階調dp_minを検出するフローチャートを図3に示す。このフローにおいては、各分割領域について暗部階調検出が行われていることが前提となる。
ステップS111は初期化のステップであり、最小暗部階調dp_minを128(256階級のヒストグラムを検出しているため、256の半分である128階調以下を暗部と判断する)、領域番号aを1に設定する。
ステップS112で、領域番号aが100より大きいかどうか判定し、100より大きくなければステップS113へ進む。100より大きければステップS118に進み、処理を終了する。
ステップS113でdp[a]が−1かどうか(暗部階調が検出されているかどうか)判定し、−1でなければステップS114へ進む。−1であればaに1を加え(S117)、ステップS112へ戻る。
ステップS114で、暗部階調dp[a]が検出された領域aを中心とする3×3の領域内に肌色階調sp[a]が検出されていれば、ステップS115へ進む。検出されていなければaに1を加え(S117)、ステップS112へ戻る。これにより、暗部と肌色が近接している部分(すなわち、髪と肌が近接している可能性が高い部分)が判別でき、人物が検出できる。なお、この3×3という範囲は本実施例における所定の値に過ぎない。どのような範囲を設定するかは、例えば要求される検出感度、一つの分割領域の広さ、画像の特性などによって定められるべきものである。
ステップS115で、暗部階調dp[a]と最小暗部階調dp_minを比較し、dp[a]<dp_minならばステップS116へ進み、そうでなければaに1を加え(S117)、ステップS112へ戻る。
ステップS116でdp_min=dp[a]に更新し、aに1を加え、ステップS112へ戻る。
本実施例では、図3のフローチャートによって、15という最小暗部階調dp_minが得られたものとする。
【0016】
最大暗部階調dp_maxを検出するフローチャートを図4に示す。このフローにおいても、各分割領域について暗部階調検出が行われていることが前提となる。
ステップS121で、最大暗部階調dp_maxを0、領域番号aを1に初期化する。
ステップS122で、領域番号aが100より大きいかどうか判定し、100より大きくなければステップS123へ進む。100より大きければステップS128に進み、処理を終了する。
ステップS123でdp[a]が−1かどうか(暗部階調が検出されているかどうか)判定し、−1でなければステップS124へ進む。−1であればaに1を加え(S127)、ステップS122へ戻る。
ステップS124で、暗部階調dp[a]が検出された領域aを中心とする3×3の領
域内にsp[a]が検出されていれば、ステップS125へ進む。検出されていなければaに1を加え(S127)、ステップS122へ戻る。
ステップS125で、暗部階調dp[a]と最大暗部階調dp_maxを比較し、dp[a]>dp_maxならばステップS126へ進み、そうでなければaに1を加え(S127)、ステップS122へ戻る。
ステップS126でdp_max=dp[a]に更新し、aに1を加え(S127)、ステップS122へ戻る。
本実施例では、図4のフローチャートによって、25という最大暗部階調dp_maxが得られたとものする。
【0017】
最小肌色階調sp_minを検出する際には、まず、最小肌色階調sp_minを255、領域番号aを1に初期化する。そして、領域番号aを100まで1ずつ加算しつつ、sp[a]が−1かどうか(肌色階調が検出されているか)判定する。検出されていれば、sp[a]と、現時点での最小肌色階調sp_minを比較する。そして、sp[a]の方が小さければ、sp_minを更新する。
本実施例では、この処理を領域番号100まで繰り返すことにより、40という最小肌色階調sp_minが得られたものとする。
【0018】
最大肌色階調sp_maxを検出する際には、まず、最大肌色階調sp_maxを0、領域番号aを1に初期化する。そして、領域番号aを100まで1ずつ加算しつつ、sp[a]が−1かどうか(肌色階調が検出されているか)判定する。検出されていれば、sp[a]と、現時点での最大肌色階調sp_maxを比較する。そして、sp[a]の方が大きければ、sp_maxを更新する。
本実施例では、この処理を領域番号100まで繰り返すことにより、55という最大肌色階調sp_maxが得られたものとする。
【0019】
また、ヒストグラム検出部101で検出した入力画像の全画面輝度ヒストグラムを用いて、最小暗部階調dp_minから最大暗部階調dp_maxまでの度数を積算した暗部面積dp_sを求めて、γカーブ作成部103に出力する。同様に、入力画像の全画面肌色輝度ヒストグラムを用いて、最小肌色階調sp_minから最大肌色階調sp_maxまでの度数を積算した肌色面積sp_sを求めて、γカーブ作成部103に出力する。
【0020】
暗部と肌色部が共に検出された場合、γカーブ作成部103は以下の情報からγカーブを作成する。すなわち、人物検出部102で検出された最小暗部階調dp_min、最大暗部階調dp_max、最小肌色階調sp_min、最大肌色階調sp_max、暗部面積dp_s、肌色面積sp_sである。
図5に示すように、暗部階調の伸長範囲はdp_minおよびdp_maxに基づいて決定され、15〜25の範囲である。暗部伸長量は暗部面積dp_sに比例する。また、肌色階調の伸長範囲はsp_minおよびsp_maxに基づいて決定され、40〜55である。肌色部伸長量は肌色面積sp_sに比例する。
本実施例では、最小暗部階調dp_minの値15と、最大暗部階調dp_maxの値25と、最小肌色階調sp_minの値40と、最大肌色階調sp_maxの値55から図5のようなγカーブを作成する。なお、図5中の点線は、入力画像信号をそのまま出力した場合の変換直線であり、実線が作成したγカーブである。このように、値が15〜25の間の範囲と、40〜55の間の範囲に多くの階調数が割当てられている。
【0021】
人物検出部102で、最小暗部階調dp_minが128かつ、最大暗部階調dp_maxが0の場合は暗部が存在していないことを表している。また、最小肌色階調sp_minが255かつ、最大肌色階調sp_maxが0の場合は肌色部が存在していないことを表している。そこで、あるフレームにおいて、最小暗部階調dp_minが15、最大
暗部階調dp_maxが25、最小肌色階調sp_minが255、最大肌色階調sp_maxが0(肌色階調がない)であったと想定する。この場合肌色の補正をする必要が無いので、図6のように暗部に階調を割り当てるγカーブを作成する。
【0022】
また、別のフレームにおいて、最小暗部階調dp_minが128、最大暗部階調dp_maxが0(暗部階調がない)、最小肌色階調sp_minが40、最大肌色階調sp_maxが55であったと想定する。この場合は暗部の補正をする必要が無いので、図7のように肌色部に階調を割り当てるγカーブを作成する。
【0023】
γ変換部104は、入力画像信号中のγカーブを作成する元となったフレーム画像にγカーブ作成部103で作成したγカーブを適用して階調変換を行い、γ変換後のデータを出力する。これにより、出力画像信号が得られる。
【0024】
以上説明したように、本実施例の画像処理方法によれば、取得したヒストグラムの暗部と肌色部の階調に基づいて、暗部と肌色部が隣接している、あるいは同じ領域に存在する場合は、人物画像が存在していると判定する。この場合、暗部は髪の毛であると判定して検出された肌色階調範囲および暗部階調範囲に対してビット数を割り当て、階調伸長制御を行うようなγカーブを作成する。このようにダイナミックγ処理を行うことにより、暗部も肌色部も共に良好に再現する表示を行うことができる。
【0025】
また、入力画像中に暗部のみが存在する場合は、暗部に階調を割り当てるγカーブを作成するので、暗部を良好に再現することができる。さらに、入力画像中に肌色部のみが存在する場合は、肌色部に階調を割り当てるγカーブを作成するので、肌色を良好に再現することができる。
【0026】
<実施例2>
本実施例においては、γカーブの作成方法が実施例1とは異なる画像処理装置について説明を行う。なお、装置の構成自体は実施例1において図1を用いて説明したものと同じである。以下、実施例1と異なる部分を中心に画像処理の流れを述べる。
ヒストグラム検出部101は、実施例1と同様に、1フレーム(全画面)分の入力画像信号に基づいて、全画面輝度ヒストグラム、全画面肌色輝度ヒストグラムを検出する。また、画面を10×10の領域に分割して、各領域の輝度ヒストグラム、累積輝度ヒストグラム、肌色輝度ヒストグラム、累積肌色輝度ヒストグラムを検出する。人物検出部102は、実施例1と同様に、最小暗部階調dp_min、最大暗部階調dp_max、暗部面積dp_s、最小肌色階調sp_min、最大肌色階調sp_max、肌色面積sp_sを求め、γカーブ作成部103に出力する。
そして、γカーブ作成部103は、これらの人物検出部102から入力されたデータを用いてγカーブを作成する。
【0027】
これから作成しようとするγカーブにおける、直線的な変換からの暗部伸長の度合いを表したものを、暗部伸長量dp_aとする。また、処理対象のフレーム画像における最大限の暗部伸長量を、最大暗部伸長量dp_a_maxとする。また、フレーム画像の全画面輝度ヒストグラムにおいて、全ての階級の度数を足し合わせた値を、dp_s_maxとする。この時の暗部伸長量dp_aを、以下の式(1)で表す。
dp_a = (dp_s / dp_s_max) × dp_a_max …式(1)
式(1)は、暗部面積dp_sが全画面輝度ヒストグラム中に占める割合が大きいほど、暗部伸長量dp_aの値が大きくなることを表している。
この式は一例であり、暗部面積dp_sに応じて暗部伸長量dp_aを決定する式であればよい。図8は暗部面積dp_sがdp_s_maxの1/2の場合の例であり、この時の暗部伸長量dp_aは、式(1)のdp_sにdp_s_max/2を代入して、d
p_a_max/2という値が得られる。また、最大暗部伸長量dp_a_maxは、画像の特性や視聴者の嗜好に応じて適宜変更することが可能である。
【0028】
同様に、γカーブにおいて肌色を伸長させる度合いを表したものを肌色部伸長量sp_a、処理対象のフレーム画像における最大限の肌色部伸長量を、最大肌色部伸長量sp_a_maxとする。図9は肌色伸長量を示す図である。また、フレーム画像の全画面輝度ヒストグラムにおいて、全ての階級の度数を足し合わせた値を、sp_s_maxとする。この時の肌色部伸長量sp_aを、以下の式(2)で表す。
sp_a = (sp_s / sp_s_max) × sp_a_max …式(2)
式(2)は、肌色部面積sp_sが全画面肌色輝度ヒストグラム中に占める割合が大きいほど肌色部伸長量sp_aの値が大きくなることを表している。この式は一例であり、肌色部面積sp_sに応じて肌色部伸長量sp_aを決定する式であればよい。図9は肌色部面積sp_sがsp_s_maxの1/2の場合の例であり、この時の肌色部伸長量sp_aは、式(2)のsp_sにsp_s_max/2を代入して、sp_a_max/2という値が得られる。また、最大肌色部伸長量sp_a_maxは、画像の特性や視聴者の嗜好に応じて適宜変更することが可能である。
なお、本実施例においては、dp_s_maxとsp_s_maxは共に全画面輝度ヒストグラムの全階級の度数の和であり、同じ値となる。しかし、実際の処理においては、両者の値を互いに独立に変更することが可能であり、柔軟なダイナミックγ処理を実現することができる。
【0029】
γカーブ作成部103は、以上のようにして得られた暗部伸長量dp_aと、肌色部伸長量sp_aを用いて暗部と肌色部に階調を割り当てるγカーブを作成する。
γ変換部104は、入力画像信号から、γカーブ作成部103で作成したγカーブから階調変換を行い、γ変換後のデータを出力する。
【0030】
以上説明したように、本実施例の方法によれば、肌色領域の面積に応じて肌色部の階調伸長量と、暗部階調領域の面積に応じて暗部の階調伸長量を算出し、暗部と肌色部に階調を割り当てるγカーブを作成する。このようにダイナミックγ処理を行うことにより、暗部も肌色部も共に良好に再現する表示を行うことができる。
【0031】
<実施例3>
本実施例においては、ヒストグラムの検出方法と、γカーブの作成方法が実施例1、2とは異なる画像処理装置について説明を行う。なお、装置の構成自体は実施例1において図1を用いて説明したものと同じである。以下、実施例1と異なる部分を中心に画像処理の流れを述べる。
ヒストグラム検出部101は、画面を10×10の領域に分割して、各領域の輝度ヒストグラム、累積輝度ヒストグラム、肌色輝度ヒストグラム、累積肌色輝度ヒストグラムを検出する。人物検出部102は、最小暗部階調dp_min、最小肌色階調sp_minを求め、γカーブ作成部103に出力する。
そして、γカーブ作成部103は、これらの人物検出部102から入力されたデータを用いてγカーブを作成する。
【0032】
本実施例では、人物検出部102で検出された最小暗部階調dp_min、最小肌色階調sp_minを用いてγカーブを作成する。実施例1、2では、最小暗部階調dp_minから最大暗部階調dp_maxの階調と、最小肌色階調sp_minから最大肌色階調sp_maxの階調に、階調を割り当てるγカーブを適用していた。一方本実施例では、最小暗部階調dp_minと最小肌色階調sp_min近辺に階調を割り当てるγカーブを適用する。比較的暗い階調の暗部や肌色は、黒つぶれやくすみなどが分かりやすい。そこで、最小暗部階調dp_minと最小肌色階調sp_minのみを用いてγカーブを
作成することでも、良好な階調再現を行うことができる。
【0033】
γカーブ作成部103は、最小暗部階調dp_minと最小肌色階調sp_minから暗部と肌色部に階調を割り当てるγカーブを作成する。図10は、最小暗部階調dp_minの近辺と、最小肌色階調sp_minの近辺に階調を割り当てたγカーブの一例を示す図である。
γ変換部104は、入力画像信号から、γカーブ作成部103で作成したγカーブから階調変換を行い、γ変換後のデータを出力する。
【0034】
以上説明したように、本実施例の方法によれば、暗部と肌色部の暗い階調に階調を割り当てるγカーブを作成する。このようにダイナミックγ処理を行うことにより、暗部も肌色部も共に良好に再現する表示を行うことができる。
【符号の説明】
【0035】
100 画像処理装置
101 ヒストグラム検出部
102 人物検出部
103 γカーブ作成部
104 γ変換部
【特許請求の範囲】
【請求項1】
入力画像信号中のフレーム画像を複数の領域に分割し、各分割領域において、輝度成分を抽出して輝度ヒストグラムを作成し、かつ、所定の色成分を肌色として抽出して肌色輝度ヒストグラムを作成するヒストグラム検出部と、
前記輝度ヒストグラムおよび前記肌色輝度ヒストグラムを用いて、フレーム画像に人物が含まれるかどうかを検出する人物検出部と、
前記人物検出部による検出結果に基づいてγカーブを作成するγカーブ作成部と、
フレーム画像に前記γカーブを適用して出力画像信号を作成するγ変換部と、
を備え、
前記ヒストグラム検出部は、
各分割領域の輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第1の閾値を超え、かつ、前記第1の閾値を超えた時の階級値が所定の階級値よりも小さい場合、前記第1の閾値を超えた時の階級値を暗部階調として検出し、
フレーム画像内の各分割領域の暗部階調を比較して当該フレーム画像における最小暗部階調と最大暗部階調を求め、
分割領域の肌色輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第2の閾値を超えた場合、前記第2の閾値を超えた時の階級値を肌色階調として検出し、
フレーム画像内の各分割領域の肌色階調を比較して当該フレーム画像における最小肌色階調と最大肌色階調を求め、
前記人物検出部は、暗部階調が検出された分割領域を中心とする所定の範囲に、肌色領域が検出された分割領域が存在する場合、前記フレーム画像に人物が含まれると判定し、
前記γカーブ作成部は、人物が含まれると判定された場合に、最小暗部階調と最大暗部階調の間の範囲、および、最小肌色階調と最大肌色階調の間の範囲に割り当てる階調数を増やすようにγカーブを作成する
ことを特徴とする画像処理装置。
【請求項2】
前記ヒストグラム検出部により、フレーム画像のいずれの分割領域からも暗部階調が検出されず、かつ、いずれかの分割領域から肌色階調が検出された場合、前記γカーブ作成部は、最小肌色階調と最大肌色階調の間の範囲に割り当てる階調数のみ増やすようにγカーブを作成する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記ヒストグラム検出部により、フレーム画像のいずれの分割領域からも肌色階調が検出されず、かつ、いずれかの分割領域から暗部階調が検出された場合、前記γカーブ作成部は、最小暗部階調と最大暗部階調の間の範囲に割り当てる階調数のみ増やすようにγカーブを作成する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記ヒストグラム検出部は、フレーム画像に含まれる分割領域における、最小暗部階調から最大暗部階調までの度数の和を、全ての分割領域について積算して暗部面積を求め、最小肌色階調から最大肌色階調までの度数の和を、全ての分割領域について積算して肌色面積を求め、
前記γカーブ作成部は、前記暗部面積に比例するように最小暗部階調から最大暗部階調の間の範囲に割り当てる階調数を決定し、前記肌色面積に比例するように最小肌色階調から最大肌色階調の間の範囲に割り当てる階調数を決定する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
入力画像信号中のフレーム画像を複数の領域に分割し、各分割領域において、輝度成分を抽出して輝度ヒストグラムを作成し、かつ、所定の色成分を肌色として抽出して肌色輝度ヒストグラムを作成するヒストグラム検出ステップと、
前記輝度ヒストグラムおよび前記肌色輝度ヒストグラムを用いて、フレーム画像に人物が含まれるかどうかを検出する人物検出ステップと、
前記人物検出ステップによる検出結果に基づいてγカーブを作成するγカーブ作成ステップと、
フレーム画像に前記γカーブを適用して出力画像信号を作成するγ変換ステップと、
を含み、
前記ヒストグラム検出ステップは、
各分割領域の輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第1の閾値を超え、かつ、前記第1の閾値を超えた時の階級値が所定の階級値よりも小さい場合、前記第1の閾値を超えた時の階級値を暗部階調として検出し、
フレーム画像内の各分割領域の暗部階調を比較して当該フレーム画像における最小暗部階調と最大暗部階調を求め、
分割領域の肌色輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第2の閾値を超えた場合、前記第2の閾値を超えた時の階級値を肌色階調として検出し、
フレーム画像内の各分割領域の肌色階調を比較して当該フレーム画像における最小肌色階調と最大肌色階調を求め、
前記人物検出ステップは、暗部階調が検出された分割領域を中心とする所定の範囲に、肌色領域が検出された分割領域が存在する場合、前記フレーム画像に人物が含まれると判定し、
前記γカーブ作成ステップは、人物が含まれると判定された場合に、最小暗部階調と最大暗部階調の間の範囲、および、最小肌色階調と最大肌色階調の間の範囲に割り当てる階調数を増やすようにγカーブを作成する
ことを特徴とする画像処理方法。
【請求項1】
入力画像信号中のフレーム画像を複数の領域に分割し、各分割領域において、輝度成分を抽出して輝度ヒストグラムを作成し、かつ、所定の色成分を肌色として抽出して肌色輝度ヒストグラムを作成するヒストグラム検出部と、
前記輝度ヒストグラムおよび前記肌色輝度ヒストグラムを用いて、フレーム画像に人物が含まれるかどうかを検出する人物検出部と、
前記人物検出部による検出結果に基づいてγカーブを作成するγカーブ作成部と、
フレーム画像に前記γカーブを適用して出力画像信号を作成するγ変換部と、
を備え、
前記ヒストグラム検出部は、
各分割領域の輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第1の閾値を超え、かつ、前記第1の閾値を超えた時の階級値が所定の階級値よりも小さい場合、前記第1の閾値を超えた時の階級値を暗部階調として検出し、
フレーム画像内の各分割領域の暗部階調を比較して当該フレーム画像における最小暗部階調と最大暗部階調を求め、
分割領域の肌色輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第2の閾値を超えた場合、前記第2の閾値を超えた時の階級値を肌色階調として検出し、
フレーム画像内の各分割領域の肌色階調を比較して当該フレーム画像における最小肌色階調と最大肌色階調を求め、
前記人物検出部は、暗部階調が検出された分割領域を中心とする所定の範囲に、肌色領域が検出された分割領域が存在する場合、前記フレーム画像に人物が含まれると判定し、
前記γカーブ作成部は、人物が含まれると判定された場合に、最小暗部階調と最大暗部階調の間の範囲、および、最小肌色階調と最大肌色階調の間の範囲に割り当てる階調数を増やすようにγカーブを作成する
ことを特徴とする画像処理装置。
【請求項2】
前記ヒストグラム検出部により、フレーム画像のいずれの分割領域からも暗部階調が検出されず、かつ、いずれかの分割領域から肌色階調が検出された場合、前記γカーブ作成部は、最小肌色階調と最大肌色階調の間の範囲に割り当てる階調数のみ増やすようにγカーブを作成する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記ヒストグラム検出部により、フレーム画像のいずれの分割領域からも肌色階調が検出されず、かつ、いずれかの分割領域から暗部階調が検出された場合、前記γカーブ作成部は、最小暗部階調と最大暗部階調の間の範囲に割り当てる階調数のみ増やすようにγカーブを作成する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記ヒストグラム検出部は、フレーム画像に含まれる分割領域における、最小暗部階調から最大暗部階調までの度数の和を、全ての分割領域について積算して暗部面積を求め、最小肌色階調から最大肌色階調までの度数の和を、全ての分割領域について積算して肌色面積を求め、
前記γカーブ作成部は、前記暗部面積に比例するように最小暗部階調から最大暗部階調の間の範囲に割り当てる階調数を決定し、前記肌色面積に比例するように最小肌色階調から最大肌色階調の間の範囲に割り当てる階調数を決定する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項5】
入力画像信号中のフレーム画像を複数の領域に分割し、各分割領域において、輝度成分を抽出して輝度ヒストグラムを作成し、かつ、所定の色成分を肌色として抽出して肌色輝度ヒストグラムを作成するヒストグラム検出ステップと、
前記輝度ヒストグラムおよび前記肌色輝度ヒストグラムを用いて、フレーム画像に人物が含まれるかどうかを検出する人物検出ステップと、
前記人物検出ステップによる検出結果に基づいてγカーブを作成するγカーブ作成ステップと、
フレーム画像に前記γカーブを適用して出力画像信号を作成するγ変換ステップと、
を含み、
前記ヒストグラム検出ステップは、
各分割領域の輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第1の閾値を超え、かつ、前記第1の閾値を超えた時の階級値が所定の階級値よりも小さい場合、前記第1の閾値を超えた時の階級値を暗部階調として検出し、
フレーム画像内の各分割領域の暗部階調を比較して当該フレーム画像における最小暗部階調と最大暗部階調を求め、
分割領域の肌色輝度ヒストグラムにおいて輝度が低い側の階級から順に度数を加算した時に、度数の合計値が第2の閾値を超えた場合、前記第2の閾値を超えた時の階級値を肌色階調として検出し、
フレーム画像内の各分割領域の肌色階調を比較して当該フレーム画像における最小肌色階調と最大肌色階調を求め、
前記人物検出ステップは、暗部階調が検出された分割領域を中心とする所定の範囲に、肌色領域が検出された分割領域が存在する場合、前記フレーム画像に人物が含まれると判定し、
前記γカーブ作成ステップは、人物が含まれると判定された場合に、最小暗部階調と最大暗部階調の間の範囲、および、最小肌色階調と最大肌色階調の間の範囲に割り当てる階調数を増やすようにγカーブを作成する
ことを特徴とする画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2011−55185(P2011−55185A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願番号】特願2009−201429(P2009−201429)
【出願日】平成21年9月1日(2009.9.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願日】平成21年9月1日(2009.9.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]