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