本発明の実施の形態の画像形成装置は、複数ページからなる1部の印刷データから生成された印刷実行データの印刷途中において、所望の印刷画質を維持するためにキャリブレーションによる画質調整(画像の濃度補正)が適宜行われる構成であり、かつこの画質調整が行われた場合に印刷データの再RIPが行われる構成を前提としている。そして、複数ページからなる1部の印刷実行データの印刷途中において画質調整が行われても、再度レンダリング処理が行われる印刷データのページ数を少なくして、画質調整の結果を反映した印刷実行データを短時間にて生成できるようにしている。これにより、画質調整による印刷中断時間を短縮できるようにしている。
本発明の実施の形態を図面に基づいて以下に説明する。図1は本発明の実施の形態の印刷データ処理装置としての画像形成装置1の構造を示す縦断面図である。
図1に示すように、画像形成装置1は、露光ユニット(光学系ユニット)11、4組の可視画像形成ユニット30a〜30d、中間転写ベルトユニット17、二次転写ユニット21、定着装置22、内部給紙ユニット20、および手差し給紙ユニット26を備えている。
画像形成装置1において扱われる画像データは、ブラック(K)、シアン(C)、マゼンタ(M)、イエロー(Y)の各色を用いたカラー画像に応じたものである。このため、画像形成装置1では、上記各色に対応する4組の可視画像形成ユニット30a〜30dが設けられており、これら4組の可視画像形成ユニッ30a〜30dによって形成された4色のトナー画像が中間転写ベルト18上で重ね合わされるようになっている。
可視画像形成ユニット30aは、トナー画像担持体である回転可能に備えられた感光体13aの周囲に、帯電ユニット15a、現像ユニット12a、およびクリーニングユニット14aが感光体13aの回転方向に沿ってこの順に配置された構成である。
帯電ユニット15aは、感光体13aの表面を所定の電位に均一に帯電させるためのものである。現像ユニット12aは、感光体13a上に形成された静電潜像をトナーによって顕像化する現像処理を行う。クリーニングユニット14aは、トナー画像を中間転写ベルト18に転写した後に感光体13a表面に残留したトナーを除去・回収するためのものである。
なお、可視画像形成ユニット30b〜30dは現像処理に用いるトナーの色が異なる以外は可視画像形成ユニット30aと実質的に同様の構成である。すなわち、各可視画像形成ユニット30a,30b,30c,30dの現像ユニットにはそれぞれブラック(B),イエロー(Y),マゼンタ(M),シアン(C)のトナーが収容されている。
露光ユニット11は、帯電ユニット15a〜15dによって帯電された感光体13a〜13dを画像データに応じて露光することにより、各感光体13a〜13dの表面に画像データに応じた静電潜像を形成する。
中間転写ベルトユニット17は、中間転写ベルト18、中間転写ベルト駆動ローラ171、中間転写ベルト従動ローラ172、中間転写ベルトクリーニングユニット19、および中間転写ローラ16a〜16dを備えている。
中間転写ベルト18は、中間転写ローラ16a〜16d、中間転写ベルト駆動ローラ171、および中間転写ベルト従動ローラ172に架設され、図1に示した矢印B方向に回転駆動される。また、感光体13a〜13d上に形成された各色のトナー画像は中間転写ベルト18に順次重ね合うように転写され、この中間転写ベルト18上にカラーのトナー画像(多色トナー画像)が形成されるようになっている。
なお、中間転写ローラ16a〜16dは、感光体13a〜13dにおける現像ユニット12a〜12dとの対向部とクリーニングユニット14a〜14dとの対向部との間の位置において中間転写ベルト18を介して感光体13a〜13dに対向するように配置されている。これら中間転写ローラ16a〜16dにより、感光体13a〜13d上のトナー画像が中間転写ベルト18上に転写されるようになっている。
中間転写ベルト18上に形成されたトナー画像は、中間転写ベルト駆動ローラ171と二次転写ユニット21との対向部に搬送され、この対向部に搬送される記録用紙上に転写されるようになっている。なお、中間転写ベルトクリーニングユニット19は中間転写ベルト18に当接し、記録用紙上へのトナー画像の転写後に中間転写ベルト18上に残留したトナーを除去・回収する。
定着装置30は、定着ローラ24とこの定着ローラ24に対して所定の荷重で圧接された加圧ローラ25とを備えている。そして、二次転写ユニット114によってトナー画像が転写された記録用紙を定着ローラ24と加圧ローラ25との圧接部(定着ニップ部)に給紙し、この圧接部を通過させることで熱と圧力とによりトナー画像の定着を行う。
内部給紙ユニット20は、画像形成に使用する記録用紙(記録材)を蓄積しておくためのものである。手差し給紙ユニット26は、画像形成装置1の側壁に折り畳み自在に設けられ、手差しによる記録用紙の給紙を行うためのものである。排紙トレイ29は、画像形成済みの記録用紙を載置するためのトレイである。
画像形成装置1には、内部給紙ユニット20からピックアップローラ28aによって給紙される記録用紙、および手差し給紙ユニット26からピックアップローラ28bによって給紙される記録用紙を二次転写ユニット21や定着装置22を経由させて排紙トレイ29に送るための用紙搬送路およびその他の用紙搬送路が設けられている。それら用紙搬送路には、記録用紙を搬送するための多数のローラ部材27a〜27hが配置されている。
次に、図1に示した画像形成装置1のハードウエアの構成について説明する。図2は、画像形成装置1のハードウエアの構成を示すブロック図である。
図2に示すように、画像形成装置1は、プリンタコントロール部2およびプリントエンジン部3を備えている。プリンタコントロール部2には操作パネル120が接続されている。
プリンタコントロール部2は、入力された画像データすなわち印刷すべき印刷データを解析し、その印刷データを印刷実行データに変換し、プリントエンジン部3に出力する。このために、プリンタコントロール部2は、CPU101、RAM102、HDD103(ハードディスクドライブ)103、ネットワークコントローラ104およびビデオコントローラ105を備えている。
CPU101は所定のプログラムに基づいて各部を制御する。ネットワークコントローラ104は、ネットワークを介してホストコンピュータ200と通信する。なお、ホストコンピュータ200からネットワークコントローラ104へは、印刷データが供給される。印刷データは、その他、画像形成装置1が備えるスキャナ(図示せず)からプリンタコントロール部2に供給されてもよい。ビデオコントローラ105は、印刷データから印刷実行データを生成する処理を行う。
プリントエンジン部3は、プリンタコントロール部2から提供された印刷実行データに基づいて用紙に画像を印刷する。また、画質調整のためのキャリブレーションを行って濃度補正情報を生成し、プリンタコントロール部2へ提供する。キャリブレーションでは、感光体13a〜13d上にトナーパッチ(トナー像)を形成し、そのトナーパッチの濃度を検出することにより、印刷画像の濃度を適正な濃度とするための濃度補正情報が生成される。
プリントエンジン部3は、画像形成部111、濃度センサ112および温湿度センサ113を備えている。画像形成部111は、上記印刷処理を行うプリンタとしての機能部であり、図1に示した各部を有する。濃度センサ112は上記トナーパッチの濃度を検出する。温湿度センサ113は、画像形成部111における温度および湿度を検出する。温湿度センサ113は、温度センサおよび湿度センサが各々独立して設けられているものであってもよい。
図3は、図2に示したHDD103における各データの格納状態の一例を示す説明図である。図3に示すように、HDD103には、各データのサイズの情報として、印刷データのサイズ、濃度補正情報のサイズ、印刷実行データ情報のサイズ、および印刷実行データのサイズを示す情報が格納される。さらに、印刷データ、温度補正情報および印刷実行データ情報が格納される。印刷実行データ情報は、nページからなる一つの文書について、第1ページから第nページまでの、印刷実行データ情報および印刷実行データを含んでいる。
なお、印刷実行データは、印刷データから印刷のための所定の処理を施して作成されたデータであり、印刷実行データ情報は、印刷実行データのページ数や印刷実行データにおける中間調の有無など、印刷実行データの属性を示す情報である。
図4は、図2に示した画像形成装置1のプリンタコントロール部2における印刷データから印刷実行データを生成するための構成、およびプリントエンジン部3におけるキャリブレーションを行うための構成を示すブロック図である。
図4に示すように、プリンタコントロール部2は、入力された印刷データに印刷のための所定の処理を加えて印刷実行データを生成し、生成した印刷実行データを画像形成部111に出力する。このために、プリンタコントロール部2は、制御部201、印刷データ解析部202、レンダリング処理部203、濃度補正処理部204およびハーフトーン処理部205を備えている。
制御部201は、プリンタコントロール部2全体の動作を制御する。印刷データ解析部202は、入力された印刷データのページ記述言語を解析する。レンダリング処理部203は、印刷データ解析部202の解析結果に応じて印刷データからレンダリングによりビットマップデータを生成する。ハーフトーン処理部205は、ビットマップデータに対してハーフトーン処理を行い、印刷実行データとする。生成した印刷実行データはHDD103に記憶される。濃度補正処理部204は、プリントエンジン部3から提供される濃度補正情報に従って、レンダリング処理部203から出力されるビットマップデータに対して濃度補正処理を行う。このような印刷データ解析部202、レンダリング処理部203、濃度補正処理部204、ハーフトーン処理部205の動作は従来一般に行われているものである。
また、プリントエンジン部3は、濃度センサ112、温湿度センサ113およびキャリブレーション制御部115を備えている。キャリブレーション制御部115は、温湿度センサ113にて検出される画像成形部111の温度もしくは湿度、またはそれら両者に基づいてキャリブレーションを実行することの要否を判定する。そして、キャリブレーションの実行が必要と判定した場合には、感光体13a〜13d上にトナーパッチを形成する動作を画像形成部111に行わせ、そのトナーパッチの濃度を濃度センサ112から取得する。さらに、取得したトナーパッチの濃度に基づいて、印刷画像の濃度を適正な濃度とするための濃度補正情報が生成する。
上記の構成において、画像形成装置1のプリンタコントロール部2における印刷実行データの生成処理の手順について説明する。ここでは、まず、印刷部数が1部の場合にプリンタコントロール部2が行う二つの印刷データ処理、すなわち第1印刷データ処理および第2印刷データ処理について説明する。
図5は、プリンタコントロール部が行う第1印刷データ処理の内容を示すフローチャートである。
図5に示すように、第1印刷データ処理において、印刷データ解析部202は、入力された1ページの印刷データを解析し(S501)、レンダリング処理部203は、印刷データ解析部202の解析結果に応じて印刷データからレンダリングによりビットマップデータを生成する(S502)。濃度補正処理部204は、プリントエンジン部3から提供される濃度補正情報に従って、上記ビットマップデータに対して濃度補正処理を施す(S503)。ハーフトーン処理部205は、上記濃度補正処理を経たビットマップデータに対してハーフトーン処理を行い、印刷実行データとする(S504)。
生成された印刷実行データは、その印刷実行データの属性情報(例えばページ数や中間調の有無などを示す情報)である印刷実行データ情報とともに、HDD103に記憶される(S505)。なお、作成された印刷実行データ(新印刷実行データ)に対応する印刷実行データ(旧印刷実行データ)が既にHDD103に存在する場合、旧印刷実行データは新印刷実行データに更新される。
ここで、プリンタコントロール部2において処理されるデータは、濃度補正処理(S503)までは情報量が多いデータ(例えばCMYKの8ビットデータ)である。一方、ハーフトーン処理(S504)を経て生成される印刷実行データは、擬似階調が付与され、データ量が減らされて例えば4ビットデータとなる。このように、本実施の形態の画像形成装置1では、データ量の少ないデータである印刷実行データを印刷データから生成した上でHDD103に保存しておき、画像形成部111に対してはHDD103から読み出した印刷実行データを出力している。したがって、HDD103に必要な容量を低減できる方式となっている。
図6は、プリンタコントロール部2が行う第2印刷データ処理の内容を示すフローチャートである。
図6に示すように、第2印刷データ処理では、入力された各ページの印刷データについて、印刷データ解析部202による解析のみを行う(S601)。すなわち、レンダリング処理部203、濃度補正処理部204およびハーフトーン処理部205による処理は行わない。したがって、印刷データから印刷実行データは生成されず、HDD103にすでに記憶されている印刷実行データは更新されない。これは、いわゆる空RIPという処理である。
次に上記の第1および第2印刷データ処理を含む一連の印刷実行データ生成処理について説明する。図7は、図4に示したプリンタコントロール部2による印刷実行データの生成処理の手順を示すフローチャートである。
図7に示すように、画像形成装置1のプリンタコントロール部2の制御部201は、ホストコンピュータ200から印刷データについての印刷指示を受けると(S402)、ホストコンピュータ200から印刷データを取得する(S403)。取得した印刷データはHDD103に保存する(S404)。なお、上記ホストコンピュータ200は、例えばユーザが使用するパーソナルコンピュータである。
次に、制御部201では、印刷データについての印刷指示を受けた部数(印刷部数)が1部であれば(S405)、S406へ進み、REND_NUMを0とする。なお、REND_NUMは、生成された印刷実行データのページ数を数えるカウンタの値である。
その後、制御部201は、プリントエンジン部3と通信し、キャリブレーションが実行されたか否かを判定する(S407)。
S407において、キャリブレーションが実行されていなければ、S408に進み、図5に示した第1印刷データ処理により、1ページ分の印刷実行データの生成処理を行う。
次に、1ページ分の印刷実行データの生成処理が完了すると、REND_NUMを+1とする(S409)。そして、1部についての全ページの印刷データの処理(全ページ分の印刷実行データの生成処理)が完了したか否かを判定し(S410)、完了していなければ、S407に戻る。そして、全ページ分の印刷実行データの生成処理が完了するまでS407以下の処理を繰り返す(S410)。
制御部201は、印刷実行データが生成されると、それを順次HDD103に格納する。さらに画像形成部111での印刷の進行に応じて印刷実行データを順次HDD103から読み出し、画像形成部111に送って印刷させる。このように、画像形成装置1では、プリンタコントロール部2での印刷実行データの生成と画像形成部111での印刷実行データに基づく印刷とが並行して行われる。
その後、1部についての全ページ分の印刷実行データの生成処理が完了すると、キャリブレーションが実行されたか否かを判定する(S411)。キャリブレーションが実行されていなければ、全ページの印刷が完了したか否かを判定し(S412)、完了していなければS411に戻る。その後、キャリブレーションが実行されず(S411)、全ページの印刷が完了すると(S412)、処理を終了する。
一方、S407もしくはS411において、キャリブレーションが実行されると、制御部201は、PRINT_NUMの値を印刷済みページ数に設定し(S415)、PRINT_NUMとREND_NUMとが等しいか否かを判定する(S416)。なお、PRINT_NUMは、印刷済みの印刷データ(印刷実行データ)のページ数を数えるカウンタの値である。
S416での判定の結果、PRINT_NUMとREND_NUMとが等しければ、キャリブレーションが完了するまで待機し(S423)、キャリブレーションが完了すれば、濃度補正処理部204が保持している濃度補正情報をプリントエンジン部3から提供される濃度補正情報に更新する(S424)。その後、S408に進んで第1印刷データ処理を行う。なお、PRINT_NUMとREND_NUMとが等しいとは、更新前の濃度補正情報に基づいて生成された印刷実行データは、全て印刷済みという意味である。
ここで、S416の判定において、印刷実行データが全く生成されていない状態にてS407から移行した処理では、印刷実行データはそれまで全く生成されていないため0であり、印刷済みの印刷実行データも0である。したがって、PRINT_NUMとREND_NUMとは等しく0となり、S408へ移行して、第1印刷データ処理により1部の分の印刷実行データを生成する。
一方、S416の判定において、1部の印刷実行データのうちの何ページかの印刷実行データが生成されている状態にてS407から移行した処理では、第1印刷データ処理(印刷実行データの生成)と並行して行われている印刷が、生成済みの全ての印刷実行データについて完了しているとは限らない。したがって、PRINT_NUMとREND_NUMとは等しくなる場合と異なる場合とが存在する。同様に、S411から移行した処理では、1部の印刷実行データは全て生成済みであるものの、PRINT_NUMとREND_NUMとが等しくなる場合と異なる場合とが存在する。
そこで、S416の判定において、PRINT_NUMとREND_NUMとが等しい場合には、S423およびS424の処理を経た後、S408に進んで図5に示した第1印刷データ処理を行う。
一方、S416の判定において、PRINT_NUMとREND_NUMとが異なる場合には、生成済みの印刷実行データを削除する(S417)。次に、印刷データをHDD103から取得し(S418)、REND_NUMを0とした後(S419)、第2印刷データ処理を行う(S420)。そして、1ページ分の第2印刷データ処理を行うごとに、REND_NUMを加算していき(S421)、PRINT_NUMとREND_NUMとが等しくなったか否かを判定する(S422)。S420〜S422の処理は、PRINT_NUMとREND_NUMとが等しくなるまで繰り返す。なお、第2印刷データ処理においても最初のページから処理するのは、印刷データは途中のページ分から処理し直すということが容易にはできないことによる。
その後、S422において、PRINT_NUMとREND_NUMとが等しくなると、キャリブレーションが完了したか否かを判定する(S423)。この判定の結果、キャリブレーションが完了していれば、濃度補正処理部204が保持している濃度補正情報をプリントエンジン部3から提供される濃度補正情報に更新した後(S424)、S408に進んで第1印刷データ処理を行う。
上記のように、本実施の形態の画像形成装置1では、プリントエンジン部3でのキャリブレーションとプリンタコントロール部2での第2印刷データ処理とが並行して行われる。したがって、印刷実行データの生成処理中にキャリブレーションを行いながら、印刷実行データを迅速に生成することができる。
なお、第1印刷データ処理(S408)での濃度補正処理(図5のS503)は、同様に、更新された濃度補正情報を使用して行われる。したがって、第1印刷データ処理により作成されてHDD103に存在され、かつ印刷済みでない第1印刷データ処理は、全て更新された濃度補正情報が反映されたものとなる。
S408での第1印刷データ処理以降は、前述のようにして処理が進み、キャリブレーションの実行が必要でなく(S411)、全ページの印刷が完了すると(S412)、処理を終了する。
次に、S405において、印刷データについての印刷指示を受けた部数(印刷部数)が複数部である場合の動作について説明する。図8は、図7のS405において、印刷データについての印刷指示を受けた部数(印刷部数)が複数部である場合のプリンタコントロール部2による印刷実行データの生成処理の手順を示すフローチャートである。
図8に示すように、印刷データについての複数部の印刷処理では、まず、印刷が第1部目の印刷であるか否かを判定する(S702)。この判定の結果、第1部目の印刷であれば、REND_NUMを0とし(S703)、キャリブレーションが実行されたか否かを判定する(S704)。
S704において、キャリブレーションが実行されていなければ、S705に進み、図5に示した第1印刷データ処理により、1ページ分の印刷実行データの生成処理を行う。
次に、1ページ分の印刷実行データの生成処理が完了すると、REND_NUMを+1とする(S706)。そして、1部についての全ページ分の印刷実行データの生成処理が完了したか否かを判定し(S707)、完了していなければS704に戻る。そして、1部についての全ページ分の印刷実行データの生成処理が完了するまでS704〜S707の処理を繰り返す。
その後、1部についての全ページ分の印刷実行データの生成処理が完了すると、キャリブレーションが実行されたか否かを判定する(S708)。キャリブレーションが実行されていなければ、全ページの印刷が完了したか否かを判定し(S709)、完了していなければS708に戻る。
その後、キャリブレーションが実行されず(S708)、全ページの印刷が完了すると(S709)、全部数の印刷が完了したか否かを判定する(S710)。S710の判定の結果、全部数の印刷が完了していなければ、S702以下の処理を繰り返す。一方、全部数の印刷が完了していれば、処理を終了する。
また、S704もしくはS708において、キャリブレーションが実行されていれば、キャリブレーションが完了するまで待機する(S711)。その後、キャリブレーションが完了すれば濃度補正情報を更新する(S712)。
次に、制御部201は、PRINT_NUMの値を印刷済みページ数に設定し(S713)、PRINT_NUMとREND_NUMとが等しいか否かを判定する(S714)。S714での判定の結果、PRINT_NUMとREND_NUMとが等しければ、S705に進んで第1印刷データ処理を行う。
ここで、S714の判定において、印刷実行データが全く生成されていない状態にてS704から移行した処理では、印刷実行データはそれまで全く生成されていないため0であり、印刷済みの印刷実行データも0である。したがって、PRINT_NUMとREND_NUMとは等しく0となり、S705へ移行して、第1印刷データ処理により1部の分の印刷実行データを生成する。
一方、S714の判定において、1部の印刷実行データのうちの何ページかの印刷実行データが生成されている状態にてS704から移行した処理では、第1印刷データ処理と並行して行われている印刷が、生成済みの全ての印刷実行データについて完了しているとは限らない。したがって、PRINT_NUMとREND_NUMとは等しくなる場合と異なる場合とが存在する。同様に、S708から移行した処理では、1部の印刷実行データは全て生成済みであるものの、PRINT_NUMとREND_NUMとが等しくなる場合と異なる場合とが存在する。
そこで、S714の判定において、PRINT_NUMとREND_NUMとが等しい場合には、S705に進んで図5に示した第1印刷データ処理を行い、印刷実行データを生成する。
上記第1印刷データ処理において、濃度補正処理(図5のS503)は、同様に、更新された濃度補正情報を使用して行われる。したがって、第1印刷データ処理により作成されてHDD103に存在し、かつ印刷済みでない第1印刷データ処理は、全て更新された濃度補正情報が反映されたものとなる。
S705での第1印刷データ処理以降のS706〜S710の処理は、前述のとおりである。
一方、S714の判定において、PRINT_NUMとREND_NUMとが異なる場合、制御部201は、印刷データをHDD103から取得し(S715)、REND_NUMを0とした後(S716)、第3印刷データ処理を行う(S717)。なお、ここでは、前述のS417の処理のように、印刷済みページの印刷実行データは削除しない。
次に、制御部201では、1ページ分の第3印刷データ処理を行うごとに、REND_NUMを加算していき(S718)、PRINT_NUMとREND_NUMとが等しくなったか否かを判定する(S719)。S717〜S719の処理は、PRINT_NUMとREND_NUMとが等しくなるまで繰り返す。その後、S719において、PRINT_NUMとREND_NUMとが等しくなると、S705に進んで第1印刷データ処理を行う。
S705の第1印刷データ処理において、S503の濃度補正処理は、更新された濃度補正情報を使用して行われる。したがって、第1印刷データ処理により作成されてHDD103に存在し、かつ印刷済みでない第1印刷データ処理は、全て更新された濃度補正情報が反映されたものとなる。
S705での第1印刷データ処理以降のS706〜S710の処理は、前述のとおりである。
ここで、印刷部数が複数部の場合にプリンタコントロール部2が行う印刷データ処理のうちの一つである第3印刷データ処理(S717,S726)について説明する。図9は、プリンタコントロール部が行う第3印刷データ処理の内容を示すフローチャートである。
図9に示すように、第3印刷データ処理において、制御部201は、作成されてHDD103に保存済みのページ印刷実行データ(1ページ分の印刷実行データ)の有無を判定する(S802)。この判定の結果、ページ印刷実行データがなければS806へ進む。
一方、ページ印刷実行データがあれば、そのページ印刷実行データ、およびそのページ印刷実行データの属性情報(例えばページ数や中間調の有無などを示す情報)であるページ印刷実行データ情報をHDD103から取得する(S803)。
次に、制御部201は、ページ印刷実行データ情報に基づいてページ印刷実行データが中間調を含むか否かを判定する(S804)。この判定の結果、ページ印刷実行データが中間調を含まない場合には、印刷データ解析部202によるページ印刷実行データの解析のみを行い(S811)、処理を終了する。このS811の処理は、図6に示した第2印刷データ処理に相当するものであり、HDD103に保存されているページ印刷実行データは何も影響を受けない。
一方、S804での判定の結果、ページ印刷実行データが中間調を含む場合、制御部201は、HDD103に保存されているページ印刷実行データを削除する(S805)。
次に、S715においてHDD103から読み出した印刷データに対して、S808〜S810の処理を行う。これらS808〜S810の処理は、図5に示した第1印刷データ処理に相当するものである。
すなわち、印刷データ解析部202は、入力された1ページの印刷データを解析し(806)、レンダリング処理部203は、印刷データ解析部202の解析結果に応じて印刷データからレンダリングによりビットマップデータを生成する(S807)。濃度補正処理部204は、上記ビットマップデータに対して濃度補正処理を施す(S808)。ハーフトーン処理部205は、上記濃度補正処理を経たビットマップデータに対してハーフトーン処理を行い、印刷実行データとする(S809)。生成した印刷実行データは、その印刷実行データの印刷実行データ情報とともに、HDD103に記憶される(S810)。
上記のように、第3印刷データ処理では、HDD103に保存済みのページ印刷実行データがある場合に、そのページ印刷実行データを残すか削除するかを、そのページ印刷実行データが中間調を含むか否か(S804)により決定している。これは次の理由による。
すなわち、キャリブレーションが実行されて更新される濃度補正情報は、中間調処理すなわちディザ処理に反映される。したがって、濃度補正情報が変更された場合に影響を受けるのは、印刷実行データが中間調を含む場合であり、印刷実行データが中間調を含まない場合には影響を受けない。これにより、印刷実行データが中間調を含まない場合、その印刷実行データは残して再使用が可能である一方、印刷実行データが中間調を含む場合、その印刷実行データは削除して(S805)、新たに生成する(S806〜S810)必要がある。
次に、2部目以降の印刷処理について説明する。制御部201は、S702において、印刷処理が2部目以降であれば、HDD103に保存されている生成済みの印刷実行データを印刷するデータとして選択する(S720)。選択された印刷実行データは、プリンタコントロール部2から画像形成部111に送られて印刷される。
次に、当該印刷が2部目の印刷であって、かつ1部目の印刷においてキャリブレーションが実行されているか否かを判定し(S731)、この条件に該当する場合にはS723に進み、S723以降の処理を行う。この処理の流れは、当該印刷が2部目の印刷であって、かつ1部目の印刷においてキャリブレーションが実行されている場合に、1部目の印刷において印刷済みのページであり(S713,S714)、1部目の処理において濃度補正情報が反映されておらず、かつ中間調を含むページについて、S726の第3印刷データ処理により上記濃度補正情報を反映させるためのものである。
一方、S731の判定において上記条件に該当しなければS721に進む。この場合、当該1部(2部目以降の所定の1部)の全ページの印刷実行データについて、キャリブレーションが実行されずに印刷が完了すると(S721,S729,S730)、制御部201は、全部数の印刷が完了したか否かを判定し(S710)、全部数の印刷が完了していれば、処理を終了する。
一方、S721においてキャリブレーションが実行されていれば、キャリブレーションが完了するまで待機する(S722)。
キャリブレーションが完了すると、HDD103から印刷データを取得し(S723)、その後、濃度補正情報を更新する(S724)。次に、REND_NUMを0とした後(S725)、第3印刷データ処理を行う(S726)。
次に、制御部201では、1ページ分の第3印刷データ処理を行うごとに、REND_NUMを加算していき(S727)、PRINT_NUMとREND_NUMとが等しくなったか否かを判定する(S728)。S726〜S728の処理は、PRINT_NUMとREND_NUMとが等しくなるまで繰り返す。
その後、S728においてPRINT_NUMとREND_NUMとが等しくなると、キャリブレーションが実行されたか否かを判定し(S729)、キャリブレーションが実行されていれば、S722に戻ってそれ以降の処理を行う。また、S729においてキャリブレーションが実行されず、当該1部についての全ページの印刷が完了していれば(S730)、全部数の印刷が完了したか否かを判定する(S710)。S710の判定の結果、全部数の印刷が完了していなければ、S702以下の処理を繰り返す。一方、全部数の印刷が完了していれば、処理を終了する。
次に、図7に示した処理の他の例について説明する。図10は、図4に示したプリンタコントロール部2による、図7に示した処理と別の処理による印刷実行データの生成処理の手順を示すフローチャートである。
図10の処理が図7の処理と異なる点は、図7の処理ではS408において第1印刷データ処理を行っているのに対し、図9の処理ではS901において第3印刷データ処理を行っている点である。さらに、図7の処理ではS417において生成済みページの印刷実行データを削除しているのに対し、図9の処理ではS902において、生成済みページの印刷実行データのうちの印刷済みページの印刷実行データのみを削除している点である。
すなわち、図7の処理では、印刷部数が1部の場合において、キャリブレーションが実行されると(S407,S411)、PRINT_NUMの値を印刷済みページ数に設定し(S415)、PRINT_NUMとREND_NUMとが異なる場合には(S416)、生成済みページの印刷実行データを削除する(S417)。
次に、印刷データをHDD103から取得し(S418)、REND_NUMを0とした後(S419)、PRINT_NUMとREND_NUMとが等しくなるまで、第2印刷データ処理(印刷実行データを生成せずに印刷データの解析のみを行う処理)を行う(S420〜S422)。
その後、キャリブレーションが完了すると(S423)、濃度補正情報を更新し(S424)、S408に進んで、印刷実行データを生成する第1印刷データ処理を行う。この第1印刷データ処理は、1部の印刷データについての印刷未完了ページについて行う(S409,S410)。
これに対し、図10の処理では、印刷部数が1部の場合において、キャリブレーションが実行されると(S407,S411)、PRINT_NUMの値を印刷済みページ数に設定し(S415)、PRINT_NUMとREND_NUMとが異なる場合には(S416)、印刷済みページの印刷実行データを削除する(S902)。
次に、印刷データをHDD103から取得し(S418)、REND_NUMを0とした後(S419)、PRINT_NUMとREND_NUMとが等しくなるまで、第2印刷データ処理(印刷実行データを生成せずに印刷データの解析のみを行う処理)を行う(S420〜S422)。
その後、キャリブレーションが完了すると(S423)、濃度補正情報を更新し(S424)、S901に進んで第3印刷データ処理を行う。この第3印刷データ処理では、生成済みの印刷実行データのうち、中間調を含まない印刷実行データについては解析のみを行い、中間調を含む印刷印刷実行データについては削除し、更新された濃度補正情報を反映した印刷実行データを生成する。この第3印刷データ処理は、1部の印刷データについての印刷未完了ページについて行う(S409,S410)。
上記のように、図7に示した処理では、キャリブレーションが実行された場合に、生成済みの印刷実行データを全て削除し、印刷未完了の印刷実行データを再生成している。これに対し、図9に示した処理では、キャリブレーションが実行された場合に、生成済みの印刷実行データのうち、印刷未完了の印刷実行データのみを削除し、生成済みの印刷実行データのうち、中間調を含まない印刷実行データはそのまま利用する一方、中間調を含む印刷印刷実行データのみを再生成している。これにより、図9の処理では、図7の処理よりも、キャリブレーションが実行された場合における印刷実行データの生成処理をさらに迅速に行うことができる。
以上のように、画像形成装置1では、プリンタコントロール部2での印刷実行データの生成と画像形成部111での印刷実行データに基づく印刷とが並行して行われる。したがって、印刷を指示された印刷データの印刷のための処理を効率よく行うことができる。
また、プリントエンジン部3でのキャリブレーションとプリンタコントロール部2での第2印刷データ処理とが並行して行われる。したがって、印刷実行データの生成処理中にキャリブレーションを行いながら、印刷実行データを迅速に生成することができる。
また、複数ページからなる印刷データを1部のみ印刷する場合において、印刷データから生成した印刷実行データの全ページの印刷が完了する前にキャリブレーションが実行されて濃度補正情報が更新された場合には、新たに印刷実行データを生成する必要がある。この場合、更新された濃度補正情報を反映させた印刷実行データが必要となるのは、印刷未完了の印刷実行データのみである。
そこで、プリンタコントロール部2では、印刷完了済みの印刷実行データについては、図6の第2印刷データ処理により印刷データの解析処理のみを行ってレンダリング処理、濃度補正処理およびハーフトーン処理を行わず、印刷未完了の印刷実行データについては、図5の第1印刷データ処理により印刷データの解析処理、レンダリング処理、濃度補正処理およびハーフトーン処理を行うようにしている。これにより、キャリブレーションが実行された場合の印刷実行データの生成を迅速に行うことができる。
また、1部が複数ページからなる印刷データを複数部印刷する場合、例えば1部が複数ページからなる印刷実行データが既に生成されおり、その印刷実行データの2部目以降の1部を印刷する場合において、印刷データから生成した印刷実行データの全ページの印刷が完了する前にキャリブレーションが実行されて濃度補正情報が更新された場合には、中間調を含む印刷実行データについては、印刷実行データが中間調を含むか否かに応じて、再生成するかどうかを決定している。
すなわち、中間調を含む印刷実行データについては、削除して再生成している。一方、中間調を含まない印刷実行データについては、濃度補正情報が更新されたことが画質に影響しないので、削除して再生成することなく、そのまま使用するようにしている。これにより、キャリブレーションが実行された場合の印刷実行データの生成を迅速に行うことができる。
最後に、画像形成装置1おプリンタコントロール部2の各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、プリンタコントロール部2は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるプリンタコントロール部2の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記プリンタコントロール部2に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、プリンタコントロール部2を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。