以下、本発明の一実施の形態について説明する。本発明に係る印刷装置、印刷システム及び印刷プログラムは、画像データに基づいて各種条件に応じた複数の印刷データを作成し、それらをあらかじめインクジェットプリンタに記憶させておき、インクジェットプリンタでは最適な印刷データを選択して印刷を実行するようにして、印刷実行時の印刷環境に適した印刷を実行するためのものである。
第1の実施の形態では、本発明の印刷装置、印刷システム及び印刷プログラムの一例として、印刷対象の画像データに基づいて複数の印刷データを作成するパーソナルコンピュータ100と、パーソナルコンピュータ100で作成された複数の印刷データのうち、印刷実行時の印刷環境に最適な印刷データを選択して、被印刷媒体の布帛であるTシャツに印刷するインクジェットプリンタ200とから構成される印刷システムと、パーソナルコンピュータ100又はインクジェットプリンタ200において実行されるプログラムについて説明する。また、第2の実施の形態では、印刷データ作成手段を備えた印刷装置の一例として、パーソナルコンピュータ100から送信される画像データを受信して、その画像データに基づいて複数の印刷データを作成するとともに、印刷実行時において最適な印刷データに基づいてTシャツに印刷するインクジェットプリンタ200について説明する。
まず、図1〜図6を参照して、第1,第2の実施の形態に係るパーソナルコンピュータ100及びインクジェットプリンタ200の構成について説明する。図1は、パーソナルコンピュータ100の構成を示すブロック図である。図2は、パーソナルコンピュータ100のRAM130の記憶エリアの構成を示す概念図である。図3は、パーソナルコンピュータ100のHDD150の記憶エリアの構成を示す概念図である。図4は、インクジェットプリンタ200の構成を示すブロック図である。図5は、インクジェットプリンタ200のROM220の記憶エリアの構成を示す概念図である。図6は、インクジェットプリンタ200のRAM230の記憶エリアの構成を示す概念図である。
図1に示す、パーソナルコンピュータ100は、アプリケーション等で作成した画像データを印刷するため、例えばUSB等の規格に基づく通信ケーブルによって接続されたインクジェットプリンタ200に、第1の実施の形態では画像データに基づいて作成された複数の印刷データを、第2の実施の形態では画像データ等を送信する。図4に示す、インクジェットプリンタ200は、第1の実施の形態では、受信した複数の印刷データのうち、印刷実行時において最適な印刷データに基づいて、被記録媒体の一例としてのTシャツへ印刷を行う。また、第2の実施の形態では、画像データ処理装置によって受信した画像データに基づいて複数の印刷データを作成して、印刷実行時において最適な印刷データに基づいてTシャツへの印刷を行う。そのため、第1の実施の形態のパーソナルコンピュータ100では、画像データから印刷データを作成するドライバプログラムのモジュールの1つとして印刷データ作成プログラム(図7参照)が実行され、インクジェットプリンタ200では、印刷処理を実行するドライバプログラムのモジュールの1つとして印刷実行プログラム(図18参照)が実行される。また、第2の実施の形態のインクジェットプリンタ200では、受信した画像データ等から印刷データの作成を行う際に実行されるモジュールの1つとして、印刷データ作成プログラムが実行され、印刷処理を実行するためのモジュールの1つとして、印刷実行プログラムが実行される。
図1に示すように、パーソナルコンピュータ100には、パーソナルコンピュータ100の制御を司るCPU110が設けられている。このCPU110には、バス115を介し、CPU110が実行するBIOS等のプログラムを記憶したROM120と、データを一時的に記憶するRAM130と、データの記憶媒体であるCD−ROM141を挿入し、データの読み込みを行うCD−ROMドライブ140と、データの記憶装置であるハードディスクドライブ(以下、「HDD」という。)150とが接続されている。また、RAM130には、画像データの色空間を変換するための入力側の色変換テーブルと、入力側の色変換テーブルによって変換された色空間をインクジェットプリンタ200の色空間に変換するための出力側の色変換テーブルが記憶されているが、詳細は後述する。
さらに、インクジェットプリンタ200を含めた外部機器との通信を行うためのUSBインタフェース160と、利用者に操作画面を表示するためのモニタ171の画面表示処理を行う表示制御部170と、利用者が操作の入力を行うキーボード181やマウス182が接続され、それらの入力の検知を行う入力検知部180とが、バス115を介してCPU110に接続されている。なお、パーソナルコンピュータ100には、図示外のフロッピー(登録商標)ディスクドライブ、音声等の入出力部、各種インタフェースなども設けられている。
なお、CD−ROM141には、後述する図7のフローチャートで示される印刷データ作成プログラムや、そのプログラムの実行時に使用される設定やデータ等が記憶されており、導入時には、CD−ROM141からHDD150上のプログラム記憶エリア152や情報記憶エリア153(図3参照)にセットアップされて記憶されるようになっている。
次に、図2に示すように、パーソナルコンピュータ100のRAM130には、プログラムの実行中の一時的なデータを記憶するワークエリア131と、入力された画像データを一時的に記憶する入力画像データ記憶エリア132と、第1の実施の形態において印刷データ作成プログラムによって画像データに基づいて作成された複数の印刷データを記憶する出力画像記憶エリア133とが設けられている。さらに、RAM130には、図示外の各種記憶エリアが設けられている。
また、図3に示すように、パーソナルコンピュータ100のHDD150には、パーソナルコンピュータ100の動作を制御するためCPU110が実行する各種のプログラム等を記憶したオペレーティングシステム(OS)記憶エリア151と、パーソナルコンピュータ100で実行される各種のプログラムや印刷データ作成プログラムを記憶したプログラム記憶エリア152と、プログラムの実行に必要な設定や初期値、データ等の情報を記憶した情報記憶エリア153と、第1の実施の形態では印刷画像データ記憶エリア133に記憶された画像データから作成された印刷データを、また、第2の実施の形態ではアプリケーション等で作成された画像データ等をインクジェットプリンタ200に送信するために一時的に記憶する印刷キュー154とが設けられている。さらに、HDD150には、図示外の各種記憶エリアが設けられている。
次に、図4に示す、インクジェットプリンタ200には、インクジェットプリンタ200の制御を司るCPU210が設けられている。CPU210には、バス215を介し、CPU210が実行するインクジェットプリンタ200の動作を制御するための制御プログラム等を記憶したROM220と、データを一時的に記憶するRAM230とが接続されている。
またCPU210には、バス215を介して、インク噴射を行うインクジェットヘッド241の各チャンネルに設けられた圧電アクチュエータ(図示外)を駆動させるためのヘッド駆動部240と、インクジェットヘッド241を搭載したキャリッジ(図示外)を駆動するためのキャリッジモータ251、印刷時に被印刷対象の布帛であるTシャツを保持するプラテン(図示外)にTシャツを送り出すタイミングや速度を調整するプラテンローラ(図示外)を駆動するためのプラテンモータ252、Tシャツを搬送する搬送ローラ(図示外)を駆動するための搬送モータ253をそれぞれ制御して駆動させるためのモータ駆動部250と、パーソナルコンピュータ100を含めた外部機器にUSBケーブル(図示外)で接続して通信が行えるようにするためのUSBインタフェース260とが接続されている。
インクジェットプリンタ200のキャリッジ(図示外)には、圧電式の4つのインクジェットヘッド241が搭載されている。4つのインクジェットヘッド241は、例えばシアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の4色のカラーインクのそれぞれに対応して設けられており、各インクを噴射するための、例えば128個のチャンネル(図示外)をそれぞれ備えている。そして各チャンネルには、各々個別に駆動される圧電アクチュエータ(図示外)が設けられており、各チャンネルに対応してインクジェットヘッド241のインク噴射面に孔設された微細な噴射ノズル(図示外)から、インク液滴が噴射されるように制御される。
さらに、利用者に操作画面や印刷に関する各種情報を表示するためのディスプレイ271の画面表示処理を行う表示制御部270がバス215を介してCPU210にと接続されている、また、インクジェットプリンタ200における温度を測定する温度センサ281と、インクジェットプリンタ200における湿度を測定する湿度センサ282と、利用者が印刷実行のための各種条件を設定するためのボタンやスイッチを備えた入力パネル283の入力の検知を行う入力検知部280が、バス215を介してCPU210にと接続されている。
温度センサ281及び湿度センサ282は、インクジェットプリンタ200において有効に温度や湿度を測定できれば、その位置は問わないが、好適には、インクが噴出されるインクジェットヘッド241やインクが形成される被記録媒体であるTシャツの近傍に設定される。また、利用者が入力パネル283から入力する各種の設定情報は、例えば、紙や布帛などの被記録媒体の種別、印刷データの印刷解像度、カラーやモノクロなどの印刷方式であるが、他の情報を印刷条件として入力してもよい。なお、入力パネル283には、インクジェットプリンタ200に印刷実行を指示するための印刷ボタン(図示せず)が設けられている。
次に、図5に示すように、インクジェットプリンタ200のROM220には、インクジェットプリンタ200の動作を制御するための制御プログラム等や、印刷処理を実行するための印刷実行プログラムや、第2の実施の形態における印刷データ作成プログラム(図7参照)を記憶したプログラム記憶エリア221と、プログラムの実行に必要な設定や初期値、データ等の情報を記憶した情報記憶エリア222とが設けられている。さらに、ROM220には、図示外の各種記憶エリアが設けられている。
また、図6に示すように、インクジェットプリンタ200のRAM230には、プログラムの実行中の一時的なデータを記憶するワークエリア231と、第1の実施の形態では受信した複数の印刷データを、第2の実施の形態では受信した画像データ等を記憶する受信バッファ232と、第2の実施の形態において印刷データ作成プログラムによって画像データに基づいて作成された複数の印刷データを記憶する印刷データ記憶エリア233と、印刷中の印刷データを記憶する印刷バッファ234とが設けられている。さらに、RAM230には、図示外の各種記憶エリアが設けられている。
次に、第1の実施の形態のパーソナルコンピュータ100の印刷データ作成の動作について、図7〜図16を参照して説明する。図7は、印刷データ作成処理のフローチャートである。図8は、印刷環境と出力側の色変換テーブルの対応を示す図である。図9は、C(シアン)についての印刷データである。図10は、M(マゼンタ)についての印刷データである。図11は、Y(イエロー)についての印刷データである。図12は、K(ブラック)についての印刷データである。図13は、他のC(シアン)についての印刷データである。図14は、他のM(マゼンタ)についての印刷データである。図15は、他のY(イエロー)についての印刷データである。図16は、他のK(ブラック)についての印刷データである。以下、フローチャートの各ステップについて「S」と略記する。
パーソナルコンピュータ100で実行されるアプリケーション等では、画像データは、いわゆるRGB形式の画像データとして作成される。利用者が、その画像データについて印刷データを作成する指示を行った場合、そのアプリケーションから、あるいは、OSから、印刷データ作成プログラムが呼び出されて起動される。
まず、印刷を行うための画像データが入力されると入力画像データ記憶エリア132に記憶され、また、入力側の色変換テーブルが入力されるとRAM130に記憶される(S11)。入力側の色変換テーブルは、あらかじめRAM130に記憶されていれば入力する必要はない。また、画像データは、あらかじめパーソナルコンピュータ100に記憶されているものであっても、外部の記憶媒体から取り込んだものであってもよい。
RAM130に記憶された入力側の色変換テーブルは、RGB形式の画像データの色空間をL*a*b*形式に変換するためのプロファイルであって、異デバイス間で色再現を行うためのLUT(ルックアップテーブル)である。この入力側の色変換テーブルによって、入力画像データ記憶エリア132に記憶されたRGB形式の画像データがL*a*b*形式に変換される。
一般に、パーソナルコンピュータ等においてモニタに表示して編集が行われる画像データは、複数の画素の集合として構成される。各画素それぞれは、光の三原色である赤(R)、緑(G)、青(B)のそれぞれについて明度(階調)のデータを有し、それら明度は、例えば0〜255の値によって示される。R値,G値,B値それぞれの明度が0であれば、その画素は黒として表現され、それぞれ255であれば、その画素は白として表現される。また、R値が255でG値,B値がそれぞれ0であれば、その画素は赤として表現される。このような、いわゆる8ビットカラーのデータを有する画像データでは、約1677万色の色表現が可能である
しかし、モニタにはいくつもの種類が存在し、それぞれ特性が異なるため、R値,G値,B値が同一の画素であっても、モニタごとに異なる色として見える場合がある。例えば、あるモニタでは赤色に見える画素が、そのR値,G値,B値は変えずに他のモニタに表示させて見た場合に、ピンクに見えることがある。そこで、どのモニタで画像データを表示しても同一の色として見えるようにするための基準としてL*a*b*形式が一般化されている。L*a*b*は、画素の色を、L*(明度)、a*(赤から緑へ変化する色の度合い)、b*(青から黄色へ変化する色の度合い)によって示す。各モニタごとにそれぞれの特性に合わせてL*a*b*形式からRGB形式に変換するための入力側の色変換テーブル(プロファイル)を持たせることで、L*a*b*によって一意に決められた画素の色は、どのモニタで見ても同一の色として見ることができる。
このような、L*a*b*による色の基準はモニタ間での色調整を行う場合に限らず、例えばスキャナで取り込んだ画像データやプリンタで印刷する画像データについても、L*a*b*によってそれぞれの機器間でのデータの取り扱いを行うことで、機器の特性によらず同じ色として利用者が認識できるようにすることができる。これら各機器ごとのプロファイルは、一般的に、それぞれの機器の生産者から提供されるものである。
なお、RAM130に入力側の色変換テーブルが存在しない場合は、sRGB(standard RGB)を用いて色空間の変換を行うものとする。sRGBは、画像データを機器間の色再現の違いを統一するために色彩・彩度等を規定・統一した国際基準の色空間であり、たとえば、デジタルカメラやプリンタ・モニタなど多くのPC周辺機器では、このsRGBに則った色調整を行うことでモニタで見たときとプリンタで出力したときの色の差異を極力少なくしていることが知られている。そこで、本実施の形態においては、RAM130に入力側の色変換テーブルが存在しておらず、画像データはsRGBによって以下の色変換が実行されるものとする。
次に、インクジェットプリンタ200の印刷条件及び環境条件の1つの組合せに対応した出力側の色変換テーブルが、RAM130に記憶された出力側の色変換テーブルから選択される(S12)。出力側の色変換テーブルは、印刷条件及び環境条件の組合せに対応して、あらかじめRAM130に複数記憶されており、S12ではRAM130に記憶された複数の出力側の色変換テーブルのうち、先頭から順に選択される。
RAM130に記憶された出力側の色変換テーブルは、所定の印刷条件及び環境条件の組合せによって定義される印刷環境に応じて、入力側の色変換テーブルによって変換されたL*a*b*形式の画像データの色空間をCMYK形式に変換するためのプロファイルであって、異デバイス間で色再現を行うためのLUT(ルックアップテーブル)である。以下の処理では、この出力側の色変換テーブルによって、入力画像データ記憶エリア132に記憶されたL*a*b*形式の画像データの色空間がCMYK形式に変換される。
このようにL*a*b*形式の画像データの色空間をCMYK形式に変換する処理は、インクジェットプリンタ200の特性に基づくプロファイルである出力側の色変換テーブルが参照されることによって行われる。この出力側の色変換テーブルは、前述したように、インクジェットプリンタ200の特性に基づくプロファイルとして提供される。例えば、インクジェットプリンタ200の出力側の色変換テーブルは、あらかじめ実験等によって、以下のように作成されて提供される。まず、CMYKの値の全通りの組み合わせについてハーフトーン処理(2値化処理)を行い、印刷データを作成してインクジェットプリンタ200で印刷する。この時、あらかじめ定められた複数の印刷環境のもとで、印刷を実行する。そして印刷結果を測色計によって測色することで、L*a*b*の値が判明する。これにより、L*a*b*とCMYKとの関係を定義づけたテーブルを作成し、それをインクジェットプリンタ200の特性に基づいた、印刷環境毎のプロファイルとして提供するのである。なお、CMYKの値の全通りの組み合わせは膨大な数となるため、所定の組み合わせについて上記測色を行い、その結果に基づき、測色されなかった組み合わせについて補完を行うとよい。このようにして、あらかじめ定められた複数の印刷環境に各々対応する複数の色変換テーブルが作成されて、RAM130に記憶される。
なお、CMYK形式は、画素の色を色の三原色に分解し、印刷する際のインクの色、シアン(C)、マゼンタ(M)、イエロー(Y)にブラック(K)を加えた4色で表現することができるように、各色の濃度値を、例えば0〜255の値によって示したものである。色が濃い部分を高い濃度値で示し、薄い部分は低い濃度値で示す。一般的に、インクジェットプリンタでは、ある画素について濃度値が高ければ、公知の誤差拡散法に基づく処理によって、その画素付近にインク液滴が噴射される確率が高くなる。
ここで、印刷条件及び環境条件の組合せによって定義される印刷環境について説明する。インクジェットプリンタ200において印刷を実行する場合、その実行時の印刷環境によって印刷結果が異なる。印刷環境は、印刷結果に影響を与える1以上の要素の組合せからなり、各要素は印刷条件又は環境条件に分類される。
印刷条件は、利用者が任意に設定する画像データの印刷実行の条件であり、例えば、「被記録媒体の種別」、「印刷解像度」及び「印刷方式の種別」などが、その要素として挙げられる。「被記録媒体の種別」とは、普通紙や布帛などの被記録媒体の材料を示す情報である。「印刷解像度」とは、単位面積あたりの画素(ドット)数によって印刷品質を示す情報である。「印刷方式の種別」とは、カラー印刷やモノクロ印刷などの印刷手法を示す情報である。環境条件は、インクジェットプリンタ200を取り巻く外部の環境要因であり、例えば、「温度」や「湿度」がその要素として挙げられる。「温度」や「湿度」は、インクジェットプリンタ200における印刷実行時の温度や湿度をいい、印刷実行毎にその値は変化している。
このように、印刷環境を定義するための要素としては複数のものが存在するが、いずれの要素を用いて本発明にかかる印刷装置及び印刷システムを実現するかは、利用者または設計者の任意である。例えば、多くの要素を用いれば精度は向上するが、処理量が増加するため、代表的な要素を用いればよい。本実施の形態においては、「印刷解像度」、「温度」、「湿度」の3要素を用いて、以下説明を続ける。
そして、印刷環境は、印刷条件又は環境条件に分類される複数の要素の組合せによって定義される。各要素はそれぞれ数値等が変化するものであり、各要素が変化した状態ごとに組合せが発生するが、ここでは所定の代表的な数値等によって、各要素の組合せを定義する。例えば、「温度」は0℃から50℃までの10℃毎に6パターンが設定され、「湿度」は20%から100%の20%毎に5パターンが設定され、「印刷解像度」であれば、300dpi、600dpi、1200dpiの3パターンが設定されて、これら要素のパターンの組合せによって計90パターンの組合せが定義される。そして、図8に示すように、各要素のパターンの組合せ(印刷環境)に対応した出力側の色変換テーブルがRAM130に記憶されており、S12においては、先頭から順にこの出力側の色変換テーブルの1つが取得されることになる。なお、この印刷環境は、本発明の「印刷環境条件」に相当する。
次のS13〜S16の処理では、画像データを構成する全画素について、順に、画像処理が行われる。そのため、まず、S13において、画像データの画素の1つの選択(注目)が行われる(S13)。そして、以降の処理では、RGB形式の画像データを入力側の色変換テーブルにより装置に依存しないL*a*b*形式に色空間を変換(プロファイル)し、更に、このL*a*b*形式のデータを出力側の色変換テーブルによりインクジェットプリンタ200に用いられるCMYK形式のデータに色空間を変換する。なお、RGB形式のデータをL*a*b*形式を介してCMYK形式に色空間を変換する技術は、各種の手法が存在しており、いずれの手法によっても、本発明に適用可能である。
そして、その注目した画素(注目画素)がワークエリア131に取り込まれ、RAM130に記憶された入力側の色変換テーブルにより、その画素のデータをRGB形式からL*a*b*形式及びCMYK形式に変換する処理が行われる(S14)。先述のように、本実施の形態では、S11において入力側の色変換テーブルが入力されておらず、sRGBに基づいて変換が実行される。同様に、入力側の色変換テーブルがない場合には、公知の計算式に基づき算出された一般的な値に変換されるようにしてもよい。
さらに、S14においてL*a*b*形式に変換された画素のデータを、S12において選択された出力側の色変換テーブルにより、その画素のデータをL*a*b*形式からCMYK形式に変換する処理が行われる(S15)。具体的には、図8に示す変換テーブルのうち、S12において印刷環境「温度0℃/湿度20%/印刷解像度300dpi」に対応する「色変換テーブル1」が選択された場合、この「色変換テーブル1」に基づいて、S14ではL*a*b*形式に変換された画素のデータはCMYK形式に変換される。
そして、S16では、画像データのすべての画素についてS13〜S15の処理が行われたかが確認され(S16)、まだ画像処理を施していない画素があれば(S16:NO)、S13に戻り、上記処理を繰り返す。そして、すべての画素について画像処理が施された場合には(S16:YES)、CMYK形式に変換されたすべての画素について擬似階調処理が行われて、インクジェットプリンタ200において印刷を実行するための印刷データが作成される(S17)。擬似階調処理は、CMYK形式のデータを印刷階調に落とすための処理であり、ここでは誤差拡散法による擬似階調処理が行われるものとして、説明を続ける。
以上の処理により、画像データに基づいて印刷データが作成されるが、ここでS14,S15,S17の処理による色空間の変換について、S11において入力された画像データが5×5ピクセルで構成され、各ピクセルの全ての色がRGB値でRGB=(200,0,0)である場合を例に、具体的に説明する。なお、インクジェットプリンタ200は、「ドットを打つ」及び「ドットを打たない」の2階調によって制御されるものとし、被記録媒体の種別は普通紙とする。
画像データを構成する各ピクセルが、sRGBに基づいてL*a*b*形式に変換されると(S14)、そのL*a*b*値としてL*a*b*=(43,67,58)といった値に変換される。また、印刷環境「温度20℃/湿度40%/印刷解像度300dpi」に対応する出力側の色変換テーブルが選択されており(S12)、この色変換テーブルによってL*a*b*=(43,67,58)の各ピクセルは、CMYK値がCMYK=(0,200,150,0)といった値のデータに変換される(S15)。このCMYK=(0,200,150,0)の各ピクセルについて、誤差拡散法で擬似階調処理を行うと、図9乃至図12に示すような印刷データが作成される(S17)。
印刷データは、各画素のC値,M値,Y値,K値に基づいて、被記録媒体上のその画素を表現するための領域内のインク液滴を噴射可能な位置に対し、インク液滴を噴射するかしないかを示すものであるすなわち、図9はC(シアン)についての印刷データであり、図10はM(マゼンタ)についての印刷データであり、図11はY(イエロー)についての印刷データであり、図12はK(ブラック)についての印刷データである。そして、図9乃至図12において、「0」が「ドットを打たない」を示し、「1」が「ドットを打つ」を示している。
同様に、S12において、印刷環境「温度30℃/湿度60%/印刷解像度600dpi」に対応する出力側の色変換テーブルが選択された場合は(S12)、この色変換テーブルによってL*a*b*=(43,67,58)の各ピクセルは、CMYK値がCMYK=(0,120,70,0)といった値のデータに変換される(S15)。このCMYK=(0,120,70,0)の各ピクセルについて、誤差拡散法で擬似階調処理を行うと、図13乃至図16に示すような印刷データが作成される(S17)。すなわち、図13はC(シアン)についての印刷データであり、図14はM(マゼンタ)についての印刷データであり、図15はY(イエロー)についての印刷データであり、図16はK(ブラック)についての印刷データである。そして、図13乃至図16においても、「0」が「ドットを打たない」を示し、「1」が「ドットを打つ」を示している。
なお、S14において算出されたL*a*b*値は一例であって、入力側の色変換テーブルや変換手法によって算出される値は異なるものであるが、S15における出力側の色変換テーブルによるデータ変換に適した形式の数値が算出されればよい。また、S15において算出されたCMYK値も一例であって、出力側の色変換テーブルや変換手法によって算出される値は異なるものであるが、S17における印刷データの作成に適した形式の数値が算出されればよい。
以上のようにして、S12において選択された色変換テーブルに基づいて、1つの印刷環境に対応する印刷データが作成される。そして、S18では、印刷条件及び環境条件の全ての組合せについてS12〜S17の処理が行われたかが確認され(S18)、まだ処理が行われていな印刷条件及び環境条件の組合せが存在すれば(S18:NO)、S12に戻って次の色変換テーブルが選択されて、上記処理が繰り返される。
一方、印刷条件及び環境条件の全ての組合せについてS12〜S17の処理が実行されると(S18:YES)、全ての組合せについて各々対応する印刷データが作成されることになる。そして、S19では、これらの印刷データをひとまとめにして、HDD150の印刷キュー154に一旦記憶させ、所定のタイミングでひとまとめにされた印刷データ群が、USBインタフェース160を介して一括してインクジェットプリンタ200へ送信される(S19)。その後、印刷データ作成プログラムは終了されて、本処理が終了する。
なお、S19でひとまとめにされた印刷データ群においては、各印刷データのヘッダ部に印刷条件及び環境条件の組合せ(印刷環境)が示されており、ひとまとめにされた印刷データのうちで、どの印刷データがどの印刷環境に対応するものかが、インクジェットプリンタ200においてデータ上判別できるように構成されている。
なお、ヘッダ部を用いた方法以外の方法であっても、インクジェットプリンタ200において有効に各印刷データ及びその印刷環境を判別できれば、どのように印刷データ群を構成してもよい。また、各印刷データが同一の画像データに基づいて作成されたものであること及びデータの取り扱い上の便宜から、各印刷データをひとまとめにした印刷データ群としてインクジェットプリンタ200へ送信しているが、各印刷データ毎にインクジェット200へ分けて送信するようにしてもよい。
なお、画像データに基づいてインク液滴を噴射するかしないかを示す印刷データを作成するCPU110が、本発明における「印刷データ作成手段」に相当し、これをUSBインタフェース160を介してインクジェットプリンタ200へ送信するCPU110が、本発明における「印刷データ送信手段」に相当する。
次に、第1の実施の形態のインクジェットプリンタ200の印刷実行の動作について、図17及び図18を参照して説明する。図17は、印刷データ群を示す図である。図18は、印刷実行処理のフローチャートである。
本処理の前提として、パーソナルコンピュータ100における印刷データ作成処理(図7)のS19において、インクジェットプリンタ200に送信された印刷条件及び環境条件の全ての組合せについての印刷データ群が、インクジェットプリンタ200において受信される。そして、インクジェットプリンタ200では、受信された印刷データ群が受信バッファ232を介して、印刷データ記憶エリア233に記憶されているものとする。
図17に示すように、印刷データ記憶エリア233に記憶された印刷データ群は、複数の印刷データ10から構成されている。各印刷データ10は、印刷条件及び環境条件の組合せ(印刷環境)を示す情報を備えたヘッダ部11と、C(シアン)についての印刷データである印刷データ部12と、M(マゼンタ)についての印刷データである印刷データ部13と、Y(イエロー)についての印刷データである印刷データ部14と、K(ブラック)についての印刷データである印刷データ部15とから構成される。
先述のように図17に示す印刷データ10は、図8に示す出力側の色変換テーブルに基づいて作成されたものであり、この場合出力側の色変換テーブルは90個存在するから、図17に示す印刷データ群は、90個の印刷データ10によって構成されている。また、各印刷データ10は、色変換テーブルに対応付けられた印刷環境の情報をヘッダ部11に備えている。
例えば、図17に示す印刷データ10のうち、印刷データ10aは「色変換テーブル1」に基づいて作成されたものであり、そのヘッダ部11には印刷環境「温度0℃/湿度20%/印刷解像度300dpi」が示されている。また、印刷データ10bは印刷環境「温度20℃/湿度40%/印刷解像度300dpi」に対応する色変換テーブルに基づいて作成されたものであり、その印刷環境がヘッダ部11に記憶されている。そして、印刷データ10bのC(シアン)についての印刷データ部12は図9に示すものであり、M(マゼンタ)についての印刷データ部13は図10に示すものであり、Y(イエロー)についての印刷データ部14は図11に示すものであり、(ブラック)についての印刷データ部15は図12に示すものである。同様に、印刷データ10cは、印刷環境「温度30℃/湿度60%/印刷解像度600dpi」に対応する色変換テーブルに基づいて作成されたものであり、その印刷環境がヘッダ部11に記憶されている。そして、印刷データ10bのC(シアン)についての印刷データ部12は図13に示すものであり、M(マゼンタ)についての印刷データ部13は図14に示すものであり、Y(イエロー)についての印刷データ部14は図14に示すものであり、(ブラック)についての印刷データ部15は図12に示すものである。また、印刷データ10dは、「色変換テーブル90」に基づいて作成されたものであり、そのヘッダ部11には印刷環境「温度50℃/湿度100%/印刷解像度1200dpi」が示されている。
そして、利用者が、印刷データ記憶エリア233に記憶された印刷データ群について印刷に関する指示を行った場合、そのアプリケーションから、あるいは、OSから、印刷実行プログラムが呼び出されて起動される。なお、図18に示す印刷データ受信処理は、1つの印刷データ群について処理が実行されるものであり、他の印刷データ群については独立して印刷データ受信処理(図18)が別途並行して実行されるものとする。
図18に示すように、まず、印刷条件が入力されるとRAM230に記憶される(S21)。利用者は入力パネル283を用いて、印刷条件として任意の要素を選択し、任意の数値等を設定することができる。なお、すでに印刷条件が入力されている場合は、本処理を省略してもよいし、入力がなければデフォルト値が設定されるようにしてもよい。例えば、利用者は画像データを所望の印刷解像度や印刷方式等で印刷させたい場合は、入力パネル283を用いて、印刷条件として印刷解像度と印刷方式等を選択し、それらの要素について所望の数値等を入力する。
その後、印刷ボタンの押下についての待ち状態に遷移し(S22)、印刷ボタンが押されるまで待ち状態を繰り返す(S22:NO)。印刷ボタンが押された場合は(S22:YES)、温度センサ281及び湿度センサ282により、現在の環境条件が測定されてRAM230に記憶される(S23)。すなわち、インクジェットプリンタ200における現在の温度及び湿度が、それぞれ温度センサ281及び湿度センサ282によって取得されて、その温度及び湿度が現在の環境条件としてRAM230に記憶される。
そして、RAM230に記憶された印刷条件及び環境条件の組合せ(印刷環境)に基づいて、その印刷環境に一番近い印刷環境に対応する印刷データ10が、印刷データ記憶エリア233に記憶された印刷データ群から選択される(S24)。前述のように、印刷データ記憶エリア233に記憶された印刷データ群は、各印刷データ10のヘッダ部11に印刷環境が示されており、このヘッダ部11に基づいて印刷データ10を選択可能となっている。また、RAM230に記憶された印刷条件及び環境条件の組合せ(印刷環境)と一致する印刷環境を示す印刷データ10が存在しない場合には、最も印刷環境が近似する印刷データ10が選択される。
すなわち、S21において印刷条件として「印刷解像度300dpi」が入力され、かつ、S23において「温度20℃」と「湿度40%」が測定された場合は、この印刷環境に対応する印刷データ10として、図17に示す印刷データ群から印刷データ10bが取得される。また、S21において印刷条件として「印刷解像度600dpi」が入力され、かつ、S23において「温度30℃」と「湿度60%」が測定された場合は、この印刷環境に対応する印刷データ10として、図17に示す印刷データ群から印刷データ10cが取得される。
そして、S24において選択された印刷データ10に基づいて印刷が実行される(S25)。インクジェットプリンタ200では、S24で選択された印刷データ10が印刷データ記憶エリア233から印刷バッファ234に送られ、印刷が開始される。搬送モータ253が駆動されると、被記録媒体がインクジェットプリンタ200のキャリッジ(図示外)の往復移動方向とは直交する方向に搬送される。被記録媒体の一方の面はキャリッジに搭載されたインクジェットヘッド241に対向し、被記録媒体の搬送方向を副走査方向、キャリッジの移動方向を主走査方向として、被記録媒体に印刷データ10に基づくインク液滴が噴射される。
具体的には、S24において印刷データ10bが選択された場合は、その印刷データ部12,13,14,15に基づいて、すなわち、図9乃至図12に示すような各色の印刷データに基づいて、印刷が実行されることになる。また、S24において印刷データ10cが選択された場合は、その印刷データ部12,13,14,15に基づいて、すなわち、図13乃至図16に示すような各色の印刷データに基づいて、印刷が実行されることになる。
印刷実行後は、再びS22の印刷ボタンの押下の待ち受け状態に遷移する。そして、印刷ボタンの押された場合は(S22:YES)、再び現在の環境条件が測定されて(S23)、S21で入力された印刷条件と現在の環境条件とから、最適な印刷データ10が印刷データ記憶エリア233に記憶された印刷データ群から選択されて(S24)、その印刷データ10に基づいて印刷が実行されることになる(S25)。そして、インクジェットプリンタ200における全ての印刷の終了が指示され、又は、電源が切断された場合に、印刷実行プログラムが終了されて、本処理は終了する。
以上説明したように、第1の実施の形態におけるパーソナルコンピュータ100及びインクジェットプリンタ200では、パーソナルコンピュータ100において印刷対象の画像データに基づいて、印刷条件及び環境条件の全ての組合せに各々対応した複数の印刷データ10を作成し、それらの印刷データ群をあらかじめインクジェットプリンタ200に記憶させておき、印刷実行時の印刷条件及び環境条件(印刷環境)に基づいて最適な印刷データ10を選択して印刷を実行するようにした。よって、印刷実行時の処理時間が短く、かつ、印刷実行時の印刷条件及び環境条件(印刷環境)に適した印刷を実行して、印刷環境に影響されることなく美しい印刷結果を少ない待ち時間で得ることができる。
また、温度や湿度などの環境条件及び被記録媒体の種別,印刷解像度,印刷方式の種別などの印刷条件に基づいて最適な印刷データ10が選択されるので、これらの要素に基づいて発生する印刷品質の劣化を的確に防止することができる。
また、インクジェットプリンタ200側の利用者が印刷を指示して印刷実行できるようにして、画像データに基づく印刷データ10の作成と印刷データ10に基づく印刷とが、独立に行われるようにした。よって、印刷データ10の作成タイミングをパーソナルコンピュータ100側の利用者が任意に決定できるとともに、印刷の実行タイミングをインクジェットプリンタ200側の利用者が任意に決定できるため、より自由度と柔軟性を高くすることができる。また、パーソナルコンピュータ100とインクジェットプリンタ200とを離れた位置に設けることができるため、印刷データ10を作成する場所と印刷を実行する場所が離れている場合においても本発明を実現でき、自由な構成を可能とすることができる。
また、利用者がインクジェットプリンタ200に印刷を指示したら、温度センサ281や湿度センサ282によって環境条件が測定されるため、最新の環境条件に基づいて最適な印刷データ10が選択されるので、常に美しい印刷結果を得ることができる。
また、同一の画像データについて、インクジェットプリンタ200側で何度も印刷を実行することができ、しかも、印刷条件及び環境条件(印刷環境)に最適な印刷データ10によって印刷が実行できるため、同一の画像データについて常に美しい印刷結果を得ることができる。
次に、第2の実施の形態のパーソナルコンピュータ100及びインクジェットプリンタ200の動作について説明する。本実施の形態では、パーソナルコンピュータ100上で実行されるアプリケーション等で作成された画像データは、RGB形式の画像データのまま、インクジェットプリンタ200へ送信される。これは、パーソナルコンピュータ100に導入されるインクジェットプリンタ200のドライバによって、アプリケーション等から受け取った画像データをそのままインクジェットプリンタ200に送信する処理を行う仕様とすればよい。
画像データの送信時には、アプリケーション等から受け取った画像データを、図2に示す、RAM130の入力画像データ記憶エリア132に記憶させ、印刷部数、印刷サイズ等の設定が行われてから、図3に示すHDD150の印刷キュー154へ記憶させて、インクジェットプリンタ200への送信を行う。
インクジェットプリンタ200では、受信した画像データはRAM230の受信バッファ232へ記憶される。そして、印刷データ作成プログラムが起動されて、図7に説明した印刷データ作成処理が実行される。この印刷データ作成処理における画像データに対する処理は、第1の実施の形態と同様である。ただし、印刷データ作成処理によって作成された印刷データ群は、S19におけるインクジェットプリンタ200への送信に代えて、印刷データ記憶エリア233に記憶される。
図18に示す印刷実行処理についても、第1の実施の形態と同様である。すなわち、入力された印刷条件と測定された環境条件とから最適な印刷データ10が、印刷データ記憶エリア233に記憶された印刷データ群から選択されて、前記同様、印刷バッファ234に記憶された印刷データ10に基づくインク液滴の噴射が行われる。
以上説明したように、第1,第2の実施の形態のパーソナルコンピュータ100及びインクジェットプリンタ200では、アプリケーション等で作成した画像データから印刷するための印刷データ10を作成するために、印刷データ作成プログラムが実行される。そして、第1の実施の形態では、印刷データ作成プログラムはパーソナルコンピュータ100上にて、また、第2の実施の形態では、インクジェットプリンタ200上にて実行される。
次に、第3の実施の形態のインクジェットプリンタ200の動作について説明する。前述したように、第1,第2の実施の形態では、S19においてパーソナルコンピュータ100から送信された印刷データ群が、インクジェットプリンタ200に記憶された状態において、利用者が印刷条件を入力した後に(S21)、利用者からの印刷実行の指示を待ち受けている(S22)。
しかし、図19に示すように、印刷実行処理が実行されるようにしてもよい。図19は、第3の実施の形態における印刷実行処理のフローチャートを示す図である。図19に示すように、印刷条件の入力(S32)も印刷ボタンの押下がなされてから(S31:YES)、実行されるようになっている。他の処理(S33〜S35)は、図18に示す印刷実行処理における処理(S23〜S25)と同じである。
本実施の形態によれば、利用者による印刷実行の指示がなされてから、印刷条件の入力が行われるようにしたので、利用者が印刷実行毎に印刷条件を変えたい場合に、容易に対応することができる。
次に、第4の実施の形態のインクジェットプリンタ200の動作について説明する。前述したように、第1,第2,第3の実施の形態では、印刷条件と環境条件の双方から印刷環境が定義され、この印刷環境に対応する印刷データ10によって印刷が実行される。
しかし、図20に示すように、印刷実行処理が実行されるようにしてもよい。図20は、第4の実施の形態における印刷実行処理のフローチャートである。図20に示すように、本実施の形態では、印刷条件の入力はなく、環境条件の測定(S42)のみが存在する。よって、S43においては、環境条件に一番近い印刷データ10が選択される。または、印刷条件としてデフォルト値の印刷条件を取得して、このデフォルト値の印刷データ10とS42で測定された環境条件とから一番近い印刷データ10が選択されるようにしてもよい。その他の処理(S41,S44)は、図18に示す印刷実行処理における処理(S21,S25)と同じである。
本実施の形態によれば、印刷実行の指示がなされれば、環境条件が測定されて最適な印刷データ10が選択されて印刷が行われるようにしたので、利用者が印刷条件の設定を望まない場合や処理を簡素化したい場合に、容易に対応することができる。
なお、本実施の形態とは逆に、環境条件の測定を行わずに、印刷条件の入力のみがなされるように印刷実行処理が実行されるようにしてもよい。また、環境条件の一部のみが測定され、または、印刷条件の一部のみが入力されるようにしてもよい。
以上、上記「第1の実施の形態」〜「第4の実施の形態」において、印刷データ10を記憶するRAM230が、本発明の「印刷データ記憶手段」に相当し、温度センサ281及び湿度センサ282が、本発明の「環境測定手段」(印刷環境条件取得手段)に相当し、入力パネル283が、本発明の「印刷条件入力手段」(印刷環境条件取得手段)に相当し、インクジェットヘッド241及びヘッド駆動部240が、本発明の「印刷手段」に相当し、入力パネル283に設けられた印刷ボタンが、本発明の「印刷指示手段」に相当する。
また、図7に示す印刷データ作成処理を実行するCPU110が、本発明の「印刷データ作成手段」に相当し、USBインタフェース160が、本発明の「印刷データ送信手段」に相当する。また、図18に示す印刷実行処理のフローチャートのS24の処理を行うCPU210が、本発明の「印刷データ選択手段」に相当する。また、印刷データ作成プログラム(図7参照)及び印刷実行プログラム(図18,図19,図20参照)が、本発明の「印刷プログラム」に相当する。
なお、本発明は、以上詳述した「第1の実施の形態」〜「第4の実施の形態」に限定されるものではなく、各種の変形が可能なことはいうまでもない。例えば、印刷環境は、印刷条件及び環境条件の組合せによって定義されるところ、印刷条件に含まれる要素として何を設定し、また環境条件に含まれる要素として何を設定するかは、利用者や設計者の任意で設定すればよい。
また、印刷データ作成処理(図7)において、印刷データ10の作成の際に選択される印刷条件及び環境条件の組合せ(印刷環境)に用いられる要素と、印刷実行処理(図18)において、入力される印刷条件及び測定される環境条件(印刷環境)の要素は、完全一致していなくてもよい。例えば、印刷データ作成処理(図7)における印刷環境の要素として、「温度」,「印刷解像度」,「被記録媒体の種別」が用いられる一方、印刷実行処理(図18)における印刷環境の要素が「温度」,「湿度」,「印刷解像度」である場合には、印刷実行処理(図18)のS24では、両者に共通する要素である「温度」,「印刷解像度」に基づいて、最適な印刷データ10が選択されるようにすればよい。
また、印刷実行処理(図18)において、印刷条件及び環境条件に一番近い印刷データ10を選択する処理(S24)で、印刷条件及び環境条件に一致する印刷データ10が存在しない場合には、以下のようにして、最適な印刷データ10が選択されるようにしてもよい。まず、環境条件及び印刷条件のそれぞれについて、出力側の色変換テーブル(図8参照)の作成時の印刷環境に最も近いものを選択する。例えば、S21及びS23において取得された印刷条件及び環境条件(印刷環境)が「温度23℃/湿度38%/印刷解像度400dpi」である場合、出力側の色変換テーブル(図8参照)は「温度」に関して0℃,10℃,20℃,30℃,40℃,50℃の6段階で作成されているため、最も差の絶対値が小さい「20℃」を選択する。同様に、「湿度」に関しては20%,40%,60%,80%,100%の5段階で作成されているため、最も差の絶対値が小さい「40%」を選択する。さらに、「解像度」に関しては300dpi,600dpi,1200dpiの3段階で作成されているため、最も差の絶対値が小さい「300dpi」を選択する。その結果、S24では印刷データ群のうち(図17参照)、印刷環境「温度20℃/湿度40%/印刷解像度300dpi」の印刷データ10bが取得される。よって、印刷条件及び環境条件に一致する印刷データ10が存在しない場合であっても、その印刷環境に適した印刷データ10を選択することができる。なお、S34,S43の処理についても同様にすることができることは、いうまでもない。
また、上記実施の形態では、インクジェットプリンタ200において印刷実行の指示がなされるように構成されているが、通常の印刷システムのように、パーソナルコンピュータ100において利用者から印刷実行が指示されると、インクジェットプリンタ200で印刷が実行されるようにしてもよい。この場合には、利用者はパーソナルコンピュータ100において印刷実行を指示するとともに印刷条件を入力する。そして、入力された印刷条件と印刷実行を指示するコマンドは、パーソナルコンピュータ100からインクジェットプリンタ200に送信される。インクジェットプリンタ200では、印刷実行を指示するコマンドを受けて、環境条件の測定が実行される。そして、受信した印刷条件と測定した環境条件とに基づいて、最適な印刷データ10がRAM230に記憶された印刷データ群から選択されて、印刷が自動的に実行される。
なお、この場合も、利用者による印刷条件の入力を省略することができる。例えば、パーソナルコンピュータ100において利用者から印刷実行が指示されると、印刷条件としてデフォルト値が自動的に設定されて、インクジェットプリンタ200にはこのデフォルト値の印刷条件と印刷実行を指示するコマンドとが送信されるようにしてもよい。また、インクジェットプリンタ200において印刷実行を指示するコマンドを受信すると、自動的にデフォルト値の印刷条件が設定されるようにしてもよい。また、印刷条件を用いる必要がない場合は、インクジェットプリンタ200において印刷実行を指示するコマンドが受信されると、測定した環境条件のみに基づいて最適な印刷データ10が選択されるようにしてもよい。
また、印刷データ作成処理(図7)のS11において、入力される画像データはRGB形式に限定されず、CMYKやグレースケールなどの他の形式であってもよい。この場合も、入力側の色変換テーブル(プロファイル)によって、各形式の画像データの色空間がL*a*b*形式に変換される。
また、パーソナルコンピュータ100及びインクジェットプリンタ200の機能を具備する1つの装置として、本発明が実現されてもよい。