(57)【特許請求の範囲】
【請求項１】
データ処理装置であって、
記録媒体の所定サイズの領域に形成する画像を構成する複数の画素それぞれにおけるドットの配置を定めるための、複数のドット配置パターンの中から、前記複数の画素それぞれのドットの配置を決定するために使用するドット配置パターンを特定するためのコードを、前記複数の画素の配列に対応させて配列したコードテーブルを保持する保持手段と、
前記コードテーブルの前記複数の画素の配列の横および縦方向の少なくとも一方の方向について、前記コードテーブル内において当該コードの配置をオフセットするための画素数を示すオフセット値であって２のべき乗である所定数通りの一次オフセット値から１つの一次オフセット値を決定する決定手段と、
前記コードテーブルの前記複数の画素の配列の前記少なくとも一方の方向におけるサイズに相当する画素数が２のべき乗でなく、前記決定手段が前記所定数を前記２のべき乗でないサイズに相当する画素数で除したときの商および剰余が１以上となる一次オフセット値を決定した場合、前記一次オフセット値に替えて前記商がゼロとなる場合のオフセット値である二次オフセット値を決定し、少なくとも一方の方向について前記二次オフセット値でオフセットされたコードテーブルを生成するテーブル生成手段と、
前記オフセットされたコードテーブルを多値データに適用することによって前記複数の画素それぞれのドット配置パターンを決定し、前記所定サイズの領域に形成する画像のドットデータを生成するドットデータ生成手段と、
を具えたことを特徴とするデータ処理装置。
【請求項２】
前記テーブル生成手段は、前記多値データのレベルごとに、前記オフセットされたコードテーブルを生成することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記テーブル生成手段は、カウンタを備え、該カウンタが、前記横および縦方向の少なくとも一方の方向の位置が更新されるごとにインクリメントして前記２のべき乗でないサイズに相当する画素数でカウンタ値を初期値に戻し、前記商および剰余が１以上である前記一次オフセット値を、当該オフセット値の位置のときのカウンタ値に変換し前記二次オフセット値を決定することを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記テーブル生成手段は、カウンタを備え、該カウンタが、前記オフセット値の変換が行われる位置の次の位置でインクリメントして前記２のべき乗でないサイズに相当する画素数でカウンタ値を初期値に戻し、前記商および剰余が１以上である前記一次オフセット値を、当該位置のときのカウンタ値に変換し前記二次オフセット値を決定することを特徴とする請求項１または２に記載のデータ処理装置。
【請求項５】
前記カウンタは、前記横および縦方向について共通のカウンタであることを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
前記所定サイズの領域に形成するドットの種類が第１の種類の場合、横および縦方向のうち、少なくとも一方の方向のサイズが２のべき乗である第１のコードテーブルを決定し、前記所定サイズの領域に形成するドットの種類が前記第１の種類と異なる第２の種類の場合、前記少なくとも一方の方向のサイズが２のべき乗でない第２のコードテーブルを決定するテーブル決定手段をさらに有し、前記テーブル生成手段は、前記一次オフセット値を用いて前記第１のコードテーブルのコードの配置をオフセットしてオフセットされた前記第１のコードテーブルを生成し、前記二次オフセット値を用いて前記第２のコードテーブルのコードの配置をオフセットしてオフセットされた前記第２のコードテーブルを生成することを特徴とする請求項１に記載のデータ処理装置。
【請求項７】
前記第１の種類と前記第２の種類とは色が異なることを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
前記第１の種類はシアンであり、前記第２の種類はマゼンタであることを特徴とする請求項７に記載のデータ処理装置。
【請求項９】
前記決定手段は前記所定数通りの前記一次オフセット値を均一的な確率で発生させることを特徴とする請求項１ないし８のいずれか１項に記載のデータ処理装置。
【請求項１０】
前記所定数を前記２のべき乗でないサイズに相当する画素数で除したとき商および剰余が１以上である前記一次オフセット値を、前記商がゼロとなる複数の前記二次オフセット値それぞれに均一的な確率で変換することを特徴とする請求項９に記載のデータ処理装置。
【請求項１１】
前記生成されたドットデータに基づいて記録媒体に記録を行う記録手段をさらに具えたことを特徴とする請求項１ないし１０のいずれか１項に記載のデータ処理装置。
【請求項１２】
記録データ生成方法であって、
記録媒体の所定サイズの領域に形成する画像を構成する複数の画素それぞれにおけるドットの配置を定めるための、複数のドット配置パターンの中から、前記複数の画素それぞれのドットの配置を決定するために使用するドット配置パターンを特定するためのコードを、前記複数の画素の配列に対応させて配列したコードテーブルを取得する取得工程と、
前記コードテーブルの前記複数の画素の配列の横および縦方向の少なくとも一方の方向について、前記コードテーブル内において当該コードの配置をオフセットするための画素数を示すオフセット値であって２のべき乗である所定数通りの一次オフセット値から１つの一次オフセット値を決定する決定工程と、
前記コードテーブルの前記複数の画素の配列の前記少なくとも一方の方向におけるサイズに相当する画素数が２のべき乗でなく、前記決定工程で、前記所定数を前記２のべき乗でないサイズに相当する画素数で除したときの商および剰余が１以上となる一次オフセット値を決定した場合、前記一次オフセット値に替えて前記商がゼロとなる場合のオフセット値である二次オフセット値を決定し、少なくとも一方の方向について前記二次オフセット値でオフセットされたコードテーブルを生成するテーブル生成工程と、
前記オフセットされたコードテーブルを多値データに適用することによって前記複数の画素それぞれのドット配置パターンを決定し、前記所定サイズの領域に形成する画像のドットデータを生成するドットデータ生成工程と、
を有することを特徴とする記録データ生成方法。
【請求項１３】
前記テーブル生成工程では、前記多値データのレベルごとに、前記オフセットされたコードテーブルを生成することを特徴とする請求項１２に記載の記録データ生成方法。
【請求項１４】
前記テーブル生成工程では、カウンタを備え、該カウンタが、前記横および縦方向の少なくとも一方の方向の位置が更新されるごとにインクリメントして前記２のべき乗でないサイズに相当する画素数でカウンタ値を初期値に戻し、前記商および剰余が１以上である前記一次オフセット値を、当該オフセット値の位置のときのカウンタ値に変換し前記二次オフセット値を決定することを特徴とする請求項１２または１３に記載の記録データ生成方法。
【請求項１５】
前記テーブル生成工程では、カウンタを備え、該カウンタが、前記オフセット値の変換が行われる位置の次の位置でインクリメントして前記２のべき乗でないサイズに相当する画素数でカウンタ値を初期値に戻し、前記商および剰余が１以上である前記一次オフセット値を、当該位置のときのカウンタ値に変換し前記二次オフセット値を決定することを特徴とする請求項１２または１３に記載の記録データ生成方法。
【請求項１６】
前記カウンタは、前記横および縦方向について共通のカウンタであることを特徴とする請求項１５に記載の記録データ生成方法。
【請求項１７】
前記所定サイズの領域に形成するドットの種類が第１の種類の場合、横および縦方向のうち、少なくとも一方の方向のサイズが２のべき乗である第１のコードテーブルを決定し、前記所定サイズの領域に形成するドットの種類が前記第１の種類と異なる第２の種類の場合、前記少なくとも一方の方向のサイズが２のべき乗でない第２のコードテーブルを決定するテーブル決定工程をさらに有し、前記テーブル生成工程は、前記一次オフセット値を用いて前記第１のコードテーブルのコードの配置をオフセットしてオフセットされた前記第１のコードテーブルを生成し、前記二次オフセット値を用いて前記第２のコードテーブルのコードの配置をオフセットしてオフセットされた前記第２のコードテーブルを生成することを特徴とする請求項１２に記載の記録データ生成方法。
【請求項１８】
前記第１の種類と前記第２の種類とは色が異なることを特徴とする請求項１７に記載の記録データ生成方法。
【請求項１９】
前記第１の種類はシアンであり、前記第２の種類はマゼンタであることを特徴とする請求項１８に記載の記録データ生成方法。
【請求項２０】
前記決定工程では、前記所定数通りの前記一次オフセット値を均一的な確率で発生させることを特徴とする請求項１２ないし１９のいずれか１項に記載の記録データ生成方法。
【請求項２１】
前記所定数を前記２のべき乗でないサイズに相当する画素数で除したとき商および剰余が１以上である前記一次オフセット値を、前記商がゼロとなる複数の前記二次オフセット値それぞれに均一的な確率で変換することを特徴とする請求項２０に記載の記録データ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置および記録データ生成方法に関し、詳しくは、画像データを２値化する際に用いる複数のドット配置パターンについて、それらの配置をオフセットして用いる技術に関するものである。
【背景技術】
【０００２】
ドット配置パターンは、例えば、１画素が縦、横６００ｄｐｉの解像度の画像データに対して、縦方向を２倍の解像度の１２００ｄｐｉとした１画素×２画素の各画素に、画像データの階調値に応じて“記録（ドット有り）”または“非記録（ドット無し）”を定めたものである。そして、２値データ生成では、画像データが示す階調値に対応したドット配置パターンを用いることにより、６００ｄｐｉの画像データが示す階調値を、１画素×２画素の範囲の２値データ（ドット有り／ドット無し）に変換することができる。この２値化技術によれば、データ処理、転送などを低解像度のデータ形態で行うことができ、データ処理、転送の時間が長大なものとなることを防ぐことができ、また、記録装置におけるメモリ容量を小さなものとすることができる。
【０００３】
特許文献１号公報には、画像データが示す１つの階調値に対応した複数のドット配置パターンをＸ、Ｙ方向に配置したマトリクスを単位とし、これを繰り返し用いて画像データに適用し２値化する構成において、記録画像におけるテクスチャを低減することが記載されている。詳しくは、上記マトリクスを繰り返し用いるごとに、ドット配置パターンの配置を定めるコードテーブルにおけるコードの配置に対してオフセット値を異ならせたオフセット処理を行うことにより、マトリクス内の複数のドット配置パターンの配置を変更するものである。これにより、１つの階調値のマトリクスを画素領域に繰り返し用いた場合の、記録画像における規則的なテクスチャを低減することが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−０３１００１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上述の繰り返し用いられる単位である、マトリクスないしコードテーブルのＸ，Ｙ方向のサイズは、通常、４，８、１６などの２のべき乗で定められている。ここで、例えばＸ方向のサイズが４で、オフセットを行う画素数が０から３までの値が等しい確率で選ばれると、上述したような規則的なテクスチャをなくすには好適となる。
【０００６】
これに対し、ドット配置パターンのマトリクスないしコードテーブルのＸ，Ｙ方向のサイズを、２のべき乗でないサイズとすることが考慮できる。しかしながら、オフセット値の決定において、例えば、乱数を発生させるデータビットで表される数が２のべき乗である場合は、オフセット値をコードテーブルのサイズで割り切れないケースが生じる。このケースでは、コードテーブルに対応した複数のオフセット値の発生頻度が均一でなくなることが想定される。その結果、オフセット画素数が選択される頻度に偏りが生じ、これに起因した、記録画像における別のテクスチャの問題を生じる虞がある。
【０００７】
本発明の目的は、オフセット値がドット配置パターンのマトリクスないしコードテーブルのサイズで割り切れない場合でも、オフセット値の発生頻度が均一となることを可能とするデータ処理装置および記録データ生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために本発明は、データ処理装置であって、記録媒体の所定サイズの領域に形成する画像を構成する複数の画素それぞれにおけるドットの配置を定めるための、複数のドット配置パターンの中から、前記複数の画素それぞれのドットの配置を決定するために使用するドット配置パターンを特定するためのコードを、前記複数の画素の配列に対応させて配列したコードテーブルを保持する保持手段と、前記コードテーブルの前記複数の画素の配列の横および縦方向の少なくとも一方の方向について、前記コードテーブル内において当該コードの配置をオフセットするための画素数を示すオフセット値であって２のべき乗である所定数通りの一次オフセット値から１つの一次オフセット値を決定する決定手段と、前記コードテーブルの前記複数の画素の配列の前記少なくとも一方の方向におけるサイズに相当する画素数が２のべき乗でなく、前記決定手段が前記所定数を前記２のべき乗でないサイズに相当する画素数で除したときの商および剰余が１以上となる一次オフセット値を決定した場合、前記一次オフセット値に替えて前記商がゼロとなる場合のオフセット値である二次オフセット値を決定し、少なくとも一方の方向について前記二次オフセット値でオフセットされたコードテーブルを生成するテーブル生成手段と、前記オフセットされたコードテーブルを多値データに適用することによって前記複数の画素それぞれのドット配置パターンを決定し、前記所定サイズの領域に形成する画像のドットデータを生成するドットデータ生成手段と、
を具えたことを特徴とする。
【発明の効果】
【０００９】
以上の構成によれば、オフセット値がドット配置パターンのマトリクスないしコードテーブルのサイズで割り切れない場合でも、オフセット値の発生頻度を均一とすることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るインクジェット記録装置の概略構成を示す斜視図である。
【図２】図１に示した記録装置で用いられる記録ヘッドを説明する図である。
【図３】図１に示した記録装置における記録ヘッドの主走査方向への移動に伴う記録動作を説明する図である。
【図４】本発明の実施形態の記録装置における、主にデータ処理構成を示すブロック図である。
【図５】図４に示した２値データ展開部の詳細な構成を示すブロック図である。
【図６】図５に示す乱数発生部に対して、入、出力するデータの構造を示す図である。
【図７】本発明の第１の実施形態に係る、発生したオフセット値の変換を説明する図である。
【図８】（ａ）および（ｂ）は、オフセット値を用いた、テーブルオフセット部３０５のオフセット動作を説明する図である。
【図９】（ａ）〜（ｃ）は、本発明の第１の実施形態にかかる、６×６サイズのコードテーブルを繰り返し用いるときの記録媒体に対するコードテーブルの配置の例を示す図である。
【図１０】本発明の一実施形態の２値化処理部による２値化処理を説明する図である。
【図１１】本実施形態の２値化処理部で用いる、レベルごとのドット配置パターンを規定したパターン展開マトリクスを示す図である。
【図１２】本発明の第２の実施形態に係るオフセット値発生部におけるＸ方向のオフセット値の変換を説明する図である。
【図１３】本発明の第３の実施形態に係るオフセット値生成部におけるＸ方向のオフセット値の変換を説明する図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【００１２】
なお、以下の説明においては、インクジェット記録方式を用いた記録装置を例として説明を行うが、本発明の適用はこれに限定されるものではなく、例えば、色材にトナーを用いた電子写真方式の記録装置にも適用できることは、以下の説明からも明らかである。
【００１３】
（第１実施形態）
図１は、本発明の一実施形態に係るインクジェット記録装置の概略構成を示す斜視図である。用紙などの記録媒体Ｐは、搬送ローラ１５０１とこのローラに対して記録媒体を弾性的に付勢しつつ従動するピンチローラ１５０２との間に挟まれ、搬送ローラ１５０１の回転に応じて、プラテン１５０３に案内、支持されながら図中矢印Ａ方向に搬送される。プラテン１５０３は、キャリッジ１５０８に搭載された、インクを吐出する記録ヘッドの吐出口が形成された面（吐出面）と対向する記録領域に設けられている。このプラテン１５０３は、記録媒体Ｐの裏面を支持することで、記録媒体Ｐの表面と吐出面との距離を一定ないし所定の距離に維持する。プラテン１５０３上に搬送されて記録が行われた記録媒体Ｐはその後、排出ローラ１５０５とこれに従動する回転体である拍車１５０６との間に挟まれてＡ方向に搬送され、排紙トレイ１５０７上に排出される。
【００１４】
キャリッジ１５０８は、記録ヘッド（不図示）および記録ヘッドに供給するインクを貯留したインクタンク１５０４を着脱可能に搭載している。本実施形態の記録装置は、イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｂｋ）のインクそれぞれの記録ヘッドを備え、インクタンク１５０４は、これら４色のインクをそれぞれ貯留するインク収容室を有している。キャリッジ１５０８は、不図示のモータ等の駆動機構によって駆動されることにより、２本のガイドレール１５０９、１５１０に沿って往復移動することができる。このキャリッジの移動によって記録ヘッドを記録媒体Ｐに対して走査し、この走査の間に記録データに応じてインクを吐出することにより記録を行うことができる。このキャリッジ移動方向は記録媒体搬送方向（矢印Ａ方向）と交差する方向であり、主走査方向または横方向と呼ばれる。これに対し、記録媒体搬送方向は副走査方向または縦方向と呼ばれている。そして、以上説明した記録ヘッドの走査と、記録媒体の搬送とを交互に繰り返すことにより、記録媒体Ｐの全体に記録が行われる。本発明を適用可能な記録装置の代表としてインクジェット記録装置が挙げられる。
【００１５】
図２は、図１に示した記録装置で用いられる記録ヘッドを説明する図である。図において、Ｘ方向は上述した主走査方向であり、Ｙ方向は同じく副走査方向である。インク色ごとの記録ヘッド１０１は、記録素子としてのノズル列（図中Ａ列）１０２を備えている。各ノズル列１０２は、記録ヘッドが記録装置に装着されて用いられるときＹ方向に配列する複数のノズル１０３から構成されている。ノズル１０３に連通するインク流路には電気熱変換素子が設けられ、この電気熱変換素子が発生する熱によってインクが吐出される。なお、インクジェット記録方式の例として、電気熱変換素子を用いた構成を示したが、この構成に限られるものではなく、例えば、ピエゾ素子を用いた構成、静電素子を用いた構成、ＭＥＭＳ素子を用いた構成など、他の構成による記録ヘッドであってもよい。
【００１６】
図３（ａ）は、図１に示した記録装置における記録ヘッドの主走査方向（Ｘ方向）への移動（走査）に伴う記録動作を説明する図であり、１つのインク色の記録ヘッドの記録動作を示している。図３に示すように、記録ヘッドの１回の走査は、加速期間、定速期間および減速期間からなり、このうち、定速期間において移動する記録ヘッドの各ノズルから記録データに応じてインクを吐出して記録を行う。なお、記録制御によっては、加速期間や減速期間でもインクを吐出して記録を行う制御が行われることもある。記録ヘッドの走査における時刻ｔ１では、記録ヘッドの各ノズルからインクが吐出されて記録媒体にインクのドットが形成される。総てのノズルからインク吐出が行われる記録データの場合、図３（ｂ）に示すように、ドット列Ｐ０が形成されて、時刻ｔ１までに形成されたドット列とともに記録される画像の一部を構成する。なお、図３（ｃ）に示すドット列は、いわゆるベタ画像を記録する記録データの場合を示しており、記録する画像に応じて形成されるドットの配置が異なることはもちろんである。
【００１７】
図４は、以上説明した本実施形態の記録装置における、主にデータ処理構成を示すブロック図である。具体的には、本実施形態の記録装置における制御回路のうち、ＡＳＩＣ２０１およびＳＤ−ＲＡＭ２０５が有する構成を示すものである。図４には、ＡＳＩＣ２０１以外に、エンコーダ信号２０２、ホスト装置としてのパーソナルコンピュータ（ＰＣ２０３）、および記録ヘッド１０１が示されている。
【００１８】
エンコーダ信号２０２は、記録ヘッド１０１の主走査方向の位置を示す信号であり、データ生成のタイミング信号や記録ヘッド１０１にデータを転送するためのタイミング信号の生成に用いられる。ＰＣ２０３は、記録装置のホスト装置であり、記録する画像のデータを、記録装置のＡＳＩＣ２０１のデータ受信部に対して転送し、このデータはＳＤ−ＲＡＭ２０５の受信バッファ２０７に格納される。ＡＳＩＣ２０１は、この格納された画像データに基づき、記録ヘッド１０１の動作を制御するデータ、すなわち、記録データやヒートパルス信号などを生成する。
【００１９】
ＡＳＩＣ２０１において、ＣＰＵ２０４はＡＳＩＣの全体動作を統括、管理する。受信Ｉ／Ｆ２０６は、上記ＰＣ２０３から転送されるデータを受信するインターフェース部である。例えば、この受信Ｉ／Ｆ２０６は、ＵＳＢやＩＥＥＥ１３９４と言ったインターフェースのプロトコルに合わせて信号の取り込みを行い、ＡＳＩＣが扱いやすい形（通常、データを１バイト単位の形に整形している場合が多い）のデータを生成し、ＳＤ−ＲＡＭ２０５の受信バッファ２０７に格納する。受信バッファ２０７に格納されたデータは、ＣＰＵ２０４によってコマンド解析された後、受信バッファデータ展開部２０８を用いて入力画像バッファ２０９内にインク色ごとに展開される。
【００２０】
入力画像バッファ２０９に保存されたデータは、２値データ展開部２１１により記録制御の所定のタイミングで読みだされる。このとき、図７以降で後述されるように、２値データ展開部２１１は、コードテーブルバッファ２１０に格納されているコードテーブルの読み出しを行い、入力画像データをコードテーブルによって２値データに展開後、高速メモリ２１２にデータを格納する。このとき、制御に必要な場合には２値データ展開部２１１はデータマスク制御、間引き制御などの記録モードに応じたデータ処理を行う。なお、コードテーブルバッファ２１０は、ＳＤ−ＲＡＭ２０５に構成されるものであるが、コードテーブルサイズが小さい時などはＡＳＩＣ内部でコードテーブルを格納してもよい。ノズル列ごとの画像データが格納されているデータ格納用高速メモリ２１２は、駆動データ変換部２１３によって読み出しが行われ、ヘッド駆動部２１５が効率的に読出し可能な形態にデータを変換し、高速メモリ２１４に格納する。高速メモリ２１２および高速メモリ２１４に代えて、ワイドバスを用い多項制によって低速メモリによってデータを保持してもよい。あるいはデータの読み出しに十分に時間をとることができればＡＳＩＣ外部の外付けの記憶デバイスを用いてもよい。ヘッド駆動部２１５は、記録画像データ格納用高速メモリ２１４に格納されたデータを読み出し、ブロック駆動テーブル２１６に設定された駆動順に従い、記録ヘッド１０１へ記録画像データの転送や、ヒートパルス信号を送信するといった、記録ヘッドの駆動制御を行う。また、タイミング信号生成部２１７は、エンコーダ信号２０２からの信号に基づいて各種記録タイミングを生成する。なお、ＳＤ−ＲＡＭ２０５の代わりに、Ｄ−ＲＡＭやＳ−ＲＡＭなど、ＲＡＭの定義の範疇に属するメモリを用いてもよい。
【００２１】
図５は、図４に示した２値データ展開部２１１の詳細な構成を示すブロック図である。図５において、位置情報取得部３０１は、記録媒体上の位置Ｘ、Ｙの情報を取得する。位置情報取得部３０１は、位置Ｘ、Ｙの初期値を入力して位置情報を更新する構成であるが、同一の位置からデータを展開する場合には初期値を固定値としてもよい。位置情報の更新は、例えば、主走査方向に記録中であれば、タイミング信号生成部２１７のデータ生成信号を受けて、主走査方向にデータ生成を行った回数をＸの初期値に加算して位置情報を更新する。双方向記録時に主走査方向とは逆向きの方向に走査している場合は、Ｘの初期値に対して減算する。同様に、副走査方向にも、位置を変えて処理を行う場合にはＹの初期値に加算を行う。位置情報取得部３０１は、内部に位置情報を保持していなくてもＡＳＩＣ内部のメモリ、またはＡＳＩＣ外部のＳＤ−ＲＡＭに位置情報データが格納されているのであれば、それらの記憶デバイスから位置情報を取得する形態であってもよい。記録素子列データ保持部３０２は、乱数発生部３０３に入力するための記録素子列固有データを保持する。
【００２２】
乱数発生部３０３は、その詳細が図６にて後述されるように、位置情報取得部３０１によって得られた位置情報と記録素子列データ保持部３０２が保持している記録素子列固有データを用いて乱数を発生する。ここで発生させる乱数は、位置情報Ｘ、Ｙの入力に対して一意に定まる値であることが望ましい。これにより、本装置のようにシリアル方式の記録装置である場合に、再現性のない２値化処理を行ってもマルチパス記録処理と併用することが可能となる。オフセット値生成部３０４は、その詳細が図７にて後述されるように、乱数発生部３０３が発生した乱数を用いて、コードテーブルに適用するオフセット値を生成する。次に、テーブルオフセット部３０５は、オフセット値生成部３０４が生成したオフセット値を用いて、コードテーブルにおけるコードのオフセット処理を実行する。２値化処理部３０６は、上記テーブルオフセット部３０５によってオフセット処理が施されたコードテーブルを参照し、入力画像データの２値化処理を実行し、得られた２値データを高速メモリ２１２に格納する。
【００２３】
図６は、図５に示す乱数発生部３０３に対して、入、出力するデータの構造を示す図である。図６に示すように、乱数発生部３０３に対して、ＩｎｐｕｔＤａｔａ４０１およびＫｅｙＤａｔａ４０２の２つのデータが入力し、ＯｕｔｐｕｔＤａｔａ４０３を出力する。ＩｎｐｕｔＤａｔａ４０１は、それぞれ３２ｂｉｔのＸ方向の位置データＸ５０１とＹ方向の位置データＹ５０２とを有している。すなわち、位置情報取得部３０１は、それぞれ３２ｂｉｔの位置データＸ、Ｙを出力し、乱数発生部３０３はこれを用いて、以下に示すように乱数を発生する。ここで、位置データＸ、Ｙを表すそれぞれ３２ｂｉｔは、例えばＡ４サイズの記録媒体における位置を一意に表すことができるビット幅である。これにより、発生する乱数に基づいて生成されるオフセット値は、記録媒体における位置に対して一意に定まることになる。すなわち、オフセット値が記録媒体の全体において相互に関連し、オフセット値それぞれが記録媒体の全体に分散したものとなる。この結果、所定のサイズのコードテーブルを繰り返し用いるのにも拘わらず、擬似的に記録媒体サイズのコードテーブルを用いることと同等となる。
【００２４】
ＫｅｙＤａｔａ４０２は、記録ヘッドのノズル列ごとに記録素子列固有データ５０３として、記録素子列データ保持部３０２に格納されているものである。ノズル列毎、すなわち、インク色に固有パラメータを持つことにより、オフセット値がインク色や多値データのレベルに対して一意に定まることになる。この結果、例えば、インク色ごとに、オフセット値を異ならせることにより、例えば、所望の画質を有した画像を記録することが可能となる。また、逆に、例えば、４色のインクのオフセット値を同じ値にして記録媒体に吐出されるインクの組合せを制御したい場合には、このインク色ごとの固有値を同じ値とすればよい。なお、上記説明では、ＡＳＩＣ内部にＫｅｙＤａｔａ４０２を保持する例をあげたが、ノズル列固有の情報として記録ヘッドに不揮発性のメモリを持たせて保持することもでき、また、書き換え可能なパラメータとしてＳＤ−ＲＡＭやＡＳＩＣにＳＲＡＭを保持し、格納することもできる。
【００２５】
乱数発生部３０３は、以上のＩｎｐｕｔＤａｔａ４０１とＫｅｙＤａｔａ４０２を入力として、データのビット並びの変更と排他的論理和の計算を１０回程度繰り返すことにより、６４ｂｉｔの乱数値データＯｕｔｐｕｔＤａｔａ４０３を出力する。なお、乱数発生部３０３は、排他的論理和による演算回路に特定されるものではなく、四則演算などを用いた生成であってもよい。
【００２６】
次に、オフセット値生成部３０４の詳細について説明する。本実施形態のオフセット値生成部３０４は、図９（ａ）に示す６×６画素のサイズのコードテーブルのオフセット値を生成する。すなわち、乱数発生部３０３で発生した乱数の下位３ｂｉｔをＸ方向のオフセット値、上位３ｂｉｔをＹ方向のオフセット値とする。ここで、本実施形態のように６×６サイズなどＸ方向、Ｙ方向にそれぞれ２のべき乗でない場合は、オフセット値が均等に発生しない。これは、乱数発生部３０３で発生させた乱数の下位３ｂｉｔをＸ方向のオフセット値にするが、６、７が発生した時にはコードテーブルのサイズを超えてしまうため、オフセット値６はオフセット値０と等しく、オフセット値７はオフセット値１と等しくなってしまうためである。すなわち、オフセット値０、１はオフセット値２から５と比べてコードテーブルの発生頻度が増えてしまう。そこで、本実施形態では６×６サイズのコードテーブルを使用した時に乱数発生部３０３から適用したオフセット値が６、７となる場合は、Ｘ方向の位置に応じてコードテーブルサイズ未満のオフセット値に変換し、変換後の値をオフセット値として使用する。
【００２７】
図７は、このＸ方向のオフセット値の変換を説明する図である。乱数発生部３０３は、図６にて説明したように６４ｂｉｔの乱数を発生し、そのうち下位３ｂｉｔがＸ方向の８通り（所定数通り）オフセット値として導出される。図７に示すように、このオフセット値は、０〜７のいずれかとなる（一次オフセット値）。すなわち、このオフセット値は、乱数の下位３ｂｉｔによって、均一的な確率で生成される。これに対し、オフセット値生成部３０４は、オフセット値６用位置カウンタ６０１およびオフセット値７用位置カウンタ６０２を備えている。それぞれのカウンタ６０１、６０２が、Ｘ方向の位置情報が更新されるごとに０から５までインクリメントを行い、５までカウントアップすると０に戻る。図に示す例では、オフセット値６用位置カウンタ６０１の初期値を０、オフセット値７用位置カウンタ６０２の初期値を１としている。そして、乱数発生部３０３から導出されたオフセット値が６の場合、オフセット値６用位置カウンタ６０１のそのときのカウンタ値をオフセット値とする。同様に、乱数発生部３０３から導出されたオフセット値が７の場合、オフセット値７用位置カウンタ６０２のその時のカウンタ値をオフセット値とする。このように、本実施形態では、乱数発生部３０３から導出されたオフセット値が６および７の場合は、それぞれのカウンタがカウントしている値をオフセット値とする変換を行う（二次オフセット値）。Ｙ方向についても同様の構成でオフセット値の変換を行う。
【００２８】
これにより、図９（ａ）に示す６×６画素の所定サイズのコードテーブルに対して、０〜５のオフセット値を生成し、その生成の頻度を均一にすることができる。このオフセット値の変換によれば、少なくともカウント値の０〜５の範囲で、更新される位置に応じた異なるオフセット値を発生することができる。すなわち、オフセット値生成部３０４は、コードテーブルにおける複数の画素の配列のＸおよびＹ方向のサイズが２のべき乗でない方向について、コードテーブル内においてそのコードの配置をオフセットするためのオフセット値であって２のべき乗の周期のオフセット値を生成する。これとともに、２のべき乗の周期を２のべき乗でないサイズで除したときの商および剰余が１以上であるオフセット値を、商がゼロのオフセット値に変換する。換言すれば、オフセット値生成部３０４は、カウンタを備え、そのカウンタが、ＸおよびＹ方向のサイズが２のべき乗でない方向の位置が更新されるごとにインクリメントして２のべき乗でないサイズの値でカウンタ値を初期値に戻す。そして、２のべき乗の周期を２のべき乗でないサイズで除したときの商および剰余が１以上であるオフセット値を、そのオフセット値の位置のときのカウンタ値に変換する。
【００２９】
なお、上述した形態は一例であり、位置情報に基づいて変換する構成であれば別の形態であってもよい。また、Ｘ方向に沿ってカウントするカウンタを２組追加してＹ方向オフセット値６および７のカウンタ値とすることもできる。
【００３０】
また、本実施形態では６×６サイズのコードテーブルの例を挙げたが、本発明の適用は６×６サイズのコードテーブルに限定されるものではない。例えば、６×８のような２のべき乗と２のべき乗でない画素数のテーブルの組み合わせであってもよいし、６×７のようなコードテーブルであってもよい。さらに、このコードテーブルのサイズについて、例えば、ある色については６（Ｘ方向）×８（Ｙ方向）サイズのコードテーブルを使用し、別の色については８×８サイズを使用する、といったようにインク色毎に異なるサイズのテーブルを保有し、それを使用してもよい。もちろん全色について同じでも構わないが、例えばコードテーブルのサイズは各色同一で位置毎のオフセット値も同じである場合、全色について同じコード配置のコードテーブルを使うこととなる。色数が多い場合には、多色の同じドットパターンが重なることも有り得る。このような場合に備え、コードテーブルのサイズを色によって異ならせておくと、パターンが切り替わることによるテーブル間の境目が同じとなることを抑制でき、テーブルの境目が記録画像において視認されにくくなる。また、テクスチャを視覚的に緩和することができる。この場合には、ある色については、コードテーブルのＸ、Ｙ方向のサイズの一方または両方が２のべき乗となることがあるが、コードテーブルのサイズが色によって異なるので、上述したようにテーブルの境目が視認されにくくなる。このとき、例えば、シアン、マゼンタ、イエロー、ブラックの基本色のうち、例えばシアンは８×８、マゼンタを６×８として、使用頻度が高い色同士の周期を一致させないようにすると上述した効果をよりいっそう高めることができる。
【００３１】
また、このように、コードテーブルのＸ、Ｙ方向のサイズの一方が２のべき乗で、他方が２のべき乗でない場合でも、以上説明した本実施形態の乱数発生部を用いることにより、両方のサイズに対して、共通の乱数発生部とすることができ、ハードウエアなどの構成を簡易にすることが可能となる。
【００３２】
さらに、量子化を行う際に用いる、例えばディザマトリクスのサイズは２のべき乗であることが一般的であり、これに対して、一部のインク色のコードテーブルを、同じ２のべき乗のサイズとすることができる。
【００３３】
そして、以上の変形例においてコートテーブルのサイズが２のべき乗でない場合については、上述した本発明の実施形態を適用することによって、オフセット値の発生頻度を均一にすることができる。
【００３４】
図８（ａ）および（ｂ）は、以上のようにして得られたオフセット値を用いた、テーブルオフセット部３０５のオフセット動作を説明する図である。詳しくは、図８（ａ）は、本発明を適用しない場合の６×６サイズのコードテーブルのＸ方向のオフセット動作を示しており、図８（ｂ）は、本実施形態の同じコードテーブルに対するＸ方向のオフセット動作を示している。
【００３５】
図８（ａ）に示すように、乱数発生部３０３から得られた値（下位３ｂｉｔ）をそのまま使用した場合、オフセット値６と、オフセット値７は、それぞれオフセット値０、オフセット値１と等しくなるため、オフセット値０、１のコードテーブルの発生頻度が増加する。これに対し、本発明の実施形態によれば、図８（ｂ）に示すように、乱数発生部３０３から得られたオフセット値６と、オフセット値７は位置情報に応じて、オフセット値０〜５のいずれかに変換されることから、記録媒体のサイズに上でオフセット値を均等な頻度で出力することができる。
【００３６】
図９（ａ）〜（ｃ）は、本実施形態にかかる、６×６サイズのコードテーブルを繰り返し用いるときの記録媒体に対するコードテーブルの配置の例を示す図である。
【００３７】
図９（ａ）は、６×６サイズのコードテーブルを示している。同図において、「００」、「０１」、・・・「１０」、「１１」、・・・は、コードを示しており、図１１にて後述されるレベルごとのドット配置パターンを特定するものである。本実施形態では、２値化の際に、まず２５６値の多値画像データが０〜３の４レベルに量子化される。そして、この４つのレベルそれぞれについて、記録媒体における位置に応じてコードテーブルを参照してコードによって特定される２×２画素のパターンの２値データを得る。コードは、レベルごとの４つの２×２画素パターンのいずれかを特定するものである。図９（ａ）に示すコードテーブルは、図９（ｂ）に示す、記録媒体におけるＸ、Ｙ方向の画素位置に応じたオフセット値を用いてコードのオフセットが行われる。すなわち、コードのオフセットは、記録媒体における画素配列のＸ、Ｙ方向それぞれの画素を単位として行われる。図９（ｂ）は、本実施形態のオフセット値を示しており、上述したように、乱数発生部３０３から出力したオフセット値に６、７が出現した場合には、それらはオフセット値０〜５のいずれかに変換されたものである。図９（ｃ）は、図９（ａ）に示すコードテーブルに対して、図９（ｂ）に示す、記録媒体上の位置ごとにオフセット値を適用した例を示している。図９（ｃ）に示すように、コードテーブルが小さくコードテーブルのサイズ（に相当する画素数）が２のべき乗でなくても規則性を低減させながら記録媒体上にコードテーブルを配置することができる。
【００３８】
以上のようにしてコードテーブルのオフセット値が定まると、次に、２値化処理部３０６によって２値化処理が行われる。図１０は、本実施形態の２値化処理部３０６による２値化処理を説明する図である。図１０では、図示および説明の簡略化のため、２５６値の画像データを量子化して得られる入力データはレベル数が０〜３の４値であるとし、Ｘ方向６画素、Ｙ方向６画素の計３６画素単位で処理を行うものとして説明する。コードテーブルにおけるコードは、図９（ａ）に示した「００」、「０１」などのコードでなく、図１１にて後述される、それぞれのコードに対応付けられたドット配置パターンの番号を示している。
【００３９】
図１０において、入力データは入力画像バッファ２０９に格納されているデータである。コードテーブルは、テーブルオフセット部３０５によるオフセット処理が施されたテーブルデータである。なお、本実施形態では、入力データのレベルによらず同じコードテーブルデータを使用するが、コードテーブルは入力データのレベルごと、またはノズル列ごとに異なるものを用いてもよい。２値化処理部３０６は、入力データのレベル０〜３のそれぞれについてコードテーブルのコードであるパターン番号を参照し、多値変換処理を行う。すなわち、コードテーブルのパターン番号に対応するドット配置パターンを選択し、対応する位置の２値のドット配置データに変換する。
【００４０】
図１１は、本実施形態の２値化処理部３０６で用いる、レベルごとのドット配置パターンを規定したパターン展開マトリクスを示す図である。パターン展開マトリクス７０１は、２値データ展開部２１１に格納されている。パターン展開マトリクス７０１は、図１１に示すように、入力データの４値のレベル０〜３それぞれについて４種類のドット配置パターンを規定してものである。ドット配置パターンは、入力データ（コードテーブル）の１画素に２×２画素のパターンが対応するものであり、この変換によって、Ｘ、Ｙ方向それぞれ２倍の解像度となる。４種類のドット配置パターンのそれぞれは、レベルごとにパターン番号が対応付けられている。そして、それぞれのパターン番号はコードテーブルのコードに対応付けられている。これにより、コードテーブルのコードによってどの種類のドット配置パターンを用いるかを決定することができる。
【００４１】
図１０を再び参照すると、コードテーブルのパターン番号を参照した、多値変換処理が行われると、入力データの１画素は、２×２画素のドットが配置されたパターンに変換される。例えば、入力データにおける画素Ａは、レベル１の入力データを有している。この画素に対応するコードテーブルの画素Ａは、オフセット後のコードとして「１」、すなわち、パターン展開マトリクス７０１の「パターン１」を用いることを示している。これにより、多値変換処理が行われると、ドット配置データの２×２画素の画素Ａには、パターン展開マトリクス７０１における、レベル１の「パターン１」の２値データ（ドット）が配置される。
【００４２】
このように生成されたレベルごとのドット配置データは、合成されて、Ｘ、Ｙ方向それぞれ２倍の解像度の２値デーとして高速メモリ２１２に格納される。
【００４３】
以上のように、本実施形態によれば、ドット配置パターンのコードテーブルのサイズが２のべき乗でないサイズである場合でも、オフセット値の発生頻度を均一とすることが可能となる。その結果、例えば、インク等の色材について、例えば、イエロー、マゼンタ、シアン、ブラックの４色の色材を用いる記録装置における記録画像において４の倍数の周期のテクスチャの発生を防止できる。また、量子化を行う際に用いる、例えばディザマトリクスのサイズとの関係で、コードテーブルの繰り返し周期とディザマトリクスの繰り返し周期との公倍数の周期でテクスチャの発生を防止することが可能となる。
【００４４】
また、比較的小さなコードテーブルを使用した場合であっても、Ｘ、Ｙそれぞれの方向の位置情報を使用した乱数発生部から導出した乱数値を使用してコードテーブルのオフセット値を決定することにより、コードテーブルのサイズによらず擬似的に記録媒体サイズのコードテーブルを用いることと同等となる。加えて、乱数でオフセット値を生成していることから、それぞれのオフセット値の記録媒体の全体に対する位置は、非周期で分散性が良好なものとなる。
【００４５】
（第２実施形態）
図１２は、本発明の第２の実施形態に係るオフセット値生成部３０４におけるＸ方向のオフセット値の変換を説明する図であり。第１実施形態に係る図７と同様の図である。オフセット値生成部３０４（図５）は、オフセット値の変換において、コードテーブルサイズを超えたオフセット値ごとの発生回数を用いることもできる。図１２において、オフセット値６用データカウンタ６０３の初期値を０、オフセット値７用データカウンタ６０４の初期値を１としている。データカウンタ６０３は、乱数発生部３０３から導出したオフセット値６が発生するごとにそれをそのときのカウント値に変換するとともにそのカウント値をインクリメントする。そして、テーブルサイズに対応した値（５）までカウントアップすると０に戻る。オフセット値７用データカウンタ６０４も同様である。これにより、本実施形態でも、乱数発生部３０３から導出されたオフセット値が６および７の場合は、それぞれのカウンタがカウントしている値をオフセット値とする変換が行われる。Ｙ方向についても同様の構成でオフセット値の変換を行う。これにより、図９（ａ）に示す６×６画素のサイズのコードテーブルに対して、０〜５のオフセット値を生成し、その生成の頻度を均一にすることができる。このオフセット値の変換によれば、少なくとも乱数から得られるオフセット値６、７が発生する回数（６回）の範囲内で、発生する位置に応じた異なるオフセット値に変換することができる。すなわち、オフセット値生成部３０４は、カウンタを備え、そのカウンタが、オフセット値の変換が行われる位置の次の位置でインクリメントして２のべき乗でないサイズの値でカウンタ値を初期値に戻す。そして、２のべき乗の周期を２のべき乗でないサイズで除したときの商および剰余が１以上であるオフセット値を、その位置のときのカウンタ値に変換する。
【００４６】
なお、本実施形態の上述した構成によって双方向の記録を行うには、初期値を入力するための構成および最後にどのオフセット値を使用したかを保持しておくための構成が必要である。これは、双方向記録の場合、Ｘ方向に向かって走査をする場合とＸ方向と逆方向に向かって走査をするため、マルチパスと同様にオフセット値を再現することが難しいためである。
【００４７】
（第３実施形態）
図１３は、本発明の第３の実施形態に係るオフセット値生成部３０４におけるＸ方向のオフセット値の変換を説明する図であり。第１実施形態に係る図７と同様の図である。オフセット値生成部３０４（図５）は、乱数発生部３０３から取得したオフセット値が６または７である場合にカウントアップする共通カウンタ６０５を備える。この共通カウンタ６０５は初期値を設定可能であり、図に示す例では初期値０を設定している。共通カウンタ６０５は、乱数発生部３０３から導出したオフセット値６が発生するごとにそれをそのときのカウント値に変換するとともにそのカウント値をインクリメントする。そして、テーブルサイズに対応した値（５）までカウントアップすると０に戻る。Ｙ方向についても同様の構成でオフセット値の変換を行う。これにより、図９（ａ）に示す６×６画素のサイズのコードテーブルに対して、０〜５のオフセット値を生成し、その生成の頻度を均一にすることができる。このオフセット値の変換によれば、少なくとも乱数から得られるオフセット値６、７が発生する回数の合計（６回）の範囲内で、発生する位置に応じた異なるオフセット値に変換することができる。
【００４８】
なお、本実施形態の上述した構成によって双方向の記録を行うには、初期値を入力するための構成および最後にどのオフセット値を使用したかを保持しておくための構成が必要である。これは、双方向記録の場合、Ｘ方向に向かって走査をする場合とＸ方向と逆方向に向かって走査をするため、マルチパスと同様にオフセット値を再現することが難しいためである。
【００４９】
（他の実施形態）
以上説明した実施形態は、記録装置において、多値画像データから２値データに変換するために、２値データ展開部２１１の処理が行われるものとしたが、本発明の適用はこの形態に限られない。例えば、ＰＣなどのホスト装置において上述した２値データ展開処理が行われてもよい。これら記録装置またはそのホスト装置など上記２値データ展開処理を実行する装置がデータ処理装置または記録データ生成装置を構成する。
【符号の説明】
【００５０】
２０１    ＡＳＩＣ
２０４    ＣＰＵ
２１１    ２値データ展開部
３０１    位置情報取得部
３０２    記録素子列データ保持部
３０３    乱数発生部
３０４    オフセット値生成部
３０５    テーブルオフセット部
３０６    ２値化処理部
６０１、６０３    オフセット値６用位置カウンタ
６０２、６０４    オフセット値７用位置カウンタ
６０５    共通カウンタ
７０１    パターン展開マトリクス
【図１】
0006614860.tif 000002
【図２】
0006614860.tif 000003
【図３】
0006614860.tif 000004
【図４】
0006614860.tif 000005
【図５】
0006614860.tif 000006
【図６】
0006614860.tif 000007
【図７】
0006614860.tif 000008
【図８】
0006614860.tif 000009
【図９】
0006614860.tif 000010
【図１０】
0006614860.tif 000011
【図１１】
0006614860.tif 000012
【図１２】
0006614860.tif 000013
【図１３】
0006614860.tif 000014