JP2004334533A - Image processing device and method - Google Patents

Image processing device and method Download PDF

Info

Publication number
JP2004334533A
JP2004334533A JP2003129514A JP2003129514A JP2004334533A JP 2004334533 A JP2004334533 A JP 2004334533A JP 2003129514 A JP2003129514 A JP 2003129514A JP 2003129514 A JP2003129514 A JP 2003129514A JP 2004334533 A JP2004334533 A JP 2004334533A
Authority
JP
Japan
Prior art keywords
information
color
intermediate code
image data
black
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.)
Pending
Application number
JP2003129514A
Other languages
Japanese (ja)
Inventor
Hiroshi Okubo
宏 大久保
Shigeru Tsukimura
滋 月村
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2003129514A priority Critical patent/JP2004334533A/en
Publication of JP2004334533A publication Critical patent/JP2004334533A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Color, Gradation (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing device and method making it possible to form images at high resolution while preventing blanks when enhancing brightness, and making it possible to perform such a drawing process at high speed. <P>SOLUTION: Intermediate code image data which an intermediate code image data generating part 23 generates based on a drawing instruction include black information for the process of enhancing resolution and color designation on/off information for setting whether RGB color information in the intermediate code image data is valid or not. When an intermediate code image data interpreting part 31 interprets the intermediate code image data to perform a rendering process, if the color designation on/off information is set to invalidate the color information, attribute information including the black information for the process of enhancing resolution is written into a band buffer 14 while no color information is written into it. This prevents blanks during the process of enhancing resolution, making it possible to leave background color intact. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、入力される描画命令あるいは描画命令から生成された中間コード画像データに基づいてレンダリング処理してビットマップイメージを作成し、印字装置等に出力する画像処理技術に関するものである。
【0002】
【従来の技術】
パーソナルコンピュータなどの上位処理装置から印字命令を受けた画像処理装置は、実際の印字情報である描画命令を受信して順に解釈し、ビットマップイメージを作成して出力する。この処理過程において、画像処理装置がページバッファを保持している場合には、解釈したビットマップイメージをそのままページバッファに書き込み(レンダリング処理)、ページ単位で出力する。また、ページバッファは多大な記憶容量を必要とするため、ページバッファではなく、1ページを複数に分割したバンド単位のバッファ(バンドバッファ)を保持している場合も多い。このような場合には、一度バンド単位の中間コード画像データに変換し、全ての描画命令の解釈および中間コード画像データの生成終了後、バンド単位で中間コード画像データを解釈し、ビットマップイメージをバンドバッファに書き込むレンダリング処理を行う。
【0003】
通常、ページバッファあるいはバンドバッファに書き込まれたビットマップイメージは、印字装置等に送信される前に補正処理が施される。例えば、描画命令による色空間指定がRGBの場合、印字装置に出力するためには色空間をCMYKに変換しなければならない。しかし、全てのビットマップイメージに対して一律に色空間変換を行うと印字の品質に問題が生じるため、描画内容(フォント、グラフィックス、イメージなど)に応じた処理が望ましい。描画内容に応じた処理を行うためには、それぞれの描画命令の内容がどのような描画内容(フォント、グラフィックス、イメージなど)かを示す属性情報が色変換処理時に必要となる。そのため、描画命令の描画内容に基づいて、レンダリング処理によってビットマップイメージを生成する際に1ないし数画素毎に属性情報を付加しておく。なお、バンドバッファを保持してバンド単位でレンダリング処理を行う画像処理装置においては、中間コード画像データに描画命令の属性情報が渡され、バンドバッファに展開されたビットマップイメージに対して属性情報が付加される。そして、ビットマップイメージに付加されている属性情報を参照して、展開されたビットマップイメージに対して補正処理が行われる。
【0004】
一方、描画命令あるいは中間コード画像データによる色空間指定を、始めから印字装置などが要求する色空間であるCMYK色空間にすることにより、色変換処理が必要なくなり、少なくとも色変換のための属性情報を保持する必要はなくなる。しかし、上位処理装置上のソフトウェアがWindows(登録商標)のGDI(Graphic Device Interface)を使用している場合、画像処理装置は論理演算(ROP:Raster Operation)の処理に対応しなければならない。このROP処理は色空間としてRGBを前提としているため、描画命令あるいは中間コード画像データの色空間指定を始めからCMYKとしてしまうと、論理演算後の結果が想定したものとは異なることにより印字品質が低下する。
【0005】
そのため、描画命令あるいは中間コード画像データの色空間はRGBが前提となり、特にフォントなどの印字品質を向上させるためには忠実に各ドットの描画内容を保持することが重要となり、グラフィックスなど別の描画内容の背景が存在する場合にはなおさらである。
【0006】
一例として、特許文献1に記載されている画像処理方法では、テキストオブジェクトの描画命令には文字列、文字色および背景色を表す情報が含まれ、背景色にはグラフィックス用、文字色にはテキスト用の色処理を施すことが考案されている。これによって、文字の周囲での背景色に対する処理の変更を防ぎ、一様な背景色の描画を行っている。
【0007】
また、例えば特許文献2には、エッジ部分について黒色の色材による黒画像の形成に代えて、他の色(例えばシアン(C)、マゼンタ(M)、イエロー(Y))の色材あるいはこれらの色の色材と黒の色材を混合して使用することが記載されている。これによって、カラー背景上における単独色の黒色オブジェクトのエッジ部における各色の画像の位置合わせズレによる好ましくない白か又は薄い色の縁取りの発生や、周囲の画素との色材量の差に起因する画質劣化を防止し、黒のオブジェクトの再現性を向上させている。
【0008】
フォントや線画などを描画する場合、従来より用いられている印字装置などの解像度では斜めのエッジ部にジャギーと呼ばれる凹凸が視認され、視覚的な画質の劣化を生じてしまう場合がある。このようなジャギーを低減するため、いくつかの手法が提案されている。
【0009】
その一つとして、パルス幅変調方式がある。パルス幅変調方式は、印字装置として電子写真方式を用いる場合の高解像度化の方法の一つである。具体的には、中間調のビデオデータに対し、参照する三角波の種類やしきい値などを切り替えて出力することによって、1画素における画像形成位置や面積を制御し、擬似的に解像度を向上させる技術である。例えば特許文献3などにも記載されている。
【0010】
図13は、パルス幅変調方式における画像形成位置の一例の説明図、図14は、パルス幅変調方式により描画された画像の一例の拡大図である。例えば図13に示す例では、出力解像度を主/副走査線ともに2倍にするものとして1画素を4分割し、そのいずれの位置を濃度に応じて選択し、画像形成を行う。具体例として、図14(A)に示すように文字や線画の斜め線が存在する場合、そのままでは階段状の凹凸が視認されやすい。ここでパルス変調方式を用いることによって、図14(B)に示すように1画素以下(ここでは1/4)の画像形成が行われ、階段状の部分の凹凸が小さくなって視覚的になめらかな斜め線が形成されることになる。
【0011】
図15は、パルス幅変調方式を適用した場合の白抜けへの対応の説明図である。上述のようなパルス幅変調方式を用いる場合、背景色上に黒の文字や線画を描画すると、図13に示したパターンを用いて画像形成する画素については黒の画素として処理してしまうため、1画素の領域のうち画像形成された領域以外の部分が白く抜けてしまうという問題がある。例えば図15(A)に示した例では、中央の画素において右下の1/4を黒で画像形成しているが、残りの3/4の領域は白抜けを起こしてしまう。この白抜けが原因となり、文字そのものの画質は向上しても、ページ全体で見た場合に画質が劣化してしまう場合がある。
【0012】
このような不具合を解消するため、図13に示したようなパターンのいずれを用いるかを示す情報を黒色の濃度の代わりに保持するとともに、他のCMY色については黒の文字や線画としての描画を行わずに背景の色を残すことが考えられている。そして、黒色については指定されたパターンで擬似的に高解像度で画像形成するとともに、他の色については背景色による画像形成を行う。これによって図15(B)に示すように擬似的に高解像度で画像形成した画素についても白抜けを防止することができ、印字装置において高画質の画像を形成することができる。なお、このような白抜けの防止処理については、例えば特許文献4等に記載されている。
【0013】
例えば上述の特許文献1に記載されている技術において、このようなパルス幅変調方式の技術を利用しようとすると、背景色の描画を行った上に文字や線画の描画を行うため、文字や線画のエッジ部分における白抜けを防止することができない。また、特許文献2に記載されている技術では、エッジ部分の黒を他の色による黒色に変更してしまうため、背景色は残らず、パルス幅変調方式などを適用することができない。さらに、特許文献3や特許文献4では、基本的にCMYKなどの黒成分を含む色空間において、黒色の濃度情報の代わりに図13に示すパターンのいずれを用いるかを示す情報を保持するものであり、黒色を含まない例えばRGB色空間において図13に示すパターンのいずれを用いるかを示す情報をどのように保持するかについては考慮されていない。さらに、図13に示すパターンのいずれを用いるかを示す情報と背景色をともに保持するための描画処理の高速化が望まれている。
【0014】
【特許文献1】
特開2001−236199号公報
【特許文献2】
特開平10−052947号公報
【特許文献3】
特許第3266576号公報
【特許文献4】
特開2000−242461号公報
【0015】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、高解像度での画像形成が可能であるとともに、高解像度化の際の白抜けを防止し、かつそのような描画処理を高速に行える画像処理装置及び画像処理方法を提供することを目的とするものである。
【0016】
【課題を解決するための手段】
本発明は、入力される描画命令に基づいてビットマップイメージを作成する画像処理装置または画像処理方法であって、描画命令あるいは描画命令から生成された中間コード画像データ中に、色情報とともに該色情報を使用するか否かを示す色指定有効/無効情報を保持させておく。そして、そのような描画命令あるいは中間コード画像データに基づいてレンダリング処理を行う際に、色指定有効/無効情報に従って、色情報をイメージ記憶手段に書き込むか否かを判断してレンダリング処理を行う。例えば色指定有効/無効情報が色情報を使用する設定の場合には、各色情報の値に基づいてビットマップイメージ及び属性情報をイメージ記憶手段へ書き込む。また色指定有効/無効情報が色情報を使用しない設定の場合には、属性情報についてはイメージ記憶手段へ書き込み、各色情報のイメージ記憶手段へ書き込みを行わないことにより背景色を保存する。このように背景色を保存することによって、例えばパルス幅変調方式などによる高解像度化の処理にも対応することができる。それとともに、高解像度化処理の際の白抜けを防止し、文字や線画などの画質を向上させることができる。また、背景色を意識することなく保存することができるため、描画処理を高速化することができる。なお、黒色の情報は、色情報とは別に、例えば属性情報として保持しておくことができる。
【0017】
また本発明では、1画素に対して背景色(R/G/B)の情報と黒色(K)の情報の2つの値を同時に持つ。そのため、RGB色空間上で実行される論理演算に対しては、背景色と黒色(に対応するR=G=Bの値)のそれぞれに対して論理演算を行い、それぞれの結果に基づいてイメージ記憶手段への書き込みを行う。例えば、黒色の情報についての論理演算の結果、RGB全ての色要素の値が等しく、かつ論理演算前の値と等しい場合には、既に演算後の黒色の情報がイメージ記憶手段に保持されているものとする。また、RGB全ての色要素の値が等しいが、論理演算前の値と等しくない場合には、黒色の情報についての論理演算の結果から、演算後の黒色の情報を決定する。これらの場合には、背景色の演算結果はそのまま有効としておく。さらに、RGBの色要素の値に1つでも等しくないものが含まれる場合には、色情報について行った論理演算の結果を無効とし、黒色の情報についての論理演算の結果を、演算後の色情報とすることができる。このとき、属性情報内の描画オブジェクトの種類をグレイフォントあるいはグレイラインからそれぞれフォントあるいはグラフィックスに変更しておく。このような論理演算時の処理を行うことによって、描画された画像の不連続性を防止し、画質を向上させることができる。
【0018】
なお、色指定有効/無効情報は、各色毎に独立に設定可能に構成することができる。また、描画手段の全部又は一部の機能は、専用の回路で構成することができる。
【0019】
【発明の実施の形態】
図1は、本発明の実施の一形態を示す機能ブロック図である。図中、1は上位処理装置、2は画像処理装置、3は印字装置、11は中間コード生成部、12は中間コードメモリ、13は中間コード画像データ展開部、14はバンドバッファ、15は出力制御部である。画像処理装置2は、本発明の画像処理装置あるいは本発明の画像処理方法を実現する装置の一例であり、この例では描画命令を受け取ってバンド毎の中間コード画像データを生成した後、バンド単位のビットマップイメージを作成し、出力する場合を示している。ここでは、描画命令は例えばパーソナルコンピュータなどの上位処理装置1から受け取り、作成したビットマップイメージを印字装置3に出力するものとして図示している。なお、上位処理装置1と画像処理装置2は、ケーブル接続されたり、あるいはLANなどのネットワークによって通信可能に接続されていてよい。また、画像処理装置2と印字装置3とは、配線などによって直結されている場合が多いが、これに限られるものではない。
【0020】
画像処理装置2は、中間コード生成部11、中間コードメモリ12、中間コード画像データ展開部13、バンドバッファ14、出力制御部15を含んで構成されている。中間コード生成部11は、上位処理装置1から送られてくる描画命令を受け取り、その描画命令を解釈してバンド単位の中間コード画像データを生成する。
【0021】
生成する中間コード画像データには、描画する色の情報とともに描画オブジェクトの種類などの属性情報が含まれており、その属性情報の一部として、あるいは属性情報とは別に、その中間コード画像データ中の色情報を使用するか否かを示す色指定有効/無効情報を含んでいる。この色指定有効/無効情報は、例えば色情報中の色成分毎に設定可能にしておくことができる。例えば文字や線画のエッジ部など、高解像度により画像形成が必要な部分では、黒色の情報として例えば図13に示したような高解像度化のためのパターンのいずれを選択するかを示す情報を含んでおり、この場合に色指定有効/無効情報は色情報を使用しない設定とする。
【0022】
描画オブジェクトの種類としては種々の指定が考えられるが、ここでは特に本発明により影響がある描画オブジェクトの種類として少なくとも色情報を使用して文字を描画する「フォント」及び線画などを描画する「グラフィックス」と、高解像度化の処理を行うため色情報を使用せずに文字を描画する「グレイフォント」及び線画などを描画する「グレイライン」が使用されるものとする。なお、中間コード画像データのデータフォーマットの例については後述する。
【0023】
中間コードメモリ12は、中間コード生成部11で生成した中間コード画像データを記憶する。また、例えば中間コード生成部11で上位処理装置1から受け取った描画命令を記憶するなど、中間コード生成部11における処理において利用することも可能である。
【0024】
中間コード画像データ展開部13は、本発明の描画手段の機能を含み、中間コードメモリ12からバンド単位に中間コード画像データを読み出してレンダリングし、ビットマップイメージ及び属性情報を作成してバンドバッファ14に書き込む。なお、属性情報はビットマップイメージの1ないし複数画素毎に付加することができる。ビットマップイメージに付加する属性情報には、上述の高解像度化の処理を行うための黒色の情報を含めておくことができる。
【0025】
中間コード画像データ展開部13は、レンダリング処理の際に中間コード画像データ中の色指定有効/無効情報を参照し、色指定有効/無効情報に従って色情報を前記イメージ記憶手段に書き込むか否かを判断してレンダリング処理を行う。例えば色指定有効/無効情報が色情報を使用する設定の場合には、中間コード画像データ中の色情報に基づいてビットマップイメージを属性情報とともにバンドバッファ14へ書き込む。また、色指定有効/無効情報が色情報を使用しない設定の場合には、色情報についてはバンドバッファ14へ書き込まずに属性情報をバンドバッファ14に書き込む。これによって、既に描画処理が行われた画素については、属性情報は書き換えられるものの、色情報が背景色として残ることになる。従ってレンダリング処理時には背景色に関する特別な処理を行わなくてよいため、処理を高速化することができる。特にレンダリング処理ではバンドバッファ14のアクセスが非常に多く、時間がかかる。従って、バンドバッファ14へのアクセスが減少すれば、それだけ処理を短時間で終えることができ、高速化することができる。なお、ビットマップイメージに付加する属性情報中に黒色の情報を含める場合、その黒色の情報は、中間コード画像データが保持する黒色の情報に基づいて決定することができる。
【0026】
さらに中間コード画像データ展開部13は、描画命令(中間コード画像データ)により論理演算(ROP)処理が指示された場合、指示されたROP処理を実行する。このとき、色指定有効/無効情報が色情報を使用しない設定で黒色の情報を保持している場合、ROP処理は黒色の情報と色情報のそれぞれについて行い、演算結果に基づいてバンドバッファ14への書き込みを行う。この処理についての詳細は後述する。
【0027】
バンドバッファ14は本発明におけるイメージ記憶手段に対応するものであり、中間コード画像データ展開部13で展開したバンド単位のビットマップイメージ及び属性情報を保持する。なお、バンドバッファ14は例えばカラーのビットマップイメージを記憶する際には、色成分毎に別々のプレーンとして記憶する面順次データとして記憶したり、あるいは画素毎にすべての色成分のデータを保持する点順次データとして記憶することができる。また、バンドバッファ14として、1バンド分の記憶領域を有するほか、複数バンド分の記憶領域を有し、中間コード画像データ展開部13によるビットマップイメージ及び属性情報の書き込みと、出力制御部15による読み出しを並行して行えるように構成することもできる。ビットマップイメージと属性情報は、画素毎に両者を保持するほか、ビットマップイメージと属性情報を別々の領域に保持しても良い。
【0028】
出力制御部15は、バンドバッファ14に展開されたビットマップイメージを読み出し、印字装置3などに転送する。このとき、高解像度化のための黒色の情報を含む場合には、その黒色の情報に従って印字装置3を制御し、高解像度の画像形成を行わせる。その場合、背景色についても画像形成を行わせ、白抜けを防止する。
【0029】
図2は、本発明の実施の一形態における、より具体的な機能ブロック図である。図中、21は入力制御部、22は描画命令解釈部、23は中間コード画像データ生成部、31は中間コード画像データ解釈部、32は圧縮/伸長処理部、33は縮小/拡大処理部、34は色変換部、35は点面変換部である。実線の矢印はデータの流れを示し、破線の矢印は制御の流れを示している。
【0030】
この例では、中間コード生成部11は、入力制御部21、描画命令解釈部22、中間コード画像データ生成部23を含んで構成されている。また中間コード画像データ展開部13は、中間コード画像データ解釈部31、圧縮/伸長処理部32、縮小/拡大処理部33、色変換部34、点面変換部35を含んで構成されている。
【0031】
入力制御部21は、上位処理装置1などから送られてくる描画命令を受信し、中間コードメモリ12に記憶させる。そして描画命令解釈部22を起動する。描画命令解釈部22は、中間コードメモリ12に記憶されている描画命令を順に読み出し、解釈する。そして、この描画命令の解釈処理によって得られた情報(属性情報、色情報、エッジ情報、イメージなど)を中間コード画像データ生成部23に引き渡す。中間コード画像データ生成部23は、上述の中間コード生成部11における中間コード画像データの生成に関する各種の機能を実行し、描画命令解釈部22から渡された情報から、バンド単位で中間コード画像データを生成し、中間コードメモリ12に格納する。
【0032】
図3は、従来の中間コード画像データの一例の説明図、図4は、本発明において用いる中間コード画像データの一例の説明図である。描画オブジェクトの種類としては、グラフィックス、フォント、イメージなどが挙げられる。このうち、グラフィックスやフォントについては、中間コード画像データのみで表現可能であるが、イメージの場合には、中間コード画像データとイメージの2つで構成される。
【0033】
従来の中間コード画像データでは、いずれの描画オブジェクトの場合もヘッダ部とボディ部で構成されている。ヘッダ部は、例えばグラフィックスやフォントの場合には、図3(A)に示すようにコマンドID、属性情報フィールドと、色情報、その他の情報が含まれている。また例えばイメージの場合には、図3(B)に示すように、コマンドID、属性情報フィールドと、イメージへのポインタ、その他の情報が含まれている。イメージの場合には、色情報はイメージ自体が保持することになる。ボディ部には、描画命令解釈部22から渡されたエッジ情報から作成した描画領域を指定する情報、例えばランレングス情報等を保持する。
【0034】
図3に示した例では、色情報としてRGB色空間におけるそれぞれの色成分の情報を保持するものとし、3つのフィールドで構成されている。例えばCMYK色空間における色情報を保持する場合は、4つのフィールドによって構成されることになる。なお、イメージについても同様であるが、例えば2値画像であれば1フィールドのみで構成される。
【0035】
最近、上位処理装置1上のドキュメント作成のアプリケーションでは、ディスプレイ上で複数の画像が重なる位置に描かれる場合に、元の画像と新たに書き込まれた画像に対し指定された論理演算により両方の画像を重ね合わせて表示し、また作成したドキュメントを印字する場合には、例えばMicrosoft社製のGDIなどのインタフェースを通して、合成された画像ではなく、元の画像と新たに書き込まれた画像とそれらの重ね合わせを行う論理演算子をドライバソフトウェアに渡し、それらをもとにドライバソフトウェアは描画命令を生成する。これにより、画像処理装置2が受信した描画命令の色空間はRGBであり、また元の画像と新たに書き込まれた画像間の論理演算はまだ実行されていないため、中間コード画像データ生成部15で生成される中間コード画像データの色空間はRGBである必要がある。そのため、図3に示した例における色情報は、RGB色空間を使用して示している。グレイ色を表現する場合には、グラフィックスやフォントの場合には色情報としてR=G=Bとすれば良く、イメージの場合にも画素の色情報をR=G=Bとすればよい。
【0036】
本発明の中間コード画像データのデータフォーマットの一例を図4に示している。図4に示す例では、通常、中間コード画像データが扱う色空間としてCMYK色空間とRGB色空間の両方を想定しているために色情報を格納するフィールドを4つ設けている。この場合、色空間がRGB色空間の場合には、色情報を格納するフィールドが1つ余る。このフィールドを色指定有効/無効情報と黒色の情報を格納するフィールドとして使用することができる。通常、1つの色成分の情報を格納する領域のサイズは8ビット(各色のレベルが0〜255により)である。1つ余ったフィールドも8ビットを利用できるので、色指定有効/無効情報の領域として1ビット、残りの領域に黒色の情報を格納することができる。
【0037】
この場合、黒色の情報を保持する領域が7ビットとなってしまい、黒色のレベルが0〜127の範囲しか設定できなくなる。しかし、パルス幅変調方式を用いた高解像度化の処理を行うために、例えば図13に示したようなパターンのいずれかを示すだけであれば0〜15の値を保持できればよく、4ビット分の領域があれば十分である。ただし、図4に示した黒色の情報の領域に設定された値は実際の濃度値とは異なるものであるため、この黒色の情報が有効か否かを識別するために、ここでは描画オブジェクトの種類として、黒色の情報を有する「フォント」として「グレイフォント」、黒色の情報を有する「グラフィックス」として「グレイライン」の2種類を追加している。
【0038】
ここでは色指定有効/無効情報と黒色の情報を同じフィールドに含めた例を示しているが、例えば当該フィールドを黒色の情報のみで使用し、色指定有効/無効情報は属性情報フィールドやその他のフィールドに含めても良い。
【0039】
図5は、本発明において用いる中間コード画像データの別の例の説明図である。図5に示す例では、黒色の情報を属性情報フィールドに含め、また色指定有効/無効情報をその他の情報の一部として含めて構成した例を示している。また図5に示す例では、色指定有効/無効情報を色成分毎に独立に持たせている。これにより汎用性を高めている。また、上述の図4に示す例ではCMYK色空間である場合には色指定有効/無効情報を保持することができないが、図5に示す例ではCMYK色空間の場合でも同様に各色に対して色情報の有効/無効を設定可能となる。
【0040】
なお、高解像度化のための黒色の情報は、例えば図13に示したパターンのいずれかを示すものに限られるものではなく、様々な分割パターンを適用することができる。
【0041】
図2に戻り、中間コード画像データ展開部13の中間コード画像データ解釈部31は、上述の中間コード画像データ展開部13の機能として説明した多くの機能を実行するものであり、中間コードメモリ12から中間コードを順に取り出して解釈し、バンド単位でバンドバッファ14に描画処理し、ビットマップイメージに展開する。また、描画した画素に対応する属性情報についてもビットマップイメージとともにバンドバッファ14に格納する。図6は、バンドバッファへの書き込み処理の一例の説明図である。中間コード画像データ解釈部31は、バンドバッファ14へビットマップイメージを書き込む際に、中間コード画像データ中の色指定有効/無効情報を参照する。そして、色指定有効/無効情報が色情報を使用する設定の場合には、図6(A)に示すように、中間コード画像データ中の色情報(R,G,B)及び属性情報をバンドバッファ14へ書き込む。また、色指定有効/無効情報が色情報を使用しない設定の場合には、図6(B)に示すように、色情報についてはバンドバッファ14へ書き込まず、属性情報をバンドバッファ14に書き込む。これによって、既に描画処理が行われた画素については、属性情報は書き換えられるものの、色情報が背景色として残ることになる。また、図6における属性情報には、高解像度化の処理を行うための黒色の情報を含めておく。従って高解像度化の処理を行う際には、属性情報中の黒色の情報によって高解像度の画像形成を行うことができるとともに、背景色の情報を用いた白抜けを防止するための処理を行うことができる。また中間コード画像データ解釈部31は、論理演算が指定された場合に、指定された論理演算についても実際に実行する。このとき、バンドバッファ14に書き込むビットマップイメージの色空間としてRGB色空間を採用することによって、正しく簡単に論理演算を行うことができる。なお、黒色の情報を保持している場合には、色情報と黒色の情報についてそれぞれ論理演算し、その結果に応じて演算結果を決定する。
【0042】
再び図2に戻り、圧縮/伸長処理部32は、圧縮されたイメージを伸長してバンドバッファ14に書き込む。縮小/拡大処理部33は、描画するオブジェクトがイメージの時、中間コードメモリ12に格納されている中間コード画像データ中の拡大率に従って、イメージを縮小あるいは拡大処理する。
【0043】
色変換部34は、バンドバッファ14中のビットマップイメージに対して、それぞれの描画オブジェクトに応じた色空間変換処理や色補正処理などを行う。このときビットマップイメージに付加されている属性情報に従って処理を行うことができる。色空間変換処理として、上述のようにビットマップイメージの色情報としてRGB色空間の色情報をバンドバッファ14に書き込んでいる場合、印字装置3が要求する例えばCMYK色空間の色情報に変換する。このとき、黒色の情報が高解像度化の処理のための情報である場合には、この黒色の情報を保存するように色変換を行う。また、高解像度化の処理を行わないグレイなどの色では、例えばグラフィックスやフォントの場合には単独色の黒色に変換し、イメージの場合にはプロセス黒(シアン、マゼンダ、黄色あるいはさらに黒色の混色)に変換するなどといったことが可能である。
【0044】
点面変換部35は、バンドバッファ14にビットマップイメージを記憶する際に、例えば図6に示すように画素毎にすべての色成分のデータを保持する点順次データとして記憶しているとき、印字装置3が色成分毎に別々のプレーンとして記憶する面順次データを要求する場合、点順次データから面順次データへ変換する。もちろん、面順次データとして記憶されているビットマップイメージを、点順次データへ変換する機能を有していても良い。
【0045】
なお、中間コード画像データ展開部13の全部又は一部の構成、あるいはさらにバンドバッファ14などは、専用の回路で構成することが可能である。これによって高速に処理を行うことが可能である。
【0046】
次に、本発明の実施の一形態における動作の一例について説明する。例えば、パーソナルコンピュータなどの上位処理装置1と画像処理装置2がネットワークなどで接続されているようなプリントシステムにおいては、上位処理装置1からネットワークなどを通じて描画命令が画像処理装置2に送られてくるので、画像処理装置2は入力制御部21で描画命令を受け取って中間コードメモリ12に格納する。一連の描画命令を受信したら、あるいは描画命令の受信と並行して、描画命令解釈部22及び中間コード画像データ生成部23が動作する。描画命令解釈部22は、上位処理装置1から受け取った描画命令を解釈し、解釈結果を中間コード画像データ生成部23に渡す。画像データ生成部23は、描画命令解釈部22から渡された解釈結果に基づき、それぞれのバンド毎の中間コード画像データを生成する。このとき、文字や線画のエッジ部分など、高解像度化の処理を行う必要のある部分については、そのパターン情報を黒色の情報として生成し、また色指定有効/無効情報については色情報を無効に設定しておく。さらに描画オブジェクトの種類として「グレイフォント」あるいは「グレイライン」に設定する。
【0047】
例えば1ページ分など、一連の描画命令について中間コード画像データの生成が終了したら、中間コード画像データ展開部13が起動され、中間コード画像データ解釈部31は中間コードメモリ12に格納されている中間コード画像データに従ってレンダリング処理を行う。
【0048】
図7は、本発明の実施の一形態における基本的なレンダリング処理の一例を示すフローチャートである。なお、図7に示す処理例では、中間コード画像データはそれぞれの主走査ライン毎に描画開始点と終了点あるいはランレングスとの組(エッジリスト)を1ないし複数組保持しているものとする。
【0049】
S41において、中間コードメモリ12に格納されている中間コード画像データを1つ取り出し、そのヘッダ部の情報を解析する。このヘッダ部には、図4や図5に示したようにRGBの色情報や高解像度化の処理のための黒色の情報、色指定有効/無効情報などが含まれている。S42において色指定有効/無効情報を調べ、色情報が有効か否かを判定する。色情報が有効であれば、中間コード画像データ中のボディ部に格納されているそれぞれのエッジリストについて、S43〜S47の処理を繰り返す。また、それぞれのエッジリストについて、描画開始点から描画終了点までの画素数、あるいはランレングスで指定された画素数だけS44〜S46を繰り返し、S45において、それぞれの画素について図6(A)に示したようにRGBの色情報と属性情報をバンドバッファ14に書き込む。
【0050】
また、S42で色指定有効/無効情報が色情報を無効とする設定であると判定された場合には、それぞれのエッジリストについてS48〜S52を繰り返し、またエッジリスト中のそれぞれの画素についてS49〜S51を繰り返し、S50において、図6(B)に示したように1画素について属性情報のみをバンドバッファ14に書き込む。この場合、RGBの色情報の部分はそのまま残しておく。
【0051】
このように、色指定有効/無効情報に従ってS43〜S47またはS48〜S52の処理を、それぞれの中間コード画像データについて実行する。そして、1バンド分の中間コード画像データについて順に上述の処理を行うことによって、バンドバッファ14に1バンド分の画像が描画されることになる。
【0052】
図7に示した処理の一例では、単純に上書き描画を行う場合について示しているが、描画命令において論理演算が指定されている場合もある。図8、図9は、論理演算を伴うレンダリング処理の一例を示すフローチャートである。なお、ここでは中間コード画像データによりバンドバッファ14に書き込む描画オブジェクトの種類は、高解像度化の処理のための黒色の情報を伴わない通常の描画オブジェクトであるものとする。また、ここでは論理演算の一例として、デスティネーション画像とソース画像の間で論理演算を行うものとし、新たに中間コード画像データから得られる画像をソース画像、すでにバンドバッファ14に書き込まれている画像をデスティネーション画像とする。もちろん2つの画像間の論理演算に限らず、ペン、マスクなどと呼ばれる画像情報を用いる場合であってもよい。
【0053】
中間コード画像データを1つ取り出し、その中間コード画像データに登録されているそれぞれのエッジリスト毎にS61〜S80の処理を繰り返し、また1つのエッジリストにより描画するそれぞれの画素毎にS62〜S79の処理を繰り返す。
【0054】
S63において、バンドバッファ14に書き込まれているビットマップイメージの属性情報から、描画オブジェクトの種類が「グレイフォント」や「グレイライン」などのように高解像度化処理のための黒色の情報を保持している描画オブジェクトの種類であるか否かを判定する。
【0055】
バンドバッファ14に書き込まれているビットマップイメージの描画オブジェクトの種類が「グレイフォント」や「グレイライン」などでなければ、通常の論理演算を伴う描画処理を行う。すなわち、S64においてバンドバッファ14に格納されているビットマップイメージの色情報をデスティネーションとし、また中間コード画像データから得られる色情報をソースとして、指示された論理演算をS65において実行する。S66において、演算結果をバンドバッファ14に書き込み、1画素の論理演算を伴う描画処理を終了する。これによって、描画オブジェクトの種類が「グレイフォント」や「グレイライン」などでない場合の論理演算を伴う1画素の描画処理が行われる。
【0056】
バンドバッファ14に書き込まれているビットマップイメージの描画オブジェクトの種類が「グレイフォント」や「グレイライン」などの場合には、RGBの色情報と黒色の情報とについて、それぞれ、論理演算を実行する。そして、その結果に応じてイメージバッファ14への書き込みを行う。
【0057】
すなわち、まずS67においてバンドバッファ14に格納されているビットマップイメージの色情報をデスティネーションとし、また中間コード画像データから得られる色情報をソースとして、指示された論理演算をS68において実行し、S69において、演算結果の色情報をバンドバッファ14に書き込む。これは、背景色に対する論理演算であり、周囲の色との一致性を保証するためのものである。
【0058】
さらに、バンドバッファ14に書き込まれているビットマップイメージ中の高解像度化処理のための黒色の情報について、論理演算を行う。S70において、バンドバッファ14に書き込まれている属性情報中の黒色の情報からRGBの色情報を算出し、これをデスティネーションとする。また中間コード画像データから得られる色情報をソースとして、指示された論理演算をS71において行う。
【0059】
このようにしてバンドバッファ14に書き込まれている属性情報中の高解像度化処理のための黒色の情報とビットマップイメージの色情報とについてそれぞれ論理演算を行う。そして、論理演算の結果をバンドバッファ14に書き戻す際には、ここでは黒色の情報に対して行った論理演算の結果に基づいて行う。高解像度化処理を行わなければ、当該画素はグレイ色(黒色)によって描画されていた画素であるので、黒色の情報に対して行った論理演算の結果を優先するためである。
【0060】
S72において、黒色の情報に対して行った論理演算の結果をR’G’B’とするとき、R’=G’=B’であるか否かを判定する。R’=G’=B’であれば、論理演算の結果はグレイ色であるので、黒色の情報を保持して良いことが想定される。この場合、さらにS73において、論理演算前のRGB(R=G=B)の値と論理演算後のR’G’B’(R’=G’=B’)の値を比較する。値の比較はR=G=B及びR’=G’=B’であるので、R成分、G成分、B成分のいずれを比較しても良いが、ここでは論理演算前のRと論理演算後のR’を比較している。比較の結果、両者が同じ値であれば演算前の黒色の情報をそのまま保持すればよい。従って、属性情報のバンドバッファ14への書き込みは行わない。
【0061】
また、論理演算前のRと論理演算後のR’を比較した結果、等しくない場合には、論理演算によってグレイ色としての濃度が変更されることになる。このような場合には、S74において論理演算後のR’(=G’=B’)から改めて高解像度化処理のための黒色の情報を作成し、属性情報としてバンドバッファ14に書き込む。
【0062】
S72でR=G=Bではない(例えばR≠GやR≠Bなど)場合には、論理演算によってグレイ(黒)以外の色に変更されることを示している。従って、論理演算結果を当該画素の色情報として保持する必要がある。そのためS75において、論理演算後の色情報をバンドバッファ14に書き込む。これによって、S69で書き込まれた背景色を用いた論理演算結果は無効となる。
【0063】
また、S76で中間コード画像データの描画オブジェクトの種類が「グレイフォント」か否かを判定し、「グレイフォント」であればS77で描画オブジェクトの種類を「フォント」に変更するとともに色指定有効/無効情報を有効に設定し、属性情報をバンドバッファ14に書き込む。また、中間コード画像データの描画オブジェクトの種類が「グレイライン」であれば、S78において描画オブジェクトの種類を「グラフィックス」に変更するとともに色指定有効/無効情報を有効に設定し、属性情報をバンドバッファ14に書き込む。
【0064】
このようにして、1画素分の論理演算処理を伴う描画処理を行うことができる。このS63〜S78の処理を、エッジリストによって指定される区間あるいはランレングスで指定された画素数だけS62〜S79で繰り返し、さらに、このような処理をそれぞれのエッジリストについてS61〜S80で繰り返す。これによって、1つの中間コード画像データについての論理演算を伴う描画処理を行うことができる。
【0065】
上述のバンドバッファ14に書き込まれているビットマップイメージの描画オブジェクトの種類が「グレイフォント」や「グレイライン」などの場合の1画素の処理について、例を用いて説明する。図10は、バンドバッファ14に書き込まれているビットマップイメージが属性情報として黒色の情報を含む場合の論理演算処理の一例の説明図である。図10において、色の違いはハッチングを異ならせて示している。図10では、論理演算結果においても高解像度化処理のための黒色の情報を保持する場合を示している。いま、バンドバッファ14には図10(A)に示すように右下の1/4を描画する黒色の情報が属性情報として保持され、また背景色が色情報として保持されているものとする。そして、図10(B)に示す中間コード画像データから得られる色情報との間で論理演算を行うものとする。
【0066】
この場合、図8のS67〜S69で説明したように、まず、背景色について論理演算を行う。すなわち、図10(D)に示すようにバンドバッファ14に書き込まれているビットマップイメージのRGBの色情報をデスティネーションとし、図10(E)に示すように中間コード画像データから得られる色情報をソースとして論理演算を行う。これによって図10(F)に示す色情報が得られる。とりあえず、この論理演算によって得られた色情報をバンドバッファ14に書き込む。
【0067】
また、図10(G)に示す黒色の情報は、そのままではRGBの色情報ではないため、R=G=Bの色情報に変換する。そして、変換したR=G=Bの色情報をデスティネーションとし、図10(H)に示す中間コード画像データから得られる色情報をソースとして論理演算を行う。この例では論理演算後もR’=G’=B’の関係が保たれ、さらにR=R’の場合を示しており、図10(I)に示すように図10(G)と同じ黒色の情報が得られる。この場合には、もともと図10(I)と同じ黒色の情報がすでに書き込まれていることから、図10(I)に示す論理演算後の黒色の情報はバンドバッファ14には書き込まないことによって、処理を高速化する。黒色の情報をバンドバッファ14に書き込まなくても、論理演算後の画素は図10(C)に示すように黒色の情報および論理演算後の背景色を有することになる。
【0068】
なお、論理演算後もR’=G’=B’の関係が保たれているがR≠R’である場合には、R’(またはG’、B’)から新たに生成した黒色の情報を属性情報としてバンドバッファ14に書き込むことになる。具体例として論理演算の一つである反転を考えると、図10(G)のパターンは図13からR=G=B=65(=01000001(2進8ビット))の値を持つ色情報に変換される。そして、この色情報に対して反転の論理演算を行う。論理演算の結果としてR’=G’=B’=190(=10111110(2進8ビット))が得られる。論理演算の前後で値が異なるので、R’の値(=190)から黒色の情報を得ることになる。図13を参照して分かるように、値190の形状は、値65の形状を反転したものとなる。このように、論理演算後も反転したエッジの形状を保持することになる。
【0069】
図11は、バンドバッファ14に書き込まれているビットマップイメージが属性情報として黒色の情報を含む場合の論理演算処理の別の例の説明図である。図11においても、色の違いはハッチングを異ならせて示している。図11では、論理演算の結果、別の色に変更されてしまう場合を示している。いま、バンドバッファ14には図11(A)に示すように右下の1/4を描画する黒色の情報が属性情報として保持され、また背景色が色情報として保持されているものとする。そして、図11(B)に示す中間コード画像データから得られる色情報との間で論理演算を行うものとする。
【0070】
この場合も、まず背景色について論理演算を行う。すなわち、図11(D)に示すようにバンドバッファ14に書き込まれているビットマップイメージのRGBの色情報をデスティネーションとし、図11(E)に示すように中間コード画像データから得られる色情報をソースとして論理演算を行う。これによって図11(F)に示す色情報が得られる。とりあえず、この論理演算によって得られた色情報をバンドバッファ14に書き込む。
【0071】
また、図11(G)に示す黒色の情報は、そのままではRGBの色情報ではないため、R=G=Bの色情報に変換する。そして、変換したR=G=Bの色情報をデスティネーションとし、図11(H)に示す中間コード画像データから得られる色情報をソースとして論理演算を行う。この例では論理演算後のR’、G’、B’はR’=G’=B’の関係を満たしていないとする。例えばB’≠G’であったり、G’≠R’である場合、R’=G’=B’の関係を満たさなくなる。このような場合には、図11(I)に論理演算結果を示しているが、この論理演算結果をバンドバッファ14にビットマップイメージの色情報として書き込む。これによって、図11(F)に示した背景色に対する論理演算結果は上書きされて無効となる。演算結果としては図11(C)に示すように、図11(I)に示した論理演算結果となる。なお、この場合には、描画オブジェクトの種類を「グレイフォント」から「フォント」へ、あるいは「グレイライン」から「グラフィックス」へ変更する。これによって、黒色の情報は参照されなくなり、右下1/4の黒の描画は行われなくなる。よって図11(I)に示すような論理演算結果が得られる。
【0072】
なお、上述の論理演算を伴う描画処理の例では、中間コード画像データは黒色の情報を伴わないものとして説明しているが、中間コード画像データが黒色の情報を伴う場合には、中間コード画像データの黒色の情報をR=G=Bの色情報に変換してソースとし、論理演算を行えばよい。あるいは、中間コード画像データが黒色の情報を伴っている場合には上書き描画のみとしてもよい。
【0073】
図12は、本発明の実施の一形態における色変換処理の一例を示すフローチャートである。上述のようにして例えば1バンド分の中間コード画像データに従ったレンダリング処理が終了すると、バンドバッファ14にはRGB色空間の色情報と属性情報を有するビットマップイメージが書き込まれている。例えば印字装置3がCMYK色空間の色情報を必要とする場合、RGB色空間からCMYK色空間への変換が必要になる。色変換部34は、この色空間の変換を行う。
【0074】
色変換部34は、S91〜S96の処理を1バンド分のそれぞれの画素について行う。S92において、当該画素の描画オブジェクトの種類が「グレイフォント」または「グレイライン」であるか否かを判定する。これらの描画オブジェクトの種類である場合には、S93において、背景色となるRGB色空間の色情報を、CMY色空間の色情報に変換する。この場合には、Kを用いないように変換する。そして、S94において属性情報中の高解像度化処理のための黒色の情報に基づいてKの値を決定する。これによって、高解像度化処理のための黒色の情報とともに背景色を残したまま、色変換を行うことができる。
【0075】
また、当該画素の描画オブジェクトの種類が「グレイフォント」または「グレイライン」以外の場合には、S95において、RGB色空間の色情報を、CMYK色空間の色情報に変換すればよい。
【0076】
このようにして色変換されたビットマップイメージは、さらに必要に応じて点面変換部35において点順次の情報を面順次の情報に変換する点面変換処理を行った後、出力制御部15がビットマップイメージを印字装置3などに出力する。このとき、K色の情報として高解像度化処理のための黒色の情報が格納されている場合には、印字装置3を制御して、その画素について局所的に高解像度化のための処理を行う。例えばパルス幅変調方式を用いる場合には、パルスの種類や閾値などの制御を行うことによって、擬似的に高解像度で画素を形成することができる。
【0077】
以上、本発明の実施の一形態について説明したが、本発明はこの実施の形態に限られるものではなく、種々の変形が可能である。例えば上述の説明では、バンド毎に中間コード画像データを生成してからレンダリング処理を行っているが、例えばページ単位にレンダリングしたり、中間コード画像データを生成せずに描画命令から直接、レンダリング処理を行うように構成しても良い。
【0078】
【発明の効果】
以上の説明から明らかなように、本発明によれば、高解像度化の処理に対応して高画質の画像を形成することができるとともに、その際の白抜けを防止し、画質を向上させることができる。また、レンダリング処理時には背景色を意識する必要がないため、白抜けを防止するための処理を高速に実行することができる。さらに、高解像度化の処理のための黒色の情報を保存しながら、論理演算を伴う描画処理も正確に行うことができる。このように、全体として高速に、しかも高画質の画像を得ることができるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の一形態を示す機能ブロック図である。
【図2】本発明の実施の一形態における、より具体的な機能ブロック図である。
【図3】従来の中間コード画像データの一例の説明図である。
【図4】本発明において用いる中間コード画像データの一例の説明図である。
【図5】本発明において用いる中間コード画像データの別の例の説明図である。
【図6】バンドバッファへの書き込み処理の一例の説明図である。
【図7】本発明の実施の一形態における基本的なレンダリング処理の一例を示すフローチャートである。
【図8】論理演算を伴うレンダリング処理の一例を示すフローチャートである。
【図9】論理演算を伴うレンダリング処理の一例を示すフローチャート(続き)である。
【図10】バンドバッファ14に書き込まれているビットマップイメージが属性情報として黒色の情報を含む場合の論理演算処理の一例の説明図である。
【図11】バンドバッファ14に書き込まれているビットマップイメージが属性情報として黒色の情報を含む場合の論理演算処理の別の例の説明図である。
【図12】本発明の実施の一形態における色変換処理の一例を示すフローチャートである。
【図13】パルス幅変調方式における画像形成位置の一例の説明図である。
【図14】パルス幅変調方式により描画された画像の一例の拡大図である。
【図15】パルス幅変調方式を適用した場合の白抜けへの対応の説明図である。
【符号の説明】
1…上位処理装置、2…画像処理装置、3…印字装置、11…中間コード生成部、12…中間コードメモリ、13…中間コード画像データ展開部、14…バンドバッファ、15…出力制御部、21…入力制御部、22…描画命令解釈部、23…中間コード画像データ生成部、31…中間コード画像データ解釈部、32…圧縮/伸長処理部、33…縮小/拡大処理部、34…色変換部、35…点面変換部。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing technique for generating a bitmap image by performing a rendering process based on an input drawing command or intermediate code image data generated from the drawing command, and outputting the bitmap image to a printing device or the like.
[0002]
[Prior art]
An image processing apparatus that receives a print command from a higher-level processing device such as a personal computer receives and sequentially interprets a drawing command, which is actual print information, and creates and outputs a bitmap image. In this process, if the image processing device holds a page buffer, the interpreted bitmap image is written as is to the page buffer (rendering process) and output in page units. Further, since the page buffer requires a large storage capacity, it often holds not a page buffer but a buffer (band buffer) in units of bands obtained by dividing one page into a plurality. In such a case, the intermediate code image data is converted into band-based intermediate code image data once, all the rendering commands are interpreted, and the intermediate code image data is generated. Performs rendering processing to write to the band buffer.
[0003]
Normally, a bitmap image written in a page buffer or a band buffer is subjected to a correction process before being transmitted to a printing device or the like. For example, if the color space designation by the drawing command is RGB, the color space must be converted to CMYK in order to output to the printing device. However, if the color space conversion is uniformly performed on all the bitmap images, a problem occurs in the printing quality. Therefore, it is desirable to perform processing in accordance with the drawing contents (font, graphics, image, and the like). In order to perform a process according to the drawing content, attribute information indicating what drawing content (font, graphics, image, etc.) of each drawing command is required at the time of the color conversion process. For this reason, attribute information is added to one or several pixels at the time of generating a bitmap image by rendering processing based on the drawing content of the drawing command. In an image processing apparatus that holds a band buffer and performs a rendering process on a band-by-band basis, attribute information of a rendering command is passed to intermediate code image data, and attribute information is assigned to a bitmap image developed in the band buffer. Will be added. Then, with reference to the attribute information added to the bitmap image, a correction process is performed on the developed bitmap image.
[0004]
On the other hand, by specifying the color space by the drawing command or the intermediate code image data from the beginning to the CMYK color space, which is the color space required by the printing device or the like, the color conversion processing becomes unnecessary, and at least the attribute information for color conversion Is no longer necessary. However, when the software on the higher-level processing device uses Windows (registered trademark) GDI (Graphic Device Interface), the image processing device must cope with the processing of a logical operation (ROP: Raster Operation). Since this ROP process is based on RGB as the color space, if the rendering command or the color space specification of the intermediate code image data is set to CMYK from the beginning, the result after the logical operation will be different from the assumed one, and the printing quality will be poor. descend.
[0005]
Therefore, the color space of the drawing command or the intermediate code image data is premised on RGB, and in order to improve the printing quality of fonts and the like, it is important to hold the drawing contents of each dot faithfully. This is especially true if there is a background of the drawing content.
[0006]
As an example, in the image processing method described in Patent Literature 1, a text object drawing instruction includes information indicating a character string, a character color, and a background color, the background color is for graphics, and the character color is It has been devised to perform color processing for text. This prevents the processing of the background color around the character from being changed, and renders a uniform background color.
[0007]
Also, for example, in Patent Document 2, instead of forming a black image using a black color material for an edge portion, a color material of another color (for example, cyan (C), magenta (M), yellow (Y)) or a color material of these colors is used. It is described that a color material having a color of (1) and a black color material are mixed and used. This causes undesired white or light-colored borders due to misregistration of the images of the respective colors at the edge portion of the single-color black object on the color background, and is caused by a difference in the amount of color material from surrounding pixels. Image quality deterioration is prevented, and the reproducibility of black objects is improved.
[0008]
When drawing fonts, line drawings, and the like, irregularities called jaggies are visually recognized at oblique edges at the resolution of a conventionally used printing device or the like, which may cause a visual degradation in image quality. Several techniques have been proposed to reduce such jaggies.
[0009]
One of them is a pulse width modulation method. The pulse width modulation method is one of the methods for increasing the resolution when an electrophotographic method is used as a printing device. Specifically, by switching the type and threshold value of the triangular wave to be referred to and outputting the halftone video data, the image forming position and area in one pixel are controlled, and the resolution is improved in a pseudo manner. Technology. For example, it is described in Patent Document 3 and the like.
[0010]
FIG. 13 is an explanatory diagram of an example of an image forming position in the pulse width modulation method, and FIG. 14 is an enlarged view of an example of an image drawn by the pulse width modulation method. For example, in the example shown in FIG. 13, one pixel is divided into four parts assuming that the output resolution is doubled for both the main and sub-scanning lines, and any of the positions is selected in accordance with the density to form an image. As a specific example, when there is a diagonal line of a character or a line drawing as shown in FIG. Here, by using the pulse modulation method, as shown in FIG. 14B, an image of one pixel or less (in this case, 1/4) is formed, and the unevenness of the step-like portion is reduced, so that it is visually smooth. The oblique line is formed.
[0011]
FIG. 15 is an explanatory diagram of how to deal with white spots when the pulse width modulation method is applied. In the case of using the pulse width modulation method as described above, if a black character or a line image is drawn on a background color, a pixel for forming an image using the pattern shown in FIG. 13 is processed as a black pixel. There is a problem that a portion other than the image-formed region of the one-pixel region is whitened out. For example, in the example shown in FIG. 15A, an image is formed in black at the lower right quarter in the center pixel, but white areas occur in the remaining 3/4 region. Due to this white spot, even if the image quality of the character itself is improved, the image quality may deteriorate when viewed on the entire page.
[0012]
In order to solve such a problem, information indicating which of the patterns as shown in FIG. 13 is to be used is stored instead of the black density, and the other CMY colors are drawn as black characters or line drawings. It is conceived to leave the background color without performing the process. Then, for a black color, an image is formed at a pseudo high resolution in a designated pattern, and for the other colors, an image is formed using a background color. As a result, as shown in FIG. 15B, it is also possible to prevent white spots from being formed in a pseudo-high-resolution image, and to form a high-quality image in a printing apparatus. It should be noted that such white spot prevention processing is described in, for example, Patent Document 4 and the like.
[0013]
For example, in the technique described in Patent Document 1 described above, if an attempt is made to use such a technique of the pulse width modulation method, a character or a line drawing is drawn after drawing a background color. Cannot prevent white spots at the edge portions of. Further, in the technique described in Patent Document 2, since the black at the edge portion is changed to black by another color, the background color does not remain and the pulse width modulation method or the like cannot be applied. Further, in Patent Document 3 and Patent Document 4, information indicating which of the patterns shown in FIG. 13 is used instead of the black density information in a color space including a black component such as CMYK is basically held. There is no consideration on how to hold information indicating which of the patterns shown in FIG. 13 is used in, for example, an RGB color space that does not include black. Further, it is desired to increase the speed of the drawing process for holding both the information indicating which of the patterns shown in FIG. 13 to be used and the background color.
[0014]
[Patent Document 1]
JP 2001-236199 A
[Patent Document 2]
JP-A-10-052947
[Patent Document 3]
Japanese Patent No. 3266576
[Patent Document 4]
JP-A-2000-242461
[0015]
[Problems to be solved by the invention]
The present invention has been made in view of the above-described circumstances, and it is possible to form an image at a high resolution, to prevent white spots at the time of increasing the resolution, and to perform such a drawing process at a high speed. It is an object to provide a processing device and an image processing method.
[0016]
[Means for Solving the Problems]
The present invention relates to an image processing apparatus or an image processing method for creating a bitmap image based on an input drawing command, wherein the drawing command or intermediate code image data generated from the drawing command contains the color information together with color information. Color designation valid / invalid information indicating whether to use the information is held. Then, when rendering processing is performed based on such a drawing command or intermediate code image data, it is determined whether or not to write color information into the image storage means in accordance with color designation valid / invalid information, and rendering processing is performed. For example, when the color specification valid / invalid information is set to use color information, the bitmap image and the attribute information are written to the image storage unit based on the value of each color information. When the color specification valid / invalid information is set not to use color information, the attribute information is written to the image storage means, and the background color is stored by not writing each color information to the image storage means. By storing the background color in this manner, it is possible to cope with a process of increasing the resolution by, for example, a pulse width modulation method. At the same time, it is possible to prevent white spots at the time of high resolution processing, and to improve the image quality of characters and line drawings. Further, since the image can be saved without being aware of the background color, the drawing process can be sped up. The black information can be stored separately from the color information, for example, as attribute information.
[0017]
Further, in the present invention, one pixel has two values of information of background color (R / G / B) and information of black (K) at the same time. Therefore, with respect to the logical operation performed on the RGB color space, the logical operation is performed on each of the background color and black (the value of R = G = B corresponding thereto), and the image is calculated based on each result. Write to the storage means. For example, as a result of the logical operation on the black information, if the values of all the RGB color elements are equal and equal to the values before the logical operation, the black information after the operation is already stored in the image storage means. Shall be. If the values of all the RGB color elements are equal but not equal to the values before the logical operation, the black information after the operation is determined from the result of the logical operation on the black information. In these cases, the calculation result of the background color is kept valid. Further, if at least one of the RGB color element values is not equal, the result of the logical operation performed on the color information is invalidated, and the result of the logical operation on the black information is changed to the color after the operation. It can be information. At this time, the type of the drawing object in the attribute information is changed from gray font or gray line to font or graphics, respectively. By performing the processing at the time of such a logical operation, discontinuity of a drawn image can be prevented, and image quality can be improved.
[0018]
The color designation valid / invalid information can be configured to be independently set for each color. In addition, all or a part of the function of the drawing unit can be configured by a dedicated circuit.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a functional block diagram showing an embodiment of the present invention. In the figure, 1 is an upper processing device, 2 is an image processing device, 3 is a printing device, 11 is an intermediate code generation unit, 12 is an intermediate code memory, 13 is an intermediate code image data development unit, 14 is a band buffer, and 15 is an output. It is a control unit. The image processing apparatus 2 is an example of an image processing apparatus of the present invention or an apparatus for realizing the image processing method of the present invention. In this example, after receiving a drawing instruction and generating intermediate code image data for each band, 2 is generated and output. Here, the drawing command is illustrated as receiving the drawing command from the host processor 1 such as a personal computer and outputting the created bitmap image to the printing device 3. Note that the upper processing device 1 and the image processing device 2 may be connected by a cable or communicably connected by a network such as a LAN. In many cases, the image processing device 2 and the printing device 3 are directly connected by a wire or the like, but the present invention is not limited to this.
[0020]
The image processing device 2 includes an intermediate code generation unit 11, an intermediate code memory 12, an intermediate code image data development unit 13, a band buffer 14, and an output control unit 15. The intermediate code generation unit 11 receives a drawing command sent from the host processor 1, interprets the drawing command, and generates band-based intermediate code image data.
[0021]
The generated intermediate code image data includes attribute information such as the type of a drawing object together with information on a color to be drawn, and is included in the intermediate code image data as a part of the attribute information or separately from the attribute information. Color specification valid / invalid information indicating whether or not to use the color information. This color designation valid / invalid information can be settable, for example, for each color component in the color information. For example, a portion requiring image formation with high resolution, such as an edge portion of a character or a line drawing, includes, as black information, information indicating which of the patterns for high resolution as shown in FIG. 13 is to be selected. In this case, the color designation valid / invalid information is set so as not to use the color information.
[0022]
Various designations can be considered as the type of the drawing object. In this case, in particular, as the type of the drawing object affected by the present invention, a “font” that draws a character using at least color information and a “graphic that draws a line drawing” And "Gray font" for drawing characters without using color information and "Gray line" for drawing line drawings for high resolution processing. An example of the data format of the intermediate code image data will be described later.
[0023]
The intermediate code memory 12 stores the intermediate code image data generated by the intermediate code generator 11. Further, for example, the intermediate code generation unit 11 can store the drawing command received from the higher-level processing device 1 and use it in the processing in the intermediate code generation unit 11.
[0024]
The intermediate code image data developing unit 13 includes the function of the drawing unit of the present invention, reads out the intermediate code image data in band units from the intermediate code memory 12 and renders it, creates a bitmap image and attribute information, and Write to. The attribute information can be added for each of one or more pixels of the bitmap image. The attribute information to be added to the bitmap image may include black information for performing the above-described high resolution processing.
[0025]
The intermediate code image data developing unit 13 refers to the color specification valid / invalid information in the intermediate code image data at the time of the rendering process, and determines whether to write the color information to the image storage unit according to the color specification valid / invalid information. Judge and perform the rendering process. For example, when the color specification valid / invalid information is set to use color information, the bitmap image is written to the band buffer 14 together with the attribute information based on the color information in the intermediate code image data. If the color designation valid / invalid information is set not to use color information, the attribute information is written to the band buffer 14 without writing the color information to the band buffer 14. As a result, for the pixels for which the rendering processing has been performed, the attribute information is rewritten, but the color information remains as the background color. Therefore, it is not necessary to perform a special process on the background color at the time of the rendering process, so that the process can be sped up. In particular, in the rendering processing, access to the band buffer 14 is extremely large, and it takes time. Therefore, if the number of accesses to the band buffer 14 decreases, the processing can be completed in a shorter time and the speed can be increased. When black information is included in the attribute information added to the bitmap image, the black information can be determined based on the black information held by the intermediate code image data.
[0026]
Further, when a logical operation (ROP) process is instructed by a rendering command (intermediate code image data), the intermediate code image data developing unit 13 executes the instructed ROP process. At this time, if the color designation valid / invalid information does not use the color information and holds the black information, the ROP process is performed for each of the black information and the color information, and the ROP processing is performed on the band buffer 14 based on the calculation result. Is written. Details of this processing will be described later.
[0027]
The band buffer 14 corresponds to the image storage unit in the present invention, and holds a bitmap image and attribute information in band units developed by the intermediate code image data developing unit 13. When storing a color bitmap image, for example, the band buffer 14 stores the data as plane-sequential data stored as a separate plane for each color component, or holds data of all color components for each pixel. It can be stored as dot sequential data. The band buffer 14 has a storage area for one band and a storage area for a plurality of bands. The intermediate code image data developing unit 13 writes a bitmap image and attribute information, and the output control unit 15 It is also possible to configure so that reading can be performed in parallel. The bitmap image and the attribute information may be stored for each pixel, or the bitmap image and the attribute information may be stored in separate areas.
[0028]
The output control unit 15 reads the bitmap image developed in the band buffer 14 and transfers the read bitmap image to the printing device 3 or the like. At this time, if black information for higher resolution is included, the printer 3 is controlled in accordance with the black information to form a high-resolution image. In that case, image formation is also performed on the background color to prevent white spots.
[0029]
FIG. 2 is a more specific functional block diagram according to the embodiment of the present invention. In the figure, 21 is an input control unit, 22 is a rendering command interpretation unit, 23 is an intermediate code image data generation unit, 31 is an intermediate code image data interpretation unit, 32 is a compression / decompression processing unit, 33 is a reduction / enlargement processing unit, 34 is a color conversion unit, and 35 is a point plane conversion unit. The solid arrows indicate the flow of data, and the dashed arrows indicate the flow of control.
[0030]
In this example, the intermediate code generation unit 11 is configured to include an input control unit 21, a rendering command interpretation unit 22, and an intermediate code image data generation unit 23. The intermediate code image data expanding section 13 includes an intermediate code image data interpreting section 31, a compression / expansion processing section 32, a reduction / enlargement processing section 33, a color conversion section 34, and a point plane conversion section 35.
[0031]
The input control unit 21 receives the drawing command sent from the host processor 1 or the like, and stores the drawing command in the intermediate code memory 12. Then, the rendering command interpreting unit 22 is started. The drawing command interpreter 22 sequentially reads and interprets the drawing commands stored in the intermediate code memory 12. Then, the information (attribute information, color information, edge information, image, etc.) obtained by the interpretation processing of the drawing command is transferred to the intermediate code image data generation unit 23. The intermediate code image data generation unit 23 executes various functions related to the generation of the intermediate code image data in the above-described intermediate code generation unit 11, and outputs the intermediate code image data in band units from the information passed from the rendering command interpretation unit 22. Is generated and stored in the intermediate code memory 12.
[0032]
FIG. 3 is an explanatory diagram of an example of conventional intermediate code image data, and FIG. 4 is an explanatory diagram of an example of intermediate code image data used in the present invention. The types of drawing objects include graphics, fonts, images, and the like. Of these, graphics and fonts can be represented only by intermediate code image data, but in the case of images, they are composed of two pieces of intermediate code image data and images.
[0033]
In the conventional intermediate code image data, any drawing object is composed of a header part and a body part. For example, in the case of graphics and fonts, the header section includes a command ID, an attribute information field, color information, and other information as shown in FIG. In the case of an image, for example, as shown in FIG. 3B, a command ID, an attribute information field, a pointer to the image, and other information are included. In the case of an image, the color information is held by the image itself. The body section holds information specifying a drawing area created from the edge information passed from the drawing command interpreting section 22, for example, run-length information.
[0034]
In the example shown in FIG. 3, it is assumed that information of each color component in the RGB color space is held as color information, and is composed of three fields. For example, when the color information in the CMYK color space is held, it is composed of four fields. The same applies to an image. For example, a binary image is composed of only one field.
[0035]
Recently, in a document creation application on the host processor 1, when a plurality of images are drawn at overlapping positions on a display, both images are processed by a logical operation specified for an original image and a newly written image. When superimposing and displaying the created document and printing the created document, the original image and the newly written image are superimposed on the newly written image, not the synthesized image, through an interface such as Microsoft GDI. The logical operator for matching is passed to the driver software, and the driver software generates a drawing command based on the logical operator. Accordingly, the color space of the drawing command received by the image processing device 2 is RGB, and the logical operation between the original image and the newly written image has not been executed yet. It is necessary that the color space of the intermediate code image data generated by the above is RGB. Therefore, the color information in the example shown in FIG. 3 is shown using the RGB color space. When expressing a gray color, R = G = B may be used as color information in the case of graphics and fonts, and color information of a pixel may be set as R = G = B in the case of an image.
[0036]
FIG. 4 shows an example of the data format of the intermediate code image data of the present invention. In the example shown in FIG. 4, since the CMYK color space and the RGB color space are both assumed as the color space handled by the intermediate code image data, four fields for storing color information are provided. In this case, if the color space is an RGB color space, there is one more field for storing color information. This field can be used as a field for storing color designation valid / invalid information and black information. Usually, the size of the area for storing information of one color component is 8 bits (the level of each color is 0 to 255). Since the remaining one field can also use 8 bits, it is possible to store 1 bit as a color designation valid / invalid information area and black information in the remaining area.
[0037]
In this case, the area holding the black information is 7 bits, and the black level can only be set in the range of 0 to 127. However, in order to perform the process of increasing the resolution using the pulse width modulation method, for example, if only one of the patterns as shown in FIG. Is sufficient. However, since the value set in the black information area shown in FIG. 4 is different from the actual density value, in order to identify whether or not this black information is valid, the drawing object As the types, two types of “grey font” as “font” having black information and “gray line” as “graphics” having black information are added.
[0038]
Here, an example is shown in which the color specification valid / invalid information and the black information are included in the same field. May be included in the field.
[0039]
FIG. 5 is an explanatory diagram of another example of the intermediate code image data used in the present invention. FIG. 5 shows an example in which black information is included in the attribute information field, and color designation valid / invalid information is included as a part of other information. In the example shown in FIG. 5, color designation valid / invalid information is provided independently for each color component. This enhances versatility. Further, in the example shown in FIG. 4 described above, the color designation valid / invalid information cannot be held in the case of the CMYK color space, but in the example shown in FIG. Enable / disable of color information can be set.
[0040]
The black information for increasing the resolution is not limited to, for example, any one of the patterns shown in FIG. 13, and various division patterns can be applied.
[0041]
Returning to FIG. 2, the intermediate code image data interpretation unit 31 of the intermediate code image data expansion unit 13 executes many functions described as the functions of the above-described intermediate code image data expansion unit 13. , The intermediate codes are sequentially extracted and interpreted, rendered in the band buffer 14 in band units, and developed into bitmap images. The attribute information corresponding to the drawn pixel is also stored in the band buffer 14 together with the bitmap image. FIG. 6 is an explanatory diagram of an example of a writing process to the band buffer. The intermediate code image data interpretation unit 31 refers to the color designation valid / invalid information in the intermediate code image data when writing the bitmap image to the band buffer 14. When the color designation valid / invalid information is set to use color information, as shown in FIG. 6A, the color information (R, G, B) and the attribute information in the intermediate code image data are banded. Write to buffer 14. If the color designation valid / invalid information is set not to use color information, the attribute information is written to the band buffer 14 without writing the color information to the band buffer 14 as shown in FIG. As a result, for the pixels for which the rendering processing has been performed, the attribute information is rewritten, but the color information remains as the background color. In addition, the attribute information in FIG. 6 includes black information for performing the process of increasing the resolution. Therefore, when performing the processing for increasing the resolution, it is possible to form a high-resolution image based on the black information in the attribute information, and to perform processing for preventing white spots using the information on the background color. Can be. Further, when a logical operation is specified, the intermediate code image data interpreting unit 31 actually executes the specified logical operation. At this time, by adopting the RGB color space as the color space of the bitmap image to be written in the band buffer 14, the logical operation can be correctly and easily performed. When black information is stored, logical operations are performed on the color information and the black information, respectively, and the operation result is determined according to the result.
[0042]
Returning to FIG. 2 again, the compression / decompression processing unit 32 decompresses the compressed image and writes the decompressed image into the band buffer 14. When the object to be drawn is an image, the reduction / enlargement processing unit 33 performs reduction or enlargement processing on the image according to the enlargement ratio in the intermediate code image data stored in the intermediate code memory 12.
[0043]
The color conversion unit 34 performs a color space conversion process, a color correction process, and the like on the bitmap image in the band buffer 14 according to each drawing object. At this time, processing can be performed according to the attribute information added to the bitmap image. As described above, when the color information of the RGB color space is written in the band buffer 14 as the color information of the bitmap image as described above, the color information is converted into the color information of the CMYK color space required by the printing apparatus 3. At this time, if the black information is information for processing for increasing the resolution, color conversion is performed so as to save the black information. In the case of a color such as gray which is not subjected to high resolution processing, for example, in the case of graphics and fonts, it is converted to a single color black, and in the case of an image, process black (cyan, magenta, yellow or even black) (Mixed colors).
[0044]
When storing the bitmap image in the band buffer 14, for example, as shown in FIG. 6, when the dot plane conversion unit 35 stores the bitmap image as dot-sequential data holding all color component data for each pixel, When the apparatus 3 requests plane-sequential data to be stored as a separate plane for each color component, the apparatus 3 converts point-sequential data to plane-sequential data. Of course, it may have a function of converting a bitmap image stored as plane-sequential data into dot-sequential data.
[0045]
The whole or a part of the structure of the intermediate code image data developing unit 13 or the band buffer 14 and the like can be constituted by a dedicated circuit. Thereby, processing can be performed at high speed.
[0046]
Next, an example of an operation according to the embodiment of the present invention will be described. For example, in a print system in which the host processor 1 such as a personal computer and the image processor 2 are connected via a network or the like, a drawing command is sent from the host processor 1 to the image processor 2 via a network or the like. Therefore, the image processing apparatus 2 receives the drawing command by the input control unit 21 and stores it in the intermediate code memory 12. Upon receiving a series of drawing commands or in parallel with the reception of the drawing command, the drawing command interpreting unit 22 and the intermediate code image data generating unit 23 operate. The rendering command interpreter 22 interprets the rendering command received from the host processor 1 and passes the interpretation result to the intermediate code image data generator 23. The image data generator 23 generates intermediate code image data for each band based on the interpretation result passed from the rendering command interpreter 22. At this time, the pattern information is generated as black information for a portion requiring high-resolution processing such as an edge portion of a character or a line drawing, and the color information is invalidated for color specification valid / invalid information. Set it. Further, the type of the drawing object is set to “gray font” or “gray line”.
[0047]
When the generation of the intermediate code image data for a series of drawing commands, for example, for one page, is completed, the intermediate code image data developing unit 13 is activated, and the intermediate code image data interpreting unit 31 executes the intermediate code image data stored in the intermediate code memory 12. Perform rendering processing according to the code image data.
[0048]
FIG. 7 is a flowchart illustrating an example of a basic rendering process according to an embodiment of the present invention. In the processing example shown in FIG. 7, it is assumed that the intermediate code image data holds one or a plurality of sets (edge list) of a drawing start point and an end point or a run length for each main scanning line. .
[0049]
In S41, one piece of intermediate code image data stored in the intermediate code memory 12 is extracted, and the information of the header part is analyzed. As shown in FIGS. 4 and 5, the header section includes RGB color information, black information for high resolution processing, color designation valid / invalid information, and the like. In S42, the color designation valid / invalid information is checked to determine whether the color information is valid. If the color information is valid, the processing of S43 to S47 is repeated for each edge list stored in the body part in the intermediate code image data. Further, for each edge list, S44 to S46 are repeated by the number of pixels from the drawing start point to the drawing end point or the number of pixels specified by the run length, and in S45, each pixel is shown in FIG. As described above, the RGB color information and the attribute information are written in the band buffer 14.
[0050]
If it is determined in S42 that the color designation valid / invalid information is set to invalidate the color information, S48 to S52 are repeated for each edge list, and S49 to S52 are performed for each pixel in the edge list. S51 is repeated, and in S50, only the attribute information for one pixel is written to the band buffer 14 as shown in FIG. In this case, the portion of the RGB color information is left as it is.
[0051]
In this way, the processing of S43 to S47 or S48 to S52 is executed for each intermediate code image data according to the color designation valid / invalid information. Then, by performing the above-described processing in order on the intermediate code image data for one band, an image for one band is drawn in the band buffer 14.
[0052]
In the example of the processing shown in FIG. 7, the case where the overwrite drawing is simply performed is shown. However, a logical operation may be specified in the drawing command. FIG. 8 and FIG. 9 are flowcharts illustrating an example of the rendering process involving the logical operation. Here, it is assumed that the type of drawing object to be written into the band buffer 14 by the intermediate code image data is a normal drawing object without black information for high resolution processing. Here, as an example of the logical operation, a logical operation is performed between the destination image and the source image, and an image newly obtained from the intermediate code image data is a source image, an image already written in the band buffer 14. Is a destination image. Of course, the present invention is not limited to the logical operation between two images, and may use image information called a pen, a mask, or the like.
[0053]
One piece of intermediate code image data is taken out, the processing of S61 to S80 is repeated for each edge list registered in the intermediate code image data, and the processing of S62 to S79 is performed for each pixel to be drawn by one edge list. Repeat the process.
[0054]
In S63, from the attribute information of the bitmap image written in the band buffer 14, the type of the drawing object holds black information for high resolution processing such as "gray font" or "gray line". It is determined whether or not the type of the drawing object is present.
[0055]
If the type of the drawing object of the bitmap image written in the band buffer 14 is not “gray font” or “gray line”, a drawing process involving a normal logical operation is performed. That is, in S64, the designated logical operation is executed in S65 using the color information of the bitmap image stored in the band buffer 14 as a destination and the color information obtained from the intermediate code image data as a source. In S66, the calculation result is written into the band buffer 14, and the drawing process involving the logical operation of one pixel is completed. As a result, the rendering process of one pixel with a logical operation when the type of the rendering object is not “gray font” or “gray line” is performed.
[0056]
When the type of the drawing object of the bitmap image written in the band buffer 14 is “gray font” or “gray line”, a logical operation is performed on each of the RGB color information and the black information. . Then, writing to the image buffer 14 is performed according to the result.
[0057]
That is, first, in S67, the designated logical operation is executed in S68 using the color information of the bitmap image stored in the band buffer 14 as a destination and the color information obtained from the intermediate code image data as a source, and S69 is performed. , The color information of the calculation result is written into the band buffer 14. This is a logical operation on the background color, and is for ensuring consistency with surrounding colors.
[0058]
Further, a logical operation is performed on black information for high resolution processing in the bitmap image written in the band buffer 14. In S70, RGB color information is calculated from the black information in the attribute information written in the band buffer 14, and this is set as the destination. Further, the designated logical operation is performed in S71 using the color information obtained from the intermediate code image data as a source.
[0059]
In this way, a logical operation is performed on the black information for the high resolution processing in the attribute information written in the band buffer 14 and the color information of the bitmap image. When the result of the logical operation is written back to the band buffer 14, it is performed based on the result of the logical operation performed on the black information. If the high resolution processing is not performed, the pixel is a pixel that has been drawn in gray (black), so that the result of the logical operation performed on the black information is prioritized.
[0060]
In S72, when the result of the logical operation performed on the black information is R'G'B ', it is determined whether or not R' = G '= B'. If R ′ = G ′ = B ′, since the result of the logical operation is gray, it is assumed that black information may be held. In this case, in S73, the value of RGB (R = G = B) before the logical operation is compared with the value of R'G'B '(R' = G '= B') after the logical operation. Since the comparison of the values is R = G = B and R ′ = G ′ = B ′, any of the R component, the G component, and the B component may be compared. The following R 'is compared. As a result of the comparison, if both values are the same, the black information before the calculation may be held as it is. Therefore, writing of the attribute information to the band buffer 14 is not performed.
[0061]
If the result of comparison between R before the logical operation and R 'after the logical operation is not equal, the density as a gray color is changed by the logical operation. In such a case, black information for high resolution processing is newly created from R ′ (= G ′ = B ′) after the logical operation in S74, and is written to the band buffer 14 as attribute information.
[0062]
If R = G = B is not satisfied in S72 (for example, R ≠ G or R ≠ B), it indicates that the color is changed to a color other than gray (black) by a logical operation. Therefore, it is necessary to hold the result of the logical operation as color information of the pixel. Therefore, in S75, the color information after the logical operation is written in the band buffer 14. As a result, the result of the logical operation using the background color written in S69 becomes invalid.
[0063]
In S76, it is determined whether or not the type of the drawing object of the intermediate code image data is “gray font”. The invalid information is set to be valid, and the attribute information is written to the band buffer 14. If the type of the drawing object of the intermediate code image data is "gray line", the type of the drawing object is changed to "graphics" in S78, and the color designation valid / invalid information is set to be valid, and the attribute information is set. Write to the band buffer 14.
[0064]
In this way, it is possible to perform the drawing process involving the logical operation process for one pixel. The processing of S63 to S78 is repeated in S62 to S79 for the number of pixels specified in the section or run length specified by the edge list, and such processing is repeated in S61 to S80 for each edge list. This makes it possible to perform a drawing process involving a logical operation on one piece of intermediate code image data.
[0065]
The processing of one pixel when the type of the drawing object of the bitmap image written in the above-described band buffer 14 is “gray font” or “gray line” will be described using an example. FIG. 10 is an explanatory diagram of an example of a logical operation process when the bitmap image written in the band buffer 14 includes black information as attribute information. In FIG. 10, different colors are indicated by different hatching. FIG. 10 shows a case where black information for high resolution processing is held even in the result of the logical operation. Now, it is assumed that the band buffer 14 stores, as attribute information, black information for drawing the lower right quarter, as shown in FIG. 10A, and the background color as color information. Then, a logical operation is performed with the color information obtained from the intermediate code image data shown in FIG.
[0066]
In this case, as described in S67 to S69 of FIG. 8, first, a logical operation is performed on the background color. That is, as shown in FIG. 10D, the destination is the RGB color information of the bitmap image written in the band buffer 14, and the color information obtained from the intermediate code image data as shown in FIG. Performs a logical operation using as a source. As a result, the color information shown in FIG. For the time being, the color information obtained by this logical operation is written into the band buffer 14.
[0067]
Further, the black information shown in FIG. 10G is not RGB color information as it is, so it is converted into R = G = B color information. Then, a logical operation is performed using the converted color information of R = G = B as a destination and color information obtained from the intermediate code image data shown in FIG. 10H as a source. In this example, the relationship of R ′ = G ′ = B ′ is maintained even after the logical operation, and the case where R = R ′ is shown. As shown in FIG. 10 (I), the same black color as in FIG. Information is obtained. In this case, since the same black information as that of FIG. 10I has already been written, the black information after the logical operation shown in FIG. Speed up processing. Even if the black information is not written in the band buffer 14, the pixel after the logical operation has the black information and the background color after the logical operation as shown in FIG.
[0068]
Note that, even after the logical operation, the relationship of R ′ = G ′ = B ′ is maintained, but if R ≠ R ′, black information newly generated from R ′ (or G ′, B ′) To the band buffer 14 as attribute information. Considering inversion, which is one of the logical operations, as a specific example, the pattern of FIG. 10 (G) is converted into color information having a value of R = G = B = 65 (= 01000001 (binary 8 bits)) from FIG. Is converted. Then, an inversion logical operation is performed on the color information. As a result of the logical operation, R ′ = G ′ = B ′ = 190 (= 10111110 (binary 8 bits)) is obtained. Since the value differs before and after the logical operation, black information is obtained from the value of R '(= 190). As can be seen with reference to FIG. 13, the shape of the value 190 is the inverse of the shape of the value 65. In this manner, the inverted edge shape is maintained even after the logical operation.
[0069]
FIG. 11 is an explanatory diagram of another example of the logical operation processing when the bitmap image written in the band buffer 14 includes black information as attribute information. Also in FIG. 11, the difference in color is indicated by different hatching. FIG. 11 shows a case where the color is changed to another color as a result of the logical operation. Now, it is assumed that the band buffer 14 holds black information for drawing the lower right 1/4 as attribute information and the background color as color information as shown in FIG. 11A. Then, a logical operation is performed with the color information obtained from the intermediate code image data shown in FIG.
[0070]
Also in this case, first, a logical operation is performed on the background color. That is, as shown in FIG. 11D, the destination is the RGB color information of the bitmap image written in the band buffer 14, and the color information obtained from the intermediate code image data as shown in FIG. Performs a logical operation using as a source. As a result, the color information shown in FIG. For the time being, the color information obtained by this logical operation is written into the band buffer 14.
[0071]
Further, the black information shown in FIG. 11G is not RGB color information as it is, and thus is converted into R = G = B color information. Then, a logical operation is performed using the converted color information of R = G = B as a destination and color information obtained from the intermediate code image data shown in FIG. 11H as a source. In this example, it is assumed that R ', G', and B 'after the logical operation do not satisfy the relationship of R' = G '= B'. For example, when B '≠ G' or G '≠ R', the relationship of R '= G' = B 'is not satisfied. In such a case, the result of the logical operation is shown in FIG. 11I, and the result of the logical operation is written to the band buffer 14 as color information of the bitmap image. As a result, the logical operation result for the background color shown in FIG. 11F is overwritten and invalidated. As the operation result, as shown in FIG. 11C, the logical operation result shown in FIG. 11I is obtained. In this case, the type of the drawing object is changed from “gray font” to “font” or from “gray line” to “graphics”. As a result, the black information is not referred to, and the lower right quarter black drawing is not performed. Therefore, a logical operation result as shown in FIG.
[0072]
Note that, in the example of the drawing process involving the logical operation described above, the intermediate code image data is described as not accompanying black information. However, when the intermediate code image data accompanies black information, the intermediate code image data is not included. The black information of the data may be converted into color information of R = G = B and used as a source to perform a logical operation. Alternatively, when the intermediate code image data is accompanied by black information, only the overwrite drawing may be performed.
[0073]
FIG. 12 is a flowchart illustrating an example of the color conversion processing according to the embodiment of the present invention. When the rendering process according to the intermediate code image data for one band is completed as described above, the bit buffer image having the color information and the attribute information of the RGB color space is written in the band buffer 14. For example, when the printing device 3 needs color information in the CMYK color space, conversion from the RGB color space to the CMYK color space is required. The color conversion unit 34 performs this color space conversion.
[0074]
The color conversion unit 34 performs the processing of S91 to S96 for each pixel of one band. In S92, it is determined whether the type of the drawing object of the pixel is “gray font” or “gray line”. In the case of these types of drawing objects, in S93, the color information in the RGB color space as the background color is converted into the color information in the CMY color space. In this case, conversion is performed so that K is not used. Then, in S94, the value of K is determined based on the black information for the high resolution processing in the attribute information. As a result, color conversion can be performed while leaving the background color together with the black information for the high resolution processing.
[0075]
If the type of the drawing object of the pixel is other than “gray font” or “gray line”, the color information in the RGB color space may be converted into the color information in the CMYK color space in S95.
[0076]
The bitmap image thus color-converted is further subjected to a point-plane conversion process for converting point-sequential information into plane-sequential information in a point-plane conversion unit 35, if necessary, and then the output control unit 15 The bitmap image is output to the printing device 3 or the like. At this time, if black information for high resolution processing is stored as K color information, the printing device 3 is controlled to perform processing for high resolution locally on the pixel. . For example, when the pulse width modulation method is used, a pixel can be formed with high resolution in a pseudo manner by controlling the type of the pulse, the threshold value, and the like.
[0077]
As mentioned above, although one Embodiment of this invention was described, this invention is not limited to this Embodiment, A various deformation | transformation is possible. For example, in the above description, rendering processing is performed after generating intermediate code image data for each band. However, for example, rendering processing is performed on a page basis, or rendering processing is performed directly from a drawing command without generating intermediate code image data. May be performed.
[0078]
【The invention's effect】
As is clear from the above description, according to the present invention, it is possible to form a high-quality image corresponding to the processing for increasing the resolution, to prevent white spots at that time, and to improve the image quality. Can be. Further, at the time of rendering processing, it is not necessary to be aware of the background color, so that processing for preventing white spots can be executed at high speed. Further, the drawing process involving the logical operation can be performed accurately while the black information for the process of increasing the resolution is stored. Thus, there is an effect that a high-quality image can be obtained at high speed as a whole.
[Brief description of the drawings]
FIG. 1 is a functional block diagram showing an embodiment of the present invention.
FIG. 2 is a more specific functional block diagram according to the embodiment of the present invention.
FIG. 3 is an explanatory diagram of an example of conventional intermediate code image data.
FIG. 4 is an explanatory diagram of an example of intermediate code image data used in the present invention.
FIG. 5 is an explanatory diagram of another example of intermediate code image data used in the present invention.
FIG. 6 is an explanatory diagram of an example of a writing process to a band buffer.
FIG. 7 is a flowchart illustrating an example of a basic rendering process according to an embodiment of the present invention.
FIG. 8 is a flowchart illustrating an example of a rendering process involving a logical operation.
FIG. 9 is a flowchart (continued) illustrating an example of a rendering process involving a logical operation.
FIG. 10 is an explanatory diagram of an example of a logical operation process when a bitmap image written in a band buffer 14 includes black information as attribute information.
FIG. 11 is an explanatory diagram of another example of the logical operation process when the bitmap image written in the band buffer includes black information as attribute information.
FIG. 12 is a flowchart illustrating an example of a color conversion process according to an embodiment of the present invention.
FIG. 13 is an explanatory diagram of an example of an image forming position in the pulse width modulation method.
FIG. 14 is an enlarged view of an example of an image drawn by a pulse width modulation method.
FIG. 15 is an explanatory diagram of how to deal with white spots when the pulse width modulation method is applied.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... High-order processing apparatus, 2 ... Image processing apparatus, 3 ... Printing apparatus, 11 ... Intermediate code generation part, 12 ... Intermediate code memory, 13 ... Intermediate code image data development part, 14 ... Band buffer, 15 ... Output control part, 21: Input control unit, 22: Drawing command interpreting unit, 23: Intermediate code image data generating unit, 31: Intermediate code image data interpreting unit, 32: Compression / expansion processing unit, 33: Reduction / enlargement processing unit, 34: Color Conversion unit, 35: Point plane conversion unit.

Claims (17)

入力される描画命令に基づいてビットマップイメージを作成する画像処理装置において、前記描画命令あるいは前記描画命令から生成された中間コード画像データに基づいてレンダリング処理を行い前記ビットマップイメージを生成する描画手段と、該描画手段によって生成されたビットマップイメージ及び属性情報を保持するイメージ記憶手段を有し、前記描画命令あるいは前記中間コード画像データは、色情報とともに該色情報を使用するか否かを示す色指定有効/無効情報を保持しており、前記描画手段は、前記色指定有効/無効情報に従って前記色情報を前記イメージ記憶手段に書き込むか否かを判断してレンダリング処理を行うことを特徴とする画像処理装置。In an image processing apparatus for creating a bitmap image based on an input drawing command, a drawing means for performing a rendering process based on the drawing command or intermediate code image data generated from the drawing command to generate the bitmap image And an image storage unit for storing a bitmap image and attribute information generated by the drawing unit. The drawing command or the intermediate code image data indicates whether to use the color information together with color information. It holds color designation valid / invalid information, and the rendering means determines whether or not to write the color information in the image storage means according to the color designation valid / invalid information, and performs a rendering process. Image processing device. 前記描画手段は、前記色指定有効/無効情報が前記色情報を使用する設定の場合には、前記色情報に基づいて属性情報とともに前記イメージ記憶手段への書き込みを行い、前記色情報を使用しない設定の場合には属性情報を前記イメージ記憶手段に書き込むことを特徴とする請求項1に記載の画像処理装置。If the color designation valid / invalid information is set to use the color information, the drawing unit writes the attribute information based on the color information to the image storage unit, and does not use the color information. 2. The image processing apparatus according to claim 1, wherein the attribute information is written in the image storage unit when the setting is performed. 前記描画手段は、前記描画命令あるいは前記中間コード画像データが色情報としてRGB色空間の色情報を保持しかつ黒色の情報を保持する場合に、前記色指定有効/無効情報に基づいて前記ビットマップイメージの黒色の情報を決定することを特徴とする請求項1または請求項2に記載の画像処理装置。The drawing means, when the drawing command or the intermediate code image data holds color information of an RGB color space as color information and holds black information, sets the bit map based on the color designation valid / invalid information. The image processing apparatus according to claim 1, wherein black information of the image is determined. 前記描画手段は、前記描画命令あるいは前記中間コード画像データが色情報としてRGB色空間の色情報を保持しかつ黒色の情報を保持している場合であって、さらに前記色指定有効/無効情報が前記色情報を使用しない設定の場合には、前記描画命令あるいは前記中間コード画像データが保持する黒色の情報に基づいて前記ビットマップイメージの黒色の情報を決定することを特徴とする請求項3に記載の画像処理装置。The drawing means may be a case where the drawing command or the intermediate code image data holds color information of an RGB color space as color information and black information, and furthermore, the color designation valid / invalid information is The method according to claim 3, wherein in the case of setting not to use the color information, black information of the bitmap image is determined based on the drawing command or black information held by the intermediate code image data. The image processing apparatus according to claim 1. 前記描画命令あるいは前記中間コード画像データは、黒色の情報を属性情報の一部として保持していることを特徴とする請求項4に記載の画像処理装置。The image processing apparatus according to claim 4, wherein the drawing command or the intermediate code image data holds black information as a part of attribute information. 前記描画手段は、前記描画命令あるいは前記中間コード画像データが色情報としてRGB色空間の色情報を保持しかつ黒色の情報を保持している場合であって、さらに前記色指定有効/無効情報が前記色情報を使用しない設定の場合に論理演算が指示されたときには、前記黒色の情報と前記色情報のそれぞれについて指示された論理演算を行い、演算結果に基づいて前記イメージ記憶手段への書き込みを行うことを特徴とする請求項3ないし請求項5のいずれか1項に記載の画像処理装置。The drawing means may be a case where the drawing command or the intermediate code image data holds color information of an RGB color space as color information and black information, and furthermore, the color designation valid / invalid information is When a logical operation is instructed in a case where the color information is not used, the logical operation instructed for each of the black information and the color information is performed, and writing to the image storage unit is performed based on the operation result. The image processing apparatus according to claim 3, wherein the image processing is performed. 前記色指定有効/無効情報は、各色毎に独立に設定可能であることを特徴とする請求項1ないし請求項6のいずれか1項に記載の画像処理装置。The image processing apparatus according to claim 1, wherein the color designation valid / invalid information can be set independently for each color. 前記描画命令あるいは前記中間コード画像データが保持する黒色の情報は、高解像度化のためのパターン情報であることを特徴とする請求項1ないし請求項7のいずれか1項に記載の画像処理装置。8. The image processing apparatus according to claim 1, wherein the black information held by the drawing command or the intermediate code image data is pattern information for increasing the resolution. . 前記描画手段の全部又は一部の機能は、専用の回路で構成されていることを特徴とする請求項1ないし請求項7のいずれか1項に記載の画像処理装置。8. The image processing apparatus according to claim 1, wherein all or a part of the function of the drawing unit is configured by a dedicated circuit. 入力される描画命令に基づいてビットマップイメージを作成する画像処理方法において、前記描画命令あるいは前記描画命令から生成された中間コード画像データに基づいてレンダリング処理を行い前記ビットマップイメージを生成し、生成されたビットマップイメージ及び属性情報をイメージ記憶手段に書き込むものであって、前記描画命令あるいは前記中間コード画像データは、色情報とともに該色情報を使用するか否かを示す色指定有効/無効情報を保持しており、前記レンダリング処理時に、前記色指定有効/無効情報に従って前記色情報を前記イメージ記憶手段に書き込むか否かを判断してレンダリング処理を行うことを特徴とする画像処理方法。In an image processing method for creating a bitmap image based on an input drawing command, a rendering process is performed based on the drawing command or intermediate code image data generated from the drawing command to generate the bitmap image. Writing the bitmap image and the attribute information into the image storage means, wherein the drawing command or the intermediate code image data is color specification valid / invalid information indicating whether or not to use the color information together with the color information. And performing a rendering process by determining whether or not to write the color information into the image storage unit according to the color designation valid / invalid information during the rendering process. 前記レンダリング処理において、前記色指定有効/無効情報が前記色情報を使用する設定の場合には、前記色情報に基づいて属性情報とともに前記イメージ記憶手段への書き込みを行い、前記色情報を使用しない設定の場合には属性情報を前記イメージ記憶手段に書き込むことを特徴とする請求項10に記載の画像処理方法。In the rendering processing, when the color designation valid / invalid information is set to use the color information, writing to the image storage unit is performed together with the attribute information based on the color information, and the color information is not used. 11. The image processing method according to claim 10, wherein the attribute information is written in the image storage unit when the setting is performed. 前記レンダリング処理において、前記描画命令あるいは前記中間コード画像データが色情報としてRGB色空間の色情報を保持しかつ黒色の情報を保持している場合に、前記色指定有効/無効情報に基づいて前記ビットマップイメージの黒色の情報を決定することを特徴とする請求項10または請求項11に記載の画像処理方法。In the rendering processing, when the drawing command or the intermediate code image data holds color information of an RGB color space as color information and holds black information, the rendering instruction or the intermediate code image data is used based on the color designation valid / invalid information. The image processing method according to claim 10, wherein black information of the bitmap image is determined. 前記レンダリング処理において、前記描画命令あるいは前記中間コード画像データが色情報としてRGB色空間の色情報を保持しかつ黒色の情報を保持している場合であって、さらに前記色指定有効/無効情報が前記色情報を使用しない設定の場合には、前記描画命令あるいは前記中間コード画像データが保持する黒色の情報に基づいて前記ビットマップイメージの黒色の情報を決定することを特徴とする請求項12に記載の画像処理方法。In the rendering process, the rendering command or the intermediate code image data holds color information of an RGB color space as color information and black information, and the color designation valid / invalid information is 13. The setting according to claim 12, wherein in the case of setting not to use the color information, black information of the bitmap image is determined based on the drawing command or black information held by the intermediate code image data. The image processing method described in the above. 前記描画命令あるいは前記中間コード画像データは、黒色の情報を属性情報の一部として保持していることを特徴とする請求項13に記載の画像処理方法。14. The image processing method according to claim 13, wherein the drawing command or the intermediate code image data holds black information as a part of attribute information. 前記レンダリング処理において、前記描画命令あるいは前記中間コード画像データが色情報としてRGB色空間の色情報を保持しかつ黒色の情報を保持している場合であって、さらに前記色指定有効/無効情報が前記色情報を使用しない設定の場合に論理演算が指示されたときには、前記黒色の情報と前記色情報のそれぞれについて指示された論理演算を行い、演算結果に基づいて前記イメージ記憶手段への書き込みを行うことを特徴とする請求項12ないし請求項14のいずれか1項に記載の画像処理方法。In the rendering process, the rendering command or the intermediate code image data holds color information of an RGB color space as color information and black information, and the color designation valid / invalid information is When a logical operation is instructed in a case where the color information is not used, the logical operation instructed for each of the black information and the color information is performed, and writing to the image storage unit is performed based on the operation result. The image processing method according to claim 12, wherein the image processing is performed. 前記色指定有効/無効情報は、各色毎に独立に設定可能であることを特徴とする請求項10ないし請求項15のいずれか1項に記載の画像処理方法。16. The image processing method according to claim 10, wherein the color designation valid / invalid information can be set independently for each color. 前記描画命令あるいは前記中間コード画像データが保持する黒色の情報は、高解像度化のためのパターン情報であることを特徴とする請求項10ないし請求項16のいずれか1項に記載の画像処理方法。17. The image processing method according to claim 10, wherein the black information held by the drawing command or the intermediate code image data is pattern information for increasing the resolution. .
JP2003129514A 2003-05-07 2003-05-07 Image processing device and method Pending JP2004334533A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003129514A JP2004334533A (en) 2003-05-07 2003-05-07 Image processing device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003129514A JP2004334533A (en) 2003-05-07 2003-05-07 Image processing device and method

Publications (1)

Publication Number Publication Date
JP2004334533A true JP2004334533A (en) 2004-11-25

Family

ID=33505332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003129514A Pending JP2004334533A (en) 2003-05-07 2003-05-07 Image processing device and method

Country Status (1)

Country Link
JP (1) JP2004334533A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006163700A (en) * 2004-12-06 2006-06-22 Kyocera Mita Corp Drawing processor and program
JP2006237681A (en) * 2005-02-22 2006-09-07 Oki Data Corp Color image processor
JP2006345315A (en) * 2005-06-09 2006-12-21 Canon Inc Image processing apparatus and method thereof
JP2007150982A (en) * 2005-11-30 2007-06-14 Fuji Xerox Co Ltd Image forming engine and image forming apparatus
JP2013505854A (en) * 2009-09-25 2013-02-21 オセ−テクノロジーズ・ベー・ヴエー How to create a printable raster image file

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006163700A (en) * 2004-12-06 2006-06-22 Kyocera Mita Corp Drawing processor and program
JP4624087B2 (en) * 2004-12-06 2011-02-02 京セラミタ株式会社 Drawing processing apparatus and program
JP2006237681A (en) * 2005-02-22 2006-09-07 Oki Data Corp Color image processor
JP4541181B2 (en) * 2005-02-22 2010-09-08 株式会社沖データ Color image processing device
JP2006345315A (en) * 2005-06-09 2006-12-21 Canon Inc Image processing apparatus and method thereof
US7697168B2 (en) 2005-06-09 2010-04-13 Canon Kabushiki Kaisha Image processing apparatus and method for generating bitmap data and attribute information from a raster data
JP4484770B2 (en) * 2005-06-09 2010-06-16 キヤノン株式会社 Image processing apparatus and method
JP2007150982A (en) * 2005-11-30 2007-06-14 Fuji Xerox Co Ltd Image forming engine and image forming apparatus
JP2013505854A (en) * 2009-09-25 2013-02-21 オセ−テクノロジーズ・ベー・ヴエー How to create a printable raster image file

Similar Documents

Publication Publication Date Title
EP0654759B1 (en) Printing apparatus
JP3545409B2 (en) How to add traps to print pages specified in page description language format
US6323958B1 (en) Printing apparatus
JP3008943B1 (en) Image processing apparatus and image processing method
JPH1166327A (en) Method and device for processing image and recording medium
JP7009316B2 (en) Image forming apparatus, its image forming method, and a program
JP2004334533A (en) Image processing device and method
US6611632B1 (en) Device and method for interpolating image data and medium on which image data interpolating program is recorded
JPH05342314A (en) Picture processor
US20040111665A1 (en) Information processing apparatus, image formation apparatus, drawing processing method, and computer product
JP3728183B2 (en) Printing control apparatus, drawing control apparatus, data processing method, and storage medium
JP4514168B2 (en) Image processing system and image processing method
JP2011053263A (en) Image processing device, image processing method, image output system, program and recording medium
JP2009129342A (en) Image processing device and method
JP2004021886A (en) Image processing device and image processing method
JP2006272556A (en) Image processor and image processing program
JP2003051929A (en) Image processing method and apparatus
JP3636891B2 (en) Color image output method
JP2004320361A (en) Image processor and image processing method
JP4539801B2 (en) Image processing apparatus and image forming apparatus
JP2002024840A (en) Drawing processing device
JP2006140597A (en) Device and method for printing control, computer program, and storage medium
JP2005038084A (en) Method and device for converting drawing data
JP4072403B2 (en) Information processing apparatus, information processing method, and program
JP3862460B2 (en) Information processing method and apparatus, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090401