説明

データ変換装置

【課題】 誤差拡散の演算を行なう際、拡散した誤差の累積値をメモリ上においているため、誤差拡散の範囲が広くなると、メモリアクセス回数が増加し、処理に長時間を要した。
【解決手段】 高速アクセス可能なレジスタを内蔵したバッファMB,SBを備え、着目画素Pについて、ドットのオン・オフを決定して濃度誤差erwを演算すると、これをシフトレジスタSRによりシフトすることで重み付け濃度誤差erwsを求める。この濃度誤差erwsを各バッファMB,SBに出力し、ここでそれまでに求めた濃度誤差と累積すると共に、着目画素が移動する度に、各バッファの出力を次段にシフトして行く。この結果、低速のメモリであるSRAM16とのアクセス回数は、1画素当たり2回に抑制され、誤差拡散の処理を高速化できる。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、コンピュータ、デジタルカメラ、デジタルビデオ等から出力される画像データから印刷物等を得る際に有用な誤差拡散法を採用するデータ変換装置およびこの装置を用いた印刷装置に関する。
【0002】
【従来の技術】近年、コンピュータ等の出力装置として、数色のインクのドットを印刷媒体上に形成するタイプのカラープリンタが広く普及し、コンピュータ等が処理した画像を多色多階調で印刷するのに広く用いられている。シアン、マゼンタ、イエロー(CMY)の三色のインクにより多色の画像を印刷する場合、多階調の画像を形成しようとするにはいくつかの方法が考えられる。一つは、従来のプリンタで採用されている手法であり、一度に吐出するインクにより用紙上に形成されるドットの大きさを一定として、印刷される画像の階調をドットの密度(単位面積当たりの出現頻度)により表現するものである。もう一つの方法は、用紙上に形成するドット径等を調整して、単位面積当たりの濃度を可変するものである。この単位面積当たりの濃度を可変とする他の方法として、基本の三色よりも淡い色のインク、例えば淡いシアンと淡いマゼンタを用意するものも存在する。
【0003】いずれの手法でも、原画像が持っている階調情報をドットの分布、即ちドットのオン・オフにより表現することになる。即ち、原画像が持っている高い階調表現を、画素単位では、低い階調に変換する階調変換を行なっているのである。この場合、平均的な濃度で見れば、原画像の階調値をある程度正確に再現することができるが、画素単位で見れば、元の階調値との間に濃度誤差が生じることは免れない。そこで、画素単位で生じた濃度誤差を、その周辺の画素に分配して、画像全体の濃度を原画像に近づけようとする手法が提案されている。これが誤差拡散法と呼ばれる手法である。誤差拡散法を利用してドットを分布させるデータ変換装置は、原画像の再現性に優れるために、印刷装置において広く用いられている。
【0004】こうした誤差拡散法を用いた印刷装置の場合、通常ヘッドが用紙の幅方向(主走査方向と呼ぶ)に走査しながら、かつ用紙をこの主走査方向とは交差する方向(副走査方向と呼ぶ)に搬送しながらドットを形成する。したがって、誤差を拡散できる範囲は、図18に示すように、通常は着目画素の周辺であって、少なくとも主走査方向の所定範囲、場合によっては、副走査方向に隣接するラスタ上の複数の画素ということになる。図1818に示した各画素の値は、濃度誤差を配分する場合の重み付けの係数を示している。各重み付け係数は、その和が値1となるように定められている。
【0005】
【発明が解決しようとする課題】誤差拡散法は、一定の領域で見れば、濃度誤差が解消されるという利点が存在するものの、その誤差配分の演算に、かなりの処理時間を要するという問題があった。通常、画像データは、画素を単位とする複数ビットのデータとして、ハードディスク等の外部記憶や半導体メモリ等の主記憶の一部に記憶される。階調変換を行なう際には、記憶された画像データを読み出し、所定の閾値との大小関係を判定し、その結果から周辺に分散すべき濃度誤差を演算する。濃度誤差を分散する際には、分散範囲の画素の画像データをメモリから読み出し、これに拡散誤差を加えて書き戻すという処理が行なわれる。この結果、着目画素に対する誤差拡散処理では、多数回のメモリアクセスが発生し、処理に要する時間が長くなってしまうという問題があった。
【0006】近年、記録されるドット径の微細化が進んでおり、1ラスタを構成するドット数が増える傾向にある。この結果、ドット数の増加に応じて誤差拡散処理の回数は飛躍的に増加し、上記処理時間の問題は看過できないものとなっている。本発明は、1画素当たりの誤差拡散処理を、誤差拡散の範囲に含まれる画素の数より少ない回数のメモリアクセスにより実現することを目的とする。
【0007】
【課題を解決するための手段およびその作用・効果】上述の課題を解決する本発明の階調データ変換装置は、階調表現を有する原画像において主走査方向として定めた一方向に沿って着目画素を移しつつ、該画素の階調を、その階調よりも少ない階調表現に変換し、該階調変換により生じた濃度誤差を、該着目画素の少なくとも主走査方向に沿った所定範囲の画素に分配する誤差拡散法を採用し、該誤差拡散による階調変換を、前記主走査方向および該主走査方向に交差する方向である副走査方向に沿って順次行なうデータ変換装置であって、前記原画像の階調データを保存するメモりと、前記所定範囲に含まれる複数の画素に対応したレジスタを備え、前記メモりより少なくとも書き込み速度の高い誤差バッファと、前記着目画素が移動する度に、該誤差バッファ内の各レジスタのデータを該着目画素の移動に合わせてシフトするシフト回路と、該シフト回路によりシフトされた前記レジスタの最終段の出力を、前記着目画素の階調データに加えた上で、前記少ない階調表現に変換する変換回路と、該変換回路による階調変換により、該着目画素について生じた濃度誤差を演算する誤差演算回路と、該演算された濃度誤差に所定の重み付けを施し、前記誤差バッファの各レジスタに分配加算し、濃度誤差を前記階調データに累積する分配加算回路とを備えたことを要旨としている。
【0008】この階調データ変換装置は、原画像の階調データを保存するメモリより書き込み速度が高速なレジスタを、誤差拡散範囲の画素数に対応して備えており、着目画素が移動する際、レジスタのデータを着目画素の移動に応じてシフトする。その上で、このレジスタの最終段の出力を着目画素の階調データに加えた上で、少ない階調表現に変換している。このため、メモリへのアクセスは、着目画素の画像データを読み出すだけで済み、きわめて高速な処理が可能となる。
【0009】この階調データ変換装置において、誤差拡散の範囲は、着目画素と同一のラスタ上の画素に限ってもよい。この場合には、各レジスタに蓄積されたデータは、着目画素を移動する度にシフトされ、最終段のレジスタの出力を着目画素の階調データに加えて階調変換に供されるから、レジスタのデータをメモリに書き戻す必要がない。
【0010】他方、誤差拡散範囲を、隣接するラスタ上まで拡張することもできる。この場合には、誤差バッファを、主走査方向に並んだ画素列であるラスタを単位として配列されたレジスタ群から構成し、前記着目画素が含まれる第1のラスタ上の所定範囲の画素に対応した第1のレジスタ群と、該着目画素とは前記副走査方向に隣接した第2のラスタ上の所定範囲の画素に対応した第2のレジスタ群とに分けておく。このとき、シフト回路は、前記着目画素が移動する度に、該誤差バッファ内の前記第1および第2のレジスタ群のうちの各レジスタのデータを、着目画素の移動に合わせてシフトするものとしておき、更に、着目画素が移動する度に、前記第2のラスタ上の画素であって所定の範囲外となった画素に対応する前記第2のレジスタ群内のレジスタに累積された濃度誤差を、前記メモリに書き出す書出回路と、前記着目画素が移動する度に、前記所定の範囲に新たに含まれるものとなった画素について、隣接するラスタの処理時に前記書出回路によって書き出された濃度誤差の累積値を、前記メモリから、前記誤差バッファ内の前記第1のレジスタ群内の対応するレジスタに格納する読込回路とを設ければ良い。かかる構成を採用すれば、着目画素の階調データを読み出す他は、メモリからは、誤差分配済みデータを誤差が配分されるラスタ数−1回、メモリー書き出し、累積誤差のデータをラスタの数−1回、メモリから読み込むだけで、誤差拡散法による階調変換を行なうことができる。かかる構成により、少なくとも着目画素が存在するラスタとこれに副走査方向に隣接するラスタ上の所定の範囲に、着目画素における濃度誤差を配分することができる。しかも、メモリへのアクセスとしては、第2のレジスタ群の一つからの書出と第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の内部構成は、図1R>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の構成を、図13R>3に示す。この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の構成と働きについて、詳しく説明する。なお、図22R>2に例示したように、本実施例では、着目している画素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…出力用セレクタ

【特許請求の範囲】
【請求項1】 階調表現を有する原画像において主走査方向として定めた一方向に沿って着目画素を移しつつ、該画素の階調を、その階調よりも少ない階調表現に変換し、該階調変換により生じた濃度誤差を、該着目画素の少なくとも主走査方向に沿った所定範囲の画素に分配する誤差拡散法を採用し、該誤差拡散による階調変換を、前記主走査方向および該主走査方向に交差する方向である副走査方向に沿って順次行なうデータ変換装置であって、前記原画像の階調データを保存するメモりと、前記所定範囲に含まれる複数の画素に対応したレジスタを備え、前記メモりより少なくとも書き込み速度の高い誤差バッファと、前記着目画素が移動する度に、該誤差バッファ内の各レジスタのデータを該着目画素の移動に合わせてシフトするシフト回路と、該シフト回路によりシフトされた前記レジスタの最終段の出力を、前記着目画素の階調データに加えた上で、前記少ない階調表現に変換する変換回路と、該変換回路による階調変換により、該着目画素について生じた濃度誤差を演算する誤差演算回路と、該演算された濃度誤差に所定の重み付けを施し、前記誤差バッファの各レジスタに分配加算し、濃度誤差を前記階調データに累積する分配加算回路とを備えた階調データ変換装置。
【請求項2】 前記誤差バッファは、前記主走査方向に並んだ画素列であるラスタであり、前記着目画素が含まれるラスタ上の所定範囲の画素に対応した複数のレジスタから構成された請求項1記載の階調データ変換装置。
【請求項3】 請求項1記載の階調データ変換装置であって、前記誤差バッファは、前記主走査方向に並んだ画素列であるラスタを単位として配列されたレジスタ群から構成され、前記着目画素が含まれる第1のラスタ上の所定範囲の画素に対応した第1のレジスタ群と、該着目画素とは前記副走査方向に隣接した第2のラスタ上の所定範囲の画素に対応した第2のレジスタ群とを備え、前記シフト回路は、前記着目画素が移動する度に、該誤差バッファ内の前記第1および第2のレジスタ群のうちの各レジスタのデータを該着目画素の移動に合わせてシフトするシフトレジスタを備え、更に、前記着目画素が移動する度に、前記第2のラスタ上の画素であって所定の範囲外となった画素に対応する前記第2のレジスタ群内のレジスタに累積された濃度誤差を、前記メモリに書き戻す書出回路と、前記着目画素が移動する度に、前記所定の範囲に新たに含まれるものとなった画素について、隣接するラスタの処理時に前記書出回路によって書き出された濃度誤差の累積値を、前記メモリから、前記誤差バッファ内の前記第1のレジスタ群内の対応するレジスタに格納する読込回路とを備えた階調データ変換装置。
【請求項4】 前記レジスタは、該レジスタに記憶されたデータと前記重み付けを施した濃度誤差とを加算した結果または該レジスタの前段のレジスタの出力のいずれか一方を記憶可能なレジスタである請求項1記載の階調データ変換装置。
【請求項5】 前記変換回路は、一つの閾値を用いて、原画像の階調データを2階調に変換する回路である請求項1記載の階調データ変換装置。
【請求項6】 前記変換回路は、二以上の閾値を用いて、原画像の階調データを3階調以上に変換する回路である請求項1記載の階調データ変換装置。
【請求項7】 請求項1記載の階調データ変換装置であって、前記原画像データは、原色の組み合わせにより原画像を表現する各色の階調データとして構成されており、前記各回路は、前記各色毎に設けられた階調データ変換装置。
【請求項8】 階調表現を有する画像データを受け取り、複数種類のインクのドットを形成することにより、該画像データに対応した画像を、記録媒体上に形成する印刷装置であって、請求項1記載の階調データ変換装置と、前記画像データを、該階調データ変換装置に入力するデータ入力手段と、前記階調データ変換装置による変換結果を受け取り、変換結果に対応した階調のインクのドットを、印刷媒体上に形成するドット形成手段とを備えた印刷装置。

【図4】
image rotate


【図5】
image rotate


【図28】
image rotate


【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図9】
image rotate


【図19】
image rotate


【図21】
image rotate


【図6】
image rotate


【図7】
image rotate


【図8】
image rotate


【図10】
image rotate


【図11】
image rotate


【図12】
image rotate


【図13】
image rotate


【図14】
image rotate


【図15】
image rotate


【図16】
image rotate


【図17】
image rotate


【図18】
image rotate


【図20】
image rotate


【図22】
image rotate


【図23】
image rotate


【図24】
image rotate


【図25】
image rotate


【図26】
image rotate


【図27】
image rotate


【公開番号】特開2000−299785(P2000−299785A)
【公開日】平成12年10月24日(2000.10.24)
【国際特許分類】
【出願番号】特願平11−104004
【出願日】平成11年4月12日(1999.4.12)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】