(57)【要約】      （修正有）【課題】  高画質と高圧縮とを両立して、容易に符号量制御を行うことができる画像符号化装置を提供する。【解決手段】  画素属性判定部４０２は、１画素毎に、注目画素の画素値とこの注目画素の近傍にある近傍画素の画素値とを比較して、注目画素が自然領域の画素であるか否かを判定する。平均化マスクサイズ算出部４０４は、画像データの画素値と、画素属性判定部４０２による判定結果とに基づいて、ｎ×ｍ画素の平均化マスクサイズを算出する。平均化マスク内平均処理部４０６は、画像データの画素値と、画素属性判定部４０２による判定結果と、平均化マスクサイズ算出部４０４から入力されたマスクサイズとに基づいて、平均化マスク内において自然画像領域の画素と判定された画素の画素値の平均値を算出し、自然画像領域の画素の画素値とを変換する。【選択図】  図２
2006254189.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を構成する画素毎に変換対象か否かを判定する判定手段と、
前記判定手段により画素が変換対象画素であると判定された場合に、この変換対象画素と所定の画素値の変換対象画素とを含む領域を抽出する領域抽出手段と、
前記領域抽出手段により抽出された領域に含まれる変換対象画素の画素値を変換する画素値変換手段と
を有する画像符号化装置。
【請求項２】
前記判定手段は、入力画像に含まれる属性情報に基づいて画素を判定する
請求項１に記載の画像符号化装置。
【請求項３】
前記判定手段は、入力画像に含まれる注目画素の画素値と、この注目画素の近傍に存在する既定数の近傍画素の画素値とを比較して、注目画素の画素値がいずれの近傍画素の画素値とも一致しない場合に、この注目画素を変換対象画素として判定する
請求項１に記載の画像符号化装置。
【請求項４】
前記判定手段は、画素がテキストもしくはグラフィクス領域に含まれるか、又は自然画領域に含まれるかを判定して、画素が自然画領域に含まれる場合に、この画素を変換対象画素として判定する
請求項１に記載の画像符号化装置。
【請求項５】
前記領域抽出手段は、領域に含まれる変換対象画素の画素値の最大値と最小値との差が所定値より小さくなるように、領域を抽出する
請求項１に記載の画像符号化装置。
【請求項６】
前記領域抽出手段は、領域に含まれる変換対象画素の画素値の標準偏差が所定値より小さくなるように、領域を抽出する
請求項１に記載の画像符号化装置。
【請求項７】
前記領域抽出手段は、ｍ×ｎ画素の領域を抽出し、
ｍ及びｎは、１以上の整数であって、前記領域抽出手段により抽出される領域ごとに決定される
請求項１に記載の画像符号化装置。
【請求項８】
前記画素値変換手段は、前記領域抽出手段により抽出された領域に含まれる変換対象画素の画素値の平均値を算出する
請求項１に記載の画像符号化装置。
【請求項９】
予測符号化を適用して、前記画素値変換手段により画素値が変換された入力画像の符号データを生成する符号生成手段
をさらに有する請求項１に記載の画像符号化装置。
【請求項１０】
前記符号生成手段は、注目画素の近傍に位置する参照画素の画素値を参照して、この注目画素に対応する符号データを生成する
請求項９に記載の画像符号化装置。
【請求項１１】
前記符号生成手段により生成される符号データのデータ量が所定値より小さくなるように、前記領域抽出手段を制御する符号量制御手段
をさらに有する請求項９に記載の画像符号化装置。
【請求項１２】
前記符号量制御手段は、前記符号生成手段により生成された符号データのデータ量が所定値より小さくなるように、領域の大きさを指定し、
前記領域抽出手段は、前記符号量制御手段により指定された領域の大きさに基づいて、領域を抽出する
請求項１１に記載の画像符号化装置。
【請求項１３】
入力画像を構成する画素毎に変換対象か否かを判定し、
前記判定により画素が変換対象画素であると判定された場合に、この変換対象画素と所定の画素値の変換対象画素とを含む領域を抽出し、
前記抽出された領域に含まれる変換対象画素の画素値を変換する
画像符号化方法。
【請求項１４】
コンピュータを含む画像符号化装置において、
入力画像を構成する画素毎に変換対象か否かを判定する判定ステップと、
前記判定ステップにより画素が変換対象画素であると判定された場合に、この変換対象画素と所定の画素値の変換対象画素とを含む領域を抽出する領域抽出ステップと、
前記抽出された領域に含まれる変換対象画素の画素値を変換する画素値変換ステップと
を前記画像符号化装置のコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を符号化する画像符号化装置に関する。
【背景技術】
【０００２】
近年の画像は、自然画像と人工画像とが融合されている場合が多く、例えば自然画像上にテキスト／グラフィクスが上書きされている場合が増えている。一方で、自然画像は、人間の視覚特性から、解像度情報をある程度落としても問題ないことが知られている。このため、ＪＰＥＧ２０００などでは、画像をウェーブレット変換によって多重の解像度情報（ウェーブレット変換係数情報）に変換し画像の局所的な性質に準ずる符号化が提案されている。
しかしながら、先にあげた自然画像上にテキスト／グラフィクスが上書きされている画像を圧縮する場合、必ずしもウェーブレット変換ベースで画像を多重の解像度変換を行っても良好な結果が得られないばかりでなく、リアルタイム処理を必要とするプリンタなどでは、ウェーブレット変換という演算負荷が大きいため、例えばコスト高な専用ＡＳＩＣが必要という問題点があった。
【０００３】
例えば、特許文献１は、画像の高画質と高圧縮率とを両立するため、ウェーブレット変換を用い、さらに文字・グラフィクスなどの画質を向上させるため、ウェーブレット変換の１階層目の高周波成分によってタイル毎に、文字・グラフィクスか自然画像の領域かを判定し、文字/グラフィクス領域はウェーブレット逆変換を行い２値化処理を行い、自然画像領域はウェーブレット変換の第２層目を行い、それぞれ符号化を行う方法を開示する。
【０００４】
しかしながら、特許文献１に開示された方法は、ウェーブレット係数から領域分離を行う場合はタイル毎の閾値処理を行うので、画素単位に明確な分離をすることができない。テキストが上書きされた自然画像などでは分離ミスが生じ、圧縮率の低下だけではなく、画質も領域分離しない場合より悪くなる場合が多い。また、ウェーブレット変換自体の処理負荷が大きく、実装上コスト的に大きな制約となってしまう。
【０００５】
【特許文献１】特開平１１−１３６５２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上述した背景からなされたものであり、高画質と高圧縮とを両立し、かつ、容易に符号量制御を行うことができる画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明にかかる画像符号化装置は、入力画像を構成する画素毎に変換対象か否かを判定する判定手段と、前記判定手段により画素が変換対象画素であると判定された場合に、この変換対象画素と所定の画素値の変換対象画素とを含む領域を抽出する領域抽出手段と、前記領域抽出手段により抽出された領域に含まれる変換対象画素の画素値を変換する画素値変換手段とを有する。
【０００８】
好適には、前記判定手段は、入力画像に含まれる属性情報に基づいて画素を判定する。
好適には、前記判定手段は、入力画像に含まれる注目画素の画素値と、この注目画素の近傍に存在する既定数の近傍画素の画素値とを比較して、注目画素の画素値がいずれの近傍画素の画素値とも一致しない場合に、この注目画素を変換対象画素として判定する。
好適には、前記判定手段は、画素がテキストもしくはグラフィクス領域に含まれるか、又は自然画領域に含まれるかを判定して、画素が自然画領域に含まれる場合に、この画素を変換対象画素として判定する。
【０００９】
好適には、前記領域抽出手段は、領域に含まれる変換対象画素の画素値の最大値と最小値との差が所定値より小さくなるように、領域を抽出する。
好適には、前記領域抽出手段は、領域に含まれる変換対象画素の画素値の標準偏差が所定値より小さくなるように、領域を抽出する。
【００１０】
好適には、前記領域抽出手段は、ｍ×ｎ画素の領域を抽出し、ｍ及びｎは、１以上の整数であって、前記領域抽出手段により抽出される領域ごとに決定される。
好適には、前記画素値変換手段は、前記領域抽出手段により抽出された領域に含まれる変換対象画素の画素値の平均値を算出する。
【００１１】
好適には、予測符号化を適用して、前記画素値変換手段により画素値が変換された入力画像の符号データを生成する符号生成手段をさらに有する。
好適には、前記符号生成手段は、注目画素の近傍に位置する参照画素の画素値を参照して、この注目画素に対応する符号データを生成する。
【００１２】
好適には、前記符号生成手段により生成される符号データのデータ量が所定値より小さくなるように、前記領域抽出手段を制御する符号量制御手段をさらに有する。
また、好適には、前記符号量制御手段は、前記符号生成手段により生成された符号データのデータ量が所定値より小さくなるように、領域の大きさを指定し、前記領域抽出手段は、前記符号量制御手段により指定された領域の大きさに基づいて、領域を抽出する。
【００１３】
また、本発明にかかる画像符号化方法は、入力画像を構成する画素毎に変換対象か否かを判定し、前記判定により画素が変換対象画素であると判定された場合に、この変換対象画素と所定の画素値の変換対象画素とを含む領域を抽出し、前記抽出された領域に含まれる変換対象画素の画素値を変換する。
【００１４】
また、本発明にかかるプログラムは、コンピュータを含む画像符号化装置において、入力画像を構成する画素毎に変換対象か否かを判定する判定ステップと、前記判定ステップにより画素が変換対象画素であると判定された場合に、この変換対象画素と所定の画素値の変換対象画素とを含む領域を抽出する領域抽出ステップと、前記抽出された領域に含まれる変換対象画素の画素値を変換する画素値変換ステップとを前記画像符号化装置のコンピュータに実行させる。
【発明の効果】
【００１５】
本発明の画像符号化装置によれば、高画質と高圧縮とを両立し、かつ、容易に符号量制御を行うことができる。
【発明を実施するための最良の形態】
【００１６】
［第１の実施形態］
図１は、本発明にかかる画像符号化装置２のハードウェア構成を、制御装置２０を中心に例示する図である。
図１に示すように、画像符号化装置２は、制御装置２０及びプリンタ装置１０から構成される。制御装置２０は、ＣＰＵ２０２及びメモリ２０４などを含み、通信装置２２、ＬＣＤ表示装置あるいはＣＲＴ表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置（ＵＩ装置）２６、並びに、ＨＤＤ・ＣＤ装置などの記憶装置２４から構成される。
【００１７】
［符号化プログラム］
図２は、画像処理プログラム４の機能構成を説明する図である。
図２に示すように、画像処理プログラム４は、ＰＤＬデコンポーザ４００、画素属性判定部４０２、平均化マスクサイズ算出部４０４、平均化マスク内平均処理部４０６、画素選択部４０８、可逆圧縮部４１０、画像蓄積部４１２、画像伸長部４１４及び画像出力部４１６を有する。
画像処理プログラム４は、例えば記録媒体２４０（図１）を介して制御装置２０に供給され、メモリ２０４にロードされて実行される。なお、画像処理プログラム４は、その一部がドライバソフトとしてクライアント端末にインストールされ、互いに協働して本実施形態で説明する機能を実現してもよい。
【００１８】
画像処理プログラム４において、ＰＤＬデコンポーザ４００は、他のアプリケーションソフト（画像編集ソフトなど）からＰＤＬファイルを取得し、ラスタライズして、画素属性判定部４０２、平均化マスクサイズ算出部４０４及び画素選択部４０８に対して出力する。
【００１９】
画素属性判定部４０２は、ＰＤＬデコンポーザ４００から入力された画像データ（ラスタデータ）に基づいて、それぞれの画素の属性を判定する。画素属性判定部４０２は、１画素毎に、注目画素の画素値とこの注目画素の近傍にある近傍画素の画素値とを比較して、属性を判定する。例えば、画素属性判定部４０２は、注目画素の画素値がいずれの近傍画素の画素値とも一致しない場合に、この注目画素を自然画像領域の画素と判定し、注目画素の画素値が１つ以上の近傍画素の画素値と一致する場合に、この注目画素をテキスト・グラフィクス領域の画素と判定する。画素属性判定処理の詳細は後述する。
【００２０】
平均化マスクサイズ算出部４０４は、ＰＤＬデコンポーザ４００から入力された画像データ（ラスタデータ）の画素値と、画素属性判定部４０２による判定結果とに基づいて、後述する所定の条件に従って、ｎ×ｍ画素のマスクサイズを算出して、平均化マスク内平均処理部４０６に対して出力する。ここで、ｎ及びｍは、１以上の整数である。平均化マスクサイズ算出処理の詳細は後述する。
【００２１】
平均化マスク内平均処理部４０６は、ＰＤＬデコンポーザ４００から入力された画像データ（ラスタデータ）の画素値と、画素属性判定部４０２による判定結果と、平均化マスクサイズ算出部４０４から入力されたマスクサイズとに基づいて、平均化マスク内において自然画像領域の画素と判定された画素の画素値の平均値を算出し、この平均値と自然画像領域の画素の画素値とを変換し、変換された後の画素値を画素選択部４０８に対して出力する。具体的には、平均化マスク内平均処理部４０６は、平均化マスク内の自然画像領域の画素の画素値だけに対して、画像の性質に応じて平均化処理を行うことにより、後述する可逆圧縮部４１０により生成される符号量を小さくするべく、適応的な実効解像度を低下させる。
【００２２】
画素選択部４０８は、画素属性判定部４０２による判定結果に応じて、ＰＤＬデコンポーザ４００から入力された画像データ（平均化処理が施されていない画像データ）、又は、平均化マスク内平均処理部４０６から入力された画像データ（平均化処理が施された画像データ）を選択し、可逆圧縮部４１０に対して出力する。より具体的には、画素選択部４０８は、画素属性判定部４０２によりテキスト・グラフィクス領域の画素と判定された画素については、ＰＤＬデコンポーザ４００から直接入力された画像データ（画素値）を選択し、画素属性判定部４０２により自然画像領域の画素（すなわち、変換対象画素）と判定された画素については、平均化マスク内平均処理部４０６から入力された画像データ（画素値）を選択する。つまり、画素属性判定部４０２によりテキスト・グラフィクス領域の画素と判定された画素の近傍には、同一の画素値である画素が存在し、画素属性判定部４０２により自然画像領域の画素と判定された画素の近傍には、平均化マスク内平均処理部４０６による平均化処理のため、同一の画素値である画素値が存在する。
【００２３】
可逆圧縮部４１０は、予測符号化方式を適用して、画素選択部４０８から入力された画像データに対して、可逆な符号化処理を施し、符号データを生成する。すなわち、可逆圧縮部４１０は、平均化マスク内平均処理部４０６により少なくとも一部の画素値が変換された入力画像の画像データを予測符号化により可逆圧縮し、画像蓄積部４１２に格納する。可逆圧縮部４１０により適用される予測符号化方式は、例えば、ランレングス符号化、ＪＰＥＧ  ｉｎｄｅｐｅｎｄｅｎｔ、ｇｚｉｐ、ＬＺ符号化、ＪＰＥＧ−ＬＳなどが適用されてもよく、注目画素値が既知の近傍画素値と一致する場合は一致情報を、一致しない場合は予測誤差を出力しハフマン符号化する方式が適用されてもよい。可逆圧縮処理の詳細は後述する。
【００２４】
画像蓄積部４１２は、可逆圧縮部４１０により出力された符号データを、メモリ２０４（図１）又は記憶装置２４に記憶することにより実現される。
画像伸長部４１４は、画像蓄積部４１２から符号データを読み出し、可逆圧縮部４１０による符号化方式に対応する伸長処理を施して画像出力部４１６に対して出力する。
画像出力部４１６は、画像伸長部４１４から入力された画像データを、プリンタ装置１０（図１）のプリントエンジン（不図示）を制御して用紙上に印刷する。
【００２５】
図３は、画素属性判定部４０２による画素属性判定処理（Ｓ１０）をより詳細に説明するフローチャートである。
図３に示すように、ステップ１００（Ｓ１００）において、画素属性判定部４０２は、ＰＤＬデコンポーザ４００から入力された画像データ（画素群）を画素ごとに参照し、注目画素の画素値と、この注目画素の近傍にある近傍画素の画素値とを比較する。具体的には、画素属性判定部４０２は、注目画素の周囲にある８つ画素を近傍画素とし、この画像要素の画素値と、それぞれの近傍画素の画素値とを比較する。
【００２６】
ステップ１０２（Ｓ１０２）において、画素属性判定部４０２は、注目画素の画素値がいずれかの近傍画素と一致する場合に、Ｓ１０４の処理に移行し、注目画素の画素値がいずれの近傍画素の画素値とも一致しない場合に、Ｓ１０６の処理に移行する。
【００２７】
ステップ１０４（Ｓ１０４）において、画素属性判定部４０２は、この注目画素をテキスト・グラフィクス領域の画素（すなわち、非変換対象画素）として判定し、この判定結果を、平均化マスクサイズ算出部４０４、平均化マスク内平均処理部４０６及び画素選択部４０８に対して出力する。すなわち、画素属性判定部４０２は、注目画素の画素値がいずれかの近傍画素と一致する場合に、この注目画素を非変換対象画素として判定する。
【００２８】
ステップ１０６（Ｓ１０６）において、画素属性判定部４０２は、この注目画素を自然画像領域の画素（すなわち、変換対象画素）として判定し、この判定結果を、平均化マスクサイズ算出部４０４、平均化マスク内平均処理部４０６及び画素選択部４０８に対して出力する。すなわち、画素属性判定部４０２は、注目画素の画素値がいずれの近傍画素とも一致しない場合に、この注目画素を変換対象画素として判定する。
【００２９】
図４は、平均化マスクサイズ算出部４０４による平均化マスク算出処理を説明する図である。図４（Ａ）は、複数の画素により構成される入力画像を示す。図４（Ｂ）は、平均化マスクサイズ算出部４０４により複数の平均化マスクが算出された結果を例示する図である。図４に示すように、平均化マスクは、互いに近接する複数の画素からなる領域であり、例えば主走査方向に２画素、かつ、副走査方向に２画素からなる領域（２×２画素）として算出される。
【００３０】
平均化マスクサイズ算出部４０４は、次の条件を満たす最大のｎ及びｍをマスクサイズとする。
１．平均化マスクは、主走査方向にｎ画素、かつ、副走査方向にｍ画素からなる領域（ｎ×ｍ画素）とする。
２．平均化マスク内において、画素属性判定部４０２により自然画像領域の画素であると判定された画素は、次の（１）式で示される評価式を満足する。
Ｐｍａｘ−Ｐｍｉｎ＝Ｔｈ１  ・・・（１）
ここで、Ｐｍａｘは平均化マスク内における自然画像領域の画素の最大値であり、Ｐｍｉｎは平均化マスク内における自然画像領域の画素の最小値であり、Ｔｈ１は既定のしきい値である。
３．平均化マスクサイズは、走査順に決定される。
４．平均化マスクは、先に算出されて決定された平均化マスクとは重ならない。
なお、平均化マスクサイズ算出部４０４は、（１）の代わりに次の（２）式を評価式として用いてもよい。
σ＜Ｔｈ２  ・・・（２）
ここで、Ｔｈ２は、平均化マスク内における自然画像領域の画素の標準偏差である。
【００３１】
図５は、平均化マスクサイズ算出部４０４による平均化マスク算出処理（Ｓ２０）を示すフローチャートである。
図５に示すように、平均化マスクサイズ算出部４０４は、ステップ２００（Ｓ２００）において、ｎ＝２及びｍ＝２として、平均化マスクサイズを初期化する。
ステップ２０２（Ｓ２０２）において、平均化マスクサイズ算出部４０４は、現在の平均化マスク内における自然画像領域の画素の最大値と最小値とを求め、（１）式を計算して、最大値と最小値との差を算出する。
ステップ２０４（Ｓ２０４）において、平均化マスクサイズ算出部４０４は、算出値がしきい値Ｔｈ１より小さいか否か、すなわち、現在の平均化マスクが（１）式を満たすか否かを判定し、満たす場合には、Ｓ２０６の処理に進み、満たさない場合には、Ｓ２０８の処理に進む。
【００３２】
ステップ２０６（Ｓ２０６）において、平均化マスクサイズ算出部４０４は、ｎ及びｎを１ずつ増加し、Ｓ２０２の処理に戻る。つまり、平均化マスクは、走査方向と副走査方向とに向けて１画素分拡大される。
ステップ２０８（Ｓ２０８）において、平均化マスクサイズ算出部４０４は、ｎを１減少する。つまり、平均化マスクは、走査方向において１画素分縮小される。
ステップ２１０（Ｓ２１０）において、平均化マスクサイズ算出部４０４は、現在の平均化マスク内における自然画像領域の画素の最大値と最小値とを求め、（１）式を計算して、最大値と最小値との差を算出する。
ステップ２１２（Ｓ２１２）において、平均化マスクサイズ算出部４０４は、算出値がしきい値Ｔｈ１より小さいか否か、すなわち、現在の平均化マスクが（１）式を満たすか否かを判定し、満たす場合には、Ｓ２１４の処理に進み、満たさない場合には、Ｓ２２４の処理に進む。
【００３３】
ステップ２１４（Ｓ２１４）において、平均化マスクサイズ算出部４０４は、ｍを１増加する。つまり、平均化マスクは、副走査方向に向けて１画素分拡大される。
ステップ２１６（Ｓ２１６）において、平均化マスクサイズ算出部４０４は、現在の平均化マスク内において（１）式を計算する。
ステップ２１８（Ｓ２１８）において、平均化マスクサイズ算出部４０４は、算出値がしきい値Ｔｈ１より小さいか否か判定し、小さい場合にはＳ２２０の処理に進み、そうでない場合にはＳ２２２の処理に進む。
ステップ２２０（Ｓ２２０）において、平均化マスクサイズ算出部４０４は、さらにｍを１増加する。つまり、平均化マスクは、副走査方向に向けてさらに１画素分拡大される。
ステップ２２２（Ｓ２２２）において、平均化マスクサイズ算出部４０４は、ｍを１減少する。つまり、平均化マスクは、副走査方向において１画素分縮小される。
【００３４】
ステップ２２４（Ｓ２２４）において、平均化マスクサイズ算出部４０４は、ｍを１減少し、ｎを１増加する。つまり、平均化マスクは、副走査方向において１画素分縮小され、走査方向に向けて１画素分拡大される。
ステップ２２６（Ｓ２２６）において、平均化マスクサイズ算出部４０４は、現在の平均化マスク内において（１）式を計算する。
ステップ２２８（Ｓ２２８）において、平均化マスクサイズ算出部４０４は、算出値がしきい値Ｔｈ１より小さいか否か判定し、小さい場合にはＳ２３０の処理に進み、そうでない場合にはＳ２３２の処理に進む。
ステップ２３０（Ｓ２３０）において、平均化マスクサイズ算出部４０４は、さらにｎを１増加する。つまり、平均化マスクは、走査方向に向けてさらに１画素分拡大される。
ステップ２３２（Ｓ２３２）において、平均化マスクサイズ算出部４０４は、ｎを１減少する。つまり、平均化マスクは、走査方向において１画素分縮小される。
【００３５】
ステップ２３４（Ｓ２３４）において、平均化マスクサイズ算出部４０４は、ｎ及びｍを出力し、平均化マスクサイズを算出する。
このようにして、平均化マスクサイズ算出部４０４は、１つの平均化マスクを決定する。平均化マスクサイズ算出部４０４は、走査方向において、既知の平均化マスクに含まれない画素を決定し、この画素を基準にして同様にして次の平均化マスクサイズを算出する。
【００３６】
図６は、平均化マスク内平均処理部４０６による平均化マスク内平均処理（Ｓ３０）を示すフローチャートである。
図６に示すように、ステップ３００（Ｓ３００）において、平均化マスク内平均処理部４０６は、平均化マスクサイズ算出部４０４から入力された平均化マスクサイズに基づいて、この平均化マスク内において、画素属性判定部４０２により自然画像領域の画素と判定された画素の画素値の平均値を算出する。
ステップ３０２（Ｓ３０２）において、平均化マスク内平均処理部４０６は、平均化マスク内の画素が自然領域の画素か否かを判定する。平均化マスク内平均処理部４０６は、平均化マスク内の画素が自然領域の画素である場合にはＳ３０４の処理に進み、そうでない場合にはＳ３０６の処理に進む。
【００３７】
ステップ３０４（Ｓ３０４）において、平均化マスク内平均処理部４０６は、この画素の画素値を算出された平均値と変換して、この自然画像領域の画素に平均値を埋め込む。
ステップ３０６（Ｓ３０６）において、平均化マスク内平均処理部４０６は、平均化マスク内の全ての画素に対するこれらの処理を終了したか否かを判定する。平均化マスク内平均処理部４０６は、終了した場合には処理を終了し、そうでない場合にはＳ３０２の処理に戻る。
このようにして、平均化マスク内平均処理部４０６は、平均化マスク内の自然画像領域の画素の画素値だけに対して平均化処理を行う。
【００３８】
図７は、可逆圧縮部４１０の機能構成をより詳細に説明する図である。
図７に示すように、可逆圧縮部４１０は、第１予測部４３０ａ、第２予測部４３０ｂ、予測誤差算出部４３２、選択部４３４、ラン計数部４３６及び符号化部４３８を有する。なお、本実施形態では、２つの予測部４３０（第１予測部４３０ａ及び第２予測部４３０ｂ）が設けられた形態を具体例として説明するが、予測部４３０は１つ以上あればよく、例えば、５つの予測部４３０により構成されてもよい。
【００３９】
第１予測部４３０ａ及び第２予測部４３０ｂは、それぞれ所定の手法で画像データに基づいて注目画素の画素値を予測し、予測値として選択部４３４に対して出力する。例えば、第１予測部４３０ａ及び第２予測部４３０ｂは、互いに異なる位置にある画素の画素値を、注目画素の予測値とする。
【００４０】
予測誤差算出部４３２は、所定の手法で画像データに基づいて注目画素の画素値を予測し、その予測値を注目画素の実際の画素値から減算し、予測誤差値として選択部４３４に対して出力する。例えば、予測誤差算出部４３２は、第１予測部４３０ａと同じ位置の画素値を予測値とし、この予測値と注目画素の実際の画素値との差分を、予測誤差値として選択部４３４に対して出力する。
【００４１】
選択部４３４は、画像データと予測値から注目画素における予測の一致／不一致を検出する。選択部４３４は、その結果、予測が的中した予測部４３０があればその識別番号を、いずれも的中しなかった場合は予測誤差値を、ラン計数部４３６及び符号化部４３８に対して出力する。
【００４２】
ラン計数部４３６は、識別番号が第１予測部４３０ａを指している場合には、内部カウンタを１だけ増やす。また識別番号が第１予測部４３０ａ以外を指している場合で、かつ内部カウンタが０でない場合には、内部カウンタの値をランデータとして符号化部４３８に対して出力する。すなわち、本例のラン計数部４３６は、第１予測部４３０ａの予測が連続して一致した場合のみ、その連続数をランデータとしてカウントするが、これに限定されるものではなく、例えば、第２予測部４３０ｂの予測が連続して一致した場合にも、その連続数をランデータとしてカウントするように構成してもよい。
【００４３】
符号化部４３８は、ランデータ及び予測誤差値が同時に与えられた場合、まずランデータを符号化してから予測誤差値を符号化する。一方、符号化部４３８は、識別番号又は予測誤差値のみが与えられた場合には、識別番号又は予測誤差値を符号化する。
【００４４】
なお、上記ラン計数部４３６及び符号化部４３８による符号化処理は、第１予測部４３０ａの的中確率が高いことを想定した形態であるが、他の符号化方法を用いてもよい。例えば、高速復号等の目的から固定長符号を与えた場合、符号化部４３８は、第１予測部４３０ａが的中した旨を２進数「０１」、第２予測部４３０ｂが的中した旨を２進数「１０」、いずれの予測部も外れた旨を２進数「００」でそれぞれ符号化し、予測誤差を符号＋８ｂｉｔの２進数で符号化する。また、圧縮率を向上させたい場合には、符号化部４３８は、ハフマン符号化、算術符号化等の可変長符号化を用いて符号化してもよい。例えば、符号化部４３８は、発生確率の高そうな第１予測部４３０ａに１ビットの符号を与えたハフマン符号の場合、第１予測部４３０ａが的中した旨を２進数「０」、第２予測部４３０ｂが的中した旨を２進数「１０」、いずれの予測部４３０も予測が外れた旨を２進数「１１」で符号化する。また、符号化部４３８は、算術符号化を用いて符号化してもよい。このように符号化の手法はいくつも考えられる。
【００４５】
図８は、可逆圧縮部４１０による可逆圧縮処理（Ｓ４０）のフローチャートを示す図である。
図８に示すように、ステップ４００（Ｓ４００）において、可逆圧縮部４１０における第１予測部４３０ａ及び第２予測部４３０ｂは、画素選択部４０８から入力された画素値を予測する。また、予測誤差算出部４３２は、所定の予測部４３０による予測値と、実際の画素値との差分を算出し、予測誤差値として選択部４３４に対して出力する。
選択部４３４は、いずれの予測部４３０が的中したかを判断する。第１予測部４３０ａが的中した場合（Ｓ４０２：Ｙｅｓ）、選択部４３４は、第１予測部４３０ａの識別情報をラン計数部４３６に対して出力する（Ｓ４０６）。また、第２予測部４３０ｂが的中した場合（Ｓ４０２：Ｎｏ、かつ、Ｓ４０４：Ｙｅｓ）、選択部４３４は、第２予測部４３０ｂの識別情報をラン計数部４３６及び符号化部４３８に対して出力する（Ｓ４０６）。また、いずれの予測部４３０も的中しなかった場合（Ｓ４０２：Ｎｏ、かつ、Ｓ４０８：Ｎｏ）、選択部４３４は、予測誤差算出部４３２が算出した予測誤差値をラン計数部４３６及び符号化部４３８に対して出力する（Ｓ４０８）。
【００４６】
ステップ４１０（Ｓ４１０）において、符号化部４３８は、第１予測部４３０ａのラン情報、第２予測部４３０ｂの識別情報、又は予測誤差値を符号化して画像蓄積部４１２に対して出力する。
ステップ４１２（Ｓ４１２）において、可逆圧縮部４１０は、全ての画素に対して符号化処理が完了したか否かを判断し、全ての画素に対して処理が完了したと判断した場合に処理を完了し、これ以外の場合にＳ４００の処理に移行し、次の画素に対して上記と同様にＳ４００からＳ４１０までの処理を行う。
【００４７】
以下、画像符号化装置２の全体的な動作を説明する。
図９は、画像符号化装置２の第１の動作（画像処理プログラム４の動作；Ｓ５０）を示すフローチャートである。
図９に示すように、ステップ５００（Ｓ５００）において、利用者が、編集した画像データ（入力画像）の印刷を指示すると、ＰＤＬデコンポーザ４００は、画像編集のアプリケーションプログラムからＰＤＬファイルを受け取り、受け取ったＰＤＬファイルをラスタデータに変換し、所定の処理単位毎に画素属性判定部４０２、平均化マスクサイズ算出部４０４及び画素選択部４０８に対して順次出力する。処理単位は、例えば、画素、ライン、バンド又はページなどである。
【００４８】
ステップ５０２（Ｓ５０２）において、画素属性判定部４０２は、ＰＤＬデコンポーザ４００から順次入力される画像データ（ラスタデータ）に基づいて、それぞれの画素が自然画像領域の画素（すなわち、変換対象画素）であるかテキスト・グラフィクス領域の画素（すなわち、非変換対象画素）であるかを判定し、判定結果を平均化マスクサイズ算出部４０４、平均化マスク内平均処理部４０６及び画素選択部４０８に対して出力する。
【００４９】
ステップ５０４（Ｓ５０４）において、平均化マスクサイズ算出部４０４は、ＰＤＬデコンポーザ４００から入力されたラスタデータに対して、画素属性判定部４０２による判定結果に基づいて、平均化マスクサイズを算出して、平均化マスク内平均処理部４０６に対して出力する。
【００５０】
ステップ５０６（Ｓ５０６）において、平均化マスク内平均処理部４０６は、平均化マスクサイズ算出部４０４から入力された平均化マスクサイズに基づいて、この平均化マスク内において、画素属性判定部４０２により自然画像領域の画素と判定された画素の画素値の平均値を算出し、この平均値と自然画像領域の画素の画素値とを変換し、変換された後の画素値を画素選択部４０８に対して出力する。
画素選択部４０８は、画素属性判定部４０２による判定結果に基づいて、自然画像領域の画素であると判定された画素については、平均化マスク内平均処理部４０６から入力された画素値（すなわち、平均化処理を施された画像データ）を選択し、テキスト・グラフィクス領域の画素であると判定された画素については、ＰＤＬデコンポーザ４００から直接入力された画素値（すなわち、平均化処理を施されていない画像データ）を選択して、選択された画素値を可逆圧縮部４１０に対して出力する。
【００５１】
ステップ５０８（Ｓ５０８）において、可逆圧縮部４１０は、画素選択部４０８から入力されたラスタデータに対して可逆な符号化処理を施して、符号データを生成し、画像蓄積部４１２に対して出力する。
ステップ５１０（Ｓ５１０）において、画像蓄積部４１２は、可逆圧縮部４１０から入力された符号データを順次格納する。
【００５２】
ステップ５１２（Ｓ５１２）において、画像伸長部４１４は、プリンタ装置１０（図１）の印字速度に応じた量の符号データを画像蓄積部４１２から順に読み出して、読み出された符号データを伸長してラスタデータに変換し、画像出力部４１６に対して出力する。
ステップ５１４（Ｓ５１４）において、画像出力部４１６は、プリンタ装置１０のプリントエンジンを制御して、画像伸長部４１４から入力されたラスタデータに応じた画像を印刷させる。
【００５３】
このように、画像符号化装置２は、画素毎に属性を判定し、判定結果に応じて平均化処理を施し、適応的な実効解像度を削減して、画像データを符号化する。これにより、画像符号化装置２は、テキスト・グラフィクス領域の画素と判定された画素の近傍には、同一の画素値である画素を存在させ、自然画像領域の画素と判定された画素の近傍には、平均化処理により同一の画素値である画素を存在させることにより、画質劣化を抑えつつ高い圧縮率で画像データを符号化できる。
また、画像符号化装置２は、可逆の予測符号化処理を行うことにより、テキスト・グラフィクスを高い圧縮率で可逆符号化するので、大きい演算負荷を伴う処理を行うことなく、画像データを符号化できる。
【００５４】
［第２の実施形態］
次に、第２の実施形態について説明する。本実施形態における画像符号化装置２は、ＰＤＬファイルに含まれている属性データに基づいて、局所的な画像の属性を判定する。
【００５５】
［符号化プログラム］
図１０は、画像処理プログラム５の機能構成を説明する図である。図１０に示すように、画像処理プログラム５は、画像処理プログラム４（図２）から画素属性判定部４０２が削除された構成をとる。なお、図１０に示す各構成のうち、図２に示された構成と実質的に同一なものには同一の符号が付されている。
【００５６】
画像処理プログラム５において、ＰＤＬデコンポーザ４００は、他のアプリケーションソフト（画像編集ソフトなど）からＰＤＬファイルを取得し、ラスタライズして、平均化マスクサイズ算出部４０４及び画素選択部４０８に対して出力する。また、ＰＤＬデコンポーザ４００は、属性データ（タグ）を、平均化マスクサイズ算出部４０４、平均化マスク内平均処理部４０６及び画素選択部４０８に対して出力する。ここで、属性データとは、ＰＤＬファイルなどの画像データに含まれる部分画像の種類（テキスト、グラフィクス画像、自然画像など）などを示すデータであり、画像データに添付されるデータである。
【００５７】
平均化マスクサイズ算出部４０４は、取得された属性データを用いて、各画素の属性（自然画像領域の画素であるか、テキスト・グラフィクス領域の画素であるか）を判定し、この判定結果に基づいて平均化マスクサイズを算出する。
平均化マスク内平均処理部４０６及び画素選択部４０８もまた、取得された属性データを用いて、各画素の属性を判定し、平均化処理又は画素選択処理をそれぞれ行う。
【００５８】
図１１は、画像符号化装置２の第２の動作（画像処理プログラム５の動作；Ｓ６０）を示すフローチャートである。なお、図１１に示す各処理のうち、図９に示す処理と実質的に同一なものには同一の符号が付されている。
図１１に示すように、Ｓ５００において、利用者が、編集した画像データ（入力画像）の印刷を指示すると、ＰＤＬデコンポーザ４００は、画像編集のアプリケーションプログラムからＰＤＬファイルを受け取り、受け取ったＰＤＬファイルをラスタデータに変換し、画像データを平均化マスクサイズ算出部４０４及び画素選択部４０８に対して出力し、属性データを平均化マスクサイズ算出部４０４、平均化マスク内平均処理部４０６及び画素選択部４０８に対して順次出力する。
【００５９】
ステップ６００（Ｓ６００）において、平均化マスクサイズ算出部４０４は、ＰＤＬデコンポーザ４００から入力されたラスタデータに対して、属性データを用いた判定処理の結果に基づいて、平均化マスクサイズを算出して、平均化マスク内平均処理部４０６に対して出力する。
【００６０】
ステップ６０２（Ｓ６０２）において、平均化マスク内平均処理部４０６は、平均化マスクサイズ算出部４０４から入力された平均化マスクサイズに基づいて、この平均化マスク内において、属性データを用いた判定処理により自然画像領域の画素と判定された画素の画素値の平均値を算出し、この平均値と自然画像領域の画素の画素値とを変換し、変換された後の画素値を画素選択部４０８に対して出力する。
画素選択部４０８は、属性データを用いた判定処理の結果に基づいて、自然画像領域の画素であると判定された画素については、平均化マスク内平均処理部４０６から入力された画素値（すなわち、平均化処理を施された画像データ）を選択し、テキスト・グラフィクス領域の画素であると判定された画素については、ＰＤＬデコンポーザ４００から直接入力された画素値（すなわち、平均化処理を施されていない画像データ）を選択して、選択された画素値を可逆圧縮部４１０に対して出力する。
【００６１】
Ｓ５０８〜Ｓ５１４において、画像処理プログラム５は、選択された画素値に対して可逆な符号化処理を施して、符号データを生成し順次格納する。また、画像処理プログラム５は、蓄積された符号データを伸長して印刷する。
【００６２】
このように、画像処理プログラム５は、ＰＤＬデコンポーザ４００による描画処理（ラスタライズ）において生成される属性データに基づいて、各画素の属性を判定するため、属性判定処理の処理負荷を低減することができる。
【００６３】
［第３の実施形態］
次に、第３の実施形態について説明する。本実施形態における画像符号化装置２は、符号量を監視し、符号量が既定の上限値を超える場合に、平均化マスクサイズの算出に用いるしきい値を動的に変化させ、算出される平均化マスクサイズを制御して、符号量の制御を行う。
【００６４】
［符号化プログラム］
図１２は、画像処理プログラム６の機能構成を説明する図である。図１２に示すように、画像処理プログラム６は、画像処理プログラム４（図２）に対して符号量制御部６００を追加した構成をとる。なお、図１２に示す各構成のうち、図２に示された構成と実質的に同一なものには同一の符号が付されている。
【００６５】
画像処理プログラム６において、符号量制御部６００は、可逆圧縮部４１０から入力された符号データの符号量を監視し、符号量が既定の上限値よりも大きい場合には、符号量がこの上限値以下になるようなしきい値を平均化マスクサイズ算出部４０４に指定する。具体的には、符号量制御部６００は、符号データの符号量が既定の上限値を超える場合に、式（１）又は式（２）において現在使用されているしきい値よりも大きなしきい値を平均化マスクサイズ算出部４０４に指定して、算出される平均化マスクサイズが大きくなるように（すなわち、より低解像度になるように）制御する。
符号量制御部６００により新たなしきい値が指定された場合には、平均化マスクサイズ算出部４０４は、新たなしきい値を設定された式（１）又は式（２）を用いて、平均化マスクサイズを算出する。
【００６６】
図１３は、画像符号化装置２の第３の動作（画像処理プログラム６の動作；Ｓ７０）を示すフローチャートである。なお、図１３に示す各処理のうち、図９に示す処理と実質的に同一なものには同一の符号が付されている。
図１３に示すように、Ｓ５００〜Ｓ５０２において、利用者が、編集した画像データ（入力画像）の印刷を指示すると、ＰＤＬデコンポーザ４００は、画像編集のアプリケーションプログラムからＰＤＬファイルを受け取り、受け取ったＰＤＬファイルをラスタデータに変換し、画像データを画素属性判定部４０２、平均化マスクサイズ算出部４０４及び画素選択部４０８に対して出力する。また、画素属性判定部４０２は、画像データのそれぞれの画素が自然画像領域の画素であるかテキスト・グラフィクス領域の画素であるかを判定し、判定結果を平均化マスクサイズ算出部４０４、平均化マスク内平均処理部４０６及び画素選択部４０８に対して出力する。
【００６７】
ステップ７００（Ｓ７００）において、平均化マスクサイズ算出部４０４は、符号量制御部６００による指定に応じて、式（１）のしきい値Ｔｈ１を設定する。なお、符号量制御部６００は、予め、所望の圧縮率と、しきい値Ｔｈ１（初期値）とを互いに対応付けており、デフォルト値として圧縮率に対応したしきい値を平均化マスクサイズ算出部４０４に対して指定する。
Ｓ５０４〜Ｓ５１０において、画像処理プログラム６は、ＰＤＬデコンポーザ４００から入力されたラスタデータに対して、平均化マスク算出処理、平均化マスク内平均処理及び可逆圧縮処理を施し、符号データを生成し順次格納する。
【００６８】
ステップ７０２（Ｓ７０２）において、符号量制御部６００は、可逆圧縮部４１０から符号データを取得して、その符号量が既定の上限値以下であるか否かを判定する。符号量が上限値よりも大きいと判定された場合に、符号量制御部６００は直前に指定したしきい値よりも大きなしきい値を平均化マスクサイズ算出部４０４に指定し、画像処理プログラム６はＳ８００の処理に戻る。一方、符号量が基準値以下と判定された場合に、画像処理プログラム６は、Ｓ５１２の処理に移行する。画像処理プログラム６は、符号データを伸長して印刷する（Ｓ５１２，Ｓ５１４）。
【００６９】
このように、画像処理プログラム６は、符号量に応じて、平均化マスクサイズ算出処理において用いられるしきい値を変更することにより、圧縮率に応じた平均化マスクサイズ算出処理及び平均化マスク内平均処理を行い、符号量を制御することができる。
【図面の簡単な説明】
【００７０】
【図１】本発明にかかる画像符号化装置２のハードウェア構成を例示する図である。
【図２】画像処理プログラム４の機能構成を説明する図である。
【図３】画素属性判定部４０２による画素属性判定処理（Ｓ１０）をより詳細に説明するフローチャートである。
【図４】平均化マスクサイズ算出部４０４による平均化マスク算出処理を説明する図である。
【図５】平均化マスクサイズ算出部４０４による平均化マスク算出処理（Ｓ２０）を示すフローチャートである。
【図６】平均化マスク内平均処理部４０６による平均化マスク内平均処理（Ｓ３０）を示すフローチャートである。
【図７】可逆圧縮部４１０の機能構成をより詳細に説明する図である。
【図８】可逆圧縮部４１０による可逆圧縮処理（Ｓ４０）のフローチャートを示す図である。
【図９】画像符号化装置２の第１の動作（画像処理プログラム４の動作；Ｓ５０）を示すフローチャートである。
【図１０】画像処理プログラム５の機能構成を説明する図である。
【図１１】画像符号化装置２の第２の動作（画像処理プログラム５の動作；Ｓ６０）を示すフローチャートである。
【図１２】画像処理プログラム６の機能構成を説明する図である。
【図１３】画像符号化装置２の第３の動作（画像処理プログラム６の動作；Ｓ７０）を示すフローチャートである。
【符号の説明】
【００７１】
２・・・画像符号化装置
１０・・・プリンタ装置
２０・・・制御装置
２０２・・・ＣＰＵ
２０４・・・メモリ
２２・・・通信装置
２４・・・記憶装置
２４０・・・記録媒体
４・・・第１の画像処理プログラム 
４００・・・ＰＤＬデコンポーザ
４０２・・・画素属性判定部
４０４・・・平均化マスクサイズ算出部
４０６・・・平均化マスク内平均処理部
４０８・・・画素選択部
４１０・・・可逆圧縮部
４１２・・・画像蓄積部
４１４・・・画像伸長部
４１６・・・画像出力部
５・・・第２の画像処理プログラム
６・・・第３の画像処理プログラム
６００・・・符号量制御部
【図１】
2006254189.tif 000003
【図２】
2006254189.tif 000004
【図３】
2006254189.tif 000005
【図４】
2006254189.tif 000006
【図５】
2006254189.tif 000007
【図６】
2006254189.tif 000008
【図７】
2006254189.tif 000009
【図８】
2006254189.tif 000010
【図９】
2006254189.tif 000011
【図１０】
2006254189.tif 000012
【図１１】
2006254189.tif 000013
【図１２】
2006254189.tif 000014
【図１３】
2006254189.tif 000015