JP2006213005A - 印刷装置、印刷方法、プログラム、記録媒体、画像形成装置および画像形成方法 - Google Patents

印刷装置、印刷方法、プログラム、記録媒体、画像形成装置および画像形成方法 Download PDF

Info

Publication number
JP2006213005A
JP2006213005A JP2005030168A JP2005030168A JP2006213005A JP 2006213005 A JP2006213005 A JP 2006213005A JP 2005030168 A JP2005030168 A JP 2005030168A JP 2005030168 A JP2005030168 A JP 2005030168A JP 2006213005 A JP2006213005 A JP 2006213005A
Authority
JP
Japan
Prior art keywords
data
rasters
raster
stored
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005030168A
Other languages
English (en)
Inventor
Yukimitsu Fujimori
幸光 藤森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005030168A priority Critical patent/JP2006213005A/ja
Publication of JP2006213005A publication Critical patent/JP2006213005A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Fax Reproducing Arrangements (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Ink Jet (AREA)
  • Record Information Processing For Printing (AREA)
  • Color, Gradation (AREA)
  • Image Processing (AREA)
  • Facsimile Scanning Arrangements (AREA)

Abstract

【課題】 高画質化を図りつつ、記憶容量を低減する印刷装置を提供する。
【解決手段】 kドット間隔のN個のドット記録要素を有する記録ヘッドを備え、画像データから記録ヘッドの一の主走査に必要な分を取得し、画像データの階調値をドット形成有無データに変換し、変換の際の濃度の誤差情報を未処理画素に分配する演算を行ないつつ、各画素について順次処理を行なう。得られたドット形成有無データのうち、少なくともドット記録要素の位置に当るN個のラスタを含み、最大で(N−1)×k個のラスタのデータを記憶し、記憶されたデータのうち、ドット記録要素の位置に当るデータを、記録ヘッドの主走査の動きに合わせて出力し、一の主走査、副走査を行なう。各処理を繰り返すことで、先行する主走査で演算されたが、記憶されなかったドット形成有無データについては、再度演算を伴う変換を行なって記憶し、記憶されたデータにより画像の印刷を行なう。
【選択図】 図6

Description

本発明は、画像を印刷する際に実行する画像データの変換処理に関し、詳しくはハーフトーン処理の技術に関する。
従来から、画像の階調値に応じて適切な密度でドットを形成するハーフトーン処理として、種々の技術が知られている。例えば、一の画素の階調値を表現するのに複数のドットを使用し、その各ドットの有無のパターンによって多階調を表現する手法(これをドットパターン法と呼ぶ)や、一の画素に対するドットの有無を判断することで生じる原画像との階調値の誤差を、周辺の未処理画素に拡散し、画像全体として誤差を解消する手法(これを誤差拡散法と呼ぶ)などがある。特に誤差拡散法は、画像全体として誤差を解消するため、原画像の再現性に優れ、高画質化が図れるとして、広く画像処理装置としての印刷装置に用いられている。なお、下記特許文献1にはドットパターン法の技術が、下記特許文献2には誤差拡散法の技術が、それぞれ開示されている。
特開2002−240370号公報 特開平1−130945号公報
こうしたハーフトーン処理によって生成されたドット形成の有無のデータは、印刷装置の記録ヘッドの記録要素(例えば、ノズル)の配列順に再配置される。つまり、実際の画像形成では、隣接するラスタを異なるノズルからのインクの吐出で行なうインタレース処理を用いるため、原画像の主走査方向へ順次処理して生成したドット形成の有無のデータの並べ替えが必要となる。かかるインタレース処理では、記録ヘッドの一の走査による記録に必要なデータ以外のデータを、その記録の順番が回ってくるまで記憶し続けるため、大容量の記憶領域が必要となる。
近年の印刷の高画質化の要求に伴い、印刷対象の原画像と共に、印刷装置の記録解像度も高解像度化し、高画質の印刷に対応するため、比較的演算量の多い誤差拡散法などのハーフトーン処理が多用されている。したがって、インタレース処理において、より一層大容量の記憶領域が必要となっていた。
なお、こうした問題は、誤差拡散法のみならず、平均誤差最小法と呼ばれるハーフトーン処理を行なう場合にも同様であった。平均誤差最小法は、周辺の処理済みの画素で生じた誤差の重み付き平均値で、次の処理対象画素の階調値を修正するものである。つまり、上述の誤差拡散法と、平均誤差最小法は、誤差の拡散作業をいつ行うかが異なるだけであり、論理的には等価なものである。
本発明は、こうした問題を踏まえて、高画質化を図りつつ、記憶容量を低減する印刷装置を提供することを目的とする。
本発明の印刷装置は、上記課題を鑑み、以下の手法を採った。すなわち、記録ヘッドと所定用紙との相対的な移動によって画像の印刷を行なう印刷装置であって、前記記録ヘッドは、kドット間隔(kは2以上の整数)に配置したN個(Nは2以上の整数)のドット記録要素を有しており、前記印刷装置は、多階調の画像データから、前記記録ヘッドの一の主走査に必要な分の該画像データを取得する取得処理部と、前記取得した画像データの各画素の階調値をドットの形成有無を表すドット形成有無データに変換し、該階調変換により生じた濃度の誤差情報を未処理の画素に分配する演算を行ないつつ、該変換処理を該各画素について順次行なうハーフトーン処理部と、前記演算を伴う変換により得られたドット形成有無データのうち、少なくとも前記ドット記録要素の位置に該当するN個のラスタを含み、最大で(N−1)×k個のラスタについてのデータを記憶する記憶処理部と、前記記憶されたデータのうち、前記ドット記録要素の位置に該当するN個のラスタのデータを、前記記録ヘッドの主走査の動きに合わせて、前記記録ヘッドに出力し、一の主走査を実行する主走査処理部と、前記主走査方向に交差する副走査方向へ、前記所定用紙を送る副走査処理部とを備え、前記各処理部における処理を繰り返し実行することで、先行する主走査において、演算されたものの、記憶されなかった前記ドット形成有無データについは、再度前記演算を伴う変換を行ない、記憶し、該記憶されたデータに基づいて前記画像の印刷を行なうことを要旨としている。
また、この印刷装置に対応する印刷方法は、kドット間隔(kは2以上の整数)に配置したN個(Nは2以上の整数)のドット記録要素を有する記録ヘッドと、所定用紙との相対的な移動によって画像の印刷を行なう印刷方法であって、多階調の画像データから、前記記録ヘッドの一の主走査に必要な分の該画像データを取得し、前記取得した画像データの各画素の階調値をドットの形成有無を表すドット形成有無データに変換し、該階調変換により生じた濃度の誤差情報を未処理の画素に分配する演算を行ないつつ、該変換処理を該各画素について順次行ない、前記演算を伴う変換により得られたドット形成有無データのうち、少なくとも前記ドット記録要素の位置に該当するN個のラスタを含み、最大で(N−1)×k個のラスタについてのデータを記憶し、前記記憶されたデータのうち、前記ドット記録要素の位置に該当するN個のラスタのデータを、前記記録ヘッドの主走査の動きに合わせて、前記記録ヘッドに出力し、一の主走査を実行し、前記主走査方向に交差する副走査方向へ、前記所定用紙を送り、前記各処理を繰り返し実行することで、先行する主走査において、演算されたものの、記憶されなかった前記ドット形成有無データについては、再度前記演算を伴う変換を行ない、記憶し、該記憶されたデータに基づいて前記画像の印刷を行なうことを要旨としている。
本発明の印刷装置および印刷方法によれば、画像データの階調変換において演算したドット形成有無データのうち、少なくともドット記録要素の位置に該当するドット形成有無データを記憶し、一の主走査を行なう処理を繰り返す。つまり、ある段階の主走査で必要となったときに、再度、ドット記録要素の位置に該当するドット形成有無データを演算し、記憶する処理を行なう。したがって、演算した(N−1)×k+1個の全ラスタについて、ドット形成有無データを記憶しておく必要がなく、記憶領域を低減することができる。
上記の構成を有する印刷装置は、更に、前記ハーフトーン処理における前記誤差情報のうち、所定の位置のラスタに対応する当該誤差情報を記憶する誤差情報記憶処理部を備え、前記ハーフトーン処理部は、前記繰り返しの処理における前記ドット記録要素の位置に該当するN個のラスタのデータへの変換の際に、前記誤差情報記憶処理部から、処理順序で処理対象の該ラスタの直近に位置する前記誤差情報を読み出し、当該誤差情報を用いてハーフトーン処理を実行するものとしても良い。
かかる印刷装置によれば、ハーフトーン処理において所定の誤差情報を記憶し、この誤差情報を生成したラスタ以降のラスタの処理の際に、これを利用する。つまり、一の主走査のために取得した画像データの最初からではなく、途中から、ハーフトーン処理を実行することができる。したがって、上述の記憶領域の低減に加えて、処理速度を向上することができる。
上記の構成を有する印刷装置の誤差情報記憶処理部は、所定ラスタおきに、前記誤差情報を記憶するものとしても良い。
かかる印刷装置によれば、ハーフトーン処理において生成される誤差情報を、所定のラスタ間隔で記憶して行く。すなわち、記憶する誤差情報は、処理済みの全ラスタ分ではなく、その一部分となる。したがって、記憶する誤差情報の量を低減し、誤差情報の記憶領域を低減することができ、印刷装置全体の記憶領域を抑えることができる。
上記の構成を有する印刷装置の誤差情報記憶処理部は、kドット±1のラスタ間隔で、前記誤差情報を記憶するものとしても良い。
かかる印刷装置によれば、kドット±1のラスタ間隔で誤差情報を記憶することで、ドット記録要素の位置に対して、誤差情報がバランス良く分散する。つまり、主走査毎に必要なデータを得るためのラスタの演算量が略均一となる。したがって、主走査毎の処理時間を略均一にすることができる。
上記の構成を有する印刷装置は、更に、前記ハーフトーン処理において階調変換の判断に用いる乱数を発生させる乱数発生処理部を備え、前記誤差情報記憶処理部は、前記記憶する誤差情報の生成に用いた前記乱数を記憶し、前記ハーフトーン処理部は、前記誤差情報記憶処理部から、前記直近の誤差情報と共に対応する前記乱数を読み出し、同一画素に対して同じ乱数を用いて処理を行なうものとしても良い。
かかる印刷装置によれば、同一画素における繰り返しの処理において、同じ乱数を使用できる。したがって、どの段階からハーフトーン処理を実行しても、同じ演算結果を得ることができる。特に、ハーフトーン処理でドット形成有無の判断時に用いる閾値に乱数を用いる場合に有効となる。
本発明は、コンピュータプログラムおよびコンピュータプログラムを記録した媒体としても実装することができる。記録媒体としては、フレキシブルディスク,CD−ROM,DVD−ROM/RAM,光磁気ディスク,メモリカード,ハードディスクなどコンピュータが読み取り可能な種々の媒体を利用することができる。
また、本発明の画像形成装置は、複数の画素を一方向に並べたラスタを単位とし、複数の該ラスタの集合として画像を形成する画像形成装置であって、前記複数のラスタのうち、kラスタ間隔(kは2以上の整数)に配置されたN本(Nは2以上の整数)のラスタを単位として画像を形成する一部ラスタ画像形成部と、多階調の画像データから、前記N本のラスタの画像の形成に必要な分の該画像データを取得する取得処理部と、前記取得した画像データの各画素の階調値を低い階調値のデータに変換し、該階調変換により生じた濃度の誤差情報を未処理の画素に分配する演算を行ないつつ、該変換処理を該各画素について順次行なう階調変換処理部と、前記演算を伴う変換結果のうち、少なくとも前記N本のラスタを含み、最大で(N−1)×k本のラスタについての前記変換済みのデータを記憶する記憶処理部と、前記記憶された変換済みのデータのうち、前記N本のラスタに該当するデータを前記一部ラスタ画像形成部に出力する出力処理部とを備え、前記各処理部における処理を繰り返し、前記先行するN本のラスタにおける画像の形成において演算されたものの前記変換済みのデータが記憶されなかったラスタについては、再度、前記演算を伴う変換を行ない、前記複数のラスタの集合としての画像を形成することを要旨としている。
さらに、この画像形成装置に対応する画像形成方法は、複数の画素を一方向に並べたラスタを単位とし、複数の該ラスタの集合として画像を形成する画像形成方法であって、前記複数のラスタのうち、kラスタ間隔(kは2以上の整数)に配置されたN本(Nは2以上の整数)のラスタを単位として画像を形成し、多階調の画像データから、前記N本のラスタの画像の形成に必要な分の該画像データを取得し、前記取得した画像データの各画素の階調値を低い階調値のデータに変換し、該階調変換により生じた濃度の誤差情報を未処理の画素に分配する演算を行ないつつ、該変換処理を該各画素について順次行ない、前記演算を伴う変換結果のうち、少なくとも前記N本のラスタを含み、最大で(N−1)×k本のラスタについての前記変換済みのデータを記憶し、前記記憶された変換済みのデータのうち、前記N本のラスタに該当するデータを前記一部ラスタ画像形成部に出力し、前記各処理を繰り返し実行することで、前記先行するN本のラスタにおける画像の形成において演算されたものの前記変換済みのデータが記憶されなかったラスタについては、再度、前記演算を伴う変換を行ない、前記複数のラスタの集合としての画像を形成することを要旨としている。
本発明の画像形成装置および画像形成方法によれば、最大でも(N−1)×k本のラスタについての階調変換済みのデータを記憶し、演算した全てのデータを記憶する必要はない。つまり、画像の形成にN本のラスタが必要となったときに、再度、演算して階調変換済みのデータを記憶する。したがって、変換済みのデータを記憶する記憶領域を低減することができる。
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
A.プリンタの構成:
A−1.制御回路の機能モジュールの構成:
B.変換処理:
B−1.具体例:
C.変形例:
A.プリンタの構成:
図1は、本発明の印刷装置としてのプリンタの内部の概略構成を示したブロック図である。本実施例のプリンタ10は、デジタルスチルカメラ等により撮影した画像を記憶したメモリカードMCを装着するカードスロット23を備えており、メモリカードMC内から読み出したRGB画像データを、各色ドットの形成有無により形成された印刷データに変換する。すなわち、いわゆるプリンタドライバを内蔵したプリンタである。こうしたプリンタとして、本実施例では、C(シアン)、M(マゼンタ)、Y(イエロ)、K(ブラック)の4色のドットにより、カラー画像の印刷が可能なインクジェット方式のプリンタを使用している。勿論、他のインクジェット方式のプリンタ(例えばバブルジェット(登録商標)),熱転写方式のプリンタ、昇華型プリンタ、レーザプリンタ、あるいは複合機など種々の方式のプリンタを用いるものとしても良い。
図示するように、プリンタ10は、用紙Pにインクを吐出する印字ヘッドユニット25を搭載したキャリッジ30、キャリッジ30を主走査方向に駆動するキャリッジモータ32、用紙Pを搬送する紙送りモータ33、印字ヘッドユニット25,キャリッジモータ32や紙送りモータ33の動作を制御するCPU70,ROM71,RAM72等を備えた制御回路40、制御回路40と電気的に接続するインターフェイス50などから構成されている。
印字ヘッドユニット25は、K,C,M,Yの各色に対応して、インク吐出用ヘッド44,45,46,47を備えている。キャリッジ30の底部には、各インク吐出用ヘッドへインクを導く導入管(図示せず)が形成されており、キャリッジ30に装着したインク用カートリッジ内のインクがインク吐出用ヘッドに、それぞれ導かれている。各カートリッジからインク吐出用ヘッドに導かれたインクは、図示しないピエゾ素子の電圧を調整することで用紙Pへ吐出される。なお、プリンタ10で使用する4色のインクは、Kインク用の黒インク用カートリッジ29aと、C,M,Y用のカラーインク用カートリッジ29bと分けて収納されている。
図2は、インク吐出用ヘッド44ないし47におけるノズルNzの配列を示す説明図である。図示するように、インク吐出用ヘッドの底面には、各色毎のインクを吐出する4組のノズルアレイが形成されている。1組のノズルアレイ当たり48個のノズルNzが一定のドットピッチkで千鳥状に配置されている。図中の主走査方向とは、キャリッジ30の移動方向、つまり、用紙Pの幅方向を表わし、副走査方向とは、用紙Pの送り方向を表わしている。こうしたノズルアレイを有するキャリッジ30が主走査方向にドットを吐出しながら移動すると、一の主走査で、最大、kドットピッチ間隔の48行のドット列が形成されることとなる。以下、本明細書では、画像の各行をラスタと呼ぶ。すなわち、入力画像のラスタであれば、主走査方向の画素列を表わし、印刷画像のラスタであれば、主走査方向に形成されるドット列を表わす。また、後述するように、プリンタ10は、入力した画像を印刷するために複数の処理を実行し、所定のデータ変換を行なう。したがって、一の行を構成するデータ列の内容は処理毎に異なっているが、特に区別することなくラスタと呼ぶこととする。
なお、本実施例のインク吐出用ヘッド44ないし47によって形成するインクドットの大きさは1種類であるが、インク滴の吐出前に印加する負の電圧波形の制御によりノズルにおけるインク液面、いわゆるメニスカスを制御して、吐出するインク滴の大きさを調整し、大ドット、中ドット、小ドットの3種類のインクドットを形成するものであっても良い。また、C,M,Y,Kの4色に、LC(ライトシアン)、LM(ライトマゼンタ)、DY(ダークイエロ)の3色を加えた計7色に対応したインク吐出用ヘッドを備えるものであっても良い。
こうした印字ヘッドユニット25を搭載したキャリッジ30の主走査は、キャリッジモータ32により実行されている。キャリッジモータ32は、駆動ベルト36を回転させることで、プラテン28軸と並行な摺動軸34に設置されたキャリッジ30を往復運動させている。往復運動するキャリッジ30の原点位置は、位置検出センサ39により検出され、その検出値は制御回路40に出力されている。制御回路40は、この検出値等に基づいて、キャリッジモータ32の制御を行なう。
用紙Pの送りは、紙送りモータ33により実行されている。紙送りモータ33は、プラテン28を回転させることで、プリンタ10に供給された用紙Pを搬送する。つまり、用紙Pは、プラテン28の回転角度に応じて所定量だけ副走査方向へ送られる。制御回路40は、種々の印刷条件に応じて、この紙送りの所定量、つまり副走査を、紙送りモータ33の回転角度を制御することで行なっている。
印字ヘッドユニット25,キャリッジモータ32や紙送りモータ33の動作を制御する制御回路40は、プリンタドライバとしての機能を果たす。つまり、入力した画像データの有する多階調値を、ドットの形成の有無で表現される2値の階調値に変換する。本実施例では、こうした変換処理を実行するソフトウェアプログラムを制御回路40内のROM71に記憶している。
制御回路40のCPU70は、所定のタイミングでROM71内から変換処理のプログラムを呼び出し、これをRAM72上に展開して入力した画像データの処理を行なう。変換処理によってドット形成有無のデータを生成した制御回路40は、各種アクチュエータを動作して印刷を実行する。具体的には、ドット形成有無のデータに基づく指令を印字ヘッドユニット25に出力すると共に、キャリッジモータ32を駆動してキャリッジ30を主走査方向に移動させ、また紙送りモータ33を駆動して用紙Pを副走査方向に移動させる。制御回路40は、こうした主走査および副走査を繰り返しながら、適切なタイミングでインク滴を吐出させ、微小なドットを用紙P上に形成してカラー印刷を行なっている。
さらに、制御回路40は、上述のCPU70,ROM71,RAM72に加え、変換処理の結果であるドット形成有無のデータを記憶するメモリ66を備えている。このメモリ66にはRAMを使用している。本実施例ではメモリ66を、RAM72とは別個に設ける構成としているが、RAM72内の記憶領域を分けて使用することで、メモリ66としてRAM72を利用するものとしても良い。こうした各部品は、互いにバスで接続され、相互にデータのやり取りが行なわれる。なお、制御回路40における機能モジュールの構成については、後述する。
こうして画像の印刷を行なうプリンタ10では、インターフェイス50を介して、印刷対象の画像の選択や、印刷条件の設定が行なわれる。プリンタ10は、インターフェイス50として、上述のカードスロット23に加えて、操作パネル21,液晶ディスプレイ22,USBポート24等を備え、ユーザや外部機器とのデータのやり取りを行なっている。液晶ディスプレイ22には、カードスロット23に装着されたメモリカードMC内の画像や、印刷条件などが表示される。ユーザは、操作パネル21上に設けた複数の操作ボタンを利用して、印刷を所望する画像の選択、印刷条件の設定操作を行なう。こうした画像の選択、印刷条件の設定などの処理プログラムは、制御回路40内のROM71に予め記憶されている。
USBポート24は、パーソナルコンピュータや外部記憶装置等と接続可能な端子であり、例えば、外部記憶装置としてのハードディスクが接続される。こうすることで、ハードディスクに記憶された画像を取り込むことができる。
なお、カードスロット23は、SDメモリカード(登録商標)、コンパクトフラッシュ(登録商標)、スマートメディア(登録商標)などに対応したスロットを備えており、複数種類の記憶媒体を取扱うことができる。プリンタ10は、こうした種々の媒体等から印刷対象の画像を取り込み、プリンタ10側で設定した印刷条件に従って、コンピュータを介すことなく印刷することができる。
A−1.制御回路の機能モジュールの構成:
図3は、制御回路40の機能モジュールの概略構成を示す説明図である。図示するように、制御回路40は、印刷対象の画像を入力する入力モジュール61、入力した画像のデータをプリンタ10で使用する色のデータに変換する色変換モジュール62、色変換されたデータをドットの形成有無のデータに変換するハーフトーンモジュール63、ドットを形成する順序を考慮してドット形成有無のデータを出力するインタレースモジュール64などの処理モジュールを備えている。
入力モジュール61は、カードスロット23や操作パネル21等と電気的に接続し、印刷対象となるRGB画像データをメモリカードMC内から入力する。入力モジュール61は、操作パネル21を介してユーザにより設定された印刷条件にしたがって、入力したRBG画像データを、プリンタ10で印刷可能な解像度(これを記録解像度と呼ぶ)に変換する。具体的には、入力したRGB画像データの解像度が印刷条件として設定された記録解像度よりも低い場合には、線形補間を行うことで隣接画像データ間に新たなデータを生成し、入力したRGB画像データの解像度が記録解像度よりも高い場合には、一定の割合でデータを間引く処理を行なっている。
色変換モジュール62は、記録解像度に変換されたRGB画像データを、プリンタ10で使用するCMYKの色のデータに変換する。具体的には、周知の色変換テーブル(LUT)と呼ばれる3次元のテーブルを参照して、R,G,Bの階調値の組み合わせの画像データを、C,M,Y,K各色の階調値の組み合わせのデータ(CMYKデータ)に変換している。こうして生成されたCMYKデータは、RAM72の所定領域に一時的に記憶される。
ハーフトーンモジュール63は、0から255の256階調で表現されるCMYKデータを、2値の階調値であるドット形成有無のデータに変換する。このハーフトーンモジュール63では、階調変換に周知の誤差拡散法を用いている。誤差拡散法とは、処理対象の画素にドットを形成するか否かを判断することで生じた階調値の誤差を周辺画素に分配して、画像全体で濃度(階調)誤差を低減させる手法である。
例えば、処理対象画素のCデータの階調値が、所定の閾値よりも大きい場合、その画素の位置にドットを形成すること(ドットON)を判断する。形成されるドットの階調値とCデータの階調値との差分が、ドットを形成することで生じる誤差である。この誤差は、処理対象の画素を基準に、未処理の画素へ所定の重み付けにしたがって分配される。つまり、ある画素を処理する際には、その画素の階調値に、既に処理された画素から分配された誤差を加算して、所定の閾値との比較によりドットのON/OFFを判断し、処理対象の画素で生じた誤差を、さらに未処理の画素に分配する。誤差拡散法では、左上端の画素から右下端の画素まで、順次、こうした処理を繰り返して画像全体で階調値の誤差を低減することができる。
なお、未処理画素に誤差を分配する際の所定の重み付けは、予め用意された誤差拡散マトリクスを用いて設定されている。誤差拡散マトリクスには、処理対象で発生した誤差を、どの割合(何分の1)で、どの位置の画素に分配するかが定義されている。こうした誤差拡散マトリクスには、例えば図4に示すように、種々のタイプのものがある。図4に示す斜線の矩形は処理対象の画素を示し、その他の矩形は誤差を拡散する周辺の画素を表わしている。例えば、図4(a)による重み付け係数を用いれば、処理対象画素で発生した誤差は、画像の行方向(主走査方向)で隣の画素K01と、画像の列方向(副走査方向)の画素K10と、画素K10の行方向で両隣の画素K1−1,画素K11とに、それぞれ1/4ずつの割合で、処理対象画素で発生した誤差が分配されることとなる。
こうした誤差拡散処理の過程で加算する誤差は、RAM72の所定領域に設けたラインバッファである誤差バッファの所定位置に一時的に記憶されている。誤差バッファ内の誤差情報は、一のラスタ上を左端の画素から右端の画素へ向かって処理する過程で順次更新されて行く。つまり、右端の画素まで処理した後の誤差バッファには、次ラスタの処理に必要な誤差情報が記憶されている。本実施例では、所定ラスタに対応する位置の誤差バッファ内(右端まで処理した後の状態)の値を、誤差情報としてメモリ66に記憶している。記憶された所定ラスタの誤差情報は、そのラスタ以降のラスタを処理する際に利用される。
また、本実施例では、こうした誤差拡散処理をラスタ単位で順次実行し、一の主走査において必要となるノズルNzの位置に該当するラスタのドット形成有無のデータをメモリ66に記憶している。換言すると、一の主走査においては必要でなく、ノズルNzの位置の間に該当するラスタのドット形成有無のデータは、この段階では記憶しない。勿論、ノズルNzの位置に該当するラスタのドット形成有無のデータを記憶するためには、そのラスタの上位のラスタの演算が必要であり、これを演算しているが、一の主走査に不要な演算結果は記憶せず、次の主走査以降で必要となった時に再度演算し直して、これを記憶している。こうしたハーフトーン処理を中心とした変換処理については後述する。
なお、ハーフトーンモジュール63で用いる処理は、誤差拡散法に代えて、平均誤差最小法であっても良い。平均誤差最小法では、処理済みの周辺画素で発生した誤差を誤差バッファに格納しておき、次の画素を処理する際に、誤差バッファから抽出する複数の誤差に所定の重み付けを施して加算し、これと処理対象画素の階調値との和を所定の閾値と比較してドットの形成の有無を判断する。すなわち、誤差拡散法とほぼ等価な処理である。
インタレースモジュール64は、ハーフトーン処理により生成され、メモリ66に記憶されたドット形成有無のデータを入力し、これをドット形成の順序を考慮して再配置し、アクチュエータに出力する。図5は、インタレース処理を概念的に示す説明図である。理解を容易にするために、4個のノズルNzを、3ドットピッチ(k=3)で備えた印字ヘッド80で動作を説明する。
図中の印字ヘッド80内に示す実線の丸は、ノズルNzの番号を示し、印字ヘッド80が5回の主走査、副走査を繰り返すことで、所定範囲にドットが形成される様子を示している。図中、二重丸は、1回目の主走査(副走査)で形成されるドットを示し、同様に、白抜きの四角は2回目を、白抜きのひし形は3回目を、実丸は4回目を、白抜き三角は5回目を、それぞれ示している。この副走査方向の送り量は4ドット(L=4)であり、副走査を一定間隔で行なうことで、隙間無くドットを形成することができる。例えば、副走査回数1の状態で、ノズル3,4を用いてインクを吐出し、主走査方向のドット列としてのラスタを2本生成する。次に、副走査回数2の状態で、ノズル2〜4を用いて、3本のラスタを生成する。こうした処理を繰り返して、印刷対象画像を再現することができる。一般に、ノズルNzのドットピッチkと、副走査の送り量Lとを素の関係に設定することで、k回の主走査、副走査の繰り返しにより、ラスタ間に抜けが生じることなく画素毎にドットを形成することができる。なお、副走査回数1,2の状態で、ノズル1等を使用しないのは、この間は隙間無くドットを形成できない領域であるからであり、副走査回数1の状態でのノズル3以降が、隙間無くドットを形成できる有効範囲となる。
ここでドット形成有無のデータは、主走査方向へ左端から右端へ向かって一のラスタを処理したデータであり、処理の順にデータが並んでいる。例えば、副走査回数1の場合には、このドット形成有無のデータを、ノズル3,4の1ドット目のデータ、ノズル3,4の2ドット目のデータ・・と並べ替える必要がある。さらに、図2に示した千鳥状の実際のノズルNz配置に対しては、キャリッジ30の移動速度を考慮したタイミングでデータを出力する必要がある。インタレースモジュール64は、こうしたドットの形成順序を考慮してデータを並べ替え、CMYKの各色に対して処理を行なっている。
制御回路40は、インタレースモジュール64からの出力により、ドットを形成しながらキャリッジ30を移動して、一の主走査を実行する。そして、副走査方向へ用紙Pを送り、再度、上記の処理を繰り返して、次の主走査を実行する。こうした主走査、副走査の繰り返しにより、印刷画像が生成される。
B.変換処理:
図6、図7は、本実施例のプリンタ10において実行される変換処理のフローチャートである。この処理は、入力したRGB画像データからドット形成有無のデータを生成し、印刷を実行する処理であり、制御回路40のCPU70がROM71内の変換処理プログラムを起動することで実行される。
処理が開始されると、制御回路40は、印刷対象である画像を記録解像度にしたがって解像度変換してRAM72に一時的に記憶し、解像度変換されたRGB画像データ(RGBデータと呼ぶ)のうち、印字ヘッドユニット25の一の主走査に必要なラスタ分のRGBデータを取得する(ステップS600)。具体的には、印字ヘッドユニット25の幅分のRGBデータを取得している。
続いて、メモリ66内の不要データをクリア(いわゆる初期設定)する(ステップS605)。詳しくは後述するが、この処理で、不要な誤差情報、不要なドット形成有無のデータなどをクリアする。
こうして初期準備をした後、制御回路40は、一のノズルNz位置のドット形成有無のデータを生成するためのRGBデータの取得処理を行なう(ステップS610)。具体的には、図7に示すサブルーチンに飛んで、後続の処理に必要なRGBデータを取得する。図7は、図6に示す変換処理のサブルーチンであり、RGBデータ取得処理の流れを示すフローチャートである。このサブルーチンが開始されると、制御回路40は、取得したラスタ分のうち、処理対象のノズルNz位置に該当するラスタの上位(処理順序で上位を意味する)のラスタに、誤差情報が存在するか否かを判断する(ステップS700)。具体的には、メモリ66内部を確認し、最初のラスタから処理対象となるラスタ(ノズルNz位置のラスタ)までに、誤差情報が記憶されているか否かを判断している。
ステップS700で誤差情報がある(Yes)と判断した場合には、処理対象のラスタの直近上位の誤差情報を読み出し(ステップS710)、その誤差情報に対応するラスタの次のラスタから処理対象となるノズルNz位置のラスタまでのRGBデータを取得する(ステップS720)。
他方、ステップS700で誤差情報がない(No)と判断した場合には、最初のラスタから処理対象となるノズルNz位置のラスタまでのRGBデータを取得する(ステップS730)。例えば、初期段階では、メモリ66には何も記憶されていないため、最初のラスタからノズルNz位置のラスタまでのRGBデータを取得する。こうしてRGBデータを取得して、サブルーチンを抜けて図6の変換処理へ戻る。
続いて、制御回路40は、取得したRGBデータの色変換を行なう(ステップS615)。具体的には、色変換テーブル(LUT)を用いて、CMYKデータを生成し、これをRAM72に一時的に記憶している。
制御回路40は、こうして記憶されたCMYKデータの各色毎に、ラスタ単位での誤差拡散処理を実行する(ステップS620)。このステップでは、一のラスタの左端の画素に対応するデータから、右端の画素に対応するデータへ向かって、順次、ドット形成有無のデータを生成する。この生成過程で発生した誤差は、誤差バッファに一時的に記憶される。また、処理された一ラスタ分のドット形成有無のデータも、RAM72内の作業領域に一時的に記憶される。
こうして一のラスタについて処理が終了すると、制御回路40は誤差バッファの値を記憶するラスタであるか否かを判断する(ステップS625)。誤差バッファを記憶するラスタは予め設定されており、例えば後述する具体例では、印字ヘッドのノズル間隔を3ドットピッチ(k=3)とし、誤差バッファの値を記憶するラスタを4ラスタピッチ(k+1)として設定している。
ステップS625で、誤差バッファの値を記憶するラスタである(Yes)と判断した場合には、誤差バッファの値を誤差情報としてメモリ66内に記憶する(ステップS630)。なお、誤差情報の記憶の際には、ラスタの位置(誤差バッファの値を生成した際の、処理ラスタの番号)も記憶している。
他方ステップS625で、誤差バッファの値を記憶しないラスタである(No)と判断した場合には、誤差バッファの値を記憶することはせずに、次の処理に移行する。
続いて、制御回路40は、処理したラスタが、所望するノズルNz位置に対応するラスタであるか否かを判断する(ステップS635)。具体的には、未処理のラスタがRAM72内に存在するか否かで判断している。
ステップS635で、ノズルNz位置に対応するラスタでない(No)と判断した場合には、ステップS620に戻り、次のラスタについての処理を開始する。次のラスタの処理では、現状の誤差バッファ内の値を用いて誤差拡散処理を行なってドット形成有無のデータを生成する。この処理過程で、作業領域内の誤差バッファの値やドット形成有無のデータは、順次、更新されて行く。
他方、ステップS635で、ノズルNz位置に対応するラスタである(Yes)と判断した場合には、ラスタの処理結果であるドット形成有無のデータを、メモリ66内に記憶する(ステップS640)。
こうしてノズルNz位置に対応するラスタのドット形成有無のデータを記憶した後、制御回路40は、主走査が可能であるか否かを判断する(ステップS645)。つまり、印字ヘッドに備えたノズルNz分のドット形成有無のデータが全部揃っているか否かを判断している。
ステップS645で、主走査に必要なデータが揃わず、主走査が可能ではない(No)と判断した場合には、ステップS610へ戻り、次のノズルNz位置に対応するラスタのドット形成有無のデータを生成する処理を行なう。具体的には、図7に示したサブルーチンに飛んで、次のノズルNz位置に対応するラスタの処理に必要なRGBデータや誤差情報を取得して、ラスタ単位の誤差拡散処理を行なう。
他方、ステップS645で、主走査に必要なデータが揃い、主走査が可能である(Yes)と判断した場合には、メモリ66内のドット形成有無のデータを並べ替える再配置の処理を行なう(ステップS650)。すなわち、各ノズルNz位置のドット形成有無のデータを、ドット形成の順序を考慮して並べ替える。
制御回路40は、並べ替えたドット形成有無のデータを、印字ヘッドユニット25に所定タイミングで出力すると共に、キャリッジモータ32に指令信号を出力して、主走査を行なう(ステップS660)。つまり、主走査によりノズルNz数分のドット列を形成して画像の印刷を行なう。
続いて、制御回路40は、処理対象の画像の全ラスタに対して処理が終了したか否かを判断する(ステップS670)。ステップS670で、処理、つまり印刷が終了していない(No)と判断した場合には、紙送りモータ33へ指令信号を出力して副走査を行ない、ステップS600に戻って、一連の処理を繰り返す。他方、ステップS670で、印刷が終了した(Yes)と判断した場合には、一連の変換処理を終了する。
こうした変換処理における誤差拡散処理では、一の主走査に必要な分のドット形成有無のデータのみを求めて印刷を行ない、次の主走査へ移る。かかる処理を繰り返すことで、メモリ66内には、常にノズルNz分のドット形成有無のデータしか記憶されない。したがって、メモリ容量を低減することができる。
B−1.具体例:
図8から図11は、図6に示した変換処理の具体的な説明図である。ここでは、上述の変換処理の理解をより一層容易なものとするため、4個のノズル(Nz=4)を3ドットピッチ(k=3)の間隔で備えた1個の印字ヘッド90を例に、4ドットピッチの副走査により印刷を行なう場合について説明する。なお、この例では、k+1の間隔である4ラスタピッチごとに、誤差情報を記憶するものとする。その初期値を4番目のラスタとし、4,8,12,16・・番目のラスタを処理する際に生成されるライン状の誤差バッファの値を、誤差情報としてメモリ66に記憶する。
図8に示すように、印刷条件にしたがって解像度変換されたRGBデータから、印字ヘッド90の幅分のRGBデータを取得する。具体的には、(Nz−1)×k+1個分である10ラスタ分のRGBデータを取得する。この10ラスタのうち、ノズルNz位置に該当するラスタは、1,4,7,10番目のラスタであり、この4個のラスタに対応するドット形成有無のデータを生成することで、印字ヘッド90の一の主走査が可能となる。
ここで、1番目のノズル1についてのドット形成有無のデータを生成するため、1番目のラスタのRGBデータを取得し、これを色変換する。色変換されたCMYKデータについて、誤差拡散処理を行ないドット形成有無のデータを生成する。処理対象が1番目のラスタであるから、誤差情報を記憶せずに、ドット形成有無データをメモリ66に記憶する。
続いて、2番目のノズル2についてのドット形成有無のデータを生成するため、必要なラスタのRGBデータを取得する。ノズル2は、4番目のラスタに該当し、先のノズル1についての処理では誤差情報の記憶はない。したがって、最初のラスタである1番目のラスタから、4番目のラスタまでのRGBデータを取得する。取得したRGBデータは、色変換によりCMYKデータに変換される。色変換されたCMYKデータについて、1番目のラスタから順次、誤差拡散処理を行ないドット形成有無のデータを生成する。ラスタ単位で処理を進め、4番目のラスタのドット形成有無のデータをメモリ66に記憶する。この処理の際、4番目のラスタは誤差情報の記憶ラスタでもあるので、誤差バッファの値をメモリ66に記憶する。なお、4番目のラスタを処理するために演算された2,3番目のラスタのドット形成有無のデータは、記憶されない。
次に、3番目のノズル3についてのドット形成有無のデータを生成するため、必要なラスタのRGBデータを取得する。ノズル3は、7番目のラスタに該当し、先のノズル2についての処理において、4番目のラスタについての誤差情報を記憶している。すなわち、処理対象である7番目のラスタの直近上位として、4番目のラスタの誤差情報が存在することとなる。したがって、誤差情報と共に、5番目のラスタから7番目のラスタまでのRGBデータを取得する。取得したRGBデータは、色変換によりCMYKデータに変換される。
取得した誤差情報は、誤差バッファに格納され、5番目のラスタの誤差拡散処理に使用される。5番目のラスタの処理が終了すると6番目、7番目のラスタと順次処理を進め、7番目のラスタの処理結果であるドット形成有無のデータをメモリ66に記憶する。なお、この段階では、7番目のラスタまでの処理であるため、処理の際に更新された誤差バッファの値は記憶されない。
次に、4番目のノズル4についてのドット形成有無のデータを生成するため、必要なラスタのRGBデータを取得する。ノズル4は、10番目のラスタに該当し、先のノズル2についての処理において、4番目のラスタについての誤差情報を記憶している。したがって、誤差情報と共に、5番目のラスタから10番目のラスタまでのRGBデータを取得する。取得したRGBデータは、色変換によりCMYKデータに変換される。
ここからの処理は、ノズル3の場合と同様であり、順次、5番目のラスタから10番目のラスタまで誤差拡散処理を行ない、10番目のラスタの処理結果であるドット形成有無のデータをメモリ66に記憶する。この過程で、8番目のラスタの処理の際には、誤差情報が記憶される。
こうして4個のノズルNz位置に該当するドット形成有無のデータがメモリ66に記憶され、印字ヘッド90の一の主走査が可能となる。図9に示すように、ここまでの処理で、メモリ66内には、4ラスタ分のドット形成有無データと、2ラスタ分の誤差情報が記憶されている。つまり、10ラスタ分のドット形成有無データについての演算は実行しているが、一の主走査に必要な4ラスタ分のみを記憶し、残りは記憶しない。なお、ドット形成有無データは、理解を容易にするため、ドット有(ON)を黒丸で、ドット無(OFF)を無印で表現している。
ここで、印字ヘッド90の主走査により印刷が実行されると、1,4,7,10番目の4つのラスタが生成される。その後、4ドットピッチ分の副走査により用紙が送られ、次の主走査(2走査目)の処理に移る。2走査目の処理では、まず、印字ヘッド90の幅分のRGBデータを取得する。図10に示すように、次に取得するRGBデータは、5番目から14番目までのラスタのRGBデータとなる。なお、5番目から10番目までのラスタについては、先の処理で取得しているため、不足分である11番目から14番目までのラスタのみを追加的に取得するものとしても良い。
2走査目の実際の処理に入る前に、不要となる1番目から4番目のラスタはRAM71内で消去され、メモリ66内のドット形成有無データはクリアされる。なお、誤差情報は以降の処理に利用するため、クリアされない。図10では、こうしてクリアされるデータを破線で示している。
2走査目では、5,8,11,14番目のラスタのドット形成有無データを、先の処理(1走査目)と同様の処理により生成する。ここまでの処理では、メモリ66内には、4ラスタ分のドット形成有無データと、3ラスタ分の誤差情報が記憶されることとなる。なお、新たに追加された誤差情報は1ラスタ分(12番目のラスタ)のみである。こうして記憶したドット形成有無データに基づいて、印字ヘッド90による印刷が実行される。
続いて、3走査目の処理に移ると、9番目から18番目のRGBデータを取得し、不要なデータをクリアする。図11に示すように、3走査目の処理の際には、4番目のラスタに対応する誤差情報が不要となる。そこで、不要なRGBデータ、ドット形成有無データと共に、この誤差情報もクリアされる。図11に示すように、3走査目の処理でも、4ラスタ分のドット形成有無データと、3ラスタ分の誤差情報とが記憶される。つまり、主走査毎にメモリ66に記憶するデータ量は、ノズルNz数分である4ラスタのデータと、3ラスタの誤差情報のみとなる。
なお、図示するように、3回の主走査で、合計12ラスタが形成できるが、実際には、7番目のラスタより前では、隙間が残ってしまう。つまり、7番目のラスタ以降が有効な記録範囲となる。したがって、実際の処理では、1走査目でノズル1,2からはドットを吐出せずに対応している。こうした特殊な対応は、ノズルNz数、ノズルNzのドットピッチ、インタレース処理の内容等により、プリンタにより様々であり、プリンタ毎に設定するものとすれば良い。
誤差拡散処理では、上位のラスタの処理結果が下位のラスタの処理に影響を及ぼす。そのため、上位のラスタから下位のラスタへ処理を進める過程で、全てのラスタについてドット形成有無データが生成される。一般的には、生成された各ラスタのドット形成有無データを全て記憶し、そのうち一の主走査で必要となるデータのみを取り出して使用する。使用されないデータは、そのデータを使用する順番(主走査の順番)が回ってくるまで、記憶し続ける。こうした従来の手法によれば、少なくとも印字ヘッドの幅分に相当するラスタのドット形成有無データを全て記憶する容量が必要であり、インタレース処理の内容によっては、さらに複数のラスタのデータを記憶する容量が必要となる。
これに対し、本実施例の変換処理によれば、メモリに記憶されるドット形成有無のデータは、ノズルNz数分のデータ量で済む。例えば、ノズルNz数が48であれば、48ラスタ分のデータ量の記憶領域を使用することとなる。したがって、誤差拡散処理におけるメモリの記憶容量を低減することができる。なお、本実施例では、メモリの記憶容量の低減効果の高いノズルNz数分のデータのみの記憶について説明したが、さらに複数のラスタのドット形成有無のデータを記憶するものとしても良い。例えば、図9の1主走査目で、ノズルNz位置に対応するラスタに加え、2,5,8番目の3つのラスタについて記憶するものとし、この3つのラスタについては、次主走査以降、ドットを吐出する順番がくるまで記憶し続ける。この場合であっても、全ラスタについて記憶する従来の手法に比べて、記憶容量を低減することができる。
本実施例では、共通のメモリ66に、ドット形成有無のデータと、誤差情報とを記憶するものとしたが、勿論、それぞれ独立の記憶領域に記憶するものとしても良い。いずれの場合にも、ドット形成有無データのラスタ数と、誤差情報のラスタ数との和が、最大で(N−1)×k個(N:ノズルNz数,k:ノズルドットピッチ)であることが望ましい。こうすることで、全ラスタを記憶する従来の手法に比べ、プリンタ10全体の記憶容量を低減することができる。
また、本実施例では所定の間隔で誤差情報を記憶し、これを利用して誤差拡散処理を実行する。したがって、一の主走査のための処理において、誤差情報を記憶したラスタ以降のラスタを処理する際に、最初のラスタから処理を開始する場合に比べ、誤差拡散処理を実行する演算量、つまり、処理時間を低減することができる。
さらに、本実施例では、4ドットピッチの副走査に対して、4ピッチのラスタ間隔で誤差情報を記憶するものとし、その誤差情報の記憶ラスタの初期値を4ラスタ目と設定している。すなわち、印字ヘッド90の位置が副走査により4ドットずれた際に、常に最上行ラスタのRGBデータを処理できる直近の誤差情報を記憶している。したがって、取得した印字ヘッド90の幅分のRGBデータの範囲内で、ラスタ単位での誤差拡散処理を実行することができる。つまり、ノズル1のドット形成有無データを演算する際に、前走査で処理したRGBデータを再度利用する必要がない。そのため、RAM72内に展開するCMYKデータを、印字ヘッド90幅分のみとすることができ、RAM72を効率よく利用することができる。
本実施例では、kドットピッチのノズルNzに対して、k+1ピッチのラスタ間隔で誤差情報を記憶しているが、例えば、ドットピッチと同じ間隔であるkピッチのラスタ間隔で誤差情報を記憶する場合について説明する。図12は、ドットピッチと誤差情報記憶ラスタの間隔とが同じ場合における一の主走査の処理の量を示す説明図である。図12に示すように、ドットピッチ3の4個のノズルNzを備えた印字ヘッドで印刷を行なう場合に、誤差情報を3ピッチのラスタ間隔で記憶するものとする。ここで、ひし形の印は、誤差情報が記憶されるラスタを意味している。ノズルNz位置のラスタと、誤差情報記憶ラスタとの位置関係は、印字ヘッドの副走査により、順次異なる。図12(a)は、パターン1として、ノズルNz位置の上のラスタが誤差情報記憶ラスタとなる場合を、図12(b)は、パターン2として、ノズルNz位置と誤差情報記憶ラスタとが同じ位置となる場合を、それぞれ示している。
図12(a)では、処理対象となる4つのノズルNz位置のラスタに対して、1つ上(前)のラスタに誤差情報が記憶されている。したがって、各ノズルNz位置のラスタは、誤差情報を用いて1ラスタ分の処理で演算できる。すなわち、一の主走査を行なうために処理するラスタ数の合計は4ラスタである。
これに対して、図12(b)では、処理対象となる4つのノズルNz位置のラスタに対して、3つ上(前)のラスタに誤差情報が記憶されている。したがって、各ノズルNz位置のラスタは、3ラスタ分の処理の演算が必要となる。すなわち、一の主走査を行なうために処理するラスタ数の合計は12ラスタである。
つまり、ノズルNzのドットピッチと、誤差情報記憶ラスタの間隔とが同じである場合には、主走査毎の処理ラスタ量が所定周期で変化する。特に、図12(b)に示すように、ノズルNz位置と誤差情報記憶ラスタとが同一となる場合には、処理ラスタ量が増え、処理時間がかかることとなる。
こうしたノズルNzのドットピッチkと、誤差情報記憶ラスタの間隔との関係を図13に示す。図中、縦軸は、一の主走査を行なうための処理ラスタの数、つまり、処理速度(時間)を示し、横軸は、主走査回数(副走査回数と呼んでも良い)を示している。なお、図示した一例は、ドットピット3の4個のノズルNzの印字ヘッドにおいて、4ドットピッチの副走査を行なう場合の例であり、誤差情報は1ラスタ目から、それぞれ2ラスタ間隔,3ラスタ間隔,4ラスタ間隔で記憶しているものとする。
図示する実線は、2ラスタ間隔で誤差情報を記憶した場合の主走査毎の処理時間の変化を、破線は、4ラスタ間隔で誤差情報を記憶した場合の主走査毎の処理時間の変化を、二点差線は、3ラスタ間隔で誤差情報を記憶した場合の主走査毎の処理時間の変化を、それぞれ示している。3ラスタ間隔のものについては、図12で説明したドットピッチと誤差情報記憶ラスタ間隔とが同じ場合である。したがって、所定周期で処理時間の変動が生じている。これに対し、2ラスタ間隔と4ラスタ間隔のものについては、2走査目以降、同じ処理時間で印刷が行なわれる。つまり、ドットピッチkに対して、k±1ピッチのラスタ間隔で誤差情報を記憶することで、主走査毎の処理時間を略均一にすることができる。
C.変形例:
本実施例のハーフトーン処理としての誤差拡散処理において、ドット形成有無の判断を行なう際の閾値に乱数を使用するものとしても良い。例えば、図3に示すように、制御回路40内に乱数発生処理部65を設け、乱数を発生させる。乱数発生処理部65は、所定の乱数関数を使用し、ある初期値(種)を与えることで乱数を出力する。この乱数を閾値に設定して誤差拡散処理を実行する。この処理の過程で、誤差情報の記憶ラスタについては、乱数関数の初期値も併せて記憶する。そして、記憶した誤差情報を読み出す場合には、初期値も共に読み出す。こうすることで、読み出した誤差情報が生成された時に使用した乱数を再現することができ、同じ画素に対して同じ乱数を用いて処理することができる。こうした乱数を閾値に用いることで、閾値にノイズを加えて規則性パターンの発生を防止し、高画質の印刷を行なうことができる。なお、こうした乱数の設定手法は、誤差拡散マトリクスに乱数を使用する場合にも利用できる。いずれの場合も、同一画素(ラスタ)に対する誤差拡散処理を繰り返す場合に有効である。
本実施例では、誤差拡散処理を用いた変換処理をソフトウェアプログラムとしてプリンタ内に備えるものとして説明したが、勿論、このプログラムをコンピュータに備え、コンピュータとプリンタを含めて、本発明の印刷装置としても良い。また、プリンタの制御回路40における各種機能モジュールは、例えば、特開2000−299785におけるデータ変換装置に開示するハード構成を利用するものとしても良い。処理の一部をハード的に行なうことで、全体の処理速度を向上することができる。
本実施例では、画像の出力先を用紙として、画像を印刷するプリンタ(印刷装置)を例に、記憶領域の低減について説明したが、画像の出力先はディスプレイであっても良い。すなわち、本発明は、入力した多階調の画像データを階調変換し、これを、液晶、プラズマ、CRTなどのディスプレイ上に出力して画像を形成する装置としても適用できる。一般に、こうしたディスプレイに画像を表示する場合には、本実施例の説明と同様、ラスタを単位として画像を形成する。この場合にも、ハーフトーン処理と同様の階調変換処理が実行され、演算された全ラスタのデータを一端記憶して、そこから必要なデータを取り出して画像を表示している。
こうした画像を形成する装置(画像形成装置と呼ぶ)に本発明を適用する場合には、画像を形成する複数のラスタのうち、kラスタ間隔(kは2以上の整数)に配置されたN本(Nは2以上の整数)のラスタを単位として画像を形成する一部ラスタ画像形成部と、N本のラスタの画像の形成に必要な分の画像データを取得する取得処理部と、取得した画像データの各画素の階調値を低い階調値のデータに変換し、階調変換により生じた濃度の誤差情報を未処理の画素に分配する演算を行ないつつ、変換処理を各画素について順次行なう階調変換処理部と、演算を伴う変換結果のうち、少なくともN本のラスタを含み、最大で(N−1)×k本のラスタについての変換済みのデータを記憶する記憶処理部と、記憶された変換済みのデータのうち、N本のラスタに該当するデータを一部ラスタ画像形成回路に出力する出力処理部とを備えるものとすれば良い。
こうした各処理部における処理を繰り返して画像を形成することで、画像形成装置における記憶領域を低減することができる。なお、印刷装置に場合と同様、各処理部の構成は、ソフトウェアであっても、ハードウェアであっても良い。
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。本実施例では、所定ラスタの誤差情報を記憶するものとしたが、誤差情報を記憶せず、常に、最初のラスタから誤差拡散処理を繰り返して、所望するノズルNz位置に該当するラスタのドット形成有無データを生成するものとしても良い。こうすることで、より一層メモリの記憶容量を低減することができる。
本発明の印刷装置としてのプリンタの内部の概略構成を示したブロック図である。 インク吐出用ヘッドにおけるノズルNzの配列を示す説明図である。 制御回路の機能モジュールの概略構成を示す説明図である。 誤差拡散マトリクスの一例を示す説明図である。 インタレース処理を概念的に示す説明図である。 本実施例のプリンタにおいて実行される変換処理のフローチャートである。 変換処理のフローチャート(サブルーチン)である。 変換処理の具体的な説明図である。 変換処理の具体的な説明図である。 変換処理の具体的な説明図である。 変換処理の具体的な説明図である。 ドットピッチと誤差情報記憶ラスタの間隔とが同じ場合における一の主走査の処理の量を示す説明図である。 ノズルNzのドットピッチkと、誤差情報記憶ラスタの間隔との関係を示す説明図である。
符号の説明
10...プリンタ
21...操作パネル
22...液晶ディスプレイ
23...カードスロット
24...USBポート
25...印字ヘッドユニット
28...プラテン
29a...黒インク用カートリッジ
29b...カラーインク用カートリッジ
30...キャリッジ
32...キャリッジモータ
33...紙送りモータ
34...摺動軸
36...駆動ベルト
39...位置検出センサ
40...制御回路
44,45,46,47...インク吐出用ヘッド
50...インターフェイス
61...入力モジュール
62...色変換モジュール
63...ハーフトーンモジュール
64...インタレースモジュール
65...乱数発生処理部
66...メモリ
80...印字ヘッド
90...印字ヘッド
MC...メモリカード
Nz...ノズル
P...用紙
k...ドットピッチ

Claims (10)

  1. 記録ヘッドと所定用紙との相対的な移動によって画像の印刷を行なう印刷装置であって、
    前記記録ヘッドは、kドット間隔(kは2以上の整数)に配置したN個(Nは2以上の整数)のドット記録要素を有しており、
    前記印刷装置は、
    多階調の画像データから、前記記録ヘッドの一の主走査に必要な分の該画像データを取得する取得処理部と、
    前記取得した画像データの各画素の階調値をドットの形成有無を表すドット形成有無データに変換し、該階調変換により生じた濃度の誤差情報を未処理の画素に分配する演算を行ないつつ、該変換処理を該各画素について順次行なうハーフトーン処理部と、
    前記演算を伴う変換により得られたドット形成有無データのうち、少なくとも前記ドット記録要素の位置に該当するN個のラスタを含み、最大で(N−1)×k個のラスタについてのデータを記憶する記憶処理部と、
    前記記憶されたデータのうち、前記ドット記録要素の位置に該当するN個のラスタのデータを、前記記録ヘッドの主走査の動きに合わせて、前記記録ヘッドに出力し、一の主走査を実行する主走査処理部と、
    前記主走査方向に交差する副走査方向へ、前記所定用紙を送る副走査処理部とを備え、
    前記各処理部における処理を繰り返し実行することで、先行する主走査において演算されたものの記憶されなかった前記ドット形成有無データについは、再度、前記演算を伴う変換を行ない、記憶し、該記憶されたデータに基づいて前記画像の印刷を行なう
    印刷装置。
  2. 請求項1に記載の印刷装置であって、更に、
    前記ハーフトーン処理における前記誤差情報のうち、所定の位置のラスタに対応する当該誤差情報を記憶する誤差情報記憶処理部を備え、
    前記ハーフトーン処理部は、前記繰り返しの処理における前記ドット記録要素の位置に該当するN個のラスタのデータへの変換の際に、前記誤差情報記憶処理部から、処理順序で処理対象の該ラスタの直近に位置する前記誤差情報を読み出し、当該誤差情報を用いてハーフトーン処理を実行する
    印刷装置。
  3. 請求項2に記載の印刷装置であって、
    前記誤差情報記憶処理部は、所定ラスタおきに、前記誤差情報を記憶する印刷装置。
  4. 請求項3に記載の印刷装置であって、
    前記誤差情報記憶処理部は、kドット±1のラスタ間隔で、前記誤差情報を記憶する印刷装置。
  5. 請求項2ないし4のいずれかに記載の印刷装置であって、更に、
    前記ハーフトーン処理において階調変換の判断に用いる乱数を発生させる乱数発生処理部を備え、
    前記誤差情報記憶処理部は、前記記憶する誤差情報の生成に用いた前記乱数を記憶し、
    前記ハーフトーン処理部は、前記誤差情報記憶処理部から、前記直近の誤差情報と共に対応する前記乱数を読み出し、同一画素に対して同じ乱数を用いて処理を行なう
    印刷装置。
  6. kドット間隔(kは2以上の整数)に配置したN個(Nは2以上の整数)のドット記録要素を有する記録ヘッドと、所定用紙との相対的な移動によって画像の印刷を行なう印刷方法であって、
    多階調の画像データから、前記記録ヘッドの一の主走査に必要な分の該画像データを取得し、
    前記取得した画像データの各画素の階調値をドットの形成有無を表すドット形成有無データに変換し、該階調変換により生じた濃度の誤差情報を未処理の画素に分配する演算を行ないつつ、該変換処理を該各画素について順次行ない、
    前記演算を伴う変換により得られたドット形成有無データのうち、少なくとも前記ドット記録要素の位置に該当するN個のラスタを含み、最大で(N−1)×k個のラスタについてのデータを記憶し、
    前記記憶されたデータのうち、前記ドット記録要素の位置に該当するN個のラスタのデータを、前記記録ヘッドの主走査の動きに合わせて、前記記録ヘッドに出力し、一の主走査を実行し、
    前記主走査方向に交差する副走査方向へ、前記所定用紙を送り、
    前記各処理を繰り返し実行することで、先行する主走査において演算されたものの記憶されなかった前記ドット形成有無データについては、再度、前記演算を伴う変換を行ない、記憶し、該記憶されたデータに基づいて前記画像の印刷を行なう
    印刷方法。
  7. kドット間隔(kは2以上の整数)に配置したN個(Nは2以上の整数)のドット記録要素を有する記録ヘッドと、所定用紙との相対的な移動によって画像の印刷を行なう印刷装置を制御するプログラムであって、
    多階調の画像データから、前記記録ヘッドの一の主走査に必要な分の該画像データを取得する機能と、
    前記取得した画像データの各画素の階調値をドットの形成有無を表すドット形成有無データに変換し、該階調変換により生じた濃度の誤差情報を未処理の画素に分配する演算を行ないつつ、該変換処理を該各画素について順次行なう機能と、
    前記演算を伴う変換により得られたドット形成有無データのうち、少なくとも前記ドット記録要素の位置に該当するN個のラスタを含み、最大で(N−1)×k個のラスタについてのデータを記憶する機能と、
    前記記憶されたデータのうち、前記ドット記録要素の位置に該当するN個のラスタのデータを、前記記録ヘッドの主走査の動きに合わせて、前記記録ヘッドに出力し、一の主走査を実行する機能と、
    前記主走査方向に交差する副走査方向へ、前記所定用紙を送る機能と
    を繰り返し前記印刷装置に実行させることで、先行する主走査において演算されたものの記憶されなかった前記ドット形成有無データについて、再度、前記演算を伴う変換を行ない、記憶し、該記憶されたデータに基づく前記画像の印刷を実行させるプログラム。
  8. 請求項7に記載のプログラムをコンピュータに読み取り可能に記録した記録媒体。
  9. 複数の画素を一方向に並べたラスタを単位とし、複数の該ラスタの集合として画像を形成する画像形成装置であって、
    前記複数のラスタのうち、kラスタ間隔(kは2以上の整数)に配置されたN本(Nは2以上の整数)のラスタを単位として画像を形成する一部ラスタ画像形成部と、
    多階調の画像データから、前記N本のラスタの画像の形成に必要な分の該画像データを取得する取得処理部と、
    前記取得した画像データの各画素の階調値を低い階調値のデータに変換し、該階調変換により生じた濃度の誤差情報を未処理の画素に分配する演算を行ないつつ、該変換処理を該各画素について順次行なう階調変換処理部と、
    前記演算を伴う変換結果のうち、少なくとも前記N本のラスタを含み、最大で(N−1)×k本のラスタについての前記変換済みのデータを記憶する記憶処理部と、
    前記記憶された変換済みのデータのうち、前記N本のラスタに該当するデータを前記一部ラスタ画像形成部に出力する出力処理部と
    を備え、前記各処理部における処理を繰り返し、前記先行するN本のラスタにおける画像の形成において演算されたものの前記変換済みのデータが記憶されなかったラスタについては、再度、前記演算を伴う変換を行ない、前記複数のラスタの集合としての画像を形成する画像形成装置。
  10. 複数の画素を一方向に並べたラスタを単位とし、複数の該ラスタの集合として画像を形成する画像形成方法であって、
    前記複数のラスタのうち、kラスタ間隔(kは2以上の整数)に配置されたN本(Nは2以上の整数)のラスタを単位として画像を形成し、
    多階調の画像データから、前記N本のラスタの画像の形成に必要な分の該画像データを取得し、
    前記取得した画像データの各画素の階調値を低い階調値のデータに変換し、該階調変換により生じた濃度の誤差情報を未処理の画素に分配する演算を行ないつつ、該変換処理を該各画素について順次行ない、
    前記演算を伴う変換結果のうち、少なくとも前記N本のラスタを含み、最大で(N−1)×k本のラスタについての前記変換済みのデータを記憶し、
    前記記憶された変換済みのデータのうち、前記N本のラスタに該当するデータを前記一部ラスタ画像形成部に出力し、
    前記各処理を繰り返し実行することで、前記先行するN本のラスタにおける画像の形成において演算されたものの前記変換済みのデータが記憶されなかったラスタについては、再度、前記演算を伴う変換を行ない、前記複数のラスタの集合としての画像を形成する画像形成方法。
JP2005030168A 2005-02-07 2005-02-07 印刷装置、印刷方法、プログラム、記録媒体、画像形成装置および画像形成方法 Pending JP2006213005A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005030168A JP2006213005A (ja) 2005-02-07 2005-02-07 印刷装置、印刷方法、プログラム、記録媒体、画像形成装置および画像形成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005030168A JP2006213005A (ja) 2005-02-07 2005-02-07 印刷装置、印刷方法、プログラム、記録媒体、画像形成装置および画像形成方法

Publications (1)

Publication Number Publication Date
JP2006213005A true JP2006213005A (ja) 2006-08-17

Family

ID=36976606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005030168A Pending JP2006213005A (ja) 2005-02-07 2005-02-07 印刷装置、印刷方法、プログラム、記録媒体、画像形成装置および画像形成方法

Country Status (1)

Country Link
JP (1) JP2006213005A (ja)

Similar Documents

Publication Publication Date Title
JP3912055B2 (ja) 画像処理装置、印刷制御装置、画像処理方法、および記録媒体
JP3829508B2 (ja) 画像処理装置、画像処理方法および印刷装置
JP4428362B2 (ja) 印刷装置、印刷プログラム、印刷方法および印刷制御装置、印刷制御プログラム、印刷制御方法ならびに前記プログラムを記録した記録媒体
US20090147283A1 (en) Ejecion control of quality-enhancing ink
JP2004284279A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2005125658A (ja) 画像処理装置、画像処理方法、印刷装置、印刷方法、およびこれら方法を実現するためのプログラム
JP3982211B2 (ja) プリンタにおける紙送り誤差の補正
JP4412169B2 (ja) 画像処理装置、画像処理方法、プログラム、および記録媒体
JP2007019652A (ja) 画像処理装置、画像処理方法、プログラムおよびテストパターン
JP2003291338A (ja) 印刷制御装置、印刷制御方法、印刷システム、印刷制御プログラムおよび印刷制御プログラムを記録した媒体
JP3291789B2 (ja) 記録装置及び記録方法
JP4691880B2 (ja) 同時にドットが形成される複数本の画素列のデータを解像度変換しながら画像を出力する画像出力装置
JP4561049B2 (ja) 所定領域内に形成されるドット個数の情報に基づいて画像を印刷する印刷システム
US7090331B2 (en) Printing method, printing apparatus, and computer-readable storage medium
JP2006213005A (ja) 印刷装置、印刷方法、プログラム、記録媒体、画像形成装置および画像形成方法
JP2005014488A (ja) 改善インクの吐出制御
JP2007182080A (ja) 紙送り誤差の補正を行うプリンタ
JP2007015336A (ja) 画像処理装置、画像処理方法およびプログラム
JP2006123524A (ja) 印刷システム、印刷方法及びプログラム
JP4041954B2 (ja) 印刷制御装置、印刷制御方法、印刷システムおよび印刷制御プログラム
JP4081999B2 (ja) 双方向印刷時の記録位置ズレ補正
JP4456823B2 (ja) ドット形成有無の判断結果をグループ分けして記憶しながら画像を印刷する印刷装置、およびそのための印刷制御装置
JP2019107810A (ja) 画像処理装置、画像処理方法およびインクジェット記録装置
JP2004255700A5 (ja)
JP3757650B2 (ja) 画像処理装置