(57)【特許請求の範囲】
【請求項１】
圧縮対象画像データを入力する画像データ入力手段と、
ファイルサイズとの関係において画像データがほぼ直線的に変化する量子化的変化量を予め有し、所定の２つの量子化的変化量に対して前記圧縮対象画像データに対応するファイルサイズを求める第１演算手段と、
目標ファイルサイズを指定するファイルサイズ指定手段と、
前記第１演算手段で求めたファイルサイズと量子化的変化量との関係に基づき、前記圧縮対象画像データに関して前記目標ファイルサイズに対応する目標量子化的変化量を求める第２演算手段と、
前記量子化的変化量と量子化ステップとの関係を予め記憶する記憶手段と、
前記記憶手段に記憶した量子化的変化量と量子化ステップとの関係から、前記第２演算手段で求めた前記目標量子化的変化量に基づいて前記目標ファイルサイズに対応する量子化ステップを求め、この求めた量子化ステップを用いて前記圧縮対象画像データを圧縮する画像圧縮手段と、
を有することを特徴とする画像圧縮装置。
【請求項２】
請求項１に記載の画像圧縮装置において、
前記所定の２つの量子化的変化量は、前記目標ファイルサイズに応じて設定されることを特徴とする画像圧縮装置。
【請求項３】
請求項１に記載の画像圧縮装置において、
前記第１演算手段は、前記目標ファイルサイズに応じて設定された１つの量子化的変化量に対するファイルサイズを求め、この求めたファイルサイズに応じて決定した、他の１つの量子化的変化量に対するファイルサイズを求めることを特徴とする画像圧縮装置。
【請求項４】
圧縮対象画像データを入力する画像データ入力手段と、
量子化インデックスと量子化的変化量との対応関係を記憶する記憶手段と、
指定された前記量子化インデックスで前記画像データを圧縮する圧縮手段と、
目標ファイルサイズを指定するファイルサイズ指定手段と、
前記圧縮手段により、前記画像データを、第１の量子化インデックスと第２の量子化インデックスとを用いて、それぞれ圧縮したときの第１のファイルサイズと第２のファイルサイズとを求めるテスト圧縮手段と、
前記量子化インデックスと量子化的変化量との対応関係を用いて、前記第１の量子化インデックスに対応する第１の量子化的変化量と、前記第２の量子化インデックスに対応する第２の量子化的変化量とを求める量子化的変化量算出手段と、
前記画像データの前記量子化的変化量と前記ファイルサイズとの関係を、前記第１の量子化的変化量と前記第１のファイルサイズ、および前記第２の量子化的変化量と前記第２のファイルサイズから求め、求めた関係によって、前記目標ファイルサイズでの目標量子化的変化量を求める目標量子化的変化量算出手段と、
前記量子化インデックスと量子化的変化量との対応関係を用いて、前記目標量子化的変化量から目標量子化インデックスを求める目標量子化インデックス算出手段と、
前記目標量子化インデックスで、前記圧縮手段により前記画像データを圧縮した圧縮画像データを出力する画像データ出力手段と
を有することを特徴とする画像圧縮装置。
【請求項５】
請求項４に記載の画像圧縮装置において、
前記第１の量子化インデックスと前記第２の量子化インデックスとは、前記目標ファイルサイズに応じて設定されることを特徴とする画像圧縮装置。
【請求項６】
請求項４に記載の画像圧縮装置において、
前記テスト圧縮手段は、前記目標ファイルサイズに応じた第１の量子化インデックスを用いて、前記圧縮手段で１回目の圧縮を行って第１のファイルサイズを求め、前記第１のファイルサイズに応じて決定した第２の量子化インデックスを用いて、前記圧縮手段で２回目の圧縮を行って第２のファイルサイズを求める
ことを特徴とする画像圧縮装置。
【請求項７】
請求項４から６のいずれか一項に記載の画像圧縮装置において、
前記第１の量子化的変化量と前記第１のファイルサイズ、および前記第２の量子化的変化量と前記第２のファイルサイズの対数値の関係は略直線であることを特徴とする画像圧縮装置。
【請求項８】
請求項４から７のいずれか一項に記載の画像圧縮装置において、
前記量子化的変化量算出手段は、前記第１の量子化インデックスと前記第２の量子化インデックスとからそれぞれの第１の量子化的変化量の対数値と第２の量子化的変化量の対数値とを求め、
前記目標量子化的変化量算出手段は、前記第１の量子化的変化量の対数値および前記第２の量子化的変化量の対数値と前記第１のファイルサイズおよび前記第２のファイルサイズとの関係から前記目標ファイルサイズでの目標量子化的変化量の対数値を求め、
前記目標量子化インデックス算出手段は、前記目標量子化的変化量の対数値から目標量子化インデックスを求めることを特徴とする画像圧縮装置。
【請求項９】
圧縮対象画像データを入力する画像データ入力手段と、
量子化インデックスと量子化的変化量との対応関係を記憶する記憶手段と、
指定された前記量子化インデックスで前記画像データを圧縮する圧縮手段と、
前記圧縮手段の目標ファイルサイズを設定する目標ファイルサイズ設定手段と、
前記圧縮手段により、前記画像データを、第１の量子化インデックスで圧縮したときの第１のファイルサイズを求めるテスト圧縮手段と、
前記量子化インデックスと量子化的変化量との対応関係を用いて、前記第１の量子化インデックスに対応する第１の量子化的変化量を求める量子化的変化量算出手段と、
前記画像データの前記量子化的変化量と前記ファイルサイズとの関係を、前記第１の量子化的変化量と前記第１のファイルサイズ、および予め設定された初期量子化的変化量と、前記初期量子化的変化量に対応する初期ファイルサイズから求め、求めた関係によって、前記目標ファイルサイズでの目標量子化的変化量を求める目標量子化的変化量算出手段と、
前記量子化インデックスと量子化的変化量との対応関係を用いて、前記目標量子化的変化量から目標量子化インデックスを求める目標量子化インデックス算出手段と、
前記目標量子化インデックスで、前記圧縮手段により前記画像データを圧縮した圧縮画像データを出力する画像データ出力手段と
を有することを特徴とする画像圧縮装置。
【請求項１０】
請求項９に記載の画像圧縮装置において、
前記第１の量子化インデックスは前記目標ファイルサイズに応じて設定されることを特徴とする画像圧縮装置。
【請求項１１】
請求項９または１０に記載の画像圧縮装置において、
前記第１の量子化的変化量と前記第１のファイルサイズ、および前記初期量子化的変化量の対数値と前記初期ファイルサイズの対数値の関係は略直線である
ことを特徴とする画像圧縮装置。
【請求項１２】
請求項９から１１のいずれか一項に記載の画像圧縮装置において、
前記量子化的変化量算出手段は、前記第１の量子化インデックスから第１の量子化的変化量の対数値を求め、
前記目標量子化的変化量算出手段は、前記第１の量子化的変化量の対数値および予め設定された初期量子化的変化量の対数値と前記第１のファイルサイズおよび前記初期量子化的変化量の対数値に対応する初期ファイルサイズとの関係から目標ファイルサイズでの目標量子化的変化量の対数値を求め、
前記目標量子化インデックス算出手段は、前記目標量子化的変化量の対数値から目標量子化インデックスを求める
ことを特徴とする画像圧縮装置。
【請求項１３】
請求項１から１２のいずれか一項に記載の画像圧縮装置を有することを特徴とする電子カメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像圧縮装置および電子カメラに関する。
【背景技術】
【０００２】
一般的な電子カメラでは、撮影画像を圧縮して記録メディアに保存する。画像圧縮処理は、例えば直交変換した係数を所定の量子化パラメータで量子化後、冗長成分を少なくする符号化を行う。ところが、被写体によって空間周波数成分の分布が異なるため、同じ量子化パラメータを用いた場合でも圧縮後の画像ファイル容量が大きく異なってしまう。このため、記録メディアの残容量で撮影可能な画像枚数の予測が難しく、電子カメラとしての使い勝手が良くないという問題が生じる。そこで、被写体の種類に依らず圧縮後の画像ファイル容量を概ね一定にする固定長圧縮技術が検討されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第５５９４５５４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、従来技術では、圧縮率と量子化パラメータとが必ずしも直線関係にならないため、テスト圧縮結果から目標圧縮率に対する量子化パラメータを精度良く求めることができないという問題があった。
【０００５】
本発明の目的は、圧縮後の画像ファイル容量を概ね一定にするための量子化パラメータを精度良く求めることができる画像圧縮装置および電子カメラを提供することである。
【課題を解決するための手段】
【０００６】
本発明に係る画像圧縮装置は、圧縮対象画像データを入力する画像データ入力手段と、ファイルサイズとの関係において画像データがほぼ直線的に変化する量子化的変化量を予め有し、所定の２つの量子化的変化量に対して前記圧縮対象画像データに対応するファイルサイズを求める第１演算手段と、目標ファイルサイズを指定するファイルサイズ指定手段と、前記第１演算手段で求めたファイルサイズと量子化的変化量との関係に基づき、前記圧縮対象画像データに関して前記目標ファイルサイズに対応する目標量子化的変化量を求める第２演算手段と、前記量子化的変化量と量子化ステップとの関係を予め記憶する記憶手段と、前記記憶手段に記憶した量子化的変化量と量子化ステップとの関係から、前記第２演算手段で求めた前記目標量子化的変化量に基づいて前記目標ファイルサイズに対応する量子化ステップを求め、この求めた量子化ステップを用いて前記圧縮対象画像データを圧縮する画像圧縮手段と、を有することを特徴とする。
【０００７】
特に、前記所定の２つの量子化的変化量は、前記目標ファイルサイズに応じて設定されることを特徴とする。
【０００８】
また、前記第１演算手段は、前記目標ファイルサイズに応じて設定された１つの量子化的変化量に対するファイルサイズを求め、この求めたファイルサイズに応じて決定した他の１つの量子化的変化量に対するファイルサイズを求めることを特徴とする。
【０００９】
本発明に係る画像圧縮装置は、圧縮対象画像データを入力する画像データ入力手段と、量子化インデックスと量子化的変化量との対応関係を記憶する記憶手段と、指定された前記量子化インデックスで前記画像データを圧縮する圧縮手段と、目標ファイルサイズを指定するファイルサイズ指定手段と、前記圧縮手段により、前記画像データを、第１の量子化インデックスと第２の量子化インデックスとを用いて、それぞれ圧縮したときの第１のファイルサイズと第２のファイルサイズとを求めるテスト圧縮手段と、前記量子化インデックスと量子化的変化量との対応関係を用いて、前記第１の量子化インデックスに対応する第１の量子化的変化量と、前記第２の量子化インデックスに対応する第２の量子化的変化量とを求める量子化的変化量算出手段と、前記画像データの前記量子化的変化量と前記ファイルサイズとの関係を、前記第１の量子化的変化量と前記第１のファイルサイズ、および前記第２の量子化的変化量と前記第２のファイルサイズから求め、求めた関係によって、前記目標ファイルサイズでの目標量子化的変化量を求める目標量子化的変化量算出手段と、前記量子化インデックスと量子化的変化量との対応関係を用いて、前記目標量子化的変化量から目標量子化インデックスを求める目標量子化インデックス算出手段と、前記目標量子化インデックスで、前記圧縮手段により前記画像データを圧縮した圧縮画像データを出力する画像データ出力手段とを有することを特徴とする。
【００１０】
特に、前記第１の量子化インデックスと前記第２の量子化インデックスとは、前記目標ファイルサイズに応じて設定されることを特徴とする。
【００１１】
また、前記テスト圧縮手段は、前記目標ファイルサイズに応じた第１の量子化インデックスを用いて、前記圧縮手段で１回目の圧縮を行って第１のファイルサイズを求め、前記第１のファイルサイズに応じて決定した第２の量子化インデックスを用いて、前記圧縮手段で２回目の圧縮を行って第２のファイルサイズを求めることを特徴とする。
【００１２】
さらに、前記第１の量子化的変化量と前記第１のファイルサイズ、および前記第２の量子化的変化量と前記第２のファイルサイズの対数値の関係は略直線であることを特徴とする。
また、前記量子化的変化量算出手段は、前記第１の量子化インデックスと前記第２の量子化インデックスとからそれぞれの第１の量子化的変化量の対数値と第２の量子化的変化量の対数値とを求め、前記目標量子化的変化量算出手段は、前記第１の量子化的変化量の対数値および前記第２の量子化的変化量の対数値と前記第１のファイルサイズおよび前記第２のファイルサイズとの関係から前記目標ファイルサイズでの目標量子化的変化量の対数値を求め、前記目標量子化インデックス算出手段は、前記目標量子化的変化量の対数値から目標量子化インデックスを求めることを特徴とする。
【００１３】
本発明に係る画像圧縮装置は、圧縮対象画像データを入力する画像データ入力手段と、量子化インデックスと量子化的変化量との対応関係を記憶する記憶手段と、指定された前記量子化インデックスで前記画像データを圧縮する圧縮手段と、前記圧縮手段の目標ファイルサイズを設定する目標ファイルサイズ設定手段と、前記圧縮手段により、前記画像データを、第１の量子化インデックスで圧縮したときの第１のファイルサイズを求めるテスト圧縮手段と、前記量子化インデックスと量子化的変化量との対応関係を用いて、前記第１の量子化インデックスに対応する第１の量子化的変化量を求める量子化的変化量算出手段と、前記画像データの前記量子化的変化量と前記ファイルサイズとの関係を、前記第１の量子化的変化量と前記第１のファイルサイズ、および予め設定された初期量子化的変化量と、前記初期量子化的変化量に対応する初期ファイルサイズから求め、求めた関係によって、前記目標ファイルサイズでの目標量子化的変化量を求める目標量子化的変化量算出手段と、前記量子化インデックスと量子化的変化量との対応関係を用いて、前記目標量子化的変化量から目標量子化インデックスを求める目標量子化インデックス算出手段と、前記目標量子化インデックスで、前記圧縮手段により前記画像データを圧縮した圧縮画像データを出力する画像データ出力手段とを有することを特徴とする。
【００１４】
特に、前記第１の量子化インデックスは前記目標ファイルサイズに応じて設定されることを特徴とする。
【００１５】
また、前記第１の量子化的変化量と前記第１のファイルサイズ、および前記初期量子化的変化量の対数値と前記初期ファイルサイズの対数値の関係は略直線であることを特徴とする。
【００１６】
さらに、前記量子化的変化量算出手段は、前記第１の量子化インデックスから第１の量子化的変化量の対数値を求め、前記目標量子化的変化量算出手段は、前記第１の量子化的変化量の対数値および予め設定された初期量子化的変化量の対数値と前記第１のファイルサイズおよび前記初期量子化的変化量の対数値に対応する初期ファイルサイズとの関係から目標ファイルサイズでの目標量子化的変化量の対数値を求め、前記目標量子化インデックス算出手段は、前記目標量子化的変化量の対数値から目標量子化インデックスを求めることを特徴とする。
【００１７】
本発明に係る電子カメラは、前記画像圧縮装置を有することを特徴とする。
【発明の効果】
【００１８】
本発明では、圧縮後の画像ファイル容量を概ね一定にする量子化パラメータを精度良く求めることができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態に係る電子カメラ１０１の構成を示すブロック図である。
【図２】本実施形態における量子化インデックスと量子化ステップと疑似量子化ステップおよびその対数値の対応を示す説明図である。
【図３】画像処理部１０７の構成を示すブロック図である。
【図４】量子化インデックスと量子化ステップおよび量子化ステップと圧縮率の関係を示す説明図である。
【図５】本実施形態における量子化インデックスと量子化ステップおよび量子化インデックスと疑似量子化ステップの関係を示す説明図である。
【図６】第１の実施形態に係る画像圧縮処理を示すフローチャートである。
【図７】本実施形態における量子化インデックスと疑似量子化ステップの求め方を示す説明図である。
【図８】テスト圧縮処理の高速化方法を示す説明図である。
【図９】第２の実施形態の変形例の画像圧縮処理を示すフローチャートである。
【図１０】第３の実施形態に係る画像圧縮処理を原理を示す説明図である。
【図１１】第３の実施形態に係る画像圧縮処理を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明に係る画像圧縮装置および電子カメラに関する実施形態について説明する。尚、本実施形態で説明する電子カメラ１０１は、本発明に係る画像圧縮装置を搭載する電子カメラの例である。
【００２１】
［電子カメラ１０１の構成および基本動作］
先ず、電子カメラ１０１の全体構成および基本動作について説明する。図１は電子カメラ１０１の構成を示すブロック図で、電子カメラ１０１は、光学系１０２と、メカニカルシャッタ１０３と、撮像素子１０４と、Ａ／Ｄ変換部１０５と、画像バッファ１０６と、画像処理部１０７と、カメラ制御部１０８と、メモリ１０９と、表示部１１０と、メモリカードＩＦ（インターフェース）１１２と、操作部材１１１とで構成される。ここで、画像処理部１０７は、本発明に係る画像圧縮装置を含むブロックである。
【００２２】
図１において、光学系１０２に入射された被写体光は、メカニカルシャッタ１０３を介して撮像素子１０４の受光面に入射される。ここで、光学系１０２は、ズームレンズやフォーカスレンズなどの複数枚のレンズで構成され、カメラ制御部１０８から制御されるレンズ駆動部や絞りなどを有している。
【００２３】
撮像素子１０４は、受光面に光電変換を行うための画素が二次元状に配置され、光電変換したアナログの画像信号を画素単位で出力する。
【００２４】
Ａ／Ｄ変換部１０５は、撮像素子１０４が出力するアナログの画像信号をデジタル値に変換し、撮影画像１枚分の画像データを画像バッファ１０６に取り込む。例えば、撮像素子１０４の解像度が１０００画素×１０００画素である場合、１００万画素分の画像データが画像バッファ１０６に取り込まれる。この時、画像バッファ１０６に取り込まれた画像データはＲＡＷデータと呼ばれ、各画素にＲＧＢいずれかの色成分を有している。
【００２５】
画像バッファ１０６は、揮発性の高速メモリで構成され、Ａ／Ｄ変換部１０５が出力する撮影画像を一時的に記憶するだけでなく、画像処理部１０７が画像処理を行う時のバッファとしても使用される。或いは撮影画像やメモリカードＩＦ１１２に接続されたメモリカード１１２ａに保存されている撮影済の画像を表示部１１０に表示する際の表示用バッファとしても使用される。
【００２６】
画像処理部１０７は、画像バッファ１０６に取り込まれたＲＡＷデータに対して、補間処理，ホワイトバランス処理，階調処理，色変換処理，エッジ強調処理などを行う。さらに、カメラ制御部１０８から与えられるパラメータ（量子化インデックス）に応じて、例えばＪＰＥＧＸＲ規格などに準拠した画像圧縮処理を施す。尚、画像処理部１０７の構成および量子化インデックスなどについては後で詳しく説明する。
【００２７】
カメラ制御部１０８は、内部に記憶されたプログラムに従って動作するＣＰＵで構成され、電子カメラ１０１全体の動作を制御する。例えば、カメラ制御部１０８は、操作部材１１１の撮影モード選択ダイヤル（不図示）やレリーズボタン１１１ｂの押下などに応じて、電子カメラ１０１の撮影モードを設定したり、光学系１０２のレンズ制御や絞り制御あるいはメカニカルシャッタ１０３を制御して撮像素子１０４で被写体画像を撮像する。そして、カメラ制御部１０８は、撮像素子１０４から所定解像度の画像信号を読み出し、Ａ／Ｄ変換部１０５でデジタル値に変換して１画面分の画像データを画像バッファ１０６に取り込む。さらに、カメラ制御部１０８は、画像バッファ１０６に取り込まれた画像データに対して所定の画像処理を施すよう画像処理部１０７に指令する。特に本実施形態に係る電子カメラ１０１では、カメラ制御部１０８は、圧縮処理を行うためのパラメータ（量子化インデックス）を画像処理部１０７に与える。この時、カメラ制御部１０８は、固定長圧縮を行うために目標圧縮率（目標ファイルサイズ）に対応する目標量子化インデックスを求める処理を行い、目標量子化インデックスを画像処理部１０７に与えて本圧縮処理を行う。そして、画像処理部１０７が画像圧縮後の画像データ、例えばＪＰＥＧＸＲデータに所定のファイル名やヘッダ情報を付加してメモリカードＩ／Ｆ１１２を介してメモリカード１１２ａに保存したり、表示部１１０に撮影画像を表示する。
【００２８】
メモリ１０９は、フラッシュメモリなどの不揮発性の半導体メモリで構成され、電子カメラ１０１の撮影モードや露出情報，フォーカス情報などのパラメータを記憶し、カメラ制御部１０８は、これらのパラメータをユーザー操作に応じて適宜更新する。特に、本実施形態では、固定長圧縮処理を行うために、図２に示すような量子化インデックスと量子化ステップと疑似量子化ステップ（量子化的変化量）などの対応を示すテーブルが例えば製造時などに予めメモリ１０９に記憶されている。尚、量子化インデックス，量子化ステップおよび疑似量子化ステップについては後で詳しく説明する。
【００２９】
表示部１１０は、液晶モニタなどで構成され、カメラ制御部１０８によって画像バッファ１０６に取り込まれた撮影画像や電子カメラ１０１の操作に必要なメニュー画面などを表示する。
【００３０】
操作部材１１１は、レリーズボタン１１１ｂの他に、電源ボタン（不図示）、撮影モード選択ダイヤル（不図示）、ホワイトバランス選択ボタン（不図示）、カーソルボタン（不図示）などで構成される。ユーザーは、これらの操作ボタンを用いて電子カメラ１０１を操作し、これらの操作ボタンによる操作情報はカメラ制御部１０８に出力される。そして、カメラ制御部１０８は、操作部材１１１から入力する操作情報に応じて、電子カメラ１０１全体の動作を制御する。特に、本実施形態では、操作部材１１１に目標圧縮率を設定する目標圧縮率設定ダイヤル１１１ａが設けられている。撮影者は、この目標圧縮率設定ダイヤル１１１ａを用いて、ＦＩＮＥ（１／４の圧縮率），ＮＯＲＭＡＬ（１／８の圧縮率），ＢＡＳＩＣ（１／１６の圧縮率）の３種類のいずれかを選択する。なお、目標圧縮率を設定することは、圧縮後の画像データのデータ容量（ファイルサイズ）の目標値を設定することに対応している。
【００３１】
メモリカードＩＦ１１２は、電子カメラ１０１にメモリカード１１２ａを接続するためのインターフェースで、カメラ制御部１０８はメモリカードＩＦ１１２を介してメモリカード１１２ａに画像データを書き込んだり、メモリカード１１２ａに保存されている画像データを読み出す。
【００３２】
以上が各実施形態に共通の電子カメラ１０１の構成および基本動作である。
【００３３】
［画像処理部１０７の構成および動作］
次に、画像処理部１０７の構成および動作について詳しく説明する。図３は画像処理部１０７と画像圧縮処理に関係するカメラ制御部１０８の構成を示すブロック図である。図３において、画像処理部１０７は、ホワイトバランス処理部２０１と、色補間処理部２０２と、エッジ強調処理部２０３と、圧縮処理部２０４とで構成される。
【００３４】
ホワイトバランス処理部２０１は、撮影された被写体の無彩色部分が無彩色の画像として撮影されるように、各画素のＲＧＢ各成分のデータにホワイトバランス係数を乗算する処理を行う。
【００３５】
色補間処理部２０２は、各画素がＲＧＢいずれか１色の値しか持たないＲＡＷデータを補間して、各画素がＲＧＢ各色の値を持つＲＧＢデータに変換する処理を行う。
【００３６】
エッジ強調処理部２０３は、例えばＲＧＢデータを輝度色差データ（Ｙ，Ｃｂ，Ｃｒ）に変換して、輝度データＹに対してエッジ強調処理を行う。
【００３７】
圧縮処理部２０４は、エッジ強調処理部２０３が出力する輝度色差データ（Ｙ，Ｃｂ，Ｃｒ）に対して、ＪＰＥＧやＪＰＥＧＸＲ等の規格に従った圧縮方式で画像圧縮処理を行う。特に、本実施形態ではＪＰＥＧＸＲに準拠した圧縮方式で画像圧縮処理を行うものとし、指定された量子化インデックスに応じた量子化ステップで量子化後、エントロピー符号化を行う。つまり、本実施形態では圧縮処理部２０４は、指定された量子化インデックス（ＱＰＩｎｄｅｘ）で入力する画像データを圧縮処理し、画像圧縮データ（符号化データ）を出力するブラックボックスと見なすことができる。
【００３８】
ここで、圧縮処理部２０４の構成について説明する。圧縮処理部２０４は、直交変換部２５１と、量子化部２５２と、エントロピー符号化部２５３とで構成される。
【００３９】
直交変換部２５１は、入力される１枚の撮影画像を複数のサブブロックに分割して、サブブロック毎に例えばＤＣＴ（離散コサイン変換）やウェーブレット変換などの直交変換処理を行って空間周波数成分に変換し、周波数成分毎の係数を出力する。尚、直交変換処理は、例えば輝度（Ｙ）と、色差（Ｃｂ，Ｃｒ）のそれぞれについて行う。また、以降の圧縮処理の説明では、サブブロックや輝度・色差の次元で記載していないが、基本的には複数のサブブロックおよび輝度データ・色差データについて同様の処理を行って１枚の撮影画像全体の圧縮を行うものとする。
【００４０】
量子化部２５２は、カメラ制御部１０８から指定された量子化インデックスに応じた量子化ステップで直交変換部２５１が出力する係数を量子化する。尚、通常の電子カメラでは、図２に示した量子化インデックス（ＱＰＩｎｄｅｘ）と量子化ステップ（ＱＰ）の対応に基づいて、カメラ制御部１０８から指定された量子化インデックスに対応する量子化ステップを求め、直交変換部２５１が出力する係数を量子化する。ここで、量子化処理において、指定される量子化インデックスに応じて圧縮率は変化し、例えば量子化インデックスを大きくすると量子化ステップも大きくなるので圧縮率は高くなり、逆に量子化インデックスを小さくすると量子化ステップも小さくなるので圧縮率は低くなる。
【００４１】
エントロピー符号化部２５３は、量子化部２５２が出力する量子化データの差分処理や符号の配列処理などを行った後、発生頻度の高いデータ列に短い符号を割り当てるエントロピー符号化を行う。尚、符号化処理も圧縮率に影響する処理である。
【００４２】
このように、圧縮処理部２０４は、直交変換部２５１と、量子化部２５２と、エントロピー符号化部２５３とで構成され、カメラ制御部１０８から指定された量子化インデックス（ＱＰＩｎｄｅｘ）に応じて画像圧縮処理を実行する。
【００４３】
画像圧縮処理後の画像データ（例えばＪＰＥＧ画像データ）は、カメラ制御部１０８を介してメモリカードＩＦ１１２に接続されているメモリカード１１２ａに撮影画像として保存される。
【００４４】
ここで、ホワイトバランス処理部２０１，色補間処理部２０２，エッジ強調処理部２０３および圧縮処理部２０４までの処理は、一般的な電子カメラで行われている周知の画像処理である。本実施形態に係る電子カメラ１０１の特徴は、固定長圧縮処理を行うための固定長圧縮処理部２０５がカメラ制御部１０８に設けられていることである。
【００４５】
［固定長圧縮処理部２０５の構成および動作］
次に、固定長圧縮処理部２０５の構成および動作について説明するが、先ず、量子化インデックスと量子化ステップについて説明する。例えば量子化インデックス（ＱＰＩｎｄｅｘ）と量子化ステップ（ＱＰ）の関係は、図４（ａ）の両対数グラフに示すように、量子化インデックスの増加に応じて量子化ステップも増加し、量子化インデックスのある部分から急激に量子化ステップが増大する。
【００４６】
ここで、量子化インデックスとは、ＪＰＥＧＸＲ規格に従った画像圧縮処理を行う際のパラメータで、例えば図４（ａ）のような関係が予め規格で決められており、圧縮処理部２０４の量子化部２５２は、この規格に従ってカメラ制御部１０８から指定された量子化インデックスに対応する量子化ステップで直交変換された係数値の量子化を行う。
【００４７】
また、量子化ステップとは、係数値を量子化する際の幅（量子化幅）を意味し、量子化ステップが大きいほど係数値が粗く分解されるので圧縮率は高くなるが画質は悪くなる。逆に、量子化ステップが小さいほど係数値が細かく分解されるので圧縮率は低くなるが画質は良くなる。尚、圧縮率と量子化ステップの関係は画像の種類によって異なる。この関係を図４（ｂ）に示す。図４（ｂ）は様々な種類の画像を同じ量子化ステップ（ＱＰ）で圧縮処理した時の圧縮率（ＣＲ）の関係を示す両対数グラフで、画像の種類によって同じ量子化ステップでも圧縮率は異なり、ある幅を持った分布になっている。但し、全体の傾向は、図４（ｂ）に示すように、量子化ステップが大きくなるほど圧縮率は低くなっていく。特に、量子化ステップが小さい領域（例えば１から２０程度）では、量子化ステップと圧縮率との関係が両対数グラフ上で直線に近くなるが、量子化ステップが大きい領域（例えば５０以上）では、量子化ステップと圧縮率との関係が両対数グラフ上で直線にはならず、傾きが大きくなって圧縮率が急激に低下する。
【００４８】
このため、例えば、任意の２つの量子化インデックス（２つの量子化ステップにそれぞれ対応）を指定してテスト圧縮を行った結果から、直線補間方法を用いて目標圧縮率に対応する量子化ステップ（および対応する量子化インデックス）を推定することが難しくなる。そこで、本実施形態に係る電子カメラ１０１では、固定長圧縮処理部２０５において、圧縮率と量子化ステップとが両対数グラフで比例関係になるような特殊な量子化ステップ（疑似量子化ステップ）を用いることにより、目標圧縮率に対応する量子化ステップ（および対応する量子化インデックス）を精度良く推定できる。
【００４９】
次に、固定長圧縮処理部２０５の構成および動作について説明する。固定長圧縮処理部２０５は、目標圧縮率設定部２６１と、圧縮率調査部（容量調査部）２６２と、疑似量子化幅算出部２６３と、目標疑似量子化幅算出部２６４と、目標量子化インデックス算出部２６５とで構成される。以下、各部について順番に説明する。
［目標圧縮率設定部２６１］
目標圧縮率設定部２６１は、ユーザーが操作部材１１１の目標圧縮率設定ダイヤル１１１ａを用いて選択した圧縮率を固定長圧縮処理の目標圧縮率として設定する。尚、目標圧縮率を数値指定できるようにしても構わないが、本実施形態に係る電子カメラ１０１では、例えばＦＩＮＥ，ＮＯＲＭＡＬ，ＢＡＳＩＣの３種類から目標圧縮率設定ダイヤル１１１ａで選択する。また、目標圧縮率設定ダイヤル１１１ａでＦＩＮＥが選択された場合は圧縮率を１／４、ＮＯＲＭＡＬが選択された場合は圧縮率を１／８、ＢＡＳＩＣが選択された場合は圧縮率を１／１６のように予め対応させておくものとする。
［圧縮率調査部２６２］
圧縮率調査部２６２は、例えば容量調査部と称しても構わず、テスト圧縮用の量子化インデックスを暫定的に選択し、これを圧縮処理部２０４の量子化部２５２に与えてテスト圧縮を行い、テスト圧縮後の画像データの容量を調べて当該量子化インデックスにおける圧縮率を求める。ここで、圧縮率は、図３の圧縮処理部２０４の直交変換部２５１が入力する圧縮処理前の画像データの容量と、エントロピー符号化部２５３が出力する圧縮処理後の符号化データ（画像圧縮データ）の容量との比として求められる。例えば、圧縮前のデータ容量（ファイルサイズ）をＡ（ＭＢ（メガバイト））、圧縮後のデータ容量（ファイルサイズ）をＢ（ＭＢ）とすると、圧縮率（ＣＲ）はＣＲ＝Ｂ／Ａのように求めることができる。
【００５０】
次に、テスト圧縮用の量子化インデックスの決め方について説明する。先ず目標圧縮率設定部２６１で設定された目標圧縮率（ＣＲ＿Ｔ）に対応するテスト圧縮用の量子化ステップ（ＱＰ）を求める。これは例えば図４（ｂ）の量子化ステップ（ＱＰ）と圧縮率（ＣＲ）の関係を示すグラフから読み取ることができる。尚、実際の処理では、例えば量子化ステップ（ＱＰ）と圧縮率（ＣＲ）の関係をテーブル化してメモリ１０９に記憶しておけばよい。但し、先に説明したように、同じ圧縮率（ＣＲ）でも画像の種類によって量子化ステップ（ＱＰ）はある幅を持って分布するので、分布範囲内から統計的に確率が高い値を選択する。例えば、図４（ｂ）において圧縮率がＦＩＮＥ（圧縮率１／４）の場合、圧縮率１／４（０．２５）に対応する量子化ステップ（ＱＰ）の分布範囲は６から６０ぐらいなので、この範囲内から量子化ステップ（ＱＰ）を選択する。例えば１つの量子化ステップを選択する場合は分布の中央付近の３０付近を選択し、２つの量子化ステップを選択する場合は分布の中央付近を跨ぐ２点の２０付近と４０付近を選択する。同様に図４（ｂ）において、ＮＯＲＭＡＬ（圧縮率１／８）に対応する量子化ステップの範囲は２０から１００ぐらいで、ＢＡＳＩＣ（圧縮率１／１６）に対応する量子化ステップの範囲は５０から２００ぐらいなので、各分布範囲内から統計的に確率が高い量子化ステップ（ＱＰ）を選択する。尚、実際の処理では、先に説明したように、目標圧縮率設定ダイヤル１１１ａで選択可能な目標圧縮率毎に量子化ステップ（ＱＰ）の分布範囲を示すテーブルや統計的に高い確率の値を製造時などに求めてメモリ１０９に記憶しておき、このテーブルを参照するようにしてもよい。
【００５１】
次に、選択されたテスト圧縮用の量子化ステップ（ＱＰ）に対応するテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ）を求める。これは例えばメモリ１０９に予め記憶されている図５（ｂ）に示した量子化ステップ（ＱＰ）と量子化インデックス（ＱＰＩｎｄｅｘ）の関係から求めることができる。尚、量子化ステップ（ＱＰ）と量子化インデックス（ＱＰＩｎｄｅｘ）は一対一に対応する。例えば圧縮率がＦＩＮＥ（圧縮率１／４）において、先の処理で２２と４２の２つの量子化ステップが選択された場合は、図５（ａ）において量子化ステップ（ＱＰ）が２２の時の量子化インデックス（ＱＰＩｎｄｅｘ）は１６と３２との間にあり、Ｄｅｌｔａ＝１なので２２となる。同様に、量子化ステップ（ＱＰ）が４２の時の量子化インデックス（ＱＰＩｎｄｅｘ）は３２と４８の間にあり、Ｄｅｌｔａ＝２なので３７となる。尚、量子化インデックス（ＱＰＩｎｄｅｘ）が整数にならない時は、例えば小数点以下を四捨五入する。
【００５２】
このようにして、圧縮率調査部２６２は、指定された目標圧縮率（ＣＲ＿Ｔ）に対応するテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ）を決めることができ、このテスト圧縮用の量子化インデックスを用いてテスト圧縮を行って当該量子化インデックスにおける圧縮率を求める。
［疑似量子化幅算出部２６３］
疑似量子化幅算出部２６３は、テスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ）に対応する疑似量子化ステップ（ＱＰ２）を求める。ここでは、図４（ｂ）に示した量子化ステップ（ＱＰ）と圧縮率（ＣＲ）の関係が両対数グラフ上で直線に近づくように量子化ステップ（ＱＰ）の代わりとなる疑似量子化ステップ（ＱＰ２）を算出する。疑似量子化ステップ（ＱＰ２）は、例えば図４（ｃ）に示すように、圧縮率（ＣＲ）との関係が両対数グラフ上で直線に近くなるようにした量子化幅である。図４（ｃ）の疑似量子化ステップ（ＱＰ２）は、図４（ｂ）の量子化ステップ（ＱＰ）よりも量子化幅が約３０以上の領域で指数関数的に大きくなるように求めてある。尚、図４（ｃ）についても図４（ｂ）と同様に、疑似量子化ステップ（ＱＰ２）と圧縮率（ＣＲ）の関係を実測した結果の一例を示す両対数グラフで、画像の種類によって同じ疑似量子化ステップでも圧縮率は異なり、ある幅を持った分布になっている。
【００５３】
ここで、量子化ステップ（ＱＰ）と疑似量子化ステップ（ＱＰ２）との関係について説明する。圧縮処理部２０４の量子化部２５２は、図５（ａ）に示すような量子化インデックス（ＱＰＩｎｄｅｘ）と量子化ステップ（ＱＰ）の関係を用いてカメラ制御部１０８から指定された量子化インデックス（ＱＰＩｎｄｅｘ）に対応する量子化ステップ（ＱＰ）で量子化を行う。ここで、図５（ａ）は図４（ａ）に対応する。図５（ａ）において、量子化インデックス（ＱＰＩｎｄｅｘ）は１６ずつ増加する複数の区間に分けられ、それぞれの区間で対応する量子化ステップ（ＱＰ）との関係が示され、各区間毎に直線で近似した折れ線グラフになっている。
【００５４】
具体的には図５（ａ）において、量子化インデックス（ＱＰＩｎｄｅｘ）に対する量子化ステップ（ＱＰ）の変化は、ＱＰＩｎｄｅｘ≦１６の区間ではＱＰ＝ＱＰＩｎｄｅｘとなり、１６＜ＱＰＩｎｄｅｘ≦３２ではＱＰＩｎｄｅｘが１増える毎にＱＰも増分（Ｄｅｌｔａ）＝１で変化する。つまり、ＱＰＩｎｄｅｘ≦３２の区間において、ＱＰとＱＰＩｎｄｅｘは直線関係になっている。また、３２＜ＱＰＩｎｄｅｘ≦４８の区間では増分（Ｄｅｌｔａ）＝２で変化し、ＱＰＩｎｄｅｘが１増える毎にＱＰは２増えるので、ＱＰＩｎｄｅｘが４８の時のＱＰは６４となる。同様に、４８＜ＱＰＩｎｄｅｘ≦６４の区間では増分（Ｄｅｌｔａ）＝４で変化し、ＱＰＩｎｄｅｘが１増える毎にＱＰは４増えるので、ＱＰＩｎｄｅｘが６４の時のＱＰは１２８となる。このように、増分（Ｄｅｌｔａ）は傾きに相当し、以降、ＱＰＩｎｄｅｘが１６増える毎にＱＰの増分は２のべき乗で増加する。
【００５５】
ここで、図５（ａ）において、変数ｉ（ｉは整数）でＱＰＩｎｄｅｘの区間を示した場合、例えば変数ｉとＱＰＩｎｄｅｘの区間および増分（Ｄｅｌｔａ）の関係は以下のようになる。
ｉ＝０：ＱＰＩｎｄｅｘが１以上１６以下の区間で実質的にＤｅｌｔａ＝１
ｉ＝１：ＱＰＩｎｄｅｘが１６より大きく３２以下の区間でＤｅｌｔａ＝１
ｉ＝２：ＱＰＩｎｄｅｘが３２より大きく４８以下の区間でＤｅｌｔａ＝２
ｉ＝３：ＱＰＩｎｄｅｘが４８より大きく６４以下の区間でＤｅｌｔａ＝４
ｉ＝４：ＱＰＩｎｄｅｘが６４より大きく８０以下の区間でＤｅｌｔａ＝８
以下、同様に定義される。尚、増分（Ｄｅｌｔａ）を変数ｉで表わすと、Ｄｅｌｔａ＝２（ｉ−１）で表すことができる（ｉ≧１の場合）。
【００５６】
このように、圧縮処理部２０４の量子化部２５２は、図５（ａ）の量子化インデックス（ＱＰＩｎｄｅｘ）と量子化ステップ（ＱＰ）の関係を用いて、カメラ制御部１０８から指定された量子化インデックスに対応する量子化ステップを求めて量子化処理を行う。尚、図５（ａ）の特性は図２の表のＱＰに対応し、メモリ１０９にパラメータとして予め記憶されている。
【００５７】
一方、本実施形態の特徴である固定長圧縮処理部２０５が目標圧縮率（ＣＲ＿Ｔ）に対する目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）を求めるために用いる疑似量子化ステップ（ＱＰ２）は、図５（ｂ）に示すように、図５（ａ）の量子化インデックス（ＱＰＩｎｄｅｘ）と量子化ステップ（ＱＰ）の関係よりも量子化幅が大きくなっている。図５（ｂ）において、量子化インデックス（ＱＰＩｎｄｅｘ）は図５（ａ）と同様に１６ずつ増加する複数の区間に分けられ、それぞれの区間で対応する疑似量子化ステップ（ＱＰ２）との関係が示され、各区間毎に直線で近似した折れ線グラフになっている。但し、図５（ｂ）において量子化幅の増分は図５（ａ）より大きくなっているので、圧縮率（ＣＲ）と疑似量子化ステップ（ＱＰ２）との関係は図４（ｃ）のようにほぼ直線になる。
【００５８】
具体的には図５（ｂ）において、量子化インデックス（ＱＰＩｎｄｅｘ）に対する疑似量子化ステップ（ＱＰ２）の変化は、ＱＰＩｎｄｅｘ≦１６の区間ではＱＰ２＝ＱＰＩｎｄｅｘとなり、１６＜ＱＰＩｎｄｅｘ≦３２ではＱＰＩｎｄｅｘが１増える毎にＱＰ２も増分（Ｄｅｌｔａ）＝１で変化する。つまり、ＱＰＩｎｄｅｘ≦３２の区間においては、図５（ａ）と同様にＱＰ２とＱＰＩｎｄｅｘは直線関係になっている。そして図５（ａ）と異なるのはＱＰＩｎｄｅｘが３２より大きい区間で、例えば３２＜ＱＰＩｎｄｅｘ≦４８の区間では増分（Ｄｅｌｔａ）＝５で変化し、ＱＰＩｎｄｅｘが１増える毎にＱＰ２は５増えるので、ＱＰＩｎｄｅｘが４８の時のＱＰ２は１１２となる。同様に、４８＜ＱＰＩｎｄｅｘ≦６４の区間では増分（Ｄｅｌｔａ）＝２５で変化し、ＱＰＩｎｄｅｘが１増える毎にＱＰ２は２５増えるので、ＱＰＩｎｄｅｘが６４の時のＱＰ２は５１２となる。このように、図５（ａ）と同様に増分（Ｄｅｌｔａ）は傾きに相当し、以降、ＱＰＩｎｄｅｘが１６増える毎にＱＰ２の増分は５のべき乗で増加する。
【００５９】
ここで、図５（ｂ）において、変数ｉ（ｉは整数）でＱＰＩｎｄｅｘの区間を示した場合、例えば変数ｉとＱＰＩｎｄｅｘの区間および増分（Ｄｅｌｔａ）の関係は以下のようになる。
ｉ＝０：ＱＰＩｎｄｅｘが１以上１６以下の区間で実質的にＤｅｌｔａ＝１
ｉ＝１：ＱＰＩｎｄｅｘが１６より大きく３２以下の区間でＤｅｌｔａ＝１
ｉ＝２：ＱＰＩｎｄｅｘが３２より大きく４８以下の区間でＤｅｌｔａ＝５
ｉ＝３：ＱＰＩｎｄｅｘが４８より大きく６４以下の区間でＤｅｌｔａ＝２５
ｉ＝４：ＱＰＩｎｄｅｘが６４より大きく８０以下の区間でＤｅｌｔａ＝１２５
以下、同様に定義される。尚、図５（ａ）と同様に増分（Ｄｅｌｔａ）を変数ｉで表わすと、Ｄｅｌｔａ＝５（ｉ−１）で表すことができる（ｉ≧１の場合）。
【００６０】
本実施形態では、圧縮率（ＣＲ）と疑似量子化ステップ（ＱＰ２）との関係が図４（ｃ）のように直線に近くなるような量子化インデックス（ＱＰＩｎｄｅｘ）と疑似量子化ステップ（ＱＰ２）の関係を定義する点に特徴があり、これにより目標圧縮率（ＣＲ＿Ｔ）に対する目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）を精度良く求めることができる。尚、図５（ｂ）の特性は図２の表のＱＰ２に対応し、メモリ１０９にパラメータとして予め記憶されているものとする。また、上記の説明では、増分（Ｄｅｌｔａ）を５のべき乗としたが、様々な種類の被写体を撮影した画像で試験的に圧縮処理を行って経験的に求めた値であり、増分（Ｄｅｌｔａ）が５のべき乗である必要はなく、圧縮率（ＣＲ）と疑似量子化ステップ（ＱＰ２）との関係が図４（ｃ）のように直線に近くなるような量子化インデックス（ＱＰＩｎｄｅｘ）と疑似量子化ステップ（ＱＰ２）の関係が得られる値であればよい。また、カメラの機種や撮影する画像の解像度などによっても圧縮率（ＣＲ）と疑似量子化ステップ（ＱＰ２）との関係が直線に近くなるような増分（Ｄｅｌｔａ）は異なる場合があるので、カメラ或いは解像度毎に適切な増分（Ｄｅｌｔａ）を予めメモリ１０９に記憶しておいて、撮影モードに応じて自動的に（或いはマニュアルで）選択できるようにしても構わない。
【００６１】
このようにして、疑似量子化幅算出部２６３は、テスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ）に対応する疑似量子化ステップ（ＱＰ２）を求める処理を行う。
［目標疑似量子化幅算出部２６４］
目標疑似量子化幅算出部２６４は、テスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ）に対応する疑似量子化ステップ（ＱＰ２）と、テスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ）でテスト圧縮して求めた圧縮率（ＣＲ）とを用いて目標圧縮率（ＣＲ＿Ｔ）にするための目標疑似量子化ステップ（ＱＰ２＿Ｔ）を算出する。ここで、圧縮率（ＣＲ）と疑似量子化ステップ（ＱＰ２）との関係は、図４（ｃ）で説明したように両対数グラフでほぼ直線と見なすことができるので、直線補間方法を適用して目標圧縮率（ＣＲ＿Ｔ）に対する目標疑似量子化ステップ（ＱＰ２＿Ｔ）を精度良く求めることができる。具体的な処理の流れについては後で詳しく説明する。
［目標量子化インデックス算出部２６５］
目標量子化インデックス算出部２６５は、目標疑似量子化幅算出部２６４が求めた目標疑似量子化ステップ（ＱＰ２＿Ｔ）から目標圧縮率（ＣＲ＿Ｔ）に対応する目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）を算出する。ここで、目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）は、量子化インデックス（ＱＰＩｎｄｅｘ）と疑似量子化ステップ（ＱＰ２）との関係を示す図５（ｂ）のグラフまたは同等のテーブルを用いて求める。尚、具体的な処理の流れについては後で詳しく説明する。
【００６２】
以上説明してきたように、固定長圧縮処理部２０５を構成する目標圧縮率設定部２６１、圧縮率調査部（容量調査部）２６２、疑似量子化幅算出部２６３、目標疑似量子化幅算出部２６４および目標量子化インデックス算出部２６５は動作する。
（第１の実施形態）
次に、本発明に係る画像圧縮装置および電子カメラ１０１の第１の実施形態について説明するが、電子カメラ１０１の構成は図１で説明した構成と同じである。本実施形態では、先に説明した固定長圧縮処理部２０５の具体的な処理の流れについて説明する。
【００６３】
図６は、設定された目標圧縮率に対応する量子化インデックスを求めるための処理を中心とする画像圧縮処理のフローチャートで、目標圧縮率に対応する量子化インデックスを求めて本圧縮処理を行い、メモリカード１１２ａに保存する。
【００６４】
以下、図６のフローチャートに従って順番に説明する。
（ステップＳ１０１）固定長圧縮処理部２０５の目標圧縮率設定部２６１は、先に説明したように、操作部材１１１の目標圧縮率設定ダイヤル１１１ａで選択された圧縮率を目標圧縮率として予め設定する。尚、本ステップは、必ずしも撮影毎に行う必要はなく、例えば電源立ち上げ時や撮影前の設定時に行っておけばよい。
（ステップＳ１０２）電子カメラ１０１の操作部材１１１でレリーズボタン１１１ｂが押下されると、撮像素子１０４で撮影された画像データが画像バッファ１０６に取り込まれ、画像処理部１０７のホワイトバランス処理部２０１，色補間処理部２０２およびエッジ強調処理部２０３で画像処理が行われた後、再び画像バッファ１０６に記憶される。この時点で、圧縮処理部２０４へ入力される画像データが画像バッファ１０６に記憶されている。
（ステップＳ１０３）圧縮率調査部２６２は、目標圧縮率（ＣＲ＿Ｔ）に対応する２つのテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）をメモリ１０９に記憶されているテーブルを参照して選択する。
【００６５】
そして、圧縮率調査部２６２は、テスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）を圧縮処理部２０４の量子化部２５２に与え、圧縮処理部２０４へ入力される画像データに対してテスト圧縮を行う。テスト圧縮は、直交変換部２５１で直交変換された係数を２つの量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）でそれぞれ量子化し、エントロピー符号化部２５３でそれぞれの量子化データを符号化する。そして、圧縮率調査部２６２は、エントロピー符号化部２５３が出力するそれぞれの符号化データ取得して圧縮画像データの容量を調べる。
【００６６】
ここで、例えば２つの量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）に対応する圧縮画像データの容量をそれぞれＶＭ１およびＶＭ２とし、圧縮処理部２０４へ入力された画像データの容量をＶＭ０とすると、２つの量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）に対応するそれぞれの圧縮率（ＣＲ＿１およびＣＲ＿２）は（式１）および(式２）のように求められる。
ＣＲ＿１＝ＶＭ１／ＶＭ０    …  （式１）
ＣＲ＿２＝ＶＭ２／ＶＭ０    …  （式２）
（ステップＳ１０４）疑似量子化幅算出部２６３は、テスト圧縮用の２つの量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）に対応する疑似量子化ステップ（ＱＰ２＿１およびＱＰ２＿２）を求める。この求め方は、図５（ｂ）で説明した量子化インデックス（ＱＰＩｎｄｅｘ）と疑似量子化ステップ（ＱＰ２）との関係を示すグラフまたはテーブルを用いて求める。この様子を図７（ａ）に示す。尚、図７（ａ）は図５（ｂ）と同じグラフである。ここで、図７（ａ）の関数は（式３）のように表すことができる。
ＱＰ２＝ｇ（ＱＰＩｎｄｅｘ）  …  （式３）
図７（ａ）の例では、量子化インデックスＱＰＩｎｄｅｘ＿１＝３６、量子化インデックスＱＰＩｎｄｅｘ＿２＝５８の場合を示している。ＱＰＩｎｄｅｘ＿１＝３６に対する疑似量子化ステップＱＰ２＿１は、図５（ｂ）で説明したようにＤｅｌｔａ＝５の区間に位置するので、ＱＰ２＿１＝３２＋（３６−３２）・５＝５２となる。同様に、ＱＰＩｎｄｅｘ＿１＝５８に対する疑似量子化ステップＱＰ２＿２は、Ｄｅｌｔａ＝２５の区間に位置するので、ＱＰ２＿１＝１１２＋（５８−４８）・２５＝３６２となる。
【００６７】
ここで、上記の処理において、２つの量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）がどの区間に属するかを調べるためのＣ言語によるプログラム処理の例を以下に示す。
［プログラム（１）］
for(i=0;i<16;i++){
if(QPIndex_x>=QPIndex[i]&&QPIndex_x<=QPIndex[i+1]){
QP2_x=(QP2[i+1]-QP2[i])/(QPIndex[i+1]-QPIndex[i])*
(QPIndex_x-QPIndex[i])+QP2[i];
break;
}
}
ここで、上記のプログラム（１）において、変数ｉは図５（ｂ）で説明した変数ｉと同じものでＱＰＩｎｄｅｘの区間を示し、ＱＰＩｎｄｅｘ＿ｘは区間を調べたいＱＰＩｎｄｅｘ＿１やＱＰＩｎｄｅｘ＿２に対応する。尚、本実施形態では、ＱＰＩｎｄｅｘの範囲は０から２５５とし、ＱＰＩｎｄｅｘは１６ずつに区切られているので区間を示す変数ｉは１から１６となる。
【００６８】
このようにして、疑似量子化幅算出部２６３は、テスト圧縮用の２つの量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）に対応する疑似量子化インデックス（ＱＰ２＿１およびＱＰ２＿２）を求める。
（ステップＳ１０５）目標疑似量子化幅算出部２６４は、テスト圧縮で求めた疑似量子化ステップ（ＱＰ２＿１およびＱＰ２＿２）とそれぞれに対応する圧縮率（ＣＲ＿１およびＣＲ＿２）とを用いて目標圧縮率（ＣＲ＿Ｔ）での目標疑似量子化ステップ（ＱＰ２＿Ｔ）を算出する。ここで、圧縮率（ＣＲ）と疑似量子化ステップ（ＱＰ２）との関係は、図４で説明したように両対数グラフでほぼ直線と見なすことができるので、直線補間方法を適用して目標圧縮率（ＣＲ＿Ｔ）に対する目標疑似量子化ステップ（ＱＰ２＿Ｔ）を求めることができる（式４）。尚、直線関係は両対数グラフ上で成立するので、先ず対数値の目標疑似量子化ステップ（ｌｏｇ（ＱＰ２＿Ｔ））を求め、そしてＱＰ２＿Ｔを算出する。
【００６９】
【数１】
0005493761.tif 000002
【００７０】
例えば、(式４）において、目標圧縮率（ＣＲ＿Ｔ）がＣＲ＿Ｔ＝０．２５、疑似量子化ステップ（ＱＰ２＿１およびＱＰ２＿２）がそれぞれＱＰ２＿１＝５２およびＱＰ２＿２＝３６２、圧縮率（ＣＲ＿１およびＣＲ＿２）がそれぞれＣＲ＿１＝０．１０およびＣＲ＿２＝０．５８とした場合、目標疑似量子化ステップ（ＱＰ２＿Ｔ）はＱＰ２＿Ｔ≒１３２となる。
【００７１】
このようにして、疑似量子化幅算出部２６３は、テスト圧縮で求めた疑似量子化ステップ（ＱＰ２＿１およびＱＰ２＿２）とそれぞれに対応する圧縮率（ＣＲ＿１およびＣＲ＿２）とを用いて目標圧縮率（ＣＲ＿Ｔ）に対する目標疑似量子化ステップ（ＱＰ２＿Ｔ）を算出する。
（ステップＳ１０６）目標量子化インデックス算出部２６５は、ステップＳ１０５で求めた目標疑似量子化ステップ（ＱＰ２＿Ｔ）に対応する目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）を求める。
【００７２】
ここで、目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）は、量子化インデックス（ＱＰＩｎｄｅｘ）と疑似量子化ステップ（ＱＰ２）との関係を示す図５（ｂ）のグラフまたは同等のテーブルを用いて求める。この様子を図７（ｂ）に示す。尚、図７（ｂ）は図５（ｂ）と同じグラフである。また、図７（ｂ）の関数は先に説明した（式３）の逆関数として（式５）のように表すことができる。
ＱＰＩｎｄｅｘ＿Ｔ＝ｇ−１（ＱＰ２＿Ｔ）  …  （式５）
図７（ｂ）の例では、ステップＳ１０５で求めた目標疑似量子化ステップ（ＱＰ２＿Ｔ）がＱＰ２＿Ｔ≒１３２の場合を示している。ＱＰ２＿Ｔ＝１３２に対する目標量子化インデックスＱＰＩｎｄｅｘ＿Ｔは、ＱＰＩｎｄｅｘ＿Ｔ＝（１３２−１１２）／５＋４８＝５２となる。
【００７３】
ここで、上記の処理において、目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）がどの区間に属するかを調べるためのＣ言語によるプログラム処理の例を以下に示す。
［プログラム（２）］
for(i=0;i<16;i++){
if(QP2_T >= QP2[i] && QP2_T <= QP2[i+1]){
QPIndex_T=(QPIndex[i+1]-QPIndex[i])/(QP2[i+1]-QP2[i])*
(QP2_T-QP2[i])+QPIndex[i];
break;
}
}
ここで、上記のプログラム（２）において、変数ｉは図５（ｂ）で説明した変数ｉと同じものでＱＰＩｎｄｅｘの区間を示し、ＱＰＩｎｄｅｘ［ｉ］は区間ｉの開始位置のＱＰＩｎｄｅｘ値＝（１６＊ｉ）に対応する。例えばＱＰ２＿Ｔ＝１３２の場合はｉ＝３（区間３）に対応するので、QP2[3]＝１１２とQP2[4]＝５１２との間にあり、この区間の開始位置のＱＰＩｎｄｅｘ値＝１６＊３＝４８であることがわかる。つまり、目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）は、ｉ＝３（区間３）にあり、ＱＰＩｎｄｅｘ＝４８とＱＰＩｎｄｅｘ＝６４との間の値となる。目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）が位置する区間がわかれば、その区間の増分Ｄｅｌｔａがわかるので目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）を比例配分で内挿して求めることができる。
【００７４】
このようにして、目標量子化インデックス算出部２６５は、ステップＳ１０５で求めた目標疑似量子化ステップ（ＱＰ２＿Ｔ）に対応する目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）を求める。
（ステップＳ１０７）圧縮処理部２０４は、ステップＳ１０６で求めた目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）を量子化部２５２に与え、圧縮処理部２０４へ入力される画像データに対して本圧縮を行う。尚、本圧縮は、直交変換部２５１で直交変換された係数を目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）で量子化し、エントロピー符号化部２５３で量子化データを符号化し、圧縮画像データとして出力する。
（ステップＳ１０８）カメラ制御部１０８は、画像処理部１０７の圧縮処理部２０４が出力する圧縮画像データを撮影画像データとしてメモリカードＩ／Ｆ１１２を介してメモリカード１１２ａに保存する。
【００７５】
尚、実際には、画像圧縮処理は図８（ａ）に示すように１枚の撮影画像を複数のサブブロックに分割してそれぞれのブロック毎に上記の圧縮処理を施す。
【００７６】
このようにして、第１の実施形態に係る電子カメラ１０１は、設定された目標圧縮率になるようにテスト圧縮結果から精度良く量子化インデックスを求めることができる。これにより、圧縮後の画像データの容量を概ね一定にすることができるので、メモリカード１１２ａの残容量に応じて選択された目標圧縮率で撮影可能な画像の枚数を把握することができ、電子カメラ１０１の使い勝手が向上する。
【００７７】
尚、第１の実施形態において、２つの量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）を用いてそれぞれテスト圧縮を行うので、テスト圧縮を２回行う必要があるが、図８（ａ）に示すように１枚の撮影画像を複数のサブブロックに分割してそれぞれのブロック毎に圧縮処理を施す場合に、図８（ｂ）に示すように、量子化インデックス（ＱＰＩｎｄｅｘ＿１）を適用するブロックと、量子化インデックス（ＱＰＩｎｄｅｘ＿２）を適用するブロックとに分けて量子化を行うことにより、１回のテスト圧縮で済ませることができる。図８（ｂ）の例では、千鳥状に量子化インデックス（ＱＰＩｎｄｅｘ＿１）を適用するブロックＡと、量子化インデックス（ＱＰＩｎｄｅｘ＿２）を適用するブロックＢとに分けているので、圧縮率調査部２６２は、圧縮画像データの容量を求める際もブロックＡとブロックＢとに分けて算出し、それぞれのブロックでの圧縮率を算出する。このように処理することで処理量および処理時間を低減することができる。
【００７８】
（第２の実施形態）
次に、本発明に係る画像圧縮装置および電子カメラ１０１の第２の実施形態について説明する。尚、電子カメラ１０１の構成は図１で説明した構成と同じである。本実施形態では、先に説明した固定長圧縮処理部２０５の処理が第１の実施形態と少し異なる。
【００７９】
図９は、第２の実施形態において、設定された目標圧縮率に対応する量子化インデックスを求めるための処理を中心とする画像圧縮処理のフローチャートで、図６のステップＳ１０３の処理が異なり、ステップＳ１０２で画像データを入力した後、ステップＳ１０３の処理を実行する代わりに次の処理を実行する。
（ステップＳ１０３ａ）圧縮率調査部２６２は、先ず目標圧縮率（ＣＲ＿Ｔ）に対応する１つのテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿１）をメモリ１０９に記憶されているテーブルを参照して選択する。尚、選択方法は、先に説明したように、最も確率の高い量子化インデックス値を選択する。
【００８０】
そして、圧縮率調査部２６２は、テスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿１）を圧縮処理部２０４の量子化部２５２に与え、圧縮処理部２０４へ入力される画像データに対してテスト圧縮を行う。テスト圧縮は、直交変換部２５１で直交変換された係数を量子化インデックス（ＱＰＩｎｄｅｘ＿１）でそれぞれ量子化し、エントロピー符号化部２５３でそれぞれの量子化データを符号化する。そして、圧縮率調査部２６２は、エントロピー符号化部２５３が出力する符号化データ取得して圧縮画像データの容量を調べる。例えば量子化インデックス（ＱＰＩｎｄｅｘ＿１）に対応する圧縮画像データの容量をＶＭ１、圧縮処理部２０４へ入力された画像データの容量をＶＭ０とすると、第１の実施形態で説明した（式１）で表され、量子化インデックス（ＱＰＩｎｄｅｘ＿１）に対応する圧縮率（ＣＲ＿１）を求めることができる。
（ステップＳ１０３ｂ）圧縮率調査部２６２は、圧縮率（ＣＲ＿１）に応じて２つめのテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿２）を選択する。尚、選択方法は、例えば、ステップＳ１０３ａで求めた１つめのテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿１）における圧縮率（ＣＲ＿１）が目標圧縮率（ＣＲ＿Ｔ）より小さい場合は、２つめのテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿２）としてＱＰＩｎｄｅｘ＿１よりも大きい値を選択する。逆に、１つめのテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿１）における圧縮率（ＣＲ＿１）が目標圧縮率（ＣＲ＿Ｔ）より大きい場合は、２つめのテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿２）としてＱＰＩｎｄｅｘ＿１よりも小さい値を選択する。これにより、目標圧縮率（ＣＲ＿Ｔ）にできるだけ近いテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿２）を選択できるが、必ずしもこのように処理する必要はなく、１回目のテスト圧縮で求めた圧縮率（ＣＲ＿１）を利用する別の手法で２つめのテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿２）を選択しても構わない。
【００８１】
そして、圧縮率調査部２６２は、２つめのテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿２）を圧縮処理部２０４の量子化部２５２に与え、圧縮処理部２０４へ入力される画像データに対してテスト圧縮を行い、ステップＳ１０３ａと同様にして、第１の実施形態で説明した（式２）を用いて量子化インデックス（ＱＰＩｎｄｅｘ＿２）に対応する圧縮率（ＣＲ＿２）を求める。
【００８２】
図９において、ステップＳ１０４以降の処理は、第１の実施形態で説明した図６と同様に処理される。
【００８３】
このように、第２の実施形態に係る電子カメラ１０１は、テスト圧縮を２回に分けて実行することにより、テスト圧縮用に選択すべき２つの量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）を第１の実施形態よりも適切な値を選択できるので、設定された目標圧縮率に近くなるように本圧縮処理する際の目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）をより精度良く求めることができる。これにより、圧縮後の画像データの容量を概ね一定にすることができるので、メモリカード１１２ａの残容量に応じて選択された目標圧縮率で撮影可能な画像の枚数を把握することができ、電子カメラ１０１の使い勝手が向上する。
【００８４】
（第３の実施形態）
次に、本発明に係る画像圧縮装置および電子カメラ１０１の第３の実施形態について説明する。尚、電子カメラ１０１の構成は図１で説明した構成と同じである。本実施形態では、先に説明した固定長圧縮処理部２０５の処理が第１の実施形態および第２の実施形態と異なる。
【００８５】
図１０は、本実施形態の原理を説明するためのグラフで、疑似量子化ステップ（ＱＰ２）と圧縮率（ＣＲ）との関係を図４（ｃ）よりもマクロ的に描いたものである。つまり、図４（ｃ）の横軸の疑似量子化ステップ（ＱＰ２）の下限値は１で、縦軸の圧縮率（ＣＲ）の上限値は１であるのに対して、図１０では、横軸の疑似量子化ステップ（ＱＰ２）の下限値の１以下、縦軸の圧縮率（ＣＲ）の上限値の１以上をマクロ的に予測して描いてある。
【００８６】
本実施形態の原理は、図１０に示したように、様々な種類の画像を圧縮する場合、疑似量子化ステップ（ＱＰ２）と圧縮率（ＣＲ）との関係は、疑似量子化ステップ（ＱＰ２）が１以下で、圧縮率（ＣＲ）が１以上の領域で１点に集束するという予測が前提になっている。尚、この原理は、発明者による実験結果などにより経験的に得られた考え方である。例えば実際に測定した図４（ｃ）のグラフを見ると、左上方から右下方に向かって放射状に広がる特性になっていることからも左上方で１点に集束するであろうことは容易に予測できる。
【００８７】
先に説明した第１の実施形態や第２の実施形態では、２つのテスト圧縮用の量子化インデックスを選択する必要があったが、本実施形態ではテスト圧縮用の量子化インデックスを１つだけ選択してテスト圧縮を１回だけで済ませることができるという利点がある。
【００８８】
以下、第３の実施形態における固定長圧縮処理部２０５の具体的な処理の流れについて図１１のフローチャートに従って順番に説明する。尚、図１１のフローチャートにおいて、第１の実施形態の図６のフローチャートと同じステップ番号の処理は同じ処理なので重複する説明は省略し、図６のフローチャートと異なる部分についてのみ説明する。
【００８９】
図１１において、ステップＳ１０１およびステップＳ１０２の処理は、図６のフローチャートと同じである。
（ステップＳ２０３）圧縮率調査部２６２は、先ず目標圧縮率（ＣＲ＿Ｔ）に対応する１つのテスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿１）をメモリ１０９に記憶されているテーブルを参照して選択する。尚、選択方法は、先に説明したように、最も確率の高い量子化インデックス値を選択する。
（ステップＳ２０４）圧縮率調査部２６２は、テスト圧縮用の量子化インデックス（ＱＰＩｎｄｅｘ＿１）を圧縮処理部２０４の量子化部２５２に与え、圧縮処理部２０４へ入力される画像データに対してテスト圧縮を行う。そして、第１の実施形態と同様に、（式１）を用いて量子化インデックス（ＱＰＩｎｄｅｘ＿１）に対応する圧縮率（ＣＲ＿１）を求める。
（ステップＳ２０５）疑似量子化幅算出部２６３は、テスト圧縮用の１つの量子化インデックス（ＱＰＩｎｄｅｘ＿１）に対応する疑似量子化ステップ（ＱＰ２＿１）を求める。一方、図１０で説明したように、１点に集中した部分の初期疑似量子化ステップ（ＱＰ２＿０）と初期圧縮率（ＣＲ＿０）とを求めておく。
（ステップＳ２０６）疑似量子化幅算出部２６３は、テスト圧縮で求めた疑似量子化ステップ（ＱＰ２＿１）と圧縮率（ＣＲ＿１）と初期疑似量子化ステップ（ＱＰ２＿０）と初期圧縮率（ＣＲ＿０）とを用いて目標圧縮率（ＣＲ＿Ｔ）における目標疑似量子化ステップ（ＱＰ２＿Ｔ）を算出する。算出方法は、図１０のようにマクロ的に見た場合でも、圧縮率（ＣＲ）と疑似量子化ステップ（ＱＰ２）との関係は、図４で説明したように両対数グラフでほぼ直線と見なすことができるので、直線補間方法を適用して目標圧縮率（ＣＲ＿Ｔ）に対する目標疑似量子化ステップ（ＱＰ２＿Ｔ）を求めることができる（式６）。
【００９０】
【数２】
0005493761.tif 000003
【００９１】
尚、(式６）は第１の実施形態で説明した（式４）に対応する式で、（式４）の疑似量子化ステップ（ＱＰ２＿２）と圧縮率（ＣＲ＿２）とがそれぞれ初期疑似量子化ステップ（ＱＰ２＿０）と初期圧縮率（ＣＲ＿０）とに置き換わっているだけである。ステップＳ１０６以降の処理は第１の実施形態と同じなので重複する説明は省略する。
【００９２】
このようにして、第３の実施形態に係る電子カメラ１０１は、設定された目標圧縮率になるように１回だけのテスト圧縮結果から量子化インデックスを求めることができる。これにより、圧縮後の画像データの容量を概ね一定にすることができるので、メモリカード１１２ａの残容量に応じて選択された目標圧縮率で撮影可能な画像の枚数を把握することができ、電子カメラ１０１の使い勝手が向上する。
【００９３】
（第４の実施形態）
次に、本発明に係る画像圧縮装置および電子カメラ１０１の第４の実施形態について説明する。尚、電子カメラ１０１の構成は図１で説明した構成と同じである。本実施形態では、固定長圧縮処理部２０５の処理で扱うデータ形式が他の実施形態とは異なり、対数値（ｌｏｇ（ＱＰ２））のまま処理を行う点に特徴がある。この理由は、図２に示したように、疑似量子化ステップ（ＱＰ２）は量子化インデックス（ＱＰＩｎｄｅｘ）が大きくなるに従って非常に大きな値を取ることと、疑似量子化ステップ（ＱＰ２）を求める際にはその対数値しか使わないのでＱＰ２値を算出しておく必要がないことである。本実施形態ではこの点に着目して、対数値のまま処理することにより、対数変換や関連する処理量およびメモリ容量の増大を軽減することができる。
【００９４】
以下、本実施形態における固定長圧縮処理部２０５の処理について説明するが、基本的な処理の流れは第１の実施形態で説明した図６のフローチャートと同じなので、図６を用いて説明する。
【００９５】
図６のフローチャートにおいて、ステップＳ１０１からステップＳ１０３までの処理は全く同じで、ステップＳ１０４の処理が第１の実施形態とは少し異なり、下記のステップＳ１０４ｂのように処理する。
（ステップＳ１０４ｂ）疑似量子化幅算出部２６３は、テスト圧縮用の２つの量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）に対応する対数値の疑似量子化ステップ（ｌｏｇ（ＱＰ２＿１）およびｌｏｇ（ＱＰ２＿２））を求める。第１の実施形態では、図７（ａ）の量子化インデックス（ＱＰＩｎｄｅｘ）と疑似量子化ステップ（ＱＰ２）との関係を示すグラフまたはテーブルを用いてＱＰ２を求めたが、本実施形態ではＱＰ２の対数値ｌｏｇ（ＱＰ２）をそのまま用いる。このように、ＱＰ２ではなくＱＰ２の対数値ｌｏｇ（ＱＰ２）を用いることで、例えば図２に示したようにｉが１０以上の区間でＱＰ２の値は巨大な値になっているがｌｏｇ（ＱＰ２）は扱い易い大きさの値になっている。
【００９６】
ここで、本実施形態では第１の実施形態で説明したプログラム（１）は以下に示したプログラム（３）のように処理される。
［プログラム（３）］
for(i=0;i<16;i++){
if(QPIndex_x >= QPIndex[i] && QPIndex_x <= QPIndex[i+1]){
logQP2_x=(logQP2[i+1]-logQP2[i])/(QPIndex[i+1]-QPIndex[i])*
(QPIndex_x-QPIndex[i])+logQP2[i];
break;
}
}
このようにして、疑似量子化幅算出部２６３は、テスト圧縮用の２つの量子化インデックス（ＱＰＩｎｄｅｘ＿１およびＱＰＩｎｄｅｘ＿２）に対応する対数値の疑似量子化インデックス（ｌｏｇ（ＱＰ２＿１）およびｌｏｇ（ＱＰ２＿２））を求める。
（ステップＳ１０５ｂ）疑似量子化幅算出部２６３は、第１の実施形態のステップＳ１０５と同様に（式４）を用いて目標圧縮率（ＣＲ＿Ｔ）に対する対数値の目標疑似量子化ステップ（ｌｏｇ（ＱＰ２＿Ｔ））を求めるが、本実施形態ではステップＳ１０４ｂで対数値の疑似量子化インデックス（ｌｏｇ（ＱＰ２＿１）およびｌｏｇ（ＱＰ２＿２））を求めてあるので、そのまま(式４）のｌｏｇ（ＱＰ２＿１）およびｌｏｇ（ＱＰ２＿２）に代入するだけでよく、対数計算する必要がない。
（ステップＳ１０６ｂ）目標量子化インデックス算出部２６５は、ステップＳ１０５ｂで求めた対数値の目標疑似量子化ステップ（ｌｏｇ（ＱＰ２＿Ｔ））に対応する目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）を求める。
【００９７】
ここで、第１の実施形態では、図７（ｂ）の量子化インデックス（ＱＰＩｎｄｅｘ）と疑似量子化ステップ（ＱＰ２）との関係を示すグラフまたはテーブルを用いて、目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）を求めたが、本実施形態ではＱＰ２の対数値ｌｏｇ（ＱＰ２）をそのまま用いて求める。ＱＰ２ではなくＱＰ２の対数値ｌｏｇ（ＱＰ２）を用いることで、ステップＳ１０４ｂと同様に巨大な値となるＱＰ２ではなく扱い易い対数値ｌｏｇ（ＱＰ２）のまま計算することができる。
【００９８】
ここで、本実施形態では第１の実施形態で説明したプログラム（２）は以下に示したプログラム（４）のように処理される。
［プログラム（４）］
for(i=0;i<16;i++){
if(logQP2_T >= logQP2[i] && logQP2_T <= logQP2[i+1]){
QPIndex_T=(QPIndex[i+1]-QPIndex[i])/(logQP2[i+1]-logQP2[i])*
(logQP2_T-logQP2[i])+QPIndex[i];
break;
}
}
このようにして、目標量子化インデックス算出部２６５は、ステップＳ１０５で求めた対数値の目標疑似量子化ステップ（ｌｏｇ（ＱＰ２＿Ｔ））に対応する目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）を求める。
【００９９】
以降のステップＳ１０７およびステップＳ１０８の処理は第１の実施形態と同じなので重複する説明は省略する。
【０１００】
以上説明したように、第４の実施形態に係る電子カメラ１０１は、設定された目標圧縮率になるようにテスト圧縮結果から精度良く量子化インデックスを求めることができる。これにより、圧縮後の画像データの容量を概ね一定にすることができるので、メモリカード１１２ａの残容量に応じて選択された目標圧縮率で撮影可能な画像の枚数を把握することができ、電子カメラ１０１の使い勝手が向上する。特に本実施形態では疑似量子化ステップを対数のまま処理することにより、対数変換や関連する処理量およびメモリ容量の増大を軽減することができる。
【０１０１】
尚、上記の説明では、第１の実施形態を基にして説明したが、疑似量子化ステップを対数値のまま用いる点が本実施形態の特徴なので、第２の実施形態および第３の実施形態においても同様に適用することができる。
【０１０２】
以上、本発明に係る画像圧縮装置および電子カメラの各実施形態について説明してきたが、圧縮率と量子化ステップとの関係が両対数グラフで直線に近くなるような疑似量子化ステップを設けることにより、目標圧縮率に対する目標量子化インデックスを精度よく求めることができる。この結果、本発明に係る画像圧縮装置および電子カメラは、どのような被写体を撮影しても圧縮後の画像ファイル容量を概ね一定にすることができ、記録メディアの残容量で撮影できる画像枚数の予測を行うことができ、電子カメラの使い勝手が向上する。
【０１０３】
尚、各実施形態では、目標圧縮率に近くなるように目標量子化インデックスを求めるようにしたが、目標量子化インデックスの下限値（ＱＰＩｎｄｅｘ＿Ｌ）を設定しておき、予測された目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）が次の関係になった場合は、予測された目標量子化インデックス（ＱＰＩｎｄｅｘ＿Ｔ）に関係なく目標量子化インデックスの下限値（ＱＰＩｎｄｅｘ＿Ｌ）を用いるようにしても構わない。これにより、撮影画像が高周波成分の少ない画像で圧縮率が高くなる場合でも、本圧縮に使用する量子化インデックスが極端に小さな値になってしまうという問題を防止できる。
【０１０４】
以上、本発明に係る画像圧縮装置および電子カメラについて、各実施形態で例を挙げて説明してきたが、その精神またはその主要な特徴から逸脱することなく他の多様な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明は、特許請求の範囲によって示されるものであって、本発明は明細書本文にはなんら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【符号の説明】
【０１０５】
１０１・・・電子カメラ            １０２・・・光学系
１０３・・・メカニカルシャッタ    １０４・・・撮像素子
１０５・・・Ａ／Ｄ変換部          １０６・・・画像バッファ
１０７・・・画像処理部            １０８・・・カメラ制御部
１０９・・・メモリ                １１０・・・表示部
１１１・・・操作部材
１１２・・・メモリカードＩＦ（インターフェース）
１１２ａ・・・メモリカード        ２０１・・・ホワイトバランス処理部
２０２・・・色補間処理部          ２０３・・・エッジ強調処理部
２０４・・・圧縮処理部            ２０５・・・固定長圧縮処理部
２５１・・・直交変換部            ２５２・・・量子化部
２５３・・・エントロピー符号化部  ２６１・・・目標圧縮率設定部
２６２・・・圧縮率調査部（容量調査部）
２６３・・・疑似量子化幅算出部    ２６４・・・目標疑似量子化幅算出部
２６５・・・目標量子化インデックス算出部
【図１】
0005493761.tif 000004
【図２】
0005493761.tif 000005
【図３】
0005493761.tif 000006
【図４】
0005493761.tif 000007
【図５】
0005493761.tif 000008
【図６】
0005493761.tif 000009
【図７】
0005493761.tif 000010
【図８】
0005493761.tif 000011
【図９】
0005493761.tif 000012
【図１０】
0005493761.tif 000013
【図１１】
0005493761.tif 000014