(57)【要約】      （修正有）【課題】複数の描画オブジェクトが結合された描画オブジェクトを描画する際のエッジ処理を効率よく実行できる仕組みを提供する。【解決手段】印刷情報を生成する情報処理装置と、画像処理装置とを含む情報処理システムにおいて、マスクイメージとして処理すべき描画オブジェクトが含まれていると判断した場合、複数の描画オブジェクトが結合された描画コマンドと、複数の描画オブジェクトが結合されていない描画オブジェクトとから結合された描画オブジェクトを描画するためのエッジ処理を特定するために用いる特徴情報を抽出し、特徴情報を結合された描画オブジェクトに付与した印刷情報を画像処理装置に送信する。結合された描画オブジェクトに特徴情報が付与されていると判断した場合、描画オブジェクトに対して実行すべきエッジ処理をベクタエッジ処理またはビットマップエッジ処理に切り替える。【選択図】図６
2013033390.tif 000002
【特許請求の範囲】
【請求項１】
入力される描画オブジェクト群から印刷情報を生成する情報処理装置と、前記情報処理装置から受信する印刷情報を処理する画像処理装置とを含む情報処理システムであって、
前記情報処理装置は、
複数の描画オブジェクトを解析して所定の結合条件を満たす描画オブジェクトを結合する結合手段と、
前記結合手段が結合した描画オブジェクトにマスクイメージとして処理すべき描画オブジェクトが含まれているかどうかを判断する判断手段と、
前記マスクイメージとして処理すべき描画オブジェクトが含まれていると判断した場合、前記結合手段により結合された描画コマンドと、複数の描画オブジェクトが結合されていない描画オブジェクトとから結合された描画オブジェクトを描画するためのエッジ処理を特定するために用いる特徴情報を抽出する抽出手段と、
前記抽出手段が抽出した特徴情報を結合された描画オブジェクトに付与する付与手段と、
前記特徴情報が付与された印刷情報を前記画像処理装置に送信する送信手段と、を備え、
前記画像処理装置は、
描画オブジェクトまたは複数の描画オブジェクトが結合された描画オブジェクトに対して描画処理を行う描画手段と、
前記結合された描画オブジェクトに前記特徴情報が付与されているかどうかを判断する判断手段と、
前記特徴情報が付与されていると判断した場合、前記描画手段が複数の描画オブジェクトが結合された描画オブジェクトに対して実行すべきエッジ処理をベクタエッジ処理またはビットマップエッジ処理に切り替える制御手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
入力される描画オブジェクト群から印刷情報を生成する情報処理装置と、前記情報処理装置から受信する印刷情報を処理する画像処理装置とを含む情報処理システムであって、
前記情報処理装置は、
前記印刷情報を画像処理装置に送信する送信手段を備え、
前記画像処理装置は、
前記印刷情報を解析して所定の結合条件を満たす複数の描画オブジェクトを結合する結合手段と、
前記結合手段が結合した描画オブジェクトにマスクイメージとして処理すべき描画オブジェクトが含まれているかどうかを判断する判断手段と、
前記マスクイメージとして処理すべき描画オブジェクトが含まれていると判断した場合、前記結合手段により結合された描画コマンドと、複数の描画オブジェクトが結合されていない描画オブジェクトとから結合された描画オブジェクトを描画するためのエッジ処理を特定するために用いる特徴情報を抽出する抽出手段と、
前記抽出手段が抽出した特徴情報を結合された描画オブジェクトに付与する付与手段と  前記描画オブジェクトまたは複数の描画オブジェクトが結合された描画オブジェクトに対して描画処理を行う描画手段と、
前記描画オブジェクトに前記特徴情報が付与されているかどうかを判別する判別手段と、
前記特徴情報が付与されていると判別した場合、前記描画手段が複数の描画オブジェクトが結合された描画オブジェクトに対して実行すべきエッジ処理をベクタエッジ処理またはビットマップエッジ処理に切り替える制御手段と、
を備えることを特徴とする情報処理システム。
【請求項３】
入力される描画オブジェクト群から印刷情報を生成する情報処理装置と、前記情報処理装置から受信する印刷情報を処理する画像処理装置とを含む情報処理システムであって、
前記情報処理装置は、
複数の描画オブジェクトを解析して所定の結合条件を満たす描画オブジェクトを結合する結合手段と、
前記結合手段が結合した描画オブジェクトにマスクイメージとして処理すべき描画オブジェクトが含まれているかどうかを判断する判断手段と、
前記マスクイメージとして処理すべき描画オブジェクトが含まれていると判断した場合、前記結合手段により結合された描画コマンドと、複数の描画オブジェクトが結合されていない描画オブジェクトとから結合された描画オブジェクトを描画するためのエッジ処理を特定するために用いる特徴情報を抽出する抽出手段と、
前記抽出手段が抽出した特徴情報を前記印刷情報に付与する付与手段と、
前記特徴情報が付与された印刷情報を前記画像処理装置に送信する送信手段と、を備え、
前記画像処理装置は、
描画オブジェクトまたは複数の描画オブジェクトが結合された描画オブジェクトに対して描画処理を行う描画手段と、
前記印刷情報に前記特徴情報が付与されているかどうかを判断する判断手段と、
前記描画手段が複数の描画オブジェクトが結合された描画オブジェクトに対して実行すべきエッジ処理をベクタエッジ処理またはビットマップエッジ処理に切り替える制御手段と、
を備えることを特徴とする情報処理システム。
【請求項４】
前記制御手段は、前記特徴情報が付与されていると判断した場合、さらに、前記描画手段によるエッジ処理の負荷状態に応じて、前記特徴情報が付与されていると判断した場合、前記描画手段が入力される描画オブジェクトに対して実行すべきエッジ処理をベクタエッジ処理またはビットマップエッジ処理に切り替えることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理システム。
【請求項５】
前記印刷情報を、所定のページ記述言語に基づくＰＤＬデータであることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理システム。
【請求項６】
入力される描画オブジェクト群から印刷情報を生成する情報処理装置と、前記情報処理装置から受信する印刷情報を処理する画像処理装置とを含む情報処理システムにおける描画処理方法であって、
前記情報処理装置は、
複数の描画オブジェクトを解析して所定の結合条件を満たす描画オブジェクトを結合する結合工程と、
前記結合工程が結合した描画オブジェクトにマスクイメージとして処理すべき描画オブジェクトが含まれているかどうかを判断する判断工程と、
前記マスクイメージとして処理すべき描画オブジェクトが含まれていると判断した場合、前記結合工程により結合された描画コマンドと、複数の描画オブジェクトが結合されていない描画オブジェクトとから結合された描画オブジェクトを描画するためのエッジ処理を特定するために用いる特徴情報を抽出する抽出工程と、
前記抽出工程が抽出した特徴情報を結合された描画オブジェクトに付与する付与工程と、
前記特徴情報が付与された印刷情報を前記画像処理装置に送信する送信工程と、を備え、
前記画像処理装置は、
描画オブジェクトまたは複数の描画オブジェクトが結合された描画オブジェクトに対して描画処理を行う描画工程と、
前記描画オブジェクトに前記特徴情報が付与されているかどうかを判断する判断工程と、
前記特徴情報が付与されていると判別した場合、前記描画工程が複数の描画オブジェクトが結合された描画オブジェクトに対して実行すべきエッジ処理をベクタエッジ処理またはビットマップエッジ処理に切り替える制御工程と、
を備えることを特徴とする描画処理方法。
【請求項７】
入力される描画オブジェクト群から印刷情報を生成する情報処理装置と、前記情報処理装置から受信する印刷情報を処理する画像処理装置とを含む情報処理システムにおける描画処理方法であって、
前記情報処理装置は、
前記印刷情報を画像処理装置に送信する送信工程を備え、
前記画像処理装置は、
前記印刷情報を解析して所定の結合条件を満たす複数の描画オブジェクトを結合する結合工程と、
前記結合工程が結合した描画オブジェクトにマスクイメージとして処理すべき描画オブジェクトが含まれているかどうかを判断する判断工程と、
前記マスクイメージとして処理すべき描画オブジェクトが含まれていると判断した場合、前記結合工程により結合された描画コマンドと、複数の描画オブジェクトが結合されていない描画オブジェクトとから結合された描画オブジェクトを描画するためのエッジ処理を特定するために用いる特徴情報を抽出する抽出工程と、
前記抽出工程が抽出した特徴情報を結合された描画オブジェクトに付与する付与工程と  描画オブジェクトまたは複数の描画オブジェクトが結合された描画オブジェクトに対して描画処理を行う描画工程と、
前記描画オブジェクトに前記特徴情報が付与されているかどうかを判別する判別工程と、
前記特徴情報が付与されていると判別した場合、前記描画工程が複数の描画オブジェクトが結合された描画オブジェクトに対して実行すべきエッジ処理をベクタエッジ処理またはビットマップエッジ処理に切り替える制御工程と、
を備えることを特徴とする描画処理方法。
【請求項８】
入力される描画オブジェクト群から印刷情報を生成する情報処理装置と、前記情報処理装置から受信する印刷情報を処理する画像処理装置とを含む情報処理システムにおける描画処理方法であって、
前記情報処理装置は、
複数の描画オブジェクトを解析して所定の結合条件を満たす描画オブジェクトを結合する結合工程と、
前記結合工程が結合した描画オブジェクトにマスクイメージとして処理すべき描画オブジェクトが含まれているかどうかを判断する判断工程と、
前記マスクイメージとして処理すべき描画オブジェクトが含まれていると判断した場合、前記結合工程により結合された描画コマンドと、複数の描画オブジェクトが結合されていない描画オブジェクトとから結合された描画オブジェクトを描画するためのエッジ処理を特定するために用いる特徴情報を抽出する抽出工程と、
前記抽出工程が抽出した特徴情報を前記印刷情報に付与する付与工程と、
前記特徴情報が付与された印刷情報を前記画像処理装置に送信する送信工程と、を備え、
前記画像処理装置は、
描画オブジェクトまたは複数の描画オブジェクトが結合された描画オブジェクトに対して描画処理を行う描画工程と、
前記印刷情報に前記特徴情報が付与されているかどうかを判断する判断工程と、
前記特徴情報が付与されていると判別した場合、前記描画工程が複数の描画オブジェクトが結合された描画オブジェクトに対して実行すべきエッジ処理をベクタエッジ処理またはビットマップエッジ処理に切り替える制御工程と、
を備えることを特徴とする描画処理方法。
【請求項９】
入力される描画オブジェクト群から印刷情報を生成して画像処理装置に出力する情報処理装置を、
複数の描画オブジェクトを解析して所定の結合条件を満たす描画オブジェクトを結合する結合手段と、
前記結合手段が結合した描画オブジェクトにマスクイメージとして処理すべき描画オブジェクトが含まれているかどうかを判断する判断手段と、
前記マスクイメージとして処理すべき描画オブジェクトが含まれていると判断した場合、前記結合手段により結合された描画コマンドと、複数の描画オブジェクトが結合されていない描画オブジェクトとから結合された描画オブジェクトを描画するためのエッジ処理を特定するために用いる特徴情報を抽出する抽出手段と、
前記抽出手段が抽出した特徴情報を結合された描画オブジェクトに付与する付与手段と、
前記特徴情報が付与された印刷情報を前記画像処理装置に送信する送信手段として機能させることを特徴とするプログラム。
【請求項１０】
情報処理装置から受信する入力される描画オブジェクト群に対して描画処理を行う画像処理装置を、
前記描画オブジェクト群に含まれる描画オブジェクトまたは複数の描画オブジェクトが結合された描画オブジェクトに対して描画処理を行う描画手段と、
結合された描画オブジェクトを描画するためのエッジ処理を特定するために用いる特徴情報が複数の描画オブジェクトが結合された描画オブジェクトに付与されているかどうかを判断する判断手段と、
前記特徴情報が付与されていると判断した場合、前記描画手段が複数の描画オブジェクトが結合された描画オブジェクトに対して実行すべきエッジ処理をベクタエッジ処理またはビットマップエッジ処理に切り替える制御手段と、
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、描画処理方法及びプログラムに関するものである。
【背景技術】
【０００２】
コンピュータ等の情報処理装置を用いて画像処理装置で印刷をする場合、一般的にはプリンタドライバを利用することが多い。情報処理装置上のプリンタドライバではＯＳ・アプリケーションからの描画コマンドを受け取り、印刷データ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ  ｄａｔａ、以下、ＰＤＬデータ）に変換する。このＰＤＬデータを画像処理装置が受け取り、インタプリタで解釈し、ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）で画像形成し、プリンタエンジンで印字する事で、印刷処理が実現される。
【０００３】
ここで、ＰＤＬデータの最適化手段の１つに「細切れ結合」がある。「細切れ結合」とは、インタプリタで処理する際に、多数の描画コマンドをまとめ、単一の描画コマンドに置き換えることで、ＲＩＰが処理するべき描画コマンド数を削減する手段である。これによって、ＲＩＰの計算量を削減し、より高速な出力を実現できる。
【０００４】
このように、印刷処理をより効率よく実施するために、情報処理装置、あるいはプリンタでＰＤＬデータに対する最適化処理を施すこと手段が広く知られている。例えば下記特許文献１では、情報処理装置側で画像を作ると共に印字時に必要となるヒント情報（特徴情報）をＰＤＬデータに予め埋め込む技術が提案されている。
【０００５】
プリンタ側でレンダリング処理を行う際に必要となる情報を画像劣化少なく埋め込むことが可能となる。特許文献２ではＰＤＬデータを解釈する際に必要に応じてアンチエイリアシング処理を行うことで高画質化を図る手段が提案されている。
【０００６】
また、特許文献３では、予め定めた所定のパス数の閾値に応じて、描画を選択する手法が提案されている。オブジェクト毎にマスク情報に対する演算処理（Ｒａｓｔｅｒ  Ｏｐｅｒａｔｉｏｎ  以下、ＲＯＰ処理）で描画か、塗り情報とエッジ情報を用いた描画を用いるかが選択できる。この選択処理を用いることで、より最適な描画方法で描画を実現する技術が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２３０７５０号公報
【特許文献２】特開平１１−２７２２５７号公報
【特許文献３】特開２００６−０４８１７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、画像処理装置内で描画コマンドを解釈するＣＰＵ、あるいは画像形成をするＲＩＰの実現手段は多種多様である。ソフトウエアのみで全ての処理をする安価な製品もあれば、ハードウェアも併用し高速性を実現する高価な製品もある。ソフトウエアで実現する場合でも、ＣＰＵの分岐予測性能は多種多様であり、場合によっては多少計算コストがかかってでも分岐を無くす方が全体の計算量を抑えられるＣＰＵもある。このように、種々の画像処理装置の性能が異なるため、情報処理装置側のプリンタドライバが、幅広い製品レンジの画像処理装置に対して一様に望ましいＰＤＬデータを生成する事は難しい。
【０００９】
これに対し、情報処理装置側では最適化処理を行わず、画像処理装置内でそれぞれに適した最適化する代替手段がある。しかしながら、最適化されていないＰＤＬデータを画像処理装置側で最適化処理をするために、画像処理装置側の負荷が増加してしまい、却って性能が低下することがある。
【００１０】
一方、プリンタドライバが画像処理装置に能力を問い合わせ、それに基づいて画像処理装置で最適なＰＤＬデータをその都度、生成する代替手段がある。しかし、印刷ユースケースとして、一度ネットワーク上のデバイスにＰＤＬデータをスプールしておき、後から任意のプリンタからそのＰＤＬデータを参照印刷するケースがある。
この場合には能力を問い合わせるべき画像処理装置が印刷時点では決まっておらず、最適化処理の基準を決められない。
以上から、情報処理装置側や画像処理装置側での最適化した結果を、様々な性能の画像処理装置での印刷時に活用できる手段を提供する必要がある。
【００１１】
加えて、従来のドライバーでの最適化する場合には、元々イメージを描画するコマンドと、ドライバーで結合したイメージとを画像処理装置側で判別する手段が無く、このエッジ抽出処理の対象となるイメージを判別する事が出来ない。
そのため、結合していないイメージを描画するコマンドに対して、サイズなどの情報だけで判断すると、不要なエッジ抽出処理をしてしまい、エッジ処理モジュールの負荷が増加する課題があった。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、画像処理装置側で情報処理装置から受信する印刷情報に含まれる複数の描画オブジェクトが結合された描画オブジェクトを描画する際のエッジ処理をベクタエッジ処理またはビットマップエッジ処理のいずれかに切り替えて効率よく実行できる仕組みを提供することである。
【課題を解決するための手段】
【００１２】
上記目的を達成する本発明の情報処理システムは以下に示す構成を備える。
入力される描画オブジェクト群から印刷情報を生成する情報処理装置と、前記情報処理装置から受信する印刷情報を処理する画像処理装置とを含む情報処理システムであって、前記情報処理装置は、複数の描画オブジェクトを解析して所定の結合条件を満たす描画オブジェクトを結合する結合手段と、前記結合手段が結合した描画オブジェクトにマスクイメージとして処理すべき描画オブジェクトが含まれているかどうかを判断する判断手段と、前記マスクイメージとして処理すべき描画オブジェクトが含まれていると判断した場合、前記結合手段により結合された描画コマンドと、複数の描画オブジェクトが結合されていない描画オブジェクトとから結合された描画オブジェクトを描画するためのエッジ処理を特定するために用いる特徴情報を抽出する抽出手段と、前記抽出手段が抽出した特徴情報を結合された描画オブジェクトに付与する付与手段と、前記特徴情報が付与された印刷情報を前記画像処理装置に送信する送信手段と、を備え、前記画像処理装置は、描画オブジェクトまたは複数の描画オブジェクトが結合された描画オブジェクトに対して描画処理を行う描画手段と、前記結合された描画オブジェクトに前記特徴情報が付与されているかどうかを判断する判断手段と、前記特徴情報が付与されていると判断した場合、前記描画手段が複数の描画オブジェクトが結合された描画オブジェクトに対して実行すべきエッジ処理をベクタエッジ処理またはビットマップエッジ処理に切り替える制御手段と、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、画像処理装置側で情報処理装置から受信する印刷情報に含まれる複数の描画オブジェクトが結合された描画オブジェクトを描画する際のエッジ処理をベクタエッジ処理またはビットマップエッジ処理のいずれかに切り替えて効率よく実行できる。
【図面の簡単な説明】
【００１４】
【図１】情報処理システム構成例を示すブロック図である。
【図２】印刷システムのソフトウエア構成例を示すブロック図である。
【図３】情報処理装置におけるデータ処理装置を説明するフローチャートである。
【図４】情報処理装置における描画処理を説明する模式図である。
【図５】情報処理装置における描画処理を説明する模式図である。
【図６】画像処理装置のデータ処理方法を説明するフローチャートである。
【図７】画像処理装置のデータ処理方法を説明するフローチャートである。
【図８】画像処理装置におけるエッジ処理例を説明する図である。
【図９】情報処理装置におけるデータ処理装置を説明するフローチャートである。
【図１０】情報処理装置におけるエッジ処理状態を説明する図である。
【発明を実施するための形態】
【００１５】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００１６】
図１は、本発明の実施形態に係る情報処理装置、画像処理装置を含む情報処理システム構成例を示すブロック図である。本例は情報処理装置１００と画像処理装置１５０とがネットワーク１３０を介して通信可能な情報処理システム例である。本実施形態において、ネットワークとはクラウドコンピューティング環境をも含み、情報処理装置は、クラウドコンピューティング環境において、プリントサービスを提供するサーバとして機能する。
また、本実施形態に示す情報処理装置は、所定のページ記述言語に基づくＰＤＬデータを生成して画像処理装置に転送するためのプリンタドライバがインストールされている。ここで、プリンタドライバは、各種のＯＳ並びに当該ＯＳのバージョンに対応して情報処理装置の外部記憶装置にインストールされている。以下、入力される描画オブジェクト群から印刷情報を生成する情報処理装置と、前記情報処理装置から受信する印刷情報を処理する画像処理装置とを含む情報処理システムの実施形態を図面に基づいて詳述する。
図１において、情報処理装置１００内で、プロセッサ１０１は、バス１１０を通じて、メモリ１０２、ディスク装置１０３、キーボード１０４、ポインティングデバイス１０５、ビデオアダプタ１０６、および、ネットワークアダプタ１０７が接続されている。ビデオアダプタ１０６には、ディスプレイ装置１０８が接続されている。
【００１７】
プロセッサ１０１は、メモリ１０２に記憶された処理手順、すなわち、所定のプログラムに従って、上述した各構成部を制御する。メモリ１０２には、プロセッサ１０１が利用するプログラムやデータが記憶されている。また、ディスク装置１０３には、本システムが必要とするプログラムやデータが記録されている。ここで、ディスク装置１０３は２つ以上が接続する構成をとってもよい。また、ＲＯＭ・ハードディスク・ＵＳＢストレージ・ＳＤカード・ネットワークストレージ等他の記憶装置によって代替されてもよい。
【００１８】
本システムは、キーボード１０４やポインティングデバイス１０５により、ユーザがアプリケーションに対して印刷指示をする事が出来る。また、本システムはビデオアダプタ１０６によって、種々の情報をディスプレイ装置１０８に表示することが可能である。加え、本システムはネットワークアダプタ１０７を介してネットワーク１３０に接続することができる。
【００１９】
一方、画像処理装置１５０内も情報処理装置１００同様にプロセッサ１５１、メモリ１５２等がバス１６１によって接続されている。画像処理装置１５０では更に、ＲＩＰデバイス１５９とプリンタエンジン１６０もまた、バス１６１に接続されている。１５３はディスク装置で、ボックス領域として、アプリケーション、ＯＳの格納領域として使用される。プロセッサ１５１は、バス１６１を通じて、メモリ１５２、ディスク装置１５３、キーボード１５４、ポインティングデバイス１５５、ビデオアダプタ１５６、および、ネットワークアダプタ１５７が接続されている。
【００２０】
ネットワーク１３０を介して、ユーザから本システムに印刷指示がなされると、メモリ１５２上に記憶されたプログラムをプロセッサ１５１が実行し、ＲＩＰデバイス１５９が解釈可能なＤｉｓｐｌａｙ  Ｌｉｓｔ（以下、ＤＬ）をメモリ１５２上に生成する。ＲＩＰデバイス１５９が生成されたＤＬを解釈する事で出力画像がメモリ１５２上に形成される。そして、プリンタエンジン１６０がメモリ１５２上に形成された出力画像を物理用紙に印字する。
【００２１】
図２は、本発明の実施形態に係る印刷システムのソフトウエア構成例を示すブロック図である。
図２において、情報処理装置１００側の処理は、メモリ１０２あるいはディスク装置１０３上に保存されているプログラムをプロセッサ１０１が実行する事により実現される。また、プリンタ側の処理は、メモリ１５２あるいはディスク装置１５３上に保存されているプログラムをプロセッサ１５１が実行する事により実現される。
【００２２】
キーボード１０４ないし、ポインティングデバイス１０５を介してユーザアプリケーション２０１にユーザからの印刷指示が行われる。ユーザアプリケーション２０１は出力しようとする描画コマンドをプリンタドライバ２０２に送信する。プリンタドライバ２０２は、ユーザアプリケーション２０１から受け取る描画コマンドを描画コマンド解析部２０３で解釈する。
次に、描画コマンド最適化部２０４が描画コマンド解析部２０３の解釈結果を印刷に適した形式に変換しようとする。最適化処理として、複数の描画コマンドを、より数の少ない描画コマンドに置き換える場合がある。描画コマンドはメモリ１０２上に確保される簡易ＲＩＰ  ＤＬＭ２０６に保持され、簡易ＲＩＰ２０５によって結合される。ここでＤＬＭとは、Ｄｉｓｐｌａｙ  Ｌｉｓｔ  Ｍｅｍｏｒｙの略称であり、描画コマンドをスプールするためのメモリ領域を意味する。
【００２３】
ＰＤＬ生成部２０７は最適化した描画コマンドおよび、最適化しなかった描画コマンドの両方を合わせてＰＤＬデータを生成する。生成したＰＤＬデータはＰＤＬデータスプーラ―／スケジューラー２０８によって、ディスク装置１０３上のスプール領域２０９に保持される。ＰＤＬデータスプーラ―／スケジューラー２０８は、ディスク装置１０３上にスプールしたＰＤＬデータが画像処理装置１５０に送信可能であると判断すると、ネットワーク送信部２１０にデータを画像処理装置１５０に送信する。ネットワーク送信部２１０は必要なプロトコル変換を行い、ネットワークアダプタ１０７とネットワーク１３０を介して、画像処理装置１５０に変換したＰＤＬデータを送信する。
【００２４】
画像処理装置１５０では、情報処理装置１００からネットワーク１３０、ネットワークアダプタ１５７を介してＰＤＬデータを受信する。受信したデータはネットワーク受信部２５１が必要なプロトコル変換を行い、ＰＤＬデータに逆変換する。そして、このＰＤＬデータをジョブ制御部２５６に通知する事で、印刷ジョブが開始される。
ジョブ制御部２５６は、ＰＤＬインタプリタ部２５２にジョブ開始を通知する。ＰＤＬデータ解釈部２５３は、ネットワーク受信部２５１からＰＤＬデータを受信し、ＰＤＬデータの解釈を開始する。描画コマンド最適化部２５４は、ＰＤＬデータ解釈部２５３が解釈した描画コマンドに対して最適化処理を行う。
【００２５】
なお、情報処理装置１００同様に描画コマンドをメモリ１５２上に確保される簡易ＲＩＰ  ＤＬＭ２０６にスプールし、簡易ＲＩＰ部２０５で結合することも可能である。最適化した描画コマンドおよび最適化していない描画コマンドは、ＤＬ生成部２５７でＤＬデータに変換される。この変換結果はメモリ１５２上のＤＬメモリ２５８に保持される。１ページ分のＰＤＬデータを解釈すると、ＰＤＬインタプリタ部２５２はジョブ制御部２５６にページ終了を通知する。
【００２６】
ジョブ制御部２５６はＰＤＬインタプリタ部２５２からジョブ終了通知と受けると、ＲＩＰデバイス制御部２６０にレンダリング開始を通知する。ＲＩＰデバイス制御部２６０はジョブ制御部２５６からレンダリング開始が通知されると、ＤＬメモリ２５８をＲＩＰデバイス１５９内に通知する。ＲＩＰデバイス１５９は、エッジ変換処理部２６１にてＤＬの最適化を行い、エッジ処理部２６２でＤＬに含まれる描画コマンド同士の重なり・描画領域範囲の整理をエッジを元に行う。
更に、ピクセル描画部２６３でＤＬに基づいて出力画像２６４上の画素の色値を決定する事で、画像形成する。なお、ＲＩＰデバイス１５９に含まれるエッジ変換処理部２６１、エッジ処理部２６２、ピクセル描画部２６３はそれぞれ別のプロセッサが割り当てられ、パイプラインで処理可能であるものとする。
【００２７】
ＲＩＰデバイス１５９によって出力画像２６４が形成されると、ＲＩＰデバイス１５９からジョブ制御部２５６にレンダリング終了が通知される。ジョブ制御部２５６はＲＩＰデバイス１５９からレンダリング終了が通知されると、プリンタエンジン制御部２６５を介してプリンタエンジン１６０に印刷開始を通知する。プリンタエンジン１６０は出力画像２６４を元に、物理用紙上に画像を印字する。
【００２８】
この実施形態を説明するための印刷システム構成例では、ＲＩＰデバイス１５９を専用ハードウェアとして実装する構成で説明しているが、これをソフトウエアで実装をしてもよい。昨今のＣＰＵにはコアが複数個搭載（マルチコアと呼ばれる）されているものもある。例えば、あるコアではＰＤＬデータからＤＬを生成し、別のコアではＤＬから画像を形成する構成をとる事も可能である。
また、エッジ処理部２６２やピクセル描画部２６３を異なるＣＰＵコアに割り当てることも、あるいは、それぞれ異なる専用のハードウェアで構成することも可能である。例えば、エッジ変換処理部２６１やエッジ処理部２６２をＤＬ生成部２５７でＤＬを生成するときに合わせて行うことも、本発明の一実施形態として可能である。
【００２９】
また、本実施形態を説明するための印刷システム構成例では、エッジ抽出をしてから描画を行うスキャンライン方式のＲＩＰ処理を前提としている。これを、直接ページメモリに描画を行うペインターズモデルのＲＩＰに置き換えても、本発明による効果を得ることが可能であることは明確である。
【００３０】
なお、昨今の画像処理装置では物理用紙への出力を指示する代わりに、ディスク装置１５３内の領域（ＢＯＸ領域２７０）に印刷ジョブとして格納する機能を保有しているものもある。形成された出力画像２６４をそのまま保持する事もできる他、描画コマンド最適化部２５４で最適化した描画コマンドに対して、ＰＤＬ生成部２５９で再度ＰＤＬデータに変換して保持する事も可能である。また、ＢＯＸ領域２７０に格納した印刷ジョブは、別のプリンタに送信する事で代替印刷することも出来る。
【００３１】
なお、描画コマンドを表現する手段には「オブジェクトモデル」と「ステートメントモデル」とがある。
ここで、ステートメントモデルとは、状態を変更する描画コマンドの集合によって、描画しようとしているコンテンツを表現する手段である。例えば、「ペンの色を赤に変える」、「ペンの原点位置を座標０，０に移動する」、「原点位置から右へ１０の点まで、直線を描画する」というコマンド列によって直線描画を表現する。
【００３２】
一方、オブジェクトモデルとは描画しようとするコンテンツに幾つかの属性を付与し、それぞれのオブジェクトが独立して描画できるモデルである。「座標０，０から座標１０，０に赤色で直線を描画する」オブジェクトモデルの描画コマンドは、上記ステートメントモデルでの描画コマンドと等価である。
【００３３】
本実施形態では説明を容易にするために、入力される描画コマンドがステートメントモデルで通知された場合でも、描画コマンド解析部２０３やＰＤＬデータ解釈部２５３でオブジェクトモデルに変換するものとする。これは説明を容易にすることを目的としており、ステートメントモデルを用いて本発明を適用する事も可能である。
【００３４】
以下、本発明の実施形態として情報処理装置上からプリンタ上にＰＤＬデータを送信し、印刷するユースケースを説明する。本発明は描画コマンド最適化部２０４、およびエッジ変換処理部２６１に関する発明であるため、その部分に絞って説明を行う。
【００３５】
図３は、本実施形態を示す情報処理装置におけるデータ処理装置を説明するフローチャートである。本例は、図２に示した描画コマンド最適化部２０４で行われる処理の一部を抽出した例である。もちろん、描画コマンド最適化部２０４でこれ以外の最適化処理を実装しても、本発明を好的に適用する事が可能である。
例えば不要なクリップの除去、出力されない描画コマンドの除去などの最適化処理を予め行った上で、本処理を実行しても良い。あるいは、本発明を適用した後からその他の最適化処理を行っても良い。この両方を組み合わせても、本発明の効果は変わらない。なお、Ｓ３０１〜Ｓ３１４は各ステップを示し、各ステップは、図１に示したプロセッサ１０１がメモリ１０２に制御プログラム（図２に示すモジュールを含む）をロードして実行することで実現される。以下、制御の主体を図２に示したモジュールとして説明を行う。
まず、ジョブ開始時には簡易ＲＩＰ  ＤＬＭ２０６に何も描画オブジェクトが登録されていないものとする。
【００３６】
描画コマンド最適化部２０４では、入力オブジェクトが細切れ結合条件に適合しているかを判断する（Ｓ３０１）。この条件の一例としては、描画コマンド最適化部２０４が簡易ＲＩＰ部２０５で処理可能なＲＯＰ（例えば、ＲＯＰ２  ＣＯＰＹＰＥＮないし、ＲＯＰ３  ０ｘＣＡ）が指定されているかを判定するものがある。
また、描画コマンド最適化部２０４がそれぞれの入力オブジェクトの幅・高さが一定閾値以内に収まるか、あるいは結合後のオブジェクトの幅・高さが別の閾値以内に収まるか、を判定する。
その他、描画コマンド最適化部２０４が簡易ＲＩＰ  ＤＬＭ２０６に登録可能なオブジェクト数上限を定め、それを超過していないかを判定しても良い。
これらは簡易ＲＩＰ部２０５の設計・実装に依存する部分であるため、詳細な説明は省略する。ここで、細切れ結合条件を満たしていると描画コマンド最適化部２０４が判断した場合には、細切れ結合の対象データであるとしてＳ３０２以降を実行する。この条件を満たさない場合にはＳ３０６以降を処理する。
【００３７】
ここで、入力オブジェクトが細切れ結合条件を満たしていると描画コマンド最適化部２０４が判断した場合、さらに、メモリ１０２上に確保される簡易ＲＩＰ  ＤＬＭ２０６が空き状態であるかを判定する（Ｓ３０２）。ここで、簡易ＲＩＰ  ＤＬＭ２０６が空き状態であると描画コマンド最適化部２０４が判断した場合、描画コマンド最適化部２０４がオブジェクトエッジ数総和を「０」とする（Ｓ３０３）。そして、描画コマンド最適化部２０４は、メモリ１０２上の簡易ＲＩＰ  ＤＬＭ２０６に追加しようとしている入力オブジェクトに含まれるエッジ数をオブジェクトエッジ数総和に加算していく（Ｓ３０４）。そして、描画コマンド最適化部２０４は、簡易ＲＩＰ  ＤＬＭ２０６に、当該入力オブジェクトを追加する（Ｓ３０５）。これによって、結合条件を満たしている間、簡易ＲＩＰ  ＤＬＭ２０６にオブジェクトが追加され続ける。
【００３８】
一方、Ｓ３０１で、入力オブジェクトが細切れ結合条件を満たしていないと描画コマンド最適化部２０４が判断した場合は、描画コマンド最適化部２０４がメモリ１０２に確保される簡易ＲＩＰ  ＤＬＭ２０６が空き状態であるかを判定する（Ｓ３０６）。ここで、簡易ＲＩＰ  ＤＬＭ２０６が空き状態であると描画コマンド最適化部２０４が判断した場合は、入力オブジェクトをＰＤＬ生成部２０７に出力し（Ｓ３０７）、本処理を終了する。なお、細切れ結合処理を併用する別の最適化手段で、この入力オブジェクトの最適化を試みても良い。
一方、Ｓ３０６で、簡易ＲＩＰ  ＤＬＭ２０６が空き状態でないと描画コマンド最適化部２０４が判断した場合は、簡易ＲＩＰ  ＤＬＭ２０６に保存されている入力オブジェクト群を簡易ＲＩＰ２０５で出力処理し、結合オブジェクトを生成する（Ｓ３０８）。
【００３９】
ここで、この結合オブジェクト上で描画する領域・画素を指定する手段には、前述したマスクイメージを使う手段（ビットマップエッジ）と、パスやクリップとして指定する手段（ベクタエッジ）と、がある。
【００４０】
また、ビットマップエッジとしてオブジェクトを描画する場合には、エッジ処理部２６２はオブジェクトの描画しようとするイメージの両端のみをエッジとする。そして、その結果に基づきピクセル描画部２６３はその描画するべきエッジ内の全画素に対して１つずつ描画処理する。ビットマップエッジは広い面積を指定するとデータ量が増え、かつ再利用の難しい解像度依存なデータになるデメリットがある。
しかしながら、ビットマップエッジでは細かな形状を表現してもデータ量・計算量が一定に抑えられるメリットがある。
【００４１】
一方、ベクタエッジとしてオブジェクトを描画する場合には、エッジ処理部２６２はオブジェクトの描画するパス、クリップに含まれる描画領域指定から実際に描画するべきエッジを決定する。
そして、その結果に基づきピクセル描画部２６３では描画するべきエッジ内の画素を一様に描画処理する。ベクタエッジでは広い面積を指定してもメモリ量が増加せず、解像度非依存なデータであるメリットがある。
しかしながら、ベクタエッジを用いて非常に細かな形状を表現するとデータ量や計算量が膨れ上がってしまうデメリットもある。
【００４２】
図４、図５は、本実施形態を示す情報処理装置における描画処理を説明する模式図である。本例は、"山"を表現するイメージ７００の形に、ベクタエッジおよびビットマップエッジのそれぞれを利用して描画する場合の例である。ただし、白画素部分では背景画素を、黒画素部分については特定色での塗りつぶしを行うものとする。
【００４３】
図４において、描画例７１０に示すようにビットマップエッジで描画する場合は、処理するべきエッジはエッジ７１１とエッジ７１２の２本となる。そのため、エッジ処理部２６２の負荷は非常に小さい。だが、スキャンライン７２１を描画する場合には描画例７１０上の全ての画素の色値を判定する必要がある。スキャンライン７２１上での色値を決定するには、ビットマップ上の各画素の色値を参照する必要がある。
【００４４】
この場合、スキャンライン７２１の各画素の色値は、｛黒、白、白、黒、白、白、白、黒｝となり、これに従い、１画素を塗りつぶし、１画素をスキップ×２、１画素を塗りつぶし、１画素をスキップ×３、１画素を塗りつぶし、と処理する。
同様に、スキャンライン７２２の各画素の色値は、｛黒、黒、黒、黒、黒、黒、黒、黒｝となり、全画素で特定色での塗りつぶしを行う。同様に、スキャンライン７２３の各画素の色値は、｛白、白、白、白、白、白、白、白、黒｝となり、最初の７画素は背景画素、最後は特定色での塗りつぶしとなる。この手段を用いると、ＤＬとしてはエッジ数が抑えられ、エッジ処理部２６２の処理量は小さい。
しかしながら、画素毎に色を決定する必要があり、ピクセル描画部２６３の処理量は大きい。
【００４５】
一方、図４の描画例７５０に示すようにベクタエッジで描画する場合は、処理するべきエッジは、エッジ７５１〜７５７の７本となる。スキャンライン上の色値を決定するには、これらのエッジを用いることができる。例えば、スキャンライン７６１であれば、エッジ７５１〜７５２、エッジ７５３〜７５４、エッジ７５５〜７５７の３か所を特定色で塗りつぶすことになる。
更にスキャンライン７６２では、エッジ７５１〜７５７を、スキャンライン７６３ではエッジ７５６〜７５７の区間（スパン）を塗りつぶせばよい。この時、塗りつぶさない画素については画素毎に色値を決定する必要が無く、また同じスパン内の画素については同じ処理を繰り返せばよい。この手段を用いると、ＤＬとしてはエッジ数が多く、エッジ処理部２６２の処理量は大きい。しかしながら、画素毎に色を決定する必要が無く、ピクセル描画部２６３の処理量は小さい。このようにＲＩＰデバイス１５９では、どちらの表現手段にも得手不得手があり、前述のベクタエッジ数総和などのヒント情報（特徴情報）から使い分ける手段を設けることが望ましい。
【００４６】
次に、Ｓ３０９で、描画コマンド最適化部２０４が結合オブジェクトにマスクイメージがあるかどうかを判断する。ここで、結合オブジェクトにマスクイメージがないと描画コマンド最適化部２０４が判断した場合は、Ｓ３１０からＳ３１２までの処理は行わず、描画コマンド最適化部２０４は、そのまま結合オブジェクトをＰＤＬ生成部２０７に出力し（Ｓ３１３）、描画コマンド最適化部２０４は簡易ＲＩＰ  ＤＬＭ２０６を空き状態にする（Ｓ３１４）。更に、描画コマンド最適化部２０４は、結合出力処理を開始するトリガーとなった入力オブジェクトを描画し（Ｓ３０７）、処理を終了する。
【００４７】
一方、Ｓ３０９で、結合オブジェクトにマスクイメージがあると描画コマンド最適化部２０４が判断した場合には、描画コマンド最適化部２０４が結合オブジェクトから画素を描画する面積が結合オブジェクトに占める割合を算出する（Ｓ３１０）。ここで描画面積割合の算出に関しては、簡易的な手段を用いても良いし、あるいは厳密に計算を行っても良い。
簡易的な手段としては、簡易ＲＩＰ  ＤＬＭ２０６に入力オブジェクトを追加するＳ３０５の際に、入力オブジェクトのバウンディングボックスを求め、その総和によって描画面積と代替しても良い。あるいは、簡易ＲＩＰ  ＤＬＭ２０６に入力オブジェクトのエッジが保存される場合には、そのエッジ情報から算出しても良い。
厳密に求めるためには、結合オブジェクトに含まれるマスクイメージの全画素を走査して描画する画素数を求めても良い。
【００４８】
次に、描画コマンド最適化部２０４がマスクイメージ上のエッジ数を算出する（Ｓ３１１）。マスクイメージ上のエッジ数算出のために、マスクイメージ上の全画素について１画素ずつ右あるいは左の画素と一致してない画素数を数え上げる手段を用いても良い。もしくは、図５に示すような手段を用いてエッジ数を算出しても良い。
図５において、８００は元画像である。これに対して、右にシフトしたシフト画像８０１を生成する。次に、描画コマンド最適化部２０４が元画像８００とシフト画像８０１の排他的論理和を求め（８０２）、更に元画像と論理和をとることでエッジ画像８０３を生成する事ができる。このエッジ画像８０３上にある描画する画素数（黒画素数）を数え上げることで、エッジ数を算出することができる。
【００４９】
そして、描画コマンド最適化部２０４がオブジェクトエッジ数総和、描画面積割合ならびにマスクイメージ上のエッジ数を、結合オブジェクトのヒント情報（特徴情報）として付与する（Ｓ３１２）。次に、描画コマンド最適化部２０４が結合オブジェクトをＰＤＬ生成部２０７へ出力し（Ｓ３１３）、描画コマンド最適化部２０４が簡易ＲＩＰ  ＤＬＭ２０６を空き状態にする（Ｓ３１４）。更に、描画コマンド最適化部２０４が結合出力処理を開始するトリガーとなった入力オブジェクトを描画し（Ｓ３０７）、本処理を終了する。
【００５０】
以上によって、入力オブジェクト群のうち細切れ結合条件に適合しているものが簡易ＲＩＰ  ＤＬＭ２０６に保持される。そして結合条件に適合しない入力オブジェクトの入力をトリガーとして、結合処理が実行される。この時に、入力オブジェクト群ならびに結合オブジェクトの特徴量からヒント情報（特徴情報）が導かれ、これを結合オブジェクトにヒント情報（特徴情報）として付与される。
次に、画像処理装置１５０のＲＩＰデバイス１５９のエッジ変換処理部２６１の処理について説明する。
【００５１】
以上に述べた細切れ結合処理によって、パス点列の集合によってベクターで表現されていた描画コマンドを結合し、イメージ描画コマンドとして表現する事が可能である。これによりエッジ数は削減され、エッジ処理部２６２の負荷を軽減する事が出来る。その一方、描画コマンド最適化部２０４では結合処理のために負荷が増大する。また、イメージでの描画コマンドに置き換えると、画素毎に色値を行う必要があり、ＲＯＰ処理をする画素処理部の負荷も大きくなる。
【００５２】
画素処理部の負荷を減らす手段として、最適化した結合イメージ描画コマンドを、ベクターでの描画コマンドに逆変換する手段がある。ベクターでの描画コマンドでは、画像上の色値を決定する処理をスキャンライン上のスパン毎に行えば良く、画素処理部の負荷は大きく軽減される。しかし、ベクターへの逆変換には毎画素毎にエッジを抽出する処理が必要となり、エッジ処理部２６２の負荷は増加してしまう。
【００５３】
エッジ変換処理部２６１は、入力オブジェクトにマスクイメージが付与されている場合に、必要に応じてビットマップエッジをベクタエッジに変換する処理を行う事で、デバイスの性能に応じて処理時間を最適化する事を目的としている。
【００５４】
図６は、本実施形態を示す画像処理装置のデータ処理方法を説明するフローチャートである。本例は、図２に示したエッジ変換処理部２６１によるエッジ変換処理例である。なお、Ｓ４０１〜Ｓ４１０は各ステップを示し、各ステップは、図１に示したプロセッサ１５１がメモリ１５２に制御プログラム（図２に示したモジュールを含む）をロードして実行することで実現される。以下、本実施形態を示すベクタエッジ処理並びにビットマップエッジ処理を説明する。
まず、エッジ変換処理部２６１は、入力オブジェクトにマスクイメージが付与されているかを判定する（Ｓ４０１）。ここで、マスクイメージが付与されていないとエッジ変換処理部２６１が判断した場合には描画領域を指定するパスとクリップに基づいてベクタエッジでの描画を行うオブジェクトとして処理して（Ｓ４０２）、本処理を終了する。
【００５５】
一方、Ｓ４０１で、入力オブジェクトにマスクイメージが付与されているとエッジ変換処理部２６１が判断した場合には、更に、エッジ変換処理部２６１はヒント情報（特徴情報）が付与されているかを判定する（Ｓ４０３）。ここで、入力オブジェクトにヒント情報（特徴情報）が付与されていないとエッジ変換処理部２６１
が判断した場合には、本入力オブジェクトは結合対象になっていなかったものであるため、そのままイメージ内容に基づいて描画するビットマップエッジとして入力オブジェクトを描画して（Ｓ４０４）、本処理を終了する。
【００５６】
一方、Ｓ４０３で、入力オブジェクトにヒント情報（特徴情報）が付与されているとエッジ変換処理部２６１が判断した場合には、エッジ変換処理部２６１がそのヒント情報（特徴情報）から結合前および結合後のオブジェクトの特徴を抽出する（Ｓ４０５）。更に、エッジ変換処理部２６１がＲＩＰデバイスの状態を取得する（Ｓ４０６）。そして、エッジ変換処理部２６１がこれらの情報を元に入力オブジェクトを処理すべき手段を判断する（Ｓ４０７）。
【００５７】
そして、エッジ変換処理部２６１が入力オブジェクトの処理手段を判断した結果、ベクタエッジで処理するべきかどうかを判断する。ここで、ベクタエッジで処理するべきでないとエッジ変換処理部２６１が判断した場合は、入力オブジェクトをそのままイメージ内容に基づいて描画するビットマップエッジとして描画する（Ｓ４０４）。
一方、Ｓ４０８で、ベクタエッジで処理するべきであるとエッジ変換処理部２６１が判断した場合は、エッジ変換処理部２６１がマスクイメージからベクタエッジを抽出する（Ｓ４０９）。そして、エッジ変換処理部２６１が抽出したベクタエッジに基づいて、入力オブジェクトを描画して（Ｓ４１０）、本処理を終了する。
これにより、プリンタドライバ２０２でデータを生成する際においてＲＩＰデバイス１５９の状態等を問い合わせることなく、最適な形式でエッジ処理部２６２、ピクセル描画部２６３を活用する事が可能となる。
ここで、Ｓ４０７における入力オブジェクトを処理すべき手段の判断処理の詳細手順の一例について図７、図８を参照して説明する。
【００５８】
図７は、本実施形態を示す画像処理装置のデータ処理方法を説明するフローチャートである。本例は、図２に示したエッジ処理部２６２による判断処理例である。なお、Ｓ５０１〜Ｓ５０６は各ステップを示し、各ステップは、図１に示したプロセッサ１５１がメモリ１５２に制御プログラム（図２に示したモジュールを含む）をロードして実行することで実現される。以下、本実施形態を示すベクタエッジ処理並びにビットマップエッジ処理を説明する。
【００５９】
図８は、本実施形態を示す画像処理装置におけるエッジ処理例を説明する図である。
まず、エッジ処理部２６２が取得したＲＩＰデバイスの状態として、過負荷となっていないかを判定する（Ｓ５０１）。ここで、もし過負荷となっているとエッジ処理部２６２が判断した場合には少ないエッジ数で処理可能なビットマップとして処理する手段を選択して（Ｓ５０５）、本処理を終了する。
【００６０】
一方、Ｓ５０１で、過負荷となっていないとエッジ処理部２６２が判断した場合には、エッジ処理部２６２がオブジェクトエッジ数総和が第１の閾値を超過していないかを判定する（Ｓ５０２）。ここで、第１の閾値以上のオブジェクトエッジ数総和を持つ場合には、結合オブジェクト上には複雑なエッジが描画されている事が推定されるため、エッジ処理部２６２はオブジェクトエッジ数総和が第１の閾値を超過していると判断する。そして、エッジ処理部２６２は、ビットマップエッジとして描画する手段を選択して（Ｓ５０５）、本処理を終了する。
例えば、図８に示すケース１に示すように、結合オブジェクト９００があったものとする。左側のパス表現とは論理空間上で指定されているオブジェクト形状を意味する。
【００６１】
このパス表現では実際に１画素に該当する領域にも複数のエッジが含まれる事がある。左上および右下の歯車形状のオブジェクトを表現するには６４本のエッジが必要となる。これをビットマップイメージとして表現する場合には９０１のビットマップエッジで示す通り、４画素の塗りつぶしとなってしまう。このような単純化ができるため、オブジェクトエッジ数総和によって複雑なエッジが描画されている事を推定する手段は有効である。
【００６２】
一方、Ｓ５０２で、オブジェクトエッジ数総和が第１の閾値を超過しないとエッジ処理部２６２が判断した場合には、エッジ処理部２６２が描画面積割合が第２の閾値を超過するかを判定する（Ｓ５０３）。ここで、オブジェクトエッジ数総和も少なく、描画面積割合が第２の閾値を超過しないとエッジ処理部２６２が判断した場合には、結合オブジェクト上には少ない数の単純なオブジェクトが描画されている事が推定される。よって、この場合は、エッジ処理部２６２がベクタエッジとして描画する手段を選択して（Ｓ５０６）、本処理を終了する。
【００６３】
例えば、図８のケース２に示す結合オブジェクト９３０があったとする。こちらについてもパスとして形状を表現したものがパス表現である。描画面積割合が一定比率未満である場合には、すなわち描画しない面積が比率以上あることを意味する。よって、ビットマップエッジ表現９３１に基づいて描画を行うと、無駄なスキップ処理（すなわち背景画素を選択する処理）が多数発生してしまう。よって、ベクタエッジ表現９３２に基づいて、描画するべきではない画素を読み飛ばして処理する事が望ましい。
【００６４】
一方、Ｓ５０３で、描画面積割合が第２の閾値を超過するとエッジ処理部２６２が判断した場合には、エッジ処理部２６２がマスクイメージ内のエッジ数が第３の閾値を超過するかを判定する（Ｓ５０４）。ここで、マスクイメージ内のエッジ数が第３の閾値を超過するとエッジ処理部２６２が判断した場合には、市松模様のような描画面積割合によらず複雑な描画がなされている事が推定される。よって、エッジ処理部２６２がビットマップエッジとして描画して（Ｓ５０５）、本処理を終了する。例えば、図８のケース３に示す結合オブジェクト９６０があったとする。
【００６５】
マスクイメージ内のエッジ数が比較的多いため、ベクタエッジ表現９６２で描画を行っても、エッジ抽出のコストはかかるがほぼ毎画素に対して色値を決定する必要がでてしまう。こうした場合には、ビットマップエッジ表現９６１に従って描画を行う方が、エッジ抽出コストを削減できるだけ高速となる。
【００６６】
一方、Ｓ５０４で、マスクイメージ内のエッジ数が第３の閾値を超過しないとエッジ処理部２６２が判断した場合には、結合オブジェクト上に描画する領域が結合され、ｓｐａｒｓｅな（まばらな）描画がなされている事が推定される。よって、エッジ処理部２６２がベクタエッジとして描画して（Ｓ５０６）、本処理を終了する。これにより、無駄な処理を省くことが出来る。
【００６７】
例えば図８のケース４に示す結合オブジェクト９９０があったとする。入力オブジェクト同士が隣接しているため、オブジェクトエッジ数総和に対してマスクイメージ内のエッジ数の方が非常に小さくなる。このようなケースであれば、ビットマップエッジ表現９９１での描画を行うよりも、ベクタエッジ表現９９２に基づいて描画した方が高速である。
ここで、第１、第２、第３の閾値は、ＲＩＰデバイスの特性や状態によって動的に決定する事が望ましいが、ある固定値を予め決定しておいても良い。
【００６８】
本情報処理装置１００側でヒント情報（特徴情報）の付与処理を行う事で、プリンタドライバ２０２は、ＰＤＬ生成部２０７がＰＤＬデータを生成する場合に上記ヒント情報（特徴情報）を付与できる。ネットワーク１３０を介して画像処理装置１５０内のＰＤＬインタプリタ部２５２がＰＤＬデータを解釈し、その結果ＤＬ生成部２５７でＤＬに同ヒント情報（特徴情報）を付与する。ＤＬに付与されたヒント情報（特徴情報）を活用する事で、ＲＩＰデバイス１５９側が最適な処理を選択する事が出来る。
【００６９】
〔第２実施形態〕
上記第１実施形態では、プリンタドライバ２０２内の描画コマンド最適化部２０４で最適化を行う場合にヒント情報（特徴情報）を付与する場合について説明を行った。しかしながら、情報処理装置１００のデータ処理性能が非常に低い場合には、プリンタドライバ２０２で非常に多くの最適化処理を行う事が難しくなる。また、画像処理装置に送信される印刷情報の全てが最適化されている保証はなく、場合によっては画像処理装置側での最適化が必要となる場合がある。
第２実施形態としては、画像処理装置内の描画コマンド最適化部２５４で最適化を行う場合にヒント情報（特徴情報）を付与する場合について説明を行う。
【００７０】
以下、図３に示した処理を画像処理装置１５０の描画コマンド最適化部２５４で行う例を説明する。もちろん、描画コマンド最適化部２５４でこれ以外の最適化処理を実装しても、本発明を好的に適用する事が可能である。例えば不要なクリップの除去、出力されない描画コマンドの除去などの最適化処理を予め行った上で、本処理を実行しても良い。あるいは、本発明を適用した後からその他の最適化処理を行っても良い。この両方を組み合わせても、本発明の効果は変わらない。
まず、ジョブ開始時にはメモリ１５２の簡易ＲＩＰＤＬＭ２６６に何も描画オブジェクトが登録されていないものとする。
【００７１】
描画コマンド最適化部２５４では、入力オブジェクトが細切れ結合条件に適合しているかを判断する（Ｓ３０１）。この条件の一例としては、簡易ＲＩＰ部２５５で処理可能なＲＯＰ（例えば、ＲＯＰ２  ＣＯＰＹＰＥＮないし、ＲＯＰ３  ０ｘＣＡ）が指定されているかを判定するものがある。また、それぞれの入力オブジェクトの幅・高さが一定閾値以内に収まるか、あるいは結合後のオブジェクトの幅・高さが別の閾値以内に収まるか、を判定する。
その他、簡易ＲＩＰＤＬＭ２６６に登録可能なオブジェクト数上限を定め、それを超過していないかを判定しても良い。これらは簡易ＲＩＰ部２５５の設計・実装に依存する部分であるため、詳細な説明は省略する。細切れ結合条件を満たしている場合には細切れ結合の対象データであるとしてＳ３０２以降を実行する。この条件を満たさない場合にはＳ３０４以降を処理する。
【００７２】
入力オブジェクトが細切れ結合条件を満たしていると描画コマンド最適化部２５４が判断した場合、描画コマンド最適化部２５４がその簡易ＲＩＰ  ＤＬＭ２０６が空であるかを判定する（Ｓ３０２）。これが空であると描画コマンド最適化部２５４が判断した場合には、オブジェクトエッジ数総和を０とする（Ｓ３０３）。
そして、描画コマンド最適化部２５４は、簡易ＲＩＰ  ＤＬＭ２０６に追加しようとしている入力オブジェクトに含まれるエッジ数を、オブジェクトエッジ数総和に加算していく（Ｓ３０４）。そして、描画コマンド最適化部２５４は、簡易ＲＩＰＤＬＭ２６６に、当該入力オブジェクトを追加する（Ｓ３０５）。これによって、結合条件を満たしている間、簡易ＲＩＰＤＬＭ２６６にオブジェクトが追加され続ける。
【００７３】
一方、３０１で、入力オブジェクトが細切れ結合条件を満たしていないと描画コマンド最適化部２５４が判断した場合、簡易ＲＩＰＤＬＭ２６６が空であるかを判定する（Ｓ３０６）。これが空き状態であると描画コマンド最適化部２５４が判断した場合には、描画コマンド最適化部２５４は、入力オブジェクトを出力し（Ｓ３０７）、処理を終了する。
なお、細切れ結合処理を併用する別の最適化手段で、この入力オブジェクトの最適化を試みても良い。
一方、Ｓ３０６で、簡易ＲＩＰＤＬＭ２６６が空き状態でないと描画コマンド最適化部２５４が判断した場合には、簡易ＲＩＰＤＬＭ２６６に保存されている入力オブジェクト群を簡易ＲＩＰ２５５で出力処理し、結合オブジェクトを生成する（Ｓ３０８）。
【００７４】
結合オブジェクトにマスクイメージがない場合には、Ｓ３１０からＳ３１２までの処理は行わず、そのまま結合オブジェクトを出力し（Ｓ３１３）、簡易ＲＩＰ  ＤＬＭ２０６を空にする（Ｓ３１４）。更に、結合出力処理を開始するトリガーとなった入力オブジェクトを描画し（Ｓ３０７）、処理を終了する。
【００７５】
一方、Ｓ３０９で、結合オブジェクトにマスクイメージがあると描画コマンド最適化部２５４が判断した場合には、描画コマンド最適化部２５４が結合オブジェクトから画素を描画する面積が結合オブジェクトに占める割合を算出する（Ｓ３１０）。
ここで描画面積割合の算出に関しては、簡易的な手段を用いても良いし、あるいは厳密に計算を行っても良い。簡易的な手段としては、簡易ＲＩＰ  ＤＬＭ２０６に入力オブジェクトを追加するＳ３０５の際に、入力オブジェクトのバウンディングボックスを求め、その総和によって描画面積と代替しても良い。あるいは、簡易ＲＩＰ  ＤＬＭ２０６に入力オブジェクトのエッジが保存される場合には、そのエッジ情報から算出しても良い。厳密に求めるためには、結合オブジェクトに含まれるマスクイメージの全画素を走査して描画する画素数を求めても良い。
【００７６】
次に、描画コマンド最適化部２５４がマスクイメージ上のエッジ数を算出する（Ｓ３１１）。マスクイメージに対して１画素だけ左右にずらしたイメージの排他的論理和を求めることで、このマスクイメージ上のエッジ数を算出する事が出来る。
【００７７】
そして、描画コマンド最適化部２５４が以上によって得られた、オブジェクトエッジ数総和、描画面積割合ならびにマスクイメージ上のエッジ数を、結合オブジェクトのヒント情報（特徴情報）として付与する（Ｓ３１２）。次に、描画コマンド最適化部２５４がこの結合オブジェクトを出力し（Ｓ３１３）、描画コマンド最適化部２５４が簡易ＲＩＰＤＬＭ２６６を空き状態にする（Ｓ３１４）。更に、描画コマンド最適化部２５４が結合出力処理を開始するトリガーとなった入力オブジェクトを描画し（Ｓ３０７）、処理を終了する。
【００７８】
以上によって、入力オブジェクト群のうち細切れ結合条件に適合しているものが簡易ＲＩＰ  ＤＬＭに保持される。そして結合条件に適合しない入力オブジェクトの入力をトリガーとして、結合処理が実行される。
この時に、入力オブジェクト群ならびに結合オブジェクトの特徴量からヒント情報（特徴情報）が導かれ、これを結合オブジェクトにヒント情報（特徴情報）として付与される。
【００７９】
以上によって、情報処理装置１００側で最適化処理が行われていない場合であっても、デバイス内で必要なヒントを描画コマンド最適化部２５４で形成する事が可能となる。これによって画像処理装置１５０で利用するＲＩＰデバイス１５９の構成によらずに好的な処理のできる描画コマンドへ最適化することが可能となる。
【００８０】
〔第３実施形態〕
以下、情報処理装置上からプリンタ上にＰＤＬデータを送信し、別ＰＤＬデータに変換して利用するユースケースを第３実施形態として説明する。描画コマンド最適化部、およびエッジ変換処理部に関しては、第１実施形態と同等であるため省略する。
【００８１】
ネットワーク受信部２５１から入力されるＰＤＬデータをＰＤＬデータ解釈部２５３で解釈し、描画コマンド最適化部２５４で最適化した描画コマンドを、ＰＤＬ生成部２５９でＰＤＬデータに変換する処理について、図９を用いて説明する。
【００８２】
図９は、本実施形態を示す情報処理装置におけるデータ処理装置を説明するフローチャートである。本例は、図２に示したＰＤＬ生成部２５９で行われる処理例である。なお、Ｓ６０１〜Ｓ６０７は各ステップを示し、各ステップは、図１に示したプロセッサ１５１がメモリ１５２に制御プログラム（図２に示すモジュールを含む）をロードして実行することで実現される。以下、制御の主体を図２に示したモジュールとして説明を行う。
まず、ＰＤＬ生成部２５９が出力しようとするＰＤＬ形式を選択する（Ｓ６０１）。ＰＤＬ形式としては例えばＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，  Ｍｉｃｒｏｓｏｆｔ社商標）を用いることが出来る。あるいは、ＰＳ（Ｐｏｓｔ  Ｓｃｒｉｐｔ、Ａｄｏｂｅ社商標）、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ、Ａｄｏｂｅ社商標）も選択できる。また、これ以外のいかなるＰＤＬ形式を選択しても良い。
【００８３】
次に、ＰＤＬ生成部２５９が描画コマンドに対して変換処理を行う（Ｓ６０２）。次に、ＰＤＬ生成部２５９が全ての描画コマンドを出力形式に変換する（Ｓ６０３）。そして、ＰＤＬ生成部２５９がその対象となっている描画オブジェクトにヒント情報（特徴情報）が付与されているかを判別する（Ｓ６０４）。
なお、このヒント情報（特徴情報）は、第１実施形態でプリンタドライバ２０２内の描画コマンド最適化部２０４で付与されたものでも良いし、第２実施形態でＰＤＬインタプリタ部２５２内の描画コマンド最適化部２５４で付与されたものでも良い。
ここで、ヒント情報（特徴情報）が付与されているとＰＤＬ生成部２５９が判別した場合には、出力形式の描画コマンドに対してヒントを付与して（Ｓ６０５）、Ｓ６０６へ進む。ＰＤＬ言語でサポートしているコメントという形で埋め込んでも良いし、あるいは属性情報としてデータ内に埋め込んでも良い。
【００８４】
そして、ＰＤＬ生成部２５９が出力形式の描画コマンドを出力して（Ｓ６０６）、Ｓ６０７で、ＰＤＬ生成部２５９が全ての描画コマンドに対して変換処理を終了したかどうかを判断する（Ｓ６０７）。ここで、ＰＤＬ生成部２５９が全ての描画コマンドに対して変換処理を終了したと判断した場合は、本処理を終了し、終了していないと判断した場合は、Ｓ６０２へ戻り、次の描画コマンドの変換処理を繰り返す。なお、ヒント情報（特徴情報）は出力形式の描画コマンドを解釈する直前あるいは同時のタイミングで参照できるように格納する。これにより、生成されるＰＤＬデータ内に、当該ヒント情報（特徴情報）を埋め込むことが可能となる。
【００８５】
ＰＤＬ生成部２５９が生成したＰＤＬデータは、例えばディスク装置１５３内のＢＯＸ領域２７０にＰＤＬジョブとして格納することができる。あるいは、ネットワークアダプタ１５７を介してネットワーク１３０と接続されている別デバイスに送信する事もできる。この時に、送信するジョブが保存目的であるか、出力目的であるかの情報も付与しても良い。
【００８６】
当該デバイスのＢＯＸ領域２７０内や別デバイス内に保持したＰＤＬジョブに対して出力指定がなされた場合、あるいは、別デバイスから出力目的で送信されてきたＰＤＬジョブは、ジョブ制御部２５６を介してＰＤＬインタプリタ部２５２に通知される。そしてＰＤＬデータ解釈部２５３にてヒント情報（特徴情報）を解釈することで、変換する前に行った最適化処理に関する情報を継承することが可能となる。
【００８７】
また、本発明の実施形態として情報処理装置上からプリンタ上にＰＤＬデータを送信し、プリンタ上のディスプレイ装置でプレビューとして表示するユースケースなどでも本発明を適用する事が出来る。その際には、印刷時に使うＲＩＰデバイス１５９とは別にソフトウエアで同処理を行う別のＲＩＰデバイスを設ける事も可能である。
【００８８】
本発明を好的に適用する事により、描画コマンドを最適化する際に失われる種々の情報を別ＰＤＬ形式に変換しても継承することが可能となる。これにより、様々な環境であっても描画コマンド最適化情報を活用できる、最適化情報の可搬性を生み出すことが可能となる。
【００８９】
図１０は、本実施形態を示す情報処理装置におけるエッジ処理状態を説明する図である。以下、本実施形態におけるエッジ処理の有用性を説明する。
図１０において、非常に多くのパスを含むデータを処理する場合、エッジ処理部２６２の負荷が非常に大きくなる事がある（１００１）。
これに対して、従来は細切れ結合などの描画コマンド最適化処理を追加で行う事で、エッジ数が削減され、エッジ処理時間の負荷軽減ができた。
しかし、それに伴い、ビットマップエッジで表現するためにピクセル描画処理は却って大きくなる（１００２）。エッジ変換処理を適切なパラメータで行い、一部のビットマップエッジをベクタエッジで表現すると、エッジ変換処理は追加されるが、ピクセル描画処理の負荷を軽減できる（１００３）。
【００９０】
しかし、エッジ変換処理が不足してしまうと、ピクセル描画処理の負荷が軽減されないばかりか、エッジ変換処理も加算され、前よりも負荷が大きくなる場合がある（１００４）。もしくは、エッジ変換処理が過多となると、ピクセル描画処理の負荷が非常に軽減される。しかし、エッジ変換処理のコストが増加してしまい、やはり前よりも負荷が大きくなる場合がある（１００５）。
このエッジ変換処理、エッジ処理あるいはピクセル描画処理の実現手段は製品によって異なる。本発明は、描画コマンド最適化処理時に結合時のヒント情報（特徴情報）を付与し、手段決定を遅延させることで、動的に、これらのモジュール間の負荷状態のバランスをとることを目的としている。
【００９１】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【００９２】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００９３】
１００  情報処理装置
１５０  画像処理装置  
【図１】
2013033390.tif 000003
【図２】
2013033390.tif 000004
【図３】
2013033390.tif 000005
【図４】
2013033390.tif 000006
【図５】
2013033390.tif 000007
【図６】
2013033390.tif 000008
【図７】
2013033390.tif 000009
【図８】
2013033390.tif 000010
【図９】
2013033390.tif 000011
【図１０】
2013033390.tif 000012