(57)【要約】【課題】必要の無い場合には、同期処理を行わないようにすることにより、印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまでの待ち時間を短縮する。【解決手段】受信した印刷ジョブに含まれるコマンド及び印刷データに対して、コマンドの解析と印刷データの展開を行って、メカ動作命令を生成するコマンド解析・データ展開部１０と、メカ動作命令により印刷メカの動作を制御するメカ制御部３０と、コマンド解析・データ展開部１０とメカ制御部３０との間で、実行中のメカ動作が完了するまで次のコマンドの実行を待機させる同期処理の制御を行うインタフェース部２０と、を備える。【選択図】図１
2010105284.tif 000002
【特許請求の範囲】
【請求項１】
受信した印刷ジョブに含まれるコマンド及び印刷データに対して、前記コマンドの解析と前記印刷データの展開を行って、メカ動作命令を生成するコマンド解析・データ展開部と、
メカ動作命令により印刷メカの動作を制御するメカ制御部と、
前記コマンド解析・データ展開部と前記メカ制御部との間で、実行中のメカ動作が完了するまで次のコマンドの実行を待機させる同期処理の制御を行うインタフェース部と、
を備え、
コマンド解析・データ展開部は、前記コマンドに対して、予め定義したテーブルを参照して、同期処理を行うか否か、同期処理を行う場合には前記コマンドが、メカ動作を全て実行済みとした状態を保証しなければならない全同期レベルか、あるいは紙送り・印刷に係るメカ動作を全て実行済みとした状態を保証しなければならない紙送り・印刷同期レベルかを決定し、同期命令として前記インタフェース部に通知する同期タイミング・レベル決定部を有し、
前記インタフェース部は、
前記コマンド解析・データ展開部から送信されたメカ動作命令が、紙送り・印刷の実行を伴うメカ動作命令であるか否かを判定する紙送り・印刷実行監視部と、
前記コマンド解析・データ展開部から通知された同期命令の同期レベルが、全同期レベルである場合は同期必要と判定し、紙送り・印刷同期レベルである場合は印刷実行監視部の判定により紙送り・印刷の実行を伴うメカ動作命令が直前に実行されたと判定された場合のみ同期必要と判定する同期必要性判定部と、
を有することを特徴とするインクジェットプリンタ。
【請求項２】
前記紙送り・印刷同期レベルのコマンドには、ページ設定コマンドが含まれることを特徴とする請求項１に記載のインクジェットプリンタ。
【請求項３】
受信した印刷ジョブに含まれるコマンド及び印刷データに対して、前記コマンドの解析と前記印刷データの展開を行って、メカ動作命令を生成するコマンド解析・データ展開部と、
メカ動作命令により印刷メカの動作を制御するメカ制御部と、
前記コマンド解析・データ展開部と前記メカ制御部との間で、実行中のメカ動作が完了するまで次のコマンドの実行を待機させる同期処理の制御を行うインタフェース部と、
を備えるインクジェットプリンタの同期処理制御方法であって、
前記コマンド解析・データ展開部において、前記コマンドに対して、予め定義したテーブルを参照して、同期処理を行うか否か、同期処理を行う場合には前記コマンドが、メカ動作を全て実行済みとした状態を保証しなければならない全同期レベルか、あるいは紙送り・印刷に係るメカ動作を全て実行済みとした状態を保証しなければならない紙送り・印刷同期レベルかを決定し、全同期レベルの同期命令あるいは紙送り・印刷同期レベルの同期命令を生成して、前記インタフェース部へ送信するステップと、
前記送信された命令が紙送り・印刷の実行を伴うメカ動作命令か否かを判定するステップと、
前記送信された命令が紙送り・印刷の実行を伴うメカ動作命令ではない場合、同期命令であるか否かを判定するステップと、
同期命令である場合、前記同期命令の同期レベルが全同期レベルかあるいは紙送り・印刷同期レベルかを判定するステップと、
前記同期レベルが紙送り・印刷同期レベルである場合、事前に紙送り・印刷の実行を伴うメカ動作命令が実行され、その後同期処理が実行されているか否かを判定するステップと、
事前に紙送り・印刷の実行を伴うメカ動作命令が実行され、その後同期処理が実行されていない場合は前記メカ制御部との同期を実行し、事前に紙送り・印刷の実行を伴うメカ動作命令が実行されていない場合、もしくは、事前に紙送り・印刷の実行を伴うメカ動作命令が実行され、その後同期処理が実行されている場合は、前記メカ制御部との同期を行わないステップと、
を含むことを特徴とするインクジェットプリンタの同期処理制御方法。
【請求項４】
請求項３に記載のインクジェットプリンタの同期処理制御方法の各ステップを、前記インクジェットプリンタに搭載されたコンピュータに実行させることを特徴とするインクジェットプリンタの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インクジェットプリンタ、インクジェットプリンタの同期処理制御方法及び制御プログラムに関し、特に、会計のレシートとともに、商品の割引特典などのクーポンを印刷するインクジェットプリンタ、インクジェットプリンタの同期処理制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
スーパーマーケット等の店舗のレジで会計を行う際に、会計のレシートとともに、商品の割引特典などのクーポンを印刷するインクジェットプリンタなどは、実行した印刷に係るインクショット数を計数し、インクショット数に応じて課金するシステムに対応するプリンタがある（例えば、特許文献１を参照）。このようなプリンタでは、インクショット数は印刷ジョブ毎に計数するため、１人の顧客に対しレシートに加えて複数のクーポンを印刷する場合に複数の印刷ジョブが実行されるので、レジに並ぶ顧客を待たせないためにも、１つの印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまでの時間ができるだけ短いことが好ましい。
【０００３】
図５は、従来のインクジェットプリンタの印刷ジョブの処理に係る主要な制御部の構成を説明するブロック図である。
ホストコンピュータなどから送信された印刷ジョブは、図示しない受信部などで受信されると、印刷ジョブに含まれるコマンド及び印刷データは、コマンド解析・データ展開部１０１に送信され、コマンドの解析・展開が行われ、メカ制御部とのインタフェース部（以下、インタフェース部と記す）１０２を介してメカ制御部１０３へ送信される。
【０００４】
次に、従来のインクジェットプリンタにおける印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまでの動作について一例を挙げて説明する。
コマンド解析・データ展開部１０１が印刷ジョブを開始するジョブスタートコマンドを受信すると、コマンド解析・データ展開部１０１はコマンドを解析・展開して、「キャップ開命令」、「印刷前フラッシング命令」、などを生成する。これらの命令はそのままメカ制御部１０３へ送信され、キャップ開、印刷前フラッシングなどのメカ動作を開始する。このとき、インタフェース部１０２は、同期処理を実行する。なお、ここで言う「同期処理」とは、それ以前に生成されたメカ動作命令の完了を待ってから、新たなコマンドの動作を実行させることである。このようにして、いくつかのコマンドが同期処理を伴って順次実行される。
【０００５】
そして、ページ設定コマンドを受信すると、コマンド解析・データ展開部１０１は、ページ設定コマンドを解析・展開して、「ページ設定命令」を生成する。このときも、インタフェース部１０２は、同期処理を実行する。すなわち、同期処理として、それ以前に生成されたメカ動作命令の完了を待ってから、ページ設定の動作（ページ設定に係る各パラメータの記憶、更新など）を実行し、印刷データの展開が行われ、最初の印刷（ファーストプリント）を開始する。
【０００６】
【特許文献１】特開２００７−２２３３００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記のように、従来のインクジェットプリンタでは、印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまで、コマンドの実行ごとに、同期処理を実行していた。例えば、「ページ設定」コマンドを受信後、ページ設定に係る各パラメータを記憶、更新する前に、同期処理によりそれまでに生成した全てのメカ動作が完了するまで待っていた。これは、ページ設定に係る各パラメータが紙送り動作や印刷動作などのメカ動作は、これらの値に依存するからである。
【０００８】
ところが、上記の「ページ設定」コマンドを受信したときに、実行中のメカ動作として紙送り動作や印刷動作が行われていない場合もあり、このような場合には、上記のような同期処理は必ずしも必要ではではない。このため、印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまでに無駄な待ち時間が生じるという問題があった。
【０００９】
本発明の目的は上記課題を解消することに係り、必要の無い場合には、同期処理を行わないようにすることにより、印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまでの待ち時間を短縮することができるインクジェットプリンタ、インクジェットプリンタの同期処理制御方法及び制御プログラムを得ることを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明に係るインクジェットプリンタは、受信した印刷ジョブに含まれるコマンド及び印刷データに対して、前記コマンドの解析と前記印刷データの展開を行って、メカ動作命令を生成するコマンド解析・データ展開部と、
メカ動作命令により印刷メカの動作を制御するメカ制御部と、
前記コマンド解析・データ展開部と前記メカ制御部との間で、実行中のメカ動作が完了するまで次のコマンドの実行を待機させる同期処理の制御を行うインタフェース部と、
を備え、
コマンド解析・データ展開部は、前記コマンドに対して、予め定義したテーブルを参照して、同期処理を行うか否か、同期処理を行う場合には前記コマンドが、メカ動作を全て実行済みとした状態を保証しなければならない全同期レベルか、あるいは紙送り・印刷に係るメカ動作を全て実行済みとした状態を保証しなければならない紙送り・印刷同期レベルかを決定し、同期命令として前記インタフェース部に通知する同期タイミング・レベル決定部を有し、
前記インタフェース部は、
前記コマンド解析・データ展開部から送信されたメカ動作命令が、紙送り・印刷の実行を伴うメカ動作命令であるか否かを判定する紙送り・印刷実行監視部と、
前記コマンド解析・データ展開部から通知された同期命令の同期レベルが、全同期レベルである場合は同期必要と判定し、紙送り・印刷同期レベルである場合は印刷実行監視部の判定により紙送り・印刷の実行を伴うメカ動作命令が直前に実行されたと判定された場合のみ同期必要と判定する同期必要性判定部と、
を有することを特徴とする。
上記構成により、紙送り・印刷同期レベルである場合は印刷実行監視部の判定により紙送り・印刷の実行を伴うメカ動作命令が直前に実行されたと判定された場合のみ同期必要と判定するので、紙送り・印刷の実行を伴うメカ動作命令が直前に実行されたと判定されない場合は、同期処理を行わないため、印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまでの待ち時間を短縮することができる。
また好ましくは、前記紙送り・印刷同期レベルのコマンドには、ページ設定コマンドが含まれることを特徴とする。
上記構成によれば、ページ設定コマンドによる同期命令の同期レベルが、紙送り・印刷同期であるので、ページ設定コマンドの実行の直前に、紙送り・印刷の実行を伴うメカ動作命令が実行されなかった場合は、同期処理をスキップするため、印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまでの待ち時間を短縮することができる。
【００１１】
上記目的を達成するために、本発明に係るインクジェットプリンタの同期処理制御方法は、受信した印刷ジョブに含まれるコマンド及び印刷データに対して、前記コマンドの解析と前記印刷データの展開を行って、メカ動作命令を生成するコマンド解析・データ展開部と、
メカ動作命令により印刷メカの動作を制御するメカ制御部と、
前記コマンド解析・データ展開部と前記メカ制御部との間で、実行中のメカ動作が完了するまで次のコマンドの実行を待機させる同期処理の制御を行うインタフェース部と、
を備えるインクジェットプリンタの同期処理制御方法であって、
前記コマンド解析・データ展開部において、前記コマンドに対して、予め定義したテーブルを参照して、同期処理を行うか否か、同期処理を行う場合には前記コマンドが、メカ動作を全て実行済みとした状態を保証しなければならない全同期レベルか、あるいは紙送り・印刷に係るメカ動作を全て実行済みとした状態を保証しなければならない紙送り・印刷同期レベルかを決定し、全同期レベルの同期命令あるいは紙送り・印刷同期レベルの同期命令を生成して、前記メカ動作命令に伴って前記インタフェース部へ送信するステップと、
前記送信された命令が紙送り・印刷の実行を伴うメカ動作命令か否かを判定するステップと、
前記送信された命令が紙送り・印刷の実行を伴うメカ動作命令ではない場合、同期命令であるか否かを判定するステップと、
同期命令である場合、前記同期命令の同期レベルが全同期レベルかあるいは紙送り・印刷同期レベルかを判定するステップと、
前記同期レベルが紙送り・印刷同期レベルである場合、事前に紙送り・印刷の実行を伴うメカ動作命令が実行され、その後同期処理が実行されているか否かを判定するステップと、
事前に紙送り・印刷の実行を伴うメカ動作命令が実行され、その後同期処理が実行されていない場合は前記メカ制御部との同期を実行し、事前に紙送り・印刷の実行を伴うメカ動作命令が実行されていない場合、もしくは、事前に紙送り・印刷の実行を伴うメカ動作命令が実行され、その後同期処理が実行されている場合は、前記メカ制御部との同期を行わないステップと、
を含むことを特徴とする。
上記同期処理制御方法によれば、紙送り・印刷の実行を伴うメカ動作命令の実行後に同期命令による同期処理が実行されている場合はメカ制御部との同期を行わないので、印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまでの待ち時間を短縮することができる。
【００１２】
上記目的を達成するために、本発明に係るインクジェットプリンタの同期処理制御プログラムは、上記インクジェットプリンタの同期処理制御方法の各ステップを、前記インクジェットプリンタに搭載されたコンピュータに実行させることを特徴とする。
上記制御プログラムをインクジェットプリンタに搭載されたコンピュータに実行させることにより、印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまでの待ち時間を短縮することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら、本発明に係るインクジェットプリンタ、インクジェットプリンタの同期処理制御方法及び制御プログラムの実施形態を説明する。
【００１４】
図１は、本発明の実施形態に係るインクジェットプリンタの印刷ジョブの処理に係る主要な制御部の構成を説明するブロック図である。
ホストコンピュータなどから送信された印刷ジョブは、図示しない受信部などで受信されると、印刷ジョブに含まれるコマンド及び印刷データは、コマンド解析・データ展開部１０に送信され、ここで解析・展開が行われ、メカ制御部とのインタフェース部２０（以下、インタフェース部と記す）を介してメカ制御部３０へ送信される。
【００１５】
コマンド解析・データ展開部１０は、受信した印刷ジョブに含まれるコマンド及び印刷データに対して、前記コマンドの解析と前記印刷データの展開を行ってメカ動作命令を生成する。コマンド解析・データ展開部１０は、更に、同期タイミング・レベル決定部１１を有する。同期タイミング・レベル決定部１１は、受信または生成したコマンドについて同期処理を行うか否か（タイミング）、また行う場合にはそのレベルを決定する。同期タイミング・レベル決定部１１は、設定された各メカ制御や設定のコマンドに対して、予め定義したテーブルを参照して決定を行う。
【００１６】
インタフェース部２０は、コマンド解析・データ展開部１０とメカ制御部３０との間のインタフェースとなる部分であり、紙送り・印刷実行監視部２１、同期必要性判定部２２、ページ管理部２３を有し、コマンド解析・データ展開部１０とメカ制御部３０との間で、実行中のメカ動作が完了するまで次のコマンドの実行を待機させる処理である同期処理の制御を行う。
【００１７】
紙送り・印刷実行監視部２１は、それまでに生成された紙送りや印刷を伴うメカ動作命令を監視する。紙送りや印刷に係るメカ動作は、同期処理のタイミング判定やレベル判定に関与するからである。具体的には、コマンド解析・データ展開部１０から通知された命令が、紙送り又は印刷を伴うメカ動作命令である場合、紙送り・印刷実行監視部２１は、「紙送り・印刷のメカ動作命令の実行回数に係るカウンタ」を１カウントアップする（すなわち、紙送り・印刷の実行を伴うメカ動作命令が１回実行されたことが記録される）。
【００１８】
同期必要性判定部２２は、同期タイミング・レベル決定部１１の結果と後述する判定手順に従って、対象のコマンドについて同期処理を実行するか否かを判定する。具体的には、コマンド解析・データ展開部１０から通知された命令が、同期命令である場合、その同期レベルが全同期レベルであれば、同期必要と判定する。その同期レベルが紙送り・印刷同期レベルであれば、「紙送り・印刷のメカ動作命令実行回数」が１以上の場合のみ同期必要と判定する（すなわち、紙送り・印刷の実行を伴うメカ動作命令が直前に実行されていることを判定する）
【００１９】
ページ管理部２３は、ページ設定命令により、ページ設定に係る各パラメータを記憶、更新する。
【００２０】
メカ制御部３０は、メカ動作命令に基づいて印刷動作を実行するように本実施形態のインクジェットプリンタのメカ機構（ヘッドやモータ等）を制御する。なお、メカ制御部３０は、例えばインクジェットプリンタ専用のコントロールＩＣ（ＡＳＩＣ）などの一機能部として構成されてもよい。
なお、本実施形態に係るインクジェットプリンタは、印刷実行結果に係る情報（印刷成否（印刷が成功したかあるいは失敗したか）、印刷実行によるインクショット数など）を取得する機能（図示せず）を備えていてもよい。
【００２１】
次に、インクジェットプリンタの同期処理制御方法について説明する。
図２は、本発明に係る実施形態のインクジェットプリンタのコマンド解析・データ展開部の動作手順を示すフローチャートである。
【００２２】
コマンド解析・データ展開部１０は、印刷ジョブのコマンドを受信すると（ステップＳ１１）、コマンド解析・データ展開を行って、メカ動作命令を生成して、インタフェース部２０へ送信する（ステップＳ１２）。このとき、同期タイミング・レベル決定部１１は、受信したコマンドについて、当該コマンドが同期処理を必要とするコマンドであるか否かを、予め定義したテーブルを参照して判定し同期タイミング・レベルを決定する（ステップＳ１３）。そして、同期処理を必要とするコマンドである場合に決定された同期タイミング・レベルを指示する同期命令を生成して、インタフェース部２０へ送信する（ステップＳ１４）。
【００２３】
図３は、各メカ制御や設定のコマンドに対して定義したテーブルを概念的に示す模式図である。図に示すように、コマンドは、同期タイミング（同期するか否か）と同期レベル（紙送り・印刷同期レベルまたは全同期レベル）で分類されており、同期タイミング・レベル決定部１１は、対象とするコマンドがどれに分類されるかを決定する。
【００２４】
ここで、同期レベルの定義について説明する。
紙送り・印刷同期レベルとは、紙送り・印刷に係るメカ動作を全て実行済みとした状態を保証しなければならないレベルである。このレベルの同期命令は、例えば、「ページ設定」などのように、印刷や紙送りに係るメカ動作が発生していない状態であれば、次のコマンドの実行を進めることができる場合に生成される。
【００２５】
一方、全同期レベルとは、メカ動作命令によるメカ動作を全て実行済みとした状態を保証しなければならないレベルである。このレベルの同期命令は、例えば、「プリンタリセット」や「ジョブエンドコマンド」などのように、すべてのメカ動作が終わったことが保証された状態で次のコマンドの実行が継続できる場合に生成される。
【００２６】
次に、図４は、本発明に係る実施形態のインクジェットプリンタにおけるインタフェース部の動作手順を示すフローチャートである。
【００２７】
紙送り・印刷実行監視部２１は、コマンド解析・データ展開部１０から送信された命令について、紙送り・印刷の実行を伴うメカ動作命令であるか否かを判定する（ステップＳ２１）。紙送り・印刷の実行を伴うメカ動作命令である場合、紙送り・印刷実行監視部２１が「紙送り・印刷のメカ動作命令の実行回数に係るカウンタ」（図示せず）のカウント値を１カウントアップし（ステップＳ２２）、メカ制御部３０へメカ動作命令が送信される（ステップＳ２３）。
【００２８】
なお、紙送り・印刷の実行を伴うメカ動作命令を受けると、メカ制御部３０は、本実施形態のインクジェットプリンタの各メカ機構（例えばヘッドやモータ）を駆動させて、印刷、紙送り、用紙カットなどを実行させる。
【００２９】
次に、送信された命令が紙送り・印刷の実行を伴うメカ動作命令でない場合（ステップＳ２１のＮｏ）、次に、同期必要性判定部２２は、それが同期命令であるか否かを判定する（ステップＳ２４）。同期命令である場合、同期必要性判定部２２は、更に、同期レベルが全同期レベルであるか紙送り・印刷同期レベルであるかを判定する（ステップＳ２５）。
【００３０】
ステップＳ２５において全同期レベルの同期命令である場合、同期必要性判定部２２は同期必要と判定し、「紙送り・印刷のメカ動作命令の実行回数に係るカウンタ」をゼロにリセットしてから（ステップＳ２６）、メカ制御部３０との同期を実行させる（ステップＳ２７）。
【００３１】
一方、ステップＳ２５において紙送り・印刷同期レベルの同期命令である場合、同期必要性判定部２２は、次に、紙送り・印刷実行監視部２１の「紙送り・印刷のメカ動作命令の実行回数に係るカウンタ」のカウント値を参照する（ステップＳ２８）。
【００３２】
「紙送り・印刷のメカ動作命令の実行回数に係るカウンタ」のカウント値が１以上である場合（ステップＳ２８のＹｅｓ）は、紙送り・印刷の実行を伴うメカ動作命令の実行後に同期命令による同期処理が実行されていない（カウンタがリセットされていない）場合であり、紙送りや印刷に係るメカ動作が現在実行中であると推定される。よって、同期必要性判定部２２は、同期必要と判定して上述のステップＳ２６の手順へ合流する。
【００３３】
「紙送り・印刷のメカ動作命令の実行回数に係るカウンタ」のカウント値が０である場合（ステップＳ２８のＮｏ）は、紙送り・印刷の実行を伴うメカ動作命令の実行後に同期命令による同期処理が実行されている場合、あるいは、事前に紙送り・印刷の実行を伴うメカ動作命令が（１度も）実行されていない場合であり、紙送りや印刷に係るメカ動作は現在実行されていないと推定される。よって、同期必要性判定部２２は、同期不要と判定する。従って、メカ動作の完了を待たずに（つまり、同期処理をスキップして）、次のコマンドの実行へ移行することができる。
【００３４】
このように、紙送り・印刷同期レベルのコマンドで、且つ、同期処理の実行以降に紙送りや印刷に係るメカ動作が実行されていない場合、例えば、次のコマンドの実行や印刷データの展開をメカ動作の完了を待たずに実行することができる。
従って、印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまでの時間を短縮することができる。
【００３５】
なお、ステップＳ２４において、命令が同期命令でない場合（ステップＳ２４のＮｏ）は、何らかのメカ動作命令であるので、ステップＳ２３へ移行し、メカ制御部３０で通常のメカ動作を行う。
【００３６】
次に、上記動作を行うインクジェットプリンタの具体的なコマンド実行例１〜３を以下に示す。
【００３７】
（実行例１）
実行例１は、ファーストプリントを行う際の動作例である。
（１）印刷ジョブスタート→（２）印刷・紙送り同期命令（同期処理スキップ）、ページ設定→（３）印刷
【００３８】
（１）印刷ジョブスタート
コマンド解析・データ展開部１０が印刷ジョブスタートコマンドを受信すると、コマンド解析・データ展開部１０はコマンドを解析・展開して、「キャップ開命令」、「印刷前フラッシング命令」などを生成する。これらの命令はそのままメカ制御部３０へ送信され、キャップ開、印刷前フラッシングなどのメカ動作が開始する。
【００３９】
ここで、キャップ開命令は、インク吸引用キャップをインクジェットヘッドの吐出口面に密着させ、キャップ内を減圧して目詰まりを吸う動作を実行させる。また、印刷前フラッシング命令は、ノズル開口の目詰まりの防止や目詰まり解消のために、ヘッドのノズル開口から所定数のインク滴を空吐出する動作を実行させる。
【００４０】
次に、キャップやフラッシングなどのメカ動作の実行中に、コマンド解析・データ展開部１０が次のコマンド（リモートアウトコマンド等）を受信すると、同期タイミング・レベル決定部１１で同期レベルが決定され、同期命令が生成される。同期命令（印刷・紙送り同期レベル）はメカ制御部とのインタフェース部２０へ送信され、紙送り・印刷実行監視部２１、同期必要性判定部２２の判定によって、メカ制御部３０との同期がスキップされる。即ち、キャップ開命令や印刷前フラッシング命令の動作完了を待たずに次のコマンドが実行される。
【００４１】
コマンド解析・データ展開部１０は、さらに、次のコマンド（グラフィックインコマンド等）、を受信し、以降も同期命令（印刷・紙送り同期レベル）が生成され、キャップ開命令や印刷前フラッシング命令の動作完了を待たずに次のコマンドが実行される。
【００４２】
（２）同期命令（印刷・紙送り同期レベル）（同期処理スキップ）、ページ設定
次に、コマンド解析・データ展開部１０がページ設定コマンドを受信する。コマンド解析・データ展開部１０は、ページ設定コマンドを解析・展開して、「ボトムマージン設定命令」などの命令を生成し、インタフェース部２０へ送信するとともに、コマンド解析・データ展開部１０の同期タイミング・レベル決定部１１が同期レベルの判定を行う。
【００４３】
ページ設定コマンドは印刷・紙送り同期レベル（印刷や紙送りなどのメカ動作が完了してから解析や展開を行う必要があるコマンド）であるので、コマンド解析・データ展開部１０は同期命令（印刷・紙送り同期レベル）を生成し、インタフェース部２０へ送信する。
【００４４】
インタフェース部２０は、同期命令（印刷・紙送り同期レベル）を受信して、紙送り・印刷実行監視部２１、同期タイミング・レベル決定部１１の判定により、「印刷・紙送りのメカ制御実行命令実行回数」が「０」であるため、メカ制御部３０との同期がスキップされる。
【００４５】
ページ管理部２３は、キャップ開命令や印刷前フラッシング命令の動作完了を待たずに、「ボトムマージン設定命令」などの命令により、ページ設定に係る各パラメータをメモリに記憶、更新する。
【００４６】
（３）印刷
また、印刷データの展開が行われ、最初の印刷（ファーストプリント）を開始する。
【００４７】
（実行例２）
実行例２は、印刷の途中でページ設定が変更される例である。
（１）印刷→（２）紙送り→（３）同期命令（印刷・紙送り同期レベル）（同期処理実行）、ページ設定→（４）印刷
【００４８】
（１）印刷
印刷データの展開が行われ、印刷が実行される。
（２）紙送り
コマンド解析・データ展開部１０が紙送りコマンドを受信すると、コマンドを解析・展開して「紙送り命令」を作成し、インタフェース部２０へ送信する。インタフェース部２０は「紙送り命令」をメカ制御部３０へ送信し、メカ制御部３０はメカ動作の制御して紙送りを開始する。紙送り・印刷実行監視部２１は、「紙送り・印刷のメカ動作命令の実行回数に係るカウンタ」をカウントアップする。
【００４９】
（３）同期命令（印刷・紙送り同期レベル）（同期処理実行）、ページ設定
印刷及び紙送りの途中で、コマンド解析・データ展開部１０がページ設定コマンドを受信する。コマンド解析・データ展開部１０は、ページ設定コマンドを解析・展開して、「ボトムマージン設定命令」などの命令を生成し、インタフェース部２０へ送信するとともに、コマンド解析・データ展開部１０の同期タイミング・レベル決定部１１が同期レベルの判定を行う。
【００５０】
ページ設定コマンドは印刷・紙送り同期レベル（印刷や紙送りなどのメカ動作が完了してから解析や展開を行う必要があるコマンド）であるので、コマンド解析・データ展開部１０は同期命令（印刷・紙送り同期レベル）を生成し、インタフェース部２０へ送信する。
【００５１】
インタフェース部２０は、同期命令（印刷・紙送り同期レベル）を受信して、紙送り・印刷実行監視部２１、同期タイミング・レベル決定部１１の判定により、「印刷・紙送りのメカ制御実行命令実行回数」が「１」であるため、同期を行う。すなわち、（２）の紙送りのメカ動作が完了してから、「ボトムマージン設定命令」などの命令により、ページ設定に係る各パラメータをメモリに記憶、更新する。
【００５２】
（４）印刷
ページ設定完了後、印刷データの展開が行われ、印刷が実行される（再開する）。
【００５３】
（実行例３）
実行例３は、印刷ジョブの最終処理が行われる際の例である。
（１）印刷→（２）紙送り→（３）全同期命令（同期処理実行）、グラフィック終了
【００５４】
（１）印刷
印刷データの展開が行われ、印刷が実行される。
（２）紙送り
コマンド解析・データ展開部１０が紙送りコマンドを受信すると、コマンドを解析・展開して「紙送り命令」を作成し、インタフェース部２０へ送信する。インタフェース部２０は「紙送り命令」をメカ制御部３０へ送信し、メカ制御部３０はメカ動作の制御して紙送りを開始する。紙送り・印刷実行監視部２１は、「紙送り・印刷のメカ動作命令の実行回数に係るカウンタ」をカウントアップする。
【００５５】
（３）全同期命令（同期処理実行）、グラフィック終了
印刷及び紙送りの途中で、コマンド解析・データ展開部１０がグラフィック終了コマンドを受信する。コマンド解析・データ展開部１０は、グラフィック終了コマンドを解析・展開して、「グラフィック終了命令」を生成し、インタフェース部２０へ送信するとともに、コマンド解析・データ展開部１０の同期タイミング・レベル決定部１１が同期レベルの判定を行う。
【００５６】
グラフィック終了コマンドは全同期レベルのコマンドであるので、コマンド解析・データ展開部１０は同期命令（全同期レベル）を生成し、インタフェース部２０へ送信する。
インタフェース部２０は、同期命令（全同期レベル）を受信して、「印刷・紙送りのメカ動作命令の実行回数に係るカウンタ」をゼロにリセットし、メカ制御部３０との同期を行う。すなわち、印刷や紙送りのメカ動作が全て完了してから、「グラフィック終了命令」を実行し、印刷ジョブの最終処理が行われる。
【００５７】
以上詳述した、本発明に係る実施形態のインクジェットプリンタによれば、次のコマンドの実行を待機する必要のないメカ動作では同期処理がスキップされる。これにより、印刷ジョブを受信してから最初の印刷（ファーストプリント）を開始するまでの待ち時間を短縮することができる。
【００５８】
なお、本発明の実施形態に係るインクジェットプリンタでは、従来のインクジェットプリンタと比較して、ファーストプリントまでの時間を概ね２００ｍｓ程度の短縮することができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態に係るインクジェットプリンタの印刷ジョブの処理に係る主要な制御部の構成を説明するブロック図である。
【図２】本発明に係る実施形態のインクジェットプリンタのコマンド解析・データ展開部の動作手順を示すフローチャートである。
【図３】各メカ制御や設定のコマンドに対して定義したテーブルを概念的に示す模式図である。
【図４】本発明に係る実施形態のインクジェットプリンタの、メカ制御部とのインタフェース部の動作手順を示すフローチャートである。
【図５】従来のインクジェットプリンタの印刷ジョブの処理に係る主要な制御部の構成を説明するブロック図である。
【符号の説明】
【００６０】
１０…コマンド解析・データ展開部、２０…（メカ制御部との）インタフェース部、３０…メカ制御部、１１…同期タイミング・レベル決定部、２１…紙送り・印刷実行監視部、２２…同期必要性判定部、２３…ページ管理部
【図１】
2010105284.tif 000003
【図２】
2010105284.tif 000004
【図３】
2010105284.tif 000005
【図４】
2010105284.tif 000006
【図５】
2010105284.tif 000007