(57)【要約】【課題】複数の処理機能を実施する画像形成装置において、メインＣＰＵで同時に複数の処理機能の処理が動作しても、各動作のスループットが低下しないようにする。【解決手段】画像形成装置は、スキャナ４０、プロッタ５０、操作ユニット２０、スキャナ及びプロッタの画像読出し／出力制御、画像処理を行うエンジンユニット３０、及び、当該画像形成装置全体の制御、前記エンジンユニットでの画像処理以外の画像処理を含めた、当該画像形成装置で必要とする複数の処理機能を実行するコントローラユニット１０を具備する。コントローラユニット１０に、メインＣＰＵとして複数のプロセッサコアからなるマルチコアプロセッサ１００を設け、該コントローラユニット１０で実行される複数の処理機能に対して、各々１つあるいは複数のプロセッサコアを割り当てるようにする。【選択図】図１
2013125455.tif 000002
【特許請求の範囲】
【請求項１】
スキャナ、プロッタ、操作ユニット、前記スキャナ及びプロッタの画像読出し／出力制御、画像処理を行うエンジンユニット、及び、当該画像形成装置全体の制御、前記エンジンユニットでの画像処理以外の画像処理を含めた、当該画像形成装置で必要とする複数の処理機能を実行するコントローラユニットを具備する画像形成装置において、
前記コントローラユニットは、複数のプロセッサコアからなるマルチコアプロセッサを有し、該コントローラユニットで実行される複数の処理機能に対して、各々１つあるいは複数のプロセッサコアを割り当てることを特徴とする画像形成装置。
【請求項２】
前記処理機能に割り当てられるプロセッサコアの数は、処理機能毎に異なることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記処理機能に割り当てられるプロセッサコアの数は、当該処理機能の負荷に応じて決まることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
マルチコアプロセッサの処理状況に応じて、前記処理機能に割り当てられるプロセッサの数が動的に変化することを特徴とする請求項１に記載の画像形成装置。
【請求項５】
マルチコアプロセッサ内の前記処理機能毎に割り当てられた１つあるいは複数のプロセッサコア同士は、それぞれ別のプロセッサとして独立に動作することを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
マルチコアプロセッサ内の少なくとも１つのプロセッサコアでは、前記処理機能の割り当てを制御するプログラムが動作することを特徴とする請求項１乃至５のいずれか１項に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合機のように、複数の処理機能を実施する画像形成装置に係り、詳しくは、このような画像形成装置の処理性能を向上させる技術に関する。
【背景技術】
【０００２】
画像形成装置は年々多機能化、高速化が要求され、処理能力の低いＣＰＵでは、処理のすべてを限られた時間内に処理できなくなってきている。このため、コントローラユニットのメインＣＰＵに加えて、操作ユニットやエンジンユニットなど、各ユニット毎に専用のＣＰＵを別途追加して、各ユニットに特有の処理は専用のＣＰＵで実行させ、メインＣＰＵでは、画像形成装置全体の制御及び各ユニットに特有の処理以外の処理を実行させるようになってきている。
【０００３】
しかしながら、画像形成装置の多機能化が進むにつれて、メインＣＰＵが受け持つ処理機能も増加し、それに伴って、メインＣＰＵで複数の処理機能が同時に実行する機会も多くなってきている。一方、従来のメインＣＰＵは単一プロセッサ構成であるため、同時に複数の処理機能の処理が動作すると、各動作のスループットが想定しているスループットよりも遅くなり、画像形成装置の生産性が落ちてしまう問題があった。
【０００４】
なお、複数のプロセッサコアからなるマルチコアプロセッサを用いて、複数の画像データを並列処理する技術は既に知られているが（例えば、特許文献１、特許文献２等）、これは画像データを効果的に処理する目的で、複数の画像データの同様の処理を並列に行うと云うものであり、複数の処理機能の処理が同時に動作する際の各動作のスループットを低下させないようにすることは考慮されていない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、複数の処理機能を実施する画像形成装置において、メインＣＰＵで同時に複数の処理機能の処理が動作しても、各動作のスループットが低下しないようにすることにある。
【課題を解決するための手段】
【０００６】
本発明は、スキャナ、プロッタ、操作ユニット、前記スキャナ及びプロッタの画像読出し／出力制御、画像処理を行うエンジンユニット、及び、当該画像形成装置全体の制御、前記エンジンユニットでの画像処理以外の画像処理を含めた、当該画像形成装置で必要とする複数の処理機能を実行するコントローラユニットを具備する画像形成装置において、コアコントローラユニットは、メインＣＰＵとして複数のプロセッサコアからなるマルチコアプロセッサを備えて、該コントローラユニットで実行される複数の処理機能に対して、各々１つあるいは複数のプロセッサコアを割り当てるようにする。
【発明の効果】
【０００７】
本発明によれば、コントローラユニットのメインＣＰＵで同時に複数の処理機能の処理が動作しても、処理機能毎に１つあるいは複数のプロセッサコアを割り当てることができるため、各動作のスループットの低下を抑止することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】従来の画像形成装置のデータ処理系の全体的ブロック図である。
【図２】本発明の一実施形態に係る画像形成装置のデータ処理系の全体的ブロック図である。
【図３】マルチコアプロセッサの構成例を示す図である。
【図４】マルチコアプロセッサの処理機能割り当ての一例を示す図である。
【図５】マルチコアプロセッサの処理機能割り当ての別の例を示す図である。
【図６】マルチコアプロセッサの処理機能割り当ての動的変更処理の一実施形態に係るフローチャートである。
【図７】マルチコアプロセッサの処理機能割り当ての動的変更の具体例示す図である。
【発明を実施するための形態】
【０００９】
初めに、従来の画像形成装置の構成例について図面を参照して説明する。
【００１０】
図１は、従来の高機能な画像形成装置のデータ処理系の全体的ブロック図を示したものである。本画像形成装置は、コントローラユニット１０、操作ユニット２０、エンジンユニット３０、スキャナ４０及びプロッタ５０等を備えている。該画像形成装置の各ユニットはバスで接続され、さらにコントローラユニット１０はネットワーク６０とも接続されている。
【００１１】
コントローラユニット１０は当該画像形成装置全体の制御、必要な処理を行う。該コントローラユニット１０は、単一プロセッサのＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、ハードディスク（ＨＤＤ）１４及びコントローラＡＳＩＣ（ＣＴＬ−ＡＳＩＣ）１５等から構成されている。ここで、ＣＰＵ１１がメインＣＰＵとして、当該画像形成装置全体の制御、種々のデータ処理、ネットワーク６０との通信処理などを行う。また、該ＣＰＵ１１では、エンジンユニット３０では行わない一般的な画像処理も行う。ＲＡＭ１２は、ＣＰＵ１１のワークメモリであり、ＣＰＵ１１での実行中のプログラムや処理途中の画像データ等を一時的に格納する。ＲＯＭ１２はＣＰＵ１１のためのプログラムやシステムデータ等を記憶する。ＨＤＤ１４は、ＣＰＵ１１のためのプログラム、ＣＰＵ１１での処理対象や処理結果の画像データ、その他のデータ等を記憶する。すなわち、ＣＰＵ１１は、ＲＯＭ１２のプログラムを直接、あるいはＨＤＤ１４のプログラムをＲＡＭ１２に格納して、種々の制御や処理を実行する。ＣＴＬ−ＡＳＩＣ１５は、主に、当該画像形成装置の省電力制御等を司る。
【００１２】
操作ユニット２０は、ユーザからの入力操作を受け付けると共に、ユーザに対して必要な情報の表示を行う。該操作ボート２０は、ＣＰＵ２１、操作キー２２及び表示パネル２３等から構成されている。操作キー２２はハードキーであり、テンキーや種々のファンクションキー等からなる。表示パネル２３はタッチパネル付きＬＣＤ等からなる。ＣＰＵ２１は、操作キー２２や表示パネル２３とコントローラユニット１０のＣＰＵ１１とのインターフェイス処理、表示パネル２３へのデータ表示処理、タッチパネルコントロール処理等、操作ユニット２０に特有の制御や処理を行う。
【００１３】
エンジンボート３０は、スキャナ４０からの画像読取り、プロッタ５０への画像出力、それらの画像処理を行う。該エンジンユニット３０は、ＣＰＵ３１、ＲＡＭ３２、ＲＯＭ３３、スキャナ画像処理ＡＳＩＣ３４及びプロッタ画像処理ＡＳＩＣ３５等から構成されている。ＣＰＵ３１は、スキャナ４０及びプロッタ５０の画像読取り／出力制御、スキャナ画像処理ＡＳＩＣ３４やプロッタ画像処理ＡＳＩＣ３５の動作制御等を行う。ＲＡＭ３２はＣＰＵ３１のワークメモリである。また、ＲＯＭ３３はＣＰＵ３１のためのプログラムを記憶している。スキャナ画像処理ＡＳＩＣ３４は、ＣＰＵ３１の制御下で、スキャナ４０の読取り画像データについて階調処理、その他、必要な補正処理を行う。プロッタ画像処理ＡＳＩＣ３５は、プロッタ５０に出力する画像データについて階調処理、補正処理、その他、必要な補正処理を行う。すなわち、スキャナ４０からの読取り画像データやプロッタ５０への出力画像データは、大容量の非圧縮データであるため、専用の画像処理ＡＳＩＣ３４，３５を用いて高速に処理する。
【００１４】
スキャナ４０は、読取りユニット、ＣＣＤやＣＭＯＳのイメージセンサあるいはラインイメージセンサ、ＡＤＦ等からなる。プロッタ５０は、例えば電子写真式記録装置やインク噴射式記録装置等である。
【００１５】
以下に、本画像形成装置の二、三の一般的な動作を説明する。なお、動作モードは、例えばユーザが操作ユニット２０の操作キー２２や表示パネル２３のタッチキーを操作することで指示される。
【００１６】
本画像形成装置が複写機として動作する場合、スキャナ４０は原稿の画像データを読み取り、エンジンユニット３０に送る。エンジンユニット３０のスキャナ画像処理ＡＳＩＣ３４は、ＣＰＵ３１の制御のもとに、スキャナ４０で読み取られた画像データについて必要な補正処理を施してコントローラユニット１０に送る。コントローラユニット１０のＣＰＵ１１は、該画像データを圧縮処理し、また、必要なら変倍処理して圧縮処理し、ＨＤＤ１４に格納する。その後、コントローラユニット１０のＣＰＵ１１は、ＨＤＤ１４から圧縮処理された画像データを読み出して伸長処理し、エンジンユニット３０に送る。エンジンユニット３０のプロッタ画像処理ＡＳＩＣ３５は、ＣＰＵ３１の制御のもとに、該画像データについてプロッタ５０に見合った必要な補正処理を行ってプロッタ５０へ送出する。プロッタ５０は用紙にコピー画像を形成する。
【００１７】
本画像形成装置が、ネットワーク６０を介してパソコン等の端末装置に画像データを配信するサーバとして動作する場合は、コントローラユニット１０のＣＰＵ１１は、ＨＤＤ１４に格納されている画像データについて色変換処理、階調処理、フォーマット変換処理等を行う。この場合、ＣＰＵ１１は、ＨＤＤ１４に格納されている画像データが圧縮されている場合には、伸長処理してＲＡＭ１２上に展開して必要な処理を行う。色変換処理や階調処理では、配信先のデバイス等に見合った処理を行う。フォーマット変換処理では、ＪＰＥＧやＹＩＦＦ形式等への画像フォーマット変換を行う。その後、ＣＰＵ１１は、該画像データを圧縮処理し、ネットワーク６０を介して端末装置に配信する。
【００１８】
また、本画像形成装置が、ネットワーク６０を介してパソコン等の端末装置からの画像データをプリントアウトするプリンタとして動作する場合は、コントローラユニット１０のＣＰＵ１１は、ネットワーク６０から受信されるデータについて、画像及びプリント指示コマンド等を解析し、ＲＡＭ１２上に画像データをビットマップ展開し、該画像データを直接あるいは圧縮処理してＨＤＤ１４に格納する。その後、ＣＰＵ１１は、ＨＤＤ１４から画像データを読み出し、圧縮されていれば伸長処理して、エンジンユニット３０に送る。エンジンユニット３０では、プロッタ画像処理ＡＳＩＣ３５が、ＣＰＵ３１の制御のもとに、コントローラユニット１０から送られた画像データについてプロッタ５０に見合った必要な補正処理を行ってプロッタ５０へ送出する。プロッタ５０は用紙に画像を形成して出力する。
【００１９】
以上、図１の従来の画像形成装置について、複写機、画像配信サーバ及びプリンタとしての動作を説明したが、ＦＡＸ、その他の動作も基本的に同様である。いずれの動作でも、コントローラユニット１０のＣＰＵ１１がメインＣＰＵとなって、スキャナ４０、プロッタ５０、ネットワーク６０のデータ処理を含めた全体的な制御を行い、さらにエンジンユニット３０で行われない画像処理もＣＰＵ１１が行っている。
【００２０】
一方、画像形成装置は年々多機能化、高速化が進み、それに伴ってメインＣＰＵで複数の処理機能の処理の同時に動作することが多くなってきている。しかしながら、従来の画像形成装置では、図１に示されるコントローラユニット１０のＣＰＵ１１のように、メインＣＰＵは単一プロセッサであるため、複数の処理機能の処理が同時に動作すると、各動作のスループットが落ちてしまう。本発明は、これを改善するものである。
【００２１】
図２に、本発明の一実施形態に係る画像形成装置のデータ処理系の全体的ブロック図を示す。図２において、図１との相違点は、コントローラユニット１０上にメインＣＰＵとして、図１の単一プロセッサのＣＰＵ１１に替えて、複数のプロセッサコアからなるマルチコアプロセッサ１００を設けたことであり、これ以外の構成は図１と同様である。また、全体の動作も図１の場合と基本的に同様である。
【００２２】
コントローラユニット１０上のマルチコアプロセッサ１００はメインＣＰＵとして、当該画像形成装置全体の制御、エンジンユニット３０で行わない画像処理も含めた、当該画像形成装置で必要とする種々の処理機能の実行を司る。図２では、該マルチコアプロセッサ１００は複数のプロセッサコア（ＣＰＵコア）で構成されているため、複数の処理機能の処理が同時に動作する場合でも、各処理機能をそれぞれ１つあるいは複数のプロセッサコアに割り当てることで、各処理機能の処理動作のスループットを落とさないようにすることが可能になる。
【００２３】
図３に、マルチコアプロセッサ１００の構成例を示す。図３（ａ）は最も簡単に、２個のプロセッサコア１と２でマルチコアプロセッサ１００を構成した例である。図３（ｂ）は４個のプロセッサコア１〜４で、また、図３（ｃ）は３６個のプロセッサコア１〜３６で、それぞれマルチコアプロセッサ１００を構成した例である。一般にプロセッサコアの数は、２以上いくつでもよい。
【００２４】
以下に、マルチコアプロセッサ１００を構成する複数のプロセッサコア（ＣＰＵコア）に対する処理機能の割り当てについて詳述する。
【００２５】
コントローラユニットのメインＣＰＵで実施される処理機能は、次のように多種多様である。
ａ．画像の圧縮及び伸長
ｂ．画像フォーマット変換（ＲＧＢ→ＴＩＦＦ／ＪＰＥＧ／ＰＤＦ等）
ｃ．ＯＣＲ処理
ｄ．画像データのハンドリング（画像ログの保存やエンジンユニットへの画像データの引渡し等）
ｅ．プリンタ描画（言語データから画像データの作成）
ｆ．ＦＡＸの送信及び受信
ｇ．通信処理（ネットワーク通信、ＵＳＢ通信等）
ｈ．サーバ処理（ＨＴＴＰサーバ機能の提供等）
ｉ．画像データの配信
ｊ．ＯＳ機能（ファイル管理等）。
【００２６】
これらの処理機能をそれぞれ、コントローラユニット１０のマルチコアプロセッサ１００の１つあるいは複数のプロセッサコア（ＣＰＵコア）を割り当てる。
【００２７】
図４は、図３（ａ）のマルチコアプロセッサ１００が２個のプロセッサコア（ＣＰＵコア）から構成される場合の処理機能割り当ての具体例を示したものである。図４では一例として、プロセッサコア１にはＯＳ機能とプリンタ描画処理機能が割り当てられ、プロセッサコア２には画像フォーマット変換処理機能が割り当てられている場合が示されているが、一般にプロセッサコア１，２に割り当てられる処理機能は刻々変化する。
【００２８】
装置起動時、プロセッサコア１でＯＳ機能を立ち上げ、該ＯＳ機能上でプロセッサコア１，２の割り当てを管理制御するプログラム（コア管理プログラム）を起動する。そして、例えばプリンタ描画処理要求が発生したならば、該プリンタ描画処理にプロセッサコア１を割り当てる。このプリンタ描画処理の実行中に、例えば画像フォーマット変換処理要求が発生したならば、該画像フォーマット変換処理にプロセッサコア２を割り当てる。ここで、プロセッサコア１とプロセッサコア２は、それぞれあたかも独立した別のプロセッサとして動作するため、プリンタ描画処理と画像フォーマット変換処理が同時に実行しても、各処理動作のスループットの低下を抑止することができる。
【００２９】
その後、別の処理機能の処理要求が発生したとする。この時に、例えばプロセッサコア１のプリンタ描画処理が終了していれば、該プロセッサコア１に新たな処理機能の処理を割り当て、プロセッサコア２の画像フォーマット変換処理が終了していれば、該プロセッサコア２に新たな処理機能の処理を割り当てる。また、プロセッサコア１のプリンタ描画処理及びプロセッサコア２の画像フォーマット変換処理の両方とも終了していない場合には、例えば、先に処理を開始した方や負荷の軽い方などに基づいて、プロセッサコア１あるいはプロセッサコア２に新たな処理機能の処理を更に割り当てる。この場合、新たな処理機能の処理を更に割り当てられたプロセッコアでは２つの処理機能が同時に動作するため、スループットは多小低下するが、従来の単一プロセッサで全ての処理機能が同時に動作する場合に比べれば、スループットの低下は軽減される。
【００３０】
これまでの説明では、処理機能をプロセッサコア１，２のいずれか一方に割り当てるとしたが、処理状況に応じてプロセッサコア１，２の処理機能を割り当てを動的に変更するようにしてもよい。例えば、プリンタ描画処理要求が発生した時、プロセッサコア１，２とも処理機能の実行中でない場合には（待機中）、プロセッサコア１と２の両方にプリンタ描画処理を割り当てる。これにより、プリンタ描画処理を早急に実施することができる。
【００３１】
その後、例えば画像フォーマット変換処理要求が発生し、この時、プロセッサコア１と２の両方で、まだプリンタ描画処理を実行中の場合には、例えばプロセッサコア１にプリンタ描画処理を引き続いて割り当て、プロセッサコア２に画像フォーマット変換処理を割り当てる。そして、プリンタ描画処理が完了したならば、プロセッサコア１と２の両方に画像フォーマット変換処理を割り当てる。
【００３２】
図４の例は、マルチプロセッサ１００が最も簡単に２個のプロセッサコアから構成される場合であるが、マルチプロセッサ１００が図３（ｃ）のように多数のプロセッサコア（メニコア）から構成される場合には、複数の処理機能に対してそれぞれ１つあるいは複数のプロセッサコアを割り当てることも可能である。
【００３３】
図５は、図３（ｃ）のマルチコアプロセッサ１００が３６個のプロセッサコア（ＣＰＵコア）から構成される場合に、複数の処理機能に対してそれぞれ１つあるいは複数のプロセッサコアを割り当てる例を示したものである。図５では、一例として、プリンタ描画処理機能は９個のプロセッサコアからなるブロックに、画像データの圧縮／伸長処理機能は１２個のプロセッサコアからなるブロックに、ＦＡＸ送受信処理機能は３個のプロセッサコアからなるブロックに、ＯＳ処理機能は６個のプロセッサコアからなるブロックに、その他の処理機能は同じく６個のプロセッサコアからなるブロックに、それぞれ割り当てるとしている。
【００３４】
図５において、各処理機能に割り当てられた各プロセッサコアブロックは、それぞれあたかも独立した別のプロセッサとして動作する。したがって、２つあるいはそれ以上の処理機能の動作が同時に発生しても、これら動作のスループットの低下を抑止することが可能となる。換言すれば、ある処理機能（例えばプリンタ描画）の動作が、別の処理機能（例えば、画像の圧縮／伸長やＦＡＸ送受信）の動作のスループットへ影響を与えなくすることができる。
【００３５】
また、高負荷の処理機能には多数のプロセッサコアを割り当て、低負荷の処理機能には少数のプロセッサコアを割り当てると云うように、各処理機能毎に使用コア数を定めて、複数のプロセッサコアの処理能力配分を最適化することで、全体のスループットを最適化することができる。具体的には、コントローラユニットで実施される全ての処理機能について、例えば、使用するプロセッサコアの数を予めテーブルとしてＲＡＭやＨＤＤ等に保持しておき、該テーブルに従って、ＯＳ機能上でコア管理プログラムが割り当てるようにする。
【００３６】
図５では、複数の処理機能に対してそれぞれプロセッサコア数を固定的に割り当る例を示したが、ここでも、先に説明したように、処理状況に応じてプロセッサコアの割り当てを動的に変更するようにしてもよい。
【００３７】
図６に、処理状況に応じてプロセッサコアの割り当てを動的に変更する場合のフローチャートの一例を示す。なお、このフローチャートは、一般にマルチコアプロセッサ１００のプロセッサコア数が２つ以上の場合に一様に適用可能である。
【００３８】
装置起動時、１つのプロセッサコア等でＯＳ機能を立ち上げ、該ＯＳ機能上で、マルチプロセッサ１００を構成する複数のプロセッサコアの割り当てを管理制御するプログラム（コア管理プログラム）を起動する（ステップ１００１）。その後、待機モードに移行する（ステップ１００２）。この待機モードでは、コア管理プログラムが動作しているプロセッサコア以外のプロセッサコアは動作を停止している。
【００３９】
処理要求があると、コア管理プログラムは、実施する処理機能を認識し（ステップ１００３）、該処理機能にすべてのプロセッサコアを割り当てる（ステップ１００４，１００５）。例えば、処理要求がプリンタ描画処理だったならば、該プリンタ描画処理にすべてのプロセッサコアを割り当て（ステップ１００４）、処理要求が画像フォーマット変換処理だったならば、該画像フォーマット変換処理にすべてのプロセッサコアを割り当てる（ステップ１００５）。これにより、プリンタ描画処理、あるいは、画像フォーマット変換処理を早急に実施することができる。
【００４０】
その後、ある処理機能の実行中に、別の処理機能の処理要求が発生した場合、プロセッサコアの割り当てを変更する（ステップ１００６）。例えば、プリンタ描画処理の実行中に、画像フォーマット変換処理が発生した場合、プリンタ描画処理に割り当てていたプロセッサコアの一部をフォーマット変換処理に振り分ける。その際、プリンタ描画処理動作と画像フォーマット変換処理動作のスループットが落ちないように最適にプロセッサコア数を割り当てる。同様に、フォーマット変換処理の実行中に、プリンタ描画処理が発生した場合、フォーマット変換処理に割り当てていたプロセッサコアの一部をプリンタ描画処理に振り分ける。この際も、各処理動作のスループットが落ちないように最適なプロセッサコア数を割り当てる。その後、すべての処理が完了したなら（ステップ１００７）、待機モードに戻る。
【００４１】
なお、図６では省略したが、例えば、プリンタ描画処理と画像フォーマット変換処理の実行中に、更に別の処理機能の処理が発生した場合、該処理機能も含めて各処理機能のプロセッサコア数の割り当てを再び変更する。この場合も、各処理動作のスループットが落ちないように最適にプロセッサコア数を割り当てる。また、プリンタ描画処理と画像フォーマット変換処理が同時に実施され、例えば、プリンタ描画処理が先に完了した場合には、また、実行中の画像フォーマット変換処理にすべてのプロセッサコアを割り当てるようにする。
【００４２】
同時に実行する複数の処理機能の動作のスループットが落ちないように最適にプロセッサコア数を割り当てるには、例えば、コントローラユニットのメインＣＰＵで実施されるすべての処理機能について、それぞれに必要最小限のプロセッサコア数を予めテーブルとしてＲＡＭやＨＤＤ等に保持ししておき、コア管理プログラムが該テーブルに従ってプロセッサ数の割り当てを変更するようにすればよい。
【００４３】
図７は、一例として４つのプロセッサコアでプリンタ描画処理と画像フォーマット変換処理を実施する時のプロセッサコア割り当ての遷移を示したものである。なお、プリンタ描画処理も画像フォーマット変換処理も、少なくとも２つのプロセッサコアを割り当てることで、動作のスループットは確保できるものとする。
【００４４】
図７では、プリンタ描画処理が先に実行され、途中から画像フォーマット変換処理も実行される場合を示している。また、コア管理プログラムはプロセッサコア１上で動作するとしている。
【００４５】
最初に、プロセッサコア１〜４が全てプリンタ描画処理機能に割り当てられて、プリンタ描画処理が実行される。具体的には、プリンタデータ（言語データ）が４つのスレッド（タスク）に分割されて、プロセッサコア１〜４で並列に処理され、プリンタ描画データに展開される。このプリンタ描画処理の実行中に、画像フォーマット変換処理が発生すると、プロセッサコア１がコア管理プログラムを実行して、プロセッサコア１〜４の割り当てを変更する。ここでは、プリンタ描画処理にプロセッサコア１と２を引き続いて割り当て、画像フォーマット変換処理にプロセッサコア３と４を割り当てるとする。この場合、プロセッサコア３と４では、プリンタ描画処理のスレッドが実行されているので、その処理が終わってから、画像フォーマット変換処理のスレッドが実行されることになる。その後、プリンタ描画処理のスレッドはプロセッサコア１と２で実行される。
【００４６】
なお、図７に示すように、プリンタ描画処理のスレッドで処理時間の長いスレッドは、なるべくプロセッサコア２に割り当てるようにすることで、プロセッサコアの切り替えに時間がかからないようにすることができる。
【００４７】
以上、本発明のいくつかの実施例を図面に基づいて説明したが、本発明の範囲は、これら実施例に限定されるものではない。例えば、図７では、プロセッサコアは４っとしたが、プロセッサコアの数は、２以上ならいくつでもよい。また、処理機能もプリンタ描画処理や画像フォーマット変換処理に限られるものではなく、コントローラユニットのメインＣＰＵ上で実施される処理機能であれば、どの処理機能にも適用できることは云うまでもない。
【符号の説明】
【００４８】
１０  コントローラユニット
２０  操作ユニット
３０  エンジンユニット
４０  スキャナ
５０  プロッタ
６０  ネットワーク
１００  マルチコアプロセッサ
【先行技術文献】
【特許文献】
【００４９】
【特許文献１】特開２０１０−７３２１０号公報
【特許文献２】特開２０１０−７９５１４号公報
【図１】
2013125455.tif 000003
【図２】
2013125455.tif 000004
【図３】
2013125455.tif 000005
【図４】
2013125455.tif 000006
【図５】
2013125455.tif 000007
【図６】
2013125455.tif 000008
【図７】
2013125455.tif 000009