(57)【要約】【課題】画像形成出力におけるマルチコアＣＰＵの処理能力を向上させること。【解決手段】画像形成出力を実行するための画像処理を複数の演算手段に実行させる画像形成出力制御方法であって、前記画像形成出力を実行するための描画情報を生成する描画情報生成部に前記画像形成出力を実行するための命令情報に基づいて前記描画情報を生成させ、前記描画情報を、前記画像形成出力を実行する画像形成出力部が解釈可能な形式に変換する処理を実行し、前記命令情報に基づいて、前記描画情報を前記描画情報生成部に生成させる処理および前記描画情報を前記形式に変換する処理を複数の前記演算手段のいずれかが実行するように分散させる分散制御処理を実行する、ことを特徴とする。【選択図】図４
2018015988.tif 000002
【特許請求の範囲】
【請求項１】
画像形成出力を実行するための画像処理を複数の演算手段に実行させる画像形成出力制御装置であって、
前記画像形成出力を実行するための描画情報を生成する描画情報生成部と、
前記描画情報生成部に前記画像形成出力を実行するための命令情報に基づいて前記描画情報を生成させる描画情報生成制御部と、
を備え、
前記描画情報生成部は、
前記描画情報を、前記画像形成出力を実行する画像形成出力部が解釈可能な形式に変換する処理を行う出力変換処理部と、
前記命令情報に基づいて、前記描画情報を前記描画情報生成部に生成させる処理および前記描画情報を前記形式に変換する処理を複数の前記演算手段のいずれかが実行するように分散させる分散制御処理を実行する分散制御処理部と、
を含むことを特徴とする画像形成出力制御装置。
【請求項２】
前記分散制御処理部は、
前記描画情報を前記描画情報生成部に生成させる処理および前記描画情報を前記形式に変換する処理を複数の前記演算手段のいずれかに割り当てて実行させるための情報テーブルを含み、前記命令情報および前記情報テーブルに基づいて前記描画情報を前記描画情報生成部に生成させる処理および前記描画情報を前記形式に変換する処理を複数の前記演算手段のいずれかに割り当てることを特徴とする請求項１に記載の画像形成出力制御装置。
【請求項３】
前記描画情報を記憶する描画情報記憶部を含み、
前記分散制御処理部は、
前記描画情報記憶部が記憶することのできる情報量に応じて、前記描画情報を前記描画情報生成部に生成させる処理および前記描画情報を前記形式に変換する処理を複数の前記演算手段のいずれかが実行するように分散させることを特徴とする請求項１または請求項２に記載の画像形成出力制御装置。
【請求項４】
前記描画情報を記憶する描画情報記憶部を含み、
前記分散制御処理部は、
前記描画情報記憶部が記憶することのできる情報量が所定の情報量よりも少ない場合に、前記描画情報を前記形式に変換する処理を複数の前記演算手段に実行させることを特徴とする請求項１または請求項２に記載の画像形成出力制御装置。
【請求項５】
前記命令情報は、前記描画情報を前記描画情報生成部に生成させる処理を複数の前記演算手段に実行させる情報もしくは前記描画情報を前記形式に変換する処理を複数の前記演算手段に実行させる情報もしくは前記描画情報を前記描画情報生成部に生成させ、生成された前記描画情報を前記形式に変換する処理を複数の前記演算手段に実行させる情報を含むことを特徴とする請求項１ないし請求項４いずれか一項に記載の画像形成出力制御装置。
【請求項６】
画像形成出力を実行するための画像処理を複数の演算手段に実行させる画像形成出力制御方法であって、
前記画像形成出力を実行するための描画情報を生成する描画情報生成部に前記画像形成出力を実行するための命令情報に基づいて前記描画情報を生成させ、
前記描画情報を、前記画像形成出力を実行する画像形成出力部が解釈可能な形式に変換する処理を実行し、
前記命令情報に基づいて、前記描画情報を前記描画情報生成部に生成させる処理および前記描画情報を前記形式に変換する処理を複数の前記演算手段のいずれかが実行するように分散させる分散制御処理を実行する、
ことを特徴とする画像形成出力制御方法。
【請求項７】
画像形成出力を実行するための画像処理を複数の演算手段に実行させる画像形成出力制御プログラムであって、
前記画像形成出力を実行するための描画情報を生成する描画情報生成部に前記画像形成出力を実行するための命令情報に基づいて前記描画情報を生成させるステップと、
前記描画情報を、前記画像形成出力を実行する画像形成出力部が解釈可能な形式に変換する処理を実行するステップと、
前記命令情報に基づいて、前記描画情報を前記描画情報生成部に生成させる処理および前記描画情報を前記形式に変換する処理を複数の前記演算手段のいずれかが実行するように分散させる分散制御処理を実行するステップと、
を実行させることを特徴とする画像形成出力制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成出力制御装置、画像形成出力制御方法、画像形成出力制御プログラムに関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタには、プリントエンジン本体とＤＦＥ（Ｄｉｇｉｔａｌ  Ｆｒｏｎｔ  Ｅｎｄ）とによって構成されるものがある。ＤＦＥは、プリントエンジンを制御する画像形成出力制御装置であり、ＤＦＥにおいては、画像形成出力を実行するための描画情報を生成する画像処理が行われる。
【０００３】
この画像処理においては、印刷データを解析して中間フォーマット形式に変換するＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）処理、そして、中間フォーマットをプリントエンジンが処理可能なラスターデータに変換する出力変換処理が実行される。これらの画像処理は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの演算手段がソフトウェアに従って動作することによって実行される。
【０００４】
また、複数の演算手段が搭載されたマルチコアＣＰＵにおいては、複数のコアをそれぞれ独立して動作させ、処理を並列化することによって処理時間を短縮することが可能である（例えば、特許文献１参照）。マルチコアＣＰＵの性能を効率的に発揮させるためには、処理をそれぞれのコアに適切に配分し、動作中のコアがある一方で他のコアが待機状態にならないようにする必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、４つのコアを含むマルチコアＣＰＵを搭載しているプリンタ制御装置では、ＣＰＵの処理負荷が最大となる画像形成出力時に、ＲＩＰ処理および出力変換処理をそれぞれ２つのコアに並列に配分し動作させている。しかし、出力変換処理のみを行う場合に、２つのコアにのみ出力変換処理を配分し動作させるため、ＲＩＰ処理が配分されるコアが待機状態になり、ＣＰＵの処理効率を低減させてしまう。
【０００６】
本発明は、このような課題を解決するためになされたものであり、画像形成出力におけるマルチコアＣＰＵの処理能力を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の一態様は、画像形成出力を実行するための画像処理を複数の演算手段に実行させる画像形成出力制御装置であって、前記画像形成出力を実行するための描画情報を生成する描画情報生成部と、前記描画情報生成部に前記画像形成出力を実行するための命令情報に基づいて前記描画情報を生成させる描画情報生成制御部と、を備え、前記描画情報生成部は、前記描画情報を、前記画像形成出力を実行する画像形成出力部が解釈可能な形式に変換する処理を行う出力変換処理部と、前記命令情報に基づいて、前記描画情報を前記描画情報生成部に生成させる処理および前記描画情報を前記形式に変換する処理を複数の前記演算手段のいずれかが実行するように分散させる分散制御処理を実行する分散制御処理部と、を含むことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画像形成出力におけるマルチコアＣＰＵの処理能力を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る画像処理システムの運用形態を示す図。
【図２】本発明の実施形態に係る情報処理装置のハードウェア構成を示すブロック図。
【図３】本発明の実施形態に係るＤＦＥの機能構成を示す機能ブロック図。
【図４】本発明の実施形態に係る描画モジュールの機能構成を示すブロック図。
【図５】本発明の実施形態に係るＲＩＰ処理部の機能構成を示すブロック図。
【図６】本発明の実施形態に係る最適値テーブルを示す図。
【図７】本発明の実施形態に係るＲＩＰ処理を行う際のデータの流れを示す図。
【図８】本発明の実施形態に係るＲＩＰ処理を行う際のタスク分散を示す図。
【図９】本発明の実施形態に係る出力変換処理を行う際のデータの流れを示す図。
【図１０】本発明の実施形態に係る出力変換処理を行う際のタスク分散を示す図。
【図１１】本発明の実施形態に係る印刷出力を行う際のデータの流れを示す図。
【図１２】本発明の実施形態に係る印刷出力を行う際のタスク分散を示す図。
【図１３】本発明の実施形態に係る並列制御を行う処理の流れを示すフローチャート。
【図１４】本発明の実施形態に係るＨＤＤの残容量に応じて並列処理を行う処理の流れを示すフローチャート。
【図１５】本発明の実施形態に係る最適値テーブルを示す図。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態について説明する。本実施形態においては、印刷ジョブを生成するクライアント端末２と、受信した印刷ジョブに基づいて画像形成出力を実行する画像形成装置１を含む画像処理システム３を例に説明を行う。
【００１１】
図１は、本実施形態に係る画像処理システム３の運用形態を示す図である。図１に示すように、画像処理システム３は、画像形成装置１、クライアント端末２がネットワークを介して接続されて構成されている。
【００１２】
画像形成装置１は、電子写真方式やインクジェット方式等によってプリンタであり、ＤＦＥ１００及びプリントエンジン１５０を含む。ＤＦＥ１００は、画像形成出力部であるプリントエンジン１５０にデジタル画像形成出力を実行させるための制御部である画像形成出力制御装置として機能する。また、プリントエンジン１５０はインクヘッドや搬送機構等の画像形成部を備えており、画像形成出力装置として機能する。
【００１３】
そのため、ＤＦＥ１００は、プリントエンジン１５０が印刷出力を実行する際に参照する画像データであるラスターデータを生成するためにＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）処理および出力変換処理を実行する。ＲＩＰ処理は、印刷ジョブに含まれるＰｏｓｔ  Ｓｃｒｉｐｔ、ＰＤＦなどのラスタをレンダリングし、中間データを生成する。出力変換処理は、中間データに対してスクリーニング処理などを行い、画像データがビットマップ化されたラスターデータを生成する。ラスターデータが、プリントエンジン１５０が解釈可能な形式に変換された描画情報である。
【００１４】
画像形成装置１によって印刷出力を行う場合、クライアント端末２からＤＦＥ１００にデータを送信する。ＤＦＥ１００は、上述したようにＲＩＰ処理および出力変換処理を行い、生成されたラスターデータをプリントエンジン１５０に送信する。プリントエンジン１５０は、受信したラスターデータに基づいて印刷出力を実行する。従って、ＲＩＰ処理前の印刷データをＤＦＥ１００に送信することによって、画像形成装置１に印刷出力を実行させることが可能である。
【００１５】
クライアント端末２は、システムを使用するオペレータが操作する情報処理端末であり、一般的なＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等によって実現される。オペレータは、クライアント端末２を操作してＤＦＥ１００にデータを送信する。
【００１６】
次に、本実施形態に係るＤＦＥ１００、クライアント端末２などの情報処理装置のハードウェア構成について図２を参照して説明する。図２に示すように、ＤＦＥ１００、クライアント端末２は、一般的なサーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等と同様の構成を含む。即ち、ＤＦＥ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０及びＩ／Ｆ５０がバス８０を介して接続されている。また、Ｉ／Ｆ５０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）６０及び操作部７０が接続されている。
【００１７】
ＣＰＵ１０は演算手段であり、情報処理装置全体の動作を制御する。本実施形態に係るＤＦＥ１００に搭載されているＣＰＵ１０は、マルチコアＣＰＵ（クアッドコアＣＰＵ）であり、コア１０ａ、コア１０ｂ、コア１０ｃ、コア１０ｄを含む。コア１０ａ、コア１０ｂ、コア１０ｃ、コア１０ｄがそれぞれ独立して動作することにより、並列処理が可能となり、処理時間を短縮することが可能となる。
【００１８】
なお、ＣＰＵ１０は、コア１０ａ、コア１０ｂ、コア１０ｃ、コア１０ｄがすべて同じアーキテクチャによって構成されるホモジニアスマルチコアとして構成されてもよいし、異なるアーキテクチャのコアが混在するヘテロジニアスマルチコアとして構成されてもよい。
【００１９】
ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ４０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。
【００２０】
Ｉ／Ｆ５０は、バス８０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ６０は、ユーザが情報処理装置の状態を確認するための視覚的ユーザインタフェースである。操作部７０は、キーボードやマウス等、ユーザが情報処理装置に情報を入力するためのユーザインタフェースである。なお、ＤＦＥ１００においては、ＬＣＤ６０や操作部７０等のユーザインタフェースは省略可能である。
【００２１】
このようなハードウェア構成において、ＲＯＭ３０に格納されたプログラムや、ＨＤＤ４０若しくは図示しない光学ディスク等の記憶媒体からＲＡＭ２０にロードされたプログラムに従ってＣＰＵ１０が演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係るＤＦＥ１００およびクライアント端末２の機能を実現する機能ブロックが構成される。
【００２２】
次に、本実施形態に係るＤＦＥ１００の機能構成について図３を参照して説明する。図３に示すように、ＤＦＥ１００は、ＤＦＥコントローラ１１０、ネットワークＩ／Ｆ１０１及びディスプレイ１０２を含む。ネットワークＩ／Ｆ１０１は、ＤＦＥ１００がネットワークを介して他の機器と情報をやり取りするためのインタフェースである。また、ＤＦＥコントローラ１１０は、デジタル印刷出力されるデータの取得、印刷ジョブの実行等を実行する。ＤＦＥコントローラ１１０は、専用のソフトウェアが情報処理装置にインストールされることによって構成される。
【００２３】
ＤＦＥ１００は、クライアント端末２から印刷出力の命令情報であるジョブデータを受信し、受信したジョブの制御、ＲＩＰ処理の実行制御及びプリントエンジン１５０の制御を行う。クライアント端末２は、ＤＦＥ１００にジョブデータを送信することにより、プリントエンジン１５０による印刷出力を実行させる。即ち、ＤＦＥ１００は、クライアント端末２に対してデジタルプリント機能を提供するためのサーバとして機能する。
【００２４】
ＤＦＥ１００が提供するジョブの制御機能とは、ジョブデータの受け付け、ジョブデータの解析、ラスターデータの作成及びプリントエンジン１５０による印刷出力等の一連の動作の制御機能である。また、ＲＩＰ処理の実行制御とは、ジョブデータの解析によって生成された情報に基づいて描画モジュール１２０にＲＩＰ処理を実行させる制御である。
【００２５】
ジョブデータの解析によって生成される情報とは、ＲＩＰ処理に用いられる情報がＤＦＥ１００において解読可能な形式に変換された情報である。描画モジュール１２０は、ＤＦＥ１００において解読可能な形式に変換された情報を参照し、ＲＩＰ処理および出力変換処理を実行することにより、中間データ、ラスターデータを作成する描画情報生成部である。
【００２６】
プリントエンジン１５０による印刷出力等の一連の動作の制御機能とは、プリントエンジン１５０にラスターデータを送信して印刷出力を実行させる機能である。これらの機能は、図３に示す各ブロックによって実現される。図３に示す各ブロックは、図２において説明したように、ＲＡＭ２０にロードされたプログラムやＲＯＭ３０に格納されたプログラムに従ってＣＰＵ１０が演算処理を行い、他のハードウェアを動作させることにより実現される。
【００２７】
また、ＤＦＥ１００が、内部に複数の描画モジュール１２０を搭載する構成であってもよい。これは、ＤＦＥ１００にジョブを送信する可能性のある他のデバイスにＲＩＰエンジンが搭載されている場合に、これらの他のデバイスとの印刷出力の差異を低減するためである。
【００２８】
なお、ＤＦＥ１００へのジョブデータの入力は、クライアント端末２からネットワークを介した入力の他、ＵＳＢメモリ等の可搬型記憶媒体を介して入力することも可能である。ＤＦＥ１００へジョブデータを入力する情報処理装置は、処理実行制御装置として機能する。
【００２９】
主制御部１１３は、入出力制御部１１１が受信したジョブデータを画像処理部１１４に受け渡す描画情報生成制御部として機能する。なお、ＤＦＥ１００においてジョブデータを格納する設定がされている場合、主制御部１１３はジョブデータをＲＡＭ２０やＨＤＤ４０によって実現される記憶領域に格納する構成であってもよい。この記憶領域は、ＤＦＥ１００にＵＳＢインタフェース等を介して接続された記憶装置や、ネットワークを介して接続された記憶装置であってもよい。
【００３０】
また、例えばＤＦＥ１００において印刷内容のプレビューを行うなどの目的で、ジョブデータを記憶領域に格納するか否かがジョブデータ中に記述されている場合、主制御部１１３はその記述に従う。この場合、主制御部１１３は、ジョブデータに含まれる印刷対象のデータを記憶領域から取得してプレビューデータを画像処理部１１４に生成させ、ＵＩ制御部１１２に受け渡す。これにより、ＵＩ制御部１１２は、印刷内容のプレビューをディスプレイ１０２に表示させる。
【００３１】
また、ＤＦＥ１００においてオペレータが印刷設定の変更を行う場合も、記憶領域にジョブデータが格納される。この場合、主制御部１１３は、ジョブデータを記憶領域から取得してＵＩ制御部１１２に受け渡す。これにより、ディスプレイ１０２にジョブデータにおいて指定された印刷設定を変更するためのＵＩが表示され、オペレータが操作によって変更することが可能となる。
【００３２】
オペレータがＤＦＥ１００を操作して印刷設定を変更した場合、ＵＩ制御部１１２は変更内容を受け付けて主制御部１１３に通知する。主制御部１１３は、受け付けた変更内容を対象のジョブデータに反映して更新し、更新後のジョブデータを記憶領域に記憶させる。
【００３３】
そして、主制御部１１３は、ジョブ実行の指示を受け付けると、記憶領域に格納されたジョブデータを画像処理部１１４もしくはプリンタ制御部１１５に受け渡す。ジョブ実行の指示は、クライアント端末２からネットワークを介して入力される場合や、ＤＦＥ１００に対するオペレータの操作によって入力される。また、例えば、ジョブデータにおいてジョブの実行時刻が設定されている場合、主制御部１１３は、設定時刻になると記憶領域に格納されたジョブデータを画像処理部１１４もしくはプリンタ制御部１１５に受け渡す。
【００３４】
ＵＩ制御部１１２は、上述したようにディスプレイ１０２への情報の表示や、ＤＦＥ１００に対するオペレータの操作を受け付ける。上述した印刷設定の編集操作において、ＵＩ制御部１１２はジョブデータに含まれるＪＤＦ（Ｊｏｂ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｏｒｍａｔ）情報などの印刷設定情報を解釈してディスプレイ１０２に印刷ジョブの内容を表示する。
【００３５】
主制御部１１３は、ジョブの実行指示に基づいてジョブの実行に係る制御を行う。具体的に、主制御部１１３は、印刷設定情報の解析処理、画像処理部１１４によるＲＩＰ処理、プリンタ制御部１１５によるプリントエンジン１５０の制御処理である。主制御部１１３は、ジョブの実行指示を受けると、ジョブデータに含まれる印刷設定情報を画像処理部１１４において認識可能な形式に変換する。
【００３６】
主制御部１１３は、画像処理部１１４において認識可能な形式に変換された印刷設定情報を画像処理部１１４に受け渡し、ラスターデータの生成処理を実行させる。画像処理部１１４は、複数の描画モジュール１２０にＲＩＰ処理および出力変換処理を実行させてラスターデータを生成する。
【００３７】
画像格納部１１６は、描画モジュール１２０によって生成されたラスターデータを記憶する記憶部である。画像格納部１１６は、図２において説明したＨＤＤ４０等によって実現される。この他、ＤＦＥ１００にＵＳＢインタフェース等を介して接続された記憶装置や、ネットワークを介して接続された記憶装置であってもよい。
【００３８】
プリンタ制御部１１５は、プリントエンジン１５０と接続されており、画像格納部１１６に格納されたラスターデータを読み出してプリントエンジン１５０に送信することによって印刷出力を実行させる。
【００３９】
プリンタ制御部１１５は、プリントエンジン１５０との間で情報をやり取りすることにより、プリントエンジン１５０自身の情報を取得することができる。例えばＣＩＰ４規格の場合、印刷設定情報の規格としてデバイス仕様情報をプリンタと送受信するＤｅｖＣａｐｓという規格が定められている。また、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）という通信プロトコルとＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）というデータベースとを利用したプリンタの情報の収集方法も知られている。
【００４０】
入出力制御部１１１は、ＭＩＢやＪＭＦ（Ｊｏｂ  Ｍｅｓｓａｇｉｎｇ  Ｆｏｒｍａｔ）などの仕様に合わせた形で、ネットワークＩ／Ｆ１０１を介してクライアント端末２との間でデバイスに関する情報のやり取りを行う。その結果、クライアント端末２に表示されたＧＵＩにおいて、ＤＦＥ１００に含まれる描画モジュール１２０の情報や、入出力制御部１１１の情報が反映されることとなる。
【００４１】
ＤＦＥ１００においてプリンタ制御部１１５によってプリントエンジン１５０が制御されて印刷出力が完了すると、主制御部１１３は、ネットワークＩ／Ｆ１０１を介して印刷ジョブの完了通知をクライアント端末２に通知する。
【００４２】
画像処理部１１４は、上述したように、クライアント端末２から受信したデータに基づいてＲＩＰ処理および出力変換処理を実行してラスターデータを生成する。画像処理部１１４は、ラスターデータを生成する処理を実行する描画モジュール１２０を含む。
【００４３】
図４は、本実施形態に係る描画モジュール１２０の構成を示す図である。図４に示すように、描画モジュール１２０は、分散制御処理部１２１、ＲＩＰ部１２２、出力変換部１２３、中間データ記憶部１２４を含む。分散制御処理部１２１は、ＤＦＥ１００にインストールされ、ＣＰＵ１０にロードされているソフトウェア・プログラムによって実行されるＲＩＰ処理もしくは出力変換処理をＣＰＵ１０のそれぞれのコアに割り当てる処理を行う。なお、図４においては、印刷モードが「印刷出力」の時の描画モジュール１２０の状態を記載している。
【００４４】
分散制御処理部１２１は、最適値テーブルに基づいてＲＩＰ処理の割り当て先となるコア１０ａ〜ｄにＲＩＰ処理を行うためのソフトウェア・プログラムを起動させ、ＲＩＰ処理を実行させる。また、分散制御処理部１２１は、出力変換処理の割り当て先となるコア１０ａ〜ｄに出力変換処理を行うためのソフトウェア・プログラムを起動させ、出力変換処理を実行させる。
【００４５】
ＲＩＰ部１２２は、ＲＩＰ処理を行うＲＩＰ処理部１２２ａ〜ｄを含む。上述したように、ＲＩＰ処理部１２２ａ〜ｄは、分散制御処理部１２１によってＲＩＰ処理が割り当てられたコア１０ａ〜ｄによって起動されたソフトウェア・プログラムによって実現され、ＲＩＰ処理を実行する。図４において、実線で示すＲＩＰ処理部１２２ａ、ｂが起動されているものである。
【００４６】
出力変換部１２３は、中間データに対してスクリーニング処理などを行い、プリントエンジン１５０が解釈可能なラスターデータに変換する処理を行う出力変換処理部１２３ａ、ｂ、ｃ、ｄを含む。上述したように、出力変換処理部１２３ａ〜ｄは、分散制御処理部１２１によって出力変換処理が割り当てられたコア１０ａないしコア１０ｄによって起動されたソフトウェア・プログラムによって実現され、出力変換処理を実行する。図４において、実線で示す出力変換処理部１２３ｃ、ｄが起動されているものである。
【００４７】
中間データ記憶部１２４は、ＲＡＭ記憶領域１２５、ＨＤＤ記憶領域１２６を含む。ＲＡＭ記憶領域１２５は、ＲＡＭ２０よって実現される記憶領域であり、ＨＤＤ記憶領域１２６は、ＨＤＤ４０によって実現される記憶領域である。
【００４８】
ＲＩＰ処理部１２２ａ〜ｄは、ＲＩＰ処理によって生成された描画情報である中間データをＲＡＭ記憶領域１２５もしくはＨＤＤ記憶領域１２６に格納する。この時、ＲＡＭ記憶領域１２５の容量が不足している場合、ＨＤＤ記憶領域１２６に中間データを転送するように主制御部１１３は、ＲＩＰ処理部１２２ａ〜ｄを制御する。そして、出力変換処理部１２３ａ〜ｄは、ＲＡＭ記憶領域１２５もしくはＨＤＤ記憶領域１２６から中間データを取得し、ラスターデータに変換する処理を実行する。
【００４９】
生成されたラスターデータは、プリントエンジン１５０に送信されるか、もしくは、画像格納部１１６に格納される。なお、本実施形態においては、４個のコアが搭載されているＣＰＵ１０を例に説明を行うが、例えば、８個もしくは１６個のコアが搭載されているＣＰＵ１０であっても、本発明の技術を適用することができる。
【００５０】
次に、本実施形態に係るＲＩＰ処理部１２２ａ〜ｄの機能構成について説明する。図５は、本実施形態に係るＲＩＰ処理部１２２ａ〜ｄの機能構成を示す機能ブロック図である。ＲＩＰ処理部１２２ａ〜ｄは、それぞれ制御部２０１、入力部２０２、出力部２１３、レンダリング処理部２１８を含む。
【００５１】
図５に示すように、ＲＩＰ処理部１２２ａ〜ｄは、制御部２０１と他の部分とによって構成される。ＲＩＰ処理部１２２ａ〜ｄは、例えば、アドビ・システムズによって提供されるＰＤＦプリンティングソフトウェアであるＡＰＰＥ等がベースとして用いられ、２０１以外の部分が、ベンダーによって拡張可能な拡張部として使用される。制御部２０１は、拡張部として含まれる様々な機能を利用することによりＲＩＰ処理を実行する。
【００５２】
入力部２０２は、初期化要求やＲＩＰ処理の実行要求を受け付け、その要求を制御部２０１に通知する。初期化要求を受けた制御部２０１は、ＲＩＰ処理において描画モジュール１２０に含まれる夫々の拡張部を動作させる順番を決定する。また、制御部２０１は、入力部２０２からＲＩＰ処理の実行要求を受け付けると、初期化要求を受け付けた際に決定した処理順に従って拡張部の各部を動作させる。
【００５３】
レンダリング処理部２１８は、入力データに基づいて中間データを生成するレンダリング処理を行う。なお、レンダリング処理部２１８においてマーク処理やフォント処理を同時に実行する構成であってもよい。レンダリング処理部２１８によって生成された中間データは、出力部２１３によって主制御部１１３や出力変換部１２３、中間データ記憶部１２４に送信される。
【００５４】
出力変換処理部１２３ａ〜ｄは、ＲＩＰ処理部１２２ａ〜ｄや中間データ記憶部１２４から受信した中間データに対し、スクリーニング処理などを実行し、プリントエンジン１５０が解釈可能な出力データを生成する。出力変換処理部１２３ａ〜ｄによって生成された出力データは、画像格納部１１６に格納される。
【００５５】
次に、分散制御処理部１２１が参照する最適値テーブルについて説明する。図６は、本実施形態に係る最適値テーブルの情報構成を示す表である。図６に示すように、最適値テーブルは、クライアント端末２から受信した印刷ジョブにおいて指定された印刷モードに対応したＲＩＰ処理もしくは出力変換処理を割り当てるコア１０ａ〜ｄの数（並列数）が定められている情報テーブルである。分散制御処理部１２１は、最適値テーブルに基づいてコア１０ａ〜ｄにＲＩＰ処理もしくは出力変換処理を割り当て、並列処理を実行させる。
【００５６】
なお、分散制御処理部１２１は、ＣＰＵ１０がホモジニアスマルチコアによって構成される場合には、処理負荷が最も少ないコアにソフトウェア・プログラムをロードすることによって実現される。また、ＣＰＵ１０がヘテロジニアスマルチコアによって構成される場合に、分散制御処理部１２１は、最も高負荷の処理を行うことができるアークテクチャによって構成されるコアにソフトウェア・プログラムをロードすることによって実現される。
【００５７】
本実施形態において印刷モードは、クライアント端末２から送信されるジョブデータにおいて指定されている。印刷モードには、図６に示すように、「ＲＩＰ後出力のみ」、「ＲＩＰのみ」、「印刷出力」の３種類がある。「ＲＩＰ後出力のみ」の印刷モードにおいて、分散制御処理部１２１は、出力変換処理を４つのコア１０ａ〜ｄに対してそれぞれ割り当てる。また、この印刷モードにおいて分散制御処理部１２１は、ＲＩＰ処理を実行しない。
【００５８】
「ＲＩＰのみ」の印刷モードにおいて、分散制御処理部１２１は、ＲＩＰ処理を４つのコア１０ａ〜ｄに対してそれぞれ割り当てる。また、この印刷モードにおいて分散制御処理部１２１は、出力変換処理を実行しない。「印刷出力」の印刷モードにおいて、分散制御処理部１２１は、ＲＩＰ処理をコア１０ａ、ｂに、また出力変換処理をコア１０ｃ、ｄに対してそれぞれ割りあてる。このように、印刷モードに応じてＲＩＰ処理および出力変換処理をコア１０ａ〜ｄに割り当て、並列処理を行うことにより、マルチコアＣＰＵによる処理を効率よく行うことが本発明の要旨である。
【００５９】
次に、本実施形態に係る印刷モードにおけるデータの流れについてそれぞれ、図を参照して説明する。図７は、ＲＩＰ処理のみを行う印刷モードにおけるデータの流れを示す図であり、図８は、ＲＩＰ処理のみを行う印刷モードにおけるＣＰＵ１０の動作状況を示す図である。
【００６０】
図８に示すようにＲＩＰ処理のみを行う場合、分散制御処理部１２１は、コア１０ａ〜ｄにそれぞれＲＩＰ処理を割り当てる。ＲＩＰ処理が割り当てられたコア１０ａ〜ｄは、ＲＡＭ２０に記憶されているＲＩＰ処理を行うためのソフトウェア・プログラム（ＲＩＰ処理部１２２ａ〜ｄ）を起動し、印刷ジョブに基づいてＲＩＰ処理を行う。ＲＩＰ処理の結果生成された中間データは、ＲＩＰ処理部１２２ａ〜ｄによってＲＡＭ記憶領域１２５に記憶されるが、ＲＡＭ２０の容量が不足する場合には、先に生成された中間データからＨＤＤ記憶領域１２６に記憶される。
【００６１】
図９は、出力変換処理のみを行う印刷モードにおけるデータの流れを示す図であり、図１０は、出力変換処理のみを行う印刷モードにおけるＣＰＵ１０の動作状況を示す図である。図１０に示すように出力変換処理のみを行う場合、分散制御処理部１２１は、コア１０ａ〜ｄにそれぞれ出力変換処理を割り当てる。
【００６２】
出力変換処理が割り当てられたコア１０ａ〜ｄは、ＲＡＭ２０に記憶されている出力変換処理を行うためのソフトウェア・プログラム（出力変換処理部１２３ａ〜ｄ）を起動し、出力変換処理を行う。出力変換処理部１２３ａ〜ｄは、ＨＤＤ記憶領域１２６に記憶されている中間データをＲＡＭ記憶領域１２５にロードし、ＦＩＦＯ形式によって出力変換処理を実行する。なお、出力変換処理の結果生成されたラスターデータは、出力変換処理部１２３ａ〜ｄによって画像格納部１１６に保存され、プリンタ制御部１１５によってプリントエンジン１５０に送信される。
【００６３】
図１１は、ＲＩＰ処理および出力変換処理を行い、印刷出力を行う印刷モードにおけるデータの流れを示す図であり、図１２は、印刷出力を行う印刷モードにおけるＣＰＵ１０の動作状況を示す図である。図１２に示すように、ＲＩＰ処理および出力変換処理を行う「印刷出力」の印刷モードの場合、分散制御処理部１２１は、ＲＩＰ処理をコア１０ａおよびコア１０ｂに、出力変換処理をコア１０ｃおよびコア１０ｄに割りあてる。ＲＩＰ処理が割り当てられたコア１０ａ、ｂは、ＲＡＭ２０に記憶されているＲＩＰ処理を行うためのソフトウェア・プログラム（ＲＩＰ処理部１２２ａ、ｂ）を起動し、印刷ジョブに基づいてＲＩＰ処理を行う。
【００６４】
ＲＩＰ処理の結果生成された中間データは、ＲＡＭ記憶領域１２５に記憶されるが、ＲＡＭ２０の容量が不足する場合、ＲＩＰ処理部１２２ａ、ｂは、先に生成された中間データからＨＤＤ記憶領域１２６に転送する。また、出力変換処理が割り当てられたコア１０ｃ、ｄは、ＲＡＭ２０に記憶されている出力変換処理を行うためのソフトウェア・プログラム（出力変換処理部１２３ｃ、ｄ）を起動し、出力変換処理を行う。出力変換処理部１２３ｃ、ｄは、ＨＤＤ記憶領域１２６に記憶されている中間データをＲＡＭ記憶領域１２５にロードし、ＦＩＦＯ形式によって出力変換処理を実行する。
【００６５】
次に、分散制御処理部１２１が実行するタスクをコア１０ａ〜ｄに割り当てる処理の流れを説明する。図１３は、本実施形態に係るタスクをコア１０ａ〜ｄに割り当てる処理の流れを示すフローチャートである。分散制御処理部１２１は、ＤＦＥ１００において起動されている間、主制御部１１３から、ジョブデータにおいてどの印刷モードが指定されているかを示す情報を取得する（Ｓ１３０１）。
【００６６】
クライアント端末２から受信したジョブデータにおいて、指定されている印刷モードが変更された場合（Ｓ１３０２／ＹＥＳ、例えば、「ＲＩＰ処理のみ」の印刷モードから「印刷出力」の印刷モードに変更された場合）、分散制御処理部１２１は、最適値テーブルを読み込む。
【００６７】
そして、分散制御処理部１２１は、印刷モード（ここでは、「印刷出力」）に応じて最適値テーブルの値を読み込み（Ｓ１３０３）、ＲＩＰ処理をコア１０ａおよびコア１０ｂに、出力変換処理をコア１０ｃおよびコア１０ｄに割り当てる（Ｓ１３０４）。
【００６８】
このように、分散制御処理部１２１は、ジョブデータにおいて指定された印刷モードに応じてコア１０ａ〜ｄにＲＩＰ処理もしくは出力変換処理を割り当てることにより、ＣＰＵ１０の処理性能を向上させ、効率のよい印刷出力処理を実行することが可能である。
【００６９】
また、分散制御処理部１２１は、ＨＤＤ記憶領域１２６の残容量に応じて、コア１０ａ〜ｄにＲＩＰ処理もしくは出力変換処理を割り当てることよって、ＨＤＤ４０の容量不足によるＲＩＰ処理の停止を防ぐことも可能である。以下、ＨＤＤ記憶領域１２６の残容量に応じてコア１０ａ〜ｄにＲＩＰ処理もしくは出力変換処理を割り当てる処理の流れについて説明する。
【００７０】
図１４は、本実施形態に係るＨＤＤ記憶領域１２６の残容量に応じてコア１０ａ〜ｄにタスクを割り当てる処理の流れを示すフローチャートである。分散制御処理部１２１は、中間データが記憶される描画情報記憶部であるＨＤＤ記憶領域１２６の残容量を示す情報を、主制御部１１３から定期的に取得する（Ｓ１４０１）。
【００７１】
ＨＤＤ記憶領域１２６の残容量が所定の容量（例えば、クライアント端末２から入力されるジョブデータに基づいて行われるＲＩＰ処理の処理結果に相当する情報量を記憶できない場合）よりも小さい場合（Ｓ１４０２／ＮＯ）、分散制御処理部１２１は、コア１０ａ〜ｄに出力変換処理を割り当てて、優先的に出力変換処理が実行されるようにする（Ｓ１４０３）。
【００７２】
このようにすることにより、ＨＤＤ記憶領域１２６に記憶されている中間データを出力変換しプリントエンジン１５０に送信するため、ＨＤＤ記憶領域１２６の容量不足によるＲＩＰ処理の停止を防ぐことができる。他方、ＨＤＤ記憶領域１２６の残容量が所定の容量よりも大きい場合（Ｓ１４０２／ＹＥＳ）、分散制御処理部１２１は、ジョブデータにおいて指定されている印刷モードに応じたタスク分散処理を実行する。その間、分散制御処理部１２１は、ＨＤＤ記憶領域１２６の残容量を示す情報を取得する。
【００７３】
以上説明したように、本実施形態に係るＤＦＥ１００は、ジョブデータにおいて指定されている印刷モードに応じてコア１０ａ〜ｄに割り当てるタスクを変更する。また、ＤＦＥ１００に搭載されている記憶媒体の状態によってもコア１０ａ〜ｄに割り当てるタスクを変更可能であるため、ＤＦＥ１００の動作状況に応じたＣＰＵ１０の並列制御を実行することにより、マルチコアＣＰＵの性能を効率よく利用し、印刷出力処理を実行することができる。
【００７４】
なお、印刷モードおよびＣＰＵ１０における処理負荷、中間データ記憶部１２４の残容量に応じて、ＲＩＰ処理もしくは出力変換処理を割り当てるコア１０ａ〜ｄの数（並列数）を以下のように割り当ててよい。図１５は、本実施形態に係る最適値テーブルの情報構成の他の例を示す表である。図１５に示すように、本実施形態において、分散制御処理部１２１は、クライアント端末２から受信した印刷ジョブにおいて指定された印刷モードおよびＣＰＵ１０における処理負荷、中間データ記憶部１２４の残容量に基づいて、図１５の最適値テーブルに示すようにＲＩＰ処理もしくは出力変換処理をコア１０ａ〜ｄに割り当てて、並列処理を実行させてもよい。
【００７５】
以下、図６と重複しないコア１０ａ〜ｄへのＲＩＰ処理もしくは出力変換処理の割り当て態様について説明する。「印刷出力（ＲＩＰ優先）」の印刷モードにおいて、分散制御処理部１２１は、ＲＩＰ処理をコア１０ａ、ｂ、ｃに、また出力変換処理をコア１０ｄに対してそれぞれ割りあてる。また、「印刷出力（出力変換優先）」の印刷モードにおいて、分散制御処理部１２１は、ＲＩＰ処理をコア１０ａに、また出力変換処理をコア１０ｂ、ｃ、ｄに対してそれぞれ割りあてる。
【００７６】
分散制御処理部１２１は、例えば、印刷ジョブにおいて「印刷出力」が指定され、ＨＤＤ記憶領域１２６の残容量が少ない場合、「印刷出力（出力変換優先）」、ＨＤＤ記憶領域１２６の残容量が多い場合には、「印刷出力（ＲＩＰ優先）」によってＲＩＰ処理もしくは出力変換処理をコア１０ａ〜ｄに割り当ててもよい。
【００７７】
なお、分散制御処理部１２１は、印刷ジョブにおいて「印刷出力」が指定された場合に、ＲＩＰ処理もしくは出力変換処理の割り当て先としてコア１０ａ〜ｄを固定して用いてもよいし、コア１０ａ〜ｄの処理能力に応じてコア１０ａ〜ｄに、ＲＩＰ処理もしくは出力変換処理を割り当てる構成であってもよい。コア１０ａ〜ｄの処理能力に応じてＲＩＰ処理もしくは出力変換処理を割り当てる際に、分散制御処理部１２１は、主制御部１１３からＣＰＵ１０における処理負荷の情報を取得し、コア１０ａ〜ｄにＲＩＰ処理もしくは出力変換処理を割り当てる制御を実行する。
【符号の説明】
【００７８】
１  画像形成装置
２  クライアント端末
１０  ＣＰＵ
１０ａ〜ｄ  コア
２０  ＲＡＭ
３０  ＲＯＭ
４０  ＨＤＤ
５０  Ｉ／Ｆ
６０  ＬＣＤ
７０  操作部
８０  バス
１００  ＤＦＥ
１０１  ネットワークＩ／Ｆ
１０２  ディスプレイ
１１０  ＤＦＥコントローラ
１１１  入出力制御部
１１２  ＵＩ制御部
１１３  主制御部
１１４  画像処理部
１１５  プリンタ制御部
１１６  画像格納部
１２０  描画モジュール
１２１  分散制御処理部
１２２  ＲＩＰ部
１２２ａ〜ｄ  ＲＩＰ処理部
１２３  出力変換部
１２３ａ〜ｄ  出力変換処理部
１２４  中間データ記憶部
１２５  ＲＡＭ記憶領域
１２６  ＨＤＤ記憶領域
１５０  プリントエンジン
２０１  制御部
２０２  入力部
２１３  出力部
２１８  レンダリング処理部
【先行技術文献】
【特許文献】
【００７９】
【特許文献１】特開２０１０−２８２４８９号公報
【図１】
2018015988.tif 000003
【図２】
2018015988.tif 000004
【図３】
2018015988.tif 000005
【図４】
2018015988.tif 000006
【図５】
2018015988.tif 000007
【図６】
2018015988.tif 000008
【図７】
2018015988.tif 000009
【図８】
2018015988.tif 000010
【図９】
2018015988.tif 000011
【図１０】
2018015988.tif 000012
【図１１】
2018015988.tif 000013
【図１２】
2018015988.tif 000014
【図１３】
2018015988.tif 000015
【図１４】
2018015988.tif 000016
【図１５】
2018015988.tif 000017