(57)【要約】【課題】描画処理の高速化を図る。【解決手段】印刷データを受信する受信手段と、受信した印刷データを解析するデータ解析手段と、データ解析手段による印刷データの解析結果に基づいて、中間データであるディスプレイリストを作成して、内部に蓄積するディスプレイリスト作成手段と、ディスプレイリスト作成手段により作成されたディスプレイリストからビットマップデータへ変換して、ＶＲＡＭに書き込みを行うレンダリング手段と、所定の条件を満たした場合に、ディスプレイリスト作成手段により作成されて蓄積されているディスプレイリストに対するレンダリング処理の実行をレンダリング手段に対して要求するレンダー要求手段とを備える。【選択図】図１
2007160824.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを受信する受信手段と、
受信した前記印刷データを解析するデータ解析手段と、
前記データ解析手段による印刷データの解析結果に基づいて、中間データであるディスプレイリストを作成して、内部に蓄積するディスプレイリスト作成手段と、
前記ディスプレイリスト作成手段により作成されたディスプレイリストからビットマップデータへ変換して、ＶＲＡＭに書き込みを行うレンダリング手段と、
所定の条件を満たした場合に、前記ディスプレイリスト作成手段により作成されて蓄積されているディスプレイリストに対するレンダリング処理の実行を前記レンダリング手段に対して要求するレンダー要求手段と
を備えたことを特徴とする画像形成装置。
【請求項２】
前記所定の条件は、所定数のディスプレイリストが蓄積された場合、使用するメモリ量の合計が所定量以上になった場合、及び装置全体で使用可能なメモリの量が所定量以下になった場合のいずれかであることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記所定の条件を選択する選択手段をさらに備え、
前記レンダー要求手段は、前記選択手段によって選択された条件を満たした場合に、レンダリング処理の実行を要求することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
印刷データを受信する受信処理と、
受信した前記印刷データを解析するデータ解析処理と、
前記データ解析処理による印刷データの解析結果に基づいて、中間データであるディスプレイリストを作成して、内部に蓄積するディスプレイリスト作成処理と、
前記ディスプレイリスト作成処理により作成されたディスプレイリストからビットマップデータへ変換して、ＶＲＡＭに書き込みを行うレンダリング処理と、
所定の条件を満たした場合に、前記ディスプレイリスト作成処理により作成されて蓄積されているディスプレイリストに対するレンダリング処理の実行を前記レンダリング処理に対して要求するレンダー要求処理と
をコンピュータに行わせることを特徴とする画像形成装置における制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画処理の高速化を図ることができる画像形成装置及び制御プログラムに関する。
【背景技術】
【０００２】
従来から、入力データに応じた最適処理構成を構築してプリントエンジンの性能を最大限に発揮するために、入力描画データの処理において、プリントエンジンの出力速度に同期した処理ステージを複数組み合わせたパイプライン処理構成を構築して処理を実行し、ページを領域分割したバンド領域毎に文字、図形を処理するパイプライン構造と、画像を処理するパイプライン構造とを描画要素に必要な処理に応じて構築する印刷処理方法が知られている。この印刷処理方法によれば、それぞれの処理ステージの処理時間はプリントエンジンの出力速度に応じたものとすることになり、最適な処理構成を実現することができる（例えば、特許文献１参照）。
【特許文献１】特開２０００−２５５１１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に示す印刷処理方法にあっては、ページ毎に中間データを生成する方法であるため、最初の１ページ分のデータが全て揃うまでは変換処理から先の処理は動作せず、処理効率が悪いという問題がある。また途中のページであっても、前のページの処理が軽い場合は、中間データ生成処理は動作していても、変換処理から先は動作していないという場合が発生し、描画処理を高速にすることができないという問題がある。
【０００４】
本発明は、このような事情に鑑みてなされたもので、描画するための画像処理を効率よく実行し、描画処理を高速で実行することが可能な画像形成装置及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、印刷データを受信する受信手段と、受信した前記印刷データを解析するデータ解析手段と、前記データ解析手段による印刷データの解析結果に基づいて、中間データであるディスプレイリストを作成して、内部に蓄積するディスプレイリスト作成手段と、前記ディスプレイリスト作成手段により作成されたディスプレイリストからビットマップデータへ変換して、ＶＲＡＭに書き込みを行うレンダリング手段と、所定の条件を満たした場合に、前記ディスプレイリスト作成手段により作成されて蓄積されているディスプレイリストに対するレンダリング処理の実行を前記レンダリング手段に対して要求するレンダー要求手段とを備えたことを特徴とする。
【０００６】
本発明は、前記所定の条件は、所定数のディスプレイリストが蓄積された場合、使用するメモリ量の合計が所定量以上になった場合、及び装置全体で使用可能なメモリの量が所定量以下になった場合のいずれかであることを特徴とする。
【０００７】
本発明は、前記所定の条件を選択する選択手段をさらに備え、前記レンダー要求手段は、前記選択手段によって選択された条件を満たした場合に、レンダリング処理の実行を要求することを特徴とする。
【０００８】
本発明は、印刷データを受信する受信処理と、受信した前記印刷データを解析するデータ解析処理と、前記データ解析処理による印刷データの解析結果に基づいて、中間データであるディスプレイリストを作成して、内部に蓄積するディスプレイリスト作成処理と、前記ディスプレイリスト作成処理により作成されたディスプレイリストからビットマップデータへ変換して、ＶＲＡＭに書き込みを行うレンダリング処理と、所定の条件を満たした場合に、前記ディスプレイリスト作成処理により作成されて蓄積されているディスプレイリストに対するレンダリング処理の実行を前記レンダリング処理に対して要求するレンダー要求処理とをコンピュータに行わせることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、レンダー要求作成条件を満たしたか否かを判定することにより、１ページ分の中間データを作成する前に、作成済みの中間データから随時ビットマップ化処理を行うことで描画処理全体の処理時間を短くすることができる。また、作成条件を最適化することで、描画処理全体の処理時間を短くすることができるという効果が得られる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態による画像形成装置を図面を参照して説明する。図１は同実施形態の構成を示すブロック図である。この図において、符号１は、ホストコンピュータであるパソコンから送信される印刷データを受信する印刷データ受信部である。符号２は、受信した印刷データの内容を解析して解析結果を出力する印刷データ解析部である。符号３は、印刷データ中の描画データを処理する描画データ処理部である。符号３１は、拡大縮小の設定行列や現在有効なスクリーン等の描画に関係する設定情報を管理する描画環境管理部である。符号３２は、描画対象の図形を簡単な描画プリミティブに加工する描画処理部である。符号３３は、描画処理部３２において処理された情報を基にディスプレイリスト（中間データ）を作成するディスプレイリスト作成部である。符号３４は、ディスプレイリスト作成部３３において作成されたディスプレイリストを集めてレンダー要求を作成するレンダー要求作成部である。
【００１１】
符号４は、画像形成装置内のメモリを管理するメモリ管理部である。符号５は、画像形成装置の共通情報を管理し、画像形成装置の処理動作の制御を行なうシステム制御部である。符号６は、レンダー要求作成部３４から要求されたレンダー要求を待ち行列として保持するレンダー待ちキューである。符号７は、レンダー待ちキュー６からレンダー要求を取り出し、ディスプレイリスト作成部３３において作成されたディスプレイリストからビットマップデータへ変換して、ＶＲＡＭに書き込みを行うページレンダラである。符号８は、ＶＲＡＭに書き込まれたビットマップデータに基づいて、印刷するべき画像を印刷媒体に転写を行なう出力部である。
【００１２】
次に、図２を参照して、印刷データ受信部１において印刷データを受信してからレンダー待ちキュー６にレンダー要求を格納するまでの動作を説明する。まず、印刷データ受信部１は、ホストコンピュータから送信される印刷データを受信する（ステップＳ１）。印刷データ解析部２は、受信した印刷データを解析し、解析結果を描画データ処理部３へ出力する（ステップＳ２）。これを受けて、描画環境管理部３１と描画処理部３２は複雑な図形を簡単な描画プリミティブに加工する処理を行う。例えば円を塗り潰す描画命令が印刷データにの解析結果に基づいて指定された場合は、円を台形に分割して各台形のパラメータを求める処理を行う。この場合の台形等の簡単な描画プリミティブはページレンダラ７が処理可能な描画機能になる。
【００１３】
次に、ディスプレイリスト作成部３３は、描画処理部３２から出力される描画プリミティブの情報を基にディスプレイリストを作成して、内部に蓄積する（ステップＳ４）。続いて、レンダー要求作成部３４は、予め決められている条件に従ってレンダー要求を作成すべきか否かを判定する（ステップＳ５）。この判定条件は以下の（１）〜（３）のいずれか、またはこれらの組み合わせで構成する。
【００１４】
（１）所定数のディスプレイリストが蓄積された場合
描画データ処理部３とページレンダラ７が絶え間なく動作して効率良く印刷動作を行えるようにするために、ディスプレイリストが所定数蓄積された場合にレンダー要求を作成する。このディスプレイリストの数はページレンダラ７の処理時間を考慮した値になる。例えばページレンダラ７が１ｍｓｅｃにｎ個のディスプレイリストを処理できるとした場合、５ｍｓｅｃ分（ｎ×５個）のディスプレイリストが蓄積されたらレンダー要求を作成する。レンダー要求を作成する際の閾値となるディスプレイリストの数が少なすぎると、レンダー要求の数が多くなり、ページレンダラ７の部分でのオーバーヘッドにも繋がり、逆にレンダー要求を作成する際の閾値となるディスプレイリストの数が多すぎると、ページレンダラ７が停止している時間が長くなるため、所定数の閾値は、画像処理装置のハードウェア構成の影響を受けるので実際に色々な印刷データを印刷してみて最適な値を求めることが望ましい。
【００１５】
（２）ディスプレイリスト自身が使用するメモリ量とソースイメージ等のディスプレイリストに繋がっているリソースで使用しているメモリ量の合計が所定量以上になった場合
イメージの描画処理の処理時間はソースイメージのデータ量に比例するため、ページレンダラ７を効率良く動作させるとともに、メモリ効率の悪化による処理速度の低下を防止するため、ディスプレイリストに繋がっているリソースの量を考慮して、レンダー要求を作成する。ソースイメージのデータの大きさは印刷データによって異なるが、サイズの大きなソースイメージは画像形成装置のメモリを圧迫して場合によっては画像処理速度に影響が出る場合がある。またサイズの小さなイメージデータでも数が多ければ同様に処理速度の低下を招く。そこで画像形成装置に搭載されているメモリ量から、ディルプレイリストとそれに繋がっているリソースが消費しているメモリ量が閾値である所定量以上になったらレンダー要求を作成されるように、この閾値以上のメモリを消費するディスプレイリストが蓄積されたらレンダー要求を作成する。
【００１６】
（３）画像形成装置全体で使用可能なメモリの量が所定量以下になった場合
メモリ効率の悪化による処理速度の低下を防止するために、画像形成装置全体の使用可能なメモリ量を参照して、レンダー要求を作成する。印刷処理を実行中に、ディスプレイリストを蓄積していく時に、使用可能な空きメモリの量を監視しておき、その量が所定量以下になったらレンダー要求を作成する。例えば画像形成装置が搭載しているメモリが１００ＭＢである場合に、安定して印刷処理を行えるのが、使用可能な空きメモリが５０ＭＢであるとすると、空きメモリ量が５０ＭＢ以下になった時点でレンダー要求を作成する。安定して印刷処理を行える使用可能な空きメモリ量の値は予め実験により求めておく。
【００１７】
次に、レンダー要求作成部３４は、（１）〜（３）の条件を満たしているか否かを判定し、条件を満たしていれば、蓄積していた複数のディスプレイリストを基にレンダー要求を作成する（ステップＳ６）。これにより、ディスプレイリストを１個ずつページレンダラ７に送るのと比較して、ある程度ディスプレイリストをまとめて送った方がページレンダラ７の呼び出しにかかる時間が節約できるため処理効率を向上させることができる。特にページレンダラ７がハードウェアで実現されている場合は、この節約される時間の効果が大きい。
【００１８】
次に、レンダー要求作成部３４は、作成したレンダー要求をレンダー待ちキュー６に格納する（ステップＳ７）。そして、印刷データ解析部２は、印刷データが終了したか否かを判定し、印刷データが残っている場合は、ステップＳ２へ戻って処理を繰り返し実行し、印刷データが残っていない場合は処理を終了する（ステップＳ８）。
【００１９】
次に、図３を参照して、レンダー待ちキュー６からレンダー要求を取り出してレンダー処理を行い、出力するまでの動作を説明する。図３に示す処理動作は、図２に示す処理動作と独立させて並列に処理することで印刷処理全体の処理時間の高速化を実現するための処理動作である。
【００２０】
まず、ページレンダラ７はレンダー待ちキュー６からレンダー要求を取り出し（ステップＳ１０）、レンダー要求があったか否かを判定する（ステップＳ１１）。そして、ページレンダラ７はレンダー要求があった場合は取り出したレンダー要求に従ってレンダリングを実行し、ディスプレイリストから印刷可能なビットマップを生成して出力用のメモリに書き込みを行う（ステップＳ１２）。この出力用のメモリはページレンダラ７の中で管理され、ページ出力命令があった時に、出力部８に送られる。一方、レンダー要求が無かった場合はステップＳ１０に戻り、レンダー要求がレンダー待ちキュー６に入るまで待機する。
【００２１】
次に、ページレンダラ１０７は、レンダリングを行う時にページ出力命令が指定されているかどうかを判定し（ステップＳ１３）、ページ出力命令があった場合はビットマップデータを出力部８の出力用のメモリへ送る（ステップＳ１４）。一方、ページ出力命令が無い場合は、レンダリングの処理が終わったらレンダー待ちキュー６から次のレンダー要求を取り出す動作を繰り返し実行する。
【００２２】
なお、前述したレンダー要求の作成判定条件（前述の（１）〜（３））は、ユーザがこれら条件を間接的に指定できるようしてもよい。例えば、画像形成装置のフロントパネルやＰＣ上のユーティリティに印刷システムのパフォーマンスを調整するメニューを設けておき、Ａ、Ｂ、Ｃの３つの動作モードをユーザが選べるようにしておく。そして、ユーザが選んだモードの情報を印刷システムを通じてレンダー要求作成部３４が受け取ると、それに従い、モードＡが選ばれた時はディスプレイリストが１００個蓄積される度にレンダー要求を作成したり、モードＢが選ばれた時はディスプレイリストが５００個蓄積される度にレンダー要求を作成するといったようにユーザーの設定をシステムの動作に反映するようにしてもよい。またユーザがページ出力命令を指定した場合は、無条件でレンダー要求を作成するようにしてもよい。
【００２３】
このように、レンダー要求作成条件（前述の（１）〜（３））を満たしたか否かをレンダー要求作成部３４において判定することにより、１ページ分の中間データを作成する前に、作成済みの中間データから随時ビットマップ化処理を行うことで描画処理全体の処理時間を短くすることができる。また、作成条件を最適化することで、描画処理全体の処理時間を短くすることができる。特に、中間データ生成処理の動作と変換処理から先の動作が並列に行われる時間を増やすことで描画処理全体の処理時間を短くすることができる。また、描画システムのメモリ効率や中間データをビットマップに変換するのに必要な処理時間を考慮して処理するようにしたため、描画処理全体の処理時間を短くすることが可能となる。
【００２４】
なお、図１における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより画像描画処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００２５】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】図１に示す装置の動作を示すフローチャートである。
【図３】図１に示す装置の動作を示すフローチャートである。
【符号の説明】
【００２７】
１・・・印刷データ受信部、２・・・印刷データ解析部、３・・・描画データ処理部、３１・・・描画環境管理部、３２・・・描画処理部、３３・・・ディスプレイリスト作成部、３４・・・レンダー要求作成部、４・・・メモリ管理部、５・・・システム制御部、６・・・レンダー待ちキュー、７・・・ページレンダラ、８・・・出力部
【図１】
2007160824.tif 000003
【図２】
2007160824.tif 000004
【図３】
2007160824.tif 000005