(57)【要約】【課題】  アプリケーションから生成されるプリント画像データには、複雑な大量のオブジェクト（イメージ、グラフィック）が含まれ、ひとつひとつを逐次、中間データへの変換および画像データへの変換処理を行うため、パフォーマンス低下が課題である。この対策として、単純にひとつのオブジェクト（イメージ、グラフィック）にまとめる処理が従来技術としてあるが、まとめる処理そのものにコストが掛かり十分な高速化の効果が出ていないといった課題がある。【解決手段】  オブジェクト結合による効果を最大限にするために、結合のためにレンダリングが必要かどうかを判定し必要な場合にのみレンダリング処理を実施する。また、複数の同一オブジェクトに関しては、キャッシュすることで高速化が望めるため結合しない判定を行うことと、結合方式をオブジェクト群の特徴に沿って決定する。【選択図】  図３
2014050993.tif 000002
【特許請求の範囲】
【請求項１】
複雑な大量のオブジェクトを描画するにあたり、一旦オブジェクトをスプールする手段を有し、スプールされたオブジェクト群をひとつにまとめるにあたりレンダリング処理が必要かどうかを判定する手段と、まとめることにより高速化されるかどうか判定する手段と、まとめた後の出力形式を自動判定する手段を有することを特徴とする画像形成装置。
【請求項２】
スプールされたオブジェクト群をひとつにまとめるにあたりレンダリング処理が必要かどうかを判定する手段とは、まとめ対象となるオブジェクト群が同一の塗り指定で表現できるか判定する手段と、まとめ対象となるオブジェクト群の描画領域が重なっているかどうか判定する手段と、まとめ対象となるオブジェクト群が演算を有する論理和指定となっているか判定し、これらの判定結果からレンダリングせずにオブジェクトを結合する手段を有することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
まとめることにより高速化されるかどうか判定する手段とは、まとめ対象となるオブジェクト群に、同一のオブジェクトが一定比率以上存在するかどうか判定する手段と、まとめ処理に掛かる時間のほうが高速化によって得られる効果のほうが大きいかどうか推定する手段と、これらの判定結果からオブジェクトを結合するしないを決定する手段を有することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
まとめた後の出力形式を自動判定する手段とは、まとめ対象となるオブジェクト群に、回転・拡大・縮小命令を伴っているかどうか判定する手段と、水平方向のエッジ数が閾値以上かどうか判定する手段と、これらの判定結果から結合したオブジェクトをグラフィックスで出力するか、イメージで出力するか決定する手段を有することを特徴とする請求項１に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関する。印刷装置等の画像形成装置において、ページ記述言語（ＰＤＬ）に含まれる複雑な印刷データをまとめ処理により高速で処理する手段を備えた画像形成装置に関するものである。
【背景技術】
【０００２】
近年、ブロードバンドによるネットワーク技術やハードウェア技術の向上により、多種多様なアプリケーションおよびページ記述言語が市場に流通している。そのため、一般ユーザーの手によっても、複雑な描画コマンドや、多数の描画オブジェクトを含むアプリケーションデータの作成が可能となってきている。透過や繰り返しパターンなどの視覚効果を生み出すためには、細かい複数の描画オブジェクトを含むアプリケーションデータの流通が多くなっている。
【０００３】
このような複雑で大量の描画オブジェクトを含むアプリケーションデータの印刷には、ページ記述言語の解釈および中間データの生成処理、レンダリングといった一連の印刷内部処理に時間がかかることが多い。したがって、複雑で大量の描画オブジェクトを含むアプリケーションデータの印刷処理時間の短縮が望まれている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１９８４８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複雑で大量の描画オブジェクトを含むページ記述言語を解釈し、そのオブジェクトひとつひとつを逐次、中間データへの変換および画像データへの変換処理を行うため、印刷処理時間の増加が問題となっている。この対策として、単純に、複雑で大量の描画オブジェクトをひとつのオブジェクトにまとめる処理が従来技術としてあるが、まとめる処理そのものにコストが掛かり十分な高速化の効果が出ていないといった課題がある。
【課題を解決するための手段】
【０００６】
本発明に係る画像形成装置の構成は、複雑な大量のオブジェクトを描画するにあたり、一旦オブジェクトをスプールする手段を有し、スプールされたオブジェクト群をひとつにまとめるにあたりレンダリング処理が必要かどうかを判定する手段と、まとめることにより高速化されるかどうか判定する手段と、まとめた後の出力形式を自動判定する手段を有することを特徴とする。
【発明の効果】
【０００７】
複雑で大量の描画オブジェクトをひとつのオブジェクトにまとめる処理によって得られる効果が最大限になり、印刷内部処理時間が短縮化される。
【図面の簡単な説明】
【０００８】
【図１】本発明における画像形成装置１０２のシステム構成の一例を示した図
【図２】本発明における画像形成装置１０２のモジュール構成の一例を示した図
【図３】実施例１におけるＰＤＬ処理の最適化のフローチャートを示した図
【図４】実施例２、３、４における入出力データを示した図
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１０】
図１は、本発明における画像形成装置１０２のシステム構成の一例を示す図である。
【００１１】
１０２は画像形成装置であり、２０２は外部デバイスと情報の入出力を行うためのネットワークＩ／Ｆであり、外部デバイスから送信された印刷データを受信する。２０３は様々な情報を一時格納するＲＡＭである。ＲＡＭ２０３は、受信バッファ２０４、ワークメモリ２０５、フレームバッファ２０６、ラスタメモリ２０７、共有メモリ２２０からなる。受信バッファ２０４は、ネットワークＩ／Ｆ２０２を介して受信した印刷データを格納するメモリである。２０５は、入力されたデータを中間コードに変換するときに一時的に使用するワークメモリである。２０６は、プリンタ内部の中間コードなどを格納するフレームバッファである。２０７は、中間コードを展開したデータを格納するラスタメモリである。２２０は、ＣＰＵ１２１８、またはＣＰＵ２２１９で動作するＲＯＭ２０８内のプログラムからアクセス可能な共有メモリである。
【００１２】
２０８は、画像形成装置１０２におけるＣＰＵ１  ２１８またはＣＰＵ２  ２１９の制御コードを格納するＲＯＭである。ＲＯＭ２０８は、最適化処理部２１１、ＰＤＬ解析部２０９、ＤＬ（中間データ）生成部２１０、展開処理部２１４、印刷制御部２１５からなる。２０９は、受信バッファ２０４から読み出したデータが、複数種のＰＤＬのどのＰＤＬかを特定し、ＰＤＬデータを解析し、所定の処理に振り分けるＰＤＬ解析部である。２１０は、ＰＤＬ解析部２０９において解析したデータから中間データを生成し、フレームバッファ２０６に格納するＤＬ生成部である。２１４は、フレームバッファ２０６に格納された中間データを展開したビットマップをラスタメモリ２０７に格納する展開処理部である。２１５は、ＣＰＵ  ２１８とＣＰＵ  ２１９で動作する最適化処理部２１１、ＰＤＬ解析部２０９、ＤＬ生成部２１０に、ＰＤＬデータの処理を依頼する印刷制御部である。２１８、２１９は画像形成装置２０１の演算処理や制御を行う中央演算処理装置（ＣＰＵ）である。２１２はプリンタエンジン２１３との信号の入出力を行うエンジンＩ／Ｆである。２１３はイメージデータに基づいて、周知の電子写真プロセスによって感光ドラム上に潜像を形成し、用紙に転写して定着し印字を行うプリンタエンジンである。
【００１３】
図２は、本発明における画像形成装置１０２のモジュール図の一例を示す図である。
【００１４】
ＣＰＵ  ２１８上で動作するモジュール構成全体を示しており、印刷制御部２１５の指示・制御によって、最適化処理部２１１、ＰＤＬ解析部２０９とＤＬ生成部２１０が動作することを示す。これらの制御については、関数コール、プロセス間通信等により行う。ＣＰＵ  ２１８で動作する印刷制御部２１５は、印刷制御部２１５からの制御に従い、受信バッファ２０４に格納されたＰＤＬデータを読み込み、解析処理を実行する。ＣＰＵ  ２１８で動作する最適化処理部２１１は、本発明の中心となるモジュールであり、描画データの内容や個数によってまとめ処理するしないを制御し、データ特性に応じた最適化処理を実施することでその後の処理の高速化を図る。ＤＬ生成部２１０は、印刷制御部２１５からの制御と最適化処理部２１１から渡されたデータにより処理を実行し、フレームバッファ２０６にＤＬを格納する。このようなモジュール構成により、ＰＤＬの解釈処理を実現している。
【実施例１】
【００１５】
図３は、本実施例における印刷処理のフローチャートを示す図である。
【００１６】
まず、ステップＳ３０１で、ネットワーク２０４に接続されたＰＣ等から送信されたデータをネットワーク２０４経由して、ネットワークＩ／Ｆ２０２が受信し、受信バッファ２０４に格納する。印刷制御部２１５は受信バッファ２０４を読み出し、その読み出し内容とともにＰＤＬ解析部２０９へ解析処理を依頼する。次にステップＳ３０３において、ＰＤＬ解析部２０９により、読み出したＰＤＬ内に含まれるオブジェクトの描画命令を解釈し、その描画の実行を開始する。次に、ステップＳ３０３に進み、ＰＤＬ解析部２０９が、最適化処理部２１１に対して描画命令を行う。描画命令に含まれるオブジェクトのサイズが最適化処理部２１１によって定義されている閾値以下かどうか判定する。閾値以下でない場合は、ステップＳ３０７に進む。閾値以下の場合は、ステップＳ３０４に進み、重複カウントをインクリメントする。重複カウントは、この後にスプールされたオブジェクトが幾つあるかカウントし、閾値以上オブジェクトがきた場合に最適化処理へと進むよう制御している。
【００１７】
次にステップＳ３０５へ進み、重複カウント数が閾値以上かどうかを判定する。まだ、重複カウントが閾値以下の場合は、オブジェクトを結合しないステップＳ３１７へ進み、まだ対象オブジェクト数が少ないため結合処理を実施しない。重複カウントが閾値以上の場合は、ステップＳ３０６へ進み、オブジェクトデータをスプールし、ステップＳ３０２の次のオブジェクト実行を待つ。その後、複数のオブジェクトに対して、描画が実行され、オブジェクトサイズが閾値以上のオブジェクトがきた場合、その前までにスプールされたオブジェクトを一斉に描画するため、ステップＳ３０７へ進む。
【００１８】
次に、ステップＳ３０８へ進み、スプールされた全オブジェクトにおいて、これらが同一の塗り指定で表現できるかどうかの判定を行う。同一の塗り指定で表現できる場合は、ステップＳ３０９に進み、スプールされた全オブジェクトにおいて、これらオブジェクト間で描画領域が重なっているかどうかを判定する。オブジェクト間が重なっていない場合は、ステップＳ３１０に進む。ステップＳ３１０では、スプールされた全オブジェクトにおいて、これらオブジェクト間で演算を要する論理和指定があるかどうかを判定する。論理和指定がない場合は、ステップＳ３２０に進み、レンダリングせずにオブジェクト結合処理を行う。
【００１９】
これらステップＳ３０８からＳ３１０は、オブジェクトを結合する際に、複雑な描画色の計算を行うレンダリング処理が必要かどうかを判定する処理である。これらの条件に当てはまらないオブジェクト群は、レンダリング処理を行わずしてオブジェクト群の結合が可能なため、単純なオブジェクト結合処理を実施する。次に、ステップＳ３１１に進み、同一のオブジェクトが一定比率以上存在するかどうかを判定する。同一オブジェクトが一定比率以上存在する場合は、これらのオブジェクトをまとめるよりも、ＤＬ生成部２１０におけるキャッシュの機構を利用したほうが高速化の見込めるためである。
【００２０】
次にステップＳ３１２に進み、オブジェクト群をレンダリングして１つのオブジェクトにまとめる処理にかかる実時間とまとめることによって得られる高速化時間とを比較し、高速化時間のほうが少ない場合はオブジェクト結合を行わない。高速化時間のほうが大きく、高速化の効果が見込める場合は、ステップＳ３１３に進む。これらステップＳ３１１からＳ３１２は、高速化の見込みを考慮して、オブジェクトを結合する、しないの判定を行っている。これらの条件に当てはまらないオブジェクト群は、オブジェクトを結合しないほうが、結果的に高速化が望めるため、結合処理そのものをスキップしている。ステップＳ３１３において、スプールされた全オブジェクトにおいてレンダリングを行い、オブジェクトを結合する。
【００２１】
次にステップＳ３１４に進み、オブジェクトの結合結果を格納する出力先のメモリが十分獲得可能かどうか判定する。結合結果の出力メモリが十分でない場合は、ステップＳ３１８に進み、結合結果をグラフィックパスとして出力する。次にステップＳ３１５の結合されたオブジェクトに対して、回転・拡縮命令を伴っているかどうかを判定するステップに進む。回転・拡縮命令を伴っている場合は、イメージに対して実施するよりも、グラフィックパスに対して回転・拡縮命令を実施するほうが高速化されるためである。
【００２２】
次に、ステップＳ３１６に進み、水平方向のエッジ数が閾値以上かどうか判定する。水平方向のエッジ数が閾値以上の場合は、その後のレンダリング処理に時間が掛かることが想定されるためにグラフィックパスで出力せずに、ステップＳ３１９ｙへ進みイメージデータに結合する。これら一連の判定・結合処理は、最適化処理部２１１によって実施される。次に、ステップＳ３２１へ進み、結合されたオブジェクトをＤＬ生成部２１０へ送り、描画を行う中間データを生成する。
【実施例２】
【００２３】
図４の（Ａ）は、本実施例における入出力のデータを示す模式図である。本データは、同一のオブジェクトが複数存在する。このようなデータの場合、図３のステップＳ３１１によって同一オブジェクトが一定比率以上存在するかどうかの判定で、一定比率以上存在すると判定される。従って、このデータの場合はステップＳ３１７に進み、このオブジェクトは予めレンダリングされオブジェクト結合されない。これは、ＤＬ生成部２１０におけるキャッシュの機構を利用し、繰り返し描画したほうが高速化の見込めるためである。
【実施例３】
【００２４】
図４の（Ｂ）は、本実施例における入出力のデータを示す模式図である。本データは、複数のオブジェクトが垂直に並んでいる。このようなデータが結合される場合、図３のステップＳ３１６によって、オブジェクトが保有する水平方向のエッジ数が閾値以上かどうか判定される。このデータの場合、水平方向のエッジ数が２つと少ないため、ステップＳ３１８に進み、グラフィックパスに結合される。結合されたグラフィックパスは、まとめられたオブジェクトとしてＤＬ生成部２１０へと送られる。
【実施例４】
【００２５】
図４の（Ｃ）は、本実施例における入出力のデータを示す模式図である。本データは、複数のオブジェクトが水平に並んでいる。このようなデータが結合される場合、図３のステップＳ３１６によって、オブジェクトが保有する水平方向のエッジ数が閾値以上かどうか判定される。このデータの場合、水平方向のエッジ数が多いため、ステップＳ３１９に進み、レンダリングされたイメージデータに結合される。結合されたイメージデータは、まとめられたオブジェクトとしてＤＬ生成部２１０へと送られる。
【実施例５】
【００２６】
図４の（Ｄ）は、本実施例における入出力のデータを示す模式図である。本データは、同一塗り指定のオブジェクトが、重ならずに上書きしていで並んでいる。このようなデータが最適化処理部２１１で処理される場合、図３のステップＳ３０８によって、オブジェクト間が同一の塗り指定で表現できるかどうか判定される。このデータの場合、同一の塗り指定で表現できるので、ステップＳ３０９へ進み、オブジェクト間で描画領域が重なっているかどうか判定する。このようなデータの場合、オブジェクト間での重なりがないため、ステップＳ３１０へ進み、演算を要する論理指定があるかどうか判定する。このデータは全て単純な上書き指定のため、そのままステップＳ３２０へ進み、レンダリングせずにオブジェクトをグラフィックパスとして結合される。
【符号の説明】
【００２７】
２０９  ＰＤＬ解析部
２１０  ＤＬ生成部
２１１  最適化処理部
２１５  印刷制御部
２１８  ＣＰＵ
【図１】
2014050993.tif 000003
【図２】
2014050993.tif 000004
【図３】
2014050993.tif 000005
【図４】
2014050993.tif 000006