JP3870604B2 - Data converter - Google Patents
Data converter Download PDFInfo
- 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
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
[0021]
The
[0022]
The
[0023]
When the
[0024]
As shown in the figure, the
[0025]
In FIG. 1, the
[0026]
The
[0027]
The
[0028]
FIG. 2 shows a schematic configuration of the
[0029]
The
[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
[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
[0033]
The
[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
[0035]
The
[0036]
In the
[0037]
FIG. 7 is an explanatory diagram showing the internal configuration of the control circuit 60 of the
[0038]
When the control circuit 60 having the configuration shown in FIG. 7 receives the image data FNL from the
[0039]
Next, the mechanism by which dots are ejected when the
[0040]
The
[0041]
In this embodiment, as described above, the
[0042]
B. Data conversion process
The
[0043]
The internal configuration of the gradation
[0044]
In the
[0045]
In order to print such image data with the
[0046]
When the resolution conversion process ends, the
[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
[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
[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
[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
[0055]
C. Internal structure and operation of data converter
As described above, the
[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
[0057]
In a normal case, that is, when the data output from the
[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
[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
[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
[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
[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
[0065]
As shown in FIG. 17, the halftone circuit 210 includes a first dot
[0066]
The
[0067]
Therefore, the internal configuration and function of the first dot
[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
[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
[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
[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
[0073]
The corrected dot data pdsrc input to the dot
[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
[0075]
As described above, the corrected dot data pdsrc input to the dot
[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
[0077]
Outputs from the dot
[0078]
In addition, the
[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
[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
[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
[0083]
In this embodiment, in consideration of such a problem, an
[0084]
The
[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
[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
[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
[0089]
The operation of the
[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
[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
[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
[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
[0094]
While performing the error diffusion processing described above, the halftone circuit 210 and the
[0095]
(3) Pixel rearrangement module (MWM14)
The internal configuration of the
[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
[0097]
(4) Output module (OTM)
The output module (OTM) 15 is a module that reads data from the
[0098]
As described in detail above, according to the
[0099]
In the above description of the present embodiment, the access to the
[0100]
Further, in the
[0101]
Although the
[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
[0103]
Similarly, in the
[Brief description of the drawings]
FIG. 1 is an explanatory diagram of a printing apparatus including a gradation
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
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
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
24 is a block diagram showing an internal configuration of buffers MB and SB of the
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
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.
前記原画像データは、原色の組み合わせにより原画像を表現する各色の階調データとして構成されており、
前記各回路は、前記各色毎に設けられた
階調データ変換装置。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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5115470B2 (en) * | 2008-12-24 | 2013-01-09 | 富士ゼロックス株式会社 | Image processing device |
-
1999
- 1999-04-12 JP JP10400499A patent/JP3870604B2/en not_active Expired - Fee Related
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 | |
US11388312B2 (en) | Image processing apparatus and image processing 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 | |
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 | |
JP2000118008A (en) | Printing apparatus, printing method and recording medium |
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 |