JP2016215472A - 画像形成装置、画像形成方法、プログラム - Google Patents
画像形成装置、画像形成方法、プログラム Download PDFInfo
- Publication number
- JP2016215472A JP2016215472A JP2015102108A JP2015102108A JP2016215472A JP 2016215472 A JP2016215472 A JP 2016215472A JP 2015102108 A JP2015102108 A JP 2015102108A JP 2015102108 A JP2015102108 A JP 2015102108A JP 2016215472 A JP2016215472 A JP 2016215472A
- Authority
- JP
- Japan
- Prior art keywords
- image forming
- image
- inclination
- forming apparatus
- movement amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J3/00—Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed
- B41J3/36—Typewriters or selective printing or marking mechanisms characterised by the purpose for which they are constructed for portability, i.e. hand-held printers or laptop printers
Landscapes
- Printers Characterized By Their Purpose (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Ink Jet (AREA)
Abstract
【課題】印刷媒体に対して画像の傾きを抑制できる画像形成装置を提供する。【解決手段】印刷媒体12に画像を形成する画像形成装置20であって、第一位置を起点として画像形成装置20の位置が移動した際、印刷媒体12の面に平行な第一方向と第二方向の画像形成装置20の移動量を検出する移動量取得手段と、第一方向の移動量と第二方向の移動量を用いて、第一位置における画像形成装置20の傾度情報を取得する傾度情報取得手段と、画像形成の開始位置で印刷媒体12に対し傾きを有している画像形成装置20が画像を形成した場合に生じ得る画像の傾きを、傾度情報を用いて抑制する傾き抑制手段と、傾き抑制手段により傾きが抑制された画像を印刷媒体12に形成する画像形成手段と、を有する。【選択図】図3
Description
本発明は、画像形成装置及び画像形成方法に関する。
用紙を搬送させて用紙が画像の形成位置に到達したタイミングでインクなどを吐出して画像を形成するプリンタ装置が知られている。これに対し、プリンタ装置から紙搬送システムを削除することで小型化されたプリンタ装置(以下、ハンドヘルドプリンタという)が実用化されつつある。
図1は、ハンドヘルドプリンタ20による画像形成を模式的に示す図の一例である。ハンドヘルドプリンタ20には、例えばスマートフォンやPC(Personal Computer)等の画像データ出力器11から画像データが送信される。ユーザはこのハンドヘルドプリンタ20を把持して、印刷媒体12(例えば定型用紙やノートなど)上をフリーハンドで走査させる。ハンドヘルドプリンタ20は位置検出機構を有しているため、ハンドヘルドプリンタ20が目標吐出位置に移動すると、目標吐出位置で吐出すべき色のインクを吐出する。すでにインクを吐出した場所はマスクされるので(インクの吐出の対象とならないので)、ユーザは印刷媒体12上で任意の方向にハンドヘルドプリンタ20を走査させることで画像を形成できる。
しかしながら、ハンドヘルドプリンタ20をユーザがフリーハンドで走査させた場合、ハンドヘルドプリンタ20が印刷媒体12に対し回転するおそれがある(ハンドヘルドプリンタ20が回転するとハンドヘルドプリンタ20のノズルの配列方向が回転する。)。このようなハンドヘルドプリンタ20の回転に対し、回転量を検出する技術が知られている(例えば、特許文献1参照。)。特許文献1には、ハンドヘルドプリンタ20に搭載された2つの位置検出センサが検出する移動量の差を用いてハンドヘルドプリンタ20の回転を検出する技術が開示されている。
しかしながら、特許文献1の技術はハンドヘルドプリンタ20の画像形成中に生じた回転を補正することは可能でも、ハンドヘルドプリンタ20が初期位置にある時の傾きを補正することは困難であるという問題がある。図を用いて説明する。
図2はハンドヘルドプリンタ20が印刷媒体12に対し傾いていた場合の画像を例示する図である。まず、図2(a)では、ハンドヘルドプリンタ20が印刷媒体12に対し傾いていない。このため、印刷媒体12に対し画像が傾くことなく形成されている。
また、図2(b)に示すように、画像形成中にハンドヘルドプリンタ20が印刷媒体12に対し回転したとしても、特許文献1に記載されているようにハンドヘルドプリンタ20は画像形成中の傾きを検出して補正する機能を有している。このため、図2(b)においても印刷媒体12に対し画像が傾くことなく形成されている。
なお、図示するように、ハンドヘルドプリンタ20が印刷媒体12に対し「回転する」や「傾く」とは、印刷媒体12の面とハンドヘルドプリンタ20のノズル面が平行なまま、印刷媒体12の例えば垂直方向に対しハンドヘルドプリンタ20の垂直方向(ノズルの配列方向)が垂直でなくなることをいう。
しかし、図2(c)に示すように、印刷を開始する初期位置でハンドヘルドプリンタ20が印刷媒体12に対し傾いている場合、印刷媒体12に形成される画像が傾いてしまう。これは、ハンドヘルドプリンタ20は初期位置のヘッドの向きを無条件に0度として、画像形成中のハンドヘルドプリンタ20の位置を求めるためである。したがって、印刷媒体12に対して初期位置ですでにハンドヘルドプリンタ20が傾いている場合、傾いた画像が形成されてしまう。
本発明は、上記課題に鑑み、印刷媒体に対して画像の傾きを抑制できる画像形成装置を提供することを目的とする。
上記課題に鑑み、本発明は、印刷媒体に画像を形成する画像形成装置であって、第一位置を起点として前記画像形成装置の位置が移動した際、前記印刷媒体の面に平行な第一方向と第二方向の前記画像形成装置の移動量を検出する移動量取得手段と、前記第一方向の移動量と前記第二方向の移動量を用いて、前記第一位置における前記画像形成装置の傾度情報を取得する傾度情報取得手段と、画像形成の開始位置で前記印刷媒体に対し傾きを有している前記画像形成装置が画像を形成した場合に生じ得る前記画像の傾きを、前記傾度情報を用いて抑制する傾き抑制手段と、前記傾き抑制手段により傾きが抑制された前記画像を前記印刷媒体に形成する画像形成手段と、を有する。
印刷媒体に対して画像の傾きを抑制できる画像形成装置を提供することができる。
以下、本発明を実施するための形態について図面を参照しながら実施例を挙げて説明する。
<初期位置の傾きの補正方法の概略>
本実施例のハンドヘルドプリンタ20は、画像形成前にユーザが1度、キャリブレーションを行うことで、初期位置(画像形成を開始する位置)におけるハンドヘルドプリンタ20の傾きを補正する。図3を用いて説明する。
本実施例のハンドヘルドプリンタ20は、画像形成前にユーザが1度、キャリブレーションを行うことで、初期位置(画像形成を開始する位置)におけるハンドヘルドプリンタ20の傾きを補正する。図3を用いて説明する。
図3は、初期位置でハンドヘルドプリンタ20が印刷媒体12に対し傾いていた場合の傾きの補正方法を説明する図の一例である。図3(a)はユーザが行うキャリブレーションを模式的に示している。ユーザは、ハンドヘルドプリンタ20を印刷媒体12に対してほぼ水平に移動させる。この時、ハンドヘルドプリンタ20は印刷媒体12に対し傾いてよい(傾いていない場合はキャリブレーションの必要がないが、キャリブレーションを行ってもよい)。図3(a)では初期位置のハンドヘルドプリンタ20が反時計方向にPsφ傾いている。
図3(b)は、水平移動の移動軌跡301と傾きPsφの関係を示す図である。ハンドヘルドプリンタ20はプレスキャンの開始点Sから終了地点E(後述する折返し点)を結んだ直線を水平と定義する。ハンドヘルドプリンタ20は開始点Sから終了地点Eまでの移動量を取得している。説明の便宜上、開始点Sの座標を(0,0)、終了地点Eの座標を(X0,Y0)とする。(0,0)(X0,Y0)は、印刷媒体12に対し水平・垂直な向きを軸とする座標系の座標(後述する印刷媒体座標)である。
これに対し、ハンドヘルドプリンタ20は記録ヘッドのノズルの配列方向に水平・垂直な向きを座標系として移動量を検出する。この座標系をX´、Y´で示す。したがって、終了地点Eまで移動した時のハンドヘルドプリンタ20のX´軸方向における移動量はΔX´、Y´軸方向の移動量は-ΔY´である。このΔX´と-ΔY´から傾きPsφを求めることができる。図3(b)の傾きPsφはそのまま、図3(a)の初期位置におけるハンドヘルドプリンタ20の傾きPsφである。
本実施例のハンドヘルドプリンタ20は、初期位置の傾きPsφを用いてインクの目標吐出位置を補正する。傾いている分、目標吐出位置を補正することで、図3(c)に示すように、初期位置のヘッドが傾いていても印刷媒体12に対して傾きの少ない画像を形成できる。また、ハンドヘルドプリンタ20が初期位置で傾いていなくても、位置検出のためのセンサ自体が傾いて組み付けられている場合には、傾きの少ない画像を形成できる。
<構成例>
図4は、ハンドヘルドプリンタ20のハードウェア構成図の一例を示す。ハンドヘルドプリンタ20は、印刷媒体12に画像を形成する画像形成装置の一例である。ハンドヘルドプリンタ20は、制御部25によって全体の動作が制御され、制御部25には通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、及び、ナビゲーションセンサ30が電気的に接続されている。また、ハンドヘルドプリンタ20は電力により駆動されるため、電源22と電源回路21を有している。電源回路21が生成する電力は、通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、IJ記録ヘッド24、制御部25、及び、ナビゲーションセンサ30に供給されている。
図4は、ハンドヘルドプリンタ20のハードウェア構成図の一例を示す。ハンドヘルドプリンタ20は、印刷媒体12に画像を形成する画像形成装置の一例である。ハンドヘルドプリンタ20は、制御部25によって全体の動作が制御され、制御部25には通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、及び、ナビゲーションセンサ30が電気的に接続されている。また、ハンドヘルドプリンタ20は電力により駆動されるため、電源22と電源回路21を有している。電源回路21が生成する電力は、通信I/F27、IJ記録ヘッド駆動回路23、OPU26、ROM28、DRAM29、IJ記録ヘッド24、制御部25、及び、ナビゲーションセンサ30に供給されている。
電源22は主に電池(バッテリー)が利用される。太陽電池や商用電源(交流電源)、燃料電池等が用いられてもよい。電源回路21は、電源22が供給する電力をハンドヘルドプリンタ20の各部に分配する。また、電源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は、ハンドヘルドプリンタ20のハードウェア制御を行うファームウェアや、IJ記録ヘッド24の駆動波形データ(液滴を吐出するための電圧変化を規定するデータ)や、ハンドヘルドプリンタ20の初期設定データ等を格納している。
DRAM29は通信I/F27が受信した画像データを記憶したり、ROM28から展開されたファームウェアの格納のために使用される。したがって、CPU31がファームウェアを実行する際のワークメモリとして使用される。
ナビゲーションセンサ30は、ハンドヘルドプリンタ20の位置を検出するセンサである。ナビゲーションセンサ30は、例えば、発光ダイオード(LED)やレーザ等の光源と、印刷媒体12を撮像する撮像センサを有している。ハンドヘルドプリンタ20が印刷媒体12上を走査されると、印刷媒体12の微小なエッジが次々に検出され(撮像され)エッジ間の距離を解析することで移動量が得られる。ナビゲーションセンサ30は、ハンドヘルドプリンタ20の少なくとも2箇所に搭載されている。両者を区別する場合、ナビゲーションセンサS0,S1という。なお、ナビゲーションセンサ30として、さらに多軸の加速度センサやジャイロセンサ等を用いてもよく、加速度センサやジャイロセンサのみでハンドヘルドプリンタ20の位置を検出してもよい。
OPU(Operation panel Unit)26は、ハンドヘルドプリンタ20の状態を表示するLED、ユーザが画像形成を指示するためのスイッチ等を有している。ただし、これに限定するものではなく、液晶ディスプレイを有していてよく、さらにタッチパネルを有していてもよい。また、音声入力機能を有していてもよい。
IJ記録ヘッド駆動回路23は上記の駆動波形データを用いて、IJ記録ヘッド24を駆動するための駆動波形(電圧)を生成する。インクの液滴のサイズなどに応じた駆動波形を生成できる。
IJ記録ヘッド24は、インクが吐出されるヘッドである。図ではCMYKの4色のインクを吐出可能になっているが、単色でもよく5色以上の吐出が可能でもよい。各色ごとに一列(二列以上でもよい)に並んだ複数のインク吐出用のノズルが配置されている。また、インクの吐出方式はピエゾ方式でもサーマル方式でもよく、この他の方式でもよい。
制御部25は、ナビゲーションセンサ30が検出する移動量を元に、IJ記録ヘッド24の各ノズルの位置、該位置に応じて形成する画像の決定、吐出ノズル可否判定等を行う。制御部25について詳細は次述する。
図5は、制御部25の構成を説明する図の一例である。制御部25はSoC50とASIC/FPGA40を有している。SoC50とASIC/FPGA40はバス44,45を介して通信する。ASIC/FPGA40はどちらの実装技術で設計されてもよいことを意味し、ASIC/FPGA40以外の他の実装技術で構成されてよい。また、SoC50とASIC/FPGA40を別のチップにすることなく1つのチップや基盤で構成してもよい。あるいは、3つ以上のチップや基盤で実装してもよい。
SoC50は、バス44を介して接続されたCPU31、位置算出回路32、傾き算出/補正回路33、メモリCTL(コントローラ)34、及び、ROM CTL(コントローラ)35等の機能を有している。なお、SoC50が有する構成要素はこれらに限られない。
また、ASIC/FPGA40は、バス45を介して接続されたImage RAM36、DMAC37、回転器38、割り込みコントローラ39、ナビゲーションセンサI/F、印字/センサタイミング生成部42、及び、IJ記録ヘッド制御部43を有している。なお、ASIC/FPGA40が有する構成要素はこれらに限られない。
CPU31は、ROM28からDRAM29に展開されたファームウェアなどを実行し、SoC50内の位置算出回路32、傾き算出/補正回路33、メモリCTL34、及び、ROM CTL35の動作を制御する。また、ASIC/FPGA40内のImage RAM36、DMAC37、回転器38、割り込みコントローラ39、ナビゲーションセンサI/F41、印字/センサタイミング生成部42、及び、IJ記録ヘッド制御部43の動作を制御する。
位置算出回路32は、ナビゲーションセンサ30が検出するサンプリング周期ごとの移動量に基づいてハンドヘルドプリンタ20の位置(座標情報)を算出する。ハンドヘルドプリンタ20の位置とは、厳密にはノズルの位置であるが、ナビゲーションセンサ30のある位置が分かればノズルの位置を算出できる。本実施例では、特に断らない限りナビゲーションセンサ30の位置としてナビゲーションセンサS0の位置をいう。また、位置算出回路32は目標吐出位置を算出する。
ナビゲーションセンサ30の位置は、後述するように例えば所定の原点(画像形成が開始される時のハンドヘルドプリンタ20の初期位置)を基準に算出されている。また、位置算出回路32は、過去の位置と最も新しい位置の差に基づいて移動速度や移動方向を推定し、例えば次回の算出タイミングにおける位置を予測する。こうすることで、ユーザの走査に対する遅れを抑制してインクを吐出できる。
傾き算出/補正回路33は、初期位置のハンドヘルドプリンタ20の印刷媒体12に対する傾きPsφを算出する。また、この傾きPsφに基づき位置算出回路32が算出した目標吐出位置を補正する。傾き算出/補正回路33の詳細は図6にて説明する。 メモリCTL34は、DRAM29とのインタフェースであり、DRAM29に対しデータを要求し、取得したファームウェアをCPU31に送出したり、取得した画像データをASIC/FPGA40に送出する。
ROM CTL35は、ROM28とのインタフェースであり、ROM28に対しデータを要求し、取得したデータをCPU31やASIC/FPGA40に送出する。
DMAC37は、位置算出回路32が算出した位置情報を元に、メモリCTL34を介してIJ記録ヘッド24の各ノズル周辺の画像データを取得する。つまり、印刷媒体12に対しハンドヘルドプリンタ20が存在する位置の周辺の画像データが取得される。
回転器38は、DMAC37が取得した画像データを、インクを吐出するヘッド、及び、ヘッド内のノズル位置に応じて回転させる。DMAC37は回転後の画像データをIJ記録ヘッド制御部43へ出力する。回転器38は、例えば、位置算出回路32が位置を算出する際に算出した回転角θを取得し、その回転角θを用いて周辺画像を回転させることができる。
Image RAM36はDMAC37が取得した画像データを一時的に格納する。すなわち、ある程度の画像データがバッファリングされ、ハンドヘルドプリンタ20の位置に応じて読み出される。
IJ記録ヘッド制御部43は、画像データ(ビットマップデータ)にディザ処理などを施して大きさと密度で画像を表す点の集合に画像データを変換する。これにより、画像データは吐出位置と点のサイズのデータとなる。IJ記録ヘッド制御部43は点のサイズに応じた制御信号をIJ記録ヘッド駆動回路23に出力する。IJ記録ヘッド駆動回路23は上記のように制御信号に対応した駆動波形データを用いて、駆動波形(電圧)を生成する。
ナビゲーションセンサI/F41は、ナビゲーションセンサ30と通信し、ナビゲーションセンサ30からの情報として移動量ΔX´、ΔY´(これらについては後述する)を受信し、その値を内部レジスタに格納する。
印字/センサタイミング生成部42は、ナビゲーションセンサI/F41にナビゲーションセンサ30の情報を読み取るタイミングを通知し、IJ記録ヘッド制御部43に駆動タイミングを通知する。IJ記録ヘッド制御部43は吐出ノズル可否判定を行いインクを吐出すべき目標吐出位置があればインクを吐出しなければ吐出しない。
割り込みコントローラ39は、ナビゲーションセンサI/F41がナビゲーションセンサ30との通信が完了したことを検知して、SoC50へそれを通知するための割り込み信号を出力する。CPU31はこの割り込みにより、ナビゲーションセンサI/F41が内部レジスタに記憶するΔX´、ΔY´を取得する。その他、エラー等のステータス通知機能も有する。
<<傾き算出/補正回路33>>
図6は、傾き算出/補正回路33の機能ブロック図の一例である。傾き算出/補正回路33は、傾き演算部33aと補正演算部33bを有している。傾き演算部33aは、キャリブレーションの際に位置算出回路32が算出した位置情報を元に傾きPsφを算出し、DRAM29などに記憶させる。
図6は、傾き算出/補正回路33の機能ブロック図の一例である。傾き算出/補正回路33は、傾き演算部33aと補正演算部33bを有している。傾き演算部33aは、キャリブレーションの際に位置算出回路32が算出した位置情報を元に傾きPsφを算出し、DRAM29などに記憶させる。
補正演算部33bは、DRAM29などに記憶された傾きPsφに基づいて、目標吐出位置を補正する。また、傾きPsφに基づいてハンドヘルドプリンタ20の初期位置を補正してから、目標吐出位置を補正してもよい。
なお、図5,6では傾き算出/補正回路33をハードウェアにより構成される回路として記載しているが、ソフトウェアにより傾き算出/補正回路33と同等の機能を実現してよい。この場合、図5,6から傾き算出/補正回路33は削除され、CPU31がファームウェアなどのプログラムを実行し、CPU31からの命令によって実現される機能又は手段として傾き算出/補正回路33が実現される。なお、位置算出回路32についても同様であり、ソフトウェアによりこの機能を実現してよい。
<目標吐出位置>
続いて、図7を用いて目標吐出位置について説明する。図7は、目標吐出位置とノズル61の位置の関係を説明する図の一例である。図7は初期位置でIJ記録ヘッド24が印刷媒体12に対し傾いている場合の目標吐出位置G1〜G9を示す。目標吐出位置G1〜G9は、ハンドヘルドプリンタ20がノズル61からインクを着弾させる目標位置(画素の形成先)である。目標吐出位置G1〜G9は、ハンドヘルドプリンタ20の初期位置とハンドヘルドプリンタ20のX軸/Y軸方向の解像度(Xdpi,Ydpi)から求めることができる。
続いて、図7を用いて目標吐出位置について説明する。図7は、目標吐出位置とノズル61の位置の関係を説明する図の一例である。図7は初期位置でIJ記録ヘッド24が印刷媒体12に対し傾いている場合の目標吐出位置G1〜G9を示す。目標吐出位置G1〜G9は、ハンドヘルドプリンタ20がノズル61からインクを着弾させる目標位置(画素の形成先)である。目標吐出位置G1〜G9は、ハンドヘルドプリンタ20の初期位置とハンドヘルドプリンタ20のX軸/Y軸方向の解像度(Xdpi,Ydpi)から求めることができる。
例えば、解像度が300dpiの場合、IJ記録ヘッド24の長手方向及びこれに対し垂直な方向に約0.084[mm]ごとに目標吐出位置が設定される。この目標吐出位置G1〜G9に吐出される画素があれば、ハンドヘルドプリンタ20はインクを吐出する。
しかし、実際には、ノズル61と目標吐出位置が完全に一致するタイミングを捉えることは困難なので、ハンドヘルドプリンタ20は目標吐出位置とノズル61の現在位置との間に許容誤差62を設けている。そして、ノズル61の現在位置が目標吐出位置から許容誤差62の範囲内にある場合に、ノズル61からインクを吐出する(このような許容範囲を設けることを「吐出ノズル可否判定」という。)。
また、矢印63に示すように、ハンドヘルドプリンタ20はノズル61の移動方向と速度を監視しており、次回のサンプリング周期のノズル61の位置を予測している。したがって、予測された位置と許容誤差62の範囲内を比較してインクの吐出を準備することが可能になる。なお、本実施例では、区別して説明する必要がなければ、最も新しく算出された位置と予測された位置を区別することなく現在位置と称する。
図7に示すように、初期位置でIJ記録ヘッド24が傾いていると、初期位置を基準に設定される目標吐出位置G1〜G9も傾いてしまい形成される画像も傾いてしまう。
本実施例では、後述する図13に示すように、初期位置におけるハンドヘルドプリンタ20の傾きに応じて目標吐出位置を補正する。これにより、形成される画像が傾くことを抑制できる。
<ハンドヘルドプリンタ20の外観の一例>
図8は、本実施形態のハンドヘルドプリンタ20の概略的な外観図の一例を示す。図8のハンドヘルドプリンタ20は、ユーザが手55で把持できる程度の大きさを有するが、ハンドルなどの把持部を備えていれば、ハンドヘルドプリンタ20はより大きくてよい(より大きなIJ記録ヘッド24を搭載してよい)。また、図ではハンドヘルドプリンタ20は直方体の形状を有しているが、外観の形状は本実施形態では制限されない。
図8は、本実施形態のハンドヘルドプリンタ20の概略的な外観図の一例を示す。図8のハンドヘルドプリンタ20は、ユーザが手55で把持できる程度の大きさを有するが、ハンドルなどの把持部を備えていれば、ハンドヘルドプリンタ20はより大きくてよい(より大きなIJ記録ヘッド24を搭載してよい)。また、図ではハンドヘルドプリンタ20は直方体の形状を有しているが、外観の形状は本実施形態では制限されない。
ハンドヘルドプリンタ20はいくつかのLEDとボタンを備えた操作部を有している。電源ボタン53は、ハンドヘルドプリンタ20の電源22をON又はOFFさせる際にユーザにより押下されるボタンである。印字ボタン54は、ハンドヘルドプリンタ20による画像形成又はプレスキャンを実施するためにユーザにより押下されるボタンである。
電源LED51は、ハンドヘルドプリンタ20の電源22がONとなり、使用可能な状態であることを点灯状態や点灯色などによりユーザに通知する。印字LED52は、ハンドヘルドプリンタ20が画像形成中又はプレスキャン中であることを点灯状態や点灯色などによりユーザに通知する。
<< LED点灯によるユーザへの通知バリエーション>>
図8のLEDは点灯状態によりハンドヘルドプリンタ20の様々な状態を表現することができる。
図8のLEDは点灯状態によりハンドヘルドプリンタ20の様々な状態を表現することができる。
電源LED51と印字LED52の状態には、点灯/消灯/点滅があり、さらに点滅は複数の点滅時間間隔を取り得る。
例えば、電源LED51が点灯している場合、ハンドヘルドプリンタ20は通常待機の状態である(状態1)。そして、印字LED52が消灯している場合、ハンドヘルドプリンタ20は待機中(何もしてない)であり(状態2)、印字LED52が点滅(1秒間隔)している場合、ハンドヘルドプリンタ20はデータ転送中であることが分かる(状態2)。
このように、2つのLEDによっても、点灯/消灯/点滅(時間間隔を変更)の組み合わせることでハンドヘルドプリンタ20の様々な状態を表現できる。なお、点灯色を用いてハンドヘルドプリンタ20の状態を表現してもよい。
<IJ記録ヘッドにおけるノズル位置について>
次に、図9を用いて、IJ記録ヘッド24におけるノズル位置等について説明する。図9(a)は、ハンドヘルドプリンタ20の平面図の一例である。図9(b)はIJ記録ヘッド24のみを説明する図の一例である。図示されている面が印刷媒体12に対向する面である。
次に、図9を用いて、IJ記録ヘッド24におけるノズル位置等について説明する。図9(a)は、ハンドヘルドプリンタ20の平面図の一例である。図9(b)はIJ記録ヘッド24のみを説明する図の一例である。図示されている面が印刷媒体12に対向する面である。
本実施形態のハンドヘルドプリンタ20は、2つ以上のナビゲーションセンサ30を有している。ナビゲーションセンサ30が2つ以上あることで、画像形成中の回転を検出できる。図9(a)ではノズル61の配列方向に離間して2つのナビゲーションセンサS0,S1が配置されている。2つのナビゲーションセンサS0,S1の間の長さは距離Lである。距離Lは長いほどよい。これは、距離Lが長いほど検出可能な最小の回転角θが小さくなり、ハンドヘルドプリンタ20の位置の誤差が少なくなるからである。
ナビゲーションセンサ30からIJ記録ヘッド24までの距離はそれぞれ距離a、bである。距離aと、距離bは等しくてもよい。また、図9(b)に示すように、IJ記録ヘッド24の端から最初のノズル61までの距離は距離d、隣接するノズル間の距離は距離eである。a〜eの値はROM28などに予め記憶されている。
したがって、位置算出回路32などがナビゲーションセンサ30の位置を算出すれば、距離a、距離b、距離d、距離eを用いて、位置算出回路32はノズル61の位置を算出できる。
本実施形態では、印刷媒体12に水平な方向をX軸、垂直な方向をY軸に設定する。この座標を印刷媒体座標と称することにする。これに対し、ナビゲーションセンサ30は図9(a)の座標軸(X´軸、Y´軸)で位置を出力する。すなわち、ノズル61の配列方向(2つのナビゲーションセンサS0、S1を結ぶ方向)をY´軸、Y´軸に直交する方向をX´軸とする。位置の算出は位置算出回路32によって行われる。
<印刷媒体12におけるハンドヘルドプリンタ20の位置について>
次に、ハンドヘルドプリンタ20の位置について説明する。図9(a)では、印刷媒体12に対しハンドヘルドプリンタ20が時計回りにθ回転している。全く回転していなければ、X=X´、Y=Y´である。しかし、ハンドヘルドプリンタ20が印刷媒体12に対し回転角θ、回転した場合、ナビゲーションセンサS0、S1の出力とハンドヘルドプリンタ20の印刷媒体12における実際の位置が一致しなくなる。回転角θ、傾きPsφは時計回りが正、X、X´右方向が正、Y、Y´は上方向が正である。
次に、ハンドヘルドプリンタ20の位置について説明する。図9(a)では、印刷媒体12に対しハンドヘルドプリンタ20が時計回りにθ回転している。全く回転していなければ、X=X´、Y=Y´である。しかし、ハンドヘルドプリンタ20が印刷媒体12に対し回転角θ、回転した場合、ナビゲーションセンサS0、S1の出力とハンドヘルドプリンタ20の印刷媒体12における実際の位置が一致しなくなる。回転角θ、傾きPsφは時計回りが正、X、X´右方向が正、Y、Y´は上方向が正である。
図10(a)に示すように、ナビゲーションセンサS0,S1が出力するΔX´、ΔY´は、印刷媒体座標のX、Yと以下のように対応する。図10(a)では回転角θのハンドヘルドプリンタ20がX方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサS0,S1(平行移動なので出力は等しい)が検出する移動量ΔX´、ΔY´とX,Yの対応を示している。ナビゲーションセンサS0,S1が出力するΔX´はX1に反映され、ΔY´はX2に反映される。
図10(b)では回転角θのハンドヘルドプリンタ20がY方向にのみ同じ回転角θのまま移動した場合のナビゲーションセンサS0,S1(平行移動なので出力は等しい)が検出する移動量ΔX´、ΔY´とX,Yの対応を示している。ナビゲーションセンサS0,S1が出力するΔY´はY1に反映され、−ΔX´はY2に反映される。
したがって、ハンドヘルドプリンタ20がX方向及びY方向に回転角θのまま移動した場合、ナビゲーションセンサS0,S1が出力するΔX´、ΔY´は印刷媒体座標のX,Yに以下のように変換できる。
X=ΔX´cosθ+ΔY´sinθ …(1)
Y=−ΔX´sinθ+ΔY´cosθ …(2)
<<回転角θの検出>>
次に、図11を用いて、画像形成中にハンドヘルドプリンタ20が回転した場合の回転角θについて説明する。図11は、画像形成中に生じるハンドヘルドプリンタ20の回転角dθの求め方を説明する図の一例である。回転角dθは2つのナビゲーションセンサS0,S1検出する移動量ΔX´を用いて算出される。印刷媒体12の上側のナビゲーションセンサS0が検出する移動量ΔX´0、S1が検出する移動量をΔX´1とする。なお、図11ではすでに得られている回転角をθとしている。
X=ΔX´cosθ+ΔY´sinθ …(1)
Y=−ΔX´sinθ+ΔY´cosθ …(2)
<<回転角θの検出>>
次に、図11を用いて、画像形成中にハンドヘルドプリンタ20が回転した場合の回転角θについて説明する。図11は、画像形成中に生じるハンドヘルドプリンタ20の回転角dθの求め方を説明する図の一例である。回転角dθは2つのナビゲーションセンサS0,S1検出する移動量ΔX´を用いて算出される。印刷媒体12の上側のナビゲーションセンサS0が検出する移動量ΔX´0、S1が検出する移動量をΔX´1とする。なお、図11ではすでに得られている回転角をθとしている。
ハンドヘルドプリンタ20が平行移動しながらdθ回転したとする。このため、移動量ΔX´0とΔX´1は一致しない。しかし、どちらの出力も2つのナビゲーションセンサS0,S1を結ぶ直線に垂直な方向の移動量なので、移動量ΔX´0とΔX´1の差は「ΔX´0−ΔX´1」として求めることができる。この差はハンドヘルドプリンタ20がdθ回転したことにより生じた値である。したがって、2つのナビゲーションセンサS0,S1の間隔がLであるとすると、dθは以下のように表すことができる。
dθ=arcsin{(ΔX´0−ΔX´1)/L} …(3)
したがって、式(3)により画像形成中に生じる回転角dθを適宜、算出すれば、常に(ナビゲーションセンサS0,S1のサンプリング周期で)、ハンドヘルドプリンタ20の印刷媒体12に対する回転角θを特定できる。そしてこの回転角θを使用すれば、式(1)(2)により印刷媒体座標におけるハンドヘルドプリンタ20の位置を特定できる。
dθ=arcsin{(ΔX´0−ΔX´1)/L} …(3)
したがって、式(3)により画像形成中に生じる回転角dθを適宜、算出すれば、常に(ナビゲーションセンサS0,S1のサンプリング周期で)、ハンドヘルドプリンタ20の印刷媒体12に対する回転角θを特定できる。そしてこの回転角θを使用すれば、式(1)(2)により印刷媒体座標におけるハンドヘルドプリンタ20の位置を特定できる。
以上のようにして、印刷媒体座標のハンドヘルドプリンタ20の位置が算出される。例えば、ナビゲーションセンサS0の位置(X0,Y0)が算出されれば、間隔Lを使用してナビゲーションセンサS1の位置を以下のように求めることができる。なお、ナビゲーションセンサS1の位置も式(1)〜(3)から求めてもよい。
X1=X0−L×sinθ
Y1=Y0−L×cosθ
なお、位置算出回路32が実際にX0、X1、Y0、Y1を算出する際はsinθ、tanθ等を直接、算出しなくてよい場合がある。
X1=X0−L×sinθ
Y1=Y0−L×cosθ
なお、位置算出回路32が実際にX0、X1、Y0、Y1を算出する際はsinθ、tanθ等を直接、算出しなくてよい場合がある。
θが十分に小さい場合(0と見なせるくらい小さい場合)、sinθ= tanθ = θが成り立つ。ナビゲーションセンサS0、S1がΔX´、ΔYを検知するサンプリング周期は極めて短いので、θも小さい値となる。
例えば、ユーザが比較的高速な走査速度=400〔mm/s〕で走査しているとする。また、L=1〔inch〕、サンプリング周期=100〔us〕と仮定する。この場合、1サンプリング周期で移動できる距離は40〔um〕に過ぎず、回転できる回転角dθは0.0015〔rad〕である。また、sindθ=tandθ=0.0015となる。したがって、dθが十分に小さい場合があり、この場合は、sindθ=tandθ=dθとしてよい。
<キャリブレーション(プレスキャン)>
続いて、図12を用いて、初期位置におけるハンドヘルドプリンタ20の傾きPsφを求めるためのキャリブレーションについて説明する。図12はキャリブレーションにより求められる傾きPsφを説明する図の一例である。
続いて、図12を用いて、初期位置におけるハンドヘルドプリンタ20の傾きPsφを求めるためのキャリブレーションについて説明する。図12はキャリブレーションにより求められる傾きPsφを説明する図の一例である。
従来は、ハンドヘルドプリンタ20を基準(例えばIJ記録ヘッド24の長手方向とこれに垂直な方向)とする水平/垂直方向がXY座標系として定義されていた。つまり、ハンドヘルドプリンタ20を基準とする座標系がそのまま印刷媒体座標であった。このため、初期位置でハンドヘルドプリンタ20が傾いていると、形成される画像が印刷媒体12に対し傾いてしまう。
本実施形態では、画像形成の開始時のハンドヘルドプリンタ20の傾きPsφを検出するために、ユーザが印刷媒体12に対し略水平にハンドヘルドプリンタ20をプレスキャンさせる(ユーザ操作は外力の一例)。これにより、画像形成の前に印刷媒体12の水平方向が定義され、ハンドヘルドプリンタ20の傾きPsφが得られる。
以下では、ナビゲーションセンサS0の位置を用いて説明するが、ナビゲーションセンサS1の位置を用いても傾きPsφを検出できる。画像形成の開始前、ナビゲーションセンサS0のプレスキャンの開始点(X01,Y01)を起点としてユーザがプレスキャンを実行し、折返し点(X02,Y02)までほぼ水平にハンドヘルドプリンタ20を走査させる(開始点は第一位置の一例、折返し点は第二位置の一例)。矢印65と矢印66はプレスキャンの軌跡を示す。折り返し点は、プレスキャンの終点であるが特に決まりはなく、開始点(X01,Y01)から水平方向に一定距離以上の点であればよい。また、往路だけなく復路においてもユーザがプレスキャンして、往路と復路の平均の傾きPsφを算出してもよい。この場合、開始点(X01,Y01)から水平方向に最も離れた位置が折り返し点である。
これまで説明したように、ナビゲーションセンサS0,S1が出力する移動量は矢印67と矢印68で定義される座標系の値である。このため、ナビゲーションセンサS0は、X02とX01の差でなく、矢印67に平行な移動量(第一方向の移動量)としてΔX´を出力する。Y02とY01についても同様であり、印刷媒体座標では差がないが、ナビゲーションセンサS0は矢印68に平行な移動量(第二方向の移動量)としてΔY´を出力する。
傾きPsφがゼロであれば、ΔY´はゼロである。したがって、ΔX´とΔY´の比から開始点におけるハンドヘルドプリンタ20の傾きPsφ(傾度情報)を算出できる。
psφ=arctan(ΔY´/ΔX´) …(4)
傾き算出/補正回路33の傾き演算部33aはこのようにして傾きPsφを算出しDRAM29等に記憶させる。
psφ=arctan(ΔY´/ΔX´) …(4)
傾き算出/補正回路33の傾き演算部33aはこのようにして傾きPsφを算出しDRAM29等に記憶させる。
なお、図12ではハンドヘルドプリンタ20を印刷媒体12に対して完全な平行移動をさせたものとして記載しているが、開始点(X01,Y01)と折り返し点(X02,Y02)とを結ぶ直線は完全な平行移動によって得られたものではなくてよい。折り返し点(X02,Y02)が開始点(X01,Y01)に対し多少のずれがある場所であっても、このずれはほとんど傾きPsφに影響しないので、傾きPsφの補正に関しては微少量とみなせる。
したがって、多少のずれがある場合であっても印刷媒体12に対して画像の傾きを抑制することができる。
<目標吐出位置の補正>
ハンドヘルドプリンタ20の傾きPsφが得られると、傾き算出/補正回路33は目標吐出位置を補正できる。
ハンドヘルドプリンタ20の傾きPsφが得られると、傾き算出/補正回路33は目標吐出位置を補正できる。
図13は目標吐出位置の補正を説明するための図の一例である。図の目標吐出位置G1〜G8は補正前の目標吐出位置を表しており、ハンドヘルドプリンタ20が傾きPsφ傾いている初期位置を基準とした目標吐出位置である。これに対し、図の目標吐出位置G´1〜G´8は補正後の目標吐出位置を表している。
目標吐出位置G´1〜G´8はプレスキャンにより得られた傾きPsφだけ初期位置(原点(0,0))を中心に目標吐出位置G1〜G8を回転させることで算出できる(回転のアフィン変換)。より具体的には、以下の式によって傾きの補正を行う。n番目の目標吐出位置G´の座標をa´n、b´nとする。
a´n=an×cosPsφ−bn×sinPsφ …(5)
b´n=an×sinPsφ+bn×cosPsφ …(6)
IJ記録ヘッド制御部43がハンドヘルドプリンタ20の現在位置と補正後の目標吐出位置に対し吐出ノズル可否判定を行うことで、目標吐出位置G1〜G8の画素を目標吐出位置G´1〜G´8で吐出することができる。したがって、形成される画像の傾きを抑制できる。
a´n=an×cosPsφ−bn×sinPsφ …(5)
b´n=an×sinPsφ+bn×cosPsφ …(6)
IJ記録ヘッド制御部43がハンドヘルドプリンタ20の現在位置と補正後の目標吐出位置に対し吐出ノズル可否判定を行うことで、目標吐出位置G1〜G8の画素を目標吐出位置G´1〜G´8で吐出することができる。したがって、形成される画像の傾きを抑制できる。
また、目標吐出位置の算出は、ハンドヘルドプリンタ20の初期位置を補正してから行ってもよい。図14は、傾きPsφを用いたハンドヘルドプリンタ20の初期位置の補正を模式的に示す図の一例である。
ナビゲーションセンサS0の初期位置の座標を(X0,Y0)、ナビゲーションセンサS1の初期位置の座標を(X1,Y1)、ナビゲーションセンサS0の補正後の初期位置の座標を(X0c,Y0c)、プレスキャンにより得られた傾きをPsφ、ナビゲーションセンサS0、S1の間の距離をLとする。ここで、実際に補正する傾きPsφは逆方向の傾きとして「(-1)×プレスキャン時の傾きPsφ」のように符号を逆にする必要があることに留意する。Pφ、Psφの単位はradianとする。
Pφ=(-1)×Psφ
印刷媒体座標において、ナビゲーションセンサS0の初期位置のX座標と補正後のX座標との差dX0は以下のように表すことができる。Psφは十分に小さいという仮定を用いた。
dX0=L×sinPφ=L×Pφ
同様に、ナビゲーションセンサS0の初期位置のY座標と補正後のY座標との差dY0(印刷媒体座標)は以下のように表すことができる。
dY0=L×(1−cosPφ)
この結果、補正後のナビゲーションセンサS0の初期位置の座標(Xc0,Y0c)、補正後のナビゲーションセンサS1の初期位置の座標(X1c,Y1c)は以下により求めることができる。
(X0c,Y0c)=(X0+dX0,Y0+dY0) …(7)
(X1c,Y1c)=(X1,Y1) …(8)
傾き算出/補正回路33はこのようにして傾きPsφを用いて、初期位置を補正しDRAM29等に記憶させる。また、傾き算出/補正回路33は補正された初期位置を使用して、目標吐出位置を算出する。この場合、図13の目標吐出位置G´1〜G´8が直接、得られる。
Pφ=(-1)×Psφ
印刷媒体座標において、ナビゲーションセンサS0の初期位置のX座標と補正後のX座標との差dX0は以下のように表すことができる。Psφは十分に小さいという仮定を用いた。
dX0=L×sinPφ=L×Pφ
同様に、ナビゲーションセンサS0の初期位置のY座標と補正後のY座標との差dY0(印刷媒体座標)は以下のように表すことができる。
dY0=L×(1−cosPφ)
この結果、補正後のナビゲーションセンサS0の初期位置の座標(Xc0,Y0c)、補正後のナビゲーションセンサS1の初期位置の座標(X1c,Y1c)は以下により求めることができる。
(X0c,Y0c)=(X0+dX0,Y0+dY0) …(7)
(X1c,Y1c)=(X1,Y1) …(8)
傾き算出/補正回路33はこのようにして傾きPsφを用いて、初期位置を補正しDRAM29等に記憶させる。また、傾き算出/補正回路33は補正された初期位置を使用して、目標吐出位置を算出する。この場合、図13の目標吐出位置G´1〜G´8が直接、得られる。
<ノズル位置>
図15はN番目のノズルNの位置の算出方法を説明するための図の一例である。一般に、ノズル列内のノズル間距離(距離e)は等しい。また、ナビゲーションセンサS0,S1に対するノズル61の相対位置は固定である。したがって、ナビゲーションセンサS0,S1の現在位置が算出されれば、任意のノズルNの位置を求めることができる。先頭のノズル61の座標を(Xs,Ys)、後尾のノズル61の座標を(Xe,Ye)とする。これらから、N番目のノズルNの座標は、次式により算出することができる。
NZLN_X=Xs+N×{(Xe−Xs)/(ノズル総数−1)}
NZLN_Y=Ys+N×{(Ye−Ys)/(ノズル総数−1)}
<動作手順>
図16、17を用いてハンドヘルドプリンタ20の動作手順について説明する。図16、図17はハンドヘルドプリンタ20の起動から画像形成の終了までの動作手順を示すフローチャート図の一例である。図16、17では左側がユーザの操作を示し、右側がハンドヘルドプリンタ20の動作を示す。なお、以下の説明でCPU31が主語となる処理は、CPU31がファームウェア等を実行して得られる機能により実現される。
図15はN番目のノズルNの位置の算出方法を説明するための図の一例である。一般に、ノズル列内のノズル間距離(距離e)は等しい。また、ナビゲーションセンサS0,S1に対するノズル61の相対位置は固定である。したがって、ナビゲーションセンサS0,S1の現在位置が算出されれば、任意のノズルNの位置を求めることができる。先頭のノズル61の座標を(Xs,Ys)、後尾のノズル61の座標を(Xe,Ye)とする。これらから、N番目のノズルNの座標は、次式により算出することができる。
NZLN_X=Xs+N×{(Xe−Xs)/(ノズル総数−1)}
NZLN_Y=Ys+N×{(Ye−Ys)/(ノズル総数−1)}
<動作手順>
図16、17を用いてハンドヘルドプリンタ20の動作手順について説明する。図16、図17はハンドヘルドプリンタ20の起動から画像形成の終了までの動作手順を示すフローチャート図の一例である。図16、17では左側がユーザの操作を示し、右側がハンドヘルドプリンタ20の動作を示す。なお、以下の説明でCPU31が主語となる処理は、CPU31がファームウェア等を実行して得られる機能により実現される。
<<起動時>>
U101:ユーザはハンドヘルドプリンタ20の電源ボタン53を押下する。
S101,S102:ハンドヘルドプリンタ20は電源22から電源供給され、SoC50のCPU31は、ASIC/FPGA40を含め各構成要素の初期化を実施し、各構成要素を立ち上げる。
S103:初期化完了後、CPU31は例えば電源LED51を点灯させることでユーザに使用可能な状態であることを通知する。
U101:ユーザはハンドヘルドプリンタ20の電源ボタン53を押下する。
S101,S102:ハンドヘルドプリンタ20は電源22から電源供給され、SoC50のCPU31は、ASIC/FPGA40を含め各構成要素の初期化を実施し、各構成要素を立ち上げる。
S103:初期化完了後、CPU31は例えば電源LED51を点灯させることでユーザに使用可能な状態であることを通知する。
<<画像転送時>>
U102:ユーザは、印刷したい画像を画像データ出力器11に表示させるなどして選択する。
U103:ユーザは、印刷ジョブの実行を指示する。画像データ出力器11に搭載されているアプリはプリンタドライバを呼び出し、プリンタドライバは印刷条件と画像をPDL(Printer Description Language)で記述してハンドヘルドプリンタ20に送信する。また、プリンタドライバを介することなく、TIFF、JPEG、GIF等の形式のデータのまま画像データを送信してもよい。
S104:CPU31は、例えば印字LED52を点滅させることで、画像転送中であることをユーザに通知する。
S105-1:そして画像転送が完了するとCPU31は印字LED52を消灯させることで、ユーザに画像形成の開始が可能な状態であることを通知する。
U102:ユーザは、印刷したい画像を画像データ出力器11に表示させるなどして選択する。
U103:ユーザは、印刷ジョブの実行を指示する。画像データ出力器11に搭載されているアプリはプリンタドライバを呼び出し、プリンタドライバは印刷条件と画像をPDL(Printer Description Language)で記述してハンドヘルドプリンタ20に送信する。また、プリンタドライバを介することなく、TIFF、JPEG、GIF等の形式のデータのまま画像データを送信してもよい。
S104:CPU31は、例えば印字LED52を点滅させることで、画像転送中であることをユーザに通知する。
S105-1:そして画像転送が完了するとCPU31は印字LED52を消灯させることで、ユーザに画像形成の開始が可能な状態であることを通知する。
<<プレスキャン動作時>>
U104:ユーザは、印刷媒体12の上でハンドヘルドプリンタ20の初期位置を決定する。
U105:ユーザは、プレスキャンの開始点(ユーザが決定する画像形成の開始予定位置)にて、印字ボタン54を押下する(1回目)。
S105-2:CPU31は印字ボタン54によるキー割込みを受付け、印字LED52を点滅させることでプレスキャン中であることをユーザに通知する。また、CPU31は、ナビゲーションセンサS0,S1の出力をリードするようナビゲーションセンサI/F41に通知する。
S1001:ナビゲーションセンサ30は位置情報(移動量)の検知を開始し、位置情報(移動量)をナビゲーションセンサ30内のメモリに格納する。ハンドヘルドプリンタ20は移動していないので位置情報(移動量)はゼロである。
S106:ナビゲーションセンサI/F41はナビゲーションセンサ30と通信し、位置情報(移動量)をリードする。
S107:CPU31はリードした位置情報(移動量)を仮の初期位置としてDRAM29などに保持する。例えば仮の初期位置の座標を(0,0)とする。
U106:ユーザは、プレスキャンの開始点から印刷媒体12に対して略水平になるようにフリーハンドによるプレスキャンを実行する。このプレスキャンによって、ユーザ自身が画像形成動作における水平方向を定義することができる。プレスキャンの操作距離は任意の長さでよいが、後に求める傾きPsφへの影響を考えると、できるだけ走査距離は長い方が望ましい。
U107:ユーザは、プレスキャンの折り返し点まで到達したと判断すると、印字ボタン54を押下する(2回目)。ユーザが印字ボタン54を押下することなく、開始点からの移動距離が閾値以上になった場合に傾き算出/補正回路33が折り返し点まで到達したと判断してもよい。
S108:CPU31は、印字ボタン54によるキー割込みを受付け、印字LED52を消灯させることでユーザにプレスキャン動作が完了したことを通知する。また、CPU31は、ナビゲーションセンサS0,S1の位置情報(移動量)をリードするよう、ナビゲーションセンサI/F41に通知する。
S1002:ナビゲーションセンサS0,S1は位置情報(移動量)の検知を開始し、位置情報(移動量)をナビゲーションセンサ30内のメモリに格納する。
S109:ナビゲーションセンサI/F41はナビゲーションセンサS0,S1と通信し、位置情報(移動量)をリードする。
S110:傾き算出/補正回路33は、プレスキャンの開始点である仮の初期位置(0,0)と今回リードした移動量(ΔX´,ΔY´)を式(4)に適用し、開始点(初期位置)における傾きPsφを算出する。PsφはDRAM29などに記憶される。
U104:ユーザは、印刷媒体12の上でハンドヘルドプリンタ20の初期位置を決定する。
U105:ユーザは、プレスキャンの開始点(ユーザが決定する画像形成の開始予定位置)にて、印字ボタン54を押下する(1回目)。
S105-2:CPU31は印字ボタン54によるキー割込みを受付け、印字LED52を点滅させることでプレスキャン中であることをユーザに通知する。また、CPU31は、ナビゲーションセンサS0,S1の出力をリードするようナビゲーションセンサI/F41に通知する。
S1001:ナビゲーションセンサ30は位置情報(移動量)の検知を開始し、位置情報(移動量)をナビゲーションセンサ30内のメモリに格納する。ハンドヘルドプリンタ20は移動していないので位置情報(移動量)はゼロである。
S106:ナビゲーションセンサI/F41はナビゲーションセンサ30と通信し、位置情報(移動量)をリードする。
S107:CPU31はリードした位置情報(移動量)を仮の初期位置としてDRAM29などに保持する。例えば仮の初期位置の座標を(0,0)とする。
U106:ユーザは、プレスキャンの開始点から印刷媒体12に対して略水平になるようにフリーハンドによるプレスキャンを実行する。このプレスキャンによって、ユーザ自身が画像形成動作における水平方向を定義することができる。プレスキャンの操作距離は任意の長さでよいが、後に求める傾きPsφへの影響を考えると、できるだけ走査距離は長い方が望ましい。
U107:ユーザは、プレスキャンの折り返し点まで到達したと判断すると、印字ボタン54を押下する(2回目)。ユーザが印字ボタン54を押下することなく、開始点からの移動距離が閾値以上になった場合に傾き算出/補正回路33が折り返し点まで到達したと判断してもよい。
S108:CPU31は、印字ボタン54によるキー割込みを受付け、印字LED52を消灯させることでユーザにプレスキャン動作が完了したことを通知する。また、CPU31は、ナビゲーションセンサS0,S1の位置情報(移動量)をリードするよう、ナビゲーションセンサI/F41に通知する。
S1002:ナビゲーションセンサS0,S1は位置情報(移動量)の検知を開始し、位置情報(移動量)をナビゲーションセンサ30内のメモリに格納する。
S109:ナビゲーションセンサI/F41はナビゲーションセンサS0,S1と通信し、位置情報(移動量)をリードする。
S110:傾き算出/補正回路33は、プレスキャンの開始点である仮の初期位置(0,0)と今回リードした移動量(ΔX´,ΔY´)を式(4)に適用し、開始点(初期位置)における傾きPsφを算出する。PsφはDRAM29などに記憶される。
<<画像形成動作時>>
U109:画像形成時、ユーザはフリーハンドでプレスキャンの開始点(初期位置)までハンドヘルドプリンタ20を移動させ、印字ボタン54を押下する(3回目)。プレスキャンの開始点と画像形成の開始位置は完全に同じでなくてもよい。しかしながら、プレスキャンの開始点と画像形成の開始位置の傾きは同定度であることが好ましい。
S110-2:傾き算出/補正回路33はプレスキャンによって得られた傾きPsφに基づいて目標吐出位置を補正する。
S111:CPU31は印字ボタン54によるキー割込みを受付け、画像形成中は印字LED52を点灯させて画像形成中であることをユーザに通知する。また、CPU31はナビゲーションセンサS0,S1の位置情報(移動量)をリードするようナビゲーションセンサI/F41に通知する。
S1003:ナビゲーションセンサS0、S1は位置情報(移動量)の検知を開始し、ナビゲーションセンサ30内のメモリに記憶させる。ハンドヘルドプリンタ20は移動していないので位置情報(移動量)はゼロである。
S112:ナビゲーションセンサI/F41はナビゲーションセンサS0、S1と通信し、位置情報(移動量)をリードする。
(S113):なお、目標吐出位置を初期位置の補正後に補正する場合、この段階で、傾き算出/補正回路33は、プレスキャンで得られた傾きPsφを式(5)(6)に適用することで、リードした位置情報(ほぼゼロ)を補正して初期位置としてDRAM29などに記憶させる。そして、目標吐出位置を算出する。
S114、S115:その後、CPU31は印字/センサタイミング生成部42に時間(IJ記録ヘッド24の駆動周期)の計測を開始させる。
S116:印字/センサタイミング生成部42は設定された時間ごとにナビゲーションセンサ30へのリードを繰り返す。CPU31は、割り込みを検知してASIC/FPGA40からナビゲーションセンサ30が検出する位置情報(移動量)をリードする。
S117:位置算出回路32は前回、算出した位置(X0,Y0)と、今回、リードした移動量(ΔX´,ΔY´)から現在の位置(X,Y)を算出し、DRAM29などに記憶させる。すなわち、式(3)により回転角dθを算出し、式(1)(2)により印刷媒体座標における位置(X,Y)を算出する。CPU31は、算出した各ナビゲーションセンサS0,S1の現在の位置をASIC/FPGA40に伝える。
S119:DMAC37は、位置算出回路32が算出した位置を元にIJ記録ヘッド(各ノズル)24の周辺の画像データをDRAM29などからリードする。また、回転器38は回転角θを用いて周辺画像を回転させる。
S120、S121:その後、IJ記録ヘッド制御部43は、各ノズル位置が目標吐出位置から許容誤差62の範囲内かどうかを判定することで、吐出条件を満たすか否かを判定する。
S122:各ノズル位置が、目標吐出位置から許容誤差62の範囲内に入ると吐出条件を満たすと判定して、IJ記録ヘッド制御部43はIJ記録ヘッド駆動回路23へ目標吐出位置で吐出すべき画素を吐出するための制御信号を出力する。
U109:画像形成時、ユーザはフリーハンドでプレスキャンの開始点(初期位置)までハンドヘルドプリンタ20を移動させ、印字ボタン54を押下する(3回目)。プレスキャンの開始点と画像形成の開始位置は完全に同じでなくてもよい。しかしながら、プレスキャンの開始点と画像形成の開始位置の傾きは同定度であることが好ましい。
S110-2:傾き算出/補正回路33はプレスキャンによって得られた傾きPsφに基づいて目標吐出位置を補正する。
S111:CPU31は印字ボタン54によるキー割込みを受付け、画像形成中は印字LED52を点灯させて画像形成中であることをユーザに通知する。また、CPU31はナビゲーションセンサS0,S1の位置情報(移動量)をリードするようナビゲーションセンサI/F41に通知する。
S1003:ナビゲーションセンサS0、S1は位置情報(移動量)の検知を開始し、ナビゲーションセンサ30内のメモリに記憶させる。ハンドヘルドプリンタ20は移動していないので位置情報(移動量)はゼロである。
S112:ナビゲーションセンサI/F41はナビゲーションセンサS0、S1と通信し、位置情報(移動量)をリードする。
(S113):なお、目標吐出位置を初期位置の補正後に補正する場合、この段階で、傾き算出/補正回路33は、プレスキャンで得られた傾きPsφを式(5)(6)に適用することで、リードした位置情報(ほぼゼロ)を補正して初期位置としてDRAM29などに記憶させる。そして、目標吐出位置を算出する。
S114、S115:その後、CPU31は印字/センサタイミング生成部42に時間(IJ記録ヘッド24の駆動周期)の計測を開始させる。
S116:印字/センサタイミング生成部42は設定された時間ごとにナビゲーションセンサ30へのリードを繰り返す。CPU31は、割り込みを検知してASIC/FPGA40からナビゲーションセンサ30が検出する位置情報(移動量)をリードする。
S117:位置算出回路32は前回、算出した位置(X0,Y0)と、今回、リードした移動量(ΔX´,ΔY´)から現在の位置(X,Y)を算出し、DRAM29などに記憶させる。すなわち、式(3)により回転角dθを算出し、式(1)(2)により印刷媒体座標における位置(X,Y)を算出する。CPU31は、算出した各ナビゲーションセンサS0,S1の現在の位置をASIC/FPGA40に伝える。
S119:DMAC37は、位置算出回路32が算出した位置を元にIJ記録ヘッド(各ノズル)24の周辺の画像データをDRAM29などからリードする。また、回転器38は回転角θを用いて周辺画像を回転させる。
S120、S121:その後、IJ記録ヘッド制御部43は、各ノズル位置が目標吐出位置から許容誤差62の範囲内かどうかを判定することで、吐出条件を満たすか否かを判定する。
S122:各ノズル位置が、目標吐出位置から許容誤差62の範囲内に入ると吐出条件を満たすと判定して、IJ記録ヘッド制御部43はIJ記録ヘッド駆動回路23へ目標吐出位置で吐出すべき画素を吐出するための制御信号を出力する。
上記のステップS114-S122を繰り返すことで、ハンドヘルドプリンタ20は印刷媒体12上に画像を形成していく。
S123:CPU31は全データを吐出したか否かを判定する。全データを吐出したか否かは、送出していない画像データがなくなることで検出できる。
S124:全データを吐出すると、CPU31は例えば印字LED52を消灯してユーザに通知する。
U111:ユーザは、全データを吐出してなくても、十分と判断した際には、印字ボタン54を押下することで画像形成を完了してよい。
S123:CPU31は全データを吐出したか否かを判定する。全データを吐出したか否かは、送出していない画像データがなくなることで検出できる。
S124:全データを吐出すると、CPU31は例えば印字LED52を消灯してユーザに通知する。
U111:ユーザは、全データを吐出してなくても、十分と判断した際には、印字ボタン54を押下することで画像形成を完了してよい。
<<電源OFF時>>
U112:最後に、ユーザはハンドヘルドプリンタの電源ボタン53を押下する。CPU31は電源ボタン53によるキー割込みを受付け、電源22をOFFする。
U112:最後に、ユーザはハンドヘルドプリンタの電源ボタン53を押下する。CPU31は電源ボタン53によるキー割込みを受付け、電源22をOFFする。
<状態遷移>
図18は、プレスキャン状態を含む、ハンドヘルドプリンタ20の状態遷移図の一例である。
(1)「電源OFF」状態でユーザが電源ボタン53を押下することで「通常待機」状態に移行する。
(2)「通常待機」状態の「待機中」状態で、画像データ出力器11が画像データの転送を開始すると「データ転送中」状態に移行する。
(3)「通常待機」状態の「データ転送中」状態で、画像データの転送が完了すると「待機中」状態に移行する。一度「データ転送中」を経由することで次の「プレスキャン中」状態への遷移フラグが立つ。よって、「データ転送中」を経由せずに印字ボタン54をユーザが押下しても、遷移フラグが立っていないため「待機中」状態から状態遷移しない。
(4)データ転送完了後、「待機中」状態で、ユーザが(ハンドヘルドプリンタ20を初期位置に移動させ)印字ボタン54を押下すると「プレスキャン中」状態に移行する。
(5)「プレスキャン中」状態で、ユーザはプレスキャンを実行し、プレスキャンの折返し点まで到達したら印字ボタン54を押下することで「印字待機」状態に移行する。
(6)「印字待機」状態にてユーザが(画像形成開始の初期位置までフリーハンド走査で移動させ)印字ボタン54を押下すると「印字中」状態に移行する。
(7)「印字中」状態にてユーザが印字ボタン54を押下するか又は全ての画像データの吐出が完了した場合、「通常待機」状態に移行する。
(8)仮に「印字中」状態にて警告が発生した場合、「異常」状態の「警告」状態に移行する。
(9)「異常」状態の「警告」状態に移行するとCPU31がユーザにログ表示等の手段で警告を通知することで「印字中」状態に移行して画像形成を続行する。
(10)仮に「印字中」状態にてエラーが発生した場合、「異常」状態の「印字停止」状態に移行する。
(11)「異常」状態の「印字停止」状態では、ユーザが電源ボタン53を長押しすることで「電源OFF」状態に移行する。
(12)なお、「通常待機」状態、「プレスキャン中」状態、「印字待機」状態、及び、「印字中」状態からも、電源ボタン53を長押しすることで「電源OFF」状態に移行することができる。
図18は、プレスキャン状態を含む、ハンドヘルドプリンタ20の状態遷移図の一例である。
(1)「電源OFF」状態でユーザが電源ボタン53を押下することで「通常待機」状態に移行する。
(2)「通常待機」状態の「待機中」状態で、画像データ出力器11が画像データの転送を開始すると「データ転送中」状態に移行する。
(3)「通常待機」状態の「データ転送中」状態で、画像データの転送が完了すると「待機中」状態に移行する。一度「データ転送中」を経由することで次の「プレスキャン中」状態への遷移フラグが立つ。よって、「データ転送中」を経由せずに印字ボタン54をユーザが押下しても、遷移フラグが立っていないため「待機中」状態から状態遷移しない。
(4)データ転送完了後、「待機中」状態で、ユーザが(ハンドヘルドプリンタ20を初期位置に移動させ)印字ボタン54を押下すると「プレスキャン中」状態に移行する。
(5)「プレスキャン中」状態で、ユーザはプレスキャンを実行し、プレスキャンの折返し点まで到達したら印字ボタン54を押下することで「印字待機」状態に移行する。
(6)「印字待機」状態にてユーザが(画像形成開始の初期位置までフリーハンド走査で移動させ)印字ボタン54を押下すると「印字中」状態に移行する。
(7)「印字中」状態にてユーザが印字ボタン54を押下するか又は全ての画像データの吐出が完了した場合、「通常待機」状態に移行する。
(8)仮に「印字中」状態にて警告が発生した場合、「異常」状態の「警告」状態に移行する。
(9)「異常」状態の「警告」状態に移行するとCPU31がユーザにログ表示等の手段で警告を通知することで「印字中」状態に移行して画像形成を続行する。
(10)仮に「印字中」状態にてエラーが発生した場合、「異常」状態の「印字停止」状態に移行する。
(11)「異常」状態の「印字停止」状態では、ユーザが電源ボタン53を長押しすることで「電源OFF」状態に移行する。
(12)なお、「通常待機」状態、「プレスキャン中」状態、「印字待機」状態、及び、「印字中」状態からも、電源ボタン53を長押しすることで「電源OFF」状態に移行することができる。
以上説明したように、ハンドヘルドプリンタ20は初期位置の傾きPsφを用いて目標吐出位置を補正することで、初期位置のヘッドが傾いていても印刷媒体12に対して傾きの少ない画像が形成できる。
実施例1では傾きPsφを用いて目標吐出位置を補正することで傾きが抑制された画像の形成を可能とした。本実施例では、インクとして吐出される前の画像データの傾きを補正する(画像補正する)ことで傾きが抑制された画像の形成を可能とするハンドヘルドプリンタ20について説明する。
図19は、本実施例におけるハンドヘルドプリンタ20の傾き補正を説明する図の一例である。図19(a)ではこれまで説明したように、ハンドヘルドプリンタ20が初期位置において傾きPsφだけ傾いている。このため、実施例1のように傾きPsφを補正しないと形成される画像データも傾いてしまう。
これに対し、本実施例では図19(b)に示すように、画像形成される画像データを−Psφだけ回転させる。これにより、ハンドヘルドプリンタ20が初期位置で傾いていても、形成される画像が傾くことを抑制できる。
なお、本実施例のハンドヘルドプリンタ20の制御部25の構成は実施例1の図5、6と同様でよい。また、本明細書において、同一の符号を付した構成要素については、同様の機能を果たすので、一度説明した構成要素の説明を省略あるいは相違点についてのみ説明する場合がある。
本実施例の傾き算出/補正回路33の傾き演算部33aは実施例1と同様にプレスキャンにより傾きPsφを求める。これに対し、補正演算部33bはDRAM29に記憶された画像データの傾きを補正する。
図20を用いて説明する。図20は画像データの元の配置と傾きPsφの補正を説明する図の一例である。図20(a)はDRAM29に記憶された画像データの一例として「R」の文字を示す。画像データ出力器11から送信された画像データは、ハンドヘルドプリンタ20が受信して制御部25がDRAM29上にビットマップ形式で展開する。なお、送信時の画像データが圧縮されている場合、必要に応じて制御部25が伸長する。
この画像データにプレスキャンにより得られた傾きPsφを適用することで、補正演算部33bは画像データを傾かせる。
原点(0,0)を中心に、任意の点(x,y)を傾きPsφだけ回転させた場合に点(x´,y´)に移動されるものとする。点(x',y')は下記計算により求めることができる(回転のアフィン変換)。
x´=x×cos(-Psφ)−y×sin(-Psφ) …(9)
y´=x×sin(-Psφ)+y×cos(-Psφ) …(10)
図20(b)は傾きPsφだけ回転された「R」の文字を示す。図20(b)に示すように、各画素を回転させることで画像データが傾いて形成されることを抑制できる。なお、図20(b)ではRという文字の一部だけが回転しているように見えるが、これは解像度と原点からの各画素の距離によるものである。
x´=x×cos(-Psφ)−y×sin(-Psφ) …(9)
y´=x×sin(-Psφ)+y×cos(-Psφ) …(10)
図20(b)は傾きPsφだけ回転された「R」の文字を示す。図20(b)に示すように、各画素を回転させることで画像データが傾いて形成されることを抑制できる。なお、図20(b)ではRという文字の一部だけが回転しているように見えるが、これは解像度と原点からの各画素の距離によるものである。
このように、各画素を傾きPsφに応じて回転させることで、ハンドヘルドプリンタ20が初期位置で傾いた状態で画像形成を開始しても形成される画像データが傾くことを抑制できる。
なお、本実施例で画像データの傾きを補正するのは、補正演算部33bであると説明したが、回転器38がImage RAM36の画像データを回転させてもよい。また、DMAC37が補正してもよい。また、画像データ出力器11が画像データを回転させてもよい。
<動作手順>
図21、22は、本実施例のハンドヘルドプリンタ20の動作手順を示すフローチャート図の一例である。図21,22では図16、17と異なる処理について主に説明する。
S110-2:ステップS109でユーザが印字ボタン54を押下すると、補正演算部33bは画像データの傾きを補正する。すなわち、目標吐出位置を補正しない。なお、画像データの傾きを補正するタイミングは画像形成の開始までの間であればよい。
図21、22は、本実施例のハンドヘルドプリンタ20の動作手順を示すフローチャート図の一例である。図21,22では図16、17と異なる処理について主に説明する。
S110-2:ステップS109でユーザが印字ボタン54を押下すると、補正演算部33bは画像データの傾きを補正する。すなわち、目標吐出位置を補正しない。なお、画像データの傾きを補正するタイミングは画像形成の開始までの間であればよい。
次のS111とS112の処理は、実施例1と同様であるが、本実施例では初期位置を補正するステップS113が実行される場合がない。以降の処理は実施例1と同様である。
以上説明したように、本実施例のハンドヘルドプリンタ20は、初期位置の傾きPsφを用いて画像データを補正することで、初期位置のヘッドが傾いていても印刷媒体12に対して傾きの少ない画像が形成できる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、上記したSoC50、ASIC/FPGA40の構成要素は、CPU性能やASIC/FPGA40の回路規模等により、どちらに含まれていてもよい。
また、本実施形態では、三方向(例えばX/Y/R軸、R:回転)の位置をそれぞれ検知し、平面上を自由に走査可能(フリーハンド走査)なハンドヘルドプリンタ20を例にして説明した。しかし、一方向(例えばX軸方向)の位置を検知し、一方向にのみ走査させて画像形成するハンドヘルドプリンタ20に対しても傾きPsφを検出できれば本実施形態の補正方法を適用できる。また、二方向(例えばX/Y軸方向) の位置をそれぞれ検知し、二方向にのみ走査させて画像形成するハンドヘルドプリンタ20に対しても傾きPsφを検出できれば本実施形態の補正方法を適用できる。
また、本実施形態ではインクを吐出して画像を形成すると説明したが、可視光、紫外線、赤外線、レーザなどを照射して画像を形成してもよい。この場合、印刷媒体12として例えば熱や光に反応するものが用いられる。また、透明な液体を吐出してもよい。この場合、特定の波長域の光が照射されると可視情報が得られる。
また、本実施形態では、ユーザはフリーハンドでプレスキャンすると説明したが、定規などの直線状のものに沿わせてプレスキャンしてもよい。
また、本実施形態では、ユーザがプレスキャンしたり、画像形成の際にフリーハンドで走査させると説明したが、ハンドヘルドプリンタがモータなどを動力にして印刷媒体上を自走してもよい。この場合、プレスキャンの際、水平方向に精度よく移動できる可能性があるため、画像の傾きをより精度よく補正できる。
11 画像データ出力器
12 印刷媒体
20 ハンドヘルドプリンタ
23 IJ記録ヘッド駆動回路
24 IJ記録ヘッド
25 制御部
29 DRAM
30 ナビゲーションセンサ
32 位置算出回路
33 傾き算出/補正回路
33a 傾き演算部
33b 補正演算部
12 印刷媒体
20 ハンドヘルドプリンタ
23 IJ記録ヘッド駆動回路
24 IJ記録ヘッド
25 制御部
29 DRAM
30 ナビゲーションセンサ
32 位置算出回路
33 傾き算出/補正回路
33a 傾き演算部
33b 補正演算部
Claims (13)
- 印刷媒体に画像を形成する画像形成装置であって、
第一位置を起点として前記画像形成装置の位置が移動した際、前記印刷媒体の面に平行な第一方向と第二方向の前記画像形成装置の移動量を検出する移動量取得手段と、
前記第一方向の移動量と前記第二方向の移動量を用いて、前記第一位置における前記画像形成装置の傾度情報を取得する傾度情報取得手段と、
画像形成の開始位置で前記印刷媒体に対し傾きを有している前記画像形成装置が画像を形成した場合に生じ得る前記画像の傾きを、前記傾度情報を用いて抑制する傾き抑制手段と、
前記傾き抑制手段により傾きが抑制された前記画像を前記印刷媒体に形成する画像形成手段と、を有する画像形成装置。 - 前記移動量取得手段が取得する前記移動量に基づき前記画像形成装置の現在位置を検出する現在位置検出手段を有し、
前記傾き抑制手段は、画素の形成先として前記画像形成手段が目標とする目標位置を前記傾度情報に応じて補正し、
前記画像形成手段は、前記現在位置が補正後の前記目標位置から所定範囲内に入ると前記画素を形成する請求項1に記載の画像形成装置。 - 前記印刷媒体に形成される前記画像を記憶する画像記憶手段を有し、
前記傾き抑制手段は、前記画像記憶手段に記憶された前記画像を前記傾度情報とは逆方向に前記傾度情報だけ傾かせる画像補正を行い、
前記画像形成手段は、前記傾き抑制手段により画像補正された前記画像を前記印刷媒体に形成する請求項1に記載の画像形成装置。 - 前記移動量取得手段が取得する前記移動量に基づき前記画像形成装置の現在位置を検出する現在位置検出手段を有し、
前記傾き抑制手段は、前記傾度情報に基づき補正後の前記開始位置を求め、
前記画像形成手段は、補正後の前記開始位置を基準にして画素の形成先として前記画像形成手段が目標とする目標位置を設定し、前記現在位置が前記目標位置から所定範囲内に入ると前記画素を形成する請求項1に記載の画像形成装置。 - 前記傾き抑制手段は、前記画像記憶手段に記憶された前記画像を、前記開始位置に対応する前記画像の原点を中心に前記傾度情報とは逆方向に前記傾度情報だけ回転させることで画像補正を行う請求項3に記載の画像形成装置。
- 前記傾度情報は、画像形成の開始前に前記画像形成装置の位置が移動することで得られた直線に対する前記画像形成装置の傾きである請求項1〜5いずれか1項に記載の画像形成装置。
- 前記直線は、前記第一位置と前記第一位置から水平方向に離れた第二位置とを結ぶことで得られる請求項6に記載の画像形成装置。
- 操作を受け付ける操作受付手段を有し、
前記傾き抑制手段は、前記操作受付手段が予め定められた操作を受け付けた位置を前記第一位置と前記第二位置にそれぞれ決定する請求項7に記載の画像形成装置。 - 前記傾き抑制手段は、前記第一位置から水平方向に最も離れた位置を前記第二位置に決定する請求項7に記載の画像形成装置。
- 前記傾度情報取得手段は、前記第一方向の移動量と前記第二方向の移動量を検出可能なセンサである請求項1〜9いずれか1項に記載の画像形成装置。
- 前記第二方向の移動量は、インクを出力する複数のノズルの配列方向に平行な移動量であり、前記第一方向の移動量は、前記配列方向に垂直な方向の移動量であり、
前記傾度情報取得手段は、前記第一方向の移動量と前記第二方向の移動量の比を用いて前記傾度情報を取得する請求項10に記載の画像形成装置。 - 印刷媒体に画像を形成する画像形成装置によって行われる画像形成方法であって、
第一位置を起点として前記画像形成装置の位置が移動した際、前記印刷媒体の面に平行な第一方向と第二方向の前記画像形成装置の移動量を検出する移動量取得ステップと、
前記第一方向の移動量と前記第二方向の移動量を用いて、前記第一位置における前記画像形成装置の傾度情報を取得する傾度情報取得ステップと、
画像形成の開始位置で前記印刷媒体に対し傾きを有している前記画像形成装置が画像を形成した場合に生じ得る前記画像の傾きを、前記傾度情報を用いて抑制する傾き抑制ステップと、
前記傾き抑制ステップにより傾きが抑制された前記画像を前記印刷媒体に形成する画像形成ステップと、を有する画像形成方法。 - 印刷媒体に画像を形成する画像形成装置を、
第一位置を起点として前記画像形成装置の位置が移動した際、前記印刷媒体の面に平行な第一方向と第二方向の前記画像形成装置の移動量を検出する移動量取得手段と、
前記第一方向の移動量と前記第二方向の移動量を用いて、前記第一位置における前記画像形成装置の傾度情報を取得する傾度情報取得手段と、
画像形成の開始位置で前記印刷媒体に対し傾きを有している前記画像形成装置が画像を形成した場合に生じ得る前記画像の傾きを、前記傾度情報を用いて抑制する傾き抑制手段と、
前記傾き抑制手段により傾きが抑制された前記画像を前記印刷媒体に形成する画像形成手段と、として機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015102108A JP2016215472A (ja) | 2015-05-19 | 2015-05-19 | 画像形成装置、画像形成方法、プログラム |
US15/153,898 US9944089B2 (en) | 2015-05-19 | 2016-05-13 | Image forming apparatus and image forming method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015102108A JP2016215472A (ja) | 2015-05-19 | 2015-05-19 | 画像形成装置、画像形成方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016215472A true JP2016215472A (ja) | 2016-12-22 |
Family
ID=57325107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015102108A Pending JP2016215472A (ja) | 2015-05-19 | 2015-05-19 | 画像形成装置、画像形成方法、プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9944089B2 (ja) |
JP (1) | JP2016215472A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018144337A (ja) * | 2017-03-03 | 2018-09-20 | 株式会社リコー | 液滴吐出装置、液滴吐出方法、プログラム |
JP2019098697A (ja) * | 2017-12-07 | 2019-06-24 | カシオ計算機株式会社 | 印刷装置、印刷装置の印刷方法及びプログラム |
JP2020142381A (ja) * | 2019-03-04 | 2020-09-10 | 株式会社リコー | 印刷装置、印刷システム、方法およびプログラム |
JP2020168871A (ja) * | 2017-09-22 | 2020-10-15 | カシオ計算機株式会社 | 印刷装置、印刷方法及びプログラム |
US10880443B2 (en) | 2018-02-02 | 2020-12-29 | Ricoh Company, Ltd. | Communication terminal displays a position of hand-held image forming apparatus representing a line-feed distance with respect to recording medium |
JP2021074955A (ja) * | 2019-11-08 | 2021-05-20 | 株式会社リコー | 画像形成装置、及びプログラム |
US11046091B2 (en) | 2018-09-07 | 2021-06-29 | Ricoh Company, Ltd. | Data generation system, communication terminal, image forming apparatus, data generation method, and non-transitory, computer-readable storage medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7087847B2 (ja) * | 2018-09-03 | 2022-06-21 | 株式会社リコー | 電子機器、通知方法およびプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8240801B2 (en) | 2007-02-23 | 2012-08-14 | Marvell World Trade Ltd. | Determining positioning of a handheld image translation device |
JP2009208291A (ja) | 2008-03-03 | 2009-09-17 | Sharp Corp | ハンディプリンタ |
US8622539B2 (en) * | 2009-11-10 | 2014-01-07 | Ricoh Co., Ltd. | Two-dimensional absolute position sensor and projection control for a handheld printer |
JP2013195691A (ja) | 2012-03-19 | 2013-09-30 | Ricoh Co Ltd | 画像形成装置および画像形成装置の制御方法 |
JP6409435B2 (ja) | 2014-09-18 | 2018-10-24 | 株式会社リコー | 印刷装置、印刷システムおよび印刷方法 |
-
2015
- 2015-05-19 JP JP2015102108A patent/JP2016215472A/ja active Pending
-
2016
- 2016-05-13 US US15/153,898 patent/US9944089B2/en active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018144337A (ja) * | 2017-03-03 | 2018-09-20 | 株式会社リコー | 液滴吐出装置、液滴吐出方法、プログラム |
JP2020168871A (ja) * | 2017-09-22 | 2020-10-15 | カシオ計算機株式会社 | 印刷装置、印刷方法及びプログラム |
JP2019098697A (ja) * | 2017-12-07 | 2019-06-24 | カシオ計算機株式会社 | 印刷装置、印刷装置の印刷方法及びプログラム |
JP7047359B2 (ja) | 2017-12-07 | 2022-04-05 | カシオ計算機株式会社 | 印刷装置、印刷装置の印刷方法及びプログラム |
US10880443B2 (en) | 2018-02-02 | 2020-12-29 | Ricoh Company, Ltd. | Communication terminal displays a position of hand-held image forming apparatus representing a line-feed distance with respect to recording medium |
US11046091B2 (en) | 2018-09-07 | 2021-06-29 | Ricoh Company, Ltd. | Data generation system, communication terminal, image forming apparatus, data generation method, and non-transitory, computer-readable storage medium |
JP2020142381A (ja) * | 2019-03-04 | 2020-09-10 | 株式会社リコー | 印刷装置、印刷システム、方法およびプログラム |
US10987920B2 (en) | 2019-03-04 | 2021-04-27 | Ricoh Company, Ltd. | Printing apparatus, printing system, and printing method |
JP7243299B2 (ja) | 2019-03-04 | 2023-03-22 | 株式会社リコー | 印刷システムおよび方法 |
JP2021074955A (ja) * | 2019-11-08 | 2021-05-20 | 株式会社リコー | 画像形成装置、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20160339720A1 (en) | 2016-11-24 |
US9944089B2 (en) | 2018-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016215472A (ja) | 画像形成装置、画像形成方法、プログラム | |
JP6953815B2 (ja) | プログラム、情報処理装置、表示方法、液滴吐出装置、液滴吐出システム | |
JP6897167B2 (ja) | 液滴吐出装置、液滴吐出方法、プログラム | |
US9440452B2 (en) | Printer, printing system, and method of printing | |
JP6926535B2 (ja) | 液滴吐出装置、液滴吐出方法、プログラム | |
US11150853B2 (en) | Apparatus and method for switching connection destination between external devices | |
JP2020040382A (ja) | 画像形成装置、制御方法及び制御プログラム | |
JP2017170634A (ja) | 位置検出装置、液滴吐出装置、プログラム | |
US9597896B2 (en) | Handheld recording device, recording device position detection method, and recording medium | |
JP2017170879A (ja) | 位置検出装置、液滴吐出装置、プログラム | |
JP7206997B2 (ja) | 画像形成装置、状態制御方法、プログラム | |
US11006016B2 (en) | Image forming apparatus, image forming method, and storage medium | |
US10596813B2 (en) | Liquid discharge apparatus and liquid discharge method | |
JP6844145B2 (ja) | 位置検出装置、液滴吐出装置、プログラム、位置検出方法 | |
CN110877487B (zh) | 图像形成装置、图像形成方法、信息处理装置及存储介质 | |
JP7298344B2 (ja) | 画像形成装置、情報処理装置、画像形成方法、プログラム | |
JP6582873B2 (ja) | 画像形成装置、プログラム及び方法 | |
JP2019010778A (ja) | 印刷装置及び印刷方法 | |
JP7218598B2 (ja) | 画像記録装置、画像記録方法およびプログラム | |
JP2021074955A (ja) | 画像形成装置、及びプログラム | |
JP2022056896A (ja) | ハンドヘルドプリンタ及び印刷ガイド出力プログラム | |
JP2023013817A (ja) | 画像形成システム及びプログラム | |
JP2020040380A (ja) | 画像記録装置、画像記録方法およびプログラム | |
JP2022007004A (ja) | 画像形成装置、画像形成システムおよびプログラム | |
JP2022073514A (ja) | 画像データ出力器、印刷システム、及び画像データ出力プログラム |