(57)【要約】【課題】複数のジョブを並列で実行することに起因するジョブの中断の発生を低減することができる複合機を提供する。【解決手段】ＭＦＰ１００は、スキャンジョブ及び他のジョブを並列で実行する際の画像バス１１２のデータ転送量が転送可能な上限値を超える場合、スキャンジョブに対応する複数の画像関連処理のうち、一部の画像関連処理を異なるタイミングで実行する。【選択図】図７
2020010253.tif 000002
【特許請求の範囲】
【請求項１】
１つの画像バスを備え、前記画像バスを介した画像データの転送を伴う複数の画像関連処理を並列で実行するジョブを当該ジョブと異なる他のジョブと並列で実行する複合機であって、
前記ジョブに対応する複数の画像関連処理の実行を制御する制御手段と、
前記ジョブ、及び前記他のジョブを並列で実行する際の前記画像バスのデータ転送量が予め定められた前記画像バスの転送可能な上限値を超えるか否かを判別する判別手段とを備え、
前記ジョブ、及び前記他のジョブを並列で実行する際の前記画像バスのデータ転送量が前記転送可能な上限値を超える場合、前記制御手段は、前記ジョブに対応する複数の画像関連処理のうち、一部の画像関連処理を異なるタイミングで実行することを特徴とする複合機。
【請求項２】
前記ジョブは、スキャンジョブであることを特徴とする請求項１記載の複合機。
【請求項３】
前記スキャンジョブに対応する画像データを読み取るスキャナ、前記スキャナが読み取った画像データに画像処理を施す画像処理手段、前記画像データを一時的に記憶する記憶手段、及び前記画像データを印刷する印刷手段を更に備え、
前記画像処理手段は、前記スキャナ、前記記憶手段、及び印刷手段と前記画像バスを介して画像データの転送を行うことを特徴とする請求項２記載の複合機。
【請求項４】
前記ジョブ、及び前記他のジョブを並列で実行する際の前記画像バスのデータ転送量が前記転送可能な上限値を超える場合、前記制御手段は、前記ジョブに対応する複数の画像関連処理のうち、前記画像処理手段が前記画像データを前記スキャナから取得し且つ当該画像データを前記記憶手段に書き込む画像データ書込処理を他の画像関連処理より先に実行することを特徴とする請求項３記載の複合機。
【請求項５】
前記ジョブ、及び前記他のジョブを並列で実行する際の前記画像バスのデータ転送量が前記転送可能な上限値を超える場合、前記制御手段は、前記ジョブに対応する複数の画像関連処理のうち、前記画像処理手段が前記画像データを前記スキャナから取得し且つ当該画像データを前記記憶手段に書き込む画像データ書込処理、及び前記記憶手段に書き込む画像データを圧縮する圧縮処理を他の画像関連処理より先に実行することを特徴とする請求項３記載の複合機。
【請求項６】
１つの画像バスを備え、前記画像バスを介した画像データの転送を伴う複数の画像関連処理を並列で実行するジョブを当該ジョブと異なる他のジョブと並列で実行する複合機の制御方法であって、
前記ジョブに対応する複数の画像関連処理の実行を制御する制御ステップと、
前記ジョブ、及び前記他のジョブを並列で実行する際の前記画像バスのデータ転送量が予め定められた前記画像バスの転送可能な上限値を超えるか否かを判別する判別ステップとを有し、
前記ジョブ、及び前記他のジョブを並列で実行する際の前記画像バスのデータ転送量が前記転送可能な上限値を超える場合、前記制御ステップは、前記ジョブに対応する複数の画像関連処理のうち、一部の画像関連処理を異なるタイミングで実行することを特徴とする複合機の制御方法。
【請求項７】
１つの画像バスを備え、前記画像バスを介した画像データの転送を伴う複数の画像関連処理を並列で実行するジョブを当該ジョブと異なる他のジョブと並列で実行する複合機の制御方法をコンピュータに実行させるプログラムであって、
前記複合機の制御方法は、
前記ジョブに対応する複数の画像関連処理の実行を制御する制御ステップと、
前記ジョブ、及び前記他のジョブを並列で実行する際の前記画像バスのデータ転送量が予め定められた前記画像バスの転送可能な上限値を超えるか否かを判別する判別ステップとを有し、
前記ジョブ、及び前記他のジョブを並列で実行する際の前記画像バスのデータ転送量が前記転送可能な上限値を超える場合、前記制御ステップは、前記ジョブに対応する複数の画像関連処理のうち、一部の画像関連処理を異なるタイミングで実行することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合機及びその制御方法、並びにプログラムに関する。
【背景技術】
【０００２】
スキャン機能やプリント機能等の複数の機能を備える複合機（ＭＦＰ）が知られている。ＭＦＰは、Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌの略である。ＭＦＰでは、スキャン機能における複数の読み取り速度が設けられ、用途に応じて読み取り速度の使い分けが行われる（特許文献１参照）。
【０００３】
ＭＦＰは、該ＭＦＰのスキャナ部やプリント部を制御する制御部を備え、制御部は、メインメモリ、及び画像データに対して異なる画像処理を施す複数の画像処理ＡＳＩＣを備える。各画像処理ＡＳＩＣは、メインメモリを共有し、１つの画像バスを介してメインメモリと画像データの送受信を行う。例えば、スキャンジョブを実行する場合、スキャンジョブに関する画像処理を行う複数の画像処理ＡＳＩＣが、１つの画像バスを介してメインメモリと画像データの送受信を並列で行う。画像バスには、単位時間当たりに転送可能な最大データ量を示す転送可能な上限値が定められているが、或る程度の数の画像処理ＡＳＩＣが、上記画像バスを介してメインメモリとデータ転送を並列で行っても、上記転送可能な上限値を超えることはない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１５３５２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のＭＦＰでは、複数のジョブ、例えば、スキャンジョブと、画像バスのデータ転送を伴う他のジョブを並列で実行すると、多数の画像処理ＡＳＩＣが、上記画像バスを介してメインメモリとデータ転送を並列で行うことになる。このため、画像バスにおける単位時間当たりのデータ転送量が増え、画像バスのデータ転送量が転送可能な上限値を超えてしまうことがある。画像バスのデータ転送量が転送可能な上限値を超えると、各画像処理ＡＳＩＣ及びメインメモリの間のデータ転送が遅延又は停止してしまい、スキャンジョブや他のジョブの実行が中断してしまう。
【０００６】
本発明の目的は、複数のジョブを並列で実行することに起因するジョブの中断の可能性を低減することができる複合機及びその制御方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の複合機は、１つの画像バスを備え、前記画像バスを介した画像データの転送を伴う複数の画像関連処理を並列で実行するジョブを当該ジョブと異なる他のジョブと並列で実行する複合機であって、前記ジョブに対応する複数の画像関連処理の実行を制御する制御手段と、前記ジョブ、及び前記他のジョブを並列で実行する際の前記画像バスのデータ転送量が予め定められた前記画像バスの転送可能な上限値を超えるか否かを判別する判別手段とを備え、前記ジョブ、及び前記他のジョブを並列で実行する際の前記画像バスのデータ転送量が前記転送な可能上限値を超える場合、前記制御手段は、前記ジョブに対応する複数の画像関連処理のうち、一部の画像関連処理を異なるタイミングで実行することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数のジョブを並列で実行することに起因するジョブの中断の可能性を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る画像形成装置としてのＭＦＰの構成を概略的に示すブロック図である。
【図２】図１のスキャナ部におけるＤＦ部の内部構造を示す側面図である。
【図３】図１のスキャナ部におけるスキャナ制御ユニットの構成を概略的に示すブロック図である。
【図４】図１の画像処理部の構成を概略的に示すブロック図である。
【図５】図１のＭＦＰによって実行されるスキャンジョブに対応する画像関連処理の組み合せの一例を示すイメージである。
【図６】図４の各ＡＳＩＣによる処理が実行されるタイミングを説明するためのイメージ図である。
【図７】図１のＭＦＰによって実行される読取制御処理の手順を示すフローチャートである。
【図８】図１のＭＦＰで管理されるデータ転送量管理情報の一例を示す図である。
【図９】図１のＭＦＰで管理されるデータ転送量管理情報の他の例を示す図である。
【図１０】図１のＭＦＰによって実行されるスキャンジョブに対応する画像関連処理の組み合せの他の例を示すイメージである。
【図１１】図４の各ＡＳＩＣによる処理が実行されるタイミングを説明するためのイメージ図である。
【図１２】図６の読取制御処理の変形例の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照しながら詳述する。
【００１１】
図１は、本発明の実施の形態に係る画像形成装置としてのＭＦＰ１００の構成を概略的に示すブロック図である。ＭＦＰは複合機ともいう。  図１において、ＭＦＰ１００は、制御部１０１、蓄積メモリ１０５、操作部１０９、スキャナ部１１４、及びプリンタ部１１５を備える。制御部１０１は、蓄積メモリ１０５、操作部１０９、スキャナ部１１４、及びプリンタ部１１５と接続されている。また、制御部１０１は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、ＬＡＮＩ／Ｆ部１０６、回線Ｉ／Ｆ部１０７、操作部制御部１０８、ＩＯ制御部１１０、及び画像処理部１１３を備える。ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、ＬＡＮＩ／Ｆ部１０６、回線Ｉ／Ｆ部１０７、操作部制御部１０８、及びＩＯ制御部１１０は、システムバス１１１を介して互いに接続されている。画像処理部１１３は、画像バス１１２を介してＩＯ制御部１１０と接続されている。
【００１２】
制御部１０１は、ＭＦＰ１００の全体を統括的に制御する。ＣＰＵ１０２は、ＲＯＭ１０３や蓄積メモリ１０５に格納されたプログラムを実行してＭＦＰ１００のソフトウェアモジュール（不図示）に各処理を実行させる。ＲＯＭ１０３は、システムのブートプログラム等を記憶する。ＲＡＭ１０４は、ＣＰＵ１０２がＭＦＰ１００のソフトウェアモジュール（不図示）を実行するためのシステムワークメモリエリアである。また、ＲＡＭ１０４は、画像データを処理する際にデータを一時的に記憶するための画像メモリである。蓄積メモリ１０５は、ＨＤＤ（ハードディスク）やＳＳＤ（ＳｏｌｉｄＳｔａｔｅＤｒｉｖｅ）で構成され、内部ストレージとして使用される。蓄積メモリ１０５には、例えば、ＭＦＰ１００の各機能を実現するためのシステムソフトウェアモジュールや、ＲＡＭ１０４から転送された画像データが記憶される。
【００１３】
ＬＡＮＩ／Ｆ部１０６は、ＭＦＰ１００をＬＡＮに接続するためのＩ／Ｆである。ＬＡＮＩ／Ｆ部１０６は、ＬＡＮに接続された外部装置とデータ通信を行う。回線Ｉ／Ｆ部１０７は、ＭＦＰ１００をＷＡＮに接続するためのＩ／Ｆである。回線Ｉ／Ｆ部１０７は、ＷＡＮに接続された外部装置とデータ通信を行う。操作部制御部１０８は、制御部１０１及び操作部１０９のＩ／Ｆである。例えば、操作部制御部１０８は、ＶＧＡ信号を操作部１０９に出力し、該ＶＧＡ信号に対応する画像を操作部１０９に表示させる。また、操作部制御部１０８は、ユーザが操作部１０９で入力した情報をＣＰＵ１０２に出力する。操作部１０９は、ＬＣＤタッチパネル等で構成される。操作部１０９は、操作部制御部１０８から出力されるＶＧＡ信号を解釈して該ＶＧＡ信号に対応する画像を表示する。
【００１４】
ＩＯ制御部１１０は、システムバス１１１と画像バス１１２とを接続し、システムバス１１１のデータ構造を変換するバスブリッジである。画像バス１１２は、ＰＣＩバス、ＩＥＥＥ１３９４、及びＰＣＩＥｘ等の汎用バスで構成され、画像データを高速で転送する。画像バス１１２には、ＩＯ制御部１１０及び画像処理部１１３の他に、スキャナ部１１４及びプリンタ部１１５が接続されている。画像バス１１２は、画像データの同期系／非同期系の変換を行う。画像処理部１１３は、後述する図４に示すように、複数のＡＳＩＣで構成される。画像処理部１１３は、画像データに対し、解像度変換処理、圧縮処理、伸張処理、及び２値多値変換処理等の画像処理を施す。スキャナ部１１４は、図２のＤＦ（ＤｏｃｕｍｅｎｔＦｅｅｄｅｒ）部２００及び図３のスキャナ制御ユニット３００を備える。スキャナ部１１４は、原稿を読み取って画像データを生成する。プリンタ部１１５は、スキャナ部１１４が生成した画像データを印刷する。
【００１５】
図２は、図１のスキャナ部１１４におけるＤＦ部２００の内部構造を示す側面図である。なお、図２では、理解を容易にするために内部の構成が透過して示される。
【００１６】
ＤＦ部２００には、原稿を載置するための原稿トレイ２０１が設けられている。原稿トレイ２０１には、ドキュメントセンサ２０２、２つの原稿ガイド２０３、及び原稿サイズ検知センサ２０４が設けられている。ドキュメントセンサ２０２は、原稿が原稿トレイ２０１に載置されているか否かを検知する。２つの原稿ガイド２０３は、原稿の搬送方向に直交する方向に沿って対向するように配置されている。原稿トレイ２０１に載置された原稿は、ピックアップローラ２０５、搬送ローラ２０７、及び排紙ローラ２０８の３つのローラによって搬送される。ピックアップローラ２０５は、原稿トレイ２０１に載置された原稿をＤＦ部２００の原稿搬送路（不図示）へ搬送する。ピックアップローラ２０５によって搬送された原稿は、原稿通過検知センサ２０６によって検出される。ＤＦ部２００では、原稿通過検知センサ２０６によって検出した時間に基づいて１枚目の原稿が通過を終了したか否かが判別される。搬送ローラ２０７は、ピックアップローラ２０５によって原稿搬送路に搬送された原稿を排紙ローラ２０８へ搬送する。排紙ローラ２０８は、搬送ローラ２０７によって搬送された原稿を排紙トレイ２０９に搬送する。なお、ピックアップローラ２０５、搬送ローラ２０７、及び排紙ローラ２０８は、ステッピングモータ（不図示）によって駆動される。
【００１７】
上記原稿搬送路に搬送された原稿は、当該原稿搬送路に設けられる透明なＤＦ読み取り窓２１０を通過した際にセンサユニット２１１によって読み取られる。センサユニット２１１は、ＣＩＳ２１２で構成され、上記原稿搬送路に搬送された原稿をＤＦ読み取り窓２１０を通して読み取り可能な位置に配置される。センサユニット２１１は、副走査方向に自由に移動可能である。例えば、センサユニット２１１は、搬送ローラ２０７から排紙ローラ２０８へ搬送された原稿の搬送方向と同じ方向に移動する。なお、ＤＦ読み取り窓２１０は、副走査方向に或る程度の長さを有する。ＣＩＳ２１２は、その長さの範囲内で任意の位置に移動し、移動した位置で原稿を読み取ることができる。ＣＩＳ２１２は、ＣＣＤ等の複数の光電変換素子で構成される。ＣＩＳ２１２では、光電変換素子が一列に配列されている。ＣＩＳ２１２は、各光電変換素子の画像を蓄積するためのＦＩＦＯや光電変換素子を制御するための制御信号を生成する。
【００１８】
図３は、図１のスキャナ部１１４におけるスキャナ制御ユニット３００の構成を概略的に示すブロック図である。
【００１９】
図３において、スキャナ制御ユニット３００は、ＣＰＵ３０１、ＲＯＭ３０２、ＣＬＫ制御部３０３、モータコントローラ３０４、ＣＣＤ制御部３０６、及びＲＡＭ３０７を備える。
【００２０】
スキャナ制御ユニット３００は、ＲＯＭ３０２に記憶されたスキャナ部制御アプリケーションプログラムをＣＰＵ３０１に実行させることによってスキャナ部１１４の動作を制御する。スキャナ部制御アプリケーションプログラムは、スキャナ制御ユニット３００を制御するスキャナ部制御アプリケーション（不図示）を起動するためのプログラムである。なお、本実施の形態では、ＣＰＵ３０１がスキャナ部制御アプリケーションプログラムを実行する場合について説明するが、スキャナ部制御アプリケーションプログラムを実行するデバイスはＣＰＵ３０１に限られない。例えば、制御部１０１のＣＰＵ１０２がスキャナ部制御アプリケーションプログラムを実行することによってスキャナ部１１４の動作を制御しても良い。
【００２１】
ＣＬＫ制御部３０３は、スキャナ制御ユニット３００を構成する各デバイスにクロックを提供する。ＣＬＫ制御部３０３は、クロックを生成する水晶振動子（不図示）及びＰＬＬで構成される。ＰＬＬは、水晶振動子が生成したクロックを逓倍又は分周する。ユーザからスキャンの実行指示を受け付けると、スキャナ部１１４では、ＣＬＫ制御部３０３が、モータコントローラ３０４、ＣＣＤ制御部３０６、及びＲＡＭ３０７にクロックを出力する。例えば、モータコントローラ３０４は、ＣＬＫ制御部３０３から受けたクロックに基づいてローラ３０５を回転させるモータ（不図示）の制御クロックを生成する。スキャンの実行指示には、カラー／モノクロ区別や解像度等の情報が含まれ、スキャナ部制御アプリケーションは、指示の内容に基づいてＣＬＫ制御部３０３のＰＬＬの設定を変更する。ＣＬＫ制御部３０３は、出力するクロックの周波数をＰＬＬの設定に基づいて制御する。これにより、スキャナ部１１４の読み取り速度が変更される。ＲＡＭ３０７は、ＣＩＳ２１２が読み取った画像データを蓄積する。ＲＡＭ３０７の容量は、数ページ分の画像データのみを記憶可能な程度の小容量である。
【００２２】
図４は、図１の画像処理部１１３の構成を概略的に示すブロック図である。画像処理部１１３は、画像データに対して異なる画像関連処理を施す複数のＡＳＩＣで構成される。本実施の形態では、一例として、図４に示すように、画像処理部１１３が、スキャンＡＳＩＣ４０１、画像処理ＡＳＩＣ４０２〜４０４、及びプリントＡＳＩＣ４０５で構成される場合について説明する。
【００２３】
スキャンＡＳＩＣ４０１は、画像データ書込処理を行う。画像データ書込処理では、スキャンＡＳＩＣ４０１が、スキャナ部１１４で読み取った画像データをスキャナ部１１４から画像バス１１２を介して取得し、取得した画像データをＲＡＭ１０４に画像バス１１２を介して書き込む。画像処理ＡＳＩＣ４０２は、画像データに対して解像度変換処理を施す。解像度変換処理では、画像処理ＡＳＩＣ４０２が、画像データをＲＡＭ１０４から画像バス１１２を介して取得し、取得した画像データに対して解像度変換や色変換等の画像処理を施す。さらに、画像処理ＡＳＩＣ４０２が、当該画像処理を施した画像データをＲＡＭ１０４に画像バス１１２を介して書き込む。画像処理ＡＳＩＣ４０３は、画像データをＲＡＭ１０４から画像バス１１２を介して取得し、取得した画像データに対して圧縮処理又は伸張処理を施す。さらに、画像処理ＡＳＩＣ４０３は、圧縮処理又は伸張処理を施した画像データをＲＡＭ１０４に画像バス１１２を介して書き込む。
【００２４】
画像処理ＡＳＩＣ４０４は、画像データをＲＡＭ１０４から画像バス１１２を介して取得し、取得した画像データに対して２値多値変換処理を施す。さらに、画像処理ＡＳＩＣ４０４は、２値多値変換処理を施した画像データをＲＡＭ１０４に画像バス１１２を介して書き込む。プリントＡＳＩＣ４０５は、印刷画像送信処理を行う。印刷画像送信処理では、プリントＡＳＩＣ４０５が、画像データをＲＡＭ１０４から画像バス１１２を介して取得し、取得した画像データをプリンタ部１１５へ画像バス１１２を介して転送する。本実施の形態では、上述したように、各ＡＳＩＣが、ＲＡＭ１０４を共有し、１つの画像バス１１２を介してＲＡＭ１０４と画像データの送受信を行う。
【００２５】
ＭＦＰ１００は、画像処理部１１３を使用するジョブを受け付けると、受け付けたジョブの種別に対応する画像関連処理を並列で実行する。例えば、受け付けたジョブがプリントジョブである場合、ＭＦＰ１００は、画像処理ＡＳＩＣ４０４による２値多値変換処理、及びプリントＡＳＩＣ４０５による印刷画像送信処理を並列で実行する。また、受け付けたジョブがスキャンジョブである場合、ＭＦＰ１００は、スキャンＡＳＩＣ４０１による画像データ書込処理、画像処理ＡＳＩＣ４０２による解像度変換処理、及び画像処理ＡＳＩＣ４０３による圧縮処理を並列で実行する。このとき、画像バス１１２において、スキャンＡＳＩＣ４０１、及び画像処理ＡＳＩＣ４０２、４０３による画像データの転送が並列で行われる。画像バス１１２には、単位時間当たりに転送可能な最大データ量を示す転送可能な上限値が定められているが、1つのジョブを実行するだけであれば、ジョブの種別に関わらず、画像バス１１２のデータ転送量が転送可能な上限値を超えることはない。ところが、複数のジョブ、例えば、スキャンジョブ及びプリントジョブを並列で実行すると、上述した全てのＡＳＩＣが、画像バス１１２を介してＲＡＭ１０４とデータ転送を並列で行うことになる。このため、画像バス１１２における単位時間当たりのデータ転送量が増え、画像バス１１２のデータ転送量が転送可能な上限値を超えてしまう。画像バス１１２のデータ転送量が転送可能な上限値を超えると、各ＡＳＩＣ及びＲＡＭ１０４の間のデータ転送が遅延又は停止してしまい、スキャンジョブやプリントジョブの実行が中断してしまう。
【００２６】
これに対応して本実施の形態では、スキャンジョブ及び他のジョブを並列で実行する際の画像バス１１２のデータ転送量が転送可能な上限値を超える場合、スキャンジョブに対応する複数の画像関連処理のうち一部の画像関連処理を異なるタイミングで実行する。具体的に、図５に示すように、画像データ書込処理を先に実行し、画像データ書込処理の実行を完了後に、解像度変換処理及び圧縮処理を実行する。
【００２７】
図６は、図４の各ＡＳＩＣによる処理が実行されるタイミングを説明するためのイメージ図である。
【００２８】
図６において、ＭＦＰ１００は、４ページの画像データをスキャンするスキャンジョブを受け付けた場合、スキャン１ページ目の画像データに対し、画像データ書込処理６０１、解像度変換処理６０２、及び圧縮処理６０３を並列で実行する。その後、ＭＦＰ１００は、プリントジョブを受け付けると、スキャンジョブの２〜４ページ目の画像データに対し、画像データ書込処理６０１の実行を継続する一方で、解像度変換処理６０２及び圧縮処理６０３を中断する。このようにして、ＭＦＰ１００は、スキャンジョブにおける単位時間当たりの画像バス１１２のデータ転送量を抑制し、スキャンジョブ及びプリントジョブを並列で実行する際の画像バス１１２のデータ転送量が転送可能な上限値を超えないように制御する。また、ＭＦＰ１００は、プリントジョブの１〜６ページ目の画像データに対する２値多値変換処理６０４及び印刷画像送信処理６０５を、スキャンジョブの２〜４ページ目の画像データに対する画像データ書込処理６０１と並列で実行する。その後、ＭＦＰ１００は、スキャンジョブの全ページの画像データに対する画像データ書込処理６０１を完了すると、スキャンジョブの残りのページの画像データに対し、中断していた解像度変換処理６０６及び圧縮処理６０７を再開する。
【００２９】
図７は、図１のＭＦＰ１００によって実行される読取制御処理の手順を示すフローチャートである。図７の処理は、ＣＰＵ１０２がＲＯＭ１０３等に記憶されたプログラムを実行することによって行われる。図７の処理は、受け付けたスキャンジョブにおける画像データの読み取りを開始する際に実行される。例えば、受け付けたスキャンジョブが複数ページの画像データを読み取るスキャンジョブである場合、各ページの画像データの読み取りの開始に応じて図７の処理が実行される。
【００３０】
図７において、まず、ＣＰＵ１０２は、受け付けたスキャンジョブにおける一のページの画像データの処理を開始し、実行中又は実行待ちの他のジョブの有無を判別する（ステップＳ７０１）。
【００３１】
ステップＳ７０１の判別の結果、実行中の他のジョブ及び実行待ちの他のジョブの何れも有しないとき、ＣＰＵ１０２は、第１の読取処理を実行する（ステップＳ７０２）。第１の読取処理では、画像処理部１１３においてスキャンジョブの実行に必要なスキャンＡＳＩＣ４０１、画像処理ＡＳＩＣ４０２、４０３の全てが動作する。第１の読取処理では、一のページの画像データに対し、スキャンＡＳＩＣ４０１による画像データ書込処理、画像処理ＡＳＩＣ４０２による解像度変換処理、及び画像処理ＡＳＩＣ４０３による圧縮処理が並列で実行される。その後、ＣＰＵ１０２は、本処理を終了する。
【００３２】
ステップＳ７０１の判別の結果、実行中又は実行待ちの他のジョブを有するとき、ＣＰＵ１０２は、第１の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えるか否かを判別する（ステップＳ７０３）。本実施の形態では、図８のデータ転送量管理情報８０１及び転送可能上限値を示す情報がＲＯＭ１０３に格納されている。データ転送量管理情報８０１は、各ＡＳＩＣにおける画像バス１１２のデータ転送量を示す情報である。ステップＳ７０３では、データ転送量管理情報８０１及び転送可能上限値に基づいて判別が行われる。例えば、他のジョブがプリントジョブである場合、画像バス１１２のデータ転送量が１１８８［Ｍｂｙｔｅ／ｓｅｃ］となり、転送可能上限値、例えば、１１３４［Ｍｂｙｔｅ／ｓｅｃ］を超える。このような場合、ＣＰＵ１０２は、第１の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えると判別する。一方、他のジョブが画像バス１１２を介したデータ転送を行わないジョブである場合、画像バス１１２のデータ転送量が７２３［Ｍｂｙｔｅ／ｓｅｃ］となり、転送可能上限値である１１３４［Ｍｂｙｔｅ／ｓｅｃ］を超えない。このような場合、ＣＰＵ１０２は、第１の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えないと判別する。
【００３３】
ステップＳ７０３の判別の結果、第１の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えないとき、ＣＰＵ１０２は、ステップＳ７０２の処理を行う。
【００３４】
ステップＳ７０３の判別の結果、第１の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えるとき、ＣＰＵ１０２は、ステップＳ７０４の処理を行う。ステップＳ７０４では、ＣＰＵ１０２は、第２の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えるか否かを判別する。第２の読取処理では、画像処理部１１３においてスキャンジョブの実行に必要なスキャンＡＳＩＣ４０１、画像処理ＡＳＩＣ４０２、４０３のうち、スキャンＡＳＩＣ４０１のみが動作する。第２の読取処理では、一のページの画像データに対し、スキャンＡＳＩＣ４０１による画像データ書込処理のみが実行され、上記一のページの画像データがＲＡＭ１０４に保持される。ＲＡＭ１０４に保持された一のページの画像データには、例えば、図６に示すように、全てのページの画像データ書込処理を完了後に、画像処理ＡＳＩＣ４０２による解像度変換処理、及び画像処理ＡＳＩＣ４０３による圧縮処理が施される。
【００３５】
ステップＳ７０４の判別の結果、第２の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えないとき、ＣＰＵ１０２はＲＡＭ１０４の残容量が閾値以上であるか否かを判別する（ステップＳ７０５）。閾値は、少なくともスキャンＡＳＩＣ４０１による画像データ書込処理において、スキャナ部１１４から取得した一のページの画像データを記憶可能な程の容量値である。
【００３６】
ステップＳ７０５の判別の結果、ＲＡＭ１０４の残容量が閾値以上であるとき、ＣＰＵ１０２は、ＲＡＭ１０４に上記一のページの画像データを記憶する記憶領域を確保する（ステップＳ７０６）。次いで、ＣＰＵ１０２は、第２の読取処理を実行する（ステップＳ７０７）。また、ＣＰＵ１０２は、これと並列で他のジョブの処理、例えば、図６に示すように、画像処理ＡＳＩＣ４０４による２値多値変換処理６０４、及びプリントＡＳＩＣ４０５による印刷画像送信処理６０５を実行する。その後、ＣＰＵ１０２は、本処理を終了する。
【００３７】
ステップＳ７０５の判別の結果、ＲＡＭ１０４の残容量が閾値未満であるとき、ＣＰＵ１０２は、他のジョブを中断し（ステップＳ７０８）、第１の読取処理を実行し（ステップＳ７０９）、本処理を終了する。受け付けたスキャンジョブが複数ページの画像データをスキャンするスキャンジョブである場合、ＣＰＵ１０２は、受け付けたスキャンジョブにおける他のページの画像データの処理を開始し、ステップＳ７０１以降の処理を行う。
【００３８】
上述した実施の形態によれば、スキャンジョブ及び他のジョブを並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超える場合、スキャンジョブに対応する複数の画像関連処理のうち、一部の画像関連処理が異なるタイミングで実行される。これにより、複数のジョブを並列で実行しても、並列で実行される画像関連処理の数を減らすことで単位時間当たりの画像バス１１２のデータ転送量が転送可能上限値を超えないように制御することができる。その結果、スキャンジョブ及び他のジョブを並列で実行することに起因するジョブの中断の可能性を低減することができる。
【００３９】
また、上述した実施の形態では、画像処理部１１３は、スキャナ部１１４、ＲＡＭ１０４、及びプリンタ部１１５と、１つの画像バス１１２を介して画像データの転送を行う。これにより、画像処理部１１３が、スキャナ部１１４、ＲＡＭ１０４、及びプリンタ部１１５と１つの画像バス１１２を介して画像データの転送を並列で行うような構成において、単位時間当たりの画像バス１１２のデータ転送量を抑制することができる。
【００４０】
上述した実施の形態では、スキャンジョブ及び他のジョブを並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超える場合、スキャンジョブに対応する複数の画像関連処理のうち画像データ書込処理が他の画像関連処理より先に実行される。これにより、スキャナ部１１４のＲＡＭ３０７の容量を超えるページ数の画像データをスキャナ部１１４が読み取っても、スキャナ部１１４が読み取った全ての画像データをＲＡＭ１０４で保持することができる。
【００４１】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、他のジョブは、プリントジョブに限られず、画像バス１１２のデータ転送を伴うジョブであれば良い。
【００４２】
また、上述した実施の形態では、図９のデータ転送量管理情報９０１及び転送可能上限値に基づいてステップＳ７０３の判別が行われても良い。データ転送量管理情報９０１は、ジョブの種別に応じて動作するＡＳＩＣの組み合わせに対応する画像バス１１２のデータ転送量を示す。
【００４３】
上述した実施の形態では、画像バス１１２のデータ転送量が転送可能上限値を超える場合、スキャンジョブに対応する複数の画像関連処理のうち、図１０に示すように、画像データ書込処理及び圧縮処理を他の画像関連処理より先に実行しても良い。
【００４４】
図１１は、図４の各ＡＳＩＣによる処理が実行されるタイミングを説明するためのイメージ図である。
【００４５】
図１１において、ＭＦＰ１００は、４ページの画像データをスキャンするスキャンジョブを受け付けた場合、スキャン１ページ目の画像データに対し、画像データ書込処理１１０１、解像度変換処理１１０２、及び圧縮処理１１０３を並列で実行する。その後、ＭＦＰ１００は、プリントジョブを受け付けると、スキャンジョブの２〜４ページ目の画像データに対し、画像データ書込処理１１０１の実行を継続する一方で、解像度変換処理１１０２を中断する。このとき、画像処理ＡＳＩＣ４０３は、画像データ書込処理１１０１においてＲＡＭ１０４に書き込まれたスキャンジョブの２〜４ページ目の画像データに対して圧縮処理１１０３を施す。圧縮処理１１０３では、画像処理ＡＳＩＣ４０３が、画像データ書込処理１１０１においてＲＡＭ１０４に書き込まれたスキャンジョブの２〜４ページ目の画像データをＲＡＭ１０４から取得する。また、画像処理ＡＳＩＣ４０３が、取得した画像データに圧縮処理を施して、上記スキャンジョブの２〜４ページ目の画像データの圧縮データを生成する。さらに、画像処理ＡＳＩＣ４０３が、ＲＡＭ１０４において、上記スキャンジョブの２〜４ページ目の画像データに圧縮データを上書きする。このようにして、ＭＦＰ１００は、スキャンジョブの２〜４ページ目の画像データに対する解像度変換処理が中断している間、ＲＡＭ１０４に記憶されるスキャンジョブの２〜４ページ目の画像データのデータ容量を抑えることが可能となる。一方、ＭＦＰ１００は、プリントジョブの１〜６ページ目の画像データに対する２値多値変換処理１１０４及び印刷画像送信処理１１０５を、画像データ書込処理１１０１及び圧縮処理１１０３と並列で実行する。その後、ＭＦＰ１００は、スキャンジョブの全ページの画像データに対する画像データ書込処理１１０１を完了すると、画像処理ＡＳＩＣ４０３による伸張処理１１０６を行う。伸張処理では、画像処理ＡＳＩＣ４０３が、ＲＡＭ１０４から圧縮データを取得し、取得した圧縮データに対して伸張処理を施す。また、画像処理ＡＳＩＣ４０３が、伸張処理によって得られたスキャンジョブの２〜４ページ目の画像データをＲＡＭ１０４に書き込む。その後、ＭＦＰ１００は、スキャンジョブの残りのページの画像データに対し、中断していた解像度変換処理１１０７及び圧縮処理１１０８を再開する。
【００４６】
図１２は、図６の読取制御処理の変形例の手順を示すフローチャートである。図１１の処理も、ＣＰＵ１０２がＲＯＭ１０３等に記憶されたプログラムを実行することによって行われる。また、図１２の処理も、受け付けたスキャンジョブにおける画像データの読み取りを開始する際に実行される。
【００４７】
図１２において、ＣＰＵ１０２は、ステップＳ７０１〜Ｓ７０３の処理を行う。ステップＳ７０３の判別の結果、第１の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えないとき、ＣＰＵ１０２は、ステップＳ７０２の処理を行う。
【００４８】
ステップＳ７０３の判別の結果、第１の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えるとき、ＣＰＵ１０２は、ステップＳ１２０１の処理を行う。ステップＳ１２０１では、ＣＰＵ１０２は、第３の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えるか否かを判別する。第３の読取処理では、画像処理部１１３においてスキャンジョブの実行に必要なスキャンＡＳＩＣ４０１、画像処理ＡＳＩＣ４０２、４０３のうち、スキャンＡＳＩＣ４０１及び画像処理ＡＳＩＣ４０３が動作する。
【００４９】
ステップＳ１２０１の判別の結果、第３の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えるとき、ＣＰＵ１０２は、ステップＳ７０４以降の処理を行う。
【００５０】
ステップＳ１２０１の判別の結果、第３の読取処理及び他のジョブの処理を並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超えないとき、ＣＰＵ１０２は、第３の読取処理を実行する（ステップＳ１２０２）。第３の読取処理では、一のページの画像データに対し、スキャンＡＳＩＣ４０１による画像データ書込処理、及び画像処理ＡＳＩＣ４０３による圧縮処理（例えば、図１１の圧縮処理１１０３）が実行される。圧縮された一のページの画像データは、ＲＡＭ１０４に保持される。ＲＡＭ１０４に保持された一のページの画像データは、例えば、図１１に示すように、全てのページの画像データ書込処理を完了後に、画像処理ＡＳＩＣ４０３によって伸張される。伸張された一のページの画像データには、画像処理ＡＳＩＣ４０２による解像度変換処理、及び画像処理ＡＳＩＣ４０３による圧縮処理が施される。
【００５１】
また、ＣＰＵ１０２は、第３の読取処理と並列で他のジョブの処理、例えば、図１1に示すように、画像処理ＡＳＩＣ４０４による２値多値変換処理、及びプリントＡＳＩＣ４０５による印刷画像送信処理を実行する。その後、ＣＰＵ１０２は、本処理を終了する。
【００５２】
上述した図１１の処理では、スキャンジョブ及び他のジョブを並列で実行する際の画像バス１１２のデータ転送量が転送可能上限値を超える場合、次のような制御が行われる。すなわち、スキャンジョブに対応する複数の画像関連処理のうち画像データ書込処理、及び圧縮処理が他の画像関連処理より先に実行される。これにより、スキャンジョブ及び他のジョブを並列で実行することに起因するジョブの中断の可能性を低減しつつ、ＲＡＭ１０４における画像データを記憶するための容量を必要最小限に抑えることができる。
【００５３】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５４】
１００  ＭＦＰ
１０２  ＣＰＵ
１０４  ＲＡＭ
１１２  画像バス
１１３  画像処理部
１１４  スキャナ部
１１５  プリンタ部
【図１】
2020010253.tif 000003
【図２】
2020010253.tif 000004
【図３】
2020010253.tif 000005
【図４】
2020010253.tif 000006
【図５】
2020010253.tif 000007
【図６】
2020010253.tif 000008
【図７】
2020010253.tif 000009
【図８】
2020010253.tif 000010
【図９】
2020010253.tif 000011
【図１０】
2020010253.tif 000012
【図１１】
2020010253.tif 000013
【図１２】
2020010253.tif 000014