(57)【要約】【課題】  フリーハンド走査して印字を行う場合にノズルの正確な位置の算出や印字制御を行うことができる印刷装置および印刷方法を提供する。【解決手段】  算出された２以上のセンサの位置に基づき、初期位置に対する印刷媒体上の各ノズルの位置を算出するノズル位置算出手段と、算出された各ノズルの位置に基づき、印刷すべき画像の画像データを格納する格納手段から印刷すべき画像のうちの所定領域の画像データを取得する取得手段と、算出された各ノズルの位置と、取得された所定領域の画像データを印刷媒体上に印刷した場合の所定領域の画像を構成する各画像要素の位置とに基づき、各ノズルにつき液滴を吐出させるか否かを判断する判断手段と、指示されたタイミングと判断結果とに応じて、液滴の吐出を制御する制御手段へ、１以上の画像要素のデータと、液滴を吐出させるべき１以上のノズルの情報とを送信する送信手段とを含む。【選択図】  図２
2020100151.tif 000002
【特許請求の範囲】
【請求項１】
印刷媒体上の同じ部分を複数回繰り返すように移動させて印刷が可能な印刷装置であって、
前記印刷媒体上に印刷を行うための液滴を吐出する複数のノズルを含む記録ヘッドと、
移動による前記記録ヘッドの状態に応じて、印刷すべき画像を回転させる回転手段と、
前記印刷媒体の読み取りに応じて求めた移動距離と前回の位置とに基づいて、指定された初期位置に対する前記印刷媒体上の前記ノズルそれぞれの位置の予測値を決定するノズル位置決定手段と、
前記記録ヘッドの駆動周期のトリガに従い、決定された前記各ノズルの位置の予測値に基づき、回転させた前記画像を構成する各画像要素を前記記録ヘッドに転送し、前記各画像要素を印刷するために前記記録ヘッドの前記各ノズルによる前記液滴の吐出を制御する制御手段と
を含み、
前記制御手段は、前記画像と前記液滴を吐出して印刷した印刷済みの箇所とを比較し、印刷すべき箇所に前記液滴を吐出させたかどうかを判断する、印刷装置。
【請求項２】
前記制御手段は、前記画像と前記印刷済みの箇所との比較において、前記画像の前記液滴を吐出した箇所を白色で書き戻し、前記印刷済みの箇所と、白色で書き戻した箇所とを比較する、請求項１に記載の印刷装置。
【請求項３】
前記制御手段は、前記ノズルの位置と、前記画像要素の位置とが一致する場合に、該ノズルから前記液滴を吐出させると判断する、請求項１または２に記載の印刷装置。
【請求項４】
前記制御手段は、前記ノズルの位置が、前記画像要素を含む予め設定された領域内である場合に、該ノズルから前記液滴を吐出させると判断する、請求項１または２に記載の印刷装置。
【請求項５】
決定された前記各ノズルの位置に基づき、前記画像の画像データを格納する格納手段から該画像のうちの所定領域の画像データを取得する取得手段を含み、
前記制御手段は、決定された前記各ノズルの位置と、前記取得手段により取得され、前記回転手段により回転させた前記所定領域の画像データの画像を構成する各画像要素の位置とに基づき、前記各ノズルにつき前記液滴を吐出させるか否かを判断する、請求項１〜４のいずれか１項に記載の印刷装置。
【請求項６】
請求項１〜５のいずれか１項に記載の印刷装置と、前記印刷装置に画像データを送信する電子機器とを含む、印刷システム。
【請求項７】
印刷媒体上の同じ部分を複数回繰り返すように移動させて印刷が可能な印刷方法であって、
前記印刷媒体の読み取りに応じて求めた移動距離と前回の位置とに基づいて、指定された初期位置に対する前記印刷媒体上の、印刷を行うために液滴を吐出する記録ヘッドのノズルそれぞれの位置の予測値を決定するステップと、
移動による前記記録ヘッドの状態に応じて、印刷すべき画像を回転させるステップと、
前記記録ヘッドの駆動周期のトリガに従い、決定された前記各ノズルの位置の予測値に基づき、回転させた前記画像を構成する各画像要素を前記記録ヘッドに転送し、前記各画像要素を印刷するために前記記録ヘッドの前記各ノズルによる前記液滴の吐出を制御するステップと、
前記画像と前記液滴を吐出して印刷した印刷済みの箇所とを比較し、印刷すべき箇所に前記液滴を吐出させたかどうかを判断するステップと
を含む、印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷媒体上を移動させることにより印刷を行う印刷装置、その印刷装置を含む印刷システムおよびその印刷方法に関する。
【背景技術】
【０００２】
ノートＰＣの小型化やスマートフォン等のスマートデバイスの急激な普及により、プリンタも容易に持ち運び可能な小型化が大きな要望の１つとして挙げられている。このような要望に鑑み、紙搬送システムを削除し、人の手で紙面等の平面上を自由に走査（フリーハンド走査）しながらインクを塗布するハンドヘルドプリンタが提案されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１では、フリーハンド走査して印字を行う場合のインクを吐出するノズルの位置の位置決めを簡単に説明するのみで、どのような原理、演算で正確な位置を求めているかが明確にされていない。また、位置情報を得てから印字するまでの印字制御の流れも明確にされていない。これでは、ハンドヘルドプリンタを提供するにしても、そのハンドヘルドプリンタでは、ノズルの正確な位置の算出や印字制御を行うことはできない。
【０００４】
そこで、フリーハンド走査して印字を行う場合にノズルの正確な位置の算出や印字制御を行うことができる印刷装置や印刷方法の提供が望まれている。
【課題を解決するための手段】
【０００５】
本発明は、上記課題に鑑み、印刷媒体上を移動させることにより印刷を行う印刷装置であって、印刷媒体を読み取り、読み取った該印刷媒体の画像から移動距離を算出する２以上のセンサと、印刷を行うために複数のノズルから液滴を吐出させるタイミングを指示する指示手段と、２以上のセンサにより算出された２以上の移動距離を用いて、指定された初期位置に対する印刷媒体上の各センサの位置を算出するセンサ位置算出手段と、センサ位置算出手段により算出された２以上のセンサの位置に基づき、初期位置に対する印刷媒体上の各ノズルの位置を算出するノズル位置算出手段と、ノズル位置算出手段により算出された各ノズルの位置に基づき、印刷すべき画像の画像データを格納する格納手段から該印刷すべき画像のうちの所定領域の画像データを取得する取得手段と、ノズル位置算出手段により算出された各ノズルの位置と、取得手段により取得された所定領域の画像データを印刷媒体上に印刷した場合の該所定領域の画像を構成する各画像要素の位置とに基づき、各ノズルにつき液滴を吐出させるか否かを判断する判断手段と、指示手段により指示されたタイミングと判断手段の判断結果とに応じて、液滴の吐出を制御する制御手段へ、１以上の画像要素のデータと、液滴を吐出させるべき１以上のノズルの情報とを送信する送信手段とを含む、印刷装置が提供される。
【発明の効果】
【０００６】
本発明によれば、フリーハンド走査して印字を行う場合にノズルの正確な位置の算出や印字制御を行うことができる印刷装置や印刷方法を提供することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態の印刷装置としてのハンドヘルドプリンタを含む印刷システムの構成例を示した図。
【図２】ハンドヘルドプリンタのハードウェア構成を示した図。
【図３】ナビゲーションセンサの詳細な構成を示した図。
【図４】ナビゲーションセンサの機能について説明する図。
【図５】制御モジュールの詳細な構成を示した図。
【図６】記録ヘッドモジュールおよび記録ヘッド駆動回路の詳細な構成を示した図。
【図７】記録ヘッドの駆動制御のタイミングチャート。
【図８】印刷システムにより実行される処理の流れを示したフローチャート。
【図９】ハンドヘルドプリンタにおいて実行される詳細な処理の流れを示したフローチャート。
【図１０】ナビゲーションセンサと記録ヘッドのノズルの位置関係を示した図。
【図１１】ナビゲーションセンサの位置を算出する方法を説明する図。
【図１２】一列に配列する各ノズルの位置を算出する方法を説明する図。
【図１３】二列に配列する各ノズルの位置を算出する方法を説明する図。
【図１４】各ノズルの位置を簡易に算出する１つの方法を説明する図。
【図１５】各ノズルの位置を簡易に算出する別の方法を説明する図。
【図１６】位置を算出してから記録ヘッドからインクを吐出するまでのタイミングチャート。
【図１７】位置情報、画像座標、画像データの格納アドレスを説明する図。
【図１８】１駆動周期当たりに進む座標値を示した表。
【図１９】位置情報と転送すべき画像データの画像領域を示す必要転送領域とを説明する図。
【図２０】インクを吐出させるか否かを判定する１つの方法を説明する図。
【図２１】インクを吐出させるか否かを判定する別の方法を説明する図。
【発明を実施するための形態】
【０００８】
図１は、本実施形態の印刷装置としてのハンドヘルドプリンタを含む印刷システムの構成例を示した図である。ハンドヘルドプリンタ１０は、人が片手で持ち運びできる大きさ、重量とされ、ノートや定型用紙等の印刷媒体１２上を自由に移動させて、その印刷媒体１２上に画像を形成することができるプリンタである。
【０００９】
ハンドヘルドプリンタ１０は、インク等の液滴をノズルから吐出して印刷媒体１２上に画像を形成するインクジェット方式のプリンタとすることができる。なお、ハンドヘルドプリンタ１０は、これに限られるものではなく、細いピンをインクリボンに叩き付けて印刷するドットインパクト方式等を採用することもできる。また、ハンドヘルドプリンタ１０は、モノクロプリンタであってもよいし、カラープリンタであってもよい。
【００１０】
ハンドヘルドプリンタ１０は、印刷する対象の画像データを受信し、受信した画像データに基づき、印刷媒体１２上にインク等を吐出して画像を形成する。画像データは、文字のみからなるテキストデータであってもよいし、図、絵、写真等を含む文書データ、表データ等であってもよい。ハンドヘルドプリンタ１０は、画像データとともに、印刷設定情報を受信し、印刷設定情報に基づき画像を形成することができる。印刷設定情報としては、モノクロ／カラーの指定等を挙げることができる。
【００１１】
ハンドヘルドプリンタ１０は、赤外線通信、Bluetooth（登録商標）、WiFi（登録商標）等の無線通信により、画像データを保持する機器としてのスマートデバイス１１から画像データを受信する。ハンドヘルドプリンタ１０は、スマートデバイス１１からの画像データを、直接受信してもよいし、アクセスポイント等を介して受信してもよい。ハンドヘルドプリンタ１０は、無線通信に限られるものではなく、ケーブル等で接続し、有線通信により画像データを受信してもよい。
【００１２】
スマートデバイス１１は、例えば、スマートフォン、タブレット端末、ノートPC等の電子機器とされ、ハンドヘルドプリンタ１０と無線通信を行い、自身が保持する画像データをハンドヘルドプリンタ１０へ送信する。また、スマートデバイス１１は、サーバ等の他の機器から受信して取得した画像データを、ハンドヘルドプリンタ１０へ送信することもできる。
【００１３】
スマートデバイス１１は、画像データ、その画像データを表示するアプリケーション、OS等を記憶する記憶装置、アプリケーションを実行するCPU、画像を表示する表示装置、その画像の印刷指示を入力する入力装置を備える。なお、表示装置、入力装置は、別個の装置として構成されたものに限らず、これらの機能を備えるタッチパネルとされていてもよい。
【００１４】
ユーザは、スマートデバイス１１の電源を入れ、アプリケーションを起動させ、画像データを表示させる。ユーザは、その画像データを印刷したい場合、例えば、タッチパネルに表示された印刷開始ボタンをタップすることにより印刷を指示することができる。この印刷指示を受けて、スマートデバイス１１は、その画像データを、無線通信によりハンドヘルドプリンタ１０へ送信する。
【００１５】
ハンドヘルドプリンタ１０は、スマートデバイス１１から印刷対象の画像データを受信する。ユーザは、ハンドヘルドプリンタ１０を持ち、印刷媒体１２上を自由に移動させる。この間、ハンドヘルドプリンタ１０は、各ノズルの位置を算出する。実際には、ハンドヘルドプリンタ１０は、各ノズルの位置を、最初に決められた初期位置を基準とした座標位置として算出する。そして、ハンドヘルドプリンタ１０は、例えば、受信した画像データを構成する画像要素のデータ（印字データ）の座標位置と算出した座標位置とが一致する場合に、その印字データを、記録ヘッドを制御する制御モジュールに送る。複数のノズルを有する記録ヘッドは、制御モジュールの制御を受けて、その座標位置にあるノズルからインクを吐出させ、印字を行う。ハンドヘルドプリンタ１０は、これを繰り返して印刷媒体１２上に画像を形成する。
【００１６】
ハンドヘルドプリンタ１０は、図１に示すように、箱状のものとされ、インクを吐出するための複数のノズルを有する。ハンドヘルドプリンタ１０は、複数のノズルを有する面を、平面状の印刷媒体１２に押し当てるようにして使用される。複数のノズルは、押し当てた際に、その先端が印刷媒体１２から離間するように配置されている。なお、ノズル先端から印刷媒体１２までの距離は、ノズルからインクを吐出して適切に印字することができる距離として予め決定されている。ユーザは、印刷媒体１２にハンドヘルドプリンタ１０の複数のノズルを有する面を押し当て、印刷媒体１２上を左から右へ、一段下げて、右から左へ、というように移動させることにより印刷媒体１２に印刷を行う。
【００１７】
図２は、ハンドヘルドプリンタ１０のハードウェア構成を示した図である。なお、スマートデバイス１１については、通常のPCやスマートフォン等の構成と同様であり、上記で簡単に説明したので、その説明については省略する。ハンドヘルドプリンタ１０は、電池等の電源２０、各ユニットへ供給する電源を制御する電源回路２１を備える。また、ハンドヘルドプリンタ１０は、スマートデバイス１１から送信された画像データを受け付ける画像データ通信I/F２２を備える。
【００１８】
ハンドヘルドプリンタ１０は、さらに、メモリ２３、２以上のナビゲーションセンサモジュール２４、制御モジュール２５、操作ユニット(OPU)２６、記録ヘッドモジュール２７、記録ヘッド駆動回路２８を備える。メモリ２３は、ハンドヘルドプリンタ１０のハードウェア制御を行うファームウェアや記録ヘッドを駆動させるための駆動波形データ等を格納する。
【００１９】
２以上のナビゲーションセンサモジュール２４は、詳細は後述するが、ハンドヘルドプリンタ１０の初期位置を検出し、初期位置の位置情報として出力する。位置情報は、二次元平面における座標情報である。初期位置の位置情報は、例えば座標（0,0）とされる。また、２以上のナビゲーションセンサモジュール２４は、初期位置を基準にして指定された縦横二方向であるX軸方向およびY軸方向への移動距離を算出し、出力する。X軸方向およびY軸方向は、初期位置を検出する際のナビゲーションセンサモジュール（センサ）２４の位置を基準とし、その水平方向およびその垂直方向とされる。センサが複数のノズルが並ぶ前後に設けられる場合、ノズルおよびセンサが並ぶ垂直方向がY軸方向とされ、それに垂直な水平方向がX軸方向とされる。
【００２０】
制御モジュール２５は、これに限られるものではないが、SoC(System on chip)と、ASIC(Application Specific Integrated Circuit)とから構成することができる。ASICではなく、製造後にユーザが構成を設定できるFPGA(Field Programmable gate alley)を用いてもよい。制御モジュール２５は、ハンドヘルドプリンタ１０全体の制御を行う。制御の内容については後述する。OPU２６は、操作ボタンや液晶ディスプレイ(LCD)等を含む。OPU２６は、タッチパネルを備えていてもよい。OPU２６は、ユーザからの入力を受け付け、ユーザに対して処理の状況やエラー等を通知することができる。
【００２１】
記録ヘッドモジュール２７は、インクを吐出するための複数のノズルを有する記録ヘッドを備える。記録ヘッド駆動回路２８は、印刷を行うための印字データと印字タイミングを指示する印字タイミング情報とを受け付ける。記録ヘッド駆動回路２８は、印字タイミング情報で指示された印字タイミングに従い、印字データに基づき印刷媒体１２にインクの吐出を行うことができるように記録ヘッドの駆動制御を行う。
【００２２】
画像データ通信I/F２２が、スマートデバイス１１から印刷ジョブ（画像データ）を受信すると、制御モジュール２５が、２以上のセンサからの入力情報を基に、記録ヘッド上の各ノズルの位置を算出する。受信した画像データは、メモリ２３に格納される。ユーザは、ハンドヘルドプリンタ１０を片手で持ち、それを自由に移動させて印刷媒体１２上を走査するが、制御モジュール２５は、その走査中、各ノズルの位置を算出し続ける。そして、制御モジュール２５は、算出した位置に応じた所定領域の画像（周辺画像）のみをメモリ２３から取得する。
【００２３】
制御モジュール２５は、取得した周辺画像と算出した各ノズルの位置を比較し、１以上のノズルにつき合致と判断した場合、該１以上のノズルに対する印字データを記録ヘッド駆動回路２８へ送る。記録ヘッド駆動回路２８は、印字タイミング情報も受け付け、記録ヘッドの駆動制御を行い、記録ヘッドにより印刷を実行させる。
【００２４】
ここで、各モジュール等の詳細な構成および機能について説明する。まず、ナビゲーションセンサモジュール２４について、図３を参照して説明する。ナビゲーションセンサモジュール２４は、ホスト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軸方向の移動距離であり、センサは、これらの移動距離を出力する。したがって、ユーザによりハンドヘルドプリンタ１０が印刷媒体１２上で左右いずれかの方向へ回転され、それに従ってナビゲーションセンサモジュール２４も回転したとしても、その回転成分を検知することはできない。ちなみに、上記の移動距離の単位は、デバイスに依存するが、プリンタを想定した場合、例えば1200dpi程度の分解能が必要である。
【００３１】
次に、制御モジュール２５の詳細な構成および機能について、図５を参照して説明する。制御モジュール２５は、SoC４０と、ASIC５０とから構成される。SoC４０は、ハンドヘルドプリンタ１０全体の制御を行うCPU４１と、メモリ２３を制御するメモリコントローラ(CTL)４２と、センサの位置や各ノズルの位置を算出する位置算出回路４３とを含む。これらは、バス４４に接続され、バス４４を介してデータ等のやりとりを行う。
【００３２】
ASIC５０は、ナビゲーションセンサI/F５１と、タイミング生成回路５２と、記録ヘッド制御回路５３と、イメージRAM５４、DMAC(Direct Memory Access Controller)５５と、回転器５６と、割り込み回路５７とを含む。これらは、バス５８に接続され、バス５８を介してデータ等のやりとりを行う。なお、バス５８は、バス４４とも接続され、SoC４０とASIC５０はこれらバス４４、５８を介してデータ等のやりとりを行う。
【００３３】
ナビゲーションセンサI/F５１は、センサと通信し、そのセンサからの出力値であるdX、dYを受信し、その値を内部メモリである内部レジスタに格納する。タイミング生成回路５２は、センサが光を照射し、印刷媒体１２からの反射光をイメージデータとして取得するタイミングの情報を生成し、その情報をナビゲーションセンサI/F５１に通知する。すなわち、タイミング生成回路５２は、印刷媒体１２を読み取るタイミングを指示する。また、タイミング生成回路５２は、記録ヘッドを駆動するタイミングの情報を生成し、その情報を記録ヘッド制御回路５３に通知する。すなわち、タイミング生成回路５２は、印刷を行うために複数のノズルからインクを吐出させるタイミングを指示する。
【００３４】
DMAC５５は、位置算出回路４３が算出した位置情報を基に、記録ヘッドが備える各ノズルの周辺画像の画像データを、メモリ２３から読み出す。イメージRAM５４は、DMAC５５が読み出した周辺画像の画像データを一時的に格納する。回転器５６は、周辺画像を、ユーザにより指定されたヘッド位置や傾きに応じて回転させ、それを記録ヘッド制御回路５３へ出力する。回転器５６は、例えば、位置算出回路４３が位置座標を算出する際に算出した回転角度を取得し、その回転角度を用いて周辺画像を回転させることができる。
【００３５】
記録ヘッド制御回路５３は、上記の記録ヘッドを駆動するタイミングの情報から制御信号を生成し、回転器５６から出力された周辺画像の画像データを受け付け、どのノズルからインクを吐出させるか判断する。記録ヘッド制御回路５３は、判断結果およびタイミングの情報に応じて、インクを吐出させるノズルの情報、印字データを記録ヘッド駆動回路２８に出力する。
【００３６】
割り込み回路５７は、ナビゲーションセンサI/F５１がナビゲーションセンサモジュール２４との通信を終了した際、SoC４０にその旨を通知し、また、エラー等のステータス情報を通知する。
【００３７】
次に、記録ヘッドモジュール２７および記録ヘッド駆動回路２８の詳細な構成および機能について、図６および図７を参照して説明する。図６に示す記録ヘッドモジュール２７および記録ヘッド駆動回路２８の構成は、インクジェット方式のプリンタで一般に採用されている構成である。記録ヘッドモジュール２７は、複数のノズルを備え、各ノズルには、アクチュエータ６０が設けられている。アクチュエータ６０は、サーマル式、ピエゾ式のいずれであってもよい。サーマル式は、ノズル内のインクに熱を与えて膨張させ、この膨張によりノズルからインク滴を吐出させるものである。ピエゾ式は、圧電素子によりノズル壁を押し、内部のインクを押し出すことによりインク滴を吐出させるものである。
【００３８】
記録ヘッド駆動回路２８は、アナログスイッチ６１と、レベルシフタ６２と、階調デコーダ６３と、ラッチ６４と、シフトレジスタ６５とを備えている。記録ヘッド制御回路５３は、記録ヘッド駆動回路２８に対し、記録ヘッドのノズルの数（アクチュエータ６０の数も同じ）分のシリアルデータである画像データ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]が階調デコーダ６３に入力されている。
【００４２】
これまで印刷システムが備えるハンドヘルドプリンタ１０のハードウェア構成およびその機能について説明してきた。実際に、この印刷システムにより実行される処理について、図８を参照して説明する。ステップ８００からこの処理を開始し、ステップ８０１では、ユーザがスマートデバイス１１の電源ボタンを押下し、スマートデバイス１１はそれを受け付け、電池等から電源が供給されて起動する。ハンドヘルドプリンタ１０も電源をONにして起動しておく。ステップ８０２では、ユーザがスマートデバイス１１上で印刷する画像を選択し、スマートデバイス１１はその画像の選択を受け付ける。ステップ８０３では、ユーザが選択した画像の印刷を指示し、スマートデバイス１１が印刷ジョブの実行をハンドヘルドプリンタ１０に対して要求する。この要求で画像データがハンドヘルドプリンタ１０へ送信される。
【００４３】
ユーザは、ハンドヘルドプリンタ１０を持ち、印刷したい媒体、例えばノートの上で初期位置を決め、ハンドヘルドプリンタ１０の印刷開始ボタンを押下する。ステップ８０４では、ハンドヘルドプリンタ１０が、その印刷開始ボタンの押下を受け付け、ステップ８０５で、即座にその初期位置を検出し、センサの移動距離の算出を開始する。ステップ８０６では、ユーザにより自由に移動されるハンドヘルドプリンタ１０において、センサの位置を検出し、センサの位置から各ノズルの位置を求め、画像データの位置座標と比較してインクを吐出させるかどうかを判断する。吐出させると判断したノズルからインクを吐出させるために印字データを送り、印刷媒体１２への印刷を実行する。印刷媒体１２への印刷が終了したところで、ステップ８０７でこの処理を終了する。
【００４４】
次に、図９を参照して、ハンドヘルドプリンタ１０において実行される詳細な処理について説明する。ステップ９００からこの処理を開始し、ステップ９０１では、ハンドヘルドプリンタ１０の電源ボタンの押下（電源ON）を受け付け、電池等から電源を供給して起動する。
【００４５】
ステップ９０２では、ハンドヘルドプリンタ１０は、ハンドヘルドプリンタ１０に内蔵されるセンサ等の各デバイスを立ち上げ、各デバイスの初期化を行う。初期化では、ユーザが印刷を行うことができるように各種の設定値の設定等が行われる。また、ハンドヘルドプリンタ１０とスマートデバイス１１との間の通信を確立する。ステップ９０３では、初期化が完了したかどうかを判断し、完了していない場合はこの判断を繰り返す。完了したと判断した場合、ステップ９０４へ進み、例えばLED点灯によりユーザに印刷可能な状態であることを通知する。
【００４６】
ステップ９０５では、ハンドヘルドプリンタ１０が、スマートデバイス１１から画像データの入力を受け付け、画像が入力された旨をLED点滅等によりユーザに対し通知する。ステップ９０６では、入力された画像データをメモリ２３に格納する。ハンドヘルドプリンタ１０は、ステップ９０７で、印刷開始の指示を受け付けると、ステップ９０８で、センサによる読み取り、内部メモリへの格納を開始する。
【００４７】
ステップ９０９では、SoC４０が、センサの位置情報を読み取る（リードする）よう、ASIC５０内のナビゲーションセンサI/F５１に通知する。ナビゲーションセンサI/F５１は、センサと通信を行い、センサが格納した位置情報をリードする。ステップ９１０では、SoC４０は、リードした位置情報を初期位置とし、例えば座標(0,0)として格納する。
【００４８】
ステップ９１１では、ASIC５０内のタイミング生成回路５２が時間計測を開始し、ステップ９１２では、予め設定されたセンサのリードタイミングに達したかを判断する。センサリード時間に達した場合は、ステップ９１３へ進み、ナビゲーションセンサI/F５１が、センサが内部メモリに格納した移動距離の情報をリードする。リードタイミングは、記録ヘッドの駆動周期に合わせたタイミングとすることができる。
【００４９】
ステップ９１４では、SoC４０は、ASIC５０から移動距離の情報をリードし、位置算出回路４３が、前回算出した位置(X,Y)と、今回リードした移動距離(dX,dY)から、現在の位置を算出し、格納する。初期位置のみで、前回算出した位置がない場合は、初期位置と、今回リードした移動距離から現在の位置を算出する。この現在の位置の算出方法については後述する。
【００５０】
ステップ９１５では、SoC４０が、算出した現在のセンサの位置情報をASIC５０に通知する。そして、ASIC５０が、予め決められているセンサと記録ヘッドの各ノズルの組み付け位置との関係から、各ノズルの位置座標を算出する。この各ノズルの位置座標の算出方法についても後述する。ステップ９１６では、回転器５６が、算出した各ノズルの位置情報を基に、各ノズルの周辺画像の画像データをメモリ２３からイメージRAM５４へリードする。そして、回転器５６が、ユーザにより指定されたヘッド位置およびヘッドの傾きに応じて、その画像データにおける画像を回転させる。周辺画像の画像データ、位置情報についての詳細については後述する。
【００５１】
ステップ９１７では、ASIC５０が、回転させた周辺画像を構成する各画像要素の位置座標と、各ノズルの位置座標とを比較し、ステップ９１８では、予め設定されたインクの吐出条件を満たすかどうかを判断する。吐出条件は、例えば画像要素の位置座標とノズルの位置座標が一致する場合等である。吐出条件を満たさない場合は、ステップ９１２に戻り、吐出条件を満たす場合は、ステップ９１９へ進む。ステップ９１９では、インクを吐出させるために、記録ヘッド制御回路５３へ吐出条件を満たす画像要素の印字データを出力する。この吐出条件、その判断方法、記録ヘッド制御方法についても後述する。
【００５２】
ステップ９２０では、全印字データを出力したかを判断する。出力していない場合は、ステップ９１２からステップ９１９までの処理を繰り返す。出力した場合は、ステップ９２１へ進み、SoC４０は、例えばLED点灯等によりユーザに印刷が終了したことを通知する。なお、全印字データを吐出しなくても、ユーザが十分と判断した場合には、印刷完了ボタンを押下し、SoC４０がそれを受け付けて、印刷を完了したと判断してもよい。その通知後、ステップ９２２へ進み、ハンドヘルドプリンタ１０による印刷を終了する。ハンドヘルドプリンタ１０は、印刷終了後、ユーザが電源をOFFにすることもできるし、印刷が終了した時点で、自動で電源がOFFにされるようになっていてもよい。
【００５３】
この実施形態では、SoC４０とASIC５０とが分担して処理を行っているが、CPU４１の性能やASIC５０の回路規模等により、その役割の切り分けは自由に実施することができる。
【００５４】
各ノズルの位置座標の算出方法を説明する前に、センサと各ノズルの組み付け位置の関係について、図１０を参照して説明する。センサは、２以上設けられる。具体的には、図１０に示すように、等間隔で一列に並ぶノズル７０の配列方向の前後に少なくとも１つずつ設けられる。ちなみに、センサ７１ａ、７１ｂ間の距離ｃは、長い程良い。これは、センサ７１ａ、７１ｂの位置を算出する際にその演算誤差が小さくなるからである。
【００５５】
図１０では、２つのセンサ７１ａ、７１ｂが設けられている。このとき、センサ７１ａの中心から記録ヘッド７２の一端までの距離は距離ａ、センサ７１ｂの中心から記録ヘッド７２の他端までの距離は距離ｂで表すことができる。また、記録ヘッド７２の両端から該両端に最も近いノズル７０までの距離はそれぞれ距離ｄ、各ノズル７０間の距離は距離ｅで表すことができる。これらの距離ａ〜ｅは、予め決められた距離であり、センサ７１ａ、７１ｂの位置座標を算出することで、各ノズル７０の各位置座標を算出することができる。
【００５６】
印刷媒体１２の横方向を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’軸方向の差分から、下記式１により算出することができる。
【００６０】
【数１】
2020100151.tif 000003
【００６１】
並行移動成分は、印刷媒体１２に対するハンドヘルドプリンタ１０の傾きθを保持し、三角関数を用いて、下記式２によりセンサ７１ａの移動距離dX0、dY0として算出することができる。
【００６２】
【数２】
2020100151.tif 000004
【００６３】
このことから、センサ７１ａの走査後の位置座標は、(X0+dX0,Y0+dY0)として算出することができる。算出した後は、その走査後の位置座標を(X0,Y0)とし、同様の方法で、さらに走査した後の位置座標を算出することができる。
【００６４】
センサ７１ａの走査後の位置座標を算出した際、センサ７１ｂの走査後の位置座標(X1,Y1)は、下記式３により算出することができる。走査後の位置座標は(X1,Y1)として、次の走査後の位置座標を算出するため、ここでは走査後の位置座標も走査前と同様、(X1,Y1)としている。
【００６５】
【数３】
2020100151.tif 000005
【００６６】
これまでの位置座標の算出では、三角関数を使用した例を示した。センサ７１ａ、７１ｂで移動距離を算出し、それから記録ヘッドの各ノズルの座標位置を算出する際、角度dθは無視できるほど小さい値となる。例えば、L=1inch、400mm/sという高速で走査を行い、そのサンプリング周期が100μsであった場合、1サンプリング周期で移動できる距離は40μm、回転できる角度dθは0.0015程度である。このようなdθ<<1ような条件の下では、dθ=sindθ=tandθが成立する。そこで、上記式２は、上記式１および加法定理を使用して、下記式４のように書き換えることができる。
【００６７】
【数４】
2020100151.tif 000006
【００６８】
上記式４では、走査前に比較して走査後がどれだけ回転したかを示すdθを使用してsin(θ+dθ)、cos(θ+dθ)を求める必要はなく、sinθ、cosθの値があれば、位置座標を算出することができる。このため、sinθ、cosθを直接管理することができる。この演算は、角度dθが無視できるほど小さい値であることを条件とし、前回算出した位置座標とその移動距離とから位置座標を算出するため、サンプリング周期毎に実施し続ける必要がある。なお、この位置座標の算出をサンプリング周期毎に実施することにより、２つのセンサ７１ａ、７１ｂの印刷媒体１２に対する二次元座標を逐次把握することが可能となる。
【００６９】
次に、図１２を参照して各ノズル７０の位置座標の算出方法について説明する。上述したように、センサ７１ａの中心から記録ヘッドの一端までの距離は距離ａ、センサ７１ｂの中心から記録ヘッドの他端までの距離は距離ｂで表される。また、記録ヘッドの両端から該両端に最も近いノズル７０までの距離はそれぞれ距離ｄ、各ノズル７０間の距離は距離ｅで表される。これらの距離ａ〜ｅは、予め決められた距離である。センサ７１ａの位置座標は(X0,Y0)であり、センサ７１ｂの位置座標は(X1,Y1)である。
【００７０】
各ノズル７０の座標位置NZLN_X、NZLN_Yは、センサ７１ａ側から配列するノズル７０の順番をNとすると、次の式５により算出することができる。
【００７１】
【数５】
2020100151.tif 000007
【００７２】
記録ヘッドは、一列にノズル７０が並ぶものに限らず、カラー印刷を行うために、二列以上にノズル７０が並ぶものであってもよい。センサ７１ａ、７１ｂを結ぶ直線上に配列するノズル７０は、上記式５を使用してその位置座標を算出することができる。一方、図１３に示すように、その直線上にはないノズル７０については、ノズル列間の距離fを用いて、次の式６により座標位置NZLC-N_X、NZLC-N_Yを算出することができる。
【００７３】
【数６】
2020100151.tif 000008
【００７４】
各ノズル７０の位置座標は、上記式５および式６に示すように三角関数を用いて計算することができるが、三角関数を用いると、処理時間がかかる。図１４に示すように、一般にノズル列内のノズル間の距離eはいずれのノズル間でも等しい。先頭ノズル７０の位置座標を(XS,YS)、後尾ノズル７０の位置座標を(XE,YE)とすると、次の式７に示す単純な比例演算により各ノズル７０の位置座標NZLNX、NZLNYを算出することができる。なお、式７中、Eはノズルの数であり、Nは先頭ノズル７０から後尾ノズル７０へ向けたノズルの順番を示す。
【００７５】
【数７】
2020100151.tif 000009
【００７６】
位置座標を、三角関数を用いずに算出する方法としては、上記式７に限らず、下記式８を用いて算出することもできる。下記式８では、ノズル列内の先頭ノズル７０の位置座標を(XS,YS)とし、ノズル列を示す直線上の記録ヘッド７２から離れた後尾側に仮想点を設け、その仮想点の位置座標を(XE,YE)として使用している。
【００７７】
【数８】
2020100151.tif 000010
【００７８】
図１５では、ノズル７０は一列に１９２個設けられ、それぞれが距離eで等間隔に設けられている。仮想点は、２５７番目のノズルの位置座標となる上記の直線上に設けられている。これにより、上記式７より簡単な、２の倍数での単純な演算で各ノズル７０の位置座標NZLNX、NZLNYを算出することができる。
【００７９】
次に、図１６を参照して各ノズル７０の位置座標を算出してからインクを吐出するまでのタイミングについて説明する。タイミング生成回路５２は、時間を計測し、予め設定されたリードタイミング、すなわち内部トリガのtim_timerに従ってナビゲーションセンサI/F５１でセンサの移動距離dX、dYをリードする(Sens TXD, Sens RXD)。そのリードした移動距離をレジスタ(REG_SENS_RXD)に格納する。図１６中、tSCYCは、センサの移動距離を該センサからリードするセンサ読み出しの周期である。また、tSREADは、センサ読み出しに要する時間である。
【００８０】
センサへのリードが完了すると、割り込み回路５７が、センサ読み出し完了の割り込み通知(sens_int)を発行する。SoC４０は、その通知を受け、位置算出回路４３が、レジスタ(REG_SENS_RXD)に格納された移動距離のリードを開始し、リードした移動距離と、前回の位置座標とを基に、現在のセンサの位置座標の算出を開始する。位置座標の算出が終了すると、その算出結果をレジスタ(REG_HEAD_POS)に格納する。図１６中、tCALは、１周期当たりのソフトウェア処理時間であり、tSCYC未満の時間とされる。
【００８１】
算出した位置座標に基づき、ASIC５０がメモリコントローラ４２を介してメモリ２３から周辺画像の画像データをリードする(Mem Read)。図１６中、tMEMは、CPU４１よりヘッド位置の予測値を受けてから、最初の吐出までの印字データを準備するのに要する時間である。記録ヘッド制御回路５３は、記録ヘッド駆動周期のトリガ(tim_enctrg)に従い、記録ヘッド駆動回路２８へ印字データを転送する(IJ_TXD)。図１６中、tJCYCは、記録ヘッド駆動周期であり、tDRVは、記録ヘッド駆動波形(Vcom)中の実際に駆動波形を与える時間である。tJETは、駆動波形が与えられてインクが印刷媒体に着弾するまでの時間で、tPREDICTは、位置情報を読み取ってから、最初のドット出力までの時間、すなわちSoC４０により位置予測する時間である。
【００８２】
次に、図１７を参照して、印刷対象の画像を紙面に印刷する際の配置、印字データの位置座標、メモリ２３への印字データの格納アドレスについて説明する。ここでは、印刷対象の画像が「H」という文字とされている。画像データは、SoC４０により入力されると、メモリ２３に格納する際、図１７（ａ）に示すように、複数のLineに分割されて格納される。Lineは、１ドット×１行分のブロックサイズを有する画像領域である。ここでは、複数のLineに分割しているが、これに限られるものではない。
【００８３】
ASIC５０のDMAC５５は、記録ヘッド全体を含む複数Line分の画像領域の画像データを、一定のマージンと合わせてイメージRAM５４に格納する。ASIC５０のDMAC５５は、Line 1からLine Nまでの画像データを、図１７（ｂ）に示すように、アドレスが割り振られたメモリ領域のそれぞれに格納する。
【００８４】
記録ヘッド駆動周期の１周期当たりに進む座標値を、図１８を参照して説明する。フリーハンド走査の最大速度を400mm/s、インク吐出周期、すなわち駆動周期を100μs、データ階調を1ドット当たり2ビットとし、印字解像度を600dpiとする。この条件を用い、1駆動周期内（1ドットを吐出する間隔）で移動する際に必要なデータ量を算出すると、一方向のデータであれば1.9ビット、周辺8方向のデータであれば15.2ビットが必要とされる。これを、600dpi座標換算すると、0.95となり、0.95ドット間隔で吐出可能ということになる。すなわち、得られた値が1ドット間隔未満であるため、1ドット移動する間に十分にインクを吐出させることができる。
【００８５】
1つのノズルからインクを吐出させる際に必要なデータ量は、一方向にのみ移動するわけではなく、上下左右、斜めのいずれにも移動する可能性があることから、8方向のデータ量が必要となる。この例では、記録ヘッドに192個のノズルを備えるため、1.9×8×192=2918.4ビットのデータ量が少なくとも必要である。
【００８６】
DMAC５５が印字データを記録ヘッド制御回路５３へ転送する際は、記録ヘッドが複数のLineに跨っていることから、複数のLine分のデータを転送する必要がある。図１９では、４つのLineに跨っているため、４つのLineに対応したブロックデータを、メモリ２３からリードし、転送する。なお、ユーザによりハンドヘルドプリンタ１０の走査で、常に４つのLine上を走査することができるとは限らない。このため、上下1Lineずつ余分にメモリ２３からリードし、転送することができる。これにより、上下に1Lineずれたとしても、転送された画像データに基づき印刷を行うことができる。
【００８７】
フリーハンド走査を行い、印刷を行う場合、1回の走査で印刷を行うことができるとは限らない。これは、算出したノズルの位置座標と、転送された印字データの位置座標とが合致しない場合にはインク吐出を行わないからである。このため、定期的に印刷済みデータと印刷データとを比較し、全データをリードしてインクを吐出させたかを判断する必要がある。この比較は、リアルタイム性を要求するものではなく、処理負荷を軽減するため、秒オーダで実施することができる。
【００８８】
この比較は、例えば、最初に印刷データのイメージを作成し、インクを吐出した箇所を白色で書き戻していき、印刷済みの箇所と、白色で書き戻した箇所とを比較することにより実施することができる。これは一例であるため、その他の方法を採用することも可能である。
【００８９】
最後に、ノズル７０からインクを吐出させるか否かを判定する方法について、図２０を参照して説明する。印刷対象の画像は、例えば1200dpiのドット密度で印刷される。画像は、印字すべきと判定した画像座標にノズルからインクを吐出することにより形成していくが、吐出条件として、ノズルの位置座標と画像座標とが一致した場合にインクを吐出させると判定することができる。
【００９０】
図２０に示す例では、白丸で示される画像座標７３のうち黒丸で示される画像座標７４と、記録ヘッドの先頭ノズル７０の位置座標とが一致しているため、その先頭ノズルからインクを吐出させると判定する。その他のノズルについても、画像座標と一致していれば、そのノズルからインクを吐出させると判定する。一方、一致していないノズルについては、そのノズルからインクを吐出させないと判定する。インクを吐出させると判定したノズルに対してのみ印字データを出力し、そのノズルからインクを吐出させて画像を形成する。
【００９１】
フリーハンド走査の軌道はユーザによるため、複数回繰り返して同じ部分をスキャンすることで画像を形成することをベースとしている。ただし、印字解像度に対して、ノズルピッチが極端に短い場合は、複数の画像座標と複数のノズルの位置座標とが一致するケースが多くなるため、１スキャンで画像を形成することが可能である。
【００９２】
図２０に示すように、ノズル７０からインクを吐出させるか否かは、基本的に画像座標とノズルの位置座標とが一致するかどうかにより判定することができる。ハンドヘルドプリンタ１０で低速で印刷を行う場合はこのような判定でもよいが、高速で印刷を行う場合は一致しないケースが増えてくる。これでは、何度もスキャンしなければならない。そこで、スキャン回数を減らすため、画像座標に一定のマージンを持たせる。すなわち、吐出条件として、ある一定の領域を設定し、その領域内にノズルの位置座標があれば、インクを吐出させると判断できるようにする。
【００９３】
例えば、図２１に示すように点線で示される各画像座標を含む領域に分けることができる。図２１では、先頭ノズル７０が、右下の画像座標７４を含む領域内にあることから、その画像座標７４の画像を現ノズル位置で吐出させると判定し、インクを吐出させる。この場合、画像座標７４に一致する場合に吐出していないため、画像座標７４からずれた位置にインクが吐出されることになる。このときの最大のずれ量δmaxは、下記式９により算出することができる。式９中、Dは、印字解像度１ドット分の幅である。
【００９４】
【数９】
2020100151.tif 000011
【００９５】
この方法では、多少のずれは生じるが、高速で印刷を行うことができる。この方法は、写真等の印刷に適用することは望ましくないが、可読な文字を印刷する場合は、生産性が高くなるので望ましい。
【００９６】
以上のように、本発明の印刷装置、その印刷装置を含む印刷システムおよび印刷方法を提供することにより、フリーハンド走査における正確な二次元位置を検知することができ、それに連動した印字制御を実現できる。また、回転移動成分と並行移動成分に分け、回転移動成分を先に算出することで、演算誤差を軽減することができる。
【００９７】
２つのセンサのうち、回転移動成分が大きいセンサの位置を優先的に算出し、その値を基にもう一方のセンサの位置を算出することで、演算誤差を軽減することができる。また、光源としてLEDを用いる例について説明したが、LEDを用いることで、表面の粗い印刷媒体、例えば紙の検知精度を向上させることができる。一方、表面が滑らかなガラス等の光沢のあるものについては、光源にレーザダイオード(LD)を用いることで検知することができ、使用可能な印刷媒体の幅を広げることができる。
【００９８】
これまで本発明を、印刷装置、印刷システムおよび印刷方法として上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００９９】
１０…ハンドヘルドプリンタ、１１…スマートデバイス、２０…電源、２１…電源回路、２２…画像データ通信I/F、２３…メモリ、２４…ナビゲーションセンサモジュール、２５…制御モジュール、２６…OPU、２７…記録ヘッドモジュール、２８…記録ヘッド駆動回路、３０…ホストI/F、３１…イメージプロセッサ、３２…LEDドライブ、３３、３４…レンズ、３５…イメージアレイ、４０…SoC、４１…CPU、４２…メモリコントローラ、４３…位置算出回路、４４…バス、５０…ASIC、５１…ナビゲーションセンサI/F、５２…タイミング生成回路、５３…記録ヘッド制御回路、５４…イメージRAM、５５…DMAC、５６…回転器、５７…割り込み回路、５８…バス、６０…アクチュエータ、６１…アナログスイッチ、６２…レベルシフタ、６３…階調デコーダ、６４…ラッチ、６５…シフトレジスタ、７０…ノズル、７１ａ、７１ｂ…センサ、７２…記録ヘッド、７３、７４…画像座標
【先行技術文献】
【特許文献】
【０１００】
【特許文献１】特表２０１０−５２００８７号公報
【図１】
2020100151.tif 000012
【図２】
2020100151.tif 000013
【図３】
2020100151.tif 000014
【図４】
2020100151.tif 000015
【図５】
2020100151.tif 000016
【図６】
2020100151.tif 000017
【図７】
2020100151.tif 000018
【図８】
2020100151.tif 000019
【図９】
2020100151.tif 000020
【図１０】
2020100151.tif 000021
【図１１】
2020100151.tif 000022
【図１２】
2020100151.tif 000023
【図１３】
2020100151.tif 000024
【図１４】
2020100151.tif 000025
【図１５】
2020100151.tif 000026
【図１６】
2020100151.tif 000027
【図１７】
2020100151.tif 000028
【図１８】
2020100151.tif 000029
【図１９】
2020100151.tif 000030
【図２０】
2020100151.tif 000031
【図２１】
2020100151.tif 000032
【手続補正書】
【提出日】令和2年3月3日(2020.3.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
印刷媒体上を移動させて画像の印刷が可能な印刷装置であって、
前記印刷媒体上に印刷を行うための液滴を吐出する複数のノズルを含む記録ヘッドと、
所定の周期に対応するリードタイミングで前記印刷装置の移動に関する情報をリードする２以上のセンサと、
前記センサによってリードされた前記情報に基づいて、前記印刷媒体に対する前記複数のノズルそれぞれの位置を決定するノズル位置決定手段と、
前記所定の周期に従い、前記ノズル位置決定手段によって決定された前記複数のノズルそれぞれの位置と、印刷すべき画像を構成する画像要素それぞれの位置とに基づいて、前記複数のノズルそれぞれによる液滴の吐出を制御する制御手段と
を備える、印刷装置。
【請求項２】
前記所定の周期は、前記記録ヘッドの駆動周期である、
請求項１に記載の印刷装置。
【請求項３】
前記所定の周期の１周期当たりの前記印刷装置の移動距離は、１ドット未満である、
請求項１に記載の印刷装置。
【請求項４】
前記センサは、
前記リードタイミングでリードされた前記印刷装置の移動に関する情報に応じた前記複数のノズルそれぞれによる液滴の吐出が行われる前に、前記リードタイミング以降の前記印刷装置の移動に関する情報をリードする、
請求項１に記載の印刷装置。
【請求項５】
前記画像が複数に分割されたラインのデータを記憶する記憶手段
を備え、
前記制御手段は、
前記印刷すべき画像を構成する画像要素として、前記記録ヘッドが跨るライン数に基づく複数のラインのデータを前記記憶手段から読み出す、
請求項１に記載の印刷装置。
【請求項６】
請求項１〜５のいずれか１項に記載の印刷装置と、前記印刷装置に画像データを送信する電子機器と
を含む、印刷システム。
【請求項７】
印刷媒体上に印刷を行うための液滴を吐出する複数のノズルを含む記録ヘッドを備え、印刷媒体上を移動させて画像の印刷が可能な印刷装置の印刷方法であって、
所定の周期に対応するリードタイミングで前記印刷装置の移動に関する情報を２以上のセンサでリードするステップと、
前記センサによってリードされた前記情報に基づいて、前記記録媒体に対する前記複数のノズルそれぞれの位置を決定するステップと、
前記所定の周期に従い、前記決定するステップで決定された前記複数のノズルそれぞれの位置と、印刷すべき画像を構成する画像要素それぞれの位置とに基づいて、前記複数のノズルそれぞれによる液滴の吐出を制御するステップと
を含む、印刷装置の印刷方法。