以下、添付図面を参照して、本発明の好適な実施の形態を例示的に詳細に説明する。但し、この実施の形態に記載されている構成要素の相対配置、装置形状等は、あくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
本明細書において「画像形成装置」とは、印刷機能に特化した専用機に限らず、印刷機能とその他の機能を複合した複合機や、記録紙上に画像やパターンを形成する製造装置等の装置も含むものとする。
[実施例1]
本実施例では、印刷動作の停止を抑制することができる画像形成装置について述べる。本実施例の画像形成装置において、画像処理の遅れ(プリントデータの生成の遅れ)が発生したと判定し場合に、動的にメンテナンス用パターンを挿入することで印刷動作を間に合わせることにより、印刷動作の停止を抑制する。
図1は、本実施例における画像形成装置の全体構成を示す断面図である。画像形成装置100は、L判、A4、A3などの所定のサイズに切り揃えられた用紙(以下、カットシート)に画像を形成する画像形成装置である。画像形成装置100は、給紙トレイ101と、回転ローラ104と、印刷ヘッド105と、インクタンク106と、スキャナユニット107とを備える。尚、本実施例における画像形成装置は様々な用紙サイズ、用紙種類のカットシートへの印刷に対応しており複数の給紙トレイを有している。簡単のため、図1では、同じ用紙サイズ及び用紙種類を有する複数枚のカットシートがセットされている1つの給紙トレイを示している。画像形成装置100はさらに、乾燥ユニット108と、反転ユニット109と、仕分けユニット110と、制御ユニット113と、操作ユニット114とを備える。制御ユニット113は、CPU、ROM、及びRAM等から構成されるコントローラ、並びに、各種I/Oインターフェースを備えたユニットであり、画像形成装置100の全体の制御を司る。
給紙トレイ101から引き出された用紙は、モータ制御で駆動する回転ローラ104により、矢印aの方向に進行する。その後、用紙は矢印bの方向に進行して、印刷ヘッド105の下を通過する。
印刷ヘッド105では、複数色(本実施例では6色)分の独立したインクジェットヘッドがシートの搬送方向に沿って保持されている。用紙の搬送に同期して、印刷ヘッド105からインクを吐出して用紙上に画像を形成する。
インクタンク106は各色のインクを独立して貯蔵する。インクタンク106からはチューブによって各色に対応した印刷ヘッド105へと接続され、インクが供給される。なお、インクタンク106およびチューブは、インクジェットヘッドの色ごとに存在するが、簡単のため図1では1つのインクタンクおよび1つのチューブしか図示していない。
印刷ヘッド105においては、印刷時の搬送方向b方向に沿って各色(本実施例では6色)のラインヘッドが並んでいる。各色のラインヘッドは、継ぎ目無く単一のノズルチップで形成されたものであってもよいし、分割されたノズルチップが一列又は千鳥配列のように規則的に並べられたものであってもよい。本実施例における印刷ヘッド105は、画像形成装置100が印刷可能な最大サイズの用紙の幅をカバーする範囲にノズルが並んでいる所謂フルマルチヘッドである。ノズルからインクを吐出するインクジェット方式は、発熱素子を用いた方式、ピエゾ素子を用いた方式、静電素子を用いた方式、MEMS素子を用いた方式等を採用することができる。プリントデータに基づいて各ヘッドのノズルからインクが吐出される。なお、本実施例ではインクジェット方式のプリンタに限定されず、サーマルプリンタ(昇華型、熱転写型など)、ドットインパクトプリンタ、LEDプリンタ、レーザープリンタなど、様々な印刷方式のプリンタに適用可能である。
印刷ヘッド105により画像が形成された用紙は、回転ローラ104によりスキャナユニット107まで搬送される。スキャナユニット107は、印刷画像や特殊パターンを読取って、印刷画像に問題があるか否かの確認や、画像形成装置100の状態確認を行うことが可能である。また、スキャナユニット107は印刷面と相対する裏面の状態を読み取ることも可能で、所定のパターンにより表面と裏面の印刷位置のずれなどを検出することが可能である。
スキャナユニット107から搬送された用紙は、回転ローラ104により矢印cの方向に進行し、乾燥ユニット108に搬送される。乾燥ユニット108は、インクが付与された用紙を短時間で乾燥させるために、ユニット内を通過する用紙を温風で加熱するユニットである。
乾燥ユニット108を通過した用紙は、矢印dの方向に進行し、反転ユニット109に搬送される。反転ユニット109は、通過する用紙の表裏を反転する。用紙を反転する方式は、スイッチバック方式や搬送経路を緩やかにひねる方式などがあるが、スイッチバック方式は用紙の動きを一旦停止させる必要があるのに対し、搬送経路をひねる方式は用紙の搬送速度を一定に保つことができ、高速印刷に適している。
反転ユニット109を通過した用紙は、矢印eの方向に進行し、その時点で表と裏が反転された状態となる。その後、用紙はさらに矢印fの方向に進行し、再度印刷ヘッド105の下を通過する。
このように、矢印b〜c〜d〜e〜fが示す経路は用紙が循環する経路であり、用紙はこの経路を1周する度に表面と裏面が入れ替わる。この循環する経路上に同時に存在できる用紙の数を本明細書では循環可能枚数という。循環可能枚数は用紙サイズによって変わる。例えばA3サイズの循環可能枚数が3枚であるということは、矢印b〜c〜d〜e〜fが示す経路上にA3サイズの用紙を最大3枚同時に搬送できることを示す。
一方、印刷が完了した用紙は反転ユニット109を通らずに矢印gの方向に分岐し、仕分けユニット110に搬送される。つまり、片面印刷の場合、用紙は循環経路の1周目の途中で矢印gの方向に分岐し、両面印刷の場合、用紙は循環経路の2周目の途中で矢印gの方向に分岐する。仕分けユニット110はセンサで印刷画像を確認しながら印刷画像毎に設定されたトレイ番号に対応する排紙トレイ111に用紙を積載していく。
仕分けユニット110は、複数のトレイ(実施例では5段)の中から、ジョブ単位や部単位などの排紙設定に応じで用紙を積載するトレイを分別する。本実施例におけるトレイは、印刷が良好に完了した用紙を排紙する排紙トレイ111とメンテナンスで使用した用紙や品質の悪い用紙を廃棄する廃棄トレイ112を含む。仕分けユニット110により矢印hの方向に分岐した用紙は排紙トレイ111へ、矢印iの方向に分岐した用紙は廃棄トレイ112に搬送される。
操作ユニット114は、印刷が完了した用紙はどのトレイに積載されているか、あるいは印刷中か印刷終了かエラー発生中か等印刷ジョブ毎の印刷状況をユーザが確認するためのユニットである。また、操作ユニット114を介して、ユーザがインク残量や、紙の残量等装置状態の確認、ヘッドクリーニング等の装置メンテナンスの実施を行うことが可能である。
用紙センサ115は、経路内の用紙が到達したかの判定を行う。用紙が用紙センサ115まで達した場合、給紙トレイからの給紙を行うことを禁止する。なお、用紙センサ115は、複数配置することが可能であり、印刷する用紙サイズや搬送速度によって、判定に使用するセンサの位置を変えることが可能である。
図8は、本実施例における画像形成装置100および情報処理装置200のハードウェア構成を示す図である。本実施例の画像形成装置100は、画像形成装置100の各種制御を司る制御ユニット120と、プリンタエンジンとを備える。さらに、制御ユニット120は、RAM122、CPU123、HDD124、ネットワークI/F125(「I/F」はインターフェースを意味する)、エンジンI/F126、操作ユニットI/F128から構成される。プリンタエンジン、操作ユニット130と制御ユニット120とは、それぞれエンジンI/F126、操作ユニットI/F128を介して接続される。なお、後述するが、画像形成装置100と情報処理装置200は、ネットワークI/Fの他に、印刷データ専用線でも接続されている。
RAM122は、揮発性メモリであり、電源投入時にHDD124に格納された各機能ブロックのプログラムが展開される。また、RAM122は、各機能ブロックで高速に読み出しおよび書き込みされる情報を格納する一次的な記憶領域になる。さらに、RAM122は、情報処理装置200から送信された印刷データ(画像データ)及びプリントエンジン部に送信する処理済みの印刷データなどを格納する。CPU123は、RAM122に展開された各機能ブロックのプログラムを実行する演算プロセッサーである。HDD124は、大量の情報を格納可能な記憶装置であり、各機能ブロックのプログラム、アプリケーションデータを格納する二次的な記憶領域になる。ネットワークI/F125は、ネットワークNWを介して、情報処理装置200と通信を行う。エンジンI/F126は、プリンタエンジン127に依存するフォーマットの画像データをプリンタエンジン127に出力する。プリンタエンジン127は、図1に示される各ユニットを駆動し、画像データに基づいて用紙に画像を印刷とともに、搬送ローラ102などの給紙機構を駆動し、給紙トレイ101から搬送経路に用紙を供給する。操作ユニットI/F128は、操作ユニット130との通信を行う。操作ユニット130は、上述の通りユーザの操作によって入力指示を受け付けることができるほか、用紙の排出先トレイや、印刷中、印刷終了、またはエラー発生中かなどの画像形成装置100の状態をユーザに提示する表示部としても機能する。
情報処理装置200は、RAM251、CPU252、HDD253、ネットワークI/F254、ディスプレイ255から構成される。RAM251は、揮発性メモリであり、電源投入時にHDD253に格納された各機能ブロックのプログラムが展開される。また、RAM251は、各機能ブロックで高速に読み書きされる情報を格納する一次的な記憶領域になる。CPU252は、RAM251に展開された各機能ブロックのプログラムを実行する演算プロセッサーである。HDD253は、大量の情報を格納可能な記憶装置であり、各機能ブロックのプログラム、アプリケーションデータを格納する二次的な記憶領域になる。ネットワークI/F254は、画像形成装置100や、他の情報処理装置(不図示)とネットワークNWを介して通信を行う。ディスプレイ255は、電源投入時やアプリケーション起動時の画面表示を行うとともに、画像形成装置100に印刷させる画像を表示することができる。
本実施例の情報処理装置200は、画像形成装置100に印刷ジョブを発行する。さらに、情報処理装置200は、印刷対象となる画像データを生成する。印刷用の画像データは、例えば一般的なビットマップデータである。情報処理装置200は、他の情報処理端末(不図示)によって投入されたPDLデータを受信し、PDLの描画命令を解釈することにより、中間データおよび上記ビットマップデータを生成することができる。つまり、本実施例の情報処理装置200は、図8に示される印刷システムにおいて、RIP(Raster Image Processing)を行う役割を担う。
図2は、本実施例における画像形成装置100の機能構成を示すブロック図である。画像形成装置100は、PC等やサーバーなどの情報処理装置200から受信された印刷ジョブに基づき、用紙に画像を形成する。印刷ジョブは、印刷設定情報とプリントデータとから構成される。印刷設定情報には、例えば、印刷ジョブに設定される識別子、用紙サイズ、用紙の種類、片面/両面印刷設定、印刷解像度、印刷色数が含まれる。また印刷設定情報には、印刷ジョブがプリント用のジョブであるかメンテナンス用のジョブであるか等を表すジョブタイプ、カラー/モノクロ設定が含まれる。プリントデータは、ページ毎の画像データである。1つの印刷ジョブには1つの印刷設定と印刷ページ数分の複数のプリントデータとが含まれる。
画像形成装置100は、コントロール部203、画像処理部204、ユーザインターフェース部205、およびプリンタエンジン部206を備える。
コントロール部203は、情報処理装置200から受信された印刷ジョブを解析する。また、コントロール部203は、印刷ジョブにおける画像データを画像処理部204に渡す。画像処理部204は、渡された画像データから画像形成装置100依存のプリントデータを生成し、プリンタエンジン部206に送信する。また、コントロール部203は、印刷ジョブの解析結果や、ユーザインターフェース部205を介してユーザが入力した指示に基づき、ページ毎の印刷設定情報を取得する。そして、ページ毎の印刷設定情報に基づく印刷を指示するためのコマンドを作成し、プリンタエンジン部206に送信する。コントロール部203及び画像処理部204の詳細は後述する。
ユーザインターフェース部205は、図1に示した操作ユニット114などから構成されおり、ユーザからの指示の受付や画像形成装置100の状態の表示を行う。プリンタエンジン部206は、図1に示した印刷ヘッド105などから構成されており、コントロール部203が送信した印刷設定情報及び画像処理部204が送信したプリントデータに基づき、適切なサイズのカットシート等の用紙へ印刷を行う。
以下、コントロール部203について詳細に説明する。コントロール部203は、ジョブ受信部207と、ジョブ解析部209と、ジョブ管理部208と、画像処理管理部210と、ユーザインターフェース制御部213と、印刷情報転送部214とを有する。
ジョブ受信部207は、情報処理装置200から印刷ジョブを受信し、印刷ジョブにおける画像データを画像処理部204に入力する。
ジョブ解析部209は、受信された印刷ジョブを解析し、解析結果をジョブ管理部208に通知する。ここで解析結果には、印刷ジョブにおける画像データのページ毎について印刷設定情報や画像処理部204で実行する処理内容などが含まれる。
ジョブ管理部208は、印刷ジョブを管理する。具体的にジョブ管理部208は、画像処理管理部210を介して画像処理部204に対し、画像データのページ毎に画像処理を実行し、画像処理後のプリントデータを所定の順序でプリンタエンジン部206に送信するよう指示する。また、ジョブ管理部208は、ジョブ解析部及び/またはユーザインターフェース制御部213から取得された印刷設定情報を印刷情報転送部214に通知する。そして、印刷情報転送部214に対し、ページ毎に印刷を指示するためのコマンドを生成し、所定の順序でプリンタエンジン部206に送信するよう指示する。
画像処理管理部210は、ジョブ管理部208からの指示に従い、必要な画像処理を実行するよう画像処理部204に指示する。
印刷情報転送部214は、印刷設定情報に基づく印刷を指示するためのコマンドを作成し、プリンタエンジン部206に送信する。
以下、画像処理部204について詳細に説明する。画像処理部204は、受信データ蓄積部221と、変換部222と、処理済みデータ蓄積部223と、判定部224と、挿入部225とを有する。本実施例では、情報処理装置200から受信された印刷ジョブにおける画像データは、ビットマップデータである。ビットマップデータはコントロール部203のジョブ受信部207により受信データ蓄積部221に書きこまれる。ビットマップデータを受信データ蓄積部221に書き込んだのち、変換部222はそのデータを入力とした画像処理を行ない、画像処理済みのプリントデータを処理済みデータ蓄積部223に書き込む。変換部222で行う画像処理は、例えば、ビットマップデータを画像形成装置100依存のプリントデータに変換する処理などを含む。その後、処理済みデータ蓄積部223に書きこまれた画像処理済みのプリントデータはプリンタエンジン部206に送信される。判定部224は受信データ蓄積部221でのデータ書き込み量と処理済みデータ蓄積部223でのデータ書き込み量とを比較して、画像処理の遅れが発生したか否かを判定する。画像処理の遅れが発生したと判定された場合に、挿入部225は、メンテナンス予備吐出パターンの印刷を挿入する。
なお、判定部224は、受信ページ数測定部及び処理済みページ数測定部に問い合わせを行うことで画像処理部204の受信ページ数(画像データページ数)及び処理済みページ数(プリントデータページ数)を取得する構成とすることができる。受信ページ数測定部は、画像処理部204の受信データ蓄積部221に書きこまれた画像データ(ビットマップデータ)のデータ量をページ数に換算して保持する構成である。受信ページ数測定部は、受信データ蓄積部221に書きこまれたデータ量を1ページ分の画像データのサイズで割った商を算出することでページ換算を行う。処理済みページ数測定部は画像処理部204の処理済みデータ蓄積部223に書きこまれた画像処理済みのプリントデータのデータ量をページ数に換算して保持する構成である。処理済みページ数測定部は、処理済みデータ蓄積部223に書きこまれたデータ量を1ページ分のプリントデータのサイズで割った商を算出することでページ換算を行う。なお、受信ページ数測定部及び処理済みページ数測定部は、図2に示されていないが、例えばコントロール部203と画像処理部204のいずれかに含まれるように構成されるものとすることができる。
なお、本実施例では画像形成装置100の画像処理の動作モードとして、オンザフライ有効のモードとオンザフライ無効のモードとのいずれかに設定することが可能である。オンザフライ無効のモードでは、画像形成装置100は、印刷ジョブの受信が完了してからプリントデータを生成する。一方、オンザフライ有効のモードでは、画像形成装置100は、受信した画像データに対して即座に画像処理を行いプリンタエンジン側へ送信する。具体的に画像形成装置100は、受信した画像データを画像処理部204に渡し受信データ蓄積部221をバッファにして画像データの書き込みを行い、画像処理後のデータを処理済みデータ蓄積部223に書きこんだのちにプリンタエンジン部206へ送信する。つまり、画像形成装置100は印刷ジョブを受信しながら、すなわち1ページ分の画像データを受信する毎に、当該画像データからプリントデータを生成する。オンザフライ有効のモードは、ファーストプリントを早くするために好適であり、例えば、単葉写真印刷のようにページ単位で印刷成果物が成り立つ場合に好適である。オンザフライ有効のモードを利用する場合は、オンザフライ無効のモードを利用する場合よりデータ切れが発生しやすいので、特に印刷切れを防ぐ必要がある。
以下、本実施例に係る印刷ジョブを構成するデータについて説明する。図3(a)は、印刷ジョブ300を構成するデータを示す図である。印刷ジョブ300は画像データ301(301a〜301c)と、これらの画像データの画像情報302とを含む。印刷ジョブ300は、情報処理装置200から受信される。
画像情報302は、例えばページ毎の画像データに関する情報や、その印刷条件を示す情報を含むものであり、ジョブ解析部209によって解析される。ここで、印刷条件を示す情報としては、例えば、印刷品質(高速印刷モード、写真印刷モード、標準印刷モード等)やシートの種類などの印刷設定等が挙げられる。なお、画像情報302は、例えばXML(Extensible Markup Language)形式の電子データで構成されるものとすることができるが、これに限らず、ジョブ解析部209により解析される他の形式でもよい。なお、画像情報302は、印刷ジョブ300に含まれておらず、別途、情報処理装置200や、その他の外部装置から指示されるコマンドであってもよいし、操作ユニット114から入力される設定値であってもよい。
画像データ301は、例えば、3つの写真画像であり、3つの単位画像(3ページ分)で構成されている。第1ページ(ページ番号1)の画像データ301aは、例えば幅200mm×高さ250mmで記録するように指示された写真画像であり、データサイズが400MBとなり、対応する画像処理済みのプリントデータのデータサイズが500MBとなる。また、第2ページ(ページ番号2)の画像データ301b及び第3ページ(ページ番号3)の画像データ301cは、同様な画像情報を有するものとして示されているが、異なる画像情報を有するものとしてもよい。これらの各画像データ301は、ページ番号の順に記録される。なお、ここでは、上記画像データ301は、3つの写真画像で構成された態様を示したが、画像データ301は、葉書であってもよいし、フォトブックのように複数の写真画像で1つの印刷成果物を形成するものであってもよい。
図3(b)は、印刷ジョブ300が、連続シートに印刷される様子を示した図である。先頭からページ番号順に画像データ301a、画像データ301b、補助パターン(ヘッドメンテナンス用の予備吐出パターン)が印刷され、続いて画像データ301cの順番に印刷される。メンテナンス用パターンは印刷非成果物であり、商品とならずに廃却されるものである。
次に、図3を参照しながら、画像処理の遅れに起因してプリンタエンジン部206が印刷するデータがなくなる「データ切れ」について説明する。なお、データ切れが生じると、シートへの記録が完了していないにも関わらず記録動作を中断せざるを得なくなってしまう。
情報処理装置200から受信された印刷ジョブ300における画像データ301が、画像処理部204の受信データ蓄積部221に書きこまれると、画像処理部204は画像データ301aから順に逐次プリントデータを生成する。生成されたプリントデータは逐次均等のサイズにカットされた印刷紙に出力されるよう制御される。
ここで、画像データ301cが受信データ蓄積部221に書きこまれたのち、画像処理部204の変換部222で行なわれる画像処理の時間が画像データ301aや画像データ301bよりも極端に長い場合について説明する。画像データ301a及び画像データ301bの画像処理が終了して印刷が行われると画像データ301aと画像データ301bはそのまま排紙トレイ111に排出され印刷成果物となる。しかし、その後の画像データ301cを印刷しようとする段階で画像データ301cの画像処理が完了していないというケースが生じる。画像処理が完了していない原因としては、画像データ301cのデータ量が大きく画像処理の所要時間が長い、ネットワーク要因により情報処理装置200と制御部13の通信速度が遅くなりデータ受信に時間がかかった、等が挙げられる。
図4は、本実施例における係る印刷制御シーケンスを示すフローチャートであり、制御ユニット113により制御されるプリント動作の全体シーケンスを示している。
プリントの指令に基づいて、ステップS401においてコントロール部203は、情報処理装置200から印刷ジョブ300の受信を開始し、画像処理部204へ画像データを送信する。すなわち、受信された印刷ジョブ300の画像データが受信データ蓄積部221に書きこまれる。このとき、受信データ蓄積部221に書きこまれる画像データは、受信データ蓄積部221が保存できる量以下であり、情報処理装置200から受信した画像データの一部となる場合もある。すなわち、例えば、情報処理装置200から受信した印刷ジョブ300の画像データが30ページであり、受信データ蓄積部221が保存できる量が5ページ分の場合は、5ページ分以下ずつ、受信データ蓄積部221に保存する。処理はステップS402へ移行する。
ステップS402において画像処理部204は、コントロール部203から印刷開始命令が来ているか否かを待ち受けし、印刷開始命令が来ていなければ、処理はステップS401に移行し、印刷開始命令が来ていれば、処理はステップS403に移行する。
ステップS403において画像処理部204は、変換部222による画像処理を開始する。その後、処理はステップS404に移行する。
ステップS404において画像処理部204は、印刷開始または印刷完了から所定時間τが経過したか否かを判定する。所定時間τが経過していれば、処理はステップS405に移行し、まだ所定時間τが経っていなければ、処理はステップS403に移行する。ここで、所定時間τは、受信データ蓄積部221に新たに蓄積する画像データのデータ量に基づいて決定する。すなわち、本実施例では、所定時間τは、画像データのデータ量に応じて変化する。具体的には、所定時間τは、受信データ蓄積部221に新たに蓄積する画像データを変換部222が変換処理をするのにかかる時間と同等以上の値とする。なお、変換処理をするのにかかる時間に、所定のマージンの時間を加算した値としてもよい。例えば、受信データ蓄積部221には、5ページ分の画像データを蓄積できることができ、S401において受信データ蓄積部221が3ページ分の画像データを受信した場合は、3ページ分の画像データを変換部222で変換するのにかかる時間を設定する。
ステップS405において画像処理部204における判定部224は、受信ページ数測定部及び処理済みページ数測定部に問い合わせを行うことにより、画像処理部204の受信ページ数及び処理済みページ数を取得する。そして、取得した受信ページ数と処理済みページ数とを比較し、処理済みページ数が受信ページ数よりも少ないか否かを判定する。言い換えれば、S405では、受信ページ数及び処理済みページ数に基づいて、プリントデータの遅れが発生しているかを判定する。ここでは、プリントデータの遅れが発生している状態とは、プリントデータのデータ切れが発生する可能性があることを指す。ここで、「受信ページ数」とは、S401において受信データ蓄積部221が新たに受信した画像データのページ数、すなわち、受信データ蓄積部221に新たに蓄積する画像データのページ数である。「処理済みページ数」とは、受信データ蓄積部221に新たに蓄積する画像データのページ数のうち処理済みのページ数である。受信ページ数よりも処理済みページ数が上回ることはないので、処理済みページの方が受信ページ数よりも少ない場合、及び受信ページ数と処理済みページ数が等しくなる場合のみがある。本ステップで受信ページ数が処理済みページ数より大きいと判定された場合、すなわち、所定時間τが経過したにも関わらず、受信ページ数を処理できていない場合、処理はステップS406に移行する。受信ページ数が処理済みページ数以下であると判定された場合、処理はステップS408に移行する。
ステップS409において、画像処理部204は、全ての印刷ジョブが終了したかどうかを判定する。画像処理部204は、全ての印刷ジョブが終了していなければ、ステップS405に処理を移行し、全ての印刷ジョブが終了していれば、印刷動作を終了する。
本実施例における受信ページ数及び処理済みページ数は、具体的に以下のように定義する。
受信ページ数=(受信データ蓄積部に書きこまれた画像データのデータ量÷1ページ分の画像データのサイズ)の整数部分
処理済みページ数=(画像処理後処理済みデータ蓄積部に書きこまれているプリントデータのデータ量÷1ページ分のプリントデータのサイズ)の整数部分
また、受信ページ数と処理済みページ数を算出(特定)するのに必要な情報は画像情報302から取得される。本実施例では、印刷ジョブにおける画像情報302によると、A4サイズ1ページ分のビットマップデータのサイズは、各ページについて同じで400MB400MBである。受信データ蓄積部221に書きこまれたビットマップデータのデータ量が合計1200MBであるとき、1200MB÷400MB=3であるので、3ページ分が受信ページ数となる。また、画像情報302によると、1ページ分のプリントデータのサイズは、各ページについて同じで500MBである。処理済みデータ蓄積部223に書きこまれた画像処理済みのプリントデータのデータ量が合計1000MBであるとき、1000MB÷500MB=2であるので、2ページ分が処理済みページ数となる。
図5は、受信データ蓄積部221に書きこまれた印刷用ビットマップデータの画像データと、処理済みデータ蓄積部223に書きこまれたプリントデータを模式的に示している。図において、網掛けされている部分は、データが書き込まれている状態を示しており、網掛けされていない部分は、データが書き込まれていない状態を示している。また、1つの四角は、1ページ分のデータを示している。以下、図5を参照しながらステップS405の判定処理について詳細に説明する。
状態501aは変換部222による画像処理の前に受信データ蓄積部221にビットマップデータが書きこまれた状態を表している。状態501bは変換部222による画像処理の前に処理済みデータ蓄積部223にまだプリントデータが存在していない状態を表している。
状態501c及び状態501dは、それぞれ、変換部222による画像処理の後に受信データ蓄積部と処理済みデータ蓄積部の状態を示している。状態501cは書きこまれた画像データが画像処理によって使用されたのちクリアされた受信データ蓄積部221の状態を示している。501dは画像処理が終了し、画像処理の結果であるプリントデータが書きこまれた処理済みデータ蓄積部223の状態を示している。
状態501e及び状態501fは、状態501c及び状態501dと同様に、それぞれ、画像処理後の受信データ蓄積部と処理済みデータ蓄積部の状態を示している。501eは書きこまれた画像データが画像処理によって使用されたのちクリアされた受信データ蓄積部221の状態を示している。501fは画像処理が終了し、画像処理の結果であるプリントデータを書きこんだ処理済みデータ蓄積部223の状態を示している。
また、画像データ502は、受信データ蓄積部221に書きこまれたビットマップデータを示しており、3ページ分のデータ量が書きこまれている。プリントデータ503は、処理済みデータ蓄積部223に書きこまれたプリントデータを示しており、3ページ分のデータ量が書きこまれている。プリントデータ504は、処理済みデータ蓄積部223に書きこまれたプリントデータを示しており、2ページ分のデータ量が書きこまれている。
受信データ蓄積部221の、画像処理前の初期状態が状態501aであるとする。画像処理前の状態、すなわち、新たに受信した画像データのページ数が501aであり、所定時間τを経過後にプリントデータが書きこまれた処理済みデータ蓄積部223の状態が状態501dのとき、受信ページ数と処理済みページ数とは等しいこととなる。そのため、ステップS405では、「No」と判定され、処理はステップS408に移行する。なお、ステップS405で「No」と判定された場合は、プリントデータの遅れが発生していないと判定されたことになる。
一方、所定時間τを経過後に、プリントデータが書きこまれた処理済みデータ蓄積部223の状態が状態501fのとき、受信ページ数が3ページ部であるのに対して処理済みページ数は2であるため、処理済みページ数は受信ページ数よりも少ない。そのため、ステップS405では「Yes」と判定され、処理はステップS406に移行する。なお、ステップS405で「Yes」と判定された場合は、プリントデータの遅れが発生していると判定されたことになる。
ステップS405で「Yes」と判定された場合、次に、ステップS406において画像処理部204は、判定部224の結果に基づいて、メンテナンス用パターンを挿入する命令を発行する。メンテナンス用パターンを挿入する命令は、画像処理部204に対し、メンテナンス用パターンを挿入するよう指示する命令であってもよいし、他の処理部に対する挿入の依頼であってもよい。メンテナンス用パターンを挿入する命令を発行したら、次に、処理はステップS407に移行する。
ステップS407において画像処理部204は、処理済みデータ蓄積部223にプリントデータが溜まっているか否かを判定する。プリントデータが溜まっていないと判定された場合、処理はステップS406に移行し、プリントデータが溜まっていると判定された場合、処理はステップS408に移行する。なお、0byteよりも大きいサイズのデータが処理済みデータ蓄積部223に書きこまれている状態であれば、プリントデータが溜まっていると判定する。
ステップS408において画像処理部204は、処理済みデータ蓄積部223に溜まっているプリントデータをプリンタエンジン部206に送信し、プリントデータの印刷を開始する。このとき、印刷ジョブに対応するプリントデータに基づく画像を印刷するが、メンテナンス用パターンの命令が発行されている場合は、メンテナンス用パターンを印刷する。ここで、メンテナンス用パターンとしては、例えば、予備吐出パターンや、レジ調整パターン、不吐監視パターン等が挙げられる。そして、メンテナンス用パターンを印刷した場合は、スキャナユニット107等によりメンテナンス用パターンを読取り、画像に問題が生じていないか判定する。メンテナンス処理が必要であると判断した場合は、適宜、メンテナンス処理を実行する。
ステップS409において、画像処理部204は、全ての印刷ジョブが終了したかどうかを判定し、「Yes」と判定した場合は印刷動作を終了する。未だ、全ての印刷ジョブが終了していないと判定した場合は、ステップS405に処理を移行する。
以上のとおり、本実施例の画像形成装置によれば、画像処理の遅れが発生したと判定し場合に、動的にメンテナンス用パターンを挿入することで印刷動作を間に合わせることにより、高い印刷成果物の生産性を実現しつつ印刷切れを防ぐことができる。特に、インクジェット方式の印刷装置では、定期的にメンテナンス用パターンを印刷して、画像に問題が生じていないかの判定を行い、必要に応じてメンテナンス処理を行う。すなわち、画像形成の印刷品質を保つように、画像形成装置は予め保持されているメンテナンス用パターンをランダムまたは一定間隔で印刷する必要がある。これに対し、本実施例では、印刷が間に合わない場合に、メンテナンス用パターンを挿入するため、メンテナンスの処理回数を減らすことができる。通常の動作におけるメンテナンス用パターンを挿入するタイミングは、特に限定されないが、例えば、所定ライン数毎、所定時間毎等に実行される。例えば、S406によりメンテナンス用パターンを挿入した場合は、S406に基づくメンテナンス用パターンを印刷したタイミングから、所定の条件(所定ライン数、所定時間)を満たした段階で、次のメンテナンス用パターンを実行すればよい。すなわち、S406に基づくメンテナンス用パターンを印刷した段階で、カウントを一旦クリアすればよい。これにより、メンテナンス用パターンの回数をほとんど増加させることなく、印刷動作の停止を抑制することができる。
[実施例2]
本実施例では、補助パターンとしてメンテナンス用パターンを挿入する命令の発行形態の例を説明する。
図6は、受信データ蓄積部221に書きこまれた画像データ(ビットマップデータ)と、処理済みデータ蓄積部223に書きこまれたプリントデータを模式的に示している。なお、図6に示した状態501c、501d及びプリントデータ503は、図5で説明したものと同じであるため、ここで詳細な説明を省略する。
状態601aは変換部222による画像処理の前に受信データ蓄積部221にビットマップデータが書きこまれた状態を表している。画像データ602は、受信データ蓄積部221に書きこまれたビットマップデータを示しており、4ページ分のデータ量が書きこまれている。状態601bは変換部222による画像処理の前に処理済みデータ蓄積部223にまだプリントデータが存在していない状態を表している。画像処理前の状態、すなわち、新たに受信した画像データのページ数が601aである。所定時間τを経過後に、プリントデータが書きこまれた処理済みデータ蓄積部223の状態が状態501dのとき、受信ページ数よりも処理済みページ数は少ないため、メンテナンス用パターンを挿入する命令を発行する。このとき、命令の発行形態として、画像処理部204に対し、処理済みデータ蓄積部223にメンテナンス用パターンのデータを書き込むよう指示する命令を発行する。画像処理部204が該命令を実行すると、受信データ蓄積部221及び処理済みデータ蓄積部の状態は、それぞれ状態601e及び状態601fとなる。
状態601eは書きこまれた画像データが画像処理によって使用されたのちクリアされた受信データ蓄積部221の状態を示している。状態601fは画像処理が終了し、メンテナンス用パターンのデータと、画像処理の結果であるプリントデータが書き込まれた処理済みデータ蓄積部223の状態を示している。状態601fにおけるデータ604は処理済みデータ蓄積部223に書きこまれたメンテナンス用パターンのデータを示しており、1ページ分のデータ量が書きこまれている。プリントデータ605は、処理済みデータ蓄積部223に書きこまれたプリントデータを示しており、3ページ分のデータ量が書きこまれている。残り1ページ分のデータは変換部222が保持している。
ただし、処理済みデータ蓄積部223に書きこまれたメンテナンス用パターンの量は1ページ分とは限らず、必要に応じて1ページ分以外の量としてもよい。例えば、処理済みデータ蓄積部223に2ページ分のメンテナンス用パターンを書き込んでもよい。
メンテナンス用パターンは、ノズル位置やチップ位置の調整、不吐の補完や監視、ヘッドの吐出量公差に伴う画像ムラ(濃度ムラと色ムラ)の低減、といった用途で用いることができる。
また、メンテナンス用パターンの大きさ(面積)を変更することにより、メンテナンス用パターンを印刷することによって調整できる印刷のタイミング(時間間隔)を変更することができる。例えば、受信ページ数よりも処理済みページ数との差の大きさに対応させて、メンテナンス用パターンの大きさを変えることで、より緻密に印刷のタイミングを調整することが可能となる。
[実施例3]
実施例1では、判定部224で行う判定における受信ページ数及び処理済みページ数は整数として定義して説明した。本実施例では、判定部224で行う判定における受信ページ数及び処理済みページ数が整数とは限らないことについて説明する。
図7は、受信データ蓄積部221に書きこまれた印刷用ビットマップデータの画像データと、処理済みデータ蓄積部223に書きこまれたプリントデータを模式的に示している。以下、図7を参照しながら、本実施例における判定処理について詳細に説明する。
状態701aは画像処理の前に受信データ蓄積部221にビットマップデータが書きこまれた状態を表している。状態701bは画像処理の前に処理済みデータ蓄積部223にまだプリントデータが存在していない状態を表している。
状態701c及び状態701dは、それぞれ、画像処理の後に受信データ蓄積部221と処理済みデータ蓄積部223の状態を示している。状態701cは書きこまれた画像データが画像処理によって使用されたのちクリアされた受信データ蓄積部221の状態を示している。状態701dは画像処理が終了し、画像処理の結果であるプリントデータを書きこんだ処理済みデータ蓄積部223の状態を示している。
状態701e及び状態701fは、状態701c及び状態701dと同様に、それぞれ、画像処理後の受信データ蓄積部221と処理済みデータ蓄積部223の状態を示している。状態701eは書きこまれた画像データが画像処理によって使用されたのちクリアされた受信データ蓄積部221の状態を示している。状態701fは画像処理が終了し、メンテナンス用パターンのデータと、画像処理の結果であるプリントデータが書き込まれた処理済みデータ蓄積部223の状態を示している。
また、画像データ702は、受信データ蓄積部221に書きこまれたビットマップデータを示しており、3ページ分のデータ量が書きこまれている。プリントデータ703は、処理済みデータ蓄積部223に書きこまれたプリントデータを示しており、2ページ分よりも多く3ページよりも小さい分量のデータ量が書きこまれている。プリントデータ704は、処理済みデータ蓄積部223に書きこまれたプリントデータを示しており、1ページ分よりも多く2ページ分よりも小さい分量のデータ量が書きこまれている。
受信データ蓄積部221の、画像処理前の初期状態が状態701aであるとする。画像処理前の状態、すなわち、新たに受信した画像データのページ数が701aであり、所定時間τを経過後に、プリントデータが書きこまれた処理済みデータ蓄積部223の状態が状態701dのとき、画像処理の遅れが発生したか否かの判断基準を、
NPages_rev>NPages_trans+α
NPages_rev:受信ページ数
NPages_trans:処理済みページ数
α:0以上1未満を示す非整数である所定値
とする。この不等号が成り立つ場合には、画像処理の遅れが発生したと判定し、メンテナンス用パターンを挿入する命令を発行し、そうでなければ、画像処理の遅れが発生していないと判定し、メンテナンス用パターンを挿入する命令を発行しない。ここで、所定値αが0.8とし、画像処理の遅れが発生したか否かを判定する例を説明する。
処理済みデータ蓄積部223の状態が状態701dの場合、NPages_transが2.3のとき、上記不等号の右辺は3.1となる。NPages_revは3なので、不等号の真偽は「No」となり、メンテナンス用パターンは挿入しない。
処理済みデータ蓄積部223の状態が状態701fの場合、NPages_transが1.7のとき、上記不等号の右辺は2.5となる。NPages_revは3なので、不等号の真偽は「Yes」となり、メンテナンス用パターンを挿入する。
[実施例4]
実施例1では、受信データ蓄積部221に蓄積される受信データが、1つの印刷ジョブにおける受信データとして説明した。そこで、本実施例では、印刷ジョブが2つ以上連続する例について説明する。
図9は、受信データ蓄積部221に書き込まれた画像データ(ビットマップデータ)と、処理済みデータ蓄積部223に書き込まれたプリントデータを模式的に示している。なお、図9に示した状態901a、901d及びプリントデータ902は、図5で説明した状態501a、501d及びプリントデータ502と同じであるため、ここでは詳細な説明を省略する。
状態901cは状態901aから所定時間τ以上の時間が経過した後、変換部222による画像処理の前に受信データ蓄積部221にビットマップデータが書き込まれた状態を示している。状態901dは、状態901bから所定時間τ以上の時間が経過した後、処理済みデータ蓄積部223に書き込まれたプリントデータを示している。画像データ903は、受信データ蓄積部221に書き込まれた画像データを示しており、2ページ分のデータ量が書き込まれている。プリントデータ904は、画像データ902を画像処理した処理済みデータが処理済みデータ蓄積部223に書き込まれたプリントデータを示しており、3ページ分のデータ量が書き込まれている。
状態901eは、状態901cの後、変換部222による画像処理の実行前に受信データ蓄積部221にビットマップデータが書き込まれた状態を示している。状態901fは、状態901dの後、処理済みデータ蓄積部223に書き込まれたプリントデータを示している。画像データ905は、受信データ蓄積部221に書き込まれた画像データを示しており、4ページ分のデータ量が書き込まれている。プリントデータ906は、画像データ903を画像処理して生成したデータがデータ蓄積部223に書きこまれたプリントデータを示しており、5ページ分のデータ量が書き込まれている。プリントデータ906は、未だプリンタエンジン部206に転送が完了していない画像データ904と、画像処理済みの画像データ903との両方からなる。
状態901gは、状態901eの後、変換部222による画像処理の前に受信データ蓄積部221にビットマップデータが書き込まれた状態を示している。状態901hは、状態901fの後、処理済みデータ蓄積部223に書き込まれたプリントデータを示している。画像データ907は、受信データ蓄積部221に書き込まれた画像データを示しており、2ページ分のデータ量が書き込まれている。画像データ908は、受信データ蓄積部221に書き込まれたビットマップデータを示しており、画像処理待ち2ページ分のデータ量が書き込まれている。画像データ909は、画像データ905を画像処理した処理済みデータがデータ蓄積部223に書き込まれたプリントデータを示しており、4ページ分のデータ量が書き込まれている。プリントデータ909は、まだプリンタエンジン部206に転送が完了していない画像データ906の2枚分と、画像データ905を画像処理することで生成したプリントデータの2枚分からなる。
状態901iは、状態901gの後、変換部222による画像処理の前に受信データ蓄積部221にビットマップデータが書き込まれた状態を示している。状態901jは、状態901hの後、処理済みデータ蓄積部223に書き込まれたプリントデータを示している。画像データ910は、受信データ蓄積部221に書き込まれたビットマップデータを示しており、2ページ分のデータ量が書き込まれている。画像データ911は、データ蓄積部223に書き込まれたプリントデータを示しており、4ページ分のデータ量が書き込まれている。画像データ911は、未だプリンタエンジン部206に転送が完了していない画像データ909と、画像データ908の画像処理済みデータとの両方からなる。
(その他の実施例)
本発明は、上述した実施形態に限定されるものではない。例えば、上述した実施形態では、受信ページ数と、処理済みページ数とを比較するものとしたが、これに限定されず、例えば、受信データサイズと、処理済みデータサイズとを比較するようにしてもよい。この場合は、変換部222で変換される前のビットマップデータと、変換部222で変換された後のプリントデータとのサイズの差を考慮して、所定のマージンを設定するようにしてもよい。すなわち、(受信データサイズ+所定のマージン)>プリントデータサイズを満たすかをS405で判断するようにしてもよい。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。