JP3750363B2 - 描画情報処理装置及び描画情報処理方法 - Google Patents
描画情報処理装置及び描画情報処理方法 Download PDFInfo
- Publication number
- JP3750363B2 JP3750363B2 JP23060998A JP23060998A JP3750363B2 JP 3750363 B2 JP3750363 B2 JP 3750363B2 JP 23060998 A JP23060998 A JP 23060998A JP 23060998 A JP23060998 A JP 23060998A JP 3750363 B2 JP3750363 B2 JP 3750363B2
- Authority
- JP
- Japan
- Prior art keywords
- clip
- information
- layer
- scanning line
- graph
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータ・システム上でコンピュータ・グラフィックス(CG)やデスクトップ・パブリッシング(DTP)などの描画情報処理を行うための描画情報処理装置及び描画情報処理方法に係り、特に、描画情報に基づいて生成された画素情報を複数のクリップ領域を用いてクリップ処理するための描画情報処理装置及び描画情報処理方法に関する。
【0002】
更に詳しくは、本発明は、複数のクリップ領域の積領域や和領域を表す論理式で構成されるクリップ情報を用いてクリップ処理するための描画情報処理装置及び描画情報処理方法に関する。
【0003】
【従来の技術】
昨今の技術革新に伴い、スーパー・コンピュータ、ワークステーション、汎用パーソナル・コンピュータなど各種コンピュータ・システムが開発され、広範に普及してきている。特に、最近ではコンピュータの演算速度の向上や表示能力の強化、グラフィックス処理の高機能化に伴なって、コンピュータ・システム上で描画情報を作成・編集・出力する「コンピュータ・グラフィックス(CG)」や「デスクトップ・パブリッシング(DTP)」が脚光を浴びるようになってきた。
【0004】
コンピュータ・システム上で描画情報をディスプレイに表示したりプリンタに印刷するときには、実際に描画すべき領域を定めてその内部だけを描画処理するようになっている。このために、描画領域からはみ出た部分を切り落とす「クリップ」処理が施される。クリップ領域を指定するときには、領域の形状を複数与えて、それらの領域全てに含まれる積領域を最終的なクリップ領域とする方法を採用することが多い。これは、クリップが印刷領域を定める抜き型のような性質を持ち、この抜き型を重ねることで実際にインクを塗布すべき領域を決定するものとしてクリップ処理をモデル化していることに依拠する。
【0005】
一方、コンピュータ・グラフィックスを構成する描画情報は、通常、複数の描画要素(オブジェクト)で構成されるが、各描画要素情報はクリップ処理とは無関係に定義されている。すなわち、各描画要素は無限の世界座標空間上に存在しているので、ディスプレイ上に表示したりプリンタで印刷するためには、元の描画要素の一部を切り落とすなどの処理をして最終的な描画形状を求める必要がある。このため、クリップ処理は単なるクリップ領域の算出だけでは済まず、非常に複雑且つ膨大な演算を伴なうものとなる。
【0006】
従来、クリップ処理は、ラスタライズ処理などにより描画要素を画素データに展開して、これとは別にクリップ形状を画素データに展開しておき、これら画素データ間でマスク演算を行うことで実現されていた。しかしながら、この方法は、画素データを保持するための大量のメモリとマスク演算のためのコンピュータ資源とを必要としていた。
【0007】
例えば、本出願人に譲渡されている特開平6−274643号公報には、描画情報のクリップ処理におけるコンピュータ資源の問題を改善した描画装置について開示している。この描画装置は、画素を演算対象とはせずに、画素の並びを符号化したエッジリストを用いることで、任意形状のクリップ処理を高速に演算処理することを可能としている。しかしながら、この描画装置が採用する方式によれば、クリップ領域の重ね合わせを行うときにはエッジリストを整列する必要がある。一般に、整列処理は演算負荷が高く、したがって高速処理には適さない。
【0008】
また、特開平7−296172号公報には、多角形の辺を表すベクトル・データを演算対象とし、これを複数のクリッピング手段を用いて並列処理するタイプの多角形図形のクリッピング描画方式が開示されている。しかしながら、この描画方式では、複数のクリッピング手段の各々に対して同一のクリッピング・データを転送しておく必要があるため、メモリ資源を浪費するとともにデータ転送時間を要してしまう。このため、この描画方式は、マウス・カーソルの移動に従って処理対象が逐次変更していくようなマルチウィンドウ形式の表示システムや、ページ上の様々な位置に配置された各描画要素を次々に処理していくページ記述言語(PDL)処理系などの、そもそも大容量メモリを要したりデータ転送量が膨大なシステムには不向きである。
【0009】
CGやDTPなどの世界では、何かを連想させるような形状を複数用いて背景を切り抜くような技法、すなわち和領域を以ってクリップ処理する技法に所定のデザイン効果があることが知られており、且つ、積極的に用いられている。例えば、描画要素を複数の文字で切り抜くようなデザイン手法においては、クリップ情報は文字の形を複数のクリップ領域の和という形式で表される。
【0010】
しかしながら、上述したいずれのクリップ処理方法も、与えられた各クリップ領域の積領域としてしかクリップ情報を指定することができない。また、描画情報を表示又は印刷する出力処理系のデバイスのほとんどは、デザイン効果を上げるための和領域によるクリップ機能を備えていない。
【0011】
いままでは、和領域によりクリップ処理などの特殊効果を実現するためには、個々のアプリケーション・ソフトウェアが独自の方式で内部的に処理するしかないのが実情であった。このため、アプリケーションの肥大化という事態をも招来していた。
【0012】
例えば、米アップル社が市販する”QuickDrawGX”は、複数の領域間の和領域を計算するためのインターフェースを備えることで、領域の和を指定することをも可能としている。しかしながら、このインターフェースは、クリッピング処理に特化してデザインされている訳ではなく、和領域の形状を実際に計算処理するなどクリッピングには不要な処理を伴なっており、無駄が多い。また、ベクトルやパラメータ曲線で構成される形状データに対して効率的な処理系を実現することは容易ではない。また、色や模様を持つ描画要素の形状だけを独立して取り出して演算対象としているが、和領域に対するクリップ処理に比べてあまり意味がない。
【0013】
【発明が解決しようとする課題】
本発明の目的は、コンピュータ・システム上でコンピュータ・グラフィックス(CG)やデスクトップ・パブリッシング(DTP)などの描画情報処理を行うための、優れた描画情報処理装置及び描画情報処理方法を提供することにある。
【0014】
本発明の更なる目的は、描画情報に基づいて生成された画素情報を複数のクリップ領域を用いてクリップ処理することができる、優れた描画情報処理装置及び描画情報処理方法を提供することにある。
【0015】
本発明の更なる目的は、複数のクリップ領域の論理積だけでなく論理和で構成されるクリップ情報を用いて効率的で且つデザイン効果のあるクリップ処理することができる、優れた描画情報処理装置及び描画情報処理方法を提供することにある。
【0016】
本発明の更なる目的は、実際にクリップ情報の和領域の形状を計算することなく効率的にクリップ処理を行うことができる、優れた描画情報処理装置及び描画情報処理方法を提供することにある。
【0017】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、描画情報とクリップ情報を含む描画データに従って画素情報を生成するための描画情報処理装置であって、
各クリップ領域の論理式で構成されるクリップ情報を論理和標準形の論理式に変換する手段と、
論理和標準形に変換されたクリップ情報を保持する手段と、
を含むことを特徴とする描画情報処理装置である。
【0018】
また、本発明の第2の側面は、描画情報とクリップ情報を含む描画データに従って画素情報を生成するための描画情報処理装置であって、
各クリップ領域の論理式で構成されるクリップ情報を論理和標準形の論理式に変換する手段と、
論理和標準形に変換されたクリップ情報を保持する手段と、
描画情報を基にして画素情報を生成する際に、論理和標準形のクリップ情報を適用してクリップ処理する手段と、
を具備することを特徴とする描画情報処理装置である。
【0019】
また、本発明の第3の側面は、描画情報とクリップ情報を含む描画データに従って画素情報を生成するための描画情報処理装置であって、
各クリップ領域の論理式で構成されるクリップ情報を論理和標準形の論理式に変換する手段と、
論理和標準形を基に、OR枝を束ねるとともにクリップ情報の識別子を持つ節点からなる第1層と、AND枝を束ねた節点からなる第2層と、個々のクリップ領域に該当する節点からなる第3層とで構成される、クリップ情報に関するAND−ORグラフを生成する手段と、
生成したAND−ORグラフの第2の節点を走査線方向に従って整列する手段と、
整列されたAND−ORグラフの形態でクリップ情報を保持する手段と、
を含むことを特徴とする描画情報処理装置である。
【0020】
また、本発明の第4の側面は、描画情報とクリップ情報を含む描画データに従って画素情報を生成するための描画情報処理装置であって、
(a)各クリップ領域の論理式で構成されるクリップ情報を論理和標準形の論理式に変換する手段と、
(b)論理和標準形を基に、OR枝を束ねるとともにクリップ情報の識別子を持つ節点からなる第1層と、AND枝を束ねた節点からなる第2層と、個々のクリップ領域に該当する節点からなる第3層とで構成される、クリップ情報に関するAND−ORグラフを生成する手段と、
(c)生成したAND−ORグラフの第2の節点を走査線方向に従って整列する手段と、
(d)整列されたAND−ORグラフの形態でクリップ情報を保持する手段と、
(e)描画情報を基にして画素情報を走査線毎に逐次生成する描画手段と、
(f)AND−ORグラフを探索して、描画処理中の走査線に対応するクリップ領域を抽出してクリップ処理するクリップ処理手段と、
を具備することを特徴とする描画情報処理装置である。
【0021】
本発明の第4の側面に係る描画情報処理装置において、前記描画手段(e)は、バンド単位若しくは走査線単位で描画処理を並列化してもよい。
【0022】
また、前記クリップ処理手段(f)は、AND−ORグラフのAND枝単位でクリップ処理を並列化してもよい。
【0023】
また、本発明の第5の側面は、描画情報とクリップ情報を含む描画データに従って画素情報を生成するための描画情報処理方法であって、
各クリップ領域の論理式で構成されるクリップ情報を論理和標準形の論理式に変換するステップと、
論理和標準形に変換されたクリップ情報を保持するステップと、
描画情報を基にして画素情報を生成する際に、論理和標準形のクリップ情報を適用してクリップ処理するステップと、
を具備することを特徴とする描画情報処理方法である。
【0024】
また、本発明の第6の側面は、描画情報とクリップ情報を含む描画データに従って画素情報を生成するための描画情報処理方法であって、
(a)各クリップ領域の論理式で構成されるクリップ情報を論理和標準形の論理式に変換するステップと、
(b)論理和標準形を基に、OR枝を束ねるとともにクリップ情報の識別子を持つ節点からなる第1層と、AND枝を束ねた節点からなる第2層と、個々のクリップ領域に該当する節点からなる第3層とで構成される、クリップ情報に関するAND−ORグラフを生成するステップと、
(c)生成したAND−ORグラフの第2の節点を走査線方向に従って整列するステップと、
(d)整列されたAND−ORグラフの形態でクリップ情報を保持するステップと、
(e)描画情報を基にして画素情報を走査線毎に逐次生成する描画ステップと、(f)AND−ORグラフを探索して、描画処理中の走査線に対応するクリップ領域を抽出してクリップ処理するクリップ処理ステップと、
を具備することを特徴とする描画情報処理方法である。
【0025】
本発明の第6の側面に係る前記描画ステップ(e)は、バンド単位若しくは走査線単位で描画処理を並列化してもよい。
【0026】
また、前記クリップ処理ステップ(f)は、AND−ORグラフのAND枝単位でクリップ処理を並列化してもよい。
【0027】
また、本発明の第7の側面は、描画データをクリップするための、複数のクリップ領域の論理式で構成されるクリップ情報であって、
単一のクリップ領域又は複数のクリップ領域の論理積からなる各項と、
各項を結ぶ論理和と、
で構成される論理和標準形であることを特徴とするクリップ情報
である。
【0028】
しかして、本発明によれば、領域和の形式でクリップ情報を指定することが許容される。そして、領域和を含むクリップ情報の指定を論理和標準形に変形することで、領域積のみを許す従来のクリップ処理と同等の性能を有するクリップ処理を実現することができる。また、クリップ情報をグラフ情報として表現するとともにグラフ構造に区間値の情報を付加することで、並列に描画処理を実行するシステムにおいても効率的な動作を実現することができる。
【0029】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0030】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施例を詳解する。
【0031】
図1には、本発明を実現する描画情報処理装置100の原理を模式的に示したブロック図を示している。描画情報処理装置100は、描画処理に特化してデザインされた専用のハードウェアであってもよいが、汎用コンピュータ・システム上で稼動するソフトウェア・プログラム(例えば描画処理(ラスタライズ)用のアプリケーション)としても実装することができる。
【0032】
同図に示すように、描画情報処理装置100は、入力解析部10と、クリップ標準化部20と、グラフ構造生成保持部30と、対応処理部40と、描画部50と、ページ・メモリ60とで構成される。以下、各部について説明する。
【0033】
入力解析部10は、入力情報を解析するためのモジュールである。ここで言う入力情報は、特に、各描画要素に関する描画のためのデータを記述した描画情報と、描画情報のクリップ領域を定義したクリップ情報とを指す。入力解析部10における処理は、入力情報のデータ形式や文法に依存するが、本発明の要旨には直接関連しないのでここでは敢えて説明しない。
【0034】
クリップ標準化部20は、入力解析部10からクリップ情報を受け取ってこれを処理するためのモジュールである。クリップ情報には、個々のクリップ形状を表現した形状データと、各クリップ形状間の領域積と領域和を示す演算記号が含まれている。また、各クリップ情報には識別子が与えられているものとする。
【0035】
クリップ標準化部20は、クリップ情報で示された領域積や領域和を記号論理における論理積及び論理和ととらえて、個々のクリップ形状を項とした論理演算式を論理和標準形に変換する操作を行うようになっている。ここで、論理和標準形とは、論理式の要素となる単一項や複数の項の論理積が論理和でつながれた形式の論理式のことである。論理式の単一の項は、個々のクリップ形状に関するクリップ情報に該当する。下式に論理和標準形の一例を示しておく。同式の括弧内は全て、単一項又は複数項の論理積である点に留意されたい。
【0036】
【数1】
(A×B×…)+(X×Y×…)+…
【0037】
全ての論理式が論理和標準形に変形可能であることと、論理式を論理和標準形に変形する方法自体は、論理演算の分野において広く知られている。以下、該変形処理について、一例を挙げて図2を参照しながら説明する。
【0038】
《論理和標準形への変形操作》
まず、与えられた論理式を解析し、最上位の演算子を特定する(ステップS11)。論理式においては、括弧で明示されていない限り左から順に演算子の結合強度が強いものとし、結合強度が最も弱い演算子を最上位の演算子とする。
【0039】
ここで、最上位の演算子が論理和であれば、その演算子の左右両方の項を同じ手順で論理和標準形に変形する(ステップS12,13)。この結果、論理式全体が論理和標準形となる。
【0040】
一方、最上位の演算子が論理積であれば、演算子の左右両方の項を同じ手順で論理和標準形に変形した後に、その結果を展開して論理和標準形にすればよい(ステップS12,14)。
【0041】
以上の手続を再帰的に適用することで、論理式全体を論理和標準形にすることができる(ステップS15)。但し、再帰的な適用を繰り返し行うと、個々のクリップに対応した項に到達し、それ以上再帰的処理を行えなくなる。このような場合には、下式に示す規則を適用すればよい。
【0042】
【数2】
(a×b)×C → [a×b×c]
(a×b)+C → [a×b]+C
(a+b)×C → [a×C]+[b×C]
(a+b)+C → a+b+C
A×(d×e) → [A×d×e]
A×(d+e) → [A×d]+[A×e]
A+(d×e) → A+[d×e]
A+(d+e) → A+d+e
【0043】
上式のa,b,d,eは個々のクリップ形状に対応する単一の項であり、A,Cは処理済の項又は処理済の項同士を論理積でつないだ論理式である。また、矢印の右側(すなわち変換後)の式に現れる鍵括弧[]は、処理済の項又はそれらを論理積でつないだ式として取扱い可能なことを示している。上式の規則を適用することにより、演算式の両側に論理積からなる項と論理和からなる項など全ての形態の論理式が網羅されていることになる。すなわち、全ての論理式を論理和標準形に変形することが判る。
【0044】
クリップ標準化部20において論理和標準形に変形されたクリップ情報は、そのクリップ情報に割り振られた識別子を添えてグラフ構造生成保持部30に送られる。
【0045】
グラフ構造生成保持部30は、与えられたクリップ情報からグラフ構造を生成するとともに、生成したグラフ構造を保持しておくようになっている。
【0046】
グラフ構造生成保持部30は、まず、与えられたクリップ情報からAND−OR木を作成する。図3にはそのデータ構造を模式的に表している。同図に示すように、AND−OR木は3層の木構造を有する。その第1層は、木構造の根であり、この節点にはクリップ情報に付加された識別子が格納される。また、この節点から伸びる枝は全てOR枝である。第2層は、AND枝を束ねた節点が現れる。第2層の節点から伸びる各枝は、個々のクリップ形状に対応する第3層に接続される。
【0047】
論理和標準形に変換された論理式には、同一のクリップ形状に対応する項(節点)が複数の場所に現れることがあるが、木構造の第3層ではこのような現象を区別する必要はない。このため、第2層の複数の節点から同一の第3層の節点へ枝が生成されることがある。このような場合、生成されるデータ構造は、図3に示すようなAND−OR木構造とはならず、図4に示すようなAND−ORグラフとなることがある。
【0048】
グラフ構造生成保持部30は、AND−ORグラフを生成すると、次いで、該グラフの第1層から第2層への枝の整列を行う。整列処理のため、まず第3層の節点に対応するクリップ形状の外接矩形を求める。次いで、第2層の節点の各々において、そこに接続された第3層の各節点に格納された外接矩形の情報を収集して、それらが重畳する範囲を計算する。
【0049】
重畳範囲を計算する手法は幾つか考えられる。この実施例では、各々の外接矩形に関する情報を、主走査方向(水平(x)方向)と副走査方向(垂直(y)方向)の区間値に分解して、それぞれの走査方向の区間値に対してそれらが重なり合う区間を求めることにより行う。図5には、区間値を用いて2つの区間が重畳する範囲を求めるための処理フローを示している。但し、一方の区間V1は始点S1と終点E1で構成され、他方の区間V2は始点S2と終点E2とで構成されるものとする(ステップS21)。まず、各区間の始点同士を比較して大きい方を重畳区間の始点Rsとして選ぶとともに(ステップS22,23,24)、終点同士を比較して小さい方を重畳区間の終点Reとして選び(ステップS25,26,27)。始点と終点で順序が逆転していないかどうかを確認する(ステップS28)。確認が成功裏に終わったときには、重畳区間 Vr[Rs,Re]を結果として採用する(ステップS29)。
【0050】
次いで、第1層の節点では、第2層の節点で計算された区間値を収集して、それらに基づいて枝を整列する。この実施例では、主走査方向の区間値の始点を用いて昇順に整列するものとする(但し、節点を整列するための方式は、本発明の要旨を限定しない)。このようにして生成されたグラフ構造は、グラフ構造生成保持部30において保持される。
【0051】
対応処理部40は、入力解析部10から描画情報を受け取って、これに対応するクリップ情報を特定するためのモジュールである。対応処理部40は、特定されたクリップ情報の識別子を付加して描画情報を描画部50に送る。
【0052】
描画部50は、描画情報を表示・印刷などの出力可能な画素形式に展開するためのモジュールである。この画素形式に展開する処理は、描画情報が表す描画範囲を特定し、その範囲における各走査線に対してクリップ情報で定義された範囲に限って画素形式に展開することで実現される。
【0053】
ある走査線に対して適用すべきクリップ情報を特定するには、まずクリップの識別子を用いてグラフ生成保持部30が保持するグラフの中から該当するAND−ORグラフを探索する。次いで、該AND−ORグラフの第1層の節点から伸びる各枝に付けられた区間値Vrを参照して、処理対象となる枝を特定する。続いて、特定された枝を辿って第2層に節点に到達することで、領域積を求めるべき各クリップ形状が得られる。複数のクリップ領域の論理積を参照して行う描画及びクリップ処理は、従来適用されているいずれの方法を用いてもよい。ここで、AND−ORグラフの第1層の節点から伸びる枝のうち複数の枝が選ばれたときには、それらの枝に全てについて上述と同様の処理を行えばよい。
【0054】
ページ・メモリ60は、描画部50によって展開された画素データを一時保持するための記憶手段である。ページ・メモリ60中の画素データは、その後ディスプレイやプリンタに転送されて、表示又は印刷処理がなされる。
【0055】
ここで、図1で示した描画情報処理装置100の動作を、図6を用いて概略的に説明しておく。
【0056】
描画情報処理装置100に入力される描画データは、描画要素のジオメトリ情報と、描画要素をクリップする領域のジオメトリ情報(すなわちクリップ情報)であるが、クリップ情報の後に描画情報が続くという形式で入力される([数3]を参照のこと)。一度入力されたクリップ情報は、次のクリップ情報が入力されるまでは有効であり、後続の描画要素をクリップし続けることとする。
【0057】
描画情報処理装置100に入力されたデータが描画情報であれば(ステップS52)、対応処理部40がAND−ORグラフを参照して、対応するクリップの識別子を特定する(ステップS53)。
【0058】
また、入力されたデータが描画情報でない、すなわち複数のクリップ形状の論理式の形式で記述されたクリップ情報であれば(ステップS52)、グラフ構造生成保持部30は、まずこのクリップ情報を論理和標準形に変形し(ステップS54)、次いでグラフ構造を生成して保持しておく(ステップS55)。生成されたグラフ構造はAND−ORグラフの構造を有し、その第2層はクリップ区間の始点の値に従って昇順に整列されている。
【0059】
次いで、描画部50は、描画情報を画素データに展開するとともに、クリップ処理を施す(ステップS56)。展開された画素データはページ・メモリ60に出力され、一時格納される(ステップS57)。
【0060】
上述の処理は、描画情報処理装置100への入力がなくなるまで繰り返し実行される(ステップS51)。
【0061】
なお、描画情報処理装置100を構成するためには、図1に示した以外にも多くのコンポーネントが必要である。但し、これらは当業者には周知であり、また、本発明の要旨を構成するものではないので、本明細書中では省略している。
【0062】
次に、具体的な入力データを用いて、描画情報処理装置100の動作を詳細に説明することにする。ここで、描画情報処理装置100に対して以下の描画データが入力されたとする。
【0063】
【数3】
【0064】
上述したように、描画データは、描画要素のジオメトリ情報と、描画要素をクリップする領域のジオメトリ情報(すなわちクリップ情報)で構成され、クリップ情報”clip”の後に描画情報”fill”が続くという形式をとる。上式において、鍵括弧[]内は領域のジオメトリを定義する各頂点座標で占められる。また、クリップ情報の演算子”+”と”X”は夫々、領域和と領域積を表すものとする。一度入力されたクリップ情報は、次のクリップ情報が入力されるまでは有効であり、後続の描画要素をクリップし続けることとする。
【0065】
上式において、クリップ情報は、(100,50),(250,50),(250,250),(100,250)の4点を頂点とする4角形領域と、(250,200),(400,200),(300,400)の3点を頂点とする3角形領域との領域和と、これに対する(200,150),(350,150),(250,300),(200,300)の4点を頂点とする4角形領域との領域積からなる。以下では、記述の簡略化のため、クリップを構成する各領域を夫々C1,C2,C3と呼ぶことにする。
【0066】
また、クリップの次の行には描画情報が記述されている。これは、(225,212.5),(300,212.5),(300,275),(225,275)の4点を頂点とする4角形の内部をblackで塗りつぶす、という描画情報である。[数3]が示す描画データの内容を図7に示しておく。
【0067】
入力解析部10は、この入力データを解析して、クリップ情報の部分を分割してクリップ標準化部20に送る。このとき、送られるクリップ情報には、識別子”CLIP0”が付加されているものとする。続いて、入力データの描画情報の部分を分割して、対応処理部40に送る。描画部50が描画情報を受け取るときに付随して、対応処理部40は現在有効なクリップを特定する情報として識別子”CLIP0”も同時に送るようになっている。
【0068】
クリップ標準化部30では、上述した手順に従ってクリップ情報を標準化すなわち論理和標準形に変形する。まず、クリップ情報の左から順に結合強度を解析して、最上位の演算子が論理積であることを特定する。次いで、この論理演算子の左側の項に対して論理和標準形への変形を試みる。但し、この例では既に論理和の形式となっているので、ここでは何も変形しない。次いで、論理式全体の変形を試みるが、このときは[数2]で示した規則を適用する。この結果、クリップ情報は、図8に示すように論理和標準形へと変形されていく。
【0069】
生成された論理和標準形の論理式は、識別子”CLIP0”とともにグラフ構造生成保持部30に送られる。
【0070】
グラフ構造生成保持部30では、与えられたクリップ情報からAND−ORグラフを生成する。この場合に生成されるAND−ORグラフを図9に示しておく。同図において、第2層から第3層に伸びる枝の間には付けられている円弧状の印は、これらの枝の間に論理積の関係があることを示している。
【0071】
次に、第3層の各節点に該当するクリップ形状の各々に対してその外接矩形を計算し、その結果を主走査方向と副走査方向の区間値に分解する。第2層の節点では、これらの結果に対して図5に示したアルゴリズムを適用して、夫々の区間値が重畳する区間を求める。さらに、第1層では、この結果のうち副走査方向の区間値を取り出して、その始点の値の小さい順(昇順)に枝を整列する。この結果、夫々の枝には図10に示すような区間値が付加されることになる。
【0072】
一方、対応処理部40に送られた描画情報には、クリップ情報を特定するための識別子が付加されて、描画部50に送られる。
【0073】
描画部50では、描画情報を走査線に沿って画素データに展開する。このとき、識別子を用いてクリップ情報を表すAND−ORグラフを特定する。該当するAND−ORグラフを、処理中の走査線の位置を用いて探索して、処理すべきクリップ情報を特定する。例えば、AND−ORグラフの第1層の節点から伸びる2本の枝の区間値を参照すると、走査線y=255に対しては両方の枝に対してクリップ処理が必要であることが判明する。
【0074】
まず、左側の枝を辿ってC1とC3の積領域をクリップ領域として描画処理を行い、次に、右側の枝を辿ってC2とC3の積領域をクリップ領域とした描画処理を行う。これらの描画結果の双方が走査線y=255に対する描画結果となる。この様子を図11乃至図15に示す。
【0075】
図11及び図12は、夫々、C1とC3の積領域と描画要素の関係、C2とC3の積領域と描画要素の関係を図解している。また、図13と図14は、走査線y=255に対してAND−ORグラフの第1層の各々の枝に対応するクリップ領域によってクリップ処理を施した際の描画結果を図解している。また、図15は、これらの描画結果を統合して得られた、走査線y=255上での描画結果を表している。
【0076】
走査線y=255上では、C1とC3の積領域においてx:[225,250]が描画結果となる。また、C2とC3の積領域においては、同様に、x:[256.25,300]が描画結果となる。
【0077】
描画部50は、上述の描画処理を、描画要素が存在する全ての走査線に対して行い、その結果をページ・メモリ60に転送することで、描画要素の描画処理が完了する。
【0078】
図16には、本発明の第2の実施例に係る描画情報処理装置200の構成を模式的に示している。同図に示すように、描画情報処理装置200は、入力解析部110と、クリップ標準化部120と、グラフ構造生成保持部130と、対応処理部140と、描画部151,152,153,…と、ページ・メモリ160とで構成される。図1に示した装置100との主な相違は、複数の描画部151,152,…を並列的に備えている点である。各描画部151,152…は夫々、ページ・メモリ160の一部に相当するバッファ151a,152a,…を有している。
【0079】
この第2の実施例に係る描画情報処理装置200において、入力解析部110、クリップ標準化部120、グラフ構造生成保持部130の各々は、上記第1の実施例に係る描画情報処理装置100の対応する構成要素と略同一の構造及び動作特性を有している。このため、描画情報処理装置200に与えられたクリップ情報は、クリップ標準化部120において論理和標準形の論理式に変形され、グラフ構造生成保持部130ではこの論理式を用いてAND−ORグラフ構造が生成され保持される。
【0080】
一方、対応処理部140では、与えられた描画情報に対応するクリップ情報を特定するための識別を付加して、描画情報を複数の描画部151,152,…の各々に分配する。
【0081】
複数の描画部151,152,…は、画面やページなどの予め定義された範囲において描画情報を画素データに展開し、さらにクリップ処理を行う。このとき、上記第1の実施例と同様に、クリップ情報を参照するときには、グラフ構造の枝に付けられた区間値を参照することで、現在処理中の走査線に対応するクリップ情報を効率的に特定することができる。
【0082】
なお、クリップ情報の参照は、クリップ情報を読み出すだけの処理であるから、複数の描画部151,152,…が並列に動作する場合であっても排他制御する必要はない。
【0083】
各描画部151,152,…が出力する描画結果は、夫々のバッファ151a,152a,…に一時格納される。
【0084】
各バッファ151a…に蓄積された描画結果は、ページ・メモリ160に転送して合成してもよく、あるいは夫々のバッファ151a毎に出力してもよい。
【0085】
第2の実施例に係る描画情報処理装置200では、複数の描画部151,152,…の各々が担当する描画領域を予め定めておくことで、これらを並列に動作させることができる。例えば、バンド単位あるいは走査線単位での並列描画処理を実現することができる。
【0086】
また、図17には、本発明の第3の実施例に係る描画情報処理装置300の構成を模式的に示している。同図に示すように、描画情報処理装置300は、入力解析部210と、クリップ標準化部220と、グラフ構造生成保持部230と、対応処理部240と、描画部250と、ページ・メモリ260と、2以上のクリップ処理部271,272で構成される。
【0087】
この描画情報処理装置300において、入力解析部210、クリップ標準化部220、及びグラフ構造生成保持部230の各々は、上記第1の実施例に係る描画情報処理装置100内の対応する構成要素と略同一の構造及び動作特性を有している。したがって、描画情報処理装置300に与えられたクリップ情報は、クリップ標準化部220によって論理和標準形の論理式に変形され、グラフ構造生成保持部230ではこの論理式を用いてAND−ORグラフ構造が生成され保持される。
【0088】
生成されたAND−ORグラフ構造の第3層を構成する各々の節点は、複数のクリップ処理部271,272に割り振られる。
【0089】
対応処理部240は、上記各実施例と同様に動作する。すなわち、対応処理部240によってクリップ情報を特定するための識別子が付加されてから、描画情報が描画部250に送られる。
【0090】
描画部250では、走査線毎に描画情報を画素データに展開処理し、さらに走査線に対応するクリップ情報を参照してクリップ処理を行う。このときのクリップ処理には、各クリップ処理部271,272が用いられる。クリップ処理部271…の各々は、AND−ORグラフの第3層を構成する各節点に該当するクリップ領域のクリップ処理を分担するので、クリップ処理を高速化することができる。また、各クリップ処理部271…にクリップ情報全体を転送する必要はない。処理された描画結果は、ページ・メモリ260に蓄積される。
【0091】
第3の実施例に係る描画情報処理装置300では、複数のクリップ処理部271,272の各々に対して異なるクリップ領域の組み合わせを割り当てて、処理中の走査線上でのクリップ処理を実行させているので、描画処理全体を高速化することができる訳である。
【0092】
[追補]
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。
【0093】
例えば、上記第1の実施例では、描画部50の描画結果を画素形式としたが、本発明の範囲はこれに限定されるものではなく、描画結果は他の形式、例えばランレングス形式であってもよい(このような場合、ページメモリ60の形式も描画部50の描画結果の形式に合わせるだけでよい)。
【0094】
また、描画部50への入力は、ディスプレイ・リストや台形形式のデータ構造でもよく、この場合は、グラフ構造を探索して処理対象のクリップ領域を特定した後に、夫々のデータ構造に対応したクリップ処理技法を適用してクリップ処理を行えばよい。
【0095】
要するに、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0096】
【発明の効果】
以上詳記したように、本発明によれば、コンピュータ・システム上でコンピュータ・グラフィックス(CG)やデスクトップ・パブリッシング(DTP)などのための効率的な描画情報処理を行うことができる、優れた描画情報処理装置及び描画情報処理方法を提供することができる。
【0097】
また、本発明によれば、描画情報に基づいて生成された画素情報を複数のクリップ領域を用いてクリップ処理することができる、優れた描画情報処理装置及び描画情報処理方法を提供することができる。
【0098】
また、本発明によれば、複数のクリップ領域の論理積だけでなく論理和で構成されるクリップ情報を用いて効率的で且つデザイン効果のあるクリップ処理することができる、優れた描画情報処理装置及び描画情報処理方法を提供することができる。
【0099】
また、本発明によれば、実際にクリップ情報の和領域の形状を計算することなく効率的にクリップ処理を行うことができる、優れた描画情報処理装置及び描画情報処理方法を提供することができる。
【0100】
本発明によれば、領域和の形式でクリップ情報を指定することが許容される。本発明は、領域和を含むクリップの指定を論理和標準形に変形することで、領域積のみを許す従来のクリップ処理と同等の性能を有するクリップ処理を実現する。また、クリップ情報をグラフ情報として表現するとともにグラフ構造に区間値の情報を付加することで、並列に描画処理を実行するシステムにおいても効率的な動作を実現することができる。
【図面の簡単な説明】
【図1】 本発明を実現する描画情報処理装置100の原理を模式的に示したブロック図である。
【図2】 クリップ標準化部20が実行する、論理式を論理和標準形に変形するための処理を示したフローチャートである。
【図3】 グラフ構造生成保持部30が生成したクリップ情報のAND−OR木の木構造を模式的に示した図である。
【図4】 論理和標準形において同一のクリップ形状に対応する項が複数の場所に現れるために第2層の複数の節点から同一の第3層の節点へ枝が接続された、AND−ORグラフを示した図である。
【図5】 2つの区間値から重畳する区間を求めるための処理をフローチャートで示した図である。
【図6】 描画情報処理装置100が実行するオペレーションを概略的に示したフローチャートである。
【図7】 [数3]で記述された入力データが表す図形及びクリップを図解したものである。
【図8】 クリップ情報が論理和標準形に変形されていく様子を示した図である。
【図9】 論理和標準形を基に生成されたAND−ORグラフの構造を模式的に示した図である。
【図10】 整列処理した後に各節点に区間値が付加されたAND−ORグラフを示した図である。
【図11】 C1とC3の積領域と描画要素の関係を示した図である。
【図12】 C2とC3の積領域と描画要素の関係を示した図である。
【図13】 走査線y=255に対してAND−ORグラフの第2層の一方の枝に対応するクリップ領域によってクリップ処理を施した際の描画結果を表した図である。
【図14】 走査線y=255に対してAND−ORグラフの第2層の他方の枝に対応するクリップ領域によってクリップ処理を施した際の描画結果を表した図である。
【図15】 これらの描画結果を統合して得られた、走査線y=255上での描画結果を表した図である。
【図16】 本発明の第2の実施例に係る描画情報処理装置200の構成を模式的に示した図である。
【図17】 本発明の第3の実施例に係る描画情報処理装置300の構成を模式的に示した図である。
【符号の説明】
10…入力解析部
20…クリップ標準化部
30…グラフ構造生成保持部
40…対応処理部
50…描画部
60…ページ・メモリ
100…第1の実施例に係る描画情報処理装置
200…第2の実施例に係る描画情報処理装置
300…第3の実施例に係る描画情報処理装置
Claims (9)
- 描画情報とクリップ情報を含む描画データに従って画素情報を生成するための描画情報処理装置であって、
(a)各クリップ領域の論理式で構成されるクリップ情報を論理和標準形の論理式に変換する手段と、
(b)論理和標準形を基に、OR枝を束ねるとともにクリップ情報の識別子を持つ節点からなる第1層と、AND枝を束ねた節点からなる第2層と、個々のクリップ領域に該当する節点からなる第3層とで構成される、クリップ情報に関するAND-ORグラフを生成する手段と、
(c)生成したAND-ORグラフの第3層の各節点に該当するクリップ形状の外接矩形の主走査線方向及び副走査線方向の区間値を求め、第2層の節点において各AND枝が持つ区間値が重畳する区間を求め、第1層において副走査線の区間知の始点の値に従ってOR枝を整列する手段と、
(d)整列されたAND-ORグラフの形態でクリップ情報を保持する手段と、
を具備することを特徴とする描画情報処理装置。 - (e)描画情報を基にして画素情報を主走査線毎に逐次生成する描画手段と、
(f)前記手段(d)により保持されるAND−ORグラフを、処理中の走査線の副走査線方向に位置を用いて探索し、第1層の節点から伸びるOR枝の区間値を参照することでクリップ処理が必要となるクリップ情報を特定して、前記手段(e)により生成された画素情報をクリップ処理するクリップ処理手段と、
をさらに備えることを特徴とする請求項1に記載の描画情報処理装置。 - 前記描画手段(e)は、バンド単位若しくは走査線単位で描画処理を並列化している、
ことを特徴とする請求項2に記載の描画情報処理装置。 - 前記クリップ処理手段(f)は、AND-ORグラフのAND枝単位でクリップ処理を並列化する、
ことを特徴とする請求項2に記載の描画情報処理装置。 - 描画情報とクリップ情報を含む描画データに従って画素情報を生成するための描画情報処理方法であって、
(a)各クリップ領域の論理式で構成されるクリップ情報を論理和標準形の論理式に変換するステップと、
(b)論理和標準形を基に、OR枝を束ねるとともにクリップ情報の識別子を持つ節点からなる第1層と、AND枝を束ねた節点からなる第2層と、個々のクリップ領域に該当する節点からなる第3層とで構成される、クリップ情報に関するAND-ORグラフを生成するステップと、
(c)生成したAND-ORグラフの第3層の各節点に該当するクリップ形状の外接矩形の主走査線方向及び副走査線方向の区間値を求め、第2層の節点において各AND枝が持つ区間値が重畳する区間を求め、第1層において副走査線の区間知の始点の値に従ってOR枝を整列するステップと、
(d)整列されたAND-ORグラフの形態でクリップ情報を保持するステップと、
を具備することを特徴とする描画情報処理方法。 - (e)描画情報を基にして画素情報を主走査線毎に逐次生成する描画ステップと、
(f)前記ステップ(d)において保持されるAND−ORグラフを、処理中の走査線の副走査線方向に位置を用いて探索し、第1層の節点から伸びるOR枝の区間値を参照することでクリップ処理が必要となるクリップ情報を特定して、前記ステップ(e)において生成された画素情報をクリップ処理するクリップ処理ステップと、
をさらに備えることを特徴とする請求項5に記載の描画情報処理方法。 - 前記描画ステップ(e)では、バンド単位若しくは走査線単位で描画処理を並列化している、
ことを特徴とする請求項6に記載の描画情報処理方法。 - 前記クリップ処理ステップ(f)では、AND-ORグラフのAND枝単位でクリップ処理を並列化する、
ことを特徴とする請求項6に記載の描画情報処理方法。 - 描画情報とクリップ情報を含む描画データに従って画素情報を生成するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを格納する記憶媒体であって、前記コンピュータ・プログラムは前記コンピュータ・システムに対し、
(a)各クリップ領域の論理式で構成されるクリップ情報を論理和標準形の論理式に変換する手順と、
(b)論理和標準形を基に、OR枝を束ねるとともにクリップ情報の識別子を持つ節点からなる第1層と、AND枝を束ねた節点からなる第2層と、個々のクリップ領域に該当する節点からなる第3層とで構成される、クリップ情報に関するAND-ORグラフを生成する手順と、
(c)生成したAND-ORグラフの第3層の各節点に該当するクリップ形状の外接矩形の主走査線方向及び副走査線方向の区間値を求め、第2層の節点において各AND枝が持つ区間値が重畳する区間を求め、第1層において副走査線の区間知の始点の値に従ってOR枝を整列する手順と、
(d)整列されたAND-ORグラフの形態でクリップ情報を保持する手順と、
(e)描画情報を基にして画素情報を主走査線毎に逐次生成する描画手順と、
(f)前記手順(d)により保持されるAND−ORグラフを、処理中の走査線の副走査線方向に位置を用いて探索し、第1層の節点から伸びるOR枝の区間値を参照することでクリップ処理が必要となるクリップ情報を特定して、前記手順(e)により生成された画素情報をクリップ処理するクリップ処理手順と、
を実行させることを特徴とする記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23060998A JP3750363B2 (ja) | 1998-08-17 | 1998-08-17 | 描画情報処理装置及び描画情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23060998A JP3750363B2 (ja) | 1998-08-17 | 1998-08-17 | 描画情報処理装置及び描画情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000067207A JP2000067207A (ja) | 2000-03-03 |
JP3750363B2 true JP3750363B2 (ja) | 2006-03-01 |
Family
ID=16910450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23060998A Expired - Fee Related JP3750363B2 (ja) | 1998-08-17 | 1998-08-17 | 描画情報処理装置及び描画情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3750363B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6831660B1 (en) | 2000-06-15 | 2004-12-14 | International Business Machines Corporation | Method and apparatus for graphics window clipping management in a data processing system |
-
1998
- 1998-08-17 JP JP23060998A patent/JP3750363B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000067207A (ja) | 2000-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5542052A (en) | Applying traps to a printed page specified in a page description language format | |
US20100315431A1 (en) | Combining overlapping objects | |
JP4614389B2 (ja) | 画像形成装置、印刷装置、表示装置、描画処理方法、及びプログラム | |
US8243322B2 (en) | Image data processor and image data processing program storage medium for variable printing | |
JPH10105361A (ja) | オブジェクト指定方法及びシステム | |
JPH04104324A (ja) | プログラム作成装置 | |
US6052128A (en) | Method and apparatus for clipping convex polygons on single instruction multiple data computers | |
JPH01304588A (ja) | クリッピング処理方式 | |
JP3750363B2 (ja) | 描画情報処理装置及び描画情報処理方法 | |
JP6643056B2 (ja) | 画像処理装置、画像処理方法、データ生成方法及びプログラム | |
JP4775723B2 (ja) | 画像処理装置および画像処理プログラム | |
JP2006227824A (ja) | 図面認識方法および装置 | |
JPH1125282A (ja) | 画像形成装置およびグラデーションパターン生成方法 | |
JP2006338478A (ja) | 画像記述データ処理方法、装置及びプログラム | |
JP4145714B2 (ja) | 印刷処理装置 | |
JPH1011593A (ja) | 画像形成装置 | |
Shi | Two image-template operations for binary image processing | |
JP6786415B2 (ja) | 情報処理装置、情報処理方法、プログラム、及び画像形成装置 | |
JP2937509B2 (ja) | ビットマップ展開方式 | |
JP2009075805A (ja) | 画像形成装置 | |
JP3163577B2 (ja) | ベクトル・フォント生成方法 | |
JPH1021020A (ja) | Pdlデータ処理装置 | |
JP2007299321A (ja) | 情報処理装置、情報処理方法、情報処理プログラム、及び、情報記憶媒体 | |
JP2001222718A (ja) | 画像データ変換方法、画像データ変換システムおよびコンピュータが読取り可能な記憶媒体 | |
JP4861084B2 (ja) | 描画処理装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050510 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050517 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050809 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051007 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051128 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091216 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101216 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111216 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |