(57)【要約】【課題】撮像素子の各画素が複数の光電変換部を有する場合に該複数の光電変換部を同時に互いに独立に露出制御し、かつ視差画像を取得可能とする。【解決手段】撮像装置１００は、３つ以上の複数の光電変換部２０３〜２０６が設けられた画素を複数有する撮像素子１０５を有し、複数の光電変換部のそれぞれの露出を制御して、複数の光電変換部のそれぞれからの信号を用いて該複数の光電変換部のそれぞれに対応する画像を生成する。複数の光電変換部のうち互いに視差を有する一対の視差画像の生成に用いられる一対の光電変換部は互いに等しい露出で制御される。該一対の光電変換部は、複数の光電変換部のうちいずれかの光電変換部からの信号を用いて生成された選択用画像から得られる情報に応じて選択される。【選択図】図１
2017073681.tif 000002
【特許請求の範囲】
【請求項１】
３つ以上の複数の光電変換部が設けられた画素を複数有する撮像素子と、
前記複数の光電変換部のそれぞれの露出を制御する露出制御手段と、
前記複数の光電変換部のそれぞれからの信号を用いて該複数の光電変換部のそれぞれに対応する画像を生成する画像生成手段とを有し、
前記露出制御手段は、前記複数の光電変換部のうち互いに視差を有する一対の視差画像の生成に用いられる一対の光電変換部を互いに等しい露出で制御し、
前記一対の光電変換部を、前記複数の光電変換部のうちいずれかの光電変換部からの信号を用いて生成された選択用画像から得られる情報に応じて選択する選択手段を有することを特徴とする撮像装置。
【請求項２】
前記選択手段は、前記選択用画像から被写体のテクスチャを取得し、該テクスチャに基づいて前記一対の光電変換部を選択することを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記選択手段は、前記選択用画像に含まれる複数の方向でのエッジを検出し、該複数の方向での前記エッジの量に応じて前記一対の光電変換部を選択することを特徴とする請求項２に記載の撮像装置。
【請求項４】
前記選択手段は、前記選択用画像に繰り返しパターンが含まれるか否かを判定し、
該判定の結果に応じて前記一対の光電変換部を選択することを特徴とする請求項１から３のいずれか一項に記載の撮像装置。
【請求項５】
前記複数の光電変換部は、水平方向、垂直方向および斜め方向のそれぞれに対をなすように配置されており、
前記選択手段は、前記水平方向、垂直方向および斜め方向のいずれかにおいて対をなす前記光電変換部を前記一対の光電変換部として選択することを特徴とする請求項１から４のいずれか一項に記載の撮像装置。
【請求項６】
前記撮像素子に複数の分割領域が設けられており、
前記選択手段は、前記分割領域ごとに生成される前記選択用画像から得られる前記情報に応じて、前記分割領域ごとに前記一対の光電変換部を選択することを特徴とする請求項１から５のいずれか一項に記載の撮像装置。
【請求項７】
前記一対の視差画像を用いて該撮像装置から被写体までの距離情報を示す距離マップを生成する距離マップ生成手段を有することを特徴とする請求項１から６のいずれか一項に記載の撮像装置。
【請求項８】
前記画像生成手段は、前記複数の光電変換部のうち前記一対の光電変換部とは異なる第１の光電変換部からの信号を用いて記録用画像を生成するとともに、前記複数の光電変換部のうち前記一対の光電変換部とは異なり、かつ固定の第２の光電変換部からの信号を用いて被写体を追尾するための追尾用画像を生成し、
前記露出制御手段は、前記第１の光電変換部の露出と前記第２の光電変換部の露出とを互いに異ならせることを特徴とする請求項１から７のいずれか一項に記載の撮像装置。
【請求項９】
前記露出制御手段は、前記複数の光電変換部のうち少なくとも１つの光電変換部からの信号を用いて測光を行い、該測光の結果に応じて前記各光電変換部の露出を制御することを特徴とする請求項１から８のいずれか一項に記載の撮像装置。
【請求項１０】
３つ以上の複数の光電変換部が設けられた画素を複数有する撮像素子を有する撮像装置のコンピュータに、前記複数の光電変換部のそれぞれの露出を制御させ、前記複数の光電変換部のそれぞれからの信号を用いて該複数の光電変換部のそれぞれに対応する画像を生成させるコンピュータプログラムであって、
前記コンピュータに、
前記複数の光電変換部のうち互いに視差を有する一対の視差画像の生成に用いられる一対の光電変換部を互いに等しい露出で制御させ、
前記一対の光電変換部を、前記複数の光電変換部のうちいずれかの光電変換部からの信号を用いて生成された選択用画像から得られる情報に応じて選択させることを特徴とする撮像制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに視差を有する複数の画像を撮像可能なデジタルカメラ等の撮像装置に関する。
【背景技術】
【０００２】
撮像装置に用いられる撮像素子には、特許文献１にて開示されているように、画素ごとにマイクロレンズと該マイクロレンズを通過する光束の中心軸に対して偏って配置された光電変換部とが設けられているものがある。この撮像素子には、光電変換部が上記中心軸に対して瞳分割方向のうち一方に偏って配置された第１の画素群と他方に偏って配置された第２の画素群とが設けられている。これら第１および第２の画素群からの信号をそれぞれ用いて互いに視差を有する２つの画像（視差画像）を生成することができる。そして、これら互いに視差を有する視差画像を用いることで、撮像装置から被写体までの距離（被写体距離）を算出し、該被写体距離を用いてオートフォーカス等を行うことができる。また、撮像素子には、各画素の１つのマイクロレンズに対して複数の複数の光電変換部が設けられたものもある。
【０００３】
さらに、特許文献２には、水平方向と垂直方向に２次元配列された複数の撮像部を有し、縦方向と横方向のうち選択された視差取得方向に配置された複数の撮像部を通して互いに視差を有する複数の視差画像を生成する多眼撮像装置が開示されている。この撮像装置では、複数の視差画像を用いて２次元の被写体距離情報（距離マップ）を生成したり、撮像部ごとに異なる露出条件での撮像により生成された複数の視差画像を距離マップを用いて合成してダイナミックレンジを広げた画像を生成したりする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１８２８２４号公報
【特許文献２】特開２０１３−０９３８３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１にて開示された撮像装置では、特許文献２にて開示された撮像装置のように同時刻に互いに異なる複数の露出条件で撮像を行って複数の画像を生成することはできない。また、特許文献２にて開示された撮像装置では、視差取得方向をユーザが選択するにすぎず、撮像装置が被写体のテクスチャに応じて視差取得方向を動的に切り替える等の制御は行わない。また、特許文献２には、距離マップを生成する際に複数の視差画像に対する露出条件が異なる場合の処理について言及されていない。例えば、複数の撮像部のシャッター速度が互いに異なる場合において撮像装置に振れが加わると、複数の撮像部における像振れの蓄積量が互いに異なる。この結果、該複数の撮像部にて得られる複数の視差画像を用いて生成される距離マップの精度が低下するおそれがある。
【０００６】
本発明は、撮像素子の各画素が複数の光電変換部を有する場合に該複数の光電変換部を同時に互いに独立に露出制御して複数の画像を取得でき、さらには高精度な被写体距離情報の取得が可能な複数の視差画像も取得可能な撮像装置等を提供する。
【課題を解決するための手段】
【０００７】
本発明の一側面としての撮像装置は、３つ以上の複数の光電変換部が設けられた画素を複数有する撮像素子と、複数の光電変換部のそれぞれの露出を制御する露出制御手段と、複数の光電変換部のそれぞれからの信号を用いて該複数の光電変換部のそれぞれに対応する画像を生成する画像生成手段とを有する。露出制御手段は、複数の光電変換部のうち互いに視差を有する一対の視差画像の生成に用いられる一対の光電変換部を互いに等しい露出で制御する。該撮像装置は、一対の光電変換部を、複数の光電変換部のうちいずれかの光電変換部からの信号を用いて生成された選択用画像から得られる情報に応じて選択する選択手段を有することを特徴とする。
【０００８】
本発明の他の一側面としての撮像制御プログラムは、３つ以上の複数の光電変換部が設けられた画素を複数有する撮像素子を有する撮像装置のコンピュータに、複数の光電変換部のそれぞれの露出を制御させ、複数の光電変換部のそれぞれからの信号を用いて該複数の光電変換部のそれぞれに対応する画像を生成させるコンピュータプログラムである。そして、コンピュータに、複数の光電変換部のうち互いに視差を有する一対の視差画像の生成に用いられる一対の光電変換部を互いに等しい露出で制御させ、該一対の光電変換部を、複数の光電変換部のうちいずれかの光電変換部からの信号を用いて生成された選択用画像から得られる情報に応じて選択させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、撮像素子の各画素に設けられた複数の光電変換部を同時に互いに独立に露出制御して複数の画像を取得することができるとともに、高精度な被写体距離情報の取得に用いられる複数の視差画像も取得することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例１であるデジタルカメラの構成を示すブロック図。
【図２】実施例１のカメラの撮像素子の構成を説明する図。
【図３】実施例１における瞳分割を説明する図。
【図４】実施例１のカメラにおける画像処理部の構成を示すブロック図。
【図５】実施例１のカメラが行う処理を示すフローチャート。
【図６】本発明の実施例２であるデジタルカメラの構成を示すブロック図。
【図７】実施例２のカメラにおける画像処理部の構成を示すブロック図。
【図８】実施例２のカメラが行う処理を示すフローチャート。
【図９】本発明の実施例３であるデジタルカメラの構成を示すブロック図。
【図１０】実施例１のカメラにおけるテクスチャの解析処理を示すフローチャート。
【図１１】実施例２のカメラにおける撮像素子の構成を示すブロック図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００１２】
図１には、本発明の実施例１である撮像装置としてのデジタルカメラ（以下、単にカメラという）１００の構成を示している。カメラ１００は、複数の画素を有する撮像素子を備えており、各画素は１つのマイクロレンズと複数（本実施例では４つ）の光電変換部とを含む。複数の光電変換部（以下、それぞれをサブ画素ともいう）は、互いに独立に露出制御可能である。複数の画素における互いに対応するサブ画素（以下、サブ画素群という）からの信号を用いて１つの画像を生成することができ、互いに異なるサブ画素群のそれぞれからの信号を用いて互いに視差を有する複数（４つ）の視差画像を生成することができる。本実施例の撮像装置では、これら複数の視差画像のうち１つを記録用または表示用画像（以下、撮像画像という）とし、１つを被写体を追尾するための追尾用画像とし、残りの２つを被写体距離情報を取得するための測距用画像とする。
【００１３】
さらに、本実施例の撮像装置では、撮像前に被写体のテクスチャを解析してより正確に視差を取得し易い方向を決定し、該決定した方向に合わせて各画素の複数のサブ画素のうち２つを測距用サブ画素に設定する。該２つの測距用サブ画素の出力は、２つの測距用画像の生成に用いられる。また、他の２つのうち１つのサブ画素は、独立に露出制御される撮像用サブ画素に設定され、該撮像用サブ画素の出力は撮像画像の生成に用いられる。そして、残りの１つのサブ画素は追尾用画像を生成するための追尾用サブ画素に設定される。
【００１４】
図１において、システム制御部１０１は、ＣＰＵ等のコンピュータにより構成され、ＲＯＭ１０２から読み出してＲＡＭ１０３に展開した制御プログラムに従ってデジタルカメラ１００内の後述する各部の動作を制御する。ＲＯＭ１０２は、書き換え可能な不揮発性メモリであり、上記制御プログラムに加えて各部の制御に必要なパラメータ等を記憶する。焦点検出において必要なレンズ情報である射出瞳距離もＲＡＭ１０２が記憶している。また、ＲＡＭ１０３は、書き換え可能な揮発性メモリであり、各部の動作により出力されたデータの一時的な記憶領域として用いられる。
【００１５】
撮像光学系（以下、単に光学系という）１０４は、変倍レンズ、フォーカスレンズ、振れ補正レンズ等の複数のレンズにより構成され、光学像（被写体像）を撮像素子１０５に形成する。光学系１０４には絞りも含まれており、その開口径を調節することで光量調節を行う。光学系１０４は、カメラ１００に一体に設けられていてもよいし、カメラ１００に対して交換可能（着脱可能）に設けられていてもよい。
【００１６】
撮像素子１０５は、ＣＣＤセンサやＣＭＯＳセンサ等により構成され、光学系１０４により形成された被写体像を光電変換し、該光電変換により得られたアナログ画像信号をＡ／Ｄ変換部１０６に出力する。撮像素子１０５は、上述したように１つのマイクロレンズと複数のサブ画素（光電変換部）とを含む画素を複数有する。撮像素子１０５の具体的な構成については後述する。
【００１７】
Ａ／Ｄ変換部１０６は、撮像素子１０５からのアナログ画像信号をデジタル画像データに変換し、該デジタル画像データをＲＡＭ１０３に出力して記憶させる。
【００１８】
画像処理部１０７は、画像処理用コンピュータにより構成され、ＲＡＭ１０３に記憶された画像データに対してブライトネス補正、コントラスト補正、ガンマ変換および色変換等の画像処理を行う。そして、これら画像処理を経た画像データを再びＲＡＭ１０３に出力して記憶させる。画像処理部１０７は、画像生成手段、選択手段および距離マップ生成手段として機能する。
【００１９】
記録媒体１０８は、カメラ１００に対して着脱可能な半導体メモリや光ディスク等であり、ＲＡＭ１０３に記憶された画像処理後の画像データやＡ／Ｄ変換部１０６からの画像処理前の画像データであるＲＡＷ画像等を撮像画像（記録用画像）として記録する。
【００２０】
なお、ＲＡＭ１０３に記憶された画像データは、所定の表示用処理が行われた後に不図示の表示部（背面モニタ等）にも出力される。これにより、該画像データに対応する表示用画像が表示部上に表示される。バス１０９は、上述した各部間で信号のやり取りを行うために用いられる。
【００２１】
図２（ａ），（ｂ）には、撮像素子１０５の構成を示している。図２（ａ）は、撮像素子１０５の画素配列を示しており、図２（ｂ）は１つの画素２００の構成を拡大して示している。１つの画素２００は、マイクロレンズ２０１と、２行×２列に配置された４つのサブ画素２０３，２０４，２０５，２０６とを含む。以下の説明において、サブ画素２０３，２０４，２０５，２０６をそれぞれ、Ａサブ画素、Ｂサブ画素、Ｃサブ画素、Ｄサブ画素と称する。Ａサブ画素２０３とＢサブ画素２０４とが水平方向（ｘ方向）に並び、Ｃサブ画素２０５とＤサブ画素２０６とがＡおよびＢサブ画素２０３，２０４に対して垂直方向に隣り合う位置にて水平方向に並んでいる。そして、このように構成された画素２００が複数、図２（ａ）に示すように水平方向および垂直方向（ｙ方向）に二次元配列されている。ｚ方向は、光学系１０４の光軸方向である。
【００２２】
図３（ａ），（ｂ）を用いて、画素２００における瞳分割について説明する。図３（ａ）は、図２（ｂ）に示した画素２００のＳ−Ｓ断面を＋ｙ方向から見て示すとともに、光学系１０４の射出瞳面を−ｚ方向から見て示している。図３（ｂ）は、図２（ｂ）に示した画素２００のＳ−Ｓ断面を−ｙ方向から見て示すとともに、光学系１０４の射出瞳面を−ｚ方向から見て示している。
【００２３】
撮像素子１０５は、光学系１０４の結像面の近傍に配置されており、被写体からの光束は、光学系１０４の射出瞳３００を通過して画素２００に向かう。射出瞳３００の大きさは、絞りの開口径や各レンズを保持するレンズ枠等の大きさによって変化する。
【００２４】
また、射出瞳３００を通過した光束は、マイクロレンズ２０１を透過してＡ〜Ｄサブ画素２０３〜２０６に到達して受光される。射出瞳面上の領域３０７は、Ａ〜Ｄサブ画素２０３〜２０６を全て合わせた画素２００の全体で受光可能な全開口領域である。
【００２５】
射出瞳３００のうち部分瞳領域であるＡ瞳領域３０３を通過した光束はＡサブ画素２０３により受光され、該Ａ瞳領域３０３と水平方向にて隣り合う部分瞳領域であるＢ瞳領域３０４を通過した光束はＢサブ画素２０４に入射する。また、Ａ瞳領域３０３と垂直方向にて隣り合う部分瞳領域であるＣ瞳領域３０５を通過した光束はＣサブ画素２０５により受光され、Ｃ瞳領域３０５と水平方向にて隣り合う部分瞳領域であるＤ瞳領域３０６を通過した光束はＤサブ画素２０６により受光される。このように射出瞳３００のうち互いに異なる部分瞳領域（３０３〜３０６）を通過した光束が互いに異なるサブ画素（２０３〜２０６）により受光されることで、瞳分割が行われる。
【００２６】
図４には、図１に示した画像処理部１０７の具体的な構成例を示している。視差ズレ補正部４００は、視差量算出部４０２が出力する距離マップを用いて、合成画像生成部４０１が出力する画像である入力画像を変形させる。合成画像生成部４０１は、撮像素子１０５における複数の画素２００のうちＡサブ画素群、Ｂサブ画素群、Ｃサブ画素群およびＤサブ画素群ごとに信号を読み取り、サブ画素群ごとの画像データを生成する。
【００２７】
視差量算出部４０２は、合成画像生成部４０１により生成されたサブ画素群ごとの画像データのうち測距用として生成された２つの画像データ（測距用画像）における対応する画素対ごとに視差量を検出する。そして、視差量算出部４０２は、検出した視差量を用いて該画素対に写っている被写体までの距離（被写体距離）を算出する。こうして画素対ごとに被写体距離を算出することで、視差量算出部４０２は、２次元の被写体距離情報である距離マップを作成する。
【００２８】
さらに、画像処理部１０７は、エッジ検出部４０３および繰り返し判定部４０４において合成画像生成部４０１にて生成された画像（選択用画像）において被写体のテクスチャの解析を行い、視差が取得しやすい方向（以下、視差取得方向という）を決定する。本実施例では、視差取得方向は水平方向、垂直方向または斜め方向とする。
【００２９】
エッジ検出部４０３は、ここに入力された画像に対して水平方向または垂直方向でのエッジ検出を行い、検出したエッジ量を積分して出力する。エッジの検出は、Ｓｏｂｅｌフィルタ等を用いて行うことができる。繰り返し判定部４０４は、ここに入力された画像に対して縞模様のような繰り返しパターンがあるか否かを判定する。
【００３０】
露出量設定部４０５は、エッジ検出部４０３が出力するエッジ量もしくは繰り返し判定部４０４が出力する繰り返し判定結果に応じて、Ａ〜Ｄサブ画素２０３〜２０６のそれぞれの露出量を設定する（つまり露出制御を行う）。
【００３１】
追尾部４０６は、前述した表示部に設けられたタッチパネル等をユーザがタッチ操作することで、追尾する被写体の位置情報を取得する。追尾部４０６は、合成画像生成部４０１により生成されたサブ画素群ごとの画像データのうち追尾用として生成された１つの画像データ（追尾用画像）を取得する。追尾用画像は連続した複数のフレーム画像からなる動画像であり、追尾部４０６はフレーム画像ごとに被写体を検出して追尾する。システム制御部１０１は、追尾される被写体に対してオートフォーカスを継続して行う。
【００３２】
図５には、本実施例のカメラ１００における測光および焦点検出から撮像および距離マップの生成までの処理の流れを示している。この処理は、システム制御部１０１および画像処理部１０７がコンピュータプログラムである撮像制御プログラムに従って処理を行う。
【００３３】
ステップＳ５００では、システム制御部１０１は、撮像素子１０５におけるいずれかの領域に設けられた画素からの信号を用いて被写体の測光を行い、被写体を適正露出で撮像できるようにシャッター速度とＩＳＯ感度を設定する。
【００３４】
ステップＳ５０１では、システム制御部１０１は、被写体に焦点を合わせるようにオートフォーカスを行う。この際、例えば、撮像素子１０５のうちユーザが選択した又は所定のアルゴリズムによりシステム制御部１０１が選択したＡＦエリアに対応する画素領域内の一対のサブ画素群からの信号を用いた位相差検出方式により光学系１０４の焦点検出を行う。そして、焦点検出の結果として得られるデフォーカス量から光学系１０４内のフォーカスレンズの駆動量を求め、この駆動量だけフォーカスレンズを駆動することで被写体に対する合焦状態を得る。なお、オートフォーカスは、上記ＡＦエリアに対応する画素領域からの信号を用いたコントラスト検出方式により行ってもよい。
【００３５】
次にステップＳ５０２では、システム制御部１０１は、撮像（静止画撮像または動画撮像）を行うか否かを判定する。具体的には、ユーザによりカメラ１００に設けられた撮像スイッチ（図示せず）が操作されたか否かを判定し、撮像スイッチが操作された場合に撮像を行うと判定する。なお、動画撮像を行う場合は、撮像が開始された後に撮像スイッチが再操作されたか否かを判定し、再操作された場合は撮像を行わない（終了する）と判定する。静止画の連続撮像を行う場合は、撮像スイッチが操作され続けている限り撮像を行うと判定し、撮像スイッチの操作が解除されると撮像を行わないと判定する。撮像を行うと判定した場合ステップＳ５０３に進み、撮像を行わないと判定した場合は本処理を終了する。
【００３６】
ステップＳ５０３では、画像処理部１０７は、上述したように被写体のテクスチャの解析を行い、視差が取得し易い視差取得方向を決定する。画像処理部１０７は、後のステップＳ５０７にて視差量を算出する画素対を特定するためにテンプレートマッチングを行う。このとき、テンプレート画像に一本線や繰り返しパターン等のテクスチャが含まれる場合に被探索画像にテンプレート画像と似たような一本線や繰り返しパターンがあると誤検出し易い。このため、画像処理部１０７は、撮像前に被写体のテクスチャの解析を行って、誤検出が生じ難い方向、つまりは視差が取得し易い視差取得方向を決定する。具体的なテスクチャの解析方法については後述する。
【００３７】
次にステップＳ５０４では、画像処理部１０７は、ステップＳ５０３で決定された視差取得方向に応じて、４つのサブ画素２０３〜２０６において測距用サブ画素を設定（選択）するとともに撮像用サブ画素および追尾用サブ画素を設定する。さらに、画像処理部１０７（露出量設定部４０５）は、各サブ画素に対する露出を設定する。
【００３８】
図９には、図３（ａ），（ｂ）にも示した射出瞳面を示している。視差取得方向が水平方向である場合は、線９００で囲んだＡ瞳領域３０３とＢ瞳領域３０４に対応するＡサブ画素２０３とＢサブ画素２０４を測距用サブ画素に設定する。視差取得方向が垂直方向である場合は、線９０１で囲んだＡ瞳領域３０３とＣ瞳領域３０５に対応するＡサブ画素２０３とＣサブ画素２０５を測距用サブ画素に設定する。また、視差取得方向が斜め方向である場合は、線９０２で囲んだＢ瞳領域３０４とＣ瞳領域３０５に対応するＢサブ画素２０４とＣサブ画素２０５を測距用サブ画素に設定する。これら測距用サブ画素の露出は互いに等しく設定する。
【００３９】
追尾用サブ画素（第２の光電変換部）は、その出力が被写体を追尾するための追尾用画像の生成に用いられるため、Ｄ瞳領域３０６に対応するＤサブ画像２０６に固定する。そして、残りのサブ画素を撮像用サブ画素（第１の光電変換部）に設定する。撮像用画素に対する露出は、測光結果に応じて適正露出に設定される。追尾用サブ画素に対するシャッター速度は、デフォルト値として、撮像用サブ画素に対して設定された適正露出でのシャッター速度より２段速く設定し、追尾用サブ画素に対するＩＳＯ感度は適正露出でのＩＳＯ感度より２段高く設定する。
【００４０】
次にステップＳ５０５では、システム制御部１０１は、撮像素子１０５における２つの測距用サブ画素群、撮像用サブ画素群および追尾用サブ画素群に、ステップＳ５０４でそれぞれに対して設定された露出での撮像を行わせる。
【００４１】
そして、ステップＳ５０６では、画像処理部１０７（合成画像生成部４０１）は、２つの測距用サブ画素群、撮像用サブ画素群および追尾用サブ画素群のそれぞれからの信号を用いて２つの測距用画像、撮像画像および追尾用画像を生成する。これにより、適正露出の１つの撮像画像と、それとは露出が異なる１つの追尾用画像と、測距に適した露出の２つの測距用画像の計４つの画像が生成される。そして、合成画像生成部４０１は、生成した２つの測距用画像を視差量算出部４０２に出力し、生成した撮像画像を視差ズレ補正部４００に出力する。
【００４２】
静止画の連続撮影や動画を撮像する際には、ステップＳ５０４の処理を再度行ったときに適正露出の撮像画像を取得するための撮像用サブ画素が最初にステップＳ５０４で設定された撮像用サブ画素とは異なる場合がある。この場合は、後に生成された撮像画像（以下、補正対象画像という）を、最初に生成された撮像画素（以下、基準画像という）と位置合わせをするために、視差ズレ補正部４００にて補正する。具体的には、視差ズレ補正部４００は、補正対象画像を、基準画像の取得に用いられた撮像用サブ画素（以下、基準サブ画素という）を通じて撮像された画像となるようにシフト（変形）させる。このときのシフト量は、基準サブ画素と補正対象画像の取得に用いられた撮像用サブ画素との間の距離、光学系１０４の焦点距離および被写体距離を用いて算出できる。
【００４３】
次に、ステップＳ５０７では、視差量算出部４０２は、上述したように２つの測距用画像における互いに対応する画素対を特定するためにこれらの測距用画像間でテンプレートマッチングを行う。具体的には、一方の測距用画像のある画素を注目画素とし、注目画素とその周辺の画素を含む画像領域をテンプレート画像とする。そして、他方の測距用画像内でテンプレート画像と相関値が高い画像領域を探索し、該画像領域が見つかった場合はその画像領域の位置（以下、対応画素という）を取得する。視差量算出部４０２は、こうして位置が特定された画素対（注目画素と対応画素）間で視差量を算出し、該視差量から被写体距離を求めて距離マップを生成する。
【００４４】
視差量算出部４０２は、注目画素と対応画素に写っている被写体までの被写体距離Ｌを、ステレオ法を用いて以下の式（１）により算出する。
Ｌ＝（ｓｉｎαｓｉｎβ／ｓｉｎ（α＋β））×ｄ    （１）
ただし、αは光学系１０４の水平画角と注目画素の座標から算出され、βは光学系１０４の水平画角と対応座標とから算出される。ｄは２つの測距用画像を取得するために使用した測距用サブ画素間の距離である。
【００４５】
視差量算出部４０２は、全ての注目画素について被写体距離Ｌを求め、注目画素の順番に被写体距離Ｌを２次元に並べることで距離マップを生成する。
【００４６】
次にステップＳ５０８では、画像処理部１０７（追尾部４０６）は、追尾用画像から前述したようにユーザにより指定された被写体を検出し、その被写体の追尾を行う。被写体追尾においても、追尾用画像である連続したフレーム画像間のテンプレートマッチングにより追尾する被写体を検出する。
【００４７】
また、追尾する被写体をぶれなく撮像するために、フレーム画像間で追尾する被写体の大きさを比較してシャッター速度を調整する。例えば、前フレーム画像内の被写体が現フレーム画像内での被写体より小さい場合は、再度ステップＳ５０４の処理を行うときに追尾用サブ画素のＩＳＯ感度とシャッター速度を１段ずつ上げる。また、前フレーム画像と現フレーム画像で追尾する被写体の大きさの差が閾値以下である状態が所定フレーム数以上続いた場合には、追尾用サブ画素のＩＳＯ感度とシャッター速度を１段ずつ下げる。
【００４８】
この後、システム制御部１０１は、ステップＳ５０２に戻って撮像を行うか（継続するか）否かを判定する。
【００４９】
図１０のフローチャートを用いて、ステップＳ５０３で画像処理部１０７が行うテクスチャの解析方法および測距用サブ画素の設定方法について説明する。
【００５０】
ステップＳ１１００では、合成画像生成部４０１は、測距用サブ画素群からの信号を用いて画像（選択用画像）を作成する。ただし、本ステップが初めて行われる場合はまだ測距用サブ画素群が設定されていないので、Ａサブ画素群から読み出した信号を用いて画像（選択用画像）を作成する。
【００５１】
次にステップＳ１１０１では、エッジ検出部４０３は、ステップＳ１１００で生成された画像に対して、Ｓｏｂｅｌフィルタ等を用いて、垂直方向のエッジ検出と水平方向のエッジ検出を行う。
【００５２】
次にステップＳ１１０２では、画像処理部１０７は、ステップＳ１１０１で検出した垂直方向のエッジと水平方向のエッジをそれぞれ画像全体において積分する。この積分の結果を以下の説明において、垂直方向エッジ積分量および水平方向エッジ積分量という。
【００５３】
次に、ステップＳ１１０３では、エッジ検出部４０３は、垂直方向エッジ積分量が水平方向エッジ積分量よりも大きく、その差が閾値以上か否かを判定する。そうである場合は画像全体に縦線が多いものとして視差取得方向を水平方向とし、ステップＳ１１０４に進む。一方、そうでない場合はステップＳ１１０５に進む。
【００５４】
ステップＳ１１０４では、画像処理部１０７は、水平方向において視差を有する測距用画像を取得するために、ＡおよびＢサブ画素２０３，２０４を測距用サブ画素に設定して本処理を終了する。
【００５５】
ステップＳ１１０５では、エッジ検出部４０３は、水平方向エッジ積分量が垂直方向エッジ積分量よりも大きく、その差が閾値以上か否かを判定する。そうである場合は画像全体に横線が多いものとして視差取得方向を垂直方向とし、ステップＳ１１０６に進む。一方、そうでない場合はステップＳ１１０７に進む。
【００５６】
ステップＳ１１０６では、画像処理部１０７は、垂直方向において視差を有する測距用画像を取得するために、ＡおよびＣサブ画素２０３，２０５を測距用サブ画素に設定して本処理を終了する。
【００５７】
ステップＳ１１０７では、繰り返し判定部４０４は、ステップＳ１１００で生成された画像に繰り返しパターンがあるか否かを公知の方法で判定する。繰り返し判定部４０４が垂直方向に繰り返しパターンがあると判定した場合または繰り返しパターンがないと判定した場合は、画像処理部１０７は、水平方向で視差を取得するためにＡおよびＢサブ画素２０３，２０４を測距用サブ画素に設定して本処理を終了する。また、繰り返し判定部４０４が水平方向に繰り返しパターンがあると判定した場合は、画像処理部１０７は、垂直方向で視差を取得するためにＡおよびＣサブ画素２０３，２０５を測距用サブ画素に設定して本処理を終了する。さらに、繰り返し判定部４０４が垂直方向と水平方向の両方に繰り返しパターンがあると判定した場合は、画像処理部１０７は、斜め方向で視差を取得するためにＢおよびＣサブ画素２０４，２０５を測距用サブ画素に設定して本処理を終了する。
【００５８】
本実施例によれば、撮像素子の各画素に設けられた複数の光電変換部を同時に互いに独立に露出制御することで、適正露出の撮像画像と被写体追尾に適した追尾用画像を取得することができる。また、高精度な距離マップの生成に用いられる複数の視差画像（測距用画像）も取得することができる。
【実施例２】
【００５９】
次に、本発明の実施例２について説明する。実施例１では視差取得方向を画像内で一律に水平方向、垂直方向または斜め方向としたが、本実施例では、画像を複数の画像領域に分割し、分割画像領域ごとに視差取得方向を設定することができる。これにより、被写体の部分ごとのテクスチャに応じて最適な視差取得方向を設定することができる。
【００６０】
図１１には、実施例２における撮像素子１０５′の構成を示している。図２（ａ），（ｂ）および図３（ａ），（ｂ）に示した撮像素子１０５と同様に、各画素２００は、マイクロレンズ２０１と４つのサブ画素２０３〜２０６とを有する。
【００６１】
撮像素子１０５′には、水平方向にＮ個、垂直方向にＭ個の分割撮像領域１０００が形成されている。図１０では説明のため、水平４個、垂直４個の分割撮像領域１０００を示している。
【００６２】
図６には、実施例２のデジタルカメラ（以下、単にカメラという）６００の構成を示している。図６において、図１に示した構成要素と共通する構成要素には、図１と同符号を付して説明を省略する。本実施例のカメラ６００は、画像処理部６０１が行う処理が実施例１とは異なる。画像処理部６０１は、距離マップを生成する際に画像の分割領域（分割画像領域）ごとに視差取得方向を異ならせることができる。
【００６３】
図７には、画像処理部６０１の構成を示している。図７において、図４に示した構成要素と共通する構成要素には、図４と同符号を付して説明を省略する。
【００６４】
合成画像生成部７０１は、撮像素子１０５′における分割撮像領域１０００ごとにＡ〜Ｄサブ画素２０３〜２０６のそれぞれからの信号を読み取り、分割撮像領域１０００ごとに画像（分割画像）を生成する。また、合成画像生成部７０１は、複数の分割画像を繋ぎ合わせて１つの画像を生成することも可能である。
【００６５】
露出量設定部７０３は、分割撮像領域１０００ごとに、Ａ〜Ｄサブ画素２０３〜２０６のそれぞれからの露出を設定することができる。
【００６６】
視差ズレ補正部７０４は、測距用画像の分割画像領域ごとに、実施例１と同様に視差ズレを補正することができる。
【００６７】
図８には、本実施例のカメラ６００における測光および焦点検出から撮像および距離マップの生成までの処理の流れを示している。この処理は、システム制御部１０１および画像処理部６０１がコンピュータプログラムに従って行う。画像処理部６０１は、このコンピュータプログラムの一部である画像処理プログラムに従って処理を行う。
【００６８】
ステップＳ５００〜ステップＳ５０２は、図５のそれらと同じであるので、ここでの説明は省略する。ステップＳ５０２で撮像を行うと判定した場合は、ステップＳ８００に進む。
【００６９】
ステップＳ８００では、画像処理部６０１は、視差取得方向を分割画像領域ごとに設定するために被写体のテクスチャを分割画像領域ごとに解析する。まず、画像処理部６０１（合成画像生成部７０１）は、Ａサブ画素群から信号を読み取って分割撮像領域１０００ごとに画像を生成する。次に、画像処理部６０１は、分割画像領域ごとに視差取得方向を水平方向、垂直方向および斜め方向の中から決定する。視差取得方向の決定方法は図５のステップＳ５０３と同じであるので、ここでの詳しい説明は省略する。エッジ検出、エッジ積分および繰り返し判定を行う画像の大きさが、分割画像領域の大きさに変わるのみである。また、再度本ステップでの処理を行う場合は、分割撮像領域１０００ごとに測距用サブ画素からの信号を用いて画像を生成し、テクスチャの解析を行う。
【００７０】
次にステップＳ８０１では、画像処理部６０１は、分割撮像領域１０００ごとに、ステップＳ８００で決定された視差取得方向に応じて、４つのサブ画素２０３〜２０６において測距用サブ画素を設定（選択）する。また、撮像用サブ画素および追尾用サブ画素も設定する。さらに、画像処理部６０１（露出量設定部７０３）は、各サブ画素に対する露出を設定する。測距用サブ画素、撮像用サブ画素および追尾用サブ画素とこれらに対する露出の設定方法は、実施例１のステップＳ５０４で述べた通りである。再度ステップＳ８０１の処理を行う場合は、測距用サブ画素および撮像用画素の露出制御に使用するシャッター速度やＩＳＯ感度を決めるために、測光を再度行ってもよい。
【００７１】
次にステップＳ８０２では、システム制御部１０１は、撮像素子１０５′における分割撮像領域１０００ごとに、２つの測距用サブ画素、撮像用サブ画素および追尾用サブ画素にステップＳ８０１でそれぞれに対して設定された露出での撮像を行わせる。
【００７２】
次にステップＳ８０３では、画像処理部６０１（合成画像生成部７０１）は、各分割撮像領域１０００ごとに、２つの測距用サブ画素、撮像用サブ画素および追尾用サブ画素のそれぞれからの信号を用いて２つの測距用画像、撮像画像および追尾用画像を生成する。そして、合成画像生成部７０１は、分割撮像領域１０００ごとに生成した２つの測距用画像を視差量算出部７０２に出力し、分割撮像領域１０００ごとに生成した撮像画像を視差ズレ補正部７０４に出力する。
【００７３】
次にステップＳ８０４では、視差量算出部７０２は、分割撮像領域１０００ごとに生成された測距用画像を用いて距離マップを生成する。距離マップの生成方法は、図１のステップＳ５０７で説明した方法と同様である。そして、視差量算出部７０２は、分割撮像領域１０００ごとに生成された距離マップを繋ぎ合わせて１枚の距離マップを作成し、視差ズレ補正部７０４に出力する。
【００７４】
次にステップＳ８０５では、視差ズレ補正部７０４は、分割撮像領域１０００ごとに生成された撮像画像（補正対象画像）を読み込む。そして、該補正対象画像が最初に分割撮像領域１０００ごとに生成された基準画像の取得に用いられた撮像用サブ画素（基準サブ画素）を通じて生成された画像となるようにシフト（変形）させる。シフト量については実施例１のステップＳ５０６で説明した通りである。視差ズレ補正部７０４は、シフトさせた分割撮像領域１０００ごとの画像（以下、シフト画像という）を合成画像生成部７０１に出力する。合成画像生成部７０１は、視差ズレ補正部７０４が出力した分割撮像領域１０００ごとのシフト画像を繋ぎ合わせて、Ａサブ画素の位置で撮像されたような適正露出の撮像画像を生成する。
【００７５】
本実施例によれば、撮像素子の各画素に設けられた複数の光電変換部を同時に互いに独立に露出制御することで、適正露出の撮像画像と被写体追尾に適した追尾用画像を取得することができる。また、高精度な距離マップの生成に用いられる複数の視差画像（測距用画像）も取得することができる。しかも、分割画像領域ごとに視差取得方向を異ならせることができるため、より高精度な距離マップを生成することができる。
【００７６】
なお、上記各実施例では、１つの画素に４つのサブ画素を有する撮像素子を用いた場合について説明したが、１つの画素に３つまたは５つ以上のサブ画素を有する撮像素子を用いてもよい。すなわち、撮像素子は、１つの画素に３つ以上のサブ画像を有すればよい。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７７】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【００７８】
１００，６００  デジタルカメラ
１０１  システム制御部
１０５，１０５′  撮像素子
１０７，６０１  画像処理部
４０２，７０２  視差量算出部
４０３  エッジ検出部  
４０４  繰り返し判定部
４０５，７０３  露出量設定部
４０６  追尾部
【図１】
2017073681.tif 000003
【図２】
2017073681.tif 000004
【図３】
2017073681.tif 000005
【図４】
2017073681.tif 000006
【図５】
2017073681.tif 000007
【図６】
2017073681.tif 000008
【図７】
2017073681.tif 000009
【図８】
2017073681.tif 000010
【図９】
2017073681.tif 000011
【図１０】
2017073681.tif 000012
【図１１】
2017073681.tif 000013