JP3870604B2 - Data converter - Google Patents

Data converter Download PDF

Info

Publication number
JP3870604B2
JP3870604B2 JP10400499A JP10400499A JP3870604B2 JP 3870604 B2 JP3870604 B2 JP 3870604B2 JP 10400499 A JP10400499 A JP 10400499A JP 10400499 A JP10400499 A JP 10400499A JP 3870604 B2 JP3870604 B2 JP 3870604B2
Authority
JP
Japan
Prior art keywords
data
circuit
pixel
gradation
error
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.)
Expired - Fee Related
Application number
JP10400499A
Other languages
Japanese (ja)
Other versions
JP2000299785A (en
Inventor
清昭 村井
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 JP10400499A priority Critical patent/JP3870604B2/en
Publication of JP2000299785A publication Critical patent/JP2000299785A/en
Application granted granted Critical
Publication of JP3870604B2 publication Critical patent/JP3870604B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、コンピュータ、デジタルカメラ、デジタルビデオ等から出力される画像データから印刷物等を得る際に有用な誤差拡散法を採用するデータ変換装置およびこの装置を用いた印刷装置に関する。
【0002】
【従来の技術】
近年、コンピュータ等の出力装置として、数色のインクのドットを印刷媒体上に形成するタイプのカラープリンタが広く普及し、コンピュータ等が処理した画像を多色多階調で印刷するのに広く用いられている。シアン、マゼンタ、イエロー(CMY)の三色のインクにより多色の画像を印刷する場合、多階調の画像を形成しようとするにはいくつかの方法が考えられる。一つは、従来のプリンタで採用されている手法であり、一度に吐出するインクにより用紙上に形成されるドットの大きさを一定として、印刷される画像の階調をドットの密度(単位面積当たりの出現頻度)により表現するものである。もう一つの方法は、用紙上に形成するドット径等を調整して、単位面積当たりの濃度を可変するものである。この単位面積当たりの濃度を可変とする他の方法として、基本の三色よりも淡い色のインク、例えば淡いシアンと淡いマゼンタを用意するものも存在する。
【0003】
いずれの手法でも、原画像が持っている階調情報をドットの分布、即ちドットのオン・オフにより表現することになる。即ち、原画像が持っている高い階調表現を、画素単位では、低い階調に変換する階調変換を行なっているのである。この場合、平均的な濃度で見れば、原画像の階調値をある程度正確に再現することができるが、画素単位で見れば、元の階調値との間に濃度誤差が生じることは免れない。そこで、画素単位で生じた濃度誤差を、その周辺の画素に分配して、画像全体の濃度を原画像に近づけようとする手法が提案されている。これが誤差拡散法と呼ばれる手法である。誤差拡散法を利用してドットを分布させるデータ変換装置は、原画像の再現性に優れるために、印刷装置において広く用いられている。
【0004】
こうした誤差拡散法を用いた印刷装置の場合、通常ヘッドが用紙の幅方向(主走査方向と呼ぶ)に走査しながら、かつ用紙をこの主走査方向とは交差する方向(副走査方向と呼ぶ)に搬送しながらドットを形成する。したがって、誤差を拡散できる範囲は、図18に示すように、通常は着目画素の周辺であって、少なくとも主走査方向の所定範囲、場合によっては、副走査方向に隣接するラスタ上の複数の画素ということになる。図18に示した各画素の値は、濃度誤差を配分する場合の重み付けの係数を示している。各重み付け係数は、その和が値1となるように定められている。
【0005】
【発明が解決しようとする課題】
誤差拡散法は、一定の領域で見れば、濃度誤差が解消されるという利点が存在するものの、その誤差配分の演算に、かなりの処理時間を要するという問題があった。通常、画像データは、画素を単位とする複数ビットのデータとして、ハードディスク等の外部記憶や半導体メモリ等の主記憶の一部に記憶される。階調変換を行なう際には、記憶された画像データを読み出し、所定の閾値との大小関係を判定し、その結果から周辺に分散すべき濃度誤差を演算する。濃度誤差を分散する際には、分散範囲の画素の画像データをメモリから読み出し、これに拡散誤差を加えて書き戻すという処理が行なわれる。この結果、着目画素に対する誤差拡散処理では、多数回のメモリアクセスが発生し、処理に要する時間が長くなってしまうという問題があった。
【0006】
近年、記録されるドット径の微細化が進んでおり、1ラスタを構成するドット数が増える傾向にある。この結果、ドット数の増加に応じて誤差拡散処理の回数は飛躍的に増加し、上記処理時間の問題は看過できないものとなっている。本発明は、1画素当たりの誤差拡散処理を、誤差拡散の範囲に含まれる画素の数より少ない回数のメモリアクセスにより実現することを目的とする。
【0007】
【課題を解決するための手段およびその作用・効果】
上述の課題を解決する本発明の階調データ変換装置は、
階調表現を有する原画像において主走査方向として定めた一方向に沿って着目画素を移しつつ、該画素の階調を、その階調よりも少ない階調表現に変換し、該階調変換により生じた濃度誤差を、該着目画素の少なくとも主走査方向に沿った所定範囲の画素に分配する誤差拡散法を採用し、該誤差拡散による階調変換を、前記主走査方向および該主走査方向に交差する方向である副走査方向に沿って順次行なうデータ変換装置であって、
前記原画像の階調データを保存するメモりと、
前記所定範囲に含まれる複数の画素に対応した多段のレジスタを備え、前記メモりより少なくとも書き込み速度の高い誤差バッファと、
前記着目画素が移動する度に、該誤差バッファ内の各レジスタのデータを該着目画素の移動に合わせて順次次段に転送するシフト回路と、
該シフト回路により順次転送された前記レジスタの最終段の出力を、前記着目画素の階調データに加えた上で、前記少ない階調表現に変換する変換回路と、
該変換回路による階調変換により、該着目画素について生じた濃度誤差を演算する誤差算出回路と、
前記誤差バッファ内の前記レジスタの数に対応した複数個のシフトレジスタを備え、前記演算された濃度誤差のデータを前記各シフトレジスタに入力すると共に、前記各シフトレジスタ毎に定めた重み付けに対応したビット数だけ、前記各シフトレジスタに記憶されたデータをシフトした出力を重み付け濃度誤差データとして、前記誤差バッファの各レジスタに分配加算する分配加算回路と
を備え、
前記誤差バッファは、前記主走査方向に並んだ画素列であるラスタを単位として配列されたレジスタ群から構成され、前記着目画素が含まれる第1のラスタ上の所定範囲の画素に対応した第1のレジスタ群と、該着目画素とは前記副走査方向に隣接した第2のラスタ上の所定範囲の画素に対応した第2のレジスタ群とを備え、
前記シフト回路は、前記着目画素が移動する度に、該誤差バッファ内の前記第1および第2のレジスタ群のうちの各レジスタのデータを該着目画素の移動に合わせて次段のレジスタに読み込ませ、
更に、
独立して交互に読み書き可能な二つのSRAMを設け、
前記着目画素が移動する度に、前記第2のラスタ上の画素であって所定の範囲外となった画素に対応する前記第2のレジスタ群内のレジスタに累積された濃度誤差を、前記SRAMの一方に書き戻す書出回路と、
前記着目画素が移動する度に、前記所定の範囲に新たに含まれるものとなった画素について、隣接するラスタの処理時に前記書出回路によって書き出された濃度誤差の累積値を、前SRAMの他方から、前記誤差バッファ内の前記第1のレジスタ群内の対応するレジスタに、前記濃度誤差の書き戻しと同じタイミングで格納する読込回路と
を備えたことを要旨としている。
【0008】
この階調データ変換装置は、原画像の階調データを保存するメモリより書き込み速度が高速なレジスタを、誤差拡散範囲の画素数に対応して備えており、着目画素が移動する際、レジスタのデータを着目画素の移動に応じてシフトする。その上で、このレジスタの最終段の出力を着目画素の階調データに加えた上で、少ない階調表現に変換している。このため、メモリへのアクセスは、着目画素の画像データを読み出すだけで済み、きわめて高速な処理が可能となる。
【0010】
しかも、誤差拡散範囲を、隣接するラスタ上まで拡張しており、誤差バッファを、主走査方向に並んだ画素列であるラスタを単位として配列されたレジスタ群から構成し、前記着目画素が含まれる第1のラスタ上の所定範囲の画素に対応した第1のレジスタ群と、該着目画素とは前記副走査方向に隣接した第2のラスタ上の所定範囲の画素に対応した第2のレジスタ群とに分けている。更に、独立して交互に読み書き可能な二つのSRAMを設け、シフト回路は、前記着目画素が移動する度に、該誤差バッファ内の前記第1および第2のレジスタ群のうちの各レジスタのデータを、着目画素の移動に合わせてシフトするものとしておき、更に、着目画素が移動する度に、前記第2のラスタ上の画素であって所定の範囲外となった画素に対応する前記第2のレジスタ群内のレジスタに累積された濃度誤差を、前記SRAMに書き出す書出回路と、前記着目画素が移動する度に、前記所定の範囲に新たに含まれるものとなった画素について、隣接するラスタの処理時に前記書出回路によって書き出された濃度誤差の累積値を、前記SRAMから、前記誤差バッファ内の前記第1のレジスタ群内の対応するレジスタに格納する読込回路とを設ける。かかる構成によれば、着目画素の階調データを読み出す他は、SRAMとの間では、誤差分配済みデータを誤差が配分されるラスタ数−1回書き出し、累積誤差のデータをラスタの数−1回読み込むだけで、誤差拡散法による階調変換を行なうことができる。かかる構成により、少なくとも着目画素が存在するラスタとこれに副走査方向に隣接するラスタ上の所定の範囲に、着目画素における濃度誤差を配分することができる。しかも、SRAMへのアクセスとしては、第2のレジスタ群の一つからの書出と第1のレジスタ群への読込という二つのアクセスが必要になるだけであり、演算速度の低下を来たすことがない。更には、独立して交互に読み書き可能な二つのSRAMを設けているから、SRAMから第1のレジスタ群への読み込みと、第2のレジスタ群の一つからSRAMへの書込とを同時に行なっている。したがって、1画素について誤差拡散に要する総時間を、SRAMの1回のアクセス時間と略等しくできる。
【0011】
こうした階調データ変換装置では、レジスタを、該レジスタに記憶されたデータと前記重み付けを施した濃度誤差とを加算した結果または該レジスタの前段のレジスタの出力のいずれか一方を記憶可能なレジスタとすることも好適である。こうすれば、データのシフトと分配加算とを一つの回路で実現することができる。
【0012】
なお、上記の構成では、レジスタには、濃度誤差のみを分配し加算するものとしたが、着目画素が移動して新たな画素が前記誤差拡散範囲に入ってきた場合に、その画素の階調データをレジスタに読み込み、順次これをシフトしつつ、着目画素の濃度誤差を重み付けして分配加算するものとしても差し支えない。この場合は、レジスタの最終段の出力と着目画素の階調データとを加算する必要ない。
【0013】
ここで、各レジスタを、誤差の配分加算とデータのシフトとを、同時に可能なレジスタとしても良い。前のレジスタに保持されていたデータに、新たな濃度誤差を拡散して加えた結果は、着目画素の移動に伴って順次移動されるので、配分演算とデータのシフトとを同時に行なうとことができれば、処理を一層高速化することができる。
【0014】
なお、こうした変換装置における階調変換により得られる階調は、元の画像の階調数より低ければ足り、2階調でも3階調以上でも差し支えない。変換回路は、一つの閾値を用いれば、原画像の階調データを2階調に変換することは容易である。同様に、二以上の閾値を用いて、原画像の階調データを3階調以上に変換することも容易である。
【0015】
階調データ変換装置の各回路は、原画像データが、原色の組み合わせにより原画像を表現する各色の階調データとして構成されている場合には、各色毎に設ければよい。
【0016】
この階調データ変換装置は、印刷装置に組み込むことができる。即ち、本発明の印刷装置は、階調表現を有する画像データを受け取り、複数種類のインクのドットを形成することにより、該画像データに対応した画像を、記録媒体上に形成する印刷装置であって、
上述した階調データ変換装置と、
前記画像データを、該階調データ変換装置に入力するデータ入力手段と、
前記階調データ変換装置による変換結果を受け取り、変換結果に対応した階調のインクのドットを、印刷媒体上に形成するドット形成手段と
を備えることを要旨とする。
【0017】
かかる印刷装置は、原画像データの階調を、低階調に変換しつつ、印刷媒体上にドットを形成して、印刷を行なうことができる。
【0018】
【発明の他の態様】
この発明は、以下のような他の態様も含んでいる。第1の態様は、本発明のデータ変換装置を、コンピュータの拡張スロットに装着する態様とするものである。こうすれば、コンピュータとデータ変換装置をコンパクトに構成することができるので好適である。また、プリンタに限らず、種々のハードコピー装置を用いても、本発明のデータ変換装置による高速な誤差拡散処理の恩恵を被ることができる。
【0019】
第2の態様は、本発明のデータ変換装置を、印刷装置の拡張スロットに装着した態様、若しくは印刷装置と一体に構成した態様である。このようにすれば、データ変換装置と印刷装置をコンパクトに構成することができるので好適である。また、デジタルカメラやデジタルビデオからの原画像データを直接処理することが可能となり、コンピュータなどを介することなく高品質の印刷物を高速に得ることが出来る。
【0020】
【発明の実施の形態】
A.装置の構成
本発明の実施の形態を実施例に基づき説明する。図1は、本発明の実施例としての階調データ変換装置(以下、単にデータ変換装置とも呼ぶ)10を備えた印刷装置の構成を示す説明図である。図示するように、この印刷装置は、コンピュータ80とデータ変換装置10とカラープリンタ20とから構成されている。印刷装置は、コンピュータ80上で動作するグラフィックソフト等のアプリケーションソフトが処理・出力する画像データを、階調データ変換装置10により階調変換し、これを用いてカラープリンタ20で印刷することにより、全体として印刷装置として機能する。コンピュータ80は、カラー画像データORGをデータ変換装置10に出力し、データ変換装置10は、受け取ったカラー画像データORGをカラープリンタ20で印刷可能なデータ形式に変換して、カラープリンタ20に出力する。カラープリンタ20は、データ変換装置10から受け取った変換済みの画像データFNLに基づいて、印刷用紙上にドットを形成することによってカラー画像を印刷する。この結果、コンピュータ80から出力されたカラー画像データに対応したカラー画像が、印刷用紙上に得られることになる。
【0021】
コンピュータ80は、各種の演算処理を実行するCPU81、ROM82,RAM83,ハードディスク84,およびインターフェイス85等から構成されており、これらは図示しないバスによって接続され、相互にデータのやり取りが可能になっている。ROM82は、CPU81で各種の演算処理を実行する際に必要なプログラムやデータを予め格納するために使用される。RAM83は、CPU81で各種演算処理を行なうために必要なプログラムやデータを一時的に記憶するために使用される。ハードディスク84は、ROM82やRAM83に記憶しきれないプログラムやデータを記憶しておくために使用される。インターフェイス85は、コンピュータ80が外部とデータをやり取りするために使用される。
【0022】
コンピュータ80の外部に接続されたカラースキャナ24は、カラー原稿を読み取ってコンピュータ80が解釈可能な画像データに変換する。また、コンピュータ80を、モデム91を介して公衆電話回線PNTに接続すれば、外部のネットワーク上にあるサーバSVから必要なデータを受け取ることが可能となる。
【0023】
コンピュータ80に電源を入れると、ROM82およびハードディスク84に記憶されていたオペレーティングシステムが起動し、オペレーティングシステムの管理の下で、各種アプリケーションプログラムが動くようになっている。印刷すべきカラー原稿はアプリケーションプログラムを使用して作成され、インターフェイス85を介してデータ変換装置10に出力される。また、カラースキャナ24やモデム91を介して外部から取り込んだカラー画像を、アプリケーションプログラムで加工してカラー原稿を作成する場合もある。
【0024】
データ変換装置10は、図示するように、外部からデータを受け取る入力モジュール(INM)11、INM11から入力された原画像の解像度をいわゆるバイリニアやバイキュービックなどの補完処理によりカラープリンタ20の解像度に変換すると共に原画像のデータが赤・緑・青の三原色表現の場合にはカラープリンタ20にて採用されるCYMの三原色表現に変換するカラールックアップモジュール(CLM)12、ディザ法や本実施例に特徴的な誤差拡散方法により濃度誤差を補正するハーフトーンモジュール(HTM)13、HTM13により生成された印刷データをカラープリンタ20の処理に適した順序で記憶してマイクロウェーブなどの独特な印刷を可能とする画素再配置モジュール(MWM)14、カラープリンタ20にデータを出力する出力モジュール(OTM)15、データを一時的に蓄えておくSRAM16、これらを相互に接続しデータのやり取りを可能とするバス17、とから構成されている。バス17は、詳しくはアドレス値が流れるアドレスバスとデータが流れるデータバスとから構成されているが、図1では両者をまとめてバス17と表している。
【0025】
なお、図1では、SRAM16は、各モジュールからアクセスできる一つのメモリとして記載したが、各モジュールごとに分割して設けるものとしても良い。図1に示した構成より、データ変換装置10は、コンピュータ80から供給された画像データORGを、INM11を介して受け取り、初めにCLM12がバス17上にある画像データを取り込んで、色変換を行なう。色変換されたデータを、HTM13が取り込んでハーフトーン処理を行ない、最終的に、MWM14により、カラープリンタ20がそのまま使用できるデータFNLとして出力している。なお、MWM14は、変換結果をSRAM16に一旦蓄えており、OTM15により、カラープリンタ20が要求するタイミングで、SRAM16に蓄えられている画像データを順次読み出してカラープリンタ20に供給される。この結果、コンピュータ80から供給された画像データORGは、プリンタで印刷可能な画像データFNLとしてカラープリンタ20に出力されるのである。
【0026】
カラープリンタ20は、カラー画像の印刷が可能なプリンタであり、本実施例では、印刷用紙上にシアン・マゼンタ・イエロ・ブラックの4色のドットを形成することによって、カラー画像を印刷するインクジェットプリンタを使用している。もちろん、レーザープリンタや熱転写式プリンタ等の、他の方式のカラープリンタを使用することも可能である。
【0027】
このカラープリンタ20は、シアン、マゼンタ、イエロの三原色および黒色インクにより、幅広い階調および色範囲の画像を形成することができるが、シアン,マゼンタについては、濃淡2種類のインクを吐出可能である。更に、各色インクについては、小ドット、中ドット、大ドットの3種類のインク滴を吐出可能である。このため、データ変換装置10も、このプリンタ20に応じた階調変換を行なっている。そこで、まずカラープリンタ20の概略構成について説明する。
【0028】
図2に、本実施例のカラープリンタ20の概略構成を示す。このカラープリンタ20は、図示するように、キャリッジ40に搭載された印字ヘッド41を駆動してインクの吐出およびドット形成を行なう機構と、このキャリッジ40をキャリッジモータ30によってプラテン36の軸方向に往復動させる機構と、紙送りモータ35によって印刷用紙Pを搬送する機構と、制御回路60とから構成されている。キャリッジ40をプラテン36の軸方向に往復動させる機構は、プラテン36の軸と並行に架設されたキャリッジ40を摺動可能に保持する摺動軸33と、キャリッジモータ30との間に無端の駆動ベルト31を張設するプーリ32と、キャリッジ40の原点位置を検出する位置検出センサ34等から構成されている。印刷用紙Pを搬送する機構は、プラテン36と、プラテン36を回転させる紙送りモータ35と、図示しない給紙補助ローラと、紙送りモータ35の回転をプラテン36および給紙補助ローラに伝えるギヤトレイン(図示省略)とから構成されている。制御回路60は、プリンタの操作パネル59と信号をやり取りしつつ、紙送りモータ35やキャリッジモータ30、印字ヘッド41の動きを適切に制御している。カラープリンタ20に供給された印刷用紙Pは、プラテン36と給紙補助ローラの間に挟み込まれるようにセットされ、プラテン36の回転角度に応じて所定量だけ送られる。
【0029】
キャリッジ40には黒(K)インクを収納するインクカートリッジ42と、シアン(C1)・ライトシアン(LC)・マゼンタ(M1)・ライトマゼンタ(LM)・イエロ(Y1)の合計5色のインクを収納するインクカートリッジ43とが装着されている。もちろん、KインクとLCインク・LMインクとを同じインクカートリッジに収納したり、KインクとYインクとを同じインクカートリッジに収納させる等してもよい。複数のインクを1つのカートリッジに収納可能とすれば、インクカートリッジをコンパクトに構成することができる。キャリッジ40の下部にある印字ヘッド41には、K・C・M・Y・LC・LMの各インクに対して、インク吐出用ヘッド44・45・46・47・48・49がそれぞれ形成されている。キャリッジ40の底部には図示しない導入管が各インク毎に立設されており、キャリッジ40にインクカートリッジを装着すると、カートリッジ内の各インクは導入管を通じて、それぞれのインク吐出用ヘッド44ないし49に供給される。各ヘッドに供給されたインクは、以下に説明する方法によって印字ヘッド41から吐出され、印刷用紙上にドットを形成する。
【0030】
図3(a)は各色ヘッドの内部構造を示した説明図である。各色のインク吐出用ヘッド44ないし49には、各色毎に48個のノズルNzが設けられていて、各ノズルには、インク通路50とその通路上にピエゾ素子PEが設けられている。ピエゾ素子PEは、周知のように、電圧の印加により結晶構造が歪み、極めて高速に電気−機械エネルギの変換を行なう素子である。本実施例では、ピエゾ素子PEの両端に設けられた電極間に所定時間幅の電圧を印可することにより、図3(b)に示すように、ピエゾ素子PEが電圧の印加時間だけ伸張し、インク通路50の一側壁を変形させる。この結果、インク通路50の体積はピエゾ素子PEの伸張に応じて伸縮し、この収縮分に相当するインクが、粒子IpとなってノズルNzから高速で吐出される。このインクIpがプラテン36に装着された印刷用紙Pに染み込むことにより、印刷用紙Pの上にドットが形成される。
【0031】
図4は、インク吐出用ヘッド44ないし49におけるインクジェットノズルNzの配列を示す説明図である。図示するように、インク吐出用ヘッドの底面には、各色毎のインクを吐出する6組のノズルアレイが形成されており、1組のノズルアレイ当たり48個のノズルNzが一定のノズルピッチkで千鳥状に配列されている。尚、各ノズルアレイに含まれる48個のノズルNzは、千鳥状に配列されている必要はなく、一直線上に配列されていてもよい。ただし、図4に示すように千鳥状に配列すれば、製造上、ノズルピッチkを小さく設定し易いという利点がある。
【0032】
図4に示すように、各色のインク吐出用ヘッド44ないし49は、キャリッジ40の搬送方向にヘッドの位置がずれている。また、各色ヘッド毎のノズルに関しても、ノズルが千鳥状に配置されている関係上、キャリッジ40の搬送方向に位置がずれている。カラープリンタ20の制御回路60は、キャリッジ40を搬送しながらノズルを駆動する際に、ノズルの位置の違いによるヘッド駆動タイミングの違いを考慮しながら、適したタイミングでそれぞれのヘッドを駆動している。
【0033】
本実施例のカラープリンタ20は、図3,図4に示したように一定径のノズルNzを備えているが、かかるノズルNzを用いて、互いに大きさの異なる3種類のドットを形成することができる。以下に、この原理について説明する。図5は、インクが吐出される際のノズルNzの駆動波形と吐出されるインクIpとの関係を示した説明図である。図5において破線で示した駆動波形が通常のドットを吐出する際の波形である。区間d2において一旦、基準電圧よりも低い電圧をピエゾ素子PEに印加すると、先に図3で説明したのとは逆にインク通路50の断面積を増大する方向にピエゾ素子PEが変形する。ノズルへのインクの供給速度には限界があるため、インク通路50の拡大に対してインクの供給量が不足して、インク通路内の圧力が低下する。この結果、図5の状態Aに示した通り、インク界面MeはノズルNzの内側にへこんだ状態となる。これは、インク通路の負圧とインク界面での表面張力とが釣り合っている状態である。また、図5の実線で示す駆動波形を用いて区間d1に示すように電圧を急激に低くすると、インク通路の圧力は更に低下し、状態aで示すように状態Aに比べて大きく内側にへこんだ状態となる。
【0034】
次に、ピエゾ素子PEに高い電圧を印加すると(区間d3)、インク通路50の断面積の減少により通路内のインクが圧縮され、インク圧力の増加に対応して、インク滴がインクノズルから吐出される。このとき、圧縮開始時のインク圧力が低いと、圧縮後の圧力も低くなるので、吐出されるインク滴も小さくなる。従って、インク圧力があまり低くない状態、すなわちインク界面があまり内側にへこんでいない状態(状態A)からは、状態Bおよび状態Cに示すごとく大きなインク滴が吐出され、インク界面が大きくへこんだ状態(状態a)からは状態bおよび状態cに示すごとく小さなインク滴が吐出される。このように、駆動電圧を低くする際(区間d1,d2)の変化率を変えれば、ドット径を変化させることができる。
【0035】
カラープリンタ20は、2種類の駆動波形を連続的に出力する。この様子を図6に示した。電圧を低くする際の変化率を比べれば、駆動波形W1とW2は、それぞれ小さなインク滴Ipsと大きなインク滴Ipmとに対応していることが分かる。キャリッジ40が主走査方向に移動しながら、駆動波形W1を出力し、次いで駆動波形W2を出力する場合を考える。駆動波形W1により吐出される小さなインク滴Ipsは飛翔速度が比較的小さく、駆動波形W2により吐出される大きなインク滴Ipmは飛翔速度が大きいので、吐出されてから印刷用紙に到着するまでの所要時間は、小さなインク滴IPsの方が長くなる。当然、インクの吐出位置から印刷用紙に到着した位置の主走査方向へ移動距離も、小さなインク滴IPsの方が大きなインク滴IPmより長くなる。従って、駆動波形W1と駆動波形W2のタイミングを調節すれば、図6に示すように、小さなインク滴IPsと大きなインク滴IPmとを同一画素に吐出することが可能となる。
【0036】
本実施例のカラープリンタ20では、駆動波形W1のみをピエゾ素子PEに供給することによって小さなドットを、駆動波形W2のみをピエゾ素子PEに供給することによって中ドットを、駆動波形W1とW2をともに供給し、2つのインク滴を同一画素に吐出することによって大ドットを形成している。もちろん、駆動波形の種類を増やすことによって、更に多種類の大きさのドットを形成することも可能である。
【0037】
図7は、カラープリンタ20の制御回路60の内部構成を示す説明図である。図示するように、制御回路60の内部には、CPU61・PROM62・RAM63・コンピュータ80とのデータのやり取りを行なうPCインターフェース64・紙送りモータ35やキャリッジモータ30等とデータのやり取りを行なう周辺機器入出力部(PIO)65・タイマ66・駆動バッファ67等が設けられている。駆動バッファ67は、インク吐出用ヘッド44ないし49にドットのオン・オフ信号を供給するバッファとして使用される。これらは互いにバス68で接続され、相互にデータにやり取りが可能となっている。また、制御回路60には、所定周波数で駆動波形を出力する発振器70、および発振器70からの出力をインク吐出用ヘッド44ないし49に所定のタイミングで分配する分配出力器69も設けられている。
【0038】
図7に示す構成を有する制御回路60は、コンピュータ80から画像データFNLを受け取ると、ドットのオン・オフ信号を一時RAM63に蓄える。CPU61は、紙送りモータ35やキャリッジモータ30の動きと同期を採りながら、所定のタイミングでドットデータを駆動バッファ67に出力する。
【0039】
次に、CPU61が駆動バッファ67にドットのオン・オフ信号を出力することによって、ドットが吐出されるメカニズムについて説明する。図8は、インク吐出用ヘッド44ないし49の1つのノズル列を例にとって、その接続を示す説明図である。インク吐出用ヘッド44ないし49のノズル列は、駆動バッファ67をソース側とし、分配出力器69をシンク側とする回路に介装されており、ノズル列を構成する各ピエゾ素子PEは、その電極の一方が駆動バッファ67の各出力端子に、他方が一括して分配出力器69の出力端子に、それぞれ接続されている。分配出力器69からは、図8に示す通り、発振器70の駆動波形が出力されている。CPU61が駆動バッファ67に、各ノズル毎のドットのオン・オフ信号を出力すると、オン信号を受け取ったピエゾ素子PEだけが駆動波形によって駆動される。この結果、駆動バッファ67からオン信号を受け取っていたピエゾ素子PEのノズルから一斉にインク粒子Ipが吐出される。
【0040】
以上のようなハードウェア構成を有するカラープリンタ20は、キャリッジモータ30を駆動することによって、各色のインク吐出用ヘッド44ないし49を印刷用紙Pに対して主走査方向に移動させ、また紙送りモータ35を駆動することによって、印刷用紙Pを副走査方向に移動させる。制御回路60の制御の下、キャリッジ40の主走査および副走査を繰り返しながら、適切なタイミングで印字ヘッド41を駆動することによって、カラープリンタ20は印刷用紙上にカラー画像を印刷している。
【0041】
尚、本実施例では、上述のようにピエゾ素地PEを用いてインクを吐出する方式のカラープリンタ20を用いているが、他の方式によるプリンタを用いるものとしてもよい。例えば、インク通路に配置したヒータに通電し、インク通路内に発生する泡(バブル)によってインクを吐出する方式のプリンタや、熱転写等の他の方式のプリンタに適用するものとしてもよい。また、形成するドットの大きさ、インクの濃淡を更に増加させて濃度表現の解像度を更に向上させてもよい。
【0042】
B.データ変換処理
カラープリンタ20は、上述のようにカラー画像を印刷する機能を有するが、カラープリンタ20が扱うことのできる画像データの形式は、コンピュータ80が扱うことのできる画像の形式とは異なっている。一般には、解像度、色表現形式、濃度表現の階調などが異なる。このため、コンピュータ80上にあるカラー画像をカラープリンタ20で印刷するためには、データ形式をカラープリンタ20の扱うことができるものに変換する必要がある。このデータ変換を行なうのが、階調データ変換装置10である。
【0043】
階調データ変換装置10の内部構成は、図1によって既に大まかには説明した。本実施例では、このデータ変換装置10は、いわゆるディスクリートな回路構成によりハードウェアとして実現されている。かかるデータ変換装置10の内部で実行されるデータ変換処理の概要について、図9を用いて簡単に説明する。なお、図9は、データ変換装置10が行なう処理の概要を示しており、プリンタ20内部やコンピュータ80内部のCPUが実行するソフトウェアを示すものではない。
【0044】
コンピュータ80の中では、画像はマトリックスデータとして、つまり数字を縦・横に多数(例えば1000行ずつ)並べた大きな表のようなものとして扱われている。表を構成している各マスは画素と呼ばれていて、コンピュータ80は画素の値(階調値)をその地点での明るさと解釈する。階調値が8ビットで表現されている場合は、それぞれの階調値は0から255の間の値を取ることができ、階調値0は最も暗い状態を、階調値255は最も明るい状態を表している。このようにしてコンピュータ80の中では、白黒画像は1枚のマトリックスデータによって表現されている。また、カラー画像もマトリックスデータを用いて表現することができる。すなわち、色彩学の教えるところによれば、赤色・緑色・青色の3色の光を適切に混合することであらゆる色を表現することができるので、赤色・緑色・青色の各色の明暗画像を表すマトリックスデータ、すなわちR画像・G画像・B画像が合成されたものとして、カラー画像を扱うことができる。
【0045】
このような画像データをカラープリンタ20で印刷するために、データ変換装置10は、解像度変換処理を行なう(ステップS100)。この処理の内容を以下に説明する。例えば、縦・横1000×1000の画素からなる画像データを、縦・横10cmの大きさに印刷する場合を考える。この場合は1画素が印刷用紙上では0.1mmに相当する。1画素が印刷用紙上の何mmに相当するかは、画像を印刷しようとする大きさによって、当然変わってくる。ここで、プリンタが単位長さ当たりに形成するドットの数(これをプリンタの解像度と呼ぶ)は、プリンタ機種によって決まっているから、画像を印刷しようとする大きさによって、原画像の解像度とプリンタの解像度とが一致する場合としない場合が生じる。プリンタの解像度が原画像の解像度と異なっているのでは、データ処理の都合上不便なので、画素を間引いて原画像の画素の数を減らしたり、逆に補間により画素の数を増やす等して、原画像の解像度をプリンタの解像度に一致させておくと便利である。解像度変換処理では、このような処理を行なう。
【0046】
解像度変換処理が終わると、データ変換装置10は、色変換処理を行なう(ステップS102)。前述したように、コンピュータは一般に、カラー画像を赤色(R)・緑色(G)・青色(B)の3色で表現するが、プリンタは一般にカラー画像を、シアン色(C)・マゼンタ色(M)・イエロ色(Y)の3色で表現する。従って、カラー画像の印刷に際しては、R・G・Bの3色による色の表現方法を、C・M・Yの3色による色の表現方法に変更する必要がある。色変換処理はこのような変換を行なう処理である。色変換処理を行なうと、それぞれ256階調を持ったR・G・B階調画像データが、256階調を持ったC・M・Yの階調画像データに変換される。
【0047】
実際には、コンピュータは、図10に示すような色変換表を参照して、R・G・B階調値をC・M・Yの階調値に変換している。図示するように、変換表は、R・G・Bの階調値を軸とする3次元の数表であり、各軸の値は0から255の値を採りうる。このように1辺の長さが255で、各辺がR・G・B軸となっているような立方体を色立体と呼ぶ。また、互いに直交するR・G・B各軸が張る空間を色空間と呼ぶ。変換表は、色立体を小さな立方体に細分し、小さな各立方体の頂点毎に、対応するC・M・Yの階調値を記憶したものである。変換表を参照して色変換を行なうには、次のようにして行なう。例えば、R・G・B階調値がそれぞれRA・GA・BAで表される色をC・M・Y階調値で表現する場合、色空間上で座標(RA,GA,BA)の点Aを考え、点Aを含むような小さな立方体(dV)を見つけ出す。この立方体の各頂点のC・M・Y階調値を、変換表を参照して求め、得られたC・M・Y階調値から、補間によって点AのC・M・Y階調値を求める。
【0048】
また、ほとんどの場合は、色変換処理の中で色補正や下色除去も併せて行なう。色補正とは、R・G・Bそれぞれの階調値を補正することによって、カラー画像を読み込む際に装置毎に感度特性が違う影響を除いたり、または、C・M・Yの各階調値を予め補正して印刷装置毎の色再現特性の違いを除くための処理をいう。色補正を行なうことにより、画像を読み込む機器や印刷装置の違いによらず、正確な色を表現することが可能となる。
【0049】
下色除去とは、C・M・Y階調画像から黒色(K)成分を抽出し、C・M・Y・Kの階調画像データに変換する処理である。下色除去を行なうことにより、等量ずつのC・M・Y3色のインクを同量のKインク1色で置き換えることができるので、インク使用量を減少させることができ、インクデューティの面からも好ましい。
【0050】
色変換処理を終了すると、データ変換装置10は、ハーフトーニング処理を行なう(ステップS104)。以下にこの処理の内容について説明する。色変換後の画像データは、C・M・Y・Kの4色のマトリックスデータとなっていて、それぞれの画素は256階調のいずれかの値を採る。一方プリンタは、印刷用紙上にドットを形成することによって画像を印刷しており、ドットは形成するか否かの2つの状態しか採り得ない。これを改善するために、前述のようにドットの大きさを変える、インクとして淡い三原色を用意するなどして中間状態を含めた多値のドットを印刷可能なプリンタも存在するが、これら機械的な対処では依然として表現しうる階調値には限界がある。従って、256階調を有する画像を、プリンタが表現できる非常に少ない階調で表現された画像に変換する必要がある。このような変換を行なう処理がハーフトーニング処理である。
【0051】
図11は、ハーフトーニング処理を行なった様子を示す説明図であり、図11(a)はハーフトーニング処理を行なう前の色変換後の画像データを、また図11(b)はハーフトーニング処理を行なった後の画像データの原理を示している。図示するように、ハーフトーニング処理前の画像を構成する各画素には、256階調のいずれかの値が書き込まれているが、ハーフトーニング処理後の画素には、ドットを形成する(ON)か、しないか(OFF)を表すいずれかの値が書き込まれている。尚、図11(b)では、ドットの分布状況を分かり易くするために、ONが書き込まれている画素にはハッチを施し、OFFが書き込まれている画素は白抜きで表している。なお、この図11は、シアン,マゼンタ,イエロ,ブラックの4色について、ドットを形成する・しないという単純な2値化の例を示しているが、本実施例のプリンタ20は、通常のシアン,マゼンタインクの他に、濃度の低いライトシアンインク,ライトマゼンタインクによりドットが形成可能であり、更に、各色について大中小のドットが形成可能である。従って、実施例におけるハーフトニングは、単純な2値化ではなく、シアン,マゼンタについては、最大7値化が可能であり、イエロ,ブラックについては、最大4値化が可能である。
【0052】
256階調を有する画像データを、プリンタで表現可能な階調数に応じて単に2値化もしくは3値化等するだけなら、所定の閾値と各画素の階調値とを比較し、値の大小によって多値化することも可能である。しかし、このように多値化した画像を印刷すると、原画像には存在しないいわゆる疑似輪郭が印刷画像に現れるという問題が生じる。そこで、この問題を回避すべく、ハーフトーニングの手法には多くの方法が提案されており、代表的なものに、組織的ディザ法と呼ばれる方法と、誤差拡散法と呼ばれる方法とがある。これらの処理は、通常は、コンピュータ80にインストールされたプリンタドライバ内で実行されるが、本実施例では、データ変換装置10の内部で、ハードウェアにより実行される。その具体的構成については後述する。
【0053】
ハーフトーニング処理が終了すると、画素の再配置を行なう(ステップS106)。この処理は、ハーフトーニング処理によってドット形成の有無を表す形式に変換された画像データを、カラープリンタ20に転送すべき順序に並べ替える処理である。すなわち、前述のようにカラープリンタ20は、キャリッジ40の主走査と副走査を繰り返しながら、印字ヘッド41を駆動して、印刷用紙Pの上にドット列を形成していく。図4を用いて説明したように、各色毎のインク吐出用ヘッド44ないし47には、複数のノズルNzが設けられているので、1回の主走査で複数本のドット列を形成することができるが、それらのドット列は、互いにノズルピッチkだけ離れている。ノズルピッチkはできるだけ小さな値とすることが望ましいが、ヘッド製造の都合上、ノズルピッチkを画素の間隔(ノズルピッチkが1の場合に相当)まで小さくすることは困難である。その結果、画素間隔で並ぶドット列を形成するには、先ず、ノズルピッチkだけ離れた複数のドット列を形成し、次にヘッド位置を少しずらして、ドット列の間に新たなドット列を形成していくといった制御が必要となる。
【0054】
また、印刷画質を向上させるために、1本のドット列を複数回の主走査に分けて形成したり、更には、印刷時間を短縮するため、主走査の往動時と復動時のそれぞれでドットを形成するといった制御も行なわれる。これらの制御を行なうと、カラープリンタ20が実際にドットを形成する順序は、画像データ上で画素の順序と異なったものとなるので、画素再配置処理において、データの並べ替えを行なうのである。画素再配置処理を行なうと、画像データはプリンタ20が印刷可能な形式の画像データFNLに変換される。
【0055】
C.データ変換装置の内部構成および動作
前述したようにデータ変換装置10は、ディスクリートな回路構成により実現されたCLM(カラールックアップモジュール)12を初めとする複数のモジュールによって構成されている。各モジュールは、前述した画像データ変換の各工程(図9参照)を、分担して行なっており、コンピュータ80から供給された画像データORGは、それぞれのモジュールで所定の処理を加えられ、最終的には、カラープリンタ20で印刷可能な画像データFNLに変換される。以下に、それぞれのモジュールの動作について説明する。
【0056】
(1)カラールックアップモジュール(CLM)
CLM(カラールックアップモジュール)12は、解像度変換(ステップS100)と色変換(ステップS102)とを行なうモジュールであり、図12に、その構成を、ブロック図として示した。図12に示すように、このモジュールは、バス17からデータの取り込みを行なうIPM120と、取り込んだデータの解像度変換を行なうスキャンコンバータ(以下、SCV)121、変換されたデータの色変換を行なうカラーコンバータ(CCV)122、変換したデータをバス17に出力するOPM(アウトプットインターフェイスモジュール)123、SRAM16との間でデータのやり取りを司るメモリインタフェースモジュール(MIF)126の5つのサブモジュールから構成されている。OPM123には、次段のハーフトーンモジュール(HTM)13に割り付けられたアドレス値が予め設定されており、該アドレス値とともに、CCV122の変換結果をバス17に出力する。また、SRAM16には解像度変換に必要なバイリニアあるいはバイキュービクルのマップ、色変換処理に必要な色立体(図10参照)データが記憶されており、SCV121、CCV122は、受け取った画像データを、メモリインターフェース(MIF)126によりアドレスに変換し、このアドレスを用いてSRAM16内を参照することにより、SRAM16から、解像度変換されたデータおよびこれを色変換されたデータを読み出すことができる。
【0057】
通常の場合、すなわちコンピュータ80から出力されるデータがRGBの階調画像データである場合は、CLM12のSCV121、CCV122による上記変換処理が必要となる。ところが、コンピュータ80から供給される画像データが、解像度に関する指定が無く、白黒画像である場合または色変換済みの画像データである場合などには、データ変換装置10で色変換処理を行なう必要はない。このような場合は、IPM120が入力したデータは、図12に示したように、SCV121,CCV122を介することなく、OPM123からバス17に出力される。なお、図1では、前段のモジュールが処理したデータは、次段のモジュールが直接受け取るものとして描いてあるが、データに、次に処理を行なうべきモジュールに予め割り当てられたアドレス値を付加しておき、各モジュールがバス17に現われたデータから、自分が取り込むべきデータを判断して処理を行なうものとしてもよい。この場合には、各モジュールのOPMが出力するデータに付加するアドレス値を変更することによって、そのデータを受け取って処理を行なうモジュールを自由に指定することができる。
【0058】
なお、これらの演算を実行するには相応の処理能力を有する制御回路が必要となる。この様な複雑な処理を実行する制御回路には、2つの方式が知られている。1つ目の方式はランダムロジック方式と呼ばれる方式であって、フリップフロップと、ANDゲートやORゲート等の基本ゲートとを組み合わせ、いわゆる順序回路を形成し、所定の制御信号を発生させるものである。もう1つの方式は、マイクロプログラム方式と呼ばれる方式と呼ばれるものであって、一連の制御信号を予め記憶しておき、記憶しておいた制御信号を次々と読み出して演算回路部に供給することにより、演算回路部に所定の演算を行なわせるものである。どちらの方式を採用することもできるが、本実施例の各モジュールでは、動作の迅速性に優れるランダムロジック方式を採用している。
【0059】
(2)ハーフトーンモジュール(HTM)
ハーフトーンモジュール(HTM)13の構成を、図13に示す。このHTM13は、色補正済みのデータを用いて多値化の処理を行なうモジュールである。図示するように、このモジュールも、他のモジュールと同様に、バス17からデータの取り込みを行なうIPM(インプットサブモジュール)130と、取り込んだデータに対して、ハーフトーニング処理のための予備的な処理を行なうプレディザテーブルモジュール(PRDT)131、PRDT131の出力するデータを用いて誤差拡散法を基本とするハーフトニング処理を行なうハーフトーンブロックモジュール(HB)132、変換したデータをバス17に出力するOPM(アウトプットインタフェースモジュール)133、SRAM16との間でデータのやり取りを司るメモリインタフェースモジュール(MIF)136の5つのサブモジュールから構成されている。
【0060】
PRDT131は、ハーフトニングのための予備的な処理を行なうモジュールであり、次の処理を行なう。まず、階調データDSを入力し、1ビットモードが指定されている場合には、図14により、他方2ビットモードが指定されている場合には、図15により、それぞれ、各ドットのドット記録率の期待値のデータに変換する処理を行なう。1ビットモードとは、形成されるドットが各色について単一の場合を言う。また、2ビットモードとは、形成されるドットが各色について、大中小の3種類である場合を言う。後者においては、ドットなし、小ドット、中ドット、大ドットの4階調が一つの画素について実現可能であり、4階調=2ビットであることから、2ビットモードと呼んでいる。カラープリンタ20が発生し得るドットが、複数種類(例えば本実施例のように大中小の3種類)の場合、図15に示した例では、階調値が増加するにつれて、小ドット記録率が増加し、階調値がある値DS1以上になると中ドットか形成されるようになり、更に階調値DSが所定値DS2以上になると大ドットが形成されるように設計されている。また、濃度表現力の分解能が最も高い小ドットは、濃度階調の総ての範囲において出現するように設計されている。
【0061】
PRDT131の内部構成は特に図示しないが、与えられた階調データを用いて、SRAM16内に記憶されたテーブルを参照することにより、大中小の各ドットの記録率の期待値のデータを読み出す簡易な構成により、ハードウェアとして容易に実現可能である。例えば、入力階調値をアドレスの下位ビットに割り当て、各色の違いを上位ビットに割り当て、両者を合成して得られたアドレスによりSRAM16からデータを読み出す構成などが考えられる。読み出された各データ、即ち大中小のドットの記録率の期待値を、それぞれ大ドットデータLin、中ドットデータMin、小ドットデータSinと呼ぶものとする。変換後のデータを単にドット記録率とせず、ドット記録率の期待値と呼ぶのは、最終的に各ドットを形成するか否かは、HB132により判断されるからである。HB132内部の処理については、後で詳しく説明する。
【0062】
1ビットモードまたは2ビットモードのいずれにせよ、PRDT131により、原画像の階調データDSは、ドット記録率に対応したデータに置き換えられることになる。なお、図14では、階調値とドット記録率との関係をほぼ直線的に描いているが、階調値とドット記録率との関係は、カラープリンタ20が有する画像再現上のγ特性などを補正して原稿画像の濃度を正確に再現するよう定められるので、必ずしも直線的な関係になるとは限らない。
【0063】
次に、HB132の内部構成とその働きについて説明する。HB132の内部構成は、処理の高速化のために、ディスクリートなハードウェア構成により実現されている。この構成を、図16〜図22に階層的に示す。各図の関係を予め説明すると、図16はHB132の概略構成を示すブロック図である。図17は、HB132内部で多値化の処理をしている第1のハーフトーン回路210の構成を示すブロック図、図18は、同じく第2のハーフトーン回路220の構成を示すブロック図である。更に、図19は、ディザマトリクスの考え方を示す説明図、図20は、第2のドット形成判定回路212,小ドット形成判定回路223の内部構成を示す機能ブロック図、図21は、ドットデータ出力回路EEの機能ブロック図である。更に図22は、誤差拡散範囲を示す説明図、図23は、HB132における誤差演算回路250の内部構成を示すブロック図、図24は、誤差演算回路250における主走査バッフアMBおよび副走査バッファSBの内部構成を示すブロック図である。
【0064】
図16に示したように、HB132は、シアン,マゼンタ,イエロ,ブロックの4色についてハーフトーン処理を行なうハーフトーン回路210、ライトシアン,ライトマゼンタの2色に対応したハーフトーン処理を行なうハーフトーン回路220、これらのハーフトーン回路210,220の動作を制御する制御回路230、各ハーフトーン回路210,220の動作を受けて誤差拡散の計算を行なう誤差演算回路250、各ハーフトーン回路210,220の出力を受けてこれをフォーマットしかつ選択的に出力する出力回路270等を備える。なお、シアン,マゼンタ,イエロ,ブロックの4色についてハーフトーン処理を行なうハーフトーン回路210は、4つとも同一の構成を有するが、以下の説明で区別が必要になる場合には、それぞれハーフトーン回路210K1,210C1,210M1,210Y1と表記する。また、ライトシアン,ライトマゼンタの2色に対応したハーフトーン処理を行なうハーフトーン回路220も、同様に、ハーフトーン回路220C2,220M2として区別する。
【0065】
ハーフトーン回路210は、図17に示すように、組織的ディザ法により大ドットおよび中ドットのオン・オフを判定する第1のドット形成判定回路211と、誤差拡散により小ドットのオン・オフを判定する第2のドット形成判定回路212とを備える。他方、ハーフトーン回路220は、図18に示すように、組織的ディザ法により大ドットのオン・オフを判定する大ドット形成判定回路221と、誤差拡散により中ドットのオン・オフを判定する中ドット形成判定回路222と、同じく小ドットの判定を行なう小ドット形成判定回路223とを備える。各図に示したように、ハーフトーン回路210は、大ドットおよび中ドットのドット形成を、一括してディザ法により判定し、小ドットのドット形成を誤差拡散により判定する構成となっている。他方、ハーフトーン回路220は、大ドットのドット形成をディザ法により判定し、中ドットおよび小ドットの判定を、誤差拡散により行なう構成となっている。
【0066】
ハーフトーン回路210および220には、前段のPRDT131による処理によって求められた大中小ドットそれぞれの記録率の期待値のデータ、即ち大ドットデータLin、中ドットデータMin、小ドットデータはSinを入力し、これらのデータに対して組織的ディザ法及び誤差拡散法による濃度調整を行ない、最終的に大ドット、中ドット、小ドットの形成を行なうか否かの二値的なデータ(Lon、Mon、Son)を出力する。
【0067】
そこで、次に第1のドット形成判定回路211の内部構成とその働きについて簡略に説明する。なお、入出力の信号線は異なるものの、大ドット形成判定回路221もほぼ同様の回路構成を備える。第1のドット形成判定回路211には、各画素の各色(C,M,Y,LC,LM,K)について大ドットおよび中ドットのドット記録率の期待値である大ドットデータLin,中ドットデータMinと、ディザマトリクスからの閾値データDthとが入力される。即ち、第1のドット形成判定回路211は、SRAM16に記憶したディザマトリクスから得られる閾値データDthを参照して、ドットのオン・オフの割合を決定する回路である。閾値データDthは、次のように決定する。SRAM16の所定のアドレスには、図19に示すように、横方向のサイズがDX、縦方向のサイズがDYの分散型ディザマトリクスを大中のドット用にそれぞれ記憶しておく。第1のドット形成判定回路211には、各画素の位置の情報(X,Y)を入力し、この画素の位置情報(X,Y)を、ディザマトリクスのサイズDX,DYでそれぞれ除した余りを求める演算器が設けられている。この演算器からの出力をMIF136によりアドレスに変換し、変換済みのアドレスを用いて、SRAM16に記憶されたディザマトリクスから大中のドットについての閾値データDthを読み出す。第1のドット形成判定回路211の内部には、二つの比較器が設けられており、それぞれの比較器により、大ドット用の閾値データDthlと大ドットデータLin、中ドット用の閾値データDthmと中ドットデータMinとを比較する。大ドットデータLinの方が大きければ、大ドットをオン(ドットを形成)とし、閾値データDthlより大ドットデータLinが小さければ、大ドットをオフ(ドットを非形成)とする。なお、大ドットを形成しない場合のみ、中ドットについても同様の判断を行ない、中ドットの形成について判断する。
【0068】
分散型のディザマトリクスは、一様なドットデータが入力されたとき、ドットの分散性を確保して、ドットが順次オンになっていくように、閾値を定めてあるから、このディザマトリクスを用いて、各画素のドットのオン・オフを決定することにより、原画像の階調値を反映させたハーフトニングを、高速に完了することができる。なお、上記の説明では、大ドットと中ドットについて、別々の閾値データDthl,Dthmを用いるものとして説明したが、実際の回路では単一の閾値データDthを入力し、これをシフトすることにより、両ドットで共用している。この場合には、大ドットや中ドット単独での分散性に加えて、大中の両ドット全体での分散性も確保されることになり好適である。
【0069】
以上第1のドット形成判定回路211の構成と働きについて説明したが、大ドット形成判定回路221もほぼ同一の回路構成を有する。異なるのは、大ドット形成判定回路221が、大ドットデータLinと閾値データDthのみを入力しており、大ドットについてのみドット形成の有無を判断する点だけである。
【0070】
次に、第2のドット形成判定回路212の構成と働きについて説明する。なお、中ドット形成判定回路222,小ドット形成判定回路223も、この第2のドット形成判定回路212とほぼ同一の回路構成を有する。基本的な考え方、回路構成、動作は同一であり、判断の対象のみ異なる。そこで、第2のドット形成判定回路212を代表例として、以下誤差拡散を用いてハーフトニングする回路について説明する。第2のドット形成判定回路212は、前段のPRDT131から出力される小ドットデータSinと、誤差拡散により周辺の画素から拡散されてきた誤差の累積値er00とを外部から受け取り、更に内部的には、第1のドット形成判定回路211によるドット形成の判断結果Lon,Monとを入力する。第1のドット形成判定回路211からのその判断結果を受け取るのは、大ドットや中ドットが形成された場合には、小ドットを形成しないからである。即ち、判断結果を示す信号Lon,Monは、第2のドット形成判定回路212の動作において小ドットの形成を行なわせないためのマスク信号として働いている。
【0071】
第2のドット形成判定回路212は、小ドットデータSinに誤差の累積値er00を加えた値と予め内部に用意した閾値とを比較し、加算値が閾値より大きければ小ドットを形成するものと判断し、逆の場合には、小ドットを形成しないと判断する回路である。このドット形成の判定結果が、信号Sonとして出力される。また、小ドットがオン・オフいずれかに決定されると、小ドットの形成の有無に応じて、その画素における濃度誤差が求められる。これが、周辺に拡散すべき濃度誤差erwとして、誤差演算回路250に出力される。
【0072】
第2のドット形成判定回路212の動作の概要は、以上の通りであるが、実際には、更に種々の条件を考慮して、小ドットのオン・オフを判定している。図20は、実際の第2のドット形成判定回路212の内部構成を示すブロック図である。図20に示すように、第2のドット形成判定回路212は、ドットデータ生成回路213、閾値生成回路214、比較器215、マスク回路216、ホワイトフラグ回路217および誤差算出回路218から構成されている。ドットデータ生成回路213は、修正ドットデータpdsrcと誤差の累積値er00とを加算する加算回路add1と、その加算値を保持するラッチLL1とからなる。誤差の累積値er00は、誤差演算回路250により演算されるが、その詳細については後述する。
【0073】
ドットデータ生成回路213に入力される修正ドットデータpdsrcは、図21に示したドットデータ出力回路EEにより生成される信号であり、図示するように、小ドットデータSinのみならず、大ドットデータLin,中ドットデータMin、更には黒色インクについてのドットデータKin、ペアレントカラーについてのドットデータPCinをも考慮して生成される値である。ここで、ペアレントカラーとは、淡インクの場合の濃インクを意味しており、ライトシアンインクについての判定を行なう場合には、シアンインクのドットデータを参照することになる。このドットデータ出力回路EEは、ゲートアレイにより形成されており、ドット形成判定回路が判定する対象が小ドットである場合には、小ドットデータSinに基づき、これを他のドットデータで補正した信号を出力する。例えば、ハーフトーン回路210がライトシアンの小ドットについて判定を行なう場合には、ライトシアンインクの小ドットのドットデータSinをそのまま誤差拡散によるハーフトニングに供するのではなく、その周辺に仮に黒色のドットが形成されている場合には、ここにライトシアンのインクによる小ドットが形成されにくくなるように、局所的に小ドットデータを小さくするよう局所的に補正を行なうのである。こうした補正を受けたドットデータを修正ドットデータpdsrcと呼んでいる。
【0074】
併せて、図21に示したドットデータ出力回路EEが生成する信号を説明する。ドットデータ出力回路EEは、上述した修正ドットデータpdsrcの他、後段のハーフトニング処理における閾値を決めるためのデータatsrc、着目画素にドットを形成した際の影響の及ぶ範囲を決定する信号pogsrcなども出力している。信号atsrcは、この値を利用してSRAM16を参照し、閾値データsrmdinを求めるために利用される信号である。閾値データsrmdinについては、後述する。また、信号pogsrcは、ポストガンマ補正などに用いられる信号であり、ドットを形成した場合の影響の度合いを、ドット形成の状況により変更する目的で用いられる。本実施例では、この信号についての説明は省略する。
【0075】
図20に示したドットデータ生成回路213に入力される修正ドットデータpdsrcは、上記の通り、他のドットデータによっても影響を受けたデータではあり、判断しようとする画素自体の小ドットデータSinのみならず、他のドットデータの影響を考慮したものとなっている。これらを考慮したドットデータと周辺の画素から配分された誤差の累積値er00とが、ドットデータ生成回路213の加算器add1により加算され、ラッチLL1により保持され、出力されることになる。
【0076】
他方、閾値生成回路214は、ドット形成の判定を行なう閾値データsrmdinとノイズ信号nosとを加算する加算器add2と、その加算値を保持するラッチLL2とからなる。ここで、閾値データsrmdinは、先に図21に示したゲートアレイにより生成される信号atsrcに基づいて、SRAM16を参照することにより得られた信号である。閾値データsrmdinは、誤差拡散における尾引きなどの問題解消するために、ドットデータに応じた値が生成されるが、平均値は、小ドットデータの平均値と略同一の値となる。また、ノイズ信号noiseは、誤差拡散における疑似輪郭の発生などを防止するために、閾値に加えられるランダムノイズである。この閾値生成回路214により、誤差拡散法の判断における閾値が適切に求められ、これがラッチLL2により保持され出力されることになる。
【0077】
ドットデータ生成回路213および閾値生成回路214からの出力は、比較器215に入力され、ここでその大小の比較が行なわれる。比較器215による比較の結果は、マスク回路216および誤差算出回路218に出力される。マスク回路216に出力された判定結果は、最終的には、小ドットのオン・オフを示す信号Sonとして出力される。また、小ドットデータSinを入力しているホワイトフラグ回路217の出力も、マスク回路216および誤差算出回路218に入力されている。更に、誤差算出回路218には、ドットデータ生成回路213の出力や、小ドットを形成した場合のドットの濃度評価値(オンバリュー)onvなどの信号も入力されている。
【0078】
マスク回路216には、この他、他の色や他の大きさのドットに関するドット形成の判定結果も入力されている。即ち、黒色インク用のハーフトーン回路210K1の判定結果Kon、同じ色のインクの大ドットの判定結果Lon、同じく中ドットの判定結果Mon、更にペアレントカラーについての判定結果PConが入力されている。ペアレントカラーについての判定結果PConは、ライトシアンインクについてのドット形成判定回路ではシアンインクについての判定結果Conが、ライトマゼンタインクについてのドット形成判定回路ではマゼンタインクについての判定結果Monが、それぞれ相当する。マスク回路216は、これらの判定結果を入力し、比較器215による判定結果がオン、即ちその画素に小ドットを形成すると判断した場合でも、黒色ドットやペアレントカラーのドット、あるいは同じ色のインクの大または中ドットが形成されている場合には、小ドットをオンにする信号をマスクして、判定結果Sonをオフとする。なお、マスク回路216により信号がマスクされたことは、誤差算出回路218にも出力され、通知される。
【0079】
ホワイトフラグ回路217は、修正ドットデータpdsrcを入力し、この修正ドットデータpdsrcが値0の場合に、ホワイトフラグと呼ばれるフラグ信号を出力する回路である。この信号が出力されると、マスク回路216はドットが形成されないように比較器215の判定結果をマスクし、誤差算出回路218は誤差計算を一旦打ち切る。これは、濃度の高い二つの領域の間に真っ白の細い領域が存在する場合で、この白い領域が誤差拡散の範囲を超えている場合に有用な技術である。誤差拡散の範囲については、まだ説明していないが、通常ラスタ方向に数画素から十数画素、場合によっては数十画素の範囲に亘って、誤差は拡散される。この場合、白い細い領域の幅が、誤差拡散の範囲より狭いと、誤差は、真っ白な領域を越えて、隣接する領域に影響を与えることがあり得る。こうした場合にホワイトフラグ回路217が出力するホワイトフラグを用いてこの影響を除くのである。また、真っ白な領域では、ドットを強制的に形成しないようにマスクするのである。
【0080】
誤差算出回路218は、誤差の演算をするものであり、基本的には、比較器215および誤差算出回路218の出力を参照して、ドットを形成するとの判断がなされた場合には、ドットデータ生成回路213の出力と評価値onvとの差分を、濃度誤差erwとして演算、ドットを形成しないと判断された場合には、ドットデータ生成回路213の出力を濃度誤差として演算する回路である。
【0081】
以上図17ないし図21を用いて説明した回路構成により、シアン,マゼンタ,イエロ,ブラックインクのドットについては、大ドットデータLinおよび中ドットデータMinを分散型ディザにより処理して大ドットおよび中ドットのオン・オフを決定し、この判定結果その他を利用して、小ドットデータSinと周辺画素からの濃度誤差の累積値er00に基づいて、誤差拡散法により小ドットのオン・オフを決定することができる。また、ライトシアン,ライトマゼンタインクのドットについては、大ドットデータLinについては分散型ディザにより処理して大ドットのオン・オフを決定し、中ドットおよび小ドットについては、それぞれ誤差拡散方により、各ドットのオン・オフを決定することができる。
【0082】
以上の説明したように、第2のドット形成判定回路212や中ドット形成判定回路222,小ドット形成判定回路223による誤差拡散処理では、現在処理中である画素に中ドットや小ドットを形成するか否かを判断するために、各画素で発生した濃度誤差erwに所定重み付けをしつつ累積した濃度誤差の累積値er00のデータが必要となる。本実施例では、誤差拡散の範囲は、図22に示すように、着目している画素Pと同じラスタ内で主走査方向に16画素分、着目画素Pが属するラスタに副走査方向に隣接するラスタ内で18画素分、計34画素分となっている。したがって、一つの画素についてドットを形成するか否かの判断を行なうと、ドット形成の有無により生じた濃度誤差erwを、所定の重み付けを行ないつつ、34個のデータに分けてこれを逐次累積していくことが必要になる。この様な時系列的に過去のデータを累積したデータである累積値er00は、通常ならば各画素の処理によって濃度誤差erwが発生するたびにSRAM16の34画素分のアドレスに一旦記憶し、着目画素Pについての判断を行なう際にSRAM16から読み出して処理することが情報処理の技術分野では一般的である。しかし、この様に多数のデータをSRAM16を介して得ていたのでは、処理時間が長いSRAM16へのアクセス処理を多数回に亘って行なうことになり、誤差拡散処理に多大な処理時間を必要とする。SRAM16の参照などをCPUを用いず、ハードウェアにより行なっても、アクセスの回数が多いため、処理時間が長くかかることには変わりがなかった。
【0083】
本実施例では、かかる問題を考慮して、高速アクセス可能なレジスタ群からなる誤差演算回路250を採用している。そこで、以下この誤差演算回路250の構成と働きについて、詳しく説明する。なお、図22に例示したように、本実施例では、着目している画素Pについて発生した誤差を、周辺の34の画素に配分するが、その際の重み付けは、着目画素に主走査方向または副走査方向に隣接する画素については1/8、主走査方向に一つ隔たった画素については1/16、二つおよび三つ隔たった画素については1/32、主走査方向にそれ以上に隔たった残り12の画素については1/64である。また着目画素が属するラスタに隣接するラスタ内では、着目画素に隣接する1/8の重み付けの画素の両隣が1/16、このラスタ内で主走査方向に一つ戻った位置の画素については1/16、更に二つおよび三つ戻った位置の画素については1/32、このラスタ内でそれ以上に隔たった残り12の画素については1/64となっている。これらの重み付けの総和は、値1(=2×1/8+4×1/16+4×1/32+24×1/64)である。
【0084】
誤差演算回路250は、SRAM16へのアクセスを最小限度としつつ上記誤差拡散処理に必要なデータであるer00を演算し、図16に示したように、各ハーフトーン回路210,ハーフトーン回路220に出力する回路である。図23は、この誤差演算回路250の内部構成を示すブロック図である。誤差演算回路250は、図23に示すように、階調変換する着目画素の階調変換により生じた濃度誤差erwを主走査方向に分配する画素数(実施例では16個)に対応して設けられた主走査バッファMBと、着目画素の階調変換により生じた濃度誤差erwを着目画素の隣接ラスタ上で主走査方向に分配する画素数(実施例では18個)に対応して設けられた副走査バッファSBと、着目画素の階調変換により生じた濃度誤差erwに主走査バッファMBと副走査バッファSBの各バッファに応じた所定の重み付けを施すシフトレジスタ群SRと、各シフトレジスタ群SRに動作信号を出力するレジスタ群制御回路251と、このレジスタ群制御回路251を更に制御する重み付け切り換え回路255を備える。
【0085】
シフトレジスタ群SRは、着目している画素Pについて第2のドット形成判定回路212や小ドット形成判定回路223により求められた濃度誤差erwを入力し、これをレジスタ群制御回路251から指示された回数右シフトすることにより、1/2のべき乗で小さくする、即ち割り算するために設けられている。濃度誤差erwは、8ビットのディジタルデータとして与えられるから、これを右シフトすれば、シフト回数に応じて、順次1/2,1/4,1/8,1/16,1/32,1/64にすることができる。シフト回数は、レジスタ群制御回路251から出力され、シフトレジスタ群SRは、この信号を受けて、濃度誤差erwのデータを所定回数右シフトする。どのシフトレジスタ群SRのデータをどれだけ右シフトさせるかは、図22に示したように、どの範囲にどのような重みを付けて、誤差を配分するかにより決定される。本実施例では、上述したように、着目画素Pに隣接する2画素では1/8の重み付けで、その外側の4画素に1/16の重み付けで、更にその外側の4画素に1/32の重み付けで、それ以外の24画素に1/64の重み付けで、それぞれ誤差を配分するものを標準としているが、この誤差拡散範囲は、修正ドットデータpdsrcや着目している画素Pにドットを形成するか否かを示す信号Sonにより可変することができる。これを決定しているのが、重み付け切り換え回路255である。重み付け切り換え回路255は、修正ドットデータpdsrcや着目している画素Pにドットを形成するか否かを示す信号Sonにより、例えば形成されるドットが周辺にない場合とある場合等で、誤差拡散の範囲を変更するようレジスタ群制御回路251に制御信号を出力している。レジスタ群制御回路251は、重み付け切り換え回路255からの信号を受けて、シフトレジスタ群SRに出力する信号を一斉に切り換え、重み付けの総和が1であるという条件を守りつつ、誤差拡散の範囲を、条件に応じて適正に切り換えている。
【0086】
各シフトレジスタ群SRで1/2n にされた濃度誤差(以下、これを重み付け濃度誤差erwsと呼ぶ)は、主走査バッファMBおよび副走査バッファSBに、出力される。主走査バッファMBは、図22に示した誤差拡散範囲PERAのうち、着目画素Pと同じラスタに属する16個の画素に対応して設けられている。また副走査バッファSBは、図22に示した誤差拡散範囲PERAのうち、着目画素Pとは副走査方向に隣接するラスタに属する18個の画素に対応して設けられている。符号は異なるが、主走査バッファMBと副走査バッファSBは、内部構成は同一である。各バッファ内部の構成は、後述するが、これらのバッファは、基本的には、前段のバッファからの出力と、シフトレジスタ群SRからの出力とを加算して、後段に出力する機能を有する。
【0087】
18個の副走査バッファSBは、前段の出力が後段の入力となるように接続されており、初段の副走査バッファSBには、誤差拡散による誤差の配分が初めて行なわれることから、値0が入力される。副走査バッファSBの最終段からの出力srmeは、SRAM16の対応するアドレスに、MIF136を介して書き込まれる。最終段の出力をSRAM16に書き戻すのは、この実施例では、濃度誤差は、2つのラスタに亘る画素に拡散されるから、着目している画素Pが属するラスタに隣接するラスタの画素については、配分された濃度誤差は、一旦SRAM16に書き戻しておき、次の主走査で再度読み出して、誤差の配分を受けるからである。16個の主走査バッファMBも、副走査バッファSB同様、前段の出力が後段の入力となるように接続されている。但し、初段の主走査バッファMBには、SRAM16から読み出された対応画素の濃度誤差の累積値srmeが入力される。これは、一つ前のラスタにおける主走査で配分された誤差の累積値である。また、最終段の主走査バッファMBの出力は、着目画素Pについての濃度誤差の累積値er00に相当し、これが、先に説明したハーフトーン回路210,ハーフトーン回路220に出力され、誤差拡散による判定に用いられるのである。
【0088】
各バッファMB,SBの内部構成について、図24を参照して説明する。バッファMB,SBは、図示するように、二つの入力値に対して加算演算を行なう加算器301,二つの信号のいずれか一方を択一的に出力する入力用セレクタ310,8本のレジスタ321ないし328,これら8本のレジスタ321ないし328のいずれかのデータを択一的に出力する出力用セレクタ330から構成されている。レジスタ321ないし328は、シアン,マゼンタ,イエロ,ブラックの各色用に各1本、ライトシアン,ライトマゼンタの各色用に各2本、それぞれ用意されている。なお、レジスタの本数は8個以外にすることも差し支えない。たとえば、イエロをディザ法のみで処理することにし、誤差拡散を用いないものとしたり、ライトシアン,ライトマゼンタの各色について誤差拡散を1段(小ドットについて)のみ行なうものしてレジスタの数をそれぞれ1個としたりすれば、レジスタの総数を低減することができる。また、誤差拡散を各ドットについて行なう場合には、レジスタの本数を増やせばよい。レジスタの本数の増減はいずれの場合でも容易に行なうことができる。加算器301は、各シフトレジスタSRから出力される重み付け濃度誤差erwsとバッファMB,SBの出力用セレクタ330の出力値er(n)とを加算する。入力用セレクタ310は、前段のバッファからの出力値er(n−1)と、加算器301の出力とを選択的に出力する。レジスタ321ないし326は、データを高速に書き込み・読み出し可能な16ビットのレジスタであり、誤差拡散を行なっている色を選択する選択信号SELにより、いずれか一つのレジスタが読み書きの対象に切り換えられる構成となっている。
【0089】
以上回路構成を説明した誤差演算回路250の働きを、図23および図24を中心に説明する。まずどの色についての誤差拡散を行なうかにより、レジスタ321ないし326のいずれか一つが選択される。画像のデータを読み出しながら誤差拡散の演算を行なう際、着目画素Pから主走査前後方向に誤差が配分される領域がそれぞれM画素およびN画素分存在するのであれば、端部処理として、原画像の先端にM画素分のダミー領域を、後端にN画素分のダミー領域を、それぞれ設けておくことが望ましい。図25に示すようにダミー領域を設け、誤差拡散の処理を、このダミー領域を含んだ範囲に対して行なうものとすれば処理を簡略化できるからである。誤差拡散の処理をこのダミー領域の端から開始すると、主走査方向先端から16画素については、画像の階調値は値0なので総てのドットはオフとされ、拡散される濃度誤差も値0、延いてはシフトレジスタSRを介して各バッファMB,SBに書き込まれる重み付け濃度誤差erweも値0である。もとよりこれらの処理の間にも、SRAM16から累積誤差Srceは順次読み込まれるが、画像の最初のラスタについては、累積誤差は値0である。後述するように、画像の上端から2番目のラスタ以降は、その前のラスタを主走査した際に演算され拡散された誤差のそれまでの累積値が、SRAM16から順次読み出され、主走査バッファMBの初段のレジスタに書き込まれる。
【0090】
ダミー領域が終了し、原画像の最初の画素のデータが読み込まれると、その画像の階調に応じて、大中小のドットのオン・オフが判定され、第2のドット形成判定回路212または小ドット形成判定回路223により、濃度誤差erwが演算され、出力される。この濃度誤差erwは、直ちにシフトレジスタSRにより所定量だけシフトされることで1/2n に重み付けされ、各バッファMB,SBに出力される。このとき、各バッファ内では、その内部のレジスタが記憶しており出力用セレクタ330を介して出力されていた値と、重み付けされた濃度誤差erwsとを、加算器301により加算し、入力用セレクタ310を介して、同じレジスタに書き込む処理を行なう。この結果、既にバッファMB,SB内のレジスタに記憶されていた累積誤差が更新されたことになる。このとき、副走査バッファSBの最終段の出力は、SRAM16の所定のアドレスに書き込まれる。これは、次の主走査時に読み込まれ、再度、濃度誤差の拡散を受ける対象となるデータである。
【0091】
こうして誤差拡散の処理を瞬時に完了した後、各バッファMB,SBは、入力用セレクタ310を切り換えることにより、着目画素を一つ進める処理を行なう。入力用セレクタ310を切り換えることにより、図26に示したように、主走査バッファMBの初段には、新しく誤差拡散範囲に入ってきた画素に関して一つ前の主走査時に記憶された累積誤差が、SRAM16から読み込まれる。と同時に、前段のバッファの出力用セレクタ330が出力している累積誤差のデータが、次段のレジスタに読み込まれる。この動作により、誤差拡散範囲の各画素のそれまでの累積誤差が一つずつ隣のバッファに移されることになる。かかる処理は、バッファMB,SB内のレジスタ間のデータ転送として実現されているので、極めて高速に完了する。主走査バッファMBの最終段にも、同様にして一つ前のバッファの出力が読み込まれる。主走査バッファMBの最終段は、着目画素に対応したバッファなので、このバッファMBの出力は、そのまま誤差拡散における累積値er00として用いれば良い。したがって、主走査バッファMBの最終段は、各色いんくについての判断に応じて各レジスタを切り換えるためにのみ用いられている。
【0092】
画像データの両端にダミー領域を設けることは既に説明した。着目画素が画像の終端まで至れば、本来は、もはや誤差拡散の処理をそれ以上同じラスタについて行なう必要はない。但し、その場合には、18個の副走査バッファSBのデータを直接SRAM16に書き出す構成が必要となる。これに対して、図25に示したように、18画素分のダミー領域を設けておけば、着目画素Pをダミー領域内において順次進めて行くだけで、副走査バッファSBの最終段から順次必要な累積誤差が出力され、SRAM16の所定の領域に書き込まれて行くことになり、好適である。着目画素がダミー領域の端まで至ったときは、そのラスタについての画像処理を終了するものとし、総ての主走査バッファMB,副走査バッファSBのレジスタの内容を図示しないリセット信号を用いて値0にリセットし、着目画素の位置を示すポインタを次のラスタの先頭に移動する。ここで、次のラスタの先頭とは、先に説明したダミー領域を含んだ処理領域の先頭である。
【0093】
以上説明した処理を、原画像の先頭から終端まで繰り返すことにより、また各インク色についてレジスタを切り換えつつ処理を繰り返すことにより、原画像について、ハーフトニングの処理が完了することになる。なお、着目画素Pに対して副走査方向に隣接するラスタに拡散される誤差は、一旦SRAM16に書き戻しておくが、ハーフトニングの対象となる画素が主走査方向にL個存在する場合、ダミー領域を加えてL+18個の領域をSRAM16上に確保すれば足りる。着目画素から主走査方向に並んだ拡散範囲については、一旦SRAM16からデータを読み出してしまえば、その後、新しいデータにより書き直しても何ら差し支えないからである。
【0094】
以上説明した誤差拡散の処理を行ないつつ、一方で、各色インクの大中小のドットのオン・オフがハーフトーン回路210およびハーフトーン回路220により決定される。この判定結果Lon,Mon,Sonは、HB132から、SRAM16内の所定のアドレスに書き込まれる。この結果、以上説明したHTM13によるハーフトニングの処理が完了すると、SRAM16には、各画素について、各インク色の大中小のドットのオン・オフの情報が記憶される。HTM13によりSRAM16に書き込まれたデータは、実際のカラープリンタ20におけるヘッド44ないし49のノズル配置を考慮した順序とはなっていない。そこで、次に、MWM14により、ハーフトニング済みのデータの並べ替えを行なう。
【0095】
(3)画素再配置モジュール(MWM14)
MWM14の内部構成を、図27に示した。図示するように、MWM14は、データを入力するインプットモジュール(IPM)140と、SRAM16内のデータを再配置する画素再配置サブモジュール(MWSM)141と、データを出力するアウトプットモジュール(OPM)143と、SRAM16とのインタフェースを司るメモリインタフェース(MIF)145とから構成されている。IPM140、OPM143の動作は、前述したCLM12やHTM13におけるIPM120,130やOPM123,133の動作と同様である。
【0096】
画素再配置サブモジュール(MWSM)141は、画素再配置処理を行なうモジュールである。MWSM141の内部構成も、SCM(解像度変換サブモジュール)121等と同様に、演算回路部と制御回路部とから構成されている。前述したように、画素再配置処理は、ハーフトーニング処理によってドット形成の有無を表す形式に変換された画像データを、カラープリンタ20に転送すべき順序に並べ替える処理である。MWSM141の演算回路部は、制御回路部から供給される制御信号に従って、アドレス計算を行ない、ハーフトーニング処理済みのデータを、MIF145を介してSRAM16上の所定位置に書き込んでいく。本実施例では、そのデータ変換は図28に示すように行なわれる。すなわち、同色のデータを副走査方向のライン順番に並べることにより、後段の出力モジュールOTM15からさまざまなデータの読み出しに応える。
【0097】
(4)出力モジュール(OTM)
出力モジュール(OTM)15は、SRAM16からデータを読み出して、外部に出力するモジュールである。OTM15は、他のモジュールと同様、SRAM16からデータを読み出すことが可能となっており、MWM14がSRAM16上に配置したドットデータを、順に読み出してカラープリンタ20に出力する。その結果、データ変換装置10に供給された画像データは、印刷可能な画像データFNLとしてカラープリンタ20に出力される。MWM14は、インク吐出用ヘッド44ないし49の構成に合わせて、各色のデータの配置を決定し、SRAM16に書き戻すことにより、各色のデータを、再配置している。したがって、OTM15は、SRAM16の所定の領域のデータを連続的に読み出すことにより、カラープリンタ20のインク吐出用ヘッド44ないし49のノズル構成に適したデータを出力することができる。カラープリンタ20は、階調データ変換装置10から受け取ったデータをそのままヘッドに出力すればよい。したがって、コンピュータ80側はもとより、カラープリンタ20側の処理も簡略なものとすることができる。
【0098】
上記詳しく説明したように、本実施例のHTM13によれば、誤差拡散の演算を行なう誤差演算回路250を、図23,図24に示したとおり、ハードウェアにより構成しており、かつSRAM16のアクセスは、SRAM16から主走査バッファMBの初段への読み込みと、副走査バッファSBの最終段からSRAM16への書き込みに限られている。しかも、誤差拡散領域内のデータの受け渡しを、高速動作可能なレジスタを用いて、同時並列的に実行し、濃度誤差の配分に必要なデータを、いちいちSRAM16に書き戻すことなく処理している。従って、誤差拡散処理の中で所要時間の長いSRAM16のアクセスは、1画素の処理に対して読み書き各1回だけで足りることになり、誤差拡散処理の高速化を実現している。また、濃度誤差の重み付けはシフトレジスタSRによって行なわれており、その濃度誤差の累積はバッファMB,SBという純粋なハード処理によって行なわれる。しかも、こうして得られた誤差の累積値er00を用いた誤差拡散処理も、図17、図18に示したように第1のドット形成判定回路211,第2のドット形成判定回路212,大ドット形成判定回路221,中ドット形成判定回路222,および小ドット形成判定回路223という各々ディスクリートなハードウェアにより構成された回路によって瞬時に、即ち回路を構成する各ゲートの遅れ時間の累積時間程度で実行される。このため、誤差拡散処理に要する総時間は、SRAM16の2回のアクセス時間と略等しくなり、高速化が実現される。即ち、ハーフトーニング処理を行なう処理中で最も処理時間を要する誤差拡散の回路が、純粋にハード構成され、かつ、SRAM16のアクセスを最小限度に抑えているのて、誤差拡散処理が高速に実行され、極めて高速に高画質の印刷物を得ることができるのである。更に、この処理のために必要となるSRAM16の記憶容量は、主走査方向の画素数に対応した僅かな容量で足りる。
【0099】
なお、本実施例のここまでの説明は、SRAM16に対するアクセスは、読み書き各1回、計2回行なわれるものとしてきたが、1回分のアクセス時間で処理を完了している。つまり、SRAM16を2組で構成し、SRAM16から主走査バッファMBの初段への読み込みと、副走査バッファSBの最終段からSRAM16への書込とを、それぞれ独立に行なえるように構成し、前者の読込と後者の書込とを同時に行なう。かかる構成によれば、1画素について誤差拡散に要する総時間を、SRAM16の1回のアクセス時間と略等しくすることができる。
【0100】
また、本実施例のデータ変換装置10では、各種処理を行なうモジュール毎に固有のアドレス値が設定されていて、アドレス値を指定してデータを供給するだけで、所望のモジュールにより処理を行なうことができる。従って、コンピュータ80等から画像データを供給する際に、データの処理内容を指定するコマンドを出力する必要がない。更に、データ変換装置10においては、コマンドを受け取って解釈する必要がない。これらの手間を省くことによっても、データ変換処理の迅速化を図ることが可能となっている。
【0101】
なお、実施例のデータ変換装置10は、コンピュータ80から画像データを受け取るものとして説明してきたが、画像データを出力する機器はコンピュータに限られるものではない。例えば、デジタルカメラや、カラースキャナ、ビデオプリンタ,フィルムスキャナ等の各種の画像機器から画像データの供給を受け、画像データを変換するものであっても構わない。こうすれば、コンピュータ80を介さずに、画像機器から直接画像データを受け取って、カラープリンタ20で印刷することができるので好適である。
【0102】
また、以上、各種の実施例について説明してきたが、本発明は上記実施例における実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。例えば、誤差拡散を行なう範囲を、上記実施例では、着目画素と同じラスタおよびこれに隣接するラスタ内の34画素分としているが、画素数は適宜設定することができる。また、拡散範囲を、着目画素の属するラスタのみに限ったり、これに副走査方向に隣接するラスタとさらに隣のラスタまで拡張することも可能である。重み付けの係数も適宜設定することができる。また、上記実施例では、データ変換装置10はコンピュータ80やカラープリンタ20とは、外見的に別体に存在するものとして説明してきたが、外見上は何ら別体である必要はない。例えば、データ変換装置10、をコンピュータ80あるいはカラープリンタ20の拡張スロットに装着し、外見上はこれらと一体に構成するものとしてもよい。
【0103】
同様に、これまで説明してきたデータ変換装置10においては、それぞれのデータ変換を行なう各モジュールは、外見的に1つのデータ変換装置10を形成するものとして説明してきたが、各モジュールを分離可能に構成しておき、必要に応じて適宜組み合わせて用いるものとしてもよい。
【図面の簡単な説明】
【図1】本発明の実施例としての階調データ変換装置10を備えた印刷装置の説明図である。
【図2】本実施例で使用されているプリンタの概要説明図である。
【図3】本実施例で使用されているプリンタのドット形成原理の説明図である。
【図4】本実施例で使用されているプリンタのノズル配列を示す説明図である。
【図5】本実施例のプリンタにより大きさの異なるドットを形成する原理を説明する説明図である。
【図6】本実施例のプリンタにおけるノズルの駆動波形および該駆動波形により形成されるドットの様子を示す説明図である。
【図7】本実施例のプリンタの制御装置の内部構成を示す説明図である。
【図8】本実施例のプリンタヘッドが駆動バッファからデータを受けてドットを形成する様子を示す説明図である。
【図9】本実施例のデータ変換工程の概要を示すフローチャートである。
【図10】本実施例における色変換表とこれを用いた色変換の概要を説明する概念図である。
【図11】ハーフトーニング処理の概要を説明する概念図である。
【図12】本実施例におけるカラールックアップモジュール(CLM)12の構成を示すブロック図である。
【図13】本実施例におけるハーフトーンモジュール(HTM)13の構成を示すブロック図である。
【図14】ハーフトーンモジュールのプレディザテーブルモジュールで1ビットモードの際に利用されるテーブルを示す説明図である。
【図15】ハーフトーンモジュールのプレディザテーブルモジュールで2ビットモードの際に利用されるテーブルを示す説明図である。
【図16】HTM13におけるHB132の内部構成を示すブロック図である。
【図17】実際にハーフトーニングを行なうハーフトーン回路210の内部構成を示すブロック図である。
【図18】同じくハーフトーン回路220の内部構成を示すブロック図である。
【図19】ディザマトリクスの概念を示す説明図である。
【図20】HB132内の誤差拡散によりドット形成の判定を行なう回路を示すブロック図である。
【図21】各ドットデータから、誤差拡散のために必要な信号を生成するドットデータ出力回路EEを示す説明図である。
【図22】誤差拡散範囲と、重み付け係数を示す説明図である。
【図23】HTM13の誤差演算回路250の内部構成を示すブロック図である。
【図24】誤差演算回路250のバッファMB,SBの内部構成を示すブロック図である。
【図25】誤差拡散範囲とこれに設けられるダミー領域を示す説明図である。
【図26】本実施例における誤差拡散処理のデータの転送の様子を示す説明図である。
【図27】本実施例におけるMWM14の内部構成を示すブロック図である。
【図28】本実施例におけるデータ変換によるデータの配置の様子をメモリマップとして示す説明図である。
【符号の説明】
10…階調データ変換装置
11…INM
12…CLM
13…HTM
14…MWM
15…出力モジュールOTM
16…SRAM
17…バス
20…カラープリンタ
24…カラースキャナ
30…キャリッジモータ
31…駆動ベルト
32…プーリ
33…摺動軸
34…位置検出センサ
35…紙送りモータ
36…プラテン
40…キャリッジ
41…印字ヘッド
42…インクカートリッジ
43…インクカートリッジ
44〜49…インク吐出用ヘッド
50…インク通路
59…操作パネル
60…制御回路
61…CPU
62…PROM
63…RAM
64…PCインターフェース
66…タイマ
67…駆動バッファ
68…バス
69…分配出力器
70…発振器
80…コンピュータ
81…CPU
82…ROM
83…RAM
84…ハードディスク
85…インターフェイス
91…モデム
120…IPM
121…SCV
122…CCV
123…OPM
131…PRDT
136…MIF
140…IPM
141…MWSM
143…OPM
145…MIF
210…第1のハーフトーン回路
210K1,210C1,210M1,210Y1…ハーフトーン回路
211…第1のドット形成判定回路
212…第2のドット形成判定回路
213…ドットデータ生成回路
214…閾値生成回路
215…比較器
216…マスク回路
217…ホワイトフラグ回路
218…誤差算出回路
220…第2のハーフトーン回路
220C2,220M2…ハーフトーン回路
221…大ドット形成判定回路
222…中ドット形成判定回路
223…小ドット形成判定回路
230…制御回路
250…誤差演算回路
251…レジスタ群制御回路
255…回路
270…出力回路
301…加算器
310…入力用セレクタ
321…レジスタ
330…出力用セレクタ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data conversion apparatus that employs an error diffusion method that is useful when obtaining printed matter from image data output from a computer, a digital camera, a digital video, or the like, and a printing apparatus that uses this apparatus.
[0002]
[Prior art]
In recent years, color printers of the type that form ink dots of several colors on a print medium have become widespread as output devices for computers and the like, and are widely used for printing images processed by computers and the like in multi-color and multi-tone. It has been. When a multicolor image is printed with three colors of ink of cyan, magenta, and yellow (CMY), there are several methods for forming a multi-tone image. One is a method used in conventional printers, where the size of the dots formed on the paper by the ink ejected at a time is constant, and the gradation of the printed image is represented by the dot density (unit area). (Frequency of appearance per hit). In another method, the density per unit area is varied by adjusting the dot diameter formed on the paper. As another method for changing the density per unit area, there is an ink that prepares lighter colors than the basic three colors, for example, light cyan and light magenta.
[0003]
In either method, the gradation information of the original image is expressed by dot distribution, that is, dot on / off. That is, tone conversion is performed to convert the high tone expression of the original image into a low tone in pixel units. In this case, the gradation value of the original image can be reproduced with a certain degree of accuracy when viewed at an average density. However, when viewed at a pixel unit, a density error from the original gradation value can be avoided. Absent. In view of this, a method has been proposed in which the density error generated in units of pixels is distributed to surrounding pixels so that the density of the entire image approaches the original image. This is a technique called an error diffusion method. Data conversion apparatuses that distribute dots using the error diffusion method are widely used in printing apparatuses because they have excellent reproducibility of original images.
[0004]
In the case of a printing apparatus using such an error diffusion method, the head normally scans in the paper width direction (referred to as the main scanning direction), and the paper intersects the main scanning direction (referred to as the sub-scanning direction). Dots are formed while being conveyed. Accordingly, as shown in FIG. 18, the range in which the error can be diffused is usually around the pixel of interest, and at least a predetermined range in the main scanning direction, and in some cases, a plurality of pixels on the raster adjacent in the sub scanning direction. It turns out that. The value of each pixel shown in FIG. 18 indicates a weighting coefficient when the density error is distributed. Each weighting coefficient is determined so that the sum thereof is a value of 1.
[0005]
[Problems to be solved by the invention]
Although the error diffusion method has an advantage that the density error is eliminated when viewed in a certain region, there is a problem that a considerable processing time is required for calculation of the error distribution. Usually, image data is stored as a plurality of bits of data in units of pixels in an external storage such as a hard disk or a part of main memory such as a semiconductor memory. When gradation conversion is performed, the stored image data is read, a magnitude relationship with a predetermined threshold is determined, and a density error to be distributed to the periphery is calculated from the result. When the density error is dispersed, image data of pixels in the dispersion range is read from the memory, and a process of adding a diffusion error to the image data and writing it back is performed. As a result, in the error diffusion processing for the target pixel, there is a problem that memory access occurs many times and the time required for the processing becomes long.
[0006]
In recent years, the recorded dot diameter has been miniaturized and the number of dots constituting one raster tends to increase. As a result, as the number of dots increases, the number of error diffusion processes increases dramatically, and the problem of the processing time cannot be overlooked. An object of the present invention is to realize error diffusion processing per pixel by memory accesses that are smaller in number than the number of pixels included in the error diffusion range.
[0007]
[Means for solving the problems and their functions and effects]
The gradation data conversion apparatus of the present invention that solves the above-described problems is
While moving the pixel of interest along one direction defined as the main scanning direction in the original image having gradation representation, the gradation of the pixel is converted to gradation representation less than the gradation, and the gradation conversion An error diffusion method that distributes the generated density error to at least a predetermined range of pixels along the main scanning direction of the pixel of interest is adopted, and gradation conversion by the error diffusion is performed in the main scanning direction and the main scanning direction. A data conversion device that sequentially performs along a sub-scanning direction that is an intersecting direction,
A memory for storing gradation data of the original image;
A multi-stage register corresponding to a plurality of pixels included in the predetermined range, and an error buffer having at least a higher writing speed than the memory;
A shift circuit that sequentially transfers the data of each register in the error buffer to the next stage in accordance with the movement of the pixel of interest each time the pixel of interest moves;
A conversion circuit that converts the output of the final stage of the register sequentially transferred by the shift circuit into the gradation data of the pixel of interest and converts the output to the small gradation expression;
An error calculation circuit for calculating a density error generated for the pixel of interest by gradation conversion by the conversion circuit;
A plurality of shift registers corresponding to the number of the registers in the error buffer are provided, and the calculated density error data is input to each shift register and corresponds to the weighting determined for each shift register. A distribution addition circuit that distributes and adds to each register of the error buffer the output obtained by shifting the data stored in each shift register by the number of bits as weighted density error data;
With
The error buffer is composed of a register group arranged in units of rasters, which are pixel rows arranged in the main scanning direction, and a first range corresponding to a predetermined range of pixels on the first raster including the pixel of interest. And a second register group corresponding to a predetermined range of pixels on the second raster adjacent in the sub-scanning direction.
Each time the pixel of interest moves, the shift circuit reads the data of each register of the first and second register groups in the error buffer into the next register in accordance with the movement of the pixel of interest. Let
Furthermore,
Two SRAMs that can be read and written alternately and independently are provided,
Each time the pixel of interest moves, the density error accumulated in the registers in the second register group corresponding to the pixels on the second raster that are out of the predetermined range is represented by the SRAM. A writing circuit to write back to one of the
Each time the pixel of interest moves, the accumulated value of the density error written by the writing circuit during the processing of the adjacent raster for the pixel newly included in the predetermined range is stored in the previous SRAM. On the other hand, a reading circuit for storing the same in the corresponding register in the first register group in the error buffer at the same timing as the write back of the density error;
The gist is that
[0008]
This gradation data conversion device includes a register whose writing speed is higher than that of a memory for storing gradation data of an original image corresponding to the number of pixels in the error diffusion range. Data is shifted according to the movement of the pixel of interest. In addition, the output of the final stage of this register is added to the gradation data of the pixel of interest, and then converted to a small gradation expression. For this reason, accessing the memory only requires reading out the image data of the pixel of interest, and extremely high-speed processing is possible.
[0010]
In addition, the error diffusion range is extended to adjacent rasters, and the error buffer is configured by register groups arranged in units of rasters, which are pixel rows arranged in the main scanning direction, and includes the pixel of interest. A first register group corresponding to a predetermined range of pixels on the first raster, and the target pixel is a second register group corresponding to a predetermined range of pixels on the second raster adjacent in the sub-scanning direction It is divided into. Furthermore, two SRAMs that can be read and written independently are provided, and the shift circuit is configured to store data of each register in the first and second register groups in the error buffer each time the pixel of interest moves. Are shifted in accordance with the movement of the pixel of interest, and each time the pixel of interest moves, the second pixel corresponding to a pixel on the second raster that is outside the predetermined range. The density error accumulated in the registers in the register group is adjacent to the writing circuit for writing to the SRAM and the pixels newly included in the predetermined range each time the pixel of interest moves. A read circuit for storing a cumulative value of density errors written by the writing circuit during raster processing from the SRAM to a corresponding register in the first register group in the error buffer. Providing a door. According to such a configuration, in addition to reading out the gradation data of the pixel of interest, with respect to the SRAM, the error-distributed data is written out as the number of rasters to which the error is distributed minus 1 times, and the accumulated error data is written as the number of rasters minus 1. Only by reading once, gradation conversion by the error diffusion method can be performed. With this configuration, it is possible to distribute the density error in the pixel of interest to at least a predetermined range on the raster where the pixel of interest exists and the raster adjacent thereto in the sub-scanning direction. In addition, the access to the SRAM requires only two accesses, that is, writing from one of the second register groups and reading to the first register group, which may reduce the calculation speed. Absent. Further, since two SRAMs that can be read and written independently are provided, reading from the SRAM to the first register group and writing from one of the second register groups to the SRAM are performed simultaneously. ing. Therefore, the total time required for error diffusion for one pixel can be made substantially equal to the access time for one SRAM.
[0011]
In such a gradation data conversion device, the register is a register capable of storing either the result of adding the data stored in the register and the weighted density error or the output of the previous register of the register. It is also suitable to do. In this way, data shift and distributed addition can be realized by a single circuit.
[0012]
In the above configuration, only the density error is distributed and added to the register. However, when the target pixel moves and a new pixel enters the error diffusion range, the gradation of the pixel is changed. The data may be read into the register and sequentially shifted, and the density error of the pixel of interest may be weighted and distributed and added. In this case, it is not necessary to add the output of the final stage of the register and the gradation data of the target pixel.
[0013]
Here, each register may be a register capable of simultaneously performing error distribution addition and data shift. The result of diffusing and adding a new density error to the data held in the previous register is sequentially moved with the movement of the pixel of interest, so that the distribution calculation and the data shift may be performed simultaneously. If possible, the processing can be further speeded up.
[0014]
Note that the gradation obtained by gradation conversion in such a conversion device need only be lower than the number of gradations of the original image, and may be two gradations or three gradations or more. If the conversion circuit uses one threshold, it is easy to convert the gradation data of the original image into two gradations. Similarly, it is easy to convert the gradation data of the original image to three or more gradations using two or more threshold values.
[0015]
Each circuit of the gradation data conversion device may be provided for each color when the original image data is configured as gradation data of each color that represents the original image by a combination of the primary colors.
[0016]
This gradation data conversion apparatus can be incorporated in a printing apparatus. That is, the printing apparatus of the present invention is a printing apparatus that receives image data having a gradation expression and forms an image corresponding to the image data on a recording medium by forming a plurality of types of ink dots. And
The above-described gradation data conversion device;
Data input means for inputting the image data to the gradation data converter;
Dot forming means for receiving a conversion result by the gradation data conversion device and forming dots of ink of a gradation corresponding to the conversion result on a print medium;
It is a summary to provide.
[0017]
Such a printing apparatus can perform printing by forming dots on a printing medium while converting the gradation of the original image data to a low gradation.
[0018]
Other aspects of the invention
The present invention includes other aspects as follows. In the first aspect, the data conversion apparatus of the present invention is mounted in an expansion slot of a computer. This is preferable because the computer and the data conversion device can be made compact. Further, not only the printer but also various hard copy devices can benefit from the high-speed error diffusion processing by the data conversion device of the present invention.
[0019]
The second aspect is an aspect in which the data conversion apparatus of the present invention is mounted in an expansion slot of a printing apparatus, or is configured integrally with the printing apparatus. This is preferable because the data conversion device and the printing device can be made compact. In addition, original image data from a digital camera or digital video can be directly processed, and high-quality printed matter can be obtained at high speed without using a computer.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
A. Device configuration
Embodiments of the present invention will be described based on examples. FIG. 1 is an explanatory diagram showing a configuration of a printing apparatus including a gradation data conversion apparatus (hereinafter also simply referred to as a data conversion apparatus) 10 as an embodiment of the present invention. As shown in the figure, this printing apparatus includes a computer 80, a data conversion apparatus 10, and a color printer 20. The printing apparatus performs gradation conversion on the image data processed and output by application software such as graphic software operating on the computer 80 by the gradation data conversion apparatus 10 and prints the image data on the color printer 20 using this. It functions as a printing device as a whole. The computer 80 outputs the color image data ORG to the data conversion device 10, and the data conversion device 10 converts the received color image data ORG into a data format that can be printed by the color printer 20 and outputs it to the color printer 20. . The color printer 20 prints a color image by forming dots on printing paper based on the converted image data FNL received from the data conversion apparatus 10. As a result, a color image corresponding to the color image data output from the computer 80 is obtained on the printing paper.
[0021]
The computer 80 includes a CPU 81 that executes various arithmetic processes, a ROM 82, a RAM 83, a hard disk 84, an interface 85, and the like, which are connected by a bus (not shown) and can exchange data with each other. . The ROM 82 is used for storing in advance programs and data required when the CPU 81 executes various arithmetic processes. The RAM 83 is used for temporarily storing programs and data necessary for the CPU 81 to perform various arithmetic processes. The hard disk 84 is used to store programs and data that cannot be stored in the ROM 82 or RAM 83. The interface 85 is used for the computer 80 to exchange data with the outside.
[0022]
The color scanner 24 connected to the outside of the computer 80 reads a color original and converts it into image data that can be interpreted by the computer 80. If the computer 80 is connected to the public telephone line PNT via the modem 91, it becomes possible to receive necessary data from the server SV on the external network.
[0023]
When the computer 80 is turned on, the operating system stored in the ROM 82 and the hard disk 84 is activated, and various application programs are run under the management of the operating system. A color document to be printed is created using an application program and output to the data converter 10 via the interface 85. In some cases, a color document is created by processing a color image captured from the outside via the color scanner 24 or the modem 91 using an application program.
[0024]
As shown in the figure, the data conversion apparatus 10 converts the resolution of the original image input from the external input module (INM) 11 and INM 11 to the resolution of the color printer 20 by so-called bilinear or bicubic interpolation processing. In addition, when the original image data is expressed in the three primary colors of red, green, and blue, the color look-up module (CLM) 12 that converts to the three primary colors of CYM used in the color printer 20, the dither method and this embodiment Halftone module (HTM) 13 that corrects density errors using a characteristic error diffusion method, and print data generated by HTM13 is stored in an order suitable for the processing of color printer 20, enabling unique printing such as microwaves. A pixel rearrangement module (MWM) 14 and a color printer 20 Output Module (OTM) 15 for outputting data, set aside data temporarily the SRAM 16, and connect them to each other buses 17 that allows the exchange of data, and a city. In detail, the bus 17 is composed of an address bus through which an address value flows and a data bus through which data flows, but in FIG.
[0025]
In FIG. 1, the SRAM 16 is described as one memory that can be accessed from each module. However, the SRAM 16 may be provided separately for each module. With the configuration shown in FIG. 1, the data conversion apparatus 10 receives the image data ORG supplied from the computer 80 via the INM 11, and the CLM 12 first takes in the image data on the bus 17 and performs color conversion. . The color-converted data is taken in by the HTM 13 and subjected to halftone processing. Finally, the MWM 14 outputs the data FNL that can be used as it is by the color printer 20. The MWM 14 temporarily stores the conversion result in the SRAM 16, and sequentially reads out the image data stored in the SRAM 16 and supplies it to the color printer 20 at a timing requested by the color printer 20 by the OTM 15. As a result, the image data ORG supplied from the computer 80 is output to the color printer 20 as image data FNL that can be printed by the printer.
[0026]
The color printer 20 is a printer capable of printing a color image. In this embodiment, an ink jet printer that prints a color image by forming dots of four colors of cyan, magenta, yellow, and black on a printing paper. Is used. Of course, other types of color printers such as laser printers and thermal transfer printers can be used.
[0027]
The color printer 20 can form images with a wide range of gradations and color ranges using the three primary colors of cyan, magenta, and yellow, and black ink. For cyan and magenta, two types of light and shade inks can be ejected. . Furthermore, for each color ink, it is possible to eject three types of ink droplets: small dots, medium dots, and large dots. Therefore, the data conversion apparatus 10 also performs gradation conversion according to the printer 20. First, the schematic configuration of the color printer 20 will be described.
[0028]
FIG. 2 shows a schematic configuration of the color printer 20 of the present embodiment. As shown in the figure, the color printer 20 includes a mechanism for ejecting ink and forming dots by driving a print head 41 mounted on a carriage 40, and the carriage 40 is reciprocated in the axial direction of a platen 36 by a carriage motor 30. The moving mechanism, the mechanism for transporting the printing paper P by the paper feed motor 35, and the control circuit 60 are included. The mechanism for reciprocating the carriage 40 in the axial direction of the platen 36 is an endless drive between the carriage motor 30 and the slide shaft 33 slidably holding the carriage 40 laid in parallel to the axis of the platen 36. A pulley 32 that stretches the belt 31 and a position detection sensor 34 that detects the origin position of the carriage 40 are configured. The mechanism for transporting the printing paper P includes a platen 36, a paper feed motor 35 that rotates the platen 36, a paper feed auxiliary roller (not shown), and a gear train that transmits the rotation of the paper feed motor 35 to the platen 36 and the paper feed auxiliary roller. (Not shown). The control circuit 60 appropriately controls the movement of the paper feed motor 35, the carriage motor 30, and the print head 41 while exchanging signals with the operation panel 59 of the printer. The printing paper P supplied to the color printer 20 is set so as to be sandwiched between the platen 36 and the paper feed auxiliary roller, and is fed by a predetermined amount according to the rotation angle of the platen 36.
[0029]
The carriage 40 stores an ink cartridge 42 that stores black (K) ink, and ink of a total of five colors, cyan (C1), light cyan (LC), magenta (M1), light magenta (LM), and yellow (Y1). An ink cartridge 43 is mounted. Of course, K ink and LC ink / LM ink may be stored in the same ink cartridge, or K ink and Y ink may be stored in the same ink cartridge. If a plurality of inks can be stored in one cartridge, the ink cartridge can be configured compactly. Ink heads 44, 45, 46, 47, 48, and 49 are formed on the print head 41 below the carriage 40 for K, C, M, Y, LC, and LM inks, respectively. Yes. An introduction tube (not shown) is erected on the bottom of the carriage 40 for each ink. When an ink cartridge is attached to the carriage 40, each ink in the cartridge passes through the introduction tube to each of the ink ejection heads 44 to 49. Supplied. The ink supplied to each head is ejected from the print head 41 by the method described below to form dots on the printing paper.
[0030]
FIG. 3A is an explanatory diagram showing the internal structure of each color head. The ink discharge heads 44 to 49 for each color are provided with 48 nozzles Nz for each color, and each nozzle is provided with an ink passage 50 and a piezoelectric element PE on the passage. As is well known, the piezo element PE is an element that transforms electro-mechanical energy at a very high speed because the crystal structure is distorted by application of a voltage. In this embodiment, by applying a voltage having a predetermined time width between the electrodes provided at both ends of the piezo element PE, the piezo element PE is expanded by the voltage application time, as shown in FIG. One side wall of the ink passage 50 is deformed. As a result, the volume of the ink passage 50 expands and contracts according to the expansion of the piezo element PE, and the ink corresponding to the contraction is ejected from the nozzle Nz as particles Ip. The ink Ip soaks into the printing paper P mounted on the platen 36, thereby forming dots on the printing paper P.
[0031]
FIG. 4 is an explanatory diagram showing the arrangement of the inkjet nozzles Nz in the ink ejection heads 44 to 49. As shown in the figure, on the bottom surface of the ink ejection head, six sets of nozzle arrays for ejecting ink of each color are formed, and 48 nozzles Nz per group of nozzle arrays have a constant nozzle pitch k. Arranged in a staggered pattern. Note that the 48 nozzles Nz included in each nozzle array need not be arranged in a staggered manner, and may be arranged in a straight line. However, when arranged in a zigzag pattern as shown in FIG. 4, there is an advantage that the nozzle pitch k can be easily set small.
[0032]
As shown in FIG. 4, the positions of the ink ejection heads 44 to 49 for the respective colors are shifted in the conveyance direction of the carriage 40. Further, the nozzles for each color head are also displaced in the transport direction of the carriage 40 because the nozzles are arranged in a staggered manner. When the nozzles are driven while transporting the carriage 40, the control circuit 60 of the color printer 20 drives each head at an appropriate timing while considering the difference in head driving timing due to the difference in nozzle position. .
[0033]
The color printer 20 of the present embodiment includes a nozzle Nz having a constant diameter as shown in FIGS. 3 and 4, and three types of dots having different sizes are formed using the nozzle Nz. Can do. This principle will be described below. FIG. 5 is an explanatory diagram showing the relationship between the drive waveform of the nozzle Nz and the ejected ink Ip when the ink is ejected. The drive waveform indicated by a broken line in FIG. 5 is a waveform when a normal dot is ejected. In the section d2, once a voltage lower than the reference voltage is applied to the piezo element PE, the piezo element PE is deformed in the direction in which the cross-sectional area of the ink passage 50 is increased, contrary to the case described above with reference to FIG. Since there is a limit to the ink supply speed to the nozzles, the ink supply amount is insufficient for the enlargement of the ink passage 50, and the pressure in the ink passage decreases. As a result, as shown in the state A in FIG. 5, the ink interface Me is indented inside the nozzle Nz. This is a state where the negative pressure in the ink passage and the surface tension at the ink interface are balanced. In addition, when the voltage is drastically lowered as shown in the section d1 using the driving waveform shown by the solid line in FIG. 5, the pressure in the ink passage further decreases, and as shown in the state a, the pressure is greatly inward compared to the state A. It becomes a state.
[0034]
Next, when a high voltage is applied to the piezo element PE (section d3), the ink in the passage is compressed due to the reduction in the cross-sectional area of the ink passage 50, and ink droplets are ejected from the ink nozzles in response to the increase in ink pressure. Is done. At this time, if the ink pressure at the start of compression is low, the pressure after compression is also low, so that the ejected ink droplets are also small. Therefore, from the state where the ink pressure is not so low, that is, the state where the ink interface is not recessed inward (state A), a large ink droplet is ejected as shown in state B and state C, and the ink interface is greatly recessed. From (state a), small ink droplets are ejected as shown in state b and state c. In this way, the dot diameter can be changed by changing the rate of change when the drive voltage is lowered (sections d1, d2).
[0035]
The color printer 20 continuously outputs two types of drive waveforms. This situation is shown in FIG. Comparing the rate of change when the voltage is lowered, it can be seen that the drive waveforms W1 and W2 correspond to a small ink droplet Ips and a large ink droplet Ipm, respectively. Consider a case where the drive waveform W1 is output while the carriage 40 moves in the main scanning direction, and then the drive waveform W2 is output. The small ink droplet Ips ejected by the driving waveform W1 has a relatively low flying speed, and the large ink droplet Ipm ejected by the driving waveform W2 has a high flying speed. Therefore, the time required from the ejection to the printing paper is reached. Is longer for small ink drops IPs. Of course, the movement distance in the main scanning direction from the ink ejection position to the printing paper is also longer for the small ink droplet IPs than for the large ink droplet IPm. Therefore, by adjusting the timing of the drive waveform W1 and the drive waveform W2, as shown in FIG. 6, it is possible to eject small ink droplets IPs and large ink droplets IPm to the same pixel.
[0036]
In the color printer 20 of this embodiment, small dots are supplied by supplying only the drive waveform W1 to the piezo element PE, medium dots are supplied by supplying only the drive waveform W2 to the piezo element PE, and both the drive waveforms W1 and W2 are supplied. Large dots are formed by supplying and ejecting two ink droplets to the same pixel. Of course, by increasing the number of types of drive waveforms, it is possible to form dots of various sizes.
[0037]
FIG. 7 is an explanatory diagram showing the internal configuration of the control circuit 60 of the color printer 20. As shown in the figure, the control circuit 60 includes a PC interface 64 for exchanging data with the CPU 61, PROM 62, RAM 63, and computer 80, a peripheral device for exchanging data with the paper feed motor 35, the carriage motor 30, and the like. An output unit (PIO) 65, a timer 66, a drive buffer 67, and the like are provided. The drive buffer 67 is used as a buffer for supplying dot on / off signals to the ink ejection heads 44 to 49. These are connected to each other by a bus 68 and can exchange data with each other. The control circuit 60 is also provided with an oscillator 70 that outputs a drive waveform at a predetermined frequency, and a distribution output device 69 that distributes the output from the oscillator 70 to the ink ejection heads 44 to 49 at a predetermined timing.
[0038]
When the control circuit 60 having the configuration shown in FIG. 7 receives the image data FNL from the computer 80, the control circuit 60 stores the dot ON / OFF signal in the temporary RAM 63. The CPU 61 outputs dot data to the drive buffer 67 at a predetermined timing while synchronizing with the movements of the paper feed motor 35 and the carriage motor 30.
[0039]
Next, the mechanism by which dots are ejected when the CPU 61 outputs a dot on / off signal to the drive buffer 67 will be described. FIG. 8 is an explanatory diagram showing the connection of one nozzle row of the ink ejection heads 44 to 49 as an example. The nozzle rows of the ink ejection heads 44 to 49 are interposed in a circuit having the drive buffer 67 as the source side and the distribution output device 69 as the sink side, and each piezo element PE constituting the nozzle row has its electrode. One of these is connected to each output terminal of the drive buffer 67, and the other is connected to the output terminal of the distribution output unit 69 all together. As shown in FIG. 8, the drive waveform of the oscillator 70 is output from the distribution output device 69. When the CPU 61 outputs a dot ON / OFF signal for each nozzle to the drive buffer 67, only the piezo element PE that has received the ON signal is driven by the drive waveform. As a result, the ink particles Ip are simultaneously ejected from the nozzles of the piezo element PE that has received the ON signal from the drive buffer 67.
[0040]
The color printer 20 having the hardware configuration as described above drives the carriage motor 30 to move the ink discharge heads 44 to 49 in the respective colors in the main scanning direction with respect to the printing paper P, and to feed the paper feeding motor. By driving 35, the printing paper P is moved in the sub-scanning direction. Under the control of the control circuit 60, the color printer 20 prints a color image on printing paper by driving the print head 41 at an appropriate timing while repeating main scanning and sub-scanning of the carriage 40.
[0041]
In this embodiment, as described above, the color printer 20 that ejects ink using the piezo substrate PE is used. However, a printer using another method may be used. For example, the present invention may be applied to a printer of a system in which electricity is supplied to a heater arranged in the ink path and ink is ejected by bubbles generated in the ink path, or a printer of another system such as thermal transfer. Further, the resolution of density expression may be further improved by further increasing the size of dots to be formed and the density of ink.
[0042]
B. Data conversion process
The color printer 20 has a function of printing a color image as described above, but the format of image data that can be handled by the color printer 20 is different from the format of images that can be handled by the computer 80. In general, resolution, color expression format, gradation of density expression, and the like are different. Therefore, in order to print a color image on the computer 80 with the color printer 20, it is necessary to convert the data format to one that can be handled by the color printer 20. The gradation data conversion apparatus 10 performs this data conversion.
[0043]
The internal configuration of the gradation data conversion apparatus 10 has already been roughly described with reference to FIG. In this embodiment, the data converter 10 is realized as hardware by a so-called discrete circuit configuration. An outline of data conversion processing executed inside the data conversion apparatus 10 will be briefly described with reference to FIG. FIG. 9 shows an outline of processing performed by the data conversion apparatus 10, and does not show software executed by the CPU in the printer 20 or the computer 80.
[0044]
In the computer 80, the image is handled as matrix data, that is, as a large table in which a large number of numbers (for example, 1000 rows) are arranged vertically and horizontally. Each square constituting the table is called a pixel, and the computer 80 interprets the pixel value (tone value) as the brightness at that point. When the gradation value is expressed by 8 bits, each gradation value can take a value between 0 and 255. The gradation value 0 is the darkest state, and the gradation value 255 is the brightest. Represents a state. In this way, in the computer 80, the black and white image is represented by one piece of matrix data. A color image can also be expressed using matrix data. That is, according to the teaching of chromatics, all colors can be expressed by appropriately mixing light of three colors of red, green, and blue, so it represents a light-dark image of each color of red, green, and blue A color image can be handled as a combination of matrix data, that is, an R image, a G image, and a B image.
[0045]
In order to print such image data with the color printer 20, the data conversion apparatus 10 performs resolution conversion processing (step S100). The contents of this process will be described below. For example, consider a case where image data composed of vertical and horizontal 1000 × 1000 pixels is printed in a size of 10 cm in length and width. In this case, one pixel corresponds to 0.1 mm on the printing paper. The number of mm corresponding to one pixel on the printing paper naturally varies depending on the size of the image to be printed. Here, since the number of dots formed by the printer per unit length (referred to as printer resolution) is determined by the printer model, the resolution of the original image and the printer depend on the size of the image to be printed. There are cases where the resolution does not match or does not match. If the resolution of the printer is different from the resolution of the original image, it is inconvenient for data processing, so reduce the number of pixels of the original image by thinning out the pixels, or conversely increase the number of pixels by interpolation, etc. It is convenient to match the resolution of the original image with that of the printer. Such processing is performed in the resolution conversion processing.
[0046]
When the resolution conversion process ends, the data conversion apparatus 10 performs a color conversion process (step S102). As described above, a computer generally represents a color image with three colors of red (R), green (G), and blue (B), while a printer generally represents a color image with cyan (C) and magenta ( M) • Expressed in three colors, yellow (Y). Therefore, when printing a color image, it is necessary to change the color expression method using the three colors R, G, and B to the color expression method using the three colors C, M, and Y. The color conversion process is a process for performing such conversion. When color conversion processing is performed, R, G, and B gradation image data having 256 gradations are converted into C, M, and Y gradation image data having 256 gradations.
[0047]
Actually, the computer converts the R, G, and B gradation values into the C, M, and Y gradation values with reference to a color conversion table as shown in FIG. As shown in the figure, the conversion table is a three-dimensional number table with R, G, and B gradation values as axes, and values on each axis can take values from 0 to 255. A cube in which the length of one side is 255 and each side has R, G, and B axes is called a color solid. A space formed by R, G, and B axes orthogonal to each other is called a color space. The conversion table subdivides the color solid into small cubes and stores the corresponding C, M, and Y tone values for each vertex of each small cube. In order to perform color conversion with reference to the conversion table, it is performed as follows. For example, when a color having R, G, and B gradation values represented by RA, GA, and BA is represented by C, M, and Y gradation values, the point of coordinates (RA, GA, BA) on the color space Consider A and find a small cube (dV) that contains point A. The C, M, Y gradation values of each vertex of the cube are obtained by referring to the conversion table, and the C, M, Y gradation values of the point A are interpolated from the obtained C, M, Y gradation values. Ask for.
[0048]
In most cases, color correction and undercolor removal are also performed during the color conversion process. Color correction means correcting the gradation values of R, G, and B to eliminate the effect of different sensitivity characteristics for each device when reading a color image, or C, M, and Y gradation values. Is a process for correcting differences in advance to eliminate differences in color reproduction characteristics of each printing apparatus. By performing the color correction, it is possible to express an accurate color regardless of the difference between the device that reads the image and the printing device.
[0049]
Under color removal is a process of extracting a black (K) component from a C / M / Y gradation image and converting it to C / M / Y / K gradation image data. By removing the under color, it is possible to replace an equal amount of C, M, and Y three inks with the same amount of K ink, thereby reducing the amount of ink used and from the aspect of ink duty. Is also preferable.
[0050]
When the color conversion process ends, the data conversion apparatus 10 performs a halftoning process (step S104). The contents of this process will be described below. The image data after color conversion is matrix data of four colors of C, M, Y, and K, and each pixel takes one of 256 gradation values. On the other hand, a printer prints an image by forming dots on printing paper, and can only take two states, whether or not dots are formed. In order to improve this, there are printers that can print multi-valued dots including intermediate states by changing the size of the dots as described above, or preparing light three primary colors as inks. However, there is a limit to the gradation values that can still be expressed in such a countermeasure. Therefore, it is necessary to convert an image having 256 gradations into an image expressed with very few gradations that the printer can express. A process for performing such conversion is a halftoning process.
[0051]
FIG. 11 is an explanatory diagram showing a state where the halftoning process is performed. FIG. 11A shows the image data after color conversion before the halftoning process, and FIG. 11B shows the halftoning process. The principle of the image data after performing is shown. As shown in the figure, each of the pixels constituting the image before the halftoning process is written with any value of 256 gradations, but a dot is formed in the pixel after the halftoning process (ON). Either value indicating whether or not (OFF) is written. In FIG. 11B, in order to make the distribution of dots easy to understand, the pixels in which ON is written are hatched, and the pixels in which OFF is written are outlined. FIG. 11 shows a simple binarization example in which dots are formed / not formed with respect to four colors of cyan, magenta, yellow, and black. In addition to magenta ink, dots can be formed by light cyan ink and light magenta ink with low density, and large, medium and small dots can be formed for each color. Therefore, the halftoning in the embodiment is not a simple binarization, but can be a maximum of 7 values for cyan and magenta, and a maximum of 4 values for yellow and black.
[0052]
If image data having 256 gradations is simply binarized or ternarized according to the number of gradations that can be expressed by the printer, a predetermined threshold value is compared with the gradation value of each pixel. It is also possible to multi-value depending on the size. However, when a multi-valued image is printed in this way, there arises a problem that a so-called pseudo contour that does not exist in the original image appears in the printed image. In order to avoid this problem, many methods of halftoning have been proposed. Typical methods include a method called an organized dither method and a method called an error diffusion method. These processes are normally executed in a printer driver installed in the computer 80. In this embodiment, these processes are executed by hardware inside the data conversion apparatus 10. The specific configuration will be described later.
[0053]
When the halftoning process ends, the pixels are rearranged (step S106). This process is a process of rearranging the image data converted into a format representing the presence or absence of dot formation by the halftoning process in the order to be transferred to the color printer 20. That is, as described above, the color printer 20 drives the print head 41 while repeating main scanning and sub-scanning of the carriage 40 to form dot rows on the printing paper P. As described with reference to FIG. 4, since the plurality of nozzles Nz are provided in the ink ejection heads 44 to 47 for each color, a plurality of dot rows can be formed by one main scanning. Although possible, the dot rows are separated from each other by the nozzle pitch k. Although it is desirable that the nozzle pitch k be as small as possible, it is difficult to reduce the nozzle pitch k to a pixel interval (corresponding to the case where the nozzle pitch k is 1) for the convenience of head manufacture. As a result, in order to form dot rows arranged at pixel intervals, first, a plurality of dot rows separated by the nozzle pitch k are formed, and then the head position is slightly shifted so that new dot rows are formed between the dot rows. Control such as forming is necessary.
[0054]
Also, in order to improve the print image quality, one dot row is formed by dividing it into a plurality of main scans, and furthermore, in order to shorten the printing time, each of the main scan forward and backward movements. Control is also performed such as forming dots. When these controls are performed, the order in which the color printer 20 actually forms dots is different from the order of the pixels on the image data. Therefore, the data is rearranged in the pixel rearrangement process. When the pixel rearrangement process is performed, the image data is converted into image data FNL in a format printable by the printer 20.
[0055]
C. Internal structure and operation of data converter
As described above, the data conversion apparatus 10 includes a plurality of modules including a CLM (color lookup module) 12 realized by a discrete circuit configuration. Each module performs the above-described image data conversion steps (see FIG. 9) in a shared manner. The image data ORG supplied from the computer 80 is subjected to predetermined processing in each module, and finally Is converted into image data FNL that can be printed by the color printer 20. Hereinafter, the operation of each module will be described.
[0056]
(1) Color Lookup Module (CLM)
The CLM (color lookup module) 12 is a module that performs resolution conversion (step S100) and color conversion (step S102), and its configuration is shown as a block diagram in FIG. As shown in FIG. 12, this module includes an IPM 120 that captures data from the bus 17, a scan converter (hereinafter referred to as SCV) 121 that converts the resolution of the captured data, and a color converter that performs color conversion of the converted data. (CCV) 122, OPM (output interface module) 123 that outputs converted data to the bus 17, and memory interface module (MIF) 126 that manages data exchange with the SRAM 16. . In the OPM 123, an address value assigned to the next halftone module (HTM) 13 is set in advance, and the conversion result of the CCV 122 is output to the bus 17 together with the address value. The SRAM 16 stores a bilinear or bicubic map necessary for resolution conversion and color solid (see FIG. 10) data necessary for color conversion processing. The SCV 121 and the CCV 122 store received image data in a memory interface. (MIF) 126 converts the address into an address, and uses this address to refer to the inside of the SRAM 16, whereby the resolution-converted data and the color-converted data can be read from the SRAM 16.
[0057]
In a normal case, that is, when the data output from the computer 80 is RGB gradation image data, the above conversion processing by the SCV 121 and the CCV 122 of the CLM 12 is necessary. However, when the image data supplied from the computer 80 is not specified for resolution and is a monochrome image or color-converted image data, the data conversion apparatus 10 does not need to perform color conversion processing. . In such a case, the data input by the IPM 120 is output from the OPM 123 to the bus 17 without passing through the SCV 121 and the CCV 122 as shown in FIG. In FIG. 1, the data processed by the previous module is depicted as being directly received by the next module, but the address value assigned in advance to the module to be processed next is added to the data. Alternatively, each module may perform processing by determining data to be captured from data appearing on the bus 17. In this case, by changing the address value added to the data output from the OPM of each module, it is possible to freely specify the module that receives the data and performs processing.
[0058]
In order to execute these operations, a control circuit having an appropriate processing capability is required. There are two known control circuits that execute such complicated processing. The first method is a method called a random logic method, in which a flip-flop and a basic gate such as an AND gate or an OR gate are combined to form a so-called sequential circuit to generate a predetermined control signal. . The other method is called a microprogram method, in which a series of control signals are stored in advance, and the stored control signals are read one after another and supplied to the arithmetic circuit unit. The arithmetic circuit unit performs a predetermined calculation. Either method can be employed, but each module of the present embodiment employs a random logic method that is excellent in speed of operation.
[0059]
(2) Halftone module (HTM)
The configuration of the halftone module (HTM) 13 is shown in FIG. The HTM 13 is a module that performs multi-value processing using color-corrected data. As shown in the figure, this module also has an IPM (input submodule) 130 for taking in data from the bus 17 and a preliminary process for halftoning processing for the taken-in data, like the other modules. Pre-dither table module (PRDT) 131, halftone block module (HB) 132 that performs halftoning processing based on the error diffusion method using data output from PRDT 131, and OPM that outputs converted data to bus 17 (Output interface module) 133 and five sub modules of a memory interface module (MIF) 136 that controls data exchange with the SRAM 16.
[0060]
The PRDT 131 is a module that performs preliminary processing for halftoning, and performs the following processing. First, when the gradation data DS is input and the 1-bit mode is designated, the dot recording of each dot is performed according to FIG. 14, and when the other 2-bit mode is designated, according to FIG. Performs processing to convert to rate expected value data. The 1-bit mode refers to a case where a single dot is formed for each color. The 2-bit mode refers to a case where the dots to be formed are three types of large, medium, and small for each color. In the latter, four gradations of no dots, small dots, medium dots, and large dots can be realized for one pixel, and since 4 gradations = 2 bits, this is called a 2-bit mode. When there are a plurality of types of dots that can be generated by the color printer 20 (for example, three types of large, medium, and small as in this embodiment), in the example shown in FIG. 15, the small dot recording rate increases as the gradation value increases. It is designed so that a medium dot is formed when the gradation value becomes a certain value DS1 or more, and a large dot is formed when the gradation value DS becomes a predetermined value DS2 or more. Further, the small dot having the highest resolution of density expression power is designed to appear in the entire range of density gradation.
[0061]
Although the internal configuration of the PRDT 131 is not particularly shown, it is simple to read out the data of the expected value of the recording rate of each large, medium, and small dot by referring to the table stored in the SRAM 16 using the given gradation data. By the configuration, it can be easily realized as hardware. For example, a configuration in which the input gradation value is assigned to the lower bits of the address, the difference between the colors is assigned to the upper bits, and the data is read from the SRAM 16 using the address obtained by combining the two is considered. Each read data, that is, the expected value of the recording rate of large, medium, and small dots is referred to as large dot data Lin, medium dot data Min, and small dot data Sin, respectively. The converted data is not simply the dot recording rate, but is called the expected value of the dot recording rate because it is determined by the HB 132 whether or not each dot is finally formed. The processing inside the HB 132 will be described in detail later.
[0062]
In either the 1-bit mode or the 2-bit mode, the PRDT 131 replaces the gradation data DS of the original image with data corresponding to the dot recording rate. In FIG. 14, the relationship between the gradation value and the dot recording rate is drawn almost linearly, but the relationship between the gradation value and the dot recording rate is the γ characteristic in image reproduction of the color printer 20 or the like. Is corrected so that the density of the original image is accurately reproduced, so that the linear relationship is not always obtained.
[0063]
Next, the internal configuration and function of the HB 132 will be described. The internal configuration of the HB 132 is realized by a discrete hardware configuration in order to increase the processing speed. This configuration is shown hierarchically in FIGS. The relationship between the drawings will be described in advance. FIG. 16 is a block diagram showing a schematic configuration of the HB 132. FIG. 17 is a block diagram showing the configuration of the first halftone circuit 210 performing multilevel processing inside the HB 132, and FIG. 18 is a block diagram showing the configuration of the second halftone circuit 220. . Further, FIG. 19 is an explanatory diagram showing the concept of the dither matrix, FIG. 20 is a functional block diagram showing the internal configuration of the second dot formation determination circuit 212 and the small dot formation determination circuit 223, and FIG. It is a functional block diagram of circuit EE. 22 is an explanatory diagram showing the error diffusion range, FIG. 23 is a block diagram showing the internal configuration of the error calculation circuit 250 in the HB 132, and FIG. 24 is a block diagram of the main scanning buffer MB and the sub-scanning buffer SB in the error calculation circuit 250. It is a block diagram which shows an internal structure.
[0064]
As shown in FIG. 16, the HB 132 includes a halftone circuit 210 that performs halftone processing for four colors of cyan, magenta, yellow, and block, and a halftone circuit that performs halftone processing corresponding to two colors of light cyan and light magenta. 220, a control circuit 230 for controlling the operations of the halftone circuits 210 and 220, an error calculation circuit 250 for calculating error diffusion in response to the operations of the halftone circuits 210 and 220, and the halftone circuits 210 and 220. An output circuit 270 for receiving the output, formatting it, and selectively outputting it is provided. Note that the four halftone circuits 210 that perform halftone processing for the four colors of cyan, magenta, yellow, and block have the same configuration. However, when distinction is necessary in the following description, each halftone circuit 210 The circuits 210K1, 210C1, 210M1, and 210Y1 are described. Similarly, the halftone circuits 220 that perform halftone processing corresponding to two colors of light cyan and light magenta are also distinguished as halftone circuits 220C2 and 220M2.
[0065]
As shown in FIG. 17, the halftone circuit 210 includes a first dot formation determination circuit 211 that determines on / off of large dots and medium dots by systematic dithering, and on / off of small dots by error diffusion. And a second dot formation determination circuit 212 for determination. On the other hand, as shown in FIG. 18, the halftone circuit 220 has a large dot formation determination circuit 221 that determines on / off of large dots by a systematic dither method and a medium dot on / off determination by error diffusion. A dot formation determination circuit 222 and a small dot formation determination circuit 223 that similarly determines small dots. As shown in each figure, the halftone circuit 210 is configured to collectively determine the formation of large dots and medium dots by the dither method, and to determine the formation of small dots by error diffusion. On the other hand, the halftone circuit 220 is configured to determine the formation of large dots by the dither method, and to determine medium dots and small dots by error diffusion.
[0066]
The halftone circuits 210 and 220 receive the expected value of the recording rate of each of the large, medium and small dots obtained by the processing by the PRDT 131 in the previous stage, that is, the large dot data Lin, the medium dot data Min, and the small dot data are input with Sin. These data are subjected to density adjustment by systematic dither method and error diffusion method, and finally binary data (Lon, Mon, Son) is output.
[0067]
Therefore, the internal configuration and function of the first dot formation determination circuit 211 will be briefly described below. Although the input / output signal lines are different, the large dot formation determination circuit 221 also has a substantially similar circuit configuration. The first dot formation determination circuit 211 has large dot data Lin and medium dots, which are expected values of dot recording rates of large dots and medium dots for each color (C, M, Y, LC, LM, K) of each pixel. Data Min and threshold data Dth from the dither matrix are input. That is, the first dot formation determination circuit 211 is a circuit that determines the dot on / off ratio with reference to the threshold data Dth obtained from the dither matrix stored in the SRAM 16. The threshold data Dth is determined as follows. As shown in FIG. 19, a distributed dither matrix having a horizontal size of DX and a vertical size of DY is stored for large and medium dots at predetermined addresses of the SRAM 16, respectively. The first dot formation determination circuit 211 receives information (X, Y) of the position of each pixel, and the remainder obtained by dividing the position information (X, Y) of the pixel by the dither matrix sizes DX and DY, respectively. Is provided. The output from the arithmetic unit is converted into an address by the MIF 136, and the threshold data Dth for the large and medium dots is read from the dither matrix stored in the SRAM 16 using the converted address. Two comparators are provided in the first dot formation determination circuit 211, and each comparator compares threshold data Dthl for large dots, large dot data Lin, and threshold data Dthm for medium dots. The medium dot data Min is compared. If the large dot data Lin is larger, the large dot is turned on (forms a dot), and if the larger dot data Lin is smaller than the threshold data Dthl, the larger dot is turned off (no dot is formed). Note that the same determination is made for medium dots only when large dots are not formed, and the formation of medium dots is determined.
[0068]
The distributed dither matrix uses a dither matrix because threshold values are set so that the dot dispersibility is secured and dots are sequentially turned on when uniform dot data is input. Thus, halftoning reflecting the gradation value of the original image can be completed at high speed by determining on / off of the dot of each pixel. In the above description, the separate threshold value data Dthl and Dthm are used for large dots and medium dots, but in an actual circuit, a single threshold value data Dth is input and shifted. Shared by both dots. In this case, in addition to the dispersibility of the large dots and the medium dots alone, the dispersibility of both the large and medium dots is ensured, which is preferable.
[0069]
Although the configuration and operation of the first dot formation determination circuit 211 have been described above, the large dot formation determination circuit 221 also has substantially the same circuit configuration. The only difference is that the large dot formation determination circuit 221 receives only the large dot data Lin and the threshold data Dth, and determines the presence or absence of dot formation only for the large dots.
[0070]
Next, the configuration and operation of the second dot formation determination circuit 212 will be described. The medium dot formation determination circuit 222 and the small dot formation determination circuit 223 also have substantially the same circuit configuration as the second dot formation determination circuit 212. The basic idea, circuit configuration, and operation are the same, and only the object of judgment is different. Therefore, a circuit that performs halftoning using error diffusion will be described below using the second dot formation determination circuit 212 as a representative example. The second dot formation determination circuit 212 receives the small dot data Sin output from the previous PRDT 131 and the error accumulated value er00 diffused from the surrounding pixels by error diffusion from the outside, and further internally. The dot formation determination results Lon and Mon by the first dot formation determination circuit 211 are input. The determination result from the first dot formation determination circuit 211 is received because a small dot is not formed when a large dot or a medium dot is formed. That is, the signals Lon and Mon indicating the determination result work as mask signals for preventing the formation of small dots in the operation of the second dot formation determination circuit 212.
[0071]
The second dot formation determination circuit 212 compares the value obtained by adding the error accumulation value er00 to the small dot data Sin and a threshold value prepared in advance, and forms a small dot if the added value is larger than the threshold value. In the opposite case, the circuit determines that a small dot is not formed. The dot formation determination result is output as the signal Son. When a small dot is determined to be either on or off, a density error in that pixel is determined according to whether or not a small dot is formed. This is output to the error calculation circuit 250 as a density error erw to be diffused to the periphery.
[0072]
The outline of the operation of the second dot formation determination circuit 212 is as described above, but actually, it is determined whether the small dots are on or off in consideration of various conditions. FIG. 20 is a block diagram showing the internal configuration of the actual second dot formation determination circuit 212. As shown in FIG. 20, the second dot formation determination circuit 212 includes a dot data generation circuit 213, a threshold generation circuit 214, a comparator 215, a mask circuit 216, a white flag circuit 217, and an error calculation circuit 218. . The dot data generation circuit 213 includes an addition circuit add1 that adds the corrected dot data pdsrc and the error accumulation value er00, and a latch LL1 that holds the addition value. The error accumulated value er00 is calculated by the error calculation circuit 250, details of which will be described later.
[0073]
The corrected dot data pdsrc input to the dot data generation circuit 213 is a signal generated by the dot data output circuit EE shown in FIG. 21, and as illustrated, not only the small dot data Sin but also the large dot data Lin. , Medium dot data Min, dot data Kin for black ink, and dot data PCin for parent color. Here, the parent color means a dark ink in the case of a light ink, and when making a determination on a light cyan ink, the dot data of the cyan ink is referred to. This dot data output circuit EE is formed by a gate array, and when the object to be determined by the dot formation determination circuit is a small dot, a signal obtained by correcting this with other dot data based on the small dot data Sin. Is output. For example, when the halftone circuit 210 determines a small dot of light cyan, the dot data Sin of the small dot of light cyan ink is not directly subjected to halftoning by error diffusion, but a black dot is temporarily formed around the dot. If so, the correction is locally made so that the small dot data is locally reduced so that the small dots of light cyan ink are not easily formed. The dot data that has undergone such correction is called corrected dot data pdsrc.
[0074]
In addition, signals generated by the dot data output circuit EE shown in FIG. 21 will be described. In addition to the corrected dot data pdsrc described above, the dot data output circuit EE also includes data atsrc for determining a threshold value in the subsequent halftoning process, and a signal pogsrc for determining a range that affects when a dot is formed on the target pixel. Output. The signal atsrc is a signal used to obtain the threshold data srmdin by referring to the SRAM 16 using this value. The threshold data srmdin will be described later. Further, the signal pogsrc is a signal used for post-gamma correction and the like, and is used for the purpose of changing the degree of influence when dots are formed depending on the state of dot formation. In the present embodiment, description of this signal is omitted.
[0075]
As described above, the corrected dot data pdsrc input to the dot data generation circuit 213 shown in FIG. 20 is also affected by other dot data, and only the small dot data Sin of the pixel itself to be determined is determined. Rather, the influence of other dot data is taken into consideration. The dot data taking these into consideration and the accumulated error value er00 distributed from the surrounding pixels are added by the adder add1 of the dot data generation circuit 213, held by the latch LL1, and output.
[0076]
On the other hand, the threshold generation circuit 214 includes an adder add2 that adds threshold data srmdin for determining dot formation and the noise signal nos, and a latch LL2 that holds the added value. Here, the threshold data srmdin is a signal obtained by referring to the SRAM 16 based on the signal atsrc generated by the gate array shown in FIG. The threshold data srmdin generates a value corresponding to dot data in order to solve problems such as tailing in error diffusion, but the average value is substantially the same as the average value of the small dot data. The noise signal noise is random noise added to the threshold value in order to prevent generation of pseudo contours in error diffusion. The threshold value generation circuit 214 appropriately determines a threshold value in the error diffusion method determination, and this is held and output by the latch LL2.
[0077]
Outputs from the dot data generation circuit 213 and the threshold generation circuit 214 are input to a comparator 215, where the magnitude comparison is performed. The comparison result by the comparator 215 is output to the mask circuit 216 and the error calculation circuit 218. The determination result output to the mask circuit 216 is finally output as a signal Son indicating ON / OFF of small dots. Further, the output of the white flag circuit 217 receiving the small dot data Sin is also input to the mask circuit 216 and the error calculation circuit 218. Further, the error calculation circuit 218 also receives signals such as the output of the dot data generation circuit 213 and the dot density evaluation value (on value) onv when a small dot is formed.
[0078]
In addition, the mask circuit 216 also receives dot formation determination results for dots of other colors and sizes. That is, the determination result Kon of the black tone halftone circuit 210K1, the determination result Lon of the large dot of the same color ink, the determination result Mon of the medium dot, and the determination result PCon for the parent color are input. The determination result PCon for the parent color corresponds to the determination result Con for the cyan ink in the dot formation determination circuit for the light cyan ink, and the determination result Mon for the magenta ink in the dot formation determination circuit for the light magenta ink. The mask circuit 216 inputs these determination results, and even when the determination result by the comparator 215 is ON, that is, when it is determined that a small dot is to be formed on the pixel, black dots, parent color dots, or ink of the same color When large or medium dots are formed, the signal for turning on the small dots is masked, and the determination result Son is turned off. Note that the fact that the signal has been masked by the mask circuit 216 is also output to the error calculation circuit 218 for notification.
[0079]
The white flag circuit 217 is a circuit that receives the corrected dot data pdsrc and outputs a flag signal called a white flag when the corrected dot data pdsrc is 0. When this signal is output, the mask circuit 216 masks the determination result of the comparator 215 so that dots are not formed, and the error calculation circuit 218 temporarily stops the error calculation. This is a technique that is useful when there is a fine white area between two areas of high density, and this white area exceeds the range of error diffusion. Although the error diffusion range has not been described yet, the error is usually diffused over a range of several pixels to several tens of pixels in the raster direction, and in some cases tens of pixels. In this case, if the width of the thin white area is narrower than the range of error diffusion, the error may affect the adjacent area beyond the pure white area. In such a case, this influence is removed by using the white flag output from the white flag circuit 217. Further, in the pure white area, masking is performed so as not to forcibly form dots.
[0080]
The error calculation circuit 218 calculates an error. Basically, when it is determined that a dot is to be formed with reference to the outputs of the comparator 215 and the error calculation circuit 218, the dot data The difference between the output of the generation circuit 213 and the evaluation value onv is calculated as a density error erw. When it is determined that no dot is to be formed, the output of the dot data generation circuit 213 is calculated as a density error.
[0081]
With the circuit configuration described above with reference to FIGS. 17 to 21, for the dots of cyan, magenta, yellow, and black ink, large dots and medium dots are processed by processing the large dot data Lin and medium dot data Min by the distributed dither. ON / OFF is determined, and on the basis of the small dot data Sin and the accumulated density error value er00 from the surrounding pixels, the small dot ON / OFF is determined by the error diffusion method using this determination result and others. Can do. For light cyan and light magenta ink dots, large dot data Lin is processed by distributed dither to determine whether large dots are turned on or off. For medium dots and small dots, each error diffusion method The dot can be turned on or off.
[0082]
As described above, in the error diffusion process performed by the second dot formation determination circuit 212, the medium dot formation determination circuit 222, and the small dot formation determination circuit 223, a medium dot or a small dot is formed in the pixel currently being processed. In order to determine whether or not, the density error accumulation value er00 accumulated while applying a predetermined weight to the density error erw generated in each pixel is required. In this embodiment, as shown in FIG. 22, the error diffusion range is 16 pixels in the main scanning direction within the same raster as the pixel of interest P, and is adjacent to the raster to which the pixel of interest P belongs in the sub-scanning direction. There are 18 pixels in the raster, a total of 34 pixels. Therefore, when it is determined whether or not to form dots for one pixel, the density error erw caused by the presence / absence of dot formation is divided into 34 data and sequentially accumulated while performing predetermined weighting. It is necessary to continue. The accumulated value er00, which is data obtained by accumulating past data in such a time series, is temporarily stored in the address of 34 pixels in the SRAM 16 every time a density error erw is generated by the processing of each pixel. It is common in the technical field of information processing to read out and process from the SRAM 16 when making a determination on the pixel P. However, if a large amount of data is obtained via the SRAM 16 in this way, the access processing to the SRAM 16 having a long processing time is performed many times, and a large amount of processing time is required for the error diffusion processing. To do. Even if the SRAM 16 is referred to by hardware without using a CPU, the number of accesses is large, so that the processing time is long.
[0083]
In this embodiment, in consideration of such a problem, an error calculation circuit 250 including a register group that can be accessed at high speed is employed. Therefore, the configuration and operation of the error calculation circuit 250 will be described in detail below. As illustrated in FIG. 22, in this embodiment, the error generated for the pixel P of interest is distributed to the surrounding 34 pixels. The weighting at that time is assigned to the pixel of interest in the main scanning direction or 1/8 for pixels adjacent in the sub-scanning direction, 1/16 for pixels separated by one in the main scanning direction, 1/32 for pixels separated by two and three, and more in the main scanning direction The remaining 12 pixels are 1/64. Also, in the raster adjacent to the raster to which the pixel of interest belongs, both the adjacent 1/8 weighted pixels adjacent to the pixel of interest are 1/16, and in the raster, one pixel is returned to the position in the main scanning direction. / 16, 1/32 for the pixels in the two and three back positions, and 1/64 for the remaining 12 pixels further separated in this raster. The sum of these weights is the value 1 (= 2 × 1/8 + 4 × 1/16 + 4 × 1/32 + 24 × 1/64).
[0084]
The error calculation circuit 250 calculates er00, which is data necessary for the error diffusion process, while minimizing access to the SRAM 16, and outputs it to each halftone circuit 210 and halftone circuit 220 as shown in FIG. Circuit. FIG. 23 is a block diagram showing the internal configuration of the error calculation circuit 250. As shown in FIG. 23, the error calculation circuit 250 is provided corresponding to the number of pixels (16 in the embodiment) that distribute the density error erw generated by the tone conversion of the target pixel to be tone-converted in the main scanning direction. The main scanning buffer MB and the density error erw generated by tone conversion of the target pixel are provided corresponding to the number of pixels (18 in the embodiment) distributed in the main scanning direction on the adjacent raster of the target pixel. A sub-scanning buffer SB, a shift register group SR for applying a predetermined weight according to each buffer of the main scanning buffer MB and the sub-scanning buffer SB to the density error erw generated by the tone conversion of the pixel of interest, and each shift register group SR Are provided with a register group control circuit 251 for outputting an operation signal, and a weighting switching circuit 255 for further controlling the register group control circuit 251.
[0085]
The shift register group SR inputs the density error erw obtained by the second dot formation determination circuit 212 or the small dot formation determination circuit 223 for the pixel P of interest, and this is instructed by the register group control circuit 251. It is provided to reduce by a power of ½, that is, to divide by shifting right several times. Since the density error erw is given as 8-bit digital data, if this is shifted to the right, 1/2, 1/4, 1/8, 1/16, 1/32, 1 will be sequentially applied according to the number of shifts. / 64. The number of shifts is output from the register group control circuit 251, and the shift register group SR receives this signal and right shifts the data of the density error erw a predetermined number of times. As shown in FIG. 22, how much right the data of which shift register group SR is shifted is determined by what weight is assigned to which range and the error is distributed. In this embodiment, as described above, the two pixels adjacent to the target pixel P are weighted by 1/8, the outer four pixels by 1/16, and the outer four pixels by 1/32. The standard is weighted and 1/64 weighted to the other 24 pixels, and each error is distributed. This error diffusion range forms dots in the corrected dot data pdsrc and the pixel P of interest. It can be varied by a signal Son indicating whether or not. It is the weighting switching circuit 255 that determines this. The weighting switching circuit 255 is configured to detect error diffusion depending on, for example, a case where a dot to be formed is not in the vicinity by a signal Son indicating whether or not a dot is to be formed in the corrected dot data pdsrc or the pixel P of interest. A control signal is output to the register group control circuit 251 so as to change the range. The register group control circuit 251 receives the signal from the weighting switching circuit 255, switches the signals to be output to the shift register group SR all at once, and keeps the condition that the sum of weighting is 1, It is switched appropriately according to the conditions.
[0086]
1/2 in each shift register group SR n The set density error (hereinafter referred to as weighted density error erws) is output to the main scanning buffer MB and the sub-scanning buffer SB. The main scanning buffer MB is provided corresponding to 16 pixels belonging to the same raster as the pixel of interest P in the error diffusion range PERA shown in FIG. The sub-scanning buffer SB is provided corresponding to 18 pixels belonging to the raster adjacent to the target pixel P in the sub-scanning direction in the error diffusion range PERA shown in FIG. Although the reference numerals are different, the main scanning buffer MB and the sub scanning buffer SB have the same internal configuration. Although the internal structure of each buffer will be described later, these buffers basically have a function of adding the output from the preceding buffer and the output from the shift register group SR and outputting the result to the subsequent stage.
[0087]
The 18 sub-scanning buffers SB are connected so that the output of the preceding stage becomes the input of the succeeding stage. Since the error distribution by error diffusion is performed for the first time in the first-stage subscanning buffer SB, the value 0 is set. Entered. The output srme from the last stage of the sub-scanning buffer SB is written to the corresponding address of the SRAM 16 via the MIF 136. The output of the final stage is written back to the SRAM 16. In this embodiment, since the density error is diffused to pixels across two rasters, the raster pixel adjacent to the raster to which the pixel P of interest belongs belongs. This is because the distributed density error is once written back to the SRAM 16 and read again in the next main scanning to receive the error distribution. The 16 main scanning buffers MB are also connected so that the output of the previous stage becomes the input of the subsequent stage, like the sub scanning buffer SB. However, the accumulated value srme of the density error of the corresponding pixel read from the SRAM 16 is input to the first-stage main scanning buffer MB. This is a cumulative value of errors allocated in the main scan in the previous raster. Further, the output of the main scanning buffer MB at the final stage corresponds to the accumulated value er00 of the density error for the pixel of interest P, which is output to the halftone circuit 210 and the halftone circuit 220 described above, and is caused by error diffusion. It is used for judgment.
[0088]
The internal configuration of each buffer MB, SB will be described with reference to FIG. As shown in the figure, the buffers MB and SB include an adder 301 that performs an addition operation on two input values, an input selector 310 that alternatively outputs one of the two signals, and eight registers 321. And 328, and an output selector 330 for selectively outputting data of any of these eight registers 321 to 328. One register 321 to 328 is prepared for each color of cyan, magenta, yellow, and black, and two registers are prepared for each color of light cyan and light magenta. It should be noted that the number of registers may be other than eight. For example, yellow is processed only by the dither method, and error diffusion is not used, or error diffusion is performed only for one stage (for small dots) for each color of light cyan and light magenta, and the number of registers is 1 each. For example, the total number of registers can be reduced. When error diffusion is performed for each dot, the number of registers may be increased. The number of registers can be easily increased or decreased in any case. The adder 301 adds the weighted density error erws output from each shift register SR and the output value er (n) of the output selector 330 of the buffers MB and SB. The input selector 310 selectively outputs the output value er (n−1) from the previous stage buffer and the output of the adder 301. The registers 321 to 326 are 16-bit registers capable of writing / reading data at high speed, and any one of the registers is switched to a read / write target by a selection signal SEL for selecting a color for which error diffusion is performed. It has become.
[0089]
The operation of the error calculation circuit 250 having the circuit configuration described above will be described with reference to FIGS. First, one of the registers 321 to 326 is selected depending on which color is subjected to error diffusion. When performing error diffusion calculation while reading out image data, if there are M pixels and N pixels, respectively, in which the error is distributed from the target pixel P in the main scanning front-rear direction, the original image is processed as edge processing. It is desirable to provide a dummy area for M pixels at the front end and a dummy area for N pixels at the rear end. This is because if the dummy area is provided as shown in FIG. 25 and the error diffusion process is performed on the range including the dummy area, the process can be simplified. When the error diffusion process is started from the end of this dummy area, for the 16 pixels from the front end in the main scanning direction, since the gradation value of the image is 0, all dots are turned off, and the diffused density error is also 0. As a result, the weighted density error erwe written to the buffers MB and SB via the shift register SR is also zero. Of course, during these processes as well, the accumulated error Srce is sequentially read from the SRAM 16, but the accumulated error is 0 for the first raster of the image. As will be described later, for the second and subsequent rasters from the upper end of the image, the accumulated values of errors calculated and diffused when the previous raster is subjected to main scanning are sequentially read out from the SRAM 16, and the main scanning buffer. It is written in the register of the first stage of MB.
[0090]
When the dummy area ends and the data of the first pixel of the original image is read, large / medium / small dots are determined to be turned on / off according to the gradation of the image, and the second dot formation determination circuit 212 or small dot is determined. The dot formation determination circuit 223 calculates the density error erw and outputs it. This density error erw is immediately shifted by a predetermined amount by the shift register SR. n Are output to the buffers MB and SB. At this time, in each buffer, the value stored in the internal register and output via the output selector 330 and the weighted density error erws are added by the adder 301 to obtain the input selector. A process of writing to the same register is performed via 310. As a result, the accumulated error already stored in the registers in the buffers MB and SB is updated. At this time, the output of the last stage of the sub-scanning buffer SB is written to a predetermined address of the SRAM 16. This is data that is read at the time of the next main scanning and is subjected to density error diffusion again.
[0091]
After instantaneously completing the error diffusion process in this way, each of the buffers MB and SB performs a process of advancing the target pixel by switching the input selector 310. By switching the input selector 310, as shown in FIG. 26, in the first stage of the main scanning buffer MB, the accumulated error stored during the previous main scanning for the pixels newly entering the error diffusion range is Read from the SRAM 16. At the same time, the accumulated error data output from the output selector 330 of the preceding buffer is read into the next register. By this operation, the accumulated error of each pixel in the error diffusion range is moved to the adjacent buffer one by one. Since this processing is realized as data transfer between the registers in the buffers MB and SB, it is completed at a very high speed. Similarly, the output of the previous buffer is also read into the last stage of the main scanning buffer MB. Since the final stage of the main scanning buffer MB is a buffer corresponding to the target pixel, the output of the buffer MB may be used as it is as the accumulated value er00 in error diffusion. Therefore, the last stage of the main scanning buffer MB is used only for switching each register in accordance with the determination about each color.
[0092]
As described above, the dummy areas are provided at both ends of the image data. When the pixel of interest reaches the end of the image, it is no longer necessary to perform error diffusion processing on the same raster any more. However, in that case, a configuration is required in which the data of the 18 sub-scanning buffers SB are directly written to the SRAM 16. On the other hand, as shown in FIG. 25, if a dummy area for 18 pixels is provided, it is necessary to sequentially advance the target pixel P from the last stage of the sub-scanning buffer SB only by sequentially advancing the target pixel P in the dummy area. A cumulative error is output and written in a predetermined area of the SRAM 16, which is preferable. When the pixel of interest reaches the end of the dummy area, the image processing for that raster is terminated, and the contents of all the main scanning buffer MB and sub scanning buffer SB registers are set to values using a reset signal (not shown). Reset to 0, and move the pointer indicating the position of the pixel of interest to the head of the next raster. Here, the head of the next raster is the head of the processing area including the dummy area described above.
[0093]
By repeating the process described above from the beginning to the end of the original image, and by repeating the process while switching the register for each ink color, the halftoning process is completed for the original image. Note that the error diffused to the raster adjacent to the target pixel P in the sub-scanning direction is once written back to the SRAM 16, but if there are L pixels to be halftoned in the main scanning direction, a dummy It is sufficient to secure L + 18 areas on the SRAM 16 by adding the areas. This is because once the data is read from the SRAM 16 with respect to the diffusion range aligned in the main scanning direction from the target pixel, it can be rewritten with new data.
[0094]
While performing the error diffusion processing described above, the halftone circuit 210 and the halftone circuit 220 determine on / off of large, medium, and small dots of each color ink. The determination results Lon, Mon, and Son are written from the HB 132 to a predetermined address in the SRAM 16. As a result, when the halftoning process by the HTM 13 described above is completed, the SRAM 16 stores on / off information of large, medium, and small dots of each ink color for each pixel. The data written to the SRAM 16 by the HTM 13 is not in the order considering the nozzle arrangement of the heads 44 to 49 in the actual color printer 20. Therefore, next, rearrangement of halftoned data is performed by the MWM 14.
[0095]
(3) Pixel rearrangement module (MWM14)
The internal configuration of the MWM 14 is shown in FIG. As illustrated, the MWM 14 includes an input module (IPM) 140 that inputs data, a pixel rearrangement submodule (MWSM) 141 that rearranges data in the SRAM 16, and an output module (OPM) 143 that outputs data. And a memory interface (MIF) 145 that controls the interface with the SRAM 16. The operations of the IPM 140 and the OPM 143 are the same as the operations of the IPMs 120 and 130 and the OPMs 123 and 133 in the CLM 12 and the HTM 13 described above.
[0096]
The pixel rearrangement submodule (MWSM) 141 is a module that performs pixel rearrangement processing. Similarly to the SCM (resolution conversion submodule) 121 and the like, the internal configuration of the MWSM 141 includes an arithmetic circuit unit and a control circuit unit. As described above, the pixel rearrangement process is a process of rearranging the image data converted into a format representing the presence or absence of dot formation by the halftoning process in the order to be transferred to the color printer 20. The arithmetic circuit unit of the MWSM 141 performs address calculation according to the control signal supplied from the control circuit unit, and writes the halftoned data at a predetermined position on the SRAM 16 via the MIF 145. In this embodiment, the data conversion is performed as shown in FIG. That is, by arranging data of the same color in line order in the sub-scanning direction, various data can be read from the output module OTM15 at the subsequent stage.
[0097]
(4) Output module (OTM)
The output module (OTM) 15 is a module that reads data from the SRAM 16 and outputs it to the outside. As with other modules, the OTM 15 can read data from the SRAM 16, and sequentially read the dot data arranged on the SRAM 16 by the MWM 14 and output it to the color printer 20. As a result, the image data supplied to the data converter 10 is output to the color printer 20 as printable image data FNL. The MWM 14 rearranges the data of each color by determining the arrangement of the data of each color in accordance with the configuration of the ink ejection heads 44 to 49 and writing back to the SRAM 16. Therefore, the OTM 15 can output data suitable for the nozzle configuration of the ink ejection heads 44 to 49 of the color printer 20 by continuously reading data in a predetermined area of the SRAM 16. The color printer 20 may output the data received from the gradation data converter 10 to the head as it is. Therefore, the processing on the color printer 20 side as well as the computer 80 side can be simplified.
[0098]
As described in detail above, according to the HTM 13 of the present embodiment, the error calculation circuit 250 that performs error diffusion calculation is configured by hardware as shown in FIGS. 23 and 24, and the SRAM 16 is accessed. Are limited to reading from the SRAM 16 to the first stage of the main scanning buffer MB and writing from the last stage of the sub-scanning buffer SB to the SRAM 16. In addition, data in the error diffusion area is transferred simultaneously in parallel using a register capable of high-speed operation, and data necessary for density error distribution is processed without being written back to the SRAM 16 one by one. Therefore, the SRAM 16 having a long time required for error diffusion processing needs to be read and written only once for each pixel processing, thereby realizing high-speed error diffusion processing. Further, the density error is weighted by the shift register SR, and the accumulation of the density error is performed by pure hardware processing such as buffers MB and SB. In addition, the error diffusion processing using the error accumulated value er00 obtained in this way also includes the first dot formation determination circuit 211, the second dot formation determination circuit 212, and the large dot formation as shown in FIGS. The determination circuit 221, the medium dot formation determination circuit 222, and the small dot formation determination circuit 223 are each executed instantaneously by a circuit constituted by discrete hardware, that is, about the accumulated time of the delay time of each gate constituting the circuit. The For this reason, the total time required for the error diffusion process is substantially equal to the two access times of the SRAM 16, and a high speed is realized. In other words, the error diffusion circuit that requires the most processing time during the halftoning process is purely hardware-configured and the access to the SRAM 16 is minimized, so that the error diffusion process is executed at high speed. Therefore, it is possible to obtain a high-quality printed matter at extremely high speed. Further, the storage capacity of the SRAM 16 required for this processing is sufficient with a small capacity corresponding to the number of pixels in the main scanning direction.
[0099]
In the above description of the present embodiment, the access to the SRAM 16 is performed twice for each read / write, but the processing is completed in one access time. That is, the SRAM 16 is composed of two sets, and the reading from the SRAM 16 to the first stage of the main scanning buffer MB and the writing from the last stage of the sub-scanning buffer SB to the SRAM 16 can be performed independently. Reading and writing the latter at the same time. According to such a configuration, the total time required for error diffusion for one pixel can be made substantially equal to one access time of the SRAM 16.
[0100]
Further, in the data conversion apparatus 10 of this embodiment, a unique address value is set for each module that performs various processes, and the processing is performed by a desired module simply by specifying the address value and supplying data. Can do. Therefore, when supplying image data from the computer 80 or the like, there is no need to output a command for designating data processing contents. Further, the data conversion apparatus 10 does not need to receive and interpret the command. By omitting these troubles, it is possible to speed up the data conversion process.
[0101]
Although the data conversion apparatus 10 of the embodiment has been described as receiving image data from the computer 80, the device that outputs the image data is not limited to the computer. For example, image data may be supplied from various image devices such as a digital camera, a color scanner, a video printer, and a film scanner, and the image data may be converted. This is preferable because the image data can be directly received from the image equipment and printed by the color printer 20 without using the computer 80.
[0102]
Although various examples have been described above, the present invention is not limited to the embodiments in the above examples, and can be implemented in various modes without departing from the scope of the invention. For example, in the above embodiment, the error diffusion range is set to 34 pixels in the same raster as the pixel of interest and the raster adjacent thereto, but the number of pixels can be set as appropriate. It is also possible to limit the diffusion range to only the raster to which the pixel of interest belongs, or to extend to the raster adjacent to the raster in the sub-scanning direction and further to the adjacent raster. The weighting coefficient can also be set as appropriate. In the above-described embodiment, the data conversion apparatus 10 has been described as existing separately from the computer 80 and the color printer 20, but it does not have to be separate from the outside. For example, the data conversion device 10 may be mounted in an expansion slot of the computer 80 or the color printer 20 and may be configured integrally with these in appearance.
[0103]
Similarly, in the data conversion apparatus 10 described so far, each module that performs data conversion has been described as forming one data conversion apparatus 10 in appearance, but each module can be separated. It is good also as what is comprised and used suitably combining as needed.
[Brief description of the drawings]
FIG. 1 is an explanatory diagram of a printing apparatus including a gradation data conversion apparatus 10 as an embodiment of the present invention.
FIG. 2 is a schematic explanatory diagram of a printer used in this embodiment.
FIG. 3 is an explanatory diagram of a dot formation principle of a printer used in this embodiment.
FIG. 4 is an explanatory diagram showing a nozzle arrangement of a printer used in this embodiment.
FIG. 5 is an explanatory diagram for explaining the principle of forming dots of different sizes by the printer of this embodiment.
FIG. 6 is an explanatory diagram illustrating a nozzle driving waveform and a state of dots formed by the driving waveform in the printer according to the present exemplary embodiment.
FIG. 7 is an explanatory diagram illustrating an internal configuration of a printer control apparatus according to the present exemplary embodiment.
FIG. 8 is an explanatory diagram illustrating a state in which the printer head according to the present embodiment receives data from a drive buffer and forms dots.
FIG. 9 is a flowchart showing an outline of a data conversion process of the present embodiment.
FIG. 10 is a conceptual diagram illustrating an outline of a color conversion table and color conversion using the color conversion table in the present embodiment.
FIG. 11 is a conceptual diagram illustrating an outline of halftoning processing.
FIG. 12 is a block diagram illustrating a configuration of a color lookup module (CLM) 12 in the present embodiment.
FIG. 13 is a block diagram showing a configuration of a halftone module (HTM) 13 in the present embodiment.
FIG. 14 is an explanatory diagram showing a table used in the 1-bit mode in the pre-dither table module of the halftone module.
FIG. 15 is an explanatory diagram showing a table used in the 2-bit mode by the pre-dither table module of the halftone module.
16 is a block diagram showing an internal configuration of HB 132 in HTM 13. FIG.
FIG. 17 is a block diagram showing an internal configuration of a halftone circuit 210 that actually performs halftoning.
18 is a block diagram showing the internal configuration of the halftone circuit 220. FIG.
FIG. 19 is an explanatory diagram showing the concept of a dither matrix.
FIG. 20 is a block diagram showing a circuit for determining dot formation by error diffusion in HB132.
FIG. 21 is an explanatory diagram showing a dot data output circuit EE that generates a signal necessary for error diffusion from each dot data.
FIG. 22 is an explanatory diagram showing an error diffusion range and a weighting coefficient.
FIG. 23 is a block diagram showing an internal configuration of an error calculation circuit 250 of the HTM 13;
24 is a block diagram showing an internal configuration of buffers MB and SB of the error calculation circuit 250. FIG.
FIG. 25 is an explanatory diagram showing an error diffusion range and a dummy region provided in the error diffusion range.
FIG. 26 is an explanatory diagram showing a state of data transfer in error diffusion processing in the present embodiment.
FIG. 27 is a block diagram showing an internal configuration of an MWM 14 in the present embodiment.
FIG. 28 is an explanatory diagram showing, as a memory map, how data is arranged by data conversion in the present embodiment.
[Explanation of symbols]
10 ... gradation data converter
11 ... INM
12 ... CLM
13 ... HTM
14 ... MWM
15 ... Output module OTM
16 ... SRAM
17 ... Bus
20 Color printer
24. Color scanner
30 ... Carriage motor
31 ... Driving belt
32 ... Pulley
33 ... Sliding shaft
34 ... Position detection sensor
35 ... Paper feed motor
36 ... Platen
40 ... carriage
41 ... Print head
42. Ink cartridge
43. Ink cartridge
44-49 ... Ink ejection head
50 ... Ink passage
59 ... Control panel
60 ... Control circuit
61 ... CPU
62 ... PROM
63 ... RAM
64 ... PC interface
66 ... Timer
67 ... Drive buffer
68 ... Bus
69 ... Distribution output device
70: Oscillator
80 ... Computer
81 ... CPU
82 ... ROM
83 ... RAM
84: Hard disk
85 ... Interface
91 ... Modem
120 ... IPM
121 ... SCV
122 ... CCV
123 ... OPM
131 ... PRDT
136 ... MIF
140 ... IPM
141 ... MWSM
143 ... OPM
145 ... MIF
210: first halftone circuit
210K1, 210C1, 210M1, 210Y1... Halftone circuit
211... First dot formation determination circuit
212 ... Second dot formation determination circuit
213... Dot data generation circuit
214... Threshold generation circuit
215 ... Comparator
216 ... Mask circuit
217 ... White flag circuit
218 ... Error calculation circuit
220 ... second halftone circuit
220C2, 220M2 ... halftone circuit
221... Large dot formation determination circuit
222... Medium dot formation determination circuit
223... Small dot formation determination circuit
230 ... Control circuit
250: Error calculation circuit
251 ... Register group control circuit
255 ... Circuit
270 ... Output circuit
301 ... Adder
310 ... Input selector
321 ... Register
330 ... Output selector

Claims (6)

階調表現を有する原画像において主走査方向として定めた一方向に沿って着目画素を移しつつ、該画素の階調を、その階調よりも少ない階調表現に変換し、該階調変換により生じた濃度誤差を、該着目画素の少なくとも主走査方向に沿った所定範囲の画素に分配する誤差拡散法を採用し、該誤差拡散による階調変換を、前記主走査方向および該主走査方向に交差する方向である副走査方向に沿って順次行なうデータ変換装置であって、
前記原画像の階調データを保存するメモりと、
前記所定範囲に含まれる複数の画素に対応した多段のレジスタを備え、前記メモりより少なくとも書き込み速度の高い誤差バッファと、
前記着目画素が移動する度に、該誤差バッファ内の各レジスタのデータを該着目画素の移動に合わせて順次次段に転送するシフト回路と、
該シフト回路により順次転送された前記レジスタの最終段の出力を、前記着目画素の階調データに加えた上で、前記少ない階調表現に変換する変換回路と、
該変換回路による階調変換により、該着目画素について生じた濃度誤差を演算する誤差算出回路と、
前記誤差バッファ内の前記レジスタの数に対応した複数個のシフトレジスタを備え、前記演算された濃度誤差のデータを前記各シフトレジスタに入力すると共に、前記各シフトレジスタ毎に定めた重み付けに対応したビット数だけ、前記各シフトレジスタに記憶されたデータをシフトした出力を重み付け濃度誤差データとして、前記誤差バッファの各レジスタに分配加算する分配加算回路と
を備え、
前記誤差バッファは、前記主走査方向に並んだ画素列であるラスタを単位として配列されたレジスタ群から構成され、前記着目画素が含まれる第1のラスタ上の所定範囲の画素に対応した第1のレジスタ群と、該着目画素とは前記副走査方向に隣接した第2のラスタ上の所定範囲の画素に対応した第2のレジスタ群とを備え、
前記シフト回路は、前記着目画素が移動する度に、該誤差バッファ内の前記第1および第2のレジスタ群のうちの各レジスタのデータを該着目画素の移動に合わせて次段のレジスタに読み込ませ、
更に、
独立して交互に読み書き可能な二つのSRAMを設け、
前記着目画素が移動する度に、前記第2のラスタ上の画素であって所定の範囲外となった画素に対応する前記第2のレジスタ群内のレジスタに累積された濃度誤差を、前記SRAMの一方に書き戻す書出回路と、
前記着目画素が移動する度に、前記所定の範囲に新たに含まれるものとなった画素について、隣接するラスタの処理時に前記書出回路によって書き出された濃度誤差の累積値を、前SRAMの他方から、前記誤差バッファ内の前記第1のレジスタ群内の対応するレジスタに、前記濃度誤差の書き戻しと同じタイミングで格納する読込回路と
を備えた階調データ変換装置。
While moving the pixel of interest along one direction defined as the main scanning direction in the original image having gradation representation, the gradation of the pixel is converted to gradation representation less than the gradation, and the gradation conversion An error diffusion method that distributes the generated density error to at least a predetermined range of pixels along the main scanning direction of the pixel of interest is adopted, and gradation conversion by the error diffusion is performed in the main scanning direction and the main scanning direction. A data conversion device that sequentially performs along a sub-scanning direction that is an intersecting direction,
A memory for storing gradation data of the original image;
A multi-stage register corresponding to a plurality of pixels included in the predetermined range, and an error buffer having at least a higher writing speed than the memory;
A shift circuit that sequentially transfers the data of each register in the error buffer to the next stage in accordance with the movement of the pixel of interest each time the pixel of interest moves;
A conversion circuit that converts the output of the final stage of the register sequentially transferred by the shift circuit into the gradation data of the pixel of interest and converts the output to the small gradation expression;
An error calculation circuit for calculating a density error generated for the pixel of interest by gradation conversion by the conversion circuit;
A plurality of shift registers corresponding to the number of the registers in the error buffer are provided, and the calculated density error data is input to each shift register and corresponds to the weighting determined for each shift register. An output obtained by shifting the data stored in each shift register by the number of bits as weighted density error data, and a distribution addition circuit for distributing and adding to each register of the error buffer;
The error buffer is composed of a register group arranged in units of rasters, which are pixel rows arranged in the main scanning direction, and a first range corresponding to a predetermined range of pixels on the first raster including the pixel of interest. And a second register group corresponding to a predetermined range of pixels on the second raster adjacent in the sub-scanning direction.
Each time the pixel of interest moves, the shift circuit reads the data of each register of the first and second register groups in the error buffer into the next register in accordance with the movement of the pixel of interest. Let
Furthermore,
Two SRAMs that can be read and written alternately and independently are provided,
Each time the pixel of interest moves, the density error accumulated in the registers in the second register group corresponding to the pixels on the second raster that are out of the predetermined range is represented by the SRAM. A writing circuit to write back to one of the
Every time the pixel of interest moves, the accumulated value of the density error written by the writing circuit during the processing of the adjacent raster for the pixel newly included in the predetermined range is stored in the previous SRAM. On the other hand, a gradation data conversion device comprising: a reading circuit that stores data in a corresponding register in the first register group in the error buffer at the same timing as the writing back of the density error.
前記レジスタは、該レジスタに記憶されたデータと前記重み付けを施した濃度誤差とを加算した結果または該レジスタの前段のレジスタの出力のいずれか一方を記憶可能なレジスタである請求項1記載の階調データ変換装置。  2. The register according to claim 1, wherein the register is capable of storing either a result obtained by adding the data stored in the register and the weighted density error, or an output of a register preceding the register. Key data conversion device. 前記変換回路は、一つの閾値を用いて、原画像の階調データを2階調に変換する回路である請求項1記載の階調データ変換装置。  The gradation data conversion apparatus according to claim 1, wherein the conversion circuit is a circuit that converts gradation data of an original image into two gradations using one threshold value. 前記変換回路は、二以上の閾値を用いて、原画像の階調データを3階調以上に変換する回路である請求項1記載の階調データ変換装置。  The gradation data conversion apparatus according to claim 1, wherein the conversion circuit is a circuit that converts gradation data of an original image into three gradations or more using two or more threshold values. 請求項1記載の階調データ変換装置であって、
前記原画像データは、原色の組み合わせにより原画像を表現する各色の階調データとして構成されており、
前記各回路は、前記各色毎に設けられた
階調データ変換装置。
The gradation data converter according to claim 1,
The original image data is configured as gradation data of each color representing the original image by a combination of primary colors,
The circuit is a gradation data conversion device provided for each color.
階調表現を有する画像データを受け取り、複数種類のインクのドットを形成することにより、該画像データに対応した画像を、記録媒体上に形成する印刷装置であって、
請求項1記載の階調データ変換装置と、
前記画像データを、該階調データ変換装置に入力するデータ入力手段と、
前記階調データ変換装置による変換結果を受け取り、変換結果に対応した階調のインクのドットを、印刷媒体上に形成するドット形成手段と
を備えた印刷装置。
A printing apparatus that receives image data having gradation expression and forms a plurality of types of ink dots to form an image corresponding to the image data on a recording medium,
The gradation data conversion device according to claim 1;
Data input means for inputting the image data to the gradation data converter;
A printing apparatus comprising: a dot forming unit that receives a conversion result by the gradation data conversion apparatus and forms on the printing medium ink dots having a gradation corresponding to the conversion result.
JP10400499A 1999-04-12 1999-04-12 Data converter Expired - Fee Related JP3870604B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10400499A JP3870604B2 (en) 1999-04-12 1999-04-12 Data converter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10400499A JP3870604B2 (en) 1999-04-12 1999-04-12 Data converter

Publications (2)

Publication Number Publication Date
JP2000299785A JP2000299785A (en) 2000-10-24
JP3870604B2 true JP3870604B2 (en) 2007-01-24

Family

ID=14369137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10400499A Expired - Fee Related JP3870604B2 (en) 1999-04-12 1999-04-12 Data converter

Country Status (1)

Country Link
JP (1) JP3870604B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5115470B2 (en) * 2008-12-24 2013-01-09 富士ゼロックス株式会社 Image processing device

Also Published As

Publication number Publication date
JP2000299785A (en) 2000-10-24

Similar Documents

Publication Publication Date Title
JP3503511B2 (en) Printing apparatus, printing method, and printer
JP3414325B2 (en) Printing device and recording medium
US6283569B1 (en) Recording method using large and small dots
JP3661624B2 (en) Image processing device
JPH11314383A (en) Manufacture of print driver and color print system
JP2009262455A (en) Image forming apparatus, control means for the same, and computer program
US20080158281A1 (en) Image forming apparatus and control method thereof
US20060082848A1 (en) Halftone processing apparatus, printing apparatus, information processing apparatus, halftone processing method, and program
JP5127626B2 (en) Image processing apparatus and image processing method
JP2002127393A (en) Recording system and recording device
US7222928B2 (en) Printer control unit, printer control method, printer control program, medium storing printer control program, printer, and printing method
US20030072035A1 (en) Image processing device
JP2003094693A (en) Printer and recording medium
JP4296621B2 (en) Printing apparatus, printing method, and recording medium
JP5482189B2 (en) Print control apparatus, print control method, and computer program
JP4075241B2 (en) Printing apparatus, printing method, and recording medium
US7495798B2 (en) Ejection control of quality-enhancing ink
JP2002185810A (en) Image processing unit, print controller, image processing method, and recording medium
US11388312B2 (en) Image processing apparatus and image processing method
JP3870604B2 (en) Data converter
JP2000253247A (en) Data conversion device, data conversion method and printing device using the same
JP4168523B2 (en) Printing apparatus, printing method, and recording medium
JP4561049B2 (en) Printing system for printing an image based on information on the number of dots formed in a predetermined area
US7362473B2 (en) Image processing technique for tone number conversion of image data
JP4456823B2 (en) Printing device that prints an image while grouping and storing the determination result of dot formation, and print control device therefor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060731

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061009

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111027

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131027

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees