JP3870056B2 - 画像処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 - Google Patents
画像処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 Download PDFInfo
- Publication number
- JP3870056B2 JP3870056B2 JP2001308833A JP2001308833A JP3870056B2 JP 3870056 B2 JP3870056 B2 JP 3870056B2 JP 2001308833 A JP2001308833 A JP 2001308833A JP 2001308833 A JP2001308833 A JP 2001308833A JP 3870056 B2 JP3870056 B2 JP 3870056B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- color
- value
- look
- converted
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/52—Circuits or arrangements for halftone screening
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Color Image Communication Systems (AREA)
- Facsimile Image Signal Circuits (AREA)
- Ink Jet (AREA)
- Color, Gradation (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は複数の色が多ビットで表現される画像データを、より少ないビット数の画像データに変換する画像処理装置及びその制御方法及びコンピュータプログラム並びにコンピュータ可読記憶媒体に関するものである。
【0002】
【従来の技術】
多値画像データを2値で表現する疑似中間調処理の代表的なものとして誤差拡散法がある(“An Adaptive Algorithm for Spatial Gray Scale”in society for Information Display 1975 Symposium Digest of Technical Papers, 1975, 36)。
【0003】
この方法は、入力される多値画像全体の濃度と、2値化後の画像全体の濃度を実質的に等しく、すなわち、濃度が保存する手法であって、簡単に説明すると次の通りである。
【0004】
今、注目画素をP、そしてその濃度をVとし、注目画素Pの周辺の未2値化画素P0、P1、P2、P3とし、それぞれの濃度をV0、V1、V2、V3とする。また、2値化のための閾値をTとすると、着目点Pにおける2値化誤差Eを周辺画素P0、P1、P2、P3の位置に、経験的に求めた重み係数W0、W1、W2、W3を用いて振り分ける。ここで、最大濃度をVmax、最小濃度をVminと表記し、注目画素の2値化後のデータをBとすると、上記の振り分けは次の通りである。
【0005】
V≧T ならば、B=1、 誤差E=V−Vmax
V<T ならば、B=0、 誤差E=V−Vmin (1)
そして、未2値化画素P0乃至P3に振り分ける際の値V0乃至V3は、
V0=V0+E×W0
V1=V1+E×W1
V2=V2+E×W2
V3=V3+E×W3
なお、入力画像全体の濃度に対して、2値化後の画像全体の濃度を等しくするため、一般には、W0+W1+W2+W3=1なるようにしている。例えば、W0=7/16、W1=1/16、W2=5/16,、W3=3/16である。
【0006】
さて、この手法を用いることで、入力した多値画像を、ドットを記録する/しないという2つの状態で記録するプリンタを用いたとしても、人間の目から見ると濃淡を有する画像(階調画像もしくは中間調画像)として知覚できる印刷が実現できる。
【0007】
さて、カラー画像を記録する場合であるが、通常、カラープリンタの場合、イエロー(Y)、マゼンタ(M)、シアン(C)、及び、ブラック(Bk)の各色成分のインクやトナー(記録材)を用いて印刷する。従って、各色成分毎に上記の誤差拡散法に基づいて2値化し、その2値化した結果に基づいてそれぞれの記録成分のヘッドを駆動すればよい。
【0008】
しかしながら、カラー画像は上記の通り、4つ(Bk成分の記録材がない場合には3つ)の色成分の互いのバランスによって色を表現するものである。従って、それぞれの色成分毎に独立した2値化処理を行うことは、互いの色成分が全く考慮されない状態で2値化するのと等価であり、例えば、比較的濃度の低い部分で2色以上が重なりあうことが多いと、必ずしも満足できる品位には至らないことがある。
【0009】
かかる問題を改良する例としては、例えば、特開平8-279920号公報、及び特開平11-10918号公報等がある。これらには、2色以上を組み合わせて誤差拡散法を用いることにより、2色以上が重なり合う場合においても良好な視覚特性の得られる擬似中問調処理方法が開示されている。
【0010】
【発明が解決しようとする課題】
しかしながら、上記の文献に記載された方法では、入力画素に対応する出力を決定する際に、比較器等によりその出力値を決定している。従って、例えば出力階調数を変更することを、ハードウェアにより実装されている場合には回路は複雑なものとなり、ソフトウェアにより実装されれている場合にはプログラムサイズが大きく、或いはより多くのメモリを必要とする。
【0011】
また、2色の出力階調数が異なる場合、例えばシアンの出力階調は4値であるがマゼンタは2値であるような場合、或いは、出力色数を3色以上に対応させようとした場合にも、同様に回路あるいはプログラムに大きな変更を加えなければ対応ができない。
【0012】
本発明はかかる点に鑑みなされたものであり、2色以上の多値画像データに対して誤差拡敬法を用いてより少ないビット数に量子化する場合に、汎用性を有し、且つ、量子化するビット数に応じて柔軟に対処できる画像処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体を提供しようとするものである。
【0013】
【課題を解決するための手段】
かかる課題を解決するため、本発明の画像処理装置は以下に示す構成を備える。すなわち、
N色(N≧2)以上の多値画像データを、当該多値画像データを表現する各色のビット数より少ないビット数に量子化する画像処理装置であって、
各色の多値データに、従前の各色の量子化によって発生した誤差をそれぞれ加算する加算手段と、
該加算手段による各色毎の加算結果を、より少ないビット数の多値データに変換すると共に、前記加算結果のデータと変換後の多値データとの距離を示す第1の距離情報、及び、前記加算結果のデータと前記変換後の多値データに隣接する隣接多値データとの距離を示す第2の距離情報を出力する第1のルックアップテーブルと、
N個の量子化後のデータを格納するN次元空間の第2のルックアップテーブルデータであって、前記第1のルックアップテーブルからの各色毎の、変換後のデータ及び前記第1、第2の距離情報をアドレスとして入力し、変換前の前記加算結果のデータを内包する複数の頂点位置それぞれのN個の量子化後のデータを出力する第2のルックアップテーブルと、
該第2のルックアップテーブルから出力された各頂点位置のN個の量子化後のデータを、各色毎の前記第1、第2の距離情報で決定される重み係数を用いて補間して、最終のN個の量子化後のデータを決定する決定手段と、
該決定手段で決定したN個の各色毎の量子化後のデータと前記加算手段による加算された各色毎の差分を、未量子化の画素位置に加算するための誤差として演算する演算手段とを備える。
【0014】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0015】
<第1の実施形態>
本第1の実施形態では、多値画像を構成する複数の色それぞれを2値化する場合に適用できるが、説明を簡単なものとするため、入力される多値画像データは2色で表されるものとする。また、各色は8ビットの多値画像データ(256階調の画像データ)であり、画像処理により2値データに変換し出力する装置を例にして説明する。出力先としては、2値出力装置であれば如何なるものでも構わないが、例えばインク液滴を吐出する/しないのプリンタ部であるとして説明する。また、入力元からは、多値画像データが入力できさえすれば良いので、その多値画像を記憶する記憶媒体(フロッピーディスクやCD−ROM等)、ネットワークを介しての受信、或いは、イメージスキャナー等であっても構わない。本実施形態の特徴は、多値画像データを入力し、それを2値化する画像処理の構成に特徴を有する。
【0016】
図1は本発明の第1の実施形態に係わる画像処理装置の構成を説明するブロック構成図である。
【0017】
同図において、I0、I1それぞれは多値(8ビット)の画素データであり、それぞれの色はシアン、マゼンタを表しているとする。これらの多値画素データI0、I1は、加算器1−0、1−1に入力され、既2値化画素位置で発生した誤差のうち、入力された画素位置に累積された誤差E0、E1(実施形態では、主走査方向における直前の画素位置で発生した誤差)と加算される。加算結果は、I'0I'1となって、出力決定部2に供給される。ここで加算する誤差であるが、その値は正負のいずれの場合も有り得る。それ故、入力した画素データI0、I1が0〜255の範囲内にあるとしても、加算器1−0、1−1での加算した結果は、その範囲を越えることも有り得る。この範囲は、−127〜383(128を閾値とし。この値以上と未満での出力を0/1に決定するとすれば、0〜255+128、−127をとれば充分であるので、0〜255±128)をとれば充分であるので、+127でかさあげすれば合計9ビットのデータをI'0I'1として出力する。
【0018】
出力決定部2は、図2に示すように、3つのルックアップテーブル(以下、LUT)7−0、7−1、及び4で構成し、かかる構成で2値化する。
【0019】
先ず、同図の構成する背景について説明する。
【0020】
実施形態では、2つの色の多値画素データを入力し、それぞれを2値化するものである。2つの色の2値化後のデータを(1色目、2色目)として表現すると、(0,0)、(0、1)、(1、0)、(1,1)の4通りしか存在しない。
【0021】
先に説明したように、注目画素位置に分配された誤差を足しこんだ後のデータI'0、I'1は、それぞれ9ビット必要になり、合計18ビットとなる。この18ビットを入力して上記の4通りのいずれか1つの2ビットに決定する場合、2×218=524388ビットのLUTテーブル用のメモリを必要とし、且つ、18ビット分のアドレス用の配線パターンも必要となり、低コストが望めない。また、普通、カラー画像を印刷する場合には最低でも3色必要とするわけであるから、現実には、2×227=268Mビットのメモリを用いてLUTを構成する必要があるので、なおさらである。
【0022】
すなわち、入力される値に対する出力パターンの取り得る種類が非常に少ないわけであるから、より簡潔な構造にすることが望まれる。
【0023】
そこで、実施形態では、図4に示す如く、加算結果であるデータI'0、I'1のビット数を減らすべく、LUT7−0、7−1に供給する。LUT7−0(7−1も同様)は、1入力に対し1出力の一次元LUTであり、入力される9ビットに応じて、例えば0〜8(=9個)のより小さな値に量子化して出力する。入力される多値データ(−127〜383)を9個に分割するのであれば、例えば次の様になる。
【0024】
入力値 出力値
−127〜−96 0
−95〜−31 1
−32〜 31 2
32〜 95 3
96〜157 4
160〜222 5
223〜286 6
287〜350 7
351〜383 8
かかる変換を実現するため、LUT7−0、7−1は図10に示すような内部構造を有している。図示において、左側が、アドレスとして入力されるI'0(もしくはI'1)であり、右側がその出力値(格納されている値)である。出力値は必ず0以上の整数であるので、符号ビットは不要であり、4ビットの出力g0(もしくはg1)となる。9ビット入力の4ビット出力に量子化するものであるから、LUT7−0(及び7−1)は、4×210=4096ビットのメモリで構成できる。なお、LUT7−0、7−1は、1入力であるため、一次元LUTと言うことができる。なお、LUT7−0、7−1及び後述するLUT4は書き換え可能なメモリで構成することが望ましい。
【0025】
LUT7−0、7−1からの出力値g0、g1(それぞれ4ビット)は、LUT4に供給される。LUT4は2入力LUTでもあるので、2次元LUTと言うことが出来よう。LUT4は合計8ビットをアドレス信号として入力し、2値化後の信号O0、O1(それぞれ1ビットで合計2ビット)を出力するわけであるから、2×28=512ビットのメモリで構成できる。
【0026】
すなわち、LUT7−0、7−1、及びLUT4を合わせたとしても、2048×2+512=4608ビットしか消費せず、且つ、4通りの出力しか存在しないわけであるから、この構造でもって充分な精度が得られる。また、3色の入力について考察しても、必要とするメモリ容量は先に示した場合と比較し遥かに少ないメモリで実現できるのは、これまでの説明から明らかであろう。
【0027】
さて、LUT4であるが、g0、g1の2入力(それぞれが0〜8の値を取り得る)であり、上記の如く2次元LUTと見なせる(3入力の場合には3次元LUTとなり、N入力に対してN次元LUTとなる)。
【0028】
そこで、このLUT4に格納している2値パターン(2種類の色の2値データとアドレスの関係)を図3に示すようにした。
【0029】
すなわち、2入力であるg0、g1を2軸とする座標空間において、両者が大きい領域では2値化後の出力値O0、O1は(1、1)となり、両者との低い領域では(0,0)となる。そして、g0が比較的大きく、g1が比較的小さい領域では(1、0)、その逆では(0、1)となるようなパターンを、LUT4に格納させておく。
【0030】
ここで重要な点は、g0、g1を2軸とする座標空間を4つの領域に分割する場合、(1,1)の領域と、(0、0)の領域とが接しないようにすることである。
【0031】
例えば、図16に示すような領域に分割した場合、2値化後のデータが(1,1)となる領域と、(0、0)の領域とが点Aで接している。かかる領域分割を行ってしまうと、点Aの近傍の濃度の2値化後のデータは不安定なパターンとなる。すなわち、点Aの近傍の濃度の画像が連続して入力された場合に、全てのパターンが取り得ることになり、しかもその中で(0、0)と(1、1)とが混在した中間調の画素が出力され易い。換言すれば、(1,1)のパターンは、2色とも濃い領域で発生することが望まれるにもかかわらず、濃度が中間的な状況でも発生する。
【0032】
かかる点、図3に示す領域にすると、(1,1)のパターンの近傍では(0、0)が発生せず、濃度が薄くなるに従って(1、0)や(0、1)を経たのち(0、0)になる。すなわち、最大濃度となるパターン(1,1)の領域と、最低濃度となるパターン(0,0)の領域とは距離的に離間し、その間を他のパターンの領域が占めるようにすることが望ましい。
【0033】
さて、実施形態のLUT4は図3に示す構造により、g0、g1の入力があると、座標空間中の1点が決定されるので、そのパターンをO0、O1として出力することになる。
【0034】
図1の説明に戻る。誤差計算部3−0は、図4に示す構造となっている。誤差計算部3−1は、誤差計算部3−0と同様の構造出よいので、図示では括弧で示した。
【0035】
誤差計算部3−0は、2値化後のデータO0(=0 or 1)を入力し、図5に示すごとく0(最低濃度)、255(最高濃度)のいずれかの値にして、それをO'0として出力するLUT5を備える。そして、このO'0と、補正後の注目画素値(注目画素値に誤差を加算した結果)I'0との差分を減算器6で算出し、その結果を注目画素位置で発生した誤差E0として出力する。これは誤差計算部3−1でも同様である。
【0036】
E0=I'0−O'0
E1=I'1−O'1
この誤差E0は、注目画素の次画素の入力時に、加算器1−0で足しこまれることになる。また、誤差計算部3−1からは、もう一方の色の誤差E1が出力され、加算器1−1で足しこまれることになる。
【0037】
尚、上記の例では、注目画素位置で発生した誤差(E0、E1)は、注目画素の次画素位置に100%の割合で足しこまれるものとして説明したが、通常の誤差拡散法と同様に、数ライン分のメモリを加算器1−0と誤差計算部3−0との間に設け、それぞれの注目画素に近接する複数の未2値化画素位置に、重みづけ係数に従って分配させるようにしても良いのは勿論である。
【0038】
また、先に説明したように、実施形態では2色の多値画素データを入力する例を説明したが、3色或いはそれ以上であっても構わないのは勿論である。また、入力される各色の多値データは8ビットとして説明したが、これによっても本願発明が限定されるわけでない。すなわち、図2で説明するのであれば、一次元LUT7−0(7−1も同様)ではNビットをMビット(M<N)に量子化する。そして、色数をLとしたとき、L×Mビットをアドレスとして入力するL次元ルックアップテーブル4を用意すれば良い。
【0039】
以上説明したように本実施形態によれば、複数色の多値データを入力し、それを2値化する場合に、それぞれの濃度が互いに濃い領域ではそれぞれの2値化後のデータは1とはなるものの、中間的な濃度については、それぞれの色の2値化後のデータが互いに1となることが無くなる。すなわち、比較的濃度の低い領域では、色が重なることがなくなり、良好な階調を再現することができるようになる。
【0040】
上記例では、ハードウェアでもって実現する例を示したが、汎用情報処理装置(例えばパーソナルコンピュータ等)で動作するソフトウェアでもって実現しても構わない。
【0041】
以下、ソフトウェアで実現する場合の処理手順を、図15に示されるフローチャートに従って説明する。
【0042】
なお、図15及び以下で説明するlut70()、lut71()、lut4(,)、lut5()は変数であり、それぞれLUT7−0、LUT7−0、LUT4、LUT5に対応するものである。
【0043】
先ず、ステップS1で2色それぞれの誤差値を格納する変数e0、e1をゼロで初期化し、ステップS2でlut70()、lut71()、lut4(,)、lut5()に、例えばハードディスク等に予めファイルとして格納されている変換データをロードし、各変数に格納する。
【0044】
次いで、ステップS3で、2色の多値画素データを入力し、それぞれを変数i0,i1に格納し、ステップS4において、演算誤差e0,e1を加算することで、i'0(I'0に対応する)及びi'1(I'1に対応する)を算出する。
【0045】
次いで、ステップS5で、変数lut70(i'0)、lut71(i'1)のデータを引き出し、それをlut4(,)に引き数として与えることで、2値化後のデータo0,o1を得る。その結果をステップS6で出力する。
【0046】
ステップS7では、次の画素に足しこむ演算誤差e0,e1を算出する。そして、ステップS8で全画素に対する処理が終了したと判断するまで、ステップS3以降の処理を繰り返すことになる。
【0047】
以上のように、本第1の実施形態は、ハード及びソフトウェアの両方でもって実現できるのは明らかである。
【0048】
以下に、他の実施形態について説明するが、それらに対しても同様にソフトウェアでもって実現できるのは明らかである。
【0049】
<第2の実施形態>
上記実施形態では2値化に適用した例を示したが、例えば出力装置としてのプリンタが3値、或いはそれ以上で階調表現することが可能になる場合もある。例えば、インク液滴を吐出するタイプのプリンタ部において、0回、1回、2回のインク液滴の吐出で3値を表現する場合である。或いは、同一色であるが、濃淡の異なるインクを使用する場合もある。そこで、本実施形態では、3値化する例を説明する。
【0050】
3値化するわけであるから、1つの色に対する出力データはバイナリ表現で00(=0)、01(=1)、10(=2)の3種類存在することになる。また、基本的な構成は、図1と同様である。異なるのは出力決定部2内における各ルックアップテーブル(LUT)7−0、7−1、4、及び誤差計算部3−0、3−1内のLUT5である。
【0051】
図11は、本第2の実施形態におけるLUT7−0、7−1のアドレスとその記憶されたデータを示している。図示の通り、アドレスが図10と比べて少ないのは、3値化の場合、発生する誤差が2値化と比べて小さなものとなるからである。また、変換後のデータは0〜6としているが、勿論、第1の実施形態と同様、0〜8としても良いし、それ以外であっても良い。ただし、この変換後のデータが2次元LUT4の一方のアドレスとして機能することになるので、余り広い範囲にしない方が良い。
【0052】
図6は出力決定部2におけるLUT4に格納されたデータを2次元的に示す図である。2つの色が最終的にそれぞれを3値化されるわけであるから、3値化後のデータを(1色目、2色目)として表現すると、
(0,0)、(0,1)、(0,2),
(1,0)、(1,1)、(1,2),
(2,0)、(2,1)、(2,2)
の9通りとなる。
【0053】
従って、図6では、入力値g0,g1を軸とする2次元空間を9個の領域に分割し、2つの色の濃度が共に濃い領域では(2,2)、両方とも中間的な濃度の場合は(1,1)、そして、両方とも薄い領域で(0,0)を割振り、後は、それぞれの濃度の大きさに応じた領域に対して他の3値化のデータを割り当てた。また、最高濃度から、最低濃度に移る際に、段階的なパターンを経て到達するのは第1の実施形態と同様である。
【0054】
3値化後のデータは各色とも0、1、2が存在するわけであるが、“0”は文字通り最低濃度を表わすデータであるから0、“2”は最高能動を表わすから255が対応し、“1”はその中間であるので128が割り当てられることになる。これを示すのが図7である。
【0055】
従って、本第2の実施形態では、図1における誤差計算部3−0(3−1も同様)内のLUT5は、入力した3値化後のデータO0が0の場合には0、1の場合には128、2の場合には255を出力する。これは誤差計算部3−1についても同様である。そして、これ以外は、上記第1の実施形態と同じであるので、その詳述は省略する。
【0056】
なお、本第2の実施形態でも、2色の多値データの入力に限定されるものではなく、3色或いはそれ以上のデータを入力しても構わないのも同様である。
【0057】
<第3の実施形態>
一般に、カラー画像を印刷するプリンタに着目した場合、その記録色成分としてはイエロー(Y)、マゼンタ(M)、シアン(C)(更にブラックBkを追加する場合もある)を用いて印刷する。
【0058】
ここで、イエローについて着目すると、その色は人の目の感度がさほど高くない。従って、イエローについては、マゼンタやシアンよりも低い階調表現でもさほど問題にはならない。本第3の実施形態では、全ての色を同じビット数に量子化するのではなく、異なるビット数に量子化する例を説明する。
【0059】
装置構成は、図1と実質的に同じであり、異なるのは各LUTである。
【0060】
説明を簡単なものとするため、上記実施形態と同様、2色入力で、1色目を3値化、2色目を2値化するものとして説明する。
【0061】
この場合、量子化後のデータを(1色目、2色目)で表現すると、
(0,0)、(0,1)、
(1,0)、(1,1)、
(2,0)、(2,1)
の6通り存在することがわかる。
【0062】
従って、出力決定部2の一次元LUT7−0は図11に示す内容でよいし、一次元LUT7−1は図10に示す内容でよい。
【0063】
また、2次元LUT4は、入力されるg0、g1によって表される空間を6つの領域に分割し、先に示した量子化後のパターンを当てはめ、そのパターンを記憶すれば良い。図8はその例である。
【0064】
また、誤差計算部3−0内のLUT5が入力するデータO0は3値、すなわち、0、1、2のいずれかであるので、0、1、2に対して0、128、255のいずれかを出力することになる。
【0065】
また、誤差計算部3−1内のLUT5が入力するデータO1は2値、すなわち、0、1のいずれかであるので、0、1に対して0、255のいずれかを出力すればよい。
【0066】
以上の結果、本第3の実施形態によれば、人間の視覚感度が低い色については、量子化後のビット数が減らしても、充分な階調表現が維持できることになり、しかも、LUT4へのアドレスのビット数も減らせることができ、結果的に、より少ないメモリ容量で装置を構成することができるという効果が得られる。
【0067】
なお、第3の実施形態でも入力は2色を例にして説明したが、3色或いはそれ以上でも構わないのは、これまでの説明からすれば容易に理解できよう。従って、本第3の実施形態での説明は、2色に限るものではない。
【0068】
<第4の実施形態>
上記第1乃至第3の実施形態においては、入力値に最も近い格子点を選択し、その格子点上にある値を出力値として採用した。つまり、図3、図6、図8に示すようなとびとびの座標群で構成される出力パターン領域のどの領域に入るかで出力パターンを決定した。換言すれば、本来は各領域の境界と領域との間にある場合であっても、いずれか領域に丸めて処理していることになる。
【0069】
そこで、本第4の実施形態では、例えば入力値を囲む4格子点、あるいは3格子点の値を参照し、これらの値を適当な重み付けにより補間して最終的な出力を決定し、領域と領域との中間位置にある場合に適したパターンを決定する例を説明する。
【0070】
図12は3格子点の値を参照しこれらの値を補間して出力値(本第4の実施形態では2値)を求めるための出力決定部2のブロック構成図を示している。
【0071】
図中、12−0、12−1は、上記第1乃至第3の実施形態における一次元LUT7−0、7−1に対応するものであり、13は同2次元LUT4に対応するものである。
【0072】
本第4の実施形態におけるLUT12−0、12−1それぞれは、g0、g1に加えて、dp0、dm0及びdp1、dm1を出力する。LUT12−0、12−1は、図14に示すようなデータ構造を成している。
【0073】
格子点選択及び重み決定部9は、これらのデータを入力し、LUT13が管理する9×9(図3と同様)の、注目画素の座標I'0、I'1に本来の座標(9×9の格子の中間位置にあることが多い)に最も近い3格子を決定し、その3格子の2値化データを得るため、LUT13を3回アドレスする。
【0074】
図13は、上記の3格子と、座標I'0、I'1の関係を示している。
【0075】
補間部10は、LUT13から出力される3組のデータを用い、dp0、dm0及びdp1、dm1で決定される重み係数(x座標及びy座標の2つ)を用いて、図13における注目画素位置の2値化後のデータを決定する。
【0076】
なお、本第4の実施形態においては、3点による補間方法を示したが、他にも4点を使う補間方法であっても良い。
【0077】
以上説明した第4の実施形態が有効に機能するのは、例えば図3における各領域の境界での2値化であるのは、容易に理解できよう。
【0078】
また、実施形態では、2値化について説明したが、3値化、或いはそれ以上の階調数への量子化に特に適したものとなる。
【0079】
以上第1乃至第4の実施形態では、出力対象としてプリンタを例にして説明したが、誤差拡散処理による出力対象装置であれば、例えば2値や3値のCRTでも良いし、場合によっては、出力装置に出力すべき画像データを一時的に記憶する記憶装置(フロッピーディスク等)をその出力対象としても構わない。また、画像データの入力元も如何なるものでも良いのは勿論である。
【0080】
更に、各実施形態は、ソフトウェアでもって実現できるものであるから、本発明はコンピュータプログラムをもその範疇に含むものである。通常、コンピュータプログラムをコンピュータで実行させるためには、そのプログラムを記憶したフロッピーやCD−ROM等の記憶媒体を、装置にセットし、装置のハードディスクにコピーもしくはインストールすることで行われる。従って、本発明はかかる記憶媒体をもその範疇とするものであるのは明らかである。
【0081】
【発明の効果】
以上説明したように本発明によれば、2色以上の多値画像データに対して誤差拡敬法を用いてより少ないビット数に量子化する場合に、汎用性を有し、且つ、量子化するビット数に応じて柔軟に対処できるようになる。
【図面の簡単な説明】
【図1】実施形態における画像処理装置のブロック構成図である。
【図2】図1における出力決定部のブロック構成図である。
【図3】図2のルックアップテーブル(LUT)4が記憶管理する2次元空間と出力データとの関係を示す図である。
【図4】図1における誤差計算部3−0、3−1のブロック構成図である。
【図5】図4のLUT5の入力値と出力値との関係を示す図である。
【図6】第2の実施形態におけるルックアップテーブル(LUT)4が記憶管理する2次元空間と出力データとの関係を示す図である。
【図7】第2の実施形態におけるLUT5の入力値と出力値との関係を示す図である。
【図8】第3の実施形態におけるルックアップテーブル(LUT)4が記憶管理する2次元空間と出力データとの関係を示す図である。
【図9】第2の実施形態における誤差計算部3−0、3−1内のLUT5の入力値と出力値との関係を示す図である。
【図10】第1の実施形態における図2のLUT7−0、7−1の入出力の関係を示す図である。
【図11】第2の実施形態における図2のLUT7−0、7−1の入出力の関係を示す図である。
【図12】第4の実施形態における出力決定部のブロック構成図である。
【図13】第4の実施形態における補間処理を説明するための図である。
【図14】図12におけるLUT12−0、12−1の入出力の関係を示す図である。
【図15】第1の実施形態をソフトウェアで実現する場合の処理手順を示すフローチャートである。
【図16】第1の実施形態におけるルックアップテーブル(LUT)4が記憶管理する望ましくない2次元空間と出力データとの関係を示す図である。
Claims (6)
- N色(N≧2)以上の多値画像データを、当該多値画像データを表現する各色のビット数より少ないビット数に量子化する画像処理装置であって、
各色の多値データに、従前の各色の量子化によって発生した誤差をそれぞれ加算する加算手段と、
該加算手段による各色毎の加算結果を、より少ないビット数の多値データに変換すると共に、前記加算結果のデータと変換後の多値データとの距離を示す第1の距離情報、及び、前記加算結果のデータと前記変換後の多値データに隣接する隣接多値データとの距離を示す第2の距離情報を出力する第1のルックアップテーブルと、
N個の量子化後のデータを格納するN次元空間の第2のルックアップテーブルデータであって、前記第1のルックアップテーブルからの各色毎の、変換後のデータ及び前記第1、第2の距離情報をアドレスとして入力し、変換前の前記加算結果のデータを内包する複数の頂点位置それぞれのN個の量子化後のデータを出力する第2のルックアップテーブルと、
該第2のルックアップテーブルから出力された各頂点位置のN個の量子化後のデータを、各色毎の前記第1、第2の距離情報で決定される重み係数を用いて補間して、最終のN個の量子化後のデータを決定する決定手段と、
該決定手段で決定したN個の各色毎の量子化後のデータと前記加算手段による加算された各色毎の差分を、未量子化の画素位置に加算するための誤差として演算する演算手段と
を備えることを特徴とする画像処理装置。 - 前記第2のルックアップテーブルが記憶管理するN次元空間は、前記第1のルックアップテーブルから出力される各色の多値データを高、中、低濃度を表現する値に分割したとき、全色が高濃度となる領域と、全色が低濃度となる領域とが互いに接しないように記憶管理されることを特徴とする請求項第1項に記載の画像処理装置。
- 前記量子化は、人間の知覚が鈍感な色の量子化数を、敏感な色の量子化数よりも小さくすることを特徴とする請求項第1項に記載の画像処理装置。
- N色(N≧2)以上の多値画像データを、当該多値画像データを表現する各色のビット数より少ないビット数に量子化する画像処理方法であって、
各色の多値データに、従前の各色の量子化によって発生した誤差をそれぞれ加算する加算工程と、
該加算工程による各色毎の加算結果を、より少ないビット数の多値データに変換すると共に、前記加算結果のデータと変換後の多値データとの距離を示す第1の距離情報、及び、前記加算結果のデータと前記変換後の多値データに隣接する隣接多値データとの距離を示す第2の距離情報を出力する第1のルックアップテーブルを用いて変換する第1の変換工程と、
N個の量子化後のデータを格納するN次元空間の第2のルックアップテーブルデータであって、前記第1のルックアップテーブルからの各色毎の、変換後のデータ及び前記第1、第2の距離情報をアドレスとして入力し、変換前の前記加算結果のデータを内包する複数の頂点位置それぞれのN個の量子化後のデータを出力する第2のルックアップテーブルを用いて、変換する第2の変換工程と、
該第2のルックアップテーブルから出力された各頂点位置のN個の量子化後のデータを、各色毎の前記第1、第2の距離情報で決定される重み係数を用いて補間して、最終のN個の量子化後のデータを決定する決定工程と、
該決定工程で決定したN個の各色毎の量子化後のデータと前記加算工程による加算された各色毎の差分を、未量子化の画素位置に加算するための誤差として演算する演算工程と
を備えることを特徴とする画像処理方法。 - コンピュータが読み込み実行することで、N色(N≧2)以上の多値画像データを、当該多値画像データを表現する各色のビット数より少ないビット数に量子化する画像処理装置として機能するコンピュータプログラムであって、
各色の多値データに、従前の各色の量子化によって発生した誤差をそれぞれ加算する加算手段と、
該加算手段による各色毎の加算結果を、より少ないビット数の多値データに変換すると共に、前記加算結果のデータと変換後の多値データとの距離を示す第1の距離情報、及び、前記加算結果のデータと前記変換後の多値データに隣接する隣接多値データとの距離を示す第2の距離情報を出力する第1のルックアップテーブルを用いて変換する第1の変換手段と、
N個の量子化後のデータを格納するN次元空間の第2のルックアップテーブルデータであって、前記第1のルックアップテーブルからの各色毎の、変換後のデータ及び前記第1、第2の距離情報をアドレスとして入力し、変換前の前記加算結果のデータを内包する複数の頂点位置それぞれのN個の量子化後のデータを出力する第2のルックアップテーブルを用いて、変換する第2の変換手段と、
該第2のルックアップテーブルから出力された各頂点位置のN個の量子化後のデータを、各色毎の前記第1、第2の距離情報で決定される重み係数を用いて補間して、最終のN個の量子化後のデータを決定する決定手段と、
該決定手段で決定したN個の各色毎の量子化後のデータと前記加算手段による加算された各色毎の差分を、未量子化の画素位置に加算するための誤差として演算する演算手段
として機能することを特徴とするコンピュータプログラム。 - 請求項第5項に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001308833A JP3870056B2 (ja) | 2001-10-04 | 2001-10-04 | 画像処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 |
US10/260,559 US7149351B2 (en) | 2001-10-04 | 2002-10-01 | Image processing apparatus and method, computer program and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001308833A JP3870056B2 (ja) | 2001-10-04 | 2001-10-04 | 画像処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003116014A JP2003116014A (ja) | 2003-04-18 |
JP3870056B2 true JP3870056B2 (ja) | 2007-01-17 |
Family
ID=19128077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001308833A Expired - Fee Related JP3870056B2 (ja) | 2001-10-04 | 2001-10-04 | 画像処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7149351B2 (ja) |
JP (1) | JP3870056B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4065532B2 (ja) | 2003-05-09 | 2008-03-26 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
US7167022B1 (en) * | 2004-03-25 | 2007-01-23 | Altera Corporation | Omnibus logic element including look up table based logic elements |
JP4067532B2 (ja) * | 2004-05-28 | 2008-03-26 | シャープ株式会社 | 色変換装置、画像形成装置、色変換方法、コンピュータプログラム及び記録媒体 |
JP5049465B2 (ja) | 2005-02-21 | 2012-10-17 | キヤノン株式会社 | 記録装置及び記録ヘッド |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5621546A (en) | 1993-11-02 | 1997-04-15 | Xerox Corporation | Method and apparatus for vector error diffusion with output color control |
CA2169902A1 (en) * | 1995-03-16 | 1996-09-17 | Allan Chiwan Cheung | Combined color halftoning |
JPH0916756A (ja) | 1995-06-30 | 1997-01-17 | Dainippon Screen Mfg Co Ltd | 色信号系変換装置 |
US5949965A (en) | 1997-06-23 | 1999-09-07 | Hewlett-Packard Company | Correlating cyan and magenta planes for error diffusion halftoning |
JP2002029072A (ja) | 2000-07-14 | 2002-01-29 | Canon Inc | インクジェット記録装置及びその方法、コンピュータ可読メモリ |
-
2001
- 2001-10-04 JP JP2001308833A patent/JP3870056B2/ja not_active Expired - Fee Related
-
2002
- 2002-10-01 US US10/260,559 patent/US7149351B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20030067633A1 (en) | 2003-04-10 |
JP2003116014A (ja) | 2003-04-18 |
US7149351B2 (en) | 2006-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2500837B2 (ja) | 画素値量子化方法 | |
US6118547A (en) | Image processing method and apparatus | |
JP3268512B2 (ja) | 画像処理装置および画像処理方法 | |
US6011878A (en) | Image processing method and apparatus | |
JP3337187B2 (ja) | 中間調画像において、色彩度を強調するための方法、および装置 | |
JP2006295318A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
JPH10271331A (ja) | 画像処理方法及びその装置 | |
JP4243854B2 (ja) | 画像処理装置、画像処理方法、画像処理プログラム、記憶媒体 | |
JPH05308515A (ja) | 画像中のピクセル値を量子化する方法 | |
JP3973734B2 (ja) | 電子イメージ処理システム及び処理方法 | |
US6285800B1 (en) | Apparatus and method for processing image | |
JP3870056B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体 | |
US5748772A (en) | Image processing method and apparatus including an error calculation for calculating a difference between the values of error correction data and stored representative values | |
JP2006074809A (ja) | 画像処理装置および画像処理方法 | |
JP4280473B2 (ja) | 画像処理装置および方法 | |
JP3683947B2 (ja) | 画像処理装置及び方法 | |
JPH0260770A (ja) | 画像処理装置 | |
JP3679522B2 (ja) | 画像処理方法及びその装置 | |
JP4589887B2 (ja) | 画像処理装置 | |
JP2755313B2 (ja) | 画像処理装置 | |
JP4208583B2 (ja) | 画像処理装置及びその方法とプログラム | |
JP2006148334A (ja) | 画像処理方法および記録システム | |
JP4185720B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2999786B2 (ja) | カラー画像処理方法 | |
JP3950871B2 (ja) | 画像処理方法及びその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040611 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060123 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060324 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060623 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060823 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060831 |
|
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: 20061006 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061016 |
|
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: 20091020 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131020 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |