(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-07
(45)【発行日】2022-12-15
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
H04N 5/235 20060101AFI20221208BHJP
【FI】
H04N5/235 700
H04N5/235 200
H04N5/235 500
H04N5/235 600
(21)【出願番号】P 2019000740
(22)【出願日】2019-01-07
【審査請求日】2022-01-06
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】小林 尊志
【審査官】▲徳▼田 賢二
(56)【参考文献】
【文献】特開2013-219708(JP,A)
【文献】特開2016-146592(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/235
(57)【特許請求の範囲】
【請求項1】
異なる露出で撮影された複数の画像データを取得する取得手段と、
前記複数の画像データのうち、フリッカノイズの検出を行う画像データを1つ選択する選択手段と、
前記選択手段が選択した画像データに対してフリッカノイズの検出処理を適用する検出手段と、
前記検出手段によってフリッカノイズが検出された場合、前記フリッカノイズを抑制するための補正値を算出する算出手段と、
前記補正値を、前記選択手段が選択した画像データと同じ種類の画像データに対して適用する補正手段と、を有し、
前記選択手段は、
前記複数の画像データ
に撮影時のシャッタースピードが所定値でない
第1の画像データ
が含まれている場合、該第1の画像データを選択
し、
前記複数の画像データの撮影時のシャッタースピードがいずれも前記所定値である場合であっても、被写体の輝度情報が予め定められた範囲に含まれる場合には、予め定められた画像データを選択し、
前記予め定められた範囲は、前記複数の画像データの1つを撮影するためのシャッタースピードが前記所定値から別の値に変更される被写体輝度に基づいて設定されていることを特徴とする、画像処理装置。
【請求項2】
前記所定値が、商用交流電源の周波数に応じた値であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記選択手段は、被写体の輝度情報と、前記撮影で用いられたプログラム線図の情報とに基づいて、前記選択を行うことを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記選択手段は、前記複数の画像データの撮影時のシャッタースピードがいずれも前記所定値である場合には、画像データを選択しないことを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
【請求項5】
前記算出手段は、前記検出手段によって検出されたフリッカノイズの最大振幅が予め定められた値未満の場合、前記補正値を算出しないことを特徴とする請求項1から
4のいずれか1項に記載の画像処理装置。
【請求項6】
前記算出手段は、前記検出手段によって検出されたフリッカノイズの最大振幅が予め定められた値未満の場合、前記補正値を、画像データに影響を与えない値とすることを特徴とする請求項1から
4のいずれか1項に記載の画像処理装置。
【請求項7】
画像処理装置が実行する画像処理方法であって、
異なる露出で撮影された複数の画像データを取得する取得工程と、
前記複数の画像データのうち、フリッカノイズの検出を行う画像データを1つ選択する選択工程と、
前記選択工程で選択された画像データに対してフリッカノイズの検出処理を適用する検出工程と、
前記検出工程によってフリッカノイズが検出された場合、前記フリッカノイズを抑制するための補正値を算出する算出工程と、
前記補正値を、前記選択工程が選択した画像データと同じ種類の画像データに対して適用する補正工程と、を有し、
前記選択工程
では、
前記複数の画像データ
に撮影時のシャッタースピードが所定値でない
第1の画像データ
が含まれている場合、該第1の画像データを選択
し、
前記複数の画像データの撮影時のシャッタースピードがいずれも前記所定値である場合であっても、被写体の輝度情報が予め定められた範囲に含まれる場合には、予め定められた画像データを選択し、
前記予め定められた範囲は、前記複数の画像データの1つを撮影するためのシャッタースピードが前記所定値から別の値に変更される被写体輝度に基づいて設定されていることを特徴とする、画像処理方法。
【請求項8】
被写体を異なる露出で撮影して得られた第1の画像データおよび第2の画像データを取得する取得手段と、
前記取得手段が取得した前記第1の画像データおよび前記第2の画像データの一方に基づいてフリッカを検出する検出手段と、
前記検出手段により検出されたフリッカを抑制するためのゲイン補正を行う補正手段と、を有し、
前記補正手段は、前記第1の画像データおよび前記第2の画像データのうち、被写体の輝度情報が第1の範囲に含まれている画像データには前記ゲイン補正を行ない、被写体の輝度情報が前記第1の範囲とは異なる第2の範囲に含まれている画像データに対しては前記ゲイン補正を行わず、
前記検出手段は、前記第1の画像データおよび前記第2の画像データの被写体の輝度情報が前記第2の範囲に含まれている場合、前記第1の画像データおよび前記第2の画像データのうち、被写体の輝度情報が前記第2の範囲と前記第1の範囲との境界により近い画像データに基づいてフリッカを検出することを特徴とする画像処理装置。
【請求項9】
画像処理装置が実行する画像処理方法であって、
被写体を異なる露出で撮影して得られた第1の画像データおよび第2の画像データを取得する取得工程と、
前記取得工程で取得された前記第1の画像データおよび前記第2の画像データの一方に基づいてフリッカを検出する検出工程と、
前記検出工程で検出されたフリッカを抑制するためのゲイン補正を行う補正工程と、を有し、
前記補正工程では、前記第1の画像データおよび前記第2の画像データのうち、被写体の輝度情報が第1の範囲に含まれている画像データには前記ゲイン補正を行ない、被写体の輝度情報が前記第1の範囲とは異なる第2の範囲に含まれている画像データに対しては前記ゲイン補正を行わず、
前記検出工程では、前記第1の画像データおよび前記第2の画像データの被写体の輝度情報が前記第2の範囲に含まれている場合、前記第1の画像データおよび前記第2の画像データのうち、被写体の輝度情報が前記第2の範囲と前記第1の範囲との境界により近い画像データに基づいてフリッカを検出することを特徴とする画像処理方法。
【請求項10】
コンピュータを、請求項1から
6、および8のいずれか1項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法に関し、特に撮影時の環境光が画像に与える影響を抑制する技術に関する。
【背景技術】
【0002】
明るさが変動する環境光(フリッカ光源)下においてCMOSイメージセンサなどの固体撮像素子を用いて撮影した画像に、環境光の明るさの変化が影響する場合がある。典型的な例として、蛍光灯下で撮影された画像の明るさや色味が変化する現象が知られている。これは、蛍光灯の明滅タイミングと撮像素子の蓄積(露光)期間との関係によって発生する。特に、ライン露光順次読み出し(ローリングシャッタ)方式で撮影する場合、ラインごとに蓄積期間が異なるため、画質への影響が大きい。
【0003】
このような、フリッカ光源による画質低下(フリッカノイズ)を抑制する方法として、光源の明滅周期の整数倍の蓄積時間とする方法が知られている。例えば商用電源周波数が50Hzである場合の光源の明滅周期(100Hz)に合わせて、蓄積時間(シャッタースピード)を1/100秒など、光源の明滅周期の整数倍に設定する方法である。また、別の方法として、画像から光源に起因する周期的な明るさの変化(以下、単にフリッカと称する)を検出(フリッカ検出)し、検出したフリッカを打ち消すように画像の明るさを補正する方法が知られている。
【0004】
ここで、例えば、ブラケット撮影やHDR画像を生成するための撮影のように、露出時間を変えながら複数回撮影する必要がある場合、フリッカノイズを抑制をできる露出時間が設定できない場合がある。また、撮影ごとに露出が変わることにより、フリッカ検出の精度が低下し、十分な補正が行えない場合がある。
【0005】
特許文献1では、露出条件の異なる画像ごとに異なるフリッカ検出器を用いる構成が提案されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
フリッカ検出器はハードウェア回路としても、プログラマブルプロセッサが実行するソフトウェアとしても実現可能である。しかし、複数のフリッカ検出器をハードウェア回路として実現する場合、ハードウェア規模(すなわち、実装面積およびコスト)が増加する。また複数のフリッカ検出器をソフトウェアとして実現する場合、プロセッサの処理負荷(すなわち、プロセッサのコストや消費電力)が増加する。
【0008】
本発明はこのような従来技術の課題を少なくとも削減することを目的とし、簡便な構成により、露出条件が異なる複数の画像についても精度良くフリッカを検出および/または抑制可能な画像処理装置および画像処理方法を提供する。
【課題を解決するための手段】
【0009】
上述の目的は、異なる露出で撮影された複数の画像データを取得する取得手段と、複数の画像データのうち、フリッカノイズの検出を行う画像データを1つ選択する選択手段と、選択手段が選択した画像データに対してフリッカノイズの検出処理を適用する検出手段と、検出手段によってフリッカノイズが検出された場合、フリッカノイズを抑制するための補正値を算出する算出手段と、補正値を、選択手段が選択した画像データと同じ種類の画像データに対して適用する補正手段と、を有し、選択手段は、複数の画像データに撮影時のシャッタースピードが所定値でない第1の画像データが含まれている場合、第1の画像データを選択し、複数の画像データの撮影時のシャッタースピードがいずれも所定値である場合であっても、被写体の輝度情報が予め定められた範囲に含まれる場合には、予め定められた画像データを選択し、予め定められた範囲は、複数の画像データの1つを撮影するためのシャッタースピードが所定値から別の値に変更される被写体輝度に基づいて設定されていることを特徴とする、画像処理装置によって達成される。
【発明の効果】
【0010】
本発明によれば、簡便な構成により、露出条件が異なる複数の画像についても精度良くフリッカを検出および/または抑制可能な画像処理装置および画像処理方法を提供することができる。
【図面の簡単な説明】
【0011】
【
図1】実施形態におけるデジタルカメラのシステム構成図
【
図2】実施形態におけるHDR映像生成モードにおける画像の画像系列の例
【
図3】実施形態におけるHDR映像生成モードの合成比率
【
図4】実施形態におけるHDR映像生成モードの露出制御仕様のBv-Tv図
【
図5】実施形態におけるフリッカ検知のフローチャート
【
図6】実施形態におけるフリッカ補正可否による被写体輝度のエリア分けの例
【
図7】実施形態におけるフリッカ処理部13の内部構成図
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本発明をその例示的な実施形態に基づいて詳細に説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定しない。また、実施形態には複数の特徴が記載されているが、その全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0013】
また、以下では、本発明に係る画像処理装置(本発明に係る画像処理方法を実施可能な装置)の一例としてのデジタルカメラ1に関して説明する。しかしながら、本発明は一般的なコンピュータ機器において実施することが可能である。このような電子機器には、撮像装置、パーソナルコンピュータ(タブレット端末を含む)、スマートフォン、ゲーム機、メディアプレーヤ、ロボット、家電製品などが含まれるが、これらに限定されない。
【0014】
図1は、実施形態にかかるデジタルカメラ1の機能構成例を示すブロック図である。なお、
図1において「部」で終わる名称を有する機能ブロックは、ハードウェア回路、プログラマブルプロセッサが実行するソフトウェア、またはその組み合わせによって実現することができる。
【0015】
レンズ群10は、フォーカスレンズや変倍レンズなどの可動レンズを含む、複数の光学レンズと、可動レンズを駆動するための機構と、絞りおよび/または減光フィルタとを含む。レンズ群10は着脱可能であってもなくてもよい。レンズ群10は被写体の光学像を撮像素子11の撮像面に形成する撮影光学系を形成する。なお、本実施形態に係るデジタルカメラ1はレンズ群10が一体的に設けられた構成について説明したが、例えば、レンズ群10を備えたレンズユニットをデジタルカメラ1に対して着脱可能な構成であってもよい。
【0016】
撮像素子11は、2次元配置された複数の画素を有する。各画素は1つ以上の光電変換素子を有し、入射光量に応じた電気信号を生成する。なお本実施形態において撮像素子11はライン露光順次読み出し(ローリングシャッタ)方式の撮像素子であるものとする。また、撮像素子11はA/D変換回路を有し、各画素が生成した電気信号がデジタル値(画像データ)として読み出される。撮像素子11から読み出された画像データは、信号処理部12に供給される。
【0017】
信号処理部12は画像データに対して予め定められた信号処理を適用し、信号処理を適用した画像データをフリッカ処理部13に出力する。また、信号処理部12は、画像データに信号処理を適用して得られた情報を制御部20に出力する。ここで、信号処理部12が適用する信号処理には、色補間処理、補正処理、検出処理、評価値算出処理などが含まれる。色補間処理は、画素から読み出した画像データに含まれていない色成分の値を補間する処理であり、デモザイク処理とも呼ばれる。補正処理には、画像の輝度を補正する処理、レンズ群10の光学収差を補正する処理、色を補正する処理などが含まれる。検出処理には、特徴領域(たとえば顔領域や人体領域)の検出および追尾処理、人物の認識処理などが含まれる。評価値算出処理は、制御部20が行う自動露出制御処理や自動焦点検出処理に用いる評価値の算出処理である。例えば、後述する被写体の輝度情報(被写体輝度値)は、自動露出制御用の評価値として算出することができる。なお、これらは単なる例示であり、信号処理部12が適用する信号処理を限定するものではない。
【0018】
フリッカ処理部13は、画像データから光源の明るさの変動(フリッカノイズまたはフリッカ成分)を検出し、画像データにフリッカノイズを打ち消す補正を適用して画像合成部14に出力する。フリッカ処理部13の構成および動作の詳細については後述する。なお、ブラケット撮影時のように画像合成が必要ない場合、フリッカ処理部13は画像データを記録処理部15に出力してもよいし、画像合成部14が入力された画像データをそのまま記録処理部15に出力するようにしてもよい。
【0019】
画像合成部14はHDR画像の生成に用いる複数フレーム分の画像データから、1フレームのHDR画像のデータを生成し、記録処理部15に出力する。画像合成部14は、画像データ間の露出差に応じた非線形な階調変換処理を適用して各フレームの画像データの輝度を調整する。その後、画像合成部14は、各フレームの画像データについて、対応する画素位置のデータの輝度値に基づいて画素位置ごとに決定した合成比率に基づいて各フレームの画像データを合成する。なお、合成する複数フレーム分の画像データは、画像合成部14内のメモリに格納することができる。
【0020】
あるいは、合成する複数フレーム分の画像データは、制御部20を通じてメモリ22に格納してもよい。この場合、フリッカ処理部13から画像データを制御部20に出力し、制御部20が画像データをメモリ22に格納する。そして、画像合成部14はメモリ22に格納された画像データを参照して合成比率の決定および合成画像の生成を実行する。なお、合成画像の生成はデジタルカメラ1の内部で実行する構成ではなく、デジタルカメラ1に接続された外部機器で実行する構成であってもよい。
【0021】
記録処理部15では、フリッカ処理部13または画像合成部14から供給される画像データから予め定められた記録形式に応じた記録用の画像データと付随情報とを生成する。そして、記録処理部15は、画像データおよび付随情報を含んだ画像データファイルを記録媒体16に記録する。記録処理部15は、記録用の画像データを生成する際、符号化処理を適用することができる。記録媒体16は例えば半導体メモリカードである。
【0022】
制御部20はプログラマブルプロセッサを有し、不揮発性の記憶媒体に記憶されたプログラムをメモリに読み込んで実行することにより、各部の動作を制御し、デジタルカメラ1の各種機能を実現する。なお、不揮発性の記録媒体およびプログラムを読み込むメモリは、制御部20が有してもよいし、メモリ22の一部であってもよい。
【0023】
制御部20は信号処理部12が算出する評価値に基づいて自動露出制御処理や自動焦点検出処理を実行する。制御部20は自動露出制御処理によって撮影条件(絞り値および/または使用するNDフィルタ、シャッタースピード(電荷蓄積時間)、撮影感度)を決定し、露出制御部17を通じて絞りやNDフィルタを制御する。また、制御部20は自動焦点検出処理によってフォーカス制御部18を通じてフォーカスレンズを駆動し、レンズ群10の合焦距離を調整する。なお、本実施形態では、APEX(ADDITIVE SYSTEM OF PHOTOGRAPHIC EXPOSURE)単位における1Evを露出(露出量)の1段分とする。
【0024】
制御部20はまた、デジタルカメラ1に設けられた入力デバイスの総称である操作部21を監視し、操作部21の操作が検出されると、検出された操作に応じた動作を実行する。制御部20は例えば操作部21に含まれるズームレバーの操作を検出すると、ズームレバーの操作に応じた方向および量、ズーム制御部19を通じて変倍レンズを移動させ、レンズ群10の焦点距離を変更する。
【0025】
以下、露出を変えながら複数回撮影を行う動作の一例として、HDR画像生成モードにおける動作について説明する。HDR画像生成モードは、露出条件を変えながら撮影した複数フレームの画像データから1フレームのHDR画像フレームを生成するモードである。具体的に、複数のフレームの画像データを合成して1つのHDR画像フレームを生成する。ここでは、HDR画像フレームからなるHDR動画を生成して記録するものとするが、静止画撮影であってもよい。
【0026】
また、本実施形態ではHDR画像フレームを生成するための複数の露出条件として、自動露出制御処理で決定される適正露出と、適正露出よりも露出量が少ないアンダー露出の2つを交互に用いるものとする。しかし、適正露出と適正露出よりも露出量が多いオーバー露出の2種類を用いたり、適正露出、アンダー露出、オーバー露出の3種類を用いたりしてもよい。
【0027】
図2(a)は、HDR画像生成モードにおける各フレームの露出状態と、撮像素子11のラインごとの電荷蓄積(露光)期間のタイミングとの関係を示している。
図2(a)では、アンダー露出の露出量を、適正露出よりも撮影感度を下げた撮影条件によって実現する場合を示している。一方、被写体が明るい場合など、撮影感度を下げることができない場合には、
図2(b)に示すように、適正露出よりも露光時間を短くしてアンダー露出の露出量を実現する。なお、絞りを変更すると被写界深度が変化するため、絞りは原則として変化させない。なお、
図2において、VDは垂直駆動信号(または垂直同期信号)を示す。
【0028】
画像合成部14は、2種類の露出条件を用いた撮影で得られる2フレーム分の画像データに対して例えば非線形変換を適用し、同じ露出状態にしてから合成処理を実行する。HDR画像を生成するための合成方法に特に制限はなく、公知の方法を用いることができる。例えば、対応する画素位置の画像データの値に応じて画素ごとに
図3に示す関係にしたがって合成比率を決定し、決定した合成比率で画像データを合成する方法を用いることができる。
【0029】
図3に示した合成比率は、合成後の画像で輝度の低い画素については適正露出の画像データの合成比率が高く、合成後の画像で輝度の高い画素についてはアンダー露出の画像データの合成比率が高い。このように合成比率を決定すると、高輝度部分については飽和を防ぎつつ、低輝度部分についてはS/NがよいHDR画像が得られる。なお、
図3に示した合成比率は単なる一例であり、他の方法で合成比率を決定してもよい。
【0030】
図4は、HDR画像生成モードで用いる、フリッカノイズ除去を優先した露出制御に係るプログラム線図の例を示している。ここでは、信号処理部12が取得した被写体輝度値(Bv値)に応じたシャッタースピード(蓄積時間)(Tv値)の変化を示すプログラム線図であって、適正露出用とアンダー露出用の2つのプログラム線図を示している。なお、
図4において横軸で示すBv値は図中の右側に進むほど高輝度を示し、
図4において縦軸で示すTv値は、図中の上側に進むほどシャッタスピードは高く(高速に)なる。
【0031】
図4の例では、適正露出用のプログラム線図では、Bv値が最小の場合はシャッタースピードがTv1であり、Bv値がBv1まで上がるとシャッタースピードがTv2に変更される。その後、Bv値がBv2になるまではシャッタースピードをTv2に維持する(Bv値が上がるにつれて絞り値(Av値)を大きくしたり、撮影感度(Sv値)を低下させる)。Bv値がBv3以上の範囲ではシャッタースピードをTv2に維持できなくなるため、シャッタースピードをTv2より高い(速い)値とする。
【0032】
図4のプログラム線図は、シャッタースピードTv2をできるだけ維持することを優先したプログラム線図の一例である。フリッカ処理部13で検出されたフリッカノイズの周波数に応じて、フリッカノイズを抑制できるシャッタースピードをTv2に設定することで、フリッカノイズの除去を優先したプログラム線図として機能する。
【0033】
たとえば商用交流電源の周波数が60Hzの場合、フリッカ処理部13では120Hzの明滅周波数を有するフリッカノイズが検出される。この場合、Tv2を1/120秒(もしくはその近傍)に設定することにより、適正露出の撮影では被写体輝度Bv1からBv3の範囲でフリッカノイズを抑制できる。同様に、商用交流電源の周波数が50Hzの場合、フリッカ処理部13では100Hzの明滅周波数を有するフリッカノイズが検出される。この場合、Tv2を1/100秒(もしくはその近傍)に設定すればよい。
【0034】
一方、アンダー露出用のプログラム線図は、適正露出用のプログラム線図を矢印で示す方向に所定量ずらしたものに相当する。したがって、適正露出量のプログラム線図と、アンダー露出用のプログラム線図とは低輝度部分(<Bv1)と高輝度部分(>Bv2)とでシャッタースピードが異なっている。なお、
図4に示したプログラム線図は単なる一例であり、シャッタースピードの数が多かったり、絞りや感度による制御を行わなかったりするプログラム線図が用いられてもよい。
【0035】
フリッカ処理部13でフリッカノイズが検出された場合、その明滅周波数に応じてTv2を設定することにより、Tv2で撮影可能な被写体輝度の範囲についてはフリッカノイズを抑制することができる。しかし、適正露出撮影時において被写体輝度がBv1未満の場合およびBv3以上の場合と、アンダー露出撮影時における被写体輝度Bv2以上の場合には、シャッタースピードをTv2に設定できない。この場合、後述するように、撮影された画像に含まれるフリッカノイズを画像処理によって抑制する必要がある。
【0036】
フリッカノイズの検知に基づく露出制御動作について、
図5に示すフローチャートを用いて説明する。この処理は例えばHDR画像生成モードが設定されていたり、フリッカ軽減設定がされていたりする場合であって、例えば撮影スタンバイ時に実行するEVF表示用の動画撮影を利用して実施することができる。しかし、他のタイミングで実行されてもよい。
【0037】
まずS301で制御部20は、フリッカノイズを検知するために、露出制御に用いるプログラム線図を、フリッカノイズ検出用のプログラム線図にする。このプログラム線図は、想定されるフリッカノイズの周波数(例えば100Hzや120Hz)よりも速いシャッタースピード(例えば1/250秒以下)をできるだけ使用するようなプログラム線図であってよい。
【0038】
撮影されたフレーム画像のデータは、上述した処理を経て信号処理部12からフリッカ処理部13に供給される。フリッカ処理部13は、供給される画像データにフリッカノイズの検出処理(詳細は後述)を適用する。フリッカ処理部13は、フリッカノイズが検出された場合、検出されたことを、検出されたフリッカノイズの周波数とともに制御部20に通知する。
【0039】
S302で制御部20は、フリッカ処理部13から、フリッカノイズが検出されたとの通知があれば処理をS303に進める。一方、フリッカノイズが検出されたとの通知がなければ、制御部20は特に何もしない(フリッカノイズ検出用のプログラム線図を用いた動画撮影を継続する)。
【0040】
S303で制御部20は、露出制御に用いるプログラム線図を、検出されたフリッカノイズが抑制できるシャッタースピードをできるだけ維持するプログラム線図(フリッカノイズ除去用プログラム線図)に切り替える。また、HDR画像生成モードで用いる
図4のプログラム線図におけるTv2の値を、検出されたフリッカノイズが抑制できるシャッタースピードに設定する。
【0041】
このように、制御部20は、検出されたフリッカノイズの周波数に基づいて、プログラム線図の特性を変更したり、プログラム線図におけるシャッタースピードの値(Tv値)を設定(変更)したりすることができる。これにより、フリッカノイズを低減する露出条件で撮影することを可能にする。
【0042】
図7は、フリッカ処理部13の機能構成例を示すブロック図である。フリッカノイズ検出部130は、画像データからフリッカノイズを検出する。画像選択部131は、露出条件の異なる複数フレームの画像データの中から、フリッカノイズ検出部130がフリッカノイズを検出する画像データを決定する。補正値算出部132は、検出されたフリッカノイズを抑制するための補正値を算出(決定)する。フリッカノイズ補正部133は、補正値算出部132が算出した補正値を画像データに適用して記録処理部15に出力する。フリッカ処理部13における、フリッカノイズの検出、フリッカノイズを抑制するための補正値の算出、補正値の適用は画像処理によるフリッカノイズの抑制に相当する。
【0043】
フリッカノイズ検出部130の動作の詳細について説明する。画像データからフリッカノイズを検出には、まず、経時変化しない成分(定常成分)を特定する必要がある。定常成分は例えば以下の式1に従って特定することができる。
mem = ave × k + mout × (1-k) (式1)
ここで、memは定常成分の値であり、aveは入力される画像データの各行の色成分の信号値であり、kは巡回型ローパスフィルタのフィルタ係数であり、moutは1フレームの前の画像データについて得られたmemの値である。式1の演算を入力画像データの各ラインに対して実行することにより、時間方向の定常成分を特定することができる。
【0044】
そして、入力される画像データの各ラインの信号値を、特定した定常成分で除算することにより、フリッカノイズ(画像データに含まれる時間方向の変動成分)を検出することができる。ラインごとに検出されたフリッカノイズ成分から、ラインに直交する方向(垂直方向)における経時的な信号レベルの変動特性のモデル(フリッカモデル)を生成することができる。
【0045】
フリッカモデルは、例えば垂直方向にある特定の振幅w、周波数f、位相θを持つ周期的な関数として近似することができる。光源を駆動する交流電源の電圧変動が三角関数の特徴を持つため、正弦波(または余弦波)を用いてフリッカモデルを近似するのが一般的であるが、他の周期的な理想関数を用いてもよい。
【0046】
フリッカモデルを近似する関数の周波数fは、撮影フレームレートと環境光を駆動する電源周波数により決定することができる。また、位相θは検出されたフリッカノイズのうち、特定のライン(例えば変動比が1で、垂直方向に変動比の変化量で1をとるライン)を位相θ=0として各行の位相を算出することができる。また振幅wは算出された位相θがπ/2および3π/2に相当するラインの変動比から算出することができる。入力画像データに基づいて生成されたフリッカモデルは入力画像データに含まれるフリッカノイズを表す。
【0047】
補正値算出部132は、このようにして生成されたフリッカモデルに基づいて、ラインごとの補正値(補正ゲイン)を算出(決定)する。ライン露光順次読み出し(ローリングシャッタ)方式の撮像素子では、ライン(画素行)ごとに露光期間が異なるため、フリッカノイズのレベルはラインごとに異なる。そのため、補正値算出部132は、補正値をラインごとに算出する。なお、撮像素子11が複数ラインを同時に読み出し可能な構成の場合には、補正値の算出を、蓄積期間が同じ複数のラインごとに実行すればよい。
【0048】
補正値は、ラインごとの明るさの変化を打ち消し、各ラインの明るさを揃えるための係数である。フリッカモデルを正弦波や余弦波を用いた関数で近似している場合、対象ラインの位相をπずらした位相に対応する関数値を補正係数として算出することができる。また、検出されたフリッカ成分が1倍を中心に正規化されていれば検出フリッカ成分の逆数を補正係数としてもよい。なお、撮像素子11にカラーフィルタが設けられている場合、各ラインについて同色のカラーフィルタが設けられた画素群ごとに補正値を算出することができる。
【0049】
フリッカノイズ補正部133は、補正値算出部132が算出した補正値を画像データに適用することにより、画像データに含まれるフリッカノイズを補正する。なお、フリッカノイズ補正部133は、補正値が対象とする単位に応じて、1ライン中の画像データ全てに同一の補正値を適用したり、1ライン中の画像データのうち、同色のカラーフィルタが設けられた画素に対応する画素データごとに補正値を適用したりする。
【0050】
次に、画像選択部131について説明する。
図4に関して説明したように、HDR画像生成モードで用いるプログラム線図では、アンダー画像と適正画像とが異なるシャッタースピードで撮影される被写体輝度の領域が存在する。被写体輝度がこの領域に該当する場合、一方の画像にだけフリッカノイズが含まれる(あるいは、画像間におけるフリッカノイズのレベル差が大きくなる)。
【0051】
また、シャッタースピードが高速になると、画像データに含まれるフリッカノイズのレベルとフリッカモデルに基づくレベルとの差が大きくなることがある。これは、光源として用いられている物質の発光量が、入力電圧の変化に対して応答特性を有するためである。例えば、入力電圧が減少する場合と増加する場合とで電圧-発光量の特性が異なったり、特定の電圧(例えば0[v])付近だけ他の部分と異なる電圧-発光量の特性を有したりする。このような光源については、実際のフリッカノイズを関数で近似することが容易でない。さらに、シャッタースピードが高速になると、光源の明滅周期のごく一部の期間に露光されるため、フリッカモデルと実際のフリッカノイズとの誤差が大きくなりやすい。この場合、フリッカノイズの補正精度が低下する。したがって、本実施形態では、画像処理によるフリッカノイズの補正は、フリッカモデルと実際のフリッカノイズとの誤差が大きくない範囲のシャッタースピードで撮影された画像データにとどめる。換言すれば、画像処理によるフリッカノイズの抑制は、所定のシャッタースピードを上限として実行する。
【0052】
図6は、
図4のプログラム線図における被写体輝度の範囲を、画像処理によるフリッカノイズの補正の適用制御に着目して複数のエリアに分類したものである。
エリア1においては、アンダー露出で撮影した画像(アンダー画像)はシャッタースピードTv2で撮影することで、フリッカノイズを抑制できる。一方、適正露出で撮影した画像(適正画像)ではシャッタースピードがTv2でないためフリッカノイズが含まれる。この場合、適正画像については画像処理によるフリッカノイズの抑制を実施する。
【0053】
エリア2についてはアンダー画像、適正画像ともに撮影条件によってフリッカノイズが抑制できるため、画像処理によるフリッカノイズの抑制は不要である。
【0054】
エリア3、4については、適正画像では撮影条件によってフリッカノイズが抑制できるが、アンダー画像にはフリッカノイズが含まれる。エリア3、4では、アンダー画像の撮影時のシャッタースピードがTv2より速くなるが、エリア3については画像処理によるフリッカノイズの抑制効果が十分得られるため、アンダー画像に対して画像処理によるフリッカノイズの抑制を実施する。一方、エリア4については撮影時のシャッタースピードがTv3以上となり、画像処理によるフリッカノイズの抑制効果が不十分となるため、アンダー画像に対して画像処理によるフリッカノイズの抑制は実施しない。
【0055】
エリア5については、アンダー画像、適正画像ともにフリッカノイズが含まれる。アンダー画像については撮影時のシャッタースピードがTv3を超えているため、画像処理によるフリッカノイズの抑制は実施しない。一方、適正画像についてはシャッタースピードがTv3を超えないため、画像処理によるフリッカノイズの抑制を実施する。
【0056】
エリア6については、アンダー画像、適正画像ともにフリッカノイズが含まれる。しかし、アンダー画像、適正画像とも撮影時のシャッタースピードがTv3を超えているため、画像処理によるフリッカノイズの抑制は実施しない。
【0057】
画像選択部131は、このような、画像処理によるフリッカノイズの抑制の適用制御を実現するために設けられている。つまり、画像選択部131は、被写体輝度に応じて、撮影時のシャッタースピードが所定値(Tv2)でない種類の画像データを画像処理によるフリッカノイズの抑制対象として選択し、フリッカノイズ検出部130に通知する。そして、フリッカノイズ検出部130は、通知された抑制対象の画像データについて、フリッカノイズの検出を行う。なお、フリッカ処理部13に入力されている画像データがアンダー画像のデータであるか、適正画像のデータであるかは、フリッカノイズ検出部130が入力タイミングによって判別してもよいし、制御部20からフリッカノイズ検出部130に通知してもよい。また、補正値算出部132はフリッカノイズが検出された種類の画像データに対する補正値を算出する。そして、フリッカノイズ補正部133は、補正値が算出された種類の画像データに対して補正値を適用する。
【0058】
具体的には、画像選択部131には、信号処理部12が算出した被写体輝度が、直接もしくは制御部20を通じて供給される。また、画像選択部131には、使用されるプログラム線図の種類ごとに、被写体輝度と、選択する画像の種類とが関連づけられた情報が予め記憶されている。そして、制御部20から画像選択部131に対し、プログラム線図を指定する情報が与えられる。画像選択部131は、指定されたプログラム線図と被写体輝度とから、選択する画像の種類を決定し、フリッカノイズ検出部130に通知する。
【0059】
画像選択部131は、上述したエリア1~6のそれぞれについて、画像処理によるフリッカノイズの抑制を行う画像データの種類をフリッカノイズ検出部130に通知すればよい。そのため、被写体輝度がエリア2に該当する場合には、いずれの画像データもフリッカノイズ検出部130に通知する必要はない。
【0060】
しかし、フリッカノイズの検出には式1に関して説明したように過去の情報が必要である。したがって、補正値は算出する必要がなくても、フリッカノイズを安定して検出するために、フリッカノイズ検出部130にはフリッカノイズの検出処理を実行させておいた方がよい。
【0061】
例えば、被写体輝度がエリア2からエリア1に変化した場合には、適正画像について補正値の算出を開始する必要がある。また、被写体輝度がエリア2からエリア3に変化した場合には、アンダー画像について補正値の算出を開始する必要がある。被写体輝度がエリア2からエリア1になってからフリッカノイズの検出を開始すると、定常成分が安定して検出されるまでに時間がかかる。そのため、被写体輝度がエリア1との境界から予め定められた範囲に該当する場合、被写体輝度がエリア2に該当していても適正画像を選択するようにして、フリッカノイズの検出処理を適正画像のデータに対して適用させるようにすることができる。同様に、被写体輝度がエリア3との境界から予め定められた範囲に該当する場合、被写体輝度がエリア2に該当していてもアンダー画像を選択するようにすることができる。また、被写体輝度がエリア5との境界から予め定められた範囲に該当する場合、被写体輝度がエリア4に該当していても適正画像を選択するようにすることができる。
【0062】
さらに、被写体輝度がエリア3との境界から予め定められた範囲に該当する場合、被写体輝度がエリア4に該当していてもアンダー画像を選択するようにすることができる。また、被写体輝度がエリア5との境界から予め定められた範囲に該当する場合、被写体輝度がエリア6に該当していても適正画像を選択するようにすることができる。
【0063】
このような、定常成分の検出のための制御を行う場合、補正値算出部132は、フリッカノイズ検出部130が検出したフリッカノイズ(フリッカモデル)の最大振幅が予め定められた値未満である画像データに対しては補正値の算出を行わない。あるいは、補正値算出部132は、画像データに影響を与えない補正値を算出してもよい。
【0064】
図4(
図6)に示したプログラム線図と、
図6に示したエリアごとの制御によれば、フリッカノイズ検出部130は被写体輝度によらず、アンダー画像もしくは適正画像の一方だけについてフリッカノイズ検出処理を適用すればよい。したがって、フリッカノイズ検出部130や補正値算出部132を複数設ける必要がなく、これらの処理部を複数設ける構成よりも回路規模、部品コスト、処理コストにおいて有利である。
【0065】
なお、本実施形態で説明したプログラム線図では、HDR画像データの生成に用いる適正画像とアンダー画像の何れか一方のフリッカノイズ用の補正値を算出する構成について説明したが、本発明はこのような構成に限定されない。例えば、
図4とは異なるプログラム線図に基づいてアンダー画像と適正画像の両方に生じたフリッカノイズを補正する構成であってもよい。この場合、フリッカノイズ検出部130が検出したフリッカモデルに対して、アンダー画像と適正画像とのそれぞれについて、適正な補正値を予めメモリ22に格納しておき、この補正値を各画像のデータに適用すればよい。例えば、アンダー画像と適正画像の露出差がTv値の違いで実現されるとする。画像データに生じるフリッカノイズの影響の度合いはTv値に応じて異なるため、Tv値に応じた補正値を予めメモリ22に、例えばTv値と補正値とを対応付けて(例えばテーブル形式で)記憶しておけばよい。この場合、補正値算出部132は適正画像用とアンダー画像用にそれぞれ別個の回路を備えてもよい。
【0066】
なお、上述した動作のうち、露出制御を含む撮影動作については発明に必須ではない。例えば、記録媒体16に記録された、アンダー画像と適正画像のデータを読み出して、信号処理部12に供給する構成の画像処理装置であっても本発明は実施できる。なお、撮影時に用いられたプログラム線図に関する情報や、画像の種類(アンダー画像か適正画像か)は、例えば画像データのヘッダ情報などに含めて記録しておけばよい。
【0067】
以上説明したように、本実施形態によれば、異なる露出で撮影された複数の画像データについて、被写体輝度に応じてフリッカノイズの検出を行う画像データを1つ選択するようにした。そのため、簡便な構成でフリッカノイズの検出および補正が可能となる。
【0068】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0069】
本発明は上述した実施形態の内容に制限されず、発明の精神および範囲から離脱することなく様々な変更及び変形が可能である。したがって、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0070】
10…レンズ群、11…撮像素子、12…信号処理部、13…フリッカ処理部、20…制御部、21…操作部、130…フリッカノイズ検出部、131…画像選択部、132…補正値算出部、133…フリッカ補正部