(57)【要約】【課題】より少ないワークメモリ量で複数種別のページ記述言語（ＰＤＬ）をサポートする画像処理装置、画像処理方法、画像形成装置及びプログラムを提供すること。【解決手段】本実施形態における画像処理装置は、印刷ジョブのＰＤＬ種別を判定するＰＤＬ種別判定手段と、処理モジュールを用いて、印刷ジョブに含まれるＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する処理を実行するＰＤＬ処理手段とを備える。ＰＤＬ処理手段は、複数のＰＤＬ種別にそれぞれ対応する複数の処理モジュールのなかから、判定された印刷ジョブのＰＤＬ種別に対応する有効な少なくとも１つの処理モジュールを用いて印刷ジョブのＰＤＬ処理を実行する。【選択図】図２
2016132116.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブのＰＤＬ種別を判定するＰＤＬ種別判定手段と、
処理モジュールを用いて、前記印刷ジョブに含まれるＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する処理を実行するＰＤＬ処理手段と、
前記ＰＤＬ処理手段は、複数のＰＤＬ種別にそれぞれ対応する複数の処理モジュールのなかから、判定された前記印刷ジョブのＰＤＬ種別に対応する有効な少なくとも１つの処理モジュールを用いて印刷ジョブのＰＤＬ処理を実行する
ことを特徴とする画像処理装置。
【請求項２】
前記ＰＤＬ処理手段は、印刷ジョブの受信時に、判定された前記印刷ジョブのＰＤＬ種別に対応する処理モジュールを有効化する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ＰＤＬ処理手段は、
画像処理装置の起動時に、少なくとも１つの処理モジュールを有効化し、
印刷ジョブの受信時に、判定された前記印刷ジョブのＰＤＬ種別に対応する処理モジュールが有効である場合、当該処理モジュールを用いて印刷ジョブのＰＤＬ処理を実行し、
判定された前記印刷ジョブのＰＤＬ種別に対応する処理モジュールが無効である場合、現在有効な前記少なくとも１つの処理モジュールを無効化し、判定された前記印刷ジョブのＰＤＬ種別に対応する処理モジュールを有効化し、当該処理モジュールを用いて印刷ジョブのＰＤＬ処理を実行する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記ＰＤＬ処理手段は、処理モジュールをグループ化した処理モジュールグループ単位で有効化または無効化する
ことを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記ＰＤＬ処理手段は、前記画像処理装置の起動時に、前記少なくとも１つの処理モジュールの必要ワークメモリ量の合計が、ＰＤＬ処理のために割り当てられるワークメモリ量の範囲内になるように、前記少なくとも１つの処理モジュールを有効化する
ことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記ＰＤＬ処理手段は、印刷ジョブの受信時に、ＰＤＬ処理に割り当て可能なワークメモリ残量が、判定された前記印刷ジョブのＰＤＬ種別に対応する処理モジュールの必要ワークメモリ量を下回る場合、前記ワークメモリ残量が、判定された前記印刷ジョブのＰＤＬ種別に対応する処理モジュールの必要ワークメモリ量以上になるように、現在有効な前記少なくとも１つの処理モジュールを無効化する
ことを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記ＰＤＬ処理手段は、前記画像処理装置の起動時に、前回のシャットダウン時に有効であった前記少なくとも１つの処理モジュールを有効化する
ことを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記画像処理装置は、前記ＰＤＬ処理手段の処理履歴から、前記少なくとも１つの処理モジュールの使用頻度を算出する使用頻度算出手段をさらに備え、
前記ＰＤＬ処理手段は、前記画像処理装置の起動時に、前記使用頻度の高い順に前記少なくとも１つの処理モジュールを有効化する
ことを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記画像処理装置は、前記ＰＤＬ処理手段の処理履歴から、前記少なくとも１つの処理モジュールの使用頻度を算出する使用頻度算出手段をさらに備え、
前記ＰＤＬ処理手段は、印刷ジョブの受信時に、前記使用頻度の低い順に前記少なくとも１つの処理モジュールを無効化する
ことを特徴とする請求項１から８のいずれか１項に記載の画像処理装置。
【請求項１０】
印刷ジョブのＰＤＬ種別を判定するＰＤＬ種別判定ステップと、
処理モジュールを用いて、前記印刷ジョブに含まれるＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する処理を実行するＰＤＬ処理ステップと、
前記ＰＤＬ処理ステップは、複数のＰＤＬ種別にそれぞれ対応する複数の処理モジュールのなかから、判定された前記印刷ジョブのＰＤＬ種別に対応する有効な少なくとも１つの処理モジュールを用いて印刷ジョブのＰＤＬ処理を実行する
ことを特徴とする画像処理方法。
【請求項１１】
請求項１から９のいずれか１項に記載の画像処理装置と、
前記画像処理装置の前記ＰＤＬ処理手段によって生成されたページデータを印刷する印刷手段とを備える
ことを特徴とする画像形成装置。
【請求項１２】
コンピュータを、請求項１から９のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、画像形成装置及びそのプログラムに関し、より詳細には、より少ないワークメモリ量で複数種別のページ記述言語をサポートする画像処理装置、画像処理方法、画像形成装置及びプログラムに関する。
【背景技術】
【０００２】
コンピュータ上で作成された文章や画像を印刷する際に、コンピュータが印刷装置等の画像形成装置に対して描画指示を行うために、種々のページ記述言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ，以下「ＰＤＬ」と記す）が知られている。代表的なＰＤＬとしては、例えばＬＩＰＳ  ＬＸ（以下「ＬＩＰＳ」と記す）、ＰｏｓｔＳｃｒｉｐｔ（以下「ＰＳ」と記す）、ＰＤＦなどが存在する。
【０００３】
一般的に、印刷装置は、複数のＰＤＬ種別での印刷をサポートしている。これらの印刷装置は、複数のＰＤＬ種別で記述された描画命令をそれぞれ解釈することができ、描画命令に基づいてページデータ（ビットマップデータ）を生成する。さらに、これらのプリンタ等の画像形成装置は、生成されたページデータに対して印刷処理を施す。
【０００４】
このような印刷装置は、印刷装置の起動時に、サポートしている全てのＰＤＬについて必要な全ての処理機構を有効化する。そして、印刷装置は、印刷ジョブの受信時にＰＤＬ種別を判定して、当該印刷ジョブの処理に必要なＰＤＬの処理機構を用いて印刷を行う。このような印刷装置として、例えば特許文献１によれば、複数のＰＤＬ種別をサポートし、割り込み印刷が発生した場合に、ＰＤＬ処理に必要なワークメモリ領域を切り替えて印刷処理を行う印刷装置が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２２０４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
印刷装置のなかには、機能が限定されている代わりに低価格で提供される、ローエンドモデルと呼ばれる印刷装置が存在する。このような印刷装置は、一般的に搭載メモリ量が限られているものが多い。このような印刷装置において、サポートするＰＤＬ種別が増えると、ＰＤＬ処理のためのワークメモリ量を増やす必要があり、コストアップに繋がっていた。
【課題を解決するための手段】
【０００７】
本発明に係る画像処理装置は、印刷ジョブのＰＤＬ種別を判定するＰＤＬ種別判定手段と、処理モジュールを用いて、前記印刷ジョブに含まれるＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する処理を実行するＰＤＬ処理手段と、前記ＰＤＬ処理手段は、複数のＰＤＬ種別にそれぞれ対応する複数の処理モジュールのなかから、判定された前記印刷ジョブのＰＤＬ種別に対応する有効な少なくとも１つの処理モジュールを用いて印刷ジョブのＰＤＬ処理を実行することを特徴とする。
【発明の効果】
【０００８】
本発明における印刷装置では、印刷ジョブ受信時に、印刷ジョブのＰＤＬ種別を判定し、ＰＤＬ種別に対応する処理モジュールを切り替えてＰＤＬ処理を実行する。かかる構成により、より少ないワークメモリ量で複数のＰＤＬ種別をサポートすることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】実施形態における画像形成装置のハードウェア構成の一例を示す図である。
【図２】実施形態における画像形成装置のソフトウェア機能構成の一例を示す図である。
【図３】実施形態における管理テーブルの内容の一例を示す図である。
【図４】図４（ａ）は、各処理モジュールの有効／無効と、ＰＤＬ処理を実行するために必要なワークメモリ量との対応関係を示す図である。図４（ｂ）は、ＰＤＬ処理を実行するために必要なワークメモリ量を示す模式図である。
【図５】実施形態における印刷ジョブの処理内容例を示すフローチャートである。
【図６】実施形態２における起動時の処理内容例を示すフローチャートである。
【図７】実施形態２における印刷ジョブの処理内容例を示すフローチャートである。
【図８】変形例における管理テーブルの内容の一例を示す図である。
【図９】実施形態３における起動時の処理内容例を示すフローチャートである。
【図１０】実施形態３における管理テーブルの内容の一例を示す図である。
【図１１】実施形態３における起動時の処理内容例を示すフローチャートである。
【図１２】実施形態４における起動時の処理内容例を示すフローチャートである。
【図１３】実施形態５における起動時の処理内容例を示すフローチャートである。
【図１４】実施形態５における印刷ジョブの処理内容例を示すフローチャートである。
【図１５】実施形態５における使用頻度テーブルの内容の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を参照して説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。また、実施形態で説明されている構成要素の組み合わせのすべてが、課題を解決するための手段に必須のものとは限らない。
【００１１】
＜実施形態１＞
図１は、本実施形態における画像形成装置１００のハードウェア構成の一例を示す図である。
【００１２】
ＣＰＵ１０１は、システムバス１０８を介して画像形成装置１００内の各構成要素の制御、演算、及び記憶部に格納されたプログラムの実行を司る。ＣＰＵ１０１は、ＨＤＤ１０４に格納されているプログラムをＲＡＭ１０３に展開し、展開されたプログラムコードを実行することにより、画像形成装置１００の各機能及び各フローチャートに係る処理を実現する。ＲＡＭ１０３は、画像形成装置１００の主記憶部であり、画像形成装置１００のワークメモリとして用いられる。ＨＤＤ１０４は、画像形成装置１００の大容量の補助記憶部であり、ＣＰＵ１０１によって実行される各制御プログラムを格納するとともに、ＣＰＵ１０１によって処理されるデータの記憶部としても用いられる。ＲＯＭ１０６は、画像形成装置１００の記憶部であり、画像形成装置１００の起動処理プログラムが格納されている。
【００１３】
ネットワークインターフェース（以下、インターフェースは「Ｉ／Ｆ」と記す）１０２は、ネットワークを介して、ホストコンピュータ等の画像形成装置１００とは異なる他の装置と相互に通信を行うインターフェースである。エンジンＩ／Ｆ１０５は、プリンタエンジン１０７との通信及び制御を司る。プリンタエンジン１０７は、例えば電子写真技術やインクジェット画像形成技術に基づいて、画像を物理紙面上に形成する。
【００１４】
図２は、本実施形態における画像形成装置１００のソフトウェア機能構成の一例を示す図である。以下、図２を参照して本実施形態における画像形成装置１００のソフトウェア機能構成について説明する。図２に示される画像形成装置１００のソフトウェア構成要素は、それぞれ記憶部に格納されたプログラムコードがＲＡＭ１０３に展開され、ＣＰＵ１０１によって実行される。
【００１５】
ジョブコントローラ２００は、画像形成装置１００における各ソフトウェア構成要素を統括制御する。ジョブ受信部２０１は、ネットワークＩ／Ｆ１０２を介して印刷ジョブ受信し、受信した印刷ジョブを記憶部２０４に格納する処理を実行する。記憶部２０４は、ＲＡＭ１０３上に実装されていてもよいし、ＨＤＤ１０４上に実装されていてもよい。ＰＤＬ種別判定部２０２は、印刷ジョブに含まれる描画命令が、いずれのＰＤＬ種別によって記述されているかを判定する処理を実行する。
【００１６】
ワークメモリ制御部２０３は、画像形成装置１００におけるメモリコントローラであり、ワークメモリの確保及び解放などのメモリ制御を実行する。記憶部２０４は、ＲＡＭ１０３またはＨＤＤ１０４上に実装され、各処理モジュールが印刷ジョブを処理する際に生成される中間データ、ページデータ、及び不揮発性データなどを格納するための記憶領域として用いられる。使用頻度算出部２０５は、記憶部２０４に格納されるＰＤＬ処理部２０６の処理履歴を参照し、各個別処理モジュールの使用頻度をＰＤＬ種別ごとに算出する。
【００１７】
ＰＤＬ処理部２０６は、印刷ジョブをＰＤＬ処理するための各処理モジュール（共通処理モジュール２０７、ＬＩＰＳ処理モジュール２０８、ＰＳ処理モジュール２０９、及びＸＰＳ処理モジュール２１０）を管理する。具体的には、ＰＤＬ処理部２０６は、ジョブコントローラ２００からの指示に基づいて各処理モジュールの有効／無効を切り替える（有効化／無効化）。そして、ＰＤＬ処理部２０６は、有効化した処理モジュールを用いて、印刷ジョブに含まれるＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する処理（以下「ＰＤＬ処理」と記す）を実行する。
【００１８】
ここで、本実施形態における有効化とは、ＲＯＭ１０６等に格納された処理モジュールに係るプログラムをＲＡＭ１０３に展開し、ＣＰＵ１０１がいつでも印刷ジョブのＰＤＬ処理を実行可能な状態にすることをいう。このとき、ジョブコントローラ２００は、ワークメモリ制御部２０３に対して、有効化された処理モジュールに必要な量のワークメモリを確保させる。一方、本実施形態における無効化とは、処理モジュールに係るプログラムを停止し、ＣＰＵ１０１が印刷ジョブのＰＤＬ処理を実行不可能な状態にすることをいう。このとき、ジョブコントローラ２００は、ワークメモリ制御部２０３に対して、ワークメモリ制御部２０３に確保させていたワークメモリを開放し、ＲＡＭ１０３からプログラムを退避させる。
【００１９】
本実施形態の処理モジュールは、共通処理モジュール２０７と、ＬＩＰＳ処理モジュール２０８と、ＰＳ処理モジュール２０９と、ＸＰＳ処理モジュール２１０と、から構成される。共通処理モジュール２０７は、いずれのＰＤＬ処理を実行する際にも用いられる。ＬＩＰＳ処理モジュール２０８、ＰＳ処理モジュール２０９、ＸＰＳモジュール２１０は、それぞれのＰＤＬ処理を実行する際に用いられる。（以下、ＬＩＰＳ処理モジュール２０８、ＰＳ処理モジュール２０９、ＸＰＳモジュール２１０を総称して個別処理モジュールと記す場合がある。）
画像処理部２１１は、ＰＤＬ処理部２０６、及び個別処理モジュールにより生成されたページデータに対して、キャリブレーションや色変換等の画像処理を施す処理を実行する。
【００２０】
ページデータ送信部２１２は、画像処理部２１１によって処理を施されたページデータをページスプーラ２１３に格納し、適宜のタイミングにおいてページスプーラ２１３に格納したページデータを、プリンタエンジン１０７に送信する処理を実行する。このとき、ページデータ送信部２１２は、ページデータをページスプーラに一時格納することなく、直接プリンタエンジン１０７に送信することもできる。さらに、ページスプーラ２１３は、ＲＡＭ１０３上に実装されていてもよいし、ＨＤＤ１０４上に実装されていてもよい。ページデータ送信部２１２が、ページスプーラ２１３に格納したページデータをプリンタエンジンに送信し、プリンタエンジンが送信されたページデータに基づいて印刷処理を行うことにより、画像形成装置１００の印刷処理が完了する。
【００２１】
本実施形態において、ジョブコントローラ２００〜ページスプーラ２１３の構成要素は、コントローラ２１４を構成する。コントローラ２１４は、本発明における画像処理装置に相当し、画像形成装置１００とは別に独立した装置として構成することができる。
【００２２】
次に、本実施形態の要部である、各処理モジュールの有効化／無効化を制御する処理内容について説明する。
【００２３】
図３は、本実施形態における管理テーブル３００の内容の一例を示す図である。管理テーブル３００は、記憶部２０４に格納され、ＰＤＬ処理部２０６が各処理モジュールの有効／無効を制御する際に参照される。管理テーブル３００のサポートＰＤＬフィールドには、各処理モジュールがサポートするＰＤＬ種別が記憶される。状態フィールド３０２には、各処理モジュールが現在有効か無効か（当該ＰＤＬ処理ができる状態か否か）を示す情報が記憶される。処理モジュールフィールド３０３には、各処理モジュールの種別が記憶される。必要ワークメモリフィールド３０４には、各処理モジュールの必要ワークメモリ量が記憶される。
【００２４】
図４（ａ）は、各処理モジュールの有効／無効と、ＰＤＬ処理を実行するために必要なワークメモリ量との対応関係を示す図である。
【００２５】
図４（ａ）に示される通り、全ての個別処理モジュールを有効化する場合、共通処理モジュール２０７と個別処理モジュールとのすべてのワークメモリが必要となるため、ＰＤＬ処理を実行するために必要なワークメモリは１５０ＭＢとなる。また、例えばＬＩＰＳ処理モジュール２０８のみを有効化する場合、共通処理モジュール２０７とＬＩＰＳ処理モジュール２０８との２つのワークメモリが必要となるため、ＬＩＰＳのＰＤＬ処理を実行するために必要なワークメモリは５０ＭＢとなる。その他の個別処理モジュールの場合も同様に、ＰＳ処理モジュール２０９のみを有効化する場合、ＰＳのＰＤＬ処理を実行するために必要なワークメモリは８０ＭＢとなる。ＸＰＳ処理モジュール２１０のみを有効化する場合、ＸＰＳのＰＤＬ処理を実行するために必要なワークメモリは６０ＭＢとなる。
【００２６】
このように、全処理モジュールを同時に有効化する場合、ＰＤＬ処理のために１５０ＭＢのワークメモリ量が必要になるが、ＰＤＬ種別ごとに処理モジュールの有効／無効を切り替えた場合、ＰＤＬ処理を実行するのに必要なワークメモリ量を抑制できる。個別処理モジュールの中で、必要ワークメモリ量が一番大きいＰＳ処理モジュール２０９を有効化した場合、ＰＳのＰＤＬ処理を実行するために８０ＭＢのワークメモリが必要となる。これに対し、ＬＩＰＳ処理モジュール２０８を有効化した場合、ＬＩＰＳのＰＤＬ処理のために５０ＭＢのワークメモリが確保できれば動作可能であるので、ＰＳ処理モジュール２０９を有効化した場合の８０ＭＢ以内で必要なワークメモリを賄えることになる。すなわち、全処理モジュールを有効化する場合に必要なワークメモリ量である１５０ＭＢに対して、本実施形態における画像形成装置１００では、個別処理モジュールの有効／無効を適宜切り替えるため、７０ＭＢの省メモリ化を実現できる。
【００２７】
図４（ｂ）は上記説明した内容を示す模式図である。一例として、ＰＳ処理モジュール２０９を有効化した場合を説明すると、ＰＳのＰＤＬ処理を実行するために必要なワークメモリ量は８０ＭＢである。ＸＰＳまたはＬＩＰＳ処理モジュール２１０，２０８を有効化した場合、それぞれのＰＤＬ処理を実行するために必要なワークメモリ量はそれぞれ６０ＭＢ、５０ＭＢであるから、ＰＳ処理モジュール２０８を有効化した場合の８０ＭＢで賄えることになる。そして、全処理モジュールを同時に有効化する場合、ＰＤＬ処理を実行するために１５０ＭＢのワークメモリ量が必要となるが、ＰＳ処理モジュール２０９のみを有効化した場合と比較して７０ＭＢの省メモリ化を実現できる。
【００２８】
図５は、本実施形態における、印刷ジョブの処理内容例を示すフローチャートである。
【００２９】
Ｓ５０１において、ジョブコントローラ２００が印刷ジョブを受信すると、ＰＤＬ種別判定部２０２は、受信した印刷ジョブのＰＤＬ種別を判定する。
【００３０】
Ｓ５０２において、ジョブコントローラ２００は、ＰＤＬ処理部２０６に対し、印刷ジョブのＰＤＬ種別に対応する処理モジュールの有効化を指示する。本実施形態においては、ＰＤＬ処理部２０６は、共通処理モジュール２０７とＬＩＰＳ処理モジュール２０８とを有効化し、ＰＤＬ処理のために必要なワークメモリ（５０ＭＢ）を確保する。
【００３１】
Ｓ５０３において、ＰＤＬ処理部２０６は、Ｓ５０２で有効化された処理モジュールを用いてＰＤＬ処理を実行し、ページデータを生成する。本実施形態においては、共通処理モジュール２０７とＬＩＰＳ処理モジュール２０８とを用いて印刷ジョブのＰＤＬ処理を実行し、ページデータを生成する。
【００３２】
Ｓ５０４において、ジョブコントローラ２００は、ＰＤＬ処理部２０６に対し、現在有効な処理モジュールの無効化を指示する。本実施形態においては、ＰＤＬ処理部２０６は、共通処理モジュール２０７とＬＩＰＳ処理モジュール２０８とを無効化し、ＰＤＬ処理のために確保されていた５０ＭＢのワークメモリを解放する。
【００３３】
Ｓ５０５において、生成されたページデータがプリンタエンジン１０７に送信され、送信されたページデータに対して印刷処理が施される。
【００３４】
以上説明した通り、本実施形態における画像形成装置１００は、印刷ジョブのＰＤＬ種別を判定し、ＰＤＬ種別に対応する処理モジュールを適宜切り替えてＰＤＬ処理を実行する。このため、複数のＰＤＬ種別に対応する処理モジュールを有効化する場合に比べて、必要なワークメモリ量を抑制することができ、より少ないワークメモリ量で複数のＰＤＬ種別をサポートすることが可能となる。例えば、全ての処理モジュールを有効化した場合は１５０ＭＢのワークメモリが必要であるのに対して、ＰＤＬ種別に対応する処理モジュールを適宜切り替えてＰＤＬ処理を実行する場合は、ＰＤＬ種別ごとに必要なワークメモリを用意すればよい。そのため、本実施形態においては、個別処理モジュールで最も多くワークメモリを使用する、ＰＳ処理モジュール２０９がＰＤＬ処理を実行するために必要なワークメモリ量の８０ＭＢで、全ての種別のＰＤＬ処理に必要なワークメモリを賄うことが可能となる。
【００３５】
＜実施形態２＞
実施形態１における画像形成装置１００では、印刷ジョブのＰＤＬ種別を判定し、ＰＤＬ種別に対応する処理モジュールを有効化して印刷ジョブのＰＤＬ処理を実行する態様について説明した。しかし、実施形態１における画像形成装置１００では、印刷ジョブを受信するたびに処理モジュールの有効化（Ｓ５０２）、および無効化（Ｓ５０４）を切り替えている。そのため、同じＰＤＬ種別の印刷ジョブを連続して受信した場合等、印刷処理のオーバーヘッドが生じてしまう可能性があった。
【００３６】
本実施形態における画像形成装置１００では、画像形成装置１００の起動中は少なくとも１つの処理モジュールを有効にしておく。そのため、当該処理モジュールがＰＤＬ処理を実行することができる印刷ジョブについては、有効化（Ｓ５０２）および無効化（Ｓ５０４）処理を実行することなく印刷処理を行うことができる。以下、本実施形態について、図６、図７を参照して説明する。
【００３７】
図６は、本実施形態における、画像形成装置１００の起動時の処理内容例を示すフローチャートである。
【００３８】
Ｓ６０１において、ジョブコントローラ２００は、記憶部２０４から管理テーブル３００を取得する。なお、画像形成装置１００の起動時は、すべての処理モジュールの状態は無効である。
【００３９】
Ｓ６０２において、ジョブコントローラ２００は、管理テーブル３００の状態フィールド３０２をすべて無効に書き換える。
【００４０】
Ｓ６０３において、ジョブコントローラ２００は、管理テーブル３００のサポートＰＤＬフィールド３０１からＰＤＬ種別を１つ選択し、ＰＤＬ処理部２０６に対し、当該ＰＤＬ種別に対応する処理モジュールの有効化を指示する。本実施形態においては、ジョブコントローラ２００は、サポートＰＤＬフィールド３０１の先頭に記録されているＬＩＰＳを選択し、ＰＤＬ処理部２０６に対し、ＬＩＰＳ処理モジュール２０８の有効化を指示する。ＰＤＬ処理部２０６は、共通処理モジュール２０７とＬＩＰＳ処理モジュール２０８とを有効化し、ＰＤＬ処理のために必要なワークメモリ（５０ＭＢ）を確保する。
【００４１】
Ｓ６０４において、ジョブコントローラ２００は、Ｓ６０３で有効化された処理モジュールに対応する状態フィールド３０２を更新する。本実施形態においては、ＬＩＰＳ処理モジュール２０８に対応する状態フィールド３０２を有効に書き換える（図３）。
【００４２】
図７は、本実施形態における、印刷ジョブの処理内容例を示すフローチャートである。
【００４３】
Ｓ７０１において、ジョブコントローラ２００が印刷ジョブを受信すると、ＰＤＬ種別判定部２０２は、受信した印刷ジョブのＰＤＬ種別を判定する。
【００４４】
Ｓ７０２において、ジョブコントローラ２００は、Ｓ７０１で受信した印刷ジョブのＰＤＬ種別に対応する処理モジュールが現在有効か無効かを判定する。本実施形態においては、ジョブコントローラ２００は、ＬＩＰＳ処理モジュール２０８が現在有効か無効かを判定する。ＬＩＰＳ処理モジュール２０８が有効である場合（Ｓ７０２：Ｙｅｓ）、Ｓ７０６に移行する。一方、ＬＩＰＳ処理モジュール２０８が無効である場合（Ｓ７０２：Ｎｏ）、Ｓ７０３に移行する。
【００４５】
Ｓ７０３において、ジョブコントローラ２００は、ＰＤＬ処理部２０６に対し、現在有効な処理モジュールの無効化を指示する。本実施形態においては、ＰＤＬ処理部２０６は、ＬＩＰＳ処理モジュール２０８を無効化し、ＬＩＰＳ処理モジュール２０８のＰＤＬ処理のために確保されていたワークメモリ（３０ＭＢ）を開放する。
【００４６】
Ｓ７０４において、ジョブコントローラ２００は、ＰＤＬ処理部２０６に対し、印刷ジョブのＰＤＬ種別に対応する処理モジュールの有効化を指示する。本実施形態においては、ＰＤＬ処理部２０６は、ＰＳ処理モジュール２０９を有効化し、ＰＳ処理モジュール２０９のＰＤＬ処理のために必要なワークメモリ（６０ＭＢ）を確保する。
【００４７】
Ｓ７０５において、ジョブコントローラ２００は、Ｓ７０４で有効化された処理モジュールに対応する状態フィールド３０２を更新する。本実施形態においては、ＰＳ処理モジュール２０９に対応する状態フィールド３０２を有効に書き換える。
【００４８】
Ｓ７０６において、ＰＤＬ処理部２０６は、現在有効な処理モジュールを用いてＰＤＬ処理を実行し、ページデータを生成する。本実施形態においては、共通処理モジュール２０７とＰＳ処理モジュール２０９とを用いて印刷ジョブのＰＤＬ処理を実行し、ページデータを生成する。
【００４９】
Ｓ７０７において、生成されたページデータがプリンタエンジン１０７に送信され、送信されたページデータに対して印刷処理が施される。
【００５０】
以上説明した通り、本実施形態における画像形成装置１００は、画像形成装置１００の起動中は少なくとも１つの処理モジュールを有効にしておくように構成した。そのため、当該処理モジュールがＰＤＬ処理を実行することができる印刷ジョブについては、有効化（Ｓ５０２）および無効化（Ｓ５０４）処理を実行することなく印刷処理を行うことができる。そのため、上述の実施形態１の作用効果に加えて、処理モジュールの有効または無効を切り替える処理による印刷処理のオーバーヘッドを低減するという効果を奏する。
【００５１】
さらに、実施形態２の変形例を説明する。実施形態２では、ＰＤＬ処理部２０６が個別処理モジュール２０８〜２１０を切り替える実施例について説明した。しかし、一般的には、１つの処理モジュールグループで、複数のＰＤＬ種別に対応可能な場合も多い。本変形例では、複数の処理モジュールをグループ化したグループ単位で、複数のＰＤＬ種別に対応する態様について説明する。
【００５２】
図８に、実施形態２の変形例を説明する管理テーブル８００の一例を示す。サポートＰＤＬフィールド８０１には、ＬＩＰＳ処理モジュールとＰＣＬ処理モジュールとから構成されるＧｒ．１処理モジュールグループと、ＰＳ処理モジュールとＰＤＦ処理モジュールとから構成されるＧｒ．２処理モジュールグループとが記録されている。
【００５３】
本変形例においては、図８の管理テーブル８００に示される通り、ＰＤＬ処理部２０６は、複数の処理モジュールをグループ化した、処理モジュールグループ単位で有効／無効を切り換えることができる。例えば、ＰＤＬ処理部２０６は、Ｇｒ．１処理モジュールグループを有効化することで、ＬＩＰＳの印刷ジョブおよびＰＳＬの印刷ジョブのＰＤＬ処理を実行することができる。
【００５４】
＜実施形態３＞
実施形態２における画像形成装置１００では、共通処理モジュール２０７以外で有効化する処理モジュール（処理モジュールグループ）は、常に１つである態様について説明した。しかし、ＰＤＬ処理のために割り当てられるワークメモリ量の範囲内であれば、有効化する処理モジュールは複数でもよい。有効化される処理モジュールが多ければ多いほど、印刷ジョブの受信時に処理モジュールを切り替える可能性が低くなるため、印刷処理のオーバーヘッドを低減させることができる。以下、本実施形態について、図９、図１０を参照して説明する。
【００５５】
図９は、本実施形態における、画像形成装置１００の起動時の処理内容例を示すフローチャートである。
【００５６】
Ｓ９０１において、ジョブコントローラ２００は、記憶部２０４から管理テーブル３００を取得する。なお、画像形成装置１００の起動時は、すべての処理モジュールの状態は無効である。
【００５７】
Ｓ９０２において、ジョブコントローラ２００は、管理テーブル３００の状態フィールド３０２をすべて無効に書き換える。
【００５８】
Ｓ９０３において、ジョブコントローラ２００は、ワークメモリ制御部２０３によってＰＤＬ処理のために割り当てられるワークメモリ量を取得する。本実施形態においては、ジョブコントローラ２００は、ＰＤＬ処理のために割り当てられるワークメモリ量として１００ＭＢを取得する。ここで、ＰＤＬ処理のために割り当てられるワークメモリ量とは、画像形成装置１００に搭載されたメモリから、ＰＤＬ処理のために使うことのできる最大のワークメモリ量を示し、画像形成装置１００の固有の値として予め決められた値である。
【００５９】
Ｓ９０４において、ジョブコントローラ２００は、処理モジュールの必要ワークメモリ量と、ＰＤＬ処理のために割り当て可能なワークメモリ残量（以下、「残ワークメモリ量」と記す）とを比較する。ジョブコントローラ２００は、先ず、サポートＰＤＬフィールド３０１からＰＤＬ種別を１つ取得する。本実施形態においては、ジョブコントローラ２００は、サポートＰＤＬフィールド３０１の先頭に記録されているＬＩＰＳを取得する。次いで、ジョブコントローラ２００は、ＬＩＰＳ処理モジュール２０８の必要ワークメモリ量と、残ワークメモリ量とを比較する。本実施形態においては、ＬＩＰＳ処理モジュール２０８の必要ワークメモリ量は、共通処理モジュール２０７の２０ＭＢと、ＬＩＰＳ処理モジュール２０８の３０ＭＢとの合計５０ＭＢとなる。一方、残ワークメモリ量は１００ＭＢである。本実施形態においては、残ワークメモリ量の方が多いと判定されるため（Ｓ９０４：Ｙｅｓ）、Ｓ９０５に移行する。
【００６０】
Ｓ９０５において、ジョブコントローラ２００は、管理テーブル３００のサポートＰＤＬフィールド３０１からＰＤＬ種別を１つ選択し、ＰＤＬ処理部２０６に対し、当該ＰＤＬ種別に対応する処理モジュールの有効化を指示する。本実施形態においては、ジョブコントローラ２００は、ＰＤＬ処理部２０６に対し、ＬＩＰＳ処理モジュール２０８の有効化を指示する。ＰＤＬ処理部２０６は、共通処理モジュール２０７とＬＩＰＳ処理モジュール２０８とを有効化し、ＰＤＬ処理のために必要なワークメモリ（５０ＭＢ）を確保する。このとき、残ワークメモリ量は５０ＭＢとなる。
【００６１】
Ｓ９０６において、ジョブコントローラ２００は、Ｓ９０５で有効化された処理モジュールに対応する状態フィールド３０２を更新する。本実施形態においては、ＬＩＰＳ処理モジュール２０８に対応する状態フィールド３０２を有効に書き換える。
【００６２】
Ｓ９０７において、ジョブコントローラ２００は、管理テーブル３００のサポートＰＤＬフィールド３０１に記録されている全ての処理モジュールについて比較（Ｓ９０４）処理を実行したかを判定する。全ての処理モジュールについて比較処理を実行していないと判定された場合（Ｓ９０７：Ｎｏ）、再びＳ９０４に移行する。
【００６３】
再びＳ９０４において、本実施形態においては、ジョブコントローラ２００は、ＰＳ処理モジュール２０９の必要ワークメモリ量（６０ＭＢ）と、残ワークメモリ量（５０ＭＢ）とを比較する。このとき、残ワークメモリ量（５０ＭＢ）は、ＰＳ処理モジュール２０９の必要ワークメモリ量（６０ＭＢ）よりも少ないため、ジョブコントローラ２００はＰＳ処理モジュール２０９の有効化の指示は不可と判定し、Ｓ９０７に移行する。
【００６４】
再びＳ９０７において、ジョブコントローラ２００は、管理テーブル３００のサポートＰＤＬフィールド３０１に記録されている全ての処理モジュールについて比較（Ｓ９０４）処理を実行したかを判定する。全ての処理モジュールについて比較処理を実行していないと判定された場合（Ｓ９０７：Ｎｏ）、再びＳ９０４に移行する。
【００６５】
再びＳ９０４に移行した場合、本実施形態においては、ジョブコントローラ２００は、ＸＰＳ処理モジュール２１０の必要ワークメモリ量（４０ＭＢ）と、残ワークメモリ量（５０ＭＢ）とを比較する。このとき、残ワークメモリ量（５０ＭＢ）は、ＸＰＳ処理モジュール２１０の必要ワークメモリ量（４０ＭＢ）よりも多いため、ジョブコントローラ２００はＰＳ処理モジュール２０９の有効化の指示は可能と判定し、Ｓ９０５に移行する。
【００６６】
再びＳ９０５において、本実施形態においては、ジョブコントローラ２００は、ＰＤＬ処理部２０６に対し、ＸＰＳ処理モジュール２１０の有効化を指示する。ＰＤＬ処理部２０６は、ＬＩＰＳ処理モジュール２１０を有効化し、ＰＤＬ処理のために必要なワークメモリ（４０ＭＢ）を確保する。このとき、残ワークメモリ量は１０ＭＢとなる。
【００６７】
再びＳ９０６において、ジョブコントローラ２００は、Ｓ９０５で有効化された処理モジュールに対応する状態フィールド３０２を更新する。本実施形態においては、ＸＰＳ処理モジュール２１０に対応する状態フィールド３０２を有効に書き換える。
【００６８】
再びＳ９０７において、全ての処理モジュールについて比較処理を実行したと判定された場合（Ｓ９０７：Ｙｅｓ）、本フローチャートの処理を終了し、画像形成装置１００の起動処理を完了する。
【００６９】
図１０は、本実施形態において、画像形成装置１００の起動処理が完了した時点の管理テーブル１０００の内容を示すものである。このとき、ＬＩＰＳ処理モジュール２０８とＸＰＳ処理モジュール２１０に対応する状態フィールド３０２が有効であり、ＰＳ処理モジュール２０９に対応する状態フィールドが無効であることが分かる。
【００７０】
図１１は、本実施形態における、印刷ジョブの処理内容例を示すフローチャートである。
【００７１】
Ｓ１１０１において、ジョブコントローラ２００が印刷ジョブを受信すると、ＰＤＬ種別判定部２０２は、受信した印刷ジョブのＰＤＬ種別を判定する。
【００７２】
Ｓ１１０２において、ジョブコントローラ２００は、管理テーブル１０００の状態フィールド１００２を参照し、Ｓ１１０１で受信した印刷ジョブのＰＤＬ種別に対応する処理モジュールが現在有効か無効かを判定する。本実施形態においては、受信した印刷ジョブ
のＰＤＬ種別がＬＩＰＳまたはＸＰＳであった場合、ＬＩＰＳ処理モジュール２０８とＸＰＳ処理モジュール２１０とは有効なので（Ｓ１１０２：Ｙｅｓ）、Ｓ１１１２に移行する。一方、受信した印刷ジョブのＰＤＬ種別がＰＳであった場合、ＰＳ処理モジュール２０９は無効なので（Ｓ１１０２：Ｎｏ）、Ｓ１１０３に移行する。
【００７３】
Ｓ１１０３において、ジョブコントローラ２００は、管理テーブル１０００からＰＳ処理モジュール２１０の必要なワークメモリ量（６０ＭＢ）を取得する。
【００７４】
Ｓ１１０４において、ジョブコントローラ２００は、ワークメモリ制御部２０３から残ワークメモリ量を取得し、Ｓ１１０２で無効と判定された処理モジュールについて、不足しているワークメモリ量（以下「不足ワークメモリ量」と記す）を算出する。本実施形態においては、ジョブコントローラ２００は、ワークメモリ制御部２０３から残ワークメモリ量（１０ＭＢ）を取得し、ＰＳ処理モジュール２０９の必要ワークメモリ量（６０ＭＢ）を差し引いた不足ワークメモリ量（５０ＭＢ）を算出する。
【００７５】
Ｓ１１０５において、ジョブコントローラ２００は、ＰＤＬ処理部２０６に対し、現在有効な処理モジュールの無効化を指示する。本実施形態においては、ＰＤＬ処理部２０６は、ＬＩＰＳ処理モジュール２０８を無効化し、ＬＩＰＳ処理モジュール２０８を無効化し、ＰＤＬ処理のために確保されていた３０ＭＢのワークメモリを解放する。
【００７６】
Ｓ１１０６において、ジョブコントローラ２００は、Ｓ１１０５で無効化された処理モジュールに対応する状態フィールド１００２を更新する。本実施形態においては、ＬＩＰＳ処理モジュール２０８に対応する状態フィールド１００２を無効に書き換える。
【００７７】
Ｓ１１０７において、ジョブコントローラ２００は、不足ワークメモリ量の更新をする。本実施形態においては、ＬＩＰＳ処理モジュール２０８を無効化する前の不足ワークメモリ量（５０ＭＢ）から、ＬＩＰＳ処理モジュール２０８のＰＤＬ処理のために必要なワークメモリ（３０ＭＢ）を減算して、不足ワークメモリ量を２０ＭＢに更新する。
【００７８】
Ｓ１１０８において、ジョブコントローラ２００は、不足ワークメモリ量の有無を判定する。本実施形態においては、不足ワークメモリ量は２０ＭＢであるので（Ｓ１１０８：Ｎｏ）、Ｓ１１０９に移行する。
【００７９】
Ｓ１１０９において、ジョブコントローラ２００は、管理テーブル３００のサポートＰＤＬフィールド３０１に記録されている全ての有効な処理モジュールについて無効化（Ｓ１１０５）処理を実行したかを判定する。全ての有効な処理モジュールについて無効化処理を実行していないと判定された場合（Ｓ１１０９：Ｎｏ）、再びＳ１１０５に移行する。
【００８０】
再びＳ１１０５において、ジョブコントローラ２００は、ＰＤＬ処理部２０６に対し、現在有効な処理モジュールの無効化を指示する。本実施形態においては、ＰＤＬ処理部２０６は、ＸＰＳ処理モジュール２１０を無効化し、ＰＤＬ処理のために確保されていた４０ＭＢのワークメモリを解放する。
【００８１】
再びＳ１１０６において、ジョブコントローラ２００は、Ｓ１１０５で無効化された処理モジュールに対応する状態フィールド１００２を更新する。本実施形態においては、ＸＰＳ処理モジュール２１０に対応する状態フィールド１００２を無効に書き換える。
【００８２】
再びＳ１１０７において、ジョブコントローラ２００は、不足ワークメモリ量の更新をする。本実施形態においては、ＸＰＳ処理モジュール２１０を無効化する前の不足ワークメモリ量（２０ＭＢ）から、ＸＰＳ処理モジュール２１０のＰＤＬ処理のために必要なワークメモリ（４０ＭＢ）を減算して、不足ワークメモリ量を−２０ＭＢに更新する。
【００８３】
再びＳ１１０８において、ジョブコントローラ２００は、不足ワークメモリ量の有無を判定する。本実施形態においては、不足ワークメモリ量は無くなったので（Ｓ１１０８：Ｙｅｓ）、Ｓ１１１０に移行する。
【００８４】
Ｓ１１１０において、ジョブコントローラ２００は、ＰＤＬ処理部２０６に対し、印刷ジョブのＰＤＬ種別に対応する処理モジュールの有効化を指示する。本実施形態においては、ＰＤＬ処理部２０６は、ＰＳ処理モジュール２０９を有効化し、ＰＤＬ処理のために必要なワークメモリ（６０ＭＢ）を確保する。
【００８５】
Ｓ１１１１において、ジョブコントローラ２００は、Ｓ１１１０で有効化された処理モジュールに対応する状態フィールド１００２を更新する。本実施形態においては、ＰＳ処理モジュール２０９に対応する状態フィールド１００２を有効に書き換える。
【００８６】
Ｓ１１１２において、ＰＤＬ処理部２０６は、現在有効な処理モジュールを用いてＰＤＬ処理を実行し、ページデータを生成する。本実施形態においては、共通処理モジュール２０７とＰＳ処理モジュール２０９とを用いて印刷ジョブのＰＤＬ処理を実行し、ページデータを生成する。
【００８７】
Ｓ１１１３において、生成されたページデータがプリンタエンジン１０７に送信され、送信されたページデータに対して印刷処理が施される。
【００８８】
以上、本実施形態においては、ＰＤＬ処理のために割り当てられるワークメモリ量の範囲内でできるだけ多くの処理モジュールを有効化する処理内容について説明した。さらに、本実施形態においては、ＰＤＬ処理に割り当て可能なワークメモリ残量が、受信した印刷ジョブのＰＤＬ種別に対応する処理モジュールの必要ワークメモリ容量を下回る場合の処理内容についても説明した。このとき、ジョブコントローラ２００は、ワークメモリ残量が受信した印刷ジョブのＰＤＬ種別に対応する処理モジュールの必要ワークメモリ量以上になるように、現在有効な処理モジュールを無効化する。
【００８９】
本実施形態においては、有効化される処理モジュールが多ければ多いほど、印刷ジョブの受信時に処理モジュールを切り替える可能性が低くなるため、印刷処理のオーバーヘッドを低減させることができ、印刷効率を向上させる効果を奏する。
【００９０】
＜実施形態４＞
実施形態２における画像形成装置１００は、起動時に少なくとも１つの処理モジュールを有効化する態様について説明した。本実施形態における画像形成装置１００は、前回シャットダウン時に有効であった処理モジュールを、次回起動時に有効化する態様について説明する。
【００９１】
図１２は、本実施形態における、画像形成装置１００の起動時の処理内容例を示すフローチャートである。
【００９２】
Ｓ１２０１において、ジョブコントローラ２００は、記憶部２０４から管理テーブル３００を取得する。
【００９３】
Ｓ１２０２において、ジョブコントローラ２００は、管理テーブル３００の状態フィールド３０２を参照し、ＰＤＬ処理部２０６に対し、有効となっている処理モジュールの有効化を指示する。本実施形態においては、ジョブコントローラ２００は、管理テーブル３００の状態フィールド３０２を参照し、ＰＤＬ処理部２０６に対し、有効となっているＬＩＰＳ処理モジュール２０８の有効化を指示する。ＰＤＬ処理部２０６が、ＬＩＰＳ処理モジュール２０８の有効化すると、画像処理装置１００の起動が完了する。
【００９４】
以上説明した通り、本実施形態における画像形成装置１００は、前回シャットダウン時に有効であった処理モジュールを、次回起動時に有効化する態様について説明した。かかる構成により、画像形成装置１００のシャットダウン前と起動完了後との間で、ユーザー環境に適した処理モジュールの有効状態を保つことができる。
【００９５】
＜実施形態５＞
実施形態３における画像形成装置１００では、ＰＤＬ処理のために割り当てられるワークメモリ量の範囲内で、複数の処理モジュールを有効化する態様について説明した。このとき、実施形態３における画像形成装置１００では、有効化する処理モジュールの順番は、管理テーブル１０００のサポートＰＤＬフィールド１００１の順番に従ったものであった。複数の処理モジュールの切り換えを抑制し、印刷処理のオーバーヘッドを低減させるためには、使用頻度の高いＰＤＬ種別に対応する処理モジュールを優先的に有効化することが効果的である。同様に、使用頻度の低いＰＤＬ種別に対応する処理モジュールを優先的に無効化することも効果的である。本実施形態における画像形成装置１００は、ＰＤＬ種別ごとの処理モジュールの使用頻度に応じて、処理モジュールの有効化／無効化を行う態様について説明する。以下、本実施形態について、図１３、図１４を参照して説明するが、先行する実施形態と重複する部分については説明を省略する。
【００９６】
図１３は、本実施形態における、画像形成装置１００の起動時の処理内容例を示すフローチャートである。Ｓ１３０１〜Ｓ１３０３は、図９のフローチャートにおけるＳ９０１〜Ｓ９０３の処理と同じである。
【００９７】
Ｓ１３０４において、ジョブコントローラ２００は、記憶部２０４からＰＤＬ種別ごとの使用頻度テーブル１５００を取得する。使用頻度テーブル１５００は、記憶部２０４に格納され、ＰＤＬ処理部２０６の処理履歴から算出される。ジョブコントローラ２００は、使用頻度テーブル１５００を参照することにより、ＰＤＬ処理部２０６が各個別処理モジュールを使用した使用確率を参照することができる。
【００９８】
ここで、図１５を参照して、本実施形態における使用頻度テーブル１５００の一例について説明する。使用頻度テーブル１５００は、画像形成装置１００がサポートするＰＤＬ種別と、ＰＤＬ処理部２０６による処理モジュールの使用確率とを対応付けて記録したデータテーブルである。本実施形態においては、ＬＩＰＳ処理モジュール２０８の使用確率は全体の６０％であり、ＰＳ処理モジュール２０９の使用確率は全体の３２％であり、ＸＰＳ処理モジュール２１０の使用確率は全体の８％である。
【００９９】
Ｓ１３０５からＳ１３０８は、図９のフローチャートにおけるＳ９０４〜Ｓ９０７と同様に、ジョブコントローラ２００がＰＤＬ処理のために割り当てられるワークメモリ量の範囲内で個別処理モジュールを有効化する処理である。ジョブコントローラ２００は、Ｓ１３０５〜Ｓ１３０８の処理を、使用頻度テーブル１５００を参照して使用確率の高い順に、処理モジュールを無効化するかを判断する。上記以外の処理は、図９のフローチャートに示されるものと同様である。
【０１００】
図１４は、本実施形態における、印刷ジョブの処理内容例を示すフローチャートである。Ｓ１４０１〜Ｓ１４０４は、図１１のフローチャートにおけるＳ１１０１〜Ｓ１１０４の処理と同じである。
【０１０１】
Ｓ１４０５にて、ジョブコントローラ２００は、記憶部２０４から使用頻度テーブル１５００を取得する。
【０１０２】
Ｓ１４０６〜Ｓ１４１０は、図１１のフローチャートにおけるＳ１１０５〜Ｓ１１０９と同様に、ジョブコントローラ２００が有効化された処理モジュール分だけ実行し、不足ワークメモリ量が無くなるまで無効化する処理である。ジョブコントローラ２００は、Ｓ１４０６〜Ｓ１４１０の処理を、使用頻度テーブル１５００を参照して使用確率の低い順に、処理モジュールを無効化するかを判断する。上記以外の処理は、図１１のフローチャートに示されるものと同様である。
【０１０３】
以上説明した通り、本実施形態における画像形成装置１００は、使用確率の高いＰＤＬ種別に対応する処理モジュールを優先的に有効化し、使用確率の低いＰＤＬ種別に対応する処理モジュールを優先的に無効化する。そのため、使用確率の高いＰＤＬ種別に対応する処理モジュールを有効化することができ、印刷ジョブの受信時に処理モジュールを切り替える可能性が低くなるため、印刷処理のオーバーヘッドを低減させることができ、印刷効率を向上させる効果を奏する。
【０１０４】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2016132116.tif 000003
【図２】
2016132116.tif 000004
【図３】
2016132116.tif 000005
【図５】
2016132116.tif 000006
【図６】
2016132116.tif 000007
【図７】
2016132116.tif 000008
【図８】
2016132116.tif 000009
【図９】
2016132116.tif 000010
【図１０】
2016132116.tif 000011
【図１１】
2016132116.tif 000012
【図１２】
2016132116.tif 000013
【図１３】
2016132116.tif 000014
【図１４】
2016132116.tif 000015
【図１５】
2016132116.tif 000016
【図４】
2016132116.tif 000017
【手続補正書】
【提出日】平成27年12月17日(2015.12.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明に係る画像処理装置は、複数のＰＤＬ種別のそれぞれを処理するための複数の処理モジュールを記憶する記憶手段と、印刷ジョブのＰＤＬの種別を判定する判定手段と、前記記憶手段によって記憶された前記複数の処理モジュールの中から、前記判定手段によって判定されたＰＤＬの種別に対応する少なくとも１つの処理モジュールを有効化し、前記有効化された少なくとも１つの処理モジュールと前記判定されたＰＤＬを処理するために確保したワークメモリとを用いて、前記印刷ジョブのＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する処理を行う処理手段とを有し、前記処理手段は、前記判定手段によって判定されたＰＤＬの種別以外のＰＤＬ種別のために、ＰＤＬを処理するためのワークメモリを確保しないことを特徴とする。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のＰＤＬ種別のそれぞれを処理するための複数の処理モジュールを記憶する記憶手段と、
印刷ジョブのＰＤＬの種別を判定する判定手段と、
前記記憶手段によって記憶された前記複数の処理モジュールの中から、前記判定手段によって判定されたＰＤＬの種別に対応する少なくとも１つの処理モジュールを有効化し、前記有効化された少なくとも１つの処理モジュールと前記判定されたＰＤＬを処理するために確保したワークメモリとを用いて、前記印刷ジョブのＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する処理を行う処理手段とを有し、
前記処理手段は、前記判定手段によって判定されたＰＤＬの種別以外のＰＤＬ種別のために、ＰＤＬを処理するためのワークメモリを確保しない
ことを特徴とする画像処理装置。
【請求項２】
前記処理手段は、前記印刷ジョブの受信時に、前記判定手段によって判定されたＰＤＬの種別に対応する処理モジュールを有効化する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記処理手段は、複数の処理モジュールを含む処理モジュールグループ単位で処理モジュールを有効化する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記処理手段は、前記印刷ジョブの受信時に、ＰＤＬ処理のために割り当て可能なワークメモリ量が、前記判定手段によって判定されたＰＤＬを処理するために必要なワークメモリ量を下回る場合、前記有効化されている少なくとも１つの処理モジュールの中から１つの処理モジュールを無効化する
ことを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記処理手段は、次回起動時に、前回のシャットダウン時に前記有効化されていた少なくとも１つの処理モジュールの中から１つの処理モジュールを有効化する
ことを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記処理手段の処理履歴から、前記複数の処理モジュールのそれぞれの使用頻度を算出する使用頻度算出手段をさらに備え、
前記処理手段は、起動時に、前記複数の処理モジュールの中から、前記使用頻度の高い処理モジュールを有効化する
ことを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記処理手段の処理履歴から、前記複数の処理モジュールのそれぞれの使用頻度を算出する使用頻度算出手段をさらに備え、
前記処理手段は、印刷ジョブの受信時に、前記複数の処理モジュールの中から、前記使用頻度の低い処理モジュールを無効化する
ことを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項８】
複数のＰＤＬ種別のそれぞれを処理するための複数の処理モジュールを記憶する記憶ステップと、
印刷ジョブのＰＤＬの種別を判定する判定ステップと、
前記記憶ステップによって記憶された前記複数の処理モジュールの中から、前記判定ステップによって判定されたＰＤＬの種別に対応する少なくとも１つの処理モジュールを有効化し、前記有効化された少なくとも１つの処理モジュールと前記判定されたＰＤＬを処理するために確保したワークメモリとを用いて、前記印刷ジョブのＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する処理を行う処理ステップとを有し、
前記判定ステップによって判定されたＰＤＬの種別以外のＰＤＬ種別のために、ＰＤＬを処理するためのワークメモリが確保されない
ことを特徴とする画像処理方法。
【請求項９】
少なくとも１つのＰＤＬを処理するための少なくとも１つの処理モジュールを有効化する有効化手段と、
印刷ジョブを受信し、受信した印刷ジョブのＰＤＬの種別を判定する種別判定手段と、
前記種別判定手段によって判定されたＰＤＬの種別に対応する処理モジュールが、前記有効化手段によって有効化されている少なくとも１つの処理モジュールであるかを判定する有効化判定手段と、
前記有効化判定手段によって、前記種別判定手段によって判定されたＰＤＬの種別に対応する処理モジュールが、前記有効化手段によって有効化されていると判定された場合、前記有効化された少なくとも１つの処理モジュールを用いて、前記印刷ジョブのＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する処理を行い、
前記有効化判定手段によって、前記種別判定手段によって判定されたＰＤＬの種別に対応する処理モジュールが、前記有効化手段によって有効化されていないと判定された場合、前記種別判定手段によって判定されたＰＤＬの種別に対応する処理モジュールを有効化し、前記判定されたＰＤＬを処理するために必要なワークメモリを確保する処理手段とを有し、
前記処理手段は、前記種別判定手段によって判定されたＰＤＬの種別以外のＰＤＬ種別のために、ＰＤＬを処理するためのワークメモリは確保しない
ことを特徴とする画像処理装置。
【請求項１０】
前記処理手段は、前記有効化判定手段によって、前記種別判定手段によって判定されたＰＤＬの種別に対応する処理モジュールが、前記有効化手段によって有効化されていないと判定された場合、さらに、前記有効化手段によって有効化されている少なくとも１つの処理モジュールの中から１つの処理モジュールを無効化する
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記処理手段は、前記有効化判定手段によって、前記種別判定手段によって判定されたＰＤＬの種別に対応する処理モジュールが、前記有効化手段によって有効化されていないと判定された場合、前記有効化された少なくとも１つの処理モジュールと前記確保されたワークメモリとを用いて、前記印刷ジョブのＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する
ことを特徴とする請求項９または１０に記載の画像処理装置。
【請求項１２】
前記有効化手段は、次回起動時に、前回のシャットダウン時に前記有効化手段によって有効化されていた少なくとも１つの処理モジュールの中から１つの処理モジュールを、次回起動時に有効化する
ことを特徴とする請求項９から１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記有効化手段は、少なくとも１つのＰＤＬを処理するために必要なワークメモリ量の合計が、ＰＤＬ処理のために割り当てられるワークメモリ量の範囲内になるように、前記少なくとも１つのＰＤＬを処理するための少なくとも１つの処理モジュールを有効化する
ことを特徴とする請求項９から１２のいずれか１項に記載の画像処理装置。
【請求項１４】
少なくとも１つのＰＤＬを処理するための少なくとも１つの処理モジュールを有効化する有効化ステップと、
印刷ジョブを受信し、受信した印刷ジョブのＰＤＬの種別を判定する種別判定ステップと、
前記種別判定ステップによって判定されたＰＤＬの種別に対応する処理モジュールが、前記有効化ステップによって有効化されている少なくとも１つの処理モジュールであるかを判定する有効化判定ステップと、
前記有効化判定ステップによって、前記種別判定ステップによって判定されたＰＤＬの種別に対応する処理モジュールが、前記有効化ステップによって有効化されていると判定された場合、前記有効化された少なくとも１つの処理モジュールを用いて、前記印刷ジョブのＰＤＬによって記述されている描画命令を解釈し、ページデータを生成する処理を行い、
前記有効化判定ステップによって、前記種別判定ステップによって判定されたＰＤＬの種別に対応する処理モジュールが、前記有効化ステップによって有効化されていないと判定された場合、前記種別判定ステップによって判定されたＰＤＬの種別に対応する処理モジュールを有効化し、前記判定されたＰＤＬを処理するために必要なワークメモリを確保する処理ステップとを有し、
前記種別判定ステップによって判定されたＰＤＬの種別以外のＰＤＬ種別のために、ＰＤＬを処理するためのワークメモリは確保しない
ことを特徴とする画像処理方法。
【請求項１５】
コンピュータを、請求項１から７のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１６】
コンピュータを、請求項９から１３のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。