(58)【調査した分野】(Int.Cl.,DB名)
前記第1色相差情報及び前記第2色相差情報に基づいて算出された第1尤度値と、前記第2色相差情報及び前記第3色相差情報に基づいて算出された第2尤度値とに基づいて、ホワイトバランス調整される各画素の前景らしさに係る前景尤度値を算出する第4算出手段を更に備え、
前記ホワイトバランス調整手段は、
前記前景尤度値が大きいほど前記第1ホワイトバランス調整値の割合が大きく、一方、前記前景尤度値が小さいほど前記第2ホワイトバランス調整値の割合が大きくなるようにして、前記元画像データの各画素に対するホワイトバランス調整値を決定することを特徴とする請求項1〜4の何れか一項に記載の撮像装置。
【発明を実施するための形態】
【0011】
以下に、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は、図示例に限定されない。
図1は、本発明を適用した一実施形態の撮像装置100の概略構成を示すブロック図である。
【0012】
図1に示すように、本実施形態の撮像装置100は、レンズ部1と、電子撮像部2と、ストロボ発光部3と、ユニット回路部4と、画像処理部5と、メモリ6と、表示制御部7と、表示部8と、画像記録部9と、操作入力部10と、中央制御部11とを備えている。
【0013】
レンズ部1は、例えば、図示は省略するが、ズームレンズ群、フォーカスレンズ群を含み、レンズ駆動機構(例えば、モータ等)により光軸方向の位置が調整可能となっている。
【0014】
電子撮像部2は、例えば、図示は省略するが、CCD(Charge Coupled Device)やCMOS(Complementary Metal-oxide Semiconductor)等のイメージセンサを備えている。そして、電子撮像部2は、レンズ部1の各種レンズや絞り(図示略)を通過した光学像を二次元の画像信号(RGB画像データ)に変換して、ユニット回路部4に出力する。
【0015】
ストロボ発光部3は、図示しない撮像制御部の制御下にて駆動し、撮像モードがストロボ撮像モードに設定されている場合に、ユーザによる操作入力部10のシャッタボタンの所定操作に基づいて所定のタイミングで発光する。
【0016】
ユニット回路部4は、電子撮像部2から出力され入力された被写体の光学像に応じたRGB色成分よりなるRGB画像データを増幅して、撮像画像P1(
図3参照)のホワイトバランスを調整する。
即ち、ユニット回路部4は、入力された画像のRGB成分のゲイン量を調整するゲイン調整部4aを具備しており、このゲイン調整部4aにより調整されたRGBの各色成分毎のゲイン量(ホワイトバランス調整値)に基づいて撮像画像P1のホワイトバランスを調整する。
具体的には、ゲイン調整部4aは、所定の撮像モードに対応したグレー画素推定条件に基づいて撮像画像P1に含まれるグレー成分を特定して、当該グレー成分の画素のRGBの各色成分のうち、R成分及びB成分の平均値がG成分の平均値と略等しくなるようにR成分及びB成分のゲイン量を調整する。そして、ユニット回路部4は、ゲイン調整部4aにより調整されたRGBの各色成分毎のゲイン量に基づいて、RGB画像データを増幅することで撮像画像P1のホワイトバランスを調整する。
なお、
図3〜
図6(後述)の各図における被写体の顔に相当する部分には、「顔」と表記して模式的に表している。
【0017】
例えば、ストロボ発光部3によりストロボを発光してレンズ部1及び電子撮像部2により被写体の撮像が行われた場合に、ユニット回路部4は、画像取得手段として、被写体の光学像に応じた画像データ(RGB画像データ)を電子撮像部2から取得する。そして、ゲイン調整部4aは、RGB画像データのRGBの各色成分毎のゲイン量をストロボ発光に対応した第1ホワイトバランス調整値に設定する。ユニット回路部4は、第1ホワイトバランス調整値でRGB画像データを増幅するホワイトバランス調整を行って、YUV色空間に対応するストロボ光画像P2(
図4(a)参照)のYUV画像データを生成する。
また、例えば、タングステン光撮像モードが設定されている状態では、ストロボ光画像P2のYUV画像データの生成に加えて、ゲイン調整部4aは、RGB画像データのRGBの各色成分毎のゲイン量をタングステン光に対応した第2ホワイトバランス調整値に調整する。ユニット回路部4は、第2ホワイトバランス調整値でRGB画像データを増幅するホワイトバランス調整を行って、YUV色空間に対応するタングステン光画像P3(
図5(a)参照)のYUV画像データを生成する。
なお、ユニット回路部4により生成された各画像データ、例えば、ストロボ光画像P2やタングステン光画像P3のYUV画像データ等は、メモリ6に出力されて、当該メモリ6に一時的に記憶される。
【0018】
画像処理部5は、ユニット回路部4から出力された画像データの記録の際に、メモリ6から取得した当該画像データに対して各種の画像処理や圧縮等を施してファイル化する。そして、画像処理部5は、ファイル化された画像データを画像記録部9に転送する。
【0019】
また、画像処理部5は、判定部5aと、第1画像取得部5bと、第2画像取得部5cと、ストロボ光色相差情報算出部5dと、タングステン光色相差情報算出部5eと、人肌色相差情報算出部5fと、前景尤度値算出部5gと、ホワイトバランス調整部5hと、画像生成部5iとを具備している。
【0020】
判定部5aは、タングステン光下でストロボを発光して撮像するタングステン光撮像モードが設定されているか否かを判定する。
即ち、判定部(判定手段)5aは、ストロボを発光して行われた撮像が外部光源としてのタングステン光下での撮像であるか否かを判定する。具体的には、判定部5aは、例えば、ユーザによる操作入力部10の所定操作に基づいて選択指示されたタングステン光撮像モードが撮像モードとして設定されているか否かに応じて、外部光源としてのタングステン光下での撮像であるか否かを判定する。
【0021】
第1画像取得部5bは、ストロボ光画像P2の画像データを取得する。
即ち、第1画像取得部(第1取得手段)5bは、撮像画像P1のRGB画像データに対してストロボ発光に対応した第1ホワイトバランス調整値でホワイトバランス調整されたストロボ光画像P2のYUV画像データを取得する。具体的には、撮像モードとしてタングステン光撮像モードが設定されている状態で、第1画像取得部5bは、ユニット回路部4により生成されたストロボ光画像P2のYUV画像データをメモリ6から取得する。
以下の説明では、ストロボ光画像P2の輝度Y及び色差U、Vは、例えば、それぞれ階調が8bit[0〜255]のデータとする。
【0022】
第2画像取得部5cは、タングステン光画像P3の画像データを取得する。
即ち、第2画像取得部(第2取得手段)5cは、撮像画像P1のRGB画像データに対してタングステン光に対応した第2ホワイトバランス調整値でホワイトバランス調整されたタングステン光画像P3のYUV画像データを取得する。具体的には、撮像モードとしてタングステン光撮像モードが設定されている状態で、第2画像取得部5cは、ユニット回路部4により生成されたタングステン光画像P3のYUV画像データをメモリ6から取得する。
以下の説明では、タングステン光画像P3の輝度Y及び色差U、Vは、例えば、それぞれ階調が8bit[0〜255]のデータとする。
【0023】
ストロボ光色相差情報算出部5dは、撮像画像P1のRGB画像データの各画素について、ストロボ光に対応する色相に係る第1色相情報との間の第1色相差情報を算出する。
即ち、ストロボ光色相差情報算出部5dは、第1画像取得部5bにより取得されたストロボ光画像P2のYUV画像データをHSV色空間に対応する画像データ(HSV画像データ)に変換して、各画素(x, y)の色相H[0〜359]、彩度S[0〜255]及び明度V[0〜255]を算出する。ここで、ストロボ光画像P2のYUV画像データは、撮像画像P1のRGB画像データをストロボ発光に対応した第1ホワイトバランス調整値でホワイトバランス調整した画像データである。従って、ストロボ光画像P2のYUV画像データから変換されたHSV画像データの各画素の色相H[0〜359](
図4(b)参照)は、撮像画像P1のRGB画像データの各画素についてのストロボ光に対応する色相(第1色相情報)との差分に相当し、また、ストロボ光画像P2のHSV画像データの各画素の彩度S[0〜255]及び明度V[0〜255]も撮像画像P1のRGB画像データの各画素に対して上記と同様の相関関係を有する。
そして、ストロボ光色相差情報算出部5dは、例えば、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)及び明度成分Cv(x, y)を、第1色相差情報として取得する。
例えば、
図4(b)に模式的に示すストロボ光画像P2のHSV画像データの各画素の色相Hについて説明すると、ストロボ光が当たっている人肌部分(破線2aで囲んだ領域)の色相Hは[40]、背景部分(破線2bで囲んだ領域)の色相Hは[30]であり、ほぼ等しくなる。
【0024】
なお、第1色相差情報として、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)及び明度成分Cv(x, y)を例示したが、一例であってこれに限られるものではなく、適宜任意に変更可能である。
このように、ストロボ光色相差情報算出部5dは、ストロボ光に対応する色相に係る第1色相情報とRGB画像データの各画素の色相との間の第1色相差情報を算出する第1算出手段を構成している。
【0025】
タングステン光色相差情報算出部5eは、撮像画像P1のRGB画像データの各画素について、タングステン光に対応する色相に係る第3色相情報との間の第3色相差情報を算出する。
即ち、タングステン光色相差情報算出部5eは、第2画像取得部5cにより取得されたタングステン光画像P3のYUV画像データをHSV色空間に対応する画像データ(HSV画像データ)に変換して、各画素(x, y)の色相H[0〜359]、彩度S[0〜255]及び明度V[0〜255]を算出する。つまり、タングステン光画像P3のYUV画像データは、撮像画像P1のRGB画像データをタングステン光に対応した第2ホワイトバランス調整値でホワイトバランス調整した画像データである。従って、タングステン光画像P3のYUV画像データから変換されたHSV画像データの各画素の色相H[0〜359](
図5(b)参照)は、撮像画像P1のRGB画像データの各画素についてのタングステン光に対応する色相(第3色相情報)との差分に相当し、また、タングステン光画像P3のHSV画像データの各画素の彩度S[0〜255]及び明度V[0〜255]も撮像画像P1のRGB画像データの各画素の画素値に対して上記と同様の相関関係を有する。
そして、タングステン光色相差情報算出部5eは、例えば、タングステン光画像P3のHSV画像データの各画素の彩度成分Ds(x, y)を、第3色相差情報として取得する。
例えば、
図5(b)に模式的に示すタングステン光画像P3のHSV画像データの各画素の色相Hについて説明すると、ストロボ光が当たっている人肌部分(破線3aで囲んだ領域)の色相Hは[220]、背景部分(破線3bで囲んだ領域)の色相Hは[30]であり、互いに異なる。
【0026】
なお、第3色相差情報として、タングステン光画像P3のHSV画像データの各画素の彩度成分Ds(x, y)を例示したが、一例であってこれに限られるものではなく、適宜任意に変更可能である。
このように、タングステン光色相差情報算出部5eは、タングステン光に対応する色相に係る第3色相情報とRGB画像データの各画素の色相との間の第3色相差情報を算出する第3算出手段を構成している。
【0027】
人肌色相差情報算出部5fは、撮像画像P1のRGB画像データの各画素について、人肌に対応する色相に係る第2色相情報との間の第2色相差情報を算出する。
即ち、人肌色相差情報算出部5fは、タングステン光色相差情報算出部5eにより生成されたタングステン光画像P3のHSV画像データの各画素の色相Dh(x, y)に基づいて、下記式(1)に従ってストロボ光が当たった人肌部分に対応する色相に近い度合いを示す人肌色相特定マップEy_MAP(x, y)を生成する(
図6(a)参照)。つまり、ストロボを発光させた撮像の場合、ストロボ光が当たった人肌部分は青みがかった色相となることから、タングステン光画像P3のYUV画像データから変換されたHSV画像データの各画素の色相H(
図5(b)参照)と青に対応する色相H(例えば、「240」程度)との差分は、RGB画像データの各画素についての人肌に対応する色相(第2色相情報)との差分に相当する。
【0028】
【数1】
具体的には、人肌色相差情報算出部5fは、式(1)中の「A」を青に対応する色相Hの値とし、第1閾値th1及び第2閾値th2(th2>th1)を用いた判定結果を基準として、タングステン光画像P3のHSV画像データの各画素の色相Dh(x, y)を、8bit[0〜255]の輝度データで表された人肌色相特定マップEy_MAP(x, y)に変換する。例えば、人肌色相差情報算出部5fは、色相Dh(x, y)と「A」との絶対値差が第1閾値th1よりも小さい画素(即ち、色相が人肌に相当する青に近い画素)の画素値Ey(x, y)を「0」(
図6(a)中の黒い部分)とし、また、色相Dh(x, y)と「A」との絶対値差が第2閾値th2よりも小さい画素は、色相Dh(x, y)が青に近い画素ほど画素値Ey(x, y)をより小さい値とし、また、色相Dh(x, y)が上記以外の画素(即ち、「A」との絶対値差が第2閾値th2以上の画素)の画素値Ey(x, y)を「255」(
図6(a)中の白い部分)とした人肌色相特定マップEy_MAP(x, y)を、第2色相差情報として算出する。
なお、〜MAP(x, y)との表記は、2次元画像内の全ての画素(x, y)に対応するデータが記憶された2次元配列データであることを表している。また、以下の記載では、各画素(x, y)に対応するデータが8bit[0〜255]の値で示されていることを、〜MAP(x, y)[0〜255]と表す。
【0029】
このように、人肌色相差情報算出部5fは、人肌に対応する色相に係る第2色相情報とRGB画像データの各画素の色相との間の第2色相差情報を算出する第2算出手段を構成している。
【0030】
前景尤度値算出部5gは、ホワイトバランス調整される各画素の前景らしさに係る前景尤度値を算出する。
即ち、前景尤度値算出部5gは、第1尤度値S及び第2尤度値R(何れも詳細後述)に基づいて、各画素の前景尤度Fy(x, y)が8bit[0〜255]の輝度データで表された前景尤度マップFy_MAP(x, y)を算出する(
図6(b)参照)。
【0031】
ここで、前景尤度値算出部5gは、人肌色相特定マップEy_MAP(x, y)と、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)及び明度成分Cv(x, y)とを用いて、下記式(2)に従って色相尤度マップH_MAP(x, y)を算出する。
【数2】
即ち、前景尤度値算出部5gは、人肌色相特定マップEy_MAP(x, y)の各画素の画素値Ey(x, y)を、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)や明度成分Cv(x, y)を考慮して補正することで、各画素の色相尤度H(x, y)が表された色相尤度マップH_MAP(x, y)を算出する。具体的には、前景尤度値算出部5gは、人肌色相特定マップEy_MAP(x, y)の各画素について、彩度成分Cs(x, y)及び明度成分Cv(x, y)の両方が階調の中央値に相当する値(例えば、階調が8bit[0〜255]の場合の「128」等)以上の場合には、当該画素の画素値Ey(x, y)を色相尤度H(x, y)とし、彩度成分Cs(x, y)或いは明度成分Cv(x, y)が「128」よりも小さい場合には、人肌に対応する尤度を下げる方向に当該画素の画素値Ey(x, y)を彩度成分Cs(x, y)を用いて補正する。つまり、人肌色相特定マップEy_MAP(x, y)における、彩度成分Cs(x, y)や明度成分Cv(x, y)が小さい画素の画素値Ey(x, y)は、信頼性が低いため、人肌に対応する画素とみなされ難くなるように調整される。
【0032】
また、前景尤度値算出部5gは、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)と、色相尤度マップH_MAP(x, y)とを用いて、下記式(3)に従って第1尤度値Sを算出する。
【数3】
ここで、第1尤度値Sは、ストロボ光が届いていない被写体(前景)以外の背景に近い度合いを各画素毎に表すものである。即ち、第1色相差情報に規定される色相差に相当する各画素の彩度成分Cs(x, y)の値が大きいほど、及び/又は、第2色相差情報に規定される色相差に相当する色相尤度H(x, y)の値が大きい(青らしくない)ほど、第1尤度値Sが大きい値となる。
【0033】
また、前景尤度値算出部5gは、タングステン光画像P3のHSV画像データの各画素の彩度成分Ds(x, y)と、色相尤度マップH_MAP(x, y)とを用いて、下記式(4)に従って第2尤度値Rを算出する。
【数4】
ここで、第2尤度値Rは、ストロボ光が届いている被写体(前景)に近い度合いを各画素毎に表すものである。即ち、第3色相差情報に規定される色相差に相当する各画素の彩度成分Cs(x, y)の値が大きいほど、及び/又は、第2色相差情報に規定される色相差に相当する色相尤度H(x, y)の値が小さい(青らしい)ほど、第2尤度値Rが大きい値となる。
【0034】
そして、前景尤度値算出部5gは、算出された第1尤度値S及び第2尤度値Rを用いて、下記式(5)に従って前景尤度マップFy_MAP(x, y)を算出する。
【数5】
即ち、前景尤度値算出部5gは、第1尤度値Sと第2尤度値Rとの絶対値差が大きいほど、前景とみなされ易くなるように各画素の前景尤度Fy(x, y)を算出する。なお、第1尤度値Sと第2尤度値Rとの和が「0」となる画素については、前景尤度Fy(x, y)の最大値「255」にクリップする。また、
図6(b)に示す前景尤度マップFy_MAP(x, y)では、前景尤度の最大値を「255」に近くなるほど相対的に白く表され、最小値「0」に近くなるほど相対的に黒く表されている。
ここで、前景尤度マップFy_MAP(x, y)は、ストロボ光画像P2のYUV画像データとタングステン光画像P3のYUV画像データとをアルファブレンドする割合を規定するアルファマップを構成している。
【0035】
このように、前景尤度値算出部5gは、第1色相差情報及び第2色相差情報に基づいて算出された第1尤度値Sと、第2色相差情報及び第3色相差情報に基づいて算出された第2尤度値Rとに基づいて、ホワイトバランス調整される各画素の前景らしさに係る前景尤度値Fy(x, y)を算出する第4算出手段を構成している。
【0036】
ホワイトバランス調整部5hは、撮像画像P1の各画素についてホワイトバランス調整値を各々決定する。
具体的には、ホワイトバランス調整部5hは、判定部5aによりタングステン光下での撮像であると判定された場合に、前景尤度値算出部5gにより算出された前景尤度マップFy_MAP(x, y)を用いて、撮像画像P1の各画素についてホワイトバランス調整値を決定する。
即ち、ホワイトバランス調整部5hは、ストロボ光に対応する色相に係る第1色相情報、人肌に対応する色相に係る第2色相情報及びタングステン光に対応する色相に係る第3色相情報を基準として、ストロボ発光に対応した第1ホワイトバランス調整値及びタングステン光に対応した第2ホワイトバランス調整値のうち、少なくとも何れか一方をホワイトバランス調整に用いて、撮像画像P1の画像データの各画素に対するホワイトバランス調整値を決定する。つまり、ホワイトバランス調整部5hは、前景尤度値算出部5gにより算出された前景尤度マップFy_MAP(x, y)に基づいて、撮像画像P1の各画素について、第1ホワイトバランス調整値を用いるべきか、第2ホワイトバランス調整値を用いるべきかを判断して、ホワイトバランス調整値を決定する。
【0037】
具体的には、ホワイトバランス調整部5hは、前景尤度マップFy_MAP(x, y)をアルファマップとし、前景尤度値Fy(x, y)が大きいほど第1ホワイトバランス調整値の割合が大きく、その一方で、前景尤度値Fy(x, y)が小さいほど第2ホワイトバランス調整値の割合が大きくなるようにする。
前景尤度値Fy(x, y)は、「0」〜「255」の値をとるデータであり、例えば、前景尤度値Fy(x, y)が「0」の画素はタングステン光画像P3のYUV画像データの色差U、Vの割合が100%となり、また、「255」の画素はストロボ光画像P2のYUV画像データの色差U、Vの割合が100%となる。また、前景尤度値Fy(x, y)が「1」〜「254」の画素は、「0」に近い画素ほどタングステン光画像P3のYUV画像データの色差U、Vの重みが相対的に大きくなり、また、「255」に近い画素ほどストロボ光画像P2のYUV画像データの色差U、Vの重みが相対的に大きくなる。
つまり、ホワイトバランス調整部5hは、撮像画像P1の各画素について、ストロボ光画像P2のYUV画像データとタングステン光画像P3のYUV画像データとの混合する割合を調整(詳細後述)することにより、結果として、各画素に対するホワイトバランス調整値を決定する。
【0038】
このように、ホワイトバランス調整部5hは、判定部5aによりタングステン光下での撮像であると判定された場合に、ストロボ光に対応する色相に係る第1色相情報、人肌に対応する色相に係る第2色相情報、タングステン光に対応する色相に係る第3色相情報及び撮像画像P1の画像データの各画素値に基づいて、該画像データの各画素に対するホワイトバランス調整値を各々決定するホワイトバランス調整手段を構成している。
【0039】
画像生成部5iは、ホワイトバランス調整部5hにより決定された各画素のホワイトバランス調整値に基づいて、ホワイトバランス調整後の画像データを生成する。
即ち、画像生成部5iは、ストロボ光画像P2のYUV画像データとタングステン光画像P3のYUV画像データとをアルファブレンドしてホワイトバランス調整画像P4のYUV画像データを生成する。具体的には、画像生成部5iは、前景尤度マップFy_MAP(x, y)の各画素毎に規定されている前景尤度値Fy(x, y)に従って、ストロボ光画像P2のYUV画像データの色差U、Vとタングステン光画像P3のYUV画像データの色差U、Vとをアルファブレンド(混合)することで、ホワイトバランス調整画像P4(
図6(c)参照)のYUV画像データを生成する。
なお、ホワイトバランス調整画像P4の輝度Yは、例えば、撮像画像P1のRGB画像データから変換された輝度Yを用いても良いし、ストロボ光画像P2の輝度Yを用いても良いし、タングステン光画像P3の輝度Yを用いても良い。
【0040】
このように、画像生成部5iは、ホワイトバランス調整部5hにより決定された各画素のホワイトバランス調整値に基づいて、ストロボ光画像P2の画像データとタングステン光画像P3の画像データとを混合してホワイトバランス調整後の画像データを生成する生成手段を構成している。
【0041】
メモリ6は、例えば、DRAM等により構成され、画像処理部5や中央制御部11等によって処理されるデータ等を一時的に記憶する。
【0042】
表示制御部7は、メモリ6に一時的に記憶されている表示用の画像データを読み出して表示部8に表示させる制御を行う。
具体的には、表示制御部7は、VRAM、VRAMコントローラ、デジタルビデオエンコーダなどを備えている(何れも図示略)。そして、デジタルビデオエンコーダは、中央制御部11の制御下にてメモリ6から読み出されてVRAMに記録されている輝度信号Y及び色差信号Cb,Crを、VRAMコントローラを介してVRAMから定期的に読み出して、これらのデータを元にビデオ信号を発生して表示部8に出力する。
【0043】
表示部8は、例えば、液晶表示装置であり、表示制御部7からのビデオ信号に基づいて電子撮像部2により撮像された画像などを表示画面に表示する。具体的には、表示部8は、静止画撮像モードや動画撮像モードにて、電子撮像部2による被写体の撮像により生成された複数の画像フレームを所定のフレームレートで逐次更新しながらライブビュー画像を表示する。
【0044】
画像記録部9は、例えば、不揮発性メモリ等により構成され、画像処理部5の符号化部(図示略)により所定の圧縮形式で符号化された記録用の静止画像データや複数の画像フレームからなる動画像データを記録する。
【0045】
操作入力部10は、当該撮像装置100の所定操作を行うためのものである。具体的には、操作入力部10は、被写体の撮像指示に係るシャッタボタン、撮像モードや機能等の選択指示に係る選択決定ボタン、ズーム量の調整指示に係るズームボタン等を備え(何れも図示略)、これらのボタンの操作に応じて所定の操作信号を中央制御部11に出力する。
【0046】
中央制御部11は、撮像装置100の各部を制御するものである。具体的には、中央制御部11は、CPU、RAM、ROM(何れも図示略)を備え、撮像装置100用の各種処理プログラム(図示略)に従って各種の制御動作を行う。
【0047】
次に、撮像装置100による画像生成処理について、
図2〜
図6を参照して説明する。
図2は、画像生成処理に係る動作の一例を示すフローチャートである。
【0048】
図2に示すように、先ず、画像処理部5の判定部5aは、複数の撮像モードの中で、タングステン光下でストロボを発光して撮像する「タングステン光撮像モード」が設定されているか否かを判定する(ステップS1)。
ここで、「タングステン光撮像モード」が設定されていると判定された場合(ステップS1;YES)、外部光源としてのタングステン光下で、ストロボ発光部3によりストロボを発光してレンズ部1及び電子撮像部2により被写体の撮像が行われた後(ステップS2)、ユニット回路部4は、電子撮像部2から被写体の光学像に応じたRGB画像データを取得する(ステップS3;
図3参照)。
なお、ステップS1にて、「タングステン光撮像モード」が設定されていないと判定された場合には(ステップS1;NO)、画像処理部5は、図示しない他の撮影モードでの撮影処理を実行する。他のいずれの撮影モードも設定されていない場合には、処理をステップS1に戻し、上記の判定処理を所定のタイミングで繰り返し実行する(ステップS1)。
【0049】
その後、ユニット回路部4は、撮像画像P1のRGB画像データのRGBの各色成分毎のゲイン量をストロボ発光に対応した第1ホワイトバランス調整値として、当該RGB画像データのホワイトバランス調整を行って、ストロボ光画像P2(
図4(a)参照)のYUV画像データを生成する(ステップS4)。なお、ストロボ光画像P2のYUV画像データは、メモリ6に出力されて、当該メモリ6に一時的に記憶される。
続けて、ユニット回路部4は、撮像画像P1のRGB画像データのRGBの各色成分毎のゲイン量をタングステン光に対応した第2ホワイトバランス調整値として、当該RGB画像データのホワイトバランス調整を行って、タングステン光画像P3(
図5(a)参照)のYUV画像データを生成する(ステップS5)。なお、タングステン光画像P3のYUV画像データは、メモリ6に出力されて、当該メモリ6に一時的に記憶される。
【0050】
次に、第1画像取得部5bは、メモリ6からストロボ光画像P2のYUV画像データを取得し、ストロボ光色相差情報算出部5dは、第1画像取得部5bにより取得されたストロボ光画像P2のYUV画像データを所定の変換式に従って変換して、HSV色空間に対応するHSV画像データ(色相H[0〜359]、彩度S[0〜255]及び明度V[0〜255])を生成する(ステップS6;
図4(b)参照)。
そして、ストロボ光色相差情報算出部5dは、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)及び明度成分Cv(x, y)を取得する(ステップS7)。
【0051】
続けて、第2画像取得部5cは、メモリ6からタングステン光画像P3のYUV画像データを取得し、タングステン光色相差情報算出部5eは、第2画像取得部5cにより取得されたタングステン光画像P3のYUV画像データを所定の変換式に従って変換して、HSV色空間に対応するHSV画像データ(色相H[0〜359]、彩度S[0〜255]及び明度V[0〜255])を生成する(ステップS8;
図5(b)参照)。
そして、タングステン光色相差情報算出部5eは、タングステン光画像P3のHSV画像データの各画素の彩度成分Ds(x, y)を取得する(ステップS9)。
【0052】
次に、人肌色相差情報算出部5fは、タングステン光画像P3のHSV画像データの各画素の色相Dh(x, y)に基づいて、下記式(1)に従ってストロボ光が当たった人肌部分に対応する色相に近い度合いを示す人肌色相特定マップEy_MAP(x, y)を生成する(ステップS10;
図6(a)参照)。
【数6】
【0053】
続けて、前景尤度値算出部5gは、下記式(2)に従って、人肌色相特定マップEy_MAP(x, y)の各画素の画素値Ey(x, y)を、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)や明度成分Cv(x, y)を考慮して調整し、色相尤度マップH_MAP(x, y)を算出する(ステップS11)。
【数7】
【0054】
次に、前景尤度値算出部5gは、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)と、色相尤度マップH_MAP(x, y)とを用いて、下記式(3)に従って、ストロボ光が届いていない背景に近い度合いを表す第1尤度値Sを算出する(ステップS12)。
【数8】
続けて、前景尤度値算出部5gは、タングステン光画像P3のHSV画像データの各画素の彩度成分Ds(x, y)と、色相尤度マップH_MAPとを用いて、下記式(4)に従って、ストロボ光が届いている被写体(前景)に近い度合いを表す第2尤度値Rを算出する(ステップS13)。
【数9】
【0055】
次に、前景尤度値算出部5gは、算出された第1尤度値S及び第2尤度値Rを用いて、下記式(5)に従って、ホワイトバランス調整される各画素の前景らしさを表す前景尤度マップFy_MAP(x, y)を算出する(ステップS14;
図6(b)参照)。
【数10】
【0056】
そして、ホワイトバランス調整部5hは、前景尤度マップFy_MAP(x, y)に基づいて、撮像画像P1の各画素についてのホワイトバランス調整値を決定し、画像生成部5iは、前景尤度マップFy_MAP(x, y)をアルファマップとし、各画素毎に規定されている前景尤度値Fy(x, y)に従って、ストロボ光画像P2のYUV画像データの色差U、Vとタングステン光画像P3のYUV画像データの色差U、Vとを混合し、ホワイトバランス調整画像P4のYUV画像データを生成して(ステップS15;
図6(c)参照)、画像生成処理を終了する。
これにより、
図6(c)に示すように、ストロボが当たっている被写体の人肌部分(破線4aで囲んだ領域)の色味を残したまま、タングステン光(外部光源)が当たっている背景部分(破線4bで囲んだ領域)の赤みを低減したホワイトバランス調整画像P4を生成することができる。
【0057】
以上のように、本実施形態の撮像装置100によれば、タングステン光下でストロボを発光する撮像の際に、ストロボ光に対応する色相に係る第1色相情報、人肌に対応する色相に係る第2色相情報(例えば、ストロボ光が当たった人肌の色相に係る情報)、タングステン光に対応する色相に係る第3色相情報及び撮像画像P1のRGB画像データの各画素の画素値に基づいて、当該画像データの各画素に対するホワイトバランス調整値を決定するので、タングステン光の影響を受けた領域やストロボが当たった人肌の領域を個別にホワイトバランス調整することができる。即ち、ストロボ発光に対応したゲイン量でホワイトバランス調整しただけでは、ストロボ光が届く人肌に対応する領域の色相と、タングステン光の影響を受けた領域の色相とがほぼ等しくなってしまうため、ストロボ発光に対応した第1ホワイトバランス調整値及びタングステン光に対応した第2ホワイトバランス調整値のうち、少なくとも何れか一方を用いて、各画素に対するホワイトバランス調整値を決定することで、人肌部分と背景部分の各領域がそれぞれ見た目に近くなるように違和感が軽減されたホワイトバランス調整画像P4を生成することができる。
従って、タングステン光下でストロボを発光して撮像を行っても、人肌に対応する領域のホワイトバランス調整を適正に行って、ホワイトバランス調整画像P4を生成することができる。
【0058】
具体的には、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)と、色相尤度マップH_MAP(x, y)と、タングステン光画像P3のHSV画像データの各画素の彩度成分Ds(x, y)とに基づいて、撮像画像P1の各画素について、第1ホワイトバランス調整値を用いるべきか、第2ホワイトバランス調整値を用いるべきかを特定するので、タングステン光の影響を受けた領域やストロボが当たった人肌の領域のホワイトバランス調整を局所的に適正に行うことができる。
特に、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)と、色相尤度マップH_MAP(x, y)と、タングステン光画像P3のHSV画像データの各画素の彩度成分Ds(x, y)とに基づいて算出された前景尤度マップFy_MAP(x, y)を利用することで、前景尤度値Fy(x, y)が大きいほど第1ホワイトバランス調整値の割合が大きく、一方、前景尤度値Fy(x, y)が小さいほど第2ホワイトバランス調整値の割合が大きくなるようにして、撮像画像P1の各画素に対するホワイトバランス調整値を適正に決定することができる。具体的には、前景尤度値Fy(x, y)の算出に係る第1尤度値Sは、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)の値が大きいほど、及び/又は、色相尤度H(x, y)の値が大きいほど、大きい値となるので、当該第1尤度値Sを用いてストロボ光が届いていない背景に近い度合いを適正に規定することができる。また、前景尤度値Fy(x, y)の算出に係る第2尤度値Rは、タングステン光画像P3のHSV画像データの各画素の彩度成分Ds(x, y)の値が大きいほど、及び/又は、色相尤度H(x, y)の値が小さいほど、大きい値となるので、当該第2尤度値Rを用いてストロボ光が届いている被写体(前景)に近い度合いを適正に規定することができる。
【0059】
また、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)と、色相尤度マップH_MAP(x, y)と、タングステン光画像P3のHSV画像データの各画素の彩度成分Ds(x, y)とに基づいて決定された撮像画像P1の各画素に対するホワイトバランス調整値に基づいて、ストロボ光画像P2のYUV画像データとタングステン光画像P3のYUV画像データとを混合することで、ホワイトバランス調整値の決定及びホワイトバランス調整画像P4のYUV画像データの生成を簡便に、且つ、適正に行うことができる。
【0060】
なお、本発明は、上記実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、上記実施形態では、ホワイトバランス調整画像P4のYUV画像データの生成の際に、ストロボ光画像P2のYUV画像データとタングステン光画像P3のYUV画像データとを混合するようにしたが、必ずしもストロボ光画像P2のYUV画像データとタングステン光画像P3のYUV画像データを混合する必要はない。即ち、ストロボ光画像P2のHSV画像データの各画素の彩度成分Cs(x, y)と、色相尤度マップH_MAP(x, y)と、タングステン光画像P3のHSV画像データの各画素の彩度成分Ds(x, y)とに基づいて、撮像画像P1のRGB画像データの各画素に対するホワイトバランス調整値を決定可能な構成であれば如何なる構成であっても良い。
【0061】
また、上記実施形態では、ホワイトバランス調整される各画素の前景らしさに係る前景尤度値Fy(x, y)を算出して、第1ホワイトバランス調整値や第2ホワイトバランス調整値を用いる割合を規定するようにしたが、必ずしも前景尤度値Fy(x, y)を算出する必要はなく、適宜任意に変更可能である。
【0062】
さらに、撮像装置100の構成は、上記実施形態に例示したものは一例であり、これに限られるものではない。
【0063】
加えて、上記実施形態にあっては、画像取得手段、判定手段、特定手段としての機能を、中央制御部11の制御下にて、ユニット回路部、判定部、画素値特定部が駆動することにより実現される構成としたが、これに限られるものではなく、中央制御部11のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
即ち、プログラムを記憶するプログラムメモリ(図示略)に、画像取得処理ルーチン、判定処理ルーチン、特定処理ルーチンを含むプログラムを記憶しておく。そして、画像取得処理ルーチンにより中央制御部11のCPUを、ストロボを発光して撮像した画像の画像データを取得する画像取得手段として機能させるようにしても良い。また、判定処理ルーチンにより中央制御部11のCPUを、外部光源としてのタングステン光下での撮像であるか否かを判定する判定手段として機能させるようにしても良い。また、特定処理ルーチンにより中央制御部11のCPUを、判定手段によりタングステン光下での撮像であると判定された場合に、ストロボ光に対応する色相に係る第1色相情報、人肌に対応する色相に係る第2色相情報、タングステン光に対応する色相に係る第3色相情報及び画像取得手段により取得された画像データの各画素値に基づいて、該画像データの各画素に対するホワイトバランス調整値を各々決定するホワイトバランス調整手段として機能させるようにしても良い。
【0064】
同様に、第1算出手段、第2算出手段、第3算出手段、第4算出手段、第1取得手段、第2取得手段、生成手段についても、中央制御部11のCPUによって所定のプログラム等が実行されることにより実現される構成としても良い。
【0065】
さらに、上記の各処理を実行するためのプログラムを格納したコンピュータ読み取り可能な媒体として、ROMやハードディスク等の他、フラッシュメモリ等の不揮発性メモリ、CD−ROM等の可搬型記録媒体を適用することも可能である。また、プログラムのデータを所定の通信回線を介して提供する媒体としては、キャリアウェーブ(搬送波)も適用される。
【0066】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
ストロボを発光して撮像した画像の画像データを取得する画像取得手段と、
外部光源としてのタングステン光下での撮像であるか否かを判定する判定手段と、
前記判定手段によりタングステン光下での撮像であると判定された場合に、ストロボ光に対応する色相に係る第1色相情報、人肌に対応する色相に係る第2色相情報、タングステン光に対応する色相に係る第3色相情報及び前記画像取得手段により取得された画像データの各画素値に基づいて、該画像データの各画素に対するホワイトバランス調整値を各々決定するホワイトバランス調整手段と、
を備えたことを特徴とする撮像装置。
<請求項2>
前記ホワイトバランス調整手段は、更に、
前記第1色相情報、前記第2色相情報、前記第3色相情報及び前記画像データの各画素値に基づいて、前記ストロボ発光に対応した第1ホワイトバランス調整値及び前記タングステン光に対応した第2ホワイトバランス調整値のうち、少なくとも何れか一方を用いて、前記画像データの各画素に対するホワイトバランス調整値を決定することを特徴とする請求項1に記載の撮像装置。
<請求項3>
前記第1色相情報と前記画像データの各画素の色相との間の第1色相差情報を算出する第1算出手段と、
前記第2色相情報と前記画像データの各画素の色相との間の第2色相差情報を算出する第2算出手段と、
前記第3色相情報と前記画像データの各画素の色相との間の第3色相差情報を算出する第3算出手段と、を更に備え、
前記ホワイトバランス調整手段は、
前記第1色相差情報、前記第2色相差情報及び前記第3色相差情報に基づいて、前記画像データの各画素について、前記第1ホワイトバランス調整値を用いるべきか、前記第2ホワイトバランス調整値を用いるべきかを判断してホワイトバランス調整値を決定することを特徴とする請求項2に記載の撮像装置。
<請求項4>
前記第1色相差情報及び前記第2色相差情報に基づいて算出された第1尤度値と、前記第2色相差情報及び前記第3色相差情報に基づいて算出された第2尤度値とに基づいて、ホワイトバランス調整される各画素の前景らしさに係る前景尤度値を算出する第4算出手段を更に備え、
前記ホワイトバランス調整手段は、
前記前景尤度値が大きいほど前記第1ホワイトバランス調整値の割合が大きく、一方、前記前景尤度値が小さいほど前記第2ホワイトバランス調整値の割合が大きくなるようにして、前記画像データの各画素に対するホワイトバランス調整値を決定することを特徴とする請求項3に記載の撮像装置。
<請求項5>
前記第1色相差情報に規定される色相差が大きいほど、及び/又は、前記第2色相差情報に規定される色相差が大きいほど、前記第1尤度値は大きい値となり、
前記第3色相差情報に規定される色相差が大きいほど、及び/又は、前記第2色相差情報に規定される色相差が小さいほど、前記第2尤度値は大きい値となることを特徴とする請求項4に記載の撮像装置。
<請求項6>
前記画像データに対して前記第1ホワイトバランス調整値でホワイトバランス調整されたストロボ光画像の画像データを取得する第1取得手段と、
前記画像データに対して前記第2ホワイトバランス調整値でホワイトバランス調整されたタングステン光画像の画像データを取得する第2取得手段と、
前記ホワイトバランス調整手段により決定された各画素のホワイトバランス調整値に基づいて、前記ストロボ光画像の画像データと前記タングステン光画像の画像データとを混合してホワイトバランス調整後の画像データを生成する生成手段と、を更に備えることを特徴とする請求項2〜5の何れか一項に記載の撮像装置。
<請求項7>
前記第2色相情報は、ストロボ光が当たった人肌の色相に係る情報を含むことを特徴とする請求項1〜6の何れか一項に記載の撮像装置。
<請求項8>
撮像装置を用いた画像処理方法であって、
ストロボを発光して撮像した画像の画像データを取得する処理と、
外部光源としてのタングステン光下での撮像であるか否かを判定する処理と、
タングステン光下での撮像であると判定された場合に、ストロボ光に対応する色相に係る第1色相情報、人肌に対応する色相に係る第2色相情報、タングステン光に対応する色相に係る第3色相情報及び取得された画像データの各画素値に基づいて、該画像データの各画素に対するホワイトバランス調整値を各々決定する処理と、
を含むことを特徴とする画像処理方法。
<請求項9>
撮像装置のコンピュータを、
ストロボを発光して撮像した画像の画像データを取得する画像取得手段、
外部光源としてのタングステン光下での撮像であるか否かを判定する判定手段、
前記判定手段によりタングステン光下での撮像であると判定された場合に、ストロボ光に対応する色相に係る第1色相情報、人肌に対応する色相に係る第2色相情報、タングステン光に対応する色相に係る第3色相情報及び前記画像取得手段により取得された画像データの各画素値に基づいて、該画像データの各画素に対するホワイトバランス調整値を各々決定するホワイトバランス調整手段、
として機能させることを特徴とするプログラム。