(57)【要約】      （修正有）【課題】ノズルからインクを吐出させる際のデータ転送に関する処理のスループットを向上することができる印刷装置を提供する。【解決手段】インクジェットプリンター１は、バッファーＢＶＦに記憶したノズルデータを、８バイトアライメントで、ヘッドＨにデータ転送する機能と、ノズルデータに基づいて、ノズルＮＺからインクを吐出する機能と、を備え、バッファーＢＶＦには、ノズル情報データにおける吐出データの位置が８バイトアライメントに対応してシフトされた複数のノズルデータが記憶され、バッファーＢＶＦに記憶された複数のノズルデータのうちのいずれか１のノズルデータに割り振られたアドレスであって８バイトアライメントに対応する値のアドレスを転送開始アドレスとして、ヘッドＨへのデータ転送を行う。【選択図】図３
2015174428.tif 000002
【特許請求の範囲】
【請求項１】
インクを吐出可能な複数のノズルが設けられた印刷ヘッドと、
前記印刷ヘッドを制御するヘッド制御部と、
前記ノズルからインクの吐出を制御するノズルデータを記憶する記憶領域を有する記憶部と、
前記記憶領域に記憶した前記ノズルデータを、Ｎ（ただし、Ｎは２のべき乗）バイトアライメントで、前記ヘッド制御部にデータ転送する転送部と、を備え、
前記ヘッド制御部は、前記ノズルデータに基づいて、前記印刷ヘッドに設けられた前記ノズルからインクを吐出する制御を行い、
前記ノズルデータは、前記ノズルからインクを吐出しないことを示す非吐出制御データと、前記非吐出制御データに連続し、前記ノズルからインクを吐出することを示す吐出データを含むノズル情報データと、を有し、
前記記憶領域には、前記ノズル情報データにおける前記吐出データの位置がＮバイトアライメントに対応してシフトされた複数の前記ノズルデータが記憶され、
前記転送部は、前記記憶領域に記憶された複数の前記ノズルデータのうちのいずれか１の前記ノズルデータに割り振られたアドレスであってＮバイトアライメントに対応する値のアドレスを先頭アドレスとして、前記ヘッド制御部へのデータ転送を行い、
前記ヘッド制御部は、転送された当該ノズルデータに基づいて、前記印刷ヘッドを制御する
ことを特徴とする印刷装置。
【請求項２】
前記吐出データは、Ｍバイト（ただし、ＭはＮの正の約数）のデータであり、
前記記憶領域には、前記ノズル情報データにおける前記吐出データの位置がＭバイトずつシフトされた前記ノズルデータが、（Ｎ／Ｍ）個、記憶されることを特徴とする請求項１に記載の印刷装置。
【請求項３】
複数の前記ノズルのうちの１の前記ノズルによるインクの吐出に基づいて、当該１の前記ノズルのノズルチェックを行う機能を有することを特徴とする請求項１又は２に記載の印刷装置。
【請求項４】
印刷ヘッドに設けられたノズルからインクを吐出しないことを示す非吐出制御データと、前記非吐出制御データに連続し、前記印刷ヘッドに設けられた複数の前記ノズルのうちの１の前記ノズルからインクを吐出することを示す吐出データを含むノズル情報データと、を有し、前記ノズル情報データにおける前記吐出データの位置がＮバイトアライメントに対応してシフトされた複数のノズルデータを記憶領域に記憶し、
前記記憶領域に記憶された複数の前記ノズルデータのうちのいずれか１の前記ノズルデータに割り振られたアドレスであってＮバイトアライメントに対応する値のアドレスを先頭アドレスとして、Ｎバイトアライメントで前記印刷ヘッドにデータ転送し、転送した前記ノズルデータに基づいて前記印刷ヘッドにより複数の前記ノズルのうちの１の前記ノズルからインクを吐出することを特徴とするインク吐出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、及び、インク吐出方法に関する。
【背景技術】
【０００２】
従来、ＮバイトアライメントでＤＭＡ（Direct Memory Access）転送する情報処理装置に関する技術が提案されている（例えば、特許文献１参照）。
また、インクジェット式の印刷装置では、ＲＡＭ等の記憶領域に記憶されたデータを、ヘッド（インクジェットヘッド）を制御するヘッド制御ユニットにＤＭＡ転送し、ヘッド制御ユニットがＤＭＡ転送されたデータに基づいて、インクジェットヘッドを駆動するものがある。この種の印刷装置では、ヘッドに設けられた複数のノズルについて、１つずつノズルからインクを吐出させる機能を有する装置がある。当該装置では、１のノズルからインクを吐出させて、例えば、当該１のノズルのノズルチェックを実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１４２９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した印刷装置では、ノズルからインクを吐出させる際のデータ転送に関する処理のスループットを向上したいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、ノズルが設けられたヘッドを有する印刷装置、及び、当該印刷装置に係るインク吐出方法について、ノズルからインクを吐出させる際のデータ転送に関する処理のスループットを向上することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の印刷装置は、インクを吐出可能な複数のノズルが設けられた印刷ヘッドと、前記印刷ヘッドを制御するヘッド制御部と、前記ノズルからインクの吐出を制御するノズルデータを記憶する記憶領域を有する記憶部と、前記記憶領域に記憶した前記ノズルデータを、Ｎ（ただし、Ｎは２のべき乗）バイトアライメントで、前記ヘッド制御部にデータ転送する転送部と、を備え、前記ヘッド制御部は、前記ノズルデータに基づいて、前記印刷ヘッドに設けられた前記ノズルからインクを吐出する制御を行い、前記ノズルデータは、前記ノズルからインクを吐出しないことを示す非吐出制御データと、前記非吐出制御データに連続し、前記ノズルからインクを吐出することを示す吐出データを含むノズル情報データと、を有し、前記記憶領域には、前記ノズル情報データにおける前記吐出データの位置がＮバイトアライメントに対応してシフトされた複数の前記ノズルデータが記憶され、前記転送部は、前記記憶領域に記憶された複数の前記ノズルデータのうちのいずれか１の前記ノズルデータに割り振られたアドレスであってＮバイトアライメントに対応する値のアドレスを先頭アドレスとして、前記ヘッド制御部へのデータ転送を行い、前記ヘッド制御部は、転送された当該ノズルデータに基づいて、前記印刷ヘッドを制御することを特徴とする。
本発明の構成によれば、印刷装置の記憶領域に、ノズル情報データにおける吐出データの位置がＮバイトアライメントに対応してシフトされた複数のノズルデータが記憶される。そして、印刷装置は、複数のノズルデータのうちのいずれか１のノズルデータに割り振られたアドレスであってＮバイトアライメントに対応する値のアドレスを先頭アドレスとして、ヘッドへのデータ転送を行う。このため、所定のノズルからインクを吐出させる場合に、Ｎバイトアライメントに対応するノズルデータを生成して記憶領域に記憶する処理が必要なく、所定のノズルからインクを吐出させる際のデータ転送に関する処理のスループットを向上できる。
【０００６】
また、本発明の印刷装置は、前記吐出データは、Ｍバイト（ただし、ＭはＮの正の約数）のデータであり、前記記憶領域には、前記ノズル情報データにおける前記吐出データの位置がＭバイトずつシフトされた前記ノズルデータが、（Ｎ／Ｍ）個、記憶されることを特徴とする。
本発明の構成によれば、Ｎバイトアライメントでデータ転送すること、及び、吐出データがＭバイトのデータであることに基づいて、所定のノズルからインクを吐出するために必要な複数のノズルデータを記憶できる。
【０００７】
また、本発明の印刷装置は、複数の前記ノズルのうちの１の前記ノズルによるインクの吐出に基づいて、当該１の前記ノズルのノズルチェックを行う機能を有することを特徴とする。
本発明の構成によれば、印刷装置は、スループットを向上してデータ転送を行って、１のノズルからインクを吐出させ、当該１のノズルのノズルチェックを実行できる。
【０００８】
また、上記目的を達成するために、本発明のインク吐出方法は、印刷ヘッドに設けられたノズルからインクを吐出しないことを示す非吐出制御データと、前記非吐出制御データに連続し、前記印刷ヘッドに設けられた複数の前記ノズルのうちの１の前記ノズルからインクを吐出することを示す吐出データを含むノズル情報データと、を有し、前記ノズル情報データにおける前記吐出データの位置がＮバイトアライメントに対応してシフトされた複数のノズルデータを記憶領域に記憶し、前記記憶領域に記憶された複数の前記ノズルデータのうちのいずれか１の前記ノズルデータに割り振られたアドレスであってＮバイトアライメントに対応する値のアドレスを先頭アドレスとして、Ｎバイトアライメントで前記印刷ヘッドにデータ転送し、転送した前記ノズルデータに基づいて前記印刷ヘッドにより複数の前記ノズルのうちの１の前記ノズルからインクを吐出することを特徴とする。
本発明の構成によれば、印刷装置の記憶領域に、ノズル情報データにおける吐出データの位置がＮバイトアライメントに対応してシフトされた複数のノズルデータが記憶される。そして、印刷装置は、複数のノズルデータのうちのいずれか１のノズルデータに割り振られたアドレスであってＮバイトアライメントに対応する値のアドレスを先頭アドレスとして、ヘッドへのデータ転送を行う。このため、所定のノズルからインクを吐出させる場合に、Ｎバイトアライメントに対応するノズルデータを生成して記憶領域に記憶する処理が必要なく、所定のノズルからインクを吐出させる際のデータ転送に関する処理のスループットを向上できる。
【発明の効果】
【０００９】
本発明によれば、ノズルが設けられたヘッドを有する印刷装置、及び、当該印刷装置に係るインク吐出方法について、ノズルからインクを吐出させる際のデータ転送に関する処理のスループットを向上できる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係るインクジェットプリンターを示す図。
【図２】ヘッドを示す図。
【図３】印刷システムの機能的構成を示すブロック図。
【図４】駆動データを示す図。
【図５】第１ノズルデータを示す図。
【図６】第１ノズルデータ〜第４ノズルデータを示す図。
【図７】インクジェットプリンターの動作を示すフローチャート。
【図８】第１ノズルデータの別例を示す図。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係るインクジェットプリンター１（印刷装置）、特に、印刷ヘッドであるインクジェットヘッド１０の構成を示す模式図である。
インクジェットプリンター１は、ライン型のインクジェットヘッド１０（印刷ヘッド）を備え、ロール紙Ｒ等の記録媒体を搬送方向Ｆに搬送しつつ、固定されたインクジェットヘッド１０からインク滴を吐出して、記録媒体に画像を印刷する印刷装置である。
【００１２】
図１に示すように、インクジェットヘッド１０は、ブラックヘッドユニット１２と、シアンヘッドユニット１３と、マゼンダヘッドユニット１４と、イエローヘッドユニット１５と、を備える。インクジェットヘッド１０において、各ヘッドユニットは、搬送方向Ｆへ向かって、ブラックヘッドユニット１２、シアンヘッドユニット１３、マゼンダヘッドユニット１４、イエローヘッドユニット１５の順番に配置される。
ブラックヘッドユニット１２には、４つのブラックヘッド１２ａが千鳥状に配置される。各ブラックヘッド１２ａには、ブラックノズル列１２ｂが設けられる。ブラックノズル列１２ｂは、インクを微細なインク滴として吐出するノズルＮＺが、搬送方向Ｆと交わる方向に延在して形成されたノズル列である。ブラックヘッド１２ａには、ブラック（Ｋ）のインクカートリッジからインクが供給される。
ブラックヘッド１２ａは、吐出素子Ｓ（図２）を用いて構成されるアクチュエーターによって、ブラック（Ｋ）のインクをロール紙Ｒへ向かって押し出して、所定のノズルＮＺからインク滴を吐出する。これにより、ロール紙Ｒにドットが形成される。
同様に、シアンヘッドユニット１３には、４つのシアンヘッド１３ａが千鳥状に配置されている。各シアンヘッド１３ａには、ノズルＮＺからシアン（Ｃ）のインク滴を吐出するシアンノズル列１３ｂが形成される。また、マゼンダヘッドユニット１４には、４つのマゼンダヘッド１４ａが千鳥状に配置される。各マゼンダヘッド１４ａには、ノズルＮＺからマゼンダ（Ｍ）のインク滴を吐出するマゼンダノズル列１４ｂが形成される。また、イエローヘッドユニット１５には、４つのイエローヘッド１５ａが千鳥状に配置される。各イエローヘッド１５ａには、ノズルＮＺからイエロー（Ｙ）のインク滴を吐出するイエローノズル列１５ｂが形成されている。
なお、図１では、説明の便宜のため、各ヘッド、及び、各ヘッドが備えるノズル列を明示しているが、実際は、ノズル列を構成するノズルＮＺから鉛直下方へ向かってインクが吐出される構成となっており、当該構成を実現するように各部材が配置される。
【００１３】
インクジェットプリンター１は、ロール紙Ｒにインクを吐出してドットを形成し、このドットの組み合わせにより、画像を印刷する。以下、ロール紙Ｒに、ある１つのドットを形成する場合の基本的な動作について図１を用いて説明する。
ロール紙Ｒが、図１に示すように、インクジェットヘッド１０の搬送方向Ｆの上流側に位置しており、ロール紙Ｒの位置Ｐ１に所定の色のドットを形成する場合を例にして説明する。所定の色は、ブラック、シアン、マゼンダ、及び、イエローのインクがそれぞれ所定量ずつ吐出されてドットが形成されることによって表現される色である。図１中、位置Ｐ２は、ブラックヘッド１２ａに形成されたブラックノズル列１２ｂにおいて、搬送方向Ｆに搬送されるロール紙Ｒの位置Ｐ１が通過する位置である。位置Ｐ３、位置Ｐ４、及び、位置Ｐ５についても同様である。
インクジェットプリンター１は、ロール紙Ｒにドットを形成している間、ロール紙Ｒを、搬送方向Ｆへ向かって搬送する。そして、インクジェットプリンター１は、図１に示す状態からロール紙Ｒの搬送方向Ｆへの搬送が進行し、ロール紙Ｒ上の位置Ｐ１が、位置Ｐ２に対応する位置に至ったタイミングで、対応するノズルＮＺから所定量のブラックのインクを吐出する。同様にして、ロール紙Ｒの位置Ｐ１が位置Ｐ３に至ったタイミングで、対応するノズルＮＺから所定量のシアンのインクを吐出する。また、ロール紙Ｒの位置Ｐ１が位置Ｐ４に至ったタイミングで、対応するノズルＮＺから所定量のマゼンダのインクを吐出する。また、ロール紙Ｒの位置Ｐ１が位置Ｐ５に至ったタイミングで、対応するノズルＮＺから所定量のイエローのインクを吐出する。このようにして、ロール紙Ｒの位置Ｐ１に、ブラック、シアン、マゼンダ、及び、イエローのインクがそれぞれ所定量ずつ吐出され、位置Ｐ１に所定の色のドットが形成される。
つまり、本実施形態に係るインクジェットプリンター１では、画像の印刷に係る処理中は、インクジェットヘッド１０はその位置が固定された状態である。そして、この固定されたインクジェットヘッド１０に対してロール紙Ｒが相対的に移動しつつ、インクジェットヘッド１０から適宜インクが吐出されてドットが形成され、画像の印刷が行われる。
【００１４】
以下の説明では、ブラックヘッド１２ａ、シアンヘッド１３ａ、マゼンダヘッド１４ａ、及び、イエローヘッド１５ａを特に区別せずに表現する場合、「ヘッドＨ」と表現する。
図２は、ヘッドＨの構造を模式的に示す図である。
図２に示すように、ヘッドＨには、ノズルＮＺが搬送方向Ｆと交わる方向に並んで設けられる。本実施形態では、１のヘッドＨに、ノズルＮＺ１〜ノズルＮＺ４００の４００個のノズルＮＺが設けられる。各ノズルＮＺに対応して吐出素子Ｓが設けられる。吐出素子Ｓへの電圧の印加制御は、後述するヘッド制御ユニット３０（ヘッド制御部）により行われる。
【００１５】
図３は、本実施形態に係る印刷システム２の機能的構成を示すブロック図である。
図３に示すように、印刷システム２は、インクジェットプリンター１と、インクジェットプリンター１に通信可能に接続され、インクジェットプリンター１を制御するホストコンピューター３とを備える。ホストコンピューター３には、アプリケーションと、プリンタードライバーとがインストールされている。ホストコンピューター３は、これらソフトウェアの機能により、制御データを生成し、インクジェットプリンター１に送信することにより、インクジェットプリンター１を制御する。アプリケーションは、ＰＯＳアプリケーションや、文書作成ソフトウェア、表計算ソフトウェア、ウェブブラウザー等、プリンタードライバーに対して、印刷に関する情報を出力可能なソフトウェアのことである。
【００１６】
図３に示すように、インクジェットプリンター１は、制御部２０と、動作制御部２１と、不揮発性メモリー２２と、ＲＡＭ２３（記憶部）と、通信インターフェース２４と、ノズルチェック制御部２６と、ＤＭＡコントローラー２８（転送部）と、ヘッド制御部２９とを備え、これらがバスＢＵＳを介して接続される。
制御部２０は、ＣＰＵ、その他の制御回路を備え、インクジェットプリンター１を制御する。
動作制御部２１は、ロール紙Ｒ等の記録媒体を搬送する搬送機構や、インクジェットヘッド１０をホームポジション等に移動するキャリッジ、その他の機構と接続され、制御部２０の制御で、各種機構を制御する。
不揮発性メモリー２２は、ＥＥＰＲＯＭ等であり、プログラムファイル、その他のデータを記憶する。
ＲＡＭ２３は、データを一時記憶する。ＲＡＭ２３には、バッファーＢＵＦが設けられる。
【００１７】
通信インターフェース２４は、制御部２０の制御で、ホストコンピューター３と所定の通信規格に従って通信する。
インクジェットプリンター１は、ホストコンピューター３から、通信インターフェース２４を介して制御データを受信する。インクジェットプリンター１は、受信した制御データに基づいて、記録媒体への画像の印刷を実行する。以下、画像を印刷するときのインクジェットプリンター１の基本的な動作について説明する。
ホストコンピューター３が送信する制御データには、印刷する画像に対応するイメージデータが含まれる。イメージデータは、色に関する情報を例えば階調値として保持するドットが、ドットマトリックス状に配置されたデータである。制御部２０が、制御データに基づいてイメージデータを生成する構成であってもよい。制御部２０は、イメージデータを、ＲＡＭ２３のバッファーＢＵＦに展開する。制御部２０は、後述するＤＭＡコントローラー２８を制御して、バッファーＢＵＦに展開したイメージデータを、所定のデータ量ずつ、後述するヘッド制御ユニット３０にＤＭＡ転送する。ヘッド制御ユニット３０は、ＤＭＡ転送されたデータに基づいて、ヘッドＨを駆動する。制御部２０は、ヘッドＨの駆動に対応して、制御データに基づいて動作制御部２１を制御し、記録媒体の搬送、その他の動作を実行する。
【００１８】
ノズルチェック制御部２６は、制御部２０の制御で、ノズルチェック装置２７を制御する。
以下の説明では、１のノズルＮＺからインクを吐出して、当該１のノズルＮＺの状態を検査することを「ノズルチェック」と表現し、複数のノズルＮＺのノズルチェックを連続して行うことを「連続ノズルチェック処理」と表現する。
ノズルチェック装置２７は、インクジェットヘッド１０に設けられたノズルＮＺのうちの１のノズルＮＺからのインク滴の吐出に応じて、当該１のノズルＮＺのノズルチェックを行う。ノズルチェックの方式は、種々の方式を採用できる。例えば、発光器から射出したレーザー光にインク滴飛翔経路を交差するように位置合わせする。そして、ノズルＮＺからのインク滴の吐出に応じて、吐出されたインク滴によるレーザー光の遮光を受光器で検出できなかった場合、ノズル詰まりが発生していると判定するレーザー方式を採用できる。また例えば、インクジェットヘッド１０と、当該ヘッドに対向し、当該ヘッドから吐出されたインクを受けるキャップとの間に電圧を印加し、それぞれを「−」と「＋」とに帯電させる。この場合、ノズルＮＺからのインクの吐出に応じて、「−」に帯電したインク滴が、「＋」に帯電したキャップに接近する過程で静電誘導によりインクジェットヘッド１０とキャップとの間の電界が変化し、さらに、着弾時にインク滴の電荷が中和されて電界が変化する。そして、電界の変化が反映された測定信号を積分回路で積分し、積分値が所定の閾値を超えなければノズル詰まりが発生していると判定する電界検出方式を採用できる。
【００１９】
ＤＭＡコントローラー２８は、制御部２０の制御で、ＲＡＭ２３のバッファーＢＵＦから、ヘッド制御ユニット３０へのデータのＤＭＡ転送（以下、単に「転送」という。）を実行する。ＤＭＡコントローラー２８は、転送開始アドレス設定部２８ａと、転送カウンター２８ｂとを備える。
転送開始アドレス設定部２８ａは、制御部２０の制御で、バッファーＢＵＦに展開されたデータについて、転送開始位置を示すアドレス（以下、「転送開始アドレス」という。）を設定する。
転送カウンター２８ｂは、制御部２０の制御で、転送するデータのデータ長（以下、「転送データ長」という。）を設定する。また、転送カウンター２８ｂは、データの転送の開始後、転送済みのデータのデータ長を計測する。
データを転送する場合、制御部２０と、ＤＭＡコントローラー２８は、以下の処理を実行する。制御部２０は、転送するデータの転送開始アドレスを転送開始アドレス設定部２８ａに通知する。転送開始アドレス設定部２８ａは、転送開始アドレスを設定する。また、制御部２０は、転送するデータのデータ長を転送カウンター２８ｂに通知する。転送カウンター２８ｂは、データ長を設定する。制御部２０は、ＤＭＡコントローラー２８に、データの転送の開始を指示する。当該指示に応じて、ＤＭＡコントローラー２８は、設定された転送開始アドレスを転送開始位置として、バッファーＢＵＦからヘッド制御ユニット３０へのデータの転送を開始し、転送カウンター２８ｂが計測した転送済みのデータのデータ長が、設定されたデータ長に達したら転送を終了する。データの転送の終了後、ＤＭＡコントローラー２８は、制御部２０に、データの転送が終了したことを通知する。
本実施形態では、ＲＡＭ２３のバッファーＢＵＦから、ヘッド制御ユニット３０へのデータの転送は、８バイトアライメントで行われる。
【００２０】
ヘッド制御部２９は、インクジェットヘッド１０が１６個のヘッドＨを有することに対応して、１６個のヘッド制御ユニット３０を有する。１のヘッド制御ユニット３０には、１のヘッドＨが接続される。
ヘッド制御ユニット３０は、ヘッドメモリー３１と、ヘッド駆動回路３２とを有する。
ヘッド駆動回路３２は、ヘッドＨが有するノズルＮＺの数と同数の信号線３４を介して、ノズルＮＺの吐出素子Ｓのそれぞれに接続される。
ＲＡＭ２３のバッファーＢＵＦからヘッド制御ユニット３０に転送されたデータは、所定の態様で、ヘッドメモリー３１に展開される。ヘッドメモリー３１に展開されたデータは、所定のタイミングでヘッド駆動回路３２に出力される。ヘッド駆動回路３２は、入力されたデータに基づいて、吐出素子Ｓへの電圧の印加制御を行い、ヘッドＨを駆動する。
【００２１】
以下の説明では、「０ｘ」は、「０ｘ」に続く値が１６進数で表された値であることを示す。
【００２２】
次に、ヘッドＨの駆動時に、バッファーＢＵＦからヘッド制御ユニット３０へ転送されるデータについて説明する。
以下では、図２に示すように、ヘッドＨには、ノズルＮＺ１〜ノズルＮＺ４００の４００個のノズルＮＺが設けられている。
ヘッドＨの駆動時、バッファーＢＵＦに駆動データＤ１が展開され、バッファーＢＵＦからヘッド制御ユニット３０へ、駆動データＤ１が転送される。
図４は、駆動データＤ１がバッファーＢＵＦに展開された様子を説明に適した態様で模式的に示す図である。
駆動データＤ１は、ヘッドＨが有する４００個のノズルＮＺ（ノズルＮＺ１〜ノズルＮＺ４００）の８ショット分の吐出／非吐出を示すデータである。本実施形態では、「８ショット分の吐出／非吐出を示す」とは、所定の間隔を開けて連続する８回のタイミングについて、各タイミングでインクを吐出するか、吐出しないかを示す、ということである。
図４に示すように、駆動データＤ１において、１のノズルの８ショット分の吐出／非吐出を示すデータのサイズは、２バイトである。従って、駆動データＤ１のサイズは、８００バイト（「２バイト（１のノズルＮＺのデータのサイズ）×４００（ノズルＮＺの個数）＝８００バイト」）である。
以下、駆動データＤ１において、１のノズルの８ショット分の吐出／非吐出を示す２バイトのデータを、「単ノズル駆動データＤ２」という。駆動データＤ１は、ノズルＮＺ１〜ノズルＮＺ４００の４００個のノズルＮＺに係る単ノズル駆動データＤ２が連続したデータである。
【００２３】
図４の例では、バッファーＢＵＦに、アドレスＡＤＸ１を先頭アドレスとして、駆動データＤ１が展開されている。上述したように、本実施形態では、バッファーＢＵＦからヘッド制御ユニット３０へのデータの転送は、８バイトアライメントで行われる。従って、アドレスＡＤＸ１の値は、「０ｘ４０」で割り切れる値である。また、データの転送は、８バイトずつ（４個のノズルＮＺに係る単ノズル駆動データＤ２ずつ）行われる。
図４の例では、アドレスＡＤＸ１を先頭アドレスとして展開される２バイトのデータは、ノズルＮＺ１に係る単ノズル駆動データＤ２である。
【００２４】
単ノズル駆動データＤ２では、１のタイミングでインクを吐出するか否かを、２ビットで表す。
以下の説明では、８ショットに対応する８回のタイミングを、タイミングＴ１〜タイミングＴ８と表現する。タイミングＴ１が到来した後、所定の間隔で、タイミングＴ２〜タイミングＴ７の順番で各タイミングが到来し、最後にタイミングＴ８が到来する。
ノズルＮＺ１に係る単ノズル駆動データＤ２において、１ビット目と２ビット目とのビットの組合せにより、タイミングＴ１におけるインクの吐出／非吐出が表される。同様に、３ビット目と４ビット目とのビットの組合せにより、タイミングＴ２におけるインクの吐出／非吐出が表される。同様に、１５ビット目と１６ビット目とのビットの組合せにより、タイミングＴ８におけるインクの吐出／非吐出が表される。
以下の説明では、単ノズル駆動データＤ２において、１のタイミングにおけるインクの吐出／非吐出を示す２ビットのデータを、ショットデータＤ３という。
【００２５】
図４に示すように、ノズルＮＺ１に係る単ノズル駆動データＤ２において、タイミングＴ１に係るショットデータＤ３（１ビット目と２ビット目とのデータ）は、「１１」である。これは、タイミングＴ１で、ノズルＮＺ１からインクを吐出することを示す。
ノズルＮＺ１に係る単ノズル駆動データＤ２において、タイミングＴ２に係るショットデータＤ３（３ビット目と４ビット目とのデータ）は、「００」である。これは、タイミングＴ２で、ノズルＮＺ１からインクを吐出しないことを示す。
以下の説明では、値が「１１」であり、インクを吐出することを示すショットデータＤ３のことを、吐出ショットデータＤ４と表現する。一方、値が「００」であり、インクを吐出しないことを示すショットデータＤ３のことを、非吐出ショットデータＤ５と表現する。
図４に示すように、ノズルＮＺ１に係る単ノズル駆動データＤ２では、タイミングＴ１、Ｔ４、Ｔ５、及び、Ｔ８に係るショットデータＤ３が、吐出ショットデータＤ４であり、それ以外のショットデータＤ３が非吐出ショットデータＤ５である。この場合、ノズルＮＺ１に係る単ノズル駆動データＤ２は、タイミングＴ１、Ｔ４、Ｔ５、及び、Ｔ８でノズルＮＺ１からインクを吐出することを示す。
【００２６】
図４に示すように、バッファーＢＵＦに、アドレスＡＤＸ２を先頭アドレスとして、ノズルＮＺ２に係る単ノズル駆動データＤ２が展開される。
アドレスＡＤＸ２は、アドレスＡＤＸ１から、２バイト分、変移したアドレスである。
ノズルＮＺ２に係る単ノズル駆動データＤ２は、全てのショットデータＤ３が、非吐出ショットデータＤ５である。従って、ノズルＮＺ２に係る単ノズル駆動データＤ２は、タイミングＴ１〜タイミングＴ８のいずれのタイミングでも、ノズルＮＺ２からインクを吐出しないことを示す。
以下の説明では、タイミングＴ１〜Ｔ８に係る全てのショットデータＤ３が、非吐出ショットデータＤ５である単ノズル駆動データＤ２のことを「非吐出データＤ６」と表現する。非吐出データＤ６は、タイミングＴ１〜Ｔ８のいずれのタイミングにおいても、対応するノズルＮＺからインクを吐出しないことを示す。一方、一つでも吐出ショットデータＤ４を有する単ノズル駆動データＤ２のことを「吐出データＤ７」と表現する。吐出データＤ７は、タイミングＴ１〜Ｔ８のタイミングのうち、少なくとも１のタイミングで対応するノズルＮＺからインクを吐出することを示す。
図４において、ノズルＮＺ１に係る単ノズル駆動データＤ２は、「吐出データＤ７」であり、ノズルＮＺ２に係る単ノズル駆動データＤ２は、「非吐出データＤ６」である。
【００２７】
図４に示す駆動データＤ１の転送は、以下のようにして行われる。
制御部２０は、バッファーＢＵＦに、「０ｘ４０」で割り切れる値のアドレスＡＤＸ１を先頭アドレスとして、駆動データＤ１を展開する。
次いで、制御部２０は、ＤＭＡコントローラー２８の転送開始アドレス設定部２８ａを制御して、転送開始アドレスとして、アドレスＡＤＸ１を設定する。次いで、制御部２０は、ＤＭＡコントローラー２８の転送カウンター２８ｂを制御して、転送データ長として、８００バイトを設定する。次いで、制御部２０は、ＤＭＡコントローラー２８に、転送開始を指示する。
ＤＭＡコントローラー２８は、バッファーＢＵＦにアクセスし、アドレスＡＤＸ１を転送開始アドレスとして、８００バイト分のデータの転送を実行する。その際、データの転送は、８バイトずつ行われる。
以上のようにして、バッファーＢＵＦからヘッド制御ユニット３０への転送が行われる。
なお、８ショットを超えるショット数分のインクの吐出を制御する場合は、対応する個数の駆動データＤ１が、順次、バッファーＢＵＦに展開され、ヘッド制御ユニット３０に転送される。例えば、ノズルＮＺによる８００ショット分のインクの吐出を制御する場合は、１００個の駆動データＤ１が、順次、バッファーＢＵＦに展開され、ヘッド制御ユニット３０に転送される。
【００２８】
次に、インクジェットプリンター１の連続ノズルチェック処理（ノズルチェック）時の動作について詳述する。
連続ノズルチェック処理では、ヘッドＨが有する複数のノズルＮＺのうちの１のノズルＮＺからインクの吐出が行われ、当該吐出に基づいて、当該１のノズルＮＺのノズルチェックが行われる。
【００２９】
不揮発性メモリー２２には、元データが記憶される。
制御部２０は、所定のタイミングで、不揮発性メモリー２２に記憶された元データに基づいて、第１ノズルデータＮＤ１、第２ノズルデータＮＤ２、第３ノズルデータＮＤ３、及び、第４ノズルデータＮＤ４を生成し、バッファーＢＵＦに、所定の態様で展開する。以下、第１ノズルデータＮＤ１、第２ノズルデータＮＤ２、第３ノズルデータＮＤ３、及び、第４ノズルデータＮＤ４を区別せずに表現する場合は、「ノズルデータＮＤ」と表現する。
元データは、制御部２０が各ノズルデータＮＤを生成するのに必要な情報を有するデータである。元データは、ノズルデータＮＤを含むデータであってもよい。
また、所定のタイミングは、例えば、インクジェットプリンター１の電源投入時、ユーザーから指示があった時、連続ノズルチェック処理（ノズルチェック）を開始する時、所定の条件が成立した時等である。
【００３０】
図５は、ノズルデータＮＤの１つである第１ノズルデータＮＤ１を示す図である。図６は、第１ノズルデータＮＤ１〜第４ノズルデータＮＤ４の４つのノズルデータＮＤを示す図である。図６（Ａ）は第１ノズルデータＮＤ１を示し、（Ｂ）は第２ノズルデータＮＤ２を示し、（Ｃ）は第３ノズルデータＮＤ３を示し、（Ｄ）は第４ノズルデータＮＤ４を示す。
図５に示すように、第１ノズルデータＮＤ１は、ヌルデータＱ１（非吐出制御データ）と、ヌルデータＱ１に連続するノズル情報データＱ２とを有する。
ヌルデータＱ１のサイズは、７９８バイト（２バイト×３９９）である。ヌルデータＱ１の全てのビットは、「０」である。
つまり、ヌルデータＱ１は、３９９個の非吐出データＤ６が連続するデータである。
【００３１】
ノズル情報データＱ２のサイズは、８００バイト（２バイト×４００）である。第１ノズルデータＮＤ１に係るノズル情報データＱ２の先頭アドレスは、アドレスＡＤＡ４００である。アドレスＡＤＡ４００の値は、「０ｘ４０」で割り切れる値である。制御部２０は、第１ノズルデータＮＤ１をバッファーＢＵＦに展開する際、ノズル情報データＱ２の先頭アドレスの値が、「０ｘ４０」で割り切れる値となるように、第１ノズルデータＮＤ１をバッファーＢＵＦに展開する。
なお、本実施形態において、アドレスＡＤＡ（ｎ）（ただし、ｎは１≦ｎ≦７９９の整数）について、ｎの値は、バッファーＢＵＦにおける２バイト分のアドレスの変移により、「１」増加する。例えば、アドレスＡＤＡ４０１は、アドレスＡＤＡ４００から、２バイト分、変移したアドレスである。
第１ノズルデータＮＤ１に係るノズル情報データＱ２は、先頭の２バイトのデータの全てのビットが「１」であり、残り７９８バイトのデータの全てのビットが「０」である。つまり、第１ノズルデータＮＤ１は、「０ｘ４０」で割り切れる値のアドレスＡＤＡ４００を先頭アドレスとして展開された１個の吐出データＤ７に、３９９個の非吐出データＤ６が連続して展開されたデータである。
【００３２】
第１ノズルデータＮＤ１に割り当てられるアドレスのうち、「０ｘ４０」で割り切れるアドレスを転送開始アドレスとすることによって、転送されるデータを、ノズルＮＺ１〜ノズルＮＺ４００の４００個のノズルＮＺのうち、以下の１のノズルＮＺからインクを吐出することを示す駆動データＤ１とすることができる。すなわち、ノズルＮＺ（４ｘ＋１）（ただし、ｘは、０≦ｘ≦９９の整数）からインクを吐出することを示す駆動データＤ１である。つまり、ノズルＮＺ１、５、９・・・３９７のいずれか１のノズルＮＺからインクを吐出することを示す駆動データＤ１である。
また、アドレスＡＤＡ４００が「０ｘ４０」で割り切れる値を有するため、「０ｘ４０」で割り切れるアドレスは、アドレスＡＤＡ（４ｙ）（ただし、１≦ｙ≦１００の整数）である。つまり、アドレスＡＤＡ４、８、１６・・・４００である。
【００３３】
例を挙げて詳述すると、第１ノズルデータＮＤ１について、アドレスＡＤＡ４００を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、先頭の２バイトを構成するビットの値が「１」であり、残り７９８バイトを構成するビットの値が「０」のデータである。これは、転送されるデータが、ノズルＮＺ１に係る単ノズル駆動データＤ２が吐出データＤ７であり、ノズルＮＺ２〜ノズルＮＺ４００に係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
また、第１ノズルデータＮＤ１について、アドレスＡＤＡ３９６を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、先頭８バイトを構成するビットの値が「０」であり、９バイト目、１０バイト目を構成するビットの値が「１」であり、残り７９０バイトを構成するビットの値が「０」である。これは、転送されるデータが、ノズルＮＺ５に係る単ノズル駆動データＤ２が吐出データＤ７であり、それ以外のノズルＮＺに係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
また、第１ノズルデータＮＤ１について、アドレスＡＤＡ４を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、先頭７９２バイトを構成するビットの値が「０」であり、７９３バイト目、７９４バイト目を構成するビットの値が「１」であり、残り６バイトを構成するビットの値が「０」である。これは、転送されるデータが、ノズルＮＺ３９７に係る単ノズル駆動データＤ２が吐出データＤ７であり、それ以外のノズルＮＺに係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
【００３４】
以上のように、第１ノズルデータＮＤ１について、８バイトアライメントに対応して、「０ｘ４０」で割り切れる値のアドレスを転送開始アドレスとして、データの転送を実行することにより、ノズルＮＺ（４ｘ＋１）（ただし、ｘは、０≦ｘ≦９９の整数）のうち、任意の１のノズルからインクを吐出させることができる。
【００３５】
図６（Ｂ）に示すように、第２ノズルデータＮＤ２は、第１ノズルデータＮＤ１と同様、７９８バイトのヌルデータＱ１と、ヌルデータＱ１に連続する８００バイトのノズル情報データＱ２とを有する。
第２ノズルデータＮＤ２に係るノズル情報データＱ２の先頭アドレスは、アドレスＡＤＢ４００である。アドレスＡＤＢ４００の値は、「０ｘ４０」で割り切れる値である。制御部２０は、第２ノズルデータＮＤ２をバッファーＢＵＦに展開する場合、ノズル情報データＱ２の先頭アドレスの値が、「０ｘ４０」で割り切れる値となるように、第２ノズルデータＮＤ２をバッファーＢＵＦに展開する。
なお、アドレスＡＤＢ（ｎ）（ただし、ｎは１≦ｎ≦７９９の整数）について、ｎの値は、バッファーＢＵＦにおける２バイト分のアドレスの変移により、「１」増加する。例えば、アドレスＡＤＢ４０１は、アドレスＡＤＢ４００から、２バイト分、変移したアドレスである。
第２ノズルデータＮＤ２に係るノズル情報データＱ２は、３バイト目と、４バイト目のデータを構成するビットが「１」であり、それ以外のビットが「０」である。つまり、第２ノズルデータＮＤ２は、「０ｘ４０」で割り切れる値のアドレスＡＤＢ４００を先頭アドレスとして展開された１個の非吐出データＤ６に、１個の吐出データＤ７が連続して展開され、さらに、３９８個の非吐出データＤ６が連続して展開されたデータである。
【００３６】
第２ノズルデータＮＤ２に割り当てられるアドレスのうち、「０ｘ４０」で割り切れるアドレスを転送開始アドレスとすることによって、転送されるデータを、ノズルＮＺ１〜ノズルＮＺ４００の４００個のノズルＮＺのうち、以下の１のノズルＮＺからインクを吐出することを示す駆動データＤ１とすることができる。すなわち、ノズルＮＺ（４ｘ＋２）（ただし、ｘは、０≦ｘ≦９９の整数）からインクを吐出することを示す駆動データＤ１である。つまり、ノズルＮＺ２、６、１０・・・３９８のいずれか１のノズルＮＺからインクを吐出することを示す駆動データＤ１である。
また、アドレスＡＤＢ４００が「０ｘ４０」で割り切れる値を有するため、「０ｘ４０」で割り切れるアドレスは、アドレスＡＤＢ（４ｙ）（ただし、１≦ｙ≦１００の整数）である。つまり、アドレスＡＤＢ４、８、１６・・・４００である。
【００３７】
例を挙げて詳述すると、第２ノズルデータＮＤ２について、アドレスＡＤＢ４００を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、３バイト目と、４バイト目のデータを構成するビットの値が「１」であり、それ以外のビットの値が「０」のデータである。これは、転送されるデータが、ノズルＮＺ２に係る単ノズル駆動データＤ２が吐出データＤ７であり、ノズルＮＺ１、３〜４００に係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
また、第２ノズルデータＮＤ２について、アドレスＡＤＢ３９６を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、先頭の１０バイトを構成するビットの値が「０」であり、１１バイト目、１２バイト目を構成するビットの値が「１」であり、残り７８８バイトを構成するビットの値が「０」である。これは、転送されるデータが、ノズルＮＺ６に係る単ノズル駆動データＤ２が吐出データＤ７であり、それ以外のノズルＮＺに係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
また、第２ノズルデータＮＤ２について、アドレスＡＤＢ４を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、先頭７９４バイトを構成するビットの値が「０」であり、７９５バイト目、７９６バイト目を構成するビットの値が「１」であり、残り４バイトを構成するビットの値が「０」である。これは、転送されるデータが、ノズルＮＺ３９８に係る単ノズル駆動データＤ２が吐出データＤ７であり、それ以外のノズルＮＺに係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
【００３８】
以上のように、第２ノズルデータＮＤ２について、８バイトアライメントに対応して、「０ｘ４０」で割り切れる値のアドレスを転送開始アドレスとして、データの転送を実行することにより、ノズルＮＺ（４ｘ＋２）（ただし、ｘは、０≦ｘ≦９９の整数）のうち、任意の１のノズルからインクを吐出させることができる。
【００３９】
図６（Ｃ）に示すように、第３ノズルデータＮＤ３は、第１ノズルデータＮＤ１と同様、７９８バイトのヌルデータＱ１と、ヌルデータＱ１に連続する８００バイトのノズル情報データＱ２とを有する。
第３ノズルデータＮＤ３に係るノズル情報データＱ２の先頭アドレスは、アドレスＡＤＣ４００である。アドレスＡＤＣ４００の値は、「０ｘ４０」で割り切れる値である。制御部２０は、第３ノズルデータＮＤ３をバッファーＢＵＦに展開する場合、ノズル情報データＱ２の先頭アドレスの値が、「０ｘ４０」で割り切れる値となるように、第３ノズルデータＮＤ３をバッファーＢＵＦに展開する。
なお、アドレスＡＤＣ（ｎ）（ただし、ｎは１≦ｎ≦７９９の整数）について、ｎの値は、バッファーＢＵＦにおける２バイト分のアドレスの変移により、「１」増加する。例えば、アドレスＡＤＣ４０１は、アドレスＡＤＣ４００から、２バイト分、変移したアドレスである。
第３ノズルデータＮＤ３に係るノズル情報データＱ２は、５バイト目と、６バイト目のデータを構成するビットが「１」であり、それ以外のビットが「０」である。つまり、第３ノズルデータＮＤ３は、「０ｘ４０」で割り切れる値のアドレスＡＤＣ４００を先頭アドレスとして展開された２個の非吐出データＤ６に、１個の吐出データＤ７が連続して展開され、さらに、３９７個の非吐出データＤ６が連続して展開されたデータである。
【００４０】
第３ノズルデータＮＤ３に割り当てられるアドレスのうち、「０ｘ４０」で割り切れるアドレスを転送開始アドレスとすることによって、転送されるデータを、ノズルＮＺ１〜ノズルＮＺ４００の４００個のノズルＮＺのうち、以下の１のノズルＮＺからインクを吐出することを示す駆動データＤ１とすることができる。すなわち、ノズルＮＺ（４ｘ＋３）（ただし、ｘは、０≦ｘ≦９９の整数）からインクを吐出することを示す駆動データＤ１である。つまり、ノズルＮＺ３、７、１１・・・３９９のいずれか１のノズルＮＺからインクを吐出することを示す駆動データＤ１である。
また、アドレスＡＤＣ４００が「０ｘ４０」で割り切れる値を有するため、「０ｘ４０」で割り切れるアドレスは、アドレスＡＤＣ（４ｙ）（ただし、１≦ｙ≦１００の整数）である。つまり、アドレスＡＤＣ４、８、１６・・・４００である。
【００４１】
例を挙げて詳述すると、第３ノズルデータＮＤ３について、アドレスＡＤＣ４００を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、５バイト目と、６バイト目のデータを構成するビットの値が「１」であり、それ以外のビットの値が「０」のデータである。これは、転送されるデータが、ノズルＮＺ３に係る単ノズル駆動データＤ２が吐出データＤ７であり、ノズルＮＺ１、２、４〜４００に係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
また、第３ノズルデータＮＤ３について、アドレスＡＤＣ３９６を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、先頭の１２バイトを構成するビットの値が「０」であり、１３バイト目、１４バイト目を構成するビットの値が「１」であり、残り７８６バイトを構成するビットの値が「０」である。これは、転送されるデータが、ノズルＮＺ７に係る単ノズル駆動データＤ２が吐出データＤ７であり、それ以外のノズルＮＺに係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
また、第３ノズルデータＮＤ３について、アドレスＡＤＣ４を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、先頭７９６バイトを構成するビットの値が「０」であり、７９７バイト目、７９８バイト目を構成するビットの値が「１」であり、残り２バイトを構成するビットの値が「０」である。これは、転送されるデータが、ノズルＮＺ３９９に係る単ノズル駆動データＤ２が吐出データＤ７であり、それ以外のノズルＮＺに係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
【００４２】
以上のように、第３ノズルデータＮＤ３について、８バイトアライメントに対応して、「０ｘ４０」で割り切れる値のアドレスを転送開始アドレスとして、データの転送を実行することにより、ノズルＮＺ（４ｘ＋３）（ただし、ｘは、０≦ｘ≦９９の整数）のうち、任意の１のノズルからインクを吐出させることができる。
【００４３】
図６（Ｄ）に示すように、第４ノズルデータＮＤ４は、第１ノズルデータＮＤ１と同様、７９８バイトのヌルデータＱ１と、ヌルデータＱ１に連続する８００バイトのノズル情報データＱ２とを有する。
第４ノズルデータＮＤ４に係るノズル情報データＱ２の先頭アドレスは、アドレスＡＤＤ４００である。アドレスＡＤＤ４００の値は、「０ｘ４０」で割り切れる値である。制御部２０は、第４ノズルデータＮＤ４をバッファーＢＵＦに展開する場合、ノズル情報データＱ２の先頭アドレスの値が、「０ｘ４０」で割り切れる値となるように、第４ノズルデータＮＤ４をバッファーＢＵＦに展開する。
なお、アドレスＡＤＤ（ｎ）（ただし、ｎは１≦ｎ≦７９９の整数）について、ｎの値は、バッファーＢＵＦにおける２バイト分のアドレスの変移により、「１」増加する。例えば、アドレスＡＤＤ４０１は、アドレスＡＤＤ４００から、２バイト分、変移したアドレスである。
第４ノズルデータＮＤ４に係るノズル情報データＱ２は、７バイト目と、８バイト目のデータを構成するビットが「１」であり、それ以外のビットが「０」である。つまり、第４ノズルデータＮＤ４は、「０ｘ４０」で割り切れる値のアドレスＡＤＤ４００を先頭アドレスとして展開された３個の非吐出データＤ６に、１個の吐出データＤ７が連続して展開され、さらに、３９６個の非吐出データＤ６が連続して展開されたデータである。
【００４４】
第４ノズルデータＮＤ４に割り当てられるアドレスのうち、「０ｘ４０」で割り切れるアドレスを転送開始アドレスとすることによって、転送されるデータを、ノズルＮＺ１〜ノズルＮＺ４００の４００個のノズルＮＺのうち、以下の１のノズルＮＺからインクを吐出することを示す駆動データＤ１とすることができる。すなわち、ノズルＮＺ（４ｘ＋４）（ただし、ｘは、０≦ｘ≦９９の整数）からインクを吐出することを示す駆動データＤ１である。つまり、ノズルＮＺ４、８、１２・・・４００のいずれか１のノズルＮＺからインクを吐出することを示す駆動データＤ１である。
また、アドレスＡＤＤ４００が「０ｘ４０」で割り切れる値を有するため、「０ｘ４０」で割り切れるアドレスは、アドレスＡＤＤ（４ｙ）（ただし、１≦ｙ≦１００の整数）である。つまり、アドレスＡＤＤ４、８、１６・・・４００である。
【００４５】
例を挙げて詳述すると、第４ノズルデータＮＤ４について、アドレスＡＤＤ４００を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、７バイト目と、８バイト目のデータを構成するビットの値が「１」であり、それ以外のビットの値が「０」のデータである。これは、転送されるデータが、ノズルＮＺ４に係る単ノズル駆動データＤ２が吐出データＤ７であり、ノズルＮＺ１〜３、５〜４００に係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
また、第４ノズルデータＮＤ４について、アドレスＡＤＤ３９６を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、先頭の１４バイトを構成するビットの値が「０」であり、１５バイト目、１６バイト目を構成するビットの値が「１」であり、残り７８４バイトを構成するビットの値が「０」である。これは、転送されるデータが、ノズルＮＺ８に係る単ノズル駆動データＤ２が吐出データＤ７であり、それ以外のノズルＮＺに係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
また、第４ノズルデータＮＤ４について、アドレスＡＤＤ４を転送開始アドレスとして、８００バイトのデータを転送した場合、転送されるデータは、先頭７９８バイトを構成するビットの値が「０」であり、７９９バイト目、８００バイト目を構成するビットの値が「１」である。これは、転送されるデータが、ノズルＮＺ４００に係る単ノズル駆動データＤ２が吐出データＤ７であり、それ以外のノズルＮＺに係る単ノズル駆動データＤ２が非吐出データＤ６である駆動データＤ１であることを意味する。
【００４６】
以上のように、第４ノズルデータＮＤ４について、８バイトアライメントに対応して、「０ｘ４０」で割り切れる値のアドレスを転送開始アドレスとして、データの転送を実行することにより、ノズルＮＺ（４ｘ＋４）（ただし、ｘは、０≦ｘ≦９９の整数）のうち、任意の１のノズルからインクを吐出させることができる。
【００４７】
以上のように、本実施形態では、第１ノズルデータＮＤ１〜第４ノズルデータＮＤ４の４個のノズルデータＮＤのうち、いずれか１のノズルデータＮＤに割り振られた「０ｘ４０」で割り切れる値のアドレスを転送開始アドレスとしてデータを転送することにより、任意の１のノズルＮＺからインクを吐出することを示す駆動データＤ１の転送が可能である。つまり、制御部２０は、４個のノズルデータＮＤを用いて、任意の１のノズルＮＺからインクを吐出させる駆動データＤ１の転送を実行することができる。
ここで、任意の１のノズルＮＺからインクを吐出させる場合、制御部２０が、その都度、対応する駆動データＤ１を生成し、生成した駆動データＤ１をバッファーＢＵＦに展開し、ＤＭＡコントローラー２８の制御で、データの転送することも考えられる。本実施形態によれば、対応する駆動データＤ１を生成し、バッファーＢＵＦに展開する処理、また当該処理に付随する処理が行われないため、上述した処理を実行する場合と比較して、データ転送に関する処理のスループットを向上できる。
【００４８】
次に、連続ノズルチェック処理時におけるインクジェットプリンター１の動作について説明する。
図７は、連続ノズルチェック処理時におけるインクジェットプリンター１の動作を示すフローチャートである。
なお、以下の説明では、制御部２０は、連続ノズルチェック処理を開始する場合に、元データに基づいて、４個のノズルデータＮＤをバッファーＢＵＦに展開する。上述したように、ノズルデータＮＤをバッファーＢＵＦに展開するタイミングは、上記タイミングに限らない。
また、以下の説明では、制御部２０は、１のヘッドＨについて、連続ノズルチェック処理を実行する。上述したように、インクジェットプリンター１は１６個のヘッドＨを備えているため、連続ノズルチェック処理時、インクジェットプリンター１は、以下で説明する処理を、各ヘッドＨについて実行する。
【００４９】
図７に示すように、インクジェットプリンター１の制御部２０は、連続ノズルチェック処理を開始するか否かを監視する（ステップＳＡ１）。
例えば、ユーザーから連続ノズルチェック処理の開始の指示があった場合、所定の条件が成立した場合等に、制御部２０は、連続ノズルチェック処理を開始すると判別する。連続ノズルチェック処理を開始するタイミングは、ユーザーにより設定可能な構成となっている。
連続ノズルチェック処理を開始する場合（ステップＳＡ１：ＹＥＳ）、制御部２０は、不揮発性メモリー２２が記憶する元データに基づいて、上述した４個のノズルデータＮＤを生成する（ステップＳＡ２）。
次いで、制御部２０は、生成した各ノズルデータＮＤを、上述した態様で、バッファーＢＵＦに展開する（ステップＳＡ３）。すなわち、制御部２０は、各ノズルデータＮＤについて、ノズル情報データＱ２の先頭アドレスの値が、「０ｘ４０」で割り切れる値となるように、バッファーＢＵＦに展開する。
【００５０】
次いで、制御部２０は、ヘッドＨが備える複数のノズルＮＺのうち、１のノズルＮＺを、ノズルチェックの対象のノズルＮＺとして決定する（ステップＳＡ４）。
ここで、連続ノズルチェック処理では、ヘッドＨが備える複数のノズルＮＺについて、所定の順番で、ノズルチェックが実行される。所定の順番は、ユーザーにより設定可能な構成となっている。所定の順番は、例えば、ノズルＮＺ１からノズルＮＺ４００へ向かって４００個のノズルＮＺを順次ノズルチェックする順番や、ノズルＮＺ１、ノズルＮＺ３・・・ノズルＮＺ３９９のように所定の規則に従った順番や、ノズルＮＺ５０、ノズルＮＺ１００のように指定されたノズルＮＺを順次ノズルチェックする順番等である。
ステップＳＡ４では、所定の順番に従って、順次、１のノズルＮＺをノズルチェックの対象のノズルＮＺとして決定する。
以下の説明では、ステップＳＡ４で決定されたノズルＮＺを「対象ノズル」と表現する。
【００５１】
次いで、制御部２０は、４個のノズルデータＮＤのうち、対象ノズルからインクを吐出する場合に、データの転送に利用するノズルデータＮＤを決定する（ステップＳＡ５）。
対象ノズルが、ノズルＮＺ（ｚ）（ただし、ｚは、１≦ｚ≦４００の整数）として、ステップＳＡ５の処理について詳述する。
上述したように、第１ノズルデータＮＤ１に割り振られたアドレスのうち、８バイトアライメントに対応するアドレスを転送開始アドレスとすることにより、ノズルＮＺ（４ｘ＋１）（ただし、ｘは、０≦ｘ≦９９の整数）のうち任意の１のノズルＮＺからインクを吐出する駆動データＤ１の転送を実行できる。
また、第２ノズルデータＮＤ２に割り振られたアドレスのうち、８バイトアライメントに対応するアドレスを転送開始アドレスとすることにより、ノズルＮＺ（４ｘ＋２）（ただし、ｘは、０≦ｘ≦９９の整数）のうち任意の１のノズルＮＺからインクを吐出する駆動データＤ１の転送を実行できる。
また、第３ノズルデータＮＤ３に割り振られたアドレスのうち、８バイトアライメントに対応するアドレスを転送開始アドレスとすることにより、ノズルＮＺ（４ｘ＋３）（ただし、ｘは、０≦ｘ≦９９の整数）のうち任意の１のノズルＮＺからインクを吐出する駆動データＤ１の転送を実行できる。
また、第４ノズルデータＮＤ４に割り振られたアドレスのうち、８バイトアライメントに対応するアドレスを転送開始アドレスとすることにより、ノズルＮＺ（４ｘ＋４）（ただし、ｘは、０≦ｘ≦９９の整数）のうち任意の１のノズルＮＺからインクを吐出する駆動データＤ１の転送を実行できる。
そして、ステップＳＡ５で、制御部２０は、対象ノズルであるノズルＮＺ（ｚ）について、「ｚ」が、「４ｘ＋１」、「４ｘ＋２」、「４ｘ＋３」、及び、「４ｘ＋４」のいずれの式により表されるかを判断する。例えば、「ｚ＝１」であれば、「４ｘ＋１（ｘ＝０）」で表すことができ、「ｚ＝６」であれば、「４ｘ＋２（ｘ＝１）」で表すことができ、「ｚ＝１５」であれば、「４ｘ＋３（ｘ＝３）」で表すことができ、「ｚ＝２０」であれば、「４ｘ＋４（ｘ＝４）」で表すことができる。
「ｚ」が「４ｘ＋１」で表すことができる場合、制御部２０は、データの転送に利用するノズルデータＮＤとして、第１ノズルデータＮＤ１を決定する。「ｚ」が「４ｘ＋２」で表すことができる場合、制御部２０は、データの転送に利用するノズルデータＮＤとして、第２ノズルデータＮＤ２を決定する。「ｚ」が「４ｘ＋３」で表すことができる場合、制御部２０は、データの転送に利用するノズルデータＮＤとして、第３ノズルデータＮＤ３を決定する。「ｚ」が「４ｘ＋４」で表すことができる場合、制御部２０は、データの転送に利用するノズルデータＮＤとして、第４ノズルデータＮＤ４を決定する。
【００５２】
次いで、制御部２０は、ステップＳＡ５で決定したノズルデータＮＤに割り振られたアドレスついて、対象ノズルからインクを吐出することを示す駆動データＤ１を転送する場合に、転送開始アドレスとすべきアドレスを決定する（ステップＳＡ６）。ここで、決定されたアドレスの値は、８バイトアライメントに対応する値（「０ｘ４０」で割り切れる値）となる。
例えば、ステップＳＡ５で決定したノズルデータＮＤが、第１ノズルデータＮＤ１の場合、ステップＳＡ６で制御部２０は以下の処理を実行する。
上記の場合において、対象ノズルがノズルＮＺ１の場合、制御部２０は、アドレスＡＤＡ４００（図５参照）を転送開始アドレスとして決定する。また、対象ノズルがノズルＮＺ５の場合、制御部２０は、アドレスＡＤＡ３９６（図５参照）を転送開始アドレスとして決定する。また、対象ノズルがノズルＮＺ３９７の場合、制御部２０は、アドレスＡＤＡ４を転送開始アドレスとして決定する。
【００５３】
次いで、制御部２０は、ＤＭＡコントローラー２８の転送開始アドレス設定部２８ａを制御して、転送開始アドレスとして、ステップＳＡ６で決定したアドレスを設定する。また、制御部２０は、ＤＭＡコントローラー２８の転送カウンター２８ｂを制御して、転送データ長として、８００バイトを設定する（ステップＳＡ７）。
次いで、制御部２０は、ＤＭＡコントローラー２８に、転送開始を指示する（ステップＳＡ８）。
当該転送開始の指示に応じて、対象ノズルからインクを吐出することを示す駆動データＤ１が、バッファーＢＵＦからヘッド制御ユニット３０へ転送される。駆動データＤ１は、ヘッドメモリー３１に所定の態様で展開され、ヘッド駆動回路３２に所定の態様で出力される。ヘッド駆動回路３２は、ヘッドメモリー３１からの入力に基づいて、吐出素子Ｓへの電圧の印加制御を行い、対象ノズルから８ショット分、インクを吐出させる。
制御部２０は、対象ノズルからのインクの吐出に応じて、ノズルチェック制御部２６を制御して、ノズルチェック装置２７によりノズルチェックを行う（ステップＳＡ９）。制御部２０は、ノズルチェックの結果を示すデータを、ホストコンピューター３に送信し、ホストコンピューター３は、ノズルチェックの結果を表示部に表示する。
次いで、制御部２０は、ノズルチェックを行うノズルＮＺについて、全てのノズルＮＺのノズルチェックが完了したか否かを判別する（ステップＳＡ１０）。
全てのノズルＮＺのノズルチェックが完了していない場合（ステップＳＡ１０：ＮＯ）、制御部２０は、処理手順をステップＳＡ４へ戻す。
全てのノズルＮＺのノズルチェックが完了した場合（ステップＳＡ１０：ＹＥＳ）、制御部２０は、処理を終了する。
【００５４】
以上説明したように、本実施形態に係るインクジェットプリンター１（印刷装置）は、複数のノズルＮＺが設けられたヘッドＨを備える。インクジェットプリンター１は、バッファーＢＵＦ（記憶領域）に記憶したノズルデータＮＤを、８バイトアライメント（Ｎ（ただし、Ｎは２のべき乗）バイトアライメント）で、ヘッドＨにデータ転送する機能と、ノズルデータＮＤに基づいて、ノズルＮＺからインクを吐出する機能と、を備える。ノズルデータＮＤは、ヌルデータＱ１（非吐出制御データ）と、ヌルデータＱ１に連続し、１のノズルＮＺからインクを吐出することを示す吐出データＤ７を含むノズル情報データＱ２と、を有する。バッファーＢＵＦには、ノズル情報データＱ２における吐出データＤ７の位置が８バイトアライメントに対応してシフトされた複数のノズルデータＮＤが記憶される。インクジェットプリンター１は、バッファーＢＵＦに記憶された複数のノズルデータＮＤのうちのいずれか１のノズルデータＮＤに割り振られたアドレスであって８バイトアライメントに対応する値のアドレスを転送開始アドレス（先頭アドレス）として、ヘッドＨへのデータ転送を行う。これにより、複数のノズルＮＺのうちの任意の１のノズルＮＺにインクを吐出させることが可能である。
この構成によれば、インクジェットプリンター１のバッファーＢＵＦに、ノズル情報データＱ２における吐出データＤ７の位置が８バイトアライメントに対応してシフトされた複数のノズルデータＮＤが記憶される。そして、インクジェットプリンター１は、複数のノズルデータＮＤのうちのいずれか１のノズルデータＮＤに割り振られたアドレスであって８バイトアライメントに対応する値のアドレスを転送開始アドレスとして、ヘッドＨへのデータ転送を行うことにより、複数のノズルＮＺのうちの任意の１のノズルＮＺにインクを吐出させることが可能な構成を有する。このため、１のノズルＮＺからインクを吐出させる場合に、８バイトアライメントに対応するノズルデータＮＤを生成してバッファーＢＵＦに記憶する処理が必要なく、ノズルＮＺからインクを吐出させる際のデータ転送に関する処理のスループットを向上できる。
【００５５】
また、本実施形態では、吐出データＤ７は、２バイトのデータである。バッファーＢＵＦには、ノズル情報データＱ２における吐出データＤ７の位置が２バイトずつシフトされた前記ノズルデータが、４（８／２）個、記憶される。
この構成によれば、８バイトアライメントでデータ転送すること、及び、吐出データが２バイトのデータであることに基づいて、任意の１のノズルからインクを吐出するために必要な複数のノズルデータを記憶できる。
【００５６】
また、本実施形態に係るインクジェットプリンター１は、複数のノズルＮＺのうちの１のノズルＮＺによるインクの吐出に基づいて、当該１のノズルＮＺのノズルチェックを行う機能を有する。
この構成によれば、インクジェットプリンター１は、スループットを向上してデータ転送を行って、１のノズルＮＺからインクを吐出させ、当該１のノズルＮＺのノズルチェックを実行できる。
【００５７】
＜変形例＞
上述した実施形態では、ノズルデータＮＤは、任意の１のノズルＮＺに８ショット分のインクを吐出させるデータであった。一方、ノズルデータＮＤが、任意の１のノズルＮＺに８ショット以上のショット数分、インクを吐出するデータである場合、ノズルデータＮＤの構造は、例えば、以下のようになる。
図８は、ノズルデータＮＤが、任意の１のノズルＮＺに８００ショット分のインクを吐出させるデータである場合の、第１ノズルデータＮＤ１の構造を模式的に示す図である。
図８に示すように、第１ノズルデータＮＤ１は、ヌルデータＱ１に、１００個のノズル情報データＱ２が連続するデータである。各ノズル情報データＱ２の態様は同一であり、先頭の２バイトを構成するビットの値が「１」である。第１ノズルデータＮＤ１は、８バイトアライメントに対応して、アドレスが割り振られる。第１ノズルデータＮＤ１を利用してデータを転送する場合、制御部２０は、所定のアドレスを転送開始アドレスとすると共に、転送データ長を８００００バイトとする。これにより、データの転送に応じて、対応するノズルＮＺから８００ショット分のインクが吐出される。
すなわち、ヌルデータＱ１に連続するノズル情報データＱ２の個数を変更することにより、ノズルＮＺから吐出するインクのショット数を変更できる。
【００５８】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、ノズルデータＮＤの態様の例を示したが、ノズルデータＮＤの態様は例示したものに限らない。
また、インクジェットプリンター１は、ラインプリンターであったが、本発明が適用される印刷装置は、ラインプリンターに限らず、例えば、シリアルプリンターであってもよい。シリアルプリンターとは、印刷時、記録媒体に対して相対的にインクジェットヘッドが移動して印刷を行うプリンターである。すなわち、本発明は、インクジェットプリンターに適用可能である。
また、上述した実施形態で説明した処理は、動作モードが特定のモードの場合に実行されてもよい。
また、図３に示す各機能ブロックはハードウェアとソフトウェアにより実現可能であり、特定のハードウェア構成を示唆するものでは無い。
また、本実施形態では、ノズルデータＮＤに関し、「１１」が吐出を示し、「００」が非吐出を示していたが、吐出、非吐出のビットの態様は、例示したものに限らない。例えば、「００」が吐出を示し、「１１」が「非吐出」を示す構成であってもよい。
【符号の説明】
【００５９】
１・・・インクジェットプリンター（印刷装置）、１０…インクジェットヘッド、２３…ＲＡＭ（記憶部）、２８…ＤＭＡコントローラー（転送部）、３０…ヘッド制御ユニット（ヘッド制御部）、ＢＵＦ・・・バッファー（記憶領域）、ＮＤ１・・・第１ノズルデータ（ノズルデータ）、ＮＤ２・・・第２ノズルデータ（ノズルデータ）、ＮＤ３・・・第３ノズルデータ（ノズルデータ）、ＮＤ４・・・第４ノズルデータ（ノズルデータ）、Ｑ１・・・ヌルデータ（非吐出制御データ）、Ｑ２・・・ノズル情報データ、Ｈ・・・ヘッド、ＮＺ・・・ノズル。
【図１】
2015174428.tif 000003
【図２】
2015174428.tif 000004
【図３】
2015174428.tif 000005
【図４】
2015174428.tif 000006
【図５】
2015174428.tif 000007
【図６】
2015174428.tif 000008
【図７】
2015174428.tif 000009
【図８】
2015174428.tif 000010