(57)【要約】【課題】画像形成出力を実行するための描画情報を生成する描画手段の構成に応じて効率的な制御が可能で且つ設計負荷の低い画像形成装置を提供すること。【解決手段】ＰＤＬに基づいて得られた中間データからディスプレイリストを生成するＤＬ生成部２５１と、ディスプレイリストを記憶するＤＬ保存メモリ２５２と、ディスプレイリストに基づいて描画処理を実行するハードウェア描画部２７１、ソフトウェア描画部２７２と、画像形成装置１に含まれるハードウェア構成の情報を記憶しているハードウェアリソース記憶部２３０と、ハードウェア構成の情報に基づいて動作モジュールを決定し、動作させるモジュール生成部２４０とを含む。【選択図】図３
2010280101.tif 000002
【特許請求の範囲】
【請求項１】
画像形成出力を実行するための画像処理をプログラムによって実行可能な画像形成装置であって、
ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部と、
描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成する図形情報生成部と、
前記生成された図形情報を記憶する図形情報記憶部と、
前記記憶された図形情報に基づいて画像形成出力を実行するための描画情報を生成する描画情報生成部と、
前記画像形成装置に含まれるハードウェア構成の情報であるハードウェア情報を記憶しているハードウェア情報記憶部と、
動作させる前記図形情報記憶部及び前記描画情報生成部の数を前記ハードウェア情報に基づいて決定する動作モジュール決定部と、
前記決定に基づいて前記図形情報記憶部及び前記描画情報生成部を動作させるモジュール制御部とを含むことを特徴とする画像形成装置。
【請求項２】
前記ハードウェア情報は、互いに並列して動作することが可能な演算手段の数の情報を含み、
前記動作モジュール決定部は、前記演算手段の数の情報に基づいてソフトウェアによって動作する前記描画情報生成部の数を決定することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記動作モジュール決定部は、前記ハードウェア情報に含まれる前記演算手段の数よりも１つ少ない数を、前記ソフトウェアによって動作する描画情報生成部の数として決定することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記ハードウェア情報は、前記画像形成装置を制御する演算手段が同時に処理可能な処理単位の数の情報を含み、
前記動作モジュール決定部は、前記処理単位の数の情報に基づいてソフトウェアによって動作する前記描画情報生成部の数を決定することを特徴とする請求項１に記載の画像形成装置。
【請求項５】
前記動作モジュール決定部は、前記ハードウェア情報に含まれる前記同時に処理可能な処理単位の数よりも１つ少ない数を、前記ソフトウェアによって動作する描画情報生成部の数として決定することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記ハードウェア情報は、演算手段によって制御されるハードウェアによって動作する前記描画情報生成部の数の情報を含み、
前記動作モジュール決定部は、前記描画情報生成部の数の情報に基づいてソフトウェアによって動作する前記描画情報生成部の数を決定することを特徴とする請求項１乃至５いずれかに記載の画像形成装置。
【請求項７】
前記ハードウェア情報は、演算手段による制御とは独立したハードウェアによって動作する前記描画情報生成部の数の情報を含み、
前記動作モジュール決定部は、ソフトウェアによって動作する前記描画情報生成部とハードウェアによって動作する前記描画情報生成部の合計の数に応じて前記動作させる図形情報記憶部の数を決定することを特徴とする、請求項１乃至６いずれかに記載の画像形成装置。
【請求項８】
前記モジュール制御部は、ソフトウェアによって動作する前記描画情報生成部とハードウェアによって動作する前記描画情報生成部の夫々に対応するように前記図形情報記憶部を動作させ、
前記図形情報生成部は、前記ハードウェアによって動作する描画情報生成部に対応する前記図形情報記憶部に、前記ソフトウェアによって動作する描画情報生成部に対応する前記図形情報記憶部よりも多くの前記図形情報を記憶させることを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記モジュール制御部は、前記ハードウェアによって動作する描画情報生成部に対応する前記図形情報記憶部の記憶領域を前記ソフトウェアによって動作する描画情報生成部に対応する前記図形情報記憶部の記憶領域よりも広く確保することを特徴とする請求項８に記載の画像形成装置。
【請求項１０】
前記ハードウェア情報記憶部は、異なるハードウェア構成を示す複数のハードウェア情報を記憶しており、
前記動作モジュール決定部は、前記複数のハードウェア情報のいずれかに基づいて前記動作させる前記図形情報記憶部及び前記描画情報生成部の数を決定することを特徴とする請求項１乃至９いずれかに記載の画像形成装置。
【請求項１１】
前記ハードウェア情報記憶部は、前記画像形成装置の動作状態毎にことのあるハードウェア構成を示す複数のハードウェア情報を記憶しており、
前記動作モジュール決定部は、前記画像形成装置の動作状態に応じた前記ハードウェア情報に基づいて前記動作させる前記図形情報記憶部及び前記描画情報生成部の数を決定することを特徴とする請求項１０に記載の画像形成装置。
【請求項１２】
前記ハードウェア情報記憶部に記憶されている前記ハードウェア情報を更新するハードウェア情報更新部を更に含むことを特徴とする請求項１乃至１１いずれかに記載の画像形成装置。
【請求項１３】
画像形成出力を実行するための画像処理をプログラムによって実行可能な画像形成装置の制御方法であって、
描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、
図形情報生成部が、描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成し、
図形情報記憶部が、前記生成された図形情報を記憶し、
描画情報生成部が、前記記憶された図形情報に基づいて画像形成出力を実行するための描画情報を生成し、
ハードウェア情報取得部が、前記画像形成装置に含まれるハードウェア構成の情報であるハードウェア情報を取得し、
動作モジュール決定部が、動作させる前記図形情報記憶部及び前記描画情報生成部の数を前記ハードウェア情報に基づいて決定し、
モジュール制御部が、前記決定に基づいて前記図形情報記憶部及び前記描画情報生成部を動作させることを特徴とする画像形成装置の制御方法。
【請求項１４】
画像形成出力を実行するための画像処理をプログラムによって実行可能な画像形成装置の制御プログラムであって、
ページ記述言語に基づいて得られた描画命令を取得するステップと、
描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成するステップと、
前記生成された図形情報を記憶するステップと、
前記記憶された図形情報に基づいて画像形成出力を実行するための描画情報を生成するステップと、
前記画像形成装置に含まれるハードウェア構成の情報であるハードウェア情報を取得するステップと、
動作させる前記図形情報記憶部及び前記描画情報生成部の数を前記取得されたハードウェア情報に基づいて決定するステップと、
前記決定に基づいて前記図形情報記憶部及び前記描画情報生成部を動作させるステップとを前記画像形成装置に実行させることを特徴とする画像形成装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、制御方法及び制御プログラムに関し、特に、構成の異なる装置を効率的に動作させることが可能な制御の方法に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。
【０００３】
このような画像処理装置のうち、電子化された情報の出力に用いるプリンタにおいては、入力された画像情報に基づいてプリントエンジンが画像形成出力を実行するための描画情報を生成する画像処理（以降、描画処理とする）が行われる。この画像処理は、専用のハードウェアによって実行される他、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算手段がソフトウェアに従って動作することにより実行される。
【０００４】
このようなハードウェア及びソフトウェアによって描画処理可能な画像形成装置において、双方の処理を効率化して出力の高速化を図る方法が提案されている（例えば、特許文献１参照）。特許文献１に開示された技術においては、描画手段としてハードウェアである図形描画回路とソフトウェアである図形描画部とが設けられている。そして、ディスプレイリスト作成部が、いずれの描画手段に受け渡すかを判断した上でディスプレイリストを作成する。このような処理により、ハードウェア及びソフトウェアを効率的に動作させる。
【０００５】
また、近年の情報処理機器の発展により複数の演算手段が含まれるマルチコアＣＰＵ等の演算機器が普及している。マルチコアＣＰＵにおいては、複数のコアが夫々独立して動作するため、処理を並列化することにより、処理時間を短縮することが可能になる。従って、上記の画像処理もマルチコアＣＰＵに対応させることにより、処理を効率化することが望まれている。マルチコアＣＰＵの性能を効率的に発揮させるためには、処理を夫々のコアに適切に配分することにより、片方のコアの動作中において片方のコアに待機、即ち、待ちが発生しないようにする必要がある。
【０００６】
複数の演算手段を有する画像形成装置において、上述した画像処理を効率化する方法が提案されている（例えば、特許文献２参照）。特許文献２に開示された技術においては、メインプロセッサによるレンダリング手段の処理状況に応じて、サブプロセッサによるレンダリング手段が描画処理を実行することにより、既に生成されたディスプレイリストの処理待ちの状態を低減する方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、上述したように、描画処理の実行に際してはディスプレイリストを生成する必要がある。このディスプレイリストとは、画像に含まれる夫々のオブジェクト毎に必要となる図形の情報がまとめられた情報である。そして、複数の描画手段が存在する場合、生成されたディスプレイリストを、夫々の描画手段に対応した記憶領域若しくは記憶媒体に、格納する必要がある。
【０００８】
また、特許文献２においては、メインプロセッサ及びサブプロセッサというように、演算手段が２つである場合が例として説明されているが、近年のマルチコアＣＰＵは、デュアルコア、クアッドコア等、コア、即ち演算手段の数も様々である。従って、ＣＰＵの性能を十分活かすためには、搭載されたＣＰＵのコア数やＣＰＵ数に応じて、ソフトウェアによる描画手段を構成する必要がある。
【０００９】
従って、画像形成装置を制御するソフトウェアをハードウェアに応じて構成する必要がある。具体的には、搭載されたＣＰＵのコア数に応じてソフトウェアの描画手段を構成すると共に、ハードウェアの描画手段及びソフトウェアの描画手段の数に応じて、ディスプレイリストを格納する記憶領域を夫々設ける必要がある。
【００１０】
しかしながら、画像形成装置のハードウェア構成は、装置の種類に応じて様々であるし、装置を納める先の要望に応じてカスタマイズされる可能性もある。従って、ハードウェア構成の異なる装置毎に、ソフトウェアの描画手段及びディスプレイリストの記憶領域の数の異なるプログラムを設計する必要があり、設計負荷が高くなってしまう。このため、異なるハードウェア構成の画像形成装置に適用可能で且つハードウェア資源を活かした制御が可能なプログラムが望まれる。
【００１１】
本発明は、上記実情を考慮してなされたものであり、画像形成出力を実行するための描画情報を生成する描画手段の構成に応じて効率的な制御が可能で且つ設計負荷の低い画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の一態様は、画像形成出力を実行するための画像処理をプログラムによって実行可能な画像形成装置であって、ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部と、描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成する図形情報生成部と、前記生成された図形情報を記憶する図形情報記憶部と、前記記憶された図形情報に基づいて画像形成出力を実行するための描画情報を生成する描画情報生成部と、前記画像形成装置に含まれるハードウェア構成の情報であるハードウェア情報を記憶しているハードウェア情報記憶部と、動作させる前記図形情報記憶部及び前記描画情報生成部の数を前記ハードウェア情報に基づいて決定する動作モジュール決定部と、前記決定に基づいて前記図形情報記憶部及び前記描画情報生成部を動作させるモジュール制御部とを含むことを特徴とする。
【００１３】
ここで、前記ハードウェア情報は、互いに並列して動作することが可能な演算手段の数の情報を含み、前記動作モジュール決定部は、前記演算手段の数の情報に基づいてソフトウェアによって動作する前記描画情報生成部の数を決定することが好ましい。
【００１４】
また、前記動作モジュール決定部は、前記ハードウェア情報に含まれる前記演算手段の数よりも１つ少ない数を、前記ソフトウェアによって動作する描画情報生成部の数として決定することが好ましい。
【００１５】
また、前記ハードウェア情報は、前記画像形成装置を制御する演算手段が同時に処理可能な処理単位の数の情報を含み、前記動作モジュール決定部は、前記処理単位の数の情報に基づいてソフトウェアによって動作する前記描画情報生成部の数を決定しても良い。
【００１６】
また、前記動作モジュール決定部は、前記ハードウェア情報に含まれる前記同時に処理可能な処理単位の数よりも１つ少ない数を、前記ソフトウェアによって動作する描画情報生成部の数として決定することが好ましい。
【００１７】
また、前記ハードウェア情報は、演算手段によって制御されるハードウェアによって動作する前記描画情報生成部の数の情報を含み、前記動作モジュール決定部は、前記描画情報生成部の数の情報に基づいてソフトウェアによって動作する前記描画情報生成部の数を決定することが好ましい。
【００１８】
また、前記ハードウェア情報は、演算手段による制御とは独立したハードウェアによって動作する前記描画情報生成部の数の情報を含み、前記動作モジュール決定部は、ソフトウェアによって動作する前記描画情報生成部とハードウェアによって動作する前記描画情報生成部の合計の数に応じて前記動作させる図形情報記憶部の数を決定することが好ましい。
【００１９】
また、前記モジュール制御部は、ソフトウェアによって動作する前記描画情報生成部とハードウェアによって動作する前記描画情報生成部の夫々に対応するように前記図形情報記憶部を動作させ、前記図形情報生成部は、前記ハードウェアによって動作する描画情報生成部に対応する前記図形情報記憶部に、前記ソフトウェアによって動作する描画情報生成部に対応する前記図形情報記憶部よりも多くの前記図形情報を記憶させることが好ましい。
【００２０】
また、前記モジュール制御部は、前記ハードウェアによって動作する描画情報生成部に対応する前記図形情報記憶部の記憶領域を前記ソフトウェアによって動作する描画情報生成部に対応する前記図形情報記憶部の記憶領域よりも広く確保することが好ましい。
【００２１】
また、前記ハードウェア情報記憶部は、異なるハードウェア構成を示す複数のハードウェア情報を記憶しており、前記動作モジュール決定部は、前記複数のハードウェア情報のいずれかに基づいて前記動作させる前記図形情報記憶部及び前記描画情報生成部の数を決定することが好ましい。
【００２２】
また、前記ハードウェア情報記憶部は、前記画像形成装置の動作状態毎にことのあるハードウェア構成を示す複数のハードウェア情報を記憶しており、前記動作モジュール決定部は、前記画像形成装置の動作状態に応じた前記ハードウェア情報に基づいて前記動作させる前記図形情報記憶部及び前記描画情報生成部の数を決定することが好ましい。
【００２３】
また、前記ハードウェア情報記憶部に記憶されている前記ハードウェア情報を更新するハードウェア情報更新部を更に含むことが好ましい。
【００２４】
また、本発明の他の態様は、画像形成出力を実行するための画像処理をプログラムによって実行可能な画像形成装置の制御方法であって、描画命令取得部が、ページ記述言語に基づいて得られた描画命令を取得し、図形情報生成部が、描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成し、図形情報記憶部が、前記生成された図形情報を記憶し、描画情報生成部が、前記記憶された図形情報に基づいて画像形成出力を実行するための描画情報を生成し、ハードウェア情報取得部が、前記画像形成装置に含まれるハードウェア構成の情報であるハードウェア情報を取得し、動作モジュール決定部が、動作させる前記図形情報記憶部及び前記描画情報生成部の数を前記ハードウェア情報に基づいて決定し、モジュール制御部が、前記決定に基づいて前記図形情報記憶部及び前記描画情報生成部を動作させることを特徴とする。
【００２５】
また、本発明の他の態様は、画像形成出力を実行するための画像処理をプログラムによって実行可能な画像形成装置の制御プログラムであって、ページ記述言語に基づいて得られた描画命令を取得するステップと、描画すべき図形毎に情報がまとめられた図形情報を前記取得された描画命令に基づいて生成するステップと、前記生成された図形情報を記憶するステップと、前記記憶された図形情報に基づいて画像形成出力を実行するための描画情報を生成するステップと、前記画像形成装置に含まれるハードウェア構成の情報であるハードウェア情報を取得するステップと、動作させる前記図形情報記憶部及び前記描画情報生成部の数を前記取得されたハードウェア情報に基づいて決定するステップと、前記決定に基づいて前記図形情報記憶部及び前記描画情報生成部を動作させるステップとを前記画像形成装置に実行させることを特徴とする。
【発明の効果】
【００２６】
本発明によれば、画像形成出力を実行するための描画情報を生成する描画手段の構成に応じて効率的な制御が可能で且つ設計負荷の低い画像形成装置を提供することが可能となる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態に係る画像形成装置のハードウェア構成を示すブロック図である。
【図２】本発明の実施形態に係る画像形成装置の機能構成を示す図である。
【図３】本発明の実施形態に係る画像処理部に含まれる機能を示す図である。
【図４】本発明の実施形態に係るハードウェア情報の例を示す図である。
【図５】本発明の実施形態に係るモジュール生成部の動作を示すフローチャートである。
【図６】本発明の実施形態に係る画像形成装置の動作を示すシーケンス図である。
【図７】本発明の他の実施形態に係るハードウェア情報の例を示す図である。
【図８】本発明の他の実施形態に係るモジュール生成部の動作を示すフローチャートである。
【図９】本発明の他の実施形態に係るハードウェア情報の例を示す図である。
【図１０】本発明の他の実施形態に係るハードウェア情報の例を示す図である。
【発明を実施するための形態】
【００２８】
実施の形態１．
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、プリンタ、スキャナ、複写機等の機能を含む複合機（ＭＦＰ：Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）としての画像形成装置を例として説明する。
【００２９】
図１は、本実施形態に係る画像形成装置１のハードウェア構成を示すブロック図である。図１に示すように、本実施形態に係る画像形成装置１は、一般的なサーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理端末と同様の構成に加えて、画像形成を実行するエンジンを有する。即ち、本実施形態に係る画像形成装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、エンジン４０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）５０及びＩ／Ｆ６０がバス９０を介して接続されている。また、Ｉ／Ｆ６０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）７０及び操作部８０が接続されている。
【００３０】
ＣＰＵ１０は演算手段であり、画像形成装置１全体の動作を制御する。また、本実施形態に係るＣＰＵ１０は、マルチコアＣＰＵであり、互いに独立して動作可能な複数の演算手段、即ちコアを含む。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。エンジン４０は、画像形成装置１において実際に画像形成を実行する機構である。
【００３１】
ＨＤＤ５０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納されている。Ｉ／Ｆ６０は、バス９０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ７０は、ユーザが画像形成装置１の状態を確認するための視覚的ユーザインタフェースである。操作部８０は、キーボードやマウス等、ユーザが画像形成装置１に情報を入力するためのユーザインタフェースである。
【００３２】
このようなハードウェア構成において、ＲＯＭ３０やＨＤＤ５０若しくは図示しない光学ディスク等の記録媒体に格納されたプログラムがＲＡＭ２０に読み出され、ＣＰＵ１０の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置１の機能を実現する機能ブロックが構成される。
【００３３】
次に、図２を参照して、本実施形態に係る画像形成装置１の機能構成について説明する。図２は、本実施形態に係る画像形成装置１の機能構成を示すブロック図である。図２に示すように、本実施形態に係る画像形成装置１は、コントローラ１００、ＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｎｔ  Ｆｅｅｄｅｒ：原稿自動搬送装置）１１０、スキャナユニット１２０、排紙トレイ１３０、ディスプレイパネル１４０、給紙テーブル１５０、プリントエンジン１６０、排紙トレイ１７０及びネットワークＩ／Ｆ１８０を有する。
【００３４】
また、コントローラ１００は、主制御部１０１、エンジン制御部１０２、入出力制御部１０３、画像処理部１０４及び操作表示制御部１０５を有する。図２に示すように、本実施形態に係る画像形成装置１は、スキャナユニット１２０、プリントエンジン１６０を有する複合機として構成されている。尚、図２においては、電気的接続を実線の矢印で示しており、用紙の流れを破線の矢印で示している。
【００３５】
ディスプレイパネル１４０は、画像形成装置１の状態を視覚的に表示する出力インタフェースであると共に、タッチパネルとしてユーザが画像形成装置１を直接操作し若しくは画像形成装置１に対して情報を入力する際の入力インタフェース（操作部）でもある。ネットワークＩ／Ｆ１８０は、画像形成装置１がネットワークを介して他の機器と通信するためのインタフェースであり、Ｅｔｈｅｒｎｅｔ（登録商標）やＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースが用いられる。
【００３６】
コントローラ１００は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ＲＯＭ３０や不揮発性メモリ並びにＨＤＤ５０や光学ディスク等の不揮発性記録媒体に格納されたファームウェア等の制御プログラムが、ＲＡＭ２０等の揮発性メモリ（以下、メモリ）にロードされ、ＣＰＵ１０の制御に従って構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ１００が構成される。コントローラ１００は、画像形成装置１全体を制御する制御部として機能する。
【００３７】
主制御部１０１は、コントローラ１００に含まれる各部を制御する役割を担い、コントローラ１００の各部に命令を与える。エンジン制御部１０２は、プリントエンジン１６０やスキャナユニット１２０等を制御若しくは駆動する駆動手段としての役割を担う。入出力制御部１０３は、ネットワークＩ／Ｆ１８０を介して入力される信号や命令を主制御部１０１に入力する。また、主制御部１０１は、入出力制御部１０３を制御し、ネットワークＩ／Ｆ１８０を介して他の機器にアクセスする。
【００３８】
画像処理部１０４は、主制御部１０１の制御に従い、入力された印刷ジョブに含まれる印刷情報に基づいて描画情報を生成する。この描画情報とは、画像形成部であるプリントエンジン１６０が画像形成動作において形成すべき画像を描画するための情報である。また、印刷ジョブに含まれる印刷情報とは、ＰＣ等の情報処理装置にインストールされたプリンタドライバによって画像形成装置１が認識可能な形式に変換された情報であり、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）によって記述された情報である。換言すると、上記印刷情報とは、画像形成出力すべきページの情報が記述されたページ情報である。尚、本実施形態においては、ページ記述言語としてＰＤＬを用いる場合を例とするが、他の言語であっても良い。
【００３９】
本実施形態においては、画像処理部１０４による上記描画情報の生成処理が要旨であり、より具体的には、画像形成装置１のハードウェア構成を効率的に動作させることが可能なモジュールブロックが自動的に構成されることが要旨である。画像処理部１０４の機能については、後に詳述する。操作表示制御部１０５は、ディスプレイパネル１４０に情報表示を行い若しくはディスプレイパネル１４０を介して入力された情報を主制御部１０１に通知する。
【００４０】
画像形成装置１がプリンタとして動作する場合は、まず、入出力制御部１０３がネットワークＩ／Ｆ１８０を介して印刷ジョブを受信する。入出力制御部１０３は、受信した印刷ジョブを主制御部１０１に転送する。主制御部１０１は、印刷ジョブを受信すると、画像処理部１０４を制御して、印刷ジョブに含まれる印刷情報に基づいて描画情報を生成させる。
【００４１】
画像処理部１０４によって描画情報が生成されると、エンジン制御部１０２は、生成された描画情報に基づき、給紙テーブル１５０から搬送される用紙に対して画像形成を実行する。即ち、プリントエンジン１６０が画像形成部として機能する。プリントエンジン１６０の具体的態様としては、インクジェット方式による画像形成機構や電子写真方式による画像形成機構等を用いることが可能である。プリントエンジン１６０によって画像形成が施された文書は排紙トレイ１７０に排紙される。
【００４２】
画像形成装置１がスキャナとして動作する場合は、ユーザによるディスプレイパネル１４０の操作若しくはネットワークＩ／Ｆ１８０を介して外部のクライアント用の情報処理端末等から入力されるスキャン実行指示に応じて、操作表示制御部１０５若しくは入出力制御部１０３が主制御部１０１にスキャン実行信号を転送する。主制御部１０１は、受信したスキャン実行信号に基づき、エンジン制御部１０２を制御する。
【００４３】
エンジン制御部１０２は、ＡＤＦ１１０を駆動し、ＡＤＦ１１０にセットされた撮像対象原稿をスキャナユニット１２０に搬送する。また、エンジン制御部１０２は、スキャナユニット１２０を駆動し、ＡＤＦ１１０から搬送される原稿を撮像する。また、ＡＤＦ１１０に原稿がセットされておらず、スキャナユニット１２０に直接原稿がセットされた場合、スキャナユニット１２０は、エンジン制御部１０２の制御に従い、セットされた原稿を撮像する。即ち、スキャナユニット１２０が撮像部として動作する。
【００４４】
撮像動作においては、スキャナユニット１２０に含まれるＣＣＤ等の撮像素子が原稿を光学的に走査し、光学情報に基づいて生成された撮像情報が生成される。エンジン制御部１０２は、スキャナユニット１２０が生成した撮像情報を画像処理部１０４に転送する。画像処理部１０４は、主制御部１０１の制御に従い、エンジン制御部１０２から受信した撮像情報に基づき画像情報を生成する。画像処理部１０４が生成した画像情報はＨＤＤ４０等の画像形成装置１に装着された記憶媒体に保存される。即ち、スキャナユニット１２０、エンジン制御部１０２及び画像処理部１０４が連動して、原稿読み取り部として機能する。
【００４５】
画像処理部１１０４によって生成された画像情報は、ユーザの指示に応じてそのままＨＤＤ４０等に格納され若しくは入出力制御部１０３及びネットワークＩ／Ｆ１８０を介して外部の装置に送信される。即ち、スキャナユニット１２０及びエンジン制御部１０２が画像入力部として機能する。
【００４６】
また、画像形成装置１が複写機として動作する場合は、エンジン制御部１０２がスキャナユニット１２０から受信した撮像情報若しくは画像処理部１０４が生成した画像情報に基づき、画像処理部１０４が描画情報を生成する。その描画情報に基づいてプリンタ動作の場合と同様に、エンジン制御部１０２がプリントエンジン１６０を駆動する。
【００４７】
このような画像形成装置１において、本実施形態に係る要旨は、画像処理部１０４によるモジュールブロックの自動構成にある。以下、本実施形態に係る画像処理部１０４の機能及び動作について説明する。図３は、本実施形態に係る画像処理部１０４に含まれる機能を示すブロック図である。図３に示すように、本実施形態に係る画像処理部１０４は、ＰＤＬ解析部２１０、中間データ記憶部２２０、ハードウェアリソース記憶部２３０、モジュール生成部２４０、ＤＬ（Ｄｉｓｐｌａｙ  Ｌｉｓｔ：ディスプレイリスト）処理部２５０、ＤＬ解釈部２６０、描画処理部２７０及びページメモリ２８０を含む。
【００４８】
また、ＤＬ処理部２５０は、ＤＬ生成部２５１及びＤＬ保存メモリ２５２ａ、２５２ｂ、２５２ｃ・・・（以降、ＤＬ保存メモリ２５２とする）を含む。また、描画処理部２７０は、ハードウェア描画部２７１及びソフトウェア描画部２７２ａ、２７２ｂ・・・（以降、ソフトウェア描画部２７２とする）を含む。図３においては、画像形成装置１のハードウェア構成に関わらず動作しているブロックを実線で示し、ハードウェアに応じて動的に構成されるブロックを破線で示している。
【００４９】
ＰＤＬ解析部２１０は、ＰＤＬで記述された印刷情報を取得し、ＤＬ処理部２５０がディスプレイリストを生成するために処理可能な形式の中間データに変換して、中間データ記憶部２２０に記憶させる。この変換された形式の情報が、ＤＬ処理部２５０において描画命令として処理される。
【００５０】
中間データ記憶部２２０は、ＰＤＬ解析部２１０によって生成された中間データを記憶する記憶領域である。この中間データ記憶部２２０は、制御プログラムの一部としてＲＡＭ２０の記憶領域の一部に設けられる他、ＨＤＤ５０等の不揮発性記憶媒体の一部に設けることもできる。
【００５１】
ハードウェアリソース記憶部２３０は、画像形成装置１に搭載されているＣＰＵ１０のコア数や、ハードウェア、即ち回路によって構成されている描画処理部の数等、ハードウェアリソースの情報（以降、ハードウェア情報とする）を記憶している記憶部、即ち、ハードウェア情報記憶部である。ハードウェアリソース記憶部２３０は、ＨＤＤ５０等の内蔵された不揮発性記憶媒体の他、取り外し可能な可搬型の記憶媒体によって構成しても良い。
【００５２】
モジュール生成部２４０は、ハードウェアリソース記憶部２３０に記憶されているハードウェア情報に基づいてＤＬ処理部２５０及び描画処理部２７０夫々に、ソフトウェアによる処理モジュールを生成する。換言すると、モジュール生成部２４０は、ハードウェア情報に基づいてＤＬ処理部２５０のＤＬ保存メモリ２５２及び描画処理部２７０において動作するハードウェア描画部２７１及びソフトウェア描画部２５２の数を決定し、動作させる。即ち、モジュール生成部２４０が、動作モジュール決定部及びモジュール制御部として機能する。
【００５３】
モジュール生成部２４０による処理モジュールの生成処理は、画像形成装置１への電源投入時若しくは画像形成装置１に印刷ジョブが入力されることに応じて実行される。この他、画像形成装置１が省電力状態から通常状態に遷移する際や、その逆に通常状態から省電力状態に遷移する際等に、モジュール生成部２４０による処理モジュールの生成処理が実行される。図３の例においては、ＤＬ保存メモリ２５２ａ、２５２ｂ、２５２ｃ並びにソフトウェア描画部２７２ａ、２７２ｂがモジュール生成部２４０によって生成されたモジュールである。
【００５４】
図４に、本実施形態に係るハードウェアリソース記憶部２３０に記憶されているハードウェア情報の例を示す。図４に示すように、本実施形態に係るハードウェア情報は、並列処理可能なハードウェア描画部の数（Ｈ）及び、画像処理に使用可能なＣＰＵコアの数（Ｓ）の情報を夫々記憶している。このような情報に応じて、図３に示されるＤＬ保存メモリ２５２及びソフトウェア描画部２７２の数が決定される。尚、図４の例においては、ＣＰＵコアの数を示しているが、図４に示す（Ｓ）の要旨は並列処理可能なスレッド数、即ち演算処理の単位の数であり、ＣＰＵコアの数と並列処理可能なスレッド数とが異なる場合、スレッド数を（Ｓ）とすることが好ましい。
【００５５】
ＤＬ処理部２５０は、描画処理部２７０が描画情報を生成するためのディスプレイリストを生成して保存する。具体的には、ＤＬ生成部２５１が、中間データ記憶部２２０に格納された中間データに基づいてディスプレイリストを作成し、生成したディスプレイリストを複数の描画処理手段毎に生成されたＤＬ保存メモリ２５２のいずれかに記憶手段に記憶させる。即ち、ＤＬ生成部２５１が、ページ記述言語に基づいて得られた描画命令を取得する描画命令取得部として機能する。また、ＤＬ生成部２５１は、ディスプレイリスト、即ち、描画すべき図形毎に情報がまとめられた図形情報を生成する図形情報生成部として機能する。
【００５６】
ＤＬ保存メモリ２５２は、描画処理部２７０に含まれるハードウェア描画部２７１及びソフトウェア描画部２７２の数に応じて、モジュール生成部２４０によって生成される記憶領域である。本実施形態においては、描画処理部２７０内のハードウェア描画部２７１及びソフトウェア描画部２７２の夫々に対応してＤＬ保存メモリ２５２が設けられる。ＤＬ解釈部２６０は、ＤＬ生成部２５１によって生成され且つＤＬ保存メモリ２５２に保存されたディスプレイリストを解釈し、描画処理部２７０によって処理可能な形式に変換する。即ち、ＤＬ保存メモリ２５２が、図形情報記憶部として機能する。
【００５７】
描画処理部２７０は、ＤＬ解釈部２６０によって解釈されたディスプレイリストに基づき、描画処理を実行する。具体的には、描画処理部２７０に含まれるハードウェア描画部２７１及びソフトウェア描画部２７２が、ディスプレイリストに基づいてラスタデータを生成する。即ち、描画処理部２７０に含まれるハードウェア描画部２７１及びソフトウェア描画部２７２が、描画情報生成部として機能する。
【００５８】
ページメモリ２８０は、描画処理部２７０によって生成されたラスタデータを記憶する記憶領域である。ページメモリ２８０にラスタデータが格納されることにより、そのラスタデータに基づいてプリントエンジン１６０が画像形成出力を実行する。
【００５９】
次に、本実施形態に係るモジュール生成部２４０による処理モジュールの生成処理について説明する。図５は、本実施形態に係るモジュール生成部２４０の動作を示すフローチャートである。図５に示すように、モジュール生成部２４０は、処理モジュールの生成処理を開始すると、まずハードウェアリソース記憶部２３０に記憶されているハードウェア情報を参照する（Ｓ５０１）。
【００６０】
ハードウェア情報を参照した結果、（Ｈ）と（Ｓ）の合計が“１”である場合（Ｓ５０２／Ｙｅｓ）、この場合、モジュール生成部２４０は、ＣＰＵコア数が“０”になることはないので、ハードウェア描画部２７１の数が“０”であり、ＣＰＵコア数が“１”であると判断する。この場合、並列処理が不可能であるため、モジュール生成部２４０は、１つのソフトウェア描画部２７２及び１つのＤＬ保存メモリ２５２を生成し（Ｓ５０３）、処理を終了する。
【００６１】
ハードウェア描画部２７１の数が“０”であり、ＣＰＵコア数が“１”である場合、全ての処理はＣＰＵ１０内の１つのコアによって実行されるため、並列処理は行われない。従って、モジュール生成部２４０は、描画処理部２７０内にソフトウェア描画部２７２を１つ生成すると共に、その１つのソフトウェア描画部２７２のために１つのＤＬ保存メモリ２５２を生成する。
【００６２】
他方、（Ｈ）と（Ｓ）の合計が“２”以上である場合（Ｓ５０２／Ｎｏ）、次に、モジュール生成部２４０は、ＣＰＵコア数が“２”以上であるか否か判断する（Ｓ５０４）。効率的な並列処理を実現するためには、描画処理部２７０内に生成されるソフトウェア描画部２７２を制御するＣＰＵコアとＰＤＬ解析部２１０やＤＬ生成部２５１並びにＤＬ解釈部２６０を制御するＣＰＵコアとを分けることが好ましい。従って、Ｓ５０４の判断において、ＣＰＵコア数が“１”である場合（Ｓ５０４／Ｎｏ）、その１つのＣＰＵコアにＰＤＬ解析部２１０やＤＬ生成部２５１並びにＤＬ解釈部２６０を制御させるため、モジュール生成部２４０は、ソフトウェア描画部２７２を生成せず、ハードウェア描画部２７１の数と同数のＤＬ保存用メモリ２５２を生成し（Ｓ５０６）、処理を終了する。
【００６３】
他方、ＣＰＵコア数が“２”以上である場合、（Ｓ５０４／Ｙｅｓ）、モジュール生成部２４０は、ＣＰＵコア数よりも“１”少ない数のソフトウェア描画部２７２を生成すると共に、ハードウェア描画部２７１とソフトウェア描画部２７２との合計の数のＤＬ保存用メモリ２５２を生成し（Ｓ５０５）、処理を終了する。
【００６４】
このように、本実施形態に係る画像処理部１０４においては、モジュール生成部２４０が、ハードウェアリソース記憶部２３０に記憶されたハードウェア情報に基づき、並列処理が効率的に実行されるように、各処理モジュールを生成する。このような構成により、ハードウェア構成の異なる画像形成装置であっても、ハードウェアリソース記憶部２３０に格納するハードウェア情報を書き換えるのみで、同一のプログラムを適用することができるため、装置毎にプログラムを設計及び供給する必要がなく、設計負荷を低減することが可能となる。
【００６５】
次に、このようにして描画処理部２７０及びＤＬ処理部２５０が構成された画像形成装置１の動作について、図６を参照して説明する。図６は、本実施形態に係る画像処理部１０４の画像形成出力時の動作を示すシーケンス図である。図６においては、ＰＤＬ解析部２１０によって中間データ記憶部２２０に中間データが保存された後の処理を説明する。
【００６６】
図６に示すように、中間データ記憶部２２０に中間データが保存されると、ＤＬ生成部２５１が、ディスプレイリストを生成する。ＤＬ生成部２５１によるディスプレイリストの生成は、図６に示す“ＤＬ生成１”、“ＤＬ生成２”のように、データのまとまり毎に実行される。このデータのまとまりとは、例えば印刷のページ毎や、１つのページを分割した夫々の範囲（バンド）毎である。ＤＬ生成部２５１は、並列処理のために、生成したディスプレイリストを、夫々異なるＤＬ保存メモリ２５２に記憶させる。
【００６７】
夫々のＤＬ保存メモリ２５２に入力されたディスプレイリストは、ＤＬ解釈部２６０に出力される。ＤＬ解釈部２６０は、ＤＬ保存メモリから出力されたディスプレイリストを描画処理部２７０が処理可能な形式に変換した上で、夫々のＤＬ保存メモリに対応するハードウェア描画部２７１若しくはソフトウェア描画部２７２に出力する。
【００６８】
描画処理部２７０に含まれるハードウェア描画部２７１若しくはソフトウェア描画部２７２は、ＤＬ解釈部２６０から取得した情報に基づき、“描画処理１”、“描画処理２”のように、夫々が並行して描画処理を実行する。ハードウェア描画部２７１、ソフトウェア描画部２７２は描画処理によって生成したラスタデータをページメモリ２８０に出力する。これにより、プリントエンジン１６０によって画像形成出力が実行される。このように、画像形成出力に際して実行される処理のなかでも処理量の多い描画処理について、ハードウェア描画部２７１及びソフトウェア描画部２７２が並行して処理を実行することにより、画像形成出力が完了するまでの時間を短縮することが可能となる。
【００６９】
以上説明したように、本実施形態に係る画像形成装置１によれば、画像形成出力を実行するための描画処理を、装置のハードウェア構成に応じて効率的に並列化するために、ハードウェアリソース記憶部１４４及びモジュール生成部１４３を設ける。これにより、装置のハードウェア構成に応じてソフトウェア描画部２７２及びＤＬ保存メモリ２５２の数が決定されるため、同一の制御プログラムをハードウェア構成の異なる装置に適用することが可能となり、夫々のハードウェア構成に応じた好適な処理モジュールが構成されるため、処理を効率的に並列化することが可能となる。
【００７０】
尚、本実施形態においては、図４において説明したように、ハードウェア描画部２７１の例として並列処理可能なハードウェア描画部のみを例として説明した。これは、換言すると、ＣＰＵ１０による制御を必要としない、即ち、演算手段による制御とは独立したハードウェア描画部である。しかしながら、ハードウェア描画部２７１としては、イメージ、グラフィックス、テキスト等の全ての描画処理が可能なハードウェア描画部や、イメージ描画に特化したハードウェア描画部が存在する。このイメージ描画に特化したハードウェア描画部の場合、ソフトウェア描画の一部を補う形になるため、ＣＰＵによる制御を必要とする。換言すると、イメージ描画に特化したハードウェア描画部とそのハードウェア描画部が処理を補うソフトウェア描画部とは連動して動作するため、両者は並列処理できない。そのような場合の例について、以下に説明する。
【００７１】
図７は、ハードウェア描画部２７１としてイメージ描画に特化したハードウェア描画部２７１が含まれる場合のハードウェア情報を示す図であり、図４に対応する。図７に示すように、並列処理可能なハードウェア描画部数（Ｈ１）と、ソフトウェアと連動するハードウェア描画部数（Ｈ０）とが夫々別々に記憶されている。
【００７２】
次に、図７の例の場合に係るモジュール生成部１４３の動作について、図８を参照して説明する。図８は、本実施形態に係るモジュール生成部２４０の動作を示すフローチャートであり、図５に対応する。図８に示すように、モジュール生成部２４０は、処理モジュールの生成処理を開始すると、まずハードウェアリソース記憶部２３０に記憶されているハードウェア情報を参照する（Ｓ８０１）。
【００７３】
ハードウェア情報を参照した結果、Ｈ１とＳの合計が“１”である場合（Ｓ８０２／Ｙｅｓ）、この場合、モジュール生成部２４０は、ＣＰＵコア数が“０”になることはないので、ハードウェア描画部２７１の数が“０”であり、ＣＰＵコア数が“１”であると判断する。この場合、モジュール生成部は、１つのソフトウェア描画部２７２及び１つのＤＬ保存メモリ２５２を生成し（Ｓ８０３）、処理を終了する。
【００７４】
ハードウェア描画部２７１の数が“０”であり、ＣＰＵコア数が“１”である場合、全ての処理はＣＰＵ１０内の１つのコアによって実行されるため、並列処理は行われない。従って、モジュール生成部２４０は、描画処理部２７０内にソフトウェア描画部２７２を１つ生成すると共に、その１つのソフトウェア描画部２７２のために１つのＤＬ保存メモリ２５２を生成する。この際、並列処理が不可能なハードウェア描画部がある場合、生成されるソフトウェア描画部２７２は、ハードウェア描画部と連動して動作するハード＆ソフトウェア描画部として機能する。
【００７５】
他方、ＨとＳの合計が“２”以上である場合（Ｓ８０２／Ｎｏ）、次に、モジュール生成部２４０は、ＣＰＵコア数が“２”以上であるか否か判断する（Ｓ８０４）。効率的な並列処理を実現するためには、描画処理部２７０内に生成されるソフトウェア描画部２７２を制御するＣＰＵコアとＰＤＬ解析部２１０やＤＬ生成部２５１並びにＤＬ解釈部２６０を制御するＣＰＵコアとを分けることが好ましい。従って、Ｓ５０４の判断において、ＣＰＵコア数が“１”である場合（Ｓ８０４／Ｎｏ）、モジュール生成部２４０は、ソフトウェア描画部２７２を生成せず、ハードウェア描画部２７１の数と同数のＤＬ保存用メモリ２５２を生成し（Ｓ８０６）、処理を終了する。
【００７６】
Ｓ８０６の場合において、ソフトウェアと連動して動作するハードウェ描画部がある場合でも、描画処理に割り振ることができるＣＰＵコアがないため、そのためのソフトウェアを動作させることができず、ソフトウェアと連動して動作するハードウェア描画部は用いられない。
【００７７】
他方、ＣＰＵコア数が“２”以上である場合、（Ｓ８０４／Ｙｅｓ）、モジュール生成部２４０は、ＣＰＵコア数よりも“１”少ない数とソフトウェアと連動するハードウェア描画部の数のうち少ない数（ｍｉｎ（Ｓ−１，Ｈ０））のハード＆ソフトウェア描画部を生成すると共に、ＣＰＵコア数よりも“１”少ない数からハード＆ソフトウェア描画部の数を減じた数のソフトウェア描画部２７２を生成し、更に、ハードウェア描画部２７１、ソフトウェア描画部２７２及びハード＆ソフトウェア描画部の合計の数のＤＬ保存用メモリ２５２を生成し（Ｓ８０５）、処理を終了する。
【００７８】
このように、ソフトウェアと連動するハードウェア描画部、即ち、ＣＰＵによって制御されるハードウェア描画部が含まれる場合であっても、図８に示すような処理を実行することにより、上記と同様の効果を得ることが可能となる。
【００７９】
また、ハードウェア描画部２７１とソフトウェア描画部２７２の処理性能を比較した場合、一般的にハードウェア描画部２７１の方が高い処理性能を有する。従って、処理量が同程度の描画処理をハードウェア描画部２７１及びソフトウェア描画部２７２に実行させた場合、ハードウェア描画部２７１の方が先に処理を完了する。並列処理を効率的に行い、全体の処理時間を短縮するためには、ハードウェア描画部２７１及びソフトウェア描画部２７２が夫々処理を完了する時間を同程度にすることが好ましく、そのために、ハードウェア描画部２７１の方により多くの描画処理を実行させることが好ましい。
【００８０】
上述したように、ハードウェア描画部２７１により多くの描画処理を実行させる態様は、ＤＬ生成部２５１が各ＤＬ保存メモリ２５２にディスプレイリストを記憶させる際、ハードウェア描画部２７１に対応するＤＬ保存メモリ２５２に、より多くのディスプレイリストを記憶させることにより実現可能である。この場合、ＤＬ生成部２５１がハードウェア描画部２７１に関連付けられているＤＬ保存メモリ２５２を認識して、より多くのディスプレイリストを記憶させるようにすることができる。
【００８１】
この他、例えば、モジュール生成部２４０がＤＬ保存メモリ２５２を生成する際、ハードウェア描画部２７１に対応させるＤＬ保存メモリ２５２の記憶領域を広く確保することが考えられる。これにより、ＤＬ生成部２５１が各ＤＬ保存メモリ２５２の記憶領域を認識して、記憶領域に応じた量のディスプレイリストを記憶させることにより、ハードウェア描画部２７１に関連付けられているＤＬ保存メモリ２５２により多くのディスプレイリストを記憶させるようにすることができる。
【００８２】
実施の形態２．
実施の形態１においては、図４において説明したように、画像形成装置１に含まれるハードウェア構成をそのまま示すハードウェア情報がハードウェアリソース記憶部２３０に記憶されている場合を例として説明した。本実施形態においては、ハードウェアリソース記憶部２３０に格納するハードウェア情報を工夫することにより、更に柔軟な装置運用を実現する場合を例として説明する。尚、実施の形態１と同様の符号を付す構成については、実施の形態１と同一または相当部を示すものとし、詳細な説明を省略する。
【００８３】
図９（ａ）〜（ｃ）は、本実施形態に係るハードウェアリソース記憶部１４４に記憶されているハードウェア情報の例を示す図である。図９（ａ）〜（ｃ）に示すように、本実施形態においては、画像形成装置１の動作モード毎にハードウェア情報が記憶される。図９（ａ）に示すハードウェア情報は、画像形成装置１が通常モードである場合のハードウェア情報であり、図４と同一である。
【００８４】
図９（ｂ）は、画像形成装置１が省電力モードである場合のハードウェア情報である。図９（ｂ）に示すように、画像形成装置１が省電力モードである場合、並列処理可能なハードウェア描画部数（Ｈ）が“０”、ＣＰＵコア数（Ｓ）が“１”に設定されている。この場合、図５の動作の結果Ｓ５０３の処理が実行され、画像形成装置１は、シングルスレッドで動作する。これにより、省電力効果を高めることができる。
【００８５】
図９（ｃ）は、画像形成装置１がコピーを優先するモード（以降、コピー優先モードとする）である場合のハードウェア情報である。図９（ｃ）に示すように、画像形成装置１がコピー優先モードである場合、並列処理可能なハードウェア描画部数（Ｈ）、ＣＰＵコア数（Ｓ）共に“１”に設定されている。この場合、実際のＣＰＵコア数は“４”であるため、残り３つのＣＰＵコアがコピー処理のために確保されることとなる。これにより、画像形成装置１にコピーを優先して処理させることができる。
【００８６】
本実施形態に係るモジュール生成部２４０は、図５において説明した態様と同様に動作する。ここで、本実施形態に係るモジュール生成部２４０は、図５のＳ５０１においてハードウェア情報を参照する際、画像形成装置１の動作モードを確認し、画像形成装置１の動作モードに応じたハードウェア情報を参照する。これにより、画像形成装置１の動作モードに応じた処理モジュールが生成される。
【００８７】
このように、本実施形態に係る画像形成装置１においては、ハードウェアリソース記憶部２３０に、画像形成装置１の動作モードに応じた複数のハードウェア情報を格納しておくことにより、より柔軟な装置運用を実現することが可能になる。
【００８８】
尚、ハードウェアリソース記憶部２３０に格納するハードウェア情報は、ユーザによるディスプレイパネル１４０を介しての情報入力や、ネットワークＩ／Ｆ１８０を介しての情報入力によって追加若しくは更新することが可能である。この他、磁気テープやカセットテープ及び磁気ディスク等の磁気記録媒体やＣＤ、ＭＯ、ＭＤ、ＤＶＤ等の光ディスク、ＰＣカード、コンパクトフラッシュ（登録商標）、スマートメディア（登録商標）、ＩＣカード、ＳＤカード（登録商標）、メモリースティック（登録商標）、ＵＳＢメモリ等、着脱可能な可搬型記憶媒体を介しての情報入力によっても、ハードウェア情報を更新することが可能である。
【００８９】
また、上述したような画像形成装置１の動作モードに応じたハードウェア情報を用いる場合の他、画像形成装置１の故障等に応じてハードウェア情報を書き換えることにより、臨時の対応をするといった活用も可能である。そのような例について以下に説明する。
【００９０】
例えば、図４に示すようにハードウェア描画部２７１が１つ含まれる画像形成装置１において、そのハードウェア描画部２７１に不具合が生じた場合を考える。このような場合、従来の画像形成装置であれば、少なくともハードウェア描画部２７１が修理若しくは交換されるか、若しくは制御プログラムを修正することにより不具合を回避するまで装置を動作させることが不可能であり、そのような対応に時間がかかるため、装置のダウンタイムが長いという課題があった。
【００９１】
このような課題に対して、本実施形態に係る画像形成装置１においては、ハードウェアリソース記憶部２３０に格納されているハードウェア情報を更新することにより、容易に対応することが可能である。図１０に、更新されたハードウェア情報の例を示す。図１０に示すように、更新されたハードウェア情報においては、並列処理可能なハードウェア描画部数（Ｈ）が“０”に設定されている。この状態において図５に示す処理モジュールの生成動作が実行されると、ハードウェア描画部２７１が使用されない状態でＤＬ保存メモリ２５２及びソフトウェア描画部２７２等の処理モジュールが生成される。これにより、ハードウェア描画部が故障した状態であっても、画像形成装置１を容易に動作させることが可能となり、ダウンタイムを低減することができる。
【符号の説明】
【００９２】
１  画像形成装置、
１０  ＣＰＵ、
２０  ＲＡＭ、
３０  ＲＯＭ、
４０  エンジン、
５０  ＨＤＤ、
６０  Ｉ／Ｆ、
７０  ＬＣＤ、
８０  操作部、
９０  バス、
１００  コントローラ、
１０１  主制御部、
１０２  エンジン制御部、
１０３  入出力制御部、
１０４  画像処理部、
１０５  操作表示制御部、
１１０  ＡＤＦ、
１２０  スキャナユニット、
１３０  排紙トレイ、
１４０  ディスプレイパネル、
１５０  給紙テーブル、
１６０  プリントエンジン、
１７０  排紙トレイ、
１８０  ネットワークＩ／Ｆ、
２１０  ＰＤＬ解析部、
２２０  中間データ記憶部、
２３０  ハードウェアリソース記憶部、
２４０  モジュール生成部、
２５０  ＤＬ処理部、
２５１  ＤＬ生成部、
２５２、２５２ａ、２５２ｂ、２５２ｃ  ＤＬ保存メモリ、
２６０  ＤＬ解釈部、
２７０  描画処理部、
２７１  ハードウェア描画部、
２７２、２７２ａ、２７２ｂ  ソフトウェア描画部、
２８０  ページメモリ、
【先行技術文献】
【特許文献】
【００９３】
【特許文献１】特開２００６−７４９６号公報
【特許文献２】特開２００７−１９６４６８号公報
【図１】
2010280101.tif 000003
【図２】
2010280101.tif 000004
【図３】
2010280101.tif 000005
【図４】
2010280101.tif 000006
【図５】
2010280101.tif 000007
【図６】
2010280101.tif 000008
【図７】
2010280101.tif 000009
【図８】
2010280101.tif 000010
【図９】
2010280101.tif 000011
【図１０】
2010280101.tif 000012