(57)【要約】【課題】ユーザの操作の頻度を低減することが可能な画像形成装置を提供すること。【解決手段】ユーザによって走査されることで媒体１２上に画像を形成する画像形成装置２０であって、画像を形成する画像形成部２４と、媒体に対する前記画像形成部の位置を検出する位置検出部３４と、前記位置検出部が検出した前記画像形成部の位置と画像データに基づいて前記画像形成部を制御する制御部４４と、媒体に対する前記画像形成部の走査に伴う前記画像形成部の位置に基づいて前記画像形成装置のシステム状態を制御する状態制御部６７と、を有することを特徴とする。【選択図】図１
2020040384.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって走査されることで媒体上に画像を形成する画像形成装置であって、
画像を形成する画像形成部と、
媒体に対する前記画像形成部の位置を検出する位置検出部と、
前記位置検出部が検出した前記画像形成部の位置と画像データに基づいて前記画像形成部を制御する制御部と、
媒体に対する前記画像形成部の走査に伴う前記画像形成部の位置に基づいて前記画像形成部のシステム状態を制御する状態制御部と、
を有することを特徴とする画像形成装置。
【請求項２】
前記状態制御部は、前記画像データに基づいて画像が形成される画像領域に対する前記画像形成部の位置に基づいて前記システム状態を制御することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記状態制御部は、前記媒体との距離に基づいて前記システム状態を制御することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記制御部は、前記システム状態が走査中の場合に前記画像形成部に画像を形成させ、
前記状態制御部は、前記画像形成部の位置に基づいて、前記走査中というシステム状態から前記画像の形成を完了する画像形成完了というシステム状態に制御することを特徴とする請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項５】
前記状態制御部は、前記画像データに基づく画像の形成が完了していなくても、前記走査中というシステム状態から前記画像形成完了というシステム状態に制御することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記状態制御部が前記走査中というシステム状態から前記画像形成完了というシステム状態に制御した場合に、画像の形成に使用されていない前記画像データが残っている場合、
前記状態制御部は前記画像形成完了というシステム状態から画像の形成の開始を受け付ける印刷レディというシステム状態に遷移させ、
前記印刷レディというシステム状態で所定の操作を受け付けた場合、前記印刷レディというシステム状態から前記走査中というシステム状態に遷移させることを特徴とする請求項５に記載の画像形成装置。
【請求項７】
ユーザから見て左から右方向への走査時、及び、右から左方向への走査時の両方で画像を形成する第１の走査モードにより前記画像形成部が画像を形成する場合、
前記画像データに基づいて画像が形成される画像領域に対する前記画像形成部の位置に関わらず前記状態制御部は前記システム状態を維持することを特徴とする請求項１〜６のいずれか１項に記載の画像形成装置。
【請求項８】
ユーザから見て左から右方向への走査時のみ画像を形成する第２の走査モードにより前記画像形成部が画像を形成する場合、
前記状態制御部は、前記画像形成部の位置が前記画像データに基づいて画像が形成される画像領域の右端を超えた場合に、前記システム状態を制御することを特徴とする請求項１〜７のいずれか１項に記載の画像形成装置。
【請求項９】
ユーザから見て右から左方向への走査時のみ画像を形成する第２の走査モードにより前記画像形成部が画像を形成する場合、
前記状態制御部は、前記画像形成部の位置が前記画像データに基づいて画像が形成される画像領域の左端を超えた場合に、前記システム状態を制御することを特徴とする請求項１〜８のいずれか１項に記載の画像形成装置。
【請求項１０】
ユーザから見て左から右方向への走査時、及び、右から左方向への走査時の両方で画像を形成する第１の走査モードにより前記画像形成部が画像を形成する場合、
前記状態制御部は、前記画像形成部の全体が前記画像データに基づいて画像が形成される画像領域の右端、左端、上端、又は、下端を超えた場合、前記システム状態を制御することを特徴とする請求項１〜９のいずれか１項に記載の画像形成装置。
【請求項１１】
ユーザから見て左から右方向への走査時のみ、又は、右から左方向への走査時にのみ画像を形成する第２の走査モードにより前記画像形成部が画像を形成する場合、
前記状態制御部は、前記画像形成部の一部が前記画像データに基づいて画像が形成される画像領域の右端又は左端を超えた場合、前記システム状態を制御することを特徴とする請求項１〜１０のいずれか１項に記載の画像形成装置。
【請求項１２】
ユーザから見て左から右方向への走査時のみ、又は、右から左方向への走査時のみ画像を形成する第２の走査モードにより前記画像形成部が画像を形成する場合、
前記状態制御部は、前記画像形成部の一部が前記画像データに基づいて画像が形成される画像領域の右端又は左端のいずれかを超えた場合、前記システム状態を制御することを特徴とする請求項１〜１１のいずれか１項に記載の画像形成装置。
【請求項１３】
ユーザによって走査されることで媒体上に画像を形成する画像形成装置が行う状態制御方法であって、
画像を形成する画像形成部の媒体に対する位置を検出するステップと、
検出された前記画像形成部の位置と画像データに基づいて前記画像形成部を制御するステップと、
媒体に対する前記画像形成部の走査に伴う前記画像形成部の位置に基づいて前記画像形成部のシステム状態を制御するステップと、
を有することを特徴とする状態制御方法。
【請求項１４】
ユーザによって走査されることで媒体上に画像を形成する画像形成装置に、
画像を形成する画像形成部の媒体に対する位置を検出するステップと、
検出された前記画像形成部の位置と画像データに基づいて前記画像形成部を制御するステップと、
媒体に対する前記画像形成部の走査に伴う前記画像形成部の位置に基づいて前記画像形成部のシステム状態を制御するステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、状態制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
スマートフォンやノートＰＣ等をユーザが携帯して外出先で使用する際、プリンタで文書等を印刷したいというニーズがある。また、一般のプリンタにセットすることが困難な物体に対して、様々な情報を印刷したいというニーズもある。
【０００３】
このようなニーズに対し、プリンタ装置から紙搬送システムを削除することで小型化された画像形成装置（以下、ＨＨＰ：ハンドヘルドプリンタという）が知られている（例えば、特許文献１参照。）。特許文献１には、ユーザがＨＨＰを把持してノートなどの紙面上を走査すると（移動させると）、紙面上における自分の位置を検出して位置に応じて画像を形成するためのインクを吐出するＨＨＰについて開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のＨＨＰではユーザの操作の頻度を低減することについて考慮されていないという問題があった。ＨＨＰはユーザが走査することで画像を形成するが、ユーザが走査とは別にシステム状態を遷移するための操作が必要な状況が多くなると操作を煩わしく感じるおそれがある。一例として、ユーザが印刷を完了しても、システム状態を走査中から画像形成完了に遷移するために何らかの操作（ボタンの押下等）が必要であると、ユーザの操作が多くなってしまう。
【０００５】
本発明は、ユーザの操作の頻度を低減することが可能な画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題に鑑み、本発明は、ユーザによって走査されることで媒体上に画像を形成する画像形成装置であって、画像を形成する画像形成部と、媒体に対する前記画像形成部の位置を検出する位置検出部と、前記位置検出部が検出した前記画像形成部の位置と画像データに基づいて前記画像形成部を制御する制御部と、媒体に対する前記画像形成部の走査に伴う前記画像形成部の位置に基づいて前記画像形成部のシステム状態を制御する状態制御部と、を有することを特徴とする。
【発明の効果】
【０００７】
ユーザの操作の頻度を低減することが可能な画像形成装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】ＨＨＰが行うシステム状態の遷移の制御例を示す図である。
【図２】ＨＨＰによる画像形成を模式的に示す図の一例である。
【図３】ＨＨＰのハードウェア構成図の一例である。
【図４】制御部の構成を説明する図の一例である。
【図５】画像データ出力器のハードウェア構成図の一例である。
【図６】画像データ出力器と制御部の機能をブロック状に示す機能ブロック図の一例である。
【図７】ＩＪ記録ヘッドにおけるノズル位置等について説明する図の一例である。
【図８】ＨＨＰの座標系と位置の算出方法を説明する図の一例である。
【図９】目標吐出位置とノズルの位置の関係を説明する図の一例である。
【図１０】ＨＨＰのシステム状態の遷移図の一例である。
【図１１】画像領域の一例を示す図である。
【図１２】シングルパスモードを説明する図の一例である。
【図１３】マルチパスモードについて説明する図の一例である。
【図１４】画像データ出力器が表示するユーザから見た走査方向の設定画面の一例を示す図である。
【図１５】画像データ出力器とＨＨＰの動作手順を説明するフローチャート図の一例である。
【図１６】制御部がＨＨＰのシステム状態を制御する手順を示すフローチャート図の一例である。
【図１７】画像領域内外判断及び浮き判断に応じて、走査中から画像形成完了へ遷移する制御方法を説明するフローチャート図の一例である。
【図１８】画像領域とノズルの位置の関係の一例を示す図である。
【図１９】ノズル位置が画像領域内か外かを画像領域内外判断部が判断する手順を示すフローチャート図の一例である。
【図２０】図１９の領域内外判断部の結果を受けて画像領域内外判断部が、画像領域外が検出された旨を状態制御部に通知するか否かを判断するフローチャート図の一例である。
【図２１】浮きが検出されたか否かを浮き判断部が判断する手順を示すフローチャート図の一例である。
【図２２】ノズル位置が画像領域内か外かを画像領域内外判断部が判断する手順を示すフローチャート図の一例である（変形例）。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態の一例として、画像形成装置、画像形成装置が行う状態制御方法等について、図面を参照しながら説明する。
【００１０】
＜システム状態の遷移の制御例＞
本実施形態のハンドヘルドプリンタ（以下、ＨＨＰという）はＨＨＰの走査に伴う状態に基づいてＨＨＰのシステム状態を遷移させる。例えば、ＨＨＰの走査位置が画像領域の外であることを検出した場合、又は、ＨＨＰの印刷媒体に対する浮きを検出した場合、システム状態を走査中から画像形成完了に遷移させる。図１を用いて説明する。
【００１１】
図１は本実施形態のＨＨＰ２０が行うシステム状態の遷移の制御例を示す。図１（ａ）に示すように、ＨＨＰ２０は画像を形成する範囲である画像領域８０を設定している。ユーザはＨＨＰ２０を画像領域８０の範囲で走査する。本実施形態ではユーザが意識的に又は無意識にＨＨＰ２０を画像領域外に移動させた場合、システム状態を走査中から画像形成完了に遷移させる。
【００１２】
別の方法として、図１（ｂ）に示すように、ＨＨＰ２０が印刷媒体１２に対して浮いたことを検出した場合、操作位置が画像領域内であってもＨＨＰ２０はシステム状態を走査中から画像形成完了に遷移させる。
【００１３】
これらのように、本実施形態のＨＨＰ２０は、ＨＨＰ２０の走査に伴う状態（画像領域外の走査又は浮きを検出）に基づいてＨＨＰ２０のシステム状態を遷移させることができる。印刷が完了するとユーザは次のページの走査を開始することができるため、ユーザの操作の頻度を低減することができる。従来であれば、システム状態を画像形成完了に遷移させるために、ユーザはＨＨＰ２０の所定のボタンを押下するなどの必要があり、ユーザが煩わしさを感じるおそれがあった。また、ユーザは画像データの印刷の途中でも強制的に印刷を完了して次の画像データを印刷できる。
【００１４】
＜用語について＞
印刷媒体に対する液滴吐出装置の走査に伴う状態とは、ユーザが液滴吐出装置を走査することで生じる意識的又は無意識的な状態である。本実施形態では例えば画像領域外の走査又はＨＨＰが印刷媒体から浮いたことを例とする。この他、画像領域とは無関係にＸ方向又はＹ方向に印刷媒体を超えたと判断できる走査量が検出された場合、ユーザが液滴吐出装置を印刷媒体上で細かく振動させたこと、又は、強く握ることなどを検出してもよい。
【００１５】
システム状態とはＨＨＰの動作に関する内部的な状態である。各状態でＨＨＰが行う動作が決まっており、ある状態から別の状態への遷移条件が決まっている。
画像形成部の位置に基づいてシステム状態を制御するとは、記録ヘッドの位置、更に詳細にはノズルの位置に基づいてシステム状態を制御するともいえる。しかし、記録ヘッドはＨＨＰ２０に固定されているので、ＨＨＰ２０の位置（中心や端部など任意の位置）に基づいてシステム状態を制御することも含まれる。
【００１６】
＜ＨＨＰによる画像形成＞
図２は、ＨＨＰ２０による画像形成を模式的に示す図の一例である。ＨＨＰ２０には、例えば画像データ出力器１１から画像データと走査に関する情報（走査モード（マルチパスモード、シングルパスモードとユーザから見た走査方向）、走査パス数、印刷ジョブのキャンセル、又は、印刷ジョブのリトライ等）が送信される。ＨＨＰ２０と画像データ出力器１１、又は、ＨＨＰ２０と画像データ出力器１１で動作するプログラムを液滴吐出システム１００という。ユーザはＨＨＰ２０を把持して、印刷媒体１２（例えば定形用紙やノートなど）からＨＨＰ２０が浮き上がらないようにフリーハンドで走査させる。
【００１７】
画像データ出力器１１は、ＨＨＰ２０と無線又は有線で通信する機能を有する情報処理装置であればよい。画像データ出力器１１は、例えば、スマートフォン、タブレット端末、ＰＣ（Personal Computer）、ＰＤＡ（Personal Digital Assistant）、携帯電話、ハンディターミナル、ウェアラブルＰＣ（例えば、腕時計型、サングラス型）、携帯型のゲーム機、カーナビゲーション、デジタルカメラ、プロジェクタ、又は、テレビ会議端末等が挙げられる。
【００１８】
ＨＨＰ２０は後述するようにナビゲーションセンサのみ又はナビゲーションセンサとジャイロセンサで位置を検出し、ＨＨＰ２０が目標吐出位置に移動すると、目標吐出位置で吐出すべき色のインクを吐出する。すでにインクを吐出した場所はマスクされるので（インクの吐出の対象とならないので）、ユーザは印刷媒体１２上で任意の方向にＨＨＰ２０を走査させることで画像を形成できる。
【００１９】
印刷媒体１２からＨＨＰ２０が浮き上がらないことが好ましいのは（意識的に浮かせるのとは別に）、ナビゲーションセンサが印刷媒体１２からの反射光を利用して移動量を検出するためである。印刷媒体１２からＨＨＰ２０が浮き上がると反射光を検出できなくなり移動量を検出できない。１回の操作で形成可能なＰｎ行分などの一まとまりの画像データ（これをページという）はある初期位置に基づいて形成される。一まとまりの画像データの形成の途中でＨＨＰ２０が位置を検出できない状態になると、ユーザは画像データ出力器１１にキャンセル又はリトライを指示する。本実施形態ではこの状態では浮きが検出される可能性が高いので、ユーザが操作しなくても画像形成完了という状態に遷移する。
【００２０】
ＨＨＰ２０は、印刷媒体１２にインクを吐出して画像を形成するためインクジェットプリンタと呼ぶことができる。吐出する流体はインクに限られず、少なくとも吐出時に液状になればよいため液滴吐出装置と称することもできる。また、画像を形成するため画像形成装置又は印刷装置と称してもよいし、画像を処理するため画像処理装置と称してもよい。また、ＨＨＰ２０は、ユーザが手で持って携帯できるという意味からＨＭＰ（Handy Mobile Printer）と称される場合がある。
なお、本実施形態ではインクを吐出して画像を形成するＨＨＰ２０について説明するが、ＨＨＰ２０は熱転写方式で画像を形成してもよいし、ドットインパクト方式で画像を形成してもよい。熱転写方式は、インクリボンをサーマルヘッドで印刷媒体１２に転写させる方式でも、印刷媒体１２に感熱紙を用いてサーマルヘッドで発色させる方式でもよい。また、ドットインパクト方式であれば送り状や伝票など複写式の帳票に一度に画像を形成できる。
【００２１】
印刷媒体１２は平面を一部に有していればよい。平面は曲面であってもよい。例えば、用紙やノートなどが挙げられる。印刷媒体は机や床に水平でも垂直でもよい。また、印刷媒体１２はシート状の形状に限られず、壁や天井などにもＨＨＰ２０は画像を形成できる。例えば、段ボールの側面、底面、上面等にも印刷可能である。また、地面や施設等に固定されている立体物にも印刷可能である。
【００２２】
＜構成例＞
<<ＨＨＰ>>
図３は、ＨＨＰ２０のハードウェア構成図の一例を示す。ＨＨＰ２０は、制御部２５によって全体の動作が制御され、制御部２５には通信Ｉ/Ｆ２７、ＩＪ記録ヘッド駆動回路２３、ＯＰＵ２６、ＲＯＭ２８、ＤＲＡＭ２９、ナビゲーションセンサ３０、ジャイロセンサ３１、及び、浮き検出センサ３２が電気的に接続されている。また、ＨＨＰ２０は電力により駆動されるため、電源２２と電源回路２１を有している。電源回路２１が生成する電力は、点線２２ａで示す配線などにより、通信Ｉ/Ｆ２７、ＩＪ記録ヘッド駆動回路２３、ＯＰＵ２６、ＲＯＭ２８、ＤＲＡＭ２９、ＩＪ記録ヘッド２４、制御部２５、ナビゲーションセンサ３０、ジャイロセンサ３１、及び、浮き検出センサ３２に供給されている。
【００２３】
電源２２としては主に電池（バッテリ）が利用される。電池は市販の乾電池又は充電池でも専用の充電池でもよい。太陽電池や商用電源（交流電源）、燃料電池等が用いられてもよい。電源回路２１は、電源２２が供給する電力をＨＨＰ２０の各部に分配する。また、電源２２の電圧を各部に適した電圧に降圧や昇圧する。また、電源２２が充電可能な電池である場合、電源回路２１は交流電源の接続を検出して電池の充電回路に接続し、電源２２の充電を可能にする。
【００２４】
通信Ｉ/Ｆ２７は、スマートフォンやＰＣ（Personal Computer）等の画像データ出力器１１から画像データの受信等を行う。通信Ｉ/Ｆ２７は例えば無線ＬＡＮ、Bluetooth（登録商標）、ＮＦＣ（Near Field Communication）、赤外線、３Ｇ（携帯電話）、又は、ＬＴＥ（Long Term Evolution）等の通信規格に対応した通信装置である。また、このような無線通信の他、有線ＬＡＮ、ＵＳＢケーブルなどを用いた有線通信に対応した通信装置であってもよい。
【００２５】
ＲＯＭ２８は、ＨＨＰ２０のハードウェア制御を行うファームウェアや、ＩＪ記録ヘッド２４の駆動波形データ（液滴を吐出するための電圧変化を規定するデータ）や、ＨＨＰ２０の初期設定データ等を格納している。
【００２６】
ＤＲＡＭ２９は通信Ｉ/Ｆ２７が受信した画像データの記憶、又は、ＲＯＭ２８から展開されたファームウェアの格納のために使用される。したがって、ＣＰＵ３３がファームウェアを実行する際のワークメモリとして使用される。
【００２７】
ナビゲーションセンサ３０は、所定のサイクル時間ごとにＨＨＰ２０の移動量を検出するセンサである。ナビゲーションセンサ３０は、例えば、発光ダイオード（ＬＥＤ）やレーザ等の光源と、印刷媒体１２を撮像する撮像センサを有している。ＨＨＰ２０が印刷媒体１２上を走査されると、印刷媒体１２の微小なエッジが次々に検出され（撮像され）エッジ間の距離を解析することで移動量が得られる。本実施形態では、ナビゲーションセンサ３０は、ＨＨＰ２０の底面に１つだけ搭載されている。ナビゲーションセンサ３０が２つあってもよい。２つのナビゲーションセンサ３０がある場合、それぞれの移動量を制御部２５が解析することで回転角（印刷媒体１２に垂直な軸に対するＨＨＰ２０のヨー角）を算出できる。ナビゲーションセンサ３０が１つでよいのはジャイロセンサ３１が搭載されたためである。なお、ナビゲーションセンサ３０として、多軸の加速度センサを用いてもよく、ＨＨＰ２０は加速度センサのみでＨＨＰ２０の移動量を検出してもよい。
【００２８】
ジャイロセンサ３１は、印刷媒体１２に垂直な軸を中心にＨＨＰ２０が回転した際の角速度を検出するセンサである。制御部２５はこの角速度を積分してＨＨＰ２０の姿勢を算出する。姿勢とは主に回転角（ヨー角）である。回転角の基準の一例は印刷の開始時のＨＨＰ２０の長手方向である。
【００２９】
浮き検出センサ３２は印刷媒体とＨＨＰ２０の距離（浮き量）を検出するセンサである。印刷媒体に対してＨＨＰ２０が浮くとは、ＨＨＰ２０と印刷媒体との距離が閾値以上となることをいう。浮き検出センサ３２としては、ＨＨＰ２０が印刷媒体１２に接している場合に自重でＯＮとなる機械的なスイッチがある。このスイッチはＨＨＰ２０に押し込まれた量を距離として検出する。押し込みの有無（スイッチのＯＮ又はＯＦＦ）のみを検出してもよい。浮き検出センサ３２は測距センサでもよい。例えば、超音波センサや赤外線センサで距離を検出してよい。また、ナビゲーションセンサ３０は反射する光量で浮きを検出しているので、浮き検出センサ３２はナビゲーションセンサ３０が兼ねることができる。
【００３０】
ＯＰＵ（Operation panel Unit）２６は、ＨＨＰ２０の状態を表示するＬＥＤ、ユーザがＨＨＰ２０に画像形成を指示するためのスイッチ等を有している。ただし、これに限定するものではなく、液晶ディスプレイを有していてよく、更にタッチパネルを有していてもよい。また、音声入力機能を有していてもよい。ＯＰＵ２６は印刷ボタン２６ａを有している。印刷ボタン２６ａは印刷の開始を受け付けるボタンである。
【００３１】
ＩＪ記録ヘッド駆動回路２３は上記の駆動波形データを用いて、ＩＪ記録ヘッド２４を駆動するための駆動波形（電圧）を生成する。インクの液滴のサイズなどに応じた駆動波形を生成できる。
【００３２】
ＩＪ記録ヘッド２４は、インクを吐出して画像を形成するヘッドである。画像を形成するため、ＩＪ記録ヘッド２４を画像形成部と称することができる。図ではＣＭＹＫの４色のインクを吐出可能になっているが、単色でもよく５色以上の吐出が可能でもよい。各色ごとに一列（二列以上でもよい）に列状に並んだ複数のインク吐出用のノズル（吐出部）が配置されている。また、インクの吐出方式はピエゾ方式でもサーマル方式でもよく、この他の方式でもよい。ＩＪ記録ヘッド２４は、ノズルから液体を吐出・噴射する機能部品である。吐出される液体は、ＩＪ記録ヘッド２４から吐出可能な粘度や表面張力を有するものであればよく、特に限定されないが、常温、常圧下において、又は加熱、冷却により粘度が３０ｍＰａ・ｓ以下となるものであることが好ましい。より具体的には、水や有機溶媒等の溶媒、染料や顔料等の着色剤、重合性化合物、樹脂、界面活性剤等の機能性付与材料、ＤＮＡ、アミノ酸やたんぱく質、カルシウム等の生体適合材料、天然色素等の可食材料、などを含む溶液、懸濁液、エマルジョンなどであり、これらは例えば、インクジェット用インク、表面処理液、電子素子や発光素子の構成要素や電子回路レジストパターンの形成用液、３次元造形用材料液等の用途で用いることができる。
【００３３】
制御部２５はＣＰＵを有しＨＨＰ２０の全体を制御する。制御部２５は、ナビゲーションセンサ３０により検出される移動量及びジャイロセンサ３１により検出される角速度を元に、ＩＪ記録ヘッド２４の各ノズルの位置、該位置に応じて形成する画像の決定、後述する吐出ノズル可否判定等を行う。制御部２５について詳細は次述する。
【００３４】
図４は、制御部２５の構成を説明する図の一例である。制御部２５はＳｏＣ５０とＡＳＩＣ/ＦＰＧＡ４０を有している。ＳｏＣ５０とＡＳＩＣ/ＦＰＧＡ４０はバス４７，４８を介して通信する。ＡＳＩＣ/ＦＰＧＡ４０はどちらの実装技術で設計されてもよいことを意味し、ＡＳＩＣ/ＦＰＧＡ４０以外の他の実装技術で構成されてよい。また、ＳｏＣ５０とＡＳＩＣ/ＦＰＧＡ４０を別のチップにすることなく１つのチップや基板で構成してもよい。あるいは、３つ以上のチップや基板で実装してもよい。
【００３５】
ＳｏＣ５０は、バス４８を介して接続されたＣＰＵ３３、位置算出回路３４、メモリＣＴＬ（コントローラ）３５、及び、ＲＯＭ ＣＴＬ（コントローラ）３６等の機能を有している。なお、ＳｏＣ５０が有する構成要素はこれらに限られない。
【００３６】
また、ＡＳＩＣ/ＦＰＧＡ４０は、バス４７を介して接続されたImage RAM３７、ＤＭＡＣ３８、回転器３９、割込みコントローラ４１、ナビゲーションセンサＩ/Ｆ４２、印字/センサタイミング生成部４３、ＩＪ記録ヘッド制御部４４、ジャイロセンサＩ/Ｆ４５、及び、浮き検出センサＩ/Ｆ４６を有している。なお、ＡＳＩＣ/ＦＰＧＡ４０が有する構成要素はこれらに限られない。
【００３７】
ＣＰＵ３３は、ＲＯＭ２８からＤＲＡＭ２９に展開されたファームウェア（プログラム）などを実行し、ＳｏＣ５０内の位置算出回路３４、メモリＣＴＬ３５、及び、ＲＯＭ ＣＴＬ３６の動作を制御する。また、ＡＳＩＣ/ＦＰＧＡ４０内のImage RAM３７、ＤＭＡＣ３８、回転器３９、割込みコントローラ４１、ナビゲーションセンサＩ/Ｆ４２、印字/センサタイミング生成部４３、ＩＪ記録ヘッド制御部４４、ジャイロセンサＩ/Ｆ４５、及び、浮き検出センサＩ/Ｆ４６等の動作を制御する。
【００３８】
位置算出回路３４は、ナビゲーションセンサ３０が検出するサンプリング周期ごとの移動量及びジャイロセンサ３１が検出するサンプリング周期ごとの角速度に基づいてＨＨＰ２０の位置（座標情報）を算出する。ＨＨＰ２０の位置とは、ノズルの位置である。直接、検出される位置はナビゲーションセンサ３０の位置であるが、ナビゲーションセンサ３０の位置が分かればノズルの位置を算出できる。なお、位置算出回路３４をＣＰＵ３３がソフト的に実現してもよい。
【００３９】
ナビゲーションセンサ３０の位置は、後述するように例えば所定の原点（画像形成が開始される時のＨＨＰ２０の初期位置）を基準に算出されている。また、位置算出回路３４は、過去の位置と最も新しい位置の差に基づいて移動方向や加速度を推定し、例えば次回の吐出タイミングにおけるナビゲーションセンサ３０の位置を予測する。こうすることで、ユーザの走査に対する遅れを抑制してインクを吐出できる。
【００４０】
メモリＣＴＬ３５は、ＤＲＡＭ２９とのインタフェースであり、ＤＲＡＭ２９に対しデータを要求し、取得したファームウェアをＣＰＵ３３に送出したり、取得した画像データをＡＳＩＣ/ＦＰＧＡ４０に送出したりする。
【００４１】
ＲＯＭ ＣＴＬ３６は、ＲＯＭ２８とのインタフェースであり、ＲＯＭ２８に対しデータを要求し、取得したデータをＣＰＵ３３やＡＳＩＣ/ＦＰＧＡ４０に送出する。
【００４２】
回転器３９は、ＤＭＡＣ３８が取得した画像データを、インクを吐出するヘッド、ヘッド内のノズル位置、及び、取り付け誤差などによるヘッド傾きに応じて回転させる。ＤＭＡＣ３８は回転後の画像データをＩＪ記録ヘッド制御部４４へ出力する。
【００４３】
Image RAM３７はＤＭＡＣ３８が取得した画像データを一時的に格納する。すなわち、ある程度の画像データがバッファリングされ、ＨＨＰ２０の位置に応じて読み出される。
【００４４】
ＩＪ記録ヘッド制御部４４は、画像データ（例えばＴｉｆｆ形式のデータ）にディザ処理などを施して大きさと密度で画像を表す点の集合に画像データを変換する。これにより、画像データは吐出位置と点のサイズのデータとなる。ＩＪ記録ヘッド制御部４４は点のサイズに応じた制御信号をＩＪ記録ヘッド駆動回路２３に出力する。
【００４５】
ＩＪ記録ヘッド駆動回路２３は上記のように制御信号に対応した駆動波形データを用いて、駆動波形（電圧）を生成する。
【００４６】
ナビゲーションセンサＩ/Ｆ４２は、ナビゲーションセンサ３０と通信し、ナビゲーションセンサ３０からの情報として移動量ΔＸ´、ΔＹ´を受信し、その値を内部レジスタに格納する。
【００４７】
印字/センサタイミング生成部４３は、ナビゲーションセンサＩ/Ｆ４２、ジャイロセンサＩ/Ｆ４５及び浮き検出センサ３２が情報を読み取るタイミングを通知し、ＩＪ記録ヘッド制御部４４に駆動タイミングを通知する。情報を読み取るタイミングの周期はインクの吐出タイミングの周期よりも長い。ＩＪ記録ヘッド制御部４４は吐出ノズル可否判定を行い、インクを吐出すべき目標吐出位置があればインクを吐出し、目標吐出位置がなければ吐出しないと判定する。
【００４８】
ジャイロセンサＩ/Ｆ４５は印字/センサタイミング生成部４３により生成されたタイミングになるとジャイロセンサ３１が検出する角速度を取得してその値をレジスタに格納する。
【００４９】
浮き検出センサＩ/Ｆ４６は印字/センサタイミング生成部４３により生成されたタイミングになると浮き検出センサ３２が検出する印刷媒体１２とＨＨＰ２０の底面との距離（又は浮き有り又は浮きなしの情報）を取得してその値をレジスタに格納する。
【００５０】
割込みコントローラ４１は、ナビゲーションセンサＩ/Ｆ４２がナビゲーションセンサ３０との通信が完了したことを検知して、ＳｏＣ５０へそれを通知するための割込み信号を出力する。ＣＰＵ３３はこの割込みにより、ナビゲーションセンサＩ/Ｆ４２が内部レジスタに記憶するΔＸ´、ΔＹ´を取得する。その他、エラー等のステータス通知機能も有する。ジャイロセンサＩ/Ｆ４５に関しても同様に、割込みコントローラ４１はＳｏＣ５０に対し、ジャイロセンサ３１との通信が終了したことを通知するための割込み信号を出力する。浮き検出センサ３２についても同様に割り込み信号を出力する。
【００５１】
＜＜画像データ出力器のハードウェア構成例＞＞
図５は、画像データ出力器１１のハードウェア構成図の一例である。図示する画像データ出力器１１は、ＣＰＵ２０１、フラッシュＲＯＭ２０２、ＲＡＭ２０３、無線通信モジュール２０４、アンテナ２０５、カメラ２０６、ＬＣＤ２０７、タッチパネル２０８、外部Ｉ/Ｆ２０９、マイク２１０、及び、スピーカー２１１を備えている。これらはバス２１２に接続され、データのやり取りが可能である。また、画像データ出力器１１はバッテリ２１３を備えており、上記の各デバイスへ電力を供給している。
【００５２】
ＣＰＵ２０１は、フラッシュＲＯＭ２０２に記憶されたプログラムにしたがって、各種データの演算処理などにより画像データ出力器１１全体を制御するものである。フラッシュＲＯＭ２０２は画像データ出力器１１全体を制御するプログラム２０２ｐを記憶すると共に、各種データを記憶するストレージとしても機能する。プログラム２０２ｐはＨＨＰ２０が適切に動作するように開発されたアプリケーションである。
【００５３】
ＲＡＭ２０３は、ＣＰＵ２０１のワークメモリとして使用される。フラッシュＲＯＭ２０２に記憶されたプログラム２０２ｐはＲＡＭ２０３に読み込まれて、ＣＰＵ２０１により実行される。
【００５４】
無線通信モジュール２０４はBluetooth（登録商標）、無線ＬＡＮ、ＮＦＣ、又は、赤外線等によりＨＨＰ２０と通信する。３ＧやＬＴＥなどの携帯電話回線を利用した音声通信やデータ通信をおこなってもよい。
【００５５】
カメラ２０６は撮像素子から出力された画像信号をＡ/Ｄ変換する。ＬＣＤ２０７は、画像データ出力器１１を操作するためのアイコンや、各種のデータを表示する。タッチパネル２０８はＬＣＤ２０７に重ね合わせて密着しており、指が接触した位置を検出する。
【００５６】
外部Ｉ/Ｆ２０９は、例えばＵＳＢインタフェースであり、外部機器を接続するためのインタフェースである。マイク２１０は入力された音声信号をA(Analog)/D（Digital）変換する。スピーカー２１１は音データをＤ/Ａ変換して可聴信号を出力する。
【００５７】
＜機能について＞
図６は、画像データ出力器１１と制御部２５の機能をブロック状に示す機能ブロック図の一例である。
【００５８】
＜＜画像データ出力器＞＞
画像データ出力器１１は、通信部５１、表示制御部５２、操作受付部５３、印刷制御部５４、プレビュー生成部５５、及び、記憶部５９の各機能を有する。これら画像データ出力器１１の機能部は、ＣＰＵ２０１がプログラム２０２ｐを実行し図５に示したハードウェアと協働することで実現される機能又は手段である。なお、プログラム２０２ｐは、プログラム配信用のサーバから配信されてもよいし、ＵＳＢメモリや光記憶媒体などの可搬性の記憶媒体に記憶された状態で配布されてもよい。
【００５９】
通信部５１は、ＨＨＰ２０と各種の情報を送受信する。本実施形態では画像データ及び走査に関する情報をＨＨＰ２０に送信し、システム状態をＨＨＰ２０から受信する。通信部５１は、フラッシュＲＯＭ２０２からＲＡＭ２０３に展開されたプログラム２０２ｐをＣＰＵ２０１が実行し無線通信モジュールを制御すること等により実現される。
【００６０】
表示制御部５２は、ＬＣＤ２０７に表示される各種の画面の表示に関する制御を行う。本実施形態ではプレビュー画面に画像データのプレビュー（印刷の仕上がりのイメージ）を表示する。表示制御部５２は、フラッシュＲＯＭ２０２からＲＡＭ２０３に展開されたプログラム２０２ｐをＣＰＵ２０１が実行しＬＣＤ２０７を制御すること等により実現される。
【００６１】
操作受付部５３は、ユーザの画像データ出力器１１に対する各種の操作を受け付ける。操作受付部５３はフラッシュＲＯＭ２０２からＲＡＭ２０３に展開されたプログラム２０２ｐをＣＰＵ２０１が実行しタッチパネル２０８を制御すること等により実現される。
【００６２】
印刷制御部５４は、画像データの印刷に関する制御を行う。すなわち、ＨＨＰ２０との通信、画像データの生成、及び、印刷中断・再開等に関する制御を行う。印刷制御部５４は、フラッシュＲＯＭ２０２からＲＡＭ２０３に展開されたプログラム２０２ｐをＣＰＵ２０１が実行すること等により実現される。
【００６３】
プレビュー生成部５５は、プレビュー画面を生成する。この他、プレビュー生成部５５はユーザから見た走査方向を示す矢印の位置、向き、形状、色等を生成してもよい。プレビュー生成部５５は、フラッシュＲＯＭ２０２からＲＡＭ２０３に展開されたプログラム２０２ｐをＣＰＵ２０１が実行すること等により実現される。
【００６４】
記憶部５９は、画像データ５９１を記憶する。画像データ５９１はどのようなファイルフォーマットでもよいが、例えばＴＩＦＦ、ＪＰＥＧ、ＢＭＰなどの画像ファイルである。あるいは、ＰＤＬ（Page Description Language）で記述された印刷データ（ポストスクリプト、ＰＤＦ等）でもよい。
【００６５】
＜＜制御部＞＞
制御部２５は、情報取得制御部６１、位置管理部６２、浮き判断部６３、画像データ記憶部６４、通信部６５、画像領域内外判断部６６、状態制御部６７、印刷制御部６８、起動処理部６９、及び、表示制御部７０を有する。制御部２５が有するこれらの機能は、図４に示したＣＰＵ３３がＲＯＭ２８に記憶されたプログラムを実行することで実現される機能又は手段である。
【００６６】
情報取得制御部６１は、各種のセンサからセンサが検出した情報を取得するタイミングか否かを判断し、情報を取得するタイミングであれば各センサから情報を取得する。位置管理部６２はユーザの印刷開始の操作に応じて原点を確定し、この原点に対して位置算出回路３４が算出したノズルの位置を管理する。
【００６７】
起動処理部６９は、ＨＨＰ２０の電源がＯＮになった場合、ハードウェアの初期化や各ハードの状態検出など、起動時に必要な処理を行う。表示制御部７０はＯＰＵ２６が表示する情報を生成し、ＯＰＵ２６に表示する。
【００６８】
通信部６５は画像データ出力器１１と通信して、種々の情報を送受信する。本実施形態では画像データ及び走査に関する情報を画像データ出力器１１から受信し、システム状態を画像データ出力器１１に送信する。
【００６９】
画像データ記憶部６４はImage RAM３７などに構築された画像データの記憶手段であり、通信部６５が受信した画像データは画像データ記憶部６４に記憶される。
【００７０】
浮き判断部６３は浮き検出センサ３２が検出した距離に基づいてＨＨＰ２０が印刷媒体１２に対して浮いているか否かを判断し、浮いている場合はその時間を測定する。浮いている時間が一定時間以上となった場合、浮きが検出された旨を状態制御部６７に通知する。
【００７１】
画像領域内外判断部６６は、ノズルの位置が画像領域８０の内か外かを判断する。また、画像領域外の時間を測定し、画像領域外の時間が一定時間以上となった場合、画像領域外が検出された旨を状態制御部６７に通知する。
【００７２】
状態制御部６７は浮きが検出された旨又は画像領域外が検出された旨に基づいてＨＨＰ２０のシステム状態を制御する。システム状態には、I.スタンバイ、II.ウォームアップ中、III.印刷中（IV.印刷レディ、V.走査中、及び、VI.画像形成完了）などがある。
【００７３】
印刷制御部６８は、システム状態が走査中の場合に、ノズルの位置に基づいて画像データを用いたＩＪ記録ヘッド駆動回路２３の制御を行う。その他のシステム状態では印刷を行わない。
【００７４】
＜ＩＪ記録ヘッドにおけるノズル位置について＞
次に、図７を用いて、ＩＪ記録ヘッド２４におけるノズル位置等について説明する。図７はＨＨＰ２０の底面を示す。この底面が印刷媒体１２に対向する面である。
【００７５】
図７では１つのナビゲーションセンサ３０を有するＨＨＰ２０を示す。ナビゲーションセンサ３０からＩＪ記録ヘッド２４までの距離はａである。距離ａはゼロでもよい（ＩＪ記録ヘッド２４に接している）。ナビゲーションセンサ３０が１つの場合、ナビゲーションセンサ３０はＩＪ記録ヘッド２４の周囲の任意の場所に配置されてよい。図示するナビゲーションセンサ３０の位置は一例である。ただし、ＩＪ記録ヘッド２４とナビゲーションセンサ３０の距離が短いことでＨＨＰ２０の底面のサイズを削減しやすくなる。
【００７６】
ナビゲーションセンサ３０が２つの場合、２つのナビゲーションセンサ３０の間の距離が長い方が回転角の検出精度が向上する。したがって、ＨＨＰ２０の長手方向に２つのナビゲーションセンサ３０が配置されることが好ましいが、ナビゲーションセンサ３０が２つの場合も、ナビゲーションセンサ３０はＩＪ記録ヘッド２４の周囲の任意の場所に配置されてよい。
【００７７】
ＩＪ記録ヘッド２４の端から最初のノズル７１までの距離は距離ｄ、隣接するノズル間の距離は距離ｅである。ａ〜ｅの値はＲＯＭ２８などに予め記憶されている。
【００７８】
位置算出回路３４などがナビゲーションセンサ３０の位置を算出し、ジャイロセンサで傾きを検出すれば、距離ａ、距離ｄ及び距離ｅを用いて、位置算出回路３４はノズル７１の任意のノズル位置を算出できる。
【００７９】
ノズル７１はＨＨＰ２０の長手方向の上側に寄っている。これはユーザがＨＨＰ２０を把持した場合にノズル７１の位置を直感的に把握しやすいためである。ただし、ノズル７１はＨＨＰ２０の中央やその他の場所に配置されてもよい。
【００８０】
ノズル７１はＮ個のノズルを有している。各ノズルには、中央から順番にノズル１、ノズル２、…、ノズルＮ，のように番号がふられており、ＨＨＰ２０は各ノズルごとに位置を算出する。ノズルの番号は上端から順番に付されていてもよい。距離ｅが一定であればノズルの数であるＮは多いほど高解像度の画像が得られる。一例としてＮは１９２個とする場合があるが、Ｎは１９２個に限られない。
【００８１】
＜ノズルの位置について＞
図８は、ＨＨＰ２０の座標系と位置の算出方法を説明する図の一例である。本実施形態では、印刷媒体１２に水平な方向をＸ軸、垂直な方向をＹ軸に設定する。原点は印刷開始時のノズルＮ又はノズル１の位置である。この座標を印刷媒体座標と称することにする。これに対し、ナビゲーションセンサ３０は図８の座標軸（Ｘ´軸、Ｙ´軸）で移動量を出力する。すなわち、ノズル７１の配列方向をＹ´軸、Ｙ´軸に直交する方向をＸ´軸として移動量を出力する。
【００８２】
図８（ａ）に示したように、印刷媒体１２に対しＨＨＰ２０が時計回りにθ回転している場合を例にして説明する。ユーザがＨＨＰ２０を印刷媒体座標に対し全く傾けることなく走査させることは困難であるためゼロでないθが生じると考えられる。全く回転していなければ、Ｘ＝Ｘ´、Ｙ＝Ｙ´である。しかし、ＨＨＰ２０が印刷媒体１２に対し回転角θ、回転した場合、ナビゲーションセンサ３０の出力とＨＨＰ２０の印刷媒体１２における実際の位置が一致しなくなる。回転角θは時計回りが正、Ｘ、Ｘ´は右方向が正、Ｙ、Ｙ´は下方向が正である。
【００８３】
図８（ａ）はＨＨＰ２０のＸ座標を説明する図の一例である。図８（ａ）では回転角θのＨＨＰ２０がＸ方向にのみ同じ回転角θのままナビゲーションセンサ３０がｔ１からｔ２に移動した場合にナビゲーションセンサ３０が検出する移動量ΔＸ´、ΔＹ´とＸ，Ｙの対応を示している。なお、ナビゲーションセンサ３０が２つある場合、相対位置は固定なので２つのナビゲーションセンサ３０の出力（移動量）は同じである。ナビゲーションセンサ３０のＸ座標はプラス方向にＸ１＋Ｘ２変化する。Ｘ１＋Ｘ２はΔＸ´、ΔＹ´及び回転角θから求められる。
【００８４】
図８（ｂ）は回転角θのＨＨＰ２０がＹ方向にのみ同じ回転角θのままｔ１からｔ２に移動した場合にナビゲーションセンサ３０が検出する移動量ΔＸ´、ΔＹ´とＸ，Ｙの対応を示している。ナビゲーションセンサ３０のＹ座標はプラス方向にＹ１＋Ｙ２変化する。Ｙ１＋Ｙ２はΔＸ´、ΔＹ´及び回転角θから求められる。
【００８５】
したがって、ＨＨＰ２０がＸ方向及びＹ方向に回転角θのまま移動した場合、ナビゲーションセンサ３０が出力するΔＸ´、ΔＹ´は印刷媒体座標のＸ，Ｙに以下のように変換できる。
Ｘ＝ΔＸ´cosθ−ΔＹ´sinθ  …（１）
Ｙ＝ΔＸ´sinθ＋ΔＹ´cosθ  …（２）
【００８６】
＜回転角θ＞
続いて、ジャイロセンサ３１の出力を用いた回転角θの算出方法を説明する。ジャイロセンサ３１の出力は角速度ωである。
ω=dθ/dt
であるから、ｄｔをサンプリング周期とすると回転角ｄθは以下で表せる。
dθ=ω×dt
したがって、現在（時間t=0〜N）の回転角θは以下のようになる。
【００８７】
【数１】
2020040384.tif 000003
このように、ジャイロセンサ３１により回転角θを求めることができる。式（１）（２）に示すように、回転角θを用いて位置を算出できる。ナビゲーションセンサ３０の位置を算出できれば、図７に示したａ〜ｅの値により、位置算出回路３４は各ノズル７１の座標を算出することができる。なお、式（１）のＸ、式（２）のＹはそれぞれサンプリング周期における変化量なのでこのＸ，Ｙを累積することで現在の位置が求められる。
【００８８】
＜目標吐出位置＞
続いて、図９を用いて目標吐出位置について説明する。図９は、目標吐出位置とノズル７１の位置の関係を説明する図の一例である。目標吐出位置Ｇ１〜Ｇ９は、ＨＨＰ２０がノズル７１からインクを着弾させる目標位置（画素の形成先）である。目標吐出位置Ｇ１〜Ｇ９は、ＨＨＰ２０の初期位置とＨＨＰ２０のＸ軸/Ｙ軸方向の解像度(Xdpi,Ydpi)から求めることができる。
【００８９】
例えば、解像度が３００dpiの場合、ＨＨＰ２０の初期位置を基準にＩＪ記録ヘッド２４の長手方向及びこれに対し垂直な方向に約0.084[mm]ごとに目標吐出位置が設定される。この目標吐出位置Ｇ１〜Ｇ９に吐出される画素があれば、ＨＨＰ２０はインクを吐出する。
【００９０】
しかし、実際には、ノズル７１と目標吐出位置が完全に一致するタイミングを捉えることは困難なので、ＨＨＰ２０は目標吐出位置とノズル７１の現在位置との間に許容誤差７３を設けている。そして、ノズル７１の現在位置が目標吐出位置から許容誤差７３の範囲内にある場合に、ノズル７１からインクを吐出する（このような許容範囲を設けることを「吐出ノズル可否判定」という。）。
【００９１】
また、矢印７２に示すように、ＨＨＰ２０はノズル７１の移動方向と加速度を監視しており、次回の吐出タイミングのノズル７１の位置を予測している。したがって、予測された位置と許容誤差７３の範囲内を比較してインクの吐出を準備することが可能になる。
【００９２】
＜システム状態について＞
続いて、図１０に基づいてＨＨＰ２０のシステム状態について説明する。図１０は、ＨＨＰ２０のシステム状態の遷移図の一例である。図示するように、システム状態には、主に、I.スタンバイ、II.ウォームアップ中、III.印刷中があり、III.印刷中は更にIV.印刷レディ、V.走査中、及び、VI.画像形成完了がある。図示するシステム状態は一例に過ぎず図示する以外にも多くの状態があってよい。
【００９３】
I.スタンバイは待機状態であり、II.ウォームアップ中は印刷の準備を行う状態であり、III.印刷中はユーザが所定の操作を行えばすぐに印刷できる状態である。IV.印刷レディはユーザによる印刷ボタン２６ａの押下を待機している状態であり、V.走査中はユーザが走査している状態であり、VI.画像形成完了はV.走査中から遷移して１ページの印刷が完了したことを意味する一時的な状態である。
【００９４】
ＨＨＰ２０の電源がＯＮになった直後がI.スタンバイである。I.スタンバイからII.ウォームアップ中には以下の遷移条件で遷移する。
(i) I.スタンバイ→II.ウォームアップ中
データイン、印刷ボタン２６ａの長押し（メンテナンス用）、残ページ有り（残ページについては後述する）
II.ウォームアップ中からIII.印刷中には以下の遷移条件で遷移する。
(ii) II.ウォームアップ中→III.印刷中
データ受信完了  かつ、温度レディ  かつ、ジャイロオフセット補正完了
III.印刷中に遷移した直後、システム状態はIV.印刷レディとなる。IV.印刷レディからV.走査中には以下の遷移条件で遷移する。
(iii) IV.印刷レディ→V.走査中
印刷ボタン２６ａの押下
V.走査中からVI.画像形成完了には以下の遷移条件で遷移する。
(iv) V.走査中→VI.画像形成完了
画像領域外、浮き検出、停止タイムアウト、印刷ボタン２６ａの押下
画像形成完了からIV.印刷レディには以下の遷移条件で遷移する。
(v) 画像形成完了→IV.印刷レディ
残ページ有り
画像形成完了からII.ウォームアップ中には以下の遷移条件で遷移する。
(vi) VI.画像形成完了→II.ウォームアップ中
残ページなし  かつ  データイン中
VI.画像形成完了からI.スタンバイには以下の遷移条件で遷移する。
(vii) VI.画像形成完了→I.スタンバイ
残ページなし
例えば、(v)の遷移では画像形成完了に遷移したが残ページがあれば、印刷レディという状態に遷移するので、ユーザが印刷ボタン２６ａを押下することでV.走査中に遷移できる。残ページとは、後述するシングルパスモードにおいて画像データをＰｎ回のパスに分けて印刷する場合に、走査すべきパスが残っていることをいう。したがって、シングルパスモードで何回かの操作が必要な場合でも、ユーザは画像領域外までＨＨＰ２０を移動させれば、印刷ボタン２６ａを押して次の走査を開始できるため、操作性が向上する。
【００９５】
なお、従来は浮きによりＨＨＰ２０がエラーを検出する場合があったが、エラーが検出された場合に画像形成完了に遷移する制御は行われていなかった。この場合は、エラーから復帰のためにユーザの作業工程が増えてしまうことが多い。
【００９６】
＜画像領域について＞
次に、図１１を用いて画像領域８０について説明する。図１１は画像領域８０の一例を示す。画像領域８０は画像データの外接矩形である。まず、印刷ボタン２６ａが押下された時の最上部のノズルＮの位置が原点（０，０）である。横方向をＸ方向、縦方向をＹ方向とすると、画像データの座標のうちＸ座標の最大値Ｘmax、画像データの座標のうちＹ座標の最大値Ｙmax、及び、これと原点（０，０）により定まる領域が画像領域８０である。
【００９７】
画像データ出力器１１からＨＨＰ２０に送信された画像データはすでにテキストデータでなく画像のフォーマットになっているので、画像領域内外判断部６６は画像データの中からＸ座標の最大値Ｘmax、及び、Ｙ座標の最大値Ｙmaxを検出すればよい。
【００９８】
なお、図１２にて説明するようにシングルパスモードでは、画像データ出力器１１は１回の走査で印刷できる画像データをＨＨＰ２０に送信するので、点線で示す範囲がそれぞれ画像領域８０となる。したがって、１回の走査における画像領域８０ａだけユーザが走査すれば、次の画像領域８０ｂの走査を開始できる（画像領域８０ｂ→８０ｃの場合も同様）。
【００９９】
＜シングルパスモードとマルチパスモードについて＞
続いて、ＨＨＰ２０の走査モードであるシングルパスモード（第２の走査モード）とマルチパスモード（第１の走査モード）について説明する。シングルパスモードとマルチパスモードによって画像領域内外の判断方法が異なる。図１４にて説明するが、ユーザはシングルパスモード又はマルチパスモードを画像データ出力器１１に設定しておく。
【０１００】
図１２はシングルパスモードを説明する図の一例である。シングルパスモードとは、片方向への走査時にのみ印刷する走査モードである。図１２ではユーザから見て右から左方向に走査する場合にのみインクが吐出される。このため、シングルパスモードではＨＨＰ２０がＹ座標を算出しない（算出しても吐出制御に使用しない）。また、位置管理部６２はノズル１〜Ｎのいずれか又は平均を全てのノズル１〜ＮのＸ座標として扱う。Ｘ座標が同じ画像データをノズル１〜Ｎが同じタイミングで印刷するためであり、シングルパスモードの画質を向上できる。
【０１０１】
シングルパスモードではユーザから見て左から右方向に走査する設定もある。ユーザがユーザから見て右から左方向に走査するシングルパスモード、及び、左から右方向に走査するシングルパスモードのいずれも、原点が決まると画像データとＨＨＰ２０の相対位置が決まる。ユーザから見て左から右方向に走査する場合は、左から右方向に走査した場合にだけ画像データの座標とノズル７１の座標が一致し、ユーザから見て右から左方向に走査する場合は、右から左方向に走査した場合にだけ画像データの座標とノズル７１の座標が一致する。したがって、シングルパスモードでは決まった走査方向に走査した場合にしかインクを吐出できない。
【０１０２】
なお、シングルパスモードには、連続シングルパス印刷という印刷方法がある。連続シングルパス印刷では、１行ごとにユーザから見た走査方向を変更することができる。
【０１０３】
画像データの印刷に何回の走査（パス）が必要かを画像データ出力器１１が算出する。画像データ出力器１１はテキストデータの文字サイズ及び行数と、ノズル１〜Ｎの高さｈ[mm]により、テキストデータを印刷するために必要なパス数Ｐｎを算出し、Ｐｎ個の画像データをＨＨＰ２０に送信する。このようにＰｎ個に分けて印刷することをＰｎパス印刷という。
【０１０４】
例えば、文字サイズが１６ポイントの場合は、１行の高さは「16×0.35[mm]＝5.6[mm]」である。この"０．３５"は１ポイントのｍｍへの換算値である。ＨＨＰ２０が１回の走査で印刷可能な高さは仕様として決まっているＩＪ記録ヘッド２４の長さ以下になる。この長さをｈ[mm]とする。１文字のサイズ（ポイント）は予めこのｈ以下に制限されているため、１行のテキストの走査に複数の走査パスが必要となることはない。これにより、文字が途中で途切れて画質が低下することを抑制できる。
【０１０５】
画像データ出力器１１は１行ずつ行数を大きくしていき、その行数の高さがｈ以下か否かを判断する。行間も考慮すること好ましい。文字のサイズと行間を考慮して２行分の高さを算出し、ＩＪ記録ヘッド２４の高さｈと比較する。この比較をｋ行分の高さがＩＪ記録ヘッド２４の高さｈより大きくなるまで繰り返す。ｋ−１行が１回の走査で印刷できる最大の行数である。
【０１０６】
画像データ出力器１１はこのようにして1回の走査で印刷できる行数を算出して、Ｐｎ回の走査に分けて画像データをＨＨＰ２０に送信する。図１２では３回の走査が必要であると判断されている。
【０１０７】
続いて図１３はマルチパスモードについて説明する図の一例である。マルチパスモードとは、ユーザから見て左から右方向への走査、及び、右から左方向への走査のどちらでもインクを吐出する走査モードである。ユーザの走査量が少ないというメリットがあり、また、１回の走査では印刷できない大きなサイズの画像も印刷できるというメリットがある。
【０１０８】
なお、テキストデータをマルチパスモードで印刷することも可能である。しかし、マルチパスモードで印刷された文字は、ノズルの高さｈの制限により画質が低下するおそれがある。
【０１０９】
図１４は画像データ出力器１１が表示する、ユーザから見た走査方向の設定画面４２１の一例を示す。ユーザから見た走査方向の設定画面４２１は、「ユーザから見た走査方向を設定して下さい」というメッセージ４２２、及び、「片方向  右」、「片方向  左」、「双方向」に対応付けられたラジオボタン４２３，４２４、４２５を有する。「片方向  右」と「片方向  左」はシングルパスモードに相当し、「双方向」はマルチパスモードに相当する。この他、上記の連続シングルパス印刷という印刷方法も選択できる。
【０１１０】
ユーザは３つのラジオボタン４２３〜４２５のいずれかを選択する。なお、ユーザがユーザから見た走査方向を選択しない場合でもデフォルト値が決まっている。設定された走査モードがＨＨＰ２０に送信される。
【０１１１】
なお、ユーザは画像データ出力器１１に対し、ＨＨＰ２０の走査に伴う状態（画像領域外の走査又は浮きを検出）に基づいてＨＨＰ２０のシステム状態を自動で遷移させるか否かを設定できる。ユーザによっては自動的な遷移を好まない場合があるためである。
【０１１２】
＜走査中から画像形成完了への状態遷移＞
以下では、図１５〜図２２を用いて走査中から画像形成完了への状態遷移の制御について説明する。
【０１１３】
まず、図１５に基づいて全体的な動作について説明する。図１５は、画像データ出力器１１とＨＨＰ２０の動作手順を説明するフローチャート図の一例である。まず、ユーザは画像データ出力器１１の電源ボタンを押下する（Ｕ１０１）。画像データ出力器１１はそれを受け付け、電池等から電源が供給されて起動する。
【０１１４】
ユーザは画像データ出力器１１のテキスト入力画面で印刷したいテキストを入力する（Ｕ１０２）。画像データ出力器１１の操作受付部５３はテキストの入力を受け付ける。印刷対象はテキストデータでなくてもよく、この場合、印刷対象の画像データが選択される。
【０１１５】
ユーザは入力したテキストを印刷ジョブとして実行する操作を行う（Ｕ１０３）。すなわち、印刷を開始するためのボタンを押下する。ＨＨＰ２０の操作受付部５３は印刷ジョブの実行の要求を受け付ける。印刷ジョブの要求により画像データ及び走査に関する情報がＨＨＰ２０へ送信される。
【０１１６】
ユーザは、ＨＨＰ２０を持ち、印刷媒体１２（例えばノート）の上で初期位置を決定する（Ｕ１０４）。
【０１１７】
そして、ユーザはＨＨＰ２０の印刷ボタン２６ａを押下する（Ｕ１０５）。ＨＨＰ２０は印刷ボタン２６ａの押下を受け付ける。
【０１１８】
ユーザはＨＨＰ２０を印刷媒体１２の上で滑らせるように自由に走査する（Ｕ１０６）。
【０１１９】
続いて、ＨＨＰ２０の動作を説明する。以下の動作はＣＰＵ３３がファームウェアを実行することで行われる。
【０１２０】
ＨＨＰ２０も電源のＯＮにより起動する。ＨＨＰ２０の起動処理部６９は、ＨＨＰ２０に内蔵されている図３，図４のハードウェア要素を初期化する（Ｓ１０１）。例えば、ナビゲーションセンサＩ/Ｆ４２やジャイロセンサＩ/Ｆ４５のレジスタを初期化したり、印字/センサタイミング生成部４３にタイミング値を設定したりする。また、ＨＨＰ２０と画像データ出力器１１との間の通信を確立する。例えば、Bluetooth（登録商標）で通信する場合、ユーザは予め画像データ出力器１１とＨＨＰ２０のペアリングを行っている。これによりスタンバイという状態になる。
【０１２１】
ＨＨＰ２０の起動処理部６９は初期化が完了したかどうかを判断し、完了していない場合はこの判断を繰り返す（Ｓ１０２）。
【０１２２】
初期化が完了すると（Ｓ１０２のＹｅｓ）、ＨＨＰ２０の表示制御部７０はＯＰＵ２６の例えばＬＥＤ点灯によりユーザに印刷可能な状態であることを報知する（Ｓ１０３）。これにより、ユーザは印刷可能な状態であることを把握し、上記のように印刷ジョブの実行を要求する。
【０１２３】
印刷ジョブの実行の要求により、ＨＨＰ２０の通信Ｉ/Ｆ２７は画像データ出力器１１から画像データの入力を受け付け、表示制御部７０は画像が入力された旨をＯＰＵ２６のＬＥＤを点滅させる等によりユーザに対し報知する（Ｓ１０４）。これによりウォームアップ中となり、画像データの受信が完了すると印刷中の印刷レディになる。
【０１２４】
ユーザが印刷媒体１２上でＨＨＰ２０の初期位置を決め、印刷ボタン２６ａを押下すると、ＨＨＰ２０のＯＰＵ２６はこの操作を受け付け、情報取得制御部６１がナビゲーションセンサＩ/Ｆ４２に位置を読み取らせる（Ｓ１０５）。これにより走査中となる。ナビゲーションセンサＩ/Ｆ４２はナビゲーションセンサ３０と通信し、ナビゲーションセンサ３０が検出した移動量を取得しレジスタなどに格納しておく（Ｓ１００１）。情報取得制御部６１はナビゲーションセンサＩ/Ｆ４２から移動量を読み出す。
【０１２５】
ユーザが印刷ボタン２６ａを押下した直後に取得された移動量はゼロであるがゼロでないとしても、位置管理部６２は例えば座標(0,0)の初期位置としてＤＲＡＭ２９やＣＰＵ３３のレジスタなどに格納する（Ｓ１０６）。
【０１２６】
また、初期位置を取得すると印字／センサタイミング生成部４３がタイミングの生成を開始する（Ｓ１０７）。印字／センサタイミング生成部４３は、初期化で設定されたナビゲーションセンサ３０の移動量の取得タイミングに達するとナビゲーションセンサＩ/Ｆ４２、ジャイロセンサＩ/Ｆ４５、浮き検出センサＩ/Ｆ４６にタイミングを指示する。これが周期的に行われ上記のサンプリング周期となる。
【０１２７】
ＨＨＰ２０の情報取得制御部６１は、移動量、角速度情報、及び、浮き量を取得するタイミングであるか否かを判断する（Ｓ１０８）。この判断は、割込みコントローラ４１からの通知により行うが、印字／センサタイミング生成部４３と同じタイミングを情報取得制御部６１がカウントすることで判断してもよい。
【０１２８】
移動量、角速度情報及び浮き量を取得するタイミングになると、ＨＨＰ２０の情報取得制御部６１はナビゲーションセンサＩ/Ｆ４２から移動量を取得し、ジャイロセンサＩ/Ｆ４５から角速度情報を取得し、浮き検出センサＩ/Ｆ４６から浮き量を検出する（Ｓ１０９）。
【０１２９】
次に、位置算出回路３４は角速度情報と移動量を用いてナビゲーションセンサ３０の現在の位置を算出する（Ｓ１１０）。具体的には、位置算出回路３４は、前回のサイクルで算出した位置(Ｘ,Ｙ)と、今回取得した移動量(ΔＸ´、ΔＹ´)及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサ３０の位置を算出する。初期位置のみで、前回算出した位置がない場合は、初期位置に今回取得した移動量(ΔＸ´、ΔＹ´)及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサ３０の位置を算出する。
【０１３０】
次に、位置算出回路３４はナビゲーションセンサ３０の現在の位置を用いて各ノズル７１の現在の位置を算出する（Ｓ１１１）。
【０１３１】
このように、印字／センサタイミング生成部４３により角速度情報と移動量が同時に又はほぼ同時に取得されるので、回転角と回転角が検出されたタイミングで取得された移動量でノズル７１の位置を算出できる。したがって、種類が異なるセンサの情報でノズル７１の位置が算出されても、ノズル７１の位置の精度が低下しにくい。
【０１３２】
次に、ＣＰＵ３３はＤＭＡＣ３８を制御して、算出した各ノズル７１の位置を基に、各ノズル７１の周辺画像の画像データをＤＲＡＭ２９からImage RAM３７へ送信する（Ｓ１１２）。なお、回転器３９は、ユーザにより指定されたヘッド位置（ＨＨＰ２０の持ち方など）及びＩＪ記録ヘッド２４の傾きに応じて、画像を回転させる。
【０１３３】
次に、ＩＪ記録ヘッド制御部４４は周辺画像を構成する各画像要素の位置座標と、各ノズル７１の位置座標とを比較する（Ｓ１１３）。位置算出回路３４は、ノズル７１の過去の位置と現在の位置を用いてノズル７１の加速度を算出している。これにより、位置算出回路３４は、ナビゲーションセンサＩ/Ｆ４２が移動量を取得しジャイロセンサＩ/Ｆ４５が角速度情報を取得する周期よりも短いＩＪ記録ヘッド２４のインク吐出周期ごとにノズル７１の位置を算出している。ＩＪ記録ヘッド制御部４４は、位置算出回路３４が算出するノズル７１の位置から所定範囲内に画像要素の位置座標が含まれるか否かを判定する。
【０１３４】
吐出条件を満たさない場合（Ｓ１１４のＮｏ）、処理はステップＳ１０８に戻る。吐出条件を満たす場合（Ｓ１１４のＹｅｓ）、ＩＪ記録ヘッド制御部４４はノズル７１ごとに画像要素のデータをＩＪ記録ヘッド駆動回路２３に出力する（Ｓ１１５）。これにより、印刷媒体１２にはインクが吐出される。ＩＪ記録ヘッド制御部４４は吐出制御テーブルを更新する。
【０１３５】
次に、状態制御部６７は、ノズル位置が画像領域外か、浮きが検出されたか、全画像データを出力したか又は印刷ボタン２６ａが押下されたかを判断する（Ｓ１１６）。ステップＳ１１６の判断がＮｏの場合、ステップＳ１０８からＳ１１５までの処理を繰り返す。
【０１３６】
ステップＳ１１６の判断がＹｅｓの場合、表示制御部７０は、例えばＯＰＵ２６のＬＥＤを点灯させユーザに印刷が完了したことを報知する（Ｓ１１７）。これにより画像形成完了となる。
【０１３７】
図１６は、制御部２５がＨＨＰ２０のシステム状態を制御する手順を示すフローチャート図の一例である。図１６の処理は状態生業に着目して図１５の処理を簡略化したものである。図１６の処理はシステム状態が図１０に示したIII.印刷中になるとスタートする。
【０１３８】
制御部２５は、周期的に各種センサの情報を取得している（Ｓ１）。したがって、この周期で画像領域内外及び浮きの判断が行われる。周期については例えば数百ナノ秒〜数ミリ秒等である。
【０１３９】
ステップＳ２では位置算出回路３４がナビゲーションセンサ３０とジャイロセンサ３１が検出した情報に基づいて位置を算出する。
【０１４０】
次に、浮き判断部６３はＨＨＰ２０が印刷媒体１２から浮いたか否かの浮き判断を行う（Ｓ３）。
【０１４１】
次に、画像領域内外判断部６６がノズル７１の位置が画像領域外か否かの判断を行う（Ｓ４）。
【０１４２】
また、制御部２５は周期的にアラート判断を行っている（Ｓ５）。例えば、走査速度が一定以上であること、又は、回転速度が一定以上であることなどを判断し、一定以上の場合はアラート（ＬＥＤランプの点灯、警報音の出力など）を行う。
【０１４３】
印刷制御部６８は位置算出回路３４が算出したノズルの位置に基づいて（吐出ノズル可否判定）インクを吐出する印刷制御を行う（Ｓ６）。
【０１４４】
そして、状態制御部６７は上記の遷移条件に基づいてシステム状態の状態遷移を行う（Ｓ７）。
【０１４５】
以下では、ステップＳ３，Ｓ４、Ｓ７について詳細に説明する。
【０１４６】
＜＜Ｓ７  状態遷移の判断＞＞
図１７を用いて状態遷移の判断方法を説明する。図１７は、画像領域内外判断及び浮き判断に応じて、V.走査中からVI.画像形成完了へ遷移する制御方法を説明するフローチャート図の一例である。
【０１４７】
まず、状態制御部６７は画像領域内外判断及び浮き判断によるV.走査中からVI.画像形成完了へ遷移する設定がＯＮかＯＦＦかを判断する（Ｓ１１）。画像領域内外判断及び浮き判断による走査中からVI.画像形成完了への自動遷移はユーザの設定で解除できるためである。
【０１４８】
したがって、ステップＳ１１で画像領域内外判断及び浮き判断による自動遷移がＯＦＦに設定されていると判断した場合、図１７の処理は終了する。
【０１４９】
ステップＳ１１で画像領域内外判断及び浮き判断による自動遷移がＯＮに設定されている場合、状態制御部６７は走査モードがシングルパスモードかマルチパスモードかを判断する（Ｓ１２）。
【０１５０】
そして、シングルパスモードでは画像領域内外判断の結果が状態遷移に使用される。このため、状態制御部６７は画像領域内外判断の結果が領域内か領域外かを判断する（Ｓ１３）。マルチパスモードでは画像領域内外判断を状態遷移に使用しないのは、マルチパスモードではユーザが誤って画像領域外を走査することがあるためである。マルチパスモードでは画像領域内外判断の結果が領域外であっても、走査中というシステム状態を維持する。したがって、マルチパスモードでは画像領域内外判断を状態遷移に使用しないことで、誤って画像形成完了という状態に遷移することを抑制できる。
【０１５１】
ステップＳ１３で画像領域内外判断の結果が領域内であると判断された場合、又は、ステップＳ１２でマルチパスモードであると判断された場合、状態制御部６７は浮き判断結果が浮いている状態か接地状態かを判断する（Ｓ１４）。
【０１５２】
ステップＳ１３で画像領域内外判断の結果が領域外であると判断された場合、又は、ステップＳ１４で浮き状態であると判断された場合、状態制御部６７はシステム状態をV.走査中からVI.画像形成完了に遷移させる（Ｓ１５）。
【０１５３】
このように、本実施形態の制御部２５は、ユーザによるＨＨＰ２０の走査に伴う状態に基づいてＨＨＰ２０のシステム状態を遷移させることができるので、ボタンを押下するなどの操作を低減できる。
【０１５４】
また、図１７ではマルチパスモードでは画像領域外であると判断してもシステム状態を変更しないと説明したが、マルチパスモードでも画像領域外であると判断された場合はシステム状態を変更してよい。
【０１５５】
＜＜Ｓ４  領域内外判断＞＞
続いて、図１８〜図２１を用いて領域内外判断について詳細に説明する。図１８は、画像領域８０とノズルの位置の関係を示す図である。まず、画像領域８０の周囲にマージン８１が設定される。マージン８１は「画像領域のＲ％」のように決定されても、横方と縦方向に決まった長さでもよい。マージン８１は画像領域内外判断部６６が設定する。
【０１５６】
画像領域内外判断部６６は画像領域８０に対しこのようなマージンを設定し、「画像領域＋マージン」に対し画像領域内外判断を行う。以下では、説明を容易にするため、特に断らない場合は、画像領域内外判断は「画像領域＋マージン」に対し行うものとして説明する。
【０１５７】
図１８には４つのノズル位置Ａ〜Ｄが図示されている。
・ノズル位置Ａ，Ｂ
ノズル１〜Ｎの全てが画像領域内又は「画像領域＋マージン」内なので、画像領域内外判断部６６はＨＨＰ２０が画像領域内にあると判断する。
・ノズル位置Ｃ
ノズル１〜Ｎの全てが「画像領域＋マージン」外なので、画像領域内外判断部６６はＨＨＰ２０が画像領域外にあると判断する。ただし、シングルパスモードではＹ方向（高さ方向）の座標は見ないので、画像領域内と判断される。
・ノズル位置Ｄ
ノズル１は「画像領域＋マージン」外であるが、ノズルＮは「画像領域＋マージン」内であるので、画像領域内外判断部６６はＨＨＰ２０が画像領域内にあると判断する。ただし、判断に使用するノズルをノズル１のみにした場合は画像領域外にあると判断する。つまり、画像データの右端又は左端を画像形成装置の一部が超えていないかを判断してもよい。
【０１５８】
図１９は、ノズル位置が画像領域内か外かを画像領域内外判断部６６が判断する手順を示すフローチャート図の一例である。
【０１５９】
画像領域内外判断部６６は、走査モードによってノズル位置が画像領域内か外かの判断基準を変更するので、マルチパスモードかシングルパスモードかを判断する（Ｓ２１）。
【０１６０】
マルチパスモードの場合、画像領域内外判断部６６は以下のように変数Ｘ１、Ｘ２、Ｙ１、Ｙ２に４つの領域内外判断閾値をそれぞれ設定する（Ｓ２２）。
Ｘ１＝画像右端Ｘ座標
Ｘ２＝画像左端Ｘ座標
Ｙ１＝画像上端Ｙ座標
Ｙ２＝画像下端Ｙ座標
上記のようにこれらの値は画像データから検出できる。
【０１６１】
シングルパスモードの場合、画像領域内外判断部６６は更に右方向走査か、左方向走査かを判断する（Ｓ２３）。
【０１６２】
シングルパスモードで右方向走査の場合、画像領域内の右端だけ判断すればよいので、画像領域内外判断部６６は以下のように変数Ｘ１、Ｘ２、Ｙ１、Ｙ２に４つの領域内外判断閾値をそれぞれ設定する（Ｓ２４）。
Ｘ１＝画像右端Ｘ座標
Ｘ２＝設定可能最小値
Ｙ１＝設定可能最大値
Ｙ２＝設定可能最小値
設定可能最小値とはＨＨＰ２０が数値として扱うことができる最小値であり、設定可能最大値とは数値として扱うことができる最大値である。したがって、ノズルの位置が設定可能最小値より小さくなったり、設定可能最大値より大きくなったりすることが生じ得ないとみなしてよい。Ｘ２に設定可能最小値が設定されることで逆方向（左方向）に走査されても領域外であると判断されないようにできる。
【０１６３】
シングルパスモードで左方向走査の場合、画像領域内の左端だけ判断すればよいので、画像領域内外判断部６６は以下のように変数Ｘ１、Ｘ２、Ｙ１、Ｙ２に４つの領域内外判断閾値をそれぞれ設定する（Ｓ２５）。
Ｘ１＝設定可能最大値
Ｘ２＝画像左端Ｘ座標
Ｙ１＝設定可能最大値
Ｙ２＝設定可能最小値
このように、走査モードに応じて変数Ｘ１、Ｘ２、Ｙ１、Ｙ２を設定することで、走査モードに適した画像領域内外判断を行うことができる。Ｘ１に設定可能最大値が設定されることで逆方向（右方向）に走査されても領域外であると判断されないようにできる。
【０１６４】
次に、ステップＳ２６〜Ｓ２８では画像領域内外判断部６６は画像領域８０にマージン８１を設定する。ステップＳ２６では、マルチパスモードなのでＸ１、Ｘ２、Ｙ１、Ｙ２にそれぞれマージンを設定する（Ｓ２６）。
【０１６５】
ステップＳ２７では、シングルパスモードで右方向走査なのでＸ１にだけマージンを設定する（Ｓ２７）。ステップＳ２８では、シングルパスモードで左方向走査なのでＸ２にだけマージンを設定する（Ｓ２８）。
【０１６６】
続いて、画像領域内外判断部６６は、
ノズル１位置Ｘ ＜ Ｘ１  かつ  ノズルＮ位置Ｘ ＜ Ｘ１
を判断する（Ｓ２９）。すなわち、画像データの右端をノズル１〜Ｎの全体が超えていないか（画像データの右端をＨＨＰ２０の全体が超えていないか）どうかを判断する。
【０１６７】
超えていない場合（Ｓ２９のＹｅｓ）、画像領域内外判断部６６は、
ノズル１位置Ｙ ＜ Ｙ１  かつ  ノズルＮ位置Ｙ ＜ Ｙ１
を判断する（Ｓ３０）。すなわち、画像データの上端をノズル１〜Ｎの全体が超えていないか（画像データの上端をＨＨＰ２０の全体が超えていないか）どうかを判断する。
【０１６８】
超えていない場合（Ｓ３０のＹｅｓ）、画像領域内外判断部６６は、
ノズル１位置Ｘ ＞ Ｘ２  かつ  ノズルＮ位置Ｘ ＞ Ｘ２
を判断する（Ｓ３１）。すなわち、画像データの左端をノズル１〜Ｎの全体が超えていないか（画像データの左端をＨＨＰ２０の全体が超えていないか）どうかを判断する。
【０１６９】
超えていない場合（Ｓ３１のＹｅｓ）、画像領域内外判断部６６は、
ノズル１位置Ｙ ＞ Ｙ２  かつ  ノズルＮ位置Ｙ ＞ Ｙ２
を判断する（Ｓ３２）。すなわち、画像データの下端をノズル１〜Ｎの全体が超えていないか（画像データの下端をＨＨＰ２０の全体が超えていないか）どうかを判断する。
【０１７０】
なお、ステップＳ２９〜Ｓ３２ではノズル１、ノズルＮの両方の位置を変数Ｘ１、Ｘ２と比較しているが、シングルパスモードではノズル７１の端部（ノズル１又はノズルＮ）の位置を変数Ｘ１、Ｘ２と比較すればよい。シングルパスモードの場合、ノズル１とノズルＮの位置は同じ値となるためである。つまり、画像データの右端又は左端をＨＨＰ２０の一部が超えていないかを判断すればよい。
【０１７１】
ステップＳ２９〜Ｓ３２の全てでＹｅｓと判断された場合、画像領域内外判断部６６は画像領域内であると判断する（Ｓ３３）。
【０１７２】
ステップＳ２９〜Ｓ３２で１つでもＮｏと判断された場合、画像領域内外判断部６６は画像領域外であると判断する（Ｓ３４）。
【０１７３】
また、図１９ではノズル位置に基づいて判断しているが、ＨＨＰ２０本体（筐体）のいずれかの部位の座標を判断対象としてもよい。筐体の部位の座標はノズル位置に相対的に決まっているので、ノズル位置から算出できる。筐体の部位としては底面の４つのコーナーのいずれか、又は、最外縁の座標等を採用できる。
【０１７４】
図２０は、図１９の領域内外判断部の結果を受けて画像領域内外判断部６６が、画像領域外が検出された旨を状態制御部６７に通知するか否かを判断するフローチャート図の一例である。
【０１７５】
まず、画像領域内外判断部６６は図１９にて説明した画像領域内外判断を行う（Ｓ４１）。
【０１７６】
次に、画像領域内外判断部６６は判断結果が画像領域外であったか画像領域内であったかを判断する（Ｓ４２）。
【０１７７】
画像領域外であると判断された場合、画像領域内外判断部６６は時間の測定値をカウントアップする（Ｓ４３）。
【０１７８】
画像領域内であると判断された場合、画像領域内外判断部６６は時間の測定値をクリアする（Ｓ４４）。
【０１７９】
次に、画像領域内外判断部６６は時間の測定値が一定時間以上か否かを判断する（Ｓ４５）。ステップＳ４５の判断がＹｅｓの場合、画像領域内外判断部６６は判定フラグをＯＮに設定する（Ｓ４６）。判定フラグがＯＮの場合、画像領域外が検出された旨を状態制御部６７に通知する。
【０１８０】
ステップＳ４５の判断がＮｏの場合、画像領域内外判断部６６は判定フラグをＯＦＦに設定する（Ｓ４７）。
【０１８１】
なお、一定時間は適宜、調整することが可能である。また、ユーザが設定可能でもよい。
【０１８２】
このように、図１９の処理で画像領域外であると判断されても、画像領域外であることが一定時間の経過するまで監視されるので、ユーザが誤ってＨＨＰ２０を画像領域外に移動させた場合に、印刷が終了してしまうことを抑制できる。
【０１８３】
＜＜Ｓ３  浮き判断＞＞
続いて、図２１を用いて浮き判断について詳細に説明する。図２１は浮きが検出されたか否かを浮き判断部６３が判断する手順を示すフローチャート図の一例である。
【０１８４】
浮き判断部６３は浮き検出センサ３２から取得した浮き量が閾値以上か否かを判断する（Ｓ５１）。例えば、浮き検出センサ３２が浮いているか否かだけでなく浮き量を検出する場合、わずかな浮きを無視することができる。浮き検出センサ３２が浮いているか否かしか検出できない場合、浮き検出センサ３２が浮いていることを検出した場合に浮き量が閾値以上であると判断する。
【０１８５】
ステップＳ５１の判断がＹｅｓの場合、浮き判断部６３は時間の測定値をカウントアップする（Ｓ５２）。
【０１８６】
ステップＳ５１の判断がＮｏの場合、浮き判断部６３は時間の測定値をクリアする（Ｓ５３）。
【０１８７】
次に、浮き判断部６３は時間の測定値が一定時間以上か否かを判断する（Ｓ５４）。ステップＳ５４の判断がＹｅｓの場合、浮き判断部６３は判定フラグをＯＮに設定する（Ｓ５５）。判定フラグがＯＮの場合、浮きが検出された旨を状態制御部６７に通知する。
【０１８８】
ステップＳ５４の判断がＮｏの場合、浮き判断部６３は判定フラグをＯＦＦに設定する（Ｓ５６）。
【０１８９】
なお、閾値は適宜、調整することが可能である。また、ユーザが設定可能でもよい。図２１の一定時間は図２０の一定時間と同じでもよいし異なってもよい。
【０１９０】
＜画像領域内外判断の変形例＞
図１９で説明した、画像領域内外判断の変形例について説明する。図１９ではシングルパスモードで右方向走査と左方向走査を別々に判断したが、区別せずに判断することもできる。なお、マルチパスモードには変更がないので、シングルパスモードについて説明する。
【０１９１】
図２２は、ノズル位置が画像領域内か外かを画像領域内外判断部６６が判断する手順を示すフローチャート図の一例である。画像領域内外判断部６６は以下のように変数Ｘ１、Ｘ２、Ｙ１、Ｙ２に４つの領域内外判断閾値をそれぞれ設定する（Ｓ６１）。
Ｘ１＝画像右端Ｘ座標
Ｘ２＝画像左端Ｘ座標
Ｙ１＝設定可能最大値
Ｙ２＝設定可能最小値
画像領域内外判断部６６は、
ノズル１位置Ｘ ＜ Ｘ１  かつ  ノズルＮ位置Ｘ ＜ Ｘ１
を判断する（Ｓ６２）。すなわち、画像データの右端をノズル１〜Ｎの全体が超えていないかどうかを判断する。
【０１９２】
超えていない場合（Ｓ６２のＹｅｓ）、画像領域内外判断部６６は、
ノズル１位置Ｘ ＜ Ｘ２  かつ  ノズルＮ位置Ｘ ＜ Ｘ２
を判断する（Ｓ６３）。すなわち、画像データの左端をノズル１〜Ｎの全体が超えていないかどうかを判断する。
【０１９３】
ステップＳ６２の判断がＮｏの場合、画像領域内外判断部６６は右端通過フラグをＯＮに設定する（Ｓ６５）。
【０１９４】
ステップＳ６３の判断がＮｏの場合、画像領域内外判断部６６は左端通過フラグをＯＮに設定する（Ｓ６４）。
【０１９５】
次に、ステップＳ６６で右端通過フラグがＯＮの場合、画像領域内外判断部６６は画像領域外と判断する（Ｓ６８）。
【０１９６】
ステップＳ６６で右端通過フラグがＯＦＦの場合、かつ、ステップＳ６７で左端通過フラグがＯＮの場合、画像領域内外判断部６６は画像領域外と判断する（Ｓ６８）。
【０１９７】
ステップＳ６６，Ｓ６７で右端通過フラグ及び左端通過フラグの両方がＯＦＦの場合、画像領域内外判断部６６は画像領域内と判断する（Ｓ６９）。
【０１９８】
以上のように、シングルパスモードでは右方向走査と左方向走査を区別せずに画像領域内外判断を行うことができる。シングルパスモードなので、図１９と同様に、画像データの右端又は左端をＨＨＰ２０の一部が超えていないかを判断すればよい。
【０１９９】
＜まとめ＞
以上説明したように、本実施形態のＨＨＰ２０は、ＨＨＰ２０の走査に伴う状態（画像領域外の走査又は浮きを検出）に基づいてＨＨＰ２０のシステム状態を遷移させることができる。印刷が完了するとユーザは次のページの走査を開始することができるため、ユーザの操作の頻度を低減することができる。従来であれば、システム状態を画像形成完了に遷移させるために、ユーザはＨＨＰ２０の所定のボタンを押下するなどの必要があり、ユーザが煩わしさを感じるおそれがあった。また、ユーザは画像データの印刷の途中でも強制的に印刷を完了して次の画像データを印刷できる。
【０２００】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態のＨＨＰ２０はシングルパスモードとマルチパスモードの両方を有しているが、ＨＨＰ２０はシングルパスモードとマルチパスモードのいずれかを有していればよい。
【０２０１】
また、ＨＨＰ２０がサーバと通信してもよい。ユーザは画像データを予めサーバに送信してユーザＩＤ等に対応付けて記録させる。ＨＨＰ２０がユーザＩＤをサーバに送信すると（ログインすると）、サーバが画像データをＨＨＰ２０に送信するので、印刷することができる。
【０２０２】
また、印刷対象のテキストをユーザが音声で入力してもよく、音声データを画像データ出力器１１がサーバに送信し、サーバが音声認識処理を行ってもよい。
【０２０３】
また、ＨＨＰ２０がカメラを有していてもよい。ＨＨＰ２０はカメラで撮像した画像を印刷できる。
【０２０４】
また、以上の実施例で示した図６などの構成例は、画像データ出力器１１とＨＨＰ２０の処理の理解を容易にするために、主な機能に応じて分割したものである。しかし、各処理単位の分割の仕方や名称によって本願発明が制限されることはない。画像データ出力器１１とＨＨＰ２０は、処理内容に応じて更に多くの処理単位に分割することもできる。また、１つの処理単位が更に多くの処理を含むように分割することもできる。
【０２０５】
なお、位置算出回路３４は位置検出部の一例であり、ＩＪ記録ヘッド制御部４４は吐出駆動部の一例であり、状態制御部６７は状態制御部の一例であり、画像領域内外判断部６６は画像領域判断部の一例であり、浮き判断部６３は距離検出部の一例である。
【符号の説明】
【０２０６】
１１        画像データ出力器
１２        印刷媒体
３０        ナビゲーションセンサ
３１        ジャイロセンサ
３２        浮き検出センサ
７１        ノズル
８０        画像領域
８１        マージン
１００      液滴吐出システム
【先行技術文献】
【特許文献】
【０２０７】
【特許文献１】特表２０１０−５２２６５０号公報
【図１】
2020040384.tif 000004
【図２】
2020040384.tif 000005
【図３】
2020040384.tif 000006
【図４】
2020040384.tif 000007
【図５】
2020040384.tif 000008
【図６】
2020040384.tif 000009
【図７】
2020040384.tif 000010
【図８】
2020040384.tif 000011
【図９】
2020040384.tif 000012
【図１０】
2020040384.tif 000013
【図１１】
2020040384.tif 000014
【図１２】
2020040384.tif 000015
【図１３】
2020040384.tif 000016
【図１４】
2020040384.tif 000017
【図１５】
2020040384.tif 000018
【図１６】
2020040384.tif 000019
【図１７】
2020040384.tif 000020
【図１８】
2020040384.tif 000021
【図１９】
2020040384.tif 000022
【図２０】
2020040384.tif 000023
【図２１】
2020040384.tif 000024
【図２２】
2020040384.tif 000025