(57)【要約】【課題】入力画像の解像度が出力装置の解像度に比べて高い場合に、ＲＯＰ置換描画を適用すると、直接ＲＯＰ描画に比べて処理時間が増す場合がある。【解決手段】画像を構成する画素間の論理演算処理の指示を含む描画命令を受け取って画像処理を行う際に、描画命令中の描画論理演算指示が論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮可能、即ち高速に描画可能な指示内容であるか否かを描画論理演算部３で判定し、そのような判定結果の場合に、その描画論理演算指示および描画オブジェクトを、描画論理演算を必要としない指示および描画オブジェクトに描画オブジェクト変換部４で変換する。【選択図】        図１
2004174962.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する画素間の論理演算処理の指示を含む描画命令を受け取って処理を行う画像処理装置であって、
前記描画命令を描画オブジェクトおよび描画論理演算指示に変換する描画命令変換手段と、
前記描画論理演算指示が論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮できる指示内容であるか否かを判定する描画論理演算指示判定手段と、
前記描画論理演算指示判定手段によって論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮できる指示内容であると判定された場合に前記描画オブジェクトおよび描画論理演算指示を描画論理演算を必要としない指示および描画オブジェクトに変換する描画オブジェクト変換手段と
を備えることを特徴とする画像処理装置。
【請求項２】
描画命令変換手段は前記描画命令をさらに、描画命令を作成したアプリケーションプログラムが定義した描画命令の座標系を出力装置で必要とする座標系に変換するアファイン変換を行うための変換行列に変換し、
前記描画論理演算指示判定手段は、前記変換行列に基づいて前記描画論理演算指示が論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮できる指示内容であるか否かを判定する
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
画像を構成する画素間の論理演算処理の指示を含む描画命令を受け取って処理を行う際に、
前記描画命令を描画オブジェクトおよび描画論理演算指示に変換し、
この変換した描画論理演算指示が論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮できる指示内容であるか否かを判定し、
論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮できる指示内容であると判定した場合に前記描画オブジェクトおよび描画論理演算指示を描画論理演算を必要としない指示および描画オブジェクトに変換する
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば画像作成装置などから出力される描画命令を受け取って処理を行う画像処理装置および画像処理方法に関し、特に画像を構成する画素間の論理演算処理の指示を含む描画命令に基づいて画像処理を行う画像処理装置および画像処理方法に関するものである。
【０００２】
【従来の技術】
パーソナルコンピュータ等の画像作成装置などから出力される様々な描画命令を処理し、出力装置、例えば印刷装置で印刷（出力）可能な画素の並びで表現された画像データに展開する画像形成システムにおいて、画像作成装置より描画命令を受け取ってから画像データに展開されるまでの間に描画命令に応じた様々な処理が行われる。
【０００３】
その一つとして、複数の画像が重なる位置に描かれる場合に、元の画像と新たに書き込む画像との重ね合わせの方法の指示にしたがって、両方の画像を重ね合わせる処理がある。このとき、重ね合わせの方法は、通常、論理和（ＯＲ）、論理積（ＡＮＤ）、排他的論理和（ＥＸ−ＯＲ）などの論理演算の種類として指示される。このような、画像を構成する画素間の論理演算処理は、一般に、ＲＯＰ（Ｒａｓｔｅｒ  ＯＰｅｒａｔｉｏｎ）として知られている。
【０００４】
従来、特定のＲＯＰが指定された描画命令について、指定されたＲＯＰをそのまま実行することが必要でない場合に、受け取った描画命令を、ＲＯＰを含まない描画命令に変換して当該命令を実行することにより、論理演算処理にかかる時間を省いた高速な画像処理を可能とする技術が知られている（例えば、特許文献１参照）。以下、本明細書では、受け取った描画命令を、ＲＯＰを含まない描画命令に変換することを「ＲＯＰ置換」と記す。
【０００５】
【特許文献１】
特許第３００８９４３号明細書
【０００６】
【発明が解決しようとする課題】
しかしながら、ＲＯＰ置換した描画命令に基づく描画処理（以下、「ＲＯＰ置換描画」と記す）は、入力画像の解像度と出力装置の解像度との関係において、前者が後者よりも小さいシステムでは有用であるものの、前者が後者よりも大きいシステムにおいてＲＯＰ置換を適用する場合を想定すると、ＲＯＰ置換を適用しないで、画素単位でビット演算して描画処理（以下、「直接ＲＯＰ描画」と記す）を行う場合と比べると、逆に描画時間が増す場合が考えられる。
【０００７】
ここで、出力倍率（＝出力解像度／入力解像度）に対するＲＯＰ置換の有無による全体の処理時間を比較すると、一例として、図３に示すような特性となる。すなわち、出力倍率が大、即ち入力画像の解像度よりも出力装置の解像度が高い場合には、出力倍率を同じとすると、ＲＯＰ置換描画の方が直接ＲＯＰ描画よりも全体の処理時間を短縮できる。逆に、出力倍率が小、即ち入力画像の解像度よりも出力装置の解像度が低い場合には、出力倍率を同じとすると、直接ＲＯＰ描画の方がＲＯＰ置換描画よりも全体の処理時間を短縮できる。
【０００８】
例えば、入力画像の解像度が高く、出力装置の解像度が低い場合に、入力画像に対してアファイン変換を適用して解像度変換して出力を行うよりも、図形をＲＯＰ置換して描画する処理に比べて、解像度変換後のされた図形に対して直接ＲＯＰ描画を行った方が全体の描画時間（処理時間）は短くなる。ここに、アファイン変換とは、ある座標系から別の座標系への線形変換を言い、画像の拡大、縮小、回転、平行移動を変換行列の係数を選んで乗算することによって求めることができる。
【０００９】
ここで、ＲＯＰ置換描画の場合と直接ＲＯＰ描画の場合との具体的な処理例を挙げて両者の描画時間の違いを説明する。
【００１０】
図９は、入力画像の解像度が出力装置の解像度に比べて高い場合のＲＯＰ置換描画の処理例を示す図である。図９において、入力画像１〜３は解像度が高い入力解像度のままＲＯＰ置換の処理が行われる。ＲＯＰ置換後の画像は、アファイン変換によって出力装置で出力可能な解像度に変換される。
【００１１】
図１０は、入力画像の解像度が出力装置の解像度に比べて高い場合の直接ＲＯＰ描画の処理例を示す図である。図１０において、入力画像１〜３の各々は先ずアファイン変換によって出力装置で出力可能な解像度に変換される。アファイン変換後の各画像は、それぞれの論理演算指示に従ってビット演算される。
【００１２】
ここで、ＲＯＰ置換は、背景画像（ディスティネーション）に対する論理演算の回数を低減することによって演算処理を高速化できる技術である。ところが、上述した処理例のように、入力画像の解像度が出力装置の解像度に比べて高い場合には、ＲＯＰ置換描画を適用すると、解像度が高い入力画像に対してＲＯＰ置換を行うことになるため、置換対象の画素数が多くなる。その結果、解像度が低い入力画像に対して論理演算を行う直接ＲＯＰ描画に比べて処理時間が増す場合がある。
【００１３】
本発明は、上記課題に鑑みてなされたものであり、その目的とするところは、特定のＲＯＰ指定描画命令を含む画像の描画処理を常に高速に行うことが可能な画像処理装置および画像処理方法を提供することにある。
【００１４】
【課題を解決するための手段】
本発明による画像処理装置は、画像を構成する画素間の論理演算処理の指示を含む描画命令を受け取って処理を行う画像処理装置であって、前記描画命令を描画オブジェクトおよび描画論理演算指示に変換する描画命令変換手段と、前記描画論理演算指示が論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮できる指示内容であるか否かを判定する描画論理演算指示判定手段と、前記描画論理演算指示判定手段によって論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮できる指示内容であると判定された場合に前記描画オブジェクトおよび描画論理演算指示を描画論理演算を必要としない指示および描画オブジェクトに変換する描画オブジェクト変換手段とを備える構成となっている。
【００１５】
また、本発明による画像処理方法は、画像を構成する画素間の論理演算処理の指示を含む描画命令を受け取って処理を行う際に、前記描画命令を描画オブジェクトおよび描画論理演算指示に変換し、この変換した描画論理演算指示が論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮できる指示内容であるか否かを判定し、論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮できる指示内容であると判定した場合に前記描画オブジェクトおよび描画論理演算指示を描画論理演算を必要としない指示および描画オブジェクトに変換する。
【００１６】
上記構成の画像処理装置または画像処理方法において、描画命令中の描画論理演算指示が論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮可能（高速に描画可能）と判定した場合に、その描画オブジェクトおよび描画論理演算指示を、描画論理演算を必要としない指示および描画オブジェクトに変換することで、入力画像の解像度が出力装置の解像度よりも高い場合において、解像度が高い入力画像に対してＲＯＰ置換を行わなくて済むことになるため、ＲＯＰ置換を行った場合に比べて処理時間を短縮できる。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１８】
［実施形態］
図１は、本発明の一実施形態に係る画像処理装置の構成の概略を示すブロック図である。図１から明らかなように、本実施形態に係る画像処理装置は、描画命令変換部１、描画オブジェクト記憶部２、描画論理演算指示判定部３、描画オブジェクト変換部４、背景画像データ格納部５および描画論理演算部６を有し、パーソナルコンピュータ等の画像作成装置などから出力される様々な描画命令、特に画像を構成する画素間の論理演算処理の指示を含む描画命令を受け取って画像処理を行う構成となっている。
【００１９】
この画像処理装置において、描画命令変換部１は、画像を構成する画素間の論理演算処理の指示を含む描画命令を受け取って当該描画命令を、画像を構成する画素間の描画論理演算指示と、描画オブジェクトと、描画命令を作成したアプリケーションプログラムが定義した描画命令の座標系を出力装置で必要とする座標系に変換するアファイン変換を行うための変換行列とに変換する。
【００２０】
ここで、描画論理演算指示としては、従来より知られているＲＯＰ処理のいずれかが指定される。描画オブジェクトは、描画論理演算後の形状を定義するマスクパターンおよび描画オブジェクトの塗りつぶしパターンを定義する背景パターンの少なくとも１つから構成される。変換行列は、入力される描画命令と出力装置の情報とから計算式によって得られる。
【００２１】
描画オブジェクト記憶部２は、描画命令変換部１で変換して得られた描画論理演算指示、変換行列および描画オブジェクトを記憶する。なお、この描画オブジェクト記憶部２を配置しない構成を採ることも可能であるが、後述するように、描画論理演算指示判定部３において、連続する複数の描画論理演算指示について判定を行う際には、この描画オブジェクト記憶部２に複数の描画論理演算指示および対応する描画オブジェクトを記憶させておくと便利である。
【００２２】
描画論理演算指示判定部３は、描画オブジェクト記憶部２に記憶されている描画論理演算指示を解析して、１つの描画論理演算指示あるいは連続する複数の描画論理演算指示について、次の少なくとも第１〜第３の判定処理を行う。第１には、１つの描画論理演算指示あるいは連続する複数の描画論理演算指示が、論理演算処理（ＲＯＰ）を行わなくても描画処理が可能な指示内容であるか否か、即ちＲＯＰ置換を行うか否かを判定する。この第１の判定処理では、例えば、描画論理演算指示が特定の描画論理演算指示である場合や、連続する複数の描画論理演算指示が特定の描画論理演算指示のパターンであることを条件とすることができる。また、この判定の際に、その描画論理演算指示によって指示されている論理演算処理の対象となる描画オブジェクトを参照して判定することもできる。
【００２３】
描画論理演算指示判定部３の判定処理として第２には、論理演算処理を行わなくても描画処理が可能な指示内容であると判定した場合において、論理演算処理を行わない場合に行った場合よりも処理時間を短縮できるか否か、即ち高速に描画可能であるか否かを判定する。この第３の判定処理では、例えば、入力される描画命令の解像度（入力解像度）と、出力される装置の解像度（出力解像度）との組み合わせを条件とすることができる。
【００２４】
先述したように、描画オブジェクト記憶部２に記憶されている変換行列が、入力される描画命令と出力装置の情報とから得られるものであることから、当該変換行列は入力解像度および出力解像度の情報を含むこともできる。したがって、描画論理演算指示判定部３は、描画オブジェクト記憶部２に記憶されている変換行列を解析することによって判定処理を行うことができる。この判定処理のために、描画論理演算指示判定部３は、例えば図２に示すＲＯＰ置換判定マトリクスをあらかじめ内蔵しており、当該ＲＯＰ置換判定マトリクスを基に、描画論理演算指示あるいは連続する複数の描画論理演算指示が、論理演算処理を行わない場合に行った場合よりも高速に描画可能な指示内容であるか否かの判定を行う。
【００２５】
図２に示すＲＯＰ置換判定マトリクスは、図３に示す出力倍率に対するＲＯＰ置換の有無による全体の処理時間の比較特性を基に作成される。具体的には、図３の比較特性図において、基本的に、ＲＯＰ置換描画の場合の特性（実線で示す特性）と直接ＲＯＰ描画の場合の特性（点線で示す特性）とが交差する出力倍率を基準として、当該基準倍率に対して出力倍率が大の領域ではＲＯＰ置換描画の処理を行い、出力倍率が小の領域では直接ＲＯＰ描画の処理を行うように、変換行列を解析して得られる入力解像度と出力解像度とを判定パラメータとして作成される。
【００２６】
ここで得られる入力解像度と出力解像度は、実際の解像度ではなく変換行列中のパラメータにより得られる入出力解像度の比率から解析して得られるものでも良い。たとえば、変換行列中の倍率が「１」である場合は入力解像度が「低」で出力解像度が「低」、入力解像度が「中」で出力解像度が「中」、入力解像度が「高」で出力解像度が「高」のいずれかが得られる。また、変換行列中の倍率が「１０」となる場合は、入力解像度が「低」で出力解像度が「高」が得られる。変換行列中の倍率が「０．１」となる場合は、入力解像度が「高」で出力解像度が「低」が得られる。
【００２７】
ここで、変換行列中のパラメータにより得られる入出力解像度の比率から１次元の判定基準を設けず、マトリクスを使用して判定を行うのは、変換行列中の倍率だけを判定基準とした場合に倍率「１」前後の判定は線形とならない場合があるためである。
【００２８】
図２に示すＲＯＰ置換判定マトリクスでは、入力解像度および出力解像度が共に「低」の領域の場合、共に「中」の領域の場合、共に「高」の領域の場合、入力解像度が「低」の領域でかつ出力解像度が「中」の領域の場合、入力解像度が「中」の領域でかつ出力解像度が「高」の領域の場合、入力解像度が「低」の領域でかつ出力解像度が「高」の領域の場合には、ＲＯＰ置換する（ＲＯＰ置換描画）と判定することになる。逆に、入力解像度が「中」の領域でかつ出力解像度が「低」の領域の場合、入力解像度が「高」の領域でかつ出力解像度が「中」の領域の場合、入力解像度が「高」の領域でかつ出力解像度が「低」の領域の場合には、ＲＯＰ置換しない（直接ＲＯＰ描画）と判定することになる。
【００２９】
ここで、入出力解像度の「低」の領域としては、例えばディスプレイ画面の解像度、即ち７２ｄｐｉ程度の領域を、「高」の領域としては、例えばプリンタの解像度、即ち６００ｄｐｉ程度の領域を想定しており、「中」の領域としては、それらの中間の領域となる。ただし、図２に示すＲＯＰ置換判定マトリクスは一例に過ぎず、これに限定されるものではない。すなわち、ここでは入出力解像度の分割数が３×３の場合のＲＯＰ置換判定マトリクスを例に挙げているが、入出力解像度の分割数を環境に合わせて変更することが可能である。
【００３０】
また、入出力解像度を判定パラメータとして用いているが、これらに加えて、描画論理演算指示によって指示されている論理演算処理の対象となる描画オブジェクトの描画命令の種類（例えば、矩形、台形、線分等の図形の形）や、変換行列を参照して描画論理演算を必要としない命令に変換した場合と変換しない場合の処理の複雑さなどを判定パラメータとして用いることも可能である。
【００３１】
描画論理演算指示判定部３の判定処理として第３には、１つの描画論理演算指示あるいは連続する複数の描画論理演算指示が、論理演算処理を行わなくても描画処理が可能な指示内容であると判定した場合において、連続する複数の描画オブジェクトの情報の数や種類からＲＯＰ置換を行うか否かを判定する。ここで、描画オブジェクトの情報の種類として、例えば、直線の描画命令と曲線、円などの描画命令とが指定される場合には、これらの描画命令は描画の複雑さが異なるため、描画命令ごとにＲＯＰ置換を行うか否かの判定基準である閾値を設定するようにする。
【００３２】
描画オブジェクト変換部４は、描画論理演算指示判定部３において論理演算処理を行わなくても処理可能な指示内容である、あるいは論理演算処理を行わない場合に行った場合よりも高速に描画可能な指示内容であると判定された１ないし複数の論理演算指示およびその論理演算指示に対応する描画オブジェクトについて、描画論理演算を必要としない指示および描画オブジェクトに変換する。
【００３３】
背景画像データ格納部５は、描画論理演算部６で用いられる背景画像データを格納するとともに、描画論理演算部６での演算処理によって得られる画像データを格納する。描画論理演算部６は、描画オブジェクト変換部４で論理演算処理を行わなくても処理可能な指示内容であると判定された以外の描画論理演算指示について、その描画論理演算指示に従って、描画オブジェクトおよび背景画像データ格納部５に格納されている背景画像データ間の論理演算処理を実行し、その演算結果を背景画像データ格納部５に格納する。
【００３４】
続いて、上記構成の本実施形態に係る画像処理装置の動作の概要について説明する。
【００３５】
描画命令変換部１に描画論理演算指示を含む描画命令が入力されると、描画命令変換部１は、入力された描画命令を描画オブジェクトと描画論理演算指示に変換し、描画オブジェクト記憶部２に格納する。すると、描画論理演算指示判定部３は、描画オブジェクト記憶部２に格納されている１つの描画論理演算指示あるいは連続する複数の描画論理演算指示が、描画論理演算処理を行わなくても処理可能な（描画できる）指示内容であるか否か、また論理演算処理を行わない場合に行った場合よりも処理時間を短縮できるか否か、即ち高速に描画可能であるか否か、さらに連続する複数の描画オブジェクトの情報の数や種類からＲＯＰ置換を行うか否かを判定する。
【００３６】
ここで、１つの描画論理演算指示あるいは連続する複数の描画論理演算指示が、描画論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮できる（高速に描画可能な）指示内容である否かについては、描画論理演算指示判定部３が描画オブジェクト記憶部２に記憶されている変換行列を解析して、当該変換行列に含まれている入力解像度および出力解像度の各情報を得て、これらの情報から図２に示すＲＯＰ置換判定マトリクスの領域を特定することによって判定することができる。このとき、変換行列に含まれている入力解像度および出力解像度の各情報そのものを用いなくても、変換行列には縮拡率の情報も含まれているため、この縮拡率の情報を用いることによってもＲＯＰ置換判定マトリクスの領域を特定することが可能である。
【００３７】
描画論理演算指示判定部３で描画論理演算処理を行わなくても処理可能な指示内容である、または論理演算処理を行わない場合に行った場合よりも高速に描画可能である、あるいは連続する複数の描画オブジェクトの情報の数や種類からＲＯＰ置換を行うと判定された場合には、描画オブジェクト変換部４は、判定された描画論理演算指示および描画オブジェクトを、描画論理演算を必要としない指示および描画オブジェクトに変換し、他の処理部にその後の処理を継続させる。図４に、描画論理演算を必要としない処理の一例を示す。この処理では、入力画像１〜３が入力解像度のままＲＯＰ置換の処理が行われることになる。
【００３８】
一方、描画論理演算指示判定部３によって描画論理演算処理が必要な指示内容であると判定された場合には、描画論理演算部６は、背景画像データ格納部５から背景画像データを読み出し、描画論理演算指示に従い、読み出した背景画像データと描画オブジェクトとの描画論理演算を行う。この論理演算によって得られた画像データは、背景画像データ格納部５に書き戻される。図５に、描画論理演算を必要とする処理の一例を示す。この処理では、入力画像１〜３が入力解像度のまま論理演算指示に従ってビット演算されることになる。
【００３９】
次に、上記構成の本実施形態に係る画像処理装置において実行される画像処理方法の処理手順の一例について、図６および図７のフローチャートを用いて説明する。
【００４０】
先ず、第１の描画情報を取得し（ステップＳ１１）、当該描画情報中に含まれる描画コードがＲＯＰ置換を行うことが可能な特定の論理演算コードであるか否かを判定する（ステップＳ１２）。特定の論理演算コードである場合には、変換行列を図２に示すＲＯＰ置換判定マトリクスに適用し、当該判定マトリクスを基にＲＯＰ置換を行うか否か、即ち論理演算処理を行わない場合に処理時間を短縮可能（高速に描画可能）であるか否かを判定し（ステップＳ１３）、さらに連続する複数の描画オブジェクトの情報の数や種類からＲＯＰ置換を行うか否かを判定する（ステップＳ１４）。
【００４１】
ステップＳ１２で特定の論理演算コードでないと判定した場合、あるいはステップＳ１３，Ｓ１４のいずれでもＲＯＰ置換を行わないと判定した場合には、第１の描画情報から論理演算コードを含むコマンドを生成し（ステップＳ１５）、本フローの処理を終了して第１の描画情報をＲＯＰ描画する処理に移行する。ステップＳ１３，Ｓ１４のいずれもＲＯＰ置換を行うと判定した場合には、第１の描画情報を保存する（ステップＳ１６）。
【００４２】
続いて、第２の描画情報を取得し（ステップＳ１７）、当該描画情報中に含まれる描画コードがＲＯＰ置換を行うことが可能な特定の論理演算コードであるか否かを判定し（ステップＳ１８）、さらにＲＯＰ置換を行うことが可能なパターン、画像、座標情報であるか否かを判定し（ステップＳ１９）、さらに連続する複数の描画オブジェクトの情報の数や種類からＲＯＰ置換を行うか否かを判定する（ステップＳ２０）。
【００４３】
ステップＳ１８で特定の論理演算コードでないと判定した場合、ステップＳ１９でＲＯＰ置換を行うことが可能なパターン、画像、座標情報でないと判定した場合、あるいはステップＳ２０でＲＯＰ置換を行わないと判定した場合には、第１の描画情報から論理演算コードを含むコマンドを生成し（ステップＳ２１）、次いで第２の描画情報から論理演算コードを含むコマンドを生成し（ステップＳ２２）、しかる後本フローの処理を終了して第１および第２の描画情報をＲＯＰ描画する処理に移行する。ステップＳ１９，Ｓ２０のいずれもＲＯＰ置換を行うと判定した場合には、第２の描画情報を保存する（ステップＳ２３）。
【００４４】
続いて、第３の描画情報を取得し（ステップＳ２４）、当該描画情報中に含まれる描画コードがＲＯＰ置換を行うことが可能な特定の論理演算コードであるか否かを判定し（ステップＳ２５）、さらにＲＯＰ置換を行うことが可能なパターン、画像、座標情報であるか否かを判定し（ステップＳ２６）、さらに連続する複数の描画オブジェクトの情報の数や種類からＲＯＰ置換を行うか否かを判定する（ステップＳ２７）。
【００４５】
ステップＳ２５で特定の論理演算コードでないと判定した場合、ステップＳ２６でＲＯＰ置換を行うことが可能なパターン、画像、座標情報でないと判定した場合、あるいはステップＳ２７でＲＯＰ置換を行わないと判定した場合には、第１の描画情報から論理演算コードを含むコマンドを生成し（ステップＳ２８）、次いで第２の描画情報から論理演算コードを含むコマンドを生成し（ステップＳ２９）、次いで第３の描画情報から論理演算コードを含むコマンドを生成し（ステップＳ３０）、しかる後本フローの処理を終了して第１、第２および第３の描画情報をＲＯＰ描画する処理に移行する。
【００４６】
ステップＳ２６，Ｓ２７のいずれもＲＯＰ置換を行うと判定した場合は、第１〜第３の描画情報１〜３から論理演算を必要としない描画コマンドへ変換し（ステップＳ３１）、一連の描画処理を終了する。
【００４７】
上述したように、画像を構成する画素間の論理演算処理の指示を含む描画命令を受け取って画像処理を行う際に、描画命令中の描画論理演算指示が論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮可能、即ち高速に描画可能な指示内容であるか否かを判定し、論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも高速に描画可能であると判定された場合に、その描画論理演算指示および描画オブジェクトを、描画論理演算を必要としない指示および描画オブジェクトに変換することにより、次のような作用効果が得られる。
【００４８】
すなわち、入力画像の解像度が出力装置の解像度よりも高い場合において、図４に示すようなＲＯＰ置換描画ではなく、図５に示すような直接ＲＯＰ描画を選択することにより、解像度が高い入力画像に対してＲＯＰ置換を行わなくて済むことになるため、ＲＯＰ置換を行った場合に比べて処理時間を短縮できる。その結果、特定のＲＯＰ指定描画命令を含む画像の描画処理を常に高速に行うことができる。
【００４９】
ここで、入力画像の解像度が出力装置の解像度に比べて高い場合としては、例えば、出力装置として表示装置を用いた画像処理システムにおいて、データファイルの内容を表示装置に表示出力するいわゆるビューア（Ｖｉｅｗｅｒ）や、出力装置としてプリンタ装置を用いた画像処理システムにおいて、Ｎページ分の画像を縮小して１枚の記録紙に印刷出力するいわゆるＮアップ合成などが挙げられる。
【００５０】
［適用例］
図８は、上記実施形態に係る画像処理装置が適用される画像形成システムの構成の一例を示すブロック図である。図８から明らかなように、本適用例に係る画像形成システムは、ホストコンピュータ１０と画像形成装置であるプリンタ２０とを有し、これらがインターフェイス（図示せず）を介して伝送路３０によって接続され、ホストコンピュータ１０において取得あるいは生成した画像を、出力装置、例えばプリンタ２０において紙などの記録媒体上に印刷出力する構成となっている。
【００５１】
ホストコンピュータ１０は、アプリケーションプログラム１１、プリンタドライバ１２、オペレーティングシステム１３および入出力ハードウェア１４を内蔵している。ホストコンピュータ１０には、外部機器として、キーボードやマウスなどの入力装置４０、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等の表示装置５０、ハードディスクやＣＤ−ＲＯＭなどの外部記憶装置６０などが接続されている。
【００５２】
これらの入出力ハードウェア１４や各種の外部機器（４０，５０，６０）、および各種のソフトウェアは、オペレーティングシステム１３によって制御および管理されている。このオペレーティングシステム１３による制御および管理の下で、アプリケーションプログラム１１が動作する。アプリケーションプログラム１１は、文字や画像などを印刷する指示を行うことができる。ここでは、印刷する内容は、ページ記述言語（ＰＤＬ；Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）などによって記述された描画情報として出力されるものとする。
【００５３】
プリンタドライバ１２は、プリンタ２０に付属して提供されるものであり、ホストコンピュータ１０にロードされて機能するプログラムである。通常、プリンタドライバ１２は、特定のプリンタ２０での使用が予想される様々なデータ形式にホストコンピュータ１０を対応させるために使用される。プリンタドライバ１２は、アプリケーションプログラム１１から描画情報を受け取ると、プリンタ２０に送信する前に、様々な処理ステップを実行する。例えば、アプリケーションプログラム１１から受け取った描画情報をプリンタ２０で解釈可能なコマンドおよび描画オブジェクトの列に変換して送信することができる。あるいは、描画情報のデータ形式のままプリンタ２０へ送信しても良い。
【００５４】
プリンタ２０では、ホストコンピュータ１１から伝送路３０を介して伝送されてくる描画情報あるいはコマンドと描画データの列を受信し、紙などの記録媒体上に画像を形成（印刷出力）する。そのために、ページメモリ２２、プリンタエンジン２３および制御ハードウェア２４などのハードウェアと、制御ハードウェア２４上で動作するレンダリングプログラム２１などのソフトウェアとを有している。
【００５５】
レンダリングプログラム２１は、プリンタ２０が受信した描画情報やコマンドと描画データの列などを認識してコマンドを解釈し、この解釈したコマンドの内容に従ってグラフィックス描画、文字描画、イメージ描画等の描画処理を行うとともに、この描画処理で描画した画像をラスタ化してページメモリ２２に記憶させる処理を行う。このとき、例えばカラー印刷を行うのであれば、それぞれの色ごとに、例えばＣ（シアン）Ｍ（マゼンタ）Ｙ（イエロー）Ｋ（ブラック）の４プレーンにラスタ化し、ページメモリ２２に記憶させる。
【００５６】
プリンタエンジン２３は、ページメモリ２２に格納された画像データに従って実際に記録媒体上に画像を形成する。プリンタエンジン２３としては、周知の電子写真技術を利用してラスターデータを記録するもの、あるいは、周知のインクジェット方式の印刷技術を利用してラスターデータを記録するものなど、種々の記録方式のものを採用することができる。
【００５７】
このような画像形成システムにおいて、ホストコンピュータ１０に導入されているプリンタドライバ１２に対して、先述した実施形態に係る画像処理装置あるいは画像処理方法を適用することができる。この適用により、プリンタドライバ１２は、図１に示した画像処理装置の全部の処理または描画オブジェクト変換部４までの処理を実行することができる。
【００５８】
この場合、図１に示す描画論理演算部６および背景画像データ格納部５については、ホストコンピュータ１０またはプリンタ２０のいずれに設けても良い。なお、描画オブジェクト記憶部２を設ける場合には、例えばホストコンピュータ１０内のメモリや外部記憶装置６０の記憶領域の一部を用いて実現することができる。また、背景画像データ格納部６をホストコンピュータ１０側に設ける場合も同様である。
【００５９】
上記構成の画像形成システムにおいて、アプリケーションプログラム１１は、出力装置、即ちプリンタ２０に出力するためのプリンタドライバ１２に描画コマンド検索処理部を備えている。この描画コマンド検索処理部は、アプリケーションプログラム１１から出力されるコマンドを全てチェックしてＲＯＰ指定描画コマンドをカウントする。以上の条件からＲＯＰ置換を行うか否かを判定して、その判定結果をスプールファイルまたは出力ファイルの中に書き込む。プリンタ２０はそれらのファイルの中から判定結果を読みとってＲＯＰ置換を行うか否かを決める。
【００６０】
上記適用例では、先述した実施形態に係る画像処理装置あるいは画像処理方法をホストコンピュータ１０に導入されているプリンタドライバ１２に適用する場合を例に挙げて説明したが、プリンタ２０に適用することも可能である。この場合、当該画像処理装置としての機能を、制御ハードウェア２４上で動作する例えばレンダリングプログラム２１などのソフトウェアが持つことになり、プリンタドライバ１２は従来と同様の処理を行うことになる。
【００６１】
このように、先述した実施形態に係る画像処理装置あるいは画像処理方法をプリンタ２０に適用した場合には、ホストコンピュータ１０から送られてくる描画情報に基づくプリンタ２０における処理として、描画情報の中の１つの描画論理演算指示あるいは連続する複数の描画論理演算指示が、論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮可能（高速に描画可能）な指示内容であるときに、その描画論理演算指示および描画オブジェクトを、描画論理演算を行わない指示および描画オブジェクトに変換するようにすれば良い。これにより、入力解像度が出力解像度に比べて高い場合であっても、解像度が高い入力画像に対してＲＯＰ置換を行わなくて済むため処理時間が増すことはなく、特定のＲＯＰ指定描画命令を含む画像の描画処理を常に高速に行うことが可能になる。
【００６２】
なお、上記適用例では、出力装置として印刷装置（プリンタ装置）を用いた画像形成システムの場合を例に挙げたが、出力装置として表示装置を用いた画像形成システムであっても良く、同様の作用効果を得ることができる。
【００６３】
【発明の効果】
以上説明したように、本発明によれば、画像を構成する画素間の論理演算処理の指示を含む描画命令を受け取って処理を行う際に、描画命令中の描画論理演算指示が論理演算処理を行わなくても処理可能で、かつ、論理演算処理を行わない場合に行った場合よりも処理時間を短縮可能と判定した場合に、その描画オブジェクトおよび描画論理演算指示を、描画論理演算を必要としない指示および描画オブジェクトに変換することにより、特定のＲＯＰ指定描画命令を含む画像の描画を常に高速に行える。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る画像処理装置の構成の概略を示すブロック図である。
【図２】ＲＯＰ置換判定マトリクスの一例を示す図である。
【図３】出力倍率に対するＲＯＰ置換の有無による全体の処理時間を比較した特性図である。
【図４】ＲＯＰ置換描画の処理の一例を示す図である。
【図５】直接ＲＯＰ描画の処理の一例を示す図である。
【図６】本発明に係る画像処理方法の処理手順の一例を示すフローチャート（その１）である。
【図７】本発明に係る画像処理方法の処理手順の一例を示すフローチャート（その２）である。
【図８】本発明が適用される画像形成システムの構成の一例を示すブロック図である。
【図９】入力画像の解像度が出力装置の解像度に比べて高い場合のＲＯＰ置換描画の処理例を示す図である。
【図１０】入力画像の解像度が出力装置の解像度に比べて高い場合の直接ＲＯＰ描画の処理例を示す図である。
【符号の説明】
１…描画命令変換部、２…描画オブジェクト記憶部、３…描画論理演算指示判定部、４…描画オブジェクト変換部、５…背景画像データ格納部、６…描画論理演算部、１０…ホストコンピュータ、１１…アプリケーションプログラム、１２…プリンタドライバ、１３…オペレーティングシステム、１４…入出力ハードウェア、２０…プリンタ、２１…レンダリングプログラム、２２…ページメモリ、２３…プリンタエンジン、２４…制御ハードウェア
【図１】
2004174962.tif 000003
【図２】
2004174962.tif 000004
【図３】
2004174962.tif 000005
【図４】
2004174962.tif 000006
【図５】
2004174962.tif 000007
【図６】
2004174962.tif 000008
【図７】
2004174962.tif 000009
【図８】
2004174962.tif 000010
【図９】
2004174962.tif 000011
【図１０】
2004174962.tif 000012