(57)【要約】【課題】  形状はほぼ同じだが大きさが異なり、描画図形の中心もほぼ同じ楕円描画コマンドが連続して送られてきた場合に、そのままでは判定が複雑で判定処理が不可能か行えても処理時間がかかるような場合でも、重なり判定が短時間で行える印刷処理システムを提供する。【解決手段】  形状はほぼ同じだが大きさが異なり、描画図形の中心もほぼ同じ楕円描画コマンドが連続して送られてきた場合に、楕円描画コマンドをそのまま重なり判定するのではなくて、いくつかに分割してより簡単な条件で重なり判定を行うことで、そのままでは判定が複雑で判定処理が不可能か行えても処理時間がかかるような場合でも、重なり判定が短時間で行えるようにした。【選択図】        図７
2006011664.tif 000002
【特許請求の範囲】
【請求項１】
連続した描画コマンドのうち、同じ描画コマンドが連続して送られてきた場合に、前記描画コマンドを分割して重なり判定を行う重なり判定手段を備えていることを特徴する印刷処理システム。
【請求項２】
請求項１記載の印刷処理システムにおいて、
前記重なり判定手段は、重なり判定を、連続した同種、同条件、同属性で、重複部分を削除しても描画結果に影響が無く、座標のみが違う描画コマンド同士に限定して行うことを特徴とする印刷処理システム。
【請求項３】
請求項２記載の印刷処理システムにおいて、
前記重なり判定手段は、前記描画コマンドとして楕円描画コマンドの重なり判定を行う場合は、印刷の水平方向に分割することで略台形に近い形状同士の重なり判定を行うことを特徴とする印刷処理システム。
【請求項４】
請求項３記載の印刷処理システムにおいて、
前記重なり判定手段は、前記台形に近い図形を、その中心を垂直に通る直線で分割することで、二つの直角が重複するより簡易な重なり判定を行うことを特徴とする印刷処理システム。
【請求項５】
請求項２記載の印刷処理システムにおいて、
前記重なり判定手段は、長軸もしくは短軸に直角な直線で楕円を分割することで、元の図形をより簡易な形状にして重なり判定を行うことを特徴とする印刷処理システム。
【請求項６】
請求項５記載の印刷処理システムにおいて、
前記重なり判定手段は、楕円を分割する直線を選ぶ際に、描画単位の１ラインもしくは数ライン毎に分割することを特徴とする印刷処理システム。
【請求項７】
請求項５又は６記載の印刷処理システムにおいて、
前記重なり判定手段は、一度分割された図形をさらに元の楕円の中心を通る直線で分割することで、より簡易な図形同士の重なり判定を行うことを特徴とする印刷処理システム。
【請求項８】
請求項４記載の印刷処理システムにおいて、
前記重なり判定手段は、垂直方向にも分割が行われた図形同士の重なり判定において、元の楕円での中心側はずれることが無いことを考慮し、外側の違いのみを判別することを特徴とする印刷処理システム。
【請求項９】
請求項１から８のいずれか一項に記載の印刷処理システムにおいて、
前記重なり判定手段は、重なり判定処理後の図形をＳｃａｎｌｉｎｅデータ形式に変換して後の処理を行うことを特徴とする印刷処理システム。
【請求項１０】
請求項９記載の印刷処理システムにおいて、
処理速度が向上しないと判断されるのであれば、Ｓｃａｎｌｉｎｅデータ形式に変換せずに弧のまま処理を行うことを特徴とする印刷処理システム。
【請求項１１】
請求項１から１０のいずれか一項に記載の印刷処理システムは、プリンタドライバに設けられていることを特徴とする印刷処理システム。
【請求項１２】
請求項１から１０のいずれか一項に記載の印刷処理システムは、プリンタに設けられていることを特徴とする印刷処理システム。
【請求項１３】
請求項１１または請求項１２に記載の印刷処理システムにおいて、プリンタドライバとプリンタの負荷状況を考慮して、前記印刷処理システムを配置したことを特徴とする印刷処理システム。
【請求項１４】
請求項１３記載の印刷処理システムにおいて、
重なり判定処理のうち、楕円描画コマンド分割処理と重なり判定処理をプリンタドライバ側、プリンタ側のそれぞれに分けて処理することが可能なことを特徴とする印刷処理システム。
【請求項１５】
請求項１３記載の印刷処理システムにおいて、
プリンタドライバと、プリンタの負荷状況を考慮して、描画コマンドの分割処理と重なり判定処理をプリンタドライバとプリンタとに分けて処理することを特徴とする印刷処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷処理の高速化が可能な印刷処理システムに関する。
【背景技術】
【０００２】
画像の電子データに基づいて印刷を行う技術では、印刷処理速度が速いことが求められており、この要求に対応しようとする装置が提案されている（例えば、特許文献１参照）。この装置では、バンドをさらにサブバンドに分割して小メモリ化、高速化を図っている。
また、重なり判定処理もコマンド単位で、コマンドの描画範囲の一部を削除するといった方法も考えられる。画像を印刷する際、画像データを例えばＭＳ−Ｗｉｎｄｏｗｓ（登録商標）のＧＤＩなどから受け取った後ＲＰＣＳ、ＰＣＬなどページ記述言語に変換してプリンタへ転送、印刷を行うが、この過程では様々な描画オブジェクトが重なる可能性があり、印刷結果に現れない図形や図形の部分も存在することがある。この場合でも、印刷結果に現れない描画オブジェクトを構成する描画コマンドは、転送され、ラスターデータに変換されるため、余分な処理を行っていることになる。
【特許文献１】特開２００１−２４９７７４公報（第３頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述のような描画されないオブジェクトを構成するコマンド全体もしくはコマンドの一部を削除することで印刷結果に影響を与えることなく印刷時間の短縮を図ることが考えられるが、楕円図形が中心に向かって色が変化していくような場合には、有効な重なり判定及び削除処理後に削除前よりも複雑な図形が残ることが多く、描画面積を削減しても図形の複雑さによってラスターデータへの展開に時間がかかったり、システム内部での必要メモリが多くなるなどで、効果的な高速化が図れないことがある。
そこで、本発明は、上述した実情を考慮してなされたもので、形状はほぼ同じだが大きさが異なり、描画図形の中心もほぼ同じ楕円描画コマンドが連続して送られてきた場合に、そのままでは判定が複雑で判定処理を行うことが困難であるような場合でも、重なり判定が短時間で行える印刷処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記の課題を解決するために、請求項１に記載の発明は、連続した描画コマンドのうち、同じ描画コマンドが連続して送られてきた場合に、前記描画コマンドを分割して重なり判定を行う重なり判定手段を備えていることを特徴する。
請求項２に記載の発明は、請求項１記載の印刷処理システムにおいて、前記重なり判定手段は、重なり判定を、連続した同種、同条件、同属性で、重複部分を削除しても描画結果に影響が無く、座標のみが違う描画コマンド同士に限定して行うことを特徴とする。
請求項３に記載の発明は、請求項２記載の印刷処理システムにおいて、前記重なり判定手段は、前記描画コマンドとして楕円描画コマンドの重なり判定を行う場合は、印刷の水平方向に分割することで略台形に近い形状同士の重なり判定を行うことを特徴とする。
請求項４に記載の発明は、請求項３記載の印刷処理システムにおいて、前記重なり判定手段は、前記台形に近い図形を、その中心を垂直に通る直線で分割することで、二つの直角が重複するより簡易な重なり判定を行うことを特徴とする。
請求項５に記載の発明は、請求項２記載の印刷処理システムにおいて、前記重なり判定手段は、長軸もしくは短軸に直角な直線で楕円を分割することで、元の図形をより簡易な形状にして重なり判定を行うことを特徴とする。
請求項６に記載の発明は、請求項５記載の印刷処理システムにおいて、前記重なり判定手段は、楕円を分割する直線を選ぶ際に、描画単位の１ラインもしくは数ライン毎に分割することを特徴とする。
請求項７に記載の発明は、請求項５又は６記載の印刷処理システムにおいて、前記重なり判定手段は、一度分割された図形をさらに元の楕円の中心を通る直線で分割することで、より簡易な図形同士の重なり判定を行うことを特徴とする。
【０００５】
請求項８に記載の発明は、請求項４記載の印刷処理システムにおいて、前記重なり判定手段は、垂直方向にも分割が行われた図形同士の重なり判定において、元の楕円での中心側はずれることが無いことを考慮し、外側の違いのみを判別することを特徴とする。
請求項９に記載の発明は、請求項１から８のいずれか一項に記載の印刷処理システムにおいて、前記重なり判定手段は、重なり判定処理後の図形をＳｃａｎｌｉｎｅデータ形式に変換して後の処理を行うことを特徴とする。
請求項１０に記載の発明は、請求項９記載の印刷処理システムにおいて、処理速度が向上しないと判断されるのであれば、Ｓｃａｎｌｉｎｅデータ形式に変換せずに弧のまま処理を行うことを特徴とする。
請求項１１に記載の発明は、請求項１から１０のいずれか一項に記載の印刷処理システムは、プリンタドライバに設けられていることを特徴とする。
請求項１２に記載の発明は、請求項１から１０のいずれか一項に記載の印刷処理システムは、プリンタに設けられていることを特徴とする。
請求項１３に記載の発明は、請求項１１または請求項１２に記載の印刷処理システムにおいて、プリンタドライバとプリンタの負荷状況を考慮して、前記印刷処理システムを配置したことを特徴とする。
請求項１４に記載の発明は、請求項１３記載の印刷処理システムにおいて、重なり判定処理のうち、楕円描画コマンド分割処理と重なり判定処理をプリンタドライバ側、プリンタ側のそれぞれに分けて処理することが可能なことを特徴とする。
請求項１５に記載の発明は、請求項１３記載の印刷処理システムにおいて、プリンタドライバと、プリンタの負荷状況を考慮して、描画コマンドの分割処理と重なり判定処理をプリンタドライバとプリンタとに分けて処理することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、形状はほぼ同じだが大きさが異なり、描画図形の中心もほぼ同じ楕円描画コマンドが連続して送られてきた場合に、楕円描画コマンドをそのまま重なり判定するのではなくて、いくつかに分割してより簡単な条件で重なり判定を行うことで、そのままでは判定が複雑で判定処理が不可能か行えても処理時間がかかるような場合でも、重なり判定を短時間で行うことができる。また、ＰＣとプリンタの処理能力と負荷状況を考慮し、負荷分散処理を行うことでシステム全体として高速に処理を行うことが可能となる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して、本発明を実施するための最良の形態である印刷処理システムについて詳細に説明する。
［第１の実施の形態］
以下、本発明の第１の実施の形態に係る印刷システムについて説明するが、その前に基本的な印刷システムについて説明する。
図１は、重なり判定処理をプリンタ側で行う場合の基本的な印刷システムの構成を示したブロック図、図２は重なり判定処理をドライバ側で行う場合の基本的な印刷システムの構成を示したブロック図である。
なお、基本的には重なり判定処理では、重なり判定で扱った図形はそのまま削除処理の対象となる。
図１に示す印刷システムは、ホストＰＣ１、プリンタコントローラ２、プリンタエンジン４で構成される。プリンタコントローラ２は、図形重なり判定部１１と直前図形データメモリ２１を備えた図形重なり処理部３、インタープリタ１０、中間データメモリ２０、図形描画処理部１２、ＣＰＵ１４、ページメモリ２３を備えて構成される。
図２に示す印刷システムは、アプリケーション１ａ、プリンタドライバ２ａ、印刷装置３ａで構成される。プリンタドライバ２ａは、図形重なり判定部１１と直前図形データメモリ２１を備えた図形重なり処理部３、ＰＤＬ言語生成部１０ａ、ＰＤＬ言語出力部１２ａ、ＣＰＵ１４を備えて構成される。
【０００８】
図３は、図１、図２に示したような構成の印刷システムにおいて行われる基本的な重なり判定及び削除処理の基本的な動作を示すフローチャートである。
この場合、図３に示すように、ステップＳ０で図形終了かどうかをチェックし、終了であればステップＳ７へ進み、直前に図形があるかどうかを確認し、図形があればステップＳ８へ進み、その後、処理を終了する。ステップＳ７で図形がなければ処理を終了する。ステップＳ０において終了でないと判断すればステップＳ１へ進み、重なり判定対象図形であるかどうかを確認し、重なり判定対象図形でなければ、ステップＳ９へ進んで直前に図形があるかを確認し、直前に図形があればステップＳ１０へ進んで直前図形描画を行い、ステップＳ１１へ進む。ステップＳ９での確認で直前に図形がないと判断したときはステップＳ１１へ進み、現図形描画処理を行った後、処理を終了する。
また、ステップＳ１において、重なり判定対象図形であると判別したときは、ステップＳ２に進み、直前の図形も重なり判定対象図形であったかどうかの判別を行う。そして、直前の図形も重なり判定対象図形であった場合、ステップＳ３に進み、図形の重なりがあるかどうかの判別を行い、重なりありと判別した場合にはステップＳ４に進み、直前図形の重複部分を削除した後、ステップＳ５に進んで直前図形描画を行う。そして続くステップＳ６において現在の図形を直前図形データメモリに保存して処理を終えることになる。
一方、ステップＳ２において、直前の図形が重なり判定対象図形でないと判別した場合は、ステップＳ６にスキップして、現在の図形を直前図形データメモリに保存して処理を終えることになる。またステップＳ３において図形の重なりがないと判別した場合は、ステップＳ５に進み、直前図形描画を行い、続くステップＳ６において現在の図形を直前図形データメモリに保存して処理を終えることになる。
【０００９】
ところで、上記図３に示したような基本的な重なり判定及び削除処理では、例えば図４に示すような円（楕円）の中心に向かって色が変化していくようなグラデーションが、印刷データ内において大きな楕円に、色が少し変化して大きさも少し小さくなった楕円が重なり、さらにこのような描画コマンドが重なる場合、ステップＳ４に示した削除処理そのものも複雑になるだけでなく、下地側で描画するために残った図形が、枠のような少しの幅を持った楕円になる。
プリンタ言語においてこの幅を持った楕円を表現するコマンドを持っていなければ、重なり判定を行った後の図形を表現するのに複数のコマンドを組み合わせなければならなくなる。そのため、重複部分削除後の図形を描画コマンドもしくは中間データ形式で保持するような印刷システムでは、削除後のデータが複雑になってしまい（図５参照）、データの保持とラスターイメージへの展開にメモリや時間がかかり、せっかく描画面積を削減しても理想的な高速化が図れないことにもなりかねない。
そこで、例えば円の中心をとおる水平線と垂直線で図形を分割して削除処理を行うと、削除後のポリゴン図形は比較的簡単な弧の集合に置き換えることができる（図６）。
以下、第１の実施の形態に係る印刷システムのハードウェア構成について説明する。
図７は、重なり判定処理をプリンタ側で行う場合の印刷システムの構成を示したブロック図、図８は重なり判定処理をドライバ側で行う場合の印刷システムの構成を示したブロック図である。
図７に示す本実施の形態の印刷システムは、主要部がホストＰＣ１、プリンタコントローラ２ｂで構成され、プリンタコントローラ２ｂは図形重なり判定１１と直前図形データメモリ２１を備えた図形重なり処理部３ｂ、インタープリタ１０、中間データメモリ２０、図形描画処理１２、ＣＰＵ１４、ページメモリ２３、プリンタエンジン４で構成される。
また図８に示す本実施の形態の印刷システムは、主要部がアプリケーション１ａ、プリンタドライバ２ｃで構成され、プリンタドライバ２ｃは図形重なり判定１１と直前図形データメモリ２１と重複部分削除処理１５ａと図形分割処理１６ａを備えた図形重なり処理部３ｃ、ＰＤＬ言語生成部１０ａ、ＰＤＬ言語出力部１２ａ、ＣＰＵ１４、印刷装置３ａで構成される。
【００１０】
次に、本実施の形態に係る印刷システムの図形重なり処理部の処理動作を、図９を参照して説明する。なお、基本的な処理動作は上記図３に示した処理動作を同じとされるので、ここでは特徴的な処理動作である図３のステップＳ４の削除処理部分を詳細に説明する。
図９に示すように、ステップＳ２１で中心に向かって縮小しつつ重なっているかどうかを確認し、重なっていないと判断すればステップＳ２２へ進んで通常の削除処理を行い、ステップＳ２８へ移る。ステップＳ２１で中心に向かって縮小しつつ重なっていると判断すれば、ステップＳ２３へ進んで、楕円の軸が垂直かどうかを判断し、垂直でないと判断すればステップＳ２４へ進んで楕円の長軸短軸で分割してその後ステップＳ２５で分割されたそれぞれで削除処理を行い、ステップＳ１７へ移る。
ステップＳ２３で垂直であると判断すればステップＳ２６に進んで移って中心を通る垂直線、水平線で分割する処理を行う。そして、ステップＳ２７へ移って分割されたそれぞれで削除処理を行い、ステップＳ２８へ移る。ステップＳ２８では、弧のデータとして扱われていることを確認し、ステップＳ２９へ移ってＳｃａｎｌｉｎｅデータ形式の方が速く処理できることを確認し、ステップＳ３０でＳｃａｎｌｉｎｅデータ形式に変換して処理を終えることになる。
このようにすれば、重なり判定には元々の楕円図形を用いるために、より多くの情報を保ったまま正確に判定が行え、削除処理とその後の描画では比較的簡単な弧を扱うために、省メモリ、高速化が実現できる。特に削除処理に必要な計算量が大幅に削減できる。また、データ転送速度が速くメモリ領域に余裕がある時には、ここでＳｃａｎｌｉｎｅデータ形式に変換してしまうことで、さらに高速化が見込める。
【００１１】
このように、第１の実施の形態に係る印刷処理システムでは、形状はほぼ同じだが大きさが異なり、描画図形の中心もほぼ同じ楕円描画コマンドが連続して送られてきた場合に、楕円描画コマンドをそのまま重なり判定するのではなくて、いくつかに分割してより簡単な条件で重なり判定を行うことで、そのままでは判定が複雑で判定処理が不可能か行えても処理時間がかかるような場合でも、重なり判定を短時間で行うことができる。基本的な重なり判定だけでは、中心に向かうようなグラデーションを効果的に高速化できないことがあったが、本手法を取り入れることにより十分な高速化を見込める。
なお、重なり判定は、連続した同種、同条件、同属性で、重複部分を削除しても描画結果に影響が無く、座標のみが違う描画コマンド同士に限定して行うことで、重なり判定処理が高速に行うことができる。
また、楕円描画コマンドを印刷の水平方向に分割することで、おおよそ台形に近い形状同士の重なり判定を行うことで簡易的な重なり判定を行うことが可能である。さらに台形に近い図形の中心を垂直に通る直線で分割することで、二つの直角が重複するより簡易な重なり判定を行うことが可能である。
また、長軸もしくは短軸に直角な直線で楕円を分割することで、元の図形をより簡易な形状にして重なり判定を行うことも可能である。
また、楕円を分割する直線を選ぶ際に、描画単位の１ラインもしくは数ライン毎に分割して重なり判定を行う、あるいは一度分割された図形をさらに元の楕円の中心を通る直線で分割することで、より簡易な図形同士の重なり判定を行うことも可能である。
また、垂直方向にも分割が行われた図形同士の重なり判定においては、元の楕円での中心側はずれることが無いことを考慮し、外側の違いのみを判別することで処理の単純化および高速化を図ることができる。
また、重なり判定処理後の図形をＳｃａｎｌｉｎｅデータ形式に変換して後の処理を行うことが可能になる。また処理速度が向上しないと判断されるのであれば、Ｓｃａｎｌｉｎｅデータ形式に変換せずに弧のまま処理を行うことも可能である。
【００１２】
［第２の実施の形態］
上記第１の実施の形態では、図形を分割する時に中心をとおる水平線と垂直線を用いていたが、第２の実施の形態では、楕円が傾いていた場合はその軸に合わせるようにしている。これにより、分割後に重なり判定を行っても同一Ｙライン上に複数のセグメントが生じることがなくなるため、処理が容易になる。
［第３の実施の形態］
これまで説明した処理は図１０のようにドライバ側でもプリンタ側でもどちらでも行うことができる。そのため、ドライバが稼働しているＰＣ側の方が処理能力に余裕があれば、重なり判定、分割及び削除処理を全てドライバ側で行い、逆にＰＣ側に余裕が無くプリンタ側の処理能力が高ければ全てをプリンタ側で行う。状況によっては重なり判定までをドライバ側で行い、その情報をプリンタ側に送ってプリンタ側で分割及び削除処理を行うこともある。ただし、重なり判定、分割処理、削除処理の順番が入れ替わることはない。これにより、この印刷処理システムでは、ＰＣとプリンタの処理能力と負荷状況を考慮し、負荷分散処理を行うことでシステム全体として高速に処理を行うことが可能となる。
【図面の簡単な説明】
【００１３】
【図１】印刷システムにおいて基本的な重なり判定をプリンタ側で行う場合の構成を示した図。
【図２】印刷システムにおいて基本的な重なり判定をドライバ側で行う場合の構成を示した図。
【図３】図１、図２の構成に基づいた場合の基本的な処理動作を示すフローチャート図。
【図４】楕円の中心に向かって色が変化していくグラデーションの例を示す平面図。
【図５】削除後のデータが複雑になる場合の例を示す平面図。
【図６】簡単な弧の集合に置き換えた例を示す平面図。
【図７】本発明の実施の形態に係る印刷システムにおいて重なり判定処理をプリンタ側で行う場合の構成を示した図。
【図８】本実施の形態に係る印刷システムにおいて、重なり判定処理をドライバ側で行う場合の構成を示した図。
【図９】図３のステップＳ４の削除処理部分を詳細に説明したフローチャート。
【図１０】第３の実施の形態に係る印刷システムの要部ブロック図。
【符号の説明】
【００１４】
１  ホストＰＣ、１ａ  アプリケーション、２、２ｂ  プリンタコントローラ、２ａ、２ｃ  プリンタドライバ、３、３ｂ、３ｃ  図形重なり処理部、３ａ  印刷装置、４  プリンタエンジン、１０  インタープリタ、１０ａ  ＰＤＬ言語生成部、１１  図形重なり判定、１２  図形描画処理、１２ａ  ＰＤＬ言語出力部、１４  ＣＰＵ、１５ａ  重複部分削除処理、１６ａ  図形分割処理、２０  中間データメモリ、２１  直前図形データメモリ、２３  ページメモリ
【図１】
2006011664.tif 000003
【図２】
2006011664.tif 000004
【図３】
2006011664.tif 000005
【図４】
2006011664.tif 000006
【図５】
2006011664.tif 000007
【図６】
2006011664.tif 000008
【図７】
2006011664.tif 000009
【図８】
2006011664.tif 000010
【図９】
2006011664.tif 000011
【図１０】
2006011664.tif 000012