(57)【要約】【課題】Ｒａｗ画像のデータ圧縮率を高めることができる画像データ圧縮回路を提供する。【解決手段】所定ビットの同色の隣接２画素値Ｐａ及びＰｂを入力し、オプティカルブラックの画素値ＯＢを参照して、所定ビット内で２画素値の差分値に応じた値Ｓａｂｕｎを算出して出力する差分算出部２１と、差分算出部２１が算出した差分値に応じた値Ｓａｂｕｎを、瞬時復号可能な可変長の符号語を用いて符号化するエントロピー符号化部２２とを備えている。【選択図】図２
2015115721.tif 000002
【特許請求の範囲】
【請求項１】
所定ビットの同色の隣接２画素値を入力し、オプティカルブラックの画素値を参照して、前記所定ビット内で前記２画素値の差分値に応じた値を算出して出力する差分算出部と、
前記差分算出部が算出した前記差分値に応じた値を、瞬時復号可能な可変長の符号語を用いて符号化する符号化部と
を備えることを特徴とする画像データ圧縮回路。
【請求項２】
前記符号化部が、前記差分算出部が算出した前記差分値に応じた値を、前記差分値に応じた値の範囲を表す瞬時復号可能な可変長の第１符号語と前記差分値に応じた値を表す可変長の第２符号語とに変換する
ことを特徴とする請求項１に記載の画像データ圧縮回路。
【請求項３】
前記差分算出部が前記オプティカルブラックの画素値を参照する処理が、前記差分値に応じた値を算出する際に算出結果が前記所定ビットをオーバーフローしないように加算又は減算する所定の定数値から前記オプティカルブラックの画素値を減じる処理に相当するものである
ことを特徴とする請求項１又は２に記載の画像データ圧縮回路。
【請求項４】
所定ビットの同色の隣接２画素値を入力し、オプティカルブラックの画素値を参照して、前記所定ビット内で前記２画素値の差分値に応じた値を算出して出力する差分算出ステップと、
前記差分算出ステップで算出した前記差分値に応じた値を、瞬時復号可能な可変長の符号語を用いて符号化する符号化ステップと
を含むことを特徴とする画像データ圧縮方法。
【請求項５】
有効画素領域とオプティカルブラック領域とを有する撮像素子と、
前記撮像素子が出力した画像信号を所定ビットの画素値に変換するアナログ・デジタル変換部と、
前記アナログ・デジタル変換部が変換した前記有効画素領域内の同色の隣接２画素の前記所定ビットの２画素値を入力し、前記オプティカルブラック領域内のオプティカルブラックの画素値を参照して、前記所定ビット内で前記２画素値の差分値に応じた値を算出して出力する差分算出部と、
前記差分算出部が算出した前記差分値に応じた値を、瞬時復号可能な可変長の符号語を用いて符号化する符号化部と
を備えることを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ圧縮回路、画像データ圧縮方法及び撮像装置に関する。
【背景技術】
【０００２】
近年では、例えばデジタルスチルカメラ本体で画像処理するのではなく、「撮像素子の生の情報」を不揮発性メモリーカード等の記録媒体に格納し、ＰＣ（パーソナルコンピュータ）上の画像処理ソフトウエアで、画像処理を行うユーザーが増加している。このような「撮像素子の生の情報」はＲａｗ画像と呼ばれている。
【０００３】
一般的にカメラ本体では、サイズの大きい画像データを高効率に画像圧縮し、不揮発性メモリーカード等の記録媒体へ記録を行うことが望ましい。画像圧縮を行うことで、記録可能な撮影枚数が増えるため、ユーザーの利便性が向上する。そのため、他の画像フォーマットと同様、Ｒａｗ画像についても種々の圧縮技術が検討されている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１９４７６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したＲａｗ画像はＰＣ上で画像処理されるものであるため、Ｒａｗ画像圧縮は、可逆圧縮方式であることが望ましい。可逆圧縮とは、データの欠落が全く発生しない圧縮方式である。可逆圧縮方式により圧縮された符号を復号すると、圧縮前のデータを完全に復元することができる。ただし、非可逆圧縮方式と比べると、圧縮率を高めることが難しいという課題がある。
【０００６】
本発明は、上記の事情を考慮してなされたものであり、Ｒａｗ画像を圧縮する際のデータ圧縮率を高めることができる画像データ圧縮回路、画像データ圧縮方法及び撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明の画像データ圧縮回路は、所定ビットの同色の隣接２画素値を入力し、オプティカルブラックの画素値を参照して、前記所定ビット内で前記２画素値の差分値に応じた値を算出して出力する差分算出部と、前記差分算出部が算出した前記差分値に応じた値を、瞬時復号可能な可変長の符号語を用いて符号化する符号化部とを備えることを特徴とする。
【０００８】
また、本発明の他の画像データ圧縮回路は、前記符号化部が、前記差分算出部が算出した前記差分値に応じた値を、前記差分値に応じた値の範囲を表す瞬時復号可能な可変長の第１符号語と前記差分値に応じた値を表す可変長の第２符号語とに変換することを特徴とする。
【０００９】
また、本発明の他の画像データ圧縮回路は、前記差分算出部が前記オプティカルブラックの画素値を参照する処理が、前記差分値に応じた値を算出する際に算出結果が前記所定ビットをオーバーフローしないように加算又は減算する所定の定数値から前記オプティカルブラックの画素値を減じる処理に相当するものであることを特徴とする。
【００１０】
また、本発明の画像データ圧縮方法は、所定ビットの同色の隣接２画素値を入力し、オプティカルブラックの画素値を参照して、前記所定ビット内で前記２画素値の差分値に応じた値を算出して出力する差分算出ステップと、前記差分算出ステップで算出した前記差分値に応じた値を、瞬時復号可能な可変長の符号語を用いて符号化する符号化ステップとを含むことを特徴とする。
【００１１】
また、本発明の撮像装置は、有効画素領域とオプティカルブラック領域とを有する撮像素子と、前記撮像素子が出力した画像信号を所定ビットの画素値に変換するアナログ・デジタル変換部と、前記アナログ・デジタル変換部が変換した前記有効画素領域内の同色の隣接２画素の前記所定ビットの２画素値を入力し、前記オプティカルブラック領域内のオプティカルブラックの画素値を参照して、前記所定ビット内で前記２画素値の差分値に応じた値を算出して出力する差分算出部と、前記差分算出部が算出した前記差分値に応じた値を、瞬時復号可能な可変長の符号語を用いて符号化する符号化部とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、オプティカルブラック画素の画素値を参照して画素値のビット内で２画素値の差分値に応じた値が算出される。このオプティカルブラック画素の画素値は熱による暗電流ノイズ（つまりオフセット分）である。このため、画素値がゼロからオプティカルブラック画素の画素値までの範囲には有効な画素値は存在しない。したがって、例えば画素値に含まれるオプティカルブラック画素の画素値分をマスク（すなわち無視）すること等によって全体として差分値に応じた値をゼロの方向へ偏らせることができる。そして、ゼロに近い差分値に応じた値に対してより小さい符号長の符号語を割り当てることで容易に圧縮率の向上を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態としての撮像装置１の構成例を示したブロック図である。
【図２】図１に示したデータ圧縮部１４１の構成例を説明するためのブロック図である。
【図３】図２に示した差分算出部２１の動作を説明するためのフローチャートである。
【図４】図２に示した差分算出部２１の動作を説明するための説明図である。
【図５】図２に示したエントロピー符号化部２２の動作を説明するための図表である。
【図６】図２に示した差分算出部２１の動作を説明する際に用いる比較技術の説明図である。
【図７】図２に示した差分算出部２１の動作を説明する際に用いる比較技術の説明図である。
【図８】図２に示した差分算出部２１の動作を説明する際に用いる比較技術の説明図である。
【図９】図２に示したデータ圧縮部１４１の効果を説明するための図表である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態について説明する。図１は、本発明の一実施形態である撮像装置１の構成例を示したブロック図である。図１（ａ）が撮像装置１の全体構成を示し、図１（ｂ）が図１（ａ）に示した一部の構成の変形例を示している。図１（ａ）に示した構成例では、撮像装置１が、光学系１１、撮像素子１２、Ａ／Ｄ（アナログ・デジタル）変換部１３、画像処理装置１４、システムバス１５、ＣＰＵ（中央処理装置）１６、フレームメモリ１７、記録媒体インターフェース（Ｉ／Ｆ）１８及び記録媒体１９を備えている。撮像装置１は、監視カメラ、カメラ機能を有する携帯電話、デジタルスチルカメラ、デジタルビデオカメラなど、映像を撮影する機器及び記録する機器あるいはその一部を構成する。
【００１５】
光学系１１は、１又は複数のレンズを有して構成され、撮像素子１２へ入射する光信号を集光したり、屈折させたりする。撮像素子１２は、光学系１１を介して入射した光信号を各画素を構成する複数のフォトダイオード等の受光素子を用いて電気信号に変換する半導体センサーであり、有効画素領域１２１とオプティカルブラック領域１２２とを有している。
【００１６】
有効画素領域１２１は、光学系１１を介して入射した光信号が当たる複数の画素を有している。つまり、有効画素領域１２１内の複数の画素によって光信号が電気信号に変換される。また、有効画素領域１２１の各画素は、フォトダイオード等の受光素子と、ＲＧＢ（赤・緑・青）３色の中のいずれかの色の色フィルタと、集光用のマイクロレンズとを用いて構成されている。ここで各色の色フィルタは、ベイヤー配列と呼ばれる配列で並べられている。ベイヤー配列は、Ｇフィルタを市松模様に並べ、Ｇフィルタの間を埋めるようにＲフィルタとＢフィルタとをそれぞれ直線状に並べた配列である。したがって、Ｇの画素はすべてのラインに配置され、ＲとＢの画素は１ラインおきに配置されている。
【００１７】
オプティカルブラック領域１２２は、光信号が当たらない複数の画素から構成されている。この画素は、光学的な画素値ゼロ（すなわち黒）の基準を決定する際に用いられる画素であり、オプティカルブラック画素、無効画素等と呼ばれている。オプティカルブラック画素は暗電流によって生じた電荷に応じた（すなわちオフセット分の）電気信号を出力する。オプティカルブラック領域１２２は、例えば有効画素領域１２１の周囲を囲むように配置されている。図示するオプティカルブラック領域１２２の配置は例であり、撮像素子によりその配置領域は異なる。
【００１８】
Ａ／Ｄ変換部１３は、撮像素子１２が出力したアナログの画像信号をデジタルの画像信号に変換する。ただし、撮像素子１２とＡ／Ｄ変換部１３とは図１に示したように別構成であってもよいし、これと異なり一体的に構成されたものであってもよい。Ａ／Ｄ変換部１３は、各画素から出力されたアナログの画像信号を、画素毎に所定ビットのデジタルの画素信号（すなわち画素値）に変換し、フレームメモリ１７に書き込む。このＡ／Ｄ変換部１３が出力した各画素の画素値が上述したＲａｗ画像を構成する。
【００１９】
画像処理装置１４は、デジタルシグナルプロセッサ等から構成され、例えば図示していない内部の不揮発性記憶装置に記憶されているプログラムを実行することで所定の信号処理を行う。図１（ａ）に示した例では、画像処理装置１４は、データ圧縮部１４１と、画像信号処理部１４２と、データ圧縮伸張部１４３とを有している。
【００２０】
データ圧縮部１４１は、Ａ／Ｄ変換部１３が書き込んだＲａｗ画像をフレームメモリ１７から読み出し、データ圧縮処理を行い、圧縮した画像データをフレームメモリ１７に書き込む。このデータ圧縮部１４１が本発明の画像データ圧縮回路の一構成例である。一般的に「自然画像の隣接する画素値は似ている」という性質があり、“画素の相関性”と呼ばれる。Ｒａｗ画像圧縮技術にはこの“画素の相関性”を利用することができる。画素の相関性によれば、同色の隣接画素同士の差分値の出現頻度は、差分値ゼロが最も出現頻度が高くなり、差分値が大きくなるほど出現頻度が低くなる。隣接画素同士の差分値の出現頻度は、一般的に差分値ゼロを中心にしたガウス分布に従う。データ圧縮部１４１は、同色の隣接画素同士の差分値を、差分値の出現頻度に応じて可変長符号に変換する符号化処理によって圧縮する。つまり、差分値がゼロにより近い値に対して符号長がより短い符号語を割り当てる変換処理を行うことで差分値を表すデータを圧縮する。その際、本実施形態のデータ圧縮部１４１は、同色の隣接画素同士の差分値を算出するときに、オプティカルブラック画素の画素値を参照した処理を行うことを特徴としている。この特徴の詳細については後述する。なお、圧縮した画像データは、データ圧縮部１４１から直接あるいはフレームメモリ１７を介して記録媒体１９へ書き込むことができる。
【００２１】
画像信号処理部１４２は、データ圧縮伸張部１４３を介してフレームメモリ１７あるいは記録媒体１９から読み出した画像データに対して所定の画像処理を行い、処理を行った画像データをデータ圧縮伸張部１４３を介してフレームメモリ１７あるいは記録媒体１９へ書き込む。画像信号処理部１４２による画像処理は、特に限定されないが、例えばＯＢ（オプティカル）補正、シェーディング補正、欠陥画素補正、ＲＧＢ補間処理、階調変換処理、エッジ強調処理などがある。
【００２２】
データ圧縮伸張部１４３は、フレームメモリ１７あるいは記録媒体１９から読み出した圧縮された画像データを伸張したり、フレームメモリ１７あるいは記録媒体１９へ書き込む画像データに対して圧縮処理を行ったりする。データ圧縮伸張部１４３による圧縮又は伸張処理は、可逆の圧縮方式と非可逆の圧縮方式を含む複数の圧縮方式に対応可能とすることができる。データ圧縮伸張部１４３は、例えば、データ圧縮部１４１によって圧縮されたＲａｗ画像を表す画像データを伸張して、Ｒａｗ画像を表す非圧縮の画像データを生成する処理等を行うことができる。
【００２３】
システムバス１５は、Ａ／Ｄ変換部１３、データ圧縮部１４１、データ圧縮伸張部１４３、ＣＰＵ１６、フレームメモリ１７、記録媒体インターフェース１８等の各部を相互に接続し、画像データ等のデータを転送する。ＣＰＵ１６は、例えば所定の不揮発性記憶装置に記憶されているプログラムを実行することで、光学系１１、撮像素子１２、Ａ／Ｄ変換部１３、画像処理装置１４、フレームメモリ１７等の各部を制御する。
【００２４】
フレームメモリ１７は、例えばＤＲＡＭ（ダイナミックランダムアクセスメモリ）、ＳＲＡＭ（スタティックランダムアクセスメモリ）等からなり、１又は複数フレーム分の画像データ等を記憶する。記録媒体インターフェース１８は、着脱自在に接続されている記録媒体１９に対してデータを書き込んだり、記録媒体１９からデータを読み出したりする際にデータの入出力制御を行う。記録媒体１９は、着脱自在に構成された不揮発性の記憶媒体である。
【００２５】
なお、図１（ａ）に示した撮像装置１では、Ａ／Ｄ変換部１３とデータ圧縮部１４１とシステムバス１５との接続関係を、図１（ｂ）に示すように変更することができる。ここで図１（ｂ）では、図１（ａ）のＡ／Ｄ変換部１３とデータ圧縮部１４１とに対応する構成を、Ａ／Ｄ変換部１３ａとデータ圧縮部１４１ａとして示している。図１（ｂ）に示した構成例では、Ａ／Ｄ変換部１３ａの出力をデータ圧縮部１４１ａへ入力し、データ圧縮処理を行った後、フレームメモリ１７等へ書き込むことができる。
【００２６】
なお、図１に示した構成は撮像装置１が備える主な構成要素を示したものであり、撮像装置１は、例えば、他に電源回路、表示部、操作部、通信装置、バッテリ等の構成要素の一部又は全部を備えることができる。
【００２７】
次に、図２から図５を参照して、図１を参照して説明したデータ圧縮部１４１又は１４１ａ（以下、データ圧縮部１４１で代表する）の構成例について説明する。図２に示したデータ圧縮部１４１は、差分算出部２１と、エントロピー符号化部２２とを備えている。
【００２８】
差分算出部２１は、Ａ／Ｄ変換部１３が出力したＲａｗ画像を構成する圧縮前の画像データの各画素値から、有効画素領域１２１内で隣接する２画素の画素値Ｐａ及びＰｂを入力するとともに、オプティカルブラック領域１２２内の複数のオプティカルブラック画素の画素値ＯＢを入力する。ここで、画素値Ｐａ及びＰｂは、同一フレーム内の同一色の画素のうちで隣接した２つの画素の画素値である。また、オプティカルブラック画素の画素値ＯＢは、例えば、同一フレーム内の複数のオプティカルブラック画素の各画素値のうち最小の画素値とすることができる。この画素値ＯＢは、Ｒａｗ画像データを圧縮した画像データを含む画像データファイルの例えばヘッダー領域に格納され、復号処理の際に参照可能とされる。
【００２９】
次に、図３及び図４を参照して、差分算出部２１の動作について説明する。なお、以下では画素値Ｐａ及び画素値Ｐｂが８ビットであるとして説明を行う。ただし、画素値Ｐａ及び画素値Ｐｂのビット数は８ビットに限定されず、７ビット以下でも９ビット以上であってもよい。
【００３０】
ＳＴＥＰ１：差分算出部２１は、隣接画素の画素値（Ｐａ，Ｐｂ）及びオプティカルブラック画素の画素値ＯＢ（以下では特に断らない場合、複数の画素値ＯＢの最小値を画素値ＯＢとして説明を行う）を入力する。
【００３１】
ＳＴＥＰ２：差分算出部２１は、減算処理Ｐｂ−Ｐａを行う。
【００３２】
ＳＴＥＰ３：差分算出部２１による差分算出処理の仕方は３通りあり、ＳＴＥＰ２での減算処理結果に応じてどの処理の仕方を選択するのかを判定する。差分算出部２１は、ＳＴＥＰ２の減算処理でＰｂ−Ｐａ＜−１２８となった場合は、処理の仕方を“Ｃａｓｅ［１］”とする。また、差分算出部２１は、ＳＴＥＰ２の減算処理でＰｂ−Ｐａ＞１２７となった場合は、処理の仕方を“Ｃａｓｅ［２］”とする。また、差分算出部２１は、その他の場合は、処理の仕方を“Ｃａｓｅ［３］”とする。
【００３３】
ＳＴＥＰ４：差分算出部２１は、ＳＴＥＰ３で判定した処理の仕方にて差分値に応じた値Ｓａｂｕｎを算出する。ここで、差分値に応じた値Ｓａｂｕｎは、差分値（Ｐａ−Ｐｂ）に対応する値であり、差分値（Ｐａ−Ｐｂ）と等しい値、又は所定の演算処理を行うことで差分値（Ｐａ−Ｐｂ）を算出することができる値である。差分算出部２１は、“Ｃａｓｅ［１］”の場合、差分値に応じた値Ｓａｂｕｎを、Ｓａｂｕｎ＝（２５５−Ｐａ）＋（Ｐｂ−ＯＢ）の演算処理で算出する。差分算出部２１は、“Ｃａｓｅ［２］”の場合、差分値に応じた値Ｓａｂｕｎを、Ｓａｂｕｎ＝−（２５５−Ｐｂ）−（Ｐａ−ＯＢ）の演算処理で算出する。また、差分算出部２１は、“Ｃａｓｅ［３］”の場合、差分値に応じた値Ｓａｂｕｎを、Ｓａｂｕｎ＝Ｐｂ−Ｐａの演算処理で算出する。そして、差分算出部２１は、求めた差分値に応じた値Ｓａｂｕｎと、どの差分算出処理で差分値に応じた値Ｓａｂｕｎを算出したのかということ示す情報であるＣａｓｅ値とを、エントロピー符号化部２２へ出力する。
【００３４】
なお、上述したように、差分値に応じた値Ｓａｂｕｎは、“Ｃａｓｅ［３］”以外の処理の仕方で求めた場合、隣接２画素の画素値Ｐｂと画素値Ｐａとの差分値（Ｐｂ−Ｐａ）そのものを表す値ではなく、所定の演算処理を加えることで差分値（Ｐｂ−Ｐａ）を表すことができる値である。例えば差分値に応じた値Ｓａｂｕｎが“Ｃａｓｅ［１］”の処理の仕方で算出された場合、差分値（Ｐｂ−Ｐａ）は、Ｓａｂｕｎ＋ＯＢ−２５５の演算処理を行うことで算出することができる。また、差分値に応じた値Ｓａｂｕｎが“Ｃａｓｅ［２］”の処理の仕方で算出された場合、差分値（Ｐｂ−Ｐａ）は、Ｓａｂｕｎ−ＯＢ＋２５５の演算処理で算出することができる。
【００３５】
また、入力画素値Ｐａ及びＰｂが符号無し８ビット整数で表されているとすると画素値は０から２５５までの値をとることができる。この２画素値Ｐａ及びＰｂの差分値（Ｐｂ−Ｐａ）は、最小値がＰａ＝０及びＰｂ＝２５５の場合の−２５５で、最大値がＰａ＝２５５及びＰｂ＝０の場合の＋２５５となる。一方、符号付き８ビット整数の値の範囲は−１２８〜＋１２７である。したがって、２画素値Ｐａ及びＰｂの差分値（Ｐｂ−Ｐａ）を単純に減算式「Ｐｂ−Ｐａ」で求めると、減算式の演算結果（すなわち差分値）は８ビットの数値では表せないことになる。ビット数の増加は、データ量の増大につながる。また、ビット数の増加は処理時間の増大につながる場合もある。そこで、本実施形態では、差分値の範囲が入力画素値のビット数以内となるように、差分値の大きさに応じて差分値の算出の仕方を３種類に分けているのである。なお、ＳＴＥＰ３における差分値の大きさに応じた場合分けは、例えばＳＴＥＰ２の減算処理で桁上がりが発生したか否かあるいはオーバーフローが発生したか否かを確認することで行うことができる。よって、ＳＴＥＰ２での演算「Ｐｂ−Ｐａ」は８ビットの減算処理で行うことができる。
【００３６】
ところで“Ｃａｓｅ［１］”の条件（Ｐｂ−Ｐａ＜−１２８）では、減算Ｐｂ−Ｐａの結果は、上記の最小値−２５５から、−１２８より１小さい−１２９までの値である。この減算処理の結果に、例えば定数「２５５」を加えると、「２５５」を加算した後の値は０から１２６までの値となる。この範囲は、符号付き８ビット整数の値の範囲内である。すなわち、例えば定数「２５５」を加える処理を追加することで、（Ｐｂ−Ｐａ＜−１２８）の場合の差分値に応じた値を、符号付き８ビット整数で表すことができる。
【００３７】
他方、“Ｃａｓｅ［２］”の条件（Ｐｂ−Ｐａ＞１２７）では、減算Ｐｂ−Ｐａの結果は、上記の最大値＋２５５から、＋１２７より１大きい＋１２８までの値である。この減算処理の結果から例えば定数「−２５５」を減じると、「−２５５」を減算した後の値は０から−１２７まで値となる。この範囲は、符号付き８ビット整数の値の範囲内である。すなわち、例えば定数「２５５」を減じる処理を追加することで、（Ｐｂ−Ｐａ＞１２７）の場合の差分値に応じた値を、符号付き８ビット整数で表すことができる。
【００３８】
また、本実施形態では、差分算出部２１が、オプティカルブラック画素の画素値ＯＢを参照して、画素値Ｐａ及びＰｂのビット数内で２画素値の差分値に応じた値Ｓａｂｕｎを算出して出力する。この差分算出部２１がオプティカルブラック画素の画素値ＯＢを参照する処理は、差分値に応じた値Ｓａｂｕｎを算出する際に差分の算出結果が画素値Ｐａ及びＰｂのビット数をオーバーフローしないように加算又は減算する所定の定数値（８ビットの場合は上記の「２５５」）からオプティカルブラック画素の画素値ＯＢを減じる処理に相当するものである。以下、この点について説明する。
【００３９】
上述したように、撮像素子１２には、実際に光を受け光電効果により電荷を得る有効画素と、暗電流を含む電荷のオフセット検出を行うオプティカルブラック画素（遮光状態の画素）の２種類がある。撮像素子１２が熱を帯びると、遮光状態でも電荷を発生する性質があり、暗電流ノイズと呼ばれる。有効画素値は、“受光による本来の電荷量”と“暗電流を含む電荷量”の合計値となる。オプティカルブラック画素は、通常、有効画素周辺に配置されており、遮光されているため、受光による電荷の発生はない。つまり、オプティカルブラック画素から暗電流ノイズのオフセット情報のみを検出できる。有効画素の画素値のうち、０からオプティカルブラック画素の画素値までの範囲には、有効な画素値は存在しない。したがって、画素値Ｐａ及びＰｂから、オプティカルブラック画素の画素値ＯＢ分をマスク（つまり無視）したとしても、画素値のダイナミックレンジ（つまり画素値の最大値からノイズの値を減じた範囲の大きさ）は悪化しない。
【００４０】
なお、図１を参照して説明したオプティカルブラック領域１２２には通常、複数のオプティカルブラック画素が設けられている。したがって、オプティカルブラック画素の画素値は複数の異なる値とる場合がある。本実施形態では、オプティカルブラック画素の画素値ＯＢ分をマスクする処理を行う。その際、複数の値の中で大きなＯＢ値を用いる場合と小さなＯＢ値を用いる場合とでダイナミックレンジに変化が発生する。そこで、本実施形態では、画素値のダイナミックレンジを低下させないという観点から、オプティカルブラック画素の画素値の最小値を画素値ＯＢとして参照することとしている。ただし、ＯＢ値はこれに限らず、例えば使用条件等に応じて最小値として予測される予め定めた固定値を用いることなどが可能である。あるいは、例えば、複数のオプティカルブラック画素の画素値の平均値等を用いてもよい。この場合、ダイナミックレンジに若干の低下は発生するが、圧縮率をより高める効果が期待できる。
【００４１】
一方、差分値を算出する処理では、差分値の最大値及び最小値は、２つの値の最大値が小さい方が小さくなる。つまり、２画素値の差分値を求める場合、例えば各画素値から一定のオフセット値を除くこと等で、２画素値の最大値を小さくしておけば、差分値の最大値と最小値は小さくすることができる。例えば２つの画素値Ｐａ及びＰｂから予めオプティカルブラック画素の画素値ＯＢを減じておいた場合、差分値（Ｐｂ−Ｐａ）は、差分値（（Ｐｂ−ＯＢ）−（Ｐａ−ＯＢ））として求められることになり、この場合の最大値は、（Ｐｂ−ＯＢ）が「２５５−ＯＢ」で（Ｐａ−ＯＢ）が「０」のときなので「２５５−ＯＢ」となる。他方、差分値（（Ｐｂ−ＯＢ）−（Ｐａ−ＯＢ））の最小値は、（Ｐｂ−ＯＢ）が「０」で（Ｐａ−ＯＢ）が「２５５−ＯＢ」のときなので「−２５５＋ＯＢ」となる。
【００４２】
隣接２画素の画素値からオプティカルブラック画素の画素値ＯＢを減じた後、隣接２画素の差分値を求める場合、“Ｃａｓｅ［１］”の条件（Ｐｂ−Ｐａ＜−１２８）のとき、減算（Ｐｂ−Ｐａ）（＝（Ｐｂ−ＯＢ）−（Ｐａ−ＯＢ））の結果は、上記の最小値「−２５５＋ＯＢ」から、−１２８より１小さい−１２９までの値である。この減算処理の結果に定数「２５５−ＯＢ」を加えると、「２５５−ＯＢ」を加算した後の値は０から「−１２９＋２５５−ＯＢ」＝「１２６−ＯＢ」までの値となる。この範囲は、ＯＢが通常の値であれば、符号付き８ビット整数の値の範囲（−１２８〜＋１２７）内である。すなわち、定数「２５５」から「ＯＢ」を減じた値を加算する処理を追加することで、（Ｐｂ−Ｐａ＜−１２８）の場合の差分値に応じた値を、符号付き８ビット整数で表すことができる。つまり“Ｃａｓｅ［１］”では値Ｓａｂｕｎを（Ｐｂ−ＯＢ）−（Ｐａ−ＯＢ）＋（２５５−ＯＢ）の演算処理で求めることで値Ｓａｂｕｎを符号付き８ビット整数で表すことができる。なお、（Ｐｂ−ＯＢ）−（Ｐａ−ＯＢ）＋（２５５−ＯＢ）の演算式は、整理すると、Ｐｂ−Ｐａ＋２５５−ＯＢとなり、図３を参照して説明した上述のＳａｂｕｎ＝（２５５−Ｐａ）＋（Ｐｂ−ＯＢ）と一致する。なお、演算式をＳａｂｕｎ＝（２５５−Ｐａ）＋（Ｐｂ−ＯＢ）と表したのは、演算の順番を明示するためである。すなわち、まず、（２５５−Ｐａ）を求め、次に（Ｐｂ−ＯＢ）を求め、次に、「（２５５−Ｐａ）の結果」＋「（Ｐｂ−ＯＢ）の結果」を求めることで、各加減算処理の結果を符号付き８ビット整数の範囲内とすることができる。ただし、（２５５−Ｐａ）を求める演算と、（Ｐｂ−ＯＢ）を求める演算との順番は逆にすることができる。
【００４３】
他方、“Ｃａｓｅ［２］”の条件（Ｐｂ−Ｐａ＞１２７）の場合、減算（Ｐｂ−Ｐａ）（＝（Ｐｂ−ＯＢ）−（Ｐａ−ＯＢ））の結果は、上記の最大値「２５５−ＯＢ」から、＋１２７より１大きい＋１２８までの値である。この減算処理の結果から例えば定数「２５５−ＯＢ」を減じると、「２５５−ＯＢ」を減算した後の値は０から「＋１２８−（２５５−ＯＢ）」＝「−１２７＋ＯＢ」までとなる。この範囲は、ＯＢが通常の値であれば、符号付き８ビット整数の値の範囲（−１２８〜＋１２７）内である。すなわち、例えば定数「２５５」から「ＯＢ」を減じた値を減算する処理を追加することで、（Ｐｂ−Ｐａ＞１２７）の場合の差分値に応じた値を、符号付き８ビット整数で表すことができる。つまり“Ｃａｓｅ［２］”では値Ｓａｂｕｎを（Ｐｂ−ＯＢ）−（Ｐａ−ＯＢ）−（２５５−ＯＢ）の演算で求めることで値Ｓａｂｕｎを符号付き８ビット整数で表すことができる。なお、（Ｐｂ−ＯＢ）−（Ｐａ−ＯＢ）−（２５５−ＯＢ）の演算式は、整理すると、Ｐｂ−Ｐａ−２５５＋ＯＢとなり、図３を参照して説明した上述のＳａｂｕｎ＝−（２５５−Ｐｂ）−（Ｐａ−ＯＢ）と一致している。なお、演算式をＳａｂｕｎ＝−（２５５−Ｐｂ）−（Ｐａ−ＯＢ）と表したのは、演算の順番を明示するためである。すなわち、まず、（２５５−Ｐｂ）を求め、次に「（２５５−Ｐｂ）の結果」の補数を求め、次に（Ｐａ−ＯＢ）を求め、次に「（２５５−Ｐｂ）の結果の補数」−「（Ｐａ−ＯＢ）の結果」を求めることで、各処理の結果を符号付き８ビット整数の範囲内とすることができる。ただし、（２５５−Ｐｂ）や（２５５−Ｐｂ）の結果の補数を求める演算と、（Ｐａ−ＯＢ）を求める演算の順番は逆にすることができる。
【００４４】
図４に、Ｃａｓｅ［１］からＣａｓｅ［３］までの処理の仕方で求めたＳａｂｕｎ値と、各画素値Ｐａ及びＰｂと、オプティカルブラック画素の画素値ＯＢとの関係を示した。図４は、画素値の値（０から２５５までのＬｅｖｅｌ）を縦方向に表した図である。Ｃａｓｅ［１］では、Ｓａｂｕｎ値を実線の矢印で示した「Ｐａ−Ｐｂ」そのものではなく、破線の矢印で示した画素値Ｐａ及び画素値Ｐｂと、最大値２５５又はＯＢの値と差の値を用いて算出する。Ｃａｓｅ［２］では、Ｓａｂｕｎ値を実線の矢印で示した「Ｐａ−Ｐｂ」そのものではなく、破線の矢印で示した画素値Ｐａ及び画素値Ｐｂと、ＯＢの値又は最大値２５５と差の値を用いて算出する。そして、Ｃａｓｅ［３］では、Ｓａｂｕｎ値を実線の矢印で示した「Ｐａ−Ｐｂ」そのものの値としている。
【００４５】
次に、図２のエントロピー符号化部２２について説明する。このエントロピー符号化部２２は、本発明の符号化部の一構成例である。エントロピー符号化部２２は、差分算出部２１が算出した差分値に応じた値Ｓａｂｕｎを、瞬時復号可能な可変長の符号語Ａを用いて変換する。その際、本実施形態のエントロピー符号化部２２は、差分算出部２１が算出した差分値に応じた値Ｓａｂｕｎを、値Ｓａｂｕｎが位置する範囲を表す瞬時復号可能な可変長の符号語Ａ（第１符号語）と、値Ｓａｂｕｎを表す可変長の符号語Ｂ（第２符号語）とに変換することができる。ここで、瞬時復号可能な可変長の符号語Ａは、例えばハフマン符号化のように、情報の出現確率に基づいて可変長の符号語を割り当てるエントロピー符号化によって生成することができる。ハフマン符号化とは、出現頻度が高い値は、短い符号（ビット数）を割り当てて、出現頻度が低い値は、長い符号（ビット数）を割り当てるという思想を元にした技術である。また、瞬時復号可能とは、その符号語の範囲内で復号可能であるということである。
【００４６】
エントロピー符号化部２２は、変換の仕方を示す予め用意した変換テーブルを参照し、入力したＳａｂｕｎ値に基づき符号語Ａと符号語Ｂとを生成する。ここで、図５を参照して、Ｓａｂｕｎ値と、符号語Ａ及び符号語Ｂとの対応関係について説明する。図５は、Ｓａｂｕｎ値の全範囲を８の範囲に分け、各範囲に対応する、Ｓａｂｕｎ値、符号語Ａ、符号語Ｂ、及び、符号語Ａと符号語Ｂとを合わせた符号長を示している。
【００４７】
図５に示した例では、Ｓａｂｕｎ値の最小値から最大値までの範囲を８の範囲に分け、ゼロにより近いＳａｂｕｎ値の範囲に対してより短い符号語Ａと符号語Ｂとを割り当てている。ここで、各範囲と各符号語Ａとは一意に対応している。また、各範囲に対応するＳａｂｕｎ値のデータ数を可変として、ゼロに最も近いＳａｂｕｎ値の範囲「８」に含まれるデータ数を１、次にゼロに近いＳａｂｕｎ値の範囲「７」に含まれるデータ数を２、…というように、ゼロにより近いＳａｂｕｎ値の範囲が含むデータ数をより少なくしている。
【００４８】
図５に示した対応関係によれば、例えば、Ｓａｂｕｎ値が「０」の場合、Ｓａｂｕｎ値が位置する範囲は「８」となり、符号語Ａが「００」、符号語Ｂは「無し」となり、符号語Ａと符号語Ｂを合わせた符号長は２ｂｉｔである。例えば、Ｓａｂｕｎ値が「＋１」の場合、Ｓａｂｕｎ値が位置する範囲は「７」となり、符号語Ａが「０１０」、符号語Ｂが「０」又は「１」のいずれかとなり、符号語Ａと符号語Ｂを合わせた符号長４ｂｉｔである。例えば、Ｓａｂｕｎ値が「−１」の場合、Ｓａｂｕｎ値が位置する範囲は「７」となり、符号語Ａが「０１０」、符号語Ｂが「０」又は「１」のうちＳａｂｕｎ値「＋１」に割り当てられていない方の符号語となり、符号語Ａと符号語Ｂを合わせた符号長４ｂｉｔである。
【００４９】
エントロピー符号化部２２は、例えば図５に示したような対応関係を表すテーブルを参照することで、入力したＳａｂｕｎ値を符号語Ａ及び符号語Ｂに変換する。また、エントロピー符号化部２２は、この符号語Ａ及び符号語Ｂからなる符号語に対して、Ｓａｂｕｎ値の算出の仕方を示すＣａｓｅ値を表す情報を付加することで、エントロピー符号化部２２が出力する符号語を生成する処理を行う。Ｓａｂｕｎ値の内容はＣａｓｅ値によって変化する。エントロピー符号化部２２は、この付加処理によって、差分値（Ｐｂ−Ｐａ）に一意に対応する符号語を生成する。エントロピー符号化部２２は、例えば、Ｃａｓｅ値に対応する固定長又は瞬時復号可能な可変長の所定の符号語を符号語Ａ及び符号語Ｂからなる符号語に付加したり、符号語Ａを拡張してＳａｂｕｎ値の範囲に加えＣａｓｅ値の値を表すものとなるようにしたりすることで、Ｃａｓｅ値を表す情報を付加することができる。このＣａｓｅ値の情報を付加する処理を行い、エントロピー符号化部２２は、Ｓａｂｕｎ値及びＣａｓｅ値の各組に一意に対応する符号語を順次生成し、圧縮符号として出力する。
【００５０】
図２から図４を参照して説明したように、本実施形態の差分算出部２１は、画素値Ｐａと画素値Ｐｂとの差分値（Ｐｂ−Ｐａ）に応じた値であるＳａｂｕｎ値を求める際に、オプティカルブラック画素の画素値ＯＢを参照することを特徴とする。次に、このオプティカルブラック画素の画素値ＯＢを参照する構成の効果について、オプティカルブラック画素の画素値ＯＢを参照しない場合と比較することで説明する。
【００５１】
オプティカルブラック画素の画素値ＯＢを参照しない場合の構成は、図６に示したように、図２に示した差分算出部２１と比較して入力からオプティカルブラック画素の画素値ＯＢを省いた差分算出部３１と、図２に示したエントロピー符号化部２２とを組み合わせたものとすることができる。図６に示した差分算出部３１は、図７に示したように、まず隣接画素の画素値ＰａとＰｂとを入力する（ＳＴＥＰ１ａ）。次に、差分算出部３１は、Ｐｂ−Ｐａの減算処理を行う（ＳＴＥＰ２ａ）。次に、差分算出部３１は、差分処理の仕方の判定処理を行う（ＳＴＥＰ３ａ）。差分算出部３１による差分処理の仕方は３通りあり、ＳＴＥＰ２ａでの減算処理結果に応じて処理の仕方を変更する。すなわち、Ｐｂ−Ｐａ＜−１２８の場合は、処理の仕方を“Ｃａｓｅ［１］”とする。Ｐｂ−Ｐａ＞１２７の場合は、処理の仕方を“Ｃａｓｅ［２］”とする。そして、その他の場合は、処理の仕方を“Ｃａｓｅ［３］”とする。
【００５２】
次に、差分算出部３１は、ＳＴＥＰ３ａで判定した処理の仕方にて差分値に応じた値Ｓａｂｕｎを算出する。差分算出部３１は、Ｃａｓｅ［１］の場合、Ｓａｂｕｎ＝（２５５−Ｐａ）＋Ｐｂの演算処理を行い、Ｃａｓｅ［２］の場合、Ｓａｂｕｎ＝−（２５５−Ｐｂ）−Ｐａの演算処理を行い、そして、Ｃａｓｅ［３］の場合、Ｓａｂｕｎ＝Ｐｂ−Ｐａの演算処理を行う。そして、差分算出部３１は、求めたＳａｂｕｎ値と、Ｃａｓｅ値とをエントロピー符号化部２２へ出力する。この場合のＳａｂｕｎ値は、図８に破線（Ｃａｓｅ［１］と［２］の場合）又は実線（Ｃａｓｅ［３］の場合）の矢印で示された値となる。
【００５３】
次に、図９を参照して、オプティカルブラック画素の画素値ＯＢを参照する場合（本実施形態）と、オプティカルブラック画素の画素値ＯＢを参照しない場合（図６から図８を参照して説明した比較技術）との比較例について説明する。隣接画素の画素値ＰａとＰｂは８ｂｉｔ、ＯＢ値は「３２」としている。エントロピー符号化部２２では、図５を参照して説明したテーブルを用いて符号化処理を行うこととした。
【００５４】
図９は画素値Ｐａと画素値Ｐｂとの複数の組み合わせ例と、各例において、比較技術で算出したＳａｂｕｎ値とそのＳａｂｕｎ値に対応する符号語Ａと符号語Ｂとを合わせた符号長と、上記実施形態で算出したＳａｂｕｎ値とそのＳａｂｕｎ値に対応する符号語Ａと符号語Ｂとを合わせた符号長とをまとめて示している。例えば、Ｐａ＝２４０、Ｐｂ＝８０の場合、比較技術ではＳａｂｕｎ値が９５、符号長が１２ｂｉｔとなり、本実施形態ではＳａｂｕｎ値が６３、符号長が１０ｂｉｔとなる。また、例えば、Ｐａ＝２５４、Ｐｂ＝３３の場合、比較技術ではＳａｂｕｎ値が３４、符号長が１０ｂｉｔとなり、本実施形態ではＳａｂｕｎ値が２、符号長が５ｂｉｔとなる。
【００５５】
図９に示したように、オプティカルブラック画素の画素値ＯＢを参照して差分値に応じた値Ｓａｂｕｎを算出する本実施形態によれば、ＯＢを参照しない場合に比べ、変換後の符号語の符号長を短くすることができるという効果が得られる。このように本実施形態によれば、確実に差分に応じた値Ｓａｂｕｎが小さくなり、値Ｓａｂｕｎの偏りが大きくなる。このため画像圧縮効率が向上するので、例えば記録媒体１９に記憶可能な記録撮影枚数を増加することができる。
【００５６】
以上のように、本実施形態によれば、オプティカルブラック画素の画素値ＯＢを参照して画素値のビット内で２画素値の差分値に応じた値が算出される。このオプティカルブラック画素の画素値は熱による暗電流ノイズ（つまりオフセット分）である。このため、画素値がゼロからオプティカルブラック画素の画素値までの範囲には有効な画素値は存在しない。したがって、例えば画素値に含まれるオプティカルブラック画素の画素値分をマスク（すなわち無視）することで全体として差分値に応じた値をゼロの方向へ偏らせることができる。そして、ゼロに近い差分値に応じた値に対してより小さい符号長の符号語を割り当てることで容易に圧縮率の向上を図ることができる。
【００５７】
以上、本発明の実施の形態について説明したが、本発明の撮像装置及び画像データ圧縮回路は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることが可能である。
【符号の説明】
【００５８】
１…撮像装置、１１…光学系、１２…撮像素子、１２１…有効画素領域、１２２…オプティカルブラック領域、１３、１３ａ…Ａ／Ｄ変換部、１４…画像処理装置、１４１、１４１ａ…データ圧縮部、１４２…画像信号処理部、１４３…データ圧縮伸張部、１５…システムバス、１６…ＣＰＵ、１７…フレームメモリ、１８…記録媒体インターフェース、１９…記録媒体、２１，３１…差分算出部、２２…エントロピー符号化部
【図１】
2015115721.tif 000003
【図２】
2015115721.tif 000004
【図３】
2015115721.tif 000005
【図４】
2015115721.tif 000006
【図５】
2015115721.tif 000007
【図６】
2015115721.tif 000008
【図７】
2015115721.tif 000009
【図８】
2015115721.tif 000010
【図９】
2015115721.tif 000011