JP5409559B2 - 画像形成装置および画像形成プログラム - Google Patents

画像形成装置および画像形成プログラム Download PDF

Info

Publication number
JP5409559B2
JP5409559B2 JP2010194915A JP2010194915A JP5409559B2 JP 5409559 B2 JP5409559 B2 JP 5409559B2 JP 2010194915 A JP2010194915 A JP 2010194915A JP 2010194915 A JP2010194915 A JP 2010194915A JP 5409559 B2 JP5409559 B2 JP 5409559B2
Authority
JP
Japan
Prior art keywords
processor
pdl
operator
buffer
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010194915A
Other languages
English (en)
Other versions
JP2012051208A (ja
Inventor
智広 川崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2010194915A priority Critical patent/JP5409559B2/ja
Publication of JP2012051208A publication Critical patent/JP2012051208A/ja
Application granted granted Critical
Publication of JP5409559B2 publication Critical patent/JP5409559B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Image Generation (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、複数のプロセッサを搭載した画像形成装置に関する。
従来、複数のプロセッサを搭載した画像処理装置において、印刷データに基づいて印刷を実行する印刷処理を複数のプロセッサで並列に処理することによって、印刷処理を高速化するものが知られている。
ここで、印刷処理は、受信したPostscriptやPCLXLなどのページ記述言語(Page Description Language。以下「PDL」という。)形式の印刷データを解釈するPDL解釈処理と、PDL解釈処理によって解釈された内容に基づいて印刷中間言語(Orderlist。以下「OL」という。)を生成するOL生成処理と、OL生成処理によって生成されたOLに基づいて最終的な印刷用のドットデータを生成するOL描画処理と、OL描画処理によって生成されたドットデータに基づいて印刷を実行する出力処理という4つの処理で構成されている。
一般的に、PDL解釈処理およびOL生成処理は、合わせてOL生成工程として捉えられるとともに、OL描画処理および出力処理は、合わせてOL処理工程として捉えられることが多い。つまり、印刷処理は、OL生成工程と、OL処理工程という2つの工程で構成されていると考えられることが多い。
OL生成工程およびOL処理工程に関する複数のプロセッサによる並列処理の実現方法は、次の3つに分類されることができる。
(1)OL生成工程における並列処理化
(2)OL処理工程における並列処理化
(3)OL生成工程とOL処理工程との並列処理化
「OL処理工程における並列処理化」の例としては、ページ内のそれぞれの分割領域に対して、OLコマンドの数や、負荷の重いコマンドがあるか否かの状態に基づいて負荷状態の調査を行い、負荷状態の調査結果に基づいて各プロセッサの負荷が均一になるように各プロセッサに処理領域を割り当てるものが知られている(例えば、特許文献1参照。)。
「OL生成工程とOL処理工程との並列処理化」の例としては、各プロセッサのアイドル時間を少なくするために、OL生成工程と、OL処理工程とを複数のプロセッサで並列に処理するものが知られている(例えば、特許文献2参照。)。
「OL生成工程における並列処理化」の例としては、OL生成工程のPDL解釈処理に相当する空描画と、OL生成工程のPDL解釈処理からOL処理工程のOL描画処理までの一連の処理に相当する実描画とを行うことができる印刷制御装置であって、マスタプロセッサによって空描画をページ順に行うことによって各ページの紙サイズやフォント情報などの書式情報を取得し、空描画が終了したページの次のページの実描画を複数のスレーブプロセッサのうち実描画を行っていない1つのスレーブプロセッサに行わせるものが知られている(例えば、特許文献3参照。)。
また、「OL生成工程における並列処理化」の例としては、OL生成工程のPDL解釈処理に相当する空描画と、OL生成工程のPDL解釈処理からOL処理工程のOL描画処理までの一連の処理に相当するビットマップ展開とを行うことができるページプリンタ制御装置であって、ビットマップ展開を行っていないプロセッサによって空描画をページ順に行い、空描画が終了したページの次のページのビットマップ展開を複数のプロセッサのうちビットマップ展開を行っていない1つのプロセッサに行わせることによって、各プロセッサのアイドル時間を少なくするものも知られている(例えば、特許文献4参照。)。
特許第3728820号公報 特開2007−156613号公報 特開2003−67156号公報 特開2005−63027号公報
しかしながら、特許文献3および特許文献4に記載されたものは、複数のページの印刷データに対して全体の処理時間を短縮するものであり、ページ単位の処理を高速化することができないという問題がある。
そこで、本発明は、OL生成工程における並列処理化によってページ単位の処理を高速化することができる画像形成装置を提供することを目的とする。
本発明の画像形成装置は、複数のプロセッサを備えており、前記プロセッサのそれぞれは、印刷データのPDLを解釈するPDL解釈手段と、前記PDL解釈手段によって解釈されたPDLオペレータに基づいて印刷中間言語であるOLを生成するOL生成手段と、前記PDLオペレータが描画OLを生成するための描画オペレータであるときに他のプロセッサに以降のPDLの処理を移管する処理移管手段とを有することを特徴とする。
この構成により、本発明の画像形成装置は、処理が重い描画オペレータに基づいてプロセッサが描画OLを生成するときに、OL生成工程における並列処理化によってページ単位の処理を高速化することができる。
また、本発明の画像形成装置の前記プロセッサのそれぞれは、前記PDLオペレータが描画オペレータであるときに他のアイドル状態のプロセッサを探索するプロセッサ探索手段を有し、前記処理移管手段は、前記プロセッサ探索手段によって探索されたアイドル状態のプロセッサに以降のPDLの処理を移管しても良い。
この構成により、本発明の画像形成装置は、アイドル状態ではないプロセッサにも移管元のプロセッサが以降のPDLの処理を移管する構成と比較して、処理を高速化することができる。
また、本発明の画像形成装置は、OLを格納するOLバッファと、前記プロセッサ毎に設けられた個別バッファとを備えており、前記プロセッサのそれぞれは、前記OL生成手段が描画OLの生成を終了したときに描画OLの生成の終了の通知を移管先のプロセッサに対して行う終了通知手段と、移管元のプロセッサが無いときに前記OL生成手段によって生成されたOLを前記OLバッファに格納するOLバッファ格納手段と、前記通知を移管元のプロセッサから受信するまで前記OL生成手段によって生成されたOLを前記個別バッファに格納する個別バッファ格納手段と、前記通知を移管元のプロセッサから受信した時点で前記個別バッファに格納されているOLを前記OLバッファに排出するOL排出手段とを有しても良い。
この構成により、本発明の画像形成装置は、OLを正しい順番でOLバッファに格納することができ、その結果、正しい描画を実現することができる。
また、本発明の画像形成装置の前記プロセッサのそれぞれは、前記個別バッファとして機能するローカルメモリを有していても良い。
この構成により、本発明の画像形成装置は、個別バッファをプロセッサの外部のメモリで構成する場合と比較して、個別バッファへのOLの書き込みを高速化することができるので、処理を高速化することができる。
また、本発明の画像形成装置は、複数の前記プロセッサからアクセス可能な共有メモリを備えており、前記プロセッサのそれぞれは、前記PDLオペレータが描画のための設定情報のオペレータである場合、前記設定情報が以降のPDLオペレータで使用される情報であるときのみ、前記設定情報を前記共有メモリに格納しても良い。
この構成により、本発明の画像形成装置は、不要な設定情報に対する処理が発生することを防止することができる。
また、本発明の画像形成プログラムは、複数のプロセッサを備えている画像形成装置のプログラムであって、印刷データのPDLを解釈するPDL解釈手段、前記PDL解釈手段によって解釈されたPDLオペレータに基づいて印刷中間言語であるOLを生成するOL生成手段、及び、前記PDLオペレータが描画OLを生成するための描画オペレータであるときに他のプロセッサに以降のPDLの処理を移管する処理移管手段として前記プロセッサのそれぞれを機能させることを特徴とする。
この構成により、本発明の画像形成プログラムを実行する画像形成装置は、処理が重いPDLオペレータである描画オペレータに基づいてプロセッサが描画OLを生成するときに、他のプロセッサに以降のPDLの処理を移管するので、OL生成工程における並列処理化によってページ単位の処理を高速化することができる。
本発明の画像形成装置は、OL生成工程における並列処理化によってページ単位の処理を高速化することができる。
本発明の一実施の形態に係る画像形成装置のハードウェア構成図である。 図1に示す画像形成装置の機能ブロック図である。 図2に示すプロセッサ情報を示す図である。 図1に示す画像形成装置の1つのプロセッサの動作のフローチャートである。 図4に示すフローチャートの続きのフローチャートである。 図2に示すPDLホストバッファに格納される印刷データの一例を示す図である。 図6に示す印刷データに対する各プロセッサのタイミングチャートである。 図2に示すOLバッファに格納されたスタックの状態を示す図である。
以下、本発明の一実施の形態について、図面を用いて説明する。
まず、本実施の形態に係る画像形成装置の構成について説明する。
図1は、本実施の形態に係る画像形成装置10のハードウェア構成図である。
図1に示すように、画像形成装置10は、システムバス11と、プロセッサ12を含む複数のプロセッサと、本発明の画像形成プログラムを含む各種のプログラムや各種のデータを予め記憶しているROM(Read Only Memory)13と、プロセッサによってプログラムが実行されるときにプログラムや各種のデータを一時的に記憶する作業領域として用いられるRAM(Random Access Memory)14と、最終的な印刷用のドットデータに基づいて用紙などの記録媒体に印刷を実行するプリントエンジン15と、利用者による操作を受け付ける操作パネル16と、外部装置90と通信を行うための入出力ポート17とを備えている。
複数のプロセッサ、ROM13、RAM14、プリントエンジン15、操作パネル16、及び入出力ポート17は、互いにシステムバス11により接続されている。
プロセッサ12は、ROM13に記憶されているプログラムを実行する演算処理装置としてのCPU(Central Processing Unit)である。プロセッサ12は、ローカルメモリ12aを内蔵している。画像形成装置が備える複数のプロセッサは、全てプロセッサ12と同じ構成を備える。複数のプロセッサは、図示していない1つのコントローラボードに搭載されている。
入出力ポート17は、例えば外部装置90がPC(Personal Computer)である場合、ネットワークやUSB(Universal Serial Bus)などのバスを経由して外部装置90と接続される。また、入出力ポート17は、例えば外部装置90がUSBメモリである場合、USBを経由して外部装置90と接続される。
なお、画像形成装置10は、例えば、複合機、プリンタなどの画像形成装置である。
図2は、画像形成装置10の機能ブロック図である。
図2に示すように、RAM14は、PDL形式の印刷データを格納するPDLホストバッファ21と、OLを格納するOLバッファ22と、印刷処理全体で使用されるワークメモリ23として機能する。また、RAM14は、プロセッサの情報であるプロセッサ情報24をプロセッサ毎に記憶する。
なお、PDLホストバッファ21に格納される印刷データは、例えば外部装置90がPCである場合、外部装置90から送信されてネットワークやUSBなどのバスを経由して受信されたデータである。また、PDLホストバッファ21に格納される印刷データは、外部装置90がUSBメモリである場合、利用者による操作パネル16への操作に応じて外部装置90から読み出されたデータである。
プロセッサ12は、ROM13に記憶されている画像形成プログラムを実行することによって、PDL解釈手段31、PDL判定手段32、PDL判定手段32、OL生成手段33、プロセッサ探索手段34、処理移管手段35、終了通知手段36、OLバッファ格納手段37、個別バッファ38、個別バッファ格納手段39、受信待機手段40、OL排出手段41、OL処理手段42、及び、出力手段43として機能する。画像形成装置が備える複数のプロセッサは、全てプロセッサ12と同じ構成を備える。
PDL解釈手段31は、PDLホストバッファ21から印刷データを読み出してPDLを解釈する。
PDL判定手段32は、PDL解釈手段31によって解釈されたPDLオペレータ(オペレーションコード)の種類を判定する。
OL生成手段33は、PDL解釈手段31によって解釈されたPDLオペレータに基づいてROP(ラスタオペレーション)指定などのグラフィック状態の設定OLやImage処理、Paint処理といった描画処理の描画OLを生成する。
プロセッサ探索手段34は、PDL解釈手段31によって解釈されたPDLオペレータが描画OLを生成するための描画オペレータであるときに他のアイドル状態のプロセッサを探索する。
処理移管手段35は、プロセッサ探索手段34によって探索された他のプロセッサに以降のPDLの処理を移管する。
終了通知手段36は、OL生成手段33が描画OLの生成を終了したときに描画OLの生成の終了の通知を移管先のプロセッサに対して行う。
OLバッファ格納手段37は、移管元のプロセッサが無いときにOL生成手段33によって生成されたOLをOLバッファ22に格納する。
個別バッファ38は、プロセッサ毎に設けられている。
個別バッファ格納手段39は、描画OLの生成の終了の通知を移管元のプロセッサから受信するまでOL生成手段33によって生成されたOLを個別バッファ38に一時的に格納する。
受信待機手段40は、描画OLの生成の終了の通知を移管元のプロセッサから受信するまで待機する。
OL排出手段41は、描画OLの生成の終了の通知を移管元のプロセッサから受信した時点で個別バッファ38に格納されているOLをOLバッファ22に排出する。
OL処理手段42は、OLバッファ22に格納されているOLに基づいて最終的な印刷用のドットデータを生成する。
出力手段43は、OL処理手段42によって生成されたドットデータをプリントエンジン15に送信する。
PDL判定手段32は、PDL解釈手段31によって解釈されたPDLオペレータが、情報オペレータ、設定OLオペレータ、描画オペレータ、ページ終了オペレータの何れであるかを判定する。ここで、情報オペレータは、パス情報や色情報などの設定情報のオペレータである。設定OLオペレータは、グラフィック状態の設定OLを生成するためのオペレータである。描画オペレータは、描画OLを生成するためのオペレータである。ページ終了オペレータは、ページの終了を示すオペレータである。情報オペレータおよび設定OLオペレータは、何れも描画のための設定情報のオペレータであるが、設定OLオペレータがOLを生成するためのオペレータである点において両者は異なる。
個別バッファ38は、OL生成手段33によって生成されたグラフィック状態の設定OLや描画OLを一時的に格納するためのバッファであり、プロセッサのローカルメモリによって構成されている。
図3は、プロセッサ情報24を示す図である。
図3に示すように、プロセッサ情報24は、移管元のプロセッサのIDを示す移管元ID24aと、移管先のプロセッサのIDを示す移管先ID24bと、画像形成装置10に搭載されているプロセッサの総数を示すプロセッサ数24cと、プロセッサの現在の描画状態を示す描画状態24dとを含んでいる。なお、プロセッサ数24cは、プロセッサ探索手段34がアイドル状態の他のプロセッサを探索するときに必要な情報である。
次に、画像形成装置10の動作について説明する。
図4は、画像形成装置10の複数のプロセッサの内の1つであるプロセッサ12の動作のフローチャートである。図5は、図4に示すフローチャートの続きのフローチャートである。以下においては、プロセッサ12の動作について説明するが、他のプロセッサの動作についても同様である。
図4および図5に示すように、画像形成装置10のプロセッサ12は、PDLホストバッファ21に印刷データが有るか否かを判断する(S101)。
S101においてPDLホストバッファ21に印刷データが無いと判断されると、プロセッサ12は、図4および図5に示す処理を終了する。
一方、S101においてPDLホストバッファ21に印刷データが有ると判断されると、PDL解釈手段31は、PDLホストバッファ21から印刷データを読み出して(S102)、印刷データのPDLを解釈する(S103)。
次いで、PDL判定手段32は、PDL解釈手段31によって解釈されたPDLオペレータの種類を判定する(S104)。
PDL解釈手段31によって解釈されたPDLオペレータがS104において情報オペレータであると判定されると、PDL判定手段32は、この情報オペレータの設定情報をローカルメモリ12aに格納する(S111)。次いで、PDL判定手段32は、この設定情報が以降のPDLオペレータで使用される設定情報であるか否かを判断する(S112)。
S112において情報オペレータの設定情報が以降のPDLオペレータで使用される設定情報ではないと判断されると、処理はS101へ移行する。
一方、情報オペレータの設定情報が以降のPDLオペレータで使用される設定情報であるとS112において判断されると、PDL判定手段32は、この設定情報を複数のプロセッサの共有メモリであるRAM14に格納し(S113)、処理はS101へ移行する。
PDL解釈手段31によって解釈されたPDLオペレータが設定OLオペレータであるとS104において判定されると、OL生成手段33は、この設定OLオペレータに基づいてグラフィック状態の設定OLを生成する(S131)。
次いで、プロセッサ12は、移管元のプロセッサが存在するか否かを判断する(S132)。ここで、プロセッサ12は、自身用のプロセッサ情報24における移管元ID24aが0以外の場合に、移管元のプロセッサが存在すると判断し、自身用のプロセッサ情報24における移管元ID24aが0の場合に、移管元のプロセッサが存在しないと判断する。
S132において移管元のプロセッサが存在しないと判断されると、OLバッファ格納手段37は、S131において生成された設定OLをOLバッファ22に格納して(S133)、処理はS101へ移行する。
一方、S132において移管元のプロセッサが存在すると判断されると、個別バッファ格納手段39は、S131において生成された設定OLを個別バッファ38に格納する(S134)。
次いで、受信待機手段40は、描画OLの生成の終了の通知を移管元のプロセッサから受信するまで待機する(S135)。なお、受信待機手段40は、受信した通知が移管元のプロセッサからの通知であることを、自身用のプロセッサ情報24における移管元ID24aに基づいて判断する。
描画OLの生成の終了の通知が移管元のプロセッサから受信されると、プロセッサ12は、自身用のプロセッサ情報24における移管元ID24aをリセットして0にする(S136)。
次いで、OL排出手段41は、個別バッファ38に格納されている設定OLをOLバッファ22に排出して(S137)、処理はS101へ移行する。
PDL解釈手段31によって解釈されたPDLオペレータが描画オペレータであるとS104において判定されると、プロセッサ探索手段34は、複数のプロセッサの中からアイドル状態のプロセッサを探索する(S151)。具体的には、プロセッサ探索手段34は、他のプロセッサに対してアイドル状態であるか否かを問い合わせる。このとき、プロセッサ探索手段34は、自身用のプロセッサ情報24におけるプロセッサ数24cに基づいて、他のプロセッサの数を認識することができる。問い合わせられたプロセッサは、自身用のプロセッサ情報24における描画状態24dがOFFであるとき、アイドル状態であるというメッセージを返し、自身用のプロセッサ情報24における描画状態24dがONであるとき、アイドル状態ではないというメッセージを返す。
次いで、プロセッサ探索手段34は、S151における探索の結果、アイドル状態のプロセッサが存在するか否かを判断する(S152)。
S152においてアイドル状態のプロセッサが存在しないと判断されると、プロセッサ12は、自身用のプロセッサ情報24における描画状態24dをONにする(S153)。
次いで、OL生成手段33は、PDL解釈手段31によって解釈された描画オペレータに基づいて描画OLを生成する(S154)。
次いで、プロセッサ探索手段34は、移管元のプロセッサが存在するか否かを判断する(S155)。ここで、プロセッサ探索手段34は、自身用のプロセッサ情報24における移管元ID24aが0以外の場合に、移管元のプロセッサが存在すると判断し、自身用のプロセッサ情報24における移管元ID24aが0の場合に、移管元のプロセッサが存在しないと判断する。
S155において移管元のプロセッサが存在しないと判断されると、プロセッサ12は、自身用のプロセッサ情報24における描画状態24dをOFFにする(S156)。
次いで、OLバッファ格納手段37は、S154において生成された描画OLをOLバッファ22に格納する(S157)。
次いで、終了通知手段36は、描画OLの生成の終了の通知を移管先のプロセッサに対して行って(S158)、図4および図5に示す処理が終了する。なお、終了通知手段36は、自身用のプロセッサ情報24における移管先ID24bに基づいて移管先のプロセッサを特定する。また、プロセッサ12は、S158の処理を実行する際、自身用のプロセッサ情報24における移管先ID24bをリセットして0にする。また、プロセッサ12は、移管先ID24bが0であるときには、S158において通知を行わない。
S155において移管元のプロセッサが存在すると判断されると、個別バッファ格納手段39は、S154において生成された描画OLを個別バッファ38に格納する(S159)。
次いで、受信待機手段40は、描画OLの生成の終了の通知を移管元のプロセッサから受信するまで待機する(S160)。
描画OLの生成の終了の通知が移管元のプロセッサから受信されると、プロセッサ12は、自身用のプロセッサ情報24における移管元ID24aをリセットして0にする(S161)。
次いで、プロセッサ12は、自身用のプロセッサ情報24における描画状態24dをOFFにする(S162)。
次いで、OL排出手段41は、個別バッファ38に格納されている描画OLをOLバッファ22に排出する(S163)。上述したS158の処理が実行されて、図4および図5に示す処理が終了する。
S152においてアイドル状態のプロセッサが存在すると判断されると、処理移管手段35は、S151において探索された他のプロセッサに以降のPDLの処理を移管する(S164)。
次いで、プロセッサ12は、S164において移管した移管先のプロセッサのID(例えば、「2」)を自身用のプロセッサ情報24における移管先ID24bに記録する(S165)。ここで、以降のPDLの処理が移管された移管先のプロセッサは、移管してきた移管元のプロセッサのID(例えば、「1」)を自身用のプロセッサ情報24における移管元ID24aに記憶する。
次いで、プロセッサ12は、自身用のプロセッサ情報24における描画状態24dをONにする(S166)。
次いで、OL生成手段33は、PDL解釈手段31によって解釈された描画オペレータに基づいて描画OLを生成する(S167)。次いで、上述したS156〜S158の処理が実行されて、図4および図5に示す処理が終了する。なお、このときS157においてOLバッファ22に格納される描画OLは、S167において生成された描画OLである。
PDL解釈手段31によって解釈されたPDLオペレータがS104においてページ終了オペレータであると判定されると、OL処理手段42は、OLバッファ22に格納されているOLに基づいて最終的な印刷用のドットデータを生成する(S191)。なお、移管元のプロセッサが存在すると判断された場合に、OL処理手段42は、描画OLの生成の終了の通知を移管元のプロセッサから受信するまで、S191の処理を待機する。
次いで、出力手段43は、S191において生成されたドットデータをプリントエンジン15に送信し(S192)、図4および図5に示す処理が終了する。
なお、図4および図5に示す処理においては、S101〜S103の処理がPDL解釈処理に相当し、S104〜S167の処理がOL生成処理に相当し、S191の処理がOL描画処理に相当し、S192の処理が出力処理に相当する。つまり、S101〜S167の処理がOL生成工程に相当し、S191〜S192の処理がOL処理工程に相当する。
図6は、PDLホストバッファ21に格納される印刷データの一例を示す図である。
図6に示す印刷データは、PCLXLの印刷データである。「BeginSession」は、新しいセッションの開始を定義するオペレータである。「OpenDataSource」は、フォントやイメージなどの一部のデータの入力ソースを定義するオペレータである。「BeginPage」は、紙サイズやオリエンテーションを定義して、新しいページの開始を宣言するオペレータである。「SetPageDefaultCMT」は、ページの座標変換行列をBeginSession時のデフォルトかつターゲットページのオリエンテーションに戻すオペレータである。「SetPageOrigin」は、ページ座標系の原点を新しいX,Y位置に移動するオペレータである。「SetColorSpace」は、色空間の設定を行うオペレータである。「SetROP」は、ソースイメージ、ペイントパターン、デスティネーションイメージに適用されるカレントのラスタオペレーションを設定するオペレータである。「NewPath」は、カレントパス(サブパス)を削除するオペレータである。「SetCursor」は、ユーザ座標上の絶対位置にカレントポイントを移動するオペレータである。「BeginImage」は、指定される属性(階調数、データの直接または間接指定のモード、幅、高さ、デスティネーションサイズ)に従ってデバイスを設定し、イメージデータの入力待ち状態になるオペレータである。「ReadImage」は、実イメージデータに対する属性を指定した後、データソースから実イメージデータを読み込み、BeginImageで設定した属性に従ってイメージの描画を行うオペレータである。「EndImage」は、BeginImage〜ReadImage〜EndImageからなる一連のイメージ描画モードの終了を宣言するオペレータである。「SetPenSource」は、Strokeに使用される色を定義するオペレータである。「SetBrushSource」は、Fillに使用される色を定義するオペレータである。「BezierPath」は、絶対位置指定による座標指定を使用してカレントパスにベジェパスを加えるオペレータである。「CloseSubPath」は、カレントポジションからカレントサブパスのスタートにパスを閉じるようにラインを加えるオペレータである。「PaintPath」は、グラフィックステートのアトリビュート設定に従ってカレントパスをペイント(fill & stroke)するオペレータである。「LinePath」は、絶対位置指定による座標指定を使用してカレントパスに線分パスを加えるオペレータである。「LineRelPath」は、相対位置指定による座標指定を使用してカレントパスにベジェパスを加えるオペレータである。「EndPage」は、1ページの描画終了を定義し、ページ排出を行うオペレータである。「CloseDataSource」は、OpenDataSourceで定義されたデータの入力ソースを解除し、未定義状態にするオペレータである。「EndSession」は、BeginSessionで定義されたカレントセッションの終了を宣言するオペレータである。
以下においては、理解を容易にするため、画像形成装置10がプロセッサを2つだけ備えている場合について説明し、その2つのプロセッサをプロセッサa、プロセッサbと区別して記載する。ここで、プロセッサa、プロセッサbとも、プロセッサ12と同じ構成を備える。
図7は、図6に示す印刷データに対する各プロセッサのタイミングチャートである。
<タイミングt0>
図6に示す印刷データがPDLホストバッファ21に格納されると、プロセッサaは、図4および図5に示す処理を開始して、印刷データの最初の「BeginSession」を読み出して(S102)、PDLオペレータの種類を判定する(S104)。そして、プロセッサaは、「BeginSession」が情報オペレータであるので、「BeginSession」の設定情報をプロセッサaのローカルメモリに格納するとともに(S111)、RAM14にも格納して(S113)、処理はS101へ移行する。その後、プロセッサaは、印刷データにおける範囲Aの残りのオペレータについても、「BeginSession」と同様な動作を繰り返す。このとき、以降のPDLオペレータで使用されない設定情報については、RAM14には格納されない(S112でNO)。
<タイミングt1>
プロセッサaは、印刷データにおける範囲Bのオペレータである「SetROP」を読み出して(S102)、PDLオペレータの種類を判定する(S104)。そして、プロセッサaは、「SetROP」が設定OLオペレータであるので、「SetROP」に基づいてグラフィック状態の設定OLである「ROP OL」を生成する(S131)。また、プロセッサaは、移管元のプロセッサが存在しないので(S132でNO)、S131において生成した「ROP OL」をOLバッファ22に格納して(S133)、処理はS101へ移行する。
なお、プロセッサaは、もしも移管元のプロセッサが存在する場合には(S132でYES)、S131において生成した「ROP OL」を個別バッファ38に格納して(S134)、描画OLの生成の終了の通知を移管元のプロセッサから受信するまで待機する(S135)。そして、プロセッサaは、描画OLの生成の終了の通知を移管元のプロセッサから受信すると、自身用のプロセッサ情報24における移管元ID24aをリセットし(S136)、個別バッファ38に格納されている「ROP OL」をOLバッファ22に排出して(S137)、処理はS101へ移行する。
<タイミングt2>
印刷データにおける範囲Cのオペレータが情報オペレータであるので、プロセッサaは、範囲Cのオペレータに対して、範囲Aのオペレータに対する動作と同様に動作する。
<タイミングt3>
プロセッサaは、印刷データにおける範囲Dのオペレータである「BeginImage〜ReadImage〜EndImage」を読み出す(S102)。ここで、「BeginImage〜ReadImage〜EndImage」は、プロセッサaによって纏めて取り扱われるオペレータである。プロセッサaは、「BeginImage〜ReadImage〜EndImage」が描画オペレータであるので、複数のプロセッサの中からアイドル状態のプロセッサを探索し(S151)、アイドル状態であったプロセッサbに以降のPDLの処理を移管する(S164)。プロセッサaは、S164において移管したプロセッサbのIDを自身用のプロセッサ情報24における移管先ID24bに記録し(S165)、自身用のプロセッサ情報24における描画状態24dをONにする(S166)。次いで、プロセッサaは、「BeginImage〜ReadImage〜EndImage」と、ローカルメモリに格納されている設定情報とに基づいてImage処理の描画OLとして「Image OL(D)」を生成し(S167)、自身用のプロセッサ情報24における描画状態24dをOFFにする(S156)。次いで、プロセッサaは、S167において生成した「Image OL(D)」をOLバッファ22に格納し(S157)、描画OLの生成の終了の通知を移管先のプロセッサbに対して行って(S158)<タイミングt6>、図4および図5に示す処理が終了する。
<タイミングt3>
以降のPDLの処理をプロセッサaから移管されたプロセッサbは、図4および図5に示す処理を開始する。ここで、印刷データにおける範囲Eのオペレータが情報オペレータであるので、プロセッサbは、範囲Eのオペレータに対して、プロセッサaによる範囲Aのオペレータに対する動作と同様に動作する。なお、プロセッサbは、図4および図5に示す処理を開始するとき、RAM14に格納されている設定情報を読み出してプロセッサbのローカルメモリに格納する。
<タイミングt4>
プロセッサbは、印刷データにおける範囲Fのオペレータである「PaintPath」を読み出して(S102)、PDLオペレータの種類を判定する(S104)。そして、プロセッサbは、「PaintPath」が描画オペレータであるので、複数のプロセッサの中からアイドル状態のプロセッサを探索する(S151)。このとき、アイドル状態のプロセッサが存在しないので(S152でNO)、プロセッサbは、自身用のプロセッサ情報24における描画状態24dをONにし(S153)、「PaintPath」と、ローカルメモリに格納されている設定情報とに基づいてPaint処理の描画OLとしての「Paint OL(F)」を生成し(S154)、移管元のプロセッサが存在するか否かを判断する(S155)。このとき、未だ<タイミングt6>より前であり、移管元のプロセッサとしてプロセッサaが存在するので(S155でYES)、プロセッサbは、「Paint OL(F)」を個別バッファ38に格納し(S159)、描画OLの生成の終了の通知を移管元のプロセッサaから受信するまで待機する(S160)<タイミングt5>。
なお、プロセッサbは、もしも移管元のプロセッサが存在しない場合には(S155でNO)、自身用のプロセッサ情報24における描画状態24dをOFFにし(S156)、S154において生成した「Paint OL(F)」をOLバッファ22に格納して(S157)、図4および図5に示す処理が終了する。
<タイミングt6>
プロセッサbは、描画OLの生成の終了の通知を移管元のプロセッサaから受信すると、自身用のプロセッサ情報24における移管元ID24aをリセットし(S161)、自身用のプロセッサ情報24における描画状態24dをOFFにし(S162)、個別バッファ38に格納されている「Paint OL(F)」をOLバッファ22に排出して(S163)、図4および図5に示す処理が終了する。
<タイミングt7>
タイミングt3において以降のPDLの処理をプロセッサaから移管されたプロセッサbは、続けて図4および図5に示す処理を開始する。ここで、印刷データにおける範囲Gのオペレータが情報オペレータであるので、プロセッサbは、範囲Gのオペレータに対して、プロセッサaによる範囲Aのオペレータに対する動作と同様に動作する。
<タイミングt8>
印刷データにおける範囲Hのオペレータである「PaintPath」が描画オペレータであり、プロセッサaがアイドル状態であるので、プロセッサbは、プロセッサaによる範囲Dのオペレータに対する動作と同様に動作する。つまり、プロセッサbは、アイドル状態であったプロセッサaに以降のPDLの処理を移管し(S164)、「PaintPath」と、ローカルメモリに格納されている設定情報とに基づいてPaint処理の描画OLとして「Paint OL(H)」を生成し(S167)、S167において生成した「Paint OL(H)」をOLバッファ22に格納し(S157)、描画OLの生成の終了の通知を移管先のプロセッサaに対して行って(S158)<タイミングt10>、図4および図5に示す処理が終了する。
<タイミングt8>
以降のPDLの処理をプロセッサbから移管されたプロセッサaは、図4および図5に示す処理を開始する。ここで、印刷データにおける範囲Iのオペレータが情報オペレータであるので、プロセッサaは、範囲Iのオペレータに対して、範囲Aのオペレータに対する動作と同様に動作する。なお、プロセッサaは、図4および図5に示す処理を開始するとき、RAM14に格納されている設定情報を読み出してプロセッサaのローカルメモリに格納する。
<タイミングt9>
プロセッサaは、印刷データにおける範囲Jのオペレータである「BeginImage〜ReadImage〜EndImage」を読み出して(S102)、PDLオペレータの種類を判定する(S104)。そして、プロセッサaは、「BeginImage〜ReadImage〜EndImage」が描画オペレータであるので、複数のプロセッサの中からアイドル状態のプロセッサを探索する(S151)。このとき、アイドル状態のプロセッサが存在しないので(S152でNO)、プロセッサaは、自身用のプロセッサ情報24における描画状態24dをONにし(S153)、「BeginImage〜ReadImage〜EndImage」と、ローカルメモリに格納されている設定情報とに基づいてImage処理の描画OLとしての「Image OL(J)」を生成し(S154)、移管元のプロセッサが存在するか否かを判断する(S155)。このとき、既に<タイミングt10>より後であり、移管元のプロセッサが存在しないので(S155でNO)、プロセッサaは、自身用のプロセッサ情報24における描画状態24dをOFFにし(S156)、「Image OL(J)」をOLバッファ22に格納して(S157)、図4および図5に示す処理が終了する。
図8は、OLバッファ22に格納されたスタックの状態を示す図である。
プロセッサaによって最終的な印刷用のドットデータが生成される前、OLバッファ22には、図8に示すように、上述した「ROP OL」、「Image OL(D)」、「Paint OL(F)」、「Paint OL(H)」、「Image OL(J)」が順番通りに格納されている。
<タイミングt11>
図7に示すように、タイミングt8において以降のPDLの処理をプロセッサbから移管されたプロセッサaは、続けて図4および図5に示す処理を開始する。そして、プロセッサaは、印刷データにおける範囲Kのオペレータである「EndPage」を読み出して(S102)、PDLオペレータの種類を判定する(S104)。そして、プロセッサaは、「EndPage」がページ終了オペレータであるので、OLバッファ22に格納されているOLに基づいて最終的な印刷用のドットデータを生成し(S191)、S191において生成したドットデータをプリントエンジン15に送信し(S192)、図4および図5に示す処理が終了する。
以上に説明したように、画像形成装置10は、処理が重いPDLオペレータである描画オペレータに基づいてプロセッサが描画OLを生成するときに、他のプロセッサに以降のPDLの処理を移管するので、OL生成工程における並列処理化によってページ単位の処理を高速化することができる。
また、画像形成装置10は、アイドル状態のプロセッサに移管元のプロセッサが以降のPDLの処理を移管するので、アイドル状態ではないプロセッサにも移管元のプロセッサが以降のPDLの処理を移管する構成と比較して、処理を高速化することができる。なお、画像形成装置10は、アイドル状態であるか否かという条件以外の条件によって、移管先のプロセッサが選択されるようになっていても良い。
また、画像形成装置10は、移管先のプロセッサが描画OLの生成の終了の通知を移管元のプロセッサから受信するまで、生成したOLを個別バッファ38に格納し、移管先のプロセッサが描画OLの生成の終了の通知を移管元のプロセッサから受信した時点で個別バッファ38に格納されているOLをOLバッファ22に排出するので、OLを正しい順番でOLバッファ22に格納することができ、その結果、正しい描画を実現することができる。
また、プロセッサは、個別バッファ38として機能するローカルメモリを備えている。したがって、画像形成装置10は、個別バッファ38をプロセッサの外部のメモリで構成する場合と比較して、個別バッファ38へのOLの書き込みを高速化することができるので、処理を高速化することができる。なお、個別バッファ38は、プロセッサのローカルメモリではなく、プロセッサの外部のメモリ、例えば、RAM14で構成されていても良い。
また、プロセッサは、PDLオペレータが描画のための設定情報のオペレータである場合、設定情報が以降のPDLオペレータで使用される情報であるときのみ(S112でYES)、設定情報をRAM14に格納する(S113)。したがって、画像形成装置10は、不要な設定情報に対する処理が発生することを防止することができる。なお、プロセッサは、設定情報が以降のPDLオペレータで使用される情報であるか否かに関わらず、全ての設定情報をRAM14に格納するようになっていても良い。
本実施の形態においては、移管先のプロセッサは、PDLオペレータが描画オペレータであるときに以降のPDLの処理を更に他のプロセッサに移管しない限り、描画OLをOLバッファ22に格納した後も以降のPDLの処理を継続するようになっているが、描画OLをOLバッファ22に格納した時点で移管元のプロセッサに以降のPDLの処理を移管するようになっていても良い。
本実施の形態においては、図7において画像形成装置10がプロセッサを2つだけ備えている場合について説明しているが、画像形成装置10がプロセッサを3つ以上備えている場合についても同様である。
本実施の形態においては、描画状態のON、OFFでアイドル状態を判断するようになっているが、他の方法によってアイドル状態を判断するようになっていても良い。例えば、プロセッサは、図4および図5に示す処理を行っている場合にアイドル状態ではないと判断し、図4および図5に示す処理を行っていない場合にアイドル状態であると判断するようになっていても良い。
10 画像形成装置
12 プロセッサ
12a ローカルメモリ
14 RAM(共有メモリ)
22 OLバッファ
31 PDL解釈手段
33 OL生成手段
34 プロセッサ探索手段
35 処理移管手段
36 終了通知手段
37 OLバッファ格納手段
38 個別バッファ
39 個別バッファ格納手段
41 OL排出手段

Claims (5)

  1. 複数のプロセッサと、
    印刷中間言語であるOLを格納するOLバッファと、
    前記プロセッサ毎に設けられた個別バッファとを備えており、
    前記プロセッサのそれぞれは、
    印刷データのPDLを解釈するPDL解釈手段と、
    前記PDL解釈手段によって解釈されたPDLオペレータに基づいてLを生成するOL生成手段と、
    前記PDLオペレータが描画OLを生成するための描画オペレータであるときに他のプロセッサにこの描画オペレータの次以降のPDLの処理を移管する処理移管手段と
    前記OL生成手段が描画OLの生成を終了したときに描画OLの生成の終了の通知を移管先のプロセッサに対して行う終了通知手段と、
    移管元のプロセッサが無いときに前記OL生成手段によって生成されたOLを前記OLバッファに格納するOLバッファ格納手段と、
    前記通知を移管元のプロセッサから受信するまで前記OL生成手段によって生成されたOLを前記個別バッファに格納する個別バッファ格納手段と、
    前記通知を移管元のプロセッサから受信した時点で前記個別バッファに格納されているOLを前記OLバッファに排出するOL排出手段と
    を有することを特徴とする画像形成装置。
  2. 前記プロセッサのそれぞれは、前記PDLオペレータが描画オペレータであるときに他のアイドル状態のプロセッサを探索するプロセッサ探索手段を有し、
    前記処理移管手段は、前記プロセッサ探索手段によって探索されたアイドル状態のプロセッサに前記次以降のPDLの処理を移管することを特徴とする請求項1に記載の画像形成装置。
  3. 前記プロセッサのそれぞれは、前記個別バッファとして機能するローカルメモリを有することを特徴とする請求項1または請求項2に記載の画像形成装置。
  4. 複数の前記プロセッサからアクセス可能な共有メモリを備えており、
    前記プロセッサのそれぞれは、前記PDLオペレータが描画のための設定情報のオペレータである場合、前記設定情報が以降のPDLオペレータで使用される情報であるときのみ、前記設定情報を前記共有メモリに格納することを特徴とする請求項1から請求項3までの何れかに記載の画像形成装置。
  5. 複数のプロセッサと、
    印刷中間言語であるOLを格納するOLバッファと、
    前記プロセッサ毎に設けられた個別バッファとを備えている画像形成装置のプログラムであって、
    印刷データのPDLを解釈するPDL解釈手段、
    前記PDL解釈手段によって解釈されたPDLオペレータに基づいて印刷中間言語であるOLを生成するOL生成手段、
    前記PDLオペレータが描画OLを生成するための描画オペレータであるときに他のプロセッサにこの描画オペレータの次以降のPDLの処理を移管する処理移管手段、
    前記OL生成手段が描画OLの生成を終了したときに描画OLの生成の終了の通知を移管先のプロセッサに対して行う終了通知手段、
    移管元のプロセッサが無いときに前記OL生成手段によって生成されたOLを前記OLバッファに格納するOLバッファ格納手段、
    前記通知を移管元のプロセッサから受信するまで前記OL生成手段によって生成されたOLを前記個別バッファに格納する個別バッファ格納手段、及び、
    前記通知を移管元のプロセッサから受信した時点で前記個別バッファに格納されているOLを前記OLバッファに排出するOL排出手段として
    前記プロセッサのそれぞれを機能させることを特徴とする画像形成プログラム。
JP2010194915A 2010-08-31 2010-08-31 画像形成装置および画像形成プログラム Expired - Fee Related JP5409559B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010194915A JP5409559B2 (ja) 2010-08-31 2010-08-31 画像形成装置および画像形成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010194915A JP5409559B2 (ja) 2010-08-31 2010-08-31 画像形成装置および画像形成プログラム

Publications (2)

Publication Number Publication Date
JP2012051208A JP2012051208A (ja) 2012-03-15
JP5409559B2 true JP5409559B2 (ja) 2014-02-05

Family

ID=45905139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010194915A Expired - Fee Related JP5409559B2 (ja) 2010-08-31 2010-08-31 画像形成装置および画像形成プログラム

Country Status (1)

Country Link
JP (1) JP5409559B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3267076B2 (ja) * 1994-11-28 2002-03-18 富士ゼロックス株式会社 画像処理装置
JPH091871A (ja) * 1995-06-16 1997-01-07 Canon Inc 印刷装置および印刷装置の描画制御方法
JPH10154050A (ja) * 1996-11-22 1998-06-09 Fuji Xerox Co Ltd 印刷処理装置及び方法
JPH11170657A (ja) * 1997-12-16 1999-06-29 Fuji Xerox Co Ltd 画像処理装置
JPH11259644A (ja) * 1998-03-09 1999-09-24 Fuji Xerox Co Ltd 画像形成装置および画像形成方法
JP2004247952A (ja) * 2003-02-13 2004-09-02 Konica Minolta Holdings Inc 画像処理システム

Also Published As

Publication number Publication date
JP2012051208A (ja) 2012-03-15

Similar Documents

Publication Publication Date Title
US8054474B2 (en) Image data producing apparatus, image forming apparatus and computer readable medium
JP5531531B2 (ja) 画像処理システム及び画像処理プログラム
US8553263B2 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
JP4900530B1 (ja) 画像処理装置及びプログラム
JP5594470B2 (ja) 印刷制御装置、印刷システムおよびプログラム
JP2012081626A (ja) 画像形成装置、画像処理方法、プログラム
US8861011B2 (en) Print image processing system and non-transitory computer readable medium
US8334989B2 (en) Printing device and method for parallel processing of data
US8928914B2 (en) Image processing apparatus, information processing method, and storage medium
JP2019029020A (ja) プロセッサの複数のコアを効率的に使用してフォント処理を実行するデータ処理方法、データ処理装置及びプログラム
JP2009214348A (ja) 画像処理装置、画像処理システムおよび画像処理プログラム
JP6067039B2 (ja) 印刷に要する時間の予測値を求める画像処理装置、画像処理方法およびそのプログラム
JP5409559B2 (ja) 画像形成装置および画像形成プログラム
JP6187110B2 (ja) 印刷制御装置及びプログラム
JP2001075759A (ja) 情報処理装置および情報処理方法
JP2009269179A (ja) 印刷装置、プログラム及び記録媒体
JP6226604B2 (ja) ディスプレイリストを生成する装置、方法、プログラム
JP2016095570A (ja) 情報処理装置、当該情報処理装置を備える画像形成装置、情報処理方法、および、当該情報処理方法をコンピュータに実現させるためのプログラム
US9471022B2 (en) Print control apparatus, print control method, image forming system, and non-transitory computer readable medium
JP7124447B2 (ja) 変換装置、印刷システムおよびプログラム
JP5957979B2 (ja) 画像処理方法、画像処理プログラムおよび画像形成装置
JP5450321B2 (ja) 画像形成装置および画像形成プログラム
JP2006155307A (ja) 負荷分散処理を行う画像処理システム
JP2016155280A (ja) 制御装置、制御方法およびプログラム
JP2012081711A (ja) 画像形成装置、画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131009

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131105

R150 Certificate of patent or registration of utility model

Ref document number: 5409559

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees