"スキャナ、プロッタ、操作ユニット、前記スキャナ及びプロッタの画像読出し/出力制御、画像処理を行うエンジンユニット、及び、当該画像形成装置全体の制御、前記エンジンユニットでの画像処理以外の画像処理を含めた、当該画像形成装置で必要とする複数の処理機能を実行するコントローラユニットを具備する画像形成装置において、前記コントローラユニットは、複数のプロセッサコアからなるマルチコアプロセッサを有し、該コントローラユニットで実行される複数の処理機能に対して、各々1つあるいは複数のプロセッサコアを割り当てることを特徴とする画像形成装置。前記処理機能に割り当てられるプロセッサコアの数は、処理機能毎に異なることを特徴とする請求項1に記載の画像形成装置。前記処理機能に割り当てられるプロセッサコアの数は、当該処理機能の負荷に応じて決まることを特徴とする請求項2に記載の画像形成装置。マルチコアプロセッサの処理状況に応じて、前記処理機能に割り当てられるプロセッサの数が動的に変化することを特徴とする請求項1に記載の画像形成装置。マルチコアプロセッサ内の前記処理機能毎に割り当てられた1つあるいは複数のプロセッサコア同士は、それぞれ別のプロセッサとして独立に動作することを特徴とする請求項1乃至4のいずれか1項に記載の画像形成装置。マルチコアプロセッサ内の少なくとも1つのプロセッサコアでは、前記処理機能の割り当てを制御するプログラムが動作することを特徴とする請求項1乃至5のいずれか1項に記載の画像形成装置。本発明の課題は、複数の処理機能を実施する画像形成装置において、メインCPUで同時に複数の処理機能の処理が動作しても、各動作のスループットが低下しないようにすることにある。本発明は、スキャナ、プロッタ、操作ユニット、前記スキャナ及びプロッタの画像読出し/出力制御、画像処理を行うエンジンユニット、及び、当該画像形成装置全体の制御、前記エンジンユニットでの画像処理以外の画像処理を含めた、当該画像形成装置で必要とする複数の処理機能を実行するコントローラユニットを具備する画像形成装置において、コアコントローラユニットは、メインCPUとして複数のプロセッサコアからなるマルチコアプロセッサを備えて、該コントローラユニットで実行される複数の処理機能に対して、各々1つあるいは複数のプロセッサコアを割り当てるようにする。本発明によれば、コントローラユニットのメインCPUで同時に複数の処理機能の処理が動作しても、処理機能毎に1つあるいは複数のプロセッサコアを割り当てることができるため、各動作のスループットの低下を抑止することが可能になる。初めに、従来の画像形成装置の構成例について図面を参照して説明する。図1は、従来の高機能な画像形成装置のデータ処理系の全体的ブロック図を示したものである。本画像形成装置は、コントローラユニット10、操作ユニット20、エンジンユニット30、スキャナ40及びプロッタ50等を備えている。該画像形成装置の各ユニットはバスで接続され、さらにコントローラユニット10はネットワーク60とも接続されている。コントローラユニット10は当該画像形成装置全体の制御、必要な処理を行う。該コントローラユニット10は、単一プロセッサのCPU11、RAM12、ROM13、ハードディスクHDD14及びコントローラASICCTL-ASIC15等から構成されている。ここで、CPU11がメインCPUとして、当該画像形成装置全体の制御、種々のデータ処理、ネットワーク60との通信処理などを行う。また、該CPU11では、エンジンユニット30では行わない一般的な画像処理も行う。RAM12は、CPU11のワークメモリであり、CPU11での実行中のプログラムや処理途中の画像データ等を一時的に格納する。ROM12はCPU11のためのプログラムやシステムデータ等を記憶する。HDD14は、CPU11のためのプログラム、CPU11での処理対象や処理結果の画像データ、その他のデータ等を記憶する。すなわち、CPU11は、ROM12のプログラムを直接、あるいはHDD14のプログラムをRAM12に格納して、種々の制御や処理を実行する。CTL-ASIC15は、主に、当該画像形成装置の省電力制御等を司る。操作ユニット20は、ユーザからの入力操作を受け付けると共に、ユーザに対して必要な情報の表示を行う。該操作ボート20は、CPU21、操作キー22及び表示パネル23等から構成されている。操作キー22はハードキーであり、テンキーや種々のファンクションキー等からなる。表示パネル23はタッチパネル付きLCD等からなる。CPU21は、操作キー22や表示パネル23とコントローラユニット10のCPU11とのインターフェイス処理、表示パネル23へのデータ表示処理、タッチパネルコントロール処理等、操作ユニット20に特有の制御や処理を行う。エンジンボート30は、スキャナ40からの画像読取り、プロッタ50への画像出力、それらの画像処理を行う。該エンジンユニット30は、CPU31、RAM32、ROM33、スキャナ画像処理ASIC34及びプロッタ画像処理ASIC35等から構成されている。CPU31は、スキャナ40及びプロッタ50の画像読取り/出力制御、スキャナ画像処理ASIC34やプロッタ画像処理ASIC35の動作制御等を行う。RAM32はCPU31のワークメモリである。また、ROM33はCPU31のためのプログラムを記憶している。スキャナ画像処理ASIC34は、CPU31の制御下で、スキャナ40の読取り画像データについて階調処理、その他、必要な補正処理を行う。プロッタ画像処理ASIC35は、プロッタ50に出力する画像データについて階調処理、補正処理、その他、必要な補正処理を行う。すなわち、スキャナ40からの読取り画像データやプロッタ50への出力画像データは、大容量の非圧縮データであるため、専用の画像処理ASIC34,35を用いて高速に処理する。スキャナ40は、読取りユニット、CCDやCMOSのイメージセンサあるいはラインイメージセンサ、ADF等からなる。プロッタ50は、例えば電子写真式記録装置やインク噴射式記録装置等である。以下に、本画像形成装置の二、三の一般的な動作を説明する。なお、動作モードは、例えばユーザが操作ユニット20の操作キー22や表示パネル23のタッチキーを操作することで指示される。本画像形成装置が複写機として動作する場合、スキャナ40は原稿の画像データを読み取り、エンジンユニット30に送る。エンジンユニット30のスキャナ画像処理ASIC34は、CPU31の制御のもとに、スキャナ40で読み取られた画像データについて必要な補正処理を施してコントローラユニット10に送る。コントローラユニット10のCPU11は、該画像データを圧縮処理し、また、必要なら変倍処理して圧縮処理し、HDD14に格納する。その後、コントローラユニット10のCPU11は、HDD14から圧縮処理された画像データを読み出して伸長処理し、エンジンユニット30に送る。エンジンユニット30のプロッタ画像処理ASIC35は、CPU31の制御のもとに、該画像データについてプロッタ50に見合った必要な補正処理を行ってプロッタ50へ送出する。プロッタ50は用紙にコピー画像を形成する。本画像形成装置が、ネットワーク60を介してパソコン等の端末装置に画像データを配信するサーバとして動作する場合は、コントローラユニット10のCPU11は、HDD14に格納されている画像データについて色変換処理、階調処理、フォーマット変換処理等を行う。この場合、CPU11は、HDD14に格納されている画像データが圧縮されている場合には、伸長処理してRAM12上に展開して必要な処理を行う。色変換処理や階調処理では、配信先のデバイス等に見合った処理を行う。フォーマット変換処理では、JPEGやYIFF形式等への画像フォーマット変換を行う。その後、CPU11は、該画像データを圧縮処理し、ネットワーク60を介して端末装置に配信する。また、本画像形成装置が、ネットワーク60を介してパソコン等の端末装置からの画像データをプリントアウトするプリンタとして動作する場合は、コントローラユニット10のCPU11は、ネットワーク60から受信されるデータについて、画像及びプリント指示コマンド等を解析し、RAM12上に画像データをビットマップ展開し、該画像データを直接あるいは圧縮処理してHDD14に格納する。その後、CPU11は、HDD14から画像データを読み出し、圧縮されていれば伸長処理して、エンジンユニット30に送る。エンジンユニット30では、プロッタ画像処理ASIC35が、CPU31の制御のもとに、コントローラユニット10から送られた画像データについてプロッタ50に見合った必要な補正処理を行ってプロッタ50へ送出する。プロッタ50は用紙に画像を形成して出力する。以上、図1の従来の画像形成装置について、複写機、画像配信サーバ及びプリンタとしての動作を説明したが、FAX、その他の動作も基本的に同様である。いずれの動作でも、コントローラユニット10のCPU11がメインCPUとなって、スキャナ40、プロッタ50、ネットワーク60のデータ処理を含めた全体的な制御を行い、さらにエンジンユニット30で行われない画像処理もCPU11が行っている。一方、画像形成装置は年々多機能化、高速化が進み、それに伴ってメインCPUで複数の処理機能の処理の同時に動作することが多くなってきている。しかしながら、従来の画像形成装置では、図1に示されるコントローラユニット10のCPU11のように、メインCPUは単一プロセッサであるため、複数の処理機能の処理が同時に動作すると、各動作のスループットが落ちてしまう。本発明は、これを改善するものである。図2に、本発明の一実施形態に係る画像形成装置のデータ処理系の全体的ブロック図を示す。図2において、図1との相違点は、コントローラユニット10上にメインCPUとして、図1の単一プロセッサのCPU11に替えて、複数のプロセッサコアからなるマルチコアプロセッサ100を設けたことであり、これ以外の構成は図1と同様である。また、全体の動作も図1の場合と基本的に同様である。コントローラユニット10上のマルチコアプロセッサ100はメインCPUとして、当該画像形成装置全体の制御、エンジンユニット30で行わない画像処理も含めた、当該画像形成装置で必要とする種々の処理機能の実行を司る。図2では、該マルチコアプロセッサ100は複数のプロセッサコアCPUコアで構成されているため、複数の処理機能の処理が同時に動作する場合でも、各処理機能をそれぞれ1つあるいは複数のプロセッサコアに割り当てることで、各処理機能の処理動作のスループットを落とさないようにすることが可能になる。図3に、マルチコアプロセッサ100の構成例を示す。図3aは最も簡単に、2個のプロセッサコア1と2でマルチコアプロセッサ100を構成した例である。図3bは4個のプロセッサコア1~4で、また、図3cは36個のプロセッサコア1~36で、それぞれマルチコアプロセッサ100を構成した例である。一般にプロセッサコアの数は、2以上いくつでもよい。以下に、マルチコアプロセッサ100を構成する複数のプロセッサコアCPUコアに対する処理機能の割り当てについて詳述する。コントローラユニットのメインCPUで実施される処理機能は、次のように多種多様である。a.画像の圧縮及び伸長b.画像フォーマット変換RGB→TIFF/JPEG/PDF等c.OCR処理d.画像データのハンドリング画像ログの保存やエンジンユニットへの画像データの引渡し等e.プリンタ描画言語データから画像データの作成f.FAXの送信及び受信g.通信処理ネットワーク通信、USB通信等h.サーバ処理HTTPサーバ機能の提供等i.画像データの配信j.OS機能ファイル管理等。これらの処理機能をそれぞれ、コントローラユニット10のマルチコアプロセッサ100の1つあるいは複数のプロセッサコアCPUコアを割り当てる。図4は、図3aのマルチコアプロセッサ100が2個のプロセッサコアCPUコアから構成される場合の処理機能割り当ての具体例を示したものである。図4では一例として、プロセッサコア1にはOS機能とプリンタ描画処理機能が割り当てられ、プロセッサコア2には画像フォーマット変換処理機能が割り当てられている場合が示されているが、一般にプロセッサコア1,2に割り当てられる処理機能は刻々変化する。装置起動時、プロセッサコア1でOS機能を立ち上げ、該OS機能上でプロセッサコア1,2の割り当てを管理制御するプログラムコア管理プログラムを起動する。そして、例えばプリンタ描画処理要求が発生したならば、該プリンタ描画処理にプロセッサコア1を割り当てる。このプリンタ描画処理の実行中に、例えば画像フォーマット変換処理要求が発生したならば、該画像フォーマット変換処理にプロセッサコア2を割り当てる。ここで、プロセッサコア1とプロセッサコア2は、それぞれあたかも独立した別のプロセッサとして動作するため、プリンタ描画処理と画像フォーマット変換処理が同時に実行しても、各処理動作のスループットの低下を抑止することができる。その後、別の処理機能の処理要求が発生したとする。この時に、例えばプロセッサコア1のプリンタ描画処理が終了していれば、該プロセッサコア1に新たな処理機能の処理を割り当て、プロセッサコア2の画像フォーマット変換処理が終了していれば、該プロセッサコア2に新たな処理機能の処理を割り当てる。また、プロセッサコア1のプリンタ描画処理及びプロセッサコア2の画像フォーマット変換処理の両方とも終了していない場合には、例えば、先に処理を開始した方や負荷の軽い方などに基づいて、プロセッサコア1あるいはプロセッサコア2に新たな処理機能の処理を更に割り当てる。この場合、新たな処理機能の処理を更に割り当てられたプロセッコアでは2つの処理機能が同時に動作するため、スループットは多小低下するが、従来の単一プロセッサで全ての処理機能が同時に動作する場合に比べれば、スループットの低下は軽減される。これまでの説明では、処理機能をプロセッサコア1,2のいずれか一方に割り当てるとしたが、処理状況に応じてプロセッサコア1,2の処理機能を割り当てを動的に変更するようにしてもよい。例えば、プリンタ描画処理要求が発生した時、プロセッサコア1,2とも処理機能の実行中でない場合には待機中、プロセッサコア1と2の両方にプリンタ描画処理を割り当てる。これにより、プリンタ描画処理を早急に実施することができる。その後、例えば画像フォーマット変換処理要求が発生し、この時、プロセッサコア1と2の両方で、まだプリンタ描画処理を実行中の場合には、例えばプロセッサコア1にプリンタ描画処理を引き続いて割り当て、プロセッサコア2に画像フォーマット変換処理を割り当てる。そして、プリンタ描画処理が完了したならば、プロセッサコア1と2の両方に画像フォーマット変換処理を割り当てる。図4の例は、マルチプロセッサ100が最も簡単に2個のプロセッサコアから構成される場合であるが、マルチプロセッサ100が図3cのように多数のプロセッサコアメニコアから構成される場合には、複数の処理機能に対してそれぞれ1つあるいは複数のプロセッサコアを割り当てることも可能である。図5は、図3cのマルチコアプロセッサ100が36個のプロセッサコアCPUコアから構成される場合に、複数の処理機能に対してそれぞれ1つあるいは複数のプロセッサコアを割り当てる例を示したものである。図5では、一例として、プリンタ描画処理機能は9個のプロセッサコアからなるブロックに、画像データの圧縮/伸長処理機能は12個のプロセッサコアからなるブロックに、FAX送受信処理機能は3個のプロセッサコアからなるブロックに、OS処理機能は6個のプロセッサコアからなるブロックに、その他の処理機能は同じく6個のプロセッサコアからなるブロックに、それぞれ割り当てるとしている。図5において、各処理機能に割り当てられた各プロセッサコアブロックは、それぞれあたかも独立した別のプロセッサとして動作する。したがって、2つあるいはそれ以上の処理機能の動作が同時に発生しても、これら動作のスループットの低下を抑止することが可能となる。換言すれば、ある処理機能例えばプリンタ描画の動作が、別の処理機能例えば、画像の圧縮/伸長やFAX送受信の動作のスループットへ影響を与えなくすることができる。また、高負荷の処理機能には多数のプロセッサコアを割り当て、低負荷の処理機能には少数のプロセッサコアを割り当てると云うように、各処理機能毎に使用コア数を定めて、複数のプロセッサコアの処理能力配分を最適化することで、全体のスループットを最適化することができる。具体的には、コントローラユニットで実施される全ての処理機能について、例えば、使用するプロセッサコアの数を予めテーブルとしてRAMやHDD等に保持しておき、該テーブルに従って、OS機能上でコア管理プログラムが割り当てるようにする。図5では、複数の処理機能に対してそれぞれプロセッサコア数を固定的に割り当る例を示したが、ここでも、先に説明したように、処理状況に応じてプロセッサコアの割り当てを動的に変更するようにしてもよい。図6に、処理状況に応じてプロセッサコアの割り当てを動的に変更する場合のフローチャートの一例を示す。なお、このフローチャートは、一般にマルチコアプロセッサ100のプロセッサコア数が2つ以上の場合に一様に適用可能である。装置起動時、1つのプロセッサコア等でOS機能を立ち上げ、該OS機能上で、マルチプロセッサ100を構成する複数のプロセッサコアの割り当てを管理制御するプログラムコア管理プログラムを起動するステップ1001。その後、待機モードに移行するステップ1002。この待機モードでは、コア管理プログラムが動作しているプロセッサコア以外のプロセッサコアは動作を停止している。処理要求があると、コア管理プログラムは、実施する処理機能を認識しステップ1003、該処理機能にすべてのプロセッサコアを割り当てるステップ1004,1005。例えば、処理要求がプリンタ描画処理だったならば、該プリンタ描画処理にすべてのプロセッサコアを割り当てステップ1004、処理要求が画像フォーマット変換処理だったならば、該画像フォーマット変換処理にすべてのプロセッサコアを割り当てるステップ1005。これにより、プリンタ描画処理、あるいは、画像フォーマット変換処理を早急に実施することができる。その後、ある処理機能の実行中に、別の処理機能の処理要求が発生した場合、プロセッサコアの割り当てを変更するステップ1006。例えば、プリンタ描画処理の実行中に、画像フォーマット変換処理が発生した場合、プリンタ描画処理に割り当てていたプロセッサコアの一部をフォーマット変換処理に振り分ける。その際、プリンタ描画処理動作と画像フォーマット変換処理動作のスループットが落ちないように最適にプロセッサコア数を割り当てる。同様に、フォーマット変換処理の実行中に、プリンタ描画処理が発生した場合、フォーマット変換処理に割り当てていたプロセッサコアの一部をプリンタ描画処理に振り分ける。この際も、各処理動作のスループットが落ちないように最適なプロセッサコア数を割り当てる。その後、すべての処理が完了したならステップ1007、待機モードに戻る。なお、図6では省略したが、例えば、プリンタ描画処理と画像フォーマット変換処理の実行中に、更に別の処理機能の処理が発生した場合、該処理機能も含めて各処理機能のプロセッサコア数の割り当てを再び変更する。この場合も、各処理動作のスループットが落ちないように最適にプロセッサコア数を割り当てる。また、プリンタ描画処理と画像フォーマット変換処理が同時に実施され、例えば、プリンタ描画処理が先に完了した場合には、また、実行中の画像フォーマット変換処理にすべてのプロセッサコアを割り当てるようにする。同時に実行する複数の処理機能の動作のスループットが落ちないように最適にプロセッサコア数を割り当てるには、例えば、コントローラユニットのメインCPUで実施されるすべての処理機能について、それぞれに必要最小限のプロセッサコア数を予めテーブルとしてRAMやHDD等に保持ししておき、コア管理プログラムが該テーブルに従ってプロセッサ数の割り当てを変更するようにすればよい。図7は、一例として4つのプロセッサコアでプリンタ描画処理と画像フォーマット変換処理を実施する時のプロセッサコア割り当ての遷移を示したものである。なお、プリンタ描画処理も画像フォーマット変換処理も、少なくとも2つのプロセッサコアを割り当てることで、動作のスループットは確保できるものとする。図7では、プリンタ描画処理が先に実行され、途中から画像フォーマット変換処理も実行される場合を示している。また、コア管理プログラムはプロセッサコア1上で動作するとしている。最初に、プロセッサコア1~4が全てプリンタ描画処理機能に割り当てられて、プリンタ描画処理が実行される。具体的には、プリンタデータ言語データが4つのスレッドタスクに分割されて、プロセッサコア1~4で並列に処理され、プリンタ描画データに展開される。このプリンタ描画処理の実行中に、画像フォーマット変換処理が発生すると、プロセッサコア1がコア管理プログラムを実行して、プロセッサコア1~4の割り当てを変更する。ここでは、プリンタ描画処理にプロセッサコア1と2を引き続いて割り当て、画像フォーマット変換処理にプロセッサコア3と4を割り当てるとする。この場合、プロセッサコア3と4では、プリンタ描画処理のスレッドが実行されているので、その処理が終わってから、画像フォーマット変換処理のスレッドが実行されることになる。その後、プリンタ描画処理のスレッドはプロセッサコア1と2で実行される。なお、図7に示すように、プリンタ描画処理のスレッドで処理時間の長いスレッドは、なるべくプロセッサコア2に割り当てるようにすることで、プロセッサコアの切り替えに時間がかからないようにすることができる。以上、本発明のいくつかの実施例を図面に基づいて説明したが、本発明の範囲は、これら実施例に限定されるものではない。例えば、図7では、プロセッサコアは4っとしたが、プロセッサコアの数は、2以上ならいくつでもよい。また、処理機能もプリンタ描画処理や画像フォーマット変換処理に限られるものではなく、コントローラユニットのメインCPU上で実施される処理機能であれば、どの処理機能にも適用できることは云うまでもない。"