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