(57)【要約】【課題】有線通信と無線通信が併用可能であって、ユーザの利便性を向上させることができる通信装置を提供する。【解決手段】外部機器と有線通信を行う有線通信手段と、外部機器と無線通信を行う無線通信手段と、外部機器との接続が有線通信に係る接続か無線通信に係る接続かを判定する接続判定手段と、有線通信又は無線通信のいずれか一方によって一の外部機器と接続しているときに、有線通信又は無線通信のいずれか他方によって他の外部機器からの接続があったとき、後の接続に係る外部機器に接続先を切り替える切替手段と、を有し、複数の外部機器と接続しデータ通信を行う通信装置による。【選択図】図１０
2020123841.tif 000002
【特許請求の範囲】
【請求項１】
複数の外部機器とのデータ通信を行う通信装置であって、
前記外部機器と有線通信を行う有線通信手段と、
前記外部機器と無線通信を行う無線通信手段と、
前記外部機器との接続が前記有線通信に係る接続か前記無線通信に係る接続かを判定する接続判定手段と、
前記有線通信又は前記無線通信のいずれか一方によって一の外部機器と接続しているときに、前記有線通信又は前記無線通信のいずれか他方によって他の外部機器からの接続があったとき、後の接続に係る外部機器に接続先を切り替える切替手段と、
を有することを特徴とする通信装置。
【請求項２】
前記切替手段は、前記一の外部機器との接続が無線通信に係るものであるときに前記他の外部機器から前記有線通信に係る接続があったとき、当該有線通信に係る外部機器との接続に切り替える、
請求項１に記載の通信装置。
【請求項３】
前記切替手段によって接続先の切替が行われたとき、切り替えられた外部機器に対し接続状態変更通知を送信する通知送信手段を有する、
請求項１又は２に記載の通信装置。
【請求項４】
前記通知送信手段は、前記切替手段によって接続先の切替が行われたとき、切り替えられた外部機器に対し接続停止通知を送信する、
請求項３に記載の通信装置。
【請求項５】
前記通知送信手段は、前記切替手段によって接続先の切替が行われたとき、前記接続停止通知が送信されていた前記外部機器に対し接続再開通知を送信する、
請求項４に記載の通信装置。
【請求項６】
複数の外部機器と有線通信又は無線通信によるデータ通信を行う通信方法であって、
前記外部機器との接続が前記有線通信に係る接続か前記無線通信に係る接続かを判定し、
前記有線通信又は前記無線通信のいずれか一方によって一の外部機器と接続しているときに、前記有線通信又は前記無線通信のいずれか他方によって他の外部機器からの接続があったとき、後の接続に係る外部機器に接続先を切り替える、
ことを特徴とする通信方法。
【請求項７】
複数の外部機器と接続しデータ通信を実行させる通信プログラムであって、
前記外部機器と有線通信を行う有線通信ステップと、
前記外部機器と無線通信を行う無線通信ステップと、
前記外部機器との接続が前記有線通信に係る接続か前記無線通信に係る接続かを判定する接続判定ステップと、
前記有線通信又は前記無線通信のいずれか一方によって一の外部機器と接続しているときに、前記有線通信又は前記無線通信のいずれか他方によって他の外部機器からの接続があったとき、後の接続に係る外部機器に接続先を切り替える切替ステップと、
をコンピュータに実行させることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法及び通信プログラムに関する。
【背景技術】
【０００２】
近年、電子化された情報の出力に用いる画像形成装置が欠かせない機器となっている。この画像形成装置を利用して画像データを出力する情報処理装置（画像データ出力装置）の小型化や可搬化に伴って、画像形成装置に対しても小型化及び可搬化（携帯化）のニーズは高まっている。そこで、画像形成装置から紙搬送機構を排除して小型化を図ったハンドヘルドモバイルプリンタが実用化されつつある。
【０００３】
ハンドヘルドモバイルプリンタは、画像データ出力装置から出力された画像データに基づく画像形成動作を実行するとき、利用者による手動走査が必要となる。また、画像データ出力装置からハンドヘルドモバイルプリンタへの画像データの入力は、通信インタフェースを介して行われる。
【０００４】
一般的に可搬型の機器が他の機器と通信を行うための通信Ｉ／Ｆは、有線接続型と無線接続型に区別される。したがって、ハンドヘルドモバイルプリンタも画像データ出力装置との接続に用いる通信インタフェースとして、無線接続型と有線接続型の両方の通信インタフェースを備えることになる。
【０００５】
従来から、画像形成装置と画像データ出力装置との通信インタフェースとして、ＵＳＢ（Ｕｎｉｖｅｒａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）による有線接続が知られている。そして、従来の画像形成装置が備える通信インタフェースを制御する装置として、ＵＳＢホスト機器と画像データなどの送受信を行う第１送受信機、及び第１送受信機とは別に設けられた第２送受信機、備えるＵＳＢ装置が開示されている（特許文献１を参照）。
【０００６】
特許文献１に開示されているＵＳＢ装置は、画像データ出力装置から受信した画像データに基づく画像形成処理を実行中であるとき（印刷処理を実行中であるとき）、ＵＳＢホスト機器にビジーステータスを送信する。これによって、画像データに対する処理が実行できない状態を、予め、ＵＳＢホスト機器からＵＳＢホスト装置へ伝えることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ハンドヘルドモバイルプリンタのように、無線と有線の両方の通信インタフェースを備える場合、無線よりも有線の通信を優先する方が、ユーザの利便性は向上することがある。すなわち、有線通信ができる状態であれば、無線通信に比べてデータの転送が確実に行える、有線通信の方が無線通信に比べてデータ転送速度が高速になる、などの理由により、ユーザが所望する画像形成処理を確実かつ高速に実行できるからである。したがって、無線通信と有線通信の両方に対応可能な通信装置を備える場合、無線通信ではなく有線通信を自動的に優先して利用できる状態にすることが、ユーザの利便性向上の実現につながる。
【０００８】
しかしながら、特許文献１に開示されているような従来技術では、無線接続に対して有線接続を優先するような通信制御は考慮されていない。したがって、従来の技術では、無線と有線の両方に対応する通信装置を備える情報処理機器において、ユーザの利便性を向上させることには課題があった。
【０００９】
本発明は、有線通信と無線通信を併用可能な通信装置において、ユーザの利便性を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の一態様は、複数の外部機器とのデータ通信を行う通信装置であって、前記外部機器と有線通信を行う有線通信手段と、前記外部機器と無線通信を行う無線通信手段と、前記外部機器との接続が前記有線通信に係る接続か前記無線通信に係る接続かを判定する接続判定手段と、前記有線通信又は前記無線通信のいずれか一方によって一の外部機器と接続しているときに、前記有線通信又は前記無線通信のいずれか他方によって他の外部機器からの接続があったとき、後の接続に係る外部機器に接続先を切り替える切替手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、有線通信と無線通信を併用可能な通信装置において、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るハンドヘルドプリンタを使用して行う画像形成の様子を模式的に示す図。
【図２】本発明の実施形態に係るハンドヘルドプリンタのハードウェア構成を示すブロック図。
【図３】本発明の実施形態に係る制御部の構成を示す機能ブロック図。
【図４】本発明の実施形態に係る判定処理部の内部構成を示す機能ブロック図。
【図５】本発明の実施形態に係る画像データ送信端末の構成を示すハードウェアブロック図。
【図６】本発明の実施形態に係る画像データ送信端末のコントローラの内部構成を示す機能ブロック図。
【図７】本発明の実施形態に係るハンドヘルドプリンタの現在位置と画像データが形成される領域との位置関係を例示した図。
【図８】本発明の実施形態に係るハンドヘルドプリンタの起動から画像形成の終了までの動作手順を示すシーケンス図。
【図９】本発明の実施形態に係るハンドヘルドプリンタの印刷実行処理の流れを示すフローチャート。
【図１０】本発明の実施形態に係るハンドヘルドプリンタの通信処理の流れを示すシーケンス図。
【図１１】本発明の実施形態に係るハンドヘルドプリンタの通信制御処理の別の流れを示すシーケンス図。
【図１２】上記ハンドヘルドプリンタに接続する端末の画面表示の例を示す図。
【図１３】上記ハンドヘルドプリンタに接続する端末の画面表示の別の例を示す図。
【図１４】上記ハンドヘルドプリンタに接続する端末の画面表示の別の例を示す図。
【図１５】上記ハンドヘルドプリンタに接続する端末の画面表示の別の例を示す図。
【図１６】上記ハンドヘルドプリンタの通信制御処理の流れを示すフローチャート。
【図１７】上記ハンドヘルドプリンタに接続する端末における通信制御処理の流れを示すフローチャート。
【図１８】上記ハンドヘルドプリンタに接続する端末の画面表示の別の例を示す図。
【発明を実施するための形態】
【００１３】
［画像形成システム１０００の実施形態］
以下、図面を参照して、本発明に係る通信装置の実施形態について説明する。本発明に係る通信装置は、ハンドヘルドモバイルプリンタのような可搬型の画像形成装置にも適用可能なものである。そこで、以下の説明では、本発明に係る通信装置を適用可能な実施形態として、可搬型の画像形成装置の一種であり、画像形成出力時に利用者による手動走査を必要とする「ハンドヘルドプリンタ１」を例に用いる。
【００１４】
図１は、ハンドヘルドプリンタ１と、情報出力機器の実施形態である画像データ送信装置２を含んで構成される画像形成システム１０００において、ハンドヘルドプリンタ１を使用した画像形成処理（画像形成操作）を行う様子を模式的に示す図である。ハンドヘルドプリンタ１は、画像データ送信装置２から受信する画像データに基づく画像形成処理を行う前に、画像データ送信装置２との間で無線または有線による通信接続状態を確立する。
【００１５】
画像データ送信装置２には、無線接続インタフェース（以下、「Ｉ／Ｆ」と表記する。）を介してハンドヘルドプリンタ１と接続するスマートフォンなどの無線端末２ａや、有線接続Ｉ／Ｆを介してハンドヘルドプリンタ１と接続するＰＣなどの有線端末２ｂが含まれる。以下、本明細書において、通信Ｉ／Ｆの形式を限定しない情報出力機器に基づく説明をするときは、単に「画像データ送信装置２」と表記し、無線端末２ａと有線端末２ｂを区別しないものとする。
【００１６】
図１に示すように、ハンドヘルドプリンタ１が画像データ送信装置２から画像データを受信して記録媒体３に画像を形成するときには、ユーザ４は、記録媒体３に対してハンドヘルドプリンタ１を手動で走査させる。ハンドヘルドプリンタ１は、記録媒体３に対し、自己の位置に応じてインク等の着色剤を含む液滴を吐出する。これによって、ハンドヘルドプリンタ１を用いて画像データ送信装置２から受信した画像データに基づく画像形成出力が実行される。
【００１７】
本実施形態において記録媒体３は、図１に例示するような、ノートやコピー用紙等の平面部分を有する部材とする。例えば、定形用紙などである。なお、記録媒体３として適用可能な部材は、ハンドヘルドプリンタ１による手動走査が可能なものであれば、その材質や形状を特には問わないものとする。したがって、記録媒体３として、手動走査に伴って移動するハンドヘルドプリンタ１の位置が検知可能な媒体であればよく、曲面を含む媒体であってもよい。
【００１８】
次に、ハンドヘルドプリンタ１のハードウェア構成について図２を参照して説明する。図２に示すように、ハンドヘルドプリンタ１は、制御部１０１、電源回路１４０、電源１４１、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３、ＯＰＵ（Ｏｐｅｒａｔｉｏｎ  Ｐａｎｅｌ  Ｕｎｉｔ）１０４、ナビゲーションセンサ１０５、ＩＪ（インクジェット）記録ヘッド駆動回路１０７、ＩＪ記録ヘッド１０８、および、通信Ｉ／Ｆ１０９を含んで構成される。
【００１９】
制御部１０１は、ハンドヘルドプリンタ１全体の動作を制御する。制御部１０１の機能構成については後述する。また、制御部１０１には、ＤＲＡＭ１０２、ＲＯＭ１０３、ＯＰＵ１０４、ナビゲーションセンサ１０５、ジャイロセンサ１０６、ＩＪ記録ヘッド駆動回路１０７、および、通信Ｉ／Ｆ１０９が電気的に接続されている。
【００２０】
電源１４１としては、乾電池、充電池、太陽電池、燃料電池等を用いることができる。電源回路１４０は、図２の点線１００で囲まれた各部とそれぞれ電気線によって接続されており、電源１４１が供給する電力を、ハンドヘルドプリンタ１を構成する各部に分配する。
【００２１】
また、電源回路１４０は、ハンドヘルドプリンタ１を構成する各部に電力を分配するに際し、電源１４１の電圧を各部に適した電圧に昇圧もしくは降圧する。なお、電源１４１として充放電が可能な電池が用いられる場合はこれを充電する機能を備える。例えば、電源回路１４０が、ハンドヘルドプリンタ１に対する商用電源の接続を検知して電源１４１を充電するための回路に接続させる。
【００２２】
ＤＲＡＭ１０２は、揮発性の記憶媒体であり、通信Ｉ／Ｆ１０９を介して画像データ送信装置２から受信した画像データを記憶し、または、ＲＯＭ１０３から展開されたファームウェアを記憶する。ＤＲＡＭ１０２は、制御部１０１のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１（図３を参照）がファームウェアを実行する際のワークメモリとして用いられる。
【００２３】
ＲＯＭ１０３は、不揮発性の記憶媒体であり、制御部１０１が実行するハンドヘルドプリンタ１のハードウェア制御を行うためのファームウェアなどの各種プログラムを格納している。また、ＲＯＭ１０３には、ＩＪ記録ヘッド１０８に吐出動作を行わせるための駆動波形データや、ハンドヘルドプリンタ１の初期設定データ等も格納している。
【００２４】
ＯＰＵ１０４は、ユーザ４からの操作を受け付ける操作部と、ハンドヘルドプリンタ１の状態を表示するための表示部を兼ねる操作表示部であって、ＬＥＤ、スイッチ（例えば、ＬＥＤスイッチや電源スイッチ）等によって構成される。また、ＯＰＵ１０４として、液晶パネルやタッチパネル式のディスプレイ等の表示機構、音を発する発音機構を用いてもよい。
【００２５】
ナビゲーションセンサ１０５は、ハンドヘルドプリンタ１やＩＪ記録ヘッド１０８の位置に関して、その移動量、回転量、加速度などをサンプリング周期ごとに検知して出力するセンサである。
【００２６】
ナビゲーションセンサ１０５の構成として、例えば、発光ダイオードやレーザなどの光源と、記録媒体３を撮像する撮像素子とを組み合わせた光学式距離測定センサが用いられる。なお、ナビゲーションセンサ１０５の構成として加速度センサを用いてもよい。
【００２７】
ナビゲーションセンサ１０５を構成する光学式距離測定センサは、記録媒体３上におけるハンドヘルドプリンタ１の走査に応じて記録媒体３の表面の色や明るさの変化点であるエッジを検知することができる。ナビゲーションセンサ１０５によるエッジの検知信号は制御部１０１に入力され、制御部１０１は、エッジ間の距離に基づいてハンドヘルドプリンタ１の移動量を算出する。
【００２８】
ジャイロセンサ１０６は、ハンドヘルドプリンタ１の移動による角速度を検知して、検知した角速度を積分することにより、回転角θを検知することができる。ジャイロセンサ１０６の検知結果に基づいて、ハンドヘルドプリンタ１の姿勢（傾き）が判定可能になる。これによって、画像形成出力の走査時に、ハンドヘルドプリンタ１が記録媒体３から浮いたり、ＩＪ記録ヘッド１０８から記録媒体３に対する液滴の吐出方向が傾斜したり、正常な画像形成に支障が生ずる状態になっていることをユーザ４に通知することができる。さらに、加速度センサが含まれてナビゲーションセンサ１０５が構成されている場合、ジャイロセンサ１０６の検知結果と組み合わせることにより、ハンドヘルドプリンタ１本体の向きや傾きなどをより精度よく検知することができる。ナビゲーションセンサ１０５とジャイロセンサ１０６が移動量検知部として機能する。
【００２９】
ＩＪ記録ヘッド駆動回路１０７は、制御部１０１から出力される駆動波形データに基づいて、ＩＪ記録ヘッド１０８を駆動するための駆動電圧を生成する。ＩＪ記録ヘッド駆動回路１０７は、ＩＪ記録ヘッド１０８から吐出するインクの液滴の大きさに応じた駆動電圧を生成する。
【００３０】
ＩＪ記録ヘッド１０８は、インク（液滴）を吐出する液滴吐出部である。本実施形態では、ＣＭＹＫの４色のインクを吐出可能な構成を例示しているが、単色のインクを吐出する構成、または、５色以上のインクを吐出する構成を用いることもできる。ＩＪ記録ヘッド１０８は、ＩＪ記録ヘッド駆動回路１０７から出力される駆動電圧によってインクを記録媒体３に向けて吐出する。
【００３１】
ＩＪ記録ヘッド１０８の駆動方式としては、ピエゾ素子等の圧電素子を用いたピエゾ式、インクを加熱して発生する泡を利用してインクを吐出するサーマル式等を用いることができる。
【００３２】
なお、本実施形態においては、ナビゲーションセンサ１０５によってハンドヘルドプリンタ１の移動方向及び移動量を判定するために用いられる各種の情報は、予めＲＯＭ１０３等の記憶媒体に格納されているものとする。ここで、「各種の情報」とは、例えば、ナビゲーションセンサ１０５からＩＪ記録ヘッド１０８の端部までの距離、ＩＪ記録ヘッド１０８の端部から最も近い位置に配列されているノズルと当該ＩＪ記録ヘッド１０８の端部との距離などである。また、ＩＪ記録ヘッド１０８に配列されているノズル間の距離なども各種の情報に含まれる。
【００３３】
通信Ｉ／Ｆ１０９は、外部装置とのデータ通信を行うための接続を、各種の無線通信規格、例えば、無線ＬＡＮやＮＦＣ等に対応した通信、または、有線ＬＡＮやＵＳＢ等の有線通信で行うための構成である。通信Ｉ／Ｆを介して、ハンドヘルドプリンタ１は、外部機器である画像データ送信装置２やその他の情報処理装置と通信を行う。なお、通信Ｉ／Ｆ１０９は複数の接続を同時に行うことができる構成であって、複数の外部機器と同時にデータ通信可能状態を確立させることができる。したがって、通信Ｉ／Ｆ１０９は、有線通信手段と無線通信手段を構成する。
【００３４】
また、通信Ｉ／Ｆ１０９は、一の外部機器との接続時に他の外部機器からの接続があったとき、後に接続された外部機器をデータ通信が可能な接続先として切り替える切替手段も構成する。例えば、無線端末２ａとのデータ通信が可能な接続状態であったときに、有線端末２ｂからのデータ通信が可能な接続が行われたとき、無線端末２ａから有線端末２ｂにデータ通信の通信相手を切り替える。そして、接続先が切り替えられた無線端末２ａに対しては、データ通信が許可されない状態（画像データの送信を許可しない状態）であることを知らせる通信状態変更通知が送信される。通信Ｉ／Ｆ１０９は、通信状態変更通知を送信する通知送信手段も構成する。
【００３５】
なお、「通信相手を切り替える」とは、有線端末２ｂとの通信が可能になるまでは通信相手であった無線端末２ａを、通信相手から外す、すなわち、無線端末２ａから送信されてくるデータを受信しない状態にすることをいう。または、「通信相手を切り替える」とは、有線端末２ｂとの通信が可能になるまでは通信相手であった無線端末２ａにおいて、ハンドヘルドプリンタ１へのデータ通信が許可されない状態に遷移させる制御を行うことをいう。
【００３６】
なお、通信状態変更通知には、上記のようにデータ通信が許可されない状態であることを通知する接続停止通知の他に、接続先として切り戻されたときにデータ通信が開催される接続再開通知も含まれる。
【００３７】
［制御部１０１の内部機能ブロック］
次に、図３を参照して、本実施形態に係る制御部１０１の内部構成について説明する。図３は、本実施形態に係る制御部１０１の構成を示す機能ブロック図である。本実施形態に係る制御部１０１は、ＳｏＣ（Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）１１０、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）／ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）１２０により構成される。ＳｏＣ１１０とＡＳＩＣ／ＦＰＧＡ１２０との間の通信は、バス１３１Ａ、１３１Ｂを介して行われる。
【００３８】
なお、ＡＳＩＣ／ＦＰＧＡ１２０は、ＡＳＩＣまたはＦＰＧＡのどちらの実装技術を用いて設計されてもよいものである。また、ＡＳＩＣ／ＦＰＧＡ１２０は、ＡＳＩＣ、ＦＰＧＡ以外の実装技術を用いる構成であってもよい。また、ＳｏＣ１１０とＡＳＩＣ／ＦＰＧＡ１２０とを別々のチップではなく、１つのチップまたは基板上、あるいは、３つ以上のチップまたは基板上に実装してもよい。
【００３９】
ＳｏＣ１１０は、バス１３１Ａを介して接続されたＣＰＵ１１１、位置算出部１１２、判定処理部１１３、メモリＣＴＬ（コントローラ）１１４、ＲＯＭＣＴＬ（コントローラ）１１５を含む。なお、ＳｏＣ１１０は、上記以外の機能を含んで構成されてもよい。
【００４０】
ＡＳＩＣ／ＦＰＧＡ１２０は、バス１３１Ｂを介して接続されたイメージＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２１、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）１２２、回転処理部１２３、割込みコントローラ１２４、ナビゲーションセンサＩ／Ｆ１２５、印字／センサタイミング生成部１２６、ＩＪ記録ヘッド制御部１２７、ジャイロセンサＩ／Ｆ１２８、通信制御部１２９を含む。なお、ＡＳＩＣ／ＦＰＧＡ１２０は、上記以外の機能を含んで構成されてもよい。
【００４１】
ＣＰＵ１１１は、ＲＯＭ１０３からＤＲＡＭ１０２に展開されたファームウェア等を実行し、ＳｏＣ１１０内の位置算出部１１２、判定処理部１１３、メモリＣＴＬ１１４、ＲＯＭＣＴＬ１１５の動作を制御する。
【００４２】
さらに、ＣＰＵ１１１は、ＡＳＩＣ／ＦＰＧＡ１２０内のイメージＲＡＭ１２１、ＤＭＡＣ１２２、回転処理部１２３、割込みコントローラ１２４、ナビゲーションセンサＩ／Ｆ１２５、印字／センサタイミング生成部１２６、ＩＪ記録ヘッド制御部１２７、ジャイロセンサＩ／Ｆ１２８、通信制御部１２９の動作を制御する。そして、ＣＰＵ１１１は、これらの各部を制御することにより、ハンドヘルドプリンタ１を構成する各部の機能を実現する。
【００４３】
位置算出部１１２は、ナビゲーションセンサ１０５とジャイロセンサ１０６からサンプリング周期ごとに入力されるハンドヘルドプリンタ１の移動量に基づいて、ハンドヘルドプリンタ１の位置を算出する。ハンドヘルドプリンタ１の位置とは、厳密にはＩＪ記録ヘッド１０８のノズルの位置のことであるが、ナビゲーションセンサ１０５が存在する位置が分かればノズルの位置を算出することができる。
【００４４】
位置算出部１１２は、所定の原点、例えば、画像形成出力の開始時におけるハンドヘルドプリンタ１の初期位置を基準にナビゲーションセンサ１０５の位置を算出する。また、位置算出部１１２は、過去のナビゲーションセンサ１０５の位置の算出結果と最も新しいナビゲーションセンサ１０５の位置の算出結果との差に基づいて、次回のサンプリング周期におけるハンドヘルドプリンタ１の移動速度や移動方向を推定する。
【００４５】
位置算出部１１２は、ハンドヘルドプリンタ１の移動速度や移動方向の推定結果に基づいて、次回のサンプリング周期におけるナビゲーションセンサ１０５の位置を予測する構成であってもよい。
【００４６】
判定処理部１１３は、位置算出部１１２によるハンドヘルドプリンタ１の位置の算出結果および画像データ送信装置２から受信した画像領域情報に基づいて、ハンドヘルドプリンタ１が画像領域３００内を走査しているか否かを判定する。また、判定処理部１１３は、通信Ｉ／Ｆ１０９における画像データ送信装置２の接続状況を通信制御部１２９から受信し、ハンドヘルドプリンタ１に接続している外部機器の状況（有線通信であるか無線通信であるか）を判定する。判定処理部１１３は、接続判定手段を構成する。
【００４７】
上述したように、ハンドヘルドプリンタ１の位置とは、厳密には記録ヘッドのノズルの位置のことであるが、ナビゲーションセンサ１０５が存在する位置が分かればノズルの位置を算出することができる。ゆえに、判定処理部１１３は、ハンドヘルドプリンタ１の位置の算出結果から、ＩＪ記録ヘッド１０８に配列されているノズルの位置を算出し、ノズルの位置が画像領域３００内を走査可能な箇所にあるか否かを判定する構成であってもよい。
【００４８】
なお、「画像領域情報」とは、ユーザ４がハンドヘルドプリンタ１による画像形成出力の対象として選択した画像データに基づいて定められる情報である。また、画像領域情報は、画像形成出力の対象として選択された画像データが形成される記録媒体３上の領域を示す情報である。
【００４９】
メモリＣＴＬ１１４は、ＤＲＡＭ１０２とのＩ／Ｆであり、ＤＲＡＭ１０２に対しデータを要求する。メモリＣＴＬ１１４は、ＤＲＡＭ１０２から取得したファームウェアをＣＰＵ１１１に転送し、また、ＤＲＡＭ１０２から取得した画像データをＡＳＩＣ／ＦＰＧＡ１２０に転送する。
【００５０】
ＲＯＭＣＴＬ１１５は、ＲＯＭ１０３とのＩ／Ｆであり、ＲＯＭ１０３に対しデータを要求する。ＲＯＭＣＴＬ１１５は、ＲＯＭ１０３から取得したデータをＣＰＵ１１１やＡＳＩＣ／ＦＰＧＡ１２０に転送する。
【００５１】
イメージＲＡＭ１２１は、ＤＭＡＣ１２２が取得した画像データを一時的に格納する。すなわち、イメージＲＡＭ１２１において画像データがバッファリングされ、ハンドヘルドプリンタ１の位置に応じた周辺画像がイメージＲＡＭ１２１にバッファリングされた画像データから読み出される。
【００５２】
回転処理部１２３は、ＩＪ記録ヘッド１０８およびＩＪ記録ヘッド１０８内のノズル位置に応じて、ＤＭＡＣ１２２が取得した画像データに対する回転処理を行う。ＤＭＡＣ１２２は回転処理後の画像データをＩＪ記録ヘッド制御部１２７に出力する。
【００５３】
回転処理部１２３は、例えば、位置算出部１１２が、ハンドヘルドプリンタ１の位置を算出する際に算出した回転角θを取得し、その回転角θを用いて周辺画像に対して回転処理を実行する。なお、このときの回転角θは、画像形成出力を開始する際のハンドヘルドプリンタ１が記録媒体３の平面上において、記録媒体３に対する正常な画像形成を実行する姿勢を基準とした場合の傾きの角度である。
【００５４】
割込みコントローラ１２４は、ナビゲーションセンサＩ／Ｆ１２５がナビゲーションセンサ１０５との通信を完了したこと、およびジャイロセンサＩ／Ｆ１２８がジャイロセンサ１０６との通信を完了したこと、を検知して、ＳｏＣ１１０に対して、その通信の完了を通知するための割り込み信号を出力する。ＣＰＵ１１１はこの割り込み信号によって、ナビゲーションセンサＩ／Ｆ１２５が内部レジスタに記憶しているナビゲーションセンサ１０５の移動量を取得する。また、割込みコントローラ１２４は、エラーなどのステータス通知機能も有する。
【００５５】
印字／センサタイミング生成部１２６は、ナビゲーションセンサＩ／Ｆ１２５にナビゲーションセンサ１０５の検知信号を読み取るタイミングを通知し、また、ＩＪ記録ヘッド制御部１２７に駆動タイミングを通知する。ＩＪ記録ヘッド制御部１２７は、ノズル位置がインクを吐出すべき目標吐出位置に到達したと判断されるとインクを記録媒体３に対して吐出する。
【００５６】
通信制御部１２９は、通信Ｉ／Ｆ１０９に無線端末２ａや有線端末２ｂが接続されていることを検知して判定処理部１１３に接続状態を通知する。また、通信制御部１２９は、ＣＰＵ１１１からの通知される接続状態変更通知である「オフライン通知」及び「オンライン通知」を接続されている画像データ送信装置２に通知する。さらに、通信制御部１２９は、通信Ｉ／Ｆ１０９に接続される無線端末２ａや有線端末２ｂとの通信を制御する。
【００５７】
なお、オフライン通知とは、ハンドヘルドプリンタ１と、データ通信可能な状態を先に確立している画像データ送信装置２があるときに、後に異なる画像データ送信装置２からのデータ通信確立要求があったとき、先の画像データ送信装置２に対して送信される。オフライン通知は、接続停止通知に相当する。
【００５８】
また、オンライン通知とは、接続停止通知を受信した画像データ送信装置２があるときに、後にデータ通信確立要求をした画像データ送信装置２の接続が解除されたとき、接続停止通知を受信していた画像データ送信装置２に対して送信される。オンライン通知は、接続再開通知に相当する。
【００５９】
より詳しくは、オフライン通知とは、無線端末２ａが通信Ｉ／Ｆ１０９に接続されていて、当該無線端末２ａから画像データを受信可能な状態になっているときに、有線端末２ｂが通信Ｉ／Ｆ１０９に接続されていたことを無線端末２ａに知らせるための情報である。また、オンライン通知とは、後に接続された有線端末２ｂとの接続が解除されたとき（通信Ｉ／Ｆ１０９との接続が外されたとき、無通信状態が一定時間継続したときなど）に、無線端末２ａに、画像データの受信を開催できる状態になっていることを知らせるための情報である。
【００６０】
［判定処理部１１３の機能構成］
次に、本実施形態に係る判定処理部１１３の詳細な構成について図４を参照して説明する。図４は、判定処理部１１３の内部構成を示す機能ブロック図である。判定処理部１１３は、位置情報取得部１３２、画像領域情報取得部１３３、比較判定部１３４、判定結果出力部１３５、通信状態判定部１３６を含む。
【００６１】
位置情報取得部１３２は、位置算出部１１２が算出したハンドヘルドプリンタ１の位置の情報を取得する。なお、位置情報取得部１３２は、ＩＪ記録ヘッド１０８に配列されているノズルの位置の情報を取得する構成であってもよい。
【００６２】
画像領域情報取得部１３３は、ユーザ４がハンドヘルドプリンタ１による画像形成出力の対象として選択した画像データが形成される記録媒体３上の領域を示す画像領域情報をＤＲＡＭ１０２などの記憶媒体から取得する。なお、画像領域情報は、画像データ送信装置２からハンドヘルドプリンタ１に送信され、ＤＲＡＭ１０２等の記憶媒体に格納される。
【００６３】
比較判定部１３４は、位置情報取得部１３２が取得したハンドヘルドプリンタ１の位置の情報および画像領域情報に基づいて、ハンドヘルドプリンタ１の現在の走査位置が画像領域３００内であるか否かを判定する。
【００６４】
判定結果出力部１３５は、比較判定部１３４によるハンドヘルドプリンタ１の現在の走査位置が画像領域３００内であるか否かの判定結果をＣＰＵ１１１に出力する。また、判定結果出力部１３５は、通信状態判定部１３６による画像データ送信装置２の接続状況の判定結果をＣＰＵ１１１に出力する。判定結果出力部１３５及び通信状態判定部１３６は、接続判定手段を構成する。
【００６５】
通信状態判定部１３６は、通信制御部１２９が取得したハンドヘルドプリンタ１に接続されている画像データ送信装置２が無線端末２ａであるか有線端末２ｂであるかを判定し、その判定結果を、判定結果出力部１３５に通知する。すなわち、通信状態判定部１３６によって、ハンドヘルドプリンタ１に対して、無線端末２ａと有線端末２ｂの両方が接続されている状態であるか、いずれか一方が接続されている状態あるか、を示す接続状態が判定される。
【００６６】
ＣＰＵ１１１は、判定結果出力部１３５から受信したハンドヘルドプリンタ１の現在の走査位置が画像領域３００内であるか否かの判定結果に基づいて、ユーザ４に対してハンドヘルドプリンタ１の現在の走査位置に関する通知（画像領域外通知）を行う。
【００６７】
またＣＰＵ１１１は、判定結果出力部１３５から受信したハンドヘルドプリンタ１における接続情報に基づいて、接続されている画像データ送信装置２への通知の種類を決定し、決定した通知である接続状態変更通知（オフライン通知など）を通信制御部１２９に送信する。ＣＰＵ１１１は、通信制御部１２９に接続状態変更通知を通信制御部１２９に送信するとともに、後に接続された画像データ送信装置２からとのデータ通信を受け付けるように接続先を切り替える処理を制御する。ＣＰＵ１１１は、切替手段を構成する。
【００６８】
なお、ＣＰＵ１１１は、ユーザ４に対する画像領域外通知やオフライン通知またはオンライン通知として、例えば、ＬＥＤスイッチや電源スイッチなどのＯＰＵ１０４を点滅させる制御によって通知を行う。また、ＯＰＵ１０４に発音機構が含まれる構成の場合、ＣＰＵ１１１は、ブザーや音声ガイダンスによる画像領域外通知やオフライン通知またはオンライン通知を行う。したがって、ＣＰＵ１１１とＯＰＵ１０４とが協働して判定結果通知部として機能する。
【００６９】
また、ＣＰＵ１１１は、ＤＲＡＭ１０２に展開されているアプリケーションによって、画像領域外通知のための通知情報を生成、接続状態に基づく通知情報を生成、をし、これらを画像データ送信装置２に送信する構成であってもよい。通知情報を受信すると、画像データ送信装置２では、例えば、「画像が印刷されている範囲から離れています」などの文字情報の表示や音声ガイダンスによって画像領域外通知が行なわれる。
【００７０】
また、通知情報を受信すると、画像データ送信装置２では、例えば「他の機器で利用中です。利用が終わるまでお待ちください。」などの文字情報の表示や音声ガイダンスによって画像データ送信不許可状態であることをユーザ４に知らせる通知が行なわれる。したがって、ＣＰＵ１１１と画像データ送信装置２とが協働して判定結果通知部として機能する。
【００７１】
［画像データ送信装置２のハードウェア構成］
次に、画像データ送信装置２のハードウェア構成について説明する。図５は、無線端末２ａのハードウェア構成を示している。本実施形態に係る無線端末２ａは、一般的なＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置と同様の構成を有する。すなわち、本実施形態に係る無線端末２ａは、ＣＰＵ２１１、ＲＡＭ２２１、ＲＯＭ２３１、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶媒体２４１、Ｉ／Ｆ２５１がバス２９１を介して接続されている。
【００７２】
また、上記の構成に加え、無線端末２ａは、Ｉ／Ｆ２５１を介してＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの表示部２６１やキーボードなどの操作部２７１、ＮＦＣや無線ＬＡＮ等により、ハンドヘルドプリンタ１やその他の情報処理装置と通信を行う無線通信部２８１が接続されて構成されている。
【００７３】
ＣＰＵ２１１は演算手段であり、画像データ送信装置２全体の動作を制御する。ＲＡＭ２２１は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ２１１が情報を処理する際の作業領域（ワーキングメモリ）として用いられる。ＲＯＭ２３１は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。
【００７４】
記憶媒体２４１は、ＨＤＤ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム（以後、アプリケーション）等が格納されている。Ｉ／Ｆ２５１は、バス２９１と、表示部２６１および操作部２７１などの各種のハードウェアや無線通信部２８１を介してネットワーク等を接続し制御する。
【００７５】
表示部２６１は、Ｉ／Ｆ２５１を介して受信した画像データ送信装置２の状態をユーザ４が確認するユーザＩ／Ｆである。操作部２７０は、キーボードなどによって構成され、ユーザ４が画像データ送信装置２に情報を入力するためのユーザＩ／Ｆである。なお、表示部２６１および操作部２７１を、動作原理方式として抵抗膜方式、表面弾性波方式、静電容量方式等が用いられたタッチパネルとして構成してもよい。
【００７６】
このようなハードウェア構成において、ＲＯＭ２３１に格納されたプログラムや記憶媒体２４１からＲＡＭ２２１に読み出されたプログラムに従ってＣＰＵ２１１が演算を行うことにより、図７において説明するコントローラ２００の内部機能が構成される。なおコントローラ２００の内部機能と、ハードウェアとの組み合わせによって、無線端末２ａの機能を実現する機能ブロックが構成される。
【００７７】
図６は、有線端末２ｂのハードウェア構成を示している。本実施形態に係る有線端末２ｂも、一般的なＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の情報処理装置と同様の構成を有する。すなわち、本実施形態に係る有線端末２ｂは、ＣＰＵ２１２、ＲＡＭ２２２、ＲＯＭ２３２、ＨＤＤ等の記憶媒体２４２、Ｉ／Ｆ２５２がバス２９２を介して接続されている。なお、図６に示すとおり、無線端末２ａと有線端末２ｂの違いは、無線通信部２８１と有線通信部２８２にある。すなわち、有線通信部２８２以外の構成は、無線端末２ａのものと同様であるので詳細な説明を省略する。
【００７８】
Ｉ／Ｆ２５２は、バス２９２と、表示部２６２および操作部２７２などの各種のハードウェアや有線通信部２８２を介してネットワーク等を接続し制御する。有線通信部２８２は、有線端末２ｂとの接続および通信可能状態を検知するための構成が含まれている。
【００７９】
［コントローラ２００の機能ブロック］
次に、画像データ送信装置２のコントローラ２００の内部機能について説明する。図７は、本実施形態に係るコントローラ２００の内部機能の構成を示す機能ブロック図である。なお、このコントローラ２００は、無線端末２ａ及び有線端末２ｂにおいて共通するものである。
【００８０】
コントローラ２００は、画像処理部２０１、画像領域算出部２０２、表示制御部２０３、操作制御部２０４、通信制御部２０５を含む。画像処理部２０１は、ユーザ４がハンドヘルドプリンタ１による画像形成出力の対象として選択した画像データを、ハンドヘルドプリンタ１で出力可能な形式に変換する処理を行う。
【００８１】
このとき、画像処理部２０１は、画像形成出力に際してユーザ４によって設定された条件、例えば、モノクロ／カラー印刷、拡大／縮小などの条件を適用して、画像データをハンドヘルドプリンタ１で出力可能な形式に変換する処理を行う。
【００８２】
画像領域算出部２０２は、画像処理部２０１によって処理された画像データに基づいて、ユーザ４がハンドヘルドプリンタ１による画像形成出力の対象として選択した画像データが形成される領域を算出して画像領域情報を生成する。なお、ユーザ４の指定によって画像データが形成される領域を決定して画像領域情報を生成する構成であってもよい。
【００８３】
表示制御部２０３は、表示部２６０に表示される画面の制御を実行する。例えば、表示制御部２０３は、ハンドヘルドプリンタ１から画像領域外通知情報を受信した場合に、その画像領域外通知情報に基づいた画面を表示部２６０に表示させる。
【００８４】
また、表示制御部２０３は、ハンドヘルドプリンタ１からオフライン通知を受信した場合に、そのオフライン通知に基づいた画面を表示部２６０に表示させる。
【００８５】
操作制御部２０４は、ユーザ４による操作部２７０の操作に基づいた制御情報を生成し、コントローラ２００を構成する各部に送信する。通信制御部２０５は、ハンドヘルドプリンタ１との通信を制御し、ハンドヘルドプリンタ１との情報の送受信を制御する。
【００８６】
以上説明したような構成によって、本実施形態に係る画像形成システム１０００では、画像データ送信装置２から受信した画像データに基づいてハンドヘルドプリンタ１を使用して記録媒体３に対する画像形成出力を実行する。
【００８７】
ハンドヘルドプリンタ１を使用した画像形成出力の際には、ユーザ４がハンドヘルドプリンタ１を把持した状態で記録媒体３上を走査させる。ゆえに、記録媒体３上において仮想的に設定される画像領域の内側をハンドヘルドプリンタ１が走査していれば画像形成出力が行われる。
【００８８】
なお、記録媒体３には、画像領域３００を示すマーカー等は示されていないので、ユーザ４がハンドヘルドプリンタ１を走査しながら、その位置が画像領域３００の内側に相当することを認識することは困難である。したがって、ユーザ４は、画像形成出力対象の画像を全て印刷するために記録媒体３上をくまなく走査することになる。
【００８９】
本実施形態に係るハンドヘルドプリンタ１は、ユーザ４による画像形成出力時の走査を効率的に行えるように、ハンドヘルドプリンタ１の現在位置と、記録媒体３において画像データが形成される領域である画像領域３００との位置関係をユーザ４に通知する。これによって、記録媒体３上におけるユーザ４による不要なハンドヘルドプリンタ１の走査を減らすことができ、画像形成出力を効率よく行えるようにする。
【００９０】
なお、ハンドヘルドプリンタ１の現在位置と、記録媒体３において画像データが形成される領域との位置関係について、主に三つの例に区別される。第一例は、ハンドヘルドプリンタ１が画像領域３００内から画像領域３００外に離れようとする場合である。また、第二例は、画像領域３００外にあるハンドヘルドプリンタ１が走査により、画像領域３００から離れようとしている場合である。第三例は、画像領域３００外にあるハンドヘルドプリンタ１が画像領域３００に接近する方向に走査されており、画像領域３００内に入ろうとしている場合である。
【００９１】
［画像形成出力動作の実施形態］
次に、本実施形態に係るハンドヘルドプリンタ１を用いた画像形成出力動作の流れについて説明する。図８は、本実施形態に係るハンドヘルドプリンタ１の起動から画像形成の終了までの動作手順を示すシーケンス図である。
【００９２】
図８の処理において、ＣＰＵ１１１が実行主体として記載されている処理は、ＣＰＵ１１１がファームウェア等を実行することにより、利用可能となる機能によって実現される処理である。
【００９３】
ユーザ４がハンドヘルドプリンタ１の電源スイッチを押下する（Ｓ８０１）と、ハンドヘルドプリンタ１は電源１４１からの電源供給を開始する（Ｓ８０２）。電源供給が開始されるとＣＰＵ１１１は、ハンドヘルドプリンタ１を構成する各電子デバイス、例えば、ＡＳＩＣ／ＦＰＧＡ１２０などの各構成要素を初期状態にするための初期化処理を実行する（Ｓ８０３）。
【００９４】
ハンドヘルドプリンタ１の各構成要素の初期化が完了すると、ＣＰＵ１１１は、電源スイッチのバックライトとして搭載されているＬＥＤを点灯させるなどして、ユーザ４に対してハンドヘルドプリンタ１が使用可能な状態となったことを通知する初期化完了通知を実行する（Ｓ８０４）。なお、ＯＰＵ１０４として発音機構が実装されている場合、ユーザ４に対して音声によって初期化完了通知を行う構成であってもよい。
【００９５】
ユーザ４は、ハンドヘルドプリンタ１が使用可能な状態になったことを認識したのち、画像データ送信装置２においてハンドヘルドプリンタ１を使用するためのアプリケーションを起動する（Ｓ８０５）。画像データ送信装置２において起動されたアプリケーション（以下、「アプリ」と略す。）は、画像データ送信装置２の利用開始処理を実行する（Ｓ８０６）。
【００９６】
利用開始処理（Ｓ８０６）は、ハンドヘルドプリンタ１に対する通信処理を行える状態になるように、画像データ送信装置２とハンドヘルドプリンタ１との間の通信状態を確立する処理であって、ハンドヘルドプリンタ１の状態を示す情報を受け取る処理を含む。
【００９７】
ユーザ４は、ハンドヘルドプリンタ１の利用開始処理が完了した後に、ハンドヘルドプリンタ１を使用して印刷する画像（画像形成出力対象の画像）を画像データ送信装置２に表示させるなどして選択する（Ｓ８０７）。図１８は、Ｓ８０７において、画像データ送信装置２の表示部（２６１，２６２）において表示される表示例である。図１８に示す表示２６ａのように、画像データ送信装置２は、画像形成出力の対象となるデータの選択や、接続しているハンドヘルドプリンタ１の状況（電池残量やインク残量など）をアプリの画面において表示する。
【００９８】
図８に戻る。そして、画像データ送信装置２においてＳ８０７で選択された画像の印刷を実行する操作がユーザ４によって行われると、画像データ送信装置２は、印刷ジョブおよび画像領域情報を生成してハンドヘルドプリンタ１に送信する（Ｓ８０８）。
【００９９】
なお、画像データ送信装置２にインストールされているアプリは、ユーザ４によってＳ８０７で選択された画像の印刷を実行する操作が行われると、プリンタドライバを呼び出して印刷条件と画像データを所定の形式で記述して、ハンドヘルドプリンタ１に送信する。なお、プリンタドライバを介さずに、画像データをＴＩＦＦやＪＰＥＧ等のままハンドヘルドプリンタ１に送信する構成であってもよい。
【０１００】
また、画像領域算出部２０２は、ユーザ４によって画像形成対象の画像として選択された画像データの左上端部を原点として、画像領域情報を生成する。また、画像領域算出部２０２は、ハンドヘルドプリンタ１本体の幅などを考慮して、実際に画像が形成される領域のまわりにマージンを持たせて画像領域情報を生成してもよい。
【０１０１】
ハンドヘルドプリンタ１に画像データの送信が開始されると（Ｓ８０８）、ＣＰＵ１１１は、例えば、ＬＥＤスイッチを点滅させるなどして、画像データの受信中であることをユーザ４に通知する（Ｓ８０９）。
【０１０２】
そして、画像データの受信が完了すると、ＣＰＵ１１１は、点滅させていたＬＥＤスイッチを点灯状態にさせるなどして、ユーザ４に対して画像データの受信が完了したことを通知する（Ｓ８１０）。ＣＰＵ１１１は、受信した画像データをＤＭＡＣ１２２に転送する。
【０１０３】
なお、ＯＰＵ１０４として、発音機構を備えている場合には、Ｓ８０７の画像データ受信通知やＳ８０８の画像データ受信完了通知を音声により行う構成であってもよい。
【０１０４】
ユーザ４は、ハンドヘルドプリンタ１において画像データの受信が完了したことを認識すると、記録媒体３の上でハンドヘルドプリンタ１の初期位置、すなわち、画像形成の開始位置を決定する（Ｓ８１１）。
【０１０５】
ユーザ４は、例えば、ハンドヘルドプリンタ１を記録媒体３上の任意の位置に置く動作によって、初期位置を決定する。初期位置を決定したのち、ユーザ４は、画像形成出力の開始予定位置として記録媒体３上の任意の位置にハンドヘルドプリンタ１を置き、ＬＥＤスイッチを押下する印刷開始操作を行う（Ｓ８１２）。
【０１０６】
ＣＰＵ１１１は、ＬＥＤスイッチによるキー割込みを受け付け、ナビゲーションセンサＩ／Ｆ１２５を介してナビゲーションセンサ１０５にハンドヘルドプリンタ１の位置を検知させる（Ｓ８１３）。Ｓ８１３の処理でナビゲーションセンサ１０５によって検知される記録媒体３の上でハンドヘルドプリンタ１の初期位置が、画像形成開始時のハンドヘルドプリンタ１の位置、すなわち、ハンドヘルドプリンタ１による画像形成の開始位置である。
【０１０７】
ナビゲーションセンサ１０５によって検知された開始位置の情報は、ハンドヘルドプリンタ１の開始位置情報として、ＤＲＡＭ１０２等の記憶媒体に格納される（Ｓ８１４）。
【０１０８】
なお、上述したように、ナビゲーションセンサ１０５からＩＪ記録ヘッド１０８の端部までの距離、ＩＪ記録ヘッド１０８の端部からもっとも近い位置に配列されているノズルとＩＪ記録ヘッド１０８の端部との距離、ＩＪ記録ヘッド１０８に配列されているノズル間の距離は、予めＲＯＭ１０３等の記憶媒体に格納されている。
【０１０９】
したがって、位置算出部１１２は、ハンドヘルドプリンタ１の位置情報に基づいて、ＩＪ記録ヘッド１０８およびＩＪ記録ヘッド１０８に配列されているそれぞれのノズルの位置を算出することができる。
【０１１０】
Ｓ８１３で取得したナビゲーションセンサ１０５の検知結果に基づいて、位置算出部１１２にＩＪ記録ヘッド１０８およびＩＪ記録ヘッド１０８に配列されているそれぞれのノズルの位置を算出させてもよい。
【０１１１】
さらに、位置算出部１１２によって算出された結果を、画像形成出力開始時のＩＪ記録ヘッド１０８およびＩＪ記録ヘッド１０８に配列されているそれぞれのノズルの位置の開始位置情報としてＤＲＡＭ１０２等の記憶媒体に格納する構成としてもよい。
【０１１２】
また、ナビゲーションセンサ１０５によって検知されたハンドヘルドプリンタ１の開始位置を、例えば、座標（０，０）としてＤＲＡＭ１０２等に格納してもよい。そして、開始位置を格納すると、ＣＰＵ１１１は、印刷実行処理を開始する（Ｓ８１５）。印刷実行処理の詳細は後述する。
【０１１３】
ＣＰＵ１１１は、Ｓ８１５の処理が終了したと判定すると、印刷完了通知を画像データ送信装置２に送信する。また、ＣＰＵ１１１は、ＬＥＤスイッチを消灯するなどして、ユーザ４に対して画像データの印刷が完了したことを通知する（Ｓ８１６）。
【０１１４】
なお、本実施形態に係るハンドヘルドプリンタ１は、記録媒体３に対する画像形成出力の実行中に、記録媒体３において画像データが形成される画像領域に対してハンドヘルドプリンタ１が走査しているのかどうかをユーザ４が認識することができない。ここで、ハンドヘルドプリンタ１は、現在位置と、画像領域との位置関係がどのような状態であるかをユーザ４に通知する機能も備える。
【０１１５】
［印刷実行処理（Ｓ８１５）の詳細フロー］
Ｓ８１５の印刷実行処理の詳細について、図９のフローチャートを用いて説明する。Ｓ８１４の処理によって、ハンドヘルドプリンタ１の開始位置情報が記憶媒体に格納されると、ＣＰＵ１１１は、印字／センサタイミング生成部１２６に時間計測を開始させる（Ｓ９０１）。なお、Ｓ９０１において、ハンドヘルドプリンタ１の開始位置情報として、ＩＪ記録ヘッド１０８の位置、ＩＪ記録ヘッド１０８に配列されているそれぞれのノズルの位置が格納されてもよい。
【０１１６】
予め設定されたナビゲーションセンサ１０５へのリードタイミングになると（Ｓ９０２／ＹＥＳ）、ナビゲーションセンサＩ／Ｆ１２５は、ナビゲーションセンサ１０５に、ハンドヘルドプリンタ１の移動量等を検知させる（Ｓ９０３）。
【０１１７】
ＣＰＵ１１１は、ＡＳＩＣ／ＦＰＧＡ１２０からナビゲーションセンサ１０５の検知結果を取得し、位置算出部１１２にハンドヘルドプリンタ１の現在位置Ｐ１を算出させる（Ｓ９０４）。Ｓ９０４の処理において、位置算出部１１２は、前回算出したハンドヘルドプリンタ１の位置Ｐ（Ｘ，Ｙ）と今回取得したハンドヘルドプリンタ１の移動量ΔＰ（ΔＸ，ΔＹ）とに基づいて、ハンドヘルドプリンタ１の現在位置Ｐ１（Ｘ１，Ｙ１）を算出し、ＤＲＡＭ１０２に格納する。
【０１１８】
続いて、ＣＰＵ１１１は、算出されたハンドヘルドプリンタ１の現在位置Ｐ１（Ｘ１，Ｙ１）の情報をＡＳＩＣ／ＦＰＧＡ１２０に転送する。なお、位置算出部１１２にハンドヘルドプリンタ１の位置情報に基づいて、ＩＪ記録ヘッド１０８およびＩＪ記録ヘッド１０８に配列されているそれぞれのノズルの位置を算出させた結果を、ＩＪ記録ヘッド１０８およびＩＪ記録ヘッド１０８に配列されているそれぞれのノズルの現在位置Ｐ１として、ＡＳＩＣ／ＦＰＧＡ１２０に転送する構成であってもよい。
【０１１９】
ＤＭＡＣ１２２は、ハンドヘルドプリンタ１の現在位置Ｐ１（Ｘ１，Ｙ１）の位置情報に基づいて、ＩＪ記録ヘッド１０８に配列されているノズル周辺の画像データをＤＲＡＭ１０２から取得し、イメージＲＡＭ１２１に一時的に記憶させる。
【０１２０】
そして、回転処理部１２３は、ハンドヘルドプリンタ１の現在位置Ｐ１（Ｘ１，Ｙ１）に基づいて、イメージＲＡＭ１２１からノズル周辺の画像データを取得し、取得したノズル周辺の画像データに対して回転処理を行う（Ｓ９０５）。
【０１２１】
ＤＭＡＣ１２２は、ＤＲＡＭ１０２から取得したノズル周辺の画像データを、ＤＲＡＭ１０２から削除する。ＩＪ記録ヘッド制御部１２７は、回転処理された画像データの座標とハンドヘルドプリンタ１の現在位置Ｐ１（Ｘ１，Ｙ１）に基づいて定められるノズルの位置の座標とを比較する（Ｓ９０６）。
【０１２２】
そして、予め設定されたインク吐出条件、すなわち、ノズル位置が、画像データに基づいて定められるインクを吐出すべき目標吐出位置に到達した、もしくは、ノズル位置と目標吐出位置とのずれが許容誤差内に収まると判断した場合（Ｓ９０７／ＹＥＳ）、ＩＪ記録ヘッド制御部１２７は、Ｓ９０５の処理において、回転処理されたＩＪ記録ヘッド１０８のノズル周辺の画像データをＩＪ記録ヘッド駆動回路１０７に入力する。
【０１２３】
ＩＪ記録ヘッド駆動回路１０７は、入力された画像データに基づいてＩＪ記録ヘッド１０８から記録媒体３に対してインクを吐出させる（Ｓ９０８）。ＤＲＡＭ１０２に記憶されている画像形成出力対象の画像データの全てがＤＭＡＣ１２２へ転送されるまで、または、ユーザ４によってＬＥＤスイッチが操作されるなどして画像形成出力を終了する信号が受信されるまで（Ｓ９０９／ＮＯ）、Ｓ９０２からＳ９０８の処理ステップが繰り返し実行されて、記録媒体３に画像が形成される。
【０１２４】
Ｓ９０８にてインクが吐出され、ＤＲＡＭ１０２に記憶されている画像形成出力対象の画像データの全てがＤＭＡＣ１２２へ転送された、もしくは、ユーザ４によってＬＥＤスイッチが操作されるなどして画像形成出力を終了する信号を受信済みである場合、ＣＰＵ１１１は、画像形成出力が終了したと判定する（Ｓ９０９／ＹＥＳ）。
【０１２５】
［ハンドヘルドプリンタ１における優先通信制御フロー］
次に、ハンドヘルドプリンタ１における通信処理の詳細について、図１０のシーケンス図を用いて説明する。すでに述べたとおり、ハンドヘルドプリンタ１は、無線端末２ａ及び有線端末２ｂとデータ通信を行うための通信接続機能を備えている。一般的に、無線端末２ａは、その電源が投入されたとき、予めハンドヘルドプリンタ１との無線接続に関する設定がされていて電波の到達範囲内にあれば、ハンドヘルドプリンタ１と自動的に接続する。一方、有線端末２ｂとハンドヘルドプリンタ１との接続は、ユーザ４が通信ケーブルを用いて物理的に接続させる必要がある。
【０１２６】
図１０に示すシーケンスは、ハンドヘルドプリンタ１が無線端末２ａと無線接続中であるときに、ユーザ４がハンドヘルドプリンタ１に有線端末２ｂを有線接続させた場合の通信制御処理の流れである。無線接続中においてユーザ４がハンドヘルドプリンタ１に有線端末２ｂを接続させると（Ｓ１００１）、有線端末２ｂは、ハンドヘルドプリンタ１に対する接続処理を実行する（Ｓ１００２）。このとき、ハンドヘルドプリンタ１においても、有線端末２ｂとの接続処理が実行される。これによって、ハンドヘルドプリンタ１と有線端末２ｂは、物理的に接続し、相互に情報のデータ通信が可能な状態になる。
【０１２７】
続いて、ユーザ４が有線端末２ｂにインストールされているアプリを起動する（Ｓ１００３）。アプリが起動されると、有線端末２ｂの表示部２６２には、図１８に示した表示２６ａが表示される。有線端末２ｂは、起動されたアプリによってハンドヘルドプリンタ１に「利用開始通知」を送信する。「利用開始通知」を受信したハンドヘルドプリンタ１は、後に接続された有線端末２ｂとのデータ通信が可能な状態に遷移する。これに基づいて、先に接続されている無線端末２ａに対して「オフライン通知」を送信する（Ｓ１００５）。オフライン通知は、ハンドヘルドプリンタ１が、有線端末２ｂとの接続を優先し、同時に接続している無線端末２ａに対して画像形成のためのデータ送信を停止させるための制御情報である。オフライン通知を送信したハンドヘルドプリンタ１は、その後、無線端末２ａからのデータの受信を停止する。
【０１２８】
充電目的でハンドヘルドプリンタ１を有線端末２ｂに接続したときは、アプリを起動しなければよい。この場合、「利用開始通知」が送信されないので、継続して無線端末２ａによるハンドヘルドプリンタ１の利用は可能となる。
【０１２９】
「オフライン通知」を受信した無線端末２ａは、表示部２６１に対して、印刷不許可表示を表示する（Ｓ１００６）。Ｓ１００６において表示される表示の例を、図１２及び図１３に示す。Ｓ１００６では、図１２に示す表示２６ｂのように、無線端末２ａのアプリの画像形成出力対象データを選択する画面において、ハンドヘルドプリンタ１が利用できない状態であることを示す不許可ダイアログＤ１ａを表示する。また、Ｓ１００６では、図１３に示す表示２６ｃのように、ハンドヘルドプリンタ１が利用した印刷を実行できない状態であることを示す不許可ダイアログＤ１ｂを表示する。また、表示２６ｃのように、印刷を実行するときにユーザ４が操作するアイコンＥ１の表示を工夫し、視覚的に「印刷不許可状態である」ことを認識できる表示にする。
【０１３０】
また、「オフライン通知」を受信した無線端末２ａは、Ｓ１００６における表示処理とともに、ユーザ４からの印刷（画像形成出力）操作を受け付けない「特定操作不許可」状態に移行する処理を実行する（Ｓ１００７）。Ｓ１００７によって、無線端末２ａからハンドヘルドプリンタ１に対する画像データの送信処理は実行不能状態になる。これによって、有線端末２ｂを接続して画像データに係る処理をハンドヘルドプリンタ１が実行しているときに、無線端末２ａから画像データが送信されて、画像データが混在することを防止することができる。
【０１３１】
その後、ユーザ４は、有線端末２ｂを使用した印刷処理を実行する（Ｓ１００８〜Ｓ１０１７）。ここで実行される処理は、すでに説明したＳ８０７〜Ｓ８１６までに処理と同様であるから、詳細な説明を省略する。
【０１３２】
以上説明のとおり、本実施形態に係るハンドヘルドプリンタ１は、無線通信と有線通信の両方が接続された場合、有線通信を優先するように通信制御を行う。これによって、自動的に無線通信により接続されている状態において、ユーザ４が有線接続をしても、両通信方式から同時にデータを受信して混信することを防止でき、ユーザ４の利便性を向上させることができる。
【０１３３】
また、Ｓ１０１７の印刷完了通知の後、すなわち、無線接続中であるがデータ通信は停止されている状態であって、有線接続のみのデータ通信を許可している場合における通信制御について、図１１のシーケンス図を用いて説明する。図１１に示すように、印刷完了通知を受けた後にユーザ４が、ハンドヘルドプリンタ１の有線接続を解除する（Ｓ１１０１）。
【０１３４】
有線接続の解除（１１０１）とは、例えば、ユーザ４が、ハンドヘルドプリンタ１から有線端末２ｂとの接続ケーブルを抜くなどを行うことなどである。また、有線端末２ｂにおいて起動しているアプリに対するユーザ４からの操作が一定時間無い場合、当該アプリの終了が選択された場合、有線端末２ｂの電源がＯＦＦになった場合、においても有線接続の解除（Ｓ１１０１）は実行される。なお、有線端末２ｂに対してアプリの操作が一定時間無いときは、有線端末２ｂからハンドヘルドプリンタ１へのデータ通信が一定時間行われないことになる。したがって、このような状態のときに、無線端末２ａからのデータ通信を受け付けても、ハンドヘルドプリンタ１においてデータが混在する部具合は生じない。そこで、有線端末２ｂからのデータ通信が行われない状態が継続すると判定できるときには、無線端末２ａとのデータ通信を再開してもよい。
【０１３５】
したがって、有線接続が解除されるとハンドヘルドプリンタ１は、有線切断処理を実行し（Ｓ１１０２）、その後、無線端末２ａに対して「オンライン通知」を送信する（Ｓ１１０３）。
【０１３６】
「オフライン通知」を受信した無線端末２ａは、表示部２６１に対して、印刷不許可表示を表示する（Ｓ１１０４）。Ｓ１１０４において表示される表示の例を、図１４及び図１５に示す。Ｓ１１０４では、図１４に示す表示２６ｄのように、無線端末２ａのアプリの画像形成出力対象データを選択する画面において、ハンドヘルドプリンタ１が利用できる状態であることを示す許可ダイアログＤ２ａを表示する。また、Ｓ１１０４では、図１５に示す表示２６ｅのように、印刷を実行するときにユーザ４が操作するアイコンＥ２の表示を工夫し、視覚的に「印刷許可状態である」ことを認識できる表示にする。
【０１３７】
また、「オフライン通知」を受信した無線端末２ａは、Ｓ１００６における表示処理とともに、ユーザ４からの印刷（画像形成出力）操作を受け付ける「特定操作許可」状態に移行する（Ｓ１１０５）。Ｓ１１０５によって、無線端末２ａからハンドヘルドプリンタ１に対する画像データの送信処理は実行状態になる。これによって、有線端末２ｂを接続して画像データに係る処理をハンドヘルドプリンタ１が実行しているときに無線端末２ａからの画像データの送信ができない状態から、自動的に無線接続によるデータ通信を利用可能な状態にすることができる。すなわち、データ通信を自動的に再開することができる。
【０１３８】
［ハンドヘルドプリンタ１における通信制御処理フロー］
次に、本実施形態に係るハンドヘルドプリンタ１における通信制御処理のフローについて図１６のフローチャートを用いて説明する。ハンドヘルドプリンタ１において、通信Ｉ／Ｆ１０９を介して通信制御部１２９が有線端末２ｂとの接続を検知すると、その旨をＣＰＵ１１１に通知する（Ｓ１６０１）。これによって、有線接続が確立する。その後、有線端末２ｂから送られるアプリ情報をハンドヘルドプリンタ１が受信し、ハンドヘルドプリンタ１は、有線端末２ｂにおいてアプリが起動されアクセスされたことを検知する（Ｓ１６０２）。
【０１３９】
続いて、無線端末２ａとの接続の有無を判定する（Ｓ１６０３）。ここで、無線端末２ａとの接続がなければ（Ｓ１６０３／ＮＯ）、特定の処理を行わずに通信制御処理は終了する。
【０１４０】
無線端末２ａとの接続があれば（Ｓ１６０３／ＹＥＳ）、接続している無線端末２ａに対して、「オフライン通知」を送信する（Ｓ１６０４）。
【０１４１】
その後、ハンドヘルドプリンタ１は、有線接続が接続されていることを常時監視し（Ｓ１６０５）、有線接続が接続されていないと判定した場合（Ｓ１６０６／ＮＯ）、無線端末２ａへ「オンライン通知」を送信する（Ｓ１６０６）。なお、Ｓ１６０６における監視対象は、有線端末２ｂとの物理的な接続の有無に限定されず、有線端末２ｂからの接続解除通知や、タイムアウトなどの条件に基づいて切断の判断を行ってもよい。
【０１４２】
［無線端末２ａにおける処理制御処理フロー］
次に、本実施形態に係る無線端末２ａにおける通信制御処理のフローについて図１７のフローチャートを用いて説明する。無線端末２ａの電源を投入すると、通信制御部２０５がハンドヘルドプリンタ１との無線接続処理を実行する（Ｓ１７０１）。これによって、無線接続が確立する（Ｓ１７０２）。
【０１４３】
その後、ハンドヘルドプリンタ１からの「オフライン通知」を受信するか否かを常時監視する（Ｓ１７０２）。「オフライン通知」を受信したとき（Ｓ１７０２／ＹＥＳ）、表示制御部２０３が表示部２６１に対して、図１２に示した表示２６ｂ、表示２６ｃなどを表示する（Ｓ１７０４）。また、通信制御部２０５は、画像データ等をハンドヘルドプリンタ１に送信しない「通信停止モード」に移行する（Ｓ１７０５）。
【０１４４】
その後、無線端末２ａはハンドヘルドプリンタ１からの「オンライン通知」を常時監視する（Ｓ１７０６）。そして、オンライン通知を受信したときは（Ｓ１７０６／ＹＥＳ）、通信制御部２０５が、「通信停止モード」を解除する（Ｓ１７０７）。これによって、無線端末２ａは自動的に、ハンドヘルドプリンタ１とのデータ通信を再開する（Ｓ１７０８）。
【０１４５】
本発明は、説明した実施形態に限定されるものではなく、その他の実施形態、追加、修正、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用や効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１４６】
１            ：ハンドヘルドプリンタ
２            ：画像データ送信装置
２ａ          ：無線端末
２ｂ          ：有線端末
３            ：記録媒体
４            ：ユーザ
７０          ：記録ヘッド駆動回路
１００        ：点線
１０１        ：制御部
１０２        ：ＤＲＡＭ
１０３        ：ＲＯＭ
１０５        ：ナビゲーションセンサ
１０６        ：ジャイロセンサ
１０７        ：ＩＪ記録ヘッド駆動回路
１０８        ：ＩＪ記録ヘッド
１０９        ：通信Ｉ／Ｆ
１１１        ：ＣＰＵ
１１２        ：位置算出部
１１３        ：判定処理部
１２０        ：ＦＰＧＡ
１２１        ：イメージＲＡＭ
１２２        ：ＤＭＡＣ
１２３        ：回転処理部
１２４        ：割込みコントローラ
１２５        ：ナビゲーションセンサＩ／Ｆ
１２６        ：センサタイミング生成部
１２７        ：ＩＪ記録ヘッド制御部
１２８        ：ジャイロセンサＩ／Ｆ
１２９        ：通信制御部
１３０        ：電源回路
１３１        ：電源
１３１Ａ      ：バス
１３１Ｂ      ：バス
１３２        ：位置情報取得部
１３３        ：画像領域情報取得部
１３４        ：比較判定部
１３５        ：判定結果出力部
１３６        ：通信状態判定部
２００        ：コントローラ
２０１        ：画像処理部
２０２        ：画像領域算出部
２０３        ：表示制御部
２０４        ：操作制御部
２０５        ：通信制御部
２１１        ：ＣＰＵ
２１２        ：ＣＰＵ
２２１        ：ＲＡＭ
２２２        ：ＲＡＭ
２３１        ：ＲＯＭ
２３２        ：ＲＯＭ
２４１        ：記憶媒体
２４２        ：記憶媒体
２５１        ：Ｉ／Ｆ
２５２        ：Ｉ／Ｆ
２６０        ：表示部
２６１        ：表示部
２６２        ：表示部
２７０        ：操作部
２７１        ：操作部
２７２        ：操作部
２８１        ：無線通信部
２８２        ：有線通信部
２９１        ：バス
２９２        ：バス
３００        ：画像領域
１０００      ：画像形成システム
【先行技術文献】
【特許文献】
【０１４７】
【特許文献１】特開２００９−２０５６３７号公報
【図１】
2020123841.tif 000003
【図２】
2020123841.tif 000004
【図３】
2020123841.tif 000005
【図４】
2020123841.tif 000006
【図５】
2020123841.tif 000007
【図６】
2020123841.tif 000008
【図７】
2020123841.tif 000009
【図８】
2020123841.tif 000010
【図９】
2020123841.tif 000011
【図１０】
2020123841.tif 000012
【図１１】
2020123841.tif 000013
【図１２】
2020123841.tif 000014
【図１３】
2020123841.tif 000015
【図１４】
2020123841.tif 000016
【図１５】
2020123841.tif 000017
【図１６】
2020123841.tif 000018
【図１７】
2020123841.tif 000019
【図１８】
2020123841.tif 000020