(57)【要約】【課題】画質の劣化を抑えたまま、処理時間が短く、必要なメモリ領域も少なくてすむ、所望のデータサイズに画像を圧縮する画像圧縮装置を提供する。【解決手段】１回目に圧縮した画像のサイズが所望の大きさでない場合には、正規化サイズの画像と元画像の圧縮率を演算し、この圧縮率の大きさにしたがって、画像の種類に応じて複数枚用意しておいた圧縮率推移テーブルの中から１つを選び、このテーブルに従って、所望の圧縮画像サイズとなるスケールファクタを得る。そして、このスケールファクタを用いて、画像を圧縮する。【選択図】図３
2010074263.tif 000002
【特許請求の範囲】
【請求項１】
画像データを周波数変換し、量子化係数により量子化演算を行い、可変長符号化を行う画像圧縮装置において、
複数の代表的な画像に対する、圧縮率とスケールファクタの関係を表す圧縮率推移テーブルを複数格納する圧縮率推移テーブル格納手段と、
量子化を行わなかった場合の画像データのサイズである正規化サイズを求める正規化サイズ取得手段と、
該正規化サイズから元画像サイズの圧縮率を閾値として、圧縮率とスケールファクタの関係を表す複数の圧縮率推移テーブルの中から一つのテーブルを選択するテーブル選択手段と、
該テーブル選択手段で選択した圧縮率推移テーブルを使用して、目標データサイズの圧縮画像ファイルを得るためのスケールファクタを予測するスケールファクタ予測手段と、
該予測されたスケールファクタを用いて画像データを圧縮する圧縮手段と、
を備えることを特徴とする画像圧縮装置。 
【請求項２】
前記正規化サイズ取得手段は、１つの圧縮率推移テーブルと圧縮後のデータサイズから正規化サイズを求めることを特徴とする請求項１に記載の画像圧縮装置。
【請求項３】
前記正規化サイズ取得手段は、量子化係数をすべて”１”に設定して、画像データを圧縮したときの画像データのサイズを正規化サイズとすることを特徴とする請求項１に記載の画像処理装置。 
【請求項４】
前記テーブル選択手段は、画像の空間周波数に応じた圧縮率を閾値として使用することを特徴とする請求項１に記載の画像圧縮装置
【請求項５】
画像データを周波数変換し、量子化係数により量子化演算を行い、可変長符号化を行う、複数の代表的な画像に対する、圧縮率とスケールファクタの関係を表す圧縮率推移テーブルを複数格納する圧縮率推移テーブル格納手段を備えた画像圧縮装置における画像圧縮方法において、
量子化を行わなかった場合の画像データのサイズである正規化サイズを求め、
該正規化サイズから元画像サイズからの圧縮率を閾値として、圧縮率とスケールファクタの関係を表す複数の圧縮率推移テーブルの中から一つのテーブルを選択し、
該選択された圧縮率推移テーブルを使用して、目標データサイズの圧縮画像ファイルを得るためのスケールファクタを予測し、
該予測されたスケールファクタを用いて画像データを圧縮する、
ことを特徴とする画像圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像圧縮装置に関する。
【背景技術】
【０００２】
画像データをJPEG 圧縮する際、限られた記憶媒体容量に一定枚数の画像が記憶可能なことを保証する必要がある。これは、携帯電話に搭載されているカメラによって画像を撮影し、メモリに格納する場合などに、一定枚数の格納を保証するために必要なことである。JPEGファイルサイズを小さくする為には、粗く量子化を行うとよいが、適切なスケールファクタを用いなければ、画質低下が発生してしまう。そのため、目標データサイズのJPEG ファイルが得られる適切なスケールファクタを設定し、JPEG 圧縮を行うことが求められる。
【０００３】
図６は、画像処理装置の全体構成図である。
画像を処理する構成は、レンズやＣＣＤなどの撮像系１１、アナログ信号をデジタル信号に変換するＡ／Ｄ変換器１２、画像処理部１３、画像圧縮部１４からなる。画像処理された画像は、記録メディア１５に格納される。撮像系１１、Ａ／Ｄ変換器１２、画像処理部１３、画像圧縮部１４、記録メディア１５は、制御部１０によって制御される。また、画像処理部１３、画像圧縮部１４、記録メディア１５には、作業領域としてのメモリ１６が接続される。
【０００４】
従来技術では、特許文献１において提案されているように、複数のサンプルの画像について統計的に分析し平均化したデータを相関関数として表し、元画像（JPEG圧縮前の画像）に対するJPEGファイルサイズの圧縮率とスケールファクタとの相関関数から、目標データサイズに応じたスケールファクタを予測する方法がある。
【０００５】
ところが、画像の空間周波数（画像の複雑さ）により相関関数が変化するため、目標データサイズに応じたスケールファクタの予測ができず、目標データサイズのJPEGファイルを得られない場合があった。
【０００６】
また、画像の空間周波数を考慮して、目標データサイズに応じたスケールファクタを予測する手法として、別の従来技術として、特許文献２が提案されている。 
しかしながら、近年のデジタルスチルカメラにおいて、多様な画素数での撮影、用途に応じた初期スケールファクタの変更が求められ、それぞれの組み合わせ分だけの膨大な評価値（画像の複雑さ毎の符号量）と、画素数と目標データサイズと圧縮用スケールファクタを関連づけたテーブルが必要となる。
【特許文献１】特許第3568103号明細書
【特許文献２】特開2003-116130号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従って、平均化した相関関数を利用する方式では、目標データサイズのJPEGファイルが得られなかった場合、一定量スケールファクタをシフトさせてJPEG圧縮を繰り返す処理を追加することが必要となる。よって、1枚の画像を適切なスケールファクタでJPEG圧縮し、記憶媒体に保存するまでの処理時間が長くなってしまう問題を生じていた。 
【０００８】
また、画像の空間周波数（画像の複雑さ）の違いを考慮する方式の場合、撮影画素数、目標データサイズ、初期スケールファクタ、画像の空間周波数を分類する評価値のすべて
の組み合わせで圧縮用スケールファクタのテーブルが必要となることから、膨大なテーブル値の検討と、データ格納メモリ領域が必要となる問題を生じていた。
【０００９】
本発明の課題は、画質の劣化を抑えたまま、処理時間が短く、必要なメモリ領域も少なくてすむ、所望のデータサイズに画像を圧縮する画像圧縮装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明の画像圧縮装置は、画像データを周波数変換し、量子化係数により量子化演算を行い、可変長符号化を行う画像圧縮装置において、複数の代表的な画像に対する、圧縮率とスケールファクタの関係を表す圧縮率推移テーブルを複数格納する圧縮率推移テーブル格納手段と、量子化を行わなかった場合の画像データのサイズである正規化サイズを求める正規化サイズ取得手段と、該正規化サイズから元画像サイズからの圧縮率を閾値として、圧縮率とスケールファクタの関係を表す複数の圧縮率推移テーブルの中から一つのテーブルを選択するテーブル選択手段と、該テーブル選択手段で選択した圧縮率推移テーブルを使用して、目標データサイズの圧縮画像ファイルを得るためのスケールファクタを予測するスケールファクタ予測手段と、該予測されたスケールファクタを用いて画像データを圧縮する圧縮手段とを備える。
【発明の効果】
【００１１】
本発明によれば、画質の劣化を抑えたまま、処理時間が短く、必要なメモリ領域も少なくてすむ、所望のデータサイズに画像を圧縮する画像圧縮装置を提供することができる。
【発明を実施するための最良の形態】
【００１２】
本発明の実施形態では、目標データサイズのJPEG ファイルを得る為、最適なスケールファクタを算出、設定可能なJPEG 圧縮装置の構成を示す。
本実施形態においては、画像の空間周波数の傾向毎にスケールファクタ最小時を圧縮率1.0 としたときの、圧縮率推移情報を、複数のテーブルとして格納する構造と、任意のスケールファクタを使用した１度目の圧縮データサイズを元に画像の空間周波数判定する機能を持ち、前記機能で選択された一つの圧縮率推移テーブルから、目標データサイズのJPEG ファイルを生成する次回圧縮用のスケールファクタを決定する。 
【００１３】
図１に、圧縮率推移テーブルを示す。
Sample1：単純な画像、Sample2：一般的な風景、Sample3：複雑な画像について、スケールファクタの変化による圧縮率の推移を調べたものである。たとえば、１度目の圧縮時に画像の空間周波数判定機能によりSample1の圧縮率推移テーブルが選択されたとする。ここで、１度目の圧縮時とは、例えば、本実施形態の圧縮装置がデジタルカメラに搭載されている場合には、ユーザが、画像の質をファイン、ノーマルなどのメニューから選ぶことにより決定される圧縮率により、画像を圧縮する場合である。
【００１４】
１度目の圧縮時のデータサイズが3000KB、スケールファクタがF1 であったとすると、圧縮率推移テーブル上では圧縮率0.3 となることがわかる。よって、目標データサイズが1000KB と設定された場合、圧縮率推移テーブルより、圧縮率0.3×1000KB/3000KB=0.1 となるスケールファクタF2を目標データサイズのJPEG ファイルを生成するスケールファクタと決定することができる。そして、この新たなスケールファクタを用いて、元画像をまたJPEG圧縮する。
【００１５】
このように、圧縮を複数回に分けて行うのは、１回目の圧縮では、目標データサイズにならない場合があるので、上記のようなテーブル参照と比例計算を行って、目標データサ
イズの圧縮画像を得るためである。上記では、２回の圧縮を示したが、圧縮の回数は、２回に限られず、目標データサイズが得られるまで、何回も行う。本実施形態では、正規化サイズの圧縮画像の元画像に対する圧縮率からどの圧縮率推移テーブルを使用するかを決定するが、圧縮率推移テーブルは、代表的なサンプル画像について得られたものであるので、実際に撮影された画像を圧縮する場合には、圧縮率推移テーブルによれば、目標データサイズになるはずのスケールファクタを使って圧縮しても、目標データサイズにならない場合が生じる。したがって、（１回目の圧縮率）×（目標データサイズ）／（１回目の圧縮時データサイズ）から次回の圧縮率を計算し、圧縮率推移テーブルを参照して、次の圧縮時において使用するスケールファクタを得る。そして、このようにして得られたスケールファクタを用いて、新たに元画像から圧縮画像を生成する。圧縮率推移テーブルを代表的な画像について数種類用意しておき、正規化サイズの圧縮画像の元画像に対する圧縮率から、圧縮したい画像に似通った代表画像について得られた圧縮率推移テーブルを用いるので、圧縮画像が目標データサイズになるまでに繰り返す、上記処理の回数が従来技術に比べ、少なくなる。
【００１６】
本実施形態では、画像の周波数特性に応じた圧縮率推移テーブルを選択してスケールファクタを予測することから、目標データサイズのJPEG ファイルを生成するスケールファクタを、少ない圧縮試行回数で決定することが可能である。
【００１７】
本実施形態における、画像の空間周波数判定においては、画像の空間周波数を分類する手段として、量子化表（各処理単位のブロックに割り当てられる量子化係数を所定の領域内について配列登録したもの）を全て１として圧縮した正規化サイズの、元画像（例えば、JPEG圧縮する前の画像）に対する圧縮率を利用する。この元画像に対する圧縮率を、圧縮率推移テーブル判定における閾値とする。
【００１８】
元画像に対する圧縮率を閾値とする根拠は、JPEG圧縮の性質として、高周波成分を含む画像程、元画像に対する圧縮効率は低くなり、逆に低周波成分を含む画像程、圧縮効率は高くなる傾向があるためである。また、量子化表を全て１とすることは、つまり量子化をおこなわないことと同義であり、JPEG圧縮方式において、離散コサイン変換、量子化、ハフマン符号化の3段階で圧縮を行うが、離散コサイン変換、ハフマン符号化の2段階で圧縮をおこなうことで、高周波成分情報を量子化によって失わないため、圧縮効率の傾向を判断することができる。
【００１９】
よって、量子化表を全て１として圧縮した場合の画像を正規化画像とし、元画像に対する圧縮率を利用して、画像を判断することにより、画像の空間周波数の分類が可能となる。
【００２０】
１度目の圧縮では、必ずしも初期スケールファクタを量子化表が全て１となるよう設定する必要はない。なぜなら、任意の初期スケールファクタであっても、１度目の圧縮データサイズから圧縮率推移テーブルを利用して、量子化表を全て１とした場合のデータサイズ（正規化サイズ）を算出することが可能であるためである。この場合、複数ある圧縮率推移テーブルの一つを基準テーブルとしておき、正規化サイズを求める。すなわち、スケールファクタを最小値としたときの圧縮画像のサイズを求めれば、これが、量子化表をすべて”１”にした場合に相当する。したがって、図１において、Sample1の圧縮率推移テーブルを基準テーブルとした場合、現在のスケールファクタがF2であった場合には、圧縮率が０．１であり、スケールファクタが最小値の場合の圧縮率は１．０なので、1回目の圧縮による圧縮画像のサイズを10倍したものが、正規化サイズとなる。どの圧縮率推移テーブルを基準テーブルとするかは、本実施形態を利用する当業者が任意に定めればよい。
【００２１】
図２は、３つのサンプル評価によりみられる元画像からの圧縮率を示す。
サンプルはそれぞれ、Sample1：単純な画像、Sample2：一般的な風景、Sample3：複雑な画像である。前記３種の画像の傾向で画像の空間周波数を分類する際は、閾値をxとy、yとzの間に設定する。尚、閾値は前記例のように2つに限らず、複数個設定することで、より詳細に空間周波数の傾向を分類することが可能である。閾値自身をどの値にするかは、本実施形態を利用する当業者が上記条件を満たす範囲内で任意に定めればよい。また、圧縮率推移テーブルを作成するサンプルの数を上記では、３つにしているが、これに限定されるものではなく、もっと多くのサンプルについて圧縮率推移テーブルを作成しても良い。
【００２２】
また、画素サイズが変化した場合も、画像の空間周波数の違いのみで同じ傾向が現れることから、画素サイズに応じた新たな閾値分析、閾値データ格納のためのメモリ領域確保は必要ない。
【００２３】
図３は、本実施形態の画像圧縮装置のブロック構成図である。
ＣＰＵ２０は、メモリ２１、画像圧縮部２２、圧縮率制御部２３を制御する。メモリ２１には、入力画像データ３７、量子化テーブル３８、出力圧縮データ３９、圧縮データサイズ４０、圧縮画像の目標データサイズの上限及び下限サイズ３３、テーブル切り替え判定閾値３４、圧縮率推移テーブル群３５、スケールファクタ３６が格納される。
【００２４】
入力画像データ３７は画像入力部２４を介して、画像圧縮部２２に入力される。画像圧縮部２２は、例えば、ＪＰＥＧ圧縮を行うブロックである。画像圧縮部２２では、入力画像データ３７を空間周波数変換部２５において、空間周波数変換し、量子化変換部２６で、量子化変換し、可変長符号化部２７において、可変長符号化する。可変長符号化されたデータは、圧縮データ出力部２８を介して、出力圧縮データ３９として、メモリ２１に格納される。このとき、出力圧縮データ３９の圧縮データサイズ４０もメモリに格納される。量子化変換は、メモリ２１に格納される量子化テーブル３８とスケールファクタ３６とを用いて行われる。
【００２５】
圧縮データサイズ４０は、圧縮率制御部２３のサイズ判定部２９に入力され、上限及び下限サイズ３３と比較されて、圧縮データサイズ４０が目標データサイズとなっているか否かが判定される。圧縮データサイズ４０が目標データサイズの上限値と下限値に間に入っていないと判断された場合には、正規化サイズ演算部３０において、正規化画像のサイズが演算される。正規化画像のサイズがわかると、元画像からの圧縮率がわかるので、これが、圧縮率推移テーブル切り替え部３１に送られる。圧縮率推移テーブル切り替え部３１では、正規化サイズ演算部３０から送られてきた圧縮率を、テーブル切り替え判定閾値３４と比較し、圧縮率推移テーブル群３５の中のどの圧縮率推移テーブルを使用するかを決定し、選択された圧縮率推移テーブルをスケールファクタ予測部３２に送る。スケールファクタ予測部３２は、選択された圧縮率推移テーブルを用いて、圧縮画像が目標データサイズになるために必要なスケールファクタ３６を演算し、これをメモリ２１に格納する。
【００２６】
この新しいスケールファクタ３６を用いて、新たに、画像圧縮部２２において、画像の圧縮が行われる。
本実施形態を使用した目標データサイズからのスケールファクタ予測の処理の流れを説明する。
【００２７】
図４及び図５は、本実施形態の処理フローである。
目標データサイズの上限/下限を、メモリ領域３３に格納する（ステップS１０）。あらかじめメモリ領域３６に格納したスケールファクタを使用して、JPEG圧縮を行う（ステップS１１）。この初期スケールファクタは、ユーザ等が指定したものでも良い。ステップS
１１で得られた圧縮後ファイルサイズが目標データサイズの上限/下限の範囲内であるかをサイズ判定部２９にて判定し（ステップＳ１２）、範囲内である場合、処理を終了する。ステップＳ１１で得られた圧縮ファイルサイズが目標データサイズの上限/下限の範囲外であったとき、圧縮ファイルの元画像に対する圧縮率と、メモリ２１に格納されたテーブル切り替え判定閾値３４の比較によって、メモリ２１の圧縮率推移テーブル群３５より１つの圧縮率推移テーブルを選択し、圧縮率推移テーブル切り替え部３１にてテーブルを切り替える（ステップＳ１３）。ステップＳ１４において、スケールファクタ予測部３２で次回スケールファクタを予測し、メモリに格納し、再びJPEG圧縮を行う。ステップＳ１５において、ステップＳ１４で得られた圧縮後ファイルサイズが目標データサイズの上限/下限の範囲内であるかをサイズ判定部２９にて判定し、範囲内である場合は処理を終了する。ステップＳ１６において、ステップＳ１４で得られた圧縮ファイルサイズが目標データサイズの上限/下限の範囲外であったとき、スケールファクタ予測部３２で次回スケールファクタを予測し、メモリに格納し、再びJPEG圧縮を行う。 
【００２８】
以後は、ステップＳ１６での圧縮後のファイルサイズがメモリ２１に格納された目標圧縮サイズ範囲（上限／下限サイズ）３３内になるまで、ステップＳ１６の処理を繰り返すことにより、目標データサイズのJPEGファイルが得られるスケールファクタに収束させる。
【００２９】
図５は、図４のステップＳ１３の画像の空間周波数判定の処理フローである。 
ステップＳ２０において、画像を圧縮した際の量子化表がすべて”１”か否かを判断する。ステップＳ２０の判断がＹｅｓの場合には、ステップＳ２２に進む。ステップＳ２０の判断がＮｏの場合には、ステップＳ２１において、圧縮データサイズと、メモリ２１にあらかじめ格納された基準圧縮率推移テーブルにより、量子化表を全て”１”とした場合のファイルサイズを求める。このファイルサイズを正規化サイズとして、ステップＳ２２に進む。ステップＳ２２において、正規化サイズの元画像(形式：例えば、YCbCr画像)からの圧縮率を求める。ステップＳ２３において、ステップＳ２２によって得た圧縮率と、メモリ２１のテーブル判定閾値を比較する。ここでは、仮に閾値は、２つとしているが、必ずしも２つとは限らず、閾値と圧縮率推移テーブルの種類の数だけ判定して、分岐すればよい。また、ここでは、閾値１＜閾値２としている。ステップＳ２３において、圧縮率が閾値１より小さいか否かを判断する。ステップＳ２３の判断がＹｅｓの場合には、ステップＳ２５において、圧縮率推移テーブル１（閾値１未満の場合に対応付けられているテーブル）を選択して、処理を終了する。ステップＳ２３の判断がＮｏの場合には、ステップＳ２４において、圧縮率が閾値２未満か否かを判断する。ステップＳ２４の判断がＹｅｓの場合には、ステップＳ２６において、圧縮率推移テーブル２（閾値１以上、閾値２未満に対応するテーブル）を選択し、処理を終了する。ステップＳ２４の判断がＮｏの場合には、ステップＳ２７において、圧縮率推移テーブル３（閾値２以上に対応するテーブル）を選択し、処理を終了する。このように、閾値と圧縮率の比較結果から、メモリ２１の圧縮率推移テーブル群３５より対応する一つの圧縮率推移テーブルを選択する。
【００３０】
以上で述べたとおり、画像の空間周波数を分類し、周波数特性に適した圧縮率推移テーブルを使用することで、目標データサイズに対応するスケールファクタを、高いメモリ効率、少ない試行回数で予測することが可能となる。 
【００３１】
具体的には、高周波成分を含む画像について、１度目のJPEG圧縮時のスケールファクタを100段階に変化させて予測を行った場合、基準とした平均的な圧縮率推移テーブルのみを使用した場合に平均で2.0回の予測が必要だが、画像の空間周波数判定機能により、周波数特性に応じた圧縮率推移テーブルを選択して使用することで1.2回に抑えることができ、予測回数を減らすことで処理時間の削減が可能となることがわかった。(測定条件：画像サイズ8Mpix、目標ファイルサイズ800KByte以上1000KByte以内)
本発明の実施形態は、画像の空間周波数の違いを、元画像からの圧縮率を閾値とすることから、従来例より少ない画像分析量、評価データ用メモリ容量にて画像の空間周波数を
判別し、画像の空間周波数に応じた複数の圧縮率推移テーブルから一つを選択してスケールファクタ予測をおこなうことで、従来例より少ない試行回数で目標データサイズのJPEGファイルを得ることができる。
【図面の簡単な説明】
【００３２】
【図１】圧縮率推移テーブルを示す図である。
【図２】３つのサンプル評価によりみられる元画像からの圧縮率を示す図である。
【図３】本実施形態の画像圧縮装置のブロック構成図である。
【図４】本実施形態の処理フロー（その１）である。
【図５】本実施形態の処理フロー（その２）である。
【図６】画像処理装置の全体構成図である。
【符号の説明】
【００３３】
１０      制御部
１１      撮像系
１２      Ａ／Ｄ変換器
１３      画像処理部
１４      画像圧縮部
１５      記録メディア
１６      メモリ
２０      ＣＰＵ
２１      メモリ
２２      画像圧縮部
２３      圧縮率制御部
２４      画像入力部
２５      空間周波数変換部
２６      量子化変換部
２７      可変長符号化部
２８      圧縮データ出力部
２９      サイズ判定部
３０      正規化足部演算部
３１      圧縮率推移テーブル切り替え部
３２      スケールファクタ予測部
３３      上限／下限細部
３４      テーブル切り替え判定閾値
３５      圧縮率推移テーブル群
３６      スケールファクタ
３７      入力画像データ
３８      量子化テーブル
３９      出力圧縮データ
４０      圧縮データサイズ
【図１】
2010074263.tif 000003
【図３】
2010074263.tif 000004
【図４】
2010074263.tif 000005
【図５】
2010074263.tif 000006
【図６】
2010074263.tif 000007
【図２】
2010074263.tif 000008