(57)【特許請求の範囲】
【請求項１】
ターゲットに処理を施す第一機器と該第一機器と通信可能な第二機器とを備えた電子機器システムであって、
前記第一機器には、前記ターゲットに処理を施す処理手段と、
前記第二機器の動作位置が前記ターゲット上に設定された第一座標系の値で指定された第一制御データを取得する制御データ取得手段と、
前記ターゲットの位置を検出する検出手段と、
前記第一制御データ中の前記第一座標系の前記値と、前記検出手段の検出結果とに基づいて、前記動作位置が前記ターゲットの基準位置に対するずれ量分が加味された第二座標系の値で指定された第二制御データを生成する制御データ生成手段と、
前記第二制御データを前記第二機器に送信する第一通信手段とが備えられ、
前記第二機器には、前記第二制御データを受信する第二通信手段と、
前記第二機器を前記第二制御データに基づいて前記第二座標系の値から決まる動作位置に制御する制御手段とが備えられていることを特徴とする電子機器システム。
【請求項２】
前記処理手段は、前記ターゲットを搬送する搬送手段と、前記ターゲットにオブジェクトを記録する記録手段とを備え、
前記ターゲット上に記録済みのオブジェクト位置を記憶する記憶手段とをさらに備え、
前記制御データ生成手段は、前記記憶手段に記憶した前記オブジェクト位置及び前記検出手段の検出位置に基づき前記第二座標系の値として前記第二機器の動作位置を決定する動作位置決定手段を備え、前記動作位置決定手段が決定した動作位置を値にもつ前記第二制御データを生成することを特徴とする請求項１に記載の電子機器システム。
【請求項３】
前記制御データ取得手段は、ホスト装置から前記第一制御データを受信する通信部であり、
前記ホスト装置のデータ生成手段が、該ホスト装置の入力操作手段により入力された前記第一座標系の入力値に基づいて前記第一制御データを生成することを特徴とする請求項１又は２に記載の電子機器システム。
【請求項４】
前記第二機器は、前記第一機器が前記ターゲットに施した処理結果を測定する測定機器であり、該測定のために前記ターゲットの搬送方向と交差する第一方向に移動する移動体を備え、
前記検出手段は、前記ターゲットの前記第一方向の位置を検出するものであり、
前記制御データ生成手段は、前記移動体の前記動作位置を決める値が前記第二座標系の値で指定された前記制御データを生成することを特徴とする請求項１乃至３のいずれか一項に記載の電子機器システム。
【請求項５】
前記第二機器は、前記ターゲットの搬送方向において前記検出手段と異なる位置に配置されており、
前記搬送方向において前記検出手段の検出位置と異なる位置に配置された前記第二機器の位置における前記ターゲットの斜行による前記第二機器の動作方向のずれ量を検出する第二検出手段をさらに備え、
前記制御データ生成手段は、前記検出手段及び第二検出手段の検出結果に基づく前記ターゲットの前記動作方向のずれ量と前記斜行による前記動作方向のずれ量とを用いて前記第二座標系の値で指定された前記第二制御データを生成することを特徴とする請求項１乃至４のいずれか一項に記載の電子機器システム。
【請求項６】
前記検出手段の検出結果に基づいて前記記録手段の前記第一座標系の値で指定された記録位置を前記第二座標系の値に補正する記録位置補正手段をさらに備え、
前記記録手段は、前記第二座標系の補正された値に基づく記録位置に記録を行うことを特徴とする請求項２乃至５のいずれか一項に記載の電子機器システム。
【請求項７】
前記制御データ取得手段により取得される前記第一制御データは、前記第一機器の属する特定クラスであれば解析可能な特定形式の制御データであり、
前記制御データ生成手段は、前記第一制御データと同じ特定形式のデータとして前記第二制御データを生成し、
前記第一機器は、前記第一機器から前記第二機器へ前記制御データを送信するためのホスト通信部を備え、
前記第二機器は、前記ホスト通信部と通信可能なデバイス通信部と、
前記第二制御データを解析するための解析部とを備え、
前記デバイス通信部には、前記第二機器の機器種から決まるクラスとは異なる前記特定クラスが設定されていることを特徴とする請求項１乃至６のいずれか一項に記載の電子機器システム。
【請求項８】
ターゲットに処理を施す第一機器と該第一機器と通信可能な第二機器とを備えた電子機器システムにおける制御方法であって、
前記第一機器が前記ターゲットに処理を施す処理ステップと、
前記第二機器の動作位置が前記ターゲット上に設定された第一座標系の値で指定された第一制御データを取得する制御データ取得ステップと、
前記ターゲットの位置を検出する検出ステップと、
前記第一制御データ中の前記第一座標系の前記値と、前記検出ステップにおける検出位置とに基づいて、前記動作位置が前記ターゲットの基準位置に対するずれ量分が加味された第二座標系の値で指定された第二制御データを生成する制御データ生成ステップと、
前記第二制御データを前記第二機器に送信する通信ステップと、
前記第二機器の制御手段が前記第二制御データに基づいて前記第二座標系で指定された値から決まる動作位置に当該第二機器を制御する制御ステップと
を備えたことを特徴とする電子機器システムにおける制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばホスト装置等のデータ提供手段から提供された制御データに基づいて第一機器の制御と、該第一機器と通信可能な第二機器の制御とが行われる電子機器システム及び電子機器システムにおける制御方法に関する。
【背景技術】
【０００２】
従来、例えば特許文献１には、ホスト装置から送信された印刷データに基づいて印刷を行うプリンタに、所望する色空間に適合した色で印刷させることのできる設定を行うために、記録紙にカラーパッチを印刷し、印刷されたカラーパッチを測色する測色装置を備えた印刷システムが知られている（例えば特許文献１）。測色装置の測色結果は、例えばホスト装置により解析されて以後の印刷条件に反映される。
【０００３】
例えば第二機器としての測色装置により記録紙上に記録されたパッチを測色させる場合、そのパッチの記録位置に合わせて測色装置の動作位置を制御する必要がある。この場合、記録紙の位置に応じてパッチの記録紙上における記録位置が変化することになるため、記録紙の位置を検出する必要がある。
【０００４】
例えば特許文献２には、記録紙の位置を検出する構成として、記録紙の搬送方向先端をセンサが検知した時からの紙送り量をカウンタに計数することで、記録紙の搬送方向の位置を管理する記録装置が知られている。
【０００５】
また、記録紙の紙幅方向のずれをセンサの検出結果に基づき検出し、その紙幅方向のずれに基づいて記録位置を補正する制御が行われる記録装置も知られている（例えば特許文献３、４等）。
【特許文献１】特開２００１−３２４３８７号公報
【特許文献２】特開２００３−７２９６４号公報
【特許文献３】特開２００５−１９９５４２号公報
【特許文献４】特開平１１−４８５５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、ホスト装置の設定画面でカラーパッチの印刷位置を入力装置で指定する場合は、用紙上に設定された座標系（例えば用紙エリアの一コーナーを原点とする座標系）でパッチ記録位置などが設定される。そしてホスト装置は、その設定情報に基づいて測色装置の動作位置を決め、その決めた動作位置を値Ｘoにもつコマンド（例えばコマンドＣＣＲ（Ｘo））を生成する構成が考えられる。この場合、コマンドの値は、用紙上の座標系の値となる。
【０００７】
例えば特許文献３等のように記録紙の紙幅方向のずれに応じて記録位置を補正する制御が行われるプリンタにおいて、測色装置を用いて測色を行う場合、記録紙の位置が紙幅方向にずれても、用紙上の座標系で指定された指定位置どおりの記録位置にパッチを記録できるが、用紙上の座標系で指定された測色装置の動作位置は記録紙のずれによってパッチ記録位置からずれることになる。この結果、測色装置がパッチ記録位置からずれた位置を測色し、測色の精度が低下するという問題があった。また、このような記録位置の補正が行われない場合であっても、動作位置の値が用紙上の座標系で指定されていると、記録紙の位置ずれなどに起因して測色装置の動作位置がパッチ記録位置からずれるという問題が発生する。なお、上記では第一機器がプリンタ、第一機器と通信可能な第二機器が測色装置である電子機器システムの例で説明したが、その他の組み合わせの電子機器システムにおいても、同様の課題がある。
【０００８】
本発明は、上記問題点を解決するためになされたものであって、その目的は、第一機器と通信可能な第二機器を、ターゲットの位置がずれても、ターゲット上に設定された第一座標系の値で指定された動作位置どおりの位置に動作させる制御が可能となる電子機器システム及び電子機器システムにおける制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、ターゲットに処理を施す第一機器と該第一機器と通信可能な第二機器とを備えた電子機器システムであって、前記第一機器には、前記ターゲットに処理を施す処理手段と、前記第二機器の動作位置が前記ターゲット上に設定された第一座標系の値で指定された第一制御データを取得する制御データ取得手段と、前記ターゲットの位置を検出する検出手段と、前記第一制御データ中の前記第一座標系の前記値と、前記検出手段の検出結果とに基づいて、前記動作位置が前記ターゲットの基準位置に対するずれ量分が加味された第二座標系の値で指定された第二制御データを生成する制御データ生成手段と、前記第二制御データを前記第二機器に送信する第一通信手段とが備えられ、
前記第二機器には、前記第二制御データを受信する第二通信手段と、前記第二機器を前記第二制御データに基づいて前記第二座標系の値から決まる動作位置に制御する制御手段とが備えられていることを要旨とする。ここで、動作位置は、動作位置を示す位置の値に限定されず、動作位置を指定可能であれば、移動量、距離などの値でもよく、さらに方向と移動量、角度と距離など異なる複数種の値から構成されても構わない。
【００１０】
この発明によれば、第一機器は、制御データ取得手段により、第二機器の動作位置がターゲット上に設定された第一座標系の値で指定された第一制御データを取得する。制御データ生成手段は、第一制御データ中の第一座標系の値と、ターゲットの位置を検出する検出手段の検出結果（ターゲット検出位置）とに基づいて、第二機器の動作位置がターゲットの基準位置に対するずれ量分が加味された第二座標系の値で指定された第二制御データを生成する。第一機器は第一通信手段により第二制御データを第二機器に送信する。第二機器の制御手段は第二通信手段により受信した第二制御データに基づいて第二座標系の値から決まる動作位置に当該第二機器を制御する。従って、ターゲットの位置がずれても、第一機器と通信可能な第二機器を、ターゲット上に設定された第一座標系の値で指定された動作位置どおりの位置に動作させる制御が可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を具体化した一実施形態を、図１〜図１４に従って説明する。図１は、外装ケースを取り外したインクジェット式プリンタの斜視図を示す。また、図２は、プリンタの要部側断面図を示す。
【００１２】
図１に示す電子機器システムとしてのプリンタシステム１００は、例えば大判の用紙に記録を実行することができる大型のインクジェットプリンタであるプリンタ１０と、プリンタ１０による印刷が施されたロール紙Ｒを巻き取るための巻取り装置３０及びプリンタ１０によりロール紙Ｒに印刷されたカラーパッチの色を測定する測色装置４０とにより構成される。ターゲット（記録媒体）である用紙としては、ロール紙Ｒだけでなく単票紙も用いられる。
【００１３】
プリンタ１０は、図１に示すように、スタンド１１に支持されたプリンタ本体１２の後部寄り上部には、ロール紙Ｒを保持可能なスピンドルと、一対のフランジ状のロール紙押さえとによって構成されているロール紙ホルダ１３が設けられている。また、プリンタ本体１２の前面の一例として左端寄りの部分には各色のインクカートリッジ１４を個別に収容する複数のカートリッジスロットを備えたカートリッジホルダ１５が設けられている。
【００１４】
また、プリンタ本体１２には約６０°の前下がり傾斜姿勢で搬送案内板１６が設けられており、この搬送案内板１６はロール紙ホルダ１３によって保持されているロール紙Ｒを搬送方向Ａとなる前部下方に向けて案内している。また、ロール紙Ｒの搬送経路の途中位置には、キャリッジ１７がプリンタ本体１２の幅方向に沿って延びるように架設されたガイド部材１８に案内されて主走査方向Ｂに往復移動可能な状態で設けられている。
【００１５】
図２に示すように、キャリッジ１７には記録ヘッド１９が保持されており、記録ヘッド１９の斜め下方にギャップを隔てて対向する位置にはプラテン２０が設けられている。記録ヘッド１９とプラテン２０との間を通るロール紙Ｒは、その搬送方向上流に位置する一対のニップローラにより構成される搬送ローラ２１と、下流側に位置する一対のニップローラにより構成される排紙ローラ２２とが回転駆動されることにより紙送りされるようになっている。カートリッジホルダ１５に収容された各色のインクカートリッジ１４から供給されたインクがキャリッジ１７と共に主走査方向Ｂに移動中の記録ヘッド１９のノズルから吐出されることにより、ロール紙Ｒのプラテン２０上に位置する部分に印刷が施される。そして、ロール紙Ｒの紙送り動作と、記録ヘッド１９による記録動作とが略交互（但し両動作が一部同時に行われる場合も含む。）に行われてロール紙Ｒへの印刷が施される。なお、単票紙への印刷も、図示しない給紙部から一枚ずつ給送された単票紙に対して記録ヘッド１９からインク滴を吐出することで同様に行われる。以下の説明においては、用紙がロール紙Ｒの場合を例にして説明する。
【００１６】
図１に示すように、プリンタ１０においてキャリッジ１７より搬送方向Ａ下流側の位置に測色装置４０が設けられ、この測色装置４０よりさらに下流側の位置には巻取り装置３０が設けられている。巻取り装置３０は、巻取り用回転軸（図示省略）と、該巻取り用回転軸に一体回転可能に取り付け可能な一対のフランジ状のロール紙押さえ３１と、巻取り用回転軸を回転駆動させるための巻取り用モータ３２とによって構成されている。印刷後のロール紙Ｒは巻取り装置３０の巻取り用回転軸と共に回転する管材（図示せず）に巻き取られるようになっている。
【００１７】
次に、測色装置４０について図面に基づいて具体的に説明する。図３は測色装置の主要な構造を示す斜視図である。
この測色装置４０は、測色器４１を保持する測色器ホルダ４２と、キャリッジ往復動手段４３と、押さえ部材４４と、回動シフト手段４５と、キャリブレーション手段４６を構成するホワイトタイル４７及びタイルホルダ４８とを一体のユニットとして備えることによって基本的に構成されている。
【００１８】
測色器４１は、ロール紙Ｒに記録された測色用パターン（以下、「カラーパッチＣＰ」という）に対して光を照射し、カラーパッチＣＰに反射した光に基づいて色情報を測定して色校正用の補正値等を得るための測定機器であり、図３に示すような角箱状の外観形状を有している。なお、測色器４１には、コネクタ配線４９を接続するためのソケット５０が設けられている。本実施形態では、コネクタ配線４９及びソケット５０として、ＵＳＢ（Universal Serial Bus）ケーブル及びＵＳＢコネクタが採用されている。これはＵＳＢ通信が有するプラグアンドプレイ機能により、プリンタシステム１００の電源オン中のいつでも測色器４１を電気的に接続して測色を行うことを可能とするためである。
【００１９】
なお、上記色情報としては、ホワイトバランス、色度、明度（Ｌ*）によってカラー値を定義するＬａｂカラーモードに基づく色情報が一例として使用できる。また、モニタ側ではＲＧＢカラーモードが、プリンタ１０側ではＣＭＹＫカラーモードがそれぞれ使用されるから、測色器４１によって測定したＬａｂカラーモードに基づく色情報をそれぞれＲＧＢカラーモードまたはＣＭＹＫカラーモードに変換してモニタ側ないしプリンタ１０側の補正値を算出して適用することができる。
【００２０】
測色器４１をワンタッチで取り付け・取り外しが可能に構成された測色器ホルダ４２は、追従機構５１と４本（図３では２本のみ図示）のリンク５２を有する平行リンク機構５３を介して回動自在に連結されている。このため、測色器ホルダ４２が平行リンク機構５３を介して回動することにより、測色器ホルダ４２に保持された測色器４１の姿勢の変更が可能に構成されている。また、測色器ホルダ４２の下面には、一例としてベアリングによって構成されている４個の走行車輪５４が遊転自在に取り付けられている。
【００２１】
なお、上記走行車輪５４は、押さえ部材４４における押さえ板５５に対して長手方向に、すなわち後述する測色パターンの作る列方向Ｃ（主走査方向Ｂに同じ）に延びるように形成されている長穴状の長孔５６を跨ぐようにして、押さえ板５５の表面（上面）の一部に当接して転がり接触する。
【００２２】
キャリッジ往復動手段４３は、測色器ホルダ４２によって保持されている測色器４１をカラーパッチＣＰの作る列方向Ｃに往復移動させる手段である。具体的には、キャリッジ往復動手段４３は、追従機構５１を介して測色器ホルダ４２に連結されて測色器４１と共に往復移動する測色用キャリッジ５７と、この測色用キャリッジ５７を案内する主軸５８と副軸５９とによって構成されている２本のガイド軸と、測色用キャリッジ５７を往復移動させる際の駆動源となるリターンポジション側に配置される測色用キャリッジモータ６０とを備えている。さらに測色用キャリッジモータ６０の出力軸に取り付けられているピニオンギヤ６１と、該ピニオンギヤ６１と噛み合う伝達ギヤ６２と、伝達ギヤ６２と一体の駆動プーリ６３と、ホームポジション側に設けられる従動プーリ６４と、駆動プーリ６３と従動プーリ６４との間に巻回され、その一部が測色用キャリッジ５７に係止されている無端帯状のタイミングベルト６５とを備えている。
【００２３】
追従機構５１は、測色器ホルダ４２の下面に設けられている走行車輪５４が押さえ板５５上に常に接地して走行できるようにするための機構で、キャリブレーション手段４６を構成するタイルホルダ４８と、押さえ板５５間の移動を円滑にする役割も有している。具体的には、前述の平行リンク機構５３と、加圧用の捩りコイルバネとによって追従機構５１は構成されている。
【００２４】
押さえ部材４４は、測色時にカラーパッチＣＰが記録されたロール紙Ｒの表面を押さえる押圧姿勢（図３の実線位置）をとり、非測色時に上方に跳ね上がってロール紙Ｒの搬送を可能にする退避姿勢（図３の二点鎖線位置）をとるように回動する部材である。具体的には、一体に設けられる回動軸６７を中心にして約９０°の範囲に亘って回動する回動レバー６８と、この回動レバー６８の回動自由端に対して回動ピン６９を介して回動自在に接続される上述の押さえ板５５と、上記回動レバー６８と押さえ板５５との間に設けられる押さえ板支持バネと、押さえ板加圧バネ（いずれも図示せず）とを備えることによって押さえ部材４４は構成されている。なお、押さえ板支持バネと、押さえ板加圧バネの作用によって、押さえ板５５の下面の全面をロール紙Ｒの表面にしっかり密着させ、この時、押さえ板５５には押さえ板加圧バネが元の形状に戻ろうとする反力が作用するからロール紙Ｒの表面は強い押圧力によって確実に保持されるようになっている。
【００２５】
回動レバー６８は、測色パターンの作る列方向Ｃに長い、湾曲した板状のレバーで、回動基端側に左右外方に突出するように回動軸６７が一体に形成されている。また、左右の回動軸６７には、約９０°の範囲に亘って歯が形成されている扇形ギヤ７０が設けられている。押さえ板５５は、カラーパッチＣＰの作る列方向Ｃに長い平板状の部材で、押さえ板５５の上面中央にはカラーパッチＣＰの作る列方向Ｃに延びる上述した長孔５６が押さえ板５５の押圧面（下面）にかけて貫通するように形成されている。
【００２６】
なお、押さえ板５５の下面には、長孔５６の周囲と、押さえ板５５の周囲のみを下方に突出させたにリブが設けられており、リブが複数のカラーパッチＣＰの互いの離間部である空白部に当たることで、プロファイル作成用の各列のカラーパッチＣＰに当接することなく、ロール紙Ｒの表面を押圧することが可能になる。
【００２７】
回動シフト手段４５は、押さえ部材４４の押圧姿勢と退避姿勢とを切り替えるための手段である。具体的には、駆動源である紙押さえ用モータ７１と、この紙押さえ用モータ７１の回転を扇形ギヤ７０に伝達するためのギヤ輪列７２とを備えることによって回動シフト手段４５は構成されている。
【００２８】
キャリブレーション手段４６は、ホワイトタイル４７を保持したタイルホルダ４８で構成されている。ホワイトタイル４７は非測色時に測色器４１のキャリブレーションを実行するためのセラミックス製のタイルである。そして、ホワイトタイル４７は着脱可能な状態でタイルホルダ４８によって保持されている。また、ホワイトタイル４７を保持したタイルホルダ４８はカラーパッチＣＰが記録されたロール紙Ｒが通る搬送経路側方のキャリッジ往復動手段４３のホームポジション領域に設けられている。そして、測色用キャリッジ５７がホームポジションに位置する非測色時には、測色器４１によってホワイトタイル４７の上面を被覆してホワイトタイル４７の上面への埃等の付着を防止している。
【００２９】
図４は、このようなプリンタシステム１００を備える印刷システムにおける通信に係る電気的構成を示すブロック図である。
印刷システム２００は、プリンタシステム１００と、プリンタシステム１００と通信可能な状態に接続されるホスト装置１５０とを備える。ホスト装置１５０は例えばパーソナルコンピュータ等により構成される。ホスト装置１５０は、例えばプリンタドライバ用のソフトウェアがインストールされて構築された第１プリンタドライバ１５１を内蔵する。ホスト装置１５０の通信部１５２と、プリンタシステム１００を構成するプリンタ１０の通信部７４とが通信ケーブル７５介して接続されている。両通信部１５２，７４間の通信には、例えばＩＥＥＥ１２８４．４（以下、「Ｄ４」と略記する）通信又はＵＳＢ通信が採用されている。
【００３０】
プリンタ１０は、巻取り装置３０及び測色装置４０と通信可能に接続されている。ここで、本実施形態の測色装置４０は、制御系がそれぞれ異なる測色器４１と測色駆動装置８０とから構成される。測色駆動装置８０は、押さえ部材４４の駆動系である回動シフト手段４５と、測色用キャリッジ５７の駆動系であるキャリッジ往復動手段４３とにより構成され、制御対象として測色用キャリッジモータ６０と紙押さえ用モータ７１とを備える。なお、本実施形態では、プリンタ１０が第一機器を構成し、巻取り装置３０及び測色駆動装置８０が第二機器をそれぞれ構成している。
【００３１】
プリンタ１０はＵＳＢ通信でホストとして機能するＵＳＢホストコントローラ（以下、「ＵＳＢホスト８１Ａ」という）を有するホスト通信部８１を備えている。また、巻取り装置３０、測色器４１及び測色駆動装置８０は、ＵＳＢ通信でデバイスとして機能するＵＳＢデバイスコントローラ（以下、「ＵＳＢデバイス８２Ａ〜８４Ａ」という）をそれぞれ有するデバイス通信部８２〜８４をそれぞれ備えている。プリンタ１０のホスト通信部８１にはハブ８５が接続され、ハブ８５にはＵＳＢケーブル８６〜８８を介して巻取り装置３０のデバイス通信部８２、測色器４１のデバイス通信部８３及び測色駆動装置８０のデバイス通信部８４がそれぞれ接続されている。ＵＳＢ通信において、ＵＳＢホスト８１Ａは、ＵＳＢデバイス８２Ａ〜８４Ａに対してそのデバイスが属する機器クラス（デバイスクラス）を要求する。これに対してＵＳＢデバイス８２Ａ〜８４Ａは機器クラスを応答する。なお、本実施形態では、巻取り装置３０及び測色装置４０はプリンタ１０のオプション機器（付属機器）であり、必要なときにＵＳＢケーブル８６〜８８を介してプリンタ１０に接続する構成となっている。
【００３２】
例えば印刷を所望するユーザがホスト装置１５０のモニタ１５０ａに表示された画像や文字の印刷を行うべく入力装置１６２（図５参照）を操作することにより、ホスト装置１５０がその印刷指示を受け付けると、その印刷対象の画像データや文字データ等は第１プリンタドライバ１５１に送られる。第１プリンタドライバ１５１は印刷対象の画像データや文字データ等に基づいてプリンタ１０が解析可能な印刷コマンドを用いたデータ形式（印刷コマンド形式）の印刷データ（第一制御データ）を生成し、その印刷データを通信部１５２，７４間の通信を介してプリンタ１０に送信する。このとき、ホスト装置１５０の通信部１５２は、プリンタ１０側の通信部７４とのポーリングにより、相手側の機器クラスを要求し、印刷データ（印刷コマンド）を解析可能な「プリンタクラス」（特定クラス）である旨の応答を受信したことを条件に通信を確立する。
【００３３】
例えばホスト装置１５０とプリンタ１０間の通信がＵＳＢ通信であるとすると、ホスト装置１５０側の通信部１５２であるＵＳＢホストはプリンタ１０側の通信部７４であるＵＳＢデバイスに対して機器クラスを確認するための情報を要求する。そして、通信部７４がプリンタ１０に設定されている「プリンタクラス」の旨を応答するので、ＵＳＢホストはＵＳＢデバイスとの間の通信を確立する。このため、ホスト装置１５０内の第１プリンタドライバ１５１が生成した印刷データ（第一制御データ）をプリンタ１０に送信することが可能である。
【００３４】
ところで、図４に示すように、本実施形態のプリンタ１０は、第２プリンタドライバ８９を備え、巻取り装置３０及び測色駆動装置８０の制御を、印刷コマンドを含む印刷データを用いて行う構成としている。第２プリンタドライバ８９は、第１プリンタドライバ１５１からコマンド生成機能や印刷データ生成機能など必要な一部の機能を転用しこれに必要な他の機能を組み込んで構築された簡易プリンタドライバの構成をとる。本実施形態では、第１プリンタドライバ１５１及び第２プリンタドライバ８９が用いる印刷コマンドとして、例えばシリアルプリンタの標準コマンドであるＥＳＣ／Ｐ（Epson Standard Code for Printer）を採用している。もちろん、他の印刷コマンドを採用してもよい。なお、第２プリンタドライバ８９に画像データ処理部１６１と同様の画像データ処理部を備え、プリンタ１０にメモリカード等の記憶媒体を差し込んで入力されたＲＧＢ表色系などの画像データを印刷画像データに変換でき、ホスト装置１５０に接続しなくても印刷が可能な所謂スタンドアロン型プリンタとして構成することもできる。
【００３５】
そして、巻取り装置３０及び測色駆動装置８０の制御は、第２プリンタドライバ８９がＥＳＣ／Ｐを用いて行う。そのため、プリンタ１０のＵＳＢホスト８１Ａが巻取り装置３０及び測色駆動装置８０の各ＵＳＢデバイス８２Ａ，８４Ａとの通信を確立するためには、ＵＳＢデバイス８２Ａ，８４ＡがＵＳＢホスト８１Ａからの機器クラスの要求に対して「プリンタクラス」である旨を応答する必要がある。そこで、本実施形態では、図４に示すように、巻取り装置３０と測色駆動装置８０には機器クラスとして「プリンタクラス」が設定されている。
【００３６】
詳しくは、デバイスＩＤとして、プリンタの一機種を示す機種番号（例えばプリンタ１０の機種番号でもよいし他のプリンタの機種番号でもよい。）が設定されている。ＵＳＢホスト８１ＡからのデバイスＩＤの要求に対してその機種番号を応答することで、ＵＳＢホスト８１Ａ側ではその機種番号（デバイスＩＤ）から「プリンタクラス」であることが認識される。このため、第２プリンタドライバ８９が生成した印刷データ（第二制御データ）を、ＵＳＢホスト８１Ａ、ＵＳＢデバイス８２Ａ，８４Ａ間で確立された通信により、巻取り装置３０及び測色駆動装置８０にそれぞれ転送することが可能となる。
【００３７】
これに対して、印刷データで制御されない測色器４１には、図４に示すように、機器クラスとして「ＨＩＤ（ヒューマンインターフェイスデバイス）クラス」が設定されている。なお、本実施形態では、測色器メーカで製造・販売される測色器４１内に印刷データを解析できるコマンド解析部を組み込むことが不可能なため、測色器４１については印刷データを用いて制御していない。もちろん、測色器４１についても印刷コマンド（ＥＳＣ／Ｐ）を解析可能なコマンド解析部を組み込んで、第二機器として構成することも可能である。
【００３８】
図６は、プリンタ１０と測色駆動装置８０及び巻取り装置３０との間で行われる通信に採用された通信プロトコルの階層構造（プロトコルスタック）を示すブロック図である。なお、測色駆動装置８０と巻取り装置３０とで、プリンタ１０との間で行われる通信の通信プロトコルは同じであるので、以下の説明では、第二機器が測色駆動装置８０である場合を例にして説明する。
【００３９】
プリンタ１０のホスト通信部８１は、その下位層から上位層へ向かう順に、ＵＳＢホストインターフェイス（以下、「ＵＳＢホストＩ／Ｆ９０」という）、ＵＳＢシステムソフトウェア９１、ＵＳＢプリンタクラスドライバ９２、Ｄ４（「ＩＥＥＥ１２８４．４」の略記）パケット処理部９３を備え、このホスト通信部８１の上位層に第２プリンタドライバ８９が位置している。一方、測色駆動装置８０のデバイス通信部８４（８２）は、その下位層から上位層へ向かう順に、ＵＳＢデバイスインターフェイス（以下、「ＵＳＢデバイスＩ／Ｆ９５」という）、ＵＳＢ論理デバイス９６、ＵＳＢプリンタクラスドライバ９７、Ｄ４パケット処理部９８を備え、このデバイス通信部８４（８２）の上位層にＥＳＣ／Ｐ解析部１２４（１３１）（図５にも示す）が位置している。
【００４０】
なお、この図からも理解できるように、ＵＳＢプリンタクラスドライバ９２，９７は、いわゆる「Ｄ４パケット」（ＩＥＥＥ１２８４．４に即したパケット構造）を利用してデータ転送を行う。この理由は、標準的なＵＳＢのデバイスクラスのうちで、プリンタクラスではＤ４パケットが上位プロトコルとして採用されているからである。
【００４１】
ここで、Ｄ４パケットを用いない通信制御スタック（アプリケーション層から物理層に至るまでのアーキテクチャ）が、ホスト装置１５０やプリンタ１０のＯＳ（Operating System）の標準であり、プリンタ１０とオプション機器（第二機器）との通信をプリンタクラス以外のデバイスクラスで通信制御スタックを構築しようとすると新規に作る必要がある。これに対し、本実施形態では、ホスト装置１５０の第１プリンタドライバ１５１とプリンタ１０間の通信用として採用されているＤ４パケットを用いた既存の通信制御スタックを、プリンタ１０とオプション機器間の通信にも利用している。
【００４２】
Ｄ４パケットを用いた通信制御スタックは、印刷データを転送することを前提として構築されているため、ＵＳＢホスト８１ＡがＵＳＢデバイス８２Ａ，８４Ａとの通信を確立する際に、相手側の機器クラスが「プリンタクラス」である必要がある。ＵＳＢホスト８１Ａは、相手側の機器にデバイスＩＤを要求し、そのデバイスＩＤの内容から機器クラスが「プリンタクラス」であると判断されれば通信を確立する。そのため、測色駆動装置８０と巻取り装置３０には、前述のように、プリンタの機種を示すデバイスＩＤが設定されている。なお、各機器を個別に識別するための機器固有のＩＤも別途設定されている。
【００４３】
図６に示すように、まずＵＳＢホストＩ／Ｆ９０とＵＳＢデバイスＩ／Ｆ９５間の物理的な通信はＵＳＢケーブル８８（８６）の接続で行われる。次のレベルではホスト（プリンタ１０）のシステムソフトウェア（ＯＳのデバイスドライバレベル）での通信で、ホストとデバイス間には「デフォルトパイプ」という通信の論理接続が確立される。そして、このデフォルトパイプを使ったコントロール転送（双方向通信）により、システム設定の初期化、ＵＳＢケーブルが接続された時に各種の設定制御のための通信、つまりコンフィギュレーション（設定）を行い、デバイスの使い方の設定情報をホストとデバイス間でやりとりする。これで使用するパイプの本数や、転送モード（バルク転送やインタラプト転送等）などの設定情報をホストがデバイスに要求し、デバイスからの応答で得た設定情報に基づいてホストがデバイスの使用条件を設定する。本実施形態では、「プリンタクラス」の場合はバルク転送が設定され、「ＨＩＤクラス」の場合はインタラプト転送が設定される。
【００４４】
次のレベルはアプリケーションのレベルで、ＵＳＢプリンタクラスドライバ９２，９７間の論理的な通信線である「パイプ」を、必要に応じて複数本接続する。このパイプは論理的な通信線であり、実際の通信は１本のＵＳＢケーブル８８（８６）上で時分割で行われる。
【００４５】
さらに次のレベルはＤ４のアプリケーションのレベルで、Ｄ４パケット処理部９３，９８間の論理的な通信線が確立されると、Ｄ４パケット処理部９３，９８間でＤ４用通信プロトコルに基づくパケット転送が行われる。
【００４６】
図５は、印刷システムの電気的構成を示すブロック図である。ホスト装置１５０は、第１プリンタドライバ１５１、測色ドライバ１５３、画像表示用のアプリケーション１５４などを備えている。これらの第１プリンタドライバ１５１及び測色ドライバ１５３は、ホスト装置１５０にプログラムをインストールすることにより構築されている。例えば第１プリンタドライバ１５１はプリンタメーカにより提供され、測色ドライバ１５３は測色器メーカにより提供される。第１プリンタドライバ１５１は、印刷データを生成する印刷データ生成部１５５、ホスト制御部１５６及びデータ格納部１５７を備えている。さらに印刷データ生成部１５５は、論理座標計算部１５９、コマンド生成部１６０及び画像データ処理部１６１を備えている。また、ホスト装置１５０には、入力装置１６２が接続されている。入力装置１６２は、例えばキーボードやマウス等により構成される。
【００４７】
測色ドライバ１５３は、測色設定用の設定画面を表示する設定画面表示機能と、カラーパッチパターン設定機能と、カラーパッチ印刷位置設定機能とを有している。アプリケーション１５４で表示された画像を含む用紙範囲が設定画面上に表示でき、その用紙範囲内の所望エリアにカラーパッチを設定できる機能を有している。
【００４８】
図９は測色ドライバ１５３がホスト装置１５０のモニタ１５０ａに表示する測色用の設定画面を模式的に示したものである。この設定画面１４０は、ホスト装置１５０の入力装置１６２を操作して測色ドライバ１５３を起動させることで表示される。ユーザは入力装置１６２を操作して設定画面１４０上に印刷画像ＩＧ（イメージ画像）を表示しつつカラーパッチＣＰの色パターンの選択及び位置の設定を行うことが可能となっている。例えばカラーパッチ選択ウインドウから所望のパターン、色数、色、カラーパッチ列数などを選択するとともに、選択したカラーパッチＣＰの印刷位置を例えばマウスで指定することで、印刷画像ＩＧのない余白領域など所望位置に設定する。この指定されたカラーパッチの印刷位置は、用紙エリアの基準点に対する相対座標で表される論理座標として、ホスト装置１５０内の測色ドライバ１５３に取得される。詳しくは、論理座標は、用紙エリア（１ページに相当する全範囲）の図９における左上コーナーを原点（０，０）とし、紙幅方向（主走査方向Ｂ）（図９における右方向）にＸ座標、反搬送方向（図９における下方向）にＹ座標をとる相対座標で表される。例えば図９に示すように、印刷画像ＩＧは左上コーナーが座標（Ｘps，Ｙps）、右下コーナーが座標（Ｘpe，Ｙp e）で表される。
【００４９】
また、カラーパッチＣＰは、複数の単位パッチＤが配列されて構成されるパッチ列ＰＲと、パッチ列ＰＲの列方向両側に所定の間隔を隔てて配置された開始位置マークＭＳと終了位置マークＭＥとを備えている。図９に示す二列のカラーパッチＣＰが配置された例では、各カラーパッチＣＰはＹ座標がそれぞれＹ１，Ｙ２で、パッチ列ＰＲを構成するＮ個の単位パッチＤのＸ座標が、測色用キャリッジ５７（図３参照）のホームポジション側（図９における左側）から順に、（Ｘ１，Ｘ２，…，Ｘn-1，Ｘn）の値で示される。これらのカラーパッチＣＰに係る論理座標値は、測色用キャリッジ５７と一緒に移動する測色器４１が各単位パッチＤを測色する際の測色点を決めるために用いられる。そのため、単位パッチＤの座標は例えばその中心点を示している。
【００５０】
例えばカラーパッチＣＰのＹ座標値はロール紙Ｒを測色位置に位置決めする紙送りの際の目標位置として用いられる。また、カラーパッチＣＰを構成する各単位パッチＤのＸ座標値は、測色器４１の測色点を各単位パッチの中心点に一致させるべく測色用キャリッジ５７をパッチ列方向Ｃに位置決めする際の目標位置として用いられる。
【００５１】
また、パッチ列ＰＲの列方向Ｃの長さ（以下、「パッチ列長Ｌ」という）と、パッチ列ＰＲを構成する単位パッチＤの個数（以下、「パッチ数Ｎ」という）が分かれば、単位パッチＤのピッチ（＝Ｌ／Ｎ）を計算でき、これに加えて先頭の単位パッチＤのＸ座標「Ｘ１」が分かれば、他の単位パッチＤの測色点は計算できる。そのため、カラーパッチＣＰに関するデータとして、パッチ列長Ｌとパッチ数Ｎの情報が含まれる。そして、測色ドライバ１５３から第１プリンタドライバ１５１に、印刷画像ＩＧ及びカラーパッチＣＰの画像データと各論理座標、並びにカラーパッチＣＰのパッチ列長Ｌとパッチ数Ｎの情報が渡される。なお、図９において用紙エリアの搬送方向Ａの終端（同図では下端）を示すＹ座標「Ｙc」は、例えばロール紙Ｒを図示しないカッタで切断する際のカット位置を決めるために用いられる。また、測色ドライバ１５３は、測色器４１を制御する測色コマンドを生成し、これを第１プリンタドライバ１５１に渡す。ここで、入力装置１６２を用いてホスト装置１５０に入力するデータが入力値に相当する。
【００５２】
図５に示す第１プリンタドライバ１５１は、アプリケーション１５４がモニタ１５０ａに表示した画像及び測色ドライバ１５３で設定したカラーパッチＣＰの画像データ及び論理座標データ等に基づき、印刷コマンドを含む印刷データを生成する処理を行う。但し、本実施形態では、プリンタ１０の印刷制御だけでなく、巻取り装置３０、測色器４１及び測色駆動装置８０の制御のための指示も印刷データを用いて行う。そのために第１プリンタドライバ１５１は、印刷データを生成するために前述の論理座標計算部１５９、コマンド生成部１６０及び画像データ処理部１６１を備えている。
【００５３】
コマンド生成部１６０は、プリンタ記述言語（プリンタ制御コード）を用いてコマンドを生成する。本実施形態では、前述のように、シリアルプリンタ用のプリンタ記述言語としてＥＳＣ／Ｐコマンドを採用する。もちろん、プリンタ１０がページプリンタであればプリンタ記述言語としてＥＳＣ／Pageを採用できる。なお、コマンド生成部１６０が行う処理の詳細については後述する。
【００５４】
論理座標計算部１５９は、測色用の設定画面１４０でユーザが入力装置１６２を操作して入力指定した印刷画像ＩＧやカラーパッチＣＰなどの印刷エリアを規定する論理座標や、カラーパッチＣＰの測色点の論理座標などの論理座標情報に基づいて、コマンド生成部１６０が作成するコマンドに格納すべき値を計算する。計算される値としては、印刷画像やカラーパッチＣＰの印刷位置までの紙送り量や、測色器４１がカラーパッチＣＰを測色可能な測色位置までの紙送り量、測色用キャリッジ５７の測色時の目標位置である動作位置（パッチ列方向Ｃの測色位置）等が挙げられ、これらが例えば制御対象であるモータの駆動量や目標位置などの値として計算される。
【００５５】
画像データ処理部１６１は、表示用の画像データから印刷用の画像データへの変換処理を行う。具体的な処理としては、表示用解像度からプリンタ用解像度に変換する解像度変換処理、画像データを例えばＲＧＢ表色系からプリンタ１０が表現可能なＣＭＹＫ表色系（ここではシアン、マゼンタ、イエロー、ブラックの各色）に変換する色変換処理、画像データの階調値をプリンタで表現可能な階調値に変えるためのハーフトーン処理や、記録ヘッド１９へのデータの出力順序を印刷モード等に応じて決まるインク滴吐出順序に合わせて並び替えるデータ出力順序調整処理（例えばマイクロウィーブ処理等）などが挙げられる。ここで、色変換処理は、色変換テーブルを用いて行われる。ハーフトーン処理としては、いわゆる誤差拡散法やディザ法などの周知の方法を適用できる。上記各処理の内容は周知であるため、これ以上の詳細な説明は省略する。なお、これらの印刷用の画像処理が施された画像データを印刷画像データと呼ぶものとする。
【００５６】
第１プリンタドライバ１５１は、印刷条件を入力設定するための設定画面をホスト装置１５０のモニタ１５０ａに表示する機能も有している。ユーザが設定画面において、入力装置１６２を操作することで印刷条件を設定することができる。印刷条件としては、用紙種、用紙サイズ、カラー／モノクロ、レイアウト（余白設定・縁なし印刷設定等）、印刷モード（例えば高品質印刷モード、高速印刷モード等）などが挙げられる。そして、解像度変換処理、色変換処理、ハーフトーン処理、データ出力順序調整処理などの画像処理は、この印刷条件に基づいた内容で行われる。
【００５７】
第１プリンタドライバ１５１は、コマンド生成部１６０が生成した各種コマンドと画像データ処理部１６１が生成した印刷画像データとを含む印刷データ（ＥＳＣ／Ｐ制御データ）を生成する。ここで、第１プリンタドライバ１５１が生成する印刷データの構造について説明する。図７は、第１プリンタドライバ１５１が生成する印刷データＰＤの構造を示す。なお、以下の説明において、コマンドを示す記号は、実際の印刷コマンドに整合している訳ではなく、説明の便宜上、簡略な記号を使用している。図７に示すように、印刷データＰＤはヘッダＨＤとボディＢＤとからなる。ヘッダＨＤには、ボディＢＤのデータサイズ等のヘッダ情報が記述されている。また、ボディＢＤには、ＥＳＣ／Ｐ制御データＳＤが格納されている。
【００５８】
図７に示すように、ＥＳＣ／Ｐ制御データＳＤは、ジョブ開始コード（図７において「ＪＳ」で示す）と、ジョブ終了コード（図７において「ＪＥ」で示す）の間に、各種制御コマンドや制御コード、印刷画像データ等を格納している。なお、図７では、データとして格納されうるほぼ全ての種類のコマンドやデータを格納した状態で描いているが、実際は、これらのうち一部のコマンドやデータが格納されて印刷データは構成される。
【００５９】
図７に示すように、ＥＳＣ／Ｐ制御データＳＤには、印刷制御コマンドＰＣＣ、印刷画像データＰＧＤ、紙送り制御コマンドＰＦＣ、巻取制御コマンドＷＣＣ、測色駆動制御コマンドＣＭＤＣ、測色制御コマンドＣＭＣが含まれているが、通常はこのうち一部のコマンドやデータが格納された印刷データのパケットが複数回転送される。その場合、１つのジョブで最初に転送される印刷データ中にジョブ開始コード「ＪＳ」が格納され、そのジョブで最後に転送される印刷データ中にジョブ終了コード「ＪＥ」が格納される。ＥＳＣ／Ｐ制御データＳＤは、複数のモード毎に制御コマンドや印刷画像データなどが区分されて格納されている。モードとしては、キャラクタモード、グラフィックモード、リモートモードが用意されている。ＥＳＣ／Ｐ制御データＳＤ中には、これら各モードに移行する制御コードであるキャラクタモード移行コード「ＭＣ」、グラフィックモード移行コード「ＭＧ」、リモートモード移行コード「ＭＲ」がそれぞれ組み込まれている。各モード移行コードに続いて、そのモードで解析対象とされるコマンドが格納されている。
【００６０】
すなわち、キャラクタモード移行コード「ＭＣ」に続いて印刷制御コマンドＰＣＣが格納され、グラフィックモード移行コード「ＭＣ」に続いて印刷画像データＰＧＤ（ヘッド制御データ）が格納されている。印刷制御コマンドＰＣＣには、例えば、ロール紙Ｒに対する印刷の開始位置／終了位置を指定するページ情報や、記録ヘッド１９のノズル数等に応じたロール紙Ｒの紙送り量を指定する搬送方向位置情報等が含まれる。また、印刷画像データＰＧＤ（ラスタデータ）は、記録ヘッド１９を駆動制御してインク滴吐出を行わせるためのデータである。このように印刷制御コマンドＰＣＣ及び印刷画像データＰＧＤは、プリンタ１０の印刷制御のためのデータである。
【００６１】
さらに、リモートモード移行コード「ＭＲ」に続いてリモートコマンドＲＣが格納されている。リモートコマンドＲＣは、プリンタ１０に印刷制御以外の制御を行わせるためにＥＳＣ／Ｐ制御データ中に組み込むことが可能となっている。リモートコマンドＲＣは、元々、例えばプリンタ１０において記録ヘッド１９のノズルをクリーニングするためにメンテナンス装置（図示省略）を駆動させたり、印刷動作中に例えば定期的にノズルの目詰まりを防止すべく空吐出（フラッシング）を行わせたりするメンテナンス系の駆動制御を行うために設けられたものである。
【００６２】
本実施形態では、このリモートコマンドＲＣの機能を利用して、測色装置４０及び巻取り装置３０の制御を行うコマンドをリモートコマンドＲＣとして格納させている。すなわち、図７に示すように、リモートモード移行コード「ＭＲ」に続いて、紙送り制御コマンドＰＦＣ、巻取制御コマンドＷＣＣ、測色駆動制御コマンドＣＭＤＣ、測色制御コマンドＣＭＣなどが格納される。その他にも、前述のクリーニングコマンド、フラッシングコマンド（図示省略）なども格納される。
【００６３】
ここで、紙送り制御コマンドＰＦＣは、測色を行うに当たりロール紙Ｒを、カラーパッチＣＰが搬送方向Ａにおいて測色器４１の測色スポットの位置に一致する測色位置まで搬送させるための紙送りコマンドである。
【００６４】
また、巻取制御コマンドＷＣＣは、巻取り装置３０の巻取り用モータ３２を制御するためのコマンドである。本実施形態では、測色終了後に、ロール紙Ｒを次の印刷開始位置に戻しておくため、ロール紙Ｒをバックフィードさせる際の搬送ローラ２１及び排紙ローラ２２の逆転駆動に同期させて巻取り装置３０を逆転駆動させる際に用いられる。
【００６５】
また、測色装置４０を制御するための測色系コマンドは、リモートコマンドＲＣ中において測色モードに移行するための測色モード移行コード「ＣＭ」に続いて格納され、図９に示すように、測色モード移行コード「ＣＭ」に続いて測色駆動制御コマンドＣＭＤＣと測色制御コマンドＣＭＣが格納されている。測色モードでは、測色駆動制御コマンドＣＭＤＣと測色制御コマンドＣＭＣが解析対象とされる。
【００６６】
測色駆動制御コマンドＣＭＤＣは、測色装置４０の紙押さえ用モータ７１及び測色用キャリッジモータ６０を制御するためのコマンドである。また、測色制御コマンドＣＭＣは、測色器４１を制御するためのコマンドであり、例えば測色器メーカで使用されている制御コードで記述されており、測色ドライバ１５３から渡されるものである。なお、図７では省略しているが、モード毎のコマンドの最後にモードエンドコード（図示省略）が格納されている。
【００６７】
ホスト制御部１５６は、第１プリンタドライバ１５１における制御を司り、各部１５９〜１６１への印刷データ生成のための指示や、印刷条件設定画面の表示制御、印刷データをプリンタ１０へ送信するための通信制御（送信指示）、測色器４１からの測色データに基づいて色条件の適切性の判定及び色補正値の設定などを行う。データ格納部１５７は、生成された印刷データなどを送信前に一時格納したり、測色器４１から受信した測色データを判定や演算処理等を行う前に一時格納したりするデータ格納領域である。第１プリンタドライバ１５１が生成した印刷データは、ホスト制御部１５６の指示によりホスト装置１５０の通信部１５２から通信部７４を経てプリンタ１０へ順次転送される。
【００６８】
図５に戻って、次にプリンタシステム１００の電気的構成について説明する。プリンタシステム１００は、前述のようにプリンタ１０、巻取り装置３０、測色装置４０を備え、測色装置４０はさらに測色駆動装置８０と測色器４１とから構成されている。図４で説明したように、プリンタ１０のホスト通信部８１はハブ８５及び３本のＵＳＢケーブル８６〜８８を通じて３つの装置３０，４１，８０のデバイス通信部８２〜８４に接続されている。
【００６９】
図５に示すように、プリンタ１０は、ＥＳＣ／Ｐ解析部１０１、第２プリンタドライバ８９（制御ドライバ）、メモリ１０２（イメージバッファ）、制御部１０３、各駆動回路１０４〜１０６、記録ヘッド１９、ＣＲモータ１０７、ＰＦモータ１０８、及びエンコーダ１０９、紙検出センサ１１０、紙幅センサ１１１及びリニアエンコーダ１１２を備える。また、制御部１０３は、ヘッド制御部１１３、キャリッジ制御部１１４及び紙送り制御部１１５を備える。
【００７０】
ここで、第２プリンタドライバ８９は、簡易プリンタドライバであり、第１プリンタドライバ１５１と同様にＥＳＣ／Ｐの印刷データを生成する機能を有している。第２プリンタドライバ８９は、既存の第１プリンタドライバ１５１を利用してその一部の機能を有するものとして作成されたものであり、リモートコマンド解析部１１６、コマンド生成部１１７及び座標計算部１１８を備えている。但し、第２プリンタドライバ８９が生成する印刷データは印刷に使用するものではなく、測色動作及び巻取り動作の制御に使用するものである。
【００７１】
なお、ＥＳＣ／Ｐ解析部１０１、第２プリンタドライバ８９及び制御部１０３は、例えばＣＰＵ、ＡＳＩＣ（Application Specific ＩＣ（特定用途向けＩＣ））、ＲＯＭ、ＲＡＭ等により構成されている。本例では、ＥＳＣ／Ｐ解析部１０１がＡＳＩＣによりハードウェアで構成され、第２プリンタドライバ８９及び制御部１０３は、ＣＰＵがＲＯＭに記憶されたプログラムを実行して実現されるソフトウェアにより構成されている。もちろん、これらの全てがソフトウェアにより構成されていてもよいし、集積回路（例えばＡＳＩＣ等のカスタムＩＣ）等のハードウェアにより構成されてもよいし、さらにはソフトウェアとハードウェアとの協働（この場合、任意の組み合わせを選択可能。）により構成されていてもよい。
【００７２】
ＥＳＣ／Ｐ解析部１０１は、印刷データ（ＥＳＣ／Ｐ制御データ）を解析するためのものであり、印刷データ中にモード移行コードを検出すると、そのコードで指定されたモードに移行する（つまりモードに応じた解析モジュールを起動する）。モードには、キャラクタモード、グラフィックモード、リモートモードの３つがある。モード毎に解析対象とされるコマンドが決められており、そのモード毎に設定された解析対象のコマンドを解析してそのときのモードに応じた転送先に送る。例えばキャラクタモードであれば印刷制御コマンドＰＣＣを解析して制御部１０３に送る。また、グラフィックモードであれば印刷画像データＰＧＤを解析してメモリ１０２に送る。さらにリモートモードであればリモートコマンドを解析して第２プリンタドライバ８９に送るようになっている。この場合、各モードで解析対象以外のコマンドは読み捨てられる。
【００７３】
以下、ＥＳＣ／Ｐ解析部１０１の解析処理内容を詳細に説明する。ＥＳＣ／Ｐ解析部１０１は、図７に示す印刷データＰＤ（ＥＳＣ／Ｐ制御データ）を解析する。ＥＳＣ／Ｐ解析部１０１は、印刷データＰＤのボディＢＤ中のＥＳＣ／Ｐ制御データＳＤ中にモード移行コードがあると、そのコードで指定されたモードに移行する。モード毎に解析対象とすべきコマンドが切り換えられ、そのモードで扱うことのできるコマンドのみ解析し、そのモードで扱わないコマンドやデータは読み捨てる。すなわち、キャラクタモード移行コード「ＭＣ」があるとキャラクタモードへ移行し、印刷制御コマンドＰＣＣのみ解析してそれを制御部１０３に送り、それ以外のデータ（コマンド等）は読み捨てる。また、グラフィックモード移行コード「ＭＣ」があるとグラフィックモードへ移行し、印刷画像データＰＧＤのみ解析してそれをメモリ１０２に転送し、それ以外のデータは読み捨てる。さらに、リモートモード移行コード「ＭＲ」があるとリモートモードへ移行し、リモートコマンドＲＣのみ解析してそれを第２プリンタドライバ８９に送り、それ以外のデータは読み捨てる。
【００７４】
詳しくは、ＥＳＣ／Ｐ解析部１０１は、キャラクタモータ移行コードＭＣがあると、キャラクタモードに移行し、印刷制御コマンドＰＣＣ（図７参照）を解析する。解析の結果、印刷制御コマンドＰＣＣ（例えばアスキーコード等のキャラクタコードを含む）があれば制御部１０３に送る。制御部１０３は、キャラクタジェネレータ（図示省略）でキャラクタコードをイメージデータに変換した後、メモリ１０２に格納する。ヘッド制御部１１３はメモリ１０２から１パス分（キャリッジ１７の主走査方向Ｂへの１回の駆動分）ずつ読み込んだイメージデータ（ラスタデータ）に基づきインク吐出タイミング信号に同期させて記録ヘッド１９を駆動させ、キャリッジ１７の主走査方向Ｂへの移動途中の所定のタイミングで記録ヘッド１９のノズルからインク滴を吐出させる。また、制御部１０３は、キャリッジ制御部１１４にキャリッジ駆動コマンド（以下、「ＣＲ駆動コマンド」という）を送るとともに、紙送り制御部１１５に紙送りコマンドを送る。
【００７５】
一方、ＥＳＣ／Ｐ解析部１０１は、グラフィックモード移行コードＭＧがあると、グラフィックモードに移行し、印刷画像データＰＧＤ（図７参照）を解析する。解析の結果、印刷画像データＰＧＤがあればメモリ１０２に送る。制御部１０３は、メモリ１０２から１パス分ずつ読み込んだ印刷画像データＰＧＤに基づきキャリッジ１７のその１パスにおける始動位置・停止位置を算出し、次のパスのキャリッジ起動時期になると、キャリッジ制御部１１４にＣＲ駆動コマンドを送り、キャリッジ１７の起動を指示する。また、制御部１０３は、前回のパスの印字が終了後、紙送り開始時期になると、紙送り制御部１１５に紙送りコマンドを送り、紙送り動作を指示する。なお、ここでいう紙送りとは、給紙、印刷動作中の紙送り（狭義）、排紙を含む。
【００７６】
そして、紙送り制御部１１５は紙送りコマンドに基づいて駆動回路１０６を介してＰＦモータ１０８を駆動させ、指示された送り量だけロール紙Ｒの紙送りを行う。ロール紙Ｒが次の印刷位置に送られると、キャリッジ制御部１１４がＣＲ駆動コマンドに基づいて駆動回路１０５を介してＣＲモータ１０７を駆動させ、記録ヘッド１９を主走査方向Ｂに１パス動作させる。この１パスの過程で、ヘッド制御部１１３は、印刷画像データＰＧＤに基づいて駆動回路１０４を介して記録ヘッド１９を駆動し、記録ヘッド１９のノズルからインク滴が吐出されることで、印刷画像データＰＧＤに基づく１ラスタライン分の印字（記録）が行われる。
【００７７】
なお、記録ヘッド１９には、一ノズルにつき１個ずつ吐出駆動素子が内蔵され、吐出駆動素子が所定波形の印加電圧により駆動されることによりノズルからインク滴が吐出される。吐出駆動素子としては、圧電振動素子、静電駆動素子を採用できる他、インクを膜沸騰させてノズルに連通するインク流路内に発生した泡（バブル）の膨張によりノズルからインク滴を吐出する方式で使用されるインク加熱用のヒータを採用することもできる。
【００７８】
一方、ＥＳＣ／Ｐ解析部１０１はリモートモード移行コマンドＭＲがあると、リモートモードに移行し、リモートコマンドＲＣを解析対象として解析を行うとともに、解析したリモートコマンドＲＣを第２プリンタドライバ８９に送る。すなわち、ＥＳＣ／Ｐ解析部１０１は、リモートモードにおいてリモートコマンドＲＣを解析し、紙送り制御コマンドＰＦＣ、巻取制御コマンドＷＣＣを第２プリンタドライバ８９に送る。また、ＥＳＣ／Ｐ解析部１０１はリモートコマンドＲＣを解析し、測色モード移行コード「ＣＭ」があると、測色モードに移行して、測色駆動制御コマンドＣＭＤＣと測色制御コマンドＣＭＣを第２プリンタドライバ８９へ送る。
【００７９】
第２プリンタドライバ８９は、リモートコマンドに基づき新たなコマンドを生成し、この新たなコマンドを印刷データの形式で送信することで、測色器４１、測色駆動装置８０及び巻取り装置３０を制御する。ここで、第１プリンタドライバ１５１で生成されたリモートコマンドは、その値が論理座標系で指定されている。例えば紙送りコマンド「ＰＦ（Ｙ）」の値「Ｙ」は、論理座標計算部１５９により計算された用紙上の論理座標系の値として指定されている。そこで、ロール紙Ｒがプリンタ１０上の基準位置からずれても、ロール紙Ｒ上の論理座標で示された対応位置で正確に記録や測色を行うことができるように、第２プリンタドライバ８９は、論理座標系から実座標系に変換した値で指定したコマンドを生成する。
【００８０】
ここで、論理座標とは、ロール紙Ｒが搬送方向Ａにも紙幅方向にもずれないことを前提とする設定上の座標系であり、ロール紙Ｒの所定位置（本例では各ページの左上コーナー）を原点（０，０）（図９参照）として、カラーパッチＣＰの記録位置や測色位置などを座標で表現する座標系である。
【００８１】
これに対し、実座標系とは、実際のロール紙Ｒの位置は搬送方向Ａにも紙幅方向にも多少ずれることが前提で、ロール紙Ｒとは別の位置（基準位置）に原点をおき、カラーパッチＣＰの記録位置や測色位置などを表現する座標系である。よって、実座標系では、ロール紙Ｒのずれ量が考慮された座標値になるので、実座標系の値を指定したコマンドを生成すれば、ロール紙Ｒの位置ずれに関係なく、実際の記録位置や測色位置に精度よく一致するように制御対象（例えばロール紙Ｒや測色用キャリッジ５７、測色器４１等）の位置制御が可能になる。本実施形態では、実座標系の原点としては、搬送方向Ａには図１０（ａ）に示すようにロール紙Ｒの先端が記録ヘッド１９の設定基準位置（例えば最上流ノズル位置）に達したときの位置が原点「０」に採用され、一方、主走査方向Ｂ（紙幅方向）には測色用キャリッジ５７（又は測色器４１）のホーム位置（図１１参照）が原点に採用されている。
【００８２】
論理座標系の値から実座標系の値への変換は、ロール紙Ｒの搬送方向Ａにおける位置の計測値、及びロール紙Ｒの主走査方向Ｂ（紙幅方向）における位置の計測値を用いて行われる。そのため、本実施形態のプリンタ１０では、ロール紙Ｒの搬送方向Ａの位置及び主走査方向Ｂ（紙幅方向）の位置などの用紙位置情報を計測するようにしている。
【００８３】
次に第２プリンタドライバ８９でコマンドを生成する際に使用するロール紙Ｒの位置情報の取得方法について説明する。本実施形態では、ロール紙Ｒの位置情報として、ロール紙Ｒの搬送方向Ａの位置と、主走査方向Ｂの位置（ずれ量）と、主走査方向Ｂの用紙位置に対してその検出位置よりも搬送方向下流側に配置された測色器４１の位置における用紙位置のロール紙Ｒの斜行に起因する主走査方向Ｂのずれ量とを計測している。
【００８４】
まず、ロール紙Ｒの搬送方向Ａの位置の計測は、紙検出センサ１１０とエンコーダ１０９と紙送り制御部１１５内のカウンタ１１５Ａとを用いて行われる。図５に示すエンコーダ１０９は、ＰＦモータ１０８の回転を検出してその回転量に比例した数のパルスを有するエンコーダ信号を出力する。エンコーダ１０９は例えばＰＦモータ１０８の動力伝達経路上のギヤ輪列の回転軸の回転を検出することで間接的にＰＦモータ１０８の回転を検出する。紙検出センサ１１０は、ロール紙Ｒの搬送経路上の所定位置に位置し、ロール紙Ｒが給送される過程でその先端を検出する。
【００８５】
図１０は、ロール紙Ｒの搬送方向Ａの位置の計測方法を説明する模式側面図である。図１０に示すように、紙検出センサ１１０は、ロール紙Ｒの搬送経路上において搬送ローラ２１よりも少し搬送方向上流側位置（図１０では右側位置）に配置され、給送されたロール紙Ｒの先端を検出する。紙検出センサ１１０がロール紙Ｒの先端を検知すると、紙送り制御部１１５はカウンタ１１５Ａをリセットし、エンコーダ１０９からのエンコーダ信号のパルス数を計数する。その計数値からロール紙Ｒの先端が図１０（ａ）に示す記録ヘッド１９の設定基準位置（例えば最上流ノズル位置）に達すると、カウンタ１１５Ａをリセットし、ロール紙Ｒの原点を設定する。以後、この位置を原点としてエンコーダ１０９からのエンコーダ信号のパルス数を計数する。このとき、ＰＦモータ１０８の正転駆動時に計数値をインクリメントし、逆転駆動時に計数値をデクリメントすることで、カウンタ１１５Ａの計数値からロール紙Ｒの搬送方向Ａにおける実位置を把握できる。つまり、カウンタ１１５Ａの計数値は、ロール紙Ｒの先端を「０」としたときの設定基準位置（例えば最上流ノズル位置）におけるｙ座標の値を示すものとなる。
【００８６】
例えば測色用印刷画像を１ページ分すべて印刷終了した際に図１０（ｂ）に実線で示す位置にロール紙Ｒが配置されていると、このときのロール紙Ｒの実位置ｙは、カウンタ１１５Ａの計数値から、ｙ＝ｙｐとなる。カラーパッチＣＰを印刷した際のロール紙Ｒの実位置は、カラーパッチ印刷時のカウンタ１１５Ａの計数値をメモリ１０２の所定記憶領域に記憶することで保存されている。例えば印刷データ中のカラーパッチＣＰである旨の識別子からカラーパッチＣＰの印刷であることを把握したり、印刷画像データの画像解析によりカラーパッチを識別してその印刷時のカウンタ１１５Ａの計数値から位置を取得したりする。そして、測色器４１の搬送方向Ａにおける位置は予め設定されていて既知であるので、この測色器４１の位置と設定基準位置との距離のカウンタ計数値相当の値Ｌは既知である。よって、この値Ｌから、現在の用紙位置ｙpとカラーパッチＣＰの位置ｙcpの差（ｙp−ｙcp）を差し引けば、ロール紙Ｒを印刷終了位置（図１０（ｂ）における実線位置）から、カラーパッチＣＰが測色器４１により測色されうる測色位置（図１０（ｂ）における二点鎖線）まで搬送する際に必要な紙送り量Δｙ（＝Ｌ−ｙp＋ｙcp）が求められる。
【００８７】
次にロール紙Ｒの主走査方向Ｂ（紙幅方向）の位置、及びロール紙Ｒの斜行による測色位置（Ｘ方向）の紙幅方向のずれ量の計測方法について説明する。ロール紙Ｒの紙幅方向の位置やずれ量の計測は、紙幅センサ１１１とリニアエンコーダ１１２とキャリッジ制御部１１４内のカウンタ１１４Ａを用いて行われる。
【００８８】
図５に示す紙幅センサ１１１はキャリッジ１７に取着され、キャリッジ１７と一緒に主走査方向Ｂに移動してロール紙Ｒの紙幅方向両端位置を検出する。一方、リニアエンコーダ１１２は、キャリッジ１７の主走査方向Ｂへの移動量に比例する数のパルスを有するエンコーダ信号を出力する。キャリッジ制御部１１４は、キャリッジ１７がホーム位置に配置されたときにリセットしたカウンタ１１４Ａの計数値を、キャリッジ１７の往動時にインクリメントし、復動時にデクリメントすることで、カウンタ１１４Ａの計数値からキャリッジ１７の主走査方向Ｂの位置（実座標系の位置）を把握する。そして、制御部１０３は、キャリッジ制御部１１４に指示してキャリッジ１７を印刷中に定期的に主走査方向Ｂに移動させることで、紙幅センサ１１１によりロール紙Ｒの紙幅方向両端位置を検出する。紙幅センサ１１１がロール紙Ｒの紙幅方向両端位置を検出したときのカウンタ１１４Ａの計数値からロール紙Ｒの紙幅方向の位置、つまり紙幅方向の基準位置からのずれ量を把握する。例えばロール紙Ｒの紙幅方向（主走査方向Ｂ）の基準位置からのずれ量Δｘ1を用いて、ロール紙Ｒ上の各ページ内の相対位置（論理座標）で示された所定位置Ｘo（例えばパッチ記録位置）を、そのずれ量Δｘ1が加味された実座標系の位置ｘo（＝Ｘo＋Δｘ1）として座標変換する計算を行うことが可能となる。
【００８９】
また、印刷中に定期的に紙幅センサ１１１がロール紙Ｒの両端を検出したときの位置を、ロール紙Ｒの搬送方向に異なる二位置間で比較計算することで、ロール紙Ｒの斜行度合いを計測する。例えばロール紙Ｒの両端検出位置座標がｘrとｘlであれば、この平均を計算して、ロール紙Ｒの幅中心のｘ座標が求まる。そして、例えばロール紙Ｒの位置y1と位置y2のときのロール紙Ｒの幅中心のｘ座標x1，x2を用いて、斜行度合いＳｃは、Ｓｃ＝（x2−x1）／（y2−y1）により求められる。そして、紙幅センサ１１１と測色器４１のｙ方向の距離をＹLとすると、ロール紙Ｒの幅方向検出位置に対する測色器４１の位置におけるロール紙Ｒの斜行に起因する位置の紙幅方向のずれ量Δｘ2は、Δｘ2＝ＹL・Ｓｃにより求められる。そして、ロール紙Ｒの紙幅方向の基準位置からのずれ量Δｘ1とこのずれ量Δｘ2とを加えたずれ量Δｘ3（＝Δｘ1＋Δｘ2）が、測色器４１の位置におけるロール紙Ｒの紙幅方向のずれ量となる。例えばずれ量Δｘ3を用いて、ロール紙Ｒ上の各ページ内の相対位置（論理座標）で示された所定位置Ｘo（例えば測色位置）を、そのずれ量Δｘ3が加味された実座標系の位置ｘo（＝Ｘo＋Δｘ3）に座標変換する計算を行うことが可能となる。これらの計測値Δｘ1，Δｘ3は、第２プリンタドライバ８９で座標計算する際に使用される。
【００９０】
次に図５に示す第２プリンタドライバ８９が行う処理を詳細に説明する。第２プリンタドライバ８９は、ＥＳＣ／Ｐ解析部１０１からリモートコマンドＲＣを受け付ける。リモートコマンド解析部１１６は、リモートコマンドＲＣが論理座標系から実座標系への値の変換が必要なコマンドであるかどうかを解析する。本例では、リモートコマンド解析部１１６による解析の結果、紙送り制御コマンドＰＦＣ、巻取制御コマンドＷＣＣ、測色駆動制御コマンドＣＭＤＣ等が、論理座標系から実座標系への変換が必要なコマンドであると解析される。
【００９１】
コマンド生成部１１７は、リモートコマンド解析部１１６で座標変換が必要と解析された論理座標系の値が格納されたコマンドから、ロール紙Ｒのプリンタ１０に対する位置ずれ量分が加味された実座標系の値が格納されたコマンドを生成する。このコマンド生成に当たり、座標計算部１１８は、論理座標系の値を実座標系の値へ変換する計算を行う。つまり、前述した座標変換の計算を行う。コマンド生成部１１７は、第１プリンタドライバ１５１のコマンド生成部１６０と基本構成は同様であり、座標計算部１１８で算出された実座標系の値（測色位置や駆動量等）をコマンドの値として組み込んで、測色系及び巻取り系の制御コマンドを生成する。
【００９２】
座標計算部１１８は、用紙位置座標計算部１１８Ａ及びキャリッジ位置座標計算部１１８Ｂを備えている。用紙位置座標計算部１１８Ａは、紙送り制御コマンドや巻取制御コマンドのような用紙搬送系のコマンドで指定された論理座標系の値を、実座標系の値に変換する計算を行う。例えば用紙の測色位置までの紙送りを指示する紙送り制御コマンドで値として指定された搬送方向Ａの測色位置（測色を行う際の搬送方向Ａにおける用紙の位置）から、搬送方向Ａにおける実座標系の測色位置を計算する。
【００９３】
例えば紙送り制御コマンド「ＰＦ（Ｙo）」において論理座標系の値Ｙoを変換する場合、カウンタ１１５Ａの計数値で表現される実座標系の現在値ｙpreに対し、搬送方向Ａへの順送りであれば加算し、反搬送方向への逆送りであれば減算する計算を行って、論理座標系の値Ｙoを実座標系の値ｙo（＝ｙpre±Ｙo）に変換する。この場合、コマンド生成部１１７により実座標系の紙送り制御コマンドは「ＰＦ（ｙo）」として生成される。そして、紙送りを行ってカウンタ１１５Ａの計数値がｙoに達した位置で停止すれば、ロール紙Ｒは、論理座標で指定された値Ｙoの位置に配置される。また、巻取制御コマンド「ＰＷpre（Ｙo）」の論理座標系の値を実座標系の値へ変換する場合も同様であり、実座標系の巻取制御コマンド「ＰＷpre（ｙo）」として生成される。この場合、巻取制御は逆送りだけなので、実座標系の値ｙoは、ｙo＝ｙpre−Ｙoとなる。
【００９４】
また、キャリッジ位置座標計算部１１８Ｂは、測色用キャリッジ５７のＸ方向（パッチ列方向Ｃ）における測色位置（パッチ位置）までの動作を指示するコマンドでその動作位置（目標位置）を指定する論理座標系の値を、実座標系の値に変換する計算を行う。つまり、コマンドにおいて論理座標系で指定されたパッチ列方向Ｃの測色位置（測色を行うべき測色用キャリッジのＸ方向における位置）から、実座標系の測色位置を計算する。
【００９５】
例えば測色駆動制御コマンド「ＣＣＲ（Ｘo）」において論理座標系の値Ｘoを変換する場合、メモリ１０２の所定領域に記憶された前述のずれ量Δｘ3（＝紙幅方向のずれ量Δｘ1と斜行起因のずれ量Δｘ2の総和）を用いて、実座標系の値ｘo（＝Ｘo＋Δｘ3）を計算する。ここでΔｘ3は、Ｘ方向へずれているときにプラス、反Ｘ方向へずれているときにマイナスの値をとる。この場合、コマンド生成部１１７により実座標系の測色駆動制御コマンドは「ＣＣＲ（ｘo）」として生成される。そして、測色動作のために測色用キャリッジ５７を駆動しその位置を計測する後述のカウンタ１２５Ａの計数値が、値ｘoに達したときに停止させることで、測色用キャリッジ５７の動作位置を、Ｘ方向において測色器４１の測色光スポットが測色対象の単位パッチＤの中心部と一致するように位置決めすることができる。
【００９６】
また、本例の場合、印刷画像やカラーパッチＣＰの印刷位置を決める際にも、ヘッド制御部１１３が、紙幅センサ１１１の検出結果に基づき得られたロール紙Ｒの紙幅方向のずれ量Δｘ1を加味して、主走査方向Ｂにおける印刷位置の位置補正を行っている。よって、ロール紙Ｒが紙幅方向に位置ずれしても、ロール紙Ｒ上の相対位置で設定された論理座標どおりの位置に印刷画像やカラーパッチＣＰを印刷することができる。そして、この位置補正されたカラーパッチＣＰの印刷位置に合わせて、測色用キャリッジ５７のＸ方向における測色位置が、測色駆動制御コマンド「ＣＣＲ（Ｘo）」の論理座標系から実座標系への値の変換により補正されるので、印刷位置が調整された各単位パッチＤを測色する測色位置の位置精度を上げることができる。なお、紙幅センサ１１１と測色器４１との間の搬送方向Ａにおける距離が比較的短く斜行の影響を無視できる場合は、ずれ量Δｘ3に替えて、ずれ量Δｘ1を採用することもできる。
【００９７】
ここで、論理座標系から実座標系への変換前後での値の次元は異なってもよい。つまり、「位置→位置」、「駆動量→駆動量」、「搬送量→搬送量」のような同次元の変換でもよいし、「位置→駆動量」、「位置→駆動量」、「位置→搬送量」、これらの逆の変換などのような異なる次元への変換でもよい。
【００９８】
このように構成されたプリンタ１０のホスト通信部８１には、前述のようにハブ８５を介して測色器４１、測色駆動装置８０、巻取り装置３０の各デバイス通信部８２〜８４がＵＳＢケーブル８６〜８８を介して接続されている。
【００９９】
測色器４１は、デバイス通信部８３の他、コマンド解析部１２１、測色制御部１２２及び測色部１２３を備えている。なお、測色部１２３は、測色光を発光する発光部と、測色光がカラーパッチＣＰの各パッチＤで反射した反射光を受光する受光部とを有する。測色部１２３が取得した測色データ（測色結果）は、測色制御部１２２からＵＳＢ通信によりプリンタ１０に送られ、さらにホスト装置１５０の第１プリンタドライバ１５１に送信されるようになっている。
【０１００】
また、測色駆動装置８０は、デバイス通信部８４の他、ＥＳＣ／Ｐ解析部１２４、測色駆動制御部１２５、駆動回路１２６，１２７、紙押さえ用モータ７１、測色用キャリッジモータ６０及びエンコーダ１３０を備えている。測色駆動制御部１２５は制御コマンドに基づいて駆動回路１２６を介して紙押さえ用モータ７１を駆動制御して、押さえ部材４４による、ロール紙Ｒの保持／保持開放のための回動動作を行わせる。また、測色駆動制御部１２５は測色用キャリッジ５７の位置をエンコーダ１３０からのパルス数を計数するカウンタ１２５Ａの計数値から把握している。測色駆動制御部１２５は、ロール紙Ｒが測色位置に搬送された後、制御コマンドに基づいて駆動回路１２７を介して測色用キャリッジモータ６０を駆動して測色用キャリッジ５７を測色のための動作位置に移動させる。
【０１０１】
巻取り装置３０は、デバイス通信部８２の他、ＥＳＣ／Ｐ解析部１３１、巻取り制御部１３２、センサ１３３、駆動回路１３４及び巻取り用モータ３２を備えている。巻取り制御部１３２は、センサ１３３からロール紙Ｒの弛みを検知した信号を入力すると、駆動回路１３４を介して巻取り用モータ３２を正転駆動させるとともに、弛みが検知されなくなると巻取り用モータ３２の駆動を停止させる。これにより巻取り装置３０によるロール紙Ｒの巻き取りが行われる。また、巻取り制御部１３２は第２プリンタドライバ８９からの巻取制御コマンドに基づいて駆動回路１３４を介して巻取り用モータ３２を指定された駆動量だけ逆転駆動させる。これにより、巻取り装置３０は、ＰＦモータ１０８が逆転駆動されることにより搬送ローラ２１及び排紙ローラ２２の逆転を介して行われるロール紙Ｒのバックフィード（逆送）動作に同期してロール紙Ｒを繰り出す。
【０１０２】
図１１は、測色時の測色装置を示す模式平面図である。図１１に示すように、押さえ部材４４の長孔５６の下方に測色対象とされるカラーパッチＣＰは配置される。カラーパッチＣＰは、複数の単位パッチＤが配列されて構成されるパッチ列ＰＲと、パッチ列ＰＲの列方向両側に所定の距離を隔てて配置された開始位置マークＭＳと終了位置マークＭＥとを備えている。測色器４１がキャリブレーション手段４６のホワイトタイル４７の直上に位置する状態が、測色用キャリッジ５７のホーム位置となっている。測色時にはホーム位置を原点とする紙幅方向（主走査方向Ｂ）の座標（ｘ座標）として各単位パッチDの位置、すなわち移動体としての測色用キャリッジ５７の測色動作のための動作位置が計算される。このとき、第２プリンタドライバ８９は、カラーパッチＣＰを構成する各単位パッチＤの紙幅センサ１１１の位置における紙幅方向のずれ量Δｘ1だけでなく、記録位置に対する測色位置のロール紙Ｒの斜行に起因する紙幅方向のずれ量Δｘ2も考慮して、測色時における測色用キャリッジ５７の動作位置を計算する。
【０１０３】
図１２は、測色用キャリッジ５７による測色器４１の測色動作を説明する説明図である。測色方法には、図１２（ａ）に示す走査測色と、図１２（ｂ）に示すスポット測色とがある。図１２（ａ）に示す走査測色は、測色器４１を同図に矢印に示すように一定速度で移動させ、その移動中の測色器４１が測色点に達する度に測色データを取得する。この走査測色のときは、原則、各マークＭＳ，ＭＥが記録されるので、開始位置マークＭＳを検出した時の位置を起点とし、パッチ列長Ｌとパッチ数Ｎとから決まるパッチピッチ（＝Ｌ／Ｎ）分移動する度に得られる測色データをその時々の測色位置と対応付けてバッファに格納する。
【０１０４】
一方、図１２（ｂ）に示すスポット測色は、測色器４１を同図に矢印で示す方向に移動させて測色部１２３が単位パッチＤの中心部と対応する位置に達する度に停止させつつ、その停止の度に測色器４１の測色データを取得する。このスポット測色では、測色部１２３が各単位パッチＤの中心部を測色できる位置に測色器４１を停止させうる測色用キャリッジ５７の動作位置を計算する。この例では、測色用キャリッジ５７の動作位置は、ロール紙Ｒの紙幅方向のずれ量Δｘ分が加味された実座標系の値として、ホーム位置（原点「０」）側から順に、ｘ１，ｘ２，…，ｘｎとして算出される。もちろん、走査測色において、ホーム位置を原点とする各単位パッチＤの実座標系の位置を、ロール紙Ｒの紙幅方向のずれ量Δｘが加味された値として算出し、算出した各位置に測色器４１が達する度に測色データを取得する構成も採用できる。
【０１０５】
次に図５に示す第２プリンタドライバ８９が備えるリモートコマンド解析部１１６、コマンド生成部１１７及び座標計算部１１８の処理について詳細に説明する。
図５に示すリモートコマンド解析部１１６は、ＥＳＣ／Ｐ解析部１０１から送られたリモートコマンドを解析する。ここでの解析は、コマンド生成部１１７がコマンドを作り直す必要があるか否かの解析であり、作り直す必要があれば、論理座標系の値をもつコマンドを実座標系の値をもつコマンドに変換するために必要となる論理座標系の値など必要な情報の取得なども行う。
【０１０６】
座標計算部１１８は、用紙位置座標計算部１１８Ａとキャリッジ位置座標計算部１１８Ｂとを備えている。用紙位置座標計算部１１８Ａは、リモートコマンドＲＣ中に用紙上の論理座標系で示された値から、測色器４１がカラーパッチＣＰを測色できる搬送方向Ａにおけるロール紙Ｒの位置である測色位置、又は巻取り装置３０のバックフィード時の搬送量で示される用紙の実座標系の値に変換する計算を行う。例えば測色駆動制御コマンドＣＭＤＣに含まれる紙送りコマンド中に論理座標で示されたカラーパッチＣＰの搬送方向Ａの位置の値を、実座標系の値に変換し、搬送方向Ａに印刷終了時の終端位置にあるロール紙Ｒが、その実座標系の値で特定されるカラーパッチＣＰの位置が測色器４１に測色されうる測色位置に達するのに必要な搬送量を計算する。また、巻取制御コマンドＷＣＣ中に指定された次ページの印刷開始位置を示す論理座標系の値を、実座標系で示された値に変換し、その実座標系の値（印刷開始位置）が、記録ヘッド１９のノズルに対応する位置に達するまでに必要な搬送量を計算する。
【０１０７】
また、キャリッジ位置座標計算部１１８Ｂは、測色用キャリッジ５７が測色器４１の測色部１２３が単位パッチＤの中心部に対向する位置となるまで該測色用キャリッジ５７を動作させる動作位置（停止位置）のパッチ列方向Ｃにおける論理座標系で示された値を、実座標系の値に変換する計算を行う。
【０１０８】
ここで、紙送り制御部１１５内のカウンタ１１５Ａには、ロール紙Ｒの先端が設定基準位置に達したときを原点（図１０における「０」の位置）とする紙送り量の累積値が計数されている。用紙位置座標計算部１１８Ａは１ページ内の相対位置で示された搬送方向Ａの論理座標系の値を、ロール紙Ｒの先端を起点として複数ページに渡って累積された絶対位置（累積値）で表される実座標系の値に変換する。
【０１０９】
図８は、第２プリンタドライバによるコマンドの生成方法を示す説明図である。第２プリンタドライバ８９は、リモートコマンドＲＣを構成する紙送り制御コマンドＰＦＣ、巻取制御コマンドＷＣＣ、測色駆動制御コマンドＣＭＤＣ、測色制御コマンドＣＭＣを、各コマンドで指定された値を論理座標系から実座標系へ変換する処理を伴って新規なコマンドを生成する。図８（ａ）は紙送り制御コマンドの生成、同図（ｂ）は巻取制御コマンドの生成、同図（ｃ）は測色駆動制御コマンドの生成、同図（ｄ）は測色制御コマンドの生成をそれぞれ示す。
【０１１０】
図８（ａ）に示すように、第２プリンタドライバ８９が受け付ける論理座標系の紙送り制御コマンドＰＦＣｔは、論理座標系の値「Ｙ」が指定されて、例えば「ＰＦ（Ｙ）」で示されるとする。第２プリンタドライバ８９は、論理座標系の値「Ｙ」を座標変換して得た実座標系の値「ｙ」を格納して、「ＰＦ（ｙ）」で示される実座標系の紙送り制御コマンドＰＦＣｒを生成する。この紙送り制御コマンドＰＦＣｒ「ＰＦ（ｙ）」は、ロール紙Ｒを測色位置まで搬送する際のコマンドとして、第２プリンタドライバ８９から紙送り制御部１１５に送られる。
【０１１１】
また、図８（ｂ）に示すように、第２プリンタドライバ８９が受け付ける論理座標系の巻取制御コマンドＷＣＣｔは、対象機器が巻取り装置３０であることを示す機器コード「ＷＤ」と、論理座標系の値「Ｙ」が指定されて、例えば「ＰＷrev（Ｙ）」で示される巻取制御コマンドとから構成される。この巻取制御コマンドＷＣＣは、ロール紙Ｒをバックフィード（逆送）させるときに搬送ローラ２１の逆転駆動に同期させて巻取り装置３０を逆転駆動させるために用いられるコマンドである。用紙位置座標計算部１１８Ａが論理座標系の値「Ｙ」を実座標系の値「ｙ」に座標変換する計算を行う。コマンド生成部１１７が、この算出された実座標系の値「ｙ」を格納することで、「ＰＷrev（ｙ）」で示される実座標系の巻取制御コマンドを生成する。そして、これに機器コード「ＷＤ」と、巻取り装置３０との通信の確立を指令するコマンド「ComＷＤ」とを前に付して、巻取制御コマンドＷＣＣｒを生成する。そして、第２プリンタドライバ８９は、生成した巻取制御コマンドＷＣＣｒがリモート移行コード「ＭＲ」の次に格納されたＥＳＣ／Ｐ制御データを生成し、これをＵＳＢ通信を介して巻取り装置３０に転送する。
【０１１２】
図８（ｃ）に示すように、測色モード移行コード「ＭＣ」に続いて位置する論理座標系の測色駆動制御コマンドＣＭＤＣｔには、対象機器が測色駆動装置８０であることを示す機器コード「ＣＭＤ」、紙押さえコマンド「ＣＰＨ」、測色用キャリッジ駆動コマンド「ＣＣＲ（X1），ＣＣＲ（X2），…，ＣＣＲ（Xn）」が格納されている。そして、キャリッジ位置座標計算部１１８Ｂは、測色用キャリッジ駆動コマンドで指定されている論理座標系の値「Ｘ」を実座標系の値「ｘ」へ座標変換する計算を行って、その実座標系の値「ｘ」を用いて、実座標系の測色用キャリッジ駆動コマンド「ＣＣＲ（x1），ＣＣＲ（x2），…，ＣＣＲ（xn）」を生成する。さらに、これに機器コード「ＣＭＤ」と、測色駆動装置８０との通信の確立を指令するコマンド「ComＣＭＤ」とを前に付して、実座標系の測色駆動制御コマンドＣＭＤＣｒを生成する。そして、第２プリンタドライバ８９は、生成した測色駆動制御コマンドＣＭＤＣｒがリモート移行コード「ＭＲ」の次に格納されたＥＳＣ／Ｐ制御データを生成し、ＵＳＢ通信を介してこれを測色駆動装置８０に転送する。
【０１１３】
さらに、図８（ｄ）に示すように、測色モード移行コード「ＭＣ」の後に位置する論理座標系の測色制御コマンドＣＭＣｔには、対象機器が測色器４１であることを示す機器コード「ＣＭ」、測色制御コマンド「ＣＭ（Ｌ，Ｎ）」が格納されている。そして、コマンド生成部１１７は、測色器４１との通信の確立を指令するコマンド「ComＣＭ」を付して、測色器４１へ転送すべき実座標系の測色制御コマンドＣＭＣｒを生成する。そして、第２プリンタドライバ８９は、測色制御コマンドＣＭＣｒが格納されたリモートコマンドＲＣを含むＥＳＣ／Ｐ制御データを測色器４１に送信する。
【０１１４】
ここで、測色駆動装置８０と巻取り装置３０の各ＥＳＣ／Ｐ解析部１２４，１３１は、プリンタ１０内のＥＳＣ／Ｐ解析部１０１と基本的に同じ構成のものであり、本実施形態では、プリンタ１０内のＥＳＣ／Ｐ解析部１０１で使用されている回路基板（ボード）と同じものを、測色駆動装置８０及び巻取り装置３０にも実装している。
【０１１５】
測色駆動装置８０内のＥＳＣ／Ｐ解析部１２４は、受信したＥＳＣ／Ｐ制御データ（印刷データ）を解析し、測色駆動制御コマンドがあれば測色駆動制御部１２５に転送する。測色駆動制御部１２５は測色駆動コマンド中の紙押さえコマンドに基づき駆動回路１２６を介して紙押さえ用モータ７１を駆動制御し、一方、測色駆動制御コマンド中の測色用キャリッジ駆動コマンド（以下、「測色用ＣＲ駆動コマンド」という）に基づき駆動回路１２７を介して測色用キャリッジモータ６０を駆動制御する。
【０１１６】
次に、図１３のフローチャートに基づいてＥＳＣ／Ｐ解析部１０１及び第２プリンタドライバ８９の処理を説明する。なお、このフローチャートは、ソフトウェアによる処理に限らず、ハードウェアによる処理を含んでもよい。
【０１１７】
プリンタ１０はホスト装置１５０から印刷データＰＤ（ＥＳＣ／Ｐ制御データ）を取得すると、本処理を実行する。なお、印刷データＰＤは、ホスト装置１５０からのものに限定されず、例えばプリンタ１０がスタンドアロン型プリンタである場合には、メモリカード等の外部記憶媒体から読み込んだ画像データ（例えばＲＧＢ画像データやＪＰＥＧ画像データ）に基づいて内部で解像度変換処理（ＪＰＥＧ等の圧縮系画像の場合は解凍処理も含む）、色変換処理、ハーフトーン処理などを行って印刷データＰＤを取得しても構わない。
【０１１８】
まず、ステップＳ１０では、ＥＳＣ／Ｐ解析部１０１がＥＳＣ／Ｐ制御データについてＥＳＣ／Ｐ解析（コマンド解析）を行う。このとき、ＥＳＣ／Ｐ制御データＳＤ中の制御コードを順番に解析していきモード移行コードがあれば、そのコードで指定されたモードに移行する（つまり、モードに応じた解析モジュールを起動する）。そして、その移行先のモードで解析対象とされているコマンドの解析をする。例えばキャラクタモードに移行した場合、印刷制御コマンドＰＣＣを解析し、グラフィックモードに移行した場合は印刷画像データＰＧＤを解析し、さらにリモートモードに移行したときはリモートコマンドＲＣの解析を行う。このとき、移行先のモードで解析対象とされていないコマンドは読み捨てる。
【０１１９】
ステップＳ２０では、コマンド解析時のモードを判定する。モードがキャラクタモードであればステップＳ３０に進んで、印刷制御コマンドＰＣＣを制御部１０３へ転送する。一方、グラフィックモードであればステップＳ４０に進んで、印刷画像データＰＧＤをメモリ１０２（イメージバッファ）へ転送する。さらにリモートモードであればステップＳ５０に進んで、第２プリンタドライバ８９へリモートコマンドＲＣを転送する。
【０１２０】
印刷制御コマンドＰＣＣや印刷画像データＰＧＤが制御部１０３やメモリ１０２へ転送された場合は、ロール紙Ｒに印刷が施される。例えばユーザが入力装置１６２を操作して測色用の印刷画像及びカラーパッチをロール紙Ｒに印刷する指示を行った場合は、まずロール紙Ｒに印刷画像とカラーパッチの印刷が施される。このとき、まずロール紙Ｒを印刷開始位置へ頭出しすると、印刷の実行に先立ってキャリッジ１７が主走査方向に移動して紙幅センサ１１１によりロール紙Ｒの紙幅両端位置が検出された時のカウンタ１１４Ａの計数値に基づき、ロール紙Ｒの紙幅方向のずれ量が検出される。ヘッド制御部１１３は、ロール紙Ｒ上においてこのずれ量分だけ紙幅方向に位置補正した位置に印刷画像ＩＧやカラーパッチＣＰを印刷する。この結果、ロール紙Ｒが紙幅方向にずれていても、ロール紙Ｒには論理座標上の位置に印刷画像やカラーパッチの印刷が位置精度よく施される。印刷制御コマンド又は印刷画像データの受信後、測色制御用のリモートモード移行コード「ＭＲ」及びリモートコマンドＲＣが第２プリンタドライバ８９へ送られてくる。
【０１２１】
ステップＳ６０では、測色モードかつ測色器であるか否かを判断する。図７に示すように、先のＥＳＣ／Ｐ解析部１０１における解析では、リモートモードに移行後、リモートコマンドＲＣ中に測色モード移行コード「ＣＭ」があれば測色モードに移行する。そのときの測色モードにおけるコマンドの対象機器が「測色器」であれば、このステップＳ６０の判断結果は肯定判定となり、ステップＳ１２０に進むことなる。一方、測色モードでなく対象機器が測色器でもなければ、ステップＳ７０に進むことになる。例えば、測色モードかつ対象機器が測色駆動装置８０である場合（リモートコマンドＲＣが測色駆動制御コマンドＣＭＤＣの場合）と、測色モードではない場合（リモートコマンドＲＣが紙送り制御制御コマンドＰＦＣ、巻取制御コマンドＷＣＣの場合）はステップＳ７０に進む。
【０１２２】
ステップＳ７０では、座標計算部１１８による座標計算を行う。座標計算部１１８は、コマンド内で指定された論理座標系の値を、実座標系の値に変換する計算処理を行う。例えば図９に示す設定画面において、ユーザは入力装置１６２を操作して印刷画像ＩＧの選択及びレイアウトを行うとともに、カラーパッチＣＰの選択及びレイアウトを行う。第１プリンタドライバ１５１は、入力装置１６２で指定された印刷画像ＩＧやカラーパッチＣＰの位置座標（印刷位置座標）を、図９において用紙エリアの左上コーナを原点とする論理座標で取得し、論理座標系で示された位置や量を値とする制御コマンドを生成する。
【０１２３】
例えば走査測色（図１２（ａ））時と、スポット測色（図１２（ｂ））時との測色制御コマンドには、図８（ｄ）に示すようにカラーパッチＣＰのパッチ数Ｎとパッチ列長Ｌとが値として格納されている。
【０１２４】
キャリッジ位置座標計算部１１８Ｂは、スポット測色の場合、Ｎ個の単位パッチのパッチ列方向Ｃにおける論理座標で示された測色位置の値（X1，X2，…，Xn）から、測色用キャリッジ５７を停止させるべき実座標系の測色位置（x1，x2，…，xn）を計算する。このとき、キャリッジ制御部１１４が印刷処理中に定期的に紙幅センサ１１１によりロール紙Ｒの紙幅方向両端を検出させた検出結果に基づいて算出してメモリ１０２の所定記憶領域に格納しているロール紙Ｒの紙幅方向のずれ量Δｘを読み出す。本実施形態の場合、そのずれ量Δｘは、搬送方向Ａにキャリッジ１７（詳しくは紙幅センサ１１１）の位置におけるロール紙Ｒの紙幅方向のずれ量Δｘ1と、キャリッジ１７より搬送方向下流側に配置されている測色器４１の測色部１２３の位置において前記ずれ量Δｘ1で規定されるロール紙Ｒの紙幅方向の位置に対するロール紙Ｒの斜行に起因する紙幅方向のずれ量Δｘ2との総和として記憶されている。そして、実座標系の主走査方向Ｂの測色位置（x1，x2，…，xn）を、（x1，x2，…，xn）＝（X1＋Δｘ，X2＋Δｘ，…，Xn＋Δｘ）と算出する。なお、ずれ量Δｘは、論理座標系の値Ｘと実座標系の値ｘが等しくなるときのロール紙Ｒの紙幅方向の位置（基準位置）をずれ量Δｘ＝０として表される値であって、この基準位置に対して反ホーム位置側にずれているときにΔｘ＞０の値をとり、ホーム位置側にずれているときにΔｘ＜０の値をとる。
【０１２５】
また、用紙位置座標計算部１１８Ａは、ロール紙Ｒの測色時の目標搬送位置である論理座標系の測色位置（Y1，Y2，…，Ym）から、実座標系の測色位置（y1，y2，…，ym）を計算する。例えば搬送方向ＡにM列（図９の例で２列）のパッチ列があって、各パッチ列の搬送方向Ａにおける論理座標系の測色位置を（Y1，Y2，…，Ym）とする。ここで、本例の場合、測色位置（Y1，Y2，…，Ym）は、各測色位置へ搬送する直前の用紙位置からの搬送量に相当する値で示されている。また、ロール紙Ｒの搬送方向Ａにおける実位置は、紙送り制御部１１５内のカウンタ１１５Ａの計数値で示される。測色位置へ搬送する直前の用紙位置の計数値をｙcntとすると、搬送方向Ａにおける実座標系の測色位置ｙは、ｙ＝ｙcnt＋Ｙとして計算される。
【０１２６】
ステップＳ８０では、実座標系の値を用いてリモートコマンドを生成する。例えばロール紙Ｒを測色位置まで搬送する場合、図８（ａ）に示す論理座標系の紙送り制御コマンドＰＦＣｔの論理座標「Ｙ」を座標変換して得た実座標系の「ｙ」を用いて、「ＰＦ（ｙ）」で示される実座標系の紙送り制御コマンドＰＦＣｒを生成する。
【０１２７】
また、測色用キャリッジ５７を駆動させて測色器４１による例えばスポット測色を行うときには、キャリッジ位置座標計算部１１８Ｂが、図８（ｃ）に示す論理座標系の測色駆動制御コマンドＣＭＤＣに格納されている測色用ＣＲ駆動コマンド「ＣＣＲ（X1），ＣＣＲ（X2），…，ＣＣＲ（Xn）」中の論理座標系の値（X1，X2，…，Xn）から、座標変換の計算を行って実座標系の値（x1，x2，…，xn）を取得する。そして、コマンド生成部１１７は、この実座標系の値（x1，x2，…，xn）を格納するこで、実座標系の測色用キャリッジ駆動コマンド「ＣＣＲ（x1），ＣＣＲ（x2），…，ＣＣＲ（xn）」で示される論理座標系の測色用ＣＲ駆動コマンドを生成する。
【０１２８】
さらに、測色終了後にロール紙Ｒをバックフィードに同期させて巻取り装置３０を逆転駆動させる場合、コマンド生成部１１７は、用紙位置座標計算部１１８Ａが図８（ｂ）に示す巻取制御コマンドＷＣＣｔ中の論理座標系の値Ｙを座標変換して得た実座標系の値ｙを格納することで「ＰＷrev（ｙ）」で示される巻取制御コマンドＷＣＣｒを生成する。
【０１２９】
ステップＳ９０では、紙送りコマンドであるか否かを判断する。紙送りコマンドであれば、ステップＳ１００に進んで紙送り制御部１１５へコマンドを転送する。一方、紙送りコマンドでなかった場合は、ステップＳ１１０に進む。
【０１３０】
ステップＳ１１０では、ＥＳＣ／Ｐ制御データを生成する。コマンド生成部１１７は、コマンド生成（Ｓ８０）後、巻取り装置３０及び測色駆動装置８０へ転送すべきコマンド（巻取制御コマンドと測色駆動制御コマンド）については、ＥＳＣ／Ｐ制御データの形式とする。
【０１３１】
例えば図８（ｂ）に示す巻取制御コマンドＷＣＣｒの場合、ジョブ開始コマンド「ＪＳ」とジョブ終了コマンド「ＪＥ」間に配置されたリモートモード移行コード「ＲＭ」とリモートモード終了コマンド「ＲＭＥ」間に、巻取制御コマンドＷＣＣｒを格納することで、ＥＳＣ／Ｐ制御データ（印刷データ）を生成する。
【０１３２】
また、図８（ｃ）に示す測色駆動制御コマンドＣＭＤＣｒの場合、ジョブ開始コマンド「ＪＳ」とジョブ終了コマンド「ＪＥ」間に配置されたリモートモード移行コード「ＲＭ」とリモートモード終了コード「ＲＭＥ」間に、さらに測色モード移行コード「ＭＣ」と測色モード終了コード「ＭＣＥ」が配置され、その間に測色駆動制御コマンドＣＭＤＣｒを格納することで、ＥＳＣ／Ｐ制御データを生成する。
【０１３３】
一方、Ｓ６０の判断で、測色モードかつ測色器であった場合（つまり機器コードが測色器である場合）は、ステップＳ１２０で、測色コマンドを生成する。図８（ｄ）に示すように、測色器４１との通信の確立を指令するコマンド「ComＣＭ」を付して、測色制御コマンドＣＭＣｒを生成する。
【０１３４】
そして、ステップＳ１３０では、対象装置（対象機器）を判断する。すなわち、ＥＳＣ／Ｐ制御データ中の機器コードから対象装置を判断する。対象装置が測色駆動装置８０であれば、ステップＳ１４０に進んで、測色駆動装置８０との通信を確立してＥＳＣ／Ｐ制御データを測色駆動装置８０に転送する。また、対象装置が測色器４１であれば、ステップＳ１５０に進んで、測色器４１との通信を確立して測色制御コマンドＣＭＣｒを測色器４１に転送する。さらに、対象装置が巻取り装置３０であれば、ステップＳ１６０に進んで、巻取り装置３０との通信を確立してＥＳＣ／Ｐ制御データを巻取り装置３０に転送する。
【０１３５】
このとき、対象装置との通信の確立は、第２プリンタドライバ８９からの指示に従ってホスト通信部８１が行う。測色駆動装置８０と巻取り装置３０との通信を確立する際は、ＵＳＢホスト８１Ａからの機器クラス（例えばデバイスＩＤ）の要求に対して、測色駆動装置８０と巻取り装置３０のＵＳＢデバイス８２Ａ，８４Ａは「プリンタクラス」である旨（プリンタのデバイスＩＤ）の応答をする。この結果、ＵＳＢの論理チャネルが接続される。このため、通信相手がプリンタであることを前提に作られている既存のプリンタドライバの少なくとも一部を利用してオプション機器を制御するための第２プリンタドライバ８９を構成した本実施形態において、プリンタ１０からＵＳＢ通信を介してオプション機器へＥＳＣ／Ｐ制御データを転送することができる。なお、本例では、測色用ＣＲ駆動コマンドＣＣＲ（x1），…，ＣＣＲ（xn）が、動作位置決定手段が決定する動作位置に相当する。また、測色用ＣＲ駆動コマンドＣＣＲ（x1），…，ＣＣＲ（xn）を生成するコマンド生成部１１７が動作位置決定手段に相当する。
【０１３６】
次に測色処理の一連の流れを、図１４のトランザクション図に従って説明する。
まずホスト装置１５０（つまり第１プリンタドライバ１５１）からプリンタ１０に対して印刷データが送られて印刷が指示される。例えばイメージ画像とカラーパッチを印刷するための印刷データが送信される。プリンタ１０は印刷データに基づいてロール紙Ｒに印刷画像ＩＧとカラーパッチＣＰの印刷を行う。
【０１３７】
次にホスト装置１５０は測色指示を行う。プリンタ１０はホスト装置１５０から受信した測色指示データを、測色器４１へ転送する。その結果、測色器４１では初期化処理や測色条件等の設定が行われる。続いてプリンタ１０はＰＦ駆動（ＰＦモータ１０８の駆動）によりロール紙Ｒを搬送方向Ａにおける測色位置に位置合わせする。そして、プリンタ１０は測色駆動装置８０に紙押さえを指示するとともに続いて測色用キャリッジ５７の列方向Ｃ（主走査方向Ｂ）への位置合わせを指示する。
【０１３８】
このときプリンタ１０からはＵＳＢ通信で実座標系の値が格納された測色用ＣＲ駆動コマンドＣＣＲ（x1），…，ＣＣＲ（xn）で指示されるので、例えばスポット測色時には、ロール紙Ｒの紙幅方向のずれ量Δｘ分が補正された動作位置に測色用キャリッジ５７が位置制御されるので、測色器４１の測色部１２３が用紙上の論理座標どおりの位置に記録された各単位パッチＤの中心部に対向する位置に測色用キャリッジ５７を停止させることができる。
【０１３９】
そして、測色用キャリッジ５７が各動作位置に停止する度に測色器４１が測色を実行する。このとき、第２プリンタドライバ８９は測色駆動装置８０のエンコーダ１３０の出力信号に基づきカウンタ１２５Ａに計数されている測色用キャリッジ５７の位置情報を測色駆動装置８０から逐次受信し、測色用キャリッジ５７の動作位置と測色器４１の測色位置とが同期するように制御を行う。１列のカラーパッチＣＰの測色を終了する度に測色用キャリッジ５７はホーム位置に戻り、押さえ部材４４の押さえを解除し、次に測色すべきカラーパッチＣＰがあれば、次の測色位置までロール紙Ｒを搬送する。以下、全てのカラーパッチＣＰの測色を終えるまで同様の処理動作を繰り返す。
【０１４０】
その間、ホスト装置１５０からの測色進捗要求を逐次受け付けており、プリンタ１０は測色駆動装置８０の終了を監視して終了の応答を受け付けると、ホスト装置１５０に測色終了の旨を通知する。測色終了の通知を受け付けたホスト装置１５０は、プリンタ１０に測色結果を要求する。すると、プリンタ１０は測色器４１に対して測色結果要求を送る。測色結果要求を受け付けた測色器４１は測色結果（測色データ）を、プリンタ１０を経由してホスト装置１５０に送る。ホスト装置１５０は測色結果を受け付けると、用紙位置合わせ指示をプリンタに送り、プリンタ１０はその指示に従ってＰＦ逆転（ＰＦモータ１０８の逆転駆動）させて用紙位置合わせ（バックフィード）を行うとともに、これに同期させて逆転指示を巻取り装置３０に送る。その結果、巻取り装置３０はＰＦ逆転に同期して逆転駆動されるので、ロール紙Ｒが所定位置まで逆送りされる。例えば、ロール紙Ｒは次ページの印刷開始位置に配置される。なお、ホスト装置１５０では、測色結果に基づいて印刷された色の適切性を判定し、例えば印刷時の色条件が決められる。
【０１４１】
以上、詳述したように本実施形態によれば、次の効果が得られる。
（１）紙幅センサ１１１の検出結果に基づきロール紙Ｒの紙幅方向の基準位置からのずれ量Δｘ3を取得してメモリ１０２に記憶した。そして、このずれ量Δｘ3を用いて、論理座標系の値から、ロール紙Ｒの紙幅方向のずれ量分が加味された実座標系の値に変換し、その実座標系の値で指定したコマンドを含む第二制御データに基づいて第二機器である測色装置４０の測色用キャリッジ５７（移動体）の動作位置を制御した。よって、ロール紙Ｒが紙幅方向にずれても、そのロール紙Ｒ上の論理座標どおりの位置に記録されたカラーパッチＣＰの各単位パッチＤを正確に測色することができる。
【０１４２】
（２）ロール紙Ｒの紙幅方向のずれ量Δｘ1と、ロール紙Ｒの斜行に起因する紙幅方向のずれ量Δｘ2との総和からなるずれ量Δｘ3を用いて、このずれ量Δｘ3が加味された実座標系の値として測色装置４０の測色用キャリッジ５７の動作位置を決める値を指定した第二制御データを生成した。よって、紙幅センサ１１１と測色用キャリッジ５７とが搬送方向に異なる位置に配置されていても、測色用キャリッジ５７の動作位置を単位パッチＤに位置精度よく制御でき、測色装置４０による測色精度を高めることができる。
【０１４３】
（３）プリンタ１０のオプション機器である測色駆動装置８０と巻取り装置３０にプリンタクラスを設定したので、印刷コマンドであるＥＳＣ／Ｐ制御データをプリンタ１０からオプション機器へ送信する際にＵＳＢ通信を確立できる。よって、ＥＳＣ／Ｐ制御データのリモートコマンドを利用してオプション機器を駆動制御することができる。
【０１４４】
（４）ＥＳＣ／Ｐ制御データを用いてオプション機器を駆動制御できるので、第２プリンタドライバ８９を、既存の第１プリンタドライバ１５１を利用して構築でき、しかも、オプション機器内のＥＳＣ／Ｐ解析部を、既存のＥＳＣ／Ｐ解析部を利用して構築することができる。例えば既存のＥＳＣ／Ｐ解析部用の回路基板を、オプション機器に実装するだけでＥＳＣ／Ｐ解析部を構築でき、専用の解析部を新規に開発・製造する必要がないので、プリンタシステム１００を短期間で開発・製造することができる。
【０１４５】
（５）巻取り装置３０をバックフィードに同期させて逆回転駆動させるので、測色終了後に測色位置から次ページの印刷開始位置にロール紙Ｒを戻すことができる。よって、オプション機器として巻取り装置３０を装備した場合でも、ＥＳＣ／Ｐ制御データを利用して巻取り装置３０を逆転駆動させることで、簡単な構成で巻取り装置３０の制御を行うことができる。
【０１４６】
（６）従来、プリンタ側で得られるロール紙Ｒの位置ずれ情報に基づきコマンドを生成し直すためには、その位置ずれ情報を、ホスト装置のプリンタドライバに一旦送信し、プリンタドライバで位置ずれ情報を用いて実座標系のコマンドを生成してから、それをプリンタ１０が受信する構成をとる必要があった。これに対し、本実施形態では、プリンタ１０がプリンタドライバ機能を有する第２プリンタドライバ８９を内蔵するので、プリンタ１０側で得られた位置ずれ情報をホスト装置１５０に送ることなく、プリンタ内部で実座標系のコマンドを生成することができる。そして、コマンドを生成するだけでなく、その生成したコマンドを第二機器である測色駆動装置８０に送信する場合に、そのコマンドをリモートコマンドＲＣとして組み込まれた印刷データ（ＥＳＣ／Ｐ制御データ）を生成し、プリンタドライバ機能（通信機能）を利用して印刷データとして測色駆動装置８０に送信する。この場合、コマンドの値の座標系を変換する構成なので、印刷用のコマンド（リモートコマンド）をそのまま利用できる。よって、ホスト装置１５０へ位置ずれ情報を送信するデータのやり取りに起因する第二機器の動作遅れが発生しにくいうえ、プリンタドライバ機能と、印刷用のＥＳＣ／Ｐ解析部とをそれぞれプリンタ１０と測色駆動装置８０（第二機器）に組み込むだけの簡単な構成で、プリンタシステム１００（電子機器システム）を構成することができる。
【０１４７】
なお、実施の形態は、上記に限定されるものではなく、以下のように変更してもよい。
（変形例１）前記実施形態では、ずれ量Δｘをメモリ１０２に記憶しておき、ずれ量Δｘを用いて座標変換計算を行ったが、これに限定されない。例えばオブジェクトとしてのカラーパッチＣＰを構成する各単位パッチＤの記録位置を記憶しておき、記憶した単位パッチの記録位置に合わせるように移動体として測色用キャリッジ５７の動作位置を決定する構成でもよい。この場合、単位パッチＤの記録位置は、単位パッチ印刷時におけるキャリッジ１７の位置を示すカウンタ１１４Ａの計数値に基づき算出される記録位置を記憶すればよい。記録ヘッド１９のインク吐出時の位置からインク滴がターゲット（ロール紙Ｒ）上に着弾した位置を、キャリッジ速度と、インク飛翔速度（記憶済み実験値）と、記録ヘッド１９とターゲット間の距離とを用いて計算する。この単位パッチの記録位置は、検出手段としての紙幅センサ１１１の検出結果に基づいてロール紙Ｒの紙幅方向のずれ量が補正された用紙上の位置になっている。そして、第２プリンタドライバ８９のキャリッジ位置座標計算部１１８Ｂ（動作位置決定手段）は、記憶手段としてのメモリ１０２から単位パッチＤの位置（詳しくは中心位置）が測色部１２３に一致する位置を測色用キャリッジ５７の動作位置として計算する。
【０１４８】
（変形例２）前記実施形態では測色器は記録ヘッドよりも搬送方向下流側に配置されていたが、第二機器の配置位置はこれに限定されない。例えば第二機器が記録ヘッドに対し搬送方向上流側に配置されていても構わない。この場合、ターゲットの斜行の方向に対する紙幅方向の位置のずれる方向が前記実施形態と逆になる。
【０１４９】
（変形例３）前記実施形態では、ターゲットの搬送方向と交差する第一方向（一例として主走査方向Ｂ（紙幅方向））の位置ずれと、ターゲットの斜行による第一方向の位置ずれとを含む位置を検出する構成としたが、いずれか一方の位置ずれのみを含む位置を検出する構成でもよい。
【０１５０】
（変形例４）第二機器は、測色装置に限定されない。オブジェクトの色以外の測定内容を測定する測定装置でもよい。例えば明度でもよい。また、ドットずれなど印刷結果の良否を判定するために用いられる測定内容でもよい。さらに測定対象は印刷済みオブジェクトに限定されない。
【０１５１】
（変形例５）第一機器は、前記ターゲットに施す処理として記録（印刷）を行うプリンタに限定されない。第一機器がターゲットに施す処理は、例えばターゲットとしての基板にエッチングやレーザー加工により施す加工処理でもよい。この場合は、第二機器が施す処理は、第一機器による加工位置に重なる位置あるいは所定位置関係を満たす位置に施す第二加工、あるいは第一機器による加工の測定（加工精度の測定等）などが挙げられる。また、第一機器がターゲット上で第二機器が処理を施すのに適切な位置を検出する処理を行い、第二機器が第一機器により検出された位置に処理を施す構成でもよい。
【０１５２】
（変形例６）前記実施形態では、検出手段は第一機器であるプリンタ側に設けられていたが、第二機器側に検出手段が設けられていてもよい。この場合、検出手段の検出結果は第二機器から第一機器へ送信され、第一機器の制御データ生成手段は、その受信した検出結果に基づいて第一座標系から第二座標系へ変換した値で指定する第二制御データを生成する構成とする。
【０１５３】
（変形例７）プリンタ１０から測色駆動装置８０へのコマンドの送信は、印刷データ（ＥＳＣ／Ｐ制御データ）を利用する方法に限定されない。他の通信プロトコルを用いた通信により第二機器を動作位置に制御するコマンドを第一機器から第二機器に送信してもよい。
【０１５４】
（変形例８）プリンタ１０はホスト装置と接続されることに限定されない。例えばプリンタが内部に画像データ（例えばＲＧＢ系画像データ）から印刷データを生成するプリンタドライバを内蔵し、第一制御データをプリンタ内蔵のプリンタドライバにより生成して取得する構成でもよい。また、プリンタの操作パネルから入力された測色条件に基づいてプリンタ内部の測色ドライバが測色制御コマンドを生成する構成とする。この場合も、オプション機器がプリンタクラスである旨を宣言（応答）するように設定しておくことで、プリンタ１０側のＵＳＢホスト８１Ａが測色駆動装置８０及び巻取り装置３０の各ＵＳＢデバイス８２Ａ，８４Ａと通信を確立でき、第２プリンタドライバ８９が生成した印刷データをプリンタからオプション機器である測色駆動装置８０及び巻取り装置３０に送信できることから、印刷用コマンドを用いて、測色駆動装置８０及び巻取り装置３０を制御できる。このため、既存のプリンタドライバが有する本来プリンタ用のモータ制御機能を利用して、測色駆動装置８０及び巻取り装置３０の駆動のための専用ドライバを別途開発する手間を省くことができる。従って、ドライバ開発コスト及びドライバ開発に要する期間を短縮できる。
【０１５５】
（変形例９）ロール紙Ｒのずれ量を求めるために設けていたセンサ（前記実施形態では紙幅センサ１１１）は無くしてもよい。例えば紙幅方向のずれ量をプリンタ１０の入力操作部から入力してもよい。
【０１５６】
（変形例１０）サブ機器は、巻取り装置３０のみでも、測色装置４０のみでもよい。
（変形例１１）サブ機器は、巻取り装置３０や測色装置４０などのオプション機器に限定されない。サブ機器（オプション機器）は、例えば印刷結果をカメラで撮像しその撮像した画像の画像処理を行うことで印刷結果の良し悪しを判定する判定装置（印刷画像検査装置）や、記録ヘッド１９のノズルの目詰まりを検査するノズル検査装置や、ターゲットにおける印刷後のインクを乾燥する乾燥装置であってもよい。
【０１５７】
（変形例１２）特定コマンドは印刷コマンドに限定されない。例えば第一機器がプリンタ以外の機器である場合は、その第一機器の機器で標準として使用されている標準コマンドでもよい。
【０１５８】
（変形例１３）前記実施形態では、第一機器としてのプリンタとして、インクジェット記録方式のシリアルプリンタに適用したが、インクジェット記録方式のラインプリンタに適用してもよい。
【０１５９】
（変形例１４）前記実施形態では、第一機器として、流体吐出装置としてのインクジェット式のプリンタ１０に具体化したが、この限りではなく、インク以外の他の流体（液体や、機能材料の粒子が液体に分散又は混合されてなる液状体、ゲルのような流状体、流体として流して吐出できる固体を含む）を吐出したりする流体吐出装置に具体化することもできる。例えば、液晶ディスプレイ、ＥＬ（エレクトロルミネッセンス）ディスプレイ及び面発光ディスプレイの製造などに用いられる電極材や色材（画素材料）などの材料を分散または溶解のかたちで含む液状体を吐出する液状体吐出装置、バイオチップ製造に用いられる生体有機物を吐出する液体吐出装置、精密ピペットとして用いられ試料となる液体を吐出する液体吐出装置であってもよい。さらに、時計やカメラ等の精密機械にピンポイントで潤滑油を吐出する液体吐出装置、光通信素子等に用いられる微小半球レンズ（光学レンズ）などを形成するために紫外線硬化樹脂等の透明樹脂液を基板上に吐出する液体吐出装置、基板などをエッチングするために酸又はアルカリ等のエッチング液を吐出する液体吐出装置、ゲル（例えば物理ゲル）などの流状体を吐出する流状体吐出装置、トナーなどの粉体（粉粒体）を例とする固体を吐出する粉粒体吐出装置（例えばトナージェット式記録装置）であってもよい。そして、これらのうちいずれか一種の流体吐出装置に本発明を適用することができる。なお、本明細書において「流体」とは、気体のみからなる流体を含まない概念であり、流体には、例えば液体（無機溶剤、有機溶剤、溶液、液状樹脂、液状金属（金属融液）等を含む）、液状体、流状体、粉粒体（粒体、粉体を含む）などが含まれる。また、上記基板や精密機械等がターゲットとなる。
【図面の簡単な説明】
【０１６０】
【図１】一実施形態におけるプリンタシステムの概略斜視図。
【図２】プリンタシステムの模式側断面。
【図３】測色装置の斜視図。
【図４】印刷システムの主に通信に係るブロック図。
【図５】印刷システムの電気的構成を示すブロック図。
【図６】通信スタックの階層構造を示す模式図。
【図７】ＥＳＣ／Ｐ制御データ（印刷データ）を示すデータ構造図。
【図８】（ａ）〜（ｄ）コマンド生成について説明するデータ構造図。
【図９】測色用の設定画面を示す模式図。
【図１０】（ａ）（ｂ）ロール紙の位置の計測を説明する模式側面図。
【図１１】測色装置の一部を示す模式平面図。
【図１２】（ａ）走査測色、（ｂ）スポット測色を示す模式平面図。
【図１３】プリンタのＥＳＣ／Ｐ解析部及び第２プリンタドライバの制御内容を示すフローチャート。
【図１４】測色処理を示すトランザクション図。
【符号の説明】
【０１６１】
１０…第一機器としてのプリンタ、１７…処理手段を構成するキャリッジ、１９…処理手段を構成するとともに記録手段としての記録ヘッド、２１…処理手段を構成するとともに搬送手段を構成する搬送ローラ、２２…処理手段を構成するとともに搬送手段を構成する排紙ローラ、３０…第二機器としての巻取り装置、３２…巻取り用モータ、４０…測色装置、４１…測色器、１５７…データ格納部、４４…押さえ部材、５７…移動体としての測色用キャリッジ、６０…駆動手段としての測色用キャリッジモータ、７１…紙押さえ用モータ、７４…制御データ取得手段を構成する通信部、８０…第二機器としての測色駆動装置、８１…第一通信手段としてのホスト通信部、８１Ａ…ＵＳＢホスト、８２…第二通信手段としてのデバイス通信部、８４…デバイス通信部、８２Ａ，８４Ａ…ＵＳＢデバイス、８９…制御データ生成手段としての第２プリンタドライバ、１００…電子機器システムを構成するプリンタシステム、１０１…ＥＳＣ／Ｐ解析部、１０２…記憶手段としてのメモリ、１０３…処理手段を構成する制御部、１０８…搬送手段を構成するＰＦモータ、１１０…紙検出センサ、１１１…検出手段を構成する紙幅センサ、１１２…検出手段を構成するリニアエンコーダ、１１３…記録位置補正手段としてのヘッド制御部、１１４…キャリッジ制御部、１１４Ａ…検出手段を構成するカウンタ、１１５…紙送り制御部、１１５Ａ…カウンタ、１１６…リモートコマンド解析部、１１７…コマンド生成手段としてのコマンド生成部、１１８…座標計算部、１１８Ａ…用紙位置座標計算部、１１８Ｂ…キャリッジ位置座標計算部、１２４…解析部としてのＥＳＣ／Ｐ解析部、１２５…制御手段としての測色駆動制御部、１２５Ａ…カウンタ、１３１…ＥＳＣ／Ｐ解析部、１５０…ホスト装置、１５１…第１プリンタドライバ、１５２…通信部、１５３…測色ドライバ、１５５…印刷データ生成部、１５６…ホスト制御部、１５９…論理座標計算部、１６０…コマンド生成部、１６１…画像データ処理部、１６２…入力操作手段としての入力装置、２００…印刷システム、Ｒ…ターゲット（記録媒体）としてのロール紙。
【図１】
0005131463.tif 000002
【図２】
0005131463.tif 000003
【図３】
0005131463.tif 000004
【図４】
0005131463.tif 000005
【図５】
0005131463.tif 000006
【図６】
0005131463.tif 000007
【図７】
0005131463.tif 000008
【図８】
0005131463.tif 000009
【図９】
0005131463.tif 000010
【図１０】
0005131463.tif 000011
【図１１】
0005131463.tif 000012
【図１２】
0005131463.tif 000013
【図１３】
0005131463.tif 000014
【図１４】
0005131463.tif 000015