JP2017192027A - 画像処理装置、画像処理方法、プログラム - Google Patents
画像処理装置、画像処理方法、プログラム Download PDFInfo
- Publication number
- JP2017192027A JP2017192027A JP2016080470A JP2016080470A JP2017192027A JP 2017192027 A JP2017192027 A JP 2017192027A JP 2016080470 A JP2016080470 A JP 2016080470A JP 2016080470 A JP2016080470 A JP 2016080470A JP 2017192027 A JP2017192027 A JP 2017192027A
- Authority
- JP
- Japan
- Prior art keywords
- block
- evaluation value
- pixel
- color evaluation
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Color Television Image Signal Generators (AREA)
- Processing Of Color Television Signals (AREA)
- Studio Devices (AREA)
Abstract
【課題】タイムラプス撮影による撮影画像に対して安定したホワイトバランス制御を可能にすることを課題とする。【解決手段】WB制御部(116)は、タイムラプス撮影された撮影画像から色評価値を生成する。さらに、WB制御部(116)は、撮影画像より生成された色評価値から、撮影画像の移動体領域に対応した色評価値を除外した後の評価値に基づいて、撮影画像のWB補正値を生成する。【選択図】図1
Description
本発明は、撮影された画像を処理する画像処理装置、画像処理方法、プログラム、及び撮像装置に関する。
従来、或る程度長い所定時間間隔で撮影を自動的に行って複数枚の撮影画像を取得し、それら複数枚の撮影画像から動画を生成するようなタイムラプス撮影と呼ばれる機能を備えた撮像装置が知られている。なお、タイムラプス撮影により生成された動画はタイムラプス動画と呼ばれることもある。タイムラプス撮影により所定時間間隔おきに撮影された複数枚の画像は、それぞれ別個の画像ファイルとして記録、或いは、一つの動画ファイルとして記録される。なお、予め設定された時間間隔おきに自動撮影を行って複数枚の画像を取得するような撮影手法は、いわゆるインターバル撮影とも呼ばれている。
タイムラプス撮影では、長期間に亘って撮影が行われるため、撮影期間が例えば昼間から夕暮れにまで及ぶような場合には、光源の色温度が途中から変化し、さらに、自然光から照明光のような人工光へと変化することもある。また、タイムラプス撮影は、例えば秒間30フレーム等の撮影がなされる通常の動画撮影とは異なり、撮影された各画像(コマ)間の時間間隔が離れている。このため、タイムラプス撮影においてホワイトバランスを各撮影画像間で追従させる場合には、通常の動画撮影の場合とは異なるホワイトバランス制御が必要となる。
特許文献1には、インターバル撮影において、例えば現時点の画像(現コマ)のホワイトバランス調整値とその一つ前の画像(前コマ)のホワイトバランス調整値とインターバル間隔とから、現コマのホワイトバランス調整値を補正する技術が開示されている。特許文献2には、インターバル撮影において、現コマのホワイトバランス調整値と前コマのホワイトバランス調整値との差が小さい場合には、ホワイトバランス調整値の変化量を少なくする技術が開示されている。
前述したタイムラプス撮影の場合、前述のようにコマ間(画像間)で環境光の変化が大きくなることが多いため、通常の動画撮影よりもコマ間のホワイトバランス追従量を大きくする必要がある。しかし、ホワイトバランス追従量を大きくすると、例えば有彩色の被写体が画角内外を移動するような場合、つまり被写体の移動によりコマ間で被写体が写っている場合と写っていない場合がある場合には、ホワイトバランス制御が不安定になる。
また、特許文献1に記載の技術では、インターバル撮影の際のコマ間の時間間隔の長短に応じてホワイトバランス調整値を補正しているため、例えばコマ間の時間間隔が短い場合にはホワイトバランス調整値の補正量は少なくなる。しかしながら、例えばコマ間の時間間隔が長い場合には、ホワイトバランス調整値の補正量が大きくなるため、ホワイトバランス制御が不安定になってしまう。特許文献2に記載の技術では、環境光の変化に応じてホワイトバランス調整値の変化量を制御しているため、環境光の変化が少ない場合にはホワイトバランス調整値の変化量は少なくなる。しかしながら、環境光の変化が大きい場合には、ホワイトバランス調整値の変化量が大きくなるため、ホワイトバランス制御が不安定なる。
そこで、本発明は、タイムラプス撮影による撮影画像に対して安定したホワイトバランス制御を可能にすることを目的とする。
本発明は、タイムラプス撮影された撮影画像より生成した色評価値から、撮影画像の移動体領域に対応した色評価値を除外した後の色評価値に基づいて、撮影画像のホワイトバランス補正に用いるホワイトバランス補正値を生成することを特徴とする。
本発明によれば、タイムラプス撮影による撮影画像に対して安定したホワイトバランス制御が可能となる。
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
<撮像装置の構成>
図1は、本実施形態の画像処理装置の一適用例としての撮像装置の概略構成を示す図である。本実施形態の撮像装置は、動画像や静止画像の撮影が可能なディジタルカメラ等である。
<撮像装置の構成>
図1は、本実施形態の画像処理装置の一適用例としての撮像装置の概略構成を示す図である。本実施形態の撮像装置は、動画像や静止画像の撮影が可能なディジタルカメラ等である。
レンズ108aは、センサ部103の撮像面上に被写体等の光学像を結像させるためのレンズ光学系であり、フォーカスレンズやズームレンズを含んでいる。メカ機構109aは、メカニカルシャッター、絞り等を有して構成されている。操作部101は、電源ボタンやシャッターボタン等の各種ボタンやスイッチ、タッチパネル等からなり、撮像装置の操作者により操作される。本実施形態の撮像装置の操作者が、操作部101の電源スイッチをオンにすると、撮像装置の各部に電源が供給される。撮像装置の各部に電源が供給されるとメカ機構109aのメカニカルシャッターが開き、これにより、センサ部103には、レンズ108a、メカ機構109aを介して光が入光する。
センサ部103は、CCDやCMOS等からなる固体撮像素子であり、その撮像面は例えばベイヤー配列のようなR(赤)G(緑)B(青)カラーフィルタにより覆われ、カラー撮影が可能な構成となっている。センサ部103は、制御部102による制御の下、レンズ108a、メカ機構109aを介して撮像面上に形成された光像の光量に応じた電荷をアナログ画像信号として出力する。
AD変換部104は、制御部102による制御の下、センサ部103から出力されたアナログ画像信号に対し、サンプリング、ゲイン調整、AD(アナログ−ディジタル)変換等を行い、ディジタル画像信号として出力する。AD変換部104から出力されたディジタル画像信号は、画像処理部105に送られる。以下、ディジタル画像信号を画像信号と表記する。
画像処理部105は、制御部102による制御の下、AD変換部104から出力された画像信号に対して各種の画像処理を行い、その画像処理済みの画像信号をメモリ部117に出力して記憶させる。また、画像処理部105は、メモリ部117に記憶されている画像信号を読み出して、各種画像処理を行うことも可能となされている。画像処理部105の詳細は後述する。
ホワイトバランス制御部116は、本実施形態における評価値生成手段と補正値生成手段の一例であり、メモリ部117に記憶された画像信号に基づいて、ホワイトバランス補正値を算出し、その算出したホワイトバランス補正値を制御部102に出力する。以下の説明では、ホワイトバランスを「WB」と略記する。制御部102は、WB制御部116にて算出されたWB補正値を画像処理部105へ送る。画像処理部105は、画像信号に対して、WB補正値に基づくWB補正処理を行う。なお、WB補正値の算出処理の詳細な説明は後述する。
AF処理部108は、制御部102から供給されるオートフォーカス(AF)制御情報により、レンズ108aを駆動させて被写体等にピントを合わせるオートフォーカス制御を行う。AE処理部109は、制御部102から供給される自動露出(AE)補正制御情報により、メカ機構109aのシャッタースピードや絞り値を調整して露出を適正露出に合わせる自動露出補正制御を行う。EF処理部110は、制御部102から供給される発光制御情報により、被写体上の照度が適正となり得る光量でストロボ部111を発光させる。ストロボ部111は、ストロボ発光装置である。制御部102は、AD変換部104から画像処理部105に送られた画像信号に基づいて、AF制御情報、AE補正制御情報、発光制御情報等を生成する。
エンコーダ部112は、制御部102による制御の下、メモリ部117に記憶されている画像信号を、JPEGなどの圧縮フォーマットに従ってエンコードする。エンコーダ部112によるエンコード後の画像データは、制御部102による制御の下、画像記録部113により記録媒体に記録される。外部接続部114は、各種外部機器と接続するためのインターフェイスを有し、例えば画像記録部113が記録媒体から読み出した画像データ等を外部機器に出力可能となされている。表示部115は、撮像装置に設けられている液晶パネル等の表示装置であり、プレビュー画像や画像記録部113が記録媒体から読み出した画像データの再生画像、各種メニュー画面等を表示する。表示部115の表示画面上には、操作部101のタッチパネルが設けられていてもよい。
<画像処理部の構成>
図2は、図1の画像処理部105の詳細な構成例を示す図である。
画像処理部105の色マトリクス部301は、画像信号が最適な色で再現されるように色ゲインをかけて色差信号R−Y、B−Yに変換する。ローパスフィルタ(LPF)302は、色差信号R−Y、B−Yの帯域を制限する。CSUP(Chroma Supress)部303は、色差信号R−Y、B−Yの飽和部分の偽色信号を抑圧する。輝度信号生成部304は、画像信号から輝度信号Yを生成する。エッジ強調部305は、輝度信号生成部304にて生成された輝度信号Yに対してエッジ強調を行う。CSUP部303から出力される色差信号R−Y、B−Yと、エッジ強調部305から出力される輝度信号Yは、RGB変換部306にてRGB信号に変換され、更にガンマ補正部307にてガンマ補正(階調補正)が施される。ガンマ補正後のRGB信号は、その後、色輝度変換部308にてYUV信号に変換されて、画像処理部105から出力される。領域別シャープネス処理部309は、画像から検出した被写体領域ごとにシャープネス処理を行う。パターン認識部311は、画像から被写体領域として検出した例えば人物や顔、性別等を認識するためのパターン認識等を行う。
図2は、図1の画像処理部105の詳細な構成例を示す図である。
画像処理部105の色マトリクス部301は、画像信号が最適な色で再現されるように色ゲインをかけて色差信号R−Y、B−Yに変換する。ローパスフィルタ(LPF)302は、色差信号R−Y、B−Yの帯域を制限する。CSUP(Chroma Supress)部303は、色差信号R−Y、B−Yの飽和部分の偽色信号を抑圧する。輝度信号生成部304は、画像信号から輝度信号Yを生成する。エッジ強調部305は、輝度信号生成部304にて生成された輝度信号Yに対してエッジ強調を行う。CSUP部303から出力される色差信号R−Y、B−Yと、エッジ強調部305から出力される輝度信号Yは、RGB変換部306にてRGB信号に変換され、更にガンマ補正部307にてガンマ補正(階調補正)が施される。ガンマ補正後のRGB信号は、その後、色輝度変換部308にてYUV信号に変換されて、画像処理部105から出力される。領域別シャープネス処理部309は、画像から検出した被写体領域ごとにシャープネス処理を行う。パターン認識部311は、画像から被写体領域として検出した例えば人物や顔、性別等を認識するためのパターン認識等を行う。
<タイムラプス撮影の説明>
本実施形態の撮影装置は、予め設定された或る程度長い時間間隔で撮影を自動的に行うインターバル撮影(タイムラプス撮影)により複数枚の撮影画像を取得し、それら複数枚の撮影画像から動画を生成するようなタイムラプス撮影機能を備えている。以下、本実施形態の撮影装置がタイムラプス撮影モードに設定されている場合の動作について説明する。これ以降の説明では、タイプラプス撮影モードにおいて、予め設定された時間間隔で自動的に行われる撮影を「本撮影」と表記する。
本実施形態の撮影装置は、予め設定された或る程度長い時間間隔で撮影を自動的に行うインターバル撮影(タイムラプス撮影)により複数枚の撮影画像を取得し、それら複数枚の撮影画像から動画を生成するようなタイムラプス撮影機能を備えている。以下、本実施形態の撮影装置がタイムラプス撮影モードに設定されている場合の動作について説明する。これ以降の説明では、タイプラプス撮影モードにおいて、予め設定された時間間隔で自動的に行われる撮影を「本撮影」と表記する。
タイムラプス撮影が行われる場合には、予め、操作者により、操作部101を介して、タイムラプス撮影のための時間間隔と撮影期間とが設定される。また、本実施形態において、タイムラプス撮影が行われる場合、撮像装置は例えば三脚などに固定され、また撮影画角も固定される。なお、タイムラプス撮影の場合、レール上を移動可能なスライド装置に撮像装置を固定して、レール上を少しずつ移動させて撮影位置を変化させるような撮影も可能であるが、本実施形態では、撮影画角と撮影位置の両方を固定して変化させないようにする。
本実施形態の撮像装置は、操作者によりタイムラプス撮影の時間間隔と撮影期間の条件が設定された後、操作部101を介して操作者から撮影開始の指示が入力されると、その撮影開始指示が制御部102に送られる。制御部102は、撮影開始指示が入力された時点の画像信号に基づいてAF処理とAE処理を行い、タイムラプス撮影の本撮影において最適なピント及び露出の設定情報を求める。
その後、制御部102は、タイムラプス撮影の本撮影処理に移行し、ピントの設定情報によりAF処理部108にAF制御を行わせ、露出の設定情報によりAE処理部109にAE補正制御を行わせる。制御部102は、タイムラプス撮影による本撮影が行われる際には、AF制御とAE補正制御を行った状態でセンサ部103による撮像を行わせる。そして、制御部102は、タイムラプス撮影の本撮影により取得された画像信号について、画像処理部105による画像処理を行わせ、更にエンコーダ部112によりエンコードを行わせ、そのエンコード後の画像データを画像記録部113に記録させる。
また、一回分の本撮影による画像データの記録が終わると、制御部102は、タイムラプス撮影の条件設定時に決められた時間間隔が経過して次の本撮影が行われるタイミングになるまで、撮像装置を休止状態にする。そして、制御部102は、設定された時間間隔が経過して次の本撮影が行われるタイミングになると、前述同様に、本撮影のために各部を制御して本撮影を行わせ、その本撮影により得られた撮影画像を記録させる。制御部102は、前述したような本撮影及び記録と休止の制御を、タイムラプス撮影の条件設定時に決められた撮影期間になるまで繰り返す。
タイムラプス撮影の撮影期間が終わると、制御部102は、タイムラプス撮影の本撮影で取得されて画像記録部113に記録された複数の画像データを読み出して画像処理部105に送る。このときの画像処理部105は、本実施形態の動画生成手段として機能し、それら複数の画像データを結合して動画データを生成する。この連結された画像データからなる動画は、通常の動画のフレームレートで再生された場合には、タイムラプス撮影の撮影期間よりも短い再生時間で再生される動画となる。このように、タイムラプス撮影モードでは、通常の動画撮影の際の撮影時間間隔(1/30秒等のフレームレート)より長い設定時間間隔で撮影が行われ、再生される際には通常の動画のフレームレート等で再生されるようなタイムラプス動画が生成される。また、このタイムラプス動画のデータは、エンコーダ部112により、動画フォーマットの動画データにエンコードされる。本実施形態の場合、エンコーダ部112のエンコードにより生成された動画フォーマットの動画データは、画像記録部113により記録媒体に記録される。
<第1の実施形態におけるタイムラプス撮影の際のWB制御>
ここで、タイムラプス撮影のように、長い時間間隔で且つ長い撮影期間に亘って撮影が行われる場合には、前述したように色温度の変化や環境光の変化が大きくなることが多い。このため、タイムラプス撮影モードによる撮影が行われる場合には、そのタイムラプス撮影に適したWB制御を行う必要がある。以下、第1の実施形態として、タイムラプス撮影の際のWB制御に用いられるWB補正値の算出処理について、図3のフローチャートを参照しながら説明する。図3のフローチャートに示したWB補正値算出処理は、前述したWB制御部116により行われる処理である。
ここで、タイムラプス撮影のように、長い時間間隔で且つ長い撮影期間に亘って撮影が行われる場合には、前述したように色温度の変化や環境光の変化が大きくなることが多い。このため、タイムラプス撮影モードによる撮影が行われる場合には、そのタイムラプス撮影に適したWB制御を行う必要がある。以下、第1の実施形態として、タイムラプス撮影の際のWB制御に用いられるWB補正値の算出処理について、図3のフローチャートを参照しながら説明する。図3のフローチャートに示したWB補正値算出処理は、前述したWB制御部116により行われる処理である。
なお、図3のフローチャートの各処理は、本実施形態に係るプログラムを、例えばCPUが実行することにより実現されてもよい。本実施形態に係るプログラムは、例えば不図示のROM等に予め用意されていてもよく、また不図示の外部記憶媒体から読み出されたり、不図示のインターネット等のネットワークからダウンロードされたりして、不図示のRAM等にロードされてもよい。このことは後述する他のフローチャートについても同様である。以下の説明では、図3の各処理のステップS501〜ステップS506をS501〜S506と略記し、後述する他のフローチャートについても同様とする。
図3のフローチャートに示すWB補正値算出処理は、操作部101を介して操作者から撮影開始の指示が入力されてタイムラプス撮影が開始されることでスタートする。図3のフローチャートの処理がスタートすると、WB制御部116は、S501の処理として、メモリ部117に記憶された画像信号を読み出す。
S501の後、WB制御部116は、S502に処理を進める。S502では、WB制御部116は、画像信号の色値(R,G,B)から、下記の式(1)により色評価値(Cx,Cy)を求める。
Cx=(R−B)/Y×1024
Cy=(R+B−2G)/Y×1024 式(1)
ただし、Y=(R+2G+B)/4
Cy=(R+B−2G)/Y×1024 式(1)
ただし、Y=(R+2G+B)/4
ここで、WB制御部116は、色評価値(Cx,Cy)が算出できる最小画素単位として、色値(R,G,B)から色評価値(pixel_Cx[i],pixel_Cy[i])を算出するピクセル白サーチを行う。以下、ピクセル白サーチにより算出される色評価値(pixel_Cx[i],pixel_Cy[i])をピクセル色評価値と表記する。また、WB制御部116は、画像信号における画像を任意のm個のブロックに分割し、分割したブロックごとに各色値を加算平均した色平均値から色評価値(block_Cx[i],block_Cy[i])を算出するブロック白サーチを行う。以下、ブロック白サーチにより算出される色評価値(block_Cx[i],block_Cy[i])をブロック色評価値と表記する。なお、ピクセル白サーチ、ブロック白サーチを実行する場合は、全画素を用いずに間引き処理を行うことで算出時間を短縮することも可能である。ピクセル白サーチ、ブロック白サーチは共に同じ計算式で算出可能であり、専用のハードウエア又は制御部102に搭載された演算部のソフトウエアプログラムにより算出することも可能である。
<第1の実施形態におけるピクセル白サーチ>
以下、第1の実施形態の場合のピクセル白サーチから説明する。
ピクセル白サーチの場合、以下の「i」は画素の番号を示し、iは1から全画素数(m)まで可変する変数となる。ピクセル白サーチの場合、WB制御部116は、i番目の画素におけるRGBの画素値(R[i],G[i],B[i])を用いて、下記式(2)によりi番目の画素のピクセル色評価値(pixel_Cx[i],pixel_Cy[i])を算出する。なお、式(2)は、前記式(1)をピクセル白サーチに対応させた式である。
以下、第1の実施形態の場合のピクセル白サーチから説明する。
ピクセル白サーチの場合、以下の「i」は画素の番号を示し、iは1から全画素数(m)まで可変する変数となる。ピクセル白サーチの場合、WB制御部116は、i番目の画素におけるRGBの画素値(R[i],G[i],B[i])を用いて、下記式(2)によりi番目の画素のピクセル色評価値(pixel_Cx[i],pixel_Cy[i])を算出する。なお、式(2)は、前記式(1)をピクセル白サーチに対応させた式である。
pixel_Cx[i]=(R[i]−B[i])/Y[i]×1024
pixel_Cy[i]=(R[i]+B[i]−2G[i])/Y[i]×1024 式(2)
ただし、Y[i]=(R[i]+2G[i]+B[i])/4
pixel_Cy[i]=(R[i]+B[i]−2G[i])/Y[i]×1024 式(2)
ただし、Y[i]=(R[i]+2G[i]+B[i])/4
S502の後、WB制御部116は、S503に処理を進める。S503では、WB制御部116は、色評価値積分判別を行う。
ここで、WB制御部116は、S503において、図4の座標軸を持つグラフを用いて白検出を行う。図4のx座標(Cx)は、負方向が高色温度被写体の白を撮影したときの色評価値を表し、正方向が低色温度被写体の白を撮影したときの色評価値を表している。また、図4のy座標(Cy)は、光源光の緑(Green)成分の度合いを意味しており、負方向になるにつれ緑成分が多くなり、これはつまり光源が蛍光灯であることを示している。図4の白検出範囲201〜204は、予め異なる光源光の下で白を撮影して算出した色評価値をプロットしたものである。白検出範囲201は日中の太陽光のプロットエリアを示し、白検出範囲202は日陰や曇りのときの高色温度光のプロットエリアを示す。また、白検出範囲203は夕景などの低色温度光のプロットエリアを示し、白検出範囲204は蛍光灯のプロットエリアを示す。これら白検出範囲201〜204は、撮影モードによってそれぞれ設定できるものとする。WB制御部116は、S503において、S502で算出したピクセル色評価値(pixel_Cx[i],pixel_Cy[i])が、図4中の白検出範囲201〜204の何れの範囲に含まれるか否かを判断する。
ここで、WB制御部116は、S503において、図4の座標軸を持つグラフを用いて白検出を行う。図4のx座標(Cx)は、負方向が高色温度被写体の白を撮影したときの色評価値を表し、正方向が低色温度被写体の白を撮影したときの色評価値を表している。また、図4のy座標(Cy)は、光源光の緑(Green)成分の度合いを意味しており、負方向になるにつれ緑成分が多くなり、これはつまり光源が蛍光灯であることを示している。図4の白検出範囲201〜204は、予め異なる光源光の下で白を撮影して算出した色評価値をプロットしたものである。白検出範囲201は日中の太陽光のプロットエリアを示し、白検出範囲202は日陰や曇りのときの高色温度光のプロットエリアを示す。また、白検出範囲203は夕景などの低色温度光のプロットエリアを示し、白検出範囲204は蛍光灯のプロットエリアを示す。これら白検出範囲201〜204は、撮影モードによってそれぞれ設定できるものとする。WB制御部116は、S503において、S502で算出したピクセル色評価値(pixel_Cx[i],pixel_Cy[i])が、図4中の白検出範囲201〜204の何れの範囲に含まれるか否かを判断する。
また、WB制御部116は、S503において、i番目の画素が、移動体の被写体領域(以下、移動体領域とする。)に含まれる画素であるか否かを判断する。なお、第1の実施形態において、移動体領域の検出は例えば画像処理部105により行われているとする。WB制御部116には、画像処理部105から移動体判別情報と移動体領域の座標情報とが供給され、WB制御部116はそれら情報を基に、i番目の画素が移動体領域に含まれる画素であるか否かを判断する。画像処理部105による移動体領域の検出処理の詳細については後述する。
そして、WB制御部116は、S503において、ピクセル色評価値(pixel_Cx[i],pixel_Cy[i])が白検出範囲201〜204の何れかに含まれ、且つ移動体領域の画素でないと判定した場合、S504に処理を進める。一方、WB制御部116は、S503においてピクセル色評価値(pixel_Cx[i],pixel_Cy[i])が白検出範囲201〜204に含まれないか、又は移動体領域に含まれると判定した場合には、S505に処理を進める。
S504では、WB制御部116は、各画素値(R[i],G[i],B[i])を積算する。本実施形態において、S503の処理及びS504の処理は、下記式(3)により表すことができる。
式(3)のpixel_SumRは全画素数(m)の中のi番目の画素の画素値R[i]の積分値であり、pixel_SumGはi番目の画素の画素値G[i]の積分値、pixel_SumBはi番目の画素の画素値B[i]の積分値である。式(3)において、ピクセル色評価値(pixel_Cx[i],pixel_Cy[i])が白検出範囲201〜204に含まれ、且つ移動体領域の画素でない場合はSw[i]が「1」になされる。一方、式(3)において、ピクセル色評価値(pixel_Cx[i],pixel_Cy[i])が白検出範囲201〜204に含まれないか、又は移動体領域の画素である場合にはSw[i]が「0」になされる。これにより、WB制御部116は、S503の判断により各画素値(R[i],G[i],B[i])の加算を行うか、行わないかの処理を実質的に行っている。そして、WB制御部116は、式(3)で求めた積分値(pixel_SumR,pixel_SumG,pixel_SumB)を、メモリ部117に記憶させる。また、WB制御部116は、式(3)において加算された画素数(つまりピクセル白サーチ数)の情報についてもメモリ部117に記憶させる。S504の後、WB制御部116は、S505に処理を進める。
S505の処理に進むと、WB制御部116は、全ての画素について、前述したS502からS504までの処理が終わったかどうかを判断する。WB制御部116は、未処理の画素があればS502に処理を戻して、前述した各処理を行い、一方、全ての画素に対する処理が終了していればS506に処理を進める。
S506では、WB制御部116は、積分値(pixel_SumR,pixel_SumG,pixel_SumB)を用い、式(4)にてWB補正値(pixel_WBCol_R,pixel_WBCol_G,pixel_WBCol_B)を算出する。以下、ピクセル白サーチにより算出されたWB補正値(pixel_WBCol_R,pixel_WBCol_G,pixel_WBCol_B)を、ピクセルWB補正値と表記する。
pixel_WBcol_R=pixel_SumY×1024/pixel_SumR
pixel_WBcol_G=pixel_SumY×1024/pixel_SumG 式(4)
pixel_WBcol_B=pixel_SumY×1024/pixel_SumB
ただし、pixel_SumY=(pixel_SumR+2×pixel_SumG+pixel_SumB)/4
pixel_WBcol_G=pixel_SumY×1024/pixel_SumG 式(4)
pixel_WBcol_B=pixel_SumY×1024/pixel_SumB
ただし、pixel_SumY=(pixel_SumR+2×pixel_SumG+pixel_SumB)/4
そして、WB制御部116は、ピクセルWB補正値(pixel_WBCol_R,pixel_WBCol_G,pixel_WBCol_B)の情報を、メモリ部117に記憶させる。
<第1の実施形態におけるブロック白サーチ>
以下、第1の実施形態におけるブロック白サーチについて説明する。
ブロック白サーチの場合、以下の「i」はブロックの番号を示し、iは1からブロック数(m)まで可変する変数となる。ブロック白サーチの場合、S502において、WB制御部116は、i番目のブロックに含まれる各画素のRGBの画素値を加算平均した色平均値(block_R[i],block_G[i],block_B[i])を用いて、ブロック色評価値を算出する。ブロック白サーチの場合、下記式(5)によりブロック色評価値(block_Cx[i],block_Cy[i])が算出される。なお、式(5)は、前記式(1)をブロック白サーチに対応させた式である。
以下、第1の実施形態におけるブロック白サーチについて説明する。
ブロック白サーチの場合、以下の「i」はブロックの番号を示し、iは1からブロック数(m)まで可変する変数となる。ブロック白サーチの場合、S502において、WB制御部116は、i番目のブロックに含まれる各画素のRGBの画素値を加算平均した色平均値(block_R[i],block_G[i],block_B[i])を用いて、ブロック色評価値を算出する。ブロック白サーチの場合、下記式(5)によりブロック色評価値(block_Cx[i],block_Cy[i])が算出される。なお、式(5)は、前記式(1)をブロック白サーチに対応させた式である。
block_Cx[i]=(block_R[i]−block_B[i])/block_Y[i]×1024
block_Cy[i]=(block_R[i]+block_B[i]−2block_G[i])/block_Y[i]×1024 式(5)
ただし、block_Y[i]=(block_R[i]+2block_G[i]+block_B[i])/4
block_Cy[i]=(block_R[i]+block_B[i]−2block_G[i])/block_Y[i]×1024 式(5)
ただし、block_Y[i]=(block_R[i]+2block_G[i]+block_B[i])/4
ブロック白サーチの場合、S502の後、WB制御部116は、S503において色評価値積分判別を行う。ブロック白サーチの場合も、WB制御部116は、図4のような座標軸を持つグラフを用いて白検出を行う。
ここで、ブロック白サーチの場合、WB制御部116は、S503において、S502で算出したブロック色評価値(block_Cx[i],block_Cy[i])が、図4の白検出範囲201〜204の何れの範囲に含まれるか否かを判断する。また、S503において、WB制御部116は、i番目のブロックが移動体領域に含まれるか否かを判断する。なお、ブロック白サーチの場合も、移動体領域の検出は例えば画像処理部105により行われ、WB制御部116は、画像処理部105から供給される移動体判別情報と移動体領域の座標情報とを基に、i番目のブロックが移動体領域に含まれているか否かを判断する。移動体領域の検出処理の詳細は後述する。
ブロック白サーチの場合、WB制御部116は、S503にてブロック色評価値(block_Cx[i],block_Cy[i])が白検出範囲201〜204の何れかに含まれ、且つ移動体領域に含まれないと判定した場合、S504に処理を進める。一方、WB制御部116は、S503にてブロック色評価値(block_Cx[i],block_Cy[i])が白検出範囲201〜204に含まれないか、又は移動体領域に含まれると判定した場合には、S505に処理を進める。
S504では、WB制御部116は、ブロックの色平均値(block_R[i],block_G[i],block_B[i])を積算する。ここで、ブロック白サーチの場合、S503の処理及びS504の処理は、下記式(6)により表すことができる。
式(6)のblock_SumRは全ブロック数(m)の中のi番目のブロックの色平均値block_R[i]の積分値である。以下同様に、block_SumGは色平均値block_G[i]の積分値、block_SumBは色平均値block_B[i]の積分値である。式(6)において、ブロック色評価値(block_Cx[i],block_Cy[i])が白検出範囲201〜204に含まれ、且つ移動体領域のブロックでない場合はSw[i]が「1」になされる。一方、式(6)において、ブロック色評価値(block_Cx[i],block_Cy[i])が白検出範囲201〜204に含まれないか、又は移動体領域のブロックである場合にはSw[i]が「0」になされる。これにより、WB制御部116は、S503の判断により色平均値(block_R[i],block_G[i],block_B[i])の加算を行うか、行わないかの処理を実質的に行っている。そして、WB制御部116は、式(6)で求めた積分値(block_SumR,block_SumG,block_SumB)を、メモリ部117に記憶させる。また、WB制御部116は、式(6)において加算されたブロック数(つまりブロック白サーチ数)の情報についてもメモリ部117に記憶させる。
ブロック白サーチの場合、S505の処理に進むと、WB制御部116は、全てのブロックについて、S502からS504までの処理が終わったかどうかを判断する。WB制御部116は、未処理のブロックがあればS502に処理を戻して、前述した各処理を行い、一方、全てのブロックに対する処理が終了していればS506に処理を進める。
S506では、WB制御部116は、積分値(block_SumR,block_SumG,block_SumB)から、式(7)によりWB補正値(block_WBCol_R,block_WBCol_G,block_WBCol_B)を算出する。以下、ブロック白サーチにより算出されるWB補正値(block_WBCol_R,block_WBCol_G,block_WBCol_B)を、ブロックWB補正値と表記する。
block_WBcol_R=block_SumY×1024/block_SumR
block_WBcol_G=block_SumY×1024/block_SumG 式(7)
block_WBcol_B=block_SumY×1024/block_SumB
ただし、block_SumY=(block_SumR+2×block_SumG+block_SumB)/4
block_WBcol_G=block_SumY×1024/block_SumG 式(7)
block_WBcol_B=block_SumY×1024/block_SumB
ただし、block_SumY=(block_SumR+2×block_SumG+block_SumB)/4
そして、WB制御部116は、ブロックWB補正値(block_WBCol_R,block_WBCol_G,block_WBCol_B)の情報を、メモリ部117に記憶させる。
前述したようにしてピクセルWB補正値とブロックWB補正値を算出すると、WB制御部116は、S506において、それらピクセルWB補正値とブロックWB補正値とから最終的なWB補正値を求めて、メモリ部117に記憶させる。メモリ部117に記憶された最終WB補正値は、WB補正処理が行われる際に読み出されて、画像処理部105に送られる。これにより、画像処理部105は、画像信号に対して、最終WB補正値に基づくWB補正処理を行う。
ここで、WB制御部116は、一例として、現時点の撮影画像から算出されたWB補正値と、前回の画像撮影がなされた際に算出されたWB補正値とに基づいて、最終WB補正値を算出する。以下、現時点の撮影画像を現コマと表記し、前回撮影された画像を前コマと表記し、現コマの画像から算出されたWB補正値を現コマのWB補正値、前回の画像撮影時に算出されたWB補正値を前コマのWB補正値と表記する。最終WB補正値を算出する場合、WB制御部116は、前コマのピクセルWB補正値と現コマのピクセルWB補正値との差分を算出する。同様に、WB制御部116は、前コマのブロックWB補正値と現コマのブロックWB補正値との差分を算出する。さらに、WB制御部116は、前コマのピクセルWB補正値と現コマのピクセルWB補正値との差分が所定のWB差分閾値以上である場合、その差分の大きさに応じて、前コマのピクセルWB補正値と現コマのピクセルWB補正値にそれぞれ重み付けを行う。同様に、WB制御部116は、前コマのブロックWB補正値と現コマのブロックWB補正値との差分が所定のWB差分閾値以上である場合、その差分の大きさに応じて、前コマのブロックWB補正値と現コマのブロックWB補正値にそれぞれ重み付けを行う。そして、WB制御部116は、それぞれ重み付けされた各ピクセルWB補正値と各ブロックWB補正値を加算平均したものを、最終WB補正値とする。この最終WB補正値は、メモリ部117に記憶された後、WB補正処理が行われる際に読み出されて、画像処理部105に送られる。
<最終WB補正値の他の例>
また、WB制御部116は、メモリ部117に記憶されたピクセル白サーチ数及びブロック白サーチ数に応じて最終WB補正値を求めることができる。例えば、ピクセル白サーチ数が全画素数の10%以上有る場合、WB制御部116は、現コマのピクセルWB補正値を加算平均して最終WB補正値を求める。一方、ピクセル白サーチ数が全画素数の10%を下回る場合には、WB制御部116は、ブロック白サーチ数に応じて、現コマのピクセルWB補正値に重み付けを行い、その重み付け後のピクセルWB補正値を加算平均して最終WB補正値を求める。このように求められた最終WB補正値は、メモリ部117に記憶された後、WB補正処理が行われる際に読み出されて、画像処理部105に送られる。
また、WB制御部116は、メモリ部117に記憶されたピクセル白サーチ数及びブロック白サーチ数に応じて最終WB補正値を求めることができる。例えば、ピクセル白サーチ数が全画素数の10%以上有る場合、WB制御部116は、現コマのピクセルWB補正値を加算平均して最終WB補正値を求める。一方、ピクセル白サーチ数が全画素数の10%を下回る場合には、WB制御部116は、ブロック白サーチ数に応じて、現コマのピクセルWB補正値に重み付けを行い、その重み付け後のピクセルWB補正値を加算平均して最終WB補正値を求める。このように求められた最終WB補正値は、メモリ部117に記憶された後、WB補正処理が行われる際に読み出されて、画像処理部105に送られる。
その他にも、WB制御部116は、移動体領域が画像全体に占める割合を基に、最終WB補正値を生成してもよい。この場合、画像処理部105は、移動体領域の検出を行なった際に、その検出した移動体領域が画像全体に占める割合を算出してメモリ部117に記憶する。WB制御部116は、移動体領域が画像全体に占める割合が、所定の割合閾値以上であった場合には、前コマと現コマのそれぞれピクセルWB補正値とブロックWB補正値に対し、移動体領域の大きさに応じた重み付けをそれぞれ行う。そして、WB制御部116は、それら重み付けされた各ピクセルWB補正値と各ブロックWB補正値を加算平均して最終WB補正値を求める。この最終WB補正値は、メモリ部117に記憶された後、WB補正処理が行われる際に読み出されて、画像処理部105に送られる。
<移動体領域の検出と移動体領域に含まれるか否かの判定処理>
以下、移動体領域の検出方法について説明する。
画像処理部105は、メモリ部117に記憶されている画像信号を用いて移動体領域を検出する。例えば、画像処理部105は、基準画像と現画像の輝度信号の差分と、基準画像と現画像の色信号の差分との、少なくとも何れか一方を用い、差分が所定の信号差分閾値以上となる画像領域を移動体領域として検出する。基準画像は、現画像(現コマ)の一つ前に取得された前コマの画像でもよいし、現コマの前の二つの画像や三つの画像などの複数枚の画像を加算平均した画像を用いてもよい。また、現コマの前コマの画像で移動体領域が検出されている場合、その前コマの画像は基準画像として使用しないようにしてもよい。
以下、移動体領域の検出方法について説明する。
画像処理部105は、メモリ部117に記憶されている画像信号を用いて移動体領域を検出する。例えば、画像処理部105は、基準画像と現画像の輝度信号の差分と、基準画像と現画像の色信号の差分との、少なくとも何れか一方を用い、差分が所定の信号差分閾値以上となる画像領域を移動体領域として検出する。基準画像は、現画像(現コマ)の一つ前に取得された前コマの画像でもよいし、現コマの前の二つの画像や三つの画像などの複数枚の画像を加算平均した画像を用いてもよい。また、現コマの前コマの画像で移動体領域が検出されている場合、その前コマの画像は基準画像として使用しないようにしてもよい。
また、画像処理部105は、画像から被写体を判別して、その被写体がどのような被写体であるかを認識することにより、移動体領域の検出を行うことも可能である。この例の場合、画像処理部105は、エッジ検出部310により輝度信号からエッジ信号を検出する。そして、制御部102は、画像処理部105で検出されたエッジ信号に基づいて画像を領域分割、つまり被写体ごとの画像領域に分割する。画像処理部105内のパターン認識部311は、予め登録されたデータを用い、分割された画像領域の色や形等の画像特徴量の一致度合いと認識結果を出力する。この場合、各種被写体について予め色、形状、明るさ等の情報を登録しておくことにより、画像内のどの領域がどのような被写体領域であるかを認識可能となる。そして、画像処理部105は、前述のようにして認識された被写体の領域を基に、その被写体の領域が移動体領域であるか否かの移動体判定を行う。すなわち、画像処理部105は、人物や車両と判別された被写体については移動体領域として検出する。その他にも、画像処理部105は、例えば前コマから検出した被写体領域の位置と現コマから検出した被写体領域の位置とを比較して移動体領域判定を行うことも可能である。
なお、パターン認識部311にて行われるパターン認識は、例えば、画像から抽出されたパターンを予め定められた概念(クラス)の1つに対応(テンプレートマッチング)させる処理である。テンプレートマッチングは、型紙を意味するテンプレートを画像上で移動させながら、画像とテンプレートとを比較する方法である。なお、被写体等の領域を認識する方法は、パターン認識以外の方法であってもよい。パターン認識以外の領域認識方法としては、例えば、ニューラルネットワーク等による学習を用いる方法、物理的な形状における特徴のある部位を画像領域から抽出する方法、検出した被写体の色や形等の画像特徴量を統計的に解析する方法等がある。その他にも、領域認識方法は、ウェーブレット変換と画像特徴量を利用する方法等が用いられてもよい。これらの領域認識方法の詳細は省略する。
画像処理部105は、前述のようにして移動体であると判定された画像領域(移動体領域)に対し、移動体であると判別されたことを示す移動体判別情報とその移動体領域の座標情報とを付加して、メモリ部117に記憶させる。そして、前述したピクセルWB補正値やブロックWB補正値の算出時に、画像処理部105は、メモリ部117から移動体判別情報と座標情報を読み出して、WB制御部116に送る。
これにより、WB制御部116は、ピクセル白サーチの場合の画素、ブロック白サーチの場合のブロックが、移動体領域に含まれるか否かを判定可能となる。そして、WB制御部116では、前述したように、ピクセル白サーチの場合には移動体領域に対応したピクセル色評価値を除外し、ブロック白サーチの場合には移動体領域のブロックに対応したブロック色評価値を除外して、WB補正値を算出する。
<移動体領域を除外したWB補正値算出とコマのWB補正値>
図5は、移動体領域を除外する場合を含む、本実施形態の撮像装置におけるWB補正値算出処理の全体的な流れを示すフローチャートである。この図5のフローチャートの処理は、本実施形態の撮像装置において、制御部102による制御の下で、画像処理部105とWB制御部116とにより行われる。なお、図5の例は、ピクセル白サーチとブロック白サーチを纏めたフローチャートとなされている。
図5は、移動体領域を除外する場合を含む、本実施形態の撮像装置におけるWB補正値算出処理の全体的な流れを示すフローチャートである。この図5のフローチャートの処理は、本実施形態の撮像装置において、制御部102による制御の下で、画像処理部105とWB制御部116とにより行われる。なお、図5の例は、ピクセル白サーチとブロック白サーチを纏めたフローチャートとなされている。
図5のフローチャートにおいて、画像処理部105は、S401において、メモリ部117から画像信号を読み出して画像を取得する。S401の後、画像処理部105は、S402に処理を進める。S402では、画像処理部105は、取得した画像から移動体領域を検出する。そして、画像処理部105は、検出した移動体領域の情報をメモリ部117に記憶させる。S402の後、撮像装置の処理はWB制御部116で行われるS403に移行する。
S403では、WB制御部116は、移動体領域に対応したピクセル色評価値とブロック色評価値をWB補正値算出の処理から除外する。S403における移動体領域の除外処理は、ピクセル白サーチとブロック白サーチの場合において前述した図3のS503とS504の処理により行われる。S403の後、WB制御部116は、S404に処理を進める。S404では、WB制御部116は、移動体領域が除外された後の、ピクセル色評価値からピクセルWB補正値を算出し、また、ブロック色評価値からブロックWB補正値を算出して、前述した最終WB補正値を算出する。S404におけるWB補正値算出処理は、前述の図3のS506の処理により行われる。S404の後、WB制御部116は、S405に処理を進める。
S405では、WB制御部116は、前コマで算出された最終WB補正値と現コマで算出された最終WB補正値とを比較する。具体的には、WB制御部116は、前コマの最終WB補正値と現コマの最終WB補正値との差分を算出する。S405の後、WB制御部116は、S406に処理を進める。
S406では、WB制御部116は、前コマと現コマの最終WB補正値の差分が予め決めてある基準値を超えているか否の判定を行う。そして、WB制御部116は、前コマと現コマの最終WB補正値の差分が基準値を超えていると判定した場合にはS408に処理を進める。一方、WB制御部116は、前コマと現コマの最終WB補正値の差分が基準値を超えていないと判定した場合にはS407に処理を進める。
前コマと現コマの最終WB補正値の差分が基準値を超えていると判定してS408に進んだ場合、WB制御部116は、前コマの最終WB補正値を、現コマの画像に対するWB補正値とする。一方、前コマと現コマの最終WB補正値の差分が基準値を超えていないと判定してS407に進んだ場合、WB制御部116は、前コマで得られた最終WB補正値を現コマの画像に対するWB補正値とする。S407、S408の後、WB制御部116は、S409に処理を進める。S409では、現コマについて使用したWB補正値をメモリ部117に記憶させて、図5のフローチャートの処理を終了する。
以上説明したように、第1の実施形態によれば、WB制御部116は、ピクセル白サーチとブロック白サーチを行ってそれぞれWB補正値を求める際に、移動体領域の画素やブロックについてはWB補正値算出の対象から除外して、WB補正値を算出している。すなわち、本実施形態によれば、例えば有彩色の被写体が画角内外を移動するような場合、つまり被写体の移動によりコマ間で被写体が写っている場合と写っていない場合がある場合には、移動体領域をWB補正値算出の対象から除外する。したがって、本実施形態によれば、例えばタイムラプス撮影時に、環境光源が変化するシーンや有彩色の被写体が画角内外を移動するシーンにおいても、安定したホワイトバランス制御が可能となり、良好なタイムラプス動画の生成が可能となる。
<第2の実施形態におけるタイムラプス撮影の際のWB制御>
以下、第2の実施形態におけるタイムラプス撮影の際のWB制御に用いられるWB補正値の算出処理について説明する。前述した第1の実施形態では、画像処理部105が被写体領域の中の移動体領域を検出し、WB制御部116がその移動体領域を除外してWB補正値を算出している。これに対し、第2の実施形態では、WB制御部116が被写体領域の中の移動体領域を検出し、その移動体領域を除外してWB補正値を算出する例である。
以下、第2の実施形態におけるタイムラプス撮影の際のWB制御に用いられるWB補正値の算出処理について説明する。前述した第1の実施形態では、画像処理部105が被写体領域の中の移動体領域を検出し、WB制御部116がその移動体領域を除外してWB補正値を算出している。これに対し、第2の実施形態では、WB制御部116が被写体領域の中の移動体領域を検出し、その移動体領域を除外してWB補正値を算出する例である。
第2の実施形態の場合のWB補正値算出処理について、前述の図3のフローチャートを参照しながら説明する。なお、第2の実施形態の説明において、図3のフローチャートのうち前述の第1の実施形態の場合と同様の処理についてはその詳細な説明は省略する。
第2の実施形態において、WB制御部116は、S501においてメモリ部117から画像信号を読み出し、S502において画像信号の色値(R,G,B)から色評価値(Cx,Cy)を求める。ここで、第1の実施形態の場合と同様に、第2の実施形態においても、WB制御部116は、最小画素単位の色値(R,G,B)からピクセル色評価値(pixel_Cx[i],pixel_Cy[i])を算出するピクセル白サーチを行う。また、WB制御部116は、画像を任意のm個のブロックに分割して、ブロックごとに各色値を加算平均した色平均値からブロック色評価値(block_Cx[i],block_Cy[i])を算出するブロック白サーチを行う。なお、第2の実施形態の場合も、ピクセル白サーチ、ブロック白サーチを実行する場合は、全画素を用いずに間引き処理を行うことで算出時間を短縮することも可能である。また、ピクセル白サーチとブロック白サーチは、専用のハードウエア又は制御部102に搭載された演算部のソフトウエアプログラムにより算出することも可能である。
<第2の実施形態におけるピクセル白サーチ>
以下、第2の実施形態の場合のピクセル白サーチについて説明する。
第2の実施形態の場合も第1の実施形態と同様に、ピクセル白サーチにおける「i」は画素の番号を示し、iは1から全画素数(m)まで可変する変数となる。ピクセル白サーチの場合、WB制御部116は、全画素数(m)の中のi番目の画素におけるRGBの画素値(R[i],G[i],B[i])を用いて、前述した式(2)によりピクセル色評価値(pixel_Cx[i],pixel_Cy[i])を算出する。
以下、第2の実施形態の場合のピクセル白サーチについて説明する。
第2の実施形態の場合も第1の実施形態と同様に、ピクセル白サーチにおける「i」は画素の番号を示し、iは1から全画素数(m)まで可変する変数となる。ピクセル白サーチの場合、WB制御部116は、全画素数(m)の中のi番目の画素におけるRGBの画素値(R[i],G[i],B[i])を用いて、前述した式(2)によりピクセル色評価値(pixel_Cx[i],pixel_Cy[i])を算出する。
S502の後に進むS503では、WB制御部116は、前述した図4のグラフを用いた色評価値積分判別により白検出を行う。また、ピクセル白サーチの際、WB制御部116は、S503において、S502で算出したピクセル色評価値(pixel_Cx[i],pixel_Cy[i])が、図4の白検出範囲201〜204の何れの範囲に含まれるか否かを判断する。なお、白検出範囲201〜204は、撮影モードによりそれぞれ設定可能である。
ここで、前述の第1の実施形態では、ピクセル白サーチの際に、S503でi番目の画素が移動体領域に含まれるか否かの判定を行っている。これに対し、第2の実施形態の場合、WB制御部116は、ピクセル白サーチの際に、S503において移動体領域に含まれるか否かの判定は行わない。したがって、第2の実施形態の場合、WB制御部116は、S503においてピクセル色評価値(pixel_Cx[i],pixel_Cy[i])が白検出範囲201〜204の何れかに含まれていると判定したときに、S504に処理を進める。一方、WB制御部116は、S503にてピクセル色評価値(pixel_Cx[i],pixel_Cy[i])が白検出範囲201〜204に含まれないと判定した場合に、S505に処理を進める。
また、ピクセル白サーチにおいて、S504では、WB制御部116は、各画素値(R[i],G[i],B[i])を積算した後、S505に処理を進める。なお、第2の実施形態の場合、S503の処理、及びS504の色画素値積分処理は、前述した式(3)により表すことができる。ただし、第2の実施形態の場合は、式(3)において、ピクセル色評価値(pixel_Cx[i],pixel_Cy[i])が白検出範囲201〜204に含まれる場合にSw[i]が「1」になされる。一方、第2の実施形態の場合、式(3)において、ピクセル色評価値(pixel_Cx[i],pixel_Cy[i])が白検出範囲201〜204に含まれない場合に、Sw[i]が「0」になされる。これにより、WB制御部116は、S503の判断により色画素値(R[i],G[i],B[i])の加算を行うか、行わないかの処理を実質的に行っている。そして、WB制御部116は、式(3)で求めた積分値(pixel_SumR,pixel_SumG,pixel_SumB)を、メモリ部117に記憶させる。また、WB制御部116は、式(3)で加算された画素数(つまりピクセル白サーチ数)の情報を、制御部102を介してメモリ部117に記憶させる。
S505の処理に進むと、第1の実施形態の場合と同様に、WB制御部116は、全ての画素についてS502〜S504の各処理が終了したかどうかを判断する。そして、WB制御部116は、未処理の画素があればS502に処理を戻して、前述した各処理を行い、一方、全ての画素に対する処理が終了していればS506に処理を進める。
S506では、第1の実施形態の場合と同様に、WB制御部116は、前述した式(4)により、ピクセルWB補正値(pixel_WBCol_R,pixel_WBCol_G,pixel_WBCol_B)を算出する。そして、WB制御部116は、ピクセルWB補正値(pixel_WBCol_R,pixel_WBCol_G,pixel_WBCol_B)の情報をメモリ部117に記憶させる。
<第2の実施形態におけるブロック白サーチ>
以下、第2の実施形態の場合のブロック白サーチについて説明する。
第2の実施形態の場合、WB制御部116は、ブロック白サーチの際に移動体領域の検出を行う。第2の実施形態において、WB制御部116は、ブロック色評価値(block_Cx[i],block_Cy[i])の変化量を基に、移動体領域の検出を行う。なお、第2の実施形態の場合のブロック白サーチについても、基本的な動作フローはピクセル白サーチと同様であるため、ここでは図3のフローチャートを用いて説明する。
以下、第2の実施形態の場合のブロック白サーチについて説明する。
第2の実施形態の場合、WB制御部116は、ブロック白サーチの際に移動体領域の検出を行う。第2の実施形態において、WB制御部116は、ブロック色評価値(block_Cx[i],block_Cy[i])の変化量を基に、移動体領域の検出を行う。なお、第2の実施形態の場合のブロック白サーチについても、基本的な動作フローはピクセル白サーチと同様であるため、ここでは図3のフローチャートを用いて説明する。
第2の実施形態のブロック白サーチの場合も前述同様に、以下の「i」はブロックの番号を示し、iは1からブロック数(m)まで可変する変数となる。S501の後のS502では、WB制御部116は、i番目のブロックの各画素値を加算平均した色平均値(block_R[i],block_G[i],block_B[i])を用いてブロック色評価値を算出する。具体的には、WB制御部116は、前述した式(5)によりブロック色評価値(block_Cx[i],block_Cy[i])を算出してメモリ部117に記憶させる。
さらに、第2の実施形態の場合、S502において、WB制御部116は、前回撮影された画像(前コマ)から算出されてメモリ部117に記憶されているブロック色評価値と、現時点の撮影画像(現コマ)から算出したブロック色評価値との差分を求める。そして、WB制御部116は、前コマのi番目のブロック色評価値と現コマのi番目のブロック色評価値との差分が、所定の色評価閾値より大きい場合、現コマのi番目のブロックは移動体領域に含まれるブロックであると判断する。このように第2の実施形態の場合、前コマと現コマのブロック色評価値(block_Cx[i],block_Cy[i])の差分と所定の色評価閾値とを比較することにより、移動体領域の検出を行う。
第2の実施形態において、S502の後にS503の処理に進むと、WB制御部116は、S502で算出したブロック色評価値(block_Cx[i],block_Cy[i])が、図4の白検出範囲201〜204の何れの範囲に含まれるか否かを判断する。そして、S503において、WB制御部116は、ブロック色評価値が白検出範囲201〜204の何れかに含まれ、且つ、そのブロックがS502で移動体領域のブロックとして検出されていない場合、S504に処理を進める。一方、WB制御部116は、S503にてブロック色評価値が白検出範囲201〜204に含まれないか、又はそのブロックがS502で移動体領域のブロックとして検出されている場合には、S505に処理を進める。
S504では、WB制御部116は、i番目のブロックの色平均値(block_R[i],block_G[i],block_B[i])を積算する。すなわち、S504では、i番目のブロックが図4の白検出範囲201〜204の何れかの範囲に含まれ、且つ移動体領域ではない場合に、白色であるとして色平均値(block_R[i],block_G[i],block_B[i])が積算される。第2の実施形態のブロック白サーチの場合も、S503の処理、及びS504の色画素値積分処理は、前述した式(6)により表すことができる。
第2の実施形態の場合、式(6)では、ブロック色評価値(block_Cx[i],block_Cy[i])が白検出範囲201〜204に含まれ、且つS502で移動体領域のブロックとして検出されていない場合、Sw[i]が「1」になされる。一方、式(6)において、ブロック色評価値(block_Cx[i],block_Cy[i])が白検出範囲201〜204に含まれないか、又はS502で移動体領域のブロックとして検出された場合、Sw[i]が「0」になされる。これにより、第2の実施形態のWB制御部116は、S503の判断により色平均値(block_R[i],block_G[i],block_B[i])の加算を行うか、行わないかの処理を実質的に行っている。そして、WB制御部116は、式(6)で求めた積分値(block_SumR,block_SumG,block_SumB)を、メモリ部117に記憶させる。また、WB制御部116は、式(6)において加算されたブロック数(つまりブロック白サーチ数)の情報についてもメモリ部117に記憶させる。
第2の実施形態のブロック白サーチにおいて、S505の処理に進むと、WB制御部116は、全てのブロックについて、S502からS504までの処理が終わったかどうかを判断する。WB制御部116は、未処理のブロックがあればS502に処理を戻して、前述した各処理を行い、一方、全てのブロックに対する処理が終了していればS506に処理を進める。
S506では、WB制御部116は、積分値(block_SumR,block_SumG,block_SumB)から、ブロックWB補正値(block_WBCol_R,block_WBCol_G,block_WBCol_B)を算出する。ブロックWB補正値(block_WBCol_R,block_WBCol_G,block_WBCol_B)の算出は、前述した式(7)により行われる。そして、WB制御部116は、ブロックWB補正値(block_WBCol_R,block_WBCol_G,block_WBCol_B)の情報をメモリ部117に記憶させる。
第2の実施形態の場合、WB制御部116は、S506において、ピクセルWB補正値とブロックWB補正値とから、最終的なWB補正値を求めて、メモリ部117に記憶させる。メモリ部117に記憶された最終WB補正値は、WB補正処理が行われる際に読み出されて、画像処理部105に送られる。これにより、画像処理部105は、画像信号に対して、最終WB補正値に基づくWB補正処理を行う。
第2の実施形態の場合も第1の実施形態の場合と同様、WB制御部116は、前コマのピクセルWB補正値と現コマのピクセルWB補正値との差分、前コマのブロックWB補正値と現コマのブロックWB補正値の差分を求める。さらに、WB制御部116は、それらピクセルWB補正値から求めた差分とブロックWB補正値から求めた差分について、所定のWB差分閾値との比較を行う。WB制御部116は、差分がWB差分閾値以上である場合、その差分の大きさに応じてピクセルWB補正値とブロックWB補正値にそれぞれ重み付けを行う。そして、WB制御部116は、それぞれ重み付けされた各ピクセルWB補正値と各ブロックWB補正値を加算平均したものを、最終WB補正値とする。この最終WB補正値は、メモリ部117に記憶された後、WB補正処理が行われる際に読み出されて、画像処理部105に送られる。なお、第2の実施形態の場合も、前述した第1の実施形態で例示したような他の最終WB補正値を求めることも可能である。
<第2の実施形態における移動体領域を除外したWB補正値算出とコマのWB補正値>
図6は、移動体領域を除外する場合を含む、第2の実施形態の撮像装置におけるWB補正値算出処理の全体的な流れを示すフローチャートである。この図6のフローチャートの処理は、本実施形態の撮像装置において、制御部102による制御の下で、WB制御部116により行われる。
図6は、移動体領域を除外する場合を含む、第2の実施形態の撮像装置におけるWB補正値算出処理の全体的な流れを示すフローチャートである。この図6のフローチャートの処理は、本実施形態の撮像装置において、制御部102による制御の下で、WB制御部116により行われる。
図6のフローチャートにおいて、WB制御部116は、S601において、メモリ部117から画像信号を読み出して画像を取得する。S601の後、WB制御部116は、S609とS602に処理を進める。なお、S609〜S610はピクセルWB補正値を算出するルートであり、S602〜S607はブロックWB補正値を算出するルートである。
ピクセル白サーチのルートでは、WB制御部116は、S609において前述したようにピクセル白サーチを行ってピクセル色評価値(pixel_Cx[i],pixel_Cy[i])を算出する。そして、WB制御部116は、次のS610では、ピクセル色評価値(pixel_Cx[i],pixel_Cy[i])を基に、ピクセルWB補正値(pixel_WBCol_R,pixel_WBCol_G,pixel_WBCol_B)を算出する。S610の後、WB制御部116は、S611に処理を進める。
ブロック白サーチのルートでは、WB制御部116は、S602において画像をブロック分割し、次のS603では前述のようにブロック色評価値(block_R[i],block_G[i],block_B[i])を算出する。次に、WB制御部116は、S604において前コマと現コマのブロック色評価値を比較し、S605ではその比較結果に基づいて移動体領域のブロックか否かの判定を行う。次に、WB制御部116は、S606において、移動体領域を除外するようにして積分値(block_SumR,block_SumG,block_SumB)を算出する。その後、WB制御部116は、S607において、ブロックWB補正値(block_WBCol_R,block_WBCol_G,block_WBCol_B)を算出する。S607の後、WB制御部116は、S611に処理を進める。
S611では、WB制御部116は、前述したように、前コマと現コマのピクセルWB補正値の差分と、前コマと現コマのブロックWB補正値の差分を用いて最終WB補正値を算出する。
次のS612では、WB制御部116は、前コマと現コマの最終WB補正値の差分が予め決めてある基準値を超えているか否を判定し、差分が基準値を超えていると判定した場合にはS614に処理を進める。一方、WB制御部116は、前コマと現コマの最終WB補正値の差分が基準値を超えていないと判定した場合にはS613に処理を進める。
前コマと現コマの最終WB補正値の差分が基準値を超えていると判定してS614に進んだ場合、WB制御部116は、前コマの最終WB補正値を、現コマの画像に対するWB補正値とする。一方、前コマと現コマの最終WB補正値の差分が基準値を超えていないと判定してS613に進んだ場合、WB制御部116は、前コマの最終WB補正値を現コマの画像に対するWB補正値とする。S613、S614の後、WB制御部116は、S615に処理を進める。S615では、現コマについて使用したWB補正値をメモリ部117に記憶させて、図6のフローチャートの処理を終了する。
前述したように、第2の実施形態では、WB制御部116が被写体領域の中の移動体領域を検出し、その移動体領域を除外してWB補正値を算出するようにしている。第2の実施形態においても第1の実施形態の場合と同様に、例えば有彩色の被写体が画角内外を移動するような場合、つまり画像内に移動体がある場合、その移動体領域がWB補正値算出の対象から除外される。したがって、第2の実施形態によれば、例えばタイムラプス撮影時に、環境光源が変化するシーンや有彩色の被写体が画角内外を移動するシーンにおいても、安定したホワイトバランス制御が可能となり、良好なタイムラプス動画の生成が可能となる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
102 制御部、103 センサ部、105 画像処理部、116 WB制御部、117 メモリ部
Claims (13)
- タイムラプス撮影された撮影画像から色評価値を生成する評価値生成手段と、
前記撮影画像より生成された色評価値から、前記撮影画像の移動体領域に対応した色評価値を除外した後の色評価値に基づいて、前記撮影画像のホワイトバランス補正に用いるホワイトバランス補正値を生成する補正値生成手段と、
を有することを特徴とする画像処理装置。 - 前記タイムラプス撮影による撮影画像から移動体領域を検出する検出手段を有し、
前記補正値生成手段は、前記撮影画像より生成された色評価値から、前記検出手段により検出された前記移動体領域に対応した色評価値を除外した後の色評価値に基づいて、前記ホワイトバランス補正値を生成することを特徴とする請求項1に記載の画像処理装置。 - 前記補正値生成手段は、前記撮影画像より生成された色評価値を用いて前記撮影画像の移動体領域を検出し、前記撮影画像より生成された色評価値から、前記移動体領域に対応した色評価値を除外した後の色評価値に基づいて、前記ホワイトバランス補正値を生成することを特徴とする請求項1に記載の画像処理装置。
- 前記評価値生成手段は、前記撮影画像の画素ごとのピクセル色評価値と、前記撮影画像を複数に分割したブロックごとのブロック色評価値とを生成し、
前記補正値生成手段は、前記画素ごとの前記ピクセル色評価値から前記移動体領域に対応したピクセル色評価値を除外した後のピクセル色評価値と、前記ブロックごとの前記ブロック色評価値から前記移動体領域に対応したブロック色評価値を除外した後のブロック色評価値とに基づいて、前記ホワイトバランス補正値を生成することを特徴とする請求項2に記載の画像処理装置。 - 前記評価値生成手段は、前記撮影画像の画素ごとのピクセル色評価値と、前記撮影画像を複数に分割したブロックごとのブロック色評価値とを生成し、
前記補正値生成手段は、前記画素ごとの前記ピクセル色評価値と、前記ブロックごとの前記ブロック色評価値から前記移動体領域に対応したブロック色評価値を除外した後のブロック色評価値とに基づいて、前記ホワイトバランス補正値を生成することを特徴とする請求項3に記載の画像処理装置。 - 前記補正値生成手段は、現時点の撮影画像から生成されたブロック色評価値と、前記現時点の前の撮影画像から生成されたブロック色評価値との差分に基づいて、前記移動体領域を検出することを特徴とする請求項5に記載の画像処理装置。
- 前記補正値生成手段は、現時点の撮影画像から生成された色評価値と、前記現時点の前の撮影画像から生成された色評価値との差分に応じて、前記ホワイトバランス補正値に対して更に補正を行うことを特徴とする請求項1乃至6の何れか1項に記載の画像処理装置。
- 前記補正値生成手段は、前記撮影画像に占める前記移動体領域の割合に応じて前記ホワイトバランス補正値に対して更に補正を行うことを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。
- 前記タイムラプス撮影された複数の撮影画像から動画を生成する動画生成手段を有することを特徴とする請求項1乃至8の何れか1項に記載の画像処理装置。
- 前記タイムラプス撮影は固定された撮影画角により行われることを特徴とする請求項1乃至9の何れか1項に記載の画像処理装置。
- タイムラプス撮影された撮影画像より生成した色評価値から、前記撮影画像の移動体領域に対応した色評価値を除外した後の色評価値に基づいて、前記撮影画像のホワイトバランス補正に用いるホワイトバランス補正値を生成することを特徴とする画像処理装置の画像処理方法。
- コンピュータを、請求項1乃至10の何れか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
- タイムラプス撮影を行う撮影手段と、
前記タイムラプス撮影された撮影画像に対し、ホワイトバランス補正値を用いたホワイトバランス補正を行う補正手段と、
前記タイムラプス撮影された複数の撮影画像から動画を生成する動画生成手段と、
請求項1乃至10の何れか1項に記載の画像処理装置と、
を有することを特徴とする撮像装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016080470A JP2017192027A (ja) | 2016-04-13 | 2016-04-13 | 画像処理装置、画像処理方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016080470A JP2017192027A (ja) | 2016-04-13 | 2016-04-13 | 画像処理装置、画像処理方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017192027A true JP2017192027A (ja) | 2017-10-19 |
Family
ID=60086151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016080470A Pending JP2017192027A (ja) | 2016-04-13 | 2016-04-13 | 画像処理装置、画像処理方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017192027A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691721A (zh) * | 2021-07-28 | 2021-11-23 | 浙江大华技术股份有限公司 | 一种缩时摄影视频的合成方法、装置、计算机设备和介质 |
-
2016
- 2016-04-13 JP JP2016080470A patent/JP2017192027A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691721A (zh) * | 2021-07-28 | 2021-11-23 | 浙江大华技术股份有限公司 | 一种缩时摄影视频的合成方法、装置、计算机设备和介质 |
CN113691721B (zh) * | 2021-07-28 | 2023-07-18 | 浙江大华技术股份有限公司 | 一种缩时摄影视频的合成方法、装置、计算机设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4761066B2 (ja) | ホワイトバランス補正方法及び撮像装置 | |
JP5398156B2 (ja) | ホワイトバランス制御装置およびその制御方法並びに撮像装置 | |
US8395694B2 (en) | Apparatus and method for blurring image background in digital image processing device | |
US7961228B2 (en) | Imaging apparatus and method for controlling exposure by determining backlight situations and detecting a face | |
US8648961B2 (en) | Image capturing apparatus and image capturing method | |
JP2014044345A (ja) | 撮像装置 | |
KR20140032318A (ko) | 노출 조건을 주기적으로 변화시키는 촬상장치, 촬상장치의 제어방법, 및 기억매체 | |
JP2006352795A (ja) | 撮像装置及び画像処理方法 | |
US8237854B2 (en) | Flash emission method and flash emission apparatus | |
KR20150109177A (ko) | 촬영 장치, 그 제어 방법, 및 컴퓨터 판독가능 기록매체 | |
KR101728042B1 (ko) | 디지털 촬영 장치 및 이의 제어 방법 | |
JP2014033276A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2009094997A (ja) | 撮像装置、撮像方法 | |
JP2010147786A (ja) | 撮像装置及び画像処理方法 | |
JP2013106284A (ja) | 光源推定装置、光源推定方法、光源推定プログラムおよび撮像装置 | |
CN113691795A (zh) | 图像处理设备、图像处理方法和存储介质 | |
TW201108730A (en) | Image correction apparatus for correcting the influence of photographic light source and image correction method thereof | |
JP6108680B2 (ja) | 撮像装置及びその制御方法、プログラム、並びに記憶媒体 | |
JP5048599B2 (ja) | 撮像装置 | |
JP2014179920A (ja) | 撮像装置及びその制御方法、プログラム、並びに記憶媒体 | |
US20120075495A1 (en) | Electronic camera | |
JP2017192027A (ja) | 画像処理装置、画像処理方法、プログラム | |
JP6570311B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2016046610A (ja) | 撮像装置 | |
JP2009252069A (ja) | 画像処理装置、撮像装置、画像処理方法及びプログラム |