<第1実施形態の説明>
図1は、撮像装置の一例である第1実施形態の電子カメラの構成例を示す図である。
電子カメラ1は、撮像光学系2と、固体撮像素子3と、画像処理エンジン4と、メモリ5と、記録I/F6と、モニタ7と、操作部8とを有している。ここで、固体撮像素子3、メモリ5、記録I/F6、モニタ7および操作部8は、それぞれ画像処理エンジン4と接続されている。
撮像光学系2は、例えばズームレンズやフォーカスレンズを含む複数のレンズで構成されている。なお、簡単のため、図1では撮像光学系2を1枚のレンズで図示する。
固体撮像素子3は、撮像光学系2を通過した光束による被写体の結像を撮像するデバイスである。第1実施形態の固体撮像素子3は、シリコン基板上にCMOS(相補性金属酸化膜半導体)プロセスを使用して形成されたXYアドレス型の固体撮像素子(CMOSイメージセンサ)である。なお、固体撮像素子3の構成例については後述する。
ここで、電子カメラ1の撮影モードにおいて、固体撮像素子3は、操作部8の入力に応じて、不揮発性の記憶媒体9への記録を伴う静止画像および動画像の撮影を実行する。また、固体撮像素子3は、撮影待機時にも所定間隔ごとに観測用の画像(スルー画像)を連続的に撮影する。時系列に取得されたスルー画像のデータ(あるいは上記の動画像のデータ)は、モニタ7での動画表示や画像処理エンジン4による各種の演算処理に使用される。
また、第1実施形態の固体撮像素子3は、各画素の電気信号を非加算で読み出す動作モード(通常読出モード)と、複数の画素から電気信号を加算間引きして読み出す動作モード(加算間引き読出モード)を有している。上記の加算間引き読出モードでは、通常読み出しモードで全画素読み出しする場合と比べて、画像のサイズが小さい縮小画像が固体撮像素子3から読み出される。なお、加算間引き読出モードは、例えば、スルー画像の撮影時、動画像の撮影時、あるいは静止画像の高速連写時に選択される。
画像処理エンジン4は、電子カメラ1の動作を統括的に制御するプロセッサである。例えば、画像処理エンジン4は、スルー画像の信号を用いて、オートフォーカス(AF)、自動露出(AE)の制御を行う。
また、画像処理エンジン4は、画像処理部の一例として、画像データに対して各種の画像処理(例えば、色変換処理、階調変換処理、ホワイトバランス調整処理、ノイズ除去処理、輪郭強調処理など)を施す。
メモリ5は、画像処理の前工程や後工程で画像のデータを一時的に記憶する。例えば、メモリ5は、揮発性の記憶媒体であるSDRAMである。
記録I/F6は、不揮発性の記憶媒体9を接続するためのコネクタを有している。そして、記録I/F6は、コネクタに接続された記憶媒体9に対してデータの書き込み/読み込みを実行する。上記の記憶媒体9は、ハードディスクや、半導体メモリを内蔵したメモリカードなどで構成される。なお、図1では記憶媒体9の一例としてメモリカードを図示する。
モニタ7は、各種の画像を表示する表示デバイスである。例えば、モニタ7は、画像処理エンジン4の制御により、撮影モード下でのスルー画像の動画表示(ビューファインダ表示)を行う。また、操作部8は、画像の撮影指示や各種モードの切り替え指示等をユーザから受け付ける。
次に、図2を参照しつつ、第1実施形態の固体撮像素子3の構成例を説明する。
固体撮像素子3は、画素部11と、複数の水平制御信号線12と、垂直走査回路13と、複数の垂直信号線14と、信号出力部の一例である信号出力回路15と、撮像素子制御回路16とを有している。ここで、撮像素子制御回路16は、垂直走査回路13、信号出力回路15に対して制御信号を供給する。なお、上記の制御信号は、電子カメラ1の画像処理エンジン4から供給されてもよい。上記の場合には、固体撮像素子3から撮像素子制御回路16を省略することができる。
画素部11は、入射光を電気信号に変換する複数の画素PXを有している。画素部11の画素PXは、受光面上で第1方向D1および第2方向D2にマトリクス状に配置されている。以下、第1方向D1および第2方向D2を、行方向D1および列方向D2とも称する。なお、図2では画素PXの配列を簡略化して示すが、実際の固体撮像素子の受光面にはさらに多数の画素が配列されることはいうまでもない。
ここで、各々の画素PXの前面には、それぞれが異なる色成分の光を透過させる複数種類のカラーフィルタが所定の色配列で配置されている。そのため、画素PXは、カラーフィルタでの色分解によって各色に対応する電気信号を出力する。例えば、第1実施形態では、赤色(R)、緑色(Gr,Gb)、青色(B)のカラーフィルタが2行2列のベイヤ配列にしたがって各画素PXに配置されている。これにより、画素部11は、撮影時にカラーの画像を取得できる。以下、赤(R)、緑(Gr、Gb)、青(B)のフィルタを有する画素PXを、それぞれ赤画素(R)、青画素(B)、緑画素(Gr、Gb)とも称する。
行方向D1に着目した場合、例えば、画素部11の奇数行では、赤画素(R)と、緑画素(Gr)とが交互に配置されている。また、例えば、画素部11の偶数行では、緑画素(Gb)と、青画素(B)とが交互に配置されている。
列方向D2に着目した場合、例えば、画素部11の奇数列では、緑画素(Gb)と、赤画素(R)とが交互に配置されている。また、例えば、画素部11の偶数列では、青画素(B)と、緑画素(Gr)とが交互に配置されている。なお、本明細書では、Gr、Gbのカラーフィルタを総称して緑(G)のフィルタと称することもあり、緑画素(Gr、Gb)を総称して緑画素(G)と称することもある。
また、画素部11の各行には、垂直走査回路13に接続された水平制御信号線12がそれぞれ配置されている。各々の水平制御信号線12は、垂直走査回路13から出力される制御信号(後述の選択信号φSEL、リセット信号φRST、転送信号φTX)を、行方向D1に並ぶ画素PXにそれぞれ供給する。
また、画素アレイの各列には、垂直信号線14がそれぞれ配置されている。列方向D2に配置された複数の画素PXは、列毎に設けられた垂直信号線14により互いに接続されている。すなわち、画素部11は、同じ列に配置された複数の画素PXからの電気信号を共通の垂直信号線14を介して出力する。なお、各々の垂直信号線14の一端(図2の下側)は信号出力回路15に接続されている。
ここで、図3を参照しつつ、図2の画素PXの回路構成例を説明する。
画素PXは、フォトダイオードPDと、転送トランジスタTXと、リセットトランジスタRSTと、増幅トランジスタAMIと、増幅部AMPと、選択トランジスタSELと、フローティングディフュージョンFDとをそれぞれ有している。
フォトダイオードPDは、入射光の光量に応じて光電変換により信号電荷を生成する。転送トランジスタTXは、転送信号φTXの高レベル期間にオンし、フォトダイオードPDに蓄積された信号電荷をフローティングディフュージョンFDに転送する。
転送トランジスタTXのソースはフォトダイオードPDであり、転送トランジスタTXのドレインはフローティングディフュージョンFDである。フローティングディフュージョンFDは、例えば、半導体基板に不純物を導入して形成された拡散領域である。なお、フローティングディフュージョンFDは、増幅トランジスタAMIのゲートと、リセットトランジスタRSTのソースとにそれぞれ接続されている。
リセットトランジスタRSTは、リセット信号φRSTの高レベル期間にオンし、フローティングディフュージョンFDを電源電圧VDDにリセットする。また、増幅トランジスタAMIは、ドレインが電源電圧VDDに接続され、ゲートがフローティングディフュージョンFDにそれぞれ接続され、そのソース電極が出力ノードとして定電流源ISSに接続される。増幅トランジスタAMIによってソースフォロアが構成されるので、増幅トランジスタAMIのソースには、フローティングディフュージョンFDの電位に応じた電圧が生じる。
増幅部AMPは、加算間引き読出モードで重み付け加算を行うときに、画素PXごとのゲインを調整するための可変ゲインアンプである。増幅部AMPの入力は、増幅トランジスタAMIのソースに接続されており、増幅部AMPの出力は、選択トランジスタSELのドレインに接続されている。
また、選択トランジスタSELは、選択信号φSELの高レベル期間にオンし、増幅部AMPの出力を垂直信号線14に接続する。
なお、画素PXのリセットトランジスタRSTがオンした状態では、ノイズ成分を含む暗信号が画素PXから垂直信号線14に読み出される。また、上記のフローティングディフュージョンFDに転送された電荷に基づいて、ノイズ成分および受光成分を含む明信号が画素PXから垂直信号線14に読み出される。
図2に戻って、信号出力回路15は、画素部11から画素PXの電気信号を行方向(D1)に向けて読み出す回路である。信号出力回路15は、カラムコンデンサ21と、水平加算部22と、カラムアンプ23と、サンプルホールド部24と、カラムADC25と、水平データバス26と、データレジスタ27とを含む。カラムコンデンサ21は、1本の垂直信号線14に対してそれぞれ1つずつ設けられている。
水平加算部22は、隣接する奇数列の垂直信号線14の間を接続する複数の加算制御スイッチADD1と、隣接する偶数列の垂直信号線14の間を接続する複数の加算制御スイッチADD2と、各々の垂直信号線14に設けられる複数の列スイッチLSWとを有している。加算制御スイッチADD1のオン/オフの切り替えにより、奇数列の画素PXの電気信号が行方向(D1)に加算される。また、加算制御スイッチADD2のオン/オフの切り替えにより、偶数列の画素PXの電気信号が行方向(D1)に加算される。なお、全画素読み出しを行う場合、加算制御スイッチADD1、ADD2はいずれもオフとなる。
カラムアンプ23、サンプルホールド部24およびカラムADC25とは、1本の垂直信号線14に対してそれぞれ1組ずつ設けられている。上記の各組において、カラムアンプ23、サンプルホールド部24およびカラムADC25はそれぞれ直列に接続されている。
カラムアンプ23は、垂直信号線14を介して画素PXから出力される電気信号を反転増幅する。サンプルホールド部24は、入力されたアナログ信号(明信号または暗信号)を所定のタイミングでサンプリングし、サンプリングしたアナログ信号を所定の期間ホールドして後段のカラムADC25に出力する。カラムADC25は、入力された明信号および暗信号をA/D変換する。
水平データバス26は、信号出力回路15内に1つのみ設けられる。水平データバス26は、各々のカラムADC25の出力と接続されており、カラムADC25でA/D変換された後の画像信号をデータレジスタ27に出力する。データレジスタ27は、異なる列から読み出した加算間引き後の画像信号を必要に応じて合成する。データレジスタ27の出力は、画像処理エンジン4に接続されている。
ここで、上記の固体撮像素子3を加算間引き読出モードで動作させる場合の読み出し例を説明する。一例として、画素部11の4×4画素の注目領域(図2において二点鎖線で示す範囲)を加算間引きで読み出す場合、以下の動作が行われる。なお、上記の注目領域で加算間引きして得た信号値は、縮小画像の1画素の信号値に相当する。以下、縮小画像の1画素を標本点とも称する。
注目領域の4つの赤画素(R)を加算間引きする場合、注目領域の奇数列の垂直信号線14に対応する加算制御スイッチADD1をオンする。また、上記の垂直信号線14に対応する列スイッチLSWのうちの1つをオンし、それ以外の列スイッチLSWをオフにする。そして、注目領域の2つの奇数行の選択信号φSELを同時に高レベルにする。これにより、注目領域内の4つの赤画素の信号はまとめて読み出しされる。
同様に、注目領域の4つの青画素(B)を加算間引きする場合、注目領域の偶数列の垂直信号線14に対応する加算制御スイッチADD2をオンする。また、上記の垂直信号線14に対応する列スイッチLSWのうちの1つをオンし、それ以外の列スイッチLSWをオフにする。そして、注目領域の2つの偶数行の選択信号φSELを同時に高レベルにする。これにより、注目領域内の4つの青画素の信号はまとめて読み出しされる。
注目領域の8つの緑画素(G)を加算間引きする場合、例えば、4つの緑画素(Gb)と、4つの緑画素(Gr)とをそれぞれ別々に加算間引きした後、データレジスタ27で最終的に両者を合成すればよい。
また、加算間引き読出モードでは、水平加算部22にて1行ごとの水平加算のみを行い、注目領域の列方向(D2)の加算はデータレジスタ27で行ってもよい。なお、上記の注目領域のサイズは一例であり、適宜変更できることはいうまでもない。
また、加算間引き後の画像信号のゲインは、カラムアンプ23で調整してもよく、画素PXの増幅部AMPで予め加算前に調整してもよい。なお、縮小画像の各色信号のサンプル重心を揃えるために重み付け加算を行う場合、画素PXの増幅部AMPでそれぞれゲインを調整する必要がある。
(実施例1)
以下、実施例1として、加算間引き読出モードでの電子カメラ1の動作例を説明する。実施例1では、RGBのカラーフィルタをベイヤ配列で配置した固体撮像素子3から、R,Gr(奇数行のG),Gb(偶数行のG),Bの4種類の画像信号を加算間引きで読み出す(図4参照)。なお、全画素読み出し時の画像サイズをW×Hとしたとき、実施例1ではW/4×H/4の画像サイズの縮小画像を読み出すものとする。
図5は、固体撮像素子3での画素位置と各色画素との対応関係とを示す図である。固体撮像素子3の各色画素の座標は、R(i,j),G(i+1,j),G(i,j+1),B(i+1,j+1)…のように表記される。なお、実施例1において、縮小画像の標本点(x,y)に対応する信号値は、R’(x,y),Gr’(x,y),Gb’(x,y),B’(x,y)…のように表記される。
実施例1での固体撮像素子3の加算間引き読み出しは、撮像素子制御回路16の制御により、以下のように行なわれる。縮小画像の標本点(x,y)に対応する4つの信号値は、いずれも標本点に対応する4×4画素の範囲(加算範囲)に含まれる同色画素の信号を加算平均して生成される。
例えば、読出単位の左上端に位置する基準画素(i,j)=(m,n)が赤画素である場合、加算範囲の各色画素の配置は図7(a)のようになる。このとき、各標本点の信号値(R'R(x,y),Gr'R(x,y),Gb'R(x,y),B'R(x,y))は、式(1)で求めることができる。
以上、標本点(x,y)に注目して加算間引き読み出しの例を説明した。なお、他の標本点の加算間引き読み出しは、基準画素の位置をシフトさせて同様の読み出しを行えばよい。一例として、標本点(x+1,y)に対応する信号値(R'
R(x+1,y),Gr'
R(x+1,y),Gb'
R(x+1,y),B'
R(x+1,y))は、基準画素(m,n)=(i+4,j)として、上記の式(1)により求めればよい。
なお、本実施例では、カラーフィルタが2×2の周期で配列され、画像の縮小倍率が1/4×1/4であることから、縮小画像の各標本点において加算範囲の基準画素はいずれも同じ色となる。
しかし、縮小倍率が奇数倍(例えば1/3×1/3)の場合、標本点1つごとに基準画素の色が入れ替わる。この場合には、式(1)で加算する画素を適宜調整すればよい。例えば、基準画素がGrの場合、加算範囲の各色画素の配置は図7(b)のようになる。基準画素がGbの場合、加算範囲の各色画素の配置は図7(c)のようになる。基準画素がBの場合、加算範囲の各色画素の配置は図7(d)のようになる。
図6は、実施例1での固体撮像素子での画素位置と、縮小画像の各色信号のサンプル重心とを示す図である。図6では、R信号のサンプル重心を図中に白丸(○)で示す。また、Gr信号のサンプル重心を図中にバツ(×)で示す。また、Gb信号のサンプル重心を図中に三角(△)で示す。また、B信号のサンプル重心を図中に星印(☆)で示す。なお、図6の例は基準画素がいずれも赤画素の場合であり、基準画素の色が異なる場合には図6の各色信号のサンプル重心に入れ替わりが生じる。
次に、各標本点の信号値は、画像処理エンジン4に入力される。そして、画像処理エンジン4は、Gr画像信号およびGb画像信号を用いて、画像の勾配に応じた色差選択処理を実行する(図4参照)。
ここで、Gr画像信号およびGb画像信号を区別せずに加算平均して、1つのG信号値で読み出す場合を考える。この場合、標本点(x,y)でのG信号のサンプル重心は図6の×印と△印との中間(i+1.5,j+1.5)となり、同じ標本点のR,B各信号に対してズレが生じる。また、加算範囲内でR画素およびB画素の分布は3×3の範囲であるが、加算範囲内でG画素の分布は4×4の範囲となる。上記のようなサンプル重心のズレや加算する画素の分布の違いは、例えば、合焦に近い状態で高周波信号を多く含む画像を縮小する場合に、弱い偽色となって現れる可能性がある。
一方、実施例1のように、Gr画像信号およびGb画像信号を分離して読み出した場合、加算範囲内のGr画素およびGb画素の分布は3×3の範囲となり、R画素およびB画素の分布と一致する。また、R,B信号のサンプル重心は、被写体の輪廓による画像の勾配方向に応じてGr,Gb信号のサンプル重心のいずれかと近い値をとることが期待できる。そのため、画像処理エンジン4は、以下の色差選択処理を行うことで偽色の発生を抑制する。
第1に、画像処理エンジン4は、注目する標本点(x,y)における水平方向勾配(ΔH)と垂直方向勾配(ΔV)を式(2)で求める。
第2に、画像処理エンジン4は、注目する標本点(x,y)で適用するCr’(x,y),Cb’(x,y)を、上記のΔH,ΔVの大小評価により式(3)で決定する。
上記の式(3)により、画像の勾配を考慮して、偽色の影響を受けにくいと予想される色差Cr’,Cb’が選択される。なお、式(3)の「THE_GRAD」は、勾配の大きさを規定する閾値である。
第3に、画像処理エンジン4は、上記の色差Cr’,Cb’を用いて、標本点(x,y)のRGB値を式(4)で求める。
なお、画像処理エンジン4は、式(4)で求めたRGB値を用いて、式(5)によりYUV値への変換を行えばよい。
以上の処理により、縮小画像の標本点(x,y)についてYUV画像情報が生成される。そして、画像処理エンジン4は、他の標本点にも同様の処理を行い、縮小画像全体のYUV画像情報を生成する。
その後、画像処理エンジン4は、縮小画像のYUV画像情報を記録I/F6を介して記憶媒体9に記録する。あるいは、画像処理エンジン4は、縮小画像のYUV画像情報を用いてモニタ7に画像表示をしてもよい。
以下、実施例1の作用効果を述べる。実施例1の構成では、固体撮像素子3からの加算間引読出時に、各標本点においてR,Gr,Gb,Bの4つの画像信号を生成する。
実施例1の場合、縮小画像の各標本点で必要となる色信号は全て揃っているので、縮小画像の補間処理を行う必要がない。そのため、実施例1では、縮小画像の各標本点で充分な解像力を確保できる。また、例えば、合焦に近い状態で高周波信号を多く含む画像を縮小するケースを考えると、ベイヤ配列構造の間引き読み出し画像を色補間して縮小画像を生成する場合と比べ、実施例1の場合には色補間処理に起因する縮小画像でのモアレや偽色の発生が大幅に抑制される。
また、実施例1では、標本点ごとにGr,Gbの画像信号を取得することで、元の画像での緑信号の強度分布が保持される。これにより、適応的な色差選択処理ができるので、偽色をより抑制することができる。
なお、実施例1の場合、1標本点に対して4つの信号値を取得する。そのため、実施例1では、全画素読み出し時の画像サイズ(W×H)に対して縮小画像のサイズがW/4×H/4のとき、全画素読み出し時と比較して読出データ量は1/4×1/4×4=1/4倍となる。
(実施例1の変形例)
上記の実施例1では、各色画素の単純平均で縮小画像の各信号値を求めた。しかし、重み付け加算により縮小画像の各信号値を求めてもよい。一例として、式(1)の代わりに、式(6)のように加重係数を9:3:3:1に設定してもよい。
上記の式(6)の場合には、4つの信号のサンプル重心を一致させることができる。なお、上記の式(6)の場合には、サンプル重心位置は一致するが、加算範囲は1画素分ずれるため実施例1の色差選択処理は有効である。
(実施例2)
次に、図8〜図10を参照しつつ、実施例2の加算間引き読出モードでの電子カメラ1の動作例を説明する。以下の各実施例での装置構成や動作は、特に断りがないかぎり実施例1と共通であることを前提とする。なお、各実施例での縮小画像のサイズは実施例1と同じである。
実施例2では、固体撮像素子3から、R,Gh,Gl,Bの4種類の画像信号を加算間引きで読み出す(図8参照)。Ghは加算範囲における緑色の高周波成分を含む信号であり、Glは加算範囲における緑色の低周波成分を含む信号である。
一例として、Ghは4×4画素の加算範囲のうち、中央部に位置する2つの緑画素の出力を加算して生成される。また、Glは4×4画素の加算範囲のうち、周辺部に位置する6つの緑画素の出力を加算して生成される(図10参照)。Ghで加算される画素のサンプリング間隔は、Glで加算される画素のサンプリング間隔よりも小さい。そのため、Ghは、Glと比べて高い空間周波数成分を含む。なお、実施例2において、縮小画像の標本点(x,y)に対応する信号値は、R’(x,y),Gh’(x,y),Gl’(x,y),B’(x,y)…のように表記される。
実施例2での固体撮像素子3の加算間引き読み出しは、撮像素子制御回路16の制御により、以下のように行なわれる。
例えば、読出単位の左上端に位置する基準画素(i,j)=(m,n)が赤画素である場合、加算範囲の各色画素の配置は図10(a)のようになる。このとき、各標本点の信号値(R'R(x,y),Gh'R(x,y),Gl'R(x,y),B'R(x,y))は、式(7)で求めることができる。
以上、標本点(x,y)に注目して加算間引き読み出しの例を説明した。なお、他の標本点の加算間引き読み出しは、基準画素の位置をシフトさせて同様の読み出しを行えばよい。一例として、標本点(x+1,y)に対応する信号値(R'
R(x+1,y),Gh'
R(x+1,y),Gl'
R(x+1,y),B'
R(x+1,y))は、基準画素(m,n)=(i+4,j)として、上記の式(7)により求めればよい。
なお、本実施例では、カラーフィルタが2×2の周期で配列され、画像の縮小倍率が1/4×1/4であることから、縮小画像の各標本点において加算範囲の基準画素はいずれも同じ色となる。
しかし、縮小倍率が奇数倍(例えば1/3×1/3)の場合、標本点1つごとに基準画素の色が入れ替わる。この場合には、式(7)で加算する画素を適宜調整すればよい。例えば、基準画素がGrの場合、加算範囲の各色画素の配置は図10(b)のようになる。基準画素がGbの場合、加算範囲の各色画素の配置は図10(c)のようになる。基準画素がBの場合、加算範囲の各色画素の配置は図10(d)のようになる。
図9は、実施例2での固体撮像素子での画素位置と、縮小画像の各色信号のサンプル重心とを示す図である。実施例2の場合、各色信号のサンプル重心(図中○で示す)はいずれも一致する。
次に、各標本点の信号値は、画像処理エンジン4に入力される。ここで、実施例2の画像処理エンジン4は、GhおよびGlの画像信号を用いて縮小画像にエッジ強調処理を施す。
まず、画像処理エンジン4は、式(8)により、GhおよびGlの画像信号から標本点のGの信号値(G’(x,y))を求める。
上記の式(8)の演算により、縮小画像の標本点のRGB信号値が揃うこととなる。なお、式(7)および式(8)を合わせて考えると、上記のG信号値も、R,B信号値と同様に加重係数の比率が9:3:3:1となる。
次に、画像処理エンジン4は、式(9)により、GhおよびGlの画像信号の差分から画像の高周波成分(δG’)を抽出する。なお、δG’には、Glの加算範囲(5×5)に対してGhの加算範囲(3×3)のG信号が持つ凹凸が反映される。
そして、画像処理エンジン4は、上記の式(5)によりRGB値からYUV値への変換を行う。ここで、輝度信号値Yに対してはG信号値の寄与が大きいため、標本点での輝度信号値Yの凹凸はG信号の凹凸で近似できる。そこで、実施例2の画像処理エンジン4は、輝度信号値Yに対して、式(10)に示すようにδG’を加算してエッジ強調処理を施す。
ここで、αはエッジ強調の効果を調節するための係数である。αは画像全体で単一の値でもよく、YやδG'の分布に応じて適応的に変化させてもよい。例えば、Yの分布が平坦な箇所や、1画素のみ孤立したδG'が存在する箇所ではαの値を小さくし、まとまったδG'の分布が見られる箇所ではαの値を大きく設定してもよい。このような適応的な処理により、画像のノイズを強調することなく、縮小画像のエッジ強調処理を行うことができる。
以上の処理により、縮小画像の標本点(x,y)についてYUV画像情報が生成される。そして、画像処理エンジン4は、他の標本点にも同様の処理を行い、縮小画像全体のYUV画像情報を生成する。
その後、画像処理エンジン4は、縮小画像のYUV画像情報を記録I/F6を介して記憶媒体9に記録する。あるいは、画像処理エンジン4は、縮小画像のYUV画像情報を用いてモニタ7に画像表示をしてもよい。
かかる実施例2の構成によっても、縮小画像の標本点レベルでの補間処理を行う必要がないので、縮小画像の各標本点で充分な解像力を確保できるとともに、縮小画像でのモアレや偽色の発生を大幅に抑制できる。また、実施例2の場合、標本点のGh,Glの画像信号を用いたエッジ強調処理により、縮小画像の解像感をより向上させることができる。
なお、実施例2の場合も、1標本点に対して4つの信号値を取得する。そのため、実施例1では、全画素読み出し時の画像サイズ(W×H)に対して縮小画像のサイズがW/4×H/4のとき、全画素読み出し時と比較して読出データ量は1/4×1/4×4=1/4倍となる。
(実施例3)
次に、図11〜図13を参照しつつ、実施例3の加算間引き読出モードでの電子カメラ1の動作例を説明する。
実施例3では、固体撮像素子3から、R,Bの画像信号を加算間引きで読み出すとともに、加算範囲での画素の配置がそれぞれ異なる3種類のGの信号(G1,G2,G3)が生成される。そして、実施例3では、上記のG1,G2,G3の各信号を組み合わせて、画像処理エンジン4が色差選択処理およびエッジ強調処理を行う(図11参照)。
一例として、G1は4×4画素の加算範囲のうち、中央部に位置する2つの緑画素の出力を加算して生成される。また、G2,G3は4×4画素の加算範囲のうち、周辺部に位置する3つの緑画素の出力をそれぞれ加算して生成される。なお、G2で加算される緑画素は上記の加算範囲内でL字状に配列されている。また、G3で加算される緑画素は、G2の加算画素の配列と対向するように、上記の加算範囲内で倒立L字状に配列されている(図13参照)。なお、実施例3において、縮小画像の標本点(x,y)に対応する信号値は、R’(x,y),G1’(x,y),G2’(x,y),G3’(x,y),B’(x,y)…のように表記される。
実施例3での固体撮像素子3の加算間引き読み出しは、撮像素子制御回路16の制御により、以下のように行なわれる。
例えば、読出単位の左上端に位置する基準画素(i,j)=(m,n)が赤画素である場合、加算範囲の各色画素の配置は図13(a)のようになる。このとき、各標本点の信号値(R'R(x,y),G1'R(x,y),G2'R(x,y),G3'R(x,y),B'R(x,y))は、式(11)で求めることができる。
以上、標本点(x,y)に注目して加算間引き読み出しの例を説明した。なお、他の標本点の加算間引き読み出しは、基準画素の位置をシフトさせて同様の読み出しを行えばよい。一例として、標本点(x+1,y)に対応する信号値(R'
R(x+1,y),G1'
R(x+1,y),G2'
R(x+1,y),G3'
R(x+1,y),B'
R(x+1,y))は、基準画素(m,n)=(i+4,j)として、上記の式(11)により求めればよい。
なお、本実施例では、カラーフィルタが2×2の周期で配列され、画像の縮小倍率が1/4×1/4であることから、縮小画像の各標本点において加算範囲の基準画素はいずれも同じ色となる。
しかし、縮小倍率が奇数倍(例えば1/3×1/3)の場合、標本点1つごとに基準画素の色が入れ替わる。この場合には、式(11)で加算する画素を適宜調整すればよい。例えば、基準画素がGrの場合、加算範囲の各色画素の配置は図13(b)のようになる。基準画素がGbの場合、加算範囲の各色画素の配置は図13(c)のようになる。基準画素がBの場合、加算範囲の各色画素の配置は図13(d)のようになる。
図12は、実施例3での固体撮像素子での画素位置と、縮小画像の各色信号のサンプル重心とを示す図である。図12では、R信号のサンプル重心を図中に白丸(○)で示す。また、G1信号のサンプル重心を図中に黒丸(●)で示す。また、G2信号のサンプル重心を図中にバツ(×)で示す。また、G3信号のサンプル重心を図中に三角(△)で示す。また、B信号のサンプル重心を図中に星印(☆)で示す。なお、図12の例は基準画素がいずれも赤画素の場合であり、基準画素の色が異なる場合には図12の各色信号のサンプル重心が変化する。
次に、各標本点の信号値は、画像処理エンジン4に入力される。ここで、実施例3の画像処理エンジン4は、色差選択処理およびエッジ強調処理を行う。
まず、画像処理エンジン4は、式(12)により、G1,G2,G3信号値からGr,Gb信号値を求める。
式(11)と式(12)の比較により、式(12)で取得されるGr,Gb信号値は、それぞれ5画素の単純平均となっていることが分かる。そのため、実施例3のGr,Gb信号のサンプル重心は、実施例1のGr,Gb信号のサンプル重心と一致する。
また、実施例3と実施例1では加算画素数が相違するが同じ範囲のG信号値を加算している。そのため、実施例3の画像処理エンジン4は、実施例1の式(2)〜式(5)を適用して、色差選択処理を行うとともに、YUV画像情報を生成する。
また、画像処理エンジン4は、式(13)により、G1,G2,G3信号から画像の高周波成分(δG’)を抽出できる。
式(11)と式(13)の比較により、式(13)で取得されるδG’は、実施例2でGh,Gl信号値から求めたδG’と同一であることが分かる。そのため、実施例3の画像処理エンジン4は、実施例2の式(10)を適用して、輝度信号値Yに対して適応的なエッジ強調処理を施すことができる。
かかる実施例3の構成によれば、実施例1および実施例2と同様の効果を得ることができる。なお、実施例3の場合も、1標本点に対して5つの信号値を取得する。そのため、実施例1では、全画素読み出し時の画像サイズ(W×H)に対して縮小画像のサイズがW/4×H/4のとき、全画素読み出し時と比較して読出データ量は1/4×1/4×5=5/16倍となる。
<第2実施形態の説明>
図14は、第2実施形態の画像処理装置の構成例を示す図である。第2実施形態の画像処理装置は、処理対象のカラー画像を加算間引きして縮小画像を生成するプログラムがインストールされたパーソナルコンピュータである。
図14に示すコンピュータ31は、データ読込部32、記憶装置33、CPU34、メモリ35および入出力I/F36、バス37を有している。データ読込部32、記憶装置33、CPU34、メモリ35および入出力I/F36は、バス37を介して相互に接続されている。さらに、コンピュータ31には、入出力I/F36を介して、入力デバイス38(キーボード、ポインティングデバイスなど)とモニタ39とがそれぞれ接続されている。なお、入出力I/F36は、入力デバイス38からの各種入力を受け付けるとともに、モニタ39に対して表示用のデータを出力する。
データ読込部32は、画像のデータや、プログラムを外部から読み込むときに用いられる。例えば、データ読込部32は、着脱可能な記憶媒体からデータを取得する読込デバイス(光ディスク、磁気ディスク、光磁気ディスクの読込装置など)や、公知の通信規格に準拠して外部の装置と通信を行う通信デバイス(USBインターフェース、LANモジュール、無線LANモジュールなど)である。なお、データ読込部32は、処理対象のカラー画像を取得する取得部として機能する。
記憶装置33は、例えば、ハードディスクや、不揮発性の半導体メモリなどの記憶媒体で構成される。この記憶装置33には、画像処理プログラムが記録される。なお、記憶装置33には、データ読込部32から読み込んだ画像のデータや、プログラムで生成された縮小画像のデータを記憶しておくこともできる。
CPU34は、コンピュータ31の各部を統括的に制御するプロセッサである。このCPU34は、プログラムの実行によって、縮小画像の生成を行う変換部として機能する。
メモリ35は、プログラムでの各種演算結果を一時的に記憶する。このメモリ35は、例えば揮発性のSDRAMである。
以下、図15の流れ図を参照しつつ、第2実施形態の画像処理装置の動作例を説明する。
ステップ#101:CPU34は、処理対象のカラー画像のデータを、データ読込部32から取得する。ここで、カラー画像は、色補間前のRAW画像であってもよく、色補間後のカラー画像であってもよい。なお、第2実施形態では、電子カメラで撮像されるとともに、ベイヤ配列でRGBの各色がモザイク状に配置された状態のRAW画像が処理対象である例を説明する。
#101で取得されたカラー画像のデータは、CPU34の制御によって、記憶装置33またはメモリ35に記録される。なお、処理対象の画像のデータが予め記憶装置33に記憶されている場合には、CPU34は#101の処理を省略してもよい。
ステップ#102:CPU34の変換部は、カラー画像を加算間引きして縮小画像のRGBの画像信号を生成する。具体的には、#102の変換部は、上記の実施例1〜実施例3のいずれかの手法で加算間引きを行う。
ステップ#103:CPU34の変換部は、縮小画像のRGB信号値からYUVの画像情報を生成する。
ここで、#102で実施例1の加算間引きを行った場合、#103の変換部は、実施例1と同様の色差選択処理を実行する。また、#102で実施例2の加算間引きを行った場合、#103の変換部は、実施例2と同様のエッジ強調処理を実行する。また、#102で実施例3の加算間引きを行った場合、#103の変換部は、実施例3と同様の色差選択処理およびエッジ強調処理を実行する。
ステップ#104:CPU34は、#104で生成した縮小画像の画像情報を記憶装置33に記録する。あるいは、CPU34は縮小画像の画像情報を用いてモニタ39に画像表示をしてもよい。以上で、図15の流れ図の説明を終了する。
第2実施形態によれば、電子カメラで撮像したカラー画像から後処理工程で縮小画像を生成するときに、上記の第1実施形態とほぼ同様の効果を得ることができる。
<実施形態の補足事項>
(補足1):本発明における画像の縮小倍率は、上記実施形態の例に限定されることなく適宜変更できる。なお、本発明における画像の縮小倍率は、水平方向と垂直方向とが異なる倍率であってもよい。
(補足2):上記実施形態の加算間引きによっても、要求されるフレームレートに対して画像読み出しの高速化が不十分な場合、縮小画像のビット精度の削減を行って読み出しの高速化を補ってもよい。
(補足3):縮小倍率が大きいときには、縮小画像のフォーマットに対して固体撮像素子の画素サイズが不足する場合がある。このような場合には、縮小画像に対して超解像処理などの公知のアップコンバート処理を施してもよい。
例えば、実施例3の式(12)、式(4)により計算されるG信号値は撮像素子の4×4画素の範囲に対応するが、読み出されたG1信号は撮像素子の2×2画素の範囲のみに対応する。これは高速化のために1/4×1/4の縮小倍率で読み出した画像を、超解像や補間拡大などの処理で2×2倍のアップコンバートを行うときに、その画素サイズに対応する情報が離散的に保持されていることを意味する。このようなサブピクセルの空間分布情報を用いて、アップコンバート画像の解像感を向上させてもよい。
(補足4):上記実施形態では、撮像装置の一例としての電子カメラを説明した。しかし、本発明の撮像装置は、例えば、第1実施形態の固体撮像素子3のみの構成や、固体撮像素子3と画像処理エンジン4(画像処理部)とをオンチップで一体化したデバイスを含む概念である。
(補足5):上記実施形態において、固体撮像素子3のカラーフィルタアレイはベイヤ配列に限定されない。例えば、マゼンタ、グリーン、シアンおよびイエローを用いる補色系カラーフィルタアレイの場合や、ベイヤ配列のGrまたはGbを他の色に置換したカラーフィルタアレイの場合にも本発明を適用できる。
(補足6):第2実施形態では、画像処理装置の変換部の機能をプログラムによってソフトウエア的に実現する例を説明した。しかし、本発明では、変換部の機能を、例えばASICでハードウエア的に実現しても勿論かまわない。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。