(57)【要約】      （修正有）【課題】色成分毎にピークがずれているような光源に対応する、適切なフリッカー補正を行う撮像装置を提供する。【解決手段】ベイヤー配列のＲＧＢ画素配置した撮像素子において、ＲＧ／ＢＧの行又は列の制御線毎に独立して制御可能とし、ＲＧ／ＢＧの制御線毎にフリッカの位相を検出し、検出したフリッカの位相に応じて制御線毎に蓄積タイミング設定の補正を行うことにより、フリッカー除去時のＲＧＢ色ずれを補正する。【選択図】図１４
2016092786.tif 000002
【特許請求の範囲】
【請求項１】
ＲＧＢ画素をベイヤー配列とした撮像素子（１０３）と、
ＲＧ／ＧＢの行または列毎に制御可能とする制御線（５０８）と、
前記制御線毎のフリッカーを検出するフリッカー検出手段（１１２）と、
前記撮像素子に対して、前記制御線毎に蓄積タイミングの設定を独立して制御可能な蓄積タイミング設定手段（１１２）と、
前記蓄積タイミング設定手段により、前記制御線毎に、それぞれの蓄積タイミング設定の補正を行う蓄積タイミング補正手段（１１２）と、
を有することを特徴とする撮像装置。
【請求項２】
フリッカー検出時には、ＲＧ／ＧＢの行または列の蓄積タイミングは同一とし、露光時のみＲＧ／ＧＢの行または列のタイミングを異ならせることを特徴とする請求項１に記載の撮像装置。
【請求項３】
Ｇ画素群が、Ｒ画素群、Ｂ画素群に対して、ずれの真ん中にあるか否かに応じて、ＲＧ／ＧＢの行または列の画素群毎に行うか、一括で行うかのモードを切り替えることが可能であることを特徴とする請求項１に記載の撮像装置。
【請求項４】
ＲＧ／ＧＢの行または列の位相が、所定以上ずれているか否かに応じて、ＲＧ／ＧＢの行または列の画素群毎に行うか、一括で行うかのモードを切り替えることが可能であることを特徴とする請求項１に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラに代表される撮像装置に関し、特に蛍光灯下などの人工光源下で発生するフリッカーを検出し、フリッカーによる明暗の変化が少ない光量のピークタイミングで露光をする方法に関する。
【背景技術】
【０００２】
近年のデジタルカメラの撮像素子の高感度化に伴い、室内のような比較的暗い環境下においても高速シャッターでブレのない写真を撮影できるようになってきている。また、室内光源として普及している蛍光灯は電源周波数の影響により、周期的に照明光がゆらぐフリッカー現象が起きる。このようなフリッカー光源下での高速シャッター撮影では、フリッカーの影響により、フレーム毎に画像の露出や色温度のバラツキが発生したり、１フレーム内での露出ムラや色ムラが発生したりしてしまうことがある。
【０００３】
このような問題に対して、フリッカーの周期と位相を検出して、明暗の変化が少ないフリッカーの光量のピークタイミングに合わせて露光できるようにシャッター開始同期信号を生成し、露光を行うフリッカー除去システムが考えられている。（特許文献１）
また、フリッカーを検出し、高速シャッターパルスの位相を変化させてピークの位置で常に撮影を行う技術が、特許文献２により、開示されている。
【０００４】
また、複数の色成分ごとの発光周期を示すタイミングに基づいて、蓄積制御を開始させる（特許文献３）ものや、フィールドごとに露光開始タイミングを変えてフリッカー検出・補正を行うもの（特許文献４）が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１９３９２２号公報
【特許文献２】特開平６−２０９４２７号公報
【特許文献３】特開２０１０−１９９９３０号公報
【特許文献４】特開２０１３−５１５９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方、位相を検出してシャッタータイミングを検出するような方式においても、色成分ごとにピークがずれるような光源下においては、色ムラを発生してしまうという問題がある。図１２は、このような光源の出力について示したものであり、Ｂ，Ｇ，Ｒの順にピークとなる位置がずれていることを示している。
【０００７】
本発明の目的は、このようなピークがずれているような光源に対応するものであり、フリッカーの色毎の位相を検出して、 色毎の露光タイミングを制御することにより、色毎の誤差分を補正し、適切なフリッカー補正を行うことが可能な撮像装置をすることにある。
【０００８】
ＲＧＢ画素群毎にタイミング制御を行うに際して、Ｒ画素・Ｇ画素・Ｂ画素のストライプ配列の場合で、各画素群毎にタイミングをずらすことは、すでに考えられているが、制御線の引き回しのことを考慮すると、同様のことをベイヤー配列の画素並びで実現しようとすることは、困難であった。そのため、ＲＧ行の画素群とＧＢ行の画素群とで、露光タイミングを異ならせることで、ベイヤー配列の画素並びでも、比較的容易に実施するようにしたものである。
【０００９】
図１５は従来におけるフリッカー検出の様子を示したものである。フリッカー検出に際して、ピーク位置を判定し、それに合わせて露光出来るように、開始タイミング位置を決定している。図１６は本発明におけるフリッカー検出の様子を示したものである。フリッカー検出期間において、ＲＧ行とＧＢ行とで別々にピーク位置を検出し、それぞれのピーク位置に合わせて、開始タイミングを決定し、露光を行うようにしているものである。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明の撮像装置は、ＲＧＢ画素をベイヤー配列とした撮像素子と、ＲＧ／ＧＢの行または列毎に制御可能とする２種類の制御線と、前記制御線毎のフリッカーを検出するフリッカー検出手段と、前記撮像素子に対して、前記制御線毎に蓄積タイミングの設定を独立して制御可能な蓄積タイミング設定手段と、前記蓄積タイミング設定手段により、前記制御線毎に、それぞれの蓄積タイミング設定の補正を行う蓄積タイミング補正手段、とを有することを特徴とする。
【発明の効果】
【００１１】
本発明の撮像装置によれば、色成分毎にピークがずれるような光源下でのフリッカー補正において、最適タイミング決定を２種類の独立配線（ＲＧ／ＢＧ）でのストライプ毎に行うことにより、ベイヤー配列のＲＧＢ画素配置においても、色による誤差分を補正し、適切なフリッカー補正を行うようにする効果がある。
【図面の簡単な説明】
【００１２】
【図１】本発明のシャッタースピードの違いによるフリッカー同期信号とシャッター開始信号のタイミングを説明する図
【図２】本発明のカメラシステム構成図
【図３】フリッカー検出処理のフローチャートの一例を示す図
【図４】本発明のフリッカー検出のための蓄積・読み出し方法を説明する図
【図５】各垂直画素加算数における読み出し時間の例
【図６】フリッカーのピークタイミングを算出する方法の一例を説明する図
【図７】各シャッタースピードにおけるフリッカー同期信号からシャッター開始信号までのウェイト時間テーブルの例
【図８】本発明の一連のシーケンスを説明するための図
【図９】フリッカーがある場合とない場合の連写駒間測光のシーケンス図
【図１０】連写駒間時のフリッカー検出でフリッカーのピークタイミングを算出する方法の一例を説明する図（フリッカー周期が１００Ｈｚ）
【図１１】連写駒間時のフリッカー検出でフリッカーのピークタイミングを算出する方法の一例を説明する図（フリッカー周期が１２０Ｈｚ）
【図１２】ＲＧＢ画素でピーク位置がずれている光源について示した図
【図１３】ＲＧ行・ＧＢ行の画素群毎に処理を行うことを示したフローチャート
【図１４】本発明のカメラシステムブロック図
【図１５】従来のフリッカー検出と露光タイミングについて示した図
【図１６】本発明におけるフリッカー検出と露光タイミングについて示した図
【図１７】他の実施の形態におけるフローチャートの一例を示す図
【図１８】他の実施の形態におけるフローチャートの一例を示す図
【図１９】固体撮像素子の画素部の等価回路図
【図２０】固体撮像素子の画素部の等価回路図
【図２１】図１９に対応した撮像素子の駆動方法を概略的に示す図
【図２２】図２０に対応した撮像素子の駆動方法を概略的に示す図
【図２３】ＲＧＢ画素と、ＲＧ行・ＧＢ行でのずれ量についての対応を示した図
【図２４】Ｇがずれの中心ではない場合の例について示した図
【発明を実施するための形態】
【００１３】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
【００１４】
［実施例１］
以下、本発明の実施例について説明する。図２は本発明の実施例にかかわるカメラシステムの構成を示す図である。１００はカメラ本体を、２００はレンズを示している。まず、カメラ本体１００とレンズ２００内の構成について説明する。
【００１５】
１０１はカメラ１００の各部を制御するマイクロコンピュータＣＰＵ（以下、カメラマイコン）である。１０２はカメラマイコン１０１に接続されているRAMやROM等のメモリである。１０３は赤外カットフィルタやローパスフィルタ等を含むＣＣＤ，ＣＭＯＳ等の撮像素子であり、レンズ２００によって撮影時に被写体の像が結像される。１０４はシャッターで非撮影時には撮像素子１０３を遮光し、撮影時には開いて撮像素子１０３へ光線を導く。１０５はハーフミラーで非撮影時にレンズ２００より入射する光の一部を反射し１０６のピント板に結像させる。
【００１６】
１０７はＰＮ液晶等のＡＦ測距枠を表示するための表示素子であり、光学ファインダーを覗いたときにどの位置でＡＦしているか等をユーザーに示す。１０８は測光センサで、ＣＣＤ、ＣＭＯＳ等の撮像素子を使用することにより測光だけでなく顔検出や追尾、フリッカー検出を行う。本実施例ではフリッカーを検出する手段として、測光センサを例に挙げているが、本画像の撮像素子１０３をフリッカー検出手段としても良い。
【００１７】
１０９はペンタプリズムで、ピント板１０６の被写体像を測光センサ１０８及び光学ファインダーに導く。測光センサはペンタプリズムを介してピント板１０６に結像された被写体像を斜めの位置から見込んでいる。１１０は焦点検出回路で、１１１のＡＦミラーで、レンズより入射し、ハーフミラー１０５を通過した光線の一部を焦点検出回路内のＡＦセンサに導き測距を行っている。１１２は測光センサ１０８の駆動制御や画像処理・演算用のCPU（以下ICPUと呼ぶ）で、ここで顔検出の演算や追尾の演算、測光演算、フリッカー検出演算などを行う。１１３はICPU１１２に接続されているRAMやROM等のメモリである。
【００１８】
今回は、１１２のように測光センサ専用のＣＰＵを用意したが、１０１のカメラマイコン等で処理を行っても良い。２０１はレンズ内のCPU（以下LPUと呼ぶ）で、被写体との距離情報等をカメラマイコンに送る。以上で図２の本発明の実施例にかかわるカメラシステムの構成図の説明を終わる。
【００１９】
図１４は本発明のブロック図である。103はセンサであり、ここでは、ＲＧＢ画素が、ベイヤー配列されているものを示している。これは、Ｒ画素Ｇ画素Ｂ画素を周期的に配置しているため再現性にすぐれているという利点がある。112はコントローラとして、全体の制御を司るもので、マイクロコンピュータでの制御プログラムに基づいて処理が行われる。この中には、焦点検出部、フリッカー検出部、タイミング設定部も含まれる。503は表示制御部、504は記録制御部、505はシャッター制御部、506はレンズ制御部、507は操作部である。
【００２０】
次に図３により本発明の実施の形態であるデジタル一眼レフカメラのフローチャートについて説明する。まず、カメラの電源が投入され、動作が開始し、Ｓ１０１でシャッターボタンの半押し状態であるＳＷ１がＯＮか否かを判別し、ＯＦＦのときはこのステップを繰り返し、ＳＷ１がＯＮ押されることを待つ待機状態にある。ＳＷ１がＯＮされるとＳ１０２に進み、測光動作を行う。この測光は、仮にフリッカー光源下でおいても、フリッカーによる明暗の変化に対して測光値がばらつかないように、蓄積時間をフリッカーの周期のほぼ整数倍に設定すると良い。
【００２１】
ここで、フリッカー光源の明暗が変化する周波数は、商用電源の周波数の2倍になることから、商用電源周波数が50Hzの電源地域では周波数100Hzとなり、その発光周期は10msとなる。同様に商用電源周波数が60Hzの地域では周波数120Hz、周期8.33msとなる。この２種類の周波数に対応するために、測光センサの蓄積時間を、10msと8.33msの間の約9ms程度に設定すると、商用電源周波数が50、60Hzのどちらであろうと、ほぼフリッカーの1周期分を蓄積することになるので、フリッカーがある場合でも、安定した測光値を得ることができる。
【００２２】
カメラマイコンは、ここで得られた測光値を元に、露出条件である絞り値AV、シャッタースピードTV、ISO感度ISOを決定する。AV、TV、ISOの決定に際しては、カメラ内部に予め記憶されたプログラム線図を利用して決定する。
【００２３】
次にＳ１０３でフリッカー検出用の蓄積と読み出し動作を行う。本発明では、フリッカーを検出するために、ＳＷ１ＯＮ保持状態の測光中では図４で示すように６００ｆｐｓ、約１．６６７ｍｓ周期で蓄積・読み出しを連続して１２回行う。この６００ｆｐｓは予め予想されるフリッカー光源の周波数（１００Ｈｚと１２０Ｈｚ）の公倍数周波数となっている。ここで、測光センサを約６００ｆｐｓ（約１．６６７ｍｓ周期）程度で駆動させる方法について説明する。
【００２４】
近年の一眼レフカメラでは、撮影の直前にペンタプリズム部の測光センサで画像信号を取得し、その画像信号を処理することにより顔検出や被写体追尾を行い、さらにその画像信号を元に測光を行うシステムがある。顔検出を行う場合、少なくともＱＶＧＡ程度の画素数をもつＣＣＤやＣＭＯＳ等のリニア出力型の測光センサが必要とされる。ＱＶＧＡ以上の画素数をもつＣＣＤやＣＭＯＳの全画素を約６００ｆｐｓ以上の高速なフレームレートで読み出すためには、「駆動周波数を高くする」、「ＡＤ変換器を多数配置する」等の方法があるが回路構成が複雑になり、技術的に困難で、コストもかかる。
【００２５】
そこで、顔検出や被写体追尾を行う際は全画素数を、時間をかけて読み出し、フリッカー検出をしたいときに画素加算読み出しや間引き読み出しをすることによってフレームレートを約６００ｆｐｓ（約１．６６７ｍｓ周期）に調整することを考える。測光センサがＣＣＤの場合、一般的にＣＣＤは部分読み出しができないため、画素加算による読み出しライン数の擬似的減少によって高速駆動させると良い。例えば、画素配列がストライプ状のセンサで垂直画素加算をすることにより図５のように読み出し時間（１Ｖ時間）を短縮することができる。
【００２６】
このセンサの場合、９画素加算を行うことによりフレームレートを約６００ｆｐｓにすることができる。得られる画像としては垂直方向の画素数が１／９になったものである。
また、測光センサがＣＭＯＳの場合は、部分読み出しが比較的簡単にできるので、いわゆる間引き読み出しによって蓄積と読み出しの合計時間が約１．６６７ｍｓ周期となるように調整すると良い。
【００２７】
以上で、測光センサを約６００ｆｐｓ（約１．６６７ｍｓ周期）程度で駆動させる方法についての説明を終える。
【００２８】
Ｓ１０３でフリッカー検出用の蓄積と読み出しを終えたら、Ｓ１０４でフリッカー検出演算を行う。例えば、商用電源50Hz時のフリッカーが存在した場合の蓄積制御と出力測光値の推移を図４(a)に示す。n回目の蓄積を「蓄積n」、蓄積nの読み出しを「読み出しn」、読み出しnの結果から得られる測光値を「AE(n)」と記述する。図５(a)に記載した。各測光値の取得時間に関しては、蓄積は有限の時間で行われるため、蓄積期間中の中央値で代表させることとする。商用電源50Hz時のフリッカー発光周期は約10msであり、10÷1.667≒6であるから、図４(a)に示すように、蓄積のタイミングによらず、6回周期で同じ測光値が得られる。すなわち、AE(n)=AE(n+6)の関係となる。
【００２９】
同様に、商用電源60Hz時のフリッカーは、発光周期が約8.33msであり、8.33/1.667≒5であるため、図４(b)に示すように、5回周期で同じ測光値が得られ、AE(n)=AE(n+5)の関係となる。一方で、フリッカーがない環境下では、nによらずAE(n)は一定である。以上より、
【００３０】
【数１】
2016092786.tif 000003
【００３１】
として評価値F50、F60をそれぞれ定義し、所定の閾値F_thを用いると、
1.F50<F_th かつ F60<F_thが成り立つ場合
⇒フリッカーなし
2.F50<F_th  かつ F60≧F_thが成り立つ場合
⇒発光周期T=10ms(商用電源周波数50Hz)のフリッカー環境下
3.F50≧F_th  かつ F60<F_thが成り立つ場合
⇒発光周期T=8.33ms(商用電源周波数60Hz)のフリッカー環境下
と判定することができる。
【００３２】
また、パンニングや被写体が動いてしまったことによって、F50とF60の両方がF_thを超えてしまう場合も考えられるので、その場合はF50とF60の大きさを比較し、F50の方が小さい場合は発光周期T=10ms(商用電源周波数50Hz)のフリッカー環境下、F60の方が小さい場合は発光周期T=8.33ms(商用電源周波数60Hz)のフリッカー環境下と判定する。すなわち、
4.F50≧F_th  かつ F60≧F_thが成り立つ場合
F50≦F60 ⇒発光周期T=10ms(商用電源周波数50Hz)のフリッカー環境下
F50>F60 ⇒発光周期T=8.33ms(商用電源周波数60Hz)のフリッカー環境下
とする。
【００３３】
もしくは、この場合、フリッカー検出結果の信頼性が低いとして、フリッカー検出をやり直す動作を行っても良い。さらにステップＳ１０４では、フリッカーが存在する場合、フリッカーの位相を求める。位相の求め方としては、例えば、連続１２回の蓄積・読み出しで得られた測光値を補間し、フリッカーの光量が最も多くなるピークのタイミングを算出すれば良い。
【００３４】
図６はフリッカーのピークタイミングを算出する方法の一例を説明する図である。AE(2)~AE(11)の中で最大の出力を得た点をP2(t(m),AE(m))とし、その1つ前の測光結果の点をP1(t(m-1),AE(m-1))、1つ後の測光結果の点をP3(t(m+1),AE(m+1))とする。AE(m-1)とAE(m+1)の小さい方を取る点（図６の例ではＰ１）と点P2の2点を通る直線をＬ１=at+bとして求め、AE1とAE3の大きい方を取る点（図６の例ではＰ３）を通り、傾き−aの直線をＬ２として、Ｌ１とＬ２の交点を求めると、フリッカー用測光開始時を0msとしたときのピークタイミングt_peakと、ピーク時の測光値AE_peakを算出することができる。
【００３５】
本実施例では、フリッカー光量のピークのタイミングを算出したが、フリッカー光量のボトムのタイミングを算出しても良い。
【００３６】
次にＳ１０５で、Ｓ１０４で求めたフリッカーの周波数と位相（ピークタイミング）からフリッカー同期信号を生成する。フリッカー同期信号は、図１に示したように、フリッカーの周期毎に発生させ、フリッカーの所定のタイミングに同期した信号である。
【００３７】
図１において、フリッカー同期信号からシャッター開始信号までのウェイト時間T_ShutterWait、シャッター開始信号から実際のシャッター走行までのタイムラグT_ShutterResponse、シャッターが撮像素子の端から端まで走る時間T_Runとする。
T_ShutterWaitをシャッタースピード毎に変更することによって、フリッカーの光量変化の少ないピークのタイミングが、シャッター先幕走行開始から後幕走行終了までの時間の中心にくるようにシャッター開始信号を出すように設定する。Ｓ１０４でフリッカーの周期Ｔと位相（ピークタイミング）t_peakが判明している。
【００３８】
そこで、フリッカー同期信号の発生タイミングt_Flickerは、フリッカー用測光開始時を0msとしたとき、
t_Flicker=t_peak−T_ShutterResponse−(T_Run＋TVmax)/2+Ｔ×n
（n：自然数、TVmax：フリッカー対策をする、しないの境目のシャッタースピード）
のタイミング毎に変化するような同期信号とすると良い。
【００３９】
ところで、シャッタースピードTVが1/100より遅い場合は、フリッカーの１周期分以上を含む露光となるため、フリッカーによる露出ばらつきの影響が少なくなる。よって今回は、シャッタースピードTVが1/100より速い場合にだけフリッカー対策を講じることを考える。また、9ms前後のシャッタースピードの場合、ほぼフリッカーの1周期分を蓄積することになるので、フリッカーがある場合でも、安定した露光を得ることができる。従って今回は、シャッタースピードが8msより速い場合にフリッカー対策を講じることとする。つまりTVmax=1/125 (8ms)とする。
【００４０】
また、T_ShutterWaitは、
T_ShutterWait= (TVmax−TV)/2   (TV<1/125)
とすると、フリッカーのピークのタイミングが、シャッター先幕走行開始から後幕走行終了までの時間の中心にくるように設定できる。
【００４１】
図７のようにシャッタースピード毎にT_ShutterWaitをテーブルにしてカメラに記憶しておいても良い。そして、Ｓ１０６でユーザーからのレリーズ信号であるＳＷ２ＯＮを待つ。ＳＷ２ＯＮが押されない場合は、Ｓ１０１に戻り、Ｓ１０１からＳ１０５の一連の動作を繰り返すことで、フリッカーの周期と位相を最新のものに更新していく。このＳＷ１ＯＮ保持状態のＳ１０１からＳ１０５の一連の測光シーケンスの繰り返しは、例えば100ms周期程度で繰り返し行えば、フリッカー周波数のゆらぎが±0.4Hz程度あっても±0.4ms程度のずれにおさまるため、安定した撮像出力を得られる。
【００４２】
また、今回は、１回の通常測光につき、１回のフリッカー検出動作を繰り返すシーケンスを考えたが、Ｓ１０３、Ｓ１０４などのフリッカー検出動作は、通常測光何回かに１回としても良い。そして、ＳＷ２ＯＮされたらＳ１０７に移る。
【００４３】
Ｓ１０７では、ＳＷ２ＯＮされた後の次のフリッカー同期信号がきたら各シャッタースピードに応じたT_ShutterWaitだけ待ってシャッター開始信号を出す。そして、シャッターが駆動し、露光を開始する。各シャッタースピードに応じてT_ShutterWaitだけシャッター開始信号を待つので、図１のように、例えばシャッタースピードが1/1000のときでも、1/200でもフリッカーのピークタイミングがシャッター先幕走行開始から後幕走行終了までの時間の中心にくる。よって、画面内で露出ムラの少ない画像を得ることができる。露光が終わったら、続いてＳ１０８で連写かどうかを判定する。
【００４４】
連写でない場合、Ｓ１０１に戻り、再びＳＷ２が押されるまでＳ１０１からＳ１０６を繰り返す。一方、Ｓ１０８で連写と判定された場合、Ｓ１０９でフリッカーの有無を判定する。これは、Ｓ１０４のフリッカー検出演算の結果から判断すれば良い。この結果によって、連写時の駒間測光のシーケンスを切り替える。
【００４５】
Ｓ１１０以降では、シャッター秒時の違いにより、処理を異ならせることを示している。Ｓ１１０で、シャッター秒時の判定を行い、所定値よりも長秒時の場合には、まず、Ｓ１１２で検出周期Tの設定を行い、Ｓ１１３で検出周期に合致しているかの判定を行う。もし、合致していれば、Ｓ１１４にて、フリッカーあり連写シーケンスを行い、合致していなければ、Ｓ１１５にて、フリッカーなし連写シーケンスを行う。ここでいう周期とは、例えば、１０回に１回は、Ｓ１１４に進み、それ以外は、Ｓ１１５に進むということを示している。一方、所定値よりも短秒時の場合には、Ｓ１１１にて、フリッカーあり連写シーケンスを行う。これにより、シャッター秒時に応じて、露光ズレを防ぎつつ、コマ速低下をさせないようにする効果を得ることが出来る。
【００４６】
ここで、連写時の駒間測光シーケンスを図９に示す。まず、Ｓ１０９・Ｓ１１０および、Ｓ１１２・Ｓ１１３の判定でＳ１１５またはＳ１１６に進んだ場合の連写駒間測光のシーケンスを図９(a)を用いて説明する。ミラーバウンドがおさまったら測光センサはＡＥ＆追尾用の蓄積を開始する。このＡＥ＆追尾用蓄積の読み出しは駒速を速くするために、なるべく短い方が良い。従って、この読み出しは、画素加算読み出しで読み出す。読み出した画像から追尾演算、測光演算を行う。それらの演算と同時に顔検知用の蓄積を行う。顔検知用の蓄積が終わったらミラーアップ動作を開始する。顔検知用蓄積の読み出しは、画素加算を行った画像では顔検出能力が落ちるため好ましくない。従って全画素読み出しを行う。読み出しが終わったら顔検知の演算を行い、その結果を次駒の追尾演算や測光演算に用いる。そして、ミラーアップのバウンドがおさまったらカメラは露光を行う。フリッカーがない場合の連写中はこのシーケンスを繰り返す。
【００４７】
次に、Ｓ１０９・Ｓ１１０およびＳ１１２・Ｓ１１３の判定でＳ１１１またはＳ１１４に進んだ場合の連写駒間測光のシーケンスを、図９(b)を用いて説明する。フリッカーがある場合は、まず、フリッカー検出用の蓄積・読み出しを行う。このフリッカー検出用の蓄積・読み出しは、６００ｆｐｓ、約１．６６７ｍｓ周期で蓄積・読み出しを連続して６回行う。
【００４８】
ＳＷ１ＯＮ保持状態のフリッカー検出では、約１．６６７ｍｓ周期で蓄積・読み出しを連続して１２回行い、フリッカーの周期と位相を求める。それに対し、連写駒間のフリッカー検出では、約１．６６７ｍｓ周期で蓄積・読み出しを連続して６回行い、フリッカーの位相のみを求める。フリッカー検出用の蓄積・読み出しを１２回から６回にすることで、連写駒速の低下を、約１．６６７ｍｓ周期の蓄積・読み出し６回分＝１０ｍｓほど軽減できる。この連写駒間のフリッカー検出の場合は、Ｓ１０４で述べた演算方法では、フリッカーの周期を求めることはできないが、一般的にフリッカーの周期が連写中に変わることはほとんどないので、ＳＷ１保持状態のフリッカー検出で周期を求めて記憶しておけば問題ない。
【００４９】
そして、フリッカー検出用の最後の読み出しが終わったら、ＡＥ＆追尾用の蓄積・読み出しを開始する。その間にフリッカー位相検出演算を行う。この演算の結果で、フリッカー同期信号を最新のものに更新する。
【００５０】
以下フリッカーがある場合の連写シーケンス時のフリッカー位相検出演算について説明する。例えば、商用電源５０Ｈｚ時のフリッカー１００Ｈｚが存在した場合の蓄積制御と出力測光値の推移を図１０に示す。商用電源５０Ｈｚ時のフリッカー発光周期は約10msであるから、図１０(a)に示すように、１周期分の測光値をプロットできる。この場合は、Ｓ１０４で説明した方式と同様に、フリッカーの位相を求めることができる。しかし、図１０(b)のように、AE(1)~AE(6)の中で最大の出力を得た点AE(max)が蓄積１や蓄積６のデータだった場合、前後のどちらかのデータがないのでＳ１０４述べた方法ではピークタイミングを求めることができない。
【００５１】
そこで、まずAE(1)~AE(6)の中で最小の出力を得た点AE(min)を算出する。図１０(b)の場合は、AE(4)=AE(min)となる。AE(min)を算出後、その点より前に得られた測光値AE(1)〜AE(3)のインデックスに6を加え、AE(7)〜AE(9)とする。AE(7)〜AE(9)は仮想的に７回目〜９回目の蓄積で得られた測光値と考えることができる。このようにすることで、図１０(c)で示したように、最大値AE(max)の前後の測光値データからＳ１０４で述べた方法でピークタイミングを算出できる。
【００５２】
また、図１１のように商用電源６０Ｈｚ時のフリッカー１２０Ｈｚが存在した場合も同様に、AE(min)を算出後、その点より前に得られた測光値AE(1)、AE(2)のインデックスに5を加え、AE(6)、AE(7)とすることで、Ｓ１０４で述べた方法でピークタイミングを算出できる。AE(6)のように元々のデータがあるインデックスの場合も、AE(1)の測光値で上書きし、AE(6)=AE(1)とすれば良い。
【００５３】
以上でフリッカーがある場合の連写シーケンス時のフリッカー位相検出演算についての説明を終え、図９(b)のシーケンスの説明に戻る。フリッカー位相検出演算とＡＥ＆追尾用の蓄積・読み出し後の動作は、図９(a)の動作と同じで良い。今回は、フリッカー検出用蓄積→ＡＥ＆追尾用蓄積→顔検知用蓄積の順に蓄積・演算を行ったが、この順番が変わっても良い。露光の際は、フリッカー同期信号に同期して露光を行うことで安定した撮像出力を得ることができる。フリッカーがある場合の連写中はこのシーケンスを繰り返す。
【００５４】
図１３はコントローラ(112)の動作として、図３のフローチャートの処理を、ＲＧＢ画素毎に行うことを示したものである。ステップS1001にて、SW1が押されていると判定したら、ステップS1002、S1003、S1004で、ＲＧＢ画素それぞれでフリッカー検出用の蓄積と読み出しを行って、ステップS1005、S1006、S1007で、ＲＧＢ画素それぞれでフリッカー検出演算を行い、ＲＧＢ画素それぞれのフリッカーのピーク位置判定を行う。
【００５５】
次に、ステップS1008にて、SW2が押されていると判定したら、ステップS1009、S1010で、ＲＧ行・ＧＢ行の画素群毎に、シャッター開始信号に同期して、露光を行う。このフローチャートでは、常にＲＧ行・ＧＢ行の画素群毎に処理をおこなうようにしているが、ＲＧ行・ＧＢ行の画素群別々に行うか、一括で行うかを切り替えられるようにしてもよい。具体的には、ＲＧ行・ＧＢ行の画素群毎のずれ量やＲＧＢのずれ位置に応じて、切り替えることが考えられる。この例を、図１７および図１８に示す。
【００５６】
ＲＧ行・ＧＢ行の画素毎のずれ量やＲＧＢのずれ位置に応じて切り替えるのは、ＲＧ行・ＧＢ行の画素群毎のずれ量が許容範囲内である場合には、ＲＧ行・ＧＢ行一括で行っても、得られる画像に問題となるような色ずれは発生せず、かつ処理時間も短く抑えることが出来るからである。逆に言うと、ＲＧ行・ＧＢ行画素群毎のずれ量が許容範囲を超えている場合には、色ずれが目立つ結果となるので、多少処理時間が延びても、ＲＧ行・ＧＢ行画素群別々の処理を行った方が、より色ずれを抑えた画像を得ることが出来る。また、Ｇがずれの中心である場合には、ＲＧ行・ＧＢ行での補正を行うことが出来るが、Ｇがずれの中心にない場合には、誤った補正を行うおそれがあるため、補正は行わない。
【００５７】
図１７においては、ステップS501にて、ＲＧ行画素・ＧＢ行画素それぞれのずれ量を検出し、ステップS502にてずれ量の判定を行い、ずれ量が大きければ、ステップS503にて、ＲＧ行・ＧＢ行画素群別々でのタイミング設定を行う。一方、ずれ量が小さければ、ステップS504にて、ＲＧ行・ＧＢ行画素群一括でのタイミング設定を行う。
【００５８】
図１８においては、ステップS601にて、ずれ位置を検出し、ステップS602にてＧのずれ位置の判定を行い、図２３のように、Ｇがずれの中心の場合には、ステップS603にて、ＲＧ行・ＧＢ行画素群別々でのタイミング設定を行う。この時の補正量は、例えば、Ｒ−Ｇ間で検出した位相ずれ量の半分を、ＲＧ行の補正量ΔＴrg、Ｇ―Ｂ間で検出した位相ずれ量の半分を、ＧＢ行の補正量ΔＴgbとする。この時、タイミングの補正量ΔＴとしては、ΔＴrg＋ΔＴgbとなる。一方、図２４のように、Ｇがずれの中心でない場合には、ステップS604にて、ＲＧ行・ＧＢ行画素群一括でのタイミング設定を行う。
【００５９】
図１７と図１８とで、ずれ量およびずれ位置に基づいて、タイミング設定方法を切り替える例を示したが、これらは、両者を組み合わせて行っても、構わない。
【００６０】
次に、ＲＧ行ＧＢ行画素群別々に、シャッター開信号に同期して露光を行う例として、電子シャッターでの撮像素子の駆動に関して、図１９、図２０および図２１、図２２を用いて説明する。
【００６１】
図１９は撮像素子におけるＲ画素・Ｇ画素・Ｂ画素の構成を示す図である。撮像素子において、図においては、Ｒ画素・Ｇ１画素・Ｇ２画素・Ｂ画素の４画素分を示しているが、２次元の画像を提供する画素アレイは、複数の画素を２次元アレイ状に配列して構成される。図２０も同様に４画素分を示しているが、制御線の接続の仕方が、図１９と図２０では、異なっている。
【００６２】
各画素３０１、３１１、３２１、３３１は、フォトダイオード(以下、ＰＤとも記す)３０２、３１２、３２２、３３２、第１転送スイッチ３０３、３１３、３２３、３３３、画素メモリ３０４、３１４、３２４、３３４、第２転送スイッチ３０５、３１５、３２５、３３５、フローティングディフュージョン部（以下、ＦＤとも記す）３０６、３１６、３２６、３３６、リセットスイッチ３０７、３１７、３２７、３３７、増幅ＭＯＳアンプ３０８、３１８、３２８、３３８、及び、選択スイッチ３０９、３１９、３２９、３３９を含んで構成される。Ｒ画素３０１の構成について、３０２〜３１０を用いて説明する。
【００６３】
ＰＤ３０２は、光学系を通して入射する光を光電変換する光電変換部として機能する。
第１転送スイッチ３０３は、そのゲート端子に入力されるパルスφＭＥＭｒgによって駆動され、ＰＤ３０２で発生した電荷を画素メモリ３０４に転送する。第２転送スイッチ３０５は、そのゲート端子に入力される転送パルスφＴＸｒｇによって駆動され、画素メモリ３０４に蓄積された電荷をＦＤ３０６に転送する。ＦＤ３０６は、電荷を一時的に蓄積するとともに蓄積した電荷を電圧信号に変換する電荷電圧変換部として機能する。
【００６４】
増幅ＭＯＳアンプ３０８は、ソースフォロアとして機能し、そのゲートにはＦＤ３０６で電荷電圧変換された信号が入力される。選択スイッチ３０９は、そのゲートに入力される垂直選択パルスφＳＥＬnによって駆動される。垂直選択パルスφＳＥＬnがアクティブレベル（ハイレベル）になると、画素アレイの該当する行に属する画素の選択スイッチ３０９が導通状態になり、増幅ＭＯＳアンプ３０８のソースが垂直信号線３１０に接続される。
【００６５】
リセットスイッチ３０７は、そのゲートに入力されるパルスφＲＥＳnによって駆動されて、ＦＤ３０６に蓄積されている電荷を除去する。ＦＤ３０６及び増幅ＭＯＳアンプ３０８及び増幅ＭＯＳアンプ３０８のドレインに供給される画素電源ＳＶＤＤに加え、垂直信号線３１０に定電流を供給する不図示の定電流源によってフローティングディフュージョンアンプが構成される。選択スイッチ３０９で選択された行を構成する各画素において、ＦＤ３０６に転送される電荷がＦＤ３０６で電圧信号に変換される。その後、フローティングディフュージョンアンプを通じて対応する信号読み出し部に出力される。
【００６６】
Ｇ１画素３１１・Ｇ２画素３２１、Ｂ画素３３１も、同様に、３１２〜３２０、３２２〜３３０、３３２〜３４０に対応しているが、Ｇ１画素およびＢ画素は、ゲート端子に入力されるパルスはφＭＥＭｇｂ、転送パルスはφＴＸｇｂとなる。また、Ｇ２画素およびＢ画素は、リセットパルスφＲＥＳn+1、垂直選択パルスはφＳＥＬn+1となる。また、図２０においては、Ｒ画素およびＧ１画素の、ゲート端子に入力されるパルスはφＭＥＭｒｇ、転送パルスはφＴＸｒｇとなり、また、Ｇ２画素およびＢ画素の、ゲート端子に入力されるパルスはφＭＥＭｇｂ、転送パルスはφＴＸｇｂとなる。
【００６７】
駆動パターンを図２１および図２２に示す。図２１は図１９の撮像素子に対応した駆動方法を示したものである。図２２は、図２０の撮像素子に対応した駆動方法を示したものである。図１９、図２０における、ｎ、ｎ＋１はそれぞれｎ行目、ｎ＋１行目を表す。ここでは、ｎからｎ＋１までの２行分のパルスを用いて説明する。ここでは、図１４に示すようなベイヤー配置のセンサを想定している。また、以下に示す制御パルスは同図のコントローラ１１２より出力される制御信号である。
【００６８】
時刻ｔ６０１の間に、パルスφＴＸｒｇ_ｎ〜φＴＸｒｇ_ｎ＋１、φＴＸｇｂ_ｎ〜φＴＸｇｂ_ｎ＋１の全行分のφＴＸとパルスφＲＥＳｎ〜φＲＥＳｎ＋１の全行分のφＲＥＳをオン状態にする。また、時刻ｔ６０２の間に、パルスφＭＥＭｒｇ_ｎ〜φＭＥＭｒｇ_ｎ＋１、φＭＥＭｇｂ_ｎ〜φＭＥＭｇｂ_ｎ＋１の全行分のφＭＥＭをオン状態にする。それによって時刻ｔ６０１の間に、リセットスイッチ３０７、３１７、３２７、３３７と第１転送スイッチ３０３、３１３、３２３、３３３と第２転送スイッチ３０５、３１５、３２５、３３５をオンし、ＰＤと画素メモリとＦＤの電位が初期電位にリセットされる。
【００６９】
時刻ｔ６０１が終わってφＴＸがオフになった時点からＰＤは蓄積状態となり、入射光量に応じた光電荷を発生する。次に、時刻ｔ６０２の終わりに、φＭＥＭｒｇ_ｎ〜φＭＥＭｒｇ_ｎ＋１、φＭＥＭｇｂ_ｎ〜φＭＥＭｇｂ_ｎ＋１の全行分のφＭＥＭをオフ状態にすることで、蓄積が終了する。すなわち、時刻ｔ６０３がＲＧ画素、ＧＢ画素それぞれの蓄積時間となる。時刻ｔ６０３の間にはφＭＥＭｒｇ_ｎ〜φＭＥＭｒｇ_ｎ＋１、φＭＥＭｇｂ_ｎ〜φＭＥＭｇｂ_ｎ＋１の全行分のφＭＥＭがオン状態になっているため、ＰＤで発生した光電荷は画素メモリに移動する。
【００７０】
その後、各行のφＲＥＳがオフになるまでの時刻ｔ６０９に、時刻ｔ６０３の間でフローティング状態にあったＦＤをリセットする。
【００７１】
次に、時刻ｔ６０４の間にｎ行目のパルスφＳＥＬｎを印加し、選択スイッチ３０９、３１９、３２９、３３９をオンすることで読み出し行を選択する。読み出し行選択にともなって、φＲＥＳｎをオフにすることで、ＦＤのリセットを終了する。その後、時刻ｔ６０６の間にパルスΦＴＸｒｇ_ｎ、ΦＴＸｇｂ_ｎをオンする。それにより、スイッチ３０５、３１５、３２５、３３５がオンし、画素メモリに蓄積された電荷がＦＤに読み出される。
【００７２】
次にｎ＋１行目の信号を読みだす。以下、すべての行に対して、同様に駆動を行うことで、１画面分の信号を読み出す。同図に示すように、ＲＧ行・ＧＢ行別に、ΦＴＸ、ΦＭＥＭ信号を制御し、ＲＧ行・ＧＢ行毎の露光タイミングを図１８のΔＴ（ΔＴrg＋ΔＴgb）だけ補正することで、フリッカー検出結果に応じて、生成するシャッター開始信号に同期した露光動作を行うことが可能になる。図２２も、図２１と同様の読み出し動作となるが、φＳＥＬｎを印加時に、ΦＴＸｒｇ_ｎをオン、φＳＥＬｎ＋１を印加時に、ΦＴＸｇｂ_ｎ＋１をオンする点が、異なっている。
【００７３】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００７４】
１００  カメラ、１０１  カメラマイコン、１０３  撮像素子、１０４  シャッター、
１０５  ハーフミラー、１０７  測距枠表示素子、１０８  測光センサ、
１１０  焦点検出回路、１１２  画像処理・演算用のCPU、２００  レンズ、
２０１  レンズマイコン
【図１】
2016092786.tif 000004
【図２】
2016092786.tif 000005
【図３】
2016092786.tif 000006
【図４】
2016092786.tif 000007
【図５】
2016092786.tif 000008
【図６】
2016092786.tif 000009
【図７】
2016092786.tif 000010
【図８】
2016092786.tif 000011
【図９】
2016092786.tif 000012
【図１０】
2016092786.tif 000013
【図１１】
2016092786.tif 000014
【図１２】
2016092786.tif 000015
【図１３】
2016092786.tif 000016
【図１４】
2016092786.tif 000017
【図１５】
2016092786.tif 000018
【図１６】
2016092786.tif 000019
【図１７】
2016092786.tif 000020
【図１８】
2016092786.tif 000021
【図１９】
2016092786.tif 000022
【図２０】
2016092786.tif 000023
【図２１】
2016092786.tif 000024
【図２２】
2016092786.tif 000025
【図２３】
2016092786.tif 000026
【図２４】
2016092786.tif 000027