(57)【特許請求の範囲】
【請求項１】
ページ独立でないページ記述言語で記述されたデータを取得し、当該データにおける割り当てられたページについての画像データを作成する複数の第１作成部と、
前記データを取得し、当該データの全てのページにおける印刷リソースの展開登録を実行する第２作成部と、を備え、
個々の前記第１作成部は、前記第２作成部により展開登録された印刷リソースに基づいて、割り当てられたページの画像データの作成を実行すること、を特徴とする画像データ生成装置。
【請求項２】
個々の前記第１作成部に画像データを作成するページを割り当てる制御部をさらに備え、
前記制御部は、前記第１作成部に対し、割り当てたページの画像データの作成を指示し、印刷リソースの展開登録の実行を指示しないことを特徴とする請求項１に記載の画像データ生成装置。
【請求項３】
個々の前記第１作成部は、自身に割り当てられたページの印刷リソースの展開登録が前記第２作成部により実行されたタイミングで、当該ページの画像データの作成を実行することを特徴とする請求項１または請求項２に記載の画像データ生成装置。
【請求項４】
前記ページ独立でないページ記述言語は、PostScriptであることを特徴とする請求項１乃至請求項３のいずれか１つに記載の画像データ生成装置。
【請求項５】
ページ独立でないページ記述言語で記述されたデータを画像データに変換する画像データ生成部と、
前記画像データ生成部により生成された画像データに基づき印刷媒体上に画像を形成する画像形成部とを備え、
前記画像データ生成部は、
前記ページ記述言語で記述されたデータを取得し、当該データにおける割り当てられたページについての画像データを作成する複数の第１作成部と、
前記データを取得し、当該データの全てのページにおける印刷リソースの展開登録を実行する第２作成部と、を備え、
個々の前記第１作成部は、前記第２作成部により展開登録された印刷リソースに基づいて、割り当てられたページの画像データの作成を実行すること、を特徴とする画像形成装置。
【請求項６】
コンピュータに、
複数の第１作成部の各々に対し、ページ独立でないページ記述言語で記述されたデータのうちの画像データを作成するページを割り当てる機能と、
第２作成部に対し、前記データの全てのページにおける印刷リソースの展開登録を実行させる機能と、
個々の前記第１作成部に対し、前記第２作成部により展開登録された印刷リソースに基づいて、割り当てたページの画像データの作成を実行させる機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ記述言語（Page-Description Language：ＰＤＬ）で記述されたデータから画像データを生成する画像データ生成装置および画像形成装置に関する。
【背景技術】
【０００２】
画像形成装置に関しては、ページ記述言語で記述されたデータからラスタ画像（データ）を作成する際の展開処理を高速に行うため、種々の従来技術が提案されている。例えば、特許文献１には、ページ記述言語で記述したデータを一旦ページ単位に分割し、複数のＣＰＵで処理する方法が開示されている。また、特許文献２、３には、文書構造解析を行って出力された描画オブジェクト単位の描画情報を、複数の描画処理部で並行処理することで高速化をはかる方法が開示されている。特許文献４には、事前にページ記述言語を解析し並行処理できる単位で分割して並行処理を行う方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３５５５７４８号公報
【特許文献２】特開平１０−９７３９４号公報
【特許文献３】特開２００３−５１０１９号公報
【特許文献４】特許第３５８９２５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、PostScript等のページ独立でないページ記述言語で記述されたデータからラスタ画像を作成する処理の高速化を目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、ページ独立でないページ記述言語で記述されたデータを取得し、当該データにおける割り当てられたページについての画像データを作成する複数の第１作成部と、前記データを取得し、当該データの全てのページにおける印刷リソースの展開登録を実行する第２作成部と、を備え、個々の前記第１作成部は、前記第２作成部により展開登録された印刷リソースに基づいて、割り当てられたページの画像データの作成を実行すること、を特徴とする画像データ生成装置である。
請求項２に記載の発明は、個々の前記第１作成部に画像データを作成するページを割り当てる制御部をさらに備え、前記制御部は、前記第１作成部に対し、割り当てたページの画像データの作成を指示し、印刷リソースの展開登録の実行を指示しないことを特徴とする請求項１に記載の画像データ生成装置である。
請求項３に記載の発明は、個々の前記第１作成部は、自身に割り当てられたページの印刷リソースの展開登録が前記第２作成部により実行されたタイミングで、当該ページの画像データの作成を実行することを特徴とする請求項１または請求項２に記載の画像データ生成装置である。
請求項４に記載の発明は、前記ページ独立でないページ記述言語は、PostScriptであることを特徴とする請求項１乃至請求項３のいずれか１つに記載の画像データ生成装置である。
請求項５に記載の発明は、ページ独立でないページ記述言語で記述されたデータを画像データに変換する画像データ生成部と、前記画像データ生成部により生成された画像データに基づき印刷媒体上に画像を形成する画像形成部とを備え、前記画像データ生成部は、前記ページ記述言語で記述されたデータを取得し、当該データにおける割り当てられたページについての画像データを作成する複数の第１作成部と、前記データを取得し、当該データの全てのページにおける印刷リソースの展開登録を実行する第２作成部と、を備え、個々の前記第１作成部は、前記第２作成部により展開登録された印刷リソースに基づいて、割り当てられたページの画像データの作成を実行すること、を特徴とする画像形成装置である。
請求項６に記載の発明は、コンピュータに、複数の第１作成部の各々に対し、ページ独立でないページ記述言語で記述されたデータのうちの画像データを作成するページを割り当てる機能と、第２作成部に対し、前記データの全てのページにおける印刷リソースの展開登録を実行させる機能と、個々の前記第１作成部に対し、前記第２作成部により展開登録された印刷リソースに基づいて、割り当てたページの画像データの作成を実行させる機能と、を実現させることを特徴とするプログラムである。
【発明の効果】
【０００６】
請求項１の画像データ生成装置によれば、ページ独立でないページ記述言語で記述されたデータであっても、印刷リソースの変更の内容をラスタ画像の作成に確実に反映させ、高速にラスタ画像を作成することができる。
請求項２の画像データ生成装置によれば、第１のイメージプロセッサの処理において、印刷リソースの展開登録の実行に要する時間を排除することができる。
請求項３の画像データ生成装置によれば、個々のページのラスタ画像の作成において、そのページの印刷リソースを確実に反映させることができる。
請求項４の画像形成装置によれば、ページ独立でないページ記述言語で記述されたデータであっても、印刷リソースの変更の内容をラスタ画像の作成に確実に反映させ、高速にラスタ画像を作成して画像形成を行うことができる。
請求項５のプログラムによれば、ページ独立でないページ記述言語で記述されたデータであっても、印刷リソースの変更の内容をラスタ画像の作成に確実に反映させ、高速にラスタ画像を作成することができる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態による画像データ生成装置の機能構成を示す図である。
【図２】本実施形態の画像データ生成装置を実現するのに好適なコンピュータのハードウェア構成を例示する図である。
【図３】ＰＤＬデータをページ単位に分割する手法を説明する図である。
【図４】本実施形態における各ＲＩＰに対するページデータの割り当ての様子を例示する図である。
【図５】本実施形態におけるページインデックスによる各ページの管理方法を説明する図である。
【図６】本実施形態により複数のＲＩＰで並列にページデータのラスタライズを行った場合と、単一のＲＩＰで各ページデータのラスタライズを順次行った場合の処理時間を比較するタイムチャートである。
【図７】本実施形態の変形例により複数のＲＩＰで並列にページデータのラスタライズを行った場合の各ＲＩＰの動作タイミングを示すタイムチャートである。
【図８】本実施形態の他の変形例により複数のＲＩＰで並列にページデータのラスタライズを行った場合の各ＲＩＰの動作タイミングを示すタイムチャートである。
【図９】図８の例における各ＲＩＰとＲＩＰ制御部との間の通信の様子を示すタイムチャートである。
【図１０】本発明の他の実施形態における画像データ生成装置の機能構成を示す図である。
【図１１】本実施形態により複数のＲＩＰで並列にページデータのラスタライズを行った場合の各ＲＩＰの動作タイミングを示すタイムチャートである。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明を実施するための最良の形態（以下、実施形態）について詳細に説明する。
図１は、本実施形態による画像データ生成装置の機能構成を示す図である。
図１に示すように、本実施形態の画像データ生成装置は、処理対象のページ記述言語で記述されたデータをページ単位に分割するページ分割部１０と、入力処理部２０と、ページごとに分割されたデータを保存する入力イメージ保存部３０とを備える。そして、入力イメージ保存部３０に保存されたデータからラスタ画像を生成（ラスタライズ）する複数のラスタイメージプロセッサ（ＲＩＰ）４０（４０ａ〜４０ｄ）と、ＲＩＰ４０の動作を制御するＲＩＰ制御部５０とを備える。また、この画像データ生成装置は、複数のＲＩＰ４０により生成されたラスタ画像を保存する出力イメージ保存部６０と、このラスタ画像を画像形成装置に出力するためのＩ／Ｆ（インターフェイス）変換部７０およびイメージ出力部８０とを備える。なお、図中の太い矢印はデータの流れを、細い矢印は制御指示の流れを示している。
【０００９】
図２は、画像データ生成装置を実現するのに好適なコンピュータのハードウェア構成を例示する図である。
図示のように、コンピュータ３００は、演算手段であるＣＰＵ（Central Processing Unit）３０１と、記憶手段であるメインメモリ３０２及び磁気ディスク装置（ＨＤＤ：Hard Disk Drive）３０３とを備える。ここで、ＣＰＵ３０１は、ＯＳ（Operating System）やアプリケーション等の各種ソフトウェアを実行し、上記の各機能を実現する。また、メインメモリ３０２は、各種ソフトウェアやその実行に用いるデータ等を記憶する一次記憶手段であり、磁気ディスク装置３０３は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する二次記憶手段である。さらにまた、図２に示すコンピュータ３００は、外部との通信を行うための通信Ｉ/Ｆ（インターフェイス）３０４と、ビデオメモリやディスプレイ等からなる表示機構３０５と、キーボードやマウス等の入力デバイス３０６とを備える。なお、本実施形態の画像データ生成装置は、上述のように複数のＲＩＰ４０を備える。詳しくは後述するが、このＲＩＰ４０は例えば図２に示すコンピュータ３００のＣＰＵ３０１にて実現される。したがって、本実施形態の画像データ生成装置として用いられるコンピュータ３００には、ＣＰＵ３０１および必要であればメインメモリ３０２が複数個設けられることとなる。
【００１０】
図１に示したページ分割部１０は、例えば図２に示すコンピュータ３００のＣＰＵ３０１にて実現される。このページ分割部１０は、処理対象であるページ記述言語で記述されたデータ（以下、ＰＤＬデータ）を読み込み、ページ単位のデータ（以下、ページデータ）に分割する。処理対象のＰＤＬデータは、外部装置から受信したり、所定の記憶装置から読み出したりすることで取得する。
【００１１】
図３は、ＰＤＬデータをページ単位に分割する手法を説明する図である。
図３（Ａ）に示すように、ＰＤＬデータは、描画コマンドおよび制御コマンドのリストからなっている。例えば、「ＴＥＸＴ  Ａ」は、フォントＡを使って文字を描画するコマンドである。また、「ＤＬＦＯＮＴ  Ａ」は、フォントＡをＲＩＰ４０にダウンロードし印刷リソースとして展開登録するという指令である。また、「ＰＳＴＡＲＴ」「ＰＥＮＤ」はページの区切りを表しており、「ＰＳＴＡＲＴ」がページの開始を、「ＰＥＮＤ」がページの終了を意味する。ページ分割部１０は、この制御コマンド「ＰＳＴＡＲＴ」「ＰＥＮＤ」に基づいてページごとに分割する。
【００１２】
図３（Ａ）に示したＰＤＬデータを制御コマンド「ＰＳＴＡＲＴ」「ＰＥＮＤ」に基づいて分割すると、図３（Ｂ）に示すように４ページ分のページデータとなる。このページデータの１ページ目と２ページ目には、印刷リソースを変更する制御コマンド「ＤＬＦＯＲＭ  １」「ＤＬＦＯＮＴ  Ａ」が含まれている。「ＤＬＦＯＲＭ  １」は、フォーム１をＲＩＰ４０にダウンロードし印刷リソースとして展開登録するという指令であり、「ＤＬＦＯＮＴ  Ａ」は、上述したようにフォントＡをダウンロードし登録する指令である。
【００１３】
ここで、３ページ目と４ページ目のページデータを参照すると、３ページ目では、２ページ目で登録したフォントＡを使用している。したがって、２ページ目のフォントＡのダウンロードおよび登録を行ってからでないと３ページ目のイメージを作成することができない。同様に、４ページ目では、１ページ目で登録したフォーム１を使用している。したがって、１ページ目のフォーム１のダウンロードおよび登録を行ってからでないと４ページ目のイメージを作成することができない。
【００１４】
ＰＤＬデータの多くは、図３に示すように、所定のページで行った印刷リソースの変更を他のページでも利用する（ページ独立でない）構成となっている。そのため、ページ単位で分割したページデータをそのまま複数のＲＩＰ４０で並列にラスタライズすることはできない。そこで、各ページデータの分散処理を実現するためには、所定のページで行った印刷リソースの変更を、そのページのラスタライズを行っていないＲＩＰ４０にも伝達することが必要となる。本実施形態では、後述のＲＩＰ制御部５０の制御により、この情報の交換を実現している。
【００１５】
入力処理部２０は、例えば図２に示すコンピュータ３００のＣＰＵ３０１にて実現され、ページ分割部１０により分割されたページデータを順次入力イメージ保存部３０に格納する。また、ページデータを入力イメージ保存部３０に格納したことをＲＩＰ制御部５０に通知する。
入力イメージ保存部３０は、例えば図２に示すコンピュータ３００のメインメモリ３０２や磁気ディスク装置３０３にて実現され、入力処理部２０から送られたページデータを保存する。
【００１６】
ＲＩＰ４０は、例えば図２に示すコンピュータ３００のＣＰＵ３０１およびメインメモリ３０２にて実現され、ＲＩＰ制御部５０の制御にしたがって、入力イメージ保存部３０から割り当てられたページのページデータを読み込み、ラスタ画像を生成する。また、上述したように、本実施形態の画像データ生成装置は複数のＲＩＰ４０を備えており、個々のＲＩＰ４０が各々別個のＣＰＵ３０１にて実現される。また、印刷リソースを登録する展開領域として用いられるメインメモリ３０２は、ＲＩＰ４０と共に複数設けることもできるし、単一のメインメモリ３０２に各ＲＩＰ４０が使用する領域を設定することもできる。
【００１７】
ＲＩＰ制御部５０は、例えば図２に示すコンピュータ３００のＣＰＵ３０１およびメインメモリ３０２にて実現され、各ＲＩＰ４０に対して、ページデータのラスタライズおよび印刷リソースの展開登録を指示する。図１に示すように、ＲＩＰ制御部５０は、各ＲＩＰ４０に対して指示コマンドを送信するコマンド送信部５１と、各ＲＩＰ４０からの応答を受け付けるレスポンス受信部５２とを備える。そして、レスポンス受信部５２にて受け付けた各ＲＩＰ４０からの応答に基づき、個々のＲＩＰ４０における処理の待ち時間が少なくなるように、各ＲＩＰ４０へのページデータの割り当てを動的に行う。ＲＩＰ制御部５０による具体的な制御内容については後述する。
【００１８】
出力イメージ保存部６０は、例えば図２に示すコンピュータ３００のメインメモリ３０２や磁気ディスク装置３０３にて実現され、ＲＩＰ４０により生成されたラスタ画像を保存する。
Ｉ／Ｆ変換部７０は、例えば図２に示すコンピュータ３００のＣＰＵ３０１にて実現され、ＲＩＰ制御部５０の制御により出力イメージ保存部６０から保存されているラスタ画像を読み出し、データ形式をプリンタ等の画像形成装置が扱える形式に変換する。
イメージ出力部８０は、例えば図２に示すコンピュータ３００の通信Ｉ／Ｆ３０４にて実現され、Ｉ／Ｆ変換部７０により変換されたデータを画像形成装置へ送信する。
【００１９】
次に、ＲＩＰ制御部５０による制御について詳細に説明する。
図４は、各ＲＩＰ４０に対するページデータの割り当ての様子を例示する図である。なお、ここでは、ＲＩＰ４０ａからＲＩＰ４０ｄの４つのＲＩＰ４０でページデータを分散処理するものとする。
【００２０】
ＲＩＰ制御部５０は、入力処理部２０からの通知に基づき、ＲＩＰ４０ａ〜４０ｄに対してコマンド送信部５１から各ページデータに対する操作の指示コマンドを送る。このとき、ＲＩＰ制御部５０は、個々のページデータに関して、１つのＲＩＰ４０に対してはラスタライズの実行を指示する（図４において丸印（○）が付されたページデータ）。そして、他のＲＩＰ４０に対しては印刷リソースの展開登録のみを実行させる指示を行う（図４において三角印（△）が付されたページデータ）。ラスタライズを実行するページの割り当ては、少なくとも初期的には数ページ単位で行うことが好ましい。これは、各ＲＩＰ４０が１ページ分のラスタライズが完了するたびにＲＩＰ制御部５０が次のページデータの割り当てを行い、ＲＩＰ４０が割り当てられたページデータを読み出していたのでは効率が悪いためである。各ＲＩＰ４０が数ページ分のページデータを先読みして連続的にラスタライズを実行することにより、実行効率を向上させることができる。
【００２１】
図４に示す例では、ラスタライズの対象となるページデータが各ＲＩＰ４０に２ページ分ずつ割り当てられている。具体的には、第１ページ（Ｐ１）および第５ページ（Ｐ５）のラスタライズがＲＩＰ４０ａに、第２ページ（Ｐ２）および第６ページ（Ｐ６）のラスタライズがＲＩＰ４０ｂに、第３ページ（Ｐ３）および第７ページ（Ｐ７）のラスタライズがＲＩＰ４０ｃに、第４ページ（Ｐ４）および第８ページ（Ｐ８）のラスタライズがＲＩＰ４０ｄに、それぞれ割り当てられている（第９ページ（Ｐ９）については後述する）。したがって、各ページとも、他のＲＩＰ４０（例えば第１、第５ページならばＲＩＰ４０ｂ〜４０ｄ）には、印刷リソースの展開登録のみが指示されている。
【００２２】
ここで、図３（Ｂ）に示したページデータを例として各ＲＩＰ４０ａ〜４０ｄの動作を考えると、第１ページに関して、ＲＩＰ４０ａは、ラスタライズの実行が指示されているので、第１ページのラスタ画像を生成する。この際、当然にフォーム１のダウンロードおよび登録を行う。ＲＩＰ４０ｂ〜４０ｄは、印刷リソースの展開登録のみが指示されているので、ラスタ画像は生成しないが、フォーム１のダウンロードおよび登録は行う。これにより、ＲＩＰ４０ａ〜４０ｄの全てでフォーム１は展開登録された。したがって、フォーム１が使用される第４ページをラスタライズするＲＩＰ４０ｄにおいても、何ら問題なくフォーム１を用いたラスタ画像の生成が行われることとなる。
【００２３】
同様に、第２ページに関して、ＲＩＰ４０ｂは、ラスタライズの実行が指示されているので、第２ページのラスタ画像を生成し、フォントＡのダウンロードおよび登録を行う。ＲＩＰ４０ａ、４０ｃ、４０ｄは、印刷リソースの展開登録のみが指示されているので、ラスタ画像は生成しないが、フォントＡのダウンロードおよび登録は行う。これにより、ＲＩＰ４０ａ〜４０ｄの全てでフォントＡは展開登録された。したがって、フォントＡが使用される第３ページをラスタライズするＲＩＰ４０ｃにおいても、何ら問題なくフォントＡを用いたラスタ画像の生成が行われることとなる。
【００２４】
各ＲＩＰ４０ａ〜４０ｄは、上記のように自身に割り当てられたページデータのラスタ画像を生成し、出力イメージ保存部６０に格納すると共に、ラスタライズが終了したことをＲＩＰ制御部５０に通知する。ＲＩＰ制御部５０のレスポンス受信部５２がこの通知を受信すると、ＲＩＰ制御部５０は、第９ページ以降のページデータの割り当てを行う。各ページデータは、その内容に応じてラスタライズに要する時間が異なる。したがって、複数のＲＩＰ４０で各ページデータを分散処理した場合、元のＰＤＬデータのページ順にラスタライズが完了するとは限らない。図４の例では、第３ページ、第２ページ、第１ページ、第５ページの順でラスタライズ完了の通知がレスポンス受信部５２に送られている。そこで、ＲＩＰ制御部５０は、各ＲＩＰ４０ａ〜４０ｄにおける処理時間の違いを平準化するため、ラスタライズの処理待ちのページ数が各ＲＩＰ４０ａ〜４０ｄで等しくなるように第９ページ以降のラスタライズの割り当てを行う。図４に示す例では、最初に１ページ分のページデータ（第３ページ）のラスタライズが完了したＲＩＰ４０ｃに、次の第９ページのラスタライズを割り当てている。この後は、１ページごとに同様に割り当てても良いし、初期設定と同様に２ページ単位で割り当てることも可能である。前者の場合、第１０ページは、２番目に１ページ分のページデータ（第２ページ）のラスタライズが完了したＲＩＰ４０ｂに割り当てられる。後者の場合、第１０ページ（Ｐ１０）も第９ページと同様にＲＩＰ４０ｃに割り当てられる。
【００２５】
また、ＲＩＰ制御部５０は、各ページデータのラスタライズを、出力イメージ保存部６０において各ページのラスタ画像が格納される記憶領域へのポインタであるページインデックスで管理する。ページインデックスの属性としては、少なくとも、次にラスタライズを指示する（ラスタ画像の生成を割り当てる）ページデータを指す次作成ページと、次に画像形成装置へ送出するラスタ画像を指す次送信ページとがある。
図５は、ページインデックスによる各ページの管理方法を説明する図である。同図において、第２ページおよび第３ページは既にラスタライズが完了しており、割り当てられたＲＩＰ４０（図４の例ではＲＩＰ４０ｂ、４０ｃ）により、該当する記憶領域へラスタ画像が書き込まれている（図５ではグレーで示されている）。
【００２６】
ＲＩＰ制御部５０は、出力イメージ保存部６０の記憶領域を調べ、次作成ページのページインデックスで指定されたアドレスにページデータのページ属性で特定されるサイズ以上の未使用の領域があれば、そのバッファオフセットをＲＩＰ４０へ送る指示コマンドにセットし、使用サイズ分だけ、次作成ページの指示ポイントを進める。このように、ページ順に領域を指示していくことにより、出力イメージ保存部６０であるメインメモリ３０２等の連続した領域にラスタライズされたイメージが作成されていくことになる。
【００２７】
ページインデックスの次作成ページで指定された領域が使用中（ラスタライズされた他の（前の）ページが保存されており、未だ印刷されていない状態）であれば、その領域をラスタ画像の保存に使用することができないため、ＲＩＰ４０への指示コマンドの送信は待ちになる。通常、使用中の領域に保存されたラスタ画像が印字され、画像形成装置での最終的な出力が確認できたタイミングで、当該使用中の領域は解放される。そこで、現在の空き領域と解放された領域を加えた使用可能な領域が、ページ属性で要求されるサイズの領域より大きければ、ＲＩＰ制御部５０は、待ち状態の指示コマンドを割り当てたＲＩＰ４０へ送る。
【００２８】
また、ＲＩＰ制御部５０は、ラスタライズが完了したページの情報をＩ／Ｆ変換部７０に通知する。Ｉ／Ｆ変換部７０は、この通知に基づき、ラスタライズが完了したページのラスタ画像を出力イメージ保存部６０から読み出し、データ形式を変換して画像形成装置へ出力する。このとき、ＲＩＰ制御部５０からＩ／Ｆ変換部７０への通知は、ラスタライズの完了順にしたがって行われるのではなく、ページ順を保証する。図５に示した例では、第２ページおよび第３ページのラスタライズは完了しているが、第１ページのラスタライズは完了していない。したがって、次送信ページのページインデックスは第１ページが保存される領域を指したままであり、ＲＩＰ制御部５０は、第１ページのみならず第２、第３ページについてもＩ／Ｆ変換部７０への通知を行わない。
【００２９】
この後、第１ページのラスタライズが完了してＲＩＰ４０からＲＩＰ制御部５０のレスポンス受信部５２に通知されると、ＲＩＰ制御部５０は、第１、第２、第３ページについてラスタライズが完了したことを、順次、Ｉ／Ｆ変換部７０に通知する。そして、Ｉ／Ｆ変換部７０が、第１、第２、第３ページを順次読み出して処理する。一方、ＲＩＰ制御部５０は、第１、第２、第３ページのラスタ画像が読み出され、画像形成装置により出力された後、出力イメージ保存部６０における同ページのラスタ画像が保存されていた領域を開放し、次送信ページの指示ポイントを第４ページが保存された領域へ進める。
【００３０】
図６は、本実施形態により複数のＲＩＰ４０で並列にページデータのラスタライズを行った場合と、単一のＲＩＰで各ページデータのラスタライズを順次行った場合の処理時間を比較するタイムチャートである。ここでは、４つのＲＩＰ４０ａ〜４０ｄにより、図４に示した割り当てで処理を行った例を示している。
各ＲＩＰ４０ａ〜４０ｄが同一のページデータに対する処理を行う場合、当然ながら、ラスタ画像を生成するのに要する時間よりも印刷リソースの展開登録のみを実行するのに要する時間の方が短い。したがって、図６を参照すると、ＲＩＰ４０ａが第１ページのラスタライズを行っている間に、ＲＩＰ４０ｂにおいて第１ページの処理が完了し、第２ページのラスタライズが開始される。同様に、ＲＩＰ４０ｂが第２ページのラスタライズを行っている間に、ＲＩＰ４０ｃにおいて第１、第２ページの処理が完了し、第３ページのラスタライズが開始される。また、ＲＩＰ４０ｃが第３ページのラスタライズを行っている間に、ＲＩＰ４０ｄにおいて第１〜第３ページの処理が完了し、第４ページのラスタライズが開始される。
【００３１】
ここで、上述したように、ＲＩＰ制御部５０におけるラスタ画像の管理はページ順を保証する。したがって、図６に示すように、ＲＩＰ４０ｂによる第２ページのラスタライズがＲＩＰ４０ａによる第１ページのラスタライズよりも先に完了した場合、ＲＩＰ４０ｂの処理が終了した時点ではラスタライズが完了したとは認識せず、ＲＩＰ４０ａの処理が終了した時点で第１、第２ページのラスタライズが完了したと判断する。図６では、ＲＩＰ４０ｂの処理の終了時刻を破線で示し、他の終了時刻（一点鎖線で表示）と区別している（第６、第７ページの処理についても同様）。
【００３２】
一方、単一のＲＩＰで各ページデータのラスタライズを順次行った場合、各ページデータのラスタライズに要する時間が単純に加算されることとなる。そのため、図６に示すように、複数のＲＩＰ４０により分散処理を行うことにより、第２ページ以降の各ページデータに対するラスタライズの完了までの時間が短縮されることとなる。
【００３３】
次に、上述したＲＩＰ制御部５０による制御の変形例を説明する。
ページ分割部１０は、ＰＤＬデータをページ単位に分割するためにページの区切りを表す制御コマンドを検出する際、ＰＤＬデータに記述された他のコマンドもチェックすることができる。そこで、ページ分割部１０が、印刷リソースの変更があるページに対して、その旨を示す識別データ（フラグ等）をページデータに付加する。これにより、ＲＩＰ制御部５０は、各ページデータについて、印刷リソースの変更があるか否かを識別することが可能となる。
【００３４】
ＲＩＰ制御部５０は、各ＲＩＰ４０にラスタライズ対象のページデータを割り当てる前に、予め印刷リソースの変更があるページを識別できるため、印刷リソースの変更があるページデータのみを対象として、ラスタライズの実行を割り当てたＲＩＰ４０以外のＲＩＰ４０に対して印刷リソースの展開登録を指示することができる。
【００３５】
図７は、本変形例により複数のＲＩＰ４０で並列にページデータのラスタライズを行った場合の各ＲＩＰ４０の動作タイミングを示すタイムチャートである。ここでは、第４ページと第６ページに印刷リソースの変更があるページデータを例とし、４つのＲＩＰ４０ａ〜４０ｄにより処理を行った例を示している。
図７を参照すると、印刷リソースの変更がない第１〜第３ページ、第５ページ等に関しては、割り当てられた各ＲＩＰ４０ａ〜４０ｄへのラスタライズの実行指示のみがなされている。そして、印刷リソースの変更がある第４ページに関しては、ＲＩＰ４０ｄにラスタライズの実行が割り当てられている他、ＲＩＰ４０ａ〜４０ｃに対しても印刷リソースの展開登録の実行が指示されている。同様に、第６ページに関しては、ＲＩＰ４０ｂにラスタライズの実行が割り当てられている他、ＲＩＰ４０ａ、４０ｃ、４０ｄに対しても印刷リソースの展開登録の実行が指示されている。
【００３６】
以上のように、ラスタライズを行わないＲＩＰ４０でも印刷リソースの展開登録を行うページを、印刷リソースの変更があるページのみとすることにより、各ＲＩＰ４０による印刷リソースの展開登録の実行回数が減る。
【００３７】
次に、上述したＲＩＰ制御部５０による制御の他の変形例を説明する。
本変形例では、ＲＩＰ制御部５０は、各ページに関して、印刷リソースの変更を考慮せず、各ＲＩＰ４０に分散させてラスタライズの実行を指示する。そして、各ＲＩＰ４０は、ラスタライズの完了をＲＩＰ制御部５０に通知すると共に、ラスタライズの過程で印刷リソースを変更した場合には、その情報もＲＩＰ制御部５０へ送信する。ＲＩＰ制御部５０は、所定のＲＩＰ４０から印刷リソースの変更に関する情報を受信した場合、その印刷リソースの変更が行われたページ以降のページに対するラスタライズの完了通知は無視する。そして、受信した印刷リソースの変更を他の各ＲＩＰ４０にコピーさせる。その後、印刷リソースの変更が行われたページ以降のページに対して、改めてラスタライズの実行を指示する。
【００３８】
図８は、本変形例により複数のＲＩＰ４０で並列にページデータのラスタライズを行った場合の各ＲＩＰ４０の動作タイミングを示すタイムチャート、図９は、各ＲＩＰ４０ａ〜４０ｄとＲＩＰ制御部５０との間の通信の様子を示すタイムチャートである。
図示の例では、ＲＩＰ４０ｂが第６ページをラスタライズした際に印刷リソースの変更が行われ（図８では黒丸（●）で表示）、第６ページのラスタライズの完了通知と共に印刷リソースの変更通知がＲＩＰ４０ｂからＲＩＰ制御部５０へ送信される（図９では太い矢印で表示）。
【００３９】
ＲＩＰ制御部５０は、第６ページで印刷リソースの変更があったので、これ以降の第７、第８ページのラスタライズ完了通知を無視する（図８ではバツ印（×）で表示）。ここで、第７ページについては、第６ページのラスタライズの完了通知以前に通知を受け取っている。しかし、ＲＩＰ制御部５０は、図６を参照して説明したように、ページ順を保証すべく、第６ページについてのラスタライズの完了を待って第７ページについてのラスタライズの完了を認識するため、第７ページに関する通知も無視される。
【００４０】
次に、ＲＩＰ制御部５０は、ＲＩＰ４０ｂにおいて第６ページのラスタライズで行われた印刷リソースの展開登録の内容を他のＲＩＰ４０ａ、４０ｃ、４０ｄにコピーさせ、その後、ＲＩＰ４０ｃ、４０ｄに第７、第８ページのラスタライズを再度指示する。第９ページ以降については、ＲＩＰ制御部５０が印刷リソースの変更を指示する前にラスタライズの実行を指示していたならば、再度ラスタライズの実行を指示する必要があるが、印刷リソースの変更後であれば、通常通りの動作でラスタライズの実行を指示すれば良い。
【００４１】
図１０は、本発明の他の実施形態における画像データ生成装置の機能構成を示す図である。
図１０に示すように、本実施形態の画像データ生成装置は、処理対象のページ記述言語で記述されたデータをページ単位に分割するページ分割部１０と、入力処理部２０と、ページごとに分割されたデータを保存する入力イメージ保存部３０とを備える。そして、入力イメージ保存部３０に保存されたデータからラスタ画像を生成（ラスタライズ）する複数のラスタイメージプロセッサ（ＲＩＰ）４０、４１と、ＲＩＰ４０、４１の動作を制御するＲＩＰ制御部５３とを備える。また、この画像データ生成装置は、複数のＲＩＰ４０により生成されたラスタ画像を保存する出力イメージ保存部６０と、このラスタ画像を画像形成装置に出力するためのＩ／Ｆ（インターフェイス）変換部７０およびイメージ出力部８０とを備える。
【００４２】
図１０に示す構成において、ページ分割部１０、入力処理部２０、入力イメージ保存部３０、出力イメージ保存部６０、Ｉ／Ｆ変換部７０およびイメージ出力部８０は、図１に示した対応する構成要素と同様である。そこで、同一の符号を付して説明を省略する。また、図１０に示す画像データ生成装置は、図１に示した装置と同様に、例えば図２に示すように構成されたコンピュータにて実現される。
【００４３】
図１０に示したＲＩＰ４０は、図１に示したＲＩＰ４０とほぼ同様である。ただし、本実施形態では、各ＲＩＰ４０は、単一のメインメモリ３０２における単一の記憶領域に展開登録された印刷リソースを共用してページデータのラスタライズを行う。
ＲＩＰ４１は、全てのページデータにおける印刷リソースの展開登録を実行する。すなわち、印刷リソースは、ＲＩＰ４１によりメインメモリ３０２の共用領域に登録され、各ＲＩＰ４０の処理において利用されることとなる。
【００４４】
ＲＩＰ制御部５３は、図１に示したＲＩＰ制御部５０と同様に、各ＲＩＰ４０に対してラスタライズを行うページデータの割り当てを行う。ただし、本実施形態では、上述したように印刷リソースの展開登録は、ＲＩＰ４１のみに指示する。したがって、各ＲＩＰ４０に対しては、割り当てたページデータに対するラスタ画像の生成のみを指示することとなる。
【００４５】
図１１は、本実施形態により複数のＲＩＰ４０で並列にページデータのラスタライズを行った場合の各ＲＩＰ４０の動作タイミングを示すタイムチャートである。
図１１を参照すると、全ての印刷リソースの展開登録が、ＲＩＰ４１により実行されている。そして、ＲＩＰ４０ａ〜４０ｄでは、割り当てられたページデータのラスタライズのみが行われている。ここで、各ページデータのラスタライズは、ＲＩＰ４１により対応ページの印刷リソースの展開登録が実行されたタイミングで行われている。これは、ＲＩＰ４１により行われた印刷リソースの展開登録の内容を参照してラスタライズを行うためである。
【００４６】
図１１に示す例では、例えばＲＩＰ４０ａにおいて、第１ページのラスタライズが完了した時点でＲＩＰ４１による第５ページの印刷リソースの展開登録が行われていないため、直ちに第５ページのラスタライズを開始することができず、待ち時間が生じている。同様に、ＲＩＰ４０ｂ〜４０ｄにおいても、前のページのラスタライズ完了後、次のページのラスタライズ開始までに待ち時間が生じている。ジョブの初期段階では、ＲＩＰ４１による印刷リソースの登録展開が、複数のＲＩＰ４０による並列的なラスタライズの処理速度に追いつかないために、このような待ち時間が生じてしまう。しかし、上述したように、同一のページに対してラスタライズに要する時間よりも印刷リソースの登録展開に要する時間の方が短いので、ジョブが進むにしたがって、このような待ち時間は短くなる。そして、ＲＩＰ４１による印刷リソースの登録展開が終了してしまえば、その後は各ＲＩＰ４０の処理における待ち時間は発生しなくなる。
【００４７】
以上、プリンタ等の画像形成装置とは独立の装置として画像データ生成装置が構成される場合を例として説明したが、上述した画像データ生成装置の機能を画像形成装置内部の制御装置にて実現することも可能である。この場合、制御装置を構成するＣＰＵおよびＲＡＭ（Random Access Memory）等のメモリにより、上述したページ分割部１０、入力処理部２０、入力イメージ保存部３０、ＲＩＰ４０、ＲＩＰ制御部５０、出力イメージ保存部６０の機能が実現される。また、画像形成装置の内部装置となるため、Ｉ／Ｆ変換部７０およびイメージ出力部８０の代わりに、ＲＩＰ制御部５０の制御下で出力イメージ保存部６０から生成されたラスタ画像を読み出し、画像形成装置の露光装置へ直接供給する出力制御手段が設けられる。
なお、上記の各実施形態およびその変形例は、単独で用いるだけでなく、各手法を適宜組み合わせて用いることも可能である。
【符号の説明】
【００４８】
１０…ページ分割部、２０…入力処理部、３０…入力イメージ保存部、４０ａ〜ｄ、４１…ラスタイメージプロセッサ（ＲＩＰ）、５０、５３…ＲＩＰ制御部、５１…コマンド送信部、５２…レスポンス受信部、６０…出力イメージ保存部、７０…Ｉ／Ｆ（インターフェイス）変換部、８０…イメージ出力部、３００…コンピュータ、３０１…ＣＰＵ（Central Processing Unit）、３０２…メインメモリ、３０３…磁気ディスク装置、３０４…通信Ｉ/Ｆ（インターフェイス）、３０５…表示機構、３０６…入力デバイス
【図１】
0005212566.tif 000002
【図２】
0005212566.tif 000003
【図３】
0005212566.tif 000004
【図４】
0005212566.tif 000005
【図５】
0005212566.tif 000006
【図６】
0005212566.tif 000007
【図７】
0005212566.tif 000008
【図８】
0005212566.tif 000009
【図９】
0005212566.tif 000010
【図１０】
0005212566.tif 000011
【図１１】
0005212566.tif 000012