(57)【要約】【課題】撮像装置において、各種調整のための検波の自由度を高め、かつ、信号処理回路の規模や製造コストを抑制する。【解決手段】ＳＤＲＡＭ１４からは、ブロックごとに圧縮されたＲＡＷデータがブロック単位で読み出され、ＲＡＷ伸張部３２で伸張される。通常検波方式のためのＲＡＷデータは、検波器２２１〜２２５のいずれかに供給され、マルチ検波方式のためのＲＡＷデータは検波器２３０に供給される。検波器２３０は、少なくとも水平方向に対して複数設定され、それぞれ同じサイズの矩形領域として画面上に設定された複数の検波枠のそれぞれにおける入力画像データを基に、所定の情報の検波を行うものであり、この単一の検波器２３０により、任意の検波枠に対応する位置の画像データを順次受け取って、その検波枠からの検波を実行できるので、検波枠ごとに検波器を用意する必要がなくなる。【選択図】図５
2007228514.tif 000002
【特許請求の範囲】
【請求項１】
固体撮像素子を用いて画像を撮像する撮像装置において、
前記固体撮像素子により撮像されてデジタル変換された画像データを一時的に保持するメモリと、
少なくとも水平方向に対して複数設定され、それぞれ同じサイズの矩形領域として画面上に設定された複数の検波枠のそれぞれにおける入力画像データを基に、所定の情報の検波を行う単一の検波部と、
前記メモリに保持された画像データを、画面内で隣接する所定数の画素からなるブロック単位で読み出して、前記単一の検波部に供給する読み出し制御部と、
を有することを特徴とする撮像装置。
【請求項２】
前記読み出し制御部は、前記単一の検波部が持つ検波枠のうちの任意の位置の検波枠に対応する画像データを前記メモリから読み出し、前記単一の検波部に供給することを特徴とする請求項１記載の撮像装置。
【請求項３】
前記デジタル変換された画像データを前記ブロック単位で圧縮し、圧縮画像データとして前記メモリに供給する圧縮部と、
前記メモリから読み出された前記圧縮画像データを伸張する伸張部と、
前記単一の検波部が持つ検波枠より大きい１つ以上の矩形領域として画面上に設定された検波枠における入力画像データを基に、所定の情報の検波を行う他の検波部と、
をさらに有し、
前記読み出し制御部は、前記メモリに保持された前記圧縮画像データを前記ブロック単位で読み出し、前記伸張部に伸張させて、前記単一の検波部および前記他の検波部に対して選択的に供給することを特徴とする請求項１記載の撮像装置。
【請求項４】
前記読み出し制御部は、前記単一の検波部が持つ検波枠のうちの任意の位置の検波枠に対応する前記圧縮画像データを前記メモリから読み出し、前記伸張部を介して前記単一の検波部に供給することを特徴とする請求項３記載の撮像装置。
【請求項５】
前記他の検波部は、水平方向に対して、前記単一の検波部が持つ検波枠の並列数より少ない数だけ画面上に矩形領域として設定された検波枠に対して、それぞれ個別に対応する個別検波部を少なくとも備え、
前記読み出し制御部は、前記個別検波部において必要な、画像上の水平ライン数分の前記圧縮画像データを、水平ラインごとに前記メモリから順次読み出し、前記伸張部を介して前記他の検波部に供給する、
ことを特徴とする請求項３記載の撮像装置。
【請求項６】
前記単一の検波部は、各検波枠における検波が完了するたびに、その検波値を前記メモリに格納することを特徴とする請求項３記載の撮像装置。
【請求項７】
前記読み出し制御部は、前記単一の検波部に対する前記圧縮画像データと、前記他の検波部に対する前記圧縮画像データとを、前記メモリから時分割で交互に読み出すことを特徴とする請求項３記載の撮像装置。
【請求項８】
前記圧縮部は、固定長の符号化データとして前記圧縮画像データを生成することを特徴とする請求項３記載の撮像装置。
【請求項９】
前記伸張部、前記単一の検波部および前記他の検波部は、共通のバスを通じて前記メモリに接続され、前記伸張部により伸張された画像データは、前記バスを介さずに直接、前記単一の検波部および前記他の検波部に入力されることを特徴とする請求項３記載の撮像装置。
【請求項１０】
前記圧縮部は、前記圧縮画像データを前記バスを通じて前記メモリに書き込むことを特徴とする請求項９記載の撮像装置。
【請求項１１】
前記単一の検波部および前記他の検波部の少なくとも一方による検波結果に基づいて各種の制御値の演算を行う演算部と、
前記メモリから読み出され、前記伸張部により伸張された画像データに対して、前記演算部により演算された制御値に基づいて画質補正処理を施す画質補正部と、
をさらに有することを特徴とする請求項３記載の撮像装置。
【請求項１２】
前記圧縮部は、前記ブロック内の画素データの最大値および最小値と、それらの当該ブロック内での位置情報と、前記最大値および前記最小値を除く当該ブロック内の前記画素データから、前記最小値を減算した減算値を量子化した量子化データとを含む前記圧縮画像データを生成することを特徴とする請求項３記載の撮像装置。
【請求項１３】
前記圧縮部は、
前記ブロックごとに、前記画素データの前記最大値および前記最小値と、それらの当該ブロック内での前記位置情報とを検出する最大／最小検出部と、
前記画素データから、対応する前記ブロックにおける前記最小値を減算した前記減算値を、当該ブロック内の前記最大値と前記最小値との差分値として算出したダイナミックレンジに応じて量子化する量子化部と、
前記ブロックごとに、当該ブロックにおける前記最大値、前記最小値、およびそれらの前記位置情報と、前記量子化部で量子化された量子化データのうち、前記最大値および前記最小値に対応するものを除く前記量子化データとをパッキングして前記圧縮画像データを生成するパッキング部と、
を有することを特徴とする請求項１２記載の撮像装置。
【請求項１４】
前記量子化部での量子化語長を固定値としたことを特徴とする請求項１３記載の撮像装置。
【請求項１５】
前記圧縮部は、前記デジタル変換された画像データに対して、人間の視感度特性に応じて階調を変換した後、そのビット数を削減して前記圧縮部に供給する前圧縮部をさらに有することを特徴とする請求項１３記載の撮像装置。
【請求項１６】
前記量子化部は、量子化ステップを２のべき乗として、前記ダイナミックレンジに応じたけた数だけ下位にシフトするビットシフタにより、前記減算値を量子化することを特徴とする請求項１３記載の撮像装置。
【請求項１７】
前記パッキング部は、前記ブロックにおける最大値の代わりに、前記ビットシフタにおけるシフト量をパッキングすることを特徴とする請求項１６記載の撮像装置。
【請求項１８】
前記伸張部は、
前記ブロックごとの前記圧縮画像データから抽出した前記量子化データを、当該圧縮画像データから抽出した前記最大値と前記最小値との差分値として算出した前記ダイナミックレンジに応じて逆量子化する逆量子化部と、
前記逆量子化部により逆量子化されたデータに前記最小値を加算する加算部と、
前記ブロックごとの前記圧縮画像データから抽出した前記最小値および前記最大値の前記各位置情報に基づき、前記最大値と、前記最小値と、前記加算部からの出力値とを、前記圧縮部に入力された元の前記画素データの順に出力する出力制御部と、
を有することを特徴とする請求項１３記載の撮像装置。
【請求項１９】
前記ブロックは、同色成分の画素データからなることを特徴とする請求項３記載の撮像装置。
【請求項２０】
前記ブロックは、撮像画像上の矩形領域に含まれる画素データからなることを特徴とする請求項３記載の撮像装置。
【請求項２１】
固体撮像素子を用いて画像を撮像する撮像方法において、
書き込み手段が、前記固体撮像素子により撮像されてデジタル変換された画像データをメモリに一時的に書き込むステップと、
読み出し制御部が、前記メモリに書き込まれた画像データを、画面内で隣接する所定数の画素からなるブロック単位で読み出して、単一の検波部に供給するステップと、
前記単一の検波部が、少なくとも水平方向に対して複数設定され、それぞれ同じサイズの矩形領域として画面上に設定された複数の検波枠のそれぞれにおける入力画像データを基に、所定の情報の検波を行うステップと、
を含むことを特徴とする撮像方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、固体撮像素子を用いて画像を撮像する撮像装置および方法に関し、特に、撮像により得られた画像信号を一旦メモリに格納して処理する構成の撮像装置、およびその撮像装置における撮像方法に関する。
【背景技術】
【０００２】
近年、デジタルスチルカメラやデジタルビデオカメラなど、固体撮像素子を用いて撮像し、撮像画像をデジタルデータとして保存することができる撮像装置が広く普及している。このような撮像装置では、撮像素子の多画素化や、装置の高機能化・高性能化が進んでいる。特に、撮像素子の多画素化が進むと、撮像信号の処理負荷が増大するが、そのような撮像装置であっても、操作にストレスがないように高速で処理できることが求められている。
【０００３】
図１１は、従来の撮像装置の構成例を示すブロック図である。
図１１に示す従来の撮像装置は、撮像素子８１、アナログフロントエンド（ＡＦＥ）回路８２、デジタル画像処理回路８３、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）８４、ＲＯＭ（Read Only Memory）８５、およびストレージデバイス８６を備えている。また、デジタル画像処理回路８３は、カメラ信号前処理部９１、検波部９２、カメラ信号処理部９３、解像度変換部９４、ＪＰＥＧ（Joint Photographic Experts Group）エンジン９５、ＣＰＵ（Central Processing Unit）９６、ビデオ出力エンコーダ９７、およびＳＤＲＡＭコントローラ９８を備え、これらが内部バス９９により相互に接続された構成となっている。
【０００４】
このような撮像装置において、撮像素子８１による撮像信号は、順次ＡＦＥ回路８２に供給され、ＣＤＳ（Correlated Double Sampling）処理やＡＧＣ（Auto Gain Control）処理が施された後、デジタル信号に変換されて、デジタル画像処理回路８３に供給される。カメラ信号前処理部９１は、入力された画像信号に対して、欠陥画素補正やシェーディング補正などを施し、ＲＡＷ（生）データとして、ＳＤＲＡＭコントローラ９８を介してＳＤＲＡＭ８４に書き込む。
【０００５】
検波部９２は、そのＲＡＷデータをＳＤＲＡＭコントローラ９８を介してＳＤＲＡＭ８４から読み出し、輝度情報などの各種検波処理を行う。
カメラ信号処理部９３は、ＲＡＷデータをＳＤＲＡＭコントローラ９８を介してＳＤＲＡＭ８４から読み出し、検波部９２による検波結果に基づくＣＰＵ９６の制御に従って、読み込んだＲＡＷデータに対して各種の画質補正処理を実行した後、輝度信号（Ｙ）と色差信号（Ｒ−Ｙ，Ｂ−Ｙ）に変換して出力する。解像度変換部９４は、カメラ信号処理部９３からの出力画像データに対して、必要に応じて、解像度変換処理を施す。
【０００６】
ビデオ出力エンコーダ９７は、解像度変換部９４により表示に適する解像度に変換された画像データを、モニタ表示用の画像信号に変換して、図示しないモニタ、あるいはビデオ出力端子９７ａに対して出力する。これにより、カメラスルー画像を表示させることができる。ＪＰＥＧエンジン９５は、カメラ信号処理部９３または解像度変換部９４からの画像データを、ＪＰＥＧ規格に従って圧縮符号化し、一旦ＳＤＲＡＭ８４に格納する。ＣＰＵ９６は、ＳＤＲＡＭ８４に格納されたＪＰＥＧ符号化データを、ストレージデバイス８６に記録する。
【０００７】
なお、ＣＰＵ９６は、この撮像装置全体の処理を、統括的に制御し、ＲＯＭ８５には、ＣＰＵ９６が実行するプログラムや、処理に必要なデータが記録されている。
ところで、上記のような従来の一般的な撮像装置では、撮像素子から得られたＲＡＷデータを、一旦ＳＤＲＡＭなどの画像メモリに格納した後、読み出して画質補正処理などを施す構成となっている。例えば、インタレース読み出し方式の撮像素子を用いた場合など、複数フィールドで１フレームのキャプチャが終了するタイプの装置では、各フィールドのデータをメモリに格納してから、フレームのデータを生成することが必須である。また、カメラ信号処理部のラインメモリの規模を抑制するために、１Ｈ（水平同期期間）の長さの数分の一程度のディレイラインのみを用いて、全画面を部分的に（例えば、縦方向に数本の短冊状に）処理していくような処理系を持つ場合にも、少なくともその処理の前に全画面のデータをメモリに格納しておく必要がある。
【０００８】
ここで、ＲＡＷデータのメモリへの書き込みおよび読み出しの際には、全画面分のデータが内部バス上を流れるため、この伝送に必要なバス帯域は、撮像時の全体のバス帯域の多くを占める。特に、撮像素子の画素数が増加し、ＲＡＷデータの容量が大きくなるほど、データ転送の負荷が高まり、メモリの書き込み／読み出しに要する時間も長くなる。従って、記録処理に要する時間を短縮しようとすると、伝送周波数を高くするなどしてバス帯域を拡大することが必要となり、装置コストが増大するという問題があった。また、画素数が多いほど、ＲＡＷデータを格納するメモリの容量も大きくなるという問題もあった。
【０００９】
これに対して、内部バスの伝送時にＲＡＷデータを圧縮して伝送することも考えられているが、この圧縮方式として可変長符号化方式を用いると、伝送に必要なバス帯域を一定にできなくなり、処理が複雑になる、バス帯域の削減効果を常時得られないなどの問題も生じる。
【００１０】
なお、ＲＡＷデータを圧縮する機能を備えた従来の撮像装置としては、例えば、ＲＡＷデータをハフマンテーブルを利用した可逆的圧縮手法により圧縮して記録する機能を備え、そのハフマンテーブルを色チャネルごとに最適化するようにしたものがあった（例えば、特許文献１参照）。また、ＲＡＷデータを圧縮して記録するＲＡＷ圧縮モードに設定した際には、通常圧縮モードで使用するＲＡＷデータの補間処理部をバイパスするようにしたものもあった（例えば、特許文献２参照）。しかし、上記の特許文献１は、ＲＡＷデータを可変長符号化方式で圧縮するものであり、また、特許文献１および２の双方とも、内部バスの帯域を削減するためにＲＡＷデータを圧縮するものではない。
【００１１】
また、上記の図１１のような従来の撮像装置では、メモリＳＤＲＡＭ８４に一旦格納したＲＡＷデータは検波部９２に読み出され、検波部９２では、そのＲＡＷデータから例えばＡＦ（Auto Focus）、ＡＥ（Auto Exposure）、ホワイトバランス制御などのための信号検波が行われる。この信号検波としては、画面全体のデータを検波する手法や、１画面を複数の検波枠に分割して検波する手法がある。そして、これらのいずれの手法でも、画素データを画面の左上からラインごとに順に読み出し、検波器に入力する手順が一般的であった。
【００１２】
しかし、検波枠が水平方向に複数設けられている場合に、このように画素データをラインごとに順に順次取得して検波するためには、画素データの入力順にあわせて、その水平方向に対する検波枠の数だけの検波器が必要となる。例えば、各検波器が複数ライン分の信号を検波する場合には、そのライン数分の画素データが走査順に入力されるまで、水平方向のすべての検波器で検波が完了しない。また、各検波器において、そのライン数分の検波が終了するまで、前のラインで検波したデータを保持しておく必要もある。
【００１３】
このような検波手法をとった場合でも、検波枠の分割数が少なければ、必要となる検波器の数も少なくて済み、回路規模や製造コストに与える影響は小さい。しかし、最近の撮像装置では、マルチ測光などと言われるように、より多くの検波枠を設けて、各種調整機能の精度を高めることや、撮像装置を高機能化することが求められている。このように検波枠の数が多くなると、必要となる検波器の数が増大し、検波データを保持しておくレジスタなどの規模も大きくなるので、回路規模や製造コストが増大することが問題となる。
【００１４】
さらに、比較的大きな検波枠と、より細かく分割された検波枠の双方を用いて検波するなど、１画面に対して大きさの異なる検波枠を用いて同時に検波することも要望されている。このような場合には、検波器の数がさらに増加してしまうとともに、検波枠の異なる検波手法ごとにＲＡＷデータを読み出す必要があるので、ＲＡＷデータの伝送負荷が増し、処理の高速化の障害になる。また、細かく分割された検波枠のうち、任意の検波枠からの検波値を用いて、より高精度で様々な制御を行う要求もあり、この場合にも同様に、ＲＡＷデータの伝送負荷や処理時間の増大が問題となる。
【特許文献１】特開２００４−４０３００号公報（段落番号〔００１９〕〜〔００２８〕、図２）
【特許文献２】特開２００３−１２５２０９号公報（段落番号〔００２７〕〜〔００３７〕、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１５】
以上のように、従来の撮像装置では、メモリから読み出したＲＡＷデータを検波する際に、画面を分割した多くの検波枠を用いるようにして、各種調整機能の精度を高めようとすると、その分だけ検波器の数が多くなり、回路規模や製造コストが増大してしまうことが問題となっていた。また、撮像素子の高画素数化に伴って、画像データのメモリからの読み出しに要する時間や伝送負荷が増大することも問題になっていた。
【００１６】
本発明はこのような点に鑑みてなされたものであり、各種調整のための検波の自由度が高く、かつ、信号処理回路の規模や製造コストが抑制された撮像装置、およびそのような装置を実現できる撮像方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明では上記課題を解決するために、固体撮像素子を用いて画像を撮像する撮像装置において、前記固体撮像素子により撮像されてデジタル変換された画像データを一時的に保持するメモリと、少なくとも水平方向に対して複数設定され、それぞれ同じサイズの矩形領域として画面上に設定された複数の検波枠のそれぞれにおける入力画像データを基に、所定の情報の検波を行う単一の検波部と、前記メモリに保持された画像データを、画面内で隣接する所定数の画素からなるブロック単位で読み出して、前記単一の検波部に供給する読み出し制御部とを有することを特徴とする撮像装置が提供される。
【００１８】
このような撮像装置では、固体撮像素子により撮像され、デジタル変換された画像データが、メモリに一時的に格納された後、画面内で隣接する所定数の画素からなるブロック単位で読み出されて、単一の検波部に供給される。単一の検波部は、少なくとも水平方向に対して複数設定され、それぞれ同じサイズの矩形領域として画面上に設定された複数の検波枠のそれぞれにおける入力画像データを基に、所定の情報の検波を行う。
【００１９】
また、例えばさらに、前記デジタル変換された画像データを前記ブロック単位で圧縮し、圧縮画像データとして前記メモリに供給する圧縮部と、前記メモリから読み出された前記圧縮画像データを伸張する伸張部と、前記単一の検波部が持つ検波枠より大きい１つ以上の矩形領域として画面上に設定された検波枠における入力画像データを基に、所定の情報の検波を行う他の検波部とを設け、前記読み出し制御部が、前記メモリに保持された前記圧縮画像データを前記ブロック単位で読み出し、前記伸張部に伸張させて、前記単一の検波部および前記他の検波部に対して選択的に供給するようにしてもよい。
【発明の効果】
【００２０】
本発明の撮像装置によれば、少なくとも水平方向に対して複数設定され、それぞれ同じサイズの矩形領域として画面上に設定された複数の検波枠のそれぞれにおける入力画像データを基に、所定の情報の検波を行う検波器がただ１つだけ設けられ、この単一の検波器に対して、所定数の画素からなるブロック単位でメモリから読み出された画像データが供給される。これにより、単一の検波器では、任意の検波枠に対応する位置の画像データを順次受け取って、その検波枠からの検波を実行でき、例えば、画面上で水平方向に並列するすべての検波枠から検波する場合でも、それらの各検波枠に対応する検波器を用意することなく、単一の検波器で検波できる。従って、検波器の回路規模や製造コストを抑制しながらも、検波の自由度を高めることができる。
【００２１】
また、例えばさらに、上記の単一の検波部が持つ検波枠より大きい１つ以上の矩形領域として画面上に設定された検波枠における入力画像データを基に、所定の情報の検波を行う他の検波部を設け、デジタル変換された画像データをメモリに格納する際に、ブロック単位で圧縮して格納するようにして、それらの圧縮画像データをメモリからブロック単位で読み出して伸張し、単一の検波部と他の検波部に対して選択的に供給するようにしてもよい。これにより、それぞれ異なる検波枠を用いて検波する単一の検波部および他の検波部を、並行して動作させることができ、しかもメモリからの画像データは圧縮画像データとして読み出されるので、読み出しに要する時間や伝送負荷が抑制される。従って、検波の自由度をさらに高めながらも、高速で、しかも回路規模や製造コストの小さい撮像装置を実現できる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
〔第１の実施の形態〕
図１は、本発明の第１の実施の形態に係る撮像装置の構成を示すブロック図である。
【００２３】
図１に示す撮像装置は、撮像素子１１、ＡＦＥ回路１２、デジタル画像処理回路１３、ＳＤＲＡＭ１４、ＲＯＭ１５、およびストレージデバイス１６を備えている。また、デジタル画像処理回路１３は、カメラ信号前処理部２１、検波部２２、カメラ信号処理部２３、解像度変換部２４、ＪＰＥＧエンジン２５、ＣＰＵ２６、ビデオ出力エンコーダ２７、およびＳＤＲＡＭコントローラ２８を備え、これらが内部バス２９により相互に接続された構成となっている。さらに、このような従来からの構成に加えて、本実施の形態のデジタル画像処理回路１３は、ＲＡＷ圧縮部３１、ＲＡＷ伸張部３２および３３を備えている。
【００２４】
撮像素子１１は、例えばＣＣＤ（Charge Coupled Devices）、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）型イメージセンサなどの固体撮像素子であり、図示しないレンズブロックを通じて被写体から入射された光を、電気信号に変換する。
【００２５】
ＡＦＥ回路１２は、撮像素子１１から出力された画像信号に対して、ＣＤＳ処理によりＳ／Ｎ（Signal／Noise）比を良好に保つようにサンプルホールドを行い、さらにＡＧＣ処理により利得を制御し、Ａ／Ｄ（Analog／Digital）変換を行ってデジタル画像信号を出力する。
【００２６】
デジタル画像処理回路１３は、例えば、ＳｏＣ（System On a Chip）回路などとして形成される。このデジタル画像処理回路１３において、カメラ信号前処理部２１は、ＡＦＥ回路１２から供給された画像信号に対して、撮像素子１１における欠陥画素の信号補正処理、レンズの周辺光量落ちを補正するシェーディング処理などを施し、処理後の信号をＲＡＷデータとして出力する。
【００２７】
ＲＡＷ圧縮部３１は、カメラ信号前処理部２１からのＲＡＷデータを、後述する圧縮手法により圧縮し、ＳＤＲＡＭコントローラ２８を介して、ＳＤＲＡＭ１４に供給する。後述するように、ＲＡＷ圧縮部３１は、カメラ信号前処理部２１からのＲＡＷデータに対して、隣接する一定数の同色成分の画素データを１ブロックとしてブロックごとに圧縮し、圧縮画像データを出力する。
【００２８】
ＲＡＷ伸張部３２および３３は、ＳＤＲＡＭ１４からＳＤＲＡＭコントローラ２８を介して読み出した、圧縮されたＲＡＷデータを、後述する手法によりブロックごとに伸張して、それぞれ検波部２２およびカメラ信号処理部２３に出力する。
【００２９】
検波部２２は、ＲＡＷ伸張部３２からのＲＡＷデータから、ＡＦ、ＡＥ、ホワイトバランス制御などのための信号検波処理を行う。
カメラ信号処理部２３は、ＲＡＷ伸張部３３からＲＡＷデータにデモザイク処理を施した後、ＣＰＵ２６による制御の下で、ホワイトバランス調整に代表される信号補正処理を実行する。さらに、信号補正後の画像データを、例えば４：２：２などの所定フォーマットの輝度信号（Ｙ）と色差信号（Ｒ−Ｙ，Ｂ−Ｙ）に変換する。
【００３０】
解像度変換部２４は、カメラ信号処理部２３で処理された画像データ、あるいはＪＰＥＧエンジン２５で伸張復号化された画像データの入力を受けて、所定の解像度に変換する。
【００３１】
ＪＰＥＧエンジン２５は、解像度変換部２４で処理された画像データを圧縮符号化し、ＪＰＥＧ方式の符号化データを生成する。また、ストレージデバイス１６から読み出されたＪＰＥＧ画像データを伸張復号化する。なお、デジタル画像処理回路１３には、このＪＰＥＧエンジン２５以外の他の静止画圧縮方式、あるいは動画圧縮方式のエンコード／デコードエンジンが設けられてもよい。
【００３２】
ＣＰＵ２６は、ＲＯＭ１５に格納されたプログラムを実行することにより、このデジタル画像処理回路１３、および撮像装置全体を統括的に制御し、また、その制御のための各種演算を実行する。
【００３３】
ビデオ出力エンコーダ２７は、例えばＮＴＳＣ（National Television Standards Committee）エンコーダなどとして構成され、解像度変換部２４などから出力された画像データを基に、モニタ表示用の画像信号を生成し、図示しないモニタ、あるいはビデオ出力端子２７ａに出力する。
【００３４】
ＳＤＲＡＭコントローラ２８は、ＳＤＲＡＭ１４に対するインタフェースブロックであり、アドレスデコーダなどを備えて、ＣＰＵ２６からの制御信号に従って、ＳＤＲＡＭ１４の書き込みおよび読み出し動作を制御する。
【００３５】
ＳＤＲＡＭ１４は、デジタル画像処理回路１３におけるデータ処理のためのワークエリアとして用意された揮発性のメモリであり、撮像素子１１からキャプチャされたデータ、すなわち、ＲＡＷ圧縮部３１で圧縮されたＲＡＷデータを一時的に格納するためのキャプチャデータエリア１４ａ、ＪＰＥＧエンジン２５により符号化された画像データや、その符号化・復号化処理で利用されるデータなどを一時的に格納するためのＪＰＥＧ符号エリア１４ｂ、ＣＰＵ２６の処理で利用されるデータを一時的に格納するためのＣＰＵワークエリア１４ｃなどを含んでいる。
【００３６】
ＲＯＭ１５は、ＣＰＵ２６が実行するプログラムや各種データを保持する。このＲＯＭ１５としては、例えば、ＥＥＰＲＯＭ（Electronically Erasable and Programmable ROM）、フラッシュメモリなどの不揮発性メモリが用いられてもよい。
【００３７】
ストレージデバイス１６は、符号化された画像データのファイルを記録するためのデバイスであり、例えば、フラッシュメモリ、光ディスク、磁気テープなどの記録媒体、およびそれらの記録／再生ドライブなどからなる。
【００３８】
このような撮像装置において、撮像素子１１による撮像信号は、順次ＡＦＥ回路１２に供給され、ＣＤＳ処理やＡＧＣ処理が施された後、デジタル信号に変換されて、デジタル画像処理回路１３に供給される。カメラ信号前処理部２１では、入力された画像信号に対して、欠陥画素補正やシェーディング補正などを施してＲＡＷデータが生成され、このＲＡＷデータは、ＲＡＷ圧縮部３１により圧縮された後、ＳＤＲＡＭ１４に一旦書き込まれる。
【００３９】
このＲＡＷデータは、ＳＤＲＡＭ１４から読み出されて、ＲＡＷ伸張部３２により伸張された後、検波部２２に供給される。検波部２２は、読み込んだ画像データを基に所定の検波処理を行い、検波結果を例えばＳＤＲＡＭ１４を介してＣＰＵ２６に通知する。ＣＰＵ２６は、通知された検波結果に基づいて、ＡＦ、ＡＥ、ホワイトバランス調整のための各種制御値を演算する。
【００４０】
一方、ＳＤＲＡＭ１４内のＲＡＷデータは、ＲＡＷ伸張部３３にも読み出されて伸張された後、カメラ信号処理部２３に供給される。カメラ信号処理部２３は、上記制御値の演算に基づくＣＰＵ２６の制御に従って、入力画像データに対して、ホワイトバランス調整などの各種画質補正処理を施す。
【００４１】
画質補正処理後の画像データは、例えばＳＤＲＡＭ１４に一旦格納された後、解像度変換部２４により、表示に適した解像度のデータに変換され、さらに例えばＳＤＲＡＭ１４に格納された後、ビデオ出力エンコーダ２７に供給される。これにより、カメラスルー画像がモニタに表示される。
【００４２】
また、図示しない入力部などを通じて画像の記録が要求されると、解像度変換部２４は、カメラ信号処理部２３で画質補正処理された画像データを、必要に応じて記録用に設定された解像度のデータに変換して、例えばＳＤＲＡＭ１４に一旦格納し、ＪＰＥＧエンジン２５は、この画像データを圧縮符号化して、符号化データを生成する。符号化データは、例えばＳＤＲＡＭ１４に一旦記録された後、ストレージデバイス１６に記録される。
【００４３】
また、ストレージデバイス１６に記録された画像データ（符号化データ）は、ＪＰＥＧエンジン２５で伸張復号化され、解像度変換部２４で解像度変換された後、ビデオ出力エンコーダ２７に出力されることで、モニタに表示させることができる。
【００４４】
このようなデジタル画像処理回路１３では、カメラ信号前処理部２１から内部バス２９に対する画像データの入力位置に、ＲＡＷデータを圧縮するＲＡＷ圧縮部３１を設けたことにより、内部バス２９を通じてＳＤＲＡＭ１４に伝送されて記録されるＲＡＷデータのデータ量を低減することができる。また、内部バス２９から検波部２２およびカメラ信号処理部２３のそれぞれに対する画像データの入力位置に、ＲＡＷデータを伸張するＲＡＷ伸張部３２および３３を設けたことにより、同様に、ＳＤＲＡＭ１４から検波部２２およびカメラ信号処理部２３に伝送されるＲＡＷデータのデータ量を低減することができる。
【００４５】
これにより、撮像動作中の内部バス２９の伝送負荷を軽減し、ＳＤＲＡＭ１４に対する書き込み／読み出し処理に要する時間を短縮することが可能となる。特に、圧縮／伸張の処理をできるだけ簡単にすることで、処理時間の短縮効果を上げることができる。また、バス上の伝送周波数を低減して、消費電力を抑制することもできる。
【００４６】
また、ＳＤＲＡＭ１４の容量も小さくすることができる。あるいは、ＳＤＲＡＭ１４の領域を他の処理に利用する、複数フレーム分のＲＡＷデータを格納して、連写できる枚数を増やす、あるいは連写速度を向上させるなど、高画質化・高機能化に寄与することもできる。従って、撮像やデータ記録に必要な時間が短くされた、高性能かつ小型、低コストの撮像装置を実現できる。
【００４７】
このＲＡＷ圧縮部３１、ＲＡＷ伸張部３２および３３では、後述するように、固定長の符号化が可能で、かつ、画像品質を良好に保つことができ、しかも比較的簡単な処理で実現できる非可逆圧縮／伸張手法を採用している。固定長で符号化することで、内部バス２９における伝送負荷や、ＳＤＲＡＭ１４上のキャプチャデータエリア１４ａの容量を安定的に低減でき、また、ＳＤＲＡＭ１４における読み出し／書き込みの制御処理を単純化できる。また、圧縮／伸張処理を簡単にし、高速化することで、撮像動作が確実に高速化される。
【００４８】
次に、デジタル画像処理回路１３の検波部２２における検波処理について説明する。本実施の形態の検波部２２では、ＲＡＷデータをＳＤＲＡＭ１４から１ラインずつ順に読み出して検波する方式（通常検波方式と呼ぶ）と、多数の検波枠を用い、検波枠に対応するＲＡＷデータを任意に取得して検波できる方式（マルチ検波方式と呼ぶ）の２種類の方式で、検波を行うことが可能となっている。
【００４９】
より多くの検波枠を用いたマルチ検波方式を採用することにより、撮像動作や画質補正の際に、よりきめ細かい制御を行うことが可能になる。例えば、フォーカス合わせや、ホワイトバランス制御における光源判定の精度を高める、白飛びや黒つぶれが生じないように明るさを制御する、明るさや色再現の状態を撮影シーンやユーザ設定に応じて適正化するといったことが可能になる。さらに、上記の通常検波方式とマルチ検波方式のように、検波枠の大きさの異なる複数の方式を併用して検波することで、制御の目的に応じてさらに適切かつ精細な制御を実行することが可能になり、画質の向上や高機能化など、より大きなメリットが生まれる。
【００５０】
なお、カメラ信号処理部２３において検波される情報としては、例えば、輝度情報、色差情報、ＲＧＢ（Red,Green,Blue）各成分の情報、それらのいずれかについての検波枠ごとの積分値、所定のしきい値を基準としたヒストグラムなどが考えられる。以下で説明する通常検波方式は、例えば、ＡＦ制御のための輝度情報のＨＰＦ出力の検波などに利用される。また、マルチ検波方式は、例えば、ＡＥ制御のための輝度情報の積分値やヒストグラムの検波、ホワイトバランス調整のためのＲＧＢ各成分の積分値の検波などに利用される。
【００５１】
図２は、通常検波方式の例について説明するための図である。
通常検波方式では、図２（Ａ）に示すように、比較的大きく分割された５つの検波枠Ｆａ１〜Ｆａ５が設定され、各検波枠Ｆａ１〜Ｆａ５から個別に検波することが可能になっている。この通常検波方式では、図２（Ｂ）に示すように、ＳＤＲＡＭ１４に格納されたＲＡＷデータを１ラインずつ順次読み出し、各検波枠Ｆａ１〜Ｆａ５に対応する検波器に入力させる。なお、画像内のデータを、必要に応じて所定ラインごとに間引いて読み出すこともできる。また、このような検波枠Ｆａ１〜Ｆａ５を用いた検波の他に、画面全体から検波できるようにしてもよい。
【００５２】
ここで、検波枠Ｆａ２〜Ｆａ４は水平方向に並列に設けられているので、ＲＡＷデータが１ラインずつ読み出された場合には、各検波枠Ｆａ２〜Ｆａ４が備えるすべてのライン分のＲＡＷデータが読み出されるまで、検波が完了しない。従って、検波枠Ｆａ２〜Ｆａ４のそれぞれに対応する検波器を設け、必要なすべてのラインのＲＡＷデータが入力されて検波が完了するまでの間、各検波器において入力データを内部のレジスタなどに一時的に保持しておく必要がある。
【００５３】
図３は、マルチ検波方式の例について説明するための図である。
マルチ検波方式では、図２の通常検波方式と比較して、より多くの（すなわち、より小さく分割された）検波枠から検波できるようになっている。特に、このマルチ検波方式では、通常検波方式と比較して水平方向に対してより多くの検波枠を設けている。本実施の形態では、図３（Ａ）に示すように、画面を例えば７×７の領域に分割した検波枠Ｆｂ１〜Ｆｂ４９を設定している。また、図３（Ｂ）は、検波枠Ｆｂ１〜Ｆｂ４９のそれぞれに対応するＲＡＷデータをＳＤＲＡＭ１４から個別に読み出す場合の読み出し手法について示している。なお、この図３では、各検波枠Ｆｂ１〜Ｆｂ４９の間隔を空けて示しているが、実際には、間隔を空けずに検波枠を設けてもよい。
【００５４】
ここで、通常検波方式とマルチ検波方式の双方により検波することが可能な従来の検波部の構成例を、参考のために示す。図４は、このような従来の検波部の構成例を示すブロック図である。
【００５５】
図４に示す従来の検波部２２ａは、Ｙ−Ｃ合成部２１０と、通常検波用の検波器２２１〜２２５と、マルチ検波用の検波器２３１〜２３７とを備えている。また、検波部２２ａの入力段には、ＣＰＵ２６による制御の下でＳＤＲＡＭ１４からのデータ読み出しを制御するＤＭＡ（Direct Memory Access）コントローラ２２ｂが設けられている。なお、この従来構成では、ＲＡＷデータの圧縮処理を行わない場合を想定しているため、検波部２２ａの入力段にはＲＡＷ伸張部３２は設けられていない。
【００５６】
この従来構成において、ＳＤＲＡＭ１４から読み出されたＲＡＷデータは、Ｙ−Ｃ合成部２１０により必要に応じて輝度情報あるいは色差情報に変換され、検波器２２１〜２２５，その都度２３１〜２３７のいずれかに供給される。すなわち、Ｙ−Ｃ合成部２１０からの出力データは、例えば、通常検波方式で検波される場合には、通常検波用の検波器２２１〜２２５の信号系に振り分けられ、マルチ検波方式で検波される場合には、検波器２３１〜２３７の信号系に振り分けられる。
【００５７】
検波器２２１〜２２５は、それぞれ図２に示した通常検波方式の検波枠Ｆａ１〜Ｆａ５に対応している。ここで、通常検波方式では、上述したように、ＳＤＲＡＭ１４上のＲＡＷデータは１ラインごとに検波器２２１〜２２５のいずれかに供給される。すなわち、検波器２２１〜２２５で検波が行われる場合には、ＤＭＡ２２ｂは、ＣＰＵ２６からの制御に応じて、ＳＤＲＡＭ１４上のＲＡＷデータを１ラインごとに順次読み出して、検波部２２ａ内に供給する。また、通常検波方式では、図２（Ａ）のように検波枠Ｆａ２〜Ｆａ４が水平方向に並列に設けられているので、ＲＡＷデータが１ラインごとに供給される場合には、検波枠Ｆａ２〜Ｆａ４に対応する３つの検波器２２２〜２２４が少なくとも必要となる。
【００５８】
一方、検波器２３１〜２３７は、マルチ検波方式で検波するために設けられたものであり、図３（Ａ）のように水平方向に並列して設けられた検波枠にそれぞれが対応する。例えば、検波枠Ｆｂ１〜Ｆｂ７からの検波を行う場合には、検波枠Ｆｂ１〜Ｆｂ７のそれぞれについて検波器２３１〜２３７により検波が行われる。このように、従来では、通常検波方式での動作に合わせて、マルチ検波方式でも、ＳＤＲＡＭ１４上のＲＡＷデータを１ラインごとに読み出して、検波器２３１〜２３７に供給していたので、マルチ検波方式用に水平方向に設けられた検波枠の数だけ、検波器が設けられていた。
【００５９】
ここで、通常検波方式では、検波枠数が比較的少ないので、水平方向に並列する検波枠の数だけ検波器を設けても、その分だけ回路規模や製造コストが増えることについてはあまり問題にはならなかった。しかし、マルチ検波方式では、水平方向に対してもより多くの検波枠を設定することが要求されており、検波枠が多数になると、回路規模や製造コストの増加が大きな問題となる。特に、検波器は、対応する検波枠の持つ全ラインに対してデータが入力されるまで、それらの入力データを保持しておくためのレジスタなどを備える必要があるので、検波器が多数になると非常に大規模な回路になってしまう。
【００６０】
これに対して、ＲＡＷデータをＳＤＲＡＭ１４から１ラインごとに読み出すのではなく、図３（Ｂ）に示したように、各検波枠に必要な分だけ読み出すような制御ができれば、検波器の数を減らすことができる。しかし、通常検波方式の検波器２２１〜２２５と異なる読み出し方式を検波器２３１〜２３７に適用すると、ＣＰＵ２６による読み出し制御が非常に複雑になり、実現は難しかった。
【００６１】
さらに、図４において、検波器２２１〜２２５を用いた通常検波方式による検波と、検波器２３１〜２３７を用いたマルチ検波方式による検波の双方を使用すると、ＳＤＲＡＭ１４から読み出すＲＡＷデータの量が増大してしまい、内部バス２９の伝送負荷が増大し、またＳＤＲＡＭ１４からの読み出しに要する時間も長くなってしまうという問題もあった。例えば、通常検波方式とマルチ検波方式の双方でそれぞれ全画面に亘る検波を行う場合には、ＳＤＲＡＭ１４から１画面分のＲＡＷデータを２回読み出さなくてはならなかった。
【００６２】
これに対して、図５は、本実施の形態に適用される検波部の構成例を示すブロック図である。なお、図５では、図４に対応する機能には同じ符号を付して示している。
本実施の形態に適用される検波部２２は、図５に示すように、セレクタ２００と、それぞれ通常検波方式およびマルチ検波方式のためのＹ−Ｃ合成部２１１および２１２と、通常検波方式のための検波器２２１〜２２５と、マルチ検波方式のための検波器２３０とを備えている。また、検波部２２の入力段にはＲＡＷ伸張部３２が設けられ、その入力段には、内部バス２９を通じたＳＤＲＡＭ１４からのデータ読み出しを制御するＤＭＡコントローラ２２ｂが設けられている。さらに、検波器２３０の出力段には、その検波結果の内部バス２９を通じたＳＤＲＡＭ１４に対する書き込みを制御するＤＭＡコントローラ２２ｃが設けられている。
【００６３】
ここで、本実施の形態では、ＲＡＷ圧縮部３１においては、入力されるＲＡＷデータのうち、水平方向に並列する一定数（例えば１６画素）の同色成分の画素データを１ブロックとして、圧縮画像データが生成されるものとする。図５におけるＲＡＷ伸張部３２は、ＳＤＲＡＭ１４から読み出された圧縮画像データをブロック単位で伸張し、検波部２２に出力する。
【００６４】
セレクタ２００は、ＣＰＵ２６による制御の下で、入力される伸張された画素データを、Ｙ−Ｃ合成部２１１および２１２のいずれかに振り分ける。すなわち、通常検波方式で検波されるＲＡＷデータをＹ−Ｃ合成部２１１に出力し、マルチ検波方式で検波されるＲＡＷデータをＹ−Ｃ合成部２１２に出力する。また、このセレクタ２００は、最小でブロック単位、すなわち１６画素単位で、出力の切り替えを行うようになっている。
【００６５】
Ｙ−Ｃ合成部２１１および２１２は、通常検波方式とマルチ検波方式のためにそれぞれ個別に設けられたことにより、検波方式に応じてそれぞれ異なる種類のデータを生成することが可能になっている。
【００６６】
検波器２２１〜２２５は、図４で説明した通り、それぞれ図２に示した検波枠Ｆａ１〜Ｆａ５に対応して、入力データを検波する。一方、検波器２３０は、図４で示した検波器２３１〜２３７のうちの１つに相当し、図３に示した検波枠Ｆｂ１〜Ｆｂ４９のいずれからでも検波できるようになっている。
【００６７】
ＤＭＡコントローラ２２ｃは、ＤＭＡコントローラ２２ｂによるＳＤＲＡＭ１４からの読み出し制御とは別に、検波器２３０による検波結果のＳＤＲＡＭ１４への書き込みを制御できるようになっている。例えば、ＳＤＲＡＭ１４が入出力の個別チャネルを持つ場合には、検波器２２１〜２２５での通常検波方式での検波の実行時に、検波器２３０での検波結果をＳＤＲＡＭ１４に書き込むことが可能となっている。そして、ＳＤＲＡＭ１４に書き込まれた検波値は、ＣＰＵ２６により読み出されて、各種調整制御のための演算に用いられる。
【００６８】
なお、図示しないが、検波器２２１〜２２５のそれぞれによる検波値も、検波完了後にＳＤＲＡＭ１４に一時的に格納され、ＣＰＵ２６に利用される。あるいは、これらの検波値はＣＰＵ２６に直接読み出されてもよい。ただし、検波器２２１〜２２５に対応する検波枠Ｆａ１〜Ｆａ５は、検波器２３０に対応する検波枠Ｆｂ１〜Ｆｂ４９より大きいため、検波器２２１〜２２５からの検波結果の出力間隔は、検波器２３０からの出力間隔よりはるかに長くなる。
【００６９】
ここで、ＤＭＡコントローラ２２ｂは、ＣＰＵ２６による制御の下で、ＲＡＷデータを、ブロック単位で圧縮された圧縮画像データとしてＳＤＲＡＭ１４から読み出す。すなわち、ＲＡＷデータは、一定数の画素データからなるブロック単位でＳＤＲＡＭ１４から読み出され、検波部２２に供給される。また、ブロックに含まれる画素数は、マルチ検波方式での各検波枠Ｆｂ１〜Ｆｂ４９が持つ水平方向の画素に含まれる同色成分の画素数と同じか、その画素数を等分割した数であることが望ましい。
【００７０】
従って、ブロック単位で読み出されたＲＡＷデータをセレクタ２００で振り分けることで、検波器２２１〜２２５に対するＲＡＷデータの読み出しと、検波器２３０に対する読み出しとを、それぞれ個別に制御することができる。例えば、本実施の形態では、検波器２２１〜２２５に対しては、従来の通常検波方式と同様に、ブロック単位のＲＡＷデータを１ライン分だけ連続して読み出し、供給する。また、検波器２３０に対しては、検波枠Ｆｂ１〜Ｆｂ４９を任意に選択して、その検波枠に必要なＲＡＷデータのみを個別に読み出すことが可能になっている。そして、１ラインごとのＲＡＷデータの読み出しと、任意の検波枠に対応するＲＡＷデータの読み出しとを時分割で交互に実行し、セレクタ２００で振り分けることで、所望の検波器にＲＡＷデータを供給することが可能になる。
【００７１】
なお、図５のように読み出し用の１系統のＤＭＡコントローラ２２ｂを設ける構成の代わりに、通常検波方式とマルチ検波方式のそれぞれのために個別の読み出し用ＤＭＡコントローラおよびＲＡＷ伸張部を設け、それぞれの系統で読み出されて伸張されたデータを、セレクタ２００を用いずに直接Ｙ−Ｃ合成部２１１および２１２に供給する構成としても、上記と同様な動作が可能である。
【００７２】
このように、検波器２３０に対して、画面上の任意の位置のＲＡＷデータを読み出して供給できるようにしたことで、マルチ検波方式のための検波器の数を１つのみにすることができ、回路規模が縮小され、製造コストも抑制される。
【００７３】
また、１ライン分の入力データを保持しておく必要がなく、１つの検波枠からの検波値をＳＤＲＡＭ１４などにすぐに出力できるので、検波部２２に必要とされる回路が、検波枠の数や必要な検波枠の位置に左右されない。換言すれば、同じ大きさの検波枠であれば、その検波枠が画面上にいくつ設定されていても、またどの位置の検波枠からの検波が必要とされても、１つの検波器２３０のみで処理できる。従って、回路規模を大きくすることなく、検波の自由度が高まり、撮像動作や画質補正に対して一層きめ細かい制御を行うことが可能になる。
【００７４】
さらに、ＳＤＲＡＭ１４に対して圧縮されたＲＡＷデータを格納し、その圧縮されたＲＡＷデータを読み出すようにしたことで、上記動作のように、通常検波方式での検波とマルチ検波方式での検波とを並列に実行した場合でも、内部バス２９上の読み出しデータの伝送負荷が軽減され、ＳＤＲＡＭ１４からの読み出しに要する時間も短縮される。例えば、通常検波方式とマルチ検波方式の双方で全画面に亘って検波した場合でも、ＲＡＷデータの圧縮率が後述のように１／２であれば、１画面分の非圧縮のＲＡＷデータをＳＤＲＡＭ１４から読み出す場合と同じ処理時間および伝送負荷で実現できる。
【００７５】
従って、回路規模や製造コストを増大させることなく、撮像動作や画質補正の精度が高く、あるいは撮像時の様々な調整機能などが搭載されて機能が向上された、高速な撮像動作が可能な撮像装置を実現することが可能となる。
【００７６】
次に、本実施の形態で適用されるＲＡＷデータの圧縮／伸張手法について説明する。本実施の形態では、以下で説明するように、固定長の符号化が可能で、かつ、画像品質を良好に保つことができ、しかも比較的簡単な処理で実現できる非可逆圧縮／伸張手法を採用する。
【００７７】
ここで、固定長の符号化を可能とすることで、ＳＤＲＡＭ１４に対して読み書きするＲＡＷデータの帯域を一定に保つことができ、内部バス２９における伝送負荷を安定的に低減できる。また、検波部２２やカメラ信号処理部２３におけるＲＡＷデータの取り扱い（例えばＳＤＲＡＭ１４からの読み出し制御処理）や、内部バス２９を通じたＲＡＷデータの伝送制御処理を、単純化することもできる。特に、検波部２２では、固定長の符号化がなされることで、ＣＰＵ２６によるＤＭＡ２２ｂに対する読み出しアドレス指定やセレクタ２００の切り替え制御が単純化される。
【００７８】
なお、以下の例では、ＲＡＷデータ信号を１画素当たり１４ビット、量子化語長を７ビット固定とし、同一色成分を持つ水平方向の１６画素分を、１ブロックの符号化データに変換する。なお、例えば、１４ビットのデータは、ＳＤＲＡＭ１４において１６ビット分の領域を占有する。上記のように１６画素を１ブロックとすると、１ブロックに対応するＲＡＷデータを圧縮せずにＳＤＲＡＭ１４に記録した場合、２５６ビット分の領域を占有するが、本実施の形態では、このような記録領域を１２８ビット分に圧縮でき、１／２の圧縮率を達成できることになる。
【００７９】
図６は、ＲＡＷ圧縮部の内部構成を示すブロック図である。
図６に示すように、ＲＡＷ圧縮部３１は、折れ線圧縮部３０１、ブロック化部３０２、最大／最小検出部３０３、最小値ラッチ部３０４、最大値ラッチ部３０５、最小値アドレスラッチ部３０６、最大値アドレスラッチ部３０７、減算器３０８および３０９、量子化器３１０、量子化データバッファ３１１、およびパッキング部３１２を備えている。
【００８０】
折れ線圧縮部３０１は、入力された１４ビットのＲＡＷデータを、折れ線を用いた近似により１１ビットのデータに非線形で圧縮する。この折れ線圧縮部３０１は、この後の圧縮手順の前に、できるだけ階調を下げておくことで、全体的な圧縮効率を向上させることを目的として設けられている。このため、目的とする圧縮率によっては、省略されてもよい。なお、この場合には、後の図９で説明するＲＡＷ伸張部３２の出力段に設けられる逆折れ線変換部についても、省略する必要がある。
【００８１】
ここで、図７は、折れ線圧縮部で用いられる折れ線の例を示す図である。
図７では、４つの点で分割された５通りの傾きを持つ直線により、入力データの階調を変換する例を示している。この例では、人間の視覚特性に合わせて、入力データが小さいほど、すなわち暗いほど（または色がうすいほど）、高い階調を割り当てるようにしている。このような折れ線は、例えば色成分ごとに用意し、入力画素の色成分ごとに切り換えて利用してもよい。
【００８２】
折れ線圧縮部３０１では、例えば、このような折れ線を用いて、入力データの階調を変換した後、変換後のデータを８で除算（すなわち３ビット分下位にシフト）して、１１ビットデータに圧縮する。このとき、捨てられる下位ビットは、例えば四捨五入する。あるいは、折れ線圧縮部３０１では、以上のような演算に基づく、入力データと圧縮後の出力データとを対応付けて記憶したＲＯＭテーブルを用意し、このＲＯＭテーブルに従って入出力データの変換が行われてもよい。
【００８３】
以下、図６に戻って説明する。
ブロック化部３０２は、折れ線圧縮部３０１から出力されたデータを、水平方向に隣接する１６画素分の同色成分画素からなるブロックに分離し、分離したブロックごとに出力する。これにより、ブロック内のデータの相関が強くなり、この後の量子化処理による画質劣化を抑制することができる。
【００８４】
例えば、ベイヤ配列の撮像素子１１が用いられた場合、出力データには、Ｒ成分とＧｒ成分の繰り返しと、Ｂ成分とＧｂ成分の繰り返しとが、１ラインごとに出現する。例として、ブロック化部３０２への入力データに、Ｒ０，Ｇｒ０，Ｒ１，Ｇｒ１，……，Ｒ１５，Ｇｒ１５のように、Ｒ成分とＧｒ成分が繰り返し現れる場合には、Ｒ０，Ｒ１，Ｒ２，……，Ｒ１５，Ｇｒ０，Ｇｒ１，……，Ｇｒ１５のように、同色成分の画素が１６個連続して現れるように、出力順序を変換して、ブロック化する。
【００８５】
最大／最小検出部３０３は、１ブロック内における最大値および最小値を検出する。具体的には、１ブロック内における最大値および最小値と、最大値および最小値をとった画素が１ブロックの先頭からそれぞれ何番目かを示すアドレス（以下、最大値アドレスおよび最小値アドレスと呼ぶ）を検出する。最大値アドレスおよび最小値アドレスは、それぞれ０〜１５のアドレス値として検出される。
【００８６】
ただし、同一の値を持つ画素がブロック内に複数存在し、かつその値が最大値または最小値であった場合を考慮して、最大値および最小値の判定には、以下のような判定ルールを設けることで、圧縮・伸張処理上の混乱を避けるようにする。まず、最大値の判定にあたっては、初期化動作として、０番目の画素の値をテンポラリな最大値（テンポラリ最大値）として取り込む。次に、１〜１５番目の画素については、テンポラリ最大値以上の値であれば、その画素の値でテンポラリ最大値を更新する。これにより、１５番目の画素の判定後のテンポラリ最大値が、ブロック内の最大値と判定される。
【００８７】
また、最小値の判定にあたっては、同様に、初期化動作として、０番目の画素の値をテンポラリな最小値（テンポラリ最小値）として取り込む。次に、１〜１５番目の画素については、テンポラリ最大値未満の値であれば、その画素の値でテンポラリ最小値を更新する。これにより、１５番目の画素の判定後のテンポラリ最小値が、ブロック内の最小値と判定される。
【００８８】
例えば、１６画素のうち、先頭の２画素（０番目，１番目）が、同一の最大値をとる場合には、最大値アドレスは“１”となる。また、１６画素がすべて同じ値の場合には、最小値アドレスは“０”、最大値アドレスは“１５”となる。
【００８９】
なお、最大／最小検出部３０３は、検出した最小値および最大値を、それぞれ最小値ラッチ部３０４および最大値ラッチ部３０５に出力し、最小値アドレスおよび最大値アドレスを、それぞれ最小値アドレスラッチ部３０６および最大値アドレスラッチ部３０７に出力する。また、入力された１ブロック分のデータを、そのブロックの最大および最小判定の終了後に、減算器３０８に順次出力する。
【００９０】
最小値ラッチ部３０４および最大値ラッチ部３０５は、最大／最小検出部３０３からの最小値および最大値を、それぞれラッチする。また、最小値アドレスラッチ部３０６および最大値アドレスラッチ部３０７は、最大／最小検出部３０３からの最小値アドレスおよび最大値アドレスを、それぞれラッチする。これらの最小値ラッチ部３０４、最大値ラッチ部３０５、最小値アドレスラッチ部３０６、および最大値アドレスラッチ部３０７は、入力データに対応するブロックがパッキング部３１２において符号化されるまでの間、その入力データをラッチする。
【００９１】
減算器３０８は、最大／最小検出部３０３から出力される画素のデータから、最小値ラッチ部３０４が出力する対応するブロックの最小値を減算する。この減算は、１ブロック内の画素に共通するＤＣオフセット分を、各画素のデータから差し引くことと等価である。
【００９２】
減算器３０９は、最大値ラッチ部３０５が出力する最大値から、最小値ラッチ部３０４が出力する対応するブロックの最小値を減算する。この減算結果は、量子化時におけるダイナミックレンジ（ＤＲ）を示す。
【００９３】
量子化器３１０は、減算器３０８の出力データを、減算器３０９から出力されるダイナミックレンジの大きさに従って量子化する。本実施の形態では、例として、７ビットの固定長で量子化する。
【００９４】
この量子化器３１０としては、例えば、整数型の除算器を利用して、減算器３０８の出力データをダイナミックレンジで除算する構成を適用できる。また、量子化ステップを２のべき乗に限定した場合には、以下のように動作するビットシフタを適用でき、これにより回路規模を削減することができる。なお、圧縮処理側でこのようなビットシフタを利用すると、伸張処理側の逆量子化においても同様に回路規模を削減できる。
【００９５】
減算器３０８からの１１ビットの入力データを７ビットデータに量子化する場合、例えば以下のようなシフト動作を行えばよい。
［０≦ＤＲ≦１２７のとき］入力データをそのまま出力する。
【００９６】
［１２８≦ＤＲ≦２５５のとき］入力データを１ビット分下位にシフトする。
［２５６≦ＤＲ≦５１１のとき］入力データを２ビット分下位にシフトする。
［５１２≦ＤＲ≦１０２３のとき］入力データを３ビット分下位にシフトする。
【００９７】
［１０２４≦ＤＲ≦２０４７のとき］入力データを４ビット分下位にシフトする。
量子化データバッファ３１１は、量子化器３１０から出力される１６画素分の量子化データを一時的に保持する。
【００９８】
パッキング部３１２は、量子化データバッファ３１１、最小値ラッチ部３０４、最大値ラッチ部３０５、最小値アドレスラッチ部３０６、および最大値アドレスラッチ部３０７からの出力データを利用して、１ブロック当たり１２８ビットの圧縮データにパッキングする。このパッキング部３１２は、量子化データバッファ３１１から各画素に対応する量子化データを読み出す際に、最小値アドレスラッチ部３０６および最大値アドレスラッチ部３０７の出力データに基づいて、最大値および最小値に対応する量子化データを破棄し、次の図４に示すように、ブロック内の残りの１４画素分の量子化データのみパッキングする。
【００９９】
図８は、パッキングにより生成される１ブロック分の圧縮データの構成を示す図である。
この図８に示すように、圧縮データは、ブロック内の最大値および最小値（ともに１１ビット）と、それらの値に対応する最大値アドレスおよび最小値アドレス（ともに４ビット）と、最大値および最小値をとる画素を除く１４画素分の量子化データ（９８ビット）とから構成される。
【０１００】
ここで、ブロック内の最大値および最小値がパッキングされているので、これらに対応する量子化データを省略し、代わりに、これらの画素の位置を示す最大値アドレスおよび最小値アドレスをパッキングしておくことで、伸張時に元のデータを復元可能にしている。量子化データが７ビットなのに対して、アドレスは１６番地分のため４ビットであるので、これらの差分から、１ブロック当たり、最大値および最小値をあわせて６ビットの削減効果が得られる。以上より、２５６ビット分のメモリ領域を占める１６画素分のＲＡＷデータを、１／２に圧縮した１２８ビットのデータが得られる。
【０１０１】
次に、図９は、ＲＡＷ伸張部の内部構成を示すブロック図である。なお、以下ではＲＡＷ伸張部３２について説明するが、ＲＡＷ伸張部３３も同じ構成を有するので、ここでは説明を省略する。
【０１０２】
図９に示すように、ＲＡＷ伸張部３２は、データラッチ部３２１、セレクタ３２２、減算器３２３、逆量子化器３２４、加算器３２５、アドレスカウンタ３２６、アドレス比較部３２７、セレクタ３２８、逆折れ線変換部３２９、および点順次処理部３３０を備えている。
【０１０３】
データラッチ部３２１は、ＳＤＲＡＭ１４から読み出された１２８ビットの圧縮データをラッチする。なお、このデータラッチ部３２１は、入力データに対応するブロックがセレクタ３２８においてすべて処理されるまでの間、その入力データをラッチする。
【０１０４】
セレクタ３２２は、データラッチ部３２１でラッチされたデータのうち、量子化データ（９８ビット）を受け取り、そのデータから１画素分に相当する７ビット分のデータをシーケンシャルに選択して、逆量子化器３２４に供給する。
【０１０５】
減算器３２３は、データラッチ部３２１でラッチされたデータのうち、最大値（１１ビット）および最小値（１１ビット）を受け取り、最大値から最小値を減算して、ダイナミックレンジを出力する。
【０１０６】
逆量子化器３２４は、セレクタ３２２からの画素ごとの量子化データを、ダイナミックレンジの大きさに従って逆量子化する。本実施の形態では、７ビットの固定長符号を逆量子化して、１１ビットのデータを出力する。
【０１０７】
この逆量子化器３２４としては、例えば、整数型の乗算器を利用して、量子化データとダイナミックレンジを乗算する構成を適用できる。また、上記の量子化器３１０の説明で述べた通り、量子化ステップを２のべき乗に限定して量子化した場合には、ビットシフタで構成することができ、これにより回路規模を削減することができる。このビットシフタは、例えば以下のように動作する。
【０１０８】
［０≦ＤＲ≦１２７のとき］入力データ（量子化データ）をそのまま出力する。
［１２８≦ＤＲ≦２５５のとき］入力データを１ビット分上位にシフトする。
［２５６≦ＤＲ≦５１１のとき］入力データを２ビット分上位にシフトする。
【０１０９】
［５１２≦ＤＲ≦１０２３のとき］入力データを３ビット分上位にシフトする。
［１０２４≦ＤＲ≦２０４７のとき］入力データを４ビット分上位にシフトする。
加算器３２５は、逆量子化器３２４の出力データと、データラッチ部３２１でラッチされた最小値とを加算する。これにより、逆量子化されたデータに、ブロック内の共通のＤＣオフセット値が加算される。
【０１１０】
アドレスカウンタ３２６は、画素の出力タイミングにあわせてカウントアップ動作を行い、ブロック内の画素順に対応したカウント値（０〜１５）を生成する。
アドレス比較部３２７は、データラッチ部３２１でラッチされたデータのうち、最大値アドレスおよび最小値アドレスを受け取り、アドレスカウンタ３２６からのカウント値と比較し、各アドレスの値と一致した場合に、セレクタ３２８に対して選択信号を出力する。
【０１１１】
セレクタ３２８は、加算器３２５からのデータ、データラッチ部３２１からの最大値および最小値を選択して出力する。具体的には、アドレス比較部３２７から、最小値アドレスに対応する選択信号を受信したときは、データラッチ部３２１からの最大値を選択出力し、最小値アドレスに対応する選択信号を受信したときは、データラッチ部３２１からの最小値を選択出力し、それ以外では、加算器３２５からのデータを選択出力する。これにより、１１ビットに圧縮されている同色画素のデータが、画素順に伸張される。
【０１１２】
逆折れ線変換部３２９は、セレクタ３２８からのデータを、ＲＡＷ圧縮部３１の折れ線圧縮部３０１と逆の特性により、１１ビットから１４ビットのデータに伸張する。
ここで、図１０は、逆折れ線変換部で用いられる折れ線の例を示す図である。
【０１１３】
この図１０の折れ線は、図７で示した折れ線圧縮部３０１における折れ線と、逆の特性により階調を変換するようになっている。逆折れ線変換部３２９は、まず、入力データに８を乗算（すなわち３ビット分上位にシフト）して１４ビット化した後、図１０の折れ線を用いて階調変換し、１４ビットの画素のデータを伸張する。なお、入力データと伸張後の出力データとを対応付けて記憶したＲＯＭテーブルを用意し、このＲＯＭテーブルに従って入出力データの変換が行われてもよい。
【０１１４】
なお、圧縮時に、折れ線圧縮部３０１による圧縮が適用されなかった場合には、伸張時には、この逆折れ線変換部３２９でのデータ変換もバイパスされる。
以下、図９に戻って説明する。
【０１１５】
点順次処理部３３０は、ＲＡＷ圧縮部３１のブロック化部３０２で実行されたブロック化と逆のプロセスで、伸張されたデータを元のＲＡＷデータの画素順に変換して出力する。例えば、Ｒ０，Ｒ１，Ｒ２，……，Ｒ１５，Ｇｒ０，Ｇｒ１，……，Ｇｒ１５のように、同色成分の画素が１６個連続するようにブロック化されて圧縮されていた場合には、このようなデータを、Ｒ０，Ｇｒ０，Ｒ１，Ｇｒ１，……，Ｒ１５，Ｇｒ１５のように、Ｒ成分とＧｒ成分が繰り返し現れるように並び替える。このような並び替えを行うために、点順次処理部３３０は、伸張された２ブロック分のデータを保持するためのバッファメモリを備え、２ブロック分のデータがバッファメモリに蓄積された時点で、各色成分のデータを交互に出力する。
【０１１６】
以上の構成のＲＡＷ圧縮部３１、ＲＡＷ伸張部３２および３３によれば、圧縮時の１画素当たりの量子化語長を固定長とすることで、固定長の符号化を行って圧縮することができる。従って、内部バス２９を通じてＳＤＲＡＭ１４に読み書きされるデータの帯域を、一定のレベルに低減することができ、ＳＤＲＡＭ１４に対するアドレス管理を簡易にすることもできる。
【０１１７】
また、圧縮する１ブロックの画素数と量子化語長との組み合わせで圧縮率が決まるので、必要とする画質（すなわち、許容できる圧縮ひずみの量）や、伝送されるバスでの伝送帯域の割り当て、ＳＤＲＡＭ１４の読み書きの性能などにあわせて、柔軟に対応することができる。例えば、上記の実施の形態のように、１６画素分のＲＡＷデータを、量子化語長７ビットで量子化することで、圧縮率を１／２としながらも、通常の自然画であれば、圧縮／伸張後に輝度／色差信号に変換した時点でのＰＳＮＲ（Peak Signal to Noise Ratio）を、５０ｄＢ程度に維持できる。この信号のＰＳＮＲが５０ｄＢ〜４０ｄＢ程度であれば、圧縮歪みが肉眼では検知できない程度に抑えられるので、上記構成により画質劣化をほぼなくすことができる。
【０１１８】
また、基本的に一次元処理により圧縮／伸張処理が実行されるので、例えば、上下ラインの画素のデータを参照するためのラインメモリが不要になり、処理も比較的簡単になる。このため、圧縮／伸張のための回路規模や、製造コストを抑制でき、処理の高速化、および処理時間の短縮の効果を高められる。すなわち、ＳＤＲＡＭ１４におけるＲＡＷデータの読み書き時間の短縮効果や、内部バス２９の伝送負荷軽減効果を、確実に向上させることができる。
【０１１９】
従って、撮像時の動作が高速で、高画質の画像を記録／表示でき、かつ、小型で製造コストの比較的低い撮像装置を実現できる。
なお、上記構成のＲＡＷ圧縮部３１、ＲＡＷ伸張部３２および３３では、量子化語長の設定により、可変長の符号化を行うようにすることもできる。例えば、圧縮時において、ダイナミックレンジを基に適応的に量子化語長を変化させることで、可変長の符号化を行い、圧縮効率をさらに高めることができる。さらに、同様の手法で可逆圧縮として、画質劣化を完全に防止することもできる。ただし、この場合には折れ線による圧縮／伸張は行わない。
【０１２０】
また、ＣＰＵ２６により、ＲＡＷ圧縮部３１およびＲＡＷ伸張部３２の設定を適応的に制御してもよい。例えば、量子化語長や１ブロックの画素数を変化させる、折れ線圧縮／伸張機能をオン／オフするなどの制御により、圧縮率を変化させることができる。また、ＲＡＷ圧縮部３１およびＲＡＷ伸張部３２の機能をオン／オフできるようにしてもよい。例えば、連写時のみ圧縮／伸張機能をオンにする、ＲＡＷデータをストレージデバイス１６に記録するモードでは圧縮／伸張機能をオフにするなどの制御を適用できる。
【０１２１】
また、ＲＡＷ圧縮部３１およびＲＡＷ伸張部３２の機能を、上記の位置の代わりに、例えばＳＤＲＡＭコントローラ２８と内部バス２９との間に設けた場合でも、ＳＤＲＡＭ１４に対するＲＡＷデータの書き込み／読み出しに要する時間を短縮し、ＳＤＲＡＭ１４の容量を小さくする効果が得られる。
【０１２２】
また、上述した圧縮手法において、量子化ステップを２のべき乗とした場合には、量子化器はビットシフタにより構成できる。この場合、シフト量が、ブロック内のダイナミックレンジを示唆することになる。ここで、ブロック内の最大値を量子化した場合は、その全ビットが１となるのは自明であるため、伸張側では、最大値の絶対量の代わりに、シフト量から、最大値の量子化データを求め、伸張できる。
【０１２３】
従って、圧縮データ中に、最大値（１１ビット）の代わりに量子化器でのシフト量（上記動作例では少なくとも３ビット）を格納することで、圧縮データに格納すべきデータのビット数を減らすことができる。このため、圧縮率をさらに高める、あるいは量子化語長を高めて画質を向上させることが可能となる。
【０１２４】
また、上記の各実施の形態では、ＲＡＷデータをラインごとにブロック化して圧縮する例を示したが、上記の圧縮／伸張手法を応用して、複数ラインに亘る矩形領域ごとにブロック化することも可能である。例えば、ＣＭＯＳセンサのように全画素読み出し（プログレッシブ読み出し）が可能な撮像素子を用いた場合には、シーケンシャルに画素のデータが読み出されるため、垂直方向に対する画素のデータの相関が強くなる。従って、矩形領域内の画素をブロック化しても、画質を劣化させることなく圧縮を行うことができる。さらに、ブロック化する矩形領域を、マルチ検波方式で用いる検波枠と同じにすることもできる。
【図面の簡単な説明】
【０１２５】
【図１】本発明の第１の実施の形態に係る撮像装置の構成を示すブロック図である。
【図２】通常検波方式の例について説明するための図である。
【図３】マルチ検波方式の例について説明するための図である。
【図４】従来の検波部の構成例を示すブロック図である。
【図５】本実施の形態に適用される検波部の構成例を示すブロック図である。
【図６】ＲＡＷ圧縮部の内部構成を示すブロック図である。
【図７】折れ線圧縮部で用いられる折れ線の例を示す図である。
【図８】パッキングにより生成される１ブロック分の圧縮データの構成を示す図である。
【図９】ＲＡＷ伸張部の内部構成を示すブロック図である。
【図１０】逆折れ線変換部で用いられる折れ線の例を示す図である。
【図１１】従来の撮像装置の構成例を示すブロック図である。
【符号の説明】
【０１２６】
１１……撮像素子、１２……アナログフロントエンド（ＡＦＥ）回路、１３……デジタル画像処理回路、１４……ＳＤＲＡＭ、１４ａ……キャプチャデータエリア、１４ｂ……ＪＰＥＧ符号エリア、１４ｃ……ＣＰＵワークエリア、１５……ＲＯＭ、１６……ストレージデバイス、２１……カメラ信号前処理部、２２，２２ａ……検波部、２２ｂ，２２ｃ……ＤＭＡコントローラ、２３……カメラ信号処理部、２４……解像度変換部、２５……ＪＰＥＧエンジン、２６……ＣＰＵ、２７……ビデオ出力エンコーダ、２７ａ……ビデオ出力端子、２８……ＳＤＲＡＭコントローラ、２９……内部バス、３１……ＲＡＷ圧縮部、３２，３３……ＲＡＷ伸張部、２００……セレクタ、２１１，２１２……Ｙ−Ｃ合成部、２２１〜２２５，２３０……検波器
【図１】
2007228514.tif 000003
【図２】
2007228514.tif 000004
【図３】
2007228514.tif 000005
【図４】
2007228514.tif 000006
【図５】
2007228514.tif 000007
【図６】
2007228514.tif 000008
【図７】
2007228514.tif 000009
【図８】
2007228514.tif 000010
【図９】
2007228514.tif 000011
【図１０】
2007228514.tif 000012
【図１１】
2007228514.tif 000013