(57)【特許請求の範囲】
【請求項１】
各画素が多階調のデータを持ったデジタル画像データを受け取り、これをラインヘッドによって階調毎にインクの転写の有無を制御する事で、多階調の濃度差を持つ印字画素からなるラインを記録紙上に得、ラインヘッドの走査によって複数のラインを記録紙上に記録する事によって画像を印字するデジタルプリンタにおいて、
各階調毎に、印字を行う画素の数をカウントする手段と、このカウント手段のカウント値に応じて全画素を、前記カウント値が予め規定された同時通電画素数に達する毎に１つのグループとすることにより複数のグループに分割する手段と、このグループ分割数を決定する手段とを有し、前記グループ内の印字画素数が、各グループとも、前記同時通電画素数として予め規定した数と同一になるようにグループ分けの範囲、及びグループ分割数を各階調毎に可変とし、各階調における印字動作時において、１ラインの内で同時に印字を行う画素を、前記グループ単位に限定し、複数回に分けて各階調の印字を行うようにすると共に、階調数Ｌの印字を行う際に、グループ分けの結果、グループ内の印字画素数が前記同時通電画素数として規定した数Ｎに満たない数ｍであるグループが生じた場合、階調Ｌ＋１の印字を行う、前記グループに含まれる画素とは異なる位置の画素の内のＮ−ｍ個の画素を選択し、前記グループの画素印字時に同時に印字する事で、印字画素数の合計値が前記同時通電画素数の規定値Ｎに常に等しく保つ機能を有することを特徴とするデジタルプリンタ。
【請求項２】
各画素が多階調のデータを持ったデジタル画像データを受け取り、これをラインヘッドによって階調毎にインクの転写の有無を制御する事で、多階調の濃度差を持つ印字画素からなるラインを記録紙上に得、ラインヘッドの走査によって複数のラインを記録紙上に記録する事によって画像を印字するデジタルプリンタにおいて、
各階調毎に、印字を行う画素の数をカウントする手段と、このカウント手段のカウント値に応じて全画素を、前記カウント値が予め規定された同時通電画素数に達する毎に１つのグループとすることにより複数のグループに分割する手段と、このグループ分割数を決定する手段とを有し、前記グループ内の印字画素数が、各グループとも、前記同時通電画素数として予め規定した数と同一になるようにグループ分けの範囲、及びグループ分割数を各階調毎に可変とし、各階調における印字動作時において、１ラインの内で同時に印字を行う画素を、前記グループ単位に限定し、複数回に分けて各階調の印字を行うようにすると共に、階調数Ｌの印字を行う際に、前記グループ分けの結果、グループ内の印字画素数が前記同時通電画素数として規定した数Ｎに満たない数ｍであるグループが生じた場合、階調Ｌ＋１の印字を行う、グループに含まれる画素とは異なる位置の画素であるという条件に合致した画素を選択し、前記条件に合致する画素の数がＮ−ｍ個に満たない場合、前記条件に合致する画素数が最大限になるように画素を選択し、これら選択画素を、グループの画素印字時に同時に印字する事で、印字画素数の合計値が前記同時通電画素数の規定値Ｎに最大限近づくようにする機能を有することを特徴とするデジタルプリンタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル画像データを得て、これを記録紙に印刷するデジタルプリンタに関る。
【０００２】
【従来の技術】
デジタルプリンタは、各画素毎の階調値をデジタルデータにより記述した静止画像データをホストコンピュータ等（以下、ホストと称す）から受け取り、これをライン毎に順次印刷し、最終的に１枚の静止画像を記録紙上に得るものである。
この種のデジタルプリンタでは、印字を行う際、主に電力容量を抑制する目的で１ライン中の全印字画素を同時通電せずに、複数回に分割して印字する場合がある。すなわち、この場合、同時に通電される画素数を制限しているので、必要な電流供給量が一定値以下に制限され、この結果、電源部に要求される電力容量を押さえる事ができ、サイズ、コスト等の面で有利となる。
【０００３】
図９に分割印字を行うデジタルプリンタの信号処理回路のブロック図を示す。また、図１０に階調数Ｌのときの各信号の動作を表すタイミングチャートを示す。印字データを分割する手段としてはさまざまな方法が考えられるが、以下に述べる例ではデータマスク信号を用いてヘッドへの画像データをマスクする方法を示す。また、一例としてここでは分割数は４とする。
まず、デジタルプリンタによる印字が開始されると、画像データを保持しているホストから画像データが１ラインずつ順次信号処理回路部へ転送される。送られてきた１ライン分の画像データはメモリコントローラ2の制御信号に従い、ラ インメモリ1に記憶される。１ライン分の記憶が終了すると、メモリコントロー ラ2はラインメモリ1からのデータ読み出しの制御を始め、ラインの先頭画素の  データから順番に一画素づつデータをレベルコンパレータ3へ送り出す。この読 み出し動作は、ラインの最後の画素の読み出しが終了すると再び先頭画素からの読み出しを開始する。以降、印字階調数分の回数だけ、ラインデータの読み出しを繰り返す。
【０００４】
レベルコンパレータ3にはラインメモリ1から読み出される画素データと共に  、レベルカウンタ21からの階調データが入力される。このレベルカウンタ21はラインメモリ1からのラインデータ読み出しが開始されると共に、カウント値０か らカウントを開始し、分割数カウンタ２４からのカウント終了信号が入力される毎に１づつカウントアップする。そして、カウント値が印字階調数の値に達するまでカウントアップを続ける。
レベルコンパレータ3では、ラインメモリ1からの画像データと、レべルカウ  ント値を比較し、［画像データ値＞レべルカウント値］が成り立つ場合は１（Ｈｉｇｈレベル信号）を出力し、現在のレべルカウント値が示す階調数において、その画素は印字画素となる。上記式が成り立たない場合は０（Ｌｏｗレベル信号）を出力し、印字画素とならない事となる。このレベルコンパレータ3からの出 力はＡＮＤゲート13を通りサーマルヘッドへ向かって印字データとなる。
上記分割数カウンタ24でのカウント値は、各階調印字の開始のたびに０にリセットされる。ラインデータの読み出し期間で１づつカウントアップし、０から３までカウントして今の階調の印字が終了する。そして、次の階調の印字開始で再び０にリセットされる。カウント値はデータマスク選択部23へ入力される。また、分割数カウンタ２４はカウントが終了して次の階調に移るたびに、カウント終了の信号をレベルカウンタ21へ送り、レベルカウンタ21をカウントアップさせる。
【０００５】
一方、データマスク生成部22では、図１０に示すデータマスク０〜３に示す通り、ライン読み出し期間を丁度４当分するように、４つのデータマスク信号を生成する。各データマスクは、データマスク選択部23へ入力され、ここで分割数カウンタ２４のカウント値に応じて１つのマスク信号が選択される。選択されたマスク信号は、レベルコンパレータ3からの画素データと共にＡＮＤゲート13へ入 力される。図１０ではデータマスク０が選択された場合を示している。
以上の様にして、各階調毎に４回のライン印字が行われ、各回では異なるデータマスクが選択され、レベルコンパレータ3からの画像データがＡＮＤゲート13 にてマスクされるため、ラインを構成する印字画素が各階調において複数の組に時分割されてサーマルヘッドへ転送される事となる。
【０００６】
このようにして、第１ラインのデータ読み出しが全印字階調にわたって終了すると、ラインデータのサーマルヘッドへの１ライン分のデータ転送が終了したことになる。メモリコントローラ2は引き続き、ホストからの第２ラインのデータ のラインメモリ1への書き込み、続いて読み出しを行う。図９に示す信号処理回 路部は同様の信号処理を行ってサーマルヘッドへ画像データを転送し続ける。同様にして、第３ライン、第４ライン・・・と順次読み出し書き込みを繰り返し、全ラインデータを処理し終わって、１画面分の画像データの処理を終了する。カラー印字の場合は、この動作を３画面分繰り返し、イエロー、マゼンタ、シアンの印刷三原色分の印字を行って、カラー画像を得る。
【０００７】
ここで図１１にサーマルヘッドの構造の概要を示す。サーマルヘッドは１ラインドット数×１ｂｉｔのレジスタＲＥよりなるレジスタ群を２本持っている。第１レジスタ群 31 の各レジスタＲＥはサーマルヘッドＳＨの各発熱体35に対応しており、レジスタＲＥの保持値によって発熱体35の通電をＯＮにするかＯＦＦにするかが決定される。サーマルヘッドＳＨは、ＡＮＤゲート１３（図９参照）からの１ビット幅のシリアルの画像データを受け取り、シフトレジスタの構成をした第１レジスタ群 31 に順次蓄積していく。１ライン分のデータの蓄積が完了すると、図示しないサーマルヘッド制御部からのレジスタセット信号により第１レジスタ群 31 のデータは第２レジスタ群 32 に移される。次に、第２レジスタ群32のデータ値に応じて発熱体35が通電され、分割印字１回分の印字が行われる。同時に第１レジスタ群 31 へ、次の１ライン分のデータの書き込みが行われる。通電時間は、図示しないサーマルヘッド制御部からの通電パルス幅制御信号のパルス幅によって制御され、第２レジスタ群 32 の各レジスタの真偽値と、通電パルス幅制御信号とを各ＡＮＤゲート３３にてＡＮＤ演算した信号が通電スイッチ素子３４に入力され、この入力値が真のときに発熱体35の通電が行われる構成となっている。
【０００８】
以上に述べた制御方法では、分割数を固定としているが、特公昭６２−５８５８４号公報に示される技術では、ラインを複数の区間に分割し、印字画素数の総計に応じて、同時に通電する区画数を可変とする制御方法が示されている。この制御方法では、分割数を動的に変化させるため、分割数を常時一定値に固定する前記の印字方法に比べ、印字速度が高速化される利点がある。
【０００９】
【発明が解決しようとする課題】
ところで、上述したような従来の分割印字方法では１ラインの印字画素を複数に分割し、時間をずらせて印字を行うようにしているため、同時通電ドット数を制限し、単位時間当たりの消費電力を押さえることにより、電力容量を抑制することができる。しかしながら、この方法は同時通電画素数を一定値以下に制限することはできるが、各階調毎の印字ドット数を、完全に一定値に保つようにしているのではなく、画像データの内容によって同時通電画素数は常に変動する。その結果、サーマルヘッドを駆動する電源は、同時通電画素数の変化による負荷変動を受けて出力電圧の変動を生じる。この電圧の変動が印字濃度に影響を及ぼし、画質の劣化を生じるという問題があった。
【００１０】
また、特公昭６２−５８５８４号公報に示す制御方法では、消費電力を押さえることのほかに、分割数を常時一定とする方式に比べて、印字速度を高速化する効果が述べられているが、通電画素数を分割区間単位でしか制御できないので、やはり同時通電画素数にばらつきが発生し、高速化のためには効率が悪いといえる。
本発明は、以上のような問題点に着目し、これを有効に解決すべく創案されたものであり、その目的は、同時通電画素数を特別の場合を除いて常に一定に保つことができるデジタルプリンタを提供することにある。
【００１１】
【課題を解決するための手段】
請求項１に規定する発明は、各画素が多階調のデータを持ったデジタル画像データを受け取り、これをラインヘッドによって階調毎にインクの転写の有無を制御する事で、多階調の濃度差を持つ印字画素からなるラインを記録紙上に得、ラインヘッドの走査によって複数のラインを記録紙上に記録する事によって画像を印字するデジタルプリンタにおいて、各階調毎に、印字を行う画素の数をカウントする手段と、このカウント手段のカウント値に応じて全画素を、前記カウント値が予め規定された同時通電画素数に達する毎に１つのグループとすることにより複数のグループに分割する手段と、このグループ分割数を決定する手段とを有し、前記グループ内の印字画素数が、各グループとも、前記同時通電画素数として予め規定した数と同一になるようにグループ分けの範囲、及びグループ分割数を各階調毎に可変とし、各階調における印字動作時において、１ラインの内で同時に印字を行う画素を、前記グループ単位に限定し、複数回に分けて各階調の印字を行うようにすると共に、階調数Ｌの印字を行う際に、グループ分けの結果、グループ内の印字画素数が前記同時通電画素数として規定した数Ｎに満たない数ｍであるグループが生じた場合、階調Ｌ＋１の印字を行う、前記グループに含まれる画素とは異なる位置の画素の内のＮ−ｍ個の画素を選択し、前記グループの画素印字時に同時に印字する事で、印字画素数の合計値が前記同時通電画素数の規定値Ｎに常に等しく保つ機能を有することを特徴とするデジタルプリンタである。
これにより、特別の場合を除いて同時通電画素数を常に一定に保つことが可能となる。
【００１２】
また、請求項２に規定する発明は、各画素が多階調のデータを持ったデジタル画像データを受け取り、これをラインヘッドによって階調毎にインクの転写の有無を制御する事で、多階調の濃度差を持つ印字画素からなるラインを記録紙上に得、ラインヘッドの走査によって複数のラインを記録紙上に記録する事によって画像を印字するデジタルプリンタにおいて、各階調毎に、印字を行う画素の数をカウントする手段と、このカウント手段のカウント値に応じて全画素を、前記カウント値が予め規定された同時通電画素数に達する毎に１つのグループとすることにより複数のグループに分割する手段と、このグループ分割数を決定する手段とを有し、前記グループ内の印字画素数が、各グループとも、前記同時通電画素数として予め規定した数と同一になるようにグループ分けの範囲、及びグループ分割数を各階調毎に可変とし、各階調における印字動作時において、１ラインの内で同時に印字を行う画素を、前記グループ単位に限定し、複数回に分けて各階調の印字を行うようにすると共に、階調数Ｌの印字を行う際に、前記グループ分けの結果、グループ内の印字画素数が前記同時通電画素数として規定した数Ｎに満たない数ｍであるグループが生じた場合、階調Ｌ＋１の印字を行う、グループに含まれる画素とは異なる位置の画素であるという条件に合致した画素を選択し、前記条件に合致する画素の数がＮ−ｍ個に満たない場合、前記条件に合致する画素数が最大限になるように画素を選択し、これら選択画素を、グループの画素印字時に同時に印字する事で、印字画素数の合計値が前記同時通電画素数の規定値Ｎに最大限近づくようにする機能を有することを特徴とするデジタルプリンタである。
【００１３】
【発明の実施の形態】
以下に、本発明に係るデジタルプリンタの一実施例を添付図面に基づいて詳述する。
図１は本発明のデジタルプリンタの信号処理系を示すブロック図、図２は印字開始から終了までのラインメモリの書き込み、読み出し動作を説明する概念図、図３は印字動作の進行に伴う印字画素のブロック化及び印字位置の変化を説明する説明図、図４はリミットカウンタフラグが発生した場合の、印字動作の進行に伴う印字画素のブロック化及び印字位置の変化を説明する説明図、図５はリミットカウンタフラグが発生しない場合の、データ制御ブロック内の各信号の動作詳細を説明するタイミングチャート、図６は図５のタイミングチャートの一部の期間を拡大した図、図７はリミットカウンタフラグが発生した場合の、データ制御ブロック内の各信号の動作詳細を説明するタイミングチャート、図８は図７のタイミングチャートの一部の期間を拡大した図である。
【００１４】
尚、ここでは１ラインの画素数を５１２ｄｏｔ、分割印字時の同時通電画素数（規定数）を１２８ｄｏｔ、各画素の階調数を２５６階調の場合を例にとって説明する。また、先に説明した従来の構成図と同一部分については同一符号を付して説明する。図示するように、このデジタルプリンタの信号処理系は、画像データの２５６階調（レベル）の内、偶数レベルの画像データについて制御を行なうＡブロック（偶数レベルデータ制御部）と奇数レベルの画像データについて制御を行なうＢブロック（奇数レベルデータ制御部）とを有しており、両Ａ、Ｂブロックは全く同じブロック構造になされている。
ここで、各階調毎に、印字を行う画素の数をカウントする手段としてはブロック５−１、５−２により形成され、このカウント手段のカウント値に応じて全画素をいくつかのグループに分割する手段としてはブロック９−１、９−２、１２−１、１２−２、１３−１、１３−２により形成され、またこのグループ分割数を決定する手段としてはブロック１０−１、１０−２、１１−１、１１−２により形成される。以下に具体的に説明する。
まず、ラインメモリ１は、画像データのホストから送られる画像データの１ライン分を記憶する容量、すなわち８ｂｉｔ×５１２ｄｏｔの容量を持つ。
レベルカウンタ４−１、４−２は階調レベル値のカウントを行う。Ａブロック内のレベルカウンタ４−１のカウント値は偶数、Ｂブロック内のレベルカウンタ４−２のカウント値は奇数値であり、双方とも＋２カウントである。カウントアップは、後述する互いに別のブロックからの分割カウントコンパレータフラグによって行われる。
【００１５】
各レベルコンパレータ３−１、３−２は、それぞれレベルカウンタ４−１、４−２からの階調数と画像データとの比較を行う。［階調数＜画像データ］となったとき、真＝Ｈｉｇｈレベル信号、それ以外の場合は偽＝Ｌｏｗレベル信号を出力する。この“真”信号が、各階調における印字データの元となる。
各印字ドットカウンタ５−１、５−２は、それぞれのレベルコンパレータ３−１、３−２の比較結果が“真”となったデータの数をカウントする。カウント値が同時通電画素規定値（例えば１２８）に等しくなると、印字ドットカウントフラグを発生し、次にレベルカウンタ４−１、４−２から“真”を受け取った時にはカウント値を１に戻して、さらにカウントを続ける。
【００１６】
この印字ドットカウントフラグから、データマスク生成部９−１、９−２によって、通電ドット数を規定値（例えば１２８）とするためのデータマスクが作られる。また、この印字ドットカウントフラグは、後述のリミットカウンタ７−１、７−２のカウント値を０にリセットする。
上記印字ドットカウンタ５−１、５−２は、それぞれのロード値を保持する印字ドットカウンタロード値レジスタ６−１、６−２を持つ。
それぞれのレジスタ６−１、６−２は、互いに別ブロック（例えば、Ａブロックに対するＢブロック）にあるそれぞれの印字ドットカウンタ５−２、５−１のカウント値を、互いに別ブロックにある分割数カウントコンパレータ１１−２、１１−１の発生する、フラグ（後述する分割カウントコンパレータフラグＦＡ、ＦＢ）のタイミングで記憶、保持する。各カウンタ５−１、５−２へのレジスタ値のロードは各休止期間において毎回発生する、図示しない全体のタイミングを制御する制御ブロックからのカウント値ロードフラグのタイミング（図６及び図８において［レジスタからロード］と表記されたタイミング）で行われる。上記分割カウントコンパレータフラグも休止期間に発生するが、ロードのタイミングはこれに先行する。
【００１７】
このようにして、互いに別ブロックの印字ドットカウント値をセット、ロードする事により、偶数階調から奇数階調へ、あるいは奇数階調から偶数階調へ処理が移るときに、互いに別ブロックからの現在のドットカウント数を引き継いで、継続処理を行う事ができる。
上記リミットカウンタ７−１、７−２は、印字、非印字を含めたドット数が、１ラインのドット数（例えば５１２ドット）を超えたか否かを判定し、リミットカウンタフラグを発生し、またカウント値を０にリセットする。
更に、このリミットカウンタフラグは、印字ドットカウンタフラグと同様にデータマスク生成部９−１、９−２に送られ、データマスクを作成する際のフラグとして使用されると共に、印字ドットカウンタ５−１、５−２のカウント値のリセットを行う。
【００１８】
ドット数のカウント値が１ラインのドット数を超えた場合、すなわち印字ドット数が同時通電画素規定値（例えば１２８）に達して印字ドットカウンタフラグによってリミットカウンタ７−１、７−２がリセットされる前に、リミットカウンタ７−１、７−２の値が１ラインのドット数に等しい値に達した場合、それ以降に読み出されるドットのデータは、レベルコンパレータ３−１、３−２において、現在のレベルカウンタ４−１、４−２が示している階調数より１多い階調数と比較すべきドットのデータである。このため、１ラインのドット数を超えた後のレベルコンパレータ３−１、３−２からの出力は、すべて誤ったデータである。上記リミットカウンタフラグは、この誤データをマスクするために、データマスク生成部９−１、９−２によって印字ドットカウンタフラグと共にマスク生成の制御を行う。
【００１９】
なお、リミットカウンタフラグが発生した場合は、ヘッド１ライン分のドット数における印字ドット数が、同時通電画素規定値（例えば１２８）を下回る事になる。この時には、同時通電ドット数は規定値（例えば１２８）を下回る事になり、この場合、通電電力も一定値より少なくなり、消費電力の一定性は一時的に守られない。
上記各リミットカウンタ７−１、７−２は、印字ドットカウンタ５−１、５−２と同様に、それぞれロード値を保持するリミットカウンタロード値レジスタ８−１、８−２を持っている。各レジスタ８−１、８−２は、互いに別ブロックにあるリミットカウンタ７−２、７−１のカウント値を、互いに別ブロックにある分割数カウントコンパレータ１１−２、１１−１の発生するフラグ（後述する分割カウントコンパレータフラグ）のタイミングで記憶、保持する。各リミットカウンタ７−１、７−２へのレジスタ値のロードは休止期間において毎回発生するカウント値ロードフラグのタイミングで行われる。分割カウントコンパレータフラグも休止期間に発生するが、ロードのタイミングはこれに先行する。
【００２０】
このようにして、互いに別ブロックのリミットカウンタ７−１、７−２のカウンタ値をセット、ロードする事により、偶数階調から奇数階調へ、あるいは奇数階調から偶数階調へ処理が移るときに、別ブロックからの現在のリミットカウント数を引き継いで、継続処理を行う事ができる。
上記各データマスク生成部９−１、９−２はそれぞれの印字ドットカウンタ５−１、５−２からのフラグ、及びそれぞれのリミットカウンタ７−１、７−２からのフラグによって、それぞれに内蔵する分割数判定カウンタ９−１Ａ、９−２Ａによって各階調毎に分割数を決定すると共に、データマスク信号を複数本同時に生成する。また、決定した分割数の値をそれぞれの分割数カウントコンパレータ１１−１、１１−２へ出力する。上記分割数判定カウンタ９−１Ａ、９−２Ａは各休止期間内で毎回０にリセットされる。
【００２１】
上記５つのデータマスク（信号）０〜４は、それぞれの分割数カウンタ１０−１、１０−２のカウント値によって各データマスク選択部１２−１、１２−２で１つが選択され、各ＡＮＤゲート１３−１、１３−２によってデータをマスクする。ただし、分割数カウンタ１０−１、１０−２の値が５以上（最大分割数４＋１）となった場合は、１ライン読み出し期間にわたるＬｏｗ信号を出力し、データを完全にマスクする。
上記データマスク０〜４によってマスクされたＡブロック、Ｂブロックのデータは共にＯＲゲート１４に入力され合成されて、印字データとしてサーマルヘッドへ送られる。
【００２２】
上記分割数カウンタ１０−１、１０−２は現在印字を行っているのが分割印字の何番目の分割数であるかをカウントする。カウントアップは、各休止期間で行われるが、ただし、分割数判定カウンタ９−１Ａ、９−２Ａが０にリセットされるより前に行われる。また、各分割数カウンタ１０−１、１０−２は、互いに別ブロックからの分割カウントコンパレートフラグＦＢ、ＦＡによって０にリセットされる。
各分割数カウントコンパレータ１１−１、１１−２へは、それぞれのデータマスク生成部９−１、９−２からの分割数信号と共に、分割数カウンタ１０−１、１０−２のカウント値が入力され、両者が比較される。この比較の動作は、各階調毎のデータ処理の合間にある休止期間に行われる。
【００２３】
上記分割数は、毎階調毎に各データマスク生成部９−１、９−２内の分割数判定カウンタ９−１Ａ、９−２Ａによってカウントされ、休止期間では最終的な分割数が出力される。この比較は分割数カウンタ１０−１、１０−２のカウントアップ直後に行う。各分割数カウントコンパレータ１１−１、１１−２はこの比較の結果、［分割数＝カウント値］と判定した場合、分割カウントコンパレータフラグＦＡ、ＦＢを発生する。
この分割カウントコンパレータフラグＦＡ、ＦＢは、互いに別ブロックの印字ドットカウンタ５−２、５−１及びリミットカウンタ７−２、７−１のロード値のセットを行う。また、互いに別ブロックの分割数カウンタ１０−２、１０−１をリセットする。また、レベルカウンタ４−２、４−１のカウントアップも行う。
【００２４】
次に、本実施例の動作の概要を述べる。尚、前述のようにこの実施例では、１ラインの画素数を５１２ｄｏｔ、分割印字時の同時通電画素規定値を１２８ｄｏｔ、各画素の階調数を２５６階調とする。
まず、ラインメモリ1は、画像データのホストから送られる画像データの１ラ イン分を記憶する容量、すなわち８ｂｉｔ×５１２dot の容量を持つ。
図２を参照してラインメモリ１の動作の概要を説明すると、各ライン印字期間のはじめに、ラインメモリ1への１ライン分の画像データの書き込みが行われる 。この書き込みが完了すると、読み出し期間に入る。
【００２５】
この読み出しは各階調毎に、その階調における分割数の回数分だけ１ライン分のデータが順次読み出される。以後この１ライン分のデータの読み出し期間を、ライン読み出し期間Ｔ１とする。また、ライン読み出し期間Ｔ１が終了後、次のライン読み出し期間を開始するまでの間に、メモリ読み出しを行わない短い期間を設けるが、以後これを休止期間Ｔ２とする。ライン読み出し期間Ｔ１と休止期間Ｔ２をあわせて、階調印字周期Ｔ３とする。
この階調印字周期Ｔ３を階調数分繰り返し行い、１ライン分の印字が終了する。その後、引き続き次のライン印字期間のメモリ書き込み、読み出しが順次行われる。こうして、最終ラインまでのメモリ書き込み、読み出し動作が終了して、１画面分の画像の印字が完了する。カラー印字の場合は、この動作を３画面分繰り返し、イエロー、マゼンタ、シアンの印刷三原色分の印字を行って、カラー画像を得る。
【００２６】
次に、図３に印字動作の進行に伴う印字画素の位置の変化の態様を示す。
図中、印字動作の進行の説明のために、ステップという表記を用いて、階調印字周期を単位とした時間変化を示した（後述する図４でも、同様の表記を用いた）。
図１を参照して説明したように信号処理系は、同様の構成をした２つのブロックから構成される。Ａブロックは、偶数階調レベルのデータ処理を行うブロックであり、Ｂブロックは、奇数階調レベルのデータ処理を行うブロックである。
現在、Ａブロックによって、第Ｎ階調（Ｎは偶数値）のデータが処理されているとする。Ａブロックでは、階調値Ｎと、このライン読み出し期間Ｔ１にラインメモリ1から順次読み出される画像データとの比較を行い、［階調値Ｎ＜画像デ ータ値］と判定された画素が、階調値Ｎにおいて印字される画素となる。一方、印字画素数は常時カウントされ、同時通電画素規定値である１２８ｄｏｔを超えた段階で、今の階調印字周期での印字は終了する。以降の階調印字周期（ステップ１，２，３）でも第Ｎ階調（Ｎは偶数値）のデータ処理が行われる。ここでも、ステップ０と同様に１２８画素がカウントされ、印字される。この図３の例では、第Ｎ階調は４分割印字された事になる。
【００２７】
ここで、ステップ３において、Ａブロックでの第Ｎ階調の印字画素数は１２８以下である。このステップ３では、Ｂブロックにおいて第Ｎ＋１階調（奇数値）のデータ処理も平行して行われている。そして、ステップ３においてＡブロック及びＢブロックによって印字画素として処理される画素数の合計値が１２８ｄｏｔとなるように処理される（図中斜線部）。このことによりステップ０から３を通して常に印字画素数は１２８ｄｏｔに保たれ、サーマルヘッドの通電量が一定となる。
以下同様に、ステップ４，５，６においてはＢブロックにおいて第Ｎ＋１階調（奇数値）のデータ処理が行われる。ステップ７ではＢブロックによる第Ｎ＋１階調処理及びＡブロックによる第Ｎ＋２階調処理が同時に行われる。このようにして、常にサーマルヘッドの通電量が一定に保たれる。
【００２８】
次に、リミットカウンタ７−１、７−２（図１参照）にてリミットカウンタフラグが発生した場合について述べる。図４にリミットカウンタフラグが発生した場合の印字動作の進行に伴う印字画素の位置の変化を示す。階調数Ｎ（偶数階調）の印字では、まず図示したステップ０においてＡブロックで画像データの処理が行われ、１２８ｄｏｔの画素の印字が行われる。印字画素が少ないため、ステップ０での印字範囲が１ライン５１２ｄｏｔの画素の大半にわたっている。ステップ１ではＡブロックにおいて１２８ｄｏｔより少ない画素数の印字データがサーマルヘッドへ送られるが、Ｂブロックにおいても平行して、階調数Ｎ＋１（奇数階調）の処理が行われ、合計して１２８ｄｏｔ丁度の画素の印字が行われる。同様に、ステップ２ではＢブロックにおいて１２８ｄｏｔより少ない画素数の印字データがサーマルヘッドへ送られるが、Ａブロックにおいても平行して、階調数Ｎ＋２（偶数階調）の処理が行われ、合計して１２８ｄｏｔ丁度の画素の印字が行われる。
ステップ３でも同様にＡブロックにおいて１２８ｄｏｔより少ない画素数の印字データがヘッドへ送られ、Ｂブロックにおいて平行して、階調数Ｎ＋３（奇数階調）の処理が行われているが、合計の印字画素数が１２８ｄｏｔに達する前にＡ、Ｂ両ブロックで処理された画素データ数が１ライン分の５１２ｄｏｔに達してしまい、リミットカウンタ７−１、７−２（図１参照）よりリミットカウンタフラグが発生する。この為、Ｂブロックからの印字データはこれ以降マスクされて出力されない。結果として、ステップ３での印字画素数は１２８ｄｏｔ以下となる。ステップ４以降もステップ３と同様の処理となる。
【００２９】
次に、上述した動作の詳細を図１及び図５〜図８も参照して説明する。
まず、リミットカウンタフラグが発生しない場合について述べる。
図５及びその一部の時間軸を拡大したものとして図６にそれぞれリミットカウンタフラグが発生しない場合の各信号の動作の詳細を示す。尚、図中、各信号の先頭にＡまたはＢの符号を付して属するブロックを表している。
まず、ある休止期間においてＢブロックの分割カウントコンパレータフラグＦＢが発生した場合、Ａブロックの分割数カウンタ１０−１が０にリセットされる。また、レベルカウンタ４−１がカウントアップする。ここではＮ−２からＮにカウントアップしたと仮定する。また、印字ドットカウンタ５−１の、ロード値レジスタ６−１に、Ｂブロックの印字ドットカウンタ５−２の現在のカウンタ値が書き込まれる。また、リミットカウンタ７−１の、ロード値レジスタ８−１に、Ｂブロックのリミットカウンタ７−２の現在のカウンタ値が書き込まれる。
【００３０】
次に、カウント値ロードフラグのタイミングで、印字ドットカウンタ５−１及びリミットカウンタ７−１のそれぞれのレジスタ６−１、８−１からのデータのロードが行われる。
以上で休止期間が終了すると、ライン読み出し期間に入る。
印字ドットカウンタ５−１は、レベルコンパレータ３−１から“真”値が来るたびにカウントアップし、カウント値が同時通電画素規定値（例えば１２８）に達するたびに印字ドットカウンタフラグを出す。そして、次に、“真”が来たときにはカウント値を１とし、以後カウントを続行する。図５及び図６では、ライン読み出し期間内で２回印字ドットカウントフラグが発生した例を示す。このフラグにより、分割数判定カウンタ９−１Ａの値が２までカウントされる。この場合、現在印字しようとしている階調での印字分割数は３となる。また、この例ではリミットカウントフラグは発生しない。分割数判定カウンタ９−１Ａを基に、データマスク生成部９−１はデータマスク０〜４の計５つのデータマスクを作る。但し分割数は３であるので、データマスク３、４は無効となる。
【００３１】
このライン読み出し期間においては、分割数カウンタ１０−１のカウント値は０であるので、レベルコンパレータ３−１からの印字データはデータマスク０によってＡＮＤゲート13にてマスクされる。マスク後のデータは、Ｂブロックからの印字データ（現在Ａブロックのレベルカウンタ４−１が示す階調数より１少ない階調数での、最後の分割数に当たるデータ）とＯＲゲート14により合成され、サーマルヘッドへ送られる。
このライン読み出し期間が終了すると、再び休止期間に入る。ここでは、Ｂブロックでは分割数カウントコンパレータ１１−２のフラグＦＢは発生しないため、レベルカウンタ４−１の値は変化しない。また、印字ドットカウンタ５−１及びリミットカウンタ７−１の、各ロード値レジスタ６−１、８−１の値は変化せず、印字ドットカウンタ５−１及びリミットカウンタ７−１には、前ライン読み出し期間と同じ値がロードされる。また、分割数カウンタ１０−１が０から１にカウントアップする。
【００３２】
この時点で、分割数カウントコンパレータ１１−１では、データマスク生成部９−１の分割数判定カウンタ９−１Ａの値（２）と、分割数カウンタ１０−１の値（１）が比較される。今回は、両者が同一の値ではないため、分割数カウントコンパレータ１１−１のフラグＦＡは発生しない。
この休止期間が終了すると、再び、ライン読み出し期間に入る。この期間でも、前ライン読み出し期間と同様の動作が行われ、全く同じデータマスク０〜３が作られる。ただし、分割数カウンタ１０−１が０から１に変化しており、レベルコンパレータ３−１からの印字データはデータマスク１によってＡＮＤゲート１３−１にてマスクされる。
【００３３】
次の休止期間においては、前回同様Ｂブロックでは分割数カウントコンパレータ１１−２のフラグＦＢは発生しないため、Ａブロックのレベルカウンタ４−１の値は変化しない。また、Ａブロックの印字ドットカウンタ５−１及びリミットカウンタ７−１の、各ロード値レジスタ６−１、８−１の値は変化せず、この印字ドットカウンタ５−１及びリミットカウンタ７−１には、前ライン読み出し期間と同じ値がロードされる。また、分割数カウンタ１０−１が１から２にカウントアップする。
この時点で、分割数カウントコンパレータ１１−１では、データマスク生成部９−１の分割数判定カウンタ９−１Ａの値（２）と、分割数カウンタ１０−１の値（２）が比較される。今回は、［分割数判定カウンタ値＝分割数カウンタ値］が成立し、分割数カウントコンパレータ１１−１にて分割カウントコンパレータフラグＦＡが発生しＢブロックに送られる。
【００３４】
このフラグＦＡによって、Ｂブロックの分割数カウンタ１０−２が０にリセットされる。また、Ｂブロックのレベルカウンタ４−２がＮ−１からＮ＋１にカウントアップする。また、Ｂブロックの印字ドットカウンタ５−２の、ロード値レジスタ６−２に、Ａブロックの印字ドットカウンタ５−１の現在のカウンタ値が書き込まれる。
また、Ｂブロックのリミットカウンタ７−２の、ロード値レジスタ８−２に、Ａブロックのリミットカウンタ７−１の現在のカウンタ値が書き込まれる。
次に、カウント値ロードフラグのタイミングで、Ｂブロックの印字ドットカウンタ５−２及びＢブロックのリミットカウンタ７−２のそれぞれに、各レジスタ６−２、８−２からのデータのロードが行われる。
【００３５】
以上の処理の結果、次に続くライン読み出し期間においてＢブロックでは、前述したＡブロックにおける分割数カウンタ１０−１の値＝０の時と同様の処理が行われ、その結果、レベルカウンタ４−２のカウント値Ｎ＋１における、データマスク０によってマスクされたデータが、Ｂブロックから出力される。
このデータは、この時、Ａブロックから出力されている、レベルカウント＝Ｎの、データマスク２によってマスクされたデータと、ＯＲゲート14によって合成され、サーマルヘッドへ送られる。結果としてこのライン読み出し期間においては、前半にはレベルカウント値Ｎ＋１、分割カウント値０のデータが、後半にはレベルカウント値Ｎ、分割カウント値２のデータが現れる。そして、双方の印字データ数を合計すると、同時通電画素規定値（例えば１２８）に等しくなっている。
【００３６】
Ｂブロックでは、これ以降に続くライン読み出し期間においても、レベルカウンタ４−２のカウント値Ｎの時のＡブロックの動作と同様の処理が行われる。なお、この時、Ａブロックでは、分割数カウンタ１０−１のカウント値が５以上となっており、データは完全にマスクされるため、［分割数判定カウンタ値＝分割数カウンタ値］となるまでは、ＯＲゲート14に出力されるのはＢブロックからのデータのみとなる。
以降、レベルカウント値Ｎ＋２、Ｎ＋３…と進行するに従い、処理がＡブロック、Ｂブロック…と交互に引き継がれ、これが全階調の印字が終了するまで繰り返されて１ラインの印字が終了する。この間、各ライン読み出し期間における印字ドット数の合計は、必ず同時通電画素規定値（例えば１２８）に等しくなっている。
【００３７】
次に、リミットカウンタフラグが発生した場合について、各信号の詳細を述べる。図７及び図８に、リミットカウンタフラグが発生した場合の各信号の動作を示す。図８は図７中の一部の時間軸を拡大したものである。
レベルカウンタ４−１の値＝Ｎで、ライン読み出し期間においてＡブロックでリミットカウンタ７−１のリミットカウンタフラグが発生した場合、まず、リミットカウンタ７−１のカウント値は０にリセットされる。また、このリミットカウンタフラグは、印字ドットカウンタフラグと同様にデータマスク生成部９−１に送られ、データマスクを作成する際のフラグとして使用される。また、印字ドットカウンタ５−１のカウント値を０にリセットする。このことによって、リミットカウンタフラグが発生した時点で新しいデータマスクが発生すると共に、印字ドットカウンタ５−１が０から再スタートする。
【００３８】
以上の様に、リミットカウンタ７−１のフラグは印字ドットカウンタ５−１のフラグと同様の働きをするが、印字ドットカウンタ５−１のフラグが同時通電画素数を規定値になるように管理するのに対して、リミットカウンタ７−１のフラグは、１ライン読み出し期間において、印字データ数が１ラインの総画素数＝５１２ドット を超えないように、データマスク、及び印字ドットカウンタ５−１ を管理する。
前述したように、リミットカウンタ７−１のフラグは、サーマルヘッド１ライン分のドット数における印字ドット数が、同時通電画素規定値（例えば１２８）に達する前に発生するため、同時通電画素数は規定値（例えば１２８）を下回る事になる。
【００３９】
このようにリミットカウンタ７−１のフラグが発生した場合は、ヘッド印字通電量は一定には保たれないが、この場合に当たるのは、１ライン内の総印字画素数が同時通電画素規定値よりも少ない場合に限られ、画像のデータ内容（絵柄）にもよるが、条件が限定されるので、従来の様な分割通電方式に比べれば濃度むらを引き起こす機会は減少する。
なお、以上の実施例では、サーマルヘッドへのデータ線が複数存在するブロック分割駆動を行う場合については触れなかったが、この場合はラインメモリからのデータ読み出しを分割数にあわせて高速に読み出すと共に、ＯＲゲート14の後、サーマルヘッドへ送られる前に、データを各データ線へ時分割で振り分ける機能を設ける事で対応できる。
また、ブロック分割数が多く、ラインメモリからの読み出しスピードが追いつかない場合には、上記した構成の回路ブロック数を更に増加して並列に持つ事で対応できる。
【００４０】
【発明の効果】
以上説明したように、本発明のデジタルプリンタによれば、次のように優れた作用効果を発揮することができる。
リミットカウンタフラグが発生しない限り、サーマルヘッド印字通電量を常に一定に保つことができ、この変動を押さえることができる。
このため、同時通電画素数を管理し、消費電力及び電力容量を押さえる事ができる。また、従来の方法に比べて高い精度で、単位時間当たりの消費電力を略一定値に管理することができる。この為、ラインヘッドを駆動する電源への負荷変動を原因とする濃度むらの発生を減少させる事ができ、画質の劣化を防止できる。
また、同時通電画素数が常に一定に保たれる様に分割数を絶えず変化させる印字方式のため、消費電力の最大値が一定値以下に制限された条件下において、最も効率よく印字速度を高速化する事ができる。
【図面の簡単な説明】
【図１】本発明のデジタルプリンタの信号処理系を示すブロック図である。
【図２】印字開始から終了までのラインメモリの書き込み、読み出し動作を説明する概念図である。
【図３】印字動作の進行に伴う印字画素のブロック化及び印字位置の変化を説明する説明図である。
【図４】リミットカウンタフラグが発生した場合の、印字動作の進行に伴う印字画素のブロック化及び印字位置の変化を説明する説明図である。
【図５】リミットカウンタフラグが発生しない場合の、データ制御ブロック内の各信号の動作詳細を説明するタイミングチャートである。
【図６】図５のタイミングチャートの一部の期間を拡大した図である。
【図７】リミットカウンタフラグが発生した場合の、データ制御ブロック内の各信号の動作詳細を説明するタイミングチャートである。
【図８】図７のタイミングチャートの一部の期間を拡大した図である。
【図９】分割印字を行うデジタルプリンタの信号処理回路を示すブロック図である。
【図１０】階調数Ｌのときの各信号の動作を表すタイミングチャートを示す。
【図１１】サーマルヘッドの構造の概要を示す図である。
【符号の説明】
１…ラインメモリ、２…メモリコントローラ、３−１、３−２…データコンパレータ、４−１、４−２…レベルカウンタ、５−１、５−２…印字ドットカウンタ、６−１、６−２…印字ドットカウンタロード値レジスタ、７−１、７−２…リミットカウンタ、８−１、８−２…リミットカウンタロード値レジスタ、９−１、９−２…データマスク生成部、１０−１、１０−２…分割数カウンタ、１１−１、１１−２…分割数カウントコンパレータ、１２−１、１２−２…データマスク選択部、１３−１、１３−２…ＡＮＤゲート、１４…ＯＲゲート、３１…第１レジスタ群、３２…第２レジスタ群、３３…ＡＮＤゲート、３４…通電スイッチ素子、３５…発熱体
【図１】
0004218131.tif 000002
【図２】
0004218131.tif 000003
【図３】
0004218131.tif 000004
【図４】
0004218131.tif 000005
【図５】
0004218131.tif 000006
【図６】
0004218131.tif 000007
【図７】
0004218131.tif 000008
【図８】
0004218131.tif 000009
【図９】
0004218131.tif 000010
【図１０】
0004218131.tif 000011
【図１１】
0004218131.tif 000012