(57)【要約】【課題】  印刷データをサーマルヘッドに転送する際に発生する不要輻射を低減することができるサーマルプリンタを提供する。【解決手段】  画像データから複数のラインデータで構成される印刷データに変換する印刷データ変換回路と、ラインデータを複数の分割データに変換するデータ分割拡散回路と、データ分割拡散回路の出力データを用いて画像データを感熱紙に印刷するサーマルヘッドと、を備え、データ分割拡散回路は、分割データのデータ平均周期を分割前のラインデータのデータ平均周期より大きくなるように変換する。【選択図】  図１
2018167506.tif 000002
【特許請求の範囲】
【請求項１】
画像データから複数のラインデータで構成される印刷データに変換する印刷データ変換回路と、
前記ラインデータを複数の分割データに変換するデータ分割拡散回路と、
前記データ分割拡散回路の出力データを用いて前記画像データを感熱紙に印刷するサーマルヘッドと、を備え、
前記データ分割拡散回路は、前記分割データのデータ平均周期を分割前の前記ラインデータのデータ平均周期より大きくなるように変換することを特徴とするサーマルプリンタ。
【請求項２】
前記データ分割拡散回路は、
前記分割データを記憶する分割データ記憶部と、
前記分割データ記憶部の情報から印字を示すデータの数となる印字データ数を算出する制御回路と、を備え、
前記データ分割拡散回路は、一つの前記ラインデータを分割した複数の前記分割データの前記印字データ数の差が０もしくは所定の数以下になるように前記分割データを変換することを特徴とする、請求項１に記載のサーマルプリンタ。
【請求項３】
前記データ分割拡散回路は、前記分割データ記憶部に記録されている前記分割データ間で前記印字データの一部を移動させることにより、前記印字データ数の差を０もしくは所定の数以下になるように前記分割データを変換することを特徴とする、請求項２記載のサーマルプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライン方式のサーマルヘッドを用いたサーマルプリンタに関する。
【背景技術】
【０００２】
従来のサーマルヘッドを用いたサーマルプリンタでは、１ライン分の画素数分の発熱素子を配置したサーマルヘッドを備え、この発熱素子を発熱させた状態にてサーマルヘッドを感熱紙に接触させながら感熱紙を移動させることにより、感熱紙に画像を印刷している。
サーマルヘッドは発熱素子の集合体でありその消費電力は非常に大きいことから、サーマルヘッドの低電力化として、１ラインのサーマルヘッドを複数にブロック化し、それぞれのブロック毎に順次駆動していく手法が提案されている（例えば特開昭５８−１５０３７２号公報）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭５８−１５０３７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記したサーマルプリンタは、印刷データをサーマルヘッドに転送する際に、データ転送クロックを基準としたノイズが発生しやすく、サーマルプリンタの外部に不要輻射を発生させてしまうという問題点があった。
【０００５】
この発明は、上記した問題点を解決するためになされたものであり、印画データをサーマルヘッドに転送する際に発生する不要輻射を低減することができるサーマルプリンタを得ることを目的とする。
【課題を解決するための手段】
【０００６】
本発明におけるサーマルプリンタは、画像データから複数のラインデータで構成される印刷データに変換する印刷データ変換回路と、ラインデータを複数の分割データに変換するデータ分割拡散回路と、データ分割拡散回路の出力データを用いて画像データを感熱紙に印刷するサーマルヘッドと、を備え、データ分割拡散回路は、分割データのデータ平均周期を分割前のラインデータのデータ平均周期より大きくなるように変換する。
【発明の効果】
【０００７】
上記のように構成されたサーマルプリンタは、印画データをサーマルヘッドに転送する際に発生する不要輻射を低減することができる。  
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１におけるサーマルプリンタの印刷データ処理を示すブロック図である。
【図２】本発明の実施の形態１のサーマルヘッドにて画像を印刷する際の画像データの構成を示す図である。
【図３】本発明の実施の形態１における、印刷データバッファのデータ構造図である。
【図４】本発明の実施の形態１におけるデータ分割拡散回路の回路構成を示すブロック図である。
【図５】本発明の実施の形態１におけるステップデータ変換回路におけるステップデータの生成方法を示す図である。
【図６】本発明の実施の形態１における、１ラインデータから生成したステップデータを２つの印刷ステップデータに分割する際の印刷データの動きを示した図である。
【図７】本発明の実施の形態２における、データ分割拡散回路の動作の一例を示す処理フロー図である。
【図８】本発明の実施の形態２における、データ分割拡散回路の動作の一例を示す処理フロー図である。
【図９】本実施の形態２における、データ分割拡散回路の処理フローにおけるデータの動きを示した図である。
【図１０】本発明の実施の形態３のステップデータを３つの印刷ステップデータに分割する際の処理フロー図である。
【図１１】本発明の実施の形態３のステップデータを３つの印刷ステップデータに分割する際の処理フロー図である。
【図１２】本発明の実施の形態３のステップデータを３つの印刷ステップデータに分割する際の処理フロー図である。
【図１３】本発明の実施の形態３のステップデータを３つの印刷ステップデータに分割する際のデータの動きの一例を示す図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
以下、本実施の形態について、図１〜図６を用いて説明する。図１は、本実施の形態１におけるサーマルプリンタの印刷データ処理のブロック図である。図において、 １はサーマルプリンタ、２は外部通信ＩＦ回路、３は印刷データ変換回路、４は印刷データバッファ、５はデータ分割拡散回路、６はサーマルヘッド、７は印刷データ送信回路、８はフラットケーブル、９は印画データ受信回路、１０は駆動回路、１１は発熱素子、２００はパーソナルコンピュータである。
【００１０】
サーマルプリンタ１は、パーソナルコンピュータ２００と外部通信ＩＦ回路２を介して接続され、パーソナルコンピュータ２００からデータを取得することができる。パーソナルコンピュータ２００から出力される通信データは、サーマルプリンタ１にて印刷する画像データに加え、外部通信ＩＦ回路２に送信時必要となる各種通信情報が付加されている。画像データは例えば一つの画像が複数のラインデータで構成され、さらに１つのラインデータは複数の画素で構成されている。
サーマルプリンタ１とパーソナルコンピュータ２００との接続方法は、例えばＵＳＢやＬＡＮを用いて接続されている。なお、接続方法はこの方法に限定されるものではなく、データの通信ができるものであればよい。また、パーソナルコンピュータ２００はこれに限定されるものではなく、例えばスマートホンやタブレット等の携帯端末や、超音波診断装置等の撮像機器など、サーマルプリンタ１に画像データを送信できる機器であれば他の機器を用いてもよい。例えば、パーソナルコンピュータ２００の代わりにアナログ映像機器を用い、アナログ映像機器が出力するアナログ映像信号をＡＤ変換し、さらにＵＳＢ形式のデータに変換して外部通信ＩＦ回路２を介してサーマルプリンタ１に接続する構成としてもよい。
【００１１】
外部通信ＩＦ回路２は、受信した通信データから画像データのみを抽出して印刷データ変換回路３へ出力する。印刷データ変換回路３は、画像データに対し印刷する感熱紙の発色特性に合わせたガンマカーブや、直近に印刷した画素の履歴によりサーマルヘッド６の蓄熱量を予測しその蓄熱量から所定の濃度を印刷するのに必要な濃度の設定等を加味し、サーマルヘッド６へ送る印刷データを生成する。生成された印刷データは印刷データバッファ４に送られる。印刷データバッファ４は、例えばＲＡＭなどの物理アドレスに対応した領域にデータを記憶する記憶デバイスにて構成され、印刷データを保存する。
【００１２】
データ分割拡散回路５は、印刷データバッファ４に書き込まれた印刷データを１ライン毎に読み出し、内部に持つラインバッファに書き込む。データ分割拡散回路５は、１ライン分のラインデータから複数のステップデータを生成し、ステップデータを複数の分割データに分割し、サーマルヘッド６におけるライン方向の印刷処理において、印刷データ送信回路７に出力される。印刷データ送信回路７は印刷データ受信回路９とケーブル８にて接続され、サーマルヘッド６にて１回に印刷される印刷データを印刷データ受信回路９に出力する。駆動回路１０は電源回路から電力を供給され、印刷データ受信回路９より得られた１ビットの信号をもとに発熱素子１１を駆動する。感熱紙１３はサーマルヘッド６と接触し、１ライン分の印刷データの印刷を終えると、ローラによって１ライン分移動され、次のラインの印刷データを印刷する。以後１つの画像を構成するライン数分印刷を終えると、感熱紙への印刷を終了する。なお、本実施の形態ではラインデータをステップデータに変換したのちに複数の分割データに分割しているがこれに限ったものではない。例えばラインデータを複数の分割ラインデータに分割したのちにステップデータに変換し、複数の分割ラインデータのステップデータを交互に印刷データとして印刷データ受信回路９に出力してもよい。
【００１３】
次に画像データの構成について図２を用いて説明する。図２はサーマルヘッド６にて画像を印刷する際の画像データの構成を示す図である。図において、１２は画像、１３は感熱紙、１４はラインデータ、１５は画素データである。画像１２の短手方向を縦方向、画像１２の長手方向を横方向とすると、画像１２は長手方向に複数の画素データ１５が並んだ１ラインのラインデータ１４が複数ライン集まって一つの画像１２を形成する。
図２は本実施の形態で用いられている画像１２の構成を示すものであり、横方向に１２８０画素、縦方向に５２０ラインの画素で構成された複数の画素データ１５で構成されている。本実施の形態では、横方向に並ぶ１ラインデータを構成するＤ０からＤ１２７９、縦方向に並ぶラインデータ１４を下部からＬ０〜Ｌ５１１として説明する。つまり、１ライン内のデータは、たとえばラインデータＬ０であれば、画像の横方向左から右にかけて、Ｌ０Ｄ０〜Ｌ０Ｄ１２７９の計１２８０データにて構成され、他のラインも同様に構成される。
【００１４】
次に上記のように構成された画像データを、サーマルヘッド６を用いて感熱紙１３に印刷する際の印刷方法を説明する。なお、感熱紙１３は説明を簡単にするために、熱を感知する時間を変えることにより色の濃さを変更できるものであり、各発熱素子１１を駆動する駆動時間を変化させることにより、画像の階調を表示できるものとする。
画像１２を感熱紙１３上に印刷する場合、サーマルヘッド６上には１ライン分の画素数つまりは横方向の画素数と同数の発熱素子１１が設けられており、これらの発熱素子１１の個々が画素データ１５の値に応じてそれぞれ駆動するように構成されている。なお、１画素ごとの発熱素子１１の駆動時間は、画素データ１５の階調の値によって異なるように駆動される。サーマルプリンタ１は、上記のように発熱素子１１の駆動を制御して１ライン分の画像１２を感熱紙１３に印刷する。１ライン分の印刷が終わると、感熱紙１３を感熱紙１３の長手方向に１ライン分移動させ、次の１ライン分の印刷を実施する。以後この処理を繰り返し、サーマルヘッド６が５２０ライン分の印刷を終えると、画像１２全体の印刷が終了する。
図３は印刷データバッファ４のデータ構造図である。印刷データバッファ４はたとえばＲＡＭなどの物理アドレスに対応してデータを蓄積するデバイスにて構成され、複数のラインデータは各ライン毎に物理アドレスが連続した領域に記憶される。例えばＬ０であれば、アドレス０〜アドレス４ＦＦ（１６進）の計１２８０アドレスに１２８０個の画素データ１５が書き込まれる。他のＬ１〜Ｌ５１１も同様に連続したアドレス値の領域に書き込まれる。
【００１５】
次に、データ分割拡散回路５の回路構成を説明する。図４はデータ分割拡散回路５の回路構成を示すブロック図で、１６はラインバッファ、１７はステップデータ変換回路、１８はステップデータ記憶部、１９はデータ切替回路、２０は１ｓｔ印刷ステップデータ記憶部、２１は２ｎｄ印刷ステップデータ記憶部、２２は制御回路、２３はステップデータである。また、図５はステップデータ変換回路１７におけるステップデータ２３の生成方法を示す図である。
印刷データバッファ４から読み出された１ライン分の印刷データは、ラインバッファ１６に記憶される。ラインバッファ１６は例えばアドレス０からアドレス１２７９までの１２８０アドレスのＲＡＭで構成され、各アドレスには１画素毎の階調の情報を含む印刷データが記憶される。
次にステップデータ変換回路１７におけるステップデータ２３の生成方法について図５を用いて説明する。ステップデータ変換回路１７は、ラインバッファ１６に記憶された１ラインのラインデータ１４を、複数回のステップデータに変換するものである。ラインバッファ１６に記憶された１ラインのラインデータ１４において、ラインバッファ１６のアドレス０からアドレス１２７９には“２０”、“１５”、“１”、“２５５”、“２５４”、“１０”、・・・、“１０”、“０”、“２５４”という値が記憶されている。それぞれの値は各画素の階調値を表し、例えばアドレス０については１画素最大２５６階調で表現した場合の２０階調であることを示す。ここで、アドレス０の“２０”という値は、ステップ１からステップ２０までの２０ステップにおいて各ステップを“１”に設定し、それ以降のステップはすべて“０”とする。同様にアドレス１は“１５”であるので、ステップ１からステップ１５までが“１”、ステップ１６以降ステップ２５５までは“０”と設定する。以降、アドレス３からアドレス１２７８までに記憶された値を各ステップの値に変換し、アドレス１２７８に記憶される値は“２５５“なので、ステップ１からステップ２５６まではすべて”１“が設定される。ステップデータ変換回路１７はステップ１からステップ２５６まで１ステップごとに１２８０個で構成されるステップデータ２３を、ステップデータ記憶部１８に出力する。
【００１６】
ステップデータ記憶部１８はラインバッファ１６と同じアドレス構成をもつＲＡＭで構成され、ラインバッファ１６の各アドレスに記憶されている印刷データと同じアドレスに、ステップデータ変換回路１７から出力された１ビットのステップデータ２３が記憶される。制御回路２２はステップデータ記憶部１８に記憶されたステップデータ２３を、アドレス０からアドレス１２７９の順で１ステップデータを読み取り、１ステップデータが“１”の場合、次に“０”の値が読み出されるまでの複数の“１”データを１ブロックデータとする。よって、例えば１ステップデータが“１”，“０”，“１”，“０”のようなデータ順の場合は、“１”データひとつを１ブロックデータと認識する。
例えば図５において、ステップデータ記憶部１８にはステップデータ２３が“１，１，０，１、・・・１，０，１”といった１２８０個のデータが記憶されている場合、制御回路２２はこのステップデータ２３を読み出して、アドレス０から順にブロックデータを検出する。具体的にはステップデータ２３のアドレス０とアドレス１の“１”，“１”の２つのデータを１ブロックデータ、アドレス３の“１”を１ブロックデータとして認識していき、１つのブロックデータを検出する毎にデータ切替回路１９を制御して、１ｓｔ印刷ステップデータ記憶部２０または２ｎｄ印刷ステップデータ記憶部２１に交互に１ブロックデータを記憶させる。
【００１７】
１ｓｔ印刷ステップデータ記憶部２０および、２ｎｄ印刷ステップデータ記憶部２１は分割データを記憶する方法の一例で、例えばステップデータ記憶部１８と同一構成のＲＡＭにて構成されており、ステップデータ記憶部１８からデータを転送する場合は、ステップデータ記憶部のアドレスに記憶されているデータについては、１ｓｔ印刷ステップデータ記憶部２０および、２ｎｄ印刷ステップデータ記憶部２１においても同一アドレスの記録領域にデータを記録する。
ステップデータ２３の１２８０個のデータすべてが１ｓｔ印刷ステップデータ記憶部２０、および２ｎｄ印刷ステップデータ記憶部２１に分割して記憶が完了すると、制御回路２２は１ｓｔ印刷ステップデータ記憶部２０および２ｎｄ印刷ステップデータ記憶部２１から交互に１つのステップデータ１２８０ビット単位で印刷データ送信回路７へ出力する。以後これらの１ステップデータの処理を２５６回繰り返すと、１ｓｔ／２ｎｄの２つの分割ラインに分割された１ライン分の印刷データが印刷データ送信回路７に出力される。
【００１８】
次に、本実施の形態においてデータ分割拡散回路５におけるステップデータ２３を２つの印刷ステップデータに分割する際のデータの動きについて、図６を用いて説明する。図６は１ラインデータから生成したステップデータ２３を２つの印刷ステップデータに分割する際の印刷データの動きを示した図である。図において、ステップデータ２３は１ラインを２５６ステップの情報に分けたときの１ステップの情報の一例であり、黒く塗られた部分は１ビットの“１”データ、白く塗られた部分は１ビットの“０”データを示す。よって、例えばアドレス０からアドレス３までは、“１”データの連続、アドレス４は“０”データ、アドレス５〜アドレス７は“１”データの連続となる。
データ分割拡散回路５は、アドレス０から順にステップデータ２３の値を読み出し、“１”データが連続する固まりを“ブロック”として扱うために、ステップデータ２３の変化点（“０”から“１”、および“１”から“０”）を検出して、ブロックを検出する。検出されたブロックは、検出された順に１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５に交互に移動させる。図６では、例えばアドレス０からアドレス３に記憶されたデータがひとつのブロックとして扱われるので、このブロックは１ｓｔ印刷ステップデータ２４に移動される。次にアドレス５からアドレス７までのデータがブロックとして認識されるので、このデータは２ｎｄ印刷ステップデータ２５に移動される。以後、ステップデータはブロック単位で１ｓｔ印刷ステップデータ２４および２ｎｄ印刷ステップデータ２５に移動される。こののち、１ｓｔ印刷ステップデータ２４および２ｎｄ印刷ステップデータ２５は、１２８０ビット単位で交互に印刷データ送信回路７へ転送されるので、転送時のデータ周期は２分割する前に比べおよそ倍になる。よって、印刷データが変化する周波数はおよそ半分になる。これにより、印刷データの急激な変化によって発生する不要輻射ノイズを大幅に低減することが出来る。
【００１９】
本実施の形態においては、データ分割拡散回路５においてステップデータを各ステップ毎に２分割して印刷を行なう。また、分割の際には、印刷を実施するデータが連続する固まりであるブロックを順に振り分けるように分割するため、送信データにおけるブロック同士の間隔が広くなり、印刷データの変化のタイミングが遅くなる。つまり、本実施の形態のサーマルプリンタは、印刷データが変化する平均周波数がおよそ半分にすることができるので、印刷データの急激な変化によって発生しサーマルプリンタ１の外部に放出される不要輻射量を大幅に低減させることができる。
【００２０】
実施の形態２．
次に、実施の形態２のサーマルプリンタについて、図７〜図９を用いて説明する。本実施の形態は、実施の形態１に加え、さらに分割ラインを印刷する際のサーマルヘッド６における駆動回路１０の負荷電流のばらつきを減らすために、１ｓｔ印刷ステップデータ２４および２ｎｄ印刷ステップデータ２５に記憶された印字の数を示す印字データ数をできるだけ同一となるよう制御する。
２つに分割された印刷データの印字データ数が大きく異なる場合、１ｓｔ分割データを印刷する場合と２ｎｄ分割データを印刷する場合で、サーマルヘッド６における消費電力に大きな差が発生する。この消費電力の差により駆動回路１０に供給される電源回路等が不安定になり、印画濃度の濃淡のバラツキが発生する。
本実施の形態では、分割印画時の駆動電流のばらつきを減らし、印画濃度の濃淡の発生を抑える処理方法について説明する。なお、サーマルプリンタ１の構成は、実施の形態１と同様の構成となっている。
【００２１】
次に実施の形態２における制御回路２２の動作について説明する。図７、図８は本実施の形態２における分割拡散装置の動作を示す処理フロー図、図９は図７、図８におけるデータ分割拡散回路５の処理フローにおけるデータの動きの一例を示した図である。
実施の形態１では、ステップデータ２３に対して、ステップデータ２３を記憶しているステップデータ記憶部１８のアドレス順に読み出し、ブロック単位で１ｓｔ印刷ステップデータ記憶部２０および２ｎｄ印刷ステップデータ記憶部２１に交互に移動させていた。この処理の結果、１ｓｔ印刷ステップデータ記憶部２０および２ｎｄ印刷ステップデータ記憶部２１それぞれに移動された印字を示す“１”データの数は印刷する画像によって大きく異なり、１ｓｔ印刷ステップデータ記憶部２０と２ｎｄ印刷ステップデータ記憶部２１との“１”データの数に差が出る場合がある。それに対し、実施の形態２ではこのような場合に、１ｓｔ印刷ステップデータ記憶部２０と２ｎｄ印刷ステップデータ記憶部２１との“１”データの数を算出し、両方の数がほぼ等しくなるように、一方の記憶部から他方の記憶部にブロック単位で“１”データを移動させる。
【００２２】
なお、ブロックデータを移動して１ｓｔ印刷ステップデータ記憶部２０と２ｎｄ印刷ステップデータ記憶部２１との“１”データの数を近づける方法はいろいろ考えられるが、例えば図９では１ｓｔ印刷ステップデータ記憶部２０と２ｎｄ印刷ステップデータ記憶部２１のアドレスの最大値（１２７９）側に近い場所に記憶されているブロックデータを相互に移動させたのち、両者のデータ数の差異を算出し、次はその差異に応じた数の“１“データを再度移動させて、再度両者のデータ数を算出して差異を確認する。このようにして、１ｓｔ印刷ステップデータ記憶部２０と２ｎｄ印刷ステップデータ記憶部２１の”１“データ総数の差異が所定の数になるまで処理を続ける。以下、図７、図８を用いて処理方法を説明する。
【００２３】
ラインバッファ１６から読み出された１ライン分の印刷データは、ステップデータ変換回路１７によって２５６個の１ステップ１２８０ビットのステップデータ２３に変換される。Ｓ１では変換された２５６個からひとつのステップデータ２３を読み出す。読みだされたステップデータ２３はＳ２にて連続した“１”データをひとつのブロックとして、１ｓｔ印刷ステップデータ記憶部２０および２ｎｄ印刷ステップデータ記憶部２１にブロック単位にて交互に記憶する。ステップデータ２３の各ブロックを１ｓｔ印刷ステップデータ記憶部２０および２ｎｄ印刷ステップデータ記憶部２１に記憶したのち、１ｓｔ印刷ステップデータ記憶部２０に記憶された１ｓｔ印刷ステップデータ２４、および２ｎｄ印刷ステップデータ記憶部２１に記憶された２ｎｄ印刷ステップデータ２５のそれぞれに記憶された“１”データの数をカウントする。このカウント値により、１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”データの偏り具合の確認と、両者の数を均等にするための補正量を算出することができる。例えば、１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”データの差が“０”である場合は、データの偏りがないと判断できる。なお、１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”データの差は任意の値とし、両者の差が０以外の“１”または“２”といったように、わずかに差がある場合もデータの偏りがないと判断するようにしてもよい。
【００２４】
Ｓ４にて、１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５において、“１”データの数の多いほうの一番アドレス値の大きいブロックを、他方のステップデータに移動後、Ｓ５にて再度１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”データの数をカウントする。
【００２５】
Ｓ６にて、Ｓ５でカウントした１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”の数を比較する。１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”の数の差がたとえば１以下、すなわち差が０の時は１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”の数が同数、差が１であればステップデータ２３のすべての“１”の数が奇数値であるのでこれ以上調整できないので、印刷データ確定となる。
【００２６】
Ｓ６において、１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”の数の差が１以下でない場合、つまり差が２より大きい場合は、Ｓ７以降にて１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”の数の調整を行う。
Ｓ７では、Ｓ４にてデータの移動を行う前と後で、１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”の数の大小が逆転しているかどうかを判定する。“１”の数の大小が逆転していない場合は、Ｓ８にて、Ｓ４で移動したブロックに該当するアドレスより小さいアドレス側にある隣のブロックを、他方のステップデータ側に移動する。Ｓ８にてデータを移動した後は、再びＳ５にて１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の数をカウントし、Ｓ６の判定へと進む。
【００２７】
Ｓ７の判定において、１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の数の大小が逆転した場合、Ｓ９の処理を行う。Ｓ９では、まずＳ８における１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５間で行なったブロックの移動を取り消し、１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５をＳ７で比較を行う前のデータ位置に戻す。次に、データを戻した状態で、１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”データ数の差の絶対値を２で除した値の商を求める。次に、移動を取り消したブロックに対し、アドレスの大きいほうから先に算出した商の数のデータ分を分離して他方のステップデータ側に移動する。この結果、“１”データの移動を完了した１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”データ数は、同数もしくは差が１となり、印刷データは確定する。
【００２８】
以上の処理により、データ分割拡散回路５から出力される印刷データは、分割データ間での“１”データの数の差が最小になることから、ラインデータを分割データに分割することにより印刷データ値の変化により発生する不要輻射量が低減するとともに、分割データ間でのデータ数の偏りがなくなることにより、各分割データにおける発電素子の駆動電流量の差も小さくなる。この結果、駆動回路の駆動電流を供給する電源回路が安定して動作するので、電力が不安定になることによる印刷濃度の乱れの発生を抑えることができる。
なお、本実施の形態においては、１ｓｔ印刷ステップデータ２４と２ｎｄ印刷ステップデータ２５の“１”の数を近づける処理を行なったが、この数を近づける処理は上記説明以外の他の方法で実現しても良い。
【００２９】
実施の形態３．
次に実施の形態３のサーマルプリンタについて、図１０〜図１３を用いて説明する。本実施の形態では、実施の形態２にてステップデータ２３を２つの分割データに分割していたが、本実施の形態では３つの分割データに分けて印刷するものである。このため、本実施の形態においては、ステップデータ２３を１ｓｔ印刷ステップデータ記憶部２０および２ｎｄ印刷ステップデータ記憶部２１の２つの記憶部に加え、あらたに３つ目の印刷ステップデータ記憶部を設け、１ラインの印刷データを３つの分割データに分けて印刷を行なうものであり、それ以外の構成については、実施の形態２と同様である。
次に、データ分割拡散回路５における１ラインを３つの分割データに分ける方法について説明する。
図１０〜図１２は、１ラインデータから生成したステップデータ２３を３つの印刷ステップデータに分割する際の処理フロー図、図１３は、図１０〜図１２の処理フロー図におけるデータの動きの一例を示す図である。
【００３０】
印刷データバッファ４から出力されたラインデータは、Ｓ１０１においてラインバッファ１６に記録された後、ステップデータ変換回路１７によってステップデータ２３に変換される。ステップデータ２３は、Ｓ１０２において、アドレスが小さいブロックから順にブロック単位で３分割したのち１ｓｔ印刷ステップデータ２４、２ｎｄ印刷ステップデータ２５、図示しない３ｒｄ印刷ステップデータ２６にアドレスの小さい順に配置していく。なお、１ｓｔ印刷ステップデータ２４、２ｎｄ印刷ステップデータ２５、３ｒｄ印刷ステップデータ２６に記憶するアドレス値は、ステップデータ記憶部１８のアドレスと同一とする。
【００３１】
ブロックデータの配置が終わると、分割した各印刷ステップデータについて、“１”データの数をカウントする。次に、ステップデータ２３の全“１”データの数を分割数の３で除し、商と余りを求め、各分割データの“１”の総数から商を引いた値を補正値として算出する。
【００３２】
次にＳ１０３において、Ｓ１０２で求めた余りの数が“２“かどうかを判定する。これは、余りの数によって、３分割の印刷ステップデータそれぞれにどれだけの“１”の数にするかを決めるためである。余りの数が２の場合、３つの印刷ステップデータのうち、２つは“１”の数が商より１つ多い値となり、余りが１の場合は１つの印刷ステップデータの“１”の数が商より１つ多い値にしなければならない。
【００３３】
Ｓ１０３の判定で余りが２の場合、Ｓ１０４へ進む。Ｓ１０４では、３つの印刷ステップデータの補正値について、１ｓｔ／２ｎｄ／３ｒｄの印刷ステップデータの補正値が０，１，１か否かを判定する。補正値が０，１，１の場合、すなわち３つの印刷ステップデータデータの“１”の数が商と同じデータが１つ、１つ多いデータが２つなので、この場合は可能な限り等しく分割された分割完了条件を満たしていると判断され、Ｓ１０５へ進み、各分割データの印刷データが確定となり、分割拡散処理は完了となる。
【００３４】
Ｓ１０４において、補正値が０，１，１以外の場合、Ｓ１０６へ進む。Ｓ１０６では、変数Ａに1を設定する。変数Ａは、各印刷ステップデータの補正値に対し、更に余り分の補正を加える値である。Ｓ１０６にて変数Ａに１を設定した後、Ｓ１０７へ進む。
【００３５】
Ｓ１０７では、各印刷ステップデータのうち、補正値が（＋）のデータが２つあるかを判定する。これは、３つの印刷ステップデータのうち、２つの印刷ステップデータの補正値が（＋）か、２つのデータの補正値が（−）かのいずれによって以後の処理が変わるので判定を行う。Ｓ１０７の判定が“はい”の場合、Ｓ１０８へ進み、補正値が（−）でない１つ目の印刷ステップデータを選択する。Ｓ１０７の判定が“いいえ”の場合、Ｓ１０９へ進み補正値が（＋）でない1つ目の印刷ステップデータを選択する。
【００３６】
前記Ｓ１０３の余りの判定が２でない場合、Ｓ１１０へ進む。Ｓ２０３で余りが２でない場合、つまり余りが０または１の場合は、Ｓ１１０で補正値が０の印刷ステップデータが２つあるかを判定する。補正値が０のデータが２つの場合、つまり、余りが０の場合は２つ目の印刷ステップデータまで補正値が０、即ち商と同じ時は３つ目の印刷ステップデータも補正値が０で商と等しくなる。また余りが１の場合は２つ目の印刷ステップデータまで補正値が０、即ち商と同じ時は３つ目の印刷ステップデータが補正値＋１で商に１を加えた数となり、分割完了条件を満たすのでＳ１０５へ進み、印刷ステップデータが確定となり、分割拡散処理は完了となる。
【００３７】
前記Ｓ１１０で補正値の０データが２つでない場合、Ｓ１１１へ進み変数Ａに０を設定し、Ｓ１１２へ進む。Ｓ１１２では、補正値が（−）の印刷ステップデータが１つかどうかを判定する。判定目的は前記Ｓ１０７と同じである。判定がはいの場合、Ｓ１０８へ進み補正値が（−）でない１つ目の印刷ステップデータを選択する。Ｓ１１２の判定がいいえの場合、Ｓ１０９へ進み補正値が（＋）でない１つ目の印刷ステップデータを選択する。
【００３８】
前記Ｓ１０８にて補正値が(−)でない１つ目の印刷ステップデータを選択した後、Ｓ１１３へ進む。Ｓ１１３では、選択した印刷ステップデータの補正値がＡと等しいかを判定する。Ａは、Ｓ１０６またはＳ１１１にて余りの数によって設定されており、Ｓ１０８にて選択された印刷ステップデータの補正値と比較する。補正値がＡと等しい場合、Ｓ１２１へ進み、１つ目の印刷ステップデータのデータ数が確定される。
【００３９】
Ｓ１２１でデータ数が確定後、Ｓ１２２にては、現在処理中のデータが２つ目の印刷ステップデータであるか否かの判定をする。２つ目の印刷ステップデータの場合、２つ目の印刷ステップデータが確定することは、すなわち３つの印刷ステップデータ全てが確定したことと同じなので、印刷データが確定となり、分割拡散処理は完了となる。Ｓ１２２の判定で２つ目の印刷ステップデータでない場合、つまり１つ目の印刷ステップデータの時はＳ１２３へ進み、補正値が（−）でない２つ目の印刷ステップデータを選択する。
【００４０】
Ｓ１２３で２つ目の印刷ステップデータを選択した後、処理は前記Ｓ１１３へ戻る。Ｓ１１３で補正値がＡと等しくない場合、Ｓ１１４へ進む。Ｓ１１４では、選択された印刷ステップデータの中で連続する“１”の数が一番大きいブロックを選択する。一番大きいブロックが複数存在する場合は、例えばアドレスの一番小さいブロックやアドレスの一番大きいブロック等にて選択するなどの方法にてひとつのブロックを決定する。
【００４１】
“１”の数が一番大きいブロックを選択後、Ｓ１１５にて選択したブロックの“１”の数が補正値より大きいか否かを判定する。ブロックの“１”の数が補正値より小さい場合はＳ１１９へ進む。Ｓ１１９では、選択したブロックが存在する印刷ステップデータ以外の印刷ステップデータで、補正値が（−）の印刷ステップデータに移動させたのちＳ１２０へ進む。Ｓ１２０では、補正値からＳ１１９にて移動した“１”の数を引いた値を新しい補正値として設定する。Ｓ１２０にて新しい補正値を設定した後、処理は前記Ｓ１１３へ戻る。
【００４２】
Ｓ１１５で一番大きいブロックの“１”の数が補正値より大きい場合は、Ｓ１１６へ進む。ここで、３つの印刷ステップデータのうち、１ｓｔ印刷ステップデータ２４のデータ番号を１、２ｎｄ印刷ステップデータ２５のデータ番号を２、３ｒｄ印刷ステップデータ２６のデータ番号を３と設定する。このときＳ１１６では、補正値が（−）の印刷ステップデータのデータ番号から現在選択中の印刷ステップデータの番号を引いた値が−２または１であるかを判定する。Ｓ１１６では、補正値が（−）の印刷ステップデータに対し、一番大きいブロックの左右どちら側が隣接しているかを判定している。隣接している側からデータを切り出すと、ラインデータが“１”−“０”−“１”−“０”の１画素繰ごとのデータ変化なる可能性があるため、隣接していない側からデータを切り出すことで、１画素の繰り返しのデータパターンとなることを防ぐ効果がある。
【００４３】
Ｓ１１６で補正値が(−)の印刷ステップデータのデータ番号から選択中の印刷ステップデータのデータ番号を引いた値が−２又は１である場合は、Ｓ１１７へ進む。Ｓ１１７では、現在選択している印刷ステップデータのブロックの右側から、補正値に変数Ａを加えた数の“１”データを補正値が（−）の印刷ステップデータに移動する。Ｓ１１７にてデータの移動が完了すると、Ｓ１２１へ進みデータ確定となる。
Ｓ１１６で補正値が（−）の印刷ステップデータのデータ番号値から、選択中の印刷ステップデータの番号値を引いた値が−２又は１でない場合は、Ｓ１１８へ進み、選択中の印刷ステップデータ上にあるブロックの左側から、補正値に変数Ａを加えた数の“１”データを補正値が(−)の印刷ステップデータに移動する。Ｓ１１８でデータの移動が完了すると、Ｓ１２１へ進みデータ確定となる。
【００４４】
Ｓ１０９で補正値が（＋）でない１つ目の印刷ステップデータを選択した後、Ｓ１２５へ進む。Ｓ１２５では、補正値がＡと等しいか否かを判定する。補正値がＡと等しい場合、Ｓ１３３へ進み、データが確定される。
Ｓ１３３でデータ確定後、Ｓ１３４にて現在処理中の印刷ステップデータが２つ目の印刷ステップデータであるか否かを判定する。２つ目の印刷ステップデータの場合、２つ目のデータが確定することは３つ全ての印刷ステップデータが確定することと同じなので、印刷データが確定となり、分割拡散処理は完了となる。Ｓ１３４の判定で２つ目の印刷ステップデータでない場合、つまり１つ目の印刷ステップデータの時はＳ１３５へ進み、補正値が（＋）でない２つ目の印刷ステップデータを選択する。
【００４５】
Ｓ１３５で２つ目の印刷ステップデータを選択した後、処理はＳ１２５へ戻る。Ｓ１２５で補正値がＡと等しくない場合、Ｓ１２６へ進む。Ｓ１２６では、補正値が（＋）の印刷ステップデータの中で、連続する“１”の数が一番大きいブロックを選択する。一番大きいブロックが複数存在する場合は、例えばアドレスの一番大きいブロックや一番小さいブロックを選択する等でひとつのブロックを選択すればよい。
【００４６】
Ｓ１２６で一番大きいブロックを選択後、Ｓ１２７へ進み選択したブロックの“１”の数が補正値の絶対値より大きいか否かを判定する。補正値の絶対値よりブロックの“１”の数が小さい場合はＳ１３１へ進む。Ｓ１３１では、選択した印刷ステップデータ上の一番大きいブロックを、選択した補正値が（＋）でない印刷ステップデータに移動し、Ｓ１３２へ進む。Ｓ１３２では、補正値にＳ１３１で移動した“１”データの数を足した値を新しい補正値として設定する。Ｓ１３２で新しい補正値を設定した後、処理は前記Ｓ１２５へ戻る。
【００４７】
Ｓ１２７でブロックの“１”の数が、補正値の絶対値より大きい場合は、Ｓ１２８へ進む。Ｓ１２８では、補正値が（＋）の印刷ステップデータのデータ番号値から選択中の印刷ステップデータの番号値を引いた値が−２又は１であるか否かを判定する。
Ｓ１２８で補正値が（＋）の印刷ステップデータのデータ番号から選択中のデータの番号を引いた値が−２又は１である場合は、Ｓ１２９に進む。Ｓ１２９では選択された一番大きいブロックの右側から補正値の絶対値に変数Ａを加えた数の“１”データを、選択中の補正値が（―）の印刷ステップデータに移動する。Ｓ１２９でデータの移動が完了すると、Ｓ１３３へ進みデータ確定となる。
【００４８】
Ｓ１２８で補正値が（＋）の印刷ステップデータのデータ番号値から選択中のデータの番号値を引いた値が−２又は１ではない場合は、Ｓ１３０へ進む。Ｓ１３０では、選択された一番大きいブロックの左側から補正値の絶対値に変数Ａを加えた数の“１”データを、選択中の補正値が（―）の印刷ステップデータに移動する。Ｓ１３０でデータの移動が完了すると、Ｓ１３３へ進みデータ確定となる。
【００４９】
図１３は、図１０〜図１２におけるステップデータ２３を３つの印刷ステップデータに分割する際のデータの動きの一例を示したもので、Ｓ１０２において求められた余りの値が０の場合である。この場合ステップデータ２３からブロック単位で１ｓｔ印刷ステップデータ２４、２ｎｄ印刷ステップデータ２５、３ｒｄ印刷ステップデータ２６に移動させ、さらに個々の印刷ステップデータ内の“１”データの総数がほぼ同一となるようにデータが移動される。
【００５０】
本実施の形態においては、ステップデータを各ステップごとに３分割して印刷を行なうので、２分割する場合に比べ、印刷データが変化する平均周波数がさらに低くなるので、サーマルプリンタ１から外部に放出される不要輻射量を大幅に抑えることができるとともに、分割データ間でのデータ数の偏りがなくなることにより、各分割データにおける発電素子の駆動電流量の差も小さくなる。この結果、駆動回路の駆動電流を供給する電源回路が安定して動作するので、電力が不安定になることによる印刷濃度の乱れの発生を抑えることができる。
【符号の説明】
【００５１】
１  サーマルプリンタ
２  外部通信ＩＦ回路
３  印刷データ変換装置
４  印刷データバッファ
５  データ分割拡散装置
６  サーマルヘッド
７  印刷データ送信回路
８  フラットケーブル
９  印刷データ受信回路
１０  駆動回路
１１  発熱素子
１２  画像
１３  感熱紙
１４  ラインデータ
１５  画素データ
１６  ラインバッファ
１７  ステップデータ変換回路
１８  ステップデータ記憶部
１９  データ切替回路
２０  １ｓｔ印刷ステップデータ記憶部
２１  ２ｎｄ印刷ステップデータ記憶部
２２  制御回路
２３  ステップデータ
２４  １ｓｔ印刷ステップデータ
２５  ２ｎｄ印刷ステップデータ
２６  ３ｒｄ印刷ステップデータ
２００  ＰＣ
【図１】
2018167506.tif 000003
【図２】
2018167506.tif 000004
【図３】
2018167506.tif 000005
【図４】
2018167506.tif 000006
【図５】
2018167506.tif 000007
【図６】
2018167506.tif 000008
【図７】
2018167506.tif 000009
【図８】
2018167506.tif 000010
【図９】
2018167506.tif 000011
【図１０】
2018167506.tif 000012
【図１１】
2018167506.tif 000013
【図１２】
2018167506.tif 000014
【図１３】
2018167506.tif 000015