(57)【特許請求の範囲】
【請求項１】
入力画像にウェーブレット変換を施して複数の周波数成分の変換係数を算出する変換部と、前記変換係数の符号化及び重み付けを行う符号化部と、該符号化部で得られる符号を用いて圧縮画像を生成する圧縮画像生成部とを備える画像圧縮装置において、
前記符号化部で得られる符号に対応する重み付け係数が前記入力画像の圧縮率に応じて設定される閾値を超えている場合には前記符号を前記圧縮画像生成部に順次出力し、前記重み付け係数が前記閾値を下回った場合には前記符号及び前記重み付け係数を順次メモリに記憶し、該メモリに記憶された重み付け係数に応じた前記符号の選別を行って前記圧縮画像生成部に出力する符号量制御部を備えることを特徴とする画像圧縮装置。
【請求項２】
前記入力画像を予め設定された要素領域に分割する分割部を備えており、
前記変換部、前記符号化部、及び前記符号量制御部は、前記要素領域を基準として各々の処理を行うことを特徴とする請求項１記載の画像圧縮装置。
【請求項３】
前記符号量制御部は、前記入力画像の圧縮率を超えないように、前記メモリに記憶された符号を選別して前記圧縮画像生成部に出力することを特徴とする請求項２記載の画像圧縮装置。
【請求項４】
前記符号量制御部は、前記メモリの残容量が無くなった場合には、前記符号化部で得られる符号に対応する重み付け係数と、前記メモリに記憶されている符号に対応する重み付け係数のうちの値が最も小さな重み付け係数とを比較し、値が大きな重み付け係数及び当該重み付け係数に対応する符号が前記メモリに記憶されるように制御することを特徴とする請求項３記載の画像圧縮装置。
【請求項５】
前記符号化部は、前記変換係数の色空間における要素、前記変換係数の種類、及び前記変換係数のビット位置を加味して前記重み付け係数を求めることを特徴とする請求項１から請求項３の何れか一項に記載の画像圧縮装置。
【請求項６】
入力画像にウェーブレット変換を施して複数の周波数成分の変換係数を算出し、該変換係数の符号化及び重み付けを行い、得られる符号を用いて圧縮画像を生成する画像圧縮方法において、
前記入力画像の圧縮率に応じた閾値を設定する第１ステップと、
前記変換係数の符号化によって得られる符号に対応する重み付け係数が前記第１ステップで設定された閾値を超えている場合には、該符号を前記圧縮画像の生成用に出力する第２ステップと、
前記重み付け係数が前記閾値を下回った場合には、前記符号及び前記重み付け係数を順次メモリに記憶し、該メモリに記憶された重み付け係数に応じた前記符号の選別を行って前記圧縮画像の生成用に出力する第３ステップと
を有することを特徴とする画像圧縮方法。
【請求項７】
記録媒体に画像を形成する画像形成装置において、
入力画像を圧縮した圧縮画像を生成する請求項１から請求項５の何れか一項に記載の画像圧縮装置と、
前記画像圧縮装置で生成された前記圧縮画像を用いて前記入力画像に応じた画像を前記記録媒体に形成する画像形成を行う画像形成部と
を備えることを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像圧縮装置及び方法並びに画像形成装置に関する。
【背景技術】
【０００２】
膨大な画像データの伝送及び保存等を効率的に行うために、画像データを圧縮する画像圧縮技術が飛躍的に進歩している。現在、静止画像を対象とした画像圧縮技術としてＪＰＥＧ（Joint Photographic Experts Group）等が普及しており、動画像を対象とした画像圧縮技術としてＭＰＥＧ（Moving Picture Experts Group）等が普及している。近年、これらの画像圧縮技術で得られる圧縮画像よりも高画質でありながら高圧縮率な圧縮画像が得られるＪＰＥＧ２０００なる画像圧縮標準規格（以下、単に「ＪＰＥＧ２０００」という）が注目されている。
【０００３】
ＪＰＥＧ２０００は、画像を空間領域から周波数領域に変換する手法として離散ウェーブレット変換 (ＤＷＴ：Discrete Wavelet Transform) を用いる点を第１の特徴としている。また、周波数変換後のデータ（量子化されたデータ）をエントロピー符号化する手法として、ＥＢＣＯＴ（Embedded Block Coding with Optimized Truncation）と呼ばれる手法を用いる点を第２の特徴としている。これらの特徴を有することにより、ＪＰＥＧ２０００では、高い圧縮率で圧縮されながらモスキートノイズ等のノイズが抑えられた高画質な圧縮画像を得ることができる。
【０００４】
尚、以下の特許文献１には、ＪＰＥＧ２０００を用いる圧縮符号化装置によって圧縮された圧縮符号化データを含むビットストリームを入力し、入力されたビットストリームの符号量制御を、レートに対する歪みを制御し得るように、少ない演算量で且つ高速に実行し得る符号量制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−６４１１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＪＰＥＧ２０００を用いる従来の圧縮符号化装置では、入力された画像データがタイルと呼ばれる単位に分割され、このタイル毎に周波数変換及びそれ以降の各種処理が行われるのが基本である。このため、例えばＤＷＴを用いた周波数変換及び量子化が行われてから圧縮画像データを含むビットストリームが生成されるまでの間にはタイル毎に以下の処理が行われていた。
【０００７】
まず、１つのタイル内のデータ（量子化されたデータ）が順次符号化されて符号データが生成されるとともに、各々の符号データについて重み付けが行われ、得られた符号データ及び重み付けデータが順次メモリに記憶される。次に、タイル内の全てのデータ対する符号化及び重み付けが終了した後に、メモリに記憶された重み付けデータに基づいて、重要度の高い符号データが順にメモリから抽出される。そして、１つのタイルについて符号データの抽出が終了すると、抽出された符号データを用いてビットストリームの生成が開始される。
【０００８】
このように、従来は、１つのタイル内のデータの全てについて符号化及び重み付けが終了した後に、重み付けデータに基づいて重要度の高い符号データを抽出し、抽出が終了してから初めてビットストリームの生成を開始している。このため、１つのタイル内の全ての符号データ及び重み付けデータを漏れなく記憶する必要があることから、大容量のメモリが必要になるという問題があった。また、符号データの抽出は、１つのタイル内の全ての符号データを対象として行われるため抽出に時間を要してしまい、ビットストリームの生成に遅れが生ずるという問題があった。
【０００９】
本発明は、上記事情に鑑みてなされたものであり、メモリの容量を削減することができるととともに、ビットストリームの生成に遅れが生ずるのを抑制することができる画像圧縮装置及び方法、並びに当該装置を備える画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の画像圧縮装置は、入力画像にウェーブレット変換を施して複数の周波数成分の変換係数を算出する変換部と、前記変換係数の符号化及び重み付けを行う符号化部と、該符号化部で得られる符号を用いて圧縮画像を生成する圧縮画像生成部とを備える画像圧縮装置において、前記符号化部で得られる符号に対応する重み付け係数が前記入力画像の圧縮率に応じて設定される閾値を超えている場合には前記符号を前記圧縮画像生成部に順次出力し、前記重み付け係数が前記閾値を下回った場合には前記符号及び前記重み付け係数を順次メモリに記憶し、該メモリに記憶された重み付け係数に応じた前記符号の選別を行って前記圧縮画像生成部に出力する符号量制御部を備えることを特徴としている。
また、本発明の画像圧縮装置は、前記入力画像を予め設定された要素領域に分割する分割部を備えており、前記変換部、前記符号化部、及び前記符号量制御部は、前記要素領域を基準として各々の処理を行うことを特徴としている。
また、本発明の画像圧縮装置は、前記符号量制御部が、前記入力画像の圧縮率を超えないように、前記メモリに記憶された符号を選別して前記圧縮画像生成部に出力することを特徴としている。
また、本発明の画像圧縮装置は、前記符号量制御部が、前記メモリの残容量が無くなった場合には、前記符号化部で得られる符号に対応する重み付け係数と、前記メモリに記憶されている符号に対応する重み付け係数のうちの値が最も小さな重み付け係数とを比較し、値が大きな重み付け係数及び当該重み付け係数に対応する符号が前記メモリに記憶されるように制御することを特徴としている。
また、本発明の画像圧縮装置は、前記符号化部が、前記変換係数の色空間における要素、前記変換係数の種類、及び前記変換係数のビット位置を加味して前記重み付け係数を求めることを特徴としている。
本発明の画像圧縮方法は、入力画像にウェーブレット変換を施して複数の周波数成分の変換係数を算出し、該変換係数の符号化及び重み付けを行い、得られる符号を用いて圧縮画像を生成する画像圧縮方法において、前記入力画像の圧縮率に応じた閾値を設定する第１ステップと、前記変換係数の符号化によって得られる符号に対応する重み付け係数が前記第１ステップで設定された閾値を超えている場合には、該符号を前記圧縮画像の生成用に出力する第２ステップと、前記重み付け係数が前記閾値を下回った場合には、前記符号及び前記重み付け係数を順次メモリに記憶し、該メモリに記憶された重み付け係数に応じた前記符号の選別を行って前記圧縮画像の生成用に出力する第３ステップとを有することを特徴としている。
本発明の画像形成装置は、記録媒体に画像を形成する画像形成装置において、入力画像を圧縮した圧縮画像を生成する上記の何れかに記載の画像圧縮装置と、前記画像圧縮装置で生成された前記圧縮画像を用いて前記入力画像に応じた画像を前記記録媒体に形成する画像形成を行う画像形成部とを備えることを特徴としている。
【発明の効果】
【００１１】
本発明によれば、入力画像の圧縮率に応じた閾値を設定し、符号化部で得られる符号に対応する重み付け係数が閾値を超えている場合には符号を圧縮画像生成部に順次出力し、重み付け係数が閾値を下回った場合には符号及び重み付け係数を順次メモリに記憶して重み付け係数に応じた符号の選別を行って圧縮画像生成部に出力しているため、メモリの容量を削減することができるととともに、ビットストリームの生成に遅れが生ずるのを抑制することができるという効果がある。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態による画像圧縮装置の要部構成を示すブロック図である。
【図２】本発明の一実施形態において、オクターブ分割方式に従って帯域分割された画像信号を模式的に示す図である。
【図３】本発明の一実施形態において、係数ビットモデリング部で分解されるビットプレーンを模式的に示す図である。
【図４】本発明の一実施形態において、重み付け係数の算出に用いられるテーブルの一例を示す図である。
【図５】本発明の一実施形態において、閾値の設定に用いられるテーブルの一例を示す図である。
【図６】本発明の一実施形態による画像圧縮方法を示すフローチャートである。
【図７】本発明の一実施形態による画像圧縮方法を示すフローチャートである。
【図８】図６中のステップＳ２８で行われる処理の詳細を示すフローチャートである。
【図９】本発明の一実施形態による画像形成装置の外観の概要を示す正面図である。
【図１０】本発明の一実施形態による画像形成装置の要部構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の一実施形態による画像圧縮装置及び方法並びに画像形成装置について詳細に説明する。図１は、本発明の一実施形態による画像圧縮装置の要部構成を示すブロック図である。図１に示す通り、本実施形態の画像圧縮装置１は、ＤＣレベルシフト部１１、色空間変換部１２、タイリング部１３（分割部）、ＤＷＴ部１４（変換部）、量子化部１５、ＲＯＩ部１６、係数ビットモデリング部１７（符号化部）、算術符号化部１８（符号化部）、符号量制御部１９、及びビットストリーム生成部２０（圧縮画像生成部）を備えており、入力画像を指定された圧縮率で圧縮して圧縮画像を生成する。
【００１４】
ＤＣレベルシフト部１１は、入力画像のＤＣレベルを変換する。例えば、入力画像の画像信号が０〜２５５の値を取り得る８ビットのＲ信号、Ｇ信号、及びＢ信号からなる２４ビットのＲＧＢ信号である場合には、−１２８〜１２７の値を取り得る８ビットのＲ信号、Ｇ信号、及びＢ信号からなる２４ビットのＲＧＢ信号に変換する。色空間変換部１２は、ＤＣレベルシフト部１１から出力される画像信号の色空間を変換する。例えば、ＲＧＢ色空間を、ＹＵＶ色空間或いはＹＣｂＣｒ色空間に変換する。
【００１５】
タイリング部１３は、色空間変換部１２で色空間が変換された画像信号を所定の大きさのタイル（要素領域）に分割する。例えば、垂直方向及び水平方向の画素数が共に２５６である複数の矩形形状のタイルに分割する。ＤＷＴ部１４は、タイリング部１３で分割されたタイル毎に離散ウェーブレット変換を施して各タイルを空間領域から周波数領域に変換し、変換を施すことによって得られた変換係数を出力する。
【００１６】
具体的に、ＤＷＴ部１４は、タイルに分割された画像信号の各々に対し、信号成分を高周波数成分と低周波数成分とに帯域分割する一次元フィルタを垂直方向及び水平方向の順に適用する。尚、ＪＰＥＧ２０００では、基本的に垂直方向と水平方向との双方向について、低周波数成分のみを再帰的に帯域分割するオクターブ分割方式が採用されている。ここで、再帰的に帯域分割した回数は分解レベル（decomposition level）と呼ばれる。
【００１７】
図２は、本発明の一実施形態において、オクターブ分割方式に従って帯域分割された画像信号を模式的に示す図である。尚、図２に示す画像信号の分解レベルは２である。図２に示す通り、分解レベル１では、上述した一次元フィルタが垂直方向及び水平方向について順次適用されることにより、タイルに分割された画像信号Ｓ１は、「１ＨＨ」，「１ＨＬ」，「１ＬＨ」，及び「１ＬＬ」（図示省略）の４つの帯域成分に分割される。
【００１８】
ここで、「Ｈ」は高周波数成分を示しており、「Ｌ」は低周波数成分を示している。例えば、帯域成分「１ＨＬ」は、分解レベル１における水平方向の高周波数成分「Ｈ」と垂直方向の低周波数成分「Ｌ」とからなる帯域成分である。つまり、図２中でなされた表記「ｎＸＹ」（Ｘ，ＹはＨ，Ｌの何れか：ｎは１以上の整数）は、分解レベルｎにおける水平方向の帯域成分Ｘと垂直方向の帯域成分Ｙとからなる帯域成分を示している。また、分解レベル「２」では、図示を省略している帯域成分「１ＬＬ」が、「２ＨＨ」，「２ＨＬ」，「２ＬＨ」，及び「２ＬＬ」の４つの帯域成分に分割される。
【００１９】
量子化部１５は、ＤＷＴ部１４から出力される変換係数を必要に応じてスカラー量子化するとともに、ＲＯＩ部１６による指定領域（ＲＯＩ：Region Of Interest）の画質を優先させるビットシフト処理を行う。尚、可逆（ロスレス）変換を行う場合には、量子化部１５でのスカラー量子化は行われない。ＲＯＩ部１６は、例えば多くの符号量を割り当てて画質を優先させる領域である指定領域を量子化部１５に対して指定する。
【００２０】
係数ビットモデリング部１７及び算術符号化部１８は、ＥＢＣＯＴと呼ばれる手法に従って、量子化部１５から出力される変換係数に対し、ブロックベースのエントロピー符号化を施す。具体的に、係数ビットモデリング部１７は、入力する変換係数の帯域成分を３２×３２或いは６４×６４程度の「コードブロック」といわれる領域に分割し、更に、各コードブロックを各ビットの二次元配列で構成される複数のビットプレーンに分解する。
【００２１】
図３は、本発明の一実施形態において、係数ビットモデリング部で分解されるビットプレーンを模式的に示す図である。図３に示す通り、画像信号Ｓ１は、複数のコードブロックＣＢに分割されており、各コードブロックはｋ枚（ｋは自然数である、例えば「１０」）のビットプレーンＢＰ０〜ＢＰｋ−１から構成されている。図３に示す通り、コードブロックＣＢ内における１つの変換係数の値が２進数表記で「０１１…０」である場合、この変換係数を構成するビットは、ビットプレーンＢＰｋ−１，ＢＰｋ−２，ＢＰｋ−３，…，ＢＰＯに属するように分解される。尚、変換係数の最上位ビット（ＭＳＢ）はビットプレーンＢＰｋ−１に属し、最下位ビット（ＬＳＢ）はビットプレーンＢＰ０に属する。
【００２２】
また、係数ビットモデリング部１７は、入力する変換係数の色空間における要素、種類、及びビット位置を加味して重み付け係数を求める。この重み付け係数は、符号量制御部１９においてビットストリーム生成部２０に出力する符号データのデータ量（符号量）を制御するために用いられる係数である。具体的には、図４に示すテーブルを用いて重み付け係数を求める。
【００２３】
図４は、本発明の一実施形態において、重み付け係数の算出に用いられるテーブルの一例を示す図である。ここで、図４（ａ）はＹＵＶ色空間における要素（Ｙ，Ｕ，Ｖ）に応じた係数が設定されたテーブルを示す図であり、図４（ｂ）は変換係数の種類（サブバンド位置）に応じた係数が設定されたテーブルを示す図であり、図４（ｃ）は変換係数のビット位置（ビットプレーン）に応じた係数が設定されたテーブルを示す図である。
【００２４】
図４（ａ）に示す例では、輝度を示す要素Ｙについては係数「１４」が設定されており、色差を示す要素Ｕ，Ｖについては「１３」がそれぞれ設定されている。人間の目は色差の変化よりも輝度の変化に敏感であるため、色差を示す要素Ｕ，Ｖの係数のよりも輝度を示す要素Ｙの係数の方が大に設定されている。また、図４（ｂ）に示す例では、分解レベルが大きなサブバンド（「２ＬＬ」，「２ＨＬ」，「２ＬＨ」，「２ＨＨ」）の方が小さなサブバンド（「１ＨＬ」，「１ＬＨ」，「１ＨＨ」）よりも大きな係数が設定されている。また、分解レベルが同じサブバンドについては、低周波数成分「Ｌ」がより多く含まれるサブバンドに大きな係数が設定されている。図４（ｃ）に示す例では、ＭＳＢ側のビット位置（ビットプレーン）がＬＳＢ側のビット位置（ビットプレーン）よりも大きな係数が設定されている。
【００２５】
係数ビットモデリング１７は、例えば入力する変換係数の色空間における要素がＹであり、サブバンドが「２ＬＬ」であり、ビット位置が１０ビットである場合には、図４（ａ）に示すテーブルから要素Ｙに設定された係数「１４」を取得し、図４（ｂ）に示すテーブルからサブバンド「２ＬＬ」に設定された係数「１６」を取得し、図４（ｃ）に示すテーブルからビット位置が１０ビットに設定された係数「２５６」を取得する。そして、取得した各々の係数を乗算して重み付け係数「５７３４４」を求める。
【００２６】
同様に、例えば入力する変換係数の色空間における要素がＶであり、サブバンドが「１ＨＬ」であり、ビット位置が５ビットである場合には、図４（ａ）に示すテーブルから要素Ｖに設定された係数「１３」を取得し、図４（ｂ）に示すテーブルからサブバンド「１ＨＬ」に設定された係数「８」を取得し、図４（ｃ）に示すテーブルからビット位置が５ビットに設定された係数「８」を取得する。そして、取得した各々の係数を乗算して重み付け係数「８３２」を求める。
【００２７】
更に、係数ビットモデリング部１７は、各ビットプレーンＢＰ０〜ＢＰｋ−１内の各ビットのコンテクスト（context）判定を行い、各ビットの有意性（判定結果）に応じて、ビットプレーンＢＰ０〜ＢＰｋ−１を３種類の符号化パスに分解する。ここで、３種類の符号化パスは、ＣＬパス（CLeanup pass）、ＭＲパス（Magnitude Refinement pass）、ＳＩＧパス（SIGnificance propagation pass）である。各符号化パスに関するコンテクスト判定のアルゴリズムは、ＪＰＥＧ２０００の規格で定められている。この規格によれば、「有意である」とは、これまでの符号化処理において注目係数がゼロでないと分かっている状態を意味し、「有意で無い」とは、係数値がゼロであるか、或いはゼロである可能性がある状態を意味する。
【００２８】
係数ビットモデリング部１７は、ＳＩＧパス（有意な係数が周囲にある有意でない係数の符号化パス）、ＭＲパス（有意な係数の符号化パス）、及びＣＬパス（ＳＩＧパス，ＭＲパスに該当しない残りの係数情報の符号化パス）の３種類の符号化パスでビットプレーン符号化を実行する。ビットプレーン符号化は、最上位ビットプレーンから最下位ビットプレーンにかけて、各ビットプレーンのビットを４ビット単位で走査し、有意な係数が存在するか否かを判定することで行われる。有意で無い係数（０ビット）のみで構成されるビットプレーンの数はパケットヘッダに記録され、有意な係数が最初に出現したビットプレーンから実際の符号化が開始される。その符号化開始のビットプレーンはＣＬパスのみで符号化され、当該ビットプレーンよりも下位のビットプレーンは、上記３種類の符号化パスで順次符号化される。
【００２９】
算術符号化部１８は、ＭＱコーダを用いて、係数ビットモデリング部１７からの係数列に対して、コンテクストの判定結果に基づいて符号化パス単位で算術符号化を行う。尚、算術符号化部１８は、係数ビットモデリング部１７で算出された重み付け係数を、符号化して得られた符号データに対応付けて符号量制御部１９に出力する。符号量制御部１９は、係数ビットモデリング部１７で算出された重み付け係数を用いて、算術符号化部１８から出力される符号データの最終符号量（ビットストリーム生成部２０に出力する符号量）を制御する。
【００３０】
具体的に、符号量制御部１９は、入力画像の圧縮率に応じた閾値を設定し、算術符号化部１８から出力される符号データに対応する重み付け係数が閾値を超えている場合には、その符号データをビットストリーム生成部２０に順次出力する。これに対し、算術符号化部１８から出力される符号データに対応する重み付け係数が閾値を下回った場合には、１つのタイルについての処理（ＤＷＴ変換及び符号化）が終了するまで、その符号データ及び重み付け係数をメモリ１９ａに順次記憶する。そして、１つのタイルについての処理が終了した時点で、メモリ１９ａに記憶された重み付け係数に応じた符号データの選別を行ってビットストリーム生成部２０に出力する。尚、以下では、閾値を下回った場合に行われるメモリに記憶された符号データの選別処理を「圧縮率制御」という。
【００３１】
以上の処理を行うのは、メモリ１９ａの容量を削減するとともに、符号データの選別に要する時間を短縮してビットストリームの生成に遅れが生ずるのを抑制するためである。つまり、符号量を制御する上で明らかに切り捨てられないであろうと考えられる符号データ（大きな重み付け係数が対応付けられている符号データ）をそのままビットストリーム生成部２０に出力してメモリ１９ａに記憶させるべき符号データ及び重み付け係数を減らすことで、メモリ１９ａの容量削減及び符号データの選別時間の短縮を図っている。本実施形態では、メモリ１９ａの容量を従来の半分以下に削減することができる。
【００３２】
図５は、本発明の一実施形態において、閾値の設定に用いられるテーブルの一例を示す図である。図５に示す例では、圧縮率が５０％未満の場合には１０％刻みで閾値が規定されており、圧縮率が５０％以上の場合には１つの閾値が規定されている。例えば、圧縮率が１０％未満である場合には閾値として８３８８６０８（２の２３乗）が規定されており、圧縮率が５０％以上である場合には閾値として１０００００が規定されている。
【００３３】
圧縮率が高い場合（例えば、圧縮率が１０％未満の場合）に大きな閾値が規定されているのは、極めて多くの符号データを切り捨てる必要があることから、算術符号化部１８から出力される符号データの多くをメモリ１９ａに記憶させるためである。これに対し、圧縮率が低い場合（例えば、圧縮率が５０％〜１００％の場合）に小さな閾値が規定されているのは、切り捨てる必要のある符号データが少ないことから、算術符号化部１８から出力される符号データの多くをそのままビットストリーム生成部２０に出力させるためである。符号量制御部１９は、図５に示すテーブルを用いて指定された圧縮率に応じた閾値を設定する。
【００３４】
ここで、符号量制御部１９は、メモリ１９ａに記憶された符号データの選別を行う場合には、入力画像の圧縮率を超えないように選別する。また、符号量制御部１９は、１つのタイルについての処理が行われている最中にメモリ１９ａの残容量が無くなった場合には、メモリ１９ａに記憶された符号データの入れ替え制御を行う。具体的には、算術符号化部１８から出力される符号データに対応する重み付け係数と、メモリ１９ａに記憶されている符号データに対応する重み付け係数のうちの値が最も小さな重み付け係数とを比較する。そして、より値が大きな重み付け係数及び対応する符号データがメモリ１９ａに記憶されるように制御する。尚、符号量制御部１９で行われる処理の詳細については後述する。
【００３５】
ビットストリーム生成部２０は、符号量制御部１９が出力した符号データと付加情報（ヘッダ情報、レイヤー構成、スケーラビリティ、量子化テーブル等）とを多重化したビットストリームを生成して圧縮画像として出力する。ここで、ビットストリーム生成部２０から出力される圧縮画像は、指定された圧縮率で入力画像を圧縮したものである。このため、例えば指定された圧縮率が１０％である場合には、データ量が入力画像の１０分の１である圧縮画像が得られることになる。
【００３６】
次に、上記構成における画像圧縮装置１の動作について説明する。図６，図７は、本発明の一実施形態による画像圧縮方法を示すフローチャートである。尚、本実施形態では、入力画像の圧縮率が予め指定されているものとする。図６，図７示す処理が開始されると、まず符号量制御部１９が、指定された圧縮率からビットストリーム生成部２０に出力すべき符号データの最大符号量と閾値とを決定する（ステップＳ１１：第１ステップ）。具体的に、最大符号量は入力画像のデータ量に対して指定された圧縮率を乗算することにより決定され、閾値は図５に示したテーブルを用いて決定される。尚、ステップＳ１１では、図６，図７に示す処理で用いられる各種の変数やフラグを初期化する処理も行われる。
【００３７】
以上の処理が終了して圧縮対象である入力画像の画像信号が入力されると、ＤＣレベルシフト部１１で画像信号のＤＣレベルが変換され、色空間変換部１２で画像信号の色空間がＹＵＶ色空間に変換された後に、タイリング部１３でタイルに分割される（ステップＳ１２）。分割されたタイルは、ＤＷＴ部１４に順次出力されて離散ウェーブレット変換が施され空間領域から周波数領域に変換される。かかる変換によって得られたタイル毎の変換係数は、ＤＷＴ部１４から量子化部１５に順次出力され、必要に応じてスカラー量子化やビットシフト処理が行われて係数ビットモデリング部１７に出力される。
【００３８】
係数ビットモデリング部１７に入力されるタイル毎の変換係数は、図３を用いて説明したコードブロック及びビットプレーンにそれぞれ分割される。そして、図４に示すテーブルを用いて重み付け係数を求める処理が行われるとともに、ビットプレーンの有意性に応じてＣＬパス、ＭＲパス、ＳＩＧパスに分解されてビットプレーン符号化が行われる。係数ビットモデリング部１７で得られた係数列は、算術符号化部１８に出力されて算術符号化が施される。以上の係数ビットモデリング部１７及び算術符号化部１８の処理により、変換係数毎の符号データ及び重み付け係数が算出される（ステップＳ１３）。算出された符号データ及び重み付け係数は、算術符号化部１８から符号量制御部１９に順次出力される。
【００３９】
符号データ及び重み付け係数が入力されると、符号量制御部１９は、まず圧縮率制御が開始されているか否かを判断する(ステップＳ１４）。具体的には、圧縮率制御の開始を示すフラグの値が「１」であるか否かを判断する。ここで、圧縮率制御は、符号データに対応する重み付け係数がステップＳ１１で決定された閾値を下回った場合に符号量制御部１９で行われる処理であるため、ここでの判断結果は「ＮＯ」になる。
【００４０】
次に、符号量制御部１９は、算術符号化部１８から出力される符号データに対応する重み付け係数がステップＳ１１で決定された閾値よりも大であるか否かを判断する（ステップＳ１５）。重み付け係数が閾値よりも大である場合（判断結果が「ＹＥＳ」の場合）には、符号量制御部１９は総符号量を求めて算術符号化部１８からの符号データをビットストリーム生成部２０に出力する（ステップＳ１６：第２ステップ）。ここで、総符号量とは、符号量制御部１９からビットストリーム生成部２０に出力される符号データの総データ量である。
【００４１】
以上の処理が終了すると、符号量制御部１９は、１つのタイルについての処理が終了したか否かを判断する（ステップＳ１７）。この判断結果が「ＮＯ」である場合には、ステップＳ１３〜Ｓ１７の処理が繰り返される。つまり、１つのタイルについての処理が終了するまで、算術符号化部１８からの符号データに対応する重み付け係数がステップＳ１１で決定された閾値よりも大である間は、その符号データをビットストリーム生成部２０に出力する処理が繰り返される。
【００４２】
いま、ステップＳ１７の判断結果が「ＮＯ」であり、ステップＳ１３〜Ｓ１７の処理が繰り返されている間に、算術符号化部１８から出力される符号データに対応する重み付け係数がステップＳ１１で決定された閾値以下になった（下回った）とする。すると、ステップＳ１５の判断結果は「ＮＯ」になり、符号量制御部１９は、算術符号化部１８からの符号データ及び重み付け係数をメモリ１９ａに記憶し（ステップＳ１８：第３ステップ）、圧縮率制御の開始を示すフラグの値を「１」に設定する（ステップＳ１９）。
【００４３】
フラグの設定が終了してステップＳ１７の判断結果が「ＮＯ」である場合には、ステップＳ１３の処理が終了した後に符号量制御部１９で行われるステップＳ１４の判断が「ＹＥＳ」になって圧縮率制御が開始される。圧縮率制御が開始されると、符号量制御部１９は、メモリ１９ａの残容量の有無を判断する（ステップＳ２０）。メモリ１９ａの残容量が有ると判断した場合には、符号量制御部１９は算術符号化部１８からの符号データ及び重み付け係数をメモリ１９ａに記憶する（ステップＳ２１：第３ステップ）。
【００４４】
ステップＳ２１の処理が終了すると、符号量制御部１９は、１つのタイルについての処理が終了したか否かを判断する（ステップＳ１７）。この判断結果が「ＮＯ」である場合には、ステップＳ１３，Ｓ１４，Ｓ２０，Ｓ２１，Ｓ１７の処理が繰り返される。つまり、１つのタイルについての処理が終了するまで、算術符号化部１８からの符号データ及び重み付け係数をメモリ１９ａに記憶する処理が繰り返される。
【００４５】
以上の処理が繰り返されている間に、メモリ１９ａの残容量が無いと判断した場合（ステップＳ２０の判断結果が「ＮＯ」である場合）には、符号量制御部１９は、メモリ１９ａに記憶した重み付け係数のうち値が最も小さな重み付け係数と、これに対応する符号データとをメモリ１９ａから抽出する処理を行う（ステップＳ２２）。そして、算術符号化部１８から出力された符号データに対応する重み付け係数（新たな重み付け係数）が、ステップＳ２２で抽出された重み付け係数よりも大であるか否かを判断する（ステップＳ２３）
【００４６】
新たな重み付け係数がステップＳ２２で抽出された重み付け係数以下である場合には、ステップＳ２３の判断結果が「ＮＯ」になる。すると、符号量制御部１９は、新たな重み付け係数及びこれに対応する符号データを破棄する処理を行う（ステップＳ２４）。そして、１つのタイルについての処理が終了したか否かを判断し（ステップＳ１７）、処理が終了していない場合（判断結果が「ＮＯ」である場合）には圧縮率制御を継続する。
【００４７】
これに対し、新たな重み付け係数がステップＳ２２で抽出された重み付け係数よりも大である場合には、ステップＳ２３の判断結果が「ＹＥＳ」になる。すると、符号量制御部１９は、ステップＳ２２で抽出した符号データを算術符号化部１８からの符号データに入れ替えすることが可能であるか否かを判断する（ステップＳ２５）。入れ替えが可能であると判断した場合（判断結果が「ＹＥＳ」の場合）には、ステップＳ２２で抽出した符号データ及びこれに対応する重み付け係数を、算術符号化部１８からの符号データ及びこれに対応する重み付け係数（新たな重み付け係数）で上書きして符号データ等の入れ替えを行う（ステップＳ２６）。尚、入れ替えが終了して、１つのタイルについての処理が終了していない場合（ステップＳ１７の判断結果が「ＮＯ」の場合）には圧縮率制御を継続する。
【００４８】
他方、ステップＳ２５で入れ替えが不可能であると判断した場合（判断結果が「ＮＯ」の場合）には、メモリ１９ａに記憶した重み付け係数のうち次に値が小さな重み付け係数と、これに対応する符号データとをメモリ１９ａから抽出する処理を行う（ステップＳ２７）。そして、算術符号化部１８から出力された符号データに対応する重み付け係数（新たな重み付け係数）が、ステップＳ２７で抽出された重み付け係数よりも大であるか否かを判断する（ステップＳ２３）。
【００４９】
つまり、ステップＳ２５，Ｓ２７，Ｓ２３のループでは、符号データの入れ替えが可能であってメモリ１９ａに記憶した重み付け係数がもっとも小さなものを探し出す処理が行われる。尚、ステップＳ２５，Ｓ２７，Ｓ２３のループが繰り返されている間に、ステップＳ２５の判断結果が「ＹＥＳ」になると、符号データとの入れ替えが実行される（ステップＳ２６）。このようにして、値が大きな重み付け係数及びこれに対応する符号データがメモリ１９ａに記憶されるように制御される。
【００５０】
ここで、ステップＳ１７において１つのタイルについての処理が終了したと判断した場合（判断結果が「ＹＥＳ」の場合）には、符号量制御部１９は、メモリ１９ａに記憶された符号データを読み出してビットストリーム生成部２０に出力する処理を行う（ステップＳ２８：第３ステップ）。図８は、図６中のステップＳ２８で行われる処理の詳細を示すフローチャートである。
【００５１】
処理が開始されると、符号量制御部１９は、まずメモリ１９ａに記憶された符号データのうち、対応する重み付けが最大のものを取り出す（ステップＳ３１）。次いで、これまで算出している総符号量に対し、取り出した符号データのデータ量を加算して新たな総符号量を算出する（ステップＳ３２）。次に、符号量制御部１９は、ステップＳ３２で算出した総符号量がステップＳ１１で算出した最大符号量よりも小さいか否かを判断する（ステップＳ３３）。
【００５２】
総符号量が最大符号量よりも小である場合には、ステップＳ３３の判断結果が「ＹＥＳ」になり、符号量制御部１９はステップＳ３１で取り出した符号データをビットストリーム生成部２０に出力する（ステップＳ３４）。そして、ステップＳ３１で取り出した符号データ及びこれに対応する重み付け係数をメモリ１９ａから削除する（ステップＳ３５）。この処理が終了すると、処理はステップＳ３１に戻り、メモリ１９ａに記憶された符号データのうち、対応する重み付けが最大のものを取り出す処理が再び行われる。
【００５３】
図８に示す処理は、総符号量が最大符号量よりも小である間は繰り返し行われる。これに対し、総符号量が最大符号量以上である場合には、ステップＳ３３の判断結果が「ＮＯ」になり、図８に示した一連の処理が終了する。このように、入力画像のデータ量に対して指定された圧縮率を乗算することにより決定される最大符号量を超えないように符号データが選別されて出力される。
【００５４】
以上の処理によって、メモリ１９ａに記憶された符号データが出力されると、画像圧縮装置１は、全てのタイルについての処理が終了したか否かを判断する（ステップＳ２９）。この判断結果が「ＮＯ」である場合には、圧縮率制御の開始を示すフラグの値が「０」に初期化された上で、ステップＳ１３以降の処理が繰り返される。これに対し、ステップＳ２９の判断結果が「ＹＥＳ」の場合には、図６に示す一連の処理が終了する。尚、新たな入力画像が画像圧縮装置１に入力される度に、図６，図７に示すフローチャートが実行される。
【００５５】
以上説明した通り、本実施形態の画像圧縮装置及び方法では、入力画像の圧縮率に応じた閾値を設定し、算術符号化部１８から出力される符号データに対応する重み付け係数が閾値を超えている場合には符号データをビットストリーム生成部２０に順次出力し、重み付け係数が閾値を下回った場合には符号データ及び重み付け係数を順次メモリ１９ａに記憶し、メモリ１９ａに記憶された重み付け係数に応じた符号データの選別を行ってビットストリーム生成部２０に出力するようにしている。このため、メモリ１９ａの容量を削減することができるととともに、ビットストリームの生成に遅れが生ずるのを抑制することができる。
【００５６】
次に、以上説明した画像圧縮装置を備える画像形成装置について説明する。尚、以下では、画像形成装置の一種である複合機を例に挙げて説明する。図９は、本発明の一実施形態による画像形成装置の外観の概要を示す正面図である。図９に示す通り、本実施形態の画像形成装置としての複合機３０は、原稿に形成された画像を画像データとして読み取るスキャナ部３１と、印刷用紙に対する画像形成等を行う本体部３２とを備えている。この画像形成装置３０は、コピー機能、プリント機能、ファクシミリ送信／受信機能を併せ持っており、原稿のコピー、コンピュータ等を用いて作成された各種データのプリントアウト、及び原稿のファクシミリ送受信が可能である。
【００５７】
図１０は、本発明の一実施形態による画像形成装置の要部構成を示すブロック図である。図１０に示す通り、本実施形態の画像形成装置としての複合機３０は、ＣＰＵ（Central Processing Unit）４１、ＲＯＭ（Read Only Memory）４２、ＲＡＭ（Random Access Memory）４３、各種センサ群４４、用紙搬送部４５、画像読取部４６、画像圧縮部４７、画像データ記憶部４８、画像形成部４９、通信Ｉ／Ｆ部５０、及び操作表示部５１を備える。
【００５８】
ＣＰＵ４１は、ＲＯＭ４２に記憶されている制御プログラム（アプリケーションプログラム）に基づき、各種センサ群４４から出力される各種検出信号を参照しつつ、操作表示部５１から入力される操作指示、又は通信Ｉ／Ｆ部５０を介してクライアントコンピュータ（図示省略）から入力される各種指示に応じて複合機３０の動作を制御する。例えば、画像読取部４６による画像データの読み取り制御、或いは、画像データ記憶部３３に記憶されている原稿画像データ、プリント画像データ、及びファクシミリ画像データ等の各種画像データのプリント制御や送信制御を行う。
【００５９】
ＲＯＭ４２は、複合機３０に搭載されるＯＳ（オペレーティングシステム）、複合機３０の各種機能（コピー機能、プリント機能、ファクシミリ送信／受信機能等）を実現するアプリケーションプログラム、及びその他のデータを記憶する不揮発性メモリである。尚、アプリケーションプログラム等の容量が大きな場合には、ＲＯＭ４２に代えてハードディスク等の外部記憶装置を備えていても良い。ＲＡＭ４３は、複合機３０に搭載されたＯＳや各種アプリケーションプログラムのワークエリアとして用いられる揮発性メモリである。
【００６０】
各種センサ群４４は、用紙切れ検出センサ、用紙詰まり検出センサ、用紙位置検出センサ、温度センサ等の画像形成動作に必要な各種センサであり、それぞれのセンサで検出した各種の情報を検出信号としてＣＰＵ４１に出力する。用紙搬送部４５は、搬送ローラ、搬送ローラ駆動用のモータ等を備えており、用紙トレイに収納されている印刷用紙を画像形成部４９に搬送するとともに、画像形成部４９で画像形成処理が行われた印刷用紙を図示しない排紙トレイに搬送する。
【００６１】
画像読取部４６は、図９に示すスキャナ部３１に設けられており、ＡＤＦ（自動原稿送り装置）及びＣＣＤ（Charge Coupled Device）センサ等を備える構成であって、ＡＤＦによって順次給紙される原稿の画像をＣＣＤセンサに読み取らせ、原稿画像に基づく原稿画像データを出力する。尚、画像読取部４６から出力された原稿画像データは、画像圧縮部４７で圧縮されて画像データ記憶部４８に記憶される。
【００６２】
画像圧縮部４７は、上述した画像圧縮装置１に相当するものであり、ＣＰＵ４１の制御の下で複合機３０で取り扱われる画像データを圧縮する。例えば、画像読取部４６で読み取られた原稿画像データの圧縮を行う。画像データ記憶部４８は、圧縮された原稿画像データ、通信Ｉ／Ｆ部５０がクライアントコンピュータ（図示省略）から受信するプリント画像データ、及び通信Ｉ／Ｆ部５０が公衆網（図示省略）から受信するファクシミリ画像データを一時的に記憶する。
【００６３】
画像形成部４９は、ＣＰＵ４１の制御の下で、画像データ記憶部４８に記憶されている原稿画像データ、プリント画像データ、又はファクシミリ画像データを用いて画像形成処理を行う。具体的には、上記の各種画像データに応じて形成した画像を用紙搬送部４５から搬送される印刷用紙に転写し、定着ローラ対によってその画像の定着処理を行う。通信Ｉ／Ｆ部５０は、クライアントコンピュータ（図示省略）や公衆網（図示省略）に接続され、このクライアントコンピュータや公衆網との間で各種信号の送受信を行う。
【００６４】
操作表示部５１は、タッチパネル５１ａ及び各種操作キーを備えており、操作キーの操作内容をＣＰＵ４１に出力するとともに、ＣＰＵ４１の制御の下でタッチパネル５１ａに種々の情報を表示する。操作表示部５１が備える各種操作キーとしては、例えばコピー機能切替キー、プリント機能切替キー、スキャン機能切替キー、ファクシミリ機能切替キー、スタートキー、ストップ／クリアキー、電源キー、テンキー（数値入力キー）が挙げられる。
【００６５】
次に、上記構成における複合機３０を用いて原稿をコピーする際に行われる動作について簡単に説明する。ユーザがスキャナ部３１にコピーすべき原稿をセットし、操作表示部５１に設けられたコピー機能切替キー及びスタートキーを順次操作すると、コピーが開始される。コピーが開始されると、スキャナ部３１にセットされた原稿がＡＤＦによって給紙されて画像読取部４６に設けられたＣＣＤセンサによって画像が読み取られる。
【００６６】
画像読取部４６で読み取られた原稿画像データは、ＣＰＵ４１を介して画像圧縮部４７に出力されて予め設定された圧縮率で圧縮される。画像圧縮部４７で圧縮された原稿画像データはＣＰＵ４１を介して画像データ記憶部４８に出力されて一時的に記憶される。そして、画像データ記憶部４８に一時的に記憶された原稿画像データがＣＰＵ４１に読み出されて画像形成部４９に出力され、画像形成部４９において印刷用紙に対する原稿画像データに応じた画像の形成が行われる。
【００６７】
このように、本実施形態による画像形成装置３０は、ビットストリーム生成の遅れを抑制することができる画像圧縮装置１を備えており、画像読取部４６で読み取られた原稿画像データを画像圧縮装置１で圧縮することとしている。このため、画像読取部４６で読み取られる原稿画像データを圧縮するのに要する時間を短縮することができ、この結果として画像読取部４６における原稿の読み取り時間を短縮することができる。
【００６８】
以上、本発明の一実施形態による画像圧縮装置及び方法並びに画像形成装置について説明したが、本発明は上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、ＲＡＭ４３とは別に画像圧縮部４７（画像圧縮装置１）が設けられている複合機３０を例に挙げて説明したが、画像圧縮装置１の符号量制御部１９に設けられるメモリ１９ａをＲＡＭ４３内に確保した記憶領域で代用しても良い。また、上記実施形態では、画像形成装置が複合機である場合を例に挙げて説明したが、本発明は、複合機以外の画像形成装置（例えば、複写機、プリンタ、ファクシミリ装置）にも適用可能である。
【符号の説明】
【００６９】
１        画像圧縮装置
１３      タイリング部
１４      ＤＷＴ部
１７      係数ビットモデリング部
１８      算術符号化部
１９      符号量制御部
１９ａ    メモリ
２０      ビットストリーム生成部
４７      画像圧縮部
４９      画像形成部
【図１】
0005250591.tif 000002
【図２】
0005250591.tif 000003
【図３】
0005250591.tif 000004
【図４】
0005250591.tif 000005
【図５】
0005250591.tif 000006
【図６】
0005250591.tif 000007
【図７】
0005250591.tif 000008
【図８】
0005250591.tif 000009
【図９】
0005250591.tif 000010
【図１０】
0005250591.tif 000011