JP4144290B2 - 画像処理装置および画像処理プログラム - Google Patents
画像処理装置および画像処理プログラム Download PDFInfo
- Publication number
- JP4144290B2 JP4144290B2 JP2002235407A JP2002235407A JP4144290B2 JP 4144290 B2 JP4144290 B2 JP 4144290B2 JP 2002235407 A JP2002235407 A JP 2002235407A JP 2002235407 A JP2002235407 A JP 2002235407A JP 4144290 B2 JP4144290 B2 JP 4144290B2
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- processing apparatus
- division
- bezier curve
- graphic
- 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 Generation (AREA)
Description
【発明の属する技術分野】
本発明は、図形オブジェクトを描画するための画像データに対する画像処理、特に図形オブジェクトの台形分割を含む画像処理を行う画像処理装置および画像処理プログラムに関する。
【0002】
【従来の技術】
近年、パーソナルコンピュータ(以下「PC」と略す)でドキュメントを電子的に作成し、そのドキュメントをプリンタにて印刷出力する、といったことが広く行われている。この場合に、ドキュメントの内容は、電子データ(画像データ)として取り扱われる。すなわち、その画像データについて描画処理を行うことで、ドキュメントの内容が表示可能となるのである。このとき、ドキュメント中の図形については、その描画処理が、例えばアウトラインの描画とその内部領域の塗り潰しによって行われることがある。
【0003】
このような図形の描画アルゴリズムが適用される場合において、その図形オブジェクトは、複数のパスセグメントからなるアウトラインと、その内部領域に対する塗り潰しルールとによって表現される。ここで、パスセグメントとは、図形の描画平面上における座標点やその座標点同士を結ぶ線分等のことをいう。これらのパスセグメントが集まってパスを構成する。つまり、図形のアウトラインは、パスによって表現されるのである。なお、パスセグメントが表現する線分には直線と曲線の両方が含まれるが、その場合の曲線としてはベジエ(Bezier)曲線が広く知られている。ベジエ曲線とは、様々なグラフィックソフトで用いられている一般的な曲線である。
【0004】
ところで、上述した描画アルゴリズムにより図形の描画処理を行うときには、図形オブジェクトに対して台形分割を行う必要が生じることがある。例えば図5に示すように、パスと塗り潰しルールで表現される複数の図形オブジェクトA,Bがあり、それぞれの一部が互いに重なり合う場合を考える。この場合に、例えば重なり合う領域部分について色のすかし処理、すなわち新たな色情報を与えるためには、その重なり合う領域部分を、新たなパスと塗り潰しルールで表現される図形オブジェクトCとして抽出しなければならない。この抽出は、通常、台形分割を用いて行われる。
【0005】
台形分割は、従来、以下に述べるようにして行われる。例えば図6に示すように、互いに重なり合う図形オブジェクトA,Bがベジエ曲線を含むものであると、先ず、各図形オブジェクトA,Bにおけるベジエ曲線を直線近似する。そして、直線近似後の各図形オブジェクトA,Bの頂点座標に、描画平面の一座標軸(例えば水平方向軸)と平行な分割線Dを引き、これにより各図形オブジェクトA,Bを複数の台形状図形の集合に分割する。その後、各台形状図形についてディスプレイリスト等からベクタを繋ぎ合わせて(座標値が一致する点を繋ぎ合わせて)領域別のパス(アウトライン)を再構築する。これにより、元の図形オブジェクトA,Bから新たなパスと塗り潰しルールで表現される図形オブジェクトA′,B′,Cが得られるのである。
【0006】
【発明が解決しようとする課題】
しかしながら、上述した従来の台形分割の手法では、台形分割を経た後のパスセグメント数が元のパスセグメント数に比べて多くなってしまう。例えば、図6の例では、元の総パスセグメント数;12×2=24が、台形分割を経た後には総パスセグメント数;36×2+24=96(8分割時)または68×2+44=180(16分割時)に増加してしまう。このようなパスセグメント数の増加は、描画処理に用いるメモリ容量の増大化やその描画処理に要する時間の増大化等を招いてしまう。したがって、台形分割を行う必要がある場合であっても、パスセグメント数の増加は極力抑制すべきである。
【0007】
また、上述した台形分割の手法では、ベジエ曲線を直線近似しているため、ディスプレイリスト等からの再構築を行っても、本来(分割前)の図形オブジェクトについての情報が損なわれてしまうおそれがある。さらに、塗り潰しルールによっては(例えば、塗り潰しルールとして知られているNon-Zero Windingルールの場合)、ディスプレイリスト等からの再構築自体が困難となる可能性も考えられる。
【0008】
そこで、本発明は、ベジエ曲線を含む図形オブジェクトに対して台形分割を行う場合であっても、パスセグメント数の極端な増加を抑えることができ、元の図形オブジェクトについての情報を最大限に保持しながら図形処理(画像処理)を行うことのできる画像処理装置および画像処理プログラムを提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明は、上記目的を達成するために案出された画像処理装置で、ベジエ曲線を含む図形オブジェクトに対して台形分割を行うための画像処理装置であって、前記台形分割を、上底と下底を結ぶ斜辺が直線またはベジエ曲線である拡張台形を用いて行うことを特徴とするものである。
【0011】
また、本発明は、上記目的を達成するために案出された画像処理プログラムで、ベジエ曲線を含む図形オブジェクトに対して台形分割を行うための画像処理プログラムであって、コンピュータに、上底と下底を結ぶ斜辺が直線またはベジエ曲線である拡張台形を用いて前記台形分割を行わせることを特徴とするものである。
【0012】
上記構成の画像処理装置および画像処理プログラムでは、ベジエ曲線を含む図形オブジェクトに対して台形分割を行う場合であっても、拡張台形を用いることで、その台形分割をベジエ曲線の直線近似を経ることなく行うことができる。すなわち、ベジエ曲線をベジエ曲線のまま取り扱うことが可能となるので、極端なパスセグメント数の増加を抑えられ、また元の図形オブジェクトについての情報を最大限に保持し得るようになる。
【0013】
【発明の実施の形態】
以下、図面に基づき本発明に係る画像処理装置および画像処理プログラムについて説明する。
【0014】
ここで、本発明の実施の形態に先立ち、拡張台形について説明する。
図1は、拡張台形の概念を示す説明図である。一般に、「台形」とは、互いに平行な2辺(一方を「上底」、他方を「下底」という)とこれらを結ぶ2つの斜辺とからなる四辺形であって、2つの斜辺がいずれも直線からなるものをいう。れに対して、本明細書における「拡張台形」とは、例えば図1に示すように、上底1と下底2を結ぶ斜辺3が直線またはベジエ曲線であるものをいう。さらに詳しくは、以下に述べる▲1▼〜▲3▼の各条件をいずれも満たすものをいう。すなわち、拡張台形とは、▲1▼左右の斜辺3が直線またはベジエ曲線であること、▲2▼ベジエ曲線の場合はy方向(上底1および下底2との直交方向)の変曲点を持たないこと、▲3▼左右の斜辺3同士は交差しないこと、の各条件を全て満たすものをいう。本実施形態における画像処理装置、画像処理方法および画像処理プログラムは、このような拡張台形を用いて台形分割を行う点に大きな特徴がある。
【0015】
続いて、画像処理装置の概略構成、すなわち台形分割を行うためのシステム構成について簡単に説明する。
図2は、画像処理装置の概略構成例を示すブロック図である。図例の画像処理装置10は、プリンタに搭載されて用いられるものである。さらに詳しくは、PC20で生成された画像データを、そのPC20からネットワークを介して受信すると、受信した画像データを解釈(例えば、直線、曲線、塗り潰し、フォント等の描画命令の解釈)して、必要な画像処理(台形分割処理を含む)および図形描画処理を行い、その描画後のラスタ画像データをプリンタエンジン30に対して送出するものである。そのために、画像処理装置10は、CPU(Central Processing Unit )11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、入力インターフェース(以下、インターフェースを「I/F」と略す)14と、プリンタエンジンI/F15と、これらを互いに接続する内部バス16とを備えている。そして、CPU11がROM12内に格納されているプログラムを実行することにより、RAM13をワークエリアとして用いつつ、画像データを解釈、必要な画像処理および図形描画処理等を行うように構成されている。つまり、台形分割処理は、CPU11によって実行されるのである。
【0016】
ただし、画像処理装置10は、プリンタではなく、PC20に搭載されて用いられるものであってもよい。また、その場合に、CPU11が実行するプログラムは、予めROM12内にインストールされているのではなく、コンピュータ読み取り可能な記憶媒体に格納されて提供されるものであっても、または有線若しくは無線による通信手段を介して配信されるものであってもよい。つまり、本実施形態で説明する台形分割は、コンピュータを画像処理装置10として機能させるための画像処理プログラムによっても行うことが可能である。
【0017】
次に、上述した画像処理装置10における処理動作例、すなわち台形分割を行うための画像処理方法について説明する。なお、台形分割以外の画像処理(画像データを解釈や図形描画処理の詳細等)については、従来と同様であるため、ここではその説明を省略する。
【0018】
図3は画像処理方法の手順の一例を示すフローチャートであり、図4は台形分割される図形オブジェクトの一具体例を示す説明図である。なお、図4では、既に説明した図5の場合と同一の図形オブジェクトを例に挙げている。
【0019】
台形分割にあたっては、先ず、処理対象となる図形オブジェクトA,Bについて、そのパスにベジエ曲線が含まれているか否かを判断し、含まれていればそのベジエ曲線を抽出する。そして、抽出したベジエ曲線を、例えば描画平面におけるy方向(拡張台形の上底1および下底2との直交方向)の変曲点で分割する(図3のステップ101、以下ステップを「S」と略す)。ただし、変曲点の基準となる方向は、予め定められていれば、必ずしも描画平面におけるy方向である必要はないが、後述する拡張台形の上底1および下底2が延びる方向とは直交しているものとする。
【0020】
ベジエ曲線を変曲点で分割した後は、さらに、パスセグメント同士の交点で各パスセグメントを分割する(図3のS102)。このときのパスセグメントには、ベジエ曲線だけではなく、直線も含まれる。すなわち、図形オブジェクトA,Bを構成するパスセグメントのうち、線分に関する全てのパスセグメントについて、交点での分割を行う。
【0021】
そして、変曲点および交点での分割を経た後は、処理対象となる図形オブジェクトA,Bについて、拡張台形を用いた台形分割を行う(図3のS103)。具体的には、上述した各ステップで得られた変曲点座標および交点座標に、描画平面のx方向に平行な分割線Dを引く。このとき、分割線Dの方向は、予め定められていれば、必ずしも描画平面におけるx方向である必要はないが、変曲点による分割時に基準とした方向とは直交しているものとする。これは、分割線Dの方向が、拡張台形の上底1および下底2が延びる方向となるからである。
【0022】
つまり、分割線Dを引くことで、各図形オブジェクトA,Bは、斜辺にベジエ曲線を含む複数の拡張台形に分割されることになる。この状態での各拡張台形は、例えば分割点の座標値、斜辺3となるベジエ曲線、並びに、上底1および下底2となる直線のパスセグメントによって表現される。
【0023】
このようにして、処理対象となる図形オブジェクトA,Bを複数の拡張台形の集合とした後は、次いで、各領域別の図形オブジェクトA′,B′,Cを得るために、その拡張台形の集合からパスを再構築する(図3のS104)。この再構築は、例えば、各拡張台形についてのディスプレイリスト等からベクタを繋ぎ合わせて(座標値が一致する点を繋ぎ合わせて)領域別のパスを再構築することで行えばよい。これにより、元の図形オブジェクトA,Bから新たなパスと塗り潰しルールで表現される図形オブジェクトA′,B′,Cが得られるのである。
【0024】
その後は、必要に応じてパスセグメントの合成を行う(図3のS105)。すなわち、合成できるパスセグメントについては、その合成を行うようにする。合成できるパスセグメントとしては、例えば、方向が同一な直線同士で一方の終点座標が他方の始点座標と一致するものや、これに準ずるベジエ曲線同士が挙げられる。これらのパスセグメントは、本来一つとして扱われるべきであるにも拘わらず、上述した変曲点の分割や交点での分割を経て二つ以上に分割されている可能性があるからである。これらのパスセグメントの合成を行うことで、新たに表現される図形オブジェクトA′,B′,Cは、そのパスセグメント数が削減されることになる。
【0025】
ところで、以上に説明した処理にあたっては、その過程でパスセグメントの抽出、分割、追加、合成、パスの再構築等が必要となるが、これらは一般的な幾何演算処理によって実現すればよい。つまり、一般に広く知られている図形処理技術を用いれば実現することができるため、ここではその説明を省略する。
【0026】
以上に説明したように、本実施形態で説明した画像処理装置10、および、この画像処理装置10としての機能を実現する画像処理プログラムによれば、いずれも、拡張台形を用いて台形分割を行うため、ベジエ曲線を含む図形オブジェクトに対して台形分割を行う場合であっても、その台形分割をベジエ曲線の直線近似を経ることなく行うことができる。すなわち、台形の左右の斜辺を、単なる直線ではなく、一般のセグメント群にまで拡張しているので、ベジェ曲線や連続した線分を元の状態(情報)のまま保持しておくことが可能となる。そのため、台形分割を行っても、ベジエ曲線についてのパスセグメントをそのまま取り扱うことができ、パスの再構築後もベジェ曲線として処理することができるので、極端なパスセグメント数の増加を抑えられる。具体的には、例えば図4に示す例では、元の総パスセグメント数;12×2=24に対して、台形分割を経た後は総パスセグメント数;24×2+12=60となり、従来の場合(図6参照)に比べて総パスセグメント数の増加量が少なくなる。
【0027】
このように、本実施形態の画像処理装置10および画像処理プログラムによれば、拡張台形を用いて台形分割を行うことで、パスセグメント数の増加を抑えられる。したがって、台形分割を行う必要がある場合において、描画処理に用いるメモリ容量の増大化やその描画処理に要する時間の増大化等についても極力抑制することができ、例えばメモリ容量が従来の1/3〜1/4程度で済むことも期待される。
【0028】
また、本実施形態の画像処理装置10および画像処理プログラムでは、台形分割を行ってもベジエ曲線のパスセグメントについてはそのままの状態で取り扱うため、パスの再構築の際に本来(分割前)の図形オブジェクトについての情報が損なわれてしまうことがなく、しかも塗り潰しルールの種類によって再構築自体が困難となるといったこともない。したがって、元の図形オブジェクトについての情報を最大限に保持し得るため、パスセグメント数の増加抑制を通じて画像処理の効率向上を実現するだけではなく、その画像処理の際の信頼度も向上することとなり、結果として画像処理後の出力画像の画質向上も期待される。
【0029】
なお、本実施形態で説明した台形分割は、互いに重なり合う領域を持つ図形オブジェクトA,Bを複数の独立した図形オブジェクトA′,B′,Cに分割する場合だけではなく、他の場合にも適用可能であることはいうまでもない。すなわち、台形描画を利用する描画アルゴリズムを用いたものであれば、本発明を適用することで、パスセグメント数の増加抑制によるメモリ容量削減等を実現することができる。
【0030】
【発明の効果】
以上に説明したように、本発明に係る画像処理装置および画像処理プログラムによれば、ベジエ曲線を含む図形オブジェクトに対して台形分割を行う場合であっても、パスセグメント数の極端な増加を抑えることができ、元の図形オブジェクトについての情報を最大限に保持しながら画像処理を行うことができるため、その画像処理に必要となるメモリ容量の削減や処理時間の短縮化等を実現することができる。
【図面の簡単な説明】
【図1】 本発明において用いられる拡張台形の概念を示す説明図である。
【図2】 本発明に係る画像処理装置の概略構成例を示すブロック図である。
【図3】 本発明に係る画像処理装置における処理動作の手順の一例を示すフローチャートである。
【図4】 本発明に係る画像処理装置における処理動作により台形分割される図形オブジェクトの一具体例を示す説明図である。
【図5】 処理対象となる図形オブジェクトおよび処理後における図形オブジェクトの一具体例を示す説明図である。
【図6】 従来の画像処理方法により台形分割される図形オブジェクトの一具体例を示す説明図である。
Claims (2)
- ベジエ曲線を含む図形オブジェクトに対して台形分割を行うための画像処理装置であって、
前記台形分割を、上底と下底を結ぶ斜辺が直線またはベジエ曲線である拡張台形を用いて行う
ことを特徴とする画像処理装置。 - ベジエ曲線を含む図形オブジェクトに対して台形分割を行うための画像処理プログラムであって、
コンピュータに、
上底と下底を結ぶ斜辺が直線またはベジエ曲線である拡張台形を用いて前記台形分割を行わせる
ことを特徴とする画像処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002235407A JP4144290B2 (ja) | 2002-08-13 | 2002-08-13 | 画像処理装置および画像処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002235407A JP4144290B2 (ja) | 2002-08-13 | 2002-08-13 | 画像処理装置および画像処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004078382A JP2004078382A (ja) | 2004-03-11 |
JP4144290B2 true JP4144290B2 (ja) | 2008-09-03 |
Family
ID=32019901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002235407A Expired - Fee Related JP4144290B2 (ja) | 2002-08-13 | 2002-08-13 | 画像処理装置および画像処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4144290B2 (ja) |
-
2002
- 2002-08-13 JP JP2002235407A patent/JP4144290B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004078382A (ja) | 2004-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5643574B2 (ja) | 画像処理装置及び画像処理方法 | |
KR101136737B1 (ko) | 그래픽 처리방법 및 그 장치 | |
EP2887305B1 (en) | Resizing an image | |
US7825928B2 (en) | Image processing device and image processing method for rendering three-dimensional objects | |
JP3791259B2 (ja) | アウトラインスムージング処理方法 | |
JPH0581424A (ja) | ノイズ除去方法 | |
JP6294700B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2010515131A (ja) | ベクトルグラフィックをラスター化するプロセスにおいて境界を発生させるための方法およびシステム、ならびに、システムを製造するための方法 | |
JP4144290B2 (ja) | 画像処理装置および画像処理プログラム | |
JPH01277055A (ja) | 多値描画のためのラスターデータ生成方法 | |
JPH0457570A (ja) | 画像処理装置 | |
JP3606006B2 (ja) | 画像形成装置およびグラデーション描画方法 | |
JP2009070183A (ja) | 図形描画装置、図形描画方法、図形描画プログラム、および該プログラムを記録した記録媒体 | |
JP6821924B2 (ja) | 画像処理装置、画像処理方法 | |
JP3467753B2 (ja) | 画像処理システム、画像処理方法および画像処理モジュールを記録した媒体 | |
JP5424785B2 (ja) | 画像処理装置、画像処理方法、コンピュータプログラム | |
JP4145714B2 (ja) | 印刷処理装置 | |
JP3467727B2 (ja) | 画像処理プログラムを記録した媒体、画像処理装置および画像処理方法 | |
JP2006146844A (ja) | ドライバプログラム及び画像形成装置 | |
JP3560124B2 (ja) | 画像データ補間装置、画像データ補間方法および画像データ補間プログラムを記録した媒体 | |
JP2006054712A (ja) | 画像処理装置 | |
JP4764730B2 (ja) | 画像形成装置及び画像形成方法 | |
JPH08102858A (ja) | デジタル画像の画像輪郭部の鮮鋭化方法 | |
JP2002318680A (ja) | 画像処理装置および画像処理方法 | |
JP3330803B2 (ja) | 画像データ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050712 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080311 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080507 |
|
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: 20080527 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080609 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130627 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140627 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |