(57)【要約】【課題】  印刷媒体への液滴の着弾位置の精度を維持できる印刷装置および印刷方法を提供する。【解決手段】  この装置は、印刷装置の移動情報を取得する移動情報取得手段と、移動情報取得手段により取得された移動情報に基づき、液滴を吐出する各ノズルの初期位置に対する相対位置を算出するノズル位置算出手段と、移動情報取得手段により取得された移動情報に基づき、ノズル位置算出手段により算出された各ノズルの位置と、画像を印刷媒体上に印刷した場合の該画像を構成する各画像要素の位置との許容誤差を算出する許容誤差算出手段と、ノズル位置算出手段により算出された各ノズルの位置と、許容誤差算出手段により算出された許容誤差とに基づき、各ノズルにつき液滴を吐出させるか否かを判断する判断手段とを含む。【選択図】  図５
2016068552.tif 000002
【特許請求の範囲】
【請求項１】
印刷媒体上を移動させることにより印刷を行う印刷装置であって、
前記印刷媒体を読み取り、読み取った該印刷媒体の画像から前記印刷装置の移動量を算出する２以上のセンサと、
前記２以上のセンサにより算出された２以上の前記移動量を用いて、指定された初期位置に対する前記印刷媒体上の各前記センサの位置を算出するセンサ位置算出手段と、
前記センサ位置算出手段により算出された２以上の前記センサの位置に基づき、前記初期位置に対する前記印刷媒体上の、印刷を行うために液滴を吐出する各ノズルの位置を算出するノズル位置算出手段と、
前記２以上のセンサにより算出された２以上の前記移動量を用いて、前記印刷装置の移動により変動する変動要素の値を算出する変動要素算出手段と、
前記変動要素算出手段により算出された前記変動要素の値に基づき、前記ノズル位置算出手段により算出された各前記ノズルの位置と、画像を前記印刷媒体上に印刷した場合の該画像を構成する各画像要素の位置との許容誤差を算出する許容誤差算出手段と、
前記ノズル位置算出手段により算出された各前記ノズルの位置と、前記許容誤差算出手段により算出された前記許容誤差とに基づき、各前記ノズルにつき前記液滴を吐出させるか否かを判断する判断手段と、
前記判断手段の判断結果に応じて、複数の前記ノズルを備える吐出手段へ、１以上の前記画像要素のデータと、前記液滴を吐出させるべき１以上のノズルの情報とを送信する送信手段とを含む、印刷装置。
【請求項２】
前記変動要素は、前記印刷装置の移動速度であり、前記変動要素算出手段は、一定時間に前記印刷装置が移動した移動量から前記移動速度を算出する、請求項１に記載の印刷装置。
【請求項３】
前記変動要素は、前記印刷装置の移動方向であり、
前記センサ位置算出手段は、前記初期位置を基準として指定された縦横二方向の並行移動成分と回転方向の回転移動成分とに分け、該回転移動成分として回転角度を算出し、算出した前記回転角度を用いて該並行移動成分として該縦横二方向への移動量を算出することにより、前記初期位置に対する前記センサの位置を算出し、
前記変動要素算出手段は、前記センサ位置算出手段により算出された前記縦横二方向への移動量から前記移動方向を算出する、請求項１または２に記載の印刷装置。
【請求項４】
前記変動要素は、前記初期位置を基準として指定された縦方向に対する前記印刷装置の傾きであり、
前記センサ位置算出手段は、前記初期位置を基準として指定された縦横二方向の並行移動成分と回転方向の回転移動成分とに分け、該回転移動成分として回転角度を算出し、算出した前記回転角度を用いて該並行移動成分として該縦横二方向への移動量を算出することにより、前記初期位置に対する前記センサの位置を算出し、
前記変動要素算出手段は、前記センサ位置算出手段により算出された前記回転方向から前記傾きを算出する、請求項１〜３のいずれか１項に記載の印刷装置。
【請求項５】
前記許容誤差算出手段は、前記変動要素の値と前記許容誤差とを対応付けた調整テーブルまたは計算式を用いて、前記許容誤差を算出する、請求項１〜４のいずれか１項に記載の印刷装置。
【請求項６】
前記許容誤差算出手段は、前記許容誤差を前記ノズル毎に算出する、請求項１〜５のいずれか１項に記載の印刷装置。
【請求項７】
前記許容誤差算出手段は、一列に並ぶ複数の前記ノズルの両端のノズルにつき、前記許容誤差を算出し、前記両端のノズル以外の各ノズルについて、算出した前記許容誤差を線形補間することにより算出する、請求項１〜６のいずれか１項に記載の印刷装置。
【請求項８】
前記許容誤差算出手段は、複数の前記変動要素につき、直列または並列に複数の前記許容誤差を算出し、
前記判断手段は、算出された各前記許容誤差に基づき、または算出された全前記許容誤差に基づき、各前記ノズルにつき前記液滴を吐出させるか否かを判断する、請求項１〜７のいずれか１項に記載の印刷装置。
【請求項９】
前記ノズル位置算出手段は、前記指示手段により指示される次のタイミングでの各前記ノズルの予想位置も算出し、
前記判断手段は、前記ノズル位置算出手段により算出された前記ノズルの位置と前記ノズルの予想位置とを、前記画像要素の位置と比較し、前記ノズルの予想位置のほうが近い場合、前記ノズルについては判断を行わず、前記次のタイミングの際に判断を行う、請求項１〜８のいずれか１項に記載の印刷装置。
【請求項１０】
印刷媒体上を移動させる印刷装置により印刷を行う印刷方法であって、
前記印刷媒体を２以上のセンサにより読み取り、読み取った該印刷媒体の画像から前記印刷装置の移動量を算出するステップと、
算出された２以上の前記移動量を用いて、指定された初期位置に対する前記印刷媒体上の各前記センサの位置を算出するステップと、
算出された２以上の前記センサの位置に基づき、前記初期位置に対する前記印刷媒体上の、印刷を行うために液滴を吐出する各ノズルの位置を算出するステップと、
算出された２以上の前記移動量を用いて、前記印刷装置の移動により変動する変動要素の値を算出するステップと、
算出された前記変動要素の値に基づき、算出された各前記ノズルの位置と、画像を前記印刷媒体上に印刷した場合の該画像を構成する各画像要素の位置との許容誤差を算出するステップと、
算出された各前記ノズルの位置と、算出された前記許容誤差とに基づき、各前記ノズルにつき前記液滴を吐出させるか否かを判断するステップと、
前記判断するステップでの判断結果に応じて、複数の前記ノズルを備える吐出手段へ、１以上の前記画像要素のデータと、前記液滴を吐出させるべき１以上のノズルの情報とを送信するステップとを含む、印刷方法。
【請求項１１】
印刷媒体上を移動させることにより印刷を行う印刷装置であって、
前記印刷装置の移動情報を取得する移動情報取得手段と、
前記移動情報取得手段により取得された前記移動情報に基づき、液滴を吐出する各ノズルの初期位置に対する相対位置を算出するノズル位置算出手段と、
前記移動情報取得手段により取得された前記移動情報に基づき、前記ノズル位置算出手段により算出された各前記ノズルの位置と、画像を前記印刷媒体上に印刷した場合の該画像を構成する各画像要素の位置との許容誤差を算出する許容誤差算出手段と、
前記ノズル位置算出手段により算出された各前記ノズルの位置と、前記許容誤差算出手段により算出された前記許容誤差とに基づき、各前記ノズルにつき前記液滴を吐出させるか否かを判断する判断手段とを含む、印刷装置。
【請求項１２】
前記許容誤差算出手段は、各前記画像要素につき、該画素要素を含む対角線が直交する矩形領域または楕円領域を前記許容誤差の範囲として算出し、
前記判断手段は、各前記ノズルの位置が前記許容誤差算出手段により算出された前記許容誤差の範囲内であるか否かにより、各前記ノズルにつき前記液滴を吐出させるか否かを判断する、請求項１１に記載の印刷装置。
【請求項１３】
前記許容誤差算出手段は、前記許容誤差の範囲を画定するための４点の座標を算出し、前記判断手段は、前記許容誤差算出手段により算出された前記４点の座標を用いて前記許容誤差の範囲内であるか否かを判断する、請求項１２に記載の印刷装置。
【請求項１４】
印刷媒体上を移動させる印刷装置により印刷を行う印刷方法であって、
前記印刷装置の移動情報を取得するステップと、
取得された前記移動情報に基づき、液滴を吐出する各ノズルの初期位置に対する相対位置を算出するステップと、
取得された前記移動情報に基づき、算出された各前記ノズルの位置と、画像を前記印刷媒体上に印刷した場合の該画像を構成する各画像要素の位置との許容誤差を算出するステップと、
算出された各前記ノズルの位置と、算出された前記許容誤差とに基づき、各前記ノズルにつき前記液滴を吐出させるか否かを判断するステップとを含む、印刷方法。
【請求項１５】
前記許容誤差を算出するステップでは、各前記画像要素につき、該画素要素を含む対角線が直交する矩形領域または楕円領域を前記許容誤差の範囲として算出し、
前記判断するステップでは、各前記ノズルの位置が算出された前記許容誤差の範囲内であるか否かにより、各前記ノズルにつき前記液滴を吐出させるか否かを判断する、請求項１４に記載の印刷方法。
【請求項１６】
前記許容誤差を算出するステップは、前記許容誤差の範囲を画定するための４点の座標を算出するステップを含み、
前記判断するステップは、算出された前記４点の座標を用いて前記許容誤差の範囲内であるか否かを判断するステップを含む、請求項１５に記載の印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷媒体上を移動させることにより印刷を行う印刷装置および印刷方法に関する。
【背景技術】
【０００２】
ノートＰＣの小型化やスマートフォン等のスマートデバイスの急激な普及により、プリンタも容易に持ち運び可能な小型化が大きな要望の１つとして挙げられている。このような要望に鑑み、紙搬送システムを削除し、人の手で紙面等の平面上を自由に走査（フリーハンド走査）しながらインクを塗布するハンドヘルドプリンタが提案されている（例えば、特許文献１、２参照）。
【０００３】
フリーハンド走査しながら印字を行う場合、目標のインク吐出位置と、そのインクを吐出するノズルの現在位置とが完全一致しなければならないが、現実には完全一致することは少ない。このため、上記特許文献２のように、許容誤差を設け、その許容誤差内であれば吐出するという制御を行う必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、フリーハンド走査により動的に変化する記録ヘッドの傾き、走査方向、走査速度に対応することができず、インクの着弾位置の精度が低くなってしまうという問題があった。
【０００５】
そこで、フリーハンド走査して印字を行う場合にインク等の液滴の印刷媒体への着弾位置の精度が低くならないようにその精度を維持することができる印刷装置や印刷方法の提供が望まれている。
【課題を解決するための手段】
【０００６】
本発明は、上記課題に鑑み、印刷媒体上を移動させることにより印刷を行う印刷装置であって、印刷装置の移動情報を取得する移動情報取得手段と、移動情報取得手段により取得された移動情報に基づき、液滴を吐出する各ノズルの初期位置に対する相対位置を算出するノズル位置算出手段と、移動情報取得手段により取得された移動情報に基づき、ノズル位置算出手段により算出された各ノズルの位置と、画像を印刷媒体上に印刷した場合の該画像を構成する各画像要素の位置との許容誤差を算出する許容誤差算出手段と、ノズル位置算出手段により算出された各ノズルの位置と、許容誤差算出手段により算出された許容誤差とに基づき、各ノズルにつき液滴を吐出させるか否かを判断する判断手段とを含む、印刷装置が提供される。
【発明の効果】
【０００７】
本発明によれば、フリーハンド走査して印字を行う場合に印刷媒体への液滴の着弾位置の精度を維持することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態の印刷装置としてのハンドヘルドプリンタを含む印刷システムの構成例を示した図。
【図２】ハンドヘルドプリンタのハードウェア構成を示した図。
【図３】ナビゲーションセンサの詳細な構成を示した図。
【図４】ナビゲーションセンサの機能について説明する図。
【図５】制御部の詳細な構成を示した図。
【図６】記録ヘッドおよび記録ヘッド駆動回路の詳細な構成を示した図。
【図７】印刷システムにより実行される処理の流れを示したフローチャート。
【図８】ハンドヘルドプリンタにおいて実行される詳細な処理の流れを示したフローチャート。
【図９】ナビゲーションセンサと記録ヘッドのノズルの位置関係を示した図。
【図１０】ナビゲーションセンサの位置を算出する方法を説明する図。
【図１１】各ノズルの位置を算出する方法を説明する図。
【図１２】目標吐出位置とノズルの位置との間に一定の許容誤差範囲を設け、その範囲内にノズルが位置する場合にインクの吐出を許可するノズル吐出可否判定を説明する図。
【図１３】走査速度に応じて許容誤差を調整し、調整後の許容誤差範囲内にノズルが位置する場合にインクの吐出を許可するノズル吐出可否判定を説明する図。
【図１４】走査速度と許容誤差との関係を示した図。
【図１５】走査速度と許容誤差とを対応付けた表。
【図１６】ノズル吐出可否判定を行う回路構成を示した図。
【図１７】ノズル吐出可否判定において走査速度について説明する図。
【図１８】走査方向に応じて許容誤差を調整し、調整後の許容誤差範囲内にノズルが位置する場合にインクの吐出を許可するノズル吐出可否判定を説明する図。
【図１９】走査角度と許容誤差とを対応付けた表。
【図２０】記録ヘッドの傾きに応じて許容誤差を調整し、調整後の許容誤差範囲内にノズルが位置する場合にインクの吐出を許可するノズル吐出可否判定を説明する図。
【図２１】記録ヘッドの傾きと許容誤差とを対応付けた表。
【図２２】ノズル吐出可否判定の１つの流れを示したフローチャート。
【図２３】ノズル吐出可否判定の別の流れを示したフローチャート。
【図２４】現在のノズル位置ではなく、次の吐出タイミングにおけるノズル位置で行うノズル吐出可否判定を説明する図。
【図２５】第１の形状の許容誤差範囲を用いて行う吐出可否判定について説明する図。
【図２６】制御部の別の構成を示した図。
【図２７】第２の形状の許容誤差範囲を用いて行う吐出可否判定について説明する図。
【図２８】４点の座標の算出方法を説明する図。
【図２９】走査速度と許容誤差とを対応付けた表。
【図３０】走査方向に応じて４点の座標を回転し、調整した許容誤差範囲を用いて行う吐出可否判定について説明する図。
【図３１】吐出可否判定のさらに別の流れを示したフローチャート。
【図３２】第３の形状の許容誤差範囲を用いて行う吐出可否判定について説明する図。
【図３３】現在のノズル位置ではなく、次の吐出タイミングにおけるノズル位置で行う吐出可否判定について説明する図。
【発明を実施するための形態】
【０００９】
図１は、本実施形態の印刷装置としてのハンドヘルドプリンタを含む印刷システムの構成例を示した図である。ハンドヘルドプリンタ１０は、人が片手で持ち運びできる大きさ、重量とされ、ノートや定型用紙等の印刷媒体１２上を自由に走査して、その印刷媒体１２上に画像を形成することができるプリンタである。
【００１０】
ハンドヘルドプリンタ１０は、インク等の液滴をノズルから吐出して印刷媒体１２上に画像を形成するインクジェット方式のプリンタとすることができる。なお、ハンドヘルドプリンタ１０は、これに限られるものではなく、細いピンをインクリボンに叩き付けて印刷するドットインパクト方式等を採用することもできる。また、ハンドヘルドプリンタ１０は、モノクロプリンタであってもよいし、カラープリンタであってもよい。
【００１１】
ハンドヘルドプリンタ１０は、印刷する対象の画像データを受信し、受信した画像データに基づき、印刷媒体１２上にインク等を吐出して画像を形成する。画像データは、文字のみからなるテキストデータであってもよいし、図、絵、写真等を含む文書データ、表データ等であってもよい。ハンドヘルドプリンタ１０は、画像データとともに、印刷設定情報を受信し、印刷設定情報に基づき画像を形成することができる。印刷設定情報としては、モノクロ／カラーの指定等を挙げることができる。
【００１２】
ハンドヘルドプリンタ１０は、赤外線通信、Bluetooth（登録商標）、Wi-Fi等の無線通信により、画像データを保持する機器としてのスマートデバイス１１から画像データを受信する。ハンドヘルドプリンタ１０は、スマートデバイス１１からの画像データを、直接受信してもよいし、アクセスポイント等を介して受信してもよい。ハンドヘルドプリンタ１０は、無線通信に限られるものではなく、ケーブル等で接続し、有線通信により画像データを受信してもよい。
【００１３】
スマートデバイス１１は、例えば、スマートフォン、タブレット端末、ノートPC等の電子機器とされ、ハンドヘルドプリンタ１０と無線通信を行い、自身が保持する画像データをハンドヘルドプリンタ１０へ送信する。また、スマートデバイス１１は、サーバ等の他の機器から受信して取得した画像データを、ハンドヘルドプリンタ１０へ送信することもできる。
【００１４】
スマートデバイス１１は、画像データ、その画像データを表示するアプリケーション、OS等を記憶する記憶装置、アプリケーションを実行するCPU、画像を表示する表示装置、その画像の印刷指示を入力する入力装置を備える。なお、表示装置、入力装置は、別個の装置として構成されたものに限らず、これらの機能を備えるタッチパネルとされていてもよい。
【００１５】
ユーザは、スマートデバイス１１の電源を入れ、アプリケーションを起動させ、画像データを表示させる。ユーザは、その画像データを印刷したい場合、例えば、タッチパネルに表示された印刷開始ボタンをタップすることにより印刷を指示することができる。この印刷指示を受けて、スマートデバイス１１は、その画像データを、無線通信によりハンドヘルドプリンタ１０へ送信する。
【００１６】
ハンドヘルドプリンタ１０は、スマートデバイス１１から印刷対象の画像データを受信する。ユーザは、ハンドヘルドプリンタ１０を持ち、印刷媒体１２上を自由に走査する。この間、ハンドヘルドプリンタ１０は、各ノズルの位置を算出する。実際には、ハンドヘルドプリンタ１０は、各ノズルの位置を、最初に決められた初期位置を基準とした座標位置（相対位置）として算出する。そして、ハンドヘルドプリンタ１０は、算出した座標位置が、受信した画像データを構成する画像要素のデータ（印字データ）の座標位置の許容誤差範囲内である場合に、その印字データを、記録ヘッドを制御する制御部に送る。複数のノズルを有する記録ヘッドは、制御部による制御を受けて、その座標位置にあるノズルからインクを吐出させ、印字を行う。ハンドヘルドプリンタ１０は、これを繰り返して印刷媒体１２上に画像を形成する。
【００１７】
ハンドヘルドプリンタ１０は、図１に示すように、箱状のものとされ、インクを吐出するための複数のノズルを有する。ハンドヘルドプリンタ１０は、複数のノズルを有する面を、平面状の印刷媒体１２に押し当てるようにして使用される。複数のノズルは、押し当てた際に、その先端が印刷媒体１２から離間するように配置されている。なお、ノズル先端から印刷媒体１２までの距離は、ノズルからインクを吐出して適切に印字することができる距離として予め決定されている。ユーザは、印刷媒体１２にハンドヘルドプリンタ１０の複数のノズルを有する面を押し当て、印刷媒体１２上を左から右へ、一段下げて、右から左へ、というように移動させることにより印刷媒体１２に印刷を行う。
【００１８】
図２は、ハンドヘルドプリンタ１０のハードウェア構成を示した図である。なお、スマートデバイス１１については、通常のPCやスマートフォン等の構成と同様であり、上記で簡単に説明したので、その説明については省略する。ハンドヘルドプリンタ１０は、電池やバッテリ等の電源２０、後述する制御部２６や記録ヘッド駆動回路２９等で使用する電源に変換する電源回路２１を備える。電源回路２１は、電源２０がバッテリである場合、そのバッテリの充電回路やAC電源との切り替え等を行う。また、ハンドヘルドプリンタ１０は、スマートデバイス１１から送信された画像データを受け付ける通信I/F２２を備える。
【００１９】
ハンドヘルドプリンタ１０は、さらに、ROM２３、DRAM２４、２以上のナビゲーションセンサ２５、制御部２６、操作ユニット(OPU)２７、記録ヘッド２８、記録ヘッド駆動回路２９を備える。ROM２３は、ハンドヘルドプリンタ１０のハードウェア制御を行うファームウェア、記録ヘッドを駆動させるための駆動波形データ、機器の初期設定データ等を格納する。DRAM２４は、通信I/F２２が受け付けた画像データの一時的な格納、ファームウェア動作時のワークメモリ、ROM２３から展開されたファームウェアの格納等に使用される。
【００２０】
２以上のナビゲーションセンサ２５は、ハンドヘルドプリンタ１０の位置情報、記録ヘッドの位置情報を算出するために使用される。２以上のナビゲーションセンサ２５は、その位置情報の算出のために、センサの移動距離（移動量）を検出する。ここでは、移動量のみを検出するようにしているが、正確な位置座標を得るために、これに加えて回転量、加速度等も検出してもよい。
【００２１】
制御部２６は、これに限られるものではないが、SoC(System on Chip)と、ASIC(Application Specific Integrated Circuit)とから構成することができる。ASICではなく、製造後にユーザが構成を設定できるFPGA(Field Programmable gate alley)を用いてもよい。制御部２６は、ハンドヘルドプリンタ１０全体の制御を行うが、ナビゲーションセンサ２５からの情報を基に、記録ヘッドの各ノズルの位置座標や、その位置座標に応じた画像要素の選択、印字するかどうかの判定等を行う。制御内容の詳細については後述する。OPU２７は、ハンドヘルドプリンタ１０の状態を表示するLED、ユーザが印字動作を指示するためのスイッチ等から構成される。これらは一例であり、OPU２７は、操作ボタンや液晶ディスプレイ(LCD)等を含んでいてもよい。また、OPU２７は、タッチパネルを備えていてもよい。
【００２２】
記録ヘッド２８は、インクを吐出するための複数のノズルを備える。記録ヘッド駆動回路２９は、印刷を行うための印字データと印字タイミングを指示する印字タイミング情報とを受け付ける。記録ヘッド駆動回路２９は、印字タイミング情報で指示された印字タイミングに従い、印字データに基づき印刷媒体１２にインクの吐出を行うことができるように記録ヘッドの駆動制御を行う。記録ヘッド駆動回路２９は、その制御を行うために、記録ヘッド２８を駆動するための駆動波形を生成する。
【００２３】
通信I/F２２が、スマートデバイス１１から印刷ジョブ（画像データ）を受信すると、制御部２６が、２以上のナビゲーションセンサ２５からの入力情報を基に、記録ヘッド２８上の各ノズルの位置を算出する。受信した画像データは、DRAM２４に格納される。ユーザは、ハンドヘルドプリンタ１０を片手で持ち、それを自由に移動させて印刷媒体１２上を走査するが、制御部２６は、その走査中、各ノズルの位置を算出し続ける。そして、制御部２６は、算出した位置に応じた所定領域の画像（周辺画像）のみをDRAM２４から取得する。
【００２４】
制御部２６は、取得した周辺画像と算出した各ノズルの位置を比較し、許容誤差を考慮して１以上のノズルにつきインクを吐出可と判定した場合、該１以上のノズルに対する印字データを記録ヘッド駆動回路２９へ送る。記録ヘッド駆動回路２９は、印字タイミング情報も受け付け、記録ヘッドの駆動制御を行い、記録ヘッド２８により印刷を実行させる。
【００２５】
各ユニットの詳細な構成および機能について説明する。まず、ナビゲーションセンサ２５について、図３を参照して説明する。ナビゲーションセンサ２５は、ホストI/F３０、イメージプロセッサ３１、LEDドライブ３２、２つのレンズ３３、３４、イメージアレイ３５を含んで構成される。LEDドライブ３２は、LED光の照射を制御し、LED光を、レンズ３３を介して印刷媒体１２に照射する。イメージアレイ３５は、印刷媒体１２からの反射光を、レンズ３４を介して受光する。レンズ３３、３４は、印刷媒体１２の表面に対して光学的に焦点が合うように設置されている。
【００２６】
イメージアレイ３５は、受光した光からイメージデータを生成し、イメージプロセッサ３１へ出力する。イメージプロセッサ３１は、入力されたイメージデータの画像からナビゲーションセンサ２５の移動量を算出する。移動量は、X軸方向の移動量dXと、Y軸方向の移動量dYとして算出される。イメージプロセッサ３１は、算出した移動量を、ホストI/F３０を介して制御部２６へ出力する。
【００２７】
光源は、発光ダイオード(LED)に限られるものではない。LEDは、表面が粗い印刷媒体１２、例えば紙を使用する場合に有用である。これは、表面が粗い場合、影が発生するため、その影を特徴部分として、X軸方向およびY軸方向の移動量を正確に算出することが可能になるからである。一方、表面が滑らか、あるいは透明な印刷媒体１２に対しては、光源としてレーザ光を発生させる半導体レーザ(LD)を使用することができる。LDで、例えば縞模様等を印刷媒体１２上に形成することで、特徴部分を作ることができ、それを基に正確に移動量を算出することができるからである。
【００２８】
ナビゲーションセンサ２５の機能について、図４を参照して説明する。ナビゲーションセンサ２５は、図４（ａ）にも示すように、LEDドライブ３２、レンズ３３、３４、イメージアレイ３５を備える。LEDドライブ３２からの光は、レンズ３３を介して印刷媒体１２の表面に照射される。印刷媒体１２の表面は、拡大してみると、図４（ａ）に示すように様々な形状の凹凸を有している。このため、様々な形の影が発生する。
【００２９】
イメージプロセッサ３１は、予め決められたサンプリングタイミング毎に、レンズ３４およびイメージアレイ３５を介して反射光を受光し、イメージデータを生成し、生成したイメージデータの画像を、規定の分解能単位でマトリクス化する。すなわち、画像を複数の矩形領域に分割する。そして、イメージプロセッサ３１は、前回のサンプリングタイミングで得られた画像と、今回のサンプリングタイミングで得られた画像とを比較し、その差分を検出し、それを移動量として算出する。
【００３０】
図４（ｂ）に示すような画像が、サンプリングタイミングSamp1、Samp2、Samp3で、この順に得られたものとする。この図４（ｂ）を参照すると、画像中、黒、グレイで表された影である特徴部分の４つの矩形領域が向かって右から左へ１分解能ずつ移動していることが分かる。したがって、Samp1を基準とすると、Samp2では、X軸方向にのみ１分解能移動していることから、その出力値(dX,dY)は、(1,0)となる。また、Samp2を基準とすると、Samp3では、X軸方向にのみ１分解能移動しているため、この出力値も(1,0)となる。
【００３１】
dX、dYは、ナビゲーションセンサ２５自体の向きを基準としたX軸方向およびY軸方向の移動量であり、このセンサは、これらの移動量を出力する。したがって、ユーザによりハンドヘルドプリンタ１０が印刷媒体１２上で左右いずれかの方向へ回転され、それに従ってナビゲーションセンサ２５も回転したとしても、その回転成分を検知することはできない。
【００３２】
制御部２６の詳細な構成および機能について、図５を参照して説明する。制御部２６は、SoC４０とASIC５０とから構成される。SoC４０は、ハンドヘルドプリンタ１０全体の制御を行うCPU４１と、DRAM２４を制御するメモリコントローラ(CTL)４２と、ROM２３を制御するROM CTL４３と、センサの位置や各ノズルの位置を算出する位置算出回路４４とを含む。これらは、バス４５に接続され、バス４５を介してデータ等のやりとりを行う。
【００３３】
ASIC５０は、ナビゲーションセンサI/F５１と、タイミング生成回路５２と、記録ヘッド制御回路５３と、イメージRAM５４、DMAC(Direct Memory Access Controller)５５と、回転器５６と、割り込み回路５７とを含む。これらは、バス５８に接続され、バス５８を介してデータ等のやりとりを行う。なお、バス５８は、バス４５とも接続され、SoC４０とASIC５０はこれらバス４５、５８を介してデータ等のやりとりを行う。ASIC５０は、さらに、後述する変動要素の値を算出し、その値を用いて画像要素の位置座標の許容誤差を算出する許容誤差調整回路５９も備えている。
【００３４】
ナビゲーションセンサI/F５１は、センサと通信し、そのセンサからの出力値であるdX、dYを受信し、その値を内部メモリである内部レジスタに格納する。タイミング生成回路５２は、センサが光を照射し、印刷媒体１２からの反射光をイメージデータとして取得するタイミングの情報を生成し、その情報をナビゲーションセンサI/F５１に通知する。すなわち、タイミング生成回路５２は、印刷媒体１２を読み取るタイミングを指示する。また、タイミング生成回路５２は、記録ヘッドを駆動するタイミングの情報を生成し、その情報を記録ヘッド制御回路５３に通知する。すなわち、タイミング生成回路５２は、印刷を行うために複数のノズルからインクを吐出させるタイミングを指示する。
【００３５】
DMAC５５は、位置算出回路４４が算出した位置情報を基に、記録ヘッド２８が備える各ノズルの周辺画像の画像データを、DRAM２４から読み出す。イメージRAM５４は、DMAC５５が読み出した周辺画像の画像データを一時的に格納する。回転器５６は、周辺画像を、ユーザにより指定されたヘッド位置や傾きに応じて回転させ、それを記録ヘッド制御回路５３へ出力する。回転器５６は、例えば、位置算出回路４４が位置座標を算出する際に算出した回転角度を取得し、その回転角度を用いて周辺画像を回転させることができる。
【００３６】
記録ヘッド制御回路５３は、上記の記録ヘッドを駆動するタイミングの情報から制御信号を生成し、回転器５６から出力された周辺画像の画像データを受け付け、どのノズルからインクを吐出させるか判断する。記録ヘッド制御回路５３は、判断結果およびタイミングの情報に応じて、インクを吐出させるノズルの情報、印字データを記録ヘッド駆動回路２９に出力する。
【００３７】
割り込み回路５７は、ナビゲーションセンサI/F５１がナビゲーションセンサ２５との通信を終了した際、SoC４０にその旨を通知し、また、エラー等のステータス情報を通知する。
【００３８】
記録ヘッド２８および記録ヘッド駆動回路２９の詳細な構成および機能について、図６を参照して説明する。図６に示す記録ヘッド２８および記録ヘッド駆動回路２９の構成は、インクジェット方式のプリンタで一般に採用されている構成である。記録ヘッド２８は、複数のノズルを備え、各ノズルには、アクチュエータ６０が設けられている。アクチュエータ６０は、サーマル式、ピエゾ式のいずれであってもよい。サーマル式は、ノズル内のインクに熱を与えて膨張させ、この膨張によりノズルからインク滴を吐出させるものである。ピエゾ式は、圧電素子によりノズル壁を押し、内部のインクを押し出すことによりインク滴を吐出させるものである。
【００３９】
記録ヘッド駆動回路２９は、アナログスイッチ６１と、レベルシフタ６２と、階調デコーダ６３と、ラッチ６４と、シフトレジスタ６５とを備えている。記録ヘッド制御回路５３は、記録ヘッド駆動回路２９に対し、記録ヘッド２８のノズルの数（アクチュエータ６０の数も同じ）分のシリアルデータである画像データSDを、画像データ転送クロックSCKによってシフトレジスタ６５内に転送する。転送が終了すると、記録ヘッド制御回路５３は、画像データラッチ信号SLnによりノズル毎に設けられたラッチ６４に各画像データSDを記憶させる。
【００４０】
記録ヘッド制御回路５３は、画像データSDをラッチさせた後、アナログスイッチ６１へ各階調値のインク滴を各ノズルから吐出させるためのヘッド駆動波形Vcomを出力する。このとき、記録ヘッド制御回路５３は、階調デコーダ６３に対してヘッド駆動マスクパターンMNを階調制御信号として与えるが、そのヘッド駆動マスクパターンMNを駆動波形のタイミングに合わせて選択するように遷移させる。階調デコーダ６３は、階調制御信号MNとラッチされた画像データとを論理演算し、レベルシフタ６２は、論理演算した得られた論理レベル電圧信号を、アナログスイッチ６１を駆動できる電圧レベルまで昇圧する。
【００４１】
アナログスイッチ６１は、昇圧された電圧信号を受け付け、ON/OFFすることにより、記録ヘッド内のアクチュエータ６０へ供給する駆動波形VoutNが各ノズルで異なる波形となる。記録ヘッドは、この駆動波形に基づきインク滴を吐出させ、印刷媒体１２上に画像を形成する。
【００４２】
この印刷システムにより行われる処理を、図７および図８を参照して簡単に説明する。ステップ７００から開始し、ステップ７０１では、ユーザがスマートデバイス１１の電源ボタンを押下すると、スマートデバイス１１はそれを受け付け、電池やバッテリ等から電源を供給して起動する。ハンドヘルドプリンタ１０も電源をONにして起動しておく。ステップ７０２では、ユーザがスマートデバイス１１上で印刷する画像を選択し、スマートデバイス１１はその画像の選択を受け付ける。ステップ７０３では、ユーザが選択した画像の印刷を指示し、スマートデバイス１１が印刷ジョブの実行をハンドヘルドプリンタ１０に対して要求する。この要求で画像データがハンドヘルドプリンタ１０へ送信される。
【００４３】
ユーザは、ハンドヘルドプリンタ１０を持ち、印刷したい媒体、例えばノートの上で初期位置を決め、ハンドヘルドプリンタ１０の印刷開始ボタンを押下する。ステップ７０４では、ハンドヘルドプリンタ１０が、その印刷開始ボタンの押下を受け付け、ステップ７０５で、即座にその初期位置を検出し、センサの移動量の算出を開始する。ステップ７０６では、センサの位置を検出し、センサの位置から各ノズルの位置を求め、画像データの位置座標の許容誤差を算出し、その許容誤差範囲内かどうかによりインクを吐出させるかどうかを判断する。吐出させると判断したノズルからインクを吐出させるために印字データを送り、印刷媒体１２への印刷を実行する。印刷媒体１２への印刷が終了したところで、ステップ７０７でこの処理を終了する。
【００４４】
このときにハンドヘルドプリンタ１０において実行される詳細な処理を、図８を参照して説明する。ステップ８００から開始し、ステップ８０１では、ハンドヘルドプリンタ１０の電源ボタンの押下（電源ON）を受け付け、電池やバッテリ等から電源を供給して起動する。
【００４５】
ステップ８０２では、ハンドヘルドプリンタ１０は、内蔵されるセンサ等の各デバイスを立ち上げ、各デバイスの初期化を行う。初期化では、各種の設定値の設定等が行われる。また、スマートデバイス１１との間の通信を確立する。ステップ８０３では、初期化が完了したかどうかを判断し、完了していない場合はこの判断を繰り返す。完了したと判断した場合、ステップ８０４へ進み、LED点灯等によりユーザに印刷可能な状態であることを通知する。
【００４６】
ステップ８０５では、ハンドヘルドプリンタ１０が、スマートデバイス１１から画像データの入力を受け付け、画像が入力された旨をLED点滅等によりユーザに対し通知する。ステップ８０６では、入力された画像データをDRAM２４に格納する。ハンドヘルドプリンタ１０は、ステップ８０７で、印刷開始の指示を受け付けると、ステップ８０８で、センサによる読み取り、内部メモリへの格納を開始する。
【００４７】
ステップ８０９では、SoC４０が、センサの位置情報を読み取る（リードする）よう、ASIC５０内のナビゲーションセンサI/F５１に通知する。ナビゲーションセンサI/F５１は、センサと通信を行い、センサが格納した位置情報をリードする。ステップ８１０では、SoC４０は、リードした位置情報を初期位置とし、例えば座標(0,0)として格納する。
【００４８】
ステップ８１１では、ASIC５０内のタイミング生成回路５２が時間計測を開始し、ステップ８１２では、予め設定されたセンサのリードタイミングに達したかを判断する。センサリード時間に達した場合は、ステップ８１３へ進み、ナビゲーションセンサI/F５１が、センサが内部メモリに格納した移動量をリードする。リードタイミングは、記録ヘッド２８の駆動周期に合わせたタイミングとすることができる。
【００４９】
ステップ８１４では、SoC４０は、ASIC５０から移動量をリードし、位置算出回路４４が、前回算出した位置(X,Y)と、今回リードした移動量(dX,dY)から、現在の位置を算出し、格納する。初期位置のみで、前回算出した位置がない場合は、初期位置と、今回リードした移動量から現在の位置を算出する。
【００５０】
ステップ８１５では、SoC４０が、算出した現在のセンサの位置情報をASIC５０に通知する。そして、ASIC５０が、予め決められているセンサと記録ヘッド２８の各ノズルの組み付け位置との関係から、各ノズルの位置座標を算出する。ステップ８１６では、回転器５６が、算出した各ノズルの位置情報を基に、各ノズルの周辺画像の画像データをDRAM２４からイメージRAM５４へリードする。そして、回転器５６が、ユーザにより指定されたヘッド位置およびヘッドの傾きに応じて、その画像データにおける画像を回転させる。
【００５１】
ステップ８１７では、ASIC５０が、回転させた周辺画像を構成する各画像要素の位置座標の許容誤差を算出する。ステップ８１８では、各ノズルの位置座標が許容誤差範囲内かどうかにより、インクの吐出可否を判断する。許容誤差の算出、インク吐出可否の判定の詳細については後述する。インクを吐出させないと判定した場合は、ステップ８１２に戻り、吐出させると判定した場合は、ステップ８１９へ進む。ステップ８１９では、インクを吐出させるために、記録ヘッド制御回路５３へ対応する画像要素の印字データを出力する。
【００５２】
ステップ８２０では、全印字データを出力したかを判断する。出力していない場合は、ステップ８１２からステップ８１９までの処理を繰り返す。出力した場合は、ステップ８２１へ進み、SoC４０は、LED点灯等によりユーザに印刷が終了したことを通知する。なお、全印字データを吐出しなくても、ユーザが十分と判断した場合には、印刷完了ボタンを押下し、SoC４０がそれを受け付けて、印刷を完了したと判断してもよい。その通知後、ステップ８２２へ進み、ハンドヘルドプリンタ１０による印刷を終了する。ハンドヘルドプリンタ１０は、印刷終了後、ユーザが電源をOFFにすることもできるし、印刷が終了した時点で、自動で電源がOFFにされるようになっていてもよい。
【００５３】
センサと各ノズルの組み付け位置の関係について、図９を参照して説明する。センサは、２以上設けられる。具体的には、図９に示すように、等間隔で一列に並ぶノズル７０の配列方向の前後に少なくとも１つずつ設けられる。センサ７１ａ、７１ｂ間の距離ｃは、長い程良い。これは、センサ７１ａ、７１ｂの位置を算出する際にその演算誤差が小さくなるからである。
【００５４】
図９では、２つのセンサ７１ａ、７１ｂが設けられている。このとき、センサ７１ａの中心から記録ヘッド２８の一端までの距離は距離ａ、センサ７１ｂの中心から記録ヘッド２８の他端までの距離は距離ｂで表すことができる。また、記録ヘッド２８の両端から該両端に最も近いノズル７０までの距離はそれぞれ距離ｄ、各ノズル７０間の距離は距離ｅで表すことができる。これらの距離ａ〜ｅは、予め決められた距離であり、センサ７１ａ、７１ｂの位置座標を算出することで、各ノズル７０の各位置座標を算出することができる。
【００５５】
印刷媒体１２の横方向をX軸、縦方向をY軸とし、センサ７１ａ、７１ｂの出力軸も同様とする。図９に示すように、ハンドヘルドプリンタ１０がユーザによる走査で角度θほど傾いた場合、センサ７１ａ、７１ｂの出力値は、XY軸を基準としたものではなく、角度θほど傾いたX’Y’軸を基準としたものになる。このため、センサ７１ａ、７１ｂの出力値は、X’Y’軸の水平方向、垂直方向へ移動した移動量となり、印刷媒体１２のXY軸の水平方向、垂直方向へ移動した移動量ではなくなる。このような場合でも、得られた移動量から逐次、印刷媒体１２のXY軸に対する座標位置を算出し、その座標位置を格納するようにしておけば、正常な座標位置を把握することができる。
【００５６】
センサ７１ａ、７１ｂの座標位置を算出する方法について、図１０を参照して簡単に説明する。図１０では、ハンドヘルドプリンタ１０が印刷媒体１２のXY軸に対して角度θだけ回転していて、さらに走査した際、角度dθだけ回転したところを示している。向かって左側のハンドヘルドプリンタ１０は、走査前のプリンタを、向かって右側のハンドヘルドプリンタ１０は、走査後のプリンタを示している。
【００５７】
走査前のプリンタが備える２つのセンサ７１ａ、７１ｂの位置座標を(X0,Y0)、(X1,Y1)とし、２つのセンサ７１ａ、７１ｂ間の距離をLとする。センサ７１ａが、印刷媒体１２に対して、走査前の位置座標(X0,Y0)から走査後の位置座標に移動するX軸方向への移動量をdX0、Y軸方向への移動量をdY0とする。センサ７１ａが基準とする角度θで傾いたX’軸方向への移動量をdXS0、Y’軸方向への移動量をdYS0とする。センサ７１ｂが基準とする角度θで傾いたX’軸方向への移動量をdXS1、Y’軸方向への移動量をdYS1とする。
【００５８】
位置座標の算出は、回転移動成分と並行移動成分の２つに分けて考える。回転移動成分は、センサ７１ａとセンサ７１ｂのX’軸方向の差分から、下記式１により算出することができる。
【００５９】
【数１】
2016068552.tif 000003
【００６０】
並行移動成分は、印刷媒体１２に対するハンドヘルドプリンタ１０の傾きθを保持し、三角関数を用いて、下記式２によりセンサ７１ａの移動量dX0、dY0として算出することができる。
【００６１】
【数２】
2016068552.tif 000004
【００６２】
このことから、センサ７１ａの走査後の位置座標は、(X0+dX0,Y0+dY0)として算出することができる。算出した後は、その走査後の位置座標を(X0,Y0)とし、同様の方法で、さらに走査した後の位置座標を算出することができる。
【００６３】
センサ７１ａの走査後の位置座標を算出した際、センサ７１ｂの走査後の位置座標(X1,Y1)は、下記式３により算出することができる。走査後の位置座標は(X1,Y1)として、次の走査後の位置座標を算出するため、ここでは走査後の位置座標も走査前と同様、(X1,Y1)としている。
【００６４】
【数３】
2016068552.tif 000005
【００６５】
センサ７１ａ、７１ｂで移動量を算出し、それから記録ヘッドの各ノズルの座標位置を算出する際、角度dθは無視できるほど小さい値となる。例えば、L=1inch、400mm/sという高速で走査を行い、そのサンプリング周期が100μsであった場合、1サンプリング周期で移動できる距離は40μm、回転できる角度dθは0.0015程度である。dθ<<1のような条件の下では、dθ=sindθ=tandθが成立する。そこで、上記式３は、上記式１および加法定理を使用して、下記式４のように書き換えることができる。
【００６６】
【数４】
2016068552.tif 000006
【００６７】
上記式４では、走査前に比較して走査後がどれだけ回転したかを示すdθを使用してsin(θ+dθ)、cos(θ+dθ)を求める必要はなく、sinθ、cosθの値があれば、位置座標を算出することができる。この演算は、角度dθが無視できるほど小さい値であることを条件とし、前回算出した位置座標とその移動量とから位置座標を算出するため、サンプリング周期毎に実施し続ける必要がある。なお、この位置座標の算出をサンプリング周期毎に実施することにより、２つのセンサ７１ａ、７１ｂの印刷媒体１２に対する二次元座標を逐次把握することが可能となる。
【００６８】
図１１を参照して各ノズル７０の位置座標の算出方法について説明する。センサ７１ａの中心から記録ヘッドの一端までの距離は距離ａ、センサ７１ｂの中心から記録ヘッドの他端までの距離は距離ｂで表される。また、記録ヘッドの両端から該両端に最も近いノズル７０までの距離はそれぞれ距離ｄ、各ノズル７０間の距離は距離ｅで表される。これらの距離ａ〜ｅは、予め決められた距離である。センサ７１ａの位置座標は(X0,Y0)であり、センサ７１ｂの位置座標は(X1,Y1)である。
【００６９】
各ノズル７０の座標位置NZLN_X、NZLN_Yは、センサ７１ａ側から配列するノズル７０の順番をNとすると、次の式５により算出することができる。
【００７０】
【数５】
2016068552.tif 000007
【００７１】
記録ヘッドは、一列にノズル７０が並ぶものに限らず、カラー印刷を行うために、二列以上にノズル７０が並ぶものであってもよい。センサ７１ａ、７１ｂを結ぶ直線上に配列するノズル７０は、上記式５を使用してその位置座標を算出することができる。一方、その直線上にはないノズル７０については、ノズル列間の距離fと、三角関数を用いて算出することができる。
【００７２】
以下、許容誤差の算出、ノズル吐出可否判定について詳細に説明する。最初に、図１２を参照して、画像要素の位置座標であるインクの目標吐出位置と、ノズル７０の現在位置との間に一定の許容誤差を設け、その許容誤差に基づき行う従来のノズル吐出可否判定について説明する。この判定では、ノズルの現在位置が目標吐出位置から算出した許容誤差範囲内にある場合にのみ、インク吐出を許可すると判定する。一定の許容誤差であるから、目標吐出位置に対する誤差の±を表す値は同一かつ固定である。したがって、図１２に示すように、目標吐出位置にある画像要素７２を中心とし、左右上下に一定距離の破線で示される矩形範囲が許容誤差範囲７３となる。
【００７３】
現在、記録ヘッド２８が図１２に示す走査位置にあり、矢線で示す走査方向、走査速度で走査されており、ノズル７０の１つ（真ん中のノズル）がその許容誤差範囲７３内に入っている。この例では、そのノズル７０に対し、許容誤差範囲７３内にあるため、インク吐出を許可すると判定する。
【００７４】
このように、許容誤差がすべての目標吐出位置につき同一かつ固定である場合、その許容誤差範囲７３が狭ければ、目標吐出位置に対する実際のインクの着弾位置精度は向上し、高画質となる。しかしながら、ノズル吐出可否判定でインク吐出を許可すると判定される確率は低くなり、ユーザは、印字したい領域において走査を何回も行わなければならなくなる。許容誤差をなくし、目標吐出位置とノズルの現在位置とが完全に一致した場合にのみ、インク吐出を許可するようにすると、何度走査しても印字されない画像が残るということも起こり得る。
【００７５】
一方、許容誤差範囲７３を広くすると、ノズル吐出を許可すると判定される確率が高くなり、生産性が向上する。しかしながら、目標吐出位置に対する実際のインクの着弾位置精度は低下する。なお、許容誤差の上限は、目標吐出位置の解像度の±５０％であり、これ以上広い許容誤差を設定すると、１つの目標吐出位置に対し、複数のノズル７０がインク吐出を許可されてしまう。
【００７６】
いずれの場合も、判定に用いる許容誤差の±の値が同一かつ固定であるため、フリーハンド走査により、記録ヘッド２８の傾き、走査方向、走査速度等が動的に変化しても対応することができず、インクの着弾位置精度が低下してしまう。
【００７７】
そこで、制御部２６は、図５に示す許容誤差調整回路５９を備え、許容誤差を調整する。この許容誤差調整回路５９は、SoC４０の位置算出回路４４で算出した位置情報に基づき、フリーハンド走査により変動する変動要素の値を算出し、その変動要素の値に基づき、ノズルの許容誤差を動的に算出し、調整する。許容誤差調整回路５９は、記録ヘッド制御回路５３が行うノズル吐出可否判定に使用する許容誤差範囲７３の情報を、記録ヘッド制御回路５３に出力する。
【００７８】
フリーハンド走査により変動する変動要素の１つとして、ノズルの走査速度がある。この走査速度は、ハンドヘルドプリンタ１０の移動速度と同じである。走査速度は、ハンドヘルドプリンタ１０が一定時間に移動した移動量から算出することができる。
【００７９】
走査速度が遅い場合、次の吐出タイミングでもノズル位置は現在のノズル位置の近くにある可能性が高いため、画質を優先し、許容誤差を小さくすることができる。これに対し、走査速度が速い場合、ユーザが何度も走査しなくても印字できるように生産性を優先し、許容誤差を大きくすることができる。
【００８０】
許容誤差範囲７３は、図１３に示すX軸方向の範囲Xtol、Y軸方向の範囲Ytolとして表され、許容誤差調整回路５９は、それらの値を、走査速度Vに応じて調整し、出力することができる。図１３には、X軸方向の隣り合う画像要素７２間の距離が解像度Xdpi、Y軸方向の隣り合う画像要素７２間の距離が解像度Ydpiとして示され、上記のXtol、Ytolの上限は、Xdpi、Ydpiとされる。
【００８１】
許容誤差は、図１４に示す走査速度と許容誤差範囲７３との関係から、その傾き、下限値、上限値からなる計算式により算出することができる。許容誤差の算出方法は、計算式に限らず、図１５に示す予め設定され、走査速度と許容誤差とを対応付けた調整テーブルを用いて算出することもできる。なお、計算式を用いる場合、細かい調整が可能であり、調整テーブルを用いる場合は、非線形な調整が可能である。このような調整により、フリーハンド走査でノズルの走査速度が動的に変化しても、インクの着弾位置精度を低下させることなく、その精度を維持することができる。
【００８２】
許容誤差調整回路５９および記録ヘッド制御回路５３で許容誤差Xtol、Ytolを算出し、許容誤差に基づきインク吐出可否判定を行う回路構成を、図１６に例示する。この回路は、目標吐出位置の印字データSDi、目標吐出位置のX座標Xtar、目標吐出位置のY座標Ytar、ノズル位置のX座標Xnzl、ノズル位置のY座標Ynzl、Xdpi、Ydpi、Vを受け付ける。印字データSDiは、例えば滴なし0、小滴1、中滴2、大滴3とされる。なお、Xtar、Ytarは、ユーザがOPU２７のスイッチで印字動作の開始を指示した時の記録ヘッド２８の位置および傾きを基準とし、画像データとそのX軸／Y軸方向の解像度(Xdpi,Ydpi)から求めることができる。
【００８３】
この回路は、２つの許容誤差算出部８０、８１、２つのインク吐出可否判定部８２、８３、出力処理部８４を備える。２つの許容誤差算出部８０、８１は、ノズルの走査速度Vと画像の解像度Xdpi、Ydpiから、上記の計算式または調整テーブルを用いて許容誤差Xtol、Ytolを算出し、２つのインク吐出可否判定部８２、８３へ出力する。２つのインク吐出可否判定部８２、８３は、許容誤差Xtol、Ytolのほか、Xtar、Xnzl、Ytar、Ynzlを受け付け、ノズルの現在位置Xnzl、Ynzlが目標吐出位置Xtar、Ytarの許容誤差範囲７３内にあるか否かを判定する。判定結果は、Xen、Yenとして出力され、吐出可の場合は例えばXen=1、Yen=1とし、吐出不可の場合はXen=0、Yen=0とすることができる。許容誤差範囲７３内にあるか否かは、下記式６により判定することができる。
【００８４】
【数６】
2016068552.tif 000008
【００８５】
出力処理部８４は、SDi、Xen、Yenを受け付け、吐出可の場合、SDiをSDqとしてそのノズルに対する印字データを出力する。吐出不可の場合は、SDiの値に関わらず、SDqを0（滴なし）として出力する。
【００８６】
ノズルの走査速度は、記録ヘッド２８がX軸方向に平行に移動していればすべてのノズルで同じ値であるが、実際には微小ながらも回転しているので、図１７に示すように各ノズルで異なる値となる。このため、各目標吐出位置に対する許容誤差は、ノズル毎に行うことができる。また、先に記録ヘッド２８のノズル列の両端のノズルについて許容誤差を算出し、それ以外のノズルについては、その算出した許容誤差から線形補間等により算出してもよい。
【００８７】
各ノズルにつき１つずつ許容誤差を算出することで、ノズル数が多くなるほど制御部２６の処理能力が必要となるが、上記の線形補間等により簡易に算出する方法を採用することで、より低い処理能力で処理を行うことが可能となる。
【００８８】
フリーハンド走査により変動する変動要素としては、上記の走査速度のほか、ノズルの走査方向がある。この走査方向は、ハンドヘルドプリンタ１０の移動方向と同じである。走査方向は、縦横二方向、すなわち上記のX軸方向およびY軸方向への移動量から算出することができる。この走査方向に応じて許容誤差を調整する方法について以下に説明する。図１８は、この走査方向に応じて許容誤差を調整する方法について説明する図である。走査方向をX軸方向に対する角度θnとし、調整後の誤差範囲を破線で示している。この誤差範囲も、X軸方向の範囲をXtolとし、Y軸方向の範囲をYtolとしている。
【００８９】
この方法では、ノズルの走査角度によって許容誤差をX軸、Y軸の±方向で調整し、ノズルの現在位置が調整後の許容誤差範囲７３内にある場合にインク吐出を許可する。許容誤差範囲７３外である場合はインク吐出を許可しない。許容誤差の±方向は、ノズルの走査角度によって非対称となり、目標吐出位置に対してより適したノズルを選択することができる。
【００９０】
許容誤差は、走査角度θnを用い、三角関数による演算で算出することもできるし、図１９に示すような予め設定された調整テーブルを用いて算出することもできる。なお、三角関数による演算では、各角度につき許容誤差を得ることができるので、細かい調整が可能であり、調整テーブルを用いる方法では、難しい演算が不要になるため、回路の簡易化や走査角度に対する制約追加が容易となる。このように調整を行うことで、フリーハンド走査によりノズルの走査方向が動的に変化しても、インクの着弾位置精度を低下させることなく、その精度を維持することができる。
【００９１】
フリーハンド走査により変動する変動要素としては、上記の２つの変動要素のほか、記録ヘッド２８の傾きがある。この傾きは、初期位置を基準として指定された縦方向、すなわち上記のY軸方向に対するハンドヘルドプリンタ１０の傾きであり、X軸方向およびY軸方向への移動量を算出する際に算出した回転方向への回転角度から傾きを算出することができる。この傾きに応じて許容誤差を調整する方法について以下に説明する。図２０は、この傾きに応じて許容誤差を調整する方法について説明する図である。傾きをY軸方向に対する角度θhとし、調整後の誤差範囲を破線で示している。この誤差範囲も、X軸方向の範囲をXtolとし、Y軸方向の範囲をYtolとしている。
【００９２】
この方法では、走査時の記録ヘッド２８の傾きによって許容誤差をY軸の±方向で調整し、ノズルの現在位置が調整後の許容誤差範囲７３内にある場合にノズルからのインク吐出を許可する。これに対し、許容誤差範囲７３外にある場合はインク吐出を許可しない。記録ヘッド２８の傾きが大きい場合は、許容誤差が目標吐出位置の解像度の±５０％固定であったりすると、許容誤差範囲７３内に複数のノズルが該当してしまう状態が発生する。これでは同じ位置に複数のノズルからインクを吐出することになり、インクが無駄になるため、該当ノズルが１つになるように許容誤差を小さくする。
【００９３】
許容誤差は、傾きθhを用い、三角関数による演算で算出することもできるし、図２１に示すような予め設定された調整テーブルを用いて算出することもできる。なお、三角算数による演算では、各角度につき許容誤差を得ることができるので、細かい調整が可能であり、調整テーブルを用いる方法では、難しい演算が不要になるため、回路の簡易化や傾きに対する制約追加が容易となる。このように調整を行うことで、フリーハンド走査により記録ヘッド２８の傾きが動的に変化しても、インクの着弾位置精度を低下させることなく、その精度を維持することができる。
【００９４】
以上に説明したインク吐出可否判定の流れを、図２２に示すフローチャートを参照して説明する。この判定は、ステップ２２００から開始し、ステップ２２０１では、最初に、ノズルの走査速度に伴う許容誤差を算出する。この許容誤差は、走査速度V、画像のX軸方向の解像度Xdpi、画像のY軸方向の解像度Ydpiと、計算式または調整テーブルとを用いて算出することができる。ステップ２２０２では、次に、ノズルの走査方向に伴う許容誤差を算出する。この許容誤差は、X軸方向に対する走査方向の角度θnと、計算式または調整テーブルを用いて算出することができる。このとき、ステップ２２０１で算出した許容誤差範囲を、走査方向に伴う許容誤差算出の入力情報として使用する。
【００９５】
ステップ２２０３では、さらに次に、記録ヘッド２８の傾きに伴う許容誤差を算出する。この許容誤差は、Y軸方向に対する記録ヘッド２８の傾きである角度θhと、計算式または調整テーブルを用いて算出することができる。この場合も、ステップ２２０２で算出した許容誤差範囲７３を、記録ヘッド２８の傾きに伴う許容誤差算出の入力情報として使用する。
【００９６】
ステップ２２０４では、ノズルの現在位置が、ステップ２２０３で算出した許容誤差範囲７３内にあるかどうかを判定する。その許容誤差範囲７３内にあると判定した場合、ステップ２２０５へ進み、ノズル吐出を許可する。一方、その許容誤差範囲７３外にあると判定した場合、ステップ２２０６へ進み、ノズル吐出を許可しない。これらの判定を行ったところで、ステップ２２０７へ進み、この判定処理を終了する。なお、各許容誤差の算出順序によって最終的な許容誤差が変わるため、各許容誤差の算出順序は、ユーザが適宜設定可能であることが望ましい。
【００９７】
図２３では、各変動要素に伴う許容誤差の算出を直列に処理する例を示したが、これに限られるものではなく、図２３に示すように並列に処理を行ってもよい。図２３に示す処理では、ステップ２３００から処理を開始し、ステップ２３０１でノズルの走査速度に伴う許容誤差を算出し、それと並列に、ステップ２３０２でノズルの走査方向に伴う許容誤差を算出する。また、それらと並列に、ステップ２３０３で記録ヘッド２８の傾きに伴う許容誤差を算出する。このため、ステップ２３０１〜ステップ２３０３の処理を同時に実施することができる。
【００９８】
ステップ２３０４では、ノズルの現在位置が算出した全ての許容誤差範囲７３内であるかどうかを判定する。全ての許容誤差範囲７３内であると判定した場合、ステップ２３０５へ進み、ノズル吐出を許可する。一方、少なくとも１つが許容誤差範囲７３外であると判定した場合、ステップ２３０６へ進み、ノズル吐出を許可しない。これらの判定を行ったところで、ステップ２３０７へ進み、この判定処理を終了する。ここでは、全ての許容誤差範囲７３内であるかどうかにより判定しているが、これに限られるものではなく、いずれか１つまたは２つが範囲内であれば許可するとしてもよい。
【００９９】
以上に説明してきた例では、ノズルの現在位置の情報を基にノズル吐出可否判定を行っている。ハンドヘルドプリンタ１０は、制御部２６が備える位置算出回路４４が次の吐出タイミングでノズル位置を予想する機能を備えていてもよい。この機能を備える場合、当該次の吐出タイミングでノズル位置を予想し、その予想位置を用いて許容誤差を算出することができる。
【０１００】
図２４は、ノズルの現在位置および予想位置を用いて許容誤差を算出する方法について説明する図である。符号Aは、画像要素７２の目標吐出位置とノズルの現在位置との距離を示し、符号A’は、目標吐出位置と次の吐出タイミングでノズル位置を予想した予想位置との距離を示している。この場合、両者の距離を比較し、A’<Aであれば、ノズルの現在位置が許容誤差範囲７３内であっても、インク吐出を許可しないものとし、次の吐出タイミングで再度判定を行うことができる。これにより、インクの着弾位置の精度をより高めることができる。
【０１０１】
これまでの例では、フリーハンド走査により、記録ヘッド２８の傾きや、走査方向、走査速度等の移動情報が動的に変化した場合、それらに応じて許容誤差Xtol、Ytolおよび目標吐出位置に対する±方向の比率を動的に調整している。このとき、許容誤差範囲７３は、１つの角の座標とXtol、Ytolの値で決めている。このため、許容誤差範囲７３は、X軸方向およびY軸方向にそれぞれ二辺が延び、４つの角が９０°の正方形もしくは長方形からなる矩形領域となっている。
【０１０２】
このような矩形領域では、X軸方向に対して斜めに走査される場合、図２５に示すように許容誤差範囲７３としてあまり好ましくない領域７４が出来てしまう。この領域７４は、目標吐出位置に対する許容誤差範囲を広げるものである。このような領域７４の発生は、吐出可否判定条件を適切ではない（均等ではない）ものにし、インクの着弾位置の精度を低下させる。
【０１０３】
そこで、上記のような形状の領域ではなく、変動要素の値に応じて矩形領域の４つの角、一辺の長さ、形状を変えて、上記の好ましくない領域７４が出来ない、あるいはその領域７４を出来るだけ小さくするようにする。そのために、１つの角の座標とXtol、Ytolの値ではなく、適切な４つの点の座標を求め、矩形領域を、その４つの点を繋ぐことにより形成する。したがって、これら４点は、矩形領域を画定するものである。このようにすることで、吐出可否判定条件がノズルの現在位置においてより均等になり、インクの着弾位置の精度を向上させることができる。
【０１０４】
これを実現するためのハンドヘルドプリンタ１０の制御部２６の構成を、図２６に例示する。図２６に示す制御部２６は、図５に示す制御部２６の構成とほぼ同様であるが、吐出可否判定手段としての吐出可否判定回路９０を設けている。図５に示す例では、吐出可否判定を、許容誤差調整回路５９および記録ヘッド制御回路５３により実施するように構成されていたが、ここでは吐出可否判定回路９０が実施するものとしている。吐出可否判定回路９０は、目標吐出位置に対する許容誤差範囲７３を４点のX、Y座標で示し、ノズルの現在位置がその４点を結んで出来る範囲内にあるか否かによりその判定を行う。図２７に、その４点を結んで出来る範囲を例示する。
【０１０５】
許容誤差範囲７３を示す４点のX、Y座標は、位置算出回路４４で算出した位置情報に基づき、フリーハンド走査により変動する変動要素の値を求め、その値に応じて動的に調整される。４点のX、Y座標の初期値は、下記式７および式８により与えられ、そのときの許容誤差範囲７３の形状は、図２７に示すように、菱形とされる。
【０１０６】
【数７】
2016068552.tif 000009
【０１０７】
【数８】
2016068552.tif 000010
【０１０８】
目標吐出位置の配列は、図１２に示すような格子配列とすることもできるが、格子配列の場合、上記の許容誤差範囲７３の形状が菱形であることから、隣接する許容誤差範囲と重複する部分や重複せずに隙間となる部分が出来てしまう。このため、目標吐出位置の配列は、図２７に示すように、それらの部分が生じない千鳥配列であることが望ましい。このような４点を結んで出来る許容誤差範囲７３とすることで、吐出可否判定条件がノズルの現在位置においてより均等になり、吐出可否判定後の画像品質を向上させることができる。
【０１０９】
なお、４点を結んで出来る菱形は、各角が９０°であってもよいし、それ以外の角度であってもよい。格子配列は、一定間隔で上下左右に目標吐出位置が配置されるような配列で、千鳥配列は、ある列に一定間隔で配置される目標吐出位置に対し、その左右ではなく、目標吐出位置間の左右に目標吐出位置が配置されるような配列である。
【０１１０】
フリーハンド走査により変動する変動要素は、上記と同様、その１つとして、ノズルの走査速度がある。許容誤差調整回路５９は、走査速度Vの大きさに応じて、図２８の菱形で示される許容誤差範囲７３の２つの直交する対角線の長さをX軸方向の範囲Xtol、Y軸方向の範囲Ytolとし、これらを調整する。図２４までの例では、Xtol、Ytolは許容誤差範囲７３を示す矩形領域の各辺の長さであったが、ここでは対角線の長さとしている。
【０１１１】
許容誤差は、図１４に示す走査速度と許容誤差範囲７３との関係から、調整量の傾き、下限値、上限値からなる計算式により求めることができる。このため、許容誤差調整回路５９は、許容誤差算出部を備え、許容誤差を算出することができる。なお、許容誤差は、このような計算式に限定されるものではなく、図２９に示す予め設定され、走査速度と許容誤差とを対応付けた調整テーブルを用いて求めることもできる。計算式で求める場合は、細かい調整が可能となり、調整テーブルで求める場合は、非線形な調整が可能となる。
【０１１２】
許容誤差調整回路５９がXtol、Ytolを調整した後、それらの値から菱形の４つの頂点のX、Y座標を算出する。吐出可否判定回路９０は、算出した４つの頂点のX、Y座標を用いて、ノズルの現在位置が調整後の許容誤差範囲７３内にあるかどうかを判定し、あると判定した場合、そのノズルからのインクの吐出を許可する。
【０１１３】
ノズルの走査速度が遅い場合、次の吐出タイミングでもノズルの位置は現在のノズルの位置の近くにある可能性が高い。このため、Xtol、Ytolを小さくし、画質を優先することができる。一方、ノズルの走査速度が速い場合、Xtol、Ytolを大きくして許容誤差範囲７３を大きくとることにより、生産性を優先することができる。これにより、ユーザは何度も同じ箇所を走査しなくても印字することができる。
【０１１４】
変動要素は、現時点の走査速度だけではなく、前回の吐出タイミングでの走査速度からの変動量（加速度）であってもよい。この加速度の場合も、走査速度と同様、計算式または調整テーブルにより許容誤差を求めることができる。加速度を用いる場合は、例えば加速度が負のとき、Xtol、Ytolを小さくして画質を優先し、加速度が正のとき、Xtol、Ytolを大きくして生産性を向上させることができる。このように許容誤差範囲７３を調整することで、フリーハンド走査によりノズルの走査速度や加速度が動的に変化しても、インクの着弾位置の精度を維持することができる。
【０１１５】
具体的な例を用いて説明する。例えばノズルの走査速度Vが５００mm/sである場合、図２９に示す調整テーブルを参照し、Xtolについては、Xdpi±４０％であり、Ytolについては、Ydpi±２０％であるから、下記式９および式１０により求めることができる。そして、菱形の４つの頂点の座標については、下記式１１〜式１４により求めることができる。ちなみに、４つの頂点の座標は、ここでは(X1,Y1)、(X2,Y2)、(X3,Y3)、(X4,Y4)とする。Xtar、Ytarは、目標吐出位置のX、Y座標である。
【０１１６】
【数９】
2016068552.tif 000011
【０１１７】
【数１０】
2016068552.tif 000012
【０１１８】
【数１１】
2016068552.tif 000013
【０１１９】
【数１２】
2016068552.tif 000014
【０１２０】
【数１３】
2016068552.tif 000015
【０１２１】
【数１４】
2016068552.tif 000016
【０１２２】
求めた４つの頂点の座標からノズルの位置(Xnzl,Ynzl)が許容誤差範囲７３内にあるか否かを判定するが、その判定の条件式を下記式１５〜式２０に示す。これらの条件を満たす場合は、許容誤差範囲７３内にあると判定し、そのノズルからのインク吐出を許可する。これに対し、これらの条件を満たさない場合は、許容誤差範囲７３内にないと判定し、そのノズルからのインク吐出を許可しない。
【０１２３】
【数１５】
2016068552.tif 000017
【０１２４】
【数１６】
2016068552.tif 000018
【０１２５】
【数１７】
2016068552.tif 000019
【０１２６】
【数１８】
2016068552.tif 000020
【０１２７】
【数１９】
2016068552.tif 000021
【０１２８】
【数２０】
2016068552.tif 000022
【０１２９】
記録ヘッド２８がX軸方向へ平行移動せず、微小ながらも回転している場合、ノズルの走査速度Vは、図１７にも示したように、矢線の長さで表されるように各ノズルで異なる。図１７では、矢線の長さが最も長いV3が最も走査速度が速く、矢線の長さが最も短いV1が最も走査速度が遅くなっている。
【０１３０】
このような場合、各目標吐出位置に対する許容誤差の算出は、ノズル毎に行うことができる。また、許容誤差の算出は、記録ヘッド２８の両端のノズルにつき行い、その間のノズルについては、両端のノズルの算出結果を用い、線形補間を行ってもよい。前者の算出方法では、ノズル数が多くなればなるほど制御部２６に高い処理能力が必要になるが、後者の算出方法を用いることで、低い処理能力でも処理することが可能となる。
【０１３１】
変動要素としては、走査速度や加速度のほか、ノズルの走査方向がある。許容誤差調整回路５９は、走査速度Vの大きさに応じて、上記のようにしてXtol、Ytolを調整し、上記の４点の座標を算出する。そして、許容誤差調整回路５９は、ノズルの走査方向、すなわちX軸方向に対する角度θnだけ、対角線が交差する交点を中心としてこれら４点を回転させる。吐出可否判定回路９０は、ノズルの現在位置が回転後の４点を結んで出来る範囲内にあるか否かによりその判定を行う。図３０に、回転後の４点を結んで出来る範囲を例示する。
【０１３２】
回転後の４点のX、Y座標(X1,Y1)、(X2,Y2)、(X3,Y3)、(X4,Y4)は、目標吐出位置の座標を(X0,Y0)とし、回転前の４点の座標を(X10,Y10)、(X20,Y20)、(X30,Y30)、(X40,Y40)とすると、下記式２１〜式２４により算出できる。この場合も、上記式１５〜式２０の条件式を用いて、回転後の４点の座標からノズルの現在位置が調整後の許容誤差範囲７３内にあるかどうかを判定することができる。これにより、フリーハンド走査によってノズルの走査方向が動的に変化しても、インクの着弾位置の精度を維持することができる。
【０１３３】
【数２１】
2016068552.tif 000023
【０１３４】
【数２２】
2016068552.tif 000024
【０１３５】
【数２３】
2016068552.tif 000025
【０１３６】
【数２４】
2016068552.tif 000026
【０１３７】
ここで、図３１を参照して吐出可否判定処理についてまとめる。ステップ３１００から処理を開始し、ステップ３１０１では、許容誤差調整回路５９がXtol、Ytolを調整し、ノズルの走査速度に応じた許容誤差を４点のX、Y座標として算出する。ステップ３１０２では、ステップ３１０１で算出した４点の座標を、ノズルの走査方向に応じて回転させ、走査方向に応じた許容誤差を回転後の４点のX、Y座標として算出する。
【０１３８】
ステップ３１０３では、吐出可否判定回路９０が、ノズルの現在位置が算出した許容誤差範囲７３内であるか否かを判定する。許容誤差範囲７３内であれば、ステップ３１０４へ進み、ノズル吐出を許可し、許容誤差範囲７３外であれば、ステップ３１０５へ進み、ノズル吐出を許可しない。この判定が終了したところで、ステップ３１０６へ進み、この処理を終了する。なお、走査方向に応じた許容誤差の算出には、走査速度から求められる４点の座標が必要となるため、走査速度に応じた許容誤差の算出、走査方向に応じた許容誤差の算出の順に処理が行われる。
【０１３９】
これまで４点を結んで出来る菱形を許容誤差範囲７３とした例について説明してきたが、許容誤差範囲７３の形状は、菱形に限定されるものではない。例えば、図３２に示すような目標吐出位置を中心とした楕円形状であってもよい。次に、許容誤差範囲７３を楕円形状の楕円領域とする場合の吐出可否判定について説明する。許容誤差調整回路５９は、Xtol、Ytolを調整し、それらから４点の座標を算出する。吐出可否判定回路９０は、目標吐出位置の座標(X0,Y0)を取得し、算出した４点の座標を用いて、ノズルの現在位置が楕円形状の許容誤差範囲７３内であるかどうかを判定する。
【０１４０】
吐出可否判定回路９０は、下記式２５で表される条件式により楕円形状の許容誤差範囲７３内であるか否かを判定することができる。ちなみに、許容誤差範囲７３の形状を楕円形状にすると、曲線同士であるため、隣接する許容誤差範囲との間に隙間が出来てしまうことになる。しかしながら、菱形よりも吐出可否判定条件をより均等にすることができるため、より画質を向上させることができる。
【０１４１】
【数２５】
2016068552.tif 000027
【０１４２】
吐出可否判定回路９０は、これまでの例ではノズルの現在位置の情報からインク吐出の可否を判定している。ハンドヘルドプリンタ１０の制御部２６は、次の吐出タイミングでのノズル位置を予測する機能を備えることができる。この機能を備える場合、ノズルの現在位置からの許容誤差範囲７３の調整のほか、目標吐出位置とノズルの現在位置との距離と、目標吐出位置と次の吐出タイミングでのノズルの予測位置との距離を算出することができる。
【０１４３】
そして、吐出可否判定回路９０は、算出した２つの距離を比較する。図３３に示すように、現在位置との距離Aが予測位置との距離A’より大きい場合、予測位置の方に近いことから、現在位置が許容誤差範囲７３内であっても吐出を許可しないようにし、次の吐出タイミングでの再度の判定において吐出を許可することができる。
【０１４４】
以上のように、本発明の印刷装置および印刷方法を提供することにより、フリーハンド走査において、許容誤差を調整できるので、印刷媒体への液滴の着弾位置の精度を維持することができる。変動要素として３つの要素を例に挙げて説明したが、これに限られるものではなく、その他の要素を含めることも可能である。計算式や調整テーブルは、事前に試験を行う等して最適な式やテーブルを得、それを用いることができる。
【０１４５】
また、許容誤差範囲７３の形状を、４つの角が９０°の辺がX軸方向、Y軸方向に延びる正方形や長方形ではなく、対角線がX軸方向、Y軸方向に延びる菱形や楕円形状にすることで、許容誤差をより適切な範囲にすることができる。これにより、フリーハンドでの印字においてインクの着弾位置の精度を向上させることができる。
【０１４６】
これまで本発明を、印刷装置および印刷方法として上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１４７】
１０…ハンドヘルドプリンタ、１１…スマートデバイス、１２…印刷媒体、２０…電源、２１…電源回路、２２…通信I/F、２３…ROM、２４…DRAM、２５…ナビゲーションセンサ、２６…制御部、２７…OPU、２８…記録ヘッド、２９…記録ヘッド駆動回路、３０…ホストI/F、３１…イメージプロセッサ、３２…LEDドライブ、３３、３４…レンズ、３５…イメージアレイ、４０…SoC、４１…CPU、４２…メモリコントローラ、４３…ROM CTL、４４…位置算出回路、４５…バス、５０…ASIC、５１…ナビゲーションセンサI/F、５２…タイミング生成回路、５３…記録ヘッド制御回路、５４…イメージRAM、５５…DMAC、５６…回転器、５７…割り込み回路、５８…バス、５９…許容誤差調整回路、６０…アクチュエータ、６１…アナログスイッチ、６２…レベルシフタ、６３…階調デコーダ、６４…ラッチ、６５…シフトレジスタ、７０…ノズル、７１ａ、７１ｂ…センサ、７２…画像座標、７３…許容誤差範囲、７４…領域、８０、８１…許容誤差算出部、８２、８３…インク吐出可否判定部、８４…出力処理部、９０…吐出可否判定回路
【先行技術文献】
【特許文献】
【０１４８】
【特許文献１】特表２０１０−５２００８７号公報
【特許文献２】特願２０１４−１８９６０７号
【図１】
2016068552.tif 000028
【図２】
2016068552.tif 000029
【図３】
2016068552.tif 000030
【図４】
2016068552.tif 000031
【図５】
2016068552.tif 000032
【図６】
2016068552.tif 000033
【図７】
2016068552.tif 000034
【図８】
2016068552.tif 000035
【図９】
2016068552.tif 000036
【図１０】
2016068552.tif 000037
【図１１】
2016068552.tif 000038
【図１２】
2016068552.tif 000039
【図１３】
2016068552.tif 000040
【図１４】
2016068552.tif 000041
【図１５】
2016068552.tif 000042
【図１６】
2016068552.tif 000043
【図１７】
2016068552.tif 000044
【図１８】
2016068552.tif 000045
【図１９】
2016068552.tif 000046
【図２０】
2016068552.tif 000047
【図２１】
2016068552.tif 000048
【図２２】
2016068552.tif 000049
【図２３】
2016068552.tif 000050
【図２４】
2016068552.tif 000051
【図２５】
2016068552.tif 000052
【図２６】
2016068552.tif 000053
【図２７】
2016068552.tif 000054
【図２８】
2016068552.tif 000055
【図２９】
2016068552.tif 000056
【図３０】
2016068552.tif 000057
【図３１】
2016068552.tif 000058
【図３２】
2016068552.tif 000059
【図３３】
2016068552.tif 000060