(57)【特許請求の範囲】
【請求項１】
ライン状に配列された複数の発熱素子を含むサーマルヘッドと、制御部とを備える印刷装置であって、
前記制御部は、
印刷データを構成する１ライン分のラインデータに基づいて、前記サーマルヘッドの前記複数の発熱素子から選択された発熱素子に通電する時間を、前記ラインデータを構成する通電ドットデータの割合と通電ドットデータの分布とに基づいて設定し、
前記通電する時間を設定することにおいて、
前記ラインデータを複数のドット単位に分割して複数の部分ラインデータを生成し、生成した前記複数の部分ラインデータそれぞれをさらに半分に分割して上位部分ラインデータと下位部分ラインデータを生成し、前記複数の部分ラインデータそれぞれにおいて互いに隣接し合う前記上位部分ラインデータの最下位ドットと前記下位部分ラインデータの最上位ドットにおけるドットデータが通電ドットデータ同士である組の数を、境界の数として計数し、
前記ラインデータを隣接する複数のドット単位で複数の分割ラインデータに分割し、各分割ラインデータの通電ドットデータ数をそれぞれ計数し、
計数された前記境界の数と、計数された前記各分割ラインデータの前記通電ドットデータ数とに基づいて、計数された前記境界の数が多いほど、前記通電する時間を短く設定し、
前記通電ドットデータ数が０であると計数された前記分割ラインデータの数が多いほど、前記通電する時間を長く設定し、
前記通電ドットデータ数が０以外であると計数された前記分割ラインデータの数が多いほど、前記通電する時間を短く設定する、ことを特徴とする印刷装置。
【請求項２】
ライン状に配列された複数の発熱素子を含むサーマルヘッドを備える印刷装置による印刷方法であって、
印刷データを構成する１ライン分のラインデータに基づいて、前記サーマルヘッドの前記複数の発熱素子から選択された発熱素子に通電する時間を、前記ラインデータを構成する通電ドットデータの割合と通電ドットデータの分布とに基づいて設定し、
前記通電する時間を設定することは、さらに、
前記ラインデータを複数のドット単位に分割して複数の部分ラインデータを生成し、生成した前記複数の部分ラインデータそれぞれをさらに半分に分割して上位部分ラインデータと下位部分ラインデータを生成し、前記複数の部分ラインデータそれぞれにおいて互いに隣接し合う前記上位部分ラインデータの最下位ドットと前記下位部分ラインデータの最上位ドットにおけるドットデータが通電ドットデータ同士である組の数を、境界の数として計数することと、
前記ラインデータを隣接する複数のドット単位で複数の分割ラインデータに分割し、各分割ラインデータの通電ドットデータ数をそれぞれ計数することと、を含み、
計数された前記境界の数と、計数された前記各分割ラインデータの前記通電ドットデータ数とに基づいて、
計数された前記境界の数が多いほど、前記通電する時間を短く設定し、
前記通電ドットデータ数が０であると計数された前記分割ラインデータの数が多いほど、前記通電する時間を長く設定し、
前記通電ドットデータ数が０以外であると計数された前記分割ラインデータの数が多いほど、前記通電する時間を短く設定する、
ことを含むことを特徴とする印刷方法。
【請求項３】
ライン状に配列された複数の発熱素子を含むサーマルヘッドを備える印刷装置の制御部により読取られた際に、前記制御部に処理を実行させるプログラムであって、
印刷データを構成する１ライン分のラインデータに基づいて、前記サーマルヘッドの前記複数の発熱素子から選択された発熱素子に通電する時間を、前記ラインデータを構成する通電ドットデータの割合と通電ドットデータの分布とに基づいて設定させ、
前記通電する時間を設定させることは、さらに、
前記ラインデータを複数のドット単位に分割して複数の部分ラインデータを生成し、生成した前記複数の部分ラインデータそれぞれをさらに半分に分割して上位部分ラインデータと下位部分ラインデータを生成し、前記複数の部分ラインデータそれぞれにおいて互いに隣接し合う前記上位部分ラインデータの最下位ドットと前記下位部分ラインデータの最上位ドットにおけるドットデータが通電ドットデータ同士である組の数を、境界の数として計数させることと、
前記ラインデータを隣接する複数のドット単位で複数の分割ラインデータに分割し、各分割ラインデータの通電ドットデータ数をそれぞれ計数させることと、を含み、
計数された前記境界の数と、計数された前記各分割ラインデータの前記通電ドットデータ数とに基づいて、
計数された前記境界の数が多いほど、前記通電する時間を短く設定させ、
前記通電ドットデータ数が０であると計数された前記分割ラインデータの数が多いほど、前記通電する時間を長く設定させ、
前記通電ドットデータ数が０以外であると計数された前記分割ラインデータの数が多いほど、前記通電する時間を短く設定させる、
ことを含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷方法及びプログラムに関する。
【背景技術】
【０００２】
従来、サーマルヘッドに配設された発熱素子を発熱駆動することにより、任意の文字、絵柄等を含む印刷データを、ロール状に巻かれた長尺状のテープに印刷し、該テープを切断することでラベルを容易に作成することが可能な印刷装置が用いられている。印刷装置は、長尺状のテープがサーマルヘッドとプラテンローラとの間にインクリボンとともに搬送され、インクリボンのうちサーマルヘッドにより加熱された部分が、文字、絵柄等を含む描画図案として長尺状のテープの表面に熱転写されることで印刷を行う。このような印刷装置においては、サーマルヘッドを印刷データの各１ラインデータに応じて発熱駆動すると同時に、インクリボンおよびテープを１ラインずつ搬送させることにより、印刷データを順次１ラインずつ印刷出力している。
【０００３】
このような熱転写式の印刷装置では、サーマルヘッドの発熱素子を発熱させて印刷を行なうので、ある発熱素子が発熱していると、その熱が隣接する発熱素子にも伝わる。すなわち、隣接する発熱素子は目標温度よりも高くなり、余分なインクが溶融して印刷した文字等のつぶれなどが発生する。すなわち、近傍の発熱素子から発生した熱の影響を受けて印刷品質が低下する、という問題がある。
【０００４】
このような問題を解決するため、サーマルヘッドに付随したサーミスタで得られるサーマルヘッド周辺の温度をフィードバックすることで、通電時間を変化させて印刷を行う技術がある。
【０００５】
また、サーマルヘッドの有効印字ドット数に対する印字データの割合（黒ドット率）を用いて、印字データを分割したり、印字速度を変化させたりする制御が行われる技術がある。例えば、印加される発熱素子の数を検出し、その検出結果に基づいて発熱素子に印加するパルスの数を制御する熱転写式記録装置が開示されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−１４３６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、サーマルヘッド周辺温度の変動とサーマルヘッド自身の温度の変動との間にはライムラグがあるため、適切な通電時間で印刷することができず、良好な印刷品質を保つことができない、という問題がある。
【０００８】
また、黒ドット率に基づいて印字速度を変化させる場合でも、黒ドットデータの分布の相違により、印刷品質にバラつきが生じる、という問題点がある。
【課題を解決するための手段】
【０００９】
本発明は、上述のような実状に鑑みたものであり、高品質の印刷を行うことが可能な印刷装置、および印刷装置において実行する印刷プログラムを提供することを目的とする。
【００１０】
上記課題を解決するため、本発明の印刷装置は、
ライン状に配列された複数の発熱素子を含むサーマルヘッドと、制御部とを備える印刷装置であって、
前記制御部は、
印刷データを構成する１ライン分のラインデータに基づいて、前記サーマルヘッドの前記複数の発熱素子から選択された発熱素子に通電する時間を、前記ラインデータを構成する通電ドットデータの割合と通電ドットデータの分布とに基づいて設定し、
前記通電する時間を設定することにおいて、
前記ラインデータを複数のドット単位に分割して複数の部分ラインデータを生成し、生成した前記複数の部分ラインデータそれぞれをさらに半分に分割して上位部分ラインデータと下位部分ラインデータを生成し、前記複数の部分ラインデータそれぞれにおいて互いに隣接し合う前記上位部分ラインデータの最下位ドットと前記下位部分ラインデータの最上位ドットにおけるドットデータが通電ドットデータ同士である組の数を、境界の数として計数し、
前記ラインデータを隣接する複数のドット単位で複数の分割ラインデータに分割し、各分割ラインデータの通電ドットデータ数をそれぞれ計数し、
計数された前記境界の数と、計数された前記各分割ラインデータの前記通電ドットデータ数とに基づいて、計数された前記境界の数が多いほど、前記通電する時間を短く設定し、
前記通電ドットデータ数が０であると計数された前記分割ラインデータの数が多いほど、前記通電する時間を長く設定し、
前記通電ドットデータ数が０以外であると計数された前記分割ラインデータの数が多いほど、前記通電する時間を短く設定する、ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、サーマルヘッドに配設された発熱素子を適切に発熱駆動することにより、高品質の印刷を行うことができる、という効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係る印刷装置を示す平面図である。
【図２】実施の形態に係る印刷装置の断面図である。
【図３】実施の形態に係る印刷装置のハードウェアブロック図である。
【図４】実施の形態に係る印刷装置の機能ブロック図である。
【図５】印刷データの例を示す図である。
【図６】ラインデータを説明するための図である。
【図７】実施の形態に係る印刷処理の流れを示すフローチャートである。
【図８】ラインデータの構成例を示す図である。
【図９】分割ラインデータの構成例を示す図である。
【図１０】変数と計数との関係を示す図である。
【図１１】ラインデータを分割する理由を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図１は、実施の形態に係る印刷装置を示す平面図である。
【００１４】
図１に示すように、印刷装置１は、装置筐体２、入力部３、表示部４、開閉蓋１７、およびカセット収納部１８を備える。なお、印刷装置１は、入力部３と表示部４を不図示の外部装置（例えばコンピュータ）が備え、印刷対象である所望の描画図案の印刷データを、その外部装置から受信する形態の印刷装置であってもよい。
【００１５】
装置筐体２の上面には、入力部３、表示部４、および開閉蓋１７が配置されている。装置筐体２の右側面には、被印刷媒体Ｍの排出口２ａが形成されている。被印刷媒体Ｍは、例えば、予めロール状に巻かれた長尺状のテープである。
【００１６】
入力部３は、文字、絵柄等を含む所望の描画図案を入力する入力キー、印刷開始を指示する印刷キー、表示部４の表示画面上のカーソルを移動操作するカーソルキー、印刷モードの設定や各種設定処理を行う種々の制御キーなどのいずれかまたは全部を備える。なお、上述の入力キーは、文字データを入力する文字入力キーを含む。
【００１７】
表示部４は、例えば液晶表示パネルであり、入力部３からの入力に対応する文字を含む画像、各種の設定のための選択メニュー、各種の処理に関するメッセージ等を表示する。
【００１８】
開閉蓋１７は、カセット収納部１８の上部において、カセット収納部１８を開閉可能に配置されている。開閉蓋１７は、例えば、ボタン１７ａを押下されることにより開放する
。また、開閉蓋１７には、この開閉蓋１７が閉じた状態でもカセット収納部１８に収納するカセット２０（図２参照）の有無を目視可能とするために、窓部１７ｂが形成されている。
図２は、実施の形態に係る印刷装置の断面図である。
図２には、カセット収納部１８付近の構造が示されている。カセット収納部１８には、被印刷媒体ＭとインクリボンＲが収容されたカセット２０が着脱自在に収納される。被印刷媒体Ｍは、カセット２０内部のテープコア２３にロール状に巻かれていて、熱転写用のインクリボンＲとともに印刷装置１に設けられたサーマルヘッド部（印刷ヘッド）３０へ搬送ローラ１３により搬送される。インクリボンＲは、カセット２０内部のリボン供給コア２４にロール状に巻かれている。サーマルヘッド部３０によりインクが被印刷媒体Ｍに転写された使用済みのインクリボンＲは、リボン巻取コア２５に巻き取られる。サーマルヘッド部３０を通過した被印刷媒体Ｍは、印刷処理が終了するとカット機構１６で切断され、排出口２ａから排出される。
【００１９】
図３は、実施の形態に係る印刷装置のハードウェアブロック図である。
図３に示すように、印刷装置１は、上述の入力部３および表示部４の他、制御部５、ＲＯＭ（Read Only Memory）６、ＲＡＭ（Random Access Memory）７、表示部駆動回路８、ヘッド駆動回路９、印刷ヘッドの一例であるサーマルヘッド部３０、搬送用モータ駆動回路１１、搬送用モータ１２、搬送ローラ１３、カッターモータ駆動回路１４、カッターモータ１５、およびカット機構１６を備える。
【００２０】
なお、印刷装置１は、例えば、図１に示す被印刷媒体Ｍに、印刷データに基づいて、所望の描画図案を印刷後、被印刷媒体Ｍを切断することにより、所望の描画図案が印刷された印刷物を作成する。例えば、長尺状のテープは、任意の文字、絵柄等を含む所望の描画図案の印刷が行われてから、テープ片（ラベル）として切り出される。また、長尺状のテープは、例えば、接着層を有する基材と、接着層を覆うように剥離可能に基材に貼付された剥離紙とを有し、熱転写用のインクリボンＲとともにサーマルヘッド部３０へ搬送される。ただし、印刷装置１は、ロール状に巻かれずに積層された状態で収容される枚葉紙などの他の被印刷媒体に印刷を行う装置であってもよい。
【００２１】
制御部５（processor）は、例えばＣＰＵ（Central Processing Unit）であって、入力部３からのキー操作信号に応じて、または、ＲＯＭ６に予め記憶されているシステムプログラム、メモリカードに記憶された制御プログラム、外部機器から読み込まれた制御プログラム等を自動で起動させ、ＲＡＭ７をワークメモリとして回路各部の動作を制御する。
【００２２】
制御部５には、入力部３、ＲＯＭ６、ＲＡＭ７、表示部４を駆動する表示部駆動回路８、サーマルヘッド部３０を駆動するヘッド駆動回路９、搬送用モータ１２を駆動する搬送用モータ駆動回路１１と、カッターモータ１５を駆動するカッターモータ駆動回路１４とが接続されている。なお、搬送用モータ１２は、搬送ローラ１３を駆動する。また、カッターモータ１５は、カット機構１６を稼働する。
【００２３】
ＲＯＭ６は、ヘッド駆動回路９によってサーマルヘッド部３０に所望の描画図案を被印刷媒体Ｍへ印刷させるためのプログラム、印刷対象となる描画図案に含まれる文字、記号、絵文字等の元データやサイズ情報、印刷フォント等を記憶する。また、ＲＯＭ６は、制御部５によって読取り可能なプログラムが記憶された記憶媒体としても機能する。
【００２４】
ＲＡＭ７は、印刷対象となる所望の描画図案に含まれる文字、記号、絵文字やそれらのサイズ、文字間隔等を指定する情報、作成される印刷物の大きさ等の印刷情報を記憶する入力データメモリとして機能する。また、ＲＡＭ７は、入力されたそれらの印刷情報に基づいて生成され、所望の描画図案を表す印刷データを記憶する印刷データメモリとして機能するとともに、表示部４に表示され、所望の描画図案を表す表示用パターンデータを記憶する表示データメモリ等としても機能する。また、ＲＡＭ７は、印刷処理等に必要なデータを一時的に記憶するレジスタやカウンタ等を備える。
【００２５】
ヘッド駆動回路９は、ＲＡＭ７に記憶された印刷データに基づいてサーマルヘッド部３０を制御する。サーマルヘッド部３０は、この制御に応じて、熱転写により被印刷媒体Ｍに所望の描画図案を印刷する。
【００２６】
搬送用モータ駆動回路１１は、ＲＡＭ７に記憶された印刷データに基づいてステップモータを制御することによって、搬送ローラ１３を制御し、サーマルヘッド部３０による被印刷媒体Ｍへの印刷中、所望の速度で当該被印刷媒体Ｍを搬送させる。
【００２７】
カッターモータ駆動回路１４は、カット機構１６の動作を制御する。このカット機構１６は、被印刷媒体Ｍを搬送方向に直交する幅方向に切断することによって、作成した印刷物を被印刷媒体Ｍから分離させる。なお、カット機構１６は、被印刷媒体Ｍが、複数の層（例えば、基材、剥離紙など）を有する場合には、一部の層（例えば、基材）のみを幅方向に切断してもよい。
【００２８】
なお、印刷装置１の上述の構成はあくまで一例であって、プラテンローラ、保持部材によって保持される印刷ヘッドの一例であるサーマルヘッド部３０、サーマルヘッド部３０を移動させるヘッド移動機構を備えるものであれば適宜構成を変更してもよい。
【００２９】
図４は、実施の形態に係る印刷装置の機能ブロック図である。
図４に示すように、印刷装置１は、印刷データ入力手段４１、通電手段４２、通電時間設定手段４３、および印刷手段４７を備える。また、通電時間設定手段４３は、第１の計数手段４４、第２の計数手段４５、および通電時間補正手段４６を備える。なお、以下で説明する機能は、制御部５により実行される。
【００３０】
印刷データ入力手段４１は、上述の入力部３を用いて被印刷媒体Ｍに印刷するための印刷データを入力する。
【００３１】
通電手段４２は、印刷データ入力手段４１によって入力された印刷データを構成する１ライン分のラインデータに基づいて、被印刷媒体Ｍの第１方向（図５参照）、例えば長尺状の被印刷媒体Ｍの幅方向に沿って、サーマルヘッド部３０にライン状に配列された複数の発熱素子に、予め定めた通電時間で選択的に通電することによって選択された発熱素子を発熱させる。
【００３２】
通電時間設定手段４３は、ラインデータの通電ドットデータの割合（数）と通電ドットデータの分布（分布密度）に基づいて、複数の発熱素子から選択された発熱素子に通電手段４２により通電する時間を設定する。
【００３３】
通電時間設定手段４３が備える第１の計数手段４４は、ラインデータを複数のドット単位に分割して複数の部分ラインデータ（第２のラインセグメント；図８の符号８１、８２）を生成し、生成した複数の部分ラインデータそれぞれをさらに半分に分割して上位部分ラインデータ（上位セグメント；図８の符号８１ａ、８２ａ）と下位部分ラインデータ（下位セグメント；図８の符号８１ｂ、８２ｂ）を生成する。そして、複数の部分ラインデータそれぞれにおいて互いに隣接し合う上位部分ラインデータの最下位ドット（下端部）と下位部分ラインデータの最上位ドット（上端部）におけるドットデータが通電ドットデータ同士である組の数をカウントする。
【００３４】
例えば、通電ドット（第１のドット）データを「黒」、非通電ドット（第２のドット）データを「白」と表記（以下、同様）した、「白白黒黒黒白黒黒黒黒白白白白白白」の１６ビット（２ｂｙｔｅ）のラインデータの場合、８ビットずつの２つ「白白黒黒黒白黒黒」「黒黒白白白白白白」に分割する。これらをそれぞれ「白白黒黒」と「黒白黒黒」、「黒黒白白」と「白白白白」に分割する。そして、「白白黒黒」と「黒白黒黒」の隣接数「１」、「黒黒白白」と「白白白白」の隣接数「０」を計数する。なお、８ビットずつに限らず、４ビットずつでも２ビットずつでも良い。
【００３５】
また、通電時間設定手段４３が備える第２の計数手段４５は、ラインデータを隣接する複数のドット単位で複数の分割ラインデータに分割し、各分割ラインデータの通電ドットデータ数をそれぞれ計数する。例えば、「黒白黒黒黒黒白白」のラインデータであれば、「黒白黒黒」「黒黒白白」の２つの分割ラインデータに分割し、各分割ラインデータの黒ドットデータ数「３」「２」を計数する。
【００３６】
そして、通電時間設定手段４３は、第１の計数手段４４で計数された境界の数と第２の計数手段４５によって計数された各分割ラインデータの通電ドットデータ数に基づいて、通電手段４２によって通電する時間を設定する。例えば、通電時間設定手段４３は、第１の計数手段４４で計数された境界の数が多いほど、通電手段４２によって通電する時間を短く設定する。また、通電時間設定手段４３は、第２の計数手段４５で通電ドットデータ数が０であると計数された分割ラインデータの数が多いほど、通電手段４２によって通電する時間を長く設定し、第２の計数手段４５で通電ドットデータ数が０以外であると計数された分割ラインデータの数が多いほど、通電手段４２によって通電する時間を短く設定する。例えば、「黒黒黒白白白白白」のラインデータの場合、「黒黒黒白」と「白白白白」となり、隣接数が「０」であるので、例えば隣接数が「１」の場合よりも通電時間を多くする。また、各分割ラインデータの黒ドットデータ数は、「３」「０」であるので、分割ラインデータの黒ドットデータ数「０」により通電時間を多くし、分割ラインデータの黒ドットデータ数「３」により通電時間を少なくする。なお、分割ラインデータの黒ドットデータ数「３」により通電時間を少なくする割合は、分割ラインデータの黒ドットデータ数「２」により通電時間を少なくする割合よりも大きくする。また、分割ラインデータの黒ドットデータ数「２」が２つであれば、分割ラインデータの黒ドットデータ数「２」により通電時間を少なくする割合、１つの場合よりも大きくする。
【００３７】
通電時間補正手段４６は、第１の計数手段４４で計数された境界の数と第２の計数手段４５によって計数された各分割ラインデータの通電ドットデータ数に基づいて、通電手段４２によって通電する所定の時間を補正する。
【００３８】
このようにして通電時間を設定することにより、サーマルヘッド部３０に配設された発熱素子を適切に発熱駆動することができる。そして、適切な発熱駆動により、高品質の印刷を行うことができる。
【００３９】
印刷手段４７は、通電時間補正手段４６によって補正された通電時間で通電手段４２を実行させ、インクリボンＲに塗布された染料をインクリボンＲと重畳させた被印刷媒体Ｍ上に転写する。
【００４０】
図５は、印刷データの例を示す図である。図６は、ラインデータを説明するための図である。図７は、実施の形態に係る印刷処理の流れを示すフローチャートである。図８は、ラインデータの構成例を示す図である。図９は、分割ラインデータの構成例を示す図である。図１０は、変数と計数との関係を示す図である。図１１は、ラインデータを分割する理由を説明するための図である。これらの図５乃至図１１を用いて、ｉライン分のラインデータで構成される印刷データを例にして、上述した印刷装置１が実行する印刷処理について説明する。なお、以下で説明する印刷処理は、制御部５により実行される。
【００４１】
印刷装置１が実行する印刷処理は、図５に示すような印刷データ５０を印刷する。図５に示した例では、文字列「黒字カウンタ」が印刷データ５０であり、テープ幅５１が約１８ｍｍの長尺状のテープ（被印刷媒体Ｍ）に印刷される。印刷データ５０が印刷されるのは、テープの有効印刷幅５２の領域であり、例えば、有効印刷幅５２は約１６ｍｍである。
【００４２】
印刷データ５０は、図６に示すように、複数のラインデータ６１、６２、６３、６４、６５、６６、６７、６８、…で構成される。印刷装置１の印刷解像度が２００ｄｐｉであれば、約１６ｍｍの有効印刷幅５２に印刷される各ラインデータ６１等は、それぞれが１２８ドットとなる。すなわち、各ラインデータ６１等は、１２８ビットのアドレスに対応させることができる。例えば、８ビット毎に１バイトとした１６バイトの連続したアドレスに対応させることができる。このような例を用いて、印刷装置１が実行する印刷処理を説明する。
【００４３】
まず、印刷装置１が備える制御部５は、図７のステップＳ７０１において、変数ｊに１を代入し、変数ｉに印刷データ５０を構成するラインデータの数を代入する。例えば、印刷データ５０が７２４ラインで構成されていれば、変数ｉに７２４を代入する。制御部５は、ステップＳ７０２において、ｊライン目を印刷する。最初は１ライン目を印刷する。そして、制御部５は、ステップＳ７０３において、変数ｊに代入された値が変数ｉに代入されている値より大きい（ｊ＞ｉ）か否かを判断することにより、全ての印刷データの印刷が終了したか否かを判断する。この判断ステップで「Ｎｏ」と判断されることにより、印刷データ５０を構成する全てのラインデータについてステップＳ７０４乃至Ｓ７１３を繰り返す。
【００４４】
全ての印刷データの印刷が終了したと判断された場合（ステップＳ７０３：Ｙｅｓ）、本印刷処理を終了する。
【００４５】
他方、全ての印刷データの印刷が終了していないと判断された場合（ステップＳ７０３：Ｎｏ）、制御部５は、ステップＳ７０４において、変数ｐに１を代入し、変数ｎにラインデータを構成するバイト数を代入する。上述の例では、変数ｎに１６を代入する。そして、制御部５は、ステップＳ７０５において、変数ｐに代入された値が変数ｎに代入されている値より大きい（ｐ＞ｎ）か否かを判断することにより、ラインデータを構成する各バイト単位のデータの全てについて、後述するステップＳ７０６乃至Ｓ７１０の処理を実行したか否かを判断する。
【００４６】
変数ｐに代入された値が変数ｎに代入されている値より大きくないと判断された場合（ステップＳ７０４：Ｎｏ）、制御部５は、ラインデータを構成する全てのバイトについてステップＳ７０６乃至Ｓ７０９の処理を実行する。すなわち、ラインデータを構成する１バイト目からｎバイト目、例えば１６バイト目まで、ステップＳ７０６乃至Ｓ７０９の処理を実行する。
【００４７】
まず、制御部５は、ステップＳ７０６において、第１の計数手段４４を実行させ、ｐバイト目のラインデータについて黒ドットデータの隣接数を計数し、初期値が０の変数「ｎｅａｒ」をカウントアップする。例えば、図８に示したようなラインデータ８０において、ｐバイト目が第１の部分ラインデータ８１であれば、その第１の部分ラインデータ８１を上位部分ラインデータ（１番目から４番目のドット）８１ａと下位部分ラインデータ（５番目から８番目のドット）８１ｂに分割し、上位部分ラインデータの最下位ドットが「黒」（通電ドット）であり、下位部分ラインデータの最上位ドットが「黒」（通電ドット）であるので、黒ドットデータの隣接数として「１」を計数する。そして、変数「ｎｅａｒ」をカウントアップする。また、図８に示したようなラインデータ８０において、ｐバイト目が第２の部分ラインデータ８２であれば、その第２の部分ラインデータ８２を上位部分ラインデータ（９番目から１２番目のドット）８２ａと下位部分ラインデータ（１３番目から１６番目のドット）８２ｂに分割し、上位部分ラインデータの最下位ドットが「白」（非通電ドット）であり、下位部分ラインデータの最上位ドットが「白」（非通電ドット）であるので、黒ドットデータの隣接数として「０」を計数する。この場合、変数「ｎｅａｒ」はカウントアップしない（言い換えれば、０だけカウントアップする。）。
【００４８】
制御部５は、ステップＳ７０７において、ｐバイト目のラインデータを上位ビットと下位ビットに分ける。上述の例では、ラインデータが１２８ビット／１６バイトであり、１バイトあたり８ビットとなるので、制御部５は、図９に示すように、上位４ビットの第１の分割ラインデータ（第１のラインセグメント）９１と下位４ビットの第２の分割ラインデータ（第１のラインセグメント）９２に分ける。
【００４９】
制御部５は、ステップＳ７０８において、第２の計数手段４５を実行させ、上位ビットの第１の分割ラインデータ９１と下位ビットの第２の分割ラインデータ９２の黒ドットデータ数をそれぞれ計数する。図９に示した例では、第１の分割ラインデータ９１の黒ドットデータ数として「２」が計数され、第２の分割ラインデータ９２の黒ドットデータ数として「３」が計数される。ステップＳ７０７でラインデータを分割し、それぞれの分割ラインデータについて黒ドットデータ数を計数するのは、本来１つのデータの塊である印刷データを構成するラインデータではあるが、細分化した方が細かく印刷データの状態を把握できるからである。例えば、図１１（ａ）に例示したラインデータ１１１は、構成する黒ドットデータが離れているが、ラインデータ１１２を構成する黒ドットデータは近接している。これらのラインデータ１１１および１１２について黒ドットデータ数を計数すると、何れも「２」を計数する。しかしながら、図１１（ｂ）に示すように、上位４ビットと下位４ビットに分割すると、ラインデータ１１１について計数する黒ドットデータ数は、「０」と「２」であり、ラインデータ１１２について計数する黒ドットデータ数は、「１」と「１」である。この例では、ラインデータ１１１と１１２は、通電ドットデータ数が同じであるが、通電ドットデータの分布は異なっている。
【００５０】
このように、本来１つのデータの塊である印刷データを構成するラインデータを細分化した方が、細かく印刷データの状態を把握できる。
【００５１】
制御部５は、ステップＳ７０９において、ステップＳ７０８で計数した値に応じて、初期値が０の各変数をインクリメント（１加算）する。例えば、ステップＳ７０８で計数した値が「０」であれば、変数「ｚｅｒｏ」をインクリメントし、計数した値が「１」であれば、変数「ｏｎｅ」をインクリメントする。同様に、「２」であれば変数［ｔｗｏ］を、「３」であれば変数「ｔｈｒｅｅ」を、「４」であれば変数「ｆｏｕｒ」をそれぞれインクリメントする。変数「ｚｅｒｏ」「ｏｎｅ」「ｔｗｏ」「ｔｈｒｅｅ」「ｆｏｕｒ」の初期値はいずれも０である。
【００５２】
制御部５は、ステップＳ７１０において、変数ｐをインクリメントしてステップＳ７０５に戻り、ラインデータを構成する次のバイトについてステップＳ７０６以降の処理を実行する。
【００５３】
ステップＳ７０４でラインデータを構成する全てのバイトについてステップＳ７０６乃至Ｓ７１０の処理を実行したと判断された場合（ステップＳ７０５：Ｙｅｓ）、制御部５は、ステップＳ７１１において、ステップＳ７０６でカウントアップした変数「ｎｅａｒ」、およびステップＳ７０９でインクリメントした変数「ｚｅｒｏ」「ｏｎｅ」「ｔｗｏ」「ｔｈｒｅｅ」「ｆｏｕｒ」に、所定の係数を乗算して、変数「ｋｕｒｏｊｉ」に加算する。具体的には、変数「ｎｅａｒ」に、図１０に示すような係数「１３５〜１６５」の間の任意の値、例えば、「１５０」を乗算し、変数「ｋｕｒｏｊｉ」に加算する。また、変数「ｚｅｒｏ」「ｏｎｅ」「ｔｗｏ」「ｔｈｒｅｅ」「ｆｏｕｒ」には、それぞれの係数として「−８３〜−６７」「６８〜８４」「９４〜１１６」「３５５〜４３５」「４１８〜５１２」の間の任意の値、例えば、「−７５」「７６」「１０５」「３９５」「４６５」を乗算し、初期値が０の変数「ｋｕｒｏｊｉ」に加算する。ここで選ばれる各計数としての任意の値は、印刷するテープ幅、印刷速度、サーマルヘッド部３０の幅などの条件の組合せによって、予め経験的に求められる一意的な値であり、ＲＯＭ６に記憶されている。
【００５４】
制御部５は、ステップＳ７１２において、通電時間を設定する。例えば、予め所定の値が設定された通電時間から変数「ｋｕｒｏｊｉ」の値を減算する等して、通電時間を補正する。
【００５５】
そして、制御部５は、ステップＳ７１３において、変数ｊをインクリメントしてステップＳ７０２に戻り、次のラインデータについてステップＳ７０２以降の処理を実行する。
【００５６】
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、本発明が適用される印刷装置は、その機能が実行されるのであれば、上述の実施の形態に限定されることない。例えば、第１の計数手段４４は、通電ドットデータに挟まれた境界の数を計数したが、ラインデータを構成する通電ドットデータの隣接数を計数しても良い。この場合、「白白黒黒黒黒白白」のラインデータであれば、３番目と４番目、４番目と５番目、５番目と６番目の「黒」ドットデータ（通電ドットデータ）が隣接しているので、隣接数「３」を計数する。また、第１の計数手段４４は、ラインデータが大きいような場合、ラインデータを適宜複数の部分ラインデータ毎に隣接数を計数した上で、隣接する部分ラインデータにおける通電ドットデータの隣接数も計数することもできる。例えば、「白白黒黒黒白黒黒黒黒白白白白白白」のラインデータであれば、「白白黒黒黒白黒黒」と「黒黒白白白白白白」の部分ラインデータ毎に隣接数「３」と「１」を計数し、１番目の部分ラインデータの最後（８番目）と２番目の部分ラインデータの最初（１番目）の「黒」ドットデータが隣接しているので、「１」を加算し、隣接数「５（＝３＋１＋１）」を計数してもよい。
【００５７】
さらに、印刷装置１の通電時間設定手段４３は、第１の計数手段４４および第２の計数手段４５の両方を必ずしも備える必要はなく、例えば、第１の計数手段４４および第２の計数手段４５のいずれかを備えていればよい。印刷装置１の通電時間設定手段４３が第１の計数手段４４のみを備えている場合には、ステップＳ７１１において、変数「ｎｅａｒ」に所定の計数を乗算して、変数「ｋｕｒｏｊｉ」に加算する。この場合、「ｎｅａｒ」のカウント数だけが、変数「ｋｕｒｏｊｉ」に影響を及ぼし、ひいては、通電時間の補正に影響を及ぼすこととなる。また、この場合、変数「ｚｅｒｏ」「ｏｎｅ」「ｔｗｏ」「ｔｈｒｅｅ」「ｆｏｕｒ」は初期値の０のままであるか、そもそも不要であるため、存在しない。印刷装置１の通電時間設定手段４３が第２の計数手段４５のみを備えている場合には、ステップＳ７１１において、変数「ｚｅｒｏ」「ｏｎｅ」「ｔｗｏ」「ｔｈｒｅｅ」「ｆｏｕｒ」に所定の計数を乗算して、変数「ｋｕｒｏｊｉ」に加算する。この場合、変数「ｚｅｒｏ」「ｏｎｅ」「ｔｗｏ」「ｔｈｒｅｅ」「ｆｏｕｒ」のカウント数だけが、変数「ｋｕｒｏｊｉ」に影響を及ぼし、ひいては、通電時間の補正に影響を及ぼすこととなる。また、この場合、変数「ｎｅａｒ」は初期値の０のままであるか、そもそも不要であるため、存在しない。
【００５８】
また、上述してきた本発明の実施の形態は、印刷装置の一機能としてハードウェアまたはＤＳＰ（Digital Signal Processor）ボードやＣＰＵボードでのファームウェアもしくはソフトウェアにより実現することができる。
【００５９】
また、本発明が適用される印刷装置は、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、ＬＡＮ、ＷＡＮ等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
【００６０】
また、バスに接続されたＣＰＵ、ＲＯＭやＲＡＭのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したＲＯＭやＲＡＭのメモリ、外部記録装置、可搬記録媒体を、印刷装置に供給し、その印刷装置のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
【００６１】
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
【００６２】
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭカード、電子メールやパソコン通信等のネットワーク接続装置（言い換えれば、通信回線）を介して記録した種々の記録媒体などを用いることができる。
【００６３】
また、コンピュータ（情報処理装置）がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
【００６４】
さらに、可搬型記録媒体から読み出されたプログラムやプログラム（データ）提供者から提供されたプログラム（データ）が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
【００６５】
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
【００６６】
以上、具体的な実施形態に基づいて本発明を説明したが、本発明の技術的範囲は上記実施形態に限定されないことは言うまでもない。本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
具体的な上記実施形態に、多様な変更又は改良を加えることが可能であることは当業者にとって明らかであり、その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれるものであることは、特許請求の範囲の記載から明らかである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００６７】
（付記１）
ある方向に配列された複数の発熱素子を含む印刷ヘッドと、制御部とを備える印刷装置であって、
被印刷媒体に印刷される画像を表す印刷データが複数のラインデータに分割されて、各ラインデータは、前記ある方向に延在し、且つ、前記被印刷媒体に印刷される複数の第１のドットと、前記画像を構成する複数のドットのうちの前記複数の第１のドット以外のドットである複数の第２のドットとを含み、
前記制御部は、
前記各ラインデータについて、前記各ラインデータの前記複数の第１のドットに対応する複数の前記発熱素子に選択的に電流を流れさせることにより、選択された前記発熱素子に熱を発生させ、且つ、前記各ラインデータ内の対応する複数の第１のドットを前記被印刷媒体に印刷させ、
さらに、前記各ラインデータについて、前記各ラインデータの前記複数の第１のドットの分布情報を取得し、且つ、前記各ラインデータの前記複数の第１のドットの前記分布情報に応じて、選択された前記発熱素子に電流を供給する通電時間を設定する
ことを特徴とする印刷装置。
（付記２）
前記制御部は、前記各ラインデータの前記第１のドットの分布情報を取得することにおいて、
前記各ラインデータを複数の第１のラインセグメントに分割し、分割した各第１のラインセグメントの第１のドットの数をカウントすることにより、前記各第１のラインセグメントに含まれる第１のドットの数である前記第１のラインセグメントの分布を取得し、
さらに、取得した、前記各第１のラインセグメントの分布に応じて、前記各ラインデータについて、前記通電時間を設定する
ことを特徴とする付記１に記載の印刷装置。
（付記３）
前記制御部は、前記各ラインデータの前記第１のドットの分布情報を取得することにおいて、
前記ラインデータ内の２つの連続する第１のドットの発生頻度をカウントし、
さらに、カウントした、前記ラインデータ内の前記２つの連続する第１のドットの前記発生頻度と、取得した、前記第１のラインセグメントの分布とに応じて、前記各ラインデータについて、前記通電時間を設定する
ことを特徴とする付記２に記載の印刷装置。
（付記４）
前記制御部は、前記各ラインデータの前記第１のドットの分布情報を取得することにおいて、
前記ラインデータを、前記複数の第１のラインセグメントと同じか又は異なる複数の第２のラインセグメントに分割し、前記複数の第２のラインセグメントそれぞれを上位セグメントおよび下位セグメントへとさらに分割し、且つ、前記上位セグメントと前記下位セグメントの間の境界であって２つの第１のドットにより挟まれた前記境界の数である第１のドットの境界の数をカウントすることにより、前記ラインデータ内の前記２つの連続する第１のドットの前記発生頻度をカウントし、
さらに、カウントした、前記ラインデータ内の前記第１のドットの前記境界の数と、取得した、前記第１のラインセグメントに含まれる第１のドットの数である前記第１のラインセグメントの分布とに応じて、前記各ラインデータについて、前記通電時間を設定する
ことを特徴とする付記３の印刷装置。
（付記５）
前記制御部は、選択された前記発熱素子への通電時間が、前記ラインデータ内の前記第１のドットの前記境界の数が多い場合に、前記境界の数が少ない場合よりも短くなるように、前記通電時間を設定する
ことを特徴とする付記４に記載の印刷装置。
（付記６）
前記制御部は、選択された前記発熱素子への通電時間が、前記第１のラインセグメントに含まれる前記第１のドットの数が０であるような当該第１のラインセグメントの数が多い場合に、そのような第１のラインセグメントの数が少ない場合よりも長くなるように、前記通電時間を設定する
ことを特徴とする付記２乃至付記５のいずれか一項に記載の印刷装置。
（付記７）
前記制御部は、選択された前記発熱素子への通電時間が、前記第１のラインセグメントに含まれる前記第１のドットの数が０以外であるような当該第１のラインセグメントの数が多い場合に、そのような第１のラインセグメントの数が少ない場合よりも短くなるように、前記通電時間を設定する
ことを特徴とする付記２乃至付記６のいずれか一項に記載の印刷装置。
（付記８）
前記制御部は、前記複数のラインデータそれぞれの前記複数の第１のドットの分布情報を取得することにおいて、前記ラインデータ内の２つの隣接する第１のドットの発生頻度をカウントし、
さらに、カウントした、前記ラインデータ内の前記２つの隣接する第１のドットの発生頻度に応じて、記複数のラインデータそれぞれについて、前記通電時間を設定する
ことを特徴とする付記１に記載の印刷装置。
（付記９）
ある方向に配列された複数の発熱素子を含む印刷ヘッドを備える印刷装置を用いた印刷方法であって、
被印刷媒体に印刷される画像を表す印刷データが複数のラインデータに分割されて、各ラインデータは、前記ある方向に延在し、且つ、前記被印刷媒体に印刷される複数の第１のドットと、前記画像を構成する複数のドットのうちの前記複数の第１のドット以外のドットである複数の第２のドットとを含み、
前記印刷方法は、
前記各ラインデータについて、前記各ラインデータの前記複数の第１のドットに対応する複数の前記発熱素子に選択的に電流を流れさせることにより、選択された前記発熱素子に熱を発生させ、且つ、前記各ラインデータ内の対応する複数の第１のドットを前記被印刷媒体に印刷させ、
さらに、前記各ラインデータについて、前記各ラインデータの前記複数の第１のドットの分布情報を取得し、且つ、前記各ラインデータの前記複数の第１のドットの前記分布情報に応じて、選択された前記発熱素子に電流を供給する通電時間を設定する
ことを含むことを特徴とする印刷方法。
（付記１０）
ある方向に配列された複数の発熱素子を含む印刷ヘッドを備える印刷装置の制御部により読取られた際に、前記制御部に処理を実行させるプログラムであって、
被印刷媒体に印刷される画像を表す印刷データが複数のラインデータに分割されて、各ラインデータは、前記ある方向に延在し、且つ、前記被印刷媒体に印刷される複数の第１のドットと、前記画像を構成する複数のドットのうちの前記複数の第１のドット以外のドットである複数の第２のドットとを含み、
前記制御部に実行させる処理は、
前記各ラインデータについて、前記各ラインデータの前記複数の第１のドットに対応する複数の前記発熱素子に選択的に電流を流れさせることにより、選択された前記発熱素子に熱を発生させ、且つ、前記各ラインデータ内の対応する複数の第１のドットを前記被印刷媒体に印刷させ、
さらに、前記各ラインデータについて、前記各ラインデータの前記複数の第１のドットの分布情報を取得し、且つ、前記各ラインデータの前記複数の第１のドットの前記分布情報に応じて、選択された前記発熱素子に電流を供給する通電時間を設定する
ことを含むことを特徴とするプログラム。
【符号の説明】
【００６８】
１        印刷装置
２        装置筐体
２ａ      排出口
３        入力部
４        表示部
５        制御部
６        ＲＯＭ（Read Only Memory）
７        ＲＡＭ（Random Access Memory）
８        表示部駆動回路
９        ヘッド駆動回路
１１      搬送用モータ駆動回路
１２      搬送用モータ
１３      搬送ローラ
１４      カッターモータ駆動回路
１５      カッターモータ
１６      カット機構
１７      開閉蓋
１７ａ    ボタン
１７ｂ    窓部
１８      カセット収納部
２０      カセット
２３      テープコア
２４      リボン供給コア
２５      リボン巻取コア
３０      サーマルヘッド部
４１      印刷データ入力手段
４２      通電手段
４３      通電時間設定手段
４４      第１の計数手段
４５      第２の計数手段
４６      通電時間補正手段
４７      印刷手段
５０      印刷データ
５１      テープ幅
５２      有効印刷幅
６１、６２、６３、６４、６５、６６、６７、６８、８０、１１１、１１２  ラインデータ
８１      第１の部分ラインデータ（第２のラインセグメント）
８２      第２の部分ラインデータ（第２のラインセグメント）
８１ａ，８２ａ      上位部分ラインデータ（上位セグメント）
８１ｂ，８２ｂ      下位部分ラインデータ（下位セグメント）
９１      第１の分割ラインデータ（第１のラインセグメント）
９２      第２の分割ラインデータ（第１のラインセグメント）
Ｍ        被印刷媒体
Ｒ        インクリボン
【図１】
0006988109.tif 000002
【図２】
0006988109.tif 000003
【図３】
0006988109.tif 000004
【図４】
0006988109.tif 000005
【図５】
0006988109.tif 000006
【図６】
0006988109.tif 000007
【図７】
0006988109.tif 000008
【図８】
0006988109.tif 000009
【図９】
0006988109.tif 000010
【図１０】
0006988109.tif 000011
【図１１】
0006988109.tif 000012