本発明の実施の形態について、図面を参照して説明する。本発明の第一態様に係るパーソナルコンピュータ(以下、「PC」という。)1(図3参照)、およびPC1を備えた第二態様に係る投影システム100について説明する。投影システム100は、PC1と印刷装置30(図1および図2参照)とを備える。印刷装置30は、色材としてインクを使用し、インクを吐出するインクヘッド35を走査させることで、印刷対象物である布帛に印刷を行うことができる。PC1は、印刷装置30によって印刷画像が形成される印刷対象物に、印刷イメージを表す投影画像を投影するための投影データを作成することができる。
まず、図1を参照して、印刷装置30の概略構成について説明する。印刷装置30は、印刷対象物であるTシャツ等の布帛(図示外)に対して、カートリッジ341から供給された液体のインクをインクヘッド35(図2参照)から吐出することで印刷を行うインクジェットプリンタである。印刷装置30は、紙等を印刷対象物としてもよい。なお、図1の上方、下方、右下方、左上方、右上方、および左下方が、各々、印刷装置30の上方、下方、前方、後方、右方、および左方である。
図1に示すように、印刷装置30は、略直方体形状の本体部32と、本体部32よりも小さい略直方体状のカートリッジ装着ユニット33とを含む。本体部32は、主に、布帛を移送しながらインクヘッド35によって印刷を行う部位であり、公知の布帛印刷用のインクジェットプリンタと同様の構成を有する。カートリッジ装着ユニット33は、インクを供給するカートリッジ341が装着される部位である。カートリッジ装着ユニット33は、本体部32の左側下部に、取り外し可能に装着されている。
本体部32は、筐体31を備えている。本体部32の左右方向中央部には、プラテン駆動機構36が設けられている。プラテン駆動機構36は、トレイ38、プラテン39、副走査モータ47(図2参照)、駆動ベルト(図示略)、一対のガイドレール(図示略)等を含む。
駆動ベルトは、本体部32の前方と後方に配置されたプーリ(図示略)に架け渡されている。矩形板状のトレイ38およびプラテン39は、駆動ベルトの上方に固定された支柱37に支持されている。支柱37の下端には、トレイ38が固定されている。支柱37の上端には、プラテン39が固定されている。プラテン39は、その上面に、例えばTシャツなどの布帛を載置するための保持面を備える。プラテン39は、印刷対象物の大きさ等に応じて取り替え可能である。プラテン39の下方に略平行に配置されたトレイ38は、プラテン39より一回り大きい板状である。トレイ38は、プラテン39に載置されたTシャツのそで等が下方に落ちることを防止する。一対のガイドレールは、駆動ベルトの上方で前後方向に延び、トレイ38およびプラテン39を案内する。副走査モータ47は、前述のプーリを介して駆動ベルトを駆動する。副走査モータ47が駆動ベルトを駆動すると、支柱を介し、トレイ38とプラテン39が、ガイドレールに沿って前後方向(副走査方向)に移動する。筐体31の前面中央部には開口が設けられており、トレイ38とプラテン39は、この開口を介して筐体31に出入りする。
本体部32の前側上部には、支持部52によって支持された投影装置であるプロジェクタ5が設けられている。プロジェクタ5は、汎用のプロジェクタであってもよい。プロジェクタ5は、プラテン39上に載置された印刷対象物上に投影画像を投影可能に設けられている。図1は、プロジェクタ5からプラテン39上に投影画像が投影されている様子を示している。支持部52は、プラテン39上面よりも上方に間隔を空けて、プロジェクタ5を支持する。詳細は後述するが、印刷装置30は、プロジェクタ5によって投影画像がプラテン39上に投影される投影領域が、印刷装置30によって印刷対象物上に印刷画像が形成され得るよりも大きくなるように、支持部52とプラテン39上面との間の間隔を設けている。また、詳しい説明は省略するが、プロジェクタ5は、印刷対象物に対して斜め上方から投影画像を投影するので、プロジェクタ5が行う処理として、投影画像には画像の歪みを補正する処理がされているものとする。
図示は省略するが、本体部32の筐体31内部では、前後方向略中央、且つ、プラテン39の上方に、左右方向に延びる一対のガイドレール(図示略)が、キャリッジを支持している。キャリッジの下部にはインクヘッド35が固定されている。インクヘッド35の数は、インクジェットプリンタの種類によって異なるが、印刷装置30のインクヘッド35の数は8個である。本実施形態のキャリッジは、シアン(C)、マゼンダ(M)、イエロー(Y)、黒(K)、白(W)の各々のインクを吐出するインクヘッド35を備える。つまり、印刷装置30は、白インクとカラーインクを共に、プラテン39上面に向けて印刷対象物に吐出させて印刷を行うことができる。つまり、印刷装置30は、印刷対象物の有する色に関わらず、様々な印刷を行うことができる。なお、本実施形態では、白インクは、例えば印刷対象物の色が濃色の場合など印刷における前処理液として、印刷領域の全体もしくは一部に吐出される。カラーインクは、白インクが吐出された後に後処理液として吐出される。なお、印刷画像および印刷媒体の色によっては、必ずしも前処理液の白インクが吐出された後に後処理用のカラーインクが吐出されなくてもよい。より具体的には、白インクのみが吐出された領域、およびカラーインクのみが吐出された領域があってもよい。また、印刷画像によっては、白インクは模様等を印刷する後処理液として吐出されてもよい。
キャリッジは、主走査モータ46(図2参照)やベルト伝達機構を含むキャリッジ駆動機構によって、ガイドレールに沿って左右方向(主走査方向)に移動される。8個のインクヘッド35には、夫々、チューブ(図示略)を介して、カートリッジ装着ユニット33に装着された8本のカートリッジからインクが供給される。各インクヘッド35の底面には複数個(例えば128個)の微細なノズルが設けられており、圧電素子の駆動によりノズルから下向きにインクの液滴が吐出されることで、プラテン39上に載置した布帛に対して、主走査方向に画素列(ドット列)を形成することができる。印刷装置30は、主走査方向の走査が完了すると、インクヘッド35を副走査方向に走査させた後に、再び主走査方向に画素列を形成する。印刷装置30は、以上の動作を印刷データに従って繰り返し実行することで、印刷対象物上に複数の画素列からなる印刷画像を形成する。
本体部32の前面右下部には、ディスプレイ49および操作部51が設けられている。ディスプレイ49は、印刷装置30の様々な情報を表示する。操作部51は、印刷装置30の様々な操作に対する指示を入力するためのボタン等が設けられている。
カートリッジ装着ユニット33は、筐体34の前面上部に設けられた開口を通して、合計8本のカートリッジ341が装着可能である。8本のカートリッジ341として、通常、白インクのカートリッジ341が4本と、シアン、マゼンダ、イエロー、および黒の4色のカートリッジが1本ずつ使用される。
図2および図3を参照して、投影システム100について説明する。まず、図2を参照して、印刷装置30の電気的構成について説明する。印刷装置30は、印刷装置30の制御を司るCPU40を備える。CPU40は、ROM41、RAM42、ヘッド駆動部43、モータ駆動部45、表示制御部48、操作処理部50、およびUSBインタフェース53と、バス55を介して電気的に接続する。
ROM41には、印刷装置30の動作を制御するための制御プログラムおよび初期値等が記憶される。RAM42には、PC1から受信した印刷データ等、制御プログラムで用いられる各種データが一時的に記憶される。ヘッド駆動部43はインクを吐出するインクヘッド35に電気的に接続しており、インクヘッド35の各吐出チャンネルに設けられた圧電素子を駆動する。モータ駆動部45は、インクヘッド35を主走査方向に移動させる主走査モータ46と、インクヘッド35に対してプラテン39を副走査方向に移動させる副走査モータ47とを駆動する。表示制御部48は、CPU40による指示に応じてディスプレイ49の表示を制御する。操作処理部50は、操作部51に対する操作入力を検知する。USBインタフェース53は、印刷装置30をPC1等の外部機器に電気的に接続する。
図3を参照して、PC1の電気的構成について説明する。PC1は、PC1の制御を司るCPU10を備える。CPU10は、ROM11、RAM12、CD−ROMドライブ13、ハードディスクドライブ(以下、「HDD」という。)14、表示制御部16、操作処理部17、投影データ出力部18、およびUSBインタフェース19と、バス20を介して電気的に接続する。
ROM11には、CPU10が実行するBIOS等のプログラムが記憶されている。RAM12は、各種情報を一時的に記憶する。CD−ROMドライブ13には、記録媒体であるCD−ROM6が挿入される。CD−ROM6に記録されているデータは、CD−ROMドライブ13によって読み出される。PC1は、CD−ROM6およびインターネット等を介して、プリンタドライバプログラム、投影データ作成制御プログラム、OSプログラム、投影データ作成プログラム等を取得し、HDD14に記憶させる。HDD14は不揮発性の記憶装置であり、前述した各種プログラム、処理に必要なテーブル、後述するグリッドデータ(印刷データ)、および背景色データ等を記憶している。表示制御部16は、モニタ2の表示を制御する。操作処理部17は、ユーザが操作入力を行うためのキーボード3およびマウス4に電気的に接続し、操作入力を検知する。投影データ出力部18は、投影画像を投影するプロジェクタ5に電気的に接続し、投影データ作成制御プログラムおよび投影データ作成プログラムによって作成された投影データをプロジェクタ5に出力する。USBインタフェース19は、PC1を印刷装置30等の外部機器に電気的に接続する。
このような構成のもと、印刷装置30は、PC1から印刷データを受信した後、ユーザによって布帛がプラテン39上に載置されて操作部51の印刷開始ボタン(図示略)が押下されることで、印刷処理を実行する。
図4を参照して、カラー変換テーブル65について説明する。HDD14に記憶されているテーブルには、カラー変換テーブル65が含まれる。図4に示すように、カラー変換テーブル65は、RGB形式の256階調で表現された画像データ(色データ)を、CMYK形式の256階調で表現されるデータに変換するためのテーブルである。また、カラー変換テーブル65を逆変換テーブルとして用いれば、CMYK形式の256階調の値をRGB形式の256階調の値に変換することも可能である。カラー変換テーブル65では、各RGB値に対応するCMYK値が各々対応付けられている。カラー変換テーブル65は、公知の手法によって作成されて、予めHDD14に記憶されている。PC1は、カラー変換テーブル65を用いて、CMYK形式で表現された印刷データから投影データを作成する。
HDD14には、カラー変換テーブル65の他、RGB形式の256階調で表現された画像データを、W形式の256階調で表現されるデータに変換するための白変換テーブル(図示略)が記憶されている。白変換テーブルでは、各RGB値に対応するW値が各々対応付けられている。白変換テーブルは、公知の手法によって作成されて、予めPC1のHDD14に記憶されている。カラー変換テーブル65によって変換されたCMYK値と、白変換テーブルによって変換されたW値とにより、256階調のCMYKW形式のデータが構成される。
図5および図6を参照して、第一態様のPC1が実行する投影データ作成制御処理について説明する。ユーザが印刷を所望する印刷画像が指定され、印刷データの作成を開始する指示が入力されると、HDD14に記憶されているプリンタドライバプログラムに従って、印刷データが作成される。印刷データは、印刷装置30にインクを用いた印刷を実行させるために使用されるデータであり、本実施形態ではCMYKW形式の2値(インクを吐出させるか否か)で各画素の色を表現するデータとして作成されている。一方、投影データは、プロジェクタ5に投影画像を投影させるために使用されるデータであり、RGB形式で作成される必要がある。投影データ作成制御処理では、印刷データと、印刷データの背景部分に適用される色を示す情報である背景色データとに基づいて、印刷結果がどのようになるかを示す印刷イメージを印刷対象物上に投影する投影データが作成される。
本実施形態では、印刷データの背景部分に適用される色を、背景色という。なお、背景色はインクを吐出しないときに見える色である。印刷データの背景部分とは、インクが吐出されないときに対応するデータである。背景色には、単一色の他、印刷データの背景部分の位置によって異なる色を用いて構成される、図案、模様によるパターンが含まれる。背景色データは、背景色を示す情報である。背景色データには、印刷データの背景部分全体が単一の色で塗りつぶされた画像のデータ(以下、背景色画像データという。)の他、印刷データの背景部分の位置によって異なる色を用いて構成される、図案、模様によるパターンを示すパターン画像データが含まれる。即ち、本実施形態の投影データに基づく投影画像では、投影領域のうちインクが吐出されないときは、背景色そのものの色が表示される。また、投影領域のうちインクが吐出されるときは、背景色データと印刷データに基づく投影画像のデータとがマージされた結果に対応する色が表示される。
PC1のユーザがPC1を操作して投影データ作成制御処理の開始指示を入力すると、CPU10は、HDD14に記憶された投影データ作成制御プログラムをRAM12に読み出し、プログラムに含まれる指示に従って、以下に説明する各ステップの処理を実行する。処理の過程で取得されたり、生成されたりした情報およびデータは、適宜RAM12に記憶される。以下、ステップを「S」と略記する。
図5に示すように、投影データ作成制御処理が開始されると、CPU10は、印刷データを読み込む(S1)。具体的には、CPU10は、RAM12に記憶されている印刷データを取得する。CPU10が取得する印刷データには、ユーザの所望する印刷画像に基づいてプリンタドライバによって作成された印刷データの他、グリッドデータが含まれる。グリッドデータは、予めHDD14に記憶された印刷データであって、プロジェクタ5によって投影画像が印刷対象物上に投影される投影位置および投影倍率を調整するためのグリッド(格子)画像を投影領域に投影するためのデータである。グリッド画像の詳細な投影態様については後述する。グリッドデータには、印刷データがグリッドデータであることを識別する識別子が含まれる。CPU10は、識別子を参照することで、取得した印刷データがグリッドデータであるか否かを識別することができる。次いで、CPU10は、図9に示すユーザインタフェース70をモニタ2に表示する(S2)。CPU10は、プロジェクタ5による投影画像の投影を実行する指示が入力されたか否かを判断する(S3)。この場合、CPU10は、ユーザインタフェース70で表示されているProjectorボタン71が選択されたか否かを判断する。ユーザがマウス4等を操作することによってProjectorボタン71が選択された場合(S3:YES)、CPU10は、処理をS4へ移行する。Projectorボタン71が選択されない場合(S3:NO)、CPU10は、処理をS3の判断へ戻し、S3の判断を繰り返す。
次いで、CPU10は、背景色値、Location値、Rate値の各初期値を取得する(S4)。背景色値は、印刷データの背景部分に適用される背景色を、RGB形式で示す値である。この時にCPU10が取得する背景色値をRGB=(Ur,Ug,Ub)とする。本実施形態の背景色値の初期値は(Ur,Ug,Ub)=(255,255,255)である。後述するが、本実施形態では、背景色値を変更する設定を行うことによって、印刷データの背景部分に適用される背景色を任意に変更することができる。
Location値は、プロジェクタ5によって投影される投影画像の印刷対象物上における投影位置を示す値である。具体的には、Location値は、投影データに対応する投影画像の原点が、二次元座標系の投影領域のいずれの位置に配置されるかを示す値である。投影領域とは、プロジェクタ5によって投影画像が印刷対象物上に投影されうる最大の領域である。原点は、投影画像に対応する投影データのうち最も左上の画素を示す。投影領域における左右方向(横方向)の位置をX1、前後方向(縦方向)の位置をY1として、投影領域の略中央に投影データに対応する投影画像が配置される初期値を(X1,Y1)=(0,0)と設定する。なお、Location値が初期値の場合、CPU10は、投影領域において原点が配置される位置が、投影領域の最も左上の位置ではなく、投影領域の最も左上の位置からやや内側の位置となるように制御する。後述するが、本実施形態では、Location値を変更する設定を行うことによって、投影領域における原点の縦方向の位置と横方向の位置とを、夫々独立に設定することができる。また、Location値には上限および下限が設けられるが、プラスの値およびマイナスの値のいずれも設定することができる。投影領域内で投影画像の位置を、Location値を変更することによって縦方向および横方向のそれぞれにおいてプラスおよびマイナス調整することができるようにするため、原点位置が上記の位置に配置される。
Rate値は、プロジェクタ5によって投影される投影画像の印刷対象物上における投影倍率を示す値である。横方向の投影倍率をX2、縦方向の投影倍率をY2として、Rate値の初期値を(X2,Y2)=(100,100)と設定する。なお、Rate値が初期値の場合、CPU10は、投影領域に対して一回り小さい(例えば、投影領域の90%程度)投影画像が表示されるように制御する。これは、CPU10がRate値を変更することによって、投影画像の投影倍率を投影領域内において調整することができるようにするためである。後述するが、本実施形態では、Rate値を変更する設定を行うことによって、投影画像の縦方向の投影倍率と横方向の投影倍率とを、夫々独立に設定することができる。また、Rate値には上限および下限が設けられるが、100よりも大きな値および100よりも小さな値のいずれも設定することができる。
次いで、CPU10は、S1で取得した印刷データに対してS4で取得した背景色値に対応する背景色データを適用して投影データを作成する、投影データ作成処理を実行する(S5)。投影データ作成処理では、CMYKW形式の2値のデータとして作成されている印刷データに、S4でRGB値として取得された背景色値に対応する背景色データを適用して、投影データが作成される。CPU10は、背景色値に対応する背景色データをHDD14から呼び出して、投影データを作成する。
図7および図8を参照して、投影データ作成処理について説明する。なお、S4で取得したLocation値およびRate値に基づく投影位置および投影倍率は、投影データ作成処理において作成された投影データに対して、適用される。投影データに対するLocation値およびRate値に基づく投影位置および投影倍率の適用には、公知の手法を用いてよいため、これについての詳細な説明は省略する。
図7を参照して、CMYKW形式の2値の印刷データのうちW2値の印刷データに基づく投影データの作成方法について説明する。CPU10は、S4(図5参照)で取得した背景色値RGB=(Ur,Ug,Ub)を入力する(S41)。次いで、CPU10は、W2値の印刷データを入力する(S42)。具体的には、RAM12に記憶されているCMYKW形式の2値の印刷データのうちのW2値の印刷データが読み込まれて入力される。次いで、CPU10は、W2値の印刷データをW256階調の印刷データに変換する(S43)。具体的には、8×8マスの中のWのドット数を計数し、その値を255/64倍することで、Wの256階調の印刷データに変換する。次いで、CPU10は、S41で入力された背景色値(Ur,Ug,Ub)と、上記S43で求められたW256階調の値を以下の数式1に入力して演算することにより、RGB形式の投影データを算出する(S44)。これにより、白インクによって表現される色と、指定された背景色とが複雑に絡まる印刷イメージを表現できる投影データを作成することができる。
上記の数式1は、印刷データにWのデータのみが含まれており、CMYKのデータが含まれていないと仮定した場合のRGB形式の投影データを、RGB=(Wr,Wg,Wb)として算出するものである。本実施形態では、S43で求められたW256階調の値が最大値の場合、(Wr,Wg,Wb)=(255,255,255)とする。また、S43で求められたW256階調の値が最小値の場合、(Wr,Wg,Wb)=(Ur,Ug,Ub)とする。そして、S43で求められたW256階調の値が最小値から最大値の間の場合、数式1を用いた線形補間を行うことで(Wr,Wg,Wb)を算出する。
なお、CPU10は、S43の処理の後に、必要に応じて、W256階調のデータにトーンカーブを利用してもよい。トーンカーブを利用する場合、予め行った実験等で最適なトーンカーブを用意しておく。また、本発明に適用可能な印刷データは、2値のデータに限られない。印刷データは、例えば、印刷装置30に大・中・小の液滴を打ち分けさせて印刷を実行させるような3値以上の多値のデータであってもよい。印刷データがn値(nは2以上の整数)のデータの場合、CPU10は、S43の処理において、8×8マスの中のWのドット数を計数し、その値を255/64(n−1)倍することで、Wの256階調の印刷データに変換すればよい。なお、印刷データの多階調化には、この例以外のアルゴリズムを用いてもよい。
次に、図8を参照して、CMYKW形式の2値の印刷データに基づく投影データの作成方法について説明する。CPU10は、S4(図5参照)で取得した背景色値RGB=(Ur,Ug,Ub)を入力する(S51)。次いで、CPU10は、CMYKW2値の印刷データを入力する(S52)。具体的には、RAM12に記憶されているCMYKW形式の2値の印刷データが読み込まれて入力される。次いで、CPU10は、CMYKW2値の印刷データをCMYKW256階調の印刷データに変換する(S53)。具体的には、8×8マスの中のWのドット数を計数し、その値を255/64倍することで、CMYKWの256階調の印刷データに変換する。なお、印刷データは、CMYKW3値以上の多値(n値)のデータであってもよい。
次いで、CPU10は、CMYKWの256階調の値をCMYの256階調の値に変換する(S54)。この変換は、以下の式により行う。
C=C+K (計算後にC>255の場合には、C=255とする。)
M=M+K (計算後にM>255の場合には、M=255とする。)
Y=Y+K (計算後にY>255の場合には、Y=255とする。)
次いで、CPU10は、S54で求められたCMYの256階調の値を、カラー変換テーブル65(図4参照)を参照して、RGB形式の256階調で表現された値に変換する(S55)。このテーブル変換の結果を(R',G',B')=Table(C,M,Y)と表す。そして、以下の式の演算を行う。
C'=255−R'
M'=255−G'
Y'=255−B'
なお、図4に示すように、カラー変換テーブル65は、入力値をRGB値とし、出力値をCMYK値とするテーブルである。S55でカラー変換テーブル65を参照してCMYK形式の256階調の値をRGB形式の256階調の値に変換する場合、Kの値をC,M,Yの夫々の値に加算する演算を行う。演算結果の値が「255」を超えた場合は、演算結果の値を「255」に置換する。CPU10は、入力値をCMY値とし、出力値をRGB値とするカラー変換テーブル65の逆変換テーブルを作成して、テーブル変換を実行する。カラー変換テーブル65の逆変換テーブルの作成には、公知の体積補間の手法を用いればよい。
次に、CPU10は、S51で入力された背景色値(Ur,Ug,Ub)と、S55で求めたC'M'Y'の値を以下の数式2に入力して演算して、RGB形式の投影データを算出する(S56)。これにより、白インクおよびカラーインクによって表現される色と、指定された背景色とが複雑に絡まる印刷イメージを表現できる投影データを作成することができる。なお、数式2は、印刷データにWのデータのみが含まれる場合の数式1に対して、CMYKのカラー印刷データを反映させたものである。
図5の説明に戻る。CPU10は、S5で作成された投影データを、投影データ出力部18を介してプロジェクタ5へ送信する(S6)。CPU10は、プロジェクタ5への投影データの送信開始後、投影データの送信を継続する。その後、CPU10は、ユーザインタフェース70で表示されているOptionボタン72の無効を解除する(S7)。CPU10は、Projector Option画面80(図10参照)を表示する指示が入力されたか否かを判断する(S8)。この場合、CPU10は、ユーザインタフェース70で表示されているOptionボタン72が選択されたか否かを判断する。ユーザがマウス4等を操作することによってOptionボタン72が選択された場合(S8:YES)、CPU10は、処理をS9へ移行する。Optionボタン72が選択されない場合(S8:NO)、CPU10は、処理をS8の判断へ戻し、S8の判断を繰り返す。
次いで、CPU10は、Projector Option画面80をモニタ2に表示する(S9)。ユーザは、Projector Option画面80において所定の操作をすることで、背景色値、Location値、Rate値のそれぞれを任意に変更することができる。CPU10は、S1で取得した印刷データがグリッドデータであるか否かを判断する(S10)。この場合、CPU10は、S1で取得した印刷データを参照し、グリッドデータであることを識別する識別子の有無によって、取得した印刷データがグリッドデータであるか否かを判断する。取得した印刷データがグリッドデータでない場合(S10:NO)、CPU10は、Projector Option画面80のChangeボタン85の無効を解除する(S11)。CPU10は、処理をS21(図6参照)へ移行する。取得した印刷データがグリッドデータである場合(S10:YES)、CPU10は処理をS21(図6参照)の判断へ移行する。S10の判断は、グリッドデータに基づく投影データ作成においては、背景色値の再調整を行わないこととするために行われる。グリッドデータに基づく投影画像の投影においては、プラテン39およびプラテン39上に載置された印刷対象物上にグリッドデータに対応する投影画像であるグリッドが投影されれば、ユーザによる投影位置および投影倍率の調整は可能である。このため、グリッドデータに基づく投影データ作成においては、背景色値の再調整を行なわず、CPU10の処理を軽減するために行われる。
次いで、CPU10は、Location値が変更されたか否かを判断する(S21)。この場合、CPU10は、Projector Option画面80におけるLocation欄82の数値入力欄に数値が入力されたか否かを判断する。Location欄82の数値入力欄のうち左側および右側には、(X1,Y1)のX1およびY1がそれぞれ対応する。ユーザは、Location欄82にマウス4等によって数値を入力することにより、投影画像の原点の位置を、1/10インチ単位で(X1,Y1)の値を独立して指定することができる。Location欄82の数値入力欄に数値が入力された場合(S21:YES)、CPU10は、入力された数値を新たなLocation値として取得する(S22)。CPU10は、S23で取得した新たなLocation値を投影データに適用して、投影データを変更する(S23)。CPU10は、S23で投影位置を変更した投影データを、投影データ出力部18を介してプロジェクタ5へ送信する(S24)。その後、CPU10は、処理をS25の判断へ移行する。一方、Location欄82の数値入力欄に数値が入力されない場合(S21:NO)、CPU10は、処理をS25の判断へ移行する。
次いで、CPU10は、Rate値が変更されたか否かを判断する(S25)。この場合、CPU10は、Projector Option画面80におけるRate欄83の数値入力欄に数値が入力されたか否かを判断する。Rate欄83の数値入力欄のうち左側および右側には、(X2,Y2)のX2およびY2がそれぞれ対応する。ユーザは、Rate欄83にマウス4等によって数値を入力することにより、投影画像の左右方向および前後方向の投影倍率を独立して指定することができる。Rate欄83の数値入力欄に数値が入力された場合(S25:YES)、CPU10は、入力された数値を新たなRate値として取得する(S26)。CPU10は、S26で取得した新たなRate値を投影データに適用して、投影データを変更する(S27)。CPU10は、S23で投影倍率を変更した投影データを、投影データ出力部18を介してプロジェクタ5へ送信する(S28)。その後CPU10は、処理をS29の判断へ移行する。一方、Rate欄83の数値入力欄に数値が入力されない場合(S25:NO)、CPU10は、処理をS29の判断へ移行する。
次いで、CPU10は、背景設定画面90(図11および図12参照)を表示する指示が入力されたか否かを判断する(S29)。この場合、CPU10は、Projector Option画面80のBackground Color欄84の右側に表示されているChangeボタン85(図10参照)が選択されたか否かを判断する。ユーザがマウス4等を操作することによってChangeボタン85が選択された場合(S29:YES)、CPU10は、背景設定画面90をモニタ2に表示する(S30)。図11および図12に示すように、背景設定画面90には、色タブ91およびパターンタブ92の2つのタブが用意されている。背景設定画面90において、ユーザがマウス4等を操作することによって色タブ91を選択した場合には、R,G,Bの数値入力欄93が表示される(図11参照)。R,G,Bの数値入力欄93は、0〜255の数値を入力可能に構成されている。ユーザは、背景色を変更する場合、変更する背景色を示す任意の数値を数値入力欄93に入力することができる。CPU10は、数値入力欄93に入力された数値を新たな背景色値として取得する(S31)。なお、図10に示すように、Projector Option画面80におけるBackground Color欄84には、最新の背景色値の示す色がプレビュー表示される。図10は、新たな背景色値として、(Ur,Ug,Ub)=(0,0,0)が入力された状態を示す。
また、背景設定画面90において、ユーザがマウス4等を操作することによってパターンタブ92を選択した場合には、図案・模様を示すパターンが、パターン表示欄95に複数種類表示される(図12参照)。パターン表示欄95に表示されるパターンは、背景色として適用可能な図案・模様によるパターン画像を示す。HDD14は、パターン表示欄95に複数種類表示されるパターンのそれぞれに対応する複数のパターン画像データを記憶する。CPU10は、HDD14に記憶されているパターン画像データを示すパターン内容をパターン表示欄95に表示する。背景設定画面90において、ユーザがマウス4等を操作することによって、複数種類のパターン画像のうちいずれかを選択することによって、背景色にパターン画像を適用することができる。CPU10は、パターン表示欄95において選択されたいずれかのパターンに対応するパターン画像データを、印刷データの背景部分に適用するパターン画像データとして取得する(S31)。なお、パターン表示欄95におけるパターン画像の選択と、R,G,Bの数値入力欄93における背景色の選択とは、択一的に行われる。背景設定画面90のOKボタン94が選択される直前に行われたR,G,Bの数値入力欄93への入力値またはパターン表示欄95におけるパターン画像が、新たな背景色として取得される。
次いで、CPU10は、S31で取得した新たな背景色値に対応する背景色画像データまたはパターン画像データを投影データに適用して、投影データを変更する(S32)。S31で新たな背景色値が取得された場合、CPU10は、新たな背景色値に基づく投影データの変更を、S5(図5参照)の投影データ作成処理(図7および図8参照)と同様の処理を実行することで行う。
S31でパターン画像が背景色として取得された場合、CPU10は、S5(図5参照)の投影データ作成処理(図7および図8参照)における背景色値RGB=(Ur,Ug,Ub)を、以下の説明のように拡張して、投影データの作成を実行する。本実施形態では、CPU10は、S31で取得するパターン画像データから、投影領域の大きさを示す情報に対応して繰り返し配置する繰り返しパターンによる画像データを作成して、印刷データの背景部分に適用する。CPU10は、S31で取得するパターン画像データを繰り返しパターンの最小単位として用いて背景画像データを作成する。
繰り返しパターンの最小単位であるパターン画像の二次元座標系における各画素が示すRGB形式の色情報を、
RGB=(Under_R(x,y),Under_G(x,y),Under_B(x,y))
と定義する。そして、最小単位のパターンを全領域に当てはめた結果の印刷領域のx−y座標において、定義した(Under_R(x,y),Under_G(x,y),Under_B(x,y))の値を適用する。そして、前述した数式1および数式2における背景色値RGB=(Ur,Ug,Ub)を上記の定義式に置換して演算することによって、RGB形式の投影データを算出する(S32)。つまり、数式1および数式2の背景色値(Ur,Ug,Ub)と、上記の定義式の(Under_R(x,y),Under_G(x,y),Under_B(x,y))とは、下記の関係になる。
Under_R(x,y)=Ur
Under_G(x,y)=Ug
Under_B(x,y)=Ub
このようにして、CPU10は、S31で新たに取得した背景色値またはパターン画像を適用して、投影データを変更する(S32)。CPU10は、S32で背景色値を変更またはパターン画像を適用した投影データを、投影データ出力部18を介してプロジェクタ5へ送信する(S33)。その後CPU10は、処理をS34の判断へ移行する。一方、ユーザによってChangeボタン85が選択されない場合(S29:NO)、CPU10は、処理をS34の判断へ移行する。
次いで、CPU10は、変更した背景色値、Location値、Rate値を確定する指示が入力されたか否かを判断する(S34)。この場合、CPU10は、Projector Option画面80のOKボタン81(図10参照)が選択されたか否かを判断する。ユーザがマウス4等を操作することによってOKボタン81が選択された場合(S34:YES)、CPU10は、Projector Option画面80の表示を終了する。その後、CPU10は、投影データ作成制御処理を終了する。OKボタン81が選択されない場合(S34:NO)、CPU10は、処理をS21の判断へ戻し、OKボタン81が選択されるまで、S24からS34の処理を繰り返す。
CPU10は、HDD14に記憶されたプログラムをRAM12上で展開することで、投影データ作成制御処理を実行するプロセッサの一例として機能する。なお、CPU10の代わりに、マイクロコンピュータ、ASIC(Application Specific Integrated Circuits)、FPGA(Field Programmable Gate Array)などがプロセッサとして用いられても差し支えない。また、投影データ作成制御処理は、複数の電子機器(つまり、複数のCPU)によって分散処理されてもよい。例えば、投影データ作成制御処理の一部は、CPU40で実行されてもよい。
図13および図14を参照して、投影データに基づく投影画像110について説明する。図13に示すように、投影画像110の最も左上の画素は、投影画像110の原点111と定義される。CPU10は、Location値に基づいて、原点111を投影領域のいずれの場所に配置するかを決定する。図13は、印刷データの背景部分にあたる背景部分113に白色の背景色を適用した状態を示す。印刷データに基づく投影画像部分112には、印刷画像において黒色のインクが吐出される部分に対応する黒色部分114が含まれる。
図14は、図13に示す投影画像110の背景部分113に黒色の背景色を適用した投影画像120を示す。この場合、図13で示されていた投影画像部分112に含まれていた黒色部分114は、背景色に黒色を適用されたことで、図14では黒色部分114の黒色と背景色の黒色とが混然一体となっている。このような投影画像120においては、投影画像120のいずれの位置に黒色のインクが吐出され、いずれの位置に黒色のインクが吐出されないのかを、ユーザが判別することは容易でない。本実施形態において、CPU10は、投影データに適用される背景色値を任意に変更して投影データを作成することができる。このため、ユーザが背景色値を黒色以外の色を示すRGB値に変更することで、CPU10は、図14では判別が容易でなかった図13における黒色部分114を判別可能な投影データを作成することができる。
印刷データに基づく投影画像部分112に使用される色と、背景部分113に適用される色との組合せによっては、背景部分113に適用する背景色値の変更を行っても、印刷イメージを投影画像によって表現しづらい場合もある。例えば、印刷データに基づく投影画像部分112に多様な色を用いている場合、背景部分113に適用する背景色値を様々に変更しても、投影画像の示すいずれの部分にインクが吐出され、いずれの部分に吐出されないのかをユーザが判別しづらいこともある。このような場合、CPU10は、背景部分113にパターン画像データを適用することによって、投影画像のいずれの部分が印刷データに基づく投影画像部分112または背景部分113であるのかを判別しやすい投影データを作成することができる。
図15を参照して、グリッドデータの投影態様について説明する。図15は、黒色の印刷対象物に対してグリッドデータに基づく投影画像であるグリッド画像130が投影された様子を示す。グリッド画像130は、1インチ単位の格子を示す投影画像である。本実施形態では、プラテン39上面に、グリッド画像130の投影位置および投影倍率と調整するための格子模様391(図16参照)が付されている。このため、PC1は、プロジェクタ5にグリッド画像130をプラテン39上に投影させて、プラテン39上の格子模様391にグリッド画像130の投影位置および投影倍率を合わせることで、投影画像の投影位置および投影倍率の調整を行うことができる。グリッド画像130は、印刷領域の全体に亘る格子を示す画像である。このため、ユーザは、プラテン39上に投影されたグリッド画像130と格子模様391とを見比べることで、投影位置および投影倍率についての指示を、PC1に対して簡便に行うことができる。PC1は、このような、投影画像の投影位置および投影倍率を調整するためのグリッドデータをHDD14に記憶して内蔵するため、投影画像の投影位置および投影倍率を行うユーザに、グリッド画像130を随時提供できる。ユーザは、例えば印刷装置30による印刷およびPC1による印刷データに基づく投影画像の投影を開始する前の初期設定として、また、定期的に、投影位置および投影倍率の調整を実行する。
グリッドデータは印刷データである。このため、PC1は、印刷装置30にグリッドデータに基づく印刷を実行させることができる。この場合、PC1は、グリッドデータに基づく印刷が施されたプラテン39上の印刷対象物に対してグリッド画像130を投影させ、印刷結果とグリッド画像130とをユーザに比較させることで、投影画像の投影位置および投影倍率の調整を行うことができる。
図16を参照して、プラテン39上面の格子模様391について説明する。格子模様391は、グリッド画像130と同様の1インチ単位の格子模様である。格子模様391は、プラテン39上面に、投影画像の投影位置および投影倍率を調整するために設けられる。プラテン39上面に付される格子模様391のピッチは、プロジェクタ5によってプラテン上面に投影されるグリッド画像130のピッチと同じである。このため、PC1は、プラテン39上にグリッド画像を投影させることによって、投影画像の投影位置および投影倍率を正確かつ簡便に調整することができる。本実施形態では、印刷装置30による印刷領域は、格子模様391の外枠392の範囲に設定されている。また、印刷装置30は、プロジェクタ5による投影領域が領域393の範囲になるように、支持部52とプラテン39上面との間隔を設けている(図1参照)。領域393は、外枠392により形成される領域よりも大きな領域をプラテン39上に占める。即ち、投影領域は、印刷領域よりも大きい。投影領域と印刷領域をこのような関係にすることで、CPU10は、Location値およびRate値を反映させた投影データを作成して、投影画像の投影位置および投影倍率の調節を行うことができる。
以上説明したように、印刷装置30が印刷対象物上にインクを吐出して印刷対象物上に印刷画像を形成するための印刷データに基づく画像をプロジェクタ5で投影する場合、印刷対象物の色によっては、印刷対象物に投影された投影画像が確認されにくい場合がある。第一態様に係るPC1は、印刷データと、印刷データの背景部分に適用される色を示す背景色値とを取得し、取得した印刷データに背景色値を適用して、印刷対象物上に投影される投影画像を投影させるための投影データを作成する。したがって、第一態様に係るPC1は、任意の背景色を有する投影画像を作成できる。
PC1は、Location値およびRate値を取得して、取得したLocation値およびRate値に基づいて投影データを作成できる。このため、PC1は、印刷イメージに忠実な投影画像を印刷対象物に投影できる投影データを作成することができる。
PC1は、投影画像が印刷対象物に投影される投影位置および投影倍率を調整するためのグリッドデータをHDD14に記憶して内蔵している。このため、PC1は、グリッドデータをHDD14から呼び出して、作成する投影データに対応する投影画像の印刷対象物に対する投影位置および投影倍率をソフト的に調整することができる。また、グリッドデータは印刷データである。このためPC1は、例えばグリッドデータの示す画像が印刷された印刷対象物と投影画像とをユーザに比較させることによって、投影位置および投影倍率を調整することもできる。したがって、PC1は、投影位置および投影倍率の調整を簡便且つ正確に行うことができる。
有色の印刷媒体に投影画像を投影する場合、印刷データの内容および印刷対象物の有する色によっては、印刷対象物のいずれの部分にインクが吐出され、またインクが吐出されず印刷対象物の地色が表わされるのかを、投影画像によって判別しづらい場合がある。このような場合に、PC1は、図案、模様によるパターン画像を背景色に適用することによって、投影画像のいずれの部分にインクが吐出され、また吐出されないのかがわかりやすく表現された投影データを作成することができる。
例えば、印刷データにW2値のデータが含まれる場合に、PC1が、背景色に白色の背景色画像データを適用して投影データを作成することとする。この場合、投影領域に投影される白色部分は、白インクが吐出される部分であるか、印刷データの背景部分であるかを、ユーザは投影画像から判別することができない。このような場合でも、PC1は、任意の背景色を適用した投影画像を作成できる。したがって、PC1は、投影領域のいずれの部分にインクが吐出され、また、吐出されないかを判別できる投影データを作成することができる。
第二態様に係る投影システム100は、印刷装置30によって印刷対象物上に形成される印刷画像イメージを、投影画像によって表現することができる。ここで、投影領域が印刷領域よりも小さい場合、投影システム100は、印刷領域全体に亘る投影画像を投影することができない。また、投影領域と印刷領域とが同じ大きさの場合、投影システム100は、投影画像の投影倍率を印刷領域よりも縮小する調整を行うことはできるが、投影画像の投影位置を印刷領域よりも外側にずらしたり、投影画像が印刷領域よりも大きくなるように投影倍率を拡大したりする調整を行うことができない。投影システム100の印刷装置30は、投影画像が投影される投影領域が、印刷画像が形成される印刷領域よりも大きくなるように、支持部52とプラテン39上面との間隔を設ける。このため、投影システム100のPC1は、Location値およびRate値を用いて、投影データに基づく投影画像の投影位置を印刷領域よりも外側にずらす調整および投影倍率を拡大・縮小する調整をすることができる。したがって、第二態様に係る投影システム100は、印刷イメージに忠実な投影画像を印刷対象物に投影できる投影データを作成することができる。
本実施形態において、図5のS4において印刷データを取得するCPU10が、本発明の「印刷データ取得手段」として機能する。図5のS4および図6のS31において背景色値を取得するCPU10が、本発明の「背景色取得手段」として機能する。図5のS5、図6のS23、S26、S32において投影データを作成するCPU10が、本発明の「投影データ作成手段」として機能する。図5のS4、図6のS22においてLocation値を取得するCPU10が、本発明の「位置データ取得手段」として機能する。図5のS4、図6のS26においてRate値を取得するCPU10が、本発明の「倍率データ取得手段」として機能する。HDD14が、本発明の「記憶手段」に相当する。図5のS1でグリッドデータを取得するCPU10が、本発明の「調整データ取得手段」として機能する。図6のS31においてパターン画像を取得するCPU10が、本発明の「パターン取得手段」として機能する。また、Location値が本発明の「位置データ」に相当し、Rate値が本発明の「倍率データ」相当し、グリッドデータが本発明の「調整データ」に相当する。図7のS42においてCPU10に入力されるW2値の印刷データが、本発明の「白色印刷データ」に相当する。
PC1が、本発明の「投影データ作成装置」に相当する。印刷装置30が、本発明の「印刷装置」に相当する。投影システム100が、本発明の「投影システム」に相当する。プラテン39が、本発明の「プラテン」に相当する。支持部52が、本発明の「支持部」に相当する。投影データ出力部18が、本発明の「出力部」に相当する。
なお、本発明は上記の実施形態に限定されるものではなく、種々の変更が可能である。例えば、本実施形態の印刷装置30は、主に布帛に対して印刷画像を形成するインクジェットプリンタであるが、様々な印刷対象物に対して印刷を実行するレーザープリンタ、LEDプリンタ等の他の形式のプリンタについても、本発明を適用できる。
上記実施形態では、プラテン39は、印刷装置30の印刷開始前から印刷終了までの間に亘り、上面に印刷対象物を保持し続けるが、プラテン39の構成はこれに限られない。例えば、印刷の施される前の印刷対象物が印刷装置30内のプラテン39以外の場所に保管されており、印刷開始時に搬送部によってプラテン39に印刷対象物が搬送されて、印刷が実行される構成であってもよい。また、印刷実行中と印刷終了後とで、印刷対象物が異なる保持部に保持される構成であってもよい。プラテン39は、少なくとも印刷開始前と印刷終了後の印刷対象物を保持できればよい。
上記実施形態では、投影位置および投影倍率を調整するための印刷データとしてグリッドデータを採用している。投影位置および投影倍率を調整するための印刷データはこれに限られない。例えば、投影位置および投影倍率を調整するための、投影画像の四隅の位置を示す記号、投影画像の中心線を示す線等を表す画像に基づく印刷データであってもよい。
なお、本発明は、印刷データがCMYKW形式以外の場合にも実施可能である。印刷データはCMYKW形式のデータに限られず、例えば、印刷において各種ライトカラーインクを色材として用いるためのデータであってもよい。この場合、ライトカラーインクによって表現される色データをCMYKW形式のデータへ変換するカラー変換テーブルを実験等により予め求めておき、ライトカラーインクによって表現される色データをCMYKW形式のデータに変換すればよい。
上記実施形態では、CPU10は、RGB形式による背景色値を取得するが、CPU10が取得する背景色値の形式は、これに限られない。CPU10によって取得される印刷データおよび背景色値は、PC1の備えるOSが処理できるデータ形式であればよい。
上記実施形態では、CPU10は、背景色値の初期値として所定の値を取得する。背景色値の初期値を取得する構成はこれに限られない。例えば、投影システム100にプラテン39上の印刷対象物の色情報を認識可能なカラーセンサを備え、カラーセンサの認識した色情報に応じて背景色値の初期値を取得する構成であってもよい。