JP2017142484A - 撮像装置及びその制御方法、プログラム、記憶媒体 - Google Patents
撮像装置及びその制御方法、プログラム、記憶媒体 Download PDFInfo
- Publication number
- JP2017142484A JP2017142484A JP2016214642A JP2016214642A JP2017142484A JP 2017142484 A JP2017142484 A JP 2017142484A JP 2016214642 A JP2016214642 A JP 2016214642A JP 2016214642 A JP2016214642 A JP 2016214642A JP 2017142484 A JP2017142484 A JP 2017142484A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- image
- unit
- photoelectric conversion
- correlation
- 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
- Transforming Light Signals Into Electric Signals (AREA)
- Studio Devices (AREA)
- Focusing (AREA)
- Automatic Focus Adjustment (AREA)
Abstract
【課題】低コントラストの被写体を撮影する場合や低輝度環境下で撮影する場合でも、ノイズの影響を低減して高精度な焦点検出を可能にする撮像装置を提供する。【解決手段】1つのマイクロレンズに対して第1の光電変換部と第2の光電変換部が配置された単位画素が複数配置された撮像素子と、第1の光電変換部の信号と前記第2の光電変換部の信号を加算した加算信号を読み出すとともに、第1の光電変換部の信号を独立して読み出す読み出し部と、加算信号から第1の光電変換部の信号を減算することにより、第2の光電変換部の信号に相当する信号を算出する算出部と、第1の光電変換部の信号と第2の光電変換部の信号に相当する信号の相関を演算する相関演算部と、相関演算部による被写体像についての相関演算の結果から、加算信号から第1の光電変換部の信号を減算することにより第2の光電変換部の信号に相当する信号を求めたことに起因するノイズを補正するための補正値を減算する減算部とを備える。【選択図】 図7
Description
本発明は、撮像面に焦点検出用の画素を有する撮像素子からの画像信号を用いて位相差方式の焦点検出を行う技術に関するものである。
従来、撮像装置の焦点制御のための焦点検出の方法として、焦点検出素子を用いた位相差方式、撮像素子の画像のコントラスト成分を用いたコントラスト方式、など様々な方法が提案されている。また、撮像素子中の画素が撮像レンズの異なる瞳領域の光を受光する構成をとることによって、撮像と同時に位相差方式の焦点検出を行う技術が知られている。
特許文献1には、1つの画素において1つのマイクロレンズで集光される光束を、分割されたフォトダイオード(以下PD)で光電変換することによって、各々のPDが撮像レンズの異なる瞳領域の光を受光するようにした撮像素子が開示されている。そして、2つのPDの出力を比較することにより、撮像レンズの焦点検出を行っている。
また、特許文献2には、同一マイクロレンズ内の一部のPDの電荷読み出しを行った後、同一マイクロレンズ内の全てのPDの電荷の加算値を読み出し、各々の値の差分から他方の光電変換部の値を生成する技術が開示されている。これにより、撮像用画像信号の特性を保ちつつ、焦点検出を行っている。
しかしながら、上述の特許文献に開示された従来技術では、次のような問題がある。例えば同一マイクロレンズ内でPDが2つに分割されている場合に、一方のPDの電荷に対応する画素信号をA像、他方をB像とする。そして、全てのPDの信号の加算値をA+B像とする。
焦点検出においては、A像を読み出した後にA+B像を読み出し、A+B像からA像を減算することでB像を生成して焦点検出の演算を行う。A像とB像を独立に読み出して焦点検出の演算を行うこともできるが、画像を生成するためにA+B像も必要になる。その際、A像とB像を加算してA+B像を生成すると、A像とB像がそれぞれランダムノイズを持つため、加算することによりA+B像のランダムノイズ量が大きくなってしまう。ランダムノイズ量が大きくなると画質が低下するので、ここではA像とB像ではなくA像とA+B像を独立に読み出す構成となっている。焦点検出の演算は、水平方向に並ぶ各画素のA像列と、対応する水平方向に並ぶ各画素のB像列を水平方向にシフトさせながらA像列からB像列を減算した後に絶対値を算出し、その絶対値を加算してA像とB像の相関値とする(相関演算)。得られた相関値から、ピントずれ量を算出する。
例えば図26では、同一マイクロレンズ1100内にあるA像用PDを1101、B像用PDを1102として示している。水平方向に並ぶ画素列のそれぞれのA像をA0〜A7、B像をB0〜B7で示す。上述した処理により生成されたデータはA像列、B像列として相関演算される。図27に示すように、シフト量=−2の場合にB像列はA像列に対して2画素分だけ左にシフトし、シフト後に対応する画素値を減算した値の絶対値を算出する。この場合、
P(0)=|A2−B4|
P(1)=|A3−B5|
P(2)=|A4−B6|
P(3)=|A5−B7|
として各画素の相関値P(0)〜P(3)を算出し、シフト量=−2の場合の相関値P[−2]を下記のように加算して算出する。
P(0)=|A2−B4|
P(1)=|A3−B5|
P(2)=|A4−B6|
P(3)=|A5−B7|
として各画素の相関値P(0)〜P(3)を算出し、シフト量=−2の場合の相関値P[−2]を下記のように加算して算出する。
P[−2]=P(0)+P(1)+P(2)+P(3)
そして、図27に示すように同様にして他のシフト量の場合の相関値も算出する。この時、第k列のPDの電荷に対応するA像信号をS[A(k)]、(A+B)像信号をS[(A+B)(k)]とする。また、A像を読み出した時に画素データに重畳される読み出し回路に起因するランダムノイズをN[A(k)]、(A+B)像を読み出した時に画素データに重畳される読み出し回路に起因するランダムノイズをN[(A+B)(k)]とする。上記に従ってB像を生成すると、
B像=(A+B)像−A像
=(S[(A+B)(k)]+N[(A+B)(k)])−(S[A(k)]+N[A(k)])
=S[(A+B)(k)]−S[A(k)]+N[(A+B)(k)]−N[A(k)]
となる。
そして、図27に示すように同様にして他のシフト量の場合の相関値も算出する。この時、第k列のPDの電荷に対応するA像信号をS[A(k)]、(A+B)像信号をS[(A+B)(k)]とする。また、A像を読み出した時に画素データに重畳される読み出し回路に起因するランダムノイズをN[A(k)]、(A+B)像を読み出した時に画素データに重畳される読み出し回路に起因するランダムノイズをN[(A+B)(k)]とする。上記に従ってB像を生成すると、
B像=(A+B)像−A像
=(S[(A+B)(k)]+N[(A+B)(k)])−(S[A(k)]+N[A(k)])
=S[(A+B)(k)]−S[A(k)]+N[(A+B)(k)]−N[A(k)]
となる。
0ではないシフト量=Sの時の一列分の相関演算では、第m列のA像と、第n列のB像の相関演算を行うことになり、その時の相関値P(h)は、
P(h)=|A像−B像|
=|(S[A(m)]+N[A(m)])−(S[(A+B)(n)]−S[A(n)]+N[(A+B)(n)]−N[A(n)])|
=|S[A(m)]+S[A(n)]−S[(A+B)(n)]+N[A(m)]+N[A(n)]−N[(A+B)(n)]|
となる。ここでは、A像とB像の相関が高いほど、この相関値P(h)は値が小さくなる。
P(h)=|A像−B像|
=|(S[A(m)]+N[A(m)])−(S[(A+B)(n)]−S[A(n)]+N[(A+B)(n)]−N[A(n)])|
=|S[A(m)]+S[A(n)]−S[(A+B)(n)]+N[A(m)]+N[A(n)]−N[(A+B)(n)]|
となる。ここでは、A像とB像の相関が高いほど、この相関値P(h)は値が小さくなる。
また、シフト量=0の時の一列分の相関演算では、第m列のA像と、第m列のB像の相関演算を行うことになり、その時の相関値P(h)は、
P(h)=|A像−B像|
=|(S[A(m)]+N[A(m)])−(S[(A+B)(m)]−S[A(m)]+N[(A+B)(m)]−N[A(m)])|
=|S[A(m)]+S[A(m)]−S[(A+B)(m)]+N[A(m)]+N[A(m)]−N[(A+B)(m)]|
となる。
P(h)=|A像−B像|
=|(S[A(m)]+N[A(m)])−(S[(A+B)(m)]−S[A(m)]+N[(A+B)(m)]−N[A(m)])|
=|S[A(m)]+S[A(m)]−S[(A+B)(m)]+N[A(m)]+N[A(m)]−N[(A+B)(m)]|
となる。
ここで、0ではないシフト量=Sの場合と、シフト量=0の場合の相関値に重畳されるランダムノイズ量はそれぞれ、
シフト量=Sの場合:Noise(S)=N[A(m)]+N[A(n)]−N[(A+B)(n)]
シフト量=0の場合:Noise(0)=N[A(m)]+N[A(m)]−N[(A+B)(m)]
となる。
シフト量=Sの場合:Noise(S)=N[A(m)]+N[A(n)]−N[(A+B)(n)]
シフト量=0の場合:Noise(0)=N[A(m)]+N[A(m)]−N[(A+B)(m)]
となる。
N[A(m)]、N[A(n)]、N[(A+B)(n)]は互いに相関のないランダムノイズなので、Noise(S)は図28(a)のようにシフト量=0以外でおおよそ一定の値になる。一方Noise(0)については、N[A(m)]とN[(A+B)(m)]は互いに相関のないランダムノイズであるが、N[A(m)]が2倍(N[A(m)]*2)になり、Noise(S)よりも大きくなる。よって図28(a)に示すようにシフト量=0の時のみ、ランダムノイズに起因する相関量が大きくなる。
このように、A+B像とA像からB像を生成し相関演算を行う場合には、A像に重畳されるランダムノイズ量の符号が反転したランダムノイズ量がB像に重畳されることにより、シフト量=0の時に必ずN[A(m)]*2のノイズ量が相関値に重畳される。つまり、局所的にピークが発生してしまう。
A像とB像のコントラストが低い被写体の撮影や、低輝度環境下で撮影する場合には相関値P(h)が小さくなるが、この場合にはN[A(m)]*2に示すノイズ量が支配的になる。ノイズの影響がなければ合焦時はシフト量=0の時に相関値P(h)が最も小さくなり(図28(b)のH点)、この点を検出することにより焦点検出が適切に行われる。しかしN[A(m)]*2のノイズ量が支配的になると、図28(c)に示すようにシフト量=0の場合に相関値P(h)が大きくなる(相関が低くなる)結果が得られる(I点)こととなる。その結果、最も相関値P(h)が小さい点が複数できてしまい(J点、K点)、それらの点を合焦位置のシフト量であると認識し、結果的に誤測距やハンチングが起きるという問題があった。
本発明は上述した課題に鑑みてなされたものであり、その目的は、低コントラストの被写体を撮影する場合や低輝度環境下で撮影する場合でも、ノイズの影響を低減して高精度な焦点検出を可能にする撮像装置を提供することである。
本発明に係わる撮像装置は、1つのマイクロレンズに対して第1の光電変換部と第2の光電変換部が配置された単位画素が複数配置された撮像素子と、前記第1の光電変換部の信号と前記第2の光電変換部の信号を加算した加算信号を読み出すとともに、前記第1の光電変換部の信号を独立して読み出す読み出し手段と、前記加算信号から前記第1の光電変換部の信号を減算することにより、前記第2の光電変換部の信号に相当する信号を算出する算出手段と、前記第1の光電変換部の信号と前記第2の光電変換部の信号に相当する信号の相関を演算する相関演算手段と、前記相関演算手段による被写体像についての相関演算の結果から、前記加算信号から前記第1の光電変換部の信号を減算することにより前記第2の光電変換部の信号に相当する信号を求めたことに起因するノイズを補正するための補正値を減算する減算手段と、を備えることを特徴とする。
本発明によれば、低コントラストの被写体を撮影する場合や低輝度環境下で撮影する場合でも、ノイズの影響を低減して高精度な焦点検出を可能にする撮像装置を提供することが可能となる。
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係わる撮像装置の構成を示すブロック図である。図1では、撮像装置本体(カメラ本体)と撮像レンズ(撮像光学系)とが一体となった撮像装置を示している。しかしながら、本発明は、これに限定されるものではなく、撮像レンズが撮像装置本体に対して交換可能に装着される撮像システムにも適用可能である。また、以下に示す実施形態では、撮像装置は焦点検出装置としての機能を含んでいるため、撮像装置は焦点検出装置でもある。
図1は、本発明の第1の実施形態に係わる撮像装置の構成を示すブロック図である。図1では、撮像装置本体(カメラ本体)と撮像レンズ(撮像光学系)とが一体となった撮像装置を示している。しかしながら、本発明は、これに限定されるものではなく、撮像レンズが撮像装置本体に対して交換可能に装着される撮像システムにも適用可能である。また、以下に示す実施形態では、撮像装置は焦点検出装置としての機能を含んでいるため、撮像装置は焦点検出装置でもある。
図1において、撮像装置1000は、撮像素子100、CPU101、操作部102、表示部103、RAM104、ROM105、画像処理部106、AF(オートフォーカス)演算部107及び記録部108を有する。撮像装置1000はさらに、フォーカルプレーンシャッタ109、フォーカス駆動回路110、絞り駆動回路111、フォーカスアクチュエータ112、絞りアクチュエータ113を有する。また、光学系を構成するレンズ群及び部材として、第1レンズ群114、第2レンズ群116、絞り115及び第3レンズ群117を有する。
撮像素子100は、動画像又は静止画像を撮影する機能を有している。この撮像素子100は、撮像光学系により形成される被写体の光学像(被写体像)を電気信号に変換する。変換された電気信号は撮像素子100内で、所定の量子化ビットに応じてデジタル信号(画像データ)に変換され、出力される。撮像素子100はCPU101によってその駆動が制御される。
なお、図1に示す例では撮像素子100からデジタル信号が出力される構成が示されているが、これに限定されるものではない。例えば、撮像素子100からアナログ信号が出力され、撮像素子100の外部に設けられたAD変換器でデジタル信号に変換される構成であってもよい。
CPU101は、撮像装置1000を統括的に制御する制御手段としての機能を有する。画像処理部106は撮影の結果得られた画像データの補正や圧縮等の処理を行う。RAM104は、撮像素子100から出力される画像データ及び画像処理部106で処理された画像データを記憶するためのメモリ(画像メモリ)であり、さらに、RAM104は後述するCPU101によってワークメモリとしても用いられる。なお、RAM104は、アクセス速度が問題ないレベルのメモリであれば、他のメモリを用いてもよい。ROM105には、CPU101上で動作するプログラムが格納される。一例としては、ROM105としてフラッシュROMが用いられるが、アクセス速度が問題ないレベルのメモリであれば、他のメモリを用いてもよい。
記録部108は、例えば、不揮発性メモリ又はハードディスクである。記録部108には、例えば、静止画像データ及び動画像データが記録される。図1では、記録部108が撮像装置に含まれているように記載されているが、記録部108は、コネクタを介して着脱可能な不揮発性メモリ又はハードディスク等の記録媒体であってもよい。操作部102は、撮影命令、撮像条件の設定等のユーザーからの操作をCPU101に対して行う際に用いられるインターフェースである。表示部103は、CPU101の制御により撮影の結果得られた静止画像及び動画像の表示、メニューの表示等を行う。
AF演算部107は、撮像素子100から出力される画像データに基づいて、焦点検出を行う。焦点検出処理の詳細については後述する。撮像装置1000に入射した光は、第1レンズ群114、絞り115、第2レンズ群116、第3レンズ群117、フォーカルプレーンシャッタ109をこの順に通過して撮像素子100に入射する。第1レンズ群114は、光軸方向に進退可能に保持される。絞り115は、その開口径を調節するように動作可能であり、撮影時の光量調節を行う機構である。絞り115及び第2レンズ群116は、一体となって光軸方向に進退し、第1レンズ群114の進退動作との連動により、変倍機能(ズーム機能)を実現する。第3レンズ群(フォーカスレンズ)117は、光軸方向の進退により、焦点調節を行う。
フォーカルプレーンシャッタ109は、静止画撮影時に露光秒時を調節するシャッタである。本実施形態ではフォーカルプレーンシャッタ109、すなわちメカニカルシャッタにより撮像素子100の露光秒時を調節する構成であるが、これに限定されるものではない。例えば、撮像素子100が電子シャッタ機能を有し、制御信号により電子的に電荷蓄積時間を制御することで露光秒時を調節する構成であってもよい。フォーカス駆動回路110は、AF演算部107の焦点検出結果に基づいてフォーカスアクチュエータ112を駆動制御し、第3レンズ群117を光軸方向に進退駆動して焦点調節を行う。絞り駆動回路111は、絞りアクチュエータ113を駆動制御して絞り115の開口径を制御する。
次に、図1に示す撮像素子100の構成を図2、図3を用いてより詳細に説明する。図2(a)は、撮像素子100内の1つの画素(単位画素)200の構成を示す回路図である。画素200は、フォトダイオード201a,201b、転送スイッチ202a,202b、フローティングディフュージョン領域203、増幅部204、リセットスイッチ205及び選択スイッチ206を有する。なお、各スイッチはMOSトランジスタ等により構成される。以下の説明では各スイッチは一例としてN型のMOSトランジスタであるものとするが、各スイッチはP型のMOSトランジスタであってもよく、その他のスイッチング素子であってもよい。
このように、本実施形態における撮像素子100は、1つの画素200内に、2つのフォトダイオードを有する。ただし、各画素200に設けられるフォトダイオードの個数は図2(a)に示される2つに限定されず、3つ以上(例えば、4つ)設けられてもよい。本実施形態においてフォトダイオード201a,201bは、後述するように、焦点検出画素として機能するとともに、撮像画素としても機能する。
フォトダイオード201a,201bは、図2(b)に示す同一のマイクロレンズ236を通過した光を受光し、光電変換によりその受光量に応じた信号電荷を生成する光電変換部として機能する。フォトダイオード201aにより得られる信号をA信号、フォトダイオード201bにより得られる信号をB信号と呼ぶこととする。
転送スイッチ202aはフォトダイオード201aとフローティングディフュージョン領域203との間に接続され、転送スイッチ202bはフォトダイオード201bとフローティングディフュージョン領域203との間に接続される。転送スイッチ202a,202bは、それぞれフォトダイオード201a,201bで発生した電荷を共通のフローティングディフュージョン領域203に転送する素子である。転送スイッチ202a,202bは、それぞれ制御信号TX_A、TX_Bによって制御される。
フローティングディフュージョン領域203は、フォトダイオード201a,201bから転送された電荷を一時的に保持するとともに、保持した電荷を電圧信号に変換する電荷電圧変換部として機能する。増幅部204は、ソースフォロワMOSトランジスタである。増幅部204のゲートは、フローティングディフュージョン領域203に接続され、増幅部204のドレインは電源電位VDDを供給する共通電源208に接続される。増幅部204は、フローティングディフュージョン領域203に保持された電荷に基づく電圧信号を増幅して、画像信号として出力する。
リセットスイッチ205は、フローティングディフュージョン領域203と共通電源208との間に接続される。リセットスイッチ205は、制御信号RESによって制御され、フローティングディフュージョン領域203の電位を電源電位VDDにリセットする機能を有する。選択スイッチ206は、増幅部204のソースと垂直出力線207の間に接続される。選択スイッチ206は、制御信号SELによって制御され、増幅部204で増幅された画像信号を垂直出力線207に出力する。
図3は、撮像素子100の構成を示す図である。撮像素子100は、画素アレイ234、垂直走査回路209、電流源負荷210、読み出し回路235、共通出力線228,229、水平走査回路232及びデータ出力部(出力アンプ)233を有する。
画素アレイ234は、行列状に配置された複数の画素200を有する。図3には説明を分かりやすくするために、水平方向にn画素、垂直方向に4画素を示しているが、画素200の行数及び列数は任意である。また、各画素200には複数色のカラーフィルタのうちいずれか1つが設けられている。図3に示す例では、カラーフィルタの色は赤色(R)、緑色(G)及び青色(B)とする。これらの各画素200はベイヤー配列に従って配置される。また、本実施形態における撮像素子100は画素アレイ234の一部が遮光層で遮光されたOB領域(オプティカルブラック領域、遮光画素)を持つ。
垂直走査回路209は、行ごとに設けられた駆動信号線208を介して、各行の画素200に制御信号を出力する。なお、図3では駆動信号線208は、説明を分かりやすくするため、行ごとに1本ずつ図示されているが、実際には行ごとに複数の駆動信号線が接続される。
同じ列の画素200は列ごとに設けられた垂直出力線207に共通接続される。各画素200から出力される信号は、この垂直出力線207を介して読み出し回路235に入力され、読み出し回路235で処理される。電流源負荷210は各列の垂直出力線207に接続される。
水平走査回路232は、制御信号hsr(0)〜hsr(n−1)を出力することにより、複数の読み出し回路235の中から信号を出力させる列を順次選択する。選択された列の読み出し回路235は、共通出力線228,229を介してデータ出力部233に処理した信号を出力する。
次に、読み出し回路235の具体的な回路構成について説明する。読み出し回路235は、クランプ容量211、フィードバック容量214〜216、オペアンプ213、基準電圧源212及びスイッチ217〜220を有する。また、比較器221、Latch_N222、Latch_S223、スイッチ226,227を有する。
垂直出力線207により読み出し回路235に入力される信号はクランプ容量211を介してオペアンプ213の反転入力端子に入力される。オペアンプ213の非反転入力端子には、基準電圧源212から基準電圧Vrefが供給される。フィードバック容量214〜216はオペアンプ213の反転入力端子と出力端子の間に接続される。スイッチ217もオペアンプ213の反転入力端子と出力端子の間に接続され、フィードバック容量214〜216の両端をショートさせる機能を有する。スイッチ217は制御信号RES_Cにより制御される。また、スイッチ218〜220は制御信号GAIN0〜2で制御される。
比較器221にはオペアンプ213の出力端子と、ランプ信号発生器230から出力されるランプ信号224が接続される。Latch_N222はノイズレベル(N信号)を保持するための記憶素子であり、Latch_SはA信号およびA信号とB信号が加算されたAB信号(加算信号)の信号レベル(S信号)を保持するための記憶素子である。比較器221の出力端子からの信号と、カウンタ231から出力されるカウンタ値225がLatch_N222とLatch_S223に入力され、それぞれ制御信号LATEN_N、LATEN_Sで制御される。Latch_N、Latch_Sの出力端子はスイッチ226,227を介してそれぞれ共通出力線228,229に接続される。共通出力線228,229はデータ出力部233に接続される。
スイッチ226,227は水平走査回路232からの制御信号hsr(h)で制御される。ここで、hは制御信号線が接続されている読み出し回路235の列番号を示す。Latch_N222、Latch_S223に保持された信号は共通出力線228,229を介して出力され、データ出力部233から外部へ出力される。この動作を水平転送と呼ぶ。
図4は、撮像素子100の読み出し動作を示すタイミングチャートである。以下、図4を参照しつつ画像信号の1行分の読み出し動作について説明する。なお、各制御信号がHのときに各スイッチはオンになり、Lのときに各スイッチはオフになるものとする。
時刻t1において、制御信号TX_A、TX_BがHになり、転送スイッチ202a,202bがオンになる。この時、信号RESはHになっており、フォトダイオード201a,201bに蓄積された電荷は、転送スイッチ202a,202b、リセットスイッチ205を介して電源208に転送され、フォトダイオード201a,201bはリセットされる。時刻t2において、制御信号TX_A、TX_BをLとし、フォトダイオード201a,201bへの光電荷の蓄積が開始される。
所定の時間だけ光電荷の蓄積を行った後の時刻t3において、選択スイッチ206の制御信号SELがHになり、増幅部204のソースが垂直出力線207に接続される。時刻t4において、リセットスイッチ205の制御信号RESをLとすることでフローティングディフュージョン領域203のリセットを解除する。このとき、フローティングディフュージョン領域203の電位に応じたリセット信号レベルの電位が増幅部204を介して垂直出力線207に読み出され、読み出し回路235に入力される。
その後、時刻t5において、制御信号RES_CがLになると、垂直出力線207に読み出されたリセット信号レベルと基準電圧Vrefとの差分に基づく電圧がオペアンプ213から出力される。撮像素子100には予め、操作部102により設定されたISO感度に基づき、CPU101が制御信号GAIN0〜GAIN2のいずれかひとつの信号をHにする設定が行われる。本実施形態の撮像装置はISO感度100、200、400を備える。ISO感度100〜400に対して、それぞれ制御信号GAIN0〜GAIN2がHとなる。それによりスイッチ218〜219の中で対応するスイッチがオンとなる。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。ここでオペアンプ213までの回路で発生するランダムノイズ成分も増幅することになり、ISO感度100、200、400ではそれぞれ出力される信号のランダムノイズ量が異なることとなる。
次に、時刻t6において、ランプ信号発生器230は時間経過に比例して信号レベルが変化するランプ信号の出力を開始する。同時にカウンタ231はリセット状態からカウントアップを開始し、LATEN_NがHになる。比較器221は、オペアンプ213の出力信号とランプ信号発生器230が出力するランプ信号とを比較する。入力されたランプ信号の信号レベルが時間の経過とともに大きくなり、その信号レベルがオペアンプ213の出力信号の値を上回った時点で、Latch_N222に出力する信号をLからHに反転させる(時刻t7)。Latch_N222はLATEN_NがHの状態で、比較器211からの信号がLからHに反転されると、その時にカウンタ231から出力されているカウンタ値を記憶する。この記憶されたカウンタ値がN信号レベルとなる。その後時刻t8において、ランプ信号の変化が終了し、LATEN_NがLとなる。
時刻t9では、制御信号TX_AがHになり、フォトダイオード201aの光電荷が独立してフローティングディフュージョン領域203へ転送される。その後、時刻t10において、制御信号TX_AがLになる。この動作により、フォトダイオード201aに蓄積された電荷がフローティングディフュージョン領域203へ転送される。そして、その変化に応じた電圧が増幅部204及び垂直出力線207を介して読み出し回路235へ出力される。垂直出力線207に読み出されたリセット信号レベルと基準電圧Vrefとの差分に基づく電圧がオペアンプ213から出力される。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。
次に、時刻t11において、ランプ信号発生器230はランプ信号の出力を開始する。同時にカウンタ231はリセット状態からカウントアップを開始し、LATEN_SがHになる。比較器221は、オペアンプ213の出力信号とランプ信号発生器230が出力するランプ信号とを比較する。ランプ信号の信号レベルがオペアンプ213の出力信号の値を上回った時点で、Latch_S223に出力する信号をLからHに反転させる(時刻t12)。Latch_S223はLATEN_SがHの状態で、比較器211からの信号がLからHに反転されると、その時にカウンタ231から出力されているカウンタ値を記憶する。この記憶されたカウンタ値がA信号レベルとなる。その後時刻t13において、ランプ信号の変化が終了し、LATEN_SがLとなる。
その後、時刻t14〜t15の間に、水平走査回路232から出力される制御信号hsr(h)が順次LからHになり、Lに戻る。これに伴い、スイッチ226,227がオフからオンになり、再びオフに戻る。各列のLatch_N222、Latch_S223に保持されたN信号データとA信号データは共通出力線228,229へそれぞれ読み出され、データ出力部233に入力される。データ出力部233では各列のA信号データとN信号データの差を外部へ出力する。
時刻t16において、再び制御信号TX_AがHになるとともに制御信号TX_BもHとなる。その後、時刻t17において、制御信号TX_AとTX_BがLになる。この動作により、フォトダイオード201a,201bの双方の光電荷がともにフローティングディフュージョン領域203へ転送される。そして、その変化に応じた電圧が増幅部204及び垂直出力線207を介して読み出し回路235へ出力される。垂直出力線207に読み出されたリセット信号レベルと基準電圧Vrefとの差分に基づく電圧がオペアンプ213から出力される。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。
次に、時刻t18において、ランプ信号発生器230はランプ信号の出力を開始する。同時にカウンタ231はリセット状態からカウントアップを開始し、LATEN_SがHになる。比較器221は、オペアンプ213の出力信号とランプ信号発生器230が出力するランプ信号とを比較する。ランプ信号の信号レベルがオペアンプ213の出力信号の値を上回った時点で、Latch_S223に出力する信号をLからHに反転させる(時刻t19)。Latch_S223はLATEN_SがHの状態で、比較器211からの信号がLからHに反転されると、その時にカウンタ231から出力されているカウンタ値を記憶する。この記憶されたカウンタ値がAB信号レベルとなる。その後時刻t20において、ランプ信号の変化が終了し、LATEN_SがLとなる。
その後、時刻t21〜t22の間に、水平走査回路232から出力される制御信号hsr(h)が順次LからHになり、Lに戻る。これに伴い、スイッチ226,227がオフからオンになり、再びオフに戻る。各列のLatch_N222、Latch_S223に保持されたN信号データとAB信号データは共通出力線228,229へそれぞれ読み出され、データ出力部233に入力される。データ出力部233では各列のAB信号データとN信号データの差を外部へ出力する。
最後に、時刻t23において制御信号RES_CがH、時刻t24に制御信号RESがH、時刻25において制御信号SELがLになり1行分の読み出し動作が完了する。この動作を所定の行数分繰り返すことにより1画面分の像信号を取得する。
本実施形態の撮像装置は、静止画モードと動画モードを備える。静止画モードでは、撮像素子100の全行分の画素データを読み出す。動画モードでは3行周期の行の画素データを読み出し、静止画モードより読み出す行数が少ない構成とする。ただし、静止画モードと動画モードの構成や読み出しはこれに限定されるものではない。
以上の動作により、ノイズが除去されたA信号とAB信号が得られる。このA信号は焦点検出信号として用いられ、AB信号は撮影された画像を構成するデータまたは焦点検出信号として用いられる。
次に撮像素子100が出力する画像データの処理について説明する。図5、図6は、位相差方式の焦点検出の概念を示す図である。まず、図5により、撮像素子100におけるピントと位相差との関係について説明する。
図5(a)は、ピント(焦点位置)が合っている場合における撮像レンズ302、被写体300、光軸301及び画素アレイ234の位置関係と光束を示している。また、図5(b)はピントが合っていない場合における位置関係と光束を示している。ここで示す画素アレイ234は、図1で示した画素アレイ234を断面方向から見たものである。
画素アレイ234の各画素にはマイクロレンズ236が1つ設けられている。上述したように、フォトダイオード201a,201bは、同一のマイクロレンズを通過した光を受光する構成となっている。フォトダイオード201a,201bには、後述する構成により位相差を持った別の像が入射される。ここではフォトダイオード201aをA像用光電変換部、フォトダイオード201bをB像用光電変換部とする。図5(a)、図5(b)においては、A像用光電変換部をA、B像用光電変換部をBと表記している。なお、本実施形態ではマイクロレンズ1つに対してフォトダイオードが2つ配置される構成であるがこれに限定されるものではない。マイクロレンズ1つに対してフォトダイオードが上下又は左右に複数配置される構成であればよい。
撮像レンズ302は、図1に示す第1レンズ群114、第2レンズ群116、第3レンズ群117を合わせて1つのレンズと考えた場合の等価的な撮像レンズを示している。被写体300から発せられた光は、光軸301を中心として、撮像レンズ302の各領域を通過し、撮像素子100の画素アレイ234に結像される。なお、ここでは射出瞳の位置と撮像レンズの中心位置は同一としている。
このような構成によれば、撮像光学系をA像用光電変換部から見た場合とB像用光電変換部から見た場合とで、撮像光学系の瞳が対称に分割されたことと等価となる。言い換えれば、撮像光学系からの光束が2つの光束に分割された、いわゆる瞳分割の構成となっている。それぞれの分割光束(第1の光束及び第2の光束)がA像用光電変換部及びB像用光電変換部に入射する。このように、A像用光電変換部とB像用光電変換部のそれぞれは、撮像光学系の射出瞳のうち互いに異なる瞳領域を通過した光を受光して光電変換することから、焦点検出画素として機能することができる。また、A像用光電変換部及びB像用光電変換部は、互いの信号を加算することで撮像画素としても機能することができる。
被写体300上の特定点からの光束は、A像用光電変換部に対応する分割瞳を通ってA像用光電変換部に入射する光束ΦLaと、B像用光電変換部に対応する分割瞳を通ってB像用光電変換部に入射する光束ΦLbとに分割される。これら2つの光束は、被写体300上の同一点から入射しているため、撮像光学系のピントが合った状態では、図5(a)に示すように、同一のマイクロレンズを通過して撮像素子上の1点に到達する。したがって、A像用光電変換部とB像用光電変換部からそれぞれ得られる像信号は互いに一致する。
しかしながら、図5(b)に示すように、光軸方向にYだけピントがずれている状態では、光束ΦLa,ΦLbのマイクロレンズへの入射角の変化分だけ光束ΦLa、ΦLbの到達位置が光軸と垂直方向に互いにずれる。したがって、A像用光電変換部とB像用光電変換部からそれぞれ得られる像信号には位相差が生じる。A像用光電変換部とB像用光電変換部のそれぞれ(すなわち、焦点検出画素)は、位相差を持った2つの被写体像(A像及びB像)を光電変換して焦点検出用の信号を生成する。この信号は、撮像素子100の外部へ出力され、AF動作に使用される。
撮像素子100は、上述したようにA像用光電変換部の信号(以下、焦点検出信号ともいう)のみを独立して読み出す第1の読み出しと、A像用光電変換部とB像用光電変換部の信号を加算した信号(以下、画像信号ともいう)を読み出す第2の読み出しとを行う。以降、撮像素子100から出力される、A信号をA像、A像用光電変換部とB像用光電変換部の信号を加算したAB信号をAB像とする。A像とAB像がAF演算部107へ入力され、後述する処理によりB像が生成され、AF動作に使用される。
なお、本実施形態では、1つのマイクロレンズに対して複数の光電変換部が配置され、瞳分割された光束が各光電変換部に入射される構成を示したが、本発明はこれに限定されるものではない。例えば焦点検出用画素の構成は、マイクロレンズ下に1つのPDを有し、遮光層により左右又は上下を遮光することで瞳分割を行う構成でもよい。また、離散的に配置された焦点検出用画素からA像信号及びB像信号を取得する構成でもよい。
AF演算部107では入力されたAB像とA像を使用して焦点検出動作を行う。図6(a)はピントが合っている図5(a)の状況におけるA像とB像の強度分布を示すグラフである。横軸は、画素位置を表し、縦軸は出力信号の強度を表す。ピントが合っている場合はA像とB像は一致する。図6(b)はピントが合っていない図5(b)の状況におけるA像とB像の強度分布を示すグラフである。この場合は、A像とB像は前述した理由により位相差を持ち、強度のピーク位置がずれ量Xだけずれている。AF演算部107では、フレームごとにずれ量Xを算出し、これを用いて所定の演算処理を行うことによりピントのずれ量、すなわち図5(b)におけるY値を算出する。AF演算部107は算出したY値をフォーカス駆動回路110に転送する。
フォーカス駆動回路110はAF演算部107から取得したY値に基づき第3レンズ群117を動かす量を算出し、フォーカスアクチュエータ112に駆動信号を出力する。第3レンズ群117は、フォーカスアクチュエータ112の駆動によりピントが合う位置まで移動し、ピントが合った状態が実現される。
次に、図7を用いて、本実施形態のAF演算部107の構成と動作について説明する。図7はAF演算部107の構成を示す図である。AF演算部107は、相関演算回路406、ラインメモリ403、演算制御回路404、メモリ408、メモリ制御部409、ピントずれ量算出部410、減算器411、減算器402、加算器407、FIFOメモリ400、演算領域設定部405及び補正回路401を有する。
AF演算部107に入力されたA像は、FIFOメモリ400に入力され、AF演算部107に入力されたAB像は減算器402に入力される。FIFOメモリ400は、A像とAB像のデータの入力タイミングを合わせる機能を有する。FIFOメモリ400から出力されるA像は補正回路401と減算器402に入力される。減算器402は、入力されたAB像からA像を減算してB像を算出し、補正回路401に出力する。このとき、A像とAB像は入力タイミングが合わせられているため、この減算は同じ画素位置のデータに対して行われる。
補正回路401は、入力される垂直同期信号及び水平同期信号に基づきA像とB像の画面に対する画素の位置を認識し、オフセットまたはゲイン補正を行う。ただし、補正内容に関してはこれに限定されるものではない。補正後のA像とB像はラインメモリ403に出力される。
演算制御回路404は、入力される水平同期信号に基づいてラインメモリ403に対してラインメモリ制御信号を出力する。ラインメモリ制御信号に応じて、ラインメモリ403に入力される1行分のA像とB像がラインメモリ403に書き込まれる。その後、演算制御回路404は、入力される垂直同期信号を参照し、A像とB像の画像データの1フレームにおける垂直位置を算出する。本実施形態では、焦点検出領域(AF領域)があらかじめCPU101によって演算領域設定部405に設定されている。そのため、演算制御回路404は、算出された垂直位置が設定された領域内である場合に、相関演算回路406に対して演算有効信号を出力する。演算制御回路404は、設定された1つ又は複数のAF領域に基づき、設定に対応する位置のA像とB像をラインメモリ403から相関演算回路406へ出力させる。相関演算回路406は、演算有効信号が、算出された垂直位置が設定された領域内であることを示している場合にA像とB像に対して相関演算を行い、加算器407に出力する。このように、相関演算回路406及び演算制御回路404は相関演算手段として機能する。
図8を参照して、相関演算回路406で行われる相関演算の処理について説明する。図8(a)に示す複数のグラフは画素の水平方向の位置に対するA像とB像のレベル(強度)を示す。各グラフでは、A像の位置が−SからSの範囲でシフト移動されている。このように、相関演算回路406には、A像が水平方向にシフト移動されながら入力される。ここでは、A像データを左にシフトする場合のシフト量をマイナス、A像データを右にシフトする場合のシフト量をプラスとする。
相関演算回路406は、各位置ごとに対応するA像とB像の差の絶対値を算出し、各画素位置のこの絶対値データを加算したものを1行分の相関値として算出する。図8(b)は、図8(a)の例において各シフト量に対し算出される相関値を示すグラフである。図8(a)に示される例ではA像とB像はシフト量=Xで重なるような焦点位置となっている。この場合、図8(b)に示すようにシフト量=Xのときに相関値が最小となる。なお、本実施形態に適用可能な相関値の算出方法はこれに限定されるものではない。A像とB像の相関を示す算出方法であれば、いずれの方法でも適用することが可能である。
演算制御回路404は、入力される垂直同期信号と水平同期信号に基づき、入力されるA像とAB像が設定された領域内であるか否かを判断する。A像とAB像が設定された領域内である場合には、どのAF領域であるかを示す領域番号をメモリ制御部409に対して出力する。メモリ制御部409は領域番号を参照し、メモリ408に対し、演算対象行より前の行の相関演算結果を加算器407に出力する制御信号を出力する。加算器407は、相関演算回路406から出力される相関データと、メモリ408から出力される前の行の相関演算結果とをシフト量ごとに加算する(加算手段)。このようにして算出された1つのAF領域のシフト量ごとの相関値(相関データ)はメモリ408に出力され、メモリ408に保持される。
設定された1つ又は複数のAF領域内の相関演算が終了すると、ピントずれ量算出部410はメモリ408にメモリ制御信号を出力する。メモリ408はメモリ制御信号に応じて各AF領域の相関データを出力する。同時にCPU101はROM105に格納されている、後述する補正値をAF演算部107へ転送する。減算器411では、メモリ408から出力されるデータから、入力される補正値を減算し、減算結果はピントずれ量算出部410に入力される。ピントずれ量算出部410は、各AF領域の相関データに基づいてピントずれ量(Y値)を算出し、出力する。
次に、本実施形態における撮像装置1000の動作について、図9、図10のフローチャートを用いて説明する。本実施形態の撮像装置1000は、工場出荷時に事前に動作させる補正値取得モードと、ユーザーが通常撮影を行う通常モードを備える。補正値取得モードでは、通常撮影時に相関演算を行う時に使用する補正値を取得し、撮像装置内のROM105内に記憶する。
初めに、図9を用いて補正値取得モードについて説明する。操作部102を操作して補正値取得モードがオンになると、撮像装置1000は補正値を取得するための撮影を開始する。まずステップS100において、CPU101はフォーカルプレーンシャッタ109を閉じた状態にする。これにより撮像素子100は遮光された状態となる。
次にステップS101において、撮像素子100に対してCPU101はISO感度100(ISO100)に相当するゲインの設定を行う。撮像素子100ではISO100の設定を行われることにより、制御信号GAIN0がHになる。これにより、画素信号の読み出しが行われる際にはフィードバック容量214を使用した場合の反転ゲインで画素信号が増幅されることになる。
その後ステップS102にて、CPU101は相関演算の演算領域の設定をAF演算部107に対して行う。設定が行われると、演算領域設定部405に演算領域が設定される。図11(a)にこの時の演算領域(補正値算出領域)を示す。A像、AB像が読み出される画像を303で示す。本実施形態の画素アレイ234は上部に遮光されたOB画素(オプティカルブラック画素)を持つ。演算領域304はOB画素ではない通常画素の領域に位置し、図11(a)に示すようにa00〜a22の領域で分割された構成となっている。
その後ステップS103において画像の読み出しが開始される。補正値取得モードでは、動画モードで撮影が開始される。画像読み出しが行われると、読み出されるA像とAB像はAF演算部107へ転送される。A像とAB像が転送されると、前述した動作により相関演算が行われる。
相関演算の結果は、図12(a)に示すように、a00〜a22の領域毎の、シフト量−S〜Sの結果がメモリ408に格納される。図12(a)には、例えば領域a00のシフト量Sの補正値がa00(S)としてメモリ408に格納される状態が示されている。この格納された相関演算結果は、遮光された状態、すなわちランダムノイズに関連する相関値であり、補正値となる。
次にステップS105において、CPU101はメモリ408に格納された補正値をROM105へ書き込む。ステップS106ではステップS101からステップS105の処理が、撮像装置が備えるISO感度について全て行われたかを判断する。ここでは全てのISO感度について行われていないので、ステップS101に戻る。
次にステップS101において、撮像素子100に対してCPU101はISO感度200(ISO200)に相当するゲインの設定を行う。撮像素子100ではISO200の設定を行われることにより、制御信号GAIN1がHになる。これにより、画素信号の読み出しが行われる際にはフィードバック容量215を使用した場合の反転ゲインで画素信号が増幅されることになる。その後ステップS102からステップS105については前述した動作と同様である。
このステップS101からステップS106までの動作がISO感度100〜400について全て行われると、補正値の取得が終了する。補正値の取得が終了すると、ROM105には図12(b)に示すようにISO100〜ISO400の補正値500〜502が格納されることになる。
次に図10を用いて、通常モードの動作について説明する。操作部102を操作して動画撮影が開始されると、まずステップS200において、CPU101はフォーカルプレーンシャッタ109を開いた状態にする。これにより撮像素子100は露光可能な状態となる。
次にステップS201において、撮影開始時またはISO感度変更時であるかを判断する。ここでは動画撮影開始時なので、ステップS202へ進む。撮影開始時またはISO感度変更時ではない場合は、ステップS203へ進む。
ステップS202では、撮像素子100に対してCPU101はISO感度に応じたゲインの設定を行う。ここではISO感度100が選択されているものとし、撮像素子100ではISO100の設定が行われることにより、制御信号GAIN0がHになる。これにより、画素信号の読み出しが行われる際にはフィードバック容量214を使用した場合の反転ゲインで画素信号が増幅されることになる。
次にステップS203で操作部102に含まれるAFスイッチが押下されたかを判断する。ここでAFスイッチが押下されていた場合にはステップS204へ進む。AFスイッチが押下されていない場合には、ステップS211へ進む。
ステップS211では、画像の読み出しが開始される。画像読み出しが行われると、読みだされたAB像は画像処理部106へ転送される。画像処理部106では、AB像は所定の画像補正や圧縮が行われ、その後動画ファイルとして記録部108に記録される。その後ステップS207へ進む。
ステップS204において、CPU101は相関演算の演算領域の設定をAF演算部107に対して行う。設定が行われると、演算領域設定部405に演算領域が設定される。図11(b)にこの時の演算領域を示す。演算領域305はOB画素ではない通常画素の領域に位置し、図11(b)に示すようにb00〜b22の領域で分割された構成となる。このb00〜b22の各領域が含む画素数は、垂直方向画素数、水平方向画素数ともに前述したa00〜a22の各領域が含む画素数とそれぞれ同じとする。
その後ステップS205において、画像の読み出しが開始される。画像読み出しが行われると、読み出されたAB像は画像処理部106へ転送される。画像処理部106では、AB像は所定の画像補正や圧縮が行われ、その後動画ファイルとして記録部108に記録される。また、読み出されるA像とAB像はAF演算部107へ転送される。A像とAB像が転送されると、前述した動作により相関演算が行われる。
相関演算の結果については、図13に示すように、b00〜b22の領域毎の、シフト量−S〜Sの結果がメモリ408に格納される。相関演算が終了すると、ピントずれ量算出部410はメモリ408にメモリ制御信号を出力する。メモリ408はメモリ制御信号に応じて各AF領域の相関データを出力する。同時にCPU101はROM105に格納されている図12(b)に示すような補正値をAF演算部107へ転送する。ここでは、ISO100の補正値である補正値500が転送される。減算器411では、メモリ408から出力される領域b00〜b22のデータから、補正値500であるa00〜a22に対応する補正値を減算する。例えば、領域a00のシフト量Sの補正値をa00(S)、領域b00のシフト量Sのデータをb00(S)とすると、以下のような計算を行う。
b00(−S)−a00(−S)
b00(−S+1)−a00(−S+1)
…
b00(S−1)−a00(S−1)
b00(S)−a00(S)
b01(−S)−a01(−S)
b01(−S+1)−a01(−S+1)
…
b01(S−1)−a01(S−1)
b01(S)−a01(S)
…
b22(−S)−a22(−S)
b22(−S+1)−a22(−S+1)
…
b22(S−1)−a22(S−1)
b22(S)−a22(S)
上記のように、領域b00〜b22の相関量のデータから、それに対応する領域a00〜a22の同じシフト量Sの遮光時の相関量のデータを減算することにより、ノイズが補正された相関量を得ることができる。
b00(−S+1)−a00(−S+1)
…
b00(S−1)−a00(S−1)
b00(S)−a00(S)
b01(−S)−a01(−S)
b01(−S+1)−a01(−S+1)
…
b01(S−1)−a01(S−1)
b01(S)−a01(S)
…
b22(−S)−a22(−S)
b22(−S+1)−a22(−S+1)
…
b22(S−1)−a22(S−1)
b22(S)−a22(S)
上記のように、領域b00〜b22の相関量のデータから、それに対応する領域a00〜a22の同じシフト量Sの遮光時の相関量のデータを減算することにより、ノイズが補正された相関量を得ることができる。
なお、厳密には、補正量を演算するための相関演算の演算領域a00〜a22と、AFのための相関演算の演算領域b00〜b22は、撮像素子の画面上の位置が一致していることが好ましい。しかし、本実施形態のように、補正量を演算するための相関演算の演算領域とAFのための相関演算の演算領域の位置が異なっていたとしても、ノイズとして表れるシフト量0での相関量は、大きくは変わらないため、十分な効果が得られる。なお、演算量やデータを記憶するための記憶容量が大きくなることを許容できる場合には、a00〜a22のように限られた領域だけでなく、画面全体の各領域について補正量を演算して記憶しておけば、補正の精度をより向上させることもできる。
上記の補正値減算の概念を図14に示す。図14(a)〜(c)は合焦している場合(X=0)の相関データを示している。図14(a)はメモリ408に格納される相関演算結果のうち、1領域(例えばb00)のシフト量−S〜Sの相関データを示している。また、図14(b)はROM105に格納される補正値500の1領域(例えばa00)のシフト量−S〜Sの相関データを示している。補正値500は遮光状態で取得した相関データなので、図14(b)に示すようにシフト量=0で相関量データが大きくなっている。これは前述した、A+B像からA像を減算してB像を生成し相関演算を行ったことに起因して、A像に重畳されるランダムノイズ量の符号が反転したランダムノイズ量がB像に重畳された結果である。これは、シフト量=0の時に相関演算時に重畳されるN[A]*2のノイズ量であり、露光した画像から取得した相関データにも同様の相関量が図14(a)のように重畳される。これは前述した図28(a)の状態である。このように相関データの波形に複数の極小点ができてしまうが、上述する補正値の減算(補正)を行うと、図14(c)に示すように、シフト量=0にある遮光状態での相関量がキャンセルされる。
減算結果はピントずれ量算出部410に入力される。ピントずれ量算出部410は、各AF領域の相関データに基づいてピントずれ量(Y値)を算出し、RAM104へ出力する。この時、遮光状態で発生する相関量に依存する、複数の極小点が補正された相関データでピントずれ量を算出するので、適切にY値を算出することができる。
次にステップS206において、CPU101はRAM104に格納されているY値と所定の閾値を比較し、所定の閾値よりフォーカスレンズの駆動距離が小さい場合には合焦していると判断し、ステップS207へと進む。合焦していないと判断した場合には、ステップS210へと進む。ステップS210においては、CPU101は、RAM104に格納されている各領域のY値の中から、フォーカス駆動回路110に転送する駆動距離情報を選択する。本実施形態ではピント位置が最も近い領域の駆動距離情報として、領域b11の駆動距離情報を選択する。その後CPU101は選択した駆動距離情報をフォーカス駆動回路110に転送する。フォーカス駆動回路110は駆動距離情報に基づいてフォーカスアクチュエータ112の駆動信号を生成し(駆動信号生成手段)、第3レンズ群117を光軸方向に進退駆動して焦点調節を行う。その後ステップS204へ戻る。
ステップS206において、合焦していると判断されてステップS207に進むと、ステップS207では、CPU101は、操作部102に含まれる静止画撮影スイッチがユーザーにより押下されたか否かを判断する。静止画撮影スイッチが押下されたと判断した場合には、ステップS208に進む。静止画撮影スイッチが押下されていないと判断した場合にはステップS209に進む。
静止画撮影スイッチが押下された場合、ステップS208において、動画撮影を中断し、静止画撮影を行う。その後、動画撮影を再開し、ステップS209に進む。ステップS209において、CPU101は、動画撮影スイッチがユーザーにより押下されたか否かを判断する。動画撮影スイッチが押下されたと判断した場合には、動画撮影を終了する。動画撮影スイッチが押下されていないと判断した場合にはステップS201へと戻り、ISO感度が変更されているかを判断する。
ステップS201において、ISO感度が変更されている場合にはステップS202へ進み、撮像素子100に対してCPU101は変更後のISO感度に対応したゲインの設定を行う。ここで、ISO感度がISO200の場合は制御信号GAIN1がHになる設定がなされ、ISO感度が400の場合は制御信号GAIN2がHになる設定がなされる。これに対応して、ステップS205での相関演算の際にROM105からは、ISO200の場合は補正値501が、ISO400の場合は補正値502がAF演算部107へ転送されることとなる。
上記の動作により、被写体像から得られる相関値とは関係のないランダムノイズ等のノイズ成分に関連する相関値が相関演算結果に重畳されている場合でも、被写体像の相関値を算出して適切なピント位置検出を行うことができる。その結果、低輝度や低コントラストの被写体に対してもピントを合わせることができる。また、ISO感度の変更などで画像に適用されるゲインが変更されてノイズ量が変わった場合でも、ノイズ量に応じた相関演算結果の補正を行うことができる。
本実施形態では、ノイズ量に応じた補正値を持つ構成としたが、本発明はこれに限定されるものではない。温度範囲毎に補正値を持ち、撮影時の環境温度毎に補正値を変更する構成でもよい。また、蓄積時間範囲毎に補正値を持ち、撮影時の蓄積時間毎に補正値を変更する構成なども適用することができる。つまり、被写体像から得られる相関値とは関係のない相関量が変わる条件毎に補正値を持つ構成であれば適用することができる。
(第2の実施形態)
次に本発明の第2の実施形態に係わる撮像装置について説明する。本実施形態の撮像装置の構成は図1に示した第1の実施形態の構成と同じであるため説明を省略する。
次に本発明の第2の実施形態に係わる撮像装置について説明する。本実施形態の撮像装置の構成は図1に示した第1の実施形態の構成と同じであるため説明を省略する。
本実施形態の撮像装置は、AF演算部の内部回路構成が異なる。図15は、第2の実施形態におけるAF演算部107Aの構成を示す図である。本実施形態のAF演算部107Aは、減算器412、セレクタ413を有する。その他の構成要素と各々の動作については第1の実施形態でのAF演算部107と同様であり、説明を省略する。第1の実施形態と異なる構成と動作について、以下に説明する。
本実施形態において、AF演算部107Aは補正値取得モードと焦点検出モードを有する。補正値取得モードでは、CPU101はセレクタ413を制御し、減算器412の出力である入力1をセレクトする。減算器412は0値から相関演算回路406から出力された相関データを減算する。即ち、相関データが負の値に変換される(正負が変換される)こととなる。加算器407は、負の値に変換された相関データと、メモリ408から出力される前の行の相関演算結果とをシフト量ごとに加算する(加算手段)。このようにして算出された1つのAF領域のシフト量ごとの相関値(相関データ)はメモリ408に出力され、メモリ408に保持される。この動作により、補正値取得モードでは、指定された領域の相関演算結果が補正値として負の値で格納されることとなる。
焦点検出モードでは、CPU101はセレクタ413を制御し、相関演算回路406から出力される相関データがそのまま入力される、入力0をセレクトする。加算器407は、相関演算回路406から出力される相関データと、メモリ408から出力される前の行の相関演算結果とをシフト量ごとに加算する(加算手段)。この際、最初の行の加算時はメモリ408からは補正値が出力され、相関データと補正値が加算される。以降の行については、補正値と前の行の相関演算結果の加算結果に、次の行の相関データが加算されることとなる。
ここで、図16を用いて本実施形態における撮像装置の動作について説明する。操作部102を操作して動画撮影が開始されると、まずステップS300においてCPU101はフォーカルプレーンシャッタ109を開いた状態にする。これにより撮像素子100は露光可能な状態となる。
次にステップS301において、撮影開始時またはISO感度変更時であるかを判断する。ここでは動画撮影開始の時点なので、ステップS302へ進む。撮影開始時またはISO感度変更時ではない場合は、ステップS303へ進む。
ステップS302は、図10に示したステップS202と同じ動作のため、説明を省略する。次にステップS303で操作部102に含まれるAFスイッチが押下されたかを判断する。ここでAFスイッチが押下されていた場合は、ステップS312へ進む。AFスイッチが押下されていない場合には、ステップS311へ進む。ステップS311における動作は、図10におけるステップS211の動作と同様のため、説明を省略する。
ステップS312において、CPU101は補正値を取得するための相関演算の演算領域の設定をAF演算部107Aに対して行う。設定が行われると、演算領域設定部405に演算領域が設定される。図17(a)はこの時の演算領域を示す図である。演算領域306はOB画素領域に位置し、図17(a)に示すようにc00〜c22の領域で分割された構成となる。このc00〜c22の領域の垂直方向画素数、水平方向画素数、及び水平方向の位置は、後述する焦点検出を行う演算領域と同じになるように設定される。
その後ステップS313において画像の読み出しが開始される。画像読み出しが行われると、読み出されたAB像は画像処理部106へ転送される。画像処理部106では、AB像は所定の画像補正や圧縮が行われ、その後動画ファイルとして記録部108に記録される。また、読み出されるA像とAB像はAF演算部107Aへ転送される。AF演算部107Aでは、A像とAB像が転送されると、前述した動作により相関演算が行われる。 この時、CPU101はセレクタ413を制御し、減算器412の出力である入力1をセレクトする。これによりメモリ408には、図18(a)に示すようにc00〜c22の領域毎の、シフト量−S〜Sの結果が負の値として格納される。その後、ステップS304へ進む。
ステップS304において、CPU101はAFのための相関演算の演算領域をAF演算部107Aに対して行う。設定が行われると、演算領域設定部405に演算領域が設定される。図17(b)にこの時の演算領域を示す。演算領域307はOB画素ではない通常画素の領域に位置し、図17(b)に示すようにd00〜d22の領域で分割された構成となる。このd00〜d22の各領域が含む画素数は、垂直方向画素数、水平方向画素数ともに前述したc00〜c22の各領域が含む画素数とそれぞれ同じにする。また、領域の水平方向位置についても、図17(b)のp、q、r、sの座標に示すようにd00〜d22の各領域の座標はc00〜c22の座標と同じにする。
その後ステップS305において画像の読み出しが開始される。画像読み出しが行われると、読みだされたAB像は画像処理部106へ転送される。画像処理部106では、AB像は所定の画像補正や圧縮が行われ、その後動画ファイルとして記録部108に記録される。また、読み出されるA像とAB像はAF演算部107Aへ転送される。AF演算部107Aでは、A像とAB像が転送されると、前述した動作により相関演算が行われる。
この時、CPU101はセレクタ413を制御し、相関演算回路406の出力をそのまま入力する入力0をセレクトする。相関演算の結果は、図18(b)に示すようにメモリ408に格納される補正値に対して、加算される。例えば、領域c00のシフト量Sの補正値をc00(S)、領域d00のシフト量Sのデータをd00(S)とすると、以下のような計算を行う。
−c00(−S)+d00(−S)
−c00(−S+1)+d00(−S+1)
…
−c00(S−1)+d00(S−1)
−c00(S)+d00(S)
−c01(−S)+d01(−S)
−c01(−S+1)+d01(−S+1)
…
−c01(S−1)+d01(S−1)
−c01(S)+d01(S)
…
−c22(−S)+d22(−S)
−c22(−S+1)+d22(−S+1)
…
−c22(S−1)+d22(S−1)
−c22(S)+d22(S)
上記のように領域c00〜c22がそれぞれ領域d00〜d22に対応し、図18(b)に示すように各領域内で対応するシフト量のデータが減算されたデータがメモリ408に格納されることとなる。
−c00(−S+1)+d00(−S+1)
…
−c00(S−1)+d00(S−1)
−c00(S)+d00(S)
−c01(−S)+d01(−S)
−c01(−S+1)+d01(−S+1)
…
−c01(S−1)+d01(S−1)
−c01(S)+d01(S)
…
−c22(−S)+d22(−S)
−c22(−S+1)+d22(−S+1)
…
−c22(S−1)+d22(S−1)
−c22(S)+d22(S)
上記のように領域c00〜c22がそれぞれ領域d00〜d22に対応し、図18(b)に示すように各領域内で対応するシフト量のデータが減算されたデータがメモリ408に格納されることとなる。
上記の補正値減算の概念を図19に示す。図19(a)〜図19(c)は合焦している場合(X=0)の相関データを示す。図19(a)は焦点検出時の相関演算結果のうち、1領域(例えばd00)のシフト量−S〜Sの相関データを示す。また、図19(b)は補正値取得時の1領域(例えばc00)のシフト量−S〜Sの相関データ(補正値)を示す。これは、前述したA+B像からA像を減算してB像を生成し相関演算を行った場合に、A像に重畳されるランダムノイズ量の符号が反転したランダムノイズ量がB像に重畳された結果である。これは、シフト量=0の時に相関演算時に重畳されるN[A]*2のノイズ量であり、焦点検出時の相関データにも同様の相関量が図19(a)のように重畳される。これは前述した図28(a)の状態である。このように相関データの波形に複数の極小点ができてしまう。c00の相関データはOB領域で取得した相関データを負の値に変換したデータなので、上述するように補正値に焦点検出時の相関データが加算されると、図19(c)に示すように、シフト量=0にあるノイズとなる遮光状態での相関量がキャンセルされる。
減算結果はピントずれ量算出部410に入力される。ピントずれ量算出部410は、各AF領域の相関データに基づいてピントずれ量(Y値)を算出し、RAM104へ出力する。この時、遮光状態で発生する相関量に依存する、複数の極小点が補正された相関データでピントずれ量を算出するので、適切にY値を算出することができる。その後、ステップS306へ進む。
ステップS306からステップS310の動作は図10に示すステップS206からステップS210までの動作と同様のため、説明を省略する。
なお、ステップS309において、動画撮影スイッチが押下されていないと判断され、ステップS301に戻った場合には、ステップS301において、ISO感度が変更されているかを判断する。ISO感度が変更されている場合には、ステップS302へ進み、撮像素子100に対してCPU101は変更後のISO感度に対応したゲインの設定を行う。ここで、ISO感度がISO200の場合は制御信号GAIN1がHになる設定がなされ、ISO感度が400の場合は制御信号GAIN2がHになる設定がなされる。この動作により、焦点検出時のISO感度に対応した補正値をステップS313で生成し、補正することができる。
上記の動作により、被写体像から得られる相関値とは関係のないランダムノイズ等のノイズ成分に関連する相関値が相関演算結果に重畳されている場合でも、被写体像の相関値を算出して適切なピント位置検出を行うことができる。その結果、低輝度や低コントラストの被写体に対してもピントを合わせることができる。
また、ISO感度の変更などで画像に適用されるゲインが変更されてノイズ量が変わった場合でも、ノイズ量に応じた相関演算結果の補正を行うことができる。その際、ランダムノイズ等のノイズ成分に関連する相関値(補正値)は、焦点検出を行う直前に取得されるため、温度などによってノイズ量が変化した場合でも変化に追従した補正値を適用することができる。
また、焦点検出時の演算領域と補正値取得時の演算領域を水平方向に合わせることにより、水平方向に異なるゲイン量の補正等が適用されて画像内でノイズ量が変わる場合でも対応した補正をすることができる。
また、補正値は焦点検出時の相関データを格納するメモリと同じメモリに格納されるため、補正値用のメモリを持つ必要がない。
さらには、補正値を直前に取得する構成により、補正値を記憶するための記憶領域や、補正値を取得するための製造工程などが必要ない。
(第3の実施形態)
次に本発明の第3の実施形態に係わる撮像装置について説明する。本実施形態の撮像装置の構成は、図1に示した第1の実施形態の構成と同じであるため説明を省略する。
次に本発明の第3の実施形態に係わる撮像装置について説明する。本実施形態の撮像装置の構成は、図1に示した第1の実施形態の構成と同じであるため説明を省略する。
本実施形態の撮像装置は、AF演算部の内部回路構成が異なる。図20は、本実施形態におけるAF演算部107Bの構成を示す図である。本実施形態のAF演算部107Bは、減算器412、セレクタ413、乗算器414、比率設定部415、演算制御回路416、補正値演算領域設定部417、メモリ制御部418を有する。その他の構成要素と各々の動作については第1の実施形態でのAF演算部107と同様であり、説明を省略する。第1の実施形態と異なる構成と動作について、以下に説明する。
本実施形態においては、AF演算部107Bは1フレームの画像の中で補正値を取得するための相関演算領域を設定する補正値演算領域設定部417と、焦点検出を行うための相関演算領域を設定する演算領域設定部405を有する。CPU101によって補正値演算領域設定部417と演算領域設定部405が設定される。演算制御回路416は、算出された垂直位置が設定された補正値演算領域または焦点検出演算領域内である場合に、相関演算回路406に対して演算有効信号を出力する。演算制御回路416は、設定されたAF領域に基づき、設定に対応する位置のA像とB像をラインメモリ403から相関演算回路406へ出力させる。相関演算回路406は、演算有効信号が、算出された垂直位置が設定された領域内であることを示している場合にA像とB像に対して相関演算を行い、乗算器414またはセレクタ413に出力する。また、演算制御回路416はセレクタ413に対してセレクト信号を出力する。演算制御回路416はセレクタ413に対して、補正値演算領域の場合には減算器412の出力である入力1をセレクトし、焦点検出演算領域の場合には相関演算回路406の出力である入力0をセレクトするセレクト信号を出力する。このように、相関演算回路406及び演算制御回路416は相関演算手段として機能する。
乗算器414には、相関演算回路406の出力である相関データと、CPU101によって設定される比率設定部415の値が入力される。この2つの入力の乗算結果が減算器412に入力される。減算器412は、0値から相関演算回路406から出力される相関データを減算する。即ち、相関データが負の値に変換されることとなる。補正値演算領域内の画像を処理する時には、演算制御回路416はセレクタ413に対して入力1をセレクトする信号を出力する。そして、加算器407は、比率設定部415により設定された値と相関データを乗じた値を負の値に変換した相関データと、メモリ408から出力される前の行の相関演算結果とをシフト量ごとに加算する(加算手段)。このようにして算出された1つのAF領域のシフト量ごとの相関値(相関データ)はメモリ408に出力され、メモリ408に保持される。この動作により、補正値取得モードでは、指定された領域の相関演算結果が補正値として負の値で格納されることとなる。
焦点検出演算領域内の画像を処理する時には、演算制御回路416はセレクタ413に対して入力0をセレクトする信号を出力し、加算器407には相関演算回路406から出力される相関データがそのまま入力される。加算器407は、相関演算回路406から出力される相関データと、メモリ408から出力される前の行の相関演算結果とをシフト量ごとに加算する(加算手段)。この際、最初の行の加算時はメモリ408からは補正値が出力され、相関データと補正値が加算される。以降の行については、補正値と前の行の相関演算結果の加算結果に、次の行の相関データが加算されることとなる。メモリ制御部418は、補正値演算領域内の画像を処理する場合には、加算器407の出力を複数箇所にコピーする機能を有する。具体的な動作については後述する。
ここで、図21を用いて本実施形態における撮像装置の動作について説明する。操作部102を操作して動画撮影が開始されると、まずステップS400においてCPU101はフォーカルプレーンシャッタ109を開いた状態にする。これにより撮像素子100は露光可能な状態となる。
次にステップS401において、撮影開始時またはISO感度変更時であるかを判断する。ここでは動画撮影開始時なので、ステップS402へ進む。撮影開始時またはISO感度変更時ではない場合は、ステップS403へ進む。ステップS402での動作は、図10におけるステップS202と同じ動作のため、説明を省略する。
次にステップS403で操作部102に含まれるAFスイッチが押下されたかを判断する。ここでAFスイッチが押下されていた場合はステップS412へ進む。AFスイッチが押下されていない場合には、ステップS411へ進む。ステップS411の動作は図10におけるステップS211の動作と同様のため、説明を省略する。
ステップS412において、CPU101は補正値を取得するための相関演算の演算領域の設定をAF演算部107Bに対して行う。設定が行われると、補正値演算領域設定部417に演算領域が設定される。図22にこの時の演算領域として演算領域308を示す。演算領域308はOB画素領域に位置し、図22に示すようにe00〜e02の領域に分割された構成となる。このe00〜e02の領域の水平方向画素数及び水平方向の位置は、後述する焦点検出を行う演算領域f00〜f22と同じになるように設定される。また、e00〜e02の領域の垂直方向画素数はv_obとする。また、CPU101は、比率設定部415に対して補正値演算領域の垂直画素数(v_ob)と、焦点検出演算領域の垂直画素数(後述するv)の比を設定する。本実施形態では、α=v/v_obであるαを設定する。
ステップS404において、CPU101はAFのための相関演算の演算領域の設定をAF演算部107Bに対して行う。設定が行われると、演算領域設定部405に演算領域が設定される。図22にこの時の演算領域として演算領域309を示す。演算領域309はOB画素ではない通常画素の領域に位置し、図22に示すようにf00〜f22の領域で分割された構成となる。このf00〜f22の各領域が含む画素数は、水平方向画素数は前述したe00〜e02の各領域が含む画素数とそれぞれ同じにする。また、領域の水平方向位置についても、図22のp、q、r、sの座標に示すようにf00〜f22の各領域の座標はe00〜e22の座標と同じにする。また、f00〜f22の領域の垂直方向画素数はvとする。なお、本実施形態におけるv_obとvの大小関係は、v_ob<vとする。
その後ステップS405において画像の読み出しが開始される。画像読み出しが行われると、読みだされたAB像は画像処理部106へ転送される。画像処理部106では、AB像は所定の画像補正や圧縮が行われ、その後動画ファイルとして記録部108に記録される。また、読み出されるA像とAB像はAF演算部107へ転送される。A像とAB像が転送されると、前述した動作により相関演算が行われる。
処理する画像が補正値演算領域内である場合、演算制御部416はセレクタ413を制御し、減算器412の出力である入力1をセレクトする。これにより、相関データにαを乗じた値を負の値に変換したデータ(補正値)が、領域毎のシフト量毎−S〜Sの結果としてメモリ408に格納される。例えば、e00のシフト量=0の補正値は、
−e00(S)*α
として格納される。
−e00(S)*α
として格納される。
本実施形態のメモリ制御部418は、メモリ408に加算結果を格納する際、加算結果をコピーする機能を有する。図23(a)に示すように、e00〜e02の補正値を、それぞれ後述する領域f10〜f12、f20〜22に対応するようにコピーする。
その後、処理する画像が焦点検出演算領域内である場合、演算制御部416はセレクタ413を制御し、相関演算回路406の出力である入力0をセレクトする。相関演算の結果は、図23(b)に示すようにメモリ408に格納されている補正値に対して、加算される。例えば、領域e00のシフト量Sの補正値をe00(S)、領域f00のシフト量Sのデータをf00(S)とすると、以下のような計算を行う。
−e00(−S)*α+f00(−S)
−e00(−S+1)*α+f00(−S+1)
…
−e00(S−1)*α+f00(S−1)
−e00(S)*α+f00(S)
−e00(−S)*α+f01(−S)
−e00(−S+1)*α+f01(−S+1)
…
−e00(S−1)*α+f01(S−1)
−e00(S)*α+f01(S)
…
−e00(−S)*α+f22(−S)
−e00(−S+1)*α+f22(−S+1)
…
−e00(S−1)*α+f22(S−1)
−e00(S)*α+f22(S)
上記のように領域e00〜e02とf00〜f02、e00〜e02とf10〜f12、e00〜e02とf20〜f22がそれぞれ対応し、図23(b)に示すように各領域内で対応するシフト量のデータが減算されたデータがメモリ408に格納されることになる。
−e00(−S+1)*α+f00(−S+1)
…
−e00(S−1)*α+f00(S−1)
−e00(S)*α+f00(S)
−e00(−S)*α+f01(−S)
−e00(−S+1)*α+f01(−S+1)
…
−e00(S−1)*α+f01(S−1)
−e00(S)*α+f01(S)
…
−e00(−S)*α+f22(−S)
−e00(−S+1)*α+f22(−S+1)
…
−e00(S−1)*α+f22(S−1)
−e00(S)*α+f22(S)
上記のように領域e00〜e02とf00〜f02、e00〜e02とf10〜f12、e00〜e02とf20〜f22がそれぞれ対応し、図23(b)に示すように各領域内で対応するシフト量のデータが減算されたデータがメモリ408に格納されることになる。
上記の補正値減算の概念を図24、図25に示す。図24、図25は合焦している場合(X=0)の相関データである。図24(a)は焦点検出時の相関演算結果のうち、1領域(例えばf00)のシフト量−S〜Sの相関データである。また、図24(b)は補正値取得時の1領域(例えばe00)のシフト量−S〜Sの相関データ(補正値)である。
本実施形態ではv_ob<vなので、補正値取得時に相関演算回路406の出力をそのまま行毎に加算すると、図24(b)に示すように補正値としての相関データ(N[A]*2のノイズ量)が、焦点検出時の相関データに重畳される遮光状態の相関量よりも小さくなってしまう。よって各行の相関データに補正値演算領域と焦点検出演算領域の行数の比率であるαを乗じることにより、図24(c)に示すように補正値の絶対値を焦点検出時の相関データに重畳される遮光状態の相関量に対応させる。そして負の値に変換することにより、図25(a)に示す補正値を生成する。
焦点検出時の相関データは、図24(a)に示すようにシフト量=0で相関量が大きくなる、遮光状態での相関量が重畳されており、その結果相関データの波形に複数の極小点ができてしまう。e00の相関データはOB領域で取得した相関データを負の値に変換したデータなので、上述するように補正値に焦点検出時の相関データが加算されると、図25(b)に示すように、シフト量=0にある遮光状態での相関量がキャンセルされる。
加算結果はピントずれ量算出部410に入力される。ピントずれ量算出部410は、各AF領域の相関データに基づいてピントずれ量(Y値)を算出し、RAM104へ出力する。この時、遮光状態で発生する相関量に依存する、複数の極小点が補正された相関データでピントずれ量を算出するので、適切にY値を算出することができる。その後、ステップS406へ進む。
ステップS406からステップS410の動作は図10に示すステップS206からステップS210までの動作と同様のため、説明を省略する。
なお、ステップS409において、動画撮影スイッチが押下されていないと判断され、ステップS401に戻った場合には、ステップS401において、ISO感度が変更されている場合にはステップS402へ進み、撮像素子100に対してCPU101は変更後のISO感度に対応したゲインの設定を行う。ここで、ISO感度がISO200の場合は制御信号GAIN1がHになる設定がなされ、ISO感度が400の場合は制御信号GAIN2がHになる設定がなされる。
上記の動作により、被写体像から得られる相関値とは関係のないランダムノイズ等のノイズ成分に関連する相関値が相関演算結果に重畳されている場合でも、被写体像の相関値を算出して適切なピント位置検出を行うことができる。その結果、低輝度や低コントラストの被写体に対してもピントを合わせることができる。
その際、ランダムノイズ等のノイズ成分に関連する相関値(補正値)は、焦点検出をするフレーム(画像)と同じフレームのOB領域から取得される。これによりISO感度の変更などで画像に適用されるゲインが変更されてノイズ量が変わった場合でも、補正値を取得するためのフレームを必要とせず、即座に焦点検出を行うことができる。
また、焦点検出を行う際には同じフレームのOB領域から常に補正値を取得するので、ISO感度などの撮影条件が変化しない場合でも常に温度変化に追従した補正値を適用することができる。
本実施形態では、画素領域上部に位置するOB領域から補正値を取得する構成としたが本発明はこれに限定されるものではない。フォトダイオードがない画素の出力(光電変換部以外の信号)など、画像読み出し時のノイズ量(ノイズ読み出し)に関連がある撮像素子の信号出力であれば、読み出し画素の種類や補正値取得タイミングは本実施形態の構成に限定されるものではない。
(第4の実施形態)
次に本発明の第4の実施形態に係わる撮像装置について説明する。本実施形態の撮像装置の構成は、図1に示した第1の実施形態の構成と同じであるため説明を省略する。
次に本発明の第4の実施形態に係わる撮像装置について説明する。本実施形態の撮像装置の構成は、図1に示した第1の実施形態の構成と同じであるため説明を省略する。
本実施形態の撮像装置は、AF演算部の内部回路構成が異なる。図29は、本実施形態におけるAF演算部107Cの構成を示す図である。本実施形態のAF演算部107Cは、FIFOメモリ400、補正回路401、減算器402、ラインメモリ403、演算領域設定部405、相関演算回路406、加算器407、メモリ408、ピントずれ量算出部410、減算器411、減算器412を有する。また、セレクタ413、乗算器414、比率設定部415、演算制御回路416、補正値演算領域設定部417、メモリ制御部418、減算器419、平均回路420、平均シフト範囲設定部421、セレクタ422も有する。さらに、補正有効シフト範囲制御部423、補正有効範囲設定部424、遅延回路425を有する。
AF演算部107Cに入力されたA像は、FIFOメモリ400に入力され、AF演算部107Cに入力されたAB像は減算器402に入力される。FIFOメモリ400は、A像とAB像のデータの入力タイミングを合わせる機能を有する。FIFOメモリ400から出力されるA像は補正回路401と減算器402に入力される。減算器402は、入力されたAB像からA像を減算してB像を算出し、補正回路401に出力する。このとき、A像とAB像は入力タイミングが合わせられているため、この減算は同じ画素位置のデータに対して行われる。
補正回路401は、入力される垂直同期信号及び水平同期信号に基づき、A像とB像の画面に対する画素の位置を認識し、オフセット補正またはゲイン補正を行う。ただし、補正内容に関してはこれに限定されるものではない。補正後のA像とB像はラインメモリ403に出力される。
演算制御回路416は、入力される水平同期信号に基づいてラインメモリ403に対してラインメモリ制御信号を出力する。ラインメモリ制御信号に応じて、ラインメモリ403に入力される1行分のA像とB像がラインメモリ403に書き込まれる。その後、演算制御回路416は、入力される垂直同期信号を参照し、A像とB像の画像データの1フレームにおける垂直位置を算出する。
本実施形態においては、AF演算部107Cは1フレームの画像の中で補正値を取得するための相関演算領域を設定する補正値演算領域設定部417と、焦点検出を行うための相関演算領域を設定する演算領域設定部405を有する。CPU101によって補正値演算領域設定部417と演算領域設定部405が設定される。演算制御回路416は、算出された垂直位置が設定された補正値演算領域または焦点検出演算領域内である場合に、相関演算回路406に対して演算有効信号を出力する。演算制御回路416は、設定されたAF領域に基づき、設定に対応する位置のA像とB像をラインメモリ403から相関演算回路406へ出力させる。相関演算回路406は、演算有効信号が、算出された垂直位置が設定された領域内であることを示している場合にA像とB像に対して相関演算を行い、乗算器414またはセレクタ413に出力する。また、演算制御回路416はセレクタ413に対してセレクト信号を出力する。演算制御回路416はセレクタ413に対して、補正値演算領域の場合には減算器412の出力である入力1をセレクトし、焦点検出演算領域の場合には相関演算回路406の出力である入力0をセレクトするセレクト信号を出力する。このように、相関演算回路406及び演算制御回路416は相関演算手段として機能する。ここで、相関演算回路406で行われる相関演算の処理は、第1の実施形態において図8を参照して説明した処理と同様である。
乗算器414には、相関演算回路406の出力である相関データと、CPU101によって設定される比率設定部415の値が入力される。この2つの入力の乗算結果が減算器419に入力される。平均回路420では、CPU101によって平均シフト範囲設定部421に設定された設定値と演算制御回路416から出力される演算有効信号に基づき、後述するA像データのシフト範囲の相関値を平均する。減算器419では平均回路420から出力される相関値の平均値(Offset)が遅延回路425によって遅延された乗算器414の出力から減算される。減算器419の出力はセレクタ422の入力1に入力される。
補正有効シフト範囲制御部423は、CPU101によって補正有効範囲設定部424に設定された設定値と演算制御回路416から出力される演算有効信号に基づき、後述するA像データのシフト範囲が特定の範囲の時にセレクタ422に対して入力1をセレクトするセレクト信号を出力する。セレクタ422の入力0には0値が入力され、特定のシフト範囲以外(一部以外)の時にはセレクタ422から0値が出力される。
減算器412は、0値からセレクタ422から出力される相関データを減算する。即ち、相関データが負の値に変換されることとなる。補正値演算領域内の画像を処理する時には、演算制御回路416はセレクタ413に対して入力1をセレクトする信号を出力する。そして、加算器407は、比率設定部415により設定された値と相関データを乗じた値を負の値に変換した相関データと、メモリ408から出力される前の行の相関演算結果とをシフト量ごとに加算する(加算手段)。このようにして算出された1つのAF領域のシフト量ごとの相関値(相関データ)はメモリ408に出力され、メモリ408に保持される。この動作により、補正値取得モードでは、指定された領域の相関演算結果が補正値として負の値で格納されることとなる。
焦点検出演算領域内の画像を処理する時には、演算制御回路416はセレクタ413に対して入力0をセレクトする信号を出力し、加算器407には相関演算回路406から出力される相関データがそのまま入力される。加算器407は、相関演算回路406から出力される相関データと、メモリ408から出力される前の行の相関演算結果とをシフト量ごとに加算する(加算手段)。この際、最初の行の加算時はメモリ408からは補正値が出力され、相関データと補正値が加算される(補正制御)。以降の行については、補正値と前の行の相関演算結果の加算結果に、次の行の相関データが加算されることとなる。メモリ制御部418は、補正値演算領域内の画像を処理する場合には、加算器407の出力を複数箇所にコピーする機能を有する。具体的な動作については後述する。
設定された1つ又は複数のAF領域内の相関演算が終了すると、ピントずれ量算出部410はメモリ408にメモリ制御信号を出力する。メモリ408はメモリ制御信号に応じて各AF領域の相関データを出力する。同時にCPU101はROM105に格納されている、後述する補正値をAF演算部107Cへ転送する。減算器411では、メモリ408から出力されるデータから、入力される補正値を減算し、減算結果はピントずれ量算出部410に入力される。ピントずれ量算出部410は、各AF領域の相関データに基づいてピントずれ量(Y値)を算出し、出力する。
次に、本実施形態における撮像装置1000の動作について、図30のフローチャートを用いて説明する。操作部102を操作して動画撮影が開始されると、まずステップS500においてCPU101はフォーカルプレーンシャッタ109を開いた状態にする。これにより撮像素子100は露光可能な状態となる。
次にステップS501において、撮影開始時またはISO感度変更時であるかを判断する。ここでは動画撮影開始時なので、ステップS502へ進む。撮影開始時またはISO感度変更時ではない場合は、ステップS503へ進む。
ステップS502では、撮像素子100に対してCPU101はISO感度に応じたゲインの設定を行う。ここではISO感度100が選択されているものとし、撮像素子100ではISO100の設定が行われることにより、制御信号GAIN0がHになる。これにより、画素信号の読み出しが行われる際にはフィードバック容量214を使用した場合の反転ゲインで画素信号が増幅されることになる。
次にステップS503で操作部102に含まれるAFスイッチが押下されたかを判断する。ここでAFスイッチが押下されていた場合はステップS512へ進む。AFスイッチが押下されていない場合には、ステップS511へ進む。
ステップS511では、画像の読み出しが開始される。画像読み出しが行われると、読みだされたAB像は画像処理部106へ転送される。画像処理部106では、AB像は所定の画像補正や圧縮が行われ、その後動画ファイルとして記録部108に記録される。その後ステップS507へ進む。
ステップS512において、CPU101は補正値を取得するための相関演算の演算領域の設定をAF演算部107Cに対して行う。設定が行われると、補正値演算領域設定部417に演算領域が設定される。図31に、この時の演算領域として演算領域308を示す。演算領域308はOB画素領域に位置し、図31に示すようにe00〜e02の領域に分割された構成となる。このe00〜e02の領域の水平方向画素数及び水平方向の位置は、後述する焦点検出を行う演算領域f00〜f22と同じになるように設定される。また、e00〜e02の領域の垂直方向画素数はv_obとする。また、CPU101は、比率設定部415に対して補正値演算領域の垂直画素数(v_ob)と、焦点検出演算領域の垂直画素数(後述するv)の比を設定する。本実施形態では、α=v/v_obであるαを設定する。
次にステップS513において、CPU101は平均シフト範囲設定部421に対して平均回路420で平均する相関データのシフト範囲を設定する。ここでは、シフト量−hから−iの範囲の相関データを平均する設定にする。この時、平均するシフト範囲は、後述する補正有効範囲設定部に設定されるシフト範囲外を設定する。その後ステップS514へ進む。ステップS514では、CPU101は補正有効範囲設定部424に対して、補正が有効になるシフト範囲を設定する。ここでは、シフト量=0を補正有効範囲とする設定とする。その後ステップS504へ進む。
ステップS504において、CPU101はAFのための相関演算の演算領域の設定をAF演算部107Cに対して行う。設定が行われると、演算領域設定部405に演算領域が設定される。図31に、この時の演算領域として演算領域309を示す。演算領域309はOB画素ではない通常画素の領域に位置し、図31に示すようにf00〜f22の領域で分割された構成となる。このf00〜f22の各領域が含む画素数は、水平方向画素数は前述したe00〜e02の各領域が含む画素数とそれぞれ同じにする。また、領域の水平方向位置についても、図31のp、q、r、sの座標に示すようにf00〜f22の各領域の座標はe00〜e22の座標と同じにする。また、f00〜f22の各領域の垂直方向画素数はvとする。なお、本実施形態におけるv_obとvの大小関係は、v_ob<vとする。
その後ステップS505において画像の読み出しが開始される。画像読み出しが行われると、読みだされたAB像は画像処理部106へ転送される。画像処理部106では、AB像は所定の画像補正や圧縮が行われ、その後動画ファイルとして記録部108に記録される。また、読み出されるA像とAB像はAF演算部107Cへ転送される。A像とAB像が転送されると、前述した動作により相関演算が行われる。
処理する画像が補正値演算領域内(演算領域308内)である場合、相関演算回路406から順次出力される各行のシフト量−S〜Sの相関データは、比率設定部415に設定されたαが乗じられ、平均回路420に入力される。図32(a)に、平均回路420に入力される、例えばe00のような1領域内の1行分の相関データを示す。本実施形態では、画像に重畳されるランダムノイズの影響により、相関データは各シフト量で値が幅を持って変動している。また、下記理由により、シフト量=0の時に相関データのピークが生じる。
水平方向の第k列のPDの電荷に対応するA像信号をS[A(k)]、AB像信号をS[(A+B)(k)]とする。また、A像を読み出した時に画素データに重畳される読み出し回路に起因するランダムノイズをN[A(k)]、AB像を読み出した時に画素データに重畳される読み出し回路に起因するランダムノイズをN[(A+B)(k)]とする。上記に従ってB像を生成すると、
B像=AB像−A像
=(S[(A+B)(k)]+N[(A+B)(k)])−(S[A(k)]+N[A(k)])
=S[(A+B)(k)]−S[A(k)]+N[(A+B)(k)]−N[A(k)]
となる。
B像=AB像−A像
=(S[(A+B)(k)]+N[(A+B)(k)])−(S[A(k)]+N[A(k)])
=S[(A+B)(k)]−S[A(k)]+N[(A+B)(k)]−N[A(k)]
となる。
0ではないシフト量=Sの時の一列分の相関演算では、第m列のA像と、第n列のB像の相関演算を行うことになり、その時の相関値P(h)は、
P(h)=|A像−B像|
=|(S[A(m)]+N[A(m)])−(S[(A+B)(n)]−S[A(n)]+N[(A+B)(n)]−N[A(n)])|
=|S[A(m)]+S[A(n)]−S[(A+B)(n)]+N[A(m)]+N[A(n)]−N[(A+B)(n)]|
となる。ここでは、A像とB像の相関が高いほど、この相関値P(h)は値が小さくなる。
P(h)=|A像−B像|
=|(S[A(m)]+N[A(m)])−(S[(A+B)(n)]−S[A(n)]+N[(A+B)(n)]−N[A(n)])|
=|S[A(m)]+S[A(n)]−S[(A+B)(n)]+N[A(m)]+N[A(n)]−N[(A+B)(n)]|
となる。ここでは、A像とB像の相関が高いほど、この相関値P(h)は値が小さくなる。
また、シフト量=0の時の一列分の相関演算では、第m列のA像と、第m列のB像の相関演算を行うことになり、その時の相関値P(h)は、
P(h)=|A像−B像|
=|(S[A(m)]+N[A(m)])−(S[(A+B)(m)]−S[A(m)]+N[(A+B)(m)]−N[A(m)])|
=|S[A(m)]+S[A(m)]−S[(A+B)(m)]+N[A(m)]+N[A(m)]−N[(A+B)(m)]|
となる。
P(h)=|A像−B像|
=|(S[A(m)]+N[A(m)])−(S[(A+B)(m)]−S[A(m)]+N[(A+B)(m)]−N[A(m)])|
=|S[A(m)]+S[A(m)]−S[(A+B)(m)]+N[A(m)]+N[A(m)]−N[(A+B)(m)]|
となる。
ここで、0ではないシフト量=Sの場合と、シフト量=0の場合の相関値に重畳されるランダムノイズ量はそれぞれ、
シフト量=Sの場合:Noise(S)=N[A(m)]+N[A(n)]−N[(A+B)(n)]
シフト量=0の場合:Noise(0)=N[A(m)]+N[A(m)]−N[(A+B)(m)]
となる。
シフト量=Sの場合:Noise(S)=N[A(m)]+N[A(n)]−N[(A+B)(n)]
シフト量=0の場合:Noise(0)=N[A(m)]+N[A(m)]−N[(A+B)(m)]
となる。
N[A(m)]、N[A(n)]、N[(A+B)(n)]は互いに相関のないランダムノイズなので、Noise(S)は図32(a)のようにシフト量=0以外でおおよそ一定の値になる。一方Noise(0)については、N[A(m)]とN[(A+B)(m)]は互いに相関のないランダムノイズであるが、N[A(m)]が2倍(N[A(m)]*2)になり、Noise(S)よりも大きくなる。よって図32(a)に示すようにシフト量=0の時のみ、相関データが大きくなる(ピークが発生する)。
平均回路420はシフト量−hから−iの相関データを平均し、平均値(Offset)を算出する。乗算器414から出力される相関データは遅延回路425で遅延され、Offsetが算出されたタイミングで減算器419に入力される。減算器419において相関データからOffsetを減算し、セレクタ422へ出力する。セレクタ422の入力1へ入力される相関データを図32(b)に示す。
補正有効範囲設定部424に設定されたシフト範囲に基づき、補正有効シフト範囲制御部423はセレクタ422に対して入力1をセレクトするセレクト信号を出力する。ここではシフト量=0の時のみ入力1が選択され、それ以外のシフト範囲では入力0、すなわち0値が選択される。よってセレクタ422の出力は図32(c)に示すようにシフト量=0の時のみ有効な値となり、それ以外は0値となる。
この時、処理する画像が補正値演算領域内であるので演算制御部416はセレクタ413を制御し、減算器412の出力である入力1をセレクトする。これにより、上述する処理を行った図32(c)に示す相関データを負の値に変換したデータ(補正値)が、領域毎のシフト量−S〜Sの結果としてメモリ408に格納される。各行について同様に繰り返し、補正値の加算を行うと、例えば、e00のシフト量=0の補正値は、
−e00(0)*α
として格納される。また、シフト量=0以外のシフト量では補正値は0値となり、図32(d)のようになる。
−e00(0)*α
として格納される。また、シフト量=0以外のシフト量では補正値は0値となり、図32(d)のようになる。
本実施形態のメモリ制御部418は、メモリ408に加算結果を格納する際、加算結果をコピーする機能を有する。図33(a)に示すように、e00〜e02の補正値を、それぞれ後述する領域f10〜f12、f20〜22に対応するようにコピーする。
その後、処理する画像が焦点検出演算領域内である場合、演算制御部416はセレクタ413を制御し、相関演算回路406の出力である入力0をセレクトする。相関演算の結果は、図33(b)に示すようにメモリ408に格納されている補正値に対して、加算される。例えば、領域e00のシフト量Sの補正値をe00(S)、領域f00のシフト量Sのデータをf00(S)とすると、以下のような計算を行う。
0+f00(−S)
…
0+f00(−1)
−e00(0)*α+f00(0)
0+f00(1)
…
0+f00(S)
0+f01(−S)
…
0+f01(−1)
−e01(0)*α+f01(0)
0+f01(1)
…
0+f01(S)
…
0+f22(−S)
…
0+f22(−1)
−e02(0)*α+f22(0)
0+f22(1)
…
0+f22(S)
上記のように領域e00〜e02とf00〜f02、e00〜e02とf10〜f12、e00〜e02とf20〜f22がそれぞれ対応し、図33(b)に示すように各領域内で対応するシフト量のデータが減算されたデータがメモリ408に格納されることになる。
0+f00(−S)
…
0+f00(−1)
−e00(0)*α+f00(0)
0+f00(1)
…
0+f00(S)
0+f01(−S)
…
0+f01(−1)
−e01(0)*α+f01(0)
0+f01(1)
…
0+f01(S)
…
0+f22(−S)
…
0+f22(−1)
−e02(0)*α+f22(0)
0+f22(1)
…
0+f22(S)
上記のように領域e00〜e02とf00〜f02、e00〜e02とf10〜f12、e00〜e02とf20〜f22がそれぞれ対応し、図33(b)に示すように各領域内で対応するシフト量のデータが減算されたデータがメモリ408に格納されることになる。
上記の補正値減算の概念を図34に示す。図34は合焦している場合(X=0)の相関データである。図34(a)は焦点検出時の相関演算結果のうち、1領域(例えばf00)のシフト量−S〜Sの相関データである。シフト量=0の相関データには、前述したAB像からA像を減算してB像を生成することに起因するノイズが重畳され、相関データが大きくなっている。また、図34(b)は補正値取得時の1領域(例えばe00)のシフト量−S〜Sの相関データ(補正値)である。
本実施形態ではv_ob<vなので、各行の相関データに補正値演算領域と焦点検出演算領域の行数の比率であるαを乗じることにより、補正値の絶対値を焦点検出時の相関データに重畳される遮光状態の相関量に対応させている。また、ランダムノイズの影響による相関データのオフセット値を減算することにより、補正を適用するノイズ量のみを抽出した補正値としている。さらには、補正対象となるシフト量=0以外の補正値を0にすることにより、補正が補正対象となるシフト範囲以外の相関データに与える影響をなくしている。これらの処理を行った相関データを負の値に変換することにより、図34(b)に示す補正値を生成する。
焦点検出時の相関データは、図34(a)に示すようにシフト量=0で相関量が大きくなる遮光状態での相関量が重畳されており、その結果相関データの波形に複数の極小点ができてしまう。また、ランダムノイズの影響を受けて相関データは幅を持った波形となる。e00の相関データはOB領域で取得した相関データを負の値に変換したデータなので、上述するように補正値に焦点検出時の相関データが加算されると、図34(c)に示すように、シフト量=0にある遮光状態での相関量がキャンセルされる。
加算結果はピントずれ量算出部410に入力される。ピントずれ量算出部410は、各AF領域の相関データに基づいてピントずれ量(Y値)を算出し、RAM104へ出力する。この時、遮光状態で発生する相関量に依存する、複数の極小点が補正された相関データでピントずれ量を算出するので、適切にY値を算出することができる。その後、ステップS506へ進む。
次にステップS506において、CPU101はRAM104に格納されているY値と所定の閾値を比較し、所定の閾値よりフォーカスレンズの駆動距離が小さい場合には合焦していると判断し、ステップS507へと進む。合焦していないと判断した場合には、ステップS510へと進む。ステップS510においては、CPU101は、RAM104に格納されている各領域のY値の中から、フォーカス駆動回路110に転送する駆動距離情報を選択する。本実施形態ではピント位置が最も近い領域の駆動距離情報として、領域f11の駆動距離情報を選択する。その後CPU101は選択した駆動距離情報をフォーカス駆動回路110に転送する。フォーカス駆動回路110は駆動距離情報に基づいてフォーカスアクチュエータ112の駆動信号を生成し(駆動信号生成手段)、第3レンズ群117を光軸方向に進退駆動して焦点調節を行う。その後ステップS512へ戻る。
ステップS506において、合焦していると判断されてステップS507に進むと、ステップS507では、CPU101は、操作部102に含まれる静止画撮影スイッチがユーザーにより押下されたか否かを判断する。静止画撮影スイッチが押下されたと判断された場合には、ステップS508に進む。静止画撮影スイッチが押下されていないと判断した場合にはステップS509に進む。
静止画撮影スイッチが押下された場合、ステップS508において、動画撮影を中断し、静止画撮影を行う。その後、動画撮影を再開し、ステップS509に進む。ステップS509において、CPU101は、動画撮影スイッチがユーザーにより押下されたか否かを判断する。動画撮影スイッチが押下されたと判断した場合には、動画撮影を終了する。動画撮影スイッチが押下されていないと判断した場合にはステップS501へと戻り、ISO感度が変更されているかを判断する。
ステップS501において、ISO感度が変更されている場合にはステップS502へ進み、撮像素子100に対してCPU101は変更後のISO感度に対応したゲインの設定を行う。ここで、ISO感度がISO200の場合は制御信号GAIN1がHになる設定がなされ、ISO感度が400の場合は制御信号GAIN2がHになる設定がなされる。
上記の動作により、被写体像から得られる相関値とは関係のないランダムノイズ等のノイズ成分に関連する相関値が相関演算結果に重畳されている場合でも、被写体像の相関値を算出して適切なピント位置検出を行うことができる。その結果、低輝度や低コントラストの被写体に対してもピントを合わせることができる。
その際、補正値は補正対象となるノイズ量以外の成分をキャンセルすることにより、補正前後で相関演算結果の絶対値が変動しない。補正対象となるノイズ量以外の成分はランダムノイズ等の撮影条件によって変化する成分であり、撮影条件によって相関演算結果における焦点検出の判定基準を変更する必要がなく、全ての撮影条件に対応することができる。
また、補正対象となるシフト範囲以外の補正値は無効とすることで、補正対象となるデータ以外の相関演算結果に影響を与えず、対象のノイズだけを処理することができる。これにより、補正対象シフト領域以外の相関データの変動を大きくすることなく、適切な焦点検出を行うことができる。本実施形態では、補正対象となるシフト範囲以外の補正値を0値とすることで無効になる構成としたが本発明はこれに限定されるものではない。補正対象となるシフト範囲以外の補正値を算出しない、または補正をオフにするなど、補正を無効にする構成であれば適用することができる。
また、補正対象となるノイズ量以外の成分(補正値のオフセット)の相関データを平均することにより算出する構成としたが、本発明はこれに限定されるものではない。中央値等、補正値のオフセットを検出する構成であれば、本実施形態の構成に限定されるものではない。
(第5の実施形態)
次に本発明の第5の実施形態に係わる撮像装置について説明する。本実施形態の撮像装置の構成は、図1に示した第1の実施形態の構成(第4の実施形態の構成)と同じであるため説明を省略する。本実施形態の撮像装置は、AF演算部の内部回路構成が第4の実施形態に近いがわずかに異なる。図35は、本実施形態におけるAF演算部107Dの構成を示す図である。本実施形態のAF演算部107Dは、フィルタ回路426を具備する。その他の構成要素と各々の動作については第4の実施形態でのAF演算部107Cと同様であり、説明を省略する。第4の実施形態と異なる構成と動作について、以下に説明する。
次に本発明の第5の実施形態に係わる撮像装置について説明する。本実施形態の撮像装置の構成は、図1に示した第1の実施形態の構成(第4の実施形態の構成)と同じであるため説明を省略する。本実施形態の撮像装置は、AF演算部の内部回路構成が第4の実施形態に近いがわずかに異なる。図35は、本実施形態におけるAF演算部107Dの構成を示す図である。本実施形態のAF演算部107Dは、フィルタ回路426を具備する。その他の構成要素と各々の動作については第4の実施形態でのAF演算部107Cと同様であり、説明を省略する。第4の実施形態と異なる構成と動作について、以下に説明する。
本実施形態のAF演算部107Dにおいて、補正回路401から出力されるA像とB像はフィルタ回路426へ入力される。A像とB像は各々、フィルタ回路426においてフィルタ処理を施された後にラインメモリ403へ入力される。
ここでフィルタ回路426について説明する。フィルタ回路426では入力された画像に対してフィルタ処理を行う。図36に画素信号とフィルタ係数の関係を示す。フィルタ処理を行う対象画素の画素値をG(0)とし、水平方向に隣接する画素の値をそれぞれ図36のようにR(1)、G(2)…とする。フィルタ処理を行われた後の対象画素値をGf(0)とすると、
Gf(0)= X(0)*G(0)
+X(1)*R(1)+X(2)*G(2)
+X(3)*R(3)+X(4)*G(4)
+X(−1)*R(−1)+X(−2)*G(−2)
+X(−3)*R(−3)+X(−4)*G(−4)
となる演算を行う。本実施形態のフィルタ回路426はモード1とモード2の2つの係数のモードを有する。モード1はフィルタがオフになる係数であり、X(0)=1であり、それ以外の係数は0となる。モード2はX(−4)=−1、X(−2)=−2、X(2)=2、X(4)=1であり、それ以外の係数は0となる。
Gf(0)= X(0)*G(0)
+X(1)*R(1)+X(2)*G(2)
+X(3)*R(3)+X(4)*G(4)
+X(−1)*R(−1)+X(−2)*G(−2)
+X(−3)*R(−3)+X(−4)*G(−4)
となる演算を行う。本実施形態のフィルタ回路426はモード1とモード2の2つの係数のモードを有する。モード1はフィルタがオフになる係数であり、X(0)=1であり、それ以外の係数は0となる。モード2はX(−4)=−1、X(−2)=−2、X(2)=2、X(4)=1であり、それ以外の係数は0となる。
本実施形態においては、画像処理部106がコントラスト検出回路を備え、画像のコントラストが検出される。コントラストが通常と判断された場合には、CPU101はフィルタ回路426をモード1(フィルタオフ)に設定する。コントラストが低いと判断された場合には、CPU101はフィルタ回路426をモード2に設定する。
上述した処理により、入力されたA像とB像は各々フィルタ処理を施され、ラインメモリ403へ入力される。なお、本実施形態ではモードとして2つ有する構成としたがこれに限定されるものではない。係数やフィルタ演算に含める画素数(タップ数)などを指定できる構成でもよい。
ここで、図37を用いて本実施形態における撮像装置の動作について説明する。操作部102を操作して動画撮影が開始されると、まずステップS600においてCPU101はフォーカルプレーンシャッタ109を開いた状態にする。これにより撮像素子100は露光可能な状態となる。その後ステップS601へ進む。ステップS601からステップS603の種類は、第4の実施形態におけるステップS501からステップS503の処理と同様のため、説明を省略する。
ステップS603でAFスイッチが押下された場合には、ステップS615へ進む。ステップS615では、フィルタ回路426のモードを設定する。撮影開始時にはCPU101はフィルタ回路426をモード1に設定する。撮影開始時以外の時には、上述した動画像のコントラスト検出結果に基づき、モードを設定する。即ち、動画像のコントラストが通常と判断された場合には、CPU101はモード1を設定する。コントラストが低いと判断された場合には、CPU101はモード2を設定する。次に、ステップS612へ進む。ステップS612の処理は、図30に示すステップS512の処理と同様のため、説明を省略する。
次にステップS613において、CPU101は平均シフト範囲設定部421に対して平均回路420で平均する相関データのシフト範囲を設定する。ここでは、シフト量−hから−iの範囲の相関データを平均する設定にする。この時、平均するシフト範囲は、後述する補正有効範囲設定部424に設定されるシフト範囲外を設定する。その後ステップS614へ進む。
ステップS614では、CPU101は補正有効範囲設定部424に対して、補正が有効となるシフト範囲を設定する。ここで、シフト範囲の設定について説明する。補正有効範囲設定部424に設定されるシフト範囲は、ステップS615で設定されるフィルタ回路426のモードに関連付けられる。
第4の実施形態で説明したように、シフト量=0の時は同じm列のA像とB像の相関演算をすることにより、A像のランダムノイズN[A(m)]がB像に重畳される。そして、相関演算の過程で差をとることで2*N[A(m)]のノイズが発生し、相関データのピーク(ノイズ)となる。よってフィルタ回路設定がモード1の時には、補正有効範囲設定部424には、シフト量=0の範囲を設定する。
また、フィルタ回路426がモード2に設定されている場合、フィルタ処理によって特定画素のN[A(m)]の成分が別の画素に含まれることとなる。図38(a)はシフト量=−4の時のA像とB像の関係を示す。例えば、A像のG(0)にはフィルタ処理によってG(−4)の[A(m)]の成分が含まれることとなる。するとA像のG(0)とB像のG(−4)の相関演算を行うと、N[A(m)]に起因する相関データのノイズが含まれることとなる。G(0)とG(4)の関係についても同様である。よって、本実施形態においては、最大で−4から4までのシフト量において、N[A(m)]に起因する相関データのノイズを補正する必要がある。これらのことから、ステップS615においてフィルタ回路426がモード2に設定されている場合には、補正有効範囲設定部424には、シフト量=−4から4までの範囲を設定する。
その後ステップS604へ進む。ステップS604の処理は、図30に示すステップS504の処理と同様のため、説明を省略する。その後ステップS605において画像の読み出しが開始される。画像読み出しが行われると、図30に示すステップS505と同様に相関データの補正を伴う相関演算がなされる。この時の補正値減算の概念を図39、図40に示す。
図39は、フィルタ回路426がモード1の時の補正値減算の概念を示す図である。焦点検出時の相関データは、図39(a)に示すようにシフト量=0で相関量が大きくなる遮光状態での相関量が重畳されており、その結果相関データの波形に複数の極小点ができてしまう。また、ランダムノイズの影響を受けて相関データは幅を持った波形となる。また、補正値は図39(b)に示すように、遮光状態での相関量が反映されており、シフト量=0のみで相関値のノイズを持つデータとなる。補正処理によって、補正値に焦点検出時の相関データが加算されると、図39(c)に示すように、シフト量=0にある遮光状態での相関量がキャンセルされる。
図40は、フィルタ回路426がモード2の時の補正値減算の概念を示す図である。焦点検出時の相関データは、図40(a)に示すようにシフト量=−4から4の範囲で相関量が大きくなる遮光状態での相関量が重畳されており、その結果相関データの波形に複数の極小点ができてしまう。また、ランダムノイズの影響を受けて相関データは幅を持った波形となる。また、補正値は図40(b)に示すように、遮光状態での相関量が反映されている。フィルタ回路426がモード2の時にはフィルタ処理の影響を受けて、上述したように−4から4までの範囲のシフト量において、A像のランダムノイズであるN[A(m)]に起因する相関データのノイズが存在する。よって補正値は図40(b)に示すようにシフト量=−4から4までの範囲で相関値のノイズを持つデータとなる。補正処理によって、補正値に焦点検出時の相関データが加算されると、図40(c)に示すように、シフト量=0にある遮光状態での相関量がキャンセルされる。
加算結果はピントずれ量算出部410に入力される。ピントずれ量算出部410は、各AF領域の相関データに基づいてピントずれ量(Y値)を算出し、RAM104へ出力する。この時、遮光状態で発生する相関量に依存する、複数の極小点が補正された相関データでピントずれ量を算出するので、適切にY値を算出することができる。その後、ステップS606へ進む。ステップS606からステップS610の動作は図30に示すステップS604からステップS610までの動作と同様のため、説明を省略する。
上記の動作により、被写体像から得られる相関値とは関係のないランダムノイズ等のノイズ成分に関連する相関値が相関演算結果に重畳されている場合でも、被写体像の相関値を算出して適切なピント位置検出を行うことができる。その結果、低輝度や低コントラストの被写体に対してもピントを合わせることができる。その際、補正値を有効にするシフト範囲はA像、B像へのフィルタ処理によって変更するため、フィルタ処理によって相関データのノイズの重畳される範囲が変わった場合でも、対応した範囲の補正を適用することができる。
本実施形態では、フィルタ処理を適用する場合と適用しない場合で、補正の有効範囲を変更する構成としたが、本発明はこれに限定されるものではない。フィルタ処理の参照画素をどこまで広げるか(タップ数)や、フィルタの係数などによって変更する構成も適用することができる。
また、本実施形態ではフィルタ処理に対応して補正の有効範囲を変更する構成としたが、本発明はこれに限定されるものではない。AB像からA像を減算してB像を生成することによって発生するノイズの影響を受ける相関演算のシフト範囲が変動する処理であれば適用することができる。
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100:撮像素子、200:画素、406:相関演算回路、411:減算器、408:メモリ
Claims (33)
- 1つのマイクロレンズに対して第1の光電変換部と第2の光電変換部が配置された単位画素が複数配置された撮像素子と、
前記第1の光電変換部の信号と前記第2の光電変換部の信号を加算した加算信号を読み出すとともに、前記第1の光電変換部の信号を独立して読み出す読み出し手段と、
前記加算信号から前記第1の光電変換部の信号を減算することにより、前記第2の光電変換部の信号に相当する信号を算出する算出手段と、
前記第1の光電変換部の信号と前記第2の光電変換部の信号に相当する信号の相関を演算する相関演算手段と、
前記相関演算手段による被写体像についての相関演算の結果から、前記加算信号から前記第1の光電変換部の信号を減算することにより前記第2の光電変換部の信号に相当する信号を求めたことに起因するノイズを補正するための補正値を減算する減算手段と、
を備えることを特徴とする撮像装置。 - 前記補正値は、前記被写体像とは異なる位置の前記撮像素子の出力信号を前記相関演算手段により相関演算して生成されることを特徴とする請求項1に記載の撮像装置。
- 前記被写体像とは異なる位置の前記撮像素子の出力信号は、遮光画素の出力信号であることを特徴とする請求項2に記載の撮像装置。
- 前記被写体像とは異なる位置の前記撮像素子の出力信号は、前記撮像素子がシャッタにより遮光された時の出力信号であることを特徴とする請求項2に記載の撮像装置。
- 前記第1の光電変換部または前記第2の光電変換部以外の信号を読み出すノイズ読み出し手段をさらに備え、前記被写体像とは異なる位置の前記撮像素子の出力信号は、前記ノイズ読み出し手段で読み出された信号であることを特徴とする請求項2に記載の撮像装置。
- 複数の前記補正値を記憶する記憶手段と、撮影条件に従って前記補正値を選択する選択手段とをさらに備え、前記減算手段は、前記選択手段により選択された補正値を、前記被写体像についての相関演算の結果から減算することを特徴とする請求項1乃至5のいずれか1項に記載の撮像装置。
- 前記補正値は、前記撮像素子の画素信号に適用するゲイン量ごとに算出されることを特徴とする請求項1乃至6のいずれか1項に記載の撮像装置。
- 前記補正値は、前記撮像装置の環境温度ごとに算出されることを特徴とする請求項1乃至6のいずれか1項に記載の撮像装置。
- 前記補正値は、前記第1および第2の光電変換部の蓄積時間ごとに算出されることを特徴とする請求項1乃至6のいずれか1項に記載の撮像装置。
- 焦点検出を行うフレームとは異なるフレームの前記撮像素子の信号を用いて前記補正値を算出する補正値算出手段と、該補正値算出手段により算出された補正値を記憶する記憶手段をさらに備え、前記減算手段は、前記記憶手段に記憶された補正値を、前記被写体像についての相関演算の結果から減算することを特徴とする請求項1乃至5のいずれか1項に記載の撮像装置。
- 前記補正値の正負の符号を変換する変換手段をさらに備え、前記減算手段は、前記被写体像についての相関演算の結果に、前記変換手段により変換された値を加算することにより、前記補正値を減算することを特徴とする請求項1乃至5のいずれか1項に記載の撮像装置。
- 前記補正値を算出するために用いる画素数と、前記被写体像についての相関演算に用いる画素数が同一であることを特徴とする請求項1乃至11のいずれか1項に記載の撮像装置。
- 前記補正値に所定の値を乗じる乗算手段をさらに備えることを特徴とする請求項1乃至12のいずれか1項に記載の撮像装置。
- 前記所定の値は、前記被写体像についての相関演算に用いる画素数と、前記補正値を算出するために用いる画素数の比であることを特徴とする請求項13に記載の撮像装置。
- 前記補正値を算出するための画素領域を設定する第1の設定手段と、前記被写体像についての相関演算を行うための画素領域を設定する第2の設定手段と、前記第1の設定手段により設定された画素領域では、前記変換手段により変換された値を記憶し、前記第2の設定手段により設定された画素領域では、前記相関演算手段による相関演算の結果を前記変換された値に加算する手段とをさらに備えることを特徴とする請求項11乃至14のいずれか1項に記載の撮像装置。
- 前記第1の設定手段により設定された画素領域と、前記第2の設定手段により設定された画素領域とは、同じフレームの画像内に位置することを特徴とする請求項15に記載の撮像装置。
- 前記第1の設定手段により設定された画素領域と、前記第2の設定手段により設定された画素領域とは、異なるフレームの画像内に位置することを特徴とする請求項15に記載の撮像装置。
- 前記第1の設定手段により設定された画素領域に適用されるゲインは、前記第2の設定手段により設定された画素領域に適用されるゲインと同じであることを特徴とする請求項15に記載の撮像装置。
- 前記第1の設定手段により設定された画素領域と、前記第2の設定手段により設定された画素領域とは、前記第1の光電変換部と前記第2の光電変換部の並び方向について同じ画素数を有することを特徴とする請求項15に記載の撮像装置。
- 前記減算手段による前記補正値を減算する処理を、前記被写体像についての相関演算の結果の一部に対して適用するように、前記減算手段を制御する補正制御手段をさらに備えることを特徴とする請求項1に記載の撮像装置。
- 前記補正制御手段は、前記補正値を0値にすることによって、前記減算手段による前記補正値を減算する処理を、前記被写体像についての相関演算の結果の一部以外に対して適用しないようにすることを特徴とする請求項20に記載の撮像装置。
- 前記補正制御手段は、前記補正値を算出しないことによって、前記減算手段による前記補正値を減算する処理を、前記被写体像についての相関演算の結果の一部以外に対して適用しないようにすることを特徴とする請求項20に記載の撮像装置。
- 前記補正制御手段は、前記減算手段をオフにすることによって、前記減算手段による前記補正値を減算する処理を、前記被写体像についての相関演算の結果の一部以外に対して適用しないようにすることを特徴とする請求項20に記載の撮像装置。
- 前記補正制御手段は、前記被写体像に対する画像処理に対応して、前記減算手段による前記補正値を減算する処理を適用する相関演算結果の対象を変更することを特徴とする請求項20乃至23のいずれか1項に記載の撮像装置。
- 前記画像処理はフィルタ処理であることを特徴とする請求項24に記載の撮像装置。
- 前記補正制御手段は、前記被写体像に対するフィルタ処理のタップ数に対応して、前記減算手段による前記補正値を減算する処理を適用する相関演算結果の対象を変更することを特徴とする請求項25に記載の撮像装置。
- 前記加算信号から前記第1の光電変換部の信号を減算することにより前記第2の光電変換部の信号に相当する信号を求めたことに起因するノイズに関連しないオフセット値を生成する生成手段をさらに備え、前記補正値は、前記生成手段により生成されたオフセット値を前記減算手段により前記相関演算結果から減算することにより算出されることを特徴とする請求項20乃至26のいずれか1項に記載の撮像装置。
- 前記生成手段は、前記補正値を取得するための相関演算結果の一部を平均することにより前記オフセット値を生成することを特徴とする請求項27に記載の撮像装置。
- 前記生成手段は、前記補正値を取得するための相関演算結果の一部の中央値から前記オフセット値を生成することを特徴とする請求項27に記載の撮像装置。
- 前記生成手段は、前記減算手段による前記補正値を減算する処理を適用する相関演算結果に対応するデータを用いずに、前記オフセット値を生成することを特徴とする請求項27乃至29のいずれか1項に記載の撮像装置。
- 1つのマイクロレンズに対して第1の光電変換部と第2の光電変換部が配置された単位画素が複数配置された撮像素子を備える撮像装置を制御する方法であって、
前記第1の光電変換部の信号と前記第2の光電変換部の信号を加算した加算信号を読み出すとともに、前記第1の光電変換部の信号を独立して読み出す読み出し工程と、
前記加算信号から前記第1の光電変換部の信号を減算することにより、前記第2の光電変換部の信号に相当する信号を算出する算出工程と、
前記第1の光電変換部の信号と前記第2の光電変換部の信号に相当する信号の相関を演算する相関演算工程と、
前記相関演算工程における被写体像についての相関演算の結果から、前記加算信号から前記第1の光電変換部の信号を減算することにより前記第2の光電変換部の信号に相当する信号を求めたことに起因するノイズを補正するための補正値を減算する減算工程と、
を有することを特徴とする撮像装置の制御方法。 - 請求項31に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
- 請求項31に記載の制御方法の各工程をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/427,377 US9961255B2 (en) | 2016-02-09 | 2017-02-08 | Image capturing apparatus, control method thereof, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016023081 | 2016-02-09 | ||
JP2016023081 | 2016-02-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017142484A true JP2017142484A (ja) | 2017-08-17 |
Family
ID=59627844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016214642A Pending JP2017142484A (ja) | 2016-02-09 | 2016-11-01 | 撮像装置及びその制御方法、プログラム、記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017142484A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019139043A (ja) * | 2018-02-09 | 2019-08-22 | キヤノン株式会社 | 撮像装置およびその制御方法 |
JP2023000287A (ja) * | 2021-06-17 | 2023-01-04 | キヤノン株式会社 | 光電変換装置、光電変換システム、輸送機器および信号処理装置 |
-
2016
- 2016-11-01 JP JP2016214642A patent/JP2017142484A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019139043A (ja) * | 2018-02-09 | 2019-08-22 | キヤノン株式会社 | 撮像装置およびその制御方法 |
JP7019442B2 (ja) | 2018-02-09 | 2022-02-15 | キヤノン株式会社 | 撮像装置およびその制御方法 |
JP2023000287A (ja) * | 2021-06-17 | 2023-01-04 | キヤノン株式会社 | 光電変換装置、光電変換システム、輸送機器および信号処理装置 |
JP7417560B2 (ja) | 2021-06-17 | 2024-01-18 | キヤノン株式会社 | 光電変換装置、光電変換システム、輸送機器および信号処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5219778B2 (ja) | 撮像装置及びその制御方法 | |
JP5852324B2 (ja) | 撮像装置及びその制御方法、プログラム | |
JP5855035B2 (ja) | 固体撮像装置 | |
JP6900227B2 (ja) | 撮像装置及び撮像装置の駆動方法 | |
US9961255B2 (en) | Image capturing apparatus, control method thereof, and storage medium | |
JP6234058B2 (ja) | 焦点調節装置およびその制御方法 | |
US11165978B2 (en) | Imaging device, control method thereof, and imaging apparatus | |
JP5094252B2 (ja) | 撮像装置及びその制御方法 | |
JP6929106B2 (ja) | 撮像装置及び撮像装置の制御方法 | |
JP2015018084A (ja) | 撮像装置、画像処理方法及び画像処理プログラム | |
JP2017142484A (ja) | 撮像装置及びその制御方法、プログラム、記憶媒体 | |
JP2007174032A (ja) | 撮像装置 | |
JP4719442B2 (ja) | 画像信号処理回路、カメラ、及び画像信号処理方法 | |
JP2012191378A (ja) | 撮像装置 | |
JP2005323041A (ja) | クランプレベル調整装置および電子カメラ | |
JP2010263585A (ja) | 撮像装置及びその制御方法 | |
JP6700751B2 (ja) | 撮像装置、撮像装置の制御方法およびプログラム | |
KR101429512B1 (ko) | 밴딩 노이즈 제거 장치 및 방법 | |
JP7236282B2 (ja) | 画像処理装置及び方法、及び撮像装置 | |
JP7134786B2 (ja) | 撮像装置および制御方法 | |
JP5720213B2 (ja) | 撮像装置 | |
JP5129650B2 (ja) | 撮像装置 | |
JP2009188650A (ja) | 撮像装置 | |
JP2010178384A (ja) | 画像信号処理回路、カメラ、及び画像信号処理方法 | |
JP6157291B2 (ja) | 撮像装置およびその制御方法、撮像システム、プログラム、記憶媒体 |