(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、添付図面を参照して本発明の好適な実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0010】
[システム構成]
図1は、本発明の実施例における印刷システムの構成を示す図である。本印刷システムは、印刷データを生成する印刷制御装置であるホストPC101と、ホストPC101からの指示に従ってフォームオーバーレイ印刷を実行可能な印刷装置102とを含む。本実施例では、印刷装置102の一例をインクジェット記録装置として説明する。ホストPC101と印刷装置102とは、接続ケーブル103を介して相互に通信可能である。印刷装置102は、ホストPC101から受信したフォームデータ及び原稿データに基づいて、印刷用紙等の記録媒体104にフォームオーバーレイ印刷する。フォームオーバーレイ印刷とは、フォーム部分を表すフォームデータを予め作成しておき、そのフォームデータの所定箇所に数値や文字列等の後付けデータ(原稿データ)を合成(オーバーレイ)する印刷方式をいう。フォームオーバーレイ印刷は、可変印刷やバリュアブル印刷ともいわれる。
【0011】
図2は、ホストPC101と印刷装置102それぞれの内部のブロック構成を示す図である。ホストPC101は、例えば一般的なパーソナルコンピュータである。CPU220は、オペレーティングシステム(OS)の制御の下で、RAM等の記憶領域に格納された各種プログラムを実行して本実施例の動作を実現する。
【0012】
ホストPC101では、ローカルバスであるPCIバスとISAバスとがホスト/PCIブリッジ221、PCI/ISAブリッジ228を介して階層的に構成され、全体としてシステムバスを構成している。ホストPC101内の各ブロックは、システムバスを介して相互にデータの送受信を行う。なお、システムバスには、L2・キャッシュと呼ぶ高速のメモリ(不図示)が接続されており、CPU220が常時アクセスするコードやデータを記憶している。
【0013】
メモリ222は、オペレーティングシステム(OS)、アプリケーションプログラム、プリンタドライバ等、実行プログラムを一時的に記憶する記憶領域である。また、メモリ222は、各プログラム実行のための作業用メモリ領域としても用いられる。メモリ222は、アプリケーションプログラムにより描画処理されたRGB画像データや、RGB画像データから色空間変換された、印刷装置102の各記録ヘッドの各インク色に対応したインク色データ等も記憶する。本実施例において、インク色データは、シアン、マゼンタ、イエロー、ブラックの各インク色に対応した多値の画像データである。
【0014】
PC101は、印刷装置102から取得したヘッドシェーディング(HS)補正データに基づいて補正されたデータや、誤差拡散法等で2値化された印刷データ等を、全てメモリ222上に展開する。そして、通信インタフェース223を介して印刷装置102に送信する。通信インタフェース223は、例えばUSB、ネットワーク等であり、PCIバスに接続されている。
【0015】
CRTC224は、ビデオコントローラであり、CPU220によりVRAM225に書き込まれた表示用ビットマップデータを読み取って、CRT、LCD、PDP等のディスプレイ226に転送する。ユーザは、ディスプレイ226により、例えば、印刷指示した印刷ジョブの処理経過や処理結果を認識することができる。
【0016】
ROM229は、入力デバイス232やFDD231等の入出力機器を制御するBIOS(Basic Input Output System)プログラムや、電源投入時の初期化プログラムや自己診断プログラム等を格納する。ここで、入力デバイス232は、例えば、キーボードやポインティングデバイスである。ユーザは、入力デバイス232により、例えば、印刷装置102での印刷等を指示することができる。EEPROM230は、恒久的に利用する各種のパラメータを記憶させるための書き換え可能な不揮発性のメモリであり、例えば、各記録ヘッドの印刷特性データを記憶する。
【0017】
オペレーティングシステム(OS)、各種アプリケーションプログラム、
図3の各処理を実行するプログラム、印刷装置102に対応するプリンタドライバ等は、HDD227からメモリ222に読み出されてCPU220により実行される。
図3に示すHS補正データの取得処理は、印刷装置102をホストPC101に新規に接続した時に自動的に行っても良いし、後述する記録ヘッドがユーザにより交換された際に自動的に行っても良いし、ユーザが所望のタイミングで手動で行っても良い。
【0018】
印刷装置102は、印刷データ等を記憶するROM203や、制御プログラムを記憶するRAM202や、ホストPC101との通信を行うインタフェースとなる通信装置204、各記録ヘッドを駆動制御する記録ヘッド制御部205を含む。また、印刷装置102は、記録媒体搬送のためのアクチュエータ等を駆動制御する装置駆動部206、各記録ヘッド内のメモリ208〜211からHS補正データに対する読み込み及び書き込み(R/W)を制御するメモリ制御回路207を含む。CPU201は、RAM202に格納された各種プログラムを実行して本実施例の動作を実現する。印刷装置102は、シアン、マゼンタ、イエロー、ブラックの4色それぞれのノズル列に対応するライン型記録ヘッド(以下、単に記録ヘッドという)を搭載している。本実施例においては、上記4色として説明するが、淡シアン等上記4色以外の色や特定の目的に応じた特色インク色を含んでも良い。各記録ヘッドは、キャリッジ等に着脱自在に取り付けられている。
【0019】
図11は、本実施例における印刷装置102の構成の概要を示す図である。印刷装置102はホストPC101から送信される印刷対象の記録データに基づいて、記録ヘッド22K、22C、22M、22Yから記録媒体Pにインクを吐出して記録を行う。4つの複数色それぞれに対応した記録ヘッド22K、22C、22M、22Yは、記録媒体Pの搬送方向(矢印A方向)に沿って順に配置されている。各記録ヘッドは、搬送方向に対して、ブラックインク用記録ヘッド22K、シアンインク用記録ヘッド22C、マゼンタインク用記録ヘッド22M、イエローインク用記録ヘッド22Yの順で配置されている。記録ヘッド22K、22C、22M、22Yは、所謂、フルライン型記録ヘッドであり、記録媒体の搬送方向に対して記録幅全域に亘ってそれぞれを平行に並べて構成されている。インクジェット記録装置10は、記録を行う際に、各記録ヘッドを移動させることなく、各記録ヘッドに設けられたヒータを駆動することによりインク吐出口(ノズル)からインクを吐出して記録を行う。
【0020】
記録ヘッドによる記録に伴って記録ヘッド22K、22C、22M、22Yのノズルを有する面(ノズル面)にゴミやインク滴等の異物が付着して吐出状態が変わり、記録に影響を与えることがある。そのため、各記録ヘッド22K、22C、22M、22Yから安定してインクを吐出できるように、印刷装置102には回復ユニット40が構成されている。回復ユニット40によるノズル面のクリーニングを定期的に行うことによって、記録ヘッド22K、22C、22M、22Yのノズルからのインク吐出状態を良好なインク吐出状態を維持、若しくは、回復することができる。また、回復ユニット40には、クリ−ニング動作のときに4つの記録ヘッド22K、22C、22M、22Yそれぞれのインク吐出口面からインクを除去するためのキャップ50が構成されている。キャップ50は、各記録ヘッド22K、22C、22M、22Yそれぞれに対して構成されており、ブレード、インク除去部材、ブレード保持部材、キャップ等を含んで構成されている。
【0021】
ロール紙である記録媒体Pは、ロール紙供給ユニット24から供給され、印刷装置102に構成された搬送機構26により矢印A方向に搬送される。搬送機構26は、記録媒体Pを載置して搬送する搬送ベルト26a、搬送ベルト26aを回転させる搬送モータ26b、搬送ベルト26aに張力を与えるためのローラ26c等を含んで構成されている。記録を行う際には、搬送中の記録媒体Pが記録ヘッド22Kの下に到達すると、ホストPC101から送られた記録データに基づいて、記録ヘッド22Kからブラックインクが吐出される。同様に、記録ヘッド22C、22M、22Yの順に、各色のインクが吐出されて記録媒体Pにカラー記録が行われる。さらに、印刷装置102には、各記録ヘッドに供給されるインクを貯めておくインクタンク28K、28C、28M、28Yや、各記録ヘッドにインクを補充可能なポンプや、クリーニング動作を行うためのポンプ等が構成されている。
【0022】
再び、
図2を参照する。各記録ヘッド内のメモリ208〜211には、例えば、書き換え可能な不揮発性メモリであるEEPROMを用いる。メモリ208〜211それぞれには、対応する記録ヘッドID及びHS補正データが、製造出荷時等、本実施例の動作前に予め書き込まれている。記録ヘッドIDは、同色の記録ヘッドで重複しない上、他色の記録ヘッドとも重複しないように割り振られている。ここで、HS補正データは、各インク色に対応した記録ヘッドのノズル列の各ノズルに対応した濃度特性情報を表わしたものである。製造誤差により、インクの吐出特性はノズルにより異なっている。印刷対象の画像データ等にヘッドシェーディング補正を行う際には、濃度特性情報を参照して、理想濃度に近づくように各ノズルについて濃度補正を行う。当然のことながら、ユーザが記録ヘッドを交換した場合には濃度特性情報は異なったものとなる。従って、印刷装置102は、各記録ヘッド内のメモリ208〜211に、記録ヘッドIDとともに、濃度特性情報を表わすHS補正データを記憶している。
【0023】
次に、ホストPC101がフォームデータにヘッドシェーディング(HS)処理を行うために、ホストPC101から印刷装置102に対して、各記録ヘッドのメモリ208〜211に記憶されたHS補正データの送信要求が行われた場合の動作について
図3を参照しながら説明する。
図3の処理は、例えば、CPU220がメモリ222に読み込まれたプリンタドライバを実行することにより実現される。
図3の処理は、例えば、フォームオーバーレイ印刷の実行以外においても、ヘッドシェーディング処理を実行する際に行われる。若しくは、ホストPC101の起動時に、ホストPC101が、印刷装置102の接続を認識して
図3の処理を実行するようにしても良いし、印刷装置102が記録ヘッドがユーザにより交換されたことを検知した際に、ホストPC101が、
図3の処理を実行するようにしても良い。
【0024】
まず、CPU220は、印刷装置102に対してHS補正データを各インク色について要求する(S301)。印刷装置102は、ホストPC101からの要求に応じて、各インク色に対応した記録ヘッドID及びHS補正データをメモリ208〜211から取得して、ホストPC101に送信する。CPU220は、印刷装置102の全インク色分の記録ヘッドID及びHS補正データを取得する(S302:第1取得の一例)。CPU220は、各インク色ごとに、記録ヘッドIDとHS補正データとを関連付けて、HS補正データセットとしてメモリ222、HDD227等の記憶領域に保存する(S303)。
【0025】
図4は、印刷装置102で定められているノズル配列方向の画像シフトについての、画像シフト量の各パターンの取得を要求する処理の手順を示すフローチャートである。印刷装置102は、使用されるノズルに偏りが生じることを防ぐために、視覚的に目立たないレベル、例えば、記録データのノズル割り当てを1ノズル分ずらすことを行う場合がある。画像シフト量とは、そのノズルのずれ量をいう。ホストPC101から印刷装置102に対して、印刷装置102に記憶された画像シフト量のパターン数と、各パターンに応じた画像シフト量の送信要求をした場合の動作について説明する。
図4に示す処理は、例えば、CPU220がメモリ222に読み込まれたプリンタドライバを実行することにより実現される。
【0026】
S401において、CPU220は、印刷装置102に対して画像シフト量の取得を要求する。S402において、印刷装置102のCPU201は、ホストPC101からの画像シフト量の取得の要求に応じて、予め定められている画像シフト量のパターン数nと、対となる各画像シフト量SnとをホストPC101に返信する(第2取得の一例)。S403において、CPU220は、S402で取得した画像シフト量のパターン数nとパターン数分の各画像シフト量Snとを関連付け、画像シフト量データセットとしてROM229等の記憶領域に保存する。
【0027】
図5は、
図3の処理でメモリ222、HDD227等の記憶領域に保存されたHS補正データセットを示す図である。
図5に示すように、1つの記録ヘッドIDとそれに対応した1つのHS補正データとが関連付けられている。
図5は、印刷装置102の全インク色分のHS補正データセットを示している。しかしながら、HS補正データを取得する対象の印刷装置が複数の場合には、
図5に示すHS補正データセットを各印刷装置ごとに保存するようにしても良い。また、HS補正データを取得済みの印刷装置において記録ヘッドが交換された場合には、CPU220は、改めてHS補正データを取得する。
【0028】
図6は、
図4の処理でROM229等の記憶領域に保存された画像シフト量データセットを示す図である。
図6に示すように、画像シフト量パターン数nとパターン数分の画像シフト量Snとが関連付けられ、画像シフト量データセットとして保存されている。例えば、画像シフトパターン数n=3である場合には、画像シフト量S1〜S3が画像シフト量データセットとして保存される。画像シフト量とはノズル数で表わされる量であり、例えば、画像シフト量S1=+3ノズル、画像シフト量S2=0ノズル、画像シフト量S3=−3ノズルのように設定されている。なお、画像シフト量データセットは、1台の印刷装置102においてパターン数nが固有であっても良いし、可変であっても良い。また、パターン数が固定でもシフト量が可変である場合には、その都度、画像シフト量データセットをCPU220が印刷装置102から取得し直すようにしても良い。
【0029】
図7は、CPU220が、ホストPC101においてフォームデータをメモリ222やHDD227等の記憶領域に保存させる処理の手順を示すフローチャートである。
図7に示す処理は、例えば、CPU220がメモリ222に読み込まれたプリンタドライバを実行することにより実現される。
【0030】
S701において、CPU220は、フォームデータファイルを作成し、そのフォームデータファイルを記憶する領域とファイル名とを設定する。なお、本実施例では、フォームデータの登録を行うユーザが、プリンタドライバから提供されたユーザインタフェース上で、記憶領域およびファイル名を設定する。S702において、CPU220は、印刷画像データ(フォームデータ)に対して、ヘッドシェーディング処理(HS処理)を適用するか否かを判定する。ここで、CPU220がHS処理を適用すると判定した場合には、S703に進み、CPU220がHS処理を適用しないと判定した場合には、S708に進む。この判定は、例えば、フォームオーバーレイ印刷を実行するためのアプリケーションで予め定められた設定内容に従ってCPU220が判定しても良いし、ユーザインタフェース画面上でのユーザ設定に従ってCPU220が判定しても良い。
【0031】
S703において、CPU220は、HS処理を適用するために必要となるHS補正データを取得する。なお、この時点で、
図3に示す処理により既にHS補正データを取得済みであっても良い。S704において、CPU220は、印刷装置102が保有するパターンn個分の画像シフト量Snを取得する。なお、この時点で、
図4に示す処理により既に画像シフト量を取得済みであっても良い。S705において、CPU220は、印刷画像データに対して、画像シフト量のパターンn個分のHS処理を適用した印刷画像データDnを作成する。なお、HS処理の適用の際には、S703、S704で取得したHS補正データと、各パターンの画像シフト量とを用いる。S705の処理を詳細に説明する。
図12に、S705の処理におけるパラメータの概念を示す。画像シフト量のパターンが「−3, 0, +3」の3パターンであった場合、CPU220は、印刷画像データ(フォームデータ)1101に対して、画像シフトパターンに対応したHS処理を適用した3個の印刷画像データ1103、 1104、1105を作成し、これらをフォームデータ1102としてROM229等の記憶領域に記憶させる。
図12において、1107は、記録ヘッドのノズル列の各ノズルに対応した濃度特性情報(ノズル毎に補正量が設定されたデータ)である、HS補正データである。ノズル番号1108において、シフト量「−3」の画像シフトが印刷装置102で行われた際の使用ノズルの範囲(HS適用範囲A)は1109(ノズル番号1〜32)であり、シフト量「0」の画像シフトが印刷装置102で行われた際の使用ノズルの範囲(HS適用範囲B)は1110(ノズル番号4〜35)であり、シフト量「3」の画像シフトが印刷装置102で行われた際の使用ノズルの範囲(HS適用範囲C)は1111(ノズル番号7〜38)である。
【0032】
印刷画像データ1103は、HS適用範囲A1109のノズルが使用されることを前提として、フォームデータに対してCPU220がHS適用範囲Aに対応したHS処理を実行することによって作成される。同様に、印刷画像データ1104は、HS適用範囲B1110のノズルが使用されることを前提として、フォームデータに対してCPU220がHS適用範囲Bに対応したHS処理を実行することによって作成される。さらに、印刷画像データ1105は、HS適用範囲C1111のノズルが使用されることを前提として、フォームデータに対してCPU220がHS適用範囲Cに対応したHS処理を実行することによって作成される。
【0033】
S706において、CPU220は、記録ヘッドID、画像シフト量パターン数n、HS処理済み印刷画像データDnをフォームデータファイルに格納する。その際のフォームデータファイルの構造については、
図8で後述する。S707において、CPU220は、S706で作成したフォームデータファイルをS701で指定された記憶領域およびファイル名で保存する。
【0034】
S702において、HS処理を適用しないと判定された場合には、S708に進む。S708においては、CPU220は、フォームデータファイルとして、通常の印刷画像データを1つ保存するのみである。
【0035】
図8は、S706において保存されたフォームデータファイル800の構造を示す図である。領域801には、
図5に示すHS補正データセットのうち、実際にHS処理時に適用されたHS補正データと関連付けられた記録ヘッドIDが保存されている。領域802には、HS処理に適用された画像シフト量データセットの情報のうちの画像シフト量のパターン数nが保存される。パターン数nは、印刷装置102がフォームデータファイル800を参照した際に、印刷画像データに対してHS処理が行われたか否かを判定するためのフラグデータとして用いられる。領域803には、HS処理に適用された画像シフト量データセットの情報のうち、画像シフト量Snに応じて作成されたHS処理済みの印刷画像データDnが保存される。画像シフト量に応じての作成とは、ノズル配列方向について所定のノズル数分シフトさせる処理をいう。領域804には、その他の情報として、フォームデータファイルおよびフォームオーバーレイ印刷時に必要とする任意のデータ等が保存される。
【0036】
図9は、ホストPC101におけるフォームオーバーレイ印刷を実行する際の処理の手順を示すフローチャートである。
図9に示す処理は、例えば、CPU220がメモリ222に読み込まれたプリンタドライバを実行することにより実現される。
【0037】
S901において、CPU220は、フォームオーバーレイ印刷を行うためのユーザインタフェース画面上でのユーザの指示に応じて、ホストPC101から印刷装置102に対して、フォームオーバーレイ印刷の開始指示が送信される。その際に、ユーザから指示された合成方法(OR、MASK)など、フォームオーバーレイ印刷に関わる任意の設定データを同時に送信するようにしても良い。S902において、CPU220は、ホストPC101から印刷装置102に対して、
図8に示すフォームデータファイル800を送信する。S903において、CPU220は、ホストPC101から印刷装置102に対して、オーバーレイデータを送信する。その際には、ユーザから指定されたページ数分のオーバーレイデータを印刷画像データとして印刷装置102に送信する。
【0038】
図10は、印刷装置102におけるフォームオーバーレイ印刷を実行する際の処理の手順を示すフローチャートである。
図10に示す処理は、例えば、CPU201がROM203に格納されたプログラムを実行することにより実現される。
【0039】
S1001において、CPU201は、ホストPC101からフォームオーバーレイ印刷の開始指示を受信する。その際に、CPU201は、合成方法(OR、MASK)など、合成印刷に関わる任意の設定データを同時に受信するようにしても良い。受信したデータは、RAM202に記憶される。S1002において、CPU201は、ホストPC101から送信されたフォームデータファイル800を受信し、RAM202に格納する。
【0040】
S1003において、CPU201は、S1002で受信したフォームデータファイル800の画像シフト量パターン数nの有無に基づいて、HS処理を適用したフォームデータがあるか否かを判定する。ここで、画像シフト量パターン数nがあれば、HS処理を適用したフォームデータがあると判定してS1004に進む。画像シフト量パターン数nがなければ、通常のフォームオーバーレイ印刷を行うと判定してS1011に進む。
【0041】
S1004において、CPU201は、S1002で受信したフォームデータファイル800内の記録ヘッドIDと、現在の印刷装置102に装着されている各インク色に対応する記録ヘッドの記録ヘッドIDとを比較し、相違の有無を判定する。その結果、記録ヘッドIDに相違ないと判定された場合には、S1005に進む。一方、記録ヘッドIDに相違があると判定された場合には、HS処理を適用した印刷画像データを用いたフォームオーバーレイ印刷結果の画質が保証されないので、フォームオーバーレイ印刷をエラーとして本処理を終了する。
【0042】
S1005において、CPU201は、フォームオーバーレイ印刷において、画像シフト量を切り替えるタイミングであるか否かを判定している。本実施例においては、画像シフト量は、印刷装置102に予め定められた任意のタイミングにより、ページ単位で切り替えられる。従って、例えば、10000ページごとに画像シフト量が切り替えられる。S1005で切り替えタイミングであると判定された場合には、S1006に進む。一方、切り替えタイミングでないと判定された場合には、S1007に進む。
【0043】
S1006において、CPU201は、設定された画像シフト量を切り替える。S1007において、CPU201は、現在の印刷装置102に設定されている画像シフト量に適合する印刷画像データをS1002で受信したフォームデータのHS処理済みの印刷画像データD1〜Dnから選択する。
【0044】
S1008において、CPU201は、オーバーレイデータの印刷画像データとS1007で選択されたフォームデータの印刷画像データとを合成する。合成処理は、S1001でホストPC101から送信された印刷指示における合成方法に従う。S1009において、CPU201は、合成結果として2値化された印刷画像データに基づいて記録ヘッドからインク滴を吐出させて印刷する。なお、本実施例において、印刷装置102をインクジェット記録装置として説明しているが、HS処理が適用可能で、かつ、フォームオーバーレイ印刷が可能な印刷装置であり、画像シフトを実行する形態であれば、サーマル方式やレーザービーム方式等を用いた印刷装置であっても良い。その場合には、ホストPC101は、各記録方式を用いた印刷装置に応じた濃度特性情報を各印刷装置から取得する。
【0045】
S1010において、CPU201は、合成対象となるオーバーレイデータのページが最終ページであるか否かを判定する。ここで、最終ページでないと判定された場合には、次ページを合成処理の対象としてS1005から処理を繰り返す。一方、最終ページであると判定された場合には、フォームオーバーレイ印刷は正常終了として本処理を終了する。
【0046】
S1003でパターン数nがフォームデータファイル800に含まれていない場合には、通常のフォームオーバーレイ印刷を行うと判定してS1011に進む。S1011〜S1015は、HS処理が適用されていないフォームデータに対して合成処理を実施するものである。また、フォームデータファイル800に含まれるフォームデータは、1つの印刷画像データのみである。
【0047】
S1011において、CPU201は、印刷装置102の画像シフト量を切り替えるタイミングであるか否かを判定している。S1011は、S1005における説明と同じである。S1011で切り替えタイミングであると判定された場合には、S1012に進む。一方、切り替えタイミングでないと判定された場合には、S1013に進む。
【0048】
S1012において、CPU201は、S1006と同様に、設定された画像シフト量を切り替える。S1013において、CPU201は、オーバーレイデータの印刷画像データと、フォームデータファイル800に含まれたフォームデータの印刷画像データとを合成する。S1014は、CPU201は、S1009と同様に、合成結果として2値化された印刷画像データに基づいて記録ヘッドからインク滴を吐出させて印刷する。S1015において、CPU201は、S1010と同様に、合成対象となるオーバーレイデータのページが最終ページであるか否かを判定する。ここで、最終ページでないと判定された場合には、次ページを合成処理の対象としてS1011から処理を繰り返す。一方、最終ページであると判定された場合には、フォームオーバーレイ印刷は正常終了として本処理を終了する。S1003では、フォームデータファイル800にパターン数nが含まれているか否かに基づいて判定されているが、パターン数nが1以上であるか否かによって判定するようにしても良い。その場合には、ホストPC101はHS処理を行わない場合に、パターン数n=0を設定し、印刷装置102は、パターン数n=0を検出すれば、S1011に進む。
【0049】
以上、本発明の好適な実施形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。