画像データ生成装置、画像形成装置およびプログラム
【課題】ページ独立でないページ記述言語で記述されたデータからラスタ画像を作成する処理を高速化する。
【解決手段】ページ記述言語で記述されたデータをページ単位に分割するページ分割部と、分割されたデータからラスタデータを作成するとともに、ラスタデータを作成する過程で印刷リソースを変更した場合にこれを印刷リソースの変更に関する情報として出力する複数のRIP40と、個々のRIP40にラスタデータを作成するページを割り当て、所定のRIP40から印刷リソースの変更に関する情報を受け取った場合に、所定のRIP40のメモリにおける印刷リソースの展開領域の内容を他のRIP40のメモリにおける印刷リソースの展開領域にコピーし、かつ印刷リソースの変更が行われたページ以降のページに関して、各RIP40に改めてラスタデータの作成を指示するRIP制御部50とを備える。
【解決手段】ページ記述言語で記述されたデータをページ単位に分割するページ分割部と、分割されたデータからラスタデータを作成するとともに、ラスタデータを作成する過程で印刷リソースを変更した場合にこれを印刷リソースの変更に関する情報として出力する複数のRIP40と、個々のRIP40にラスタデータを作成するページを割り当て、所定のRIP40から印刷リソースの変更に関する情報を受け取った場合に、所定のRIP40のメモリにおける印刷リソースの展開領域の内容を他のRIP40のメモリにおける印刷リソースの展開領域にコピーし、かつ印刷リソースの変更が行われたページ以降のページに関して、各RIP40に改めてラスタデータの作成を指示するRIP制御部50とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ページ記述言語(Page-Description Language:PDL)で記述されたデータから画像データを生成する画像データ生成装置および画像形成装置に関する。
【背景技術】
【0002】
画像形成装置に関しては、ページ記述言語で記述されたデータからラスタ画像(データ)を作成する際の展開処理を高速に行うため、種々の従来技術が提案されている。例えば、特許文献1には、ページ記述言語で記述したデータを一旦ページ単位に分割し、複数のCPUで処理する方法が開示されている。また、特許文献2、3には、文書構造解析を行って出力された描画オブジェクト単位の描画情報を、複数の描画処理部で並行処理することで高速化をはかる方法が開示されている。特許文献4には、事前にページ記述言語を解析し並行処理できる単位で分割して並行処理を行う方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3555748号公報
【特許文献2】特開平10−97394号公報
【特許文献3】特開2003−51019号公報
【特許文献4】特許第3589255号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、PostScript等のページ独立でないページ記述言語で記述されたデータからラスタ画像を作成する処理の高速化を目的とする。
【課題を解決するための手段】
【0005】
請求項1に記載の発明は、ページ記述言語で記述されたデータをページ単位に分割するページ分割部と、分割された前記データからラスタデータを作成するとともに、当該ラスタデータを作成する過程で印刷リソースを変更した場合にこれを印刷リソースの変更に関する情報として出力する複数のイメージプロセッサと、個々の前記イメージプロセッサにラスタデータを作成するページを割り当て、所定の前記イメージプロセッサから印刷リソースの変更に関する情報を受け取った場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する制御部と、を備えることを特徴とする画像データ生成装置である。
請求項2に記載の発明は、ページ記述言語で記述されたデータをラスタデータに変換する画像データ生成部と、前記画像データ生成部により生成されたラスタデータに基づき印刷媒体上に画像を形成する画像形成部とを備え、前記画像データ生成部は、ページ記述言語で記述されたデータをページ単位に分割するページ分割部と、分割された前記データからラスタデータを作成するとともに、当該ラスタデータを作成する過程で印刷リソースを変更した場合にこれを印刷リソースの変更に関する情報として出力する複数のイメージプロセッサと、個々の前記イメージプロセッサにラスタデータを作成するページを割り当て、所定の前記イメージプロセッサから印刷リソースの変更に関する情報を受け取った場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する制御部と、を備えることを特徴とする画像形成装置である。
請求項3に記載の発明は、コンピュータに、ページ記述言語で記述されたデータをページ単位に分割する機能と、複数のイメージプロセッサの各々に対してラスタデータを作成するページを割り当てる機能と、所定の前記イメージプロセッサにおいて印刷リソースが変更された場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する機能と、前記複数のイメージプロセッサにより作成された各ページのラスタデータを、ページ順を保証して画像形成装置に送信する機能と、を実現させることを特徴とするプログラムである。
【発明の効果】
【0006】
請求項1の画像データ生成装置によれば、ページ独立でないページ記述言語で記述されたデータであっても、印刷リソースの変更の内容をラスタ画像の作成に確実に反映させ、高速にラスタ画像を作成することができる。
請求項2の画像形成装置によれば、ページ独立でないページ記述言語で記述されたデータであっても、印刷リソースの変更の内容をラスタ画像の作成に確実に反映させ、高速にラスタ画像を作成して画像形成を行うことができる。
請求項3のプログラムによれば、ページ独立でないページ記述言語で記述されたデータであっても、印刷リソースの変更の内容をラスタ画像の作成に確実に反映させ、高速にラスタ画像を作成することができる。
【図面の簡単な説明】
【0007】
【図1】本実施形態による画像データ生成装置の機能構成を示す図である。
【図2】本実施形態の画像データ生成装置を実現するのに好適なコンピュータのハードウェア構成を例示する図である。
【図3】PDLデータをページ単位に分割する手法を説明する図である。
【図4】本実施形態における各RIPに対するページデータの割り当ての様子を例示する図である。
【図5】本実施形態におけるページインデックスによる各ページの管理方法を説明する図である。
【図6】本実施形態により複数のRIPで並列にページデータのラスタライズを行った場合と、単一のRIPで各ページデータのラスタライズを順次行った場合の処理時間を比較するタイムチャートである。
【図7】本実施形態の変形例により複数のRIPで並列にページデータのラスタライズを行った場合の各RIPの動作タイミングを示すタイムチャートである。
【図8】本実施形態の他の変形例により複数のRIPで並列にページデータのラスタライズを行った場合の各RIPの動作タイミングを示すタイムチャートである。
【図9】図8の例における各RIPとRIP制御部との間の通信の様子を示すタイムチャートである。
【図10】本発明の他の実施形態における画像データ生成装置の機能構成を示す図である。
【図11】本実施形態により複数のRIPで並列にページデータのラスタライズを行った場合の各RIPの動作タイミングを示すタイムチャートである。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。
図1は、本実施形態による画像データ生成装置の機能構成を示す図である。
図1に示すように、本実施形態の画像データ生成装置は、処理対象のページ記述言語で記述されたデータをページ単位に分割するページ分割部10と、入力処理部20と、ページごとに分割されたデータを保存する入力イメージ保存部30とを備える。そして、入力イメージ保存部30に保存されたデータからラスタ画像を生成(ラスタライズ)する複数のラスタイメージプロセッサ(RIP)40(40a〜40d)と、RIP40の動作を制御するRIP制御部50とを備える。また、この画像データ生成装置は、複数のRIP40により生成されたラスタ画像を保存する出力イメージ保存部60と、このラスタ画像を画像形成装置に出力するためのI/F(インターフェイス)変換部70およびイメージ出力部80とを備える。なお、図中の太い矢印はデータの流れを、細い矢印は制御指示の流れを示している。
【0009】
図2は、画像データ生成装置を実現するのに好適なコンピュータのハードウェア構成を例示する図である。
図示のように、コンピュータ300は、演算手段であるCPU(Central Processing Unit)301と、記憶手段であるメインメモリ302及び磁気ディスク装置(HDD:Hard Disk Drive)303とを備える。ここで、CPU301は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上記の各機能を実現する。また、メインメモリ302は、各種ソフトウェアやその実行に用いるデータ等を記憶する一次記憶手段であり、磁気ディスク装置303は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する二次記憶手段である。さらにまた、図2に示すコンピュータ300は、外部との通信を行うための通信I/F(インターフェイス)30
4と、ビデオメモリやディスプレイ等からなる表示機構305と、キーボードやマウス等の入力デバイス306とを備える。なお、本実施形態の画像データ生成装置は、上述のように複数のRIP40を備える。詳しくは後述するが、このRIP40は例えば図2に示すコンピュータ300のCPU301にて実現される。したがって、本実施形態の画像データ生成装置として用いられるコンピュータ300には、CPU301および必要であればメインメモリ302が複数個設けられることとなる。
【0010】
図1に示したページ分割部10は、例えば図2に示すコンピュータ300のCPU301にて実現される。このページ分割部10は、処理対象であるページ記述言語で記述されたデータ(以下、PDLデータ)を読み込み、ページ単位のデータ(以下、ページデータ)に分割する。処理対象のPDLデータは、外部装置から受信したり、所定の記憶装置から読み出したりすることで取得する。
【0011】
図3は、PDLデータをページ単位に分割する手法を説明する図である。
図3(A)に示すように、PDLデータは、描画コマンドおよび制御コマンドのリストからなっている。例えば、「TEXT A」は、フォントAを使って文字を描画するコマンドである。また、「DLFONT A」は、フォントAをRIP40にダウンロードし印刷リソースとして展開登録するという指令である。また、「PSTART」「PEND」はページの区切りを表しており、「PSTART」がページの開始を、「PEND」がページの終了を意味する。ページ分割部10は、この制御コマンド「PSTART」「PEND」に基づいてページごとに分割する。
【0012】
図3(A)に示したPDLデータを制御コマンド「PSTART」「PEND」に基づいて分割すると、図3(B)に示すように4ページ分のページデータとなる。このページデータの1ページ目と2ページ目には、印刷リソースを変更する制御コマンド「DLFORM 1」「DLFONT A」が含まれている。「DLFORM 1」は、フォーム1をRIP40にダウンロードし印刷リソースとして展開登録するという指令であり、「DLFONT A」は、上述したようにフォントAをダウンロードし登録する指令である。
【0013】
ここで、3ページ目と4ページ目のページデータを参照すると、3ページ目では、2ページ目で登録したフォントAを使用している。したがって、2ページ目のフォントAのダウンロードおよび登録を行ってからでないと3ページ目のイメージを作成することができない。同様に、4ページ目では、1ページ目で登録したフォーム1を使用している。したがって、1ページ目のフォーム1のダウンロードおよび登録を行ってからでないと4ページ目のイメージを作成することができない。
【0014】
PDLデータの多くは、図3に示すように、所定のページで行った印刷リソースの変更を他のページでも利用する(ページ独立でない)構成となっている。そのため、ページ単位で分割したページデータをそのまま複数のRIP40で並列にラスタライズすることはできない。そこで、各ページデータの分散処理を実現するためには、所定のページで行った印刷リソースの変更を、そのページのラスタライズを行っていないRIP40にも伝達することが必要となる。本実施形態では、後述のRIP制御部50の制御により、この情報の交換を実現している。
【0015】
入力処理部20は、例えば図2に示すコンピュータ300のCPU301にて実現され、ページ分割部10により分割されたページデータを順次入力イメージ保存部30に格納する。また、ページデータを入力イメージ保存部30に格納したことをRIP制御部50に通知する。
入力イメージ保存部30は、例えば図2に示すコンピュータ300のメインメモリ302や磁気ディスク装置303にて実現され、入力処理部20から送られたページデータを保存する。
【0016】
RIP40は、例えば図2に示すコンピュータ300のCPU301およびメインメモリ302にて実現され、RIP制御部50の制御にしたがって、入力イメージ保存部30から割り当てられたページのページデータを読み込み、ラスタ画像を生成する。また、上述したように、本実施形態の画像データ生成装置は複数のRIP40を備えており、個々のRIP40が各々別個のCPU301にて実現される。また、印刷リソースを登録する展開領域として用いられるメインメモリ302は、RIP40と共に複数設けることもできるし、単一のメインメモリ302に各RIP40が使用する領域を設定することもできる。
【0017】
RIP制御部50は、例えば図2に示すコンピュータ300のCPU301およびメインメモリ302にて実現され、各RIP40に対して、ページデータのラスタライズおよび印刷リソースの展開登録を指示する。図1に示すように、RIP制御部50は、各RIP40に対して指示コマンドを送信するコマンド送信部51と、各RIP40からの応答を受け付けるレスポンス受信部52とを備える。そして、レスポンス受信部52にて受け付けた各RIP40からの応答に基づき、個々のRIP40における処理の待ち時間が少なくなるように、各RIP40へのページデータの割り当てを動的に行う。RIP制御部50による具体的な制御内容については後述する。
【0018】
出力イメージ保存部60は、例えば図2に示すコンピュータ300のメインメモリ302や磁気ディスク装置303にて実現され、RIP40により生成されたラスタ画像を保存する。
I/F変換部70は、例えば図2に示すコンピュータ300のCPU301にて実現され、RIP制御部50の制御により出力イメージ保存部60から保存されているラスタ画像を読み出し、データ形式をプリンタ等の画像形成装置が扱える形式に変換する。
イメージ出力部80は、例えば図2に示すコンピュータ300の通信I/F304にて実現され、I/F変換部70により変換されたデータを画像形成装置へ送信する。
【0019】
次に、RIP制御部50による制御について詳細に説明する。
図4は、各RIP40に対するページデータの割り当ての様子を例示する図である。なお、ここでは、RIP40aからRIP40dの4つのRIP40でページデータを分散処理するものとする。
【0020】
RIP制御部50は、入力処理部20からの通知に基づき、RIP40a〜40dに対してコマンド送信部51から各ページデータに対する操作の指示コマンドを送る。このとき、RIP制御部50は、個々のページデータに関して、1つのRIP40に対してはラスタライズの実行を指示する(図4において丸印(○)が付されたページデータ)。そして、他のRIP40に対しては印刷リソースの展開登録のみを実行させる指示を行う(図4において三角印(△)が付されたページデータ)。ラスタライズを実行するページの割り当ては、少なくとも初期的には数ページ単位で行うことが好ましい。これは、各RIP40が1ページ分のラスタライズが完了するたびにRIP制御部50が次のページデータの割り当てを行い、RIP40が割り当てられたページデータを読み出していたのでは効率が悪いためである。各RIP40が数ページ分のページデータを先読みして連続的にラスタライズを実行することにより、実行効率を向上させることができる。
【0021】
図4に示す例では、ラスタライズの対象となるページデータが各RIP40に2ページ分ずつ割り当てられている。具体的には、第1ページ(P1)および第5ページ(P5)のラスタライズがRIP40aに、第2ページ(P2)および第6ページ(P6)のラスタライズがRIP40bに、第3ページ(P3)および第7ページ(P7)のラスタライズがRIP40cに、第4ページ(P4)および第8ページ(P8)のラスタライズがRIP40dに、それぞれ割り当てられている(第9ページ(P9)については後述する)。したがって、各ページとも、他のRIP40(例えば第1、第5ページならばRIP40b〜40d)には、印刷リソースの展開登録のみが指示されている。
【0022】
ここで、図3(B)に示したページデータを例として各RIP40a〜40dの動作を考えると、第1ページに関して、RIP40aは、ラスタライズの実行が指示されているので、第1ページのラスタ画像を生成する。この際、当然にフォーム1のダウンロードおよび登録を行う。RIP40b〜40dは、印刷リソースの展開登録のみが指示されているので、ラスタ画像は生成しないが、フォーム1のダウンロードおよび登録は行う。これにより、RIP40a〜40dの全てでフォーム1は展開登録された。したがって、フォーム1が使用される第4ページをラスタライズするRIP40dにおいても、何ら問題なくフォーム1を用いたラスタ画像の生成が行われることとなる。
【0023】
同様に、第2ページに関して、RIP40bは、ラスタライズの実行が指示されているので、第2ページのラスタ画像を生成し、フォントAのダウンロードおよび登録を行う。RIP40a、40c、40dは、印刷リソースの展開登録のみが指示されているので、ラスタ画像は生成しないが、フォントAのダウンロードおよび登録は行う。これにより、RIP40a〜40dの全てでフォントAは展開登録された。したがって、フォントAが使用される第3ページをラスタライズするRIP40cにおいても、何ら問題なくフォントAを用いたラスタ画像の生成が行われることとなる。
【0024】
各RIP40a〜40dは、上記のように自身に割り当てられたページデータのラスタ画像を生成し、出力イメージ保存部60に格納すると共に、ラスタライズが終了したことをRIP制御部50に通知する。RIP制御部50のレスポンス受信部52がこの通知を受信すると、RIP制御部50は、第9ページ以降のページデータの割り当てを行う。各ページデータは、その内容に応じてラスタライズに要する時間が異なる。したがって、複数のRIP40で各ページデータを分散処理した場合、元のPDLデータのページ順にラスタライズが完了するとは限らない。図4の例では、第3ページ、第2ページ、第1ページ、第5ページの順でラスタライズ完了の通知がレスポンス受信部52に送られている。そこで、RIP制御部50は、各RIP40a〜40dにおける処理時間の違いを平準化するため、ラスタライズの処理待ちのページ数が各RIP40a〜40dで等しくなるように第9ページ以降のラスタライズの割り当てを行う。図4に示す例では、最初に1ページ分のページデータ(第3ページ)のラスタライズが完了したRIP40cに、次の第9ページのラスタライズを割り当てている。この後は、1ページごとに同様に割り当てても良いし、初期設定と同様に2ページ単位で割り当てることも可能である。前者の場合、第10ページは、2番目に1ページ分のページデータ(第2ページ)のラスタライズが完了したRIP40bに割り当てられる。後者の場合、第10ページ(P10)も第9ページと同様にRIP40cに割り当てられる。
【0025】
また、RIP制御部50は、各ページデータのラスタライズを、出力イメージ保存部60において各ページのラスタ画像が格納される記憶領域へのポインタであるページインデックスで管理する。ページインデックスの属性としては、少なくとも、次にラスタライズを指示する(ラスタ画像の生成を割り当てる)ページデータを指す次作成ページと、次に画像形成装置へ送出するラスタ画像を指す次送信ページとがある。
図5は、ページインデックスによる各ページの管理方法を説明する図である。同図において、第2ページおよび第3ページは既にラスタライズが完了しており、割り当てられたRIP40(図4の例ではRIP40b、40c)により、該当する記憶領域へラスタ画像が書き込まれている(図5ではグレーで示されている)。
【0026】
RIP制御部50は、出力イメージ保存部60の記憶領域を調べ、次作成ページのページインデックスで指定されたアドレスにページデータのページ属性で特定されるサイズ以上の未使用の領域があれば、そのバッファオフセットをRIP40へ送る指示コマンドにセットし、使用サイズ分だけ、次作成ページの指示ポイントを進める。このように、ページ順に領域を指示していくことにより、出力イメージ保存部60であるメインメモリ302等の連続した領域にラスタライズされたイメージが作成されていくことになる。
【0027】
ページインデックスの次作成ページで指定された領域が使用中(ラスタライズされた他の(前の)ページが保存されており、未だ印刷されていない状態)であれば、その領域をラスタ画像の保存に使用することができないため、RIP40への指示コマンドの送信は待ちになる。通常、使用中の領域に保存されたラスタ画像が印字され、画像形成装置での最終的な出力が確認できたタイミングで、当該使用中の領域は解放される。そこで、現在の空き領域と解放された領域を加えた使用可能な領域が、ページ属性で要求されるサイズの領域より大きければ、RIP制御部50は、待ち状態の指示コマンドを割り当てたRIP40へ送る。
【0028】
また、RIP制御部50は、ラスタライズが完了したページの情報をI/F変換部70に通知する。I/F変換部70は、この通知に基づき、ラスタライズが完了したページのラスタ画像を出力イメージ保存部60から読み出し、データ形式を変換して画像形成装置へ出力する。このとき、RIP制御部50からI/F変換部70への通知は、ラスタライズの完了順にしたがって行われるのではなく、ページ順を保証する。図5に示した例では、第2ページおよび第3ページのラスタライズは完了しているが、第1ページのラスタライズは完了していない。したがって、次送信ページのページインデックスは第1ページが保存される領域を指したままであり、RIP制御部50は、第1ページのみならず第2、第3ページについてもI/F変換部70への通知を行わない。
【0029】
この後、第1ページのラスタライズが完了してRIP40からRIP制御部50のレスポンス受信部52に通知されると、RIP制御部50は、第1、第2、第3ページについてラスタライズが完了したことを、順次、I/F変換部70に通知する。そして、I/F変換部70が、第1、第2、第3ページを順次読み出して処理する。一方、RIP制御部50は、第1、第2、第3ページのラスタ画像が読み出され、画像形成装置により出力された後、出力イメージ保存部60における同ページのラスタ画像が保存されていた領域を開放し、次送信ページの指示ポイントを第4ページが保存された領域へ進める。
【0030】
図6は、本実施形態により複数のRIP40で並列にページデータのラスタライズを行った場合と、単一のRIPで各ページデータのラスタライズを順次行った場合の処理時間を比較するタイムチャートである。ここでは、4つのRIP40a〜40dにより、図4に示した割り当てで処理を行った例を示している。
各RIP40a〜40dが同一のページデータに対する処理を行う場合、当然ながら、ラスタ画像を生成するのに要する時間よりも印刷リソースの展開登録のみを実行するのに要する時間の方が短い。したがって、図6を参照すると、RIP40aが第1ページのラスタライズを行っている間に、RIP40bにおいて第1ページの処理が完了し、第2ページのラスタライズが開始される。同様に、RIP40bが第2ページのラスタライズを行っている間に、RIP40cにおいて第1、第2ページの処理が完了し、第3ページのラスタライズが開始される。また、RIP40cが第3ページのラスタライズを行っている間に、RIP40dにおいて第1〜第3ページの処理が完了し、第4ページのラスタライズが開始される。
【0031】
ここで、上述したように、RIP制御部50におけるラスタ画像の管理はページ順を保証する。したがって、図6に示すように、RIP40bによる第2ページのラスタライズがRIP40aによる第1ページのラスタライズよりも先に完了した場合、RIP40bの処理が終了した時点ではラスタライズが完了したとは認識せず、RIP40aの処理が終了した時点で第1、第2ページのラスタライズが完了したと判断する。図6では、RIP40bの処理の終了時刻を破線で示し、他の終了時刻(一点鎖線で表示)と区別している(第6、第7ページの処理についても同様)。
【0032】
一方、単一のRIPで各ページデータのラスタライズを順次行った場合、各ページデータのラスタライズに要する時間が単純に加算されることとなる。そのため、図6に示すように、複数のRIP40により分散処理を行うことにより、第2ページ以降の各ページデータに対するラスタライズの完了までの時間が短縮されることとなる。
【0033】
次に、上述したRIP制御部50による制御の変形例を説明する。
ページ分割部10は、PDLデータをページ単位に分割するためにページの区切りを表す制御コマンドを検出する際、PDLデータに記述された他のコマンドもチェックすることができる。そこで、ページ分割部10が、印刷リソースの変更があるページに対して、その旨を示す識別データ(フラグ等)をページデータに付加する。これにより、RIP制御部50は、各ページデータについて、印刷リソースの変更があるか否かを識別することが可能となる。
【0034】
RIP制御部50は、各RIP40にラスタライズ対象のページデータを割り当てる前に、予め印刷リソースの変更があるページを識別できるため、印刷リソースの変更があるページデータのみを対象として、ラスタライズの実行を割り当てたRIP40以外のRIP40に対して印刷リソースの展開登録を指示することができる。
【0035】
図7は、本変形例により複数のRIP40で並列にページデータのラスタライズを行った場合の各RIP40の動作タイミングを示すタイムチャートである。ここでは、第4ページと第6ページに印刷リソースの変更があるページデータを例とし、4つのRIP40a〜40dにより処理を行った例を示している。
図7を参照すると、印刷リソースの変更がない第1〜第3ページ、第5ページ等に関しては、割り当てられた各RIP40a〜40dへのラスタライズの実行指示のみがなされている。そして、印刷リソースの変更がある第4ページに関しては、RIP40dにラスタライズの実行が割り当てられている他、RIP40a〜40cに対しても印刷リソースの展開登録の実行が指示されている。同様に、第6ページに関しては、RIP40bにラスタライズの実行が割り当てられている他、RIP40a、40c、40dに対しても印刷リソースの展開登録の実行が指示されている。
【0036】
以上のように、ラスタライズを行わないRIP40でも印刷リソースの展開登録を行うページを、印刷リソースの変更があるページのみとすることにより、各RIP40による印刷リソースの展開登録の実行回数が減る。
【0037】
次に、上述したRIP制御部50による制御の他の変形例を説明する。
本変形例では、RIP制御部50は、各ページに関して、印刷リソースの変更を考慮せず、各RIP40に分散させてラスタライズの実行を指示する。そして、各RIP40は、ラスタライズの完了をRIP制御部50に通知すると共に、ラスタライズの過程で印刷リソースを変更した場合には、その情報もRIP制御部50へ送信する。RIP制御部50は、所定のRIP40から印刷リソースの変更に関する情報を受信した場合、その印刷リソースの変更が行われたページ以降のページに対するラスタライズの完了通知は無視する。そして、受信した印刷リソースの変更を他の各RIP40にコピーさせる。その後、印刷リソースの変更が行われたページ以降のページに対して、改めてラスタライズの実行を指示する。
【0038】
図8は、本変形例により複数のRIP40で並列にページデータのラスタライズを行った場合の各RIP40の動作タイミングを示すタイムチャート、図9は、各RIP40a〜40dとRIP制御部50との間の通信の様子を示すタイムチャートである。
図示の例では、RIP40bが第6ページをラスタライズした際に印刷リソースの変更が行われ(図8では黒丸(●)で表示)、第6ページのラスタライズの完了通知と共に印刷リソースの変更通知がRIP40bからRIP制御部50へ送信される(図9では太い矢印で表示)。
【0039】
RIP制御部50は、第6ページで印刷リソースの変更があったので、これ以降の第7、第8ページのラスタライズ完了通知を無視する(図8ではバツ印(×)で表示)。ここで、第7ページについては、第6ページのラスタライズの完了通知以前に通知を受け取っている。しかし、RIP制御部50は、図6を参照して説明したように、ページ順を保証すべく、第6ページについてのラスタライズの完了を待って第7ページについてのラスタライズの完了を認識するため、第7ページに関する通知も無視される。
【0040】
次に、RIP制御部50は、RIP40bにおいて第6ページのラスタライズで行われた印刷リソースの展開登録の内容を他のRIP40a、40c、40dにコピーさせ、その後、RIP40c、40dに第7、第8ページのラスタライズを再度指示する。第9ページ以降については、RIP制御部50が印刷リソースの変更を指示する前にラスタライズの実行を指示していたならば、再度ラスタライズの実行を指示する必要があるが、印刷リソースの変更後であれば、通常通りの動作でラスタライズの実行を指示すれば良い。
【0041】
図10は、本発明の他の実施形態における画像データ生成装置の機能構成を示す図である。
図10に示すように、本実施形態の画像データ生成装置は、処理対象のページ記述言語で記述されたデータをページ単位に分割するページ分割部10と、入力処理部20と、ページごとに分割されたデータを保存する入力イメージ保存部30とを備える。そして、入力イメージ保存部30に保存されたデータからラスタ画像を生成(ラスタライズ)する複数のラスタイメージプロセッサ(RIP)40、41と、RIP40、41の動作を制御するRIP制御部53とを備える。また、この画像データ生成装置は、複数のRIP40により生成されたラスタ画像を保存する出力イメージ保存部60と、このラスタ画像を画像形成装置に出力するためのI/F(インターフェイス)変換部70およびイメージ出力部80とを備える。
【0042】
図10に示す構成において、ページ分割部10、入力処理部20、入力イメージ保存部30、出力イメージ保存部60、I/F変換部70およびイメージ出力部80は、図1に示した対応する構成要素と同様である。そこで、同一の符号を付して説明を省略する。また、図10に示す画像データ生成装置は、図1に示した装置と同様に、例えば図2に示すように構成されたコンピュータにて実現される。
【0043】
図10に示したRIP40は、図1に示したRIP40とほぼ同様である。ただし、本実施形態では、各RIP40は、単一のメインメモリ302における単一の記憶領域に展開登録された印刷リソースを共用してページデータのラスタライズを行う。
RIP41は、全てのページデータにおける印刷リソースの展開登録を実行する。すなわち、印刷リソースは、RIP41によりメインメモリ302の共用領域に登録され、各RIP40の処理において利用されることとなる。
【0044】
RIP制御部53は、図1に示したRIP制御部50と同様に、各RIP40に対してラスタライズを行うページデータの割り当てを行う。ただし、本実施形態では、上述したように印刷リソースの展開登録は、RIP41のみに指示する。したがって、各RIP40に対しては、割り当てたページデータに対するラスタ画像の生成のみを指示することとなる。
【0045】
図11は、本実施形態により複数のRIP40で並列にページデータのラスタライズを行った場合の各RIP40の動作タイミングを示すタイムチャートである。
図11を参照すると、全ての印刷リソースの展開登録が、RIP41により実行されている。そして、RIP40a〜40dでは、割り当てられたページデータのラスタライズのみが行われている。ここで、各ページデータのラスタライズは、RIP41により対応ページの印刷リソースの展開登録が実行されたタイミングで行われている。これは、RIP41により行われた印刷リソースの展開登録の内容を参照してラスタライズを行うためである。
【0046】
図11に示す例では、例えばRIP40aにおいて、第1ページのラスタライズが完了した時点でRIP41による第5ページの印刷リソースの展開登録が行われていないため、直ちに第5ページのラスタライズを開始することができず、待ち時間が生じている。同様に、RIP40b〜40dにおいても、前のページのラスタライズ完了後、次のページのラスタライズ開始までに待ち時間が生じている。ジョブの初期段階では、RIP41による印刷リソースの登録展開が、複数のRIP40による並列的なラスタライズの処理速度に追いつかないために、このような待ち時間が生じてしまう。しかし、上述したように、同一のページに対してラスタライズに要する時間よりも印刷リソースの登録展開に要する時間の方が短いので、ジョブが進むにしたがって、このような待ち時間は短くなる。そして、RIP41による印刷リソースの登録展開が終了してしまえば、その後は各RIP40の処理における待ち時間は発生しなくなる。
【0047】
以上、プリンタ等の画像形成装置とは独立の装置として画像データ生成装置が構成される場合を例として説明したが、上述した画像データ生成装置の機能を画像形成装置内部の制御装置にて実現することも可能である。この場合、制御装置を構成するCPUおよびRAM(Random Access Memory)等のメモリにより、上述したページ分割部10、入力処理部20、入力イメージ保存部30、RIP40、RIP制御部50、出力イメージ保存部60の機能が実現される。また、画像形成装置の内部装置となるため、I/F変換部70およびイメージ出力部80の代わりに、RIP制御部50の制御下で出力イメージ保存部60から生成されたラスタ画像を読み出し、画像形成装置の露光装置へ直接供給する出力制御手段が設けられる。
なお、上記の各実施形態およびその変形例は、単独で用いるだけでなく、各手法を適宜組み合わせて用いることも可能である。
【符号の説明】
【0048】
10…ページ分割部、20…入力処理部、30…入力イメージ保存部、40a〜d、41…ラスタイメージプロセッサ(RIP)、50、53…RIP制御部、51…コマンド送信部、52…レスポンス受信部、60…出力イメージ保存部、70…I/F(インターフェイス)変換部、80…イメージ出力部、300…コンピュータ、301…CPU(Central Processing Unit)、302…メインメモリ、303…磁気ディスク装置、304…通信I/F(インターフェイス)、305…表示機構、306…入力デバイス
【技術分野】
【0001】
本発明は、ページ記述言語(Page-Description Language:PDL)で記述されたデータから画像データを生成する画像データ生成装置および画像形成装置に関する。
【背景技術】
【0002】
画像形成装置に関しては、ページ記述言語で記述されたデータからラスタ画像(データ)を作成する際の展開処理を高速に行うため、種々の従来技術が提案されている。例えば、特許文献1には、ページ記述言語で記述したデータを一旦ページ単位に分割し、複数のCPUで処理する方法が開示されている。また、特許文献2、3には、文書構造解析を行って出力された描画オブジェクト単位の描画情報を、複数の描画処理部で並行処理することで高速化をはかる方法が開示されている。特許文献4には、事前にページ記述言語を解析し並行処理できる単位で分割して並行処理を行う方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3555748号公報
【特許文献2】特開平10−97394号公報
【特許文献3】特開2003−51019号公報
【特許文献4】特許第3589255号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、PostScript等のページ独立でないページ記述言語で記述されたデータからラスタ画像を作成する処理の高速化を目的とする。
【課題を解決するための手段】
【0005】
請求項1に記載の発明は、ページ記述言語で記述されたデータをページ単位に分割するページ分割部と、分割された前記データからラスタデータを作成するとともに、当該ラスタデータを作成する過程で印刷リソースを変更した場合にこれを印刷リソースの変更に関する情報として出力する複数のイメージプロセッサと、個々の前記イメージプロセッサにラスタデータを作成するページを割り当て、所定の前記イメージプロセッサから印刷リソースの変更に関する情報を受け取った場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する制御部と、を備えることを特徴とする画像データ生成装置である。
請求項2に記載の発明は、ページ記述言語で記述されたデータをラスタデータに変換する画像データ生成部と、前記画像データ生成部により生成されたラスタデータに基づき印刷媒体上に画像を形成する画像形成部とを備え、前記画像データ生成部は、ページ記述言語で記述されたデータをページ単位に分割するページ分割部と、分割された前記データからラスタデータを作成するとともに、当該ラスタデータを作成する過程で印刷リソースを変更した場合にこれを印刷リソースの変更に関する情報として出力する複数のイメージプロセッサと、個々の前記イメージプロセッサにラスタデータを作成するページを割り当て、所定の前記イメージプロセッサから印刷リソースの変更に関する情報を受け取った場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する制御部と、を備えることを特徴とする画像形成装置である。
請求項3に記載の発明は、コンピュータに、ページ記述言語で記述されたデータをページ単位に分割する機能と、複数のイメージプロセッサの各々に対してラスタデータを作成するページを割り当てる機能と、所定の前記イメージプロセッサにおいて印刷リソースが変更された場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する機能と、前記複数のイメージプロセッサにより作成された各ページのラスタデータを、ページ順を保証して画像形成装置に送信する機能と、を実現させることを特徴とするプログラムである。
【発明の効果】
【0006】
請求項1の画像データ生成装置によれば、ページ独立でないページ記述言語で記述されたデータであっても、印刷リソースの変更の内容をラスタ画像の作成に確実に反映させ、高速にラスタ画像を作成することができる。
請求項2の画像形成装置によれば、ページ独立でないページ記述言語で記述されたデータであっても、印刷リソースの変更の内容をラスタ画像の作成に確実に反映させ、高速にラスタ画像を作成して画像形成を行うことができる。
請求項3のプログラムによれば、ページ独立でないページ記述言語で記述されたデータであっても、印刷リソースの変更の内容をラスタ画像の作成に確実に反映させ、高速にラスタ画像を作成することができる。
【図面の簡単な説明】
【0007】
【図1】本実施形態による画像データ生成装置の機能構成を示す図である。
【図2】本実施形態の画像データ生成装置を実現するのに好適なコンピュータのハードウェア構成を例示する図である。
【図3】PDLデータをページ単位に分割する手法を説明する図である。
【図4】本実施形態における各RIPに対するページデータの割り当ての様子を例示する図である。
【図5】本実施形態におけるページインデックスによる各ページの管理方法を説明する図である。
【図6】本実施形態により複数のRIPで並列にページデータのラスタライズを行った場合と、単一のRIPで各ページデータのラスタライズを順次行った場合の処理時間を比較するタイムチャートである。
【図7】本実施形態の変形例により複数のRIPで並列にページデータのラスタライズを行った場合の各RIPの動作タイミングを示すタイムチャートである。
【図8】本実施形態の他の変形例により複数のRIPで並列にページデータのラスタライズを行った場合の各RIPの動作タイミングを示すタイムチャートである。
【図9】図8の例における各RIPとRIP制御部との間の通信の様子を示すタイムチャートである。
【図10】本発明の他の実施形態における画像データ生成装置の機能構成を示す図である。
【図11】本実施形態により複数のRIPで並列にページデータのラスタライズを行った場合の各RIPの動作タイミングを示すタイムチャートである。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。
図1は、本実施形態による画像データ生成装置の機能構成を示す図である。
図1に示すように、本実施形態の画像データ生成装置は、処理対象のページ記述言語で記述されたデータをページ単位に分割するページ分割部10と、入力処理部20と、ページごとに分割されたデータを保存する入力イメージ保存部30とを備える。そして、入力イメージ保存部30に保存されたデータからラスタ画像を生成(ラスタライズ)する複数のラスタイメージプロセッサ(RIP)40(40a〜40d)と、RIP40の動作を制御するRIP制御部50とを備える。また、この画像データ生成装置は、複数のRIP40により生成されたラスタ画像を保存する出力イメージ保存部60と、このラスタ画像を画像形成装置に出力するためのI/F(インターフェイス)変換部70およびイメージ出力部80とを備える。なお、図中の太い矢印はデータの流れを、細い矢印は制御指示の流れを示している。
【0009】
図2は、画像データ生成装置を実現するのに好適なコンピュータのハードウェア構成を例示する図である。
図示のように、コンピュータ300は、演算手段であるCPU(Central Processing Unit)301と、記憶手段であるメインメモリ302及び磁気ディスク装置(HDD:Hard Disk Drive)303とを備える。ここで、CPU301は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上記の各機能を実現する。また、メインメモリ302は、各種ソフトウェアやその実行に用いるデータ等を記憶する一次記憶手段であり、磁気ディスク装置303は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する二次記憶手段である。さらにまた、図2に示すコンピュータ300は、外部との通信を行うための通信I/F(インターフェイス)30
4と、ビデオメモリやディスプレイ等からなる表示機構305と、キーボードやマウス等の入力デバイス306とを備える。なお、本実施形態の画像データ生成装置は、上述のように複数のRIP40を備える。詳しくは後述するが、このRIP40は例えば図2に示すコンピュータ300のCPU301にて実現される。したがって、本実施形態の画像データ生成装置として用いられるコンピュータ300には、CPU301および必要であればメインメモリ302が複数個設けられることとなる。
【0010】
図1に示したページ分割部10は、例えば図2に示すコンピュータ300のCPU301にて実現される。このページ分割部10は、処理対象であるページ記述言語で記述されたデータ(以下、PDLデータ)を読み込み、ページ単位のデータ(以下、ページデータ)に分割する。処理対象のPDLデータは、外部装置から受信したり、所定の記憶装置から読み出したりすることで取得する。
【0011】
図3は、PDLデータをページ単位に分割する手法を説明する図である。
図3(A)に示すように、PDLデータは、描画コマンドおよび制御コマンドのリストからなっている。例えば、「TEXT A」は、フォントAを使って文字を描画するコマンドである。また、「DLFONT A」は、フォントAをRIP40にダウンロードし印刷リソースとして展開登録するという指令である。また、「PSTART」「PEND」はページの区切りを表しており、「PSTART」がページの開始を、「PEND」がページの終了を意味する。ページ分割部10は、この制御コマンド「PSTART」「PEND」に基づいてページごとに分割する。
【0012】
図3(A)に示したPDLデータを制御コマンド「PSTART」「PEND」に基づいて分割すると、図3(B)に示すように4ページ分のページデータとなる。このページデータの1ページ目と2ページ目には、印刷リソースを変更する制御コマンド「DLFORM 1」「DLFONT A」が含まれている。「DLFORM 1」は、フォーム1をRIP40にダウンロードし印刷リソースとして展開登録するという指令であり、「DLFONT A」は、上述したようにフォントAをダウンロードし登録する指令である。
【0013】
ここで、3ページ目と4ページ目のページデータを参照すると、3ページ目では、2ページ目で登録したフォントAを使用している。したがって、2ページ目のフォントAのダウンロードおよび登録を行ってからでないと3ページ目のイメージを作成することができない。同様に、4ページ目では、1ページ目で登録したフォーム1を使用している。したがって、1ページ目のフォーム1のダウンロードおよび登録を行ってからでないと4ページ目のイメージを作成することができない。
【0014】
PDLデータの多くは、図3に示すように、所定のページで行った印刷リソースの変更を他のページでも利用する(ページ独立でない)構成となっている。そのため、ページ単位で分割したページデータをそのまま複数のRIP40で並列にラスタライズすることはできない。そこで、各ページデータの分散処理を実現するためには、所定のページで行った印刷リソースの変更を、そのページのラスタライズを行っていないRIP40にも伝達することが必要となる。本実施形態では、後述のRIP制御部50の制御により、この情報の交換を実現している。
【0015】
入力処理部20は、例えば図2に示すコンピュータ300のCPU301にて実現され、ページ分割部10により分割されたページデータを順次入力イメージ保存部30に格納する。また、ページデータを入力イメージ保存部30に格納したことをRIP制御部50に通知する。
入力イメージ保存部30は、例えば図2に示すコンピュータ300のメインメモリ302や磁気ディスク装置303にて実現され、入力処理部20から送られたページデータを保存する。
【0016】
RIP40は、例えば図2に示すコンピュータ300のCPU301およびメインメモリ302にて実現され、RIP制御部50の制御にしたがって、入力イメージ保存部30から割り当てられたページのページデータを読み込み、ラスタ画像を生成する。また、上述したように、本実施形態の画像データ生成装置は複数のRIP40を備えており、個々のRIP40が各々別個のCPU301にて実現される。また、印刷リソースを登録する展開領域として用いられるメインメモリ302は、RIP40と共に複数設けることもできるし、単一のメインメモリ302に各RIP40が使用する領域を設定することもできる。
【0017】
RIP制御部50は、例えば図2に示すコンピュータ300のCPU301およびメインメモリ302にて実現され、各RIP40に対して、ページデータのラスタライズおよび印刷リソースの展開登録を指示する。図1に示すように、RIP制御部50は、各RIP40に対して指示コマンドを送信するコマンド送信部51と、各RIP40からの応答を受け付けるレスポンス受信部52とを備える。そして、レスポンス受信部52にて受け付けた各RIP40からの応答に基づき、個々のRIP40における処理の待ち時間が少なくなるように、各RIP40へのページデータの割り当てを動的に行う。RIP制御部50による具体的な制御内容については後述する。
【0018】
出力イメージ保存部60は、例えば図2に示すコンピュータ300のメインメモリ302や磁気ディスク装置303にて実現され、RIP40により生成されたラスタ画像を保存する。
I/F変換部70は、例えば図2に示すコンピュータ300のCPU301にて実現され、RIP制御部50の制御により出力イメージ保存部60から保存されているラスタ画像を読み出し、データ形式をプリンタ等の画像形成装置が扱える形式に変換する。
イメージ出力部80は、例えば図2に示すコンピュータ300の通信I/F304にて実現され、I/F変換部70により変換されたデータを画像形成装置へ送信する。
【0019】
次に、RIP制御部50による制御について詳細に説明する。
図4は、各RIP40に対するページデータの割り当ての様子を例示する図である。なお、ここでは、RIP40aからRIP40dの4つのRIP40でページデータを分散処理するものとする。
【0020】
RIP制御部50は、入力処理部20からの通知に基づき、RIP40a〜40dに対してコマンド送信部51から各ページデータに対する操作の指示コマンドを送る。このとき、RIP制御部50は、個々のページデータに関して、1つのRIP40に対してはラスタライズの実行を指示する(図4において丸印(○)が付されたページデータ)。そして、他のRIP40に対しては印刷リソースの展開登録のみを実行させる指示を行う(図4において三角印(△)が付されたページデータ)。ラスタライズを実行するページの割り当ては、少なくとも初期的には数ページ単位で行うことが好ましい。これは、各RIP40が1ページ分のラスタライズが完了するたびにRIP制御部50が次のページデータの割り当てを行い、RIP40が割り当てられたページデータを読み出していたのでは効率が悪いためである。各RIP40が数ページ分のページデータを先読みして連続的にラスタライズを実行することにより、実行効率を向上させることができる。
【0021】
図4に示す例では、ラスタライズの対象となるページデータが各RIP40に2ページ分ずつ割り当てられている。具体的には、第1ページ(P1)および第5ページ(P5)のラスタライズがRIP40aに、第2ページ(P2)および第6ページ(P6)のラスタライズがRIP40bに、第3ページ(P3)および第7ページ(P7)のラスタライズがRIP40cに、第4ページ(P4)および第8ページ(P8)のラスタライズがRIP40dに、それぞれ割り当てられている(第9ページ(P9)については後述する)。したがって、各ページとも、他のRIP40(例えば第1、第5ページならばRIP40b〜40d)には、印刷リソースの展開登録のみが指示されている。
【0022】
ここで、図3(B)に示したページデータを例として各RIP40a〜40dの動作を考えると、第1ページに関して、RIP40aは、ラスタライズの実行が指示されているので、第1ページのラスタ画像を生成する。この際、当然にフォーム1のダウンロードおよび登録を行う。RIP40b〜40dは、印刷リソースの展開登録のみが指示されているので、ラスタ画像は生成しないが、フォーム1のダウンロードおよび登録は行う。これにより、RIP40a〜40dの全てでフォーム1は展開登録された。したがって、フォーム1が使用される第4ページをラスタライズするRIP40dにおいても、何ら問題なくフォーム1を用いたラスタ画像の生成が行われることとなる。
【0023】
同様に、第2ページに関して、RIP40bは、ラスタライズの実行が指示されているので、第2ページのラスタ画像を生成し、フォントAのダウンロードおよび登録を行う。RIP40a、40c、40dは、印刷リソースの展開登録のみが指示されているので、ラスタ画像は生成しないが、フォントAのダウンロードおよび登録は行う。これにより、RIP40a〜40dの全てでフォントAは展開登録された。したがって、フォントAが使用される第3ページをラスタライズするRIP40cにおいても、何ら問題なくフォントAを用いたラスタ画像の生成が行われることとなる。
【0024】
各RIP40a〜40dは、上記のように自身に割り当てられたページデータのラスタ画像を生成し、出力イメージ保存部60に格納すると共に、ラスタライズが終了したことをRIP制御部50に通知する。RIP制御部50のレスポンス受信部52がこの通知を受信すると、RIP制御部50は、第9ページ以降のページデータの割り当てを行う。各ページデータは、その内容に応じてラスタライズに要する時間が異なる。したがって、複数のRIP40で各ページデータを分散処理した場合、元のPDLデータのページ順にラスタライズが完了するとは限らない。図4の例では、第3ページ、第2ページ、第1ページ、第5ページの順でラスタライズ完了の通知がレスポンス受信部52に送られている。そこで、RIP制御部50は、各RIP40a〜40dにおける処理時間の違いを平準化するため、ラスタライズの処理待ちのページ数が各RIP40a〜40dで等しくなるように第9ページ以降のラスタライズの割り当てを行う。図4に示す例では、最初に1ページ分のページデータ(第3ページ)のラスタライズが完了したRIP40cに、次の第9ページのラスタライズを割り当てている。この後は、1ページごとに同様に割り当てても良いし、初期設定と同様に2ページ単位で割り当てることも可能である。前者の場合、第10ページは、2番目に1ページ分のページデータ(第2ページ)のラスタライズが完了したRIP40bに割り当てられる。後者の場合、第10ページ(P10)も第9ページと同様にRIP40cに割り当てられる。
【0025】
また、RIP制御部50は、各ページデータのラスタライズを、出力イメージ保存部60において各ページのラスタ画像が格納される記憶領域へのポインタであるページインデックスで管理する。ページインデックスの属性としては、少なくとも、次にラスタライズを指示する(ラスタ画像の生成を割り当てる)ページデータを指す次作成ページと、次に画像形成装置へ送出するラスタ画像を指す次送信ページとがある。
図5は、ページインデックスによる各ページの管理方法を説明する図である。同図において、第2ページおよび第3ページは既にラスタライズが完了しており、割り当てられたRIP40(図4の例ではRIP40b、40c)により、該当する記憶領域へラスタ画像が書き込まれている(図5ではグレーで示されている)。
【0026】
RIP制御部50は、出力イメージ保存部60の記憶領域を調べ、次作成ページのページインデックスで指定されたアドレスにページデータのページ属性で特定されるサイズ以上の未使用の領域があれば、そのバッファオフセットをRIP40へ送る指示コマンドにセットし、使用サイズ分だけ、次作成ページの指示ポイントを進める。このように、ページ順に領域を指示していくことにより、出力イメージ保存部60であるメインメモリ302等の連続した領域にラスタライズされたイメージが作成されていくことになる。
【0027】
ページインデックスの次作成ページで指定された領域が使用中(ラスタライズされた他の(前の)ページが保存されており、未だ印刷されていない状態)であれば、その領域をラスタ画像の保存に使用することができないため、RIP40への指示コマンドの送信は待ちになる。通常、使用中の領域に保存されたラスタ画像が印字され、画像形成装置での最終的な出力が確認できたタイミングで、当該使用中の領域は解放される。そこで、現在の空き領域と解放された領域を加えた使用可能な領域が、ページ属性で要求されるサイズの領域より大きければ、RIP制御部50は、待ち状態の指示コマンドを割り当てたRIP40へ送る。
【0028】
また、RIP制御部50は、ラスタライズが完了したページの情報をI/F変換部70に通知する。I/F変換部70は、この通知に基づき、ラスタライズが完了したページのラスタ画像を出力イメージ保存部60から読み出し、データ形式を変換して画像形成装置へ出力する。このとき、RIP制御部50からI/F変換部70への通知は、ラスタライズの完了順にしたがって行われるのではなく、ページ順を保証する。図5に示した例では、第2ページおよび第3ページのラスタライズは完了しているが、第1ページのラスタライズは完了していない。したがって、次送信ページのページインデックスは第1ページが保存される領域を指したままであり、RIP制御部50は、第1ページのみならず第2、第3ページについてもI/F変換部70への通知を行わない。
【0029】
この後、第1ページのラスタライズが完了してRIP40からRIP制御部50のレスポンス受信部52に通知されると、RIP制御部50は、第1、第2、第3ページについてラスタライズが完了したことを、順次、I/F変換部70に通知する。そして、I/F変換部70が、第1、第2、第3ページを順次読み出して処理する。一方、RIP制御部50は、第1、第2、第3ページのラスタ画像が読み出され、画像形成装置により出力された後、出力イメージ保存部60における同ページのラスタ画像が保存されていた領域を開放し、次送信ページの指示ポイントを第4ページが保存された領域へ進める。
【0030】
図6は、本実施形態により複数のRIP40で並列にページデータのラスタライズを行った場合と、単一のRIPで各ページデータのラスタライズを順次行った場合の処理時間を比較するタイムチャートである。ここでは、4つのRIP40a〜40dにより、図4に示した割り当てで処理を行った例を示している。
各RIP40a〜40dが同一のページデータに対する処理を行う場合、当然ながら、ラスタ画像を生成するのに要する時間よりも印刷リソースの展開登録のみを実行するのに要する時間の方が短い。したがって、図6を参照すると、RIP40aが第1ページのラスタライズを行っている間に、RIP40bにおいて第1ページの処理が完了し、第2ページのラスタライズが開始される。同様に、RIP40bが第2ページのラスタライズを行っている間に、RIP40cにおいて第1、第2ページの処理が完了し、第3ページのラスタライズが開始される。また、RIP40cが第3ページのラスタライズを行っている間に、RIP40dにおいて第1〜第3ページの処理が完了し、第4ページのラスタライズが開始される。
【0031】
ここで、上述したように、RIP制御部50におけるラスタ画像の管理はページ順を保証する。したがって、図6に示すように、RIP40bによる第2ページのラスタライズがRIP40aによる第1ページのラスタライズよりも先に完了した場合、RIP40bの処理が終了した時点ではラスタライズが完了したとは認識せず、RIP40aの処理が終了した時点で第1、第2ページのラスタライズが完了したと判断する。図6では、RIP40bの処理の終了時刻を破線で示し、他の終了時刻(一点鎖線で表示)と区別している(第6、第7ページの処理についても同様)。
【0032】
一方、単一のRIPで各ページデータのラスタライズを順次行った場合、各ページデータのラスタライズに要する時間が単純に加算されることとなる。そのため、図6に示すように、複数のRIP40により分散処理を行うことにより、第2ページ以降の各ページデータに対するラスタライズの完了までの時間が短縮されることとなる。
【0033】
次に、上述したRIP制御部50による制御の変形例を説明する。
ページ分割部10は、PDLデータをページ単位に分割するためにページの区切りを表す制御コマンドを検出する際、PDLデータに記述された他のコマンドもチェックすることができる。そこで、ページ分割部10が、印刷リソースの変更があるページに対して、その旨を示す識別データ(フラグ等)をページデータに付加する。これにより、RIP制御部50は、各ページデータについて、印刷リソースの変更があるか否かを識別することが可能となる。
【0034】
RIP制御部50は、各RIP40にラスタライズ対象のページデータを割り当てる前に、予め印刷リソースの変更があるページを識別できるため、印刷リソースの変更があるページデータのみを対象として、ラスタライズの実行を割り当てたRIP40以外のRIP40に対して印刷リソースの展開登録を指示することができる。
【0035】
図7は、本変形例により複数のRIP40で並列にページデータのラスタライズを行った場合の各RIP40の動作タイミングを示すタイムチャートである。ここでは、第4ページと第6ページに印刷リソースの変更があるページデータを例とし、4つのRIP40a〜40dにより処理を行った例を示している。
図7を参照すると、印刷リソースの変更がない第1〜第3ページ、第5ページ等に関しては、割り当てられた各RIP40a〜40dへのラスタライズの実行指示のみがなされている。そして、印刷リソースの変更がある第4ページに関しては、RIP40dにラスタライズの実行が割り当てられている他、RIP40a〜40cに対しても印刷リソースの展開登録の実行が指示されている。同様に、第6ページに関しては、RIP40bにラスタライズの実行が割り当てられている他、RIP40a、40c、40dに対しても印刷リソースの展開登録の実行が指示されている。
【0036】
以上のように、ラスタライズを行わないRIP40でも印刷リソースの展開登録を行うページを、印刷リソースの変更があるページのみとすることにより、各RIP40による印刷リソースの展開登録の実行回数が減る。
【0037】
次に、上述したRIP制御部50による制御の他の変形例を説明する。
本変形例では、RIP制御部50は、各ページに関して、印刷リソースの変更を考慮せず、各RIP40に分散させてラスタライズの実行を指示する。そして、各RIP40は、ラスタライズの完了をRIP制御部50に通知すると共に、ラスタライズの過程で印刷リソースを変更した場合には、その情報もRIP制御部50へ送信する。RIP制御部50は、所定のRIP40から印刷リソースの変更に関する情報を受信した場合、その印刷リソースの変更が行われたページ以降のページに対するラスタライズの完了通知は無視する。そして、受信した印刷リソースの変更を他の各RIP40にコピーさせる。その後、印刷リソースの変更が行われたページ以降のページに対して、改めてラスタライズの実行を指示する。
【0038】
図8は、本変形例により複数のRIP40で並列にページデータのラスタライズを行った場合の各RIP40の動作タイミングを示すタイムチャート、図9は、各RIP40a〜40dとRIP制御部50との間の通信の様子を示すタイムチャートである。
図示の例では、RIP40bが第6ページをラスタライズした際に印刷リソースの変更が行われ(図8では黒丸(●)で表示)、第6ページのラスタライズの完了通知と共に印刷リソースの変更通知がRIP40bからRIP制御部50へ送信される(図9では太い矢印で表示)。
【0039】
RIP制御部50は、第6ページで印刷リソースの変更があったので、これ以降の第7、第8ページのラスタライズ完了通知を無視する(図8ではバツ印(×)で表示)。ここで、第7ページについては、第6ページのラスタライズの完了通知以前に通知を受け取っている。しかし、RIP制御部50は、図6を参照して説明したように、ページ順を保証すべく、第6ページについてのラスタライズの完了を待って第7ページについてのラスタライズの完了を認識するため、第7ページに関する通知も無視される。
【0040】
次に、RIP制御部50は、RIP40bにおいて第6ページのラスタライズで行われた印刷リソースの展開登録の内容を他のRIP40a、40c、40dにコピーさせ、その後、RIP40c、40dに第7、第8ページのラスタライズを再度指示する。第9ページ以降については、RIP制御部50が印刷リソースの変更を指示する前にラスタライズの実行を指示していたならば、再度ラスタライズの実行を指示する必要があるが、印刷リソースの変更後であれば、通常通りの動作でラスタライズの実行を指示すれば良い。
【0041】
図10は、本発明の他の実施形態における画像データ生成装置の機能構成を示す図である。
図10に示すように、本実施形態の画像データ生成装置は、処理対象のページ記述言語で記述されたデータをページ単位に分割するページ分割部10と、入力処理部20と、ページごとに分割されたデータを保存する入力イメージ保存部30とを備える。そして、入力イメージ保存部30に保存されたデータからラスタ画像を生成(ラスタライズ)する複数のラスタイメージプロセッサ(RIP)40、41と、RIP40、41の動作を制御するRIP制御部53とを備える。また、この画像データ生成装置は、複数のRIP40により生成されたラスタ画像を保存する出力イメージ保存部60と、このラスタ画像を画像形成装置に出力するためのI/F(インターフェイス)変換部70およびイメージ出力部80とを備える。
【0042】
図10に示す構成において、ページ分割部10、入力処理部20、入力イメージ保存部30、出力イメージ保存部60、I/F変換部70およびイメージ出力部80は、図1に示した対応する構成要素と同様である。そこで、同一の符号を付して説明を省略する。また、図10に示す画像データ生成装置は、図1に示した装置と同様に、例えば図2に示すように構成されたコンピュータにて実現される。
【0043】
図10に示したRIP40は、図1に示したRIP40とほぼ同様である。ただし、本実施形態では、各RIP40は、単一のメインメモリ302における単一の記憶領域に展開登録された印刷リソースを共用してページデータのラスタライズを行う。
RIP41は、全てのページデータにおける印刷リソースの展開登録を実行する。すなわち、印刷リソースは、RIP41によりメインメモリ302の共用領域に登録され、各RIP40の処理において利用されることとなる。
【0044】
RIP制御部53は、図1に示したRIP制御部50と同様に、各RIP40に対してラスタライズを行うページデータの割り当てを行う。ただし、本実施形態では、上述したように印刷リソースの展開登録は、RIP41のみに指示する。したがって、各RIP40に対しては、割り当てたページデータに対するラスタ画像の生成のみを指示することとなる。
【0045】
図11は、本実施形態により複数のRIP40で並列にページデータのラスタライズを行った場合の各RIP40の動作タイミングを示すタイムチャートである。
図11を参照すると、全ての印刷リソースの展開登録が、RIP41により実行されている。そして、RIP40a〜40dでは、割り当てられたページデータのラスタライズのみが行われている。ここで、各ページデータのラスタライズは、RIP41により対応ページの印刷リソースの展開登録が実行されたタイミングで行われている。これは、RIP41により行われた印刷リソースの展開登録の内容を参照してラスタライズを行うためである。
【0046】
図11に示す例では、例えばRIP40aにおいて、第1ページのラスタライズが完了した時点でRIP41による第5ページの印刷リソースの展開登録が行われていないため、直ちに第5ページのラスタライズを開始することができず、待ち時間が生じている。同様に、RIP40b〜40dにおいても、前のページのラスタライズ完了後、次のページのラスタライズ開始までに待ち時間が生じている。ジョブの初期段階では、RIP41による印刷リソースの登録展開が、複数のRIP40による並列的なラスタライズの処理速度に追いつかないために、このような待ち時間が生じてしまう。しかし、上述したように、同一のページに対してラスタライズに要する時間よりも印刷リソースの登録展開に要する時間の方が短いので、ジョブが進むにしたがって、このような待ち時間は短くなる。そして、RIP41による印刷リソースの登録展開が終了してしまえば、その後は各RIP40の処理における待ち時間は発生しなくなる。
【0047】
以上、プリンタ等の画像形成装置とは独立の装置として画像データ生成装置が構成される場合を例として説明したが、上述した画像データ生成装置の機能を画像形成装置内部の制御装置にて実現することも可能である。この場合、制御装置を構成するCPUおよびRAM(Random Access Memory)等のメモリにより、上述したページ分割部10、入力処理部20、入力イメージ保存部30、RIP40、RIP制御部50、出力イメージ保存部60の機能が実現される。また、画像形成装置の内部装置となるため、I/F変換部70およびイメージ出力部80の代わりに、RIP制御部50の制御下で出力イメージ保存部60から生成されたラスタ画像を読み出し、画像形成装置の露光装置へ直接供給する出力制御手段が設けられる。
なお、上記の各実施形態およびその変形例は、単独で用いるだけでなく、各手法を適宜組み合わせて用いることも可能である。
【符号の説明】
【0048】
10…ページ分割部、20…入力処理部、30…入力イメージ保存部、40a〜d、41…ラスタイメージプロセッサ(RIP)、50、53…RIP制御部、51…コマンド送信部、52…レスポンス受信部、60…出力イメージ保存部、70…I/F(インターフェイス)変換部、80…イメージ出力部、300…コンピュータ、301…CPU(Central Processing Unit)、302…メインメモリ、303…磁気ディスク装置、304…通信I/F(インターフェイス)、305…表示機構、306…入力デバイス
【特許請求の範囲】
【請求項1】
ページ記述言語で記述されたデータをページ単位に分割するページ分割部と、
分割された前記データからラスタデータを作成するとともに、当該ラスタデータを作成する過程で印刷リソースを変更した場合にこれを印刷リソースの変更に関する情報として出力する複数のイメージプロセッサと、
個々の前記イメージプロセッサにラスタデータを作成するページを割り当て、所定の前記イメージプロセッサから印刷リソースの変更に関する情報を受け取った場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する制御部と、
を備えることを特徴とする画像データ生成装置。
【請求項2】
ページ記述言語で記述されたデータをラスタデータに変換する画像データ生成部と、
前記画像データ生成部により生成されたラスタデータに基づき印刷媒体上に画像を形成する画像形成部とを備え、
前記画像データ生成部は、
ページ記述言語で記述されたデータをページ単位に分割するページ分割部と、
分割された前記データからラスタデータを作成するとともに、当該ラスタデータを作成する過程で印刷リソースを変更した場合にこれを印刷リソースの変更に関する情報として出力する複数のイメージプロセッサと、
個々の前記イメージプロセッサにラスタデータを作成するページを割り当て、所定の前記イメージプロセッサから印刷リソースの変更に関する情報を受け取った場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する制御部と、
を備えることを特徴とする画像形成装置。
【請求項3】
コンピュータに、
ページ記述言語で記述されたデータをページ単位に分割する機能と、
複数のイメージプロセッサの各々に対してラスタデータを作成するページを割り当てる機能と、
所定の前記イメージプロセッサにおいて印刷リソースが変更された場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する機能と、
前記複数のイメージプロセッサにより作成された各ページのラスタデータを、ページ順を保証して画像形成装置に送信する機能と、
を実現させることを特徴とするプログラム。
【請求項1】
ページ記述言語で記述されたデータをページ単位に分割するページ分割部と、
分割された前記データからラスタデータを作成するとともに、当該ラスタデータを作成する過程で印刷リソースを変更した場合にこれを印刷リソースの変更に関する情報として出力する複数のイメージプロセッサと、
個々の前記イメージプロセッサにラスタデータを作成するページを割り当て、所定の前記イメージプロセッサから印刷リソースの変更に関する情報を受け取った場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する制御部と、
を備えることを特徴とする画像データ生成装置。
【請求項2】
ページ記述言語で記述されたデータをラスタデータに変換する画像データ生成部と、
前記画像データ生成部により生成されたラスタデータに基づき印刷媒体上に画像を形成する画像形成部とを備え、
前記画像データ生成部は、
ページ記述言語で記述されたデータをページ単位に分割するページ分割部と、
分割された前記データからラスタデータを作成するとともに、当該ラスタデータを作成する過程で印刷リソースを変更した場合にこれを印刷リソースの変更に関する情報として出力する複数のイメージプロセッサと、
個々の前記イメージプロセッサにラスタデータを作成するページを割り当て、所定の前記イメージプロセッサから印刷リソースの変更に関する情報を受け取った場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する制御部と、
を備えることを特徴とする画像形成装置。
【請求項3】
コンピュータに、
ページ記述言語で記述されたデータをページ単位に分割する機能と、
複数のイメージプロセッサの各々に対してラスタデータを作成するページを割り当てる機能と、
所定の前記イメージプロセッサにおいて印刷リソースが変更された場合に、当該所定のイメージプロセッサのメモリにおける印刷リソースの展開領域の内容を他の前記イメージプロセッサのメモリにおける印刷リソースの展開領域にコピーし、かつ当該印刷リソースの変更が行われたページ以降のページに関して、各イメージプロセッサに改めてラスタデータの作成を指示する機能と、
前記複数のイメージプロセッサにより作成された各ページのラスタデータを、ページ順を保証して画像形成装置に送信する機能と、
を実現させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−96280(P2011−96280A)
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願番号】特願2011−10720(P2011−10720)
【出願日】平成23年1月21日(2011.1.21)
【分割の表示】特願2006−183397(P2006−183397)の分割
【原出願日】平成18年7月3日(2006.7.3)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願日】平成23年1月21日(2011.1.21)
【分割の表示】特願2006−183397(P2006−183397)の分割
【原出願日】平成18年7月3日(2006.7.3)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]