(57)【特許請求の範囲】
【請求項１】
印刷媒体上を移動させて印刷を行う印刷装置であって、
前記印刷装置が印刷可能な範囲の境界付近に位置する印刷対象のテキストを選択的に印刷する選択的吐出ノズルを決定する選択的吐出ノズル決定手段と、
前記選択的吐出ノズルが印刷すべき印刷対象の画像データを選択する印刷対象選択手段と
を備え、
前記印刷対象選択手段は、
前記選択的吐出ノズルが印刷する画像データの各行について、前記印刷装置の移動方向と反対側の端部に位置するテキストを印刷対象とし、それ以外のテキストを印刷対象外とすることを特徴とする、印刷装置。
【請求項２】
前記選択的吐出ノズル決定手段は、
前記印刷装置の移動によって生じる回転角に基づいて、前記印刷装置が備える記録ヘッドの先端部または後端部に位置するノズルを選択的吐出ノズルとして選択することを特徴とする、請求項１に記載の印刷装置。
【請求項３】
印刷媒体上を移動させて印刷を行う印刷装置であって、
前記印刷装置が印刷可能な範囲の境界付近に位置する印刷対象のテキストを選択的に印刷する選択的吐出ノズルを決定する選択的吐出ノズル決定手段と、
前記選択的吐出ノズルが印刷すべき印刷対象の画像データを選択する印刷対象選択手段と、
印刷対象の画像データに含まれるテキストのフォントサイズに基づいて、前記選択的吐出ノズルの数を決定するノズル数決定手段と
を備える、印刷装置。
【請求項４】
印刷媒体上を移動させて印刷を行う印刷装置が実行する方法であって、
前記印刷装置が印刷可能な範囲の境界付近に位置する印刷対象のテキストを選択的に印刷する選択的吐出ノズルを決定するステップと、
前記選択的吐出ノズルが印刷すべき印刷対象の画像データを選択するステップと
を含み、
前記印刷対象の画像データを選択するステップは、
前記選択的吐出ノズルが印刷する画像データの各行について、前記印刷装置の移動方向と反対側の端部に位置するテキストを印刷対象とし、それ以外のテキストを印刷対象外とするステップを含む、方法。
【請求項５】
前記選択的吐出ノズルを決定するステップは、
前記印刷装置の移動によって生じる回転角に基づいて、前記印刷装置が備える記録ヘッドの先端部または後端部に位置するノズルを選択的吐出ノズルとして選択するステップを含む、請求項４に記載の方法。
【請求項６】
印刷媒体上を移動させて印刷を行う印刷装置が実行する方法であって、
前記印刷装置が印刷可能な範囲の境界付近に位置する印刷対象のテキストを選択的に印刷する選択的吐出ノズルを決定するステップと、
前記選択的吐出ノズルが印刷すべき印刷対象の画像データを選択するステップと、
印刷対象の画像データに含まれるテキストのフォントサイズに基づいて、前記選択的吐出ノズルの数を決定するステップと
を含む、方法。
【請求項７】
印刷媒体上を移動させて印刷を行う印刷装置に対し、請求項４〜６のいずれか１項に記載の方法に含まれる各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷媒体上を移動させて印刷を行う印刷装置に関し、より詳細には、印刷可能な範囲の境界付近に位置する印刷対象のテキストを適切に印刷する印刷装置、方法およびプログラムに関する。
【背景技術】
【０００２】
ノートＰＣの小型化やスマートフォン等のスマートデバイスの普及により、プリンタも容易に持ち運びできるように小型化することが所望されている。このような要望に鑑み、ユーザが紙面等の印刷媒体上を自由に移動させながらインク等の液滴を塗布可能なハンドヘルドプリンタが提案されている。
【０００３】
このようなハンドヘルドプリンタの一例として、特許文献１は、ハンドヘルドプリンタの移動量を光学的に算出する複数のナビゲーションセンサを備え、ハンドヘルドプリンタの移動前の位置と移動後の位置とを算出して、画像データを印刷するハンドヘルドプリンタを開示する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１が開示するハンドヘルドプリンタは、印刷対象のテキストがハンドヘルドプリンタの印刷可能な範囲の境界付近に位置する場合、ナビゲーションセンサによる位置座標の算出精度が低いときや吐出位置に誤差が発生するときには、図１５に示すように、境界を跨ぐテキストに間隙が生じてしまい、印刷媒体に印刷された画像に筋が入ったような状態になるという問題があった。
【０００５】
また、特許文献２は、印刷対象の文字が修飾されている場合に、文字修飾を含む文字サイズが印字ヘッドのノズル列の幅を超えるときは、印字手段によって印字可能なサイズに文字サイズを修正する方法を開示するものの、この方法を特許文献１のハンドヘルドプリンタに適用した場合、印刷対象のテキストがハンドヘルドプリンタの印刷可能な境界付近に位置する場合には、当該テキストが縮小されて印刷されてしまうという問題があった。
【０００６】
本発明は、上述した従来技術の問題点に鑑みてなされたものであり、印刷対象のテキストが印刷装置の印刷可能な範囲の境界付近に位置する場合でも、当該テキストに間隙を生じさせずに印刷することが可能な印刷装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の印刷装置は、印刷媒体上を移動させて印刷を行う印刷装置であり、印刷可能な範囲の境界付近に位置する印刷対象のテキストを選択的に印刷する選択的吐出ノズルを決定し、当該選択的吐出ノズルが印刷すべき印刷対象の画像データを選択する。
【発明の効果】
【０００８】
本発明の印刷装置は、印刷対象のテキストが印刷装置の印刷可能な範囲の境界付近に位置する場合でも、当該テキストに間隙を生じさせずに印刷することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の印刷システムの一実施形態を示す図。
【図２】ハンドヘルドプリンタ１０のハードウェア構成を示す図。
【図３】制御部２５のハードウェア構成を示す図。
【図４】ＣＰＵ３０１の機能構成を示す図。
【図５】ナビゲーションセンサ２４のハードウェア構成を示す図。
【図６】ナビゲーションセンサ２４の移動量の算出方法を示す概念図。
【図７】ハンドヘルドプリンタが実行する処理の一実施形態を示すフローチャート。
【図８】図７のステップＳ７０９の一実施形態を示すフローチャート。
【図９】ハンドヘルドプリンタの記録ヘッドの一実施形態を示す図。
【図１０】選択的吐出ノズルを決定する方法を示す概念図。
【図１１】選択的吐出ノズルが印刷する印刷対象の画像データを選択する方法を示す概念図。
【図１２】ナビゲーションセンサ７１ａ、７１ｂの位置座標の算出方法を示す図。
【図１３】記録ノズルの位置座標を算出する方法の一実施形態を示す概念図。
【図１４】吐出条件の判定方法を示す概念図。
【図１５】従来技術の問題点を示す図。
【発明を実施するための形態】
【００１０】
図１は、本発明の印刷システムの一実施形態を示す図である。図１に示す印刷システムには、ハンドヘルドプリンタ１０と、画像提供装置１１と、印刷媒体１２が含まれる。
【００１１】
ハンドヘルドプリンタ１０は、ユーザが印刷媒体１２上を自由に移動させて、印刷媒体１２上に画像を印刷可能な可搬型の印刷装置である。ハンドヘルドプリンタ１０は、ユーザが持ち運び可能な大きさや重量で構成することが好適であり、紙や壁面、ボード、衣服等の種々の印刷媒体上に画像を形成することができる。
【００１２】
ハンドヘルドプリンタ１０は、ハンドヘルドプリンタ１０に内蔵されたノズルから顔料インクや染料インク等の液滴を吐出するインクジェット方式のプリンタである。なお、ハンドヘルドプリンタ１０の印字方式は、これに限られるものではなく、細いピンをインクリボンに叩き付けて印刷するドットインパクト方式等の他の印字方式を採用することができる。また、ハンドヘルドプリンタ１０は、モノクロ方式またはカラー方式も採用することができる。
【００１３】
ハンドヘルドプリンタ１０は、画像提供装置である画像提供装置１１から印刷対象の画像データを受信し、当該画像データに基づいて液滴を印刷媒体１２上に吐出して画像を形成する。画像データは、文字のみからなるテキストデータであってもよく、または図、絵、写真等を含む文書データ、表データ等でもよい。ハンドヘルドプリンタ１０は、画像データと共に、モノクロ印刷やカラー印刷、解像度の高低等の印刷に関する種々の印刷設定情報を受信し、印刷設定情報に基づいて液滴を吐出する。
【００１４】
ハンドヘルドプリンタ１０は、赤外線通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ（登録商標）等の無線通信により、画像提供装置１１から画像データを受信する。ハンドヘルドプリンタ１０は、画像提供装置１１から画像データを直接受信してもよいし、アクセスポイント等を介して受信してもよい。なお、ハンドヘルドプリンタ１０は、無線通信によって画像データを受信するだけでなく、有線通信によって画像データを受信してもよい。
【００１５】
画像提供装置１１は、印刷対象の画像データをハンドヘルドプリンタ１０に提供する装置であり、例えば、スマートフォン、タブレット端末、ノートＰＣ等の電子機器を採用することができる。
【００１６】
本実施形態では、画像提供装置１１は、印刷対象の画像データを無線通信によってハンドヘルドプリンタ１０に送信する。他の実施形態では、画像提供装置１１は、サーバ等の他の画像提供装置が提供する画像データをハンドヘルドプリンタ１０に送信してもよい。
【００１７】
画像提供装置１１は、印刷対象の画像の表示や編集を行うアプリケーションやＯＳ等のプログラムを実行するＣＰＵと、アプリケーションやＯＳ等のプログラムを記憶するＲＯＭと、これらのプログラムの実行空間を提供するＲＡＭと、印刷対象の画像データを表示する表示装置と、ユーザが画像データの印刷を指示可能な入力装置とを備える。なお、表示装置および入力装置は、個別の装置として構成されたものに限らず、これらを一体的に構成したタッチパネルとしてもよい。
【００１８】
図２は、ハンドヘルドプリンタ１０のハードウェア構成を示す図である。以下、図２を参照してハンドヘルドプリンタ１０のハードウェア構成について説明する。
【００１９】
ハンドヘルドプリンタ１０は、電源２０と、電源回路２１と、画像データ通信Ｉ／Ｆ２２と、メモリ２３と、ナビゲーションセンサ２４と、制御部２５と、操作ユニット（ＯＰＵ）２６と、記録ヘッドユニット２７と、記録ヘッド駆動回路２８とを備える。
【００２０】
電源２０は、ハンドヘルドプリンタ１０が使用する電力を供給する電池等の電源である。電源回路２１は、ハンドヘルドプリンタ１０の各ユニットへの電力供給を制御する回路である。
【００２１】
画像データ通信Ｉ／Ｆ２２は、画像提供装置１１が送信したデータを受信するデータ通信Ｉ／Ｆである。画像データ通信Ｉ／Ｆ２２は、無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ等の無線通信によって送信されたデータを受信する。
【００２２】
メモリ２３は、ＲＯＭやＤＲＡＭで構成される記憶装置である。ＲＯＭには、ハンドヘルドプリンタ１０のハードウェア制御を行うプログラム、記録ヘッドを駆動させる駆動波形データおよび初期設定情報等のデータが格納される。ＤＲＡＭは、プログラムの実行空間を提供し、画像データや駆動波形でデータ等の種々のデータが一時的に格納される。
【００２３】
ナビゲーションセンサ２４は、ナビゲーションセンサ２４の移動量を光学的に算出する装置である。ナビゲーションセンサ２４は、印刷媒体等の被照射体に光を照射し、その反射光を撮影してイメージデータを生成し、ハンドヘルドプリンタ１０の移動前のイメージデータおよび移動後のイメージデータの差分に基づいてナビゲーションセンサ２４の移動量を算出する。
【００２４】
制御部２５は、ハンドヘルドプリンタ１０の全体制御を行う手段である。なお、ハンドヘルドプリンタ１０のハードウェア構成については、図３を参照して詳述する。
【００２５】
ＯＰＵ２６は、ユーザからの印字動作の指示を受け付けるスイッチや操作ボタン等の入力手段やハンドヘルドプリンタ１０の状態を通知する通知手段を備える装置である。通知手段は、発光ダイオード（ＬＥＤ）や液晶ディスプレイ（ＬＣＤ）を採用することができる。
【００２６】
記録ヘッドユニット２７は、インク等の液滴を吐出する吐出手段である複数のノズルを含む記録ヘッドを備える装置である。記録ヘッド駆動回路２８は、記録ヘッドユニット２７の記録ヘッドを制御する手段である。
【００２７】
図３は、制御部２５のハードウェア構成を示す図である。以下、図３を参照して、制御部２５のハードウェア構成について説明する。
【００２８】
制御部２５は、ＳｏＣ（System on chip）３００と、ＡＳＩＣ（Application Specific Integrated Circuit）３１０とを備える。ＳｏＣ３００は、ＣＰＵ３０１と、メモリコントローラ３０２と、位置算出回路３０３とを備える。これらの装置は、バス３０４に接続され、バス３０４を介してデータ通信を行う。
【００２９】
ＣＰＵ３０１は、ハンドヘルドプリンタ１０の全体制御を行う手段である。メモリコントローラ３０２は、メモリ２３を制御する手段である。
【００３０】
位置算出回路３０３は、ナビゲーションセンサ２４が提供するナビゲーションセンサ２４の移動量を使用して、ナビゲーションセンサ２４の位置座標を算出する手段である。
【００３１】
ＡＳＩＣ３１０は、ナビゲーションセンサＩ／Ｆ３１１と、タイミング生成回路３１２と、記録ヘッド制御回路３１３と、イメージＲＡＭ３１４、ＤＭＡＣ（Direct Memory Access Controller）３１５と、回転器３１６と、割り込み回路３１７とを含む。これらの装置は、バス３１８に接続され、バス３１８を介してデータ通信を行う。バス３１８はバス３０４とも接続され、ＳｏＣ３００およびＡＳＩＣ３１０は、これらのバスを介してデータ通信を行う。
【００３２】
タイミング生成回路３１２は、ナビゲーションセンサＩ／Ｆ３１１がナビゲーションセンサ２４の出力情報を読み取るタイミングと、記録ヘッドが液滴を吐出するタイミングを生成し、これらのタイミングをナビゲーションセンサＩ／Ｆ３１１および記録ヘッド制御回路３１３に通知する手段である。
【００３３】
ナビゲーションセンサＩ／Ｆ３１１は、ナビゲーションセンサ２４とデータ通信を行う手段である。ナビゲーションセンサＩ／Ｆ３１１は、タイミング生成回路３１２が指定するタイミングでナビゲーションセンサ２４から出力情報であるナビゲーションセンサ２４の移動量を受信し、ナビゲーションセンサＩ／Ｆ３１１の内部メモリである内部レジスタに格納する。
【００３４】
ＤＭＡＣ３１５は、位置算出回路３０３が算出したノズルの位置情報を基に、各ノズルが液滴を吐出して形成すべき画像データを、メモリコントローラ３０２を介してメモリ２３から読み出し、イメージＲＡＭ３１４に保存する。
【００３５】
イメージＲＡＭ３１４は、ＤＭＡＣ３１５が読み出した画像データを一時的に格納する記憶装置である。
【００３６】
回転器３１６は、ハンドヘルドプリンタ１０の回転角に応じて、印刷対象の画像データを回転させる手段である。回転器３１６は、イメージＲＡＭ３１４から画像データを取得し、ハンドヘルドプリンタ１０の回転角に応じて画像データを回転させ、当該画像データが吐出に必要な所定の条件（以下、「吐出条件」とする。）を満たす場合に、当該画像データを記録ヘッド制御回路３１３に送信する。
【００３７】
記録ヘッド制御回路３１３は、記録ヘッド駆動回路２８を制御して記録ヘッドの吐出動作を制御する手段である。記録ヘッド制御回路３１３は、タイミング生成回路３１２が指定するタイミングで、記録ヘッドの吐出動作を制御する制御信号および印刷対象の画像データを記録ヘッド駆動回路２８に送信する。
【００３８】
割り込み回路３１７は、ＳｏＣ３００に対して割り込み信号を送信する手段である。割り込み回路３１７は、ナビゲーションセンサＩ／Ｆ３１１がナビゲーションセンサ２４との通信を終了した際、その旨をＳｏＣ３００に通知する割り込み信号をＳｏＣ３００に送信する。また、割り込み回路３１７は、エラー等のステータス情報を通知する割り込み信号をＳｏＣ３００に送信する。
【００３９】
本実施形態では、ＡＳＩＣ３１０がナビゲーションセンサ２４および記録ヘッド駆動回路２８を制御するが、他の実施形態では、ＡＳＩＣ３１０の代わりに、ユーザが製造後に構成を設定できるＦＰＧＡ（Field Programmable gate alley）を用いてもよい。
【００４０】
図４は、ＣＰＵ３０１の機能構成を示す図である。以下、図４を参照して、ＣＰＵ３０１に実装される機能構成の一実施形態について説明する。
【００４１】
ＣＰＵ３０１は、ＯＰＵ制御部４０と、ノズル数決定部４１と、印刷指示判定部４２と、初期位置設定部４３と、時間判定部４４と、移動量取得部４５と、選択的吐出ノズル決定部４６と、ノズル位置算出部４７と、印刷対象選択部４８と、印刷完了判定部４９とを含む。
【００４２】
ＯＰＵ制御部４０は、ＯＰＵ２６を制御する手段である。印刷指示判定部４２は、印刷指示を受け付けたか否か判断する手段である。初期位置設定部４３は、ハンドヘルドプリンタ１０の初期位置を設定する手段である。時間判定部４４は、タイミング生成回路３１２を使用して、所定の設定時間が経過したか否か判断する手段である。移動量取得部４５は、ナビゲーションセンサ２４から移動量を取得する手段である。
【００４３】
ノズル数決定部４１は、印刷対象の画像データに含まれるテキストのフォントサイズに基づいて、選択的吐出ノズルの数を決定する手段である。選択的吐出ノズルは、図９に示すように、ハンドヘルドプリンタが印刷可能な範囲の境界付近（すなわち、ノズル列によって規定される範囲の長手方向の端部）に位置する印刷対象のテキストを選択的に印刷するノズルである。
【００４４】
本実施形態では、ノズル数決定部４１は、少なくとも１のテキストを印刷可能なノズルの数を選択的吐出ノズルの数として決定する。例えば、テキストのフォントサイズが１０ｐｔ（０．１４インチ）、ノズルの間隔が１／１５０インチの場合、１のテキストを印刷可能なノズルの数は２４となる。ノズル数決定部４１は、この値（２４）を選択的吐出ノズルの数として決定することができる。
【００４５】
他の実施形態では、ノズル数決定部４１は、１のテキストを印刷可能なノズルの数（２４）に所定値を加算した値を選択的吐出ノズルの数として決定することができる。所定値として、例えば、既知のノズル列の長さ（１インチ）をテキストのフォントサイズ（０．１４インチ）で割ることによって得られる余り（３）を採用することができる。
【００４６】
さらに他の実施形態では、ハンドヘルドプリンタ１０の移動によって生じる回転角に応じて選択的吐出ノズルの数を補正してもよい。例えば、回転角が３度以下の場合には、ノズル数決定部４１は、上述した方法で算出した選択的吐出ノズルの数に係数（０．１）を掛けて得られる値を選択的吐出ノズルの数とすることができる。同様に、回転角が３度より大きく５度未満の場合は係数（０．２）、回転角が５度以上で１０度未満の場合は係数（０．５）、回転角が１０度以上の場合は係数（１．０）を用いて、選択的吐出ノズルの数を補正することができる。さらに他の実施形態では、テキストのフォントサイズに応じた係数を用いて選択的吐出ノズルの数を補正してもよい。
【００４７】
選択的吐出ノズル決定部４６は、ハンドヘルドプリンタ１０の移動によって生じる回転角に基づいて、選択的吐出ノズルを決定する手段である。選択的吐出ノズル決定部４６は、図１０に示すように、記録ヘッドの先端部または後端部に位置するノズルを選択的吐出ノズルとして選択する。
【００４８】
より詳細には、選択的吐出ノズル決定部４６は、ハンドヘルドプリンタ１０が移動前の長手方向の軸に対して時計回りにｄθ回転した場合、先端部に位置するノズルを選択的吐出ノズルとして決定する。一方、ハンドヘルドプリンタ１０が移動前の長手方向の軸に対して反時計回りにｄθ回転した場合、選択的吐出ノズル決定部４６は、後端部に位置するノズルを選択的吐出ノズルとして決定する。
【００４９】
ノズル位置算出部４７は、ナビゲーションセンサ２４の位置座標に基づいて、記録ヘッドが備える全てのノズルの現在の位置座標を算出する手段である。ノズル位置算出部４７は、位置算出回路３０３が算出するナビゲーションセンサ２４の位置座標に基づいて全てのノズルの位置座標を算出する。
【００５０】
印刷対象選択部４８は、選択的吐出ノズルが印刷する印刷対象の画像データを選択する手段である。選択的吐出ノズルが印刷する印刷対象の画像データを選択する方法については、図１１を参照して詳述する。
【００５１】
印刷完了判定部４９は、印刷が完了したか否か判断する手段である。印刷完了判定部４９は、画像提供装置１１から受信した画像データを総て印刷した場合に、印刷が完了したと判断する。
【００５２】
図５は、ナビゲーションセンサ２４のハードウェア構成を示す図である。以下、図５を参照して、ナビゲーションセンサ２４のハードウェア構成について説明する。
【００５３】
ナビゲーションセンサ２４は、ホストＩ／Ｆ５０と、イメージプロセッサ５１と、ＬＥＤドライブ５２と、発光ダイオード（ＬＥＤ）５３と、レンズ５４，５５と、イメージアレイ５６とを備える。
【００５４】
ＬＥＤドライブ５２は、ＬＥＤ５３を制御して発光させる手段である。ＬＥＤ５３は、ＬＥＤドライブ５２の制御下で光を発光する半導体素子である。レンズ５４は、ＬＥＤ５３の光を集光して印刷媒体１２に照射する手段である。レンズ５５は、印刷媒体１２の表面で反射した光を集光してイメージアレイ５６に照射する手段である。
【００５５】
イメージアレイ５６は、印刷媒体１２で反射したＬＥＤ５３の光を受光してイメージデータを生成する手段である。イメージアレイ５６は、生成したイメージデータをイメージプロセッサ５１に出力する。
【００５６】
イメージプロセッサ５１は、イメージアレイ５６が生成したイメージデータを処理する手段である。イメージプロセッサ５１は、イメージデータからナビゲーションセンサ２４の移動量を算出する。イメージプロセッサ５１は、ナビゲーションセンサ２４の移動量として、ナビゲーションセンサ２４によって規定されるＸ−Ｙ平面におけるＸ軸方向の移動量ΔＸと、Ｙ軸方向の移動量ΔＹとを算出し、これらの移動量をホストＩ／Ｆ５０を介して制御部２５に送信する。
【００５７】
表面が粗い紙等の印刷媒体に印刷する実施形態では、光源としてＬＥＤを採用することが好適である。印刷媒体の表面が粗い場合、ＬＥＤ光によって印刷媒体の表面の凹凸に応じた陰影が形成されるため、その陰影を特徴部分とすることができ、ナビゲーションセンサ２４の移動量を正確に算出することができるからである。
【００５８】
表面が滑らかな印刷媒体や透明な印刷媒体に印刷する実施形態では、光源としてレーザ光を発生させる半導体レーザ（ＬＤ）を採用することが好適である。ＬＤによって、例えば、縞模様等を印刷媒体１２上に形成し、その模様を特徴部分とすることができるからである。
【００５９】
図６は、ナビゲーションセンサ２４の移動量の算出方法を示す概念図である。以下、図６を参照して、ナビゲーションセンサ２４の移動量の算出方法について概説する。
【００６０】
ナビゲーションセンサ２４は、図６（ａ）に示すように、ＬＥＤ５３からの光を、レンズ５４を介して印刷媒体１２の表面に斜めに照射する。印刷媒体１２の表面には、図６（ａ）に示すように様々な形状の微細な凹凸を有しているため、ＬＥＤ５３の照射光によって様々な形状の陰影が表面上に形成される。
【００６１】
イメージアレイ５６は、予め決められたタイミング毎に、レンズ５５を介して印刷媒体１２の反射光を受光し、イメージデータを生成する。イメージプロセッサ５１は、イメージデータを既定の分解能単位で複数の矩形領域に分割し、前回のタイミングで得られたイメージデータと、今回のタイミングで得られたイメージデータとを比較し、これらのイメージデータを抽出し、ナビゲーションセンサ２４の移動量を算出する。
【００６２】
例えば、図６（ｂ）に示すようなイメージデータが、タイミングSamp1、Samp2、Samp3の順に得られたものとする。図６（ｂ）に示すイメージデータでは、灰色で表された印影部分、すなわち、特徴部分が右から左へ１分解能ずつ移動する様子が表されている。
【００６３】
ここで、Samp1を基準タイミングとすると、Samp2では、特徴部分がＸ軸方向に１分解能分移動しており、移動量（ΔＸ，ΔＹ）は（１，０）となる。また、Samp2を基準タイミングとすると、Samp3では、特徴部分がＸ軸方向に１分解能分移動しており、このときの移動量（ΔＸ，ΔＹ）も（１，０）となる。なお、移動量の単位は、デバイスに依存するが、例えば１２００ｄｐｉ程度の分解能を有することが好適である。
【００６４】
図７は、ハンドヘルドプリンタが実行する処理の一実施形態を示すフローチャートである。以下、図７を参照して、ハンドヘルドプリンタ１０が、画像提供装置１１から印刷ジョブと共に、テキストが含まれる印刷対象の画像データを受信した場合に実行する処理について説明する。
【００６５】
図７に示す処理は、ステップＳ７００から開始し、ステップＳ７０１では、ＯＰＵ制御部４０が、ＯＰＵ２６を制御して画像提供装置１１から印刷対象の画像データを受信している旨を通知する。本実施形態では、ＯＰＵ制御部４０は、点灯時にスタンバイ状態である旨を示すＬＥＤを点滅させる。
【００６６】
ステップＳ７０２では、ノズル数決定部４１が、画像提供装置１１から受信したデータにフォントサイズデータが含まれているか否か判断する。フォントサイズデータが含まれている場合は（ｙｅｓ）、ステップＳ７０５に処理が分岐する。一方、フォントサイズデータが含まれていない場合（ｎｏ）、ステップＳ７０３に処理が分岐する。
【００６７】
ステップＳ７０３では、ノズル数決定部４１は、印刷ジョブで指定されている印字モードが、高画質のテキストを行う高画質モードであるか否か判断する。印字モードが高画質モードでない場合は（ｎｏ）、ステップＳ７０７に処理が分岐する。一方、印字モードが高画質モードである場合は（ｙｅｓ）、ステップＳ７０４に処理が分岐する。
【００６８】
ステップＳ７０４では、ノズル数決定部４１は、画像提供装置１１から受信した画像データからテキストのフォントサイズを算出する。より詳細には、ノズル数決定部４１は、画像データからテキストのエッジを検出し、エッジのアドレスと、エッジの無い領域のアドレスとを算出し、これらのアドレスと、入力画像データの解像度とを用いてフォントサイズを算出することができる。例えば、エッジ情報からテキストの左端アドレスが0x0000、右端アドレスが0x012C（画データ有り領域:0x012C）、解像度が300dpiである場合、フォントサイズは１インチであると判断することができる。
【００６９】
ステップＳ７０５では、ノズル数決定部４１は、画像データに含まれるテキストのフォントサイズが、ノズル列長以下であるか否か判断する。フォントサイズがノズル列長よりも大きい場合は（ｎｏ）、ステップＳ７０７に処理が分岐する。一方、フォントサイズがノズル列長以下である場合は（ｙｅｓ）、ステップＳ７０６に処理が分岐する。ステップＳ７０６では、ノズル数決定部４１は、フォントサイズに基づいて選択的吐出ノズルの数を決定する。
【００７０】
ステップＳ７０７では、印刷指示判定部４２が、印刷指示を受け付けたか否か判断する。より詳細には、印刷指示判定部４２は、ユーザが印刷開始を指示するスイッチを押下することによって発行されるイベントを受信した場合に、印刷指示を受け付けたと判断する。印刷指示を受け付けていない場合は（ｎｏ）、ステップＳ７０７の処理を反復する。一方、印刷指示を受け付けた場合は（ｙｅｓ）、ステップＳ７０８に処理が分岐する。
【００７１】
ステップＳ７０８では、初期位置設定部４３が、ハンドヘルドプリンタ１０の現在の位置を読み出し、初期位置として設定する。ステップＳ７０９では、図８を参照して詳述する印刷処理が実行される。ステップＳ７１０では、印刷完了判定部４９が、印刷対象の全ての画像データを吐出したか否か判断することにより、印刷が完了したか否か判断する。印刷が完了していない場合は（ｎｏ）、ステップＳ７０９に処理を戻す。一方、印刷が完了した場合は（ｙｅｓ）、ステップＳ７１１に処理が分岐する。
【００７２】
ステップＳ７１１では、ＯＰＵ制御部４０が、ＯＰＵ２６を制御して印刷が完了した旨を通知し、ステップＳ７１２で処理が終了する。本実施形態では、ＯＰＵ制御部４０は、スタンバイ状態である旨を示すＬＥＤを点灯させる。
【００７３】
図８は、図７のステップＳ７０９の一実施形態を示すフローチャートである。図８に示す処理は、ステップＳ８００から開始し、ステップＳ８０１で時間判定部４４が、タイミング生成回路３１２を使用して設定時間が経過したか否か判断する。設定時間は、ヘッド側の駆動周期（例えば、ピエゾヘッドの場合に、ヘッドを駆動する駆動波形の波形長等によって規定される駆動周期）や画像転送時間を満たす時間とすることが好適である。
【００７４】
設定時間が経過していない場合（ｎｏ）、ステップＳ８０１の処理が反復する。一方、設定時間が経過した場合（ｙｅｓ）、ステップＳ８０２に処理が分岐する。ステップＳ８０２では、移動量取得部４５が、ナビゲーションセンサ２４からナビゲーションセンサの移動量（ΔＸ，ΔＹ）を取得する。ステップＳ８０３では、位置算出回路３０３が、ステップＳ７０８で設定した初期位置または前回のナビゲーションセンサの位置座標と、ナビゲーションセンサの移動量（ΔＸ，ΔＹ）とを用いて、現在のナビゲーションセンサの位置座標を算出し、記憶装置に保存する。
【００７５】
ここで、ステップＳ７０８で初期位置を設定した後、図８に示す処理を初めて実行する場合、位置算出回路３０３は、初期位置または前回のナビゲーションセンサの位置座標と、ステップＳ８０２で取得した移動量（ΔＸ，ΔＹ）を用いて、現在のナビゲーションセンサの位置座標を算出する。
【００７６】
一方、図８に示す処理を反復して実行する場合は、位置算出回路３０３は、前回算出したナビゲーションセンサの位置座標と、ステップＳ８０２で取得した移動量（ΔＸ，ΔＹ）とを用いて、現在のナビゲーションセンサの位置座標を算出する。なお、ナビゲーションセンサの位置座標の算出方法については、図１２を参照して詳述する。
【００７７】
ステップＳ８０４では、位置算出回路３０３は、現在のナビゲーションセンサの位置座標をＣＰＵ３０１に送信する。ステップＳ８０５では、選択的吐出ノズル決定部４６が、ハンドヘルドプリンタ１０の回転角ｄθに基づいて記録ヘッドが備えるノズルの中から選択的吐出ノズルを決定する。
【００７８】
ステップＳ８０６では、ＣＰＵ３０１のノズル位置算出部４７が、現在のナビゲーションセンサの位置座標に基づいて、記録ヘッドが備える全てのノズルの現在の位置座標を算出する。なお、ノズルの位置座標の算出方法については、図１３を参照して詳述する。
【００７９】
ステップＳ８０７では、ＤＭＡＣ３１５が、ノズル位置算出部４７が算出したノズルの現在の位置座標に基づいて、各ノズルの周辺の印刷対象の画像データを取得する。ステップＳ８０８では、回転器３１６は、位置算出回路３０３が算出したハンドヘルドプリンタの回転角を取得する。
【００８０】
ステップＳ８０９では、回転器３１６は、回転角に基づいて印刷対象の画像データの回転が必要か否か判断する。回転角が０の場合は、回転器３１６は、印刷対象の画像データの回転が不要と判断し、それ以外の場合は、印刷対象の画像データの回転が必要と判断する。
【００８１】
印刷対象の画像データの回転が不要と判断した場合（ｎｏ）、ステップＳ８１１に処理が分岐する。一方、印刷対象の画像データの回転が必要と判断した場合（ｙｅｓ）、ステップＳ８１０に処理が分岐する。ステップＳ８１０では、回転器３１６は、印刷対象の画像データを、ハンドヘルドプリンタ１０の移動によって生じた回転角に応じて回転させる。
【００８２】
ステップＳ８１１では、回転器３１６が、印刷対象の画像データと記録ヘッドの各ノズルの位置座標とを使用して、吐出条件を満たすか否か判断する。より詳細には、回転器３１６は、印刷媒体平面Ｘｍ−Ｙｍにおけるノズルの位置座標と、当該平面における印刷対象の画像データの位置座標とが一致した場合に、吐出条件を満たすと判定する。例えば、図１４に示すように、黒丸で示される画像データの位置座標７４と、記録ヘッドの先頭ノズル７０の位置座標とが一致する場合、回転器３１６は、吐出条件を満たすと判断する。一方、画像データの位置座標とノズルの位置座標が一致しない場合、回転器３１６は、吐出条件を満たさないと判断する。
【００８３】
吐出条件を満たさない場合（ｎｏ）、ステップＳ８１６で処理が終了する。一方、吐出条件を満たす場合（ｙｅｓ）、ステップＳ８１２に処理が分岐する。ステップＳ８１２では、印刷対象選択部４８が、ステップＳ８０７で取得した画像データから選択的吐出ノズルが印刷すべき画像データを抽出する。
【００８４】
ステップＳ８１３では、印刷対象選択部４８は、選択的吐出ノズルが印刷すべき画像データにテキストが含まれるか否か判断する。選択的吐出ノズルが印刷すべき画像データにテキストが含まれない場合は（ｎｏ）、ステップＳ８１５に処理が分岐する。一方、選択的吐出ノズルが印刷すべき画像データにテキストが含まれる場合は（ｙｅｓ）、ステップＳ８１４に処理が分岐する。
【００８５】
ステップＳ８１４では、印刷対象選択部４８は、選択的吐出ノズルが印刷すべき画像データの各行について、移動方向と反対側の端部に位置するテキストを印刷対象とし、それ以外のテキストを印刷対象外とする。
【００８６】
より詳細には、印刷対象選択部４８は、図１１に示すように、選択的吐出ノズルが印刷すべき画像データに含まれるテキストによって構成される各行（第１行および第２行）について、移動方向と反対側の端部に位置するテキスト（第１行のＡおよび第２行のＣ）を印刷対象とし、それ以外のテキスト（第１行のＢおよびＣ）を印刷対象外とする。
【００８７】
ステップＳ８１５では、ＤＭＡＣ３１５が、印刷対象の画像データを記録ヘッド制御回路３１３に転送し、ステップＳ８１６で処理が終了する。ここで、選択的吐出ノズルが印刷すべき画像データにテキストが含まれる場合、ＤＭＡＣ３１５は、印刷対象の画像データとして、選択的吐出ノズルが印刷すべき画像データのうち移動方向と反対側の端部に位置するテキストと、選択的吐出ノズル以外の吐出ノズルが印刷すべき画像データとを記録ヘッド制御回路３１３に転送する。
【００８８】
より詳細には、ＤＭＡＣ３１５は、図１１に示す第１行のテキスト（Ａ）および第２行のテキスト（Ｃ）と、第３行のテキスト（ＡおよびＢ）、第４行のテキスト（ＡおよびＢ）および第５行のテキスト（Ａ）とを、印刷対象の画像データとして記録ヘッド制御回路３１３に転送する。
【００８９】
そして、記録ヘッド制御回路３１３は、印刷対象の画像データを記録ヘッド駆動回路２に送信し、記録ヘッドの各ノズルが、上述した印刷媒体上の位置座標（すなわち、印刷媒体平面Ｘｍ−Ｙｍにおけるノズルおよび印刷対象の画像データの位置座標）に、当該位置座標に吐出すべき印刷対象の画像データに応じた液滴を吐出する。
【００９０】
図１２は、ナビゲーションセンサ７１ａ、７１ｂの位置座標の算出方法を示す図である。図１２は、ハンドヘルドプリンタ１０が印刷媒体（図示せず）の水平方向および垂直方向によって規定されるＸｍ−Ｙｍ平面のＹｍ軸に対して角度θ回転した状態で、ユーザがハンドヘルドプリンタ１０を移動させて印刷を行った結果、ハンドヘルドプリンタ１０がさらに角度dθ回転した様子を示す。以下、図１２を参照して、ナビゲーションセンサ７１ａ、７１ｂの位置座標を算出する方法について説明する。
【００９１】
本実施形態では、ハンドヘルドプリンタ１０の回転成分および並行移動成分を算出し、これらの回転成分および並行移動成分と、印刷前のナビゲーションセンサ７１ａ、７１ｂの位置座標とに基づいて、印刷後のナビゲーションセンサ７１ａ、７１ｂの位置座標を算出する。
【００９２】
まず、位置算出回路３０３は、Ｘ−Ｙ平面におけるナビゲーションセンサ７１ａ，７１ｂのＸ軸方向への移動量を、数式１に代入することにより、移動前のハンドヘルドプリンタに対する移動後のハンドヘルドプリンタの回転角dθを、回転成分として算出する。
【００９３】
【数１】
0006402585.tif 000002
ここで、dθは、図１２に示すように、移動前のハンドヘルドプリンタのＸ−Ｙ平面におけるＹ軸に対する、移動後のハンドヘルドプリンタの回転角である。ΔＸＳ０は、Ｘ−Ｙ平面におけるナビゲーションセンサ７１ａの移動ベクトルのＸ軸成分であり、Ｘ軸方向への移動量を示す。ΔＸＳ１は、Ｘ−Ｙ平面におけるナビゲーションセンサ７１ｂの移動ベクトルのＸ軸成分であり、Ｘ軸方向への移動量を示す。距離Ｌは、ナビゲーションセンサ７１ａ，７１ｂ間の距離を示す。
【００９４】
次に、位置算出回路３０３は、Ｘ−Ｙ平面におけるナビゲーションセンサ７１ａのＸ軸方向への移動量およびＹ軸方向への移動量を、数式２に代入することにより、Ｘｍ−Ｙｍ平面におけるナビゲーションセンサ７１ａのＸｍ軸方向への移動量と、Ｙｍ軸方向への移動量とを、並行移動成分として算出する。
【００９５】
【数２】
0006402585.tif 000003
【００９６】
ここで、図１２に示すように、位置座標（Ｘ０,Ｙ０）、（Ｘ１,Ｙ１）は、それぞれ印刷前のナビゲーションセンサ７１ａ，７１ｂの初期位置の座標であるｄＸ０は、Ｘｍ−Ｙｍ平面におけるナビゲーションセンサ７１ａの移動ベクトルのＸｍ軸成分であり、Ｘｍ軸方向への移動量を示す。ｄＹ０は、Ｘｍ−Ｙｍ平面におけるナビゲーションセンサ７１ａの移動ベクトルのＹｍ軸成分であり、Ｙｍ軸方向への移動量を示す。θは、Ｘｍ−Ｙｍ平面におけるＹｍ軸に対する、印刷開始時のハンドヘルドプリンタの傾斜角を示す。ΔＹＳ０は、Ｘ−Ｙ平面におけるナビゲーションセンサ７１ａの移動ベクトルのＹ軸成分であり、Ｙ軸方向への移動量を示す。本実施形態では、傾斜角θは印刷開始時にユーザが設定することができる。他の実施形態では傾斜角θを０としてもよい。
【００９７】
そして、位置算出回路３０３は、ナビゲーションセンサ７１ａの初期位置（Ｘ０,Ｙ０）と、数式２で算出したｄＸ０,ｄＹ０とを用いて、Ｘｍ−Ｙｍ平面における印刷後のナビゲーションセンサ７１ａの位置座標（Ｘ０＋ｄＸ０,Ｙ０＋ｄＹ０）を算出することができる。
【００９８】
そして、位置算出回路３０３は、印刷後のナビゲーションセンサ７１ａの位置座標（Ｘ０＋ｄＸ０,Ｙ０＋ｄＹ０）を初期位置（Ｘ０,Ｙ０）とし、印刷後のナビゲーションセンサ７１ａの位置座標と、ハンドヘルドプリンタの傾斜角θと、距離Ｌと、数式１を用いて算出された回転角ｄθとを数式３に代入することにより、Ｘｍ−Ｙｍ平面における印刷後のナビゲーションセンサ７１ｂの位置座標（Ｘ１,Ｙ１）を算出することができる。なお、数式３では、印刷後のナビゲーションセンサ７１ｂの位置座標を新たな初期位置として算出する。
【００９９】
【数３】
0006402585.tif 000004
【０１００】
これ以降、同様の方法で印刷後のナビゲーションセンサ７１ａ，７１ｂの位置座標を算出することができる。
【０１０１】
図１３は、ハンドヘルドプリンタ１０の記録ヘッドユニットおよびナビゲーションセンサの一実施形態を示す概略図である。以下、図１３を参照して、ナビゲーションセンサ７１ａ，７１ｂの取付位置の延長線上にあるノズル７０の位置座標の算出方法について説明する。
【０１０２】
ハンドヘルドプリンタ１０には、ナビゲーションセンサ７１ａ，７１ｂが取り付けられる。ナビゲーションセンサ７１ａ，７１ｂは、図１３に示すように、等間隔で設置される複数のノズル７０の長手方向に取り付けられる。
【０１０３】
距離ａは、ナビゲーションセンサ７１ａの中心から記録ヘッド７２の上端までの距離を示す。距離ｂは、ナビゲーションセンサ７１ｂの中心から記録ヘッド７２の下端までの距離を示す。距離ｃは、ナビゲーションセンサ７１ａとナビゲーションセンサ７１ｂとの距離を示す。距離ｄは、記録ヘッド７２の両端から当該端部に最も近いノズル７０までの距離を示す。距離ｅは、各ノズル７０間の距離を示す。これらの距離ａ〜ｅは、予め決められた距離である。θは、Ｘｍ−Ｙｍ平面におけるＹｍ軸に対する、印刷前のハンドヘルドプリンタの傾斜角を示す。
【０１０４】
ノズル位置算出部は、ナビゲーションセンサ７１ａの位置座標（Ｘ０,Ｙ０）を数式４に代入することにより、ノズル７０の位置座標（ＮＺＬＮ＿Ｘ，ＮＺＬＮ＿Ｙ）を算出することができる。
【０１０５】
【数４】
0006402585.tif 000005
ここで、Ｎはノズル７０の識別番号であり、ナビゲーションセンサ７１ａの側から順に割り当てられる。
【０１０６】
これまで本発明の実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、上述した実施形態の構成要素を変更若しくは削除し、または上述した実施形態の構成要素に他の構成要素を追加するなど、当業者が想到することができる範囲内で変更することができる。いずれの態様においても本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１０７】
１０…ハンドヘルドプリンタ、１１…画像提供装置、１２…印刷媒体
【先行技術文献】
【特許文献】
【０１０８】
【特許文献１】特表２０１０−５２００８７
【特許文献２】特開平９−３００７１３
【図１】
0006402585.tif 000006
【図２】
0006402585.tif 000007
【図３】
0006402585.tif 000008
【図４】
0006402585.tif 000009
【図５】
0006402585.tif 000010
【図６】
0006402585.tif 000011
【図７】
0006402585.tif 000012
【図８】
0006402585.tif 000013
【図９】
0006402585.tif 000014
【図１０】
0006402585.tif 000015
【図１１】
0006402585.tif 000016
【図１２】
0006402585.tif 000017
【図１３】
0006402585.tif 000018
【図１４】
0006402585.tif 000019
【図１５】
0006402585.tif 000020