以下に、図面を参照しながら、本発明に係る画像記録装置、画像形成方法および制御プログラムの実施形態を詳細に説明する。
[ハンドヘルドプリンタ10の外観構成]
図1を参照しながら、本実施形態に係るハンドヘルドプリンタ10の外観構成について説明する。図1(a)に示すように、ハンドヘルドプリンタ10は、上部ユニット12と、下部ユニット13と、を備えている。
上部ユニット12は、内部に制御ボードを搭載しており、上面には、各種操作を行うための操作ボタン15、および、ハンドヘルドプリンタ10の動作状態等を表示するLED(Light Emitting Diode)18を有する。
操作ボタン15は、通常の画像形成動作、および、後述するメンテナンス処理の実行等の操作を行うためのボタンである。LED18は、ハンドヘルドプリンタ10の動作状態として、例えば、通常の画像形成動作中である旨、画像データを受信中である旨、および、メンテナンス処理中である旨等を表示する発光素子である。なお、以下の説明において、画像形成処理や画像形成動作よって記録媒体に所定の画像や文字を形成する処理を総じて「印字」または「印字処理」と表記することがある。
下部ユニット13は、インクを吐出するIJ記録ヘッド108を搭載している。また、下部ユニット13は、さらに、ハンドヘルドプリンタ10の本体を左右方向(走査方向)への移動を補助するガイドコロ14と、一方側の側面に設けられたガイド部材17と、を備えている。図1に示す様に、三次元軸を仮定した場合、ハンドヘルドプリンタ10の走査方向はX方向(+Xと−Xの双方向)である。
ガイド部材17は、画像形成をするためにハンドヘルドプリンタ10を走査したときに、記録媒体に画像が実際に形成される領域を把握するための部材である。図1(a)では、ガイド部材17は、側面から解放された状態が示されている。ガイド部材17を用いて画像が形成される領域(印字領域)を把握するためには、図1(a)に示すような解放状態にしておき、使用しないときには、ヒンジとなっているガイド部材17の下方端を中心に回動させて本体の側面に収納させる。
また、ハンドヘルドプリンタ10は、図1(b)に示すように、下部ユニット13の下面において開口された開口部16を有する。後述する記録ヘッドから吐出されたインクは、開口部16より用紙等の記録媒体上に至り、画像形成(画像記録)が行われる。図1(b)に示すように、ガイド部材17は、開口部16の走査方向の延長線上に位置し、ハンドヘルドプリンタ10の長手方向のガイド部材17の幅Lは、開口部16の同方向の幅と略同一となっている。これによって、画像を形成するための走査時に、ハンドヘルドプリンタ10の走査方向(ハンドヘルドプリンタ10の短手方向)におけるガイド部材17の位置を目安にして、画像形成領域(印字領域)を把握することができる。なお、ガイド部材17は、例えば、色が透明であるものとしてもよい。これによって、印字動作時に、解放状態のガイド部材17の下側にある記録媒体上の印字状態を確認することができる。
[ハンドヘルドプリンタ10による画像形成時の走査]
図2は、実施形態に係るハンドヘルドプリンタ10を用いた印字処理を実行する時の手動走査の様子を説明する図である。図2に示すように、ハンドヘルドプリンタ10は、まず、記録媒体の一例である用紙30に対して画像を形成する印字動作に用いられる画像データを、画像データ送信装置20から受信する。画像データ送信装置20は、ユーザUが印刷対象のデータを選択し、ハンドヘルドプリンタ10に対し印刷指示を行うためのユーザインタフェースを提供する。画像データ送信装置20としては、スマートフォンなどの可搬型情報処理端末、PC(Personal Computer)などの情報処理装置を適用可能である。
ユーザUは、画像データ送信装置20において印刷対象のデータを決定し、それをハンドヘルドプリンタ10に通知した後、ハンドヘルドプリンタ10の操作ボタン15を操作することによって、用紙30上における初期位置を定めて、印刷動作を開始する。ハンドヘルドプリンタ10は、用紙30における初期位置が定められることによって、当該初期位置を基準として、画像データの用紙30上の画像形成位置を把握することができる。
ハンドヘルドプリンタ10は、後述するように、ナビゲーションセンサ105とジャイロセンサ106を搭載しているので、ユーザUによる手動走査が行われているときの、自身の初期位置からの位置および姿勢を逐次認識することができる。したがって、図2に示すように、ユーザがハンドヘルドプリンタ10を用紙30上でフリーハンドにより走査を行った場合、ハンドヘルドプリンタ10は、ナビゲーションセンサ105とジャイロセンサ106からの位置および姿勢の情報に基づいて、記録ヘッドが備える各ノズル(インク吐出口)の位置を算出し続けることができる。したがって、用紙30上の各位置で、画像データのどの部分をどのノズルから印字すればよいかを特定することができる。これによって、ユーザUはハンドヘルドプリンタ10を用紙30上でフリーハンドにより自由な方向に走査しても、当該用紙30上に画像データに基づく所定の画像を形成(印刷)することができる。
[ハンドヘルドプリンタ10のハードウェア構成]
次に、ハンドヘルドプリンタ10のハードウェア構成について図3を参照して説明する。図3に示すように、ハンドヘルドプリンタ10は、一般的なコンピュータと同様のハードウェアを備え、制御部101、電源回路140、電源141、DRAM(Dynamic Random Access Memory)102、ROM(Read Only Memory)103、OPU(Operation Panel Unit)104、ナビゲーションセンサ105、ジャイロセンサ106、IJ(インクジェット)記録ヘッド駆動回路107、IJ記録ヘッド108、通信I/F109を含んで構成される。
制御部101は、ハンドヘルドプリンタ10の動作全体を制御する。制御部101の機能構成については後述する。また、制御部101には、DRAM102、ROM103、OPU104、ナビゲーションセンサ105、ジャイロセンサ106、IJ記録ヘッド駆動回路107、及び通信I/F109が電気的に接続されている。
電源141としては、乾電池、充電池、太陽電池、燃料電池等を用いることができる。電源回路140は、図3の点線100で囲まれた各部とそれぞれ電気線によって接続されており、電源141が供給する電力を、ハンドヘルドプリンタ10を構成する各部に分配する。
また、電源回路140は、ハンドヘルドプリンタ10を構成する各部に電力を分配するに際し、電源141の電圧を各部に適した電圧に昇圧もしくは降圧する。なお、電源141として充放電が可能な電池が用いられる場合はこれを充電する機能を備える。例えば、電源回路140が、ハンドヘルドプリンタ10に対する商用電源の接続を検知して電源141を充電するための回路に接続させる。
DRAM102は、揮発性の記憶媒体であり、通信I/F109を介して画像データ送信装置20から受信した画像データを記憶し、または、ROM103から展開されたファームウェアを記録する。また、DRAM102は、ハンドヘルドプリンタ10を使用した履歴を示す履歴情報や、記録ヘッド(IJ記録ヘッド108)におけるインク吐出動作の累積回数などを含み、IJ記録ヘッド108の使用状態を示す情報(使用状態情報)を更新しながら記憶する。また、DRAM102は、制御部101のCPU(Central Processing Unit)111(図4を参照)がファームウェアを実行する際のワークメモリとして用いられる。
ROM103は、不揮発性の記憶媒体であり、制御部101が実行するハンドヘルドプリンタ10のハードウェア制御を行うためのファームウェアなどの各種プログラムを格納している。また、ROM103には、IJ記録ヘッド108に吐出動作を行わせるための駆動波形データや、ハンドヘルドプリンタ10の初期設定データ等も格納している。
OPU104は、ユーザUからの操作を受け付ける操作ボタン15と、ハンドヘルドプリンタ10の状態を表示するための表示部を兼ねる操作表示部であって、LED18、スイッチ(例えば、LEDスイッチや電源スイッチ)等を含む構成ある。また、OPU104として、液晶パネルやタッチパネル式のディスプレイ等の表示機構、音を発する発音機構を用いてもよい。OPU104に対するユーザUの操作は、ハンドヘルドプリンタ10に画像形成動作(特定の処理動作)の実行開始を指示する「動作開始トリガ」や、画像形成動作の終了を指示する「動作終了トリガ」として、制御部101において認識される。OPU104は、操作受付手段を構成する。
ナビゲーションセンサ105は、ハンドヘルドプリンタ10や記録ヘッドであるIJ記録ヘッド108の位置に関して、その移動量や加速度などをサンプリング周期ごとに検知して出力するセンサである。ナビゲーションセンサ105の構成として、例えば、発光ダイオードやレーザなどの光源と、用紙30を撮像する撮像素子とを組み合わせた光学式距離測定センサが用いられる。なお、ナビゲーションセンサ105の構成として加速度センサを用いてもよい。
ナビゲーションセンサ105を構成する光学式距離測定センサは、用紙30に対するユーザUの操作によるハンドヘルドプリンタ10の走査に応じて、用紙30の表面の色や明るさの変化点であるエッジを検知することができる。ナビゲーションセンサ105によるエッジの検知信号は制御部101に入力され、制御部101は、エッジ間の距離に基づいてハンドヘルドプリンタ10の移動量を算出する。
ジャイロセンサ106は、ハンドヘルドプリンタ10の移動による角速度を検知して、検知した角速度を積分することにより、回転角θ(回転量)を検知することができる。ジャイロセンサ106の検知結果に基づいて、ハンドヘルドプリンタ10の姿勢(傾き)が判定可能になる。これによって、印字を行うときの手動走査において、ハンドヘルドプリンタ10が用紙30から浮いたりすることで、正常な印字に支障が生ずる状態になっていることを判定することができる。さらに、加速度センサが含まれてナビゲーションセンサ105が構成されている場合、ジャイロセンサ106の検知結果と組み合わせることにより、ハンドヘルドプリンタ10本体の向きや傾きなどをより精度よく検知することができる。ナビゲーションセンサ105とジャイロセンサ106が移動量検知部として機能する。
IJ記録ヘッド駆動回路107は、制御部101から出力される駆動波形データに基づいて、IJ記録ヘッド108を駆動するための駆動電圧を生成する。IJ記録ヘッド駆動回路107は、IJ記録ヘッド108から吐出するインクの液滴の大きさに応じた駆動電圧を生成する。また、IJ記録ヘッド駆動回路107は、後述するように、IJ記録ヘッド108が備えるインク吐出口(ノズル)の列のいずれを用いて吐出動作をさせるかを設定するように制御する。
IJ記録ヘッド108は、インク(液滴)を吐出する液滴吐出部であって、データ処理の結果に基づく外部出力を実行する外部出力手段に相当する。本実施形態では、CMYKの4色のインクを吐出可能な構成を例示しているが、単色のインクを吐出する構成、または、5色以上のインクを吐出する構成を用いることもできる。IJ記録ヘッド108は、IJ記録ヘッド駆動回路107から出力される駆動電圧によってインクを用紙30に向けて吐出する。この吐出されたインクによって用紙30に画像が形成される。
IJ記録ヘッド108の駆動方式としては、ピエゾ素子等の圧電素子を用いたピエゾ式、インクを加熱して発生する泡を利用してインクを吐出するサーマル式等を用いることができる。
なお、本実施形態においては、ナビゲーションセンサ105によってハンドヘルドプリンタ10の移動方向及び移動量を判定するために用いられる各種の情報は、予めROM103等の記憶媒体に格納されているものとする。ここで、「各種の情報」とは、例えば、ナビゲーションセンサ105からIJ記録ヘッド108の端部までの距離、IJ記録ヘッド108の端部から最も近い位置に配列されているノズルと当該IJ記録ヘッド108の端部との距離などである。また、IJ記録ヘッド108に配列されているノズル間の距離なども各種の情報に含まれる。
通信I/F109は、外部装置とのデータ通信を行うための接続を、各種の無線通信規格、例えば、無線LANやNFC等に対応した通信、または、有線LANやUSB等の有線通信で行うための構成である。通信I/Fを介して、ハンドヘルドプリンタ10は、外部機器である画像データ送信装置20やその他の情報処理装置と通信を行う。なお、通信I/F109は複数の接続を同時に行うことができる構成であって、複数の外部機器と同時にデータ通信可能状態を確立させることができる。
したがって、通信I/F109は、有線通信手段と無線通信手段を含むデータ受信手段を構成する。また、通信I/F109は、接続されている画像データ送信装置20に対して、ハンドヘルドプリンタ10の状態を判定した結果を含む判定結果情報を出力する結果出力手段も構成する。
[インク吐出口(ノズル)の構成]
ここで、IJ記録ヘッド108に含まれるインク吐出口(ノズル)の構成について、図10を用いて説明する。図10は、ハンドヘルドプリンタ10をZ方向から(上から)見たときの、IJ記録ヘッド108が有するインク吐出面の例を示す平面図である。図10に示すように、IJ記録ヘッド108では、複数のノズル口1081が千鳥状に配置されている。ノズル口1081を複数個、Y方向に並べて一群とし、この一群のノズル口群を複数備えてノズル群180が形成されている。ノズル口1081は、画像形成部位に相当する。したがって、ノズル群180は、ノズル口1081を配置して構成される画像形成列を複数備えるものに相当する。
図10のように、本実施形態に係るノズル群180は、例えば、第一ノズル列181と第二ノズル列182と、を有する。第一ノズル列181と第二ノズル列182は、いずれの画像形成列に相当する。また、第一ノズル列181と第二ノズル列182に含まれるいずれのノズル口1081も、画像形成部位に相当し、IJ記録ヘッド駆動回路107の制御によって画像を形成するためのインクの吐出動作を行う。なお、以下に説明する本実施形態に係るハンドヘルドプリンタ10は、ユーザUが指定した出力画像データに対する画像形成動作を実行するときは、第一ノズル列181と第二ノズル列182のいずれか一方に含まれるノズル口1081も使用して、液滴を吐出するように制御する。ここで液滴の吐出に使用されるノズル列が、使用画像形成列に相当する。
なお、図10に例示したノズル群180は、二つのノズル列(第一ノズル列181と第二ノズル列182)を有するものであるが、ハンドヘルドプリンタ10の構成としてこれに限定するものではなく、ノズル列が二つ以上であってもよい。
第一ノズル列181と第二ノズル列182は、ハンドヘルドプリンタ10のX方向の寸法における中間(X方向の中心を通過する境界)を境目にした両方向(+X方向、−X方向)にそれぞれ配置されている。手動走査によってハンドヘルドプリンタ10が画像形成動作を行うときは、第一ノズル列181か又は第二ノズル列182のいずれかのみが吐出動作をすれば、所定の画像は形成できるように構成されている。
IJ記録ヘッド108におけるノズル口1081の向きや、インク吐出機構の製造時のバラツキによって、インクの吐出方向は、用紙30に対して傾斜するが、その傾斜方向や傾斜量には個体差がある。あるハンドヘルドプリンタ10が備える第一ノズル列181(又は第二ノズル列182)を構成するノズルから吐出されるインクは概ね同じ方向に傾斜する。
IJ記録ヘッド108は、ノズル口1081から液体を吐出・噴射する機能部品である。吐出される液体は、IJ記録ヘッド108から吐出可能な粘度および表面張力を有するものであればよく、特に限定されないが、常温、常圧下において、または加熱、冷却により粘度が30[mPa・s]以下となるものであることが好ましい。より具体的には、水や有機溶媒等の溶媒、染料や顔料等の着色剤、重合性化合物、樹脂、界面活性剤等の機能性付与材料、DNA、アミノ酸やたんぱく質、カルシウム等の生体適合材料、天然色素等の可食材料、等を含む溶液、懸濁液、エマルジョン等であり、これらは例えば、インクジェット用インク、表面処理液、電子素子や発光素子の構成要素や電子回路レジストパターンの形成用液、3次元造形用材料液等の用途で用いることができる。
[制御部101の内部機能ブロック]
次に、図4を参照して、本実施形態に係る制御部101の内部構成について説明する。図4は、本実施形態に係る制御部101の構成を示す機能ブロック図である。本実施形態に係る制御部101は、SoC(System On Chip)110、ASIC(Application Specific Integrated Circuit)/FPGA(Field Programmable Gate Array)120により構成される。SoC110とASIC/FPGA120との間の通信は、バス131A、131Bを介して行われる。
なお、ASIC/FPGA120は、ASICまたはFPGAのどちらの実装技術を用いて設計されてもよいものである。また、ASIC/FPGA120は、ASIC、FPGA以外の実装技術を用いる構成であってもよい。また、SoC110とASIC/FPGA120とを別々のチップではなく、一つのチップまたは基板上、あるいは、三つ以上のチップまたは基板上に実装してもよい。
SoC110は、バス131Aを介して接続されたCPU111、位置算出部112、判定処理部113、メモリCTL(コントローラ)114、ROMCTL(コントローラ)115を含む。なお、SoC110は、上記以外の機能を含んで構成されてもよい。
ASIC/FPGA120は、バス131Bを介して接続されたイメージRAM(Random Access Memory)121、DMAC(Direct Memory Access Controller)122、回転処理部123、割込みコントローラ124、ナビゲーションセンサI/F125、印字/センサタイミング生成部126、IJ記録ヘッド制御部127、ジャイロセンサI/F128、通信制御部129、ノズル列設定部130、操作入力I/F131を含む。なお、ASIC/FPGA120は、上記以外の機能を含んで構成されてもよい。
CPU111は、ROM103からDRAM102に展開されたファームウェア等を実行し、SoC110内の位置算出部112、判定処理部113、メモリCTL114、ROMCTL115の動作を制御する。
さらに、CPU111は、ASIC/FPGA120内のイメージRAM121、DMAC122、回転処理部123、割込みコントローラ124、ナビゲーションセンサI/F125、印字/センサタイミング生成部126、IJ記録ヘッド制御部127、ジャイロセンサI/F128、通信制御部129、ノズル列設定部130、操作入力I/F131の動作を制御する。そして、CPU111はこれらの各部を制御することにより、ハンドヘルドプリンタ10を構成する各部の機能を実現する。
位置算出部112は、ナビゲーションセンサ105とジャイロセンサ106からサンプリング周期ごとに入力されるハンドヘルドプリンタ10の移動量に基づいて、ハンドヘルドプリンタ10の位置を算出する。ハンドヘルドプリンタ10の位置とは、厳密にはIJ記録ヘッド108のノズルの位置のことであるが、ナビゲーションセンサ105が存在する位置が分かればノズルの位置を算出することができる。なお、ナビゲーションセンサ105で検知する値(X方向とY方向の移動量)と、ジャイロセンサ106で検知する値(角速度)は、原点に対する現在の二次元位置座標の算出に用いられる。したがって、双方の入力(サンプリング周期)は、同期されていることが望ましい。
位置算出部112は、所定の原点、例えば、画像形成出力の開始時におけるハンドヘルドプリンタ10の初期位置を基準にナビゲーションセンサ105の位置を算出する。また、位置算出部112は、過去のナビゲーションセンサ105の位置の算出結果と最も新しいナビゲーションセンサ105の位置の算出結果との差に基づいて、次回のサンプリング周期におけるハンドヘルドプリンタ10の移動速度や移動方向を推定する。
位置算出部112は、ハンドヘルドプリンタ10の移動速度や移動方向の推定結果に基づいて、次回のサンプリング周期におけるナビゲーションセンサ105の位置を予測する構成であってもよい。
判定処理部113は、位置算出部112によるハンドヘルドプリンタ10の位置の算出結果および画像データ送信装置20から受信した画像領域情報に基づいて画像領域内を走査しているか否かを判定する。また、判定処理部113は、ハンドヘルドプリンタ10に対して現在位置に対応する画像形成を実行するための画像データを判定する。
また、判定処理部113は、IJ記録ヘッド108における吐出動作に用いられるノズル群180が第一ノズル列181であるか第二ノズル列182ノズル列であるかの設定を判定する。
また、判定処理部113は、操作入力I/F131から入力されるハンドヘルドプリンタ10の動作モードの設定状態を判定する。
上述したように、ハンドヘルドプリンタ10の位置とは、厳密にはIJ記録ヘッド108が備えるノズル口1081(ノズル群180)の位置のことであるが、ナビゲーションセンサ105が存在する位置が分かればノズル口1081(ノズル群180)の位置を算出することができる。ゆえに、判定処理部113は、ハンドヘルドプリンタ10の位置の算出結果から、IJ記録ヘッド108に配列されているノズル口1081(ノズル群180)の位置を算出し、ノズル口1081(ノズル群180)の位置が画像領域内を走査可能な箇所にあるか否かを判定する構成であってもよい。
なお、「画像領域情報」とは、ユーザUがハンドヘルドプリンタ10による画像形成出力の対象として選択した画像データに基づいて定められる情報である。また、画像領域情報は、画像形成出力の対象として選択された画像データが形成される用紙30上の領域を示す情報である。
メモリCTL114は、DRAM102とのI/Fであり、DRAM102に対しデータを要求する。メモリCTL114は、DRAM102から取得したファームウェアをCPU111に転送し、また、DRAM102から取得した画像データをASIC/FPGA120に転送する。
ROMCTL115は、ROM103とのI/Fであり、ROM103に対しデータを要求する。ROMCTL115は、ROM103から取得したデータをCPU111やASIC/FPGA120に転送する。
イメージRAM121は、DMAC122が取得した画像データを一時的に格納する。すなわち、イメージRAM121において画像データがバッファリングされ、ハンドヘルドプリンタ10の位置に応じた周辺画像がイメージRAM121にバッファリングされた画像データから読み出される。
回転処理部123は、IJ記録ヘッド108およびIJ記録ヘッド108内のノズル位置に応じて、DMAC122が取得した画像データに対する回転処理を行う。DMAC122は回転処理後の画像データをIJ記録ヘッド制御部127に出力する。
回転処理部123は、例えば、位置算出部112が、ハンドヘルドプリンタ10の位置を算出する際に算出した回転角θを取得し、その回転角θを用いて周辺画像に対して回転処理を実行する。なお、このときの回転角θは、画像形成出力を開始する際のハンドヘルドプリンタ10が用紙30の平面上において、用紙30に対する正常な画像形成を実行する姿勢を基準とした場合の傾きの角度である。
割込みコントローラ124は、ナビゲーションセンサI/F125がナビゲーションセンサ105との通信を完了したこと、およびジャイロセンサI/F128がジャイロセンサ106との通信を完了したこと、を検知する。そして割込みコントローラ124は、これらの通信完了を、SoC110に対して通知するための割り込み信号を出力する。CPU111はこの割り込み信号によって、ナビゲーションセンサI/F125が内部レジスタに記憶しているナビゲーションセンサ105の移動量を取得する。また、割込みコントローラ124は、エラーなどのステータス通知機能も有する。
ナビゲーションセンサI/F125は、ナビゲーションセンサ105と通信し、ナビゲーションセンサ105からの情報として移動量を受信し、その値を内部レジスタに格納する。
印字/センサタイミング生成部126は、ナビゲーションセンサI/F125にナビゲーションセンサ105の検知信号を読み取るタイミングを通知し、また、IJ記録ヘッド制御部127に駆動タイミングを通知する。IJ記録ヘッド制御部127は、ノズル位置がインクを吐出すべき目標吐出位置に到達したと判断されるとインクを用紙30に対して吐出する。
IJ記録ヘッド制御部127は、ノズル列設定部130におけるノズル群180の使用ノズル列設定に基づいて、ノズル口1081(ノズル群180)がインクを吐出すべき目標吐出位置であればインクを吐出するように制御する。また、目標吐出位置がなければインクを吐出しないようにIJ記録ヘッド駆動回路107を制御する。
ジャイロセンサI/F128は、印字/センサタイミング生成部126により生成されたタイミングに基づいて、ジャイロセンサ106が検出する角速度を取得し、その値をレジスタに格納する。
通信制御部129は、通信I/F109に接続されている画像データ送信装置20を検知して判定処理部113に接続状態を通知する。また、通信制御部129は、通信I/F109に接続される画像データ送信装置20との通信を制御する。したがって、通信制御部129は、画像データ送信装置20に対し、判定の結果を含む判定結果情報を出力する結果出力手段を構成する。
ノズル列設定部130は、IJ記録ヘッド108が備えるノズル群180のうち、第一ノズル列181又は第二ノズル列182のいずれを「使用ノズル列」として設定し、その設定情報をレジスタに格納する。ノズル列設定部130が格納する「使用ノズル列」に係る情報は、OPU104から操作入力I/F131を経由して設定される印刷モードや、ノズル群180の使用履歴に基づいて決定される。ノズル列設定部130は、画像形成列設定部を構成する。
操作入力I/F131は、OPU104から入力される印刷モードの設定や、画像形成動作開始のトリガ(操作ボタン15の押下)などの制御情報を受け付けて、CPU111に通知する。
[判定処理部113の機能構成]
次に、本実施形態に係る判定処理部113の詳細な構成について図5を参照して説明する。図5は、判定処理部113の内部構成を示す機能ブロック図である。判定処理部113は、位置情報取得部1131、画像領域情報取得部1132、比較判定部1133、判定結果出力部1134、使用態様判定部1135、使用状態取得部1136を含む。
位置情報取得部1131は、位置算出部112が算出したハンドヘルドプリンタ10の位置の情報を取得する。なお、位置情報取得部1131は、IJ記録ヘッド108に配列されているノズルの位置の情報を取得する構成でもよい。
画像領域情報取得部1132は、ユーザUがハンドヘルドプリンタ10による画像形成出力の対象として選択した画像データが形成される用紙30上の領域を示す画像領域情報をDRAM102などの記憶媒体から取得する。なお、画像領域情報は、画像データ送信装置20からハンドヘルドプリンタ10に送信され、DRAM102等の記憶媒体に格納される。
比較判定部1133は、位置情報取得部1131が取得したハンドヘルドプリンタ10の位置の情報および画像領域情報に基づいて、ハンドヘルドプリンタ10の現在の走査位置が画像領域内であるか否かを判定する。
判定結果出力部1134は、比較判定部1133によるハンドヘルドプリンタ10の現在の走査位置が画像領域内であるか否かの判定結果をCPU111に出力する。
また、判定結果出力部1134は、使用態様判定部1135による印刷モード設定の判定結果や、走査方向の判定結果に基づいて、ノズル群180における使用ノズル列を判定し、その結果をCPU111に通知する。
また、判定結果出力部1134は、使用状態取得部1136がDRAM102から取得した、使用履歴情報に基づいて使用ノズル列として妥当な方を判定し、その結果をCPU111に通知する。
なお、使用履歴情報は、ハンドヘルドプリンタ10が備えるノズル群180を構成する各グループ(ノズル列)における吐出動作の回数、累積使用時間などの使用頻度を示す情報が含まれる。使用履歴情報は、ハンドヘルドプリンタ10における印字処理の質に影響を与える構成における経年劣化の起因になり得る情報を含む。これに基づいて、使用ノズル列を決定することで、ハンドヘルドプリンタ10では、複数あるノズル列の状態が均等になるように調整できる。したがって、使用状態取得部1136及び判定結果出力部1134によってノズル口1081に対する維持回復動作の実行を制御する維持回復動作制御部が構成される。また、使用履歴情報に含まれる累積使用時間の度合い(長さ)に応じて、後述するパターン画像500を切り替えるように制御する。
使用態様判定部1135は、ナビゲーションセンサI/F125を介して取得したナビゲーションセンサ105からの情報に基づいて判定可能な走査方向に基づいて、ノズル群180に含まれる複数のノズル列のいずれを使用ノズル列とするのが好適であるかを判定する。また、使用態様判定部1135は、ジャイロセンサI/F128を介して取得したジャイロセンサ106からの情報に基づいて判定可能な走査方向に基づいて、ノズル群180に含まれる複数のノズル列のいずれを使用ノズル列とするのが好適であるかを判定する。また、使用態様判定部1135は、操作入力I/F131を介して取得したOPU104からの情報に基づいて判定可能な走査方向に基づいて、ノズル群180に含まれる複数のノズル列のいずれを使用ノズル列とするのが好適であるかを判定する。使用態様判定部1135は、判定結果を判定結果出力部1134に通知する。
OPU104、ジャイロセンサ106、ナビゲーションセンサ105、使用態様判定部1135及び判定結果出力部1134によって、ユーザUによるハンドヘルドプリンタ10の使用態様に応じて走査モードを設定する走査モード設定部が構成される。
使用状態取得部1136は、DRAM102に格納されている使用履歴情報を取得して、判定結果出力部1134に通知する。DRAM102は、使用状態記憶部を旺盛する。
CPU111は、判定結果出力部1134から受信したハンドヘルドプリンタ10の現在の走査位置が画像領域内であるか否かの判定結果に基づいて、ユーザUに対してハンドヘルドプリンタ10の現在の走査位置に関する通知(画像領域外通知)を行う。
また、CPU111は、DRAM102に展開されているアプリケーションによって、画像領域外通知のための通知情報を生成、接続状態に基づく通知情報を生成、をし、これらを画像データ送信装置20に送信する構成であってもよい。通知情報を受信すると、画像データ送信装置20では、例えば、「画像が印刷されている範囲から離れています」などの文字情報の表示や音声ガイダンスによって画像領域外通知が行なわれる。
また、CPU111は、判定結果出力部1134から通知される判定結果情報をノズル列設定部130に通知する。ノズル列設定部130では、CPU111からの通知に基づいて、使用ノズル列を設定し、IJ記録ヘッド制御部127に通知する。
[画像データ送信装置20のハードウェア構成]
次に、ハンドヘルドプリンタ10に画像データを入力するための外部装置の実施形態である画像データ送信装置20について、簡単に説明する。図6は、画像データ送信装置20のハードウェア構成を示している。本実施形態に係る画像データ送信装置20は、一般的なPC等の情報処理装置と同様の構成を有する。すなわち、本実施形態に係る画像データ送信装置20は、CPU210、RAM220、ROM230、HDD(Hard Disk Drive)等の記憶媒体240、I/F250がバス290を介して接続されている。
また、上記の構成に加え、画像データ送信装置20は、I/F250を介してLCD(Liquid Crystal Display)などの表示部261やキーボードなどの操作部270、LANなどの有線接続、NFCや無線LAN等の無線接続により、ハンドヘルドプリンタ10やその他の情報処理端末と通信を行い通信部280が接続されて構成されている。また、I/F250を介して音を出力する音出力部262が接続されている。
CPU210は演算手段であり、画像データ送信装置20全体の動作を制御する。RAM220は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU210が情報を処理する際の作業領域(ワーキングメモリ)として用いられる。ROM230は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。
記憶媒体240は、HDD、SSD(Solid State Drive)などの情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム(以後、アプリケーション)等が格納されている。I/F250は、バス290と、表示部261、操作部270、音出力部などの各種のハードウェアや通信部280を介してネットワーク等を接続し制御する。
表示部261は、I/F250を介して受信した画像データ送信装置20の状態をユーザUが確認するユーザI/Fである。操作部270は、キーボードなどによって構成され、ユーザUが画像データ送信装置20に情報を入力するためのユーザI/Fである。なお、表示部261および操作部270を、動作原理方式として抵抗膜方式、表面弾性波方式、静電容量方式等が用いられたタッチパネルとして構成してもよい。
音出力部262は、ハンドヘルドプリンタ10から通知される判定結果情報に基づいて、ハンドヘルドプリンタ10の状態を音としてユーザUに報知する。
このようなハードウェア構成において、ROM230に格納されたプログラムや記憶媒体240からRAM220に読み出されたプログラムに従ってCPU210が演算を行うことにより、図7において説明するコントローラ200の内部機能が構成される。なおコントローラ200の内部機能と、ハードウェアとの組み合わせによって、画像データ送信装置20の機能を実現する機能ブロックが構成される。
[コントローラ200の機能ブロック]
次に、画像データ送信装置20のコントローラ200の内部機能について説明する。図7は、本実施形態に係るコントローラ200の内部機能の構成を示す機能ブロック図である。
コントローラ200は、画像処理部201、画像領域算出部202、報知制御部203、操作制御部204、通信制御部205を含む。画像処理部201は、ユーザUがハンドヘルドプリンタ10による画像形成出力の対象として選択した画像データを、ハンドヘルドプリンタ10で出力可能な形式に変換する処理を行う。
このとき、画像処理部201は、画像形成出力に際してユーザUによって設定された条件、例えば、モノクロ/カラー印刷、拡大/縮小などの条件を適用して、画像データをハンドヘルドプリンタ10で出力可能な形式に変換する処理を行う。
画像領域算出部202は、画像処理部201によって処理された画像データに基づいて、ユーザUがハンドヘルドプリンタ10による画像形成出力の対象として選択した画像データが形成される領域を算出して画像領域情報を生成する。なお、ユーザUの指定によって画像データが形成される領域を決定して画像領域情報を生成する構成であってもよい。
報知制御部203は、表示部261に表示される画面の制御を実行する。例えば、報知制御部203は、ハンドヘルドプリンタ10から画像領域外通知情報を受信した場合に、その画像領域外通知情報に基づいた画面を表示部261に表示させる。
また、報知制御部203は、ハンドヘルドプリンタ10から初期化完了通知を受信した場合に、その初期化完了通知に基づいた画面を表示部261に表示させる。この場合、報知制御部203は、音出力部262を介して、ハンドヘルドプリンタ10の初期化完了を知らせる音を出力してもよい。
操作制御部204は、ユーザUによる操作部270の操作に基づいた制御情報を生成し、コントローラ200を構成する各部に送信する。通信制御部205は、ハンドヘルドプリンタ10との通信を制御し、ハンドヘルドプリンタ10との情報の送受信を制御する。
以上説明したような構成によって、本実施形態に係る画像形成システム1000では、画像データ送信装置20から受信した画像データに基づいてハンドヘルドプリンタ10を使用して用紙30に対する画像形成出力を実行する。
[画像形成出力動作の実施形態]
次に、本発明に係る制御プログラムにおける処理の流れについて、ハンドヘルドプリンタ10を用いた画像形成出力動作を例示して説明する。図8は、本実施形態に係るハンドヘルドプリンタ10の起動から画像形成の終了までの動作手順を示すシーケンス図である。
図8の処理において、CPU111が実行主体として記載されている処理は、CPU111がファームウェア等を実行することにより、利用可能となる機能によって実現される処理である。
ユーザUがハンドヘルドプリンタ10の電源スイッチを押下する(S801)と、ハンドヘルドプリンタ10は電源141からの電源供給を開始する(S802)。これによって、初期化処理(S805)が実行される。初期化処理(S805)において、CPU111は、ハンドヘルドプリンタ10を構成する各電子デバイス、例えば、ASIC/FPGA120などの各構成要素を初期状態にするための処理を実行する。
なお、ユーザUは、ハンドヘルドプリンタ10に対して特定の処理動作である画像形成動作を実行させるためのアプリケーションを画像データ送信装置20において実行させる(S803)。図8では、ハンドヘルドプリンタ10に対する電源ボタン押下(S801)の後に、アプリ起動(S803)を行っているが、この順番に限定されるものではなく、逆でもよい。
画像データ送信装置20は、アプリ起動(S803)によって、所定のアプリケーションを起動し、ハンドヘルドプリンタ10との通信を開始し、利用開始処理を実行する(S804)。利用開始処理(S804)は、ハンドヘルドプリンタ10に対する通信処理を行える状態になるように、画像データ送信装置20とハンドヘルドプリンタ10との間の通信状態を確立する処理であって、ハンドヘルドプリンタ10の状態を示す情報を受け取る処理を含む。
ユーザUは、画像データ送信装置20におけるアプリ起動の後、当該アプリを使用して印刷処理を要求する画像(印刷画像)の選択および当該画像を印刷するための印刷モードの選択を、アプリ上で行う(S806)。本実施形態では、ハンドヘルドプリンタ10の初期化処理(S805)が完了する前に、利用開始処理(S804)が行われ、初期化処理(S805)の後に印刷画像選択処理(S806)が行われたものとする。初期化処理(S805)が完了するタイミングは、図8に限定されるものではなく、また、初期化処理(S805)が実行されている途中であっても、画像データ送信装置20において印刷画像選択(S806)が実行できてもよい。
ユーザUは、仮に印刷画像選択処理(S806)は行えても、ハンドヘルドプリンタ10における初期化処理(S805)が終了して、印刷処理が許可される状態(動作許可状態)になっていなければ、印刷ジョブ送信(S807)を実行することはできない。
S806で選択された画像の印刷を実行する操作がユーザUによって行われると、画像データ送信装置20は、印刷ジョブおよび画像領域情報を生成してハンドヘルドプリンタ10に送信する(S807)。
なお、画像データ送信装置20にインストールされているアプリは、ユーザUによってS806で選択された画像の印刷を実行する操作が行われると、プリンタドライバを呼び出して印刷条件と画像データを所定の形式で記述して、ハンドヘルドプリンタ10に送信する。なお、プリンタドライバを介さずに、画像データをTIFFやJPEG等のままハンドヘルドプリンタ10に送信する構成であってもよい。
また、画像領域算出部202は、ユーザUによって画像形成対象の画像として選択された画像データの左上端部を原点として、画像領域情報を生成する。また、画像領域算出部202は、ハンドヘルドプリンタ10本体の幅などを考慮して、実際に画像が形成される領域のまわりにマージンを持たせて画像領域情報を生成してもよい。
ハンドヘルドプリンタ10に印刷ジョブの送信が開始されると(S807)、CPU111は、受信した印刷ジョブの含まれている印刷モードの設定や、使用状態を示す使用履歴情報を同時に受信する。そして、印刷モードや使用履歴に基づくノズル列切替処理を実行する(S808)。
また、ハンドヘルドプリンタ10に印刷ジョブの送信が開始されると(S807)、CPU111は、例えば、LEDスイッチを点滅させるなどして、画像データの受信中(受信未了)であることをユーザUに通知する(S809)。
図8では、印刷ジョブ送信(S807)の後、画像データ受信(S809)が実行される前にノズル列切替(S808)が実行される流れになっている。しかし、S808とS809の実行は逆の順番でもよい。ノズル列切替(S808)は、印刷ジョブ送信(S807)の後、印刷実行処理(S814)が開始される前までに行われればよい。ノズル列切替(S808)の詳細は後述する。
そして、画像データの受信が完了すると、CPU111は、点滅させていたLEDスイッチを点灯状態にさせるなどして、ユーザUに対して画像データの受信が完了したことを通知する。CPU111は、受信した画像データをDMAC122に転送する。
なお、OPU104として、発音機構を備えている場合には、画像データ受信通知や画像データ受信完了通知を音声により行う構成であってもよい。
ユーザUは、ハンドヘルドプリンタ10において画像データの受信中に、用紙30の上でハンドヘルドプリンタ10の初期位置、すなわち、画像形成の開始位置を決定する(S810)。
ユーザUは、例えば、ハンドヘルドプリンタ10を用紙30上の任意の位置に置く動作によって、初期位置を決定する。初期位置を決定したのち、ユーザUは、画像形成出力の開始予定位置として用紙30上の任意の位置にハンドヘルドプリンタ10を置き、LEDスイッチを押下する印刷開始操作を行う(S811)。S811の操作は、ハンドヘルドプリンタ10に対する印刷動作開始トリガとなる。
続いて、ハンドヘルドプリンタ10は、動作開始判定処理(S812)を実行する。その後、CPU111は、LEDスイッチによるキー割込みを受け付け、ナビゲーションセンサI/F125を介してナビゲーションセンサ105にハンドヘルドプリンタ10の位置を検知させる(S813)。S813の処理でナビゲーションセンサ105によって検知される用紙30の上でハンドヘルドプリンタ10の初期位置が、画像形成開始時のハンドヘルドプリンタ10の位置、すなわち、ハンドヘルドプリンタ10による画像形成の開始位置である。
ナビゲーションセンサ105によって検知された開始位置の情報は、ハンドヘルドプリンタ10の開始位置情報として、DRAM102等の記憶媒体に格納される(S814)。
なお、上述したように、ナビゲーションセンサ105からIJ記録ヘッド108の端部までの距離、IJ記録ヘッド108の端部からもっとも近い位置に配列されているノズルとIJ記録ヘッド108の端部との距離、IJ記録ヘッド108に配列されているノズル間の距離は、予めROM103等の記憶媒体に格納されている。
したがって、位置算出部112は、ハンドヘルドプリンタ10の位置情報に基づいて、IJ記録ヘッド108およびIJ記録ヘッド108に配列されているそれぞれのノズルの位置を算出することができる。
S813で取得したナビゲーションセンサ105の検知結果に基づいて、位置算出部112にIJ記録ヘッド108およびIJ記録ヘッド108に配列されているそれぞれのノズルの位置を算出させてもよい。
さらに、位置算出部112によって算出された結果を、画像形成出力開始時のIJ記録ヘッド108およびIJ記録ヘッド108に配列されているそれぞれのノズルの位置の開始位置情報としてDRAM102等の記憶媒体に格納する構成としてもよい。
また、ナビゲーションセンサ105によって検知されたハンドヘルドプリンタ10の開始位置を、例えば、座標(0,0)としてDRAM102等に格納してもよい。そして、開始位置を格納すると、CPU111は、印刷実行処理を開始する(S814)。印刷実行処理の詳細は後述する。
CPU111は、S815の処理が終了したことを判定すると、印刷完了通知を画像データ送信装置20に送信する。また、CPU111は、LEDスイッチを消灯するなどして、ユーザUに対して画像データの印刷が完了したことを通知する(S815)。
なお、本実施形態に係るハンドヘルドプリンタ10は、用紙30に対する画像形成出力の実行中に、用紙30において画像データが形成される画像領域に対してハンドヘルドプリンタ10が走査しているのかどうかをユーザUが認識することができない。ここで、ハンドヘルドプリンタ10は、現在位置と、画像領域との位置関係がどのような状態であるかをユーザUに通知する機能も備える。
[ノズル列切替(S808)の詳細フロー]
S808のノズル列切替処理の詳細について、図9のフローチャートを用いて説明する。S807の処理によって、画像データ送信装置20からハンドヘルドプリンタ10に印刷ジョブが送信されると、ハンドヘルドプリンタ10はまず、印刷モードや使用状態(使用履歴情報に含まれている)を取得する(S901)。
続いて、印刷モードまたは使用状態に基づいて、現在設定されている使用ノズル列からの切替要否について判定する(S902)。ノズル列切替が必要でなければ(S902/NO)、当該処理は終了する。
ノズル列切替が必要であれば(S902/YES)、使用ノズル列を切り替えて(S903)、処理を終了する。
ここで、ノズル列の設定及び切替についてより詳細に説明をする。図11は、ハンドヘルドプリンタ10を用いた画像形成動作を行うとき、すなわち、ユーザUが手動走査を行うときのIJ記録ヘッド108の移動方向と、ノズル列の関係性について明示している。
図11(a)は、印刷モードが「横書き」であるときの例である。印刷モードが「横書き」であるときは、ハンドヘルドプリンタ10は+X方向に走査される。いうなれば「右方向への走査」によって画像を形成することになる。なお、後述する「シングルパスモード」の場合は、図11(a)に例示する走査を繰り返して、画像を形成することになる。図11(a)に例示した印字モードの場合は、使用ノズル列は、第一ノズル列181である。
図11(b)は、印刷モードが「横書き」であるときの別例である。この場合は、ハンドヘルドプリンタ10は−X方向に走査される。いうなれば「左方向への走査」によって画像を形成することになる。ユーザUの利き腕が左腕だった場合には、このように右から左への走査の方が、操作性の向上に資する場合もある。なお、後述する「Nパスモード」の場合は、図11(a)に例示する走査とともに、図11(b)に例示する走査を交互に繰り返して、画像を形成することになる。図11(b)に例示した印字モードの場合は、使用ノズル列は第二ノズル列182である。
図11(c)は、印刷モードが「縦書き」であるときの例である。この場合は、ハンドヘルドプリンタ10は、図11(b)の状態から、Z軸を回転軸にして反時計回りに90°回転した状態であって、−X方向に走査される。いうなれば「上から下への走査」によって画像を形成することになる。この場合、−X方向への走査であって、使用ノズル列は第二ノズル列182である。
上記のように、印刷モードによって、ハンドヘルドプリンタ10の走査方向が異なる。そして、使用ノズル列は、走査方向側のノズル列が設定される。したがって、S901において取得された印刷モードに基づく判定(S902)時の使用ノズル列の設定が、印刷モードに対応する設定とは異なる場合、使用ノズル列を切り替える。
走査方向側のノズル列を使用ノズル列に設定すると、吐出口からの液滴吐出方向が傾斜していても、走査による画像の乱れを吸収できる可能性が高いからである。より詳しくは、仮に、走査方向とは異なる方向のノズル列を使用ノズル列として設定している場合、ノズル口からの液滴の吐出方向が走査方向とは反対側に傾いていると、走査開始時の液滴の吐出間隔が広がってしまい、印刷の結果がかすれたような状態になりやすい。これに対して、走査方向と同じ方向に配置されているノズル列を使用ノズル列に設定すると、特に走査開始時の液滴の吐出方向が走査方向とは逆方向に傾斜していても、次の吐出によって吐出間隔を埋めることができ、印刷結果がかすれたような状態にはなりにくい。
したがって、本実施形態に係るハンドヘルドプリンタ10は、設定されている印刷モードにおいて通常の走査方向側に配置されているノズル列を使用ノズル列として設定する。これによって、印刷処理の実行開始初期時の吐出方向の傾斜による印刷画像への影響を減少させることができる。
[印刷実行処理(S814)の詳細フロー]
S814の印刷実行処理の詳細について、図12のフローチャートを用いて説明する。S814の処理によって、ハンドヘルドプリンタ10の開始位置情報が記憶媒体に格納されると、CPU111は、印字/センサタイミング生成部126に時間計測を開始させる(S1201)。なお、S1201において、ハンドヘルドプリンタ10の開始位置情報として、IJ記録ヘッド108の位置、IJ記録ヘッド108に配列されているそれぞれのノズルの位置が格納されてもよい。
続いて、予め設定されたナビゲーションセンサ105へのリードタイミングになると(S1202/YES)、ナビゲーションセンサI/F125は、ナビゲーションセンサ105に、ハンドヘルドプリンタ10の移動量等を検知させる(S1203)。
CPU111は、ASIC/FPGA120からナビゲーションセンサ105の検知結果を取得し、位置算出部112にハンドヘルドプリンタ10の現在位置P1を算出させる(S1204)。S1204の処理において、位置算出部112は、前回算出したハンドヘルドプリンタ10の位置P(X,Y)と今回取得したハンドヘルドプリンタ10の移動量ΔP(ΔX,ΔY)とに基づいて、ハンドヘルドプリンタ10の現在位置P1(X1,Y1)を算出し、DRAM102に格納する。
続いて、CPU111は、算出されたハンドヘルドプリンタ10の現在位置P1(X1,Y1)の情報をASIC/FPGA120に転送する。なお、位置算出部112にハンドヘルドプリンタ10の位置情報に基づいて、IJ記録ヘッド108およびIJ記録ヘッド108に配列されているそれぞれのノズルの位置を算出させた結果を、IJ記録ヘッド108およびIJ記録ヘッド108に配列されているそれぞれのノズルの現在位置P1として、ASIC/FPGA120に転送する構成であってもよい。
DMAC122は、ハンドヘルドプリンタ10の現在位置P1(X1,Y1)の位置情報に基づいて、IJ記録ヘッド108に配列されているノズル周辺の画像データをDRAM102から取得し、イメージRAM121に一時的に記憶させる。
そして、回転処理部123は、ハンドヘルドプリンタ10の現在位置P1(X1,Y1)に基づいて、イメージRAM121からノズル周辺の画像データを取得し、取得したノズル周辺の画像データに対して回転処理を行う(S1205)。
DMAC122は、DRAM102から取得したノズル周辺の画像データを、DRAM102から削除する。IJ記録ヘッド制御部127は、回転処理された画像データの座標とハンドヘルドプリンタ10の現在位置P1(X1,Y1)に基づいて定められるノズルの位置の座標とを比較する(S1206)。
そして、予め設定されたインク吐出条件、すなわち、ノズル位置が、画像データに基づいて定められるインクを吐出すべき目標吐出位置に到達した、もしくは、ノズル位置と目標吐出位置とのずれが許容誤差内に収まると判断した場合(S1207/YES)、IJ記録ヘッド制御部127は、S905の処理において、回転処理されたIJ記録ヘッド108のノズル周辺の画像データをIJ記録ヘッド駆動回路107に入力する。
IJ記録ヘッド駆動回路107は、入力された画像データに基づいてIJ記録ヘッド108から用紙30に対してインクを吐出させる(S1208)。DRAM102に記憶されている画像形成出力対象の画像データの全てがDMAC122へ転送されるまで、または、ユーザUによってLEDスイッチが操作されるなどして画像形成出力を終了する信号が受信されるまで(S1209/NO)、S1202からS1210の処理ステップが繰り返し実行されて、用紙30に画像が形成される。
S1208にてインクが吐出され、DRAM102に記憶されている画像形成出力対象の画像データの全てがDMAC122へ転送された、もしくは、ユーザUによってLEDスイッチが操作されるなどして画像形成出力を終了する信号(印刷動作終了トリガ)を受信済みである場合、CPU111は、画像形成出力が終了したと判定する(S1209/YES)。
以上説明のとおり、本実施形態に係るハンドヘルドプリンタ10は、画像形成動作の実行に適する状態になっているか否かを判定し、当該動作に適さない状態になっているときには、画像データ送信装置20に対して、画像データの送信を制限させる。より詳細には、画像データの送信を行えないように、ユーザUに対するユーザI/Fを制御する。
また、画像データを受信し、画像形成動作の開始を指示する動作開始トリガを受け付けたとしても、画像形成動作の実行に適さない状態になるまで、当該動作を実行させないように制御する。これによって、ユーザUが意図しない挙動を防止できる。
[メンテナンスモード]
本実施形態に係るハンドヘルドプリンタ10は、印刷モードの一つに「メンテナンスモード」を備える。メンテナンスモードは、IJ記録ヘッド108のノズルの状態を回復させる回復処理の一種であって、ユーザUが選択した画像データではなく、ノズルの状態をユーザUが確認するための「パターン画像500」を用紙30に印刷する処理である。既に説明をしたS806の処理において、ユーザUが「メンテナンスモード」を選択した場合、続くS807では、メンテナンスモード用の印刷ジョブが生成されてハンドヘルドプリンタ10に送信される。
ハンドヘルドプリンタ10は、メンテナンスモード用の印刷ジョブを受信したとき、上述したS901において「メンテナンスモード」の実行要求を示す情報を取得し、この情報に基づいて所定の「パターン画像500」の形成処理を実行する。
[パターン画像の実施形態]
図13〜図16を参照しながら、本実施形態に係るハンドヘルドプリンタ10がメンテナンスモードで用いることができるパターン画像500の例について説明する。図13に例示するように、パターン画像500は、回復用パターン501と、確認用パターン502と、識別用パターン503と、を含む構成になっている。
回復用パターン501は、IJ記録ヘッド108の全ノズルからベタパターンとしてインクを吐出して形成される画像パターンであり、インクの吐出不良および不吐出の解消を目的するパターンである。確認用パターン502は、ハンドヘルドプリンタ10の走査に応じて、IJ記録ヘッド108のノズル列における一定間隔の各ノズルのうち印字させるノズルをノズル列の列方向にずらしながら印字したパターンである。確認用パターン502は、回復用パターン501の印字が行われた結果、実際にインクの吐出不良および不吐出が解消されているか否かをユーザが目視により確認するためのパターンである。識別用パターン503は、回復用パターン501及び確認用パターン502を形成したノズル列を明示するための情報を含むパターンである。
本実施形態に係るパターン画像500は、IJ記録ヘッド108が備える第一ノズル列181と、第二ノズル列182のいずれを用いて形成したパターンであるかを識別し易くするために、これらを区別して動作して識別用パターン503を付与している。図13に示す白抜き矢印は走査方向を示している。
まず、第一ノズル列181によって、第一回復用パターン501aが形成され用紙30に印刷される。続いて、第一確認用パターン502aが形成され用紙30に印刷される。第一確認用パターン502aの印刷が終了すると、第一確認用パターン502aに続いて第一識別用パターン503aが形成され用紙30に印刷される。第一識別用パターン503aは、ユーザUにおいて、どのノズル列を使用して形成したパターンであるかの認識がし易いように、例えば、第一ノズル列181を識別する情報として「A」という文字を認識できるパターンとして印刷される。
上記のように第一ノズル列181によるパターン画像500が印刷された後、第一識別用パターン503aの後に若干の空白を設けて、第二ノズル列182によって第二回復用パターン501bを印刷し、上記と同様に、これに続けて第二確認用パターン502b、第二識別用パターン503bを印刷する。なお、第二識別用パターン503bは、第二ノズル列182を識別する情報として「B」という文字を認識できるパターンとして印刷される。
なお、図13に示す確認用パターン502は、ノズル列の各ノズルのうち印字させるノズルをノズル列の列方向にずらした結果、階段状に構成されているが、階段状に構成されている必要はなく、ノズルごとの印字が区別できるような印字パターンであればよい。また、回復用パターン501および確認用パターン502の走査方向に直交する方向(ノズル列の列方向)の幅は、上述の図1(b)に示した開口部16の同方向の幅に対応する。
また、回復用パターン501および確認用パターン502の走査方向のそれぞれの幅、ならびに、確認用パターン502におけるノズル列の各ノズルの印字の配置は、例えば、ユーザによる操作入力に従って、変更が可能であってもよい。
また、回復用パターン501による印字は、必ずしもベタパターンである必要はなく、インクの吐出不良および不吐出の解消を図れるパターンであればよい。
図14は、メンテナンスモードで用いることができるパターン画像510の例である。図14に示す白抜き矢印も走査方向を示している。すでに例示したパターン画像500と同様の構成を有しており、回復用パターン511と、確認用パターン512と、識別用パターン513と、を含む構成になっている。
回復用パターン511と確認用パターン512は、すでに説明をした回復用パターン501及び確認用パターン502と同様であるが、識別用パターン513は異なるパターンになっている。
識別用パターン513は、回復用パターン511及び確認用パターン512を形成したノズル列をユーザUにとって識別可能な状態にするために、使用ノズル列を明示するための識別情報を含むパターンである。したがって、図14に例示するように、IJ記録ヘッド108のノズル吐出面に向かって左側を第一ノズル列181とすると、これによって印刷された確認用パターン512の後には、左側を暗示する文字「L」を模した識別用パターン513aを識別情報として印刷することになる。また、IJ記録ヘッド108のノズル吐出面に向かって右側を第二ノズル列182とすると、これによって印刷された確認用パターン512の後には、右側を暗示する文字「R」を模した識別用パターン513bを識別情報として印刷することになる。
図15は、メンテナンスモードで用いることができるパターン画像520の例である。図15に示す白抜き矢印も走査方向を示している。すでに例示したパターン画像500とパターン画像510とは、異なる構成を有している。パターン画像520は、回復用パターン521と、確認用パターン522とを含む構成になっている。
確認用パターン522は、すでに説明をした確認用パターン502及び確認用パターン512と同様であるが、回復用パターン521は異なるパターンになっている。
回復用パターン511は、識別用のパターンを兼ねるようになっていて。使用ノズル列を暗示する文字「L」や「R」を模したパターンとなっている。
図16は、メンテナンスモードで用いルことができるパターン画像530の例である。図16に示す白抜き矢印も走査方向を示している。パターン画像530は、走査方向に応じて使用するパターンを変化させるものである。ここでは機器の走査の方向によって吐出するノズル列を右走査用、左走査用とで出し分ける例を示す。+X方向(右方向)への走査をするときには、第一ノズル列181を用いてパターン画像530を印刷する。この場合、第一回復用パターン531aと第一確認用パターン532aをパターン画像530として用いる。
−X方向(左方向)への走査をするときには、第二ノズル列182を用いてパターン画像530を印刷する。この場合、第二回復用パターン531bと第二確認用パターン532bをパターン画像530として用いる。
図16に示すように、走査方向が異なると印刷されたパターン画像530における回復用パターン531と確認用パターン532の並びが、逆になっている。
以上のように、液滴の吐出動作に実際に使用されている使用ノズル列のメンテナンスパターンを容易に見分けられるようにし、ユーザUが行うメンテナンス作業の効率を向上させることができる。
[ハンドヘルドプリンタ10における印刷モード]
ここで、本実施形態に係るハンドヘルドプリンタ10における画像形成の出力態様のバリエーションについて説明する。すでに説明をしたとおり、ハンドヘルドプリンタ10は、「横書き」と「縦書き」からなる印刷モードを備えている(図11参照)。これら「横書き」や「縦書き」は、以下で説明するシングルパスモードの例である。ハンドヘルドプリンタ10は、シングルパスモードの他に、「Nパスモード」、「マルチパスモード」と生ずる印刷モードを備えている。
まず、「シングルパスモード」におけるハンドヘルドプリンタ10の走査の様子について、図17を用いて改めて説明する。シングルパスモードは、ハンドヘルドプリンタ10の走査を一回一方向で行い、用紙30上に画像形成するモードである。シングルパスモードでは、一回の走査において、一つの画像データの出力処理を実行する。言い換えると、シングルパスモードによって出力される画像は、一走査で出力可能なものである。
シングルパスモードは、図17に例示するように、用紙30の端から直線的に走査し、反対側の端に到達すると画像形成が終了する。次の画像を形成するときには、先の画像形成時と同じ側から走査を始めて、同じ方向に直線的に走査する。シングルパスモードは、例えば、一行分の文字列やバーコードなど、直線的な画像を形成するときに適するモードである。上記の説明に用いた「横書き」と「縦書き」は、いずれもシングルパスモードによるものである。
次に、「Nパスモード」におけるハンドヘルドプリンタ10の走査の様子を図18の模式図を用いて説明する。Nパスモードは、ハンドヘルドプリンタ10の走査を一回複数方向で用紙30上に画像形成するモードである。図18に例示するように、用紙30の端から直線的に走査し、反対側の端に到達したら改行する(走査方向と交差する方向に位置をずらす)。その後、先とは反対方向に直線的に走査をする。このように、ハンドヘルドプリンタ10の走査と改行とを繰り返して行い、複数行に渡るキャラクタを用紙30上に形成するモードがNパスモードである。
次に、「マルチパスモード」におけるハンドヘルドプリンタ10の走査の様子を図19の模式図を用いて説明する。マルチパスモードは、ハンドヘルドプリンタ10の走査を、往復で自由に繰り返すことで、用紙30上に画像を形成するモードである。図19に例示するように、用紙30の端から画像形成処理(印刷処理)を開始したとして、画像領域の内側の塗りつぶすように、往復させるようにして走査をする。これを繰り返すことにより、部分的な画像を繋ぎ合わせて一の画像を用紙30上に形成するモードがマルチパスモードである。
なお、上述の実施形態において、ハンドヘルドプリンタ10の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM(Read Only Memory)等に予め組み込まれて提供される。また、上述の実施形態に係るハンドヘルドプリンタ10で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk−Recordable)、またはDVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の実施形態に係るハンドヘルドプリンタ10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態に係るハンドヘルドプリンタ10で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の実施形態のハンドヘルドプリンタ10で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしては制御部101のCPUが上述の記憶装置(DRAM102等)からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置上にロードされて生成されるようになっている。
本発明は、説明した実施形態に限定されるものではなく、その他の実施形態、追加、修正、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用や効果を奏する限り、本発明の範囲に含まれるものである。さらに、上記の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。