JP2009073083A - 画像形成装置、画像形成方法、および画像形成プログラム - Google Patents
画像形成装置、画像形成方法、および画像形成プログラム Download PDFInfo
- Publication number
- JP2009073083A JP2009073083A JP2007245210A JP2007245210A JP2009073083A JP 2009073083 A JP2009073083 A JP 2009073083A JP 2007245210 A JP2007245210 A JP 2007245210A JP 2007245210 A JP2007245210 A JP 2007245210A JP 2009073083 A JP2009073083 A JP 2009073083A
- Authority
- JP
- Japan
- Prior art keywords
- data
- clip
- vector
- processing
- clipping
- 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
- 238000000034 method Methods 0.000 title claims description 72
- 238000006243 chemical reaction Methods 0.000 claims description 62
- 230000008569 process Effects 0.000 claims description 55
- 238000007689 inspection Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101150110532 CFDP1 gene Proteins 0.000 description 1
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Image Generation (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】ベクタデータのクリップ処理を適用するか否かに分けて処理することで、クリップ処理が苦手なデータ処理性能をカバーし、データの処理性能を向上させるようにする。
【解決手段】PDLパーサ処理部11がPDLを解析し、描画コマンドを識別し、クリッピングモード判定部12でクリップコマンドおよび描画コマンドの座標データからバウンディングボックスを作成して、効率良いデータ処理のためにクリップ処理を実行するか否かを判断する。クリップ処理を実行しない場合は、描画データをスキャンライン変換する。クリップ処理を実行する場合は、ベクタクリップ処理部14でクリッピングし、描画データとクリップデータの交差領域を作成し、スキャンライン変換する。スキャンライン変換後のランレングスデータは、ラスタ展開部15でディザリングしながらフレームデータに展開する。
【選択図】 図2
【解決手段】PDLパーサ処理部11がPDLを解析し、描画コマンドを識別し、クリッピングモード判定部12でクリップコマンドおよび描画コマンドの座標データからバウンディングボックスを作成して、効率良いデータ処理のためにクリップ処理を実行するか否かを判断する。クリップ処理を実行しない場合は、描画データをスキャンライン変換する。クリップ処理を実行する場合は、ベクタクリップ処理部14でクリッピングし、描画データとクリップデータの交差領域を作成し、スキャンライン変換する。スキャンライン変換後のランレングスデータは、ラスタ展開部15でディザリングしながらフレームデータに展開する。
【選択図】 図2
Description
本発明は、画像形成装置、画像形成方法、およびその画像形成方法をコンピュータに実行させる画像形成プログラムに関するものである。
従来、レーザプリンタやインクジェットプリンタ等のページプリンタでは、ページ記述言語(PDL:Page Description Language)を利用して、印刷する画像データを表すことが行われている。このようなページプリンタでは、PDLを用いて表された画像データを構成する図形描画命令(以下、描画コマンドという)を解析し、この解析により認識された図形により構成される印刷描画イメージを生成し、ページメモリに格納した後、プリンタエンジンに転送することで画像データの印刷が行われている。
上記したPDLでは、文字、イメージ、グラフィックス等を描画コマンドにより表現することが可能となっている。例えば、ベクタグラフィックスでは、矩形図形の描画を対角点の指定により直接指示する「矩形データ」や、指定した座標位置の結線により図形を表す「ポリゴンデータ」、曲線を表す「ベジェデータ」等の描画コマンドにより、夫々対応する図形が表される。
ポリゴンデータ、ベジェデータ等の描画コマンドにより表された図形は、印刷描画イメージの生成時において、主走査方向(スキャンライン)毎に分割されたラスタ画像により表されるスキャンラインデータへと変換(スキャンライン変換)される。このように、スキャンライン毎に変換された各ラスタ画像をランレングスデータという。上記したスキャンライン変換を利用して処理の高速化を図る画像処理装置が開示されている(例えば、特許文献1参照)。
また、ベクタグラフィックスの塗りつぶし領域を限定するためにクリップという概念がある。このクリップも「矩形データ」、「ポリゴンデータ」、「ベジェデータ」として表現される。塗りつぶし用に定義されたベクタグラフィックスをクリッピングして特定の領域だけを描画する方法としては、塗りつぶし用のベクタグラフィックスと、クリップ用のベクタグラフィックスとをそれぞれスキャンライン変換し、得られたデバイスランレングス同士のAND(領域交差をとる)をとる方法が一般に知られている。つまり、図形とクリップ領域の交わる部分を塗りつぶしとして使用する方法である。このようなクリップを利用して処理の高速化を図る画像処理装置が開示されている(例えば、特許文献2参照)。
しかしながら、クリップ領域が塗りつぶし領域より小さい場合は、本来使用しない領域まで作成されてしまい、必要ない領域分の処理やメモリ領域が無駄になる恐れがあった。例えば、ある領域のグラデーションを表現する場合、以下の(1)〜(3)のステップを無数に繰り返す。但し(3)のベジェ曲線はいつも同じものを指定するようにする。
(1)色を指定する
(2)極小の矩形クリップで領域を定義する
(3)ベジェ曲線で領域を定義する
このような方法により、ベジェ曲線で表現される領域をグラデーションで描画することができる。
(1)色を指定する
(2)極小の矩形クリップで領域を定義する
(3)ベジェ曲線で領域を定義する
このような方法により、ベジェ曲線で表現される領域をグラデーションで描画することができる。
これを上記ランレングスデータに変換するプロセスに当てはめると、(2)と(3)のスキャンライン変換を毎回行うことになる。一回のスキャンライン変換で必要な領域は、(2)のクリップと(3)のベジェ曲線の交わる領域だけであるが、クリップとベジェ曲線それぞれにスキャンライン変換が実行され、それぞれ得られたデバイスピクセル同士の交差領域を求めることになる。この処理を無数に繰り返すことでグラデーションが描画される。(3)のベジェ曲線が複雑であればあるほど処理コストが大きくなる。従って、この方法ではスキャンライン変換の処理コストが大きくなるため、処理時間がかかるという問題があった。
そこで、この問題に対処するため、スキャンライン前にクリップと塗りつぶし領域をベクタグラフィックスの段階で交わる領域を求める手法が知られている。例えば、矩形クリップとポリゴンの交わる領域を求めるポリゴンクリップアルゴリズムがいくつか知られている。このアルゴリズムを使用すると上記問題は劇的に改善する。なぜなら、スキャンライン変換を実施する前にクリップと塗りつぶし領域の交差領域を求めることができるため、スキャンラインの実行は必要な領域のみで、必要な回数だけ行われるためである。上記(3)のベジェ曲線の領域としてみると、ベジェ曲線を一回だけスキャンラインしたのと同じ効果となる。
しかし、上記アルゴリズムがいつも有効というわけではなく、逆にこのアルゴリズムを適用することで従来よりも処理が遅くなる場合がある。例えば、矩形クリップが塗りつぶし領域を含む場合は、このアルゴリズムを適用したとしてもスキャンライン結果は同じとなり、そのためアルゴリズムが適用される分だけ遅くなるという問題があった。
本発明は、上記に鑑みてなされたものであって、条件に応じてベクタデータのクリップ処理を適用する場合と、適用しない場合とに分けて処理することにより、ベクタデータのクリップ処理が苦手なデータ処理性能をカバーして、データの処理性能を向上させることが可能な画像形成装置、画像形成方法、および画像形成プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、ページ記述言語で表現された画像データを解析し、クリップコマンド、描画コマンド、および描画設定系コマンドの種別を識別するコマンド解析手段と、前記コマンド解析手段で識別された前記クリップコマンドおよび前記描画コマンドの座標データに基づいて、ベクタデータのクリップ処理を実行するか否かの判断に必要な情報を作成し、判定を行うクリッピングモード判定手段と、前記クリッピングモード判定手段がクリップ処理を実行すると判定した場合は、ベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求めるベクタクリップ処理手段と、前記クリッピングモード判定手段がクリップ処理を実行しないと判定した場合は、ベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換し、前記ベクタクリップ処理手段でクリップ処理を実行した場合は、求めた交差領域をランレングス形式のデータに変換するスキャンライン変換手段と、スキャンライン変換後のランレングスデータをラスターイメージに展開するラスタ展開手段と、を備えたことを特徴とする。
また、請求項2にかかる発明は、請求項1に記載の画像形成装置において、前記クリッピングモード判定手段は、ベクタグラフィックスの塗りつぶし図形の外側を囲むバウンディングボックスの面積と、ベクタグラフィックスのクリップの外側を囲むバウンディングボックスの面積とを求め、両者を比較して、クリップ用のバウンディングボックスの面積の方が大きい場合は、ベクタデータのクリップ処理を実行しないと判定し、クリップ用のバウンディングボックスの面積の方が小さいか等しい場合は、ベクタデータのクリップ処理を実行すると判定することを特徴とする。
また、請求項3にかかる発明は、請求項1に記載の画像形成装置において、前記クリッピングモード判定手段は、ベクタグラフィックスの塗りつぶし図形の外側を囲むバウンディングボックスのY座標方向の高さと、ベクタグラフィックスのクリップの外側を囲むバウンディングボックスのY座標方向の高さとを求め、両者を比較して、クリップ用のバウンディングボックスのY座標方向の高さの方が高い場合は、ベクタデータのクリップ処理を実行しないと判定し、クリップ用のバウンディングボックスのY座標方向の高さの方が低いか等しい場合は、ベクタデータのクリップ処理を実行すると判定することを特徴とする。
また、請求項4にかかる発明は、請求項3に記載の画像形成装置において、前記クリッピングモード判定手段は、塗りつぶし図形の回転角度を考慮して、比較するバウンティングボックスの高さ方向を決定することを特徴とする。
また、請求項5にかかる発明は、請求項1に記載の画像形成装置において、前記クリッピングモード判定手段は、ベクタグラフィックスの塗りつぶし図形の線分の数を求め、その線分の数が閾値より大きい場合にのみベクタデータのクリップ処理を実行すると判定することを特徴とする。
また、請求項6にかかる発明は、ページ記述言語で表現された画像データを解析し、クリップコマンド、描画コマンド、および描画設定系コマンドの種別を識別するコマンド解析手段と、前記コマンド解析手段から受け取ったコマンドの順番を保持したまま中間形式として保存するデータスプール手段と、前記データスプール手段に保存された前記クリップコマンドおよび前記描画用コマンドの座標データに基づいて、ベクタデータのクリップ処理を実行するか否かの判断に必要な情報を作成し、判定を行うクリッピングモード判定手段と、前記クリッピングモード判定手段がクリップ処理を実行すると判定した場合は、ベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求めるベクタクリップ処理手段と、前記クリッピングモード判定手段がクリップ処理を実行しないと判定した場合は、ベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換し、前記ベクタクリップ処理手段でクリップ処理を実行した場合は、求めた交差領域をランレングス形式のデータに変換するスキャンライン変換手段と、スキャンライン変換後のランレングスデータをラスターイメージに展開するラスタ展開手段と、を備えたことを特徴とする。
また、請求項7にかかる発明は、請求項6に記載の画像形成装置において、前記クリッピングモード判定手段は、前記データスプール手段に保存された中間形式のベクタグラフィックスを参照し、ベクタグラフィックスの塗りつぶし図形の中で同じ座標点をもつデータが閾値以上続く場合に、ベクタデータのクリップ処理を実行すると判定することを特徴とする。
また、請求項8にかかる発明は、ページ記述言語で表現された画像データを解析し、クリップコマンド、描画コマンド、および描画設定系コマンドの種別を識別するコマンド解析ステップと、前記コマンド解析ステップで識別された前記クリップコマンドおよび前記描画コマンドの座標データに基づいて、ベクタデータのクリップ処理を実行するか否かの判断に必要な情報を作成し、判定を行うクリッピングモード判定ステップと、前記クリッピングモード判定ステップでクリップ処理を実行すると判定した場合は、ベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求めるベクタクリップ処理ステップと、前記クリッピングモード判定ステップでクリップ処理を実行しないと判定した場合は、ベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換し、前記ベクタクリップ処理手段でクリップ処理を実行した場合は、求めた交差領域をランレングス形式のデータに変換するスキャンライン変換ステップと、スキャンライン変換後のランレングスデータをラスターイメージに展開するラスタ展開ステップと、を含むことを特徴とする。
また、請求項9にかかる発明は、ページ記述言語で表現された画像データを解析し、クリップコマンド、描画コマンド、および描画設定系コマンドの種別を識別するコマンド解析ステップと、前記コマンド解析ステップから受け取ったコマンドの順番を保持したまま中間形式として保存するデータスプールステップと、前記データスプールステップで保存された前記クリップコマンドおよび前記描画用コマンドの座標データに基づいて、ベクタデータのクリップ処理を実行するか否かの判断に必要な情報を作成し、判定を行うクリッピングモード判定ステップと、前記クリッピングモード判定ステップでクリップ処理を実行すると判定した場合は、ベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求めるベクタクリップ処理ステップと、前記クリッピングモード判定ステップでクリップ処理を実行しないと判定した場合は、ベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換し、前記ベクタクリップ処理ステップでクリップ処理を実行した場合は、求めた交差領域をランレングス形式のデータに変換するスキャンライン変換ステップと、スキャンライン変換後のランレングスデータをラスターイメージに展開するラスタ展開ステップと、を含むことを特徴とする。
また、請求項10にかかる発明は、請求項8または請求項9に記載の画像形成方法をコンピュータに実行させることを特徴としている。
請求項1にかかる発明によれば、クリッピングモード判定手段によりクリップコマンドおよび描画コマンドの座標データに基づいて、ベクタデータのクリップ処理を実行するか否かを判定し、クリップ処理を実行する場合は、ベクタクリップ処理手段によりベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求め、スキャンライン変換手段でランレングス形式のデータに変換する。クリップ処理を実行しない場合は、スキャンライン変換手段によりベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換する。スキャンライン変換されたランレングスデータは、ラスタ展開手段によりラスターイメージに展開する。このように、ベクタデータのクリップが適用できる条件を指定して、クリップ処理を適用する場合と、しない場合とに分けて処理することにより、ベクタデータのクリップ処理を苦手とするデータに対しても処理速度を向上させることができるという効果を奏する。
また、請求項2にかかる発明によれば、クリッピングモード判定手段により、ベクタグラフィックスの塗りつぶし図形の外側を囲むバウンディングボックスの面積と、クリップの外側を囲むバウンディングボックスの面積とを比較し、クリップ用のバウンディングボックスの面積の方が大きい場合は、ベクタデータのクリップ処理を実行しないと判定し、クリップ用のバウンディングボックスの面積の方が小さいか等しい場合は、ベクタデータのクリップ処理を実行すると判定するようにしたため、データに対する処理速度を向上させることができるという効果を奏する。
また、請求項3にかかる発明によれば、クリッピングモード判定手段で塗りつぶし図形の外側を囲むバウンディングボックスのY座標方向の高さと、クリップの外側を囲むバウンディングボックスのY座標方向の高さとを比較し、クリップ用のバウンディングボックスのY座標方向の高さの方が高い場合は、ベクタデータのクリップ処理を実行しないと判定し、クリップ用のバウンディングボックスのY座標方向の高さの方が低いか等しい場合は、ベクタデータのクリップ処理を実行すると判定するようにしたため、データに対する処理速度を向上させることができるという効果を奏する。
また、請求項4にかかる発明によれば、クリッピングモード判定手段で塗りつぶし図形の回転角度を考慮し、比較するバウンティングボックスの高さ方向を決定するようにしたため、塗りつぶし図形を回転させた場合でも、回転角度に応じてバウンティングボックスの高さ方向が適正に決まり、比較することができるので、クリップ処理を適用する場合と、しない場合とに分けて処理することにより、データに対する処理速度を向上させることができるという効果を奏する。
また、請求項5にかかる発明によれば、クリッピングモード判定手段は、ベクタグラフィックスの塗りつぶし図形の線分の数を求めて、その線分の数が閾値より大きい場合にのみベクタデータのクリップ処理を実行すると判定するようにしたため、処理速度の劣化を防ぐことができるという効果を奏する。
また、請求項6にかかる発明によれば、コマンド解析手段はページ記述言語で表現された画像データを解析してコマンドの種別を識別し、データスプール手段はコマンド解析手段から受け取ったコマンドの順番を保持したまま保存し、クリッピングモード判定手段によりデータスプール手段に保存されたクリップコマンドおよび描画コマンドの座標データに基づいて、ベクタデータのクリップ処理を実行するか否かを判定する。クリップ処理を実行する場合は、ベクタクリップ処理手段によりベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求め、スキャンライン変換手段でランレングス形式のデータに変換する。クリップ処理を実行しない場合は、スキャンライン変換手段によりベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換する。スキャンライン変換されたランレングスデータは、ラスタ展開手段によりラスターイメージに展開する。このように、データスプール手段は、コマンド解析手段から受け取ったコマンドの順番を保持したまま保存するため、クリッピングモード判定手段に対して複数の描画データのシーケンスを提供し、ベクタデータのクリップが適用できる条件を指定して、クリップ処理を適用する場合と、しない場合とに分けて処理することによって、ベクタデータのクリップ処理を苦手とするデータに対しても処理速度を向上させることができるという効果を奏する。
また、請求項7にかかる発明によれば、クリッピングモード判定手段は、データスプール手段に保存された中間形式のベクタグラフィックスを参照して、ベクタグラフィックスの塗りつぶし図形の中で同じ座標点をもつデータが閾値以上続く場合に、ベクタデータのクリップ処理を実行するよう判定するため、データに対する処理速度を向上させることができるという効果を奏する。
また、請求項8にかかる発明によれば、クリッピングモード判定ステップによりクリップコマンドおよび描画コマンドの座標データに基づいて、ベクタデータのクリップ処理を実行するか否かを判定し、クリップ処理を実行する場合は、ベクタクリップ処理ステップによりベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求め、スキャンライン変換ステップでランレングス形式のデータに変換する。クリップ処理を実行しない場合は、スキャンライン変換ステップによりベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換する。スキャンライン変換されたランレングスデータは、ラスタ展開ステップによりラスターイメージに展開する。このように、ベクタデータのクリップが適用できる条件を指定して、クリップ処理を適用する場合と、しない場合とに分けて処理することにより、ベクタデータのクリップ処理を苦手とするデータに対しても処理速度を向上させることができるという効果を奏する。
また、請求項9にかかる発明によれば、コマンド解析ステップでページ記述言語で表現された画像データを解析してコマンドの種別を識別し、データスプールステップによりコマンド解析ステップから受け取ったコマンドの順番を保持したまま保存し、データスプールステップで保存されたクリップコマンドおよび描画コマンドの座標データに基づいて、クリッピングモード判定ステップでベクタデータのクリップ処理を実行するか否かを判定する。クリップ処理を実行する場合は、ベクタクリップ処理ステップによりベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求め、スキャンライン変換ステップでランレングス形式のデータに変換する。クリップ処理を実行しない場合は、スキャンライン変換ステップによりベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換する。スキャンライン変換されたランレングスデータは、ラスタ展開ステップによりラスターイメージに展開する。このように、データスプールステップでは、コマンド解析ステップによるコマンドの順番を保持したまま保存するため、クリッピングモード判定ステップに対して複数の描画データのシーケンスを提供し、ベクタデータのクリップが適用できる条件を指定して、クリップ処理を適用する場合と、しない場合とに分けて処理することにより、ベクタデータのクリップ処理を苦手とするデータに対しても処理速度を向上させることができるという効果を奏する。
また、請求項10にかかる発明によれば、請求項8または請求項9に記載の画像形成方法をコンピュータに読み取らせて実行することにより、請求項8または請求項9に記載の画像形成方法と同様の効果を奏する。
以下に添付図面を参照して、この発明にかかる画像形成装置、画像形成方法、および画像形成プログラムの最良な実施の形態を詳細に説明する。
(第1の実施の形態)
図1は、第1の実施の形態にかかる画像形成装置のハードウェア構成を示したブロック図である。図1に示すように、画像形成装置100は、CPU1、ROM2、RAM3、通信I/F4、エンジンI/F5、画像形成エンジン6等を備え、各部はバス7を介して相互に通信可能に接続されている。
図1は、第1の実施の形態にかかる画像形成装置のハードウェア構成を示したブロック図である。図1に示すように、画像形成装置100は、CPU1、ROM2、RAM3、通信I/F4、エンジンI/F5、画像形成エンジン6等を備え、各部はバス7を介して相互に通信可能に接続されている。
CPU1は、RAM3の所定領域を作業領域として、ROM2に予め記憶された各種制御プログラムとの協働により、当該ROM2に予め記憶された各種設定情報に基づいて各種処理を実行し、画像形成装置100を構成する各部の動作を統括的に制御する。
ROM2は、画像形成装置100の制御にかかるプログラムや各種設定情報等を書き換え不可能に記憶する。
RAM3は、SDRAM(Synchronous DRAM)等の記憶装置であって、各種データを書き換え可能に記憶する性質を有していることから、CPU1の作業エリアとして機能し、ワークメモリとしての役割を果たす。また、RAM3は、通信I/F4を介して入力された画像データを記憶するフレームメモリとしての役割を果たす。
通信I/F4は、PC(Personal Computer)等の外部機器との間で通信を行うインターフェースであって、外部機器から入力された画像データをCPU1に出力する。なお、入力される画像データは、外部機器においてPDLを用いて記述されているものとする。
エンジンI/F5は、画像データの印刷を行う画像形成エンジン6との間で通信を行うインターフェースであって、CPU1から出力される画像形成エンジン6を制御するための信号を当該画像形成エンジン6に出力するとともに、画像形成エンジン6から出力される各種信号をCPU1に出力する。
画像形成エンジン6は、印刷対象となった画像データ(描画コマンド)により表される画像を電子写真プロセス等により記録媒体上に形成(印刷)するものである。
図2は、図1の画像形成装置の機能構成を説明するブロック図である。図1に示すように、CPU1がROM2に予め記憶された所定のプログラムに従って各部を制御することにより、図2に示すコマンド解析手段としてのPDLパーサ処理部11、クリッッピング判定手段としてのクリッピングモード判定部12、スキャンライン変換手段としてのスキャンライン変換部13、ベクタクリップ処理手段としてのベクタクリップ処理部14、およびラスタ展開手段としてのラスタ展開部15がベクタクリップ画像形成装置10としてRAM3に生成されるようになっている。
PDLパーサ処理部11は、画像データを構成するページ記述言語(PDL)を解析して、描画コマンドを識別するものである。識別するコマンドには、ベジェ、ポリゴン、矩形の描画コマンド、ベジェ、ポリゴン、矩形のクリップコマンド、その他の描画コマンド、あるいは描画設定系コマンドなどがある。これらのデータシーケンスは、(1)描画設定系コマンド→(2)クリップコマンド→(3)描画コマンドの順番で送られてくる。
クリッピングモード判定部12は、PDLパーサ処理部11で最後に指定された描画設定系コマンド、クリップコマンド、描画コマンドを記憶し、クリップコマンドの座標データおよび描画コマンドの座標データからバウンディングボックスを作成して、効率良くデータ処理を行うためにベクタデータのクリップ処理を実行した方が良いか否かの判断に必要な情報を作成し、ベクタクリップ処理の実行判断を行うものである。
スキャンライン変換部13は、ベクタグラフィックスの領域を特定してランレングス形式に変換するものである。クリッピングモード判定部12から、ベクタデータのクリップ処理を実行しないという命令を受け取った場合は、描画データをスキャンライン変換してランレングスデータを得る。クリッピングモード判定部12から、ベクタデータのクリップ処理を実行するという命令を受け取った場合は、次段のベクタクリップ処理部14でクリッピングを実行して、描画データとクリップデータの交差領域のベクタグラフィックスが作成され、これをスキャンライン変換してランレングスデータを得る。
ベクタクリップ処理部14は、ベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形とを受け取り、クリッピングを実行するものである。クリッピング後は、ベクタグラフィックスが作成され、上記したスキャンライン変換部13への入力データとなる。
ラスタ展開部15は、スキャンライン変換部13でスキャンライン変換された後のランレングスデータをディザリングしながらフレームデータに展開するものである。
図3は、第1の実施の形態にかかるクリッピングモード判定部でベクタデータのクリップ処理を実行するか否かを判定するフローチャートであり、図4は、クリップあるいは描画図形の外形を囲むバウンディングボックスの座標データを示す図である。
図2のベクタクリップ画像形成装置10のクリッピングモード判定部12は、図3に示すように、PDLパーサ処理部11からクリップコマンドの座標データを受け取ると(ステップS100)、ベクタグラフィックスとして表現されるクリップの座標データからクリップデータの外側を囲むクリップバウンディングボックスを求める(ステップS102)。例えば、図4に示すように、ハッチング領域をクリップ図形とすると、その外側を囲むバウンディングボックスは、(X1,Y1)−(X2,Y2)で表される矩形として表現することができる。
そして、このクリップ図形のクリップバウンディングボックスの面積を求めて「CS」とする(ステップS104)。
続いて、PDLパーサ処理部11から描画コマンドの座標データを受け取ると(ステップS106)、ベクタグラフィックスとして表現される描画図形の座標データから描画データの外側を囲むドロウバウンディングボックスを求める(ステップS108:図4参照)。
そして、この描画図形のドロウバウンディングボックスの面積を求めて「DS」とする(ステップS110)。
求めたクリップバウンディングボックスの面積=「CS」とドロウバウンディングボックスの面積=「DS」とを比較する(ステップS112)。「CS」が「DS」よりも面積が大きい場合は、ステップS114に移行して、ベクタデータのクリップ処理を実行しないモードを設定し、その設定内容をスキャンライン変換部13に通知する。
「CS」が「DS」の面積と等しいか、小さい場合は、ステップS116に移行して、ベクタデータのクリップ処理を実行するモードを設定し、その設定内容をスキャンライン変換部13に通知する。
その後の処理は、図2のスキャンライン変換部13にベクタデータのクリップ処理を実行しないモードが通知された場合(図3のステップS114参照)、クリッピングを行わずにベクタグラフィックスとして表現される描画データをスキャンライン変換して、ランレングス形式のデータに変換する。
また、図2のスキャンライン変換部13にベクタデータのクリップ処理を実行するモードが通知された場合は(図3のステップS116参照)、ベクタクリップ処理部14にてベクタグラフィックスとして表現される描画データとクリップデータの交差領域を求め、その交差領域をスキャンライン変換して、ランレングス形式のデータに変換する。
上記スキャンライン変換部13にてスキャンライン変換されたランレングスデータは、ラスタ展開部15でディザリングを実行しながらフレームデータに展開される。
このように、第1の実施の形態によれば、クリッピングモード判定部によりクリップバウンディングボックスとドロウバウンディングボックスの面積を求め、クリップバウンディングボックスの面積(CS)がドロウバウンディングボックスの面積(DS)よりも大きい場合は、クリップが描画データを含んでいると考えられ、クリップアルゴリズムを適用してもスキャンライン結果は同じとなる。そのため、アルゴリズムを適用する分だけ処理が遅くなることから、クリッピングモード判定部は、ベクタデータのクリップ処理を適用しないモードと判定する。
また、クリッピングモード判定部により「CS」が「DS」の面積と等しいか、小さい場合は、クリップが描画データを含む関係に無いため、スキャンライン変換前にクリップと描画データの交差領域を求めることにより、スキャンラインの実行は必要な領域のみで、必要な回数だけ行うこととなり、クリッピングモード判定部は、ベクタデータのクリップ処理を適用するモードと判定する。
その結果、第1の実施の形態では、クリッピングモード判定部によりクリップバウンディングボックスとドロウバウンディングボックスの面積を求め、両者を比較して、ベクタデータのクリップ処理を適用するか否かに分けて処理することにより、データの処理性能を向上させることが可能となる。
(第2の実施の形態)
第2の実施の形態の特徴は、第1の実施の形態でクリップバウンディングボックスとドロウバウンディングボックスの面積を比較する代わりに、バウンディングボックスのY座標方向の高さ同士を比較することで、ベクタデータのクリップ処理を適用するか否かを判定するものである。
第2の実施の形態の特徴は、第1の実施の形態でクリップバウンディングボックスとドロウバウンディングボックスの面積を比較する代わりに、バウンディングボックスのY座標方向の高さ同士を比較することで、ベクタデータのクリップ処理を適用するか否かを判定するものである。
この第2の実施の形態におけるバウンディングボックスのY座標方向の高さとは、図形の高さを意味するため、スキャンライン変換を行う際の変換速度に大きく影響を与えるファクターである。そこで、クリップバウンディングボックスのY座標方向の高さがドロウバウンディングボックスの高さよりも高い場合は、クリップが描画データを含んでいると考えられ、クリップアルゴリズムを適用してもスキャンライン結果は同じとなる。そのため、アルゴリズムを適用する分だけ処理が遅くなることから、クリッピングモード判定部は、ベクタデータのクリップ処理を適用しないモードと判定する。
また、クリッピングモード判定部によりクリップバウンディングボックスのY座標方向の高さがドロウバウンディングボックスの高さと等しいか、低い場合は、クリップが描画データを含む関係に無いため、スキャンライン変換前にクリップと描画データの交差領域を求めることにより、スキャンラインの実行は必要な領域のみで、必要な回数だけ行うこととなり、クリッピングモード判定部は、ベクタデータのクリップ処理を適用するモードと判定する。
その結果、第2の実施の形態では、クリッピングモード判定部によりクリップバウンディングボックスとドロウバウンディングボックスのY座標方向の高さを求め、両者を比較して、ベクタデータのクリップ処理を適用するか否かに分けて処理することにより、データの処理性能を向上させることが可能となる。
(第3の実施の形態)
第3の実施の形態の特徴は、第2の実施の形態でクリッピングモード判定部によりクリップバウンディングボックスのY座標方向の高さとドロウバウンディングボックスの高さとを比較して、ベクタデータのクリップ処理を適用するか否かを判定する際に、描画図形を回転した場合でも適正な判定ができるようにしたものである。
第3の実施の形態の特徴は、第2の実施の形態でクリッピングモード判定部によりクリップバウンディングボックスのY座標方向の高さとドロウバウンディングボックスの高さとを比較して、ベクタデータのクリップ処理を適用するか否かを判定する際に、描画図形を回転した場合でも適正な判定ができるようにしたものである。
図5は、第3の実施の形態にかかるクリッピングモード判定部で描画図形の回転を考慮しながらベクタデータのクリップ処理を実行するか否かを判定するフローチャートである。図5に示すように、ページ記述言語(PDL)のレイアウト方向と出力用紙のレイアウト方向から描画データの回転方向(DIR)を計算する(ステップS200)。例えば、PDLのレイアウトが縦方向(Portrait)で出力用紙が横方向(Landscape)の場合は、90度または270度の回転になる。また、PDLレイアウトが横方向(Landscape)、出力用紙が縦方向(Portrait)の場合も90度または270度の回転になる。但し、PDLのレイアウトと出力用紙方向とが同じ場合は、描画図形の回転は発生しない。
上記ステップS200で描画データの回転方向と回転角度を求めた後は、クリップデータを受け取り(ステップS202)、そのクリップバウンディングボックスを求める(ステップS204)。
そして、ステップS206において、描画データの回転方向(DIR)が90度または270度の回転になるか否かを判定する(ステップS206)。その結果、90度または270度回転した場合は、クリップバウンディングボックスの幅(図4のX2−X1参照)が、クリップをスキャンラインした結果の高さと等しくなる(ステップS208)。しかし、ステップS206で回転が発生しなかった場合は、クリップバウンディングボックスの高さ(図4のY2−Y1参照)が、クリップをスキャンラインした結果の高さと等しくなる(ステップS210)。
続いて、描画データを受け取ると(ステップS212)、そのドロウバウンディングボックスを求める(ステップS214)。
ステップS216では、描画データの回転方向(DIR)が90度または270度の回転になるか否かを判定する。その結果、90度または270度回転した場合は、ドロウバウンディングボックスの幅(図4のX2−X1参照)が、ドロウをスキャンラインした結果の高さと等しくなる(ステップS218)。しかし、ステップS216で回転が発生しなかった場合は、ドロウバウンディングボックスの高さ(図4のY2−Y1参照)が、ドロウをスキャンラインした結果の高さと等しくなる(ステップS220)。
そして、ステップS222では、以上のように算出したクリップとドロウのスキャンラインの高さを比較する。その結果、クリップのスキャンラインの高さの方が高い場合は、クリップが描画データを含んでいると考えられ、クリップアルゴリズムを適用してもスキャンライン結果は同じとなる。そのため、アルゴリズムを適用する分だけ処理が遅くなることから、クリッピングモード判定部は、ベクタデータのクリップ処理を適用しないモードを設定する(ステップS224)。
また、ステップS222でクリップのスキャンラインの高さがドロウのスキャンラインの高さと等しいか、低い場合は、クリップが描画データを含む関係に無いため、スキャンライン変換前にクリップと描画データの交差領域を求めることにより、スキャンラインの実行は必要な領域のみで、必要な回数だけ行うこととなり、クリッピングモード判定部は、ベクタデータのクリップ処理を適用するモードを設定する(ステップS226)。
その結果、第3の実施の形態では、描画図形を回転した場合であっても、その回転方向と回転角度とを検出し、描画図形の回転状態に応じてベクタデータのクリップ処理を適用するか否かに分けて処理することで、データの処理性能を向上させることが可能となる。特に、図形の高さがスキャンライン変換の速度に大きく影響を与えることから、この第3の実施の形態では、図形を90度または270度回転させた場合、図形の幅と高さが逆となるため、図形の高さ方向を正確に把握することで、ベクタデータのクリップ処理を適用するか否かが適正に判断できるようにしたものである。
(第4の実施の形態)
第4の実施の形態の特徴は、図形の線分の数を求め、その線分の数が閾値Nより小さいか否かにより、ベクタデータのクリップ処理を適用するか否かを判断するようにしたものである。
第4の実施の形態の特徴は、図形の線分の数を求め、その線分の数が閾値Nより小さいか否かにより、ベクタデータのクリップ処理を適用するか否かを判断するようにしたものである。
図6は、第4の実施の形態にかかるクリッピングモード判定部で描画図形の線分の数に応じてベクタデータのクリップ処理を実行するか否かを判定するフローチャートである。図6に示すように、クリッピングモード判定部12が描画データを受け取ると(ステップS300)、その描画図形の線分数を求める(ステップS302)。
例えば、矩形の線分数は4または5で表現することができる。矩形の線分数を5とする場合は、始点と終点が一致し、その始点と終点間を線分と数える場合である。そこで、ステップS304における閾値Nを5(N=5)とすることで、線分数が5より小さい図形(矩形かそれ以下の線分を持つ図形)などの簡単な図形では、ベクタデータのクリップ処理を適用しないとして(ステップS306)、データの処理速度が劣化するのを防ぐことができる。
また、ステップS304において、線分数が6以上の図形(矩形よりも線分数の多い図形)の場合は、ベクタデータのクリップ処理を適用することにより(ステップS308)、スキャンライン変換を実施する前にクリップと描画図形の交差領域を求めることができるため、スキャンラインの実行は必要な領域のみで、必要な回数だけで済むため、データの処理性能を向上させることが可能となる。
その結果、第4の実施の形態では、描画図形の線分数からベクタデータのクリップ処理を適用するか否かに分けて処理することで、データの処理速度の劣化を防ぐと共に、処理性能を向上させることが可能となる。
(第5の実施の形態)
第5の実施の形態の特徴は、第1の実施の形態における図2の画像形成装置の構成にデータスプール部が追加された点である。
第5の実施の形態の特徴は、第1の実施の形態における図2の画像形成装置の構成にデータスプール部が追加された点である。
図7は、第5の実施の形態にかかる画像形成装置の機能構成を説明するブロック図である。図7に示すPDLパーサ処理部21、クリッピングモード判定部23、スキャンライン変換部24、ベクタクリップ処理部25、ラスタ展開部26の構成は、図2で説明したPDLパーサ処理部11、クリッピングモード判定部12、スキャンライン変換部13、ベクタクリップ処理部14、ラスタ展開部15とほぼ同じであるので説明を省略する。
第5の実施の形態で追加されたデータスプール部22は、図7のPDLパーサ部21から受け取った描画コマンドや設定コマンドの順番を保存したまま、メモリ上またはファイル上に保存する処理を実行できるようにしたものである。これにより、クリッピングモード判定部23に対して複数の描画データのシーケンスを提供することが可能となる。
図8は、描画コマンドや設定コマンドが順番を保存したままスプールメモリ上に逐次配置された状態を示すメモリレイアウト例の図である。図8に示すスプールメモリの先頭アドレスから、色設定1、矩形クリップ1、描画図形のベジェ1が配置されている。以下、色設定と矩形クリップについては変化するが、ベジェ1のデータについては、同じ座標データをもつコマンドシーケンスがスプール上に繰り返し配置されている様子を示している。これは、グラデーション描画の例に相当するものである。
上記した図7のデータスプール部22でスプールが終了すると、描画処理が開始される。これを図8で見ると、スプール先頭アドレスから検査開始アドレスまでの間にあるデータは、既に処理済のデータであることを示している。この検査開始アドレスは、スプール上にある描画データ(ここでは、ベジェ1のデータ)が同じか否かの検査を開始したアドレスを示している。このため、処理の開始時点においては、スプール先頭アドレスと検査開始アドレスとが一致する。また、図8中のカレントスプールアドレスは、検査中のコマンドのアドレスを指すポインタである。
図9は、第5の実施の形態の動作を説明するフローチャートである。まず、図9のフローチャートのスタート時点では、スプール上にあるコマンドを検索するループの先頭となる。この時点では、検査開始アドレスとカレントスプールアドレスがスプール先頭アドレスと一致している。そして、ステップS400において、スプールデータの検索が終了したか否かが検査される。
ステップS400において、検査開始アドレスがスプールの終了アドレスと一致した場合は、処理が終了する。また、ステップS400において、検査開始アドレスがスプールの終了アドレスと一致せず、スプールデータの検索が終了していない場合は、ステップS402に移行して、スプールデータが描画コマンドか否かを検査する。この検査は、カレントスプールアドレスが指すコマンドを検査するものである。
ステップS402において描画コマンドでない場合は、次のコマンドを検査するためにステップS410へ移行して、カレントスプールアドレスを次のコマンドへ移動させ、ステップS400に戻る。
ステップS402で描画コマンドの場合は、ステップS404に移行し、描画コマンドのカウンタをインクリメント(+1)する。そして、ステップS406では、描画コマンドと一個前の描画コマンドの座標データが完全に一致するか否かを検査する。
ステップS406において、描画コマンドと一個前の描画コマンドの座標データが完全に一致する場合は、ステップS408へ移行し、同一の描画コマンドの個数を数えるBcnt(ブレイクカウンタ)をインクリメント(+1)した後、ステップS410へ移行して、カレントスプールアドレスを次のコマンドへ移動させ、ステップS400に戻る。
また、ステップS406において、描画コマンドと一個前の描画コマンドの座標データが一致しない場合は、ステップS412へ移行し、スプールデータの検査開始点アドレスから現在の検査アドレス(カレントスプールアドレス)までの描画コマンドに対して、描画コマンドがあるか否かを検査する。即ち、描画コマンドのカウンタ値が0より大きいか否かで判断する。
ステップS412において、描画コマンドがある場合、即ち、描画コマンドのカウンタ値が0より大きい場合は、ステップS414に移行する。そして、ステップS414で、同じ描画図形が閾値N個以上ある場合は、ステップS416に移行し、ベクタデータをクリップ描画するモードの設定をONし、スキャンライン変換部24に通知して、ステップS420に移行する。
また、ステップS414において、同じ描画図形が閾値N個未満の場合は、ステップS418に移行し、ベクタデータをクリップ描画するモードの設定をOFFし、スキャンライン変換部24に通知して、ステップS420に移行する。
ステップS420では、スプール上の検査済みデータ先頭アドレス(開始点)から検査終了アドレス(現在のデータ)との間の描画コマンドに対してスキャンラインを開始し、ステップS422に移行する。
また、ステップS412において、描画コマンドがない場合、即ち、描画コマンドのカウンタ値が0の場合は、ステップS422に移行する。
そして、ステップS422では、検査開始アドレスをカレントスプールアドレスに設定し、ステップS424で描画コマンドのカウンタとブレイクカウンタを「0」に初期化した後、ステップS410へ移行して、カレントスプールアドレスを次のコマンドへ移動させ、ステップS400に戻る。
その結果、第5の実施の形態では、データスプール部22を追加したことにより、PDLパーサ部21から受け取った描画コマンドや設定コマンドの順番を保存したまま、メモリ上またはファイル上に保存する処理を実行することができ、クリッピングモード判定部23に対して複数の描画データのシーケンスが提供可能になることから、さらにデータの処理性能を向上させることができる。
以上、本発明を第1〜第5の実施の形態を用いて説明してきたが、上述した実施の形態に多様な変更または改良を加えることができる。また、上述した第1〜第5の実施の形態において説明した構成や機能は、自由に組み合わせることができる。
例えば、上記実施の形態における画像形成装置で実行される画像処理にかかるプログラムは、インストール可能な形式、または実行可能な形式のファイルであって、CD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
また、上記実施の形態における画像形成装置で実行される画像処理にかかるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上記実施の形態における画像形成装置で実行される画像処理にかかるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
以上のように、本発明にかかる画像形成装置、画像形成方法、および画像形成プログラムは、ページ記述言語を用いて表現された画像データを描画する際に有効であり、特に、ベクタグラフィックスの塗りつぶし領域を限定するため、クリッピングを行って特定の領域だけを描画する場合に適している。
100 画像形成装置
1 CPU
2 ROM
3 RAM
4 通信I/F
5 エンジンI/F
6 画像形成エンジン
7 バス
10 ベクタクリップ画像形成装置
11 PDLパーサ処理部
12 クリッピングモード判定部
13 スキャンライン変換部
14 ベクタクリップ処理部
15 ラスタ展開部
20 ベクタクリップ画像形成装置
21 PDLパーサ処理部
22 データスプール部
23 クリッピングモード判定部
24 スキャンライン変換部
25 ベクタクリップ処理部
26 ラスタ展開部
1 CPU
2 ROM
3 RAM
4 通信I/F
5 エンジンI/F
6 画像形成エンジン
7 バス
10 ベクタクリップ画像形成装置
11 PDLパーサ処理部
12 クリッピングモード判定部
13 スキャンライン変換部
14 ベクタクリップ処理部
15 ラスタ展開部
20 ベクタクリップ画像形成装置
21 PDLパーサ処理部
22 データスプール部
23 クリッピングモード判定部
24 スキャンライン変換部
25 ベクタクリップ処理部
26 ラスタ展開部
Claims (10)
- ページ記述言語で表現された画像データを解析し、クリップコマンド、描画コマンド、および描画設定系コマンドの種別を識別するコマンド解析手段と、
前記コマンド解析手段で識別された前記クリップコマンドおよび前記描画コマンドの座標データに基づいて、ベクタデータのクリップ処理を実行するか否かの判断に必要な情報を作成し、判定を行うクリッピングモード判定手段と、
前記クリッピングモード判定手段がクリップ処理を実行すると判定した場合は、ベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求めるベクタクリップ処理手段と、
前記クリッピングモード判定手段がクリップ処理を実行しないと判定した場合は、ベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換し、前記ベクタクリップ処理手段でクリップ処理を実行した場合は、求めた交差領域をランレングス形式のデータに変換するスキャンライン変換手段と、
スキャンライン変換後のランレングスデータをラスターイメージに展開するラスタ展開手段と、
を備えたことを特徴とする画像形成装置。 - 前記クリッピングモード判定手段は、ベクタグラフィックスの塗りつぶし図形の外側を囲むバウンディングボックスの面積と、ベクタグラフィックスのクリップの外側を囲むバウンディングボックスの面積とを求め、両者を比較して、クリップ用のバウンディングボックスの面積の方が大きい場合は、ベクタデータのクリップ処理を実行しないと判定し、クリップ用のバウンディングボックスの面積の方が小さいか等しい場合は、ベクタデータのクリップ処理を実行すると判定することを特徴とする請求項1に記載の画像形成装置。
- 前記クリッピングモード判定手段は、ベクタグラフィックスの塗りつぶし図形の外側を囲むバウンディングボックスのY座標方向の高さと、ベクタグラフィックスのクリップの外側を囲むバウンディングボックスのY座標方向の高さとを求め、両者を比較して、クリップ用のバウンディングボックスのY座標方向の高さの方が高い場合は、ベクタデータのクリップ処理を実行しないと判定し、クリップ用のバウンディングボックスのY座標方向の高さの方が低いか等しい場合は、ベクタデータのクリップ処理を実行すると判定することを特徴とする請求項1に記載の画像形成装置。
- 前記クリッピングモード判定手段は、塗りつぶし図形の回転角度を考慮して、比較するバウンティングボックスの高さ方向を決定することを特徴とする請求項3に記載の画像形成装置。
- 前記クリッピングモード判定手段は、ベクタグラフィックスの塗りつぶし図形の線分の数を求め、その線分の数が閾値より大きい場合にのみベクタデータのクリップ処理を実行すると判定することを特徴とする請求項1に記載の画像形成装置。
- ページ記述言語で表現された画像データを解析し、クリップコマンド、描画コマンド、および描画設定系コマンドの種別を識別するコマンド解析手段と、
前記コマンド解析手段から受け取ったコマンドの順番を保持したまま中間形式として保存するデータスプール手段と、
前記データスプール手段に保存された前記クリップコマンドおよび前記描画用コマンドの座標データに基づいて、ベクタデータのクリップ処理を実行するか否かの判断に必要な情報を作成し、判定を行うクリッピングモード判定手段と、
前記クリッピングモード判定手段がクリップ処理を実行すると判定した場合は、ベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求めるベクタクリップ処理手段と、
前記クリッピングモード判定手段がクリップ処理を実行しないと判定した場合は、ベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換し、前記ベクタクリップ処理手段でクリップ処理を実行した場合は、求めた交差領域をランレングス形式のデータに変換するスキャンライン変換手段と、
スキャンライン変換後のランレングスデータをラスターイメージに展開するラスタ展開手段と、
を備えたことを特徴とする画像形成装置。 - 前記クリッピングモード判定手段は、前記データスプール手段に保存された中間形式のベクタグラフィックスを参照し、ベクタグラフィックスの塗りつぶし図形の中で同じ座標点をもつデータが閾値以上続く場合に、ベクタデータのクリップ処理を実行すると判定することを特徴とする請求項6に記載の画像形成装置。
- ページ記述言語で表現された画像データを解析し、クリップコマンド、描画コマンド、および描画設定系コマンドの種別を識別するコマンド解析ステップと、
前記コマンド解析ステップで識別された前記クリップコマンドおよび前記描画コマンドの座標データに基づいて、ベクタデータのクリップ処理を実行するか否かの判断に必要な情報を作成し、判定を行うクリッピングモード判定ステップと、
前記クリッピングモード判定ステップでクリップ処理を実行すると判定した場合は、ベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求めるベクタクリップ処理ステップと、
前記クリッピングモード判定ステップでクリップ処理を実行しないと判定した場合は、ベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換し、前記ベクタクリップ処理手段でクリップ処理を実行した場合は、求めた交差領域をランレングス形式のデータに変換するスキャンライン変換ステップと、
スキャンライン変換後のランレングスデータをラスターイメージに展開するラスタ展開ステップと、
を含むことを特徴とする画像形成方法。 - ページ記述言語で表現された画像データを解析し、クリップコマンド、描画コマンド、および描画設定系コマンドの種別を識別するコマンド解析ステップと、
前記コマンド解析ステップから受け取ったコマンドの順番を保持したまま中間形式として保存するデータスプールステップと、
前記データスプールステップで保存された前記クリップコマンドおよび前記描画用コマンドの座標データに基づいて、ベクタデータのクリップ処理を実行するか否かの判断に必要な情報を作成し、判定を行うクリッピングモード判定ステップと、
前記クリッピングモード判定ステップでクリップ処理を実行すると判定した場合は、ベクタグラフィックスの座標点データで表現されたクリップと塗りつぶし図形との交差領域を求めるベクタクリップ処理ステップと、
前記クリッピングモード判定ステップでクリップ処理を実行しないと判定した場合は、ベクタグラフィックスの座標点データで表現された塗りつぶし図形をランレングス形式のデータに変換し、前記ベクタクリップ処理ステップでクリップ処理を実行した場合は、求めた交差領域をランレングス形式のデータに変換するスキャンライン変換ステップと、
スキャンライン変換後のランレングスデータをラスターイメージに展開するラスタ展開ステップと、
を含むことを特徴とする画像形成方法。 - 前記請求項8または請求項9に記載の画像形成方法をコンピュータに実行させることを特徴とする画像形成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007245210A JP2009073083A (ja) | 2007-09-21 | 2007-09-21 | 画像形成装置、画像形成方法、および画像形成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007245210A JP2009073083A (ja) | 2007-09-21 | 2007-09-21 | 画像形成装置、画像形成方法、および画像形成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009073083A true JP2009073083A (ja) | 2009-04-09 |
Family
ID=40608556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007245210A Pending JP2009073083A (ja) | 2007-09-21 | 2007-09-21 | 画像形成装置、画像形成方法、および画像形成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009073083A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011197322A (ja) * | 2010-03-18 | 2011-10-06 | Ricoh Co Ltd | 画像形成装置、画像形成システム、定着制御方法、プログラム及び記録媒体 |
CN108389154A (zh) * | 2018-03-27 | 2018-08-10 | 长沙景嘉微电子股份有限公司 | Gpu中一种用于并行绘制的裁剪区域分割技术的实现方法 |
-
2007
- 2007-09-21 JP JP2007245210A patent/JP2009073083A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011197322A (ja) * | 2010-03-18 | 2011-10-06 | Ricoh Co Ltd | 画像形成装置、画像形成システム、定着制御方法、プログラム及び記録媒体 |
CN108389154A (zh) * | 2018-03-27 | 2018-08-10 | 长沙景嘉微电子股份有限公司 | Gpu中一种用于并行绘制的裁剪区域分割技术的实现方法 |
CN108389154B (zh) * | 2018-03-27 | 2022-12-02 | 长沙景嘉微电子股份有限公司 | Gpu中一种用于并行绘制的裁剪区域分割技术的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0933723B1 (en) | Printing apparatus | |
JP4969515B2 (ja) | 画像形成装置、グラデーション図形画像描画方法、グラデーション図形画像描画プログラム、及び記録媒体 | |
JP3008943B1 (ja) | 画像処理装置および画像処理方法 | |
JP3845045B2 (ja) | 画像処理装置、画像処理方法、画像形成装置、印刷装置及びホストpc | |
JP4646436B2 (ja) | デジタル画像の画像処理装置 | |
JP2008279626A (ja) | 画像処理装置及び画像処理プログラム | |
JP2009073083A (ja) | 画像形成装置、画像形成方法、および画像形成プログラム | |
JP5079341B2 (ja) | 印刷データ処理装置 | |
JP6357907B2 (ja) | 画像処理装置及びプログラム | |
JP2006065817A (ja) | 描画命令処理装置及び描画命令処理方法、画像描画装置及び画像描画方法、描画命令生成装置及び描画命令生成方法 | |
JP2002244643A (ja) | 画像処理装置 | |
JP2004021886A (ja) | 画像処理装置及び画像処理方法 | |
JP2004334533A (ja) | 画像処理装置および画像処理方法 | |
JP2000066658A (ja) | 画像処理装置および記録媒体 | |
JP4630082B2 (ja) | 画像処理装置、画像形成装置、描画命令情報生成方法、描画命令情報生成プログラム、描画命令情報生成プログラムを記録した記録媒体 | |
JP4630081B2 (ja) | 画像処理装置、画像形成装置、描画命令生成方法、描画命令生成プログラム、描画命令生成プログラムを記録した記録媒体 | |
JP2010012737A (ja) | 印刷制御装置、印刷処理システム、描画処理方法およびプログラム | |
JP2006031160A (ja) | グラフィックオブジェクト処理方法 | |
JP2001270170A (ja) | プリンタ制御装置 | |
JP2002044465A (ja) | 画像データ生成装置、画像出力装置、画像出力制御装置、画像出力システム、画像データ生成方法、および記録媒体 | |
JP2010187177A (ja) | 画像形成装置および制御プログラム | |
JPH11144062A (ja) | 印刷処理装置 | |
JPH1110961A (ja) | 印刷処理装置および印刷処理方法 | |
JP2004312592A (ja) | 印刷処理方法と印刷処理装置及び画像出力装置 | |
US7675642B2 (en) | Print apparatus and print method |