(57)【要約】【課題】ベジエ曲線を含む図形オブジェクトに対して台形分割を行う場合であっても、パスセグメント数の極端な増加を抑えることができ、元の図形オブジェクトについての情報を最大限に保持しながら図形処理（画像処理）を行えるようにする。【解決手段】ベジエ曲線を含む図形オブジェクトに対して台形分割を行う場合に、その台形分割を、上底１と下底２を結ぶ斜辺３が直線またはベジエ曲線である拡張台形を用いて行うようにする。すなわち、拡張台形を用いることで、その台形分割をベジエ曲線の直線近似を経ることなく行えるようにし、またベジエ曲線をベジエ曲線のまま取り扱うことを可能にする。【選択図】　　　　図１
2004078382.tif 000002
【特許請求の範囲】
【請求項１】
ベジエ曲線を含む図形オブジェクトに対して台形分割を行うための画像処理装置であって、
前記台形分割を、上底と下底を結ぶ斜辺が直線またはベジエ曲線である拡張台形を用いて行う
ことを特徴とする画像処理装置。
【請求項２】
ベジエ曲線を含む図形オブジェクトに対して台形分割を行うための画像処理方法であって、
前記台形分割を、上底と下底を結ぶ斜辺が直線またはベジエ曲線である拡張台形を用いて行う
ことを特徴とする画像処理方法。
【請求項３】
ベジエ曲線を含む図形オブジェクトに対して台形分割を行うための画像処理プログラムであって、
コンピュータに、
上底と下底を結ぶ斜辺が直線またはベジエ曲線である拡張台形を用いて前記台形分割を行わせる
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、図形オブジェクトを描画するための画像データに対する画像処理、特に図形オブジェクトの台形分割を含む画像処理を行う画像処理装置、画像処理方法および画像処理プログラムに関する。
【０００２】
【従来の技術】
近年、パーソナルコンピュータ（以下「ＰＣ」と略す）でドキュメントを電子的に作成し、そのドキュメントをプリンタにて印刷出力する、といったことが広く行われている。この場合に、ドキュメントの内容は、電子データ（画像データ）として取り扱われる。すなわち、その画像データについて描画処理を行うことで、ドキュメントの内容が表示可能となるのである。このとき、ドキュメント中の図形については、その描画処理が、例えばアウトラインの描画とその内部領域の塗り潰しによって行われることがある。
【０００３】
このような図形の描画アルゴリズムが適用される場合において、その図形オブジェクトは、複数のパスセグメントからなるアウトラインと、その内部領域に対する塗り潰しルールとによって表現される。ここで、パスセグメントとは、図形の描画平面上における座標点やその座標点同士を結ぶ線分等のことをいう。これらのパスセグメントが集まってパスを構成する。つまり、図形のアウトラインは、パスによって表現されるのである。なお、パスセグメントが表現する線分には直線と曲線の両方が含まれるが、その場合の曲線としてはベジエ（Ｂｅｚｉｅｒ）曲線が広く知られている。ベジエ曲線とは、様々なグラフィックソフトで用いられている一般的な曲線である。
【０００４】
ところで、上述した描画アルゴリズムにより図形の描画処理を行うときには、図形オブジェクトに対して台形分割を行う必要が生じることがある。例えば図５に示すように、パスと塗り潰しルールで表現される複数の図形オブジェクトＡ，Ｂがあり、それぞれの一部が互いに重なり合う場合を考える。この場合に、例えば重なり合う領域部分について色のすかし処理、すなわち新たな色情報を与えるためには、その重なり合う領域部分を、新たなパスと塗り潰しルールで表現される図形オブジェクトＣとして抽出しなければならない。この抽出は、通常、台形分割を用いて行われる。
【０００５】
台形分割は、従来、以下に述べるようにして行われる。例えば図６に示すように、互いに重なり合う図形オブジェクトＡ，Ｂがベジエ曲線を含むものであると、先ず、各図形オブジェクトＡ，Ｂにおけるベジエ曲線を直線近似する。そして、直線近似後の各図形オブジェクトＡ，Ｂの頂点座標に、描画平面の一座標軸（例えば水平方向軸）と平行な分割線Ｄを引き、これにより各図形オブジェクトＡ，Ｂを複数の台形状図形の集合に分割する。その後、各台形状図形についてディスプレイリスト等からベクタを繋ぎ合わせて（座標値が一致する点を繋ぎ合わせて）領域別のパス（アウトライン）を再構築する。これにより、元の図形オブジェクトＡ，Ｂから新たなパスと塗り潰しルールで表現される図形オブジェクトＡ′，Ｂ′，Ｃが得られるのである。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した従来の台形分割の手法では、台形分割を経た後のパスセグメント数が元のパスセグメント数に比べて多くなってしまう。例えば、図６の例では、元の総パスセグメント数；１２×２＝２４が、台形分割を経た後には総パスセグメント数；３６×２＋２４＝９６（８分割時）または６８×２＋４４＝１８０（１６分割時）に増加してしまう。このようなパスセグメント数の増加は、描画処理に用いるメモリ容量の増大化やその描画処理に要する時間の増大化等を招いてしまう。したがって、台形分割を行う必要がある場合であっても、パスセグメント数の増加は極力抑制すべきである。
【０００７】
また、上述した台形分割の手法では、ベジエ曲線を直線近似しているため、ディスプレイリスト等からの再構築を行っても、本来（分割前）の図形オブジェクトについての情報が損なわれてしまうおそれがある。さらに、塗り潰しルールによっては（例えば、塗り潰しルールとして知られているＮｏｎ−Ｚｅｒｏ　Ｗｉｎｄｉｎｇルールの場合）、ディスプレイリスト等からの再構築自体が困難となる可能性も考えられる。
【０００８】
そこで、本発明は、ベジエ曲線を含む図形オブジェクトに対して台形分割を行う場合であっても、パスセグメント数の極端な増加を抑えることができ、元の図形オブジェクトについての情報を最大限に保持しながら図形処理（画像処理）を行うことのできる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明は、上記目的を達成するために案出された画像処理装置で、ベジエ曲線を含む図形オブジェクトに対して台形分割を行うための画像処理装置であって、前記台形分割を、上底と下底を結ぶ斜辺が直線またはベジエ曲線である拡張台形を用いて行うことを特徴とするものである。
【００１０】
また、本発明は、上記目的を達成するために案出された画像処理方法で、ベジエ曲線を含む図形オブジェクトに対して台形分割を行うための画像処理方法であって、前記台形分割を、上底と下底を結ぶ斜辺が直線またはベジエ曲線である拡張台形を用いて行うことを特徴とする。
【００１１】
また、本発明は、上記目的を達成するために案出された画像処理プログラムで、ベジエ曲線を含む図形オブジェクトに対して台形分割を行うための画像処理プログラムであって、コンピュータに、上底と下底を結ぶ斜辺が直線またはベジエ曲線である拡張台形を用いて前記台形分割を行わせることを特徴とするものである。
【００１２】
上記構成の画像処理装置、上記手順の画像処理方法および上記構成の画像処理プログラムでは、ベジエ曲線を含む図形オブジェクトに対して台形分割を行う場合であっても、拡張台形を用いることで、その台形分割をベジエ曲線の直線近似を経ることなく行うことができる。すなわち、ベジエ曲線をベジエ曲線のまま取り扱うことが可能となるので、極端なパスセグメント数の増加を抑えられ、また元の図形オブジェクトについての情報を最大限に保持し得るようになる。
【００１３】
【発明の実施の形態】
以下、図面に基づき本発明に係る画像処理装置、画像処理方法および画像処理プログラムについて説明する。
【００１４】
ここで、本発明の実施の形態に先立ち、拡張台形について説明する。
図１は、拡張台形の概念を示す説明図である。一般に、「台形」とは、互いに平行な２辺（一方を「上底」、他方を「下底」という）とこれらを結ぶ２つの斜辺とからなる四辺形であって、２つの斜辺がいずれも直線からなるものをいう。れに対して、本明細書における「拡張台形」とは、例えば図１に示すように、上底１と下底２を結ぶ斜辺３が直線またはベジエ曲線であるものをいう。さらに詳しくは、以下に述べる▲１▼〜▲３▼の各条件をいずれも満たすものをいう。すなわち、拡張台形とは、▲１▼左右の斜辺３が直線またはベジエ曲線であること、▲２▼ベジエ曲線の場合はｙ方向（上底１および下底２との直交方向）の変曲点を持たないこと、▲３▼左右の斜辺３同士は交差しないこと、の各条件を全て満たすものをいう。本実施形態における画像処理装置、画像処理方法および画像処理プログラムは、このような拡張台形を用いて台形分割を行う点に大きな特徴がある。
【００１５】
続いて、画像処理装置の概略構成、すなわち台形分割を行うためのシステム構成について簡単に説明する。
図２は、画像処理装置の概略構成例を示すブロック図である。図例の画像処理装置１０は、プリンタに搭載されて用いられるものである。さらに詳しくは、ＰＣ２０で生成された画像データを、そのＰＣ２０からネットワークを介して受信すると、受信した画像データを解釈（例えば、直線、曲線、塗り潰し、フォント等の描画命令の解釈）して、必要な画像処理（台形分割処理を含む）および図形描画処理を行い、その描画後のラスタ画像データをプリンタエンジン３０に対して送出するものである。そのために、画像処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ　）１１と、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）１２と、ＲＡＭ（ＲａｎｄｏｍＡｃｃｅｓｓ　Ｍｅｍｏｒｙ）１３と、入力インターフェース（以下、インターフェースを「Ｉ／Ｆ」と略す）１４と、プリンタエンジンＩ／Ｆ１５と、これらを互いに接続する内部バス１６とを備えている。そして、ＣＰＵ１１がＲＯＭ１２内に格納されているプログラムを実行することにより、ＲＡＭ１３をワークエリアとして用いつつ、画像データを解釈、必要な画像処理および図形描画処理等を行うように構成されている。つまり、台形分割処理は、ＣＰＵ１１によって実行されるのである。
【００１６】
ただし、画像処理装置１０は、プリンタではなく、ＰＣ２０に搭載されて用いられるものであってもよい。また、その場合に、ＣＰＵ１１が実行するプログラムは、予めＲＯＭ１２内にインストールされているのではなく、コンピュータ読み取り可能な記憶媒体に格納されて提供されるものであっても、または有線若しくは無線による通信手段を介して配信されるものであってもよい。つまり、本実施形態で説明する台形分割は、コンピュータを画像処理装置１０として機能させるための画像処理プログラムによっても行うことが可能である。
【００１７】
次に、上述した画像処理装置１０における処理動作例、すなわち台形分割を行うための画像処理方法について説明する。なお、台形分割以外の画像処理（画像データを解釈や図形描画処理の詳細等）については、従来と同様であるため、ここではその説明を省略する。
【００１８】
図３は画像処理方法の手順の一例を示すフローチャートであり、図４は台形分割される図形オブジェクトの一具体例を示す説明図である。なお、図４では、既に説明した図５の場合と同一の図形オブジェクトを例に挙げている。
【００１９】
台形分割にあたっては、先ず、処理対象となる図形オブジェクトＡ，Ｂについて、そのパスにベジエ曲線が含まれているか否かを判断し、含まれていればそのベジエ曲線を抽出する。そして、抽出したベジエ曲線を、例えば描画平面におけるｙ方向（拡張台形の上底１および下底２との直交方向）の変曲点で分割する（図３のステップ１０１、以下ステップを「Ｓ」と略す）。ただし、変曲点の基準となる方向は、予め定められていれば、必ずしも描画平面におけるｙ方向である必要はないが、後述する拡張台形の上底１および下底２が延びる方向とは直交しているものとする。
【００２０】
ベジエ曲線を変曲点で分割した後は、さらに、パスセグメント同士の交点で各パスセグメントを分割する（図３のＳ１０２）。このときのパスセグメントには、ベジエ曲線だけではなく、直線も含まれる。すなわち、図形オブジェクトＡ，Ｂを構成するパスセグメントのうち、線分に関する全てのパスセグメントについて、交点での分割を行う。
【００２１】
そして、変曲点および交点での分割を経た後は、処理対象となる図形オブジェクトＡ，Ｂについて、拡張台形を用いた台形分割を行う（図３のＳ１０３）。具体的には、上述した各ステップで得られた変曲点座標および交点座標に、描画平面のｘ方向に平行な分割線Ｄを引く。このとき、分割線Ｄの方向は、予め定められていれば、必ずしも描画平面におけるｘ方向である必要はないが、変曲点による分割時に基準とした方向とは直交しているものとする。これは、分割線Ｄの方向が、拡張台形の上底１および下底２が延びる方向となるからである。
【００２２】
つまり、分割線Ｄを引くことで、各図形オブジェクトＡ，Ｂは、斜辺にベジエ曲線を含む複数の拡張台形に分割されることになる。この状態での各拡張台形は、例えば分割点の座標値、斜辺３となるベジエ曲線、並びに、上底１および下底２となる直線のパスセグメントによって表現される。
【００２３】
このようにして、処理対象となる図形オブジェクトＡ，Ｂを複数の拡張台形の集合とした後は、次いで、各領域別の図形オブジェクトＡ′，Ｂ′，Ｃを得るために、その拡張台形の集合からパスを再構築する（図３のＳ１０４）。この再構築は、例えば、各拡張台形についてのディスプレイリスト等からベクタを繋ぎ合わせて（座標値が一致する点を繋ぎ合わせて）領域別のパスを再構築することで行えばよい。これにより、元の図形オブジェクトＡ，Ｂから新たなパスと塗り潰しルールで表現される図形オブジェクトＡ′，Ｂ′，Ｃが得られるのである。
【００２４】
その後は、必要に応じてパスセグメントの合成を行う（図３のＳ１０５）。すなわち、合成できるパスセグメントについては、その合成を行うようにする。合成できるパスセグメントとしては、例えば、方向が同一な直線同士で一方の終点座標が他方の始点座標と一致するものや、これに準ずるベジエ曲線同士が挙げられる。これらのパスセグメントは、本来一つとして扱われるべきであるにも拘わらず、上述した変曲点の分割や交点での分割を経て二つ以上に分割されている可能性があるからである。これらのパスセグメントの合成を行うことで、新たに表現される図形オブジェクトＡ′，Ｂ′，Ｃは、そのパスセグメント数が削減されることになる。
【００２５】
ところで、以上に説明した処理にあたっては、その過程でパスセグメントの抽出、分割、追加、合成、パスの再構築等が必要となるが、これらは一般的な幾何演算処理によって実現すればよい。つまり、一般に広く知られている図形処理技術を用いれば実現することができるため、ここではその説明を省略する。
【００２６】
以上に説明したように、本実施形態で説明した画像処理装置１０、この画像処理装置１０で行われる画像処理方法、および画像処理装置１０としての機能を実現する画像処理プログラムによれば、いずれも、拡張台形を用いて台形分割を行うため、ベジエ曲線を含む図形オブジェクトに対して台形分割を行う場合であっても、その台形分割をベジエ曲線の直線近似を経ることなく行うことができる。すなわち、台形の左右の斜辺を、単なる直線ではなく、一般のセグメント群にまで拡張しているので、ベジェ曲線や連続した線分を元の状態（情報）のまま保持しておくことが可能となる。そのため、台形分割を行っても、ベジエ曲線についてのパスセグメントをそのまま取り扱うことができ、パスの再構築後もベジェ曲線として処理することができるので、極端なパスセグメント数の増加を抑えられる。具体的には、例えば図４に示す例では、元の総パスセグメント数；１２×２＝２４に対して、台形分割を経た後は総パスセグメント数；２４×２＋１２＝６０となり、従来の場合（図６参照）に比べて総パスセグメント数の増加量が少なくなる。
【００２７】
このように、本実施形態の画像処理装置１０、画像処理方法および画像処理プログラムによれば、拡張台形を用いて台形分割を行うことで、パスセグメント数の増加を抑えられる。したがって、台形分割を行う必要がある場合において、描画処理に用いるメモリ容量の増大化やその描画処理に要する時間の増大化等についても極力抑制することができ、例えばメモリ容量が従来の１／３〜１／４程度で済むことも期待される。
【００２８】
また、本実施形態の画像処理装置１０、画像処理方法および画像処理プログラムでは、台形分割を行ってもベジエ曲線のパスセグメントについてはそのままの状態で取り扱うため、パスの再構築の際に本来（分割前）の図形オブジェクトについての情報が損なわれてしまうことがなく、しかも塗り潰しルールの種類によって再構築自体が困難となるといったこともない。したがって、元の図形オブジェクトについての情報を最大限に保持し得るため、パスセグメント数の増加抑制を通じて画像処理の効率向上を実現するだけではなく、その画像処理の際の信頼度も向上することとなり、結果として画像処理後の出力画像の画質向上も期待される。
【００２９】
なお、本実施形態で説明した台形分割は、互いに重なり合う領域を持つ図形オブジェクトＡ，Ｂを複数の独立した図形オブジェクトＡ′，Ｂ′，Ｃに分割する場合だけではなく、他の場合にも適用可能であることはいうまでもない。すなわち、台形描画を利用する描画アルゴリズムを用いたものであれば、本発明を適用することで、パスセグメント数の増加抑制によるメモリ容量削減等を実現することができる。
【００３０】
【発明の効果】
以上に説明したように、本発明に係る画像処理装置、画像処理方法および画像処理プログラムによれば、ベジエ曲線を含む図形オブジェクトに対して台形分割を行う場合であっても、パスセグメント数の極端な増加を抑えることができ、元の図形オブジェクトについての情報を最大限に保持しながら画像処理を行うことができるため、その画像処理に必要となるメモリ容量の削減や処理時間の短縮化等を実現することができる。
【図面の簡単な説明】
【図１】本発明において用いられる拡張台形の概念を示す説明図である。
【図２】本発明に係る画像処理装置の概略構成例を示すブロック図である。
【図３】本発明に係る画像処理方法の手順の一例を示すフローチャートである。
【図４】本発明に係る画像処理方法により台形分割される図形オブジェクトの一具体例を示す説明図である。
【図５】処理対象となる図形オブジェクトおよび処理後における図形オブジェクトの一具体例を示す説明図である。
【図６】従来の画像処理方法により台形分割される図形オブジェクトの一具体例を示す説明図である。
【符号の説明】
１…上底、２…下底、３…斜辺、１０…画像処理装置、１１…ＣＰＵ、１２…ＲＡＭ、１３…ＲＯＭ、１４…入力Ｉ／Ｆ、１５…プリンタエンジンＩ／Ｆ、１６…内部バス、２０…ＰＣ、３０…プリンタエンジン、Ａ，Ａ′，Ｂ，Ｂ′，Ｃ…図形オブジェクト、Ｄ…分割線
【図１】
2004078382.tif 000003
【図２】
2004078382.tif 000004
【図３】
2004078382.tif 000005
【図４】
2004078382.tif 000006
【図５】
2004078382.tif 000007
【図６】
2004078382.tif 000008