JP2003177889A - 画像処理装置、描画命令出力装置、および画像形成装置 - Google Patents
画像処理装置、描画命令出力装置、および画像形成装置Info
- Publication number
- JP2003177889A JP2003177889A JP2001378268A JP2001378268A JP2003177889A JP 2003177889 A JP2003177889 A JP 2003177889A JP 2001378268 A JP2001378268 A JP 2001378268A JP 2001378268 A JP2001378268 A JP 2001378268A JP 2003177889 A JP2003177889 A JP 2003177889A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- unit
- drawing command
- command
- logical operation
- 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
Links
Landscapes
- Record Information Processing For Printing (AREA)
- Image Generation (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
(57)【要約】
【課題】 ROP処理をするプリンタにおいて、描画命
令の種類によらず、印字開始までの処理を確実に高速に
することができるようにする。 【解決手段】 論理演算変換判定部124は、描画命令
が、失敗パターンと一致するかを判定し、失敗パターン
と一致するときには、変換を行なうための起点となった
描画命令のROPコードと命令種別を失敗パターンとし
て失敗パターン記憶部127に登録する。この処理を描
画命令ごとに順次行なうことで、ROPデータの変換が
不可能なものかどうかを予め予測する。論理演算変換判
定部124は、失敗が予測されるときには、論理演算変
換判定の処理を行なわない。
令の種類によらず、印字開始までの処理を確実に高速に
することができるようにする。 【解決手段】 論理演算変換判定部124は、描画命令
が、失敗パターンと一致するかを判定し、失敗パターン
と一致するときには、変換を行なうための起点となった
描画命令のROPコードと命令種別を失敗パターンとし
て失敗パターン記憶部127に登録する。この処理を描
画命令ごとに順次行なうことで、ROPデータの変換が
不可能なものかどうかを予め予測する。論理演算変換判
定部124は、失敗が予測されるときには、論理演算変
換判定の処理を行なわない。
Description
【0001】
【発明の属する技術分野】本発明は、画像データに基づ
いてプリンタなどで印刷出力したりあるいはCRTやL
CD(液晶)などの表示デバイスに表示出力したりする
画像処理装置、並びに画像を形成するための描画命令を
出力する描画命令出力装置およびこの描画命令出力装置
から受け取った描画命令に基づいて画像を形成する画像
形成装置に関する。
いてプリンタなどで印刷出力したりあるいはCRTやL
CD(液晶)などの表示デバイスに表示出力したりする
画像処理装置、並びに画像を形成するための描画命令を
出力する描画命令出力装置およびこの描画命令出力装置
から受け取った描画命令に基づいて画像を形成する画像
形成装置に関する。
【0002】
【従来の技術】描画命令出力装置で生成された画像デー
タに基づいて画像形成装置で画像を形成して出力する場
合がある。たとえばプリンタなどで印刷出力したりある
いはCRTやLCD(液晶)などの表示デバイスに表示
出力したりする際には、出力前に、画像データを出力単
位(たとえば1ページ分や1画面分)に合わせてレンダ
リング(描画展開、ラスタ化)しなければならない。
タに基づいて画像形成装置で画像を形成して出力する場
合がある。たとえばプリンタなどで印刷出力したりある
いはCRTやLCD(液晶)などの表示デバイスに表示
出力したりする際には、出力前に、画像データを出力単
位(たとえば1ページ分や1画面分)に合わせてレンダ
リング(描画展開、ラスタ化)しなければならない。
【0003】たとえば、小型、高速のデジタル印刷に適
した電子写真方式のページプリンタ(画像処理装置の一
例)の開発に伴い、従来の文字情報中心の印刷から脱皮
した、画像、図形、文字などを同様に取り扱い、図形、
文字などの拡大、回転、変形などが自由に制御できるペ
ージ記述言語(PDL:Page Description Language)
を用いる画像処理装置が一般に普及している。ここでP
DLで作成されている画像データは、ページ内の任意位
置の画像、図形、文字を表現する描画命令およびデータ
を任意の順で配置した命令およびデータ列で構成されて
おり、ページプリンタで印字するために、印字前に出力
単位ごと(1ページごと)に画像データをレンダリング
(描画展開)してからプリンタエンジン部にそのラスタ
データを出力する。
した電子写真方式のページプリンタ(画像処理装置の一
例)の開発に伴い、従来の文字情報中心の印刷から脱皮
した、画像、図形、文字などを同様に取り扱い、図形、
文字などの拡大、回転、変形などが自由に制御できるペ
ージ記述言語(PDL:Page Description Language)
を用いる画像処理装置が一般に普及している。ここでP
DLで作成されている画像データは、ページ内の任意位
置の画像、図形、文字を表現する描画命令およびデータ
を任意の順で配置した命令およびデータ列で構成されて
おり、ページプリンタで印字するために、印字前に出力
単位ごと(1ページごと)に画像データをレンダリング
(描画展開)してからプリンタエンジン部にそのラスタ
データを出力する。
【0004】またたとえば最新の電子写真方式のカラー
ページプリンタでは、C(シアン),M(マゼンタ),
Y(イエロー),BK(ブラック)の4色のトナーに対
応するラスタデータを必要とするとともに、白黒ページ
プリンタ以上に画質が要求されるため、1画素当たり複
数のビット情報を持つのが一般的であり、大量のメモリ
を必要としている。この大量のメモリの必要性に対し、
コスト低減の観点からメモリ容量を低減させる技術とし
て、バンドバッファ技術が提案されている。
ページプリンタでは、C(シアン),M(マゼンタ),
Y(イエロー),BK(ブラック)の4色のトナーに対
応するラスタデータを必要とするとともに、白黒ページ
プリンタ以上に画質が要求されるため、1画素当たり複
数のビット情報を持つのが一般的であり、大量のメモリ
を必要としている。この大量のメモリの必要性に対し、
コスト低減の観点からメモリ容量を低減させる技術とし
て、バンドバッファ技術が提案されている。
【0005】このバンドバッファ技術は、先ず1出力単
位分の画像データの全てを一度にレンダリングするので
はなく、1出力単位の画像を隣接する複数の領域(バン
ド、ブロック)に等分し、すなわち1出力単位分の源画
像データを前記複数のバンドに対応した複数の部分デー
タ(バンドデータ)に分割し、各バンドに対応する部分
データを、順次バンドバッファ(部分展開バッファ)に
展開する、すなわち、等分したバンド数よりも少ない所
定バンド数分の容量を有するメモリ上で描画展開(レン
ダリング)する。
位分の画像データの全てを一度にレンダリングするので
はなく、1出力単位の画像を隣接する複数の領域(バン
ド、ブロック)に等分し、すなわち1出力単位分の源画
像データを前記複数のバンドに対応した複数の部分デー
タ(バンドデータ)に分割し、各バンドに対応する部分
データを、順次バンドバッファ(部分展開バッファ)に
展開する、すなわち、等分したバンド数よりも少ない所
定バンド数分の容量を有するメモリ上で描画展開(レン
ダリング)する。
【0006】そして、バンドバッファに展開された部分
展開データに基づいて、たとえば圧縮符号化処理などの
所望の画像処理をし、1出力単位分の全てのバンドにつ
いての画像処理が終わったら、さらに画像処理がされた
部分展開データをたとえば伸張復号化するなど部分展開
データに基づいて所望の画像再生処理をし、源画像と同
じ出力単位の画像を再生し可視画像化して出力する技術
である。
展開データに基づいて、たとえば圧縮符号化処理などの
所望の画像処理をし、1出力単位分の全てのバンドにつ
いての画像処理が終わったら、さらに画像処理がされた
部分展開データをたとえば伸張復号化するなど部分展開
データに基づいて所望の画像再生処理をし、源画像と同
じ出力単位の画像を再生し可視画像化して出力する技術
である。
【0007】またたとえばPDLなどで記述された印刷
データ中の文字や図形画像などのオブジェクトのデータ
を、PDLでレンダリングするよりも速くレンダリング
可能な比較的簡単な処理し易いデータ(中間データ)に
変換し、1出力単位分の記憶エリア(ページメモリな
ど)に中間データを記憶しておき、その中間データを画
像データに変換して、1出力単位分の画像データをより
小容量のバンドバッファにバンド単位で分割して記憶
(バンドバッファに展開)する方法も提案されている
(例えば特開平1−209169号、特開平7−195
757号参照)。
データ中の文字や図形画像などのオブジェクトのデータ
を、PDLでレンダリングするよりも速くレンダリング
可能な比較的簡単な処理し易いデータ(中間データ)に
変換し、1出力単位分の記憶エリア(ページメモリな
ど)に中間データを記憶しておき、その中間データを画
像データに変換して、1出力単位分の画像データをより
小容量のバンドバッファにバンド単位で分割して記憶
(バンドバッファに展開)する方法も提案されている
(例えば特開平1−209169号、特開平7−195
757号参照)。
【0008】そしてこの中間データを利用したバンドバ
ッファ技術では、中間データを記憶するためのページメ
モリが新たに必要であるが、1出力単位分の画像データ
の全てを一度にレンダリングするよりも、ラスタデータ
のための大容量を必要とするバッファメモリを低減する
ことができる、すなわち描画展開のためのメモリ容量を
削減することができる。また、一旦圧縮符号化してメモ
リに記憶した後伸張復号化してラスタデータを再生する
ことと組み合わせることで、さらにメモリ容量を低減す
ることもできる。
ッファ技術では、中間データを記憶するためのページメ
モリが新たに必要であるが、1出力単位分の画像データ
の全てを一度にレンダリングするよりも、ラスタデータ
のための大容量を必要とするバッファメモリを低減する
ことができる、すなわち描画展開のためのメモリ容量を
削減することができる。また、一旦圧縮符号化してメモ
リに記憶した後伸張復号化してラスタデータを再生する
ことと組み合わせることで、さらにメモリ容量を低減す
ることもできる。
【0009】このように、パソコンなどの画像作成装置
などから出力される様々な描画命令を処理し、印刷装置
で印刷可能な画素の並びで表現された画像データに展開
する際には、PDLデータなどの描画命令を受け取って
から出力用のデータに展開されるまでの間に描画命令に
応じた様々な処理が行なわれている。
などから出力される様々な描画命令を処理し、印刷装置
で印刷可能な画素の並びで表現された画像データに展開
する際には、PDLデータなどの描画命令を受け取って
から出力用のデータに展開されるまでの間に描画命令に
応じた様々な処理が行なわれている。
【0010】またたとえば、複数の画像が重なる位置に
描かれる場合に、もとの画像と、新たに書き込む画像と
の重ね合わせの方法の指示に従い、両方の画像を重ね合
わせる処理が行なわれることもある。指示される重ね合
わせの方法は、通常、論理和、論理積、排他的論理和な
どの論理演算の種類として指示される。
描かれる場合に、もとの画像と、新たに書き込む画像と
の重ね合わせの方法の指示に従い、両方の画像を重ね合
わせる処理が行なわれることもある。指示される重ね合
わせの方法は、通常、論理和、論理積、排他的論理和な
どの論理演算の種類として指示される。
【0011】このような画像間の論理演算処理は、一般
にROP(Raster OPeration)処理と
して知られている。ROP処理の種類としては、通常、
16〜256種類が用意されている。しかしながら、こ
れらのROP処理のすべてが常用されるわけではなく、
アプリケーションプログラムによって、限られた種類の
ものを特徴的な組み合わせパターンによって使用する場
合が多い。
にROP(Raster OPeration)処理と
して知られている。ROP処理の種類としては、通常、
16〜256種類が用意されている。しかしながら、こ
れらのROP処理のすべてが常用されるわけではなく、
アプリケーションプログラムによって、限られた種類の
ものを特徴的な組み合わせパターンによって使用する場
合が多い。
【0012】しかしながらROP処理は、一般に複雑で
処理時間がかかり、実行のためのメモリも多く必要とす
るものが多い。特に、1つの効果を表現するために、複
数のROP処理を組み合わせたコマンド(PDL命令)
を出力するようなアプリケーションプログラムも数多く
存在する。このようなROP処理を組み合わせた指示
が、印刷装置によって画像が印刷されるまでの処理時間
を増大させる要因となっていた。
処理時間がかかり、実行のためのメモリも多く必要とす
るものが多い。特に、1つの効果を表現するために、複
数のROP処理を組み合わせたコマンド(PDL命令)
を出力するようなアプリケーションプログラムも数多く
存在する。このようなROP処理を組み合わせた指示
が、印刷装置によって画像が印刷されるまでの処理時間
を増大させる要因となっていた。
【0013】これに対して、描画命令を解釈する際、処
理の効率化のために複数の描画命令を一つの描画命令に
変換したり、より処理に時間のかからない別の描画命令
に変換することで、ROP処理時間を高速化する技術も
提案されている。
理の効率化のために複数の描画命令を一つの描画命令に
変換したり、より処理に時間のかからない別の描画命令
に変換することで、ROP処理時間を高速化する技術も
提案されている。
【0014】たとえば特開平8−263674号には、
ROP処理の特徴的パターンを検出して、ROP処理の
ステップ数を削減し、より単純なROP処理に置き換え
ることで、ROP処理の実行回数を少なくし、高速な処
理を実現する装置が提案されている。
ROP処理の特徴的パターンを検出して、ROP処理の
ステップ数を削減し、より単純なROP処理に置き換え
ることで、ROP処理の実行回数を少なくし、高速な処
理を実現する装置が提案されている。
【0015】またたとえば特開2000−132671
号には、一般の印刷装置で使用されるCMYK色空間上
においても色再現上の不具合が発生することがないよう
に、ROP描画が指定された描画命令をROP演算を行
なわない描画命令に変換できるかどうかを判定し、変換
できる場合にはROP演算を行なわない描画命令に変換
する、つまりROP処理が必要な命令を不必要な命令に
変換して処理することにより論理演算動作にかかる処理
時間を低減することで、高速および高画質の描画処理を
可能とした装置が提案されている。
号には、一般の印刷装置で使用されるCMYK色空間上
においても色再現上の不具合が発生することがないよう
に、ROP描画が指定された描画命令をROP演算を行
なわない描画命令に変換できるかどうかを判定し、変換
できる場合にはROP演算を行なわない描画命令に変換
する、つまりROP処理が必要な命令を不必要な命令に
変換して処理することにより論理演算動作にかかる処理
時間を低減することで、高速および高画質の描画処理を
可能とした装置が提案されている。
【0016】
【発明が解決しようとする課題】しかしながら、一般的
にROP処理が必要な命令から不必要な命令への変換動
作が可能かどうかを判定するためには大量の命令を処理
してから判定しなけらばならないケースが多く、判定結
果が決定されるまで描画動作を行なうことができずに処
理速度が低下してしまう。特に、変換不可能なROP処
理を行なうデータが大量に処理装置に入力された場合に
は、変換が不可能であることを判定するための不必要な
時間が増加して著しく処理速度が低下してしまう。
にROP処理が必要な命令から不必要な命令への変換動
作が可能かどうかを判定するためには大量の命令を処理
してから判定しなけらばならないケースが多く、判定結
果が決定されるまで描画動作を行なうことができずに処
理速度が低下してしまう。特に、変換不可能なROP処
理を行なうデータが大量に処理装置に入力された場合に
は、変換が不可能であることを判定するための不必要な
時間が増加して著しく処理速度が低下してしまう。
【0017】また、論理演算をより簡単な命令に置換え
可能かどうかは、ある程度命令が現れないと判定できな
い。たとえば、第1の排他的論理和演算で描画する図形
と第2の排他的論理和演算で描画する図形が同一のもの
であることを確かめる必要がある描画命令が存在する。
この同一判定を行なうためには、第1の排他的論理和の
描画を指示する命令を蓄積しておかなくてはならない。
可能かどうかは、ある程度命令が現れないと判定できな
い。たとえば、第1の排他的論理和演算で描画する図形
と第2の排他的論理和演算で描画する図形が同一のもの
であることを確かめる必要がある描画命令が存在する。
この同一判定を行なうためには、第1の排他的論理和の
描画を指示する命令を蓄積しておかなくてはならない。
【0018】ところで、PDLで描画するオブジェクト
には、幾何学図形の他、自然画像をスキャンしたイメー
ジも存在する。一般にイメージはデータサイズが大き
い。第1の排他的論理和で描画するオブジェクトにイメ
ージデータが含まれる場合も存在するが、このような場
合、イメージデータを蓄積するのに十分なメモリが存在
しないこともある。このような場合、ファイルに蓄積す
ることで十分なメモリがなくても置換処理を行なえる
が、ファイルにアクセスするオーバーヘッドが大きくな
り、このオーバーヘッドが置換処理による処理速度の高
速化を上回り、必ずしもトータルの処理速度が高速にな
るとは限らない場合がある。
には、幾何学図形の他、自然画像をスキャンしたイメー
ジも存在する。一般にイメージはデータサイズが大き
い。第1の排他的論理和で描画するオブジェクトにイメ
ージデータが含まれる場合も存在するが、このような場
合、イメージデータを蓄積するのに十分なメモリが存在
しないこともある。このような場合、ファイルに蓄積す
ることで十分なメモリがなくても置換処理を行なえる
が、ファイルにアクセスするオーバーヘッドが大きくな
り、このオーバーヘッドが置換処理による処理速度の高
速化を上回り、必ずしもトータルの処理速度が高速にな
るとは限らない場合がある。
【0019】また、近年のプリンタでは、中間データま
でをソフトウエアによって生成し、中間データをイメー
ジに変換する処理をハードウェアで行なう場合もある。
このハードウェアには、論理演算処理まで組み込まれて
いるものも存在し、論理演算を簡単な描画命令に置き換
えても、必ずしも処理速度が高速になるとは限らない場
合もある。
でをソフトウエアによって生成し、中間データをイメー
ジに変換する処理をハードウェアで行なう場合もある。
このハードウェアには、論理演算処理まで組み込まれて
いるものも存在し、論理演算を簡単な描画命令に置き換
えても、必ずしも処理速度が高速になるとは限らない場
合もある。
【0020】さらに、特開2000−132671号に
記載の方法では、複数の描画命令を印刷装置に一時的に
記憶領域に記憶しておく必要がある。しかしオブジェク
トごとの重なりがあり得る特定のROP命令を含む描画
命令を全て記憶しておくと、莫大な記憶領域が必要とな
る場合がある。たとえば1つのオブジェクトが多くの描
画命令から構成される場合がある。また描画命令の構成
数に拘わらず、記憶する段階では最終的に描画命令の変
換ができるかどうか分からないために、とりあえず記憶
しなければならない。
記載の方法では、複数の描画命令を印刷装置に一時的に
記憶領域に記憶しておく必要がある。しかしオブジェク
トごとの重なりがあり得る特定のROP命令を含む描画
命令を全て記憶しておくと、莫大な記憶領域が必要とな
る場合がある。たとえば1つのオブジェクトが多くの描
画命令から構成される場合がある。また描画命令の構成
数に拘わらず、記憶する段階では最終的に描画命令の変
換ができるかどうか分からないために、とりあえず記憶
しなければならない。
【0021】また、描画命令を逐次的にプリンタドライ
バから印刷装置に送る方法では、ページ全体の情報を把
握することができないため、たとえば描画命令群の合計
サイズがどれだけになるか、イメージの合計サイズがど
れだけになるか、などの印刷装置での処理において把握
しておくと便利な情報は一般に知り得ない。それらを知
るためには印刷装置で、送られてきた描画命令を一旦蓄
積する作業が必要となるがそれではやはり記憶領域を多
く確保しなければならない。
バから印刷装置に送る方法では、ページ全体の情報を把
握することができないため、たとえば描画命令群の合計
サイズがどれだけになるか、イメージの合計サイズがど
れだけになるか、などの印刷装置での処理において把握
しておくと便利な情報は一般に知り得ない。それらを知
るためには印刷装置で、送られてきた描画命令を一旦蓄
積する作業が必要となるがそれではやはり記憶領域を多
く確保しなければならない。
【0022】本発明は、上記事情に鑑みてなされたもの
であり、ROP処理を前提とする画像処理装置における
上記問題を解決することを目的とする。具体的には、R
OP処理が成功するか否かに拘わらず、画像出力開始ま
での時間を確実に高速化することのできる画像処理装置
を提供することを第1の目的とする。
であり、ROP処理を前提とする画像処理装置における
上記問題を解決することを目的とする。具体的には、R
OP処理が成功するか否かに拘わらず、画像出力開始ま
での時間を確実に高速化することのできる画像処理装置
を提供することを第1の目的とする。
【0023】また本発明は、ファイルにアクセスするオ
ーバーヘッド量や、中間データをイメージに変換する処
理をハードウェアで行なうか否かに拘わらず、画像出力
開始までの時間を確実に高速化することのできる画像処
理装置を提供することを第2の目的とする。
ーバーヘッド量や、中間データをイメージに変換する処
理をハードウェアで行なうか否かに拘わらず、画像出力
開始までの時間を確実に高速化することのできる画像処
理装置を提供することを第2の目的とする。
【0024】さらに本発明は、ROP処理実行のための
記憶容量を少なく抑えることのできる描画命令出力装置
および画像形成装置を提供することを第3の目的とす
る。
記憶容量を少なく抑えることのできる描画命令出力装置
および画像形成装置を提供することを第3の目的とす
る。
【0025】
【課題を解決するための手段】すなわち、本発明に係る
第1の画像処理装置は、画像を構成する画素間の論理演
算処理を含む描画命令を受け取って処理する画像処理装
置であって、論理演算処理を必要とする描画命令から論
理演算処理を必要としない描画命令に変換することが可
能であるのか不可能であるのかを判定する判定部と、判
定部による判定の結果が不可能であったことを条件とし
て、変換が不可能であった論理演算処理を必要とする描
画命令を記憶する記憶部と、記憶部が記憶した描画命令
と、描画命令に後続して受け取る描画命令とを比較する
比較部とを備えた。判定部は、比較部による比較の結果
が一致することを条件として、変換することが可能であ
るのか不可能であるのかの判定を行なわない代わりに、
失敗と判定する。
第1の画像処理装置は、画像を構成する画素間の論理演
算処理を含む描画命令を受け取って処理する画像処理装
置であって、論理演算処理を必要とする描画命令から論
理演算処理を必要としない描画命令に変換することが可
能であるのか不可能であるのかを判定する判定部と、判
定部による判定の結果が不可能であったことを条件とし
て、変換が不可能であった論理演算処理を必要とする描
画命令を記憶する記憶部と、記憶部が記憶した描画命令
と、描画命令に後続して受け取る描画命令とを比較する
比較部とを備えた。判定部は、比較部による比較の結果
が一致することを条件として、変換することが可能であ
るのか不可能であるのかの判定を行なわない代わりに、
失敗と判定する。
【0026】本発明に係る第2の画像処理装置は、画像
を構成する画素間の論理演算処理を含む描画命令を受け
取って処理する画像処理装置であって、論理演算処理を
必要とする描画命令から論理演算処理を必要としない描
画命令に変換することが可能であるのか不可能であるの
かを判定する判定部と、判定部による判定の結果が不可
能であったことを条件として、変換が不可能であった論
理演算処理を必要とする描画命令より以前に入力された
描画命令および入力された順番とを対応付けて記憶する
記憶部と、記憶部が記憶した描画命令および順番と、当
該描画命令に後続して受け取る描画命令とを比較する比
較部とを備えた。判定部は、比較部による比較の結果が
一致することを条件として、変換することが可能である
のか不可能であるのかの判定を行なわない代わりに、失
敗と判定する。
を構成する画素間の論理演算処理を含む描画命令を受け
取って処理する画像処理装置であって、論理演算処理を
必要とする描画命令から論理演算処理を必要としない描
画命令に変換することが可能であるのか不可能であるの
かを判定する判定部と、判定部による判定の結果が不可
能であったことを条件として、変換が不可能であった論
理演算処理を必要とする描画命令より以前に入力された
描画命令および入力された順番とを対応付けて記憶する
記憶部と、記憶部が記憶した描画命令および順番と、当
該描画命令に後続して受け取る描画命令とを比較する比
較部とを備えた。判定部は、比較部による比較の結果が
一致することを条件として、変換することが可能である
のか不可能であるのかの判定を行なわない代わりに、失
敗と判定する。
【0027】本発明に係る第3の画像処理装置は、画像
を構成する画素間の論理演算処理を含む描画命令を受け
取って処理することが可能であるとともに、論理演算処
理を行なわなくても処理可能な場合には、論理演算処理
を必要としない描画命令に変換してから処理することが
可能である画像処理装置であって、論理演算処理を含む
描画命令を使用して描画したときの処理時間、およびそ
の論理演算処理を必要としない描画命令に変換してから
描画したときの処理時間を予測する予測部と、予測部に
よる各処理時間の予測結果に基づいて、論理演算処理を
必要としない描画命令に変換するか否かを判定する判定
部とを備えた。この画像処理装置は、判定部の判定結果
に基づいて、論理演算処理を行なう描画展開処理および
当該論理演算処理を含まない描画処理に変換して描画展
開することのうち、描画命令を受け取ってから描画開始
までの時間がより短くなる方の処理を実行する。
を構成する画素間の論理演算処理を含む描画命令を受け
取って処理することが可能であるとともに、論理演算処
理を行なわなくても処理可能な場合には、論理演算処理
を必要としない描画命令に変換してから処理することが
可能である画像処理装置であって、論理演算処理を含む
描画命令を使用して描画したときの処理時間、およびそ
の論理演算処理を必要としない描画命令に変換してから
描画したときの処理時間を予測する予測部と、予測部に
よる各処理時間の予測結果に基づいて、論理演算処理を
必要としない描画命令に変換するか否かを判定する判定
部とを備えた。この画像処理装置は、判定部の判定結果
に基づいて、論理演算処理を行なう描画展開処理および
当該論理演算処理を含まない描画処理に変換して描画展
開することのうち、描画命令を受け取ってから描画開始
までの時間がより短くなる方の処理を実行する。
【0028】本発明に係る第4の画像処理装置は、画像
を構成する画素間の論理演算処理を含む描画命令を受け
取って処理することが可能であるとともに、論理演算処
理を行なわなくても処理可能な場合には、論理演算処理
を必要としない描画命令に変換してから処理することが
可能である画像処理装置であって、論理演算処理を高速
に処理する高速化処理部が存在するかどうかを判定する
判定部と、高速化処理部が存在すると判定部が判定した
ことを条件として、論理演算処理を必要としない描画命
令に変換せずに処理する第1の処理方法を選択する一
方、高速化処理部が存在しないと判定部が判定したこと
を条件として、論理演算処理を必要としない描画命令に
変換して処理する第2の処理方法を選択する処理方法切
替部とを備えた。
を構成する画素間の論理演算処理を含む描画命令を受け
取って処理することが可能であるとともに、論理演算処
理を行なわなくても処理可能な場合には、論理演算処理
を必要としない描画命令に変換してから処理することが
可能である画像処理装置であって、論理演算処理を高速
に処理する高速化処理部が存在するかどうかを判定する
判定部と、高速化処理部が存在すると判定部が判定した
ことを条件として、論理演算処理を必要としない描画命
令に変換せずに処理する第1の処理方法を選択する一
方、高速化処理部が存在しないと判定部が判定したこと
を条件として、論理演算処理を必要としない描画命令に
変換して処理する第2の処理方法を選択する処理方法切
替部とを備えた。
【0029】本発明に係る描画命令出力装置は、画像を
形成するための描画命令を出力する描画命令出力装置で
あって、論理演算処理を必要とする描画命令から論理演
算処理を必要としない描画命令に変換することが可能で
あるのか不可能であるのかを示す判定情報を生成する判
定情報生成部と、判定情報生成部が生成した判定情報を
描画命令と対応付けて出力する出力部とを備えた。
形成するための描画命令を出力する描画命令出力装置で
あって、論理演算処理を必要とする描画命令から論理演
算処理を必要としない描画命令に変換することが可能で
あるのか不可能であるのかを示す判定情報を生成する判
定情報生成部と、判定情報生成部が生成した判定情報を
描画命令と対応付けて出力する出力部とを備えた。
【0030】本発明に係る画像形成装置は、入力された
描画命令に基づいて、画像を形成する画像形成装置であ
って、描画命令、および当該描画命令が論理演算処理を
必要とする描画命令から論理演算処理を必要としない描
画命令に変換することが可能であるのか不可能であるの
かを示す判定情報を受け取る入力部と、入力部が受け取
った判定情報に基づいて、入力部が受け取った描画命令
を解釈してラスタ画像に展開する展開部とを備えた。
描画命令に基づいて、画像を形成する画像形成装置であ
って、描画命令、および当該描画命令が論理演算処理を
必要とする描画命令から論理演算処理を必要としない描
画命令に変換することが可能であるのか不可能であるの
かを示す判定情報を受け取る入力部と、入力部が受け取
った判定情報に基づいて、入力部が受け取った描画命令
を解釈してラスタ画像に展開する展開部とを備えた。
【0031】
【作用】本発明に係る第1あるいは第2の画像処理装置
では、変換が不可能であった論理演算処理命令あるいは
論理演算処理命令が入力される以前の命令列を記憶し
て、後続するROP処理命令に対して比較を行ない、失
敗を予測して不必要な判定動作を行なわないようにす
る。
では、変換が不可能であった論理演算処理命令あるいは
論理演算処理命令が入力される以前の命令列を記憶し
て、後続するROP処理命令に対して比較を行ない、失
敗を予測して不必要な判定動作を行なわないようにす
る。
【0032】本発明に係る第3の画像処理装置では、論
理演算処理を行なう描画処理を論理演算処理を含まない
描画処理に変換するべきかどうかを時間予測をして判定
し、より処理速度の向上が見込まれる方を選択して実行
する。
理演算処理を行なう描画処理を論理演算処理を含まない
描画処理に変換するべきかどうかを時間予測をして判定
し、より処理速度の向上が見込まれる方を選択して実行
する。
【0033】本発明に係る第4の画像処理装置では、先
ず判定部が、論理演算処理を高速に処理する高速化処理
部が存在するかどうかを判定する。そして、処理方法切
替部は、高速化処理部が存在するかどうかに応じて、基
本的にROP命令を置換する処理を経由させるかどうか
を切り替える。
ず判定部が、論理演算処理を高速に処理する高速化処理
部が存在するかどうかを判定する。そして、処理方法切
替部は、高速化処理部が存在するかどうかに応じて、基
本的にROP命令を置換する処理を経由させるかどうか
を切り替える。
【0034】本発明に係る描画命令出力装置は、描画命
令の中に判定情報を埋め込み、画像形成装置は、この判
定情報を参照して描画命令を解釈する。
令の中に判定情報を埋め込み、画像形成装置は、この判
定情報を参照して描画命令を解釈する。
【0035】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について詳細に説明する。
施の形態について詳細に説明する。
【0036】図1は、本発明の画像処理装置を適用した
第1実施形態の印刷システムの一構成例を示すブロック
図である。第1実施形態の印刷システム1は、変換が不
可能であったROP処理命令あるいはROP処理命令が
入力される以前の命令群を記憶して、後続するROP処
理命令に対して比較を行ない、失敗を予測して不必要な
判定動作を行なわないようにする形態のものである。
第1実施形態の印刷システムの一構成例を示すブロック
図である。第1実施形態の印刷システム1は、変換が不
可能であったROP処理命令あるいはROP処理命令が
入力される以前の命令群を記憶して、後続するROP処
理命令に対して比較を行ない、失敗を予測して不必要な
判定動作を行なわないようにする形態のものである。
【0037】第1実施形態の印刷システム1は、データ
を生成するパソコンなどのホスト側装置100と、ホス
ト側装置100から出力されたデータに基づいて印刷処
理をするプリンタ(印刷装置)200とを備えている。
そして、ホスト側装置100が本発明に係る画像処理装
置として機能する。
を生成するパソコンなどのホスト側装置100と、ホス
ト側装置100から出力されたデータに基づいて印刷処
理をするプリンタ(印刷装置)200とを備えている。
そして、ホスト側装置100が本発明に係る画像処理装
置として機能する。
【0038】ホスト側装置100は、文書や図形などの
画像データを生成するデータ生成部110と、ホスト側
装置100の各部の動作を制御する中央制御部120
と、プリンタ200との間のインターフェース機能をな
すインターフェース部130とを有する。データ生成部
110には、たとえば、文書や図形などのデータを生成
するためのアプリケーションプログラムが組み込まれ
る。また中央制御部120には、ホスト側装置100の
全体を制御するソフトウェアであるOS(オペレーティ
ングシステム)やプリンタ200を制御するためのソフ
トウェアであるプリンタドライバが組み込まれる。
画像データを生成するデータ生成部110と、ホスト側
装置100の各部の動作を制御する中央制御部120
と、プリンタ200との間のインターフェース機能をな
すインターフェース部130とを有する。データ生成部
110には、たとえば、文書や図形などのデータを生成
するためのアプリケーションプログラムが組み込まれ
る。また中央制御部120には、ホスト側装置100の
全体を制御するソフトウェアであるOS(オペレーティ
ングシステム)やプリンタ200を制御するためのソフ
トウェアであるプリンタドライバが組み込まれる。
【0039】これにより、ホスト側装置100は、本発
明に係る画像処理装置を、プログラムに基づいてソフト
ウェア的に実現するようになる。すなわち、後述する各
機能部を構成するためのプログラムを格納したCD−R
OMなどからプログラムを読み出して図示しないハード
ディスク装置などにインストールさせておき、ハードデ
ィスク装置からプログラムを読み出して図示しないCP
Uが後述する処理手順を実行することにより、各機能を
ソフトウェア的に実現することができる。
明に係る画像処理装置を、プログラムに基づいてソフト
ウェア的に実現するようになる。すなわち、後述する各
機能部を構成するためのプログラムを格納したCD−R
OMなどからプログラムを読み出して図示しないハード
ディスク装置などにインストールさせておき、ハードデ
ィスク装置からプログラムを読み出して図示しないCP
Uが後述する処理手順を実行することにより、各機能を
ソフトウェア的に実現することができる。
【0040】なお、プログラムは、コンピュータ読取り
可能な記憶媒体に格納されて提供されてもよいし、有線
あるいは無線による通信手段を介して配信されてもよ
い。また、これらのプログラムや当該プログラムを格納
した記憶媒体は、既存のシステムやアプリケーションプ
ログラムあるいはプリンタドライバをバージョンアップ
するものとして提供されてもよい。あるいは、各機能部
分をソフトウェア的に実現するパッチファイルなど、一
部の機能に対応したオプションプログラムとして提供さ
れてもよい。
可能な記憶媒体に格納されて提供されてもよいし、有線
あるいは無線による通信手段を介して配信されてもよ
い。また、これらのプログラムや当該プログラムを格納
した記憶媒体は、既存のシステムやアプリケーションプ
ログラムあるいはプリンタドライバをバージョンアップ
するものとして提供されてもよい。あるいは、各機能部
分をソフトウェア的に実現するパッチファイルなど、一
部の機能に対応したオプションプログラムとして提供さ
れてもよい。
【0041】たとえば、ホスト側装置100に組み込ま
れているアプリケーションプログラムから、イメージ描
画命令、グラフィック描画命令、フォント描画命令など
の命令種別を持った描画命令が順次プリンタドライバに
入力される。プリンタドライバは描画命令をプリンタ2
00が理解可能なプリント命令に変換してインターフェ
ース部130に出力する。インターフェース部130に
入力されたプリント命令は、伝送路(ネットワーク)9
を通りプリンタ200に伝送される。プリンタ200
は、受け取ったプリント命令に従って、用紙に画像を印
刷(画像出力)する。
れているアプリケーションプログラムから、イメージ描
画命令、グラフィック描画命令、フォント描画命令など
の命令種別を持った描画命令が順次プリンタドライバに
入力される。プリンタドライバは描画命令をプリンタ2
00が理解可能なプリント命令に変換してインターフェ
ース部130に出力する。インターフェース部130に
入力されたプリント命令は、伝送路(ネットワーク)9
を通りプリンタ200に伝送される。プリンタ200
は、受け取ったプリント命令に従って、用紙に画像を印
刷(画像出力)する。
【0042】図2は、第1実施形態の印刷システム1に
おける、出力開始時間短縮化処理に関わる部分、具体的
にはプリンタドライバが組み込まれた中央制御部120
の機能ブロック図である。中央制御部120(特にプリ
ンタドライバ機能部分;以下同様)は、アプリケーショ
ンプログラムから入力された描画命令を記憶する描画命
令記憶部122と、描画命令記憶部122に記憶された
描画命令を検索してROP処理の変換が可能かどうかを
判定する論理演算変換判定部124とを備える。
おける、出力開始時間短縮化処理に関わる部分、具体的
にはプリンタドライバが組み込まれた中央制御部120
の機能ブロック図である。中央制御部120(特にプリ
ンタドライバ機能部分;以下同様)は、アプリケーショ
ンプログラムから入力された描画命令を記憶する描画命
令記憶部122と、描画命令記憶部122に記憶された
描画命令を検索してROP処理の変換が可能かどうかを
判定する論理演算変換判定部124とを備える。
【0043】また、中央制御部120は、論理演算変換
判定部124で判定に失敗した場合の描画命令パターン
(以下失敗パターン情報という)を蓄積して記憶する失
敗パターン記憶部127と、論理演算変換判定部124
による判定結果や失敗パターン記憶部127に記憶され
た失敗パターン情報を受けて、描画命令記憶部122に
記憶された描画命令を解釈して対応するプリント命令を
プリンタ200に向けて出力する描画命令変換部128
とを備える。
判定部124で判定に失敗した場合の描画命令パターン
(以下失敗パターン情報という)を蓄積して記憶する失
敗パターン記憶部127と、論理演算変換判定部124
による判定結果や失敗パターン記憶部127に記憶され
た失敗パターン情報を受けて、描画命令記憶部122に
記憶された描画命令を解釈して対応するプリント命令を
プリンタ200に向けて出力する描画命令変換部128
とを備える。
【0044】論理演算変換判定部124は、論理演算処
理を必要とする描画命令から論理演算処理を必要としな
い描画命令に変換可能であるかどうか判定する判定部1
25と、描画命令記憶部122に記憶された描画命令と
後続して受け取る描画命令とを比較する比較部126と
を有する。そして論理演算変換判定部124は、比較部
126の比較結果が一致する場合には、判定部125の
判定動作を行なわずに失敗と判定する。失敗パターン記
憶部127は、論理演算変換判定部124の判定結果が
変換不可能であった場合に、変換不可能であった論理演
算処理を必要とする描画命令を記憶する。
理を必要とする描画命令から論理演算処理を必要としな
い描画命令に変換可能であるかどうか判定する判定部1
25と、描画命令記憶部122に記憶された描画命令と
後続して受け取る描画命令とを比較する比較部126と
を有する。そして論理演算変換判定部124は、比較部
126の比較結果が一致する場合には、判定部125の
判定動作を行なわずに失敗と判定する。失敗パターン記
憶部127は、論理演算変換判定部124の判定結果が
変換不可能であった場合に、変換不可能であった論理演
算処理を必要とする描画命令を記憶する。
【0045】図3は、第1実施形態の印刷システム1に
おける、出力開始時間短縮化処理に関わる部分の、特に
論理演算変換判定部124における処理手順の一例を示
したフローチャートである。
おける、出力開始時間短縮化処理に関わる部分の、特に
論理演算変換判定部124における処理手順の一例を示
したフローチャートである。
【0046】論理演算変換判定部124において、先ず
判定部125が、描画命令記憶部122から描画命令を
読み出し(S100)、描画命令中のROPコードが
“XOR”かどうか判断する(S102)。“XOR”
であるならば、比較部126は、失敗パターン記憶部1
27に記憶された失敗パターン情報を取得し(S102
−YES,S104)、描画命令が失敗パターンと一致
するかを比較する(S106)。
判定部125が、描画命令記憶部122から描画命令を
読み出し(S100)、描画命令中のROPコードが
“XOR”かどうか判断する(S102)。“XOR”
であるならば、比較部126は、失敗パターン記憶部1
27に記憶された失敗パターン情報を取得し(S102
−YES,S104)、描画命令が失敗パターンと一致
するかを比較する(S106)。
【0047】比較の結果が一致する場合には、論理演算
変換判定部124は、論理演算変換判定を行なわず、判
定結果を失敗として描画命令変換部128へ伝える(S
106−YES,S108)。一方、失敗と判定されな
かった場合には、論理演算変換判定部124は、描画命
令中のROPコードに対応した“描画データ1”を読み
出し(S110)、この読み出した“描画データ1”を
図示しない記憶部に記憶する(S112)。
変換判定部124は、論理演算変換判定を行なわず、判
定結果を失敗として描画命令変換部128へ伝える(S
106−YES,S108)。一方、失敗と判定されな
かった場合には、論理演算変換判定部124は、描画命
令中のROPコードに対応した“描画データ1”を読み
出し(S110)、この読み出した“描画データ1”を
図示しない記憶部に記憶する(S112)。
【0048】引き続き、論理演算変換判定部124は、
描画命令変換部128へのデータの入力を停止し(S1
14)、ステップS100と同様に、後続する描画命令
を読み出して論理演算変換判定を行なう(S116)。
そして論理演算変換判定部124は、次の描画命令がグ
ラフィック命令かどうかを判断する(S118)。
描画命令変換部128へのデータの入力を停止し(S1
14)、ステップS100と同様に、後続する描画命令
を読み出して論理演算変換判定を行なう(S116)。
そして論理演算変換判定部124は、次の描画命令がグ
ラフィック命令かどうかを判断する(S118)。
【0049】グラフィック命令であれば、論理演算変換
判定部124は、順次描画命令を読み出し(S12
0)、次の描画命令のROPコードが“XOR”である
かどうか判断する(S122)。ここで“XOR”と
は、イメージを論理演算EX−OR(排他的論理和)で
描画することを意味する。
判定部124は、順次描画命令を読み出し(S12
0)、次の描画命令のROPコードが“XOR”である
かどうか判断する(S122)。ここで“XOR”と
は、イメージを論理演算EX−OR(排他的論理和)で
描画することを意味する。
【0050】描画命令が“XOR”であるならば、論理
演算変換判定部124は、描画命令中のROPコードに
対応した“描画データ2”を読み出して(S124)、
記憶しておいた“描画データ1”と内容を比べる(S1
26)。そして、データの内容が一致するならば判定結
果を成功として、描画命令変換部128へ伝える(S1
26−YES,S128)。描画命令変換部128は、
これを受けて、処理を再開する(S130)。
演算変換判定部124は、描画命令中のROPコードに
対応した“描画データ2”を読み出して(S124)、
記憶しておいた“描画データ1”と内容を比べる(S1
26)。そして、データの内容が一致するならば判定結
果を成功として、描画命令変換部128へ伝える(S1
26−YES,S128)。描画命令変換部128は、
これを受けて、処理を再開する(S130)。
【0051】一方、判定結果が失敗した場合は、論理演
算変換判定部124は、判定結果を失敗として描画命令
変換部128へ伝える(S126−NO,S132)。
描画命令変換部128は、これを受けて、変換を行なう
ための起点となった描画命令のROPコードと命令種別
を失敗パターンとして失敗パターン記憶部127に登録
し(S134)、描画命令変換部128に処理を再開さ
せる(S130)。
算変換判定部124は、判定結果を失敗として描画命令
変換部128へ伝える(S126−NO,S132)。
描画命令変換部128は、これを受けて、変換を行なう
ための起点となった描画命令のROPコードと命令種別
を失敗パターンとして失敗パターン記憶部127に登録
し(S134)、描画命令変換部128に処理を再開さ
せる(S130)。
【0052】図4は、第1実施形態の印刷システム1に
おける、出力開始時間短縮化処理に関わる部分の、特に
描画命令変換部128における処理手順の一例を示した
フローチャートである。
おける、出力開始時間短縮化処理に関わる部分の、特に
描画命令変換部128における処理手順の一例を示した
フローチャートである。
【0053】描画命令変換部128は論理演算変換判定
部124からの判定を取得する(S140)。判定結果
が失敗ならば、描画命令変換部128は、描画命令の変
換を行なわずに描画命令に対応したプリント命令をその
まま出力する(S142−NO,S144)。一方、判
定結果が成功ならば、描画命令変換部128は、ROP
コードに対応した“描画データ1”を描画命令記憶部1
22から読み出して図示しない記憶部に記憶する(S1
46)。
部124からの判定を取得する(S140)。判定結果
が失敗ならば、描画命令変換部128は、描画命令の変
換を行なわずに描画命令に対応したプリント命令をその
まま出力する(S142−NO,S144)。一方、判
定結果が成功ならば、描画命令変換部128は、ROP
コードに対応した“描画データ1”を描画命令記憶部1
22から読み出して図示しない記憶部に記憶する(S1
46)。
【0054】そして引き続いて、描画命令記憶部122
からグラフィックデータを読み出して(S148)、グ
ラフィックデータの描画パスをクリップ命令命令として
プリント命令を出力する(S150)。次に描画命令変
換部128は、記憶しておいた“描画データ1”のRO
Pコードを“XOR”から“COPY”すなわち“上書
き”に変換してプリント命令を出力する(S152)。
ここで“COPY”とは、任意形状グラフィックスに黒
色を上書きで描画することを意味する。
からグラフィックデータを読み出して(S148)、グ
ラフィックデータの描画パスをクリップ命令命令として
プリント命令を出力する(S150)。次に描画命令変
換部128は、記憶しておいた“描画データ1”のRO
Pコードを“XOR”から“COPY”すなわち“上書
き”に変換してプリント命令を出力する(S152)。
ここで“COPY”とは、任意形状グラフィックスに黒
色を上書きで描画することを意味する。
【0055】図5は、第1実施形態の印刷システム1に
おける処理の一例を具体的に示した図である。図5
(A)に示すように、変換可能なROP命令を含んだデ
ータが入力された場合、論理演算変換判定部124の判
定部125は判定結果を成功とする。そして、論理演算
変換判定部124が成功と判定した場合には、描画命令
変換部128は、ROP処理が必要な描画命令をROP
処理が必要のないプリント命令に変換する。この状態は
本願を適用しない従来装置の結果と同じである。
おける処理の一例を具体的に示した図である。図5
(A)に示すように、変換可能なROP命令を含んだデ
ータが入力された場合、論理演算変換判定部124の判
定部125は判定結果を成功とする。そして、論理演算
変換判定部124が成功と判定した場合には、描画命令
変換部128は、ROP処理が必要な描画命令をROP
処理が必要のないプリント命令に変換する。この状態は
本願を適用しない従来装置の結果と同じである。
【0056】たとえば図5(A)に示した状態は、命令
“1”(図では○付き文字で示す;以下同様)および
“3”の2つのROPコード“XOR”で挟まれた命令
“3”のROPコード“COPY”の場合(ROP処理
が必要な3つの描画命令)、ROP処理が必要のない新
たなプリント命令である“COPY”に変換され、これ
に対応して任意形状クリップが生成される。ここで新た
なプリント命令(クリップ命令)“COPY”は、任意
形状クリップでイメージを上書きすることを意味する。
“1”(図では○付き文字で示す;以下同様)および
“3”の2つのROPコード“XOR”で挟まれた命令
“3”のROPコード“COPY”の場合(ROP処理
が必要な3つの描画命令)、ROP処理が必要のない新
たなプリント命令である“COPY”に変換され、これ
に対応して任意形状クリップが生成される。ここで新た
なプリント命令(クリップ命令)“COPY”は、任意
形状クリップでイメージを上書きすることを意味する。
【0057】一方図5(B)では、ROPコードとし
て、“AND”が入力されている。ここで“AND”と
は、イメージを論理積演算ANDで描画することを意味
する。そして2つのROPコード“XOR”で挟まれた
“AND”は、変換不可能なROP命令の一例である。
このように、変換不可能なROP命令を含んだデータが
何回か繰り返し入力された場合、論理演算変換判定部1
24は、命令“2”のROPデータ(第1の“XO
R”)の検知によって変換判定を開始し、命令“3”の
ROPデータ(“AND”)に対応するイメージデータ
を検知した時点で、変換が不可能であると判定して判定
結果を失敗とする。なぜなら、2つの“XOR”命令に
挟まれた命令がグラフィック命令でないと、変換の時に
はクリップ命令に変換できないからである。このとき、
論理演算変換判定部124は、図5(C)に示すよう
に、第1の“XOR”および“イメージ”というROP
描画の命令情報を失敗パターン記憶部127に記憶・登
録させる。
て、“AND”が入力されている。ここで“AND”と
は、イメージを論理積演算ANDで描画することを意味
する。そして2つのROPコード“XOR”で挟まれた
“AND”は、変換不可能なROP命令の一例である。
このように、変換不可能なROP命令を含んだデータが
何回か繰り返し入力された場合、論理演算変換判定部1
24は、命令“2”のROPデータ(第1の“XO
R”)の検知によって変換判定を開始し、命令“3”の
ROPデータ(“AND”)に対応するイメージデータ
を検知した時点で、変換が不可能であると判定して判定
結果を失敗とする。なぜなら、2つの“XOR”命令に
挟まれた命令がグラフィック命令でないと、変換の時に
はクリップ命令に変換できないからである。このとき、
論理演算変換判定部124は、図5(C)に示すよう
に、第1の“XOR”および“イメージ”というROP
描画の命令情報を失敗パターン記憶部127に記憶・登
録させる。
【0058】次に、命令“4”のROPデータ(第2の
“XOR”)を検知したとき、論理演算変換判定部12
4の比較部126は、記憶された失敗パターンと検知し
たROPデータとを比較し、比較結果が一致する(“X
OR”および“イメージ”)ので論理演算変換判定の処
理を行なわない。つまり判定部125は、比較部126
による比較の結果が一致することを条件として、置換す
ることが可能であるのか不可能であるのかの判定を行な
わない代わりに、失敗と判定する。
“XOR”)を検知したとき、論理演算変換判定部12
4の比較部126は、記憶された失敗パターンと検知し
たROPデータとを比較し、比較結果が一致する(“X
OR”および“イメージ”)ので論理演算変換判定の処
理を行なわない。つまり判定部125は、比較部126
による比較の結果が一致することを条件として、置換す
ることが可能であるのか不可能であるのかの判定を行な
わない代わりに、失敗と判定する。
【0059】上記説明では、失敗パターンとして図5
(C)に示すように、“XOR”と“イメージ”という
ROP描画の起点となる命令のみを失敗パターン情報と
して記憶したが、これに限らず、たとえば図5(D)に
示すように、起点となる命令より以前に入力された命令
と順番(この例では1番目に“AND”と“イメー
ジ”、2番目に“XOR”と“イメージ”)と対応付け
て失敗パターン情報として記憶することで、変換判定を
するときの判定精度を上げることもできる。
(C)に示すように、“XOR”と“イメージ”という
ROP描画の起点となる命令のみを失敗パターン情報と
して記憶したが、これに限らず、たとえば図5(D)に
示すように、起点となる命令より以前に入力された命令
と順番(この例では1番目に“AND”と“イメー
ジ”、2番目に“XOR”と“イメージ”)と対応付け
て失敗パターン情報として記憶することで、変換判定を
するときの判定精度を上げることもできる。
【0060】以上説明したように、第1実施形態の印刷
システム1によれば、変換が不可能であったROP処理
命令あるいはROP処理命令が入力される以前の命令群
を記憶して、後続するROP処理命令に対して比較を行
なうようにしたので、ROP処理の失敗を予め予測する
ことができる。このため、この予測結果に基づいて不必
要な判定動作を行なわないようにすることにより、置換
判断のための描画命令の無駄な蓄積処理が不要となり、
ROP処理が成功するか否かに拘わらず、画像出力(本
例では印字)開始までの時間を確実に高速化することが
できる。
システム1によれば、変換が不可能であったROP処理
命令あるいはROP処理命令が入力される以前の命令群
を記憶して、後続するROP処理命令に対して比較を行
なうようにしたので、ROP処理の失敗を予め予測する
ことができる。このため、この予測結果に基づいて不必
要な判定動作を行なわないようにすることにより、置換
判断のための描画命令の無駄な蓄積処理が不要となり、
ROP処理が成功するか否かに拘わらず、画像出力(本
例では印字)開始までの時間を確実に高速化することが
できる。
【0061】なお第1実施形態では、ホスト側装置10
0に組み込まれたプリンタドライバ(その実体はソフト
ウェアである)により失敗予測やその予測結果に基づく
プリント命令の生成処理をしていたが、プリンタ200
側にこれらの機能をハードウェアあるいはソフトウェア
として持たせてもよい。この場合、プリンタ200が、
本発明に係る画像処理装置の機能をなす。
0に組み込まれたプリンタドライバ(その実体はソフト
ウェアである)により失敗予測やその予測結果に基づく
プリント命令の生成処理をしていたが、プリンタ200
側にこれらの機能をハードウェアあるいはソフトウェア
として持たせてもよい。この場合、プリンタ200が、
本発明に係る画像処理装置の機能をなす。
【0062】図6は、本発明の画像処理装置を適用した
第2実施形態の印刷システムの一構成例(以下基本形と
もいう)を示すブロック図である。第2実施形態の印刷
システム1は、論理演算を行なう描画処理を論理演算を
含まない描画処理に変換するかどうかを判定し、より処
理速度の向上が見込まれる選択をするようにした形態の
ものである。
第2実施形態の印刷システムの一構成例(以下基本形と
もいう)を示すブロック図である。第2実施形態の印刷
システム1は、論理演算を行なう描画処理を論理演算を
含まない描画処理に変換するかどうかを判定し、より処
理速度の向上が見込まれる選択をするようにした形態の
ものである。
【0063】第2実施形態の印刷システム1は、図形を
含む文書データを作成して出力するパソコンなどのホス
ト側装置100と、ホスト側装置100から出力された
データに基づいて印刷処理をするプリンタ200とを備
えている。プリンタ200が本発明に係る画像処理装置
として機能する。そしてプリンタ200においては、た
とえば、後述する各部における処理の過程で、1ページ
分の画像を所定数のバンドに分割して取り扱い、かつ描
画展開処理や圧縮符号化処理などのために、分割したバ
ンド数よりも少ない所定バンド数分のバンドバッファを
ワークメモリ領域として使用するバンドバッファ技術を
用いる。
含む文書データを作成して出力するパソコンなどのホス
ト側装置100と、ホスト側装置100から出力された
データに基づいて印刷処理をするプリンタ200とを備
えている。プリンタ200が本発明に係る画像処理装置
として機能する。そしてプリンタ200においては、た
とえば、後述する各部における処理の過程で、1ページ
分の画像を所定数のバンドに分割して取り扱い、かつ描
画展開処理や圧縮符号化処理などのために、分割したバ
ンド数よりも少ない所定バンド数分のバンドバッファを
ワークメモリ領域として使用するバンドバッファ技術を
用いる。
【0064】本実施形態において、ホスト側装置100
によって作成される図形を含む文書データは、PDLで
記述された印刷データ(PDLデータ)である。なお、
本実施形態においては、図形のみ扱うことにしている
が、本発明は、これに限ることなく文字やイメージなど
の描画オブジェクトにも適用可能である。
によって作成される図形を含む文書データは、PDLで
記述された印刷データ(PDLデータ)である。なお、
本実施形態においては、図形のみ扱うことにしている
が、本発明は、これに限ることなく文字やイメージなど
の描画オブジェクトにも適用可能である。
【0065】ホスト側装置100には、図示しないプリ
ンタドライバが装着されており、ユーザの要求により、
文書をPDLデータに変換する。PDLデータに含まれ
る代表的命令を以下に挙げる。 1)“StartPage” ;ページの初期化を行なうための命
令であり、原稿サイズの指定を行なう。 2)“EndPage”; ページの終了を示すための命令であ
り、この命令を検知したタイミングでそれまでに生成さ
れた中間データをバンド毎にビットマップデータに展開
し印刷する。 3)“SetRopMode”;論理演算を指定する。本実施形態
のPDLには、COPY(上書き)とXORしかない。
本命令で論理演算を指定すると、以降に行われる描画
は、本命令で指定した論理演算で行われる。 4)“SetSolidColor” ;図形を描画する時に使用する
ソリッドカラーの値を指定する。引数はRGB空間の色
値である。 5)“DrawRectangle” ;長方形を描画する。引数は対
角点の座標値である。 6)“DrawEllipse” ;楕円を描画する。引数は対角点
の座標値である。 7)“ClipEllipse” ;楕円の領域をクリップ領域とし
て指定する。引数は対角点の座標値である。
ンタドライバが装着されており、ユーザの要求により、
文書をPDLデータに変換する。PDLデータに含まれ
る代表的命令を以下に挙げる。 1)“StartPage” ;ページの初期化を行なうための命
令であり、原稿サイズの指定を行なう。 2)“EndPage”; ページの終了を示すための命令であ
り、この命令を検知したタイミングでそれまでに生成さ
れた中間データをバンド毎にビットマップデータに展開
し印刷する。 3)“SetRopMode”;論理演算を指定する。本実施形態
のPDLには、COPY(上書き)とXORしかない。
本命令で論理演算を指定すると、以降に行われる描画
は、本命令で指定した論理演算で行われる。 4)“SetSolidColor” ;図形を描画する時に使用する
ソリッドカラーの値を指定する。引数はRGB空間の色
値である。 5)“DrawRectangle” ;長方形を描画する。引数は対
角点の座標値である。 6)“DrawEllipse” ;楕円を描画する。引数は対角点
の座標値である。 7)“ClipEllipse” ;楕円の領域をクリップ領域とし
て指定する。引数は対角点の座標値である。
【0066】プリンタ200は、システムバスを介して
プリンタ200の各部の動作を制御するCPU(Centra
l Processing Unit )210と、ホストコンピュータな
どのホスト側装置100との間のインターフェース機能
をなすインターフェース部230と、PDLデータを解
釈するインタプリタ部240とを備える。またプリンタ
200は、インタプリタ部240から受けとった解釈命
令に基づいて中間データを生成する中間データ生成部2
60と、中間データに基づいてバンドごとのビットマッ
プデータを生成するレンダリング部270とを備える。
プリンタ200の各部の動作を制御するCPU(Centra
l Processing Unit )210と、ホストコンピュータな
どのホスト側装置100との間のインターフェース機能
をなすインターフェース部230と、PDLデータを解
釈するインタプリタ部240とを備える。またプリンタ
200は、インタプリタ部240から受けとった解釈命
令に基づいて中間データを生成する中間データ生成部2
60と、中間データに基づいてバンドごとのビットマッ
プデータを生成するレンダリング部270とを備える。
【0067】インタプリタ部240は、インターフェー
ス部230を介して入力されたPDLデータを解釈する
PDLデータ解釈部242を有する。このインタプリタ
部240は、PDLデータ内に含まれる論理演算シーケ
ンスを置き換えるべきかどうかを判定し、置き換えるべ
き場合には別の命令に置き換えて、中間データ生成部2
50に渡す。
ス部230を介して入力されたPDLデータを解釈する
PDLデータ解釈部242を有する。このインタプリタ
部240は、PDLデータ内に含まれる論理演算シーケ
ンスを置き換えるべきかどうかを判定し、置き換えるべ
き場合には別の命令に置き換えて、中間データ生成部2
50に渡す。
【0068】またプリンタ200は、レンダリング部2
70により描画展開されたビットマップデータに基づい
て印刷処理を制御する印刷制御部(出力処理部)290
と、印刷制御部290の指令に従って印刷処理を実行す
るプリンタエンジン部300とを備える。プリンタエン
ジン部300とシステムバスとの間にはプリンタエンジ
ンインターフェース部302が設けられる。
70により描画展開されたビットマップデータに基づい
て印刷処理を制御する印刷制御部(出力処理部)290
と、印刷制御部290の指令に従って印刷処理を実行す
るプリンタエンジン部300とを備える。プリンタエン
ジン部300とシステムバスとの間にはプリンタエンジ
ンインターフェース部302が設けられる。
【0069】印刷制御部290は、印刷を行なう際に、
プリンタエンジン部300を起動し、出力単位分のビッ
トマップデータを、プリンタエンジン部300に供給す
る。プリンタエンジン部300は、プリンタエンジンイ
ンターフェース部302を介して供給されるビットマッ
プデータに従って、用紙に画像を形成して出力する。
プリンタエンジン部300を起動し、出力単位分のビッ
トマップデータを、プリンタエンジン部300に供給す
る。プリンタエンジン部300は、プリンタエンジンイ
ンターフェース部302を介して供給されるビットマッ
プデータに従って、用紙に画像を形成して出力する。
【0070】RAM202には、中間データ領域、バン
ド展開領域、ワーク領域などが割り当てられる。プリン
タ200は、RAM202における中間データ領域(中
間データ用保持領域)、バンド展開領域などに関する情
報を設定・管理するメモリ管理部(保持領域管理部)3
10を備える。中間データ生成部260やレンダリング
部270などが利用するRAM202は、プリンタ20
0の全体を制御するCPU210が使用するメインメモ
リとしても利用される。この場合、RAM202には、
メインメモリ用のワーク領域が割り当てられる。
ド展開領域、ワーク領域などが割り当てられる。プリン
タ200は、RAM202における中間データ領域(中
間データ用保持領域)、バンド展開領域などに関する情
報を設定・管理するメモリ管理部(保持領域管理部)3
10を備える。中間データ生成部260やレンダリング
部270などが利用するRAM202は、プリンタ20
0の全体を制御するCPU210が使用するメインメモ
リとしても利用される。この場合、RAM202には、
メインメモリ用のワーク領域が割り当てられる。
【0071】なお、中間データ領域は、中間データを保
存するための領域である。バンド展開領域は、バンドご
とに中間データを画像データに展開するための領域であ
る。ワーク領域は、プログラムが動作するために一時的
に使われる領域である。
存するための領域である。バンド展開領域は、バンドご
とに中間データを画像データに展開するための領域であ
る。ワーク領域は、プログラムが動作するために一時的
に使われる領域である。
【0072】さらにプリンタ200は、論理演算処理を
含む描画命令を使用して描画したときの処理時間、およ
びその論理演算処理を必要としない描画命令に変換して
から描画したときの処理時間を予測する予測部330
と、予測部330により予測された各処理時間に基づい
て、論理演算を必要としない描画命令に変換するか否か
を判定する判定部340とをインタプリタ部240内に
備えるとともに、ROP処理時に描画命令を一時的に格
納しておくための記憶媒体の一例であるハードディスク
350を備える。ハードディスク350には、たとえば
第1のXOR部命令蓄積領域と、COPY部命令蓄積領
域と、第2のXOR部命令蓄積領域とが用意される。
含む描画命令を使用して描画したときの処理時間、およ
びその論理演算処理を必要としない描画命令に変換して
から描画したときの処理時間を予測する予測部330
と、予測部330により予測された各処理時間に基づい
て、論理演算を必要としない描画命令に変換するか否か
を判定する判定部340とをインタプリタ部240内に
備えるとともに、ROP処理時に描画命令を一時的に格
納しておくための記憶媒体の一例であるハードディスク
350を備える。ハードディスク350には、たとえば
第1のXOR部命令蓄積領域と、COPY部命令蓄積領
域と、第2のXOR部命令蓄積領域とが用意される。
【0073】第1実施形態において説明したことから分
かるように、ROP処理が成功の場合には、ROP処理
が必要な描画命令がROP処理が必要のないプリント命
令に変換される。たとえば図5(A)に示したように、
2つのROPコード“XOR”で挟まれたROPコード
“COPY”の場合(ROP処理が必要な3つの描画命
令)、ROP処理が必要のない新たなプリント命令であ
る“COPY”に変換され、実際の描画時には、新たな
プリント命令“COPY”に基づいて、任意形状クリッ
プでイメージを上書きする。
かるように、ROP処理が成功の場合には、ROP処理
が必要な描画命令がROP処理が必要のないプリント命
令に変換される。たとえば図5(A)に示したように、
2つのROPコード“XOR”で挟まれたROPコード
“COPY”の場合(ROP処理が必要な3つの描画命
令)、ROP処理が必要のない新たなプリント命令であ
る“COPY”に変換され、実際の描画時には、新たな
プリント命令“COPY”に基づいて、任意形状クリッ
プでイメージを上書きする。
【0074】予測部330は、この際、論理演算処理を
含む描画命令を使用して描画したときの処理時間や、論
理演算を必要としない描画命令(前例ではプリント命令
“COPY”)に変換してから実行したときの時間を予
測する。そして予測部330は、当該プリンタ200に
おいて、論理演算を必要としない描画命令に変換してか
ら描画処理および印刷処理を実行したときの時間を予測
する。これにより、予測部330は、描画処理時におけ
るファイルにアクセスするオーバーヘッド量や、中間デ
ータをイメージに変換する処理をハードウェアで行なう
か否かに拘わらず、論理演算を必要としない描画命令に
変換してからプリンタエンジン部300における画像形
成開始までの実時間を予測することができる。
含む描画命令を使用して描画したときの処理時間や、論
理演算を必要としない描画命令(前例ではプリント命令
“COPY”)に変換してから実行したときの時間を予
測する。そして予測部330は、当該プリンタ200に
おいて、論理演算を必要としない描画命令に変換してか
ら描画処理および印刷処理を実行したときの時間を予測
する。これにより、予測部330は、描画処理時におけ
るファイルにアクセスするオーバーヘッド量や、中間デ
ータをイメージに変換する処理をハードウェアで行なう
か否かに拘わらず、論理演算を必要としない描画命令に
変換してからプリンタエンジン部300における画像形
成開始までの実時間を予測することができる。
【0075】判定部340は、論理演算を行なう描画処
理および論理演算を含まない描画処理の何れを選択する
ことが、画像形成開始までの実時間が短く(高速に)な
るのかを判定する。そしてプリンタ200は、この判定
結果に基づいて、より高速となる方の処理を選択して描
画処理や印刷処理を実行する。
理および論理演算を含まない描画処理の何れを選択する
ことが、画像形成開始までの実時間が短く(高速に)な
るのかを判定する。そしてプリンタ200は、この判定
結果に基づいて、より高速となる方の処理を選択して描
画処理や印刷処理を実行する。
【0076】なお第1実施形態と同様に、プリンタ20
0における機能部分を、プログラムに基づいてソフトウ
ェア的に実現するようにしてもよい。たとえば図示した
ように、PDLデータ解釈部242、圧縮自然画像デー
タサイズ計算部250、中間データ生成部260、レン
ダリング部270、圧縮符号化部280、印刷制御部2
90、予測部330、あるいは判定部340などを、ソ
フトウェアとしてプログラムROMに記憶するとよい。
これにより、プリンタ200は、本発明に係る画像処理
装置を、プログラムに基づいてソフトウェア的に実現す
るようになる。プログラムは、コンピュータ読取り可能
な記憶媒体に格納されて提供されてもよいし、有線ある
いは無線による通信手段を介して配信されてもよい。
0における機能部分を、プログラムに基づいてソフトウ
ェア的に実現するようにしてもよい。たとえば図示した
ように、PDLデータ解釈部242、圧縮自然画像デー
タサイズ計算部250、中間データ生成部260、レン
ダリング部270、圧縮符号化部280、印刷制御部2
90、予測部330、あるいは判定部340などを、ソ
フトウェアとしてプログラムROMに記憶するとよい。
これにより、プリンタ200は、本発明に係る画像処理
装置を、プログラムに基づいてソフトウェア的に実現す
るようになる。プログラムは、コンピュータ読取り可能
な記憶媒体に格納されて提供されてもよいし、有線ある
いは無線による通信手段を介して配信されてもよい。
【0077】この画像処理装置1に入力されたPDL形
式の印字データは、中間データ生成部260で解釈さ
れ、バンドごとに分割された中間データが生成される。
生成された中間データは、メモリ管理部310で管理さ
れたRAM202により記憶・保持される。レンダリン
グ部270は、中間データ生成部260により生成され
た中間データを描画展開することでバンドラスタデータ
を生成し、このバンドラスタデータをバンドバッファと
して機能するRAM202に記憶する。
式の印字データは、中間データ生成部260で解釈さ
れ、バンドごとに分割された中間データが生成される。
生成された中間データは、メモリ管理部310で管理さ
れたRAM202により記憶・保持される。レンダリン
グ部270は、中間データ生成部260により生成され
た中間データを描画展開することでバンドラスタデータ
を生成し、このバンドラスタデータをバンドバッファと
して機能するRAM202に記憶する。
【0078】図7は、RAM202の性能を示す図であ
る。図示するように、書込性能は5×(10^−8)
(秒/バイト)(“^”はべき乗を示す)で、読込性能
も5×(10^−8)(秒/バイト)である。
る。図示するように、書込性能は5×(10^−8)
(秒/バイト)(“^”はべき乗を示す)で、読込性能
も5×(10^−8)(秒/バイト)である。
【0079】ホスト側装置100には、プリンタドライ
バが組み込まれており、ユーザの要求により、文書をP
DLデータに変換する。本実施形態のプリンタドライバ
には自然画像データサイズヒント情報生成部がある。自
然画像データサイズヒント生成部は、PDLデータを生
成する際、同時に自然画像データのサイズを計算するた
めのヒント情報を生成する。本実施形態では、このヒン
ト情報もPDLデータの一部として扱われる。
バが組み込まれており、ユーザの要求により、文書をP
DLデータに変換する。本実施形態のプリンタドライバ
には自然画像データサイズヒント情報生成部がある。自
然画像データサイズヒント生成部は、PDLデータを生
成する際、同時に自然画像データのサイズを計算するた
めのヒント情報を生成する。本実施形態では、このヒン
ト情報もPDLデータの一部として扱われる。
【0080】ここで、本実施形態におけるPDLデータ
について説明する。PDLデータはページ開始命令、ペ
ージ終了命令、属性設定命令、パス構築命令、塗りつぶ
し命令、イメージ描画命令などからなる。ページ開始命
令はページを初期化するための命令であり、原稿サイズ
の指定、および自然画像データサイズのヒント情報を設
定する。ページ終了命令は、ページの終了を示すための
命令であり、この命令を検知したタイミングでそれまで
に生成された画像データを印刷する。属性設定命令は、
図形や文字を描画するときの属性を設定するための命令
である。
について説明する。PDLデータはページ開始命令、ペ
ージ終了命令、属性設定命令、パス構築命令、塗りつぶ
し命令、イメージ描画命令などからなる。ページ開始命
令はページを初期化するための命令であり、原稿サイズ
の指定、および自然画像データサイズのヒント情報を設
定する。ページ終了命令は、ページの終了を示すための
命令であり、この命令を検知したタイミングでそれまで
に生成された画像データを印刷する。属性設定命令は、
図形や文字を描画するときの属性を設定するための命令
である。
【0081】属性には描画する図形や文字の色や線の太
さ、使用するフォントの種別やサイズなどがあり、属性
設定命令で設定した属性は、次の属性設定命令で更新す
るまで有効である。パス構築命令は、直線や曲線で表現
された図形や線の軌跡を表現するためのデータ(以下パ
スともいう)を構築するための命令である。パス構築命
令が実行されるとその命令で定義されたパスは、それま
でに構築されたパスに加えられていき、後述する描画命
令が実行されたときカレントパスはクリアされる。塗り
つぶし命令は、パス構築命令で構築されたパスデータで
囲まれた領域を所定の属性で塗りつぶすための命令であ
る。イメージ描画命令は、スキャナなどによりデジタル
化された自然画像データをページに描画するための命令
である。
さ、使用するフォントの種別やサイズなどがあり、属性
設定命令で設定した属性は、次の属性設定命令で更新す
るまで有効である。パス構築命令は、直線や曲線で表現
された図形や線の軌跡を表現するためのデータ(以下パ
スともいう)を構築するための命令である。パス構築命
令が実行されるとその命令で定義されたパスは、それま
でに構築されたパスに加えられていき、後述する描画命
令が実行されたときカレントパスはクリアされる。塗り
つぶし命令は、パス構築命令で構築されたパスデータで
囲まれた領域を所定の属性で塗りつぶすための命令であ
る。イメージ描画命令は、スキャナなどによりデジタル
化された自然画像データをページに描画するための命令
である。
【0082】図8は、本実施形態のプリンタ200にお
けるプリント動作、特にインタプリタ部240の状態遷
移である。図8において、各状態には、後述する処理に
おいて、それぞれの状態に移行させる処理のステップ番
号が示されている。
けるプリント動作、特にインタプリタ部240の状態遷
移である。図8において、各状態には、後述する処理に
おいて、それぞれの状態に移行させる処理のステップ番
号が示されている。
【0083】図9は、プリンタ200におけるプリント
動作、特にインタプリタ部240の動作を示すフローチ
ャートである。インタプリタ部240は、PDLデータ
をインターフェース部230を介して受信すると、PD
Lデータ解釈処理を開始し、先ず未処理のPDL命令が
存在するかどうかを調べ(S802)、未処理のPDL
命令がない場合には処理を終了する(S802−NO,
S803)。一方、未処理のPDL命令が残っている場
合には、インタプリタ部240は、PDL命令を解析し
(S802−YES,S804)、この後PDL命令を
判定する。
動作、特にインタプリタ部240の動作を示すフローチ
ャートである。インタプリタ部240は、PDLデータ
をインターフェース部230を介して受信すると、PD
Lデータ解釈処理を開始し、先ず未処理のPDL命令が
存在するかどうかを調べ(S802)、未処理のPDL
命令がない場合には処理を終了する(S802−NO,
S803)。一方、未処理のPDL命令が残っている場
合には、インタプリタ部240は、PDL命令を解析し
(S802−YES,S804)、この後PDL命令を
判定する。
【0084】たとえば、PDL命令が“StartPage”で
あるかどうかを判定し(S805)、“StartPage”で
ある場合はページ開始処理を行ない、処理完了後ステッ
プS802に戻る(S805−YES,S808)。ペ
ージ開始処理の際には、インタプリタ部240の状態を
示す変数である“state ”を“上書き描画中”に初期化
する。一方、“StartPage” でない場合には(S805
−NO)、インタプリタ部240は、PDL命令が“En
dPage” であるかどうかを判定する(S806)。
あるかどうかを判定し(S805)、“StartPage”で
ある場合はページ開始処理を行ない、処理完了後ステッ
プS802に戻る(S805−YES,S808)。ペ
ージ開始処理の際には、インタプリタ部240の状態を
示す変数である“state ”を“上書き描画中”に初期化
する。一方、“StartPage” でない場合には(S805
−NO)、インタプリタ部240は、PDL命令が“En
dPage” であるかどうかを判定する(S806)。
【0085】そして“EndPage” である場合にはページ
排出処理を行ない、処理完了後ステップS802に戻る
(S806−YES,S809)。一方、“EndPage”
でない場合には(S806−NO)、インタプリタ部2
40は、PDL命令が“SetRopMode”であるかどうかを
判定する(S807)。そして、“SetRopMode”である
場合にはROP設定命令処理を行ない、処理完了後ステ
ップS802に戻る(S807−YES,S810)。
一方、“SetRopMode”でない場合には、インタプリタ部
240は、描画命令処理を行ない、処理完了後ステップ
S802に戻る(S807−NO,S811)。
排出処理を行ない、処理完了後ステップS802に戻る
(S806−YES,S809)。一方、“EndPage”
でない場合には(S806−NO)、インタプリタ部2
40は、PDL命令が“SetRopMode”であるかどうかを
判定する(S807)。そして、“SetRopMode”である
場合にはROP設定命令処理を行ない、処理完了後ステ
ップS802に戻る(S807−YES,S810)。
一方、“SetRopMode”でない場合には、インタプリタ部
240は、描画命令処理を行ない、処理完了後ステップ
S802に戻る(S807−NO,S811)。
【0086】なおPDL命令を判定する処理は、上記例
の手順に限らず、PDL命令が“StartPage” 、“EndP
age” 、“SetRopMode”、およびそれ以外のうちの何れ
であるのかを判断し、その判断結果に応じた処理をする
ようにするものである限り、その手順(すなわち前記判
断の優先順位)を入れ替えてもよい。
の手順に限らず、PDL命令が“StartPage” 、“EndP
age” 、“SetRopMode”、およびそれ以外のうちの何れ
であるのかを判断し、その判断結果に応じた処理をする
ようにするものである限り、その手順(すなわち前記判
断の優先順位)を入れ替えてもよい。
【0087】図10は、上記図9のステップS810に
おけるROP設定命令処理の詳細を示すフローチャート
である。インタプリタ部240は、本処理を開始すると
先ず、“state ”が“上書き描画中”であるかどうかを
判定する(S902)。そして、“上書き描画中”であ
る場合には、インタプリタ部240は、ROPモードが
“COPYモード”と“XORモード”の何れであるの
かを判定する(S902−YES,S906)。そして
インタプリタ部240は、“COPYモード”の場合に
は直ちに本処理を完了させる一方、“XORモード”の
場合には、“state ”を“第1のXOR部蓄積中”に変
更してから本処理を完了させる(S907)。
おけるROP設定命令処理の詳細を示すフローチャート
である。インタプリタ部240は、本処理を開始すると
先ず、“state ”が“上書き描画中”であるかどうかを
判定する(S902)。そして、“上書き描画中”であ
る場合には、インタプリタ部240は、ROPモードが
“COPYモード”と“XORモード”の何れであるの
かを判定する(S902−YES,S906)。そして
インタプリタ部240は、“COPYモード”の場合に
は直ちに本処理を完了させる一方、“XORモード”の
場合には、“state ”を“第1のXOR部蓄積中”に変
更してから本処理を完了させる(S907)。
【0088】また“上書き描画中”でない場合には(S
902−NO)、インタプリタ部240は、“state ”
が“XOR描画中”であるかどうかを判定する(S90
3)。そして、“XOR描画中”である場合には、RO
Pモードが“COPYモード”と“XORモード”の何
れであるのかを判定する(S903−YES,S90
8)。そしてインタプリタ部240は、“XORモー
ド”の場合には直ちに本処理を完了させる一方、“CO
PYモード”の場合には、“state ”を“上書き描画
中”に変更してから本処理を完了させる(S909)。
902−NO)、インタプリタ部240は、“state ”
が“XOR描画中”であるかどうかを判定する(S90
3)。そして、“XOR描画中”である場合には、RO
Pモードが“COPYモード”と“XORモード”の何
れであるのかを判定する(S903−YES,S90
8)。そしてインタプリタ部240は、“XORモー
ド”の場合には直ちに本処理を完了させる一方、“CO
PYモード”の場合には、“state ”を“上書き描画
中”に変更してから本処理を完了させる(S909)。
【0089】また“XOR描画中”でない場合には(S
903−NO)、インタプリタ部240は、“state ”
が“第1のXOR部蓄積中”であるかどうかを判定する
(S904)。そして“第1のXOR部蓄積中”である
場合には、ROPモードが“COPYモード”と“XO
Rモード”の何れであるのかを判定する(S904−Y
ES,S910)。
903−NO)、インタプリタ部240は、“state ”
が“第1のXOR部蓄積中”であるかどうかを判定する
(S904)。そして“第1のXOR部蓄積中”である
場合には、ROPモードが“COPYモード”と“XO
Rモード”の何れであるのかを判定する(S904−Y
ES,S910)。
【0090】そしてインタプリタ部240は、“COP
Yモード”の場合には“state ”を“COPY部蓄積”
に変更してから本処理を完了させる一方(S909)、
“XORモード”の場合には先ず中間データ生成部26
0やレンダリング部270に対して蓄積された命令を実
行するように指示し(S912)、次いで“state ”を
“XOR描画中”に変更してから本処理を完了させる
(S913)。
Yモード”の場合には“state ”を“COPY部蓄積”
に変更してから本処理を完了させる一方(S909)、
“XORモード”の場合には先ず中間データ生成部26
0やレンダリング部270に対して蓄積された命令を実
行するように指示し(S912)、次いで“state ”を
“XOR描画中”に変更してから本処理を完了させる
(S913)。
【0091】また“第1のXOR部蓄積中”でない場合
には(S904−NO)、インタプリタ部240は、
“state ”が“COPY蓄積中”であるかどうかを判定
する(S905)。そして“COPY蓄積中”である場
合にはCOPY蓄積中のROP設定処理を実行する(S
905−YES,S914)。一方“COPY蓄積中”
でない場合には(S905−NO)、インタプリタ部2
40は先ず、中間データ生成部260やレンダリング部
270に対して蓄積された命令を実行するように指示し
(S915)、次いでROPモードが“COPYモー
ド”と“XORモード”の何れであるのかを判定する
(S916)。
には(S904−NO)、インタプリタ部240は、
“state ”が“COPY蓄積中”であるかどうかを判定
する(S905)。そして“COPY蓄積中”である場
合にはCOPY蓄積中のROP設定処理を実行する(S
905−YES,S914)。一方“COPY蓄積中”
でない場合には(S905−NO)、インタプリタ部2
40は先ず、中間データ生成部260やレンダリング部
270に対して蓄積された命令を実行するように指示し
(S915)、次いでROPモードが“COPYモー
ド”と“XORモード”の何れであるのかを判定する
(S916)。
【0092】そしてインタプリタ部240は、“COP
Yモード”の場合には“state ”を“上書き描画中”に
変更してから本処理を完了させる一方(S917)、
“XORモード”の場合には、“state ”を“XOR描
画中”に変更してから本処理を完了させる(S91
8)。
Yモード”の場合には“state ”を“上書き描画中”に
変更してから本処理を完了させる一方(S917)、
“XORモード”の場合には、“state ”を“XOR描
画中”に変更してから本処理を完了させる(S91
8)。
【0093】図11は、上記図10のステップS914
におけるCOPY蓄積中のROP設定処理の詳細を示す
フローチャートである。インタプリタ部240は、本処
理を開始すると先ず、ROPモードが“COPYモー
ド”と“XORモード”の何れであるのかを判定する
(S1102)。
におけるCOPY蓄積中のROP設定処理の詳細を示す
フローチャートである。インタプリタ部240は、本処
理を開始すると先ず、ROPモードが“COPYモー
ド”と“XORモード”の何れであるのかを判定する
(S1102)。
【0094】そして“COPYモード”の場合には、イ
ンタプリタ部240は先ず、中間データ生成部260や
レンダリング部270に対して蓄積された命令を実行す
るように指示し(S1103)、次いで“state ”を
“上書き描画中”に変更してから本処理を完了させる
(S1104)。
ンタプリタ部240は先ず、中間データ生成部260や
レンダリング部270に対して蓄積された命令を実行す
るように指示し(S1103)、次いで“state ”を
“上書き描画中”に変更してから本処理を完了させる
(S1104)。
【0095】一方、“XORモード”の場合には、イン
タプリタ部240は予測部330により、先ず第1のX
OR部の描画時間TXDを予測し(S1105)、次い
でCOPY部命令の描画時間TCDを予測する(S11
06)。そして判定部340により、予測描画時間と第
1のXOR部の蓄積に要した時間TXSに基づいて、置
換処理を継続するか否かを判定する(S1107)。
タプリタ部240は予測部330により、先ず第1のX
OR部の描画時間TXDを予測し(S1105)、次い
でCOPY部命令の描画時間TCDを予測する(S11
06)。そして判定部340により、予測描画時間と第
1のXOR部の蓄積に要した時間TXSに基づいて、置
換処理を継続するか否かを判定する(S1107)。
【0096】つまり、論理演算を行なう描画展開処理お
よび論理演算を含まない描画処理に変換して描画展開す
ることの何れがより高速処理となるのかを判定する。そ
して判定部340は、置換処理を継続した方が高速のと
きには“継続するべき”と判定し、第2の“XOR”部
の蓄積を継続させる。これらの判定基準についての詳細
は後述する。
よび論理演算を含まない描画処理に変換して描画展開す
ることの何れがより高速処理となるのかを判定する。そ
して判定部340は、置換処理を継続した方が高速のと
きには“継続するべき”と判定し、第2の“XOR”部
の蓄積を継続させる。これらの判定基準についての詳細
は後述する。
【0097】次にインタプリタ部240は、判定部34
0が置換処理を継続すると判定した場合には“state ”
を“第2のXOR部蓄積中”に変更してから本処理を完
了させる(S1108−YES,S1109)。一方、
判定部340が置換処理を継続しないと判定した場合に
は(S1108−NO)、インタプリタ部240は、先
ず中間データ生成部260やレンダリング部270に対
して蓄積された命令を実行するように指示し(S111
0)、次いで“state ”を“XOR描画中”に変更して
から本処理を完了させる。
0が置換処理を継続すると判定した場合には“state ”
を“第2のXOR部蓄積中”に変更してから本処理を完
了させる(S1108−YES,S1109)。一方、
判定部340が置換処理を継続しないと判定した場合に
は(S1108−NO)、インタプリタ部240は、先
ず中間データ生成部260やレンダリング部270に対
して蓄積された命令を実行するように指示し(S111
0)、次いで“state ”を“XOR描画中”に変更して
から本処理を完了させる。
【0098】つまり判定部340は、置換処理を継続し
た方が高速のときには“継続するべき”と判定し、第2
の“XOR”部の蓄積を継続させる一方、論理演算を行
なう描画展開処理の方が高速のときには蓄積された命令
をそのまま実行させる。要するに、プリンタ200は、
論理演算処理を行なう描画展開処理および当該論理演算
処理を含まない描画処理に変換して描画展開することの
うち、描画命令を受け取ってから描画開始までの時間が
より短くなる方の処理を実行する。
た方が高速のときには“継続するべき”と判定し、第2
の“XOR”部の蓄積を継続させる一方、論理演算を行
なう描画展開処理の方が高速のときには蓄積された命令
をそのまま実行させる。要するに、プリンタ200は、
論理演算処理を行なう描画展開処理および当該論理演算
処理を含まない描画処理に変換して描画展開することの
うち、描画命令を受け取ってから描画開始までの時間が
より短くなる方の処理を実行する。
【0099】図12は、上記図9のステップS811に
おける描画命令処理の詳細を示すフローチャートであ
る。インタプリタ部240は、本処理を開始すると先
ず、“state ”が“上書き描画中”もしくは“XOR描
画中”であるか(すなわち何れか一方であるか)を判定
する(S1002)。そして“上書き描画中”もしくは
“XOR描画中”である場合には(S1002−YE
S)、インタプリタ部240は、命令の種別が“属性設
定”および“図形描画”の何れであるのかを判定する
(S1003)。
おける描画命令処理の詳細を示すフローチャートであ
る。インタプリタ部240は、本処理を開始すると先
ず、“state ”が“上書き描画中”もしくは“XOR描
画中”であるか(すなわち何れか一方であるか)を判定
する(S1002)。そして“上書き描画中”もしくは
“XOR描画中”である場合には(S1002−YE
S)、インタプリタ部240は、命令の種別が“属性設
定”および“図形描画”の何れであるのかを判定する
(S1003)。
【0100】またインタプリタ部240は、“属性設
定”である場合はカレントの描画属性を変更し本処理を
完了させる一方(S1004)、“図形描画”である場
合は、中間データ生成部260やレンダリング部270
に対して、カレントの描画属性で図形描画処理を実行す
るように指示し本処理を完了させる(S1006)。
定”である場合はカレントの描画属性を変更し本処理を
完了させる一方(S1004)、“図形描画”である場
合は、中間データ生成部260やレンダリング部270
に対して、カレントの描画属性で図形描画処理を実行す
るように指示し本処理を完了させる(S1006)。
【0101】また“上書き描画中”もしくは“XOR描
画中”の何れでもない場合には、インタプリタ部240
は“state ”が“第1のXOR部蓄積中”であるかどう
かを判定する(S1002−NO,S1007)。そし
て“第1のXOR部蓄積中”である場合には、命令を第
1のXOR部命令蓄積領域に保存し本処理を完了させる
(S1007−YES,S1008)。フローチャート
では示していないが、インタプリタ部240は、この
“第1のXOR部蓄積中”状態になっている時間TXS
を計測する。
画中”の何れでもない場合には、インタプリタ部240
は“state ”が“第1のXOR部蓄積中”であるかどう
かを判定する(S1002−NO,S1007)。そし
て“第1のXOR部蓄積中”である場合には、命令を第
1のXOR部命令蓄積領域に保存し本処理を完了させる
(S1007−YES,S1008)。フローチャート
では示していないが、インタプリタ部240は、この
“第1のXOR部蓄積中”状態になっている時間TXS
を計測する。
【0102】一方“第1のXOR部蓄積中”でない場合
には、インタプリタ部240は先ず、“state ”が“C
OPY部蓄積中”であるかどうかを判定する(S100
7−NO、S1009)。そして“COPY部蓄積中”
である場合には、命令をCOPY部命令蓄積領域に保存
し本処理を完了させる(S1009−YES,S101
0)。
には、インタプリタ部240は先ず、“state ”が“C
OPY部蓄積中”であるかどうかを判定する(S100
7−NO、S1009)。そして“COPY部蓄積中”
である場合には、命令をCOPY部命令蓄積領域に保存
し本処理を完了させる(S1009−YES,S101
0)。
【0103】一方“COPY部蓄積中”でない場合に
は、インタプリタ部240は先ず、その命令を第2のX
OR部命令蓄積領域に保存する(S1011)。その
後、第1のXOR部命令蓄積領域に保存されている同一
の番号の命令と本命令とが同一かどうかを検査する(S
1012)。そして同一の場合(以下関連性がある場合
ともいう)には、第1のXOR部命令蓄積領域内の命令
数と第2のXOR部命令蓄積領域内の命令数が同一かど
うかを検査する(S1013−YES,S1014)。
は、インタプリタ部240は先ず、その命令を第2のX
OR部命令蓄積領域に保存する(S1011)。その
後、第1のXOR部命令蓄積領域に保存されている同一
の番号の命令と本命令とが同一かどうかを検査する(S
1012)。そして同一の場合(以下関連性がある場合
ともいう)には、第1のXOR部命令蓄積領域内の命令
数と第2のXOR部命令蓄積領域内の命令数が同一かど
うかを検査する(S1013−YES,S1014)。
【0104】ここで同一でない場合には、インタプリタ
部240は、本処理を完了させる(S1015−N
O)。一方、同一である場合には、インタプリタ部24
0は、先ず保存された命令群をROPを含まない命令群
に変換(置換)し、次いで中間データ生成部260やレ
ンダリング部270に対して、変換したROPを含まな
い命令群を用いて処理を実行するように指示する(S1
015−YES,S1016)。なお、第1のXORの
命令数が第2のXOR命令数より少ないケースは、ステ
ップS1015にて命令数が同じになったときにステッ
プS1016に進み、既に蓄積してある命令群をROP
を含まない命令群に変換して実行する。
部240は、本処理を完了させる(S1015−N
O)。一方、同一である場合には、インタプリタ部24
0は、先ず保存された命令群をROPを含まない命令群
に変換(置換)し、次いで中間データ生成部260やレ
ンダリング部270に対して、変換したROPを含まな
い命令群を用いて処理を実行するように指示する(S1
015−YES,S1016)。なお、第1のXORの
命令数が第2のXOR命令数より少ないケースは、ステ
ップS1015にて命令数が同じになったときにステッ
プS1016に進み、既に蓄積してある命令群をROP
を含まない命令群に変換して実行する。
【0105】またインタプリタ部240は、第1のXO
R部命令蓄積領域に保存されている同一の番号の命令と
本命令が同一でない場合には(S1013−NO)、R
OPを含まない命令群に変換することなく、既に蓄積し
てある命令を使用して実行するように中間データ生成部
260やレンダリング部270に指示する(S101
7)。
R部命令蓄積領域に保存されている同一の番号の命令と
本命令が同一でない場合には(S1013−NO)、R
OPを含まない命令群に変換することなく、既に蓄積し
てある命令を使用して実行するように中間データ生成部
260やレンダリング部270に指示する(S101
7)。
【0106】たとえば、第1のXORと第2のXORの
命令群が最後の直前まで同じでありながら最後のPDL
命令が異なる場合、あるいは第1のXORの命令数が第
2のXOR命令数より多い場合であって、第2のXOR
命令群の中に第1のXOR命令と異なる命令が現れる場
合には、蓄積された命令を置換せずに実行する。なお、
第1のXORの命令数が第2のXOR命令数より多い場
合であって、第2のXOR命令群の後に“SetRopMode”
命令が現れる場合には、“SetRopMode”命令を処理する
と、ステップS807−YES,S902〜S905は
NOとなり、ステップS915にて蓄積された命令を実
行する。
命令群が最後の直前まで同じでありながら最後のPDL
命令が異なる場合、あるいは第1のXORの命令数が第
2のXOR命令数より多い場合であって、第2のXOR
命令群の中に第1のXOR命令と異なる命令が現れる場
合には、蓄積された命令を置換せずに実行する。なお、
第1のXORの命令数が第2のXOR命令数より多い場
合であって、第2のXOR命令群の後に“SetRopMode”
命令が現れる場合には、“SetRopMode”命令を処理する
と、ステップS807−YES,S902〜S905は
NOとなり、ステップS915にて蓄積された命令を実
行する。
【0107】そして、インタプリタ部240は、上記ス
テップS1016あるいはステップS1017の後、
“state ”を“XOR描画中”に変更してから本処理を
完了させる(S1018)。
テップS1016あるいはステップS1017の後、
“state ”を“XOR描画中”に変更してから本処理を
完了させる(S1018)。
【0108】図13は、上記図9のステップS809に
おけるページ排出処理の詳細を示すフローチャートであ
る。インタプリタ部240は、ページ排出処理を開始す
ると先ず、“state ”が“命令を蓄積中”(命令の種類
は不問)であるかどうかを判定する(S1602)。
おけるページ排出処理の詳細を示すフローチャートであ
る。インタプリタ部240は、ページ排出処理を開始す
ると先ず、“state ”が“命令を蓄積中”(命令の種類
は不問)であるかどうかを判定する(S1602)。
【0109】そして、“命令を蓄積中”の場合には(S
1602−YES)、中間データ生成部260やレンダ
リング部270に対して蓄積された命令を実行するよう
に指示し(S1604)、インタプリタ部240の状態
を示す変数である“state ”をデフォルトの“上書き描
画中”に変更する(S1605)。一方、“命令を蓄積
中”でない場合(S1602−NO)および前記ステッ
プS1605にて“state ”を“上書き描画中”に変更
した後には、インタプリタ部240は、印刷制御部29
0に対して印刷処理を開始するように指示する(S16
03)。
1602−YES)、中間データ生成部260やレンダ
リング部270に対して蓄積された命令を実行するよう
に指示し(S1604)、インタプリタ部240の状態
を示す変数である“state ”をデフォルトの“上書き描
画中”に変更する(S1605)。一方、“命令を蓄積
中”でない場合(S1602−NO)および前記ステッ
プS1605にて“state ”を“上書き描画中”に変更
した後には、インタプリタ部240は、印刷制御部29
0に対して印刷処理を開始するように指示する(S16
03)。
【0110】これを受けて印刷制御部290は、レンダ
リング部270により生成されたページイメージを、プ
リンタエンジンインターフェース部302を介してプリ
ンタエンジン部300に送信する。プリンタエンジン部
300は、このページイメージに基づいて、用紙に印刷
する。
リング部270により生成されたページイメージを、プ
リンタエンジンインターフェース部302を介してプリ
ンタエンジン部300に送信する。プリンタエンジン部
300は、このページイメージに基づいて、用紙に印刷
する。
【0111】図14は、第2実施形態の印刷システム1
において処理対象とするPDLデータの一例を示す図で
ある。この例では、楕円をグラデーションで描画する例
を示している。図15は、図14に示されるPDLデー
タに対応する、論理演算をクリップ命令に置き換えたP
DLデータの一例を示した図である。
において処理対象とするPDLデータの一例を示す図で
ある。この例では、楕円をグラデーションで描画する例
を示している。図15は、図14に示されるPDLデー
タに対応する、論理演算をクリップ命令に置き換えたP
DLデータの一例を示した図である。
【0112】たとえば図14に示したPDLデータを処
理する場合には、PDLデータ解釈処理(図9参照)が
開始されると、未処理のPDL命令が残っているため、
先ずそのPDL命令が解釈される(S804)。さらに
ステップS805〜S807において、そのPDL命令
が判定される。ここでは最初の命令が“StartPage”で
あるため、ページ開始処理が実行される(S805−Y
ES,S808)。そして次の命令が“SetRopMode XO
R”となっているので、ROP設定命令処理が開始され
る(S805〜S806はNO,S807−YES,S
810)。
理する場合には、PDLデータ解釈処理(図9参照)が
開始されると、未処理のPDL命令が残っているため、
先ずそのPDL命令が解釈される(S804)。さらに
ステップS805〜S807において、そのPDL命令
が判定される。ここでは最初の命令が“StartPage”で
あるため、ページ開始処理が実行される(S805−Y
ES,S808)。そして次の命令が“SetRopMode XO
R”となっているので、ROP設定命令処理が開始され
る(S805〜S806はNO,S807−YES,S
810)。
【0113】ROP設定命令処理(図10参照)が開始
されると、先ず“state ”が“上書き描画中”かどうか
が判定される(S902)。本例では“上書き描画中”
となるため、次にROPモードが判定される(S902
−YES,S906)。またこの例では、“XOR”が
指定されているため、“state ”は“第1のXOR部蓄
積中”に変更され、このROP設定命令処理は終了する
(S907)。
されると、先ず“state ”が“上書き描画中”かどうか
が判定される(S902)。本例では“上書き描画中”
となるため、次にROPモードが判定される(S902
−YES,S906)。またこの例では、“XOR”が
指定されているため、“state ”は“第1のXOR部蓄
積中”に変更され、このROP設定命令処理は終了する
(S907)。
【0114】ROP設定命令処理が終了すると、引き続
き、次の命令があるかどうかが調べられる(S80
2)。図14に示したPDLデータでは、“SetSolidCo
lor” が存在するため、先ずその命令が解釈され(S8
02−YES,S804)、さらに命令が判定される
(S805〜S807)。本命令は、“StartPage” 、
“EndPage” 、および“SetRopMode”の何れでもないの
で、描画命令処理に進む。
き、次の命令があるかどうかが調べられる(S80
2)。図14に示したPDLデータでは、“SetSolidCo
lor” が存在するため、先ずその命令が解釈され(S8
02−YES,S804)、さらに命令が判定される
(S805〜S807)。本命令は、“StartPage” 、
“EndPage” 、および“SetRopMode”の何れでもないの
で、描画命令処理に進む。
【0115】命令“SetSolidColor” を受けて描画命令
処理(図12参照)が開始されると、先ず“state ”が
判定される(S1002,S1007,S1009)。
本例では、“state ”が“第1のXOR部蓄積中”とな
っているため、命令が第1のXOR部命令蓄積領域に保
存される(S1002−NO,S1007−YES,S
1008)。次の命令“DrawRectangle” も同様に処理
され、第1のXOR部命令蓄積領域に保存される(S1
002−NO,S1007−YES,S1008)。
処理(図12参照)が開始されると、先ず“state ”が
判定される(S1002,S1007,S1009)。
本例では、“state ”が“第1のXOR部蓄積中”とな
っているため、命令が第1のXOR部命令蓄積領域に保
存される(S1002−NO,S1007−YES,S
1008)。次の命令“DrawRectangle” も同様に処理
され、第1のXOR部命令蓄積領域に保存される(S1
002−NO,S1007−YES,S1008)。
【0116】図14に示したPDLデータでは、命令
“SetSolidColor” と命令“DrawRectangle” が命令
“SetRopMode COPY”の直前まで続く。これらの命令も
同様に第1のXOR部命令蓄積領域に保存されていく
(S1002−NO,S1007−YES,S100
8)。
“SetSolidColor” と命令“DrawRectangle” が命令
“SetRopMode COPY”の直前まで続く。これらの命令も
同様に第1のXOR部命令蓄積領域に保存されていく
(S1002−NO,S1007−YES,S100
8)。
【0117】次の命令は、ROPモードを“COPYモ
ード”に設定する“SetRopMode COPY” である。この命
令を処理すると、ROP設定命令処理が開始される(S
805〜S806はNO,S807−YES,S81
0)。この命令を受けてROP設定命令処理(図10参
照)が開始されたとき、本命令では“state ”が“第1
のXOR部蓄積中”となっているため、先ずROPモー
ドが判定される(S902−NO,S903−NO,S
904−YES)。そしてこの場合、“COPYモー
ド”であるため、“state ”を“COPY部蓄積中”に
変更する(S911)。
ード”に設定する“SetRopMode COPY” である。この命
令を処理すると、ROP設定命令処理が開始される(S
805〜S806はNO,S807−YES,S81
0)。この命令を受けてROP設定命令処理(図10参
照)が開始されたとき、本命令では“state ”が“第1
のXOR部蓄積中”となっているため、先ずROPモー
ドが判定される(S902−NO,S903−NO,S
904−YES)。そしてこの場合、“COPYモー
ド”であるため、“state ”を“COPY部蓄積中”に
変更する(S911)。
【0118】次の命令は“SetSolidColor” である。こ
の命令を処理すると、描画命令処理が開始される(S8
05〜S807はNO,S811)。この命令を受けて
描画命令処理が開始され“state ”が判定されたとき、
“state ”は“COPY部蓄積中”となっているため、
命令がCOPY部命令蓄積領域に保存される(S100
2とS1007はNO,1009−YES、S101
0)。この直後の命令“DrawEllipse” も、“state ”
は“COPY部蓄積中”となっているため、同様に、C
OPY部命令蓄積領域に保存される(S1002とS1
007はNO,1009−YES、S1010)。
の命令を処理すると、描画命令処理が開始される(S8
05〜S807はNO,S811)。この命令を受けて
描画命令処理が開始され“state ”が判定されたとき、
“state ”は“COPY部蓄積中”となっているため、
命令がCOPY部命令蓄積領域に保存される(S100
2とS1007はNO,1009−YES、S101
0)。この直後の命令“DrawEllipse” も、“state ”
は“COPY部蓄積中”となっているため、同様に、C
OPY部命令蓄積領域に保存される(S1002とS1
007はNO,1009−YES、S1010)。
【0119】次の命令は、“SetRopMode XOR”である。
この命令を処理すると、ROP設定命令処理が開始され
る(S805〜S806はNO,S807−YES,S
810)。この命令を受けてROP設定命令処理(図1
0参照)が開始され“state”が判定されたとき、本命
令では“state ”が“COPY部蓄積中”となっている
ため、COPY部蓄積中のROP設定処理が開始される
(S902〜S904はNO,S905−YES,S9
14)。
この命令を処理すると、ROP設定命令処理が開始され
る(S805〜S806はNO,S807−YES,S
810)。この命令を受けてROP設定命令処理(図1
0参照)が開始され“state”が判定されたとき、本命
令では“state ”が“COPY部蓄積中”となっている
ため、COPY部蓄積中のROP設定処理が開始される
(S902〜S904はNO,S905−YES,S9
14)。
【0120】COPY部蓄積中のROP設定処理(図1
1参照)が開始されると、先ずROPモードが判定され
る(S1102)。本命令では、XORと判定され、置
換処理を実行するべきか否かが以下のようにして判定さ
れる。
1参照)が開始されると、先ずROPモードが判定され
る(S1102)。本命令では、XORと判定され、置
換処理を実行するべきか否かが以下のようにして判定さ
れる。
【0121】先ず予測部330は、第1のXOR部の描
画時間TXDを式(1)によって予測する(S110
5)。
画時間TXDを式(1)によって予測する(S110
5)。
【数1】
【0122】本例では、座標(1960,1233)か
ら対角座標(5211,3084)の矩形領域をグラデ
ーションで描画するため、3251×1851ピクセル
に対して読み込みと書き込みが発生することになる。1
ピクセルを3バイトで表現するため、結果として、32
51×1851×3=18052803バイトがアクセ
スするサイズとなる。またRAM202の性能は図7に
示す通りであって、本例での読込速度および書込速度
は、何れも5×(10^−8)(秒/バイト)となる。
ら対角座標(5211,3084)の矩形領域をグラデ
ーションで描画するため、3251×1851ピクセル
に対して読み込みと書き込みが発生することになる。1
ピクセルを3バイトで表現するため、結果として、32
51×1851×3=18052803バイトがアクセ
スするサイズとなる。またRAM202の性能は図7に
示す通りであって、本例での読込速度および書込速度
は、何れも5×(10^−8)(秒/バイト)となる。
【0123】したがって、本例での第1のXOR部の描
画時間TXDは式(2)で示す値となる。
画時間TXDは式(2)で示す値となる。
【数2】
次に予測部330は、COPY部命令の描画時間TCD
を式(2)によって予測する(S1106)。
を式(2)によって予測する(S1106)。
【数3】
【0124】本例では、座標(1960,1233)か
ら対角座標(5211,3084)の楕円を描画する。
また本例では、楕円の描画領域のバイト数は、(楕円を
囲む矩形領域)×0.8で計算する。楕円を囲む矩形領
域は3251×1851ピクセルとなり、1ピクセルを
3バイトで表現するため、結果として、3251×18
51×3=18052803バイトとなる。よって楕円
の領域のバイト数は、18052803×0.8=14
442242.4バイトとなる。
ら対角座標(5211,3084)の楕円を描画する。
また本例では、楕円の描画領域のバイト数は、(楕円を
囲む矩形領域)×0.8で計算する。楕円を囲む矩形領
域は3251×1851ピクセルとなり、1ピクセルを
3バイトで表現するため、結果として、3251×18
51×3=18052803バイトとなる。よって楕円
の領域のバイト数は、18052803×0.8=14
442242.4バイトとなる。
【0125】したがって、本例でのCOPY部命令の描
画時間TCDは式(4)で示す値となる。
画時間TCDは式(4)で示す値となる。
【数4】
【0126】次に、判定部340は、予測描画時間と第
1のXOR部の蓄積に要した時間TXSを元に置き換え
処理を継続するか否かを判定する(S1107)。図1
4に示されるPDLデータでは、第1のXOR描画命令
群と第2のXOR描画命令群が同一の命令群である場合
に限り、クリップ命令に置き換えることができる。した
がって、クリップ命令に置き換えることができたとして
も、第2のXOR描画命令群を蓄積するための時間を要
することになる。
1のXOR部の蓄積に要した時間TXSを元に置き換え
処理を継続するか否かを判定する(S1107)。図1
4に示されるPDLデータでは、第1のXOR描画命令
群と第2のXOR描画命令群が同一の命令群である場合
に限り、クリップ命令に置き換えることができる。した
がって、クリップ命令に置き換えることができたとして
も、第2のXOR描画命令群を蓄積するための時間を要
することになる。
【0127】そこで判定部340は、以下のようにして
クリップ命令に置き換えるかどうかを判定する(S11
07)。先ず、第1のXOR描画命令群を蓄積するのに
要した時間TXSが実測によって得られる。またクリッ
プ命令に置き換えた場合には、第1のXOR部は、“C
OPYモード”で描画すればよいため、メモリの読み込
みは発生しない。したがって、置換え後の第1のXOR
部の描画時間TXD2は式(5)によって予測すること
ができる。
クリップ命令に置き換えるかどうかを判定する(S11
07)。先ず、第1のXOR描画命令群を蓄積するのに
要した時間TXSが実測によって得られる。またクリッ
プ命令に置き換えた場合には、第1のXOR部は、“C
OPYモード”で描画すればよいため、メモリの読み込
みは発生しない。したがって、置換え後の第1のXOR
部の描画時間TXD2は式(5)によって予測すること
ができる。
【0128】そして本例では、式(6)のように計算さ
れる。
れる。
【数5】
【数6】
【0129】また、クリップ命令に置き換えないで描画
した場合の時間T1は式(7)によって、置き換えて描
画した場合の時間T2は式(8)によって、それぞれ予
測することができる。
した場合の時間T1は式(7)によって、置き換えて描
画した場合の時間T2は式(8)によって、それぞれ予
測することができる。
【数7】
【数8】
【0130】たとえば、第1のXOR部の蓄積時間TX
Sが0.1(秒)となったとすると、時間T1は式
(9)、時間T2は式(10)で示すように、
Sが0.1(秒)となったとすると、時間T1は式
(9)、時間T2は式(10)で示すように、
【数9】
【数10】
と計算される。
【0131】判定部340は、クリップ命令に置き換え
ないで描画した場合の時間T1と、置き換えて描画した
場合の時間T2の大小に基づいて、置き換えて描画する
べきかどうかを判定する(S1108)。具体的には、
“T1>T2”のときには置き換えて描画する、すなわ
ち置換処理を継続すると判定する一方、“T1<T2”
のときには置き換えずに描画する、すなわち蓄積された
命令を実行すると判定する。
ないで描画した場合の時間T1と、置き換えて描画した
場合の時間T2の大小に基づいて、置き換えて描画する
べきかどうかを判定する(S1108)。具体的には、
“T1>T2”のときには置き換えて描画する、すなわ
ち置換処理を継続すると判定する一方、“T1<T2”
のときには置き換えずに描画する、すなわち蓄積された
命令を実行すると判定する。
【0132】式(9)、および式(10)の例では、
“T1>T2”であるので、置き換えて描画した方が高
速と判定される。この場合インタプリタ部240は、
“state”を“第2のXOR部蓄積中”に更新し本処理
を終了させて、次の命令の処理に移る。
“T1>T2”であるので、置き換えて描画した方が高
速と判定される。この場合インタプリタ部240は、
“state”を“第2のXOR部蓄積中”に更新し本処理
を終了させて、次の命令の処理に移る。
【0133】なお、上記実施形態における処理、特に予
測時間T1,T2の比較処理とその結果に基づく置換す
るべきかどうかの判定処理は、ROPを含まない命令に
置換できる場合に、置換した方が速いかどうかを判定す
ることを目的としている。したがって、置換する方が速
いと判定(S1108)していながら、実際には置換せ
ずに描画する場合も生じ得るが、この点については問題
としない。
測時間T1,T2の比較処理とその結果に基づく置換す
るべきかどうかの判定処理は、ROPを含まない命令に
置換できる場合に、置換した方が速いかどうかを判定す
ることを目的としている。したがって、置換する方が速
いと判定(S1108)していながら、実際には置換せ
ずに描画する場合も生じ得るが、この点については問題
としない。
【0134】次の命令は“SetSolidColor” である。こ
の命令を処理すると、描画命令処理が開始される(S8
05〜S807はNO,S811)。この命令を受けて
描画命令処理が開始され“state ”が判定されたとき、
“state ”は“第2のXOR部蓄積中”であるため、先
ずその命令が第2のXOR部命令蓄積領域に保存され、
その後第1のXOR部命令蓄積領域に保存されている同
一の番号の命令と本命令が同一か否かが検査される(S
1002,S1007,S1009はNO、S101
1,S1012)。この番号は命令の蓄積順に採番され
るものである。
の命令を処理すると、描画命令処理が開始される(S8
05〜S807はNO,S811)。この命令を受けて
描画命令処理が開始され“state ”が判定されたとき、
“state ”は“第2のXOR部蓄積中”であるため、先
ずその命令が第2のXOR部命令蓄積領域に保存され、
その後第1のXOR部命令蓄積領域に保存されている同
一の番号の命令と本命令が同一か否かが検査される(S
1002,S1007,S1009はNO、S101
1,S1012)。この番号は命令の蓄積順に採番され
るものである。
【0135】本例では同一と判定されるので、第1のX
OR部命令蓄積領域内の命令数N1と第2のXOR部命
令蓄積領域内の命令数N2が同一か否かが検査される
(S1013−YES,S1014)。ここで、図14
に示したPDLデータにおいて、第1および第2の各X
OR部蓄積命令群中の省略部分である“…”の分の命令
数を“α”とすると、既に蓄積してある第1のXOR部
命令蓄積領域内の命令数N1は“α+8”となってい
る。
OR部命令蓄積領域内の命令数N1と第2のXOR部命
令蓄積領域内の命令数N2が同一か否かが検査される
(S1013−YES,S1014)。ここで、図14
に示したPDLデータにおいて、第1および第2の各X
OR部蓄積命令群中の省略部分である“…”の分の命令
数を“α”とすると、既に蓄積してある第1のXOR部
命令蓄積領域内の命令数N1は“α+8”となってい
る。
【0136】これに対して、第2の各XOR部蓄積命令
群として処理すべき命令数の総数も“α+8”である
が、当該命令群の最初の命令“SetSolidColor” を受け
たときには、その命令を蓄積したばかりであるので、第
2のXOR部命令蓄積領域内の命令数N2は“1”であ
る。
群として処理すべき命令数の総数も“α+8”である
が、当該命令群の最初の命令“SetSolidColor” を受け
たときには、その命令を蓄積したばかりであるので、第
2のXOR部命令蓄積領域内の命令数N2は“1”であ
る。
【0137】したがって、第2のXOR部蓄積命令群の
最初の命令“SetSolidColor” を受けたときには、2つ
の命令数N1,N2は同一でないため、本処理が終了さ
れ、次の命令の処理に移る(S1015−NO)。そし
て以降の命令も、同様に第2のXOR部命令蓄積領域に
保存されていく。
最初の命令“SetSolidColor” を受けたときには、2つ
の命令数N1,N2は同一でないため、本処理が終了さ
れ、次の命令の処理に移る(S1015−NO)。そし
て以降の命令も、同様に第2のXOR部命令蓄積領域に
保存されていく。
【0138】そして、第2のXOR部蓄積命令群の最後
の命令“DrawRectangle” が処理される場合には、第2
のXOR部命令蓄積領域内の命令数N2は“α+8”と
なっている。したがってステップS1015では、2つ
の命令数N1,N2が同一であると判定され(S101
5−YES)、蓄積された全命令群がROPを含まない
命令群に変換され、この変換後の命令に基づいて描画処
理が実行される(S1016)。そして本処理が終了さ
れ、次の命令の処理に移る。
の命令“DrawRectangle” が処理される場合には、第2
のXOR部命令蓄積領域内の命令数N2は“α+8”と
なっている。したがってステップS1015では、2つ
の命令数N1,N2が同一であると判定され(S101
5−YES)、蓄積された全命令群がROPを含まない
命令群に変換され、この変換後の命令に基づいて描画処
理が実行される(S1016)。そして本処理が終了さ
れ、次の命令の処理に移る。
【0139】以上の処理を、図14に示したROP命令
系列以外の場合も含めて総括すると、以下の通りであ
る。すなわち、先ず最初に受け取ったROP命令がXO
R命令以外(図ではCOPY)のときには、引き続き受
け取るPDL命令に基づいて描画展開する(S906,
S1002〜S1006)。一方、第1のXOR命令を
受け取ると、“state =第1のXOR部蓄積中”に更新
し、その命令群を第1のXOR部命令蓄積領域に格納す
る。
系列以外の場合も含めて総括すると、以下の通りであ
る。すなわち、先ず最初に受け取ったROP命令がXO
R命令以外(図ではCOPY)のときには、引き続き受
け取るPDL命令に基づいて描画展開する(S906,
S1002〜S1006)。一方、第1のXOR命令を
受け取ると、“state =第1のXOR部蓄積中”に更新
し、その命令群を第1のXOR部命令蓄積領域に格納す
る。
【0140】そして次に受け取ったROP命令がCOP
Y命令以外のとき(たとえばXOR命令)には、既に蓄
積してあるPDL命令に基づいて描画展開を開始すると
ともに、“state =XOR描画中”に更新する(S91
0,S912,S913)。さらにその受け取った新た
なPDL命令に基づいて描画展開する(S1002〜S
1006)。
Y命令以外のとき(たとえばXOR命令)には、既に蓄
積してあるPDL命令に基づいて描画展開を開始すると
ともに、“state =XOR描画中”に更新する(S91
0,S912,S913)。さらにその受け取った新た
なPDL命令に基づいて描画展開する(S1002〜S
1006)。
【0141】一方、次に受け取ったROP命令がCOP
Y命令のときには、“state =COPY部蓄積中”に更
新し(S910,S911)、その命令群をCOPY部
命令蓄積領域に格納する(S1009,S1010)。
Y命令のときには、“state =COPY部蓄積中”に更
新し(S910,S911)、その命令群をCOPY部
命令蓄積領域に格納する(S1009,S1010)。
【0142】そしてさらにROP命令を受け取ると、C
OPY部蓄積中のROP設定処理に移り(S914)、
その受け取った命令が第2のXOR命令以外(図ではC
OPY)のときには、既に蓄積してある命令に基づいて
描画展開を開始するとともに、“state =上書き描画
中”に更新する(S1102〜1104)。さらにその
受け取ったPDL命令に基づいて描画展開する(S10
02〜S1006)。
OPY部蓄積中のROP設定処理に移り(S914)、
その受け取った命令が第2のXOR命令以外(図ではC
OPY)のときには、既に蓄積してある命令に基づいて
描画展開を開始するとともに、“state =上書き描画
中”に更新する(S1102〜1104)。さらにその
受け取ったPDL命令に基づいて描画展開する(S10
02〜S1006)。
【0143】一方、次に受け取ったROP命令が第2の
XOR命令のときには、ROP命令を置換すると処理が
速くなるかどうかを、上述のようにして判定する(S1
105〜S1108)。そして置換しても処理が速くな
らない場合には(S1108−NO)、既に蓄積してあ
る命令に基づいて描画展開を開始するとともに、“stat
e =XOR描画中”に更新する(S1110,S111
1)。さらにその受け取ったPDL命令に基づいて描画
展開する(S1002〜S1006)。
XOR命令のときには、ROP命令を置換すると処理が
速くなるかどうかを、上述のようにして判定する(S1
105〜S1108)。そして置換しても処理が速くな
らない場合には(S1108−NO)、既に蓄積してあ
る命令に基づいて描画展開を開始するとともに、“stat
e =XOR描画中”に更新する(S1110,S111
1)。さらにその受け取ったPDL命令に基づいて描画
展開する(S1002〜S1006)。
【0144】そして、置換すると処理が速くなる場合に
は(S1108−YES)、“state =第2のXOR部
蓄積中”に更新する(S1109)。そして、その命令
群のPDL命令を受け取ると、先ず第2のXOR部命令
蓄積領域に格納した後(S1011)、その命令と第1
のXOR命令との関連性をチェックし(S1012)、
関連性がない場合にはその命令に基づいて描画展開する
(S1013−NO,S1017)。
は(S1108−YES)、“state =第2のXOR部
蓄積中”に更新する(S1109)。そして、その命令
群のPDL命令を受け取ると、先ず第2のXOR部命令
蓄積領域に格納した後(S1011)、その命令と第1
のXOR命令との関連性をチェックし(S1012)、
関連性がない場合にはその命令に基づいて描画展開する
(S1013−NO,S1017)。
【0145】一方、関連性がある場合には、第1および
第2のXOR部命令蓄積領域に保存した各命令数が同じ
になるまで、その命令を第2のXOR部命令蓄積領域に
格納する(S1014,S1015−NO)。そして、
2つの命令数が同じになると、蓄積されたPDL命令を
ROPが不要な新たな命令に置換して、描画展開する
(S1015−YES,S1016)。
第2のXOR部命令蓄積領域に保存した各命令数が同じ
になるまで、その命令を第2のXOR部命令蓄積領域に
格納する(S1014,S1015−NO)。そして、
2つの命令数が同じになると、蓄積されたPDL命令を
ROPが不要な新たな命令に置換して、描画展開する
(S1015−YES,S1016)。
【0146】つまり、ステップS1016を経由したと
きにはROPの置換処理をしてから描画展開する一方、
ステップS1017を経由したときにはROPの置換処
理をせずに受け取った命令そのものに基づいて描画展開
し、“state =第2のXOR部蓄積中”に更新する(S
1018)。この状態で“SetRopMode”以外の描画命令
を読み出すと、その命令を蓄積することなく、XORモ
ードで描画する。
きにはROPの置換処理をしてから描画展開する一方、
ステップS1017を経由したときにはROPの置換処
理をせずに受け取った命令そのものに基づいて描画展開
し、“state =第2のXOR部蓄積中”に更新する(S
1018)。この状態で“SetRopMode”以外の描画命令
を読み出すと、その命令を蓄積することなく、XORモ
ードで描画する。
【0147】次の命令は“EndPage” である。この命令
を処理すると、ページ排出処理が開始される(S805
−NO,S806−YES,S809)。ページ排出処
理(図13参照)が開始されると、先ず“state ”が
“命令を蓄積中”かどうかが判定される(S160
2)。本例では、“命令を蓄積中”でないため、直ちに
ページ印刷処理が実行される(S1603)。
を処理すると、ページ排出処理が開始される(S805
−NO,S806−YES,S809)。ページ排出処
理(図13参照)が開始されると、先ず“state ”が
“命令を蓄積中”かどうかが判定される(S160
2)。本例では、“命令を蓄積中”でないため、直ちに
ページ印刷処理が実行される(S1603)。
【0148】これにより、一連の処理によってレンダリ
ング部270で生成されたページイメージが、プリンタ
エンジンインターフェース部302を介してプリンタエ
ンジン部300まで送信され、プリンタエンジン部30
0で用紙に印刷される。なお本例では、“EndPage” が
命令蓄積中に現れなかったが、蓄積中に表れる場合もあ
り得る。そのような場合、“state ”は“上書き描画
中”ではなく命令を蓄積中である旨を示すので、先ず中
間データ生成部260やレンダリング部270に対して
蓄積された命令を実行するように指示し(S160
4)、“state”をデフォルトの“上書き描画中”に変
更する必要がある(S1605)。
ング部270で生成されたページイメージが、プリンタ
エンジンインターフェース部302を介してプリンタエ
ンジン部300まで送信され、プリンタエンジン部30
0で用紙に印刷される。なお本例では、“EndPage” が
命令蓄積中に現れなかったが、蓄積中に表れる場合もあ
り得る。そのような場合、“state ”は“上書き描画
中”ではなく命令を蓄積中である旨を示すので、先ず中
間データ生成部260やレンダリング部270に対して
蓄積された命令を実行するように指示し(S160
4)、“state”をデフォルトの“上書き描画中”に変
更する必要がある(S1605)。
【0149】以上説明したことから分かるように第2実
施形態の印刷システム1によれば、論理演算を行なう描
画処理を論理演算を含まない描画処理に変換(ROPを
含まない命令に置換)できる場合に、論理演算を行なう
描画処理を論理演算を含まない描画処理に変換するべき
かどうかを判定し、より処理速度の向上が見込まれる方
を選択して実行するようにしたので、置換判断のための
描画命令の無駄な蓄積処理が不要となり、たとえばファ
イルにアクセスするオーバーヘッド量や、中間データを
イメージに変換する処理をハードウェアで行なうか否か
に拘わらず、画像形成開始までの速度を確実に向上させ
ることができる。
施形態の印刷システム1によれば、論理演算を行なう描
画処理を論理演算を含まない描画処理に変換(ROPを
含まない命令に置換)できる場合に、論理演算を行なう
描画処理を論理演算を含まない描画処理に変換するべき
かどうかを判定し、より処理速度の向上が見込まれる方
を選択して実行するようにしたので、置換判断のための
描画命令の無駄な蓄積処理が不要となり、たとえばファ
イルにアクセスするオーバーヘッド量や、中間データを
イメージに変換する処理をハードウェアで行なうか否か
に拘わらず、画像形成開始までの速度を確実に向上させ
ることができる。
【0150】図16は、第2実施形態の印刷システム1
の変形例を示したブロック図である。中間データを直接
ラスタデータに変換し、プリンタエンジン部300にラ
スタデータを送信するH/W(Hard Wear) アクセラレ
ータスロット360をシステムバス上に備えた点が図6
に示した構成と異なる。
の変形例を示したブロック図である。中間データを直接
ラスタデータに変換し、プリンタエンジン部300にラ
スタデータを送信するH/W(Hard Wear) アクセラレ
ータスロット360をシステムバス上に備えた点が図6
に示した構成と異なる。
【0151】またインタプリタ部240は、論理演算処
理を高速に処理する高速化処理部の一例であるH/Wレ
ンダラが存在するかどうかを判定するH/Wレンダラ判
定部370と、H/Wレンダラ(高速化処理部)が存在
するとH/Wレンダラ判定部370が判定したことを条
件として、論理演算処理を必要としない描画命令に変換
せずに処理する第1の処理方法を選択する一方、H/W
レンダラ(高速化処理部)が存在しないとH/Wレンダ
ラ判定部370が判定したことを条件として、論理演算
処理を必要としない描画命令に変換して処理する第2の
処理方法(前記の基本形の処理方法)を選択する処理方
法切替部380とを備えている。
理を高速に処理する高速化処理部の一例であるH/Wレ
ンダラが存在するかどうかを判定するH/Wレンダラ判
定部370と、H/Wレンダラ(高速化処理部)が存在
するとH/Wレンダラ判定部370が判定したことを条
件として、論理演算処理を必要としない描画命令に変換
せずに処理する第1の処理方法を選択する一方、H/W
レンダラ(高速化処理部)が存在しないとH/Wレンダ
ラ判定部370が判定したことを条件として、論理演算
処理を必要としない描画命令に変換して処理する第2の
処理方法(前記の基本形の処理方法)を選択する処理方
法切替部380とを備えている。
【0152】H/Wアクセラレータスロット360に
は、オプションとして、H/Wでレンダリング(描画展
開)するH/Wレンダラを装着することができるように
なっている。H/Wレンダラは、S/W(Soft Wear)
でレンダリングする場合に比べ、ROP処理も高速に行
なうことができる。したがって、H/WレンダラがH/
Wアクセラレータスロット360に装着されているとき
には、ROPの置換えを行なう必要はない。
は、オプションとして、H/Wでレンダリング(描画展
開)するH/Wレンダラを装着することができるように
なっている。H/Wレンダラは、S/W(Soft Wear)
でレンダリングする場合に比べ、ROP処理も高速に行
なうことができる。したがって、H/WレンダラがH/
Wアクセラレータスロット360に装着されているとき
には、ROPの置換えを行なう必要はない。
【0153】処理方法切替部380は、H/Wレンダラ
判定部370の結果に応じて、HwFlagを“0”お
よび“1”の何れかに切り替えることで、前述した基本
形である、基本パスとしてROP置換処理をする処理を
経由させるかどうかを切り替える。これにより、この変
形例においては、ROP置換えを行なうかどうかが、H
/Wレンダラが存在するかどうかで切り替わるようにな
る。
判定部370の結果に応じて、HwFlagを“0”お
よび“1”の何れかに切り替えることで、前述した基本
形である、基本パスとしてROP置換処理をする処理を
経由させるかどうかを切り替える。これにより、この変
形例においては、ROP置換えを行なうかどうかが、H
/Wレンダラが存在するかどうかで切り替わるようにな
る。
【0154】図17は、この変形例におけるシステム起
動時のフローチャートである。図18は、この変形例に
おけるPDLデータ解釈処理の前記第2実施形態(基本
形)との相違部分を示すフローチャートである。
動時のフローチャートである。図18は、この変形例に
おけるPDLデータ解釈処理の前記第2実施形態(基本
形)との相違部分を示すフローチャートである。
【0155】システムが起動すると、インタプリタ部2
40のH/Wレンダラ判定部370は、H/Wアクセラ
レータスロット360にH/Wレンダラが装着されてい
るかどうかを検査する(S1402)。そして、装着さ
れているときには処理方法切替部380は、HwFla
gを第1の処理方法を示す“1”に設定する一方(S1
402−YES,S1403)、装着されていないとき
には、HwFlagを第2の処理方法を示す“0”に設
定する(S1402−NO,S1404)。
40のH/Wレンダラ判定部370は、H/Wアクセラ
レータスロット360にH/Wレンダラが装着されてい
るかどうかを検査する(S1402)。そして、装着さ
れているときには処理方法切替部380は、HwFla
gを第1の処理方法を示す“1”に設定する一方(S1
402−YES,S1403)、装着されていないとき
には、HwFlagを第2の処理方法を示す“0”に設
定する(S1402−NO,S1404)。
【0156】その後インタプリタ部240のPDLデー
タ解釈部242は、PDL解釈処理を開始する(S14
05)。ここでのPDL解釈処理は、前記第2実施形態
でのフローチャート(図9)に示す処理と基本的には同
様である。
タ解釈部242は、PDL解釈処理を開始する(S14
05)。ここでのPDL解釈処理は、前記第2実施形態
でのフローチャート(図9)に示す処理と基本的には同
様である。
【0157】ただし、図9のPDLデータ解釈処理のス
テップS810(ROP設定命令処理)だけを、図18
のフローチャートに差し替える必要がある。すなわち、
命令が“EndPage” でなく(S806−NO)、“SetR
opMode”である場合には(S807−YES)、インタ
プリタ部240は先ず、HwFlagが“1”になって
いるかどうかを検査する(S1502)。そして、
“1”である場合にはROPモードが“COPYモー
ド”と“XORモード”の何れであるのかを判定する
(S1502−YES,S1504)。
テップS810(ROP設定命令処理)だけを、図18
のフローチャートに差し替える必要がある。すなわち、
命令が“EndPage” でなく(S806−NO)、“SetR
opMode”である場合には(S807−YES)、インタ
プリタ部240は先ず、HwFlagが“1”になって
いるかどうかを検査する(S1502)。そして、
“1”である場合にはROPモードが“COPYモー
ド”と“XORモード”の何れであるのかを判定する
(S1502−YES,S1504)。
【0158】そしてインタプリタ部240は、“COP
Yモード”の場合には“state ”を“上書き描画中”に
更新してから本処理を完了させる一方(S1505)、
“XORモード”の場合には“state ”を“XOR描画
中”に更新してから本処理を完了させる(S150
6)。これは、H/Wレンダラが存在した場合には、R
OP命令の置換えを行なわない、第1の処理方法を選択
することを意味する。
Yモード”の場合には“state ”を“上書き描画中”に
更新してから本処理を完了させる一方(S1505)、
“XORモード”の場合には“state ”を“XOR描画
中”に更新してから本処理を完了させる(S150
6)。これは、H/Wレンダラが存在した場合には、R
OP命令の置換えを行なわない、第1の処理方法を選択
することを意味する。
【0159】またインタプリタ部240は、HwFla
gが“0”“の場合には、前記第2実施形態でのフロー
チャート(図10)に示すROP設定命令処理を実行す
る(S1503)。すなわち、基本パスとしてROP置
換処理をする第2の処理方法を選択する。
gが“0”“の場合には、前記第2実施形態でのフロー
チャート(図10)に示すROP設定命令処理を実行す
る(S1503)。すなわち、基本パスとしてROP置
換処理をする第2の処理方法を選択する。
【0160】以上説明したことから分かるように、第2
実施形態の変形例では、先ず論理演算処理を高速に処理
することが可能なH/Wレンダラが存在するかどうかを
H/Wレンダラ判定部370により判定し、H/Wレン
ダラが存在するかどうかに応じて、基本的にROP命令
を置換する処理を経由させるかどうかを処理方法切替部
380により切り替えるようにした。したがって、論理
演算を簡単な描画命令に置き換えても必ずしも処理速度
が高速になるとは限らない、といことが生じることを確
実に防止することができる。
実施形態の変形例では、先ず論理演算処理を高速に処理
することが可能なH/Wレンダラが存在するかどうかを
H/Wレンダラ判定部370により判定し、H/Wレン
ダラが存在するかどうかに応じて、基本的にROP命令
を置換する処理を経由させるかどうかを処理方法切替部
380により切り替えるようにした。したがって、論理
演算を簡単な描画命令に置き換えても必ずしも処理速度
が高速になるとは限らない、といことが生じることを確
実に防止することができる。
【0161】また、第2実施形態の変形例においても、
H/Wレンダラが存在しないときには、基本パスとして
ROP命令を置換する処理を経由させるようにしつつ、
論理演算を行なう描画処理を論理演算を含まない描画処
理に変換するかどうかを判定し、より性能の向上が見込
まれる選択を行なうようにしているので、画像形成開始
までの速度を向上させることができる。
H/Wレンダラが存在しないときには、基本パスとして
ROP命令を置換する処理を経由させるようにしつつ、
論理演算を行なう描画処理を論理演算を含まない描画処
理に変換するかどうかを判定し、より性能の向上が見込
まれる選択を行なうようにしているので、画像形成開始
までの速度を向上させることができる。
【0162】上記第2実施形態とその変形例では、ホス
ト側装置100に組み込まれたプリンタドライバがPD
Lデータを生成し、プリンタ200側でROP置換えを
行なう場合について示したが、これに限らず、ホスト側
装置100にこれらの機能をハードウェアあるいはソフ
トウェアとして持たせてもよい。この場合、ホスト側装
置100が、本発明に係る画像処理装置の機能をなす。
たとえば、たとえばホスト側装置100に組み込まれた
プリンタドライバで行なうこともできる。
ト側装置100に組み込まれたプリンタドライバがPD
Lデータを生成し、プリンタ200側でROP置換えを
行なう場合について示したが、これに限らず、ホスト側
装置100にこれらの機能をハードウェアあるいはソフ
トウェアとして持たせてもよい。この場合、ホスト側装
置100が、本発明に係る画像処理装置の機能をなす。
たとえば、たとえばホスト側装置100に組み込まれた
プリンタドライバで行なうこともできる。
【0163】また上記第2実施形態とその変形例では、
XOR→COPY→XORのROPシーケンスの置換え
について示したが、これに限ることなく、たとえばXO
R→MASK→XORなどのROPシーケンスについて
も適用可能である。また、このPDLデータでは、RO
Pシーケンスに図形描画命令しか現れないが、これに限
ることなく、イメージ描画などの他の命令についても適
用可能である。
XOR→COPY→XORのROPシーケンスの置換え
について示したが、これに限ることなく、たとえばXO
R→MASK→XORなどのROPシーケンスについて
も適用可能である。また、このPDLデータでは、RO
Pシーケンスに図形描画命令しか現れないが、これに限
ることなく、イメージ描画などの他の命令についても適
用可能である。
【0164】図19は、本発明の画像処理装置を適用し
た第3実施形態の印刷システムの一構成例を示すブロッ
ク図である。第3実施形態の印刷システム1は、予め描
画命令の中に、ROP演算の不要な描画命令への変換が
可能であるのか不可能であるのかを判断することができ
るヒント情報を描画命令と対応付けてプリンタ200に
出力し、実際の描画時には、このヒント情報を参照し
て、描画命令の解釈処理の手順を変えたりするようにし
た形態のものである。
た第3実施形態の印刷システムの一構成例を示すブロッ
ク図である。第3実施形態の印刷システム1は、予め描
画命令の中に、ROP演算の不要な描画命令への変換が
可能であるのか不可能であるのかを判断することができ
るヒント情報を描画命令と対応付けてプリンタ200に
出力し、実際の描画時には、このヒント情報を参照し
て、描画命令の解釈処理の手順を変えたりするようにし
た形態のものである。
【0165】第3実施形態の印刷システム1は、第1実
施形態と同様に、データを生成するパソコンや情報処理
装置などのホスト側装置100と、ホスト側装置100
から出力されたデータに基づいて印刷処理をするプリン
タ200とが、伝送路9により接続されている。ホスト
側装置100が、本発明に係る描画命令出力装置として
機能し、プリンタ200が、本発明に係る画像形成装置
として機能する。
施形態と同様に、データを生成するパソコンや情報処理
装置などのホスト側装置100と、ホスト側装置100
から出力されたデータに基づいて印刷処理をするプリン
タ200とが、伝送路9により接続されている。ホスト
側装置100が、本発明に係る描画命令出力装置として
機能し、プリンタ200が、本発明に係る画像形成装置
として機能する。
【0166】ホスト側装置100は、第1実施形態と同
様の、データ生成部110、中央制御部120、インタ
ーフェース部130に加えて、スプーラ部142および
ハードディスクなどの記憶媒体155を備える。中央制
御部120には、ホスト側装置100の全体を制御する
OS(オペレーティングシステム)やプリンタ200を
制御して印刷処理をするためのプリンタドライバがソフ
トウェアとして組み込まれている(インストールされて
いる)。勿論、これらも、ハードウェア要素で構成され
ていてもよい。図では、これらソフトウェアをハードウ
ェア要素と見なして、OS部140およびプリンタドラ
イバ150で示す。
様の、データ生成部110、中央制御部120、インタ
ーフェース部130に加えて、スプーラ部142および
ハードディスクなどの記憶媒体155を備える。中央制
御部120には、ホスト側装置100の全体を制御する
OS(オペレーティングシステム)やプリンタ200を
制御して印刷処理をするためのプリンタドライバがソフ
トウェアとして組み込まれている(インストールされて
いる)。勿論、これらも、ハードウェア要素で構成され
ていてもよい。図では、これらソフトウェアをハードウ
ェア要素と見なして、OS部140およびプリンタドラ
イバ150で示す。
【0167】プリンタドライバ150は、OS部140
から描画命令を受け取る入力部152、受け取った描画
命令などを記憶媒体155に記憶させる記憶制御部15
4、記憶媒体155に記憶させた1ページ分の描画命令
に基づいてヒント情報(判定情報)として抽出すべき情
報を探す描画命令走査部156と、ヒント情報を作成し
て記憶媒体155に記憶される1ページ分の描画命令の
中に埋め込むヒント情報作成部158と、ヒント情報を
埋め込んだ1ページ分の描画命令をホスト側装置100
内のスプーラ部142に対して出力する出力部160を
有する。
から描画命令を受け取る入力部152、受け取った描画
命令などを記憶媒体155に記憶させる記憶制御部15
4、記憶媒体155に記憶させた1ページ分の描画命令
に基づいてヒント情報(判定情報)として抽出すべき情
報を探す描画命令走査部156と、ヒント情報を作成し
て記憶媒体155に記憶される1ページ分の描画命令の
中に埋め込むヒント情報作成部158と、ヒント情報を
埋め込んだ1ページ分の描画命令をホスト側装置100
内のスプーラ部142に対して出力する出力部160を
有する。
【0168】描画命令走査部156は、プリンタ200
における描画展開処理時に、論理演算処理を必要とする
描画命令から論理演算処理を必要としない描画命令に変
換することが可能であるのか不可能であるのかを示すヒ
ント情報として抽出すべき情報をサーチする。ここで、
ヒント情報は、プリンタ200での描画命令から印刷デ
ータへの変換処理や、印刷処理に関して必要な情報とな
る。
における描画展開処理時に、論理演算処理を必要とする
描画命令から論理演算処理を必要としない描画命令に変
換することが可能であるのか不可能であるのかを示すヒ
ント情報として抽出すべき情報をサーチする。ここで、
ヒント情報は、プリンタ200での描画命令から印刷デ
ータへの変換処理や、印刷処理に関して必要な情報とな
る。
【0169】ヒント情報作成部158は、描画命令走査
部156によるサーチ結果を参照して、論理演算処理を
必要とする描画命令から論理演算処理を必要としない描
画命令に変換することが可能であるのか不可能であるの
かを示すヒント情報を生成し、描画命令の中に埋め込
む。このヒント情報作成部158は、本発明に係る判定
情報生成部および出力部の、両機能を備える。スプーラ
部142は、プリンタドライバ150から出力された描
画命令を1命令ずつ印字データとして、インターフェー
ス部130を介してプリンタ200に送る。
部156によるサーチ結果を参照して、論理演算処理を
必要とする描画命令から論理演算処理を必要としない描
画命令に変換することが可能であるのか不可能であるの
かを示すヒント情報を生成し、描画命令の中に埋め込
む。このヒント情報作成部158は、本発明に係る判定
情報生成部および出力部の、両機能を備える。スプーラ
部142は、プリンタドライバ150から出力された描
画命令を1命令ずつ印字データとして、インターフェー
ス部130を介してプリンタ200に送る。
【0170】プリンタ200は、第2実施形態と同様
の、CPU210およびインターフェース部230など
に加えて、インターフェース部230を介して入力され
た描画命令を受け取る入力部232と、入力部232が
受け付けた描画命令を解釈してラスタ画像に展開する展
開部400と、インターフェース部230を介して入力
されたヒント情報を読み取るヒント情報読取部410と
を備える。展開部400は、第2実施形態におけるPD
Lデータ解釈部242、レンダリング部270、印刷制
御部290など、従来より公知の描画展開処理の機能を
備える。
の、CPU210およびインターフェース部230など
に加えて、インターフェース部230を介して入力され
た描画命令を受け取る入力部232と、入力部232が
受け付けた描画命令を解釈してラスタ画像に展開する展
開部400と、インターフェース部230を介して入力
されたヒント情報を読み取るヒント情報読取部410と
を備える。展開部400は、第2実施形態におけるPD
Lデータ解釈部242、レンダリング部270、印刷制
御部290など、従来より公知の描画展開処理の機能を
備える。
【0171】図20は、第3実施形態における描画命令
の一例を示した図である。図21は、第3実施形態にお
いて、1ページ分の描画命令を記憶媒体155の所定の
記憶領域に記憶させた状態を模式的に表した図である。
描画命令は、たとえば描画順、命令サイズ、オブジェク
ト情報、描画属性、描画位置などの情報を含む。そして
図20に示した1行分が1つの描画命令であり、複数の
描画命令によって1ページ分の描画命令が構成され、図
21に示すように、記憶媒体155の記憶領域に記憶さ
れる。
の一例を示した図である。図21は、第3実施形態にお
いて、1ページ分の描画命令を記憶媒体155の所定の
記憶領域に記憶させた状態を模式的に表した図である。
描画命令は、たとえば描画順、命令サイズ、オブジェク
ト情報、描画属性、描画位置などの情報を含む。そして
図20に示した1行分が1つの描画命令であり、複数の
描画命令によって1ページ分の描画命令が構成され、図
21に示すように、記憶媒体155の記憶領域に記憶さ
れる。
【0172】図22は、第3実施形態の印刷システム1
における処理手順の一例を示したフローチャートであ
る。ここではたとえばROP命令が指定された描画命令
をROP演算を行なわない描画命令に変換可能かどうか
の判断を行なって、それに関するヒント情報を描画命令
に対応付けて印字データに埋め込むものとする。
における処理手順の一例を示したフローチャートであ
る。ここではたとえばROP命令が指定された描画命令
をROP演算を行なわない描画命令に変換可能かどうか
の判断を行なって、それに関するヒント情報を描画命令
に対応付けて印字データに埋め込むものとする。
【0173】プリンタドライバ150の記憶制御部15
4は、ホスト側装置100のOS部140から描画命令
を逐次受け取り、1ページ分の描画命令を記憶媒体15
5に記憶し終えるまで、受け取った描画命令を順に記憶
媒体155に記憶する(S2000,S2002−N
O)。1ページ分の描画命令を記憶媒体155に記憶し
終えたら(S2002−YES)、描画命令走査部15
6は、描画命令を順に走査する(S2004)。
4は、ホスト側装置100のOS部140から描画命令
を逐次受け取り、1ページ分の描画命令を記憶媒体15
5に記憶し終えるまで、受け取った描画命令を順に記憶
媒体155に記憶する(S2000,S2002−N
O)。1ページ分の描画命令を記憶媒体155に記憶し
終えたら(S2002−YES)、描画命令走査部15
6は、描画命令を順に走査する(S2004)。
【0174】図23は、描画命令を順に走査してヒント
情報を作成する描画命令走査部156における処理手順
の詳細例の第1例を示したフローチャートである。描画
命令走査部156は、描画命令があると(S210
0)、各描画命令を順に抽出し(S2102)、ROP
命令が含まれている(指定されている)かどうかを判定
する(S2104)。ROP命令が含まれていた場合に
は(S2104−YES)、描画命令走査部156は、
後続の描画命令を順に走査し(S2106)、指定され
たROP命令を他の描画命令に変換可能かどうかを判定
する(S2108)。ここでROP演算を行なわない描
画命令に変換可能な場合というのは、いくつかのパター
ンとして用意されるので、判定用のルーチンは描画命令
列がこのパターンと一致しているかどうかを判定するこ
とで実現される。
情報を作成する描画命令走査部156における処理手順
の詳細例の第1例を示したフローチャートである。描画
命令走査部156は、描画命令があると(S210
0)、各描画命令を順に抽出し(S2102)、ROP
命令が含まれている(指定されている)かどうかを判定
する(S2104)。ROP命令が含まれていた場合に
は(S2104−YES)、描画命令走査部156は、
後続の描画命令を順に走査し(S2106)、指定され
たROP命令を他の描画命令に変換可能かどうかを判定
する(S2108)。ここでROP演算を行なわない描
画命令に変換可能な場合というのは、いくつかのパター
ンとして用意されるので、判定用のルーチンは描画命令
列がこのパターンと一致しているかどうかを判定するこ
とで実現される。
【0175】変換が可能な場合には(S2108−YE
S)、ヒント情報作成部158は、「変換開始」、「変
換終了」のフラグをヒント情報として作成し(S211
0)、該当する描画命令列の先頭の直前に「変換開始」
のフラグ(ヒント情報;以下同様)を、該当する描画命
令列の末尾の直後に「変換終了」のフラグを埋め込む
(S2120)。一方、変換が不可能な場合には(S2
108−NO)、ヒント情報作成部158は、「変換不
可能」のフラグをヒント情報として作成し(S211
4)、該当する描画命令列の先頭の直前に「変換不可
能」のフラグを埋め込む(S2120)。描画命令走査
部156は、ROP描画が指定されていない描画命令に
関しては、特に判定を行なわず、次の描画命令の判定に
移る(S2104−NO)。プリンタドライバ150
は、これらの一連の処理を、1ページ分の描画命令につ
いて繰り返す(S2100)。
S)、ヒント情報作成部158は、「変換開始」、「変
換終了」のフラグをヒント情報として作成し(S211
0)、該当する描画命令列の先頭の直前に「変換開始」
のフラグ(ヒント情報;以下同様)を、該当する描画命
令列の末尾の直後に「変換終了」のフラグを埋め込む
(S2120)。一方、変換が不可能な場合には(S2
108−NO)、ヒント情報作成部158は、「変換不
可能」のフラグをヒント情報として作成し(S211
4)、該当する描画命令列の先頭の直前に「変換不可
能」のフラグを埋め込む(S2120)。描画命令走査
部156は、ROP描画が指定されていない描画命令に
関しては、特に判定を行なわず、次の描画命令の判定に
移る(S2104−NO)。プリンタドライバ150
は、これらの一連の処理を、1ページ分の描画命令につ
いて繰り返す(S2100)。
【0176】図24は、上記第1例の処理が行なわれた
後の記憶媒体155に格納される描画命令の一例を模式
的に示した図である。指定されたROP命令を他の描画
命令に変換可能な場合には(S2108−YES)、該
当する描画命令列の先頭の直前に「変換開始」のフラグ
が、該当する描画命令列の末尾の直後に「変換終了」の
フラグが埋め込まれ、その結果、描画命令列は図示する
ように変わる。図示していないが、指定されたROP命
令を他の描画命令に変換できない場合(S2108−N
O)には、該当する描画命令列の先頭の直前に「変換不
可能」のフラグが埋め込まれた状態に変わる。
後の記憶媒体155に格納される描画命令の一例を模式
的に示した図である。指定されたROP命令を他の描画
命令に変換可能な場合には(S2108−YES)、該
当する描画命令列の先頭の直前に「変換開始」のフラグ
が、該当する描画命令列の末尾の直後に「変換終了」の
フラグが埋め込まれ、その結果、描画命令列は図示する
ように変わる。図示していないが、指定されたROP命
令を他の描画命令に変換できない場合(S2108−N
O)には、該当する描画命令列の先頭の直前に「変換不
可能」のフラグが埋め込まれた状態に変わる。
【0177】図25は、他の描画命令に変換可能なRO
P命令の一例を示す図である。他の描画命令に変換可能
なROP命令の例として、次のようなものが挙げられ
る。たとえばデスティネーション矩形に対して、あるパ
ターンの排他的論理和(“XOR”)の演算を2度施す
と結果としてROP処理が行なわれた領域は、元のデス
ティネーション矩形と同じ画像となる。実際、このよう
なROP処理は、任意形状をグラデーションで塗りつぶ
すような描画命令において、 1)任意形状を含む矩形を“XOR”命令で描画 2)任意形状を表す白黒のマスクパターンを用いて“A
ND”命令で描画 3)任意形状を含む矩形を“XOR”命令で描画 などとして行なわれる。
P命令の一例を示す図である。他の描画命令に変換可能
なROP命令の例として、次のようなものが挙げられ
る。たとえばデスティネーション矩形に対して、あるパ
ターンの排他的論理和(“XOR”)の演算を2度施す
と結果としてROP処理が行なわれた領域は、元のデス
ティネーション矩形と同じ画像となる。実際、このよう
なROP処理は、任意形状をグラデーションで塗りつぶ
すような描画命令において、 1)任意形状を含む矩形を“XOR”命令で描画 2)任意形状を表す白黒のマスクパターンを用いて“A
ND”命令で描画 3)任意形状を含む矩形を“XOR”命令で描画 などとして行なわれる。
【0178】この結果、2番目の“AND”命令で描画
した部分に3番目の“XOR”命令で描画した色のグラ
デーションが残り、矩形部分から任意形状を除いた部分
は描画前と同じ画像に戻る。つまり、あるデスティネー
ション領域に対してこういった3段階のROP命令が指
定されている場合には、わざわざその都度ROP演算を
行なわなくても、他の描画命令に置き換えることで正し
い描画結果を得ることができる。
した部分に3番目の“XOR”命令で描画した色のグラ
デーションが残り、矩形部分から任意形状を除いた部分
は描画前と同じ画像に戻る。つまり、あるデスティネー
ション領域に対してこういった3段階のROP命令が指
定されている場合には、わざわざその都度ROP演算を
行なわなくても、他の描画命令に置き換えることで正し
い描画結果を得ることができる。
【0179】上記第3実施形態では、図20に示した描
画命令列の中で、描画順N+1の描画命令から描画順N
+3の描画命令までの3命令が、これに該当する。たと
えば、図25において、(A)の右側に示すような図形
(図では縦縞の菱形図形)の描画をする場合、先ず縦縞
パターンとデスティネーション画像とを論理和演算XO
Rにより描画し、これに対して前記任意形状に対応する
マスクパターン(図の例では黒塗りの菱形図形)で論理
積演算ANDにより描画し、さらにこれに対して前記縦
縞パターンで論理和演算XORにより描画するという、
3段階の論理演算を用いた描画処理を必要とする。一
方、(B)に示すように、縦縞を表すパターン画像を前
記任意形状に対応するマスク(図の例では黒塗りの菱形
図形)によってデスティネーション画像に上書きするこ
とで、ROP演算の不要な描画に変換される。
画命令列の中で、描画順N+1の描画命令から描画順N
+3の描画命令までの3命令が、これに該当する。たと
えば、図25において、(A)の右側に示すような図形
(図では縦縞の菱形図形)の描画をする場合、先ず縦縞
パターンとデスティネーション画像とを論理和演算XO
Rにより描画し、これに対して前記任意形状に対応する
マスクパターン(図の例では黒塗りの菱形図形)で論理
積演算ANDにより描画し、さらにこれに対して前記縦
縞パターンで論理和演算XORにより描画するという、
3段階の論理演算を用いた描画処理を必要とする。一
方、(B)に示すように、縦縞を表すパターン画像を前
記任意形状に対応するマスク(図の例では黒塗りの菱形
図形)によってデスティネーション画像に上書きするこ
とで、ROP演算の不要な描画に変換される。
【0180】図26は、描画命令を順に走査してヒント
情報を作成する描画命令走査部156における処理手順
の詳細例の第2例を示したフローチャートである。この
第2例は、たとえば描画命令を格納するために必要な記
憶領域のサイズと1ページの描画命令に含まれる全ての
イメージデータを格納するために必要な記憶領域のサイ
ズをヒント情報として描画命令に埋め込む態様である。
情報を作成する描画命令走査部156における処理手順
の詳細例の第2例を示したフローチャートである。この
第2例は、たとえば描画命令を格納するために必要な記
憶領域のサイズと1ページの描画命令に含まれる全ての
イメージデータを格納するために必要な記憶領域のサイ
ズをヒント情報として描画命令に埋め込む態様である。
【0181】描画命令走査部156は、先ず各データを
格納するための変数XとYを初期化する(S220
0)。描画命令走査部156は、描画命令があれば(S
2202−YES)、各描画命令を順に一つずつ抽出し
(S2204)、それらが示す各描画命令のサイズ(描
画命令サイズ)を把握して、把握した描画命令サイズで
Xを順次インクリメントする(S2206)。また描画
命令走査部156は、オブジェクトがイメージであるか
否かを判定し(S2208)、イメージデータの描画を
示す描画命令を抽出した場合には(S2208−YE
S)、イメージデータのサイズ(イメージデータサイ
ズ)を把握して、把握したイメージデータサイズでYを
順次インクリメントする(S2210)。
格納するための変数XとYを初期化する(S220
0)。描画命令走査部156は、描画命令があれば(S
2202−YES)、各描画命令を順に一つずつ抽出し
(S2204)、それらが示す各描画命令のサイズ(描
画命令サイズ)を把握して、把握した描画命令サイズで
Xを順次インクリメントする(S2206)。また描画
命令走査部156は、オブジェクトがイメージであるか
否かを判定し(S2208)、イメージデータの描画を
示す描画命令を抽出した場合には(S2208−YE
S)、イメージデータのサイズ(イメージデータサイ
ズ)を把握して、把握したイメージデータサイズでYを
順次インクリメントする(S2210)。
【0182】すべての描画命令について描画命令走査部
156による前記の調査が終わったら(S2202−N
O)、ヒント情報作成部158は、「描画命令サイズX
バイト」、「イメージデータサイズYバイト」といった
情報を使ってヒント情報を作成し(S2212)、作成
したヒント情報を描画命令列の先頭の直前に埋め込む
(S2214)。
156による前記の調査が終わったら(S2202−N
O)、ヒント情報作成部158は、「描画命令サイズX
バイト」、「イメージデータサイズYバイト」といった
情報を使ってヒント情報を作成し(S2212)、作成
したヒント情報を描画命令列の先頭の直前に埋め込む
(S2214)。
【0183】図27は、上記第2例の処理が行なわれた
後の記憶媒体155に格納される描画命令の一例を模式
的に示した図である。「描画命令サイズXバイト」を使
って作成された「描画命令合計サイズ」と「イメージデ
ータサイズYバイト」を使って作成された「イメージデ
ータ合計サイズ」がヒント情報として描画命令列の先頭
の直前に埋め込まれ、その結果、描画命令列は図示する
ように変わる。
後の記憶媒体155に格納される描画命令の一例を模式
的に示した図である。「描画命令サイズXバイト」を使
って作成された「描画命令合計サイズ」と「イメージデ
ータサイズYバイト」を使って作成された「イメージデ
ータ合計サイズ」がヒント情報として描画命令列の先頭
の直前に埋め込まれ、その結果、描画命令列は図示する
ように変わる。
【0184】図28は、第3実施形態の第1例あるいは
第2例にて作成されたヒント情報に基づいて、プリンタ
200にてなされる印刷処理の一例を示したフローチャ
ートである。展開部400は、まずホスト側装置100
からの入力として受けた描画命令列のデータを順に読み
込んで解釈する(S2300)。ヒント情報読取部41
0は、順に、描画命令中に所定のヒント情報があるかな
いかを判断し(S2302−NO,S2304)、ヒン
ト情報がなければ、展開部400は、通常通りに、描画
命令を印刷データにラスタ展開する(2304−NO,
S2340)。
第2例にて作成されたヒント情報に基づいて、プリンタ
200にてなされる印刷処理の一例を示したフローチャ
ートである。展開部400は、まずホスト側装置100
からの入力として受けた描画命令列のデータを順に読み
込んで解釈する(S2300)。ヒント情報読取部41
0は、順に、描画命令中に所定のヒント情報があるかな
いかを判断し(S2302−NO,S2304)、ヒン
ト情報がなければ、展開部400は、通常通りに、描画
命令を印刷データにラスタ展開する(2304−NO,
S2340)。
【0185】一方、ヒント情報がある場合には、ヒント
情報読取部410は、それが何を指し示すかを判断する
(2304−YES)。たとえば上記第2例で示した
「描画命令合計サイズ」、「イメージデータ合計サイ
ズ」などのヒント情報である場合には(S2310)、
ヒント情報読取部410はその情報を読み出してCPU
210に引き渡す。CPU210は、このヒント情報を
保持する(S2312)。
情報読取部410は、それが何を指し示すかを判断する
(2304−YES)。たとえば上記第2例で示した
「描画命令合計サイズ」、「イメージデータ合計サイ
ズ」などのヒント情報である場合には(S2310)、
ヒント情報読取部410はその情報を読み出してCPU
210に引き渡す。CPU210は、このヒント情報を
保持する(S2312)。
【0186】またヒント情報が「変換開始」を示すもの
である場合には(S2320)、CPU210は、「変
換終了」のヒント情報が現れるまでの描画命令を所定の
方法で別の描画命令に変換し(S2322)、展開部4
00は、変換後の描画命令を印刷データにラスタ展開す
る(S2340)。さらにヒント情報が「変換不可能」
を示すものである場合には(S2330)、展開部40
0は、通常通りに描画命令を印刷データにラスタ展開す
る(S2340)。プリンタ200は、以上の処理を、
描画命令列のデータを解釈し終えるまで繰り返す(S2
302)。
である場合には(S2320)、CPU210は、「変
換終了」のヒント情報が現れるまでの描画命令を所定の
方法で別の描画命令に変換し(S2322)、展開部4
00は、変換後の描画命令を印刷データにラスタ展開す
る(S2340)。さらにヒント情報が「変換不可能」
を示すものである場合には(S2330)、展開部40
0は、通常通りに描画命令を印刷データにラスタ展開す
る(S2340)。プリンタ200は、以上の処理を、
描画命令列のデータを解釈し終えるまで繰り返す(S2
302)。
【0187】以上説明したように、第3実施形態の印刷
システム1によれば、ホスト側装置100に組み込まれ
たプリンタドライバ150で描画命令を蓄積し、プリン
タ200で描画命令を解釈するにあたって有用な情報を
ヒント情報として描画命令列の中に埋め込んでおき、プ
リンタ200側では、このヒント情報に基づいて描画展
開処理する構成としたので、置換判断のための描画命令
の無駄な蓄積領域が不要となり、置換処理のためにプリ
ンタ200に用意する領域を少なく抑えることができ
る。またヒント情報を参照して描画展開することができ
るので、描画命令解釈を行ない易いなどの付加的な効果
も得られる。
システム1によれば、ホスト側装置100に組み込まれ
たプリンタドライバ150で描画命令を蓄積し、プリン
タ200で描画命令を解釈するにあたって有用な情報を
ヒント情報として描画命令列の中に埋め込んでおき、プ
リンタ200側では、このヒント情報に基づいて描画展
開処理する構成としたので、置換判断のための描画命令
の無駄な蓄積領域が不要となり、置換処理のためにプリ
ンタ200に用意する領域を少なく抑えることができ
る。またヒント情報を参照して描画展開することができ
るので、描画命令解釈を行ない易いなどの付加的な効果
も得られる。
【0188】
【発明の効果】以上説明したように、本発明によれば、
特定の描画命令が発せられた際、ROP命令の置換処理
のため画像出力開始までの時間がかえって長くなるとい
う問題を解消することができる。
特定の描画命令が発せられた際、ROP命令の置換処理
のため画像出力開始までの時間がかえって長くなるとい
う問題を解消することができる。
【0189】たとえば、第1実施形態で説明したよう
に、ROP処理の失敗を予め予測し、この予測結果に基
づいて不必要な判定動作を行なわないようにすること
で、置換判断のための描画命令の無駄な蓄積処理が不要
となり、ROP処理が成功するか否かに拘わらず、画像
出力開始までの時間を確実に高速化することができる。
に、ROP処理の失敗を予め予測し、この予測結果に基
づいて不必要な判定動作を行なわないようにすること
で、置換判断のための描画命令の無駄な蓄積処理が不要
となり、ROP処理が成功するか否かに拘わらず、画像
出力開始までの時間を確実に高速化することができる。
【0190】また第2実施形態で説明したように、論理
演算を行なう描画処理を論理演算を含まない描画処理に
変換するかどうかを判定し、より処理速度が高速な方を
選択することにより、置換判断のための描画命令の無駄
な蓄積処理が不要となり、ファイルにアクセスするオー
バーヘッド量や、中間データをイメージに変換する処理
をハードウェアで行なうか否かに拘わらず、画像形成開
始までの速度を確実に向上させることができる。
演算を行なう描画処理を論理演算を含まない描画処理に
変換するかどうかを判定し、より処理速度が高速な方を
選択することにより、置換判断のための描画命令の無駄
な蓄積処理が不要となり、ファイルにアクセスするオー
バーヘッド量や、中間データをイメージに変換する処理
をハードウェアで行なうか否かに拘わらず、画像形成開
始までの速度を確実に向上させることができる。
【0191】また第2実施形態の変形例で説明したよう
に、先ず論理演算処理を高速に処理する高速化処理部が
存在するかどうかを判定し、高速化処理部が存在するか
どうかに応じて、基本的にROP命令を置換する処理を
経由させるかどうかを切り替えるようにすれば、論理演
算処理がハードウェアで行なわれる場合には、そのハー
ドウェア資源を活用することで、処理速度を確実に高速
化することができる。
に、先ず論理演算処理を高速に処理する高速化処理部が
存在するかどうかを判定し、高速化処理部が存在するか
どうかに応じて、基本的にROP命令を置換する処理を
経由させるかどうかを切り替えるようにすれば、論理演
算処理がハードウェアで行なわれる場合には、そのハー
ドウェア資源を活用することで、処理速度を確実に高速
化することができる。
【0192】さらに本発明によれば、第3実施形態で説
明したように、画像形成装置で描画命令を解釈するにあ
たって有用な情報をヒント情報として描画命令と対応付
けておき、このヒント情報に基づいて描画展開処理する
ようにしたので、画像形成装置側では、置換判断のため
の描画命令の無駄な蓄積領域が不要となり、置換処理の
ために用意する記憶領域を少なく抑えることができる。
明したように、画像形成装置で描画命令を解釈するにあ
たって有用な情報をヒント情報として描画命令と対応付
けておき、このヒント情報に基づいて描画展開処理する
ようにしたので、画像形成装置側では、置換判断のため
の描画命令の無駄な蓄積領域が不要となり、置換処理の
ために用意する記憶領域を少なく抑えることができる。
【図1】 本発明の画像処理装置を適用した第1実施形
態の印刷システムの一構成例を示すブロック図である。
態の印刷システムの一構成例を示すブロック図である。
【図2】 第1実施形態の印刷システムにおける、出力
開始時間短縮化処理に関わる部分の機能ブロック図であ
る。
開始時間短縮化処理に関わる部分の機能ブロック図であ
る。
【図3】 第1実施形態の印刷システムにおける、出力
開始時間短縮化処理に関わる部分の、論理演算変換判定
部における処理手順の一例を示したフローチャートであ
る。
開始時間短縮化処理に関わる部分の、論理演算変換判定
部における処理手順の一例を示したフローチャートであ
る。
【図4】 第1実施形態の印刷システムにおける、出力
開始時間短縮化処理に関わる部分の、描画命令変換部に
おける処理手順の一例を示したフローチャートである。
開始時間短縮化処理に関わる部分の、描画命令変換部に
おける処理手順の一例を示したフローチャートである。
【図5】 第1実施形態の印刷システムにおける処理の
一例を具体的に示した図である。
一例を具体的に示した図である。
【図6】 本発明の画像処理装置を適用した第2実施形
態の印刷システムの一構成例を示すブロック図である。
態の印刷システムの一構成例を示すブロック図である。
【図7】 上記第2実施形態のプリンタに設けられたR
AMの性能を示す図である。
AMの性能を示す図である。
【図8】 第2実施形態のプリンタにおけるインタプリ
タ部の状態遷移である。
タ部の状態遷移である。
【図9】 第2実施形態のプリンタにおけるインタプリ
タ部の動作を示すフローチャートである。
タ部の動作を示すフローチャートである。
【図10】 上記図9のステップS810におけるRO
P設定命令処理の詳細を示すフローチャートである。
P設定命令処理の詳細を示すフローチャートである。
【図11】 上記図10のステップS914におけるC
OPY蓄積中のROP設定処理の詳細を示すフローチャ
ートである。
OPY蓄積中のROP設定処理の詳細を示すフローチャ
ートである。
【図12】 上記図9のステップS811における描画
命令処理の詳細を示すフローチャートである。
命令処理の詳細を示すフローチャートである。
【図13】 上記図9のステップS809におけるペー
ジ排出処理の詳細を示すフローチャートである。
ジ排出処理の詳細を示すフローチャートである。
【図14】 第2実施形態の印刷システムにおいて処理
対象とするPDLデータの一例を示す図である。
対象とするPDLデータの一例を示す図である。
【図15】 図14に示されるPDLデータに対応す
る、論理演算をクリップ命令に置き換えたPDLデータ
の一例を示した図である。
る、論理演算をクリップ命令に置き換えたPDLデータ
の一例を示した図である。
【図16】 第2実施形態の印刷システムの変形例を示
したブロック図である。
したブロック図である。
【図17】 上記第2実施形態の変形例におけるシステ
ム起動時のフローチャートである。
ム起動時のフローチャートである。
【図18】 上記第2実施形態の変形例における、PD
Lデータ解釈処理の基本形との相違部分を示すフローチ
ャートである。
Lデータ解釈処理の基本形との相違部分を示すフローチ
ャートである。
【図19】 本発明の画像処理装置を適用した第3実施
形態の印刷システムの一構成例を示すブロック図であ
る。
形態の印刷システムの一構成例を示すブロック図であ
る。
【図20】 第3実施形態における描描画命令の一例を
示した図である。
示した図である。
【図21】 第3実施形態において、1ページ分の描画
命令を記憶媒体に記憶させた状態を模式的に表した図で
ある。
命令を記憶媒体に記憶させた状態を模式的に表した図で
ある。
【図22】 第3実施形態の印刷システムにおける処理
手順の一例を示したフローチャートである。
手順の一例を示したフローチャートである。
【図23】 第3実施形態において、描画命令を順に走
査してヒント情報を作成する処理手順の詳細例の第1例
を示したフローチャートである。
査してヒント情報を作成する処理手順の詳細例の第1例
を示したフローチャートである。
【図24】 第3実施形態の第1例の処理が行なわれた
後の記憶媒体に格納される描画命令の一例を模式的に示
した図である。
後の記憶媒体に格納される描画命令の一例を模式的に示
した図である。
【図25】 第3実施形態の第1例において、他の描画
命令に変換可能なROP命令の一例を示す図である。
命令に変換可能なROP命令の一例を示す図である。
【図26】 第3実施形態において、描画命令を順に走
査してヒント情報を作成する処理手順の詳細例の第2例
を示したフローチャートである。
査してヒント情報を作成する処理手順の詳細例の第2例
を示したフローチャートである。
【図27】 第3実施形態の第2例の処理が行なわれた
後の記憶媒体に格納される描画命令の一例を模式的に示
した図である。
後の記憶媒体に格納される描画命令の一例を模式的に示
した図である。
【図28】 第3実施形態の第1例あるいは第2例にて
作成されたヒント情報に基づいて、プリンタにてなされ
る印刷処理の一例を示したフローチャートである。
作成されたヒント情報に基づいて、プリンタにてなされ
る印刷処理の一例を示したフローチャートである。
1…印刷システム、9…伝送路、100…ホスト側装
置、110…データ生成部、120…中央制御部、12
2…描画命令記憶部、124…論理演算変換判定部、1
25…判定部、126…比較部、127…失敗パターン
記憶部、128…描画命令変換部、130…インターフ
ェース部、140…OS部、142…スプーラ部、15
0…プリンタドライバ、152…入力部、154…記憶
制御部、155…記憶媒体、156…描画命令走査部、
158…ヒント情報作成部、160…出力部、200…
プリンタ、202…RAM、210…CPU、230…
インターフェース部、232…入力部、240…インタ
プリタ部、242…PDLデータ解釈部、250…圧縮
自然画像データサイズ計算部、260…中間データ生成
部、270…レンダリング部、280…圧縮符号化部、
290…印刷制御部、292…伸張復号化部、300…
プリンタエンジン部、302…プリンタエンジンインタ
ーフェース部、310…メモリ管理部、330…予測
部、340…判定部、360…H/Wアクセラレータス
ロット、370…H/Wレンダラ判定部、380…処理
方法切替部、400…展開部、410…ヒント情報読取
部
置、110…データ生成部、120…中央制御部、12
2…描画命令記憶部、124…論理演算変換判定部、1
25…判定部、126…比較部、127…失敗パターン
記憶部、128…描画命令変換部、130…インターフ
ェース部、140…OS部、142…スプーラ部、15
0…プリンタドライバ、152…入力部、154…記憶
制御部、155…記憶媒体、156…描画命令走査部、
158…ヒント情報作成部、160…出力部、200…
プリンタ、202…RAM、210…CPU、230…
インターフェース部、232…入力部、240…インタ
プリタ部、242…PDLデータ解釈部、250…圧縮
自然画像データサイズ計算部、260…中間データ生成
部、270…レンダリング部、280…圧縮符号化部、
290…印刷制御部、292…伸張復号化部、300…
プリンタエンジン部、302…プリンタエンジンインタ
ーフェース部、310…メモリ管理部、330…予測
部、340…判定部、360…H/Wアクセラレータス
ロット、370…H/Wレンダラ判定部、380…処理
方法切替部、400…展開部、410…ヒント情報読取
部
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 鹿島 洋三
神奈川県海老名市本郷2274番地 富士ゼロ
ックス株式会社海老名事業所内
Fターム(参考) 2C087 AB05 AC08 BC01 BC05
5B021 AA01 BB01
5B080 DA04 FA08 GA04
5C076 AA12 BA06
Claims (10)
- 【請求項1】 画像を構成する画素間の論理演算処理を
含む描画命令を受け取って処理する画像処理装置であっ
て、 論理演算処理を必要とする描画命令から論理演算処理を
必要としない描画命令に変換することが可能であるのか
不可能であるのかを判定する判定部と、 前記判定部による判定の結果が前記不可能であったこと
を条件として、前記変換が不可能であった前記論理演算
処理を必要とする前記描画命令を記憶する記憶部と、 前記記憶部が記憶した前記描画命令と、当該描画命令に
後続して受け取る描画命令とを比較する比較部とを備
え、 前記判定部は、前記比較部による比較の結果が一致する
ことを条件として、前記変換することが可能であるのか
不可能であるのかの判定を行なわない代わりに、失敗と
判定することを特徴とする画像処理装置。 - 【請求項2】 画像を構成する画素間の論理演算処理を
含む描画命令を受け取って処理する画像処理装置であっ
て、 論理演算処理を必要とする描画命令から論理演算処理を
必要としない描画命令に変換することが可能であるのか
不可能であるのかを判定する判定部と、 前記判定部による判定の結果が前記不可能であったこと
を条件として、前記変換が不可能であった前記論理演算
処理を必要とする前記描画命令より以前に入力された描
画命令および入力された順番とを対応付けて記憶する記
憶部と、 前記記憶部が記憶した前記描画命令および順番と、当該
描画命令に後続して受け取る描画命令とを比較する比較
部とを備え、 前記判定部は、前記比較部による比較の結果が一致する
ことを条件として、前記変換することが可能であるのか
不可能であるのかの判定を行なわない代わりに、失敗と
判定することを特徴とする画像処理装置。 - 【請求項3】 画像を構成する画素間の論理演算処理を
含む描画命令を受け取って処理することが可能であると
ともに、前記論理演算処理を行なわなくても処理可能な
場合には、前記論理演算処理を必要としない描画命令に
変換してから処理することが可能である画像処理装置で
あって、 前記論理演算処理を含む描画命令を使用して描画したと
きの処理時間、および前記論理演算処理を必要としない
描画命令に変換してから描画したときの処理時間を予測
する予測部と、 前記予測部による各処理時間の予測の結果に基づいて、
前記論理演算処理を必要としない描画命令に変換するか
否かを判定する判定部とを備え、 前記判定部の判定結果に基づいて、前記論理演算処理を
行なう描画展開処理および当該論理演算処理を含まない
描画処理に変換して描画展開することのうち、前記描画
命令を受け取ってから描画開始までの時間がより短くな
る方の処理を実行することを特徴とする画像処理装置。 - 【請求項4】 画像を構成する画素間の論理演算処理を
含む描画命令を受け取って処理することが可能であると
ともに、前記論理演算処理を行なわなくても処理可能な
場合には、前記論理演算処理を必要としない描画命令に
変換してから処理することが可能である画像処理装置で
あって、 前記論理演算処理を高速に処理する高速化処理部が存在
するかどうかを判定する判定部と、 前記高速化処理部が存在すると前記判定部が判定したこ
とを条件として、前記論理演算処理を必要としない描画
命令に変換せずに処理する第1の処理方法を選択する一
方、前記高速化処理部が存在しないと前記判定部が判定
したことを条件として、前記論理演算処理を必要としな
い描画命令に変換して処理する第2の処理方法を選択す
る処理方法切替部とを備えたことを特徴とする画像処理
装置。 - 【請求項5】 画像を形成するための描画命令を出力す
る描画命令出力装置であって、 論理演算処理を必要とする描画命令から論理演算処理を
必要としない描画命令に変換することが可能であるのか
不可能であるのかを示す判定情報を生成する判定情報生
成部と、 前記判定情報生成部が生成した前記判定情報を前記描画
命令と対応付けて出力する出力部とを備えたことを特徴
とする描画命令出力装置。 - 【請求項6】 前記出力部は、前記判定情報生成部が生
成した前記判定情報を前記描画命令の中に埋め込むこと
を特徴とする請求項5に記載の描画命令出力装置。 - 【請求項7】 前記描画命令は、1つのオブジェクトの
描画を表すとともに、描画順、描画命令サイズ、オブジ
ェクト情報、描画位置、および描画属性の少なくとも1
つを含むことを特徴とする請求項5または6に記載の描
画命令出力装置。 - 【請求項8】 前記オブジェクトは、グラフィック、イ
メージ、および文字のいずれかであることを特徴とする
請求項7に記載の描画命令出力装置。 - 【請求項9】 前記描画属性は、前記論理演算処理で表
現される描画の指定であることを請求項7または8に記
載の描画命令出力装置。 - 【請求項10】 入力された描画命令に基づいて、画像
を形成する画像形成装置であって、 前記描画命令、および当該描画命令が論理演算処理を必
要とする描画命令から論理演算処理を必要としない描画
命令に変換することが可能であるのか不可能であるのか
を示す判定情報を受け取る入力部と、 前記入力部が受け取った前記判定情報に基づいて、前記
入力部が受け取った描画命令を解釈してラスタ画像に展
開する展開部とを備えたことを特徴とする画像形成装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001378268A JP2003177889A (ja) | 2001-12-12 | 2001-12-12 | 画像処理装置、描画命令出力装置、および画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001378268A JP2003177889A (ja) | 2001-12-12 | 2001-12-12 | 画像処理装置、描画命令出力装置、および画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003177889A true JP2003177889A (ja) | 2003-06-27 |
Family
ID=19186036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001378268A Pending JP2003177889A (ja) | 2001-12-12 | 2001-12-12 | 画像処理装置、描画命令出力装置、および画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003177889A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006341376A (ja) * | 2005-06-07 | 2006-12-21 | Fuji Xerox Co Ltd | 画像処理装置、画像処理プログラムおよび画像処理方法 |
JP2007076337A (ja) * | 2005-09-16 | 2007-03-29 | Ricoh Co Ltd | 画像処理装置、画像処理方法、および画像処理用プログラム |
JP2010122917A (ja) * | 2008-11-19 | 2010-06-03 | Kyocera Mita Corp | 画像形成システム |
JP2015005204A (ja) * | 2013-06-21 | 2015-01-08 | キヤノン株式会社 | 情報処理装置、その装置の制御方法、プログラム |
JP2015199222A (ja) * | 2014-04-04 | 2015-11-12 | キヤノン株式会社 | 処理装置及びその方法、プログラム |
-
2001
- 2001-12-12 JP JP2001378268A patent/JP2003177889A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006341376A (ja) * | 2005-06-07 | 2006-12-21 | Fuji Xerox Co Ltd | 画像処理装置、画像処理プログラムおよび画像処理方法 |
JP4581854B2 (ja) * | 2005-06-07 | 2010-11-17 | 富士ゼロックス株式会社 | 画像処理装置、画像処理プログラムおよび画像処理方法 |
JP2007076337A (ja) * | 2005-09-16 | 2007-03-29 | Ricoh Co Ltd | 画像処理装置、画像処理方法、および画像処理用プログラム |
US8159684B2 (en) | 2005-09-16 | 2012-04-17 | Ricoh Company, Limited | Image processing apparatus, image processing method, and computer program product each to process a plurality of printer languages |
JP2010122917A (ja) * | 2008-11-19 | 2010-06-03 | Kyocera Mita Corp | 画像形成システム |
JP2015005204A (ja) * | 2013-06-21 | 2015-01-08 | キヤノン株式会社 | 情報処理装置、その装置の制御方法、プログラム |
JP2015199222A (ja) * | 2014-04-04 | 2015-11-12 | キヤノン株式会社 | 処理装置及びその方法、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3826038B2 (ja) | 印刷システム及びその印刷方法並びに印刷装置 | |
EP0849701B1 (en) | Print control apparatus and print control method | |
JP2003312068A (ja) | 画像処理方法及びその装置 | |
WO2011048771A1 (en) | Image processing apparatus, image processing method, and program | |
JP2002041261A (ja) | 情報処理装置及び情報処理方法及びコンピュータ読み取り可能なプログラムを格納した記憶媒体 | |
JP2002222070A (ja) | 印刷データ処理装置及び印刷制御方法及び印刷制御プログラム | |
JP4174476B2 (ja) | データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム | |
US6288793B1 (en) | Printer controlling apparatus and method and recording medium for recording program code for executing the same | |
JP3962606B2 (ja) | 印刷命令生成装置及び方法、印刷装置及びその制御方法、情報処理装置及び印刷システム | |
JP2001356893A (ja) | 印刷制御装置および方法 | |
JP3466808B2 (ja) | 画像処理装置及び方法 | |
JP2003177889A (ja) | 画像処理装置、描画命令出力装置、および画像形成装置 | |
JP2006313424A (ja) | 画像処理システムおよび画像処理方法およびプログラム | |
JP4461361B2 (ja) | 描画処理方法およびプログラム並びに描画命令出力装置および画像形成装置 | |
JP3871011B2 (ja) | 情報処理装置および情報処理方法 | |
JP3772407B2 (ja) | 画像処理装置 | |
US20030160991A1 (en) | Spool file modifying device | |
JP2000335021A (ja) | 画像処理装置及び画像処理方法 | |
JP3715749B2 (ja) | 画像処理システム及び画像処理方法 | |
JP2002133429A (ja) | 描画情報処理装置および描画情報処理方法、記憶媒体 | |
JP3663853B2 (ja) | 画像処理装置 | |
US6281985B1 (en) | Print control apparatus, print control method, and memory medium | |
JP3792881B2 (ja) | 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP2004021452A (ja) | 画像出力システム | |
JP3297448B2 (ja) | 画像処理装置及び画像処理方法 |