(57)【要約】【課題】  ＲＡＷデータの圧縮に好適な、画質劣化の少ない固定ビット長の画像圧縮技術を提供する。【解決手段】  本発明の画像圧縮装置は、差分演算部、および差分再量子化部を備える。この差分演算部は、画像データの画素値と予測値（既知データから予測する画素値の計算値）との予測差分を算出する。差分再量子化部は、予測差分の大きさが予め定められた閾値を超えると、量子化ステップを粗く変更して予測差分を再量子化することによってビットレンジを所定幅内に抑え、予測差分の１画素当たりのビット長を固定ビット長に調整した圧縮データを生成する。【選択図】      図１
2005191939.tif 000002
【特許請求の範囲】
【請求項１】
画像データの画素値と予測値（既知データから予測する前記画素値の計算値）との予測差分を算出する差分演算部と、
前記予測差分の大きさが予め定められた閾値を超えると、量子化ステップを粗く変更して前記予測差分を再量子化することによってビットレンジを所定幅内に抑え、前記予測差分の１画素当たりのビット長を固定ビット長に調整した圧縮データを生成する差分再量子化部と
を備えたことを特徴とする画像圧縮装置。
【請求項２】
請求項１に記載の画像圧縮装置において、
前記差分再量子化部は、
前記予測差分が大きい箇所ほど人間の目は正確な信号レベルを感知しにくいという視覚特性に似せて、前記予測差分が大きいほど前記量子化ステップを段階的または連続的に粗く変更することにより、前記予測差分の１画素当たりのビット長を固定ビット長にする
ことを特徴とする画像圧縮装置。
【請求項３】
請求項１または請求項２に記載の画像圧縮装置において、
前記画像データの画素値を階調圧縮して階調数を低減する階調圧縮部を備え、
前記差分演算部は、前記階調圧縮部により階調圧縮された前記画素値について前記予測差分を算出することにより、
『前記画素値の階調圧縮』と『前記予測差分の再量子化』との少なくとも２段階を経て、前記予測差分の１画素当たりのビット長を前記固定ビット長に調整することにより、どちらか１段階のみよりも画質劣化を抑制した
ことを特徴とする画像圧縮装置。
【請求項４】
請求項１ないし請求項３のいずれか１項に記載の画像圧縮装置において、
前記差分演算部により算出される前記予測差分を、予め定められた可変長符号割り当てに従って可変長符号化する可変長符号化部と、
前記可変長符号化部を用いて前記画像データの画像圧縮を実施して圧縮データ量の推移を監視し、前記圧縮データ量が予め定められた監視データ量を超えると判断すると、前記差分再量子化部を用いた固定ビット長の画像圧縮に切り換える圧縮制御部とを備え、
前記圧縮制御部による圧縮方式の途中切り換えにより、前記画像データの圧縮データ量が所定の限界データ量を超えないようにする
ことを特徴とする画像圧縮装置。
【請求項５】
請求項１ないし請求項４のいずれか１項に記載の画像圧縮装置と、
被写体を連写してＲＡＷデータを順次出力する機能を有する撮像部と、
データを一時蓄積するバッファメモリとを備え、
前記画像圧縮装置は、前記撮像部が順次出力する前記ＲＡＷデータから、圧縮データ量の上限を制限した圧縮データを生成して前記バッファメモリに順次蓄積することにより、
前記バッファメモリに格納可能な連写コマ数の最低値を保証する
ことを特徴とする電子カメラ。
【請求項６】
請求項１または請求項３に記載の画像圧縮装置で生成される圧縮データを伸張する画像伸張装置であって、
前記圧縮データから前記固定ビット長ごとに量子化後の予測差分を抽出し、画像圧縮時の量子化ステップに従って逆量子化を行い、前記予測差分の値を復元する差分逆量子化部と、
前記差分逆量子化部から得た前記予測差分に前記予測値を加算して画像データを生成する加算演算部と
を備えたことを特徴とする画像伸張装置。
【請求項７】
請求項４に記載の画像圧縮装置で生成される圧縮データを伸張する画像伸張装置であって、
前記可変長符号割り当てに従って、前記圧縮データの可変長符号をデコードして、前記予測差分に復元する可変長復号化部と、
前記圧縮データから前記固定ビット長ごとに量子化後の予測差分を抽出して、圧縮時の量子化ステップに従って逆量子化を行い、前記予測差分の値を復元する差分逆量子化部と、
前記可変長復号化部を用いて前記圧縮データから前記予測差分を復元し、前記圧縮データ量が前記監視データ量を超えると判断すると、前記差分逆量子化部を用いて前記圧縮データから前記予測差分を復元する伸張制御部と、
前記伸張制御部により得た前記予測差分に前記予測値を加算して画像データを生成する加算演算部と
を備えたことを特徴とする画像伸張装置。
【請求項８】
コンピュータを、請求項１ないし請求項４のいずれか１項に記載の画像圧縮装置として機能させるための画像圧縮プログラム。
【請求項９】
コンピュータを、請求項６ないし請求項７のいずれか１項に記載の画像伸張装置として機能させるための画像伸張プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予測差分の１画素当たりのビット長を固定ビット長に調整した圧縮データを生成する画像圧縮装置および画像圧縮プログラムに関する。
また、本発明は、上記の圧縮データを画像伸張する画像伸張装置および画像伸張プログラムに関する。
さらに、上記の画像圧縮装置を搭載した電子カメラに関する。
【背景技術】
【０００２】
《電子カメラの背景技術》
従来の電子カメラでは、連写撮影されるＲＡＷデータを、非圧縮のままバッファメモリに蓄積するものが知られている。このバッファメモリにより、個々のＲＡＷデータに対する画像処理や記録処理をリアルタイムに実施する必要がなくなり、電子カメラの連写間隔を、撮像素子の画像読み出し時間まで短縮することが可能になる。
ただし、このような連写途中においてバッファメモリがＲＡＷデータで一杯になると、連写動作は極端に遅くなる。その結果、短い連写間隔で撮影可能なコマ数（以下『高速連写コマ数』という）には限界がある。通常、この高速連写コマ数は、バッファメモリに格納可能なＲＡＷデータのコマ数に依存する。
【０００３】
《画像の圧縮伸張関連の背景技術》
一方、ＲＡＷデータに関する一般的なデータ圧縮技術としては、ＲＡＷデータの予測差分を可変長符号化する技術が知られている（特許文献１の段落０００３など）。
【特許文献１】特開２００３−２２４８６８公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した電子カメラは、非圧縮のＲＡＷデータをバッファメモリに記録する。この場合、非圧縮のＲＡＷデータのデータ容量は常に一定であり、その結果、上述した高速連写コマ数は常に一定となる。
【０００５】
しかしながら、一般的なＲＡＷデータは多階調に量子化（例えば１２ビット量子化）されているため、１コマ当たりのデータ量が大きい。そのため、限られたデータ容量のバッファメモリを使用しつつ、高速連写コマ数を増やすことは困難であった。
【０００６】
このような問題を解決するため、ＲＡＷデータを画像圧縮した上で、バッファメモリに格納する方策が考えられる。このようなＲＡＷデータの画像圧縮には、上述した可変長符号化を基調とする従来の圧縮技術が使用可能である。
【０００７】
しかしながら、この可変長符号化では、圧縮後のデータ容量は必ずしも一定にならない。特に、可変長符号の割り当てがＲＡＷデータにとって不適切であった場合、圧縮データ容量が予想外に大きくなってしまう場合もある。この場合、早い時点で高速連写を中断しなければならず、ユーザーにとって貴重なシャッタチャンスを逃してしまうなどの問題が生じる。
このように、ＲＡＷデータを可変長符号化していたのでは、高速連写コマ数の最低値を確実に保証することが不可能であった。
【０００８】
そこで、本発明者は、１画素当たりのビット長を固定する固定ビット長の圧縮技術について検討した。
一般に、この固定ビット長の符号化では、１画素当たりのビット長が固定されるため、圧縮効率を十分に高めることが難しい。無理に圧縮効率を高めれば、圧縮に伴う画質劣化が大きくなってしまう。
本発明は、このような問題点に鑑みて、画質劣化が少ない固定ビット長の画像圧縮技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
《請求項１》
請求項１の画像圧縮装置は、差分演算部、および差分再量子化部を備える。
この差分演算部は、画像データの画素値と予測値（既知データから予測する画素値の計算値）との予測差分を算出する。
差分再量子化部は、予測差分の大きさが予め定められた閾値を超えると、量子化ステップを粗く変更して予測差分を再量子化する。その結果、差分再量子化部は、予測差分のビットレンジを所定幅内に抑え、予測差分の１画素当たりのビット長を固定ビット長に調整した圧縮データを生成する。
【００１０】
《請求項２》
請求項２の発明は、請求項１に記載の画像圧縮装置において、差分再量子化部が、予測差分が大きい箇所ほど人間の目は正確な信号レベルを感知しにくいという視覚特性に似せて、予測差分が大きいほど量子化ステップを段階的または連続的に粗く変更する。この再量子化により、差分再量子化部は、予測差分の１画素当たりのビット長を固定ビット長にする。
【００１１】
《請求項３》
請求項３の発明は、請求項１または請求項２に記載の画像圧縮装置において、階調圧縮部を備える。
この階調圧縮部は、画像データの画素値を階調圧縮して階調数を低減する。
一方、差分演算部は、階調圧縮部により階調圧縮された画素値について予測差分を算出する。このように『画素値の階調圧縮』と『予測差分の再量子化』との少なくとも２段階を経て、予測差分の１画素当たりのビット長を固定ビット長に調整する。その結果、どちらか１段階のみよりも画質劣化を抑制する。
【００１２】
《請求項４》
請求項４の発明は、請求項１ないし請求項３のいずれか１項に記載の画像圧縮装置において、可変長符号化部、および圧縮制御部を備える。
可変長符号化部は、差分演算部により算出される予測差分を、予め定められた可変長符号割り当てに従って可変長符号化する。
圧縮制御部は、可変長符号化部を用いて画像データの画像圧縮を実施して圧縮データ量の推移を監視する。このとき、圧縮データ量が予め定められた監視データ量を超えると判断すると、圧縮制御部は、差分再量子化部を用いた固定ビット長の画像圧縮に切り換える。
このような圧縮制御部による圧縮方式の途中切り換えにより、画像データの圧縮データ量が所定の限界データ量を超えないようにすることを特徴とする。
【００１３】
《請求項５》
請求項５の電子カメラは、画像圧縮装置、撮像部、およびバッファメモリを備える。
この画像圧縮装置は、請求項１ないし請求項４のいずれか１項に記載の画像圧縮装置である。
撮像部は、被写体を連写してＲＡＷデータを順次出力する機能を有する。
バッファメモリは、データを一時蓄積する。
この画像圧縮装置は、撮像部が順次出力するＲＡＷデータから、圧縮データ量の上限を制限した圧縮データを生成して前記バッファメモリに順次蓄積する。このような画像圧縮動作によって、バッファメモリに格納可能な連写コマ数の最低値を保証する。
【００１４】
《請求項６》
請求項６の画像伸張装置は、請求項１または請求項３に記載の画像圧縮装置で生成される圧縮データを伸張する画像伸張装置であって、差分逆量子化部、および加算演算部を備える。
この差分逆量子化部は、圧縮データから固定ビット長ごとに量子化後の予測差分を抽出し、画像圧縮時の量子化ステップに従って逆量子化を行って、予測差分の値を復元する。
加算演算部は、差分逆量子化部から得た予測差分に予測値を加算して画像データを生成する。
【００１５】
《請求項７》
請求項７の画像伸張装置は、請求項４に記載の画像圧縮装置で生成される圧縮データを伸張する画像伸張装置であって、可変長復号化部、差分逆量子化部、伸張制御部、および加算演算部を備える。
この可変長復号化部は、可変長符号割り当てに従って、圧縮データの可変長符号をデコードして、予測差分に復元する。
差分逆量子化部は、圧縮データから固定ビット長ごとに量子化後の予測差分を抽出して、圧縮時の量子化ステップに従って逆量子化を行い、予測差分の値を復元する。
伸張制御部は、可変長復号化部を用いて圧縮データから予測差分を復元し、圧縮データ量が監視データ量を超えると判断すると、差分逆量子化部を用いて圧縮データから予測差分を復元する。
加算演算部は、伸張制御部により得た予測差分に予測値を加算して画像データを生成する。
【００１６】
《請求項８》
請求項８の画像圧縮プログラムは、コンピュータを、請求項１ないし請求項４のいずれか１項に記載の画像圧縮装置として機能させるためのプログラムである。
【００１７】
《請求項９》
請求項９の画像伸張プログラムは、コンピュータを、請求項６ないし請求項７のいずれか１項に記載の画像伸張装置として機能させるためのプログラムである。
【発明の効果】
【００１８】
本発明では、画像データの予測差分の大きさが閾値を超えると、量子化ステップの刻みを粗くする。このような動作により、予測差分の値を抑えてビットレンジを所定幅内に制限することができる。
その結果、予測差分の１画素当たりのビット長を比較的小さな固定ビット長に揃えて、画像全体のデータ量を圧縮することが可能になる。
【００１９】
なお、画素値と予測値とは、通常は近い値となるため、大部分の予測差分はゼロに近い値をとる。したがって、これら大部分の予測差分については、量子化ステップの刻みが粗くならず、量子化誤差による画質劣化は殆ど生じない。
【００２０】
なお、残りの領域については、量子化ステップの刻みが粗くなるため、量子化誤差が生じる。しかしながら、このような領域は僅かであるため、量子化誤差による画質劣化は画面全体のごく一部に止まり、総体的には目立ちにくい。
【００２１】
さらに、このような量子化誤差の発生箇所は、画像の信号レベルが大きく変化していることが多い。したがって、信号レベルの大きな変化に量子化誤差が重畳している形となり、人間の目に量子化誤差は感知されにくい。
【００２２】
このような理由から、本発明によって、画質劣化が少ない固定ビット長の画像圧縮が実現可能になる。
【発明を実施するための最良の形態】
【００２３】
《電子カメラの全体構成の説明》
図１は、本実施形態の電子カメラ１１の構成を示す図である。
この図１において、電子カメラ１１は、撮像部１２を備える。この撮像部１２は、通常撮影の機能の他に、被写体を連写してＲＡＷデータを順次出力する機能を有する。このように順次出力されるＲＡＷデータは、画像圧縮装置１３によってほぼリアルタイムに画像圧縮され、バッファメモリ１４に圧縮データとして順次蓄積される。
画像伸張装置１５は、後段の記録部１９の進捗に合わせて、バッファメモリ１４から圧縮データを適時に読み出して画像伸張し、ＲＡＷデータを復元する。復元されたＲＡＷデータは、色変換部１７およびＪＰＥＧ圧縮部１８などを経由して、ＪＰＥＧ圧縮ファイルに変換される。このＪＰＥＧ圧縮ファイルは、記録部１９によって、メモリカード２０に記録保存される。
なお、記録部１９は、バッファメモリ１４内の圧縮データにファイルヘッダやマーカーコードなどを付加してＲＡＷ圧縮ファイルを生成し、メモリカード２０に記録保存することもできる。
【００２４】
《画像圧縮装置１３の構成説明》
このような構成において、画像圧縮装置１３は下記の機能ブロックを備える。
（１）階調圧縮部３１・・ＲＡＷデータを画素単位に階調圧縮して、階調数を低減する。（２）差分演算部３２・・画素値とその予測値との差分を取って、予測差分を求める。この予測値としては、画素値の近傍の既知データから計算することが好ましい。また、簡単な予測値としては、画像伸張時に先に処理される近傍画素の値をそのまま予測値にしてもよい。
（３）可変長符号化部３３・・予測差分を可変長符号化する。
（４）差分再量子化部３４・・予測差分を複数のカテゴリに分類し、カテゴリごとの量子化ステップに従って予測差分を再量子化する。この再量子化によって予測差分のビットレンジを削減し、再量子化後の予測差分（すなわち圧縮コード）を小さな固定ビット長に揃える。
（５）圧縮制御部３５・・作成される圧縮データ量の監視機能と、可変長符号化部３３および差分再量子化部３４の動作切り換えを制御する機能とを有する。
【００２５】
《画像伸張装置１５の構成説明》
一方、画像伸張装置１５は、下記の機能ブロックを備える。
［１］伸張制御部４１・・圧縮データの処理量の監視機能と、可変長復号化部４２および差分逆量子化部４３の動作切り換えを制御する機能とを有する。
［２］可変長復号化部４２・・圧縮データ中から可変長符号を切り出してデコードし、予測差分を復元する。
［３］差分逆量子化部４３・・圧縮データ中から固定ビット長の圧縮コードを切り出し、差分再量子化部３４が使用した量子化ステップに従って逆量子化を実施し、予測差分を復元する。
［４］加算演算部４４・・伸張済みの既知データから作成される予測値と、復元された予測差分とを加算して、ＲＡＷデータの画素値を復元する。
【００２６】
《固定ビット長方式の圧縮動作説明》
ユーザーは、電子カメラ１１のカスタム設定を用いて、ＲＡＷデータの圧縮方式を適宜に選択することができる。
図２は、これら圧縮方式の一つであり、固定ビット長方式のＲＡＷデータ圧縮の動作手順を示す流れ図である。以下、この図２に示すステップ番号に沿って、この固定ビット長方式の圧縮処理を説明する。
【００２７】
［ステップＳ１］  撮像部１２は、１２ビットに直線量子化されたＲＡＷデータを出力する。画像圧縮装置１３は、このＲＡＷデータをライン単位に読み込む。
【００２８】
［ステップＳ２］  階調圧縮部３１は、読み込まれたＲＡＷデータの画素単位に、図３に示す特性の階調圧縮を施す。この階調圧縮では、４０９６階調のＲＡＷデータを６８２階調まで削減することに成功している。
特に、この階調圧縮では、人間にとって視覚感度の低い階調域を中心に、階調圧縮を行っているため、極めて画質劣化が少ない。
また、この階調圧縮では、暗部側の階調域で線形の階調変換を実施している。そのため、暗部側において不自然な階調飛びが生じず、陰影や髪の毛などの階調感を自然かつ豊かに残すことに成功している。さらに、中間から明部側の階調域において徐々に階調圧縮を強めることにより、これら階調域に含まれるレベル依存性ノイズ（例えばショットノイズ）をほぼ均等化することに成功している。
【００２９】
［ステップＳ３］  先行して圧縮される同色画素（ベイヤー配列のＲＡＷデータであれば、２画素左に位置する画素）に基づいて、処理対象画素の予測値を求める。なお、差分演算部３２が、処理対象画素の周囲が低彩度であることを判別した場合、同色画素に限らず、先行する異色画素から処理対象画素の予測値を求めてもよい。
このような予測演算としては、先行する画素値の中から最も近い値を予測値として使ってもよいし、複数の近傍画素の補間演算や外延演算などにより予測値を求めてもよい。
さらに画像伸張時の予測値と計算条件を揃えるため、近傍画素の圧縮データを一旦伸張して得た近傍画素値から予測値を求めてもよい。本実施形態はこの方式であり、先行画素の圧縮処理（後述するステップＳ６）において先に求めておいた復元画素値を使用して、予測値を求める。このような予測値の使用によって、本実施形態では、画像伸張時に誤差が累積するという弊害を防止できる。
差分演算部３２は、処理対象画素の画素値から上記の予測値を減算することにより、予測差分Ｓを求める。
なお、１画素目や定期的な画素位置については、予測差分ではなく、画素値を圧縮コードに格納することが好ましい。
【００３０】
［ステップＳ４］  差分再量子化部３４は、図４に示す再量子化テーブルに基づいて、上記の予測差分の大きさ|Ｓ|を閾値判別し、予測差分を１１段階のカテゴリに分類する。
【００３１】
［ステップＳ５］  続いて、差分再量子化部３４は、カテゴリ毎に予め定められた量子化ステップの刻みで予測差分を再量子化する。
なお、予測差分の大きな箇所における人間の目の視覚感度を、画質の主観テストなどにより予め求め、この視覚感度の許容幅に似せて量子化ステップの粗さを予め設定しておくことが好ましい。
このような量子化ステップを段階的（もっと段数を増すことによって連続的）に増加させることにより、再量子化の結果である差分値コードのビットレンジは、図４に示すように５〜６ビット程度に抑えられる。この差分値コードは、圧縮コードの下位ビットとなる。
なお、図１０は、図４の再量子化特性を特性カーブとして示したものである。
【００３２】
［ステップＳ６］  ここで、圧縮制御部３５は、再量子化後の予測差分を逆量子化し、予測値を加算して、画素値を一旦復元する。このように復元された画素値は、後続画素の予測値演算に使用するため、差分演算部３２に一時記憶される。
ちなみに、図４に示す量子化誤差値は、この復元された画素値に含まれ得る最大の誤差値を、図３に示す階調変換カーブで逆算して、フルレンジ４０９６の値として示したものである。
【００３３】
［ステップＳ７］  次に、差分再量子化部３４は、予測差分の分類されたカテゴリを識別できるように、カテゴリコードを生成する。このカテゴリコードは圧縮コードの上位ビットに該当する。
このカテゴリコードは、差分値コードのビット長と組み合わせて固定ビット長（ここでは８ビット）になるように、予め可変長コードが割り当てられている。
上述したカテゴリコードと差分値コードとを上位下位ビットとして組み合わせることにより、固定ビット長の圧縮コードが生成される。このように生成される圧縮コードは、圧縮制御部３５によって、バッファメモリ１４に逐次書き込まれる。
【００３４】
［ステップＳ８］  圧縮制御部３５は、順次出力されるＲＡＷデータの画像圧縮を完了するまで、ステップＳ１に動作を戻して固定ビット長方式の画像圧縮を継続する。
なお、圧縮制御部３５は、バッファメモリ１４の空き容量を監視し、その空き容量が次コマ分の圧縮データ量（≒固定ビット長×画素数）に不足すると、撮像部１２の連写動作を中断させてもよい。
【００３５】
以上の動作により、画像圧縮装置１３は、撮像部１２が順次出力するＲＡＷデータから、１画素当たり固定ビット長の圧縮データをほぼリアルタイムに生成することができる。
【００３６】
《固定ビット長方式の伸張動作説明》
図５は、固定ビット長方式の伸張動作を説明する流れ図である。以下、この図５に示すステップ番号に沿って、この固定ビット長方式の伸張動作を説明する。
【００３７】
［ステップＳ１１］  伸張制御部４１は、後段の記録部１９の進捗に合わせて、バッファメモリ１４から、１ライン分の圧縮データ（≒固定ビット長×１ライン分の画素数）を読み出す。
【００３８】
［ステップＳ１２］  差分逆量子化部４３は、カテゴリコードの可変符号割り当てルールに従って圧縮データ中の圧縮コードを上位下位ビットに分離し、カテゴリコードおよび差分値コードを得る。
【００３９】
［ステップＳ１３］  差分逆量子化部４３は、カテゴリコードが示すカテゴリの量子化ステップを用いて差分値ビットを逆量子化し、そのカテゴリ内における予測差分の値を復元する。
【００４０】
［ステップＳ１４］  加算演算部４４は、先行して伸張済みの近傍画素値に基づいて、処理対象画素の予測値を計算する。
加算演算部４４は、復元した予測差分と、この予測値とを加算することにより、階調圧縮済みの画素値を復元する。
【００４１】
［ステップＳ１５］  階調変換部４５は、復元された画素値に階調変換を施す。例えば、後段の画像処理において１２ビットＲＡＷデータが必要であれば、６８２階調を１２ビット階調に振り分ける階調変換を実施すればよい。また、後段の画像処理が８ビット階調あれば十分な場合は、６８２階調を８ビット階調に当てはめる階調変換を実施すればよい。
【００４２】
［ステップＳ１６］  伸張制御部４１は、バッファメモリ１４内の圧縮データが空になるまで、ステップＳ１１に動作を戻して画像伸張動作を継続する。
このような繰り返し動作によってバッファメモリ１４内の圧縮データが空になると、伸張制御部４１は画像伸張動作を完了する。
以上の動作により、画像伸張装置１５は、バッファメモリ１４に詰め込まれた圧縮データを適時に画像伸張し、後段の画像処理に遅滞なく提供することが可能になる。
【００４３】
《途中切り換え方式の圧縮動作説明》
次に、可変長符号化方式と固定ビット長方式とを画面途中で切り換え可能にする方式（『途中切り換え方式』という）について説明する。
図６は、途中切り換え方式の圧縮動作について説明する流れ図である。
【００４４】
［ステップＳ２１〜Ｓ２３］  上述したステップＳ１〜Ｓ３と同様の動作。
【００４５】
［ステップＳ２４］  可変長符号化部３３は、ステップＳ２３で求めた予測差分を、予め定められた可変長符号割り当てに従って符号化し、可変長の圧縮コードを生成する。
このように生成された圧縮コードは、圧縮制御部３５によって、バッファメモリ１４に逐次書き込まれる。
【００４６】
［ステップＳ２５］  圧縮制御部３５は、可変長の圧縮コードのビット長を累積し、現時点における圧縮データ量を求める。次に、圧縮制御部３５は、現時点の圧縮データ量から、圧縮データ量が監視データ量を超えるか否かを推定判断する。この場合、現時点の圧縮データ量から圧縮ビットレートを平均計算で算出し、この圧縮ビットレートの大小から監視データ量を超えるか否かを推定判断してもよい。また例えば、現時点の圧縮データ量を閾値判別することで、圧縮データ量が監視データ量を超えるか否かを推定判断してもよい。
もし、圧縮データ量が監視データ量を超えると判断された場合、圧縮制御部３５は、ステップＳ２７に動作を移行する。（ここではライン単位に圧縮方式の分岐判断を行っているが、画素単位に圧縮方式の分岐判断を行ってもよい。）
一方、圧縮データ量が監視データ量を超えないと判断すると、圧縮制御部３５は、ステップＳ２６に動作を移行する。
【００４７】
［ステップＳ２６］  圧縮制御部３５は、ＲＡＷデータの画像圧縮が完了するまで、ステップＳ２１に動作を戻し、可変長符号方式の画像圧縮を継続する。
【００４８】
［ステップＳ２７〜Ｓ３４］  上述したステップＳ１〜Ｓ８と同じため、詳しい説明は省略する。このステップＳ２７に動作が移ることにより、ＲＡＷデータの圧縮方式が、可変長符号方式から固定ビット長方式へと切り換わる。
【００４９】
《途中切り換え方式の伸張動作説明》
次に、図７に示す途中切り換え方式の伸張動作について説明する。
【００５０】
［ステップＳ４１］  伸張制御部４１は、後段の記録部１９の進捗に合わせて、バッファメモリ１４から、１ライン分の圧縮データを読み出す。このとき読み出される圧縮データは可変長符号であるため、圧縮時の可変長符号割り当てに従って圧縮コード列を区分しながら１ライン分読み出すことになる。
【００５１】
［ステップＳ４２］  可変長復号化部４２は、可変長符号割り当てに従って圧縮コードをデコードし、予測差分の値を復元する。
【００５２】
［ステップＳ４３］  加算演算部４４は、先行して伸張済みの近傍画素値に基づいて、処理対象画素の予測値を計算する。
加算演算部４４は、復元した予測差分と、この予測値とを加算することにより、階調圧縮後の画素値を復元する。
【００５３】
［ステップＳ４４］
階調変換部４５は、復元された画素値を階調変換する。
【００５４】
［ステップＳ４５］  伸張制御部４１は、バッファメモリ１４から読み出した圧縮データ量を監視する。伸張制御部４１は、この現時点の圧縮データ量から、圧縮データ量が監視データ量を超えるか否かを推定判断する。
もし圧縮データ量が監視データ量を超えると判断すると、伸張制御部４１はステップＳ４７に動作を移行する。（ここではライン単位に伸張方式の分岐判断を行っている。しかし、もしも圧縮時に画素単位に圧縮方式の分岐判断をしている場合には、画素単位に伸張方式の分岐判断を行えばよい。）
一方、圧縮データ量が監視データ量を超えないと判断すると、圧縮制御部３５は、ステップＳ４６に動作を移行する。
【００５５】
［ステップＳ４６］  伸張制御部４１は、バッファメモリ１４内の圧縮データが空になるまで、ステップＳ４１に動作を戻し、画像伸張を繰り返す。
一方、伸張制御部４１は、バッファメモリ１４内の圧縮データが空になった時点で伸張動作を終了する。
【００５６】
［ステップＳ４７〜Ｓ５２］  上述したステップＳ１１〜Ｓ１６と同じため、詳しい説明は省略する。このステップＳ４７に動作を移すことにより、ＲＡＷデータの伸張方式が、可変長符号方式から固定ビット長方式へと切り換わる。
以上の動作により、圧縮方式の切り換え箇所をステップＳ４５で検出し、伸張方式を適切に切り換えることに成功している。
【００５７】
《本実施形態の効果など》
以上説明したように、本実施形態では、予測差分の大きさ|Ｓ|が大きくなるに従って、量子化ステップの刻みを粗くする。このような動作により、予測差分のビットレンジを適度に抑え、予測差分の圧縮コードを比較的小さな固定ビット長に揃えることができる。
【００５８】
このように圧縮コードを固定ビット長に揃えることにより、可変長符号化方式のように圧縮データ量が予想外に増えることがなくなる。その結果、バッファメモリ１４内に多くの圧縮ＲＡＷデータを確実に格納できるようになり、高速連写コマ数を確実に増大させることが可能になる。
【００５９】
さらに、このように圧縮コードを固定ビット長に揃えることによって、バッファメモリ１４内での圧縮データのアドレス管理が格段に容易になる。例えば、バッファメモリ１４内の圧縮データから部分画像を読み出す際のアドレス管理が極めて容易になる。この場合、バッファメモリ１４内の圧縮データに対する電子ズームやトリミング処理が高速かつ簡易になる。
【００６０】
さらに、圧縮コードが固定ビット長であるため、バッファメモリ１４内の圧縮データを間引きや平均化して画素数を低減する際のアドレス管理も極めて容易になる。したがって、バッファメモリ１４内の圧縮データの画素数を低減してクイックビュー用途などの縮小画像を生成する処理が高速かつ簡易になる。
【００６１】
さらに、画像圧縮装置１３および画像伸張装置１５では、比較的小さな固定ビット長の圧縮コードを一律に扱えばよい。そのため、画像圧縮装置１３や画像伸張装置１５では、パイプライン処理化が容易になり、画像圧縮および画像伸張を格段に高速化することが可能となる。
【００６２】
その上、画像圧縮装置１３および画像伸張装置１５は、内部の演算レジスタが固定ビット長で済むため、ハードウェア構成を効率的に単純化することができる。
【００６３】
このように、ＲＡＷデータを固定ビット長にして、バッファメモリ１４に蓄積することにより、可変長符号化によるＲＡＷ圧縮では到底困難である多彩なバッファメモリ関連機能を、容易に実現することが可能になる。その結果、電子カメラ１１の多機能化などの可能性を大きく拡大できる。
【００６４】
さらに、この固定ビット長方式では、ＲＡＷデータの圧縮において特に重要とされる高画質圧縮という長所も有する。
すなわち、一般的に予測差分はゼロ付近に値が集中するため、殆どの予測差分に対しては量子化ステップが粗くならず、量子化誤差は無視できる。さらに、予測差分が大きい箇所は、画素値が大きく変化している確率が高い。そのような箇所では、量子化誤差が重畳しても画素値の大きな変化に隠れて殆ど目立たない。
【００６５】
また、本実施形態では、『画素値の階調圧縮』および『予測差分の再量子化』の２段階を経て圧縮コードを生成している。したがって、いずれか１段階のみでいきなりビット長を圧縮するよりも画質劣化は生じにくい。さらに、この２段階の処理における画質劣化は現れ方が異なるため、画質劣化を分散するという効果がある。このような効果によっても画質劣化は目立ちにくくなる。
【００６６】
一方、図６に示す途中切り換え方式の圧縮処理では、まず可変長符号化を実施し、圧縮データ量が予想外に大きくなると、途中から固定ビット長方式に切り換える。この場合、固定ビット長方式では圧縮ビットレートが一定であるため、そのまま圧縮データ量が過大に増えることがなくなり、最終的な圧縮データ量を所定の限界データ量以下に抑えることが可能になる。
【００６７】
その結果、バッファメモリ１４に格納可能な連写コマ数の最低値を保証することが可能になる。したがって、高速連写コマ数の最低値が保証可能な電子カメラ１１を実現できる。
【００６８】
《実施形態の補足事項》
上述した実施形態では、ハードウェアによって画像圧縮装置１３および画像伸張装置１５を実現するケースについて主に説明した。しかしながら、本発明はこれに限定されるものではない。例えば画像圧縮装置１３や画像伸張装置１５をマイクロプロセッサなどのソフトウェア動作によって実現してもよい。
【００６９】
また例えば、図２や図６の動作をコンピュータに実行させるための画像圧縮プログラムを作成してもよい。コンピュータ上でこの画像圧縮プログラムを起動することによって、コンピュータを本発明の画像圧縮装置として機能させることができる。
【００７０】
また例えば、図５や図７の動作をコンピュータに実行させるための画像伸張プログラムを作成してもよい。コンピュータ上でこの画像伸張プログラムを起動することによって、コンピュータを本発明の画像伸張装置として機能させることができる。
【００７１】
なお、上述した実施形態では、ＲＡＷデータの画像圧縮および画像伸張を行うケースについて説明した。しかしながら、本発明はこれに限定されるものではない。本発明の圧縮伸張技術を用いて、一般的な画像データの圧縮伸張を行うことも可能である。
【００７２】
また、上述した実施形態では、８ビットの固定ビット長に圧縮するケースについて説明した。しかしながら、本発明はこれに限定されるものではない。例えば、図８および図９に示す再量子化テーブルを使用すれば、７ビットや６ビットなどの固定ビット長に圧縮することも可能ある。
【００７３】
さらに、上述した実施形態では、予測差分をカテゴリ分類した上で再量子化を実施している。しかしながら、本発明はこの再量子化手順に限定されるものではない。例えば、予測差分と、カテゴリ値と再量子化値とを一体化したコードとの対応テーブルを用意して、再量子化後の値をダイレクトに求めてもよい。
【産業上の利用可能性】
【００７４】
以上説明したように、本発明は、画像の圧縮伸張などに利用可能な技術である。
【図面の簡単な説明】
【００７５】
【図１】本実施形態の電子カメラ１１の構成を示す図である。
【図２】固定ビット長方式の圧縮動作を説明する流れ図である。
【図３】階調圧縮カーブの一例を示す図である。
【図４】再量子化テーブルの一例を示す図である。
【図５】固定ビット長方式の伸張動作を説明する流れ図である。
【図６】途中切り換え方式の圧縮動作を説明する流れ図である。
【図７】途中切り換え方式の伸張動作を説明する流れ図である。
【図８】再量子化テーブルの一例を示す図である。
【図９】再量子化テーブルの一例を示す図である。
【図１０】再量子化の特性カーブの一例を示す図である。
【符号の説明】
【００７６】
１１  電子カメラ
１２  撮像部
１３  画像圧縮装置
１４  バッファメモリ
１５  画像伸張装置
１７  色変換部
１９  記録部
２０  メモリカード
３１  階調圧縮部
３２  差分演算部
３３  可変長符号化部
３４  差分再量子化部
３５  圧縮制御部
４１  伸張制御部
４２  可変長復号化部
４３  差分逆量子化部
４４  加算演算部
４５  階調変換部
【図１】
2005191939.tif 000003
【図２】
2005191939.tif 000004
【図３】
2005191939.tif 000005
【図４】
2005191939.tif 000006
【図５】
2005191939.tif 000007
【図６】
2005191939.tif 000008
【図７】
2005191939.tif 000009
【図８】
2005191939.tif 000010
【図９】
2005191939.tif 000011
【図１０】
2005191939.tif 000012