(57)【要約】      （修正有）【課題】リアルタイムコマンドを誤動作させることなく適正に実行させ、イメージデータを高速に処理することのできる印刷装置を提供する。【解決手段】制御部が、第１記憶部に受信されたコマンドが第１コマンドのイメージコマンドであれば、その後に受信される所定数のイメージデータを第１記憶部から、第２記憶部の所定のアドレスへメモリー間転送方式によって転送し、転送したイメージデータを第４記憶部に印刷実行データとして展開して記憶し、第１記憶部に受信されたコマンドが第３コマンドであれば、その後に受信される所定数の圧縮されたイメージデータを第１記憶部から第３記憶部の所定のアドレスへメモリー間転送方式によって転送し、転送した圧縮されたイメージデータを伸張しながら、第４記憶部に印刷実行データとして展開して記憶する。【選択図】図１
2018001692.tif 000002
【特許請求の範囲】
【請求項１】
コマンドを受信し、当該受信した前記コマンドを記憶する第１記憶部を備える通信部と、
前記第１記憶部に記憶された前記コマンドを解釈し、解釈した前記コマンドが第１コマンドまたは第３コマンドなら、受信順に処理を実行し、解釈した前記コマンドが第２コマンドなら、前記第１コマンドまたは前記第３コマンドに優先して処理を実行する制御部と、
前記第１コマンドに係るデータを記憶する第２記憶部と、
前記第３コマンドに係るデータを記憶する第３記憶部と、
展開された印刷実行データを記憶する第４記憶部と、
前記第４記憶部に記憶された前記印刷実行データに基づいて印刷を実行する印刷部と、を備え、
前記制御部は、
前記第１記憶部に受信された前記コマンドが前記第１コマンドのイメージコマンドであれば、その後に受信される所定数のイメージデータを前記第１記憶部から、前記第２記憶部の所定のアドレスへメモリー間転送方式によって転送し、転送した前記イメージデータを前記第４記憶部に前記印刷実行データとして展開して記憶し、
前記第１記憶部に受信された前記コマンドが前記第３コマンドであれば、その後に受信される所定数の圧縮されたイメージデータを前記第１記憶部から前記第３記憶部の所定のアドレスへ前記メモリー間転送方式によって転送し、転送した前記圧縮されたイメージデータを伸張しながら、前記第４記憶部に前記印刷実行データとして展開して記憶する
ことを特徴とする印刷装置。
【請求項２】
請求項１において、
前記制御部は、前記第１記憶部から前記第２記憶部または前記第３記憶部への前記メモリー間転送方式によるデータ転送を実行する転送部を備え、
前記制御部は、前記データ転送の際に、前記所定数のデータに亘り、前記第２記憶部または前記第３記憶部の前記所定のアドレスを直接的に変えながら、前記転送部に与える
ことを特徴とする印刷装置。
【請求項３】
請求項１あるいは２において、
前記制御部は、前記第３コマンドの後に受信される前記圧縮されたイメージデータを伸張する論理回路を含むデータ処理部を備え、
前記データ処理部は、前記第３コマンドの後に受信される前記圧縮されたイメージデータを前記論理回路に基づくハードウェア方式により伸張しながら前記第４記憶部へ展開する
ことを特徴とする印刷装置。
【請求項４】
請求項３において、
前記制御部は、前記データ処理部による前記伸張の処理と並行して、前記第２記憶部に記憶された前記データを前記第４記憶部へ展開して記憶する
ことを特徴とする印刷装置。
【請求項５】
印刷装置が、コマンドを受信し、当該受信した前記コマンドを記憶する第１記憶部を備える通信部と、前記第１記憶部に記憶された前記コマンドを解釈し、解釈した前記コマンドが第１コマンドまたは第３コマンドなら、受信順に処理を実行し、解釈した前記コマンドが第２コマンドなら、前記第１コマンドまたは前記第３コマンドに優先して処理を実行する制御部と、前記第１コマンドに係るデータを記憶する第２記憶部と、前記第３コマンドに係るデータ記憶する第３記憶部と、展開された印刷実行データを記憶する第４記憶部
と、前記第４記憶部に記憶された前記印刷実行データに基づいて印刷を実行する印刷部と、を備える印刷装置の制御方法であって、
前記制御部が、前記第１記憶部に受信された前記コマンドが前記第１コマンドのイメージコマンドであれば、その後に受信される所定数のイメージデータを前記第１記憶部から、前記第２記憶部の所定のアドレスへメモリー間転送方式によって転送し、転送した前記イメージデータを前記第４記憶部に前記印刷実行データとして展開して記憶し、前記第１記憶部に受信された前記コマンドが前記第３コマンドであれば、その後に受信される所定数の圧縮されたイメージデータを前記第１記憶部から前記第３記憶部の所定のアドレスへ前記メモリー間転送方式によって転送し、転送した前記圧縮されたイメージデータを伸張しながら、前記第４記憶部に前記印刷実行データとして展開して記憶する
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイムコマンドを誤動作させることなく適正に実行させ、イメージデータを高速に処理することのできる印刷装置等に関する。
【背景技術】
【０００２】
従来、プリンターに送信される命令（コマンド）には、各種印刷コマンドのように送信の順番に（プリンターでの受信の順番に）処理されるコマンド（以下、通常コマンドと称す）と、プリンターで受信後、通常コマンドに優先して即座に実行されるコマンド（以下、リアルタイムコマンドと称す）がある。
【０００３】
リアルタイムコマンドには、プリンターの状態を示す情報（ステータス情報）をホスト装置に返信させるコマンド、プリンターのデータバッファーに貯められているデータをクリアさせるコマンド、警報音を鳴らさせる等装置を動作（駆動）させるコマンド等がある。
【０００４】
このようなプリンターに送信されるコマンドにおいて、イメージやグラフィクスを印刷対象とする印刷コマンドには、イメージデータ等のバイナリーデータが含まれ、それらのデータ列に、上述したリアルタイムコマンドのデータ列と同一のデータ列が含まれてしまう場合がある。かかる場合には、当該データ列を受信したプリンターが、リアルタイムコマンドを受信したと誤解釈し、意図していないリアルタイムコマンドの実行がなされてしまう虞がある。このような偽リアルタイムコマンドによる誤動作は、例えば、必要なデータがクリアされてしまう等の事態を引き起こし、プリンターの使用上避けられなければならない。
【０００５】
かかる課題に対して、下記特許文献１で提案されている装置では、リアルタイム禁止コマンドなるものを用いて、プリンターでリアルタイムコマンドが実行されない状態とする措置が取られる。
【０００６】
一方、モバイル端末からプリンターに印刷命令を出す場合等、無線通信によってプリンターを利用する環境が増えている。このような環境では、プリンターにおける印刷パフォーマンスの向上、一定した印刷速度による印刷品質の確保等の観点から、特に多量のデータの場合、プリンターへのデータ送信時間を短縮するべく、ホスト装置において送信するデータを圧縮する処理がなされている。また、少量のデータの場合は、圧縮せずにデータを転送した方が、圧縮伸張処理に掛かる時間がなく、却って処理が速い場合もあり得る。
【０００７】
このように、データ量により、圧縮の有無を変えた場合、圧縮しないデータの中や、圧縮されたデータの中にも、上述したようにリアルタイムコマンドと同一のデータ列が含まれてしまう虞があり、従来は、圧縮後のデータにリアルタイムコマンドと同一のデータ列が含まれていることが検出されると、圧縮せずに元のデータをプリンターに送信するという処理がなされていた。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０００−２９８５６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、データを圧縮しないで送信する方法のみとすると、連続印刷するプリンターにおいては、通信の遅れによってプリンターでの印刷速度を落とさざるを得ない場合が発生し、このような印刷速度の変化によって印刷した画像にいわゆる白筋が入ってしまう等の印刷不良が起こる虞がある。
【００１０】
また、上記特許文献１に記載の方法を適用した場合には、イメージデータを送信中に本当にリアルタイムコマンドの実行が必要になった場合、リアルタイムコマンドの実行ができない、という課題がある。
【００１１】
また、イメージデータを圧縮して送信する場合、及び、非圧縮で送信する場合の両方のメリットを維持しつつ、確実にリアルタイムコマンドの誤動作を防止できると共に、両データの処理を効率的に行うことが望まれる。
【００１２】
そこで、本発明の目的は、リアルタイムコマンドを誤動作させることなく適正に実行させ、イメージデータを高速に処理することのできる印刷装置、等を提供することである。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の１つの側面は、印刷装置が、コマンドを受信し、当該受信した前記コマンドを記憶する第１記憶部を備える通信部と、前記第１記憶部に記憶された前記コマンドを解釈し、解釈した前記コマンドが第１コマンドまたは第３コマンドなら、受信順に処理を実行し、解釈した前記コマンドが第２コマンドなら、前記第１コマンドまたは前記第３コマンドに優先して処理を実行する制御部と、前記第１コマンドに係るデータを記憶する第２記憶部と、前記第３コマンドに係るデータを記憶する第３記憶部と、展開された印刷実行データを記憶する第４記憶部と、前記第４記憶部に記憶された前記印刷実行データに基づいて印刷を実行する印刷部と、を備え、前記制御部が、前記第１記憶部に受信された前記コマンドが前記第１コマンドのイメージコマンドであれば、その後に受信される所定数のイメージデータを前記第１記憶部から、前記第２記憶部の所定のアドレスへメモリー間転送方式によって転送し、転送した前記イメージデータを前記第４記憶部に前記印刷実行データとして展開して記憶し、前記第１記憶部に受信された前記コマンドが前記第３コマンドであれば、その後に受信される所定数の圧縮されたイメージデータを前記第１記憶部から前記第３記憶部の所定のアドレスへ前記メモリー間転送方式によって転送し、転送した前記圧縮されたイメージデータを伸張しながら、前記第４記憶部に前記印刷実行データとして展開して記憶する、ことである。
【００１４】
これにより、イメージコマンドに続くイメージデータは、メモリー間転送方式によって転送するため、コマンドとして解釈されない。そのため、印刷装置におけるリアルタイムコマンドの誤動作を確実に防止できる。
【００１５】
また、印刷装置は、常にリアルタイムコマンドを実行できる状態なので、必要な処理を即座に実行させることができる。
【００１６】
また、イメージデータを第１記憶部から第２記憶部または第３記憶部へメモリー間転送するため、処理が速い。
【００１７】
また、イメージデータが圧縮されている場合及び圧縮されていない場合のそれぞれに応じた処理が行われるので、ホスト装置側で圧縮／非圧縮の判断を変更する必要がなく、それぞれの場合のメリットを享受できる。更に、第３記憶部には、圧縮されたイメージデータのみが記憶されるので、データを識別する必要がない。
【００１８】
更に、上記発明において、その好ましい態様は、前記制御部は、前記第１記憶部から前
記第２記憶部または前記第３記憶部への前記メモリー間転送方式によるデータ転送を実行する転送部を備え、前記制御部は、前記データ転送の際に、前記所定数のデータに亘り、前記第２記憶部または前記第３記憶部の前記所定のアドレスを直接的に変えながら、前記転送部に与える、ことを特徴とする。
【００１９】
これにより、転送部が、イメージデータを、メモリー間転送方式によって転送するため、データ転送を確実に実行でき、処理が速い。
【００２０】
更に、上記発明において、その好ましい態様は、前記制御部は、前記第３コマンドの後に受信される前記圧縮されたイメージデータを伸張する論理回路を含むデータ処理部を備え、前記データ処理部は、前記第３コマンドの後に受信される前記圧縮されたイメージデータを前記論理回路に基づくハードウェア方式により伸張しながら前記第４記憶部へ展開する、ことを特徴とする。
【００２１】
これにより、また、ハードウェア方式で伸張及び展開処理を行うため、処理速度を速くできる。更に、ファームウェアでの処理と並行して実行できる。
【００２２】
更に、上記発明において、その好ましい態様は、前記制御部は、前記データ処理部による前記伸張の処理と並行して、前記第２記憶部に記憶された前記データを前記第４記憶部へ展開して記憶する、ことを特徴とする。
【００２３】
これにより、第２記憶部から第４記憶部へのデータの展開処理と、第３記憶部から第４記憶部へのデータ展開処理が並行して行われるため、処理効率が良い。また、ハードウェアで伸張処理を行うため、処理速度を速くできる。
【００２４】
上記目的を達成するために、本発明の別の側面は、印刷装置が、コマンドを受信し、当該受信した前記コマンドを記憶する第１記憶部を備える通信部と、前記第１記憶部に記憶された前記コマンドを解釈し、解釈した前記コマンドが第１コマンドまたは第３コマンドなら、受信順に処理を実行し、解釈した前記コマンドが第２コマンドなら、前記第１コマンドまたは前記第３コマンドに優先して処理を実行する制御部と、前記第１コマンドに係るデータを記憶する第２記憶部と、前記第３コマンドに係るデータを記憶する第３記憶部と、展開された印刷実行データを記憶する第４記憶部と、前記第４記憶部に記憶された前記印刷実行データに基づいて印刷を実行する印刷部と、を備える印刷装置の制御方法であって、前記制御部が、前記第１記憶部に受信された前記コマンドが前記第１コマンドのイメージコマンドであれば、その後に受信される所定数のイメージデータを前記第１記憶部から、前記第２記憶部の所定のアドレスへメモリー間転送方式によって転送し、転送した前記イメージデータを前記第４記憶部に前記印刷実行データとして展開して記憶し、前記第１記憶部に受信された前記コマンドが前記第３コマンドであれば、その後に受信される所定数の圧縮されたイメージデータを前記第１記憶部から前記第３記憶部の所定のアドレスへ前記メモリー間転送方式によって転送し、転送した前記圧縮されたイメージデータを伸張しながら、前記第４記憶部に前記印刷実行データとして展開して記憶する、ことである。
【００２５】
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
【図面の簡単な説明】
【００２６】
【図１】本発明を適用した印刷装置を備える印刷システムの実施の形態例に係る構成図である。
【図２】プリンター２におけるコマンド受信時の処理手順を例示したフローチャートである。
【図３】ホストコンピューター１から送信される１コマンド分の印刷要求データ（イメージデータ）の構造を模式的に示した図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
【００２８】
図１は、本発明を適用した印刷装置を備える印刷システムの実施の形態例に係る構成図である。図１に示すプリンター２が本発明を適用した印刷装置であり、プリンター２は、ホストコンピューター１から受信した各コマンドをレジスター２６１（第１記憶部）にて受信し、コマンド解析部２００によって受信した各コマンドを解釈し、コマンドが他のコマンドに優先して即座に実行されるコマンド（以降、リアルタイムコマンド（第２コマンド）と称す）の場合、その他のコマンドに優先して処理を実行する。コマンドが、圧縮していないイメージデータ（以降、非圧縮データと称す）の印刷を要求するコマンド（以降、非圧縮イメージコマンド（第１コマンド）と称す）の場合、その後に受信される非圧縮データについては解釈をしないで、レジスター２６１から受信バッファー２０５（第２記憶部）の所定のアドレスにメモリー間転送（ＤＭＡ転送：Ｄｉｒｅｃｔ Ｍｅｍｏｒｙ ＡＣＣＥＳＳ 転送）する。また、圧縮したイメージデータ（以降、圧縮データと称す）の印刷を要求するコマンド（以降、圧縮イメージコマンド（第３コマンド）と称す）の場合、その後に受信される圧縮データを解釈しないで、レジスター２６１から伸張バッファー２０３（第３記憶部）の所定のアドレスにメモリー間転送（ＤＭＡ転送）する。これにより、圧縮データまたは非圧縮データをコマンドとして解釈しないので、プリンター２におけるリアルタイムコマンドの誤動作を確実に防止できる。また、プリンター２は常にリアルタイムコマンドを実行できる状態なので、必要な処理をすぐに実行させることができる。また、データ量により、イメージデータの圧縮の有無を変えられるため、圧縮データについては、転送処理を速くでき、非圧縮データについては、圧縮伸張処理をせずに処理を速くすることができる。また、メモリー間転送（ＤＭＡ転送）方式によって直接メモリー間でデータの受け渡しをするため、処理が速い。
【００２９】
なお、本明細書中において、「印刷要求データ」とは、ホストコンピューター１から印刷要求をする際に、プリンター２に送られるデータを示す。また、「印刷データ」とは、印刷要求データのうち、コマンドを除いた実際に印刷対象となる実データの部分を示す。「印刷実行データ」とは、後述する印刷実行データ生成部２０６にて生成され、後述するプリントバッファー２０４に記憶されるデータを示す。「イメージコマンド」とは、非圧縮イメージコマンドまたは圧縮イメージコマンドの総称を示す。「イメージデータ」とは、圧縮データまたは非圧縮データの総称を示す。
【００３０】
図１に示す本実施の形態例に係る印刷システムは、ＢＬＵＥＴＯＯＴＨ（登録商標）等の無線通信３で接続されるホストコンピューター１とプリンター２を備える。かかる印刷システムは、ここでは一例として、ＰＯＳ（Ｐｏｉｎｔ ｏｆ Ｓａｌｅｓ）システムの一部として機能し、商品販売後のレシートの印刷等を主に行う。
【００３１】
ホストコンピューター１は、プリンター２にレシート等の印刷命令を行うプリンター２のホスト装置である。ここでは一例として、ホストコンピューター１は、いわゆるレジ端末であり、商品販売時の精算処理等を行う。また、ホストコンピューター１は、販売員が携帯できるモバイル型の端末装置であっても構わない。
【００３２】
図示していないが、ホストコンピューター１は、ハードウェア構成として、ＣＰＵ、Ｒ
ＡＭ、ＲＯＭ、ＨＤＤ、表示装置、通信インターフェース、操作装置、バーコードリーダー等の入力装置、現金を収納するドロワー等を備えている。
【００３３】
ホストコンピューター１は、機能構成としては、図１に示すように、アプリケーション１１とプリンタードライバー１２を備える。
【００３４】
アプリケーション１１は、ここでは、いわゆるＰＯＳアプリケーションであり、商品販売時の精算処理等を実行する。具体的には、例えば、アプリケーション１１は、バーコードリーダー等の入力装置から入力された販売商品の情報に基づいて合計金額を算出、表示し、代金の受領後、レシートの印刷要求を行う。当該レシートの印刷要求は、ＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）等の標準形式の印刷要求データをプリンタードライバー１２に送信して行う。
【００３５】
なお、レシートには、店舗のロゴ、販売日時、販売商品の名称、個数、金額、合計金額、店舗情報、及び、販売員情報等を含むバーコード等が含まれ、これらがプリンター２において印刷される。これら印刷対象を表すデータが上述した印刷要求データに含まれる。
【００３６】
また、アプリケーション１１は、ホストコンピューター１のＨＤＤ等に記憶されるアプリケーションプログラム、当該プログラムに従って処理を実行するＣＰＵ、前記プログラムや処理データがロードされるＲＡＭ等（いずれも図示せず）によって構成される。
【００３７】
プリンタードライバー１２は、プリンター２用のドライバーである。プリンタードライバー１２は、上述したアプリケーション１１等からの印刷要求データを受信し、そのデータからプリンター２用のコマンドで表現された印刷要求データを生成する。その後、プリンタードライバー１２は、生成した印刷要求データをプリンター２に送信する。
【００３８】
なお、プリンタードライバー１２は、ホストコンピューター１のＨＤＤ等に記憶されるドライバープログラム、当該プログラムに従って処理を実行するＣＰＵ、前記プログラムや処理されるデータがロードされるＲＡＭ等（いずれも図示せず）によって構成される。
【００３９】
プリンター２は、ホストコンピューター１の命令に従ってレシート等を印刷する、いわゆるＰＯＳプリンターである。プリンター２は、ここでは一例として、サーマル方式を採用するものし、印刷媒体である用紙（ロール紙等）に連続して（印刷中用紙の搬送を止めずに）印刷を行うラインプリンターである。
【００４０】
図１に示すように、プリンター２は、通信部２６、制御部２０、印刷機構部２２（印刷部）、受信バッファー２０５、伸張バッファー２０３、及び、プリントバッファー２０４（第４記憶部）を備える。プリンター２は、ハードウェア構成として、図示していないが、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＮＶＲＡＭ、ＡＳＩＣ等を備え、更に、ユーザーへの表示装置、ユーザーの操作装置、警報音を発する装置、及び、無線通信インターフェース等を備える。
【００４１】
通信部２６は、プリンター２の通信インターフェースを担う部分であり、ホストコンピューター１から無線通信３によって印刷要求データを受信する部分である。通信部２６は、図１に示すように、レジスター２６１を備える。
【００４２】
レジスター２６１は、上述したプリンタードライバー１２が生成するプリンター２用のコマンドに変換された印刷要求データを順次受信して、記憶するメモリーである。なお、レジスター２６１は、ＲＡＭ等で構成される。
【００４３】
制御部２０は、プリンター２の各部を制御し、コマンドに従った処理を実行する部分である。図１に示すように、制御部２０は、機能構成として、コマンド解析部２００、リアルタイムコマンド実行部２０７、ＤＭＡ転送部２０１（転送部）、印刷データ生成部２０６、及び、データ処理部２０８等を備える。
【００４４】
なお、制御部２０は、ハードウェア構成として、図示していないが、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＮＶＲＡＭ、ＡＳＩＣ等を備える。
【００４５】
コマンド解析部２００は、レジスター２６１にて受信した印刷要求データに含まれる各コマンドを解釈する部分である。
【００４６】
ホストコンピューター１から送信されるリアルタイムコマンド、圧縮イメージコマンド、及び、非圧縮イメージコマンド、及び、テキスト等コマンドがある（非圧縮イメージコマンドとテキスト等コマンドが第１コマンド）。ここで、テキスト等コマンドとは、テキスト等のイメージ以外のオブジェクトの印刷を要求するコマンドである。
【００４７】
コマンド解析部２００は、受信したこれらコマンドに応じた処理を実行する。具体的には、コマンド解析部２００は、解釈したコマンドがリアルタイムコマンドであれば、リアルタイムコマンド実行部２０７に処理を実行させ、解釈したコマンドがテキスト等コマンドであれば、コマンド解析部２００は、その、コマンドを受信バッファー２０５に記憶する。また、解釈したコマンドが非圧縮イメージコマンドまたは圧縮イメージコマンドである場合には、ＤＭＡ転送部２０１へメモリー間転送（ＤＭＡ転送）を行う。この転送処理の詳細については、後述する。
【００４８】
リアルタイムコマンド実行部２０７は、コマンド解析部２００において解釈したコマンドがリアルタイムコマンドの場合にそのコマンドに従った処理を実行する部分である。
【００４９】
なお、リアルタイムコマンドには、印刷要求データの送信前等に発せられる、プリンター２のステータス情報を取得するコマンド、印刷の中止時等に発せられる、プリンター２のデータバッファー（受信バッファー２０５、伸張バッファー２０３、及び、プリントバッファー２０４等）に蓄積されたデータをクリアにさせるコマンド等がある。また、ＰＯＳ端末（ホストコンピューター１）のドロワーを開ける指示を出させるコマンド、警報音の指示を出させるコマンド等、装置の駆動を指示させるコマンドもリアルタイムコマンドである。これら、リアルタイムコマンドは、リアルタイムコマンド実行部２０７が指示を受けると即座に実行される。
【００５０】
ＤＭＡ転送部２０１は、コマンド解析部２００にて解釈されたコマンドが、イメージコマンドである場合、イメージデータをレジスター２６１の所定のアドレスから、伸張バッファー２０３または受信バッファー２０５の所定のアドレスへメモリー間転送（ＤＭＡ転送）する部分である。なお、ＤＭＡ転送部２０１は、ＤＭＡ専用回路で構成される。
【００５１】
印刷実行データ生成部２０６は、受信バッファー２０５に記憶されたコマンドを、受信バッファー２０５に記憶された順に処理し、印刷実行データを生成する部分である。生成された印刷実行データは、印刷対象物（オブジェクト）の画像を画素毎に展開した画像データであり、プリントバッファー２０４に記憶される。プリントバッファー２０４に記憶された印刷実行データに従って、印刷機構部２２で印刷の実行がなされる。
【００５２】
データ処理部２０８は、ＤＭＡ転送部２０１によってレジスター２６１から伸張バッファー２０３へメモリー間転送（ＤＭＡ転送）された圧縮データを伸張（展開）処理を実行する部分である。データ処理部２０８は、伸張後のデータをプリントバッファー２０４に
展開する。なお、データ処理部２０８は、論理回路（スタンダードセル、ゲートアレイ等）を備える。
【００５３】
なお、コマンド解析部２００、リアルタイムコマンド実行部２０７、及び、印刷データ生成部２０６は、プリンター２に搭載されたＲＯＭ（図示せず）に記憶されるプログラム（ファームウェア）、当該プログラムに従って動作するＣＰＵ等で構成することができる。
【００５４】
上述したように、プリンター２は、データバッファーとして、受信バッファー２０５、伸張バッファー２０３、及び、プリントバッファー２０４を備える。
【００５５】
受信バッファー２０５は、ホストコンピューター１から受信した印刷要求データを受信順に格納する（蓄積する）データバッファーである。具体的には、非圧縮イメージコマンド及びテキスト等コマンド等を記憶する。
【００５６】
伸張バッファー２０３は、ＤＭＡ転送部２０１によってレジスター２６１からメモリー間転送（ＤＭＡ転送）される圧縮データを記憶するデータバッファーである。受信バッファー２０５とは別途備えられ、圧縮データを格納するための専用のデータバッファーである。
【００５７】
プリントバッファー２０４は、印刷対象となる印刷実行データを格納する（蓄積する）データバッファーであり、当該プリントバッファー２０４に格納された印刷実行データは、順次、制御部２０から印刷機構部２２に渡されて、それらに従った印刷処理がなされる。
【００５８】
なお、受信バッファー２０５、伸張バッファー２０３、及び、プリントバッファー２０４は、ＲＡＭ等で構成される。
【００５９】
なお、プリンター２は、図示していないが、ＮＶＲＡＭを備え、そこには、設定情報、ステータス情報、フォントデータ、ロゴ等のイメージデータ等プリンター２の電源が切断されても消さずに記憶しておくべき情報が格納される。
【００６０】
印刷機構部２２は、制御部２０の指示に従って用紙への印刷処理を実行する部分であり、用紙を搬送する搬送部、ラインヘッド等、用紙に印字をする印字部（いずれも図示せず）等を備える。ここでは、制御部２０の指示に従って、レシート等を印刷する。
【００６１】
以上のような構成を備えるプリンター２では、コマンド受信時の処理、特にイメージデータの処理に特徴があり、以下、その具体的な処理内容について説明する。
【００６２】
図２は、プリンター２におけるコマンド受信時の処理手順を例示したフローチャートである。
【００６３】
ここで、まず、ホストコンピューター１からプリンター２へ渡される印刷要求データのうち、イメージデータに係るデータの構造について説明する。
【００６４】
図３は、ホストコンピューター１から送信される１コマンド分の印刷要求データ（イメージデータ）の構造を模式的に示した図である。
【００６５】
図３は、イメージコマンドと、そのイメージデータ示している。図３に示すようにイメージコマンドの後ろに実際に印刷対象となるイメージデータが続いている（付随している
）。イメージコマンドが圧縮イメージコマンドのときは、圧縮データが付され、イメージコマンドが非圧縮イメージコマンドのときは、非圧縮データが付される。また、イメージコマンドには、付されるイメージデータの容量を示す情報が含まれる。
【００６６】
本実施の形態例では、印刷対象がレシートであるので、店舗のロゴ、バーコード等の印刷要求データがこのように表現される。
【００６７】
図２のフローチャートにおいて、ホストコンピューター１から受信される１コマンド分（1オブジェクト分）のデータをレジスター２６１にて受信する（図２のステップＳ１）。
【００６８】
次に、コマンド解析部２００は、レジスター２６１に受信されたコマンドの解釈を実行する（図２のステップＳ２）。具体的には、コマンド解析部２００は、受信したコマンドがリアルタイムコマンド、イメージコマンド、及び、テキスト等コマンドのいずれかであるかを解釈（識別）する。その解釈の結果、レジスター２６１で受信したコマンドがリアルタイムコマンドであった場合（図２のステップＳ３のＹｅｓ）、コマンド解析部２００は、リアルタイムコマンド実行部２０７に対してその処理を実行するよう指示する。指示を受けたリアルタイムコマンド実行部２０７は、そのコマンドにて指示された処理を即座に実行する（図２のステップＳ４）。具体的には、例えば、受信バッファー２０５、伸張バッファー２０３、及び、プリントバッファー２０４等のプリンター２が備えるデータバッファーに蓄積されたデータをクリアにしたり、ＰＯＳ端末（ホストコンピューター１）のドロワーを開けたり、警報音を発したりする。
【００６９】
一方、レジスター２６１で受信したコマンドがリアルタイムコマンド以外のコマンドであり、イメージコマンドではなかった場合、つまり、テキスト等コマンドであった場合（図２のステップＳ５のＮｏ）、コマンド解析部２００は、受信されたテキスト等コマンドを受信バッファー２０５へ順次渡し、受信バッファー２０５は、当該テキスト等コマンドの記憶をする（図２のステップＳ６）。
【００７０】
その後、印刷実行データ生成部２０６は、受信バッファー２０５に記憶された当該テキスト等コマンドを処理し、そのコマンドによって要求された印刷対象の印刷実行データを生成する（図２のステップＳ７）。
【００７１】
次に、印刷実行データ生成部２０６は、生成した印刷実行データをプリントバッファー２０４へ記憶する（図２のステップＳ８）。例えば、テキスト等コマンドが、所定のテキストの印刷を要求するものであれば、そのテキストのフォントデータを上記ＮＶＲＡＭから読み出し、そのフォントの画像データを生成して、プリントバッファー２０４に格納（展開）する。
【００７２】
一方、受信したコマンドが、イメージコマンドであって（図２のステップＳ５のＹｅｓ）、圧縮イメージコマンドであった場合（図２のステップＳ９のＹｅｓ）、コマンド解析部２００は、ＤＭＡ転送部２０１に対して、当該コマンドの後に送信されるイメージデータ（ここでは、圧縮データ）をレジスター２６１から、伸張バッファー２０３へメモリー間転送（ＤＭＡ転送）するよう指示をする（図３のステップＳ１０）。具体的には、コマンド解析部２００は、当該コマンド（圧縮データコマンド）に含まれる情報から、付随する圧縮データの容量を把握し、それに応じた回数のデータ転送をＤＭＡ転送部２０１に指示する。各転送指示において、コマンド解析部２００は、レジスター２６１の読み出し先アドレスと、伸張バッファー２０３の書き込み先アドレスを適切に変更して、ＤＭＡ転送部２０１に与える。指示を受けたＤＭＡ転送部２０１は、レジスター２６１の所定のアドレス（指示を受けたアドレス）から、伸張バッファー２０３のメモリーの所定のアドレス
（指示を受けたアドレス）へ、アドレスを変えながら図３に示すイメージデータの部分（ここでは、圧縮されたイメージデータ）をメモリー間転送（ＤＭＡ転送）する。メモリー間転送（ＤＭＡ転送）されたイメージデータは、伸張バッファー２０３へ順次記憶される（図２のステップＳ１１）。ここで、コマンド解析部２００は、コマンドの後に続くイメージデータの解釈（コマンドの識別）はしない。
【００７３】
次に、伸張バッファー２０３へ転送されたイメージデータは、データ処理部２０８にて、ハードウェア方式によって伸張処理がなされ（図２のステップＳ１２）、データ処理部２０８は、伸張処理をしたイメージデータを順次プリントバッファー２０４へ記憶（展開）する（図２のステップＳ８）。ここで、データ処理部２０８は、イメージデータの伸張処理をしながら、伸張処理後のイメージデータを順次プリントバッファー２０４へ記憶していく。
【００７４】
一方、ステップＳ９に戻って、受信したコマンドが、圧縮イメージコマンドでない場合（図２のステップＳ９のＮｏ）、つまり、非圧縮イメージコマンドであった場合には、コマンド解析部２００は、ＤＭＡ転送部２０１に対して、図３に示すイメージデータの部分（ここでは、非圧縮データ）をレジスター２６１から、受信バッファー２０５へ直接転送するよう指示をする。指示を受けたＤＭＡ転送部２０１は、イメージデータをレジスター２６１の所定のアドレスから、受信バッファー２０５の所定のアドレスへアドレスを変えながらメモリー間転送（ＤＭＡ転送）する（図２のステップＳ１３）。転送されたイメージデータは、順次受信バッファー２０５へ記憶（展開）される（図２のステップＳ１４）。ここで、コマンド解析部２００は、コマンドの後に続くイメージデータの解釈はしない。その後、受信バッファー２０５へ記憶したイメージデータは、印刷実行データ生成部２０６により、受信バッファー２０５への記憶の順で処理され、印刷実行データとして生成をされる（図２のステップＳ７）。その後、プリントバッファー２０４へ記憶される（図２のステップＳ８）。
【００７５】
このようにして、各種コマンドを受信した際のコマンド解析部２００によるコマンドの解釈からリアルタイムコマンドの実行、または、印刷実行データの生成及びプリントバッファー２０４への展開処理が終了し、プリンター２は、プリントバッファー２０４へ記憶された各印刷実行データに従って印刷する。当該例においては、レシートに印刷する１コマンド（１オブジェクト分）の印刷を実行する。
【００７６】
以上説明したように、本実施の形態例に係るプリンター２では、ホストコンピューター１から送信される各コマンドをレジスター２６１で受信し、コマンド解析部２００は、コマンドを解釈して、そのコマンドが、非圧縮イメージコマンドの場合は、その後に受信するイメージデータ（非圧縮データ）の解釈をしないで、そのイメージデータをレジスター２６１から受信バッファー２０５の所定のアドレスへ、メモリー間転送（ＤＭＡ転送）する。また、コマンド解析部２００は、解釈したコマンドが圧縮イメージコマンドの場合、その後に受信するイメージデータ（圧縮データ）の解釈をしないで、イメージデータ（圧縮データ）をレジスター２６１から、伸張バッファー２０３の所定のアドレスへ、メモリー間転送（ＤＭＡ転送）する。
【００７７】
これにより、受信した印刷要求データに含まれるイメージデータをコマンドとして解釈しないので、イメージデータの中に、リアルタイムコマンドと同一のデータ列が含まれていた場合にも、誤動作を確実に実行できる。
【００７８】
また、プリンター２では常にリアルタイムコマンドを実行できる状態なので、必要なリアルタイムコマンドによる処理をすぐに実行させることができる。
【００７９】
また、イメージデータは圧縮／非圧縮に関わらず処理できるので、データ量により圧縮の有無を変えられ、データ量の多いイメージデータでは通信速度が速く、データ量の少ないイメージデータは、圧縮伸張処理に時間がかかることがないという、両方のメリットを維持できる。
【００８０】
また、メモリー間転送方式（ＤＭＡ転送）を採用することにより、レジスター２６１の所定のアドレスから、伸張バッファー２０３または受信バッファー２０５の所定のアドレスへのデータ転送を確実に行うことができる。
【００８１】
また、圧縮データを受信する伸張バッファー２０３と、非圧縮データやテキスト等コマンドを受信する受信バッファー２０５が区別され、データバッファーとして２つのバッファーを備えるため、印刷に必要な処理を並行して実行でき、処理の効率が良い。
【００８２】
また、データ処理部２０８は、伸張バッファー２０３に転送された圧縮データのみ伸張処理を実行すれば良いため、データの区別をする必要がなく、実装を容易にでき、処理効率が良い。
【００８３】
また、データ処理部２０８は、伸張処理をハードウェア方式で行うため、プリンター２のファームウェア等、ソフトウェアが実行中でも伸張処理を行うことができ、処理効率が良く、伸張処理を速くできる。  
【００８４】
なお、プリンター２は、印刷方式としてサーマル式を採用しているが、インクジェット方式等の他の印刷方式を搭載したプリンターとしても良い。
【００８５】
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものとする。
【符号の説明】
【００８６】
１…ホストコンピューター、２…プリンター、３…無線通信、１１…アプリケーション、１２…プリンタードライバー、２０…制御部、２２…印刷機構部、２６…通信部、２００…コマンド解析部、２０１…ＤＭＡ転送部、２０３…伸張バッファー、２０４…プリントバッファー、２０５…受信バッファー、２０６…印刷データ生成部、２０７…リアルタイムコマンド実行部、２０８…データ処理部、２６１…レジスター。
【図１】
2018001692.tif 000003
【図２】
2018001692.tif 000004
【図３】
2018001692.tif 000005