(57)【要約】【課題】図形重なりの判定を少ない判定処理量で行うことを可能とし、無駄な描画処理時間を削減する。【解決手段】重なり判定処理を、グラフィックの矩形描画に特化し、かつ、描画命令が隣接する図形に特化する。プリンタコントローラ２に入力されたＰＤＬデータは、インタープリタ１０に入力され、描画処理に適した中間データに解釈されて、中間データメモリ２０に蓄積される。中間データは、図形描画処理部１２でページメモリ２３に描画される前に、図形重なり処理部３で直前図形と重なりがあるか否かが、図形重なり判定部１１により直前図形データメモリ２１に格納されている矩形データを用いて判定され、重なりがあれば、直前図形データの重なり部分の座標データが修正される。中間データが矩形描画以外の場合、データの修正は行われない。【選択図】　　　図１
2004054763.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データの図形描画命令を逐次処理する画像処理装置において、
逐次入力される隣接する描画命令相互間でそれらの命令に含まれるグラフィック図形の重なりを判定する重なり判定手段と、先に入力された描画命令の重ねられる側の描画データを保存するための直前描画データメモリとを備え、前記重なり判定手段は、前記直前描画データメモリ内の前記重ねられる側の描画データから判定されたグラフィック図形データの重なり部分を削除した図形データを出力すると共に、後続の命令のグラフィック図形データを前記直前描画データメモリに格納することを特徴とする画像処理装置。
【請求項２】
前記図形描画命令は、文字、グラフィック、イメージ等の基本図形描画命令と、色やクリッピング領域指定、描画演算方法等の描画属性命令とにより構成されるページ記述言語であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記図形描画命令としてのグラフィック描画命令は、座標情報により表現される中間データまたはＰＤＬ言語に変換されることを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記グラフィック図形が矩形図形またはラン集合図形であることを特徴とする請求項１、２または３記載の画像処理装置。
【請求項５】
前記重なり判定手段は、ラン集合図形の重なりを判定する場合、ラン１つずつについて重なりの判定を行うことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記重なり判定手段は、ラン集合図形の重なりを判定する場合、隣接する描画命令のそれぞれに含まれるラン集合図形の外接矩形を生成し、その外接矩形相互間での重なりを判定した後、外接矩形の重なり部分に含まれるラン集合図形について重なりの判定を行うことを特徴とする請求項４記載の画像処理装置。
【請求項７】
前記外接矩形の重なり部分に含まれるラン集合図形についての重なりの判定は、ラン１つずつについて行われることを特徴とする請求項６記載の画像処理装置。
【請求項８】
前記出力された図形データの描画が、描画対象図形のみが残る上書き描画であることを特徴とする請求項１ないし７のうちいずれか１記載の画像処理装置。
【請求項９】
前記出力された図形データの描画が、モノクロ描画、カラーＲＧＢ描画、カラーＣＭＹＫ描画のいずれか１つの描画であることを特徴とする請求項８記載の画像処理装置。
【請求項１０】
入力された画像データの図形描画命令を逐次処理する画像処理方法において、
逐次入力される隣接する描画命令相互間でそれらの命令に含まれるグラフィック図形の重なりを判定し、先に入力された描画命令の重ねられる側の描画データのグラフィック図形データから判定された重なり部分を削除した図形データを出力すると共に、後続の命令のグラフィック図形データを前記直前描画データとして保持することを特徴とする画像処理方法。
【請求項１１】
前記図形描画命令は、文字、グラフィック、イメージ等の基本図形描画命令と、色やクリッピング領域指定、描画演算方法等の描画属性命令とにより構成されるページ記述言語であることを特徴とする請求項１０記載の画像処理方法。
【請求項１２】
前記図形描画命令としてのグラフィック描画命令は、座標情報により表現される中間データまたはＰＤＬ言語に変換されることを特徴とする請求項１０または１１記載の画像処理方法。
【請求項１３】
前記グラフィック図形が矩形図形またはラン集合図形であることを特徴とする請求項１０、１１または１２記載の画像処理方法。
【請求項１４】
前記重なり判定で、ラン集合図形の重なりを判定する場合、ラン１つずつについて重なりの判定を行うことを特徴とする請求項１３記載の画像処理方法。
【請求項１５】
前記重なり判定で、ラン集合図形の重なりを判定する場合、隣接する描画命令のそれぞれに含まれるラン集合図形の外接矩形を生成し、その外接矩形相互間での重なりを判定した後、外接矩形の重なり部分に含まれるラン集合図形ついて重なりの判定を行うことを特徴とする請求項１３記載の画像処理方法。
【請求項１６】
前記外接矩形の重なり部分に含まれるラン集合図形についての重なりの判定は、ラン１つずつについて行われることを特徴とする請求項１５記載の画像処理方法。
【請求項１７】
前記出力された図形データの描画が、描画対象図形のみが残る上書き描画であることを特徴とする請求項１０ないし１６のうちいずれか１記載の画像処理方法。
【請求項１８】
前記出力された図形データの描画が、モノクロ描画、カラーＲＧＢ描画、カラーＣＭＹＫ描画のいずれか１つの描画であることを特徴とする請求項１７記載の画像処理方法。
【請求項１９】
請求項１ないし９のうちいずれか１記載の画像処理装置を含んで構成されたことを特徴とする画像形成装置。
【請求項２０】
請求項１９記載の画像形成装置を印刷装置のプリンタコントローラに備えて構成されたことを特徴とする印刷装置。
【請求項２１】
請求項１９記載の画像形成装置をホストＰＣのプリンタドライバに備えて構成されたことを特徴とするホストＰＣ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、画像処理方法、画像形成装置、印刷装置及びホストＰＣに係り、特に、グラフィック画像やイメージ画像を重ねて印刷するための画像データの処理の高速化を可能とした画像処理装置、画像処理方法、画像形成装置、印刷装置及びホストＰＣに関する。
【０００２】
【従来の技術】
画像データを重ねて印刷するため画像処理に関する従来技術として、例えば、特開平１０−２３３８５９号公報に記載された技術が知られている。この従来技術は、プリンタドライバ側でイメージデータを対象とした重なり判定を行い重複部分を取り除くようにすることにより、印刷装置へのデータ転送量を低減し、また、重複部分を同一色に置き換えることにより印刷装置側での処理量を低減するというものである。
【０００３】
また、他の従来技術として、例えば、特開平１０−３３３８５２号公報に記載された技術が知られている。この従来技術は、グラフィックデータに限らず、文字やイメージの外接矩形座標を抽出して抽象化し、その矩形座標のみによる重なりを判定するというものである。
【０００４】
また、さらに他の従来技術として、例えば、特開平１１−１１９９３０号公報等に記載された技術が知られている。この従来技術は、描画終了時間を予測し、一定時間以内に描画データの展開ができないと判断された場合に、文字やグラフィックの描画範囲を台形分割した中間データ間の重なり判定を行うというものである。
【０００５】
【発明が解決しようとする課題】
前述したプリンタドライバ側でイメージデータを対象とした重なり判定を行う従来技術は、イメージデータに特化したものであり、イメージの重なり部分を除去するための処理量が多くなるという問題点を有している。
【０００６】
また、前述した外接矩形座標を抽出して抽象化し、その矩形座標のみによる重なりを判定するという従来技術は、抽象化により図形の種類情報が欠落するので、図形の種類毎の重なり頻度（グラフィックは重なることが多いが、イメージは重なることが少ない）を考慮した処理を行うことができず、また、外接矩形に抽象化しているため、多角形図形間の重なりを判定する場合等に、正確な重なり判定を行うことができないという問題点を有している。
【０００７】
さらに、前述の文字やグラフィックの描画範囲を台形分割した中間データ間の重なり判定を行う従来技術は、１つのグラフィック図形（または１文字）を複数の台形に分割して処理しているので、２つの図形相互間の重なり判定処理時間のオーダーが分割される台形の数の２乗に比例することとなり、図形が複雑になればなるほど多くの時間がかかるという問題点を有している。
【０００８】
一般に、グラフィック用アプリケーションやＤＴＰアプリケーションを用いた文書作成の場合、無地のページに図形をならべる等の単純なページ構成を作成することは少なく、文字やグラフィック、イメージ画像をいくつも重ね合わせて構成することが多い。特に、プレゼンテーション資料等の作成は、背景自体にグラフィック画像やイメージ画像を用い、その上に内容を重ね合わせるていう構成が通常である。
【０００９】
前述のようなページを印刷する場合、最前面にある図形によって隠れてしまった図形は印刷面に現れることはなく、その隠れた図形の描画処理が無駄となることが多い。特に、グラフィック図形によるグラデーション表現は、グラデーション表現の色数分のグラフィック図形が重なりながら描画される場合が多く、また、グラデーションの場合、その描画面積（メモリ量）も広いことが多く、無駄となる描画処理量も高速に印刷するためには無視できない量となる。
【００１０】
このような場合、従来技術として説明したような種々の重なり判定が用いられることが多いが、それらの重なり判定は、前述したような問題点を有している。さらに、前述した各従来技術は、ページ内にレイアウトされた文字、画像、図形等の任意の図形の重なり判定を行うと、判定処理自体に時間がかかるという問題点をも有している。
【００１１】
本発明の目的は、前述したような従来技術の問題点を解決し、図形重なりの判定を少ない判定処理量で行うことを可能とし、無駄な描画処理時間を削減した画像処理装置、画像処理方法、画像処理装置を利用した画像形成装置、印刷装置及びホストＰＣを提供することにある。
【００１２】
【課題を解決するための手段】
本発明によれば前記目的は、重なり判定処理を、グラフィックの矩形描画に特化し、かつ、描画命令が隣接する図形に特化することにより達成される。一般に、グラフィックを用いたグラデーション表現は、比較的多くのページ表現に用いられており、これらは通常、隣接するグラフィック図形での重なり面積が大きいので、前述したような重なり判定処理により、多くの無駄な描画処理時間を削減することができ、全体の処理の高速化を図ることができる。
【００１３】
詳細に言えば、前記目的を達成するため、第１の手段は、入力された画像データの図形描画命令を逐次処理する画像処理装置において、逐次入力される隣接する描画命令相互間でそれらの命令に含まれるグラフィック図形の重なりを判定する重なり判定手段と、先に入力された描画命令の重ねられる側の描画データを保存するための直前描画データメモリとを備え、前記重なり判定手段は、前記直前描画データメモリ内の前記重ねられる側の描画データから判定されたグラフィック図形データの重なり部分を削除した図形データを出力すると共に、後続の命令のグラフィック図形データを前記直前描画データメモリに格納することを特徴とする。
【００１４】
第２の手段は、第１の手段において、前記図形描画命令が、文字、グラフィック、イメージ等の基本図形描画命令と、色やクリッピング領域指定、描画演算方法等の描画属性命令とにより構成されるページ記述言語であることを特徴とする。
【００１５】
第３の手段は、第１または第２の手段において、前記図形描画命令としてのグラフィック描画命令が、座標情報により表現される中間データまたはＰＤＬ言語に変換されることを特徴とする。
【００１６】
第４の手段は、第１、２または３の手段において、前記グラフィック図形が矩形図形またはラン集合図形であることを特徴とする。
【００１７】
第５の手段は、第４の手段において、前記重なり判定手段が、ラン集合図形の重なりを判定する場合、ラン１つずつについて重なりの判定を行うことを特徴とする。
【００１８】
第６の手段は、第４の手段において、前記重なり判定手段が、ラン集合図形の重なりを判定する場合、隣接する描画命令のそれぞれに含まれるラン集合図形の外接矩形を生成し、その外接矩形相互間での重なりを判定した後、外接矩形の重なり部分に含まれるラン集合図形について重なりの判定を行うことを特徴とする。
【００１９】
第７の手段は、第６の手段において、前記外接矩形の重なり部分に含まれるラン集合図形についての重なりの判定が、ラン１つずつについて行われることを特徴とする。
【００２０】
第８の手段は、第１ないし第７の手段のうちの１つの手段において、前記出力された図形データの描画が、描画対象図形のみが残る上書き描画であることを特徴とする。
【００２１】
第９の手段は、前記出力された図形データの描画が、モノクロ描画、カラーＲＧＢ描画、カラーＣＭＹＫ描画のいずれか１つの描画であることを特徴とする。
【００２２】
第１０の手段は、入力された画像データの図形描画命令を逐次処理する画像処理方法において、逐次入力される隣接する描画命令相互間でそれらの命令に含まれるグラフィック図形の重なりを判定し、先に入力された描画命令の重ねられる側の描画データのグラフィック図形データから判定された重なり部分を削除した図形データを出力すると共に、後続の命令のグラフィック図形データを前記直前描画データとして保持することを特徴とする。
【００２３】
第１１の手段は、第１０の手段において、前記図形描画命令が、文字、グラフィック、イメージ等の基本図形描画命令と、色やクリッピング領域指定、描画演算方法等の描画属性命令とにより構成されるページ記述言語であることを特徴とする。
【００２４】
第１２の手段は、第１０または第１１の手段において、前記図形描画命令としてのグラフィック描画命令が、座標情報により表現される中間データまたはＰＤＬ言語に変換されることを特徴とする。
【００２５】
第１３の手段は、第１０、第１１または第１２の手段において、前記グラフィック図形が矩形図形またはラン集合図形であることを特徴とする。
【００２６】
第１４の手段は、第１３の手段において、前記重なり判定で、ラン集合図形の重なりを判定する場合、ラン１つずつについて重なりの判定を行うことを特徴とする。
【００２７】
第１５の手段は、第１３の手段において、前記重なり判定で、ラン集合図形の重なりを判定する場合、隣接する描画命令のそれぞれに含まれるラン集合図形の外接矩形を生成し、その外接矩形相互間での重なりを判定した後、外接矩形の重なり部分に含まれるラン集合図形ついて重なりの判定を行うことを特徴とする。
【００２８】
第１６の手段は、第１５の手段において、前記外接矩形の重なり部分に含まれるラン集合図形についての重なりの判定が、ラン１つずつについて行われることを特徴とする。
【００２９】
第１７の手段は、第１０ないし第１６のうちいずれか１の手段において、前記出力された図形データの描画が、描画対象図形のみが残る上書き描画であることを特徴とする。
【００３０】
第１８の手段は、第１７の手段において、前記出力された図形データの描画が、モノクロ描画、カラーＲＧＢ描画、カラーＣＭＹＫ描画のいずれか１つの描画であることを特徴とする。
【００３１】
第１９の手段は、第１の手段ないし第９の手段うちいずれか１の手段による画像処理装置を含んだ画像形成装置を構成することを特徴とする。
【００３２】
第２０の手段は、第１９の手段による画像形成装置をプリンタコントローラに備えて印刷装置を構成することを特徴とする。
【００３３】
第２１の手段は、第１９の手段による画像形成装置をプリンタドライバに備えてホストＰＣを構成することを特徴とする。
【００３４】
前述した本発明の第１の手段〜第７の手段、及び、第１０の手段〜第１６の手段によれば、重なり判定により省略された図形描画処理であるページメモリ、または、バンドメモリへの書き込み処理を行わなくて済み、その分メモリアクセスを減少させることができ、画像処理の高速化を図ることができる。また、矩形あるいはラン集合図形の重なり判定を行っているため、不要な矩形あるいはランの描画を省略することができ、画像処理の高速化を図ることができる。特に、矩形を多数用いたグラデーションなどに有効であり、また、任意の多角形を一定方向に色を少しずつ変化させながら表現するグラデーションや、径を少しずつ小さくしながら同心円を描画し表現するグラデーションなどに有効である。
【００３５】
第８の手段及び第１７の手段によれば、描画方法を上書きのみに限定しているので、例えば、ＯＲやＡＮＤ等下地が必ずしも打ち消されるとは限らない描画方法が指定された場合に、重なり判定を行う手間を省略することが可能となり、また、不要な重なりを行うことによる不具合を防止することができる。
【００３６】
第９の手段及び第１８の手段によれば、重なり判定を図形の領域にのみ着目して行っているため、その図形の色に関しては関知する必要がないため、出力デバイスがどのような色表現、色数を持ち合わせているかを任意とすることができ、さまざまな出力デバイスに適用することが可能となる。
【００３７】
第１９の手段によれば、あらゆる種類の印刷装置に対して適用可能な、かつ、高速な画像処理を行うことができる画像形成装置を提供することができる。
【００３８】
第２０の手段によれば、各描画命令からページメモリを生成するプリンタ側の処理に本発明を適用することができ、この場合に、ページメモリの生成をプリンタ側のＣＰＵを用いたソフトウェア処理ではなく、グラフィックアクセラレータ等の専用ＡＳＩＣで行うこととし、各描画命令からページメモリを生成するＡＳＩＣ内の処理に本発明を適用することができる。そして、この第２０の手段は、レーザプリンタのようにページメモリの生成をプリンタ側で行う場合に適用して効果的である。
【００３９】
第２１の手段によれば、出力装置に関係なく、ページメモリの生成をホストコンピュータ側で行う場合に本発明を適用することができ、インクジェットプリンタのようにページメモリの生成をホストコンピュータ側で行う場合に適用して効果的である。
【００４０】
【発明の実施の形態】
以下、本発明による画像処理装置、画像処理方法、画像形成装置、印刷装置及びホストＰＣの実施形態を図面により詳細に説明する。
【００４１】
図１は重なり判定を印刷機器側で行う場合の本発明の第１の実施形態による画像処理装置を含むプリンタコントローラの構成を示すブロック図である。図１では、印刷機器のプリンタコントローラ内に設けられる図形重なりシステム部が本発明の実施形態による画像処理装置である。
【００４２】
図１において、ホストＰＣ１は、ＰＤＬデータを生成し、プリンタコントローラ２に転送する。プリンタコントローラ２は、インタプリタ１０、図形重なり処理部３、図形描画処理部１２、ＣＰＵ１４、中間データメモリ２０、ページメモリ２３により構成されており、ホストＰＣ１から入力されたＰＤＬデータに対する画像処理を行ってページメモリ２３に展開したデータをプリンタエンジン４に出力する。図形重なり処理部３は、図形重なり判定部１１、直前図形データメモリ２１により構成される。
【００４３】
前述において、ホストＰＣ１からプリンタコントローラ２に入力されたＰＤＬデータは、インタープリタ１０に入力され、その後の描画処理に適した中間データに解釈されて、中間データメモリ２０に蓄積される。計算処理は、ＣＰＵ１４により行われる。その後の描画処理に適した形に変換された中間データは、描画範囲指定命令、描画色指定命令等により構成される。中間データメモリ２０に格納された各描画データは、図形描画処理部１２で処理される前に、図形重なり処理部３で直前図形と重なりがあるか否かが判定される。例えば、処理対象となる図形が矩形の場合、その図形は、図形重なり判定部１１により直前図形データメモリ２１に格納されている矩形データとの重なりが判定され、描画省略可能な重なり部分の座標データが修正される。中間データが矩形描画以外の場合、データの修正は行われない。図形描画処理部１２は、図形重なり処理部３の図形重なり判定部１１により修正された矩形データ、または、中間データメモリ２０の内容に従ってそこに含まれる図形をページメモリ２３に描画する。１ページ分の描画命令が終了した後、ページメモリ２３の内容がプリンタエンジン４に出力される。
【００４４】
図２は重なり判定をホストＰＣ側で行う場合の本発明の第２の実施形態による画像処理装置を含むプリンタドライバの構成を示すブロック図である。図２では、ホストＰＣのプリンタドライバ内に設けられる図形重なり処理部が本発明の実施形態による画像処理装置である。
【００４５】
図２において、アプリケーション１’は、描画命令を生成してそれをプリンタドライバ２’に出力する。一般に、Ｗｉｎｄｏｗｓ　（登録商標）では、ＧＤＩという描画インターフェイスを経由して描画命令を指定する。プリンタドライバ２’は、アプリケーション１’からの描画命令に基づいて、これから印刷する機器に搭載されているプリンタ言語に適したＰＤＬ言語を生成し、印刷装置４’に転送する。プリンタコントローラ２’は、ＰＤＬ言語生成部１０’、図形重なり処理部３、ＰＤＬ言語出力部１２’、ＣＰＵ１４’により構成され、アプリケーション１’からの描画命令をプリンタ言語に適したＰＤＬ言語に生成して、印刷装置４’に出力する。図形重なり処理部３は、図１の場合と同様に、図形重なり判定部１１、直前図形データメモリ２１により構成される。
【００４６】
前述において、アプリケーション１’からプリンタドライバ２’に入力された描画命令は、ＰＤＬ言語生成部１０’に入力され、その描画命令に合うＰＤＬ言語で記述された描画データに生成される。その描画データは、ＰＤＬ言語出力部１２’を介して印刷装置４’に出力されるが、その前に、図形重なり処理部３で直前図形と重なりがあるか否かが判定される。例えば、処理対象となる図形が矩形の場合、その図形は、図形重なり判定部１１により直前図形データメモリ２１に格納されている矩形データとの重なりが判定され、描画省略可能な重なり部分のＰＤＬ言語により記述された座標データが修正される。中間データが矩形描画以外の場合、データの修正は行わない。このようにして得られた描画データは、ＰＤＬ言語出力部１２’から印刷装置４’に転送される。
【００４７】
図３は図１における図形重なり判定部１１で行われる矩形を対象とした重なり判定の簡単な例を説明する図であり、次に、図３を参照して図形重なりの判定の例について説明する。
【００４８】
図３（ａ）に示す矩形は初めに描画する第１の矩形の例であり、Ｘ方向の範囲を（Ｐ１，Ｐ２）とする。また、図３（ｂ）に示す矩形は次に描画する第２の矩形の例であり、Ｘ方向の範囲を（Ｐ１，Ｐ３）とする。図３（ａ）、図３（ｂ）に示す第１、第２の矩形の例は、描画命令順に隣接しているものとする。さらに、第１、第２の矩形ともＹ方向の範囲は同一とする。すなわち、図３（ａ）、図３（ｂ）に示す２つの矩形の位置関係は、１辺（この場合、Ｘ＝Ｐ１の辺）を共有し、一方の矩形が他方の矩形を含む（重なる）位置にある。式で表すと、
Ｐ１≦Ｐ２、Ｐ１≦Ｐ３
を満たすものとなる。また、Ｐ２、Ｐ３の大小関係は問わないが、図３の例ではＰ２≦Ｐ３であるとしている。さらに、それぞれの矩形の色（濃度）は任意である。
【００４９】
図３（ｃ）に示す矩形の例は、第１の矩形の上に第２の矩形を上書きで重ねた結果の図形である。この例の場合、図３（ｂ）に示す矩形によって図３（ａ）に示す矩形の左側の一部分が上書きされることになり、この部分が描画されない。すなわち、この部分の描画処理は無駄になる。結局、図３（ｃ）に示す矩形の図形を得るには、図３（ａ）に示す矩形のＸ方向座標（Ｐ３，Ｐ２）の部分と図３（ｂ）に示す矩形の全体を描画すればよいことになり、座標の変更は、図３（ａ）に示す矩形のＸ方向座標を（Ｐ１，Ｐ２）から（Ｐ３，Ｐ２）に変更するだけとなる。
【００５０】
一般に、任意の多角形図形を対象とした重なり判定の処理は、複雑でありかなりの計算量を必要とするが、図３に示す例のような矩形間の重なり判定は単純であり数回の座標値比較演算を行うだけでよいことになる。
【００５１】
また、描画命令順に隣接していない任意の矩形描画命令、例えば、１ページ内に存在するすべての矩形を対象として重なり判定を行おうとすると、判定回数が矩形の数の２乗に比例することになり、重なり判定に多くの時間を要することになり、処理が低速となる。さらに、この場合、描画順の早い側の矩形の座標を修正することになるので、１ページ内の全ての描画命令を一時的に蓄積する必要があり効率的とはいえない。１ページ内の全ての描画命令に対して重なりの判定を行うことができれば、無駄なページメモリへのアクセスが最小化され、それが理想的ではあるが、リソースの少ない画像処理装置を考えると現実的ではない。
【００５２】
前述した本発明の実施形態の例は、隣接している図形間（説明している例では矩形）に限定しているので使用リソースを抑え、リソースの少ない画像出力装置でもそれなりの効果を得ることができる。但し、本発明が適用できる描画方法は、重ねられる図形の描画効果を打ち消す描画方法、すなわち、上書き（描画対象図形のみが残る方法）のみであり、例えば、ＯＲ演算を用いた描画方法は、重ねられる図形が結果として残るので不可である。
【００５３】
図４は矩形の重なり判定の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００５４】
（１）処理すべき図形の重なり判定の処理が終了したか否かを判定し、処理が終了していれば、直前図形データメモリ２１に保存されている図形が矩形であるか否かを調べ、矩形であれば、直前矩形を描画して処理を終了し、矩形でなければ何もせずに処理を終了する（ステップ４０１〜４０３）。
【００５５】
（２）ステップ４０１の判定で、図形の重なり判定の処理が終了していなかった場合、処理すべき図形が矩形か否かを調べ、矩形でなかった場合、直前図形データメモリ２１に保存されている図形が矩形であるか否かを調べ、矩形であれば、直前矩形を描画する（ステップ４０４〜４０６）。
【００５６】
（３）ステップ４０６の処理後、あるいは、ステップ４０５の調べで、直前図形データメモリ２１に保存されている図形が矩形でなかった場合、現図形を描画して処理を終了する（ステップ４０７）。
【００５７】
（４）ステップ４０４の調べで、処理すべき図形が矩形であった場合、直前図形データメモリ２１に保存されている図形が矩形であるか否かを調べ、矩形であれば、今回の矩形と直前矩形との位置関係を調べ、重なり部分があるか否かを判定する（ステップ４０８、４０９）。
【００５８】
（５）ステップ４０９の判定で、今回の矩形と直前矩形とに重なり部分があった場合、直前矩形を分割し、または、座標数値の変更を行った直前矩形を作成し、その直前矩形を描画する。今回の矩形と直前矩形とが図３で説明したような位置関係にある場合、座標数値の変更のみである。また、ステップ４０９の判定で、今回の矩形と直前矩形とに重なり部分がなかった場合、直前矩形をそのまま描画する（ステップ４１０、４１１）。
【００５９】
（６）ステップ４１１の処理後、または、ステップ４０８の調べで、直前図形データメモリ２１に保存されている図形が矩形でなかった場合、今回の矩形を、次の図形が矩形だった場合の重ねられる側の矩形データとして、直前図形データメモリ２１に保存して処理を終了する（ステップ４１２）。
【００６０】
前述した処理は、全ての入力図形に対して繰り返し行われる。図３により説明した例に照らせば、前述した処理により、図３（ａ）のＸ方向座標（Ｐ１，Ｐ３）の範囲について、ページメモリへの書き込み処理を行わなくて済むので処理の高速化を図ることができる。これによっても、得られる図形は、図３（ｃ）により説明したように同一となる。
【００６１】
図５は図１における図形重なり判定部１１で行われる矩形を対象とした重なり判定の他の例を説明する図であり、次に、図５を参照して図形重なりの判定の他の例についてを本発明の第３の実施形態として説明する。
【００６２】
図５（ａ）に示す矩形の例は初めに描画する第１の矩形であり、図５（ｂ）に示す矩形の例は次に描画する第２の矩形である。第１、第２の２つの矩形の位置関係は、ＰがＸ方向座標を、ＱがＹ方向座標を示すものとした場合、１つの点、図示例では（Ｐ１，Ｑ１）を共有し、一方の矩形が他方の矩形を含む（重なる）位置にある。式で表すと、
Ｐ１≦Ｐ２、Ｐ１≦Ｐ３、Ｑ１≦Ｑ２、Ｑ１≦Ｑ３
の各関係を満たすものとなる。そして、図示例では、Ｐ２、Ｐ３の大小関係、Ｑ２，Ｑ３の大小関係は問わない。図５に示す例では、Ｐ２≦Ｐ３、Ｑ２≦Ｑ３とする。また、それぞれの矩形の色（濃度）は任意である。
【００６３】
図５（ｃ）に示す矩形は、第１の矩形の上に第２の矩形を上書きで重ねた結果の図形である。この例の場合、図５（ｂ）に示す矩形によって図５（ａ）の左上側の一部分が上書きされることにより描画されないことになる。すなわち、第１の矩形でのこの部分の描画処理を行うことは無駄になる。結局、図５（ｃ）に示す図形を得るには、図５（ａ）に示す図形の重ならない部分と図５（ｂ）に示す図形の全体を描画すればよいことになる。重ならない部分は、図５（ｃ）に示すように、左上及び右下座標（Ｐ１，Ｑ３）、（Ｐ２，Ｑ２）で表される矩形と、（Ｐ３，Ｑ１）、（Ｐ２，Ｑ３）で表される矩形との２つの矩形に分割して処理される。これは、逆Ｌ字型の１つの図形として処理するより、２つの矩形として処理したほうが高速な処理が可能であることが多いためである。
【００６４】
図５により説明した矩形の重なりの例は、第１の矩形と第２の矩形との左上の座標（Ｐ１，Ｑ１）が一致している簡単な例であったが、２つの矩形の重なりは、種々の重なり方がある。しかし、どのような重なり方をしている場合にも、前述の説明から類推することができるように、その重なり部分の矩形を算出することができる。
【００６５】
前述までで、処理すべき図形が矩形である場合の重なりを判定して処理を行う例を説明したが、次に、処理すべき図形がラン集合図形である場合の重なり判定について説明する。
【００６６】
ラン集合図形の重なり判定を印刷機器側で行う場合の画像処理装置の構成は図１により説明したものと同一でよい。
【００６７】
すなわち、プリンタコントローラ２に入力された描画データは、インタープリタ１０に入力され、その後の描画処理に適した中間データに解釈され、中間データメモリ２０に蓄積される。計算処理は、ＣＰＵ１４により行われる。中間データは、描画範囲指定命令、描画色指定命令等により構成される。中間データがラン集合図形の場合、図形重なり判定１１により直前図形データメモリ２１に格納されているラン集合図形データと重なりが判定され、描画省略可能な重なり部分の座標データを修正する。中間データがラン集合図形以外の場合、データの修正は行わない。図形描画処理１２は、修正されたラン集合図形データ、または、中間データメモリ２０の内容に従ってそこに含まれる図形をページメモリ２３に描画する。１ページ分の描画命令が終了したら、ページメモリ２３の内容をプリンタエンジン４に出力する。
【００６８】
図６は図１における図形重なり判定部１１で行われるラン集合図形を対象とした重なり判定の簡単な例を説明する図であり、次に、図６を参照して図形重なりの判定の例についてを本発明の第４の実施形態として説明する。
【００６９】
ランは、任意のｙ座標の始点ｓｘから終点ｅｘまでのｘ軸方向（水平方向）の１区間により表わされ、このようなランの集合が描画命令として描画範囲を指定するために用いられる。ｙ、ｓｘ、ｅｘは、通常、整数により表現される。
【００７０】
図６（ａ）に示すランの集合は、初めに描画する第１のラン集合図形であり、図６（ｂ）に示すランの集合は、次に描画する第２のラン集合図形である。矩形処理の場合と同様に、図６（ａ）、図６（ｂ）に示すラン集合図形は、描画命令順に隣接しているものとし、図６（ａ）、図６（ｂ）に示すそれぞれの図形の色（濃度）は任意である。
【００７１】
図６（ｃ）に示す図形は、図６（ａ）に示す第１の図形の上に図６（ｂ）に示す第２の図形を上書きで重ねた結果の図形である。この場合、図６（ａ）に示す図形の左側の一部分は、図６（ｂ）に示すラン集合図形によって上書きされることによりで描画されないことになる。すなわち、この部分の描画処理を行うことは無駄になる。結局、図６（ｃ）に示す図形を得るには、図６（ｂ）に示す図形と重ならない部分の図６（ａ）に示す図形の一部分と、図６（ｂ）に示す図形の全体のラン集合があればよく、これが重なりのない、描画処理量が最小となる組み合わせである。
【００７２】
図６（ｂ）に示す図形と重ならない部分の図６（ａ）に示す図形の１部分を得る処理は、図６（ｂ）に示す図形を構成する各ランに注目し、それらの各ランと図６（ａ）に示す図形を構成する各ランが重なっていれば、その部分の図６（ａ）に示す図形のランの範囲を狭め、全体が重なっていればそのランを削除する処理となる。例えば、図６（ｂ）に示す図形におけるｙ＝１、ｓｘ＝４、ｅｘ＝５のラン（以下、Ｒｂ（１，４，５）と記す）は、図６（ａ）に示す図形のＹ＝１にあるランとは重ならないので、図６（ａ）に示す図形のＹ＝１にあるランはそのままとなる。また、図６（ｂ）に示す図形のランＲｂ（２，３，５）は、図６（ａ）に示す図形のランＲａ（２，１，３）と（２，３）の１点のみで重なるのでその部分を削除し、図６（ａ）に示す図形のランＲａ（２，１，３）は、Ｒａ（２，１，２）と変更される。また、図６（ｂ）に示す図形のランＲｂ（４，１，５）は、図６（ａ）に示す図形のランＲａ（４，１，５）と完全に重なるので、図６（ａ）に示す図形のランＲａ（４，１，５）は、ラン集合Ｒａから削除される。
【００７３】
一般に、任意の多角形図形を対象とした重なり判定の処理は、複雑でありかなりの計算量を必要とするが、図６に示す例のようなラン相互間の重なり判定は単純であり数回の座標値比較演算を行うだけでよいことになる。但し、本発明が適用できる描画方法は、重ねられる図形の描画効果を打ち消す描画方法、すなわち、上書き（描画対象図形のみが残る方法）のみであるという制限は、前述で説明した矩形の重なり判定の場合と同様である。
【００７４】
図６により説明した例は、第１と第２とのラン集合図形がｙ軸上で同一の位置にあるものとして説明したが、一般には、２つのラン集合図形がｙ軸上でずれている場合が多い。このような場合に、図６により説明したように、隣接するラン集合図形間の重なり判定を単純に各ラン毎に行うと、第１のラン集合図形のラン数と第２のラン集合図形のラン数との掛け算分の比較を行わなければならないことになってしまい効率的でない。
【００７５】
図７はラン集合図形を外接する矩形に変換し、この矩形座標を元に図３により説明した矩形間の重なり判定処理を用いて重なりの判定を行い、重なりがある場合に、図６により説明したラン集合図形間での重なり判定を行うことにより、前述した非行率を解消する例を説明する図であり、次に、これについてを本発明の第５の実施形態として説明する。
【００７６】
図７（ａ）に示すランの集合は、初めに描画する第１のラン集合図形であり、図７（ｂ）に示すランの集合は、次に描画する第２のラン集合図形であり、重なり判定の対象となるラン集合図形である。そして、その周りを囲む鎖線矩形が外接する矩形となる。図７（ｃ）に示す矩形は、その外接する矩形相互間の位置関係を示しており、重なりのあることが判る。これらの２つの外接矩形がが重ならない位置関係にあるとすれば、その中にある図７（ａ）に示す図形と図７（ｂ）に示す図形とのラン相互間の重なりがないことは自明である。図７（ｃ）に示すように、外接矩形に重なりのある場合、図７（ａ）に示す図形と図７（ｂ）に示す図形との外接矩形の重なりの部分についてラン間の重なり判定を行う。図７（ａ）、図７（ｂ）に示す例の場合、その重なり判定を行った結果、重なるランはないことになる。もし、重なるランがある場合、図６により説明した例の場合と同様にして描画順の早いほう、図示例の場合図７（ａ）に示す図形のランから重なり部分を削除する。
【００７７】
図７により説明した本発明の実施形態は、外接矩形の重なりの判定で、少しでも重なっているときに、その重なりの部分についてラン間の重なり判定を行うこととしているが、本発明は、外接矩形の重なる面積比率に閾値を設け、その閾値を越えたときに、外接矩形に重なりがあると判定して、重なりの部分についてラン間の重なり判定を行うようにしてもよい。例えば、初めに描画する第１のラン集合図形の外接矩形が９０％以上、次に描画する第２のラン集合図形の外接矩形と重なった場合に、外接矩形に重なりがあると判定するようにする。なお、この外接矩形が重なる面積比率の閾値は、単に、例として示したもので、その値は任意に設定することができる。
【００７８】
【発明の効果】
以上説明したように本発明によれば、図形重なりの判定を少ない判定処理量で行うことができ、無駄な描画処理時間をなくすことができるので、画像データ処理の高速化を図ることができる。
【図面の簡単な説明】
【図１】重なり判定を印刷機器側で行う場合の本発明の一実施形態による画像処理装置を含むプリンタコントローラの構成を示すブロック図である。
【図２】重なり判定をホストＰＣ側で行う場合の本発明の他の実施形態による画像処理装置を含むプリンタドライバの構成を示すブロック図である。
【図３】図１における図形重なり判定部で行われる矩形を対象とした重なり判定の簡単な例を説明する図である。
【図４】矩形の重なり判定の処理動作を説明するフローチャートである。
【図５】図１における図形重なり判定部で行われる矩形を対象とした重なり判定の他の例を説明する図である。
【図６】図１における図形重なり判定部で行われるラン集合図形を対象とした重なり判定の簡単な例を説明する図である。
【図７】図１における図形重なり判定部で行われるラン集合図形を対象とした重なり判定の他の例を説明する図である。
【符号の説明】
１　ホストＰＣ
１’　アプリケーション
２　プリンタコントローラ
２’　プリンタドライバ
３　図形重なり処理部
４　プリンタエンジン
４’　印刷装置
１０　インタープリタ
１０’　ＰＤＬ言語生成部
１１　図形重なり判定部
１２　図形描画処理部
１２’　ＰＤＬ言語出力部
１４、１４’　ＣＰＵ
２１　直前図形データメモリ
２３　ページメモリ
【図１】
2004054763.tif 000003
【図２】
2004054763.tif 000004
【図３】
2004054763.tif 000005
【図４】
2004054763.tif 000006
【図５】
2004054763.tif 000007
【図６】
2004054763.tif 000008
【図７】
2004054763.tif 000009