以下にデジタルカメラを例として、図面により本発明の実施例を示す。
(システム構成)
図1は本実施形態に係わるデジタルカメラのブロック図であり、図2はカメラの外観図である。
最初に、図1に示されているデジタルカメラのブロック図の各部についての説明をする。
レンズユニット内にあるレンズ(ズーム及びフォーカスレンズ)は、モータドライバ15によって駆動される。モータドライバ15は、信号処理ICの内部に含まれるCPU(Central Processing Unit)135によって制御される。
撮像部は、CCD11、CCD11を駆動するTG(タイミング信号発生器)124、CCDからの出力データから画像信号をサンプリングするCDS121、AGC(アナログゲインコントローラ)122、CCD11からの出力電気信号(アナログ画像データ)をデジタル信号に変換するA/D変換器123から構成されている。ここで、CDS121、AGC122、A/D変換器123及びTG124をAFE(アナログフロントエンド)12と言う。
なお、TG124は、CPU135の制御の元に、画面水平同期信号(HD)と画面垂直同期信号(VD)に基づいて、CCD11、CDS121、AGC122及びA/D変換器123にタイミング信号を供給している。TG124は、マトリックス状に配置された撮像素子を駆動して撮像信号を読出す駆動手段に、撮像素子の読出しの為のタイミングを発生して、駆動手段に供給する。駆動手段は、TG124が生成したタイミングに基づいて、撮像素子に蓄積された電荷の転送を行う。つまり、TG124が生成したタイミングに基づいて、撮像素子に蓄積された電荷は、垂直転送、水平転送が行われる。また、垂直転送、水平転送が行われる際に、TG124が生成したタイミングに基づいて、撮像素子の間引き、電荷の加算等が行われる。
その結果、TG124は、撮像素子数を切り換える機能を有していると言える。
また、TG124は、電子シャッタ出力を行うことができ、電子シャッタの出力本数を変更することで、撮像素子の露光時間を制御する機能を有している。
また、撮像部からのデジタル信号は、信号処理IC13に印加されて、信号処理される。図1の信号処理IC13は、メモリコントローラ131、CCDI/F部132、画像処理部133、リサイズ・フィルタ部134、システム制御を行うCPU135、表示I/F部136、JPEGコーデック部137、画素間演算部138、カードコントローラ部139、通信I/F部140から構成されている。
CCDI/F部132は、画面水平同期信号(HD)と画面垂直同期信号(VD)の出力を行い、その同期信号に合わせてA/D変換器123から入力されるデジタルRGB信号を取り込む。
ここでは、画面水平同期信号(HD)と画面垂直同期信号(VD)は、信号処理IC13から出力される形式をとったが、TG124から出力されるような形式として同期をとるシステムとしてもよい。
モニタリング動作時は、RGBデータを画像処理部133に送り、画像処理部133では、RGBデータをYUVデータに変換し、さらに、リサイズ・フィルタ部134で表示に適したサイズに変換した画像データがSDRAM(Synchronous Dynamic Random Access Memory)17のYUVデータ領域173に出力される。
なお、SDRAM17は、YUVデータ領域173以外に、RAW−RGBデータ領域172及びJPEGデータ領域174を有している。YUVデータ領域173には、YUV形式の画像データが記憶され、RAW−RGBデータ領域172には、撮像部からの生のRGB形式の画像データが記憶され、JPEGデータ領域174には、JPEG形式のデータが記憶される。
モニタリング動作に続く、静止画撮影時は、CCD11の全画素を複数回に分けて転送が行われるため、各フィールドデータはメモリコントローラ131経由でSDRAM17のRAW−RGBデータ領域172に記憶される。
画像処理部133は、システム制御を行うCPU135から設定された画像処理パラメータに基づき、CCDI/F132から送られてきたRGBデータ、又は、SDRAM17に一時保管されたRGBデータをYUVデータに変換処理して出力する。
リサイズ・フィルタ部134は、YUVデータとRGBデータを入力とし、記録するために必要なサイズへのサイズ変換、サムネイル画像へのサイズ変換、表示に適したサイズへのサイズ変換などを行う。このリサイズ・フィルタ部134は、空間フィルタ処理機能も有している、拡大や縮小をした時に発生するギザギザ感やモザイクなどの画質劣化を軽減するために、線形補間、バイキュービック補間などの複数の補間方式が選択可能で、必要な画質や速度に応じて、CPU135によって設定が変更されて、フィルタ処理が行われる。例えば、モニタリング時は高速の処理速度が必要なため、水平のみの線形補間やフィルタOFF(単純間引き)が選択され、静止画撮影時は、解像度が必要なためバイキュービック補間が選択される。
また、リサイズ・フィルタ部134は、リサイズ倍率を1倍に設定することで、リサイズを行わず、フィルタ機能だけ動作させることができる。フィルタの設定としては、空間周波数が高い成分(画像のエッジ成分)だけを取り出すハイパスフィルタや、空間周波数が低い成分だけを取り出して平滑化をするローパスフィルタが設定可能である。
画素間演算部138は、2つの画像データの対応する各画素間の演算を行う。扱う画像データはYUV形式のデータとRGB形式のデータであり、各YUV又は各RGBのデータのbit数は8、12,16bitから選択が可能である。入力画像をAとBとし、出力画像をCとすると以下のような式で演算が行われる。
Clip[ α×A(x,y) + β×B(x,y) ] = C(x,y) ・・・(1)
Clip[ α×A(x,y) × β×B(x,y) ] = C(x,y) ・・・(2)
Clip[ α×A(x,y) / β×B(x,y) ] = C(x,y) ・・・(3)
また、画素間演算部138は、その他、次の式(4)の演算を含む多様な演算が可能である。
Clip[ α×A(x,y) + β ] = C(x,y) ・・・(4)
ただし、-128≦α≦127,-128≦β≦127
x,yは、各画像における水平(x)と垂直(y)の位置である。なお、原点は、画面の中央又は左上等に設定する。
Clip[ ]は、出力画像Cで選択された出力bit数でクリップを行う。
表示I/F部136はSDRAM17に書き込まれた表示用データを表示装置(LCD/TV等)19に送り、撮影画像の表示を行う。この表示装置19は、カメラが内蔵しているLCDに表示することも、TVビデオ信号として出力してテレビに表示することも可能である。
JPEGコーデック部137は、記録時はSDRAM17のYUVデータ領域173に書き込まれたYUV形式の画像データを圧縮して、JPEG符号化されたデータを出力し、再生時は、メモリカード20より読み出したJPEG符号化データを、YUV形式の画像データに伸張して出力する。
カードコントローラ部139は、CPU135の指示により、メモリカード20内データのSDRAMへの読み出しと、SDRAM17上のデータのメモリカードへ20の書き込みを行う。
全体制御部であるCPU135は、起動時に書き換え可能なROM18に格納されたプログラム及び制御データをSDRAM17にロードし、そのプログラムコードに基づいて全体を制御する。CPU135は、操作部14のボタン等による指示、又は図示しないリモコン等の外部動作指示、又はパーソナルコンピュータ等の外部端末からの通信による通信動作指示に従い、撮像動作制御、画像処理装置における画像処理パラメータの設定、メモリコントロール、表示制御を行う。
通信I/F部140は、USB(Universal Serial Bus)回線21を介して、PC(Personal Computer)やプリンタなどとの通信によって、画像ファイルの送受信を行う。また、USB回線21を介して、CPU135の制御プログラムのバージョンアップも、PCからプログラムを受信することで実現している。なお、通信I/F部140は、USB回線以外の回線と接続するようにしてもよい。
操作部14は、図4にある各種ボタンやスイッチに相当し、撮影者が撮像装置の動作指示を行うためのものであり、撮影を指示するレリーズキー、光学ズーム及び電子ズーム倍率を設定するズームボタン、露光モード選択や記録サイズ選択やその他の各種設定を外部から行うための入力手段を備えている。
(通常モード)
静止画の撮影モードは、従来の通常モードの撮影と、高感度撮影モードがる。
最初に、500万画素のデジタルカメラを例として、通常モードの撮影動作についての説明を行う。
図2の撮影/再生切り替えダイアル25を撮影に設定し、電源釦26によってカメラを起動すると、図1のモータドライバ15によって、レンズが撮影可能位置に移動し、LCD(図1の表示装置19)には電子ファインダ機能であるモニタリング映像が表示される。
起動状態から、ズーム望遠釦27を押すことで、ズームレンズが望遠側(以下テレ側)へ移動する。ズーム広角釦28を押すと、ズームレンズが広角側(以下ワイド側)に移動する。
このときのCCDの駆動形式は、図3(A)(画素加算1/4ライン読み出し)である。図3(A)において、白い画素が読み出され、黒い画素は読み出されない。また、読み出された画素は、垂直方向で2つの画素が加算され、「垂直方向で加算された」画素がさらに、水平方向の他の「垂直方向で加算された」画素と加算される。したがって、ラインは1/4に間引かれるが、データの大きさは、1画素のデータの大きさに対して4倍の大きさ(したがって、4倍の明るさとなる。)となっている。
記録画素が2560×1920ピクセルの500万画素のCCDの場合、図3(A)のように、画素加算1/4ライン読み出しを行うことによって、水平画素数は半分になり、垂直画素数は1/8になるため、1280×240画素のデータが出力される。
この画素読み出しや加算転送の制御信号を出しているのが、図1のTG124である。
TG124は信号処理IC13からの画面水平同期信号(HD)と画面垂直同期信号(VD)を動作の起点として、CCD11へ制御信号を出力している。AFE12もTG124からのタイミング信号に同期して、CDS121でCCD出力画像データをサンプリングし、AGC122で増幅し、A/D変換器123でA/D変換を行い、12bitのRGBデータとして出力を行う。CCDI/F132もTG124から出力される画像転送クロックに同期して、RGB形式の画像データを信号処理IC13の中に取り込む。信号処理IC13では、最初に、CCDI/F132で黒レベル調整やホワイトバランス調整を行った後に、ガンマ変換を行って8bitのRGB形式の画像データとして画像処理部133へ画像データを出力する。画像処理部133では、RGB形式の画像データをYUV形式の画像データに変換するYUV変換処理やエッジ強調処理が行われ、リサイズ・フィルタ部134へ出力する。リサイズ・フィルタ部134は、画像処理部133よりCCDの駆動(走査)にほぼ同期して順次送られてくる1280×240画素のYUV形式の画像データに対して、線形補間を行った後にリサンプリングすることで、表示用の640×480画素にリサイズを行い、メモリコントローラ131を介してSDRAM17に出力する。この動作はCCDの読み出しサイクルである60フレーム/秒のサイクルで繰り返される。
表示I/F部136は、上述したように、生成された640×480画素のYUV形式の画像データに、TV表示やLCD表示に必要な制御信号を付加した後に、表示装置であるTVやLCDに出力する。
(オートホワイトバランス)
オートホワイトバランス(以下AWB)制御について説明する。
図1におけるCCDI/F部132は、図4のように画像を分割したそれぞれのブロック毎に、後述するAWB評価値であるRGB毎の積算値(RGB積算値)を算出する。この積算値されたデータを用いてAWBの制御値(Rゲイン、Bゲイン)を決定し、ホワイトバランスをあわせる。
図5は、そのAWB制御を行うためのAWB乗算回路である。この回路はCCDI/F部132と、画像処理部133と、リサイズ・フィルタ部134によって、実現できる回路であり、このAWB乗算回路において、制御が必要な場合は適宜ゲインを設定し、必要ではない場合は、そのゲインを1倍に設定する。
次に、AWBにおけるゲイン算出例を説明する。CCDI/F部132で積算された各ブロックにおけるRGB毎の積算値は、CCDI/F部132内部のレジスタに保存されており、CPU135はそれぞれの積算値を読み出すことができる。この積算値を各色毎にさらに加算したΣR、ΣG、ΣBを算出する。白が白くなるということはR=G=Bとなる状態であるから、以下のようにRゲインとBゲインを算出する。
Rgain=(ΣG/ΣR)
Bgain=(ΣG/ΣB)・・・(5)
Ggain= 1
この式(5)により、算出されたRgain、Bgain及びGgainが、図5におけるRgain45、Bgain46及びGgain47となる。このRgain45、Bgain46及びGgain47を、ホワイトバランスゲインアンプ41、42、43に供給して、入力されたRGBの制御を行う。その結果、AWB乗算回路から、ホワイトバランスがなされた出力R'G'及びB'を得る。
なお、図4及び図5を用いて、ホワイトバランスの基本機能を説明したが、本発明では、これ以外のホワイトバランスの機能を具備したものであってもよい。
モニタリングにおいては、画面垂直同期信号VDに同期して各積算値を読み出し、RゲインとBゲインを算出し、CCDI/F部132のAWB乗算回路にゲインを設定する。
この値は次のフレームで読み出されたデータに対して乗算される。スチルにおいては、インターレース転送される第1及び第2フレームからRGBの積算を行う。この積算結果からAWBゲインを算出し、画像処理部の入力部にあるAWB乗算回路によってAWB制御が行われる。
(通常モードのタイミングチャート)
図6が通常モードの静止画記録の動作を示すタイミングチャートである。垂直同期新信号A、メカニカルシャッタB、露光制御Cの関係を示している。t1までがモニタリング(電子ビューファイター、ライブビューともいう。)期間であり、t1からt2が静止画露光期間(T1)であり、t2からt3が静止画データ転送期間(T2)である。なお、図6では、実際の露光時間T3は、電子シャッタにより、静止画露光期間(T1)よりも、短縮されている。
レリーズ釦30が押される(撮影要求)と、図1におけるCPU135の指令によって、モータドライブ15が作動し、フォーカスレンズが移動し、例えば山登りAFを原理にしたCCD−AFなどの合焦動作が行われる。続いて、CPU135の指令により、TG124は、露光時間設定、静止画露光時間設定などの撮影準備処理が行われ、静止画露光期間T1において、画面垂直同期信号(VD)を起点として記録露光処理が行われる。露光時間T3が経過するとメカシャッタが閉じ(t2)。その後、CCD全画素分のRGBデータは、静止画データ転送期間(T2)に、例えば、図7に示すように4フィールドに分解されてCCDより読み出され(一垂直同期期間に一つのフィールドが転送されるので、4フィールドは、4垂直同期期間で転送される。)、一度、SDRAM17のRAW−RGBデータ領域172に取り込まれる。
なお、モニタリングでは、図3(A)に示されているように、垂直が1/8に間引かれ(且つ、水平方向で他の対応する画素と加算され)て読み出されている。それに対して、静止画データ転送は、垂直1/4を4回に分けて転送する。転送される画素数は16倍に増えているため、転送時間は約0.26秒(1/60秒×16画素)となる。また、静止画データ転送期間に、CCDI/F部132は、図に示すように、オートホワイトバランスのための、RGBの積算処理を行う。
SDRAM17のRAW−RGBデータ領域172に取り込まれたRGB形式の(RAW)データは、信号処理IC13の画像処理部133に送られYUV形式の画像データに変換される。このYUV形式の画像データは、リサイズ・フィルタ部134で記録画素数に合わせたサイズに変換された後に、JPEG圧縮処理を行い、ヘッダ情報を付加してJPEGファイルとしてメモリカード20に保存される。
(高感度モードのタイミングチャート)
つぎに本発明の高感度モード撮影の露光タイミングを、従来の画面加算を行う場合のタイミングチャート(図8)と本発明の高感度モード撮影のタイミングチャート(図9)を比較することで説明する。
図8は、従来の画面加算を行う場合における画面加算動作のタイミングチャートであり、垂直同期新信号A、メカニカルシャッタB、露光制御Cの関係を示している。
図8の場合は、静止画露光と静止画転送とをそれぞれ2回行って、メモリ(SDRAM)に取り込まれた2画面分のRGBデータを加算するものである。画素数が少ないシステムにおいては、静止画の転送時間が短いために、2回の露光のタイムラグが大きな問題とはならなかった。しかし500万画素では、静止画の転送時間だけで上述したように、約0.26秒かかってしまうため、露光前準備など追加すると、約0.3秒の露光のタイムラグが発生してしまう。結果として長時間露光をしているときと同じようにぶれが発生してしまう。
本発明のタイミングチャートが図9である。高精細画である静止画用の露光を開始する前にまず高感度用の露光を行う。
図2のレリーズ釦30で撮影者によって撮影要求が入力されると、AFが行われる。次に図9の(1)の期間で高感度用の露光時間の設定が行われる(この設定は、CPU135がTG124に対して行い、TG124はこの設定にしたがって露光時間制御を行う。)。図9では、(2)の期間と(3)の期間が高感度用の露光時間と設定されている。(1)、(2)及び(3)の期間は、垂直同期期間であるので、高感度用の露光時間は、60フレーム/秒の2フレーム転送期間分であり、約33msecが設定されている。VD信号の終了時点(t1)から露光(電荷蓄積)が始まる。続いて(3)の期間にCPU135よりTG124に対して高感度用転送モードの設定と静止画記録用の露光時間の設定が行われる。
(4)の期間では高感度用のデータ転送が行われる。このときの読み出しデータは、図3(B)の画素加算1/2ライン読み出しモードである。水平と垂直で画素を加算して読み出しているので、感度がほぼ4倍になっている。読み出し画素数は、水平画素数が半分(2画素が加算されるため半分となる。)になり、垂直画素数が1/4(画素の半分が間引かれ、さらに、2画素が加算されるので1/4となる。)になるため、1280×480画素が出力される。図3(A)に示されている通常のモニタリングの場合よりも垂直ラインが2倍になっているため、読み出しの時間も2倍の約33msecとなる。このデータはCCDI/F部132を介してRGBデータとしてSDRAM17に保存される。
この(4)の期間の高感度用読み出し時に、高感度用RGBデータからCCDI/F部132でAWB用のRGB積算が行われている。(3)の期間にRGB積算開始時期の設定を行うことで次のフレームである(4)の期間に転送されるデータからRGBの積算を行うことができる。この高感度用RGBデータからAWB用RGB積算を作成することは、高感度用データの方が通常感度の静止画用データの値よりも大きいため、ノイズの影響が少なくなり、安定したAWB制御ができるようになるというメリットがある。さらに、このAWB制御用のRゲインとBゲインは、静止画用データ転送時にCCDI/F部132で乗算することができるため、後段で加算前にAWBゲインをかけるための処理が不要になり処理時間の短縮が図られる。
さらに、この(4)の期間の高感度用のデータ読み出しと平行して、(3)の期間で設定された高精細画である静止画用の露光時間によって露光が行われている。図9では、(4)の期間の1垂直同期期間(1VD期間)分の露光が行われている(同じ、1VD期間図であっても、(1)、(2)、(3)の期間に対して、(4)の期間は2倍である。)ので、約33msecとなっている。この期間にCPU135よりTG124に対して静止画転送モード(図7)の設定が行われる。
(4)の期間の終了時にメカシャッタが閉じられ、(5)の期間から図7に示すような4分割インターレース転送が行われる。転送されたデータはCCDI/F部132を介して順次SDRAM17に書き込まれる。転送が完了すると,メカシャッタが開かれ、TG124に対してモニタリング用の転送モードが設定され、次回撮影が可能になる。
以上のように、従来の複数画面加算(図8)では2回の露光間の時間的なずれ(タイムラグ)が大きいため、手ブレが発生してしまう問題や、動いているものを撮影できないなどの問題があった。しかし本発明のように読み出しが高速になるモードを最初の露光データに使うことで、タイムラグを短くすることが可能にすることができた。
図9では、高感度用露光時間と静止画用露光時間をいずれも約33msecとしているが、これに限ったものではない。
図10のように、静止画用露光時間を1VD以上に設定することも可能であるし((4)の期間に(5)の期間が付加されている。(5)の期間は、データ転送は行わない。)、同様に高感度用の露光時間をさらに長くすることも可能である。これは要求される画質によって切り換えてもよい。例えば高解像度が必要な場合は、静止画用のデータの割合を多くするために静止画用露光を長くすることができる。
図11は、高感度用データ転送と静止画用露光を平行して行うことのできないシステムにおけるタイミングチャートである。つまり、露光手段が高感度用データを得るために撮像素子に対して露光を行い、さらに、転送手段が高感度用データを転送した後に、高精細画像データを得るために撮像素子に対して露光を行い、さらに、転送手段が高精細画像データを転送する場合である。この場合でも図8の従来システムに比べるとタイムラグは少なくなっていることが判る。また、(1)の期間は高感度用データの露光時間を設定するための時間であるため、通常の1VD期間分の時間は必要ない。そのため、TG設定変更、動作クロック変更、VD周期を変更できるシステムにおいては、この1VD期間を短くすることで、2回の露光タイミングのずれをより短くすることができる。
(画像データの加算)
ここでは、取り込まれた2つの画像データの加算処理について、3つの場合について説明する。RGBデータでの加算、静止画用RGBデータからエッジ情報を生成して行う加算及びYUV変換後のYUVデータによる加算について、順次説明する。
(RGBデータでの加算)
高感度用RGBデータとして1280×480画素、静止画用データとして2560×1920画素の2画面分のRGBデータがSDRAMに保存されている。
2560×1920画素で静止画を記録する場合は、最初に高感度用データ(1280×480画素)を2560×1920画素に拡大する。SDRAM17に保存されている高感度用RGBデータを読み出して、リサイズ・フィルタ部134に送る。リサイズ・フィルタ部134では、入力部でAWB乗算回路(図5)によってAWBのゲインが乗算される。このゲインは、上記高感度用データ転送時に取得したRGB積算値から算出した値を用いる。AWBゲインを乗算したRGBデータは、ローパスフィルタをかけながら拡大処理を行い、結果をSDRAM17に書き戻す。ここでローパスフィルタとしたのは、図3(B)のように、読み出しは一部のデータを間引いて読み出しており、YUV変換時に偽色の発生や直線がぎざぎざになる問題が発生する可能性ある。そのため感度を高めるために用いるデータは、ローパスフィルタをかけるようにする。
なお、静止画用データは、高感度用データのRGB積算からAWBゲインを算出し、静止画転送時にCCDI/F部132においてAWBゲイン乗算が行われている。AWBゲインの乗算が行われていない場合は、リサイズ・フィルタ部134でAWB乗算処理だけを行うこともできるが、この場合は処理時間が延びてしまうため、予めCCDI/F部132で乗算しておくことが望ましい。
上述した処理の結果、高感度用RGBデータと静止画用RGBデータとは、いずれも2560×1920画素、12bit、AWBゲインが乗算された状態にある。
次に2つの画像は、画素間演算部138に送られる。式(1)において、静止画用データを画像A、高感度用データを画像B、加算結果と画像Cとして加算される。ここでは加算結果に対して12bitでクリップされる。画像Cは再びSDRAM17に書き戻される。ここではα、βは1としたが、ローパスフィルタをかけたことによってノイズが少なくなった画像Bのβを1よりも大きくすることで、より感度アップをするようにしてもよい。
その後の処理は、通常撮影と同じプロセスで処理される。SDRAM17に書き戻された画像CのRGBデータは、画像処理部133に送られてエッジ強調処理やカラー調整などを行った後に、YUV形式の画像データに変換され、SDRAM17に書き戻される。YUV形式の画像データはJPEG圧縮され、ヘッダ情報付加などが行われた後にメモリカードに保存される。
ここで、例として、解像度を上げずに、感度だけを上げて静止画の記憶する方法を説明する。
640×480画素で静止画を記録する場合は、最初に、図7に示されている通常静止画(2560×1920画素)を、図3(B)に示されている高感度データと同じサイズ(1280×480画素)に縮小する。SDRAM17に保存されている静止画RGBデータを読み出して、リサイズ・フィルタ部134に送る。静止画用RGBデータは、CCDI/F部132ですでにAWBゲインが乗算されているので、リサイズ・フィルタ部134ではゲインの乗算は行わない。入力されたRGBデータは、各色ごとに例えば線形補間フィルタなどの補間フィルタをかけながらリサンプリングを行って縮小を行い、SDRAM17に書き戻す。
次に、高感度用データをリサイズ・フィルタ部134に読み込む。入力部でAWB乗算回路(図5)によってAWBのゲインが乗算され、ローパスフィルタをかけ、リサイズ処理を行わずにSDRAM17に書き戻す。
高感度用RGBデータと静止画用RGBデータとは、いずれも1280×480画素、12bit、AWBゲインが乗算された状態のデータを画素間演算部138に送る。
式(1)において、静止画用データを画像A、高感度用データを画像B、加算結果と画像Cとして加算される。ここでは加算結果に対して12bitでクリップされる。画像Cは再びSDRAM17に書き戻される。
その後の処理は、通常撮影と同じプロセスで処理される。SDRAM17に書き戻された画像CのRGBデータは、画像処理部に送られてエッジ強調処理やカラー調整などを行った後にYUVデータに変換され、そのままリサイズ・フィルタ部134に送られ、YUVの640×480画素としてSDRAM17に書き戻される。YUVはJPEG圧縮され、ヘッダ情報付加などが行われた後にメモリカードに保存される。
この方式では、高感度用データと静止画用データの露光時間がいずれも33msec(=1/30sec)だったとした場合、トータル露光時間は約66msecとなるが、高感度用データは感度が4倍になっているため、図6のような従来の撮影システムで66msecの露光をした場合の2.5倍の感度が得られている。手ブレしにくい高感度で高解像度の撮像が実現される。
また、感度をさらに高くするために、高感度用データの露光時間を長くすることがより効果的である。高感度用露光時間を66msec、静止画用露光時間を33msecとすると、トータル露光時間は約100msecとなる。これは従来の撮影システムでは約300msecの露光量に相当する。つまり露光時間は1/3となり、感度は3倍が得られている。
また640×480画素で静止画を記録する場合は、高感度用データを図3(A)の画素加算1/4ライン読み出しモードを使うようにしてもよい。この読み出しモードでの読み出し画素数は1280×240画素である。この場合は、高感度データを1280×480画素にリサイズし、通常静止画データを1280×480画素に縮小した後に加算処理をすることになる。
この画素加算1/4ライン読み出しモードは、1/60secサイクルなので、図9の(4)の期間が短くでき、2回の露光開始タイミングのずれをさらに短くすることができる。
(静止画用RGBデータからエッジ情報を生成して行う加算)
この加算の方式は、静止画用RGBデータを、解像度を高めるためのエッジ情報として用いる方式である。最初に高感度用データ(1280×480画素)を2560×1920画素に拡大する。SDRAM17に保存されている高感度用RGBデータを読み出して、リサイズ・フィルタ部134に送る。リサイズ・フィルタ部134では、入力部でAWB乗算回路(図5)によってAWBのゲインを乗算する。このゲインは、上記高感度用データ転送時に取得したRGB積算値から算出した値を用いる。AWBゲインを乗算したRGBデータは、ローパスフィルタをかけながら拡大処理を行い、その結果をSDRAM17に書き戻す。ここでローパスフィルタとしたのは、上記同様にYUV変換時に偽色の発生や直線がぎざぎざになる問題が発生する可能性を抑えるためである。
次に、静止画用RGBデータをリサイズ・フィルタ部134へ送る。静止画用RGBデータはすでにAWBのゲイン乗算が済んでいるので、ここではゲインは1倍とする。この静止画用RGBデータに対して、ハイパスフィルタをかけてエッジ成分だけを取り出すし、リサイズを行わずにSDRAM17に書き戻す。
2つの画像は画素間演算部に送られる。式(1)において、静止画用データを画像A、高感度用データを画像B、加算結果と画像Cとして加算される。ここでは加算結果に対して12bitでクリップされる。画像Cは再びSDRAM17に書き戻される。
その後の処理は、通常撮影と同じプロセスで処理される。SDRAM17に書き戻された画像CのRGBデータは、画像処理部に送られてエッジ強調処理やカラー調整などを行った後にYUVデータに変換され、SDRAM書き戻される。YUVはJPEG圧縮され、ヘッダ情報付加などが行われた後にメモリカード20に保存される。
この方法は、高感度用データによって感度アップを行い、静止画用データで解像度をアップさせている。
高感度用データと静止画用データの露光時間がいずれも約33msecだったとした場合、トータル露光時間は約66msecとなるが、高感度用データは感度が4倍になっているため、図6のような従来の撮影システムでは約166msecの露光量に相当する。解像度は静止画用のデータから得られ、露光時間は1/2.5(=66/166)の時間となり2倍の感度が得られている。手ブレしにくい高感度で高解像度の撮像が実現できる。
また、感度をさらに高くするために、高感度用データの露光時間を長くすることがより効果的である。高感度用露光時間を66msec、静止画用露光時間を33msecとすると、トータル露光時間は約100msecとなる。これは従来の撮影システムでは約266msecの露光量に相当する。露光時間は1/2.6となり、感度は2.6倍が得られている。
上記処理において、静止画データからハイパスフィルタ出力を得るため、静止画データにノイズがあった場合、そのノイズも取り出してしまう可能性がある。そのためリサイズ・フィルタ部134による処理の前に、ノイズ軽減を行うこともできる。ノイズ軽減処理は画素間演算部で行うことができる。ランダムノイズは通常レベルが小さい。そのため式(4)を用いて、βにマイナスの値を入れることで低輝度部のノイズを除去してしまう。ノイズの除去された画像により解像情報がフィルタ処理によって取り出され、より高画質な画像が得られる。
(YUV変換後のYUVデータによる加算)
高感度用RGBデータとして1280×480画素、静止画用データとして2560×1920画素の2画面分のRGBデータがSDRAMに保存されている。
最初に高感度用データ(1280×480画素)を画像処理部133に送り、CCDI/F部132のRGB積算データをもとに算出されたAWBゲインによってAWB乗算処理が行われた後に、カラー調整などを行ってYUVデータに変換を行う。YUVデータはそのままリサイズ・フィルタ部134に送られ、ローパスフィルタをかけながら2560×1920画素に拡大処理を行い、結果をSDRAM17に書き戻す。ここでローパスフィルタとしたのは、図3(B)のように、読み出しは一部のデータを間引いて読み出しており、線がぎざぎざになる問題などが発生する可能性あるため、ローパスフィルタをかけるようにする。
次に、静止画用RGBデータを画像処理部133に送る。静止画用データは、高感度用データのRGB積算からAWBゲインを算出し、静止画転送時にCCDI/F部132においてAWBゲイン乗算が行われているため、ここではAWB乗算処理は行わず、カラー調整やエッジ生成処理などを行ってYUVデータに変換する。YUVデータは、リサイズ・フィルタ部134に送られ、ハイパスフィルタがかけられ、解像成分(エッジ成分)だけを取り出し、拡大縮小処理は行わずにSDRAM17に書き戻す。
ここまでで、高感度用RGBデータと静止画用RGBデータとは、いずれも2560×1920画素のYUVデータとなっている。
次に、2つの画像のYデータだけを画素間演算部138に送られる。人間の目は、色情報の解像力が弱く、解像度に影響するのは輝度(Y)データなので、Yデータだけを処理する。
式(1)において、静止画用Yデータを画像A、高感度用Yデータを画像B、加算結果Yデータと画像Cとして加算される。ここでは加算結果に対して8bitでクリップされる。画像Cは再びSDRAM17に書き戻される。
その後の処理は、通常撮影と同じプロセスで処理される。SDRAM17に書き戻された画像CのYデータと高感度用データから作成したUVデータを使って、リサイズ・フィルタ部で記録に必要なサイズにリサイズを行い、JPEGコーデック部137でJEPG圧縮、ヘッダ情報付加を行って後にJPEG画像ファイルとしてメモリカード20に保存される。
この方式は、第2の方式と同様に、高感度用データによって感度アップを行い、静止画用データで解像度をアップさせている。
高感度用データと静止画用データの露光時間がいずれも約33msecだったとした場合、トータル露光時間は約66msecとなるが、高感度用データは感度が4倍になっているため、図5のような従来の撮影システムでは約166msecの露光量に相当する。解像度は静止画用のデータから得られ、露光時間は1/2.5(=66/166)の時間となり2倍の感度が得られている。手ブレしにくい高感度で高解像度の撮像が実現できる。
また、感度をさらに高くするために、高感度用データの露光時間を長くすることがより効果的である。高感度用露光時間を66msec、静止画用露光時間を33.msecとすると、トータル露光時間は約100msecとなる。これは従来の撮影システムでは約266msecの露光量に相当する。露光時間は1/2.6となり、感度は4倍が得られている。
(機能構成ブロック)
本発明の撮像装置は、例えば、図12に示されているブロックを有している。つまり、露光手段51、駆動手段・画素数切換手段52、転送手段53、信号処理部54及びSDRAM17である。また、信号処理部54は、合成手段541、高域周波数通過フィルタ542、サイズ変換手段543、減算手段544及びホワイトバランス調整手段545を有している。
露光手段51は、撮像素子であるCCD11の露光を行う。駆動手段・画素数切換手段52は、CCD11を駆動して撮像信号を読出したり、CCD11から読み出す画素数を切り換える。転送手段53は、読みとれた撮像信号を信号処理部54に転送する。
また、信号処理部54は、転送された画像データを処理する。例えば、合成手段541は、複数の画像データを合成する。高域周波数通過フィルタ542は、画像データに対して、高域周波数通過フィルタ処理を行う。サイズ変換手段543は、画像データのサイズを変換する。減算手段544は、画像データから所定の値を減算する。ホワイトバランス調整手段545は、画像データに対して、ホワイトバランスの調整を行う。
SDRAM17は、信号処理部54が処理した結果の画像データを格納し、又は、信号処理部54が処理する画像データを格納している。
(撮像方法)
本発明の撮像方法は、図13に示されている処理フローを有している。
信号処理ステップS15に至るまで、二つの処理フローのルートがある。一つは、高感度画像データを得るための処理であり、他方は、高精細画像データを得るための処理である。
高感度画像データを得るための処理は、高感度画像用画素切替ステップS11、高感度画像用露光ステップS12、高感度画像用駆動ステップS13及び高感度画像用画像転送ステップS14である。
高感度画像用画素切替ステップS11は、高感度画像データを得るために、撮像素子に対して、駆動手段により、間引かれる画素及び加算される画素を設定する(例えば、図3(A))。この設定は、CPU135により、TG124に設定される。
高感度画像用露光ステップS12は、マトリックス状に配置された撮像素子であるCCDを露光するステップであり、高感度画像用駆動ステップS13は、露光されたCCDに対して、駆動手段が撮像信号を読出すステップであり、高感度画像用画像転送ステップS14は、読み出した撮像信号を信号処理部に転送するステップである。
同様に、高精細画像データを得るための処理は、高精細画像用画素切替ステップS21、高精細画像用露光ステップS22、高精細画像用駆動ステップS23及び高精細画像用画像転送ステップS24である。
高精細画像用画素切替ステップS21は、高精細画像データを得るために、撮像素子に対して、駆動手段により、間引かれる画素及び加算される画素を設定する(例えば、図7)。この設定は、CPU135により、TG124に設定される。
高精細画像用露光ステップS22は、マトリックス状に配置された撮像素子であるCCDを露光するステップであり、高精細画像用駆動ステップS23は、露光されたCCDに対して、駆動手段が撮像信号を読出すステップであり、高精細画像用画像転送ステップS24は、読み出した撮像信号を信号処理部に転送するステップである。
なお、高感度画像用画素切替ステップS11は、全部又は一部の撮像素子から撮像信号を読出して、所定の位置関係にある複数の前記撮像素子からの撮像信号の加算を行って、M(N>M)個の画素データ(高感度画像データ)得るように切り換える。一方、高精細画像用画素切替ステップS21は、全部又は一部の前記撮像素子から前記撮像信号を読出して、O(N≧O>M)個の画素データ(高精細画像データ)を得るように切り換える。
なお、高感度画像用画像転送ステップS14における転送処理の後に、高精細画像用画像24における転送処理が行われる。
また、高感度画像用駆動ステップS13の駆動処理と、高精細画像用露光ステップS22における露光処理とは、一部重複するようにしてもよい。
また、高感度画像用画像転送ステップS14の後に、高精細画像用露光ステップS22における露光処理を行うようにしてもよい。
高感度画像用画素切替ステップS11、高感度画像用露光ステップS12、高感度画像用駆動ステップS13及び高感度画像用画像転送ステップS14で得られた高感度画像データと、高精細画像用画素切替ステップS21、高精細画像用露光ステップS22、高精細画像用駆動ステップS23及び高精細画像用画像転送ステップS24で得られた高精細画像データとは、それぞれ、信号処理ステップS15で、必要に応じて、画像サイズ変換、減算及びホワイトバランス調整等の信号処理が行われる。
その後、高感度画像データ及び高精細画像データは、合成ステップS16で合成される。
なお、ホワイトバランス調整は、高感度画像データにより行われるのが好ましい。
また、減算及びホワイトバランス調整が行われる場合は、ホワイトバランス調整後にホワイトバランス調整が行われる。
高感度画像データを拡大して、高精細画像データと同じサイズにして、合成するようにしてもよい。
以上の通り、本発明は、読み出し時間が短い高感度低解像度画像と、読み出し時間が相対的に低感度高解像度画像とを加算すること、及び読み出しタイミングの工夫することで、高感度で高解像度の撮影が可能となり、手ブレ機構などを追加しなくても手ブレしにくい撮像装置が実現できる。また高感度のデータからホワイトバランスのデータを取得することで、安定したホワイトバランスが実現できる。