(57)【要約】【課題】印刷データを出力する処理と、印刷データで示される画像に特定画像が含まれているか否かを認識する処理とを高速に並行して行なう画像処理装置を提供する。【解決手段】ＭＦＰは、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示すスケジュール情報を、これらの処理が開始する前に生成するスケジュール情報生成部６２と、データ転送処理の少なくとも一部が、判断処理が完了していない画像判断用データで判断用バッファ５２の全ての領域が占められている期間の少なくとも一部と重なるというオーバーフロー条件を満たす場合に、判断用バッファ５２を拡張するバッファ制御部６５とを備える。【選択図】図３
2018029275.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを展開することにより得られたラスターデータを出力する第１処理を実行するラスターデータ出力部と、
前記ラスターデータ出力部からのラスターデータを分割することで得られた分割データを基に画像判断用データを生成し、生成した前記画像判断用データをバッファに格納する第２処理を実行するデータ転送部と、
前記バッファに格納された前記画像判断用データによって示される画像に特定画像が含まれるか否かを判断する第３処理を実行する第１判断部と、
前記第１処理、前記第２処理および前記第３処理のタイムスケジュールを示すスケジュール情報を生成するスケジュール情報生成部と、
各ラスターデータについて、前記スケジュール情報で示されるタイムスケジュールがオーバーフロー条件を満たすか否かを判断する第２判断部と、
前記タイムスケジュールが前記オーバーフロー条件を満たすと前記第２判断部が判断した場合に、前記バッファを拡張するバッファ制御部とを備え、
前記オーバーフロー条件は、前記第２処理の期間の少なくとも一部が、前記第３処理が完了していない前記画像判断用データで、前記バッファの全ての領域が占められている期間の少なくとも一部と重なるという条件である、画像処理装置。
【請求項２】
前記第２判断部は、各ラスターデータについて、前記スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の少なくとも一方を満たす場合に、前記オーバーフロー条件を満たすと判断し、
前記第１条件は、対象となるラスターデータの前記第１処理を開始する第１タイミングが、１つ前のラスターデータにおける、最後から２番目の画像判断用データに対する前記第３処理を完了する第２タイミングよりも前という条件であり、
前記第２条件は、対象となるラスターデータにおける、最初の画像判断用データに対する前記第２処理を完了する第３タイミングが、１つ前のラスターデータにおける、最後の画像判断用データに対する前記第３処理を完了する第４タイミングよりも前という条件である、請求項１に記載の画像処理装置。
【請求項３】
前記スケジュール情報生成部は、最初のラスターデータについて前記第１処理を前記ラスターデータ出力部が開始するタイミングである基準タイミングから、前記第１タイミング、前記第２タイミング、前記第３タイミングおよび前記第４タイミングの各々までの時間を示す情報を、前記スケジュール情報として生成し、
前記第２判断部は、前記スケジュール情報に基づいて、前記基準タイミングから前記第１タイミングまでの時間が、前記基準タイミングから前記第２タイミングまでの時間よりも短い場合に、前記タイムスケジュールが前記第１条件を満たすと判断し、前記基準タイミングから前記第３タイミングまでの時間が、前記基準タイミングから前記第４タイミングまでの時間よりも短い場合に、前記タイムスケジュールが前記第２条件を満たすと判断する、請求項２に記載の画像処理装置。
【請求項４】
前記バッファ制御部は、
（１）前記スケジュール情報で示されるタイムスケジュールが前記第１条件を満たし、かつ前記第２条件を満たさない場合、前記第１タイミングから前記第２タイミングまでの時間で前記データ転送部が前記第２処理を行うことのできる第１容量だけ前記バッファを拡張し、
（２）前記スケジュール情報で示されるタイムスケジュールが前記第２条件を満たし、かつ前記第１条件を満たさない場合、前記第３タイミングから前記第４タイミングまでの時間で前記データ転送部が前記第２処理を行うことのできる第２容量だけ前記バッファを拡張し、
（３）前記スケジュール情報で示されるタイムスケジュールが前記第１条件および前記第２条件の両方を満たす場合、前記第１容量および前記第２容量のうちの大きい方の容量だけ前記バッファを拡張する、請求項２または３に記載の画像処理装置。
【請求項５】
前記バッファ制御部は、前記第３タイミングから前記第４タイミングまでの時間を、１つの前記画像判断用データに対する前記第２処理に要する時間と、１つの前記画像判断用データに対する前記第３処理に要する時間との差で除算した値である解消数を、前記第２処理の処理速度と前記第３処理の処理速度とに基づいて算出し、各ラスターデータについて、算出した前記解消数を超える整数番目までの前記画像判断用データに対する前記第３処理が完了した後、前記バッファの拡張した領域を解放する、請求項２から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記スケジュール情報で示されるタイムスケジュールが前記オーバーフロー条件を満たすと前記第２判断部により判断された場合に、前記第１判断部による前記第３処理の処理速度を速める速度制御部をさらに備え、
前記スケジュール情報生成部は、前記速度制御部が前記第３処理の処理速度を変更した場合に、変更後の処理速度に基づいて、前記スケジュール情報を生成し直し、
前記バッファ制御部は、前記スケジュール情報生成部が生成し直した前記スケジュール情報で示されるタイムスケジュールが前記オーバーフロー条件を満たすと前記第２判断部により判断された場合に、前記バッファを拡張する、請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記スケジュール情報で示されるタイムスケジュールが前記第２条件を満たすと前記第２判断部が判断した場合に、前記第３タイミングから前記第４タイミングまでの時間を、１つの前記画像判断用データに対する前記第２処理に要する時間と、１つの前記画像判断用データに対する前記第３処理に要する時間との差で除算した値である解消数を前記スケジュール情報に基づいて算出し、算出した解消数が前記ラスターデータに対応する前記画像判断用データの個数以下になるように、前記第１判断部による前記第３処理の処理速度を速める速度制御部をさらに備える、請求項２から５のいずれか１項に記載の画像処理装置。
【請求項８】
前記スケジュール情報生成部は、前記速度制御部が前記第３処理の処理速度を変更した場合に、変更後の処理速度に基づいて、前記スケジュール情報を生成し直し、
前記バッファ制御部は、スケジュール情報生成部が生成し直した前記スケジュール情報に基づいて、前記バッファの拡張する容量を決定する、請求項７に記載の画像処理装置。
【請求項９】
前記バッファ制御部は、前記ラスターデータ出力部が複数の前記ラスターデータを連続して出力する場合に動作する、請求項１から８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記データ転送部は、前記分割データに所定の画像処理を施すことで、前記画像判断用データを生成する、請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１１】
画像処理装置において実施される方法であって、
印刷データを展開することにより得られたラスターデータを出力する第１処理を実行するステップと、
前記ラスターデータを分割することで得られた分割データを基に画像判断用データを生成し、生成した前記画像判断用データをバッファに格納する第２処理を実行するステップと、
前記バッファに格納された前記画像判断用データによって示される画像に特定画像が含まれるか否かを判断する第３処理を実行するステップと、
前記第１処理、前記第２処理および前記第３処理のタイムスケジュールを示すスケジュール情報を生成するステップと、
各ラスターデータについて、前記スケジュール情報で示されるタイムスケジュールがオーバーフロー条件を満たすか否かを判断するステップと、
前記タイムスケジュールが前記オーバーフロー条件を満たすと判断された場合に、前記バッファを拡張するステップとを備え、
前記オーバーフロー条件は、前記第２処理の期間の少なくとも一部が、前記第３処理が完了していない前記画像判断用データで、前記バッファの全ての領域が占められている期間の少なくとも一部と重なるという条件である、方法。
【請求項１２】
画像処理装置のコンピュータに情報処理方法を実行させるためのプログラムであって、
前記情報処理方法は、
印刷データを展開することにより得られたラスターデータを出力する第１処理を実行するステップと、
前記ラスターデータを分割することで得られた分割データを基に画像判断用データを生成し、生成した前記画像判断用データをバッファに格納する第２処理を実行するステップと、
前記バッファに格納された前記画像判断用データによって示される画像に特定画像が含まれるか否かを判断する第３処理を実行するステップと、
前記第１処理、前記第２処理および前記第３処理のタイムスケジュールを示すスケジュール情報を生成するステップと、
各ラスターデータについて、前記スケジュール情報で示されるタイムスケジュールがオーバーフロー条件を満たすか否かを判断するステップと、
前記タイムスケジュールが前記オーバーフロー条件を満たすと判断された場合に、前記バッファを拡張するステップとを備え、
前記オーバーフロー条件は、前記第２処理の期間の少なくとも一部が、前記第３処理が完了していない前記画像判断用データで、前記バッファの全ての領域が占められている期間の少なくとも一部と重なるという条件である、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関し、特に異なる処理を並行して行なう画像処理装置に関する。
【背景技術】
【０００２】
従来、紙幣や有価証券類のような複製が禁止されている画像（以下、特定画像という）が印刷対象に含まれているか確認し、特定画像が含まれている場合に印刷を禁止する技術が知られている。
【０００３】
例えば、特開２００１−３１３８２０号公報（特許文献１）には、印刷データに特定画像が含まれているか否かを判断する処理と、当該印刷データに基づいて出力画像データを生成する処理を並行して行なうことにより、出力装置の高速化を図る技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３１３８２０号公報
【特許文献２】特開平９−２３４９１１号公報
【特許文献３】特開平７−２５６９５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ページ単位のデータ（以下、ページデータという）で示される画像に特定画像が含まれているか否かを判断する処理に要する時間が、当該ページデータに基づいて出力画像データを生成する処理に要する時間よりも長い場合がある。そのため、特開２００１−３１３８２０号公報に記載の出力装置のように、これら両方の処理を並行して行なったとしても、あるページデータに対する一方の処理が完了するまで、次のページデータに対する他方の処理を開始することができず、待機時間が発生する。そのため、複数のページに対して、さらに高速にこれら両方の処理を並行して行なうことができる画像処理装置が望まれている。
【０００６】
本発明は、上記課題を解決するためになされたものであって、印刷データを出力する処理と、印刷データで示される画像に特定画像が含まれているか否かを判断する処理とを高速に並行して行なうことができる画像処理装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示のある局面に従うと、画像処理装置は、印刷データを展開することにより得られたラスターデータを出力する第１処理を実行するラスターデータ出力部と、ラスターデータ出力部からのラスターデータを分割することで得られた分割データを基に画像判断用データを生成し、生成した画像判断用データをバッファに格納する第２処理を実行するデータ転送部と、バッファに格納された画像判断用データによって示される画像に特定画像が含まれるか否かを判断する第３処理を実行する第１判断部と、第１処理、第２処理および第３処理のタイムスケジュールを示すスケジュール情報を生成するスケジュール情報生成部と、各ラスターデータについて、スケジュール情報で示されるタイムスケジュールがオーバーフロー条件を満たすか否かを判断する第２判断部と、タイムスケジュールがオーバーフロー条件を満たすと第２判断部が判断した場合に、バッファを拡張するバッファ制御部とを備える。オーバーフロー条件は、第２処理の期間の少なくとも一部が、第３処理が完了していない画像判断用データで、バッファの全ての領域が占められている期間の少なくとも一部と重なるという条件である。
【０００８】
好ましくは、第２判断部は、各ラスターデータについて、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の少なくとも一方を満たす場合に、オーバーフロー条件を満たすと判断する。第１条件は、対象となるラスターデータの第１処理を開始する第１タイミングが、１つ前のラスターデータにおける、最後から２番目の画像判断用データに対する第３処理を完了する第２タイミングよりも前という条件である。第２条件は、対象となるラスターデータにおける、最初の画像判断用データに対する第２処理を完了する第３タイミングが、１つ前のラスターデータにおける、最後の画像判断用データに対する第３処理を完了する第４タイミングよりも前という条件である。
【０００９】
好ましくは、スケジュール情報生成部は、最初のラスターデータについて第１処理をラスターデータ出力部が開始するタイミングである基準タイミングから、第１タイミング、第２タイミング、第３タイミングおよび第４タイミングの各々までの時間を示す情報を、スケジュール情報として生成し、第２判断部は、スケジュール情報に基づいて、基準タイミングから第１タイミングまでの時間が、基準タイミングから第２タイミングまでの時間よりも短い場合に、タイムスケジュールが第１条件を満たすと判断し、基準タイミングから第３タイミングまでの時間が、基準タイミングから第４タイミングまでの時間よりも短い場合に、タイムスケジュールが第２条件を満たすと判断する。
【００１０】
好ましくは、バッファ制御部は、（１）スケジュール情報で示されるタイムスケジュールが第１条件を満たし、かつ第２条件を満たさない場合、第１タイミングから第２タイミングまでの時間でデータ転送部が第２処理を行うことのできる第１容量だけバッファを拡張し、（２）スケジュール情報で示されるタイムスケジュールが第２条件を満たし、かつ第１条件を満たさない場合、第３タイミングから第４タイミングまでの時間でデータ転送部が第２処理を行うことのできる第２容量だけバッファを拡張し、（３）スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の両方を満たす場合、第１容量および第２容量のうちの大きい方の容量だけバッファを拡張する。
【００１１】
好ましくは、バッファ制御部は、第３タイミングから第４タイミングまでの時間を、１つの画像判断用データに対する第２処理に要する時間と、１つの画像判断用データに対する第３処理に要する時間との差で除算した値である解消数を、第２処理の処理速度と第３処理の処理速度とに基づいて算出し、各ラスターデータについて、算出した解消数を超える整数番目までの画像判断用データに対する第３処理が完了した後、バッファの拡張した領域を解放する。
【００１２】
好ましくは、画像処理装置は、スケジュール情報で示されるタイムスケジュールがオーバーフロー条件を満たすと第２判断部により判断された場合に、第１判断部による第３処理の処理速度を速める速度制御部をさらに備える。スケジュール情報生成部は、速度制御部が第３処理の処理速度を変更した場合に、変更後の処理速度に基づいて、スケジュール情報を生成し直す。バッファ制御部は、スケジュール情報生成部が生成し直したスケジュール情報で示されるタイムスケジュールがオーバーフロー条件を満たすと第２判断部により判断された場合に、バッファを拡張する。
【００１３】
好ましくは、画像処理装置は、スケジュール情報で示されるタイムスケジュールが第２条件を満たすと第２判断部が判断した場合に、第３タイミングから第４タイミングまでの時間を、１つの画像判断用データに対する第２処理に要する時間と、１つの画像判断用データに対する第３処理に要する時間との差で除算した値である解消数をスケジュール情報に基づいて算出し、算出した解消数がラスターデータに対応する画像判断用データの個数以下になるように、第１判断部による第３処理の処理速度を速める速度制御部をさらに備える。
【００１４】
好ましくは、スケジュール情報生成部は、速度制御部が第３処理の処理速度を変更した場合に、変更後の処理速度に基づいて、スケジュール情報を生成し直し、バッファ制御部は、スケジュール情報生成部が生成し直したスケジュール情報に基づいて、バッファの拡張する容量を決定する。
【００１５】
好ましくは、バッファ制御部は、ラスターデータ出力部が複数のラスターデータを連続して出力する場合に動作する。
【００１６】
好ましくは、データ転送部は、分割データに所定の画像処理を施すことで、画像判断用データを生成する。
【００１７】
本開示のある局面に従うと、画像処理装置において実施される方法は、印刷データを展開することにより得られたラスターデータを出力する第１処理を実行するステップと、ラスターデータを分割することで得られた分割データを基に画像判断用データを生成し、生成した画像判断用データをバッファに格納する第２処理を実行するステップと、バッファに格納された画像判断用データによって示される画像に特定画像が含まれるか否かを判断する第３処理を実行するステップと、第１処理、第２処理および第３処理のタイムスケジュールを示すスケジュール情報を生成するステップと、各ラスターデータについて、スケジュール情報で示されるタイムスケジュールがオーバーフロー条件を満たすか否かを判断するステップと、タイムスケジュールがオーバーフロー条件を満たすと判断された場合に、バッファを拡張するステップとを備える。オーバーフロー条件は、第２処理の期間の少なくとも一部が、第３処理が完了していない画像判断用データで、バッファの全ての領域が占められている期間の少なくとも一部と重なるという条件である。
【００１８】
本開示の別の局面に従うと、プログラムは、画像処理装置のコンピュータに情報処理方法を実行させるためのプログラムである。情報処理方法は、印刷データを展開することにより得られたラスターデータを出力する第１処理を実行するステップと、ラスターデータを分割することで得られた分割データを基に画像判断用データを生成し、生成した画像判断用データをバッファに格納する第２処理を実行するステップと、バッファに格納された画像判断用データによって示される画像に特定画像が含まれるか否かを判断する第３処理を実行するステップと、第１処理、第２処理および第３処理のタイムスケジュールを示すスケジュール情報を生成するステップと、各ラスターデータについて、スケジュール情報で示されるタイムスケジュールがオーバーフロー条件を満たすか否かを判断するステップと、タイムスケジュールがオーバーフロー条件を満たすと判断された場合に、バッファを拡張するステップとを備える。オーバーフロー条件は、第２処理の期間の少なくとも一部が、第３処理が完了していない画像判断用データで、バッファの全ての領域が占められている期間の少なくとも一部と重なるという条件である。
【発明の効果】
【００１９】
上記の構成によれば、画像処理装置は、印刷データを出力する処理と、印刷データで示される画像に特定画像が含まれているか否かを判断する処理とを高速に並行して行なうことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態１に係るＭＦＰ（Multi-Functional Peripheral）の外観斜視図である。
【図２】実施の形態１に係るＭＦＰの主なハードウェア構成を示す図である。
【図３】実施の形態１に係るＭＦＰの機能的構成を示す図である。
【図４】印刷データの１ページ目に対する、ラスターデータ出力処理とデータ転送処理と判断処理とのタイミングチャートである。
【図５】複数のページを含む印刷データについての、ラスターデータ出力処理、データ転送処理、判断処理およびプリント処理のタイミングチャートの一例である。
【図６】紙間時間Ｔ１を短くした場合の、ラスターデータ出力処理、データ転送処理および判断処理のタイミングチャートである。
【図７】実施の形態１に係るＭＦＰにおける処理の流れを示すフローチャートである。
【図８】実施例１における、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【図９】実施例２における、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【図１０】実施例３における、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【図１１】実施例４において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【図１２】実施例５において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【図１３】実施例６において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【図１４】実施例７において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【図１５】実施例８において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【図１６】実施例９において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【図１７】本発明の実施の形態２に係るＭＦＰの機能的構成を示す図である。
【図１８】実施の形態２に係るＭＦＰにおける処理の流れを示すフローチャートである。
【図１９】ページ内で拡張領域が不要になるような判断速度に変更された後の、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰返さない。
【００２２】
以下において、「特定画像」は、紙幣や有価証券類のような複製が禁止されている画像である。「画像データ」は、テキスト、写真などの様々な画像を示すデータである。「印刷データ」は、印刷対象となる画像データである。「ラスターデータ」は、印刷データを画像形成可能なビットマップ形式に変換したデータである。「分割データ」は、ラスターデータを分割して得られたデータである。「画像判断用データ」は、分割データに基づいて生成され、特定画像が含まれているか否かの判断対象となるデータである。また、「ラスタライズ処理」は、印刷データをラスタライズし、ラスターデータを出力する処理を示す。
【００２３】
［実施の形態１］
＜ＭＦＰのハードウェア構成＞
本発明の実施の形態１に係る画像処理装置の一例であるＭＦＰ（Multi-Functional Peripheral）は、コピー、ネットワークプリンティング、スキャナー、ＦＡＸ、ドキュメントサーバーなどの多種の機能を集約した装置である。以下、ＭＦＰの詳細について説明する。
【００２４】
図１は、実施の形態１に係るＭＦＰの外観斜視図である。また、図２は、ＭＦＰの主なハードウェア構成を示す図である。
【００２５】
図１および図２に示されるように、ＭＦＰ１は、操作装置１１と、表示装置１２と、スキャナー装置１３と、プリンター装置１４と、フィニッシャー装置１５と、通信部１６と、ドキュメントフィーダー１７と、給紙装置１８と、ＣＰＵ２０と、ＲＡＭ２１と、ＲＯＭ２２と、データ記憶部２３とを備えている。
【００２６】
操作装置１１は、数字、文字、および記号などを入力するための複数キー、押下されたキーを認識するセンサー、および認識したキーを示す信号をＣＰＵ２０に送信する送信用回路などによって構成される。
【００２７】
表示装置１２は、ユーザーに対するメッセージおよび指示を提供するための画面、ユーザーに設定内容および処理内容の入力を促すための画面、およびＭＦＰ１で形成された画像および処理の結果を示す画面などを表示する。例えば、表示装置１２として、タッチパネルが用いられている。この場合、表示装置１２は、ユーザーが指で触れたタッチパネル上の位置を検知し、検知結果を示す信号をＣＰＵ２０に送信する機能を備えている。
【００２８】
このように、操作装置１１および表示装置１２は、ユーザーがＭＦＰ１を直接操作するためのユーザーインターフェースの役割を果たしている。
【００２９】
スキャナー装置１３は、写真、文字、絵などの画像情報を原稿から光電的に読取って画像データを取得する。取得された画像データは、デジタルデータに変換され、周知の各種画像処理が施された後、プリンター装置１４や通信部１６に送られ、画像の印刷やデータの送信に供されるか、または、後の利用のためにデータ記憶部２３に格納される。
【００３０】
プリンター装置１４は、印刷対象となる印刷データで示される画像を、用紙またはフィルムなどの記録シートに印刷するプリント処理を行なう。印刷データは、スキャナー装置１３が取得した画像データ、通信部１６が外部機器から受信した画像データ、またはデータ記憶部２３に格納されている画像データである。
【００３１】
給紙装置１８は、ＭＦＰ１本体の下部に設けられており、印刷対象の画像に適した記録シートをプリンター装置１４に供給するために用いられている。プリンター装置１４によって画像が印刷された記録シートつまり印刷物はフィニッシャー装置１５を通って、モード設定に応じてステープル、パンチ等の処理を行ない、トレイ２４に排出される。
【００３２】
通信部１６は、送信部および受信部などによって構成され、携帯閲覧端末、電子ペーパーとデータのやりとりを行なうための無線通信装置、ＮＩＣ（Network Interface Card）、モデム、またはＴＡ（Terminal Adapter）などを備えている。
【００３３】
データ記憶部２３は、ハードディスク２３Ｈおよびカードリーダー２３Ｒなどを有している。カードリーダー２３Ｒは、コンパクトフラッシュ（登録商標）またはスマートメディアなどのメモリーカード９１からデータを読取る、またはメモリーカード９１にデータを書き込む。メモリーカード９１は、主にパーソナルコンピューターとのデータのやり取りを通信回線を介さずに行なうため、またはデータのバックアップのために用いられる。
【００３４】
ハードディスク２３Ｈには、スキャナー装置１３が取得した画像データ、通信部１６により外部機器から受信した画像データが保存される。ハードディスク２３Ｈのデータはネットワークを介してその他の画像形成装置からも参照可能な構成になっている。
【００３５】
ＣＰＵ２０は、ＲＯＭ２２に記憶されているプログラムまたはＲＡＭ２１にロードされたプログラムを実行し、ＭＦＰ１全体を制御する。ＣＰＵ２０は、ラスタライズ処理と、特定画像が印刷データに示される画像に含まれているか否かを判断する処理とを並行して実行する。
【００３６】
＜ＭＦＰの機能的構成＞
図３は、ＭＦＰ１が備える機能的構成を示す図である。図３に示されるように、ＭＦＰ１は、ラスタライズ処理部４０と、検知部５０と、高速化処理部６０とを備えている。
【００３７】
ラスタライズ処理部４０と検知部５０と高速化処理部６０とは、図２のＣＰＵ２０がＲＯＭ２２に記憶されているプログラムを実行することにより実現されるブロック、およびＲＡＭ２１で構成される。なお、ラスタライズ処理部４０と検知部５０と高速化処理部６０とは、ＣＰＵ２０がプログラムを実行することにより実現されるブロックおよびＲＡＭ２１と、回路との組み合わせにより構成されてもよい。
【００３８】
ラスタライズ処理部４０は、印刷データをラスタライズし、ラスターデータを出力する。ラスタライズ処理部４０は、図３に示されるように、ＲＩＰ（Raster Image Processor）処理部４１と、圧縮部４２と、ページバッファ４３と、伸長部４４と、遅延バッファ４５とを備えている。
【００３９】
ＲＩＰ処理部４１は、ハードディスク２３Ｈに保存された印刷対象となる印刷データに対してＲＩＰ処理を実行する。具体的には、ＲＩＰ処理部４１は、印刷データを画像形成可能なビットマップ形式のデータであるラスターデータに変換する。
【００４０】
ＲＩＰ処理部４１は、印刷データを１ページ（第１単位）ごとに分割し、分割した１ページ分のデータ（ページデータ）ごとにＲＩＰ処理を順次実行し、各ページに対応するラスターデータを生成する。
【００４１】
圧縮部４２は、ＲＩＰ処理部４１により生成された１ページ分のラスターデータを順次圧縮し、圧縮データをページバッファ４３に格納する。
【００４２】
伸長部４４は、ページバッファ４３に格納された１ページ分の圧縮データを伸長し、伸長されたラスターデータを順次出力するラスターデータ出力処理（第１処理）を実行する。すなわち、伸長部４４は、印刷データを展開することで得られた第１単位（ページ単位）のラスターデータを出力するラスターデータ出力部として機能する。
【００４３】
伸長部４４は、ラスターデータを遅延バッファ４５に格納するとともに、ラスターデータを検知部５０に出力する。
【００４４】
遅延バッファ４５は、伸長部４４から出力されたラスターデータを一時的に記憶する。遅延バッファ４５に記憶されたラスターデータは、適切なタイミングで読み出され、プリンター装置１４に出力される。これにより、プリンター装置１４は、ラスターデータで示される画像を記録シートに印刷する。
【００４５】
検知部５０は、伸長部４４から出力されるラスターデータで示される画像に特定画像が含まれているか否かの判断を行ない、判断結果に応じて、遅延バッファ４５からプリンター装置１４へのデータ出力を制御する。
【００４６】
図３に示されるように、検知部５０は、データ転送部５１と、判断用バッファ５２と、画像判断部（第１判断部）５３と、プリント制御部５４とを備える。
【００４７】
データ転送部５１は、伸長部４４から出力される１ページ分のラスターデータを分割して得られた分割データに基づいて、バンド単位の画像データ（以下、画像判断用データという）を生成し、生成した画像判断用データを判断用バッファ５２に格納するデータ転送処理（第２処理）を順次実行する。
【００４８】
ここで、１バンドのサイズは、ラスターデータの副走査方向の幅、つまり、ラスターデータの主走査方向に沿ったラインの数によって示される。
【００４９】
データ転送部５１は、画像判断用データを生成する際に、画像判断用データに対して所定の画像処理を施してもよい。例えば、データ転送部５１は、解像度の変換処理、色変換処理などの、特定画像の判断処理に適した各種の画像処理を行なう。
【００５０】
画像判断部５３は、１バンド分の画像データで示される画像の中に特定画像が含まれるか否かを判断する判断処理（第３処理）を順次実行する。
【００５１】
具体的には、画像判断部５３は、判断用バッファ５２に画像判断用データが格納されるたびに、当該画像判断用データで示される画像の中に特定画像が含まれるか否かを判断する。画像判断部５３における判断処理の方法は、画像認識処理など公知の技術を用いればよく、例えば、特開２００１−３１３８２０号公報に開示されている方法を用いる。
【００５２】
画像判断部５３は、各画像判断用データについて、特定画像が含まれているか否かの判断結果をプリント制御部５４に出力する。判断結果は、上記の画像認識処理に基づく認識の確率値などを含む。
【００５３】
判断用バッファ５２は、画像判断用データを一時的に記憶するためのメモリーである。通常時には、判断用バッファ５２は２バンド分の容量のメモリー領域（以下、通常領域という）を有している。そのため、データ転送部５１が１バンド分の画像判断用データを判断用バッファ５２に格納する処理と、画像判断部５３が判断用バッファ５２から１バンド分の画像判断用データの読み出す処理とを並行して行なうことができる。
【００５４】
プリント制御部５４は、画像判断部５３から受けた判断結果を基に、ラスターデータの印刷を禁止すべきか否かを判断する。具体的には、プリント制御部５４は、画像判断用データで示される画像に特定画像が含まれているとの判断結果を受けた場合、当該画像判断用データに対応するページの印刷を禁止する。すなわち、プリント制御部５４は、当該ページのラスターデータをプリンター装置１４に出力する処理を行なうことなく、特定画像が含まれているため印刷できない旨を示す印刷エラー画面を表示装置１２に表示する。
【００５５】
一方、プリント制御部５４は、１ページ分のラスターデータを構成するすべての画像判断用データについて特定画像が含まれていないとの判断結果を受けた場合、当該ラスターデータを遅延バッファ４５から読み出し、プリンター装置１４に出力する。
【００５６】
高速化処理部６０は、検知部５０の高速化を行なう。高速化処理部６０は、情報取得部６１と、スケジュール情報生成部６２と、高速化判断部（第２判断部）６３と、速度制御部６４と、バッファ制御部６５とを備える。高速化処理部６０の各部の詳細については後述する。
【００５７】
＜ラスターデータ出力処理、データ転送処理および判断処理の方法＞
次に、伸長部４４が実行するラスターデータ出力処理と、データ転送部５１が実行するデータ転送処理と、画像判断部５３が実行する判断処理と各処理方法の詳細について説明する。
【００５８】
図４は、印刷データの１ページ目に対する、ラスターデータ出力処理とデータ転送処理と判断処理とのタイミングチャートである。図４において、１段目は伸長部４４によるラスターデータ出力処理を示し、２段目はデータ転送部５１による判断用バッファ５２へのデータ転送処理を示し、３段目は画像判断部５３による判断処理を示している。
【００５９】
上述したように、画像判断部５３は、１バンド分の画像データに対して判断処理を実行する。一方、ラスターデータのサイズは、様々であり、１バンドの整数倍とは限らない。また、画像判断部５３の判断精度を高めるためには、画像の外周部分における判断精度を高めることが好ましい。
【００６０】
そこで、図４に示されるように、データ転送部５１は、出力されたラスターデータにおける、先頭から予め定められた第１ライン数（１バンドのライン数未満であり、例えば、１／２バンドのライン数である）の分割データに対して画像処理を施したデータを、１番目の画像判断用データとして判断用バッファ５２に格納する。
【００６１】
また、データ転送部５１は、予め定められた第２ライン数（１バンドのライン数から第１所定ライン数を減算したライン数）の空白データ（以下、上端用空白データという）を判断用バッファ５２に格納する。
【００６２】
ここで、データ転送部５１は、所定単位（１バンドよりもはるかに少ない単位）のデータごとに画像処理を施す。そして、データ転送部５１は、画像処理を施した所定単位のデータを生成するたびに、当該データを格納対象データとして判断用バッファ５２に格納する。このとき、データ転送部５１は、判断用バッファ５２に空き領域があれば、当該空き領域に格納対象データを格納し、空き領域がなければ、格納対象データのデータ転送処理を行なうことなく、次の所定単位のデータの処理に移る。そのため、空き領域がなければ、格納対象データが消失することとなる。
【００６３】
画像判断部５３は、判断用バッファ５２に１番目の画像判断用データが格納されると、判断用バッファ５２から当該画像判断用データと上端用空白データとを読み出す。画像判断部５３は、読み出した画像判断用データと上端用空白データとを合わせた１バンド分のデータについて判断処理を実行する。
【００６４】
なお、空白データは白べた画像を示すデータである。データ転送部５１は、何ら画像処理を施すことなく、上端用空白データを判断用バッファ５２に格納する。そのため、データ転送部５１は、画像判断用データを生成して判断用バッファ５２に格納するデータ転送処理の速度と比べて、格段に速く上端用空白データを判断用バッファ５２に格納することができる。よって、図４では、データ転送部５１が上端用空白データを判断用バッファ５２に格納する処理については図示していない。この点は他の図においても同じである。
【００６５】
ただし、データ転送部５１は、画像判断部５３が１番目の画像判断用データに対して判断処理を開始するタイミングまでに上端用空白データを判断用バッファ５２に格納する。
【００６６】
これにより、画像判断部５３は、ラスターデータの上端の外周部分を含めて判断処理を行なうことができ、ラスターデータの上端部分における判断精度を高めることができる。
【００６７】
画像判断部５３は、１バンド分の画像データに対する判断処理が完了すると、当該１バンド分のデータを判断用バッファ５２から消去する。これにより、判断用バッファ５２に空き領域が生じる。
【００６８】
また、データ転送部５１は、１番目の画像判断用データに続く、画像処理後のバンド単位の分割データを、２番目以降の画像判断用データとして生成し、判断用バッファ５２に順次格納する。画像判断部５３は、２番目以降の画像判断用データが判断用バッファ５２に格納されるたびに、当該画像判断用データに対して判断処理を実行する。
【００６９】
ここで、画像判断部５３は、ある画像判断用データに対する判断処理が完了してから、次の画像判断用データに対する判断処理を開始する。つまり、画像判断部５３は、ある画像判断用データに対する判断処理が完了したタイミングで次の画像判断用データのデータ転送処理が完了していれば、当該次の画像判断用データに対する判断処理を開始する。また、画像判断部５３は、ある画像判断用データに対する判断処理が完了したタイミングで次の画像判断用データのデータ転送処理が完了していなければ、当該次の画像判断用データのデータ転送処理が完了するまで待機してから、当該次の画像判断用データに対する判断処理を開始する。
【００７０】
また、１ページ分のラスターデータにおける最後の画像判断用データのライン数が１バンドのライン数と一致するとは限らない。最後の画像判断用データのライン数が１バンドのライン数未満である場合、データ転送部５１は、最後の画像判断用データを判断用バッファ５２に格納した後、１バンドのライン数から最後の画像判断用データのライン数を減算した不足ライン数分の空白データ（以下、不足用空白データ）を判断用バッファ５２に格納する。これにより、画像判断部５３は、最後の画像判断用データと不足用空白データとを合わせた１バンド分のデータに対して判断処理を実行することができる。
【００７１】
なお、図４では、データ転送部５１が不足用空白データを格納する際の速度が、画像判断用データに対するデータ転送速度と同一のように示されている。しかしながら、データ転送部５１は、何ら画像処理を行なうことなく不足用空白データを判断用バッファ５２に格納するだけであるため、実際にはデータ転送速度より格段に速く不足用空白データを格納する。
【００７２】
ただし、最後から２番目（図４では先頭から８番目）の画像判断用データに対する判断処理が完了するまで、判断用バッファ５２の２バンド分の通常領域は、最後から２番目および最後の画像判断用データと不足用空白データとで占められる。そのため、データ転送部５１は、新たなデータを判断用バッファ５２に格納することができない。
【００７３】
そこで、図４では、便宜上、最後から２番目の画像判断用データに対する判断処理が完了し、判断用バッファ５２に空き領域が発生するまでの期間に亘って、不足用空白データを格納するように描いている。この点は他の図においても同様である。
【００７４】
図５は、複数のページを含む印刷データについての、ラスターデータ出力処理、データ転送処理、判断処理およびプリント処理のタイミングチャートの一例である。
【００７５】
図５において、１段目は伸長部４４によるラスターデータ出力処理を示し、２段目はデータ転送部５１による判断用バッファ５２へのデータ転送処理を示し、３段目は画像判断部５３による判断処理を示し、４段目はプリンター装置１４によるプリント処理を示している。
【００７６】
図５に示されるように、伸長部４４は、２ページ目以降のラスターデータの出力を、前のページのラスターデータの出力処理が完了したタイミングから予め設定された紙間時間Ｔ１だけ経過したタイミングで開始する。
【００７７】
図５に示される例では、各ページの最後の画像判断用データに対する判断処理が完了したタイミングで次ページのラスターデータの出力処理が開始されるように、紙間時間Ｔ１が設定されている。
【００７８】
このような十分に長い紙間時間Ｔ１が設定されている場合、あるページのデータ転送処理が完了したタイミングから、次のページのラスターデータが出力されるタイミングまで時間がある。そのため、データ転送部５１は、連続する２つのページに対して、データ転送処理を支障なく実行することができる。
【００７９】
なお、プリント処理は、画像判断部５３による判断処理が完了してから所定時間経過後に開始される。
【００８０】
＜紙間時間を短くした場合の問題点＞
図５に示されるように紙間時間Ｔ１が十分に長い場合、１ページ目のラスターデータ出力処理を開始してから、最終ページに対する判断処理が完了するまでの時間が長くなるという問題が生じる。そこで、紙間時間Ｔ１を短く設定することが考えられる。しかしながら、紙間時間Ｔ１を短くした場合、新たな問題が生じる。この点について、以下に説明する。
【００８１】
図６は、紙間時間Ｔ１を短くした場合の、ラスターデータ出力処理、データ転送処理および判断処理のタイミングチャートである。図６では、１ページ目から２ページ目に処理が移行する期間が拡大して示されている。なお、図６に示す例は、ラスターデータ出力処理、データ転送処理および判断処理の速度が同一であり、第１ライン数が１／２バンドである場合の例である。
【００８２】
また、図６において、１ページ目のラスターデータの出力処理が完了するタイミングをタイミングｔ１、２ページ目のラスターデータの出力処理を開始するタイミングをタイミングｔ２、２ページ目の１番目の画像判断用データに対するデータ転送処理が完了するタイミングをタイミングｔ３、１ページ目の最後から２番目の画像判断用データに対する判断処理が完了するタイミングをタイミングｔ４、１ページ目の最後の画像判断用データに対する判断処理が完了するタイミングをタイミングｔ５とする。
【００８３】
図６の（ａ）は、タイミングｔ５とタイミングｔ３とが一致するように紙間時間Ｔ１が設定された場合の例である。
【００８４】
この場合、タイミングｔ４からタイミングｔ２までに時間の余裕がある。そのため、データ転送部５１は、複数ページのデータ転送処理を支障なく連続して実行することができる。
【００８５】
また、タイミングｔ５とタイミングｔ３とが一致するため、画像判断部５３は、複数ページの判断処理を問題なく連続して実行することができる。
【００８６】
図６の（ｂ）は、（ａ）よりもさらに紙間時間Ｔ１を短くした場合の例である。すなわち、１ページ目の判断処理が完了したタイミングｔ５が、２ページ目の１番目のデータ転送処理が完了したタイミングｔ３の後であり、かつ、１ページ目の最後から２番目の判断処理が完了するタイミングｔ４と、２ページ目の１番目のデータ転送処理を開始するタイミングｔ２とが一致するように紙間時間Ｔ１が設定された場合の例である。
【００８７】
この場合、タイミングｔ４とタイミングｔ２とが一致するため、データ転送部５１は、複数ページのデータ転送処理を問題なく連続して処理することができる。すなわち、データ転送部５１は、１ページ目の最後から２番目の画像判断用データが格納されていた判断用バッファ５２の空き領域に、２ページ目の１番目の画像判断用データと上端用空白データとを格納することができる。
【００８８】
しかしながら、２ページ目の１番目のデータ転送処理が完了したタイミングｔ３において、画像判断部５３は、まだ１ページ目の最後の判断処理を完了していない。つまり、判断用バッファ５２の通常領域は、まだ判断処理が完了していない、１ページ目の最後の画像判断用データ、１ページ目の不足用空白データ、２ページ目の１番目の画像判断用データおよび２ページ目の上端用空白データで全て占められている。
【００８９】
そのため、データ転送部５１は、１ページ目の最後の判断処理が完了するタイミングｔ５まで、２ページ目の２番目のデータ転送処理を行なうことができない。この結果、２ページ目の２番目の画像判断用データの一部が消失するという問題が生じる。
【００９０】
図６の（ｃ）は、（ｂ）よりもさらに紙間時間Ｔ１を短くした場合の例である。すなわち、１ページ目の最後から２番目の判断処理が完了するタイミングｔ４よりも少し前に、２ページ目の１番目のデータ転送処理を開始するタイミングｔ２がくるように紙間時間Ｔ１が設定されている例である。
【００９１】
この場合、２ページ目の１番目のデータ転送処理を開始するタイミングｔ２では、まだ判断用バッファ５２の全ての通常領域が、１ページ目の最後の画像判断用データ、１ページ目の不足用空白データ、１ページ目の画像判断用データおよび２ページ目の上端用空白データで占められている。
【００９２】
そのため、１ページ目の最後から２番目の判断処理が完了するタイミングｔ４までの間、データ転送部５１は、２ページ目の１番目のデータ転送処理を行なうことができない。そのため、２ページ目の１番目の画像判断用データの一部が消失するという問題が生じる。
【００９３】
その後、タイミングｔ４で１ページ目の最後から２番目の画像判断用データが判断用バッファ５２から消去されるため、タイミングｔ４からタイミングｔ３までの間、データ転送部５１は、データ転送処理を行なうことができる。具体的には、データ転送部５１は、２ページ目の１番目の画像判断用データの一部（１／４バンド）と、上端用空白データ（３／４バンド）とを判断用バッファ５２に格納する。
【００９４】
しかしながら、タイミングｔ３において、判断用バッファ５２の通常領域は、まだ判断処理が完了していないデータで満たされてしまう。そのため、図６の（ｂ）と同様に、タイミングｔ３から、１ページ目の最後の判断処理が完了するタイミングｔ５までの間、データ転送部５１は、２ページ目の２番目の画像判断用データを格納することができない。その結果、データが消失するという問題が生じる。
【００９５】
図６の（ｄ）は、（ｃ）よりもさらに紙間時間Ｔ１を短くした場合の例である。すなわち、１ページ目の最後から２番目の判断処理が完了するタイミングｔ４と、２ページ目の１番目のデータ転送処理が完了するタイミングｔ３とが一致するように紙間時間Ｔ１に設定されている例である。
【００９６】
この場合も図６の（ｃ）と同様に、タイミングｔ２からタイミングｔ４までの間、データ転送部５１は、新たな画像判断用データのデータ転送処理を行なうことができない。また、図６の（ｂ）（ｃ）と同様に、タイミングｔ３からタイミングｔ５までの間も、データ転送部５１は、新たな画像判断用データのデータ転送処理が行なうことができない。その結果、データが消失するという問題が生じる。
【００９７】
図６の（ｅ）は、紙間時間Ｔ１を０とした場合の例である。すなわち、１ページ目のラスターデータの出力処理が完了するタイミングｔ１と、２ページ目のラスターデータの出力処理を開始するタイミング（つまり、２ページ目の１番目のデータ転送処理を開始するタイミング）ｔ２とが一致する例である。
【００９８】
この場合も図６の（ｃ）（ｄ）と同様に、タイミングｔ２からタイミングｔ４までの間、データ転送部５１は、新たな画像判断用データのデータ転送処理を行なうことができない。また、図６の（ｂ）（ｃ）（ｄ）と同様に、タイミングｔ３からタイミングｔ５までの間も、データ転送部５１は、新たな画像判断用データのデータ転送処理を行なうことができない。その結果、データが消失するという問題が生じる。
【００９９】
＜高速化処理部の構成＞
図６に示したように、紙間時間Ｔ１を短くした場合、データが消失するという問題が生じる。そこで、実施の形態１のＭＦＰ１は、高速化処理部６０を備えている。以下、高速化処理部６０の構成について説明する。
【０１００】
再び図３を参照して、高速化処理部６０は、情報取得部６１と、スケジュール情報生成部６２と、高速化判断部（第２判断部）６３と、速度制御部６４と、バッファ制御部６５とを備える。
【０１０１】
情報取得部６１は、以下の（１）〜（９）の情報を取得する。
（１）伸長部４４がラスターデータを出力する速度の値（以下、ラスターデータ出力速度値という）（単位：ライン数／時間）
（２）データ転送部５１によるデータ転送処理の速度の値（以下、データ転送速度値という）（単位：ライン数／時間）
（３）紙間時間Ｔ１
（４）画像判断部５３による判断処理の速度の値（以下、判断速度値という）（単位：ライン数／時間）
（５）１バンドに含まれるライン数（以下、１バンドライン数という）
（６）第１ライン数
（７）印刷対象となる各ページのライン数（以下、全ライン数という）
（８）印刷対象となる各ページの最後の画像判断用データのライン数（以下、下端ライン数Ｌという）
（９）印刷対象となる各ページにおける画像判断用データの個数Ｍ。
【０１０２】
ラスターデータ出力速度値は、圧縮部４２および伸長部４４の性能に応じて予め設定されており、ＲＯＭ２２に格納されている。データ転送速度値は、データ転送部５１を構成するプロセッサの性能および判断用バッファ５２の仕様に応じて予め設定されており、ＲＯＭ２２に格納されている。なお、データ転送部５１の処理速度は伸長部４４の処理速度よりも高く、データ転送部５１におけるデータ転送速度は、前段のラスターデータ出力速度に制限される。そのため、データ転送速度値は、ラスターデータ出力速度値と同一に設定される。
【０１０３】
１バンドライン数は、判断用バッファ５２に割り当てられる容量に応じて予め設定されており、ＲＯＭ２２に格納されている。第１ライン数は、ＭＦＰ１の開発設計者により予め設定されており、ＲＯＭ２２に格納されている。
【０１０４】
そのため、情報取得部６１は、ラスターデータ出力速度値、データ転送速度値（＝ラスターデータ出力速度値）、１バンドライン数および第１ライン数をＲＯＭ２２から取得すればよい。
【０１０５】
判断速度値は、後述するように速度制御部６４により制御される。そのため、情報取得部６１は、速度制御部６４から現在設定されている判断速度値を取得する。
【０１０６】
ＲＯＭ２２は、印刷モードと紙間時間Ｔ１とを対応付けた紙間時間テーブルを記憶している。情報取得部６１は、ユーザ入力により選択された印刷モードに対応する紙間時間Ｔ１を紙間時間テーブルから取得する。
【０１０７】
例えば、印刷モードとして通常モード、高速モードおよび超高速モードの３つのモードがあり、ＲＯＭ２２は、通常モードと図６の（ａ）に示す紙間時間Ｔ１とが対応付けられ、高速モードと図６の（ｄ）に示す紙間時間Ｔ１とが対応付けられ、超高速モードと紙間時間Ｔ１＝０とが対応付けられた紙間時間テーブルを記憶している。
【０１０８】
また、情報取得部６１は、データ記憶部２３に格納された印刷データに基づいて、各ページのライン数を算出し、算出したライン数を全ライン数とする。情報取得部６１は、各ページの全ライン数と１バンドライン数と第１ライン数とに基づいて、下端ライン数Ｌを算出する。以下では、ｎページ目の下端ライン数ＬをＬｎとする。
【０１０９】
さらに、情報取得部６１は、各ページについて、全ライン数と第１ライン数とに基づいて、画像判断用データの個数Ｍを算出する。以下では、ｎページ目の画像判断用データの個数ＭをＭｎとする。
【０１１０】
スケジュール情報生成部６２は、情報取得部６１が取得した各種の情報に基づいて、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示すスケジュール情報を、これらの処理が開始する前に生成する。具体的には、スケジュール情報生成部６２は、ラスターデータごとに、ラスターデータ出力処理の開始タイミングを示し、画像判断用データごとに、データ転送処理の完了タイミングと、判断処理の完了タイミングとを示す、スケジュール情報を生成する。
【０１１１】
スケジュール情報生成部６２は、情報取得部６１が新たな情報を取得するたびに、スケジュール情報を生成し直す。スケジュール情報生成部６２の具体的な処理方法については後述する。
【０１１２】
高速化判断部６３は、高速化処理の要否を判断する。具体的には、高速化判断部６３は、各ラスターデータについて、スケジュール情報で示されるタイムスケジュールがオーバーフロー条件を満たすか否かを判断する。
【０１１３】
オーバーフロー条件とは、データ転送処理の期間の少なくとも一部が、判断処理が完了していない画像判断用データで、判断用バッファ５２の全ての領域が占められている期間の少なくとも一部と重なるという条件である。
【０１１４】
具体的には、高速化判断部６３は、以下の第１条件および第２条件の少なくとも一方を満たす場合に、オーバーフロー条件を満たすと判断する。
【０１１５】
第１条件：伸長部４４が対象となるラスターデータの出力処理を開始するタイミングｔ２が、１つ前のラスターデータについて、画像判断部５３が最後から２番目の判断処理を完了するタイミングｔ４よりも前である。
【０１１６】
第２条件：対象となるラスターデータについて、データ転送部５１が最初のデータ転送処理を完了するタイミングｔ３が、１つ前のラスターデータについて、画像判断部５３が最後の判断処理を完了するタイミングｔ５よりも前である。
【０１１７】
高速化判断部６３は、各印刷データについて、第１条件および第２条件の少なくとも一方を満たすと１回目に判断した場合、速度制御部６４に高速化指示を出力する。
【０１１８】
高速化判断部６３は、後述するように速度制御部６４により判断速度が変更された場合、変更後の判断速度に基づいてスケジュール情報生成部６２が生成し直した新たなスケジュール情報で示されるタイムスケジュールが第１条件および第２条件の少なくとも一方を満たすか否か判断する。高速化判断部６３は、新たなスケジュール情報で示されるタイムスケジュールが第１条件および第２条件の少なくとも一方を満たすと判断した場合、バッファ制御部６５に高速化指示を出力する。
【０１１９】
速度制御部６４は、画像判断部５３の判断速度を制御し、現在設定している判断速度値を情報取得部６１に出力する。
【０１２０】
具体的には、速度制御部６４は、新たな印刷ジョブの開始時には、判断速度としてデフォルト値に設定する。デフォルト値は、画像判断部５３を構成するプロセッサの性能に応じて予め設定される。ただし、デフォルト値は、データ転送速度値（＝ラスターデータ出力速度値）以上の値が設定される。
【０１２１】
速度制御部６４は、高速化判断部６３から高速化指示を受けると、判断速度を、デフォルト値よりも速い高速値（例えば、デフォルト値の２倍）に設定する。高速値は予め設定されている。
【０１２２】
速度制御部６４は、（ｉ）画像判断部５３を構成するプロセッサのクロック数を変更する、または、（ｉｉ）スキャン処理やＦＡＸ処理用に割り当てられているプロセッサを一時的に画像判断部５３の一部として構成させる、などの方法により、判断速度を変更すればよい。
【０１２３】
バッファ制御部６５は、高速化判断部６３から高速化指示を受けると、判断用バッファ５２を拡張する。バッファ制御部６５は、後述する方法によって、判断用バッファ５２の拡張領域の容量を決定する。
【０１２４】
バッファ制御部６５は、スキャン処理やＦＡＸ処理などの別の処理用に割り当てられているメモリー領域を判断用バッファ５２として使用させることで、判断用バッファ５２の拡張を行なう。そのため、判断用バッファ５２が拡張されている間、スキャン処理やＦＡＸ処理の一時停止、処理速度の制限または機能の制限が実行される。
【０１２５】
なお、バッファ制御部６５により判断用バッファ５２が拡張された場合、データ転送部５１は、拡張領域よりも通常領域を優先させて、判断用バッファ５２にデータを格納する。すなわち、データ転送部５１は、拡張領域および通常領域の両方に空き領域がある場合、通常領域の空き領域から先にデータを格納する。
【０１２６】
＜スケジュール情報の生成方法＞
次に、スケジュール情報生成部６２によるスケジュール情報の生成方法について説明する。ここでは、印刷データに含まれるページ数をＮとする。
【０１２７】
スケジュール情報生成部６２は、伸長部４４が１ページ目のラスターデータの出力処理を開始するタイミングを基準タイミングとし、基準タイミングから、各ページのラスターデータ出力処理の開始までの時間、各画像判断用データに対するデータ転送処理の完了までの時間、および、各画像判断用データに対する判断処理の完了までの時間を示すスケジュール情報を生成する。
【０１２８】
まず、スケジュール情報生成部６２は、基準タイミングからｎページ目（ｎは１〜Ｎの整数）のラスターデータ出力処理の開始までの時間Ｔ４_ｎを以下の数１に従って算出する。
【０１２９】
【数１】
2018029275.tif 000003
【０１３０】
なお、数１において、Ｌ（ｍ）はｍページ目の全ライン数を示し、ＳＬはラスターデータ出力速度値を示す。
【０１３１】
次に、スケジュール情報生成部６２は、基準タイミングからｎページ目（ｎは１〜Ｎの整数）のｋ番目（ｋは１〜Ｍｎの整数）（Ｍｎは、ｎページ目の画像判断用データの個数である）のデータ転送処理の完了までの時間Ｔ５_ｎ_ｋを、以下の数２に従って算出する。
【０１３２】
【数２】
2018029275.tif 000004
【０１３３】
なお、数２において、ＦＬは第１ライン数を示し、ＳＴはデータ転送速度値を示し、ＢＬは１バンドライン数を示し、Ｌｍはｍページ目の下端ライン数を示す。
【０１３４】
次に、スケジュール情報生成部６２は、基準タイミングからｎページ目のｋ番目の判断処理の完了までの時間Ｔ６_ｎ_ｋを、以下の数３に従って算出する。
【０１３５】
【数３】
2018029275.tif 000005
【０１３６】
なお、数３において、ＳＤは判断速度値を示し、ＢＬは１バンドライン数を示す。また、ＭＡＸ（Ａ、Ｂ）は、ＡおよびＢのうち大きい方の値を示す。
【０１３７】
＜判断用バッファの拡張領域の容量の決定方法＞
次に、バッファ制御部６５による判断用バッファ５２の拡張領域の容量の決定方法について説明する。
【０１３８】
バッファ制御部６５は、スケジュール情報生成部６２が生成したスケジュール情報に基づいて、以下に示す画像判断遅延時間Ｔ２および格納遅延時間Ｔ３を算出する。
【０１３９】
画像判断遅延時間Ｔ２は、２ページ目以降の各ページにおける、当該ページの１番目の画像判断用データのデータ転送処理の完了タイミングｔ３（図６参照）から、前のページの最後の判断処理の完了タイミングｔ５（図６参照）までの時間である。
【０１４０】
格納遅延時間Ｔ３は、２ページ目以降の各ページにおける、当該ページのラスターデータの出力処理の開始タイミングｔ２（図６参照）から、前のページの最後から２番目のデータ転送処理の完了タイミングｔ４（図６参照）までの時間である。
【０１４１】
バッファ制御部６５は、スケジュール情報の中から、２ページ目以降の各ページについて、基準タイミングから（ｎ−１）ページ目の最後（（Ｍ（ｎ−１）番目）の判断処理の完了までの時間Ｔ６_（ｎ−１）_Ｍ（ｎ−１）と、基準タイミングからｎページ目の１番目のデータ転送処理の完了までの時間Ｔ５_ｎ_１とを抽出する。バッファ制御部６５は、時間Ｔ６_（ｎ−１）_Ｍ（ｎ−１）が時間Ｔ５_ｎ_１よりも長い場合に、時間Ｔ６_（ｎ−１）_Ｍ（ｎ−１）と時間Ｔ５_ｎ_１との差を画像判断遅延時間Ｔ２とする。
【０１４２】
また、バッファ制御部６５は、スケジュール情報の中から、２ページ目以降の各ページについて、基準タイミングから（ｎ−１）ページ目の最後から２番目（（Ｍ（ｎ−１）−１）番目）の判断処理の完了までの時間Ｔ６_（ｎ−１）_（Ｍ（ｎ−１）−１）と、基準タイミングからｎページ目のラスターデータの出力処理の開始までの時間Ｔ４_ｎとを抽出する。バッファ制御部６５は、時間Ｔ６_（ｎ−１）_（Ｍ（ｎ−１）−１）が時間Ｔ４_ｎよりも長い場合に、時間Ｔ６_（ｎ−１）_（Ｍ（ｎ−１）−１）と時間Ｔ４_ｎとの差を格納遅延時間Ｔ３とする。
【０１４３】
バッファ制御部６５は、算出した画像判断遅延時間Ｔ２および格納遅延時間Ｔ３のうち長い方の時間Ｔｄを用いて、以下の式（１）に従って、拡張すべきバッファの容量の最低量（拡張バッファ最低量）を決定する。
拡張バッファ最低量＝時間Ｔｄ×データ転送速度値×１ライン容量・・・式（１）
なお、式（１）において、「１ライン容量」とは、１ライン分の画像判断用データの容量を示している。
【０１４４】
すなわち、バッファ制御部６５は、タイムスケジュールが第１条件のみを満たす場合、格納遅延時間Ｔ３を時間Ｔｄとして、上記の式（１）により拡張バッファ最低量を決定する。そして、バッファ制御部６５は、決定した拡張バッファ最低量以上の容量だけ判断用バッファ５２を拡張する。これにより、バッファ制御部６５は、格納遅延時間Ｔ３でデータ転送部５１がデータ転送処理を行なうことのできる容量だけ判断用バッファ５２を拡張することができる。
【０１４５】
また、バッファ制御部６５は、タイムスケジュールが第２条件のみを満たす場合、画像判断遅延時間Ｔ２を時間Ｔｄとして、上記の式（１）により拡張バッファ最低量を決定する。そして、バッファ制御部６５は、決定した拡張バッファ最低量以上の容量だけ判断用バッファ５２を拡張する。これにより、バッファ制御部６５は、画像判断遅延時間Ｔ２でデータ転送部５１がデータ転送処理を行なうことのできる容量だけ判断用バッファ５２を拡張することができる。
【０１４６】
さらに、バッファ制御部６５は、タイムスケジュールが第１条件および第２条件の両方を満たす場合、画像判断遅延時間Ｔ２および格納遅延時間Ｔ３のうち長い方の時間Ｔｄを用いて、上記の式（１）により拡張バッファ最低量を決定する。そして、バッファ制御部６５は、決定した拡張バッファ最低量以上の容量だけ判断用バッファ５２を拡張すればよい。
【０１４７】
＜処理の流れ＞
図７は、ＭＦＰ１における処理の流れを示すフローチャートである。図７に示されるように、ＭＦＰ１が印刷ジョブの開始指示を受け付けると、情報取得部６１は、各種の情報を取得する（ステップＳ１）。具体的には、情報取得部６１は、ラスターデータ出力速度値と、データ転送速度値と、紙間時間Ｔ１と、判断速度値と、１バンドライン数と、第１ライン数と、各ページの全ライン数と、各ページの下端ライン数Ｌと、各ページにおける画像判断用データの個数Ｍとを取得する。
【０１４８】
また、ステップＳ１において、速度制御部６４は、画像判断部５３による判断速度をデフォルト値に設定し、当該デフォルト値を判断速度値として情報取得部６１に送る。そして、スケジュール情報生成部６２は、情報取得部６１が取得した情報を基にスケジュール情報を生成する。
【０１４９】
次に、高速化判断部６３は、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の少なくとも一方を満たすか否かを判断する（ステップＳ２）。
【０１５０】
タイムスケジュールが第１条件および第２条件の少なくとも一方を満たす場合（ステップＳ２でＹＥＳ）、高速化判断部６３は、高速化指示を速度制御部６４に出力する。そして、速度制御部６４は、画像判断部５３における判断速度をデフォルト値から高速値に変更する（ステップＳ３）。
【０１５１】
また、ステップＳ３において、情報取得部６１は、速度制御部６４から、判断速度値として高速値を取得する。そして、スケジュール情報生成部６２は、情報取得部６１が取得した情報を基にスケジュール情報を生成し直す。
【０１５２】
続いて、高速化判断部６３は、新たに生成されたスケジュール情報で示されるタイムスケジュールが第１条件および第２条件の少なくとも一方を満たすか否かを判断する（ステップＳ４）。タイムスケジュールが第１条件および第２条件の少なくとも一方を満たす場合（ステップＳ４でＹＥＳ）、高速化判断部６３は、高速化指示をバッファ制御部６５に出力する。
【０１５３】
バッファ制御部６５は、画像判断遅延時間Ｔ２および格納遅延時間Ｔ３を算出する（ステップＳ５）。ここで、ステップＳ４において、タイムスケジュールが第１条件のみを満たすと判断された場合、バッファ制御部６５は、格納遅延時間Ｔ３のみを算出する。ステップＳ４において、タイムスケジュールが第２条件のみを満たすと判断された場合、バッファ制御部６５は、画像判断遅延時間Ｔ２のみを算出する。ステップＳ４において、タイムスケジュールが第１条件および第２条件の両方を満たすと判断された場合、バッファ制御部６５は、画像判断遅延時間Ｔ２および格納遅延時間Ｔ３の両方を算出する。
【０１５４】
その後、バッファ制御部６５は、ステップＳ５で算出した遅延時間に基づいて拡張すべきバッファ容量を上記の式（１）に従って算出する。そして、バッファ制御部６５は、算出したバッファ容量だけ判断用バッファ５２を拡張する（ステップＳ６）。その後、ステップＳ７の処理に移る。
【０１５５】
また、ステップＳ２でＮＯの場合、または、ステップＳ４でＮＯの場合も、ステップＳ７の処理に移る。
【０１５６】
ステップＳ７において、ラスタライズ処理部４０および検知部５０は、対象となる印刷データに対する処理を開始する。
【０１５７】
次に、画像判断部５３は、全てのページのラスターデータについて判断処理が完了したか判断する（ステップＳ８）。すなわち、画像判断部５３は、判断処理が完了していないラスターデータが存在すると判断する。
【０１５８】
全てのページのラスターデータについて判断処理を完了してない場合（すなわち、判断処理が完了していないラスターデータが残っている場合）（ステップＳ８でＮＯ）、画像判断部５３は、判断用バッファ５２に格納された画像判断用データについて判断処理を行ない、その判断結果をプリント制御部５４に出力する（ステップＳ９）。
【０１５９】
プリント制御部５４は、判断結果が特定画像を含むことを示すか否か判断する（ステップＳ１０）。
【０１６０】
判断結果が特定画像を含むことを示す場合（ステップＳ１０でＹＥＳ）、プリント制御部５４は、当該判断結果に対応するページのラスターデータをプリンター装置１４に出力しない。これにより、当該ページの印刷が中止される（ステップＳ１１）。
【０１６１】
続いて、プリント制御部５４は、印刷できない旨のエラー表示を表示装置１２に表示させ（ステップＳ１２）、ＭＦＰ１は、システムを停止する（ステップＳ１３）。
【０１６２】
判断結果が特定画像を含むことを示さない場合（ステップＳ１０でＮＯ）、ステップＳ８の処理に戻る。また、全てのページのラスターデータについて判断処理を完了した場合（ステップＳ８でＹＥＳ）、ＭＦＰ１は、対象の印刷データに対する判断処理を終了する。
【０１６３】
＜ＭＦＰにおける処理の実施例＞
以上のように、実施の形態１に係るＭＦＰ１は、印刷ジョブを受けたときに、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示すスケジュール情報を、これらの処理が開始する前に生成するスケジュール情報生成部６２を備える。そして、タイムスケジュールが第１条件および第２条件を満たす場合に、速度制御部６４は、画像判断部５３の判断速度を高速値に変更する。また、高速値の判断速度に基づいて再度生成されたスケジュール情報で示されるタイムスケジュールが第１条件および第２条件を満たす場合に、バッファ制御部６５は、判断用バッファ５２を拡張する。
【０１６４】
これにより、紙間時間Ｔ１が短く設定された場合であっても、検知部５０は、データの消失を発生させることなく、全ての画像判断用データに対して判断処理を行なうことができる。これにより、ＭＦＰ１は、短い紙間時間Ｔ１での高速化処理を実現することができる。
【０１６５】
以下に、データの消失を発生させることなく高速化処理が実現されることを説明するために、実施の形態１に係るＭＦＰ１における処理の実施例について説明する。なお、以下の実施例では、特に言及しない限り、印刷データで示される画像が２ページであり、情報取得部６１が以下の情報を取得するものとする。
・データ転送速度値：ラスターデータ出力速度値と同じ
・判断速度値：デフォルト値（データ転送速度と同じ値）、高速値（デフォルト値の２倍）
・第１ライン数：１バンドライン数の１／２
・各ページの下端ライン数Ｌ：１バンドライン数の１／４
・各ページの画像判断用データの個数Ｍ：１０。
【０１６６】
＜実施例１＞
実施例１は、図６の（ｃ）に示す紙間時間Ｔ１が設定された例である。
【０１６７】
図８は、実施例１における、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図であり、（ａ）は、判断速度値がデフォルト値（＝データ転送速度）の場合を示し、（ｂ）は、判断速度値が高速値（＝データ転送速度の２倍）の場合を示している。
【０１６８】
図８の（ａ）に示されるように、１ページ目の９番目（最後から２番目）の判断処理が完了するタイミングｔ４が、２ページ目のラスターデータの出力処理を開始するタイミングｔ２よりも後である。また、１ページ目の１０番目（最後）の判断処理が完了するタイミングｔ５が、２ページ目の１番目のデータ転送処理が完了するタイミングｔ３よりも後である。そのため、この状態で処理を開始すると、タイミングｔ２からタイミングｔ４の期間、および、タイミングｔ３からタイミングｔ５の期間で、データの消失が生じる。
【０１６９】
しかしながら、実施の形態１に係るＭＦＰ１では、ステップＳ２において、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件を満たすと判断され、ステップＳ３において、速度制御部６４が判断速度値をデータ転送速度値の２倍の高速値に変更する。
【０１７０】
図８の（ｂ）に示されるように、判断速度値がデータ転送速度値の２倍に変更されると、タイミングｔ４がタイミングｔ２よりも前となる。これにより、データ転送部５１は、判断処理済の１ページ目の９番目の画像判断用データが消去されることで生じた、判断用バッファ５２の空き領域に、２ページ目の１番目の画像判断用データを格納することができる。そのため、データが消失することがない。
【０１７１】
また、判断速度値がデータ転送速度値の２倍に変更されると、タイミングｔ５がタイミングｔ３よりも前となる。これにより、データ転送部５１は、判断処理済の１ページ目の１０番目の画像判断用データが消去されることで生じた、判断用バッファ５２の空き領域に、２ページ目の２番目の画像判断用データを格納することができる。そのため、データが消失することがない。
【０１７２】
＜実施例２＞
実施例２は、図６の（ｄ）に示す紙間時間Ｔ１（実施例１よりも短い時間）が設定された例である。
【０１７３】
図９は、実施例２における、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図であり、（ａ）は、判断速度値がデフォルト値（＝データ転送速度）の場合、（ｂ）は、判断速度値が高速値（＝データ転送速度の２倍）の場合を示している。
【０１７４】
図９の（ａ）で示されるように、実施例２でも、実施例１と同じように、判断速度がデフォルト値である場合、タイミングｔ４がタイミングｔ２よりも後であり、タイミングｔ５がタイミングｔ３よりも後である。そのため、図７のステップＳ２において、高速化判断部６３は、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件を満たすと判断する。そして、ステップＳ３において、速度制御部６４は、判断速度値をデータ転送速度値の２倍の高速値に変更する。
【０１７５】
図９の（ｂ）に示されるように、判断速度値がデータ転送速度値の２倍に変更されると、タイミングｔ４がタイミングｔ２と一致する。これにより、データ転送部５１は、実施例１と同様に、判断用バッファ５２の空き領域に、２ページ目の１番目の画像判断用データを格納することができる。そのため、データが消失することがない。
【０１７６】
また、判断速度値がデータ転送速度値の２倍に変更されると、タイミングｔ５がタイミングｔ３と一致する。これにより、データ転送部５１は、実施例１と同様に、判断用バッファ５２の空き領域に、２ページ目の２番目の画像判断用データを格納することができる。そのため、データが消失することがない。
【０１７７】
＜実施例３＞
実施例３は、図６の（ｅ）に示す紙間時間が０に設定された例である。
【０１７８】
図１０は、実施例３における、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。なお、図１０の（ａ）は、判断速度値がデフォルト値（＝データ転送速度）の場合、（ｂ）は、判断速度値が高速値（＝データ転送速度の２倍）の場合を示す。また、図１０の（ｃ）は、（ｂ）に判断用バッファの拡張領域に格納される画像判断データを示すハッチングを付加した図である。
【０１７９】
図１０の（ａ）に示されるように、実施例３でも、実施例１と同じように、判断速度値がデフォルト値である場合、タイミングｔ４がタイミングｔ２よりも後であり、タイミングｔ５がタイミングｔ３よりも後である。そのため、ステップＳ２において、高速化判断部６３は、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件を満たすと判断する。そして、ステップＳ３において、速度制御部６４は、判断速度値をデータ転送速度値の２倍の高速値に変更する。
【０１８０】
図１０の（ｂ）で示されるように、判断速度値がデータ転送速度値の２倍に変更されたとしても、タイミングｔ４がタイミングｔ２よりも後である。そのため、この状態で処理を開始すると、タイミングｔ２からタイミングｔ４の期間で、データの消失が生じる。
【０１８１】
しかしながら、実施の形態１に係るＭＦＰ１では、ステップＳ４において、高速化判断部６３は、高速値の判断速度値を基に生成し直されスケジュール情報で示されるタイムスケジュールが第１条件および第２条件を満たすと判断する。そして、ステップＳ５において、バッファ制御部６５が判断用バッファ５２を拡張する。
【０１８２】
具体的には、バッファ制御部６５は、タイミングｔ３からタイミング５までの画像判断遅延時間Ｔ２と、タイミングｔ２からタイミングｔ４までの格納遅延時間Ｔ３とを算出する。実施例３では、Ｔ２とＴ３とは同一である。そして、バッファ制御部６５は、上記の式（１）に従い、データ転送部５１が時間Ｔ２（＝Ｔ３）で格納可能な容量（１／２バンド分）だけ、判断用バッファ５２を拡張する。
【０１８３】
図１０の（ｃ）に示されるように、タイミングｔ２からタイミングｔ４の間、判断用バッファ５２の通常領域の全ては、まだ判断処理が完了していない、１ページ目の９番目および１０番目の画像判断用データおよび不足用空白データで占められている。そのため、データ転送部５１は、２ページ目の１番目の画像判断用データ（１／４バンド）を判断用バッファ５２の拡張領域に格納する。
【０１８４】
次に、タイミングｔ４において、１ページ目の９番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ４から、２ページ目の１番目の残りの画像判断用データ（１／４バンド）と、上端用空白データ（１／２バンド）と、２ページ目の２番目の一部の画像判断用データ（１／４バンド）とを、判断用バッファ５２の通常領域に格納する。
【０１８５】
なお、図１０の（ｃ）において、判断処理からデータ転送処理へ向けた矢印は、通常領域の空き領域について、当該空き領域が生じるきっかけとなった判断処理と、当該空き領域に対するデータ転送処理との関係を示している。例えば、図中の左端の矢印は、８番目の画像判断用データに対する判断処理が完了したことにより生じた通常領域の空き領域に、１０番目の画像判断用データのデータ転送処理が実行されることを示している。以降の図においても同じである。
【０１８６】
また、タイミングｔ５において、１ページ目の１０番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ５から、２ページ目の２番目の残りの画像判断用データ（３／４バンド）と、２ページ目の３番目の一部の画像判断用データ（１／４バンド）とを、判断用バッファ５２の通常領域に格納する。
【０１８７】
また、データ転送部５１が２ページ目の２番目のデータ転送処理を行なっている最中のタイミングｔ６において、２ページ目の１番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域（３／４バンド分）と拡張領域（１／４バンド分）が空き領域となる。
【０１８８】
よって、データ転送部５１は、２ページ目の３番目の残りの画像判断用データ（３／４バンド分）を、判断用バッファ５２の通常領域に格納する。
【０１８９】
その後、２ページ目のｈ番目（ｈは４以上の整数）のデータ転送処理が開始するタイミングよりも前に、２ページ目の（ｈ−２）番目の判断処理が完了している。そのため、データ転送部５１は、２ページ目のｈ番目の画像判断用データを、（ｈ−２）番目の画像判断用データを消去することにより得られた空き領域である、判断用バッファ５２の通常領域に格納することができる。
【０１９０】
このように、ステップＳ４においてタイムスケジュールが第１条件を満たしている場合であっても、判断用バッファ５２の拡張領域を利用することで、判断用バッファ５２の通常領域が１つ前のラスターデータに対応する画像判断用データおよび不足用空白データで占められている状況において、ＭＦＰ１は、次のラスターデータに対するデータ転送処理を開始できる。
【０１９１】
また、ステップＳ４においてタイムスケジュールが第２条件を満たしている場合であっても、判断用バッファ５２の拡張領域を利用することで、１つ前のラスターデータの最後の画像判断用データと次のラスターデータの最初の画像判断用データとで判断用バッファ５２の通常領域が占められている状況でも、ＭＦＰ１は、次のラスターデータの２番目の画像判断用データに対するデータ転送処理を開始できる。
【０１９２】
すなわち、実施例３では、バッファ制御部６５が判断用バッファ５２を１／２バンド分だけ拡張することにより、データの消失を防止できる。そのため、紙間時間を０に設定することができ、ラスタライズ処理と判断処理との並列処理の高速化を実現することができる。
【０１９３】
なお、実施例３では、２ページ目の１番目の画像判断用データについてのみ判断用バッファ５２の拡張領域に格納される。
【０１９４】
＜実施例４＞
実施例４は、紙間時間が０であり、判断速度の高速値がデータ転送速度の４／３倍である場合の例である。
【０１９５】
図１１は、実施例４において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【０１９６】
実施例４では、実施例３と同様に、ステップＳ２およびステップＳ４において、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の両方を満たすと判断される。そのため、ステップＳ３において、速度制御部６４は、判断速度をデータ転送速度の４／３倍に変更する。また、ステップＳ６において、バッファ制御部６５は、判断用バッファ５２を拡張する。
【０１９７】
なお、実施例４では、画像判断遅延時間Ｔ２が格納遅延時間Ｔ３よりも長い。そのため、バッファ制御部６５は、上記の式（１）に従い、データ転送部５１が時間Ｔ２で格納可能な容量（実施例４では３／４バンド分）だけ、判断用バッファ５２を拡張する。
【０１９８】
図１１に示されるように、タイミングｔ２からタイミングｔ４の間、判断用バッファ５２の通常領域の全てには、まだ判断処理が完了していない、１ページ目の９番目および１０番目の画像判断用データおよび不足用空白データが格納されている。そのため、データ転送部５１は、２ページ目の１番目の画像判断用データ（１／２バンド）を判断用バッファ５２の拡張領域に格納する。
【０１９９】
次に、タイミングｔ４において、１ページ目の９番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ４から、上端用空白データ（１／２バンド）と、２ページ目の２番目の一部の画像判断用データ（１／２バンド）とを、判断用バッファ５２の通常領域に格納する。
【０２００】
そして、２ページ目の２番目の一部の画像判断用データ（１／２バンド）のデータ転送処理が完了したタイミングｔ７において、判断用バッファ５２の通常領域は、まだ判断処理が完了していないデータで全て満たされる。そのため、データ転送部５１は、タイミングｔ７から、１ページ目の１０番目の判断処理が完了するタイミングｔ５までの間、２ページ目の２番目の一部の画像判断用データ（１／４バンド）を、判断用バッファ５２の拡張領域に格納する。これにより、拡張領域の全てがデータで満たされる。
【０２０１】
次に、タイミングｔ５において、１ページ目の１０番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ５から、２ページ目の２番目の残りの画像判断用データ（１／４バンド）と、２ページ目の３番目の一部の画像判断用データ（３／４バンド）とを、判断用バッファ５２の通常領域に格納する。
【０２０２】
タイミングｔ５以降、データ転送部５１は、空白データ（上端用空白データまたは不足用空白データ）を格納する必要がない。そのため、各画像判断用データに対するデータ転送処理および判断処理を並行して行なっていくことにより、判断速度値とデータ転送速度値との差分に基づいて、徐々に拡張領域における空き領域が増える。そのため、データ転送部５１は、画像判断用データを問題なく判断用バッファ５２に格納することができる。
【０２０３】
このように、実施例４では、バッファ制御部６５が判断用バッファ５２を３／４バンド分だけ拡張することにより、データの消失を防止できる。そのため、紙間時間を０に設定することができ、ラスタライズ処理と判断処理との並列処理の高速化を実現することができる。
【０２０４】
なお、実施例４では、２ページ目の１番目と２番目の画像判断用データについて判断用バッファ５２の拡張領域に格納される。
【０２０５】
＜実施例５＞
実施例５は、紙間時間が０であり、判断速度の高速値がデータ転送速度の４／３倍であり、１ページ目の下端ライン数Ｌが１バンドライン数の１／１０である場合の例である。
【０２０６】
図１２は、実施例５において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【０２０７】
実施例５では、実施例４と同様に、ステップＳ２およびステップＳ４において、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の両方を満たすと判断される。そのため、ステップＳ３において、速度制御部６４は、判断速度値をデータ転送速度値の４／３倍に変更する。また、ステップＳ６において、バッファ制御部６５は、判断用バッファ５２を拡張する。
【０２０８】
なお、実施例５では、画像判断遅延時間Ｔ２が格納遅延時間Ｔ３よりも長い。そのため、バッファ制御部６５は、上記の式（１）に従い、データ転送部５１が時間Ｔ２で格納可能な容量（９／１０バンド分）だけ、判断用バッファ５２を拡張する。
【０２０９】
図１２に示されるように、タイミングｔ２からタイミングｔ４の間、判断用バッファ５２の通常領域の全ては、まだ判断処理が完了していない、１ページ目の９番目および１０番目の画像判断用データおよび不足用空白データで占められている。そのため、データ転送部５１は、２ページ目の１番目の画像判断用データ（１／２バンド）と、２ページ目の２番目の画像判断用データ（３／２０バンド）とを判断用バッファ５２の拡張領域に格納する。
【０２１０】
タイミングｔ４において、１ページ目の９番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ４から、上端用空白データ（１／２バンド）と、２ページ目の２番目の一部の画像判断用データ（１／２バンド）とを、判断用バッファ５２の通常領域に格納する。
【０２１１】
そして、２ページ目の２番目の一部の画像判断用データ（１／２バンド）のデータ転送処理が完了したタイミングｔ７において、判断用バッファ５２の通常領域は、まだ判断処理が完了していないデータで全て満たされる。そのため、データ転送部５１は、タイミングｔ７から、１ページ目の１０番目の判断処理が完了するタイミングｔ５までの間、２ページ目の２番目の一部の画像判断用データ（１／４バンド）を、判断用バッファ５２の拡張領域に格納する。これにより、拡張領域（９／１０バンド分）の全てがデータで満たされる。
【０２１２】
次に、タイミングｔ５において、１ページ目の１０番目の画像判断用データの判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ５から、２ページ目の２番目の残りの画像判断用データ（１／１０バンド）と、２ページ目の３番目の一部の画像判断用データ（９／１０バンド）とを、判断用バッファ５２の通常領域に格納する。
【０２１３】
タイミングｔ５以降、データ転送部５１は、空白データ（上端用空白データまたは不足用空白データ）を格納する必要がない。そのため、各画像判断用データに対するデータ転送処理および判断処理を並行して行なっていくことにより、判断速度値とデータ転送速度値との差分に基づいて、徐々に拡張領域における空き領域が増える。そのため、データ転送部５１は、画像判断用データを問題なく判断用バッファ５２に格納することができる。
【０２１４】
このように、実施例５では、バッファ制御部６５が判断用バッファ５２を９／１０バンド分だけ拡張することにより、データの消失を防止できる。そのため、紙間時間を０に設定することができ、ラスタライズ処理と判断処理との並列処理の高速化を実現することができる。
【０２１５】
なお、実施例５では、２ページ目の１番目と２番目と５番目との画像判断用データについて判断用バッファ５２の拡張領域に格納される。
【０２１６】
＜実施例６＞
実施例６は、紙間時間が０であり、判断速度の高速値がデータ転送速度の４／３倍であり、１ページ目の下端ライン数Ｌが１バンドライン数と同じである場合の例である。
【０２１７】
図１３は、実施例６において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【０２１８】
実施例６では、ステップＳ２において、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の両方を満たすと判断される。そのため、ステップＳ３において、速度制御部６４は、判断速度をデータ転送速度の４／３倍に変更する。また、ステップＳ４において、スケジュール情報が第２条件を満たすと判断される。そのため、ステップＳ６において、バッファ制御部６５は、判断用バッファ５２を拡張する。
【０２１９】
なお、実施例６では、スケジュール情報が第２条件のみを満たすため、バッファ制御部６５は、遅延時間として画像判断遅延時間Ｔ２のみを算出する。そして、バッファ制御部６５は、上記の式（１）に従い、データ転送部５１が時間Ｔ２で格納可能な容量（１／４バンド分）だけ、判断用バッファ５２を拡張する。
【０２２０】
図１３に示されるように、２ページ目のラスターデータの出力が開始されるタイミングｔ２において、１ページ目の９番目の判断処理が完了している。そのため、データ転送部５１は、２ページ目の１番目の画像判断用データ（１／２バンド）と上端用空白データ（１／２バンド）とを判断用バッファ５２の通常領域に格納する。
【０２２１】
２ページ目の１番目の画像判断用データに対するデータ転送処理が完了するタイミングｔ３において、判断用バッファ５２の通常領域は、まだ判断処理が完了していないデータで全て満たされる。そのため、データ転送部５１は、タイミングｔ３から、１ページ目の１０番目の判断処理が完了するタイミングｔ５までの間、２ページ目の２番目の一部の画像判断用データ（１／４バンド）を、判断用バッファ５２の拡張領域に格納する。これにより、拡張領域（１／４バンド分）の全てがデータで満たされる。
【０２２２】
次に、タイミングｔ５において、１ページ目の１０番目の画像判断用データの判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ５から、２ページ目の２番目の残りの画像判断用データ（３／４バンド）を、判断用バッファ５２の通常領域に格納する。
【０２２３】
タイミングｔ５以降、データ転送部５１は、空白データ（上端用空白データまたは不足用空白データ）を格納する必要がない。そのため、各画像判断用データに対するデータ転送処理および判断処理を並行して行なっていくことにより、判断速度値とデータ転送速度値との差分に基づいて、徐々に拡張領域における空き領域が増える。そのため、データ転送部５１は、画像判断用データを問題なく判断用バッファ５２に格納することができる。
【０２２４】
このように、実施例６では、バッファ制御部６５が判断用バッファ５２を１／４バンド分だけ拡張することにより、データの消失を防止できる。そのため、紙間時間を０に設定することができ、ラスタライズ処理と判断処理との並列処理の高速化を実現することができる。
【０２２５】
なお、実施例６では、２ページ目の２番目の画像判断用データについて判断用バッファ５２の拡張領域に格納される。
【０２２６】
＜実施例７＞
実施例７は、紙間時間が０であり、第１ライン数が１バンドライン数の１３／２０に設定された場合の例である。
【０２２７】
図１４は、実施例７において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【０２２８】
実施例７では、実施例４と同様に、ステップＳ２およびステップＳ４において、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の両方を満たすと判断される。そのため、ステップＳ３において、速度制御部６４は、判断速度をデータ転送速度の２倍に変更する。また、ステップＳ６において、バッファ制御部６５は、判断用バッファ５２を拡張する。
【０２２９】
なお、実施例７では、格納遅延時間Ｔ３が画像判断遅延時間Ｔ２よりも長い。そのため、バッファ制御部６５は、上記の式（１）に従い、データ転送部５１が時間Ｔ３で格納可能な容量（１／４バンド分）だけ、判断用バッファ５２を拡張する。
【０２３０】
図１４に示されるように、タイミングｔ２からタイミングｔ４の間、判断用バッファ５２の通常領域の全てには、まだ判断処理が完了していない、１ページ目の９番目および１０番目の画像判断用データおよび不足用空白データが格納されている。そのため、データ転送部５１は、２ページ目の１番目の一部の画像判断用データ（１／４バンド）を判断用バッファ５２の拡張領域に格納する。これにより、拡張領域（１／４バンド分）の全てがデータで満たされる。
【０２３１】
タイミングｔ４において、１ページ目の９番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ４から、２ページ目の１番目の残りの画像判断用データ（２／５バンド）と、上端用空白データ（７／２０バンド）と、２ページ目の２番目の一部の画像判断用データ（１／１０バンド）とを、判断用バッファ５２の通常領域に格納する。
【０２３２】
次に、タイミングｔ５において、１ページ目の１０番目の画像判断用データの判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ５から、２ページ目の２番目の残りの画像判断用データ（９／１０バンド）を、判断用バッファ５２の通常領域に格納する。
【０２３３】
タイミングｔ５以降、データ転送部５１は、空白データ（上端用空白データまたは不足用空白データ）を格納する必要がない。そのため、各画像判断用データに対するデータ転送処理および判断処理を並行して行なっていくことにより、判断速度値とデータ転送速度値との差分に基づいて、徐々に拡張領域における空き領域が増える。そのため、データ転送部５１は、画像判断用データを問題なく判断用バッファ５２に格納することができる。
【０２３４】
このように、実施例７では、バッファ制御部６５が判断用バッファ５２を１／４バンド分だけ拡張することにより、データの消失を防止できる。そのため、紙間時間を０に設定することができ、ラスタライズ処理と判断処理との並列処理の高速化を実現することができる。
【０２３５】
なお、実施例７では、２ページ目の１番目の画像判断用データについて判断用バッファ５２の拡張領域に格納される。
【０２３６】
＜実施例８＞
実施例８は、紙間時間が０であり、判断速度の高速値がデータ転送速度の１０／９倍である場合の例である。
【０２３７】
図１５は、実施例８において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【０２３８】
実施例８では、ステップＳ２およびステップＳ４において、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の両方を満たすと判断される。そのため、ステップＳ３において、速度制御部６４は、判断速度をデータ転送速度の１０／９倍に変更する。また、ステップＳ６において、バッファ制御部６５は、判断用バッファ５２を拡張する。
【０２３９】
なお、実施例８では、画像判断遅延時間Ｔ２が格納遅延時間Ｔ３よりも長い。そのため、バッファ制御部６５は、上記の式（１）に従い、データ転送部５１が時間Ｔ２で格納可能な容量（２１／２０バンド分）だけ、判断用バッファ５２を拡張する。
【０２４０】
図１５に示されるように、タイミングｔ２からタイミングｔ４の間、判断用バッファ５２の通常領域の全てには、まだ判断処理が完了していない、１ページ目の９番目および１０番目の画像判断用データおよび不足用空白データが格納されている。そのため、データ転送部５１は、２ページ目の１番目の画像判断用データ（１／２バンド）と、２ページ目の２番目の一部の画像判断用データ（３／２０バンド）とを判断用バッファ５２の拡張領域に格納する。
【０２４１】
タイミングｔ４において、１ページ目の９番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ４から、上端用空白データ（１／２バンド）と、２ページ目の２番目の一部の画像判断用データ（１／２バンド）とを、判断用バッファ５２の通常領域に格納する。
【０２４２】
そして、タイミングｔ７において、判断用バッファ５２の通常領域は、まだ判断処理が完了していないデータで全て満たされる。そのため、データ転送部５１は、タイミングｔ７から、１ページ目の１０番目の判断処理が完了するタイミングｔ５までの間、２ページ目の２番目の残りの画像判断用データ（７／２０バンド）と、２ページ目の３番目の一部の画像判断用データ（１／２０バンド）を、判断用バッファ５２の拡張領域に格納する。これにより、拡張領域（２１／２０バンド分）の全てがデータで満たされる。
【０２４３】
次に、タイミングｔ５において、１ページ目の１０番目の画像判断用データの判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ５から、２ページ目の３番目の残りの画像判断用データ（１９／２０バンド）と、２ページ目の４番目の一部の画像判断用データ（１／２０バンド）を、判断用バッファ５２の通常領域に格納する。
【０２４４】
タイミングｔ５以降、データ転送部５１は、空白データ（上端用空白データまたは不足用空白データ）を格納する必要がない。そのため、各画像判断用データに対するデータ転送処理および判断処理を並行して行なっていくことにより、判断速度値とデータ転送速度値との差分に基づいて、徐々に拡張領域における空き領域が増える。そのため、データ転送部５１は、画像判断用データを問題なく判断用バッファ５２に格納することができる。
【０２４５】
このように、実施例８では、バッファ制御部６５が判断用バッファ５２を２１／２０バンド分だけ拡張することにより、データの消失を防止できる。そのため、紙間時間を０にを設定することができ、ラスタライズ処理と判断処理との並列処理の高速化を実現することができる。
【０２４６】
なお、実施例４では、２ページ目の１〜５番目と７番目と８番目と１１番目との画像判断用データについて判断用バッファ５２の拡張領域に格納される。
【０２４７】
＜実施例９＞
実施例９は、印刷データで示される画像が３ページであり、各ページの画像判断用データの個数Ｍが６であり、判断速度の高速値がデータ転送速度の１０／９倍である場合の例である。
【０２４８】
図１６は、実施例９において、判断速度が高速値に変更されたときの、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【０２４９】
実施例９では、ステップＳ２およびステップＳ４において、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の両方を満たすと判断される。そのため、ステップＳ３において、速度制御部６４は、判断速度をデータ転送速度の１０／９倍に変更する。また、ステップＳ６において、バッファ制御部６５は、判断用バッファ５２を拡張する。
【０２５０】
なお、実施例９では、３ページ目における画像判断遅延時間Ｔ２が最も長い。そのため、バッファ制御部６５は、上記の式（１）に従い、データ転送部５１が当該時間Ｔ２で格納可能な容量（１７／１０バンド分）だけ、判断用バッファ５２を拡張する。
【０２５１】
図１６に示されるように、２ページ目のラスターデータ出力処理が開始するタイミングｔ２ａから１ページ目の５番目の判断処理が完了するタイミングｔ４ａの間、判断用バッファ５２の通常領域の全てには、まだ判断処理が完了していない、１ページ目の５番目および６番目の画像判断用データおよび不足用空白データが格納されている。そのため、データ転送部５１は、２ページ目の１番目の画像判断用データ（１／２バンド）と、２ページ目の２番目の一部の画像判断用データ（３／２０バンド）とを判断用バッファ５２の拡張領域に格納する。
【０２５２】
次に、タイミングｔ４ａにおいて、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ４ａから、上端用空白データ（１／２バンド）と、２ページ目の２番目の一部の画像判断用データ（１／２バンド）とを、判断用バッファ５２の通常領域に格納する。
【０２５３】
そして、２ページ目の２番目の一部の画像判断用データ（１／２バンド）のデータ転送処理が完了したタイミングｔ７ａにおいて、判断用バッファ５２の通常領域は、まだ判断処理が完了していないデータで全て満たされる。そのため、データ転送部５１は、タイミングｔ７ａから、１ページ目の１０番目の判断処理が完了するタイミングｔ５ａまでの間、２ページ目の２番目の残りの画像判断用データ（７／２０バンド）と、２ページ目の３番目の一部の画像判断用データ（１／２０バンド）を、判断用バッファ５２の拡張領域に格納する。
【０２５４】
次に、１ページ目の判断処理が完了するタイミングｔ５ａにおいて、１ページ目の１０番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域の１バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ５ａから、２ページ目の３番目の残りの画像判断用データ（１９／２０バンド）と、２ページ目の４番目の一部の画像判断用データ（１／２０バンド）を、判断用バッファ５２の通常領域に格納する。
【０２５５】
また、データ転送部５１が２ページ目の３番目のデータ転送処理を行なっている最中のタイミングｔ６ａにおいて、２ページ目の１番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域（１／２バンド分）と拡張領域（１／２バンド分）が空き領域となる。
【０２５６】
よって、データ転送部５１は、２ページ目の４番目の一部の画像判断用データ（１／２バンド）を、判断用バッファ５２の通常領域に格納する。
【０２５７】
そして、２ページ目の４番目の画像判断用データのうち１１／２０バンド分のデータ転送処理が完了したタイミングｔ８ａでは、全ての通常領域がデータで満たされている。そのため、データ転送部５１は、タイミングｔ８ａから、２ページ目の２番目の判断処理が完了するタイミングｔ９ａまでの間、２ページ目の４番目の一部の画像判断用データ（３／１０バンド）を、判断用バッファ５２の拡張領域に格納する。
【０２５８】
次に、タイミングｔ９ａにおいて、２ページ目の２番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域の１／２バンド分と、拡張領域の１／２バンド分が空き領域となる。そのため、データ転送部５１は、タイミングｔ９ａから、２ページ目の４番目の残りの画像判断用データ（３／２０バンド）と、２ページ目の５番目の一部の画像判断用データ（７／２０バンド）とを、判断用バッファ５２の通常領域に格納する。
【０２５９】
上記の２ページ目の５番目の一部の画像判断用データ（３／１０バンド）のデータ転送処理が完了するタイミングｔ１０ａでは、全ての通常領域がデータで満たされている。そのため、データ転送部５１は、タイミングｔ１０ａから、２ページ目の３番目の判断処理が完了するタイミングｔ１１ａまでの間、２ページ目の５番目の一部の画像判断用データ（２／５バンド）を、判断用バッファ５２の拡張領域に格納する。
【０２６０】
次に、タイミングｔ１１ａにおいて、２ページ目の３番目の判断処理が完了する。その結果、判断用バッファ５２の通常領域の１９／２０バンド分と、拡張領域の１／２０バンド分とが空き領域となる。そのため、データ転送部５１は、タイミングｔ１１ａから、２ページ目の５番目の残りの画像判断用データ（１／４バンド）を、判断用バッファ５２の通常領域に格納する。
【０２６１】
２ページ目の５番目のデータ転送処理が完了したタイミングｔ１２ａでは、判断用バッファ５２の通常領域の７／１０バンド分および拡張領域の１バンド分が空き領域となっている。
【０２６２】
そのため、データ転送部５１は、タイミングｔ１２ａから、２ページ目の４番目の判断処理が完了するタイミングｔ１３ａまでの間、２ページ目の６番目の画像判断用データ（１／４バンド）と、２ページ目の不足用空白データ（３／４バンド）と、３ページ目の１番目の一部の画像判断用データ（２／５バンド）とを、判断用バッファ５２の通常領域（７／１０バンド分）および拡張領域（７／１０バンド分）に格納する。
【０２６３】
次に、タイミングｔ１３ａにおいて、２ページ目の４番目の判断処理が完了すると、判断用バッファ５２の通常領域の７／１０バンド分と、拡張領域の３／１０バンド分とが新たに空き領域となる。このとき、空き領域の合計は、通常領域の７／１０バンド分と、拡張領域の３／５バンド分となる。
【０２６４】
そのため、データ転送部５１は、タイミングｔ１３ａから、２ページ目の５番目の判断処理が完了するタイミングｔ４までの間に、３ページ目の１番目の残りの画像判断用データ（１／１０バンド）と、３ページ目の一部の上端用空白データ（２／５バンド）と、３ページ目の２番目の一部の画像判断用データ（４／５バンド）とを、空き領域の全てに格納する。
【０２６５】
次に、タイミングｔ４において、２ページ目の５番目の判断処理が完了すると、判断用バッファ５２の通常領域の３／５バンド分と、拡張領域の２／５バンド分とが空き領域となる。
【０２６６】
そのため、データ転送部５１は、タイミングｔ４から、２ページ目の６番目の画像判断用データの判断処理が完了するタイミングｔ５までの間に、３ページ目の残りの上端用空白データ（１／１０バンド）と、３ページ目の２番目の残りの画像判断用データ（１／５バンド）と、３ページ目の３番目の一部の画像判断用データ（７／１０バンド）とを、空き領域に格納する。これにより、拡張領域の全てがデータで満たされる。
【０２６７】
タイミングｔ５以降、データ転送部５１は、空白データ（上端用空白データまたは不足用空白データ）を格納する必要がない。そのため、各画像判断用データに対するデータ転送処理および判断処理を並行して行なっていくことにより、判断速度値とデータ転送速度値との差分に基づいて、徐々に拡張領域における空き領域が増える。そのため、データ転送部５１は、画像判断用データを問題なく判断用バッファ５２に格納することができる。
【０２６８】
このように、印刷データが３ページ以上含む場合、バッファ制御部６５は、各ページの格納遅延時間および画像判断遅延時間のうち最も長い時間でデータ転送部５１が格納可能な容量だけ判断用バッファ５２を拡張する。これにより、データの消失を防止できる。そのため、紙間時間を０に設定することができ、ラスタライズ処理と判断処理との並列処理の高速化を実現することができる。
【０２６９】
＜変形例１＞
上記の説明では、バッファ制御部６５は、印刷データが３ページ以上含む場合、各ページの格納遅延時間および画像判断遅延時間のうち最も長い時間を基に、拡張すべきバッファの容量を決定した。しかしながら、バッファ制御部６５は、ページごとに拡張すべきバッファの容量を決定してもよい。
【０２７０】
この場合、バッファ制御部６５は、２ページ目以降の各ページについて、格納遅延時間Ｔ３および画像判断遅延時間Ｔ２を算出する。そして、バッファ制御部６５は、ページごとに、当該ページについて算出した格納遅延時間Ｔ３および画像判断遅延時間Ｔ２のうち長い方の時間を基に、拡張すべきバッファの容量を決定すればよい。
【０２７１】
バッファ制御部６５は、データ転送部５１がｎページ目（ｎは２以上の整数）の画像判断用データのデータ転送処理を行っている間、当該ｎページ目について決定した容量だけ判断用バッファ５２を拡張する。
【０２７２】
これにより、バッファ制御部６５は、各ページに応じた最適な容量だけ判断用バッファ５２を拡張することができる。その結果、ＭＦＰ１は、判断用バッファ５２の拡張のために削減される、他の処理用のメモリー領域の量（削減量）を低減することができる。
【０２７３】
＜変形例２＞
上記の実施例３から実施例８で説明したように、ページ内の所定番号以降の画像判断用データは、判断用バッファ５２の拡張領域に格納されない。そこで、バッファ制御部６５は、拡張領域が不要になったタイミングで判断用バッファ５２の拡張領域を解放し、通常領域のみに戻してもよい。
【０２７４】
ここで、データ転送部５１が１バンド分のデータを判断用バッファ５２に格納するのに要する時間を１バンド格納時間とし、画像判断部５３が１バンド分のデータに対して判断処理を行なうのに要する時間を１バンド判断時間とする。
【０２７５】
判断速度値がデータ転送速度値よりも大きいことにより、１バンド分の画像判断用データに対する処理が実行されるたびに、１バンド格納時間と１バンド判断時間との差分だけ、各画像判断用データに対するデータ格納処理の完了タイミングと判断処理の開始タイミングとの時間差が縮まる。なお、あるページの１番目の画像判断用データに対する当該時間差は、当該ページの画像判断遅延時間Ｔ２である。
【０２７６】
そして、ある画像判断用データに対するデータ格納処理の完了タイミングと判断処理の開始タイミングとが一致するタイミング以降、データ転送部５１は、判断用バッファ５２の拡張領域にデータを格納する必要がなくなる。すなわち、拡張領域が不要となる。
【０２７７】
そこで、バッファ制御部６５は、情報取得部６１が取得した情報に基づいて、以下の式（２）に従い、拡張領域が不要となるまでの画像判断用データの数（以下、解消数という）を算出する。
解消数＝画像判断遅延時間Ｔ２／｛（１バンドライン数／データ転送速度）−（１バンドライン数／判断速度）｝  ・・・式（２）。
【０２７８】
式（２）において、（１バンドライン数／データ転送速度）は、１バンド格納時間を示す。（１バンドライン数／判断速度）は、１バンド判断時間を示す。
【０２７９】
バッファ制御部６５は、最終ページについて、式（２）により算出した解消数番目の判断処理が完了したタイミングより後に、判断用バッファ５２の拡張領域を解放し、通常領域のみに戻せばよい。
【０２８０】
もしくは、上記変形例１に適用する場合、バッファ制御部６５は、ページごとに、式（２）により算出した解消数番目の判断処理が完了したタイミングより後に、判断用バッファ５２の拡張領域を解放し、通常領域のみに戻せばよい。そして、次のページの処理が開始するタイミングで、バッファ制御部６５は、再度判断用バッファ５２の拡張を行なえばよい。
【０２８１】
これにより、バッファ制御部６５は、必要な期間のみ、判断用バッファ５２を拡張することができる。その結果、ＭＦＰ１は、判断用バッファ５２の拡張のために、他の処理に割り当てられているメモリー領域の制限期間を最小限に抑制することができる。
【０２８２】
＜変形例３＞
上記の説明では、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の少なくとも一方を満たすと判断された場合に、速度制御部６４が画像判断部５３の判断速度値をデフォルト値から高速値に変更するものとした。
【０２８３】
しかしながら、画像判断部５３に割り当てらプロセッサの性能が比較的高い場合、画像判断部５３の判断速度値のデフォルト値として高速値を予め設定していてもよい。すなわち、画像判断部５３は、常に高速値の判断速度（例えば、データ転送速度の２倍）で判断処理を実行することができる。この場合、ＭＦＰ１は、速度制御部６４を備えていなくてもよい。
【０２８４】
＜変形例４＞
上記の第１条件および第２条件は、複数のページに対応するラスターデータが出力されることを前提としている。そのため、高速化処理部６０は、伸長部４４が複数のラスターデータを連続して出力する場合、つまり、印刷データが複数ページのデータを含む場合に限り動作してもよい。
【０２８５】
＜変形例５＞
上記の説明では、判断用バッファ５２の通常領域が２バンド分の容量であることを前提としている。しかしながら、判断用バッファ５２の通常領域の容量は、２バンド分を超えてもよい。
【０２８６】
この場合、情報取得部６１は、判断用バッファ５２の通常領域の容量を取得する。当該容量は、ＭＦＰ１の設計者により予め設定されており、ＲＯＭ２２に予め格納されている。
【０２８７】
高速化判断部６３は、判断用バッファ５２の通常領域の容量を考慮して、タイムスケジュールがオーバーフロー条件を満たすか否かを判断すればよい。例えば、判断用バッファ５２の通常領域の容量が（２バンド＋α）とし、容量α分の画像判断用データに対するデータ転送処理に要する時間をＴαとする。このとき、高速化判断部６３は、タイムスケジュールが以下の第３条件および第４条件の少なくとも一方を満たす場合に、タイムスケジュールがオーバーフロー条件を満たすと判断すればよい。
【０２８８】
第３条件：伸長部４４が対象となるラスターデータの出力処理を開始するタイミングｔ２から時間Ｔαだけ経過したタイミングが、１つ前のラスターデータについて、画像判断部５３が最後から２番目の判断処理を完了するタイミングｔ４よりも前である。
【０２８９】
第４条件：対象となるラスターデータについて、データ転送部５１が最初のデータ転送処理を完了するタイミングｔ３から時間Ｔαだけ経過したタイミングが、１つ前のラスターデータについて、画像判断部５３が最後の判断処理を完了するタイミングｔ５よりも前である。
【０２９０】
［実施の形態２］
本発明の別の実施の形態２に係るＭＦＰについて、以下に説明する。実施の形態２に係るＭＦＰのハードウェア構成は、図２に示す実施の形態１の構成と同じであるため、説明を省略する。
【０２９１】
図１７は、実施の形態２に係るＭＦＰの機能的構成を示す図である。図１７に示されるように、実施の形態２に係るＭＦＰは、実施の形態１のＭＦＰ１と比較して、高速化処理部６０の代わりに高速化処理部６０ａを備える点で相違する。
【０２９２】
高速化処理部６０ａは、高速化処理部６０と比較して、速度制御部６４の代わりに速度制御部６４ａを備える点でのみ相違する。
【０２９３】
速度制御部６４ａは、画像判断部５３の判断速度を制御し、現在設定している判断速度値を情報取得部６１に出力する。
【０２９４】
具体的には、速度制御部６４ａは、新たな印刷ジョブの開始時には、判断速度値としてデフォルト値に設定する。デフォルト値は、画像判断部５３を構成するプロセッサの性能に応じて予め設定される。ただし、デフォルト値は、データ転送速度値（＝ラスターデータ出力速度値）よりも速い値（例えば、データ転送速度の１０／９倍）が設定される。
【０２９５】
また、速度制御部６４ａは、スケジュール情報生成部６２が生成したスケジュール情報に基づいて、以下の式（２）に従い、拡張領域が不要となるまでの画像判断用データの数（解消数）を算出する。なお、式（２）は、実施の形態１の変形例２で示した式と同じである。
解消数＝画像判断遅延時間Ｔ２／｛（１バンドライン数／データ転送速度）−（１バンドライン数／判断速度）｝  ・・・式（２）。
【０２９６】
速度制御部６４ａは、算出した解消数と、各ページに含まれる画像判断用データの個数Ｍとを比較する。算出した解消数が個数Ｍよりも大きい場合、速度制御部６４ａは、以下の式（３）に従い、必要判断速度を算出する。
必要判断速度＝１バンドライン数／｛（１バンドライン数／データ転送速度）−Ｔ２／Ｍ｝  ・・・式（３）。
【０２９７】
速度制御部６４ａは、算出した必要判断速度以上に、画像判断部５３の判断速度を制御する。
【０２９８】
＜ＭＦＰにおける処理の流れ＞
図１８は、実施の形態２に係るＭＦＰにおける処理の流れを示すフローチャートである。図１８に示されるように、ＭＦＰが印刷ジョブの開始指示を受け付けると、情報取得部６１は、各種の情報を取得する（ステップＳ２１）。このとき、速度制御部６４ａは、画像判断部５３による判断速度値をデフォルト値に設定する。
【０２９９】
ステップＳ２１において、速度制御部６４ａは、画像判断部５３による判断速度値をデフォルト値に設定し、当該デフォルト値を情報取得部６１に送る。そして、スケジュール情報生成部６２は、情報取得部６１が取得した情報（デフォルト値を示す判断速度を含む）を基にスケジュール情報を生成する。
【０３００】
次に、高速化判断部６３は、スケジュール情報で示されるタイムスケジュールが第１条件および第２条件の少なくとも一方を満たすか否かを判断する（ステップＳ２２）。
【０３０１】
タイムスケジュールが第１条件および第２条件の少なくとも一方を満たす場合（ステップＳ２２でＹＥＳ）、高速化判断部６３は、高速化指示を速度制御部６４ａに出力する。
【０３０２】
高速化指示を受けた速度制御部６４ａは、スケジュール情報に基づいて、上記式（２）により解消数を算出する（ステップＳ２３）。
【０３０３】
次に、速度制御部６４ａは、ページ内で拡張領域が不要になるか否かを判断する（ステップＳ２４）。具体的には、速度制御部６４ａは、ステップＳ２３で算出した解消数と各ページに含まれる画像判断用データの個数Ｍとを比較する。そして、解消数が個数Ｍ以下である場合に、速度制御部６４ａは、ページ内で拡張領域が不要になると判断する。
【０３０４】
ページ内で拡張領域が不要にならない場合（ステップＳ２４においてＮＯ）、速度制御部６４ａは、上記の式（３）に基づいて必要判断速度を算出する。そして、速度制御部６４ａは、算出した必要判断速度以上に、画像判断部５３の判断速度を制御する（ステップＳ２５）。
【０３０５】
ステップＳ２５において、情報取得部６１は、速度制御部６４から、変更後の判断速度の値を取得する。そして、スケジュール情報生成部６２は、情報取得部６１が取得した情報を基にスケジュール情報を生成し直す。
【０３０６】
次に、バッファ制御部６５は、最新のスケジュール情報に基づき、画像判断遅延時間Ｔ２および格納遅延時間Ｔ３を算出する。すなわち、バッファ制御部６５は、ステップＳ２５の後にステップＳ２７を行なう場合、変更後の判断速度に基づいて生成されたスケジュール情報に基づいて、遅延時間を算出する。また、バッファ制御部６５は、ステップＳ２４でＹＥＳの場合、デフォルト値の判断速度に基づいて生成されたスケジュール情報に基づいて、遅延時間を算出する。そして、バッファ制御部６５は、算出した遅延時間に基づいて、上記の式（１）により拡張すべき容量を算出し、算出した容量だけ判断用バッファ５２を拡張する（ステップＳ２６）。
【０３０７】
例えば、図１６に示すような上記の実施の形態１の実施例９のようなラスターデータが出力され、判断速度のデフォルト値がデータ転送速度の１０／９倍の場合、速度制御部６４ａは、ステップＳ２４において、ページ内で遅延時間が解消できないと判断する。そして、速度制御部６４ａは、ステップＳ２５において、画像判断部５３の判断速度を、ページ内で遅延時間が解消し得る速度に変更する。さらに、バッファ制御部６５は、変更後の判断速度に基づいて拡張すべきバッファの容量を決定する。
【０３０８】
図１９は、ページ内で拡張領域が不要になるような判断速度（ここでは、データ転送速度の４／３倍）に変更された後の、ラスターデータ出力処理、データ転送処理および判断処理のタイムスケジュールを示す図である。
【０３０９】
図１９に示されるように、各ページにおける画像判断遅延時間は、当該ページ内の画像判断データに対する処理で解消される。そのため、遅延時間がページごとに蓄積されることがない。したがって、バッファ制御部６５による判断用バッファ５２の拡張領域の容量を小さくすることができる。その結果、ＭＦＰは、判断用バッファ５２の拡張のために削減される、他の処理用のメモリー領域の量（削減量）を低減することができる。
【０３１０】
上記の実施の形態１および実施の形態２において、上述の動作（図７に示すステップＳ１〜ステップＳ６（特に、ステップＳ３〜ステップＳ６）または図１８に示すステップＳ２１〜ステップＳ２６を含む）をＭＦＰ１に実行させるためのプログラムが提供されてもよい。このようなプログラムは、ＭＦＰ１のコンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only  Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読み取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０３１１】
なお、プログラムは、コンピュータのＯＳ（Operating System）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。
【０３１２】
また、実施の形態１および実施の形態２にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、実施の形態１および実施の形態２にかかるプログラムに含まれ得る。
【０３１３】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０３１４】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０３１５】
１  ＭＦＰ、２１  ＲＡＭ、２２  ＲＯＭ、２３  データ記憶部、４０  ラスタライズ処理部、４１  ＲＩＰ処理部、４２  圧縮部、４３  ページバッファ、４４  伸長部、４５  遅延バッファ、５０  検知部、５１  データ転送部、５２  判断用バッファ、５３  画像判断部、５４  プリント制御部、６０，６０ａ  高速化処理部、６１  情報取得部、６２  スケジュール情報生成部、６３  高速化判断部、６４，６４ａ  速度制御部、６５  バッファ制御部。
【図１】
2018029275.tif 000006
【図２】
2018029275.tif 000007
【図３】
2018029275.tif 000008
【図４】
2018029275.tif 000009
【図５】
2018029275.tif 000010
【図６】
2018029275.tif 000011
【図７】
2018029275.tif 000012
【図８】
2018029275.tif 000013
【図９】
2018029275.tif 000014
【図１０】
2018029275.tif 000015
【図１１】
2018029275.tif 000016
【図１２】
2018029275.tif 000017
【図１３】
2018029275.tif 000018
【図１４】
2018029275.tif 000019
【図１５】
2018029275.tif 000020
【図１６】
2018029275.tif 000021
【図１７】
2018029275.tif 000022
【図１８】
2018029275.tif 000023
【図１９】
2018029275.tif 000024