(57)【要約】【課題】画像形成用の情報処理をソフトウエアで行うことに起因する不都合な事態の発生を抑制可能な画像形成装置、情報処理装置およびプログラムを提供する。【解決手段】原稿のスキャンが開始されると（Ｓ１１）、１バンド分の画像が格納されるのを待ち合わせ（Ｓ１２）、２コアで画像処理を開始する（Ｓ１３）。画像処理を実行する処理時間を閾値と比較し（Ｓ１４）、閾値を下回っている場合（Ｓ１５でＹｅｓ）、画像処理に割り当てるコア数を４つに増やす（Ｓ１６）。画像処理が完了していなければ（Ｓ１７でＮｏ）、ステップ１２に戻る。画像処理完了の場合（Ｓ１７でＹｅｓ）、コア数を増やしていれば（Ｓ１８でＹｅｓ）、元に戻し（Ｓ１９）、処理を終了する。また、コア数を増やしていなければ（Ｓ１８でＮｏ）、処理を終了する。【選択図】図８
2018062157.tif 000002
【特許請求の範囲】
【請求項１】
取得した画像データについて画像形成用の情報処理を画像処理専用プログラムにより行う第１の情報処理手段と、
前記第１の情報処理手段による情報処理に関する値が予め定められた条件を満たす場合に、画像処理以外の処理も行う汎用処理プログラムにより前記画像データについて画像形成用の情報処理を行う第２の情報処理手段と、
を含むことを特徴とする画像形成装置。
【請求項２】
前記第２の情報処理手段は、前記第１の情報処理手段による画像形成用の情報処理についての処理時間が予め定められた閾値を下回った場合に、前記汎用処理プログラムにより前記画像データについて画像形成用の情報処理を行う、ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記閾値は、原稿を読み取る画像読み取り手段の読み取り速度、画像を記録材に出力する出力手段の処理速度、前記第１の情報処理手段および前記第２の情報処理手段の処理性能、および画像形成用の情報処理の種別に基づき設定されるものである、ことを特徴とする請求項２に記載の画像形成装置。
【請求項４】
取得した画像データについて画像形成用の情報処理をプログラムにより行う第１の情報処理手段と、
プログラムにより情報処理を行い、前記第１の情報処理手段による情報処理に関する値が予め定められた条件を満たす場合に前記画像データについて画像形成用の情報処理を当該第１の情報処理手段とともに行う第２の情報処理手段と、
を含むことを特徴とする画像形成装置。
【請求項５】
前記第２の情報処理手段は、順次取得する画像データについて画像形成用の情報処理を行う場合、画像データを取得する取得タイミングで画像形成用の情報処理を開始し、当該取得タイミング以外のタイミングで画像形成用の情報処理を終了する、ことを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記第１の情報処理手段は、画像形成用の情報処理を終えた場合、前記第２の情報処理手段により行われる画像形成用の情報処理以外の情報処理を行う、ことを特徴とする請求項４に記載の画像形成装置。
【請求項７】
取得した画像データについて画像形成用の情報処理を画像処理専用プログラムにより行う第１の情報処理手段と、
前記第１の情報処理手段による情報処理に関する値が予め定められた条件を満たす場合に、画像処理以外の処理も行う汎用処理プログラムにより前記画像データについて画像形成用の情報処理を行う第２の情報処理手段と、
を含むことを特徴とする情報処理装置。
【請求項８】
取得した画像データについて画像形成用の情報処理をプログラムにより行う第１の情報処理手段と、
プログラムにより情報処理を行い、前記第１の情報処理手段による情報処理に関する値が予め定められた条件を満たす場合に前記画像データについて画像形成用の情報処理を行う第２の情報処理手段と、
を含むことを特徴とする情報処理装置。
【請求項９】
画像を読み取る画像読み取り手段を備える画像形成装置のコンピュータに、
前記画像読み取り手段により読み取られた画像データについて画像形成用の情報処理を行う第１の情報処理機能と、
前記第１の情報処理機能による情報処理に関する値が予め定められた条件を満たす場合に前記画像データについて画像形成用の情報処理を当該第１の情報処理機能とともに行う第２の情報処理機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、情報処理装置およびプログラムに関するものである。
【背景技術】
【０００２】
例えば、特許文献１は、ページの領域毎に描画処理手段が描画処理する画像形成装置であって、印刷データを格納する印刷データ格納手段と、印刷データを解析し、描画対象とされるオブジェクトの描画命令をページ毎に記述した描画命令データを生成する描画命令生成手段と、描画命令生成手段と並行して印刷データを解析し、描画処理手段が受け持つ領域を決定するための最適化情報を作成する最適化情報作成手段と、描画命令データと最適化情報を記憶する中間データ記憶手段と、最適化情報に基づき受け持つ領域を決定し、領域毎に描画命令データを描画処理する描画処理手段と、を有する構成を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−７１５４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、画像形成用の情報処理をソフトウエアで行うことに起因する不都合な事態の発生を抑制可能な画像形成装置、情報処理装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、取得した画像データについて画像形成用の情報処理を画像処理専用プログラムにより行う第１の情報処理手段と、前記第１の情報処理手段による情報処理に関する値が予め定められた条件を満たす場合に、画像処理以外の処理も行う汎用処理プログラムにより前記画像データについて画像形成用の情報処理を行う第２の情報処理手段と、を含むことを特徴とする画像形成装置である。
請求項２に記載の発明は、前記第２の情報処理手段は、前記第１の情報処理手段による画像形成用の情報処理についての処理時間が予め定められた閾値を下回った場合に、前記汎用処理プログラムにより前記画像データについて画像形成用の情報処理を行う、ことを特徴とする請求項１に記載の画像形成装置である。
請求項３に記載の発明は、前記閾値は、原稿を読み取る画像読み取り手段の読み取り速度、画像を記録材に出力する出力手段の処理速度、前記第１の情報処理手段および前記第２の情報処理手段の処理性能、および画像形成用の情報処理の種別に基づき設定されるものである、ことを特徴とする請求項２に記載の画像形成装置である。
請求項４に記載の発明は、取得した画像データについて画像形成用の情報処理をプログラムにより行う第１の情報処理手段と、プログラムにより情報処理を行い、前記第１の情報処理手段による情報処理に関する値が予め定められた条件を満たす場合に前記画像データについて画像形成用の情報処理を当該第１の情報処理手段とともに行う第２の情報処理手段と、を含むことを特徴とする画像形成装置である。
請求項５に記載の発明は、前記第２の情報処理手段は、順次取得する画像データについて画像形成用の情報処理を行う場合、画像データを取得する取得タイミングで画像形成用の情報処理を開始し、当該取得タイミング以外のタイミングで画像形成用の情報処理を終了する、ことを特徴とする請求項４に記載の画像形成装置である。
請求項６に記載の発明は、前記第１の情報処理手段は、画像形成用の情報処理を終えた場合、前記第２の情報処理手段により行われる画像形成用の情報処理以外の情報処理を行う、ことを特徴とする請求項４に記載の画像形成装置である。
請求項７に記載の発明は、取得した画像データについて画像形成用の情報処理を画像処理専用プログラムにより行う第１の情報処理手段と、前記第１の情報処理手段による情報処理に関する値が予め定められた条件を満たす場合に、画像処理以外の処理も行う汎用処理プログラムにより前記画像データについて画像形成用の情報処理を行う第２の情報処理手段と、を含むことを特徴とする情報処理装置である。
請求項８に記載の発明は、取得した画像データについて画像形成用の情報処理をプログラムにより行う第１の情報処理手段と、プログラムにより情報処理を行い、前記第１の情報処理手段による情報処理に関する値が予め定められた条件を満たす場合に前記画像データについて画像形成用の情報処理を行う第２の情報処理手段と、を含むことを特徴とする情報処理装置である。
請求項９に記載の発明は、画像を読み取る画像読み取り手段を備える画像形成装置のコンピュータに、前記画像読み取り手段により読み取られた画像データについて画像形成用の情報処理を行う第１の情報処理機能と、前記第１の情報処理機能による情報処理に関する値が予め定められた条件を満たす場合に前記画像データについて画像形成用の情報処理を当該第１の情報処理機能とともに行う第２の情報処理機能と、を実現させることを特徴とするプログラムである。
【発明の効果】
【０００６】
請求項１によれば、第２の情報処理手段を備えない場合に比べ、画像形成用の情報処理をソフトウエアで行うことに起因する不都合な事態の発生を抑制することが可能になる。
請求項２によれば、第２の情報処理手段を備えない場合に比べ、画像形成用の情報処理をソフトウエアで行うことに起因する不都合な事態の発生をさらに抑制することが可能になる。
請求項３によれば、第２の情報処理手段を備えない場合に比べ、画像形成用の情報処理をソフトウエアで行うことに起因する不都合な事態の発生をさらに抑制することが可能になる。
請求項４によれば、第２の情報処理手段を備えない場合に比べ、画像形成用の情報処理をソフトウエアで行うことに起因する不都合な事態の発生を抑制することが可能になる。
請求項５によれば、第２の情報処理手段が画像データ取得のタイミングで画像形成用の情報処理を終了する場合に比べ、画像形成用の情報処理以外の情報処理の遅れを軽減することが可能になる。
請求項６によれば、第１の情報処理手段が画像形成用の情報処理以外の情報処理を行わない場合に比べ、画像形成用の情報処理以外の情報処理の遅れを軽減することが可能になる。
請求項７によれば、第２の情報処理手段を備えない場合に比べ、画像形成用の情報処理をソフトウエアで行うことに起因する不都合な事態の発生を抑制することが可能になる。
請求項８によれば、第２の情報処理手段を備えない場合に比べ、画像形成用の情報処理をソフトウエアで行うことに起因する不都合な事態の発生を抑制することが可能になる。
請求項９によれば、第２の情報処理機能を備えない場合に比べ、画像形成用の情報処理をソフトウエアで行うことに起因する不都合な事態の発生を抑制することが可能になる。
【図面の簡単な説明】
【０００７】
【図１】本実施の形態が適用される画像形成装置の構成を説明するブロック図である。
【図２】出力装置をフロント側から眺めた場合の図である。
【図３】ＣＰＵにおけるコアに対するタスクの指定の仕方を説明するブロック図であり、（ａ）は通常の場合、（ｂ）は通常以外の場合を示す。
【図４】ＦＣＯＴモードでの画像処理を説明するブロック図である。
【図５】ＦＣＯＴモードでの処理を説明するタイムチャートである。
【図６】ＦＣＯＴモードでの処理を説明するタイムチャートである。
【図７】画像処理を行うコア数が増えた場合の処理を説明する図であり、（ａ）は２コア時、（ｂ）は４コア時である。
【図８】ＣＰＵにおけるコア数制御についての処理手順を説明するフローチャートである。
【図９】ＣＰＵにおけるコア数制御についての別の処理手順を説明するフローチャートである。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図１は、本実施の形態が適用される画像形成装置１０００の構成を説明するブロック図である。
同図に示すように、本実施の形態に係る画像形成装置１０００は、画像読取装置（スキャナ）やパーソナルコンピュータ（ＰＣ）等から画像データ等が入力される入力装置１００を備えている。入力装置１００が、画像読取装置やパーソナルコンピュータ等を含んで構成されることも考えられる。また、入力装置１００は、例えば公衆電話回線を介して画像情報の送受信を行うファクシミリ（ＦＡＸ）装置とする例も考えられる。なお、画像読取装置は、画像読み取り手段の一例である。
【０００９】
また、図１に示す画像形成装置１０００は、各装置（各部）の動作等の制御をするＣＰＵ(Central Processing Unit)２００と、ＣＰＵ２００のワークエリアとして使用されるＲＡＭ(Random Access Memory)３００と、を備えている。また、画像形成装置１０００は、ＣＰＵ２００により画像処理された画像を媒体に出力する出力装置４００と、例えばハードディスクドライブ（ＨＤＤ）やフラッシュメモリ等で構成され、ＣＰＵ２００のプログラム等の情報が記憶されると共に、入力装置１００で入力された画像データ等を一時的に蓄積する外部記憶装置であるストレージ５００と、外部との通信を行うＮｅｔ６００と、を備えている。
なお、画像形成装置１０００は、ユーザからの操作入力の受付やユーザに対する各種情報の表示を行う不図示のユーザインターフェース（ＵＩ）装置を備えることができる。
【００１０】
図１に示すＣＰＵ２００についてさらに説明する。
画像形成装置１０００のＣＰＵ２００は、入力装置１００から入力される画像データについての画像処理を行うほか、例えば入力装置１００およびＮｅｔ６００の制御処理を行う。また、ＣＰＵ２００は、ファクシミリ装置を備える場合にはその送受信の制御処理を行い、ＵＩ装置を備える場合にはその表示処理や操作受付処理を行う。
このように、ＣＰＵ２００は、各種の情報処理を行うものであり、各装置（各部）の動作等の制御を行うほか画像処理を行う。
なお、画像処理を行う機能については、例えばＡＳＩＣ（Application Specific IC。特定用途向け集積回路）で実現する例が考えられるが、本実施の形態では、ＣＰＵ２００がストレージ５００からプログラムを読み込んで画像処理の機能を実現させている。すなわち、本実施の形態では、ＣＰＵを使ったソフトウエア処理で画像処理を行う。
【００１１】
さらに説明すると、ストレージ５００は、ＣＰＵ２００により実行されるプログラムを記憶する。
ＣＰＵ２００は、ストレージ５００に記憶されているプログラムを読み出し、ＲＡＭ３００を作業エリアにしてプログラムを実行する。
ＣＰＵ２００により、ストレージ５００に格納されたプログラムが実行されることで、後述する各機能部が実現される。
なお、ストレージ５００は、少なくとも、画像処理専用プログラム５１０および汎用処理プログラム５２０を記憶する。そして、ＣＰＵ２００は、画像処理専用プログラム５１０でＣＰＵ２００のコア２１０，２２０を動作し、また、汎用処理プログラム５２０でＣＰＵ２００のコア２３０，２４０を動作する。
【００１２】
ここで、ＣＰＵ２００によって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）や光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で、画像形成装置１０００へ提供しうる。また、ＣＰＵ２００によって実行されるプログラムは、インターネットなどの通信手段を用いて画像形成装置１０００へダウンロードしてもよい。
【００１３】
なお、図１の画像形成装置１０００は、画像形成装置の一例であるが、例えば出力装置４００を備えない場合の図１の構成や、入力装置１００および出力装置４００を備えない場合の図１の構成を、情報処理装置の一例であると把握することができる。
出力装置４００は出力手段の一例である。
【００１４】
次に、画像形成装置１０００の出力装置４００について説明する。
図２は、出力装置４００をフロント側から眺めた場合の図である。
同図に示す出力装置４００は、所謂タンデム型の構成を有するものであって、電子写真方式により各色成分のトナー像を形成する複数の画像形成ユニット４１０Ｙ，４１０Ｍ，４１０Ｃ，４１０Ｋ（本書で画像形成ユニット４１０ということがある）を備えている。
【００１５】
また、出力装置４００は、各画像形成ユニット４１０にて形成された各色成分トナー像が順次転写（一次転写）されると共にこの各色成分トナー像を保持する像形成手段の一例としての中間転写ベルト４２０と、中間転写ベルト４２０上の各色成分トナー像を矩形状に形成された記録材Ｐに一括転写（二次転写）する転写手段の一例としての二次転写装置４３０と、を備えている。記録材Ｐは、紙やフィルム等の定着対象メディアである。
【００１６】
また、出力装置４００には、記録材Ｐを供給する用紙供給装置４４０が設けられている。また、用紙供給装置４４０と二次転写装置４３０との間には、用紙搬送経路上に位置する記録材Ｐを搬送する搬送ロール４４１が複数設けられている。
また、本実施の形態では、二次転写装置４３０により記録材Ｐ上に二次転写された画像を記録材Ｐに定着させる定着手段の一例としての定着装置４５０が設けられている。さらに、二次転写装置４３０と定着装置４５０との間には、二次転写装置４３０を通過した記録材Ｐを定着装置４５０へ搬送する搬送装置４４２が設けられている。
【００１７】
ここで、画像形成部の一部として機能する画像形成ユニット４１０の各々は、回転可能に取り付けられた感光体ドラム４１１を備えている。また、感光体ドラム４１１の周囲には、感光体ドラム４１１を帯電する帯電装置４１２と、感光体ドラム４１１を露光して静電潜像を書き込む露光装置４１３と、感光体ドラム４１１上の静電潜像をトナーにより可視像化する現像装置４１４と、が設けられている。さらに、感光体ドラム４１１上に形成された各色成分トナー像を中間転写ベルト４２０に転写する一次転写装置４１５と、感光体ドラム４１１上の残留トナーを除去するドラム清掃装置４１６と、が設けられている。
【００１８】
中間転写ベルト４２０は、複数本のロール部材４２１、４２２、４２３、４２４、４２５、４２６に掛け渡され、回転するように設けられている。これらのロール部材４２１〜４２６のうち、ロール部材４２１は、中間転写ベルト４２０を駆動するようになっている。また、ロール部材４２５は、中間転写ベルト４２０を挟んで二次転写ロール４３１に対向配置されており、これら二次転写ロール４３１およびロール部材４２５によって二次転写装置４３０が構成されている。
なお、中間転写ベルト４２０を挟んでロール部材４２１と対向する位置には、中間転写ベルト４２０上の残留トナーを除去するベルト清掃装置４２７が設けられている。
【００１９】
ここで、図１に戻って、ＣＰＵ２００のさらなる説明を行う。
図１に示すように、ＣＰＵ２００は、コア２１０、コア２２０、コア２３０およびコア２４０を持つ。すなわち、本実施の形態に係るＣＰＵ２００は複数のプロセッサコア（コア。core）を持つものであり、マルチタスクＯＳの使用により高い処理速度を実現している。なお、本実施の形態では、４つのコアを持つ構成を採用するが、複数のコアを持つ構成であれば、他の数とする構成とする例も考えられる。
【００２０】
このようなマルチコアＣＰＵ・マルチタスクＯＳで制御を行う場合、一般的に、処理すべきタスクを全てのコアに割り振る制御（ＳＭＰ(Symmetrical multi-processing)）と処理すべきタスクごとにコアを指定する制御（ＡＭＰ(Asymmetrical multi-processing)）の２つの方式があり、本実施の形態では、後者であるＡＭＰを採用する。
すなわち、画像形成装置１０００は、処理すべきタスク数が多く、また、プリント機能、スキャン機能、ファクシミリ機能やＵＩ処理、ネットワーク処理等の複数の処理の組み合わせを行う機器である。そのため、画像処理の効率上、４つのコア２１０〜２４０のうちの一部を画像処理に使用し、他のコアを画像処理以外の処理に使用するというＡＭＰの構成を採用する。本書では、画像処理に使用されるコアを「画像処理専用のコア」と呼び、画像処理以外の処理に使用されるコアを「汎用処理用のコア」と呼ぶことがある。なお、後述するように、汎用処理用のコアは、画像処理を行う場合がある。
【００２１】
図３を用いて、より詳細に説明する。同図は、ＣＰＵ２００におけるコア２１０〜２４０に対するタスクの指定の仕方を説明するブロック図であり、（ａ）は通常の場合を示し、（ｂ）は通常以外の場合（画像処理に遅延が生じている場合）を示す。
通常の場合には、図３（ａ）に示すように、ＣＰＵ２００における４つのコア２１０〜２４０のうち、コア２１０，２２０は画像処理専用のコアとされ、残りのコア２３０，２４０が汎用処理用のコアとされる。したがって、通常時の画像処理は、コア２１０，２２０を使って行われ、また、画像処理以外の他の処理は、コア２３０，２４０を使って行われる。
このようなコア２１０，２２０は、ストレージ５００の画像処理専用プログラム５１０により動作することで、画像処理専用のコアとされる。また、コア２３０，２４０は、ストレージ５００の汎用処理プログラム５２０により動作することで、汎用処理用のコアとされる。
ＣＰＵ２００のコア２１０，２２０は、第１の情報処理手段の一例であり、コア２３０，２４０は、第２の情報処理手段の一例である。ストレージ５００の画像処理専用プログラム５１０は画像処理専用プログラムの一例であり、汎用処理プログラム５２０は汎用処理プログラムの一例である。
【００２２】
図３（ｂ）に示す通常以外の場合には、コア２１０，２２０が画像処理専用のコアとされることに変わりはないが、コア２３０，２４０は、画像処理をも行う汎用処理用のコアとされる。すなわち、コア２３０，２４０は、画像処理以外の処理を行うほか、画像処理も行う。より詳細には、画像処理を画像処理専用のコア（コア２１０，２２０）で行うと処理速度が落ちている場面（ないし、処理の時間がかかっている場面）では、汎用処理用のコア（コア２３０，２４０）でも、画像処理を行うように制御する。
コア２３０，２４０は、画像処理を行わない場合には、入出力機器の制御や、ファクシミリ制御やＵＩ処理、ネットワーク処理などのそれぞれの処理の優先度をすべて同じとしたり処理ごとに優先度を決めたりしておいてもよいが、画像処理を行う場合には、画像処理の優先度を高くして実行する。
【００２３】
このような画像処理の制御を行う技術背景について説明する。
画像形成装置１０００において、入力装置１００としての画像読取装置（不図示）にセットした原稿を複写する指示操作としてのスタートボタン（不図示）を押してから、読取画像の像が形成された用紙が排出されるまでの時間が画像形成装置１０００の評価基準の一つとされ（ＦＣＯＴ(First Copy Output Time)）、このような時間が短いことが望まれる。したがって、本実施の形態に係る画像形成装置１０００では、例えば原稿サイズがＡ４であるカラーモード等の特定の設定で複写指示がなされた場合には、ＦＣＯＴを短時間にするためのモード（ＦＣＯＴモード）で動作する制御がなされる。
【００２４】
かかるＦＣＯＴモードは、読み込んだ画像データをストレージ５００（図１参照）に蓄積することなく直接出力装置４００に出力する動作モードであり、スタートボタン（不図示）が押されてから画像データが出力装置４００（図１参照）に渡されるまでの画像処理時間を含む時間を予め算出し、その時間を基に、スタートボタン（不図示）が押された後に出力装置４００が動作を開始するタイミングを設定している。言い換えると、出力装置４００は、読取画像に対する１頁分の画像処理の終了を待たずに動作を開始する。
ところが、画像処理を上述のＡＳＩＣでなく、本実施の形態のようにＣＰＵ２００で行う場合には、画像データによって処理時間にバラツキが発生する。このようなバラツキが画像処理遅延である場合には、用紙に像全体が形成されないという事態が想定される。かかる事態に対応するために、例えばＣＰＵ２００を高性能のものとする場合には、コストの削減を実現することが困難になる。また、出力装置４００の動作開始時期を遅くする場合には、ＦＣＯＴが遅くなってしまい、好ましくない。
そこで、本実施の形態では、通常時と画像処理遅延時とで、コア２３０，２４０の使い方を変える制御を行うことで、用紙に像全体が形成されないという事態の発生を抑制している。なお、各アプリケーション処理に対しすべてのコア２１０〜２４０が使用されるように自動的にコアを割り振ることで分散して処理を行うという技術では、アプリケーションの処理内容に応じたマルチコアへの割り振りを行わず、効率的なマルチコアを割り振ることが困難である。
【００２５】
以下、ＦＣＯＴモードの場合について具体的に説明する。
図４は、ＦＣＯＴモードでの画像処理を説明するブロック図である。
同図に示すように、入力装置１００としての画像読取装置では原稿を１バンド毎に順次読み取り（同図に示す原稿の左側から右側へのスキャン）、そのようにして読み取られたスキャンデータは、ＣＰＵ２００によりＲＡＭ３００の入力画像格納領域３１０に格納される。なお、図４に示すように、入力画像格納領域３１０には、原稿におけるスキャン済みの領域に対応する画像のデータが格納されている。
このようなＲＡＭ３００の入力画像格納領域３１０への格納は、ＣＰＵ２００におけるコア２１０，２２０（画像処理専用のコア）により行われるが、コア２３０，２４０（汎用処理用のコア）により行われる例も考えられる。
【００２６】
そして、ＣＰＵ２００のコア２１０，２２０は、入力画像格納領域３１０に格納されているスキャンデータを、スキャンされた順に１バンド分の画像データに対して画像処理を行う。すなわち、コア２１０，２２０は、１バンド分のスキャンデータが入力画像格納領域３１０に格納されるのを待ち、１バンド分のスキャンデータが格納されると、互いに協働ないし分担し合って、図４の入力画像格納領域３１０における破線部分で示す１バンド分のスキャンデータを画像処理する。
コア２１０，２２０は、バンド単位で画像処理されることで生成されたＹ色、Ｍ色、Ｃ色およびＫ色ごとの画像データないしイメージデータ（出力データ）を出力画像格納領域３２０に格納する。そして、コア２１０，２２０は、格納された各色のイメージデータ（出力データ）を出力装置４００の動作に合わせて、出力装置４００に転送する。
【００２７】
次に、ＦＣＯＴモードの場合の各種の処理を時間軸で説明する。
図５および図６は、ＦＣＯＴモードでの処理を説明するタイムチャートである。図５では、処理時間にバラツキが少ない場合の第１の例を示し、図６では、処理時間のバラツキが多い場合の第２の例を示す。なお、各図の縦軸は、スキャンされる際のバンドｎを単位とするラインであり、横軸は経過時間である。各図は、１頁の原稿を複写する場合を示している。
まず、図５に示すタイムチャートについて説明する。入力装置１００（例えば図１参照）により原稿を読み取るスキャン処理が開始されると（太実線で示す直線Ｌ１参照）、ＲＡＭ３００（例えば図１参照）にスキャンデータを格納するメモリ格納が開始され（破線で示す直線Ｌ２参照）、さらにＣＰＵ２００（例えば図１参照）による画像処理が行われる（破線で示す折れ線Ｌ３）。ＣＰＵ２００による画像処理が開始されるのは、１バンド分のスキャンデータのメモリ格納が行われた時点ｔ１である。
【００２８】
ＣＰＵ２００による画像処理は、折れ線Ｌ３になり、直線ではない。これは、画像処理するスキャンデータの内容によって処理時間にバラツキが生じてしまうことに起因するものであり、また、折れ線Ｌ３の水平部分は、画像処理がされておらず、スキャンデータが１バンド分メモリ格納されるのを待っている状態を示している。横軸の下側に図示するＣＰＵ２００による画像処理の様子を示す矩形部からも明らかである。なお、プログラムにより画像処理を行うＣＰＵ２００というソフトウエアによる場合には、このような待ち状態が発生し得るが、ＡＳＩＣ（不図示）というハードウェアによる場合には、処理速度ないし処理時間に合わせて動作することから、このような画像処理の待ち状態がなく、さらには、画像処理時間が変動することがない。
図５に示すように、ＣＰＵ２００（図１参照）による画像処理の平均処理時間を、細実線の直線Ｌ４で示している。
【００２９】
そして、図５に示すように、１頁分の出力データがＲＡＭ３００の出力画像格納領域３２０（図１参照）に格納される前に、所謂見切りで出力装置４００での画像形成動作（印字処理）が開始される。すなわち、まず最上流に位置するＹ色の画像形成ユニット４１０Ｙ（図２も参照）が作動し始め（短い破線で示す直線ＬＹ参照）、次に、Ｍ色の画像形成ユニット４１０Ｍが作動する（短い一点鎖線で示す直線ＬＭ参照）。その後、Ｃ色の画像形成ユニット４１０Ｃが作動し（長い一点鎖線で示す直線ＬＣ参照）、最後に、Ｋ色の画像形成ユニット４１０Ｋが作動する（長い破線で示す直線ＬＫ参照）。
【００３０】
ここで、図５を参照すると、折れ線Ｌ３が直線ＬＹと交差せず、時間軸（横軸）で見ると、常に折れ線Ｌ３が直線ＬＹよりも先行している。これは、４つの画像形成ユニット４１０Ｙ，４１０Ｍ，４１０Ｃ，４１０Ｋのうち一番目に画像形成動作を開始するＹ色の画像形成ユニット４１０Ｙにおける印字処理が行われる前に、ＣＰＵ２００による画像処理が行われていることを意味する。
言い換えると、図５に示す折れ線Ｌ３と直線ＬＹとの間における横軸方向の距離は、入力装置１００での１バンド分について、ＣＰＵ２００により出力データが生成されてから出力装置４００によりＹ色が印字されるまでの間の時間差に相当するものである。したがって、このような時間差があるということは、出力装置４００が印字しようとするときには出力データがＲＡＭ３００から取得していることになり、出力データの取得が印字タイミングに間に合わないという所謂絵切れは、発生していない。さらに説明すると、ここにいう時間差は、絵切れしないための時間的なマージンであるということができる。
【００３１】
このため、図５に示す場合には、ＣＰＵ２００における画像処理は、ＣＰＵ２００のコア２１０，２２０により行われ、コア２３０，２４０では行われていない（図３（ａ）参照）。すなわち、画像処理専用のコアであるコア２１０，２２０という２つのコアだけの画像処理でも絵切れは発生しないので、汎用処理用のコアであるコア２３０，２４０が画像処理を行うという制御をする必要がない。
【００３２】
次に、画像処理がコア２１０，２２０（例えば図１参照）のみならず、コア２３０，２４０（例えば図１参照）により行われる場合を、図６を用いて説明する。上述したように、図６の縦軸は図５と同じくラインであり、図６の横軸は図５と同じく経過時間である。なお、図６を説明する場合、図５と重複する部分についてはその説明を省略することがある。
【００３３】
図６に示すグラフにおいて、ＣＰＵ２００による画像処理の状態を示す折れ線Ｌ３と平均処理時間を示す直線Ｌ４との相対的な位置関係を観察すると、折れ線Ｌ３が直線Ｌ４よりも左側に位置する部分がある。具体的には、図６におけるｎラインの場合および３ｎラインの場合である。
このような場合では、ＣＰＵ２００のコア２１０，２２０による画像処理が平均処理時間よりも早く終えたことを示す。
【００３４】
また、図６に示すグラフにおいて、折れ線Ｌ３が直線Ｌ４から大きく離れて右側に位置する部分がある。具体的には、同図における６ｎラインの場合である。
このような場合には、ＣＰＵ２００のコア２１０，２２０による画像処理が平均処理時間よりも遅れて終了したことを示す。すなわち、この段階では、コア２１０，２２０による画像処理（２コア時）に遅れが生じており、図６の折れ線Ｌ３から連続して図示される折れ線Ｌ３１に示すように、画像処理が出力装置４００による印字処理に間に合わずに絵切れ（折れ線Ｌ３１と直線ＬＹとの交差を参照）の可能性が高まっている。
【００３５】
そこで、ＣＰＵ２００は、図６に太い実線で図示する折れ線Ｌ３２のように、画像処理で使用するコア数を増やす制御を行う。このようなコア数を増やす制御を行う条件の一例としては、１バンド分の画像処理の終了時に処理開始からの累計処理時間と累計平均処理時間とを比較し、遅れていた場合に画像処理に使用するコア数を増やすことを挙げることができる。
さらに説明すると、ＣＰＵ２００は、次のラインすなわち７ｎラインの場合の画像処理を、コア２１０，２２０のみならず、コア２３０，２４０でも行うようにする（４コア時）。すなわち、コア２３０，２４０を、一時的に画像処理を行うコアとする（図３（ｂ）参照）。より詳細には、コア２３０，２４０は、他の処理よりも優先して画像処理を優先的に行うことになる。
２コア時から４コア時への移行は、次の１バンド分の画像処理を開始するタイミングで行われる。
【００３６】
なお、ＣＰＵ２００において画像処理に割り当てるコア数を増やした場合、その後のコア数制御として、ページ処理中にコア数を減らす制御をしていない。このような制御のほか、画像処理の遅れを取り戻した場合には、コア数を減らして元に戻す制御を行うことも考えられる。そのようなコア数を減らす制御は、次の１バンド分の画像処理を開始するタイミングで行うほか、１バンド分の画像処理を行っている間に実行する。
【００３７】
図７は、画像処理を行うコア数が増えた場合の処理を説明する図であり、（ａ）は、画像処理をコア２１０，２２０で行う２コア時であり、（ｂ）はコア２１０〜２４０で行う４コア時である。
２コア時には、１バンド分のスキャンデータを部分的にコア２１０，２２０が交互に受け持って画像処理を行う。すなわち、図７（ａ）に示すように、スキャンデータを読み込み順にｍ個に分けた場合、１番目（奇数番号）のラインについての画像処理をコア２１０が受け持ち、２番目（偶数番号）のラインについての画像処理をコア２２０が受け持つ。以降同様に、コア２１０，２２０が順に交互に受け持つ。
【００３８】
また、４コア時には、１バンド分のスキャンデータを部分的にコア２１０〜２４０が順に受け持って画像処理を行う。すなわち、図７（ｂ）に示すように、スキャンデータをｍ個に分けた１番目のラインについての画像処理をコア２１０が受け持ち、２番目のラインについての画像処理をコア２２０が受け持ち、３番目のラインについての画像処理をコア２３０が受け持ち、４番目のラインについての画像処理をコア２４０が受け持つ。そして、５番目のラインはコア２１０が受け持つというように、コア２１０〜２４０が順に画像処理を受け持つ。
このため、４コア時には、コア２３０，２４０は画像処理を最優先で行い、画像処理以外の他の処理が遅れることになる。
【００３９】
次に、ＣＰＵ２００におけるコア数制御についての処理手順を説明する。
図８は、ＣＰＵ２００におけるコア数制御についての処理手順を説明するフローチャートである。なお、図８では、コア２１０〜２４０を破線で囲んでいるが、画像処理を実行するものを囲む破線を太い線で示し、画像処理以外の他の処理を実行するものを囲む破線を細い線で示している。
図８に示す処理手順では、入力装置１００で原稿のスキャンが開始されると（Ｓ１１）、ＣＰＵ２００は、１バンド単位で原稿の画像を取得し、取得した原稿画像を１バンド単位で画像処理する。より詳細には、ＣＰＵ２００は、原稿画像のうち１バンド分の画像がＲＡＭ３００の入力画像格納領域３１０（図１参照）に格納されるのを待ち合わせ（Ｓ１２）、その後、画像処理専用のコアであるコア２１０，２２０で画像処理を実行する（Ｓ１３）。
【００４０】
このように、ＣＰＵ２００は、１バンド分の画像を取得したタイミングで画像処理を開始する。この段階での画像処理は、コア２１０，２２０のみで行われ（図７（ｂ）も参照）、汎用処理用のコアであるコア２３０，２４０は、画像処理を実行せず、画像処理以外の処理を実行する。したがって、コア２１０，２２０は、１バンド分の画像データ取得を完了するとその画像データについて画像処理を開始する。言い換えると、ＣＰＵ２００のコア２１０，２２０は、取得タイミングで画像処理を行う。
付言すると、最初に取得した１バンド分の画像データについての画像処理を行うのは、画像処理専用のコアであるコア２１０，２２０であり、また、それ以降に取得した１バンド分の画像データを画像処理するのは、コア２１０，２２０だけの場合があり（２コア時）、また、コア２１０〜２４０の場合もある（４コア時）。
【００４１】
画像処理の実行中には、処理時間を計測しており、また、処理時間を閾値と比較している（Ｓ１４）。すなわち、処理時間が閾値を下回っているか否かを判断する。ここにいう閾値は、例えば入力装置１００のスキャン速度（読み取り速度）や出力装置４００の処理速度、ＣＰＵ２００（コア２１０〜２４０）の処理性能、画像処理の種別（例えば、カラー出力と白黒出力の別）に基づき算出する。なお、閾値として、予めテーブルとして保持する構成例も考えられる。
【００４２】
ここで、比較対象としての処理時間は、１バンド分の画像に対して画像処理を行う場合の処理時間とすることができる。また、本実施の形態では、閾値と比較する比較対象が処理時間であるが、これに限られず、例えば画像処理速度等の値とすることも考えられる。
ここにいう処理時間や画像処理速度等の値は、画像形成に関する値の一例である。また、処理時間が閾値を下回っているか否かという判断基準は、予め定められた条件の一例である。
【００４３】
計測した処理時間が閾値を下回っている場合（Ｓ１５でＹｅｓ）、ＣＰＵ２００は、画像処理に割り当てるコア数を増やす（Ｓ１６）。すなわち、コア２１０，２２０のみならず、汎用処理用のコアであるコア２３０およびコア２４０も画像処理に割り当てられ、これにより、画像処理がコア２１０〜２４０により実行され（図７（ｂ）も参照）、処理時間の遅れが取り戻される。
なお、コア数を増やすタイミングとしては、１バンド分の画像に対する画像処理を開始するタイミングとすることができる。
【００４４】
そして、ＣＰＵ２００は、画像処理すべき原稿の画像について画像処理が完了したか否かを判断し（Ｓ１７）、完了していなければ（Ｓ１７でＮｏ）、ステップ１２に戻って処理を継続する。
画像処理完了の場合（Ｓ１７でＹｅｓ）、画像処理に割り当てるコア数を増やしていれば（Ｓ１８でＹｅｓ）、元に戻し（Ｓ１９）、処理を終了する。また、コア数を増やしていなければ（Ｓ１８でＮｏ）、処理を終了する。
なお、増やしたコア数を元に戻すタイミングとしては、１バンド分の画像に対する画像処理を終了したタイミングとすることが考えられ、また、１バンド分の画像に対する画像処理中のタイミングとすることも考えられる。すなわち、コア２３０，２４０が画像処理を終了するのは、コア２１０，２２０と共に行っている１バンド分の画像に対する画像処理が終了するタイミングの場合が考えられ、また、他のタイミングの場合も考えられる。
【００４５】
次に、上述した図８の場合とは別の処理手順について説明する。
図９は、ＣＰＵ２００におけるコア数制御についての別の処理手順を説明するフローチャートである。なお、図９の処理内容は、上述の図８の場合と共通する内容を含むことから、図９での説明を省略することがある。具体的には、図９のＳ２１〜Ｓ２８は、図８におけるＳ１１〜Ｓ１８に対応するものである。なお、図９におけるコア２１０〜２４０を囲む破線についての太い線および細い線の使い分けは、図８の場合と同じである。
図９に示す別の処理手順では、画像処理に割り当てるコア数を増やした場合（Ｓ２８でＹｅｓ）、画像処理専用コアであるコア２１０，２２０を逆に、画像処理以外の処理に割り当てる（Ｓ２９）。これにより、画像処理を優先するために一時的に中断したコア２３０，２４０による他の処理に４つのコアで対応することから、処理遅れを速やかに挽回することができる。
【００４６】
そして、ＣＰＵ２００は、使用率の情報を取得ないし算出し、そのＣＰＵ使用率がα％未満であるか否かを判断する（Ｓ３０）。ＣＰＵ使用率がα％未満である場合は（Ｓ３０でＹｅｓ）、画像処理以外の他の処理に対するＣＰＵ使用率が下がったことから、コア２１０，２２０の割り当てをやめる（Ｓ３１）。また、ＣＰＵ使用率がα％以上であると（Ｓ３０でＮｏ）、ＣＰＵ使用率を監視し続ける。
なお、このような割り当ての取りやめを行うタイミングとして、次の画像処理を開始するときとすることも考えられる。
【００４７】
なお、本実施の形態では、処理時間を閾値と比較し、処理時間が閾値を下回った場合に画像処理に割り当てるコア数を増やす制御を採用するが、これに限らず、このような閾値を下回る回数をカウントし、あらかじめ定められた値、例えば３回に達するとコア数を増やす制御とすることも考えられる。
また、判断対象を処理時間ではなく平均処理速度とする例も考えられる。例えば、画像処理における平均処理速度を算出し、平均処理速度が閾値を下回った場合に、コア数を増やす制御や、平均処理速度が閾値を下回った回数が例えば３回に達するとコア数を増やす制御等が考えられる。このような回数制限を用いる制御を採用する場合、連続回数とする例や累積回数とする例などが考えられる。
【００４８】
なお、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００４９】
１００…入力装置、２１０，２２０，２３０，２４０…コア、４００…出力装置、５１０…画像処理専用プログラム、５２０…汎用処理プログラム、１０００…画像形成装置
【図１】
2018062157.tif 000003
【図２】
2018062157.tif 000004
【図３】
2018062157.tif 000005
【図４】
2018062157.tif 000006
【図５】
2018062157.tif 000007
【図６】
2018062157.tif 000008
【図７】
2018062157.tif 000009
【図８】
2018062157.tif 000010
【図９】
2018062157.tif 000011