(57)【要約】【課題】複数の演算部を用いてＰＤＬデータから印刷データを生成する際の処理速度を向上させる。【解決手段】本発明に係る画像形成装置は、ＰＤＬデータを受信する受信部と、複数の演算部を有し、前記複数の演算部のそれぞれがページ単位で処理を行うタスク又はバンド単位で処理を行うタスクを実行することにより、前記ＰＤＬデータに基づいて印刷データを生成する画像処理部と、前記ＰＤＬデータを解析して印刷ページ数を取得し、当該取得された印刷ページ数に応じて、前記ページ単位で処理を行うタスクと前記バンド単位で処理を行うタスクのそれぞれに割り当てる前記演算部の数を動的に設定する制御部と、前記生成された印刷データに基づき印刷媒体に画像を形成する印刷部と、を備える。【選択図】図５Ａ
2011136538.tif 000002
【特許請求の範囲】
【請求項１】
ＰＤＬデータを受信する受信部と、
複数の演算部を有し、前記複数の演算部のそれぞれがページ単位で処理を行うタスク又はバンド単位で処理を行うタスクを実行することにより、前記ＰＤＬデータに基づいて印刷データを生成する画像処理部と、
前記ＰＤＬデータを解析して印刷ページ数を取得し、当該取得された印刷ページ数に応じて、前記ページ単位で処理を行うタスクと前記バンド単位で処理を行うタスクのそれぞれに割り当てる前記演算部の数を動的に設定する制御部と、
前記生成された印刷データに基づき印刷媒体に画像を形成する印刷部と、
を備える画像形成装置。
【請求項２】
前記バンド単位で処理するタスクに割り当てる演算部の最小数の値を予め記憶する記憶部を備え、
前記制御部は、前記複数の演算部の総数から前記記憶部に記憶されている前記バンド単位で処理するタスクに割り当てる演算部の最小数を減算することにより前記ページ単位で処理を行うタスクに割り当てる演算部の最大数を算出し、当該算出された最大数が前記印刷ページ数以上である場合は、前記ページ単位で処理を行うタスクに割り当てる演算部の数が前記印刷ページ数と同数になるように、前記算出された最大数が前記印刷ページ数を下回る場合は、前記ページ単位で処理を行うタスクに割り当てる演算部の数が前記最大数以下であって、前記ページ単位で処理を行うタスクに割り当てる各演算部が処理すべきページ数が最も少なく、かつ前記ページ単位で処理を行うタスクに割り当てる演算部のうち未処理状態が発生する演算部の数が最も少なくなるように、前記各タスクに割り当てる前記演算部の数を動的に設定する請求項１に記載の画像形成装置。
【請求項３】
前記バンド単位で処理を行うタスクに割り当てる演算部の最小数の値をユーザが入力するための入力部を備え、
前記記憶部は、前記入力部により入力された値に基づいて前記予め記憶された値を設定する請求項２に記載の画像形成装置。
【請求項４】
ＰＤＬデータを記憶する記憶部と、
複数の演算部を有し、前記複数の演算部のそれぞれがページ単位で処理を行うタスク又はバンド単位で処理を行うタスクを実行することにより、前記ＰＤＬデータに基づいて印刷データを生成する画像処理部と、
前記ＰＤＬデータを解析して印刷ページ数を取得し、当該取得された印刷ページ数に応じて、前記ページ単位で処理を行うタスクと前記バンド単位で処理を行うタスクのそれぞれに割り当てる前記演算部の数を動的に設定する制御部と、
を備える印刷データ生成装置。
【請求項５】
前記バンド単位で処理するタスクに割り当てる演算部の最小数の値を予め記憶する記憶部を備え、
前記制御部は、前記複数の演算部の総数から前記記憶部に記憶されている前記バンド単位で処理するタスクに割り当てる演算部の最小数を減算することにより前記ページ単位で処理を行うタスクに割り当てる演算部の最大数を算出し、当該算出された最大数が前記印刷ページ数以上である場合は、前記ページ単位で処理を行うタスクに割り当てる演算部の数が前記印刷ページ数と同数になるように、前記算出された最大数が前記印刷ページ数を下回る場合は、前記ページ単位で処理を行うタスクに割り当てる演算部の数が前記最大数以下であって、前記ページ単位で処理を行うタスクに割り当てる各演算部が処理すべきページ数が最も少なく、かつ前記ページ単位で処理を行うタスクに割り当てる演算部のうち未処理状態が発生する演算部の数が最も少なくなるように、前記各タスクに割り当てる前記演算部の数を動的に設定する請求項４に記載の印刷データ生成装置。
【請求項６】
前記バンド単位で処理するタスクに割り当てる演算部の最小数の値をユーザが入力するための入力部を備え、
前記記憶部は、前記入力部により入力された値により前記予め記憶された値を設定する請求項５に記載の印刷データ生成装置。
【請求項７】
複数の演算部を有するコンピュータを、
前記複数の演算部のそれぞれがページ単位で処理を行うタスク又はバンド単位で処理を行うタスクを実行することにより、ＰＤＬデータに基づいて印刷データを生成する画像処理部、
前記ＰＤＬデータを解析して印刷ページ数を取得し、当該取得された印刷ページ数に応じて、前記ページ単位で処理を行うタスクと前記バンド単位で処理を行うタスクのそれぞれに割り当てる前記演算部の数を動的に設定する制御部、
として機能させるためのプログラム。
【請求項８】
複数の演算部のそれぞれがページ単位で処理を行うタスク又はバンド単位で処理を行うタスクを実行することにより、ＰＤＬデータに基づいて印刷データを生成する印刷データ生成方法であって、
前記ＰＤＬデータを解析して印刷ページ数を取得し、当該取得された印刷ページ数に応じて、前記ページ単位で処理を行うタスクと前記バンド単位で処理を行うタスクのそれぞれに割り当てる前記演算部の数を動的に設定する工程を含む印刷データ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、印刷データ生成装置、プログラム、及び印刷データ生成方法に関する。
【背景技術】
【０００２】
従来、印刷に係るスループットを向上させるため、複数の演算部を用いて、ＰＤＬ（Page Description Language：ページ記述言語）データに基づくビットマップデータ（印刷データ）の生成、プリンタへのデータ転送等を行う技術が提案されている。
【０００３】
例えば、特許文献１には、複数のプロセッサを有するマルチプロセッサプリンタにおいてページ単位で並列処理が行えるように、ホスト装置において、ページ単位で分割されて並列処理に対応できるページ記述言語を生成する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−７３３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１においては、ＰＤＬデータの解析から展開、プリンタエンジンへの転送までの全てを１ページにつき１プロセッサ割り当てで行っているため、プリンタエンジンへの転送時での遅延が発生しやすい。
【０００６】
ＰＤＬデータに基づいて印刷データの生成を行う一連の画像処理を、ページ単位で言語解釈処理を行うタスクとバンド単位でラスタライズ処理を行うタスクに分け、複数の演算部のそれぞれを何れかの一方のタスクに割り当てることで、上述のプリンタエンジンへの転送時の遅延の低減を図ることができる。
【０００７】
ところが、ページ単位で行うタスクとバンド単位で行うタスクのそれぞれに固定された数の演算部を割り当てると、印刷するページ数によっては未使用の演算部がでてきてしまう。例えば、ページ単位で行うタスクに２つ、バンド単位で行うタスクに２つの演算部が割り当てられている場合、１ページの印刷要求を処理すると、１つの演算部が未使用状態となる。これでは、各演算部を効率的に使用できず、画像処理全体の処理速度の向上が図れない。
【０００８】
本発明の課題は、複数の演算部を用いてＰＤＬデータから印刷データを生成する際の処理速度を向上させることである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１に記載の発明の画像形成装置は、
ＰＤＬデータを受信する受信部と、
複数の演算部を有し、前記複数の演算部のそれぞれがページ単位で処理を行うタスク又はバンド単位で処理を行うタスクを実行することにより、前記ＰＤＬデータに基づいて印刷データを生成する画像処理部と、
前記ＰＤＬデータを解析して印刷ページ数を取得し、当該取得された印刷ページ数に応じて、前記ページ単位で処理を行うタスクと前記バンド単位で処理を行うタスクのそれぞれに割り当てる前記演算部の数を動的に設定する制御部と、
前記生成された印刷データに基づき印刷媒体に画像を形成する印刷部と、
を備える。
【００１０】
請求項２に記載の発明は、請求項１に記載の発明において、
前記バンド単位で処理するタスクに割り当てる演算部の最小数の値を予め記憶する記憶部を備え、
前記制御部は、前記複数の演算部の総数から前記記憶部に記憶されている前記バンド単位で処理するタスクに割り当てる演算部の最小数を減算することにより前記ページ単位で処理を行うタスクに割り当てる演算部の最大数を算出し、当該算出された最大数が前記印刷ページ数以上である場合は、前記ページ単位で処理を行うタスクに割り当てる演算部の数が前記印刷ページ数と同数になるように、前記算出された最大数が前記印刷ページ数を下回る場合は、前記ページ単位で処理を行うタスクに割り当てる演算部の数が前記最大数以下であって、前記ページ単位で処理を行うタスクに割り当てる各演算部が処理すべきページ数が最も少なく、かつ前記ページ単位で処理を行うタスクに割り当てる演算部のうち未処理状態が発生する演算部の数が最も少なくなるように、前記各タスクに割り当てる前記演算部の数を動的に設定する。
【００１１】
請求項３に記載の発明は、請求項２に記載の発明において、
前記バンド単位で処理を行うタスクに割り当てる演算部の最小数の値をユーザが入力するための入力部を備え、
前記記憶部は、前記入力部により入力された値に基づいて前記予め記憶された値を設定する。
【００１２】
請求項４に記載の発明の印刷データ生成装置は、
ＰＤＬデータを記憶する記憶部と、
複数の演算部を有し、前記複数の演算部のそれぞれがページ単位で処理を行うタスク又はバンド単位で処理を行うタスクを実行することにより、前記ＰＤＬデータに基づいて印刷データを生成する画像処理部と、
前記ＰＤＬデータを解析して印刷ページ数を取得し、当該取得された印刷ページ数に応じて、前記ページ単位で処理を行うタスクと前記バンド単位で処理を行うタスクのそれぞれに割り当てる前記演算部の数を動的に設定する制御部と、
を備える。
【００１３】
請求項５に記載の発明は、請求項４に記載の発明において、
前記バンド単位で処理するタスクに割り当てる演算部の最小数の値を予め記憶する記憶部を備え、
前記制御部は、前記複数の演算部の総数から前記記憶部に記憶されている前記バンド単位で処理するタスクに割り当てる演算部の最小数を減算することにより前記ページ単位で処理を行うタスクに割り当てる演算部の最大数を算出し、当該算出された最大数が前記印刷ページ数以上である場合は、前記ページ単位で処理を行うタスクに割り当てる演算部の数が前記印刷ページ数と同数になるように、前記算出された最大数が前記印刷ページ数を下回る場合は、前記ページ単位で処理を行うタスクに割り当てる演算部の数が前記最大数以下であって、前記ページ単位で処理を行うタスクに割り当てる各演算部が処理すべきページ数が最も少なく、かつ前記ページ単位で処理を行うタスクに割り当てる演算部のうち未処理状態が発生する演算部の数が最も少なくなるように、前記各タスクに割り当てる前記演算部の数を動的に設定する。
【００１４】
請求項６に記載の発明は、請求項５に記載の発明において、
前記バンド単位で処理するタスクに割り当てる演算部の最小数の値をユーザが入力するための入力部を備え、
前記記憶部は、前記入力部により入力された値により前記予め記憶された値を設定する。
【００１５】
請求項７に記載の発明のプログラムは、
複数の演算部を有するコンピュータを、
前記複数の演算部のそれぞれがページ単位で処理を行うタスク又はバンド単位で処理を行うタスクを実行することにより、ＰＤＬデータに基づいて印刷データを生成する画像処理部、
前記ＰＤＬデータを解析して印刷ページ数を取得し、当該取得された印刷ページ数に応じて、前記ページ単位で処理を行うタスクと前記バンド単位で処理を行うタスクのそれぞれに割り当てる前記演算部の数を動的に設定する制御部、
として機能させる。
【００１６】
請求項８に記載の発明は、
複数の演算部のそれぞれがページ単位で処理を行うタスク又はバンド単位で処理を行うタスクを実行することにより、ＰＤＬデータに基づいて印刷データを生成する印刷データ生成方法であって、
前記ＰＤＬデータを解析して印刷ページ数を取得し、当該取得された印刷ページ数に応じて、前記ページ単位で処理を行うタスクと前記バンド単位で処理を行うタスクのそれぞれに割り当てる前記演算部の数を動的に設定する工程を含む。
【発明の効果】
【００１７】
本発明によれば、複数の演算部を用いてＰＤＬデータから印刷データを生成する際の処理速度を向上させることが可能となる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施の形態のネットワーク構成図を示す説明図である。
【図２】図１に示すコンピュータの主要構成を示すブロック図である。
【図３】図１に示す画像形成装置の主要構成を示すブロック図である。
【図４】画像形成装置による画像処理の工程を示す機能ブロック図である。
【図５Ａ】図３のコア（メインコア）により実行される印刷制御処理を示すフローチャートである。
【図５Ｂ】図３のコア（メインコア）により実行される印刷制御処理を示すフローチャートである。
【図６】設定画面の一例を示す図である。
【図７Ａ】印刷ページ数≦ＬＳタスク割り当て最大コア数である場合の、ＬＳタスク及びＲＡＳタスクへの割り当てコア数と、処理時間との関係を示す図である。
【図７Ｂ】印刷ページ数＞ＬＳタスク割り当て最大コア数である場合の、ＬＳタスク及びＲＡＳタスクへの割り当てコア数と、処理時間との関係を示す図である。
【図８】第２の実施の形態の全体構成を示す図である。
【発明を実施するための形態】
【００１９】
以下、図を参照して本発明の実施の形態の例を詳細に説明する。
図１は、本発明に係る画像形成装置２を含むネットワーク構成図である。
【００２０】
画像形成装置２、２、２は、回線３を介してコンピュータ１、１と通信可能に接続されている。
回線３は、画像形成装置２、２、２及びコンピュータ１、１によるネットワークを構成する。回線３は、コンピュータ１、１及び画像形成装置２、２、２を通信可能に接続するものであればその形態を問わない。例えば、回線３は、イーサネット（登録商標）、同軸ケーブル、光ファイバー等の有線接続回線や、無線通信を実現するための各種規格等、そのいずれか又は複数の組み合わせによってよい。また、回線３は、ＬＡＮ（Local Area Network）、インターネット、その他のネットワーク規模を問わない。
【００２１】
図２は、コンピュータ１の主要構成を示すブロック図である。図１に示すコンピュータ１は全て同じ構成によるので、以下一つのコンピュータ１について説明する。
コンピュータ１は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、ストレージデバイス１４、入力部１５、表示部１６及び通信装置１７を備えて構成され、各部はバス１８により接続されている。
【００２２】
ＣＰＵ１１は、ＲＯＭ１３又はストレージデバイス１４から処理内容に応じたプログラム、データ等を読み出して処理し、コンピュータ１の各種処理及びコンピュータ１の各部の動作制御を行う。例えば、ＣＰＵ１１は、入力部１５から入力される指示に応じて、ストレージデバイス１４に記憶されている文書データ等に基づきＰＤＬデータＤ１を生成し、通信装置１７により画像形成装置２へ送信する処理を行う。
【００２３】
ＲＡＭ１２は、ＣＰＵ１１が行う処理において読み出すプログラム、データ等を記憶すると共に、処理によって生成されたデータやパラメータ等を記憶する一次記憶装置として機能する。
【００２４】
ＲＯＭ１３は、ＣＰＵ１１によって読み出されるプログラム、データ等を書き換え不可能な状態で記憶する。
【００２５】
ストレージデバイス１４は、例えばハードディスクやフラッシュメモリ等であり、ＣＰＵ１１によって読み出されるプログラム、印刷対象となる文書データ等を書き換え可能な状態で記憶する。  
【００２６】
入力部１５は、例えばキーボードやマウス等であり、ユーザの操作入力を受け付けて操作信号をＣＰＵ１１に出力する。
【００２７】
表示部１６は、例えばＣＲＴや液晶ディスプレイ等の表示装置等であり、ＣＰＵ１１の処理結果に基づいた表示画面を表示する。
【００２８】
通信装置１７は、コンピュータ１を外部の通信回線（例えば回線３）と接続し、外部の機器とのデータ送受信を行う。通信装置１７は、例えばＮＩＣ（Network Interface Card）等であり、通信回線の種類に応じた接続を可能とする装置を用いることができる。
【００２９】
図３は、画像形成装置２の主要構成を示すブロック図である。図３に示す画像形成装置２、２、２は全て同じ構成によるので、以下一つの画像形成装置２について説明する。
画像形成装置２は、ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、ストレージデバイス２４、入力部２５、印刷部２６、通信装置２７を備えて構成され、各部はバス２８により接続されている。
【００３０】
ＣＰＵ２１は、複数の演算部としてコア２１１〜コア２１６を備えたマルチコア構成のＣＰＵである。本実施の形態においてはコア数を６として説明するが、これに限定されるものではない。
コア（メインコア）２１１は、ＲＯＭ２３又はストレージデバイス２４から処理内容に応じたプログラム、データ等を読み出して、読み出したプログラムに従って各種処理を実行することにより、画像形成装置２の各部の動作制御を行う。例えば、コア２１１は、読み出したプログラムとの協働で後述する印刷制御処理を実行することにより、制御部としての機能を実現する。
また、コア２１１〜コア２１６は、コア２１１の制御に従って、ＲＯＭ２３又はストレージデバイス２４から処理内容に応じたプログラム、データ等を読み出してＬＳタスクＴ１又はＲＡＳタスクＴ２を実行することで、画像処理部としての機能を実現する。
【００３１】
ＲＡＭ２２は、ＣＰＵ２１が行う処理において読み出すプログラム、データ等を記憶すると共に、処理によって生成されたデータやパラメータ等を記憶する一次記憶装置として機能する。
【００３２】
ＲＯＭ２３は、ＣＰＵ２１によって読み出されるプログラム、データ等を書き換え不可能な状態で記憶する。
【００３３】
ストレージデバイス２４は、例えばハードディスクやフラッシュメモリ等であり、ＣＰＵ２１によって読み出されるプログラム、データ等を書き換え可能な状態で記憶する。本実施の形態において、ストレージデバイス２４は、ＲＡＳタスク割り当て最小コア数（ＲＡＳ＿ＭＩＮ；詳細後述）を予め記憶している。
【００３４】
入力部２５は、例えばタッチパネルディスプレイを有する入力パネル等であり、ユーザの操作入力を受け付けて操作信号をＣＰＵ２１に出力する。
【００３５】
印刷部２６は、電子写真方式やインクジェット方式等により、後述する印刷データＤ３に基づいて紙等の印刷媒体に対して画像を形成するエンジンである。
【００３６】
通信装置２７は、画像形成装置２を外部の通信回線（例えば回線３）と接続し、外部の機器とのデータ送受信を行う。即ち、通信装置２７は、コンピュータ１からＰＤＬデータＤ１を受信する受信部としての機能を実現する。通信装置２７は、例えばＮＩＣ（Network Interface Card）等であり、通信回線の種類に応じた接続を可能とする装置を用いることができる。
【００３７】
次に、画像形成装置２による画像処理について説明する。
図４は、ＣＰＵ２１による画像処理の工程及び機能の一例を示す機能ブロック図である。
【００３８】
図４に示すように、コンピュータ１から送信され、通信装置２７によって受信されたＰＤＬデータＤ１は、ＬＳタスクＴ１に入力され、ＬＳタスクＴ１によって言語解析処理が施される。ＬＳタスクＴ１は、ＣＰＵ２１のコア２１１〜２１６のうち、ＬＳタスクＴ１に割り当てられたコアが、言語解析処理を行うためのプログラム、データ等をＲＯＭ２３又はストレージデバイス２４から読み出して実行することによって実現される。
言語解析処理では、ＰＤＬデータＤ１が解析され、中間言語データＤ２（例えば、ディスプレイリスト）が生成される。中間言語データＤ２は１ページ分の印刷内容を表すデータである。１ページ分の印刷内容とは、例えば所定サイズ（例えばＡ４）の用紙１ページ分の印刷内容等を指す。即ち、ＬＳタスクＴ１による言語解析処理は、ページ単位で行われる。生成された中間言語データＤ２は、ＲＡＳタスクＴ２に出力される。
【００３９】
ＲＡＳタスクＴ２においては、中間言語データＤ２に基づいてラスタライズ処理が行われる。ＲＡＳタスクＴ２は、ＣＰＵ２１のコア２１１〜２１６のうち、ＲＡＳタスクＴ２に割り当てられたコアが、ラスタライズ処理を行うためのプログラム、データ等をＲＯＭ２３又はストレージデバイス２４から読み出して実行することによって実現される。
ラスタライズ処理では、中間言語データＤ２に基づいて印刷データＤ３が生成される。具体的には、ラスタライズ処理では、所定範囲の描画領域に対して、中間言語データＤ２に基づくオブジェクトの描画処理等が行われることにより印刷データＤ３が生成される。印刷データＤ３は、それ以上の加工や処理を要することなく印刷部２６による印刷出力を可能とする印刷用のビットマップデータ、或いはこのビットマップデータを圧縮した圧縮ビットマップデータである。
本実施形態において、ラスタライズ処理は、バンド単位で行われる。１ページ分の印刷内容は、複数のバンドによって構成される。各バンドは、複数のラインによって構成される。ラインとは、画像を構成する画素を所定の一方向（例えば画像の横方向）に並べた画素の集合であり、所定の一方向に直交する一方向（例えば画像の縦方向）にラインを並べて組み合わせることで画像は構成される。バンドは、複数のラインの組であり、１ページ分の印刷内容は、複数のバンドの組である。
【００４０】
ＲＡＳタスクＴ２によって生成された印刷データＤ３は、印刷部２６に入力され、印刷データＤ３に基づいて紙等の印刷媒体上に画像が印刷出力される。
【００４１】
ここで、上述の画像処理を行うにあったっては、ＣＰＵ２１の複数のコア２１１〜２１６は、それぞれＬＳタスクＴ１又はＲＡＳタスクＴ２の何れか一方に割り当てられる。上述のように、ＬＳタスクＴ１はページ単位で行われる処理であり、ＲＡＳタスクＴ２はバンド単位で行われる処理である。そのため、例えばページ数が１であるのにＬＳタスクＴ１に４つのコアを割り当ててしまうと、残りの３つのコアが何のタスクも実行されずに未処理状態で浮いてしまうこととなる。一方、ＲＡＳタスクＴ２の処理は、ＬＳタスクＴ１の処理を待たなければ行うことはできないが、バンド単位で行われるため、ＲＡＳタスクＴ２に多くのコアを割り当てることができればそれだけラスタライズ処理を高速化することができる。
【００４２】
そこで、本実施の形態の画像形成装置２においては、印刷物が出力されるまでの処理速度を向上させるべく、図５Ａ〜図５Ｂに示す印刷制御処理を実行し、受信したＰＤＬデータＤ１に含まれる印刷ページ数に応じてＬＳタスクＴ１とＲＡＳタスクＴ２に割り当てるコア数を動的に設定する。
【００４３】
印刷制御処理においては、ストレージデバイス２４に予め設定されているＲＡＳタスク割り当て最小コア数（ＲＡＳ＿ＭＩＮと表記）に基づいてＬＳタスクＴ１とＲＡＳタスクＴ２に割り当てるコア数が設定される。ＲＡＳ＿ＭＩＮは、ＲＡＳタスクＴ２に最低限割り当てて確保すべきコア数であり、１以上であって総コア数−１以下である。
ここで、ＲＡＳ＿ＭＩＮは、工場での出荷前に、予め製品の使用に基づいてデフォルト値がストレージデバイス２４に設定されている。例えば、カラー機であればモノクロ専用機に比べてＲＡＳタスクＴ２の処理は重く処理時間がかかるため、カラー機では一般的にモノクロ機よりＲＡＳ＿ＭＩＮが高く設定されている。また、例えば、印刷部２６の解像度が高いほどＲＡＳタスクＴ２の処理は重くなるため、印刷解像度が高い製品では一般的に印刷解像度の低い製品よりＲＡＳ＿ＭＩＮは高く設定されている。
【００４４】
一方、好ましいＲＡＳ＿ＭＩＮは、同じ製品であっても印刷を行う対象によって異なる場合がある。例えば、カラー機であってもモノクロ印刷しか行わないようなユーザは、ＲＡＳタスクＴ２の処理が出荷時の想定より軽いため、ＲＡＳ＿ＭＩＮをデフォルト値より下げたほうが処理速度を向上できる場合がある。また、例えば、標準であるＡ４より大きい用紙サイズで頻繁に印刷を行うユーザは、ＲＡＳタスクＴ２の処理が標準より重いため、ＲＡＳ＿ＭＩＮをデフォルト値より上げたほうがＣＰＵ２１全体の使用効率が上がり、処理速度を向上できる場合がある。
そこで、本実施の形態の画像形成装置２においては、ユーザが入力部２５からＲＡＳ＿ＭＩＮを設定できるようになっている。
【００４５】
図６は、ユーザが画像形成装置２に係る機械設定を行うためのメンテナンスモードにおいて、入力部２５のタッチパネルディスプレイに表示される設定画面２５１の一例を示す図である。図６に示すように、設定画面２５１には、ＲＡＳタスク割り当て最小コア数（ＲＡＳ＿ＭＩＮ）の入力欄２５１ａが設けられている。設定画面２５１からＲＡＳ＿ＭＩＮの値が入力されると、ＣＰＵ２１のコア２１１により、ストレージデバイス２４のＲＡＳ＿ＭＩＮの値が入力された値に変更される。
なお、設定画面２５１は、ＲＡＳ＿ＭＩＮの値を特定できるのであれば上記の態様に限らない。例えば、言語解析処理に対するラスタライズ処理の優先度とＲＡＳ＿ＭＩＮの値とを対応付けたテーブル等を予めストレージデバイス２４に記憶しておき、ユーザにラスタライズ処理の優先度を入力させる態様としてもよい。
このように、ＲＡＳ＿ＭＩＮをユーザが任意に設定できるようにすることにより、印刷対象に応じて、より一層の処理速度の向上を図ることが可能となる。
【００４６】
以下、ＣＰＵ２１のコア２１１により実行される印刷制御処理について、図５Ａ〜図５Ｂを参照して説明する。印刷制御処理は、コア２１１とＲＯＭ２３又はストレージデバイス２４に記憶されているプログラムとの協働により実行される。
まず、通信装置２７により、コンピュータ１から送信されたＰＤＬデータＤ１の受信が行われ、受信されたＰＤＬデータＤ１がＲＡＭ２２に記憶される（ステップＳ１）。次いで、ＰＤＬデータＤ１において、ページ毎に埋め込まれているスタート／エンド数がカウントされることにより印刷ページ数が取得され（ステップＳ２）、変数ｐｐに印刷ページ数が設定される（ステップＳ３）。
【００４７】
次いで、ストレージデバイス２４からＲＡＳ＿ＭＩＮの値が読み出され（ステップＳ４）、総コア数（ＴＯＴＡＬ＿ＣＯＲＥ；ここでは６）からＲＡＳ＿ＭＩＮが減算されることにより、ＬＳタスク割り当て最大コア数（ＬＳ＿ＭＡＸと表記）が算出される（ステップＳ５）。
【００４８】
次いで、切り替えパラメータＰａｒａｍにＬＳ＿ＭＡＸの値が設定され（ステップＳ６）、変数ｐｐ＞Ｐａｒａｍであるか否かが判断される（ステップＳ７）。ｐｐ＞Ｐａｒａｍではない、即ち、印刷ページ数がＬＳ＿ＭＡＸ以下であると判断されると（ステップＳ７；ＮＯ）、ＬＳタスクＴ１への割り当てコア数にｐｐ、即ち印刷ページ数が設定され、ＲＡＳタスクＴ２への割り当てコア数にＴＯＴＡＬ＿ＣＯＲＥ−ｐｐ、即ち、残りのコア数が設定される(ステップＳ８)。
【００４９】
一方、ｐｐ＞Ｐａｒａｍである、即ち、印刷ページ数がＬＳ＿ＭＡＸより大きいと判断されると（ステップＳ７；ＹＥＳ）、カウンタｉに初期値２が設定され（ステップＳ９）、ｎ＝ｐｐ／ｉが算出される（ステップＳ１０）。そして、算出結果がｎ≦Ｐａｒａｍであるか否かが判断される(ステップＳ１１)。
【００５０】
ｎ≦Ｐａｒａｍではないと判断されると（ステップＳ１１；ＮＯ）、ｉ≧ｐｐであるか否かが判断される（ステップＳ１２）。ｉ≧ｐｐではないと判断されると（ステップＳ１２；ＮＯ）、ｉが１インクリメントされ（ステップＳ１３）、処理はステップＳ１０に戻る。
ｎ≦Ｐａｒａｍであると判断されるか(ステップＳ１１；ＹＥＳ)、又はｉ≧ｐｐであると判断されると（ステップＳ１２；ＹＥＳ）、ＬＳタスクＴ１への割り当てコア数にｎの値が設定され、ＲＡＳタスクＴ２への割り当てコア数にＴＯＴＡＬ＿ＣＯＲＥ−ｎの値が設定される（ステップＳ１４）。
【００５１】
各タスクへ割り当てるコア数が設定されると、ＬＳタスクＴ１、ＲＡＳタスクＴ２のそれぞれに、設定された数のコアが割り当てられ(ステップＳ１５)、ＰＤＬデータＤ１に基づいてＬＳタスクＴ１及びＲＡＳタスクＴ２が実行される（ステップＳ１６）。そして、ＬＳタスクＴ１及びＲＡＳタスクＴ２を経て生成された印刷データＤ３に基づいて印刷部２６により印刷媒体に画像が形成され（ステップＳ１７）、印刷制御処理は終了する。
【００５２】
図７Ａは、ｐｐ≦Ｐａｒａｍである場合の、ＬＳタスクＴ１及びＲＡＳタスクＴ２への割り当てコア数と、処理時間との関係を示す図である。ここでは、コア総数が６、ＲＡＳ＿ＭＩＮが２、ＬＳ＿ＭＡＸが４、印刷ページ数が３であり、１ページ＝３ドット×４ラインとした場合を例として示している。また、網掛けＡはＬＳタスクＴ１にかかる処理時間、網掛けＢはＲＡＳタスクＴ２にかかる処理時間、網掛けなしＣはオーバーヘッド時間を示している。ＲＡＳタスクＴ２では、バンド単位で処理するため、その前準備の処理等のオーバーヘッドが生じる。
図７Ａの上段に示すように、ＬＳタスクＴ１にＬＳ＿ＭＡＸ＝４を割り当て、ＲＡＳタスクＴ２にＲＡＳ＿ＭＩＮ＝２を割り当てると、ＬＳタスクＴ１に割り当てられたコアが一つ未使用状態となり、ＣＰＵ２１全体の使用効率が悪い。処理時間は１２単位時間かかっている。
そこで、図５ＢのステップＳ８によって、ＬＳタスクＴ１に印刷ページ数分のコア数、即ち、３を割り当て、残り３をＲＡＳタスクＴ２に割り当てると、図７Ａ下段に示すように、未使用のコアがなくなり、即ち、ＣＰＵ２１全体としての使用効率が向上し、処理時間は９単位に短縮される。
【００５３】
図７Ｂは、ｐｐ＞Ｐａｒａｍである場合の、ＬＳタスクＴ１及びＲＡＳタスクＴ２への割り当てコア数と、処理時間との関係を示す図である。ここでは、コア総数が６、ＲＡＳ＿ＭＩＮが２、ＬＳ＿ＭＡＸが４、印刷ページが５であり、１ページ＝３ドット×４ラインとした場合を例として示している。また、網掛けＡはＬＳタスクＴ１にかかる時間、網掛けＢはＲＡＳタスクＴ２にかかる時間、網掛けなしＣはオーバーヘッド時間を示している。
図７Ｂの上段に示すように、ＬＳタスクＴ１にＬＳ＿ＭＡＸ＝４を割り当て、ＲＡＳタスクＴ２にＲＡＳ＿ＭＩＮ＝２を割り当てると、４つのコアで同時にＬＳタスクＴ１が行われるが、残りの１ページを何れかのコアで処理中は、ＬＳタスクＴ１に割り当てられた他の３つのコアが未使用状態となり、ＣＰＵ２１全体の使用効率が悪い。処理時間は１７単位時間かかっている。
そこで、図５ＢのステップＳ１２〜１４の処理によって、ＬＳタスクＴ１に割り当てるコアの数がＬＳ＿ＭＡＸ以下であって、印刷ページ数分の＝５ページ分をＬＳタスクＴ１に割り当てる各コアで処理すべきページ数が最も少なく、かつ、ＬＳタスクＴ１に割り当てるコアのうち未処理状態が発生するコアの数が最も少なくなるようにＬＳタスクＴ１及びＲＡＳタスクＴ２に割り当てるコア数を算出し、この算出結果であるＬＳタスクＴ１に３を割り当て、残り３をＲＡＳタスクＴ２に割り当てると、図７Ｂ下段に示すように、未使用状態のコアは１つに低減され、ＣＰＵ２１全体としての使用効率は向上し、処理時間は１３単位に短縮される。
このように、画像形成装置２においては、ＬＳタスクＴ１とＲＡＳタスクＴ２のそれぞれに割り当てるコア数を、ＲＡＳタスクＴ２に割り当てるべき最小のコア数を確保しつつ、印刷ページ数に応じて、ＣＰＵ２１全体としての使用効率が最も高くなるように設定するので、ＰＤＬデータＤ１から印刷データＤ３を生成する際の処理速度を向上させることができる。
【００５４】
[第２の実施の形態]
次に、本発明の第２の実施の形態について説明する。
第１の実施の形態においては、画像形成装置２のＣＰＵ２１がマルチコア構成であり、ＰＤＬデータＤ１から印刷データＤ３を生成する処理を画像形成装置２で行う場合を例にとり説明したが、本実施の形態においては、コンピュータ４のＣＰＵ４１がマルチコア構成であり、コンピュータ４で印刷データＤ３を生成する場合を例にとり説明する。
【００５５】
図８は、第２の実施の形態の全体構成を示す図である。図８に示すように、第２の実施の形態においては、コンピュータ４と画像形成装置５とがビデオ専用線６を介して接続されている。
【００５６】
図８に示すように、コンピュータ４は、ＣＰＵ４１、ＲＡＭ４２、ＲＯＭ４３、ストレージデバイス４４、入力部４５、表示部４６、ビデオＩ／Ｆ４７、通信装置４８を備えて構成され、各部はバス４９を介して接続されている。
【００５７】
ＣＰＵ４１は、複数の演算部としてコア４１１〜４１６を備えたマルチコア構成のＣＰＵである。本実施の形態においては、ＣＰＵ４１のコア数は６とするが、特に限定されない。
コア（メインコア）４１１は、ＲＯＭ４３又はストレージデバイス４４から処理内容に応じたプログラム、データ等を読み出して、読み出したプログラムに従って各種処理を実行することにより、コンピュータ４各部の動作制御を行う。例えば、コア４１１は、読み出したプログラムとの協働で後述する印刷データ生成処理を実行することにより、制御部としての機能を実現する。
また、コア４１１〜コア４１６は、コア４１１の制御に従って、ＲＯＭ４３又はストレージデバイス４４から処理内容に応じたプログラム、データ等を読み出してＬＳタスクＴ１又はＲＡＳタスクＴ２を実行することで、画像処理部としての機能を実現する。
【００５８】
ストレージデバイス４４には、ＲＡＳタスク割り当て最小コア数（ＲＡＳ＿ＭＩＮ）が予め設定されている。また、ストレージデバイス４４には、印刷対象となる文書データ等のデータＤ０が記憶されている。
ビデオＩ／Ｆ４７は、印刷データＤ３をビデオ専用線６を介して画像形成装置５に送信するためのインターフェースである。
ＲＯＭ４３、ストレージデバイス４４、入力部４５、表示部４６、通信装置４８の構成は、上述のＲＯＭ１３、ストレージデバイス１４、入力部１５、表示部１６、通信装置１７と同様であるので説明を援用する。
【００５９】
また、コンピュータ４においては、ユーザが入力部４５からＲＡＳ＿ＭＩＮを設定できるようになっている。即ち、入力部４５からの指示に応じて、図６に示す設定画面２５１と同様の設定画面が表示部４６に表示され、当該画面からユーザがＲＡＳ＿ＭＩＮを設定することができる。ＲＡＳ＿ＭＩＮの値が入力されると、ＣＰＵ４１のメインコア４１１により、ＲＡＭ４２のＲＡＳ＿ＭＩＮの値が入力された値に変更される。
なお、上記設定画面は、ＲＡＳ＿ＭＩＮの値を特定できるのであれば上記の態様に限らない。例えば、言語解析処理に対するラスタライズ処理の優先度とＲＡＳ＿ＭＩＮの値とを対応付けたテーブル等を予めストレージデバイス４４に記憶しておき、ユーザにラスタライズ処理の優先度を入力させる態様としてもよい。
このように、ＲＡＳ＿ＭＩＮをユーザが任意に設定できるようにすることにより、印刷対象に応じてより一層の処理速度の向上を図ることが可能となる。
【００６０】
また、図８に示すように、画像形成装置５は、ＣＰＵ５１、ＲＡＭ５２、ＲＯＭ５３、ストレージデバイス５４、入力部５５、印刷部５６、ビデオＩ／Ｆ５７を備えて構成され、各部はバス５８により接続されている。
ＣＰＵ５１は、単一の演算部を有するＣＰＵ５１を備えている。
ビデオＩ／Ｆ５７は、コンピュータ４からの印刷データＤ３を入力するためのインターフェースである。
ＣＰＵ５１は、ＲＯＭ５３に格納されているプログラムに従って、ビデオＩ／Ｆ５７を介してコンピュータ４から入力された印刷データＤ３を印刷部５６に出力し、印刷データＤ３に基づいて印刷媒体上に画像を形成させる。
ＲＡＭ５２、ＲＯＭ５３、ストレージデバイス５４、入力部５５、印刷部５６の構成は、上述のＲＡＭ２２、ＲＯＭ２３、ストレージデバイス２４、入力部２５、印刷部２６と同様であるので説明を援用する。
【００６１】
第２の実施の形態の動作としては、コンピュータ４のＣＰＵ４１において、第１の実施の形態で図４を用いて説明した画像処理工程が実行される。
具体的には、ストレージデバイス４４に記憶されている中から印刷対象のデータＤ０、例えば文書データ等が入力部４５により指定されるか、又は通信装置４８により入力されてＲＡＭ４２に記憶されると、コア４１１とＲＯＭ４３又はストレージデバイス４４に記憶されているプログラムとの協働により印刷データ生成処理が実行される。印刷データ生成処理においては、データＤ０からＰＤＬデータＤ１が生成され、次いで、図５Ａ〜図５Ｂに示す印刷制御処理のステップＳ２〜Ｓ１６と同じ処理が実行されることにより印刷データが生成される。生成された印刷データＤ３は、ビデオＩ／Ｆ４７により画像形成装置５に送信される。
このように、コンピュータ４においても、画像形成装置２と同様に、ＬＳタスクＴ１とＲＡＳタスクＴ２のそれぞれに割り当てるコア数を、ＲＡＳタスクＴ２に割り当てるべき最小のコア数を確保しつつ、印刷ページ数に応じて、ＣＰＵ２１全体としての使用効率が最も高くなるように設定するので、ＰＤＬデータＤ１から印刷データＤ３を生成する際の処理速度を向上させることができる。
【００６２】
以上説明したように、画像形成装置２によれば、コア２１１は、通信装置２７によりＰＤＬデータが受信されると、当該ＰＤＬデータを解析して印刷ページ数を取得し、当該取得された印刷ページ数に応じて、ページ単位で処理を行うＬＳタスクＴ１とバンド単位で処理を行うＲＡＳタスクＴ２のそれぞれに割り当てるコアの数を動的に設定する。
【００６３】
従って、ＬＳタスクＴ１とＲＡＳタスクＴ２のそれぞれに割り当てるコア数を印刷ページ数に応じて設定するので、各タスクに割り当てるコア数を固定とする場合に比べてＰＤＬデータＤ１から印刷データＤ３を生成する際の処理速度を向上させることができる。
【００６４】
また、ストレージデバイス２４は、ＲＡＳタスクＴ２に割り当てるべきコアの最小数の値を予め記憶しており、コア２１１は、コア総数からストレージデバイス２４に記憶されているＲＡＳタスク割り当て最小コア数を減算することによりＬＳタスク割り当て最大コア数を算出し、当該算出された最大コア数が印刷ページ数以上である場合は、ＬＳタスク割り当てコア数が印刷ページ数と同数になるように、算出された最大コア数が印刷ページ数を下回る場合は、ＬＳタスク割り当てコア数がＬＳタスク割り当て最大コア数以下であって、ＬＳタスクＴ１に割り当てる各コアが処理すべきページ数が最も少なく、かつページ単位で処理を行うタスクに割り当てるコアのうち未処理状態が発生するコアの数が最も少なくなるように、各タスクに割り当てるコアの数を動的に設定する。
従って、ＲＡＳタスクＴ２に最低限割り当てるべきコア数を確保しつつ、その範囲内でＬＳタスクＴ１及びＲＡＳタスクＴ２のそれぞれに、ＣＰＵ全体として最も使用効率のよい最適な数のコアを割り当てることが可能となる。
【００６５】
また、ＲＡＳタスク割り当て最小コア数の値を入力部２５によりユーザが入力することが可能であるので、ユーザの画像形成装置２の使用態様に応じて、更に最適なコア数をＬＳタスクＴ１及びＲＡＳタスクＴ２に割り当てることが可能となる。
コンピュータ４についても上記画像形成装置２と同様の機能を有し、同様の効果を奏する。
【００６６】
なお、上記第１及び第２の実施の形態における記述は、本発明に係る画像形成装置２及びコンピュータ４の好適な一例を示すものであり、これに限定されるものではない。
【００６７】
例えば、上記第１及び第２の実施の形態においては、コア２１１、コア４１１がそれぞれＲＯＭ２３、ＲＯＭ４３等に記憶されているプログラムとの協働により制御部として機能することとして説明したが、他のコアにより行うこととしてもよい。
また、上記第１及び第２の実施の形態においては、ＣＰＵ２１、ＣＰＵ４１が複数のコアを備えたマルチコア構成であることとして説明したが、複数のＣＰＵを備えるマルチＣＰＵ構成としてもよい。
【００６８】
また、上記第１及び第２の実施の形態においては、制御部としての機能をＣＰＵ中のメインコアにより実現することとしたが、別途ＣＰＵを設けて制御部としての機能を実現させることとしてもよい。
また、上記第１及び第２の実施の形態においては、ＣＰＵ内の全てのコアをＬＳタスクＴ１又はＲＡＳタスクＴ２に割り当てて画像処理部を構成することとしたが、ＣＰＵ内の一部のコアを別の処理に割り当て、残りの複数コアにより画像処理部を構成することとしてもよい。
【００６９】
また、上記の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてまた、ＲＯＭ、不揮発性メモリ、ハードディスク等を使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、ＣＤ−ＲＯＭ等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ（搬送波）も適用される。
【００７０】
その他、各装置の細部構成及び細部動作に関しても、本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【符号の説明】
【００７１】
１  コンピュータ
１１  ＣＰＵ
１２  ＲＡＭ
１３  ＲＯＭ
１４  ストレージデバイス
１５  入力部
１６  表示部
１７  通信装置
１８  バス
２  画像形成装置
２１  ＣＰＵ
２１１〜２１６  コア
２２  ＲＡＭ
２３  ＲＯＭ
２４  ストレージデバイス
２５  入力部
２６  印刷部
２７  通信装置
２８  バス
３  回線
４  コンピュータ
４１  ＣＰＵ
４１１〜４１６  コア
４２  ＲＡＭ
４３  ＲＯＭ
４４  ストレージデバイス
４５  入力部
４６  表示部
４７  ビデオＩ／Ｆ
４８  通信装置
４９  バス
５  画像形成装置
５１  ＣＰＵ
５２  ＲＡＭ
５３  ＲＯＭ
５４  ストレージデバイス
５５  入力部
５６  印刷部
５７  ビデオＩ／Ｆ
５８  バス
６  ビデオ専用線
【図１】
2011136538.tif 000003
【図２】
2011136538.tif 000004
【図３】
2011136538.tif 000005
【図４】
2011136538.tif 000006
【図５Ａ】
2011136538.tif 000007
【図５Ｂ】
2011136538.tif 000008
【図６】
2011136538.tif 000009
【図７Ａ】
2011136538.tif 000010
【図７Ｂ】
2011136538.tif 000011
【図８】
2011136538.tif 000012