(57)【要約】      （修正有）【課題】多値データが一度も出現しない空ラスタについての展開処理を省略。【解決手段】多値データで構成されるラスタデータを格納するバッファと、多値データ値に対応して複数のドットパターンを有するテーブルと、記録ヘッドの走査方向及び多値データの値に対応してドットパターンの初期値を格納する第１情報格納手段と、１ラスタを構成する多値データが全てゼロである空ラスタを示す情報を格納する第２情報格納手段と、多値データ値評価と前記空ラスタの判定とをラスタ毎に行なう判定手段と、前記判定手段の評価及び判定に基づき、前記第１情報格納手段への前記初期値格納制御と、前記第２情報格納手段への前記空ラスタ情報格納制御と、前記バッファへの多値データ格納制御とを行なうラスタ制御手段と、前記第１の情報格納手段に格納された初期値と前記テーブルとに基づき、前記バッファから読出した多値データからドットパターン生成する手段とを具備する。【選択図】図３
2011051339.tif 000002
【特許請求の範囲】
【請求項１】
記録ヘッドを双方向に走査させて記録を行なう記録装置であって、
多値データで構成されるラスタデータを格納するバッファと、
多値データの値に対して複数のドットパターンが定められ、その値に対応してドットパターンを有するテーブルと、
前記記録ヘッドの走査方向及び多値データの値に対応してドットパターンの初期値を格納する第１の情報格納手段と、
１ラスタを構成する多値データが全てゼロである空ラスタを示す情報を格納する第２の情報格納手段と、
多値データの値の評価と前記空ラスタであるか否かの判定とをラスタ毎に行なう判定手段と、
前記判定手段の評価及び判定に基づいて、前記第１の情報格納手段へ前記初期値を格納する制御と、前記第２の情報格納手段へ前記空ラスタを示す情報を格納する制御と、前記バッファへ多値データを格納する制御とを行なうラスタ制御手段と、
前記第１の情報格納手段に格納された初期値と前記テーブルとに基づいて、前記バッファから多値データを読み出し、当該読み出した多値データからドットパターンを生成する生成手段と
を具備することを特徴とする記録装置。
【請求項２】
前記ラスタ制御手段は、
前記ラスタデータに含まれる前記空ラスタを除く多値データを前記バッファへ格納する制御を行なう
ことを特徴とする請求項１記載の記録装置。
【請求項３】
前記第１の情報格納手段は、
前記記録ヘッドの走査方向におけるいずれかの方向に対応する初期値を格納する第１の格納手段と、
前記第１の格納手段に格納された初期値に対応する方向と逆の方向に対応する初期値を格納する第２の格納手段と
を具備することを特徴とする請求項１記載の記録装置。
【請求項４】
前記ラスタ制御手段は、
前記ラスタデータに含まれる空ラスタを除くラスタについての前記初期値を前記第１の情報格納手段に格納する
ことを特徴とする請求項１記載の記録装置。
【請求項５】
前記生成手段は、
前記生成したドットパターンに基づく２値データを前記記録ヘッドへ転送する
ことを特徴とする請求項１記載の記録装置。
【請求項６】
多値データで構成されるラスタデータを格納するバッファと、多値データの値に対して複数のドットパターンが定められ、その値に対応してドットパターンを有するテーブルとを有し、記録ヘッドを双方向に走査させて記録を行なう記録装置の処理方法であって、
判定手段が、多値データの値の評価と、１ラスタを構成する多値データが全てゼロである空ラスタであるか否かの判定とをラスタ毎に行なう工程と、
ラスタ制御手段が、前記判定手段の評価及び判定に基づいて、前記記録ヘッドの走査方向及び多値データの値に対応してドットパターンの初期値を格納する第１の情報格納手段へ前記初期値を格納する制御と、前記空ラスタを示す情報を格納する第２の情報格納手段へ前記空ラスタを示す情報を格納する制御と、前記バッファへ多値データを格納する制御とを行なう工程と、
生成手段が、前記第１の情報格納手段に格納された初期値と前記テーブルとに基づいて、前記バッファから多値データを読み出し、当該読み出した多値データからドットパターンを生成する工程と
を含むことを特徴とする記録装置の処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録装置及びその処理方法に関する。
【背景技術】
【０００２】
記録媒体に対して記録を行なう記録装置が知られている。記録装置は、ホスト等からデータを受け取ると、当該受け取ったデータを２値のビットマップデータに展開する。そして、そのビットマップデータを記録ヘッドに転送することで記録を行なう。
【０００３】
ここで、多値データをビットマップデータに展開する技術としては、例えば、各画素の階調に対して展開テーブル（ドットマトリックス）を設け、そのマトリックスを用いて展開する方法が知られている。
【０００４】
上述した展開に際して、各画素の階調に対して固定の展開テーブル（ドットマトリックス）しか設けられていない場合、同一階調のときは同一の展開パターンが得られることになる。このような固定パターンへの展開では、ノズルの汚れや吐出量のばらつきを起因としたスジやムラなどが生じてしまう可能性がある。
【０００５】
これに対処するため、各画素の階調に対して複数のドットマトリックスを持ち、当該複数のマトリックスの中からいずれかを選択して展開を行なう手法が知られている。この場合、各階調に対応するパターンが固定とならないため、ノズル汚れ等の影響を受け難くなる。これにより、記録ヘッドの精度ばらつき等によるムラを低減させることができる。
【０００６】
ここで、複数のドットマトリックスの中からいずれかを選択する手法は、いくつか提案されている。例えば、同一階調のデータが現れる度にその階調の展開に用いるドットマトリックスを変更する方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平０９−０４６５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載されたドットマトリックスの選択方法では、データ出現順にドットマトリックスを変更するため、順ラスタ方向（往路方向）からの展開時と、逆ラスタ方向（復路方向）からの展開時とでは、展開結果が変わってしまう。そのため、展開方向を固定する必要がある。
【０００９】
また、記録装置には、一般に、シングルパス記録（片方向記録、双方向記録いずれも可）、マルチパス記録（片方向記録、双方向記録いずれも可）等の複数の記録モードが設けられている。そのため、ドットマトリックスの選択を適切に行なうには、これら記録モードをも考慮しなければならない。
【００１０】
また、特許文献１では、展開後のビットマップデータをバッファに格納している。この場合、多値データを展開せずにそのままバッファに格納する場合よりも記憶領域が多く必要となり、コストアップを招いてしまう。市場では、記録速度の高速化や、製造コストの抑制等が求められているため、展開処理速度に要する時間の短縮化や、回路構成の単純化等も図らなければならない。
【００１１】
本発明は、上記課題に鑑みてなされたものであり、多値データが一度も出現しない空ラスタの場合には、当該ラスタについての展開処理を省略するようにした技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明の一態様は、記録ヘッドを双方向に走査させて記録を行なう記録装置であって、多値データで構成されるラスタデータを格納するバッファと、多値データの値に対して複数のドットパターンが定められ、その値に対応してドットパターンを有するテーブルと、前記記録ヘッドの走査方向及び多値データの値に対応してドットパターンの初期値を格納する第１の情報格納手段と、１ラスタを構成する多値データが全てゼロである空ラスタを示す情報を格納する第２の情報格納手段と、多値データの値の評価と前記空ラスタであるか否かの判定とをラスタ毎に行なう判定手段と、前記判定手段の評価及び判定に基づいて、前記第１の情報格納手段へ前記初期値を格納する制御と、前記第２の情報格納手段へ前記空ラスタを示す情報を格納する制御と、前記バッファへ多値データを格納する制御とを行なうラスタ制御手段と、前記第１の情報格納手段に格納された初期値と前記テーブルとに基づいて、前記バッファから多値データを読み出し、当該読み出した多値データからドットパターンを生成する生成手段とを具備する。
【発明の効果】
【００１３】
本発明によれば、多値データが一度も出現しない空ラスタの場合には、当該ラスタについての展開処理を省略することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施の形態に係わるインクジェット記録装置１の外観構成の一例を示す斜視図。
【図２】図１に示す記録装置１の機能的な構成の一例を示す図。
【図３】図２に示すコントローラ６００の機能的な構成の一例を示す図。
【図４】図１に示す記録装置１における処理の流れの一例を示すフローチャート。
【図５】図４のＳ１０７に示すデータ展開処理の流れの一例を示すフローチャート。
【図６】図５のＳ２０７に示すマルチパス記録展開処理の流れの一例を示すフローチャート。
【図７】実施形態２に係わるコントローラ６００の機能的な構成の一例を示す図。
【図８】実施形態２に係わる記録装置１における処理の流れの一例を示すフローチャート。
【図９】実施形態２に係わるＳ１０７に示すデータ展開処理の流れの一例を示すフローチャート。
【図１０】コントローラ６００内にある受信バッファ１０２からラスタ制御部１０３に送られる受信データの概要の一例を示す図。
【図１１】展開パターンの一例を示す図。
【図１２】（Ａ）はラスタデータの一例を示す図、（Ｂ）は空ラスタ情報格納部１１４に格納される空ラスタの情報の一例を示す図、（ｃ）は多値データ格納部１０４に格納される多値データの一例を示す図。
【図１３】（Ａ）は多値データのパターンの割り当てを説明する図、（Ｂ）はラスタにおける多値データの左端と右端の情報の格納を説明する図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。以下の説明においては、インクジェット記録方式を用いた記録装置を例に挙げて説明する。記録装置としては、例えば、記録機能のみを有するシングルファンクションプリンタであってもよいし、また、例えば、記録機能、ＦＡＸ機能、スキャナ機能等の複数の機能を有するマルチファンクションプリンタであってもよい。また、例えば、カラーフィルタ、電子デバイス、光学デバイス、微小構造物等を所定の記録方式で製造するための製造装置であってもよい。
【００１６】
なお、以下の説明において、「記録」とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わない。更に人間が視覚で知覚し得るように顕在化したものであるか否かも問わず、広く記録媒体上に画像、模様、パターン、構造物等を形成する、又は媒体の加工を行なう場合も表す。
【００１７】
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、布、プラスチック・フィルム、金属板、ガラス、セラミックス、樹脂、木材、皮革等、インクを受容可能なものも表す。
【００１８】
更に、「インク」とは、上記「記録」の定義と同様広く解釈されるべきものである。従って、記録媒体上に付与されることによって、画像、模様、パターン等の形成又は記録媒体の加工、或いはインクの処理（例えば、記録媒体に付与されるインク中の色剤の凝固または不溶化）に供され得る液体を表す。
【００１９】
（実施形態１）
図１は、本発明の一実施の形態に係わるインクジェット記録装置１の外観構成の一例を示す斜視図である。
【００２０】
インクジェット記録装置（以下、記録装置と呼ぶ）１は、インクジェット方式に従ってインクを吐出して記録を行なうインクジェット記録ヘッド（以下、記録ヘッドと呼ぶ）３をキャリッジ２に搭載し、キャリッジ２を矢印Ａ方向に往復移動させて記録を行なう。記録装置１は、記録紙などの記録媒体Ｐを給紙機構５を介して給紙し、記録位置まで搬送する。そして、その記録位置において記録ヘッド３から記録媒体Ｐにインクを吐出することで記録を行なう。
【００２１】
記録装置１のキャリッジ２には、記録ヘッド３の他、例えば、インクカートリッジ６が搭載される。インクカートリッジ６は、記録ヘッド３に供給するインクを貯留する。なお、インクカートリッジ６は、キャリッジ２に対して着脱自在になっている。
【００２２】
図１に示す記録装置１は、カラー記録が可能である。そのため、キャリッジ２には、マゼンタ（Ｍ）、シアン（Ｃ）、イエロ（Ｙ）、ブラック（Ｋ）のインクをそれぞれ収容する４つのインクカートリッジが搭載されている。これら４つのインクカートリッジは、それぞれ独立して着脱できる。
【００２３】
本実施形態に係わる記録ヘッド３は、熱エネルギを利用してインクを吐出するインクジェット方式を採用している。そのため、記録ヘッド３は、電気熱変換体を備えている。電気熱変換体は、各吐出口のそれぞれに対応して設けられ、記録信号に応じて対応する電気熱変換体にパルス電圧を印加する。これにより、対応する吐出口からインクが吐出される。
【００２４】
図２は、図１に示す記録装置１の機能的な構成の一例を示す図である。
【００２５】
記録装置１は、多値データの各階調に対応して複数の展開テーブル（ドットマトリックス）を保持し、その中のいずれかを用いて多値データをビットマップデータに展開する。そして、このビットマップデータに基づいて階調記録を行なう。本実施形態に係わる記録装置１においては、同一階調のデータが現れる度にその階調の展開に用いる展開テーブルを変更する。これにより、同じ階調のデータであっても、展開パターンが異なってくる。
【００２６】
ここで、コントローラ６００は、ＭＰＵ６０１、ＲＯＭ６０２、特殊用途集積回路（ＡＳＩＣ）６０３、ＲＡＭ６０４、システムバス６０５、Ａ／Ｄ変換器６０６などを具備して構成される。ここで、ＲＯＭ６０２は、後述する制御シーケンスに対応したプログラム、所要のテーブル、その他の固定データを格納する。ＡＳＩＣ６０３は、キャリッジモータＭ１の制御、搬送モータＭ２の制御を行なう。また、ＡＳＩＣ６０３は、記録ヘッド３を制御するための制御信号の生成も行なう。ＲＡＭ６０４は、画像データの展開領域やプログラム実行のための作業用領域等として用いられる。システムバス６０５は、ＭＰＵ６０１、ＡＳＩＣ６０３、ＲＡＭ６０４を相互に接続してデータの授受を行なう。Ａ／Ｄ変換器６０６は、後述するセンサ群から入力されるアナログ信号をＡ／Ｄ変換し、変換後のデジタル信号をＭＰＵ６０１に供給する。
【００２７】
６２０は、スイッチ群であり、電源スイッチ６２１、プリントスイッチ６２２、回復スイッチ６２３などを具備して構成される。６３０は、装置状態を検出するためのセンサ群であり、位置センサ６３１、温度センサ６３２等から構成される。
【００２８】
ＡＳＩＣ６０３は、記録ヘッド３による記録走査に際して、ＲＡＭ６０４の記憶領域に直接アクセスしながら記録ヘッド３に対して記録素子（吐出用ヒータ）を駆動するためのドットデータ（２値データ）を転送する。
【００２９】
キャリッジモータＭ１は、キャリッジ２を矢印Ａ方向に往復走査させるための駆動源であり、キャリッジモータドライバ６４０は、キャリッジモータＭ１の駆動を制御する。搬送モータＭ２は、記録媒体Ｐを搬送するための駆動源であり、搬送モータドライバ６４２は、搬送モータＭ２の駆動を制御する。記録ヘッド制御部６４４は、コントローラ６００から入力される記録データに基づいて記録ヘッド３を制御する。記録ヘッド３は、記録媒体Ｐの搬送方向と直交する方向（以下、走査方向と呼ぶ）に走査される。記録ヘッド３による記録は、シングルパス記録（片方向記録、双方向記録いずれも可）、マルチパス記録（片方向記録、双方向記録いずれも可）のいずれかの記録モードにより行なわれる。
【００３０】
また、６１０は、画像データの供給源となるコンピュータ（或いは、画像読取用のリーダやデジタルカメラなど）であり、例えば、ホスト装置などと総称される。ホスト装置６１０と記録装置１との間では、インタフェース（以下、Ｉ／Ｆと呼ぶ）６１１を介して画像データ、コマンド、ステータス信号等の授受が行なわれる。この画像データは、例えば、ラスタ形式のデータ（以下、ラスタデータと呼ぶ）で入力される。
【００３１】
図３は、図２に示すコントローラ６００の機能的な構成の一例を示す図である。
【００３２】
コントローラ６００は、Ｉ／Ｆ６１１と、受信バッファ１０２と、ラスタ制御部１０３と、多値データ格納部１０４と、第２の格納部１０５と、第１の格納部１０６と、展開制御部（生成部）１０１とを具備して構成される。更に、コントローラ６００には、記録方向保持部１０８と、展開テーブル格納部１０９と、セレクタ１１０と、初期値格納部１１１とが具備される。
【００３３】
Ｉ／Ｆ６１１は、ホスト装置６１０からラスタ形式のデータ（すなわち、ラスタデータ）を受け取る。受信バッファ１０２は、Ｉ／Ｆ６１１がホスト装置６１０から受信したデータを受信データとして一時的に格納する。受信バッファ１０２に格納されたデータは、ラスタデータから構成される。受信バッファ１０２に格納されたラスタデータは、ラスタ毎にラスタ制御部１０３へ送られる。
【００３４】
ここで、ラスタデータは、図１０（Ａ）に示すように、量子化されたデータ（多値データ）２０１が記録ヘッドの走査方向（矢印Ａ）に並んでいる。各ラスタの先頭は記録媒体の左端に対応し、各ラスタの末尾は記録媒体の右端に対応している。ラスタ（２０２、２０３、２０４）は、記録素子の配列方向（矢印Ｂ）に対応している。
【００３５】
第１の格納部１０６は、ラスタ先頭（ラスタ左端）の識別番号（以下、パターン番号と呼ぶ）の初期値を格納する。例えば、往路記録時におけるパターン番号の初期値を格納する。このパターン番号の初期値は、各階調に対応して格納される。なお、パターン番号は、各展開テーブルに対応して設けられる番号である。ラスタ左端の初期値は、任意に設定できる。
【００３６】
第２の格納部１０５は、ラスタ終端（ラスタ右端）のパターン番号の初期値を格納する。例えば、復路記録時におけるパターン番号の初期値を格納する。このパターン番号の初期値は、各階調に対応して設けられる。
【００３７】
ラスタ制御部１０３は、受信バッファ１０２に格納されたラスタデータをラスタ毎に取得し、その取得したラスタをＨＶ（horizontal-vertical）変換し、その変換後のデータを多値データ格納部１０４に格納する。この格納に際して、ラスタ制御部１０３は、ラスタ内の各データ（多値データ）の階調を調べる（評価する）。ここで、ラスタ制御部１０３において、図１０（Ｂ）に示すラスタを調べる場合について説明する。なお、ここでは、ラスタが、レベル０１のデータが４個、レベル０２のデータが３個、レベル０３のデータが２個で構成されているものとする。ラスタ制御部１０３は、第１の格納部１０６に格納された各階調に対応した展開テーブルのパターン番号を取得し、同一階調の多値データが現れる度に当該取得したパターン番号を変化させる（カウントアップ又はカウントダウンする）。ここで、図１０（Ｂ）の場合、第１の格納部１０６から取得したレベル０３のパターン番号が１であれば、レベル０３が２度現れるので、２回カウントアップを行なう。その結果パターン番号は３となる。同様の処理を他のレベルに対しても行なう。１ラスタ分の展開テーブルの設定が済むと、ラスタ制御部１０３は、カウントアップ又はカウントダウンされた各階調に対応した展開テーブルのパターン番号を第２の格納部１０５に格納する。ラスタ制御部１０３は、後続のラスタに対しても、同様の処理を行なう。なお、補足すると、第２の格納部１０５は、複数ラスタ分のパターン番号を備えているので、ラスタ制御部１０３は、ラスタ位置（ラスタ番号）の管理も行なうことになる。以上のように、第２の格納部１０５には、ラスタ毎に復路方向の記録に使用する展開テーブルのパターン番号が予め保持されている。
【００３８】
記録方向保持部１０８は、展開部１０７により展開されるラスタ方向、すなわち、記録ヘッド３の走査方向を記録方向指定情報として保持する。この記録方向指定情報は、ラスタ毎に保持される。
【００３９】
展開テーブル格納部１０９は、展開テーブル（ドットマトリックス）を格納するマトリックス格納手段として機能する。展開テーブルは、図１１に示すように、各階調に対して複数保持される。ここで、図１１に示す展開テーブルには、レベル００〜レベル０３の展開テーブル（パターン）が用意され、各展開テーブルは２ドット×２ドットのドットデータ（２値データ）を備えている。ここでは、黒のドット（桝目）が記録をすべきドット（画素）を示し、白のドット（桝目）が記録を行ななわないドット（画素）を示している。この展開テーブルには、レベル００に対してパターン１が用意され、レベル０１〜レベル０３に対してパターン１〜パターン４が用意されている。パターン１〜パターン４には、それぞれパターン番号が割り当てられている。展開テーブルのサイズは、多値データを量子化するときの量子化数（階調数）に依存する。なお、本実施形態においては、同一階調の多値データの展開に用いる展開テーブルには、連番からなるパターン番号が割り当てられているものとする。
【００４０】
セレクタ１１０は、記録方向指定情報に基づいて記録方向を判断し、往路記録時には第１の格納部１０６のデータを選択し、復路記録時には第２の格納部１０５のデータを選択する。これにより、記録方向に応じたパターン番号が初期値格納部１１１に格納される。第１の格納部１０６をパターン番号の取得先として選択するか、第２の格納部１０５をパターン番号の取得先として選択するかの切り替えは、例えば、記録ヘッド３の記録幅に対応した記録が完了する度に行なわれる。なお、詳細については後述するが、双方向記録によるマルチパス記録時（具体的には、２パス目以降の記録時）には、上述した選択処理を行なわない。
【００４１】
展開制御部（生成部）１０１は、多値データからビットマップデータへの展開を行なう。展開制御部１０１には、テーブル取得部１１２と、モード判定部１１３と、展開部１０７とが具備される。
【００４２】
テーブル取得部１１２は、ラスタデータの展開に際して、展開テーブル格納部１０９から展開テーブルを取得する。この展開テーブルの取得は、ラスタ毎に行なわれる。具体的には、初期値格納部１１１に展開されたパターン番号を初期値として取得し、その後、同一階調の多値データが現れる度に当該取得したパターン番号をカウントアップ又はカウントダウンしつつ、パターン番号に対応する展開テーブルを順次取得する。
【００４３】
モード判定部１１３は、記録モードの判定を行なう。具体的には、シングルパス記録（片方向記録、双方向記録いずれも可）、マルチパス記録（片方向記録、双方向記録いずれも可）のいずれの記録モードにより記録を行なうかを判定する。なお、シングルパス記録モード又はマルチパス記録モードのいずれが設定されているかを判定した後、モード判定部１１３は更に、片方向記録であるか双方向記録であるかの判定も行なう。
【００４４】
ここで、シングルパス記録モード時に片方向記録を行なう場合には、キャリッジを往路方向又は復路方向のいずれか片方向（本実施形態においては、往路方向とする）に走査して記録が行なわれる。また、シングルパス記録モード時に双方向記録を行なう場合、キャリッジの主走査方向に対して往路方向及び復路方向の双方向で記録が行なわれる。なお、シングルパス記録モード時には、キャリッジの走査の都度、異なる領域に対して記録が行なわれる。これに対して、マルチパス記録モード時には、同一記録領域に対してキャリッジを往路方向又は復路方向の少なくともいずれかの方向に複数回走査して記録が行なわれる。
【００４５】
展開部１０７は、多値データ格納部１０４から１ラスタ毎にデータを取得し、当該取得したラスタをビットマップデータに展開する。この展開には、テーブル取得部１１２により取得された展開テーブルを用いて行なわれる。なお、展開部１０７により展開されたビットマップデータは、多値データよりもデータ量が大きくなる。展開部１０７により展開されたビットマップデータは、記録ヘッド制御部６４４に送られる。これにより、記録ヘッド制御部６４４は、このビットマップデータに基づいて記録ヘッド３を制御して記録を行なう。
【００４６】
次に、図４を用いて、図１に示す記録装置１における処理の流れの一例について説明する。なお、ここでは、ホスト装置６１０からデータを受信した後の処理について説明する。
【００４７】
記録装置１は、ホスト装置６１０からデータを受信すると、受信バッファ１０２において、その受信したデータを受信データとして格納する（Ｓ１０１）。ラスタ制御部１０３は、受信バッファ１０２からラスタデータを１ラスタ毎に取得し、その取得したラスタをＨＶ変換するとともに、ラスタ内の各データの階調を判断する（Ｓ１０２）。そして、各データの階調に対応して展開テーブルのパターン番号を更新する（Ｓ１０３）。このパターン番号の更新では、第１の格納部１０６から各階調に対応したパターン番号の初期値を取得し、その初期値に基づいて各データに対してパターン番号を設定していく。例えば、同一階調のデータが現れるごとにパターン番号をカウントアップし、該当するパターン番号を各データに設定する。
【００４８】
パターン番号の更新が終わると、ラスタ制御部１０３は、多値データのラスタを多値データ格納部１０４に格納する（Ｓ１０４）。このとき、ラスタ制御部１０３は、ラスタ（１ラスタ分）の処理完了時点でのパターン番号（終端値）を第２の格納部１０５に格納する。このＳ１０２〜Ｓ１０５までの処理は、全ラスタを処理するまで繰り返し行なわれる（Ｓ１０６でＮＯ）。その後、Ｓ１０５までの処理が終了すると、記録装置１は、展開処理を行なった後（Ｓ１０７）、この処理を終了する。
【００４９】
次に、図５を用いて、図４のＳ１０７に示すデータ展開処理の詳細な処理の流れの一例について説明する。
【００５０】
データ展開処理が開始すると、記録装置１は、まず、モード判定部１１３において、記録モードを判定する。具体的には、シングルパス記録モード、マルチパス記録モードのいずれであるかの判定を行なう。
【００５１】
判定の結果、マルチパス記録モードが設定されていれば（Ｓ２０１でＹＥＳ）、詳細については後述するが、マルチパス記録展開処理を行なう（Ｓ２０７）。そして、当該展開処理により得られたビットマップデータが、展開部１０７から記録ヘッド制御部６４４へと送られる（Ｓ２０８）。これにより、記録ヘッド制御部６４４は、このビットマップデータに基づいて記録ヘッド３を制御して記録を行なう。このＳ２０１〜Ｓ２０８までの処理は、全ラスタを処理するまで繰り返し行なわれる（Ｓ２０９でＮＯ）。
【００５２】
Ｓ２０１での判定の結果、マルチパス記録モードが設定されていなければ（Ｓ２０１でＮＯ）、記録装置１は、セレクタ１１０において、展開対象となるラスタの展開方向（記録方向）を判断する。この判断は、記録方向保持部１０８に保持された記録方向指定情報に基づいて行なわれる。ここで、往路方向へ記録を行なう場合（Ｓ２０２でＹＥＳ）、セレクタ１１０は、第１の格納部１０６のデータを選択する。これにより、第１の格納部１０６に格納されたパターン番号が初期値格納部１１１に格納される（Ｓ２０３）。また、復路方向へ記録を行なう場合（Ｓ２０２でＮＯ）、セレクタ１１０は、第２の格納部１０５のデータを選択する。これにより、第２の格納部１０５に格納されたパターン番号が初期値格納部１１１に格納される（Ｓ２０４）。
【００５３】
パターン番号の初期値が初期値格納部１１１に読み出されると、記録装置１は、展開部１０７において、記録方向保持部１０８に保持された記録方向指定情報に基づいてデータの展開方向を確認する。展開方向の確認後、記録装置１は、展開部１０７において、多値データ格納部１０４から多値データを読み出すとともに（Ｓ２０５）、テーブル取得部１１２において、初期値格納部１１１に格納されたパターン番号の初期値に基づいて展開テーブルを取得する。そして、記録装置１は、展開部１０７において、当該取得された展開テーブルと展開方向とに基づいて多値データをビットマップデータに展開する（Ｓ２０６）。例えば、順ラスタ方向（往路方向）の展開では、第１の格納部１０６からパターン番号の初期値を読み出し、同一階調のデータが現れるごとにそのパターン番号をカウントアップしていく。逆ラスタ方向（復路方向）の展開では、第２の格納部１０５からパターン番号の初期値を読み出し、同一階調のデータが現れるごとにそのパターン番号をカウントダウンしていく。
【００５４】
その後、展開されたビットマップデータは、展開部１０７から記録ヘッド制御部６４４へと送られる（Ｓ２０８）。これにより、記録ヘッド制御部６４４は、このビットマップデータに基づいて記録ヘッド３を制御して記録を行なう。このＳ２０１〜Ｓ２０８までの処理は、全ラスタを処理するまで繰り返し行なわれる（Ｓ２０９でＮＯ）。
【００５５】
なお、図５を用いて説明した処理の流れは、あくまで一例であり、この処理の流れに限定されず、適宜変更できる。例えば、記録ヘッド制御部６４４へのビットマップデータの送信は、全ラスタのビットマップデータの展開が終了した後に行なうようにしてもよい。これ以外にも、例えば、上述したいくつかの処理を並行して行なうようにしてもよい。
【００５６】
次に、図６を用いて、図５のＳ２０７に示すマルチパス記録展開処理の詳細な処理の流れの一例について説明する。
【００５７】
マルチパス記録展開処理が開始すると、記録装置１は、まず、１パス目であるか否かの判定を行なう。ここで、１パス目であれば（Ｓ３０１でＹＥＳ）、記録装置１は、Ｓ３０２以降の処理を実施する。ここで、Ｓ３０２〜Ｓ３０６の処理は、図５で説明したＳ２０２〜Ｓ２０６の処理と略同様となるため、ここでは詳細な説明については省略する。なお、Ｓ３０６の処理については、Ｓ２０６の処理と一部相違し、展開部１０７においては、多値データ格納部１０４から取得したデータを、同一記録領域に対する記録ヘッド３の走査回数に応じて間引いてビットマップデータに展開する。マルチパス記録時には、同一記録領域に対してキャリッジを複数回走査して記録を行なうためである。なお、間引き手法は、周知の技術を用いればよいため、ここでは詳細な説明については省略する。
【００５８】
ビットマップデータへの展開が済んだ後、マルチパス記録を片方向記録で実施する場合には（Ｓ３０７でＮＯ）、記録装置１は、そのままこの処理を終了する。一方、マルチパス記録を双方向記録で実施する場合には（Ｓ３０７でＹＥＳ）、記録装置１は、展開部１０７において、Ｓ３０６の展開処理終了時点でのパターン番号（終端値）を初期値格納部１１１に書き込んだ後（Ｓ３０８）、この処理を終了する。
【００５９】
また、Ｓ３０１の判定の結果、２パス目以降の展開処理であれば（Ｓ３０１でＮＯ）、記録装置１は、モード判定部１１３において、マルチパス記録を片方向記録で行なうか双方向記録で行なうかを判定する。判定の結果、マルチパス記録を片方向記録で実施する場合（Ｓ３０９でＮＯ）、記録装置１は、上述したＳ３０２以降の処理を実施する。一方、マルチパス記録を双方向記録で実施する場合（Ｓ３０９でＹＥＳ）、記録装置１は、記録方向保持部１０８に保持された記録方向指定情報に基づいてデータの展開方向を確認する。展開方向の確認後、記録装置１は、展開部１０７において、多値データ格納部１０４から１パス目と同一の多値データを読み出す（Ｓ３１０）。そして、記録装置１は、テーブル取得部１１２において、初期値格納部１１１に格納されたパターン番号の初期値に基づいて展開テーブルを取得する。なお、このとき初期値格納部１１１に格納されたパターン番号の初期値は、Ｓ３０８の処理で書き込んだパターン番号である。すなわち、双方向記録によるマルチパス記録を行なう場合、２パス目以降の展開時には、セレクタ１１０及び第２の格納部１０６等による初期値格納処理は行なわれない。
【００６０】
パターン番号の初期値を取得すると、記録装置１は、展開部１０７において、当該取得した展開テーブルと展開方向とに基づいて多値データをビットマップデータに展開する（Ｓ３１１）。なお、ここでは、上述したＳ３０６同様に、多値データ格納部１０４から取得したデータを、同一記録領域に対する記録ヘッド３の走査回数に応じて間引いてビットマップデータに展開する。その後、この処理は終了する。
【００６１】
以上説明したように実施形態１によれば、同一階調のデータが現れる度にその階調の展開に用いる展開テーブルを変更する構成において、片方向記録時、双方向記録時、マルチパス記録時における記録結果を整合させることができる。
【００６２】
更に、マルチパス記録時（双方向記録）には、２パス目以降、パターン番号の初期値格納処理が単純化される。すなわち、セレクタ１１０及び第２の格納部１０６等を用いて、パターン番号の初期値を初期値格納部１１１に書き込む必要がなくなる。そのため、マルチパス記録時の２パス目以降においては、パターン番号の初期値取得処理を省略できるので当該処理に要する時間を短縮できる。また更に、初期値取得処理を実現するための回路構成も単純化できる。
【００６３】
また、上述した構成によれば、入力データを多値データのまま多値データ格納部１０４に格納するため、バッファの容量を抑えることができる。更に、各階調に対応して複数の展開テーブルを保持し、そのいずれかを用いて展開を行なうため、スジやムラを抑制できる。
【００６４】
また、上述した通り、ラスタ先頭（ラスタ左端）の初期値を任意に設定することができるため、初期値を任意に設定するようにした場合には、複数ラスタ間で縦方向に同じデータが続く場合であっても、パターンの固定化を防ぐことができる。
【００６５】
（実施形態２）
次に、実施形態２について説明する。実施形態２に係わる記録装置１の構成は、実施形態１を説明した図１及び図２と同一となるので、その説明については省略する。ここでは、相違点を重点的に説明する。実施形態１との相違点としては、空ラスタを検出する点にある。
【００６６】
図１２（Ａ）は、用紙の位置に対応する５ラスタ分のデータを説明する図である。この場合、Ｎ＋１ラスタ、Ｎ＋３ラスタは空ラスタである。
【００６７】
ここで、図７を用いて、実施形態２に係わるコントローラ６００の機能的な構成の一例を示す図である。なお、実施形態１を説明した図３と同一の番号が付されているものは、同様の機能を果たすため、説明を省略するものもある。
【００６８】
ここで、実施形態２に係わるコントローラ６００には、空ラスタ情報格納部１１４と空ラスタ判定部１１５とが新たに設けられる。空ラスタ情報格納部１１４は、第２の情報格納手段として機能し、各ラスタの中で多値データの値全てが０（階調値０）となる空ラスタを示す情報（空ラスタ情報）を保持する。なお、第１の格納部１０６及び第２の格納部１０５は、第１の情報格納手段として機能する。
【００６９】
空ラスタ判定部１１５は、ラスタデータの展開に際して、当該処理対象となるラスタが空ラスタであるか否かを判定する。空ラスタ判定部１１５が行なった判定結果は、空ラスタ情報格納部１１４に格納される。図１２（Ｂ）は、空ラスタ情報格納部１１４に格納される情報を示す図である。この場合、空ラスタ情報格納部１１４には、図１２（Ａ）に対応する情報が格納されており、空ラスタを示す情報“１”が、Ｎ＋１ラスタ、Ｎ＋３ラスタに対応するアドレスに格納されている。
【００７０】
図１２（Ｃ）は、ラスタ制御部１０３が、ラスタデータを多値データ格納部１０４に格納した結果を示す図である。ラスタ制御部１０３は、実施形態１と同様に、多値データ格納部１０４への多値データの格納に際して、パターン番号の割り当てを行なう。図１３（Ａ）は、図１２（Ａ）に示す多値データのレベル０１についてパターン番号を割り当てた場合を示している。実施形態１で説明した図１１に示すように、レベル０１のパターンは、４つ用意されているので、ＮラスタからＮ＋４ラスタまで順に、パターン１からパターン４の割り当てが行なわれる。
【００７１】
図１３（Ｂ）は、図１３（Ａ）に示すレベル０１について保持されたドットパターンの初期値を示す図である。第１の格納部１０６と第２の格納部１０５とが、それぞれ走査方向に対応して初期値を保持する。このとき、一度もゼロ以外の多値データが出現しなかったラスタ（１ラスタ内における多値データの値（レベル）が全て００）であれば、そのラスタについてはパターン番号を割り当てない。従って、第１の格納部１０６及び第２の格納部１０５には、空ラスタのラスタの情報が保持されていない。なお、多値データ格納部１０４（バッファ内）における当該ラスタの格納場所を示すアドレスは、空ラスタ情報として空ラスタ情報格納部１１４に設定される。
【００７２】
次に、展開制御部１０１によるビットマップデータの生成を説明する。展開制御部１０１は、多値データ格納部１０４から多値データを読み出してビットマップデータを生成し、当該生成したビットマップデータを展開制御部１０１に備えられた転送バッファに格納する。
【００７３】
展開制御部１０１では、ラスタデータの展開に際して、空ラスタ判定部１１５において、空ラスタ情報格納部１１４を参照する。ここで、展開対象となるラスタが空ラスタであれば、第２の格納部１０５及び第１の格納部１０６のいずれからもパターン番号を読み込まない。更に、展開部１０７においては、そのラスタについては展開処理を行なわない。これにより、データバス帯域の低減等を図ることができる。
【００７４】
次に、図８を用いて、実施形態２に係わる記録装置１における処理の流れの一例について説明する。ここでは、ホスト装置６１０からデータを受信した後の処理について説明する。なお、実施形態２に係わる記録装置１における動作は、基本的には、実施形態１を説明した図４と同様の処理を行なうため、ここでは、相違する処理について重点的に説明する。
【００７５】
記録装置１は、ホスト装置６１０からデータを受信すると、受信バッファ１０２において、その受信したデータを受信データとして格納する（Ｓ１０１）。ラスタ制御部１０３は、受信バッファ１０２からラスタデータを１ラスタ毎に取得し、その取得したラスタをＨＶ変換するとともに、ラスタ内の各多値データの階調を判断する（Ｓ１０２）。
【００７６】
判断の結果、ラスタ内にゼロ以外の多値データが存在すれば（Ｓ４０１でＹＥＳ）、実施形態１同様に、各多値データの階調に対応して展開テーブルのパターン番号を更新した後（Ｓ１０３）、その多値データを多値データ格納部１０４に格納する（Ｓ１０４）。
【００７７】
一方、１ラスタ内の多値データが全て０であれば（Ｓ４０１でＮＯ）、ラスタ制御部１０３は、そのラスタが空ラスタである旨を示す情報（空ラスタ情報）を空ラスタ情報格納部１１４に格納する（Ｓ４０２）。その後、記録装置１は、実施形態１同様に、全ラスタを処理するまでＳ１０２〜Ｓ１０５（Ｓ４０１及びＳ４０２を含む）までの処理を繰り返し行なう（Ｓ１０６でＮＯ）。その後、Ｓ１０５までの処理が終了すると、記録装置１は、展開処理を行なった後（Ｓ１０７）、この処理を終了する。
【００７８】
次に、図９を用いて、実施形態２に係わる（図８に示す）Ｓ１０７に示すデータ展開処理の詳細な処理の流れの一例について説明する。なお、実施形態２に係わるデータ展開処理は、基本的には、実施形態１を説明した図５と同様の処理を行なうため、ここでは、相違する処理について重点的に説明する。
【００７９】
データ展開処理が開始すると、記録装置１は、まず、空ラスタ判定部１１５において、空ラスタ情報格納部１１４を参照する。ここで、処理対象となるラスタが空ラスタである旨設定されていれば（Ｓ５０１でＹＥＳ）、記録装置１は、そのラスタについては処理を行なわず、次のラスタの展開処理へと移る。その後、記録装置１は、実施形態１同様に、全ラスタを処理するまでＳ２０１〜Ｓ２０８（Ｓ５０１を含む）までの処理を繰り返し行なう（Ｓ２０９でＮＯ）。全ラスタを処理すると（Ｓ２０９でＹＥＳ）、この処理を終了する。なお、図９のＳ２０８に示すマルチパス記録展開処理は、実施形態１を説明した図６と同様の処理となるため、ここではその説明については省略する。
【００８０】
以上説明したように実施形態２によれば、多値データが一度も出現しない空ラスタがあれば、当該ラスタに関する展開テーブルのパターン番号をメモリに書き込まず、空ラスタ情報を設定する。そのため、記憶領域を削減できるとともに、空ラスタ時の展開処理を省略できる。これにより、データバス帯域の低減等を図ることができる。
【００８１】
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【図１】
2011051339.tif 000003
【図２】
2011051339.tif 000004
【図３】
2011051339.tif 000005
【図４】
2011051339.tif 000006
【図５】
2011051339.tif 000007
【図６】
2011051339.tif 000008
【図７】
2011051339.tif 000009
【図８】
2011051339.tif 000010
【図９】
2011051339.tif 000011
【図１０】
2011051339.tif 000012
【図１１】
2011051339.tif 000013
【図１２】
2011051339.tif 000014
【図１３】
2011051339.tif 000015