以下、本発明を実施するための形態の一例として、液滴吐出装置、画像出力器が行う画像形成方法、及び、画像出力器が実行するプログラム等について、図面を参照しながら説明する。
<本実施形態のHHPの初期位置と印刷媒体に置かれる向きについて>
図1は、HHP20が印刷媒体に置かれる向き及び初期位置の一例について説明する図である。図1(a)は横走査のためのHHP20が印刷媒体に置かれる向き及び初期位置の一例を示す。ユーザから見て左から右方向への横走査の場合、図1(a)に示すようにHHP20が画像領域80の左上コーナー部(左上の頂点と頂点の周辺領域を含む)に配置されることが多かった。
図1(b)は縦走査のためのHHP20印刷媒体に置かれる向き及び初期位置の一例を示す。本実施形態では、ユーザから見て上から下方向への縦走査の場合、ユーザは図1(b)に示すようにHHP20を横向きにして印刷媒体に置き、画像領域80の左上コーナー部に配置することができる。ノズル71の上端が画像領域80の原点になる。
印刷媒体に置かれる向きと初期位置が決まればユーザから見た走査方向も定まるので、ユーザは自分が走査する方向に合わせてHHP20の初期位置と向きを決定することができる。例えば図1(b)のような初期位置と印刷媒体に置かれる向きでは、印刷開始の当初から縦書きの文字を縦走査で印刷することができる。
図1(a)(b)では初期位置が従来と同じく左上コーナー部であるが、本実施形態では、ユーザは画像領域80の任意の場所を初期位置に設定できる。図1(c)はユーザが設定できるHHP20の初期位置の一例を示す。例えば、ユーザから見て下から上方向の走査方向が印刷しやすい場合(例えばノートをユーザから見て上下に開いてノートの中央から上方向に向かって走査する場合)、ユーザは図1(c)に示すようにHHP20を印刷媒体12に横向きに置いて画像領域80の右下コーナー部を初期位置に設定することができる。
このように本実施形態では、HHP20の初期位置と印刷媒体12に置かれる向きの組み合わせを任意に設定できるため、自分が走査しやすい初期位置から、ユーザから見て自分が走査しやすい方向に走査できる。
<用語について>
液滴吐出装置の走査情報とは、HHP20をどのように走査するかに関する情報である。本実施形態では、例えば、HHP20の初期位置と印刷媒体12に置かれる向きの少なくとも一方である。
吐出ノズルの位置情報の変換とは、HHP20が検出する位置情報を別の位置情報に変換することをいう。位置情報とは一次元又は二次元の座標である。
システム状態とはHHPの動作に関する内部的な状態である。各状態でHHPが行う動作が決まっており、ある状態から別の状態への遷移条件が決まっている。
<HHPによる画像形成>
図2は、HHP20による画像形成を模式的に示す図の一例である。HHP20には、例えば画像出力器11から形成対象の画像と走査に関する情報が送信される。走査に関する情報は、例えば、HHP20の初期位置と印刷媒体に置かれる向き、走査モード情報(シングルパスモード、マルチパスモード)、走査パス数(シングルパスモードの場合)、印刷ジョブのキャンセル、又は、印刷ジョブのリトライなどである。
HHP20と画像出力器11、又は、HHP20と画像出力器11で動作するプログラムを液滴吐出システム100という。ユーザはHHP20を把持して、印刷媒体12(例えば定形用紙やノートなど)からHHP20が浮き上がらないようにフリーハンドで走査させる。
画像出力器11は、HHP20と無線又は有線で通信する機能を有する情報処理装置であればよい。画像出力器11は、例えば、スマートフォン、タブレット端末、PC(Personal Computer)、PDA(Personal Digital Assistant)、携帯電話、ハンディターミナル、ウェアラブルPC(例えば、腕時計型、サングラス型)、携帯型のゲーム機、カーナビゲーション、デジタルカメラ、プロジェクタ、テレビ会議端末、又は、ドローン等が挙げられる。
HHP20は後述するようにナビゲーションセンサとジャイロセンサで位置情報を検出し、HHP20が目標吐出位置に移動すると、目標吐出位置で吐出すべき色のインクを吐出する。すでにインクを吐出した場所はマスクされるので(インクの吐出の対象とならないので)、ユーザは印刷媒体12上でユーザから見て任意の方向にHHP20を走査させることで画像を形成できる。
印刷媒体12からHHP20が浮き上がらないことが好ましいのは、ナビゲーションセンサが印刷媒体12からの反射光を利用して移動量を検出するためである。印刷媒体12からHHP20が浮き上がると反射光を検出できなくなり移動量を検出できない。1回の走査で形成可能なPn行分などの一まとまりの画像はある初期位置に基づいて形成される。仮に、一まとまりの画像の形成の途中でHHP20が位置情報を検出できない状態になると、ユーザは画像出力器11にキャンセル又はリトライを指示する。
HHP20は、印刷媒体12にインクを吐出して画像を形成するためインクジェットプリンタと呼ぶことができる。吐出する流体はインクに限られず、少なくとも吐出時に液状になればよいため液滴吐出装置と称することもできる。また、画像を形成するため画像形成装置又は印刷装置と称してもよいし、画像を処理するため画像処理装置と称してもよい。また、HHP20は、ユーザが手で持て携帯できるという意味からHMP(Handy Mobile Printer)と称される場合がある。
なお、本実施形態ではインクを吐出して画像を形成するHHP20について説明するが、HHP20は熱転写方式で画像を形成してもよいし、ドットインパクト方式で画像を形成してもよい。熱転写方式は、インクリボンをサーマルヘッドで印刷媒体12に転写させる方式でも、印刷媒体12に感熱紙を用いてサーマルヘッドで発色させる方式でもよい。また、ドットインパクト方式であれば送り状や伝票など複写式の帳票に一度に画像を形成できる。
印刷媒体12は平面を一部に有していればよい。平面は曲面であってもよい。例えば、用紙やノートなどが挙げられる。印刷媒体は机や床に水平でも垂直でもよい。また、印刷媒体12はシート状の形状に限られず、壁や天井などにもHHP20は画像を形成できる。例えば、段ボールの側面、底面、上面等にも印刷可能である。また、地面や施設等に固定されている立体物にも印刷可能である。
<構成例>
<<HHP>>
図3は、HHP20のハードウェア構成図の一例を示す。HHP20は、制御部25によって全体の動作が制御され、制御部25には通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、ナビゲーションセンサ30、及びジャイロセンサ31が電気的に接続されている。また、HHP20は電力により駆動されるため、電源22と電源回路21を有している。電源回路21が生成する電力は、点線22aで示す配線などにより、通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、IJ記録ヘッド24、制御部25、ナビゲーションセンサ30、及び、ジャイロセンサ31に供給されている。
電源22としては主に電池(バッテリ)が利用される。電池は市販の乾電池又は充電池でも専用の充電池でもよい。太陽電池や商用電源(交流電源)、燃料電池等が用いられてもよい。電源回路21は、電源22が供給する電力をHHP20の各部に分配する。また、電源22の電圧を各部に適した電圧に降圧や昇圧する。また、電源22が充電可能な電池である場合、電源回路21は交流電源の接続を検出して電池の充電回路に接続し、電源22の充電を可能にする。
通信I/F27は、スマートフォンやPC(Personal Computer)等の画像出力器11から画像の受信等を行う。通信I/F27は例えば無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)、赤外線、3G(携帯電話)、又は、LTE(Long Term Evolution)等の通信規格に対応した通信装置である。また、このような無線通信の他、有線LAN、USBケーブルなどを用いた有線通信に対応した通信装置であってもよい。
ROM28は、HHP20のハードウェア制御を行うファームウェアや、IJ記録ヘッド24の駆動波形データ(液滴を吐出するための電圧変化を規定するデータ)や、HHP20の初期設定データ等を格納している。
DRAM29は通信I/F27が受信した画像の記憶、又は、ROM28から展開されたファームウェアの格納のために使用される。したがって、CPU33がファームウェアを実行する際のワークメモリとして使用される。
ナビゲーションセンサ30は、所定のサイクル時間ごとにHHP20の移動量を検出するセンサである。ナビゲーションセンサ30は、例えば、発光ダイオード(LED)やレーザ等の光源と、印刷媒体12を撮像する撮像センサを有している。HHP20が印刷媒体12上を走査されると、印刷媒体12の微小なエッジが次々に検出され(撮像され)エッジ間の距離を解析することで移動量が得られる。本実施形態では、ナビゲーションセンサ30は、HHP20の底面に1つだけ搭載されている。ナビゲーションセンサ30は2つあってもよい。ナビゲーションセンサ30が2つある場合は、HHP20は回転角を検出できる。本実施形態ではジャイロセンサ31により回転角を検出する。なお、ナビゲーションセンサ30として、更に多軸の加速度センサを用いてもよく、HHP20は加速度センサのみでHHP20の移動量を検出してもよい。
ジャイロセンサ31は、印刷媒体12に垂直な軸を中心にHHP20が回転した際の角速度を検出するセンサである。制御部25はこの角速度を積分してHHP20の姿勢を算出する。姿勢とは印刷媒体12に垂直な軸に対するHHP20の回転角である。回転角の基準の一例は印刷の開始時のHHP20の長手方向である。
OPU(Operation panel Unit)26は、HHP20の状態を表示するLED、ユーザがHHP20に画像形成を指示するためのスイッチ等を有している。ただし、これに限定するものではなく、液晶ディスプレイを有していてよく、更にタッチパネルを有していてもよい。また、音声入力機能を有していてもよい。OPU26は印刷ボタン26aを有している。印刷ボタン26aは印刷の開始を受け付けるボタンである。
IJ記録ヘッド駆動回路23は上記の駆動波形データを用いて、IJ記録ヘッド24を駆動するための駆動波形(電圧)を生成する。インクの液滴のサイズなどに応じた駆動波形を生成できる。
IJ記録ヘッド24は、インクを吐出するためのヘッドである。図ではCMYKの4色のインクを吐出可能になっているが、単色でもよく5色以上の吐出が可能でもよい。各色ごとに一列(二列以上でもよい)に列状に並んだ複数のインク吐出用のノズル71(吐出部)が配置されている。また、インクの吐出方式はピエゾ方式でもサーマル方式でもよく、この他の方式でもよい。IJ記録ヘッド24は、ノズル71から液体を吐出・噴射する機能部品である。吐出される液体は、IJ記録ヘッド24から吐出可能な粘度や表面張力を有するものであればよく、特に限定されないが、常温、常圧下において、又は加熱、冷却により粘度が30mPa・s以下となるものであることが好ましい。より具体的には、水や有機溶媒等の溶媒、染料や顔料等の着色剤、重合性化合物、樹脂、界面活性剤等の機能性付与材料、DNA、アミノ酸やたんぱく質、カルシウム等の生体適合材料、天然色素等の可食材料、などを含む溶液、懸濁液、エマルジョンなどであり、これらは例えば、インクジェット用インク、表面処理液、電子素子や発光素子の構成要素や電子回路レジストパターンの形成用液、3次元造形用材料液等の用途で用いることができる。
制御部25はCPU33を有しHHP20の全体を制御する。制御部25は、ナビゲーションセンサ30により検出される移動量及びジャイロセンサ31により検出される角速度を元に、IJ記録ヘッド24の各ノズル71の位置情報、該位置情報に応じて形成する画像の決定、後述する吐出ノズル可否判定等を行う。制御部25について詳細は次述する。
図4は、制御部25の構成を説明する図の一例である。制御部25はSoC50とASIC/FPGA40を有している。SoC50とASIC/FPGA40はバス46,47を介して通信する。ASIC/FPGA40はどちらの実装技術で設計されてもよいことを意味し、ASIC/FPGA40以外の他の実装技術で構成されてよい。また、SoC50とASIC/FPGA40を別のチップにすることなく1つのチップや基板で構成してもよい。あるいは、3つ以上のチップや基板で実装してもよい。
SoC50は、バス47を介して接続されたCPU33、位置算出回路34、メモリCTL(コントローラ)35、及び、ROM CTL(コントローラ)36等の機能を有している。なお、SoC50が有する構成要素はこれらに限られない。
また、ASIC/FPGA40は、バス46を介して接続されたImage RAM37、DMAC38、回転器39、割込みコントローラ41、ナビゲーションセンサI/F42、印字/センサタイミング生成部43、IJ記録ヘッド制御部44及びジャイロセンサI/F45を有している。なお、ASIC/FPGA40が有する構成要素はこれらに限られない。
CPU33は、ROM28からDRAM29に展開されたファームウェア(プログラム)などを実行し、SoC50内の位置算出回路34、メモリCTL35、及び、ROM CTL36の動作を制御する。また、ASIC/FPGA40内のImage RAM37、DMAC38、回転器39、割込みコントローラ41、ナビゲーションセンサI/F42、印字/センサタイミング生成部43、IJ記録ヘッド制御部44及びジャイロセンサI/F45等の動作を制御する。
位置算出回路34は、ナビゲーションセンサ30が検出するサンプリング周期ごとの移動量及びジャイロセンサ31が検出するサンプリング周期ごとの角速度に基づいてHHP20の位置情報(例えば座標)を算出する。HHP20の位置情報とは、厳密にはノズル71の位置情報であるが、ナビゲーションセンサ30のある位置情報が分かればノズル71の位置情報を算出できる。なお、位置算出回路34をCPU33がソフト的に実現してもよい。
ナビゲーションセンサ30の位置情報は、後述するように例えば所定の原点(画像形成が開始される時のHHP20の初期位置)を基準に算出されている。また、位置算出回路34は、過去の位置情報と最も新しい位置情報の差に基づいて移動方向や加速度を推定し、例えば次回の吐出タイミングにおけるナビゲーションセンサ30の位置情報を予測する。こうすることで、ユーザの走査に対する遅れを抑制してインクを吐出できる。
メモリCTL35は、DRAM29とのインタフェースであり、DRAM29に対しデータを要求し、取得したファームウェアをCPU33に送出したり、取得した画像をASIC/FPGA40に送出したりする。
ROM CTL36は、ROM28とのインタフェースであり、ROM28に対しデータを要求し、取得したデータをCPU33やASIC/FPGA40に送出する。
回転器39は、DMAC38が取得した画像を、インクを吐出するヘッド、ヘッド内のノズル位置、及び、取り付け誤差などによるヘッド傾きに応じて回転させる。DMAC38は回転後の画像をIJ記録ヘッド制御部44へ出力する。
Image RAM37はDMAC38が取得した画像を一時的に格納する。すなわち、ある程度の画像がバッファリングされ、HHP20の位置情報に応じて読み出される。
IJ記録ヘッド制御部44は、画像(例えばTiff形式)にディザ処理などを施して大きさと密度で画像を表す点の集合に画像を変換する。これにより、画像は吐出位置と点のサイズのデータとなる。IJ記録ヘッド制御部44は点のサイズに応じた制御信号をIJ記録ヘッド駆動回路23に出力する。
IJ記録ヘッド駆動回路23は上記のように制御信号に対応した駆動波形データを用いて、駆動波形(電圧)を生成する。
ナビゲーションセンサI/F42は、ナビゲーションセンサ30と通信し、ナビゲーションセンサ30からの情報として移動量ΔX´、ΔY´(これらについては後述する)を受信し、その値を内部レジスタに格納する。
印字/センサタイミング生成部43は、ナビゲーションセンサI/F42とジャイロセンサI/F45が情報を読み取るタイミングを通知し、IJ記録ヘッド制御部44に駆動タイミングを通知する。情報を読み取るタイミングの周期はインクの吐出タイミングの周期よりも長い。IJ記録ヘッド制御部44は吐出ノズル可否判定を行い、インクを吐出すべき目標吐出位置があればインクを吐出し、目標吐出位置がなければ吐出しないと判定する。
ジャイロセンサI/F45は印字/センサタイミング生成部43により生成されたタイミングになるとジャイロセンサ31が検出する角速度を取得してその値をレジスタに格納する。
割込みコントローラ41は、ナビゲーションセンサI/F42がナビゲーションセンサ30との通信が完了したことを検知して、SoC50へそれを通知するための割込み信号を出力する。CPU33はこの割込みにより、ナビゲーションセンサI/F42が内部レジスタに記憶するΔX´、ΔY´を取得する。その他、エラー等のステータス通知機能も有する。ジャイロセンサI/F45に関しても同様に、割込みコントローラ41はSoC50に対し、ジャイロセンサ31との通信が終了したことを通知するための割込み信号を出力する。
<<画像出力器>>
図5は、画像出力器11のハードウェア構成図の一例である。図示する画像出力器11は、CPU201、フラッシュROM202、RAM203、無線通信モジュール204、アンテナ205、カメラ206、LCD207、タッチパネル208、外部I/F209、マイク210、及び、スピーカー211を備えている。これらはバス212に接続され、データのやり取りが可能である。また、画像出力器11はバッテリ213を備えており、上記の各デバイスへ電力を供給している。
CPU201は、フラッシュROM202に記憶されたプログラムにしたがって、各種データの演算処理などにより画像出力器11全体を制御するものである。フラッシュROM202は画像出力器11全体を制御するプログラム202pを記憶すると共に、各種データを記憶するストレージとしても機能する。プログラム202pはHHP20が適切に動作するように開発されたアプリケーションである。
RAM203は、CPU201のワークメモリとして使用される。フラッシュROM202に記憶されたプログラム202pはRAM203に読み込まれて、CPU201により実行される。
無線通信モジュール204はBluetooth(登録商標)、無線LAN、NFC、又は、赤外線等によりHHP20と通信する。3GやLTEなどの携帯電話回線を利用した音声通信やデータ通信をおこなってもよい。
カメラ206は撮像素子から出力された画像信号をA/D変換する。LCD207は、画像出力器11を操作するためのアイコンや、各種のデータを表示する。タッチパネル208はLCD207に重ね合わせて密着しており、指の接触位置の位置情報を検出する。
外部I/F209は、例えばUSBインタフェースであり、外部機器を接続するためのインタフェースである。マイク210は入力された音声信号をA(Analog)/D(Digital)変換する。スピーカー211は音データをD/A変換して可聴信号を出力する。
<機能について>
図6は、画像出力器11と制御部25の機能をブロック状に示す機能ブロック図の一例である。
<<画像出力器>>
画像出力器11は、通信部51、表示制御部52、操作受付部53、印刷制御部54、画像処理部55、及び、記憶部59の各機能を有する。これら画像出力器11の機能部は、CPU201がプログラム202pを実行し図5に示したハードウェアと協働することで実現される機能又は手段である。なお、プログラム202pは、プログラム配信用のサーバから配信されてもよいし、USBメモリや光記憶媒体などの可搬性の記憶媒体に記憶された状態で配布されてもよい。
通信部51は、HHP20と各種の情報を送受信する。本実施形態では画像及び走査に関する情報をHHP20に送信し、システム状態(スタンバイ、ウォームアップ中、印刷中(印刷レディ、画像形成動作中、画像形成動作完了)等)をHHP20から受信する。通信部51は、フラッシュROM202からRAM203に展開されたプログラム202pをCPU201が実行し無線通信モジュールを制御すること等により実現される。
表示制御部52は、LCD207に表示される各種の画面の表示に関する制御を行う。本実施形態では初期位置と印刷媒体に置かれる向きを受け付ける走査方向設定画面等を表示する。表示制御部52は、フラッシュROM202からRAM203に展開されたプログラム202pをCPU201が実行しLCD207を制御すること等により実現される。
操作受付部53は、ユーザの画像出力器11に対する各種の操作を受け付ける。本実施形態では初期位置と印刷媒体に置かれる向き等を受け付ける。操作受付部53はフラッシュROM202からRAM203に展開されたプログラム202pをCPU201が実行しタッチパネル208を制御すること等により実現される。
印刷制御部54は、画像の印刷に関する制御を行う。すなわち、HHP20との通信、画像の生成、及び、印刷中断・再開等に関する制御を行う。印刷制御部54は、フラッシュROM202からRAM203に展開されたプログラム202pをCPU201が実行すること等により実現される。
画像処理部55は、テキストデータの印刷時に縦書きフォントを使用してテキストデータを縦書きに変換する。あるいは、テキストデータを画像に変化した後、文字ごとに90度回転させる。画像処理部55は、フラッシュROM202からRAM203に展開されたプログラム202pをCPU201が実行すること等により実現される。
記憶部59は、画像591を記憶する。画像591はどのようなファイルフォーマットでもよいが、例えばTIFF、JPEG、BMPなどの画像ファイルである。あるいは、PDL(Page Description Language)で記述された印刷データ(ポストスクリプト、PDF等)でもよい。
<<制御部>>
制御部25は、情報取得制御部61、位置管理部62、起動処理部63、通信部64、画像記憶部65、印刷制御部66、状態制御部67、及び、表示制御部68を有する。制御部25が有するこれらの機能は、図4に示したCPU33がROM28に記憶されたプログラムを実行することで実現される機能又は手段である。
通信部64は画像出力器11と通信して、種々の情報を送受信する。本実施形態では画像及び走査に関する情報を画像出力器11から受信し、システム状態を画像出力器11に送信する。
画像記憶部65はImage RAM37などに構築された画像の記憶手段であり、通信部64が受信した画像は画像記憶部65に記憶される。
情報取得制御部61は、各種のセンサからセンサが検出した情報を取得するタイミングか否かを判断し、情報を取得するタイミングであれば各センサから情報を取得する。
位置管理部62はHHP20の画像形成動作を制御する。すなわち、ユーザの印刷開始の操作に応じて原点を確定し、初期位置と印刷媒体に置かれる向きに基づいて位置算出回路34が算出したノズル71の位置情報を初期位置と印刷媒体に置かれる向きに適した位置情報に変換する。一部の変換において、位置管理部62はHHP20の座標系を画像の座標系に変換する。詳細は後述する。
状態制御部67はHHP20のシステム状態を制御する。システム状態には、I.スタンバイ、II.ウォームアップ中、III.印刷中(IV.印刷レディ、V. 画像形成動作中、及び、VI.画像形成動作完了)などがある。例えば、印刷ボタン26aの押下、静止した状態のタイムアウト、浮きの検出、又は、画像領域外が検出された場合、画像形成動作中から画像形成動作完了にシステム状態を遷移させる。
印刷制御部66は、ユーザがHHP20を走査すると、位置管理部62が変換したノズル71の位置情報に基づいて画像を用いたIJ記録ヘッド駆動回路23の制御を行う。
起動処理部63は、HHP20の電源がONになった場合、ハードウェアの初期化や各ハードの状態検出など、起動時に必要な処理を行う。表示制御部68はOPU26が表示する情報を生成し、OPU26に表示する。
<IJ記録ヘッドにおけるノズル位置について>
次に、図7を用いて、IJ記録ヘッド24におけるノズル位置等について説明する。図7はHHP20の底面を示す。この底面が印刷媒体12に対向する面である。
図7では1つのナビゲーションセンサ30を有するHHP20を示す。ナビゲーションセンサ30からIJ記録ヘッド24までの距離はaである。距離aはゼロでもよい(IJ記録ヘッド24に接している)。ナビゲーションセンサ30が1つの場合、ナビゲーションセンサ30はIJ記録ヘッド24の周囲の任意の場所に配置されてよい。図示するナビゲーションセンサ30の位置情報は一例である。ただし、IJ記録ヘッド24とナビゲーションセンサ30の距離が短いことでHHP20の底面のサイズを削減しやすくなる。
ナビゲーションセンサ30が2つの場合、2つのナビゲーションセンサ30の間の距離が長い方が回転角の検出精度が向上する。したがって、HHP20の長手方向に2つのナビゲーションセンサ30が配置されることが好ましいが、ナビゲーションセンサ30が2つの場合も、ナビゲーションセンサ30はIJ記録ヘッド24の周囲の任意の場所に配置されてよい。
IJ記録ヘッド24の端から最初のノズル71までの距離は距離d、隣接するノズル71間の距離は距離eである。a~eの値はROM28などに予め記憶されている。
位置算出回路34などがナビゲーションセンサ30の位置情報を算出し、ジャイロセンサで傾きを検出すれば、距離a、距離d及び距離eを用いて、位置算出回路34はノズル71の任意のノズル位置を算出できる。
ユーザから俯瞰するとノズル71はHHP20の長手方向の上側に寄っている。これはユーザがHHP20を把持した場合にノズル71の位置情報を直感的に把握しやすいためである。ただし、ノズル71はHHP20の中央やその他の場所に配置されてもよい。
また、図7に示すように、ノズル71の配列方向とHHP20の長手方向が一致している。当然ながらノズル71はHHP20に固定されている。したがって、印刷媒体12に置かれた際のHHP20の向きが決まれば、印刷媒体12に置かれた際のノズル71の向きも決まる。
ノズル71はN個のノズル71を有している。各ノズル71には、中央から順番にノズル1、ノズル2、…、ノズルN,のように番号がふられており、HHP20は各ノズル71ごとに位置情報を算出する。ノズル71の番号は上端から順番に付されていてもよい。距離eが一定であればノズル71の数であるNは多いほど高解像度の画像が得られる。一例としてNは192個とする場合があるが、Nは192個に限られない。
<印刷媒体におけるHHPの位置情報について>
図8は、HHP20の座標系と位置情報の算出方法を説明する図の一例である。本実施形態では、印刷媒体12に水平な方向をX軸、垂直な方向をY軸に設定する。原点は印刷開始時のノズルN又はノズル1の位置情報である。この座標を印刷媒体座標と称することにする。これに対し、ナビゲーションセンサ30は図8の座標軸(X´軸、Y´軸)で移動量を出力する。すなわち、ノズル71の配列方向をY´軸、Y´軸に直交する方向をX´軸として移動量を出力する。
図8(a)に示したように、印刷媒体12に対しHHP20が時計回りにθ回転している場合を例にして説明する。ユーザがHHP20を印刷媒体座標に対し全く傾けることなく走査させることは困難であるためゼロでないθが生じると考えられる。全く回転していなければ、X=X´、Y=Y´である。しかし、HHP20が印刷媒体12に対し回転角θ、回転した場合、ナビゲーションセンサ30の出力とHHP20の印刷媒体12における実際の位置情報が一致しなくなる。回転角θは時計回りが正、X、X´は右方向が正、Y、Y´は下方向が正である。
図8(a)はHHP20のX座標を説明する図の一例である。図8(a)では回転角θのHHP20がX方向にのみ同じ回転角θのままナビゲーションセンサ30がt1からt2に移動した場合にナビゲーションセンサ30が検出する移動量ΔX´、ΔY´とX,Yの対応を示している。なお、ナビゲーションセンサ30が2つある場合、相対位置は固定なので2つのナビゲーションセンサ30の出力(移動量)は同じである。ナビゲーションセンサ30のX座標はプラス方向にX1+X2変化する。X1+X2はΔX´、ΔY´及び回転角θから求められる。
図8(b)は回転角θのHHP20がY方向にのみ同じ回転角θのままt1からt2に移動した場合にナビゲーションセンサ30が検出する移動量ΔX´、ΔY´とX,Yの対応を示している。ナビゲーションセンサ30のY座標はプラス方向にY1+Y2変化する。Y1+Y2はΔX´、ΔY´及び回転角θから求められる。
したがって、HHP20がX方向及びY方向に回転角θのまま移動した場合、ナビゲーションセンサ30が出力するΔX´、ΔY´は印刷媒体座標のX,Yに以下のように変換できる。
X=ΔX´cosθ―ΔY´sinθ …(1)
Y=ΔX´sinθ+ΔY´cosθ …(2)
<回転角θ>
続いて、ジャイロセンサ31の出力を用いた回転角θの算出方法を説明する。ジャイロセンサ31の出力は角速度ωである。
ω=dθ/dt
であるから、dtをサンプリング周期とすると回転角dθは以下で表せる。
dθ=ω×dt
したがって、現在(時間t=0~N)の回転角θは以下のようになる。
このように、ジャイロセンサ31により回転角θを求めることができる。式(1)(2)に示すように、回転角θを用いて位置情報を算出できる。ナビゲーションセンサ30の位置情報を算出できれば、図7に示したa~eの値により、位置算出回路34は各ノズル71の座標を算出することができる。なお、式(1)のX、式(2)のYはそれぞれサンプリング周期における変化量なのでこのX,Yを累積することで現在の位置情報が求められる。
<目標吐出位置>
続いて、図9を用いて目標吐出位置について説明する。図9は、目標吐出位置とノズル71の位置情報の関係を説明する図の一例である。目標吐出位置G1~G9は、HHP20がノズル71からインクを着弾させる目標位置(画素の形成先)である。目標吐出位置G1~G9は、HHP20の初期位置とHHP20のX軸/Y軸方向の解像度(Xdpi,Ydpi)から求めることができる。
例えば、解像度が300dpiの場合、HHP20の初期位置を基準にIJ記録ヘッド24の長手方向及びこれに対し垂直な方向に約0.084[mm]ごとに目標吐出位置が設定される。この目標吐出位置G1~G9に吐出される画素があれば、HHP20はインクを吐出する。
しかし、実際には、ノズル71と目標吐出位置が完全に一致するタイミングを捉えることは困難なので、HHP20は目標吐出位置とノズル71の現在の位置情報との間に許容誤差73を設けている。そして、ノズル71の現在の位置情報が目標吐出位置から許容誤差73の範囲内にある場合に、ノズル71からインクを吐出する(このような許容範囲を設けることを「吐出ノズル可否判定」という。)。
また、矢印72に示すように、HHP20はノズル71の移動方向と加速度を監視しており、次回の吐出タイミングのノズル71の位置情報を予測している。したがって、予測された位置情報と許容誤差73の範囲内を比較してインクの吐出を準備することが可能になる。
<画像領域とHHPの初期位置>
図10は、従来のHHP20の初期位置を説明する図である。図10(a)はテキストデータから生成された画像に対するユーザから見たHHP20の走査方向を示し、図10(b)は画像が配置された画像領域80を示す。図10(b)に示すように従来のHHP20ではノズルNが画像領域80の原点と一致する。図10(a)でも同様である。
図10(a)に示すようにユーザから見て印刷媒体12の左上コーナー部からユーザが走査を開始した場合、文字「HAND」は+X方向にユーザがHHP20を走査すると印刷される。
図10(b)に示すように画像の外接矩形を画像領域80という。画像の座標のうちX座標の最大値Xmax、画像の座標のうちY座標の最大値Ymax、及び、原点(0,0)により定まる領域が画像領域80である。画像出力器11からHHP20に送信された画像はすでに画像のフォーマットになっているので、印刷制御部66にとって画像領域80は既知となる。図10(a)の場合は「HAND」の外接矩形が画像領域80である。
HHP20の初期位置と印刷媒体12に置かれる向きに関わらず、画像領域80は常に左上コーナー部を原点とし、ユーザから見て右方向が+X軸、ユーザから見て下方向が+Y軸である。画像領域80の座標はHHP20のRAMにおける画像の座標と同じである。
<画像出力器で設定される初期位置と印刷媒体に置かれる向きについて>
次に、図11、図12を用いて画像出力器11で設定される初期位置と印刷媒体12に置かれる向きについて説明する。向きは形成対象の画像に対するHHP20の初期位置における向きである。
まず、図11は印刷媒体12に置かれるHHP20の向きについて説明する図の一例である。図11(a)~(d)はそれぞれユーザが画像出力器11で設定できる、印刷媒体12に置かれるHHP20の向きを示す。図11(a)のHHP20の向きは特許請求の範囲の請求項5の第一方向、図11(b)のHHP20の向きは同じく第二方向、図11(c)のHHP20の向きは同じく第三方向、図11(d)のHHP20の向きは同じく第四方向、の一例である。
印刷媒体12に置かれるHHP20の向きによりノズル71の向きも定まる。図11(a)は図10(a)と同様に印刷媒体12に置かれた際のHHP20の向きである。詳細には、HHP20の外側とノズル71との距離が近い側が印刷媒体12に対し上向きに置かれる。図11(a)に示す印刷媒体12に置かれる向きは横走査に適している。
図11(b)は図11(a)のHHP20を180度回転させ(図11(a)のHHP20の方向の反対)、かつ、ノズル1を原点に一致させて印刷媒体12に置かれた向きである。つまり、HHP20の外側とノズル71との距離が近い側が印刷媒体12に対し下向きに置かれる。ノズルNが原点に一致しているとそのままではユーザから見て右方向に走査してもインクを吐出できない。ノズル71の配列方向が印刷媒体に対し縦方向なので、図11(b)に示す印刷媒体12に置かれる際のHHP20の向きは横走査に適している。また、図11(b)ではHHP20の上側に寄っているノズル71がユーザ側にくるため、印刷媒体12の所望の位置情報に画像領域80の原点を合わせやすいというメリットがある。また、HHP20の全体が印刷媒体12からはみ出さずに走査することが好ましいが(印刷媒体と周辺の段差によりナビゲーションセンサ30が浮いたようになるため)、ノズル71が下側にくるため印刷媒体の下側の余白を低減できるというメリットがある(上側は余白が大きくなる)。図11(a)に示す印刷媒体12に置かれる際のHHP20の向きでは上側の余白を低減できる(下側は余白が大きくなる)。
図11(c)は図11(a)のHHP20を反時計回りに90度回転させて印刷媒体12に置かれた向きである。つまり、HHP20の外側とノズル71との距離が近い側が印刷媒体12に対し左向きになる。ノズル71の配列方向が印刷媒体12に対し横方向なので、図11(c)に示す向きは、右利きのユーザが縦走査するのに適している。HHP20を右手で持つ場合、ノズルNを画像領域80の原点を合わせやすい。また、印刷媒体12の左側の余白を低減できる(右側の余白は大きくなる)。
図11(d)は図11(a)のHHP20を時計回りに90度回転させ(図11(c)のHHP20の方向の反対)、かつ、ノズル1を原点に一致させて印刷媒体12に置かれた向きである。つまり、HHP20の外側とノズル71との距離が近い側が印刷媒体12に対し右向きになる。ノズルNが原点に一致しているとそのままではユーザから見て下方向に走査してもインクを吐出できない。ノズル71の配列方向が印刷媒体12に対し横方向なので、図11(d)に示す向きは左利きのユーザが縦走査するのに適している。また、印刷媒体12の右側の余白を低減できる(左側の余白は大きくなる)。
なお、図11(a)~(d)のHHP20のように印刷媒体12に置かれた向きを選択する場合、HHP20の初期位置は画像領域80の4つのコーナー部のいずれでもよい。ユーザは初期位置も任意に決定できる。HHP20の初期位置は画像形成部であるIJ記録ヘッド24の初期位置ということができる。したがって、向きは形成対象の画像に対するIJ記録ヘッド24(画像形成部)の初期位置における向きともいえる。
図12は画像出力器11が表示する走査方向設定画面Uの一例を示す。便宜的に図12(a)~(d)の走査方向設定画面UをU1~U4と称する。走査方向設定画面UはHHP20の初期位置と印刷媒体12に置かれた向きを受け付ける。図12(a)に示す走査方向設定画面U1はHHP20が取り得る初期位置を表示する。画像出力器11がユーザの操作を補助するためにHHP20の初期位置と印刷媒体12に置かれた向きが初期設定されている。図12(a)では初期設定された初期位置は左上コーナー部であり、印刷媒体12に置かれた向きは縦向きである。なお、初期設定については図13にて説明する。
画像出力器11の表示制御部52は画像のプレビュー401及び画像の4隅にマーク403を表示する。四隅のマーク403のうち1つには初期設定されたHHP20のアイコン402が表示される。あるいは、マーク403が強調表示されてもよい。
ユーザは初期設定されたHHP20の初期位置又は印刷媒体12に置かれた向きを変更できる。ユーザが初期設定された初期位置を変更する場合、残りの3つのマーク403のいずれかを選択し、印刷媒体12に置かれた向きを変更する場合、アイコン402を選択する。図12(b)の走査方向設定画面U2ではアイコン402が押下されている。画像出力器11の操作受付部53はユーザの選択を受け付ける。
アイコン402又はマーク403が選択されると、表示制御部52はHHP20に置かれた際の向きのリスト404を表示する。リスト404は印刷媒体12に置かれた際にHHP20が取り得る向きを表示する。印刷媒体12に置かれた際のHHP20の向きは図11に示したように4つがある。図12(b)のリスト404に表示された印刷媒体12に置かれた際の向きを上から順番に向きD1、向きD2、向きD3、向きD4と称す。図12(b)のアイコン402の印刷媒体12に置かれた向きは向きD1なので、リスト404では向きD1の色が反転することで強調表示されている。ユーザは横走査・縦走査、右利き・左利き、及び、余白の位置を考慮してリスト404から印刷媒体12に置かれた際のHHP20の向きを選択できる。画像出力器11の操作受付部53はユーザの選択を受け付ける。
図12(c)はリスト404で向きD4が選択されている走査方向設定画面U3を示す。操作受付部53は向きD4の選択を受け付ける。
図12(d)は向きD4が選択された場合に表示される走査方向設定画面U4を示す。表示制御部52はユーザの操作にしたがって、画像領域80の左上コーナー部に向きD4のHHP20のアイコン402を表示する。このように、画像出力器11の表示制御部52はユーザの操作に応じて、印刷媒体12に置かれた際の向きと初期位置を有するHHP20のアイコン402を走査方向設定画面U4に表示する。
初期位置が4パターン、印刷媒体12に置かれた向きが4パターンであるため、初期位置と印刷媒体12に置かれた向きのパターンの組み合わせは合計で4×4=16個ある。
このように、ユーザはHHP20の初期位置と印刷媒体12に置かれた向きを任意に設定できる。走査方向設定画面Uによりプレビュー401に対して初期位置を選択し、リスト404から印刷媒体12に置かれた際のHHP20の向きを選択するという直感的な操作で初期位置と印刷媒体12に置かれた際のHHP20の向きを設定できる。図12の設定は後述するシングルパスモードでもマルチパスモードでも共通に行われてよい。
なお、図12では初期位置→印刷媒体12に置かれた向きの順で設定されているが、印刷媒体12に置かれた向き→初期位置の順で設定されてもよい。また、初期位置と印刷媒体12に置かれた向きの設定を同時に受け付けることもできる。この場合、表示制御部52は16パターンのリストをアイコンで表示して、操作受付部53が初期位置と印刷媒体12に置かれた向きの設定を同時に受け付ける。
<初期位置と印刷媒体に置かれた向きの初期設定>
図13は、ユーザが使いやすい初期位置と印刷媒体12に置かれた向きの初期設定について説明する図の一例である。例えば横書きの日本語又は英語などの場合、文字はユーザから見て左から右に記述され、更に、上の行から下の行に記載されるため、ユーザが横走査を選択した場合、表示制御部52が初期位置を画像領域80の左上コーナー部に設定し、向きD1に設定することでユーザが使いやすくなる。
一方、縦書きの日本語又は中国語などの場合、文字はユーザから見て上から下に記述され、更に、右の行から左の行に記載されるため、ユーザが縦走査を選択した場合、初期位置を画像領域80の右上コーナー部に設定し、向きD4に設定することでユーザが使いやすくなる。
図14にて説明するようにユーザは簡易的に縦走査又は横走査を設定できるので、操作受付部53が縦走査又は横走査の選択を受け付けた場合、表示制御部52は図12の走査方向設定画面U1~U4で表示する初期位置及び印刷媒体12に置かれた向きの初期設定を変更する。横走査が選択された場合、左上コーナー部を初期位置に設定し、向きD1を設定する、縦走査が選択された場合、右上コーナー部を初期位置に設定し、向きD4を設定する。初期設定された初期位置には初期設定された、印刷媒体12に置かれた際のHHP20の向きでアイコン402が表示される。また、リスト404においては初期設定された、印刷媒体12に置かれた際のHHP20の向きが強調して表示される。
このような初期設定により、走査方向設定画面Uにおいてユーザの設定工数(時間)を短縮化することができる。
図14は、画像出力器11が表示する横走査縦走査設定画面411の一例である。横走査縦走査設定画面411は、横走査するか縦走査するかをユーザが設定する画面である。
横走査縦走査設定画面411は、「横走査」と「縦走査」に対応付けられたラジオボタン412、413を有する。ユーザは2つのラジオボタン412、413のいずれかを選択する。なお、ユーザが縦走査か横走査を選択しない場合は横走査がデフォルト値である。
図12に示した走査方向設定画面Uの前に図14に示す横走査縦走査設定画面411でユーザが「横走査」又は「縦走査」を設定することで、ユーザは初期位置と印刷媒体12に置かれた際のHHP20の向きの設定が容易になる。また、図14の横走査縦走査設定画面411で「横走査」又は「縦走査」を設定した場合、初期設定のままでよければ図12の走査方向設定画面Uを設定しなくてもよい。
なお、後述するシングルパスモード及びマルチパスモードのいずれでも横走査及び縦走査の選択が可能である。
図15は、画像出力器11が走査方向設定画面Uの表示を行う手順を示すフローチャート図の一例である。
まず、操作受付部53は走査方向設定画面の表示を受け付ける(S301)。表示制御部52は図14に示した横走査縦走査設定画面411で走査方向を受け付けているか否かを判断する(S302)。
ステップS302の判断がNoの場合、横走査が設定されているものとして、表示制御部52は初期位置を左上コーナー部、向きD1を初期設定として走査方向設定画面U1を表示する(S303)。
ステップS302の判断がYesの場合、縦走査が設定されているので、表示制御部52は初期位置を右上コーナー部、向きD4を初期設定として走査方向設定画面U1を表示する(S304)。
操作受付部53は走査方向設定画面U1で初期位置又は印刷媒体12に置かれた際のHHP20の向きの変更を受け付けたか否かを判断する(S305)。ユーザが初期位置及び印刷媒体12に置かれた際のHHP20の向きを変更しない場合、図15の処理は終了する。
操作受付部53が走査方向設定画面U1で初期位置又は印刷媒体12に置かれた際のHHP20の向きの変更を受け付けた場合(S305のYes)、表示制御部52はユーザが設定した初期位置にHHP20のアイコン402を表示する(S306)。このアイコン402が示す印刷媒体12に置かれた際のHHP20の向きは初期設定された向きでよい。なお、印刷媒体12に置かれた際のHHP20の向きだけを変更する場合、アイコン402はすでに表示されている。
次に、表示制御部52は印刷媒体12に置かれた際のHHP20の向きのリスト404を表示する(S307)。したがって、走査方向設定画面U2を表示する。
次に、操作受付部53は印刷媒体12に置かれた際のHHP20の向きの変更を受け付ける(S308)。ユーザが印刷媒体12に置かれた際のHHP20の向きを変更しない場合もある。印刷媒体12に置かれた際のHHP20の向きの変更を受け付けた場合は、表示制御部52は走査方向設定画面U3を表示する。
表示制御部52は変更された初期位置と印刷媒体12に置かれた際のHHP20の向きのHHPのアイコン402を表示する(S309)。したがって、走査方向設定画面U4を表示する。
<システム状態について>
続いて、図16に基づいてHHP20のシステム状態について説明する。図16は、HHP20のシステム状態の遷移図の一例である。図示するように、システム状態には、主に、I.スタンバイ、II.ウォームアップ中、III.印刷中があり、III.印刷中は更にIV.印刷レディ、V. 画像形成動作中、及び、VI.画像形成動作完了がある。図示するシステム状態は一例に過ぎず図示する以外にも多くの状態があってよい。
I.スタンバイは待機状態であり、II.ウォームアップ中は印刷の準備を行う状態であり、III.印刷中はユーザが所定の操作を行えばすぐに印刷できる状態である。IV.印刷レディはユーザによる印刷ボタン26aの押下を待機している状態であり、V. 画像形成動作中はユーザが走査している状態であり、VI.画像形成動作完了はV. 画像形成動作中から遷移して1ページの印刷が完了したことを意味する一時的な状態である。
HHP20の電源がONになった直後がI.スタンバイである。I.スタンバイからII.ウォームアップ中には以下の遷移条件で遷移する。
(i) I.スタンバイ→II.ウォームアップ中
データイン、印刷ボタン26aの長押し(メンテナンス用)、残ページ有り(残ページについては後述する)
II.ウォームアップ中からIII.印刷中には以下の遷移条件で遷移する。
(ii) II.ウォームアップ中→III.印刷中
画像受信完了 かつ、温度レディ かつ、ジャイロオフセット補正完了
III.印刷中に遷移した直後、システム状態はIV.印刷レディとなる。IV.印刷レディからV.画像形成動作中には以下の遷移条件で遷移する。
(iii) IV.印刷レディ→V.画像形成動作中
印刷ボタン26aの押下
V.画像形成動作中からVI.画像形成動作完了には以下の遷移条件で遷移する。
(iv) V.画像形成動作中→VI.画像形成動作完了
画像領域外、浮き検出、停止タイムアウト、印刷ボタン26aの押下
画像形成動作完了からIV.印刷レディには以下の遷移条件で遷移する。
(v) 画像形成動作完了→IV.印刷レディ
残ページ有り
画像形成動作完了からII.ウォームアップ中には以下の遷移条件で遷移する。
(vi) VI.画像形成動作完了→II.ウォームアップ中
残ページなし かつ データイン中
VI.画像形成動作完了からI.スタンバイには以下の遷移条件で遷移する。
(vii) VI.画像形成動作完了→I.スタンバイ
残ページなし
例えば、(v)の遷移では画像形成動作完了に遷移したが残ページがあれば、印刷レディという状態に遷移するので、ユーザが印刷ボタン26aを押下することでV. 画像形成動作中に遷移できる。残ページとは、後述するシングルパスモードにおいて画像をPn回のパスに分けて印刷する場合に、走査すべきパスが残っていることをいう。したがって、シングルパスモードで何回かの走査が必要な場合でも、ユーザは画像領域外までHHP20を移動させれば、印刷ボタン26aを押して次の走査を開始できるため、操作性が向上する。また、マルチパスモードの場合、ユーザが(iv)の遷移条件を満たせば印刷していない画像が残っていても印刷を終了できる。
<HHPが行う座標の変換について>
図12に示した走査方向設定画面Uでユーザが設定した初期位置と印刷媒体12に置かれた際のHHP20の向きの少なくとも一方は走査に関する情報に含めてHHP20に送信される。HHP20の位置管理部62は初期位置と印刷媒体12に置かれた際のHHP20の向きに応じて、位置算出回路34が算出する位置情報を変換する。
図17は初期位置が左上コーナー部で向きD3の場合の座標の変換を説明する図の一例である。画像領域80は、原点が左上コーナー部で+X方向と+Y方向の二次元に配置される。ユーザは第四象限をHHP20で走査する。この場合、HHP20が検出する位置情報を小文字のx、yで表すと、HHP20が画像領域80で検出する座標は-x、-yである。-x、-yの絶対値はX,Yの絶対値と等しいので以下の変換を行えばよい。
-x → +X
-y → +Y …式(3)
なお、図17ではノズル1~Nの方向と+Y方向が通常のノズル71の向き(図12(a))と逆になっている(ノズル1が原点に一致している)。このため、位置管理部62はノズル1~Nの位置情報を上下逆に扱う。この上で式(3)による変換を行う。
ノズル1→ノズルN
ノズル2→ノズルN-1
:
ノズルN→ノズル1
この変換を行わないと、ノズル1の座標でノズルNの座標のインクが吐出され、ノズルNの座標でノズル1の座標のインクが吐出されてしまう。
図18は初期位置が左上コーナー部で向きD4の場合の座標の変換を説明する図の一例である。同様にユーザは第四象限をHHP20で走査する。この場合、HHP20が検出する位置情報を小文字のx、yで表すと、HHP20が画像領域80で検出する座標は-x、+yである。この場合、図から明らかなように以下の変換を行えばよい。
-x → +Y
+y → +X …式(4)
なお、図18ではノズルNが原点に一致しているため、ノズル1~Nの変換は不要である。
図19は初期位置が左上コーナー部で向きD2の場合の座標の変換を説明する図の一例である。同様にユーザは第四象限をHHP20で走査する。この場合、HHP20が検出する位置情報を小文字のx、yで表すと、HHP20が画像領域80で検出する座標は+x、-yである。この場合、図から明らかなように以下の変換を行えばよい。
+x → +Y
-y → +X …式(5)
なお、図19ではノズルN~1の方向と+X方向が通常のノズル71の向き(図12(a))と逆になっている(ノズル1が原点に一致している)。このため、位置管理部62はノズル1~Nの位置情報を上下逆に扱う。
図17~図19の変換は座標系の変換により求めることができる。図17では反時計回りに180度、HHP20の座標系が回転し、図18では反時計回りに90度(時計回りでは-90度)、HHP20の座標系が回転し、図19では反時計回りに270度(時計回りでは-270度)、HHP20の座標系が回転すると、XY座標系(印刷媒体座標)と一致する。つまり、位置管理部62はHHP20の座標系を画像の座標系に変換する。
図17~図19では初期位置が左上コーナー部の場合を説明したが、初期位置が右上コーナー部などにある場合も座標変換すればよい。
図20(a)は初期位置が右上コーナー部で向きD1の場合の座標の変換を説明する図の一例である。同様にユーザは第四象限をHHP20で走査する。この場合、HHP20が検出する位置情報を小文字のx、yで表すと、HHP20が画像領域80で検出する座標は-x、+yであるが、画像領域80のX座標の最大値XmaxだけHHP20の座標がシフトしたと考える。このため、以下の変換を行えばよい。
-x + Xmax → +X
+y → +Y …式(7)
初期位置が右下コーナー部又は左下コーナー部のようにY座標が変更された場合、-y+YmaxをYとすればよい。初期位置が変更され、向きD2~向きD4に設定された場合は、座標系の回転と座標のシフトを組み合わせればよい。
なお、図20(b)のように画像領域80を移動してもよい。図20(b)では画像領域80が第三象限に水平移動されている。画像のY座標は変更なく、X座標が全体的に-Xmaxされている。ユーザは第三象限をHHP20で走査する。この場合、HHP20が検出する位置情報を小文字のx、yで表すと、HHP20が画像領域80で検出する座標は-x、+yであるが、すでに画像のX座標が変更済みなので座標変換は不要である。
-x → -X
+y → +Y …式(8)
<初期位置と印刷媒体に置かれた際のHHP20の向きの設定の効果>
次に、図21、図22を用いて、本実施形態のようにHHP20の初期位置と印刷媒体12に置かれた際のHHP20の向きをユーザが設定することの効果を説明する。図21は、ノート状の印刷媒体12に印刷する際の効果を説明する図の一例である。
図21(a)はノート501の左ページをユーザから見て左から右に走査する様子を示している。しかしこの場合、ノート501の左端からユーザが走査を開始すると、HHP20がノート501の中央部に近づくにつて、紙がたわむ場合がある。図21(b)は紙がたわむ様子を示している。紙がたわむとスムースな走査が困難になり操作性や画質が低下するおそれがある。
これに対し、本実施形態では、左ページに対してはノート中央部からユーザから見て左方向に走査することが可能となる。図21(c)は一例としてノート501の右ページをユーザから見て左から右方向に走査する様子を示している。この場合、ノート501の中央部からユーザがユーザから見て右方向に走査を開始すると、HHP20がノートのどの部分を走査しても紙がたわみにくい。図21(d)は紙がたわまない様子を示している。
したがって、本実施形態のHHP20はノート501の右ページ又は左ページのどちらに印刷する場合も、ユーザが初期位置を選択できるので、操作性や画質が低下するおそれを低減できる。
図22は画像の任意の場所から印刷を開始することの効果を説明する図の一例である。図22(a)は一般的な画像の一例を示す。写真等のほとんどにおいて中央部に人の顔があったり、美しい風景があったりするなど、中央部に印刷したいメインの被写体511が寄る傾向がある。
しかしながら、ユーザが画像の四隅から印刷を開始すると、写真の背景から印刷が始まることになるため、メインの被写体511まで到達するのに時間を要する。図21(b)は双方向印刷で画像の四隅から全体を印刷するまでのHHP20の走査方向を矢印512で示す。例えば、1行目の走査ではほとんど被写体が写っていない領域を走査することになるため、ユーザが無駄に感じる場合もある。
そこで、図22(c)に示すように、本実施形態ではユーザが初期位置を任意の場所に設定することで、画像の中央部付近から印刷を開始することを可能にする。図22(c)に示すように、メインの被写体511をユーザが少ない走査距離で印刷することが可能となる。
また不要な背景はユーザが印刷ボタン26aを押下したり、HHP20を印刷媒体12から浮かせたりするなどして、システム状態を遷移させれば画像が残っていても印刷を強制的に終了できるので、任意のタイミングで画像形成動作を完了することができる。
図23(a)は、ユーザが画像の任意の場所を初期位置に設定するための走査方向設定画面U5の一例である。図22(a)では「印刷を開始する場所をタップしてください」というメッセージ513と画像のプレビュー401が表示されている。ユーザはメインの被写体の近くをタップすることで任意の場所を初期位置に設定できる。この初期位置に対しユーザは同様に印刷媒体12に置かれた際のHHP20の向きを設定できる。
図23(b)は、任意の場所を初期位置に設定した場合の座標変換を説明する図の一例である。ユーザが(X0,Y0)を初期位置に設定したとすると、HHP20が走査を開始する時の座標が(X0,Y0)となるので、位置管理部62は(X0,Y0)を画像出力器11から取得して設定する。(X0,Y0)は走査に関する情報に含まれる。つまり、HHP20の初期の座標が(0,0)でなく(X0,Y0)から始まる。以降は位置算出回路34が算出するx、yに基づいて座標を決定すればよい。
<シングルパスモードとマルチパスモードについて>
続いて、HHP20の走査モードであるシングルパスモードとマルチパスモードについて説明する。図26にて説明するようにユーザはシングルパスモード又はマルチパスモードを画像出力器11に設定しておく。
図24はシングルパスモードを説明する図の一例である。シングルパスモードとは、ユーザから見て一方向への走査時にのみ印刷する走査モードである。図24ではユーザから見て右から左方向に走査する場合にのみインクが吐出される。このため、シングルパスモードではHHP20がY座標を算出しない(算出しても吐出制御に使用しない)。また、位置管理部62はノズル1~Nのいずれか又は平均を全てのノズル1~NのX座標として扱う。X座標が同じ画像をノズル1~Nが同じタイミングで印刷するためであり、シングルパスモードの画質を向上できる。
シングルパスモードではユーザから見て左から右方向に走査する設定もある。ユーザがユーザから見て右から左方向に走査するシングルパスモード、及び、左から右方向に走査するシングルパスモードのいずれも、原点、初期位置及び印刷媒体12に置かれた際のHHP20の向きが決まると画像とHHP20の相対位置が決まる。ユーザから見て左から右方向に走査する場合は、ユーザから見て左から右方向に走査した場合にだけ画像の座標とノズル71の座標が一致し、ユーザから見て右から左方向に走査する場合は、ユーザから見て右から左方向に走査した場合にだけ画像の座標とノズル71の座標が一致する。したがって、シングルパスモードでは決まった走査方向に走査した場合にしかインクを吐出できない。
画像の印刷に何回の走査(パス)が必要かを画像出力器11が算出する。画像出力器11はテキストデータの文字サイズ及び行数と、ノズル1~Nの高さh[mm]により、テキストデータを印刷するために必要なパス数Pnを算出し、Pn個の画像をHHP20に送信する。このようにPn個に分けて印刷することをPnパス印刷という。
例えば、文字サイズが16ポイントの場合は、1行の高さは「16×0.35[mm]=5.6[mm]」である。この"0.35"は1ポイントのmmへの換算値である。HHP20が1回の走査で印刷可能な高さは仕様として決まっているIJ記録ヘッド24の長さ以下になる。この長さをh[mm]とする。1文字のサイズ(ポイント)は予めこのh以下に制限されているため、1行のテキストの走査に複数の走査パスが必要となることはない。これにより、文字が途中で途切れて画質が低下することを抑制できる。
画像出力器11は1行ずつ行数を大きくしていき、その行数の高さがh以下か否かを判断する。行間も考慮すること好ましい。文字のサイズと行間を考慮して2行分の高さを算出し、IJ記録ヘッド24の高さhと比較する。この比較をk行分の高さがIJ記録ヘッド24の高さhより大きくなるまで繰り返す。k-1行が1回の走査で印刷できる最大の行数である。
画像出力器11はこのようにして1回の走査で印刷できる行数を算出して、Pn回の走査に分けて画像をHHP20に送信する。図24では3回の走査が必要であると判断されている。縦走査の場合も考え方は同じである。
続いて図25はマルチパスモードについて説明する図の一例である。マルチパスモードとは、ユーザから見て左から右方向への走査、及び、右から左方向への走査のどちらでもインクを吐出する走査モードである(往復方向の走査で画像を形成する走査モード)。ユーザの走査量が少ないというメリットがあり、また、1回の走査では印刷できない大きなサイズの画像も印刷できるというメリットがある。
なお、テキストデータ(印刷時には画像化されている)をマルチパスモードで印刷することも可能である。しかし、マルチパスモードで印刷された文字は、ノズル71の高さhの制限により画質が低下するおそれがある。
図26に示すように、ユーザは画像出力器11を操作して走査方向モードを設定することができる。図26は画像出力器11が表示する走査方向の設定画面421の一例を示す。走査方向の設定画面421は、「走査方向を設定して下さい」というメッセージ422、及び、「片方向」と「双方向」に対応付けられたラジオボタン423,424を有する。ユーザは2つのラジオボタン423,424のいずれかを選択する。なお、ユーザが走査方向を選択しない場合でもデフォルト値が決まっている。
なお、図26の走査方向の設定画面421と図12の走査方向設定画面Uはどちらが先に設定されてもよい。ユーザは「片方向」又は「双方向」と、HHP20の初期位置と印刷媒体12に置かれた際のHHP20の向きを独立に設定できる。
<シングルパスモードで縦走査におけるHHPの印刷媒体に置かれた際のHHP20の向きについて>
図12等では初期位置と印刷媒体12に置かれた際のHHP20の向きを任意に設定できると説明したが、主に文字を印刷するシングルパスモードでは、縦走査を比較的容易に実現できる。上記のように日本語や中国語では文字が縦に記述されるので縦走査で文字を印刷したいというニーズがある。この場合、ユーザは図12のような設定を行えば縦走査で縦書きの文字を印刷できる。しかし、シングルパスモードではより簡易的に縦走査で縦書きの文字を印刷できる。
図27は縦書きに変換された文字の走査例を説明する図である。まず、図27(a)は原点が左上コーナー部で+X方向と+Y方向の二次元に配置される画像として横書きされた文字が配置された状態を示す。図27(a)では「HAND」というアルファベットが記述されているが、日本語の場合も同様であり、文字が横書きされた画像が送信されてしまう。したがって、ユーザは文字を縦書きで印刷できない。
そこで、本実施形態では画像出力器11の画像処理部55が以下のいずれかの方法で横書きを縦書きに変換する。
a. 縦書きフォントを使用する
b. 文字を1つずつ90度回転する
図27(b)はa.b.のいずれかの方法で縦書きに変換された文字を示す。「HAND」が縦書きに変換されていることが分かる。図27(b)の状態でユーザがユーザから見て左から右方向に走査した場合、ユーザから見ると文字が90度倒れて印刷されるため、ユーザの走査感はあまりよくない。
次に、ユーザがHHP20を向きD2の持ち方で走査する場合を考える。図27(c)はユーザがHHP20を時計回りに90度回転させて(向きD2の持ち方)走査する文字を示す。図27(b)と(c)は画像の向きが変わっただけで「HAND」の画像としては同じものである。
図27(c)では印刷媒体12に文字を縦書きすることができる。シングルパスモードではHHP20がY座標を検出しないので、ユーザは印刷媒体12に置かれた際のHHP20の向きや初期位置を設定することなく、走査方向を変えることで縦走査が可能である。
図27(c)では文字の縦書きが可能となるが、ユーザはノズル1がHという文字の左上コーナー部にくるようにHHP20の位置合わせを行うため、位置合わせしにくいと感じるおそれがある。ただし、左手で走査する場合は、位置合わせのしにくさは低減される可能性がある。
そこで、図28に示すように、印刷媒体12に置かれた際のHHP20の向きを図27とは逆に設定し、ノズル1~Nの位置情報を上下逆に扱うことが有効になる。図28は、シングルパスモードにおける印刷媒体12に置かれた際のHHP20の向きの一例を示す図である。
図28(a)~(c)は図示する印刷媒体12に置かれた際のHHP20の向きは異なるが画像領域80に対するHHP20の相対位置は同じである。図28(a)~(c)では、ユーザはノズルNがHという文字の左上コーナー部にくるようにHHP20の位置決めを行うため、位置合わせしやすい。ユーザは縦書きの文字をユーザから見て左から右方向にも(図28(a))、右から左方向にも(図28(b))、上から下方向にも走査できる(図28(c))。
なお、図28の初期位置と印刷媒体12に置かれた際のHHP20の向きの場合、向きD3に設定された場合と同様の座標変換を位置管理部62が行う。Y座標はインク吐出に使用されないので変換の必要がない。
-x → +X …式(9)
また、図28ではノズル1~Nの方向と+Y方向が通常のノズル71の向き(図12(a))と逆になっている(ノズル1が原点に一致している)。このため、位置管理部62はノズル1~Nの位置情報を上下逆に扱う(これを行わないと鏡文字になる)。
図29は、シングルパスモードで縦走査の場合に画像出力器11が行う処理を示すフローチャート図の一例である。
まず、ユーザは図14の横走査縦走査設定画面、図26の走査方向の設定画面でシングルパスモードかつ縦走査の設定を行う。画像出力器11の操作受付部53はシングルパスモードで縦走査の設定を受け付ける(S401)。
画像処理部55は縦書きフォント又は文字の画像を回転する(S402)。この画像がHHP20に送信されるので、HHP20は座標変換とノズル1~Nの位置情報を上下逆に扱うことで縦走査に印刷できる。
<全体的な動作手順>
図30は、画像出力器11とHHP20の動作手順を説明するフローチャート図の一例である。まず、ユーザは画像出力器11の電源ボタンを押下する(U101)。画像出力器11はそれを受け付け、電池等から電源が供給されて起動する。
ユーザは画像出力器11を操作して印刷したい画像を選択する(U102)。画像出力器11の操作受付部53は画像の選択を受け付ける。テキストデータの入力又は選択を受け付ける場合もある。表示制御部52がプレビューを表示してもよい。
次に、ユーザは図12で説明したようにHHP20の初期位置と印刷媒体12に置かれた際のHHP20の向きを設定する(U103,U104)。操作受付部53は初期位置と印刷媒体12に置かれた際のHHP20の向きを受け付ける。また、ユーザはシングルパスモード又はマルチパスモードを設定する。簡易的な縦書きの設定が行われてもよい。
ユーザは選択した画像を印刷ジョブとして実行する操作を行う(U105)。すなわち、印刷の開始ボタンを押下する。HHP20の操作受付部53は印刷ジョブの実行の要求を受け付ける。印刷ジョブの要求により画像及び走査に関する情報がHHP20へ送信される。
ユーザは、HHP20を持ち、印刷媒体12(例えばノート)の上で初期位置を決定する(U106)。
そして、ユーザはHHP20の印刷ボタン26aを押下する(U107)。HHP20は印刷ボタン26aの押下を受け付ける。
ユーザはHHP20を印刷媒体12の上で滑らせるように自由に走査する(U108)。
続いて、HHP20の動作を説明する。以下の動作はCPU33がファームウェアを実行することで行われる。
HHP20も電源のONにより起動する。HHP20の起動処理部63は、HHP20に内蔵されている図3,図4のハードウェア要素を初期化する(S101)。例えば、ナビゲーションセンサI/F42やジャイロセンサI/F45のレジスタを初期化したり、印字/センサタイミング生成部43にタイミング値を設定したりする。また、HHP20と画像出力器11との間の通信を確立する。例えば、Bluetooth(登録商標)で通信する場合、ユーザは予め画像出力器11とHHP20のペアリングを行っている。
HHP20の起動処理部63は初期化が完了したかどうかを判定し、完了していない場合はこの判定を繰り返す(S102)。
初期化が完了すると(S102のYes)、HHP20の表示制御部は、OPU26の例えばLED点灯によりユーザに印刷可能な状態であることを報知する(S103)。これにより、ユーザは印刷可能な状態であることを把握し、上記のように印刷ジョブの実行を要求する。
印刷ジョブの実行の要求により、HHP20の通信I/F27は画像出力器11から画像の入力を受け付け、表示制御部68は画像が入力された旨をOPU26のLEDを点滅させる等によりユーザに対し報知する(S104)。
ユーザが印刷媒体12上でHHP20の初期位置を決め、印刷ボタン26aを押下すると、HHP20はこの操作を受け付け、情報取得制御部61がナビゲーションセンサI/F42に位置情報を読み取らせる(S105)。これにより、ナビゲーションセンサI/F42はナビゲーションセンサ30と通信し、ナビゲーションセンサ30が検出した移動量を取得しレジスタなどに格納しておく(S1001)。情報取得制御部61はナビゲーションセンサI/F42から移動量を読み出す。
ユーザが印刷ボタン26aを押下した直後に取得された移動量はゼロであるがゼロでないとしても、位置管理部62は例えば座標(0,0)をDRAM29やCPU33のレジスタなどに格納する(S106)。
また、限定を確定すると印字/センサタイミング生成部43がタイミングの生成を開始する(S107)。印字/センサタイミング生成部43は、初期化で設定されたナビゲーションセンサ30の移動量の取得タイミングに達するとナビゲーションセンサI/F42にタイミングとジャイロセンサI/F45にタイミングを指示する。これが周期的に行われ上記のサンプリング周期となる。
HHP20の情報取得制御部61は、移動量と角速度情報を取得するタイミングであるか否かを判定する(S108)。この判定は、割込みコントローラ41からの通知により行うが、印字/センサタイミング生成部43と同じタイミングをCPU33がカウントすることで判定してもよい。
移動量と角速度情報を取得するタイミングになると、HHP20の情報取得制御部61はナビゲーションセンサI/F42から移動量を取得し、ジャイロセンサI/F45から角速度情報を取得する(S109)。上記のように、ジャイロセンサI/F45は印字/センサタイミング生成部43が生成するタイミングでジャイロセンサ31から角速度情報を取得しており、ナビゲーションセンサI/F42は印字/センサタイミング生成部43が生成するタイミングでナビゲーションセンサ30から移動量を取得している。
次に、位置算出回路34は角速度情報と移動量を用いてナビゲーションセンサ30の現在の位置情報を算出する(S110)。具体的には、位置算出回路34は、前回のサイクルで算出した位置情報(X,Y)と、今回取得した移動量(ΔX´、ΔY´)及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサ30の位置情報を算出する。初期位置のみで、前回算出した位置情報がない場合は、初期位置に今回取得した移動量(ΔX´、ΔY´) 及び角速度情報から算出した移動距離を加えて、現在のナビゲーションセンサ30の位置情報を算出する。
次に、位置算出回路34はナビゲーションセンサ30の現在の位置情報を用いて各ノズル71の現在の位置情報を算出する(S111)。
このように、印字/センサタイミング生成部43により角速度情報と移動量が同時に又はほぼ同時に取得されるので、回転角と回転角が検出されたタイミングで取得された移動量でノズル71の位置情報を算出できる。したがって、種類が異なるセンサの情報でノズル71の位置情報が算出されても、ノズル71の位置情報の精度が低下しにくい。
次に、位置管理部62はノズル71の位置情報を初期位置と印刷媒体12に置かれた際のHHP20の向きに応じて変換する(S112-2)。ステップS111-2の処理については図31にて説明する。
次に、印刷制御部66はDMAC38を制御して、算出した各ノズル71の位置情報を基に、各ノズル71の周辺画像の画像をDRAM29からImage RAM37へ送信する(S112)。なお、回転器39は、ユーザにより指定されたヘッド位置(HHP20の持ち方など)及びIJ記録ヘッド24の傾きに応じて、画像を回転させる。
次に、印刷制御部66はIJ記録ヘッド制御部44を用いて周辺画像を構成する各画像要素の位置座標と、各ノズル71の位置座標とを比較する(S113)。位置算出回路34は、ノズル71の過去の位置情報と現在の位置情報を用いてノズル71の加速度を算出している。これにより、位置算出回路34は、ナビゲーションセンサI/F42が移動量を取得しジャイロセンサI/F45が角速度情報を取得する周期よりも短いIJ記録ヘッド24のインク吐出周期ごとにノズル71の位置情報を算出している。
印刷制御部66はノズル71の位置情報から所定範囲内に画像要素の座標が含まれるか否かを判定する(S114)。
吐出条件を満たさない場合(S114のNo)、処理はステップS108に戻る。吐出条件を満たす場合(S114のYes)、印刷制御部66はIJ記録ヘッド制御部44を用いてノズル71ごとに画像要素をIJ記録ヘッド駆動回路23に出力する(S115)。これにより、印刷媒体12にはインクが吐出される。IJ記録ヘッド制御部44は吐出制御テーブルを更新する。
次に、状態制御部67は全画像を出力したか、浮きを検出したか、画像領域外を検出紙が、又は印刷ボタン26aが離されたかを判定する(S116)。ステップS116の判定がNoの場合、ステップS108からS115までの処理を繰り返す。
ステップS116の判定がYesの場合、表示制御部68は、例えばOPU26のLEDを点灯させユーザに印刷が終了したことを報知する(S117)。
<<HHPの動作>>
図31は、HHP20が走査に関する情報に基づいて行う処理を説明するフローチャート図の一例である。図31の処理は図30のステップS111-2で実行される。
図30のステップS104にて説明したように、HHP20の通信部64は画像及び走査に関する情報を受信する(S201)。
位置管理部62はユーザがマルチパスモードを選択したか否かを判断する(S202)。マルチパスモードの場合(S202のYes)、位置管理部62は更に初期位置が左上コーナー部、かつ、設定された印刷媒体12に置かれた際のHHP20の向きが向きD1か否かを判断する(S203)。この場合は座標の変換が不要だからである。ステップS203の判断がNoの場合、処理はステップS205に進む。
ステップS203の判断がYesの場合、位置管理部62は図13等で説明したようにHHP20の座標を変換し、また、印刷媒体12に置かれた際のHHP20の向きに応じてノズル1~Nを上下逆に扱う(S204)。また、ユーザが画像の任意の場所を初期位置に選択した場合、位置管理部62は任意の場所の座標をHHP20の初期座標とする。
印刷制御部66はHHP20の座標と画像の座標に応じてインクを吐出する(S205)。この処理は図30のステップS114,S115に相当する。
シングルパスモードの場合(S202のNo)、位置管理部62は縦走査が設定されているか否かを判断する(S206)。横走査の場合、座標の変換が不要だからである。ステップS206の判断がNoの場合、処理はステップS205に進む。
縦走査の場合(ステップS206のYes)、位置管理部62はHHP20のX座標を変換し(-x → +X)、ノズル1~Nを上下逆に扱う(S207)。
印刷制御部66はHHP20の座標と画像の座標に応じてインクを吐出する(S205)。
なお、図31でHHP20はシングルパスモードで縦走査の場合を特別に扱っているが、HHP20は図13等で説明した座標変換に基づいて縦書きの文字(HHP20では画像になっている)を印刷できる。
<まとめ>
以上説明したように本実施形態では、ユーザがHHP20の初期位置と印刷媒体12に置かれた際のHHP20の向きの組み合わせを任意に設定できるため、自分が走査しやすい初期位置から、ユーザから見て自分が走査しやすい方向に走査できる。また、画像のうち印刷したい部分だけを印刷できる。画像出力器11は横書きの文字を縦書きに変換することで、縦書きの文字を縦走査で印刷できる。ユーザが横走査又は縦走査を選択することで、画像出力器11は初期位置と印刷媒体12に置かれた際のHHP20の向きを初期設定するので、ユーザの操作工数を低減できる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態のHHP20はシングルパスモードとマルチパスモードの両方を有しているが、HHP20はシングルパスモードとマルチパスモードのいずれかを有していればよい。
また、HHP20がサーバと通信してもよい。ユーザは画像を予めサーバに送信してユーザID等に対応付けて記録させる。HHP20がユーザIDをサーバに送信すると(ログインすると)、サーバが画像をHHP20に送信するので、印刷することができる。
また、印刷対象のテキストをユーザが音声で入力してもよく、音声データを画像出力器11がサーバに送信し、サーバが音声認識処理を行ってもよい。
また、HHP20がカメラを有していてもよい。HHP20はカメラで撮像した画像を印刷できる。
また、初期位置と印刷媒体12に置かれた際のHHP20の向きの設定をHHP20が直接、受け付けてもよい。
また、以上の実施例で示した図6などの構成例は、画像出力器11とHHP20の処理の理解を容易にするために、主な機能に応じて分割したものである。しかし、各処理単位の分割の仕方や名称によって本願発明が制限されることはない。画像出力器11とHHP20は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
なお、位置算出回路34は位置情報取得部の一例であり、IJ記録ヘッド24は画像形成部の一例であり、位置管理部62は位置情報取得部の一例であり、通信部64は走査情報取得部の一例であり、操作受付部53は受付部の一例であり、通信部51は通信部の一例であり、LCD207は表示部の一例である。