撮像装置
【課題】高色温度下において撮影された肌色を低色温度下の白色と誤判別し、人の肌を白色にしてしまうという課題を解決する。
【解決手段】撮影画面上の所定の有彩色領域を指定する指定手段と、
前記指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理するホワイトバランス処理手段とを有することを特徴とする撮像装置。
【解決手段】撮影画面上の所定の有彩色領域を指定する指定手段と、
前記指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理するホワイトバランス処理手段とを有することを特徴とする撮像装置。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、例えば、デジタルカメラやビデオカメラなどの撮像装置のホワイトバランス処理に関するものである。
【0002】
【従来の技術】
従来の撮像装置におけるホワイトバランス処理は以下のように行われている。
【0003】
まず、撮像素子から原色フィルタを通過して出力された信号は、AD変換によってデジタル化され、図1(a)のようなブロックにそれぞれ分割される。ただし各ブロックは、図1(b)に示すように、色信号R、G1、G2、Bを一つずつ含む単位で構成される。これらのブロックのそれぞれに対して、色評価値
【外1】
を算出する。(ここで、Cx=(R−B)/Y,Cy=(R+B−2)/Y)
【0004】
図2は、横軸をCx=(R−B)/Y、縦軸をCy=(R+B−2)/Yとした色空間を示しており、あらかじめ白色を高色温度下から低色温度下まで撮影し、色評価値Cx、Cyをプロットすることで定められた白軸を示している。実際の光源において白色には若干のばらつきが存在するため、白軸を中心として幅を持たせた範囲を白検出範囲(白と判断すべき領域)とする。すなわち、各ブロックについて求められた色評価値Cx、Cyを図2の色軸にプロットする。そして、これらのうち白検出範囲に含まれる色評価値のブロックを白色であると仮定する。さらに、白検出範囲に入った色画素の積分値SumR、SumG1、SumG2、SumBを算出して、以下の式を用いることでホワイトバランスゲインを算出する。ただしkWB_R、kWB_G1、kWB_G2、kWB_Bはそれぞれ色信号R、G1、G2、Bのホワイトバランスゲインである。
【0005】
【外2】
【0006】
【発明が解決しようとする課題】
しかしながら、従来のホワイトバランス係数算出において以下のような欠点があった。高色温度下において、白色の色評価値は図2の領域A付近に分布する。しかしながら、高色温度光源下において、人の肌の色評価値Cx、Cyを色軸にプロットすると、白検出範囲における低色温度側に分布してしまう。従って、撮影画面に白色が少なくかつ人肌がアップのシーンでは画面の色評価値は図2の領域Bに分布することになってしまう。つまり肌色を低色温度下の白色と誤判別し、人の肌を白色にしてしまうという問題があった。
【0007】
【課題を解決するための手段】
上述した課題を解決するために、本願発明によれば、撮影画面上の所定の有彩色領域を指定する指定手段と、
前記指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理するホワイトバランス処理手段とを有することを特徴とする撮像装置を提供する。
【0008】
【発明の実施の形態】
以下、添付の図面に沿って本発明の実施の形態を説明する。
【0009】
(第1の実施の形態)
図3は、本発明の実施形態に係わるホワイトバランス装置を備える撮像装置の概略構成を示すブロック図である。
【0010】
図3において、レンズ1を通過した光をCCDなどの撮像素子2において受光し、撮像素子2からの出力信号をA/D変換器3においてデジタル信号にした後、WB回路4においてホワイトバランス処理を実行し、色信号作成回路5において色差信号U,Vを作成し、また、輝度信号作成回路6において輝度信号Yを作成する。このような処理によって、カラー画像を得ている。また、指示部7は撮像画面内の一部領域を指定したり、ホワイトバランスのモードを設定したりするものである。
【0011】
本実施の形態の撮像装置における動作処理を図5にフローチャートとして示し、その動作処理を説明する。
【0012】
まず、ステップS101において、ホワイトバランスの調整を行うためのモードを肌色測色モードにする。
【0013】
ステップS102において、撮影者は、指示部7を用いた操作により不図示のEVF(電子ビューファインダ)上において表示される撮像画面上の検出枠(図7参照)を移動させて、被写体の顔などの肌色部分に一致させる。このとき、指示部7はタッチパネルや視線入力を採用してもよい。そして、撮影者が不図示のキャリブレーションスイッチをONすると、WB回路においてこの枠内の色信号(撮像素子からの出力信号)が抽出される。
【0014】
そして、ステップS103において、まず枠内における撮像素子からの信号を(R、G1、G2、B)を含む複数のブロックに分割し、この最小単位を1ブロックとする(図1(b)参照)。次にこの1ブロックごとに、肌色であるか否かの判定を行う。
【0015】
ここで、判定方法について説明する。まず、予め高色温度から低色温度までの光源下における肌色の色評価値Cx、Cyを実験的にそれぞれ求め、基準となる肌軸を決定する。そして、各色温度光源下に対応する色評価値Cxを不図示のROMに書き込んでおく。さらに、例えば蛍光灯下など、様々な光源における肌色のCx、Cyを測定することでこれらが肌色として判断されるように上述した肌軸に幅を持たせ、肌色と判断すべき肌色検出範囲として決定する。この肌軸および肌色検出範囲を図4の色空間上に示す。図4は、図2と同様に、横軸をCx=(R−B)/Y、縦軸をCy=(R+B−2)/Yとした色空間である。本実施の形態においては、ブロックごとに求められた色評価値Cx、Cyがこの予め肌色検出範囲に入るか否かで判定を行う。ただし、色評価値Cx、Cyは式(1)から算出するものとする。
【0016】
ここで、Cxは色温度に対応し、Cyは緑方向補正量に対応している。そして、あるシーンの肌色が例えば図4の領域Bに存在する場合、領域Bは、肌色検出範囲の相対的に高色温度側に位置するので、光源は高色温度と判定することができる。
【0017】
ステップS105では肌色から求まる光源の色温度および肌色と判定されたブロックの集合と肌軸との距離(すなわち、肌色検出範囲に含まれるブロックの集合)を用いてWB係数を求める。肌軸との距離を考慮する理由は、蛍光灯などの人工光源は黒体放射特性から離れているため光源の色温度を算出するだけでは適切なホワイトバランス処理を行えないからである。本実施の形態におけるホワイトバランス係数の算出について以下に具体的に説明する。
【0018】
まず、肌色検出範囲内に分布する肌と判定されたブロックの集合に対して、肌色検出範囲を色軸Cx方向に複数に分割することで、各領域に入ったブロック数および各色フィルタの出力値(R、G1、G2、B)の積分値を算出する。各領域のブロック数および各色フィルタの出力値の積分値により、各領域の平均された各色フィルタの出力値を求めることができる。
【外3】
【0019】
ただしNode(n)は検出範囲をn個に分割したときのn番目の小領域を指す。式(3)を式(1)に代入することにより、各領域ごとのCx、Cyを求めることができる。
【0020】
【外4】
【0021】
次に各領域の色温度結果から光源の色温度を求めるのだが、単純に各値を積分して求めても正確な値は求まらない。例えば、各領域ごとに求まったブロック数,各領域に対応する色評価値Cx・色温度が図11で示した結果であるとする。図11において、領域5のブロック数が多いため、光源の色温度は3000K付近と予想できるが、単純に各領域において求まったCxの平均を取ると、Cxは60付近となり、色温度は4000K付近であると誤判別してしまう。つまり、領域1に存在するブロック数が少ないにもかかわらず、領域1の色温度が大きく関与してしまう。そこで、各領域において、領域に含まれるブロック数が一番多い領域を比率1として、各ブロック数による重み付け(加重平均)を行う。図11の例では、領域1,2,3,4,5それぞれの重みの比率は、0.15:0:0:0:1である。この重み付けの結果、図11の例ではCxが約95となり、予想された色温度である3000Kに近い値となる。具体的にはCxの値に対応する色温度を上述のROMから読み出すことによって決定する。さらに算出された光源の色温度からWB係数を特定する。なお、本実施の形態では、光源の色温度に対応するWB係数を予め書き込んでおくものとする。
【0022】
なお、上述した実施の形態においては、肌色検出範囲を複数の領域に分割し、各領域内のブロック数に応じて色評価値の重み付けを行っていたが、肌色検出範囲を分割せず、肌色検出範囲に含まれる色評価値の平均をもとめてもよい。この場合、色評価値の演算が単純化する。
【0023】
以上説明したように、撮影画面内の肌色を検出するための領域を指定し、その領域の色評価値に基づいてホワイトバランス処理を行うことができるので、画面に全く白がない状態においても、人肌に依存しないホワイトバランス処理を行うことができる。
【0024】
なお、本実施の形態においては、例えば、図5に示すように、白人、黒人、黄色人など人種間ごとの肌軸を保持し、例えばカメラに入力された言語をもとに被写体に最適な肌軸を決定することにより、人種間によらずホワイトバランス処理を行うことが可能である。例えば、ステップS101において、肌軸測色モードに設定した際に、肌色検出範囲を複数の範囲の中から選択するようにしても達成することができる。また、不図示のマイクから入力された言語に基づいて肌色検出範囲を設定することも可能である。
【0025】
さらに入力された領域内に撮影対象となるであろう被写体(人物)が位置するため、この領域にピントを合わせることで遠近が競合する場合にも確実に被写体にピントを合わせることができる。そこでステップS103ではまず図8参照のレンズ位置▲1▼において、入力された領域の水平方向の周波数を算出する。このとき水平方向に複数のブロックを設け、このブロックごとに周波数のスペクトル量を算出し、各ブロックのスペクトル量のうち最大値を記憶する(図10参照)。この処理を検出枠内の上方向から下方向まで行い、それぞれ得られた最大のスペクトル量を積分することでレンズ位置▲1▼のTES値が決定される。同様にレンズ位置を図8参照のスキャン方向に変化させて上記と同様にレンズ位置▲2▼、▲3▼に関してもTES値を求める。この結果、レンズの位置に対するTES値をグラフ化することができる(図10参照)。このグラフから、画面において周波数のスペクトル量が最大になるレンズ位置がピントの合焦位置であるという定義をもとにレンズ位置を決定させる。この結果、遠近が競合する場合でも確実に被写体にピントを合わせることができる。
【0026】
(第2の実施の形態)
第1の実施の形態では、あらかじめ設定してある肌色検出範囲を用いてホワイトバランス処理を行っていた。第2の実施の形態では、ステップS101において、撮影者自身の設定をカメラに追加できる点で異なる。第2の実施の形態における肌色検出範囲の決定処理(図6のステップS101内の処理)を図12にフローチャートとして示し、以下説明を行う。
【0027】
まず、ステップS201において、ホワイトバランスの調整を行うためのモードを肌色測色モードにする。そして、ステップS202において、白紙撮影を行う。そして、図2に示される白検出範囲から白色の色評価値を求め、光源の色温度を特定する。そして、ステップS203に進み、ステップS202と同じ光源下にて撮影者(あるいは被写体の人物でもよい)を撮影する。そして、図4に示される肌色検出範囲から肌の色評価値Cx_skin,Cy_skinを求める。これら2つの値を調整値と呼ぶ。ステップS204ではこの調整値とあらかじめ設定してある肌軸を用いて撮影者自身の肌軸を作成する。この方法について説明する。まず、予め不図示のROMに書き込まれている図13に示すような肌軸から、白紙ホワイトバランスモードにより得られた光源の色温度に対応するCxの値Cx_defoultおよび軸上のCyの値Cy_defoultを抽出する(図13においては、光源の色温度が6500K付近の色評価値を抽出している)。これらの値に対して肌測色モードにより得られる撮影者の肌色のCx_skin,Cy_skinとの差分を計算し、それぞれ△Cx,△Cyとする。
【0028】
【外5】
【0029】
あらかじめ設定された肌軸(肌色検出範囲)に対して式(5)で得られる値だけ平行移動することで撮影者自身の肌軸(肌色検出範囲)を設定することができる(図14参照)。
【0030】
さらに算出された肌軸を撮影者が自由に移動させることで撮影者の意図にかなう画像にすることもできる。例えばより顔色を良くしたいのであるなら算出された軸を下にずらせばよい。これは図15に示すように、肌軸を中心に上がマゼンタ色、下が緑色、左が青色、右が赤色となっている。これに対して肌軸を下にずらすということはより緑を補正し、マゼンタを補正しない方向になるため、画像が赤みを帯びることになる。またより白く見せたいのであるなら肌軸を右にずらせばよい。これは赤がより補正され青は補正されないことによる。UI上では顔を生き生きさせる度合いおよび白くする度合いをつまみで可変にさせ、肌軸をずらす量に対応させる。
【0031】
以上の方式により撮影者が簡単かつ自由に自分の顔色を好みに変えることができる。
【0032】
本発明は、一例として、前述した実施形態の機能を実現するソフトウェアのプログラムコードを、インターネットなどのネットワークを介して撮像装置に供給し、撮像装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによって達成できる。
【0033】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態のCPU50の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0034】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0035】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0036】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示にもとづき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、本発明の撮像装置に不可欠なモジュールを、記憶媒体に格納することになる。
【0037】
【発明の効果】
本発明によれば、撮影画面上においてホワイトバランス処理に用いる色信号の抽出領域を被写体の肌色に合わせ、領域内の肌色から肌検出軸を用いて色温度を算出するため、従来のように高色温度の肌色を低色温度の白色と誤認識することなく、良好な肌を表現することができる。さらに領域内の位置にAFを合わせることにより被写体にピントを合わせることができる。
【0038】
白紙ホワイトバランスの代わりに撮影者の肌色から光源の色温度を特定するため、画面内に白色が存在しない場合においてもホワイトバランス処理を行うことができる。この方式により、従来のように高色温度の肌色を低色温度の白色と誤認識することなく、人肌に依存しないホワイトバランス処理を行うことができる。
【図面の簡単な説明】
【図1】(a)原色フィルタの配置例を示す図。
(b)色評価値が算出される1ブロックを示す図。
【図2】色温度の変化に対応して変化する白色の色評価値の移動を表わす白軸および白と判断すべき範囲を表わす白検出範囲を示す図。
【図3】本発明の撮像装置のブロック図。
【図4】色温度の変化に対応して変化する肌色の色評価値の移動を表わす肌軸および肌と判断すべき範囲を表わす肌色検出範囲を示す図。
【図5】各人種用の肌色検出範囲の設定例を示す図。
【図6】第1の実施の形態における撮像装置の動作処理フローチャート。
【図7】各実施の形態におけるビューファインダ上に表示される撮影画面とその撮影画面に重畳される検出枠の一例を示す図。
【図8】第1の実施の形態におけるレンズのスキャン動作の一例を示す図。
【図9】第1の実施の形態における検出枠内の撮像信号の検出動作の一例を示す図。
【図10】第1の実施の形態における焦点調節動作を説明するための図。
【図11】分割されたそれぞれの肌色検出範囲に対応する色評価値、色温度、各肌色検出範囲に含まれるブロック数の一例を示す図。
【図12】第2の実施の形態における撮像装置の動作処理フローチャート。
【図13】色評価値と色温度との対応関係を示す図。
【図14】第2の実施の形態におけるホワイトバランスの動作処理を説明するための図。
【図15】第2の実施の形態におけるホワイトバランスの動作処理を説明するための図。
【符号の説明】
1 レンズ
2 撮像素子
3 AD変換器
4 ホワイトバランス処理回路
5 色信号作成回路
6 輝度信号作成回路
7 指示部
【0001】
【発明の属する技術分野】
本発明は、例えば、デジタルカメラやビデオカメラなどの撮像装置のホワイトバランス処理に関するものである。
【0002】
【従来の技術】
従来の撮像装置におけるホワイトバランス処理は以下のように行われている。
【0003】
まず、撮像素子から原色フィルタを通過して出力された信号は、AD変換によってデジタル化され、図1(a)のようなブロックにそれぞれ分割される。ただし各ブロックは、図1(b)に示すように、色信号R、G1、G2、Bを一つずつ含む単位で構成される。これらのブロックのそれぞれに対して、色評価値
【外1】
を算出する。(ここで、Cx=(R−B)/Y,Cy=(R+B−2)/Y)
【0004】
図2は、横軸をCx=(R−B)/Y、縦軸をCy=(R+B−2)/Yとした色空間を示しており、あらかじめ白色を高色温度下から低色温度下まで撮影し、色評価値Cx、Cyをプロットすることで定められた白軸を示している。実際の光源において白色には若干のばらつきが存在するため、白軸を中心として幅を持たせた範囲を白検出範囲(白と判断すべき領域)とする。すなわち、各ブロックについて求められた色評価値Cx、Cyを図2の色軸にプロットする。そして、これらのうち白検出範囲に含まれる色評価値のブロックを白色であると仮定する。さらに、白検出範囲に入った色画素の積分値SumR、SumG1、SumG2、SumBを算出して、以下の式を用いることでホワイトバランスゲインを算出する。ただしkWB_R、kWB_G1、kWB_G2、kWB_Bはそれぞれ色信号R、G1、G2、Bのホワイトバランスゲインである。
【0005】
【外2】
【0006】
【発明が解決しようとする課題】
しかしながら、従来のホワイトバランス係数算出において以下のような欠点があった。高色温度下において、白色の色評価値は図2の領域A付近に分布する。しかしながら、高色温度光源下において、人の肌の色評価値Cx、Cyを色軸にプロットすると、白検出範囲における低色温度側に分布してしまう。従って、撮影画面に白色が少なくかつ人肌がアップのシーンでは画面の色評価値は図2の領域Bに分布することになってしまう。つまり肌色を低色温度下の白色と誤判別し、人の肌を白色にしてしまうという問題があった。
【0007】
【課題を解決するための手段】
上述した課題を解決するために、本願発明によれば、撮影画面上の所定の有彩色領域を指定する指定手段と、
前記指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理するホワイトバランス処理手段とを有することを特徴とする撮像装置を提供する。
【0008】
【発明の実施の形態】
以下、添付の図面に沿って本発明の実施の形態を説明する。
【0009】
(第1の実施の形態)
図3は、本発明の実施形態に係わるホワイトバランス装置を備える撮像装置の概略構成を示すブロック図である。
【0010】
図3において、レンズ1を通過した光をCCDなどの撮像素子2において受光し、撮像素子2からの出力信号をA/D変換器3においてデジタル信号にした後、WB回路4においてホワイトバランス処理を実行し、色信号作成回路5において色差信号U,Vを作成し、また、輝度信号作成回路6において輝度信号Yを作成する。このような処理によって、カラー画像を得ている。また、指示部7は撮像画面内の一部領域を指定したり、ホワイトバランスのモードを設定したりするものである。
【0011】
本実施の形態の撮像装置における動作処理を図5にフローチャートとして示し、その動作処理を説明する。
【0012】
まず、ステップS101において、ホワイトバランスの調整を行うためのモードを肌色測色モードにする。
【0013】
ステップS102において、撮影者は、指示部7を用いた操作により不図示のEVF(電子ビューファインダ)上において表示される撮像画面上の検出枠(図7参照)を移動させて、被写体の顔などの肌色部分に一致させる。このとき、指示部7はタッチパネルや視線入力を採用してもよい。そして、撮影者が不図示のキャリブレーションスイッチをONすると、WB回路においてこの枠内の色信号(撮像素子からの出力信号)が抽出される。
【0014】
そして、ステップS103において、まず枠内における撮像素子からの信号を(R、G1、G2、B)を含む複数のブロックに分割し、この最小単位を1ブロックとする(図1(b)参照)。次にこの1ブロックごとに、肌色であるか否かの判定を行う。
【0015】
ここで、判定方法について説明する。まず、予め高色温度から低色温度までの光源下における肌色の色評価値Cx、Cyを実験的にそれぞれ求め、基準となる肌軸を決定する。そして、各色温度光源下に対応する色評価値Cxを不図示のROMに書き込んでおく。さらに、例えば蛍光灯下など、様々な光源における肌色のCx、Cyを測定することでこれらが肌色として判断されるように上述した肌軸に幅を持たせ、肌色と判断すべき肌色検出範囲として決定する。この肌軸および肌色検出範囲を図4の色空間上に示す。図4は、図2と同様に、横軸をCx=(R−B)/Y、縦軸をCy=(R+B−2)/Yとした色空間である。本実施の形態においては、ブロックごとに求められた色評価値Cx、Cyがこの予め肌色検出範囲に入るか否かで判定を行う。ただし、色評価値Cx、Cyは式(1)から算出するものとする。
【0016】
ここで、Cxは色温度に対応し、Cyは緑方向補正量に対応している。そして、あるシーンの肌色が例えば図4の領域Bに存在する場合、領域Bは、肌色検出範囲の相対的に高色温度側に位置するので、光源は高色温度と判定することができる。
【0017】
ステップS105では肌色から求まる光源の色温度および肌色と判定されたブロックの集合と肌軸との距離(すなわち、肌色検出範囲に含まれるブロックの集合)を用いてWB係数を求める。肌軸との距離を考慮する理由は、蛍光灯などの人工光源は黒体放射特性から離れているため光源の色温度を算出するだけでは適切なホワイトバランス処理を行えないからである。本実施の形態におけるホワイトバランス係数の算出について以下に具体的に説明する。
【0018】
まず、肌色検出範囲内に分布する肌と判定されたブロックの集合に対して、肌色検出範囲を色軸Cx方向に複数に分割することで、各領域に入ったブロック数および各色フィルタの出力値(R、G1、G2、B)の積分値を算出する。各領域のブロック数および各色フィルタの出力値の積分値により、各領域の平均された各色フィルタの出力値を求めることができる。
【外3】
【0019】
ただしNode(n)は検出範囲をn個に分割したときのn番目の小領域を指す。式(3)を式(1)に代入することにより、各領域ごとのCx、Cyを求めることができる。
【0020】
【外4】
【0021】
次に各領域の色温度結果から光源の色温度を求めるのだが、単純に各値を積分して求めても正確な値は求まらない。例えば、各領域ごとに求まったブロック数,各領域に対応する色評価値Cx・色温度が図11で示した結果であるとする。図11において、領域5のブロック数が多いため、光源の色温度は3000K付近と予想できるが、単純に各領域において求まったCxの平均を取ると、Cxは60付近となり、色温度は4000K付近であると誤判別してしまう。つまり、領域1に存在するブロック数が少ないにもかかわらず、領域1の色温度が大きく関与してしまう。そこで、各領域において、領域に含まれるブロック数が一番多い領域を比率1として、各ブロック数による重み付け(加重平均)を行う。図11の例では、領域1,2,3,4,5それぞれの重みの比率は、0.15:0:0:0:1である。この重み付けの結果、図11の例ではCxが約95となり、予想された色温度である3000Kに近い値となる。具体的にはCxの値に対応する色温度を上述のROMから読み出すことによって決定する。さらに算出された光源の色温度からWB係数を特定する。なお、本実施の形態では、光源の色温度に対応するWB係数を予め書き込んでおくものとする。
【0022】
なお、上述した実施の形態においては、肌色検出範囲を複数の領域に分割し、各領域内のブロック数に応じて色評価値の重み付けを行っていたが、肌色検出範囲を分割せず、肌色検出範囲に含まれる色評価値の平均をもとめてもよい。この場合、色評価値の演算が単純化する。
【0023】
以上説明したように、撮影画面内の肌色を検出するための領域を指定し、その領域の色評価値に基づいてホワイトバランス処理を行うことができるので、画面に全く白がない状態においても、人肌に依存しないホワイトバランス処理を行うことができる。
【0024】
なお、本実施の形態においては、例えば、図5に示すように、白人、黒人、黄色人など人種間ごとの肌軸を保持し、例えばカメラに入力された言語をもとに被写体に最適な肌軸を決定することにより、人種間によらずホワイトバランス処理を行うことが可能である。例えば、ステップS101において、肌軸測色モードに設定した際に、肌色検出範囲を複数の範囲の中から選択するようにしても達成することができる。また、不図示のマイクから入力された言語に基づいて肌色検出範囲を設定することも可能である。
【0025】
さらに入力された領域内に撮影対象となるであろう被写体(人物)が位置するため、この領域にピントを合わせることで遠近が競合する場合にも確実に被写体にピントを合わせることができる。そこでステップS103ではまず図8参照のレンズ位置▲1▼において、入力された領域の水平方向の周波数を算出する。このとき水平方向に複数のブロックを設け、このブロックごとに周波数のスペクトル量を算出し、各ブロックのスペクトル量のうち最大値を記憶する(図10参照)。この処理を検出枠内の上方向から下方向まで行い、それぞれ得られた最大のスペクトル量を積分することでレンズ位置▲1▼のTES値が決定される。同様にレンズ位置を図8参照のスキャン方向に変化させて上記と同様にレンズ位置▲2▼、▲3▼に関してもTES値を求める。この結果、レンズの位置に対するTES値をグラフ化することができる(図10参照)。このグラフから、画面において周波数のスペクトル量が最大になるレンズ位置がピントの合焦位置であるという定義をもとにレンズ位置を決定させる。この結果、遠近が競合する場合でも確実に被写体にピントを合わせることができる。
【0026】
(第2の実施の形態)
第1の実施の形態では、あらかじめ設定してある肌色検出範囲を用いてホワイトバランス処理を行っていた。第2の実施の形態では、ステップS101において、撮影者自身の設定をカメラに追加できる点で異なる。第2の実施の形態における肌色検出範囲の決定処理(図6のステップS101内の処理)を図12にフローチャートとして示し、以下説明を行う。
【0027】
まず、ステップS201において、ホワイトバランスの調整を行うためのモードを肌色測色モードにする。そして、ステップS202において、白紙撮影を行う。そして、図2に示される白検出範囲から白色の色評価値を求め、光源の色温度を特定する。そして、ステップS203に進み、ステップS202と同じ光源下にて撮影者(あるいは被写体の人物でもよい)を撮影する。そして、図4に示される肌色検出範囲から肌の色評価値Cx_skin,Cy_skinを求める。これら2つの値を調整値と呼ぶ。ステップS204ではこの調整値とあらかじめ設定してある肌軸を用いて撮影者自身の肌軸を作成する。この方法について説明する。まず、予め不図示のROMに書き込まれている図13に示すような肌軸から、白紙ホワイトバランスモードにより得られた光源の色温度に対応するCxの値Cx_defoultおよび軸上のCyの値Cy_defoultを抽出する(図13においては、光源の色温度が6500K付近の色評価値を抽出している)。これらの値に対して肌測色モードにより得られる撮影者の肌色のCx_skin,Cy_skinとの差分を計算し、それぞれ△Cx,△Cyとする。
【0028】
【外5】
【0029】
あらかじめ設定された肌軸(肌色検出範囲)に対して式(5)で得られる値だけ平行移動することで撮影者自身の肌軸(肌色検出範囲)を設定することができる(図14参照)。
【0030】
さらに算出された肌軸を撮影者が自由に移動させることで撮影者の意図にかなう画像にすることもできる。例えばより顔色を良くしたいのであるなら算出された軸を下にずらせばよい。これは図15に示すように、肌軸を中心に上がマゼンタ色、下が緑色、左が青色、右が赤色となっている。これに対して肌軸を下にずらすということはより緑を補正し、マゼンタを補正しない方向になるため、画像が赤みを帯びることになる。またより白く見せたいのであるなら肌軸を右にずらせばよい。これは赤がより補正され青は補正されないことによる。UI上では顔を生き生きさせる度合いおよび白くする度合いをつまみで可変にさせ、肌軸をずらす量に対応させる。
【0031】
以上の方式により撮影者が簡単かつ自由に自分の顔色を好みに変えることができる。
【0032】
本発明は、一例として、前述した実施形態の機能を実現するソフトウェアのプログラムコードを、インターネットなどのネットワークを介して撮像装置に供給し、撮像装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによって達成できる。
【0033】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態のCPU50の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0034】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0035】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0036】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示にもとづき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、本発明の撮像装置に不可欠なモジュールを、記憶媒体に格納することになる。
【0037】
【発明の効果】
本発明によれば、撮影画面上においてホワイトバランス処理に用いる色信号の抽出領域を被写体の肌色に合わせ、領域内の肌色から肌検出軸を用いて色温度を算出するため、従来のように高色温度の肌色を低色温度の白色と誤認識することなく、良好な肌を表現することができる。さらに領域内の位置にAFを合わせることにより被写体にピントを合わせることができる。
【0038】
白紙ホワイトバランスの代わりに撮影者の肌色から光源の色温度を特定するため、画面内に白色が存在しない場合においてもホワイトバランス処理を行うことができる。この方式により、従来のように高色温度の肌色を低色温度の白色と誤認識することなく、人肌に依存しないホワイトバランス処理を行うことができる。
【図面の簡単な説明】
【図1】(a)原色フィルタの配置例を示す図。
(b)色評価値が算出される1ブロックを示す図。
【図2】色温度の変化に対応して変化する白色の色評価値の移動を表わす白軸および白と判断すべき範囲を表わす白検出範囲を示す図。
【図3】本発明の撮像装置のブロック図。
【図4】色温度の変化に対応して変化する肌色の色評価値の移動を表わす肌軸および肌と判断すべき範囲を表わす肌色検出範囲を示す図。
【図5】各人種用の肌色検出範囲の設定例を示す図。
【図6】第1の実施の形態における撮像装置の動作処理フローチャート。
【図7】各実施の形態におけるビューファインダ上に表示される撮影画面とその撮影画面に重畳される検出枠の一例を示す図。
【図8】第1の実施の形態におけるレンズのスキャン動作の一例を示す図。
【図9】第1の実施の形態における検出枠内の撮像信号の検出動作の一例を示す図。
【図10】第1の実施の形態における焦点調節動作を説明するための図。
【図11】分割されたそれぞれの肌色検出範囲に対応する色評価値、色温度、各肌色検出範囲に含まれるブロック数の一例を示す図。
【図12】第2の実施の形態における撮像装置の動作処理フローチャート。
【図13】色評価値と色温度との対応関係を示す図。
【図14】第2の実施の形態におけるホワイトバランスの動作処理を説明するための図。
【図15】第2の実施の形態におけるホワイトバランスの動作処理を説明するための図。
【符号の説明】
1 レンズ
2 撮像素子
3 AD変換器
4 ホワイトバランス処理回路
5 色信号作成回路
6 輝度信号作成回路
7 指示部
【特許請求の範囲】
【請求項1】
撮影画面上の所定の有彩色領域を指定する指定手段と、
前記指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理するホワイトバランス処理手段とを有することを特徴とする撮像装置。
【請求項2】
請求項1において、前記所定の有彩色は肌色であることを特徴とする撮像装置。
【請求項3】
請求項2において、前記ホワイトバランス処理手段は、前記指定された領域内の撮像素子の出力信号に基づいて、色評価値を算出し、前記算出された色評価値の中から、前記肌色検出範囲に含まれると判断される色評価値に基づいて、光源の色温度を特定することを特徴とする撮像装置。
【請求項4】
請求項3において、前記肌色検出範囲は、撮影光源の色温度に対応する予め設定された肌の色評価値と、実際に撮影した肌の色評価値との差分に基づいて再設定されることを特徴とする撮像装置。
【請求項5】
請求項1において、前記指定手段は、タッチパネルまたは視線入力であることを特徴とする撮像装置。
【請求項6】
請求項3において、前記肌色検出範囲は、複数の中から選択されることを特徴とする撮像装置。
【請求項7】
請求項6において、前記肌色検出範囲は、カメラに入力された入力言語に基づいて選択されることを特徴とする撮像装置。
【請求項8】
撮影画面上の所定の有彩色領域を指定する指定手段によって指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理する撮像装置のホワイトバランス処理方法。
【請求項9】
請求項8に記載のホワイトバランス処理を実行するためのプログラム。
【請求項10】
請求項9に記載のプログラムを記憶した記憶媒体。
【請求項1】
撮影画面上の所定の有彩色領域を指定する指定手段と、
前記指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理するホワイトバランス処理手段とを有することを特徴とする撮像装置。
【請求項2】
請求項1において、前記所定の有彩色は肌色であることを特徴とする撮像装置。
【請求項3】
請求項2において、前記ホワイトバランス処理手段は、前記指定された領域内の撮像素子の出力信号に基づいて、色評価値を算出し、前記算出された色評価値の中から、前記肌色検出範囲に含まれると判断される色評価値に基づいて、光源の色温度を特定することを特徴とする撮像装置。
【請求項4】
請求項3において、前記肌色検出範囲は、撮影光源の色温度に対応する予め設定された肌の色評価値と、実際に撮影した肌の色評価値との差分に基づいて再設定されることを特徴とする撮像装置。
【請求項5】
請求項1において、前記指定手段は、タッチパネルまたは視線入力であることを特徴とする撮像装置。
【請求項6】
請求項3において、前記肌色検出範囲は、複数の中から選択されることを特徴とする撮像装置。
【請求項7】
請求項6において、前記肌色検出範囲は、カメラに入力された入力言語に基づいて選択されることを特徴とする撮像装置。
【請求項8】
撮影画面上の所定の有彩色領域を指定する指定手段によって指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理する撮像装置のホワイトバランス処理方法。
【請求項9】
請求項8に記載のホワイトバランス処理を実行するためのプログラム。
【請求項10】
請求項9に記載のプログラムを記憶した記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2004−312139(P2004−312139A)
【公開日】平成16年11月4日(2004.11.4)
【国際特許分類】
【出願番号】特願2003−100178(P2003−100178)
【出願日】平成15年4月3日(2003.4.3)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成16年11月4日(2004.11.4)
【国際特許分類】
【出願日】平成15年4月3日(2003.4.3)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]