JP3960086B2 - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP3960086B2 JP3960086B2 JP2002064988A JP2002064988A JP3960086B2 JP 3960086 B2 JP3960086 B2 JP 3960086B2 JP 2002064988 A JP2002064988 A JP 2002064988A JP 2002064988 A JP2002064988 A JP 2002064988A JP 3960086 B2 JP3960086 B2 JP 3960086B2
- Authority
- JP
- Japan
- Prior art keywords
- pattern
- pixel
- compression
- repetitive pattern
- repetitive
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【発明の属する技術分野】
本発明は、繰り返しパターンによる図形や文字などの塗りつぶし描画処理を行う画像処理装置及び画像処理方法に関する。
【0002】
【従来の技術】
従来、オペレーティングシステム上で起動して図形処理などを行うアプリケーションプログラムにおいては、ある領域を囲む円,多角形等の図形や文字などの塗りつぶしに、パターンと呼ばれる繰り返し描画単位によって模様形式を選択する機能がある。このパターンの一形式として、ドットで構成されたビットマップ形式のデータを用いることができる。
【0003】
また従来では、画像データを圧縮してデータ量を減らすことにより、ハードディスク等のメモリ容量を節減する技術が広く知られている。その一つとして、例えば、特開平9−224253号公報においては、処理画像の注目画素に対して当該注目画素に隣り合う比較画素(以下、隣接画素という)との関連性に着目することにより、圧縮率の高い圧縮処理(符号化)を行う技術が提案されている。
【0004】
【発明が解決しようとする課題】
しかしながら上記特開平9−224253号公報に記載の技術では、特定の繰返しパターンにより図形の塗りつぶしを行った後に上記圧縮処理を行った場合、画像の圧縮率が極端に低下するケースがあり得る。具体的には、繰り返しパターンで塗りつぶし描画を行ったときに、互いに隣り合う位置関係にある画素の値が一致しないケースや一致する画素の数(組)が少ないケースがこれに該当する。
【0005】
これを解決する一つの案として、例えば特開2000−222152号公報には、繰り返しパターンを変倍する描画処理を施すことにより、結果として塗りつぶし後の画像の圧縮率を高める技術が提案されている。ところが、繰り返しパターンを変倍(拡大)したときに得られる圧縮率の改善効果はそれほど顕著なものでななく、また繰り返しパターンを拡大することで画像品質が低下することも懸念される。
【0006】
本発明は、上記課題を解決するためになされたもので、その目的とするところは、繰り返しパターンによる塗りつぶし描画が指示された画像データを、画像品質の低下を極力抑えつつ、高い圧縮率で圧縮処理することが可能な画像処理装置及び画像処理方法を提供することにある。
【0007】
【課題を解決するための手段】
本発明に係る画像処理装置は、第1の繰り返しパターンによる塗りつぶし描画の指示を含む画像データの描画命令を受け取って、第1の繰り返しパターンを当該第1の繰り返しパターンよりも圧縮率の高い第2の繰り返しパターンに変更するパターン変更手段と、このパターン変更手段で変更した第2の繰り返しパターンにしたがって画像データの塗りつぶし描画処理を行う塗りつぶし描画手段と、この塗りつぶし描画手段で塗りつぶし描画処理した画像データを圧縮処理する圧縮手段とを備えた構成を採用している。
【0008】
上記構成からなる画像処理装置においては、塗りつぶし描画処理を行うのに先立って、塗りつぶし描画に適用される繰り返しパターンをパターン変更手段によって第1の繰り返しパターンからそれよりも圧縮率の高い第2の繰り返しパターンに変更し、この変更後の第2の繰り返しパターンにしたがって塗りつぶし描画手段により塗りつぶし描画処理を行った後、その描画処理した画像データを圧縮手段で圧縮処理することにより、高い圧縮率をもって画像データを圧縮することが可能となる。
【0009】
また、パターン変更手段による繰り返しパターンの変更に先立って、第1の繰り返しパターンを第2の繰り返しパターンに変更した場合の圧縮効果を予測し、この予測結果から繰り返しパターンを変更するか否かを判断する判断手段を備え、この判断手段で繰り返しパターンを変更すると判断した場合のみパターン変更手段で繰り返しパターンの変更を行うことにより、十分な圧縮効果(圧縮率の向上)が得られる場合のみパターン変更部を有効に機能させることができる。これにより、パターン変更によるトータル的な処理効率の低下や繰り返しパターンの変更による無用な画像品質の低下を回避することが可能となる。
【0010】
また、パターン変更手段において、第1の繰り返しパターンを構成する画素ブロック内で所定の条件で抽出した複数の画素の値を強制的に一致させる強制一致処理により、繰り返しパターンの変更を行うことにより、繰り返しパターンの視覚特性を良好に維持しつつパターン変更を行えるため、画像品質の低下を最小限に抑えることが可能となる。
【0011】
本発明に係る画像処理方法は、第1の繰り返しパターンによる塗りつぶし描画の指示を含む画像データの描画命令を受け取って、第1の繰り返しパターンを当該第1の繰り返しパターンよりも圧縮率の高い第2の繰り返しパターンに変更するパターン変更工程と、このパターン変更工程で変更した第2の繰り返しパターンにしたがって画像データの塗りつぶし描画処理を行う塗りつぶし描画工程と、この塗りつぶし描画工程で塗りつぶし描画処理した画像データを圧縮処理する圧縮行程とを含むものである。
【0012】
上記の各工程を含む画像処理方法においては、塗りつぶし描画処理を行うのに先立って、塗りつぶし描画に適用される繰り返しパターンを第1の繰り返しパターンからそれよりも圧縮率の高い第2の繰り返しパターンに変更し、この変更後の第2の繰り返しパターンにしたがって塗りつぶし描画処理を行った後、その描画処理した画像データを圧縮処理することにより、高い圧縮率をもって画像データを圧縮することが可能となる。
【0013】
【発明の実施の形態】
以下、本発明に係る画像処理装置の構成を、例えば、プリンタドライバを備えたホストコンピュータに適用した場合の具体的な実施の形態について図面を参照しつつ詳細に説明する。
【0014】
図1は本発明の実施形態に係るホストコンピュータの基本的な構成例を示す画素ブロック図である。図1において、ホストコンピュータ1は、アプリケーションプログラム2、オペレーティングシステム3、プリンタドライバ4及びホストインターフェース5を備えて構成されている。また、ホストコンピュータ1には、通信ケーブルや通信ネットワーク等の伝送路を介してプリンタ(印刷装置)6が接続されている。
【0015】
アプリケーションプログラム2は、自身で生成又は取得した図形など画像データの描画をオペレーティングシステム3に命令する機能をもつ。オペレーティングシステム3は、アプリケーションプログラム3から受けた描画命令をプリンタドライバ4に送る機能をもつ。プリンタドライバ4は、オペレーティングシステム4から受け取った描画命令(DDI;Device Driver Interface)をプリンタ2で解釈可能な描画命令(PDL;Page Description Language)に変換し、この変換した描画命令の伝送をホストインターフェース5に依頼する機能をもつ。ホストインターフェース5は、プリンタドライバ4からの依頼にしたがって描画命令(PDL)を伝走路を通してプリンタ6に送信する機能をもつ。プリンタ6は、ホストコンピュータ1から伝走路を介して受信した描画命令(PDL)を解釈し、この描画命令(PDL)にしたがって印刷用紙に可視画像を印刷出力する機能をもつ。
【0016】
図2はプリンタドライバ4の機能構成を示す画素ブロック図である。図示のようにプリンタドライバ4は、判断部7と、演算部8と、パターン変更部9と、メモリ10と、塗りつぶし描画部11と、ページバッファ12と、圧縮部13とを備えた構成となっている。
【0017】
プリンタドライバ4にはオペレーティングシステム3から描画命令14が入力される一方、この描画命令に基づく画像処理によってプリンタドライバ4から圧縮画像データ15が生成される。本実施形態においては、第1の繰り返しパターンによる塗りつぶし描画の指示を含む画像データの描画命令14がプリンタドライバ4に入力されるものとする。第1の繰り返しパターンとは、アプリケーションプログラム2などで作成された画像内で図形や文字などの塗りつぶしに使用されたオリジナルの繰り返しパターン(以下、オリジナルパターンとも記す)をいう。
【0018】
パターン変更部9は、オペレーティングシステム3から入力される描画命令14を受け取って、上述した第1の繰り返しパターンを当該第1の繰り返しパターンよりも圧縮率の高い第2の繰り返しパターンに変更するものである。具体的なパターン変更処理の詳細については後段で説明する。判断部7は、パターン変更部9による繰り返しパターンの変更に先立って、第1の繰り返しパターンを第2の繰り返しパターンに変更した場合の圧縮効果を予測し、この予測結果から繰り返しパターンを変更するか否かを判断するものである。この判断部7では、後述するように塗りつぶり描画を行う描画面積や圧縮率の算出結果から、パターン変更によって得られる圧縮効果の大きさを予測する。
【0019】
演算部8は、描画命令14で指示された塗りつぶし描画の描画面積を算出する第1の演算機能と、第1の繰り返しパターンを適用して画像データを圧縮したときの圧縮前のデータ量と圧縮後のデータ量との比率により、第1の繰り返しパターンを構成する1画素ブロックあたりの圧縮率を算出する第2の演算機能とを備えるものである。この演算部8で算出される描画面積や圧縮率は判断部7に与えられ、判断部7で繰り返しパターンの変更可否を判断する際に用いられる。
【0020】
メモリ10は、プリンタドライバ4内での処理に際してデータの一時的な記憶場所として用いられるもので、上述したパターン変更部9で変更された繰り返しパターン、即ち第2の繰り返しパターンの情報もこのメモリ10に記憶される。
【0021】
塗りつぶし描画部11は、描画命令14で指示された第1の繰り返しパターン又はパターン変更部9で変更された第2の繰り返しパターンにしたがって画像データの塗りつぶし描画処理を行うものである。この塗りつぶし描画部11において、パターン変更部9で変更された第2の繰り返しパターンによる塗りつぶし描画処理を行う場合は、メモリ10に記憶された繰り返しパターンの情報(変更後のパターン情報)が用いられる。ページバッファ12は、塗りつぶし描画部11で塗りつぶし描画処理される1ページ分の画像データを蓄積するものである。圧縮部13は、ページバッファ12に蓄積された画像データを圧縮処理するものである。
【0022】
図3はプリンタドライバ4によって実行される処理手順を示すフローチャートである。先ず、オペレーティングシステム(OS)3から送られた描画命令14を判断部7で受け取る(ステップS1)。次に、判断部7で受け取った描画命令にしたがって演算部8が塗りつぶし描画の描画面積を算出し、その算出結果を判断部7に通知する(ステップS2)。このとき、演算部8では、描画命令14で指示された塗りつぶし描画の指示にしたがって1ページ分の画像データを描画したときに、塗りつぶし描画が行われる描画面積が1ページ内でどの程度の割合(面積比)になるかを算出する。
【0023】
次いで、判断部7では、演算部7からの算出結果にしたがって塗りつぶし描画の描画面積が予め設定された規定の面積条件(図例では描画面積が1ページの10%以上)を満たすか否かを判断する(ステップS3)。
【0024】
ここで、規定の面積条件を満たしていないと判断した場合は、パターン変更による圧縮効果が小さいとの判断予測から、後述するステップS7に移行する。ちなみに、1ページ内での塗りつぶし描画面積が狭い場合は、パターン変更部9で繰り返しパターンを変更しても、十分な圧縮効果が期待できない。そうした場合は、パターン変更無しで塗りつぶし描画を行って圧縮処理した方が効率的に処理することができ、しかもパターン変更による無用な画像品質の低下も回避することができるため、より好ましいものとなる。
【0025】
これに対して、規定の面積条件を満たしていると判断部7が判断した場合は、演算部8で第1の繰り返しパターンを用いた圧縮率の算出処理(詳細は後述)を行い、その算出結果を判断部7に通知する(ステップS4)。次に、判断部7では、演算部7からの算出結果にしたがって圧縮率が予め設定された規定の圧縮条件(図例では1画素ブロックあたりの圧縮率が8以下)を満たすか否かを判断する(ステップS5)。
【0026】
ここで、規定の圧縮率条件を満たしていないと判断した場合は、パターン変更による圧縮効果が小さいとの判断予測から、後述するステップS7に移行する。ちなみに、1画素ブロックあたりの圧縮率が高い場合は、パターン変更部9で繰り返しパターンを変更しても、十分な圧縮効果が期待できない。そうした場合は、パターン変更無しで塗りつぶし描画を行って圧縮処理した方が効率的に処理することができ、しかもパターン変更による無用な画像品質の低下も回避することができるため、より好ましいものとなる。
【0027】
これに対して、規定の圧縮率条件を満たしていると判断部7が判断した場合は、パターン変更部9で繰り返しパターンの変更処理(詳細は後述)を行う(ステップS6)。このとき、パターン変更部9で変更された繰り返しパターン(第2の繰り返しパターン)はメモリ10に記憶される。次いで、塗りつぶし描画部11がページバッファ12に対して1ページ分の画像データの塗りつぶし描画処理を行う(ステップS7)。その後、圧縮部13は、ページバッファ12に蓄積された画像データに圧縮処理を行う(ステップS8)。これにより、プリンタドライバ4内で圧縮画像データ15が生成されるため、この圧縮画像データをプリンタドライバ4がホストインターフェース5に出力する(ステップS9)。以上で描画命令14に対するプリンタドライバ4内での処理が終了となる。
【0028】
図4は圧縮率算出処理の処理手順を示すフローチャートである。ここでは、描画命令14で塗りつぶし描画に指示された第1の繰り返しパターンが、例えば図5に示すように4つ(2×2)の画素からなる画素ブロックで構成され、この画素ブロック内で左上の画素の値が128(灰色)、右上の画素の値が0(白)、左下の画素の値が0(白)、右下の画素の値が255(黒)となっているものとする。
【0029】
そうした場合、先ず、図6に示すように、一時メモリに6つ(3×2)の画素ブロックB1〜B6に区分した第1の繰り返しパターンを互いに隣接させて展開する(ステップS11)。この場合、一つの画素ブロックが一つの繰り返し描画単位(第1の繰り返しパターン)となるため、各々の画素ブロックB1〜B6においては、上述したように4つの画素の値(画素値)とその配置関係が全ての共通のものとなる。また、各々の画素ブロックB1〜B6においては、左上の画素ブロックB1内で左上に配置された画素の位置を座標原点(0,0)として各々の画素位置を特定している。
【0030】
こうした画素ブロックの展開を終えたら、中央下に位置する画素ブロックB5に対して圧縮処理を行った場合のデータ量を求める(ステップS12)。この場合は、画素ブロックB5内の4つの画素(2,2)(3,2)(2,3)(3,3)を順次注目画素として、この注目画素に隣り合う周囲8方向(左、左上、上、右上、右、右下、下、左下)の隣接画素との画素値を順に比較し、この比較結果に基づいて圧縮処理を行う場合を想定している。
【0031】
具体的には、図6に示す画素ブロックB5において、最初に注目画素となる左上の画素(2,2)は、その周囲に画素値の等しい隣接画素が存在しないため、圧縮前のデータ(画素値;128)がそのまま圧縮後のデータとして採用される。これに対して、次に注目画素となる右上の画素(3,2)は、その左上に画素値の等しい隣接画素(2,1)が存在するため、圧縮前のデータ(画素値;0)が圧縮後には「左上と同じ画素値」という簡易(抽象的)なデータに変換される。同様に、次に注目画素となる左下の画素(2,3)は、その左上に画素値の等しい隣接画素(1,2)が存在するため、圧縮前のデータ(画素値;0)が圧縮後は簡易なデータに変換される。最後に注目画素となる右下の画素(3,3)は、その周囲に画素値の等しい隣接画素が存在しないため、圧縮前のデータ(画素値;255)がそのまま圧縮後のデータとして採用される。これにより、圧縮処理を行った場合のデータ量を、画素値としてのデータ個数として捉えると、圧縮前のデータ量が4個で、圧縮後のデータ量が2個となる。
【0032】
こうして圧縮前後のデータ量を求めたら、圧縮前のデータ量を圧縮後のデータ量で除算する、いわゆる比率計算により、1画素ブロックあたりの圧縮率を算出する。上記図6及び図7に示した例では、圧縮前のデータ量が4個で圧縮後のデータ量が2個となるため、圧縮前のデータ量を圧縮後のデータ量で除算した値は「2」となる。したがって、1画素ブロックあたりの圧縮率は「2」と求まる。なお、ここでは説明の便宜上、4つ(2×2)の画素からなる画素ブロック(繰り返しパターン)を例示しているため、計算上、圧縮率の算出結果が「8」を超えることはないが、実際の処理では数千個(例えば、64×64)の画素によって一つの繰り返しパターンが構成されるため、圧縮率の算出結果が「8」を超えることは頻繁にあり得る。
【0033】
図8は繰り返しパターン変更処理の処理手順を示すフローチャートである。先ず、一時メモリに第1の繰り返しパターンを構成する画素ブロックを展開する(ステップS21)。この場合、第1の繰り返しパターン(オリジナルパターン)は、図9(A)に示すように、4つ(2×2)の画素からなる画素ブロックで構成され、この画素ブロック内で左上の画素の値が128(灰色)、右上の画素の値が0(白)、左下の画素の値が0(白)、右下の画素の値が255(黒)となっているものとする。
【0034】
次に、上述のように展開した画素ブロック(第1の繰り返しパターン)のなかで、左上の座標位置に配置された画素を注目画素に設定する(ステップS22)。図9(A)に示す画素ブロックでいえば、画素値が128(灰)の画素が最初に注目画素に設定される。次いで、現在設定されている注目画素の画素値とこの注目画素に隣り合う隣接画素の画素値を順に比較しつつ、注目画素の画素値と強制一致可能な画素値をもつ隣接画素が存在するか否かを判断する(ステップS23)。
【0035】
ここで、強制一致可能かどうかの判断手法としては、例えば、注目画素の画素値をαとし、この注目画素と比較される隣接画素の画素値をβとしたときに、それらの差分(α−β)の絶対値と予め設定された閾値とを比較し、この比較結果において差分の絶対値が閾値以下であるときは強制一致可能とし、差分の絶対値が閾値を超えるときは強制一致不可とするなどの判断手法を採用することができる。また、かかる判断手法を採用した場合の閾値の設定に関しては、予め実験的に閾値を種々変化させて実際に塗りつぶし描画処理を行ったときの画像と元々のオリジナルの画像とを視覚的に比較し、この比較結果において良好な視覚特性を維持できる条件で適宜設定することが望ましい。
【0036】
続いて、上記ステップS23において、注目画素の画素値と強制一致可能な画素値をもつ隣接画素が存在しないと判断した場合は、変更後のパターン情報として、注目画素と同じ座標位置にオリジナルパターンと同じ値を代入する(ステップS24)。例えば、図9(A)に示す画素ブロックにおいて、右上の画素を注目画素とし、この注目画素に強制一致可能な隣接画素が存在しなかった場合は、変更後のパターン情報として、右上の座標位置に対応する画素の値にオリジナルパターンと同じ画素値0(白)を代入することになる。
【0037】
これに対して、注目画素の画素値と強制一致可能な画素値をもつ隣接画素が存在すると判断した場合は、注目画素の画素値とこれに強制一致可能な隣接画素の画素値を平均化して、その平均値を求める(ステップS25)。ここでの平均化は、注目画素の画素値とこれに強制一致可能と判断した隣接画素の画素値とを加算し、この加算値を「2」で除算することにより行われる。続いて、変更後のパターン情報として、先のステップS23で強制一致可能と判断した注目画素の座標位置と隣接画素の座標位置に、先のステップS24で求めた平均値をそれぞれ代入する(ステップS26)。これにより、オリジナルの繰り返しパターンにおいて、強制一致可能と判断した2つの画素の値が強制的に同じ値となるように変換される。
【0038】
具体的には、例えば、図9(A)に示す繰り返しパターンにおいて、左上の画素を注目画素とし、この注目画素と強制一致可能な隣接画素が右下の画素であったとすると、注目画素の画素値が128で、これに強制一致可能な隣接画素の画素値が255となるため、その平均化によって得られる平均値は192となる。このため、変更後のパターン情報としては、図9(B)に示すように、強制一致可能と判断した左上の座標位置の画素値と右下の座標位置の画素値が共に192に変換される。
【0039】
その後、注目画素の位置を次の位置にずらして設定した後(ステップS27)、繰り返しパターン内の全ての画素について処理が終了したか否かを判断する(ステップS28)。そして、未処理の画素が残っている場合は上記ステップS23に戻って上記同様の処理を行い、全ての画素について処理が終了したら、一連のパターン変更処理を終了する。
【0040】
ちなみに、注目画素の位置をどのような順序でずらしていくかの順序立てに関しては、繰り返しパターンを構成する画素ブロック内で左上の座標位置を起点に右方向(行方向)に一つずつ注目画素の位置をずらしていき、最初の行の右端までずらし終えたら、次の行(又は一つ飛ばして次の行)の左端から再び右方向に一つずつ注目画素の位置をずらすといった順序を採用すればよい。
【0041】
また、ステップS26でのデータ変換により、一度データ変換が行われた画素に関しては、その後の処理で注目画素に設定したり、注目画素と比較される隣接画素に設定したりしないものとする。この理由は、一度データ変換を行った画素を、その後の処理で注目画素又は隣接画素に設定すると、同じ画素の値を複数回にわたってデータ変換する場合が想定され、そうした場合にオリジナルパターンでの画素値とかけ離れた画素値にデータ変換されてしまって、オリジナルパターンとの視覚特性を良好に維持できなく恐れがあるためである。ただし、オリジナルパターンでの画素値を考慮しつつ、データ変換を行う場合(例えば、オリジナルパターンでの画素値とデータ変換後の画素値との間に一定の取り決めを設定した場合など)においては、この限りではない。
【0042】
以上のパターン変更処理により変更された繰り返しパターンは、第2の繰り返しパターンとしてメモリ10に記憶される。これにより、塗りつぶし描画部11で第2の繰り返しパターンにしたがって画像データの塗りつぶし描画処理を行った場合は、図10に示すように、左上の画素の値が192(灰)、右上の画素の値が0(白)、左下の画素の値が白(0)、右下の画素の値が192(灰)の配列で構成された2×2の画素ブロックからなる繰り返しパターンが適用され、この繰り返しパターンによって円図形の塗りつぶし描画が行われる。
【0043】
その結果、圧縮部13での圧縮処理において、図11に示すように、6つの画素ブロックB11〜B16のうち、一つ(中央下)の画素ブロックB15に対して、隣接画素との関連性に着目した圧縮処理を行った場合、即ち、画素ブロックB15内の4つの画素(2,2)(3,2)(2,3)(3,3)を順次注目画素として、この注目画素に隣り合う周囲8方向の隣接画素との画素値を順に比較し、この比較結果に基づいて圧縮処理を行った場合は、圧縮前と圧縮後で図12に示すようにデータ変換される。
【0044】
先ず、最初に注目画素となる左上の画素(2,2)は、その左上に画素値の等しい隣接画素(1,1)が存在するため、圧縮前のデータ(画素値;192)が圧縮後は「左上と同じ画素値」という簡易(抽象的)なデータに変換される。また、次に注目画素となる右上の画素(3,2)は、その左上に画素値の等しい隣接画素(2,1)が存在するため、圧縮前のデータ(画素値;0)が圧縮後には「左上と同じ画素値」という簡易なデータに変換される。また、次に注目画素となる左下の画素(2,3)は、その左上に画素値の等しい隣接画素(1,2)が存在するため、圧縮前のデータ(画素値;0)が圧縮後は「左上と同じ画素値」という簡易なデータに変換される。最後に注目画素となる右下の画素(3,3)は、その左上に画素値の等しい画素(2,2)が存在するため、圧縮前のデータ(画素値;192)が圧縮後は「左上と同じ画素値」という簡易なデータに変換される。
【0045】
これにより、繰り返しパターンを構成する画素ブロック内の全ての画素の値(データ)がいずれも簡易なデータに変換される。即ち、上記図11に示す第2の繰り返しパターンで図形等の塗りつぶし描画処理を行った画像データを圧縮処理した場合、繰り返しパターンにおける各画素の値を8ビットのデジタル信号で表すものとすると、圧縮前のデータ量は8ビットのデジタル信号が4つ必要になるが、圧縮後のデータ量としてはそれよりも格段に簡略化された少ないデータ量で同じ繰り返しパターンを表すことができる。そのため、画像品質を良好に維持しつつ、きわめて高い圧縮率をもって画像データを圧縮することが可能となる。
【0046】
【発明の効果】
以上説明したように本発明によれば、図形や文字などの塗りつぶしに使用するの繰り返しパターンを、視覚特性を維持しながら圧縮率の高いパターンに変更することにより、画像品質の低下を最小限に抑えつつ、簡易な方法で画像データの圧縮率を向上させることが可能となる。
【図面の簡単な説明】
【図1】 本発明の実施形態に係るホストコンピュータの基本的な構成例を示すブロック図である。
【図2】 プリンタドライバの機能構成を示すブロック図である。
【図3】 プリンタドライバによって実行される処理手順を示すフローチャートである。
【図4】 圧縮率算出処理の処理手順を示すフローチャートである。
【図5】 描画命令で塗りつぶし描画に指示された第1の繰り返しパターンの一例を示す図である。
【図6】 圧縮率の算出処理に際してメモリに展開された画素ブロックの配置例を示す図である。
【図7】 圧縮率の算出処理に際して圧縮前のデータ量と圧縮後のデータ量を比較した図である。
【図8】 繰り返しパターン変更処理の処理手順を示すフローチャートである。
【図9】 繰り返しパターン変更処理によるパターン変更例を示す図である。
【図10】 変更後の繰り返しパターンによって塗りつぶし描画を行った場合の画像を示す図である。
【図11】 変更後の繰り返しパターンで描画処理した画像データを圧縮部で圧縮処理する際の圧縮方式を説明するための図である。
【図12】 圧縮部で画像データを圧縮処理した場合の圧縮前のデータ量と圧縮後のデータ量を比較する図である。
【符号の説明】
1…ホストコンピュータ、2…アプリケーションプログラム、3…オペレーティングシステム、4…プリンタドライバ、5…ホストインターフェース、6…プリンタ、7…判断部、8…演算部、9…パターン変更部、10…メモリ、11…塗りつぶし描画部、12…ページバッファ、13…圧縮部
Claims (7)
- 第1の繰り返しパターンによる塗りつぶし描画の指示を含む画像データの描画命令を受け取って、前記第1の繰り返しパターンを当該第1の繰り返しパターンよりも圧縮率の高い第2の繰り返しパターンに変更するパターン変更手段と、
前記パターン変更手段で変更した前記第2の繰り返しパターンにしたがって画像データの塗りつぶし描画処理を行う塗りつぶし描画手段と、
前記塗りつぶし描画手段で塗りつぶし描画処理した画像データを圧縮処理する圧縮手段と
を備えることを特徴とする画像処理装置。 - 前記パターン変更手段による繰り返しパターンの変更に先立って、前記第1の繰り返しパターンを変更せずに処理した場合の圧縮率の良否を予測し、この予測結果から繰り返しパターンを変更するか否かを判断する判断手段を備え、
前記パターン変更部は、前記判断手段で前記繰り返しパターンを変更すると判断した場合のみ前記繰り返しパターンの変更を行う
ことを特徴とする請求項1記載の画像処理装置。 - 前記パターン変更手段は、前記第1の繰り返しパターンを構成する画素ブロック内で所定の条件で抽出した複数の画素の値を強制的に一致させる強制一致処理により、前記繰り返しパターンの変更を行う
ことを特徴とする請求項1記載の画像処理装置。 - 前記描画命令で指示された塗りつぶし描画の描画面積を算出する第1の算出手段を備え、
前記判断手段は、前記第1の算出手段で算出した描画面積が規定の面積条件を満たすか否かによって前記繰り返しパターンの変更可否を判断する
ことを特徴とする請求項2記載の画像処理装置。 - 前記第1の繰り返しパターンを適用して画像データを圧縮したときの圧縮前のデータ量と圧縮後のデータ量との比率により、前記第1の繰り返しパターンを構成する1画素ブロックあたりの圧縮率を算出する第2の算出手段を備え、
前記判断手段は、前記第2の算出手段で算出した圧縮率が規定の圧縮率条件を満たすか否かによって前記繰り返しパターンの変更可否を判断する
ことを特徴とする請求項2又は4記載の画像処理装置。 - 前記パターン変更手段は、前記第1の繰り返しパターンを構成する画素ブロック内で互いに隣り合う2つの画素の値を比較し、この比較結果において前記2つの画素の値が予め設定された閾値以下のときに、当該2つの画素の値を平均化した平均値をもって前記強制一致処理を行う
ことを特徴とする請求項3記載の画像処理装置。 - 第1の繰り返しパターンによる塗りつぶし描画の指示を含む画像データの描画命令を受け取って、前記第1の繰り返しパターンを当該第1の繰り返しパターンよりも圧縮率の高い第2の繰り返しパターンに変更するパターン変更工程と、
前記パターン変更工程で変更した前記第2の繰り返しパターンにしたがって画像データの塗りつぶし描画処理を行う塗りつぶし描画工程と、
前記塗りつぶし描画工程で塗りつぶし描画処理した画像データを圧縮処理する圧縮行程と
を含むことを特徴とする画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002064988A JP3960086B2 (ja) | 2002-03-11 | 2002-03-11 | 画像処理装置及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002064988A JP3960086B2 (ja) | 2002-03-11 | 2002-03-11 | 画像処理装置及び画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003263646A JP2003263646A (ja) | 2003-09-19 |
JP3960086B2 true JP3960086B2 (ja) | 2007-08-15 |
Family
ID=29197513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002064988A Expired - Fee Related JP3960086B2 (ja) | 2002-03-11 | 2002-03-11 | 画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3960086B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6330790B2 (ja) * | 2015-11-19 | 2018-05-30 | コニカミノルタ株式会社 | 印刷制御システム、印刷制御装置およびプログラム |
-
2002
- 2002-03-11 JP JP2002064988A patent/JP3960086B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003263646A (ja) | 2003-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7912300B2 (en) | Image processing apparatus and control method therefor | |
JP4366408B2 (ja) | グラフィック画像の圧縮システムおよび方法 | |
US8553301B2 (en) | Image processing apparatus, method, and program product to perform color-reduction processing for a block | |
US8452083B2 (en) | Image processing apparatus, image processing method, and computer-readable medium | |
US20060067583A1 (en) | Image compression apparatus, and image compression program storage medium | |
US20060098883A1 (en) | Image compression/decompression system employing pixel thinning-out and interpolation scheme | |
US8396308B2 (en) | Image coding based on interpolation information | |
JP6184115B2 (ja) | 画像処理方法及び画像処理装置 | |
EP2302896A2 (en) | Data processing apparatus and data processing method for compressing image data | |
JP3960086B2 (ja) | 画像処理装置及び画像処理方法 | |
JP3720432B2 (ja) | 画像処理装置およびその方法 | |
JP2015122619A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US20060132818A1 (en) | Computer readable medium recording a driver program and image forming device | |
US7359071B2 (en) | Image data processing device | |
JP4037417B2 (ja) | 印刷装置 | |
JP2018121277A (ja) | 画像形成システム、画像形成装置、画像形成方法、プログラム | |
JP4131205B2 (ja) | 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム | |
JP4196782B2 (ja) | 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム | |
JP4715175B2 (ja) | 画像形成装置および方法 | |
JP4795160B2 (ja) | 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP3244745B2 (ja) | 画像処理装置 | |
JP2008147885A (ja) | 画像処理方法および画像処理装置 | |
JP2001128182A (ja) | 画像符号化方法および画像符号化プログラムを格納したコンピュータで読取可能な記録媒体 | |
JP2006350660A (ja) | ドライバプログラム | |
JP2006246017A (ja) | 符号化方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040917 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070413 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070424 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070507 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140525 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |