(57)【特許請求の範囲】
【請求項１】
記録データを前記記録データに含まれる空白データの位置で複数のブロックの記録データに分割し、分割された前記ブロックの記録データに含まれる空白データを搬送コマンドに置き換え、置き換え後の前記ブロックの記録データが、予め定められたデータ量より大きい場合には、前記ブロックの記録データをさらに複数のブロックに分割する分割制御手段、及び前記分割制御手段で分割された前記ブロックの記録データを送信する送信制御手段を有するホストコンピューターと、
前記ホストコンピューターから送信された前記ブロックの記録データを受信バッファーに格納する受信手段、及び前記受信バッファーから受信した前記ブロックの記録データを取得して記録媒体に記録する記録制御手段を有する記録装置と、
を備えることを特徴とする記録システム。
【請求項２】
前記分割制御手段は、前記ブロックの記録データを複数のブロックに分割する際に、先
頭のブロックから順にデータ量が小さくなるように分割する請求項１記載の記録システム。
【請求項３】
前記記録装置は、前記記録媒体を搬送する搬送機構、及び前記搬送機構による搬送方向に直交して配置されたラインヘッドを有し、
前記分割制御手段は、前記記録データを前記ラインヘッドの配列方向の前記空白データの位置で分割を行う請求項１または２に記載の記録システム。
【請求項４】
前記記録装置は、前記記録媒体の搬送方向に直交する方向に走査して前記記録媒体に記録する記録ヘッドを有し、
前記分割制御手段は、前記記録データを前記記録ヘッドの走査方向の前記空白データの位置で分割を行う請求項１または２に記載の記録システム。
【請求項５】
記録データを前記記録データに含まれる空白データの位置で複数のブロックに分割し、分割された前記ブロックの記録データに含まれる空白データを搬送コマンドに置き換え、置き換え後の前記ブロックの記録データが、予め定められたデータ量より大きい場合には、前記ブロックの記録データをさらに複数のブロックに分割する分割制御手段と、
前記分割制御手段で分割されたブロックの記録データを送信する送信制御手段と、
を有することを特徴とする記録制御装置。
【請求項６】
コンピューターを、
記録データに含まれる空白データの位置で前記記録データを分割して前記記録データを複数のブロックの記録データに分割し、分割された前記ブロックの記録データに含まれる空白データを搬送コマンドに置き換え、置き換え後の前記ブロックの記録データが、予め定められたデータ量より大きい場合には、前記ブロックの記録データをさらに複数のブロックに分割する分割制御手段と、
前記分割制御手段で分割された前記ブロックの記録データを記録装置に送信する送信制御手段と、
して機能させるためのプログラム。
【請求項７】
ホストコンピューターで記録データを前記記録データに含まれる空白データの位置で複数のブロックに分割し、分割された前記ブロックの記録データに含まれる空白データを搬送コマンドに置き換え、置き換え後の前記ブロックの記録データが、予め定められたデータ量より大きい場合には、前記ブロックの記録データをさらに複数のブロックに分割し、
前記分割されたブロックの記録データを記録装置へ送信し、
前記ホストコンピューターから送信された前記ブロックの記録データを前記記録装置の受信バッファーに格納し、
前記受信バッファーから、受信した前記ブロックの記録データを取得し、
取得した前記ブロックの記録データを記録媒体に記録することを特徴とする記録システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体に記録を行う記録装置を備えた記録システム、記録システムの制御方法、この記録装置を制御する記録制御装置、および、プログラムに関する。
【背景技術】
【０００２】
従来、プリンター等の記録装置において、記録するデータを受信しながら記録する動作中に、データの転送が間に合わないと、いったん記録を中断して待機し、次のデータの受信完了後に記録を再開することがあった（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−４６７４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来の記録装置のように、記録の中断と再開を行う際に、搬送機能のギアのバックラッシュや搬送ローラーの変形等により、停止位置と記録再開位置とがずれて記録媒体に記録されたデータにスジ状の空白等を生じ、記録品質が低下することがあった。このような問題は、特許文献１に記載された通信回線に限らず、外部の装置からＲＳ２３２Ｃインターフェイス等のインターフェイスを介してデータを記録装置に送る場合に、この通信インターフェイスが許容する通信速度の限界が低い場合に発生しやすい。しかしながら、通信インターフェイスの変更や、規格から外れるような高速化を行うことは、他装置との互換性や汎用性の観点から容易ではない。このため、通信の高速化による解決ができない場合があった。
本発明は、上述した事情に鑑みてなされたものであり、外部から送信される記録データを受信して記録を行う記録装置が、記録動作を中断することによる記録品質の低下を防止することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、記録データを前記記録データに含まれる空白データの位置で複数のブロックの記録データに分割し、分割された前記ブロックの記録データに含まれる空白データを搬送コマンドに置き換え、置き換え後の前記ブロックの記録データが、予め定められたデータ量より大きい場合には、前記ブロックの記録データをさらに複数のブロックに分割する分割制御手段、及び前記分割制御手段で分割された前記ブロックの記録データを送信する送信制御手段を有するホストコンピューターと、前記ホストコンピューターから送信された前記ブロックの記録データを受信バッファーに格納する受信手段、及び前記受信バッファーから受信した前記ブロックの記録データを取得して記録媒体に記録する記録制御手段を有する記録装置と、を備えることを特徴とする。
本発明によれば、記録対象の記録データが空白部（空白データ）で複数のブロックに分割され、ホストコンピューターから記録装置へブロック単位で記録データが送信されるので、記録データの受信が間に合わずに記録装置が記録を中断して待機しても、一時停止する位置が空白データの位置であるため、記録品質が低下しない。すなわち、記録装置が記録を中断し一時停止するときの中断位置が、記録対象文書に存在する空白に重なるので、中断位置と記録再開位置とがずれても筋状の空白等が視認できない。このため、通信速度が低速である等の理由により記録動作の中断が起きても記録品質の低下を防止できる。
【０００６】
また、本発明によれば、受信バッファーのサイズに基づいて予め定められたデータ量をもとに、空白部で分割されたブロックが、受信バッファーのサイズと比較して、例えば短時間で受信可能なサイズの複数のブロックに再分割される。再分割されたブロックはサイズが小さいため、速やかに記録装置が記録データと記録指示コマンドとの両方を受信して受信バッファーに格納できるので、次のブロックのデータを受信するまで待機する動作が発生せず、中断なく記録できる。このため、例えば記録対象の記録データの空白部が少なく分割できるブロック数が少ない場合に、一つのブロックのサイズが大きくなっても、該ブロックを中断なく記録できる。従って、記録動作の中断の頻度を低下させ、記録品質の低下を防止できる。
【０００７】
また、本発明は、上記記録システムにおいて、前記分割制御手段は、前記ブロックの記録データを複数のブロックに分割する際に、先頭のブロックから順にデータ量が小さくなるように分割することを特徴とする。
本発明によれば、記録装置が受信バッファー内の記録データを記録しながら、次以後のブロックの記録データと記録指示コマンドとを受信する場合に、最初のブロックのサイズが大きいために記録完了までの時間が長く、その後はブロックのサイズを順次小さくすることで受信が速やかに完了するとともに受信バッファー内に確実に記録データと記録指示コマンドとを格納できる。これにより、最初に分割された一つのブロックを中断することなく記録できる。
【０００８】
また、本発明は、上記記録システムにおいて、前記記録装置は、前記記録媒体を搬送する搬送機構、及び前記搬送機構による搬送方向に直交して配置されたラインヘッドを有し、
前記分割制御手段は、前記記録データを前記ラインヘッドの配列方向の前記空白データの位置で分割を行うことを特徴とする。
本発明によれば、記録媒体を搬送しながらラインヘッドにより記録を行う際に、記録装置が記録を中断する場合の停止位置がラインヘッドに平行な空白データに重なるため、中断による記録品質の低下が発生しない。
【０００９】
また、本発明は、上記記録システムにおいて、前記記録装置は、前記記録媒体の搬送方向に直交する方向に走査して前記記録媒体に記録する記録ヘッドを有し、
前記分割制御手段は、前記記録データを前記記録ヘッドの走査方向の前記空白データの位置で分割を行うことを特徴とする。
本発明によれば、記録ヘッドを記録媒体の搬送方向に直交させて走査して記録を行う記録装置が、記録を中断する場合に、走査方向に存在する空白部に重なる位置で停止するので、中断による記録品質の低下が発生しない。
【００１０】
また、上記目的を達成するために、本発明は、記録データを前記記録データに含まれる空白データの位置で複数のブロックに分割し、分割された前記ブロックの記録データに含まれる空白データを搬送コマンドに置き換え、置き換え後の前記ブロックの記録データが、予め定められたデータ量より大きい場合には、前記ブロックの記録データをさらに複数のブロックに分割する分割制御手段と、前記分割制御手段で分割されたブロックの記録データを送信する送信制御手段と、を有することを特徴とする。
本発明の記録制御装置によって記録装置を制御することで、記録対象の記録データが空白部で複数のブロックに分割され、ホストコンピューターから記録装置へブロック単位で記録データが送信されるので、ブロック全体の記録データの受信が間に合わずに記録装置が受信完了まで記録を中断して待機しても、一時停止する位置が空白部の位置であるため、記録品質が低下しない。このため、通信速度が低速である等の理由により記録動作の中断が起きても記録品質の低下を防止できる。
【００１１】
また、上記目的を達成するために、本発明のプログラムは、コンピューターを、
記録データに含まれる空白データの位置で前記記録データを分割して前記記録データを複数のブロックの記録データに分割し、分割された前記ブロックの記録データに含まれる空白データを搬送コマンドに置き換え、置き換え後の前記ブロックの記録データが、予め定められたデータ量より大きい場合には、前記ブロックの記録データをさらに複数のブロックに分割する分割制御手段と、前記分割制御手段で分割された前記ブロックの記録データを記録装置に送信する送信制御手段と、して機能させる。
本発明のプログラムを実行して記録装置を制御することで、記録対象の記録データが空白部で複数のブロックに分割され、ホストコンピューターから記録装置へブロック単位で記録データが送信されるので、ブロック全体の記録データの受信が間に合わずに記録装置が受信完了まで記録を中断して待機しても、一時停止する位置が空白部の位置であるため、記録品質が低下しない。このため、通信速度が低速である等の理由により記録動作の中断が起きても記録品質の低下を防止できる。
【００１２】
また、上記目的を達成するために、本発明は、ホストコンピューターで記録データを前記記録データに含まれる空白データの位置で複数のブロックに分割し、分割された前記ブロックの記録データに含まれる空白データを搬送コマンドに置き換え、置き換え後の前記ブロックの記録データが、予め定められたデータ量より大きい場合には、前記ブロックの記録データをさらに複数のブロックに分割し、前記分割されたブロックの記録データを記録装置へ送信し、前記ホストコンピューターから送信された前記ブロックの記録データを前記記録装置の受信バッファーに格納し、前記受信バッファーから、受信した前記ブロックの記録データを取得し、取得した前記ブロックの記録データを記録媒体に記録することを特徴とする。
本発明の記録システムの制御方法により、記録対象の記録データが空白部で複数のブロックに分割され、ホストコンピューターから記録装置へブロック単位で記録データが送信されるので、ブロック全体の記録データの受信が間に合わずに記録装置が受信完了まで記録を中断して待機しても、一時停止する位置が空白部の位置であるため、記録品質が低下しない。このため、通信速度が低速である等の理由により記録動作の中断が起きても記録品質の低下を防止できる。
【発明の効果】
【００１３】
本発明によれば、記録対象文書を空白部で複数のブロックに分割し、記録装置へブロック単位で記録データと記録指示コマンドとが送信されるので、記録装置が受信待ちのために記録を中断しても記録品質が低下しない。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る記録システムの構成を示すブロック図である。
【図２】プリンターの動作を示すフローチャートである。
【図３】ホストコンピューターの動作を示すフローチャートである。
【図４】記録対象文書を分割する様子を示す説明図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本発明を適用した実施形態に係る記録システム１の機能ブロック図である。
この図１に示すように、記録システム１は、記録制御装置としてのホストコンピューター２と、記録装置としてのプリンター３とを接続して構成される。
ホストコンピューター２は、基本制御プログラムを実行して各部を制御することにより、プリンター３の制御を含む各種機能を実現するＣＰＵ２１、ＣＰＵ２１により実行される基本制御プログラムやデータ等を記憶するＲＯＭ２２、ＣＰＵ２１が実行するプログラムやデータ等を一時的に記憶するワークエリアを形成するＲＡＭ２３、キーボードやマウス等の入力デバイスに接続され、これら入力デバイスの操作を検出して、操作に対応する操作信号をＣＰＵ２１に出力する入力部２５、ディスプレイ等の出力デバイスに接続され、該出力デバイスにＣＰＵ２１が実行した処理の結果や入力部２５による入力内容等を出力させる出力部２６、ＣＰＵ２１が実行するアプリケーションプログラムや、これらプログラムに関するデータを記憶する記憶部２４、外部の通信ネットワークに接続され、該通信ネットワークを介して各種情報を送受信する通信インターフェイス（Ｉ／Ｆ）２７、及び、プリンター３に接続されるインターフェイス（Ｉ／Ｆ）部２８を備え、これらの各部はバス２９により相互に接続されている。
【００１６】
インターフェイス部２８は、ＲＳ４３２Ｃ、ＵＳＢ等の規格に準拠したコネクター（図示略）と、このコネクターに接続される接続ケーブル（図示略）を介してプリンター３との間で信号を送受信するインターフェイス回路（図示略）とを備えている。インターフェイス部２８は、ＲＦ回路やアンテナを備えた無線通信インターフェイスとして構成することも可能であり、本実施形態ではあくまで一例として接続ケーブルによる有線通信を行う場合について説明する。
【００１７】
インターフェイス部２８は、プリンター３に送信すべきデータがＣＰＵ２１から入力されると、上記規格のプロトコルに適合するように入力されたデータのエンコードやパケットの生成を行い、生成したパケットをプリンター３へ送信する。また、インターフェイス部２８は、プリンター３か受信したパケットを解析して、該パケットのペイロードに含まれるデータをデコードし、デコードされたデータをＣＰＵ２１に出力する。
【００１８】
ホストコンピューター２は、ＣＰＵ２１により実行されるドライバープログラム２４Ａを、ＣＰＵ２１が読み取り可能な形態で記憶部２４に記憶している。このドライバープログラム２４Ａは、プリンター３を制御して記録（印刷）を実行させるためのプログラムである。
ＣＰＵ２１は、入力部２５から入力される操作信号に基づいて、或いは予めＲＯＭ２２に格納された基本制御プログラムに従って、ドライバープログラム２４Ａを読み出して実行し、プリンター３に対する印刷制御を行う。
【００１９】
ドライバープログラム２４Ａを実行することにより、ＣＰＵ２１は、記憶部２４に格納された図示しないアプリケーションプログラムの実行により生成された文書（画像のみの場合を含む）の記録を実行させる。すなわち、入力部２５から入力される操作信号により、記録すべき文書が指定され、記録部数、この文書における記録対象の範囲、記録する色、フォント、フォントサイズ、記録時の拡大率／縮小率、記録方向等の条件が指定され、記録実行が指示されると、ＣＰＵ２１は、ドライバープログラム２４Ａの機能によって、プリンター３により記録すべき記録対象文書のデータ（記録対象の記録データ）を生成する。この記録対象文書のデータには、フォント、フォントサイズ等を指定する付加情報、テキストデータや画像データ等のデータ、空白（スペース）、タブ文字、改行等の制御コード等が含まれる。この記録データは、付加情報に従ってテキストや画像を所定サイズで配置した一つの画像データであってもよい。そして、ＣＰＵ２１は、生成した記録データを、記録実行を指示する制御コマンドである記録指示コマンドとともにプリンター３に送信する。また、ＣＰＵ２１は、インターフェイス部２８によってプリンター３から送信されるデータを受信する。このデータには、インターフェイス部２８によりプリンター３に送信した記録データ及び記録指示コマンドの受信が完了したことを示す受信完了通知、プリンター３の動作状態を示すステータス等が含まれる。
【００２０】
一方、プリンター３は、フェームウェアを実行してプリンター３の各部を制御し、記録機能を実現するＣＰＵ３１、ＣＰＵ３１が実行するファームウェア及びデータを一時的に保持するＲＡＭ３２、ＣＰＵ３１により実行されるファームウェア及び関連するデータを記憶する不揮発性メモリー３４、操作パネル（図示略）に配置されたスイッチ等の入力デバイスに対する操作を検出して操作信号をＣＰＵ３１に出力する入力部３５、操作パネルに配置されたＬＥＤ或いは液晶ディスプレイを制御して、プリンター３の動作状態等を表示させる表示部３６、記録システム１との間で各種データを送受信するインターフェイス（Ｉ／Ｆ）部３７を備え、これらはバス３８により相互に通信可能に接続される。
また、プリンター３は、プリンター３が備える各種センサーの検出値を取得するゲートアレイ４１、プリンター３のモーターを駆動するモータードライバー４２、及び、記録ヘッドとしてのサーマルヘッド５７を駆動するヘッドドライバー４３を備えており、これらはバス３８を介してＣＰＵ３１に接続され、ＣＰＵ３１の制御に従って動作する。
【００２１】
ゲートアレイ４１には、プリンター３のカバーの開閉を検出するカバーセンサー５１が接続されている。このカバーの内部には、プリンター３が記録する記録媒体としての感熱ロール紙が収容され、ロール紙の補充や交換の際にカバーが開かれた場合にカバーセンサー５１の検出値が変化する。また、ゲートアレイ４１には、ロール紙の残量を検出するリアルエンドセンサー５２及びニアエンドセンサー５３が接続されている。ニアエンドセンサー５３はロール紙収容部においてロール紙の残量が所定以下となった場合に検出値が変化するセンサーである。ニアエンドセンサー５３は、サーマルヘッド５７の上流側の近傍に配置され、ロール紙の有無を検出するセンサーである。ニアエンドセンサー５３の検出値の変化は、サーマルヘッド５７により記録可能な残量がほぼゼロになったことを示す。ゲートアレイ４１は、これら各センサーの出力電圧を検出してデジタルデータに変換し、ＣＰＵ３１に出力する。
【００２２】
モータードライバー４２には、プラテンローラー５５を回転させてロール紙を搬送する搬送モーター５４が接続される。モータードライバー４２は、搬送モーター５４に対して駆動電流及び駆動パルスを出力し、ＣＰＵ３１の制御により指示された量だけ搬送モーター５４を回転させ、ロール紙を長手方向に搬送させる。また、モータードライバー４２には、サーマルヘッド５７による記録後のロール紙を切断するカッター-ユニット（図示略）のカッター駆動モーター５６が接続される。モータードライバー４２は、ＣＰＵ３１の制御に従ってカッター駆動モーター５６に駆動電流及び駆動パルスを出力し、ロール紙を切断させる。搬送モーター５４及びプラテンローラー５５は搬送機構を構成する。
サーマルヘッド５７は、ロール紙の搬送方向に対して直交する方向に複数の発熱素子を並べて配置した構成を有するラインヘッドである。ヘッドドライバー４３は、サーマルヘッド５７が備える各発熱素子への通電制御を行い、これら発熱素子を所定の温度に発熱させて、ロール紙に有色のドットを形成する。
【００２３】
ＣＰＵ３１は、ファームウェアを実行することにより、ホストコンピューター２から送信される記録データと記録指示コマンドをインターフェイス部３７によって受信し、ＲＡＭ３２が備える受信バッファー３３に受信順に格納する。ＣＰＵ３１は、受信バッファー３３内の記録指示コマンドに従って、記録データを受信バッファー３３から読み出してＲＡＭ３２に展開し、ロール紙に記録するテキストを指定された位置に、指定されたフォントを使用して配列するとともに、画像データを配置して、ロール紙に記録するイメージデータを生成する。そして、ＣＰＵ３１は、生成したイメージデータに基づいてモータードライバー４２及びヘッドドライバー４３を制御し、ロール紙を搬送しながら記録を実行する。記録対象文書の最後までイメージデータの記録が完了すると、ＣＰＵ３１は、モータードライバー４２を制御してロール紙を搬送させ、切断させる。
また、ＣＰＵ３１は、インターフェイス部３７の機能により、ホストコンピューター２から送信された記録データと記録指示コマンドの受信が完了するごとに受信完了通知をホストコンピューター２に送信し、プリンター３の動作状態を示すステータス情報を随時ホストコンピューター２に送信する。また、例えば、ニアエンドセンサー５３によりロール紙切れが検出された場合やカバーセンサー５１によりカバーが開かれたことを検出した場合にオフラインに移行した場合に、オフラインを示すステータス情報を送信する。ＣＰＵ３１は、カバーセンサー５１が閉じられたことを検出してオンラインに移行した場合もステータス情報を送信する。
【００２４】
ホストコンピューター２のインターフェイス部２８及びプリンター３のインターフェイス部３７は、ＲＳ４３２Ｃ、ＵＳＢ等の規格に準拠したコネクター（図示略）と、このコネクターに接続される接続ケーブル（図示略）を介して相互に信号を送受信するインターフェイス回路（図示略）とを備えている。インターフェイス部２８、３７は、ＲＦ回路やアンテナを備えた無線通信インターフェイスとして構成することも可能であり、本実施形態ではあくまで一例として接続ケーブルによる有線通信を行う場合について説明する。
【００２５】
インターフェイス部２８は、ＣＰＵ２１からプリンター３に送信すべきデータが入力されると、上記規格により定められたプロトコルに適合するように入力されたデータのエンコードやパケットの生成を行い、生成したパケットをプリンター３へ送信する。また、インターフェイス部２８は、プリンター３から受信したパケットを解析して、該パケットのペイロードに含まれるデータをデコードし、デコードされたデータをＣＰＵ２１に出力する。
一方、インターフェイス部３７は、ＣＰＵ３１からホストコンピューター２に送信すべきデータが入力されると、上記プロトコルに適合するように入力されたデータのエンコードやパケットの生成を行い、生成したパケットをホストコンピューター２へ送信する。また、インターフェイス部３７は、ホストコンピューター２から受信したパケットを解析して、該パケットのペイロードに含まれるデータをデコードし、デコードされたデータをＣＰＵ３１に出力する。
【００２６】
以上のように構成される記録システム１において、ホストコンピューター２は、記録対象文書のデータをプリンター３に送信する際に、記録対象文書のデータを分割して送信する。記録対象文書のデータを分割した各部分を、ブロックと呼ぶ。ホストコンピューター２は、ブロック単位で、上述した記録データと記録指示コマンドとを送信する。
例えば、プリンター３が備える受信バッファー３３の容量に比べて記録対象文書のデータが大きい場合や、ホストコンピューター２とプリンター３との間の通信速度（単位時間あたりに送信可能なデータ量）に比べて記録対象文書のデータのサイズが大きい場合には、プリンター３がデータを受信して記録する過程で、待ち時間が生じ、記録結果に影響を与える可能性がある。この点について詳細に説明する。
【００２７】
図２は、プリンター３の動作を示すフローチャートである。
この図２に示す動作はＣＰＵ３１により不揮発性メモリー３４のファームウェアをＣＰＵ３１が実行することで実現される。この図２の動作を実行するＣＰＵ３１は、インターフェイス部３７とともに受信手段に相当し、また、記録制御手段に相当する。
ＣＰＵ３１は、記録を開始するに先立って受信バッファー３３内のデータを参照し（ステップＳ１１）、受信バッファー３３に受信済みのブロックのデータがあるか否かを判別する（ステップＳ１２）。上述したように、ホストコンピューター２は、記録対象文書のデータのブロックごとに、記録データと記録指示コマンドとを送信する。この場合、ホストコンピューター２からプリンター３に対し、記録データのみを送信する構成としてもよい。ＣＰＵ３１はインターフェイス部３７によりブロック単位で記録データと記録指示コマンドとを受信し、記録データと記録指示コマンドの両方を受信すると、受信完了となる。ＣＰＵ３１は、ステップＳ１２において、記録データと記録指示コマンドの両方の受信が完了しているブロックがあるか否かを判別する。受信が完了しているブロックのデータがない場合（ステップＳ１２；Ｎｏ）、ＣＰＵ３１はステップＳ１１に戻って待機する。
【００２８】
受信バッファー３３に受信済みのブロックがある場合（ステップＳ１２；Ｙｅｓ）、ＣＰＵ３１は、受信済みのブロックのうち先頭に最も近いブロックを選択して記録データと記録指示コマンドとを受信バッファー３３から取得し（ステップＳ１３）、取得した記録指示コマンドに従って、取得した記録データに基づき記録を開始する（ステップＳ１４）。ここで、取得したブロックのデータを受信バッファー３３から削除してもよい。
記録開始後、ＣＰＵ３１は、記録中のブロックの記録完了が近いか否かを、例えばブロックの終端位置と現在のサーマルヘッド５７の位置とが予め設定された距離以内であるか否かによって判定し（ステップＳ１５）、記録完了が近くない場合には（ステップＳ１５；Ｎｏ）、記録を継続する。
ブロックの記録完了が近いと判定した場合（ステップＳ１５；Ｙｅｓ）、ＣＰＵ３１は、記録対象文書の全体、すなわち記録対象文書の１ページを構成する全てのブロックの記録が完了したか否かを判別する（ステップＳ１６）。ページ全体の記録が完了した場合（ステップＳ１６；Ｙｅｓ）、ＣＰＵ３１はプラテンローラー５５を動作させてロール紙を搬送して記録したページを排出するとともに、カッター駆動モーター５６を駆動してカットを行い（ステップＳ１７）、本処理を終了する。
【００２９】
また、ページの全体の記録が完了していない場合、すなわち同じ記録対象文書のページに、記録すべき他のブロックが存在する場合（ステップＳ１６；Ｎｏ）、ＣＰＵ３１は受信バッファー３３を参照して、受信済みかつ未記録の他のブロックのデータがあるか否かを判別する（ステップＳ１８）。受信済みのブロックのデータが受信バッファー３３にある場合（ステップＳ１８；Ｙｅｓ）、ＣＰＵ３１は、受信バッファー３３から該当するブロックのデータと記録指示コマンドとを取得して、ステップＳ１４に戻り、取得した記録指示コマンドに従って記録データに基づく記録を、現在記録中のブロックに続けて開始する。このように、ブロックの記録完了が近い時点で次のブロックの記録データと記録指示コマンドとを取得するので、動作を停止せず連続して複数のブロックを記録できる。
【００３０】
一方、受信バッファー３３に受信済みのブロックのデータがない場合、或いは、次に記録すべきブロックが判明している場合に、このブロックのデータが受信済みでない場合に、ＣＰＵ３１はステップＳ１５で記録完了が近いと判別したブロックの記録を完了してからいったん記録動作を停止する（ステップＳ２０）。このステップＳ２０では搬送モーター５４及びサーマルヘッド５７が停止する。
ＣＰＵ３１は再び受信バッファー３３を参照し（ステップＳ２１）、受信済みの他のブロックのデータがあるか否かを判別し（ステップＳ２２）、受信済みのブロックのデータがある場合（ステップＳ２２；Ｙｅｓ）、ステップＳ１９に移行して、受信バッファー３３から該当するブロックのデータと記録指示コマンドとを取得し、ステップＳ１４に戻る。また、受信済みのブロックのデータが受信バッファー３３にない場合は（ステップＳ２２；Ｎｏ）、タイムアウトでないか否かを判別し（ステップＳ２３）、タイムアウトするまでの間、ステップＳ２１に戻って次のブロックのデータが受信完了となるまで待機する。この待機時間が予め設定された制限時間を超えてタイムアウトした場合（ステップＳ２３；Ｙｅｓ）、ＣＰＵ３１はステップＳ１７に移行して、記録済みの部分を排出してカットし、本処理を終了する。
【００３１】
このように、プリンター３は、ブロック単位で記録データと記録指示コマンドとを受信して、記録を実行する。一つのブロックの記録中に、次のブロックのデータの受信が完了すると、ＣＰＵ３１はホストコンピューター２とプリンター３との間の通信速度が不足している場合や、この通信速度に比べてブロックのデータのサイズが非常に大きい場合など、受信に時間がかかる場合には、記録中に次のブロックのデータを受信完了していないことが起こり得るが、プリンター３はブロックの境目で記録動作を停止して待機する。
プリンター３が記録中に停止し、その後記録を再開すると、停止位置において白筋が発生することが知られている。この現象はサーマルプリンターでよく起きることが知られているが、ドットインパクト式やインクジェット式のプリンターでも起こり得る。
この現象を回避するため、ホストコンピューター２は、記録対象文書のデータをブロックに分割する際に、空白部（空白データ）で分割を行うようにする。これにより白筋が発生しても視認できないため、記録品質が低下しない。また、ホストコンピューター２は、記録対象文書のデータ中の空白部を搬送コマンドに置き換えることでデータ量を削減し、通信速度が低くても速やかにプリンター３がデータを受信完了できるようにする。さらに、ホストコンピューター２は、いったん分割したブロックのデータのサイズが大きい場合に、これをさらに細かいブロックに分割することで、プリンター３が速やかに受信完了できるようにする。
【００３２】
図３は、ホストコンピューター２の動作を示すフローチャートである。また、図４は、図３の動作において記録対象文書が分割される様子を示す説明図である。図４（Ａ）は記録対象文書の例を示し、（Ｂ）は記録対象文書が複数のブロックに分割された状態の例を示し、（Ｃ）はブロックが再分割された状態の例を示す。
図３に示す動作は、記憶部２４に記憶したアプリケーションプログラムの実行中に入力部２５の操作によって記録が指示され、記録すべき文書のデータがドライバープログラム２４Ａに入力され、ドライバープログラム２４Ａの機能によって記録対象文書のデータが生成された後に実行される。この動作もドライバープログラム２４Ａの機能によって実現される。この図３の動作を実行するＣＰＵ２１は分割制御手段及び送信制御手段に相当する。
ＣＰＵ２１は、上記のように記録が指示されると（ステップＳ３１）、ドライバープログラム２４Ａの機能により生成した記録対象文書のデータを取得し（ステップＳ３２）、記録対象文書に含まれる搬送方向の空白部を検出する（ステップＳ３３）。
【００３３】
ＣＰＵ２１は、検出した空白部と空白でない部分との境界で記録対象文書を複数のブロックに分割する（ステップＳ３４）。空白部（空白データ）とは、例えばスペースやタブなど記録を行わないことを示すデータ、或いは改行のみ、或いは、改行のみで構成された行や空白行である。また、紙送りのみをする部分でもよい。イメージデータであって、空白イメージが含まれている部分でもよい。空白でない部分とは、テキスト、記号、画像データ等の実際に記録すべきデータが含まれている行である。ＣＰＵ２１は、分割されたブロックのうち、空白部のブロックを構成するデータを搬送コマンドに置き換える処理をする（ステップＳ３５）。このステップＳ３５の処理によって、記録対象文書の見栄えは何ら変化しないが、スペース、改行文字、タブ記号、紙送り記号等が搬送コマンドに変換されることでプリンター３に送られる記録データのサイズが小さくなる。
【００３４】
図４（Ａ）に例示した記録対象文書１００には、トップロゴ１０１、バーコード１０２等の画像と、複数の行のテキストが含まれている。この記録対象文書１００を記録する場合の記録媒体の搬送方向は、図中に矢印で示す方向であり、図中の上端が先に記録される。
この記録対象文書１００には画像もテキストも印字されていない空白部が存在するので、この記録対象文書１００を空白部と空白以外の部分との境界で分割すると、図４（Ｂ）に示すようにブロックＢ１〜Ｂ１３の１３個のブロックに分割される。このうち空白部はブロックＢ１、Ｂ３、Ｂ５、Ｂ７、Ｂ９、Ｂ１１、Ｂ１３の７個ある。
【００３５】
ＣＰＵ２１は、図３のステップＳ３４で分割した各ブロックのデータのサイズを算出し（ステップＳ３６）、しきい値を超えるサイズのブロックがあるか否かを判別する（ステップＳ３７）。このしきい値は、予めプリンター３が有する受信バッファー３３の容量に基づいて決定された値、或いは、過去のプリンター３とホストコンピューター２との間の通信を行った際にプリンター３がバッファーフルとなってホストコンピューター２が待機した時間と、その際にプリンター３に送信したデータ量等に基づいて決定された値である。しきい値は記憶部２４に記憶されている。このしきい値は、固定的な値であってもよいし、ホストコンピューター２がプリンター３に対してデータを送信した履歴に基づいて動的に変化する値であってもよい。
【００３６】
しきい値を超えるブロックがある場合（ステップＳ３７；Ｙｅｓ）、ＣＰＵ２１は、該当するブロックをさらに分割する再分割の実行を開始し（ステップＳ３８）、この再分割の処理においては、一つのブロックを、記録時の先頭から順にサイズが小さくなるように複数のブロックに分割する（ステップＳ３９）。この再分割が終了した後、ＣＰＵ２１はステップＳ３７に戻って再び判別を行う。
図４（Ｂ）に示す例ではトップロゴ１０１を含むブロックＢ２のサイズがしきい値を超えている。そこで、ＣＰＵ２１は、図４（Ｃ）に示すようにブロックＢ２を分割する。図４（Ｃ）の例ではブロックＢ２が３つのブロックＢ２１、Ｂ２２、Ｂ２３に分割されており、ブロックＢ２１のサイズが最も大きく、ブロックＢ２１、Ｂ２２の順に、順次サイズが小さくなっている。
【００３７】
一つのブロックを再分割する際の分割数の決定方法は、例えば、再分割前のブロックのサイズとしきい値とを比較する方法が挙げられるが、予め再分割の基準となる値が記憶部２４に記憶されており、この基準値を超えないように先頭のブロックを分割し、その後、残りの部分を、サイズが順次小さくなるよう分割する方法もある。この方法では再分割をした後にさらに再分割する必要がないので、有用である。この基準値は、上述したしきい値をもとに決定することができる。
【００３８】
そして、しきい値を超えるブロックが無くなると（ステップＳ３７；Ｙｅｓ）、ＣＰＵ２１は、複数のブロックの記録データの各々に記録指示コマンドを付加して（ステップＳ４０）、記録対象文書の先頭のブロックから順に、ブロック毎に記録データと記録指示コマンドとを送信する（ステップＳ４１）。なお、ホストコンピューター２からプリンター３へ記録データと記録指示コマンドとを送信する手順は、送信する記録データ及び記録指示コマンドを複数のパケットに分割し、送信要求と受信確認とを交互に送受信する送信制御が行われ、必要に応じてパケットの再送処理や送信待機等が行われる。
なお、ステップＳ３７〜Ｓ３９の処理は、再分割するブロックのサイズがしきい値より小さいサイズであれば、１回のみ実行されるが、その後にしきい値を超えるブロックが存在する場合は連続して実行することも勿論可能である。
【００３９】
以上のように、本発明を適用した実施形態に係る記録システム１は、ホストコンピューター２と、ホストコンピューター２から送信される記録データを記録媒体としてのロール紙に記録するプリンター３とを備えた記録システム１であって、ホストコンピューター２は、ＣＰＵ２１により、記録対象文書の記録データを複数のブロックに分割し、分割されたブロックごとに記録データをプリンター３に送信し、プリンター３は、ホストコンピューター２から送信されたブロックごとの記録データを受信順に受信バッファー３３に格納し、受信バッファー３３から、ブロック全体の記録データの受信が完了したブロックのデータを取得し、取得したデータを記録するものであり、ＣＰＵ２１は、記録対象文書をブロックに分割する分割位置が、記録対象文書に含まれる空白部となるよう分割する。
このため、記録対象文書が空白部で複数のブロックに分割され、ホストコンピューター２からプリンター３へブロック単位で記録データと記録指示コマンドとが送信されるので、ブロック全体の記録データと記録指示コマンドの受信が間に合わずにプリンター３が受信完了まで記録を中断して待機しても、記録品質が低下しない。すなわち、プリンター３が記録を中断するときの中断位置が、記録対象文書に存在する空白部（空白データの記録位置）に重なるので、仮に中断位置と記録再開位置とがずれることによって筋状の空白が生じても、この空白は視認できないから、記録動作の中断が記録品質に影響しない。このため、通信速度が低速である等の理由により記録動作の中断が起きても記録品質の低下を防止できる。
【００４０】
また、ＣＰＵ２１は、記録対象文書を分割したブロックの記録データが、プリンター３の受信バッファー３３のサイズに基づいて予め定められたデータ量より大きい場合には、このブロックをさらに複数のブロックに分割する。つまり、いったん分割されたブロックが、受信バッファー３３のサイズと比較して適切なサイズの、例えば短時間で受信可能なサイズの複数のブロックに再分割される。再分割されたブロックはサイズが小さく、速やかにプリンター３が記録データと記録指示コマンドとの両方を受信して受信バッファー３３に格納できるので、次のブロックのデータを受信するまで待機する動作が発生せず、中断なく記録できる。例えば記録対象文書の空白部が少ないために分割できるブロック数が少ない場合には、一つのブロックのサイズが大きくなるが、このような場合でも該ブロックを複数のブロックに分割することで中断なく記録できる。従って、記録動作の中断の頻度を低下させ、記録品質の低下を防止できる。
【００４１】
また、ＣＰＵ２１は、記録対象文書を分割したブロックをさらに複数のブロックに分割する際に、先頭のブロックから順に記録データのデータ量が小さくなるように分割する。この場合、プリンター３が受信バッファー３３内の記録データを記録しながら、次以後のブロックの記録データと記録指示コマンドとを受信する場合に、最初のブロックのサイズが大きいために記録完了までの時間が長く、その後はブロックのサイズが順次小さくなるので受信が速やかに完了するとともに、受信バッファー３３からあふれることなく、確実に記録データと記録指示コマンドとを格納できる。これにより、最初に分割された一つのブロックを中断することなく記録できる。
【００４２】
また、プリンター３は、ロール紙を搬送する搬送機構としての搬送モーター５４及びプラテンローラー５５と、搬送方向に直交して配置されたラインヘッドであるサーマルヘッド５７とを備え、ロール紙を搬送しながらサーマルヘッド５７で記録する構成を有し、ＣＰＵ２１は、記録対象文書に存在する、サーマルヘッド５７の配列方向（記録媒体としてのロール紙の搬送方向と直交する方向）と平行な空白部で分割を行うので、プリンター３が記録を中断する場合に、記録停止位置がラインヘッドに平行な空白部に重なるため、中断による記録品質の低下が発生しない。この場合、サーマルヘッド５７に限らず、インクジェット等でラインヘッドを有するプリンターでもよい。
【００４３】
なお、上述した各実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能であることは勿論である。
例えば、上記実施形態のプリンター３は記録媒体としてのロール紙の搬送方向に直交してラインサーマルヘッド５７を設けた構成として説明したが、プリンター３が、記録媒体の搬送方向に直交する方向に記録ヘッドを走査して記録する構成としてもよく、この場合、ＣＰＵ２１は、記録対象文書中で記録ヘッドの走査方向に存在する空白部で分割を行えばよい。この場合、記録ヘッドを記録媒体の搬送方向に直交させて走査して記録を行うプリンターが、記録を中断する場合に、走査方向に存在する空白部に重なる位置で停止するので、中断による記録品質の低下が発生しない。
また、上記実施形態の記録システム１は、記録対象である記録対象文書１００のデータにおいて、記録データの空白と空白以外との境界でブロックを分割するものとして説明したが、本発明はこれに限定されるものではなく、空白の中心で記録データを分割してもよい。この場合、各ブロックは、空白以外のデータ（文字や画像など）に空白データが繋がったデータとなる。また、この場合に空白データのみのブロックが無いように全ての空白データの内部で記録データを分割しても良いし、空白データの端近傍で記録データを分割することで空白データのみのブロックを形成しても良い。
【００４４】
また、例えば、上記実施形態の記録システム１は、ホストコンピューター２が図４に示すような帳票形式の記録対象文書を、入力部２５による指示に応じて文書毎に記録する例を説明したが、複数の記録対象文書を一括して処理することも可能であり、また、予め設定された条件に従って図２〜図３に示す動作を自動的に行うことも可能である。
また、上記実施形態ではインターフェイス部２８とインターフェイス部３７とが１対１で有線接続された構成を例に挙げて説明したが、本発明はこれに限定されるものではなく、無線ＬＡＮやＩＲデータ通信等の無線通信技術を利用することも勿論可能である。また、ＬＡＮを利用して、或いはホストコンピューター２に複数のインターフェイス部２８を設けて、１台のホストコンピューター２に対し複数のプリンター３を接続することも勿論可能である。また、複数のホストコンピューター２をプリンター３に接続してもよい。この場合、各々プリンター３とホストコンピューター２とは仮想的に１対１の接続を確立して、記録データと記録指示コマンドとを送受信する構成とすればよい。
【００４５】
また、例えば、記録システム１は、機能ブロック図に示した各々の機能ブロックに対応するハードウェアを備えたものであってもよいが、ソフトウェアとハードウェアとの協働により、１または少数のハードウェアによって所定のプログラムを実行することで、複数の機能ブロックの機能を実現することも勿論可能である。また、上記実施形態のホストコンピューター２はパーソナルコンピューターに限定されず、ＰＯＳシステムを構成するコンピューターや、携帯型電子機器等のデバイスであってもよく、ＯＳの構成を含めてその具体的態様は任意であり、例えばドライバープログラム２４Ａの機能及びアプリケーションプログラムの機能をＯＳに統合した装置として構成することも可能である。また、プリンターは特定の形態のプリンターに限定されず、インクジェット式プリンター、ドットインパクト式プリンター、レーザープリンター等の各種のプリンターを適用可能であり、ファクシミリ等の複合機をはじめとする他の機器に内蔵されたプリンターと、該機器が備えるコンピューターとを接続した場合に本発明を適用することも可能であり、本発明の適用範囲は限定されない。
また、上述の動作を行うＣＰＵ２１が実行するプログラムは、ホストコンピューター２が備えるＲＯＭ２２に限らず、他の記憶装置、記憶媒体や外部装置の記憶媒体に記憶させ、ＣＰＵ２１により読み出して実行する構成としても良い。
【符号の説明】
【００４６】
１…記録システム、２…ホストコンピューター（記録制御装置）、３…プリンター（記録装置）、２１…ＣＰＵ（分割制御手段、送信制御手段）、２２…ＲＯＭ、２４Ａ…ドライバープログラム、２８…インターフェイス部、３１…ＣＰＵ（受信手段、記録制御手段）、３３…受信バッファー、３７…インターフェイス部、５４…搬送モーター（搬送機構）、５５…プラテンローラー（搬送機構）、５７…サーマルヘッド（ラインサーマルヘッド）、１００…記録対象文書（記録対象、記録媒体）、Ｂ１〜Ｂ１３、Ｂ２１〜Ｂ２３…ブロック。
【図１】
0005728948.tif 000002
【図２】
0005728948.tif 000003
【図３】
0005728948.tif 000004
【図４】
0005728948.tif 000005