(57)【要約】      （修正有）【課題】複雑な描画命令が多い画像処理における不正描画の発生を効率よく防止する。【解決手段】オブジェクト毎の画像処理パラメーターを共通にする設定の描画命令を取得した場合、同じ色で異なる属性のオブジェクトを結合し、結合後のオブジェクトに対してビットマップデータを生成する。【選択図】図８
2014035672.tif 000002
【特許請求の範囲】
【請求項１】
印刷データの印刷目的を設定する印刷目的設定手段と、
前記印刷目的に、細かく複雑な描画命令が発行されやすいアプリケーションからの印刷を示す情報が設定された場合、画像処理パラメーターをオブジェクトタイプごとに共通に設定するパラメーター設定手段と、
前記パラメーター設定手段で設定された印刷設定を少なくとも含む印刷データを出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記出力手段は、前記印刷目的設定手段で設定された印刷目的をさらに含めた印刷データを出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
印刷データに含まれる設定が、画像処理パラメーターをオブジェクトタイプごとに共通に設定する設定か否かを判定する判定手段と、
前記判定手段で画像処理パラメーターをオブジェクトタイプごとに共通に設定する設定であると判定された場合、前記印刷データの属性を示すオブジェクトのうち、異なるオブジェクトタイプ同士を結合する結合手段と、
前記結合手段で結合したオブジェクトタイプを含む中間データを生成する生成手段と
を備えることを特徴とする画像処理装置。
【請求項４】
前記画像処理パラメーターをオブジェクトタイプごとに共通に設定する設定は、中間調の設定、スムージングの設定、およびライン処理の設定に基づくことを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
印刷データに含まれる印刷目的を取得する取得手段と、
前記取得手段で取得した印刷目的が、細かく複雑な描画命令が発行されやすいアプリケーションからの印刷を示す情報を示す場合、前記印刷データの属性を示すオブジェクトのうち、異なるオブジェクトタイプ同士を結合する結合手段と、
前記印刷データから前記結合手段で結合したオブジェクトタイプを含む中間データを生成する生成手段と
を備えることを特徴とする画像処理装置。
【請求項６】
印刷データに含まれるアプリケーション名を取得する取得手段と、
前記取得手段で取得したアプリケーション名が、細かく複雑な描画命令が発行されやすいアプリケーションを示す場合、前記印刷データの属性を示すオブジェクトのうち、異なるオブジェクトタイプ同士を結合する結合手段と、
前記印刷データから前記結合手段で結合したオブジェクトタイプを含む中間データを生成する生成手段と
を備えることを特徴とする画像処理装置。
【請求項７】
前記生成手段で生成した中間データをイメージデータに変換する変換手段をさらに備えることを特徴とする請求項３、５または６に記載の画像処理装置。
【請求項８】
前記細かく複雑な描画命令が発行されやすいアプリケーションは、ＣＡＤであることを特徴とする請求項３、５または６に記載の画像処理装置。
【請求項９】
印刷データの印刷目的を設定する印刷目的設定ステップと、
前記印刷目的に、細かく複雑な描画命令が発行されやすいアプリケーションからの印刷を示す情報が設定された場合、画像処理パラメーターをオブジェクトタイプごとに共通に設定するパラメーター設定ステップと、
前記パラメーター設定ステップで設定された印刷設定を少なくとも含む印刷データを出力する出力ステップと
を備えることを特徴とする画像処理方法。
【請求項１０】
コンピュータを、請求項１から８のいずれかに記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に関する。より詳細には、描画命令から印刷用のデータを生成する画像処理システムにおける画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
近年のアプリケーションソフトやＯＳの多様化により、印刷用の描画命令が複雑化し、画像形成装置の描画処理、画像処理の負荷が増大してきている。特にコンピューターを用いた図面設計や設計支援が普及したことにより、ＣＡＤ（computer aided design）アプリケーション（以下、ＣＡＤアプリと称する）からの印刷機会が増加している。ＣＡＤアプリからは、細かく複雑な描画命令が発行されやすいため、描画命令の処理負荷が高い傾向にある。
【０００３】
複雑な描画命令を高速に処理するために、描画結果をライン単位で出力メモリに書き込むスキャンラインレンダリングを用いた描画方法が用いられている。スキャンラインレンダリングには、オブジェクトの輪郭（エッジ）を抽出する処理と、オブジェクトのエッジ重なりを判定する処理と、オブジェクト内部の塗り（フィル）方法を指定する処理が含まれる。
【０００４】
また、高速な描画処理に加えて、画質的な差別化を行う上で、画像形成装置では入力情報に基づき画像形成装置に適した印刷情報を生成して画像出力を行うことを可能としている。具体的には、入力された描画命令に含まれるオブジェクトタイプの情報に基づき、描画ビットマップ・イメージに加えて、属性ビットマップ・イメージを生成する。属性ビットマップ・イメージに基づき、描画ビットマップ・イメージの画素ごとに画像処理パラメーターを変更して新たな描画ビットマップ・イメージを生成する。そして、この生成した新たな描画ビットマップ・イメージをビデオ信号に変換して印刷を実行する。
【０００５】
上記の例として、ＣＡＤアプリから描画命令を受けた場合の、描画ビットマップ・イメージと属性ビットマップ・イメージの出力例について、図１を参照して説明する。
【０００６】
図１は、ＰＤＬ（Page Description Language）によって表記された描画命令とそのページ上の描画例を示す。図１（ａ）に示す描画命令１００は、描画するキャンバスの指定、開始点や各点列の座標位置、色値やストローク幅といった描画命令をＰＤＬとして記述する。画像形成装置が図１（ａ）に示すＰＤＬの記載を解釈し描画すると、ページにオブジェクトが描画され、図１（ｂ）に示すような描画ビットマップ・イメージが生成される。
【０００７】
また、図１（ｃ）に示すような属性ビットマップ・イメージもＰＤＬに含まれる描画命令の種類から生成される。図１（ａ）に含まれる描画命令の中で、「Ｂｒｕｓｈ．Ｃｏｌｏｒ：＝ＲＧＢ（０、０、０）；」のように、塗り指定のオブジェクトは、図１（ｃ）のＯｂｊｅｃｔ２（１３０）に示すようにグラフィック属性として出力される。グラフィック属性として出力された画素は、グラフィックデータに最適な画像処理パラメーター（トナー載り量調整やハーフトーン種類選択など）が選択された状態で、画像処理が施される。一方、図１（ａ）に含まれる描画命令の中で、「Ｐｅｎ．Ｗｉｄｔｈ：＝１；」、「ＳｔｒｏｋｅＡｎｄＦｉｌｌＰａｔｈ（Ｈａｎｄｌｅ）；」のように、ストローク指定のオブジェクトが含まれる。このストローク指定のオブジェクトは、図１（ｃ）Ｏｂｊｅｃｔ３（１４０）に示すようにライン属性として出力される。ライン属性として出力された画素は、ラインに最適な画像処理パラメーター（スムージングやトナー載り量調整など））が選択された状態で、画像処理が施される。
【０００８】
図１に示すように、描画命令としては同一の色値で塗られるが、ラインとグラフィックのように異なる属性が隣接している場合、画像処理パラメーターの不一致から描画不正となる場合がある。その例について、図２を用いて説明する。図２は、オブジェクトタイプ毎に画像処理パラメーターを変更した結果生じる描画不正の一例を示す図である。図２（ａ）は、オブジェクトタイプごとに画像処理パラメーターを変更し、画像処理を施した結果である。一方、図２（ｂ）は、オブジェクトタイプごとに画像処理パラメーターを変更せず、画像処理を施した結果である。図２（ａ）では同じ色値の領域が外側の輪郭と内部で色値が異なって描画される。これは、画像処理パラメーターが、オブジェクトタイプに応じて変更されているためである。実際のＣＡＤアプリの表示は図２（ｂ）に近いため、ユーザーが所望する結果は、図２（ａ）ではなく図２（ｂ）である。図２（ｃ）および図２（ｄ）も同様である。図２（ｃ）は、オブジェクトタイプごとに画像処理パラメーターを変更し、画像処理を施した結果である。一方、図２（ｄ）は、オブジェクトタイプごとに画像処理パラメーターを変更せず、画像処理を施した結果である。図２（ｃ）では、ＣＡＤアプリで表示されない罫線が描画されてしまう。図２に示すような事象はＣＡＤアプリ以外の通常のアプリから出力されるＰＤＬを用いても生じ得るものであるが、細かく複雑な描画命令が発行されやすいＣＡＤアプリからのＰＤＬを描画する場合に特に顕著となる。
【０００９】
図３は、描画命令に応じて処理負荷が高くなることを示す図である。ＣＡＤアプリから、細かく複雑な描画命令が発行されやすいので、描画命令の処理負荷が高くなる現象について説明する。図３（ａ）は、属性ビットマップ・イメージを模式化した図である。ＣＡＤアプリから出力された、属性ビットマップ・イメージを解析し、異なる属性の境界に線を引いている。このように、非常に細かく複雑な描画命令が異なる属性指定されていると、描画命令も多くなる。図３（ｂ）は、描画命令数とスキャンラインレンダリングにかかる処理時間の関係を示す模式図である。スキャンラインレンダリングは、エッジデータなどのソート処理を含むため、ソート対象となる描画命令が増えると、描画数が指数関数的に増加する傾向にある。したがって、ＣＡＤアプリから出力されたデータの描画命令を結合せずに、レンダリングすると、処理に時間がかかる傾向にある。
【００１０】
特許文献１には、オブジェクトタイプを結合する手法が提案されている。特許文献１では、同じ色値を有する隣接オブジェクトの領域に対して、重なり判定を実施する。そして、同じ色値で異なるオブジェクトタイプが重なっている画素に対して場合は、同じオブジェクトタイプとして描画する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−１５７７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
特許文献１に開示された手法においては、属性ビットマップ・イメージの全画素に関して走査し、判定をするため、判定コストがかかる。また、レンダリング後の画像に対して判定するため、スキャンラインレンダリング処理前の描画命令の結合処理に対する適用が難しい。
【課題を解決するための手段】
【００１３】
本発明の一実施例に係る画像処理装置は、印刷データの印刷目的を設定する印刷目的設定手段と、前記印刷目的に、細かく複雑な描画命令が発行されやすいアプリケーションからの印刷を示す情報が設定された場合、画像処理パラメーターをオブジェクトタイプごとに共通に設定するパラメーター設定手段と、前記パラメーター設定手段で設定された印刷設定を少なくとも含む印刷データを出力する出力手段とを備えることを特徴とする。
【発明の効果】
【００１４】
異なる属性の描画命令の結合判定を、レンダリング処理前の段階で高速に判定し、判定結果に基づいて描画命令の結合処理を実施することで、複雑な描画命令を高速に処理し、不正描画を低減することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】ＣＡＤアプリから出力されるＰＤＬとそのページ上のビットマップ・イメージの一例を示す図である。
【図２】オブジェクトタイプ毎に画像処理パラメーターを変更した結果生じる描画不正の一例を示す図である。
【図３】描画命令に応じて処理負荷が高くなることを示す図である。
【図４】本発明の実施例１における、画像処理システムの一例を示すブロック図である。
【図５】本発明の実施例１における、画像処理装置のソフトウェアモジュールの一例を示すブロック図である。
【図６】本発明の実施例１における、プリンタドライバーのユーザーインターフェースの一例を示す図である。
【図７】本発明の実施例１における、印刷目的にＣＡＤを選択した場合の印刷設定変更処理に関するフローチャートの一例を示す図である。
【図８】本発明の実施例１における、同じ色で異なるオブジェクトタイプの結合判定処理に関するフローチャートの一例を示す図である。
【図９】本発明の実施例１における、同じ色で異なるオブジェクトタイプの結合処理と結合後の属性決定に関するフローチャートの一例を示す図である。
【図１０】本発明の実施例１における、同じ色で異なるオブジェクトタイプの各ビットマップ・イメージの一例を示す図である。
【図１１】本発明の実施例１における、パフォーマンスおよび画質の効果の一例を示す図である。
【図１２】本発明の実施例２における、同じ色で異なるオブジェクトタイプの結合判定処理に関するフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１７】
図４は、本発明の実施例１における画像処理システムの一例を示すブロック図である。画像形成装置４００は、イーサネット（登録商標）等のＬＡＮ（Local Area Network）にて、ホストコンピュータ（ＰＣ）４７０、４７５に接続されている。画像形成装置４００は、リーダー装置４２０、プリンタ装置４３０、操作表示部４４０、画像記憶部４５０、および、これら各構成要素を制御する制御装置４１０によって構成されている。
【００１８】
制御装置４１０は、ＣＰＵ４１２、ＲＯＭ４１４、ＲＡＭ４１６等を有し、ＣＰＵ４１２がＲＯＭ４１４または他の記憶媒体に格納されたプログラムに基づいて、画像形成装置４００全体を統括制御する。例えば、制御装置４１０は、ＣＰＵ４１２に、それぞれＰＤＬ解釈処理、ディスプレイリスト生成処理、及びレンダリング処理等を行うためのあらかじめ決められたプログラムをロードする構成をとる。またレンダリング処理に関しては、図示しない専用のハードウェアを利用しても構わない。
【００１９】
プリンタ装置４３０は、画像データの出力を行う。操作表示部４４０は、画像出力処理を行うための各種印刷設定の操作を行うキーボード、及び画像出力設定を行う操作ボタン等の表示を行う液晶パネルを備える。画像記憶部４５０は、画像データやドキュメントデータ、印刷装置制御言語（例えば、ＥＳＣコード、ＰＤＬ）などの印刷データの格納・保存ができる。例えば、画像記憶部４５０は、ＬＡＮを介してＰＣ４７０より受信した画像データ、ドキュメント、ＰＤＬや、リーダー装置４２０を制御して読み込む画像データの格納、保存ができる。本実施例では、画像形成装置４００のようなＭＦＰ（Multi Function Printer）を例として用いて説明する。もちろん、ＳＦＰ（Single Function Printer）やＬＢＰ（Laser Beam Printer）、その他のプリント方式のプリンタでもよいことは言うまでもない。
【００２０】
図４の例においては、ＰＣ４７０や制御装置４１０を画像処理装置と称することができる。
【００２１】
図５は、本実施例における画像形成装置４００の制御装置４１０において動作するソフトウェアモジュールの一例を示す図である。これらソフトウェアモジュールは、画像形成装置４００におけるＲＯＭ４１４にて保存され、起動時にＲＡＭ４１６へ展開され、ＣＰＵ４１２が実行することによって動作する。
【００２２】
ジョブ制御部５００は、印刷ジョブの入力から出力を関数コールやメッセージ通信などの手法による制御する。この印刷ジョブも広義で印刷データと称することができる。ＰＤＬ解釈部５０１、５０２、５０３は、画像形成装置４００に搭載されるＰＤＬの種類（例えば、ＰｏｓｔＳｃｒｉｐｔ、ＰＣＬ、ＸＰＳなど）だけの数が存在する。ＰＤＬ解釈部５０１、５０２、５０３は、ジョブ制御部５００からの制御に従い、ＰＤＬ受信バッファに格納されたＰＤＬデータを読み込み、解釈して、描画命令を出力する処理を実行する。
【００２３】
ディスプレイリスト生成部５１０は、ジョブ制御部５００からの制御とＰＤＬ解釈部５０１、５０２、５０３から渡された描画命令により、ディスプレイリスト（ＤＬ）を生成する処理を実行し、生成したディスプレイリストをメモリに格納する。ディスプレイリストとは、ＰＤＬをビットマップデータに変換する過程で生成される中間ページ記述言語（中間データ）である。後述するレンダリング処理部５２０は、このディスプレイリストをビットマップデータに変換する。
【００２４】
レンダリング処理部５２０は、ＲＡＭ４１６からディスプレイリストをロードし、レンダリング処理を実行することでディスプレイリストをビットマップ・イメージデータに変換し、画像記憶部４５０へ出力する処理を行う。より詳細には、レンダリング処理部５２０は、ディスプレイリストを属性ビットマップ・イメージデータと、描画ビットマップ・イメージデータとに変換する処理を行う。
【００２５】
画像処理部５３０は、画像記憶部４５０から図１（ｂ）のような描画ビットマップ・イメージおよび図１（ｃ）のような属性ビットマップ・イメージをロードし、属性に応じた最適な画像処理パラメーターで画像処理を実行する。画像処理と合わせてコントーンイメージデータをハーフトーンイメージデータに変換し、画像記憶部４５０へ出力する処理を行う。
【００２６】
本実施例では主にディスプレイリスト生成部５１０にて、レンダリング処理部５２０で行う処理に最適なディスプレイリストを生成する例について説明する。
【００２７】
次に、ホストＰＣ４７０、４７５上で、印刷目的にＣＡＤを選択し、ＰＤＬデータを生成し、画像形成装置４００にて、当該生成したＰＤＬデータを用いて印刷を実行する処理について、図６から図１０を用いて説明する。
【００２８】
図６は、図１におけるＰＣ４７０上のＣＰＵ４７２で動作するプリンタドライバーのユーザーインターフェースの一例を示す図である。図６（ａ）は、印刷目的にＣＡＤ選択を示す模式図である。ユーザーは、図１におけるＰＣ４７０上のＣＰＵ４７２で動作するプリンタドライバーを用いて、ＣＡＤを含む各種のアプリケーションで生成した印刷データに応じて、ＤＴＰ、グラフィック、写真といった目的を選択する。これにより、最適な印刷処理を実施している。
【００２９】
本実施例では、図６（ａ）に示すユーザーインターフェースのように、印刷目的にＣＡＤを選択した場合の処理オプションを、画像処理パラメーターをオブジェクトタイプごとに切り替える処理を行わないように設定する。ＣＡＤを選択した際の一般的な各処理オプションを、図６（ｂ）に示す。処理オプションとして、解像度や中間調、トナー節約モードといった印刷設定が印刷目的に応じて切り替わる処理になっている。
【００３０】
図７は、図６のユーザーインターフェースにて、印刷目的にＣＡＤを選択した場合の印刷設定変更処理に関するフローチャートである。すなわち、プリンタドライバーにおいて印刷目的にＣＡＤを選択した場合に、処理オプションの設定を変更する処理を説明する。以下で説明する処理は、ＲＡＭ４７６に格納されているプログラムをＣＰＵ４７２が実行することによって実現される。
【００３１】
プリンタドライバーは、ステップＳ７０１にて、アプリケーションによって生成されたドキュメントの印刷指示を行う。次にステップＳ７０２に進み、プリンタドライバー上のユーザーインターフェースを介したユーザーの指示に基づいて、印刷目的設定処理を行う。本実施例では、印刷目的にＣＡＤを設定する。なお、ステップＳ７０２では、図６に示すユーザーインタフェースを介して印刷目的にＣＡＤを設定する例を説明したが、プリンタドライバーを呼び出すアプリケーション名などから自動的にＣＡＤを設定する処理であってもよい。
【００３２】
次に、プリンタドライバーは、ステップＳ７０３からステップＳ７０６において、印刷パラメーター設定処理を行う。
【００３３】
ステップＳ７０３では、処理オプションの「中間調」の設定を「解像度」に設定する。中間調の設定は、中間調のデータを印刷するときのディザーパターンの種類等を選択することが可能であるが、本実施例では、解像度重視の線数の高いディザーパターンを使用する「解像度」を「中間調」に設定する。次にステップＳ７０４に進み、「アドバンスドスムージング」の設定を「スムーズ１」とする。アドバンスドスムージングの設定は、スムージング処理を行うかどうかを設定するためのものである。「スムーズ１」を設定することによって、スムージング処理を行うように設定する。次にステップＳ７０５に進み、「ライン処理」の設定を「解像度」とする。ライン処理の設定は、文字や線の再現性を向上させるためのものである。本実施例では、文字や線の再現性を向上させる「解像度」を設定する。ステップＳ７０３からＳ７０５のように設定することで、いわば画像処理パラメーターをオブジェクトタイプごとに切り替える印刷設定を無効にしている。
【００３４】
次にステップＳ７０６に進み、プリンタドライバーはステップＳ７０２からステップＳ７０６で設定された情報を用いてステップＳ７０１で指示した印刷データのＰＤＬデータを生成する。そして、プリンタドライバーは、ステップＳ７０７にて生成したＰＤＬデータを画像形成装置４００へ投入する。
【００３５】
図１（ｃ）における属性ビットマップ・イメージの説明で述べたように、グラフィック属性として出力された画素は、グラフィックデータに最適な画像処理パラメーター（トナー載り量調整やハーフトーン種類選択など）が選択された状態で、画像処理が施される。図１（ｃ）の例のように、画像形成装置４００における画像処理部５３０においては、テキスト、グラフィック、イメージ、ラインといったオブジェクトタイプ毎に画像処理のパラメーターを切り替えることで、最適な画像処理を実施している。しかし、印刷目的にＣＡＤモードを設定した場合は、描写不正や印刷時間への影響を鑑み、画像処理のパラメーターを切り替えるのではなく、オブジェクトタイプ共通で同じ画像処理のパラメーターにする。このように処理することで、オブジェクトタイプでの区別を必要としないＰＤＬデータを生成する。
【００３６】
図８は、画像形成装置４００の制御装置４１０の動作におけるフローチャートの一例を示す図である。本フローチャートでは、同じ色で異なるオブジェクトタイプの結合判定処理を行う。
【００３７】
画像形成装置４００の制御装置４１０にあるＣＰＵ４１２上で動作するソフトウェアであるジョブ制御部５００は、まずステップＳ８０１にて、プリントジョブを開始する。次にステップＳ８０２に進み、ジョブ制御部５００は、ＰＣ４７０のプリンタドライバーによって投入されたプリントジョブに挿入された印刷目的を取得する。
【００３８】
次にステップＳ８０３に進み、ＰＤＬ解釈部５０１、５０２、５０３は、プリントジョブに含まれるＰＤＬデータの解析を実行する。次にステップＳ８０４に進み、ＰＤＬのヘッダー情報やプリントチケット情報に含まれるアプリケーション名称をＰＤＬ解釈部５０１、５０２、５０３が抽出し、抽出した情報を保持する。プリントチケット情報とは、印刷設定に関するデータを示す情報である。
【００３９】
次にステップＳ８０５に進み、ディスプレイリスト生成部５１０が、ＰＤＬ解釈部５０１、５０２、５０３にて解釈したオブジェクトの描画命令からディスプレイリストの生成を開始する。次にステップＳ８０６に進み、ディスプレイリスト生成部５１０は、描画命令が、オブジェクトタイプ以外はオブジェクト結合条件を満たすかどうかを判定する。オブジェクト結合条件とは、連続するオブジェクトが同じ色であるか否か、連続するオブジェクトが閾値以内の領域に配置されているか、かつ、連続するオブジェクトタイプが同じであるかどうかという判定を含んでいる。ディスプレイリスト生成部５１０は、連続するオブジェクトタイプが同じであるかどうかという判定以外は、結合条件を満たしているかどうかをオブジェクトの描画命令に基づいてステップＳ８０６にて判定する。なお、ステップＳ８０２で取得する印刷目的はこのステップＳ８０６のオブジェクト結合条件判定に含まれない。
【００４０】
ステップＳ８０６でオブジェクト結合条件を満たさないと判定した場合は、ステップＳ８１２に進み、ディスプレイリスト生成部５１０は、オブジェクトの描画命令を終了する。ステップＳ８０６にて、オブジェクトタイプ以外はオブジェクトの結合条件を満たすと判定した場合は、ステップＳ８０９へ進み、ディスプレイリスト生成部５１０は、ステップＳ７０２にて設定される印刷目的が、ＣＡＤであるかどうか判定する。この判定は、ステップＳ８０２でジョブ制御部５００が取得した情報に基づいて行なわれる。印刷目的がＣＡＤである場合、図７で示すように、プリンタドライバーがＰＤＬデータを生成する際にオブジェクトタイプごとの画像処理パラメーター変更をしていないので、オブジェクトタイプは共通で扱うことが可能と判定する。ステップＳ８１１へ進み、ディスプレイリスト生成部５１０は、描画するオブジェクトを結合オブジェクトとしてスプールする。
【００４１】
ステップＳ８０９にて、印刷目的がＣＡＤでないと判定した場合、ステップＳ８１０へ進み、アプリケーション名にＣＡＤを含むかどうかを判定する。この判定は、ステップＳ８０４でＰＤＬ解釈部５０１、５０２、５０３が取得したアプリケーション名に基づいて行われる。アプリケーション名にＣＡＤを含む場合、印刷目的がＣＡＤであるとして、ステップＳ８１１へ進み、ディスプレイリスト生成部５１０はオブジェクトタイプが異なっても異なるオブジェクトタイプ同士で結合する結合オブジェクトとしてスプールする。アプリケーション名にＣＡＤを含まないと判定した場合、ステップＳ８１２に進み、ディスプレイリスト生成を終了する。次に図９にて説明するステップをレンダリング処理部５２０にて実行し、生成されたディスプレイリストをレンダリングし、描画ビットマップ・イメージおよび属性ビットマップ・イメージを形成する。
【００４２】
なお、本実施例においては、印刷目的にＣＡＤが設定された場合には、プリンタドライバーにおいて画像処理パラメーターをオブジェクトタイプごとに変更しない設定に基づくＰＤＬデータを使用している。従って、ステップＳ８０９で印刷目的がＣＡＤであるか否かを判定することを、結合オブジェクトとして扱うか否かの第１の条件としている。しかしながら、ＣＡＤアプリで作成された印刷データが、必ずしも印刷目的にＣＡＤを設定して印刷指示がされるとは限らない。印刷目的はユーザーによって任意に設定されるものだからである。そこで、仮に印刷目的にＣＡＤが設定されていない場合であっても、アプリケーション名によってＣＡＤで作成された印刷データであるか否かを第２の条件としている。
【００４３】
図９は、同じ色で異なるオブジェクトタイプの結合処理と結合後の属性決定に関するフローチャートの一例を示す図である。図９のフローチャートの処理は、画像形成装置４００における制御装置４１０のＣＰＵ４１２上で動作するレンダリング処理部５２０にて実行される。まず、レンダリング処理部５２０は、ステップＳ９０１にて、図８のフローチャートの手順によって生成された、結合オブジェクトを含むディスプレイリストのレンダリングを開始する。次にステップＳ９０２に進み、レンダリング処理部５２０は、ＲＡＭ４１６上のディスプレイリストを読み込み、ディスプレイリストに含まれるエッジデータの読み込みを開始する。次にステップＳ９０３に進み、レンダリング処理部５２０は、読み込んだエッジデータ間の距離であるスパン情報を生成する。
【００４４】
次にステップＳ９０４に進み、レンダリング処理部５２０は、スキャンライン間でスパン長が最小かどうかの判定をステップＳ９０３で生成したスパン情報に基づいて行う。本実施例では、スキャンライン間でスパン長が最小でない場合は、結合後のオブジェクトに対するオブジェクトタイプの判定を該当スキャンラインからは行うことをしない。従って、レンダリング処理部５２０は、スキャンライン間でスパン長が最小でない場合、ステップＳ９０９へ進み、最終スキャンラインかどうかの判定処理へ進む。
【００４５】
ステップＳ９０４において、スキャンライン間でスパン長が最小であると判定した場合は、レンダリング処理部５２０は、ステップＳ９０５に進む、ステップＳ９０５では、レンダリング処理部５２０は、両端のオブジェクトタイプが同じかどうかの判定を行う。両端のオブジェクトタイプが同じでないと判定した場合は、ステップＳ９０８へ進み、レンダリング処理部５２０は、スパン長の大きいオブジェクトタイプを全体に適用する。
【００４６】
ステップＳ９０５において、両端のオブジェクトタイプが同じであると判定した場合は、ステップＳ９０６へ進み、レンダリング処理部５２０は、両端のオブジェクトタイプを全体に適用する。次にステップＳ９０７に進み、レンダリング処理部５２０は、オブジェクトタイプごとのスパン長を算出する。次にステップＳ９０９へ進み、最終スキャンラインかどうか判定する。最終スキャンラインでない場合は、ステップＳ９１０へ進み、対象スキャンラインを進め、再度Ｓ９０２へ進み、エッジデータを読み込み、結合処理を進める。ステップＳ９０９において、最終スキャンラインである場合は、ステップＳ９１１へ進み、結合処理を終了する。
【００４７】
図１０は、図９のフローチャートによって実施される、同じ色で異なるオブジェクトタイプの結合処理の結果の一例を示す図である。図１０（ａ）は、同じ色で異なるオブジェクトタイプの描画ビットマップ・イメージを示す模式図である。このオブジェクトは同色で異なるオブジェクトタイプから構成される。図１０（ａ）の描画ビットマップ・イメージに対応するオブジェクトタイプごとの属性ビットマップ・イメージを示す模式図は図１０（ｂ）である。図１０（ｂ）は、４８個の矩形オブジェクトから構成されており、外側にライン属性のオブジェクト、内側にグラフィック属性のオブジェクトが含まれる。本実施例では、これらの４８個の矩形オブジェクトが結合対象である。このオブジェクトにおいて、スパン長が最小となる領域は、三角形でマークした中央付近のスキャンライン上である。図９のステップＳ９０４では、このスキャンラインをスパン長が最小の箇所と判定する。該当スキャンラインの両端のオブジェクトタイプが共にライン属性であるため、ステップＳ９０５の判定では「ＹＥＳ」となり、ステップＳ９０６でこの両端のライン属性を全体に採用する。この結果、図１０（ｃ）のように、ライン属性を結合後のオブジェクト全体に適用した、属性ビットマップ・イメージが生成される。
【００４８】
図１１は、実施例１における効果の一例を示す具体例である。図１１（ａ）および（ｂ）は、本実施例のパフォーマンス効果を示す表である。同じ色で異なるオブジェクトタイプを大量に含むＣＡＤデータ２種類において、ディスプレイリスト生成部５１０およびレンダリング処理部５２０にかかる時間を示す。ＣＡＤデータＡについては、本実施例に従った処理によりオブジェクトを結合することによりディスプレイリスト生成時間は１６％程度速くなり、レンダリング処理時間も２０％程度速くなる。ＣＡＤデータＢは、ＣＡＤデータＡに比べて、大量の同じ色で異なるオブジェクトタイプを含むため、ディスプレイリスト生成時間はオブジェクトを結合する処理により、６６％程度遅くなる。しかしながら、レンダリング処理時間も９９％程度速くなり、印刷時間の合計では大きく高速化されることがわかる。
【００４９】
図１１（ｃ）および（ｄ）は、本実施例の画質効果の一例を示す表である。図１１（ｃ）は、同じ色で異なるオブジェクトタイプが隣接しているため濃度差が発生している。しかしながら、図１１（ｄ）は、本実施例の処理により、同じ色で異なるオブジェクトタイプを結合して同一属性としたため、画像処理パラメーターが共通になり、濃度差が抑制される。
【００５０】
以上のとおり、本実施例の処理によれば、異なる属性の描画命令の結合判定を、レンダリング処理前の段階で高速に判定し、判定結果に基づいて描画命令の結合処理を実施することで、複雑な描画命令を高速に処理し、不正描画を低減することが可能となる。
【実施例２】
【００５１】
実施例２では、実施例１のように、同じ色で異なるオブジェクトタイプが隣接している場合、これらオブジェクトを結合する処理を説明する。実施例１では、画像形成装置４００において、印刷目的やアプリケーション名に基づいて、結合オブジェクトとするか否かの判定処理を行う例について説明した。実施例２では、投入されたＰＤＬデータにおける印刷設定から結合オブジェクトとするか否かの判定をする例について説明する。
【００５２】
なお、装置構成等は実施例１と同様の構成とすることができる。以下では、実施例２の処理について主に説明し、その他の処理については実施例１と同様とすることができるので、説明を省略する。
【００５３】
図１２は、実施例２における、印刷目的のＣＡＤの設定が無い場合、およびアプリケーション名にＣＡＤアプリが含まれていない場合における、同じ色で異なるオブジェクトタイプの結合判定処理に関するフローチャートである。なお、印刷目的のＣＡＤの設定がある場合、又はアプリケーション名にＣＡＤアプリが含まれている場合であっても、図１２の処理によって結合判定処理を行っても良い。
【００５４】
画像形成装置４００における制御装置４１０上のＣＰＵ４１２にて動作するジョブ制御部５００は、ステップＳ１２０１にて、ＰＤＬデータを受信する。ＰＤＬ解釈部５０１、５０２、５０３が受信したＰＤＬデータを解釈する。
【００５５】
次にステップＳ１２０２に進み、ディスプレイリスト生成部５１０は、ＰＤＬデータから中間調の設定の取得を行う。次にステップＳ１２０３に進み、ディスプレイリスト生成部５１０は、中間調の設定がオブジェクトタイプで同一であるかどうかを判定する。例えば、実施例１で説明したように、中間調の設定が「解像度」である場合、中間調の設定がオブジェクトタイプで同一であると判定する。中間調の設定がオブジェクトタイプで同一でない場合は、異なるオブジェクトタイプは別オブジェクトとして扱うとしたまま、ステップＳ１２０９に進み、オブジェクト結合を開始する。
【００５６】
ステップＳ１２０３において、ディスプレイリスト生成部５１０は、中間調の設定がオブジェクトタイプで同一であると判定した場合は、ステップＳ１２０４に進み、アドバンスドスムージングの設定を取得する。次にステップＳ１２０５に進み、ディスプレイリスト生成部５１０は、アドバンスドスムージングの設定がオブジェクトタイプで同一であるかどうかを判定する。例えば、実施例１で説明したように、アドバンスドスムージングの設定が「スムーズ１」に設定されている場合、アドバンスドスムージングの設定がオブジェクトタイプで同一であると判定する。アドバンスドスムージングの設定がオブジェクトタイプで同一で無い場合は、異なるオブジェクトタイプは別オブジェクトとして扱うとしたまま、ステップＳ１２０９に進み、オブジェクト結合を開始する。
【００５７】
ステップＳ１２０５において、ディスプレイリスト生成部５１０は、アドバンススムージングの設定がオブジェクトタイプで同一であると判定した場合は、ステップＳ１２０６へ進み、ライン処理の設定を取得する。次にステップＳ１２０７に進み、ライン処理の設定がオブジェクトタイプで同一であるかどうか判定する。例えば、実施例１で説明したようにライン処理の設定が「解像度」と設定されている場合、ディスプレイリスト生成部５１０は、ライン処理の設定がオブジェクトタイプで同一であると判定する。ライン処理の設定がオブジェクトタイプで同一で無い場合は、異なるオブジェクトタイプは別オブジェクトとして扱うとしたまま、ステップＳ１２０９に進み、オブジェクト結合を開始する。
【００５８】
ステップＳ１２０７において、ライン処理の設定もオブジェクトタイプで同一であると判定した場合は、ステップＳ１２０８へ進み、異なるオブジェクトタイプも同一として扱うよう判定し、ステップＳ１２０９に進み、オブジェクト結合開始する。
【００５９】
なお、上記で説明したオブジェクトタイプが同一であるか否かに用いた情報は一例に過ぎず、本実施例の処理は上記例に限定されるものではない。
【００６０】
＜その他の実施例＞
以上説明した各実施例においては、描画命令の解釈やレンダリング処理などは画像形成装置４００の制御装置４１０で行なわれるものとして説明した。しかしながら、例えばＰＣ４７０でレンダリング処理までを実行し、実行結果を画像形成装置４００に出力するような形態を採用してもよい。
【００６１】
また、各実施例においては、細かく複雑な描画命令が発行されやすい代表的なアプリケーションの一例としてＣＡＤを使用する例を用いて説明した。しかしながら、細かく複雑な描画命令が発行されやすいアプリケーションであればよく、各実施例はＣＡＤに限定されるものではない。同様に、印刷目的でもＣＡＤを設定する例を説明したが、細かく複雑な描画命令が発行されやすい代表的なアプリケーションのデータを印刷する目的を設定する項目であればよく、必ずしも印刷目的がＣＡＤでなくてもよい。
【００６２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014035672.tif 000003
【図４】
2014035672.tif 000004
【図５】
2014035672.tif 000005
【図６】
2014035672.tif 000006
【図７】
2014035672.tif 000007
【図８】
2014035672.tif 000008
【図９】
2014035672.tif 000009
【図１０】
2014035672.tif 000010
【図１２】
2014035672.tif 000011
【図２】
2014035672.tif 000012
【図３】
2014035672.tif 000013
【図１１】
2014035672.tif 000014