(57)【要約】【課題】  サーマルヘッドによる印字に際し、発熱素子の蓄熱が印字品質に与える影響を低減乃至は排除すること。【解決手段】  一実施形態のサーマルプリンタは、算出手段、決定手段、搬送駆動手段、ヘッド駆動手段を備える。算出手段は、印字データに含まれる１ライン分のドット列を複数のブロックに分割し、ブロック内の印字ドットの数を反映したパラメータをブロック毎に算出する。決定手段は、１ライン分のドット列を印字する際に媒体を搬送する速度を、当該ラインの直前に印字するラインの各ブロックにおけるパラメータに基づいて決定する。搬送駆動手段は、決定手段が決定した速度で媒体が搬送されるように搬送機構を駆動する。ヘッド駆動手段は、１ライン分のドット列に応じて発熱素子が発熱するようにサーマルヘッドを駆動して媒体に１ライン分の画像を形成する。【選択図】    図４
2014166724.tif 000002
【特許請求の範囲】
【請求項１】
印字データに含まれる１ライン分のドット列を複数のブロックに分割し、ブロック内の画素形成を伴うドットの数を反映したパラメータをブロック毎に算出する算出手段と、
１ライン分のドット列を印字する際に印字媒体を搬送する速度を、当該ラインの直前に印字するラインについて前記算出手段が算出した前記各ブロックにおける前記パラメータに基づいて決定する速度決定手段と、
前記印字媒体を搬送する搬送機構を、前記速度決定手段が決定した速度で前記印字媒体が搬送されるように駆動する搬送駆動手段と、
ライン状に配列された複数の発熱素子を有するサーマルヘッドを、前記印字データの１ライン分のドット列に応じて前記複数の発熱素子が発熱するように駆動して、前記搬送機構により搬送される前記印字媒体に１ライン分の画像を形成するヘッド駆動手段と、
を備えることを特徴とするサーマルプリンタ。
【請求項２】
前記算出手段が算出するパラメータは、前記各ブロックの印字率であり、
前記速度決定手段は、１ライン分のドット列を印字する際に前記印字媒体を搬送する速度を、当該ラインの直前に印字するラインについて前記算出手段が算出した前記各ブロックにおける前記印字率のうちの最大値が大きいほど遅くなるように決定する、
ことを特徴とする請求項１に記載のサーマルプリンタ。
【請求項３】
前記算出手段は、１ライン分のドット列全体に含まれる画素形成を伴うドットの数を反映したパラメータをさらに算出し、
前記速度決定手段は、１ライン分のドット列を印字する際に印字媒体を搬送する速度を、当該ラインの直前に印字するラインについて前記算出手段が算出した前記各ブロックにおける前記パラメータと、前記１ライン分のドット列全体における前記パラメータとに基づいて決定する、
ことを特徴とする請求項１又は２に記載のサーマルプリンタ。
【請求項４】
１ライン分のドット列を印字するにあたって前記発熱素子を発熱させるために前記発熱素子に通電する時間を、当該ラインの直前に印字するラインについて前記算出手段が算出した前記パラメータに基づいて決定する時間決定手段をさらに備え、
前記ヘッド駆動手段は、前記印字媒体に１ライン分の画像を形成するにあたり、画像形成を伴うドットに対応する前記発熱素子が、前記時間決定手段が決定した時間だけ通電されるように前記サーマルヘッドを駆動する、
ことを特徴とする請求項１乃至３のうちいずれか１に記載のサーマルプリンタ。
【請求項５】
前記速度決定手段は、
前記印字データにコードシンボルが含まれる場合には、１ライン分のドット列を印字する際に前記印字媒体を搬送する速度を、当該ラインの直前に印字するラインについて前記算出手段が算出した前記各ブロックにおける前記パラメータに基づいて決定し、
前記印字データにコードシンボルが含まれない場合には、１ライン分のドット列を印字する際に前記印字媒体を搬送する速度を、前記印字データに含まれる各ラインで一定の速度に決定する、
ことを特徴とする請求項１乃至４のうちいずれか１に記載のサーマルプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、サーマルプリンタに関する。
【背景技術】
【０００２】
サーマルプリンタは、サーマルヘッドに設けられた多数の発熱素子を選択的に発熱させて印字媒体に画像を形成する。
【０００３】
同じ発熱素子が発熱し続けると当該発熱素子が蓄熱し、当該発熱素子により形成されるドットの印字濃度が本来よりも濃くなることなどに起因して印字品質が損なわれる。一般に、印字速度が速いほど発熱素子が放熱する期間が短いため、蓄熱が印字品質に与える影響は大きい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１１３４４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、サーマルヘッドによる印字に際し、発熱素子の蓄熱が印字品質に与える影響を低減乃至は排除することである。
【課題を解決するための手段】
【０００６】
一実施形態に係るサーマルプリンタは、算出手段と、速度決定手段と、搬送駆動手段と、ヘッド駆動手段とを備える。
【０００７】
上記算出手段は、印字データに含まれる１ライン分のドット列を複数のブロックに分割し、ブロック内の画素形成を伴うドットの数を反映したパラメータをブロック毎に算出する。上記速度決定手段は、１ライン分のドット列を印字する際に印字媒体を搬送する速度を、当該ラインの直前に印字するラインについて上記算出手段が算出した上記各ブロックにおける上記パラメータに基づいて決定する。上記搬送駆動手段は、上記印字媒体を搬送する搬送機構を、上記速度決定手段が決定した速度で上記印字媒体が搬送されるように駆動する。上記ヘッド駆動手段は、ライン状に配列された複数の発熱素子を有するサーマルヘッドを、上記印字データの１ライン分のドット列に応じて上記複数の発熱素子が発熱するように駆動して、上記搬送機構により搬送される上記印字媒体に１ライン分の画像を形成する。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係るサーマルプリンタの要部を示すブロック図。
【図２】印字データの構造の一例を示す模式図。
【図３】設定値テーブルのデータ構造の一例を示す模式図。
【図４】印字手順の一例を説明するためのタイムチャート。
【図５】第２の実施形態におけるレシートの印字データの一例を示す模式図。
【図６】同実施形態におけるレシートの印字データの一例を示す模式図。
【発明を実施するための形態】
【０００９】
いくつかの実施形態につき、図面を参照しながら説明する。
【００１０】
（第１の実施形態）
図１は、第１の実施形態に係るサーマルプリンタの要部を示すブロック図である。
【００１１】
当該サーマルプリンタは、サーマルヘッド１、搬送ローラ２、モータ３、コントローラ４、モータ駆動回路５、及びヘッド駆動回路６を含む。
【００１２】
サーマルヘッド１は、ライン状に配列して設けられたｎ（整数）個の発熱素子１０（１０-１〜１０-ｎ）を備える。発熱素子１０-１〜１０-ｎは、通電されたことに応じて発熱する抵抗体である。
【００１３】
搬送ローラ２は、サーマルヘッド１の印字位置を通る搬送経路に沿って印字媒体Ｐを搬送する。印字位置は、発熱素子１０-１〜１０-ｎとプラテンローラ（図示せず）とが対向する位置である。矢印Ｃで示す印字媒体Ｐの搬送方向は、サーマルヘッド１の発熱素子１０-１〜１０-ｎの並び方向と垂直を成す。サーマルプリンタは、搬送経路に沿って配置された複数の搬送ローラ２を備えてもよい。印字媒体Ｐは、例えば発熱素子１０-１〜１０-ｎが発する熱により発色する感熱紙である。印字媒体Ｐは、例えば巻き芯に巻きつけられた状態でサーマルプリンタの内部に収納される。
【００１４】
モータ３は、搬送ローラ２を回転させる。本実施形態におけるモータ３は、２-２相励磁式のバイポーラ型ステッピングモータとする。但し、モータ３は、他の種類のモータであってもよい。２-２相励磁式のバイポーラ型ステッピングモータは、２つのコイルを有するステータと、ロータとを備える。ステータの一方のコイルは端子Ａ及び端子/Ａを備え、他方のコイルは端子Ｂ及び端子/Ｂを備える。
【００１５】
コントローラ４は、ＣＰＵ（Central Processing Unit）４０、メモリ４１、及び通信Ｉ／Ｆ（Interface）４２を含む。ＣＰＵ４０は、当該サーマルプリンタの制御の中枢として機能する。メモリ４１は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）を含む。通信Ｉ／Ｆ４２は、外部装置と当該サーマルプリンタとを、有線或いは無線にて通信接続する。本実施形態においては、外部装置としてＰＯＳ（Point Of Sales）端末７が通信Ｉ／Ｆ４２に接続されている。ＰＯＳ端末７は、商品や役務の決済に関する処理を実行する。ＰＯＳ端末７は、当該サーマルプリンタに印字データを送信する。ＰＯＳ端末７が送信する印字データは、例えば決済された商取引の明細等を含むレシートに関するデータである。
【００１６】
図２は、印字データの構造の一例を示す模式図である。印字データは、ｍ（整数）ライン分のドットデータ列（Ｌ＝１，２，３，・・・ｍ）を含む。各ドットデータ列は、発熱素子１０-１〜１０-ｎに対応する数のドットデータ（Ｄ＝１，２，３，・・・ｎ）を含む。ドットデータは、画素形成を伴うドットである印字ドット（図２における黒丸）と、画素形成を伴わないドットである非印字ドット（図２における白丸）のいずれか一方を表す。
【００１７】
メモリ４１は、ＣＰＵ４０が実行するコンピュータプログラム及び設定値テーブル１０１などを記憶する。また、メモリ４１は、印字に際してのワークエリアとして、印字データを記憶するためのページバッファ１０２と、１ライン分のドットデータ列を記憶するためのラインバッファ１０３とを形成する。ＣＰＵ４０がメモリ４１に記憶されたコンピュータプログラムを実行することにより、コントローラ４は、印字に関する各種の動作を実現する。
【００１８】
モータ駆動回路５は、モータ３のステータが備える２つのコイルの各端子Ａ，/Ａ，Ｂ，/Ｂに対して選択的に電流を供給することによりステータを励磁する。ステータが励磁されたことに応じて、モータ３のロータが回転する。モータ駆動回路５は、各端子Ａ，/Ａ，Ｂ，/Ｂに電流を供給するタイミングを、コントローラ４から入力されるSTEP（ステップ）パルスに応じて切り替える。
【００１９】
ヘッド駆動回路６は、シフトレジスタ部６０、ラッチ部６１、及び通電部６２を備える。
【００２０】
シフトレジスタ部６０は、コントローラ４から転送される１ライン分のドットデータ列に含まれる各ドットデータを記憶するためのｎ個のレジスタセル６００（６００-１〜６００-ｎ）を備える。
【００２１】
ラッチ部６１は、レジスタセル６００-１〜６００-ｎのそれぞれに１対１で接続されたｎ個のラッチ回路６１０（６１０-１〜６１０-ｎ）を備える。ラッチ回路６１０-１〜６１０-ｎには、コントローラ４から出力されるLATCH（ラッチ）パルスを入力するための信号線も接続される。ラッチ回路６１０-１〜６１０-ｎは、LATCHパルスが入力されたとき、接続先のレジスタセル６００が記憶するドットデータを保持する。
【００２２】
通電部６２は、入力端子がラッチ回路６１０-１〜６１０-ｎのそれぞれに１対１で接続されたｎ個のスイッチング素子６２０（６２０-１〜６２０-ｎ）を備える。スイッチング素子６２０-１〜６２０-ｎの出力端子は、発熱素子１０-１〜１０-ｎと１対１で接続される。スイッチング素子６２０-１〜６２０-ｎの入力端子には、コントローラ４から出力されるSTB（ストローブ）信号を入力するための信号線も接続される。ラッチ回路６１０-１〜６１０-ｎは、印字ドットを表すドットデータを保持したとき、接続先のスイッチング素子６２０に出力する信号を高レベルに立ち上げる。スイッチング素子６２０-１〜６２０-ｎは、接続先のラッチ回路６１０からの信号とSTB信号の双方が高レベルとなる間、接続先の発熱素子１０に通電する。
【００２３】
コントローラ４の機能について説明する。  
ＣＰＵ４０がメモリ４１に記憶されたコンピュータプログラムを実行することにより、本実施形態に係るコントローラ４は、取得部４００、算出部４０１、速度決定部４０２、及び時間決定部４０３としての機能を実現する。
【００２４】
取得部４００は、例えばＰＯＳ端末７から送信される印字データを通信Ｉ／Ｆ４２を介して受信することにより、印字対象となる印字データを取得する。取得部４００は、取得した印字データをページバッファ１０２に書き込む。
【００２５】
算出部４０１は、１ライン分のドットデータ列に含まれる印字ドットの数を反映したパラメータを算出する。本実施形態における算出部４０１は、当該パラメータとして印字率Ｘa及び印字率Ｘbを算出する。印字率Ｘaは、１ライン分のドットデータ列に含まれる印字ドットの数を、１ライン分のドットデータ列に含まれるドットデータの総数（すなわちｎ）で除した値である。印字率Ｘbは、例えば図２に示すように１ライン分のドットデータ列を複数のブロックＢＬに分割した際の、各ブロックＢＬそれぞれにおける印字率の最大値である。本実施形態では、１ライン分のドットデータ列をブロックＢＬ１〜ＢＬ５の５ブロックに分割する。各ブロックＢＬ１〜ＢＬ５の印字率は、各ブロックＢＬ１〜ＢＬ５内の印字ドットの数を、各ブロックＢＬ１〜ＢＬ５内のドットデータの総数で除した値である。ブロックＢＬ１〜ＢＬ５は、例えば１ライン分のドットデータ列に含まれるドットデータがおよそ５等分されるように定めればよい。なお、ドットデータ列の分割数は５ブロックに限られず、より多数あるいは少数であってもよい。
【００２６】
速度決定部４０２は、１ラインを印字する際に印字媒体Ｐを搬送する速度を、当該ラインの直前に印字するラインについて算出部４０１が算出したパラメータ（印字率Ｘa，Ｘb）に基づいて決定する。印字媒体Ｐの搬送速度は、モータ駆動回路５にSTEPパルスを出力する間隔（以下、STEP間隔）を調整することでライン毎に変更できる。そこで、本実施形態における速度決定部４０２は、STEP間隔を決定する。
【００２７】
時間決定部４０３は、１ラインを印字する際に発熱素子１０-１〜１０-ｎに通電する時間を、当該ラインの直前に印字するラインについて算出部４０１が算出したパラメータ（印字率Ｘa，Ｘb）に基づいて決定する。通電時間は、通電部６２に供給するSTB信号を高レベルに立ち上げる期間（以下、STB期間）を調整することでライン毎に変更できる。そこで、本実施形態に係る時間決定部４０３は、STB期間を決定する。
【００２８】
速度決定部４０２及び時間決定部４０３は、STEP間隔及びSTB期間の決定に設定値テーブル１０１を用いる。図３は、設定値テーブル１０１のデータ構造の一例を示す模式図である。設定値テーブル１０１には、印字率が低レベルの場合に設定すべきSTEP間隔及びSTB期間としてSTEP間隔Ｔa１及びSTB期間Ｔb１が記述され、印字率が高レベルの場合に設定すべきSTEP間隔及びSTB期間としてSTEP間隔Ｔa２（Ｔa２＞Ｔa１）及びSTB期間Ｔb２（Ｔb２＞Ｔb１）が記述されている。なお、STEP間隔Ｔa１，Ｔa２及びSTB期間Ｔb１，Ｔb２は、STEP間隔Ｔa１からSTB期間Ｔb１を差し引いた期間よりも、STEP間隔Ｔa２からSTB期間Ｔb２を差し引いた期間の方が長くなるように設定する（Ｔa１−Ｔb１＜Ｔa２−Ｔb２）。
【００２９】
印字率Ｘa，Ｘbが低レベルと高レベルのいずれであるかは、予め定められた閾値Ｘsを用いて決定する。すなわち、印字率Ｘa，Ｘbの双方が閾値Ｘs未満である場合に印字率Ｘa，Ｘbが低レベルとなり、印字率Ｘa，Ｘbの少なくとも一方が閾値Ｘs以上である場合に印字率Ｘa，Ｘbが高レベルとなる。速度決定部４０２は、印字率Ｘa，Ｘbが低レベルである場合にSTEP間隔をSTEP間隔Ｔa１に決定し、高レベルである場合にSTEP間隔をSTEP間隔Ｔa２に決定する。時間決定部４０３は、印字率Ｘa，Ｘb低レベルである場合にSTB期間をSTB期間Ｔb１に決定し、印字率Ｘa，Ｘbが高レベルである場合にSTB期間をSTB期間Ｔb２に決定する。閾値Ｘsの具体的な値は、良好な印字品質が得られるように、実験的、経験的、或いは理論的に定めればよい。
【００３０】
印字の流れにつき具体的に説明する。  
図４は、ページバッファ１０２に書き込まれた印字データに含まれる第１ラインから第５ライン（Ｌ＝１〜５）までのドットデータ列を印字するにあたってコントローラ４が出力するSTB信号及びSTEP信号のタイムチャートである。当該タイムチャートには、各ドットデータ列の印字率Ｘa，Ｘbのレベル（印字率レベル）の変化と、モータ駆動回路５がモータ３に供給する励磁信号の変化とを併記している。励磁信号としては、モータ３の端子Ａ，/Ａに接続されたコイルに流す電流を上側に示し、モータ３の端子Ｂ，/Ｂに接続されたコイルに流す電流を下側に示している。端子Ａ，/Ａへの電流は、中心線（一点鎖線）よりも上側が端子Ａから端子/Ａへ向けた電流であることを示し、中心線よりも下側が端子/Ａから端子Ａへ向けた電流であることを示す。同様に、端子Ｂ，/Ｂへの電流は、中心線（一点鎖線）よりも上側が端子Ｂから端子/Ｂへ向けた電流であることを示し、中心線よりも下側が端子/Ｂから端子Ｂへ向けた電流であることを示す。
【００３１】
第１ライン（Ｌ＝１）の印字を開始するまでに、コントローラ４は、モータ駆動回路５に所定数のSTEPパルスを入力することによりモータ３乃至ローラ２を回転させ、印字媒体Ｐの印字開始位置（第１ラインの印字位置）をサーマルヘッド１の印字位置に位置決めする。
【００３２】
第１ライン（Ｌ＝１）の印字に当たり、先ずコントローラ４は、ページバッファ１０２から第１ラインのドットデータ列を読み出してラインバッファ１０３に書き込む。続いてコントローラ４は速度決定部４０２及び時間決定部４０３として機能し、STEP間隔及びSTB期間を決定する。第１ラインの印字においては直前のラインが存在しない。そこで、コントローラ４は、STEP間隔をＴa１に決定し、STB期間をＴb１に決定する。STEP間隔及びSTB期間を決定すると、コントローラ４は、ラインバッファ１０３に書き込んだドットデータ列をシフトレジスタ部６０に転送する。シフトレジスタ部６０は、ドットデータ列に含まれるドットデータを記憶する。コントローラ４は、ラッチ部６１にLATCHパルスを出力する。このLATCHパルスの入力を受けて、ラッチ部６１は、シフトレジスタ部６０が記憶するドットデータを保持する。その後に、コントローラ４は、STB信号を高レベルに立ち上げると同時に、STEPパルスを出力する。コントローラ４は、STB信号を高レベルに立ち上げたときから第１ラインのSTB期間（すなわちＴb1）が経過すると、STB信号を低レベルに立ち下げる。STB信号が高レベルに立ち上がっている間、通電部６２は、ラッチ部６１が保持するドットデータ列内の印字ドットに対応する発熱素子１０に通電する。通電された発熱素子１０が発熱し、印字媒体Ｐに第１ラインの画像が形成される。モータ駆動回路５は、STEPパルスが入力されたことに応じて、端子Ａから端子/Ａに向けた電流と、端子/Ｂから端子Ｂに向けた電流とをモータ３に供給する。このとき、モータ３が１ステップ分だけ回転し、印字媒体Ｐが１ライン分の距離だけ搬送方向に搬送される。
【００３３】
第１ラインを印字している間に、コントローラ４は算出部４０１として機能し、ラインバッファ１０３に書き込まれたドットデータ列に基づいて第１ラインの印字率Ｘa，Ｘbを算出する。さらにコントローラ４は、速度決定部４０２及び時間決定部４０３として機能し、第１ラインの印字率Ｘa，Ｘbに基づいて第２ラインのSTEP間隔及びSTB期間を決定する。第１ラインの印字率Ｘa，Ｘbは低レベルであるため、第２ラインのSTEP間隔及びSTB期間はそれぞれＴa１及びＴb１となる。
【００３４】
その後、コントローラ４は、第２ラインのドットデータ列をページバッファ１０２から読み出し、ラインバッファ１０３に書き込む。コントローラ４は、ラインバッファ１０３に書き込んだドットデータ列をシフトレジスタ部６０に転送するとともに、LATCHパルスを出力する。このLATCHパルスの入力を受けて、ラッチ部６１は、第２ラインのドットデータを保持する。
【００３５】
STEPパルスを出力してから第１ラインのSTEP間隔（すなわちＴa１）が経過したとき、コントローラ４は、STB信号を高レベルに立ち上げると同時に、STEPパルスを出力する。コントローラ４は、STB信号を高レベルに立ち上げたときから第２ラインのSTB期間（すなわちＴb１）が経過すると、STB信号を低レベルに立ち下げる。STB信号が高レベルに立ち上がっている間、通電部６２は、ラッチ部６１が保持するドットデータ列内の印字ドットに対応する発熱素子１０に通電する。通電された発熱素子１０が発熱し、印字媒体Ｐに第２ラインの画像が形成される。モータ駆動回路５は、STEPパルスが入力されたことに応じて、端子/Ｂから端子Ｂに流れている電流を逆転させる。このとき、モータ３が１ステップ分だけ回転し、印字媒体Ｐが１ライン分の距離だけ搬送方向に搬送される。
【００３６】
第２ラインを印字している間に、コントローラ４は算出部４０１として機能し、ラインバッファ１０３に書き込まれたドットデータ列に基づいて第２ラインの印字率Ｘa，Ｘbを算出する。さらにコントローラ４は、速度決定部４０２及び時間決定部４０３として機能し、第２ラインの印字率Ｘa，Ｘbに基づいて第３ラインのSTEP間隔及びSTB期間を決定する。第２ラインの印字率は高レベルであるため、第３ラインのSTEP間隔及びSTB期間はそれぞれＴa２及びＴb２となる。
【００３７】
第３ライン以降の印字手順は第２ラインと同様であるため説明を省略する。なお、励磁信号は、STEP信号が出力されるごとに、端子Ａから端子/Ａに向けた電流への切り替え、端子Ｂから端子/Ｂに向けた電流への切り替え、端子/Ａから端子Ａに向けた電流への切り替え、端子/Ｂから端子Ｂに向けた電流への切り替えの４ステップからなるサイクルで順次切り替わる。
【００３８】
図４から明らかなように、印字率Ｘa，Ｘbが低レベルであるラインの次のラインはSTEP間隔及びSTB期間がＴa１及びＴb１となる。一方、印字率Ｘa，Ｘbが高レベルであるラインの次のラインはSTEP間隔及びSTB期間がＴa２及びＴb２となる。
【００３９】
１ラインの印字期間は、STEP間隔がＴa１の場合に期間Ｔ１となり、STEP間隔がＴa２の場合に期間Ｔ１よりも長い期間Ｔ２となる（Ｔ２＞Ｔ１）。
【００４０】
印字データに印字率の高い部分が存在すると、その部分の印字に際して連続して通電される発熱素子１０に熱が蓄積され、印字品質の劣化が生じ易い。しかしながら、本実施形態のようにSTEP間隔を調節して印字率が高いラインの次のラインの印字期間を長くすれば、発熱素子１０-１〜１０-ｎに長い冷却期間を与えることができるので、蓄熱による影響を受けにくくなる。したがって、発熱素子１０の蓄熱が印字品質に与える影響を低減乃至は排除できる。
【００４１】
特に本実施形態に係るサーマルプリンタは、１ライン分のドットデータ列を複数のブロックに分割し、各ブロックそれぞれの印字率のうちの最大値（印字率Ｘb）に基づいてSTEP間隔を調節する。このような構成であれば、全体的に印字率が低いが局所的に印字率の高い部分を含む印字データを印字する場合であっても、適切に発熱素子１０-１〜１０-ｎが冷却されるようにSTEP間隔を調節できる。
【００４２】
また、本実施形態に係るサーマルプリンタは、あるラインの印字率に応じてその次のラインのSTB期間も調節する。仮にSTB期間を固定にして印字媒体Ｐの搬送速度だけを変化させると、印字媒体Ｐの搬送距離に対する発熱素子１０の発熱期間が短くなり、印字ムラを生じる虞がある。これに対し、本実施形態のようにSTB期間を調節すると、印字ムラの発生を防ぐことができる。なお、本実施形態のようにSTEP間隔を長くしたラインにおいてSTB期間を長くした場合であっても、当該ラインにおいて非印字ドットに対応する発熱素子１０は印字期間が長くなるため十分冷却される。さらに、当該ラインにおいて印字ドットに対応する発熱素子１０についても、上述のようにＴa１−Ｔb１＜Ｔa２−Ｔb２の条件が成立すれば、比較的長い冷却期間を確保できる。
【００４３】
（第２の実施形態）
第２の実施形態について説明する。  
本実施形態に係るサーマルプリンタの基本的な構成は、第１の実施形態において図１〜図４を用いて説明した通りである。但し、本実施形態に係るサーマルプリンタは、印字データにコードシンボルが含まれる場合にライン毎にSTEP間隔及びSTB期間を調節し、印字データにコードシンボルが含まれない場合にはSTEP間隔及びSTB期間を調節しない。
【００４４】
ＰＯＳ端末７が生成するレシートの印字データの一例を、図５及び図６に示す。図５は、例えばＱＲコード（登録商標）である二次元コードシンボル２１１を含むレシート２１０の印字データの一例である。図６は、バーコードシンボル２２１を含むレシート２２０の印字データの一例である。これらレシート２１０，２２０は、二次元コードシンボル２１１及びバーコードシンボル２２１の領域において、部分的に印字密度が高い。二次元コードシンボル２１１及びバーコードシンボル２２１は、例えば割引きや値引きなどのクーポン情報や、レシート２１０，２２０に係る商取引に関する情報を表す。二次元コードシンボル２１１は、特定のＵＲＬを表してもよい。
【００４５】
二次元コードシンボル２１１及びバーコードシンボル２２１のようなコードシンボルは、スキャナ装置などによって光学的に読み取られる。そのため、読み取りに支障が無いように印字品質を担保する必要がある。
【００４６】
ＰＯＳ端末７は、レシートなどの印字データをサーマルプリンタに送信する際に、当該印字データがコードシンボルを含むならば印字データにコードシンボル有りを示す第１の識別情報を付加し、当該印字データがコードシンボルを含まないならば印字データにコードシンボル無しを示す第２の識別情報を付加する。
【００４７】
第１の識別情報が付加された印字データの印字に際して、サーマルプリンタは、第１の実施形態にて説明した通りに動作する。すなわち、コントローラ４は、各ラインについて印字率Ｘa，Ｘbを算出し、算出した印字率Ｘa，Ｘbに基づいて各ラインの次のラインの、STEP間隔及びSTB期間を決定する。
【００４８】
一方、第２の識別情報が付加された印字データの印字に際して、サーマルプリンタは、各ラインのSTEP間隔及びSTB期間を一定とする。例えば、コントローラ４は、全てのラインについてSTEP間隔及びSTB期間をＴa１及びＴb１に決定する。
【００４９】
本実施形態に開示した制御を採用すれば、コードシンボルを含む印字データについては高い印字品質を実現でき、コードシンボルを含まない印字データについては早い印字速度を実現できる。
【００５０】
コードシンボルを含む印字データの印字に際しては、第１の実施形態と同様の効果が得られる。
【００５１】
（変形例）
いくつかの変形例を示す。  
各実施形態では、感熱紙に印字するサーマルプリンタを例示した。しかしながら、サーマルプリンタは、インクリボンから用紙にインクを熱転写するインクリボン方式のプリンタであってもよい。
【００５２】
各実施形態では、１つのドットデータ列内の印字ドットの数を反映したパラメータとして、印字率Ｘa及び印字率Ｘbを採用する場合を例示した。しかしながら、当該パラメータは印字率Ｘa，Ｘbに限られない。他の例として、当該パラメータは、１つのドットデータ列に含まれる印字ドットの数、及び各ブロックＢＬ１〜ＢＬ５内の印字ドットの数であってもよい。
【００５３】
また、印字率Ｘa，Ｘbのうちのいずれか一方のみを用いてSTEP間隔及びSTB期間を調節してもよい。
【００５４】
また、STB期間を制御することで多階調の印字が可能なサーマルプリンタにおいては、印字ドットの階調を考慮して上記パラメータを決定してもよい。例えばＭ（整数；Ｍ≧３）階調の印字が可能な場合を想定する。印字データに含まれる非印字ドットが階調値０で表され、印字ドットが階調値１（淡）〜階調値Ｍ−１（濃）で表されるとする。この場合においては、上記パラメータとして、例えば１つのドットデータ列に含まれる各ドットの階調値（０〜Ｍ−１）の合計数を反映したパラメータと、当該ドットデータ列の各ブロックに含まれる各ドットの階調値（０〜Ｍ−１）の合計数を反映したパラメータとを採用できる。
【００５５】
各実施形態では、１つのドットデータ列のSTEP間隔及びSTB期間を決定する際に、直前のラインの印字率Ｘa，Ｘbを考慮する場合を例示した。しかしながら、直前だけでなく、２つ以上前のラインの印字率Ｘa，Ｘbも考慮してSTEP間隔及びSTB期間を決定してもよい。
【００５６】
各実施形態では、印字率Ｘa，Ｘbと閾値Ｘsとの比較により、STEP間隔及びSTB期間を２段階で調節する場合を例示した。しかしながら、より多数の閾値を用いてSTEP間隔及びSTB期間を３段階以上で調節してもよい。この場合においても、直前のラインの印字率Ｘa，Ｘbの値が大きいほどその次のラインのSTEP間隔及びSTB期間を長くすればよい。
【００５７】
STEP間隔及びSTB期間は、設定値テーブル１０１を用いるのではなく、計算式を用いるなどして決定してもよい。
【００５８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５９】
１…サーマルヘッド、２…搬送ローラ、３…モータ、４…コントローラ、５…モータ駆動回路、６…ヘッド駆動回路、７…ＰＯＳ端末、１０…発熱素子、４０…ＣＰＵ、４１…メモリ、６０…シフトレジスタ部、６１…ラッチ部、６２…通電部、１０１…設定値テーブル、１０２…ページバッファ、１０３…ラインバッファ、２１０，２２０…レシート、Ｐ…印字媒体、Ｔa１，Ｔa２…STEP間隔、Ｔb１，Ｔb２…STB期間、Ｔ１，Ｔ２…印字期間。
【図１】
2014166724.tif 000003
【図２】
2014166724.tif 000004
【図３】
2014166724.tif 000005
【図４】
2014166724.tif 000006
【図５】
2014166724.tif 000007
【図６】
2014166724.tif 000008