以下、本発明の例示的な実施形態について、添付の図面に基づいて詳細に説明する。なお、以下では本発明の実施形態に係る撮像装置の一例としてのデジタルカメラについて説明するが、本発明は動画および静止画の撮影機能を有し、動画撮影中に静止画撮影の実行が可能な任意の電子機器において実施可能である。このような電子機器には、パーソナルコンピュータ、携帯電話機(スマートフォンを含む)、タブレット端末、ゲーム機、ドライブレコーダ、ロボット、家電製品などが含まれるが、これらに限定されない。
●(第1実施形態)
図1は、第1の実施形態に係る撮像装置であるデジタルカメラ1000の機能構成例を示すブロック図である。デジタルカメラ1000はレンズユニット(撮像光学系)がカメラ本体に固定された構成を有するものとするが、レンズユニットが交換可能な構成であってもよい。
CPU101は、例えばROM105に記憶されているプログラムをRAM104にロードして実行することにより、デジタルカメラ1000の制御部として機能する。したがって、CPU101は、デジタルカメラ1000の各部を制御し、デジタルカメラ1000の機能を実現する。なお、CPU101は実際には複数のマイクロプロセッサから構成されていてもよい。
撮像素子100は、例えばCMOSイメージセンサまたはCCDイメージセンサであり、2次元状に配置された複数の光電変換素子や、マイクロレンズアレイを有する。レンズユニットが形成する被写体光学像を複数の光電変換素子により、複数のアナログ画素信号に変換する。個々のアナログ画素信号は撮像素子100が有するA/D変換機能により、デジタル画素信号(画素データ)に変換された後、順次出力される。電荷のリセット、蓄積、読み出し、A/D変換、画素データの出力といった撮像素子100の動作はCPU101によって制御される。なお、撮像素子100がA/D変換機能を有しない場合、撮像素子100からアナログ画素信号を出力し、外部のA/D変換器でデジタル画素信号に変換してもよい。
デジタルフロントエンド(DFE)119は、画素データをCPU101に供給するデータ転送制御機能を有する。DFE119に接続されたRAM120は、DFE119がデータ転送処理で用いるメモリ(バッファメモリ)である。
撮影制御部118はCPU101の制御にしたがい、撮像素子100およびDFE119について、設定を行ったり、動作のタイミングを制御する信号を供給したりする。撮影制御部118およびDFE119の動作の詳細については後述する。
画像処理部106は、1画面もしくは1フレーム分の画素データ(画像データ)に対して、さまざまな画像処理を適用する。例えば、画像処理部106は、デモザイク、ホワイトバランス調整、各種の補正、被写体検出および認識、動き検出、符号化および復号に関する画像処理を適用することができるが、これらに限定されない。画像処理部106はまた、自動露出制御(AE)および自動焦点検出(AF)に用いる評価値や信号の生成に関する画像処理を適用することができる。以下では特に説明しないが、CPU101は、(ライブビュー表示もしくは記録を目的とした)動画撮影中に得られる評価値に基づいて適宜AE処理やAF処理を実行し、レンズユニットの合焦距離や、撮像素子100の撮影条件を制御する。AE処理やAF処理を行う頻度や条件に特に制限はなく、従前知られている任意の手法に基づくことができる。
RAM104は、DFE119を通じてCPU101が供給される画像データや、画像処理部106で処理された画像データを記憶するための画像メモリとして用いられる。RAM104はまた、CPU101がプログラムを実行するためのワークメモリとしても用いられる。
ROM105は、例えば電気的に書き換え可能であり、CPU101が実行可能なプログラム、各種の設定値や初期値、デジタルカメラ1000の固有情報、GUIデータなどが記憶されている。
記録部108は、例えば、不揮発性メモリまたはハードディスクである。記録部108には、撮影によって得られたデータ(静止画データ、動画データ、音声データ)が記録される。記録部108または記録部108が用いる記録媒体は着脱可能であってよい。
操作部102は、ボタン、スイッチ、タッチパネルなど、ユーザーがデジタルカメラ1000に対して指示を与えるための入力デバイス群の総称である。シャッターボタン、動画撮影開始・停止ボタン、再生モード・撮影モード切り替えボタン、メニューボタン、方向キー、決定ボタンは操作部102を構成する代表的な入力デバイスである。操作部102に対する操作はCPU101が検出し、操作に応じた動作を実行する。
表示部103は、例えばデジタルカメラ1000の外表面に設けられたカラーLCDであり、CPU101の制御により、静止画、動画、メニュー画面、各種設定値などを表示する。動画を撮影しながら、撮影された動画を実質的にリアルタイムに表示部103に表示させることで、表示部103を電子ビューファインダ(EVF)として機能させることができる。表示部103をEVFとして機能させるために表示する画像をライブビュー画像もしくはスルー画像と呼ぶ。ライブビュー画像は所定のフレームレートを有する動画である。
AF演算部107は、画像処理部106が生成するAF評価値(本実施形態では位相差検出方式に用いる1対の焦点検出信号)に基づいて焦点検出処理を行い、例えばレンズユニットのデフォーカス量および方向を算出する。AF演算部107の処理の詳細については後述する。
レンズユニットに入射した光は、第1レンズ群114、絞り115、第2レンズ群116、第3レンズ群117、フォーカルプレーンシャッタ109を通過して撮像素子100に入射する。第1レンズ群114は、光軸方向に進退可能に保持される。絞り115は、絞りアクチュエータ113によって開口径が調節可能である。絞り115及び第2レンズ群116は一体で光軸方向に進退可能であり、第1レンズ群114との連動によって変倍機能(ズーム機能)を実現する。第3レンズ群(フォーカスレンズ)117は、光軸方向の進退により、レンズユニットの合焦距離を調節する。
フォーカルプレーンシャッタ109は、静止画撮影時に露光期間を調節するメカニカルシャッタである。なお、本実施形態では静止画撮影時の露光期間を電子シャッタで調節するものとするが、フォーカルプレーンシャッタ109を用いてもよい。フォーカルプレーンシャッタ109の動作はCPU101が制御する。
フォーカス駆動回路110は、AF演算部107の焦点検出結果に基づいてフォーカスアクチュエータ112を駆動し、第3レンズ群117を光軸方向に進退駆動して焦点調節を行う。絞り駆動回路111は、AE処理を実行するCPU101の制御にしたがって絞りアクチュエータ113を駆動し、絞り115の開口径を調節する。
次に、本実施形態における撮像素子100の構成例について図2、図3を用いてより詳細に説明する。図2(a)は、撮像素子100が有する画素アレイ234を模式的に示した図である。画素アレイ234は、1つのマイクロレンズ236を、2つの光電変換素子201a、201bが共有する構成を有する。以下、1つのマイクロレンズ236に対応する構成を「画素」とし、1つの画素が有する2つの光電変換素子201a、201bをそれぞれ「副画素」とする。したがって、図2(a)に示す撮像素子100は、水平方向にn画素、垂直方向にm画素を有するとともに、水平方向に2n副画素を有する。図2(a)では便宜上n=9、m=6の構成を記載しているが、実際には数十万〜数千万の画素が配置されている。
なお、1つの画素が有する光電変換素子の数は3つ以上であってもよい。1つの画素からは、副画素ごとに電荷を読み出すことと、2つの副画素の電荷をまとめて読み出すことができる。この構成により、撮像素子100からは、焦点検出用信号と、画像信号とを取得することができる。
図2(b)は、1つの画素200の構成例を示す回路図である。画素200は、光電変換素子(フォトダイオード、以下PD)201a,201b、転送スイッチ202a,202b、フローティングディフュージョン(FD)領域203、増幅部204、リセットスイッチ205、及び選択スイッチ206を有する。なお、各スイッチはMOSトランジスタ等により構成される。以下の説明では各スイッチは一例としてN型のMOSトランジスタであるものとするが、各スイッチはP型のMOSトランジスタであってもよく、その他のスイッチング素子であってもよい。
PD201a,201bは、同一のマイクロレンズ236を通過した光を受光し、光電変換によりその受光量に応じた電荷を生成する。PD201aから得られる電荷に基づく信号をA信号、PD201bから得られる電荷に基づく信号をB信号と呼ぶこととする。
転送スイッチ202aはPD201aとFD領域203との間に接続され、転送スイッチ202bはPD201bとFD領域203との間に接続される。転送スイッチ202a,202bは、それぞれPD201a,201bで発生した電荷を共通のFD領域203に転送する素子である。転送スイッチ202a,202bは、垂直走査回路209から供給される制御信号TX_A、TX_Bによって制御される。
FD領域203は、PD201a,201bから転送された電荷を一時的に保持するとともに、保持した電荷を電圧信号に変換する電荷―電圧変換部として機能する。増幅部204は、ソースフォロワMOSトランジスタである。増幅部204のゲートは、FD領域203に接続され、増幅部204のドレインは電源電位VDDを供給する共通電源に接続される。増幅部204は、FD領域203に保持された電荷に基づく電圧信号を増幅して、画素信号として出力する。
リセットスイッチ205は、FD領域203と共通電源との間に接続される。リセットスイッチ205は、FD領域203の電位を共通電源の電位VDDにリセットする機能を有し、そのゲートは、垂直走査回路209から供給される制御信号RESによって制御される。選択スイッチ206は、増幅部204のソースと垂直出力線207の間に接続される。選択スイッチ206は、垂直走査回路209から供給される制御信号SELによって制御され、増幅部204で増幅された画素信号を垂直出力線207に出力する。
図3は、撮像素子100の画素および周辺回路の構成例を示す図である。撮像素子100は、画素アレイ234、垂直走査回路209、電流源負荷210、読み出し回路235、共通出力線228,229、水平走査回路232、補正回路233、及びデータ出力部237を有する。
画素アレイ234には原色ベイヤー配列のカラーフィルタが設けられている。そのため、図3では個々の画素200について、設けられているカラーフィルタの色が、R(赤色)、G(緑色)、もしくはB(青色)と示されている。なお、図3においても画素アレイ234が有する画素のごく一部のみを記載している。また、画素アレイ234の一部は、遮光された領域(オプティカルブラック(OB)領域)を有し、OB領域内の画素を遮光画素と呼ぶ。
垂直走査回路209は、画素アレイ234の行ごとに設けられた駆動信号線208を介して、行単位で画素200に制御信号を出力する。なお、図3では説明を分かりやすくするため、駆動信号線208を行ごとに1本ずつ図示しているが、実際には行ごとに複数の駆動信号線208が接続される。
また、列ごとに設けられた垂直出力線207は、1列分の画素200に接続される。行ごとに画素200から読み出された画素信号は、垂直出力線207を通じて読み出し回路235に入力される。読み出し回路235は、画素信号をA/D変換して画素データを生成する。また、垂直出力線207ごとに電流源負荷210が接続される。
水平走査回路232は、制御信号hsr(0)〜hsr(n−1)を出力することにより、n個の読み出し回路235を1つずつ順番に選択する。選択された読み出し回路235は、生成した画素データを共通出力線228,229を通じて補正回路233に出力する。
補正回路233は、画素データに後述する補正処理を適用した後、データ出力部237に出力する。データ出力部237は、補正回路233から供給される画素データをシリアルデータに変換し、差動信号として後段の回路に転送する。データ出力部237は差動シリアル伝送方式以外の方式でデータを出力してもよい。
次に、読み出し回路235の具体的な回路構成について説明する。読み出し回路235は、クランプ容量211、フィードバック容量214〜216、オペアンプ213、基準電圧源212及びスイッチ217〜220を有する。また、比較器221、Latch_N222、Latch_S223、スイッチ226,227を有する。個々の読み出し回路235はA/D変換機能を有する。
垂直出力線207により読み出し回路235に入力された画素信号は、クランプ容量211を介してオペアンプ213の反転入力端子に入力される。オペアンプ213の非反転入力端子には、基準電圧源212から基準電圧Vrefが供給される。フィードバック容量214〜216はオペアンプ213の反転入力端子と出力端子の間に接続される。スイッチ217はオペアンプ213の反転入力端子と出力端子の間に接続され、フィードバック容量214〜216の両端をショートさせる機能を有する。スイッチ217は撮影制御部118が供給する制御信号RES_Cにより制御される。また、スイッチ218〜220は撮影制御部118が供給する制御信号GAIN0〜2により制御される。
比較器221にはオペアンプ213の出力端子と、ランプ信号発生器230から出力されるランプ信号224が接続される。Latch_N222はノイズレベル(N信号)を保持するための記憶素子であり、Latch_S223はAまたはB信号と、A信号とB信号との加算信号(AB信号)とをS信号として保持するための記憶素子である。比較器221の出力端子からの信号と、カウンタ231から出力されるカウンタ値225がLatch_N222とLatch_S223に入力される。Latch_N222とLatch_S223はそれぞれ、撮影制御部118からの設定に基づき、不図示のTG(タイミングジェネレーター)が供給する制御信号LATEN_N、LATEN_Sで制御される。Latch_N222、Latch_S223の出力端子はスイッチ226,227を介してそれぞれ共通出力線228,229に接続される。共通出力線228,229は補正回路233に接続される。
スイッチ226,227は水平走査回路232からの制御信号hsr(h)で制御される。ここで、hは制御信号線が接続されている読み出し回路235の列番号(0≦h≦n−1)を示す。Latch_N222、Latch_S223に保持された信号は共通出力線228,229を介して出力され、補正回路233へ入力される。
本実施形態では、撮像素子100の画素200から、A信号とB信号との加算信号(AB信号)だけを読み出す第1の読み出しモードと、A信号とAB信号の2つを読み出す第2の読み出しモードとを有する。第2の読み出しモードで読み出されたA信号、AB信号は焦点検出および/または画像生成に利用され、第1の読み出しモードで読み出されたAB信号は画像生成に利用される。
図4Aおよび図4Bは、撮像素子100の読み出し動作に関するタイミングチャートである。以下、図3、図4A、および図4Bを参照して、1行分の画素信号の読み出し動作について説明する。なお、各スイッチは制御信号がH(レベル)のときにオン、L(レベル)のときにオフするものとする。
まず、第1の読み出しモードにおける読み出し動作について、図4Aを用いて説明する。
時刻Ta1において、制御信号TX_A、TX_BがHになり、転送スイッチ202a,202bがオンする。この時、信号RES_CはHであり、リセットスイッチ205はオンしているため、PD201a,201bに蓄積された電荷は、転送スイッチ202a,202b、リセットスイッチ205を介して共通電源に転送され、PD201a,201bはリセットされる。
時刻Ta2において、制御信号TX_A、TX_BがLになると、転送スイッチ202a,202bがオフし、PD201a,201bで発生した光電荷が蓄積され始める。
時刻Ta2から所定の電荷蓄積時間が経過した時刻Ta3において、選択スイッチ206の制御信号SELがHになり、増幅部204のソースが垂直出力線207に接続される。
時刻Ta4において、リセットスイッチ205の制御信号RESがLになり、FD領域203のリセットが解除される。このとき、FD領域203の電位に応じたリセット信号レベルの電位(ノイズ(N)信号)が増幅部204を介して垂直出力線207に読み出され、読み出し回路235に入力される。
その後、時刻Ta5において、制御信号RES_CがLになると、垂直出力線207に読み出されたリセット信号レベルと基準電圧Vrefとの差分に基づく電圧がオペアンプ213から出力される。撮像素子100には予め、操作部102により設定されたISO感度に基づき、CPU101が撮影制御部118を通じて制御信号GAIN0〜GAIN2の1つをHにする。ここでは一例として、ISO感度100、200、400に対応して制御信号GAIN0、GAIN1、GAIN2をHにするものとする。そして、スイッチ218〜220のうち、Hになった制御信号GAINnに対応する対応するスイッチがオンする。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。ここでオペアンプ213までの回路で発生するランダムノイズ成分も増幅するため、ISO感度100、200、400ではそれぞれ出力される信号のランダムノイズ量が異なる。
次に、時刻Ta6において、ランプ信号発生器230は経過時間に比例して信号レベルが変化するランプ信号の出力を開始する。また、カウンタ231はリセット状態からカウントアップを開始する。さらに、制御信号LATEN_NがHになる。比較器221は、オペアンプ213の出力信号とランプ信号発生器230が出力するランプ信号とを比較する。
時刻Ta7で、ランプ信号のレベルがオペアンプ213の出力信号の値を上回ると、比較器221は、Latch_N222に出力する信号をLからHに反転させる。Latch_N222は制御信号LATEN_NがHの状態で、比較器211からの信号がLからHに反転されると、その時点でカウンタ231から出力されているカウンタ値を記憶する。つまり、Latch_N222は、ノイズ信号(N信号)のディジタル値(N信号データ)を記憶する。
その後時刻Ta8において、ランプ信号の変化が終了し、制御信号LATEN_NがLとなる。
時刻Ta9で、制御信号TX_A、TX_BがHになり、転送スイッチ202a,202bがオンする。この時、信号RES_CはLであり、リセットスイッチ205はオフしているため、PD201a,201bに蓄積された電荷は、FD領域203へ転送され始める。
その後、時刻Ta10において、制御信号TX_A、TX_BがLになると、光電荷の転送が終了する。FD領域203に転送された電荷がFD領域203で電圧に変換され、電圧が画素信号として増幅部204及び垂直出力線207を介して読み出し回路235へ出力される。垂直出力線207に読み出されたリセット信号レベルと基準電圧Vrefとの差分に基づく電圧がオペアンプ213から出力される。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。
次に、時刻Ta11において、ランプ信号発生器230はランプ信号の出力を開始する。また、カウンタ231はリセット状態からカウントアップを開始し、制御信号LATEN_SがHになる。比較器221は、オペアンプ213の出力信号とランプ信号発生器230が出力するランプ信号とを比較する。
時刻Ta12で、ランプ信号のレベルがオペアンプ213の出力信号の値を上回ると、比較器221は、Latch_S223に出力する信号をLからHに反転させる。Latch_S223は制御信号LATEN_SがHの状態で、比較器211からの信号がLからHに反転されると、その時点でカウンタ231から出力されているカウンタ値を記憶する。つまり、Latch_S223は、加算信号(AB信号)のディジタル値(AB信号データ)を記憶する。
その後時刻Ta13において、ランプ信号の変化が終了し、制御信号LATEN_SがLとなる。
その後、時刻Ta14〜Ta15の間に、水平走査回路232から出力される制御信号hsr(h)がh=0から順次、一定期間ずつHになる。制御信号hsr(h)がHとなった読み出し回路235のスイッチ226,227が一定期間オンずつになり、Latch_N222、Latch_S223に保持されたN信号データとAB信号データが共通出力線228,229へそれぞれ読み出される。補正回路233は、読み出されたAB信号データとN信号データの差(像信号データPab)を算出した後、像信号データPabに後述する補正処理を適用する。補正回路233は、補正処理を適用したその後データ出力部から外部へデータが出力される。
時刻Ta16において制御信号RES_CがHとなり、スイッチ217がオンする。
時刻Ta17に制御信号RESがHとなり、リセットスイッチ205がオンする。
時刻Ta18において制御信号SELがLになり、第1の読み出しモードにおける1行分の読み出し動作が完了する。
次に、第2の読み出しモードにおける読み出し動作について、図4Bを用いて説明する。
時刻Tb1からTb8までの動作は、図4Aの時刻Ta1からTa8までの動作と同様のため、説明を省略する。
時刻Tb9で、制御信号TX_BはLのままで、制御信号TX_AだけがHになり、PD201aで時刻Tb2からTb3までの間に蓄積された光電荷が転送トランジスタ202aを通じてFD領域203へ転送され始める。
その後、時刻Tb10において、制御信号TX_AがLになり、転送トランジスタ202aがオフして電荷の転送が終了する。FD領域203に転送された電荷がFD領域203で電圧に変換され、電圧が画素信号として増幅部204及び垂直出力線207を介して読み出し回路235へ出力される。垂直出力線207に読み出されたリセット信号レベルと基準電圧Vrefとの差分に基づく電圧がオペアンプ213から出力される。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。
次に、時刻Tb11において、ランプ信号発生器230はランプ信号の出力を開始する。また、カウンタ231はリセット状態からカウントアップを開始し、制御信号LATEN_SがHになる。比較器221は、オペアンプ213の出力信号とランプ信号発生器230が出力するランプ信号とを比較する。
時刻Tb12で、ランプ信号のレベルがオペアンプ213の出力信号の値を上回ると、比較器221は、Latch_S223に出力する信号をLからHに反転させる。Latch_S223は制御信号LATEN_SがHの状態で、比較器211からの信号がLからHに反転されると、その時点でカウンタ231から出力されているカウンタ値を記憶する。つまり、Latch_S223は、A信号のディジタル値(A信号データ)を記憶する。
その後時刻Tb13において、ランプ信号の変化が終了し、制御信号LATEN_SがLとなる。
その後、時刻Tb14〜Tb15の間に、水平走査回路232から出力される制御信号hsr(h)がh=0から順次、一定期間ずつHになる。制御信号hsr(h)がHとなった読み出し回路235のスイッチ226,227が一定期間オンずつになり、Latch_N222、Latch_S223に保持されたN信号データとA信号データが共通出力線228,229へそれぞれ読み出される。補正回路233は、読み出されたA信号データとN信号データの差(像信号データPa)を算出した後、像信号データPaに後述する補正処理を適用する。補正回路233は、補正処理を適用したその後データ出力部から外部へデータが出力される。
次に、時刻Tb16で、制御信号TX_A、TX_BがHになり、転送スイッチ202a,202bがオンする。そして、PD201a,201bに蓄積された電荷は、FD領域203へ転送され始める。
その後、時刻Tb17において、制御信号TX_A、TX_BがLになると、光電荷の転送が終了する。FD領域203に転送された電荷がFD領域203で電圧に変換され、電圧が画素信号として増幅部204及び垂直出力線207を介して読み出し回路235へ出力される。垂直出力線207に読み出されたリセット信号レベルと基準電圧Vrefとの差分に基づく電圧がオペアンプ213から出力される。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。
次に、時刻Tb18において、ランプ信号発生器230はランプ信号の出力を開始する。また、カウンタ231はリセット状態からカウントアップを開始し、制御信号LATEN_SがHになる。比較器221は、オペアンプ213の出力信号とランプ信号発生器230が出力するランプ信号とを比較する。
時刻Tb19で、ランプ信号のレベルがオペアンプ213の出力信号の値を上回ると、比較器221は、Latch_S223に出力する信号をLからHに反転させる。Latch_S223は制御信号LATEN_SがHの状態で、比較器211からの信号がLからHに反転されると、その時点でカウンタ231から出力されているカウンタ値を記憶する。つまり、Latch_S223は、加算信号(AB信号)のディジタル値(AB信号データ)を記憶する。
その後時刻Tb20において、ランプ信号の変化が終了し、制御信号LATEN_SがLとなる。
その後、時刻Tb21〜Tb22の間に、水平走査回路232から出力される制御信号hsr(h)がh=0から順次、一定期間ずつHになる。制御信号hsr(h)がHとなった読み出し回路235のスイッチ226,227が一定期間オンずつになり、Latch_N222、Latch_S223に保持されたN信号データとAB信号データが共通出力線228,229へそれぞれ読み出される。補正回路233は、読み出されたAB信号データとN信号データの差(像信号データPab)を算出した後、像信号データPabに後述する補正処理を適用する。補正回路233は、補正処理を適用したその後データ出力部から外部へデータが出力される。
時刻Tb23において制御信号RES_CがHとなり、スイッチ217がオンする。
時刻Tb24に制御信号RESがHとなり、リセットスイッチ205がオンする。
時刻Tb25において制御信号SELがLになり、第2の読み出しモードにおける1行分の読み出し動作が完了する。
デジタルカメラ1000は、撮像素子100から読み出す画素に関して静止画モードと動画モードを有する。静止画モードでは、図5(a)に斜線を付した画素から画素データを読み出す。すなわち、撮像素子100の画素アレイ234の有効画素領域(OB領域以外)から全ての画素データを読み出す。一方、動画モードでは図5(b)に斜線を付した画素から画素データを読み出す。すなわち、画素アレイ234の有効画素領域のうち、一部の画素から画素データを読み出す。ここでは一例として、3行ごとに画素データ読み出すことで、静止画モードより読み出す行数が少ない構成とする。なお、行内でも画素を間引いてもよい。動画モードで読み出す画像データの解像度は、ライブビュー表示用の動画であれば表示部103におけるライブビュー画像の表示解像度、記録用の動画であれば、設定された解像度に基づいて決定することができる。通常、記録用の動画の方がライブビュー表示用の動画よりも解像度が高い。したがって記録用の動画の方がライブビュー表示用の動画よりもデータレートが大きい。
静止画モードでは第1の読み出しモードで画像データを読み出し、動画モードでは第2の読み出しモードで画像データを読み出す。したがって、本実施形態では動画モードの1フレーム分の画像データは、静止画モードの1フレーム分の画像データよりもデータ量が少ない。
また、本実施形態では、静止画モード、動画モードともに、スリットローリングシャッタ動作により露光制御を行う。蓄積期間に関して記載がない場合には、蓄積開始のPDリセットと読み出し動作との前後関係が変わらないように走査されていることとする。
次に、撮像素子100から得られるA信号およびB信号を用いた位相差検出方式の焦点検出(位相差AF)の原理について説明する。なお、B信号は第2の読み出しモードにおいて読み出されるAB信号およびA信号を用い、AB信号からA信号を減算することにより得ることができる。
まず、図6を用いて、A信号とB信号の位相差と、デフォーカス量との関係について説明する。
図6(a)は、被写体600に合焦している場合における撮像レンズ602、光軸601、および画素アレイ234の位置関係と光束を示している。また、図6(b)は被写体に合焦していない場合について同様の位置関係と光束を示している。図6において、画素アレイ234は紙面の左右方向が撮像素子の厚み方向に相当するように図示してある。
図2(a)に示したように、画素アレイ234の各画素にはマイクロレンズ236が1つ設けられ、PD201a,201bは、同一のマイクロレンズ236を通過した光を受光する。PD201a,201bの視点は異なるため、PD201aで得られるA信号と、PD201bで得られるB信号とは視差信号である。
撮像レンズ602は、図1に示す第1レンズ群114、第2レンズ群116、第3レンズ群117をまとめて1つのレンズで表している。被写体600からの入射光は、光軸301を中心として、撮像レンズ602の各領域を通過し、撮像素子100の画素アレイ234に結像される。なお、ここでは射出瞳の位置と撮像レンズ602の中心位置は同一としている。
図6(a)に示すように、各画素において、PD201aとPD201bとは、撮像光学系の射出瞳のうち、異なる部分瞳領域からの光束を受光する。したがって、焦点検出領域内の複数の画素について、PD201aから得られるA信号群(A像)と、PD201bから得られるB信号群(B像)との位相差を検出することにより、撮像レンズ602のデフォーカス量を得ることができる。また、画素ごとのAB信号は画像信号として用いることができる。
被写体600の1点から入射する光束は、PD201aに対応する部分瞳領域を通ってPD201aに入射する光束ΦLaと、PD201bに対応する部分瞳領域を通ってPD201bに入射する光束ΦLbとに分割される。これら2つの光束ΦLa、ΦLbは、被写体600の同一点から入射しているため、撮像レンズ602が被写体600に合焦した状態(図6(a))では撮像素子上の1点に到達する。したがって、A像とB像とは互いに一致する。
しかしながら、光軸方向にYだけ合焦位置がずれている状態(図6(b))では、光束ΦLa,ΦLbのマイクロレンズ236への入射角の変化分だけ光束ΦLa、ΦLbの到達位置が光軸と垂直方向に互いにずれる。したがって、A像とB像には位相差が生じる。A像とB像の位相差を検出することで、撮像レンズ602のデフォーカス量および方向を得ることができる。
本実施形態では、動画モード時には第2の読み出しモードで画像データを読み出す。所定の焦点検出領域内に含まれる複数の画素から得られるA像とAB像がAF演算部107へ入力され、AB像からA像が減算される。これによりB像が生成され、A像とともにAF処理に使用される。
なお、本実施形態では、1つのマイクロレンズあたり複数の光電変換素子が配置された構成を示したが、他の画素構成でもA像およびB像を得ることができる。例えば、マイクロレンズあたり1つの光電変換素子を配置し、遮光層などを用いて光電変換素子の一部を遮光し、PD201a相当の光電変換素子を有する画素と、PD201b相当の光電変換素子を有する画素とを形成することができる。この場合、画像データを取得する場合には一部が遮光された画素は欠陥画素として取り扱う。
AF演算部107ではA像とB像の位相差を検出し、撮像レンズ602のデフォーカス量および方向を求める。図7(a)は撮像レンズ602が被写体に合焦している状況におけるA像とB像の強度分布を示す図である。横軸は画素位置を、縦軸は信号強度を表す。ピントが合っている場合はA像とB像は一致する。一方、図7(b)は撮像レンズ602が被写体に合焦していない状況におけるA像とB像の強度分布を示す図である。この場合は、A像とB像とは前述した理由により位相差を持ち、強度のピーク位置がずれ量Xだけずれている。AF演算部107では、動画モードで順次読み出されるフレームごとにずれ量Xを算出し、撮像レンズ602のデフォーカス量、すなわち図6(b)におけるY値を算出する。AF演算部107は算出したY値をCPU101を通じてフォーカス駆動回路110に転送する。
フォーカス駆動回路110はAF演算部107から取得したY値に基づき第3レンズ群117の駆動量および駆動方向を決定し、対応する駆動信号をフォーカスアクチュエータ112に出力する。第3レンズ群117は、フォーカスアクチュエータ112の駆動により合焦位置まで移動する。
次に、撮像素子100から読み出した画像データの転送動作に関して説明する。図8は、画像データの転送に関わる構成要素とその接続関係、並びにDFE119の機能構成例を示している。DFE119は、RAM制御回路300、データフロー制御回路301、データ出力部302を有する。DFE119は例えばASICやFPGAなどのハードウェア回路により実現することができるが、プログラマブルプロセッサによってプログラムを実行することによって実現してもよい。
CPU101は静止画または動画の撮影時に、撮影制御部118に対して読み出しモードおよび撮影開始を指示する制御信号を出力する。撮影制御部118はCPU101からの制御信号に基づいて、撮像素子100に対して読み出しモードや撮影感度(GAIN#)などの撮影情報を設定する。撮影制御部118はまた、図3〜図4Bで説明した制御信号を撮像素子100およびDFE119のデータフロー制御回路301に供給する。また、撮影制御部118は、DFE119のデータフロー制御回路301に対して読み出しモードやデータサイズ(解像度)を設定する。
撮像素子100は、撮影制御部118から入力される制御信号と設定に従って図4を用いて説明したようにリセット、露光、読み出しを行い、画像データを出力する。撮像素子100から出力される画像データは、DFE119に入力される。データフロー制御回路301は、撮影制御部118から供給される制御信号と、読み出しモードやデータサイズの設定に基づき、RAM制御回路300に対し、画像データをRAM120に書き込むためのアドレス、データサイズ、タイミングなどを設定する。RAM制御回路300はデータフロー制御回路301による設定に基づき、RAM120に対する画像データの書き込み制御を行う。これにより、撮像素子100から出力された画像データがRAM120に書き込まれる。
また、データフロー制御回路301は後述するタイミングでRAM制御回路300に対して、読み出しアドレス、データサイズ(解像度)、タイミングなどを設定する。RAM制御回路300は設定に基づきRAM120に対して読み出し制御を行い、RAM120から画像データを読み出す。読み出された画像データは、データ出力部302を通じてCPU101へ入力される。データ出力部302は、差動シリアル伝送方式を用い、複数のデータレーンで構成されている。RAM120から読み出される画像データをシリアルデータに変換し、差動信号として後段の回路にデータを転送する。本実施形態では差動シリアル伝送方式としたが、この限りでない。
また、本実施形態では、データ出力部302の出力データレートは、撮像素子100が有するデータ出力部237の出力データレートよりも低いものとする。よって後述するように同じデータサイズのデータを転送する場合、撮像素子100から出力する場合よりもDFE119から出力する場合の方が所要時間が長くなる。ただし、出力データレートの関係はこれに限定されず、DFE119から出力する場合よりも撮像素子100から出力する場合の方が所要時間が長い構成でもよい。
次に、本実施形態におけるデジタルカメラ1000の動作について、図9〜図11を用いて説明する。図10(a)、(b)は後述する静止画撮影モードが表示優先モードの時の、静止画撮影タイミングが異なる場合のタイミングチャートである。また、図11(a)、(b)は後述する静止画撮影モードがレリーズ優先モードの時の、静止画撮影タイミングが異なる場合のタイミングチャートである。
ユーザーが操作部102を操作し、デジタルカメラ1000の電源をONにすると、CPU101は初期化などの起動処理を実行し、撮影スタンバイ状態になる。
S100で、CPU101は、撮影スタンバイ状態でライブビュー表示を行うために、フォーカルプレーンシャッタ109を開き、撮像素子100を露光状態とする。
S101で撮影制御部118は、CPU101の制御に基づき、撮像素子100に対してライブビュー表示用の動画撮影条件を設定する。撮影制御部118は、例えば、動画モード、ISO感度や露光時間を設定する。また、撮影制御部118はCPU101の制御に基づき、データフロー制御回路301に対し、動画データのデータサイズ(解像度)と、時間差(後述するt_delay0、t_delay1)を設定する。この時間差は、ライブビュー画像データをRAM120に書き込んでから読み出すまでの時間である。
撮影制御部118は、後述する表示優先モードの時にt_delay0を、レリーズ優先モードの時にt_delay1を時間差として設定する。
S102で、撮像素子100は、設定された撮影条件に従って動画の撮影を開始する。最初のフレームの撮影が行われると、図10(a)のTc0、図10(b)のTd0、図11(a)のTe0、図11(b)のTf0に示すように、撮像素子100から0フレーム目のライブビュー(LV)画像データLV0が出力される。
撮像素子100から出力された画像データLV0は直接RAM120へ書き込まれる。そして、データフロー制御回路301は、撮影制御部118に設定された設定に基づき、所定の時間t_delay0が経過すると、RAM制御回路300に対して読み出し開始信号を送信する。それによりRAM制御回路300がRAM120から画像データを読み出す(図10(a)のTc1、図10(b)のTd1、図11(a)のTe1、図11(b)のTf1)。RAM120から出力されたLVデータはデータ出力部302からCPU101へ出力される。
CPU101へ出力されたLVデータは、CPU101により画像処理部106に転送される。画像処理部106は、LVデータに対して予め定められた画像処理を適用した後、表示部103にライブビュー画像として表示する。CPU101は、画像処理部106が生成する評価値に基づいてAE処理を実施し、初期値として設定した動画撮影条件を変更してもよい。
なお、動画撮影は予め設定された所定のフレームレートでライブビュー表示するためのt_frame0の間隔で周期的に実施され、その後、所定の時間t_delay0後にLVデータがRAM120から出力され、表示される。これにより、表示部103の表示周期に同期して表示することができる。
S103でCPU101は、RAM120内に静止画データが存在するかを確認する。ここでは、CPU101が操作部102から受け付けた静止画撮影命令の回数を記憶しておき、RAM120に静止画データが何フレーム分格納されているかを管理するものとするが、他の方法を用いてもよい。例えば、RAM120の状態を示すレジスタをDFE119内に設け、レジスタの値をCPU101が読み出してRAM120の状態を確認する方法であってもよい。CPU101は、RAM120内に静止画データが存在することが確認された場合にはS104へ進め、存在が確認できない場合にはS107へ、処理を進める。
S104でCPU101は撮影制御部118に対して静止画データの要求を送信する。本実施形態では、1フレームのLVデータの転送を終了してから次のフレームのLVデータの転送を開始するまでの間に1フレーム分の静止画データの全体を転送するにはデータ出力部302の出力データレートが不足している。そのため、静止画データを複数(ここでは3つ)に分割し、LVデータを転送していない期間に転送する。
CPU101から静止画データの要求を受信した撮影制御部118は、データフロー制御回路301に対して、読み出す静止画データのデータサイズ(解像度)と分割数を設定し、読み出し開始命令を送信する。データフロー制御回路301は、RAM120からLVデータを読み出しているか否か判定し、読み出している場合には読み出しが終わるまで待機する。読み出していない場合、データフロー制御回路301はRAM制御回路300を制御して静止画データを読み出す。静止画データの読み出しは、図10(a)のTc5、図10(b)のTd5、図11(a)のTe5、図11(b)のTf7から開始される。その後データフロー制御回路301はLVデータをRAM120から読み出すタイミングで、読み出すデータを静止画データからLVデータに切り替える。図10(a)のTc6、Tc7、図10(b)のTd6、Tc7、図11(a)のTe6、Te7、図11(b)のTf8、Tf9で示すように、分割された静止画データとLVデータを交互にRAM120から読み出す。これにより、LVデータのフレームレートを維持したまま、1フレーム分の静止画データをDFE119から出力することができる。
S105でCPU101は、1フレーム分の静止画データがCPU101に対して転送済みかを判断し、転送済みであればS106へ、転送済みでなければS107へ、処理を進める。
S106でCPU101は、1フレーム分の静止画データを画像処理部106に転送する。画像処理部106では静止画データに対して記録時に適用する画像処理(現像や符号化処理など)を適用し、記録部108に静止画データファイルとして記録する。CPU101は、記録が終了すると処理をS107に進める。
S107でCPU101は、操作部102に含まれる電源スイッチがオフされたか否かを判断し、オフされていれば電源断処理を実行し、オフされていなければ処理をS101に戻す。
次に、S100からS107を実行中に、静止画撮影の実行が指示された場合の動作について説明する。静止画撮影の実行指示は、例えば操作部102に含まれるシャッターボタンの操作であってよい。
シャッターボタンが押されると、CPU101は割り込み処理として静止画撮影を開始する。このとき、CPU101は、直近に撮影した動画フレームに対する評価値にしたがってAE処理を実施し、静止画撮影時の撮影条件を決定することができる。本実施形態のデジタルカメラ1000では、静止画撮影に関するモードとして、表示優先モードとレリーズ優先モードを有する。S108でCPU101は、表示優先モードが設定されているか否かを判断し、表示優先モードが設定されていれば処理をS109に、設定されていなければS118に、処理を進める。
表示優先モードにおいて、撮像素子100からの静止画データ出力と、RAM102からのLVデータ出力とのタイミングが重複しない場合のタイミングチャートを図10(a)に、重複する場合のタイミングチャートを図10(b)に示す。
また、レリーズ優先モードにおいて、撮像素子100からの静止画データ出力と、RAM102からのLVデータ出力とのタイミングが重複しない場合のタイミングチャートを図11(a)に、重複する場合のタイミングチャートを図11(b)に示す。
S109でCPU101は、LVデータを撮像素子100から読み出し中であるかを判断し、読み出し中であればS113に、読み出し中でなければS110に、処理を進める。
S113でCPU101は、LVデータの読み出しが完了するまで待機し、完了すると処理をS114へ進める。
S114でCPU101は静止画撮影処理を実行する。図10(b)のTd2においてシャッターボタンが押されたとすると、撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し静止画の撮影条件を設定する。ここでは、撮影制御部118は、静止画モード、ISO感度や露光時間(蓄積時間)を撮像素子100に設定する。その後、図10(b)Td3で撮影制御部118は、撮像素子100に対して撮影開始の制御信号(撮影トリガ)を送信する。これにより、撮像素子100の画素は蓄積動作を開始する。この時の蓄積時間はTaccであるとする。
S115で撮影制御部118は、撮像素子100に読み出し制御信号(読み出しトリガ)を送信し、撮像素子100が静止画データを出力する(図10(b)Td4)。データフロー制御回路301の制御に基づいてRAM制御回路300がRAM120に、読み出された静止画データを書き込む。その後、CPU101は処理をS101へ戻す。
このように、表示優先モードでは、静止画データとLVデータとの読み出しタイミング(期間)が重複する場合には、LVデータの読み出しが完了してから静止画撮影を行う。そのため、図10(b)に示すように、動画の撮影周期はt_frame0で一定となっている。また、DFE119からのLVデータもt_frame0の周期で出力され、表示部103で表示される。つまり、表示優先モードでは、LV画像の更新周期も一定に持され、撮影されてから表示されるまでの遅延を小さくしながら、静止画撮影がなされる。
S109にて、LVデータの読み出し中でない場合、S110でCPU101は、静止画撮影を開始した場合、静止画データの読み出し期間がLVデータの読み出し期間と重複するか否かを判定する。この際CPU101は、露光時間Taccおよび時間差t_delay0を考慮して判定する。CPU101は、期間が重複すると判定されればS111へ、判定されなければS116へ、処理を進める。
S111で撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し、動画撮影条件を設定する。撮影制御部118は、動画モード、ISO感度や露光時間を設定する。また、撮影制御部118はCPU101からの制御に基づき、データフロー制御回路301に対しLVデータのデータサイズと、LVデータをRAM120に書き込んでから読み出すまでの時間差t_delay0を設定する。
S112で撮像素子100は、設定された撮影条件に従って1フレーム分の動画撮影を実施する。そして、CPU101からの制御に基づき撮影制御部118は撮像素子100に読み出しトリガを送信し、撮像素子100からLVデータを読み出す。
撮像素子100から出力されたLVデータは直接RAM120へ書き込まれる。そして、データフロー制御回路301は撮影制御部118に設定された設定に基づき、所定の時間t_delay0経過後に、RAM制御回路300に対して読み出し開始信号を送信する。それにより、RAM120に書き込まれたLVデータの読み出しが開始される。RAM120から読み出したLVデータは、データ出力部302がCPU101へ出力する。S113以降の処理は上述した通りであるため説明を省略する。
S116でCPU101は、静止画撮影処理を実行する。図10(a)のTc2において、シャッターボタンが押されたとすると、撮影制御部118はCPU101からの制御に基づき、撮像素子100に対して静止画の撮影条件を設定する。ここでは、撮影制御部118は、静止画モード、ISO感度、露光時間などを設定する。その後レリーズタイムラグt_release0後に撮影制御部118は撮像素子100に対し撮影トリガを送信することにより、撮像素子100は蓄積動作を開始する(図10(a)のTc3)。この時の蓄積時間はTaccである。
S117では、撮影制御部118は撮像素子100に読み出しトリガを送信し、撮像素子100から静止画データを読み出す(図10(a)Tc4)。データフロー制御回路301の制御に基づいてRAM制御回路300がRAM120に、読み出された静止画データを書き込む。その後、CPU101は処理をS101へ戻す。
一方、表示優先モードが設定されていない(レリーズ優先モードが設定されている)場合、S118でCPU101は、撮像素子100からLVデータを読み出し中であるかを判断する。CPU101は、LVデータが読み出し中の場合はS119に、読み出し中でない場合にはS120に、処理を進める。
S119で撮影制御部118はCPU101の制御に基づき、撮像素子100からのLVデータの読み出しを中断する。撮影制御部118は撮像素子100に対して終了設定と終了トリガを送信する。撮像素子100は終了設定と終了トリガに基づき、LVデータの出力を中断する。
S120でCPU101は静止画撮影を実行する。図11(a)のTe2、図11(b)のTf2において、シャッターボタンが押されたとする。撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し静止画の撮影条件を設定する。ここでは撮影制御部118は、静止画モード、ISO感度や露光時間を設定する。その後レリーズタイムラグt_release0後に撮影制御部118は撮像素子100に対し撮影トリガを送信することにより、撮像素子100は蓄積動作を開始する(図11(a)のTe3、図11(a)のTf3)。ここでも蓄積時間はTaccであるとする。
S121で撮影制御部118は、CPU101からの制御に基づき撮像素子100に読み出しトリガを送信し、撮像素子100から静止画データを読み出す(図11(a)のTe4、図11(a)のTf4)。データフロー制御回路301の制御に基づいてRAM制御回路300がRAM120に、読み出された静止画データを書き込む。
S122でCPU101は、撮像素子100からの静止画データの読み出し期間が、LVデータの読み出し期間と重複したか否かを判定する。CPU101は、重複している場合にはS123に処理を進め、重複していない場合にはS101に処理を戻す。ここでもCPU101は、蓄積時間Taccおよび時間差t_delay0を考慮して判定する。
S123で撮影制御部118は、CPU101からの制御に基づき、撮像素子100に対して動画撮影条件を設定する。ここでは、撮影制御部118は、動画モード、ISO感度や露光時間を設定する。また、撮影制御部118はCPU101からの制御に基づき、データフロー制御回路301に対しLVデータのデータサイズ、またLVデータをRAM120に書き込んでから読み出すまでの時間差t_delay1を設定する。
次にS124で撮像素子100は、設定された撮影条件に従って1フレーム分の動画撮影を行う。CPU101からの制御に基づき撮影制御部118は、撮像素子100に読み出しトリガを送信し、撮像素子100からLVデータが読み出される。
撮像素子100から出力されたデータは直接RAM120へ書き込まれる。データフロー制御回路301は撮影制御部118に設定された設定に基づき、所定の時間t_delay1の経過後、RAM制御回路300に対して読み出し開始信号を送信する。それにより、RAM120に書き込まれたLVデータが読み出される。つまり、先に書き込まれた静止画データよりも後に書き込まれたLVデータがRAM120から先に読み出される。RAM120から読み出されたLVデータはデータ出力部302からCPU101へ出力される。CPU101は、処理をS101へ戻す。
S123で撮影されたフレームを除き、LVデータの撮影周期は予め設定されているt_frame0である。したがって、動画撮影および表示とも、t_frame0の周期で実行される。
S123では、静止画データの読み出し期間とLVデータの読み出し期間とが重複した場合に、静止画データの読み出しを行ってから動画撮影を行う。そのため、動画撮影のタイミングは図11(b)に示すように、t_frame0とは異なるt_frame1/2となっている。一方で、RAM120から読み出されてDFE119から出力されるLVデータの周期はt_frame0で一定であり、表示部103で使用される。このような動作は、t_delay1が動画撮影のタイミングがずれた場合でも、DFE119から出力されるタイミングが一定周期になるような長さで設定されているために実現されている。
これにより、レリーズ優先モードでは、一定のレリーズタイムラグt_release0で静止画撮影が実行されつつ、ライブビュー画像の表示の周期も一定に保持される。
以上に述べた構成により、本実施形態の撮像装置では、ライブビュー表示などを目的とした動画撮影と、静止画撮影とを両立することができる。動画撮影中に静止画を撮影した場合でも、動画のフレーム周期は一定に保たれ、表示の停止やフレーム抜けが生じない。
また、表示優先モードとレリーズ優先モードを設けることにより、LV撮影の周期性を優先することができるモードと、レリーズタイムラグを一定にすることを優先するモードを用途に合わせて選択することができる。
●(第2実施形態)
次に、本発明の第2実施形態について説明する。本実施形態は第1実施形態で説明した図1に示すデジタルカメラ1000とほぼ同じ構成で実施可能であるため、共通する構成に関する説明を省略する。
図12に示す様に、本実施形態におけるデジタルカメラ1000は、DFE119の構成とCPU101との接続関係が第1実施形態と異なる。なお、図12において、第1実施形態における図8と同じ構成には同じ符号を付し、説明を省略する。
撮像素子100は、撮影制御部118から入力される制御信号(撮影同期信号)と設定に基づき撮影を実行し、画像データを読み出して出力する。撮像素子100から出力される画像データは、DFE119に入力される。
本実施形態のデジタルカメラ1000は、静止画モード、動画モード(LVモード)、およびもう1つの動画モード(8Kモード)を備える。ここで、静止画モードと動画モードにおいて撮像素子100から読み出す画素は第1実施形態と同じ、図5(a)および(b)における斜線を付した画素であるため、説明を省略する。8Kモードでは図5(c)に斜線を付した画素のように、水平h画素、垂直i画素の部分領域に含まれる画素から画素データを読み出す。また、8Kモード時の読み出しは第2の読み出しモードに従って実行する。なお、8Kモードでデータを読み出す画素領域の解像度(データサイズ)は、静止画モードよりは小さいが、動画モードよりは大きいものとする。なお、静止画モード、動画モード、8Kモードの構成や読み出しはこれに限定されるものではない。
データフロー制御回路301は、撮影制御部118から供給される撮影同期信号と設定とに基づき、RAM制御回路300に対して書き込みアドレス、データサイズ(解像度)、タイミングなどを設定する。RAM制御回路300は設定に基づいてRAM120に対して書き込み制御を行い、撮像素子100から出力された画像データがRAM120に書き込まれる。
また、データフロー制御回路301は、後述するタイミングでRAM制御回路300に対して、読み出しアドレス、データサイズ、タイミングなどを設定する。RAM制御回路300は設定に基づきRAM120に対して読み出し制御を行い、RAM120から画像データが出力される。
本実施形態のDFE119が有するデータ振り分け回路304には、撮像素子100およびRAM120から画像データが入力される。データ振り分け回路304は、データフロー制御回路303の制御に基づき、画像データを2つのデータ出力部305および306に分割して出力する。
データ振り分け回路304からデータ出力部305、306に出力された画像データは、データ出力部305、306によってCPU101へ入力される。データ出力部305、306は差動シリアル伝送方式でデータを転送し、それぞれ複数のデータレーンを有している。データ出力部305、306は、データ振り分け回路304から供給される画像データをシリアルデータに変換し、差動信号としてCPU101に転送する。なお、差動シリアル伝送方式の使用は必須ではない。
以下、データ出力部305から出力される画像データを出力A、データ出力部306から出力される画像データを出力Bとする。
本実施形態のデジタルカメラ1000は、ライブビュー用の動画撮影中もしくは8K解像度の動画撮影中の静止画撮影が可能である。DFE119からCPU101への画像データの転送は、LVデータは出力Aのみから転送され、8Kデータは出力Aと出力Bに分割して転送される。また、静止画データは、LVモード中の場合には出力Bのみから転送され、8Kモード中の場合は出力AとBに分割して転送される。LVモードではLVデータと静止画データを別個のデータレーンを用いて転送するため、LVデータと静止画データを並列に出力することができる。
次に、本実施形態におけるデジタルカメラ1000の動作について、図13〜図15を用いて説明する。図14(a)〜(c)はLVモードの時の、静止画撮影タイミングがそれぞれ異なる場合のタイミングチャートである。また、図15(a)および(b)は、8Kモードの時の、静止画撮影タイミングがそれぞれ異なる場合のタイミングチャートである。
ユーザーが操作部102を操作し、デジタルカメラ1000の電源をONにすると、CPU101は初期化などの起動処理を実行し、撮影スタンバイ状態になる。
S100で、CPU101は、撮影スタンバイ状態でライブビュー表示を行うために、フォーカルプレーンシャッタ109を開き、撮像素子100を露光状態とする。
S201でCPU101は、予め設定されている動画モードが、LVモードか8Kモードであるかを判定し、LVモードであればS202へ、8KモードであればS210へ、処理を進める。
S202で撮影制御部118は、CPU101からの制御に基づき、撮像素子100に対しライブビューの撮影条件設定をする。ここで撮影制御部118は、LVモード、ISO感度、露光時間などを設定する。また、撮影制御部118はCPU101からの制御に基づき、データフロー制御回路303に対しLVデータのデータサイズを設定する。
S203で撮像素子100は、設定された撮影条件に従って1フレーム分の動画撮影を行う。撮影が行われると、図14(a)のTg0、図14(b)のTh0、図14(c)のTi0に示すように、撮像素子100から0フレーム目のLVデータLV0が出力される。この時、撮像素子100からの読み出し時間は、DFE119からLVデータが出力されるデータレートに合わせて調整されている。これにより、DFE119内でRAM120などのバッファを使用しなくても、DFE119からLVデータを出力できる。なお、本実施形態ではLVデータをRAM120などのバッファに格納しない構成としたが、一度バッファに格納してから出力するように構成してもよい。
撮像素子100から出力された画像データはデータ振り分け回路304へ入力される。データフロー制御回路303は撮影制御部118に設定された設定に基づき、データ振り分け回路304に、撮像素子100から入力された画像データをデータ出力部305へ出力するように設定する。それにより、ライブビュー表示用の画像データがDFE119の出力AからCPU101へ出力される。
CPU101へ出力されたLVデータは、CPU101により画像処理部106に転送される。画像処理部106は、LVデータに対して予め定められた画像処理を適用した後、表示部103にライブビュー画像として表示する。
ここで、LVモードにおける動画撮影は予め設定されたフレームレートを実現するためのt_frame0の間隔で周期的に実施され、かつ同じ周期でLVデータが表示される。これにより、表示部103の表示周期に同期してLV画像を表示することができる。
S204でCPU101は、静止画データをDFE119からCPU101に転送中か否かを判定し、転送中でなければS208に、転送中であればS205に、処理を進める。
S208でCPU101は、RAM120内に静止画データが存在するか確認する。ここでは、CPU101が操作部102から受け付けた静止画撮影命令の回数を記憶しておき、RAM120に静止画データが何フレーム分格納されているかを管理するものとするが、他の方法を用いてもよい。例えば、RAM120の状態を示すレジスタをDFE119内に設け、レジスタの値をCPU101が読み出してRAM120の状態を確認する方法であってもよい。CPU101は、RAM120内に静止画データが存在することが確認された場合にはS209へ、存在が確認できない場合にはS205へ、処理を進める。
S209でDFE119は、CPU101への静止画データの転送を開始する。CPU101から静止画データの要求を受信した撮影制御部118は、データフロー制御回路303に対し、読み出す静止画データのデータサイズ(解像度)を設定し、読み出し開始命令を送信する。データフロー制御回路303はRAM制御回路300を制御し、図14(a)のTg4、図14(b)のTh4、図14(c)のTi4に示すように静止画データを読み出す。この時、データフロー制御回路301は、データ振り分け回路304に、RAM120から読み出された静止画データをデータ出力部306へ出力するように設定する。それにより、出力部306を通じて静止画データが出力BとしてCPU101へ出力される。本実施形態では、撮像素子100の出力レートより出力部306のデータレートが低く、静止画データをDFE119からCPU101へ転送するのに必要な時間が、撮像素子100から静止画データをDFE119に転送するのに要する転送よりも長い。ただし、このようなデータレートの関係は必須ではない。
S205でCPU101は、1フレーム分の静止画データがCPU101に対して転送済みかを判断し、転送済みであればS106へ、転送済みでなければS107へ、処理を進める。
S206でCPU101は、1フレーム分の静止画データを画像処理部106に転送する。画像処理部106では静止画データに対して記録時に適用する画像処理(現像や符号化処理など)を適用し、記録部108に静止画データファイルとして記録する。CPU101は、記録が終了すると処理をS207に進める。
S207でCPU101は、操作部102に含まれる電源スイッチがオフされたか否かを判断し、オフされていれば電源断処理を実行し、オフされていなければ処理をS201に戻す。
一方、8Kモードが選択されていた場合、S210で撮影制御部118は、CPU101からの制御に基づき、撮像素子100に対し撮影条件を設定する。ここでは、撮影制御部118は、8Kモード、ISO感度や露光時間を撮像素子100に設定する。また、撮影制御部118はCPU101からの制御に基づき、データフロー制御回路301に対しデータサイズ、8KデータをRAM120に書き込んでから読み出すまでの時間差t_delay0を設定する。
S211で撮像素子100は、設定された撮影条件に従って8K動画の1フレームを撮影する。そして、図15(a)のTj0、図15(b)のTk0に示すように、撮像素子100から0フレーム目の8K動画データ8K0が出力される。
撮像素子100から出力された画像データは直接RAM120へ書き込まれる。データフロー制御回路303は撮影制御部118に設定された設定に基づき、所定の時間t_delay0の経過後、RAM制御回路300に対して読み出し開始信号を送信する。それにより、RAM120に書き込まれた画像データが読み出される(図15(a)のTj1、図15(b)のTk1)。
データフロー制御回路303は撮影制御部118に設定された設定に基づき、データ振り分け回路304に、撮像素子100から入力された8K動画データをデータ出力部305、306へ出力するように設定する。この設定に従って、データ振り分け回路304は、RAM120から読み出された8K動画データを2分割して8K0(A)、8K0(B)としてデータ出力部305、306に出力する。そして、分割された8K動画データがデータ出力部305、306を通じてCPU101へ出力される。
S212でCPU101は、S208と同様に、RAM120内に静止画データが存在するか確認する。CPU101は、RAM120内に静止画データが存在することが確認された場合にはS213へ、存在が確認できない場合にはS207へ、処理を進める。
S213でCPU101は撮影制御部118に対して静止画データの要求を送信する。本実施形態では、1フレーム分の8K動画データの転送を終了してから次のフレームの8K動画データの転送を開始するまでの間に1フレーム分の静止画データの全体を転送するにはデータ出力部305、306の出力データレートが不足している。そのため、静止画データを複数(ここでは3つ)に分割して、8K動画データを転送していない期間に転送する。
CPU101から静止画の要求を受信した撮影制御部118は、データフロー制御回路303に対して、読み出す静止画データのデータサイズ(解像度)と分割数を設定し、読み出し開始命令を送信する。データフロー制御回路303は、RAM120から8K動画データを読み出しているか否か判定し、読み出している場合には読み出しが終わるまで待機する。読み出していない場合、データフロー制御回路303はRAM制御回路300を制御し、図15(a)のTj5、図15(b)のTk5に示すように静止画データを読み出す。その後データフロー制御回路303は8K動画データをRAM120から読み出すタイミングで、読み出すデータを静止画データから8K動画データに切り替える。図15(a)のTj6、Tj7、図15(b)のTk6、Tk7で示すように、分割された静止画データと8K動画データを交互にRAM120から読み出す。これにより、8K動画データのフレームレートを維持したまま、1フレーム分の静止画データをデータ出力部305、306を通じて出力A、出力BとしてCPU101に出力することができる。
S214でCPU101は、1フレーム分の静止画データがCPU101に対して転送済みかを判断し、転送済みであればS215へ、転送済みでなければS207へ、処理を進める。
S215でCPU101は、1フレーム分の静止画データを画像処理部106に転送する。画像処理部106では静止画データに対して記録時に適用する画像処理(現像や符号化処理など)を適用し、記録部108に静止画データファイルとして記録する。CPU101は、記録が終了すると処理をS207に進める。
次に、S200からS215を実行中に、静止画撮影の実行が指示された場合の動作について説明する。静止画撮影の実行指示は、例えば操作部102に含まれるシャッターボタンの操作であってよい。
シャッターボタンが押されると、CPU101は割り込み処理として静止画撮影を開始する。このとき、CPU101は、直近に撮影した動画フレームに対する評価値にしたがってAE処理を実施し、静止画撮影時の撮影条件を決定することができる。
S216でCPU101は、現在実行中の動画撮影がLVモードで行われているか否か判定し、LVモードであればS217へ、LVモードでなければ(8Kモードであれば)S231へ、処理を進める。
第1実施形態と同様、本実施形態のデジタルカメラ1000では、静止画撮影に関するモードとして、表示優先モードとレリーズ優先モードを有する。S217でCPU101は、表示優先モードが設定されているか否かを判断し、表示優先モードが設定されていれば処理をS109に、設定されていなければ(レリーズ優先モードが設定されていれば)S118に、処理を進める。
表示優先モードにおいて、撮像素子100からの静止画データ出力と、RAM102からのLVデータ出力とのタイミングが重複しない場合のタイミングチャートを図14(a)に、重複する場合のタイミングチャートを図14(b)に示す。
また、レリーズ優先モードにおいて、撮像素子100からの静止画データ出力と、RAM102からのLVデータ出力とのタイミングが重複する場合のタイミングチャートを図14(c)に示す。
S218でCPU101は、LVデータを撮像素子100から読み出し中であるかを判断し、読み出し中であればS222に、読み出し中でなければS219に、処理を進める。
S222でCPU101は、LVデータの読み出しが完了するまで待機し、完了すると処理をS223へ進める。
S223でCPU101は静止画撮影処理を実行する。図14(b)のTh1においてシャッターボタンが押されたとすると、撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し静止画の撮影条件を設定する。ここでは、撮影制御部118は、静止画モード、ISO感度や露光時間(蓄積時間)を撮像素子100に設定する。その後、図14(b)Th2で撮影制御部118は、撮像素子100に対して撮影開始の制御信号(撮影トリガ)を送信する。これにより、撮像素子100の画素は蓄積動作を開始する。この時の蓄積時間はTaccであるとする。
S224で撮影制御部118は、撮像素子100に読み出し制御信号(読み出しトリガ)を送信し、撮像素子100が静止画データを出力する(図14(b)Th3)。データフロー制御回路303の制御に基づいてRAM制御回路300がRAM120に、読み出された静止画データを書き込む。その後、CPU101は処理をS201へ戻す。
このように、表示優先モードでは、静止画データとLVデータとの読み出しタイミング(期間)が重複する場合には、LVデータの読み出しが完了してから静止画撮影を行う。そのため、図14(b)に示すように、動画の撮影周期はt_frame0で一定となっている。また、DFE119からのLVデータもt_frame0の周期で出力され、表示部103で表示される。つまり、表示優先モードでは、LV画像の更新周期も一定に持され、撮影されてから表示されるまでの遅延を小さくしながら、静止画撮影がなされる。
S218にて、LVデータの読み出し中でない場合、S219でCPU101は、静止画撮影を開始した場合に、静止画データの読み出し期間がLVデータの読み出し期間と重複するか否かを判定する。この際CPU101は、露光時間Taccおよび時間差t_delay0を考慮して判定する。CPU101は、期間が重複すると判定されればS220へ、判定されなければS225へ、処理を進める。
S220で撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し、LV撮影条件を設定する。撮影制御部118は、動画モード、ISO感度や露光時間を設定する。また、撮影制御部118はCPU101からの制御に基づき、データフロー制御回路303に対しLVデータのデータサイズを設定する。
S221で撮像素子100は、設定された撮影条件に従って1フレーム分の動画撮影を実施する。そして、CPU101からの制御に基づき撮影制御部118は撮像素子100に読み出しトリガを送信し、撮像素子100からLVデータを読み出す。
撮像素子100から出力されたLVデータは直接データ振り分け回路304に入力される。そして、データフロー制御回路303は撮影制御部118に設定された設定に基づき、撮像素子100から入力されたLVデータをデータ出力部305に出力するようにデータ振り分け回路304を設定する。それにより、LVデータが、DFE119の出力Aとしてデータ出力部305からCPU101に出力される。そして、CPU101は処理をS222に進める。
一方、S225でCPU101は、静止画撮影処理を実行する。図14(a)のTg1において、シャッターボタンが押されたとすると、撮影制御部118はCPU101からの制御に基づき、撮像素子100に対して静止画の撮影条件を設定する。ここでは、撮影制御部118は、静止画モード、ISO感度、露光時間などを設定する。その後レリーズタイムラグt_release0後に撮影制御部118は撮像素子100に対し撮影トリガを送信することにより、撮像素子100は蓄積動作を開始する(図14(a)のTg2)。この時の蓄積時間はTaccである。
S226では、撮影制御部118は撮像素子100に読み出しトリガを送信し、撮像素子100から静止画データを読み出す(図14(a)のTg3)。データフロー制御回路303の制御に基づいてRAM制御回路300がRAM120に、読み出された静止画データを書き込む。その後、CPU101は処理をS201へ戻す。
一方、表示優先モードが設定されていない(レリーズ優先モードが設定されている)場合、S227でCPU101は、撮像素子100からLVデータを読み出し中であるかを判断する。CPU101は、LVデータが読み出し中の場合はS229に、読み出し中でない場合にはS228に、処理を進める。
S228で撮影制御部118はCPU101の制御に基づき、撮像素子100からのLVデータの読み出しを中断する。撮影制御部118は撮像素子100に対して終了設定と終了トリガを送信する。撮像素子100は終了設定と終了トリガに基づき、LVデータの出力を中断する。読み出しを中断したフレームは表示されない。CPU101は、処理をS229に進める。
S229でCPU101は静止画撮影を実行する。図14(c)のTi1において、シャッターボタンが押されたとする。撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し静止画の撮影条件を設定する。ここでは撮影制御部118は、静止画モード、ISO感度や露光時間を設定する。その後レリーズタイムラグt_release0後に撮影制御部118は撮像素子100に対し撮影トリガを送信することにより、撮像素子100は蓄積動作を開始する(図14(c)のTi2)。ここでも蓄積時間はTaccであるとする。
S230で撮影制御部118は、CPU101からの制御に基づき撮像素子100に読み出しトリガを送信し、撮像素子100から静止画データを読み出す(図14(c)のTi3)。データフロー制御回路303の制御に基づいてRAM制御回路300がRAM120に、読み出された静止画データを書き込む。書き込みが終了したら、CPU101は処理をS201へ進める。
次に、8Kモード時の静止画撮影動作について説明する。
S231でCPU101は、8Kデータを撮像素子100から読み出し中であるかを判断し、読み出し中であればS235に、読み出し中でなければS232に、処理を進める。
S235でCPU101は、8Kデータの読み出しが完了するまで待機し、完了すると処理をS236へ進める。
S236でCPU101は静止画撮影処理を実行する。撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し静止画の撮影条件を設定する。ここでは、撮影制御部118は、静止画モード、ISO感度や露光時間(蓄積時間)を撮像素子100に設定する。その後、撮影制御部118は、撮像素子100に対して撮影開始の制御信号(撮影トリガ)を送信する。これにより、撮像素子100の画素は蓄積動作を開始する。
S237で撮影制御部118は、撮像素子100に読み出し制御信号(読み出しトリガ)を送信し、撮像素子100が静止画データを出力する。データフロー制御回路303の制御に基づいてRAM制御回路300がRAM120に、読み出された静止画データを書き込む。その後、CPU101は処理をS201へ戻す。
このように、8kモードでは、静止画データと8kデータとの読み出しタイミング(期間)が重複する場合には、8kデータの読み出しが完了してから静止画撮影を行う。そのため、動画の撮影周期は一定である。また、DFE119からの8kデータも一定周期で出力され、画像処理部106において記録用の画像処理を適用したのち、動画データファイルとして記録部108に記録される。また、画像処理部106は8kデータからLVデータを生成する。CPU101はLVデータを表示部103に表示する。その後、CPU101は処理をS201に戻す。
S231にて、8Kデータの読み出しがされていない場合、S232でCPU101は、静止画撮影を開始した場合に、静止画データの読み出し期間が8kデータの読み出し期間と重複するか否かを判定する。この際CPU101は、露光時間Taccおよび時間差t_delay0を考慮して判定する。CPU101は、期間が重複すると判定されればS233へ、判定されなければS238へ、処理を進める。
S233で撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し、8K撮影条件を設定する。撮影制御部118は、8Kモード、ISO感度や露光時間を設定する。また、撮影制御部118はCPU101からの制御に基づき、データフロー制御回路303に対し8Kデータのデータサイズを設定する。
S234で撮像素子100は、設定された撮影条件に従って1フレーム分の動画撮影を実施する。そして、CPU101からの制御に基づき撮影制御部118は撮像素子100に読み出しトリガを送信し、撮像素子100から8Kデータを読み出す。
撮像素子100から出力された8Kデータは直接データ振り分け回路304に入力される。そして、データフロー制御回路303は撮影制御部118に設定された設定に基づき、撮像素子100から入力された8Kデータをデータ出力部305に出力するようにデータ振り分け回路304を設定する。それにより、8Kデータが、DFE119の出力Aとしてデータ出力部305からCPU101に出力される。そして、CPU101は処理をS235に進める。
S235で8kデータの読み出し完了を確認すると、S236でCPU101は静止画撮影処理を実行する。図15(b)のTk2においてシャッターボタンが押されたとすると、撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し静止画の撮影条件を設定する。ここでは、撮影制御部118は、静止画モード、ISO感度や露光時間(蓄積時間)を撮像素子100に設定する。その後レリーズタイムラグt_release3後に、撮影制御部118は、撮像素子100に対して撮影開始の制御信号(撮影トリガ)を送信する(図15(a)Tk3)。これにより、撮像素子100の画素は蓄積動作を開始する。この時の蓄積時間はTaccであるとする。
S237で撮影制御部118は、撮像素子100に読み出し制御信号(読み出しトリガ)を送信し、撮像素子100が静止画データを出力する(図15(b)Tk4)。データフロー制御回路303の制御に基づいてRAM制御回路300がRAM120に、読み出された静止画データを書き込む。その後、CPU101は処理をS201へ戻す。
このように、8kモードでは、静止画データと8kデータとの読み出しタイミング(期間)が重複する場合には、8kデータの読み出しが完了してから静止画撮影を行う。そのため、図15(b)に示すように、動画の撮影周期はt_frame0で一定となっている。また、DFE119からの8kデータもt_frame0の周期で出力され、画像処理部106において記録用の画像処理を適用したのち、動画データファイルとして記録部108に記録される。また、画像処理部106は8kデータからLVデータを生成する。CPU101はLVデータを表示部103に表示する。その後、CPU101は処理をS201に戻す。
S232にて、撮像素子100からの静止画データの読み出しタイミングが、8Kデータ読み出しタイミングと重複しない場合、S238でCPU101は、静止画撮影処理を実行する。図15(a)のTj2において、シャッターボタンが押されたとすると、撮影制御部118はCPU101からの制御に基づき、撮像素子100に対して静止画の撮影条件を設定する。ここでは、撮影制御部118は、静止画モード、ISO感度、露光時間などを設定する。その後レリーズタイムラグt_release0後に撮影制御部118は撮像素子100に対し撮影トリガを送信することにより、撮像素子100は蓄積動作を開始する(図15(a)のTj3)。この時の蓄積時間はTaccである。
S239では、撮影制御部118は撮像素子100に読み出しトリガを送信し、撮像素子100から静止画データを読み出す(図15(a)のTj4)。データフロー制御回路303の制御に基づいてRAM制御回路300がRAM120に、読み出された静止画データを書き込む。その後、CPU101は処理をS201へ戻す。
本実施形態によっても、第1実施形態と同様に、ライブビュー表示を目的とした動画撮影中に静止画を撮影した場合でも、ライブビュー表示のフレーム周期は一定に保たれ、表示の停止やフレーム抜けが生じない。また、8K動画記録を目的とした動画撮影中の静止画撮影であっても、同様の効果を実現することができる。
●(第3実施形態)
次に、本発明の第3実施形態について説明する。本実施形態は第1実施形態で説明した図1に示すデジタルカメラ1000とほぼ同じ構成で実施可能であるため、共通する構成に関する説明を省略する。
図16に示す様に、本実施形態におけるデジタルカメラ1000は、DFE119の構成が第2実施形態と異なる。なお、図16において、第2実施形態における図12と同じ構成には同じ符号を付し、説明を省略する。
本実施形態のDFE119は、AFデータ圧縮回路309を有する。AFデータ圧縮回路309にはRAM120から読み出された画像データが入力される。また、AFデータ圧縮回路309の出力は、データ振り分け回路308に入力される。データ振り分け回路308は、第2実施形態におけるデータ振り分け回路304の機能に加え、AFデータ圧縮回路309の出力をデータ出力部306に出力する機能を有する。なお、AFデータ圧縮回路309は設けなくてもよいが、設けることにより、静止画データを出力可能な期間を増加させることができる。
図17に本実施形態におけるデータ転送動作に関するタイミングチャートを示す。先に述べた様に、動画モードではAB像(画像データ)に加え、A像のデータを含んだLVデータが読み出される(第2の読み出しモード)。そして、本実施形態では、撮像素子100から読み出されるLVデータのうち、A像のデータAFxはAFデータ圧縮回路309に、AB像のデータABxは直接データ振り分け回路308に入力される。LVデータを分離してAFデータ圧縮回路309とデータ振り分け回路308に入力する方法は任意である。例えば、データフロー制御回路307が読み出されるLVデータの構造に基づいて、AFデータ圧縮回路309とデータ振り分け回路308とに、データを受け取るタイミングを指示することができる。
A像のデータはAFデータ圧縮回路309により、予め定められた方法でデータ量を削減(圧縮)された後、データ振り分け回路308に入力される。そして、データ振り分け回路308は、AFデータ圧縮回路309から入力されたA像のデータを出力部306に出力する。そして、出力部306は、DFE119の出力Bとして、A像のデータ(AFデータ)をCPU101に出力する。一方、LVデータに含まれるAB像については、RAM120から直接データ振り分け回路308に入力される。データ振り分け回路308は、AB像の画像データをデータ出力部305に出力する。そして、出力部305は、DFE119の出力Aとして、AB像のデータ(画像データ)をCPU101に出力する(図17のTI0)。
例えば図17のTI1における静止画撮影指示に基づく静止画撮影がTI2から開始された場合、RAM120に書き込まれた静止画データの読み出し期間と、AFデータの出力期間が重複する。この場合、データフロー制御回路307は、TI4から開始された静止画データの読み出しおよび出力部306からの出力を、AFデータの出力タイミングになった時点(TI5)で中断し、出力部306の出力をAFデータに切り替える。データフロー制御回路307は、RAM制御回路300に読み出しを中断させ、データ振り分け回路308の設定を、RAM120の出力ではなく、AFデータ圧縮回路309の出力を出力部306に供給するように切り替える。AFデータの出力が終わると(TI6)、データフロー制御回路307は、RAM120からの静止画データの読み出しおよび出力部306からの出力を再開させる。以後、時刻TI7、TI8でも同様の制御が行われる。
本実施形態では、LVデータをAF用データと画像データとに分離し、別個の出力系統でCPUに転送するようにした。そのため、AF用データの分だけデータ量が減少するため、出力部のデータレートが低い場合でも、ライブビュー表示に用いる画像データの送信周期を維持することができる。一方、静止画データとAF用データとは1つの出力系統を共用して出力する。この際、AFデータの出力を優先させることで、AFデータを一定周期で出力することができる。本実施形態は、表示部103の解像度より大きい解像度の動画データを安定した周期で出力する際にも有用である。
●(第4実施形態)
次に、本発明の第4実施形態について説明する。図18は、本実施形態に係るデジタルカメラ2000の機能構成例を示すブロック図であり、図1と同様の構成については同じ参照数字を付してある。本実施形態は、DFEの機能を撮像素子400が有している。
図19(a)は、本実施形態の撮像素子400の構成例を示す。図3および図12と同様の構成には同じ参照数字を付し、説明を省略する。なお、撮像素子400は、図19(b)に模式的に示す様に、2枚の半導体基板401、402を有する半導体パッケージとして構成されており、図19(a)における401、402はそれぞれの半導体基板に実装される範囲の一例を示している。つまり、DFE119およびRAM310が、撮像素子と同じ半導体パッケージに収容された構成を有する。
データフロー制御回路311は、RAM制御回路300とセレクタ313を制御する。データ変換回路312は、RAM310から読み出した静止画データを例えばスケーリングして、1フレームのLVデータに変換する。
本実施形態のデジタルカメラ2000の動作に関するフローチャートを図20に示す。図20において、図13と同じ処理を行うステップには同じ参照数字を付し、説明を省略する。図21(a)は、撮像素子(補正回路233)からLVデータを読み出す期間と静止画を読み出す期間とが重複しない場合のタイミングチャートである。
本実施形態においては、RAM310から読み出される画像データのうち、LVデータについてはセレクタ313の一方の入力と、データ変換回路312に入力される。また、静止画データについてはデータ出力部306に直接入力される。撮像素子100からLVデータを読み出す期間に静止画を読み出す期間が重複しない場合、撮像素子100からのLVデータの読み出しは中断されない。そのため、データフロー制御回路311は、RAM310から入力aに直接入力されるLVデータを出力するように、セレクタ313を制御する。なお、RAM310からLVデータと静止画データとの両方を読み出す期間は、データ出力部305、306の出力レートを考慮した時分割読み出しを行うものとする。
図21(b)は、撮像素子からLVデータを読み出す期間に静止画を読み出す期間が重複しない場合のタイミングチャートである。以下、図20のS312以降の動作について図21(b)のタイミングチャートを参照しながら説明する。
本実施形態では、静止画撮影を優先し、LVデータの読み出し中に静止画撮影指示(図21(b)、Tn2)があった場合、動画撮影(LVデータの読み出し)を中止して静止画撮影を実施する(図21(b)、Tn3)。この場合、読み出しが中止されたLVデータの代わりに、LVデータの読み出しタイミング(図21(b)、Tn5)でRAM310から静止画データを読み出す(S312)。
S313でデータ変換回路312は、読み出された静止画データからLVデータを生成する。時刻Tn5でデータフロー制御回路311は、データ変換回路312から入力bに入力されるLVデータを出力するようにセレクタ313を切り替える。これにより、撮像素子400の出力Aから、静止画データから生成されたLVデータが出力され、ライブビュー表示に用いられる。
その後、時刻Tn6で再びRAM120から静止画データの読み出しを行い(S317)、撮像素子400の出力Bから、静止画データが出力される。この静止画データは、画像処理部106により画像処理を適用され、静止画データファイルとして記録部108に記録される。
本実施形態によれば、DFE119を撮像素子に内蔵させることにより、装置の小型化に有利である。また、LVデータの転送よりも静止画撮影を優先することで、タイムラグの少ない動画撮影中の静止画撮影が可能になる。さらに、静止画撮影を実行するために失われたLVデータについては、撮影された静止画から生成するようにしたので、LV表示が欠けたり更新間隔が変動したりすることを防止できる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
従来、静止画撮影時と動画撮影時とで撮像素子から読み出す画素数を異ならせる撮像装置が知られている。そのような撮像装置においては、動画撮影中に静止画撮影を行う場合、動画の1フレーム周期内に撮像素子から静止画を読み出すことができないため、動画撮影を中断する必要があった。
上述の目的は、撮像素子と、撮像素子から画像データを読み出して、外部に出力する転送制御手段と、転送制御手段に接続されたメモリと、撮像素子および転送制御手段の動作を制御する撮影制御手段とを有し、撮影制御手段は、動画撮影中に静止画撮影指示があった場合、静止画データを撮像素子から読み出す期間が、撮像素子から動画データを読み出す期間に重複しないように撮像素子による静止画撮影のタイミングを制御するとともに、撮像素子から読み出した静止画データをメモリに書き込み、撮像素子から読み出した動画データを出力しない期間に、メモリから静止画データを読み出して出力する、ように転送制御手段の動作を制御する、ことを特徴とする撮像装置によって達成される。
その後、時刻Ta5において、制御信号RES_CがLになると、垂直出力線207に読み出されたリセット信号レベルと基準電圧Vrefとの差分に基づく電圧がオペアンプ213から出力される。撮像素子100には予め、操作部102により設定されたISO感度に基づき、CPU101が撮影制御部118を通じて制御信号GAIN0〜GAIN2の1つをHにする。ここでは一例として、ISO感度100、200、400に対応して制御信号GAIN0、GAIN1、GAIN2をHにするものとする。そして、スイッチ218〜220のうち、Hになった制御信号GAINnに対応するスイッチがオンする。オペアンプ213は、入力された電圧をクランプ容量211とフィードバック容量214〜216のいずれかの比率で定まる反転ゲインで増幅して出力する。ここでオペアンプ213までの回路で発生するランダムノイズ成分も増幅するため、ISO感度100、200、400ではそれぞれ出力される信号のランダムノイズ量が異なる。
時刻Ta7で、ランプ信号のレベルがオペアンプ213の出力信号の値を上回ると、比較器221は、Latch_N222に出力する信号をLからHに反転させる。Latch_N222は制御信号LATEN_NがHの状態で、比較器221からの信号がLからHに反転されると、その時点でカウンタ231から出力されているカウンタ値を記憶する。つまり、Latch_N222は、ノイズ信号(N信号)のディジタル値(N信号データ)を記憶する。
その後時刻Ta8において、ランプ信号の変化が終了し、制御信号LATEN_NがLとなる。
時刻Ta12で、ランプ信号のレベルがオペアンプ213の出力信号の値を上回ると、比較器221は、Latch_S223に出力する信号をLからHに反転させる。Latch_S223は制御信号LATEN_SがHの状態で、比較器221からの信号がLからHに反転されると、その時点でカウンタ231から出力されているカウンタ値を記憶する。つまり、Latch_S223は、加算信号(AB信号)のディジタル値(AB信号データ)を記憶する。
その後時刻Ta13において、ランプ信号の変化が終了し、制御信号LATEN_SがLとなる。
時刻Tb12で、ランプ信号のレベルがオペアンプ213の出力信号の値を上回ると、比較器221は、Latch_S223に出力する信号をLからHに反転させる。Latch_S223は制御信号LATEN_SがHの状態で、比較器221からの信号がLからHに反転されると、その時点でカウンタ231から出力されているカウンタ値を記憶する。つまり、Latch_S223は、A信号のディジタル値(A信号データ)を記憶する。
その後時刻Tb13において、ランプ信号の変化が終了し、制御信号LATEN_SがLとなる。
時刻Tb19で、ランプ信号のレベルがオペアンプ213の出力信号の値を上回ると、比較器221は、Latch_S223に出力する信号をLからHに反転させる。Latch_S223は制御信号LATEN_SがHの状態で、比較器221からの信号がLからHに反転されると、その時点でカウンタ231から出力されているカウンタ値を記憶する。つまり、Latch_S223は、加算信号(AB信号)のディジタル値(AB信号データ)を記憶する。
その後時刻Tb20において、ランプ信号の変化が終了し、制御信号LATEN_SがLとなる。
S114でCPU101は静止画撮影処理を実行する。図10(b)のTd2においてシャッターボタンが押されたとすると、撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し静止画の撮影条件を設定する。ここでは、撮影制御部118は、静止画モード、ISO感度や露光時間(蓄積時間)を撮像素子100に設定する。その後、図10(b)のTd3で撮影制御部118は、撮像素子100に対して撮影開始の制御信号(撮影トリガ)を送信する。これにより、撮像素子100の画素は蓄積動作を開始する。この時の蓄積時間はTaccであるとする。
S120でCPU101は静止画撮影を実行する。図11(a)のTe2、図11(b)のTf2において、シャッターボタンが押されたとする。撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し静止画の撮影条件を設定する。ここでは撮影制御部118は、静止画モード、ISO感度や露光時間を設定する。その後レリーズタイムラグt_release0後に撮影制御部118は撮像素子100に対し撮影トリガを送信することにより、撮像素子100は蓄積動作を開始する(図11(a)のTe3、図11(b)のTf3)。ここでも蓄積時間はTaccであるとする。
S121で撮影制御部118は、CPU101からの制御に基づき撮像素子100に読み出しトリガを送信し、撮像素子100から静止画データを読み出す(図11(a)のTe4、図11(b)のTf4)。データフロー制御回路301の制御に基づいてRAM制御回路300がRAM120に、読み出された静止画データを書き込む。
S209でDFE119は、CPU101への静止画データの転送を開始する。CPU101から静止画データの要求を受信した撮影制御部118は、データフロー制御回路303に対し、読み出す静止画データのデータサイズ(解像度)を設定し、読み出し開始命令を送信する。データフロー制御回路303はRAM制御回路300を制御し、図14(a)のTg4、図14(b)のTh4、図14(c)のTi4に示すように静止画データを読み出す。この時、データフロー制御回路301は、データ振り分け回路304に、RAM120から読み出された静止画データをデータ出力部306へ出力するように設定する。それにより、データ出力部306を通じて静止画データが出力BとしてCPU101へ出力される。本実施形態では、撮像素子100の出力レートよりデータ出力部306のデータレートが低く、静止画データをDFE119からCPU101へ転送するのに必要な時間が、撮像素子100から静止画データをDFE119に転送するのに要する時間よりも長い。ただし、このようなデータレートの関係は必須ではない。
第1実施形態と同様、本実施形態のデジタルカメラ1000では、静止画撮影に関するモードとして、表示優先モードとレリーズ優先モードを有する。S217でCPU101は、表示優先モードが設定されているか否かを判断し、表示優先モードが設定されていれば処理をS209に、設定されていなければ(レリーズ優先モードが設定されていれば)S218に、処理を進める。
S223でCPU101は静止画撮影処理を実行する。図14(b)のTh1においてシャッターボタンが押されたとすると、撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し静止画の撮影条件を設定する。ここでは、撮影制御部118は、静止画モード、ISO感度や露光時間(蓄積時間)を撮像素子100に設定する。その後、図14(b)のTh2で撮影制御部118は、撮像素子100に対して撮影開始の制御信号(撮影トリガ)を送信する。これにより、撮像素子100の画素は蓄積動作を開始する。この時の蓄積時間はTaccであるとする。
S235で8kデータの読み出し完了を確認すると、S236でCPU101は静止画撮影処理を実行する。図15(b)のTk2においてシャッターボタンが押されたとすると、撮影制御部118はCPU101からの制御に基づき、撮像素子100に対し静止画の撮影条件を設定する。ここでは、撮影制御部118は、静止画モード、ISO感度や露光時間(蓄積時間)を撮像素子100に設定する。その後レリーズタイムラグt_release3後に、撮影制御部118は、撮像素子100に対して撮影開始の制御信号(撮影トリガ)を送信する(図15(a)のTk3)。これにより、撮像素子100の画素は蓄積動作を開始する。この時の蓄積時間はTaccであるとする。
A像のデータはAFデータ圧縮回路309により、予め定められた方法でデータ量を削減(圧縮)された後、データ振り分け回路308に入力される。そして、データ振り分け回路308は、AFデータ圧縮回路309から入力されたA像のデータをデータ出力部306に出力する。そして、データ出力部306は、DFE119の出力Bとして、A像のデータ(AFデータ)をCPU101に出力する。一方、LVデータに含まれるAB像については、RAM120から直接データ振り分け回路308に入力される。データ振り分け回路308は、AB像の画像データをデータ出力部305に出力する。そして、データ出力部305は、DFE119の出力Aとして、AB像のデータ(画像データ)をCPU101に出力する(図17のTI0)。
例えば図17のTI1における静止画撮影指示に基づく静止画撮影がTI2から開始された場合、RAM120に書き込まれた静止画データの読み出し期間と、AFデータの出力期間が重複する。この場合、データフロー制御回路307は、TI4から開始された静止画データの読み出しおよびデータ出力部306からの出力を、AFデータの出力タイミングになった時点(TI5)で中断し、データ出力部306の出力をAFデータに切り替える。データフロー制御回路307は、RAM制御回路300に読み出しを中断させ、データ振り分け回路308の設定を、RAM120の出力ではなく、AFデータ圧縮回路309の出力をデータ出力部306に供給するように切り替える。AFデータの出力が終わると(TI6)、データフロー制御回路307は、RAM120からの静止画データの読み出しおよびデータ出力部306からの出力を再開させる。以後、時刻TI7、TI8でも同様の制御が行われる。
本実施形態では、LVデータをAF用データと画像データとに分離し、別個の出力系統でCPUに転送するようにした。そのため、AF用データの分だけデータ量が減少するため、データ出力部のデータレートが低い場合でも、ライブビュー表示に用いる画像データの送信周期を維持することができる。一方、静止画データとAF用データとは1つの出力系統を共用して出力する。この際、AFデータの出力を優先させることで、AFデータを一定周期で出力することができる。本実施形態は、表示部103の解像度より大きい解像度の動画データを安定した周期で出力する際にも有用である。