説明

画像形成装置及び制御プログラム

【課題】描画処理の高速化を図る。
【解決手段】印刷データを受信する受信手段と、受信した印刷データを解析するデータ解析手段と、データ解析手段による印刷データの解析結果に基づいて、中間データであるディスプレイリストを作成して、内部に蓄積するディスプレイリスト作成手段と、ディスプレイリスト作成手段により作成されたディスプレイリストからビットマップデータへ変換して、VRAMに書き込みを行うレンダリング手段と、所定の条件を満たした場合に、ディスプレイリスト作成手段により作成されて蓄積されているディスプレイリストに対するレンダリング処理の実行をレンダリング手段に対して要求するレンダー要求手段と、レンダー要求をレンダー待ちキューに蓄積する蓄積手段と、レンダー待ちキュー内のレンダー要求をマージするマージ手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、描画処理の高速化を図ることができる画像形成装置及び制御プログラムに関する。
【背景技術】
【0002】
従来から、データ処理装置の処理速度を向上させるために、処理を並列化することが行われている。例えば、第1のインタフェースを介して多階調の入力データを纏まった単位で受信し、画像処理装置の入力バッファに転送し、この入力バッファの入力データを画像処理装置により二値化し、出力データを出力バッファに出力し、その出力バッファから二値化された出力データを纏まった単位で第2のインタフェースを介して送信する場合に、受信処理または送信処理の少なくとも一部と、画像処理の少なくとも一部が並列処理されるデータ処理方法が知られている(例えば、特許文献1参照)。このようにすることにより、データの入力処理と画像処理と出力処理を並列に処理することができるため、全体の処理時間を短縮することができるという特徴を有している。
【特許文献1】特開2000−20716号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、特許文献1に示すデータ処理方法にあっては、一定の纏まった単位での処理であるため、入力、出力に関して同期をとる必要があり、処理が複雑になるという問題がある。また、イメージデータのような描画データであった場合は入出力バッファによって一定量ずつ処理することは有用だが、印刷処理に用いるディスプレイリスト(中間データ)のようにコマンド長、処理時間が可変なデータのバッファリングはできないため、処理速度の向上は望めないという問題がある。
【0004】
本発明は、このような事情に鑑みてなされたもので、描画するための画像処理を効率よく実行し、描画処理を高速で実行することが可能な画像形成装置及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明は、印刷データを受信する受信手段と、受信した前記印刷データを解析するデータ解析手段と、前記データ解析手段による印刷データの解析結果に基づいて、中間データであるディスプレイリストを作成して、内部に蓄積するディスプレイリスト作成手段と、前記ディスプレイリスト作成手段により作成されたディスプレイリストからビットマップデータへ変換して、VRAMに書き込みを行うレンダリング手段と、所定の条件を満たした場合に、前記ディスプレイリスト作成手段により作成されて蓄積されているディスプレイリストに対するレンダリング処理の実行を前記レンダリング手段に対して要求するレンダー要求手段と、前記レンダー要求をレンダー待ちキューに蓄積する蓄積手段と、前記レンダー待ちキュー内のレンダー要求をマージするマージ手段とを備えたことを特徴とする。
【0006】
本発明は、前記マージ手段は、前記レンダー待ちキュー内に同一ページのレンダー要求が複数存在するか否かを判定し、同一ページのレンダー要求が複数存在する場合に、同一ページのレンダー要求をマージすることを特徴とする。
【0007】
本発明は、印刷データを受信する受信処理と、受信した前記印刷データを解析するデータ解析処理と、前記データ解析処理による印刷データの解析結果に基づいて、中間データであるディスプレイリストを作成して、内部に蓄積するディスプレイリスト作成処理と、前記ディスプレイリスト作成処理により作成されたディスプレイリストからビットマップデータへ変換して、VRAMに書き込みを行うレンダリング処理と、所定の条件を満たした場合に、前記ディスプレイリスト作成処理により作成されて蓄積されているディスプレイリストに対するレンダリング処理の実行を前記レンダリング処理に対して要求するレンダー要求処理と、前記レンダー要求をレンダー待ちキューに蓄積する蓄積処理と、前記レンダー待ちキュー内のレンダー要求をマージするマージ処理とをコンピュータに行わせることを特徴とする。
【発明の効果】
【0008】
本発明によれば、レンダー待ちキュー内のレンダー要求をマージ(併合)するようにしたため、無駄なレンダリング処理の実行回数を減らすことができ、画像形成装置全体の処理速度を向上させることができるという効果が得られる。
【発明を実施するための最良の形態】
【0009】
以下、本発明の一実施形態による画像形成装置を図面を参照して説明する。図1は同実施形態の構成を示すブロック図である。この図において、符号1は、ホストコンピュータであるパソコンから送信される印刷データを受信する印刷データ受信部である。符号2は、受信した印刷データの内容を解析して解析結果を出力する印刷データ解析部である。符号3は、印刷データ中の描画データを処理する描画データ処理部である。符号31は、拡大縮小の設定行列や現在有効なスクリーン等の描画に関係する設定情報を管理する描画環境管理部である。符号32は、描画対象の図形を簡単な描画プリミティブに加工する描画処理部である。符号33は、描画処理部32において処理された情報を基にディスプレイリスト(中間データ)を作成するディスプレイリスト作成部である。符号34は、ディスプレイリスト作成部33において作成されたディスプレイリストを集めてレンダー要求を作成するレンダー要求作成部である。
【0010】
符号4は、画像形成装置内のメモリを管理するメモリ管理部である。符号5は、画像形成装置の共通情報を管理し、画像形成装置の処理動作の制御を行なうシステム制御部である。符号6は、レンダー要求作成部34から要求されたレンダー要求を待ち行列として蓄積するレンダー待ちキューである。レンダー待ちキュー6は、画像形成装置内に常駐していてもよいが、プリレンダー要求もしくはレンダー要求が初めて発行された場合に、内部にレンダー待ちキュー6が形成され、キューが空になった場合に、形成されているレンダー待ちキュー6が削除される形態であってもよい。符号61は、キューイングされた要求と同一ページのプリレンダリング要求があるか否かを判定するキュー内判定部である。符号62は、キュー内判定部61において同一ページがあった場合キューイングされた要求とプリレンダリング要求の中間データとページ情報をマージするマージ部である。符号7は、レンダー待ちキュー6からレンダー要求を取り出し、ディスプレイリスト作成部33において作成されたディスプレイリストからビットマップデータへ変換して、VRAMに書き込みを行うページレンダラである。符号8は、VRAMに書き込まれたビットマップデータに基づいて、印刷するべき画像を印刷媒体に転写を行なう出力部である。
【0011】
次に、図2を参照して、印刷データ受信部1において印刷データを受信してからレンダー待ちキュー6にレンダー要求を格納し、必要に応じてレンダー要求をマージする動作を説明する。まず、印刷データ受信部1は、ホストコンピュータから送信される印刷データを受信して、内部保持する(ステップS1)。印刷データ解析部2は、受信した印刷データを解析し、解析結果を描画データ処理部3へ出力する(ステップS2)。これを受けて、描画環境管理部31と描画処理部32は複雑な図形を簡単な描画プリミティブに加工する処理を行う。例えば円を塗り潰す描画命令が印刷データにの解析結果に基づいて指定された場合は、円を台形に分割して各台形のパラメータを求める処理を行う。この場合の台形等の簡単な描画プリミティブはページレンダラ7が処理可能な描画機能になる。
【0012】
次に、ディスプレイリスト作成部33は、描画処理部32から出力される描画プリミティブの情報を基にディスプレイリスト(中間データ)を作成して、内部に蓄積する(ステップS4)。続いて、レンダー要求作成部34は、予め決められている条件に従ってレンダー要求を作成すべきか否かを判定する(ステップS5)。この判定条件は、例えば所定数のディスプレイリストが蓄積された場合等である。描画データ処理部3とページレンダラ7が絶え間なく動作して効率良く印刷動作を行えるようにするために、ディスプレイリストが所定数蓄積された場合にレンダー要求を作成する。このディスプレイリストの数はページレンダラ7の処理時間を考慮した値になる。例えばページレンダラ7が1msecにn個のディスプレイリストを処理できるとした場合、5msec分(n×5個)のディスプレイリストが蓄積されたらレンダー要求を作成する。レンダー要求を作成する際の閾値となるディスプレイリストの数が少なすぎると、レンダー要求の数が多くなり、ページレンダラ7の部分でのオーバーヘッドにも繋がり、逆にレンダー要求を作成する際の閾値となるディスプレイリストの数が多すぎると、ページレンダラ7が停止している時間が長くなるため、所定数の閾値は、画像処理装置のハードウェア構成の影響を受けるので実際に色々な印刷データを印刷してみて最適な値を求めることが望ましい。
【0013】
次に、レンダー要求作成の条件を満たしているか否かを判定した結果、条件を満たしていなければ、ステップS2に戻り、印刷データの解析を続行する。一方、レンダー要求作成の条件を満たしていれば、レンダー要求作成部34は、蓄積していた複数のディスプレイリストを基にレンダー要求を作成する(ステップS6)。これにより、ディスプレイリストを1個ずつページレンダラ7に送るのと比較して、ある程度ディスプレイリストをまとめて送った方がページレンダラ7の呼び出しにかかる時間が節約できるため処理効率を向上させることができる。特にページレンダラ7がハードウェアで実現されている場合は、この節約される時間の効果が大きい。
【0014】
次に、レンダー要求作成部34は、作成したレンダー要求をレンダー待ちキュー6に格納する(ステップS7)。レンダー要求がレンダー待ちキュー6に格納されると、キュー内判定部61は、レンダー待ちキュー6内において、新たに格納されたレンダー要求と同一ページのプリレンダー要求が存在するか否か、すなわちキュー内に同一ページのプリレンダー要求が複数存在するか否かを判定する(ステップS8)。ここでいうプリレンダー要求とは、ページ途中のレンダリングを実行する要求のことである。この判定の結果、キュー内に同一ページのプリレンダー要求が複数存在しない場合は、次のステップをスキップする。一方、新たに格納されたレンダー要求と同一ページのプリレンダー要求がキュー内に存在する場合、キュー内判定部61は、マージ部62に対して、マージ処理の実行を指示する。これを受けて、マージ部62は、レンダー待ちキュー6内のプリレンダー要求と、新たに格納されたレンダー要求とをマージ(併合)する(ステップS9)。これにより、レンダー待ちキュー6内に格納されているレンダー要求が再構築されることになる。そして、印刷データ解析部2は、印刷データが終了したか否かを判定し、印刷データが残っている場合は、ステップS2へ戻って処理を繰り返し実行し、印刷データが残っていない場合は処理を終了する(ステップS10)。
【0015】
次に、図3を参照して、レンダー待ちキュー6内のプリレンダー要求と、新たに格納されたレンダー要求とをマージ(併合)する動作(ステップS9の動作)を説明する。図3は、マージ部62がレンダー待ちキュー6内のプリレンダー要求と、新たに格納されたレンダー要求とをマージする動作を示す説明図である。
【0016】
図3(a)は、既にレンダー待ちキュー6内に格納されているレンダー要求を示しており、バンド1の情報として、ディスプレイリスト(DL)11とページ設定情報(NUL)22が関連付けられている。同様に、バンド2の情報として、DL12とNUL23が関連付けられ、バンド3の情報として、DL13とNUL24が関連付けられている。一方、図3(b)は、新たにレンダー待ちキュー6内に格納されたレンダー要求を示している。新たなレンダー要求は、バンド2の情報として、DL14、DL15とNUL25が関連付けられている。同様に、バンド3の情報として、DL16、DL17とNUL26が関連付けられ、バンド4の情報として、DL18、DL19とNUL27が関連付けられ、バンド5の情報として、DL20、DL21とNUL28が関連付けられている。
【0017】
マージ部62は、レンダー待ちキュー6内に格納されているレンダー要求に含まれる各ディスプレイリストが同一のページの画像を形成するためのディスプレイリストであるか否かを判定しながら、同一ページのディスプレイリストが一連の関係付けとなるように、レンダー待ちキュー6内のプリレンダー要求と、新たに格納されたレンダー要求とをマージ(併合)することにより、各バンド毎のディスプレイリストの従属関係を再構築する。このマージ処理によって、図3(c)に示すように、レンダー待ちキュー6内に格納されるレンダー要求は、図3(a)に示すレンダー要求と図3(b)に示すレンダー要求とが併合されたレンダー要求となる。すなわち、バンド1の情報として、DL11とNUL41が関連付けられ、同様に、バンド2の情報として、DL12、DL14、DL15とNUL42が関連付けられ、バンド3の情報として、DL13、DL16、DL17とNUL43が関連付けられ、バンド4の情報として、DL18、DL19とNUL44が関連付けられ、バンド5の情報として、DL20、DL21とNUL45が関連付けられることになる。
【0018】
プリレンダリング(ページ途中のレンダリング命令)は、描画データ処理部3においてページ終了を検出するより以前に、ページの途中までの規定量の中間データが作成されており、この時点でレンダリング処理を行うようページレンダラ7に要求することを意味している。プリレンダリングは、ディスプレイリストのソースのメモリ領域開放が早期に行えるとともに、ハードウェアレンダリングによるCPUとの並列処理を早期に起動できるなどの効果を得ることができる。また、描画データ処理部3が、プリント命令、もしくはプリレンダリング命令をレンダー待ちキュー6に送信した場合に、同一ページのプリレンダリング命令がすでにレンダー待ちキュー6内に存在するか否かを、キュー内判定部61によって判定して、キューイングされているレンダー要求の中にプリレンダリング命令がある場合、キューに送信された命令と、キューイングされていたプリレンダリング命令のディスプレイリストや、ページ設定情報などのマージ(内容の併合)を行って1つの命令に変換するようにしたため、描画処理速度を向上させることができる。この変換を行わずに2回のレンダリング命令をハードウェアで処理する場合、レンダリングを行うハードウェアの起動オーバーヘッドが大きくなり、処理速度が低下するが、ハードウェアのレンダリング処理に入力する中間データ(ディスプレイリスト)を、一連の従属関係として連続処理させるほうが、より高速にレンダリングが行うことが可能となる。さらに、レンダリング後、メモリの効率化のためにデータの圧縮処理、伸張処理がある場合は、命令が減る分、余計な圧縮伸張処理を行わずにすむため、さらなる処理速度の向上を図ることが可能となる。
【0019】
なお、図1における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより画像描画処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0020】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【図面の簡単な説明】
【0021】
【図1】本発明の一実施形態の構成を示すブロック図である。
【図2】図1に示す装置の動作を示すフローチャートである。
【図3】図1に示すマージ部62の動作を示す説明図である。
【符号の説明】
【0022】
1・・・印刷データ受信部、2・・・印刷データ解析部、3・・・描画データ処理部、31・・・描画環境管理部、32・・・描画処理部、33・・・ディスプレイリスト作成部、34・・・レンダー要求作成部、4・・・メモリ管理部、5・・・システム制御部、6・・・レンダー待ちキュー、61・・・キュー内判定部、62・・・マージ部、7・・・ページレンダラ、8・・・出力部

【特許請求の範囲】
【請求項1】
印刷データを受信する受信手段と、
受信した前記印刷データを解析するデータ解析手段と、
前記データ解析手段による印刷データの解析結果に基づいて、中間データであるディスプレイリストを作成して、内部に蓄積するディスプレイリスト作成手段と、
前記ディスプレイリスト作成手段により作成されたディスプレイリストからビットマップデータへ変換して、VRAMに書き込みを行うレンダリング手段と、
所定の条件を満たした場合に、前記ディスプレイリスト作成手段により作成されて蓄積されているディスプレイリストに対するレンダリング処理の実行を前記レンダリング手段に対して要求するレンダー要求手段と、
前記レンダー要求をレンダー待ちキューに蓄積する蓄積手段と、
前記レンダー待ちキュー内のレンダー要求をマージするマージ手段と
を備えたことを特徴とする画像形成装置。
【請求項2】
前記マージ手段は、前記レンダー待ちキュー内に同一ページのレンダー要求が複数存在するか否かを判定し、同一ページのレンダー要求が複数存在する場合に、同一ページのレンダー要求をマージすることを特徴とする請求項1に記載の画像形成装置。
【請求項3】
印刷データを受信する受信処理と、
受信した前記印刷データを解析するデータ解析処理と、
前記データ解析処理による印刷データの解析結果に基づいて、中間データであるディスプレイリストを作成して、内部に蓄積するディスプレイリスト作成処理と、
前記ディスプレイリスト作成処理により作成されたディスプレイリストからビットマップデータへ変換して、VRAMに書き込みを行うレンダリング処理と、
所定の条件を満たした場合に、前記ディスプレイリスト作成処理により作成されて蓄積されているディスプレイリストに対するレンダリング処理の実行を前記レンダリング処理に対して要求するレンダー要求処理と、
前記レンダー要求をレンダー待ちキューに蓄積する蓄積処理と、
前記レンダー待ちキュー内のレンダー要求をマージするマージ処理と
をコンピュータに行わせることを特徴とする画像形成装置における制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2007−196566(P2007−196566A)
【公開日】平成19年8月9日(2007.8.9)
【国際特許分類】
【出願番号】特願2006−19082(P2006−19082)
【出願日】平成18年1月27日(2006.1.27)
【出願人】(000006150)京セラミタ株式会社 (13,173)
【Fターム(参考)】