(57)【要約】【課題】  白スジや干渉縞の発生を抑えることができる装置および方法を提供する。【解決手段】  この装置は、印刷媒体上を移動させることにより印刷を行う印刷装置であって、印刷装置の移動情報を取得する取得手段と、取得された移動情報に基づき、液滴を吐出する各ノズルの初期位置に対する位置を算出するノズル位置算出手段と、算出された各ノズルの位置と、画像を印刷媒体上に印刷した場合の該画像を構成する各画像要素の位置との許容誤差を、該画像要素毎に変更する許容誤差調整手段と、算出された各ノズルの位置と、変更された許容誤差とに基づき、各ノズルにつき液滴を吐出させるか否かを判断する吐出可否判断手段とを含む。【選択図】  図６
2016179660.tif 000002
【特許請求の範囲】
【請求項１】
印刷媒体上を移動させることにより印刷を行う印刷装置であって、
前記印刷装置の移動情報を取得する取得手段と、
前記取得手段により取得された前記移動情報に基づき、液滴を吐出する各ノズルの初期位置に対する位置を算出するノズル位置算出手段と、
前記ノズル位置算出手段により算出された各前記ノズルの位置と、画像を前記印刷媒体上に印刷した場合の該画像を構成する各画像要素の位置との許容誤差を、該画像要素毎に変更する許容誤差調整手段と、
前記ノズル位置算出手段により算出された各前記ノズルの位置と、前記許容誤差調整手段により変更された前記許容誤差とに基づき、各前記ノズルにつき前記液滴を吐出させるか否かを判断する吐出可否判断手段と
を含む、印刷装置。
【請求項２】
前記許容誤差調整手段は、前記印刷装置の移動方向に応じて、前記初期位置を基準として指定された水平方向および垂直方向の少なくとも一方向の前記許容誤差の範囲を変更する、請求項１に記載の印刷装置。
【請求項３】
前記許容誤差調整手段は、前記移動情報から得られる、前記水平方向または前記垂直方向に対する前記印刷装置の傾きに基づき、前記許容誤差を変更するか否かを判断し、前記許容誤差における前記水平方向および前記垂直方向のいずれの方向の範囲を変更するかを決定する、請求項２に記載の印刷装置。
【請求項４】
前記許容誤差調整手段は、前記許容誤差の範囲を変更するとともに指定された倍率で該許容誤差の範囲を拡大する、または該許容誤差の範囲を表す領域の形状を矩形から該矩形以外の形状に変更する、請求項１または２に記載の印刷装置。
【請求項５】
前記許容誤差調整手段は、前記許容誤差の範囲を表す領域が隣接または重複せず、空白領域を有する場合、前記空白領域間の距離を、前記液滴の吐出間隔の最大値より大きくするように前記許容誤差の範囲を変更する、請求項１または２に記載の印刷装置。
【請求項６】
前記画像の特性を検出する特性検出手段と、前記特性検出手段により検出された前記画像の特性に基づき、前記許容誤差を変更するか否かを判断する調整有無判断手段とをさらに含む、請求項１〜５のいずれか１項に記載の印刷装置。
【請求項７】
前記特性検出手段は、グラフィック領域を含むか否かを検出し、前記調整有無判断手段は、前記グラフィック領域を検出した場合に前記許容誤差を変更すると判断し、前記許容誤差調整手段は、前記グラフィック領域につき前記許容誤差の範囲を変更する、請求項６に記載の印刷装置。
【請求項８】
前記特性検出手段は、前記液滴を連続して吐出すべき領域であるか否かを検出し、前記調整有無判断手段は、前記液滴を連続して吐出すべき領域であることを検出した場合に前記許容誤差を変更しないと判断する、請求項６に記載の印刷装置。
【請求項９】
請求項１〜８のいずれか１項に記載の印刷装置と、前記印刷装置へ画像を送信する情報通信端末とを含む、印刷システム。
【請求項１０】
印刷装置を移動させることにより印刷媒体上に印刷を行う印刷方法であって、
前記印刷装置の移動情報を取得するステップと、
取得された前記移動情報に基づき、液滴を吐出する各ノズルの初期位置に対する位置を算出するステップと、
算出された各前記ノズルの位置と、画像を前記印刷媒体上に印刷した場合の該画像を構成する各画像要素の位置との許容誤差を、該画像要素毎に変更するステップと、
算出された各前記ノズルの位置と、変更された前記許容誤差とに基づき、各前記ノズルにつき前記液滴を吐出させるか否かを判断するステップと
を含む、印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷媒体上を移動させることにより印刷を行う印刷装置、その印刷装置を含む印刷システムおよびその印刷方法に関する。
【背景技術】
【０００２】
タブレット端末やスマートフォン等の情報通信端末（スマートデバイス）の急激な普及により、プリンタにおいても小型化、携帯化が大きな要望の１つとして挙げられている。このような要望に鑑み、紙搬送システムを削除し、人の手で紙面等の平面上を自由に走査（フリーハンド走査）しながらインクを塗布するハンドヘルドプリンタが提案されている（例えば、特許文献１、２参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１では、インクを吐出するノズルの位置の位置決め、位置情報を得てから印字するまでの印字制御の流れも明確にされていない。これでは、ノズルの正確な位置の算出や印字制御を行うことはできない。その点、上記特許文献２では、位置決めや印刷制御の流れが明確にされている。
【０００４】
上記特許文献２に記載の技術では、ノズルの位置を検出し、画素データを最も近い位置にあるノズルから吐出させる。図１に示すように、例えば１５０dpiでノズルが配置されたヘッドを傾けると、実効的なノズル密度は１５０dpiより高い１５１dpi等に高密度化する。画素データ自体は、１５０dpiで作成されるため、このように高密度化すると、特許文献２に記載の最も近い位置にあるノズルから吐出させる構成では、インクを吐出しないノズルが発生する。すると、インクが吐出されない部分が線状に延び、白スジや干渉縞が発生するという問題があった。
【０００５】
そこで、ヘッドが傾いた場合であっても、白スジや干渉縞の発生を防止することができる装置や方法の提供が望まれていた。
【課題を解決するための手段】
【０００６】
本発明は、上記課題に鑑み、印刷媒体上を移動させることにより印刷を行う印刷装置であって、印刷装置の移動情報を取得する取得手段と、取得手段により取得された移動情報に基づき、液滴を吐出する各ノズルの初期位置に対する位置を算出するノズル位置算出手段と、ノズル位置算出手段により算出された各ノズルの位置と、画像を印刷媒体上に印刷した場合の該画像を構成する各画像要素の位置との許容誤差を、該画像要素毎に変更する許容誤差調整手段と、ノズル位置算出手段により算出された各ノズルの位置と、許容誤差調整手段により変更された許容誤差とに基づき、各ノズルにつき液滴を吐出させるか否かを判断する吐出可否判断手段とを含む、印刷装置が提供される。
【発明の効果】
【０００７】
本発明によれば、ヘッドが傾いた場合であっても、白スジや干渉縞の発生を防止することができる。
【図面の簡単な説明】
【０００８】
【図１】白スジの発生を説明する図。
【図２】ハンドヘルドプリンタを含む印刷システムの構成例を示した図。
【図３】ハンドヘルドプリンタのハードウェア構成を示した図。
【図４】ナビゲーションセンサの詳細な構成を示した図。
【図５】ナビゲーションセンサの機能について説明する図。
【図６】制御部の詳細な構成を示した図。
【図７】記録ヘッドおよび記録ヘッド駆動回路の詳細な構成を示した図。
【図８】記録ヘッドの駆動制御のタイミングチャート。
【図９】ナビゲーションセンサと記録ヘッドのノズルの位置関係を示した図。
【図１０】ナビゲーションセンサの位置を算出する方法を説明する図。
【図１１】各ノズルの位置を算出する方法を説明する図。
【図１２】許容誤差の変更を行わない場合の許容誤差の算出、吐出可否判定について説明する図。
【図１３】白スジの発生の原理を説明する図。
【図１４】制御部が行う印刷制御の流れを示したフローチャート。
【図１５】調整テーブルの一例を示した図。
【図１６】許容誤差を変更し、白スジの発生を抑える原理を説明する図。
【図１７】調整テーブルの別の例を示した図。
【図１８】図１７に示す調整テーブルを用いて許容誤差を変更した場合の印字可能領域を示した図。
【図１９】許容誤差範囲の形状を変えた場合の印字可能領域を示した図。
【図２０】細線印字を、許容誤差を変更せずに印字したところを示した図。
【図２１】細線印字を、許容誤差を変更して印字したところを示した図。
【発明を実施するための形態】
【０００９】
図２は、本実施形態の印刷装置としてのハンドヘルドプリンタを含む印刷システムの構成例を示した図である。ハンドヘルドプリンタ１０は、人が片手で持ち運びできる大きさ、重量で、ノートや定型用紙等の印刷媒体１２上を自由に移動させ、印刷媒体１２に印刷することができるプリンタである。
【００１０】
ハンドヘルドプリンタ１０は、インク等の液滴をノズルから吐出して印刷媒体１２に印刷するインクジェット方式のプリンタとすることができる。なお、ハンドヘルドプリンタ１０は、これに限られるものではなく、細いピンをインクリボンに叩き付けて印刷するドットインパクト方式等を採用することもできる。また、ハンドヘルドプリンタ１０は、モノクロプリンタであってもよいし、カラープリンタであってもよい。
【００１１】
ハンドヘルドプリンタ１０は、印刷する対象の画像を画像データとして受信し、その画像に基づき、印刷媒体１２上にインク等を吐出して印刷を行う。印刷する対象の画像は、文字のみからなるものであってもよいし、図、絵、写真等を含むものであってもよい。ハンドヘルドプリンタ１０は、画像データとともに、印刷設定情報を受信し、印刷設定情報に基づき画像を形成することができる。印刷設定情報としては、モノクロ／カラーの指定等を挙げることができる。
【００１２】
ハンドヘルドプリンタ１０は、赤外線通信、Bluetooth（登録商標）、Wi-Fi等の無線通信により、画像データを保持するスマートデバイス１１から画像データを受信する。ハンドヘルドプリンタ１０は、スマートデバイス１１からの画像データを、直接受信してもよいし、アクセスポイント等を介して受信してもよい。ハンドヘルドプリンタ１０は、無線通信に限られるものではなく、ケーブル等で接続し、有線通信により画像データを受信してもよい。
【００１３】
スマートデバイス１１は、例えば、スマートフォン、タブレット端末、ノートPC等の情報通信端末とされ、ハンドヘルドプリンタ１０と無線通信を行い、自身が保持する画像データをハンドヘルドプリンタ１０へ送信する。また、スマートデバイス１１は、サーバ等の他の機器から受信して取得した画像データを、ハンドヘルドプリンタ１０へ送信することもできる。
【００１４】
スマートデバイス１１は、画像データ、その画像データを表示するアプリケーション、OS等を記憶する記憶装置、アプリケーションを実行するCPU、画像を表示する表示装置、その画像の印刷指示を入力する入力装置を備える。なお、表示装置、入力装置は、別個の装置として構成されたものに限らず、これらの機能を備えるタッチパネルとされていてもよい。
【００１５】
ユーザは、スマートデバイス１１の電源を入れ、アプリケーションを起動させ、画像を表示させる。ユーザは、その画像を印刷したい場合、例えば、タッチパネルに表示された印刷開始ボタンをタップすることにより印刷を指示することができる。この印刷指示を受けて、スマートデバイス１１は、その画像の画像データを無線通信によりハンドヘルドプリンタ１０へ送信する。
【００１６】
ハンドヘルドプリンタ１０は、スマートデバイス１１から印刷対象の画像データを受信する。ユーザは、ハンドヘルドプリンタ１０を持ち、印刷媒体１２上を自由に移動させる。この間、ハンドヘルドプリンタ１０は、各ノズルの位置を算出する。実際には、ハンドヘルドプリンタ１０は、各ノズルの位置を、最初に決められた初期位置を基準とした座標位置（相対位置）として算出する。そして、ハンドヘルドプリンタ１０は、受信した画像データの画像を構成する画像要素の座標位置から、算出したノズルの座標位置が許容誤差内にある場合に、その画像要素を印字する印字データを、記録ヘッドを制御する制御部に送る。複数のノズルを有する記録ヘッドは、制御部による制御を受けて、その座標位置のノズルからインクを吐出させ、その印字を行う。ハンドヘルドプリンタ１０は、これを繰り返して印刷媒体１２に印刷を行う。
【００１７】
ハンドヘルドプリンタ１０は、図２に示すように、箱状のものとされ、インクを吐出するための複数のノズルを有する。ハンドヘルドプリンタ１０は、複数のノズルを有する面を、平面状の印刷媒体１２に押し当てるようにして使用される。複数のノズルは、押し当てた際に、その先端が印刷媒体１２の表面から離間するように配置されている。なお、ノズル先端から印刷媒体１２までの距離は、ノズルからインクを吐出して適切に印字することができる距離として予め決定されている。ユーザは、印刷媒体１２にハンドヘルドプリンタ１０の複数のノズルを有する面を押し当て、印刷媒体１２上を左から右へ、一段下げて、右から左へ、というように移動させることにより印刷媒体１２に印刷を行う。
【００１８】
図３は、ハンドヘルドプリンタ１０のハードウェア構成を示した図である。なお、スマートデバイス１１については、通常のPCやスマートフォン等の構成と同様であり、上記で簡単に説明したので、その説明については省略する。ハンドヘルドプリンタ１０は、電池やバッテリ等のハンドヘルドプリンタ１０で使用する電源を供給する電源２０を備える。また、ハンドヘルドプリンタ１０は、制御部や記録ヘッド駆動回路等の各ユニットで使用する電源に変換する電源回路２１を備える。また、電源回路２１は、バッテリの充電回路やAC電源との切り替え等を行う。ハンドヘルドプリンタ１０は、スマートデバイス１１から送信された画像データを受け付ける通信I/F２２を備える。
【００１９】
ハンドヘルドプリンタ１０は、ROM２３、DRAM２４、２以上のナビゲーションセンサ（以下、単にセンサと呼ぶ。）２５、制御部２６、操作ユニット(OPU)２７、記録ヘッド２８、記録ヘッド駆動回路２９を備える。ROM２３は、ハンドヘルドプリンタ１０のハードウェア制御を行うファームウェア、記録ヘッド２８を駆動させるための駆動波形データ、ハンドヘルドプリンタ１０の初期設定を行うための初期設定データ等を格納する。DRAM２４は、通信I/F２２が受け付けた画像データの一時的な格納、ファームウェア動作時の作業領域、ROM２３から展開されたファームウェアの格納等に使用される。
【００２０】
２以上のセンサ２５は、ハンドヘルドプリンタ１０の位置情報、記録ヘッドの位置情報を算出するために使用される。位置情報は、二次元平面における座標情報である。初期位置の位置情報は、例えば座標（0,0）とされる。２以上のセンサ２５は、初期位置を基準にして指定された縦横二方向であるX軸方向およびY軸方向への移動距離（移動量）を算出し、出力する。X軸方向およびY軸方向は、初期位置を検出する際のセンサ２５の位置を基準とし、その水平方向およびその垂直方向とされる。センサ２５が複数のノズルが並ぶ前後に設けられる場合、ノズルおよびセンサ２５が並ぶ垂直方向がY軸方向とされ、それに垂直な水平方向がX軸方向とされる。なお、センサ２５は、正確な位置座標を得るために、移動量に加えて記録ヘッド２８の回転量、加速度等を検出してもよい。回転量は、例えばY軸を基準として記録ヘッド２８の長手方向が傾いた角度とすることができる。したがって、回転量は、X軸を基準とした角度であってもよい。
【００２１】
制御部２６は、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)５５と、回転器５６と、割り込み回路５７とを含む。また、ASIC５０は、許容誤差調整回路５８と、吐出可否判定回路５９とを含む。これらは、バス６０に接続され、バス６０を介してデータ等のやりとりを行う。なお、バス６０は、バス４５とも接続され、SoC４０とASIC５０はこれらバス４５、６０を介してデータ等のやりとりを行う。
【００３６】
ナビゲーションセンサI/F５１は、センサ２５と通信し、センサ２５からの出力値であるdX、dYを受信し、その値を内部メモリである内部レジスタに格納する。タイミング生成回路５２は、センサ２５が光を照射し、印刷媒体１２からの反射光をイメージデータとして取得するタイミングの情報を生成し、その情報をナビゲーションセンサI/F５１に通知する。すなわち、タイミング生成回路５２は、印刷媒体１２を読み取るタイミングを指示する。また、タイミング生成回路５２は、記録ヘッド２８を駆動するタイミングの情報を生成し、その情報を記録ヘッド制御回路５３に通知する。すなわち、タイミング生成回路５２は、印刷を行うために複数のノズルからインクを吐出させるタイミングを指示する。
【００３７】
DMAC５５は、位置算出回路４４が算出した位置情報を基に、記録ヘッド２８が備える各ノズルの周辺画像の画像データを、DRAM２４から読み出す。イメージRAM５４は、DMAC５５が読み出した周辺画像の画像データを一時的に格納する。回転器５６は、周辺画像を、ユーザにより指定されたヘッド位置や傾きに応じて回転させ、それを記録ヘッド制御回路５３へ出力する。回転器５６は、例えば、位置算出回路４４が位置座標を算出する際に算出した回転角度を取得し、その回転角度を用いて周辺画像を回転させることができる。
【００３８】
記録ヘッド制御回路５３は、上記の記録ヘッドを駆動するタイミングの情報から制御信号を生成し、回転器５６から出力された周辺画像の画像データを受け付け、どのノズルからインクを吐出させるか判断する。記録ヘッド制御回路５３は、判断結果およびタイミングの情報に応じて、インクを吐出させるノズルの情報、印字データを記録ヘッド駆動回路２９に出力する。
【００３９】
割り込み回路５７は、ナビゲーションセンサI/F５１がセンサ２５との通信を終了した際、SoC４０にその旨を通知し、また、エラー等のステータス情報を通知する。許容誤差調整回路５８は、位置算出回路４４が算出した位置情報に基づき、目標吐出位置の許容誤差を動的に変更し、調整する。なお、目標吐出位置は、ユーザがOPU２７のスイッチで印字動作の開始を指示した時の記録ヘッド２８の位置および傾きを基準とし、画像データとそのX軸、Y軸方向の解像度(Xdpi、Ydpi)から求めることができる。吐出可否判定回路５９は、許容誤差調整回路５８により調整された許容誤差に基づき、各ノズルにつきインクを吐出させるか否かの判定を行う。
【００４０】
ここで、記録ヘッド２８および記録ヘッド駆動回路２９の構成および機能について、図７および図８を参照して説明しておく。図７に示す記録ヘッド２８および記録ヘッド駆動回路２９の構成は、インクジェット方式のプリンタで一般に採用されている構成である。記録ヘッド２８は、複数のノズルを備え、各ノズルには、アクチュエータ７０が設けられている。アクチュエータ７０は、サーマル式、ピエゾ式のいずれであってもよい。
【００４１】
記録ヘッド駆動回路２９は、アナログスイッチ７１と、レベルシフタ７２と、階調デコーダ７３と、ラッチ７４と、シフトレジスタ７５とを備えている。記録ヘッド制御回路５３は、記録ヘッド駆動回路２９に対し、記録ヘッドのノズルの数（アクチュエータ７０の数も同じ）分のシリアルデータである画像データSDを、画像データ転送クロックSCKによってシフトレジスタ７５内に転送する。転送が終了すると、記録ヘッド制御回路５３は、画像データラッチ信号SLnによりノズル毎に設けられたラッチ７４に各画像データSDを記憶させる。
【００４２】
記録ヘッド制御回路５３は、画像データSDをラッチさせた後、アナログスイッチ７１へ各階調値のインク滴を各ノズルから吐出させるためのヘッド駆動波形Vcomを出力する。このとき、記録ヘッド制御回路５３は、階調デコーダ７３に対してヘッド駆動マスクパターンMNを階調制御信号として与えるが、そのヘッド駆動マスクパターンMNを駆動波形のタイミングに合わせて選択するように遷移させる。階調デコーダ７３は、階調制御信号MNとラッチされた画像データとを論理演算し、レベルシフタ７２は、論理演算した得られた論理レベル電圧信号を、アナログスイッチ７１を駆動できる電圧レベルまで昇圧する。
【００４３】
アナログスイッチ７１は、昇圧された電圧信号を受け付け、ON/OFFすることにより、記録ヘッド内のアクチュエータ７０へ供給する駆動波形VoutNが各ノズルで異なる波形となる。記録ヘッドは、この駆動波形に基づきインク滴を吐出させ、印刷媒体１２に印刷を行う。
【００４４】
記録ヘッド駆動制御は、図８に示すタイミングで行われる。すなわち、画像データ転送クロックSCKに従って時間t1の間に各ノズルに対する画像データSDが転送される。転送後の時間t2の間に画像データSDがノズル毎にラッチされる。ラッチ後、時間t3の間に階調制御信号MN、ヘッド駆動波形Vcomが入力され、それらにより上記の演算等が行われ、画像データに基づいたインクの吐出が行われる。図８では、４つの階調制御信号MN[0]、MN[1]、MN[2]、MN[3]が階調デコーダ７３に入力されている。
【００４５】
次に、センサと各ノズルの組み付け位置の関係について、図９を参照して説明する。センサは、２以上設けられる。具体的には、図９に示すように、等間隔で一列に並ぶノズル８０の配列方向の前後に少なくとも１つずつ設けられる。センサ８１ａ、８１ｂ間の距離ｃは、長い程良い。これは、センサ８１ａ、８１ｂの位置を算出する際にその演算誤差が小さくなるからである。
【００４６】
図９では、２つのセンサ８１ａ、８１ｂが設けられている。このとき、センサ８１ａの中心から記録ヘッド２８の一端までの距離は距離ａ、センサ８１ｂの中心から記録ヘッド２８の他端までの距離は距離ｂで表すことができる。また、記録ヘッド２８の両端から該両端に最も近いノズル８０までの距離はそれぞれ距離ｄ、各ノズル８０間の距離は距離ｅで表すことができる。これらの距離ａ〜ｅは、予め決められた距離であり、センサ８１ａ、８１ｂの位置座標を算出することで、各ノズル８０の各位置座標を算出することができる。
【００４７】
印刷媒体１２の横方向を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’軸方向の差分から、下記式１により算出することができる。
【００５１】
【数１】
2016179660.tif 000003
【００５２】
並行移動成分は、印刷媒体１２に対するハンドヘルドプリンタ１０の傾きを表す角度θを保持し、三角関数を用いて、下記式２によりセンサ８１ａの移動量dX0、dY0として算出することができる。
【００５３】
【数２】
2016179660.tif 000004
【００５４】
このことから、センサ８１ａの走査後の位置座標は、(X0+dX0,Y0+dY0)として算出することができる。算出した後は、その走査後の位置座標を(X0,Y0)とし、同様の方法で、さらに走査した後の位置座標を算出することができる。
【００５５】
センサ８１ａの走査後の位置座標を算出した際、センサ８１ｂの走査後の位置座標(X1,Y1)は、下記式３により算出することができる。走査後の位置座標は(X1,Y1)として、次の走査後の位置座標を算出するため、ここでは走査後の位置座標も走査前と同様、(X1,Y1)としている。
【００５６】
【数３】
2016179660.tif 000005
【００５７】
センサ８１ａ、８１ｂで移動量を算出し、それから記録ヘッドの各ノズルの座標位置を算出する際、角度dθは無視できるほど小さい値となる。例えば、L=1inch、400mm/sという高速で走査を行い、そのサンプリング周期が100μsであった場合、1サンプリング周期で移動できる距離は40μm、回転できる角度dθは0.0015程度である。このようなdθ<<1といった条件の下では、dθ=sindθ=tandθが成立する。そこで、上記式３は、上記式１および加法定理を使用して、下記式４のように書き換えることができる。
【００５８】
【数４】
2016179660.tif 000006
【００５９】
上記式４では、走査前に比較して走査後がどれだけ回転したかを示すdθを使用してsin(θ+dθ)、cos(θ+dθ)を求める必要はなく、sinθ、cosθの値があれば、位置座標を算出することができる。この演算は、角度dθが無視できるほど小さい値であることを条件とし、前回算出した位置座標とその移動量とから位置座標を算出するため、サンプリング周期毎に実施し続ける必要がある。なお、この位置座標の算出をサンプリング周期毎に実施することにより、２つのセンサ８１ａ、８１ｂの印刷媒体１２に対する二次元座標を逐次把握することが可能となる。
【００６０】
図１１を参照して各ノズル８０の位置座標の算出方法について説明する。センサ８１ａの中心から記録ヘッドの一端までの距離は距離ａ、センサ８１ｂの中心から記録ヘッドの他端までの距離は距離ｂで表される。また、記録ヘッドの両端から該両端に最も近いノズル８０までの距離はそれぞれ距離ｄ、各ノズル８０間の距離は距離ｅで表される。これらの距離ａ〜ｅは、予め決められた距離である。センサ８１ａの位置座標は(X0,Y0)であり、センサ８１ｂの位置座標は(X1,Y1)である。
【００６１】
各ノズル８０の座標位置NZLN_X、NZLN_Yは、センサ８１ａ側から配列するノズル８０の順番をNとすると、次の式５により算出することができる。
【００６２】
【数５】
2016179660.tif 000007
【００６３】
記録ヘッドは、一列にノズル８０が並ぶものに限らず、カラー印刷を行うために、二列以上にノズル８０が並ぶものであってもよい。センサ８１ａ、８１ｂを結ぶ直線上に配列するノズル８０は、上記式５を使用してその位置座標を算出することができる。一方、その直線上にはないノズル８０については、ノズル列間の距離fと、三角関数を用いて算出することができる。
【００６４】
許容誤差調整回路５８による許容誤差の変更および吐出可否判定回路５９による吐出可否判定について説明する前に、その変更を行わない場合の吐出可否判定について説明する。図１２に示すように、画像要素の位置座標であるインクの目標吐出位置と、ノズル８０の現在位置との間には、一定の許容誤差が設けられる。この一定の許容誤差は、許容誤差範囲として、インクの目標吐出位置から求められる。
【００６５】
吐出可否判定では、ノズルの現在位置が、目標吐出位置から求められた許容誤差範囲内にある場合にのみ、インク吐出を許可すると判定する。また、一定の許容誤差であるから、目標吐出位置に対する誤差の±を表す値は同一かつ固定である。したがって、図１２に示すように、目標吐出位置にある画像要素８２を中心とし、左右上下に一定距離の破線で示される矩形の領域が許容誤差範囲８３となる。
【００６６】
現在、記録ヘッド２８が図１２に示す走査位置にあり、矢線で示す走査方向、走査速度で走査されており、ノズル８０の１つ（真ん中のノズル）がその許容誤差範囲８３内に入っている。この例では、そのノズル８０に対し、許容誤差範囲８３内にあるため、インク吐出を許可すると判定する。
【００６７】
このように、許容誤差がすべての目標吐出位置につき同一かつ固定である場合、その許容誤差範囲８３が狭ければ、目標吐出位置に対する実際のインクの着弾位置精度は向上し、高画質となる。しかしながら、吐出可否判定でインク吐出を許可すると判定される確率は低くなり、ユーザは、印字したい領域において走査を何回も行わなければならなくなる。許容誤差をなくし、目標吐出位置とノズルの現在位置とが完全に一致した場合にのみ、インク吐出を許可するようにすると、何度走査しても印字されない画像が残るということも起こり得る。
【００６８】
一方、許容誤差範囲８３を広くすると、ノズル吐出を許可すると判定される確率が高くなり、生産性が向上する。しかしながら、目標吐出位置に対する実際のインクの着弾位置精度は低下する。なお、許容誤差の上限は、目標吐出位置の解像度の±５０％であり、これ以上広い許容誤差を設定すると、１つの目標吐出位置に対し、複数のノズル８０がインク吐出を許可されてしまう。
【００６９】
このことから、１回の走査で確実に印字を行うことと、その条件の下で目標吐出位置に極力近づけることを両立するためには、許容誤差範囲８３は、目標吐出位置の解像度の±５０％であることが望ましい。
【００７０】
このように±５０％の許容誤差としても、記録ヘッド２８が傾いて走査される場合、同一目標吐出位置に対する許容誤差範囲８３内に複数のノズル８０が入る場合がある。そのような場合に、記録ヘッド制御回路５３は同一の目標吐出位置の許容誤差範囲に対して複数のノズル８０から吐出しないように、同一の目標吐出位置の許容誤差範囲に対して１つのノズルからのみ吐出が許可されるように吐出制御する。この吐出制御は、例えば目標吐出位置に対して最も距離が近いノズルからのみ吐出が許可されるように行う、もしくはy座標軸上において、目標吐出位置に対して最も距離が近いノズルからのみ吐出が許可されるように行う、またはx座標軸上において、目標吐出位置に対して最も距離が近いノズルからのみ吐出が許可されるように行うことができる。
【００７１】
図１３にそれを例示すると、各目標吐出位置に対する各許容誤差範囲内に各ノズル８０が入っている。ただし、真ん中のノズルだけは、２つの許容誤差範囲の境界に位置している。この場合、記録ヘッド制御回路５３は、真ん中のノズル以外からは吐出し、真ん中のノズルからは吐出しないように制御する。記録ヘッド２８の傾きとY軸方向の位置が、図１３（ａ）〜（ｃ）に示す時刻T=1からT=3において大きく変化しない場合、吐出されない真ん中のノズルが固定化される。このため、印刷結果は、図１３（ｄ）に示すように、真ん中のノズルが通過する部分のみ印字されない白い線状の白スジが発生する。
【００７２】
なお、記録ヘッド２８は一列に配列する複数のノズル８０を備えるため、白スジは一本に限らず、複数本発生する場合もある。そして、それが干渉縞となって現れる場合もある。この白スジや干渉縞の発生を抑えるべく、許容誤差調整回路５８が画像要素毎に許容誤差の範囲を変更し、吐出可否判定回路５９がその変更された許容誤差範囲を用いて吐出可否判定を行う。すなわち、許容誤差の範囲を調整して、吐出されないノズルを固定化しないようにする。
【００７３】
同じノズルから吐出されないように制御すると、その部分が白スジとなって目立つが、上記のように許容誤差の範囲を変更して、吐出されないノズルを変えることで、インクのない白い部分が分散し、白スジの発生を防止することができる。白スジは、印刷された画像を見る上で目立つが、分散された白い点は、画像を見る上でそれ程目立たない。
【００７４】
図１４を参照して、制御部２６が行う印刷制御の流れを説明する。ステップ１４００から制御を開始し、ステップ１４０１では、ユーザがスマートデバイス１１の電源ボタンを押下すると、スマートデバイス１１はそれを受け付け、電池やバッテリ等から電源を供給して起動する。ハンドヘルドプリンタ１０も電源をONにして起動する。ステップ１４０２では、ユーザがスマートデバイス１１上で印刷する画像を選択し、スマートデバイス１１はその画像の選択を受け付ける。ステップ１４０３では、ユーザが選択した画像の印刷を指示し、スマートデバイス１１が印刷ジョブの実行をハンドヘルドプリンタ１０に対して要求する。この要求で画像データがハンドヘルドプリンタ１０へ送信される。このとき、出力範囲や画質等の印刷設定情報も同時に送信される。これにより、制御部２６は、画像データおよび印刷設定情報を取得する。
【００７５】
ステップ１４０４では、制御部２６が、取得した情報に基づきASIC５０の初期設定を行う。この初期設定では、画像データの格納先の設定、許容誤差範囲８３の設定、各回路の初期化等を行う。ユーザは、ハンドヘルドプリンタ１０を持ち、印刷したい媒体、例えばノート上で初期位置を決め、ハンドヘルドプリンタ１０の印刷開始ボタンを押下する。ステップ１４０５では、ハンドヘルドプリンタ１０がその印刷開始ボタンの押下を受け付け、ASIC５０を起動し、センサ２５による読み取りを開始する。また、各回路を起動する。センサ２５は、即座に初期位置を検出し、続いて自動読み取りを行い、移動量の算出を行い、一定周期毎に算出した移動量をセンサ出力値として出力する。
【００７６】
ステップ１４０６では、ASIC５０が、センサ２５からセンサ出力値を受け付け、センサ２５の位置情報の読み取りが完了したかを判断する。センサ出力値を受け付けるまで、この判断処理は繰り返される。そのセンサ出力値を受け付けると、ステップ１４０７へ進み、SoC４０の位置算出回路４４が、記録ヘッド２８の位置や回転角度を算出する。この位置は、二次元の位置座標として算出される。ステップ１４０８では、SoC４０が記録ヘッド２８の位置座標をASIC５０に通知し、ASIC５０が、その記録ヘッド２８の位置座標や回転角度から各ノズルの位置座標を算出する。なお、センサ２５、位置算出回路４４等は、ハンドヘルドプリンタ１０の移動情報としての移動量、記録ヘッド２８の位置、回転角度等を取得する取得手段として機能する。
【００７７】
ステップ１４０９では、ASIC５０が、各ノズルの位置座標を基に、周辺画像の画像データをDRAM２４からイメージRAM５４へ読み出し、その周辺画像を構成する各画像要素の位置座標の許容誤差を算出する。このとき、ASIC５０の許容誤差調整回路５８が許容誤差を変更する。ステップ１４１０では、吐出可否判定回路５９が、ノズルの位置が許容誤差範囲８３内に入っているかどうかを判断することによりインクの吐出可否を判定する。ステップ１４１１では、インクを吐出させるために、記録ヘッド制御回路５３へ対応する画像要素の印字データを出力する。
【００７８】
ステップ１４１２では、印字が完了したかどうかを判断する。印字すべき画像を全て出力し終えた場合、ユーザが途中で印字を中断した場合、印字を停止すべきエラーが発生した場合に印字を完了する。これらの条件が発生しない場合は、ステップ１４０６へ戻り、次の位置情報を読み取る制御に戻る。印字が完了したと判断した場合、ステップ１４１３へ進み、この制御を終了する。
【００７９】
ステップ１４０９で行う許容誤差の変更は、例えば、図１５に示す調整テーブルを使用して実施することができる。図１５（ａ）に示すテーブルは、X座標に応じてY座標の許容誤差範囲を選択するテーブルとされている。この例では、３つのパターンから選択するようになっており、X軸座標が３の倍数、すなわち3Nの場合は一番上の許容誤差を、3N+1の場合は真ん中の許容誤差を、3N+2の場合は一番下の許容誤差を使用するように規定されている。
【００８０】
図１５（ａ）に示すテーブルを使用して許容誤差範囲を変更し、吐出可否判定を行い、インクを吐出したときの様子を、図１６に例示する。図１３では、印刷結果が、白スジを発生させるものとなっていた。これに対し、図１６では、破線で示される許容誤差範囲８３が二列目、三列目でY軸方向に変更されているため、時刻T1では最上部のノズル、真ん中のノズルが吐出しないように制御されている。また、次の時刻T2では全てのノズルから吐出されるように制御され、さらに次の時刻T3では最下部のノズルが吐出しないように制御されている。このように、許容誤差範囲８３を変更して、吐出されないノズルが固定化されないようにすることで、印刷結果において白丸で示される何も印字されない部分が分散し、白スジの発生を防止することができる。
【００８１】
このような制御は、図１６に示すように、X軸方向への走査に対し、許容誤差範囲８３のY軸方向の設定をX軸方向の位置によって変化させることにより実現されている。図１６では、T=1のとき許容誤差範囲の境界付近に位置していた真ん中のノズルが、T=2、T=3では許容誤差範囲がY軸方向へシフトしたことにより、境界付近から許容誤差範囲内に入ることになり、吐出するノズルとして選択されている。その一方で、T=1、T=2では許容誤差範囲内に入っていた最下部のノズルがT=3では許容誤差範囲から外れ、吐出されないノズルとなっている。
【００８２】
記録ヘッド２８がX軸方向へ移動する場合は、白スジがX軸方向へ延びるように発生するため、図１５（ａ）に示すテーブルを使用し、吐出されないノズルを図１６に示すようにY軸方向へ分散させるように制御することができる。これは一例であるので、Y軸方向へシフトさせることに限られるものではない。
【００８３】
記録ヘッド２８のノズル列をX軸方向と略平行（わずかに傾きを持たせている状態）とし、Y軸方向に移動する条件では、図１５（ｂ）に示すテーブルを使用して制御することができる。この場合、吐出されないノズルをX軸方向へ分散させるように制御することができる。これも一例であるので、X軸方向へシフトさせることに限られるものではない。
【００８４】
上記の例ではいずれか一方向のみシフトさせるため、X軸方向へ分散させる制御と、Y軸方向へ分散させる制御との切り替えが問題となる。しかしながら、図１５（ｃ）に示すテーブルを参照し、記録ヘッド２８の傾きに基づき、許容誤差範囲を変更するかを判断し、いずれのテーブルを使用して変更するかを決定することができる。このテーブルは、切り替える際の判定条件を示すテーブルである。白スジは、記録ヘッド２８がX軸方向に対して略平行もしくはY軸方向に対して略平行になると目立つことから、記録ヘッド２８とY軸との成す角が０°、９０°、１８０°、…の近辺で許容誤差範囲８３を変更することができる。
【００８５】
なお、許容誤差範囲８３の変更は、図１５に示すテーブルのほか、計算式を用いてX軸方向、Y軸方向の範囲を変更するための調整値を求め、許容誤差範囲８３をその調整値により変更することができる。例えば、記録ヘッド２８とY軸との成す角をθとし、X軸方向の座標をx、Y軸方向の座標をyとし、上記の調整値としての許容誤差範囲シフト量をΔx、Δy(％)とすると、下記式６により算出することができる。
【００８６】
【数６】
2016179660.tif 000008
【００８７】
ちなみに、A mod Bは、AをBで割ったときの剰余であり、上記式６は、一般的に下記式７のように表現することができる。下記式７中、f(A)は、Aの関数であり、THは、閾値である。
【００８８】
【数７】
2016179660.tif 000009
【００８９】
図１５に示す調整テーブルを用いて許容誤差を変更する場合、図１５（ｃ）に示すテーブルを参照して、図１５（ａ）に示すテーブルを用いるか、図１５（ｂ）に示すテーブルを用いるかを選択するテーブルの切り替えが必要である。テーブルの切り替えを行う場合、不均一さが発生するため、テーブルの切り替えがない方が望ましい。そこで、許容誤差調整をX軸方向のみ、Y軸方向のみといった一次元ではなく、図１７に示すようなX軸方向とY軸方向の両方を扱う二次元の入力データに基づき設定したテーブルを用いることができる。このテーブルを用いることで、テーブルの切り替えが不要になるため、不均一さに基づくスジの発生をなくすことができる。
【００９０】
この場合も、テーブルのほか、計算式を用いて調整値を求め、許容誤差範囲８３をその調整値により調整することで、許容誤差範囲８３を変更することができる。X軸方向の座標をx、Y軸方向の座標をyとし、許容誤差範囲シフト量をΔx、Δy(％)とすると、この許容誤差範囲シフト量は、下記式８により算出することができる。また、下記式８は、一般的に下記式９にように表現することができる。下記式９中、f(A,B)、g(A,B)は、AとBの関数を表す。
【００９１】
【数８】
2016179660.tif 000010
【００９２】
【数９】
2016179660.tif 000011
【００９３】
図１７に示すテーブルを用い、許容誤差範囲を変更した場合の目標吐出位置と許容誤差範囲とを、図１８に例示する。図１６に示した許容誤差範囲８３の一次元のシフトの場合とは異なり、許容誤差範囲８３が重複する領域が発生し、また、許容誤差範囲同士が隣接せず、重複もしない空白領域が発生する。図１８では、斜線で示される矩形の領域間に、空白領域が発生している。このように許容誤差範囲８３が印字領域全体を網羅することができない場合、出力したい画像要素のインクが吐出されない可能性がある。これでは画像品質が低下するため、印字領域全体を網羅できるようにしなければならない。
【００９４】
そこで、１つの方法として、許容誤差範囲８３を拡大する方法がある。例えば、予め指定された倍率で許容誤差範囲８３を拡大することができる。例えば、図１７中の±５０％を±６０％、＋７０％／−３０％を＋８０％／−４０％のように範囲を広げることができる。このように範囲を広げることで、重複する領域は広がるものの、網羅されない状況をなくすことができる。ここでは、倍率としたが、倍率に限られるものではなく、一定の値を増減することで、範囲を拡大させてもよい。
【００９５】
その他の方法として、矩形以外の形状の領域で許容誤差範囲８３を指定する方法を挙げることができる。図１９に示すような位置毎に許容誤差範囲８３の形状を変えることで、許容誤差範囲８３が印字領域全体を網羅されないという状況をなくすことができる。例えば、空白領域に隣接する許容誤差範囲８３を特定し、特定した許容誤差範囲８３の面積が均等になるように空白領域を分割し、特定した許容誤差範囲８３に加える方法を採用することができる。なお、これは一例であるため、この方法に限定されるものではない。
【００９６】
また、空白領域があっても、吐出されないノズルが発生しないよう、空白領域間の最短距離を、インクの吐出間隔の最大値より大きくすることで、インクの不吐出の発生を防止することができる。空白領域間の最短距離がインクの吐出間隔の最大値と同じか、小さい場合、空白領域上に連続してノズルが位置し、インクが連続して吐出されず、そのインクの不吐出が白スジとなる可能性があるからである。
【００９７】
これまでに説明してきた処理により、吐出されないノズルを分散させ、白スジの発生を防止することができるが、この方法は、ベタ画像や中間調画像に対しては効果が見込める。しかしながら、例えば走査方向と平行な細線等、白スジが発生しにくい画像に対して、このような処理を行うと、線がぼやけて却って画質の劣化に繋がる場合がある。
【００９８】
図２０および図２１は、細線を印字する場合の例を示した図で、図２０は、許容誤差範囲８３の変更を行わない場合の例で、図２１は、許容誤差範囲８３の変更を行った場合の例である。図２１を見て分かるように、吐出されないノズルを分散させる、許容誤差範囲８３を変更した場合の方が、画質が劣化している。これは、許容誤差範囲８３をY軸方向にシフトさせた結果、それまでインクを吐出していたノズルが許容誤差範囲８３内に入らなくなってしまい、他のノズルが許容誤差範囲８３内に入ったためである。
【００９９】
このことから、画像の特性を検出し、その特性に基づき、許容誤差範囲８３を変更するかどうかを判断し、その特性が上記のような走査方向と平行な細線からなるものである場合、許容誤差範囲８３の変更を行わないようにすることが望ましい。このため、制御部２６は、画像の特性を検出する特性検出手段、許容誤差を変更するか否かを判断する調整有無判断手段をさらに備えることができる。
【０１００】
なお、画像の特性を検出する方法としては、従来から用いられている像域分離手段によりテキスト領域とグラフィック領域に分ける方法を挙げることができる。テキストは、走査方向に平行な細線部分が多いことから、許容誤差範囲８３の変更を行わない方が望ましく、グラフィック領域は、白スジが発生しないように許容誤差範囲８３の変更を行う必要があるからである。このほか、例えば、Y軸方向の両側にはデータがなく、走査方向であるX軸方向に黒データが連続しているような、インクの吐出が連続する場合にのみ、許容誤差範囲の変更を行わないとし、その判断を簡略化することもできる。
【０１０１】
以上のことから、許容誤差調整回路５８により許容誤差範囲の変更および吐出可否判定回路５９により判定を行うことで、白スジや干渉縞の発生を防止することが可能となる。また、許容誤差範囲の変更を行うかどうかを判断することができる構成を採用することで、白スジの顕著な領域のみに絞ってその範囲を変更することができる。
【０１０２】
また、上記のように空白領域を減少させる、もしくは無くす、または不吐出を発生させないようにすることにより、白スジにも繋がるインクの不吐出を減少、もしくは無くすことができる。さらに、画像の特性を検出し、その特性に基づき変更を行うことで、白スジが発生すると目立ちやすい画像に限定して許容誤差を変更することができる。
【０１０３】
これまで本発明を、印刷装置、印刷システムおよび印刷方法として上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１０４】
１０…ハンドヘルドプリンタ、１１…スマートデバイス、２０…電源、２１…電源回路、２２…画像データ通信I/F、２３…ROM、２４…DRAM、２５…センサ、２６…制御部、２７…OPU、２８…記録ヘッド、２９…記録ヘッド駆動回路、３０…ホストI/F、３１…イメージプロセッサ、３２…LEDドライブ、３３、３４…レンズ、３５…イメージアレイ、３６…印刷媒体、４０…SoC、４１…CPU、４２…メモリコントローラ、４３…位置算出回路、４４…バス、５０…ASIC、５１…ナビゲーションセンサI/F、５２…タイミング生成回路、５３…記録ヘッド制御回路、５４…イメージRAM、５５…DMAC、５６…回転器、５７…割り込み回路、５８…許容誤差調整回路、５９…吐出可否判定回路、６０…バス、７０…アクチュエータ、７１…アナログスイッチ、７２…レベルシフタ、７３…階調デコーダ、７４…ラッチ、７５…シフトレジスタ、８０…ノズル、８１ａ、８１ｂ…センサ、８２…画像座標、８３…許容誤差範囲
【先行技術文献】
【特許文献】
【０１０５】
【特許文献１】特表２０１０−５２００８７号公報
【特許文献２】特願２０１４−１９８７４９号
【図１】
2016179660.tif 000012
【図２】
2016179660.tif 000013
【図３】
2016179660.tif 000014
【図４】
2016179660.tif 000015
【図５】
2016179660.tif 000016
【図６】
2016179660.tif 000017
【図７】
2016179660.tif 000018
【図８】
2016179660.tif 000019
【図９】
2016179660.tif 000020
【図１０】
2016179660.tif 000021
【図１１】
2016179660.tif 000022
【図１２】
2016179660.tif 000023
【図１３】
2016179660.tif 000024
【図１４】
2016179660.tif 000025
【図１５】
2016179660.tif 000026
【図１６】
2016179660.tif 000027
【図１７】
2016179660.tif 000028
【図１８】
2016179660.tif 000029
【図１９】
2016179660.tif 000030
【図２０】
2016179660.tif 000031
【図２１】
2016179660.tif 000032