しかし、プリンタドライバは印刷装置のハードウェアに依存する部分が多いため、同じ印刷条件に対しても、制御パラメータの適切な設定値は印刷装置の機種毎に異なっている。このため、プリンタドライバ内で用いられる各種の制御パラメータを設定するに際しては、先ず初めに対応するプリンタの機種を特定するという繁雑な作業が必要となるという問題があった。すなわち、提案されている種々の技術では、こうした点については何ら配慮が払われていないため、実際には、プリンタドライバ内で用いられる制御パラメータに、印刷条件に応じて適切な値を設定することは、依然として困難であるという問題があった。
この発明は、従来の技術が有する上述した課題を解決するためになされたものであり、印刷装置の機種の違いを意識することなく、プリンタドライバ内で用いられる制御パラメータの設定値を、印刷条件に応じて適切に且つ簡便に設定可能とする技術の提供を目的とする。
上述した課題の少なくとも一部を解決するために、本発明の印刷制御データ供給装置は次の構成を採用した。すなわち、
印刷装置が画像を印刷する動作を制御するための印刷制御データを、該印刷装置に供給する印刷制御データ供給装置であって、
前記印刷する動作を規定する各種の制御パラメータの設定値が、前記印刷装置の機種毎に設定された制御データセットを読み込む制御データセット読込手段と、
前記読み込んだ制御データセットの中から、前記画像を印刷しようとしている印刷装置に対応する前記設定値を選択し、該設定値により規定される前記動作に対応した前記印刷制御データを生成した後、該印刷装置に出力する印刷制御データ出力手段と
を備えることを要旨とする。
また、上記の印刷制御データ供給装置に対応する本発明の印刷制御データ供給方法は、
印刷装置が画像を印刷する動作を制御するための印刷制御データを、該印刷装置に供給する印刷制御データ供給方法であって、
前記印刷する動作を規定する各種の制御パラメータの設定値が、前記印刷装置の機種毎に設定された制御データセットを読み込む第1の工程と、
前記読み込んだ制御データセットの中から、前記画像を印刷しようとしている印刷装置に対応する前記制御パラメータの設定値を選択する第2の工程と、
前記設定値により規定される前記動作に対応した前記印刷制御データを生成して、前記印刷装置に出力する第3の工程と
を備えることを要旨とする。
かかる印刷制御データ供給装置および印刷制御データ供給方法においては、印刷装置に印刷制御データを供給するに際して、先ず初めに、制御データセットを読み込む。ここで、制御データセットには、印刷する動作を規定する各種の制御パラメータの設定値が、印刷装置の機種毎に設定されている。次いで、印刷制御データを供給しようとしている印刷装置に対応づけられた制御パラメータの設定値を、読み込んだ制御データセットの中から選択する。次いで、選択した設定値によって規定される動作に対応した印刷制御データを生成して印刷装置に供給する。
こうすれば、制御データセットを読み込ませるだけで、印刷装置に対応づけられた制御パラメータの設定値が選択されて印刷制御データが生成されるので、印刷装置の機種を意識することなく、適切な印刷制御データを供給することが可能となる。
また、こうした印刷制御データ供給装置では、画像を印刷しようとしている印刷装置に対応して選択した各種の制御パラメータの設定値を、ひとまとまりの設定値組として記憶しておくこととしてもよい。
こうすれば、同じ印刷条件で画像を印刷する場合に、制御データセットを再度読み込まなくても印刷制御データを生成して、印刷装置に供給することが可能となるので好ましい。
また、制御データセットを読み込むに際しては、画像の印刷条件が指定された状態で読み込むこととして、印刷条件に対応して選択した設定値は、指定された印刷条件によって検索可能な状態で記憶しておくこととしても良い。
制御パラメータの適切な値は、印刷条件に応じて異なっていることが多いことから、印刷条件が指定された状態で制御データセットを読み込めば、適切な設定値を選択することができる。また、選択した設定値を、印刷条件によって検索可能な状態で記憶しておけば、同じ印刷条件で画像を印刷する場合に、容易に検索することが可能となる。
また、印刷装置が、印刷用紙を所定量ずつ紙送りしながら画像を印刷する装置である場合には、制御パラメータには少なくとも紙送り量に関する設定値を含むこととして、少なくとも紙送り量に関する制御パラメータを含んだ制御データセットを読み込むこととしても良い。
適切な紙送り量は、印刷用紙の種類など印刷条件によって異なるので、少なくとも紙送り量に関する制御パラメータを含んだ制御データセットを読み込んで印刷制御データを生成してやれば、印刷条件に応じて適切に紙送りすることが可能となるので好適である。
また、印刷装置が、印刷用紙の裏面側を支持部材で支えながら、印刷用紙の表面側に画像を印刷するとともに、用紙の表面側に画像を形成する画像形成手段と支持部材との間隔を調整可能な印刷装置である場合には、制御パラメータに、画像形成手段と支持部材との間隔に関する設定値を含めることとしてもよい。そして、この間隔に関する制御パラメータを少なくとも含んだ制御データセットを読み込むことにより、画像形成手段と支持部材との間隔に関する制御パラメータを設定することとしても良い。
印刷用紙の表面側に画像を形成する方法には、例えばインク滴を吐出してインクドットを形成したり、インク紙に形成しておいたインク層を印刷用紙に押しつけて転写したり、あるいはインクを昇華させて印刷用紙に移すなど、種々の方法が存在するが、何れの方法においても、画像形成手段と支持部材との間隔は、印刷用紙の種類など、印刷条件に応じて適切な間隔に設定されていることが好ましい。従って、印刷装置に、画像形成手段と支持部材との間隔を調整する間隔調整手段が設けられている場合は、少なくとも、かかる間隔に関する制御パラメータを含んだ制御データセットを読み込んで印刷制御データを生成してやることで、画像形成手段と支持部材との間隔を、印刷条件に応じて適切に設定することが可能となるので好ましい。
また、印刷装置が、印刷用紙を長手方向に紙送りしながら画像を印刷するとともに、画像の印刷を終了すると印刷用紙を短手方向に切断することによって、印刷用紙の未だ画像が印刷されていない部分から、画像の印刷された部分を切り離す機能を備えている場合には、制御パラメータに、印刷用紙の切断動作に関する設定値を含めることとしてもよい。そして、この切断動作に関する制御パラメータを少なくとも含んだ制御データセットを読み込むことにより、印刷用紙の切断動作に関する制御パラメータを設定することとしても良い。
画像の印刷を終了すると印刷用紙を切断する機能を備えた印刷装置では、印刷用紙の種類など、印刷条件に応じて各種の切断方法を使い分けていることが通常である。従って、少なくとも、印刷用紙の切断動作に関する制御パラメータを含んだ制御データセットを読み込んで印刷制御データを生成してやれば、印刷条件に応じて適切な方法で、印刷用紙を切断することが可能となるので好ましい。
また、画像データに所定の画像処理を加えることにより、印刷装置で印刷可能なデータ形式に変換して、得られた画像データを印刷制御データとして供給する場合には、制御パラメータに、少なくとも画像データの補正値に関する設定値を含めることとしてもよい。そして、この補正値に関する制御パラメータを少なくとも含んだ制御データセットを読み込むことにより、印刷用紙の切断動作に関する制御パラメータを設定することとしても良い。
印刷用紙の種類などの印刷条件によっては、例えば画像データに所定の補正係数を乗算したり、あるいは画像データを所定量だけオフセットさせるなど、印刷条件に応じた補正を画像データに加えてから画像処理を行った方が、より好ましい画像が得られる場合がある。従って、少なくとも、画像データに加える補正に関する制御パラメータを含んだ制御データセットを読み込んで印刷制御データを生成してやれば、印刷条件に応じて、画像データに適切は補正を加えた後に印刷制御データを生成することが可能となるので好ましい。
また、各種の制御パラメータが設定された制御データセットを生成する点に着目すれば、本発明は、制御データセットを生成する装置あるいは、制御データセットを生成する方法として把握することも可能である。すなわち、本発明の制御データセット生成装置は、
印刷装置における画像の印刷動作を規定する各種の制御パラメータが設定された制御データセットを生成する制御データセット生成装置であって、
前記印刷装置の機種が特定された状態で前記各種の制御パラメータの設定値を取得する設定値取得手段と、
前記印刷装置の機種を特定するデータたる機種特定データを取得する機種特定データ取得手段と、
前記取得した各種の制御パラメータの設定値を、前記機種特定データとともに出力する設定値出力手段と
を備えることを要旨とする。
また、上記の制御データセット生成装置に対応する本発明の制御データセット生成方法は、
印刷装置が画像を印刷する動作に関する各種の制御パラメータが設定された制御データセットを生成する制御データセット生成方法であって、
前記印刷装置の機種が特定された状態で前記各種の制御パラメータの設定値を取得する工程(A)と、
前記印刷装置の機種を特定するデータたる機種特定データを取得する工程(B)と、
前記取得した各種の制御パラメータの設定値を、前記機種特定データとともに出力する工程(C)と
を備えることを要旨とする。
かかる制御データセット生成装置および制御データセット生成方法においては、印刷装置の機種が特定された状態で、各種の制御パラメータの設定値を取得した後、該印刷装置の機種を特定するための機種特定データとともに、取得した各種制御パラメータの設定値を、制御データセットとして出力する。
このようにして出力された制御データセットを読み込めば、機種特定データによって、印刷装置の機種を特定するとともに、その機種について設定された各種の制御パラメータの設定値を取得することが可能となる。その結果、印刷装置の機種を意識することなく、各種制御パラメータの適切な設定値を取得することが可能となるので好ましい。
また、かかる制御データセット生成装置においては、印刷装置の複数の機種について、制御パラメータの設定値と機種特定データとをそれぞれ取得するとともに、取得した制御パラメータの設定値と機種特定データとを、印刷装置の機種毎に出力することとしてもよい。
このようにして出力された制御データセットを読み込めば、印刷装置の多くの機種に対して、各種の制御パラメータの適切な設定値を取得することができる。このため、より一層、印刷装置の機種を意識することなく制御パラメータに適切な値を設定することができ、延いては、適切に画像を印刷することが可能となる。
また、このように、複数の機種について、制御パラメータの設定値と機種特定データとをそれぞれ取得する場合には、印刷条件についても所定の印刷条件に特定した状態で、制御パラメータの設定値と機種特定データとを取得することとしても良い。
例えば新しく開発された印刷用紙を用いる場合や、稀にしか用いられない特殊な印刷条件など、印刷条件を特定した状態で制御データセットを生成しておけば、特定された印刷条件で画像を印刷する場合でも、制御パラメータに適切な値を設定して、適切に画像を印刷することが可能となるので好ましい。
また、制御データセットの生成にあたっては、次のようにして、機種特定データおよび制御パラメータの設定値に加えて、制御パラメータを共用可能な機種を特定する共用機種特定データも出力することとしても良い。すなわち、特定された印刷装置の機種に対して、制御パラメータの設定値を共用可能な機種の有無を検出する。そして、共用可能な機種が存在する場合には、共用可能な機種についての前記機種特定データたる共用機種特定データを取得して、共用機種特定データを、制御パラメータの設定値および機種特定データとともに出力することとしてもよい。
このような制御データセットを読み込めば、機種特定データに設定されている機種だけでなく、共用機種特定データに設定されている機種についても、制御パラメータに適切な値を設定することができるので好ましい。
また、このように、機種特定データおよび共用機種特定データとともに、制御パラメータの設定値を出力する場合にも、印刷条件を特定した状態で、機種特定データおよび共用機種特定データ、制御パラメータの設定値を取得して、これらを出力することとしてもよい。
こうして印刷条件を特定した状態で制御データセットを生成しておけば、特定された印刷条件で画像を印刷する場合に、制御データセットを読み込むことで、印刷条件に応じて適切な値を制御パラメータに設定することができ、延いては、適切に画像を印刷することが可能となる。
更に、本発明は、これら制御パラメータの設定値が、印刷装置の機種を特定する機種特定データとともに記録された記録媒体として把握することも可能である。すなわち、本発明の記録媒体は、
印刷装置が画像を印刷する動作を規定する各種の制御パラメータの設定値を、コンピュータで読み取り可能に記録した記録媒体において、
前記各種の制御パラメータの設定値が記録された第1の領域と、
前記設定値を適用可能な前記印刷装置の機種を特定するための機種特定データが記録された第2の領域と
を備えることを特徴とする。
このような記録媒体に記録されているデータをコンピュータに読み込めば、印刷装置を制御するための制御パラメータに適切な値を設定することが可能となり、延いては、印刷条件に応じて適切に画像を印刷することが可能となる。また、第2の領域に複数の機種特定データを記録しておけば、これら複数の機種の印刷装置で、適切に画像を印刷することが可能となる。
尚、こうした記録媒体においては、第3の領域を設けておき、この領域に、機種特定データによって特定される印刷装置の機種に対して、制御パラメータの設定値を共用可能な機種についての機種特定データを記憶しておくこととしても良い。
こうすれば、第2の領域あるいは第3の領域のいずれかに記憶された機種の印刷装置で、適切に画像を印刷することが可能となるので好適である。
更に本発明は、上述した印刷制御データの供給方法、あるいはデータセットの生成方法を実現するためのプログラムをコンピュータに読み込ませ、所定の機能を実行させることにより、コンピュータを用いて実現することも可能である。従って、本発明は次のようなプログラム、あるいは該プログラムを記録した記録媒体としての態様も含んでいる。すなわち、上述した印刷制御データの供給方法に対応する本発明のプログラムは、
印刷装置が画像を印刷する動作を制御するための印刷制御データを、該印刷装置に供給する方法を、コンピュータを用いて実現するためのプログラムであって、
前記印刷する動作を規定する各種の制御パラメータの設定値が、前記印刷装置の機種毎に設定された制御データセットを読み込む第1の機能と、
前記読み込んだ制御データセットの中から、前記画像を印刷しようとしている印刷装置に対応する前記制御パラメータの設定値を選択する第2の機能と、
前記設定値により規定される前記動作に対応した前記印刷制御データを生成して、前記印刷装置に出力する第3の機能と
を実現することを要旨とする。
また、上記のプログラムに対応する本発明の記録媒体は、
印刷装置が画像を印刷する動作を制御するための印刷制御データを、該印刷装置に供給するプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記印刷する動作を規定する各種の制御パラメータの設定値が、前記印刷装置の機種毎に設定された制御データセットを読み込む第1の機能と、
前記読み込んだ制御データセットの中から、前記画像を印刷しようとしている印刷装置に対応する前記制御パラメータの設定値を選択する第2の機能と、
前記設定値により規定される前記動作に対応した前記印刷制御データを生成して、前記印刷装置に出力する第3の機能と
をコンピュータを用いて実現するプログラムを記録していることを要旨とする。
更に、上述したデータセット生成方法に対応する本発明のプログラムは、
印刷装置が画像を印刷する動作に関する各種の制御パラメータが設定された制御データセットを生成する方法を、コンピュータを用いて実現するためのプログラムであって、
前記印刷装置の機種が特定された状態で前記各種の制御パラメータの設定値を取得する機能(A)と、
前記印刷装置の機種を特定するデータたる機種特定データを取得する機能(B)と、
前記取得した各種の制御パラメータの設定値を、前記機種特定データとともに出力する機能(C)と
を実現することを要旨とする。
また、上記のプログラムに対応する本発明の記録媒体は、
印刷装置が画像を印刷する動作に関する各種の制御パラメータが設定された制御データセットを生成するプログラムを、コンピュータで読み取り可能に記録した記録媒体であって、
前記印刷装置の機種が特定された状態で前記各種の制御パラメータの設定値を取得する機能(A)と、
前記印刷装置の機種を特定するデータたる機種特定データを取得する機能(B)と、
前記取得した各種の制御パラメータの設定値を、前記機種特定データとともに出力する機能(C)と
をコンピュータを用いて実現するプログラムを記録していることを要旨とする。
これらのプログラムをコンピュータに読み込んで、上記の各種機能を実現させれば、印刷装置の機種を意識することなく、印刷条件に応じて制御パラメータに適切な値を設定することができ、延いては、適切に画像を印刷することが可能となる。
以下では、上述した本願発明の内容を明確にするために、次のような順序に従って実施例を説明する。
A.実施例の概要 :
B.装置構成 :
C.印刷制御処理 :
D.リモートデータ生成処理 :
E.グラフィックデータ生成処理 :
A.実施例の概要 :
実施例の詳細な説明に入る前に、図1を参照しながら、実施例の概要について説明しておく。図1は、コンピュータ10と、プリンタ20とによって構成された印刷システムを示した説明図である。コンピュータ10は、プリンタ20が画像の印刷に伴って行う各種動作を制御するデータ(印刷制御データ)を生成してプリンタ20に供給し、印刷制御データに従ってプリンタ20が種々の動作を行うことにより、画像が印刷されるようになっている。
コンピュータ10にはプリンタドライバと呼ばれる専用のプログラムが搭載されており、印刷制御データは、次のようにしてプリンタドライバによって生成される。先ず、印刷しようとする画像の画像データを、プリンタドライバに供給する。また、例えば印刷媒体の種類や印刷モードなどの印刷条件も、プリンタドライバに予め設定しておく。プリンタドライバ内では、印刷条件に応じて、プリンタ20の印刷動作を制御するための各種の制御パラメータが適切な値に設定され、これら設定値に基づいて、プリンタ20の動作状態を設定するデータが生成される。また、画像データには、所定の画像処理が施されてプリンタ20で印刷可能なデータ形式に変換される。そして、プリンタ20の動作状態を設定するためのデータと、画像処理が施されてプリンタ20が実際に画像を形成可能な形式に変換された画像データとが、印刷制御データとしてプリンタドライバからプリンタ20に供給される。
ここで、プリンタドライバが各種パラメータの適切な値を設定することができない印刷条件に対しては、各種パラメータの適切な設定値を、プリンタドライバに直接設定する必要がある。もっとも、こうした各種パラメータの設定値はプリンタの機種に依存する部分も大きく、たとえ同じ印刷条件に対しても、プリンタの機種によって適切な設定値が異なる値となる場合も多い。そこで図1に例示した印刷システムでは、このような場合、先ずプリンタドライバが、各種の制御パラメータの設定値がプリンタの機種毎に設定されたデータセットを読み込んで、プリンタ20の機種に該当する設定値を選択する。例えば、図1に示した例では、制御パラメータとしては3つのパラメータが使用されており、データセットには、これら3つの制御パラメータの設定値が、機種A〜Dの4種類のプリンタについて記憶されている。すなわち、機種Aおよび機種Cに対しては3つの設定値(p1,p2,p3)が、機種Bおよび機種Dに対しては(p1,p4,p5)が記憶されている。ここで、図1では、プリンタ20が機種Bのプリンタであるとする。すると、データセットを読み込んだプリンタドライバは、機種Bに対応して記憶されている3つの設定値(p1,p4,p5)を選択することになる。また、これに併せて、選択した設定値を、対応する機種とともに記録媒体(フレキシブルディスク、コンパクトディスク、ハードディスクなど)に書き出しておいても良い。
次いで、こうして選択した設定値に基づき、プリンタ20の動作状態を設定するデータを生成する。もちろん、画像データの画像処理に際しても、選択した設定値を考慮しながら画像処理を行うことも可能である。こうして生成したデータを、印刷制御データとしてプリンタ20に供給する。こうすれば、データセットを読み込むだけで、プリンタ20に応じて各種制御パラメータの適切な値を設定することができるので、プリンタの機種の違いを意識することなく、制御パラメータの設定値を適切に且つ簡便に設定することが可能となる。また、選択した設定値を対応する機種とともに記録媒体に書き出しておけば、この記録媒体に記憶されているデータを、データセットとして他のプリンタドライバに読み込ませることで、他のプリンタドライバに対しても、各種制御パラメータの値を適切に且つ簡便に設定することが可能となる。以下では、こうした実施例について詳しく説明する。
B.装置構成 :
図2は、印刷制御データをプリンタに供給したり、あるいはデータセットを生成するコンピュータ100の構成を示す説明図である。コンピュータ100は、CPU102を中心に、ROM104やRAM106などを、バス116で互いに接続することによって構成されている。コンピュータ100には、フレキシブルディスク124やコンパクトディスク126などからデータを読み込むためのディスクコントローラDDC109や、周辺機器との間でデータの授受を行うために用いられる周辺機器インターフェースPIF108、CRT114を駆動するためのビデオインターフェースVIF112等が接続されている。PIF108には、ハードディスク118や、後述するプリンタ200等が接続されている。また、デジタルカメラ120や、カラースキャナ122等をPIF108に接続すれば、デジタルカメラ120やカラースキャナ122で取り込んだ画像を印刷することも可能である。また、ネットワークインターフェースカードNIC110を装着すれば、コンピュータ100を通信回線300に接続して、通信回線に接続された記憶装置310に記憶されているデータを取得することもできる。
図3は、印刷用紙上に画像を印刷するプリンタ200の概略構成を示す説明図である。プリンタ200にはシアン,マゼンタ,イエロ,ブラックの4色のインクが搭載されており、それぞれのインクによる4色のインクドットを形成可能なインクジェットプリンタである。尚、以下では、シアンインク,マゼンタインク,イエロインク,ブラックインクを、必要に応じて、それぞれCインク,Mインク,Yインク,Kインクと略称することがあるものとする。また、以下では、印刷画像はもっぱらインクジェットプリンタを用いて印刷するものとして説明するが、もちろん、インクジェットプリンタに限らず、各色のトナーを用いてドットを形成して画像を印刷するレーザープリンタや、インクを昇華させたり、あるいは熱を加えて転写させるなど、異なる方式でドットを形成して画像を印刷するプリンタに対しても、同様に適用することが可能である。
プリンタ200は、図示するように、キャリッジ240に搭載された印字ヘッド241を駆動してインクの吐出およびドット形成を行う機構と、このキャリッジ240をキャリッジモータ230によってプラテン236の軸方向に往復動させる機構と、紙送りモータ235によって印刷用紙Pを搬送する機構と、ドットの形成やキャリッジ240の移動および印刷用紙の搬送を制御する制御回路260などから構成されている。
キャリッジ240には、Kインクを収納するインクカートリッジ242と、Cインク,Mインク,Yインクの各種インクを収納するインクカートリッジ243とが装着されている。キャリッジ240にインクカートリッジ242,243を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、印字ヘッド241の下面に設けられた各色毎のインク吐出用ヘッド244ないし247に供給される。各色毎のインク吐出用ヘッド244ないし247は、こうして供給されたインクを用いてインク滴を吐出することにより、印刷媒体上にインクドットを形成する。尚、図3に示したプリンタ200では、Cインク,Mインク,Yインクについては一つのインクカートリッジ243に一体に収納されているものとして説明したが、これらインクをそれぞれ別体に形成された専用のインクカートリッジに収納することも可能である。
制御回路260は、CPUを中心として、ROMや、RAM、周辺機器インターフェースPIF等に加えて、デジタルデータをアナログ信号に変換するD/A変換器等から構成されている。もちろん、CPUを搭載せずに、ハードウェアあるいはファームウェアによって同様の機能を実現することとしても良い。制御回路260は、キャリッジモータ230および紙送りモータ235の動作を制御することによって、キャリッジ240の主走査動作および副走査動作の制御を行う。また、キャリッジ240の主走査および副走査に合わせて、適切なタイミングで印字ヘッド241を駆動することによってインク滴を吐出する。こうして制御回路260の制御の下で、各色のインク吐出用ヘッド244ないし247から適切なタイミングで各色のインク滴が吐出され、その結果、印刷用紙P上に各色のインクドットが適切な分布で形成されて、カラー画像が印刷されることになる。
尚、各色のインク吐出ヘッドからインク滴を吐出する方法には、種々の方法を適用することができる。すなわち、ピエゾ素子を用いてインクを吐出する方式や、インク通路に配置したヒータでインク通路内に泡(バブル)を発生させてインク滴を吐出する方法などを用いることができる。また、インクを吐出する代わりに、熱転写などの現象を利用して印刷用紙上にインクドットを形成する方式や、静電気を利用して各色のトナー粉を印刷媒体上に付着させる方式のプリンタを使用することも可能である。
また、キャリッジ240がプラテン236の軸方向に往復動する動きは、プラテン236の上方に設けられた摺動軸233によってガイドされており、本実施例のプリンタ200では、摺動軸233を上下させることにより、プラテン236に対してキャリッジ240を上下に動かすことが可能となっている。すなわち、摺動軸233は上下方向に移動可能に構成されており、摺動軸233は偏心カム238によって支えられている。偏心カム238にはモータ237が接続されており、モータ237を正回転させると、摺動軸233が偏心カム238によって押し上げられて、その結果、プラテン236とキャリッジ240との間隔が広くなる。逆に、モータ237を逆回転させれば、プラテン236とキャリッジ240との間隔は狭くなる。モータ237の回転方向および回転角度は、制御回路260によって制御されている。
前述したように、キャリッジ240の底面には各色のインク吐出用ヘッド244ないし247が設けられているから、プラテン236とキャリッジ240との間隔を変化させれば、プラテン236と各色のインク吐出用ヘッド244ないし247との間隔(プラテンギャップ)を変化させることができる。従って、制御回路260に対して適切なプラテンギャップの値を予め設定しておけば、モータ237を適切な角度だけ回転させることにより、プリンタ200のプラテンギャップを適切に設定することが可能となっている。
また、本実施例のプリンタ200のキャリッジ240には、印刷用紙切断用のカッター239が設けられている。通常の状態では、カッター239はケース内に引っ込んだ状態となっているが、制御回路260の制御の下で突出させることができ、突出状態で240を摺動軸233に沿って往復動させることにより、印刷用紙を切断することが可能となっている。
図4は、各色のインク吐出用ヘッド244ないし247の底面に、インク滴を吐出する複数のノズルNzが形成されている様子を示した説明図である。図示するように、各色のインク吐出用ヘッドの底面には、各色毎のインク滴を吐出する4組のノズル列が形成されており、1組のノズル列には、48個のノズルNzがノズルピッチpの間隔を空けて千鳥状に配列されている。これらノズルは、制御回路260の制御の下で駆動され、インク滴を吐出することによって印刷用紙上にインクドットを形成する。
以上のようなハードウェア構成を有するプリンタ200は、キャリッジモータ230を駆動することによって、各色のインク吐出用ヘッド244ないし249を印刷用紙Pに対して主走査方向に移動させ、また紙送りモータ235を駆動することによって、印刷用紙Pを副走査方向に移動させる。制御回路260は、キャリッジ240の主走査および副走査を繰り返しながら、適切なタイミングでノズルを駆動してインク滴を吐出する。こうすることで、印刷用紙P上の適切な位置にインクドットが形成されて、その結果、画像が印刷されることになる。こうした動作は、すべてコンピュータ100から供給される印刷制御データに基づいて、制御回路260の制御の下で実行されている。そこで以下では、コンピュータ100内で印刷制御データを生成してプリンタ200に供給することにより、プリンタ200における一連の印刷動作を制御する処理(印刷制御処理)について説明する。
C.印刷制御処理 :
図5は、コンピュータ100内で行われる印刷制御処理の流れを示すフローチャートである。かかる処理は、コンピュータ100上で動く各種のアプリケーションプログラムから印刷命令が出力されると、プリンタドライバが起動されて、プリンタドライバ上で実行される処理である。以下、フローチャートに従って説明する。
印刷制御処理を開始すると、先ず初めにプリンタドライバは、画像の印刷条件を読み込んで良いか否かを判断する(ステップS100)。画像の印刷条件は、コンピュータ100のモニタ上に表示された専用画面を用いて設定することが可能となっており、印刷条件の設定が完了したら、その旨を画面上からプリンタドライバに対して指示してやる。すると、プリンタドライバは、画面上に設定されている印刷条件の読み込みを開始するようになっている。そこで、以下では、専用画面から印刷条件を設定する方法、および設定完了をプリンタドライバに指示する方法について説明する。
図6は、プリンタドライバに印刷条件を設定する画面を例示した説明図である。図示した例では、画面の一番上にプリンタ機種が表示されており、その下に、印刷用紙、用紙サイズ、印刷モードなどの各種印刷条件を設定するための設定欄が設けられている。このうち、プリンタ機種についてはプリンタドライバによって自動的に表示されるものであり変更することはできないが、設定欄に表示された内容については画面上から変更することが可能となっている。すなわち、それぞれの設定欄に設けられた矢印をクリックすると、予め登録されている印刷条件が表示され、その中から該当する印刷条件を選択することが可能となっている。例えば、図6に示した例では、印刷用紙の設定欄には「Aタイプ」が設定されているが、右側の矢印をクリックすると、設定欄に重ねて小さなダイアログボックスが展開して、そのダイアログボックスの中には、予めプリンタドライバに登録されている各種の印刷用紙(例えば「Aタイプ」,「Bタイプ」,「Cタイプ」など)が表示される。これらの表示の中から任意の用紙を選択することで、印刷用紙の設定内容を変更することが可能となっている。
また、用紙サイズの設定欄では、「葉書き」サイズ〜「A3」サイズ、「A3・ロール紙」サイズまでのいずれかを選択することが可能である。ここでロール紙とは、いわゆる長尺印刷に対応した印刷用紙である。例えば「A4・ロール紙」とは、A4用紙の横幅(短手方向の幅)と同じ幅の長い紙が、ロール状に巻かれた印刷用紙を表している。また、印刷モードの設定欄では「画質優先」,「速度優先」,「標準」のいずれかの印刷条件を設定することが可能となっている。
これら印刷条件の設定を完了したら、「OK」と表示されたボタンをクリックすることにより、プリンタドライバに対して設定が完了した旨を指示してやる。「OK」ボタンがクリックされたことを検出すると、プリンタドライバは、印刷条件を読み込んで良いと判断して(ステップS100:yes)、設定されている各種の印刷条件の読み込みを開始する(ステップS102)。次いで、読み込んだ印刷条件に対応するリモートデータの取得を行う(ステップS104)。ここで、リモートデータとは、設定された印刷条件で画像を印刷するためにプリンタ200に供給されるデータであり、各種の制御パラメータについての設定値が記述されている。制御パラメータについては、後ほど詳しく説明する。リモートデータは、印刷条件に応じて自ずから決定されるデータであることから、プリンタドライバに予め登録されている印刷条件については、対応するリモートデータも予め記憶されている。そこで、ステップS104では、読み込んだ印刷条件に対応するリモートデータを取得するのである。
もっとも、希望する印刷条件が、いつもプリンタドライバに予め登録されているとは限らない。このような場合には、図6に示した印刷条件の設定画面上で、「詳細設定」と表示されたボタンをクリックする。「詳細設定」ボタンがクリックされたことを検出すると、プリンタドライバは、設定されている印刷条件を読み込んではいけないと判断し(ステップS100:no)、詳細な印刷条件を設定する画面を表示させるとともに、リモートデータ生成処理を開始する(ステップS106)。詳細な内容については後述するが、リモートデータ生成処理では、登録されていない印刷条件に応じて、プリンタ200の動作を規定する各種制御パラメータに適切な値を設定し、この設定値に基づいてリモートデータを生成する処理を行う。
以上のように、希望する印刷条件がプリンタドライバに予め登録されている場合は、図6に示した専用画面上で印刷条件を選択して「OK」ボタンをクリックすると(ステップS100:yes)、設定されている印刷条件が読み込まれ(ステップS102)、対応するリモートデータが取得される(ステップS104)。一方、希望する印刷条件が登録されていない場合は、図6の画面上で「詳細設定」ボタンをクリックすると(ステップS100:no)、後述するリモートデータ生成処理(ステップS106)が実行され、希望する印刷条件に対応するリモートデータが生成される。
こうして、いずれかの方法によってリモートデータが得られたら、プリンタドライバは、印刷しようとする画像の画像データを読み込んだ後(ステップS108)、グラフィックデータ生成処理を開始する(ステップS110)。グラフィックデータ生成処理の詳細な内容については後述するが、この処理では、読み込んだ画像データに対して所定の画像処理を施すことにより、プリンタ200で印刷可能なデータ形式のデータに変換する処理を行う。すなわち、本実施例のプリンタ200は、前述したように、印刷媒体上にドットを形成して画像を印刷することから、ドットの形成有無によって画像を表現したデータ形式に、画像データを変換する処理を行う。
以上のようにして、リモートデータおよびグラフィックデータを生成したら、これらをプリンタ200の印刷動作を制御するためのデータ(印刷制御データ)として出力することにより、画像の印刷を開始する。すなわち、初めにプリンタを初期化するためのコマンドを出力した後(ステップS112)、リモートデータを出力し(ステップS114)、続いてグラフィックデータを出力する(ステップS116)。リモートデータの内容については後述するが、例えばプラテンギャップの設定や紙送り量の補正値など、実際の画像の印刷に先立って設定しておくべく、プリンタ200の詳細な動作状態が記述されている。また、グラフィックデータには、画素毎にドットを形成するか否かを表すデータが記述されており、プリンタ200は、このデータに従ってインク滴を吐出することによって画像を印刷する。
そして、グラフィックデータを全て出力し終わったら、今度は、印刷用紙がロール紙か否かを判断する(ステップS118)。図6を用いて前述したように、印刷用紙がロール紙か否かは予め設定されているので、プリンタドライバは容易に判断することができる。そして、ロール紙と判断された場合は(ステップS118:yes)、印刷用紙を切断する旨のコマンドをプリンタ200に向かって出力した後(ステップS120)、印刷制御処理を終了する。一方、印刷用紙がロール紙ではないと判断された場合は(ステップS118:no)、用紙切断コマンドを出力することなく、直ちに印刷制御処理を終了する。
プリンタドライバは、以上に説明した印刷制御処理を行って、リモートデータおよびグラフィックデータを印刷制御データとしてプリンタ200に供給する。その結果、プリンタ200の動作が適切に制御されて、適切に画像が印刷されることになる。また、プリンタドライバに予め登録されていない印刷条件については、以下に説明するリモートデータ生成処理を行うことにより、適切なリモートデータを簡便に生成することが可能となっている。
D.リモートデータ生成処理 :
上述したように、プリンタドライバに希望する印刷条件が登録されていない場合は、印刷条件の設定画面から希望する印刷条件を選択することができない。そこで、この場合は、図6に例示の画面上に設けられた「詳細設定」ボタンをクリックする。すると、プリンタドライバは、詳細な印刷条件を設定するための専用画面を表示するとともに、リモートデータ生成処理を開始する(図5のステップS106)。説明の都合上から以下では、先ず初めに、専用画面上で設定される詳細な印刷条件の内容について説明し、これを受けて、リモートデータ生成処理の内容について説明する。
図7は、詳細な印刷条件を設定するための画面を例示した説明図である。図に例示した画面では、詳細な印刷条件として、「色濃度補正」,「紙送り補正」,「紙厚」,「プラテンギャップ」,「用紙切断方法」といった5つの項目を設定することが可能となっている。ここで「色濃度補正」とは、印刷用紙にインクを打ち込んだときの発色の良し悪しを調整する補正値である。すなわち、発色の悪い印刷用紙に対してはインクを多めに打ち込み、逆に発色の悪い印刷用紙に対してはインクを少なめに打ち込むことで、どのような印刷用紙に対しても同じような印刷画質が得られるように調整するための補正値である。図7に例示した専用画面では、色濃度補正に対応する設定欄にカーソルを移動させて、数値を書き込むことによって、任意の値を設定することが可能となっている。
また、「紙送り補正」とは、副走査のために行われる印刷用紙の紙送り量を調整する補正値である。すなわち、印刷用紙の中には、滑り易いために紙送り量が少なめになってしまう用紙が存在しており、このような用紙については多めに紙送りしてやる必要がある。そこで、「紙送り補正」の設定値を用いて紙送り量を調整することで、どのような印刷用紙でも適切に紙送りすることを可能としている。紙送り補正の設定値についても、該当する設定欄にカーソルを移動させて、数値を書き込むことによって設定することができる。
「紙厚」とは、印刷用紙の厚さを表している。前述したように、印刷用紙はプラテン236上に置かれており、その上をインク吐出用ヘッドが往復動しながらインク滴を吐出することによって、印刷用紙上にインクドットを形成している。このため、印刷用紙の紙厚が変わるとインク滴の飛行距離が変わるので、ドットの形成位置が微妙にずれてしまう。そこで、こうした影響をインク滴の吐出タイミングで吸収し、あるいはプラテンギャップ(プラテンとインク吐出用ヘッドとの間の距離)を調整するべく、予め印刷用紙の紙厚を設定しておくのである。印刷用紙の紙厚についても、該当する設定欄にカーソルを移動させて、数値を書き込むことによって設定することが可能となっている。
また、たいへん厚い印刷用紙に印刷する場合や、コンパクトディスクのレーベル面に印刷する場合などには、通常のプラテンギャップの設定では、インク吐出用ヘッドが印刷面を擦ってしまうおそれがある。そこで、このような場合は、キャリッジ240をガイドしている摺動軸233を上に押し上げることにより、プラテンギャップを広くしておく必要がある。「プラテンギャップ」には、このようなプラテンギャップの状態を設定しておく。プラテンギャップの設定は、設定欄の矢印をクリックしてダイアログボックスを展開し、「標準」または「広い」のいずれかを選択することによって行う。
「用紙切断方法」には、ロール紙が搭載されている場合に、印刷終了後、用紙を切断する方法が設定される。図3を用いて前述したように、キャリッジ240にはカッター239が搭載されており、カッター239を突出させてキャリッジ240を往復動させれば、印刷用紙を切断することができる。もっとも、印刷用紙の一端から他端に向かって単純に切断したのでは、切断した部分の用紙が自重で垂れ下がって切断していない部分を引っ張り、このため、カッター239の刃と印刷用紙との接触角度が変わって刃が用紙に食い込み難くなり、上手く切断できないことがある。そこで、このような場合には、初回の切断動作では、ところどころの箇所を意図的に切断せずに残しておき、続く切断動作で、残しておいた箇所を切断することによって、最終的に印刷用紙を切断する方法が採用される。実際には、初回の切断動作で切断せずに残しておく箇所を、どこに、どの程度の長さだけ設け、そして、それらの箇所を切断するに際しては、どの箇所から、どの順序で切断すれば良いかは、印刷用紙の種類によって異なっている。用紙切断方法には、こうした各種の設定方法が用意されている。用紙切断方法の設定についても、設定欄の矢印をクリックしてダイアログボックスを展開し、「標準」,「パターン1」,「パターン2」のいずれかを選択することによって行う。
以上に説明した「色濃度補正」、「紙送り補正」、「紙厚」、「プラテンギャップ」、「用紙切断方法」の5つの項目を適切に設定してやれば、たとえ希望の印刷条件がプリンタドライバに登録されていない場合でも、適切に画像を印刷することが可能である。すなわち、図5に示した印刷制御処理において、プリンタ200に供給されたリモートデータに設定されている各種の制御パラメータとは、具体的には、これら5つの項目を指したものである。
また、前述したように予めプリンタドライバに登録されている印刷条件については、これら各種の制御パラメータについての適切な設定値が記憶されているが、本実施例のプリンタドライバでは、登録されていない印刷条件についても、図7に示した専用画面上から、これらの制御パラメータに適切な値を設定してやることで、適切に画像を印刷することが可能となっているのである。図6に示した印刷条件の設定画面からは希望の印刷条件を選択できなかった場合に、図7のような詳細な印刷条件を設定する画面を表示することとしているのは、このような理由によるものである。
プリンタドライバに希望する印刷条件が登録されておらず、このため図6に示した印刷条件設定画面で「詳細設定」ボタンがクリックされた場合は、プリンタドライバは、図7に示した詳細な印刷条件を設定する画面を表示するとともに、以下のようなリモートデータ生成処理を開始する。
図8は、リモートデータ生成処理の流れを示したフローチャートである。リモートデータ生成処理を開始すると、先ず初めに、各種の制御パラメータの設定が完了したか否かを判断する(ステップS200)。上述したように、「色濃度補正」、「紙送り補正」、「紙厚」の各制御パラメータについては、設定欄に直接数値を書き込むことにより、また、「プラテンギャップ」や、「用紙切断方法」についてはダイアログボックスから選択することによって各制御パラメータに適切な値を設定したら、画面上に設けられている「OK」ボタンをクリックする(図7参照のこと)。すると、プリンタドライバは、各種の制御パラメータの設定が完了したものと判断し(ステップS200:yes)、これら設定値に基づいて、対応するリモートデータの生成を開始する(ステップS210)。リモートデータの内容、および各制御パラメータに基づいてリモートデータを生成する方法については後述するが、このようにして制御パラメータに適切な値を設定しておけば、たとえプリンタドライバに登録されていない印刷条件であっても、適切に画像を印刷することが可能となる。
もっとも、これら各種の制御パラメータを、印刷条件に応じて適切な値に設定するためには、十分な知識が必要となるので、必ずしも容易に設定できるわけではない。そこで、図7に示した専用画面から制御パラメータを直接設定する方法の他に、後述するデータセット(インポートファイルとも呼ばれることがある)を読み込んで設定する方法も用意されている。このことと対応して、「OK」ボタンがクリックされない場合は(ステップS200:no)、データセットを読み込むか否かを判断する(ステップS202)。図7に示したように、各種の制御パラメータを設定する画面には、「データセット読み込み」と表示されたボタンが設けられており、このボタンがクリックされれば、データセットを読み込むものと判断する。これに対して、「データセット読み込み」ボタンがクリックされない場合は、データセットを読み込まないものと判断し(ステップS202:no)、再びS200に戻って、各種の制御パラメータの設定が完了したか否かの判断を行う。
このように、リモートデータ生成処理では、「OK」ボタンか、「データセット読み込み」ボタンの何れかがクリックされるまで、こうした操作が繰り返される。そして、「OK」ボタンがクリックされた場合は、設定された制御パラメータの設定値に基づいて直ちにリモートデータが生成され(ステップS210)、一方、「データセット読み込み」ボタンがクリックされた場合は、以下に説明するようにしてデータセットから制御パラメータの設定値を読み込んだ後、読み込んだ設定値に基づいてリモートデータが生成されることになる(ステップS210)。
そして、図7に示した制御パラメータの設定画面上で「データセット読み込み」ボタンがクリックされると、プリンタドライバは、データセットを読み込むものと判断して(ステップS202:yes)、データセットを読み込む処理を開始する(ステップS204)。データセットを読み込む処理では、先ず初めに、読み込むデータセットを指定するための画面を表示する。
図9は、読み込むデータセットを指定する画面を例示した説明図である。図示された画面上で、データセットの場所を指定すると、記憶されているデータセット名が表示されるので、表示されたファイルの中からファイル名を指定すれば、データセットを読み込むことができる。
図10は、読み込まれたデータセットのデータ構造を示した説明図である。図示されているように、データセットは複数のレコードから構成されており、最初のレコードR1にはファイル名が記憶され、2番目のレコードR2には印刷条件が、3番目のレコードR3にはプリンタ機種が、そして4番目のレコードR4には、図7を用いて前述した5つの制御パラメータに対応する5つの数値が設定されている。また、レコードR4に設定された最初の数値は色濃度補正値を表しており、2番目の数値は紙送り補正値を、3番目の補正値は紙厚を、4番目の数値はプラテンギャップの設定を、5番目の数値は用紙切断方法を表している。そして、色濃度補正値、紙送り補正値、紙厚については、それぞれの制御パラメータの設定値を表している。更に、プラテンギャップおよび用紙切断方法に設定されている数値は、それぞれの制御パラメータの設定内容を表している。すなわち、プラテンギャップについて設定された値「1」は「狭い」に設定されていることを、値「2」は「標準」に設定されていることを、値「3」は「広い」に設定されていることをそれぞれ表している。また、用紙切断方法について設定された値「1」は「標準」の切断方法に設定されていることを、設定値「2」は「Aタイプ」の切断方法に設定されていることを、設定値「3」は「Bタイプ」の切断方法に設定されていることを、それぞれ表している。
このようなデータセットを読み込めば、ある機種のプリンタで、ある印刷条件で画像を印刷するためには、プリンタドライバに設定する制御パラメータを、どのような値にすればよいかを知ることができる。すなわち、レコードR3に設定されているプリンタ機種を用いて、レコードR2の印刷条件で画像を印刷するためには、レコードR4に設定された各制御パラメータの値をプリンタドライバに設定すればよい。
また、レコードR4に設定された数値列が、プリンタ200に向かって出力されるリモートデータの本体部分となっている。更に、レコードR3には複数のプリンタ機種を設定することが可能であり、複数の機種が設定される場合は、設定される数に応じてレコードR3が複数の領域に分割され、それぞれの領域に1機種ずつプリンタが設定されるようになっている。結局、図10に例示したデータセットは、次のようなことを表したファイルとなっている。すなわち、「ウルトラAタイプ」という印刷用紙を使用して、機種名がPX−1110,PX−1120,PM−T10の何れかのプリンタを用いて画像を印刷する場合には、色濃度補正値を19%増に、紙送り補正値を10%増に、紙厚を0.3mmに、プラテンギャップおよび用紙切断方法を何れも標準に設定すればよいことを表している。
また、図10に例示したデータセットには、(19,10,3,2,1)の1組の制御パラメータしか設定されていないが、複数組の制御パラメータの設定値を記憶しておくことも可能である。
図11は、データセットに複数組の制御パラメータが記憶されている様子を例示した説明図である。図11に例示したデータセットも複数のレコードによって構成されており、1番目のレコードR1〜4番目のレコードR4までは、図10に示したデータセットと同じデータ構造となっている。すなわち、1番目のレコードR1にはファイル名が、2番目のレコードR2には印刷条件が、3番目のレコードR3にはプリンタ機種が、4番目のレコードR4には1組の制御パラメータがそれぞれ設定されている。そしてこれらは、レコードR2に設定された印刷条件の下で、レコードR3に設定された機種のプリンタを用いて画像を印刷する場合には、レコードR4に設定された制御パラメータの値をプリンタドライバに設定すれば良いことを表している。
更に、図11に例示したデータセットでは、5番目のレコードR5にプリンタの機種が、6番目のレコードR6に1組の制御パラメータが設定されている。このレコードR6に設定された値は、レコードR2に設定された印刷条件の下で、レコードR5に設定された機種のプリンタを用いて画像を印刷する場合に、プリンタドライバに設定すべき制御パラメータの値を表している。7番目のレコードR7および8番目のレコードR8についても同様に、レコードR7にはプリンタの機種が、レコードR8には1組の制御パラメータが設定されている。そして、レコードR8に設定された値は、レコードR2に設定された印刷条件の下で、レコードR7に設定された機種のプリンタを用いて画像を印刷する場合に、プリンタドライバに設定すべき制御パラメータの値を表している。このように、図11に示したデータセットでは、レコードR2に設定されている印刷条件に対して、プリンタ機種が設定されたレコードおよび制御パラメータが設定されたレコードを1組ずつ追加していくことで、多くの機種に対する制御パラメータを設定することが可能となっている。
図8に示したリモートデータ生成処理のステップS204では、図10あるいは図11に示すようなデータ構造のデータセットを読み込む処理を行う。次いで、プリンタドライバは、読み込んだデータセットに設定されているデータの中に、自らのプリンタ機種に合致する機種が設定されているか否かを判断する(ステップS206)。ここで、自らのプリンタ機種とは、コンピュータ100に接続されておりプリンタドライバによって制御されているプリンタ200の機種を意味している。図10あるいは図11を用いて説明したように、データセットの所定のレコードにはプリンタ機種が設定されているので、プリンタドライバは、このレコードを参照することで、自らのプリンタ機種に合致する機種が設定されているか否かを容易に判断することが可能である。
そして、読み込んだデータセットの中には合致する機種が含まれていなかった場合は(ステップS206:no)、その旨を表示した後、再びステップS204に戻って、図9に示したデータセットを読み込むための画面を表示する。一方、読み込んだデータセットの中に、プリンタドライバに合致する機種が含まれていた場合は(ステップS206:yes)、合致する機種についての各種制御パラメータを選択する処理を行う(ステップS208)。具体的には、データセットにはプリンタ機種のレコードおよび制御パラメータのレコードが1組となって設定されているから(図10あるいは図11参照)、プリンタドライバは自らの機種が設定されているレコードを検出して、そのレコードに続けて記憶されているレコードの内容を取得する処理を行う。
例えば、図6に示したように、プリンタドライバは自らのプリンタ機種を「PX−1110」と認識している。また、読み込んだデータセットが図10に示したデータセットであったとすると、このデータセットのレコードR3には「PX−1110」が設定されている。そこで、プリンタドライバは、続くレコードR4に設定されている制御パラメータを取得するのである。
以上のようにして、各種の制御パラメータの設定値を取得したら、取得した設定値に基づいて、リモートデータの生成を開始する(ステップS210)。本実施例のリモートデータは、コマンドコードに各種制御パラメータの設定値を組み込むとともに、ヘッダなどの必要な情報を付け加えたようなデータとなっている。このため、上述したステップS208において制御パラメータの設定値を取得しておけば、容易にリモートデータを生成することが可能である。また、図7を用いて前述した詳細な印刷条件を設定する画面から、各種制御パラメータの値を直接入力した場合にも(ステップS200:yes)、画面上から設定された値を取得することによって、容易にリモートデータを生成することが可能となる。
こうして印刷条件に対応するリモートデータを生成したら、プリンタドライバは、最後に各制御パラメータの設定値(すなわち、リモートデータの本体部分)を保存する処理を行う(ステップS212)。設定値を保存する処理では、先ず初めにプリンタドライバは、設定を保存するための画面を表示する。
図12は、リモートデータの生成に用いた各種制御パラメータの設定値を保存するための画面を例示した説明図である。図示されているように、設定値を保存する場所を指定して、フィル名を指定した後、「保存」と表示されたボタンをクリックすると、各種制御パラメータの設定値が、指定された場所に指定されたファイル名で保存されるようになっている。
図13は、リモートデータの生成に用いた各種制御パラメータの設定値が保存されるデータ構造を示した説明図である。図示されているように設定値は、前述したデータセットとほぼ同様のデータ構造で保存されている。すなわち、1番目のレコードR1には、保存する際に指定したファイル名が記憶され、2番目のレコードR2には、リモートデータの生成に際して想定された印刷条件が記憶される。また、3番目のレコードR3には、プリンタ機種が記憶され、4番目のレコードR4には、リモートデータの生成に用いた制御パラメータの設定値(リモートデータの本体部分)が記憶される。また、レコードR3に記憶されているプリンタ機種には、プリンタドライバ自らの機種に加えて、生成したリモートデータを共用可能なプリンタの機種も記憶されている。これら共用可能なプリンタの機種は、読み込んだデータセットの中で、プリンタドライバに合致する機種と同じレコードに記憶されていたプリンタ機種が読み込まれて用いられる。あるいは、プリンタドライバ内に、リモートデータを共用可能な機種をファイルとして記憶しておき、各種制御パラメータを保存するに際しては、かかるファイル(共用可能機種ファイル)を参照することにより、リモートデータを共用可能なプリンタ機種を設定することとしても良い。
図14は、プリンタドライバが制御パラメータの設定値を保存している様子を概念的に示した説明図である。このようにして設定されたデータは、図13に示したように、前述したデータセットと同様のデータ構造となっている。このため、設定しておいたデータを、今度はデータセットとして読み込んで、リモートデータを生成することも可能である。また、フレキシブルディスクやコンパクトディスクなどの記録媒体に保存すれば、他のプリンタドライバでデータセットとして読み込むことで、リモートデータを生成することも可能である。尚、図14では、プリンタドライバ内に共用可能機種ファイルが記憶されており、かかるファイルを参照している様子も概念的に示してある。
更には、データセットを、プリンタドライバから直接アクセス可能な専用のファイルに記憶しておき、プリンタドライバから容易に読み込み可能としても良い。図15は、このように専用のファイルに記憶されたデータセットを、プリンタドライバに読み込ませるための画面を例示した説明図である。図示した例では、既に記憶されているデータセットの名前と、各データセットで想定されている印刷条件とが表示されており、適切なデータセットを簡便に選択してプリンタドライバに読み込ませることができる。データセットを、プリンタドライバが直接アクセス可能な専用のファイルに保存しておけば、このように、より利用し易い形態で保存しておくことも可能である。
こうして、リモートデータの生成に用いた制御パラメータの設定値を保存したら(ステップS210)、図8に示したリモートデータ生成処理を終了する。図5に示した印刷制御処理のステップS106では、以上のようにして、詳細な印刷条件を設定する画面から設定された制御パラメータの設定値を用いて、あるいはデータセットを読み込むことによって取得した制御パラメータの設定値を用いて、印刷条件に対応するリモートデータを生成する処理を行うのである。
尚、リモートデータを生成するための読み込むデータセットのデータ構造は、図10あるいは図11に示した構造に限られるものではなく、プリンタ機種と、各種制御パラメータの設定値とが対応づけられるのであれば、どのようなデータ構造とすることも可能である。
図16は、複数のプリンタ機種について、共通の制御パラメータと、個別の制御パラメータとが分離して記憶されているデータ構造を示す説明図である。図16に示したデータ構造も、複数のレコードから構成されており、1番目のレコードR1にはファイル名が、2番目のレコードR2には印刷条件が設定されている。続く、3番目のレコードR3から10番目のレコードR10までが、プリンタ機種と制御パラメータの設定値との対応関係を記述した部分である。そして制御パラメータの設定値は、各機種で共通な部分と、機種毎に個別な部分とに分離された状態で記述されている。以下、図16を参照しながら、具体的に説明する。
図16に示した例では、レコードR3には複数のプリンタ機種が設定されており、続くレコードR4には、制御パラメータの値が設定されている。ここで、前述したようにプリンタドライバは5つの制御パラメータを使用するのに対して、レコードR4には、4つの値しか設定されていない。このことは、レコードR3に設定された各機種で制御パラメータが共通の値を有するのは、先頭の4つのパラメータのみであり、5番目のパラメータについては、プリンタ機種毎に異なることを表している。
そこで続くレコードを見ると、レコードR5にはプリンタ機種が設定され、レコードR6には5番目の制御パラメータの値が設定されている。また、レコードR5に設定された機種は、レコードR3に設定された機種の中の一部の機種となっている。従って、これらを組み合わせれば、結局、レコードR5に設定されたプリンタ機種の制御パラメータは、レコードR4に設定された4つの共通の制御パラメータに、レコードR6に設定された5つめの制御パラメータを組み合わせたものとなる。
同様に、レコード7に設定されているプリンタ機種については、レコードR4に設定された4つの共通の制御パラメータに、レコードR8に設定された5つめの制御パラメータを組み合わせたものとなる。更に、レコード9に設定されているプリンタ機種については、レコードR4に設定された4つの共通の制御パラメータに、レコードR10に設定された5つめの制御パラメータを組み合わせたものとなる。
図17は、上述したようにプリンタ機種間で共通な制御パラメータと、個別な制御パラメータとに分けて記憶されたデータセットを読み込んで、プリンタ機種毎の制御パラメータを再構成した様子を示した説明図である。このように制御パラメータを、機種に依らず共通な部分と、機種毎に個別な部分とに分けて記憶した場合でも、機種毎の制御パラメータを容易に再構成することができ、延いては、リモートデータを容易に生成することが可能である。
E.グラフィックデータ生成処理 :
以上、印刷制御処理の中で行われるリモートデータ生成処理(図5のステップS106)について詳しく説明した。次に、印刷制御処理中で行われるグラフィックデータ生成処理について説明する。
図18は、グラフィックデータ生成処理の流れを示すフローチャートである。かかる処理は、図5に示した印刷制御処理中で、プリンタドライバがリモートデータを準備した後、印刷しようとしている画像の画像データを読み込むと開始される処理である。以下、フローチャートに従って説明する。
プリンタドライバは、グラフィックデータ生成処理を開始すると先ず初めに、読み込んだ画像データの解像度を、プリンタ200が印刷するための解像度(印刷解像度)に変換する処理を行う(ステップS300)。読み込んだ画像データの解像度が印刷解像度よりも低い場合は、隣接する画素の間に補間演算を行って新たな画像データを設定することで、より高い解像度に変換する。逆に、画像データの解像度が印刷解像度よりも高い場合は、隣接する画素の間から一定の割合で画像データを間引くことによって、より低い解像度に変換する。解像度変換処理では、このようにして、読み込んだ画像データの解像度を印刷解像度に変換する処理を行う。
プリンタドライバは、画像データの解像度を印刷解像度に変換すると、色変換と呼ばれる処理を開始する(ステップS302)。色変換処理とは、R,G,Bの階調値の組合せによって表現されているRGB画像データを、印刷のために使用される各色の階調値の組合せによって表現された画像データに変換する処理である。前述したように、プリンタ200はC,M,Y,Kの4色のインクを用いて画像を印刷している。そこで、色変換処理ではRGB各色によって表現された印刷画像データを、C,M,Y,Kの各色の階調値によって表現されたデータに変換する処理を行うのである。
色変換処理は、色変換テーブル(LUT)と呼ばれる3次元の数表を参照することで、迅速に行うことができる。図19は、色変換処理のために参照される色変換テーブル(LUT)を概念的に示した説明図である。図示されているように、直交する3つの軸にR軸、G軸、B軸を取って色空間を考えると、全てのRGB画像データは、必ず色空間内の座標点に対応付けて表示することができる。このことから、R軸、G軸、B軸のそれぞれを細分して色空間内に多数の格子点を設定してやれば、それぞれの格子点はRGB画像データを表していると考えることができ、各RGB画像データに対応するC,M,Y,K各色の階調値を、各格子点に対応付けてやることができる。LUTは、こうして色空間内に設けた格子点に、C,M,Y,K各色の階調値を対応付けて記憶した3次元の数表である。LUTを参照することにより、このようなRGBカラー画像データとC,M,Y,K各色の階調データとの対応関係に基づいて色変換処理を行えば、RGBカラー画像データを、インクの各色についての階調データに迅速に変換することができる。
プリンタドライバは、こうして色変換処理を終了すると、色変換後の画像データに対して色濃度補正を行う(ステップS304)。すなわち、前述したように、印刷用紙の中にはインクの発色の良い用紙や、あまり良くない用紙が存在しており、発色の良い印刷用紙を用いて印刷する場合はインク量を若干少なめに、逆に発色の良くない印刷用紙に印刷する場合にはインク量を若干多めにした方が、より好ましい画像を得ることができる。色変換後の画像データは、C,M,Y,Kのインク各色のデータとなっており、これらデータの階調値は、インク量にほぼ対応するデータとなっている。そこでプリンタドライバは、色変換後の画像データに適切な係数を乗算することにより、インクの発色の違いを補正する処理を行うのである。「色濃度補正」として前述した制御パラメータの設定値は、こうした色濃度補正の処理において、色変換後の画像データに乗算される係数を表したものである。
プリンタドライバは、こうして色濃度補正を終了すると、今度は、色補正後の画像データに対してハーフトーン処理を開始する(ステップS306)。ハーフトーン処理とは、次のような処理である。色変換処理によってインク各色のデータに変換され、色濃度補正が施された画像データは、画素毎に、階調値0から階調値255までの値を取ることができる。これに対してプリンタは、ドットを形成することによって画像を表示しているから、それぞれの画素についてはドットを形成するか否かの状態しか取り得ない。そこで、256階調を有する画像データを、画素毎にドット形成の有無によって表現されたデータ(ドットデータ)に変換しておく必要がある。ハーフトーン処理とは、このように画像データをドットデータに変換する処理である。
ハーフトーン処理を行う手法としては、誤差拡散法やディザ法などの種々の手法を適用することができる。誤差拡散法は、ある画素についてドットの形成有無を判断したことでその画素に発生する階調表現の誤差を、周辺の画素に拡散するとともに、周囲から拡散されてきた誤差を解消するように、各画素についてのドット形成の有無を判断していく手法である。また、ディザ法は、ディザマトリックスにランダムに設定されている閾値と印刷画像データの階調値とを画素毎に比較して、印刷画像データの方が大きい画素にはドットを形成すると判断し、逆に閾値の方が大きい画素についてはドットを形成しないと判断することで、各画素についてのドットデータを得る手法である。何れのハーフトーン手法を適用することもできるが、本実施例のグラフィックデータ生成処理では、ディザ法を用いてハーフトーン処理を行うものとする。
図20は、ディザ法によるハーフトーン処理で参照されるディザマトリックスの一部を拡大して例示した説明図である。図示したマトリックスには、縦横それぞれ64画素、合計4096個の画素に、階調値0〜255の範囲から万遍なく選択された閾値がランダムに記憶されている。ここで、閾値の階調値が0〜255の範囲から選択されているのは、本実施例では画像データが1バイトデータであり、画素に割り当てられる階調値が0〜255の値を取り得ることに対応するものである。尚、ディザマトリックスの大きさは、図20に例示したように縦横64画素分に限られるものではなく、縦と横の画素数が異なるものも含めて、種々の大きさに設定することが可能である。
図21は、ディザマトリックスを参照しながら、画素毎にドット形成の有無を判断している様子を概念的に示した説明図である。ドット形成有無の判断に際しては、先ず、判断の対象として着目している画素(着目画素)の階調値と、ディザマトリックス中の対応する位置に記憶されている閾値とを比較する。図中に示した細い破線の矢印は、着目画素の階調値を、ディザマトリックス中の対応する位置に記憶されている閾値と比較していることを模式的に表したものである。そして、ディザマトリックスの閾値よりも着目画素の階調値の方が大きい場合には、その画素にはドットを形成するものと判断する。逆に、ディザマトリックスの閾値の方が大きい場合には、その画素にはドットを形成しないものと判断する。図21に示した例では、印刷しようとする画像の左上隅にある画素の画像データは階調値97であり、ディザマトリックス上でこの画素に対応する位置に記憶されている閾値は1である。従って、左上隅の画素については、画像データの階調値97の方がディザマトリックスの閾値1よりも大きいから、この画素にはドットを形成すると判断する。図21中に実線で示した矢印は、この画素にはドットを形成すると判断して、判断結果をメモリに書き込んでいる様子を模式的に表したものである。一方、この画素の右隣の画素については、画像データの階調値は97、ディザマトリックスの閾値は177であり、閾値の方が大きいので、この画素についてはドットを形成しないものと判断する。このように、画像データの階調値とディザマトリックスに設定された閾値とを比較することにより、ドットの形成有無を画素毎に決定することができる。
プリンタドライバは、以上のようにして画像データをドットデータに変換すると、今度は、インターレース処理を開始する(ステップS308)。インターレース処理とは、プリンタ200がインク吐出用ヘッド244を往復動させながら実際にドットを形成する順序を考慮して、画素の順番で並んでいるドットデータを、ドットが形成される順番に並べ替える処理である。こうしてインターレース処理まで行ってからプリンタに供給してやれば、プリンタでは供給されたデータに従ってドットを形成するだけで画像を印刷することが可能となる。
インターレース処理を終了すると、プリンタドライバは、図18に示したグラフィックデータ生成処理を終了して、図5の印刷制御処理に復帰する。前述したように印刷制御処理では、既に取得されているリモートデータおよび生成したグラフィックデータを、印刷制御データとしてプリンタ200に供給する。こうして供給された印刷制御データに従って、プリンタ200の動作が適切に制御され、その結果、適切に画像が印刷されることになる。
以上に詳しく説明したように、本実施例では、プリンタドライバに予め複数の印刷条件が登録されており、その中から希望する印刷条件を選択するだけで、適切に画像を印刷することが可能である。希望する印刷条件が登録されていない場合は、専用の設定画面を開いて、各種の制御パラメータに適切な値を設定することで、適切に画像を印刷することができる。もっとも、印刷条件に応じて制御パラメータに適切な値を設定することは必ずしも容易なことではない。
こうした点に鑑みて、本実施例では、各種の制御パラメータの設定値が記憶されたデータセットを読み込むことにより、適切な値を設定することも可能となっている。加えて、本実施例で読み込むデータセットには、各種の制御パラメータの設定値が、プリンタの機種に対応づけて設定されている。そして、プリンタドライバは、自らの機種に対応づけて設定されている制御パラメータの値を選択して、プリンタの制御に使用するようになっている。このため、プリンタの機種を意識することなく、各種制御パラメータに、印刷条件に応じた適切な値を設定することが可能となるのである。
以上、各種の実施例について説明したが、本発明は上記すべての実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することができる。