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