JP2005073025A - 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム - Google Patents

画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム Download PDF

Info

Publication number
JP2005073025A
JP2005073025A JP2003301155A JP2003301155A JP2005073025A JP 2005073025 A JP2005073025 A JP 2005073025A JP 2003301155 A JP2003301155 A JP 2003301155A JP 2003301155 A JP2003301155 A JP 2003301155A JP 2005073025 A JP2005073025 A JP 2005073025A
Authority
JP
Japan
Prior art keywords
image data
image
pixels
pixel
value
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.)
Granted
Application number
JP2003301155A
Other languages
English (en)
Other versions
JP4196782B2 (ja
Inventor
Tetsuya Suzuki
哲也 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003301155A priority Critical patent/JP4196782B2/ja
Priority to US10/924,749 priority patent/US7542173B2/en
Publication of JP2005073025A publication Critical patent/JP2005073025A/ja
Application granted granted Critical
Publication of JP4196782B2 publication Critical patent/JP4196782B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/648Transmitting or storing the primary (additive or subtractive) colour signals; Compression thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/403Edge-driven scaling; Edge-based scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】画像データを拡大して展開して得られる画像データのリピート性を向上させる画像処理装置及び画像処理プログラムを提供する。
【解決手段】画像処理手順は、描画レコードに含まれ画素に展開した第1の画像データを拡大して、画像出力装置の画素に展開した第2の画像データを生成する手順S14と、第2の画像データを圧縮する圧縮手順S18とを有する。第2の画像データを生成する手順S14は、第1の画像データであって第2の画像データの画素位置Dx,Dyに対応する位置X,Yに隣接し複数の画素からなる隣接画素について、当該隣接画素間の輝度の差分が所定の閾値以下の場合に、当該第2の画像データの画素Dx,Dyの画像データを第1の画像データの隣接画素のいずれかの画像データとし、差分が所定の閾値を越える場合に、第2の画像データの画素Dx,Dyの画像データを隣接画素の画像データから補間演算をする。
【選択図】図2

Description

本発明は、画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラムに関し、特に、ビットマップ展開された画像を拡大する補間処理において補間処理後の拡大された画像データのリピート性を向上させて圧縮率を上げることができる画像処理装置及び画像処理プログラムに関する。
ホストコンピュータで作成された画像を印刷するプリンタは、低コスト、高速印刷、高品質印刷など様々な要求が厳しくなっている。特に、コスト削減の要請から、印刷のための画像処理の大半をホストコンピュータのプリンタドライバで行わせるホストベースのプリンタが提案されている。
かかるホストベースのプリンタでは、プリンタドライバが、ホストコンピュータ上のアプリケーションにより生成された描画レコードから、画素毎のRGB値またはプリンタのトナーに対応するCMYK値に展開した画像データを生成し、その画像データを圧縮してプリンタに転送する。プリンタでは、受信した画像データを伸長し、スクリーン処理などの二値化処理をし、印刷エンジンで印刷媒体上に画像化する。ホストコンピュータの性能向上に伴って、画像処理の大半を、ホストコンピュータ上の画像処理プログラムで行うことにより、プリンタのコントローラにおける画像処理装置を大幅に削減することができ、プリンタのコスト削減につなげることができる。このようなホストベースのプリンタについては、以下の先行技術に開示されている。
特許第3284464号 特許第3367555号 特許第3367556号
ホストベースのプリンタでは、ページ記述言語の印刷データを受信しそれを画像処理して印刷する従来のプリンタに比べると、ホストコンピュータ側で画素に展開した画像データを圧縮してプリンタに転送する必要がある。従って、この圧縮された画像データのデータ量が大きくなると、ホストコンピュータからプリンタへの画像データの転送時間が長くなり、印刷のスループットが低下するという課題がある。
更に、ホストベースのプリンタでは、プリンタドライバにて、画像データを指定された拡大率で拡大して画素に展開する処理が行われる。展開された画像を高画質にするためには、拡大のための補間処理において、拡大後の画素の画像データをそれぞれ拡大前の画素の画像データから補間演算により高精度に求める必要がある。しかし、そのような画像データはリピート性が悪く、直前のラスターの画像データや直前の画素の画像データのリピート性を考慮した圧縮アルゴリズムによれば圧縮率が低下し、同様に印刷スループットの低下を招く。
そこで、本発明の目的は、画素に展開した画像データの圧縮率を向上することができる画像処理装置及び画像処理プログラムを提供することにある。
更に、本発明の目的は、ビットマップ展開された画像を拡大する補間処理において補間処理後の拡大された画像データの圧縮率を上げることができる画像処理装置及び画像処理プログラムを提供することにある。
上記の目的を達成するために、本発明の側面によれば、描画レコードから画像出力装置の画素に展開した画像データを生成する画像処理手順をコンピュータに実行させる画像処理プログラムにおいて、前記画像処理手順は、
前記描画レコードに含まれ画素に展開した第1の画像データを拡大して、前記画像出力装置の画素に展開した第2の画像データを生成する手順と、
前記第2の画像データを圧縮する圧縮手順とを有し、
前記第2の画像データを生成する手順は、前記第1の画像データであって前記第2の画像データの画素位置に対応する位置に隣接し複数の画素からなる隣接画素について、当該隣接画素間の画像データの輝度に関連する値の差分が所定の閾値以下の場合に、当該第2の画像データの画素の画像データを前記隣接画素のいずれかの画像データとし、前記差分が所定の閾値を越える場合に、当該第2の画像データの画素の画像データを前記隣接画素の画像データから補間演算により求めた画像データとする補間処理を有することを特徴とする。
上記の目的を達成するために、本発明の別の側面によれば、描画レコードから画像出力装置の画素に展開した画像データを生成する画像処理装置において、
前記描画レコードに含まれ画素に展開した第1の画像データを拡大して、前記画像出力装置の画素に展開した第2の画像データを生成する手段と、
前記第2の画像データを圧縮する圧縮手段とを有し、
前記第2の画像データを生成する手段は、前記第1の画像データであって前記第2の画像データの画素位置に対応する位置に隣接し複数の画素からなる隣接画素について、当該隣接画素間の画像データの輝度に関連する値の差分が所定の閾値以下の場合に、当該第2の画像データの画素の画像データを前記隣接画素のいずれかの画像データとし、前記差分が所定の閾値を越える場合に、当該第2の画像データの画素の画像データを前記隣接画素の画像データから補間演算により求めた画像データとする補間処理手段を有することを特徴とする。
上記の発明の側面によれば、第1の画像データを拡大して第2の画像データを生成する時に、輝度に関する値の変化が少ないときは、複数の隣接画素のうち、第2の画像データの画素位置に対応する第1の画像データの画素の画像データを第2の画像データとするので、画質の劣化を回避しながら第2の画像データのリピート性を向上させて、第2の画像データの圧縮率を高めることができる補間処理を提供することができる。
以下、図面を参照して本発明の実施の形態を説明する。しかしながら、本発明の保護範囲は、以下の実施の形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等物まで及ぶものである。
図1は、本実施の形態におけるホストコンピュータとプリンタの構成図である。ホストコンピュータ10は、内蔵バス16を介して接続されたCPU、RAM、インターフェース手段I/Fなどを有す。更に、描画レコードを生成する描画プログラムやワードプロセッサなどのアプリケーションプログラム12と、アプリケーションプログラム12が生成した描画レコードを画像処理してプリンタの色材に対応するCMYKの圧縮データ18を生成するプリンタドライバ・プログラム14とが、HDDなどの記録媒体にインストールされている。
印刷装置の1つであるプリンタ20は、ホストコンピュータ10のインターフェースI/Fから、所定の通信媒体を介してCMYKの圧縮データ18を受信する。通信媒体は、USBケーブルなどの有線の通信媒体や、IEEE802.11などの無線LANなどの無線の通信媒体であってもよい。プリンタ20のコントローラ22は、圧縮されたCMYKの画像データ18を受信すると、伸長回路24で圧縮された画像データを伸長し、スクリーン処理部26で各画素のCMYKの色プレーン毎に二値化処理を行い、パルス幅変調回路28により二値化データをパルス幅変調し、印刷エンジン30に画像描画のための駆動パルス信号を供給する。印刷エンジン30は、例えば、駆動パルス信号により駆動されるレーザ光により感光体ドラム上の潜像を形成し、CMYKの現像トナーにより現像し、現像した画像を印刷媒体に転写する。印刷エンジン30がインクジェットにより印刷媒体上に画像を印刷する場合は、スクリーン処理部26やPWM28に代えて、誤差拡散処理部とインクジェットのノズル駆動信号生成部とが設けられる。
上記のホストコンピュータ10にインストールされているプリンタドライバ14は、アプリケーションプログラム12が生成した描画レコードを画像処理してプリンタの色材に対応するCMYKの圧縮データ18を生成する。この画像処理には、描画レコードに含まれる画素に展開した第1の画像データを拡大して印刷装置の画素に展開した第2の画像データを生成する補間処理が含まれる。そして、CMYK圧縮データの圧縮率を高めるために、後述するように、輝度値や明度などの輝度に関連する値に応じて補間処理を行って、画素毎の画像データのリピート性を増す処理を行う。
図2は、本実施の形態におけるプリンタドライバである画像処理プログラムの処理手順を示すフローチャート図である。アプリケーション・プログラム12が生成したGDI(Graphical Device Interface)型式の描画レコードが、プリンタドライバ14に与えられる(S10)。
ここで、図3に、描画レコードにより印刷されるページリソースの画像の一例を示す。この画像例は、A4サイズの印刷用紙(印刷媒体)32に、グラフィックスの一例である円321と、写真画像などのイメージ322と、文字323とからなる画像が印刷される例である。図4(A)に、このようなページリソースの画像を生成する描画レコードの一例が示される。即ち、円321に対しては、座標(X1,Y1)の位置に直径Lの円を、内部を色RGB=(128、128,128)で塗りつぶす(FILL)描画レコード(Cir)が与えられる。ここで、RGBデータは、各色256階調の階調値を示す値である。更に、イメージ322に対しては、座標(X2,Y2)の位置から幅W2、高さH2の領域内に、画素毎の色RGBを示す第1の画像データ322Aを、拡大係数Mで展開する描画レコード(Image)が与えられる。つまり、イメージ322の場合は、既に画素の画像データに展開済みの第1の画像データを拡大係数Mで拡大する補間処理が必要である。また、文字323に対しては、座標(X3,Y3)の位置に幅W3、高さH3の領域に、文字「A」のビットマップデータが格納されている図示しないビットマップデータファイルBMのアドレス(X1,Y1)〜(X2,Y2)のデータを、色RGB=(0,0,0)(黒)で描画することを示す描画レコード(Character)が与えられる。
図2に戻り、プリンタドライバ14は、図4(A)の如き描画レコードを供給されると、描画レコードを解釈し、印刷媒体の所定行数毎に分割した複数のバンド毎に、画像展開するための関数などからなる中間コードを生成する(S12)。この中間コードは、一種の描画コマンドである。図4(B)に中間コードの一例を示す。便宜上、ここでの中間コードのコードは、描画レコードのコードと同じにしている。図3に示されるとおり、ここでは、A4サイズの印刷媒体の領域が4つのバンドに分割されているものとする。
図4(B)の中間コードは、バンド1に対しては、グラフィックスの一つである円321を全て展開するコード(描画コマンド)を有する。即ち、座標(X1,Y1)の位置に半径Lの塗りつぶし円を色データRGB=(128,128,128)で展開する中間コードである。また、中間コードは、バンド2に対しては、イメージ322の一部分を描画するコード(描画コマンド)を有する。即ち、バンド2内の座標(X21,Y21)の位置から幅W2、高さH21の領域内に、各画素の色データRGBを有するイメージを、拡大係数Mで拡大して展開する中間コードである。更に、中間コードは、バンド3に対しては、イメージ322の残り部分と、文字323の一部分を描画するコード(描画コマンド)を有する。つまり、バンド3内の座標(X22,Y22)の位置から幅W2、高さH22の領域内に、各画素の色データRGBを有するイメージを、拡大係数Mで拡大して展開する中間コードと、バンド3内の座標(X31,Y31)の位置から幅W3、高さH31の領域内にビットマップデータBMを色RGB=(0,0,0)で展開する中間コードとを有する。そして、バンド4に対しては、文字323の残りの部分を描画する中間コードを有する。
上記の中間コードは、印刷装置であるプリンタ20に対応するプリンタドライバ14に固有の展開用の関数コード(或いは描画コマンド)などからなり、アプリケーションの描画コードが異なっても、共通の中間コードに変換されることで、プリンタドライバ14の共通の展開手順により画素毎の画像データに展開することができる。
次に、プリンタドライバ14は、バンド毎に中間コードからプリンタに対するページリソースの画素毎の画像データRGBXに展開する(S14)。画像データRGBXは、画素の色データR(レッド)、G(グリーン)、B(ブルー)と、画像の種類を示す属性データXとからなり、それぞれ8ビットのデータで構成される。画像の種類は、例えば、円やグラフなどのグラフィック、文字、そして写真や自然画などのイメージであり、属性データXによりこれらの画像の種類が区別され、プリンタコントローラにおけるスクリーン処理などにおいて、最適な処理の割り当てに利用される。
[展開処理]
前述の中間コードを展開することで、ホストコンピュータ10内のRAM内のバンドメモリ領域に、展開された画素毎の画像データRGBXが格納される。このバンドメモリには、初期化状態で、例えば、色データRGBとしてRGB=(255,255,255)の白のデータが書き込まれ、属性データXの画像の種類データとしてはグラフィックスのデータが書き込まれる。そして、バンド1では、円321を展開する中間コードにより円321を描画する領域の画素の画像データが生成され、バンドメモリに書き込まれる。バンド2では、イメージ322の上部部分の画素の画像データがバンドメモリに書き込まれる。更に、バンド3では、イメージ322の下部残り部分の画素の画像データがバンドメモリに書き込まれ、更に、文字323の上部部分の画素の画像データが書き込まれる。そして、バンド4では、文字323の下部残り部分の画素の画像データがバンドメモリに書き込まれる。
[拡大のための補間処理]
図5及び図6は、画像の拡大のための補間処理を説明するための図である。図5において、描画レコードに含まれるオリジナルの第1の画像データ322Aを、拡大係数Mにしたがって拡大して、プリンタの画素に展開した第2の画像データ322が生成される。画像データを拡大することに伴い、第2の画像データの画素数は第1の画像データの画素数より多いので、その多い分だけ第2の画像データを補間する必要がある。
この拡大のための補間処理では、第2の画像データの座標(Dx,Dy)の画素の画像データを求めるために、その座標(Dx,Dy)に対応する第1の画像データの座標(X,Y)の画像データを参照する。そのために、図5に示された座標変換式により座標(X,Y)が求められる。この座標変換式では、第2の画像データでの座標(Dx,Dy)に拡大係数行列Mを乗算することで、第1の画像データでの座標(X,Y)が求められる。拡大係数行列Mの要素a,b,c,dは、スケール係数であり、要素tx,tyはシフト係数である。この拡大係数行列Mは、前述の通り、描画レコードに含まれ、中間コードにも含まれる定数である。この座標変換式により求められる座標(X,Y)は、小数点以下を含む座標値になる。
図6は、座標(X,Y)と第1の画像データの画素との詳細な関係を示している。第2の画像データの座標(Dx,Dy)を座標変換して求められる座標(X,Y)は、小数点を含む座標値であり、図示されるように、第1の画像データ322Aにおいて、4つの画素の座標(X',Y')(X'+1,Y')(X',Y'+1)(X'+1,Y'+1)(これらは全て整数値)の間に位置する。つまり、座標(X',Y')は、座標(X,Y)の小数点を切り捨てた又は四捨五入した整数値である。このような場合、第2の画像データの座標(Dx,Dy)の画素に1対1に対応する第1の画像データの画素が存在しないので、何らかの画像データを補間する必要がある。補間方法には、ニヤレストネイバー(Nearest-Neighbor)法や、バイリニア(Bi-Linear)法などがある。ニヤレストネイバー法は、座標変換で求めた座標(X,Y)に最も近い画素(図6の例では画素(X',Y'))の画像データRGBX0をそのまま座標(Dx,Dy)の画像データに採用する方法であり、複雑な演算を必要とせず、第2の画像データに同じ画像データが繰り返し発生する確率を高くすることができ、画像データのリピート性が高まる。但し、平面解像度が低下して画質劣化を招く場合がある。一方、バイリニア法は、変換座標(X,Y)の画像データを、それに隣接する複数の画素、例えば4つの画素の座標(X',Y')(X'+1,Y')(X',Y'+1)(X'+1,Y'+1)の画像データRGBX0〜RGBX3を位置関係で直線補間演算(又はより高次の補間演算)することにより求める方法であり、複雑な補間演算が必要であるが画質を向上させることができる。但し、この方法では、4つの画素の画像データがそれぞれ異なる場合は、第2の画像データの隣接する画素の画像データは全て異なることになり、第2の画像データのリピート性は悪くなる。
そこで、本実施の形態では、プリンタドライバでの画像処理の最後にリピート性を考慮した圧縮処理を行うので、第1の画像データにおいて画素間の画像データの変化が小さい場合、特に輝度の変化が小さい場合に限り、ニヤレストネイバー法により補間処理を行い、第2の画像データのリピート性を向上させる。画素間の輝度の変化が小さい場合は、ネヤレストネイバー法により隣接画素のいずれかの画素の画像データを採用しても、それに伴う画質の低下を抑えることができる。一方、第1の画像データにおいて画素間の画像データの変化が大きい場合、特に輝度の変化が大きい場合は、バイリニア法など複数の隣接画素の画像データから補間演算により求める補間演算を行い、第2の画像データを求める。画像データのリピート性は向上しないが画質が大きく低下することは回避できる。
図6に示した例では、第1の画像データ322Aにおける隣接画素間の輝度の変化が小さい場合は、座標(X',Y')の画像データRGBX0がそのまま採用され、変化が大きい場合は、4つの座標の画像データRGBX0〜RGBX3を所定の補間関数fにより求めた画像データを採用している。
バイリニア法による補間演算は次の通りである。すなわち、4つの画素の座標(X',Y')(X'+1,Y')(X',Y'+1)(X'+1,Y'+1)の画像データRGBX0〜RGBX3を、簡単のために、それぞれP0、P1、P2、P3とすると、補間演算は、座標(X,Y)と4つの画素の座標(X',Y')(X'+1,Y')(X',Y'+1)(X'+1,Y'+1)との距離に基づく直線補間演算であるので、
P={P0(X'+1-X)+P1(X-X')}(Y'+1-Y)+{P2(X'+1-X)+P3(X-X')}(Y-Y')
となる。
バイリニア法以外の補間演算として、9個の隣接画素の画像データからバイキュービック法により座標(X,Y)の画像データを求める方法もある。また、一次の補間演算でなく、二次の補間演算法により求めても良い。
図7は、本実施の形態における拡大を伴う画像データの展開処理のフローチャート図である。つまり、図7は、図2における印刷装置の画素毎の画像データを展開する処理S14における拡大のための補間処理の詳細フローチャート図である。拡大のための補間処理は、バンド内のイメージに対して行われ、グラフィックスや文字に対しては行われない。そこで、バンド内のイメージ領域が選択される(S30)。
選択されたイメージの中間コードが画素展開される場合、図5、図6で説明したようにプリンタでの座標(Dx,Dy)に対応する第1の画像データの座標(X,Y)を座標変換演算により求める(S31)。プリンタというデバイス上の座標であるので、フローチャートではデバイス座標(Dx,Dy)と称している。
そこで、拡大率が所定値(例えば3倍)より小さい場合(S32)は、補間すべき第2の画像データの画素数が限定的であるので、ニヤレストネイバー法により画素(Dx,Dy)の画像データが求められる(S38)。図6の例では、画素(X',Y')の画像データRGBX0がそのまま画素(Dx,Dy)の画像データになる。一方、拡大率が所定数より大きい場合(S32)は、座標(X,Y)に隣接する4つの画素の画像データの特に輝度に関する値の変化量に応じて、補間すべき第2の画像データの求め方が異なる。
そこで、プリンタドライバは、座標(X,Y)に隣接する4つの画素の画像データRGBを読み出し(S33)、各画素の輝度計算を行う(S34)。輝度Yを求める計算は、例えば、次の通りである。
Y=aR+bG+cB=0.2990*R+0.5870*G+0.1140*B
上記の演算式は、浮動小数点演算になるので、演算速度向上の為に、各係数a,b,cに65536を乗算した係数に変更した次の演算式にするのが好ましい。この演算式では、輝度値Yは全て整数値になり、ホストコンピュータでの演算速度を向上させることができる。
Y=19595*R+38470*G+7471*B
隣接する4つの画素の輝度値Yについて、隣接画素間の輝度の差分が所定の閾値Vth以下であるか否かの判定が行われる(S36)。つまり、6種類の隣接画素の組合せに対して、それらの画素の輝度値Yの差分が閾値Vth以下か否かがチェックされる。この閾値Vthは、最大256階調の場合に、64(25%)或いは128(50%)程度に設定される。この閾値は画質の低下を考慮して適宜選択される。また、隣接画素の組合せは必ずしも6種類に限定されず、左右、上下の4種類のみ、或いは斜め方向の2種類であってもよい。
そして、隣接する画素の輝度の変化量が閾値より小さい場合は、人間の目には画像の変化があまり感じられないので、ニヤレストネイバー法によりデバイス座標(Dx,Dy)の第2の画像データを座標(X,Y)に最も近い画素(X',Y')の画像データRGB0にする(S38)。あるいは、隣接する4つの画素のいずれかの画像データにしてもよい。一方、隣接する画素の輝度の変化量が閾値より大きい場合は、人間の目には画像の変化が敏感に感じられるので、隣接画素の画像データを補間演算して求める、例えばバイリニア法によりデバイス座標(Dx,Dy)の第2の画像データを求める(S37)。
上記の工程S33〜S38を、イメージの全ての画素について繰り返し(S40)、更に、工程S30〜S40をバンド内の全てのイメージに対して繰り返す(S42)。その結果、バンド内の全てのイメージに対して、オリジナルのイメージの画像を拡大したプリンタ上でのイメージに展開することができる。この展開された第2の画像データは、輝度の変化が少ない領域ではニヤレストネイバー法により求められているので、リピート性が高くなっている。一方、輝度の変化が大きい領域では隣接画素の画素データによる補間演算により求められているので、画質の低下は回避される。
[色変換処理]
図2に戻り、プリンタの画素毎に展開されたRGBの第2の画像データが、プリンタの印刷エンジン30で使用されるトナーの色空間に対応するCMYKの画像データに変換される(S16)。この色変換は、あらかじめ作成済みの色変換テーブルを参照する4面体補間演算により行われる。但し、前述した拡大のための補間処理されたことにより、隣接画素において同じ画像データRGBXが与えられるリピート性が高くなっているので、同じ画像データに対しては、上記の色変換の4面体補間演算を繰り返さずに、変換済みのCMYK画像データがそのまま与えられる。
図8は、色変換処理S16の詳細なフローチャート図である。最初に、バンドメモリ内の画像データについて、同じラスタ内のおいて画像データRGBXが繰り返される画素を検索し、2番目の画素の属性データXにその繰り返し数を追加する(S60)。これをバンドメモリ内の全てのラスタに対して行う。そして、バンドメモリ内の全ての画素の色変換処理が完了するまで(S61)、画素のRGBXの画像データを読み出して(S62)、必要な色変換処理を行う。最初に、画像データRGBXが繰り返される場合は、その繰り返し数が2番目の画素の属性データXに加えられている。そこで、色変換処理では、読み出した画素の画像データRGBXの属性データXが、同じRGB値の繰り返し数を示しているか否かがチェックされ(S64)、繰り返し数を示していなければ(S64でNO)、読み出したRGB値に対して、色変換テーブルを参照して、4面体補間演算によりCMYK値を求める(S68)。また、属性データXが繰り返し数を示している場合は(S64でYES)、既に変換済みのCMYKX値を繰り返し数に対応する画素に色変換データとしてコピーする(S66)。これにより、色変換の演算処理の繰り返しを省略することができる。
図8には、色変換処理の4面体補間演算の原理が示されている。ホストコンピュータの記録媒体にあらかじめ記録されている色変換テーブルは、3つの色プレーンRGBの階調データの組合せに対して、それぞれCMYK階調データを有する。但し、256階調を有するRGBの3つの色プレーンに対して、256階調全ての組合せに対応してCMYKデータを持たせると、色変換テーブルのデータ数が256の3乗と膨大なデータ量になる。そこで、色変換テーブルは、RGBの3つの色プレーンに対して所定の割合で間引いた階調値の格子点に対するCMYKデータを有する。そこで、色変換対象の画像データRGBが、色変換テーブルとして準備された各格子点の階調値R1,R2の間、階調値G1,G2の間、階調値B1,B2の間にある場合は、4面体補間演算により色変換対象の画像データRGBに対応する変換後の画像データCMYKが求められる。従って、この4面体補間演算を伴う色変換処理は、比較的時間がかかる重たい処理である。特に、プリンタドライバなどのコンピュータプログラムにより演算が行われる場合は、その処理時間が長くなりがちである。
本実施の形態では、拡大のための補間処理において、輝度値の変化が少ない領域では対応する座標(X,Y)に隣接する画素の画像データを採用して、同じ画像データが繰り返される確率が高くなるようにしている。したがって、同じラスタ方向において、一旦色変換処理を行った画素と同じ画像データを有する画素に対しては、既に変換済みの画像データCMYKを与えて、色変換演算を繰り返さないようにしている。これにより、色変換処理工程に要する時間を大幅に短縮することができる。
図8に示されるとおり、バンドメモリ内の全ての画素に対して色変換処理が完了すると(S61)、バンドメモリ内の画素の画像データは全てCMYKXの画像データに変換される。属性データXは、RGBXの画像データの属性データXと同じである。
[圧縮処理]
図2に戻り、バンドメモリ内に書き込まれたCMYKXの画像データに対して、5つの各色プレーン毎に圧縮処理が行われ、RAM内に確保されている圧縮データメモリに書き込まれる(S18)。この圧縮方式は、バンド内の画素の画像データのリピート性を考慮して行われる。例えば、直前のラスタ内の画素の画像データと同じであったり、直前の画素の画像データと同じであったりした場合は、CMYKXのデータ(それぞれ8ビットで合計8×5=40ビット)ではなく、繰り返しを示すデータのみに変換する。或いは、繰り返し数を示すデータに変換する。このようにリピート性を重視して圧縮する圧縮方式を採用することにより、本実施の形態の拡大のための補間処理によりリピート性が高められた画像データの圧縮率をより高くすることができる。
上記のバンド内の画素の画像データへの展開処理S14と、色変換処理S16と、圧縮処理S18とが、各バンド毎に行われ、全てのバンドの処理が終了すると(S20のYES)、1ページ分のCMYKXの圧縮データ18がプリンタ20のコントローラ22に転送される(S22)。プリンタ側では、図1に示されるとおり、コントローラ22が、受信した圧縮データ18を伸長処理し、スクリーン処理を行い、パルス幅変換を行って、レーザ駆動パルスデータを印刷エンジン30に転送する。本実施の形態では、CMYKXの画像データの圧縮率が高いので、ホストコンピュータ10からプリンタ20への転送データ量が少なくなり、転送時間が短縮され、印刷のスループットが向上する。
[輝度に関連する値]
上記の実施の形態では、画素に展開したRGBの画像データから輝度値Yを求め、隣接する画素間の輝度値の差分が閾値以下か否かに基づいて、拡大のための補間処理を行った。これは、輝度の変化が少ない画像領域は、色変化が少ないので、その画像領域において色変化を多少間引いても、人間の目にはその変化を敏感に認識することができないことが理由である。従って、人間の目に目立たない指標を利用して、補間処理の選択の判断をすれば良いことになる。
従って、輝度値Yに代えて、RGBの色データのうち最も輝度値Yに影響を与えるG(グリーン)の色データのみを比較対象にしても良い。この場合は、輝度値Yの演算を省略することができるというメリットがあるが、補間処理の基準がやや劣るというデメリットがある。更に、RGBの色空間からHSV(Hue:色合い, Saturation:彩度, Value:明度)の色空間の明度Vを求めて、隣接する画素の明度の差分が閾値以下か否かに依存して、補間処理を行う。明度Vは、RGBの階調値のうち最も大きい階調値(V=MAX(R.G.B))であるので、明度Vを基準にする場合も、明度Vを求める演算処理を簡単化することができる。また、画素に展開した画像データがHSV色空間である場合は、その明度V値を補間処理の基準にすることができる。さらに、白黒画像のように色空間がグレイ空間(輝度空間)の場合は、画素の階調値自体が輝度値になる。
[他の実施の形態]
図9は、他の実施の形態におけるホストコンピュータとプリンタの構成を示す図である。この例では、プリンタコントローラ22内に、色変換処理部25が設けられており、ホストコンピュータ10からはRGBXの圧縮データ19がプリンタコントローラ22に転送され、コントローラ22において、伸長処理、色変換処理、スクリーン処理、PWM処理を行う。
図10は、本実施の形態におけるプリンタドライバ14の画像処理手順を示すフローチャート図である。図2のフローチャートと同じ手順には同じ引用番号が与えられている。手順S10〜S16、S20は図2の同じ手順と同じである。本実施の形態の場合は、プリンタの画素毎のRGBXの画像データへの展開処理S14が行われた後、そのRGBXデータに対して、リピート性を重視した圧縮処理が行われ、圧縮データが圧縮データメモリに記憶される(S24)。そして、全てのバンドの処理が終了すると、圧縮データメモリ内のRGBXの圧縮データがプリンタに転送される(S26)。つまり、本実施の形態においては、プリンタドライバ14は、RGBXデータをCMYKXデータに色変換せずに、解像度変換されて色データが間引かれたRGBXデータに対して、圧縮処理を行い、プリンタに転送する。この場合も、解像度変換によりRGBX画像データのリピート性が高まっているので、圧縮率を高くすることができ、転送データ量を小さくすることができ、転送時間を短くすることができる。
本実施の形態におけるホストコンピュータとプリンタの構成図である。 本実施の形態におけるプリンタドライバである画像処理プログラムの処理手順を示すフローチャート図である。 描画レコードにより印刷されるページリソースの画像の一例を示す図である。 描画レコードと中間コードの一例を示す図である。 画像の拡大のための補間処理を説明するための図である。 画像の拡大のための補間処理を説明するための図である。 本実施の形態における拡大を伴う画像データの展開処理のフローチャート図である。 色変換処理S16の詳細なフローチャート図である。 他の実施の形態におけるホストコンピュータとプリンタの構成を示す図である。 本実施の形態におけるプリンタドライバ14の画像処理手順を示すフローチャート図である。
符号の説明
10:ホストコンピュータ、14:プリンタドライバ
S14:第2の画像データへの展開処理工程、S16:色変換処理
S18:圧縮処理

Claims (10)

  1. 描画レコードから画像出力装置の画素に展開した画像データを生成する画像処理手順をコンピュータに実行させる画像処理プログラムにおいて、
    前記画像処理手順は、
    前記描画レコードに含まれ画素に展開した第1の画像データを拡大して、前記画像出力装置の画素に展開した第2の画像データを生成する手順と、
    前記第2の画像データを圧縮する圧縮手順とを有し、
    前記第2の画像データを生成する手順は、前記第1の画像データであって前記第2の画像データの画素位置に対応する位置に隣接し複数の画素からなる隣接画素について、当該隣接画素間の画像データの輝度に関連する値の差分が所定の閾値以下の場合に、当該第2の画像データの画素の画像データを前記隣接画素のいずれかの画像データとし、前記差分が所定の閾値を越える場合に、当該第2の画像データの画素の画像データを前記隣接画素の画像データから補間演算により求めた画像データとする補間処理を有することを特徴とする画像処理プログラム。
  2. 請求項1において、
    前記輝度に関連する値は、前記第1の画像データの色空間がRGB空間の場合における当該RGBの各階調値に所定の係数を乗算して加算した輝度値、前記色空間がグレイ空間(輝度空間)の場合における階調値、前記色空間がRGB空間の場合におけるG(グリーン)の階調値、前記色空間がRGB空間の場合におけるRGBの最大階調値、前記色空間がCMYの場合における当該CMYの各階調値に所定の係数を乗算して加算した輝度値、前記色空間がHSV(色合い、彩度、明度)空間の場合における明度(V値)のいずれかであることを特徴とする画像処理プログラム。
  3. 請求項1において、
    前記第2の画像データを生成する手順の補間処理は、前記第1の画像データから第2の画像データへの拡大率が所定の値より小さい場合に、当該第2の画像データの画素の画像データを前記第1の画像データの前記隣接する複数画素のいずれかの画像データとすることを特徴とする画像処理プログラム。
  4. 請求項1において、
    前記補間演算は、前記隣接する複数画素の位置と前記第2の画像データの画素位置に対応する第1の画像データでの位置との距離に応じて、前記複数画素の第1の画像データを補間する演算処理であることを特徴とする画像処理プログラム。
  5. 請求項1において、
    前記描画コマンドは、少なくとも文字の描画コマンドと、グラフィックスの描画コマンドと、イメージの描画コマンドとを有し、
    前記補間処理は、前記イメージの描画コマンドに対する第2の画像データを生成する時に行われることを特徴とする画像処理プログラム。
  6. 請求項1において、
    前記圧縮手順は、画像データの繰り返し性を考慮して圧縮を行うことを特徴とする画像処理プログラム。
  7. 描画レコードから画像出力装置の画素に展開した画像データを生成する画像処理装置において、
    前記描画レコードに含まれ画素に展開した第1の画像データを拡大して、前記画像出力装置の画素に展開した第2の画像データを生成する手段と、
    前記第2の画像データを圧縮する圧縮手段とを有し、
    前記第2の画像データを生成する手段は、前記第1の画像データであって前記第2の画像データの画素位置に対応する位置に隣接し複数の画素からなる隣接画素について、当該隣接画素間の画像データの輝度に関連する値の差分が所定の閾値以下の場合に、当該第2の画像データの画素の画像データを前記隣接画素のいずれかの画像データとし、前記差分が所定の閾値を越える場合に、当該第2の画像データの画素の画像データを前記隣接画素の画像データから補間演算により求めた画像データとする補間処理手段を有することを特徴とする画像処理装置。
  8. 請求項7において、
    前記輝度に関連する値は、前記第1の画像データの色空間がRGB空間の場合における当該RGBの各階調値に所定の係数を乗算して加算した輝度値、前記色空間がグレイ空間(輝度空間)の場合における階調値、前記色空間がRGB空間の場合におけるG(グリーン)の階調値、前記色空間がRGB空間の場合におけるRGBの最大階調値、前記色空間がCMYの場合における当該CMYの各階調値に所定の係数を乗算して加算した輝度値、前記色空間がHSV(色合い、彩度、明度)空間の場合における明度(V値)のいずれかであることを特徴とする画像処理装置。
  9. 請求項7において、
    前記第2の画像データを生成する手段の補間処理手段は、前記第1の画像データから第2の画像データへの拡大率が所定の値より小さい場合に、当該第2の画像データの画素の画像データを前記第1の画像データの前記隣接する複数画素のいずれかの画像データとすることを特徴とする画像処理装置。
  10. 請求項7において、
    前記補間演算は、前記隣接する複数画素の位置と前記第2の画像データの画素位置に対応する第1の画像データでの位置との距離に応じて、前記複数画素の第1の画像データを補間する演算であることを特徴とする画像処理装置。

JP2003301155A 2003-08-26 2003-08-26 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム Expired - Fee Related JP4196782B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003301155A JP4196782B2 (ja) 2003-08-26 2003-08-26 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム
US10/924,749 US7542173B2 (en) 2003-08-26 2004-08-23 Image processing device and image processing program causing computer to execute image processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003301155A JP4196782B2 (ja) 2003-08-26 2003-08-26 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2005073025A true JP2005073025A (ja) 2005-03-17
JP4196782B2 JP4196782B2 (ja) 2008-12-17

Family

ID=34269121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003301155A Expired - Fee Related JP4196782B2 (ja) 2003-08-26 2003-08-26 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム

Country Status (2)

Country Link
US (1) US7542173B2 (ja)
JP (1) JP4196782B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9299284B2 (en) * 2004-11-10 2016-03-29 Thomson Licensing System and method for dark noise reduction in pulse width modulated (PWM) displays
JP4612877B2 (ja) * 2005-08-10 2011-01-12 キヤノン株式会社 画像記録装置及びその装置の制御方法及びプログラム
TWI405144B (zh) * 2008-01-14 2013-08-11 Magic Pixel Inc 影像校正方法、影像校正單元及應用其之影像擷取裝置
US8290255B2 (en) * 2009-02-06 2012-10-16 Canon Kabushiki Kaisha Image processing method, image processing apparatus, and program
JP7282507B2 (ja) * 2018-11-30 2023-05-29 キヤノン株式会社 情報処理装置、サーバ装置、制御方法、制御プログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01290373A (ja) 1988-05-18 1989-11-22 Matsushita Electric Ind Co Ltd 画像信号処理装置
JPH02185456A (ja) 1989-01-13 1990-07-19 Canon Inc 記録装置
DE68927970T2 (de) * 1988-09-08 1997-10-09 Canon Kk Punktbilddatenausgabegerät
US5008752A (en) 1989-06-16 1991-04-16 Eastman Kodak Company Digital image interpolator with multiple interpolation algorithms
DE69132625T2 (de) * 1990-07-31 2001-10-31 Canon Kk Gerät zur Bildverarbeitung
US5327257A (en) * 1992-02-26 1994-07-05 Cymbolic Sciences International Ltd. Method and apparatus for adaptively interpolating a digital image
JPH07107273A (ja) 1993-10-07 1995-04-21 Canon Inc 画像処理装置及び方法
JPH08102846A (ja) 1994-09-30 1996-04-16 Nec Corp 綿密度変換が可能な画像処理装置
JPH08111774A (ja) 1994-10-11 1996-04-30 Tec Corp 画像読取装置
US6157749A (en) * 1997-03-05 2000-12-05 Canon Kabushiki Kaisha Image processing apparatus and method, and storing medium
JPH11144053A (ja) * 1997-11-11 1999-05-28 Sharp Corp 画像データの補間処理方法
JP3748164B2 (ja) * 1998-02-06 2006-02-22 富士通株式会社 パターン抽出装置
JP3063754B2 (ja) 1998-04-06 2000-07-12 セイコーエプソン株式会社 画像デ―タ補間装置、画像デ―タ補間方法、画像デ―タ補間プログラムを記録した媒体
US6510254B1 (en) * 1998-04-06 2003-01-21 Seiko Epson Corporation Apparatus and method for image data interpolation and medium on which image data interpolation program is recorded
US6768559B1 (en) * 1998-04-20 2004-07-27 Seiko Epson Corporation Medium on which printing control program is recorded, printing controller, and printing controlling method
JP2000050067A (ja) 1998-07-28 2000-02-18 Sharp Corp 画像処理方法及びその装置
JP3284464B2 (ja) 1998-09-29 2002-05-20 セイコーエプソン株式会社 ページプリンタ及びページプリントシステム
JP3367555B2 (ja) 1998-09-29 2003-01-14 セイコーエプソン株式会社 ページプリンタ及びページプリントシステム
JP3367556B2 (ja) 1998-09-29 2003-01-14 セイコーエプソン株式会社 ページプリンタ及びページプリントシステム
AUPP779898A0 (en) * 1998-12-18 1999-01-21 Canon Kabushiki Kaisha A method of kernel selection for image interpolation
US7003176B1 (en) * 1999-05-06 2006-02-21 Ricoh Company, Ltd. Method, computer readable medium and apparatus for converting color image resolution
JP2001177719A (ja) 1999-12-21 2001-06-29 Hitachi Ltd 画像処理装置と印刷システムおよび画像表示システム
US6812935B1 (en) * 2000-03-30 2004-11-02 Intel Corporation Scaling images for display
JP2002152518A (ja) 2000-11-14 2002-05-24 Fuji Xerox Co Ltd 画像符号化装置及び方法、並びに、画像復号化装置及び方法
US7171059B1 (en) * 2002-05-23 2007-01-30 Pixelworks, Inc. Method and apparatus for two-dimensional image scaling
JP2004165733A (ja) * 2002-11-08 2004-06-10 Matsushita Electric Ind Co Ltd 画像変換装置及び画像変換方法並びに記録媒体

Also Published As

Publication number Publication date
US20050057763A1 (en) 2005-03-17
US7542173B2 (en) 2009-06-02
JP4196782B2 (ja) 2008-12-17

Similar Documents

Publication Publication Date Title
US7310167B2 (en) Color converting device emphasizing a contrast of output color data corresponding to a black character
US7505174B2 (en) Image processing method, system and apparatus, and storage medium
JP4669314B2 (ja) 画像処理方法および画像処理装置
US20080310758A1 (en) Image processing method and image processing apparatus
JPH08235346A (ja) 画像処理装置
JP2006343831A (ja) 画像処理装置、方法、プログラムおよび記録媒体
JP2830690B2 (ja) 画像処理装置
JP4386216B2 (ja) カラープリントシステム及びその制御方法
JP4196782B2 (ja) 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム
JP4131205B2 (ja) 画像処理装置及び画像処理をコンピュータに実行させる画像処理プログラム
JP3902919B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP4514168B2 (ja) 画像処理システム及び画像処理方法
JP3346051B2 (ja) 画像処理装置
JPH10191090A (ja) 色変換テーブルの製造装置及び製造方法並びに記録媒体
US6556312B1 (en) Data converter and method
JP3550979B2 (ja) 画像処理装置
JP2011053263A (ja) 画像処理装置、画像処理方法、画像出力システム、プログラム及び記録媒体
US20100208276A1 (en) Apparatus, system, method and program for image processing
JP2006103045A (ja) 画像形成装置
JP2000227848A (ja) 画像処理装置
JP3829895B2 (ja) 画像処理装置
JP6394247B2 (ja) 画像処理装置、および、コンピュータプログラム
JP2006264257A (ja) バンド単位で画像処理を行う画像処理装置
JP2004295765A (ja) 画像処理のためのプログラム、及び画像処理方法
JP2004320361A (ja) 画像処理装置及び画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

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: 20080909

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080922

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

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: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees