IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7461732撮像装置及びその制御方法、プログラム、記憶媒体
<>
  • 特許-撮像装置及びその制御方法、プログラム、記憶媒体 図1
  • 特許-撮像装置及びその制御方法、プログラム、記憶媒体 図2
  • 特許-撮像装置及びその制御方法、プログラム、記憶媒体 図3
  • 特許-撮像装置及びその制御方法、プログラム、記憶媒体 図4
  • 特許-撮像装置及びその制御方法、プログラム、記憶媒体 図5
  • 特許-撮像装置及びその制御方法、プログラム、記憶媒体 図6
  • 特許-撮像装置及びその制御方法、プログラム、記憶媒体 図7
  • 特許-撮像装置及びその制御方法、プログラム、記憶媒体 図8
  • 特許-撮像装置及びその制御方法、プログラム、記憶媒体 図9
  • 特許-撮像装置及びその制御方法、プログラム、記憶媒体 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-27
(45)【発行日】2024-04-04
(54)【発明の名称】撮像装置及びその制御方法、プログラム、記憶媒体
(51)【国際特許分類】
   H04N 23/67 20230101AFI20240328BHJP
   H04N 23/54 20230101ALI20240328BHJP
   G03B 15/00 20210101ALI20240328BHJP
   G02B 7/34 20210101ALI20240328BHJP
   G03B 13/36 20210101ALN20240328BHJP
【FI】
H04N23/67 100
H04N23/54
G03B15/00 Q
G02B7/34
G03B13/36
【請求項の数】 13
(21)【出願番号】P 2019209004
(22)【出願日】2019-11-19
(65)【公開番号】P2021082949
(43)【公開日】2021-05-27
【審査請求日】2022-11-14
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】長谷川 玲治
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2018-017876(JP,A)
【文献】特開2012-124791(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/67
H04N 23/54
G03B 15/00
G02B 7/34
G03B 13/36
(57)【特許請求の範囲】
【請求項1】
1つのマイクロレンズに対して複数の光電変換素子が配置された単位画素を複数有する撮像素子と、
前記撮像素子からの画素信号を用いて相関演算を行う相関演算手段と、
前記撮像素子から出力される画素信号を記憶する記憶手段と、
前記記憶手段に記憶された画素信号を読み出し、前記相関演算手段に出力する読み出し動作を行う読み出し手段と、
前記読み出し手段による前記読み出し動作と、前記相関演算手段による相関演算とを、前記撮像素子の1回の蓄積で得られた信号に対して複数回行うように制御する制御手段と、
複数回の前記相関演算で得られた結果を用いて、少なくとも被写体検出用のデフォーカスマップと、焦点検出用のデフォーカスマップとを作成する作成手段と、
を備えることを特徴とする撮像装置。
【請求項2】
前記読み出し手段は、それぞれ読み出し設定を変更して、複数回の前記読み出し動作を実行することを特徴とする請求項に記載の撮像装置。
【請求項3】
前記読み出し手段は、前記記憶手段の複数の矩形領域ごとに画素信号を読み出し、変更する前記読み出し設定は、前記複数の矩形領域の、大きさと間隔の少なくともいずれかであることを特徴とする請求項に記載の撮像装置。
【請求項4】
前記撮像素子から連続して複数回の画素信号の出力を行う場合、複数回の前記出力のそれぞれにおいて、前記読み出し設定としての前記読み出し手段で画素信号を読み出す回数を変更することを特徴とする請求項に記載の撮像装置。
【請求項5】
前記制御手段は、前記撮像装置の処理負荷に応じて、前記読み出し設定としての前記読み出し手段で画素信号を読み出す回数を変更することを特徴とする請求項に記載の撮像装置。
【請求項6】
前記読み出し手段は、前記記憶手段の複数の矩形領域ごとに画素信号を読み出し、変更する前記読み出し設定は、前記複数の矩形領域における信号を読み出す行であることを特徴とする請求項に記載の撮像装置。
【請求項7】
前記撮像素子は、縦方向に相関を有する画素を配置した行と、横方向に相関を有する画素を配置した行とを有し、変更する前記読み出し設定は、前記複数の矩形領域における前記縦方向に相関を有する画素を配置した行の信号を読み出すか、前記横方向に相関を有する画素を配置した行の信号を読み出すかであることを特徴とする請求項に記載の撮像装置。
【請求項8】
前記制御手段は、前記記憶手段において画素信号が書き込まれた位置から、前記読み出し手段で画素信号を読み出すように、前記読み出し手段を制御することを特徴とする請求項1乃至のいずれか1項に記載の撮像装置。
【請求項9】
前記撮像素子から、連続して複数回の画素信号の出力を行う場合、複数回の前記出力の時間間隔が、前記相関演算手段の演算時間よりも短い場合は、画素信号を前記記憶手段に書き込むアドレスと、前記読み出し手段で前記記憶手段から画素信号を読み出すアドレスの連携を行わないことを特徴とする請求項1乃至のいずれか1項に記載の撮像装置。
【請求項10】
前記記憶手段は、複数の単位画素における対応する光電変換素子の信号をまとめて記憶する領域を複数有することを特徴とする請求項1乃至のいずれか1項に記載の撮像装置。
【請求項11】
1つのマイクロレンズに対して複数の光電変換素子が配置された単位画素を複数有する撮像素子と、前記撮像素子からの画素信号を用いて相関演算を行う相関演算手段と、前記撮像素子から出力される画素信号を記憶する記憶手段と、を備える撮像装置を制御する方法であって、
前記記憶手段に記憶された画素信号を読み出し、前記相関演算手段に出力する読み出し動作を行う読み出し工程と、
前記読み出し工程による前記読み出し動作と、前記相関演算手段による相関演算とを、前記撮像素子の1回の蓄積で得られた信号に対して複数回行うように制御する制御工程と、
複数回の前記相関演算で得られた結果を用いて、少なくとも被写体検出用のデフォーカスマップと、焦点検出用のデフォーカスマップとを作成する作成工程と、
を有することを特徴とする撮像装置の制御方法。
【請求項12】
請求項11に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
【請求項13】
請求項11に記載の制御方法の各工程をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置における焦点検出技術に関する。
【背景技術】
【0002】
現在、通常のカメラは、ユーザの利便性を向上させるために自動焦点調節(以下AF)機能を備えている。例えば、撮像素子の画素を瞳分割し、撮像素子からの画像を複数の矩形のエリアに区切って、画像の相関演算を行うことにより、焦点検出を行う。そして、得られたデフォーカス量に基づいてレンズ系を駆動しAFを行う。
【0003】
また、相関演算によって画面内の複数の矩形のエリアそれぞれについてデフォーカス量が得られるため、デフォーカスマップを作ることができる。このデフォーカスマップのデフォーカス差を平面的に走査し、AFだけでなく被写体の検知にも用いることができる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2016-213757号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
デフォーカスマップをAFに用いる場合、前述したように、撮像素子を複数の矩形エリアに分割してそれぞれでデフォーカス量を算出する。その場合、矩形をタイル状に隣り合わせて敷き詰めると(例:図3(b))、矩形と矩形の間に被写体が入り込んで、焦点検出できない場合がある。そのため、可能であれば矩形と矩形を部分的に重ねて配置することが望ましい(例:図4(a))。
【0006】
一方、デフォーカスマップを被写体の検知に用いる場合は、逆に、矩形と矩形が重なり合っていると(例:図4(a))、デフォーカスマップ上では、被写体の上下が広がっているように見え、被写体が大きく検知されてしまう。そのため、矩形と矩形はぴったりタイル状に並べて配置することが望ましい(例:図3(b))。
【0007】
つまり、AFのためのデフォーカスマップと、被写体検知用のデフォーカスマップの2種類のデフォーカスマップが必要となる。
【0008】
通常の設計を考えると、デフォーカスマップは、撮像素子、画像処理部、相関演算部により行われる。その場合の、上記の2種類のデフォーカスマップを生成するための各回路の配置方法として、以下のような方法が考えられる。
【0009】
第1の方法として、相関演算部分を2種類のデフォーカスマップ向けに2個持つことが考えられる。この場合は、上記の問題は解決できるが、回路が2倍必要になる。
【0010】
第2の方法として、2種類のデフォーカスマップの生成のために、撮像素子の信号を2回読み出すことが考えられる。この場合も、上記の問題を解決できるが、撮像素子は読み出し速度が遅い場合が多く、相関演算の2回分よりも余計に時間がかかる。また2種類のデフォーカスマップの元画像が別々の画像となり、被写体が動く場合、認識した被写体にAFできるとは限らないことがある。
【0011】
特許文献1は、デフォーカスマップを作成する技術ではないが、異なる用途のそれぞれに適した信号を撮像素子から取得するために、第2の方法である撮像素子の信号を2回読み出す例が挙げられている。
【0012】
本発明は上述した課題に鑑みてなされたものであり、その目的は、回路規模や処理時間の増大を抑制しつつ、複数のデフォーカスマップを作成することができる撮像装置を提供することである。
【課題を解決するための手段】
【0013】
本発明に係わる撮像装置は、1つのマイクロレンズに対して複数の光電変換素子が配置された単位画素を複数有する撮像素子と、前記撮像素子からの画素信号を用いて相関演算を行う相関演算手段と、前記撮像素子から出力される画素信号を記憶する記憶手段と、前記記憶手段に記憶された画素信号を読み出し、前記相関演算手段に出力する読み出し動作を行う読み出し手段と、前記読み出し手段による前記読み出し動作と、前記相関演算手段による相関演算とを、前記撮像素子の1回の蓄積で得られた信号に対して複数回行うように制御する制御手段と、複数回の前記相関演算で得られた結果を用いて、少なくとも被写体検出用のデフォーカスマップと、焦点検出用のデフォーカスマップとを作成する作成手段と、を備えることを特徴とする。
【発明の効果】
【0014】
本発明によれば、回路規模や処理時間の増大を抑制しつつ、複数のデフォーカスマップを作成することが可能となる。
【図面の簡単な説明】
【0015】
図1】本発明の第1の実施形態におけるカメラ及びレンズの構成を示すブロック図。
図2】第1の実施形態における撮像面位相差方式の画素構成を示す図。
図3】第1の実施形態における画像データのDRAM上の配置を示す図。
図4】第1の実施形態における画像データのDRAM上の配置を示す図。
図5】第1の実施形態におけるデフォーカスマップの作成処理を示すフローチャート。
図6】第1の実施形態における焦点検出処理を示すフローチャート。
図7】第1の実施形態における画像読み出し処理を示すフローチャート。
図8】デフォーカスマップ作成処理の時間方向の流れを示す図。
図9】第4の実施形態における画像データのDRAMからの読み出し順を示す図。
図10】第5の実施形態における画像データのDRAMからの読み出し順を示す図。
【発明を実施するための形態】
【0016】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0017】
(第1の実施形態)
<カメラの構成の説明>
図1は、本発明の第1の実施形態におけるレンズ及びカメラ本体からなるレンズ交換式カメラシステム(以下カメラと呼ぶ)の構成を示すブロック図である。
【0018】
図1において、カメラ100は、レンズ10とカメラ本体20とから構成されている。そして、レンズ10の全体動作を統括制御するレンズ制御部106と、カメラ本体20の全体動作を統括するカメラ制御部212が情報を通信することにより、カメラ100の全体動作の制御が行われる。
【0019】
まず、レンズ10の構成について説明する。
【0020】
レンズ10は、第1レンズ群101、絞り102、フォーカスレンズ103、絞り駆動部104、フォーカスレンズ駆動部105、レンズ制御部106、レンズ操作部107を備える。
【0021】
固定されている第1群レンズ101、絞り102、フォーカスレンズ103により撮影光学系が構成されている。絞り102は、絞り制御部104によって駆動され、後述する撮像素子201への入射光量を制御する。フォーカスレンズ103はフォーカスレンズ駆動部105によって駆動され、後述する撮像素子201に結像される被写体像の焦点の調節を行う。絞り駆動部104及びフォーカスレンズ駆動部105は、レンズ制御部106によって制御され、絞り102の開口量や、フォーカスレンズ103の位置を決定する。レンズ制御部106は、後述するカメラ制御部212から受信した制御命令及び制御情報に応じて、絞り駆動部104やフォーカスレンズ駆動部105の制御を行う。また、レンズ10の制御情報をカメラ制御部212に送信する。
【0022】
次に、カメラ本体20の構成について説明する。
【0023】
カメラ本体20は、レンズ10の撮影光学系を通過した光束から撮像信号を取得できるように構成されている。レンズ10の撮影光学系を通過した光束は、アップダウンが可能なクイックリターンミラー252に導かれる。クイックリターンミラー252の中央部はハーフミラーになっており、クイックリターンミラー252がダウン(図1に図示の下側に降りた状態)した際に一部の光束を透過させる。そしてこの透過した光束はクイックリターンミラー252に設置されたサブミラー253で反射され、自動焦点調整装置である位相差AFセンサ254に導かれる。AFセンサ254は焦点検出回路255によって制御される。
【0024】
一方、クイックリターンミラー252で反射された光束は、マットスクリーン250に結像され、その像を上側からペンタプリズム251、接眼レンズ256を介して撮影者が観測することができる。
【0025】
また、クイックリターンミラー252がアップ(ペンタプリズム251側に矢印のように上昇)した際には、レンズ10からの光束は、機械シャッタであるフォーカルプレーンシャッタ258、フィルタ259を介して撮像素子201に結像される。フィルタ259は2つの機能を有しており、1つは赤外線や紫外線などをカットし可視光線のみを撮像素子201へ導く機能であり、もう1つは光学ローパスフィルタとしての機能である。また、フォーカルプレーンシャッタ258は、先幕及び後幕を有し、レンズ10からの光束の透過、遮断を制御する遮光装置である。
【0026】
レンズ10の撮影光学系を通過した光束は、撮像素子201の受光面上に結像され、撮像素子201の各画素のフォトダイオードによって入射光量に応じた信号電荷に変換される。各フォトダイオードに蓄積された信号電荷は、カメラ制御部212の指令に従ってタイミングジェネレータ215から与えられる駆動パルスに基づいて、信号電荷に応じた電圧信号として撮像素子201から順次読み出される。
【0027】
撮像素子201は、図2(b)のように撮像面位相差AFを行うために、一つのマイクロレンズ(図2(b)の292)に2つのフォトダイオード293,294が配置された単位画素290を複数有する。光束をマイクロレンズで分離し、この2つのフォトダイオード293,294に結像させることにより、撮像用とAF用(焦点検出用)の2つの信号を取り出すことができる。2つのフォトダイオード293,294の信号を加算した信号(A+B)が撮像信号であり、個々のフォトダイオードの信号(A,B)がAF用の2つの像信号である。後述するAF信号処理部204でAF用の2つの像信号に対して相関演算を行い、像ずれ量や各種信頼性情報を算出する。
【0028】
撮像素子201から読み出された撮像信号及びAF用信号は画像処理部202に入力され、信号のデジタル化、各種画像処理などが施され、WDMAC(Write DMA Controller)220に出力される。WDMAC220は、画像信号やAF信号をDRAM209に書き込む。RDMAC(Read DMA Controller)221はAF信号をDRAM209から読み出し、AF信号処理部204へ出力する。
【0029】
DRAM209に格納された画像信号は、バス21を介して、表示制御部205に送信され、表示部206に表示される。また、撮像信号の記録を行うモードの場合には、記録媒体制御部207により、記録媒体208に記録される。また、バス21を介して接続されたROM210には、カメラ制御部212が実行する制御プログラム及び制御に必要な各種データ等が格納されている。また、フラッシュROM211には、ユーザ設定情報等のカメラ本体20の動作に関する各種設定情報等が格納されている。
【0030】
AF信号処理部204は、AF用信号に対して画素加算処理、相関演算処理を行い、像ずれ量、信頼性情報(二像一致度、二像急峻度、コントラスト情報、飽和情報、キズ情報等)を算出する。算出した像ずれ量と、信頼性情報をカメラ制御部212へ出力する。また、カメラ制御部212は、取得した像ずれ量や信頼性情報に基づいて、これらを算出する設定の変更をAF信号処理部204に通知する。相関演算の詳細については後述する。
【0031】
なお、本実施形態では、撮像信号及び2つのAF用像信号の計3つの信号を撮像素子201から取り出しているが、このような方法に限定されない。撮像素子201の負荷を考慮し、例えば撮像信号と1つのAF用像信号の計2つを取り出し、画像処理部202内で撮像信号とAF用信号の差分を取ることでもう一つのAF用像信号を生成するようにしてもよい。
【0032】
カメラ制御部212は、カメラ本体20内の各ブロックと情報をやり取りして制御を行う。カメラ本体20内の処理だけでなく、カメラ操作部214からの入力に応じて、電源のON/OFF、設定の変更、静止画/動画記録の開始、AF制御の開始、記録映像の確認等の、ユーザが操作したさまざまなカメラ機能を実行する。また、前述したように、レンズ10内のレンズ制御部106と情報をやり取りし、レンズに対する制御命令、制御情報を送り、またレンズ内の情報を取得する。
【0033】
<動作の説明>
次に、図1のカメラ100の動作について説明する。
【0034】
図3(a)、図3(b)、図4(a)、図4(b)は、全て撮像素子201から読み出した画像をDRAM209に書き込んだ状態を表す。書き込み方法、読み出し方法については後述する。図3図4では、以後の説明を分かりやすくするために解像度を少なく表現しており、全画面を26×16ドットで表しているが、実際にはもっと多数の画素から構成される。
【0035】
図3(b)を用いて被写体検知用のデフォーカスマップについて説明する。
【0036】
カメラ本体20において、撮像素子201から読み出される画像信号に基づいてAFを行う。AFを行うためには、被写体を検知し、その被写体の焦点検出を行う必要がある。被写体検知の方法はさまざまな方法があるが本実施形態では、撮像素子のほぼ全域を複数の矩形エリア(矩形領域)に区切り、それぞれのエリアで焦点検出を行うことによって、被写体検知用デフォーカスマップを作る。そして、デフォーカスマップから被写体を検知する。検知アルゴリズムは公知のものを用いることとする。簡単な例としては最も近くにいる被写体を選ぶなどの方法が考えられる。
【0037】
図3(b)のうち、4×4画素からなる太線310の1つの矩形エリアから1つのデフォーカス量を検出する。算出方法は後述する。図3(b)では、撮像素子201の撮像面にこのようなエリアが6×4=24個配置されており、これらのエリアそれぞれのデフォーカス量からデフォーカス量のマップを作成することができる。
【0038】
その際に、図3(b)のように、撮像素子201のほぼ全面に矩形エリアをタイル状に隣接させて並べることが望ましい。この矩形エリアが重なり合うと、エリア同士が部分的に画素を共有することになるため、デフォーカスマップとして見ると被写体が膨張して認識される。逆に矩形エリアに隙間があると、隙間に存在する被写体を見落とすことになる。本実施形態では、被写体を検知するために、上記のような被写体検知用のデフォーカスマップが必要となる。
【0039】
図4(a)を用いてAF用のデフォーカスマップについて説明する。
【0040】
カメラ本体20において前述の被写体検知用のデフォーカスマップから被写体の位置を検知したのち、被写体の位置の矩形エリアに対し相関演算を行い、デフォーカス量を算出する。その後、レンズ10を駆動してAF(焦点調節)を行う。
【0041】
これだけでもAFは可能である。しかし、本実施形態では、焦点検出結果にばらつきが生じたり、背景が混ざることによって焦点検出結果が背景に引っ張られるなどの現象が起こるため、被写体に対応する複数の焦点検出枠からデフォーカス量を算出し、AF用のデフォーカスマップを作る。
【0042】
図4(a)は、読み出した画像のうちの被写体401の位置と、その位置に4つのデフォーカス枠402を設定した例を示している。図4(a)では、4つの枠402の線が重なるとわかりにくいため、僅かにずらして表示しているが、それぞれ6×6の4つの枠が被写体401をカバーしている。
【0043】
この場合、一つの枠はあまり小さくするとデフォーカス量が大きい場合の検知能力が落ちたり、相関演算で像の出入りが発生して安定しない。そのため、小さくできない枠を被写体に複数割り当てるために、図4(a)のように4枠を3画素ずつ重なり合わせ、2×2のAF用デフォーカスマップを作成する。本実施形態では、このようなAF用デフォーカスマップが必要となる。
【0044】
つまり本実施形態では、矩形エリアの重ね方の異なる被写体検知用とAF用の2種類のデフォーカスマップを用いてAFを行う。これらのデフォーカスマップは、必要に応じて3つ以上用意してもよい。これらのデフォーカスマップのそれぞれでは、大きさ、重ね方以外にも、各種フィルタ、補正回路などの、画像処理を変えてもよい。その場合には、AF信号処理部204の中で画像処理を切り替えて行うことになる。
【0045】
図5を用いて、撮像素子の信号から2種類のデフォーカスマップを作成する流れについて説明する。
【0046】
カメラ本体20で撮影を行う場合、フレーミングのために表示部206でライブビュー表示を行う。ライブビュー表示のために、撮像素子201からフレームごとに画像信号が読み出される。その際にフレームごとにAF動作を行う。以下説明するフローチャートは、フレームごとに2種類のデフォーカスマップを作成する流れを示す。
【0047】
S501では、カメラ制御部212は、撮像素子201から画像信号を読み出し、読み出した画像信号から画像データを生成する。
【0048】
S502では、カメラ制御部212は、読み出された画像データに対して、画像処理部202を用いて画像処理を行う。
【0049】
S503では、カメラ制御部212は、画像データをWDMAC220を用いて、DRAM209に書き込む。画像の書き込み方については後述する。
【0050】
S504では、カメラ制御部212は、DRAM209に書き込まれた画像データを、被写体検知用のデフォーカスマップ作成のために、RDMAC221を用いて読み出す。読み出し方については後述する。
【0051】
S505では、カメラ制御部212は、読み出した画像データについて焦点検出を行う。焦点検出の流れは図6を用いて後述する。
【0052】
S506では、カメラ制御部212は、DRAM209に書き込まれた画像データを、AF用のデフォーカスマップ作成のためにRDMAC221を用いて読み出す。読み出し方については後述する。
【0053】
S507では、読み出した画像データについて焦点検出を行う。焦点検出の流れは図6を用いて後述する。
【0054】
次に、図6を用いて、撮像素子による焦点検出処理の概略的な流れについて説明するが、詳細については公知の方法を用いるものとする。
【0055】
S601では、カメラ制御部212は、それぞれのデフォーカスマップの各枠の焦点検出範囲から像信号を取得する。これについては、図3(b)、図4(b)を用いて後述する。
【0056】
S602では、カメラ制御部212は、画像データの前処理を行う。たとえば各種フィルタ処理、縦方向の加算処理、傷画素の補間処理、補正処理などを行う。これらの処理については、公知の方法を用いることができるため、詳細な説明は省略する。
【0057】
S603では、カメラ制御部212は、画像データについて相関量(像ずれ量)を算出する。
【0058】
S604では、カメラ制御部212は、像ずれ量をデフォーカス量に変換する。
【0059】
これらの処理を、それぞれのデフォーカスマップの枠の数だけ行い、焦点検出処理を終了する。
【0060】
図3(a)を用いて、WDMAC220がDRAM209へ画像データをどのように配置して書き込むかについて説明する。
【0061】
図2(b)で説明した通り、本実施形態の撮像素子201では、一つのマイクロレンズ内に2つの画素が配置されており、それぞれA,Bと表現している。これらの画素信号が、DRAM209内において、図3(a)のような順に並んで配置される。OB(オプティカルブラック部)は画像処理部202において除去されているものとする。前述の通り、説明を分かりやすくするために解像度を少なく表現しており、全画面で26×16ドットの配置となっているが、実際はもっと多数の画素が配置される。
【0062】
図3(b)を用いて、被写体検知用のデフォーカスマップを作成するためのRDMAC221の読み込み順について説明する。ここで説明するのは、図5のS504において実行される読み出し方法である。前述の通り、被写体検知用のデフォーカスマップとしては、1枠4×4画素の枠が、6×4枠並んだマップを作成するものとする。それぞれの矩形枠310の単位でAF信号処理部204に入力する必要があるので、図の矢印のような順序で入力する。
【0063】
詳細な動作については図7のフローチャートを用いて後述するが、まず1つの枠310を読み込むために、矢印311のように4画素を読み込み、次に点線矢印312のように第1のオフセットを加算してアドレスを移行し、次の行を読んでいく。4ライン分読み込んだら、点線矢印313のように第2のオフセットを加算し、次の枠の読み込みに進む。
【0064】
同様に、水平方向の6枠分の信号を読み込んだら、点線矢印314のように第3のオフセットを加算し、次の行の枠の読み込みに進む。図が煩雑になるので矢印は最後まで書かず省略しているが、最後まで繰り返すことによって必要な画素を全て読み出すことができる。このような処理の繰り返しと3種類のオフセットを用いて、6×4枠のデフォーカスマップを作成する。
【0065】
図4(a)、図4(b)を用いて、AF用のデフォーカスマップを作成するためのRDMAC221の読み込み順について説明する。ここで説明するのは、図5のS506において実行される読み出し方法である。
【0066】
図4(a)、図4(b)は同じ画像について、同じ位置の被写体、同じ位置のデフォーカスマップ枠の配置を示しているが、重なり合った枠が見にくくなるので同じものを2つの図で示している。前述の通り、AF用のデフォーカスマップとしては、1枠6×6画素の枠が、2×2枠並んだマップを作成するものとする。それぞれの矩形枠310の単位でAF信号処理部204に入力する必要があるので、図の矢印のような順序で入力する。
【0067】
詳細な動作については図7のフローチャートを用いて後述するが、まず1つの枠403を読み込むために、矢印411のように6画素を読み込み、次に点線矢印412のように第1のオフセットを加算してアドレスを移行し、次の行を読んでいく。6ライン分読み込んだら、点線矢印413のように第2のオフセットを加算し、次の枠の読み込みに進む。
【0068】
同様に2枠分読み込んだら点線矢印414のように第3のオフセットを加算し、次の行の枠の読み込みに進む。このように処理の繰り返しと3種類のオフセットを用いて、2×2枠のデフォーカスマップを作成する。
【0069】
図7を用いて、RDMAC221が、撮像素子201の1回の蓄積で得られた信号に対して2種類のデフォーカスマップ作成のために画像の読み出しを複数回行う動作について説明する。ここでは、被写体検出用のデフォーカスマップを作成する場合について説明し、1枠4×4画素の枠が6×4枠配置されている場合の例について説明する。AF用のデフォーカスマップも、1枠の画素数と枠数が異なるだけで、全く同様に作成することができる。
【0070】
S701では、カメラ制御部212は、縦の枠数のループを開始する、この例では縦方向の枠数が4枠なので4回繰り返す。
【0071】
S702では、カメラ制御部212は、横の枠数のループを開始する、この例では横方向の枠数が6枠なので6回繰り返す。
【0072】
S703では、カメラ制御部212は、横のライン数のループを開始する。この例では1枠内の縦方向の画素数が4画素なので4回繰り返す。
【0073】
S704では、カメラ制御部212は、1ラインの画素を読み出す。この例では1枠内の横方向の画素数が4画素なので4画素分読み出す。
【0074】
S705では、カメラ制御部212は、第1のオフセットを加算する。図3(b)で矢印312のように読み出すために、1画素1ワードとすれば23ワード分のアドレスを加算する。
【0075】
S706は、ライン数ループの閉ループである。
【0076】
S707では、カメラ制御部212は、第2のオフセットを加算する。図3(b)で矢印313のように読み出すために、1画素1ワードとすれば77ワード分のアドレスを減算する。
【0077】
S708は、横枠数ループの閉ループである。
【0078】
S709では、カメラ制御部212は、第3のオフセットを加算する。図3(b)で矢印314のように読み出すために、1画素1ワードとすれば、3ワード分のアドレスを加算する。
【0079】
S710は、縦枠数ループの閉ループである。
【0080】
以上説明したように、本発明の第1の実施形態によれば、1つのAF信号処理部204で、2つ以上のデフォーカスマップを生成することができる。DRAM209に配置されている1つの画像データから、被写体検出用のデフォーカスマップと、AF用のデフォーカスマップを生成することができる。同じ画像からデフォーカスマップを作成することができるため、別な画像からデフォーカスマップを作成するときに生じる被写体位置ずれなどが起こらないというメリットもある。
【0081】
(第2の実施形態)
この第2の実施形態では、カメラの構成は第1の実施形態と同様であり、2種類のデフォーカスマップの作成動作のみが異なるため、装置の構成についての説明は省略する。
【0082】
第2の実施形態における、2種類のデフォーカスマップを作成する第1の作成処理について、図5図8(a)を用いて説明する。
【0083】
図8(a)では、横軸が時間を示し、撮像素子201の読み出し、WDMAC220の書き込み、RDMAC221の読み出し、AF信号処理部204の処理がそれぞれ行われる様子を示している。点線801で区切られている範囲が1フレーム分の処理を表す。1フレームの中で撮像素子201の読み出し時間以外の撮像素子201の蓄積時間および純粋な空き時間をブランキング期間805として表す。
【0084】
また、撮像素子201の読み出し速度に対して、画像処理部202、WDMAC220、RDMAC221、AF信号処理部204の処理速度は十分に高速で、撮像素子201の読み出し速度が律速しているものとする。
【0085】
図5を参照して説明すると、S501では、撮像素子201から画像信号を読み出し、読み出した画像信号から画像データを生成する。読み出し期間を、図8の期間802で示す。
【0086】
S502では、カメラ制御部212は、読み出された画像データに対して、画像処理部202を用いて画像処理を行う。撮像素子201の読み出しとほぼ同時に画像処理が行われるため、これを期間802で示す。
【0087】
S503では、カメラ制御部212は、画像データをWDMAC220を用いて、DRAM209に書き込む。撮像素子201の読み出しとほぼ同時に書き込みが行われるので、同じく期間802で示す。
【0088】
この時、撮像素子201と画像処理部202とWDMAC220は繋がり、パイプライン動作する。それぞれの間がバッファとストップ信号を介して繋がり、前の処理が後の処理を追い越さないように、後の処理はバッファがいっぱいになると前の処理へストップ信号を送る。これにより、バッファがあふれることなく順次処理が行われる。
【0089】
S504では、カメラ制御部212は、DRAM209に書き込まれた画像データを、被写体検知用のデフォーカスマップ作成のために、RDMAC221を用いて読み出す。WDMAC220の書き込みから後述する画素分だけ遅れて読み出しが行われるため、これを期間803で示す。
【0090】
S505では、カメラ制御部212は、読み出した画像データについて焦点検出を行う。RDMAC221とAF信号処理部204も同様にバッファとストップ信号を介して接続されるため、RDMAC221で読み出した画素から順に相関演算が行われる。これらは、ほぼ同時に処理されるため、期間803で示す。WDMAC220の書き込みアドレスと、RDMAC221の読み出しアドレスは連携し、書き込みを読み出しが追い越さないように動作する。
【0091】
動作の例として、図3(b)では画素310から画素320まで書き込まれたところで、矢印311の読み出しが行われる。その後の書き込み中は、しばらく読み出しはストップし、画素322まで書き込まれたところで、次の矢印321の読み出しが行われる。
【0092】
以上説明したように、画素/ライン単位での遅れはあるものの、デフォーカスマップの作成が撮像素子201の読み出しとほぼ同時に処理され、前述のように撮像素子201の読み出し速度に律速されて被写体検知用のデフォーカスマップが作成される。
【0093】
S506では、カメラ制御部212は、DRAM209に書き込まれた画像データを、AF用のデフォーカスマップ作成のためにRDMAC221を用いて読み出す。既に画像データはDRAM209に書き込み済みであり、撮像素子201の読み出し速度に律速されないので、比較的高速に処理が進む。これを、期間804で示す。
【0094】
S507では、読み出した画像データについて焦点検出を行う。RDMAC221で読み出した画素から順に相関演算が行われ、読み出しとほぼ同時に焦点検出処理が行われるため、これを期間804で示す。
【0095】
以上のような流れで2種類のデフォーカスマップを作成する第1の作成処理が行われる。ただし、図を見れば明らかであるが、この第1の作成処理はブランキング期間805が十分に長くなければ成り立たない。近年、ハイフレームレート動画の需要が高まっているが、その場合撮像素子の読み出し期間802を1フレーム内で捻出することが難しくなり、ブランキング時間805が短くなる傾向がある。この場合、AF用のデフォーカスマップのための読み出し期間、演算期間(演算時間)804が次のフレームにはみ出してしまう(フレームの時間間隔からはみ出してしまう)ことになる。
【0096】
本実施形態では、AF信号処理部204は1つであるため、次のフレームにはみ出すと、被写体検出用のデフォーカスマップの演算と、AF用のデフォーカスマップの演算が重なって、成り立たなくなる。
【0097】
以下、これを回避するための処理である、2種類のデフォーカスマップを作成する第2の作成処理について説明する。2種類のデフォーカスマップを作成する第2の作成処理について、図5図8(b)を用いて説明する。
【0098】
図8(b)においても、横軸が時間を示し、撮像素子201の読み出し、WDMAC220の書き込み、RDMAC221の読み出し、AF信号処理部204の処理がそれぞれ行われる様子を示している。点線811で区切られている範囲が1フレーム分の処理を表す。1フレームの中で撮像素子201の読み出し時間以外の撮像素子201の蓄積時間および純粋な空き時間をブランキング期間815として表す。
【0099】
図5を参照して説明すると、S501では、撮像素子201から画像信号を読み出し、読み出した画像信号から画像データを生成する。読み出し期間を、図8の期間812で示す。
【0100】
S502では、カメラ制御部212は、読み出された画像データに対して、画像処理部202を用いて画像処理を行う。撮像素子201の読み出しとほぼ同時に画像処理が行われるため、これを期間812で示す。
【0101】
S503では、カメラ制御部212は、画像データをWDMAC220を用いて、DRAM209に書き込む。撮像素子201の読み出しとほぼ同時に書き込みが行われるので、同じく期間812で示す。この第2の作成処理では、DRAM209上に画像データの2面分のエリアを確保して、交互に用いる。
【0102】
S504では、カメラ制御部212は、DRAM209に書き込まれた画像データを、被写体検知用のデフォーカスマップ作成のために、RDMAC221を用いて読み出す。WDMAC220の書き込みが完全に完了した後に読み出しが行われるので期間813で示す。
【0103】
S505では、カメラ制御部212は、読み出した画像データについて焦点検出を行う。RDMAC221とAF信号処理部204はバッファとストップ信号を介して接続されるため、RDMAC221で読み出した画素から順に相関演算が行われる。これらは、ほぼ同時に処理されるため、期間813で示す。
【0104】
以上の処理により、被写体検知用のデフォーカスマップが作成される。この第2の作成処理では、第1の作成処理と異なり、WDMAC220の書き込みアドレスと、RDMAC221の読み出しアドレスは連携しない。
【0105】
S506では、カメラ制御部212は、DRAM209に書き込まれた画像データを、AF用のデフォーカスマップ作成のためにRDMAC221を用いて読み出す。被写体検出用のデフォーカスマップの作成処理の後に同じ回路を用いて行うため、この期間を期間814で示す。
【0106】
S507では、読み出した画像データについて焦点検出を行う。RDMAC221で読み出した画素から順に相関演算が行われ、読み出しとほぼ同時に焦点検出処理が行われるため、これを期間814で示す。
【0107】
なお、期間814では、次の撮像素子201の読み出しがもう開始されている(期間816)が、DRAM209の2面分のエリアのうち前のフレームで用いていない部分を期間816の読み出しに用いるため、処理が重なることはない。
【0108】
以上のような流れで、2種類のデフォーカスマップを作成する第2の作成処理が行われる。この手順であれば、ブランキング時間815が短かったとしても、2種類のデフォーカスマップを1つのAF信号処理部で作成することができる。ただし、第1の作成処理の方が各デフォーカスマップの完成の時間が早い。そのため、各撮影モードのフレームレート、撮像素子の読み出し時間、ブランキング時間によって、第1の作成処理と第2の作成処理を使い分けるとよい。
【0109】
以上説明したように、上記の第2の実施形態によれば、1つのAF信号処理部204で、2つ以上のデフォーカスマップを生成することができる。DRAM209に配置されている1つの画像から、被写体検出用のデフォーカスマップと、AF用のデフォーカスマップを生成することができる。同じ画像からデフォーカスマップを作成することができため、別な画像からデフォーカスマップを作成するときに生じる被写体位置ずれが起こらないというメリットもある。また、1フレームのブランキング時間が短くても、2つ以上のデフォーカスマップを作成することができる。
【0110】
(第3の実施形態)
この第3の実施形態でも、カメラの構成は第1の実施形態と同様であり、2種類のデフォーカスマップの作成動作のみが異なるため、装置の構成についての説明は省略する。
【0111】
第3の実施形態における、2種類のデフォーカスマップを作成する作成処理について、図8(c)を用いて説明する。
【0112】
図8(c)では、横軸が時間を示し、撮像素子201の読み出し、WDMAC220の書き込み、RDMAC221の読み出し、AF信号処理部204の処理がそれぞれ行われる様子を示している。点線820で区切られている範囲が1フレーム分の処理を表す。
【0113】
AF用のデフォーカスマップを期間822,823,825,826において作成する。このとき、被写体検出用のデフォーカスマップを821,824において、1フレーム置きに作成する。被写体検出用のデフォーカスマップの作成処理は負荷が重いため、毎フレームは行わず、AF用のデフォーカスマップの作成処理は毎フレーム行う。
【0114】
また、カメラ本体20全体の処理負荷によって、図8(c)のように被写体検出用のデフォーカスマップ作成を間引く(フレームごとにDRAM209からの画素信号の読み出し回数を変える)処理と、図8(a)の様に間引かない処理を切り替えることも考えられる。
【0115】
以上説明したように、第3の実施形態によれば、1つのAF信号処理部204で、2つ以上のデフォーカスマップを生成する際に、それぞれのデフォーカスマップのフレームレートを変えることができる。複数のデフォーカスマップのうちいくつかを適宜間引くことによって、処理負荷を低減することができる。
【0116】
(第4の実施形態)
本実施形態の撮像素子201では、図2(c)のように撮像面位相差AFを行うために、一つのマイクロレンズに対して2つのフォトダイオードが配置されている。その際に、横方向に2つの光電変換素子295,296を有する行と、縦方向に2つの光電変換素子297,298を有する行がある。これによって横方向の位相差と、縦方向の位相差によるAFが可能になる。光学的に図2(c)のように画素が配置されていても、撮像素子201から読み出された画素信号がDRAM209に書き込まれた状態では、図3(a)のような配置となる。
【0117】
図9(a)を用いて、横方向の位相差で、被写体検知用のデフォーカスマップを作成するためのRDMAC221の読み込み順について説明する。これは、図5のS504において実行される読み出し方法である。なお、横方向の位相差を用いたAF用のデフォーカスマップの作成も、同様に、奇数行を読むことによって実現できるので、ここでは説明を省略する。
【0118】
前述した通り、被写体検知用のデフォーカスマップとして、1枠4×4画素の枠が、6×4枠配置されたマップを作るのであるが、それに使用する横方向に瞳分割されている行は、図2(c)に示されるように奇数行である。それぞれの矩形枠900の単位でAF信号処理部204に入力する必要があるので、図9(a)の矢印のような順序で入力する。
【0119】
まず、1つの枠900を読み込むために、矢印901のように1行目の4画素を読み込み、次に点線矢印902のように第1のオフセットを加算し、アドレスを移行して次の行である3行目を読み込んでいく。1行目と3行目の2ライン分を読み込むと、点線矢印903のように第2のオフセットを加算し、次の枠の読み込みに進む。
【0120】
同様に、6枠分読み込んだら点線矢印904のように第3のオフセットを加算し、次の行の枠の演算に進む。このような処理の繰り返しと3種類のオフセットを用いて、6×4枠のデフォーカスマップを作成する。
【0121】
図9(b)を用いて、縦方向の位相差で、被写体検知用のデフォーカスマップを作成するためのRDMAC221の読み込み順について説明する。これは、図5のS504において実行される読み出し方法である。なお、縦方向の位相差を用いたAF用のデフォーカスマップの作成も、同様に、偶数行を読むことによって実現できるので、ここでは説明を省略する。
【0122】
前述した通り、被写体検知用のデフォーカスマップとして、1枠4×4画素の枠が、6×4枠配置されたマップを作るのであるが、それに使用する縦方向に瞳分割されている行は、図2(c)に示されるように偶数行である。それぞれの矩形枠910の単位でAF信号処理部204に入力する必要があるので、図9(b)の矢印のような順序で入力する。
【0123】
まず、1つの枠910を読み込むために、矢印911のように2行目の4画素を読み込み、次に点線矢印912のように第1のオフセットを加算し、アドレスを移行して次の行である4行目を読み込んでいく。2行目と4行目の2ライン分を読み込むと、点線矢印913のように第2のオフセットを加算し、次の枠の読み込みに進む。
【0124】
同様に、6枠分読み込んだら点線矢印914のように第3のオフセットを加算し、次の行の枠の読み込みに進む。このような処理の繰り返しと3種類のオフセットを用いて、6×4枠のデフォーカスマップを作成する。
【0125】
複雑なオフセットを用いて縦方向に読み出す方法も考えられるが、DRAMを読み込む場合、連続的に読み込んだ後に回転させる方が、キャッシュなどを利用できるので有利である。
【0126】
以上説明したように、第4の実施形態によれば、1つのAF信号処理部204で、2つ以上のデフォーカスマップを生成する際に、撮像素子201の瞳分割がラインごとに異なる場合でも、縦方向の位相差を用いたデフォーカスマップと、横方向の位相差を用いたデフォーカスマップを作成することができる。
【0127】
なお、本実施形態では撮像素子201の瞳分割が1ラインごとに異なる実施形態を示したが、これに限らず、2以上の所定数ラインごとに異ならせてもよいし、必ずしも周期的に並んでいる必要はなく、縦方向に相関を有する画素を配置した行と、横方向に相関を有する画素を配置した行とを有している撮像素子であれば、本発明を適用できる。
【0128】
(第5の実施形態)
この第5の実施形態でも、カメラの構成は第1の実施形態と同様であり、2種類のデフォーカスマップの作成動作のみが異なるため、装置の構成についての説明は省略する。
【0129】
図10(a)を用いて、第5の実施形態における、WDMAC220がDRAM209へ画像データをどのように配置して書き込むかについて説明する。
【0130】
図2(b)で説明した通り、撮像素子201の各画素では、一つのマイクロレンズ内に2つの画素が配置されており、それぞれA,Bと表現している。これらの画素が、撮像素子201の読み出し方、画像処理部202の処理によって、図10(a)のような順に並ぶ場合を考える。
【0131】
図10(b)を用いて、被写体検知用のデフォーカスマップを作成するためのRDMAC221の読み込み順について説明する。これは、図5のS504において行われる読み出し方法である。ここで、RDMAC221は2つあり、それぞれがAF信号処理部204に接続され、相関演算が行われるものとする。
【0132】
被写体検知用のデフォーカスマップは、1枠4×4画素の枠が、3×4枠配置されて構成される。
【0133】
最初に第1のRDMAC221によってA像を読み出す。それぞれの矩形枠1000の単位でAF信号処理部204に入力する必要があるので、図の矢印のような順序で入力する。
【0134】
1つの枠1000を読み込むために、矢印1001のように4画素読み込み、次に点線矢印1002のように第1のオフセットを加算し、アドレスを移行して次の行を読んでいく。4ライン分読み込んだら、点線矢印1003のように第2のオフセットを加算し、次の枠の読み込みに進む。
【0135】
同様に、3枠分読み込んだ後に、点線矢印1004のように第3のオフセットを加算し、次の行の枠の読み込みに進む。
【0136】
同様に、第2のRDMAC221によってB像を読み出す。それぞれの矩形枠1000の単位でAF信号処理部204に入力する必要があるので、図の矢印のような順序で入力する。
【0137】
1つの枠1000を読み込むために、矢印1011のように4画素読み込み、次に点線矢印1012で示される第1のオフセットを加算し、アドレスを移行して次の行を読んでいく。4ライン分読み込んだら、点線矢印1013のように第2のオフセットを加算し、次の枠の読み込みに進む。
【0138】
同様に、3枠分読み込んだ後に、点線矢印1014のように第3のオフセットを加算し、次の行の枠の読み込みに進む。
【0139】
このような処理の繰り返しと3種類のオフセットを用いて、3×4枠のデフォーカスマップを作成する。
【0140】
以上説明したように、第5の実施形態によれば、A画素、B画素が交互でなく面ごとに配置されていても、1つのAF信号処理部204で、2つ以上のデフォーカスマップを生成することができる。
【0141】
本実施形態によれば、DRAM209に配置されている1つの画像から、被写体検出用のデフォーカスマップと、AF用のデフォーカスマップを生成することができる。そのため、同じ画像からデフォーカスマップを作成することができ、別な画像からデフォーカスマップを作成する場合に生じる被写体位置ずれが起こらないというメリットもある。
【0142】
(他の実施形態)
また本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現できる。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現できる。
【0143】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0144】
10:レンズ、20:カメラ本体、106:レンズ制御部、201:撮像素子、202:画像処理部、204:AF信号処理部、209:DRAM、212:カメラ制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10