(57)【要約】【課題】ハンドヘルド記録装置の走査ごとの記録幅を超える大きさの画像を記録する場合でも、画像の白スジや重なりが目立たないようにする。【解決手段】複数のノズルを列設した記録ヘッドを備え、人の手で記録媒体上を走査されながら画像データに応じてノズルからインクを吐出して記録するハンドヘルド記録装置で、その制御モジュール２６に、ＣＰＵ４１とフィルタリング適用回路４４と吐出制限回路５８を設けている。そのＣＰＵ４１とフィルタリング適用回路４４によって、記録ヘッドが記録すべき画像データの、記録ヘッドの走査方向に直交する方向の両画像端部にフィルタ適用領域を設定し、その各領域内の画素データをフィルタリング処理し、ＣＰＵ４１と吐出制限回路５８によって、記録ヘッドの走査方向に直交する方向の両端部にマスク領域を設定し、その各マスク領域内のノズルに対して、インクの吐出と不吐出をランダムに決定する。【選択図】    図３
2016112700.tif 000002
【特許請求の範囲】
【請求項１】
複数のノズルを列設した記録ヘッドを備え、人の手で記録媒体上を走査されながら画像データに応じて前記ノズルからインクを吐出して記録するハンドヘルド記録装置であって、
前記記録ヘッドが記録すべき画像データの、該記録ヘッドの走査方向に直交する方向の両画像端部にそれぞれフィルタ適用領域を設定し、その各フィルタ適用領域内の画素データをフィルタリング処理して、該各フィルタ適用領域での記録画像を淡くするフィルタリング手段と、
前記記録ヘッドの走査方向に直交する方向の両端部にそれぞれマスク領域を設定し、その各マスク領域内の前記ノズルに対して、インクの吐出と不吐出をランダムに決定する吐出制限手段と、
を設けたことを特徴とするハンドヘルド記録装置。
【請求項２】
前記フィルタリング手段は、予め設定されたサイズのフィルタを適用して前記フィルタリング処理を行なうことを特徴とする請求項１に記載のハンドヘルド記録装置。
【請求項３】
前記フィルタリング手段は、前記フィルタリング処理を行なう対象領域の各画素データを解析し、記録すべき全体画像の領域外の画素を含むか、前記各画素の濃度が全て所定値以下の場合には、前記フィルタリング処理を行なわないことを特徴とする請求項１又は２に記載のハンドヘルド記録装置。
【請求項４】
前記フィルタリング手段は、前記フィルタリング処理を行なう対象領域の画像データを予め解析し、その画像パターンに適したフィルタリングパターンのフィルタを適用して前記フィルタリング処理を行なうことを特徴とする請求項１から３のいずれか一項に記載のハンドヘルド記録装置。
【請求項５】
前記吐出制限手段は、複数のマスクパターンを記憶しており、その複数のマスクパターンを組み合わせて静的にマスクパターンを設定し、該マスクパターンを適用して、前記各領域内の前記ノズルに対して、インクの吐出と不吐出をランダムに決定することを特徴とする請求項１から４のいずれか一項に記載のハンドヘルド記録装置。
【請求項６】
前記吐出制限手段は、マスクパターンを動的にランダムに生成し、該マスクパターンを適用して、前記各領域内の前記ノズルに対して、インクの吐出と不吐出をランダムに決定することを特徴とする請求項１から４のいずれか一項に記載のハンドヘルド記録装置。
【請求項７】
前記吐出制限手段は、前記記録すべき画像データを予め解析し、その画像パターンに応じて、前記適用するマスクパターンの前記インクの吐出と不吐出の割合を変更することを特徴とする請求項５又は６に記載のハンドヘルド記録装置。
【請求項８】
請求項５から７のいずれか一項に記載のハンドヘルド記録装置において、
前記吐出制限手段が前記マスクパターンを適用するマスク領域の、前記記録ヘッドの走査方向に直交する方向の端縁からの幅を外部から設定する手段を有することを特徴とするハンドヘルド記録装置。
【請求項９】
前記吐出制限手段は、前記記録ヘッドの走査方向に直交する方向の端縁に近い前記ノズルほど、インク不吐出の割合を増加させることを特徴とする請求項１から８のいずれか一項に記載のハンドヘルド記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ハンドヘルド記録装置に関する。
【背景技術】
【０００２】
記録装置であるプリンタには、インクジェットプリンタ、レーザプリンタ、サーマルプリンタ、ドットインパクトプリンタ等、種々の記録方式のものがあるが、近年は小型のプリンタとして、インクジェットプリンタが広く使用されている。
【０００３】
インクジェットプリンタは、記録媒体である紙等に記録剤であるインクを塗布することによって、文字や図形、写真等の所望の画像を形成する記録装置である。そのインクの塗布は、一般に、インクジェットヘッドをガイドレールに沿って一定方向（主走査方向）に往復移動させながら行ない、記録媒体である紙を副走査方向へ搬送させる。
【０００４】
しかし、ノート型パーソナルコンピュータ（ＰＣ）の小型化やスマートフォン等のスマートデバイスの急激な普及により、プリンタも容易に持ち運びできるように小型化することが大きな要望となっている。
このような要望に応えて、用紙搬送システムを省略し、人の手で紙面等の記録媒体上を自由に走査（フリーハンド走査）しながらインクを塗布して、画像を記録するハンドヘルド記録装置が提案されている。
【０００５】
例えば、特許文献１には、印字したい面上を走査して印字を行なう走査式印字装置が開示されている。そこにはさらに、文字修飾を含めた文字サイズが、インクジェットヘッドが印字可能な印字サイズより大きかった場合には、その文字サイズを印字可能なサイズに修正して、大きな修飾文字でも完全に印刷できるようにすることも開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、このようなハンドヘルド記録装置（プリンタ）では、記録媒体に対する１回の走査で記録できる領域の幅は、記録ヘッドの走査方向に直交する方向のノズル列の列長によって決まる。
そのため、多量の文字列や、写真や図形などの画像を記録する場合には、一般に、ハンドヘルド記録装置を左右方向に１回走査するごとに、その記録幅だけ縦方向に位置をずらし、複数回走査して記録する必要がある。
【０００７】
その場合、インクジェットヘッドの位置を検知するナビゲーションセンサの精度限界や、各ノズルからのインク吐出位置の誤差等により、各走査ごとの記録幅（パス）が隣接する部分では、印字ドットの抜けあるいは重ね印字が発生する。
たとえば、印刷したい画像が図１8の（ａ）に示すような場合に、ハンドヘルド記録装置による印刷結果の画像が、同図の（ｂ）に示すようになる。すなわち、同図の（ｃ）に明示するように、各走査ごとに印刷される帯状の画像の隣接部分が離れて白スジＷが発生したり、画像の重なりＤが発生するという問題があった。特に、写真画像を印刷（記録）する場合、このような白スジや画像の重なりが目立ち、画質を低下させていた。
このような問題は、特許文献１に開示されているように、大きな修飾文字を完全に印刷できるようにしても解消することはできない。
【０００８】
この発明は、このような問題に鑑みてなされたものであり、ハンドヘルド記録装置の走査ごとの記録幅（パス）を超える大きさの画像を記録する場合でも、画像の白スジや重なりが目立たないようにすることを目的とする。
【課題を解決するための手段】
【０００９】
この発明は上記の目的を達成するため、複数のノズルを列設した記録ヘッドを備え、人の手で記録媒体上を走査されながら画像データに応じて上記ノズルからインクを吐出して記録するハンドヘルド記録装置であって、上記記録ヘッドが記録すべき画像データの、該記録ヘッドの走査方向に直交する方向の両画像端部にそれぞれフィルタ適用領域を設定し、その各フィルタ適用領域内の画素データをフィルタリング処理して、その各フィルタ適用領域での記録画像を淡くするフィルタリング手段と、上記記録ヘッドの走査方向に直交する方向の両端部にそれぞれマスク領域を設定し、その各マスク領域内の上記ノズルに対して、インクの吐出と不吐出をランダムに決定する吐出制限手段とを設けたことを特徴とする。
【発明の効果】
【００１０】
この発明によるハンドヘルド記録装置は、記録媒体上に主走査ごとの副走査方向の記録幅（パス）を超える大きさの画像を記録する場合でも、画像の白スジや重なりが目立たない記録ができる。
【図面の簡単な説明】
【００１１】
【図１】この発明によるハンドヘルド記録装置の一実施形態であるハンドヘルドプリンタを含む記録システムの構成例を示す図である。
【図２】図１におけるハンドヘルドプリンタ１０のハードウェア構成を示すブロック図である。
【図３】図２における制御モジュール２６の構成例を示すブロック図である。
【図４】図１におけるハンドヘルドプリンタ１０の底面による記録ヘッドとナビゲーションセンサとの位置関係の説明図である。
【図５】位置情報と画像座標及び格納アドレスについて説明するための図である。
【図６】ハンドヘルドプリンタ１０による印刷（記録）動作の流れを、ユーザによる動作と共に示すフローチャートである。
【図７】図６のステップＳ１０１における初期化処理の詳細を示すサブルーチンのフローチャートである。
【図８】図３に示したフィルタリング適用回路４４によるフィルタ適用イメージを示す図である。
【図９】図８の（ｂ）に示したフィルタ適用のより詳細なイメージを示す図である。
【図１０】図８におけるフィルタ適用領域と適用外領域を説明するための図である。
【図１１】フィルタリング処理のための適用フィルタのサイズ決定ルールを説明するための図である。
【図１２】図６のステップＳ１１５におけるフィルタリング処理の詳細を示すサブルーチンのフローチャートである。
【図１３】図４に示したハンドヘルドプリンタ１０の記録ヘッド２８側の具体的な一例を示す下面図である。
【図１４】図３に示した吐出制限回路５８におけるマスクパターンの適用について説明するための図である。
【図１５】同じく吐出制限回路５８にて適用するマスクの不吐出割合が記録ヘッド端に近づくに従って多くなるようにする例を説明するための図である。
【図１６】図６のステップＳ１１８におけるマスク処理の詳細を示すサブルーチンのフローチャートである。
【図１７】この発明による効果を説明するための図である。
【図１８】従来のハンドヘルドプリンタによる印刷の問題点を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
図１は、この発明によるハンドヘルド記録装置の一実施形態であるハンドヘルドプリンタを含む記録システムの構成例を示す図である。
ハンドヘルドプリンタ１０は、人が片手で持ち運びできる大きさ及び重量であり、ノートや定形用紙等の記録媒体１２上を自由に移動して走査されながら、その記録媒体１２上に画像を形成することができるハンドヘルド記録装置である。これは、ハンディモバイルプリンタとも称される。
【００１３】
このハンドヘルドプリンタ１０は、複数のノズルを列設した記録ヘッドを備えており、そのノズルから画像データに応じてインクを吐出し、記録媒体１２上に画像を形成するインクジェット方式のプリンタである。そして、モノクロプリンタであってもよいし、カラープリンタであってもよい。
また、このハンドヘルドプリンタ１０は、赤外線通信、Bluetooth（登録商標）、ＷｉＦｉ等の無線通信により、画像データを保持するホスト装置としてのスマートデバイス１１から画像データを受信する。そして、その受信した画像データに基づいて記録媒体１２上に画像を形成する。
【００１４】
その画像データは、文字のみからなるテキストデータであってもよいし、図、絵、写真等を含む文書データ、表データ等であってもよい。ハンドヘルドプリンタ１０は、スマートデバイス１１から画像データを直接受信してもよいし、アクセスポイント等を介して受信してもよい。また、無線通信に限るものではなく、ハンドヘルドプリンタ１０とスマートデバイス１１をケーブル等で接続し、ハンドヘルドプリンタ１０が有線通信によって画像データを受信するようにしてもよい。
【００１５】
スマートデバイス１１は、例えば、スマートフォン、タブレット端末、ノートＰＣ等の情報処理装置であり、ハンドヘルドプリンタ１０と無線又は有線通信を行い、自身が保持する画像データをハンドヘルドプリンタ１０へ送信する。また、スマートデバイス１１は、サーバ等の他の機器から受信して取得した画像データを、ハンドヘルドプリンタ１０へ送信することもできる。
【００１６】
そのスマートデバイス１１は、画像データ、その画像データを表示するアプリケーション、ＯＳ等を記憶する記憶装置、アプリケーションを実行するＣＰＵ、画像を表示する表示装置、その画像の印刷指示を入力する入力装置を備える。なお、表示装置、入力装置は、別個の装置として構成されたものに限らず、これらの機能を備えるタッチパネルであってもよい。ここで「印刷」とは、記録媒体上に画像を形成して記録する「記録」と同意である。
【００１７】
ユーザは、スマートデバイス１１の電源を入れ、アプリケーションを起動させ、画像データを表示させる。ユーザは、その画像データを印刷したい場合、例えば、タッチパネルに表示された印刷開始ボタンをタップすることにより印刷を指示することができる。この印刷指示を受けて、スマートデバイス１１は、その画像データを、無線通信によりハンドヘルドプリンタ１０へ送信する。
【００１８】
ハンドヘルドプリンタ１０は、スマートデバイス１１から印刷対象の画像データを受信する。ユーザは、手１３でハンドヘルドプリンタ１０を持ち、紙等の記録媒体１２上を自由に移動させる。その間に、ハンドヘルドプリンタ１０は、記録ヘッドの各ノズルの位置を、最初に決められた初期位置を基準とした座標位置として算出する。
そして、ハンドヘルドプリンタ１０は、受信した画像データを構成する画像要素のデータ（印字データ）の座標位置と算出した座標位置とが一致する場合に、その印字データを、記録ヘッドを制御する後述する制御モジュールへ送る。複数のノズルを有する記録ヘッドは、その制御モジュールの制御を受けて、その座標位置にあるノズルからインクを吐出させ、印字を行なう。ハンドヘルドプリンタ１０は、これを繰り返して記録媒体１２上に画像１４を形成する。
【００１９】
ハンドヘルドプリンタ１０は、図１に示すように箱状の形態をなし、インクを吐出するための複数のノズルを列設した記録ヘッドを備えており、その複数のノズルを有する面（図１では下側の面）を、平面状の記録媒体１２に押し当てるようにして使用される。
ハンドヘルドプリンタ１０が、ユーザの手１３によって記録媒体１２に押し当てられた際に、記録ヘッドの複数のノズルは、その先端が記録媒体１２から離間するように配置されている。そのノズル先端から記録媒体１２までの距離は、ノズルからインクを吐出して適切に印字することができる距離として予め決定されている。
ユーザは、手１３でハンドヘルドプリンタ１０を持って、その記録ヘッドの面を記録媒体１２上に押し当てて、記録媒体１２上を左から右へ走査し、一段下げて右から左へ走査するように移動させることによって、記録媒体１２に画像１４を記録（印刷）する。
【００２０】
図２は、図１におけるハンドヘルドプリンタ１０のハードウェア構成を示すブロック図である。
このハンドヘルドプリンタ１０は、電池やバッテリによる電源２０と、その電源から各ユニットへ必要な給電を行なう電源回路２１を備えている。電源回路２１はまた、電源２０のバッテリを充電する回路、ＡＣ電源との切り替え回路などを含んでもよい。
ハンドヘルドプリンタ１０はまた、スマートデバイス１１から送信された画像データを受信する通信インタフェース（ＩＦ）２２を備えている。その通信インタフェース２２は、無線ＬＡＮやBluetooth（登録商標）、ＮＦＣ等の無線通信手段が望ましいが、それに限定されるものではなく、有線通信手段であってもよい。
【００２１】
さらに、このハンドヘルドプリンタ１０は、ＲＯＭ２３、ＤＲＡＭ２４、ナビゲーションセンサ２５、制御モジュール２６、オペレーションユニット（ＯＰＵ）２７、記録ヘッド２８、記録ヘッド駆動回路２９を備えている。
ＲＯＭ２３は、ハンドヘルドプリンタ１０のハードウェア制御を行なうファームウェアや、記録ヘッド２８の駆動波形データ、各種の初期設定データ等を格納しておくリードオンリメモリである。この発明に係るフィルタリング／マスクデータ等もこのＲＯＭ２３に格納される。
【００２２】
ＤＲＡＭ２４は、通信インタフェース２２が受信した画像データの一時的な格納や、ファームウェア動作時のワークメモリ、ＲＯＭ２３から展開されたファームウェア（プログラム）の格納などに使用される。
ナビゲーションセンサ２５は、記録ヘッド２８を挟んで２個以上設けられており、ハンドヘルドプリンタ１０及び記録ヘッド２８の位置情報ならびに移動距離を算出するための座標情報を検出する。移動量に加えて、回転量や加速度を算出するために使用してもよい。このナビゲーションセンサ２５の詳細については後述する。
【００２３】
制御モジュール２６はＣＰＵを含み、このハンドヘルドプリンタ１０全体の制御を行なう。その制御の内容については後述するが、例えば、ナビゲーションセンサ２５からの情報に基づいて、記録ヘッド２８のノズル毎の位置を算出し、その位置に応じた画像の選択、印字判定等を行なう。また、この発明に係わる制御も行なう。
オペレーションユニット（ＯＰＵ）２７は、操作ボタンや液晶ディスプレイ(ＬＣＤ)等を含み、タッチパネルを備えていてもよい。このオペレーションユニット２７は、ユーザからの入力を受け付け、ユーザに対して処理の状況やエラー等を通知することができる。
【００２４】
記録ヘッド２８は、インクを吐出するための複数のノズルが配列されたノズル列を有し、この実施形態ではフルカラー印刷ができるように、シアン（Ｃ）、マゼンタ（Ｍ），イエロー（Ｙ）、ブラック（Ｋ）の各インク吐出用の４列のノズル列を備えている。各ノズルのインク吐出方式は、ピエゾ方式でもサーマル方式でもよいが、この実施形態ではピエゾ方式とする。
記録ヘッド駆動回路２９は、印刷するための印字データと印字タイミングを指示する印字タイミング情報とを受け付ける。そして、印字タイミング情報で指示された印字タイミングに、印字データに基づいて記録媒体１２にインクを吐出するように、記録ヘッド２８のＣＭＹＫ各色用のノズル列毎に、その各ノズルに対する駆動制御を行なう。
【００２５】
このハンドヘルドプリンタ１０は、通信インタフェース２２が、スマートデバイス１１から印刷ジョブ（画像データ）を受信すると、制御モジュール２６が、ナビゲーションセンサ２５からの入力情報を基に、記録ヘッド２８の各ノズルの位置を算出する。受信した画像データは、制御モジュール２６によってＤＲＡＭ２４に格納される。
【００２６】
ユーザが、このハンドヘルドプリンタ１０を片手で持ち、それを自由に移動させて記録媒体１２上を走査すると、制御モジュール２６は、その走査中に、記録ヘッド２８の各ノズルの位置を算出し続ける。そして、制御モジュール２６は、算出した位置に応じた所定領域の画像のみをＤＲＡＭ２４から取得する。制御モジュール２６は、その取得した画像と算出した各ノズルの位置とを比較し、１以上のノズルについて合致と判断した場合は、その各ノズルに対する印字データを記録ヘッド駆動回路２９へ送る。
記録ヘッド駆動回路２９は、印字タイミング情報も受け付けて記録ヘッド２８の各ノズルの駆動制御を行い、記録ヘッド２８に記録媒体１２上への印刷を実行させる。
【００２７】
次に、上述した制御モジュール２６の構成例を図３によって説明する。
この実施形態における制御モジュール２６は、図３に示すように制御部４０と制御ＩＣ５０によって構成されている。
制御部４０は、例えばＳｏＣ（System  on  Chip）によって構成され、制御ＩＣ５０は、例えばＡＳＩＣ（Application  Specific  Integrated  Circuit）によって構成される。ＡＳＩＣに代えて、製造後にユーザが構成を設定できるＦＰＧＡ(Field  Programmable  Gate  Alley)を用いてもよい。
【００２８】
制御部４０は、ＣＰＵ４１とメモリコントローラ４２、位置算出回路４３、およびフィルタリング適用回路４４を有し、これらはバス４５に接続され、バス４５を介してデータ等のやりとりを行なう。そのバス４５は、制御ＩＣ５０のバス５９とも接続されており、制御部４０の各部は、制御ＩＣ５０の各部ともデータ等のやりとりを行なうことができる。
ＣＰＵ４１は、このハンドヘルドプリンタ１０全体の制御を行なう中央演算処理装置であり、ＲＯＭ２３に格納されたプログラムに従って動作する。
【００２９】
メモリコントローラ４２は、ＲＯＭ２３及びＤＲＡＭ２４とのインタフェース制御を行なう。位置算出回路４３は、制御ＩＣ５０を通してナビゲーションセンサ２５からの位置座標情報を取得し、前述した記録ヘッド２８及び各ノズルの位置と移動距離を、ＣＰＵ４１の制御によって算出する。
フィルタリング適用回路４４は、制御ＩＣ５０のＤＭＡＣ５５から読み出された画像データに対して、この発明を実施するため、印刷すべき画像データのうち、対象領域の画素データに対してフィルタリング処理（画像処理の一種）を実施する回路である。このフィルタリング適用回路４４がＣＰＵ４１と共に、この発明を実施するためのフィルタリング手段の機能を果す。その機能の詳細については後述する。
【００３０】
制御ＩＣ５０は、ナビゲーションセンサＩ／Ｆ（インタフェース）５１、タイミング生成回路５２、および記録ヘッド制御回路５３を有する。さらに、イメージＲＡＭ５４、ＤＭＡＣ（Direct  Memory  Access  Controller)５５、回転器５６、割り込み回路５７、および吐出制限回路５８を含む。
これらの各部はバス５９に接続され、そのバス５９を介してデータ等のやりとりを行なう。また、バス５９は、制御部４０のバス４５とも接続されており、制御ＩＣ５０の各部は、制御部４０の各部ともデータ等のやりとりを行なうことができる。
【００３１】
ナビゲーションセンサＩ／Ｆ５１は、ナビゲーションセンサ２５と通信し、そのナビゲーションセンサ２５からの出力値であるｄＸ、ｄＹを受信し、その値を内部メモリである内部レジスタに格納する。
タイミング生成回路５２は、ナビゲーションセンサ２５が光を照射し、記録媒体１２からの反射光をイメージデータとして取得するタイミングの情報を生成し、その情報をナビゲーションセンサＩ／Ｆ５１に通知する。すなわち、タイミング生成回路５２は、記録媒体１２を読み取るタイミングを指示する。タイミング生成回路５２はまた、記録ヘッド２８を駆動するタイミングの情報を生成し、その情報を記録ヘッド制御回路５３に通知する。すなわち、タイミング生成回路５２は、印刷を行なうために記録ヘッド２８の各ノズルからインクを吐出させるタイミングを指示する。
【００３２】
ＤＭＡＣ５５は、制御部４０の位置算出回路４３が算出した位置情報を基に、記録ヘッド２８が備える各ノズルの周辺画像の画像データを、メモリコントローラ４２を直接制御してＤＲＡＭ２４から読み出す。
イメージＲＡＭ５４は、ＤＭＡＣ５５が読み出した周辺画像の画像データを一時的に格納するメモリであり、例えばＳＲＡＭを使用する。
回転器５６は、ＤＭＡＣ５５が読み出した周辺画像の画像データを、ユーザに指定されたヘッド位置及びヘッド傾きに応じて回転させ、記録ヘッド制御回路５３へ出力する。この回転器５６は、例えば、制御部４０の位置算出回路４３が位置座標を算出する際に算出した回転角度を取得し、その回転角度を用いて周辺画像を回転させることができる。
【００３３】
記録ヘッド制御回路５３は、タイミング生成回路５２からの記録ヘッドを駆動するタイミングの情報から制御信号を生成し、回転器５６から出力された周辺画像の画像データを受け付け、記録ヘッド２８のどのノズルからインクを吐出させるかを判断する。記録ヘッド制御回路５３は、その判断結果とタイミングの情報に応じて、インクを吐出させるノズルの情報及び印字データを、ＣＭＹＫの各色ごとに記録ヘッド駆動回路２９へ出力する。
【００３４】
割り込み回路５７は、ナビゲーションセンサＩ／Ｆ５１がナビゲーションセンサ２５との通信を終了した際、制御部４０にその旨を通知する割り込み信号制御機能を有する。その他に、エラー等のステータス情報を通知する機能も有する。
吐出制限回路５８は、この発明を実施するための吐出制限手段であり、記録ヘッド２８における吐出制限の対象となるノズルに対して、それぞれインクの吐出と不吐出をランダムに決定し、その結果を各対象ノズルの実際のインク吐出に適用する機能を有する。この機能の詳細についても後述する。
【００３５】
次に、ナビゲーションセンサと記録ヘッドの位置関係について、図４によって説明する。図４は、図１におけるハンドヘルドプリンタ１０の底面における記録ヘッドとナビゲーションセンサとの位置関係の説明図である。
記録ヘッド２８は、ハンドヘルドプリンタ１０の底面１０ａの外周より内側に、長手方向に沿って配置されている。記録ヘッド２８の下面には、その長手方向に沿って多数のノズル１８が配列されたノズル列が、ＣＭＹＫの各色用に４列設けられているが、この図４では簡略化して１列だけを示している。
【００３６】
ナビゲーションセンサ２５は、ハンドヘルドプリンタ１０の底面における記録ヘッド２８の周囲に複数個（２個以上）設置されるが、この実施形態では、記録ヘッド２８の長手方向の両端近傍で、中心に対して対称な位置に一対（２個）設置されている。
その一方のナビゲーションセンサ２５ａの中心から記録ヘッド２８の長手方向の一端までの距離をａ、他方のナビゲーションセンサ２５ｂの中心から記録ヘッド２８の長手方向の他端までの距離をｂで示す。この一対のナビゲーションセンサ２５ａと２５ｂの中心間の距離cが長い程よい。それは、後で説明する位置算出演算時に、距離cが長い程、演算誤差が少なくなるからである。
【００３７】
そして、この一対のナビゲーションセンサ２５ａと２５ｂの位置を算出した後に、上記距離ａ、ｂと、記録ヘッド２８の長手方向の両端からその各端に最も近いノズル１８までの各距離ｄと、隣接するノズル１８間の距離eを用いて、各ノズル１８の位置を算出する。
上記の各距離ａ〜ｅは、予め決められた距離であるから、ナビゲーションセンサ２５ａ，２５ｂの位置座標を算出することによって、各ノズル１８の位置座標を算出することができる。
【００３８】
記録媒体１２の横方向をＸ軸、縦方向をＹ軸とし、ナビゲーションセンサ２５ａ，２５ｂの出力軸も同様とする。図４に示すように、ハンドヘルドプリンタ１０がユーザによる走査で角度θだけ傾いた場合、ナビゲーションセンサ２５ａ，２５ｂの出力値は、Ｘ、Ｙ軸を基準としたものではなく、角度θだけ傾いたＸ′、Ｙ′軸を基準としたものになる。
そのため、ハンドヘルドプリンタ１０の移動によるナビゲーションセンサ２５ａ，２５ｂのΔX、ΔYの出力値は、Ｘ′、Ｙ′軸の水平方向及び垂直方向へ移動した移動距離となる。したがって、記録媒体１２のＸ、Ｙ軸の水平方向及び垂直方向へ移動した移動距離ではなくなる。このような場合でも、得られた移動距離から記録媒体１２のＸ、Ｙ軸に対する座標位置を逐次算出し、その座標位置を格納するようにしておけば、正常な座標位置を把握することができる。
【００３９】
そこで、この位置情報と画像座標及び格納アドレスについて、図５に示す例で説明する。
これは、記録媒体である紙面上に大きな「Ｈ」の文字を印字する場合の例である。
図３に示した制御部４０に画像データが入力されると、その画像データは、外部メモリであるＤＲＡＭ２４に格納される際に、図５の（ａ）に示すように複数のLine（ライン）に分割されて格納される。各Lineは、１ドット×１行分のブロックサイズを有する画像領域であるが、これに限られるものではない。
【００４０】
図３に示した制御ＩＣ５０のＤＭＡＣ５５は、図４に示した記録ヘッド２８全体を含む複数Line分の画像領域の画像データを、マージンと合わせてイメージＲＡＭ５４に格納する。例えば、図５（ａ）に示すLine 1からLine Nまでの画像データを、同図（ｂ）に示すように、アドレスが割り振られたメモリ領域のそれぞれに格納する。
ここで、記録ヘッド駆動周期の１周期当たりに進む座標値を、表1を参照して説明する。
【００４１】
【表１】
2016112700.tif 000003
【００４２】
フリーハンド走査の最大速度を400mm/s、インク吐出周期すなわち駆動周期を100μs、データ階調を１ドット当たり２ビット（２bit/dot）とし、印字解像度を600dpiとする。
この条件によって、１駆動周期（１ドットを吐出する間隔）内で移動する際に必要なデータ量を算出すると、一方向のデータであれば１．９ビット、周辺８方向のデータであれば１５．２ビットが必要とされる。
【００４３】
これを、600dpi座標換算すると、０．９５となり、０．９５ドット間隔で吐出可能ということになる。すなわち、得られた値が１ドット間隔未満であるため、１ドット移動する間に十分にインクを吐出させることができる。
１つのノズルからインクを吐出させる際に必要なデータ量は、一方向にのみに移動するわけではなく、上下左右、斜めのいずれにも移動する可能性があることから、８方向のデータ量が必要となる。この例では、記録ヘッドに１９２個のノズルを備えるため、１．９×８×１９２＝２９１８．４ビットのデータ量が少なくとも必要である。
【００４４】
図３に示したＤＭＡＣ５５が、印字データを記録ヘッド制御回路５３へ転送する際には、記録ヘッド２８が複数のLineに跨っていることから、複数のLine分のデータを転送する必要がある。
例えば、４つのLineに跨っている場合は、４つのLineに対応したブロックデータを、ＤＲＡＭ２４からリードして転送する。しかし、ユーザによるハンドヘルドプリンタ１０の走査によって、常に４つのLine上を走査することができるとは限らない。そのため、上下1Lineずつ余分にＤＲＡＭ２４からリードして転送することができる。それにより、上下に1Lineずれたとしても、転送された画像データに基づいて印刷を行なうことができる。
【００４５】
フリーハンド走査で印刷を行なう場合、1回の走査で所要の印刷を行なうことができるとは限らない。これは、算出したノズルの位置座標と、転送された印字データの位置座標とが合致しない場合には、インク吐出を行なわないからである。そのため、定期的に印刷済みデータと印刷データとを比較し、全データをリードしてインクを吐出させたか否かを判断する必要がある。この比較は、リアルタイム性を要求するものではなく、処理負荷を軽減するため、秒オーダで実施することができる。
この比較は、例えば、最初に印刷データのイメージを作成し、インクを吐出した箇所を白色で書き戻していき、印刷済みの箇所と、白色で書き戻した箇所とを比較することにより実施することができる。これは一例であるため、その他の方法を採用することも可能である。
【００４６】
ここで、上述したハンドヘルドプリンタ１０による印字（記録）動作の流れを、図６によって説明する。図６は、そのハンドヘルドプリンタ１０による印刷（記録）動作の流れを、ユーザによる動作と共に示すフローチャートである。このハンドヘルドプリンタ１０による処理は、図３に示した制御モジュール２６（主としてＣＰＵ４１）によって行なわれる。
【００４７】
図６において、初めにユーザがハンドヘルドプリンタ１０の電源ボタンを押下する（Ｕ１０１）。それによって、ハンドヘルドプリンタ１０は電源がＯＮになって動作を開始する。
そして、ハンドヘルドプリンタ１０の制御モジュール２６は、ステップＳ１０１で初期化処理を実行する。このサブルーチンの処理については図７によって後述するが、各電子デバイスを初期化して立ち上げ、この発明に係る画像データのフィルタリング処理のためのフィルタ及びマスク処理のためのマスクパターンを初期化する。また、ハンドヘルドプリンタ１０とスマートデバイス１１との間の通信を確立する。
【００４８】
ステップＳ１０２で、制御モジュール２６は初期化が完了したかどうかを判断し、完了していない場合はステップＳ１０１の初期化処理を繰り返す。ステップＳ１０２で、制御モジュール２６が初期化が完了したと判断すると、ステップＳ１０３へ進んでオペレーションユニット（ＯＰＵ）２７のＬＥＤを点灯し、ユーザに印刷可能であることを通知する。そして、ステップＳ１０４で、スマートデバイス１１からの画像データの受信を待つ。
ＬＥＤの点灯に代えて他の表示あるいは音声等によって、ユーザに印刷可能であることを通知するようにしてもよい。
【００４９】
ユーザは、ハンドヘルドプリンタ１０のＬＥＤの点灯等による通知を確認すると、スマートデバイス１１（図６では「スマデバ」と略称）上で印刷したい画像を選択する（Ｕ１０２）。それによって、スマートデバイス１１に搭載しているアプリまたはプリンタドライバによって、選択された画像の印刷ＪＯＢを実行し、その画像データをハンドヘルドプリンタ１０へ送信する（Ｕ１０３）。
【００５０】
ハンドヘルドプリンタ１０がその画像データを受信すると、制御モジュール２６は、ステップＳ１０４で画像データを受信したと判断し、受信した画像データをステップＳ１０５で図３に示したＤＲＡＭ２４に格納する。そして、ステップＳ１０６でＬＥＤを点滅させて、ユーザに印刷準備ができたことを通知する。
このときも、ＬＥＤの点滅に代えて他の表示あるいは音声等によって、ユーザに印刷可能であることを通知するようにしてもよい。
【００５１】
ユーザは、そのＬＥＤの点滅等による通知を確認すると、ハンドヘルドプリンタ１０を片手で持って、印刷したい記録媒体（例えばノート）の上で初期位置を決め（Ｕ１０４）、印刷開始ボタンを押下する（Ｕ１０５）。
その後、ユーザは記録媒体の平面上を自由に走査（フリーハンド走査）し、画像を形成していく（Ｕ１０６）。
【００５２】
制御モジュール２６は，ステップＳ１０７で印刷開始ボタンが押下されるのを待ち、印刷開始ボタンが押下されるとステップＳ１０８へ進んで、制御ＩＣ５０内のナビゲーションセンサＩ／Ｆ５１に位置情報をリードするように通知する。それによってナビゲーションセンサ２５（２５ａ，２５ｂ）が位置情報の検知を開始し、ナビゲーションセンサＩ／Ｆ５１はナビゲーションセンサ２５（２５ａ，２５ｂ）と通信して位置情報をリードする。そして、ステップＳ１０９で制御部４０が、ＣＰＵ４１の内蔵メモリにそのリードした位置情報を初期位置、例えば座標（０，０）として格納する。
【００５３】
その後、制御モジュール２６はステップＳ１１０で、制御ＩＣ５０内のタイミング生成回路５２によってカウンタによる時間計測を行なう。そして、ステップＳ１１１で、設定したナビゲーションセンサ２５によるリード時間（＝記録ヘッド２８の駆動周期）と判断する毎に、ステップＳ１１２でナビゲーションセンサ２５による位置情報リードを繰り返す。
そして、ステップＳ１１３で制御部４０は、位置算出回路４３によって前回算出した位置（Ｘ，Ｙ）と、今回リードした移動量（ΔＸ，ΔＹ）から、ナビゲーションセンサ２５の現在位置を算出し、それを制御ＩＣ５０に伝える。ＣＰＵ４１は記録ヘッド２８の移動方向が分かるので、ナビゲーションセンサ２５の現在位置を算出できる。
【００５４】
制御ＩＣ５０は、予め決まっているナビゲーションセンサ２５と記録ヘッド２８の組み付け位置の関係から、ステップＳ１１４で記録ヘッド２８上の各ノズルの現在位置（座標）を算出する。
なお、ナビゲーションセンサ２５の現在位置及び記録ヘッド２８上の各ノズルの現在位置の算出方法は、この発明に特有のことではないので、詳細な説明は省略する。
【００５５】
次のステップＳ１１５では、制御ＩＣ５０内のＤＭＡＣ５５と回転器５６が、各ノズルの位置情報に基づいて記録ヘッド２８の各ノズル周辺の画像データを外部メモリであるＤＲＡＭ２４からリードし、指定されたヘッド位置及びヘッド傾きに応じて回転させる。
その画像データのリード時に、フィルタリング適用回路４４によって、予め設定したフィルタリングテーブルをそのリードした画像データに適用して、画像端付近の記録画像を淡くするためのフィルタリング処理を行なう。このサブルーチン及びフィルタリング処理の詳細については後述する。
【００５６】
その後、制御モジュール２６はステップＳ１１６で、画像データと各ノズル位置の座標を比較し、ステップＳ１１７で設定した吐出条件を満たすと判断すれば、ステップＳ１１８でその画像データを記録ヘッド制御回路５３へ出力して印刷を実行させる。
なお、ステップＳ１１７で設定した吐出条件を満たすと判断された対象ノズルが吐出制限対象の場合は、マスク処理を実施し、最終的なノズルの吐出/不吐出を決定する。このマスク処理の詳細についても後述する。
【００５７】
ステップＳ１１９では、制御部４０が全印刷データの印刷を完了したか否かを判断し、完了していない場合はステップＳ１１１へ戻って、ステップＳ１１１からＳ１１８までの処理を繰り返し、記録媒体上に画像を形成していく。全印刷データの印刷を完了した場合は、制御部４０がステップＳ１２０で、オペレーションユニット（ＯＰＵ）２７のＬＥＤを点灯して、ユーザに印刷が終了したことを知らせる。
このときも、ＬＥＤの点灯に代えて他の表示あるいは音声等によって、ユーザに印刷が終了したことを通知するようにしてもよい。
【００５８】
全印刷データの印刷を完了しなくても、ユーザが十分と判断した際には、印刷終了ボタンを押下することによって、印刷を終了できるようにしてもよい。
制御モジュール２６は、印刷終了後ユーザが電源ボタンをＯＦＦにすることによって、電源ＯＦＦにしてもよいが、自動で電源をＯＦＦにするようにしてもよい。
この実施形態では、制御モジュール２６の制御部４０と制御ＩＣ５０とが分担して、この図６の処理を実行しているが、その役割分担は、制御部４０のＣＰＵ４１の性能や制御ＩＣ５０の回路規模等により、適宜変更することができる。あるいは全体を一つの制御ユニットとして構成してもよい。
【００５９】
図７は、図６のステップＳ１０１における初期化処理の詳細を示すサブルーチンのフローチャートである。
ハンドヘルドプリンタ１０の電源がＯＮになって、制御モジュール２６が図６におけるステップＳ１０１の初期化処理を開始すると、この図７に示すサブルーチンの処理を実行する。
制御モジュール２６はまず、ステップＳ２０１で各ナビゲーションセンサ２５（図４に示した２５ａ，２５ｂ）等を初期化し、ステップＳ２０２で各デバイスの立ち上げを実施する。
【００６０】
続いて、制御モジュール２６はステップＳ２０３で、予め設定されたサイズに応じてフィルタリング処理に使用するフィルタを決定し、吐出制限に使用するマスクの生成方法を決定する。その生成方法とは、例えば、予め記憶された複数のマスクパターンをランダムに組み合わせて静的にマスクパターンを設定するか、あるいはマスクパターンを乱数により動的にランダムに生成するかである。
その後、制御モジュール２６はステップＳ２０４で、ステップＳ２０３での決定に応じて、フィルタ及びマスクパターンの初期化を実施し、図６のメインルーチンへリターン（ＲＥＴ）する。
【００６１】
次に、図６のステップＳ１１５におけるフィルタリング処理について、図８〜図１２によって説明する。
図８は、図３に示したフィルタリング適用回路４４によるフィルタ適用イメージを示す図である。（ａ）は、ＤＲＡＭ２４に格納されている印刷予定の全体画像であり、（ｂ）はそのうちのハンドヘルドプリンタ１０の記録ヘッドの現在位置における周辺画像と、フィルタ適用サイズを拡大して示す。
【００６２】
ハンドヘルドプリンタ１０の記録ヘッド２８の現在位置における周辺画像取り込みによって、取り込んだ画像データへのフィルタ適用イメージは、図８の（ｂ）に示すようになる。ハンドヘルドプリンタ１０の走査方向を同図の（ａ）に太い黒矢印で示す。
図６のステップＳ１１３によって記録ヘッド２８の走査方向（回転方向）が分かるため、取り込んだ記録すべき画像データの、記録ヘッド２８の走査方向に直交する方向（図８では上下方向）の両画像端部にそれぞれフィルタ適用領域を設定する。そのフィルタ適用領域のサイズについては、各画像端から予め設定されたサイズ（幅）Ａの領域に適用するものとする。このサイズ（幅）Ａを、図３に示したオペレーションユニット２７等を使用して、ユーザが外部から設定できるようにするとよい。
【００６３】
図９は、図８の（ｂ）に示したフィルタ適用のより詳細なイメージを示す図である。
適用フィルタに関しては、予め決められたサイズのフィルタを横に連続して並べる形でフィルタリング処理を実施する。その適用フィルタのサイズｎ×ｎのｎは、予め設定されたサイズを適用する。この適用フィルタのサイズｎも、オペレーションユニット２７等を使用して、ユーザが外部から設定できるようにするとよい。
このように、フィルタ適用領域のサイズや適用フィルタのサイズをユーザが可変できるようにすれば、最終的な画像の切れ目の目立ち具合を、ユーザが調整することができる。
【００６４】
図１０は、図８におけるフィルタリング適用領域と適用外領域を説明するための図である。
図３に示したフィルタリング適用回路４４がフィルタリング処理を行なう対象領域の各画素データをＣＰＵ４１が解析する。そして、図１０に示す記録すべき全体画像の領域外ｄの画素を含むか、各画素の濃度が全て所定値以下の領域（白に近い背景など）のような場合には、フィルタリング処理を行なわないフィルタリング適用外領域とする方がよい。領域ｅのように、全体画像の領域内で、各画素の濃度が全て所定値以下ではない領域であれば、フィルタリング処理を行なうフィルタリング適用領域とする。
【００６５】
このようにするのは、最終的に出来上がる画像の不必要な領域をフィルタリング処理して、最終的に得られる画像品質を落とさないようにするためである。
また、近傍画素の具体的な設定範囲としては、ユーザに設定された適用フィルタと同じサイズ分の近傍画素を適用対象とする。例えば、ユーザに設定されたサイズが「３」であれば、図９に示したように取り出した画像データの端部の３画素分を適用対象とする。
【００６６】
図１１は、フィルタリング処理のための適用フィルタのサイズ決定ルールを説明するための図である。
フィルタ適用領域のサイズに関しては、予めユーザによって設定された値を図３に示したＤＲＡＭ２４に格納するか、あるいは制御部４０内に不揮発性ＲＡＭを設けてそこに格納しておくものとする。その設定がなされていない場合には、ＲＯＭ２３に格納されている初期値とする。
また、そのサイズは図１１の「フィルタリング適用サイズ」の欄に示すように、「適用フィルタサイズ」ｎ×ｎのｎ値に基づくものとする。つまり、フィルタリング適用領域のサイズを大きく設定すると、適用フィルタのサイズ「ｎ」も大きなものを適用する形となる。
【００６７】
適用フィルタの種類としては、ぼかしフィルタ（ガウシアンフィルタなど）を適用する。
ここで適用するフィルタの決定要因として、制御部４０内で記録（印刷）対象の画像データを予め解析し、その画像パターンに適したフィルタリングパターンを適用することも可能である。
それによって、画素が集中している箇所とそうでないところで、淡くする度合いを変化させて元の画像の品質をなるべく維持できるようにすることが可能になる。
なお、画像パターンによっては、先鋭化フィルタを適用することもあり得る。図１１における、適用サイズ５×５の適用フィルタの例は、先鋭化フィルタの一例を示している。
【００６８】
図１２は、図６のステップＳ１１５におけるフィルタリング処理の詳細を示すサブルーチンのフローチャートである。
図６で説明したように、制御モジュール２６は、ステップＳ１１０で制御ＩＣ５０内のタイミング生成回路５２によってカウンタによる時間計測を行なう。そして、ステップＳ１１１で、ナビゲーションセンサ２５によるリード時間になったと判断する毎に、ステップＳ１１２でナビゲーションセンサ２５による位置情報をリードする。
そして、ステップＳ１１３で制御部４０がナビゲーションセンサ２５の現在位置を算出し、それを制御ＩＣ５０に伝える。それによって制御ＩＣ５０は、予め決まっているナビゲーションセンサ２５（２５ａ，２５ｂ）と記録ヘッド２８の組み付け位置の関係から、ステップＳ１１４で記録ヘッド２８上の各ノズルの現在位置（座標）を算出する。
【００６９】
その後、制御モジュール２６の制御部４０は、図１２のステップＳ３０１で各ノズルの現在位置に基づいて、メモリコントローラ４２によって各ノズルの周辺画像を図３に示したＤＲＡＭ２４から取り出す。
そして、その取り出した画像データに対して、ステップＳ３０２で初期化時に決定したフィルタ適用範囲に応じて、フィルタリング適用回路４４によって周辺画像の前端部分の先頭アドレス（ＤＲＡＭ２４上のアドレス）を設定する。
ステップＳ３０３で、フィルタリング適用回路４４は、その先頭アドレスの画像データ（画素）がフィルタ適用領域内にあるか否かを確認する。そして、フィルタ適用領域内にあれば、ステップＳ３０４でメモリ上のデータとフィルタの各要素の係数の掛け算し、その結果の総和を求めて対象画素の濃度とすることにより、フィルタリング処理を実施する。
上記メモリ上のデータとは、図３におけるメモリコントローラ４２内に一時的に保存している周辺画像データである。
【００７０】
そして、制御部４０はステップＳ３０５で、その演算結果の画素データ（フィルタリング処理した画素データ）を、制御ＩＣ５０のイメージＲＡＭ５４へ転送し、ステップＳ３０６へ進む。
フィルタリング適用回路４４がステップＳ３０３の判断で、フィルタ適用領域内でないと判断した場合は、そのままステップＳ３０５へ進む。そして制御部４０は、ＤＲＡＭ２４から取り出した元の画素データを、そのまま制御ＩＣ５０のイメージＲＡＭ５４へ転送して、ステップＳ３０６へ進む。
ステップＳ３０６では、フィルタリング適用回路４４が周辺画像データのアドレスを１つインクリメントし、ステップＳ３０７で予め設定したフィルタ適用領域分完了したか否かを判断する。そして、フィルタ適用領域分完了したと判断するまで、ステップＳ３０３へ戻って、Ｓ３０３からＳ３０６の処理を繰り返す。
【００７１】
前端部分のフィルタリング処理が完了すると、制御部４０はステップＳ３０８で後端部分のフィルタリング処理が実施済か否かを判断し、実施済でなければ、ステップＳ３０９で周辺画像データの後端部分の先頭アドレスを設定する。
そして、制御部４０はステップＳ３０３へ戻って、Ｓ３０３からＳ３０６の処理を繰り返し、後端部分のフィルタリング処理を実施する。
後端部分のフィルタリング処理も完了すると、ステップＳ３０８の判断でＹＥＳになり、図６のメインルーチンへリターン（ＲＥＴ）する。
【００７２】
次に、図６のステップＳ１１８におけるマスク処理について図１３〜図１７によって説明する。
図１３は、図４に示したハンドヘルドプリンタ１０の記録ヘッド２８側の具体的な一例を示す下面図であり、記録ヘッド２８は、ＣＭＹＫの各色用の４列のノズル列を有する。
その各ノズル列は、図１３の（ａ）に示す例では、それぞれ長手方向に沿って１９２本（１９２ｃｈ）のノズル１８が、１５０ｄｐｉ（ｄｏｔ／ｉｎｃｈ）の密度で等間隔に配列されている。ノズル間隔は１／１５０インチ、ノズル長は１インチである。
このハンドヘルドプリンタ１０の下面には、記録ヘッド２８を挟んで長手方向の両端部付近に、一対のナビゲーションセンサ２５ａ，２５ｂを設けている。
【００７３】
このようなハンドヘルドプリンタ１０を、図１３の（ｂ）に太い黒矢印で示す方向に走査して印刷を実施する。その際、記録ヘッド２８の各ノズル１８に対する吐出制限対象となるマスク領域Ｍ１、Ｍ２を、記録ヘッド２８の走査方向に直交する方向の両端部にそれぞれ設定する。
図１４は、吐出制限手段の要部である吐出制限回路５８におけるマスクパターンの適用について説明するための図である。
図３に示したメモリコントローラ４２から記録ヘッド制御回路５３への画像データ転送時に、記録ヘッド２８のＣＭＹＫ各色用のノズル列に対して、吐出制限回路５８が不規則なパターンでマスク処理を実施する。それにより、画素データではインクを吐出すべきノズルをランダムに不吐出にする。
【００７４】
図１４に示すように、ノズルの印字予定が吐出「１」でマスクパターンが「１」のノズルだけが実際の吐出があり「１」となる。記録ヘッドのノズルの印字予定が吐出「１」でも、マスクパターンが「０」のノズルは実際の吐出はなし「０」になる。元々印字予定が不吐出「０」のノズルは、マスクパターンに係わらず実際に吐出あり「１」となることはない。元データは変更せず、このように加工したＣＭＹＫの各画素データを送る形とする。
【００７５】
予め複数のマスクパターンをＲＯＭ２３内に記憶させておき、その複数のマスクパターンを組み合わせて静的にマスクパターンを設定し、そのマスクパターンを適用して、各マスク領域内のノズルに対して、インクの吐出と不吐出をランダムに決定するとよい。
あるいは、マスクパターン自体を乱数等によって動的にランダムに生成して、そのマスクパターンを適用して、各マスク領域内のノズルに対して、インクの吐出と不吐出をランダムに決定するようにしてもよい。この場合、当然ながら画像ムラができないように留意する必要がある。
そこで、制御部４０又は制御ＩＣ５０で記録すべき画像データを予め解析し、その画像パターンに応じて、適用するマスクパターンのインクの吐出と不吐出の割合を変更するようにするとよい。このようにすることによって、原画像の特性を生かして吐出制限の効果を得ることができる。
【００７６】
マスクパターンを適用するマスク領域の幅は自由に設定が可能であり、例えばユーザがオペレーションユニット２７から設定することができる。この設定によって、得られる画像が変わってくる。マスク領域の範囲が大きいと、切れ目は目立ちにくくなるが元の画像からのぼやけが大きくなる。マスク領域の範囲が小さいと、元の画像がほぼ維持されるが、切れ目が目立ち易くなる。そのため、このようにユーザがマスク領域の幅を変更して最終的な画像の切れ目の目立ち具合を調整できるとよい。
この場合、オペレーションユニット２７及びＣＰＵ４１等が、マスク領域の幅を外部から設定する手段に相当する。
【００７７】
図１５は、吐出制限回路にて適用するマスクの不吐出割合が記録ヘッド端に近づくに従って多くなるようにする例を説明するための図である。
この処理は、マスクパターンを乱数生成する場合に適用するものとする。マスクパターンは、記録ヘッド２８の走査方向に直交する方向の端縁に近いノズル１８ほど、不吐出「０」の割合が多くなるようにする。なお、不吐出の割合は、それぞれ乱数によって生成する際に、全体の吐出における不吐出「０」の割合がどのくらいあるかを意味している。
このようにすることによって、画像の端部の切れ目の画像を目立たなくすることができる。
【００７８】
図１６は、図６のステップＳ１１８におけるマスク処理のサブルーチンを示すフローチャートである。
図６のステップＳ１１７で吐出条件を満たした各ノズルに対して、図３の示した制御モジュール２６がこの図１６に示すマスク処理を開始すると、主に制御ＩＣ５０の吐出制限回路５８がこの処理を実行する。
まず、ステップＳ４０１で、対象ノズルがマスク対象となっている（マスク領域内にある）か否かを判定し、対象ノズルになっている場合、ステップＳ４０２で、例えば乱数生成により、動的にランダムなマスクパターンを生成する。予め記憶している複数のマスクパターンを組み合わせて静的にマスクパターンを決定してもよい。
【００７９】
そして、ステップＳ４０３で、実際の吐出に対してその生成又は決定したマスクパターンを適用し、ステップＳ４０４で、そのマスク処理をした画像データを記録ヘッド制御回路５３へ転送する。それによって、記録ヘッド駆動回路２９によって記録ヘッド２８の対象ノズルを駆動させてインクを吐出させ、記録媒体上への印刷を行なう。
その後、ステップＳ４０５で対象ノズル分完了と判断するまで、ステップＳ４０１へ戻って、上述の処理を繰り返し、ステップＳ４０５で対象ノズル分完了と判断したら、図６のメインルーチンへリターン（ＲＥＴ）する。
【００８０】
ここで、この実施形態による効果について図１７を参照して説明する。
図１７の（ａ）に示すような印刷対象領域の画像をハンドヘルドプリンタ１０で印刷する場合、紙等の記録媒体上で、ハンドヘルドプリンタ１０を手で矢示方向に走査して、その走査方向に直交する記録ヘッドのノズル列の長さに応じた幅の画像を印刷する。その後、ハンドヘルドプリンタ１０を、記録ヘッドの長さ分だけその長さ方向（図１７で下方）へ位置をずらして、矢示と反対方向又は矢示方向へ走査することを繰り返して、全体画像を印刷する。
【００８１】
その場合、従来は図１８の（ｂ）に示したように、各走査ごとに印刷される帯状の画像の隣接部分が離れて白スジが発生したり、画像の重なりが発生し、それが目立って印刷画質を低下させていた。
そのため、この実施形態では、図１７の（ａ）にＦ１〜Ｆ４で示すような各走査ごとに印刷される帯状の画像が隣接する境界付近の領域に対して、印刷される画像をぼかして、白スジや画像の重なりを目立たなくする処理を行なう。
その手段として、次のようなフィルタリング手段と吐出制限手段を用いる。
【００８２】
＊フィルタリング手段
Ｆ１〜Ｆ４のような領域をフィルタ適用領域に設定し、その各領域内の画素データをフィルタリング処理して、各フィルタ適用領域での印刷（記録）画像を淡くする。それによって、境界に近い領域の像パターンをぼかす。
＊吐出制限手段
記録ヘッドの長手方向の両端部（Ｆ１〜Ｆ４のような領域に対応する部分）にそれぞれマスク領域を設定し、その各マスク領域内のノズルに対して、インクの吐出と不吐出をランダムに決定する。それによって、境界に近い領域の印刷パターンを不規則（ランダム）にする。
【００８３】
このようにすることによって、最終印刷イメージが、例えば図１７の（ｂ）に示すように白スジや画像の重なりが目立たなくなり、画質が改善される。
さらに、フィルタリング処理に適用するフィルタは、ユーザによって予め設定されたサイズのフィルタを適用するとよい。
なお、フィルタ適用領域及び／又はマスク領域の幅（範囲）や、適用するフィルタのサイズなどを、ユーザが印刷する画像に応じて最適に設定すれば、画質をさらに向上させることが可能である。
【００８４】
また、処理対象の画像データを予め記録装置内で解析して、自動的に画像パターンに適したフィルタリングパターンのフィルタを適用したり、適用するマスクパターンのインクの吐出と不吐出の割合を変更したりしても、画質を向上させることができる。
さらに、境界すなわち記録ヘッドの長手方向の端縁に近いノズルほど、インク不吐出の割合が増加するようにすれば、白スジや画像の重なりが一層目立たなくなる。
【００８５】
以上、この発明の各実施形態について説明してきたが、その実施形態の各部の具体的な構成や処理の内容等は、そこに記載したものに限るものではない。
また、この発明は上述した各実施形態に限定されるものではなく、特許請求の範囲の各請求項に記載された技術的特徴を有する以外は、何ら限定されるものではないことは言うまでもない。
さらに、以上説明してきた各実施形態の構成例、動作例及び変形例等は、適宜変更又は追加したり一部を削除してもよく、相互に矛盾しない限り任意に組み合わせて実施することも可能であることは勿論である。
【符号の説明】
【００８６】
１０：ハンドヘルドプリンタ（ハンドヘルド記録装置）    
１１：スマートデバイス（ホスト装置）    １２：記録媒体    １３：手    
１４：画像    １８：ノズル    ２０：電源    ２１：電源回路    
２２：通信インタフェース（ＩＦ）    ２３：ＲＯＭ  ２４：ＤＲＡＭ  
２５，２５ａ，２５ｂ：ナビゲーションセンサ    ２６：制御モジュール    
２７：オペレーションユニット（ＯＰＵ）    ２８：記録ヘッド    
２９：記録ヘッド駆動回路    
４０：制御部    ４１：ＣＰＵ    ４２：メモリコントローラ    ４３：位置算出回路  
４４：フィルタリング適用回路（フィルタリング手段）    ４５：制御部のバス
５０：制御ＩＣ    ５１：ナビゲーションセンサＩ／Ｆ    ５２：タイミング生成回路  
５３：記録ヘッド制御回路    ５４：イメージＲＡＭ    ５５：ＤＭＡＣ    
５６：回転器    ５７：割り込み回路    ５８：吐出制限回路（吐出制限手段）    
５９：制御ＩＣのバス
【先行技術文献】
【特許文献】
【００８７】
【特許文献１】特開平９−３００７１３号公報
【図２】
2016112700.tif 000004
【図３】
2016112700.tif 000005
【図４】
2016112700.tif 000006
【図５】
2016112700.tif 000007
【図６】
2016112700.tif 000008
【図７】
2016112700.tif 000009
【図１２】
2016112700.tif 000010
【図１３】
2016112700.tif 000011
【図１６】
2016112700.tif 000012
【図１】
2016112700.tif 000013
【図８】
2016112700.tif 000014
【図９】
2016112700.tif 000015
【図１０】
2016112700.tif 000016
【図１１】
2016112700.tif 000017
【図１４】
2016112700.tif 000018
【図１５】
2016112700.tif 000019
【図１７】
2016112700.tif 000020
【図１８】
2016112700.tif 000021