(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6614860
(24)【登録日】2019年11月15日
    
      
        (45)【発行日】2019年12月4日
      
    (54)【発明の名称】データ処理装置および記録データ生成方法
(51)【国際特許分類】
   H04N   1/405       20060101AFI20191125BHJP        
   B41J   2/01        20060101ALI20191125BHJP        
【FI】
   H04N1/405
   B41J2/01 401
【請求項の数】21
【全頁数】18
      (21)【出願番号】特願2015-167746(P2015-167746)
(22)【出願日】2015年8月27日
    
      (65)【公開番号】特開2016-208485(P2016-208485A)
(43)【公開日】2016年12月8日
    【審査請求日】2018年8月24日
      (31)【優先権主張番号】特願2014-178078(P2014-178078)
(32)【優先日】2014年9月2日
(33)【優先権主張国】JP
      (31)【優先権主張番号】特願2015-110573(P2015-110573)
(32)【優先日】2015年5月29日
(33)【優先権主張国】JP
    
      
        
          (73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
          (74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人  谷・阿部特許事務所
        
      
      
        (72)【発明者】
          【氏名】植木  秀行
              
            
        
      
    
      【審査官】
        野口  俊明
      
    (56)【参考文献】
      
        【文献】
          特開2014−031001(JP,A)      
        
        【文献】
          特開2001−054956(JP,A)      
        
        【文献】
          特開2005−059364(JP,A)      
        
      
    (58)【調査した分野】(Int.Cl.,DB名)
H04N      1/40−1/409      
B41J      2/01        
(57)【特許請求の範囲】
【請求項1】
  データ処理装置であって、
  記録媒体の所定サイズの領域に形成する画像を構成する複数の画素それぞれにおけるドットの配置を定めるための、複数のドット配置パターンの中から、前記複数の画素それぞれのドットの配置を決定するために使用するドット配置パターンを特定するためのコードを、前記複数の画素の配列に対応させて配列したコードテーブルを保持する保持手段と、
  前記コードテーブルの前記複数の画素の配列の横および縦方向の少なくとも一方の方向について、前記コードテーブル内において当該コードの配置をオフセットするための画素数を示すオフセット値であって2のべき乗である所定数通りの一次オフセット値から1つの一次オフセット値を決定する決定手段と、
  前記コードテーブルの前記複数の画素の配列の前記少なくとも一方の方向におけるサイズに相当する画素数が2のべき乗でなく、前記決定手段が前記所定数を前記2のべき乗でないサイズに相当する画素数で除したときの商および剰余が1以上となる一次オフセット値を決定した場合、前記一次オフセット値に替えて前記商がゼロとなる場合のオフセット値である二次オフセット値を決定し、少なくとも一方の方向について前記二次オフセット値でオフセットされたコードテーブルを生成するテーブル生成手段と、
  前記オフセットされたコードテーブルを多値データに適用することによって前記複数の画素それぞれのドット配置パターンを決定し、前記所定サイズの領域に形成する画像のドットデータを生成するドットデータ生成手段と、
を具えたことを特徴とするデータ処理装置。
【請求項2】
  前記テーブル生成手段は、前記多値データのレベルごとに、前記オフセットされたコードテーブルを生成することを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
  前記テーブル生成手段は、カウンタを備え、該カウンタが、前記横および縦方向の少なくとも一方の方向の位置が更新されるごとにインクリメントして前記2のべき乗でないサイズに相当する画素数でカウンタ値を初期値に戻し、前記商および剰余が1以上である前記一次オフセット値を、当該オフセット値の位置のときのカウンタ値に変換し前記二次オフセット値を決定することを特徴とする請求項1または2に記載のデータ処理装置。
【請求項4】
  前記テーブル生成手段は、カウンタを備え、該カウンタが、前記オフセット値の変換が行われる位置の次の位置でインクリメントして前記2のべき乗でないサイズに相当する画素数でカウンタ値を初期値に戻し、前記商および剰余が1以上である前記一次オフセット値を、当該位置のときのカウンタ値に変換し前記二次オフセット値を決定することを特徴とする請求項1または2に記載のデータ処理装置。
【請求項5】
  前記カウンタは、前記横および縦方向について共通のカウンタであることを特徴とする請求項4に記載のデータ処理装置。
【請求項6】
  前記所定サイズの領域に形成するドットの種類が第1の種類の場合、横および縦方向のうち、少なくとも一方の方向のサイズが2のべき乗である第1のコードテーブルを決定し、前記所定サイズの領域に形成するドットの種類が前記第1の種類と異なる第2の種類の場合、前記少なくとも一方の方向のサイズが2のべき乗でない第2のコードテーブルを決定するテーブル決定手段をさらに有し、前記テーブル生成手段は、前記一次オフセット値を用いて前記第1のコードテーブルのコードの配置をオフセットしてオフセットされた前記第1のコードテーブルを生成し、前記二次オフセット値を用いて前記第2のコードテーブルのコードの配置をオフセットしてオフセットされた前記第2のコードテーブルを生成することを特徴とする請求項1に記載のデータ処理装置。
【請求項7】
  前記第1の種類と前記第2の種類とは色が異なることを特徴とする請求項6に記載のデータ処理装置。
【請求項8】
  前記第1の種類はシアンであり、前記第2の種類はマゼンタであることを特徴とする請求項7に記載のデータ処理装置。
【請求項9】
  前記決定手段は前記所定数通りの前記一次オフセット値を均一的な確率で発生させることを特徴とする請求項1ないし8のいずれか1項に記載のデータ処理装置。
【請求項10】
  前記所定数を前記2のべき乗でないサイズに相当する画素数で除したとき商および剰余が1以上である前記一次オフセット値を、前記商がゼロとなる複数の前記二次オフセット値それぞれに均一的な確率で変換することを特徴とする請求項9に記載のデータ処理装置。
【請求項11】
  前記生成されたドットデータに基づいて記録媒体に記録を行う記録手段をさらに具えたことを特徴とする請求項1ないし10のいずれか1項に記載のデータ処理装置。
【請求項12】
  記録データ生成方法であって、
  記録媒体の所定サイズの領域に形成する画像を構成する複数の画素それぞれにおけるドットの配置を定めるための、複数のドット配置パターンの中から、前記複数の画素それぞれのドットの配置を決定するために使用するドット配置パターンを特定するためのコードを、前記複数の画素の配列に対応させて配列したコードテーブルを取得する取得工程と、
  前記コードテーブルの前記複数の画素の配列の横および縦方向の少なくとも一方の方向について、前記コードテーブル内において当該コードの配置をオフセットするための画素数を示すオフセット値であって2のべき乗である所定数通りの一次オフセット値から1つの一次オフセット値を決定する決定工程と、
  前記コードテーブルの前記複数の画素の配列の前記少なくとも一方の方向におけるサイズに相当する画素数が2のべき乗でなく、前記決定工程で、前記所定数を前記2のべき乗でないサイズに相当する画素数で除したときの商および剰余が1以上となる一次オフセット値を決定した場合、前記一次オフセット値に替えて前記商がゼロとなる場合のオフセット値である二次オフセット値を決定し、少なくとも一方の方向について前記二次オフセット値でオフセットされたコードテーブルを生成するテーブル生成工程と、
  前記オフセットされたコードテーブルを多値データに適用することによって前記複数の画素それぞれのドット配置パターンを決定し、前記所定サイズの領域に形成する画像のドットデータを生成するドットデータ生成工程と、
を有することを特徴とする記録データ生成方法。
【請求項13】
  前記テーブル生成工程では、前記多値データのレベルごとに、前記オフセットされたコードテーブルを生成することを特徴とする請求項12に記載の記録データ生成方法。
【請求項14】
  前記テーブル生成工程では、カウンタを備え、該カウンタが、前記横および縦方向の少なくとも一方の方向の位置が更新されるごとにインクリメントして前記2のべき乗でないサイズに相当する画素数でカウンタ値を初期値に戻し、前記商および剰余が1以上である前記一次オフセット値を、当該オフセット値の位置のときのカウンタ値に変換し前記二次オフセット値を決定することを特徴とする請求項12または13に記載の記録データ生成方法。
【請求項15】
  前記テーブル生成工程では、カウンタを備え、該カウンタが、前記オフセット値の変換が行われる位置の次の位置でインクリメントして前記2のべき乗でないサイズに相当する画素数でカウンタ値を初期値に戻し、前記商および剰余が1以上である前記一次オフセット値を、当該位置のときのカウンタ値に変換し前記二次オフセット値を決定することを特徴とする請求項12または13に記載の記録データ生成方法。
【請求項16】
  前記カウンタは、前記横および縦方向について共通のカウンタであることを特徴とする請求項15に記載の記録データ生成方法。
【請求項17】
  前記所定サイズの領域に形成するドットの種類が第1の種類の場合、横および縦方向のうち、少なくとも一方の方向のサイズが2のべき乗である第1のコードテーブルを決定し、前記所定サイズの領域に形成するドットの種類が前記第1の種類と異なる第2の種類の場合、前記少なくとも一方の方向のサイズが2のべき乗でない第2のコードテーブルを決定するテーブル決定工程をさらに有し、前記テーブル生成工程は、前記一次オフセット値を用いて前記第1のコードテーブルのコードの配置をオフセットしてオフセットされた前記第1のコードテーブルを生成し、前記二次オフセット値を用いて前記第2のコードテーブルのコードの配置をオフセットしてオフセットされた前記第2のコードテーブルを生成することを特徴とする請求項12に記載の記録データ生成方法。
【請求項18】
  前記第1の種類と前記第2の種類とは色が異なることを特徴とする請求項17に記載の記録データ生成方法。
【請求項19】
  前記第1の種類はシアンであり、前記第2の種類はマゼンタであることを特徴とする請求項18に記載の記録データ生成方法。
【請求項20】
  前記決定工程では、前記所定数通りの前記一次オフセット値を均一的な確率で発生させることを特徴とする請求項12ないし19のいずれか1項に記載の記録データ生成方法。
【請求項21】
  前記所定数を前記2のべき乗でないサイズに相当する画素数で除したとき商および剰余が1以上である前記一次オフセット値を、前記商がゼロとなる複数の前記二次オフセット値それぞれに均一的な確率で変換することを特徴とする請求項20に記載の記録データ生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
  本発明は、データ処理装置および記録データ生成方法に関し、詳しくは、画像データを2値化する際に用いる複数のドット配置パターンについて、それらの配置をオフセットして用いる技術に関するものである。
 
【背景技術】
【0002】
  ドット配置パターンは、例えば、1画素が縦、横600dpiの解像度の画像データに対して、縦方向を2倍の解像度の1200dpiとした1画素×2画素の各画素に、画像データの階調値に応じて“記録(ドット有り)”または“非記録(ドット無し)”を定めたものである。そして、2値データ生成では、画像データが示す階調値に対応したドット配置パターンを用いることにより、600dpiの画像データが示す階調値を、1画素×2画素の範囲の2値データ(ドット有り/ドット無し)に変換することができる。この2値化技術によれば、データ処理、転送などを低解像度のデータ形態で行うことができ、データ処理、転送の時間が長大なものとなることを防ぐことができ、また、記録装置におけるメモリ容量を小さなものとすることができる。
【0003】
  特許文献1号公報には、画像データが示す1つの階調値に対応した複数のドット配置パターンをX、Y方向に配置したマトリクスを単位とし、これを繰り返し用いて画像データに適用し2値化する構成において、記録画像におけるテクスチャを低減することが記載されている。詳しくは、上記マトリクスを繰り返し用いるごとに、ドット配置パターンの配置を定めるコードテーブルにおけるコードの配置に対してオフセット値を異ならせたオフセット処理を行うことにより、マトリクス内の複数のドット配置パターンの配置を変更するものである。これにより、1つの階調値のマトリクスを画素領域に繰り返し用いた場合の、記録画像における規則的なテクスチャを低減することが可能となる。
 
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2014−031001号公報
 
 
【発明の概要】
【発明が解決しようとする課題】
【0005】
  ところで、上述の繰り返し用いられる単位である、マトリクスないしコードテーブルのX,Y方向のサイズは、通常、4,8、16などの2のべき乗で定められている。ここで、例えばX方向のサイズが4で、オフセットを行う画素数が0から3までの値が等しい確率で選ばれると、上述したような規則的なテクスチャをなくすには好適となる。
【0006】
  これに対し、ドット配置パターンのマトリクスないしコードテーブルのX,Y方向のサイズを、2のべき乗でないサイズとすることが考慮できる。しかしながら、オフセット値の決定において、例えば、乱数を発生させるデータビットで表される数が2のべき乗である場合は、オフセット値をコードテーブルのサイズで割り切れないケースが生じる。このケースでは、コードテーブルに対応した複数のオフセット値の発生頻度が均一でなくなることが想定される。その結果、オフセット画素数が選択される頻度に偏りが生じ、これに起因した、記録画像における別のテクスチャの問題を生じる虞がある。
【0007】
  本発明の目的は、オフセット値がドット配置パターンのマトリクスないしコードテーブルのサイズで割り切れない場合でも、オフセット値の発生頻度が均一となることを可能とするデータ処理装置および記録データ生成方法を提供することを目的とする。
 
【課題を解決するための手段】
【0008】
  上記課題を解決するために本発明は、データ処理装置であって、記録媒体の所定サイズの領域に形成する画像を構成する複数の画素それぞれにおけるドットの配置を定めるための、複数のドット配置パターンの中から、前記複数の画素それぞれのドットの配置を決定するために使用するドット配置パターンを特定するためのコードを、前記複数の画素の配列に対応させて配列したコードテーブルを保持する保持手段と、前記コードテーブルの前記複数の画素の配列の横および縦方向の少なくとも一方の方向について、前記コードテーブル内において当該コードの配置をオフセットするための画素数を示すオフセット値であって2のべき乗である所定数通りの一次オフセット値から1つの一次オフセット値を決定する決定手段と、前記コードテーブルの前記複数の画素の配列の前記少なくとも一方の方向におけるサイズに相当する画素数が2のべき乗でなく、前記決定手段が前記所定数を前記2のべき乗でないサイズに相当する画素数で除したときの商および剰余が1以上となる一次オフセット値を決定した場合、前記一次オフセット値に替えて前記商がゼロとなる場合のオフセット値である二次オフセット値を決定し、少なくとも一方の方向について前記二次オフセット値でオフセットされたコードテーブルを生成するテーブル生成手段と、前記オフセットされたコードテーブルを多値データに適用することによって前記複数の画素それぞれのドット配置パターンを決定し、前記所定サイズの領域に形成する画像のドットデータを生成するドットデータ生成手段と、
を具えたことを特徴とする。
 
【発明の効果】
【0009】
  以上の構成によれば、オフセット値がドット配置パターンのマトリクスないしコードテーブルのサイズで割り切れない場合でも、オフセット値の発生頻度を均一とすることが可能となる。
 
 
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態に係るインクジェット記録装置の概略構成を示す斜視図である。
 
【
図2】
図1に示した記録装置で用いられる記録ヘッドを説明する図である。
 
【
図3】
図1に示した記録装置における記録ヘッドの主走査方向への移動に伴う記録動作を説明する図である。
 
【
図4】本発明の実施形態の記録装置における、主にデータ処理構成を示すブロック図である。
 
【
図5】
図4に示した2値データ展開部の詳細な構成を示すブロック図である。
 
【
図6】
図5に示す乱数発生部に対して、入、出力するデータの構造を示す図である。
 
【
図7】本発明の第1の実施形態に係る、発生したオフセット値の変換を説明する図である。
 
【
図8】(a)および(b)は、オフセット値を用いた、テーブルオフセット部305のオフセット動作を説明する図である。
 
【
図9】(a)〜(c)は、本発明の第1の実施形態にかかる、6×6サイズのコードテーブルを繰り返し用いるときの記録媒体に対するコードテーブルの配置の例を示す図である。
 
【
図10】本発明の一実施形態の2値化処理部による2値化処理を説明する図である。
 
【
図11】本実施形態の2値化処理部で用いる、レベルごとのドット配置パターンを規定したパターン展開マトリクスを示す図である。
 
【
図12】本発明の第2の実施形態に係るオフセット値発生部におけるX方向のオフセット値の変換を説明する図である。
 
【
図13】本発明の第3の実施形態に係るオフセット値生成部におけるX方向のオフセット値の変換を説明する図である。
 
 
【発明を実施するための形態】
【0011】
  以下、図面を参照して本発明の実施形態について詳細に説明する。
 
【0012】
  なお、以下の説明においては、インクジェット記録方式を用いた記録装置を例として説明を行うが、本発明の適用はこれに限定されるものではなく、例えば、色材にトナーを用いた電子写真方式の記録装置にも適用できることは、以下の説明からも明らかである。
 
【0013】
  (第1実施形態)
  
図1は、本発明の一実施形態に係るインクジェット記録装置の概略構成を示す斜視図である。用紙などの記録媒体Pは、搬送ローラ1501とこのローラに対して記録媒体を弾性的に付勢しつつ従動するピンチローラ1502との間に挟まれ、搬送ローラ1501の回転に応じて、プラテン1503に案内、支持されながら図中矢印A方向に搬送される。プラテン1503は、キャリッジ1508に搭載された、インクを吐出する記録ヘッドの吐出口が形成された面(吐出面)と対向する記録領域に設けられている。このプラテン1503は、記録媒体Pの裏面を支持することで、記録媒体Pの表面と吐出面との距離を一定ないし所定の距離に維持する。プラテン1503上に搬送されて記録が行われた記録媒体Pはその後、排出ローラ1505とこれに従動する回転体である拍車1506との間に挟まれてA方向に搬送され、排紙トレイ1507上に排出される。
 
【0014】
  キャリッジ1508は、記録ヘッド(不図示)および記録ヘッドに供給するインクを貯留したインクタンク1504を着脱可能に搭載している。本実施形態の記録装置は、イエロー(Y)、マゼンタ(M)、シアン(C)、ブラック(Bk)のインクそれぞれの記録ヘッドを備え、インクタンク1504は、これら4色のインクをそれぞれ貯留するインク収容室を有している。キャリッジ1508は、不図示のモータ等の駆動機構によって駆動されることにより、2本のガイドレール1509、1510に沿って往復移動することができる。このキャリッジの移動によって記録ヘッドを記録媒体Pに対して走査し、この走査の間に記録データに応じてインクを吐出することにより記録を行うことができる。このキャリッジ移動方向は記録媒体搬送方向(矢印A方向)と交差する方向であり、主走査方向または横方向と呼ばれる。これに対し、記録媒体搬送方向は副走査方向または縦方向と呼ばれている。そして、以上説明した記録ヘッドの走査と、記録媒体の搬送とを交互に繰り返すことにより、記録媒体Pの全体に記録が行われる。本発明を適用可能な記録装置の代表としてインクジェット記録装置が挙げられる。
 
【0015】
  図2は、
図1に示した記録装置で用いられる記録ヘッドを説明する図である。図において、X方向は上述した主走査方向であり、Y方向は同じく副走査方向である。インク色ごとの記録ヘッド101は、記録素子としてのノズル列(図中A列)102を備えている。各ノズル列102は、記録ヘッドが記録装置に装着されて用いられるときY方向に配列する複数のノズル103から構成されている。ノズル103に連通するインク流路には電気熱変換素子が設けられ、この電気熱変換素子が発生する熱によってインクが吐出される。なお、インクジェット記録方式の例として、電気熱変換素子を用いた構成を示したが、この構成に限られるものではなく、例えば、ピエゾ素子を用いた構成、静電素子を用いた構成、MEMS素子を用いた構成など、他の構成による記録ヘッドであってもよい。
 
【0016】
  図3(a)は、
図1に示した記録装置における記録ヘッドの主走査方向(X方向)への移動(走査)に伴う記録動作を説明する図であり、1つのインク色の記録ヘッドの記録動作を示している。
図3に示すように、記録ヘッドの1回の走査は、加速期間、定速期間および減速期間からなり、このうち、定速期間において移動する記録ヘッドの各ノズルから記録データに応じてインクを吐出して記録を行う。なお、記録制御によっては、加速期間や減速期間でもインクを吐出して記録を行う制御が行われることもある。記録ヘッドの走査における時刻t1では、記録ヘッドの各ノズルからインクが吐出されて記録媒体にインクのドットが形成される。総てのノズルからインク吐出が行われる記録データの場合、
図3(b)に示すように、ドット列P0が形成されて、時刻t1までに形成されたドット列とともに記録される画像の一部を構成する。なお、
図3(c)に示すドット列は、いわゆるベタ画像を記録する記録データの場合を示しており、記録する画像に応じて形成されるドットの配置が異なることはもちろんである。
 
【0017】
  図4は、以上説明した本実施形態の記録装置における、主にデータ処理構成を示すブロック図である。具体的には、本実施形態の記録装置における制御回路のうち、ASIC201およびSD−RAM205が有する構成を示すものである。
図4には、ASIC201以外に、エンコーダ信号202、ホスト装置としてのパーソナルコンピュータ(PC203)、および記録ヘッド101が示されている。
 
【0018】
  エンコーダ信号202は、記録ヘッド101の主走査方向の位置を示す信号であり、データ生成のタイミング信号や記録ヘッド101にデータを転送するためのタイミング信号の生成に用いられる。PC203は、記録装置のホスト装置であり、記録する画像のデータを、記録装置のASIC201のデータ受信部に対して転送し、このデータはSD−RAM205の受信バッファ207に格納される。ASIC201は、この格納された画像データに基づき、記録ヘッド101の動作を制御するデータ、すなわち、記録データやヒートパルス信号などを生成する。
 
【0019】
  ASIC201において、CPU204はASICの全体動作を統括、管理する。受信I/F206は、上記PC203から転送されるデータを受信するインターフェース部である。例えば、この受信I/F206は、USBやIEEE1394と言ったインターフェースのプロトコルに合わせて信号の取り込みを行い、ASICが扱いやすい形(通常、データを1バイト単位の形に整形している場合が多い)のデータを生成し、SD−RAM205の受信バッファ207に格納する。受信バッファ207に格納されたデータは、CPU204によってコマンド解析された後、受信バッファデータ展開部208を用いて入力画像バッファ209内にインク色ごとに展開される。
 
【0020】
  入力画像バッファ209に保存されたデータは、2値データ展開部211により記録制御の所定のタイミングで読みだされる。このとき、
図7以降で後述されるように、2値データ展開部211は、コードテーブルバッファ210に格納されているコードテーブルの読み出しを行い、入力画像データをコードテーブルによって2値データに展開後、高速メモリ212にデータを格納する。このとき、制御に必要な場合には2値データ展開部211はデータマスク制御、間引き制御などの記録モードに応じたデータ処理を行う。なお、コードテーブルバッファ210は、SD−RAM205に構成されるものであるが、コードテーブルサイズが小さい時などはASIC内部でコードテーブルを格納してもよい。ノズル列ごとの画像データが格納されているデータ格納用高速メモリ212は、駆動データ変換部213によって読み出しが行われ、ヘッド駆動部215が効率的に読出し可能な形態にデータを変換し、高速メモリ214に格納する。高速メモリ212および高速メモリ214に代えて、ワイドバスを用い多項制によって低速メモリによってデータを保持してもよい。あるいはデータの読み出しに十分に時間をとることができればASIC外部の外付けの記憶デバイスを用いてもよい。ヘッド駆動部215は、記録画像データ格納用高速メモリ214に格納されたデータを読み出し、ブロック駆動テーブル216に設定された駆動順に従い、記録ヘッド101へ記録画像データの転送や、ヒートパルス信号を送信するといった、記録ヘッドの駆動制御を行う。また、タイミング信号生成部217は、エンコーダ信号202からの信号に基づいて各種記録タイミングを生成する。なお、SD−RAM205の代わりに、D−RAMやS−RAMなど、RAMの定義の範疇に属するメモリを用いてもよい。
 
【0021】
  図5は、
図4に示した2値データ展開部211の詳細な構成を示すブロック図である。
図5において、位置情報取得部301は、記録媒体上の位置X、Yの情報を取得する。位置情報取得部301は、位置X、Yの初期値を入力して位置情報を更新する構成であるが、同一の位置からデータを展開する場合には初期値を固定値としてもよい。位置情報の更新は、例えば、主走査方向に記録中であれば、タイミング信号生成部217のデータ生成信号を受けて、主走査方向にデータ生成を行った回数をXの初期値に加算して位置情報を更新する。双方向記録時に主走査方向とは逆向きの方向に走査している場合は、Xの初期値に対して減算する。同様に、副走査方向にも、位置を変えて処理を行う場合にはYの初期値に加算を行う。位置情報取得部301は、内部に位置情報を保持していなくてもASIC内部のメモリ、またはASIC外部のSD−RAMに位置情報データが格納されているのであれば、それらの記憶デバイスから位置情報を取得する形態であってもよい。記録素子列データ保持部302は、乱数発生部303に入力するための記録素子列固有データを保持する。
 
【0022】
  乱数発生部303は、その詳細が
図6にて後述されるように、位置情報取得部301によって得られた位置情報と記録素子列データ保持部302が保持している記録素子列固有データを用いて乱数を発生する。ここで発生させる乱数は、位置情報X、Yの入力に対して一意に定まる値であることが望ましい。これにより、本装置のようにシリアル方式の記録装置である場合に、再現性のない2値化処理を行ってもマルチパス記録処理と併用することが可能となる。オフセット値生成部304は、その詳細が
図7にて後述されるように、乱数発生部303が発生した乱数を用いて、コードテーブルに適用するオフセット値を生成する。次に、テーブルオフセット部305は、オフセット値生成部304が生成したオフセット値を用いて、コードテーブルにおけるコードのオフセット処理を実行する。2値化処理部306は、上記テーブルオフセット部305によってオフセット処理が施されたコードテーブルを参照し、入力画像データの2値化処理を実行し、得られた2値データを高速メモリ212に格納する。
 
【0023】
  図6は、
図5に示す乱数発生部303に対して、入、出力するデータの構造を示す図である。
図6に示すように、乱数発生部303に対して、InputData401およびKeyData402の2つのデータが入力し、OutputData403を出力する。InputData401は、それぞれ32bitのX方向の位置データX501とY方向の位置データY502とを有している。すなわち、位置情報取得部301は、それぞれ32bitの位置データX、Yを出力し、乱数発生部303はこれを用いて、以下に示すように乱数を発生する。ここで、位置データX、Yを表すそれぞれ32bitは、例えばA4サイズの記録媒体における位置を一意に表すことができるビット幅である。これにより、発生する乱数に基づいて生成されるオフセット値は、記録媒体における位置に対して一意に定まることになる。すなわち、オフセット値が記録媒体の全体において相互に関連し、オフセット値それぞれが記録媒体の全体に分散したものとなる。この結果、所定のサイズのコードテーブルを繰り返し用いるのにも拘わらず、擬似的に記録媒体サイズのコードテーブルを用いることと同等となる。
 
【0024】
  KeyData402は、記録ヘッドのノズル列ごとに記録素子列固有データ503として、記録素子列データ保持部302に格納されているものである。ノズル列毎、すなわち、インク色に固有パラメータを持つことにより、オフセット値がインク色や多値データのレベルに対して一意に定まることになる。この結果、例えば、インク色ごとに、オフセット値を異ならせることにより、例えば、所望の画質を有した画像を記録することが可能となる。また、逆に、例えば、4色のインクのオフセット値を同じ値にして記録媒体に吐出されるインクの組合せを制御したい場合には、このインク色ごとの固有値を同じ値とすればよい。なお、上記説明では、ASIC内部にKeyData402を保持する例をあげたが、ノズル列固有の情報として記録ヘッドに不揮発性のメモリを持たせて保持することもでき、また、書き換え可能なパラメータとしてSD−RAMやASICにSRAMを保持し、格納することもできる。
 
【0025】
  乱数発生部303は、以上のInputData401とKeyData402を入力として、データのビット並びの変更と排他的論理和の計算を10回程度繰り返すことにより、64bitの乱数値データOutputData403を出力する。なお、乱数発生部303は、排他的論理和による演算回路に特定されるものではなく、四則演算などを用いた生成であってもよい。
 
【0026】
  次に、オフセット値生成部304の詳細について説明する。本実施形態のオフセット値生成部304は、
図9(a)に示す6×6画素のサイズのコードテーブルのオフセット値を生成する。すなわち、乱数発生部303で発生した乱数の下位3bitをX方向のオフセット値、上位3bitをY方向のオフセット値とする。ここで、本実施形態のように6×6サイズなどX方向、Y方向にそれぞれ2のべき乗でない場合は、オフセット値が均等に発生しない。これは、乱数発生部303で発生させた乱数の下位3bitをX方向のオフセット値にするが、6、7が発生した時にはコードテーブルのサイズを超えてしまうため、オフセット値6はオフセット値0と等しく、オフセット値7はオフセット値1と等しくなってしまうためである。すなわち、オフセット値0、1はオフセット値2から5と比べてコードテーブルの発生頻度が増えてしまう。そこで、本実施形態では6×6サイズのコードテーブルを使用した時に乱数発生部303から適用したオフセット値が6、7となる場合は、X方向の位置に応じてコードテーブルサイズ未満のオフセット値に変換し、変換後の値をオフセット値として使用する。
 
【0027】
  図7は、このX方向のオフセット値の変換を説明する図である。乱数発生部303は、
図6にて説明したように64bitの乱数を発生し、そのうち下位3bitがX方向の8通り(所定数通り)オフセット値として導出される。
図7に示すように、このオフセット値は、0〜7のいずれかとなる(一次オフセット値)。すなわち、このオフセット値は、乱数の下位3bitによって、均一的な確率で生成される。これに対し、オフセット値生成部304は、オフセット値6用位置カウンタ601およびオフセット値7用位置カウンタ602を備えている。それぞれのカウンタ601、602が、X方向の位置情報が更新されるごとに0から5までインクリメントを行い、5までカウントアップすると0に戻る。図に示す例では、オフセット値6用位置カウンタ601の初期値を0、オフセット値7用位置カウンタ602の初期値を1としている。そして、乱数発生部303から導出されたオフセット値が6の場合、オフセット値6用位置カウンタ601のそのときのカウンタ値をオフセット値とする。同様に、乱数発生部303から導出されたオフセット値が7の場合、オフセット値7用位置カウンタ602のその時のカウンタ値をオフセット値とする。このように、本実施形態では、乱数発生部303から導出されたオフセット値が6および7の場合は、それぞれのカウンタがカウントしている値をオフセット値とする変換を行う(二次オフセット値)。Y方向についても同様の構成でオフセット値の変換を行う。
 
【0028】
  これにより、
図9(a)に示す6×6画素の所定サイズのコードテーブルに対して、0〜5のオフセット値を生成し、その生成の頻度を均一にすることができる。このオフセット値の変換によれば、少なくともカウント値の0〜5の範囲で、更新される位置に応じた異なるオフセット値を発生することができる。すなわち、オフセット値生成部304は、コードテーブルにおける複数の画素の配列のXおよびY方向のサイズが2のべき乗でない方向について、コードテーブル内においてそのコードの配置をオフセットするためのオフセット値であって2のべき乗の周期のオフセット値を生成する。これとともに、2のべき乗の周期を2のべき乗でないサイズで除したときの商および剰余が1以上であるオフセット値を、商がゼロのオフセット値に変換する。換言すれば、オフセット値生成部304は、カウンタを備え、そのカウンタが、XおよびY方向のサイズが2のべき乗でない方向の位置が更新されるごとにインクリメントして2のべき乗でないサイズの値でカウンタ値を初期値に戻す。そして、2のべき乗の周期を2のべき乗でないサイズで除したときの商および剰余が1以上であるオフセット値を、そのオフセット値の位置のときのカウンタ値に変換する。
 
【0029】
  なお、上述した形態は一例であり、位置情報に基づいて変換する構成であれば別の形態であってもよい。また、X方向に沿ってカウントするカウンタを2組追加してY方向オフセット値6および7のカウンタ値とすることもできる。
 
【0030】
  また、本実施形態では6×6サイズのコードテーブルの例を挙げたが、本発明の適用は6×6サイズのコードテーブルに限定されるものではない。例えば、6×8のような2のべき乗と2のべき乗でない画素数のテーブルの組み合わせであってもよいし、6×7のようなコードテーブルであってもよい。さらに、このコードテーブルのサイズについて、例えば、ある色については6(X方向)×8(Y方向)サイズのコードテーブルを使用し、別の色については8×8サイズを使用する、といったようにインク色毎に異なるサイズのテーブルを保有し、それを使用してもよい。もちろん全色について同じでも構わないが、例えばコードテーブルのサイズは各色同一で位置毎のオフセット値も同じである場合、全色について同じコード配置のコードテーブルを使うこととなる。色数が多い場合には、多色の同じドットパターンが重なることも有り得る。このような場合に備え、コードテーブルのサイズを色によって異ならせておくと、パターンが切り替わることによるテーブル間の境目が同じとなることを抑制でき、テーブルの境目が記録画像において視認されにくくなる。また、テクスチャを視覚的に緩和することができる。この場合には、ある色については、コードテーブルのX、Y方向のサイズの一方または両方が2のべき乗となることがあるが、コードテーブルのサイズが色によって異なるので、上述したようにテーブルの境目が視認されにくくなる。このとき、例えば、シアン、マゼンタ、イエロー、ブラックの基本色のうち、例えばシアンは8×8、マゼンタを6×8として、使用頻度が高い色同士の周期を一致させないようにすると上述した効果をよりいっそう高めることができる。
 
【0031】
  また、このように、コードテーブルのX、Y方向のサイズの一方が2のべき乗で、他方が2のべき乗でない場合でも、以上説明した本実施形態の乱数発生部を用いることにより、両方のサイズに対して、共通の乱数発生部とすることができ、ハードウエアなどの構成を簡易にすることが可能となる。
 
【0032】
  さらに、量子化を行う際に用いる、例えばディザマトリクスのサイズは2のべき乗であることが一般的であり、これに対して、一部のインク色のコードテーブルを、同じ2のべき乗のサイズとすることができる。
 
【0033】
  そして、以上の変形例においてコートテーブルのサイズが2のべき乗でない場合については、上述した本発明の実施形態を適用することによって、オフセット値の発生頻度を均一にすることができる。
 
【0034】
  図8(a)および(b)は、以上のようにして得られたオフセット値を用いた、テーブルオフセット部305のオフセット動作を説明する図である。詳しくは、
図8(a)は、本発明を適用しない場合の6×6サイズのコードテーブルのX方向のオフセット動作を示しており、
図8(b)は、本実施形態の同じコードテーブルに対するX方向のオフセット動作を示している。
 
【0035】
  図8(a)に示すように、乱数発生部303から得られた値(下位3bit)をそのまま使用した場合、オフセット値6と、オフセット値7は、それぞれオフセット値0、オフセット値1と等しくなるため、オフセット値0、1のコードテーブルの発生頻度が増加する。これに対し、本発明の実施形態によれば、
図8(b)に示すように、乱数発生部303から得られたオフセット値6と、オフセット値7は位置情報に応じて、オフセット値0〜5のいずれかに変換されることから、記録媒体のサイズに上でオフセット値を均等な頻度で出力することができる。
 
【0036】
  図9(a)〜(c)は、本実施形態にかかる、6×6サイズのコードテーブルを繰り返し用いるときの記録媒体に対するコードテーブルの配置の例を示す図である。
 
【0037】
  図9(a)は、6×6サイズのコードテーブルを示している。同図において、「00」、「01」、・・・「10」、「11」、・・・は、コードを示しており、
図11にて後述されるレベルごとのドット配置パターンを特定するものである。本実施形態では、2値化の際に、まず256値の多値画像データが0〜3の4レベルに量子化される。そして、この4つのレベルそれぞれについて、記録媒体における位置に応じてコードテーブルを参照してコードによって特定される2×2画素のパターンの2値データを得る。コードは、レベルごとの4つの2×2画素パターンのいずれかを特定するものである。
図9(a)に示すコードテーブルは、
図9(b)に示す、記録媒体におけるX、Y方向の画素位置に応じたオフセット値を用いてコードのオフセットが行われる。すなわち、コードのオフセットは、記録媒体における画素配列のX、Y方向それぞれの画素を単位として行われる。
図9(b)は、本実施形態のオフセット値を示しており、上述したように、乱数発生部303から出力したオフセット値に6、7が出現した場合には、それらはオフセット値0〜5のいずれかに変換されたものである。
図9(c)は、
図9(a)に示すコードテーブルに対して、
図9(b)に示す、記録媒体上の位置ごとにオフセット値を適用した例を示している。
図9(c)に示すように、コードテーブルが小さくコードテーブルのサイズ(に相当する画素数)が2のべき乗でなくても規則性を低減させながら記録媒体上にコードテーブルを配置することができる。
 
【0038】
  以上のようにしてコードテーブルのオフセット値が定まると、次に、2値化処理部306によって2値化処理が行われる。
図10は、本実施形態の2値化処理部306による2値化処理を説明する図である。
図10では、図示および説明の簡略化のため、256値の画像データを量子化して得られる入力データはレベル数が0〜3の4値であるとし、X方向6画素、Y方向6画素の計36画素単位で処理を行うものとして説明する。コードテーブルにおけるコードは、
図9(a)に示した「00」、「01」などのコードでなく、
図11にて後述される、それぞれのコードに対応付けられたドット配置パターンの番号を示している。
 
【0039】
  図10において、入力データは入力画像バッファ209に格納されているデータである。コードテーブルは、テーブルオフセット部305によるオフセット処理が施されたテーブルデータである。なお、本実施形態では、入力データのレベルによらず同じコードテーブルデータを使用するが、コードテーブルは入力データのレベルごと、またはノズル列ごとに異なるものを用いてもよい。2値化処理部306は、入力データのレベル0〜3のそれぞれについてコードテーブルのコードであるパターン番号を参照し、多値変換処理を行う。すなわち、コードテーブルのパターン番号に対応するドット配置パターンを選択し、対応する位置の2値のドット配置データに変換する。
 
【0040】
  図11は、本実施形態の2値化処理部306で用いる、レベルごとのドット配置パターンを規定したパターン展開マトリクスを示す図である。パターン展開マトリクス701は、2値データ展開部211に格納されている。パターン展開マトリクス701は、
図11に示すように、入力データの4値のレベル0〜3それぞれについて4種類のドット配置パターンを規定してものである。ドット配置パターンは、入力データ(コードテーブル)の1画素に2×2画素のパターンが対応するものであり、この変換によって、X、Y方向それぞれ2倍の解像度となる。4種類のドット配置パターンのそれぞれは、レベルごとにパターン番号が対応付けられている。そして、それぞれのパターン番号はコードテーブルのコードに対応付けられている。これにより、コードテーブルのコードによってどの種類のドット配置パターンを用いるかを決定することができる。
 
【0041】
  図10を再び参照すると、コードテーブルのパターン番号を参照した、多値変換処理が行われると、入力データの1画素は、2×2画素のドットが配置されたパターンに変換される。例えば、入力データにおける画素Aは、レベル1の入力データを有している。この画素に対応するコードテーブルの画素Aは、オフセット後のコードとして「1」、すなわち、パターン展開マトリクス701の「パターン1」を用いることを示している。これにより、多値変換処理が行われると、ドット配置データの2×2画素の画素Aには、パターン展開マトリクス701における、レベル1の「パターン1」の2値データ(ドット)が配置される。
 
【0042】
  このように生成されたレベルごとのドット配置データは、合成されて、X、Y方向それぞれ2倍の解像度の2値デーとして高速メモリ212に格納される。
 
【0043】
  以上のように、本実施形態によれば、ドット配置パターンのコードテーブルのサイズが2のべき乗でないサイズである場合でも、オフセット値の発生頻度を均一とすることが可能となる。その結果、例えば、インク等の色材について、例えば、イエロー、マゼンタ、シアン、ブラックの4色の色材を用いる記録装置における記録画像において4の倍数の周期のテクスチャの発生を防止できる。また、量子化を行う際に用いる、例えばディザマトリクスのサイズとの関係で、コードテーブルの繰り返し周期とディザマトリクスの繰り返し周期との公倍数の周期でテクスチャの発生を防止することが可能となる。
 
【0044】
  また、比較的小さなコードテーブルを使用した場合であっても、X、Yそれぞれの方向の位置情報を使用した乱数発生部から導出した乱数値を使用してコードテーブルのオフセット値を決定することにより、コードテーブルのサイズによらず擬似的に記録媒体サイズのコードテーブルを用いることと同等となる。加えて、乱数でオフセット値を生成していることから、それぞれのオフセット値の記録媒体の全体に対する位置は、非周期で分散性が良好なものとなる。
 
【0045】
  (第2実施形態)
  
図12は、本発明の第2の実施形態に係るオフセット値生成部304におけるX方向のオフセット値の変換を説明する図であり。第1実施形態に係る
図7と同様の図である。オフセット値生成部304(
図5)は、オフセット値の変換において、コードテーブルサイズを超えたオフセット値ごとの発生回数を用いることもできる。
図12において、オフセット値6用データカウンタ603の初期値を0、オフセット値7用データカウンタ604の初期値を1としている。データカウンタ603は、乱数発生部303から導出したオフセット値6が発生するごとにそれをそのときのカウント値に変換するとともにそのカウント値をインクリメントする。そして、テーブルサイズに対応した値(5)までカウントアップすると0に戻る。オフセット値7用データカウンタ604も同様である。これにより、本実施形態でも、乱数発生部303から導出されたオフセット値が6および7の場合は、それぞれのカウンタがカウントしている値をオフセット値とする変換が行われる。Y方向についても同様の構成でオフセット値の変換を行う。これにより、
図9(a)に示す6×6画素のサイズのコードテーブルに対して、0〜5のオフセット値を生成し、その生成の頻度を均一にすることができる。このオフセット値の変換によれば、少なくとも乱数から得られるオフセット値6、7が発生する回数(6回)の範囲内で、発生する位置に応じた異なるオフセット値に変換することができる。すなわち、オフセット値生成部304は、カウンタを備え、そのカウンタが、オフセット値の変換が行われる位置の次の位置でインクリメントして2のべき乗でないサイズの値でカウンタ値を初期値に戻す。そして、2のべき乗の周期を2のべき乗でないサイズで除したときの商および剰余が1以上であるオフセット値を、その位置のときのカウンタ値に変換する。
 
【0046】
  なお、本実施形態の上述した構成によって双方向の記録を行うには、初期値を入力するための構成および最後にどのオフセット値を使用したかを保持しておくための構成が必要である。これは、双方向記録の場合、X方向に向かって走査をする場合とX方向と逆方向に向かって走査をするため、マルチパスと同様にオフセット値を再現することが難しいためである。
 
【0047】
  (第3実施形態)
  
図13は、本発明の第3の実施形態に係るオフセット値生成部304におけるX方向のオフセット値の変換を説明する図であり。第1実施形態に係る
図7と同様の図である。オフセット値生成部304(
図5)は、乱数発生部303から取得したオフセット値が6または7である場合にカウントアップする共通カウンタ605を備える。この共通カウンタ605は初期値を設定可能であり、図に示す例では初期値0を設定している。共通カウンタ605は、乱数発生部303から導出したオフセット値6が発生するごとにそれをそのときのカウント値に変換するとともにそのカウント値をインクリメントする。そして、テーブルサイズに対応した値(5)までカウントアップすると0に戻る。Y方向についても同様の構成でオフセット値の変換を行う。これにより、
図9(a)に示す6×6画素のサイズのコードテーブルに対して、0〜5のオフセット値を生成し、その生成の頻度を均一にすることができる。このオフセット値の変換によれば、少なくとも乱数から得られるオフセット値6、7が発生する回数の合計(6回)の範囲内で、発生する位置に応じた異なるオフセット値に変換することができる。
 
【0048】
  なお、本実施形態の上述した構成によって双方向の記録を行うには、初期値を入力するための構成および最後にどのオフセット値を使用したかを保持しておくための構成が必要である。これは、双方向記録の場合、X方向に向かって走査をする場合とX方向と逆方向に向かって走査をするため、マルチパスと同様にオフセット値を再現することが難しいためである。
 
【0049】
  (他の実施形態)
  以上説明した実施形態は、記録装置において、多値画像データから2値データに変換するために、2値データ展開部211の処理が行われるものとしたが、本発明の適用はこの形態に限られない。例えば、PCなどのホスト装置において上述した2値データ展開処理が行われてもよい。これら記録装置またはそのホスト装置など上記2値データ展開処理を実行する装置がデータ処理装置または記録データ生成装置を構成する。
 
 
【符号の説明】
【0050】
  201    ASIC
  204    CPU
  211    2値データ展開部
  301    位置情報取得部
  302    記録素子列データ保持部
  303    乱数発生部
  304    オフセット値生成部
  305    テーブルオフセット部
  306    2値化処理部
  601、603    オフセット値6用位置カウンタ
  602、604    オフセット値7用位置カウンタ
  605    共通カウンタ
  701    パターン展開マトリクス