(57)【要約】【課題】高色温度下において撮影された肌色を低色温度下の白色と誤判別し、人の肌を白色にしてしまうという課題を解決する。【解決手段】撮影画面上の所定の有彩色領域を指定する指定手段と、前記指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理するホワイトバランス処理手段とを有することを特徴とする撮像装置。【選択図】      図４
2004312139.tif 000002
【特許請求の範囲】
【請求項１】
撮影画面上の所定の有彩色領域を指定する指定手段と、
前記指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理するホワイトバランス処理手段とを有することを特徴とする撮像装置。
【請求項２】
請求項１において、前記所定の有彩色は肌色であることを特徴とする撮像装置。
【請求項３】
請求項２において、前記ホワイトバランス処理手段は、前記指定された領域内の撮像素子の出力信号に基づいて、色評価値を算出し、前記算出された色評価値の中から、前記肌色検出範囲に含まれると判断される色評価値に基づいて、光源の色温度を特定することを特徴とする撮像装置。
【請求項４】
請求項３において、前記肌色検出範囲は、撮影光源の色温度に対応する予め設定された肌の色評価値と、実際に撮影した肌の色評価値との差分に基づいて再設定されることを特徴とする撮像装置。
【請求項５】
請求項１において、前記指定手段は、タッチパネルまたは視線入力であることを特徴とする撮像装置。
【請求項６】
請求項３において、前記肌色検出範囲は、複数の中から選択されることを特徴とする撮像装置。
【請求項７】
請求項６において、前記肌色検出範囲は、カメラに入力された入力言語に基づいて選択されることを特徴とする撮像装置。
【請求項８】
撮影画面上の所定の有彩色領域を指定する指定手段によって指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理する撮像装置のホワイトバランス処理方法。
【請求項９】
請求項８に記載のホワイトバランス処理を実行するためのプログラム。
【請求項１０】
請求項９に記載のプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、デジタルカメラやビデオカメラなどの撮像装置のホワイトバランス処理に関するものである。
【０００２】
【従来の技術】
従来の撮像装置におけるホワイトバランス処理は以下のように行われている。
【０００３】
まず、撮像素子から原色フィルタを通過して出力された信号は、ＡＤ変換によってデジタル化され、図１（ａ）のようなブロックにそれぞれ分割される。ただし各ブロックは、図１（ｂ）に示すように、色信号Ｒ、Ｇ１、Ｇ２、Ｂを一つずつ含む単位で構成される。これらのブロックのそれぞれに対して、色評価値
【外１】
2004312139.tif 000003
2004312139.tif 000004
を算出する。（ここで、Ｃｘ＝（Ｒ−Ｂ）／Ｙ，Ｃｙ＝（Ｒ＋Ｂ−２）／Ｙ）
【０００４】
図２は、横軸をＣｘ＝（Ｒ−Ｂ）／Ｙ、縦軸をＣｙ＝（Ｒ＋Ｂ−２）／Ｙとした色空間を示しており、あらかじめ白色を高色温度下から低色温度下まで撮影し、色評価値Ｃｘ、Ｃｙをプロットすることで定められた白軸を示している。実際の光源において白色には若干のばらつきが存在するため、白軸を中心として幅を持たせた範囲を白検出範囲（白と判断すべき領域）とする。すなわち、各ブロックについて求められた色評価値Ｃｘ、Ｃｙを図２の色軸にプロットする。そして、これらのうち白検出範囲に含まれる色評価値のブロックを白色であると仮定する。さらに、白検出範囲に入った色画素の積分値ＳｕｍＲ、ＳｕｍＧ１、ＳｕｍＧ２、ＳｕｍＢを算出して、以下の式を用いることでホワイトバランスゲインを算出する。ただしｋＷＢ＿Ｒ、ｋＷＢ＿Ｇ１、ｋＷＢ＿Ｇ２、ｋＷＢ＿Ｂはそれぞれ色信号Ｒ、Ｇ１、Ｇ２、Ｂのホワイトバランスゲインである。
【０００５】
【外２】
2004312139.tif 000005
【０００６】
【発明が解決しようとする課題】
しかしながら、従来のホワイトバランス係数算出において以下のような欠点があった。高色温度下において、白色の色評価値は図２の領域Ａ付近に分布する。しかしながら、高色温度光源下において、人の肌の色評価値Ｃｘ、Ｃｙを色軸にプロットすると、白検出範囲における低色温度側に分布してしまう。従って、撮影画面に白色が少なくかつ人肌がアップのシーンでは画面の色評価値は図２の領域Ｂに分布することになってしまう。つまり肌色を低色温度下の白色と誤判別し、人の肌を白色にしてしまうという問題があった。
【０００７】
【課題を解決するための手段】
上述した課題を解決するために、本願発明によれば、撮影画面上の所定の有彩色領域を指定する指定手段と、
前記指定された領域内の撮像素子の出力信号に基づいて、光源の色温度を特定し、特定された光源の色温度に対応するホワイトバランス係数によりホワイトバランス処理するホワイトバランス処理手段とを有することを特徴とする撮像装置を提供する。
【０００８】
【発明の実施の形態】
以下、添付の図面に沿って本発明の実施の形態を説明する。
【０００９】
（第１の実施の形態）
図３は、本発明の実施形態に係わるホワイトバランス装置を備える撮像装置の概略構成を示すブロック図である。
【００１０】
図３において、レンズ１を通過した光をＣＣＤなどの撮像素子２において受光し、撮像素子２からの出力信号をＡ／Ｄ変換器３においてデジタル信号にした後、ＷＢ回路４においてホワイトバランス処理を実行し、色信号作成回路５において色差信号Ｕ，Ｖを作成し、また、輝度信号作成回路６において輝度信号Ｙを作成する。このような処理によって、カラー画像を得ている。また、指示部７は撮像画面内の一部領域を指定したり、ホワイトバランスのモードを設定したりするものである。
【００１１】
本実施の形態の撮像装置における動作処理を図５にフローチャートとして示し、その動作処理を説明する。
【００１２】
まず、ステップＳ１０１において、ホワイトバランスの調整を行うためのモードを肌色測色モードにする。
【００１３】
ステップＳ１０２において、撮影者は、指示部７を用いた操作により不図示のＥＶＦ（電子ビューファインダ）上において表示される撮像画面上の検出枠（図７参照）を移動させて、被写体の顔などの肌色部分に一致させる。このとき、指示部７はタッチパネルや視線入力を採用してもよい。そして、撮影者が不図示のキャリブレーションスイッチをＯＮすると、ＷＢ回路においてこの枠内の色信号（撮像素子からの出力信号）が抽出される。
【００１４】
そして、ステップＳ１０３において、まず枠内における撮像素子からの信号を（Ｒ、Ｇ１、Ｇ２、Ｂ）を含む複数のブロックに分割し、この最小単位を１ブロックとする（図１（ｂ）参照）。次にこの１ブロックごとに、肌色であるか否かの判定を行う。
【００１５】
ここで、判定方法について説明する。まず、予め高色温度から低色温度までの光源下における肌色の色評価値Ｃｘ、Ｃｙを実験的にそれぞれ求め、基準となる肌軸を決定する。そして、各色温度光源下に対応する色評価値Ｃｘを不図示のＲＯＭに書き込んでおく。さらに、例えば蛍光灯下など、様々な光源における肌色のＣｘ、Ｃｙを測定することでこれらが肌色として判断されるように上述した肌軸に幅を持たせ、肌色と判断すべき肌色検出範囲として決定する。この肌軸および肌色検出範囲を図４の色空間上に示す。図４は、図２と同様に、横軸をＣｘ＝（Ｒ−Ｂ）／Ｙ、縦軸をＣｙ＝（Ｒ＋Ｂ−２）／Ｙとした色空間である。本実施の形態においては、ブロックごとに求められた色評価値Ｃｘ、Ｃｙがこの予め肌色検出範囲に入るか否かで判定を行う。ただし、色評価値Ｃｘ、Ｃｙは式（１）から算出するものとする。
【００１６】
ここで、Ｃｘは色温度に対応し、Ｃｙは緑方向補正量に対応している。そして、あるシーンの肌色が例えば図４の領域Ｂに存在する場合、領域Ｂは、肌色検出範囲の相対的に高色温度側に位置するので、光源は高色温度と判定することができる。
【００１７】
ステップＳ１０５では肌色から求まる光源の色温度および肌色と判定されたブロックの集合と肌軸との距離（すなわち、肌色検出範囲に含まれるブロックの集合）を用いてＷＢ係数を求める。肌軸との距離を考慮する理由は、蛍光灯などの人工光源は黒体放射特性から離れているため光源の色温度を算出するだけでは適切なホワイトバランス処理を行えないからである。本実施の形態におけるホワイトバランス係数の算出について以下に具体的に説明する。
【００１８】
まず、肌色検出範囲内に分布する肌と判定されたブロックの集合に対して、肌色検出範囲を色軸Ｃｘ方向に複数に分割することで、各領域に入ったブロック数および各色フィルタの出力値（Ｒ、Ｇ１、Ｇ２、Ｂ）の積分値を算出する。各領域のブロック数および各色フィルタの出力値の積分値により、各領域の平均された各色フィルタの出力値を求めることができる。
【外３】
2004312139.tif 000006
2004312139.tif 000007
【００１９】
ただしＮｏｄｅ（ｎ）は検出範囲をｎ個に分割したときのｎ番目の小領域を指す。式（３）を式（１）に代入することにより、各領域ごとのＣｘ、Ｃｙを求めることができる。
【００２０】
【外４】
2004312139.tif 000008
2004312139.tif 000009
【００２１】
次に各領域の色温度結果から光源の色温度を求めるのだが、単純に各値を積分して求めても正確な値は求まらない。例えば、各領域ごとに求まったブロック数，各領域に対応する色評価値Ｃｘ・色温度が図１１で示した結果であるとする。図１１において、領域５のブロック数が多いため、光源の色温度は３０００Ｋ付近と予想できるが、単純に各領域において求まったＣｘの平均を取ると、Ｃｘは６０付近となり、色温度は４０００Ｋ付近であると誤判別してしまう。つまり、領域１に存在するブロック数が少ないにもかかわらず、領域１の色温度が大きく関与してしまう。そこで、各領域において、領域に含まれるブロック数が一番多い領域を比率１として、各ブロック数による重み付け（加重平均）を行う。図１１の例では、領域１，２，３，４，５それぞれの重みの比率は、０．１５：０：０：０：１である。この重み付けの結果、図１１の例ではＣｘが約９５となり、予想された色温度である３０００Ｋに近い値となる。具体的にはＣｘの値に対応する色温度を上述のＲＯＭから読み出すことによって決定する。さらに算出された光源の色温度からＷＢ係数を特定する。なお、本実施の形態では、光源の色温度に対応するＷＢ係数を予め書き込んでおくものとする。
【００２２】
なお、上述した実施の形態においては、肌色検出範囲を複数の領域に分割し、各領域内のブロック数に応じて色評価値の重み付けを行っていたが、肌色検出範囲を分割せず、肌色検出範囲に含まれる色評価値の平均をもとめてもよい。この場合、色評価値の演算が単純化する。
【００２３】
以上説明したように、撮影画面内の肌色を検出するための領域を指定し、その領域の色評価値に基づいてホワイトバランス処理を行うことができるので、画面に全く白がない状態においても、人肌に依存しないホワイトバランス処理を行うことができる。
【００２４】
なお、本実施の形態においては、例えば、図５に示すように、白人、黒人、黄色人など人種間ごとの肌軸を保持し、例えばカメラに入力された言語をもとに被写体に最適な肌軸を決定することにより、人種間によらずホワイトバランス処理を行うことが可能である。例えば、ステップＳ１０１において、肌軸測色モードに設定した際に、肌色検出範囲を複数の範囲の中から選択するようにしても達成することができる。また、不図示のマイクから入力された言語に基づいて肌色検出範囲を設定することも可能である。
【００２５】
さらに入力された領域内に撮影対象となるであろう被写体（人物）が位置するため、この領域にピントを合わせることで遠近が競合する場合にも確実に被写体にピントを合わせることができる。そこでステップＳ１０３ではまず図８参照のレンズ位置▲１▼において、入力された領域の水平方向の周波数を算出する。このとき水平方向に複数のブロックを設け、このブロックごとに周波数のスペクトル量を算出し、各ブロックのスペクトル量のうち最大値を記憶する（図１０参照）。この処理を検出枠内の上方向から下方向まで行い、それぞれ得られた最大のスペクトル量を積分することでレンズ位置▲１▼のＴＥＳ値が決定される。同様にレンズ位置を図８参照のスキャン方向に変化させて上記と同様にレンズ位置▲２▼、▲３▼に関してもＴＥＳ値を求める。この結果、レンズの位置に対するＴＥＳ値をグラフ化することができる（図１０参照）。このグラフから、画面において周波数のスペクトル量が最大になるレンズ位置がピントの合焦位置であるという定義をもとにレンズ位置を決定させる。この結果、遠近が競合する場合でも確実に被写体にピントを合わせることができる。
【００２６】
（第２の実施の形態）
第１の実施の形態では、あらかじめ設定してある肌色検出範囲を用いてホワイトバランス処理を行っていた。第２の実施の形態では、ステップＳ１０１において、撮影者自身の設定をカメラに追加できる点で異なる。第２の実施の形態における肌色検出範囲の決定処理（図６のステップＳ１０１内の処理）を図１２にフローチャートとして示し、以下説明を行う。
【００２７】
まず、ステップＳ２０１において、ホワイトバランスの調整を行うためのモードを肌色測色モードにする。そして、ステップＳ２０２において、白紙撮影を行う。そして、図２に示される白検出範囲から白色の色評価値を求め、光源の色温度を特定する。そして、ステップＳ２０３に進み、ステップＳ２０２と同じ光源下にて撮影者（あるいは被写体の人物でもよい）を撮影する。そして、図４に示される肌色検出範囲から肌の色評価値Ｃｘ＿ｓｋｉｎ，Ｃｙ＿ｓｋｉｎを求める。これら２つの値を調整値と呼ぶ。ステップＳ２０４ではこの調整値とあらかじめ設定してある肌軸を用いて撮影者自身の肌軸を作成する。この方法について説明する。まず、予め不図示のＲＯＭに書き込まれている図１３に示すような肌軸から、白紙ホワイトバランスモードにより得られた光源の色温度に対応するＣｘの値Ｃｘ＿ｄｅｆｏｕｌｔおよび軸上のＣｙの値Ｃｙ＿ｄｅｆｏｕｌｔを抽出する（図１３においては、光源の色温度が６５００Ｋ付近の色評価値を抽出している）。これらの値に対して肌測色モードにより得られる撮影者の肌色のＣｘ＿ｓｋｉｎ，Ｃｙ＿ｓｋｉｎとの差分を計算し、それぞれ△Ｃｘ，△Ｃｙとする。
【００２８】
【外５】
2004312139.tif 000010
2004312139.tif 000011
【００２９】
あらかじめ設定された肌軸（肌色検出範囲）に対して式（５）で得られる値だけ平行移動することで撮影者自身の肌軸（肌色検出範囲）を設定することができる（図１４参照）。
【００３０】
さらに算出された肌軸を撮影者が自由に移動させることで撮影者の意図にかなう画像にすることもできる。例えばより顔色を良くしたいのであるなら算出された軸を下にずらせばよい。これは図１５に示すように、肌軸を中心に上がマゼンタ色、下が緑色、左が青色、右が赤色となっている。これに対して肌軸を下にずらすということはより緑を補正し、マゼンタを補正しない方向になるため、画像が赤みを帯びることになる。またより白く見せたいのであるなら肌軸を右にずらせばよい。これは赤がより補正され青は補正されないことによる。ＵＩ上では顔を生き生きさせる度合いおよび白くする度合いをつまみで可変にさせ、肌軸をずらす量に対応させる。
【００３１】
以上の方式により撮影者が簡単かつ自由に自分の顔色を好みに変えることができる。
【００３２】
本発明は、一例として、前述した実施形態の機能を実現するソフトウェアのプログラムコードを、インターネットなどのネットワークを介して撮像装置に供給し、撮像装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによって達成できる。
【００３３】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態のＣＰＵ５０の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００３５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００３６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示にもとづき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、本発明の撮像装置に不可欠なモジュールを、記憶媒体に格納することになる。
【００３７】
【発明の効果】
本発明によれば、撮影画面上においてホワイトバランス処理に用いる色信号の抽出領域を被写体の肌色に合わせ、領域内の肌色から肌検出軸を用いて色温度を算出するため、従来のように高色温度の肌色を低色温度の白色と誤認識することなく、良好な肌を表現することができる。さらに領域内の位置にＡＦを合わせることにより被写体にピントを合わせることができる。
【００３８】
白紙ホワイトバランスの代わりに撮影者の肌色から光源の色温度を特定するため、画面内に白色が存在しない場合においてもホワイトバランス処理を行うことができる。この方式により、従来のように高色温度の肌色を低色温度の白色と誤認識することなく、人肌に依存しないホワイトバランス処理を行うことができる。
【図面の簡単な説明】
【図１】（ａ）原色フィルタの配置例を示す図。
（ｂ）色評価値が算出される１ブロックを示す図。
【図２】色温度の変化に対応して変化する白色の色評価値の移動を表わす白軸および白と判断すべき範囲を表わす白検出範囲を示す図。
【図３】本発明の撮像装置のブロック図。
【図４】色温度の変化に対応して変化する肌色の色評価値の移動を表わす肌軸および肌と判断すべき範囲を表わす肌色検出範囲を示す図。
【図５】各人種用の肌色検出範囲の設定例を示す図。
【図６】第１の実施の形態における撮像装置の動作処理フローチャート。
【図７】各実施の形態におけるビューファインダ上に表示される撮影画面とその撮影画面に重畳される検出枠の一例を示す図。
【図８】第１の実施の形態におけるレンズのスキャン動作の一例を示す図。
【図９】第１の実施の形態における検出枠内の撮像信号の検出動作の一例を示す図。
【図１０】第１の実施の形態における焦点調節動作を説明するための図。
【図１１】分割されたそれぞれの肌色検出範囲に対応する色評価値、色温度、各肌色検出範囲に含まれるブロック数の一例を示す図。
【図１２】第２の実施の形態における撮像装置の動作処理フローチャート。
【図１３】色評価値と色温度との対応関係を示す図。
【図１４】第２の実施の形態におけるホワイトバランスの動作処理を説明するための図。
【図１５】第２の実施の形態におけるホワイトバランスの動作処理を説明するための図。
【符号の説明】
１  レンズ
２  撮像素子
３  ＡＤ変換器
４  ホワイトバランス処理回路
５  色信号作成回路
６  輝度信号作成回路
７  指示部
【図１】
2004312139.tif 000012
【図２】
2004312139.tif 000013
【図３】
2004312139.tif 000014
【図４】
2004312139.tif 000015
【図５】
2004312139.tif 000016
【図６】
2004312139.tif 000017
【図７】
2004312139.tif 000018
【図８】
2004312139.tif 000019
【図９】
2004312139.tif 000020
【図１０】
2004312139.tif 000021
【図１１】
2004312139.tif 000022
【図１２】
2004312139.tif 000023
【図１３】
2004312139.tif 000024
【図１４】
2004312139.tif 000025
【図１５】
2004312139.tif 000026