JP3997235B2 - 中間調処理装置及び中間調処理方法 - Google Patents

中間調処理装置及び中間調処理方法 Download PDF

Info

Publication number
JP3997235B2
JP3997235B2 JP2005077617A JP2005077617A JP3997235B2 JP 3997235 B2 JP3997235 B2 JP 3997235B2 JP 2005077617 A JP2005077617 A JP 2005077617A JP 2005077617 A JP2005077617 A JP 2005077617A JP 3997235 B2 JP3997235 B2 JP 3997235B2
Authority
JP
Japan
Prior art keywords
value
error
pixel
image data
error diffusion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005077617A
Other languages
English (en)
Other versions
JP2005253094A (ja
JP2005253094A5 (ja
Inventor
顕季 山田
弘光 平林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2005253094A publication Critical patent/JP2005253094A/ja
Publication of JP2005253094A5 publication Critical patent/JP2005253094A5/ja
Application granted granted Critical
Publication of JP3997235B2 publication Critical patent/JP3997235B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/405Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
    • H04N1/4051Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
    • H04N1/4052Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions
    • H04N1/4053Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions with threshold modulated relative to input image data or vice versa

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color, Gradation (AREA)

Description

本発明は誤差拡散による中間調処理装置及び中間調処理方法に関し、特に、誤差拡散係数が変更可能、好適には出力誤差或いは画像ソースデータと累積誤差との和に依存した中間調処理装置及び中間調処理方法に関するものである。
Floyd、Steinberg、及び、Stuckiによる影響力の強い論文に一般的には説明されているように、誤差拡散による中間調処理は、連続的な濃度画像入力に基づいて中間調画像出力を生成するための最も知られた技術の1つになっている。特に、コンピュータ処理される画像に関連して、例えば、各入力画素が8ビットのグレースケール或いは24ビットのカラー値で表現される場合、誤差拡散による中間調処理によって、カラーインクジェットプリンタ等のような2値或いはレベル出力が限定されたプリンタでプリントされる画像において好ましい結果が得られることが分かってきた。誤差拡散はエッジの鮮明さを強調する傾向があり、さらには、繊細な画像の詳細を保存する傾向があるが、全体としては好ましい画像を生み出してきた。
一般的に言って、誤差拡散による中間調処理は以下のような工程にしたがって進行する。まず、連続する濃度画像において、注目画素の画像データは閾値(或いは、多値出力機器の場合には閾値範囲)と比較され、画像出力機器がその注目画素についてどんな出力値でプリントするべきかを決定する。例えば、バイナリプリンタ(これは各画素位置においてドットを出力するか或いはドット出力をしないかのいづれかであるプリンタのことを意味する)の場合、その閾値はその濃度範囲の半分であるとすれば、注目画素についての連続する濃度値がその半分を越せば、その画素はプリントされ、注目画素についての連続する濃度値がその半分を超えなければ、その画素はプリントされない。その後、連続する濃度入力値と実際の出力値との間の誤差が計算される。この誤差はしばしば、“出力誤差”と呼ばれる。その出力誤差は所定の重み付け係数を用いて近接する画素に拡散され、その出力誤差の予め指定された割合が注目画素に近接する画素の現在の連続する濃度画像値に加算される。その後、処理は所定の走査パターンにおける別の注目画素へと進む。処理が近接画素群の端の1つにきてドットをプリントするかどうかを決定するときには、その決定はオリジナルの連続する濃度画像値と累積誤差との和に基づく。
しかしながら上記従来の誤差拡散による中間調処理では、プリント画像には、その画像の全体的な画質を劣化させる傾向をもつドット(artifact)が生成されてしまうという問題があった。2種類の問題となるドットが認識されている。即ち、ハイライト領域(例えば、極端に低濃度或いは極端に高濃度の領域)に現れる予期せぬ連続的なドットラインと、中濃度領域に現れるテクスチュアやパターンの繰り返しである。これらの画質を劣化させる原因となるドットは、図1と図2とにより詳細に図示されている。
図1において、10は8×4グリッドのパッチの標準的な誤差拡散による中間調処理のプリント出力を表し、各パッチは一定のグレーレベルをもっているが、パッチからパッチへは順にそのグレーレベルが増加する。図1の8×4グリッドは低濃度グレー領域のみのパッチを含むが、約10%のグレーレベルを超える濃度のパッチを含んではいない。連続するドットラインは、例えば、11や12のようにすぐに明らかである。これらの連続するドットラインパターンは、これを見る者にとって、不快なものである。
図2は真っ黒の濃度レベルから真っ白の濃度レベルへと進むグレーレベルウェッジを図示したものである。中濃度レベルにおいて、16で示されているようにパターンやテクスチュアの繰り返しがすぐに明らかである。これらのテクスチュアもまたこれを見る者にとって、不快なものであり、プリント画像全体の品質を劣化させる。
これらの画質劣化を生じさせるドット(artifact)が生成されたり、存在したりすることは、よく文書としても知られており、これらの出現を減らし、全体的な画質の向上を図るためによく研究がなされてきた。以前に提案された1つの技術は、画像入力に基づいて、誤差拡散の重みを変えることである。そのような技術の例は、欧州特許第808055号のOstromoukhov特許やEschbach著“Reduction Of Artifacts In Error Diffusion By Means Of Input-Dependent Weights”,Journal of Electronic Imaging, 1993年10月,352-358ページに記述されている。画質劣化を生じさせるドット(artifact)を減らすために必ずしも知られる必要はないが、他の既知の技術には、例えば、Eschbach著“Error-Diffusion Algorithm With Edge Enhancement”,Journal of The Optical Society of America, 1991年12月,1844-1850ページに記述されているように、画像値に基づく変更を含む、連続する濃度画像値と累積誤差との和が比較される閾値を動的に変える技術が含まれている。
そのような技術は、本発明においては、誤差拡散の重み及び/或いは閾値は累積出力誤差に基づいて、或いは、画像ソースデータと累積出力誤差に基づいて変更されるので、本発明とは異なる。
本発明は上記従来例に鑑みてなされたもので、誤差拡散の重み及び/或いは閾値を出力誤差に基づいて、或いは、画像データと累積出力誤差に基づいて変更することにより、誤差拡散による中間調処理において出力される画質劣化を生じさせるドット(artifact)を減少させる中間調処理装置及び中間調処理方法を提供することを目的とする。好適には、出力誤差に基づいた、或いは、画像ソースデータと累積誤差との和に基づいた、直接的に誤差拡散による中間調処理についての実際の誤差値及び/或いは閾値や出力誤差を提供するルックアップテーブルが備えられる。
従って上記目的を達成するために本発明をある一面から見ると、本発明は、誤差拡散法を用いて画像データを中間調処理するための中間調処理装置であって、前記画像データの画素値と累積誤差値とを加算した和の値が取り得る範囲内の値に対応して予め計算された、注目画素の各周辺画素に分配する誤差拡散値と、前記画像データの画素値と累積誤差値とを加算した値と予め定められた閾値とを比較することで得られる、予め計算された中間調処理後の出力データ値とを格納するルックアップテーブルと、前記中間調処理の対象となる前記注目画素の画素値と累積誤差値とを加算する加算部と、前記加算部で加算されて得られた画素値を用いて前記ルックアップテーブルにアクセスし、当該画素値に対応する誤差拡散値を取得する取得部とを有し、前記ルックアップテーブルに格納された誤差拡散値は、前記画像データの画素値と累積誤差値とを加算して得られた値が取り得る範囲内において、分配の比率を前記画像データの画素値と累積誤差値とを加算した値に応じて周期的に変化させて計算されたものであり、前記閾値は、前記画像データの画素値と累積誤差値とを加算した値に応じて周期的に変化させたものであることを特徴とする。
さらに本発明を別の面から見ると、本発明は、誤差拡散法を用いて画像データを中間調処理するための中間調処理方法であって、格納手段により前記画像データの画素値と累積誤差値とを加算した和の値が取り得る範囲内の値に対応して予め計算された、注目画素の各周辺画素に分配する誤差拡散値と、前記画像データの画素値と累積誤差値とを加算した値と予め定められた閾値とを比較することで得られる、予め計算された中間調処理後の出力データ値とをルックアップテーブルに格納する格納工程と、加算手段により前記中間調処理の対象となる前記注目画素の画素値と累積誤差値とを加算する加算工程と、取得手段により前記加算工程において加算されて得られた画素値を用いて前記ルックアップテーブルにアクセスし、当該画素値に対応する誤差拡散値を取得する取得工程とを有し、前記ルックアップテーブルに格納された誤差拡散値は、前記画像データの画素値と累積誤差値とを加算して得られた値が取り得る範囲内において、分配の比率を前記画像データの画素値と累積誤差値とを加算した値に応じて周期的に変化させて計算されたものであり、前記閾値は、前記画像データの画素値と累積誤差値とを加算した値に応じて周期的に変化させたものであることを特徴とする。
なお、上記の簡単な要約が備えられることにより、本発明の特徴はすばやく理解されると思われる。しかしながら、本発明のより完全な理解は、添付図面と関連した次に示す好適な実施形態の詳細な説明とを参照することによって得られるものである。
以上説明したように本発明によれば、誤差拡散の重み及び/或いは閾値を出力誤差に基づいて、或いは、画像データと累積出力誤差に基づいて変更することにより、誤差拡散による中間調処理において出力される画質劣化を生じさせるドット(artifact)を減少させることができる効果がある。
以下添付図面を参照して本発明の好適な実施の形態について詳細に説明する。
図3は、本発明の実施形態に関連して用いられるコンピュータ装置の外観を示す図である。コンピュータ装置20はホストプロセッサ23を含んでいる。ホストプロセッサ23は、パーソナルコンピュータ(以下、“PC”という)を有している。なお、そのPCは、マイクロソフトのウィンドウズ95のようなウィンドウ環境で動作するIBM PC互換のコンピュータが望ましい。そのコンピュータ装置20には、カラーモニタなどを有したディスプレイ画面22、テキストデータやユーザコマンドを入力するためのキーボード26、ポインティングデバイス27が設けられている。ポインティングデバイス27は、好適には、ディスプレイ画面22に表示されるオブジェクトを指示したり、操作するマウスを有している。
コンピュータ装置20は、コンピュータディスク25やフロッピィディスクドライブ24のようなコンピュータ可読メモリ媒体を有している。プロッピィディスクドライブ24は、コンピュータ装置20が、データやアプリケーションプログラムなどのようなフロッピイディスクに格納された情報にアクセスできる手段を備えている。コンピュータ装置20には、同様のCD−ROMインタフェース(不図示)が備えられ、これによって、コンピュータ装置20はCD−ROMに格納された情報にアクセスできる。
ディスク25は、オペレーティングシステム111、アプリケーションプログラム112、プリンタドライバ114、他のアプリケーションプログラム、ファイル、ドライバ119のようなデバイスドライバを構成するように、CPU100によって実行可能なプログラム命令シーケンスを格納するコンピュータ可読媒体の一例である。アプリケーションプログラムは、これによって、ホストプロセッサ23がファイルを生成し、ディスク25のそれらのファイルを操作し、格納し、ディスプレイ画面22を介してユーザにそれらファイルにあるデータを提示し、プリンタ30を介してプリントを行うことができるプログラムである。ディスク25は、また、オペレーティングシステムを格納する。これは、上述のように、ウィンドウズ(WINDOWS(登録商標))95のようなウィンドウオペレーティングシステムが望ましい。デバイスドライバもまたディスク25に格納される。少なくとも1つのデバイスドライバはプリンタドライバ114を含み、そのドライバはプリンタ30とのソフトウェアインタフェースを提供する。ホストプロセッサ23とプリンタ30との間でデータ交換は、後でより詳細に説明するが、プリンタドライバによってなされる。
プリンタ30は好適にはカラーインクジェットプリンタであり、これは、インク液滴を紙、透明のシートなどの記録媒体に吐出することによって画像を形成する。望ましいプリンタの1つが米国特許出願第08/972113号“解像度を異ならせることのできるマルチヘッドプリンティング(Multi-Head Printing With Differing Resolution)”で説明されている。その出願は、ここで十分に説明されているかのように参照として組み込まれる。本発明の実施形態で用いられているように、しかしながら、プリンタ30は、レーザビームプリンタ、サーマルプリンタ、ドットマトリクスプリンタ、或いは、マルチヘッドインクジェットプリンタのような、1以上の濃淡レベルをもったドットを配置することによって記録媒体上に画像を形成する、他の種類のプリンタであっても良い。
図4は、ホストプロセッサ23とプリンタ30との内部構成を示すブロック図である。図4において、ホストプロセッサ23はコンピュータバス101とインタフェースをもつプログラム可能なマイクロプロセッサのような中央処理装置(CPU)100を有している。また、コンピュータバス101には、ディスプレイ22とインタフェースをもつディスプレイインタフェース102、双方向通信ライン106を介してプリンタ30とインタフェースをもつプリンタインタフェース104、フロッピィディスクドライブ24とインタフェースをもつフロッピィディスクインタフェース124、キーボード26とインタフェースをもつキーボードインタフェース109、ポインティングデバイス27とインタフェースをもつポインティングデバイスインタフェース110が接続されている。
ランダムアクセスメインメモリ(以下、“RAM”という)116は、コンピュータバス101とインタフェースをもち、CPU100に記憶装置とのアクセスを提供している。特に、プリンタドライバ114に関連したシーケンスのような格納されたプログラム命令シーケンスの実行時、CPU100はそれらの命令シーケンスをディスク25(或いはネットワークインタフェースを介してアクセスされるコンピュータ可読媒体のような他の記憶媒体)からRAM116にロードし、RAM116から格納されたそれらプログラム命令シーケンスを呼び出して実行する。なお、ウィンドウオペレーティングシステムで利用可能な標準的なディスク−スワッピング技術により、メモリのセグメントがディスク25とRAM25との間でスワップできることを理解されたい。
ホストプロセッサ23の読出し専用メモリ(以下、“ROM”という)43は、スタートアップ命令シーケンスやキーボード26の動作のための基本入出力オペレーティングシステム(BIOS)シーケンスのような不変の命令シーケンスを格納する。
ディスク25はまた、特定のアプリケーションプログラムの制御下で、ディスプレイ22によって表示されたり、或いは、プリンタ30によってプリントされたりすることがあるかもしれないようなカラー画像ファイルを格納しても良い。また、アプリケーションプログラムの実行中に動的に生成されることがあるかもしれないそのようなカラー画像ファイルは、カラー画像の各画素についてのカラー画像データを格納したり、或いは、エンコードする。1つのポピュラーな記憶或いは符号化フォーマットは、カラー画像の各画素について赤、緑、青(RGB)のカラー原色値を、RGB成分各々について8ビットで表現して格納することである。このフォーマットによって格納され、或いは、符号化された結果得られるカラー画像には、カラー画像の各画素を28×28×28=1670万の異なる色のいずれかで表現する能力が備えられる。そのようなフォーマットは、しばしば、“トゥルーカラー(true color)”或いは“24ビットカラー”と呼ばれる。そのような画像をプリントするために、その画像の各画素は、一般には、シアン、マゼンタ、イエロ、ブラック(CMYK)のような4つの原色各々についての値へと変換される。しかしながら、各画素に関し、プリンタ30は、C,M,Y,Kの各色平面において、1つの濃度の濃淡(バイナリプリンタの場合には)を、或いは、数段階の濃度の濃淡(マルチグラデーションプリンタの場合には)をプリントできるのみである。本発明に従う中間調処理の目的は、コンピュータ20に格納された多値画像データをプリンタ30のために適当な出力値へと変換することである。
再び、図4において、プリンタ30はプリントコントローラ120とプリンタエンジン131とを含んでいる。プリントコントローラ120は、コンピュータ化された電子機器を有しており、これを用いてプリンタエンジン131を制御する。そして、プリンタエンジン131は、プリントキャリッジとともにキャリッジモータやラインフィードモータ、また、プリント出力を得るための記録ヘッドのような物理的な機器を含んでいる。図4に示されているように、プリントコントローラ120は、8ビット或いは16ビットマイクロプロセッサのようなCPU121、ROM122、制御ロジック124、バス126に接続されたI/Oポート127を含んでいる。また、制御ロジック124にはRAM129が接続されている。I/Oポート127には、EEPROM132が接続されている。
プリンタエンジン131は、ラインフィードモータドライバ61aによって制御されるラインフィードモータ61とキャリッジモータドライバ66aによって制御されるキャリッジモータ66を含んでいる。デュアル記録ヘッド130aと130bは着脱可能な記録ヘッドであり、不図示のプリンタキャリッジによって移動される。また、そのデュアル記録ヘッドは、記録媒体にプリント画像を形成するためにインク吐出ノズルを備えるとともに、着脱可能な記録ヘッドの存在とその特性に関してフィードバックをするためのセンサを備えている。また、プリンタエンジン131には、可聴ブザー128、カバーセンサ134、ユーザによる操作可能なスイッチ133、指示LED135が設けられている。
制御ロジック124は、記録ヘッド130aと130bのノズルに制御信号を供給し、さらに、I/Oポート127を介して、ラインフィードモータドライバ61aとキャリッジモータドライバ66aの制御ロジックを提供している。I/Oポート127は、記録ヘッド130a、130bからのセンサ出力、センサ134とスイッチ133からのセンサ出力を受信し、さらに加えて、ブザー128とLED135についての制御信号を供給する。上述のように、I/Oポート127は、制御ロジック124からラインフィードモータドライバ61aとキャリッジモータドライバ66aへの制御信号のチャネルとなっている。
ROM122は、フォントデータ、プリンタ30を制御するために用いられるプログラム命令シーケンス、プリンタ動作のための他の不変データとを格納する。RAM129は、ROM122のプログラム命令シーケンスによって定義されるプリントバッファに、記録ヘッド130aと130bによるプリント出力のためのプリントデータを格納する。EEPROM132は、記録ヘッド構成や記録ヘッドの位置合わせパラメータのようなプリンタ情報のため、不揮発性再プログラム可能なメモリを提供する。EEPROM132はまた、プリンタ、プリンタドライバ、記録ヘッド、記録ヘッドの位置合わせ、インクカートリッジのインクの状態などを識別するパラメータを格納し、これら全てはホストプロセッサ23のプリンタドライバ114に備えられて、ホストプロセッサ23にプリンタ30の動作パラメータを伝え、プリンタドライバ114がプリント出力を変更し、プリンタ30の種々の構成を取り込めることができるようにしても良い。
図5は、本発明の1つの実施形態に従う誤差拡散による中間調処理を構成する、格納されたコンピュータ実行可能なプログラム命令シーケンスを図示したフローチャートである。この第1の実施形態で示されている処理ステップとともに、残りの実施形態で示されている処理ステップは、ディスク25のプリンタドライバ114に格納されていることが好ましく、これらはCPU100によって実行され、中間調処理されたプリンタ出力データを提供する。このデータは、ホストプロセッサ23から双方向インタフェース106を介してプリンタ30に送信される。プリンタ30よりホストプロセッサ23において誤差拡散による中間調処理を実行することが好適である理由としては、ホストプロセッサ23が一般にはプリンタ30よりも処理能力が高いことがある。従って、図5に示された格納されたプログラム命令シーケンスはプリンタ30よりもホストプロセッサ23の方が、より速く実行され、多値画像入力データはプリント出力データに変換される。もちろん、ある環境では、その格納されたプログラム命令シーケンスがプロセッサ30によって実行されることが好ましい場合もあることは理解されたい。その場合、図5に示された格納されたプログラム命令シーケンスはROM122に格納し、CPU121によって実行しても良い。
ここで説明した全ての実施形態のように、図5の実施形態では、各ラスタラインにおいて、各画素の処理を一様に左から右へと行うことを前提としている。しかしながら、全ての実施形態を変形して、単に誤差が拡散される方向を変えることにより、例えば、蛇行するような順序、或いは、ブルーノイズのような順序のような異なる処理順序にしても良い。
一般的に言って、図5で図示される格納されたプログラム命令シーケンスは、誤差拡散による中間調処理を含んでおり、この処理により多値画像データがプリンタ出力データに変換される。注目画素の値とその累積誤差との和がアクセスされ、出力濃淡レベルが閾値と注目画素とその累積誤差との和との間の比較に基づいて決定され、出力誤差が計算され、その出力誤差が近接画素に拡散される。近接画素への拡散は、計算された誤差拡散の重みに基づいており、その重みは注目画素の値とその累積誤差との和に依存している。
さらに詳しく説明すると、ステップS501は注目画素とその累積誤差との和についての値にアクセスすることにより、注目画素についての誤差拡散処理を開始する。“累積誤差”とは、例えば、以前になされた誤差拡散処理を通してその注目画素に近接する画素のような、他の画素について前になされた誤差拡散処理から累積された誤差を意味する。この点について、誤差が計算され、その誤差が直接にオリジナル画像の値に加算されることで拡散されることを意味するので、一部がメモリバッファにロードされる入力画像データに関し、本発明を実施する場合には、元の位置で中間調処理されることが一般には好ましい。従って、本来的には、オリジナル画像データと累積誤差について、別々のバッファに格納する必要はないので、この処理ではメモリに関する要求はより小さくなるという結果になる。
ステップS502は、注目画素についての出力濃淡レベルと出力誤差とを決定する。出力濃淡レベルを決定するために、閾値と、注目画素についての値と累積誤差との和との比較がなされる。多値画像データの範囲の半分のように、その閾値は定数で良い(8ビット画像データの場合には、固定閾値“127”を選択しても良い)。あるいは、その閾値は変数でも良い。具体的には、その閾値は、画像データのラスタ格子の注目画素の場所に基づいて変化しても良いし、注目画素の画像データ値に基づいて変化しても良いし、或いは、その組み合わせに基づいて変化しても良い。
ステップS502における出力誤差は、所望の出力値(注目画素の値と累積誤差との和によって表現されるように)と実際のプリント値との間の差を得ることにより決定される。例えば、その注目画素についての画像データと累積誤差との和が、所望の出力値が濃度範囲の4分の1であることを示しているなら、バイナリプリンタでは、出力濃淡レベルとしておそらくは“ゼロ”が選択されるであろう。この例では、そのとき、その出力誤差は4分の1であり、これは、注目画素についての画像値と累積誤差との和と、その注目画素について実際に選択された出力値との間の差を表現している。
ステップS503では、誤差拡散の重みが計算され、その注目画素に近接する画素に出力誤差を拡散するため、後に続く処理で用いられる。本発明の実施形態では、誤差拡散の重みは、注目画素の値とその累積誤差との和に基づいて計算される。このことは、図6A〜図6Cに図示されている。
具体的には、図6Aは、注目画素40についての誤差拡散の重みを示している。その誤差拡散の重みはe0、e1、e2、e3、及び、erとラベルが付けられている。図6Aに示されているように、誤差についての最も大きな割合が、隣接する画素であり、かつ、注目画素の右側にある画素であるe3とラベルが付されている画素に拡散され、その割合はe3=129÷255である。誤差について次に大きな割合が、隣接する画素であり、かつ、注目画素の下側にある画素に拡散され、その重みはe2=70÷255である。続いて、誤差についてのより小さな割合が、近接する画素であり、かつ、注目画素の左下側にある2つの画素に拡散され、図示されているように、その重みはe1=35÷255、e0=20÷255である。最後に、丸め誤差と整数計算の効果とを考慮するために、いくらかの残余誤差が、すぐ右側の隣接画素に拡散され、図示されているように、それはer=全出力誤差−e0−e1−e2−e3である。
図6Aに示される誤差拡散の重みは、中立的な誤差拡散の重みであり、注目画素の値とその累積誤差との和が、mを任意の整数であるとすると、4m或いは4m+2に等しいときに用いられる。従って、ステップS503では、注目画素とその累積誤差との和の値が4m或いは4m+2に等しいなら、そのとき、図6Aに示される誤差拡散の重みが計算される。
これに対して、注目画素とその累積誤差との和の値が4m+1に等しいなら、そのときには、図6Bに示される誤差拡散の重みが計算される。図6Bの誤差拡散の重みは、右側に隣接する画素を重視し、e3についての値を20%増加させる一方、e0、e1、e2についての値をおおよそ20%減少させるようにして、各重みを得ている。
図6Cは、注目画素とその累積誤差との和の値が4m+3に等しい場合に、計算される誤差拡散の重みを示している。図6Cに示される誤差拡散の重みは、左下方向への重み付けを重視し、e0、e1、e2についての図6Aに示した誤差拡散の重みを20%増加させる一方、e3についての誤差拡散の重みをおおよそ減少させることによって、各重みを得ている。
図6A〜図6Cに示したようにして誤差拡散の重みを計算することにより、図7に示されるように、誤差拡散の重みについての周期的な変化が得られる。具体的に言うと、図7は注目画素の値とその累積誤差との和に基づいて誤差拡散の重みがどのように変化するかを図示している。図7から分かるように、4つの段階をもった周期的な変化は、(図6Cに示されているように)左下側方向を重視した重み付けから、(図6Aに示されているように)中立的な重み付けを経て、(図6Bに示されているように)右側方向を重視した重み付けへというように変化する。画像の値とその累積誤差との和に依存した、誤差拡散の重みにおけるそのような周期的な変化は好ましいものである。
さて、図5に戻って説明を続けると、ステップS504では出力誤差を計算された誤差拡散の重みに基づいて近接する画素へと拡散する。具体的には、ステップS503において計算された誤差拡散の重みに基づいて、出力誤差が、図6A〜図6Cに図示されたような方法で、近接画素に配分される。それから、ステップS504では全画像が処理されたか、或いは、1記録バンドのような記録に十分な部分が処理されたかを判断する。もし、全画像或いは記録に十分な部分がまだ記録されていないなら、処理はステップS505からステップS501に戻り、所定の走査パターンにおける別の注目画素についての誤差拡散処理を続行する。これに対して、もし、全画像或いは1記録バンドのような記録に十分な部分が処理されたなら、処理はステップS505からステップS506へと進む。ステップS506では、出力濃淡レベルがホストプロセッサ23から双方向インタフェース106を介してプリンタ30へと送信されるようにし、これによってプリント出力がなされる。
図8は、本発明の第2実施形態を図示したものである。図8の実施形態が第1の実施形態と異なる1つの点は、誤差拡散の重みが注目画素の値とその累積誤差との値との和に基づくのではなく、むしろ、出力誤差に基づいて計算される点である。
図8に示される処理ステップはディスク125のプリンタドライバ114に格納され、CPU125によって実行されプリントデータをプリンタ30への双方向バス106に提供する。しかしながら、上述のように、図8に示す処理ステップをROM122に格納して、プリンタ30のCPU121で実行することも可能である。
ステップS801とS802とは図5の対応ステップと似た処理であり、注目画素についての値とその累積誤差にアクセスする処理と、出力誤差とともに出力濃淡レベルの決定をする処理とを備える。
ステップS803では、その出力誤差に基づいた計算がなされ、誤差拡散の重みが計算される。適切な誤差拡散の重みは図6A〜図6Cに示されている。
ステップS804では、出力誤差が計算された誤差拡散の重みに基づいて近接する画素へと拡散される。もし、全画像或いは1バンドのような画像の十分な部分がまだ処理されていないなら、処理はステップS805からステップS801に戻る。これに対して、全画像或いはその十分な部分が処理されたなら、処理はステップS806に進み、そのプリント出力データはプリンタ30に送信され、これにより、プリント出力がなされる。
図9は本発明の第3実施形態を図示したものである。第3実施形態が第1〜第2実施形態と異なる1つの点は、予め計算された誤差拡散のパラメータを格納するためにルックアップテーブルが用いられる点である。図9の実施形態において、そのルックアップテーブルに格納されるものは、誤差拡散の重みではなく、むしろ、実際の誤差拡散の値である。誤差拡散の重みではなくむしろ実際の誤差拡散の値を格納することによって、その出力誤差に誤差拡散の重みを乗ずるという乗算演算の必要を省き、誤差拡散の値を得ることができる。
第3実施形態では、誤差拡散の値を予め計算すること、また、これをルックアップテーブルに格納することは、誤差拡散処理中のルックアップテーブルの使用とは論理的にも明らかに異なるものである。図9に破線を挿入することで、この違いを強調している。前もった計算やルックアップテーブルへの格納を、そのルックアップテーブルの使用に先だって、例えば、プリンタドライバ114の設計中に、完全に行っておき、そのプリンタドライバ114に適切なルックアップテーブルを予め格納して、そのプリンタドライバ114をエンドユーザに配送できるようにすることが好ましい。或いは、プリンタドライバ114がプリント動作に先立って動的に計算とルックアップテーブルへの格納を行い、変化する誤差拡散の値についての必要を小さくしたり大きくするかもしれない特定の画像の特徴を組み込むこともできる。
一般的に言って、図9に示される処理ステップには、画像データ値と累積誤差との和の関数として予め計算された誤差拡散の値を格納するルックアップテーブルへのアクセスによる誤差拡散の中間調処理が備えられている。注目画素を中間調処理するために、その値と累積誤差との和がそのルックアップテーブルをアクセスするために用いられ、これによって、誤差拡散の値を得ている。そのルックアップテーブルはプリント出力値を提供することが好ましいが、もし、そのルックアップテーブルがプリント出力値を提供していなくとも、その値は注目画素の値とその累積誤差との和とある閾値とを比較することによって得られる。そのルックアップテーブルから得られる誤差拡散の値は、その後、近接画素が注目画素になったときの後続の処理のために、その近接画素に加えられる。
より詳しく説明すると、ステップS901ではプリント出力データ値とともに誤差拡散の値を前もって計算する。その誤差拡散の値とプリント出力データ値とは両方とも画像ソースデータと累積誤差との和の全てのありえる値に基づいて計算される。従って、たとえ8ビット画像データの値が0〜255の範囲の中にあるようにされていても、誤差累積の処理の結果は、オリジナル画像データから127を引いたものよりも20%だけ大きくなるか、或いは、オリジナル画像データに128を加えたものよりも最大20%大きくなるかもしれない。(この“20%”ファクタは、この実施形態では誤差を周期的に20%だけ増加させるという事実に基づいた最悪の場合の評価である。)従って、オリジナル画像データの値が0〜255の範囲にあるのであるから、誤差拡散の値とプリント出力データ値とは、−153〜409の範囲にある画像ソースデータとその累積誤差との和についてのありえる値各々について計算される。
ステップS902は、ルックアップテーブルに、前もって計算した値を画像データ値とその累積誤差との和の関数として格納する。図10は、そのようなルックアップテーブルの代表的な例を図示している。
図10において、−153〜409の範囲において画像ソースデータと累積誤差との和の各値について、誤差拡散の値、e0、e1、e2、e3、及び、erが、プリント出力データ値とともに格納される。その誤差拡散の値を得るために用いられる割合配分は、図6A〜図6Cと関連して上述したように、ソースデータと累積誤差との和に依存している。図6A〜図6Cに関連してさらに説明したように、その誤差拡散の値を得るために用いられる重みは、周期的に変化することが好ましい。
ステップS901とS902とがどのように前もって計算を行い、ルックアップテーブルに格納するのかを説明する目的のために、図10に示されているように、ソース画像データとその累積誤差との和が−126に等しいときの状態を考慮する。そのような環境では、プリント出力データ値はゼロであると計算され,その結果、出力誤差は−126−0=−126となる。−126というソース画像データと累積誤差との和は、4m+2の形をしているので、図6Aに示される誤差係数が用いられて、−126の出力誤差を拡散する。図6Aに示される重みを−126の出力誤差に適用すると、図10に示されるような誤差拡散の値、e1〜erを生み出す。
同様にして、ソース画像データと累積誤差との和に基づいて、近接画素に拡散される出力誤差の割合を変化、好適には、周期的に変化させながら、ソース画像データと累積誤差との和のありえる値各々について、誤差拡散の値とプリント出力データ値とが前もって計算され、ルックアップテーブルに格納される。
さて、図9に戻って説明を続けると、ステップS903では、注目画素の値とその累積誤差との和の値にアクセスする。ステップS904ではルックアップテーブルにアクセスして誤差拡散の値とプリント出力データ値とを取得する。ステップS905では誤差拡散の値を近接画素に拡散する。全画像データ或いはその内の十分な部分がまだ処理されていないなら、画像データの十分な部分(例えば、1バンド)の処理が完了するまで、処理はステップS906からステップS903に戻る。その画像データの十分な部分が処理されたとき、ステップS907ではプリント出力データ値がホストプロセッサ23から双方向インタフェース106を経てプリンタ30に送信されるようにし、これにより、プリント出力がなされる。
図11は本発明の第4実施形態に従う処理ステップを図示したものである。第4実施形態が第3実施形態と異なる1つの点は、ルックアップテーブルが誤差拡散の値を、ソース画像データと累積誤差との和の関数ではなく、むしろ、出力誤差の関数として格納する点である。さらに、誤差拡散の割合は変化し、好適には、ソース画像データと累積誤差との和に基づいてではなく、むしろ、出力誤差に基づいて周期的に変化する。
従って、ステップS1101は、出力誤差の値のすべてのとりえる値各々について誤差拡散の値を前もって計算する。この場合、出力誤差は−127〜128の範囲にあり、或いは、これらを20%だけ増すと、−153〜154の範囲にある。その誤差拡散の値は、出力誤差に基づいて変化する、好適には周期的に変化する誤差拡散の重みに基づいている。
ステップS1102は、出力誤差の関数としてアクセス可能なように、前もって計算された値をルックアップテーブルに格納する。ステップS1102に従うルックアップテーブルを図示した例が、図12に示されている。
具体的に説明すると、図12において、ルックアップテーブルは−153〜154の間で変化する出力誤差によってアドレスされる。各出力誤差において、誤差拡散の値、e0〜erが格納される。その誤差拡散の値は、図6A〜図6Cに示された誤差拡散係数のような誤差拡散係数に基づいて、出力誤差を配分することによって得られる。図12の右側に図示的に示されているように、誤差拡散係数は出力誤差に従って変化し、好適には、(図6Bに対応して)右側方向に誤差拡散係数が増加するものから、(図6Aに対応して)中立的な誤差拡散係数をもつものを経て、(図6Cに対応して)左下側方向に誤差拡散係数が増加するというように周期的に変化する。図12に示したルックアップテーブルのより完全な理解を得るために、値の1つである、−153についてより詳細に検証する。−153は4m+3の形をしているので、図6Cに示した誤差拡散係数が適用できる。これらの誤差拡散係数を−153の出力誤差に適用すると、図12に示した誤差拡散の値が得られる。
さて、図11に戻って説明を続けると、ステップS1101とS1102とは誤差拡散による中間調処理に先立って、好適には、プリンタドライバ114の設計時に実行されることが好ましい。この場合、誤差拡散の値は、プリンタドライバのルックアップテーブルに格納され、エンドユーザに配布される。或いは、そのルックアップテーブルが、誤差拡散による中間調処理に先立って動的に計算され、特定の画像処理条件、例えば、誤差拡散係数の変化をより大きな程度にまで、或いは、より小さな程度にすることを必要とするような条件を組み込むことができるようにしても良い。
画像データの誤差拡散による中間調処理はステップS1103で開始され、そのステップでは、注目画素についての画像データ値とその累積誤差との和がアクセスされる。ステップS1104では、その注目画素についての画像データと累積誤差との和に基づいた注目画素についての出力プリントデータを決定し、その後、その出力誤差を決定する。出力誤差は、注目画素についての所望の値(即ち、画像データ値と累積誤差との和)と実際に出力されるプリントデータとの差である。その出力誤差に基づいて、ステップS1105ではルックアップテーブルをアクセスし、誤差拡散の値を得る。ステップS1106ではその誤差拡散の値を近接画素に加算する。
もし、全画像データ或いはその1バンドのような十分な部分がまだ処理されていないなら、処理はステップS1107からステップS1103に戻り、誤差拡散による中間調処理を完成させる。これに対して、全画像データ或いはその十分な部分について誤差拡散による中間調処理がなされたならすぐに、処理はステップS1108に進み、プリンタドライバ114はプリントデータを双方向インタフェース106を介してホストプロセッサ23からプリンタ30に出力し、これによってプリント出力がなされる。
図13は本発明の第5実施形態に従う処理ステップを図示したものである。第5実施形態が第3実施形態と異なる1つの点は、誤差拡散の閾値が画像ソースデータとのその累積誤差との和に基づいて変化する点にある。本発明の実施形態として誤差拡散の閾値だけが変化し、誤差拡散の重みは変化しない実施形態を備えることは可能であるが、誤差拡散の閾値と誤差拡散の重みとが変化することが好ましく、従って、第5実施形態では、誤差拡散の重みと誤差拡散の閾値の両方が変化する。この誤差拡散の重みと誤差拡散の閾値との変化は周期的な変化であることが好ましく、さらに、異なる周期で周期的な変化をすることが好ましい。第5実施形態では、誤差拡散の重みの周期的な変化は4つの段階をもっており、一方、誤差拡散の閾値の周期的な変化は3つの段階をもっている。周期的な変化が異なる周期をもっていると、2つの周期の間の干渉をより小さくすることができる。
また、閾値の変化が画像ソースデータと累積誤差との和に依存するのではなくむしろ、出力誤差に依存した実施形態を備えることも可能である。
一般的に言って、図13の処理ステップでは、予め計算された誤差拡散の値とプリンタ出力値とを画像データ値と累積誤差との和との関数として格納したルックアップテーブルにアクセスすることにより、誤差拡散による中間調処理を備えている。注目画素を誤差拡散による中間調処理を行うために、その値と累積誤差との和がルックアップテーブルにアクセスするために用いられ、これによって、プリンタ出力値と誤差拡散の値を得る。ルックアップテーブルから得られた誤差拡散の値は、その後、近接画素に加算され、その近接画素が注目画素になるときの後続する処理に備える。プリンタ出力値はプリンタへの出力のために格納される。
従って、ステップS1301では、誤差拡散の値、閾値、プリンタ出力データ値を、ソースデータとその累積誤差との和のありえる値各々に関して、前もって計算する。この実施形態では、誤差拡散の閾値が、128という名目上の閾値の周りに周期的に±25%変化することが許されている。加えて、誤差拡散の重みは名目上の値の周りに±20%変化することが許されている。従って、たとえ8ビット画像データの値が0〜255の範囲にあるようにされていても、閾値決定の処理の結果、出力誤差は−127より25%小さく、或いは、128より最大25%大きくなり得る。また、誤差累積の処理の結果、その誤差は±両方向にさらに20%増加することもありえる。従って、誤差拡散の値とプリンタ出力値とは、−191〜447の範囲において画像ソースと累積誤差との和のありえる値各々について計算される。
図14Aは、誤差拡散の値の変化における周期的な性質と、閾値の変化における周期的な性質とを図示したものである。ここで、図14Aはただ説明を目的としたものであり、ルックアップテーブルを代表しているものではないこと(むしろ、図14Bがルックアップテーブルの代表的なものである)を強調しておきたい。図14Aは、誤差拡散の重みが、4つの段階で、ソース画像データと累積誤差との和の各値に関して、どのように循環しているかを示したものである。第5実施形態では、図6A〜図6Cに図示された周期的な変化が用いられる。加えて、図14Aは誤差拡散の閾値が、3つの段階で、どのように周期的に変化するかを示したものである。ソース画像データと累積誤差との和が3wの形であるときには、閾値として“96”が割り当てられる。また、ソース画像データと累積誤差との和が3w+1の形であるときには、閾値として“128”が割り当てられる。さらに、ソース画像データと累積誤差との和が3w+2の形であるときには、閾値として“160”が割り当てられる。そのような構成により、誤差拡散の重みの周期とは異なる周期をもつ閾値の周期的な変化が備えられる。
ステップS1302では、誤差拡散の値とプリンタ出力値とを予め計算し、これをソース画像データと累積誤差との和の関数としてルックアップテーブルでアクセス可能なようにする。ステップS1302に従うルックアップテーブルの図示的な例が図14Bに示されている。
図14Bにおいて、−191〜447の範囲において画像ソースデータと累積誤差との和についての各値について、誤差拡散の値、e0、e1、e2、e3、及び、erが、プリント出力データ値とともに格納される。誤差拡散の値を得るために用いられる割合は、図14Aに関連して上述したように、図6A〜図6Cに示した重みを用い、ソースデータと累積誤差との和に依存している。そのプリンタ出力値は、図14Aに関連した上述したように、周期的に変化する閾値と、ソース画像データと累積誤差との和とを比較することによって得られる。
ステップS1301とS1302がどのように誤差拡散量とプリンタ出力値とを前もって計算し、ルックアップテーブルにそのような値を格納するのかを説明する目的のために、図14Bに示されているように、ソース画像データとその累積誤差との和が111に等しいときの状態を考慮する。そのような環境では、閾値は96であり、その結果、プリンタ出力値は“1”(これはドットをプリントすることを意味する)となる。111と255との差(即ち、プリントされるドットに対応した濃度値)は、−144という出力誤差を生む。図6Cに示された誤差拡散係数の値に従うと、出力誤差−144の拡散によって、図14Bに示される誤差拡散の値、e0〜erを生み出す。
再び、図13において、ステップS1301とS1302とは誤差拡散による中間調処理に先立って、好適には、プリンタドライバ114の設計時に、実行されることが好ましい。この場合、その誤差拡散の値とプリンタ出力値とはエンドユーザへの配布のために、プリンタドライバのルックアップテーブルに格納される。或いは、そのルックアップテーブルは誤差拡散による中間調処理に先立って動的に計算され、例えば、誤差拡散係数や誤差拡散の閾値の変化をより大きな程度或いはより小さな程度にすることを必要とするような条件のような、特定の画像処理条件を組み込むことができるようにしても良い。
画像データの誤差拡散による中間調処理はステップS1303で開始され、注目画素の画像データとその累積誤差との和がアクセスされる。ステップS1304ではルックアップテーブルにアクセスして、誤差拡散の値とプリント出力データ値とを取得する。ステップS1305では、誤差拡散の値を近接画素に加算する。もし、全画像データ或いは1バンドのようなその十分な部分がまだ処理されていないなら、その全画像データあるいはその十分な部分が処理されるまで、処理はステップS1306からステップS1303に戻る。全画像データ或いはその十分な部分が処理完了したなら、処理はステップS1307に進み、プリント出力データ値がホストコンピュータ23から双方向インタフェース106を経てプリンタ30に送信されるようにし、これによってプリント出力がなされる。
なお、以上の実施形態において、記録ヘッドから吐出される液滴はインクであるとして説明し、さらにインクタンクに収容される液体はインクであるとして説明したが、その収容物はインクに限定されるものではない。例えば、記録画像の定着性や耐水性を高めたり、その画像品質を高めたりするために記録媒体に対して吐出される処理液のようなものがインクタンクに収容されていても良い。
以上の実施形態は、特にインクジェット記録方式の中でも、インク吐出を行わせるために利用されるエネルギーとして熱エネルギーを発生する手段(例えば電気熱変換体やレーザ光等)を備え、前記熱エネルギーによりインクの状態変化を生起させる方式を用いることにより記録の高密度化、高精細化が達成できる。
その代表的な構成や原理については、例えば、米国特許第4723129号明細書、同第4740796号明細書に開示されている基本的な原理を用いて行うものが好ましい。この方式はいわゆるオンデマンド型、コンティニュアス型のいずれにも適用可能であるが、特に、オンデマンド型の場合には、液体(インク)が保持されているシートや液路に対応して配置されている電気熱変換体に、記録情報に対応していて膜沸騰を越える急速な温度上昇を与える少なくとも1つの駆動信号を印加することによって、電気熱変換体に熱エネルギーを発生せしめ、記録ヘッドの熱作用面に膜沸騰を生じさせて、結果的にこの駆動信号に1対1で対応した液体(インク)内の気泡を形成できるので有効である。この気泡の成長、収縮により吐出用開口を介して液体(インク)を吐出させて、少なくとも1つの滴を形成する。この駆動信号をパルス形状をすると、即時適切に気泡の成長収縮が行われるので、特に応答性に優れた液体(インク)の吐出が達成でき、より好ましい。
このパルス形状の駆動信号としては、米国特許第4463359号明細書、同第4345262号明細書に記載されているようなものが適している。なお、上記熱作用面の温度上昇率に関する発明の米国特許第4313124号明細書に記載されている条件を採用すると、さらに優れた記録を行うことができる。
記録ヘッドの構成としては、上述の各明細書に開示されているような吐出口、液路、電気熱変換体の組み合わせ構成(直線状液流路または直角液流路)の他に熱作用面が屈曲する領域に配置されている構成を開示する米国特許第4558333号明細書、米国特許第4459600号明細書を用いた構成も本発明に含まれるものである。加えて、複数の電気熱変換体に対して、共通するスロットを電気熱変換体の吐出部とする構成を開示する特開昭59−123670号公報や熱エネルギーの圧力波を吸収する開口を吐出部に対応させる構成を開示する特開昭59−138461号公報に基づいた構成としても良い。
さらに、記録装置が記録できる最大記録媒体の幅に対応した長さを有するフルラインタイプの記録ヘッドとしては、上述した明細書に開示されているような複数記録ヘッドの組み合わせによってその長さを満たす構成や、一体的に形成された1個の記録ヘッドとしての構成のいずれでもよい。
加えて、上記の実施形態で説明した記録ヘッド自体に一体的にインクタンクが設けられたカートリッジタイプの記録ヘッドのみならず、装置本体に装着されることで、装置本体との電気的な接続や装置本体からのインクの供給が可能になる交換自在のチップタイプの記録ヘッドを用いてもよい。
また、以上説明した記録装置の構成に、記録ヘッドに対する回復手段、予備的な手段等を付加することは記録動作を一層安定にできるので好ましいものである。これらを具体的に挙げれば、記録ヘッドに対してのキャッピング手段、クリーニング手段、加圧あるいは吸引手段、電気熱変換体あるいはこれとは別の加熱素子あるいはこれらの組み合わせによる予備加熱手段などがある。また、記録とは別の吐出を行う予備吐出モードを備えることも安定した記録を行うために有効である。
さらに、記録装置の記録モードとしては黒色等の主流色のみの記録モードだけではなく、記録ヘッドを一体的に構成するか複数個の組み合わせによってでも良いが、異なる色の複色カラー、または混色によるフルカラーの少なくとも1つを備えた装置とすることもできる。
以上説明した実施の形態においては、インクが液体であることを前提として説明しているが、室温やそれ以下で固化するインクであっても、室温で軟化もしくは液化するものを用いても良く、あるいはインクジェット方式ではインク自体を30°C以上70°C以下の範囲内で温度調整を行ってインクの粘性を安定吐出範囲にあるように温度制御するものが一般的であるから、使用記録信号付与時にインクが液状をなすものであればよい。
加えて、積極的に熱エネルギーによる昇温をインクの固形状態から液体状態への状態変化のエネルギーとして使用せしめることで積極的に防止するため、またはインクの蒸発を防止するため、放置状態で固化し加熱によって液化するインクを用いても良い。いずれにしても熱エネルギーの記録信号に応じた付与によってインクが液化し、液状インクが吐出されるものや、記録媒体に到達する時点では既に固化し始めるもの等のような、熱エネルギーの付与によって初めて液化する性質のインクを使用する場合も本発明は適用可能である。このような場合インクは、特開昭54−56847号公報あるいは特開昭60−71260号公報に記載されるような、多孔質シート凹部または貫通孔に液状または固形物として保持された状態で、電気熱変換体に対して対向するような形態としてもよい。本発明においては、上述した各インクに対して最も有効なものは、上述した膜沸騰方式を実行するものである。
さらに加えて、本発明に係る記録装置の形態としては、コンピュータ等の情報処理機器の画像出力端末として一体または別体に設けられるものの他、リーダ等と組み合わせた複写装置、さらには送受信機能を有するファクシミリ装置の形態を取るものであっても良い。
なお、本発明は、複数の機器(例えばホストコンピュータ,インタフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は以上のように、特定の実施形態に関して説明がなされた。しかしながら、本発明は上述した実施形態によって限定されるものではなく、様々な変形例や態様が、本発明の概念や範囲から逸脱することなく、当業者によってなされることが可能であることを理解されたい。
従来例に従う誤差拡散による中間調処理によってプリントされた出力の例であり、不本意な画質劣化をもたらすドット(artifact)がプリントされた様子を示す図である。 従来例に従う誤差拡散による中間調処理によってプリントされた出力の例であり、不本意な画質劣化をもたらすドット(artifact)がプリントされた様子を示す図である。 本発明に関連して用いられるコンピュータ機器とプリンタの概観斜視図である。 図3に示すプリンタとインタフェースをもつホストプロセッサのハードウェア構成の詳細を示すブロック図である。 本発明の第1実施形態に従う処理工程を示すフローチャートである。 出力誤差或いは画像データと累積誤差との和に基づいて変更可能である誤差拡散係数を示す図である。 出力誤差或いは画像データと累積誤差との和に基づいて変更可能である誤差拡散係数を示す図である。 出力誤差或いは画像データと累積誤差との和に基づいて変更可能である誤差拡散係数を示す図である。 誤差拡散係数の周期的な変化を説明する図である。 本発明の第2実施形態に従う処理工程を示すフローチャートである。 本発明の第3実施形態に従う処理工程を示すフローチャートである。 本発明の1つの実施形態に従うルックアップテーブルを説明する図である。 本発明の第4実施形態に従う処理工程を示すフローチャートである。 本発明のさらに別の実施形態に従うルックアップテーブルを説明する図である。 本発明の第5実施形態に従う処理工程を示すフローチャートである。 第5実施形態に従うルックアップテーブルを説明する図である。 第5実施形態に従うルックアップテーブルを説明する図である。
符号の説明
20 コンピュータ装置
22 ディスプレイ
23 ホストプロセッサ
24 フロッピィディスクドライブ
25 ディスク
26 キーボード
27 ポインティングデバイス
30 プリンタ
43 ROM
61 ラインフィードモータ
61a ラインフィードモータドライバ
66 キャリッジモータ
66a キャリッジモータドライバ
100 CPU
101 コンピュータバス
102 ディスプレイインタフェース
104 プリンタインタフェース
106 双方向通信ライン
111 オペレーティングシステム
112 アプリケーションプログラム
114 プリンタドライバ
116 RAM
119 ドライバ
120 プリントコントローラ
121 CPU
122 ROM
124 制御ロジック
126 バス
127 I/Oポート
128 可聴ブザー
129 RAM
130a、130b 記録ヘッド
131 プリンタエンジン
132 EEPROM
133 スイッチ
134 カバーセンサ
135 LED

Claims (4)

  1. 誤差拡散法を用いて画像データを中間調処理するための中間調処理装置であって、
    前記画像データの画素値と累積誤差値とを加算した和の値が取り得る範囲内の値に対応して予め計算された、注目画素の各周辺画素に分配する誤差拡散値と、前記画像データの画素値と累積誤差値とを加算した値と予め定められた閾値とを比較することで得られる、予め計算された中間調処理後の出力データ値とを格納するルックアップテーブルと、
    前記中間調処理の対象となる前記注目画素の画素値と累積誤差値とを加算する加算部と、
    前記加算部で加算されて得られた画素値を用いて前記ルックアップテーブルにアクセスし、当該画素値に対応する誤差拡散値を取得する取得部とを有し、
    前記ルックアップテーブルに格納された誤差拡散値は、前記画像データの画素値と累積誤差値とを加算して得られた値が取り得る範囲内において、分配の比率を前記画像データの画素値と累積誤差値とを加算した値に応じて周期的に変化させて計算されたものであり、
    前記閾値は、前記画像データの画素値と累積誤差値とを加算した値に応じて周期的に変化させたものであることを特徴とする中間調処理装置。
  2. 前記誤差拡散値は、処理対象である前記注目画素の右側に位置する画素へ出力誤差の拡散を重視する第1の配分割合と、前記注目画素の左下側に位置する画素へ出力誤差の拡散を重視する第2の配分割合と、前記第1と第2の配分割合の中間的な配分割合である第3の配分割合の少なくとも3つの分配比率を前記画像データの画素値と累積誤差値とを加算した値に応じて周期的に変化させて計算されたものであることを特徴とする請求項に記載の中間調処理装置。
  3. 誤差拡散法を用いて画像データを中間調処理するための中間調処理方法であって、
    格納手段により前記画像データの画素値と累積誤差値とを加算した和の値が取り得る範囲内の値に対応して予め計算された、注目画素の各周辺画素に分配する誤差拡散値と、前記画像データの画素値と累積誤差値とを加算した値と予め定められた閾値とを比較することで得られる、予め計算された中間調処理後の出力データ値とをルックアップテーブルに格納する格納工程と、
    加算手段により前記中間調処理の対象となる前記注目画素の画素値と累積誤差値とを加算する加算工程と、
    取得手段により前記加算工程において加算されて得られた画素値を用いて前記ルックアップテーブルにアクセスし、当該画素値に対応する誤差拡散値を取得する取得工程とを有し、
    前記ルックアップテーブルに格納された誤差拡散値は、前記画像データの画素値と累積誤差値とを加算して得られた値が取り得る範囲内において、分配の比率を前記画像データの画素値と累積誤差値とを加算した値に応じて周期的に変化させて計算されたものであり、
    前記閾値は、前記画像データの画素値と累積誤差値とを加算した値に応じて周期的に変化させたものであることを特徴とする中間調処理方法。
  4. 前記誤差拡散値は、処理対象である前記注目画素の右側に位置する画素へ出力誤差の拡散を重視する第1の配分割合と、前記注目画素の左下側に位置する画素へ出力誤差の拡散を重視する第2の配分割合と、前記第1と第2の配分割合の中間的な配分割合である第3の配分割合の少なくとも3つの分配比率を前記画像データの画素値と累積誤差値とを加算した値に応じて周期的に変化させて計算されたものであることを特徴とする請求項に記載の中間調処理方法。
JP2005077617A 1998-02-05 2005-03-17 中間調処理装置及び中間調処理方法 Expired - Fee Related JP3997235B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/019,310 US6172768B1 (en) 1998-02-05 1998-02-05 Halftoning with changeable error diffusion weights

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP02432999A Division JP3728128B2 (ja) 1998-02-05 1999-02-01 中間調処理方法及び中間調処理装置

Publications (3)

Publication Number Publication Date
JP2005253094A JP2005253094A (ja) 2005-09-15
JP2005253094A5 JP2005253094A5 (ja) 2006-12-21
JP3997235B2 true JP3997235B2 (ja) 2007-10-24

Family

ID=21792539

Family Applications (2)

Application Number Title Priority Date Filing Date
JP02432999A Expired - Fee Related JP3728128B2 (ja) 1998-02-05 1999-02-01 中間調処理方法及び中間調処理装置
JP2005077617A Expired - Fee Related JP3997235B2 (ja) 1998-02-05 2005-03-17 中間調処理装置及び中間調処理方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP02432999A Expired - Fee Related JP3728128B2 (ja) 1998-02-05 1999-02-01 中間調処理方法及び中間調処理装置

Country Status (2)

Country Link
US (1) US6172768B1 (ja)
JP (2) JP3728128B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US6501564B1 (en) * 1999-05-07 2002-12-31 Hewlett-Packard Company Tone dependent plane dependent error diffusion halftoning
US6563957B1 (en) * 1999-05-07 2003-05-13 Hewlett-Packard Company Tone dependent error diffusion
FR2798494B1 (fr) * 1999-09-14 2002-03-29 St Microelectronics Sa Distribution d'erreur pour l'approximation de la couleur des pixels d'une image numerique
US6753978B1 (en) * 1999-09-22 2004-06-22 Sharp Laboratories Of America, Inc. Higher order error diffusion of digital halftoning
US7081972B2 (en) * 2000-09-20 2006-07-25 Canon Kabushiki Kaisha Image processing apparatus and image processing method
JP2002209105A (ja) * 2001-01-09 2002-07-26 Minolta Co Ltd 画像処理装置および方法ならびに画像処理プログラムを記録した記録媒体
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US6999202B2 (en) 2001-03-27 2006-02-14 Polaroid Corporation Method for generating a halftone of a source image
US6937365B2 (en) * 2001-05-30 2005-08-30 Polaroid Corporation Rendering images utilizing adaptive error diffusion
US6842186B2 (en) * 2001-05-30 2005-01-11 Polaroid Corporation High speed photo-printing apparatus
CA2448327A1 (en) * 2001-05-30 2002-12-05 Polaroid Corporation A high speed photo-printing apparatus
JP2003003979A (ja) * 2001-06-25 2003-01-08 Toshiba Kyaria Kk 流体機械
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US8111754B1 (en) 2001-07-11 2012-02-07 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US6816552B2 (en) * 2001-07-11 2004-11-09 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US20030112863A1 (en) * 2001-07-12 2003-06-19 Demos Gary A. Method and system for improving compressed image chroma information
JP4797308B2 (ja) * 2001-09-27 2011-10-19 ブラザー工業株式会社 画像処理装置及び画像処理プログラム
US6906736B2 (en) * 2002-02-19 2005-06-14 Polaroid Corporation Technique for printing a color image
JP3864902B2 (ja) * 2002-12-13 2007-01-10 セイコーエプソン株式会社 画像データの階調数を変換する画像処理装置、および画像処理方法
US7283666B2 (en) 2003-02-27 2007-10-16 Saquib Suhail S Digital image exposure correction
US7319549B2 (en) 2003-03-27 2008-01-15 Lexmark International, Inc. Multiple weight error diffusion
US7298894B2 (en) * 2003-06-18 2007-11-20 Primax Electronics Ltd. Color image conversion method and system for reducing color image data size
US8773685B2 (en) 2003-07-01 2014-07-08 Intellectual Ventures I Llc High-speed digital image printing system
US7701614B2 (en) * 2004-03-31 2010-04-20 Fujifilm Corporation Image processing method, apparatus, and program with selective error diffusion among a pluraity of pixel groups withing a digital image
US7826096B2 (en) * 2005-09-16 2010-11-02 Fujifilm Corporation Image processing method and image recording apparatus
KR100834680B1 (ko) 2006-09-18 2008-06-02 삼성전자주식회사 이동통신 단말기에서 출력되는 동영상 및 이미지의 화질을개선하기 위한 장치 및 방법
US9445121B2 (en) 2008-08-04 2016-09-13 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
GB0823701D0 (en) 2008-12-31 2009-02-04 Symbian Software Ltd Fast data entry
CN105635523B (zh) * 2015-12-30 2018-08-10 珠海赛纳打印科技股份有限公司 图像处理方法、图像处理装置及图像形成设备
US20190275739A1 (en) * 2016-09-27 2019-09-12 Hewlett-Packard Development Company, L.P. Error diffusion
CN107621929B (zh) * 2017-09-12 2023-07-14 珠海智汇网络设备有限公司 一种灰度热敏打印方法、热敏打印机和可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617123A (en) 1987-05-20 1997-04-01 Canon Kabushiki Kaisha Image processing method utilizing multiple binarizing and recording agent depositing steps
JP2859296B2 (ja) 1989-06-01 1999-02-17 キヤノン株式会社 画像再生方法及びその装置
US5045952A (en) * 1989-08-21 1991-09-03 Xerox Corporation Method for edge enhanced error diffusion
JPH0531920A (ja) 1991-08-01 1993-02-09 Canon Inc インクジエツト記録装置
EP0564252B1 (en) 1992-03-31 2003-09-10 Canon Kabushiki Kaisha Ink jet recording method and apparatus
JP3176130B2 (ja) 1992-07-06 2001-06-11 キヤノン株式会社 インクジェット記録方法
JPH06340094A (ja) 1993-05-31 1994-12-13 Canon Inc インクジェット記録装置およびインクジェット記録方法
US5911009A (en) * 1996-01-25 1999-06-08 Dainippon Screen Mfg. Co., Ltd. Method and apparatus for binary coding of image data including adding error accumulated for a target pixel and a pixel in the vicinity to be later coded
US5737453A (en) * 1996-05-17 1998-04-07 Canon Information Systems, Inc. Enhanced error-diffusion method for color or black-and-white reproduction

Also Published As

Publication number Publication date
JP3728128B2 (ja) 2005-12-21
US6172768B1 (en) 2001-01-09
JPH11275359A (ja) 1999-10-08
JP2005253094A (ja) 2005-09-15

Similar Documents

Publication Publication Date Title
JP3997235B2 (ja) 中間調処理装置及び中間調処理方法
US6435657B1 (en) Method for multicolorant printing of digital images using reduced colorant amounts
US7401877B2 (en) Printing mode for a printer
EP1211884A2 (en) Image processing apparatus and image processing method
JP4047119B2 (ja) 画像処理装置及び画像処理方法
EP1267565B1 (en) Method for multilevel printing of digital images using reduced colorant amounts
US7738141B2 (en) Image processing device that processes color image data
JP2001054956A (ja) 画像記録方法、画像記録装置、該画像記録装置の制御方法、コンピュータ可読記憶媒体及び画像処理方法
JP3990783B2 (ja) 画像処理装置及び画像処理方法
JP2009027225A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP3902967B2 (ja) 画像処理装置、画像処理方法、プログラムおよび記憶媒体
JP7242272B2 (ja) ディザマトリクスの生成装置、生成方法、当該ディザマトリクスを用いた画像処理装置、画像処理方法、及びプログラム
JP4078264B2 (ja) 画像処理装置およびその方法
JP5961988B2 (ja) 画像形成装置、その制御方法、プログラム及びコンピュータ読取可能な記録媒体
JP4463970B2 (ja) 画像処理装置及び画像処理方法
US6574010B1 (en) Image processing apparatus and method
JP2008199627A (ja) トナー節約のための画像形成装置およびトナー節約のための画像形成装置の制御方法
JP4280391B2 (ja) 画像記録装置、ドットパターン決定装置、ドットパターン決定方法およびコンピュータ可読記憶媒体
JP4467771B2 (ja) 画像処理装置及び画像処理方法
JP3787530B2 (ja) 画像処理装置、画像処理方法、プログラムおよび記憶媒体
JP4289821B2 (ja) 画像処理装置及び方法、並びにプログラム
JP4447767B2 (ja) 画像処理装置及び画像処理方法
JP4366447B2 (ja) 画像処理装置及び画像処理方法
JP4096846B2 (ja) 出力解像度に応じたフィルタ処理を行う画像処理装置
JP2001232825A (ja) 画像記録装置、画像記録方法および記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070201

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: 20070730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070806

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

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: 20100810

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees