(57)【要約】【課題】印字前の空吐出を行わずに印字の可読性を確保することができる画像記録装置、画像記録方法およびプログラムを提供する。【解決手段】記録ヘッドの複数のノズルからインクを吐出して画像を印字媒体に印字する画像記録装置であって、各ノズルの位置がインクを吐出すべき位置か否かを判定する第１判定部と、第１判定部によりインクを吐出すべき位置と判定されたノズルについて、連続吐出動作が必要か否かを判定する第２判定部と、第２判定部により連続吐出動作が必要と判定されたノズルから、吐出すべき位置に所定の連続吐出回数だけインクを連続して吐出させる印字制御部と、を備える。【選択図】図１０
2020124868.tif 000002
【特許請求の範囲】
【請求項１】
記録ヘッドの複数のノズルからインクを吐出して画像を印字媒体に印字する画像記録装置であって、
前記各ノズルの位置がインクを吐出すべき位置か否かを判定する第１判定部と、
前記第１判定部によりインクを吐出すべき位置と判定された前記ノズルについて、連続吐出動作が必要か否かを判定する第２判定部と、
前記第２判定部により前記連続吐出動作が必要と判定された前記ノズルから、前記吐出すべき位置に所定の連続吐出回数だけインクを連続して吐出させる印字制御部と、
を備えた画像記録装置。
【請求項２】
前記第２判定部は、前記吐出すべき位置の前記ノズルからインクが吐出された回数が、所定の閾値未満である場合に、前記連続吐出動作が必要であると判定する請求項１に記載の画像記録装置。
【請求項３】
前記印字制御部は、前記吐出すべき位置の前記ノズルについて、前記第２判定部によりインクが吐出された回数が前記所定の閾値に達するまで、前記連続吐出動作を繰り返す請求項２に記載の画像記録装置。
【請求項４】
前記所定の閾値は、設定可能である請求項２または３に記載の画像記録装置。
【請求項５】
前記連続吐出動作での前記連続吐出回数は、可変である請求項１〜４のいずれか一項に記載の画像記録装置。
【請求項６】
前記記録ヘッドによる印字動作が終了した時点からの経過時間に基づいて前記連続吐出回数を決定する決定部を、さらに備えた請求項５に記載の画像記録装置。
【請求項７】
外部機器から印字データを取得するデータ取得部と、
前記データ取得部が前記印字データを取得した時点からの経過時間に基づいて前記連続吐出回数を決定する決定部と、
をさらに備えた請求項５に記載の画像記録装置。
【請求項８】
前記各ノズルがキャップによりキャッピングされているか否かを検知する検知部を、さらに備え、
前記決定部は、前記検知部により検知されるキャッピングの状態に応じた前記経過時間に基づいて前記連続吐出回数を決定する請求項６または７に記載の画像記録装置。
【請求項９】
前記画像記録装置が利用される環境の温度および湿度を検知する温湿度センサから該温度および湿度の情報を取得する温湿度取得部を、さらに備え、
前記決定部は、さらに、前記温湿度取得部により取得された温度および湿度の情報に基づいて前記連続吐出回数を決定する請求項６または７に記載の画像記録装置。
【請求項１０】
記録ヘッドの複数のノズルからインクを吐出して画像を印字媒体に印字する画像記録方法であって、
前記各ノズルの位置がインクを吐出すべき位置か否かを判定する第１判定ステップと、
インクを吐出すべき位置と判定した前記ノズルについて、連続吐出動作が必要か否かを判定する第２判定ステップと、
前記連続吐出動作が必要と判定した前記ノズルから、前記吐出すべき位置に所定の連続吐出回数だけインクを連続して吐出させる印字制御ステップと、
を有する画像記録方法。
【請求項１１】
コンピュータに、
インクを吐出して画像を印字媒体に印字する記録ヘッドの複数のノズルの位置がインクを吐出すべき位置か否かを判定する第１判定ステップと、
インクを吐出すべき位置と判定した前記ノズルについて、連続吐出動作が必要か否かを判定する第２判定ステップと、
前記連続吐出動作が必要と判定した前記ノズルから、前記吐出すべき位置に所定の連続吐出回数だけインクを連続して吐出させる印字制御ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像記録装置、画像記録方法およびプログラムに関する。
【背景技術】
【０００２】
昨今、ノートＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）の小型化、およびスマートフォンに代表されるスマートデバイスの急激な普及により、プリンタにおいても、小型化および携帯化が大きな要望の一つとして挙げられており、紙搬送機構を削除し、紙等の印字媒体上を人の手で走査しながらインクを塗布するハンドヘルドプリンタが既に知られている。ハンドヘルドプリンタは、画像データ出力する機器（例えば、スマートフォン等のスマートデバイスまたはＰＣ等）から画像データを受信し、印字媒体（例えば、ノートまたは定型用紙等）上を平面状に自由に（フリーハンドで）走査し、画像を形成（記録）する。
【０００３】
一般的なインクジェットプリンタは、インクジェットヘッドのノズル表面の乾燥度合いによりインクが固着し、ノズル詰まりが起こるため、印字開始時にインクが吐出しない場合がある。そこで、ノズルに保湿キャップを付ける場合も多いが、印字開始時のみ保湿キャップを外す構成だとしても、必ずしも詰まりを防げるわけではない。通常のシリアル型プリンタでは、この問題を解決するため、印字前に空吐出を実施している。すなわち、インクを廃液タンク内に吐出して予め詰まりを解消しておき、印字媒体上には正常に吐出できるようにする処置を実施している。
【０００４】
上述のような、ノズルの詰まりを解消するためのハンドヘルドプリンタとして、インクジェットキャップと、ノズルをワイピングするワイパとを備えるものが開示されている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載されたハンドヘルドプリンタでは、ノズル詰まりを完全に解消することができず、かつ、ワイピングするためにユーザによる印字前操作が必要になるという手間が発生する問題がある。また、通常のシリアル型プリンタと同様に、自動で空吐出を行うと、印字媒体上にインクを捨てることになり、印字媒体に不要な線が形成されてしまうという問題もある。さらに、ユーザが印字媒体以外の場所（例えば不要な紙の上等）で、ノズル詰まりを解消するために空吐出操作を行うものとした場合、ユーザによる印字前操作が増えることになり使い勝手が悪くなるという問題もある。
【０００６】
本発明は、上述の問題点に鑑みてなされたものであって、印字前の空吐出を行わずに印字の可読性を確保することができる画像記録装置、画像記録方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、記録ヘッドの複数のノズルからインクを吐出して画像を印字媒体に印字する画像記録装置であって、前記各ノズルの位置がインクを吐出すべき位置か否かを判定する第１判定部と、前記第１判定部によりインクを吐出すべき位置と判定された前記ノズルについて、連続吐出動作が必要か否かを判定する第２判定部と、前記第２判定部により前記連続吐出動作が必要と判定された前記ノズルから、前記吐出すべき位置に所定の連続吐出回数だけインクを連続して吐出させる印字制御部と、を備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、印字前の空吐出を行わずに印字の可読性を確保することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係るハンドヘルドプリンタの外観斜視図である。
【図２】図２は、実施形態に係るハンドヘルドプリンタを用いた印字走査の状態を説明する図である。
【図３】図３は、実施形態に係るハンドヘルドプリンタのハードウェア構成の一例を示す図である。
【図４】図４は、実施形態に係るハンドヘルドプリンタの制御部の構成の一例を示す図である。
【図５】図５は、実施形態に係るハンドヘルドプリンタのナビゲーションセンサの位置を算出する方法の一例を示す図である。
【図６】図６は、実施形態に係るハンドヘルドプリンタの印字動作の概要を説明する図である。
【図７】図７は、実施形態に係るハンドヘルドプリンタでの連続吐出動作を説明する図である。
【図８】図８は、実施形態に係るハンドヘルドプリンタの吐出周期を示すタイムチャートである。
【図９】図９は、前回印字後からの経過時間と抜けノズル数との相関の一例を示すグラフである。
【図１０】図１０は、実施形態に係るハンドヘルドプリンタの機能ブロックの構成の一例を示す図である。
【図１１】図１１は、実施形態に係るハンドヘルドプリンタの印字動作の一例を示すフローチャートである。
【図１２】図１２は、実施形態の変形例に係るハンドヘルドプリンタのハードウェア構成の一例を示す図である。
【図１３】図１３は、実施形態の変形例に係るハンドヘルドプリンタの制御部の構成の一例を示す図である。
【図１４】図１４は、実施形態の変形例に係るハンドヘルドプリンタの機能ブロックの構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、図１〜図１４を参照しながら、本発明に係る画像記録装置、画像記録方法およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【００１１】
（ハンドヘルドプリンタの外観構成）
図１は、実施形態に係るハンドヘルドプリンタの外観斜視図である。図１を参照しながら、本実施形態に係るハンドヘルドプリンタ１の外観構成について説明する。
【００１２】
図１（ａ）に示すように、ハンドヘルドプリンタ１は、上部ユニット２と、下部ユニット３と、を備えている。
【００１３】
上部ユニット２は、内部に制御ボードを搭載しており、上面には、各種操作を行うための操作ボタン５、および、ハンドヘルドプリンタ１の動作状態等を表示するＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）８を有する。
【００１４】
操作ボタン５は、通常の印字動作等の操作を行うためのボタンである。ＬＥＤ８は、ハンドヘルドプリンタ１の動作状態として、例えば、通常の印字動作中である旨、および、画像データを受信中である旨等を表示する発光素子である。
【００１５】
下部ユニット３は、インクを吐出する記録ヘッド（後述）を搭載している。また、下部ユニット３は、さらに、ハンドヘルドプリンタ１の本体を左右方向（走査方向）への移動を補助するガイドコロ４と、一方側の側面に設けられたガイド部材７と、を備えている。
【００１６】
ガイド部材７は、印字動作時に、印字媒体上で印字される領域を把握するための部材である。図１（ａ）では、ガイド部材７は、側面から解放された状態が示されている。ガイド部材７を用いて印字される領域を把握するためには、図１（ａ）に示すような解放状態にしておき、使用しないときには、ヒンジとなっているガイド部材７の下方端を中心に回動させて本体の側面に収納させる。
【００１７】
また、ハンドヘルドプリンタ１は、図１（ｂ）に示すように、下部ユニット３の下面において開口された開口部６を有する。後述する記録ヘッドから吐出されたインクは、開口部６より用紙等の印字媒体上に至り、画像形成（画像記録）が行われる。図１（ｂ）に示すように、ガイド部材７は、開口部６の走査方向の延長線上に位置し、ハンドヘルドプリンタ１の長手方向のガイド部材７の幅Ｌは、開口部６の同方向の幅と略同一となっている。これによって、印字動作中に、ハンドヘルドプリンタ１を走査方向（ハンドヘルドプリンタ１の短手方向）に走査する場合、ガイド部材７の位置を目安に、印字領域を把握することができる。なお、ガイド部材７は、例えば、色が透明であるものとしてもよい。これによって、印字動作時に、解放状態のガイド部材７の下側にある印字媒体上の印字状態を確認することができる。
【００１８】
（ハンドヘルドプリンタによる印字走査）
図２は、実施形態に係るハンドヘルドプリンタを用いた印字走査の状態を説明する図である。図２を参照しながら、本実施形態に係るハンドヘルドプリンタ１を持ったユーザによるフリーハンドによる印字走査について説明する。
【００１９】
図２に示すように、ハンドヘルドプリンタ１は、まず、印字媒体２０へ印字するための画像データを、外部機器１０から受信する。ユーザは、ハンドヘルドプリンタ１の操作ボタン５を操作することによって、印字媒体２０上における初期位置を定めて、印字動作を開始する。ハンドヘルドプリンタ１は、印字媒体２０における初期位置が定められることによって、当該初期位置を基準として、画像データの印字媒体２０上の印字位置を把握することができる。さらに、ハンドヘルドプリンタ１は、後述するように、移動量を検出するナビゲーションセンサ、および角速度を検出するジャイロセンサを搭載しているので、初期位置からの自身の位置および姿勢を認識することが可能である。したがって、図２に示すように、ユーザがハンドヘルドプリンタ１を印字媒体２０上でフリーハンドにより走査を行った場合、ハンドヘルドプリンタ１は、ナビゲーションセンサおよびジャイロセンサからの位置および姿勢の情報に基づいて、記録ヘッドの各ノズルの位置を算出し続けるので、印字媒体２０上の各位置で、画像データのどの部分をどのノズルから印字すればよいかを特定することができる。よって、ユーザは、ハンドヘルドプリンタ１を印字媒体２０上でフリーハンドにより自由な方向に走査することによって、当該印字媒体２０上に画像データに基づく画像を印字することができる。
【００２０】
（ハンドヘルドプリンタのハードウェア構成）
図３は、実施形態に係るハンドヘルドプリンタのハードウェア構成の一例を示す図である。図４は、実施形態に係るハンドヘルドプリンタの制御部の構成の一例を示す図である。図３および図４を参照しながら、本実施形態に係るハンドヘルドプリンタ１のハードウェア構成について説明する。
【００２１】
本実施形態に係るハンドヘルドプリンタ１は、印字媒体２０に画像を形成する画像記録装置の一例である。ハンドヘルドプリンタ１は、制御部１０１によって全体の動作が制御される。図３に示すように、制御部１０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２ａ、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２ｂ、記録ヘッド駆動回路１０３、通信Ｉ／Ｆ１０５、ナビゲーションセンサ１０６ａ、ジャイロセンサ１０６ｂ、ＯＰＵ（Ｏｐｅｒａｔｉｏｎ  Ｐａｎｅｌ  Ｕｎｉｔ）１０７、およびキャッピング検知センサ１１０が電気的に接続されている。また、ハンドヘルドプリンタ１は、電力により駆動されるため、電源１０８と、電源回路１０９とを有している。電源回路１０９が生成する電力は、点線１０８ａで示す配線等により、制御部１０１、ＲＯＭ１０２ａ、ＤＲＡＭ１０２ｂ、記録ヘッド駆動回路１０３、記録ヘッド１０４、通信Ｉ／Ｆ１０５、ナビゲーションセンサ１０６ａ、ジャイロセンサ１０６ｂ、ＯＰＵ１０７、およびキャッピング検知センサ１１０に供給されている。
【００２２】
電源１０８は、主に電池（バッテリ）である。電源１０８は、太陽電池、商用電源（交流電源）、または燃料電池等である。電源回路１０９は、電源１０８が供給する電力をハンドヘルドプリンタ１の各部に分配する回路である。また、電源回路１０９は、電源１０８の電圧を各部に適した電圧に降圧または昇圧する。また、電源１０８が充電可能な電池である場合、電源回路１０９は、交流電源の接続を検出して電池の充電回路に接続し、電源１０８の充電を可能にする。
【００２３】
通信Ｉ／Ｆ１０５は、スマートフォンまたはＰＣ等の外部機器１０から画像データの受信等を行うインターフェースである。通信Ｉ／Ｆ１０５は、例えば無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、赤外線、３Ｇ（携帯電話）、またはＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）等の通信規格に対応したインターフェースである。また、通信Ｉ／Ｆ１０５は、このような無線通信の他、有線ＬＡＮ、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブル等を用いた有線通信に対応したインターフェースあってもよい。
【００２４】
ＲＯＭ１０２ａは、ハンドヘルドプリンタ１のハードウェア制御を行うファームウェア、記録ヘッド１０４の駆動波形データ（インクを吐出するための電圧変化を規定するデータ）、およびハンドヘルドプリンタ１の初期設定データ等を格納している不揮発性記憶装置である。
【００２５】
ＤＲＡＭ１０２ｂは、通信Ｉ／Ｆ１０５が受信した画像データを記憶したり、ＲＯＭ１０２ａから展開されたファームウェアを格納したりするために使用される揮発性記憶装置である。したがって、ＤＲＡＭ１０２ｂは、図４に示すＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１がファームウェアを実行する際のワークメモリとして使用される。
【００２６】
ナビゲーションセンサ１０６ａは、所定のサイクル時間ごとにハンドヘルドプリンタ１の移動量（ナビゲーションセンサ１０６ａ自身の移動量）を検出するセンサである。ナビゲーションセンサ１０６ａは、例えば、発光ダイオード（ＬＥＤ）またはレーザ等の光源と、印字媒体２０を撮像する撮像センサとを有している。ナビゲーションセンサ１０６ａは、ハンドヘルドプリンタ１が印字媒体２０上を走査されると、印字媒体２０の微小なエッジを次々に検出（撮像）し、エッジ間の距離を解析することで移動量を得る。本実施形態では、ナビゲーションセンサ１０６ａは、ハンドヘルドプリンタ１の底面に１つだけ搭載されている。なお、ナビゲーションセンサ１０６ａとして、さらに多軸の加速度センサを用いてもよく、ハンドヘルドプリンタ１は加速度センサのみでハンドヘルドプリンタ１の移動量を検出してもよい。
【００２７】
ジャイロセンサ１０６ｂは、印字媒体２０に垂直な軸を中心にハンドヘルドプリンタ１が回転した際の角速度を検出するセンサである。詳細は後述する。
【００２８】
キャッピング検知センサ１１０は、ハンドヘルドプリンタ１の記録ヘッド１０４のノズル部に保湿キャップによりキャッピングされているか否かを検知するセンサである。
【００２９】
ＯＰＵ１０７は、ハンドヘルドプリンタ１の状態を表示するＬＥＤ、およびユーザがハンドヘルドプリンタ１に画像形成を指示するためのスイッチ等を有した操作表示部である。ＯＰＵ１０７は、例えば図１に示す操作ボタン５およびＬＥＤ８に対応する。なお、これに限定するものではなく、ＯＰＵ１０７は、液晶ディスプレイを有しており、さらにタッチパネルを有していてもよい。また、ＯＰＵ１０７は、音声入力機能を有していてもよい。
【００３０】
記録ヘッド駆動回路１０３は、上述の駆動波形データを用いて、記録ヘッド１０４を駆動するための駆動波形（電圧）を生成する駆動回路である。記録ヘッド駆動回路１０３は、インクの液滴のサイズ等に応じた駆動波形を生成する。
【００３１】
記録ヘッド１０４は、インクを吐出するためのヘッドである。なお、図３に示す例では、ＣＭＹＫの４色のインクを吐出可能になっているが、単色でもよく５色以上の吐出が可能でもよい。記録ヘッド１０４は、色ごとに一列（二列以上でもよい）に列状に並んだ複数のインク吐出用のノズルが配置されている。また、インクの吐出方式は、ピエゾ方式でもサーマル方式でもよく、その他の方式でもよい。記録ヘッド１０４は、ノズルから液体を吐出・噴射する機能部品である。吐出される液体は、記録ヘッド１０４から吐出可能な粘度および表面張力を有するものであればよく、特に限定されないが、常温、常圧下において、または加熱、冷却により粘度が３０［ｍＰａ・ｓ］以下となるものであることが好ましい。より具体的には、水や有機溶媒等の溶媒、染料や顔料等の着色剤、重合性化合物、樹脂、界面活性剤等の機能性付与材料、ＤＮＡ、アミノ酸やたんぱく質、カルシウム等の生体適合材料、天然色素等の可食材料、等を含む溶液、懸濁液、エマルジョン等であり、これらは例えば、インクジェット用インク、表面処理液、電子素子や発光素子の構成要素や電子回路レジストパターンの形成用液、３次元造形用材料液等の用途で用いることができる。
【００３２】
制御部１０１は、図４に示すＣＰＵ３１を有し、ハンドヘルドプリンタ１の全体を制御する制御基板である。制御部１０１は、ナビゲーションセンサ１０６ａにより検出される移動量およびジャイロセンサ１０６ｂにより検出される角速度を基に、記録ヘッド１０４の各ノズルの位置、該位置に応じて形成する画像の決定、後述する吐出条件を満たすか否かの判定等を行う。制御部１０１についての詳細は、図４で後述する。
【００３３】
制御部１０１は、図４に示すように、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）５０と、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）／ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）６０と、を有している。ＳｏＣ５０およびＡＳＩＣ／ＦＰＧＡ６０は、バス５１、６１を介して通信する。ＡＳＩＣ／ＦＰＧＡ６０は、ＡＳＩＣまたはＦＰＧＡどちらの実装技術で設計されてもよいことを意味し、ＡＳＩＣ／ＦＰＧＡ６０以外の他の実装技術で構成されてよい。また、ＳｏＣ５０とＡＳＩＣ／ＦＰＧＡ６０とを別のチップにすることなく１つのチップまたは基板で構成してもよい。または、ＳｏＣ５０およびＡＳＩＣ／ＦＰＧＡ６０は、３つ以上のチップまたは基板で実装してもよい。
【００３４】
ＳｏＣ５０は、バス５１を介して接続されたＣＰＵ３１、位置算出回路３２、メモリＣＴＬ（コントローラ）３３、ＲＯＭ  ＣＴＬ（コントローラ）３４、およびＧＰＩＯ（Ｇｅｎｅｒａｌ−Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）３５等の機能を有している。なお、ＳｏＣ５０が有する構成要素は、これらに限定されない。
【００３５】
ＡＳＩＣ／ＦＰＧＡ６０は、バス６１を介して接続されたＩｍａｇｅ  ＲＡＭ４１、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）４２、回転器４３、割込みコントローラ４４、ナビゲーションセンサＩ／Ｆ４５、印字／センサタイミング生成部４６、記録ヘッド制御部４７、ジャイロセンサＩ／Ｆ４８、および連続吐出処理部４９を有している。なお、ＡＳＩＣ／ＦＰＧＡ６０が有する構成要素は、これらに限定されない。
【００３６】
ＣＰＵ３１は、ＲＯＭ１０２ａからＤＲＡＭ１０２ｂに展開されたファームウェア（プログラム）等を実行し、ＳｏＣ５０内の位置算出回路３２、メモリＣＴＬ３３、ＲＯＭ  ＣＴＬ３４、およびＧＰＩＯ３５の動作を制御する演算装置である。また、ＣＰＵ３１は、ＡＳＩＣ／ＦＰＧＡ６０内のＩｍａｇｅ  ＲＡＭ４１、ＤＭＡＣ４２、回転器４３、割込みコントローラ４４、ナビゲーションセンサＩ／Ｆ４５、印字／センサタイミング生成部４６、記録ヘッド制御部４７、ジャイロセンサＩ／Ｆ４８、および連続吐出処理部４９等の動作を制御する。
【００３７】
位置算出回路３２は、ナビゲーションセンサ１０６ａが検出するサンプリング周期ごとの移動量、およびジャイロセンサ１０６ｂが検出するサンプリング周期ごとの角速度に基づいてハンドヘルドプリンタ１の位置（座標情報）および姿勢を算出する演算回路である。ハンドヘルドプリンタ１の位置とは、厳密にはノズルの位置であり、ナビゲーションセンサ１０６ａのある位置が分かればノズルの位置を算出できる。また、位置算出回路３２は、目標吐出位置を算出する。なお、位置算出回路３２は、ハードウェア回路として実現されることに限定されるものではなく、ＣＰＵ３１により動作プログラムが実行されることによって位置算出回路３２の機能が実現されるものとしてもよい。
【００３８】
ナビゲーションセンサ１０６ａの位置は、後述するように、例えば所定の原点（画像記録（画像形成）が開始される時のハンドヘルドプリンタ１の初期位置）を基準に算出される。また、位置算出回路３２は、過去の位置と最も新しい位置との差に基づいて、移動方向および速度を推定し、例えば次回の吐出タイミングにおけるナビゲーションセンサ１０６ａの位置を予測する。こうすることで、ユーザの走査に対する遅れを抑制してインクを吐出できる。
【００３９】
メモリＣＴＬ３３は、ＤＲＡＭ１０２ｂとのインターフェースであり、ＤＲＡＭ１０２ｂに対しデータを要求し、取得したファームウェアをＣＰＵ３１に送出したり、取得した画像データをＡＳＩＣ／ＦＰＧＡ６０に送出したりする。
【００４０】
ＲＯＭ  ＣＴＬ３４は、ＲＯＭ１０２ａとのインターフェースであり、ＲＯＭ１０２ａに対しデータを要求し、取得したデータをＣＰＵ３１およびＡＳＩＣ／ＦＰＧＡ６０に送出する。
【００４１】
ＧＰＩＯ３５は、キャッピング検知センサ１１０とのインターフェースである。ＧＰＩＯ３５は、例えば、キャッピング検知センサ１１０により記録ヘッド１０４のノズル部に保湿キャップがキャッピングされていることが検知された場合、その検知信号を受信する。
【００４２】
Ｉｍａｇｅ  ＲＡＭ４１は、ＤＭＡＣ４２が取得した画像データを一時的に格納する記憶装置である。すなわち、Ｉｍａｇｅ  ＲＡＭ４１には、ある程度の画像データがバッファリングされ、ハンドヘルドプリンタ１の位置に応じて読み出される。
【００４３】
回転器４３は、ＤＭＡＣ４２が取得した画像データを、インクを吐出する記録ヘッド１０４、記録ヘッド１０４内のノズル位置、および、取り付け誤差等によるヘッド傾きに応じて回転させる演算回路である。ＤＭＡＣ４２は、回転後の画像データを記録ヘッド制御部４７へ出力するコントローラである。
【００４４】
連続吐出処理部４９は、後述するように、記録ヘッド１０４にノズルからインクを吐出するための吐出条件を満たす場合であって、当該ノズルから連続吐出を行う場合に、印字／センサタイミング生成部４６から出力される吐出タイミングに従って、記録ヘッド制御部４７に当該ノズルから連続吐出動作を実行させる処理回路である。なお、図４に示すように、連続吐出処理部４９は、独立したハードウェア回路として設けられているものとしているが、これに限られず、例えば、記録ヘッド制御部４７に含まれるものとしてもよい。
【００４５】
記録ヘッド制御部４７は、画像データ（ビットマップデータ）にディザ処理等を施して大きさおよび密度で画像を表す点の集合に画像データを変換する制御回路である。これにより、画像データは、吐出位置と点のサイズのデータとなる。記録ヘッド制御部４７は、点のサイズに応じた制御信号を記録ヘッド駆動回路１０３に出力する。記録ヘッド駆動回路１０３は、上述のように制御信号に対応した駆動波形データを用いて、駆動波形（電圧）を生成する。
【００４６】
ナビゲーションセンサＩ／Ｆ４５は、ナビゲーションセンサ１０６ａと通信し、ナビゲーションセンサ１０６ａからの情報として移動量を受信し、その値を内部レジスタに格納するインターフェースである。
【００４７】
印字／センサタイミング生成部４６は、ナビゲーションセンサＩ／Ｆ４５およびジャイロセンサＩ／Ｆ４８が情報を読み取るタイミングを通知し、記録ヘッド制御部４７に駆動タイミングを通知する回路である。情報を読み取るタイミングの周期は、インクの吐出タイミングの周期よりも長い。記録ヘッド制御部４７は、吐出条件を満たすか否かの判定を行い、インクを吐出すべき目標吐出位置があればインクを吐出し、目標吐出位置がなければ吐出しないと判定する。
【００４８】
ジャイロセンサＩ／Ｆ４８は、印字／センサタイミング生成部４６により生成されたタイミングで、ジャイロセンサ１０６ｂが検出する角速度を取得してその値をレジスタに格納するインターフェースである。
【００４９】
割込みコントローラ４４は、ナビゲーションセンサＩ／Ｆ４５がナビゲーションセンサ１０６ａとの通信が完了したことを検知して、ＳｏＣ５０へそれを通知するための割込み信号を出力する。ＣＰＵ３１は、この割込みにより、ナビゲーションセンサＩ／Ｆ４５が内部レジスタに記憶する移動量を取得する。その他、エラー等のステータス通知機能も有する。ジャイロセンサＩ／Ｆ４８に関しても同様に、割込みコントローラ４４は、ＳｏＣ５０に対し、ジャイロセンサ１０６ｂとの通信が終了したことを通知するための割込み信号を出力する。
【００５０】
なお、図３および図４に示したハンドヘルドプリンタ１のハードウェア構成は一例を示すものであり、図３および図４に示した構成要素以外の構成要素を含むものとしてもよい。また、ＳｏＣ５０およびＡＳＩＣ／ＦＰＧＡ６０の各機能については、ＣＰＵ３１の性能、およびＡＳＩＣ／ＦＰＧＡ６０の回路規模等に応じて、いずれに振り分けてもよい。
【００５１】
（ノズル位置の算出方法）
図５は、実施形態に係るハンドヘルドプリンタのナビゲーションセンサの位置を算出する方法の一例を示す図である。図５を参照しながら、ナビゲーションセンサ１０６ａの位置を算出することによって記録ヘッド１０４のノズルの位置を求める動作について説明する。
【００５２】
図５に示すように、ハンドヘルドプリンタ１の記録ヘッド１０４に設置されているナビゲーションセンサ１０６ａの初期位置が（Ｘ０，Ｙ０）であるものとする。また、図５に示すように、記録ヘッド１０４の長手方向（例えばノズル列の列方向）が所定の基準方向から角度θを成しているものとする。
【００５３】
また、ジャイロセンサ１０６ｂによってハンドヘルドプリンタ１の角速度ωが検出される。この角速度ωは、ナビゲーションセンサ１０６ａの角速度とも捉えるができる。角速度ωは、下記の式（１）によって算出される。
【００５４】
【数１】
2020124868.tif 000003
【００５５】
ここで、式（１）のｄθを、上述の角度θについてのサンプリング周期ｄｔ毎の変動量とすると、変動量ｄθは、以下の式（２）で表される。
【００５６】
【数２】
2020124868.tif 000004
【００５７】
したがって、上述の初期位置が確定した時刻をｔ＝０とし、現在時刻をｔ＝Ｎとした場合、記録ヘッド１０４の現在の角度θは、以下の式（３）で算出される。
【００５８】
【数３】
2020124868.tif 000005
【００５９】
ここで、ωｔは、時刻ｔにおける角速度ωであることを示す。すなわち、位置算出回路３２は、ジャイロセンサ１０６ｂから検出された角速度ωから、ハンドヘルドプリンタ１の現在の姿勢としての角度θを、上述の式（３）から算出する。
【００６０】
また、上述の式（３）により算出された角度θを以下の式（４）に示すｄＸ０、ｄＹ０の式に代入することによって、移動（走査）後のナビゲーションセンサ１０６ａの位置（Ｘ０’、Ｙ０’）が算出される。
【００６１】
【数４】
2020124868.tif 000006
【００６２】
ここで、図５に示すように、ｄＸ０は、初期位置（Ｘ０，Ｙ０）からのＸ方向の変位であり、ｄＹ０は、当該初期位置からのＹ方向の変位である。また、ｄｙｓ０は、記録ヘッド１０４の長手方向での変位を示し、ｄｘｓ０は、当該長手方向に直交する方向での変位を示す。したがって、ナビゲーションセンサ１０６ａは、例えば、移動量として変位ｄｘｓ０、ｄｙｓ０を検出する。そして、位置算出回路３２は、算出した角度θと、ナビゲーションセンサ１０６ａにより検出された変位ｄｘｓ０、ｄｙｓ０とを用いることによって、上述の式（４）に示すように、移動（走査）後の変位ｄＸ０、ｄＹ０を算出する。さらに、位置算出回路３２は、上述の式（４）に示すように、初期位置（Ｘ０，Ｙ０）に、算出した変位ｄＸ０、ｄＹ０を加算することによって、移動（走査）後のナビゲーションセンサ１０６ａの位置（Ｘ０’、Ｙ０’）を算出することができる。
【００６３】
さらに、ナビゲーションセンサ１０６ａと、記録ヘッド１０４の各ノズルとの相対的な位置関係は既知であるので、位置算出回路３２は、算出したナビゲーションセンサ１０６ａの位置（Ｘ０’、Ｙ０’）から、各ノズルの位置を算出することができる。
【００６４】
（ハンドヘルドプリンタの連続吐出動作の概要）
図６は、実施形態に係るハンドヘルドプリンタの印字動作の概要を説明する図である。図７は、実施形態に係るハンドヘルドプリンタでの連続吐出動作を説明する図である。図６および図７を参照しながら、本実施形態に係るハンドヘルドプリンタ１の連続吐出動作について説明する。
【００６５】
図６（ａ）に示すように、画像データが示す文字「Ｈ」の画像を印字する場合を想定する。図６（ａ）に示す文字「Ｈ」を構成する各「○」および「●」は、記録ヘッド１０４のノズル１０４ａが吐出すべき吐出位置を示す。従来の吐出方法、すなわち、各吐出位置でノズル１０４ａから一度吐出する動作においては、ノズル１０４ａにノズル詰まりが発生している場合、当該吐出位置でノズル１０４ａから吐出動作を行ってもインクが吐出されない場合がある。このように、ノズル１０４ａの吐出不良のために、可読性が損なわれた状態の吐出位置を「○」で示し、数回の吐出動作によりノズル詰まりが解消されてインクの吐出が行われた吐出位置を「●」で示す。この結果、文字「Ｈ」の吐出開始部分（図６（ａ）に示す文字「Ｈ」の左端部分）では、ノズル詰まりのため正常にインクの吐出が行わなかったため、本来印字すべき画像は文字「Ｈ」であるはずのところ、文字「Ｈ」と読むことができない画像が印字され、可読性が損なわれた印字結果となる。
【００６６】
図６（ｂ）では、本実施形態に係るハンドヘルドプリンタ１により連続吐出動作が行われた場合を示している。本実施形態に係るハンドヘルドプリンタ１は、印字画像の吐出開始部分の同じ吐出位置で所定回数だけインクを連続的に吐出する連続吐出動作を行う。これによって、連続吐出動作の過程でインク詰まりが解消し、正常にインクの吐出が行われるようになる。その結果、図６（ｂ）に示すように、文字「Ｈ」の吐出開始部分の吐出位置での連続吐出動作の前半では吐出不良となるため、当該吐出位置での印字結果としては印字不良となるものの、吐出開始部分近傍でノズル詰まりが解消されるため、結果的に文字「Ｈ」の可読性を確保することができる。また、上述のように、同じ吐出位置でインクを連続的に吐出するとしたが、実際にはユーザによる走査によりハンドヘルドプリンタ１が移動しているため、図６（ｂ）の拡大図に示すように、連続吐出動作におけるインクの各ドットの位置はずれることになる。
【００６７】
また、上述の連続吐出動作における吐出の回数（連続吐出回数）は、ノズル１０４ａの状態（例えば、前回印字されてからどれだけ時間が経過したか等）に基づいて決定される。ここで、図７に、連続吐出回数をそれぞれ１、２、８、１６回とした場合に印字されるドット列の例を示す。図７に示す「○」は、インクの吐出動作をしない位置を示し、「●」は、インクの吐出動作をする位置を示す。したがって、ノズル詰まりが行っている場合、インクが実際に吐出されるとは限らないので、「●」は実際にインクが吐出される位置を示すわけではない。ただし、本実施形態に係るハンドヘルドプリンタ１において、同じ吐出位置でインクの連続吐出動作における連続吐出回数が多くなるほど、ノズル詰まりが解消される可能性が高くなる。なお、連続吐出回数の決定方法の詳細は、後述する。
【００６８】
図８は、実施形態に係るハンドヘルドプリンタの吐出周期を示すタイムチャートである。次に、図８に示すタイムチャートを参照しながら、本実施形態に係るハンドヘルドプリンタ１の連続吐出動作における各処理のタイミングについて説明する。
【００６９】
図８に示すように、印字／センサタイミング生成部４６は、ナビゲーションセンサＩ／Ｆ４５およびジャイロセンサＩ／Ｆ４８が、所定の制御周期ｔＥＮＧでそれぞれナビゲーションセンサ１０６ａおよびジャイロセンサ１０６ｂから情報（角速度、移動量）を読み取るためのタイミング信号ｔｉｍｇｅｎ＿ｔｉｍを生成する。
【００７０】
ナビゲーションセンサＩ／Ｆ４５は、印字／センサタイミング生成部４６からタイミング信号ｔｉｍｇｅｎ＿ｔｉｍを受け取ると、ナビゲーションセンサ１０６ａから移動量の情報を取得する処理（情報取得ＰＳＮＳ）を時間ｔＳＮＳで行う。また、ジャイロセンサＩ／Ｆ４８は、印字／センサタイミング生成部４６からタイミング信号ｔｉｍｇｅｎ＿ｔｉｍを受け取ると、ジャイロセンサ１０６ｂから角速度の情報を取得する処理（情報取得ＧＳＮＳ）を時間ｔＳＮＳで行う。ナビゲーションセンサＩ／Ｆ４５およびジャイロセンサＩ／Ｆ４８は、情報取得が完了すると完了信号ｐｓｎｓ＿ｄｏｎｅを発行する。なお、完了信号ｐｓｎｓ＿ｄｏｎｅは、ナビゲーションセンサＩ／Ｆ４５またはジャイロセンサＩ／Ｆ４８のうち少なくともいずれかにより発行されるものとしてもよい。
【００７１】
ナビゲーションセンサＩ／Ｆ４５およびジャイロセンサＩ／Ｆ４８により完了信号ｐｓｎｓ＿ｄｏｎｅが発行されると、割込みコントローラ４４は、ＳｏＣ５０へ割込み信号を出力する。ＳｏＣ５０の位置算出回路３２は、割込み信号を検知すると、ナビゲーションセンサＩ／Ｆ４５およびジャイロセンサＩ／Ｆ４８により取得された移動量および角速度（以下、「姿勢位置情報」と称する場合がある）から、記録ヘッド１０４の現在の各ノズルの姿勢および位置と、次（未来）の各ノズルの推定姿勢および推定位置とを演算し、求めた姿勢および位置の情報を、回転器４３のレジスタに設定する。回転器４３は、設定された姿勢位置情報に対応する各ノズルの周辺画像を、ＤＲＡＭ１０２ｂからＩｍａｇｅ  ＲＡＭ４１に転送する。記録ヘッド制御部４７は、吐出条件を満たす場合、印字／センサタイミング生成部４６により生成されるタイミング信号ｔｉｍｇｅｎ＿ｔｒｇに従って記録ヘッド１０４からインクの吐出を行うように記録ヘッド駆動回路１０３へ制御信号を出力する。この際、記録ヘッド制御部４７による制御信号に基づいて、記録ヘッド１０４から吐出動作は、推定された姿勢位置情報の演算タイミングから固定値である時間ｔＭＥＭ経過後に開始される。
【００７２】
また、吐出条件を満たし、かつ、連続吐出動作の開始条件を満たす場合、連続吐出処理部４９は、図８に示すように、通常の１回吐出の周期よりも短い記録周期ｔＪＥＴで生成されるタイミング信号ｔｉｍｇｅｎ＿ｔｒｇに従って、記録ヘッド制御部４７に記録ヘッド１０４からインクの連続吐出動作を行わせる。この記録周期ｔＪＥＴは、ユーザによるハンドヘルドプリンタ１の走査速度の最大値と画像の解像度とから設定され、通常の１回吐出の周期（例えば、図８に示す制御周期ｔＥＮＧ）よりも短い。したがって、記録周期ｔＪＥＴは、通常では、１回吐出の周期よりも短いため、記録周期ｔＪＥＴの間隔で出力されるタイミング信号ｔｉｍｇｅｎ＿ｔｒｇに基づくタイミングは、通常の動作では吐出不要にタイミングである。連続吐出動作では、通常では吐出不要であるタイミングを利用してインクの連続吐出が行われることになる。図８に示す例では、通常の１回吐出の周期（例えば、図８に示す制御周期ｔＥＮＧ）の間に、記録周期ｔＪＥＴが１０回（ＪＥＴ＿ＮＵＭ＝１０）含まれるので、通常の１回吐出の周期の間に、連続吐出動作による連続的なインクの吐出を１０回行うことができる。
【００７３】
（連続吐出回数の決定方法）
図９は、前回印字後からの経過時間と抜けノズル数との相関の一例を示すグラフである。図９を参照しながら、本実施形態に係るハンドヘルドプリンタ１での連続吐出動作におけるインクの吐出の回数（連続吐出回数）の決定方法について説明する。
【００７４】
記録ヘッドのノズル部分は、空気に触れている時間が長いほどインクが固まってしまうという性質がある。そのため、通常のシリアル型のインクジェットプリンタでは、印字動作終了後に保湿キャップによるキャッピングという制御を行う。ただし、キャッピングをしたとしても、ノズル部分のインクについて完全な吐出可能状態に保持することは実際上不可能であり、印字動作前に、固まったインクを除去するための空吐出を行う場合がある。
【００７５】
本実施形態に係るハンドヘルドプリンタ１は、ユーザにより印字媒体２０の上を走査されるプリンタであり、キャッピングの動作を実現するためのモータ等を搭載していないため、キャッピングはユーザ依存となる。すなわち、ハンドヘルドプリンタ１による印字動作を行わない場合は、保湿キャップが設置された台座等にハンドヘルドプリンタ１を設置することによって、手動で当該保湿キャップによるキャッピングを行う必要がある。
【００７６】
ここで、前回印字動作を行った後の経過時間と、印字動作を行った場合にノズル詰まりのために吐出できなかったドット（以下、抜けノズルと称する場合がある）の数との関係を、保湿キャップをしているか否かで比較したグラフを図９に示す。図９に示すように、前回印字動作を行った後の経過時間が長くなるほど、抜けノズルの数が増加することがわかる。また、保湿キャップをしない場合の方が、保湿キャップをしている場合と比較して、抜けノズルの発生数が際立って多くなるものの、保湿キャップをしている場合においても時間が経過するにつれて幾分抜けノズルの数が増加する傾向が現れている。
【００７７】
例えば、サーマルインクジェット方式のプリンタの場合、ノズル径またはインクの処方にも依存するが、保湿キャップをしている場合で１日放置すると抜けノズルの数は各ノズルで０〜６ドット程度となる。保湿キャップをしていない場合は、１分程度の経過時間で、保湿キャップが有る場合の１日の経過時間と同等の抜けノズルが発生してしまう場合もある。
【００７８】
そこで、本実施形態に係るハンドヘルドプリンタ１では、放置時間（経過時間）が長くなるに従いインクの連続吐出回数が多くなるように決定し、かつ、保湿キャップをしているか否かによって経過時間に重みを加えた経過時間を求めることによって連続吐出回数を決定する。例えば、本実施形態に係るハンドヘルドプリンタ１は、連続吐出回数を、以下の式（５）によって算出される経過時間Ｔｏｐに基づいて決定する。
【００７９】
Ｔｏｐ＝ｋ１×Ｔｏｐ＿ｃａｐ＋ｋ２×Ｔｏｐ＿ｄｅｃａｐ    ・・・（５）
【００８０】
式（５）において、Ｔｏｐ＿ｃａｐは、保湿キャップをしている状態での経過時間であり、Ｔｏｐ＿ｄｅｃａｐは、保湿キャップをしていない状態での経過時間である。また、ｋ１は、保湿キャップをしている状態での経過時間Ｔｏｐ＿ｃａｐに対する補正係数であり、ｋ２は、保湿キャップをしていない場合での経過時間Ｔｏｐ＿ｄｅｃａｐに対する補正係数である。ここで、上述の経過時間は、前回の印字動作が終了した時点からの経過時間としてもよく、または、ハンドヘルドプリンタ１が外部機器１０から印字対象となる画像データを受信してからの経過時間としてもよい。
【００８１】
この場合、補正係数ｋ２を、補正係数ｋ１よりも大きく設定することによって、経過時間Ｔｏｐ＿ｄｅｃａｐの経過時間Ｔｏｐに寄与する重みを大きくすることができる。例えば、ｋ１を１．０に設定し、ｋ２を２．０に設定する。このような補正係数を用いることによって、インクの種類および特性に応じた値を係数として用いることができる。
【００８２】
本実施形態に係るハンドヘルドプリンタ１は、上述の式（５）により算出された経過時間Ｔｏｐに基づいて、例えば、下記の（表１）に示すように連続吐出回数Ｖを求めればよい。
【００８３】
【表１】
2020124868.tif 000007
【００８４】
この（表１）において、例えば、時間閾値Ｔ１＝３０［ｓｅｃ］、Ｔ２＝６０［ｓｅｃ］、連続吐出回数Ｖ１＝４、Ｖ２＝７、Ｖ３＝１０のように設定すればよい。なお、補正係数ｋ１、ｋ２、時間閾値Ｔ１、Ｔ２、および連続吐出回数Ｖ１〜Ｖ３は、使用するインク、および記録ヘッド１０４の特性に従って、ユーザが例えば外部機器１０から任意に設定可能であってもよい。また、経過時間の区分は、（表１）に示すように３区分に限られるものではなく、２または４以上の区分であってもよい。
【００８５】
以上のように、上述の式（５）により算出される経過時間Ｔｏｐに基づいて、連続吐出回数を決定することにより、記録ヘッド１０４における各ノズルの詰まりを効果的に解消することが可能となり、ハンドヘルドプリンタ１は、ユーザが所望する画像を正常に印字することができる。
【００８６】
なお、上述のように、保湿キャップによるキャッピングの有無は、キャッピング検知センサ１１０により検知されるものであり、キャッピング検知センサ１１０としては、透過型もしくは反射型の光学センサ、保湿キャップに搭載された磁石等を検知する磁気センサ、または、物理的なプッシュ型のセンサ等のいずれであってもよい。
【００８７】
（ハンドヘルドプリンタの機能ブロックの構成）
図１０は、実施形態に係るハンドヘルドプリンタの機能ブロックの構成の一例を示す図である。図１０を参照しながら、本実施形態に係るハンドヘルドプリンタ１の機能ブロックの構成について説明する。
【００８８】
図１０に示すように、ハンドヘルドプリンタ１は、第１取得部２０１（データ取得部）と、タイミング生成部２０２と、第２取得部２０３と、姿勢位置算出部２０４と、第３取得部２０５と、第１判定部２０６と、第２判定部２０７と、印字制御部２０８と、カウンタ部２０９と、吐出回数決定部２１０（決定部）と、キャップ検知部２１１（検知部）と、通信部２２１と、操作部２２２と、表示制御部２２３と、表示部２２４と、記憶部２２５と、を有する。
【００８９】
第１取得部２０１は、外部機器１０からを介して、印刷ジョブ（画像データ）（印字データの一例）取得する機能部である。また、第１取得部２０１は、記憶部２２５に記憶された印刷ジョブ（画像データ）を取得するものとしてもよい。
【００９０】
タイミング生成部２０２は、第２取得部２０３による姿勢位置情報を取得するタイミングを示すタイミング信号を生成する機能部である。タイミング生成部２０２は、さらに、印字制御部２０８による記録ヘッド１０４の印字制御において、吐出タイミングを示すタイミング信号を生成する。タイミング生成部２０２は、図４に示す印字／センサタイミング生成部４６によって実現される。
【００９１】
第２取得部２０３は、ナビゲーションセンサ１０６ａおよびジャイロセンサ１０６ｂにより検出されたハンドヘルドプリンタ１の姿勢および位置に関する情報（姿勢位置情報）を取得する機能部である。第２取得部２０３は、図４に示すナビゲーションセンサＩ／Ｆ４５およびジャイロセンサＩ／Ｆ４８、ならびにＣＰＵ３１により実行される動作プログラムによって実現される。
【００９２】
姿勢位置算出部２０４は、第２取得部２０３により取得されたナビゲーションセンサ１０６ａおよびジャイロセンサ１０６ｂの姿勢位置情報から、記録ヘッド１０４の各ノズルの姿勢および位置を算出する機能部である。姿勢位置算出部２０４で各ノズルの姿勢および位置を算出することができるのは、ナビゲーションセンサ１０６ａと、各ノズルとの相対的な位置関係が既知であることによる。姿勢位置算出部２０４は、図４に示す位置算出回路３２によって実現される。
【００９３】
第３取得部２０５は、姿勢位置算出部２０４により算出されたノズルの位置に対応する、画像データにおける周辺画像を取得する機能部である。また、第３取得部２０５は、姿勢位置算出部２０４により算出されたノズルの姿勢（角度）に応じて、取得した周辺画像を回転させる。第３取得部２０５は、図４に示すＤＭＡＣ４２および回転器４３によって実現される。
【００９４】
第１判定部２０６は、印字される画像データ（周辺画像）の印字媒体２０上の印字位置と、姿勢位置算出部２０４により算出された記録ヘッド１０４の各ノズルの位置とを比較し、双方の位置が所定の条件（吐出条件）を満たすか否かを判定する機能部である。ここで、所定の条件（吐出条件）とは、例えば、双方の位置が一致したかどうか、または、双方の位置が一致しているとみなせるほど近接したかどうか等の条件である。第１判定部２０６は、図４に示す記録ヘッド制御部４７によって実現される。
【００９５】
第２判定部２０７は、記録ヘッド１０４が画像データに基づき印字動作を行う場合に、記録ヘッド１０４の各ノズルについて連続吐出動作が必要であるか否かを判定する機能部である。具体的には、例えば、第２判定部２０７は、カウンタ部２０９によりカウントされた記録ヘッド１０４の各ノズルの吐出回数が所定の閾値以上となったか否かを判定し、吐出回数が所定の閾値未満である場合、当該吐出回数に対応するノズルによる連続吐出動作が必要であると判定する。第２判定部２０７は、図４に示す連続吐出処理部４９によって実現される。
【００９６】
なお、上述の吐出回数についての所定の閾値は、例えば外部機器１０から任意に設定可能であってもよい。
【００９７】
印字制御部２０８は、記録ヘッド制御部４７および連続吐出処理部４９の動作を制御して、記録ヘッド１０４に印字動作を行わせる機能部である。また、印字制御部２０８は、印字される画像データの印字媒体２０上の印字位置と、記録ヘッド１０４の各ノズルの位置とが所定の条件を満たす場合、タイミング生成部２０２により生成される吐出タイミングを示すタイミング信号に従って、記録ヘッド１０４の対象ノズルからインクを吐出させるように制御する。
【００９８】
カウンタ部２０９は、記録ヘッド１０４のノズルごとの吐出回数をカウントする機能部である。すなわち、カウンタ部２０９によりカウントされる値は、記録ヘッド１０４のノズルごとに用意されているものとすればよい。カウンタ部２０９によりカウントされる吐出動作の回数は、例えば、記録ヘッド１０４の連続吐出動作における各吐出の回数であってもよく、または、連続吐出動作または通常の吐出動作（１回吐出）の区別なく各ノズルの吐出回数であってもよい。
【００９９】
吐出回数決定部２１０は、前回の印字動作が終了した時点からの経過時間を計測し、当該経過時間に基づいてハンドヘルドプリンタ１による連続吐出動作における連続吐出回数を決定する機能部である。なお、経過時間の求め方は、上述した通りであり、経過時間の起算点は、前回の印字動作の終了した時点に限られず、例えば、外部機器１０から印字対象となる画像データを受信した時点（第１取得部２０１により画像データを取得した時点）としてもよい。
【０１００】
キャップ検知部２１１は、キャッピング検知センサ１１０によりハンドヘルドプリンタ１の記録ヘッド１０４のノズル部に保湿キャップによりキャッピングされているか否かを示す検知信号を受信することによって当該保湿キャップの有無を検知する機能部である。
【０１０１】
通信部２２１は、外部機器１０との間でデータ通信を行うための機能部である。通信部２２１は、例えば、外部機器１０から、印刷ジョブ（画像データ）等を受信する。また、通信部２２１は、印字動作の動作状態の情報、現在の動作モードの情報、記録ヘッド１０４のインクの残量情報、およびハンドヘルドプリンタ１の異常を示す情報等を、外部機器１０へ送信する。通信部２２１は、例えば、図３に示す通信Ｉ／Ｆ１０５、および、ＣＰＵ３１により実行される動作プログラムによって実現される。
【０１０２】
操作部２２２は、ユーザの操作入力を受け付ける機能部である。操作部２２２は、図３に示すＯＰＵ１０７（操作ボタン５等）によって実現される。
【０１０３】
表示制御部２２３は、表示部２２４の表示動作を制御する機能部である。
【０１０４】
表示部２２４は、表示制御部２２３の制御に従って、ハンドヘルドプリンタ１の動作状態等を表示する機能部である。表示部２２４は、ハンドヘルドプリンタ１の動作状態として、例えば、通常の印字動作中である旨、および画像データを受信中である旨等を表示する。表示部２２４は、図３に示すＯＰＵ１０７（ＬＥＤ８等）によって実現される。
【０１０５】
記憶部２２５は、各種プログラム、各デバイスを制御するファームウェア、記録ヘッド１０４を駆動するための駆動波形データ、外部機器１０から受信した印刷ジョブ（画像データ）、および、各種設定値等を記憶する機能部である。記憶部２２５は、図３に示すＤＲＡＭ１０２ｂによって実現される。
【０１０６】
上述の第１取得部２０１、印字制御部２０８、カウンタ部２０９、吐出回数決定部２１０およびキャップ検知部２１１は、図３に示すＣＰＵ３１により実行される動作プログラムによって実現される。なお、これらの機能部の一部または全部は、ソフトウェアである動作プログラムではなく、ＡＳＩＣ／ＦＰＧＡ６０によって実現されるものとしてもよい。
【０１０７】
なお、図１０に示す各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図１０において独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図１０において１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【０１０８】
（ハンドヘルドプリンタの印字動作）
図１１は、実施形態に係るハンドヘルドプリンタの印字動作の一例を示すフローチャートである。図１１を参照しながら、本実施形態に係るハンドヘルドプリンタ１の印字動作の流れについて説明する。
【０１０９】
＜ステップＳ１０１＞
まず、ユーザは、ハンドヘルドプリンタ１の電源ボタンを押下する。なお、電源ボタンは、例えば、図１に示す操作ボタン５等である。そして、ステップＳ１０２へ移行する。
【０１１０】
＜ステップＳ１０２＞
ハンドヘルドプリンタ１の電源がオン状態となり、ハンドヘルドプリンタ１の各デバイスは、電源１０８から電源回路１０９を介して、電力供給される。そして、ステップＳ１０３へ移行する。
【０１１１】
＜ステップＳ１０３＞
制御部１０１、ナビゲーションセンサ１０６ａ、ジャイロセンサ１０６ｂおよびキャッピング検知センサ１１０等の各デバイスは、初期化を実行して立ち上げを行う。そして、ステップＳ１０４へ移行する。
【０１１２】
＜ステップＳ１０４＞
制御部１０１、ナビゲーションセンサ１０６ａ、ジャイロセンサ１０６ｂおよびキャッピング検知センサ１１０等の各デバイスの初期化が完了した場合（ステップＳ１０４：Ｙｅｓ）、ステップＳ１０５へ移行し、まだ初期化が完了していない場合（ステップＳ１０４：Ｎｏ）、完了するまで待機する。
【０１１３】
＜ステップＳ１０５＞
初期化が完了した場合、表示制御部２２３は、例えば、表示部２２４であるＬＥＤ８等を点灯させることによって、初期化が完了して印字動作が可能な状態であることを表示する。そして、ステップＳ１０８へ移行する。
【０１１４】
＜ステップＳ１０６、Ｓ１０７＞
ユーザは、外部機器１０を操作し、印字対象の画像データ（印字画像）（例えば、ＴＩＦＦ（Ｔａｇｇｅｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）形式のデータ、またはＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）形式のデータ等）を選択する。そして、ユーザは、選択した画像データ（印字画像）を印刷ジョブとして印字動作の実行操作を行う。そして、印刷ジョブは、外部機器１０からハンドヘルドプリンタ１へ送信される。そして、ステップＳ１０８へ移行する。
【０１１５】
＜ステップＳ１０８＞
通信部２２１によって外部機器１０から印刷ジョブ（印字画像、画像データ）が受信されている場合、表示制御部２２３は、例えば、表示部２２４であるＬＥＤ８等を点滅させることによって、印刷ジョブの受信状態であることを表示する。そして、第１取得部２０１は、通信部２２１により受信された印刷ジョブを取得する。そして、ステップＳ１１１へ移行する。
【０１１６】
＜ステップＳ１０９、Ｓ１１０＞
ユーザは、ハンドヘルドプリンタ１を把持し、印字媒体２０上で印字画像を印字するための初期位置を決定する。そして、ユーザは、操作部２２２への印字開始のための操作入力（例えば、印字開始に相当するボタンの押下）を行う。そして、ステップＳ１１１、およびＳ１１３へ移行する。
【０１１７】
＜ステップＳ１１１＞
第１取得部２０１により印刷ジョブが取得されると、第２取得部２０３は、ナビゲーションセンサ１０６ａおよびジャイロセンサ１０６ｂにより検出されたハンドヘルドプリンタ１の姿勢位置情報を取得する。そして、ステップＳ１１２へ移行する。
【０１１８】
＜ステップＳ１１２＞
姿勢位置算出部２０４は、第２取得部２０３により取得されたナビゲーションセンサ１０６ａおよびジャイロセンサ１０６ｂの姿勢位置情報から、記録ヘッド１０４の各ノズルの姿勢および位置を初期位置として算出し、記憶部２２５に格納する。そして、ステップＳ１１４へ移行する。
【０１１９】
＜ステップＳ１１３＞
ユーザは、ハンドヘルドプリンタ１を把持し、印字媒体２０上で印字画像を印字するための初期位置を決定した後、フリーハンドによる走査を開始する。
【０１２０】
＜ステップＳ１１４＞
姿勢位置算出部２０４により初期位置が算出された後、タイミング生成部２０２は、ナビゲーションセンサ１０６ａおよびジャイロセンサ１０６ｂにより検出される姿勢位置情報を取得するためのタイミング信号を生成するために時間計測を開始する。また、吐出回数決定部２１０は、この時点までに前回の印字動作が終了した時点からの経過時間を計測しており、当該経過時間に基づいてハンドヘルドプリンタ１による連続吐出動作における連続吐出回数を決定する。そして、ステップＳ１１５へ移行する。
【０１２１】
＜ステップＳ１１５＞
タイミング生成部２０２により生成されるタイミング信号により、ナビゲーションセンサ１０６ａおよびジャイロセンサ１０６ｂの姿勢位置情報を取得（リード）するタイミングとなった場合（ステップＳ１１５：Ｙｅｓ）、ステップＳ１１６へ移行し、取得するタイミングではない場合（ステップＳ１１５：Ｎｏ）、当該タイミングとなるまで待機する。
【０１２２】
＜ステップＳ１１６、Ｓ１１７＞
タイミング生成部２０２により生成されるタイミング信号により、ナビゲーションセンサ１０６ａおよびジャイロセンサ１０６ｂの姿勢位置情報を取得（リード）するタイミングとなった場合、第２取得部２０３は、ナビゲーションセンサ１０６ａおよびジャイロセンサ１０６ｂにより検出されたハンドヘルドプリンタ１の姿勢位置情報を取得して、記憶部２２５に格納する。すなわち、第２取得部２０３は、タイミング生成部２０２による生成されるタイミング信号毎に、姿勢位置情報を取得する。このように、ナビゲーションセンサ１０６ａにより取得される情報（移動量）と、ジャイロセンサ１０６ｂにより取得される情報（角速度）は、初期位置に対する現在の二次元の位置を算出するために必要なので、その取得（リード）タイミングは同時であることが望ましい。そして、ステップＳ１１８へ移行する。
【０１２３】
＜ステップＳ１１８、Ｓ１１９＞
姿勢位置算出部２０４は、第２取得部２０３により取得されたナビゲーションセンサ１０６ａおよびジャイロセンサ１０６ｂの現在の姿勢位置情報から、記録ヘッド１０４の各ノズルの現在の姿勢および位置を算出する。そして、第３取得部２０５は、姿勢位置算出部２０４により算出されたノズルの位置に対応する、印刷ジョブの画像データにおける周辺画像を取得する。そして、ステップＳ１２０へ移行する。
【０１２４】
＜ステップＳ１２０、Ｓ１２１＞
第１判定部２０６は、印字される画像データ（周辺画像）の印字媒体２０上の印字位置と、姿勢位置算出部２０４により算出された記録ヘッド１０４の各ノズルの位置とを比較する。そして、第１判定部２０６は、双方の位置が所定の条件（吐出条件）を満たすか否かを判定する。その判定の結果、双方の位置が所定の条件（吐出条件）を満たす場合（ステップＳ１２１：Ｙｅｓ）、ステップＳ１２２へ移行し、当該条件を満たさない場合（ステップＳ１２１：Ｎｏ）、ステップＳ１１５へ戻る。
【０１２５】
＜ステップＳ１２２＞
第１判定部２０６により双方の位置が所定の条件（吐出条件）を満たすと判定された場合、第２判定部２０７は、当該吐出条件を満たす記録ヘッド１０４のノズルについて、連続吐出動作が必要であるか否かを判定する。具体的には、第２判定部２０７は、カウンタ部２０９によりカウントされた記録ヘッド１０４の当該ノズルの吐出回数が所定の閾値以上となっているか否かを判定する。当該ノズルの吐出回数が所定の閾値以上である場合（ステップＳ１２２：Ｙｅｓ）、連続吐出動作ではなく通常の吐出動作を行うものと判断し、ステップＳ１２３へ移行する。一方、所定の閾値未満である場合（ステップＳ１２２：Ｎｏ）、連続吐出動作を行うものと判断し、ステップＳ１２４へ移行する。
【０１２６】
＜ステップＳ１２３＞
印字制御部２０８は、吐出条件を満たす印字位置にインクを吐出するように、タイミング生成部２０２により生成される通常の１回吐出の周期を示すタイミング信号に従って、記録ヘッド１０４の対象ノズルからインクを吐出させて印字する。ここで、カウンタ部２０９は、対象ノズルからのインクの吐出回数をカウントして、当該対象ノズルと関連付けて吐出回数を記憶部２２５に記憶させる。そして、ステップＳ１２５へ移行する。
【０１２７】
＜ステップＳ１２４＞
印字制御部２０８は、吐出条件を満たす印字位置に、タイミング生成部２０２により生成される連続吐出動作の周期を示すタイミング信号（例えば、図８に示すタイミング信号ｔｉｍｇｅｎ＿ｔｒｇ）に従って、連続吐出動作が必要であると判定されたノズルから連続吐出動作により吐出回数決定部２１０により決定された連続吐出回数分だけインクを吐出させて印字する。ここで、カウンタ部２０９は、当該ノズルからのインクの吐出回数をカウントして、当該ノズルと関連付けて吐出回数を記憶部２２５に記憶させる。
【０１２８】
また、記録ヘッド１０４から連続吐出動作によってインクが吐出された場合にカウントされた吐出回数が、上述のステップＳ１２２の所定の閾値に達しない場合、ハンドヘルドプリンタ１が走査された次の吐出条件を満たす印字位置で、再度、連続吐出動作が行われ、これを吐出回数が所定の閾値に達するまで繰り返される。なお、当該ノズルについてカウントされた吐出回数が、上述の所定の閾値には達しない回数がカウントされている場合、既に１以上の連続吐出動作による吐出が行われていると判断されるが、再び連続吐出動作を行う場合においては、吐出回数決定部２１０により決定された連続吐出回数によって当該連続吐出動作が行われるものとすればよい。
【０１２９】
そして、ステップＳ１２５へ移行する。
【０１３０】
＜ステップＳ１２５＞
印字制御部２０８は、吐出条件を満たす印字位置にインクを吐出した後、記憶部２２５（ＤＲＡＭ１０２ｂ）に記憶されている画像データ（印字画像）上における印字位置に対応する画素に対して、印字済みのフラグを立てて当該画像データを更新する。これによって、ユーザによるハンドヘルドプリンタ１の走査によって、既にインクが印字されている位置にノズルが移動してきた場合、画像データの当該位置に対応する画素のフラグを参照することによって、当該位置に印字すべきか否かを判定することができる。すなわち、フラグが立っている場合には、当該位置にはインクが既に印字されていることを示すので、再びインクを印字する必要がないと判断される。そして、ステップＳ１２６へ移行する。
【０１３１】
＜ステップＳ１２６＞
印刷ジョブの画像データ（印字画像）のすべてについて印字（吐出）が完了した場合（ステップＳ１２６：Ｙｅｓ）、ステップＳ１２７へ移行し、そうでない場合（ステップＳ１２６：Ｎｏ）、ステップＳ１１５へ戻る。上述のステップＳ１１５〜Ｓ１２６が繰り返されることにより、印字媒体２０上に印字画像全体が画像形成される。
【０１３２】
＜ステップＳ１２７＞
印字媒体２０上に画像データ（印字画像）のすべてについて印字が完了すると、表示制御部２２３は、例えば、表示部２２４であるＬＥＤ８等を点灯させることによって、印字動作が完了したことを表示する。なお、画像データのすべてについて印字が完了していなくても、ユーザによって十分と判断された場合には、ユーザによる操作部２２２に対する印字完了の操作入力により、印字動作を完了とみなすものとしてもよい。
【０１３３】
以上のようなステップＳ１０１〜Ｓ１２７の流れによって、ハンドヘルドプリンタ１の印字動作が実行される。
【０１３４】
以上のように、本実施形態に係るハンドヘルドプリンタ１では、第１判定部２０６により所定の吐出条件が満たすと判定された印字位置に、第２判定部２０７により連続吐出動作が必要であると判定されたノズルから、吐出回数決定部２１０により決定された連続吐出回数分だけ連続的に吐出を行い印字するものとしている。これによって、印字前の空吐出を行わずに、ノズル詰まりを解消して、印字の可読性を確保することができる。また、空吐出等の印字前操作の必要がないため、使い勝手を損なわれることがない。
【０１３５】
また、本実施形態に係るハンドヘルドプリンタ１は、各ノズルに関連付けられてカウントされる吐出回数が、所定の閾値に達するまで連続吐出動作を繰り返すものとしている。これによって、記録ヘッド１０４のノズル詰まりをより確実性高く解消することができる。
【０１３６】
また、本実施形態に係るハンドヘルドプリンタ１では、吐出回数決定部２１０が、前回の印字動作が終了した時点からの経過時間を計測し、当該経過時間に基づいてハンドヘルドプリンタ１による連続吐出動作における連続吐出回数を動的に決定するものとしている。具体的には、吐出回数決定部２１０は、例えば、記録ヘッド１０４のノズル部分のキャッピングの有無を考慮した経過時間を求め、連続吐出回数を決定する。これによって、記録ヘッド１０４のノズル詰まりを効果的に解消することが可能となる。なお、経過時間の起算点は、前回の印字動作の終了した時点に限られず、例えば、外部機器１０から印字対象となる画像データを受信した時点としてもよい。
【０１３７】
（変形例）
本実施形態の変形例に係るハンドヘルドプリンタについて、本実施形態に係るハンドヘルドプリンタ１と相違する点を中心に説明する。上述の実施形態では、検知されるキャッピングの有無を考慮して経過時間を求め、当該経過時間に基づいて連続吐出回数を決定するものとした。本変形例では、さらに、温湿度を考慮して連続吐出回数を決定する動作について説明する。
【０１３８】
＜ハンドヘルドプリンタのハードウェア構成＞
図１２は、実施形態の変形例に係るハンドヘルドプリンタのハードウェア構成の一例を示す図である。図１３は、実施形態の変形例に係るハンドヘルドプリンタの制御部の構成の一例を示す図である。図１２および図１３を参照しながら、本実施形態に係るハンドヘルドプリンタ１ａのハードウェア構成について説明する。
【０１３９】
本変形例に係るハンドヘルドプリンタ１ａは、印字媒体２０に画像を形成する画像記録装置の一例である。ハンドヘルドプリンタ１ａは、制御部１０１ａによって全体の動作が制御される。図１２に示すように、制御部１０１ａは、ＲＯＭ１０２ａ、ＤＲＡＭ１０２ｂ、記録ヘッド駆動回路１０３、通信Ｉ／Ｆ１０５、ナビゲーションセンサ１０６ａ、ジャイロセンサ１０６ｂ、ＯＰＵ（Ｏｐｅｒａｔｉｏｎ  Ｐａｎｅｌ  Ｕｎｉｔ）１０７、キャッピング検知センサ１１０、および温湿度センサ１１１が電気的に接続されている。また、ハンドヘルドプリンタ１ａは、電力により駆動されるため、電源１０８と、電源回路１０９とを有している。電源回路１０９が生成する電力は、点線１０８ａで示す配線等により、制御部１０１ａ、ＲＯＭ１０２ａ、ＤＲＡＭ１０２ｂ、記録ヘッド駆動回路１０３、記録ヘッド１０４、通信Ｉ／Ｆ１０５、ナビゲーションセンサ１０６ａ、ジャイロセンサ１０６ｂ、ＯＰＵ１０７、キャッピング検知センサ１１０、および温湿度センサ１１１に供給されている。
【０１４０】
温湿度センサ１１１は、ハンドヘルドプリンタ１ａが利用される環境における温度および湿度を検知するセンサである。
【０１４１】
制御部１０１ａは、図１３に示すＣＰＵ３１を有し、ハンドヘルドプリンタ１ａの全体を制御する制御基板である。制御部１０１ａは、ナビゲーションセンサ１０６ａにより検出される移動量およびジャイロセンサ１０６ｂにより検出される角速度を基に、記録ヘッド１０４の各ノズルの位置、該位置に応じて形成する画像の決定、および吐出条件を満たすか否かの判定等を行う。制御部１０１ａについての詳細は、図１３で後述する。
【０１４２】
制御部１０１ａは、図１３に示すように、ＳｏＣ５０ａと、ＡＳＩＣ／ＦＰＧＡ６０と、を有している。ＳｏＣ５０ａおよびＡＳＩＣ／ＦＰＧＡ６０は、バス５１、６１を介して通信する。また、ＳｏＣ５０ａとＡＳＩＣ／ＦＰＧＡ６０とを別のチップにすることなく１つのチップまたは基板で構成してもよい。または、ＳｏＣ５０ａおよびＡＳＩＣ／ＦＰＧＡ６０は、３つ以上のチップまたは基板で実装してもよい。
【０１４３】
ＳｏＣ５０ａは、バス５１を介して接続されたＣＰＵ３１、位置算出回路３２、メモリＣＴＬ３３、ＲＯＭ  ＣＴＬ３４、ＧＰＩＯ３５、およびＡＤＣ（Ａｎａｌｏｇ  ｔｏ  Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）３６等の機能を有している。なお、ＳｏＣ５０ａが有する構成要素は、これらに限定されない。
【０１４４】
ＡＤＣ３６は、温湿度センサ１１１から出力された温度および湿度を示すアナログ信号をＡ／Ｄ変換してデジタル情報に変換する回路である。なお、温湿度センサ１１１がデジタル信号を出力する場合、ＡＤＣ３６の代わりに、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）またはＩ２Ｃ（Ｉｎｔｅｒ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の汎用のインターフェースを用いてもよい。
【０１４５】
なお、ハンドヘルドプリンタ１ａおよび制御部１０１ａのその他の構成要素は、上述の図３および図４で説明したものと同様である。また、図１２および図１３に示したハンドヘルドプリンタ１ａのハードウェア構成は一例を示すものであり、図１２および図１３に示した構成要素以外の構成要素を含むものとしてもよい。また、ＳｏＣ５０ａおよびＡＳＩＣ／ＦＰＧＡ６０の各機能については、ＣＰＵ３１の性能、およびＡＳＩＣ／ＦＰＧＡ６０の回路規模等に応じて、いずれに振り分けてもよい。
【０１４６】
（連続吐出回数の決定方法）
次に、本変形例に係るハンドヘルドプリンタ１ａでの連続吐出動作におけるインクの連続吐出回数の決定方法について説明する。
【０１４７】
上述のように、記録ヘッドのノズル部分は、空気に触れている時間が長いほどインクが固まってしまうという性質がある。また、経過時間の他に、記録ヘッドを搭載するハンドヘルドプリンタが存在する環境における温度および湿度によっても、インクの固まり具合が異なってくる。例えば、下に示す（表２）は、温度および湿度の値によって、抜けノズルの発生頻度を示すノズル抜けレベルが変動する状態の例を示したものである。
【０１４８】
【表２】
2020124868.tif 000008
【０１４９】
ノズル抜けレベルの値が大きいほど、抜けノズルの発生頻度が高いことを示す。また、（表２）中の「Ｌ」は、温度または湿度が低いことを示し、「Ｍ」は、温度または湿度が中程度であることを示し、「Ｈ」は、温度または湿度が高いことを示す。ハンドヘルドプリンタ１ａで用いられるインクの種類および特性により変動するが、一般に（表２）に示すように、インクは、温度が高いほど、湿度が低いほど固まりやすい性質を有する。なお、（表２）において、「Ｌ」、「Ｍ」、「Ｈ」の各区分の振り分けは、例えば、温度および湿度に対する閾値判定によって行うものとすればよい。また、この場合の閾値は、ユーザが外部機器１０から任意の設定可能であってもよい。また、温度および湿度に対する区分は、（表２）に示すように３区分に限られるものではなく、２または４以上の区分であってもよい。
【０１５０】
したがって、本変形例に係るハンドヘルドプリンタ１ａは、例えば、温湿度センサ１１１により検知された温度および湿度の値に基づいて、連続吐出動作における連続吐出回数を決定する。なお、ハンドヘルドプリンタ１ａは、温度および湿度のみではなく、さらに、上述の実施形態で説明した経過時間に基づいて、連続吐出回数を決定するものとしてもよい。例えば、ハンドヘルドプリンタ１ａは、上述の式（５）で算出した経過時間に対して、さらに温湿度センサ１１１により検知された温度および湿度、ならびに上述の（表２）で定まるノズル抜けレベルに応じた補正係数を乗じた経過時間を用いて、連続吐出回数を決定するものとしてもよい。この場合の補正係数は、ノズル抜けレベルが大きいほど値が大きいものとすればよい。
【０１５１】
（ハンドヘルドプリンタの機能ブロックの構成）
図１４は、実施形態の変形例に係るハンドヘルドプリンタの機能ブロックの構成の一例を示す図である。図１４を参照しながら、本変形例に係るハンドヘルドプリンタ１ａの機能ブロックの構成について説明する。
【０１５２】
図１４に示すように、ハンドヘルドプリンタ１ａは、第１取得部２０１（データ取得部）と、タイミング生成部２０２と、第２取得部２０３と、姿勢位置算出部２０４と、第３取得部２０５と、第１判定部２０６と、第２判定部２０７と、印字制御部２０８と、カウンタ部２０９と、吐出回数決定部２１０（決定部）と、キャップ検知部２１１（検知部）と、第４取得部２１２（温湿度取得部）と、通信部２２１と、操作部２２２と、表示制御部２２３と、表示部２２４と、記憶部２２５と、を有する。なお、このうち、吐出回数決定部２１０および第４取得部２１２以外の各機能部の機能は、上述の図１０で説明した通りである。
【０１５３】
第４取得部２１２は、温湿度センサ１１１により検知された温度および湿度の情報（以下、温湿度情報と称する場合がある）を取得する機能部である。第４取得部２１２は、図４に示すＡＤＣ３６、およびＣＰＵ３１により実行される動作プログラムによって実現される。
【０１５４】
吐出回数決定部２１０は、第４取得部２１２により取得された温湿度情報に基づいてハンドヘルドプリンタ１による連続吐出動作における連続吐出回数を決定する機能部である。なお、吐出回数決定部２１０は、温湿度情報の他、上述の実施形態と同様に、キャップ検知部２１１により検知されたキャッピングの有無を加味した経過時間に基づいて連続吐出回数を決定するものとしてもよい。
【０１５５】
なお、図１４に示す各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図１４において独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図１４において１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【０１５６】
以上のように、本変形例に係るハンドヘルドプリンタ１ａは、温湿度センサ１１１により検知された温度および湿度に基づいて、連続吐出回数を決定し、当該連続吐出回数により連続吐出動作を行うものとしている。この場合、上述のように、温湿度情報の他、キャップ検知部２１１により検知されたキャッピングの有無を加味した経過時間に基づいて連続吐出回数を決定するものとしてもよい。これによって、記録ヘッド１０４のノズル詰まりを効果的に解消することが可能となるため、ユーザは、ハンドヘルドプリンタ１ａを用いて所望の正常画像を印字することができる。
【０１５７】
なお、上述の実施形態および変形例において、ハンドヘルドプリンタ１、１ａの各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ＲＯＭ等に予め組み込まれて提供される。また、上述の実施形態および変形例に係るハンドヘルドプリンタ１、１ａで実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅｃｏｒｄａｂｌｅ）、またはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の実施形態および変形例に係るハンドヘルドプリンタ１、１ａで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態および変形例に係るハンドヘルドプリンタ１、１ａで実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の実施形態および変形例のハンドヘルドプリンタ１、１ａで実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしては制御部１０１、１０１ａのＣＰＵ３１が上述の記憶装置（ＲＯＭ１０２ａ等）からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。
【符号の説明】
【０１５８】
１、１ａ  ハンドヘルドプリンタ
２  上部ユニット
３  下部ユニット
４  ガイドコロ
５  操作ボタン
６  開口部
７  ガイド部材
８  ＬＥＤ
１０  外部機器
２０  印字媒体
３１  ＣＰＵ
３２  位置算出回路
３３  メモリＣＴＬ
３４  ＲＯＭ  ＣＴＬ
３５  ＧＰＩＯ
３６  ＡＤＣ
４１  Ｉｍａｇｅ  ＲＡＭ
４２  ＤＭＡＣ
４３  回転器
４４  割込みコントローラ
４５  ナビゲーションセンサＩ／Ｆ
４６  印字／センサタイミング生成部
４７  記録ヘッド制御部
４８  ジャイロセンサＩ／Ｆ
４９  連続吐出処理部
５０、５０ａ  ＳｏＣ
５１  バス
６０  ＡＳＩＣ／ＦＰＧＡ
６１  バス
１０１、１０１ａ  制御部
１０２ａ  ＲＯＭ
１０２ｂ  ＤＲＡＭ
１０３  記録ヘッド駆動回路
１０４  記録ヘッド
１０４ａ  ノズル
１０５  通信Ｉ／Ｆ
１０６ａ  ナビゲーションセンサ
１０６ｂ  ジャイロセンサ
１０７  ＯＰＵ
１０８  電源
１０８ａ  点線
１０９  電源回路
１１０  キャッピング検知センサ
１１１  温湿度センサ
２０１  第１取得部
２０２  タイミング生成部
２０３  第２取得部
２０４  姿勢位置算出部
２０５  第３取得部
２０６  第１判定部
２０７  第２判定部
２０８  印字制御部
２０９  カウンタ部
２１０  吐出回数決定部
２１１  キャップ検知部
２１２  第４取得部
２２１  通信部
２２２  操作部
２２３  表示制御部
２２４  表示部
２２５  記憶部
【先行技術文献】
【特許文献】
【０１５９】
【特許文献１】特表２０１０−５２００８６号公報
【図１】
2020124868.tif 000009
【図２】
2020124868.tif 000010
【図３】
2020124868.tif 000011
【図４】
2020124868.tif 000012
【図５】
2020124868.tif 000013
【図６】
2020124868.tif 000014
【図７】
2020124868.tif 000015
【図８】
2020124868.tif 000016
【図９】
2020124868.tif 000017
【図１０】
2020124868.tif 000018
【図１１】
2020124868.tif 000019
【図１２】
2020124868.tif 000020
【図１３】
2020124868.tif 000021
【図１４】
2020124868.tif 000022