(57)【要約】【課題】タイムラプス撮影による撮影画像に対して安定したホワイトバランス制御を可能にすることを課題とする。【解決手段】ＷＢ制御部（１１６）は、タイムラプス撮影された撮影画像から色評価値を生成する。さらに、ＷＢ制御部（１１６）は、撮影画像より生成された色評価値から、撮影画像の移動体領域に対応した色評価値を除外した後の評価値に基づいて、撮影画像のＷＢ補正値を生成する。【選択図】図１
2017192027.tif 000002
【特許請求の範囲】
【請求項１】
タイムラプス撮影された撮影画像から色評価値を生成する評価値生成手段と、
前記撮影画像より生成された色評価値から、前記撮影画像の移動体領域に対応した色評価値を除外した後の色評価値に基づいて、前記撮影画像のホワイトバランス補正に用いるホワイトバランス補正値を生成する補正値生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記タイムラプス撮影による撮影画像から移動体領域を検出する検出手段を有し、
前記補正値生成手段は、前記撮影画像より生成された色評価値から、前記検出手段により検出された前記移動体領域に対応した色評価値を除外した後の色評価値に基づいて、前記ホワイトバランス補正値を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記補正値生成手段は、前記撮影画像より生成された色評価値を用いて前記撮影画像の移動体領域を検出し、前記撮影画像より生成された色評価値から、前記移動体領域に対応した色評価値を除外した後の色評価値に基づいて、前記ホワイトバランス補正値を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記評価値生成手段は、前記撮影画像の画素ごとのピクセル色評価値と、前記撮影画像を複数に分割したブロックごとのブロック色評価値とを生成し、
前記補正値生成手段は、前記画素ごとの前記ピクセル色評価値から前記移動体領域に対応したピクセル色評価値を除外した後のピクセル色評価値と、前記ブロックごとの前記ブロック色評価値から前記移動体領域に対応したブロック色評価値を除外した後のブロック色評価値とに基づいて、前記ホワイトバランス補正値を生成することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記評価値生成手段は、前記撮影画像の画素ごとのピクセル色評価値と、前記撮影画像を複数に分割したブロックごとのブロック色評価値とを生成し、
前記補正値生成手段は、前記画素ごとの前記ピクセル色評価値と、前記ブロックごとの前記ブロック色評価値から前記移動体領域に対応したブロック色評価値を除外した後のブロック色評価値とに基づいて、前記ホワイトバランス補正値を生成することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記補正値生成手段は、現時点の撮影画像から生成されたブロック色評価値と、前記現時点の前の撮影画像から生成されたブロック色評価値との差分に基づいて、前記移動体領域を検出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記補正値生成手段は、現時点の撮影画像から生成された色評価値と、前記現時点の前の撮影画像から生成された色評価値との差分に応じて、前記ホワイトバランス補正値に対して更に補正を行うことを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記補正値生成手段は、前記撮影画像に占める前記移動体領域の割合に応じて前記ホワイトバランス補正値に対して更に補正を行うことを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記タイムラプス撮影された複数の撮影画像から動画を生成する動画生成手段を有することを特徴とする請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
前記タイムラプス撮影は固定された撮影画角により行われることを特徴とする請求項１乃至９の何れか１項に記載の画像処理装置。
【請求項１１】
タイムラプス撮影された撮影画像より生成した色評価値から、前記撮影画像の移動体領域に対応した色評価値を除外した後の色評価値に基づいて、前記撮影画像のホワイトバランス補正に用いるホワイトバランス補正値を生成することを特徴とする画像処理装置の画像処理方法。
【請求項１２】
コンピュータを、請求項１乃至１０の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１３】
タイムラプス撮影を行う撮影手段と、
前記タイムラプス撮影された撮影画像に対し、ホワイトバランス補正値を用いたホワイトバランス補正を行う補正手段と、
前記タイムラプス撮影された複数の撮影画像から動画を生成する動画生成手段と、
請求項１乃至１０の何れか１項に記載の画像処理装置と、
を有することを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影された画像を処理する画像処理装置、画像処理方法、プログラム、及び撮像装置に関する。
【背景技術】
【０００２】
従来、或る程度長い所定時間間隔で撮影を自動的に行って複数枚の撮影画像を取得し、それら複数枚の撮影画像から動画を生成するようなタイムラプス撮影と呼ばれる機能を備えた撮像装置が知られている。なお、タイムラプス撮影により生成された動画はタイムラプス動画と呼ばれることもある。タイムラプス撮影により所定時間間隔おきに撮影された複数枚の画像は、それぞれ別個の画像ファイルとして記録、或いは、一つの動画ファイルとして記録される。なお、予め設定された時間間隔おきに自動撮影を行って複数枚の画像を取得するような撮影手法は、いわゆるインターバル撮影とも呼ばれている。
【０００３】
タイムラプス撮影では、長期間に亘って撮影が行われるため、撮影期間が例えば昼間から夕暮れにまで及ぶような場合には、光源の色温度が途中から変化し、さらに、自然光から照明光のような人工光へと変化することもある。また、タイムラプス撮影は、例えば秒間３０フレーム等の撮影がなされる通常の動画撮影とは異なり、撮影された各画像（コマ）間の時間間隔が離れている。このため、タイムラプス撮影においてホワイトバランスを各撮影画像間で追従させる場合には、通常の動画撮影の場合とは異なるホワイトバランス制御が必要となる。
【０００４】
特許文献１には、インターバル撮影において、例えば現時点の画像（現コマ）のホワイトバランス調整値とその一つ前の画像（前コマ）のホワイトバランス調整値とインターバル間隔とから、現コマのホワイトバランス調整値を補正する技術が開示されている。特許文献２には、インターバル撮影において、現コマのホワイトバランス調整値と前コマのホワイトバランス調整値との差が小さい場合には、ホワイトバランス調整値の変化量を少なくする技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１４６９６９号公報
【特許文献２】特開２００３−３２４６５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述したタイムラプス撮影の場合、前述のようにコマ間（画像間）で環境光の変化が大きくなることが多いため、通常の動画撮影よりもコマ間のホワイトバランス追従量を大きくする必要がある。しかし、ホワイトバランス追従量を大きくすると、例えば有彩色の被写体が画角内外を移動するような場合、つまり被写体の移動によりコマ間で被写体が写っている場合と写っていない場合がある場合には、ホワイトバランス制御が不安定になる。
【０００７】
また、特許文献１に記載の技術では、インターバル撮影の際のコマ間の時間間隔の長短に応じてホワイトバランス調整値を補正しているため、例えばコマ間の時間間隔が短い場合にはホワイトバランス調整値の補正量は少なくなる。しかしながら、例えばコマ間の時間間隔が長い場合には、ホワイトバランス調整値の補正量が大きくなるため、ホワイトバランス制御が不安定になってしまう。特許文献２に記載の技術では、環境光の変化に応じてホワイトバランス調整値の変化量を制御しているため、環境光の変化が少ない場合にはホワイトバランス調整値の変化量は少なくなる。しかしながら、環境光の変化が大きい場合には、ホワイトバランス調整値の変化量が大きくなるため、ホワイトバランス制御が不安定なる。
【０００８】
そこで、本発明は、タイムラプス撮影による撮影画像に対して安定したホワイトバランス制御を可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、タイムラプス撮影された撮影画像より生成した色評価値から、撮影画像の移動体領域に対応した色評価値を除外した後の色評価値に基づいて、撮影画像のホワイトバランス補正に用いるホワイトバランス補正値を生成することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、タイムラプス撮影による撮影画像に対して安定したホワイトバランス制御が可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施形態の撮像装置の概略構成を示す図である。
【図２】撮像装置の画像処理部の概略構成を示す図である。
【図３】ＷＢ補正値算出処理のフローチャートである。
【図４】白検出範囲の説明に用いる図である。
【図５】第１の実施形態の撮像装置による撮影時の処理のフローチャートである。
【図６】第２の実施形態の撮像装置による撮影時の処理のフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
＜撮像装置の構成＞
図１は、本実施形態の画像処理装置の一適用例としての撮像装置の概略構成を示す図である。本実施形態の撮像装置は、動画像や静止画像の撮影が可能なディジタルカメラ等である。
【００１３】
レンズ１０８ａは、センサ部１０３の撮像面上に被写体等の光学像を結像させるためのレンズ光学系であり、フォーカスレンズやズームレンズを含んでいる。メカ機構１０９ａは、メカニカルシャッター、絞り等を有して構成されている。操作部１０１は、電源ボタンやシャッターボタン等の各種ボタンやスイッチ、タッチパネル等からなり、撮像装置の操作者により操作される。本実施形態の撮像装置の操作者が、操作部１０１の電源スイッチをオンにすると、撮像装置の各部に電源が供給される。撮像装置の各部に電源が供給されるとメカ機構１０９ａのメカニカルシャッターが開き、これにより、センサ部１０３には、レンズ１０８ａ、メカ機構１０９aを介して光が入光する。
【００１４】
センサ部１０３は、ＣＣＤやＣＭＯＳ等からなる固体撮像素子であり、その撮像面は例えばベイヤー配列のようなＲ（赤）Ｇ（緑）Ｂ（青）カラーフィルタにより覆われ、カラー撮影が可能な構成となっている。センサ部１０３は、制御部１０２による制御の下、レンズ１０８ａ、メカ機構１０９ａを介して撮像面上に形成された光像の光量に応じた電荷をアナログ画像信号として出力する。
【００１５】
ＡＤ変換部１０４は、制御部１０２による制御の下、センサ部１０３から出力されたアナログ画像信号に対し、サンプリング、ゲイン調整、ＡＤ（アナログ−ディジタル）変換等を行い、ディジタル画像信号として出力する。ＡＤ変換部１０４から出力されたディジタル画像信号は、画像処理部１０５に送られる。以下、ディジタル画像信号を画像信号と表記する。
【００１６】
画像処理部１０５は、制御部１０２による制御の下、ＡＤ変換部１０４から出力された画像信号に対して各種の画像処理を行い、その画像処理済みの画像信号をメモリ部１１７に出力して記憶させる。また、画像処理部１０５は、メモリ部１１７に記憶されている画像信号を読み出して、各種画像処理を行うことも可能となされている。画像処理部１０５の詳細は後述する。
【００１７】
ホワイトバランス制御部１１６は、本実施形態における評価値生成手段と補正値生成手段の一例であり、メモリ部１１７に記憶された画像信号に基づいて、ホワイトバランス補正値を算出し、その算出したホワイトバランス補正値を制御部１０２に出力する。以下の説明では、ホワイトバランスを「ＷＢ」と略記する。制御部１０２は、ＷＢ制御部１１６にて算出されたＷＢ補正値を画像処理部１０５へ送る。画像処理部１０５は、画像信号に対して、ＷＢ補正値に基づくＷＢ補正処理を行う。なお、ＷＢ補正値の算出処理の詳細な説明は後述する。
【００１８】
ＡＦ処理部１０８は、制御部１０２から供給されるオートフォーカス（ＡＦ）制御情報により、レンズ１０８ａを駆動させて被写体等にピントを合わせるオートフォーカス制御を行う。ＡＥ処理部１０９は、制御部１０２から供給される自動露出（ＡＥ）補正制御情報により、メカ機構１０９ａのシャッタースピードや絞り値を調整して露出を適正露出に合わせる自動露出補正制御を行う。ＥＦ処理部１１０は、制御部１０２から供給される発光制御情報により、被写体上の照度が適正となり得る光量でストロボ部１１１を発光させる。ストロボ部１１１は、ストロボ発光装置である。制御部１０２は、ＡＤ変換部１０４から画像処理部１０５に送られた画像信号に基づいて、ＡＦ制御情報、ＡＥ補正制御情報、発光制御情報等を生成する。
【００１９】
エンコーダ部１１２は、制御部１０２による制御の下、メモリ部１１７に記憶されている画像信号を、ＪＰＥＧなどの圧縮フォーマットに従ってエンコードする。エンコーダ部１１２によるエンコード後の画像データは、制御部１０２による制御の下、画像記録部１１３により記録媒体に記録される。外部接続部１１４は、各種外部機器と接続するためのインターフェイスを有し、例えば画像記録部１１３が記録媒体から読み出した画像データ等を外部機器に出力可能となされている。表示部１１５は、撮像装置に設けられている液晶パネル等の表示装置であり、プレビュー画像や画像記録部１１３が記録媒体から読み出した画像データの再生画像、各種メニュー画面等を表示する。表示部１１５の表示画面上には、操作部１０１のタッチパネルが設けられていてもよい。
【００２０】
＜画像処理部の構成＞
図２は、図１の画像処理部１０５の詳細な構成例を示す図である。
画像処理部１０５の色マトリクス部３０１は、画像信号が最適な色で再現されるように色ゲインをかけて色差信号Ｒ−Ｙ、Ｂ−Ｙに変換する。ローパスフィルタ（ＬＰＦ）３０２は、色差信号Ｒ−Ｙ、Ｂ−Ｙの帯域を制限する。ＣＳＵＰ（Ｃｈｒｏｍａ  Ｓｕｐｒｅｓｓ）部３０３は、色差信号Ｒ−Ｙ、Ｂ−Ｙの飽和部分の偽色信号を抑圧する。輝度信号生成部３０４は、画像信号から輝度信号Ｙを生成する。エッジ強調部３０５は、輝度信号生成部３０４にて生成された輝度信号Ｙに対してエッジ強調を行う。ＣＳＵＰ部３０３から出力される色差信号Ｒ−Ｙ、Ｂ−Ｙと、エッジ強調部３０５から出力される輝度信号Ｙは、ＲＧＢ変換部３０６にてＲＧＢ信号に変換され、更にガンマ補正部３０７にてガンマ補正（階調補正）が施される。ガンマ補正後のＲＧＢ信号は、その後、色輝度変換部３０８にてＹＵＶ信号に変換されて、画像処理部１０５から出力される。領域別シャープネス処理部３０９は、画像から検出した被写体領域ごとにシャープネス処理を行う。パターン認識部３１１は、画像から被写体領域として検出した例えば人物や顔、性別等を認識するためのパターン認識等を行う。
【００２１】
＜タイムラプス撮影の説明＞
本実施形態の撮影装置は、予め設定された或る程度長い時間間隔で撮影を自動的に行うインターバル撮影（タイムラプス撮影）により複数枚の撮影画像を取得し、それら複数枚の撮影画像から動画を生成するようなタイムラプス撮影機能を備えている。以下、本実施形態の撮影装置がタイムラプス撮影モードに設定されている場合の動作について説明する。これ以降の説明では、タイプラプス撮影モードにおいて、予め設定された時間間隔で自動的に行われる撮影を「本撮影」と表記する。
【００２２】
タイムラプス撮影が行われる場合には、予め、操作者により、操作部１０１を介して、タイムラプス撮影のための時間間隔と撮影期間とが設定される。また、本実施形態において、タイムラプス撮影が行われる場合、撮像装置は例えば三脚などに固定され、また撮影画角も固定される。なお、タイムラプス撮影の場合、レール上を移動可能なスライド装置に撮像装置を固定して、レール上を少しずつ移動させて撮影位置を変化させるような撮影も可能であるが、本実施形態では、撮影画角と撮影位置の両方を固定して変化させないようにする。
【００２３】
本実施形態の撮像装置は、操作者によりタイムラプス撮影の時間間隔と撮影期間の条件が設定された後、操作部１０１を介して操作者から撮影開始の指示が入力されると、その撮影開始指示が制御部１０２に送られる。制御部１０２は、撮影開始指示が入力された時点の画像信号に基づいてＡＦ処理とＡＥ処理を行い、タイムラプス撮影の本撮影において最適なピント及び露出の設定情報を求める。
【００２４】
その後、制御部１０２は、タイムラプス撮影の本撮影処理に移行し、ピントの設定情報によりＡＦ処理部１０８にＡＦ制御を行わせ、露出の設定情報によりＡＥ処理部１０９にＡＥ補正制御を行わせる。制御部１０２は、タイムラプス撮影による本撮影が行われる際には、ＡＦ制御とＡＥ補正制御を行った状態でセンサ部１０３による撮像を行わせる。そして、制御部１０２は、タイムラプス撮影の本撮影により取得された画像信号について、画像処理部１０５による画像処理を行わせ、更にエンコーダ部１１２によりエンコードを行わせ、そのエンコード後の画像データを画像記録部１１３に記録させる。
【００２５】
また、一回分の本撮影による画像データの記録が終わると、制御部１０２は、タイムラプス撮影の条件設定時に決められた時間間隔が経過して次の本撮影が行われるタイミングになるまで、撮像装置を休止状態にする。そして、制御部１０２は、設定された時間間隔が経過して次の本撮影が行われるタイミングになると、前述同様に、本撮影のために各部を制御して本撮影を行わせ、その本撮影により得られた撮影画像を記録させる。制御部１０２は、前述したような本撮影及び記録と休止の制御を、タイムラプス撮影の条件設定時に決められた撮影期間になるまで繰り返す。
【００２６】
タイムラプス撮影の撮影期間が終わると、制御部１０２は、タイムラプス撮影の本撮影で取得されて画像記録部１１３に記録された複数の画像データを読み出して画像処理部１０５に送る。このときの画像処理部１０５は、本実施形態の動画生成手段として機能し、それら複数の画像データを結合して動画データを生成する。この連結された画像データからなる動画は、通常の動画のフレームレートで再生された場合には、タイムラプス撮影の撮影期間よりも短い再生時間で再生される動画となる。このように、タイムラプス撮影モードでは、通常の動画撮影の際の撮影時間間隔（１／３０秒等のフレームレート）より長い設定時間間隔で撮影が行われ、再生される際には通常の動画のフレームレート等で再生されるようなタイムラプス動画が生成される。また、このタイムラプス動画のデータは、エンコーダ部１１２により、動画フォーマットの動画データにエンコードされる。本実施形態の場合、エンコーダ部１１２のエンコードにより生成された動画フォーマットの動画データは、画像記録部１１３により記録媒体に記録される。
【００２７】
＜第１の実施形態におけるタイムラプス撮影の際のＷＢ制御＞
ここで、タイムラプス撮影のように、長い時間間隔で且つ長い撮影期間に亘って撮影が行われる場合には、前述したように色温度の変化や環境光の変化が大きくなることが多い。このため、タイムラプス撮影モードによる撮影が行われる場合には、そのタイムラプス撮影に適したＷＢ制御を行う必要がある。以下、第１の実施形態として、タイムラプス撮影の際のＷＢ制御に用いられるＷＢ補正値の算出処理について、図３のフローチャートを参照しながら説明する。図３のフローチャートに示したＷＢ補正値算出処理は、前述したＷＢ制御部１１６により行われる処理である。
【００２８】
なお、図３のフローチャートの各処理は、本実施形態に係るプログラムを、例えばＣＰＵが実行することにより実現されてもよい。本実施形態に係るプログラムは、例えば不図示のＲＯＭ等に予め用意されていてもよく、また不図示の外部記憶媒体から読み出されたり、不図示のインターネット等のネットワークからダウンロードされたりして、不図示のＲＡＭ等にロードされてもよい。このことは後述する他のフローチャートについても同様である。以下の説明では、図３の各処理のステップＳ５０１〜ステップＳ５０６をＳ５０１〜Ｓ５０６と略記し、後述する他のフローチャートについても同様とする。
【００２９】
図３のフローチャートに示すＷＢ補正値算出処理は、操作部１０１を介して操作者から撮影開始の指示が入力されてタイムラプス撮影が開始されることでスタートする。図３のフローチャートの処理がスタートすると、ＷＢ制御部１１６は、Ｓ５０１の処理として、メモリ部１１７に記憶された画像信号を読み出す。
【００３０】
Ｓ５０１の後、ＷＢ制御部１１６は、Ｓ５０２に処理を進める。Ｓ５０２では、ＷＢ制御部１１６は、画像信号の色値（Ｒ，Ｇ，Ｂ）から、下記の式（１）により色評価値（Ｃｘ，Ｃｙ）を求める。
【００３１】
Ｃｘ＝（Ｒ−Ｂ）／Ｙ×１０２４
Ｃｙ＝（Ｒ＋Ｂ−２Ｇ）／Ｙ×１０２４        式（１）
ただし、Ｙ＝（Ｒ＋２Ｇ＋Ｂ）／４
【００３２】
ここで、ＷＢ制御部１１６は、色評価値（Ｃｘ，Ｃｙ）が算出できる最小画素単位として、色値（Ｒ，Ｇ，Ｂ）から色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）を算出するピクセル白サーチを行う。以下、ピクセル白サーチにより算出される色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）をピクセル色評価値と表記する。また、ＷＢ制御部１１６は、画像信号における画像を任意のｍ個のブロックに分割し、分割したブロックごとに各色値を加算平均した色平均値から色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）を算出するブロック白サーチを行う。以下、ブロック白サーチにより算出される色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）をブロック色評価値と表記する。なお、ピクセル白サーチ、ブロック白サーチを実行する場合は、全画素を用いずに間引き処理を行うことで算出時間を短縮することも可能である。ピクセル白サーチ、ブロック白サーチは共に同じ計算式で算出可能であり、専用のハードウエア又は制御部１０２に搭載された演算部のソフトウエアプログラムにより算出することも可能である。
【００３３】
＜第１の実施形態におけるピクセル白サーチ＞
以下、第１の実施形態の場合のピクセル白サーチから説明する。
ピクセル白サーチの場合、以下の「ｉ」は画素の番号を示し、ｉは１から全画素数（ｍ）まで可変する変数となる。ピクセル白サーチの場合、ＷＢ制御部１１６は、ｉ番目の画素におけるＲＧＢの画素値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を用いて、下記式（２）によりｉ番目の画素のピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）を算出する。なお、式（２）は、前記式（１）をピクセル白サーチに対応させた式である。
【００３４】
pixel_Cx[i]＝（R[i]−B[i]）／Y[i]×1024
pixel_Cy[i]＝（R[i]＋B[i]−2G[i]）／Y[i]×1024        式（２）
ただし、Y[i]＝（R[i]＋2G[i]＋B[i]）／4
【００３５】
Ｓ５０２の後、ＷＢ制御部１１６は、Ｓ５０３に処理を進める。Ｓ５０３では、ＷＢ制御部１１６は、色評価値積分判別を行う。
ここで、ＷＢ制御部１１６は、Ｓ５０３において、図４の座標軸を持つグラフを用いて白検出を行う。図４のｘ座標（Ｃｘ）は、負方向が高色温度被写体の白を撮影したときの色評価値を表し、正方向が低色温度被写体の白を撮影したときの色評価値を表している。また、図４のｙ座標（Ｃｙ）は、光源光の緑（Ｇｒｅｅｎ）成分の度合いを意味しており、負方向になるにつれ緑成分が多くなり、これはつまり光源が蛍光灯であることを示している。図４の白検出範囲２０１〜２０４は、予め異なる光源光の下で白を撮影して算出した色評価値をプロットしたものである。白検出範囲２０１は日中の太陽光のプロットエリアを示し、白検出範囲２０２は日陰や曇りのときの高色温度光のプロットエリアを示す。また、白検出範囲２０３は夕景などの低色温度光のプロットエリアを示し、白検出範囲２０４は蛍光灯のプロットエリアを示す。これら白検出範囲２０１〜２０４は、撮影モードによってそれぞれ設定できるものとする。ＷＢ制御部１１６は、Ｓ５０３において、Ｓ５０２で算出したピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）が、図４中の白検出範囲２０１〜２０４の何れの範囲に含まれるか否かを判断する。
【００３６】
また、ＷＢ制御部１１６は、Ｓ５０３において、ｉ番目の画素が、移動体の被写体領域（以下、移動体領域とする。）に含まれる画素であるか否かを判断する。なお、第１の実施形態において、移動体領域の検出は例えば画像処理部１０５により行われているとする。ＷＢ制御部１１６には、画像処理部１０５から移動体判別情報と移動体領域の座標情報とが供給され、ＷＢ制御部１１６はそれら情報を基に、ｉ番目の画素が移動体領域に含まれる画素であるか否かを判断する。画像処理部１０５による移動体領域の検出処理の詳細については後述する。
【００３７】
そして、ＷＢ制御部１１６は、Ｓ５０３において、ピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４の何れかに含まれ、且つ移動体領域の画素でないと判定した場合、Ｓ５０４に処理を進める。一方、ＷＢ制御部１１６は、Ｓ５０３においてピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４に含まれないか、又は移動体領域に含まれると判定した場合には、Ｓ５０５に処理を進める。
【００３８】
Ｓ５０４では、ＷＢ制御部１１６は、各画素値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を積算する。本実施形態において、Ｓ５０３の処理及びＳ５０４の処理は、下記式（３）により表すことができる。
【００３９】
【数１】
2017192027.tif 000003
【００４０】
式（３）のｐｉｘｅｌ＿ＳｕｍＲは全画素数（ｍ）の中のｉ番目の画素の画素値Ｒ［ｉ］の積分値であり、ｐｉｘｅｌ＿ＳｕｍＧはｉ番目の画素の画素値Ｇ［ｉ］の積分値、ｐｉｘｅｌ＿ＳｕｍＢはｉ番目の画素の画素値Ｂ［ｉ］の積分値である。式（３）において、ピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４に含まれ、且つ移動体領域の画素でない場合はＳｗ［ｉ］が「１」になされる。一方、式（３）において、ピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４に含まれないか、又は移動体領域の画素である場合にはＳｗ［ｉ］が「０」になされる。これにより、ＷＢ制御部１１６は、Ｓ５０３の判断により各画素値（Ｒ[ｉ]，Ｇ[ｉ]，Ｂ[ｉ]）の加算を行うか、行わないかの処理を実質的に行っている。そして、ＷＢ制御部１１６は、式（３）で求めた積分値（ｐｉｘｅｌ＿ＳｕｍＲ，ｐｉｘｅｌ＿ＳｕｍＧ，ｐｉｘｅｌ＿ＳｕｍＢ）を、メモリ部１１７に記憶させる。また、ＷＢ制御部１１６は、式（３）において加算された画素数（つまりピクセル白サーチ数）の情報についてもメモリ部１１７に記憶させる。Ｓ５０４の後、ＷＢ制御部１１６は、Ｓ５０５に処理を進める。
【００４１】
Ｓ５０５の処理に進むと、ＷＢ制御部１１６は、全ての画素について、前述したＳ５０２からＳ５０４までの処理が終わったかどうかを判断する。ＷＢ制御部１１６は、未処理の画素があればＳ５０２に処理を戻して、前述した各処理を行い、一方、全ての画素に対する処理が終了していればＳ５０６に処理を進める。
【００４２】
Ｓ５０６では、ＷＢ制御部１１６は、積分値（ｐｉｘｅｌ＿ＳｕｍＲ，ｐｉｘｅｌ＿ＳｕｍＧ，ｐｉｘｅｌ＿ＳｕｍＢ）を用い、式（４）にてＷＢ補正値（ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｒ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｇ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｂ）を算出する。以下、ピクセル白サーチにより算出されたＷＢ補正値（ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｒ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｇ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｂ）を、ピクセルＷＢ補正値と表記する。
【００４３】
pixel_WBcol_R＝pixel_SumY×1024／pixel_SumR
pixel_WBcol_G＝pixel_SumY×1024／pixel_SumG          式（４）
pixel_WBcol_B＝pixel_SumY×1024／pixel_SumB
ただし、pixel_SumY＝（pixel_SumR＋2×pixel_SumG＋pixel_SumB）／4
【００４４】
そして、ＷＢ制御部１１６は、ピクセルＷＢ補正値（ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｒ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｇ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｂ）の情報を、メモリ部１１７に記憶させる。
【００４５】
＜第１の実施形態におけるブロック白サーチ＞
以下、第１の実施形態におけるブロック白サーチについて説明する。
ブロック白サーチの場合、以下の「ｉ」はブロックの番号を示し、ｉは１からブロック数（ｍ）まで可変する変数となる。ブロック白サーチの場合、Ｓ５０２において、ＷＢ制御部１１６は、ｉ番目のブロックに含まれる各画素のＲＧＢの画素値を加算平均した色平均値（ｂｌｏｃｋ＿Ｒ［ｉ］，ｂｌｏｃｋ＿Ｇ［ｉ］，ｂｌｏｃｋ＿Ｂ［ｉ］）を用いて、ブロック色評価値を算出する。ブロック白サーチの場合、下記式（５）によりブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）が算出される。なお、式（５）は、前記式（１）をブロック白サーチに対応させた式である。
【００４６】
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   式（５）
ただし、block_Y[i]＝(block_R[i]＋2block_G[i]＋block_B[i])／4
【００４７】
ブロック白サーチの場合、Ｓ５０２の後、ＷＢ制御部１１６は、Ｓ５０３において色評価値積分判別を行う。ブロック白サーチの場合も、ＷＢ制御部１１６は、図４のような座標軸を持つグラフを用いて白検出を行う。
【００４８】
ここで、ブロック白サーチの場合、ＷＢ制御部１１６は、Ｓ５０３において、Ｓ５０２で算出したブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）が、図４の白検出範囲２０１〜２０４の何れの範囲に含まれるか否かを判断する。また、Ｓ５０３において、ＷＢ制御部１１６は、ｉ番目のブロックが移動体領域に含まれるか否かを判断する。なお、ブロック白サーチの場合も、移動体領域の検出は例えば画像処理部１０５により行われ、ＷＢ制御部１１６は、画像処理部１０５から供給される移動体判別情報と移動体領域の座標情報とを基に、ｉ番目のブロックが移動体領域に含まれているか否かを判断する。移動体領域の検出処理の詳細は後述する。
【００４９】
ブロック白サーチの場合、ＷＢ制御部１１６は、Ｓ５０３にてブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４の何れかに含まれ、且つ移動体領域に含まれないと判定した場合、Ｓ５０４に処理を進める。一方、ＷＢ制御部１１６は、Ｓ５０３にてブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４に含まれないか、又は移動体領域に含まれると判定した場合には、Ｓ５０５に処理を進める。
【００５０】
Ｓ５０４では、ＷＢ制御部１１６は、ブロックの色平均値（ｂｌｏｃｋ＿Ｒ［ｉ］，ｂｌｏｃｋ＿Ｇ［ｉ］，ｂｌｏｃｋ＿Ｂ［ｉ］）を積算する。ここで、ブロック白サーチの場合、Ｓ５０３の処理及びＳ５０４の処理は、下記式（６）により表すことができる。
【００５１】
【数２】
2017192027.tif 000004
【００５２】
式（６）のｂｌｏｃｋ＿ＳｕｍＲは全ブロック数（ｍ）の中のｉ番目のブロックの色平均値ｂｌｏｃｋ＿Ｒ［ｉ］の積分値である。以下同様に、ｂｌｏｃｋ＿ＳｕｍＧは色平均値ｂｌｏｃｋ＿Ｇ［ｉ］の積分値、ｂｌｏｃｋ＿ＳｕｍＢは色平均値ｂｌｏｃｋ＿Ｂ［ｉ］の積分値である。式（６）において、ブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４に含まれ、且つ移動体領域のブロックでない場合はＳｗ［ｉ］が「１」になされる。一方、式（６）において、ブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４に含まれないか、又は移動体領域のブロックである場合にはＳｗ[ｉ]が「０」になされる。これにより、ＷＢ制御部１１６は、Ｓ５０３の判断により色平均値（ｂｌｏｃｋ＿Ｒ［ｉ］，ｂｌｏｃｋ＿Ｇ［ｉ］，ｂｌｏｃｋ＿Ｂ［ｉ］）の加算を行うか、行わないかの処理を実質的に行っている。そして、ＷＢ制御部１１６は、式（６）で求めた積分値（ｂｌｏｃｋ＿ＳｕｍＲ，ｂｌｏｃｋ＿ＳｕｍＧ，ｂｌｏｃｋ＿ＳｕｍＢ）を、メモリ部１１７に記憶させる。また、ＷＢ制御部１１６は、式（６）において加算されたブロック数（つまりブロック白サーチ数）の情報についてもメモリ部１１７に記憶させる。
【００５３】
ブロック白サーチの場合、Ｓ５０５の処理に進むと、ＷＢ制御部１１６は、全てのブロックについて、Ｓ５０２からＳ５０４までの処理が終わったかどうかを判断する。ＷＢ制御部１１６は、未処理のブロックがあればＳ５０２に処理を戻して、前述した各処理を行い、一方、全てのブロックに対する処理が終了していればＳ５０６に処理を進める。
【００５４】
Ｓ５０６では、ＷＢ制御部１１６は、積分値（ｂｌｏｃｋ＿ＳｕｍＲ，ｂｌｏｃｋ＿ＳｕｍＧ，ｂｌｏｃｋ＿ＳｕｍＢ）から、式（７）によりＷＢ補正値（ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｒ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｇ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｂ）を算出する。以下、ブロック白サーチにより算出されるＷＢ補正値（ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｒ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｇ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｂ）を、ブロックＷＢ補正値と表記する。
【００５５】
block_WBcol_R＝block_SumY×1024／block_SumR
block_WBcol_G＝block_SumY×1024／block_SumG              式（７）
block_WBcol_B＝block_SumY×1024／block_SumB
ただし、block_SumY＝（block_SumR＋2×block_SumG＋block_SumB）／4
【００５６】
そして、ＷＢ制御部１１６は、ブロックＷＢ補正値（ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｒ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｇ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｂ）の情報を、メモリ部１１７に記憶させる。
【００５７】
前述したようにしてピクセルＷＢ補正値とブロックＷＢ補正値を算出すると、ＷＢ制御部１１６は、Ｓ５０６において、それらピクセルＷＢ補正値とブロックＷＢ補正値とから最終的なＷＢ補正値を求めて、メモリ部１１７に記憶させる。メモリ部１１７に記憶された最終ＷＢ補正値は、ＷＢ補正処理が行われる際に読み出されて、画像処理部１０５に送られる。これにより、画像処理部１０５は、画像信号に対して、最終ＷＢ補正値に基づくＷＢ補正処理を行う。
【００５８】
ここで、ＷＢ制御部１１６は、一例として、現時点の撮影画像から算出されたＷＢ補正値と、前回の画像撮影がなされた際に算出されたＷＢ補正値とに基づいて、最終ＷＢ補正値を算出する。以下、現時点の撮影画像を現コマと表記し、前回撮影された画像を前コマと表記し、現コマの画像から算出されたＷＢ補正値を現コマのＷＢ補正値、前回の画像撮影時に算出されたＷＢ補正値を前コマのＷＢ補正値と表記する。最終ＷＢ補正値を算出する場合、ＷＢ制御部１１６は、前コマのピクセルＷＢ補正値と現コマのピクセルＷＢ補正値との差分を算出する。同様に、ＷＢ制御部１１６は、前コマのブロックＷＢ補正値と現コマのブロックＷＢ補正値との差分を算出する。さらに、ＷＢ制御部１１６は、前コマのピクセルＷＢ補正値と現コマのピクセルＷＢ補正値との差分が所定のＷＢ差分閾値以上である場合、その差分の大きさに応じて、前コマのピクセルＷＢ補正値と現コマのピクセルＷＢ補正値にそれぞれ重み付けを行う。同様に、ＷＢ制御部１１６は、前コマのブロックＷＢ補正値と現コマのブロックＷＢ補正値との差分が所定のＷＢ差分閾値以上である場合、その差分の大きさに応じて、前コマのブロックＷＢ補正値と現コマのブロックＷＢ補正値にそれぞれ重み付けを行う。そして、ＷＢ制御部１１６は、それぞれ重み付けされた各ピクセルＷＢ補正値と各ブロックＷＢ補正値を加算平均したものを、最終ＷＢ補正値とする。この最終ＷＢ補正値は、メモリ部１１７に記憶された後、ＷＢ補正処理が行われる際に読み出されて、画像処理部１０５に送られる。
【００５９】
＜最終ＷＢ補正値の他の例＞
また、ＷＢ制御部１１６は、メモリ部１１７に記憶されたピクセル白サーチ数及びブロック白サーチ数に応じて最終ＷＢ補正値を求めることができる。例えば、ピクセル白サーチ数が全画素数の１０％以上有る場合、ＷＢ制御部１１６は、現コマのピクセルＷＢ補正値を加算平均して最終ＷＢ補正値を求める。一方、ピクセル白サーチ数が全画素数の１０％を下回る場合には、ＷＢ制御部１１６は、ブロック白サーチ数に応じて、現コマのピクセルＷＢ補正値に重み付けを行い、その重み付け後のピクセルＷＢ補正値を加算平均して最終ＷＢ補正値を求める。このように求められた最終ＷＢ補正値は、メモリ部１１７に記憶された後、ＷＢ補正処理が行われる際に読み出されて、画像処理部１０５に送られる。
【００６０】
その他にも、ＷＢ制御部１１６は、移動体領域が画像全体に占める割合を基に、最終ＷＢ補正値を生成してもよい。この場合、画像処理部１０５は、移動体領域の検出を行なった際に、その検出した移動体領域が画像全体に占める割合を算出してメモリ部１１７に記憶する。ＷＢ制御部１１６は、移動体領域が画像全体に占める割合が、所定の割合閾値以上であった場合には、前コマと現コマのそれぞれピクセルＷＢ補正値とブロックＷＢ補正値に対し、移動体領域の大きさに応じた重み付けをそれぞれ行う。そして、ＷＢ制御部１１６は、それら重み付けされた各ピクセルＷＢ補正値と各ブロックＷＢ補正値を加算平均して最終ＷＢ補正値を求める。この最終ＷＢ補正値は、メモリ部１１７に記憶された後、ＷＢ補正処理が行われる際に読み出されて、画像処理部１０５に送られる。
【００６１】
＜移動体領域の検出と移動体領域に含まれるか否かの判定処理＞
以下、移動体領域の検出方法について説明する。
画像処理部１０５は、メモリ部１１７に記憶されている画像信号を用いて移動体領域を検出する。例えば、画像処理部１０５は、基準画像と現画像の輝度信号の差分と、基準画像と現画像の色信号の差分との、少なくとも何れか一方を用い、差分が所定の信号差分閾値以上となる画像領域を移動体領域として検出する。基準画像は、現画像（現コマ）の一つ前に取得された前コマの画像でもよいし、現コマの前の二つの画像や三つの画像などの複数枚の画像を加算平均した画像を用いてもよい。また、現コマの前コマの画像で移動体領域が検出されている場合、その前コマの画像は基準画像として使用しないようにしてもよい。
【００６２】
また、画像処理部１０５は、画像から被写体を判別して、その被写体がどのような被写体であるかを認識することにより、移動体領域の検出を行うことも可能である。この例の場合、画像処理部１０５は、エッジ検出部３１０により輝度信号からエッジ信号を検出する。そして、制御部１０２は、画像処理部１０５で検出されたエッジ信号に基づいて画像を領域分割、つまり被写体ごとの画像領域に分割する。画像処理部１０５内のパターン認識部３１１は、予め登録されたデータを用い、分割された画像領域の色や形等の画像特徴量の一致度合いと認識結果を出力する。この場合、各種被写体について予め色、形状、明るさ等の情報を登録しておくことにより、画像内のどの領域がどのような被写体領域であるかを認識可能となる。そして、画像処理部１０５は、前述のようにして認識された被写体の領域を基に、その被写体の領域が移動体領域であるか否かの移動体判定を行う。すなわち、画像処理部１０５は、人物や車両と判別された被写体については移動体領域として検出する。その他にも、画像処理部１０５は、例えば前コマから検出した被写体領域の位置と現コマから検出した被写体領域の位置とを比較して移動体領域判定を行うことも可能である。
【００６３】
なお、パターン認識部３１１にて行われるパターン認識は、例えば、画像から抽出されたパターンを予め定められた概念（クラス）の１つに対応（テンプレートマッチング）させる処理である。テンプレートマッチングは、型紙を意味するテンプレートを画像上で移動させながら、画像とテンプレートとを比較する方法である。なお、被写体等の領域を認識する方法は、パターン認識以外の方法であってもよい。パターン認識以外の領域認識方法としては、例えば、ニューラルネットワーク等による学習を用いる方法、物理的な形状における特徴のある部位を画像領域から抽出する方法、検出した被写体の色や形等の画像特徴量を統計的に解析する方法等がある。その他にも、領域認識方法は、ウェーブレット変換と画像特徴量を利用する方法等が用いられてもよい。これらの領域認識方法の詳細は省略する。
【００６４】
画像処理部１０５は、前述のようにして移動体であると判定された画像領域（移動体領域）に対し、移動体であると判別されたことを示す移動体判別情報とその移動体領域の座標情報とを付加して、メモリ部１１７に記憶させる。そして、前述したピクセルＷＢ補正値やブロックＷＢ補正値の算出時に、画像処理部１０５は、メモリ部１１７から移動体判別情報と座標情報を読み出して、ＷＢ制御部１１６に送る。
【００６５】
これにより、ＷＢ制御部１１６は、ピクセル白サーチの場合の画素、ブロック白サーチの場合のブロックが、移動体領域に含まれるか否かを判定可能となる。そして、ＷＢ制御部１１６では、前述したように、ピクセル白サーチの場合には移動体領域に対応したピクセル色評価値を除外し、ブロック白サーチの場合には移動体領域のブロックに対応したブロック色評価値を除外して、ＷＢ補正値を算出する。
【００６６】
＜移動体領域を除外したＷＢ補正値算出とコマのＷＢ補正値＞
図５は、移動体領域を除外する場合を含む、本実施形態の撮像装置におけるＷＢ補正値算出処理の全体的な流れを示すフローチャートである。この図５のフローチャートの処理は、本実施形態の撮像装置において、制御部１０２による制御の下で、画像処理部１０５とＷＢ制御部１１６とにより行われる。なお、図５の例は、ピクセル白サーチとブロック白サーチを纏めたフローチャートとなされている。
【００６７】
図５のフローチャートにおいて、画像処理部１０５は、Ｓ４０１において、メモリ部１１７から画像信号を読み出して画像を取得する。Ｓ４０１の後、画像処理部１０５は、Ｓ４０２に処理を進める。Ｓ４０２では、画像処理部１０５は、取得した画像から移動体領域を検出する。そして、画像処理部１０５は、検出した移動体領域の情報をメモリ部１１７に記憶させる。Ｓ４０２の後、撮像装置の処理はＷＢ制御部１１６で行われるＳ４０３に移行する。
【００６８】
Ｓ４０３では、ＷＢ制御部１１６は、移動体領域に対応したピクセル色評価値とブロック色評価値をＷＢ補正値算出の処理から除外する。Ｓ４０３における移動体領域の除外処理は、ピクセル白サーチとブロック白サーチの場合において前述した図３のＳ５０３とＳ５０４の処理により行われる。Ｓ４０３の後、ＷＢ制御部１１６は、Ｓ４０４に処理を進める。Ｓ４０４では、ＷＢ制御部１１６は、移動体領域が除外された後の、ピクセル色評価値からピクセルＷＢ補正値を算出し、また、ブロック色評価値からブロックＷＢ補正値を算出して、前述した最終ＷＢ補正値を算出する。Ｓ４０４におけるＷＢ補正値算出処理は、前述の図３のＳ５０６の処理により行われる。Ｓ４０４の後、ＷＢ制御部１１６は、Ｓ４０５に処理を進める。
【００６９】
Ｓ４０５では、ＷＢ制御部１１６は、前コマで算出された最終ＷＢ補正値と現コマで算出された最終ＷＢ補正値とを比較する。具体的には、ＷＢ制御部１１６は、前コマの最終ＷＢ補正値と現コマの最終ＷＢ補正値との差分を算出する。Ｓ４０５の後、ＷＢ制御部１１６は、Ｓ４０６に処理を進める。
【００７０】
Ｓ４０６では、ＷＢ制御部１１６は、前コマと現コマの最終ＷＢ補正値の差分が予め決めてある基準値を超えているか否の判定を行う。そして、ＷＢ制御部１１６は、前コマと現コマの最終ＷＢ補正値の差分が基準値を超えていると判定した場合にはＳ４０８に処理を進める。一方、ＷＢ制御部１１６は、前コマと現コマの最終ＷＢ補正値の差分が基準値を超えていないと判定した場合にはＳ４０７に処理を進める。
【００７１】
前コマと現コマの最終ＷＢ補正値の差分が基準値を超えていると判定してＳ４０８に進んだ場合、ＷＢ制御部１１６は、前コマの最終ＷＢ補正値を、現コマの画像に対するＷＢ補正値とする。一方、前コマと現コマの最終ＷＢ補正値の差分が基準値を超えていないと判定してＳ４０７に進んだ場合、ＷＢ制御部１１６は、前コマで得られた最終ＷＢ補正値を現コマの画像に対するＷＢ補正値とする。Ｓ４０７、Ｓ４０８の後、ＷＢ制御部１１６は、Ｓ４０９に処理を進める。Ｓ４０９では、現コマについて使用したＷＢ補正値をメモリ部１１７に記憶させて、図５のフローチャートの処理を終了する。
【００７２】
以上説明したように、第１の実施形態によれば、ＷＢ制御部１１６は、ピクセル白サーチとブロック白サーチを行ってそれぞれＷＢ補正値を求める際に、移動体領域の画素やブロックについてはＷＢ補正値算出の対象から除外して、ＷＢ補正値を算出している。すなわち、本実施形態によれば、例えば有彩色の被写体が画角内外を移動するような場合、つまり被写体の移動によりコマ間で被写体が写っている場合と写っていない場合がある場合には、移動体領域をＷＢ補正値算出の対象から除外する。したがって、本実施形態によれば、例えばタイムラプス撮影時に、環境光源が変化するシーンや有彩色の被写体が画角内外を移動するシーンにおいても、安定したホワイトバランス制御が可能となり、良好なタイムラプス動画の生成が可能となる。
【００７３】
＜第２の実施形態におけるタイムラプス撮影の際のＷＢ制御＞
以下、第２の実施形態におけるタイムラプス撮影の際のＷＢ制御に用いられるＷＢ補正値の算出処理について説明する。前述した第１の実施形態では、画像処理部１０５が被写体領域の中の移動体領域を検出し、ＷＢ制御部１１６がその移動体領域を除外してＷＢ補正値を算出している。これに対し、第２の実施形態では、ＷＢ制御部１１６が被写体領域の中の移動体領域を検出し、その移動体領域を除外してＷＢ補正値を算出する例である。
【００７４】
第２の実施形態の場合のＷＢ補正値算出処理について、前述の図３のフローチャートを参照しながら説明する。なお、第２の実施形態の説明において、図３のフローチャートのうち前述の第１の実施形態の場合と同様の処理についてはその詳細な説明は省略する。
【００７５】
第２の実施形態において、ＷＢ制御部１１６は、Ｓ５０１においてメモリ部１１７から画像信号を読み出し、Ｓ５０２において画像信号の色値（Ｒ，Ｇ，Ｂ）から色評価値（Ｃｘ，Ｃｙ）を求める。ここで、第１の実施形態の場合と同様に、第２の実施形態においても、ＷＢ制御部１１６は、最小画素単位の色値（Ｒ，Ｇ，Ｂ）からピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）を算出するピクセル白サーチを行う。また、ＷＢ制御部１１６は、画像を任意のｍ個のブロックに分割して、ブロックごとに各色値を加算平均した色平均値からブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）を算出するブロック白サーチを行う。なお、第２の実施形態の場合も、ピクセル白サーチ、ブロック白サーチを実行する場合は、全画素を用いずに間引き処理を行うことで算出時間を短縮することも可能である。また、ピクセル白サーチとブロック白サーチは、専用のハードウエア又は制御部１０２に搭載された演算部のソフトウエアプログラムにより算出することも可能である。
【００７６】
＜第２の実施形態におけるピクセル白サーチ＞
以下、第２の実施形態の場合のピクセル白サーチについて説明する。
第２の実施形態の場合も第１の実施形態と同様に、ピクセル白サーチにおける「ｉ」は画素の番号を示し、ｉは１から全画素数（ｍ）まで可変する変数となる。ピクセル白サーチの場合、ＷＢ制御部１１６は、全画素数（ｍ）の中のｉ番目の画素におけるＲＧＢの画素値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を用いて、前述した式（２）によりピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）を算出する。
【００７７】
Ｓ５０２の後に進むＳ５０３では、ＷＢ制御部１１６は、前述した図４のグラフを用いた色評価値積分判別により白検出を行う。また、ピクセル白サーチの際、ＷＢ制御部１１６は、Ｓ５０３において、Ｓ５０２で算出したピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）が、図４の白検出範囲２０１〜２０４の何れの範囲に含まれるか否かを判断する。なお、白検出範囲２０１〜２０４は、撮影モードによりそれぞれ設定可能である。
【００７８】
ここで、前述の第１の実施形態では、ピクセル白サーチの際に、Ｓ５０３でｉ番目の画素が移動体領域に含まれるか否かの判定を行っている。これに対し、第２の実施形態の場合、ＷＢ制御部１１６は、ピクセル白サーチの際に、Ｓ５０３において移動体領域に含まれるか否かの判定は行わない。したがって、第２の実施形態の場合、ＷＢ制御部１１６は、Ｓ５０３においてピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４の何れかに含まれていると判定したときに、Ｓ５０４に処理を進める。一方、ＷＢ制御部１１６は、Ｓ５０３にてピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４に含まれないと判定した場合に、Ｓ５０５に処理を進める。
【００７９】
また、ピクセル白サーチにおいて、Ｓ５０４では、ＷＢ制御部１１６は、各画素値（Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］）を積算した後、Ｓ５０５に処理を進める。なお、第２の実施形態の場合、Ｓ５０３の処理、及びＳ５０４の色画素値積分処理は、前述した式（３）により表すことができる。ただし、第２の実施形態の場合は、式（３）において、ピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４に含まれる場合にＳｗ［ｉ］が「１」になされる。一方、第２の実施形態の場合、式（３）において、ピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４に含まれない場合に、Ｓｗ［ｉ］が「０」になされる。これにより、ＷＢ制御部１１６は、Ｓ５０３の判断により色画素値（Ｒ[ｉ]，Ｇ[ｉ]，Ｂ[ｉ]）の加算を行うか、行わないかの処理を実質的に行っている。そして、ＷＢ制御部１１６は、式（３）で求めた積分値（ｐｉｘｅｌ＿ＳｕｍＲ，ｐｉｘｅｌ＿ＳｕｍＧ，ｐｉｘｅｌ＿ＳｕｍＢ）を、メモリ部１１７に記憶させる。また、ＷＢ制御部１１６は、式（３）で加算された画素数（つまりピクセル白サーチ数）の情報を、制御部１０２を介してメモリ部１１７に記憶させる。
【００８０】
Ｓ５０５の処理に進むと、第１の実施形態の場合と同様に、ＷＢ制御部１１６は、全ての画素についてＳ５０２〜Ｓ５０４の各処理が終了したかどうかを判断する。そして、ＷＢ制御部１１６は、未処理の画素があればＳ５０２に処理を戻して、前述した各処理を行い、一方、全ての画素に対する処理が終了していればＳ５０６に処理を進める。
【００８１】
Ｓ５０６では、第１の実施形態の場合と同様に、ＷＢ制御部１１６は、前述した式（４）により、ピクセルＷＢ補正値（ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｒ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｇ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｂ）を算出する。そして、ＷＢ制御部１１６は、ピクセルＷＢ補正値（ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｒ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｇ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｂ）の情報をメモリ部１１７に記憶させる。
【００８２】
＜第２の実施形態におけるブロック白サーチ＞
以下、第２の実施形態の場合のブロック白サーチについて説明する。
第２の実施形態の場合、ＷＢ制御部１１６は、ブロック白サーチの際に移動体領域の検出を行う。第２の実施形態において、ＷＢ制御部１１６は、ブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）の変化量を基に、移動体領域の検出を行う。なお、第２の実施形態の場合のブロック白サーチについても、基本的な動作フローはピクセル白サーチと同様であるため、ここでは図３のフローチャートを用いて説明する。
【００８３】
第２の実施形態のブロック白サーチの場合も前述同様に、以下の「ｉ」はブロックの番号を示し、ｉは１からブロック数（ｍ）まで可変する変数となる。Ｓ５０１の後のＳ５０２では、ＷＢ制御部１１６は、ｉ番目のブロックの各画素値を加算平均した色平均値（ｂｌｏｃｋ＿Ｒ［ｉ］，ｂｌｏｃｋ＿Ｇ［ｉ］，ｂｌｏｃｋ＿Ｂ［ｉ］）を用いてブロック色評価値を算出する。具体的には、ＷＢ制御部１１６は、前述した式（５）によりブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）を算出してメモリ部１１７に記憶させる。
【００８４】
さらに、第２の実施形態の場合、Ｓ５０２において、ＷＢ制御部１１６は、前回撮影された画像（前コマ）から算出されてメモリ部１１７に記憶されているブロック色評価値と、現時点の撮影画像（現コマ）から算出したブロック色評価値との差分を求める。そして、ＷＢ制御部１１６は、前コマのｉ番目のブロック色評価値と現コマのｉ番目のブロック色評価値との差分が、所定の色評価閾値より大きい場合、現コマのｉ番目のブロックは移動体領域に含まれるブロックであると判断する。このように第２の実施形態の場合、前コマと現コマのブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）の差分と所定の色評価閾値とを比較することにより、移動体領域の検出を行う。
【００８５】
第２の実施形態において、Ｓ５０２の後にＳ５０３の処理に進むと、ＷＢ制御部１１６は、Ｓ５０２で算出したブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）が、図４の白検出範囲２０１〜２０４の何れの範囲に含まれるか否かを判断する。そして、Ｓ５０３において、ＷＢ制御部１１６は、ブロック色評価値が白検出範囲２０１〜２０４の何れかに含まれ、且つ、そのブロックがＳ５０２で移動体領域のブロックとして検出されていない場合、Ｓ５０４に処理を進める。一方、ＷＢ制御部１１６は、Ｓ５０３にてブロック色評価値が白検出範囲２０１〜２０４に含まれないか、又はそのブロックがＳ５０２で移動体領域のブロックとして検出されている場合には、Ｓ５０５に処理を進める。
【００８６】
Ｓ５０４では、ＷＢ制御部１１６は、ｉ番目のブロックの色平均値（ｂｌｏｃｋ＿Ｒ［ｉ］，ｂｌｏｃｋ＿Ｇ［ｉ］，ｂｌｏｃｋ＿Ｂ［ｉ］）を積算する。すなわち、Ｓ５０４では、ｉ番目のブロックが図４の白検出範囲２０１〜２０４の何れかの範囲に含まれ、且つ移動体領域ではない場合に、白色であるとして色平均値（ｂｌｏｃｋ＿Ｒ［ｉ］，ｂｌｏｃｋ＿Ｇ［ｉ］，ｂｌｏｃｋ＿Ｂ［ｉ］）が積算される。第２の実施形態のブロック白サーチの場合も、Ｓ５０３の処理、及びＳ５０４の色画素値積分処理は、前述した式（６）により表すことができる。
【００８７】
第２の実施形態の場合、式（６）では、ブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４に含まれ、且つＳ５０２で移動体領域のブロックとして検出されていない場合、Ｓｗ［ｉ］が「１」になされる。一方、式（６）において、ブロック色評価値（ｂｌｏｃｋ＿Ｃｘ[ｉ]，ｂｌｏｃｋ＿Ｃｙ[ｉ]）が白検出範囲２０１〜２０４に含まれないか、又はＳ５０２で移動体領域のブロックとして検出された場合、Ｓｗ[ｉ]が「０」になされる。これにより、第２の実施形態のＷＢ制御部１１６は、Ｓ５０３の判断により色平均値（ｂｌｏｃｋ＿Ｒ［ｉ］，ｂｌｏｃｋ＿Ｇ［ｉ］，ｂｌｏｃｋ＿Ｂ［ｉ］）の加算を行うか、行わないかの処理を実質的に行っている。そして、ＷＢ制御部１１６は、式（６）で求めた積分値（ｂｌｏｃｋ＿ＳｕｍＲ，ｂｌｏｃｋ＿ＳｕｍＧ，ｂｌｏｃｋ＿ＳｕｍＢ）を、メモリ部１１７に記憶させる。また、ＷＢ制御部１１６は、式（６）において加算されたブロック数（つまりブロック白サーチ数）の情報についてもメモリ部１１７に記憶させる。
【００８８】
第２の実施形態のブロック白サーチにおいて、Ｓ５０５の処理に進むと、ＷＢ制御部１１６は、全てのブロックについて、Ｓ５０２からＳ５０４までの処理が終わったかどうかを判断する。ＷＢ制御部１１６は、未処理のブロックがあればＳ５０２に処理を戻して、前述した各処理を行い、一方、全てのブロックに対する処理が終了していればＳ５０６に処理を進める。
【００８９】
Ｓ５０６では、ＷＢ制御部１１６は、積分値（ｂｌｏｃｋ＿ＳｕｍＲ，ｂｌｏｃｋ＿ＳｕｍＧ，ｂｌｏｃｋ＿ＳｕｍＢ）から、ブロックＷＢ補正値（ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｒ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｇ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｂ）を算出する。ブロックＷＢ補正値（ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｒ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｇ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｂ）の算出は、前述した式（７）により行われる。そして、ＷＢ制御部１１６は、ブロックＷＢ補正値（ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｒ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｇ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｂ）の情報をメモリ部１１７に記憶させる。
【００９０】
第２の実施形態の場合、ＷＢ制御部１１６は、Ｓ５０６において、ピクセルＷＢ補正値とブロックＷＢ補正値とから、最終的なＷＢ補正値を求めて、メモリ部１１７に記憶させる。メモリ部１１７に記憶された最終ＷＢ補正値は、ＷＢ補正処理が行われる際に読み出されて、画像処理部１０５に送られる。これにより、画像処理部１０５は、画像信号に対して、最終ＷＢ補正値に基づくＷＢ補正処理を行う。
【００９１】
第２の実施形態の場合も第１の実施形態の場合と同様、ＷＢ制御部１１６は、前コマのピクセルＷＢ補正値と現コマのピクセルＷＢ補正値との差分、前コマのブロックＷＢ補正値と現コマのブロックＷＢ補正値の差分を求める。さらに、ＷＢ制御部１１６は、それらピクセルＷＢ補正値から求めた差分とブロックＷＢ補正値から求めた差分について、所定のＷＢ差分閾値との比較を行う。ＷＢ制御部１１６は、差分がＷＢ差分閾値以上である場合、その差分の大きさに応じてピクセルＷＢ補正値とブロックＷＢ補正値にそれぞれ重み付けを行う。そして、ＷＢ制御部１１６は、それぞれ重み付けされた各ピクセルＷＢ補正値と各ブロックＷＢ補正値を加算平均したものを、最終ＷＢ補正値とする。この最終ＷＢ補正値は、メモリ部１１７に記憶された後、ＷＢ補正処理が行われる際に読み出されて、画像処理部１０５に送られる。なお、第２の実施形態の場合も、前述した第１の実施形態で例示したような他の最終ＷＢ補正値を求めることも可能である。
【００９２】
＜第２の実施形態における移動体領域を除外したＷＢ補正値算出とコマのＷＢ補正値＞
図６は、移動体領域を除外する場合を含む、第２の実施形態の撮像装置におけるＷＢ補正値算出処理の全体的な流れを示すフローチャートである。この図６のフローチャートの処理は、本実施形態の撮像装置において、制御部１０２による制御の下で、ＷＢ制御部１１６により行われる。
【００９３】
図６のフローチャートにおいて、ＷＢ制御部１１６は、Ｓ６０１において、メモリ部１１７から画像信号を読み出して画像を取得する。Ｓ６０１の後、ＷＢ制御部１１６は、Ｓ６０９とＳ６０２に処理を進める。なお、Ｓ６０９〜Ｓ６１０はピクセルＷＢ補正値を算出するルートであり、Ｓ６０２〜Ｓ６０７はブロックＷＢ補正値を算出するルートである。
【００９４】
ピクセル白サーチのルートでは、ＷＢ制御部１１６は、Ｓ６０９において前述したようにピクセル白サーチを行ってピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）を算出する。そして、ＷＢ制御部１１６は、次のＳ６１０では、ピクセル色評価値（ｐｉｘｅｌ＿Ｃｘ[ｉ]，ｐｉｘｅｌ＿Ｃｙ[ｉ]）を基に、ピクセルＷＢ補正値（ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｒ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｇ，ｐｉｘｅｌ＿ＷＢＣｏｌ＿Ｂ）を算出する。Ｓ６１０の後、ＷＢ制御部１１６は、Ｓ６１１に処理を進める。
【００９５】
ブロック白サーチのルートでは、ＷＢ制御部１１６は、Ｓ６０２において画像をブロック分割し、次のＳ６０３では前述のようにブロック色評価値（ｂｌｏｃｋ＿Ｒ［ｉ］，ｂｌｏｃｋ＿Ｇ［ｉ］，ｂｌｏｃｋ＿Ｂ［ｉ］）を算出する。次に、ＷＢ制御部１１６は、Ｓ６０４において前コマと現コマのブロック色評価値を比較し、Ｓ６０５ではその比較結果に基づいて移動体領域のブロックか否かの判定を行う。次に、ＷＢ制御部１１６は、Ｓ６０６において、移動体領域を除外するようにして積分値（ｂｌｏｃｋ＿ＳｕｍＲ，ｂｌｏｃｋ＿ＳｕｍＧ，ｂｌｏｃｋ＿ＳｕｍＢ）を算出する。その後、ＷＢ制御部１１６は、Ｓ６０７において、ブロックＷＢ補正値（ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｒ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｇ，ｂｌｏｃｋ＿ＷＢＣｏｌ＿Ｂ）を算出する。Ｓ６０７の後、ＷＢ制御部１１６は、Ｓ６１１に処理を進める。
【００９６】
Ｓ６１１では、ＷＢ制御部１１６は、前述したように、前コマと現コマのピクセルＷＢ補正値の差分と、前コマと現コマのブロックＷＢ補正値の差分を用いて最終ＷＢ補正値を算出する。
【００９７】
次のＳ６１２では、ＷＢ制御部１１６は、前コマと現コマの最終ＷＢ補正値の差分が予め決めてある基準値を超えているか否を判定し、差分が基準値を超えていると判定した場合にはＳ６１４に処理を進める。一方、ＷＢ制御部１１６は、前コマと現コマの最終ＷＢ補正値の差分が基準値を超えていないと判定した場合にはＳ６１３に処理を進める。
【００９８】
前コマと現コマの最終ＷＢ補正値の差分が基準値を超えていると判定してＳ６１４に進んだ場合、ＷＢ制御部１１６は、前コマの最終ＷＢ補正値を、現コマの画像に対するＷＢ補正値とする。一方、前コマと現コマの最終ＷＢ補正値の差分が基準値を超えていないと判定してＳ６１３に進んだ場合、ＷＢ制御部１１６は、前コマの最終ＷＢ補正値を現コマの画像に対するＷＢ補正値とする。Ｓ６１３、Ｓ６１４の後、ＷＢ制御部１１６は、Ｓ６１５に処理を進める。Ｓ６１５では、現コマについて使用したＷＢ補正値をメモリ部１１７に記憶させて、図６のフローチャートの処理を終了する。
【００９９】
前述したように、第２の実施形態では、ＷＢ制御部１１６が被写体領域の中の移動体領域を検出し、その移動体領域を除外してＷＢ補正値を算出するようにしている。第２の実施形態においても第１の実施形態の場合と同様に、例えば有彩色の被写体が画角内外を移動するような場合、つまり画像内に移動体がある場合、その移動体領域がＷＢ補正値算出の対象から除外される。したがって、第２の実施形態によれば、例えばタイムラプス撮影時に、環境光源が変化するシーンや有彩色の被写体が画角内外を移動するシーンにおいても、安定したホワイトバランス制御が可能となり、良好なタイムラプス動画の生成が可能となる。
【０１００】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１０１】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０２】
１０２  制御部、１０３  センサ部、１０５  画像処理部、１１６  ＷＢ制御部、１１７  メモリ部
【図１】
2017192027.tif 000005
【図２】
2017192027.tif 000006
【図３】
2017192027.tif 000007
【図４】
2017192027.tif 000008
【図５】
2017192027.tif 000009
【図６】
2017192027.tif 000010