(57)【要約】【課題】ハンドヘルドプリンタのフリーハンド走査において、ハンドヘルドプリンタが印刷媒体の同一位置を複数回走査する場合の、印刷品位を維持すること。【解決手段】液滴吐出装置は、画像データを受け、ユーザによって走査されることで媒体上に画像を形成し、媒体に印刷するための液滴を吐出するヘッドと、所定の期間における該液滴吐出装置の移動量を検知するためのセンサと、前記移動量を累積した総移動量を算出する総移動量算出部と、前記総移動量と前記画像データとに基づいて、前記ヘッドから液滴の吐出を指示する吐出制御を行う吐出制御部と、前記画像データの画素の内、前記吐出制御が行われた画素と前記吐出制御が行われていない画素を判断するための判断情報を記憶する記憶部と、を備え、前記吐出制御部は、前記吐出制御が行われていない画素に対してのみ前記吐出制御を行い、前記吐出制御が行われなかった画素を、所定条件に基づいて前記吐出制御が行われたものとして前記判断情報を書き換える加工部と、を備える。【選択図】図５
2019069524.tif 000002
【特許請求の範囲】
【請求項１】
画像データを受け、ユーザによって走査されることで媒体上に画像を形成する液滴吐出装置であって、
媒体に印刷するための液滴を吐出するヘッドと、
所定の期間における該液滴吐出装置の移動量を検知するためのセンサと、
前記移動量を累積した総移動量を算出する総移動量算出部と、
前記総移動量と前記画像データとに基づいて、前記ヘッドから液滴の吐出を指示する吐出制御を行う吐出制御部と、
前記画像データの画素の内、前記吐出制御が行われた画素と前記吐出制御が行われていない画素を判断するための判断情報を記憶する記憶部と、を備え、
前記吐出制御部は、前記吐出制御が行われていない画素に対してのみ前記吐出制御を行い、
前記吐出制御が行われなかった画素を、所定条件に基づいて前記吐出制御が行われたものとして前記判断情報を書き換える加工部と、
を備える液滴吐出装置。
【請求項２】
前記加工部は、前記画像データの所定の領域内に含まれる前記吐出制御が行われなかった画素に対して、前記吐出制御が行われたものとして前記判断情報を書き換える請求項１記載の液滴吐出装置。
【請求項３】
前記加工部は、前記画像データの所定の領域の画素数と、前記画像データの所定の領域の画素の内、前記判断情報が吐出制御が行われたことを示す画素数との比率に基づいて、前記画像データの所定の領域に対して、吐出制御が行われたものとして前記判断情報を書き換える請求項２記載の液滴吐出装置。
【請求項４】
前記画像データの所定の領域は、複数の画素から構成される矩形である請求項３記載の液滴吐出装置。
【請求項５】
前記画像データの所定の領域は、画素１ラインである請求項３記載の液滴吐出装置。
【請求項６】
前記画素１ラインは、走査方向に対応する請求項５記載の液滴吐出装置。
【請求項７】
画像データを受け、ユーザによって走査されることで媒体上に画像を形成する液滴吐出装置が実行する液滴吐出方法であって、
媒体に印刷するための液滴を吐出する吐出手順と、
所定の期間における該液滴吐出装置の移動量を検知するための検知手順と、
前記移動量を累積した総移動量を算出する総移動量算出手順と、
前記総移動量と前記画像データとに基づいて、前記吐出手順による液滴の吐出を指示する吐出制御を行う吐出制御手順と、
前記画像データの画素の内、前記吐出制御が行われた画素と前記吐出制御が行われていない画素を判断するための判断情報を記憶装置に記憶させる判断情報制御手順と、を備え、
前記吐出制御手順は、前記吐出制御が行われていない画素に対してのみ前記吐出制御を行う手順を含み、
前記吐出制御が行われなかった画素を、所定条件に基づいて前記吐出制御が行われたものとして前記判断情報を書き換える加工手順と、
を備える液滴吐出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、液滴吐出装置及び液滴吐出方法に関する。
【背景技術】
【０００２】
昨今、ノートＰＣの小型化、スマートデバイスの急激な普及により、プリンタにおいても、「小型化・携帯化」が大きな要望の一つとして挙げられており、紙搬送システムを削除した機構で、紙面上を人の手で走査しながらインクを塗布する、「ハンドヘルドプリンタ」が既に知られている。
【０００３】
フリーハンド走査で印字する場合、ハンドヘルドプリンタ底面部に設置されている走査中のノズル位置を検出するセンサ及びインクを吐出するノズルが印刷媒体上に位置していることが必要となる。
【０００４】
フリーハンド走査して印字を行う場合にノズルの正確な位置の算出や印字制御を行う目的で、各ノズルの位置と、所定領域の画像データを印刷媒体上に印刷した場合の各画像要素の位置とに基づき、各ノズルにつき液滴を吐出させるか否かを判断する方法が開示されている（例えば特許文献１）。この方法によれば、ユーザによる走査速度が速い場合は目標吐出位置に液滴が吐出されないでノズルが通過し、吐出されなかった目標吐出位置については未印字としてデータを保持し、再度ノズルが通過したときに液滴を吐出する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ハンドヘルドプリンタによる位置検知には若干の誤差が生じる可能性があるため、一度ノズルが通過して液滴が吐出されなかった目標吐出位置を再度通過したときに、本来吐出するべき位置からズレが生じ、結果として印字済みの位置に重なるような形で吐出して画像を劣化させる可能性があった。
【０００６】
本発明は上記の点に鑑みてなされたものであって、ハンドヘルドプリンタのフリーハンド走査において、ハンドヘルドプリンタが印刷媒体の同一位置を複数回走査する場合の、印刷品位を維持することを目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、液滴吐出装置は、画像データを受け、ユーザによって走査されることで媒体上に画像を形成し、媒体に印刷するための液滴を吐出するヘッドと、所定の期間における該液滴吐出装置の移動量を検知するためのセンサと、前記移動量を累積した総移動量を算出する総移動量算出部と、前記総移動量と前記画像データとに基づいて、前記ヘッドから液滴の吐出を指示する吐出制御を行う吐出制御部と、前記画像データの画素の内、前記吐出制御が行われた画素と前記吐出制御が行われていない画素を判断するための判断情報を記憶する記憶部と、を備え、前記吐出制御部は、前記吐出制御が行われていない画素に対してのみ前記吐出制御を行い、前記吐出制御が行われなかった画素を、所定条件に基づいて前記吐出制御が行われたものとして前記判断情報を書き換える加工部と、を備える。
【発明の効果】
【０００８】
ハンドヘルドプリンタのフリーハンド走査において、ハンドヘルドプリンタが印刷媒体の同一位置を複数回走査する場合の、印刷品位を維持することができる。
【図面の簡単な説明】
【０００９】
【図１】ハンドヘルドプリンタ１０による印刷の例を示す図である。
【図２】複数パスによる印刷の位置ずれの例を示す図である。
【図３】本発明の実施の形態における複数パスによる印刷の例を示す図である。
【図４】本発明の実施の形態におけるハンドヘルドプリンタ１０のハードウェア構成例を示す図である。
【図５】本発明の実施の形態における制御部１４の機能構成例を示す図である。
【図６】本発明の実施の形態における画像読み取り部１０５の機能構成例を示す図である。
【図７】本発明の実施の形態におけるテーブル管理部／データ加工部２０５が管理するテーブルの例を示す図である。
【図８】本発明の実施の形態におけるヘッドの動きにより必要となるメモリアクセス量について説明するための図である。
【図９】本発明の実施の形態におけるメモリライトを説明するためのフローチャートである。
【図１０】本発明の実施の形態におけるデータ加工方法の例（１）を説明するためのフローチャートである。
【図１１】本発明の実施の形態におけるヘッドの走査による１ブロック内の残画データを説明するための図である。
【図１２】本発明の実施の形態におけるデータ加工方法の例（２）を説明するためのフローチャートである。
【図１３】本発明の実施の形態における画像データのメモリ配置について説明するための図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。
【００１１】
図１は、ハンドヘルドプリンタ１０による印刷の例を示す図である。ハンドヘルドプリンタ１０は、例えば、スマートデバイス又はＰＣ（Personal Computer）等の画像データ出力装置から、画像データを受信する。続いて、ハンドヘルドプリンタ１０は、当該画像データに基づいて、印刷媒体上を平面状自由に、すなわち、フリーハンド走査し、画像を形成することができる。印刷媒体は、例えば、ノート又は定型用紙である。
【００１２】
ハンドヘルドプリンタ１０は、後述するようにナビゲーションセンサ１８とジャイロセンサ１７で位置を検出し、ハンドヘルドプリンタ１０が目標吐出位置に移動すると、目標吐出位置で吐出すべき色のインクを吐出する。すでにインクを吐出した位置はマスクされインクの吐出の対象とならないため、ユーザは、印刷媒体上で任意の方向にハンドヘルドプリンタ１０をフリーハンド走査することで画像を形成できる。
【００１３】
図２は、複数パスによる印刷の位置ずれの例を示す図である。図２に示されるように、１パス目の一度通った位置座標で打ち残した画像データがある場合、２パス目を１パス目と重なるように走査すると、２パス目で吐出される画素が１パス目で吐出された画素と位置ずれにより重なってしまい、意図していない濃淡ができてしまう。
【００１４】
図３は、本発明の実施の形態における複数パスによる印刷の例を示す図である。図３に示されるように、ハンドヘルドプリンタ１０は、一度通った位置座標に対応する画像データを再び通ったときに吐出しない。ハンドヘルドプリンタ１０は、一度通った位置座標において未吐出のデータを、再び通るときに吐出しない制御にするため、位置ズレの影響で印字済みの位置に重ねて吐出されることによる画像劣化を防ぐことができる。
【００１５】
図４は、本発明の実施の形態におけるハンドヘルドプリンタ１０のハードウェア構成例を示す図である。ハンドヘルドプリンタ１０は、印刷媒体に画像を形成する画像形成装置の一例である。ハンドヘルドプリンタ１０は、電源１１、電源回路１２、メモリ１３、制御部１４、ＩＪ（インクジェット）記録ヘッド駆動回路１５、画像データ通信Ｉ／Ｆ１６、ジャイロセンサ１７、ナビゲーションセンサ１８、ＯＰＵ（Operation panel Unit）１９及びＩＪ記録ヘッド２０を有する。
【００１６】
電源１１には、主に電池が利用される。太陽電池、交流商用電源、燃料電池等が用いられてもよい。電源回路１２は、電源１１が供給する電力をハンドヘルドプリンタ１０の各部に分配する。また、電源回路１２は、電源１１の電圧を各部に適した電圧に降圧又は昇圧する。また、電源１１が充電可能な電池である場合、電源回路１２は、例えば交流電源の接続を検出して電池の充電回路に接続し、電源１１の充電を可能にする。
【００１７】
メモリ１３は、ハンドヘルドプリンタ１０のハードウェア制御を行うファームウェア、ＩＪ記録ヘッド２０の駆動波形データ、その他ハンドヘルドプリンタ１０の初期設定に必要なデータ等を格納するＲＯＭ（Read Only Memory）を含む。ＲＯＭは、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＥＰＲＯＭ（Electrical Erasable ROM）、フラッシュメモリ又は外部記憶媒体であるメモリカード等のいずれであってもよいし、それらの複数を含んでもよい。
【００１８】
また、メモリ１３は、ＲＡＭ（Random Access Memory）を含み、制御部１４がファームウェアを実行するときにワークメモリとして使用され、画像データ通信Ｉ/Ｆ１６が受信した画像データを記憶し、展開されたファームウェアの実行のために使用される。ＲＡＭは、ＤＲＡＭ（Dynamic RAM）、ＳＲＡＭ（Static RAM）、ＳＤＲＡＭ（Synchronous DRAM）等のいずれであってもよいし、それらの複数を含んでもよい。
【００１９】
制御部１４は、ＣＰＵ（Central Processing Unit）１０１、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等に含まれるワイヤードロジック回路を有し、ハンドヘルドプリンタ１０の全体を制御する。例えば、制御部１４は、ナビゲーションセンサ１８により検出される移動量及びジャイロセンサ１７により検出される角速度に基づいて、ＩＪ記録ヘッド２０の各ノズルの位置を決定し、当該位置に応じてインクを吐出し画像を形成する制御を行う。制御部１４について詳細は後述する。
【００２０】
ＩＪ記録ヘッド駆動回路１５は、制御部１４から供給される駆動波形データを用いて、ＩＪ記録ヘッド２０を駆動するための駆動波形を生成する。ＩＪ記録ヘッド駆動回路１５は、インクの液滴のサイズなどに応じた駆動波形を生成できる。
【００２１】
画像データ通信Ｉ／Ｆ１６は、ＰＣ（Personal Computer）又はスマートデバイス等の画像入力機器から画像データの受信を行う。画像データ通信Ｉ／Ｆ１６は、例えば、無線ＬＡＮ、Bluetooth（登録商標）、ＮＦＣ（Near Field Communication）、赤外線、携帯電話の通信方式である３Ｇ又はＬＴＥ（Long Term Evolution）等の通信規格に対応した通信インタフェースである。また、画像データ通信Ｉ／Ｆ１６は、このような無線通信の他、有線ＬＡＮ、ＵＳＢケーブルなどを用いた有線通信に対応した通信装置であってもよい。
【００２２】
ジャイロセンサ１７は、印刷媒体に垂直な軸を中心にハンドヘルドプリンタ１０が回転したときの角速度を検出するセンサである。
【００２３】
ナビゲーションセンサ１８は、所定のサイクル時間ごとにハンドヘルドプリンタ１０の移動量を検出するセンサである。ナビゲーションセンサ１８は、例えば、ＬＥＤ又は半導体レーザ等の光源と、印刷媒体を撮像する撮像センサを有する。ユーザが、ハンドヘルドプリンタ１０に、印刷媒体上を走査させると、印刷媒体の微小なエッジが次々に撮像又は検出され、当該エッジ間の距離を解析することで移動量が得られる。本発明の実施の形態においては、ナビゲーションセンサ１８は、ハンドヘルドプリンタ１０の底面に１つ搭載されて移動量を算出し、角速度はジャイロセンサ１７が算出してもよい。なお、ナビゲーションセンサ１８として、さらに多軸の加速度センサを用いてもよく、ハンドヘルドプリンタ１０は加速度センサに基づいて移動量を検出してもよい。
【００２４】
ＯＰＵ１９は、ハンドヘルドプリンタ１０の状態を表示するＬＥＤ（Light Emitting Diode）、液晶ディスプレイ、ユーザがハンドヘルドプリンタ１０に画像形成を指示するためのタッチパネル等を有する。また、ＯＰＵ１９は、音声入力機能を有していてもよい。
【００２５】
ＩＪ記録ヘッド２０は、インクを吐出するためのヘッドであり、複数のノズルを有する。図４においては、ＣＭＹＫの４色のインクを吐出可能になっているが、単色でもよく５色以上の吐出が可能であってもよい。ＩＪ記録ヘッド２０には、色ごとに一列又は複数列となるように、複数のインク吐出用のノズルが配置されている。また、インクの吐出方式はピエゾ方式でもサーマル方式でもよく、この他の方式でもよい。
【００２６】
図５は、本発明の実施の形態における制御部１４の機能構成例を示す図である。制御部１４は、図５に示されるように、ＣＰＵ１０１、位置算出部１０２、メモリ制御部１０３、割り込み通知部１０４、画像読み取り部１０５、ジャイロセンサＩ／Ｆ１０６、ナビゲーションセンサＩ／Ｆ１０７、印字／センサタイミング生成部１０８及びＩＪ記録ヘッド制御部１０９の各機能部を有する。また、制御部１４のハードウェアとしての構成は、例えば図５に示されるようなＳｏＣ（System on Chip）とＡＳＩＣ/ＦＰＧＡとから構成され、ＳｏＣ及びＡＳＩＣ/ＦＰＧＡは、バスを介して通信して接続されてもよい。ＡＳＩＣ/ＦＰＧＡはどちらの実装技術で設計されてもよいことを意味し、ＡＳＩＣ/ＦＰＧＡ以外の他の実装技術で構成されてよい。また、制御部１４は、ＳｏＣとＡＳＩＣ/ＦＰＧＡを別のチップにすることなく１つのチップ又は基板で構成されてもよい。あるいは、制御部１４は、３つ以上のチップ又は基板で実装されてもよい。また、制御部１４が有する各機能部は、ＣＰＵ１０１が実行するファームウェアによって実現されてもよいし、ＳｏＣ、ＡＳＩＣ／ＦＰＧＡに含まれるワイヤードロジック回路によって実現されてもよい。
【００２７】
ＣＰＵ１０１は、メモリ１３に展開されたファームウェアをメモリ制御部１０３を介して読み込み、実行することにより、制御部１４の各機能部を実現する機能部である。
【００２８】
位置算出部１０２は、ナビゲーションセンサ１８が検出するサンプリング周期ごとの移動量及びジャイロセンサ１７が検出するサンプリング周期ごとの角速度（移動量）に基づいて、ハンドヘルドプリンタ１０の位置を算出する。正確な印刷をするために必要なハンドヘルドプリンタ１０の位置とは、厳密にはノズルの位置であるが、ナビゲーションセンサ１８の位置が分かれば、ノズルの位置を算出できる。また、位置算出部１０２は、インクの目標吐出位置を算出する。なお、位置算出部１０２は、ＣＰＵ１０１がファームウェアを実行することにより実現されてもよいし、ワイヤードロジック回路により実現されてもよい。ここで述べたハンドヘルドプリンタ１０の位置とは、ナビゲーションセンサ１８が検出するサンプリング周期ごとの移動量とジャイロセンサ１７が検出するサンプリング周期ごとの角速度とを累積して得られる総移動量に等しい。
【００２９】
メモリ制御部１０３は、各機能部からのメモリ１３に対する読み込み又は書き込みを制御する。
【００３０】
割り込み通知部１０４は、ナビゲーションセンサＩ／Ｆ１０７が、ナビゲーションセンサ１８との通信が完了したことを検知して、ＣＰＵ１０１に通知するための割り込み信号を出力する。例えば、ＣＰＵ１０１は割り込みにより、ナビゲーションセンサＩ/Ｆ１０７が内部レジスタに記憶するナビゲーションセンサ１８の移動量を取得する。また、割り込み通知部１０４は、エラー等のステータス通知機能も有する。ジャイロセンサＩ/Ｆ１０６に関しても同様に、割り込み通知部１０４はＣＰＵ１０１に対し、ジャイロセンサ１７との通信が終了したことを通知するための割り込み信号を出力する。
【００３１】
画像読み取り部１０５は、ナビゲーションセンサ１８の位置情報から、ＩＪ記録ヘッド２０に搭載されている各ノズル位置を算出し、当該ノズル位置に応じた画像データをメモリ１３から読み込んで、ＩＪ記録ヘッド制御部１０９が要求する並び順でデータを送信する。
【００３２】
ジャイロセンサＩ／Ｆ１０６は、印字／センサタイミング生成部１０８により生成されたタイミングで、ジャイロセンサ１７が検出する角速度を取得して、メモリ１３又は制御部１４内のレジスタ等に格納する。
【００３３】
ナビゲーションセンサＩ／Ｆ１０７は、印字／センサタイミング生成部１０８により生成されたタイミングで、ナビゲーションセンサ１８と通信し、ナビゲーションセンサ１８からの情報として移動量を受信し、当該移動量をメモリ１３又は制御部１４内のレジスタに格納する。
【００３４】
印字／センサタイミング生成部１０８は、ナビゲーションセンサＩ／Ｆ１０７及びジャイロセンサＩ／Ｆ１０６が、センサから情報を読み取るタイミングを通知し、また、ＩＪ記録ヘッド制御部１０９に駆動タイミングを通知する。
【００３５】
ＩＪ記録ヘッド制御部１０９は、画像データにディザ処理等を施して大きさと密度で画像を表す点の集合に画像データを変換する。当該変換により、画像データは、吐出位置と点のサイズのデータとなる。ＩＪ記録ヘッド制御部１０９は、点のサイズに応じた制御信号をＩＪ記録ヘッド駆動回路１５に出力する。ＩＪ記録ヘッド駆動回路１５は、当該制御信号に対応する駆動波形データを用いて、駆動波形を生成する。
【００３６】
また、ＩＪ記録ヘッド制御部１０９は、ノズルの位置に応じて吐出ノズル可否判定を行い、インクを吐出すべき目標吐出位置があればインクを吐出し、目標吐出位置がなければ吐出しないと判定する。なお、ＩＪ記録ヘッド制御部１０９は、吐出を行った画素を画像読み取り部１０５に出力する。
【００３７】
図６は、本発明の実施の形態における画像読み取り部１０５の機能構成例を示す図である。画像読み取り部１０５は、ＣＰＵ  Ｉ／Ｆ２０１、ノズル位置生成部２０２、アドレス生成部２０３、出力Ｉ／Ｆ２０４、テーブル管理部／データ加工部２０５及びデータ蓄積部２０６を有する。
【００３８】
ＣＰＵ  Ｉ／Ｆ２０１は、ＣＰＵ１０１から画像の幅、画像の高さ、画像の解像度といった各種設定を取得して、ノズル位置生成部２０２、アドレス生成部２０３又は出力Ｉ／Ｆ２０４に当該設定を適用する。また、ＣＰＵ  Ｉ／Ｆ２０１は、ＩＪ記録ヘッド制御部１０９からのインク吐出タイミングごとに、当該タイミングでのヘッド位置情報を取得する。
【００３９】
ノズル位置生成部２０２は、ヘッド位置情報から各ノズルの位置情報を生成する。ノズル位置生成部２０２は、ヘッド位置情報を１回受け取るごとに、ノズル数分の位置情報を生成して、アドレス生成部２０３に出力する。また、ノズル位置生成部２０２は、アドレス生成部２０３に、各ノズルの有効／無効フラグも出力し、印刷モード及び吐出ノズル数制限等の制御を実行する。
【００４０】
また、ＣＰＵ１０１の負荷削減のため、ＣＰＵ１０１から与えられるヘッド位置情報は、例えばヘッドの両端の座標等、必要最低限のデータであることが望ましい。
【００４１】
アドレス生成部２０３は、ノズル位置生成部２０２から取得した各ノズルの位置情報に基づいて、当該データが格納されているメモリアドレスを生成する。
【００４２】
出力  Ｉ／Ｆ２０４は、メモリ１３から読み込んだ画像データをＩＪ記録ヘッド制御部１０９が要求する形式に変換する。また、出力  Ｉ／Ｆ２０４は、必要に応じてデータをバッファリングする。
【００４３】
テーブル管理部／データ加工部２０５は、アドレス生成部２０３により生成されたアドレスと、データ蓄積部２０６に蓄積されたデータとの対応付けを行う。また、テーブル管理部／データ加工部２０５は、メモリ１３とデータ蓄積部２０６とでデータの値が異なる場合、データを加工してライトデータとしてデータ蓄積部２０６に出力する。
【００４４】
データ蓄積部２０６は、メモリ制御部１０３を介してメモリ１３から読み込んだデータを蓄積する。また、データ蓄積部２０６は、メモリ１３に書き込むライトデータを一時的に蓄積する。当該ライトデータには、ＩＪ記録ヘッド制御部１０９から取得される画素ごとに吐出済か否かの情報が含まれる。
【００４５】
図７は、本発明の実施の形態におけるテーブル管理部／データ加工部２０５が管理するテーブルの例を示す図である。テーブル管理部／データ蓄積部２０６は、図７に示されるテーブルＴ１の情報を管理する。なお、テーブルＴ１はブロックが３２個である場合を示している。
【００４６】
「ｅｎａｂｌｅ」は、当該ブロックの有効又は無効を示す。「ＴＴＬ（Time To Live）」は、当該ブロックの寿命を示す。例えば、当該寿命は、メモリを読み込み又は書き込む周期を１サイクルとして、としてもよい。「ｄｉｒｔｙ」は、メモリとデータ蓄積部とで値が異なることを示すフラグである。当該ブロックにライトデータが発生したときにフラグが立つ。「Ａｄｄｒ」は、当該ブロックのデータと対応するデータとが格納されたメモリ上のアドレスを示す。「Ｄａｔａ」は、メモリ１３上のデータをコピーして保持する。「ｄｉｒｔｙ」フラグが立つ場合、該当の位置を通ったと判断し、「Ｄａｔａ」に加工を加える。
【００４７】
図８は、本発明の実施の形態におけるヘッドの動きにより必要となるメモリアクセス量について説明するための図である。図８に示される「Ａ．第Ｎ番目の吐出時」は、第Ｎ番目の吐出時のヘッドの位置と、リードする必要のあるブロックを示したものである。ヘッドが８０１の位置にあるときに、薄い網掛けで塗られたブロックがアクセスの対象となる。図８に示される「Ｂ．第Ｎ＋１番目の吐出時」は、「Ａ．第Ｎ番目の吐出時」に対して第Ｎ＋１番目の吐出時のヘッドの位置と、追加でリードする必要のあるブロックを加えて示したものである。
【００４８】
第Ｎ＋１番目の吐出時、ヘッドが８０１の位置から８０２の位置に移動したものとする。新たにリードが必要となるブロックは８０３のブロックのみであるため、１周期前にリードしたメモリデータを、画像読み取り部１０５内に保持しておけばメモリアクセス回数を削減することが可能となる。内部メモリすなわちデータ蓄積部２０６に必要な容量は、「１回の吐出においてアクセスするブロック数の最大値＋次の吐出において追加でアクセスするブロック数の最大値」で与えられる。
【００４９】
なお、図８に示される「Ｂ．第Ｎ＋１番目の吐出時」において、８０４の領域は、第Ｎ＋１番目の吐出に使用していないため、当該データを破棄、もしくはメモリへ書き戻しすることで、開放可能である。
【００５０】
図９は、本発明の実施の形態におけるメモリライトを説明するためのフローチャートである。本発明の実施の形態において、ライトアクセスが発生するのはリードしたデータを書き換えて、同じアドレスに書き戻すものであるため、必ず直前に同じアドレスをリードしている。したがって、リードして実際吐出があったブロックに対してライトアクセスが発生する。当該ライトアクセス処理は、ブロックごとに実施される。
【００５１】
メモリにライト要求が発生すると、ステップＳ１０１において、テーブル管理部／データ加工部２０５は、吐出があったブロックのデータを印字済に加工する。続いて、ステップＳ１０１で加工したブロックのデータをデータ蓄積部２０６へ格納する。
【００５２】
ステップＳ１０３において、テーブル管理部／データ加工部２０５は、テーブルＴ１において、当該ブロックの寿命ＴＴＬを設定し、ｄｉｒｔｙフラグをＯＮにする。
【００５３】
ＴＴＬはブロックの寿命であり、例えば、ライト発生後、当該ブロックに２サイクル以上ライトアクセスが発生しなければ、当該ブロックのデータをメモリに書き戻し、さらに２サイクル以上アクセスが発生しなければそのブロックを破棄するように設定をする。
【００５４】
ＩＪ記録ヘッド制御部１０９は、印字済に加工されたブロックに対しては、インクの吐出を行わない。なお、吐出目標位置単位、すなわち１画素単位で、打ち残しがあっても再度吐出しないためには、上記の処理をブロック単位ではなく吐出目標位置（１画素）単位で実施する。
【００５５】
図１０は、本発明の実施の形態におけるデータ加工方法の例（１）を説明するためのフローチャートである。元画像データとは印字前の画像データのことで、図１０の処理はブロックごとに実施される。
【００５６】
ステップＳ２０１において、テーブル管理部／データ加工部２０５は、元画像データのブロック内の吐出予定データの画素数ａを計算する。続いて、テーブル管理部／データ加工部２０５は、吐出後に、当該ブロックで吐出していない残吐出データの画素数であるｂを計算する。
【００５７】
テーブル管理部／データ加工部２０５は、ステップＳ２０１で求められたａと、ステップＳ２０２で求められたｂから、残吐出の画素数の比率ｂ／ａが、所定の閾値ｃより小か否か（ｂ／ａ＜ｃ）を判定する（Ｓ２０３）。閾値ｃは、任意に設定される。閾値ｃの値で吐出データを残す／残さないが決定されるため、ｃの値は十分な評価の上決定されることが望ましい。
【００５８】
ステップＳ２０３の判定により、テーブル管理部／データ加工部２０５は、ほとんど吐出されていないブロックのデータを印字済みとしてしまうことを防ぐ。
【００５９】
ステップＳ２０３の判定でＹＥＳの場合、テーブル管理部／データ加工部２０５は、当該ブロックにおいて吐出データが多く残吐出データが少ないと判定し、当該ブロック内のデータを全て印字済みにしてデータ蓄積部２０６に格納する（Ｓ２０４）。
【００６０】
ステップＳ２０３の判定でＮＯの場合、テーブル管理部／データ加工部２０５は、当該ブロックにおいて吐出データが少ないと判定し、当該ブロック内のデータを吐出後の画像データのまま変更せずにデータ蓄積部２０６に格納する。
【００６１】
図１１は、本発明の実施の形態におけるヘッドの走査による１ブロック内の残画データを説明するための図である。図１１では、画像データの１ブロックを示しており、ブロック内の１マスが１画素を示している。ここでは、１ブロックの画素数が１６×１６画素の場合を例としている。
【００６２】
「残画データ」の発生は、画像読み取り部１０５が通過する領域内で吐出すべき画像データ（モノクロの場合黒のデータ）を吐出しないと判定した場合に発生する。画像読み取り部１０５は、画像データの物理的な配置に対してタイミングが合った画素を吐出、タイミングが合わなかった画素を否吐出と判定する。画像データの物理的な配置に対して、走査速度が速い場合又は吐出周期が遅い場合、吐出タイミングが合わないため否吐出と判定するので、「残画データ」が発生する。
【００６３】
図１１のＡでは、印字前の画像データの１ブロックを示しており、ヘッド通過領域に矢印の方向にヘッドが動いた後の吐出残しのイメージを図１１のＢに示す。
【００６４】
図１１に示されるようにｘ方向に走査する場合、図１１のＢのように１ブロック内における上部と下部で打ち残しの割合が違うことが分かる。
【００６５】
そこで、図１１のＡの画像データと図１１のＢのデータとを行ごとにデータの比較を行うことで、図１１のＣのように、走査方向に対応する打ち残しのみを削除することができる（詳細は後述）。
【００６６】
なお、この例では主に走査する方向をｘ方向に想定しているが、ｙ方向を想定している場合、列ごとに同様の処理を行うことでｘ方向と同様の処理が可能である。
【００６７】
図１２は、本発明の実施の形態におけるデータ加工方法の例（２）を説明するためのフローチャートである。図１２の処理は、ブロックごとに実施され、１ブロックは、（Ｎ＋１）行から構成されるとする。例えば、図１１の例では、Ｎ＝１５である。
【００６８】
ステップＳ３０１において、ブロック内における行（又は列）を示す変数ｎを０とする。以下、「行」は、「列」と置き換えることが可能である。
【００６９】
ステップＳ３０２において、テーブル管理部／データ加工部２０５は、元画像データの吐出予定の画素数ａ［ｎ］をｎ行目について計算する。続いて、テーブル管理部／データ加工部２０５は、同一ブロックで吐出していない残吐出データの画素数ｂ［ｎ］をｎ行目について計算する（Ｓ３０３）。
【００７０】
テーブル管理部／データ加工部２０５は、ステップＳ３０２で求められたａ［ｎ］と、ステップＳ３０３で求められたｂ［ｎ］から、残吐出の画素数の比率ｂ［ｎ］／ａ［ｎ］が、所定の閾値ｃより小か否か（ｂ［ｎ］／ａ［ｎ］＜ｃ）を判定する（Ｓ３０５）。閾値ｃは、任意に設定される。図１０の場合と同様に、閾値ｃの値で吐出データを残す／残さないが決定されるため、ｃの値は十分な評価の上決定されることが望ましい。
【００７１】
ステップＳ３０４の判定により、テーブル管理部／データ加工部２０５は、ほとんど吐出されていない行のデータを印字済みとしてしまうことを防ぐ。
【００７２】
ステップＳ３０４の判定でＹＥＳの場合、テーブル管理部／データ加工部２０５は、ｎ行目において吐出データが多く残吐出データが少ないと判定し、ｎ行目のデータを全て印字済みにしてデータ蓄積部２０６に格納して（Ｓ３０５）、ステップＳ３０６に進む。
【００７３】
ステップＳ３０４の判定でＮＯの場合、テーブル管理部／データ加工部２０５は、ｎ行目において吐出データが少ないと判定し、ｎ行目のデータを吐出後の画像データのまま変更せずにデータ蓄積部２０６に格納して、ステップＳ３０６に進む。
【００７４】
ステップＳ３０６において、テーブル管理部／データ加工部２０５は、ｎ＝Ｎであるか否か、すなわち現在の行が最後の行であるかを判定する。ｎ＝Ｎでない場合（ステップＳ３０６のＮＯ）、ステップＳ３０７に進み、ｎ＝ｎ＋１、すなわち次の行の処理に移行してステップＳ３０２に進む。ｎ＝Ｎである場合（ステップＳ３０６のＹＥＳ）、ブロックの行すべての処理が完了しているためフローを終了する。
【００７５】
図１３は、本発明の実施の形態における画像データのメモリ配置について説明するための図である。本発明の実施の形態におけるハンドヘルドプリンタ１０では、図１３に示されるように、メモリアクセス効率を改善するために、予めメモリ配置をブロック単位にしておく。図１３においては、画像データを縦・横それぞれ複数の画素を含んだブロックごとにメモリに配置する。
【００７６】
ブロックごとにメモリに配置することで、近接する画像データを一度のメモリアクセスで読み出すことができ、メモリアクセス効率を向上させることができる。各ブロックの形状は、例えば、１６×１６画素など、正方形に近い方が望ましい。例えば、横長のブロックでは、ヘッドが横向きの配置では高効率だが、縦向きの配置ではアクセス回数が増え、効率が悪くなるためである。
【００７７】
また、各ブロックのサイズと画像データの先頭アドレスをアラインメントすることで、１ブロックの画像データを１回のメモリアクセスで実現するように配置して、メモリアクセス効率を向上させることが好ましい。
【００７８】
上述のように、本発明の実施の形態によれば、ハンドヘルドプリンタ１０は、ブロックごと、あるいは画素ごと、あるいは行又は列ごとに、１度走査した位置の画像データを、印字済に設定してメモリに格納することで、同一の位置を２度目以降に走査した場合に、当該ブロック、あるいは画素、あるいは当該行または列に対して、インクの吐出を防ぐことができる。したがって、ハンドヘルドプリンタのフリーハンド走査において、ハンドヘルドプリンタが印刷媒体の同一位置を複数回走査する場合であっても、印刷品位を維持することができる。
【００７９】
なお、本発明の実施の形態において、ハンドヘルドプリンタ１０は、液滴吐出装置の一例である。ＩＪ記録ヘッド１９は、ヘッドの一例である。ナビゲーションセンサ１８及びジャイロセンサ１７は、センサの一例である。位置算出部１０２は、総移動量算出部の一例である。画像読み取り部１０５及びＩＪ記録ヘッド制御部１０９は、吐出制御部の一例である。画像読み取り部１０５は、加工部の一例である。正方形又は横長のブロックは、矩形の一例である。
【００８０】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８１】
１０          ハンドヘルドプリンタ
１１          電源
１２          電源回路
１３          メモリ
１４          制御部
１５          ＩＪ記録ヘッド駆動回路
１６          画像データ通信Ｉ／Ｆ
１７          ジャイロセンサ
１８          ナビゲーションセンサ
１９          ＯＰＵ
２０          ＩＪ記録ヘッド
１０１        ＣＰＵ
１０２        位置算出部
１０３        メモリ制御部
１０４        割り込み通知部
１０５        画像読み取り部
１０６        ジャイロセンサＩ／Ｆ
１０７        ナビゲーションセンサＩ／Ｆ
１０８        印字／センサタイミング生成部
１０９        ＩＪ記録ヘッド制御部
２０１        ＣＰＵ  Ｉ／Ｆ
２０２        ノズル位置生成部
２０３        アドレス生成部
２０４        出力Ｉ／Ｆ
２０５        テーブル管理部／データ加工部
２０６        データ蓄積部
【先行技術文献】
【特許文献】
【００８２】
【特許文献１】特開２０１６−０６０１０３号公報
【図１】
2019069524.tif 000003
【図２】
2019069524.tif 000004
【図３】
2019069524.tif 000005
【図４】
2019069524.tif 000006
【図５】
2019069524.tif 000007
【図６】
2019069524.tif 000008
【図７】
2019069524.tif 000009
【図８】
2019069524.tif 000010
【図９】
2019069524.tif 000011
【図１０】
2019069524.tif 000012
【図１１】
2019069524.tif 000013
【図１２】
2019069524.tif 000014
【図１３】
2019069524.tif 000015