JP2005275668A - 印刷装置 - Google Patents

印刷装置 Download PDF

Info

Publication number
JP2005275668A
JP2005275668A JP2004086435A JP2004086435A JP2005275668A JP 2005275668 A JP2005275668 A JP 2005275668A JP 2004086435 A JP2004086435 A JP 2004086435A JP 2004086435 A JP2004086435 A JP 2004086435A JP 2005275668 A JP2005275668 A JP 2005275668A
Authority
JP
Japan
Prior art keywords
scan
processing
coordinate
path
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.)
Withdrawn
Application number
JP2004086435A
Other languages
English (en)
Inventor
Kunio Fukuda
国雄 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Casio Electronics Co Ltd
Original Assignee
Casio Computer Co Ltd
Casio Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd, Casio Electronics Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2004086435A priority Critical patent/JP2005275668A/ja
Publication of JP2005275668A publication Critical patent/JP2005275668A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

【課題】 図形描画時の処理時間を短縮しメモリ使用量が少なくて済む、描画図形のスキャンコンバージョンと同時にクリッピングを行うパスクリッピング描画方法を提供する。
【解決手段】 任意図形パスクリップ方法に於いて、クリップパスをスキャンコンバージョン用のデータ化を行いクリップパスの全座標をスキャンライン毎にバッファリングし、図形描画時に図形のスキャンコンバージョンに必要なデータだけを対象に描画図形のスキャンコンバージョンと同時にクリッピングを行うパスクリッピング描画方法と、クリップパスの全座標をバッファリング出来ない場合でも、図形描画と同時に図形のスキャンコンバージョンに必要なデータだけを対象にスキャンコンバージョンを行いパスクリッピングする描画方法。
【選択図】 図1

Description

本発明はコンピュータグラフィックス装置に関し、詳細にはクリップパスをスキャンコンバージョン(直線分割)し、クリッピング時(図形描画)に適切な情報化をするパスクリッピング方法に関し、図形描画のスキャンコンバージョンと同時にクリップパスのスキャンコンバージョンをも行うパスクリッピング方法に関する。
従来の任意図形のクリッピング方法として、特許文献1にあるように、可視領域の2値イメージを作成しマスキングする方法や、パス座標を用い図形作成と同時にパスクリップを行う方法等が知られている。
また、従来、プリンタ等では解像度が高くなればなる程、可視画像が大きくなり膨大なメモリを必要とした。更に、可視画像を分割で作成しマスキングを行うのであれば、図形描画時に必要な可視画像のマスキングパターンをその都度作成する事になりかえって処理が複雑になってしまう。例えば、仮想空間で動作するプリンタ等では実際に結像する用紙が例えばA4であっても作成ページがA3の場合は、A4領域のみで画像の形成を行うと不必要な可視画像を余計に作成する事になり大容量のメモリを必要とした。
また、パスクリッピングをスキャンコンバージョンする方法でも、同一のクリップパスを使った図形描画、例えばグラデーション表現で使われる方法等では、その都度クリップパスのスキャンコンバージョンが発生し、処理時間がかかりすぎる等の問題点があった。
また、図形描画のアルゴリズムとして、Bresenhamの線分発生アルゴリズムが有名である。2点(X0,Y0)、(X1,Y1)を通るラインは次の式で表す事ができ、Y=m(X−X0)+Y0(但し、m=( Y1−Y0)/(X1−X0))
例えば、線分(0,0)−(5,3)を画面に描く場合上式は、m=0.6となるので、Y=0.6(X−X0)より X=0〜5を代入してYを求め、その結果を順にプロットする。しかし、各点の座標値は整数でなければならないため、実際には計算値の小数部を四捨五入等してラインを描画する。ところが、描画時に傾きmが急な線分の場合はY座標の増分が1より大きくなりプロットとプロットの間が離れてくる。このような場合はX座標の変化によってY座標を求めるのではなく、Y座標を変化させX座標を求めるようにし、また、ラインが同じX座標上であるX0=X1では傾きmを別扱いする。
上記式では各座標毎にXを代入してYを求めていたが、Xが1増えるとYはmずつ増加するため、Y=Y0と初期化しmを加えていくだけで各座標でのYの値が算出できる。
また、mが0以上1以下の条件下では次に描画する点は、(X+1,Y)か(X+1,Y+1)なる。すなわち、ラインが2点の中点より下側なら(X+1,Y)を、上側なら(X+1,Y+1)を選択する。これは、算出したYの小数部に着目した場合、小数部が0.5未満ならば(X+1,Y)を選択小数部が0.5以上ならば(X+1,Y+1)を選択したことになる。以上から、Yの実数値とそれを整数化した値との差をEで表したとき、Y=m(X−X0)+Y0を描画するアルゴリズムの処理手順は次のようになる。1)X=X0とY=Y0とE=0に初期化し、2)(X,Y)をプロットし、3)Xに1を加え、4)Eにmを加え、結果が1/2以上になった場合、ラインが(X,Y+1)に近いのでYに1を加える。また、Eが新たなY座標との誤差を示すようEから1を引く、5)X=X1になるまで2)から4)を繰り返す。このアルゴリズムは、周知の技術でライン・ルーチン以外にもいろいろと応用が利き、例えば、グラデーション、矩形の拡大・縮小を行うアルゴリズム等に使用できる。
しかし、このアルゴリズムを整数演算のみで行う場合は、Eの初期値を0ではなく−1/2とし、Eの値の比較を1/2で行う代わりに0で行い、E≧1/2の両辺から1/2を引きE−1/2≧0とし、(E−1/2)を新たなEとする。次にEの初期値と傾きmは実数であるので、これらを整数化するには上記Eの比較方法を変更し、Eは符号だけが意味を持つようにする。値自体は必要なくなりmはEの増分となりE、m及びYが1増加したときのEの補正値に適当な数をかける。それぞれに2(X1−X0)をかけることで、Eの初期値−1/2 → −(X1−X0)、Eの増分(Y1−Y0)/(X1−X0) → 2(Y1−Y0)、Eの補正値1 → 2(X1−X0)と整数化できる。また、mが1以上の場合は、Yを1ずつ増やしながら同様の処理を繰り返し、Eの初期値−(Y1−Y0)、Eの増分2(X1−X0)、Eの補正値2(Y1−Y0)とし、また、mが0より小さい場合はXまたはYを1ずつ減らしながら処理を行う。
更に高速な、ダブルステップBresenhamアルゴリズムは、オリジナルのBresenhamアルゴリズムを2ステップ分まとめて実行して2ピクセル分まとめて描画しループ回数を減らし、両端からの同時描画を行うことでさらに処理時間を減らすことができる。上記線分発生のアルゴリズムはコンピュータグラフィックスの分野では周知である。
次に、クリッピングは選択された領域の外側の描画部分を削除する方法で、クリッピングの処理手順はラインクリッピング法か多角形クリッピング法のいずれかに分類される。ラインクリッピング法は、全体が選択された領域に入っているラインと全部あるいは一部をクリップすべきラインを判定する。部分的にクリップすべきラインについては、選択された境域との境界との交差点を計算しなければならない。描画した図形には多くの線分が含まれるため、クリッピング処理は効率的に行う必要があり、ChoenとSutherlandによって開発されたラインクリッピング法や、LiangとBarskyによって開発されたラインクリッピング法等があり、上記ラインクリッピング処理のアルゴリズムはコンピュータグラフィックスの分野では周知である。
持開平8−297737号公報
従来の画像マスキング方法は上述したように、2値の可視画像を作成する為、プリンタ等では解像度が高くなればなる程、可視画像が大きくなり膨大なメモリを必要とした。
もし、可視画像を分割で作成しマスキングを行うのであれば、図形描画時に必要な可視画像のマスキングパターンをその都度作成する事になりかえって処理が複雑となる。
本発明は、以上のような問題点を解決するため、処理スピードを高速に行い、しかも大量のメモリを使用することなく、低コスト化が可能なパスクリッピング方法を提供するものである。
上記課題は本発明によれば、画像データを入力する入力手段と、該画像データを画像処理する処理手段と、該画像処理されたデータに従って記録紙に印字を行う印字手段とを有する印刷装置において、前記処理手段は、任意の形状のクリップパスをスキャンコンバージョンした結果をデータとして保存する手段と、予め前記クリップパスの全座標をスキャンライン毎にデータとして保存する手段と、前記任意の形状のクリップパスをスキャンコンバージョンし保存したデータと、前記予め前記クリップパスの全座標をスキャンライン毎に保存したデータとに基づきクリッピングを行う手段とを有する印刷装置を提供することにより達成できる。
また、前記クリッピングにおいて、前記任意の形状のクリップパスは前記スキャンコンバージョンと、対象の描画図形のスキャンコンバージョンとを同時に行う構成である。
また、前記クリッピングは、予め前記クリップパスの全座標をスキャンライン毎にデータとして保存できない場合でも、前記任意の形状のクリップパスを前記スキャンコンバージョンと、対象の描画図形のスキャンコンバージョンとを同時に行うことができる構成である。
さらに、本発明は方法によっても実現可能であり、入力装置により画像データを入力し、該画像データを処理し、該処理した画像データを描画し、該描画した画像データを記録紙に印刷する印刷方法において、前記画像データの処理は、前記画像データを制御演算する処理と、該画像データをスキャンコンバージョンする処理と、該画像データをクリッピングする処理とを行い、更に該画像処理結果に基づきパスクリッピングを行う印刷方法を提供することによって達成できる。
クリップパスのスキャンコンバージョン化と、全座標をスキャンライン毎に予めバッファリングし描画図形のスキャンコンバージョンと同時にパスクリッピングを行うことにより、同一クリップパスについて複数図形描画を行う場合の処理スピードの向上という効果がある。また、少ないメモリ容量でバッファサイズが充分でないとき、メモリ容量以上のバッファが必要になっても、クリップパスのスキャンコンバージョン化による描画図形のスキャンコンバージョンと同時にパスクリッピングを行うこと、クリップ情報を結像領域、描画図形の範囲にてクリッピングを行うことにより大容量のメモリを必要としない効果が得られる。
(実施形態1)
本発明はここに説明する具体的な実施例に限定されないが、特にプリンタ装置等の高速のクリッピングを必要とするアプリケーションでは、クリッピングは割り当てられた時間内で処理を完了しなければならない。以下、プリンタ装置のアプリケーションについて、本発明の実施の形態を図面を参照しながら説明する。
図1において、プリンタ装置1は、ホストコンピュータ2とホストインターフェイス4とが接続ケーブル等の通信媒体3を介して画像データの交信ができる。ホストコンピュータ2は、自身が画像入出力が可能な装置であるか、または、ホストコンピュータ2の周辺に接続した入力装置を介しデータを取得する構成としてもよい。例えば、PC、サーバ、PDA、携帯電話、デジタルカメラ、スキャナ等の装置である。
オペレーションパネル14のLCDモジュール15はプリンタ装置の状態を表示でき、ボタンスイッチ16はプリンタ装置1の制御等を行う。
プリンタ装置1は、ホストコンピュータ2より通信媒体3を介してデータを取得し、プリンタ装置1内のバス5を介し印刷の処理を実行する。プリンタ装置1の実行プログラムはROM7に保存され、MPU6は電源投入時、又はシステムリセットによりROM7からプログラムをブートしプログラムを実行し、画像処理及び制御保存処理を行う。画像処理と制御保存処理で生成したデータまたは必要なデータはRAM8に保存され、プリンタ装置1の初期設定データや今後の処理で必要な設定データをEEPROM9に保存し、文字データ等をフォントROM10に保存する。メモリ容量が増え拡張が必要な場合はHDD(ハードディスク)11を使用できるように準備することもできる。ビデオインターフェイス12は、プリンタエンジン制御部13に上記画像処理と制御保存処理されたデータを転送し交信する。
プリンタエンジン制御部13は、実際に印刷を行う機構部、給紙、ドラムへの帯電、露光、トナー現像、用紙へのトナー像の転写、定着など、実際に用紙にトナーを定着させる等、物理的な印刷工程そのものを制御する。
次に、図2はスキャンコンバージョン用クリップパスのデータ構造を示す図である。辺情報テーブルリストに示す様にクリップパスの辺情報は、パスの1本1本を全て辺情報の構造22内の情報に変換し保存する。この辺情報への変換は、Bresenhamの線分発生アルゴリズムとDDA(Digital Differential Analyzer)アルゴリズムの変形を利用して行う。DDAアルゴリズムは上記Bresenhamの線分発生アルゴリズムに含まれる。
上記辺情報への変換については、例えば図3に示す装置座標系に書かれた四角形A0のラインAL4に基づいて説明する。スキャンライン毎にこの例では0.5毎に原点(0,0)からY軸に沿ってスキャンを実行したとき、スキャンラインSL1は装置座標系の(100,3)で四角形A0と接触する。その接点AP1をラインAL1またはAL4のラインの開始点とし、ここではAL4についてのみ説明するが、上記各辺情報に開始X座標、開始Y座標にAP1の座標を保存し、辺情報構造の開始X座標は100、開始Y座標は3となる。次にスキャンが進みスキャンラインSL2とラインAL4の終端点AP4に接触する。この接点を終了Y座標として7を保存する。
誤差値は、装置座標系でラインの傾きを計算すると、ラインが通過する座標は通常必ずしも整数で表すことができない、しかし、装置座標系で取扱える整数範囲は正の整数範囲でしかない。正の整数範囲で表示するラインを表示するためには、小数点1以下の値を閾値を基準に大きいか小さいかで判断する。その閾値を設定し誤差値に保存する。例えば誤差値を0.5として保存していれば1.1なら1と判断し、1.5なら2と判断する。(Bresenhamの線分発生アルゴリズム)
次に、Eの増加分とEの補正値はBresenhamの線分発生アルゴリズムでラインの傾きを示すために、X方向増分はBresenhamの線分発生アルゴリズムにおけるラインを表す時のX方向の増加分を示す。ただし、スキャンラインに対して平行なラインは辺情報に変換保存されない。
クリップパス指定時におけるクリップパス座標のキャッシュ処理を図4のフローチャートで説明する。任意形状のクリップパスをスキャンコンバージョンにより処理する場合、先ずS51にてスキャン開始Y座標の設定を行い、開始Y座標はクリップパスの開始Y座標、または結像用紙(結像を行う際の座標系)のY軸の最小値であるYminの大きい方を開始Y座標とし保存する。
S52にてスキャン終了Y座標の設定を行う。終了Y座標はクリップパス又は、結像用紙のY軸の最大値であるYmaxの小さい方を終了Y座標とする。
図5に示すクリップパスY座標範囲42のデータ保存領域のY−min座標とY−max座標にS51とS52で求めた、スキャン開始Y座標とスキャン終了Y座標を対応するメモリ領域にそれぞれ保存する。
次に、図6の装置座標系を用いてS51とS52のスキャンの方法を示す。スキャンを開始し、スキャンラインが最初に接触したクリップパスCP1と図形AT0の交点の座標は、(X0,Y0)、(X1,Y0)、(X2,Y0)、(X3,Y0)、(X4,Y0)、(X5,Y0)で、Y座標の最小値はY0となる。次にY座標の最大値はクリップパスCP1と図形AT0の交点で(X6,Y1)、(X7,Y1)、(X8,Y1)、(X9,Y1)、(X10,Y1)、(X11,Y1)であるY1となり、Y0とY1をクリップパスY座標範囲42に保存する。
次に、S53にて図5に示すキャッシュ登録有無フラグ41、インデックステーブル43、キャッシュバッファ44の初期化を行う。初期化処理は、登録有無フラグ41には登録無しの状態に設定し、インデックステーブルとキャッシュバッファの書込み先を示すポインタの位置をインデックステーブル、キャッシュバッファ共に先頭番地にする。
S54ではクリップパスの辺情報テーブルリスト21(通常のBresenhamのDDAアルゴリズム用辺リスト)をY座標の小さい順に並び換える。ソート方法は特に限定されるものでない。
S55よりクリップパスのスキャンコンバージョンの処理に入る。スキャンの開始はS51で設定した開始Y座標より行う。S55で現在のインデックステーブル43に、現在のキャッシュバッファ44の書込みポインタを設定する。図7はインデックステーブル43とキャッシュバッファ44の使用例を示した図で、書込みポインタとしてインデックステーブル43に100を保存し、100番地からキャッシュバッファ44にクリップ座標列の構造を構成していく。上記キャッシュバッファ44の最初の番地で考えた場合、つまり100番地には、図6のY0座標のX座標であるX0〜X5が保存される。
S56はクリップパスのスキャン処理用リスト32の処理済みである辺情報リストを削除する(通常のスキャンコンバージョン処理)。図8に削除の処理を示し、次のスキャン前にスキャンラインで処理済となった辺情報を削除することで、図8では辺情報リスト構造22の内容から辺情報aが削除され、新しい辺情報を保存する準備をする。
S57にてクリップパスの現在のスキャンラインに該当する辺を、スキャン処理用リスト32ヘ登録する(通常のスキャンコンバージョン処理)。図9に登録の処理を示す。スキャンを行う対象となる辺リスト番号(次のスキャンラインに対する辺リスト情報の開始番号)が示す辺情報テーブルリスト内の辺情報mをスキャンラインに該当時追加する。つまり、スキャン処理リスト32に追加された、各辺情報の現在のスキャンラインに対する辺情報を、同図では辺情報mを、現在のスキャンラインに対するクリップパスのX座標リスト内に、辺情報リスト22の開始X座標を登録し、同図では辺情報mのX座標mが登録される。
S58ではS57で作成したスキャン処理用リスト32内にX座標があるかどうかの有無を判断し、スキャン処理用リスト32内にX座標がなければS510の処理へ、スキャン処理用リスト32内にX座標が有る場合にはS59の処理へいく。
S59にてクリップパスのスキャン処理用リスト32内のX座標を小さい順に並び替える。ソート方法は特に問わない。(通常のスキャンコンバージョン処理)、ソートが完了したらS511の処理を行う。S510でクリップ座標列45の個数を0にし、S511でキャッシュバッファの書込み領域の残りメモリ容量を調べ、残りが無い場合はキャッシュ処理を終了する。
次に、S512で現在のキャッシュバッファ44の書込み先へ、S59で作成したX座標列とスキャンライン毎にX座標の個数を求め登録し、次の書込みのためにポインタを移動することにより書込み番地を変更し、そして、S513でクリップパスのスキャン処理用リスト32内のデータを次のスキャンライン用に更新する。(通常のスキャンコンバージョン処理)。S514は全スキャン終了後、登録有無フラグ41をキャッシュ有りに設定し終了する。
(実施形態2)
図10でパスキャッシュが有る時の図形描画時のスキャンコンバージョンをフローチャートで説明する。S61でスキャン開始Y座標の設定を行い、開始Y座標はクリップパスの開始Y座標、または結像用紙(結像を行う際の座標系)のY軸の最小値であるYminの大きい方を開始Y座標とする。
S62ではスキャン終了Y座標の設定を行う。終了Y座標は描画図形、結像用紙のYmax及び、クリップパスの最大Y座標内の最小値を終了Y座標とする。
S63でインデックステーブル43を検索するための初期化を行う、描画図形のYminがクリップパスYminより小さい場合にはインデックステーブル43の先頭から、また大きい場合は、描画図形YminからクリップパスYminを引いた差分(描画図形Yminが100番地でクリップパスYminが120番地であれば120−100=20とし差分は20となる)を、インデックステーブル43先頭番地から差分だけ進んだ番地(20番地)の位置より検索を開始する。例えば、図11は三角形Cをクリップパス、四角形Bを描画図形とする。S61でY座標の最大値である四角形Bの頂点のY座標100を取得し、S62でクリップパスの最小値であるY座標110を取得する。そして、S63で検索のためにポインタを検索の開始番地に設定する。図11では描画図形のYminがクリップパスYminより小さいのでインデックステーブル43の先頭位置から検索が開始される。
S64では描画図形の辺情報リスト(通常のBresenhamのDDAアルゴリズム用の辺リスト)をY座標の小さい順に並び換える。ソート方法は特に問わない。
S65より描画図形のスキャンコンバージョンの処理に入る。スキャンの開始はS61で設定した開始Y座標より行い、S65でインデックステーブル43よりキャッシュバッファ44内のクリップ座標列を取得する。
S66で描画図形のスキャン処理用リスト32の処理済み辺(現在のスキャンラインに該当しない辺)をリストより削除する(通常のスキャンコンバージョン処理)。図8で示した削除の処理と同様に、処理済の辺を辺情報aとし削除をする。
S67で描画図形の現在のスキャンラインに該当する辺をスキャン処理用リスト32ヘ登録する(通常のスキャンコンバージョン処理)。図9で示した登録の処理と同様に、現在のスキャンラインに該当する辺を辺情報mとしスキャン処理用リスト32ヘ登録をする。
S68ではS67で作成したスキャン処理用リスト32の有無を判断、リストがなければS612の処理へ進み、リストが有る場合にはS69の処理へ。
S69で描画図形のスキャン処理用リストをX座標の小さい順に並び替える。ソート方法は特に問わない。(通常のスキャンコンバージョン処理)
S610にて描画図形のスキャン処理用リスト32内の全X座標間をクリッピング処理し、全ての結像区間を描画する。そして、S65で取得のX座標の区間が全て終了するまで繰り返す。図12はクリッピング処理を示し、現在のスキャンラインの描画図形のX座標リスト33のXminとXmaxの区間にある「1」〜「5」の、「1」、「2」、「3」をクリッピングする。そして、S611で描画図形用のスキャン処理用リスト32内のデータを、次のスキャンライン用に更新する。(通常のスキャンコンバージョン処理)。
S612でインデックステーブル43検索ポイントを次のポイントヘ移動し、現在のスキャンライン情報を次のスキャンラインに更新し、S65からの処理を再び行う。そして、現在のスキャンラインがS62で設定したスキャン終了Y座標まで繰り返し行い終了する。
(実施形態3)
次に、パスキャッシュが無い時の図形描画時のスキャンコンバージョンを図13のフローチャートで説明をする。
S71でスキャン開始Y座標の設定を行う。開始Y座標は描画図形の開始Y座標又は結像用紙(結像を行う際の座標系)のYminの大きい方を開始Y座標とする。
S72でスキャン終了Y座標の設定を行う。終了Y座標は描画図形、結像用紙(結像を行う際の座標系)のYmax及び、クリップパスの最大Y座標の内の最小値を終了Y座標とする。
S73でパスクリッピングの初期化を行う。既に作成済みの辺情報テーブル21のデータを、S71で設定した開始Y座標に合致する(開始Y座標を含む最初の辺)テーブル番号を設定する。つまり、図9のスキャン対象辺リスト番号31を設定する。
S74で描画図形の辺情報リスト(通常のBresenhamのDDAアルゴリズム用の辺リスト)をY座標の小さい順に並び換える。ソート方法は特に問わない。
S75でパスクリップ情報の作成を行うために、描画図形のスキャンコンバージョンの処理に入る。スキャンの開始はS71で設定した開始Y座標より行い、スキャン対象辺リスト番号31が示す辺情報テーブル21から現在のスキャンラインに該当する辺かを調べ、該当すればその辺情報を現在のスキャンラインに対する辺情報リスト22に登録する。登録が終了したらスキャン対象辺リスト番号31の内容を更新し次のリスト番号へ移行する。以上を該当無しまで繰り返し、終了したら現在のスキャンラインに対する辺情報リスト32に登録されている全てのX座標を、現在のスキャンラインに対するクリップパスのX座標リスト33ヘX座標の小さい順に登録する。ソート方法は特に問わない。
S76では描画図形のスキャン処理用リスト32の処理済み(現在のスキャンラインに該当しない辺)辺情報リスト21より削除する(通常のスキャンコンバージョン処理)。
S77では描画図形の現在のスキャンラインに該当する辺をスキャン処理用リスト32ヘ登録する(通常のスキャンコンバージョン処理)。
S78ではS77で作成したスキャン処理用リストの有無を判断、リストがなければS712の処理へ、リストが有る場合にはS79の処理を実行する。
S79で描画図形のスキャン処理用リスト32内のX座標を小さい順に並び替える。ソート方法は特に問わない(通常のスキャンコンバージョン処理)。
S710では描画図形のスキャン処理用リスト32内の全X座標間のクリッピング処理をし、(図12の結像区間に示すクリッピング区間を判断する)全ての結像区間を描画する。そして、スキャン処理用リスト32内のX座標が全て終了するまで繰り返す。
S711では描画図形用のスキャン処理用リスト32内データを次のスキャン用に更新する(通常のスキャンコンバージョン処理)。
S712ではパスクリップ情報を次のスキャンライン用に更新する。現在のスキャンラインに対する辺情報リスト内のY座標の開始から終了めでの区間が、次のスキャンライン(Y座標)外となった場合にはその辺情報をリストより削除する(図8に示す)。該当区間内であればリスト内の辺情報の更新(通常のBresenhamアルゴリズムによるDDA処理を行いX座標等を更新)を行う。現在のスキャンライン情報を次のスキャンラインに更新し現在のスキャンラインがS72でスキャン終了Y座標まで処理を繰り返し、S75から再び行う。
上記の場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記録した可搬記録媒体等は本発明を構成することになる。プログラムコードを提供するための可搬記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、DVD−RAM、磁気テープ、不揮発性のメモリーカード、ROMカード、電子メールやパソコン通信等のネットワーク接続装置(言い換えれば、通信回線)を介して記録した種々の記録媒体などを用いることができる。
また、コンピュータがメモリ上に読み出したプログラムコードを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施の形態の機能が実現される。
更に、可搬型記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実現の処理の一部又は全部を行い、その処理によっても前述した実施の形態の機能が実現され得る。
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の構成又は形状を取ることができる。
本発明の実施例を説明するためのプリンタ装置の構成を示した図である。 メモリ構成を示す図である。(辺情報テーブルリストと辺情報の構造) 辺情報の構造を説明をする例である。 クリップパス指定時のクリップパス座標キャッシュ処理のフローチャートである。 メモリ構成を示す図である。(キャッシュ登録有無、クリップパスY座標範囲、インデックステーブル、キャッシュバッファ、クリップ座標列の構造) クリップパス指定時のクリップパス座標キャッシュ処理を説明する例である。 インデックステーブルとキャッシュバッファの例を示す図である。 メモリ構成を示す図である。(辺情報の削除について) メモリ構成を示す図である。(辺情報の登録について) キャッシュ時の図形描画スキャンコンバージョンのフローチャートである。 キャッシュ時の図形描画スキャンコンバージョンの処理を説明する例である。 クリッピング処理を説明する図である。(現在のスキャンラインにおける結像区間) 非キャッシュ時の図形描画スキャンコンバージョンのフローチャートである。
符号の説明
1・・・プリンタ装置
2・・・ホストコンピュータ
3・・・回線
4・・・ホストインターフェイス
5・・・内部バス
6・・・MPU
7・・・ROM(プログラム本体を格納)
8・・・RAM(画像処理用)
9・・・EEPROM(設定値等を格納)
10・・・フォントROM(フォントライブラリ)
11・・・HDD(オプション)
12・・・ビデオインターフェイス
13・・・プリンタエンジン制御部
14・・・オペレーションパネル
15・・・LCDモジュール
16・・・ボタンスイッチ

Claims (4)

  1. 画像データを入力する入力手段と、該画像データを画像処理する処理手段と、該画像処理されたデータに従って記録紙に印字を行う印字手段とを有する印刷装置において、
    前記処理手段は、任意の形状のクリップパスをスキャンコンバージョンした結果をデータとして保存する手段と、
    予め前記クリップパスの全座標をスキャンライン毎にデータとして保存する手段と、
    前記任意の形状のクリップパスをスキャンコンバージョンし保存したデータと、前記予め前記クリップパスの全座標をスキャンライン毎に保存したデータとに基づきクリッピングを行う手段と、
    を有することを特徴とする印刷装置。
  2. 前記クリッピングにおいて、前記任意の形状のクリップパスは前記スキャンコンバージョンと、対象の描画図形のスキャンコンバージョンとを同時に行うことを特徴とする請求項1記載の印刷装置。
  3. 前記クリッピングは、予め前記クリップパスの全座標をスキャンライン毎にデータとして保存できない場合でも、前記任意の形状のクリップパスを前記スキャンコンバージョンと、対象の描画図形のスキャンコンバージョンとを同時に行うことを特徴とする請求項1、又は2記載の印刷装置。
  4. 入力装置により画像データを入力し、該画像データを処理し、該処理した画像データを描画し、該描画した画像データを記録紙に印刷する印刷方法において、
    前記画像データの処理は、前記画像データを制御演算する処理と、該画像データをスキャンコンバージョンする処理と、該画像データをクリッピングする処理とを行い、更に該画像処理結果に基づきパスクリッピングを行うことを特徴とする印刷方法。


JP2004086435A 2004-03-24 2004-03-24 印刷装置 Withdrawn JP2005275668A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004086435A JP2005275668A (ja) 2004-03-24 2004-03-24 印刷装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004086435A JP2005275668A (ja) 2004-03-24 2004-03-24 印刷装置

Publications (1)

Publication Number Publication Date
JP2005275668A true JP2005275668A (ja) 2005-10-06

Family

ID=35175301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004086435A Withdrawn JP2005275668A (ja) 2004-03-24 2004-03-24 印刷装置

Country Status (1)

Country Link
JP (1) JP2005275668A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8675244B2 (en) 2010-04-15 2014-03-18 Canon Kabushiki Kaisha Rendering apparatus having a display list clip processing control method, rendering method, and storage medium
US11039037B2 (en) 2019-10-31 2021-06-15 Kyocera Document Solutions Inc. Image processing apparatus, image forming apparatus and image processing method for improving efficiency of clipping process

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8675244B2 (en) 2010-04-15 2014-03-18 Canon Kabushiki Kaisha Rendering apparatus having a display list clip processing control method, rendering method, and storage medium
US11039037B2 (en) 2019-10-31 2021-06-15 Kyocera Document Solutions Inc. Image processing apparatus, image forming apparatus and image processing method for improving efficiency of clipping process

Similar Documents

Publication Publication Date Title
JPH07200835A (ja) 画像データ解析方法
JP2002092606A (ja) 画像処理装置、画像処理方法およびそれを記録した記録媒体
US8339664B2 (en) Image processing method, image processing apparatus, and control method thereof
JP2009266087A (ja) 画像処理装置、画像処理方法及びプログラム
US20040095589A1 (en) Image processing method
JP2007122188A (ja) 画像形成装置及び画像処理方法、並びにプログラム
JP2005275668A (ja) 印刷装置
JP3563891B2 (ja) 文字生成方法及び装置
JP2008107970A (ja) 画像形成装置
CN113687750B (zh) 一种截图处理方法及装置
JP4325812B2 (ja) ベクター画像描画回路およびベクター画像描画方法
TW509873B (en) Generation method for dynamic user interface with arbitrary shape
JP2008059122A (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
JP2010140101A (ja) 描画装置
JP2009075805A (ja) 画像形成装置
JP2009071737A (ja) 画像処理装置、画像処理システム、画像処理方法、プログラム、および記録媒体
JP2000298729A (ja) 二次元画像生成装置
JP6870247B2 (ja) 画像解析装置
JP2005038164A (ja) マンガ編集装置、マンガ編集プログラム、マンガ編集方法
JP4058197B2 (ja) 描画装置及び描画方法、記憶媒体
JP2011002536A (ja) ファイル生成装置およびプログラム
JP2004326528A (ja) 画像処理装置及び画像処理方法
JP2001166767A (ja) 描画処理装置及び描画処理方法
CN116912379A (zh) 场景画面的渲染方法及装置、存储介质、电子设备
JP3180478B2 (ja) セグメント生成装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070605