説明

画像圧縮装置及び方法並びに画像形成装置

【課題】メモリの容量を削減することができるととともに、ビットストリームの生成に遅れが生ずるのを抑制することができる画像圧縮装置等を提供する。
【解決手段】入力画像にウェーブレット変換を施して複数の周波数成分の変換係数を算出するDWT部14と、変換係数の符号化及び重み付けを行う符号化部(係数ビットモデリング部17及び算術符号化部18)と、符号化部で得られる符号を用いて圧縮画像を生成するビットストリーム生成部20と、符号化部で得られる符号に対応する重み付け係数が入力画像の圧縮率に応じて設定される閾値を超えている場合には符号をビットストリーム生成部20に順次出力し、重み付け係数が閾値を下回った場合には符号及び重み付け係数を順次メモリ19aに記憶し、メモリ19aに記憶された重み付け係数に応じた符号の選別を行ってビットストリーム生成部20に出力する符号量制御部19とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像圧縮装置及び方法並びに画像形成装置に関する。
【背景技術】
【0002】
膨大な画像データの伝送及び保存等を効率的に行うために、画像データを圧縮する画像圧縮技術が飛躍的に進歩している。現在、静止画像を対象とした画像圧縮技術としてJPEG(Joint Photographic Experts Group)等が普及しており、動画像を対象とした画像圧縮技術としてMPEG(Moving Picture Experts Group)等が普及している。近年、これらの画像圧縮技術で得られる圧縮画像よりも高画質でありながら高圧縮率な圧縮画像が得られるJPEG2000なる画像圧縮標準規格(以下、単に「JPEG2000」という)が注目されている。
【0003】
JPEG2000は、画像を空間領域から周波数領域に変換する手法として離散ウェーブレット変換 (DWT:Discrete Wavelet Transform) を用いる点を第1の特徴としている。また、周波数変換後のデータ(量子化されたデータ)をエントロピー符号化する手法として、EBCOT(Embedded Block Coding with Optimized Truncation)と呼ばれる手法を用いる点を第2の特徴としている。これらの特徴を有することにより、JPEG2000では、高い圧縮率で圧縮されながらモスキートノイズ等のノイズが抑えられた高画質な圧縮画像を得ることができる。
【0004】
尚、以下の特許文献1には、JPEG2000を用いる圧縮符号化装置によって圧縮された圧縮符号化データを含むビットストリームを入力し、入力されたビットストリームの符号量制御を、レートに対する歪みを制御し得るように、少ない演算量で且つ高速に実行し得る符号量制御装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−64115号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、JPEG2000を用いる従来の圧縮符号化装置では、入力された画像データがタイルと呼ばれる単位に分割され、このタイル毎に周波数変換及びそれ以降の各種処理が行われるのが基本である。このため、例えばDWTを用いた周波数変換及び量子化が行われてから圧縮画像データを含むビットストリームが生成されるまでの間にはタイル毎に以下の処理が行われていた。
【0007】
まず、1つのタイル内のデータ(量子化されたデータ)が順次符号化されて符号データが生成されるとともに、各々の符号データについて重み付けが行われ、得られた符号データ及び重み付けデータが順次メモリに記憶される。次に、タイル内の全てのデータ対する符号化及び重み付けが終了した後に、メモリに記憶された重み付けデータに基づいて、重要度の高い符号データが順にメモリから抽出される。そして、1つのタイルについて符号データの抽出が終了すると、抽出された符号データを用いてビットストリームの生成が開始される。
【0008】
このように、従来は、1つのタイル内のデータの全てについて符号化及び重み付けが終了した後に、重み付けデータに基づいて重要度の高い符号データを抽出し、抽出が終了してから初めてビットストリームの生成を開始している。このため、1つのタイル内の全ての符号データ及び重み付けデータを漏れなく記憶する必要があることから、大容量のメモリが必要になるという問題があった。また、符号データの抽出は、1つのタイル内の全ての符号データを対象として行われるため抽出に時間を要してしまい、ビットストリームの生成に遅れが生ずるという問題があった。
【0009】
本発明は、上記事情に鑑みてなされたものであり、メモリの容量を削減することができるととともに、ビットストリームの生成に遅れが生ずるのを抑制することができる画像圧縮装置及び方法、並びに当該装置を備える画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明の画像圧縮装置は、入力画像にウェーブレット変換を施して複数の周波数成分の変換係数を算出する変換部と、前記変換係数の符号化及び重み付けを行う符号化部と、該符号化部で得られる符号を用いて圧縮画像を生成する圧縮画像生成部とを備える画像圧縮装置において、前記符号化部で得られる符号に対応する重み付け係数が前記入力画像の圧縮率に応じて設定される閾値を超えている場合には前記符号を前記圧縮画像生成部に順次出力し、前記重み付け係数が前記閾値を下回った場合には前記符号及び前記重み付け係数を順次メモリに記憶し、該メモリに記憶された重み付け係数に応じた前記符号の選別を行って前記圧縮画像生成部に出力する符号量制御部を備えることを特徴としている。
また、本発明の画像圧縮装置は、前記入力画像を予め設定された要素領域に分割する分割部を備えており、前記変換部、前記符号化部、及び前記符号量制御部は、前記要素領域を基準として各々の処理を行うことを特徴としている。
また、本発明の画像圧縮装置は、前記符号量制御部が、前記入力画像の圧縮率を超えないように、前記メモリに記憶された符号を選別して前記圧縮画像生成部に出力することを特徴としている。
また、本発明の画像圧縮装置は、前記符号量制御部が、前記メモリの残容量が無くなった場合には、前記符号化部で得られる符号に対応する重み付け係数と、前記メモリに記憶されている符号に対応する重み付け係数のうちの値が最も小さな重み付け係数とを比較し、値が大きな重み付け係数及び当該重み付け係数に対応する符号が前記メモリに記憶されるように制御することを特徴としている。
また、本発明の画像圧縮装置は、前記符号化部が、前記変換係数の色空間における要素、前記変換係数の種類、及び前記変換係数のビット位置を加味して前記重み付け係数を求めることを特徴としている。
本発明の画像圧縮方法は、入力画像にウェーブレット変換を施して複数の周波数成分の変換係数を算出し、該変換係数の符号化及び重み付けを行い、得られる符号を用いて圧縮画像を生成する画像圧縮方法において、前記入力画像の圧縮率に応じた閾値を設定する第1ステップと、前記変換係数の符号化によって得られる符号に対応する重み付け係数が前記第1ステップで設定された閾値を超えている場合には、該符号を前記圧縮画像の生成用に出力する第2ステップと、前記重み付け係数が前記閾値を下回った場合には、前記符号及び前記重み付け係数を順次メモリに記憶し、該メモリに記憶された重み付け係数に応じた前記符号の選別を行って前記圧縮画像の生成用に出力する第3ステップとを有することを特徴としている。
本発明の画像形成装置は、記録媒体に画像を形成する画像形成装置において、入力画像を圧縮した圧縮画像を生成する上記の何れかに記載の画像圧縮装置と、前記画像圧縮装置で生成された前記圧縮画像を用いて前記入力画像に応じた画像を前記記録媒体に形成する画像形成を行う画像形成部とを備えることを特徴としている。
【発明の効果】
【0011】
本発明によれば、入力画像の圧縮率に応じた閾値を設定し、符号化部で得られる符号に対応する重み付け係数が閾値を超えている場合には符号を圧縮画像生成部に順次出力し、重み付け係数が閾値を下回った場合には符号及び重み付け係数を順次メモリに記憶して重み付け係数に応じた符号の選別を行って圧縮画像生成部に出力しているため、メモリの容量を削減することができるととともに、ビットストリームの生成に遅れが生ずるのを抑制することができるという効果がある。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施形態による画像圧縮装置の要部構成を示すブロック図である。
【図2】本発明の一実施形態において、オクターブ分割方式に従って帯域分割された画像信号を模式的に示す図である。
【図3】本発明の一実施形態において、係数ビットモデリング部で分解されるビットプレーンを模式的に示す図である。
【図4】本発明の一実施形態において、重み付け係数の算出に用いられるテーブルの一例を示す図である。
【図5】本発明の一実施形態において、閾値の設定に用いられるテーブルの一例を示す図である。
【図6】本発明の一実施形態による画像圧縮方法を示すフローチャートである。
【図7】本発明の一実施形態による画像圧縮方法を示すフローチャートである。
【図8】図6中のステップS28で行われる処理の詳細を示すフローチャートである。
【図9】本発明の一実施形態による画像形成装置の外観の概要を示す正面図である。
【図10】本発明の一実施形態による画像形成装置の要部構成を示すブロック図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の一実施形態による画像圧縮装置及び方法並びに画像形成装置について詳細に説明する。図1は、本発明の一実施形態による画像圧縮装置の要部構成を示すブロック図である。図1に示す通り、本実施形態の画像圧縮装置1は、DCレベルシフト部11、色空間変換部12、タイリング部13(分割部)、DWT部14(変換部)、量子化部15、ROI部16、係数ビットモデリング部17(符号化部)、算術符号化部18(符号化部)、符号量制御部19、及びビットストリーム生成部20(圧縮画像生成部)を備えており、入力画像を指定された圧縮率で圧縮して圧縮画像を生成する。
【0014】
DCレベルシフト部11は、入力画像のDCレベルを変換する。例えば、入力画像の画像信号が0〜255の値を取り得る8ビットのR信号、G信号、及びB信号からなる24ビットのRGB信号である場合には、−128〜127の値を取り得る8ビットのR信号、G信号、及びB信号からなる24ビットのRGB信号に変換する。色空間変換部12は、DCレベルシフト部11から出力される画像信号の色空間を変換する。例えば、RGB色空間を、YUV色空間或いはYCbCr色空間に変換する。
【0015】
タイリング部13は、色空間変換部12で色空間が変換された画像信号を所定の大きさのタイル(要素領域)に分割する。例えば、垂直方向及び水平方向の画素数が共に256である複数の矩形形状のタイルに分割する。DWT部14は、タイリング部13で分割されたタイル毎に離散ウェーブレット変換を施して各タイルを空間領域から周波数領域に変換し、変換を施すことによって得られた変換係数を出力する。
【0016】
具体的に、DWT部14は、タイルに分割された画像信号の各々に対し、信号成分を高周波数成分と低周波数成分とに帯域分割する一次元フィルタを垂直方向及び水平方向の順に適用する。尚、JPEG2000では、基本的に垂直方向と水平方向との双方向について、低周波数成分のみを再帰的に帯域分割するオクターブ分割方式が採用されている。ここで、再帰的に帯域分割した回数は分解レベル(decomposition level)と呼ばれる。
【0017】
図2は、本発明の一実施形態において、オクターブ分割方式に従って帯域分割された画像信号を模式的に示す図である。尚、図2に示す画像信号の分解レベルは2である。図2に示す通り、分解レベル1では、上述した一次元フィルタが垂直方向及び水平方向について順次適用されることにより、タイルに分割された画像信号S1は、「1HH」,「1HL」,「1LH」,及び「1LL」(図示省略)の4つの帯域成分に分割される。
【0018】
ここで、「H」は高周波数成分を示しており、「L」は低周波数成分を示している。例えば、帯域成分「1HL」は、分解レベル1における水平方向の高周波数成分「H」と垂直方向の低周波数成分「L」とからなる帯域成分である。つまり、図2中でなされた表記「nXY」(X,YはH,Lの何れか:nは1以上の整数)は、分解レベルnにおける水平方向の帯域成分Xと垂直方向の帯域成分Yとからなる帯域成分を示している。また、分解レベル「2」では、図示を省略している帯域成分「1LL」が、「2HH」,「2HL」,「2LH」,及び「2LL」の4つの帯域成分に分割される。
【0019】
量子化部15は、DWT部14から出力される変換係数を必要に応じてスカラー量子化するとともに、ROI部16による指定領域(ROI:Region Of Interest)の画質を優先させるビットシフト処理を行う。尚、可逆(ロスレス)変換を行う場合には、量子化部15でのスカラー量子化は行われない。ROI部16は、例えば多くの符号量を割り当てて画質を優先させる領域である指定領域を量子化部15に対して指定する。
【0020】
係数ビットモデリング部17及び算術符号化部18は、EBCOTと呼ばれる手法に従って、量子化部15から出力される変換係数に対し、ブロックベースのエントロピー符号化を施す。具体的に、係数ビットモデリング部17は、入力する変換係数の帯域成分を32×32或いは64×64程度の「コードブロック」といわれる領域に分割し、更に、各コードブロックを各ビットの二次元配列で構成される複数のビットプレーンに分解する。
【0021】
図3は、本発明の一実施形態において、係数ビットモデリング部で分解されるビットプレーンを模式的に示す図である。図3に示す通り、画像信号S1は、複数のコードブロックCBに分割されており、各コードブロックはk枚(kは自然数である、例えば「10」)のビットプレーンBP0〜BPk−1から構成されている。図3に示す通り、コードブロックCB内における1つの変換係数の値が2進数表記で「011…0」である場合、この変換係数を構成するビットは、ビットプレーンBPk−1,BPk−2,BPk−3,…,BPOに属するように分解される。尚、変換係数の最上位ビット(MSB)はビットプレーンBPk−1に属し、最下位ビット(LSB)はビットプレーンBP0に属する。
【0022】
また、係数ビットモデリング部17は、入力する変換係数の色空間における要素、種類、及びビット位置を加味して重み付け係数を求める。この重み付け係数は、符号量制御部19においてビットストリーム生成部20に出力する符号データのデータ量(符号量)を制御するために用いられる係数である。具体的には、図4に示すテーブルを用いて重み付け係数を求める。
【0023】
図4は、本発明の一実施形態において、重み付け係数の算出に用いられるテーブルの一例を示す図である。ここで、図4(a)はYUV色空間における要素(Y,U,V)に応じた係数が設定されたテーブルを示す図であり、図4(b)は変換係数の種類(サブバンド位置)に応じた係数が設定されたテーブルを示す図であり、図4(c)は変換係数のビット位置(ビットプレーン)に応じた係数が設定されたテーブルを示す図である。
【0024】
図4(a)に示す例では、輝度を示す要素Yについては係数「14」が設定されており、色差を示す要素U,Vについては「13」がそれぞれ設定されている。人間の目は色差の変化よりも輝度の変化に敏感であるため、色差を示す要素U,Vの係数のよりも輝度を示す要素Yの係数の方が大に設定されている。また、図4(b)に示す例では、分解レベルが大きなサブバンド(「2LL」,「2HL」,「2LH」,「2HH」)の方が小さなサブバンド(「1HL」,「1LH」,「1HH」)よりも大きな係数が設定されている。また、分解レベルが同じサブバンドについては、低周波数成分「L」がより多く含まれるサブバンドに大きな係数が設定されている。図4(c)に示す例では、MSB側のビット位置(ビットプレーン)がLSB側のビット位置(ビットプレーン)よりも大きな係数が設定されている。
【0025】
係数ビットモデリング17は、例えば入力する変換係数の色空間における要素がYであり、サブバンドが「2LL」であり、ビット位置が10ビットである場合には、図4(a)に示すテーブルから要素Yに設定された係数「14」を取得し、図4(b)に示すテーブルからサブバンド「2LL」に設定された係数「16」を取得し、図4(c)に示すテーブルからビット位置が10ビットに設定された係数「256」を取得する。そして、取得した各々の係数を乗算して重み付け係数「57344」を求める。
【0026】
同様に、例えば入力する変換係数の色空間における要素がVであり、サブバンドが「1HL」であり、ビット位置が5ビットである場合には、図4(a)に示すテーブルから要素Vに設定された係数「13」を取得し、図4(b)に示すテーブルからサブバンド「1HL」に設定された係数「8」を取得し、図4(c)に示すテーブルからビット位置が5ビットに設定された係数「8」を取得する。そして、取得した各々の係数を乗算して重み付け係数「832」を求める。
【0027】
更に、係数ビットモデリング部17は、各ビットプレーンBP0〜BPk−1内の各ビットのコンテクスト(context)判定を行い、各ビットの有意性(判定結果)に応じて、ビットプレーンBP0〜BPk−1を3種類の符号化パスに分解する。ここで、3種類の符号化パスは、CLパス(CLeanup pass)、MRパス(Magnitude Refinement pass)、SIGパス(SIGnificance propagation pass)である。各符号化パスに関するコンテクスト判定のアルゴリズムは、JPEG2000の規格で定められている。この規格によれば、「有意である」とは、これまでの符号化処理において注目係数がゼロでないと分かっている状態を意味し、「有意で無い」とは、係数値がゼロであるか、或いはゼロである可能性がある状態を意味する。
【0028】
係数ビットモデリング部17は、SIGパス(有意な係数が周囲にある有意でない係数の符号化パス)、MRパス(有意な係数の符号化パス)、及びCLパス(SIGパス,MRパスに該当しない残りの係数情報の符号化パス)の3種類の符号化パスでビットプレーン符号化を実行する。ビットプレーン符号化は、最上位ビットプレーンから最下位ビットプレーンにかけて、各ビットプレーンのビットを4ビット単位で走査し、有意な係数が存在するか否かを判定することで行われる。有意で無い係数(0ビット)のみで構成されるビットプレーンの数はパケットヘッダに記録され、有意な係数が最初に出現したビットプレーンから実際の符号化が開始される。その符号化開始のビットプレーンはCLパスのみで符号化され、当該ビットプレーンよりも下位のビットプレーンは、上記3種類の符号化パスで順次符号化される。
【0029】
算術符号化部18は、MQコーダを用いて、係数ビットモデリング部17からの係数列に対して、コンテクストの判定結果に基づいて符号化パス単位で算術符号化を行う。尚、算術符号化部18は、係数ビットモデリング部17で算出された重み付け係数を、符号化して得られた符号データに対応付けて符号量制御部19に出力する。符号量制御部19は、係数ビットモデリング部17で算出された重み付け係数を用いて、算術符号化部18から出力される符号データの最終符号量(ビットストリーム生成部20に出力する符号量)を制御する。
【0030】
具体的に、符号量制御部19は、入力画像の圧縮率に応じた閾値を設定し、算術符号化部18から出力される符号データに対応する重み付け係数が閾値を超えている場合には、その符号データをビットストリーム生成部20に順次出力する。これに対し、算術符号化部18から出力される符号データに対応する重み付け係数が閾値を下回った場合には、1つのタイルについての処理(DWT変換及び符号化)が終了するまで、その符号データ及び重み付け係数をメモリ19aに順次記憶する。そして、1つのタイルについての処理が終了した時点で、メモリ19aに記憶された重み付け係数に応じた符号データの選別を行ってビットストリーム生成部20に出力する。尚、以下では、閾値を下回った場合に行われるメモリに記憶された符号データの選別処理を「圧縮率制御」という。
【0031】
以上の処理を行うのは、メモリ19aの容量を削減するとともに、符号データの選別に要する時間を短縮してビットストリームの生成に遅れが生ずるのを抑制するためである。つまり、符号量を制御する上で明らかに切り捨てられないであろうと考えられる符号データ(大きな重み付け係数が対応付けられている符号データ)をそのままビットストリーム生成部20に出力してメモリ19aに記憶させるべき符号データ及び重み付け係数を減らすことで、メモリ19aの容量削減及び符号データの選別時間の短縮を図っている。本実施形態では、メモリ19aの容量を従来の半分以下に削減することができる。
【0032】
図5は、本発明の一実施形態において、閾値の設定に用いられるテーブルの一例を示す図である。図5に示す例では、圧縮率が50%未満の場合には10%刻みで閾値が規定されており、圧縮率が50%以上の場合には1つの閾値が規定されている。例えば、圧縮率が10%未満である場合には閾値として8388608(2の23乗)が規定されており、圧縮率が50%以上である場合には閾値として100000が規定されている。
【0033】
圧縮率が高い場合(例えば、圧縮率が10%未満の場合)に大きな閾値が規定されているのは、極めて多くの符号データを切り捨てる必要があることから、算術符号化部18から出力される符号データの多くをメモリ19aに記憶させるためである。これに対し、圧縮率が低い場合(例えば、圧縮率が50%〜100%の場合)に小さな閾値が規定されているのは、切り捨てる必要のある符号データが少ないことから、算術符号化部18から出力される符号データの多くをそのままビットストリーム生成部20に出力させるためである。符号量制御部19は、図5に示すテーブルを用いて指定された圧縮率に応じた閾値を設定する。
【0034】
ここで、符号量制御部19は、メモリ19aに記憶された符号データの選別を行う場合には、入力画像の圧縮率を超えないように選別する。また、符号量制御部19は、1つのタイルについての処理が行われている最中にメモリ19aの残容量が無くなった場合には、メモリ19aに記憶された符号データの入れ替え制御を行う。具体的には、算術符号化部18から出力される符号データに対応する重み付け係数と、メモリ19aに記憶されている符号データに対応する重み付け係数のうちの値が最も小さな重み付け係数とを比較する。そして、より値が大きな重み付け係数及び対応する符号データがメモリ19aに記憶されるように制御する。尚、符号量制御部19で行われる処理の詳細については後述する。
【0035】
ビットストリーム生成部20は、符号量制御部19が出力した符号データと付加情報(ヘッダ情報、レイヤー構成、スケーラビリティ、量子化テーブル等)とを多重化したビットストリームを生成して圧縮画像として出力する。ここで、ビットストリーム生成部20から出力される圧縮画像は、指定された圧縮率で入力画像を圧縮したものである。このため、例えば指定された圧縮率が10%である場合には、データ量が入力画像の10分の1である圧縮画像が得られることになる。
【0036】
次に、上記構成における画像圧縮装置1の動作について説明する。図6,図7は、本発明の一実施形態による画像圧縮方法を示すフローチャートである。尚、本実施形態では、入力画像の圧縮率が予め指定されているものとする。図6,図7示す処理が開始されると、まず符号量制御部19が、指定された圧縮率からビットストリーム生成部20に出力すべき符号データの最大符号量と閾値とを決定する(ステップS11:第1ステップ)。具体的に、最大符号量は入力画像のデータ量に対して指定された圧縮率を乗算することにより決定され、閾値は図5に示したテーブルを用いて決定される。尚、ステップS11では、図6,図7に示す処理で用いられる各種の変数やフラグを初期化する処理も行われる。
【0037】
以上の処理が終了して圧縮対象である入力画像の画像信号が入力されると、DCレベルシフト部11で画像信号のDCレベルが変換され、色空間変換部12で画像信号の色空間がYUV色空間に変換された後に、タイリング部13でタイルに分割される(ステップS12)。分割されたタイルは、DWT部14に順次出力されて離散ウェーブレット変換が施され空間領域から周波数領域に変換される。かかる変換によって得られたタイル毎の変換係数は、DWT部14から量子化部15に順次出力され、必要に応じてスカラー量子化やビットシフト処理が行われて係数ビットモデリング部17に出力される。
【0038】
係数ビットモデリング部17に入力されるタイル毎の変換係数は、図3を用いて説明したコードブロック及びビットプレーンにそれぞれ分割される。そして、図4に示すテーブルを用いて重み付け係数を求める処理が行われるとともに、ビットプレーンの有意性に応じてCLパス、MRパス、SIGパスに分解されてビットプレーン符号化が行われる。係数ビットモデリング部17で得られた係数列は、算術符号化部18に出力されて算術符号化が施される。以上の係数ビットモデリング部17及び算術符号化部18の処理により、変換係数毎の符号データ及び重み付け係数が算出される(ステップS13)。算出された符号データ及び重み付け係数は、算術符号化部18から符号量制御部19に順次出力される。
【0039】
符号データ及び重み付け係数が入力されると、符号量制御部19は、まず圧縮率制御が開始されているか否かを判断する(ステップS14)。具体的には、圧縮率制御の開始を示すフラグの値が「1」であるか否かを判断する。ここで、圧縮率制御は、符号データに対応する重み付け係数がステップS11で決定された閾値を下回った場合に符号量制御部19で行われる処理であるため、ここでの判断結果は「NO」になる。
【0040】
次に、符号量制御部19は、算術符号化部18から出力される符号データに対応する重み付け係数がステップS11で決定された閾値よりも大であるか否かを判断する(ステップS15)。重み付け係数が閾値よりも大である場合(判断結果が「YES」の場合)には、符号量制御部19は総符号量を求めて算術符号化部18からの符号データをビットストリーム生成部20に出力する(ステップS16:第2ステップ)。ここで、総符号量とは、符号量制御部19からビットストリーム生成部20に出力される符号データの総データ量である。
【0041】
以上の処理が終了すると、符号量制御部19は、1つのタイルについての処理が終了したか否かを判断する(ステップS17)。この判断結果が「NO」である場合には、ステップS13〜S17の処理が繰り返される。つまり、1つのタイルについての処理が終了するまで、算術符号化部18からの符号データに対応する重み付け係数がステップS11で決定された閾値よりも大である間は、その符号データをビットストリーム生成部20に出力する処理が繰り返される。
【0042】
いま、ステップS17の判断結果が「NO」であり、ステップS13〜S17の処理が繰り返されている間に、算術符号化部18から出力される符号データに対応する重み付け係数がステップS11で決定された閾値以下になった(下回った)とする。すると、ステップS15の判断結果は「NO」になり、符号量制御部19は、算術符号化部18からの符号データ及び重み付け係数をメモリ19aに記憶し(ステップS18:第3ステップ)、圧縮率制御の開始を示すフラグの値を「1」に設定する(ステップS19)。
【0043】
フラグの設定が終了してステップS17の判断結果が「NO」である場合には、ステップS13の処理が終了した後に符号量制御部19で行われるステップS14の判断が「YES」になって圧縮率制御が開始される。圧縮率制御が開始されると、符号量制御部19は、メモリ19aの残容量の有無を判断する(ステップS20)。メモリ19aの残容量が有ると判断した場合には、符号量制御部19は算術符号化部18からの符号データ及び重み付け係数をメモリ19aに記憶する(ステップS21:第3ステップ)。
【0044】
ステップS21の処理が終了すると、符号量制御部19は、1つのタイルについての処理が終了したか否かを判断する(ステップS17)。この判断結果が「NO」である場合には、ステップS13,S14,S20,S21,S17の処理が繰り返される。つまり、1つのタイルについての処理が終了するまで、算術符号化部18からの符号データ及び重み付け係数をメモリ19aに記憶する処理が繰り返される。
【0045】
以上の処理が繰り返されている間に、メモリ19aの残容量が無いと判断した場合(ステップS20の判断結果が「NO」である場合)には、符号量制御部19は、メモリ19aに記憶した重み付け係数のうち値が最も小さな重み付け係数と、これに対応する符号データとをメモリ19aから抽出する処理を行う(ステップS22)。そして、算術符号化部18から出力された符号データに対応する重み付け係数(新たな重み付け係数)が、ステップS22で抽出された重み付け係数よりも大であるか否かを判断する(ステップS23)
【0046】
新たな重み付け係数がステップS22で抽出された重み付け係数以下である場合には、ステップS23の判断結果が「NO」になる。すると、符号量制御部19は、新たな重み付け係数及びこれに対応する符号データを破棄する処理を行う(ステップS24)。そして、1つのタイルについての処理が終了したか否かを判断し(ステップS17)、処理が終了していない場合(判断結果が「NO」である場合)には圧縮率制御を継続する。
【0047】
これに対し、新たな重み付け係数がステップS22で抽出された重み付け係数よりも大である場合には、ステップS23の判断結果が「YES」になる。すると、符号量制御部19は、ステップS22で抽出した符号データを算術符号化部18からの符号データに入れ替えすることが可能であるか否かを判断する(ステップS25)。入れ替えが可能であると判断した場合(判断結果が「YES」の場合)には、ステップS22で抽出した符号データ及びこれに対応する重み付け係数を、算術符号化部18からの符号データ及びこれに対応する重み付け係数(新たな重み付け係数)で上書きして符号データ等の入れ替えを行う(ステップS26)。尚、入れ替えが終了して、1つのタイルについての処理が終了していない場合(ステップS17の判断結果が「NO」の場合)には圧縮率制御を継続する。
【0048】
他方、ステップS25で入れ替えが不可能であると判断した場合(判断結果が「NO」の場合)には、メモリ19aに記憶した重み付け係数のうち次に値が小さな重み付け係数と、これに対応する符号データとをメモリ19aから抽出する処理を行う(ステップS27)。そして、算術符号化部18から出力された符号データに対応する重み付け係数(新たな重み付け係数)が、ステップS27で抽出された重み付け係数よりも大であるか否かを判断する(ステップS23)。
【0049】
つまり、ステップS25,S27,S23のループでは、符号データの入れ替えが可能であってメモリ19aに記憶した重み付け係数がもっとも小さなものを探し出す処理が行われる。尚、ステップS25,S27,S23のループが繰り返されている間に、ステップS25の判断結果が「YES」になると、符号データとの入れ替えが実行される(ステップS26)。このようにして、値が大きな重み付け係数及びこれに対応する符号データがメモリ19aに記憶されるように制御される。
【0050】
ここで、ステップS17において1つのタイルについての処理が終了したと判断した場合(判断結果が「YES」の場合)には、符号量制御部19は、メモリ19aに記憶された符号データを読み出してビットストリーム生成部20に出力する処理を行う(ステップS28:第3ステップ)。図8は、図6中のステップS28で行われる処理の詳細を示すフローチャートである。
【0051】
処理が開始されると、符号量制御部19は、まずメモリ19aに記憶された符号データのうち、対応する重み付けが最大のものを取り出す(ステップS31)。次いで、これまで算出している総符号量に対し、取り出した符号データのデータ量を加算して新たな総符号量を算出する(ステップS32)。次に、符号量制御部19は、ステップS32で算出した総符号量がステップS11で算出した最大符号量よりも小さいか否かを判断する(ステップS33)。
【0052】
総符号量が最大符号量よりも小である場合には、ステップS33の判断結果が「YES」になり、符号量制御部19はステップS31で取り出した符号データをビットストリーム生成部20に出力する(ステップS34)。そして、ステップS31で取り出した符号データ及びこれに対応する重み付け係数をメモリ19aから削除する(ステップS35)。この処理が終了すると、処理はステップS31に戻り、メモリ19aに記憶された符号データのうち、対応する重み付けが最大のものを取り出す処理が再び行われる。
【0053】
図8に示す処理は、総符号量が最大符号量よりも小である間は繰り返し行われる。これに対し、総符号量が最大符号量以上である場合には、ステップS33の判断結果が「NO」になり、図8に示した一連の処理が終了する。このように、入力画像のデータ量に対して指定された圧縮率を乗算することにより決定される最大符号量を超えないように符号データが選別されて出力される。
【0054】
以上の処理によって、メモリ19aに記憶された符号データが出力されると、画像圧縮装置1は、全てのタイルについての処理が終了したか否かを判断する(ステップS29)。この判断結果が「NO」である場合には、圧縮率制御の開始を示すフラグの値が「0」に初期化された上で、ステップS13以降の処理が繰り返される。これに対し、ステップS29の判断結果が「YES」の場合には、図6に示す一連の処理が終了する。尚、新たな入力画像が画像圧縮装置1に入力される度に、図6,図7に示すフローチャートが実行される。
【0055】
以上説明した通り、本実施形態の画像圧縮装置及び方法では、入力画像の圧縮率に応じた閾値を設定し、算術符号化部18から出力される符号データに対応する重み付け係数が閾値を超えている場合には符号データをビットストリーム生成部20に順次出力し、重み付け係数が閾値を下回った場合には符号データ及び重み付け係数を順次メモリ19aに記憶し、メモリ19aに記憶された重み付け係数に応じた符号データの選別を行ってビットストリーム生成部20に出力するようにしている。このため、メモリ19aの容量を削減することができるととともに、ビットストリームの生成に遅れが生ずるのを抑制することができる。
【0056】
次に、以上説明した画像圧縮装置を備える画像形成装置について説明する。尚、以下では、画像形成装置の一種である複合機を例に挙げて説明する。図9は、本発明の一実施形態による画像形成装置の外観の概要を示す正面図である。図9に示す通り、本実施形態の画像形成装置としての複合機30は、原稿に形成された画像を画像データとして読み取るスキャナ部31と、印刷用紙に対する画像形成等を行う本体部32とを備えている。この画像形成装置30は、コピー機能、プリント機能、ファクシミリ送信/受信機能を併せ持っており、原稿のコピー、コンピュータ等を用いて作成された各種データのプリントアウト、及び原稿のファクシミリ送受信が可能である。
【0057】
図10は、本発明の一実施形態による画像形成装置の要部構成を示すブロック図である。図10に示す通り、本実施形態の画像形成装置としての複合機30は、CPU(Central Processing Unit)41、ROM(Read Only Memory)42、RAM(Random Access Memory)43、各種センサ群44、用紙搬送部45、画像読取部46、画像圧縮部47、画像データ記憶部48、画像形成部49、通信I/F部50、及び操作表示部51を備える。
【0058】
CPU41は、ROM42に記憶されている制御プログラム(アプリケーションプログラム)に基づき、各種センサ群44から出力される各種検出信号を参照しつつ、操作表示部51から入力される操作指示、又は通信I/F部50を介してクライアントコンピュータ(図示省略)から入力される各種指示に応じて複合機30の動作を制御する。例えば、画像読取部46による画像データの読み取り制御、或いは、画像データ記憶部33に記憶されている原稿画像データ、プリント画像データ、及びファクシミリ画像データ等の各種画像データのプリント制御や送信制御を行う。
【0059】
ROM42は、複合機30に搭載されるOS(オペレーティングシステム)、複合機30の各種機能(コピー機能、プリント機能、ファクシミリ送信/受信機能等)を実現するアプリケーションプログラム、及びその他のデータを記憶する不揮発性メモリである。尚、アプリケーションプログラム等の容量が大きな場合には、ROM42に代えてハードディスク等の外部記憶装置を備えていても良い。RAM43は、複合機30に搭載されたOSや各種アプリケーションプログラムのワークエリアとして用いられる揮発性メモリである。
【0060】
各種センサ群44は、用紙切れ検出センサ、用紙詰まり検出センサ、用紙位置検出センサ、温度センサ等の画像形成動作に必要な各種センサであり、それぞれのセンサで検出した各種の情報を検出信号としてCPU41に出力する。用紙搬送部45は、搬送ローラ、搬送ローラ駆動用のモータ等を備えており、用紙トレイに収納されている印刷用紙を画像形成部49に搬送するとともに、画像形成部49で画像形成処理が行われた印刷用紙を図示しない排紙トレイに搬送する。
【0061】
画像読取部46は、図9に示すスキャナ部31に設けられており、ADF(自動原稿送り装置)及びCCD(Charge Coupled Device)センサ等を備える構成であって、ADFによって順次給紙される原稿の画像をCCDセンサに読み取らせ、原稿画像に基づく原稿画像データを出力する。尚、画像読取部46から出力された原稿画像データは、画像圧縮部47で圧縮されて画像データ記憶部48に記憶される。
【0062】
画像圧縮部47は、上述した画像圧縮装置1に相当するものであり、CPU41の制御の下で複合機30で取り扱われる画像データを圧縮する。例えば、画像読取部46で読み取られた原稿画像データの圧縮を行う。画像データ記憶部48は、圧縮された原稿画像データ、通信I/F部50がクライアントコンピュータ(図示省略)から受信するプリント画像データ、及び通信I/F部50が公衆網(図示省略)から受信するファクシミリ画像データを一時的に記憶する。
【0063】
画像形成部49は、CPU41の制御の下で、画像データ記憶部48に記憶されている原稿画像データ、プリント画像データ、又はファクシミリ画像データを用いて画像形成処理を行う。具体的には、上記の各種画像データに応じて形成した画像を用紙搬送部45から搬送される印刷用紙に転写し、定着ローラ対によってその画像の定着処理を行う。通信I/F部50は、クライアントコンピュータ(図示省略)や公衆網(図示省略)に接続され、このクライアントコンピュータや公衆網との間で各種信号の送受信を行う。
【0064】
操作表示部51は、タッチパネル51a及び各種操作キーを備えており、操作キーの操作内容をCPU41に出力するとともに、CPU41の制御の下でタッチパネル51aに種々の情報を表示する。操作表示部51が備える各種操作キーとしては、例えばコピー機能切替キー、プリント機能切替キー、スキャン機能切替キー、ファクシミリ機能切替キー、スタートキー、ストップ/クリアキー、電源キー、テンキー(数値入力キー)が挙げられる。
【0065】
次に、上記構成における複合機30を用いて原稿をコピーする際に行われる動作について簡単に説明する。ユーザがスキャナ部31にコピーすべき原稿をセットし、操作表示部51に設けられたコピー機能切替キー及びスタートキーを順次操作すると、コピーが開始される。コピーが開始されると、スキャナ部31にセットされた原稿がADFによって給紙されて画像読取部46に設けられたCCDセンサによって画像が読み取られる。
【0066】
画像読取部46で読み取られた原稿画像データは、CPU41を介して画像圧縮部47に出力されて予め設定された圧縮率で圧縮される。画像圧縮部47で圧縮された原稿画像データはCPU41を介して画像データ記憶部48に出力されて一時的に記憶される。そして、画像データ記憶部48に一時的に記憶された原稿画像データがCPU41に読み出されて画像形成部49に出力され、画像形成部49において印刷用紙に対する原稿画像データに応じた画像の形成が行われる。
【0067】
このように、本実施形態による画像形成装置30は、ビットストリーム生成の遅れを抑制することができる画像圧縮装置1を備えており、画像読取部46で読み取られた原稿画像データを画像圧縮装置1で圧縮することとしている。このため、画像読取部46で読み取られる原稿画像データを圧縮するのに要する時間を短縮することができ、この結果として画像読取部46における原稿の読み取り時間を短縮することができる。
【0068】
以上、本発明の一実施形態による画像圧縮装置及び方法並びに画像形成装置について説明したが、本発明は上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、RAM43とは別に画像圧縮部47(画像圧縮装置1)が設けられている複合機30を例に挙げて説明したが、画像圧縮装置1の符号量制御部19に設けられるメモリ19aをRAM43内に確保した記憶領域で代用しても良い。また、上記実施形態では、画像形成装置が複合機である場合を例に挙げて説明したが、本発明は、複合機以外の画像形成装置(例えば、複写機、プリンタ、ファクシミリ装置)にも適用可能である。
【符号の説明】
【0069】
1 画像圧縮装置
13 タイリング部
14 DWT部
17 係数ビットモデリング部
18 算術符号化部
19 符号量制御部
19a メモリ
20 ビットストリーム生成部
47 画像圧縮部
49 画像形成部

【特許請求の範囲】
【請求項1】
入力画像にウェーブレット変換を施して複数の周波数成分の変換係数を算出する変換部と、前記変換係数の符号化及び重み付けを行う符号化部と、該符号化部で得られる符号を用いて圧縮画像を生成する圧縮画像生成部とを備える画像圧縮装置において、
前記符号化部で得られる符号に対応する重み付け係数が前記入力画像の圧縮率に応じて設定される閾値を超えている場合には前記符号を前記圧縮画像生成部に順次出力し、前記重み付け係数が前記閾値を下回った場合には前記符号及び前記重み付け係数を順次メモリに記憶し、該メモリに記憶された重み付け係数に応じた前記符号の選別を行って前記圧縮画像生成部に出力する符号量制御部を備えることを特徴とする画像圧縮装置。
【請求項2】
前記入力画像を予め設定された要素領域に分割する分割部を備えており、
前記変換部、前記符号化部、及び前記符号量制御部は、前記要素領域を基準として各々の処理を行うことを特徴とする請求項1記載の画像圧縮装置。
【請求項3】
前記符号量制御部は、前記入力画像の圧縮率を超えないように、前記メモリに記憶された符号を選別して前記圧縮画像生成部に出力することを特徴とする請求項2記載の画像圧縮装置。
【請求項4】
前記符号量制御部は、前記メモリの残容量が無くなった場合には、前記符号化部で得られる符号に対応する重み付け係数と、前記メモリに記憶されている符号に対応する重み付け係数のうちの値が最も小さな重み付け係数とを比較し、値が大きな重み付け係数及び当該重み付け係数に対応する符号が前記メモリに記憶されるように制御することを特徴とする請求項3記載の画像圧縮装置。
【請求項5】
前記符号化部は、前記変換係数の色空間における要素、前記変換係数の種類、及び前記変換係数のビット位置を加味して前記重み付け係数を求めることを特徴とする請求項1から請求項3の何れか一項に記載の画像圧縮装置。
【請求項6】
入力画像にウェーブレット変換を施して複数の周波数成分の変換係数を算出し、該変換係数の符号化及び重み付けを行い、得られる符号を用いて圧縮画像を生成する画像圧縮方法において、
前記入力画像の圧縮率に応じた閾値を設定する第1ステップと、
前記変換係数の符号化によって得られる符号に対応する重み付け係数が前記第1ステップで設定された閾値を超えている場合には、該符号を前記圧縮画像の生成用に出力する第2ステップと、
前記重み付け係数が前記閾値を下回った場合には、前記符号及び前記重み付け係数を順次メモリに記憶し、該メモリに記憶された重み付け係数に応じた前記符号の選別を行って前記圧縮画像の生成用に出力する第3ステップと
を有することを特徴とする画像圧縮方法。
【請求項7】
記録媒体に画像を形成する画像形成装置において、
入力画像を圧縮した圧縮画像を生成する請求項1から請求項5の何れか一項に記載の画像圧縮装置と、
前記画像圧縮装置で生成された前記圧縮画像を用いて前記入力画像に応じた画像を前記記録媒体に形成する画像形成を行う画像形成部と
を備えることを特徴とする画像形成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−39583(P2012−39583A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2010−180723(P2010−180723)
【出願日】平成22年8月12日(2010.8.12)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】