(57)【要約】【課題】印刷密度の高い印刷データを印刷する場合であっても、印刷動作時間が長くなることによる印刷性能の低下を抑制する。【解決手段】上位装置から受信した受信データを、印字ヘッドを往復移動させて印刷する印刷装置において、前記受信データを印刷イメージデータに展開する展開部と、前記展開部によって展開された印刷イメージデータの印刷密度を確認し、前記印刷密度が既定値より高い高密度印刷データの存否を確認する確認部と、前記確認部が高密度印刷データの存在を確認した場合、前記印字ヘッドを往方向に移動させて印刷する場合の印刷動作時間および復方向に移動させて印刷する場合の印刷動作時間を算出し、それらの印刷動作時間に応じて印刷方向を決定する決定部と、前記決定部が決定した方向から印刷する印字制御部とを備えた。【選択図】        図１
2011079239.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から受信した受信データを、印字ヘッドを往復移動させて印刷する印刷装置において、
前記受信データを印刷イメージデータに展開する展開部と、
前記展開部によって展開された印刷イメージデータの印刷密度を確認し、前記印刷密度が既定値より高い高密度印刷データの存否を確認する確認部と、
前記確認部が高密度印刷データの存在を確認した場合、前記印字ヘッドを往方向に移動させて印刷する場合の印刷動作時間および復方向に移動させて印刷する場合の印刷動作時間を算出し、それらの印刷動作時間に応じて印刷方向を決定する決定部と、
前記決定部が決定した方向から印刷する印字制御部とを備えていることを特徴とする印刷装置。
【請求項２】
請求項１の印刷装置において、
前記確認部は、前記展開部によって展開された印刷イメージデータを印字ヘッドの移動方向に直交する列毎に抽出し、その列毎の印刷ドットが第１の閾値を超えるか否かを判定し、該第１の閾値を超える列が第２の閾値を超えて連続したとき、高密度印刷データの存在を確認することを特徴とする印刷装置。
【請求項３】
請求項１または請求項２の印刷装置において、
前記決定部は、前記印字ヘッドを往方向に移動させて印刷する往方向印刷動作時間および前記印字ヘッドを復方向に移動させて印刷する印刷動作時間に前記印字ヘッドを往方向の移動させる時間を加算した復方向印刷動作時間を算出し、前記往方向印刷動作時間と前記復方向印刷動作時間とを比較し、短い動作時間の印刷方向を選択することを特徴とする印刷装置。
【請求項４】
請求項１、請求項２または請求項３の印刷装置において、
高密度印刷を行ったときの電源電圧の垂下を検出する電源電圧検出部を備え、
前記電源電圧部が、既定値を超える電源電圧の垂下を検出し、印字ヘッドを往方向または復方向に複数回移動させて１行の印刷イメージデータを印刷する分割印刷が必要であると判定したとき、
前記展開部は、前記印字ヘッドの移動毎の印刷イメージデータを展開することを特徴とする印刷装置。
【請求項５】
上位装置から受信した受信データを、印字ヘッドを往復移動させて印刷する印刷方法において、
前記受信データを印刷イメージデータに展開するステップと、
前記展開された印刷イメージデータの印刷密度を確認し、前記印刷密度が既定値より高い高密度印刷データの存否を確認するステップと、
前記高密度印刷データの存在を確認した場合、前記印字ヘッドを往方向に移動させて印刷する場合の印刷動作時間および復方向に移動させて印刷する場合の印刷動作時間を算出し、それらの印刷動作時間に応じて印刷方向を決定するステップと、
前記決定された方向から印刷するステップとを有することを特徴とする印刷方法。
【請求項６】
請求項５の印刷方法において、
前記高密度印刷データの存否を確認するステップは、前記展開された印刷イメージデータを印字ヘッドの移動方向に直交する列毎に抽出し、その列毎の印刷ドットが第１の閾値を超えるか否かを判定し、該第１の閾値を超える列が第２の閾値を超えて連続したとき、高密度印刷データの存在を確認することを特徴とする印刷方法。
【請求項７】
請求項５または請求項６の印刷方法において、
前記印刷方向を決定するステップは、前記印字ヘッドを往方向に移動させて印刷する往方向印刷動作時間および前記印字ヘッドを復方向に移動させて印刷する印刷動作時間に前記印字ヘッドを往方向の移動させる時間を加算した復方向印刷動作時間を算出し、前記往方向印刷動作時間と前記復方向印刷動作時間とを比較し、短い動作時間の印刷方向を選択することを特徴とする印刷方法。
【請求項８】
請求項５、請求項６または請求項７の印刷方法において、
高密度印刷を行ったときの既定値を超える電源電圧の垂下を検出し、印字ヘッドを往方向または復方向に複数回移動させて１行の印刷イメージデータを印刷する分割印刷が必要であると判定したとき、前記印字ヘッドの移動毎の印刷イメージデータを展開するステップを有し、
前記高密度印刷データの存否を確認するステップは、前記印字ヘッドの移動毎の印刷イメージデータの印刷密度を確認することを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印字ヘッドを往復移動させて高密度な印刷を行うシリアルドットインパクトプリンタ等の印刷装置および印刷方法に関する。
【背景技術】
【０００２】
従来のシリアルドットインパクトプリンタ（以下、「プリンタ」という。）は、印刷密度の高い印刷動作は電源に対する負荷が非常に大きく、電源電圧の垂下が容易に発生する。プリンタの低価格化が進む昨今、高密度な印刷を実施しても電源電圧の垂下が無い、もしくは電源電圧が垂下しても印刷に何ら影響の無い電源装置を開発することは、電源装置のコストが上昇し、プリンタの高価格化となり実現は困難であった。
【０００３】
このような状況に鑑み、従来のプリンタは、電源電圧の垂下を検出できる機構を設け、更にプリンタ制御プログラムが電源電圧垂下検出機構を利用して電源電圧の垂下を検出し、電源電圧の垂下を検出した場合、印刷速度を低下させた低速度印刷や印字ヘッドを複数回移動させて１行を印刷する複数パス印刷による分割印刷を実施し、高密度印刷動作時の電源装置への負荷軽減を図っている。
【０００４】
また、高密度印刷時に、低電圧で印刷し、低密度印刷時に高電圧で印刷するようにしているものもある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−５８８４１号公報（段落「００２９」〜段落「００３０」、図７、図８）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来の技術においては、印刷密度の高い印刷データによる電源電圧垂下が検出された場合、低速度印刷や分割印刷が実行され、印刷時間が長くなることにより、印刷性能が低下するという問題がある。特に、瞬時の電源電圧の低下や印刷ブロック内に存在した短い範囲での印刷密度の高い印刷データによる電源電圧垂下が検出された場合であっても、低速度印刷や分割印刷が実行されるため、印刷時間が長くなるという問題がある。
【０００７】
例えば、図１６に示すように、図中左側に印刷密度の高い印刷データ（高密度印刷ブロック）と右側に印刷密度の低い印刷データ（低密度印刷ブロック）がある印刷ブロックにおいて、印字ヘッドを図中左側から右側へ移動して印刷する場合、高密度印刷ブロックの印刷により図中Ｐ１で示す位置から電源電圧の垂下が開始される。プリンタの制御プログラムは、電源電圧の垂下を検出することにより、印刷速度を徐々に落とす低速度印刷制御を実施する。この印刷速度を落とす低速度印刷制御は、図１６におけるＰ２で示す「分割印字開始電圧」まで電源電圧が低下するまで継続される。更に、印刷動作を継続することにより図中Ｐ２で示す分割印字開始電圧ポイントまで電源電圧が垂下した場合、その検出ポイントから２パス以上の複数パス印刷による、パス分割印刷制御が開始される。このパス分割印刷制御は、印刷しているブロックの印刷が完了するまで継続される。
【０００８】
このように、電源電圧垂下が検出された場合、低速度印刷や分割印刷が実行されてしまい、印刷時間が長くなることにより、印刷性能が低下する。
【０００９】
本発明は、このような問題を解決することを課題とし、印刷密度の高い印刷データを印刷する場合であっても、印刷動作時間が長くなることによる印刷性能の低下を抑制することを目的とする。
【課題を解決するための手段】
【００１０】
そのため、本発明による印刷装置は、上位装置から受信した受信データを、印字ヘッドを往復移動させて印刷する印刷装置において、前記受信データを印刷イメージデータに展開する展開部と、前記展開部によって展開された印刷イメージデータの印刷密度を確認し、前記印刷密度が既定値より高い高密度印刷データの存否を確認する確認部と、前記確認部が高密度印刷データの存在を確認した場合、前記印字ヘッドを往方向に移動させて印刷する場合の印刷動作時間および復方向に移動させて印刷する場合の印刷動作時間を算出し、それらの印刷動作時間に応じて印刷方向を決定する決定部と、前記決定部が決定した方向から印刷する印字制御部とを備えていることを特徴とする。
【００１１】
また、本発明による印刷方法は、上位装置から受信した受信データを、印字ヘッドを往復移動させて印刷する印刷方法において、前記受信データを印刷イメージデータに展開するステップと、前記展開された印刷イメージデータの印刷密度を確認し、前記印刷密度が既定値より高い高密度印刷データの存否を確認するステップと、前記高密度印刷データの存在を確認した場合、前記印字ヘッドを往方向に移動させて印刷する場合の印刷動作時間および復方向に移動させて印刷する場合の印刷動作時間を算出し、それらの印刷動作時間に応じて印刷方向を決定するステップと、前記決定された方向から印刷するステップとを有することを特徴とする。
【発明の効果】
【００１２】
このようにした本発明は、印刷密度の高い印刷データを印刷する場合であっても、印刷動作時間が長くなることによる印刷性能の低下を抑制することができるという効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施例におけるプリンタの印刷制御の構成を示すブロック図
【図２】第１の実施例におけるプリンタの構成を示すブロック図
【図３】第１の実施例における印刷処理を示すフローチャート（１／３）
【図４】第１の実施例における印刷処理を示すフローチャート（２／３）
【図５】第１の実施例における印刷処理を示すフローチャート（３／３）
【図６】第１の実施例における印刷動作の説明図
【図７】第１の実施例における印刷時間算出方法の説明図
【図８】第１の実施例における印刷時間算出方法の説明図
【図９】第１の実施例における印刷密度と電源電圧垂下の関係を示すグラフ
【図１０】第２の実施例におけるプリンタの印刷制御の構成を示すブロック図
【図１１】第２の実施例における印刷処理を示すフローチャート（１／３）
【図１２】第２の実施例における印刷処理を示すフローチャート（２／３）
【図１３】第２の実施例における印刷処理を示すフローチャート（３／３）
【図１４】第２の実施例におけるパス分割による印刷動作の説明図
【図１５】第２の実施例における印刷密度と電源電圧垂下の関係を示すグラフ
【図１６】従来例における印刷動作の説明図
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明による印刷装置および印刷方法の実施例を説明する。
【実施例１】
【００１５】
図２は第１の実施例におけるプリンタの構成を示すブロック図である。
【００１６】
図２において、印刷装置としてのプリンタ１は、上位装置から受信した受信データを、印字ヘッドを往復移動させて印刷するシリアルドットインパクトプリンタであり、マイクロプロセッサ１０、Ｉ／Ｏ制御回路２０、揮発性メモリ３０、不揮発性メモリ４０、電源装置５０、印字ヘッドドライバ６０、印字ヘッド６１、スペースモータドライバ７０、スペースモータ７１、フィードモータドライバ８０、フィードモータ８１、およびスイッチ／センサ検出回路９０から構成されている。
【００１７】
制御部としてのマイクロプロセッサ１０は、Ｆｌａｓｈメモリ等の不揮発性メモリ４０に格納されているプリンタ制御プログラムの命令を解析し、命令を実行する中央処理演算装置等のプロセッサである。タイマ制御１１は、マイクロプロセッサ１０内に設けられており、スイッチ押下状態の検出や電源電圧垂下状態を一定時間毎に監視する為の計時手段である。
【００１８】
Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）制御回路２０は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性メモリ３０に対するデータクセス制御や印刷動作をコントロールする回路であり、そのＩ／Ｏ制御回路２０には、揮発性メモリ３０に格納されたビットマップ展開されたデータに従い印字ヘッド６１のドットピンを突出させるヘッドインパクトを駆動する印字ヘッドドライバ６０、印字ヘッド６１を移動させるスペースモータ７１を駆動するスペースモータドライバ７０、用紙の搬送を実行するスペースモータ７１を駆動するフィードモータドライバ８０、そしてプリンタ１を使用するユ一ザが押下したスイッチの状態や用紙センサ等を検出する回路スイッチ／センサ検出回路９０が接続されている。
【００１９】
揮発性メモリ３０は、不揮発性メモリ４０に格納されているプリンタ制御プログラムが印刷動作を実現する為の情報を格納するメモリであり、マイクロプロセッサ１０およびＩ／Ｏ制御回路２０に接続されている。
【００２０】
不揮発性メモリ４０は、プリンタ１全体を制御するプログラムおよび各種パラメータ（閾値）が格納されており、マイクロプロセッサ１０に接続されている。
【００２１】
電源装置５０は、プリンタ１を駆動する為の電源を供給するユニットであり、図示したすべてのデバイスに接続され、それぞれのデバイスに電源が供給されている。
【００２２】
印字ヘッドドライバ６０は、印字ヘッド６１を駆動して印字する為のドライバであり、Ｉ／Ｏ制御回路２０と印字ヘッド６１に接続されている。
【００２３】
スペースモータドライバ７０は、印字ヘッド６１を実装したスペースキャリッジを用紙の搬送方向と直交するする方向に移動させる為のスペースモータ７１を駆動するドライバであり、Ｉ／Ｏ制御回路２０とスペースモータ７１と接続されている。
【００２４】
フィードモータドライバ８０は、用紙を搬送する為のフィードモータ８１を駆動するドライバであり、Ｉ／Ｏ制御回路２０とフィードモータ８１と接続されている。
【００２５】
スイッチ／センサ検出回路９０は、プリンタ装置に実装されたスイッチの押下状態の検出や用紙センサを用いた用紙有り・無しの判断を実施する回路である。
【００２６】
図１は第１の実施例におけるプリンタの印刷制御の構成を示すブロック図である。
【００２７】
データ受信部１１０では、図示しない上位装置(パーソナルコンピュータや業務用端末)から送信されたデータを受信し、図２で説明した揮発性メモリ３０内に設置された図示しない受信バッファに受信したデータを格納する。
【００２８】
受信データ解析部１２０は、上述したデータ受信部１１０が図示しない受信バッファヘ格納した受信データを取り出し、データの解析を実施する。このデータの解析により、印刷データおよび印刷制御コマンドを１行分のデータ（この１行分のデータを「印字ブロック」という。）として連続して処理する。
【００２９】
ＣＧデータ展開部１３０は、印刷するデータであるキャラクタデータ(例えば、アルファベットの“Ａ〜Ｚ”等)やコマンドによるイメージデータを印字ヘッドがインパクトできる形にビットマップ展開し、インパクトデータ（印刷イメージデータ）として上位装置から送信されたデータと同様に、図２で図示した揮発性メモリ３０内に設けられた図示しないデータ展開バッファに格納する。このようにＣＧデータ展開部１３０は、受信データを印刷イメージデータに展開する展開部としての機能を有する。
【００３０】
展開データＤｕｔｙチェック部１４０は、ＣＧデータ展開部１３０でビットマップ展開されたインパクトデータの密度を計測する処理を行う。本処理では、印刷するインパクトデータの印刷密度の計測(印字ヘッドのドットインパクト数が多く印刷密度の高い部分の密度とインパクトデータ中の位置、その高印刷密度部分の長さの計測)を実施し、インパクトデータにおける高密度印刷データブロック（以下、「高密度印刷ブロック」という。）および低密度印刷データブロック（以下、「低密度印刷ブロック」という。）の位置および長さを算出する。このように展開データＤｕｔｙチェック部１４０は、展開された印刷イメージデータの印刷密度を確認し、その印刷密度が既定値より高い高密度印刷データの存否を確認する確認部としての機能を有する。
【００３１】
印刷方向決定制御１７０は、展開データＤｕｔｙチェック部１４０で算出した印刷密度の高い高密度印刷ブロックの位置と長さから、これから印刷する印刷ブロックを最短時間で印刷する為の印字ヘッドを移動させる印刷方向（印刷開始位置）を決定する処理を行う。このように印刷方向決定制御１７０は、高密度印刷データの存在を確認した場合、印字ヘッドを往方向に移動させて印刷する場合の印刷動作時間および復方向に移動させて印刷する場合の印刷動作時間を算出し、それらの印刷動作時間に応じて印刷方向を決定する決定部として機能する。なお、印刷する密度の計測方法および印刷方法は後述するものとする。
【００３２】
電源電圧検出部１５０は、プリンタ１に供給している電源電圧を計測する制御を行い、図２で図示されたマイクロプロセッサ１０内にあるタイマ制御１１を利用して、一定時間毎に電源電圧レベルを計測し、印字制御部１６０にフィードバックする。
【００３３】
印字制御部１６０は、ＣＧデータ展開部１３０で生成されたインパクトデータを印刷方向決定制御１７０で決定された印刷方向にしたがって印字ヘッド６１を移動させて用紙に印刷する制御を行う。また、印字制御部１６０は、電源電圧検出部１５０で計測された電源電圧が予め図２に示す不揮発性メモリ４０に記憶された既定値よりも垂下した場合、低速度印刷や分割印刷を行う。
【００３４】
このように構成されたプリンタ１は、印刷動作による電源電圧の垂下が原因の低速度印刷や分割印刷による印刷制御を実施する前に、印刷するインパクトデータの印刷密度の高低とその範囲を把握し、最短の時間で印刷する為の印刷方向を決定して印刷動作を行う。
【００３５】
上述した構成の作用を図３、図４および図５の第１の実施例における印刷処理を示すフローチャートの図中Ｓで表すステップにしたがって図１を参照しながら説明する。
【００３６】
Ｓ１ａ：既にプリンタ１のデータ受信部１１０は上位装置が送信したデータを受信しているものとし、プリンタ１の受信データ解析部１２０は、受信したデータを揮発性メモリの図示しない受信バッファから１バイトずつ取り出す。
【００３７】
Ｓ２ａ：受信データ解析部１２０は、取り出したデータを解析し、印刷するデータであるかプリンタを制御するファンクションコマンドであるかを判定する。ファンクションコマンドであればプリンタの属性や文字装飾制御コマンドを実行し、印刷するデータであれば印刷する為の文字装飾情報やフォントデータ情報等を主としたキャラクタ情報を生成する。
【００３８】
Ｓ３ａ：受信データ解析部１２０は、改行コマンドや改ペーシ実行コマンド等の１行印刷開始のトリガとなる制御要求コマンドやライトマージンオーバー条件が発生したか否かのチェックを行う。印刷開始トリガを受信していなければ、Ｓ１ａへ移行し、継続してデータの受信と解析を実行、印刷開始トリガを受信した場合は、Ｓ４ａへ移行する。
【００３９】
Ｓ４ａ：ＣＧデータ展開部１３０は、印字ヘッド６１を用いて用紙に印字する為に、受信データ解析部１２０が生成したキャラクタ情報を、ＣＧフォントデータを用いてビットマップデータに展開する処理を実施する。
【００４０】
Ｓ５ａ：ＣＧデータ展開部１３０は、展開されたビットマップデータに対し、文字装飾のモディファイ処理を実行し、インパクトデータを生成する。ここで、文字装飾とは、横２倍拡大や縦２倍拡大、または斜体や強調などをいう。
【００４１】
Ｓ６ａ：印刷するデータブロックすべてのビットマップ展開と文字装飾が完了した後、展開データＤｕｔｙチェック部１４０は、ＣＧデータ展開部１３０が生成したインパクトデータを１カラムずつ取り出し、印字ブロックの密度チェックを実施する。ここで、１カラムとは、印字ヘッド６１が移動する方向に直交する方向の１列、すなわち印字ヘッド６１のドットピンの列に対応する１列をいう。
【００４２】
Ｓ７ａ：展開データＤｕｔｙチェック部１４０は、印刷密度のチェックを実施する為、インパクトデータを１カラム毎にチェックする。チェック方法は、展開した１カラムのデータ内でｎピン以上のインパクトデータが存在するか否かで判断する。ｎピン以上のインパクトデータである場合、処理をＳ８ａへ移行し、ｎピン未満のインパクトデータである場合、処理をＳ１２ａへ移行する。
【００４３】
ここでの判断パラメータ（第１の閾値）である「ｎピン」は、プリンタ１と電源装置の性能により変化する数値であり、本実施例では９ピンの印字ヘッドを用いたプリンタにおいては１カラムあたり７ピン以上、２４ピンの印字ヘッドを用いたプリンタにおいては１カラムあたり１８ピン以上のインパクトデータが存在した場合、高密度印刷カラムデータとする。
【００４４】
Ｓ８ａ：展開データＤｕｔｙチェック部１４０は、１カラムのインパクトピン数がｎピン以上（９ピンの印字ヘッドを用いたプリンタで７ピン以上、２４ピンの印字ヘッドを用いたプリンタで１８ピン以上）であった場合、高密度印刷カラム数をカウントする。
【００４５】
Ｓ９ａ：展開データＤｕｔｙチェック部１４０は、インパクトドット数の多い高密度印刷（Ｈｉｇｈ  Ｄｕｔｙ）カラムデータがｍｈカラム以上連続したか否かを判定し、連続したと判定すると処理をＳ１０ａへ移行し、連続していないと判定すると処理をＳ１１ａへ移行する。
【００４６】
Ｓ１０ａ：高密度印刷（Ｈｉｇｈ  Ｄｕｔｙ）カラムデータがｍｈカラム以上連続したと判定した展開データＤｕｔｙチェック部１４０は、連続する高密度印刷カラムデータのうち最初に検出したカラムのインパクトデータ先頭からの位置（インパクトデータの先頭からのカラム数）を高密度印刷カラム開始ポジションとして揮発性メモリに記憶する。
【００４７】
この高密度印刷カラム開始ポジションは、印字ブロック内に複数存在することを十分に考慮し、複数のポジションを記憶できるようにする。また、判断パラメータ（第２の閾値）である「ｍｈカラム」は、プリンタ１と電源装置の性能により変化するものであり、本実施例では、「ｍｈカラム」を５カラムとし、高密度印刷カラムが５カラム以上連続して検出した場合は、高密度印刷ブロックと判断する。
【００４８】
Ｓ１１ａ：展開データＤｕｔｙチェック部１４０は、印字ブロックの展開されたすべてのカラムの印刷密度チェックが完了したか否かの判定を行う。すべてのカラムについて印刷密度チェックが完了していなければＳ６ａへ戻り、カラム単位の密度チェックを継続し、完了していれば処理をＳ１８ａへ移行する。
【００４９】
Ｓ１２ａ：一方、Ｓ７ａにおいて、ｎピン未満のインパクトデータであると判定した場合、すなわちカラム単位のＤｕｔｙチェックにおいて、ｎピン未満のインパクトドット数を検出した場合、展開データＤｕｔｙチェック部１４０は、連続する高密度印刷（Ｈｉｇｈ  Ｄｕｔｙ）カラムデータをカウント中であるか否かを判定する。カウント中であると判定すると高密度印刷ブロックの終了チェックを主としたチェック処理へ遷移するため、処理をＳ１３ａへ移行し、カウント中でないと判定すると処理をＳ６ａへ移行する。
【００５０】
Ｓ１３ａ：展開データＤｕｔｙチェック部１４０は、低密度のインパクトデータカラム数をカウントするカウンタの更新を実施する。
【００５１】
Ｓ１４ａ：展開データＤｕｔｙチェック部１４０は、高密度印刷ブロックの終了を判断する為、インパクトドット数の少ない低密度印刷（Ｌｏｗ  Ｄｕｔｙ）カラムデータがｍｌカラム以上連続したか否かを判定し、連続したと判定すると処理をＳ１５ａへ移行し、連続していないと判定すると処理をＳ１７ａへ移行する。
【００５２】
ここで、判断パラメータ（第３の閾値）である「ｍｌカラム」は、プリンタ１と電源装置の性能により変化するものであり、本実施例では、「ｍｌカラム」を１０カラムとし、低密度印刷カラムが１０カラム以上連続して検出した場合は、低密度印刷ブロックと判断する。
【００５３】
Ｓ１５ａ：低密度印刷（Ｌｏｗ  Ｄｕｔｙ）カラムデータがｍｌカラム以上連続したと判定した展開データＤｕｔｙチェック部１４０は、連続する低密度印刷カラムデータのうち最初に検出したカラムのインパクトデータ先頭からの位置（インパクトデータの先頭からのカラム数）を低密度印刷カラム開始ポジションとして揮発性メモリに記憶する。この低密度印刷カラム開始ポジションは、印字ブロック内に複数存在することを十分に考慮し、複数のポジションを記憶できるようにする。
【００５４】
Ｓ１６ａ：展開データＤｕｔｙチェック部１４０は、低密度印刷ブロックを検出することにより、連続する低密度印刷カラムデータのうち最初に検出したカラムのインパクトデータ先頭からの位置（インパクトデータの先頭からのカラム数）を高密度印刷カラム終了ポジションとして揮発性メモリに記憶する。
【００５５】
Ｓ１７ａ：展開データＤｕｔｙチェック部１４０は、印字ブロックの展開されたすべてのカラムの印刷密度チェックが完了したか否かの判定を行う。すべてのカラムについて印刷密度チェックが完了していなければＳ６ａへ戻り、カラム単位の密度チェックを継続し、完了していれば処理をＳ１８ａへ移行する。
【００５６】
次に、印字ブロック内の印字密度情報から印刷方向を決定する制御について説明する。
【００５７】
Ｓ１８ａ：まず、印刷方向決定部１７０は、印字ブロック内に高密度の印字ブロックが存在するか否か、すなわち高密度印刷カラム開始ポジションが存在するか否かのチェックを行う。印字ブロック内に高密度の印字ブロックが無い場合、本判定処理を終了し、従来の最短距離印字による印字を開始する。一方、印字ブロック内に高密度の印字ブロックが存在する場合は、Ｓ１９ａへ移行する。
【００５８】
Ｓ１９ａ：印刷方向決定部１７０は、印字ヘッドの位置を判定し、印字ヘッドが図６における左側に位置する場合、処理をＳ２０ａへ移行し、一方印字ヘッドが図６における右側に位置する場合、処理をＳ２９ａへ移行する。
【００５９】
Ｓ２０ａ：Ｓ８ａでカウントした高密度印刷カラム数およびインパクトドット数をもとにして、印刷方向決定部１７０は、印刷することによる電源電圧垂下を予測する。この電源電圧垂下の予測は、印刷密度（印字ブロックＤｕｔｙ）と印字ヘッドのドライブ時間による電源電圧垂下の関係に基づいて行うものであり、例えば図９の第１の実施例における印刷密度と電源電圧垂下の関係を示すグラフを用いて予測する。この電源電圧の垂下は、インパクトドット数が多いカラムが連続すると急激に垂下する。
【００６０】
Ｓ２１ａ：印刷方向決定部１７０は、印字ブロック内の高密度印刷による電圧垂下レベルが既定値を超えることに起因する印刷速度の制御の要否の判断を行う。高密度の印刷を実行しても大きな電源電圧の低下が無く印刷できる場合は、処理をＳ２８ａへ移行し、印刷は印字ヘッドを左から右方向へ移動して印刷するものとする。一方、電源電圧垂下により印刷速度の低下制御が必要であれば、Ｓ２２ａへ移行して予測される電源電圧に適した印刷速度を求め、高密度印刷ブロックの印刷速度とする。
【００６１】
Ｓ２２ａ：印刷方向決定部１７０は、印字ヘッドを左から右方向（往方向）へ移動させて印刷した場合の印刷時間を計算する。
【００６２】
ここで、本実施例における印刷時間の計算を図６の第１の実施例における印刷動作の説明図および図７の第１の実施例における印刷時間算出方法の説明図を用いて説明する。なお、これから説明する制御は、印字速度を１０ＩＰＳ（Ｉｎｃｈ  Ｐｅｒ  Ｓｅｃｏｎｄ）、印字ブロック長を１０インチとし、且つ高密度印刷ブロックの印字速度を通常の印字速度の６０％と仮定して説明する。
【００６３】
図６および図７において、図中印字ブロックの左端Ｐ０から右端Ｐ３に向けて印字ブロック６００をサーチすると、ブロック長１インチの低密度印刷ブロック６１０が存在する。この低密度印刷ブロック６１０は、低密度印刷を行うブロックであり電源電圧の垂下による印字速度制御は不要と判断出来る為、１インチの低密度印刷ブロック６１０の印字にかかる時間は、０．１秒である。
【００６４】
次に、高密度印刷ブロック６２０が２インチあり、且つ高密度印字である為に印字速度が６０％となり印刷速度は、６ＩＰＳへ速度低下する為、２インチの高密度印刷ブロック６２０の印字にかかる時間は、０．３３３秒である。高密度印刷ブロック６２０の右側に７インチの低密度印刷ブロック６３０が存在するが、高密度印刷ブロック６２０の印刷により低下した印刷速度は、垂下した電源電圧が復活しても印刷品位を確保する目的で上昇させない為、７インチの低密度印字ブロック６３０の印刷速度は１０ＩＰＳの６０％（６ＩＰＳ）となり、印刷時間は１．１６７秒となる。以上の計算結果から、１行印字にかかる印刷時間は１．６秒（０．１秒＋０．３３３秒＋１．１６７秒）となる。
【００６５】
Ｓ２３ａ：次に、印字ヘッドを図中左側の位置から右側の位置ヘハイスキップ移動し、印字ヘッドを右から左方向（復方向）へ移動して印刷した時の印刷時間を計算する。本処理の目的は、図示した印字ブロックを右から左側の方向へ印字した場合の印刷時間を計測することである。ここでも図６の第１の実施例における印刷動作の説明図および図８の第１の実施例における印刷時間算出方法の説明図を用いて説明する。
【００６６】
図６および図８において、図中印字ブロック６００の右端Ｐ３から左端Ｐ０に向け印字ブロック６００をサーチすると、ブロック長７インチの低密度印刷ブロック６３０が存在するため、印刷にかかる時間は、０．７秒となる。その後、２インチ幅の高密度印刷ブロック６２０が存在する為、電源電圧垂下による印刷速度は６ＩＰＳとなり、且つ電源電圧垂下後は、電圧上昇による印刷速度の上昇はしない為、残り３インチの印字ブロック（高密度印刷ブロック６２０および低密度印刷ブロック６１０）は、０．５秒となる。したがって、印字ヘッドを右から左方向へ移動して印刷動作を実行した場合の印刷時間は、低密度印刷０．７秒＋高密度印刷０．５秒となり、合計で１．２秒となる。
【００６７】
以上の計算結果から、印字ヘッドを右から左方向へ向かって移動して印刷した方が、左から右方向へ向かって移動して印刷するよりも印刷にかかる時間が約０．４秒速いことがわかる。
【００６８】
Ｓ２４ａ：印刷方向決定部１７０は、Ｓ２２ａとＳ２３ａで求めた印刷時間を比較し、印刷時間の短い印刷方向を把握し、右から左方向への印刷時間が短いと判断した場合は、処理をＳ２５ａへ移行し、印字ヘッドを左から右へ移動する為のハイスキップ移動時間を求める。左から右方向への印刷時間が短いと判断した場合は、処理をＳ２８ａへと移行し、印刷を開始する。
【００６９】
Ｓ２５ａ：次に、印刷方向決定部１７０は、印字ヘッドを現在の左位置から右位置ヘハイスキップ移動してから右から左方向へ印字ヘッドを移動して印刷した時の印刷時間を計算する。まず、印字ブロックの左側に位置する印字ヘッドを印字ブロックの右側へ移動した時の移動時間を計測する。印字ブロックの右側への移動は、移動速度５０ＩＰＳのハイスキップ移動とする。よって、ハイスキップによる移動時間は、０．２秒となる。
【００７０】
Ｓ２６ａ：印刷方向決定部１７０は、Ｓ２３ａで求めた印刷時間とＳ２５ａで求めたハイスキップ移動時間とを加算し、印刷動作の合計時間を求める。本実施例では、印刷にかかる時間は１．２秒であり、ハイスキップでの移動時間は０．２秒である為、印刷動作の合計時間は１．４秒となる。その結果、印刷方向決定部１７０は、印字ヘッドを右から左方向へ移動して印刷する印刷動作時間が最短であると判断し、処理をＳ２７ａへ移行する。一方、印字ヘッドを左から右方向へ移動して印刷する印刷動作時間が最短であると判断した場合、処理をＳ２８ａへ移行する。
【００７１】
Ｓ２７ａ：印字制御部１６０は、印字ヘッドを右側にハイスキップ移動させ、移動させた印字ヘッドを右から左方向へ移動させて印刷を行い、処理を終了する。
【００７２】
Ｓ２８ａ：印字制御部１６０は、印字ヘッドを左から右方向へ移動させて印刷を行い、処理を終了する。
【００７３】
Ｓ２９ａ：Ｓ１９ａにおいて印字ヘッドが右側に位置する場合も同様に、Ｓ８ａでカウントした高密度印刷カラム数をもとにして、印刷方向決定部１７０は、印刷することによる電源電圧垂下を予測する。この電源電圧垂下の予測は、印刷密度（印字ブロックＤｕｔｙ）と印字ヘッドのドライブ時間による電源電圧垂下の関係に基づいて行うものであり、例えば図９の第１の実施例における印刷密度と電源電圧垂下の関係を示すグラフを用いて予測する。この電源電圧の垂下は、インパクトドット数が多いカラムが連続すると急激に垂下する。
【００７４】
Ｓ３０ａ：印刷方向決定部１７０は、印字ブロック内の高密度印刷による電圧垂下レベルは、印刷速度の制御の要否の判断を行う。高密度の印刷を実行しても大きな電源電圧の低下が無く印刷できる場合は、処理をＳ３７ａへ移行し、印刷は印字ヘッドを左から右方向へ移動して印刷するものとする。一方、電源電圧垂下により印刷速度の低下制御が必要であれば、Ｓ３１ａへ移行して予測される電源電圧に適した印刷速度を求め、高密度印刷ブロックの印刷速度とする。
【００７５】
Ｓ３１ａ：印刷方向決定部１７０は、印字ヘッドを右から左方向（往方向）へ移動させて印刷した場合の印刷時間を計算する。
【００７６】
ここで、本実施例における印刷時間の計算を図６の第１の実施例における印刷動作の説明図を用いて説明する。なお、印字速度を１０ＩＰＳ（Ｉｎｃｈ  Ｐｅｒ  Ｓｅｃｏｎｄ）、印字ブロック長を１０インチとし、且つ高密度印刷ブロックの印字速度を通常の印字速度の６０％と仮定して説明する。
【００７７】
図６において、図中印字ブロックの右側から印字ブロックをサーチすると、ブロック長７インチの低密度ブロックが存在する。このブロックは、低密度印刷ブロックであり電源電圧の垂下による印字速度制御は不要と判断出来る為、低密度印刷ブロック７インチの印字にかかる時間は、０．７秒である。次に高密度印刷ブロックが２インチあり、且つ高密度印字である為に印字速度が６０％となり印刷速度は、６ＩＰＳへ速度低下する為、高密度印刷ブロック２インチの印字にかかる時間は、０．３３３秒である。高密度印刷ブロックの左側に１インチの低密度印刷ブロックが存在するが、高密度印刷ブロック印刷により低下した印刷速度は、垂下した電源電圧が復活しても印刷品位を確保する目的で上昇させない為、１インチの低密度印字ブロックの印刷速度は１０ＩＰＳの６０％（６ＩＰＳ）となり、印刷時間は０．１６７秒となる。以上の計算結果から、１行印字にかかる印刷時間は１．２秒（０．７＋０．３３３＋０．１６７秒）となる。
【００７８】
Ｓ３２ａ：次に、印字ヘッドを図中右側の位置から左側の位置ヘハイスキップ移動し、印字ヘッドを左から右方向（復方向）へ移動して印刷した時の印刷時間を計算する。本処理の目的は、図示した印字ブロックを左から右側の方向へ印字した場合の印刷時間を計測することである。ここでも図６の第１の実施例における印刷動作の説明図を用いて説明する。
【００７９】
図６において、図中印字ブロックの左側から印字ブロックをサーチすると、ブロック長１インチの低密度ブロックが存在するため、印刷にかかる時間は、０．１秒となる。その後、２インチ幅の高密度印刷ブロックが存在する為、電源電圧垂下による印刷速度は６ＩＰＳとなり、且つ電源電圧垂下後は、電圧上昇による印刷速度の上昇はしない為、残り９インチの印字ブロックは、１．５秒となる。したがって、印字ヘッドを左から右方向へ移動して印刷動作を実行した場合の印刷時間は、低密度印刷０．１秒＋高密度印刷１．５秒となり、合計で１．６秒となる。
【００８０】
以上の計算結果から、印字ヘッドを右から左方向へ向かって移動して印刷した方が、左から右方向へ向かって移動して印刷するよりも印刷にかかる時間が約０．４秒速いことがわかる。
【００８１】
Ｓ３３ａ：印刷方向決定部１７０は、Ｓ３１ａとＳ３２ａで求めた印刷時間を比較し、印刷時間の短い印刷方向を把握し、左から右方向への印刷時間が短いと判断した場合は、処理をＳ３４ａへ移行し、印字ヘッドを右から左へ移動する為のハイスキップ移動時間を求める。右から左方向への印刷時間が短いと判断した場合は、処理をＳ３７ａへと移行し、印刷を開始する。
【００８２】
Ｓ３４ａ：次に、印刷方向決定部１７０は、印字ヘッドを現在の右位置から左位置ヘハイスキップ移動してから左から右方向へ印字ヘッドを移動して印刷した時の印刷時間を計算する。まず、印字ブロックの右側に位置する印字ヘッドを印字ブロックの左側へ移動した時の移動時間を計測する。印字ブロックの左側への移動は、移動速度５０ＩＰＳのハイスキップ移動とする。よって、ハイスキップによる移動時間は、０．２秒となる。
【００８３】
Ｓ３５ａ：印刷方向決定部１７０は、Ｓ３２ａで求めた印刷時間とＳ３４ａで求めたハイスキップ移動時間とを加算し、印刷動作の合計時間を求める。印刷方向決定部１７０は、印字ヘッドを左から右方向へ移動して印刷する印刷動作時間が最短であると判断した場合、処理をＳ３６ａへ移行する。一方、印字ヘッドを右から左方向へ移動して印刷する印刷動作時間が最短であると判断した場合、処理をＳ３７ａへ移行する。
【００８４】
Ｓ３６ａ：印字制御部１６０は、印字ヘッドを左側にハイスキップ移動させ、移動させた印字ヘッドを左から右方向へ移動させて印刷を行い、処理を終了する。
【００８５】
Ｓ３７ａ：印字制御部１６０は、印字ヘッドを右から左方向へ移動させて印刷を行い、処理を終了する。
【００８６】
以上説明したように、第１の実施例では、印刷動作による電源電圧の垂下が原因の低速度印刷や分割印刷による印刷制御を実施する前に、印刷するインパクトデータの印刷密度の高低とその範囲を把握し、最短の時間で印刷する為の印刷方向を決定して印刷動作を行うことにより、印刷性能を向上させることができるという効果が得られる。
【００８７】
また、印刷動作時間だけでなく、印字ヘッドが移動する時間も加味した印刷時間で印刷方向を決定するようにしたことにより、精度の高い印刷性能の向上が図れるという効果が得られる。
【実施例２】
【００８８】
第１の実施例では、高密度印刷ブロックを１回の印字ヘッドの移動による印刷動作で印刷する方法について説明したが、水平方向の印刷密度が高く、且つインパクトドット数が非常に多い場合、電源電圧の垂下が非常に大きく、印字ヘッドを複数回移動（パス）させて１行を印刷する分割印刷による１パス当たりのインバクト数を軽減した印刷が必要となるケースがある。
【００８９】
第２の実施例では、分割印刷が必要なケースでの最短印刷制御について説明する。
【００９０】
図１０は第２の実施例におけるプリンタの印刷制御の構成を示すブロック図である。なお、上述した第１の実施例と同様の部分は、同一の符号を付してその説明を省略する。
【００９１】
図１０において、印刷方向／印刷パス決定部１７１は、展開データＤｕｔｙチェック部１４０で算出した印刷密度の高い高密度印刷ブロックの位置と長さから、これから印刷する印刷ブロックを最短時間で印刷する為の印字ヘッドを移動させる印刷方向（印刷開始位置）を決定する処理、および電源電圧の垂下を軽減させるパス分割印刷の要否を決定する処理を行う。
【００９２】
パス分割印刷判断制御１７２は、高密度印刷ブロックの水平方向の印字密度(印刷ＤＰＩ)とインパクトドット数が非常に多い場合、電源電圧の垂下が非常に大きくなることによる１パスでの印刷が困難な場合、複数パスで印刷動作を実施することにより、１パス当たりのインパクトドット数を減らし、電源電圧の垂下を軽減させるパス分割印刷が必要か否かを判断する。
【００９３】
具体的には、パス分割印刷判断制御１７２は、高密度印刷ブロックの水平方向（印字ヘッドが移動する方向）の印字密度(印刷ＤＰＩ)に応じたインパクトドット数が不揮発性メモリに予め記憶された閾値を超えた場合、分割印刷が必要と判定する。
【００９４】
上述した構成の作用を図１１、図１２および図１３の第２の実施例における印刷処理を示すフローチャートの図中Ｓで表すステップにしたがって図１０を参照しながら説明する。
【００９５】
なお、本実施例における動作は、第１の実施例の動作に対してパス分割が必要な場合の最短印字を行うための印刷方向と印刷パスを決定し、その印刷方向および印刷パスに従って印刷を行うものである。したがって第１の実施例と同様の動作の説明を省略し、第１の実施例の動作と相違する部分を説明するものとする。
【００９６】
Ｓ１ｂ〜Ｓ５ｂ：図３におけるＳ１ａ〜Ｓ５ａと同様の処理なのでその説明を省略する。
【００９７】
Ｓ６ｂ〜Ｓ８ｂ：図３におけるＳ６ａ〜Ｓ１８ａと同様の処理なのでその説明を省略する。
【００９８】
Ｓ９ｂ：パス分割印刷判断制御１７２は、実施例１と同様に印字ブロック内の高密度印刷ブロックのサーチを実施した後、カウントした高密度印刷カラム数およびインパクトドット数をもとにして、印刷するブロック印字による電源電圧垂下を予測する。本処理では、最初に高密度印刷ブロック印字による電源電圧垂下によりパス分割制御が必要であるかどうかを判断する。パス分割が必要かどうかの判断は、印刷密度（印字ブロックＤｕｔｙ）と印字ヘッドのドライブ時間による電源電圧垂下の関係に基づいて行うものであり、例えば図１５の第２の実施例における印刷密度と電源電圧垂下の関係を示すグラフを用いて予測する。また、本処理で使用するグラフは、より正確な判断を実行する為に、水平方向の印刷密度(印字ＤＰＩ)毎に用意し、水平方向の印刷密度にあったグラフを利用して電源電圧垂下によるパス分割制御の要否を判定するものとする。
【００９９】
Ｓ１０ｂ：パス分割印刷判断制御１７２は、Ｓ９ｂによるパス分割制御の判定により、パス分割が必要であると判定すると処理をＳ１１ｂへ移行し、不要と判定すると処理をＳ１２ｂへ移行する。
【０１００】
Ｓ１１ｂ：パス分割印刷判断制御１７２は、パス分割した時の展開データを生成する。本処理では、パス分割印刷した時の１パス目のインパクトデータを生成するとともに必要なパス分割の印刷回数を更新して揮発性メモリに記憶し、Ｓ９ｂへ移行して再度１パス目の電源電圧垂下チェックを実施する。
【０１０１】
なお、パス分割した時の展開データは、電源電圧の垂下を抑制するために展開するインパクトデータであり、パス分割したすべての展開データを印刷することにより１行の印刷が完成する。
【０１０２】
Ｓ１２ｂ〜Ｓ３０ｂ：図３におけるＳ１９ａ〜Ｓ３７ａと同様の処理なのでその説明を省略する。
【０１０３】
本実施例によるパス分割による印刷方法を図１４の第２の実施例におけるパス分割による印刷動作の説明図を用いて説明する。
【０１０４】
図１４において、１０インチの印字ブロック６００が、図中左側から1インチの低密度印刷ブロック、２インチの高密度印刷ブロック、７インチの低密度印刷ブロックで構成されているものとし、また上記処理の結果、印字ヘッドの移動回数は２回と算出され、印刷方向は図中左から右方向に決定されたものとする。
【０１０５】
まず、１パス目の印刷動作では、印字ヘッドを図中左から右に移動して1インチの低密度印刷ブロック、１パス目の印刷のために展開された２インチの高密度印刷ブロック、および７インチの低密度印刷ブロックのインパクトデータを印刷する。
【０１０６】
次に、２パス目の印刷動作を行うために印字ヘッドを図中右から左へ、高密度印刷ブロックの左端Ｐ４まではハイスキップ移動させる。
【０１０７】
次に、印字ヘッドを図中左（Ｐ４）から右（Ｐ５）に移動して１パス目の印刷のために展開された２インチの高密度印刷ブロックのインパクトデータを印刷して1行の印刷動作を終了する。
【０１０８】
以上説明したように、第２の実施例では、第１の実施例の効果に加え、急激な電源電圧の垂下による分割印刷が必要となった場合であっても、印刷性能を向上させることができるという効果が得られる。
【０１０９】
また、水平方向の印刷密度(印字ＤＰＩ)毎に電源電圧垂下を予測するようにしたことにより、より精度の高い電源電圧垂下レベルを把握することができるという効果が得られる。
【符号の説明】
【０１１０】
１    プリンタ
１０  マイクロプロセッサ
２０  Ｉ／Ｏ制御回路
３０  揮発性メモリ
４０  不揮発性メモリ
５０  電源装置
６０  印字ヘッドドライバ
６１  印字ヘッド
７０  スペースモータドライバ
７１  スペースモータ
８０  フィードモータドライバ
８１  フィードモータ
９０  スイッチ／センサ検出回路
１１０  データ受信部
１２０  受信データ解析部
１３０  ＣＧデータ展開部
１４０  展開データＤｕｔｙチェック部
１５０  電源電圧検出部
１６０  印字制御部
１７０  印字方向決定部
１７１  印刷方向／印字パス決定部
１７２  パス分割印刷判断制御
【図１】
2011079239.tif 000003
【図２】
2011079239.tif 000004
【図３】
2011079239.tif 000005
【図４】
2011079239.tif 000006
【図５】
2011079239.tif 000007
【図６】
2011079239.tif 000008
【図７】
2011079239.tif 000009
【図８】
2011079239.tif 000010
【図９】
2011079239.tif 000011
【図１０】
2011079239.tif 000012
【図１１】
2011079239.tif 000013
【図１２】
2011079239.tif 000014
【図１３】
2011079239.tif 000015
【図１４】
2011079239.tif 000016
【図１５】
2011079239.tif 000017
【図１６】
2011079239.tif 000018