JP2006067510A - Image processor, and image processing method - Google Patents

Image processor, and image processing method Download PDF

Info

Publication number
JP2006067510A
JP2006067510A JP2004250935A JP2004250935A JP2006067510A JP 2006067510 A JP2006067510 A JP 2006067510A JP 2004250935 A JP2004250935 A JP 2004250935A JP 2004250935 A JP2004250935 A JP 2004250935A JP 2006067510 A JP2006067510 A JP 2006067510A
Authority
JP
Japan
Prior art keywords
value
pixel
data
color component
group
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.)
Withdrawn
Application number
JP2004250935A
Other languages
Japanese (ja)
Inventor
Akiko Maru
晶子 丸
Hitoshi Nishigori
均 錦織
Daisaku Ide
大策 井手
Takeshi Yazawa
剛 矢澤
Michihiko Masuyama
充彦 増山
Hirokazu Yoshikawa
宏和 吉川
Hiroshi Tajika
博司 田鹿
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
Priority to JP2004250935A priority Critical patent/JP2006067510A/en
Publication of JP2006067510A publication Critical patent/JP2006067510A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide technologies for facilitating the changing of the number of output gradations or the changing of the number of output gradations for each color component even when a plurality of color components are combined to implement a method of error diffusion, and further, to reduce memory capacity required for performing error diffusion processing to be less than the conventional capacity. <P>SOLUTION: Binary data o0(o1) are found, by combining data g0(g1) resulting from normalizing pixel data I'0(I'1), resulting from adding error data E0(E1) to input pixel data I0(I1) into an integral value within a predetermined range. The difference between data o'0(o'1), resulting from normalizing the binary data o0(o1) into an integral value within a range that the input pixel data (I0, I1) can take, and the pixel data I'0(I'1) are then found as error data E0(E1). <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、誤差拡散処理のための技術に関するものである。   The present invention relates to a technique for error diffusion processing.

従来、多値データを2値で表現する疑似中間調処理として誤差拡散法が知られている(”An Adaptive Algorithm for Spatial Gray Scale” in society for Information Display 1975 Symposium Digest of Technical Papers, 1975, 36)。この方法は、着目画素をp、その濃度をv、着目画素pの周辺に位置する画素p0,p1,p2,p3の濃度をそれぞれv0,v1,v2,v3、2値化のための閾値をTとすると、先ず、着目画素pにおける2値化誤差Eを周辺画素p0,p1,p2,p3について経験的に求めた重み係数W0,W1,W2,W3で振り分けてマクロ的に平均濃度を元画像の濃度と等しくする方法である。このとき、着目画素を2値化した結果の出力2値データをoとすると、出力2値データは以下のようにして求める。   Conventionally, an error diffusion method is known as pseudo-halftone processing for expressing multilevel data in binary ("An Adaptive Algorithm for Spatial Gray Scale" in society for Information Display 1975 Symposium Digest of Technical Papers, 1975, 36). . In this method, the pixel of interest is p, its density is v, and the densities of pixels p0, p1, p2, and p3 located around the pixel of interest p are v0, v1, v2, v3, and threshold values for binarization. Assuming T, first, the binarization error E at the target pixel p is distributed by weight coefficients W0, W1, W2, and W3 empirically obtained for the surrounding pixels p0, p1, p2, and p3, and the average density is obtained in a macro manner. This is a method of equalizing the image density. At this time, if the output binary data obtained by binarizing the pixel of interest is o, the output binary data is obtained as follows.

v≧T ならば o=1,E=v−Vmax (1)
v<T ならば o=0,E=v−Vmin
(ただし、Vmax:最大濃度、Vmin:最小濃度)
v0=v0+E×W0 (2)
v1=v1+E×W1 (3)
v2=v2+E×W2 (4)
v3=v3+E×W3 (5)
(重み係数の例:W0=7/16,W1=1/16,W2=5/16,W3=3/16 )
従来ではこのような方法により、多色、例えば、カラーインクジェットプリンタ等で用いられるシアン、マゼンタ、イエロー、ブラックの4色を擬似中間調処理する場合には各色独立に上記誤差拡散法等を用いて処理を行っていたため、1色について見た場合には視覚特性が優れていても、2色以上が重なると必ずしも良好な視覚特性が得られなかった。
If v ≧ T, o = 1, E = v−Vmax (1)
If v <T, o = 0, E = v-Vmin
(However, Vmax: maximum density, Vmin: minimum density)
v0 = v0 + E × W0 (2)
v1 = v1 + E × W1 (3)
v2 = v2 + E × W2 (4)
v3 = v3 + E × W3 (5)
(Examples of weighting factors: W0 = 7/16, W1 = 1/16, W2 = 5/16, W3 = 3/16)
Conventionally, when such a method is used to perform pseudo-halftone processing of multiple colors, for example, cyan, magenta, yellow, and black, which are used in color ink jet printers, etc., the above error diffusion method is used independently for each color. Since the processing was performed, when one color was seen, even if the visual characteristics were excellent, good visual characteristics could not always be obtained when two or more colors overlapped.

この欠点を改良するために、従来技術としては、2色以上を組み合わせて誤差拡散法を用いることにより、2色以上が重なり合う場合においても良好な視覚特性の得られる擬似中間調処理技術が開示されている(特許文献1,2を参照)。   In order to improve this drawback, as a conventional technique, there is disclosed a pseudo halftone processing technique capable of obtaining good visual characteristics even when two or more colors overlap by using an error diffusion method by combining two or more colors. (See Patent Documents 1 and 2).

しかしながらこれらの方法では入力画素に対応する出力を決定する際に、比較器等によりその出力値を決定しているために、例えば出力階調数を変更する場合などにおいてはハードウェアにより実装されている場合には回路を、あるいはソフトウェアにより実装されている場合にはプログラムを大きく変更しなければならなかった。   However, in these methods, when the output corresponding to the input pixel is determined, the output value is determined by a comparator or the like. For example, when the number of output gradations is changed, it is implemented by hardware. If so, the circuit had to be changed significantly, or if implemented by software, the program had to be changed significantly.

また、2色のそれぞれの色の出力階調数が異なる場合、例えばシアンの出力階調は4値であるが、マゼンタは2値であるような場合、あるいは出力色数を3色以上に対応させようとした場合にも、同様に回路あるいはプログラムに大きな変更を加えなければ対応ができなかった。   Also, when the number of output gradations of each of the two colors is different, for example, the output gradation of cyan has four values, but magenta has two values, or the number of output colors corresponds to three or more colors. Similarly, even if it was attempted to do so, it could not be dealt with unless the circuit or program was significantly changed.

そのような問題を回避するための方法として、2色以上の多値画像信号を入力とし、各色に対して既に擬似階調処理が済んだ画素からの誤差信号を色毎にそれぞれ加算する加算手段と、各々の加算手段からの出力を入力としてLUT(ルックアップテーブル)を参照することにより色毎の疑似階調出力を決定する出力決定手段と、同出力決定手段からの色毎の出力と色毎の加算手段からの出力に基づいて着目画素における誤差を計算する色毎の誤差計算手段とを設けて処理を行う方法も従来考えられている。この構成によれば、2色以上を組み合わせて誤差拡散法を行う場合においても容易に複数の出力階調数に対応したり、色毎に異なる出力階調数を採用したりすることが可能な柔軟な処理を行うことが可能となる。   As a method for avoiding such a problem, adding means for inputting multi-value image signals of two or more colors and adding error signals from pixels that have already undergone pseudo-gradation processing for each color for each color. Output determining means for determining the pseudo gradation output for each color by referring to the LUT (Look Up Table) with the output from each adding means as input, and the output and color for each color from the output determining means A method of performing processing by providing an error calculation unit for each color that calculates an error in a pixel of interest based on an output from each addition unit has also been considered. According to this configuration, even when the error diffusion method is performed by combining two or more colors, it is possible to easily cope with a plurality of output gradation numbers or adopt different output gradation numbers for each color. Flexible processing can be performed.

しかし、この技術では組み合わせて処理する色数が3色、4色と増えるとLUTを3次元、4次元とするため、LUTのサイズが指数倍に大きくなる。そのため印刷装置の記憶容量もそれに従い大きくしなければならない。それは印刷装置の設計時において欠点となる。大きな記憶容量の記憶装置を積むためにコストもかかる。   However, in this technique, when the number of colors processed in combination increases to three colors and four colors, the LUT becomes three-dimensional and four-dimensional, so the LUT size increases exponentially. Therefore, the storage capacity of the printing apparatus must be increased accordingly. This is a drawback when designing a printing device. It is also expensive to load a storage device with a large storage capacity.

実際のインク色構成を見ると、特にグレーのような色で、シアンやマゼンタ、ブラック、イエロー、ライトシアン、ライトマゼンタ、ライトブラックなど多数色から構成される場合が多い。そして、シアンとマゼンタや、シアンとマゼンタとブラック、ブラックとライトブラックなどのドットが重なり合い、2色や3色、4色のドットが重なって発生するカラーのドットパターンが発生している場合が従来多く見られた。ドットが重なって発生するドットパターンにより粒状的なノイズとなったり、色の階調に滑らかさが失われたりする。ここで、上記の方法を用いると、2色までは良好であるが、3色の場合や4色の場合のLUTのサイズが2色の時よりずっと大きく、印刷装置にかける負担が増大したり、コストがかかったりするのである。
特開平8−279920号公報 特開平11−10918号公報
Looking at the actual ink color composition, it is often composed of a number of colors such as cyan, magenta, black, yellow, light cyan, light magenta, and light black, particularly in gray. In the conventional case, dots of cyan and magenta, cyan and magenta and black, black and light black, etc. are overlapped, resulting in a color dot pattern generated by overlapping two, three, or four color dots. Many were seen. Dot patterns generated by overlapping dots may result in granular noise, or the smoothness of color gradation may be lost. Here, if the above method is used, up to two colors are satisfactory, but the LUT size in the case of three colors or four colors is much larger than in the case of two colors, and the burden on the printing apparatus increases. It costs money.
JP-A-8-279920 Japanese Patent Laid-Open No. 11-10918

本発明は以上の問題に鑑みてなされたものであり、複数の色成分それぞれを組み合わせて誤差拡散法を行う場合であっても、出力階調数の変更や、色成分毎の出力階調数の変更を容易にするための技術を提供することを目的とする。   The present invention has been made in view of the above problems. Even when the error diffusion method is performed by combining a plurality of color components, the number of output gradations can be changed or the number of output gradations for each color component can be changed. It is an object of the present invention to provide a technique for facilitating the change of the system.

また、本発明の別の目的は、誤差拡散処理を行う際に要するメモリ量を従来よりも軽減させることを目的とする。   Another object of the present invention is to reduce the amount of memory required for performing error diffusion processing as compared with the prior art.

本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。   In order to achieve the object of the present invention, for example, an image processing method of the present invention comprises the following arrangement.

即ち、画像処理方法であって、
画素Pの色成分毎の画素値を入力する入力工程と、
前記入力工程で入力された色成分毎の画素値を、複数のグループに分割する分割工程と、
注目グループ内のそれぞれの色成分について従前に計算された誤差値を、当該注目グループ内のそれぞれの色成分の画素値に加算する加算工程と、
前記加算工程による加算処理後のそれぞれの色成分の画素値の組み合わせに応じて、前記分割時における前記注目グループ内のそれぞれの色成分の画素値をN値化(N≧2)するN値化工程と
前記N値化工程によりN値化された結果を出力する出力工程と、
前記N値化工程によりN値化されたそれぞれの色成分の画素値を、前記分割時における前記注目グループ内のそれぞれの色成分の画素値が取りうる範囲内に正規化する正規化工程と、
前記加算工程で加算処理後の前記注目グループ内のそれぞれの色成分の画素値と、前記正規化工程で正規化処理後の前記注目グループ内のそれぞれの色成分の画素値との差分値を計算する差分計算工程と、
前記差分計算工程でそれぞれの色成分について求めた差分値を、前記入力工程で前記画素Pの次に入力する画素Rにおいて前記注目グループに対応するグループ内のそれぞれの色成分に前記加算工程で加算すべき誤差値として保持する保持工程と、
前記加算工程、前記N値化工程、前記出力工程、前記正規化工程、前記差分計算工程、前記保持工程を前記分割工程で分割されたそれぞれのグループについて繰り返す繰り返し工程と
を備えることを特徴とする。
That is, an image processing method,
An input step of inputting a pixel value for each color component of the pixel P;
A division step of dividing the pixel values for each color component input in the input step into a plurality of groups;
An adding step of adding the error value previously calculated for each color component in the group of interest to the pixel value of each color component in the group of interest;
N-value conversion for converting the pixel values of the respective color components in the group of interest into N-values (N ≧ 2) according to the combination of the pixel values of the respective color components after the addition processing in the addition step. A process and an output process for outputting the result of N-value conversion by the N-value conversion process;
A normalization step of normalizing the pixel values of the respective color components that have been N-valued by the N-value conversion step within a range that can be taken by the pixel values of the respective color components in the group of interest at the time of the division;
The difference value between the pixel value of each color component in the target group after addition processing in the addition step and the pixel value of each color component in the target group after normalization processing in the normalization step is calculated. Differential calculation process to
The difference value obtained for each color component in the difference calculation step is added in the addition step to each color component in the group corresponding to the group of interest in the pixel R input next to the pixel P in the input step. Holding process to hold as an error value to be
A repetition step of repeating the addition step, the N-value conversion step, the output step, the normalization step, the difference calculation step, and the holding step for each group divided in the division step. .

本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。   In order to achieve the object of the present invention, for example, an image processing apparatus of the present invention comprises the following arrangement.

即ち、画像処理装置であって、
画素Pの色成分毎の画素値を入力する入力手段と、
前記入力手段が入力した色成分毎の画素値を、複数のグループに分割する分割手段と、
注目グループ内のそれぞれの色成分について従前に計算された誤差値を、当該注目グループ内のそれぞれの色成分の画素値に加算する加算手段と、
前記加算手段による加算処理後のそれぞれの色成分の画素値の組み合わせに応じて、前記分割時における前記注目グループ内のそれぞれの色成分の画素値をN値化(N≧2)するN値化手段と
前記N値化手段によりN値化された結果を出力する出力手段と、
前記N値化手段によりN値化されたそれぞれの色成分の画素値を、前記分割時における前記注目グループ内のそれぞれの色成分の画素値が取りうる範囲内に正規化する正規化手段と、
前記加算手段による加算処理後の前記注目グループ内のそれぞれの色成分の画素値と、前記正規化手段による正規化処理後の前記注目グループ内のそれぞれの色成分の画素値との差分値を計算する差分計算手段と、
前記差分計算手段がそれぞれの色成分について求めた差分値を、前記入力手段が前記画素Pの次に入力する画素Rにおいて前記注目グループに対応するグループ内のそれぞれの色成分に前記加算手段によって加算すべき誤差値として保持する保持手段と、
前記加算手段、前記N値化手段、前記出力手段、前記正規化手段、前記差分計算手段、前記保持手段による処理を前記分割手段で分割されたそれぞれのグループについて繰り返す繰り返し手段と
を備えることを特徴とする。
That is, an image processing apparatus,
Input means for inputting a pixel value for each color component of the pixel P;
A dividing unit that divides pixel values for each color component input by the input unit into a plurality of groups;
Adding means for adding the error value previously calculated for each color component in the group of interest to the pixel value of each color component in the group of interest;
N-value conversion for converting the pixel values of the respective color components in the group of interest into N-values (N ≧ 2) according to the combination of the pixel values of the respective color components after the addition processing by the addition means Means and output means for outputting the result of the N-value conversion by the N-value conversion means;
Normalizing means for normalizing the pixel values of the respective color components that have been N-valued by the N-value converting means within a range that can be taken by the pixel values of the respective color components in the group of interest at the time of the division;
The difference value between the pixel value of each color component in the group of interest after the addition process by the adding unit and the pixel value of each color component in the group of attention after the normalization process by the normalization unit is calculated. Difference calculation means to
The addition means adds the difference value obtained for each color component by the difference calculation means to each color component in the group corresponding to the group of interest in the pixel R that is input next to the pixel P by the input means. Holding means for holding as an error value to be
A repeating means for repeating the processing by the adding means, the N-value converting means, the output means, the normalizing means, the difference calculating means, and the holding means for each group divided by the dividing means. And

本発明の構成により、複数の色成分それぞれを組み合わせて誤差拡散法を行う場合であっても、出力階調数の変更や、色成分毎の出力階調数の変更を容易にすることができる。また、誤差拡散処理を行う際に要するメモリ量を従来よりも軽減させることができる。   According to the configuration of the present invention, even when the error diffusion method is performed by combining a plurality of color components, it is possible to easily change the number of output gradations and the number of output gradations for each color component. . In addition, the amount of memory required for performing error diffusion processing can be reduced as compared with the prior art.

以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。   Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.

[第1の実施形態]
図1は、本実施形態に係る画像処理装置の基本構成を示すブロック図である。本実施形態に係る画像処理装置は、8ビットの多値画素データを入力し、これに誤差拡散処理を行うことで2値データ(階調数=2)に変換する処理を行う。
[First Embodiment]
FIG. 1 is a block diagram showing a basic configuration of an image processing apparatus according to the present embodiment. The image processing apparatus according to the present embodiment inputs 8-bit multi-value pixel data and performs error diffusion processing on the data to convert it into binary data (number of gradations = 2).

同図においてI0,I1はそれぞれ入力画素の色0(例えばシアン)の画素データ、色1(例えばマゼンタ)の画素データである。それぞれの画素データは8ビットで表現されるため、1つの画素について各色成分の画素値は0〜255の値を取ることになる。入力画素データI0、I1はそれぞれ加算器1a、1bに入力される。   In the figure, I0 and I1 are pixel data of color 0 (for example, cyan) and pixel data of color 1 (for example, magenta), respectively. Since each pixel data is expressed by 8 bits, the pixel value of each color component takes a value of 0 to 255 for one pixel. Input pixel data I0 and I1 are input to adders 1a and 1b, respectively.

加算器1aは、入力画素データI0が示す画素値に、既に擬似階調処理が済んだ画素からの誤差データE0が示す誤差値を加算し、画素データI’0を生成する(I’0=I0+E0)。生成した画素データI’0は出力決定部2,及び誤差計算部3aに出力する。一方、加算器1bは、入力画素データI1が示す画素値に、既に擬似階調処理が済んだ画素からの誤差データE1が示す誤差値を加算し(I’1=I1+E1)、画素データI’1を生成する。生成した画素データI’1は出力決定部2,及び誤差計算部3bに出力する。誤差データE0、E1については後述する。   The adder 1a adds the error value indicated by the error data E0 from the pixel that has already undergone the pseudo gradation process to the pixel value indicated by the input pixel data I0 to generate pixel data I′0 (I′0 = I0 + E0). The generated pixel data I′0 is output to the output determination unit 2 and the error calculation unit 3a. On the other hand, the adder 1b adds the error value indicated by the error data E1 from the pixel already subjected to the pseudo gradation processing to the pixel value indicated by the input pixel data I1 (I′1 = I1 + E1), and the pixel data I ′. 1 is generated. The generated pixel data I′1 is output to the output determination unit 2 and the error calculation unit 3b. The error data E0 and E1 will be described later.

尚、加算器1a、1bに最初の入力画素データI0、I1が入力された場合、誤差データE0(E1)は存在しないので、何もせずに、入力画素データI0(I1)を入力画素データI’0(I’1)として出力決定部2、誤差計算部3a(3b)に出力する、もしくは、E0=E1=0として上記処理を行う。   When the first input pixel data I0 and I1 are input to the adders 1a and 1b, there is no error data E0 (E1), so nothing is done and the input pixel data I0 (I1) is input to the input pixel data I. The data is output to the output determination unit 2 and the error calculation unit 3a (3b) as' 0 (I'1), or the above processing is performed with E0 = E1 = 0.

ここで、出力決定部2について説明する。図2は、出力決定部2の基本構成を示すブロック図である。   Here, the output determination unit 2 will be described. FIG. 2 is a block diagram illustrating a basic configuration of the output determination unit 2.

同図において7a、7bは図10に示すような構成を有するLUT(ルックアップテーブル)で、それぞれ画素データI’0、I’1を受け、対応する値g0,g1を出力する。   In the figure, reference numerals 7a and 7b denote LUTs (look-up tables) having the configuration shown in FIG. 10, which respectively receive pixel data I'0 and I'1 and output corresponding values g0 and g1.

図10はLUT(7a、7b)の構成例を示す図である。同図に示す如く、LUT(7a、7b)は、画素データ(I’0、I’1)を0〜8の整数値に正規化する為のものである。よって、LUT7aに画素データI’0が入力されると、図10に示すテーブルにおいてこの画素データI’0に対応する出力データg0が出力される。また、LUT7bに画素データI’1が入力されると、図10に示すテーブルにおいてこの画素データI’1に対応する出力データg1が出力される。出力データg0,g1はそれぞれLUT4に入力される。   FIG. 10 is a diagram illustrating a configuration example of the LUT (7a, 7b). As shown in the figure, the LUT (7a, 7b) is for normalizing the pixel data (I'0, I'1) to an integer value of 0-8. Therefore, when the pixel data I'0 is input to the LUT 7a, output data g0 corresponding to the pixel data I'0 is output in the table shown in FIG. When the pixel data I'1 is input to the LUT 7b, output data g1 corresponding to the pixel data I'1 is output in the table shown in FIG. The output data g0 and g1 are input to the LUT 4 respectively.

LUT4は、入力されたデータg0が示す値、データg1が示す値の組み合わせにより、データg0に対応する2値データo0、データg1に対応する2値データo1を出力する。   The LUT 4 outputs binary data o0 corresponding to the data g0 and binary data o1 corresponding to the data g1 by a combination of the value indicated by the input data g0 and the value indicated by the data g1.

図3はLUT4について示した図である。以下、同図を用いてLUT4について説明する。図3(a)に示す如く、0≦g0≦8,0≦g1≦8(LUT7a、7bによる正規化範囲内)で、且つg0を一方の軸(同図では横軸)、g1を他方の軸(同図では縦軸)とする平面内には、出力データg0,g1のそれぞれのデータが示す値の組み合わせに応じて決まる2値データo0,o1が取りうる値の分布が配置されている。図3(a)において黒丸、白丸、黒三角、黒四角の記号が意味するところは図3(b)に示す。   FIG. 3 is a diagram showing the LUT 4. Hereinafter, the LUT 4 will be described with reference to FIG. As shown in FIG. 3 (a), 0 ≦ g0 ≦ 8, 0 ≦ g1 ≦ 8 (within the normalization range by LUTs 7a and 7b), and g0 is one axis (horizontal axis in the figure) and g1 is the other. A distribution of values that can be taken by the binary data o0, o1 determined according to the combination of the values indicated by the respective data of the output data g0, g1 is arranged in the plane having the axis (vertical axis in the figure). . In FIG. 3 (a), black circles, white circles, black triangles, and black squares mean as shown in FIG. 3 (b).

よって、例えばデータg0の値が「5」、データg1の値が「2」である場合には図3(a)に示す平面を参照すると黒三角であるので、図3(b)のテーブルを参照すると、o0=1,o1=0となっている。即ち、データg0の値が「5」である場合にはデータg0は「1」のデータo0に2値化され、データg1の値が「2」である場合にはデータg1は「0」のデータo1に2値化される。   Therefore, for example, when the value of the data g0 is “5” and the value of the data g1 is “2”, referring to the plane shown in FIG. 3A, it is a black triangle, so the table of FIG. Referring to it, o0 = 1 and o1 = 0. That is, when the value of the data g0 is “5”, the data g0 is binarized to the data o0 of “1”, and when the value of the data g1 is “2”, the data g1 is “0”. The data o1 is binarized.

このようにして出力決定部2は、画素データI’0、I’1をそれぞれ2値化し、2値データo0、o1を出力する。2値データo0、o1は本装置に入力された入力画素データI0、I1に対する誤差拡散処理結果として外部に出力される。   In this way, the output determination unit 2 binarizes the pixel data I′0 and I′1 and outputs binary data o0 and o1. The binary data o0 and o1 are output to the outside as an error diffusion processing result for the input pixel data I0 and I1 input to the apparatus.

また、次の画素データI0、I1が加算器1a、1bに入力された場合に、画素データI0、I1に加算される誤差データE0,E1を誤差計算部3a、3bが計算するために、2値データo0、o1はそれぞれ誤差計算部3a、3bに入力される。   Further, when the next pixel data I0 and I1 are input to the adders 1a and 1b, the error calculation units 3a and 3b calculate error data E0 and E1 to be added to the pixel data I0 and I1, respectively. The value data o0 and o1 are input to the error calculators 3a and 3b, respectively.

図4は、誤差計算部3a、3bの基本構成を示すブロック図である。2値データo0(o1)はLUT5に入力され、ここで、入力画素データ(I0、I1)が示す値の範囲内の整数値に正規化される。図5はLUT5の構成例を示す図である。   FIG. 4 is a block diagram showing a basic configuration of the error calculators 3a and 3b. The binary data o0 (o1) is input to the LUT 5, where it is normalized to an integer value within the range of values indicated by the input pixel data (I0, I1). FIG. 5 is a diagram illustrating a configuration example of the LUT 5.

LUT5は同図に示す如く、2値データo0(o1)の値が0であれば「0」に変換し、2値データo0(o1)の値が1であれば「255」に変換する為のテーブルである。よってLUT5からは、2値データo0(o1)を入力画素データ(I0、I1)が示す値の範囲内の整数値(0〜255)に正規化した結果o’0(o’1)が出力される。正規化結果のデータo’0(o’1)は減算機6に入力される。   The LUT 5 is converted to “0” if the value of the binary data o0 (o1) is 0, and is converted to “255” if the value of the binary data o0 (o1) is 1, as shown in FIG. It is a table. Therefore, the result o′0 (o′1) obtained by normalizing the binary data o0 (o1) to an integer value (0 to 255) within the range indicated by the input pixel data (I0, I1) is output from the LUT5. Is done. The normalized result data o′0 (o′1) is input to the subtracter 6.

減算機6には、正規化結果のデータo’0(o’1)と共に、加算器1a(1b)から出力された画素データI’0(I’1)が入力されるので、それぞれの差分を以下のようにして計算し、これを誤差データとして求める。   Since the pixel data I′0 (I′1) output from the adder 1a (1b) is input to the subtracter 6 together with the data o′0 (o′1) of the normalization result, Is calculated as follows and obtained as error data.

E0=I’0−o’0
E1=I’1−o’1
よって誤差計算部3aは上述のようにして誤差データE0を求めて保持し、誤差計算部3bは上述のようにして誤差データE1を求めて保持する。そして誤差計算部3aは求めた誤差データE0を加算器1aに出力し、誤差計算部3bは求めた誤差データE1を加算器1bに出力する。この誤差データE0、E1は、加算器1a、1bに次の入力画素データI0、I1が入力された場合に、それぞれに加算するためのものである。
E0 = I'0-o'0
E1 = I'1-o'1
Therefore, the error calculation unit 3a obtains and holds the error data E0 as described above, and the error calculation unit 3b obtains and holds the error data E1 as described above. Then, the error calculation unit 3a outputs the obtained error data E0 to the adder 1a, and the error calculation unit 3b outputs the obtained error data E1 to the adder 1b. The error data E0 and E1 are for addition when the next input pixel data I0 and I1 are input to the adders 1a and 1b, respectively.

そして以降、順次本画像処理装置に入力画素データI0、I1を入力すると、入力された入力画素データI0、I1に対する2値データo0、o1を求めて出力すると共に、次に入力される入力画素データI0、I1に加算すべき誤差データE0、E1の計算を行う。   Thereafter, when the input pixel data I0 and I1 are sequentially input to the image processing apparatus, binary data o0 and o1 corresponding to the input pixel data I0 and I1 are obtained and output, and the next input pixel data is input. Error data E0 and E1 to be added to I0 and I1 are calculated.

図17は、本実施形態に係る上記処理のフローチャートである。各ステップにおける処理については上述の通りであるので、ここでは簡単に行う。   FIG. 17 is a flowchart of the above processing according to the present embodiment. Since the processing in each step is as described above, it is simply performed here.

先ず入力画素データI0(I1)を加算器1a(1b)に入力すると(ステップS1701)、加算器1a(1b)は入力画素データI0(I1)が示す値に誤差データE0(E1)が示す値を加算して画素データI’0(I’1)を生成し、出力決定部2に出力する(ステップS1702)。尚、本ステップにおける処理が最初に行われる場合には、誤差データE0(E1)は存在しないので、本ステップにおける処理は行わずに処理をステップS1703に進めるか、E0=E1=0として本ステップにおける処理を行う。   First, when the input pixel data I0 (I1) is input to the adder 1a (1b) (step S1701), the adder 1a (1b) indicates the value indicated by the error data E0 (E1) to the value indicated by the input pixel data I0 (I1). Are added to generate pixel data I′0 (I′1), which are output to the output determination unit 2 (step S1702). When the process in this step is performed first, there is no error data E0 (E1). Therefore, the process proceeds to step S1703 without performing the process in this step, or this step is performed with E0 = E1 = 0. The process in is performed.

出力決定部2のLUT7a(7b)は、画素データI’0(I’1)の値を所定の範囲内の整数値に正規化したデータg0(g1)を生成し、そしてデータg0,g1の組み合わせによって2値データo0、o1を求める(ステップS1703)。   The LUT 7a (7b) of the output determination unit 2 generates data g0 (g1) obtained by normalizing the value of the pixel data I′0 (I′1) to an integer value within a predetermined range, and the data g0 and g1 Binary data o0 and o1 are obtained by the combination (step S1703).

そして出力決定部2は、この2つの2値データo0、o1をそれぞれ入力画素データI0、I1に対する誤差拡散結果として外部に出力される(ステップS1704)。   Then, the output determination unit 2 outputs the two binary data o0 and o1 to the outside as error diffusion results for the input pixel data I0 and I1, respectively (step S1704).

一方、この2値データo0、o1はそれぞれ誤差計算部3a、3bに入力される。誤差計算部3a(3b)は入力された2値データo0(o1)の値を入力画素データ(I0、I1)の値が取りうる範囲内の整数値に正規化したデータo’0(o’1)を生成し(ステップS1705)、これと加算器1a(1b)からの画素データI’0(I’1)との差分を誤差データE0(E1)として求める(ステップS1706)。   On the other hand, the binary data o0 and o1 are input to the error calculators 3a and 3b, respectively. The error calculation unit 3a (3b) normalizes the input binary data o0 (o1) to an integer value within a range that the input pixel data (I0, I1) can take. 1) is generated (step S1705), and the difference between this and the pixel data I′0 (I′1) from the adder 1a (1b) is obtained as error data E0 (E1) (step S1706).

そして処理をステップS1701に戻し、以降の処理を入力画素データの入力が無くなるまで行う。即ち以上の構成により、1つの画素に対する処理が完了するので、以上の処理を処理方向に1画素づつずらして繰り返すことにより1ライン分の処理を行い、さらに1ラスタづつずらして同様の処理をくり返すことにより画像全体に対する疑似階調処理が可能となる。   Then, the process returns to step S1701, and the subsequent processes are performed until there is no input pixel data input. In other words, the processing for one pixel is completed with the above configuration, so that the above processing is repeated by shifting one pixel at a time in the processing direction to perform processing for one line, and then the same processing is performed by shifting by one raster. By returning, pseudo gradation processing can be performed on the entire image.

また、LUT4、5は図3、図5に示す如く構成を有するので、例えば特開平8−279920号公報や特開平11−10918号公報等に開示されているような、2色を組み合わせて誤差拡散法を行うのと同じ効果が得られる。   Further, since the LUTs 4 and 5 are configured as shown in FIGS. 3 and 5, for example, two colors are combined to generate an error as disclosed in JP-A-8-279920 and JP-A-11-10918. The same effect as the diffusion method can be obtained.

なお、本実施形態ではN番目に入力された入力画素データに基づいて求めた誤差データを(N+1)番目に入力された入力画素データに重み付け無しに加算しているが、前回求めた誤差データに所定の重み付けを行って、今回入力された画素データに加算するようにしても良い。   In this embodiment, the error data obtained based on the Nth input pixel data is added to the (N + 1) th input pixel data without weighting, but the previously obtained error data is added. A predetermined weighting may be performed and added to the pixel data input this time.

また、本実施形態では入力画素データが8ビットの場合について説明したが、入力画素データがnビット(本実施形態ではn=8)である場合には、上記「255」なる数値は「2」となる。また、上記正規化処理における正規化範囲は上記範囲に限定するものではない。 In this embodiment, the case where the input pixel data is 8 bits has been described. However, when the input pixel data is n bits (n = 8 in this embodiment), the numerical value “255” is “2 n. " Further, the normalization range in the normalization process is not limited to the above range.

[第2の実施形態]
第1の実施形態では、入力画素データを2値化して出力していたが、本実施形態では3値化して出力する。即ち、出力するデータは3階調のものとなる。以下、入力画素データを3値化して出力する為の処理について説明するが、本実施形態に係る画像処理装置の構成については以下説明する点以外については第1の実施形態と同じである。
[Second Embodiment]
In the first embodiment, input pixel data is binarized and output, but in the present embodiment, it is binarized and output. That is, the data to be output has three gradations. Hereinafter, the process for ternizing the input pixel data and outputting it will be described. The configuration of the image processing apparatus according to this embodiment is the same as that of the first embodiment except for the points described below.

先ず、本実施形態では、出力を3値データとすべく、LUT7a、7bの構成が第1の実施形態とは異なる。図11は、本実施形態に係るLUT7a、7bの構成例を示す図である。LUT7a、7bの構成が第1の実施形態とは異なっても、その使用方法については第1の実施形態と同じである。   First, in the present embodiment, the configurations of the LUTs 7a and 7b are different from those of the first embodiment so that the output is ternary data. FIG. 11 is a diagram illustrating a configuration example of the LUTs 7a and 7b according to the present embodiment. Even if the configurations of the LUTs 7a and 7b are different from those of the first embodiment, the usage method is the same as that of the first embodiment.

また本実施形態では、出力を3値データとすべく、LUT4の構成についても第1の実施形態とは異なる。図6は、本実施形態に係るLUT4について示した図である。図6(a)に示す如く、0≦g0≦6,0≦g1≦6(LUT7a、7bによる正規化範囲内)で、且つg0を一方の軸(同図では横軸)、g1を他方の軸(同図では縦軸)とする平面内には、出力データg0,g1のそれぞれのデータが示す値の組み合わせに応じて決まる2値データo0,o1が取りうる値の分布が配置されている。図6(a)において白丸、黒丸、白三角、黒三角、白四角、黒四角、白星、黒星、二重丸の記号が意味するところは図6(b)に示す。   In this embodiment, the configuration of the LUT 4 is different from that of the first embodiment in order to make the output ternary data. FIG. 6 is a diagram showing the LUT 4 according to the present embodiment. As shown in FIG. 6A, 0 ≦ g0 ≦ 6, 0 ≦ g1 ≦ 6 (within the normalization range by LUTs 7a and 7b), and g0 is one axis (horizontal axis in the figure), and g1 is the other. A distribution of values that can be taken by the binary data o0, o1 determined according to the combination of the values indicated by the respective data of the output data g0, g1 is arranged in the plane having the axis (vertical axis in the figure). . In FIG. 6A, the meanings of white circle, black circle, white triangle, black triangle, white square, black square, white star, black star, and double circle are shown in FIG. 6B.

よって、例えばデータg0の値が「1」、データg1の値が「1」である場合には図6(a)に示す平面を参照すると白丸であるので、図6(b)のテーブルを参照すると、o0=0,o1=0となっている。即ち、データg0の値が「1」である場合にはデータg0は「0」のデータo0に3値化され、データg1の値が「1」である場合にはデータg1は「0」のデータo1に3値化される。   Therefore, for example, when the value of the data g0 is “1” and the value of the data g1 is “1”, the plane shown in FIG. 6A is a white circle, so refer to the table of FIG. 6B. Then, o0 = 0 and o1 = 0. That is, when the value of the data g0 is “1”, the data g0 is ternarized to the data o0 of “0”, and when the value of the data g1 is “1”, the data g1 is “0”. The data o1 is ternarized.

このようにして出力決定部2は、画素データI’0、I’1をそれぞれ3値化し、3値データo0、o1を出力する。3値データo0、o1は本装置に入力された入力画素データI0、I1に対する誤差拡散処理結果として外部に出力されると共に、それぞれ誤差計算部3a、3bに入力される。   In this way, the output determination unit 2 converts the pixel data I′0 and I′1 into three values and outputs ternary data o0 and o1. The ternary data o0 and o1 are output to the outside as error diffusion processing results for the input pixel data I0 and I1 input to this apparatus, and are also input to the error calculators 3a and 3b, respectively.

また、LUT5の構成についても、出力を3値データとすべく、第1の実施形態とは異なる。図7は、本実施形態に係るLUT5の構成例を示す図である。LUT5は同図に示す如く、3値データo0(o1)の値が0であれば「0」に変換し、3値データo0(o1)の値が1であれば「128」に変換し、3値データo0(o1)の値が2であれば「255」に変換する為のテーブルである。よってLUT5からは、3値データo0(o1)を入力画素データ(I0、I1)が示す値の範囲内の整数値(0〜255)に正規化した結果o’0(o’1)が出力される。正規化結果のデータo’0(o’1)は減算機6に入力される。   The configuration of the LUT 5 is also different from that of the first embodiment in order to make the output ternary data. FIG. 7 is a diagram illustrating a configuration example of the LUT 5 according to the present embodiment. The LUT 5 is converted to “0” if the value of the ternary data o0 (o1) is 0, and is converted to “128” if the value of the ternary data o0 (o1) is 1, as shown in FIG. If the value of the ternary data o0 (o1) is 2, this is a table for conversion to “255”. Therefore, the LUT 5 outputs a result o′0 (o′1) obtained by normalizing the ternary data o0 (o1) to an integer value (0 to 255) within the range of values indicated by the input pixel data (I0, I1). Is done. The normalized result data o′0 (o′1) is input to the subtracter 6.

即ち、第1,2の実施形態を比べても分かるように、出力階調数を変更しても、LUTの構成を変更するのみで、基本的な装置の構成、及び処理内容については変更しなくても良い。従って出力階調を変更した場合の基本処理のフローチャートについては図17に示したフローチャートと同じである(ステップS1704では「3値データ出力」とする点以外については)。   That is, as can be seen from the comparison between the first and second embodiments, even if the number of output gradations is changed, only the configuration of the LUT is changed, and the basic device configuration and processing contents are changed. It is not necessary. Accordingly, the flowchart of the basic process when the output gradation is changed is the same as the flowchart shown in FIG. 17 (except for the point that “ternary data output” is set in step S1704).

[第3の実施形態]
第1,2の実施形態では、出力決定部2から出力されるデータo0、o1は共に同じ階調数のものであったが(第1の実施形態では共に2階調、第2の実施形態では共に3階調)、本実施形態ではそれぞれの階調数を異ならせる。以下の説明ではo0を3階調(即ちo0は3値データ)、o1を2階調(即ちo1は2値データ)で出力する場合について説明する。尚、本実施形態に係る画像処理装置の構成については以下説明する点以外については第1の実施形態と同じである。
[Third Embodiment]
In the first and second embodiments, the data o0 and o1 output from the output determination unit 2 are both of the same number of gradations (both gradations in the first embodiment, the second embodiment In this embodiment, the number of gradations is varied. In the following description, a case where o0 is output in three gradations (that is, o0 is ternary data) and o1 is output in two gradations (that is, o1 is binary data) will be described. The configuration of the image processing apparatus according to this embodiment is the same as that of the first embodiment except for the points described below.

本実施形態に係るLUT7aは、出力が3階調であるために、図11に示した構成を備える。また、本実施形態に係るLUT7bは、出力が2階調であるために、図10に示した構成を備える。従って、本実施形態では、データg0,g1はそれぞれ異なる正規化範囲内でもって正規化されたものであり、データg0は画素データI’0を0〜6の整数値に正規化したものであり、データg1は画素データI’1を0〜8の整数値に正規化したものである。   The LUT 7a according to the present embodiment has the configuration shown in FIG. 11 because the output has three gradations. The LUT 7b according to the present embodiment has the configuration shown in FIG. 10 because the output has two gradations. Accordingly, in this embodiment, the data g0 and g1 are normalized within different normalization ranges, and the data g0 is obtained by normalizing the pixel data I′0 to an integer value of 0 to 6. , Data g1 is obtained by normalizing pixel data I′1 to an integer value of 0-8.

図8は、本実施形態に係るLUT4について示した図である。図8(a)に示す如く、0≦g0≦6,0≦g1≦8(LUT7a、7bによる正規化範囲内)で、且つg0を一方の軸(同図では横軸)、g1を他方の軸(同図では縦軸)とする平面内には、出力データg0,g1のそれぞれのデータが示す値の組み合わせに応じて決まる2値データo0,o1が取りうる値の分布が配置されている。図8(a)において白丸、黒丸、白三角、黒三角、白四角、黒四角の記号が意味するところは図8(b)に示す。   FIG. 8 is a diagram showing the LUT 4 according to the present embodiment. As shown in FIG. 8A, 0 ≦ g0 ≦ 6, 0 ≦ g1 ≦ 8 (within the normalization range by LUTs 7a and 7b), and g0 is one axis (horizontal axis in the figure) and g1 is the other. A distribution of values that can be taken by the binary data o0, o1 determined according to the combination of the values indicated by the respective data of the output data g0, g1 is arranged in the plane having the axis (vertical axis in the figure). . FIG. 8B shows the meanings of white circles, black circles, white triangles, black triangles, white squares, and black squares in FIG. 8A.

よって、例えばデータg0の値が「2」、データg1の値が「5」である場合には図8(a)に示す平面を参照すると白三角であるので、図8(b)のテーブルを参照すると、o0=0,o1=1となっている。即ち、データg0の値が「2」である場合にはデータg0は「0」のデータo0に3値化され、データg1の値が「5」である場合にはデータg1は「1」のデータo1に2値化される。   Therefore, for example, when the value of the data g0 is “2” and the value of the data g1 is “5”, referring to the plane shown in FIG. 8A, it is a white triangle, so the table of FIG. Referring to it, o0 = 0 and o1 = 1. That is, when the value of the data g0 is “2”, the data g0 is ternarized to the data o0 of “0”, and when the value of the data g1 is “5”, the data g1 is “1”. The data o1 is binarized.

このようにして出力決定部2は、画素データI’0を3値化すると共に、画素データI’1を2値化し、3値データo0、2値データo1を出力する。3値データo0、2値データo1は本装置に入力された入力画素データI0、I1に対する誤差拡散処理結果として外部に出力されると共に、それぞれ誤差計算部3a、3bに入力される。   In this way, the output determination unit 2 converts the pixel data I′0 into a ternary value, binarizes the pixel data I′1, and outputs a ternary data o0 and a binary data o1. The ternary data o0 and binary data o1 are output to the outside as error diffusion processing results for the input pixel data I0 and I1 input to this apparatus, and are also input to the error calculators 3a and 3b, respectively.

図9は、本実施形態に係るLUT5の構成例を示す図である。同図に示す如く、本実施形態に係るLUT5には、テーブル901のデータとテーブル902のデータとが含まれる。テーブル901の構成は第2の実施形態と同じ、即ち図7に示したものと同じであり、テーブル902の構成は第1の実施形態と同じ、即ち図5に示したものと同じである。このように、LUT5には、データo0、o1が示す階調数に応じたテーブルが登録されている。   FIG. 9 is a diagram illustrating a configuration example of the LUT 5 according to the present embodiment. As shown in the figure, the LUT 5 according to the present embodiment includes data of a table 901 and data of a table 902. The configuration of the table 901 is the same as that of the second embodiment, that is, the same as that shown in FIG. 7, and the configuration of the table 902 is the same as that of the first embodiment, that is, the same as that shown in FIG. In this manner, a table corresponding to the number of gradations indicated by the data o0 and o1 is registered in the LUT5.

よってテーブル901は同図に示す如く、3値データo0の値が0であれば「0」に変換し、3値データo0の値が1であれば「128」に変換し、3値データo0の値が2であれば「255」に変換する為のテーブルである。一方、テーブル902は同図に示す如く、2値データo1の値が0であれば「0」に変換し、2値データo1の値が1であれば「255」に変換する為のテーブルである。   Therefore, the table 901 is converted to “0” if the value of the ternary data o0 is 0, and is converted to “128” if the value of the ternary data o0 is 1, as shown in FIG. If the value of 2 is 2, this is a table for conversion to “255”. On the other hand, the table 902 is a table for conversion to “0” if the value of the binary data o1 is 0, and to “255” if the value of the binary data o1 is 1, as shown in FIG. is there.

よってLUT5からは、3値データo0を入力画素データ(I0、I1)が示す値の範囲内の整数値(0〜255)に正規化した結果o’0、2値データo1を入力画素データ(I0、I1)が示す値の範囲内の整数値(0〜255)に正規化した結果o’1が出力される。正規化結果のデータo’0(o’1)は減算機6に入力される。   Therefore, from the LUT 5, the ternary data o0 is normalized to an integer value (0 to 255) within the range of values indicated by the input pixel data (I0, I1), and the result o′0, the binary data o1 is input pixel data ( The result o′1 normalized to an integer value (0 to 255) within the range of values indicated by I0, I1) is output. The normalized result data o′0 (o′1) is input to the subtracter 6.

このように、出力のデータの階調数を互いに異ならせる場合には、上述のように、その階調数にあわせてLUTの構成をあわせればよいので、出力のデータの階調数は上記に限定するものではない。   In this way, when the number of gradations of the output data is different from each other, the LUT configuration may be adjusted according to the number of gradations as described above. It is not limited.

また、第1から3の実施形態のそれぞれについては入力画素データはI0,I1の2つである(2つの色成分)であるが、3以上としても良く、その場合には、入力数(上記実施形態では「2」)に応じて加算器を設け、更にそれぞれの加算器からの画素データを正規化するためのテーブル(上記実施形態ではLUT7a、7bに相当)を入力数に応じて設ける。当然それぞれのLUTの構成は、出力するデータの階調数にあわせて構成する。そして、これらのLUTからの出力の組み合わせに応じて、出力値を求めるためのLUT(上記実施形態ではLUT4に相当)を設ける。更に、各出力値を、入力画素データが取りうる値の範囲内の整数値に正規化するためのLUT(上記実施形態ではLUT5に相当)を設ける。   In each of the first to third embodiments, the input pixel data is two (two color components) I0 and I1, but may be three or more. In the embodiment, an adder is provided according to “2”), and a table for normalizing pixel data from each adder (corresponding to LUTs 7a and 7b in the above embodiment) is provided according to the number of inputs. Naturally, the configuration of each LUT is configured in accordance with the number of gradations of the output data. An LUT (corresponding to LUT 4 in the above embodiment) for obtaining an output value is provided in accordance with the combination of outputs from these LUTs. Furthermore, an LUT (corresponding to LUT 5 in the above embodiment) for normalizing each output value to an integer value within a range of values that can be taken by the input pixel data is provided.

[第4の実施形態]
上記実施形態ではLUT7a(7b)によって、画素データI’0(I’1)の値を、この値が取りうる範囲よりもかなり狭い範囲(第1の実施形態では0〜8)内の整数値g0(g1)に正規化していたが、実際にはこの正規化処理後のg0(g1)は整数値ではなく、実数値となるはずであり、上記実施形態ではこの実数値と整数値との差分を考慮していなかった。本実施形態では、この差分を考慮する。
[Fourth Embodiment]
In the above embodiment, the LUT 7a (7b) causes the value of the pixel data I′0 (I′1) to be an integer value within a range (0 to 8 in the first embodiment) that is considerably narrower than the range that this value can take. Although normalized to g0 (g1), g0 (g1) after this normalization processing should be a real value instead of an integer value. In the above embodiment, the real value and the integer value The difference was not taken into account. In this embodiment, this difference is taken into consideration.

図12は、本実施形態に係る出力決定部2の基本構成を示す図である。1201a(120b)は画素データI’0(I’1)に基づいてg0(g1)、dp0(dp1),dm0(dm1)を出力するLUTである。図14は、LUT1201a(1201b)の構成例を示す図である。同図に示す如く、LUT1201a(1201b)は、上記実施形態と同様に画素データI’0(I’1)の値を所定の範囲内(同図では0〜8)の整数値に正規化してg0(g1)を得るためのものであると共に、画素データI’0(I’1)の値に応じたdp0(dp1),dm0(dm1)を得るためのものである。   FIG. 12 is a diagram illustrating a basic configuration of the output determination unit 2 according to the present embodiment. An LUT 1201a (120b) outputs g0 (g1), dp0 (dp1), and dm0 (dm1) based on the pixel data I′0 (I′1). FIG. 14 is a diagram illustrating a configuration example of the LUT 1201a (1201b). As shown in the figure, the LUT 1201a (1201b) normalizes the value of the pixel data I′0 (I′1) to an integer value within a predetermined range (0 to 8 in the figure) as in the above embodiment. In addition to obtaining g0 (g1), dp0 (dp1) and dm0 (dm1) corresponding to the value of the pixel data I′0 (I′1) are obtained.

図13は、画素データI’0(I’1)の値を実際に所定の範囲内に正規化した場合に、近傍の整数値との距離dp0、dp1,dm0、dm1を示す図である。   FIG. 13 is a diagram illustrating distances dp0, dp1, dm0, and dm1 with neighboring integer values when the value of the pixel data I′0 (I′1) is actually normalized within a predetermined range.

同図において1351〜1354はそれぞれ、横軸にg0の値,縦軸にg1の値をとったグラフ上のg0,g1共に整数値となる格子点の位置を示す。また、1300は、このグラフ上において、座標(入力画素データI’0の値に対応するg0、I’1の値に対応するg1)における点の位置を示す。同図に示す如く、dp0、dm0はそれぞれ、軸g0方向で点1300に隣接する格子点1351(1354),1352(1353)のg0軸上の値を0〜255に正規化したときの値と、点1300のg0軸上の値を0〜255に正規化したときの値との距離を示すものであり、dp1、dm1はそれぞれ、軸g1方向で点1300に隣接する格子点1351(1352),(1353)1354のg1軸上の値を0〜255に正規化したときの値と、点1300のg1軸上の値を0〜255に正規化したときの値との距離を示すものである。このようなdp0、dp1,dm0、dm1が図14に示すテーブルには画素データI’0(I’1)毎に予め登録されている。   In the figure, reference numerals 1351 to 1354 denote the positions of lattice points on the graph in which g0 is the horizontal axis and g1 is the vertical axis, and both g0 and g1 are integer values. Reference numeral 1300 indicates the position of a point on the coordinates (g0 corresponding to the value of the input pixel data I′0, g1 corresponding to the value of I′1) on the graph. As shown in the figure, dp0 and dm0 are values obtained by normalizing the values on the g0 axis of grid points 1351 (1354) and 1352 (1353) adjacent to the point 1300 in the direction of the axis g0 to 0 to 255, respectively. , Dp1 and dm1 indicate lattice points 1351 (1352) adjacent to the point 1300 in the axis g1 direction, respectively, with respect to the value when the value on the g0 axis of the point 1300 is normalized to 0 to 255. , (1353) indicates the distance between the value when the value on the g1 axis of 1354 is normalized to 0 to 255 and the value when the value on the g1 axis of the point 1300 is normalized to 0 to 255. is there. Such dp0, dp1, dm0, dm1 are registered in advance in the table shown in FIG. 14 for each pixel data I′0 (I′1).

格子点選択及び重み決定部9は、LUT1201aからg0,dp0,dm0を受けると共に、LUT1201bからはg1,dp1,dm1を受ける。そして先ず、これらのデータから、図13に示したようなg0−g1平面上で座標(入力画素データI’0の値に対応するg0、I’1の値に対応するg1)に近い3点の格子点を特定する。特定方法については例えば、図13を用いて説明すると、dp0>dm0であれば、格子点1352,1353を候補とし、更にdp1>dm1であれば、格子点1353,1354が候補となる。この時点で候補になっていないのは格子点1354のみであるので、これ以外の格子点、即ち1351〜1353が候補となる。このようにしてg0,dp0,dm0、g1,dp1,dm1を用いれば、座標(入力画素データI’0の値に対応するg0、I’1の値に対応するg1)に近い3つの格子点を求めることができる。   The grid point selection and weight determination unit 9 receives g0, dp0, dm0 from the LUT 1201a and receives g1, dp1, dm1 from the LUT 1201b. First, from these data, three points close to coordinates (g0 corresponding to the value of the input pixel data I′0, g1 corresponding to the value of I′1) on the g0-g1 plane as shown in FIG. Specify the grid points. For example, the identification method will be described with reference to FIG. 13. If dp0> dm0, lattice points 1352 and 1353 are candidates, and if dp1> dm1, lattice points 1353 and 1354 are candidates. Since only the lattice point 1354 is not a candidate at this time, other lattice points, that is, 1351 to 1353 are candidates. If g0, dp0, dm0, g1, dp1, dm1 are used in this way, three grid points close to the coordinates (g0 corresponding to the value of the input pixel data I′0, g1 corresponding to the value of I′1) Can be requested.

また、格子点選択及び重み決定部9は、この3つの格子点に対する重み値wを計算するのであるが、これについては様々なものが考えられるが、例えば格子点1351と点1300との距離を格子点1351に対する重み、格子点1352と点1300との距離を格子点1352に対する重み、格子点1353と点1300との距離を格子点1353に対する重みとして求める。距離は、dp0、dp1,dm0、dm1を用いれば幾何学的に求めることができる。   The grid point selection and weight determination unit 9 calculates the weight value w for the three grid points, and various values can be considered for this. For example, the distance between the grid point 1351 and the point 1300 is calculated. The weight for the lattice point 1351, the distance between the lattice point 1352 and the point 1300 is obtained as the weight for the lattice point 1352, and the distance between the lattice point 1353 and the point 1300 is obtained as the weight for the lattice point 1353. The distance can be obtained geometrically by using dp0, dp1, dm0, dm1.

そして格子点選択及び重み決定部9は、この3つの格子点のg0,g1の値をLUT4に出力するので、LUT4からはそれぞれの格子点についてのo0、o1が出力されるので補間部10はこの3つの格子点について求めたo0、o1とそれぞれの格子点について求めた重みwを用いて入力画素データI0、I1に対する出力値を求める。   Since the grid point selection and weight determination unit 9 outputs the values of g0 and g1 of these three grid points to the LUT 4, the oUT and o1 for the respective grid points are output from the LUT 4, so that the interpolation unit 10 The output values for the input pixel data I0 and I1 are obtained using o0 and o1 obtained for these three lattice points and the weight w obtained for each lattice point.

ここで、o0−o1平面上において、3つの格子点のそれぞれの位置(o0、o1)と1つの点(入力画素データについて求めた出力データ)の位置(o0、o1)とが求まっており、且つそれぞれの格子点に対する重みwが求まっている場合に、この1つの点に対する値を計算する処理については周知のものであるので、これに関する説明は省略する。   Here, on the o0-o1 plane, the positions (o0, o1) of the three lattice points and the positions (o0, o1) of one point (output data obtained for the input pixel data) are obtained. In addition, when the weight w for each lattice point has been obtained, the process for calculating the value for this one point is well known, and a description thereof will be omitted.

これにより、3つの格子点との位置関係に応じて、入力画素データI0、I1に対する出力データo0、o1を求めることができる。なお、近傍の格子点の数を4にしても基本的に行うべき処理は同じである。   Accordingly, output data o0 and o1 for the input pixel data I0 and I1 can be obtained according to the positional relationship with the three lattice points. Even if the number of neighboring grid points is four, the processing to be basically performed is the same.

また、本実施形態に入力される入力画素データの数は2であるが、3以上であっても良い。   The number of input pixel data input in this embodiment is 2, but it may be 3 or more.

[第5の実施形態]
図15は、本実施形態に係る画像処理装置の基本構成を示す図である。本実施形態では、4以上の色を有する画像を扱う画像処理装置について説明する。実際に印刷装置では、シアン、マゼンタ、ブラック、ライトブラックの4色を用いて印刷するので、当然、印刷する画像のデータを構成する各画素にはこの4色の画像データが存在する。
[Fifth Embodiment]
FIG. 15 is a diagram illustrating a basic configuration of the image processing apparatus according to the present embodiment. In the present embodiment, an image processing apparatus that handles an image having four or more colors will be described. Actually, the printing apparatus prints using four colors of cyan, magenta, black, and light black, and naturally, the four colors of image data exist in each pixel constituting the image data to be printed.

同図に示したように、本実施形態に係る画像処理装置の構成は、図1に示した構成を2つ並列に並べたものとなる。そして一方の構成でもって入力画素データI0、I1に対する出力データo0、o1を出力し、他方の構成でもって入力画素データI2、I3に対する出力データo2、o3を出力する。それぞれの構成の装置は独立して動作する。また、同図においてI0、I1、I2、I3はそれぞれ色0(例えばシアン)の画素データ、色1(例えばマゼンタ)の画素データ、色2(例えばブラック)の画素データ、色3(例えばライトブラック)の画素データである。   As shown in the figure, the configuration of the image processing apparatus according to the present embodiment is obtained by arranging two configurations shown in FIG. 1 in parallel. The output data o0 and o1 for the input pixel data I0 and I1 is output with one configuration, and the output data o2 and o3 for the input pixel data I2 and I3 is output with the other configuration. Each configured device operates independently. In the figure, I0, I1, I2, and I3 are pixel data for color 0 (for example, cyan), pixel data for color 1 (for example, magenta), pixel data for color 2 (for example, black), and color 3 (for example, light black). ) Pixel data.

このような構成により、4色を処理する場合には、第1の実施形態と比べてもLUTの数、サイズは2倍となる。ここで例えば、4色の組み合わせで4次元のLUTを作れば、第1の実施形態と比べてもLUTの数は変わらないが、LUTのサイズは第1の実施形態と比べても2倍となる。このサイズの増加は、扱う色の数に応じて指数関数的に増加する。   With this configuration, when four colors are processed, the number and size of LUTs are doubled compared to the first embodiment. Here, for example, if a four-dimensional LUT is created with a combination of four colors, the number of LUTs does not change compared to the first embodiment, but the size of the LUT is twice that of the first embodiment. Become. This increase in size increases exponentially with the number of colors handled.

従って、第1の実施形態に係る装置を複数並列に並べた装置でもって複数色を扱うようにすれば、LUTのサイズの増加を抑えることができるので、結果として使用するメモリ量を従来よりも軽減させることができる。   Therefore, if a plurality of colors are handled by a device in which a plurality of devices according to the first embodiment are arranged in parallel, an increase in the size of the LUT can be suppressed. It can be reduced.

[第6の実施形態]
本実施形態では、7色のインクで構成される印刷装置で、7色のインクを用いて表現するカラー部分のデータを持つ画像を印刷することを想定している。
[Sixth Embodiment]
In the present embodiment, it is assumed that an image having data of a color portion expressed using seven colors of ink is printed by a printing apparatus configured with seven colors of ink.

7色のインク色を、濃度が近いものや、色相が近いものなど、ドットが重なった時の影響が大きいもの同士、2色、3色、2色の3組に分ける。このそれぞれに、第1の実施形態に係る装置を割り当て、それぞれの装置を独立に動作させれば、LUT数は3倍、LUTサイズは約3倍で、7色の処理を行うことができる。7色を1組として処理した場合は7次元のLUTを作ることとなり、LUTのサイズは膨大になる。   The seven ink colors are divided into three groups of two colors, three colors, and two colors that have a large influence when dots overlap, such as those with close densities and hues. If a device according to the first embodiment is assigned to each of these devices and each device is operated independently, the number of LUTs is three times, the LUT size is about three times, and seven color processing can be performed. When 7 colors are processed as one set, a 7-dimensional LUT is created, and the size of the LUT becomes enormous.

このようにして、扱う色の数が多くなっても、2色や3色といった小さい色数の組み合わせに分解することで、2色の場合の整数倍程度のLUTサイズで多色の処理ができる。   In this way, even when the number of colors to be handled increases, multi-color processing can be performed with an LUT size that is an integral multiple of the case of two colors by decomposing it into a combination of small colors such as two or three colors. .

[第7の実施形態]
シアン、マゼンタ、ブラック、ライトブラックの色のインクを含む印刷装置において、a*=b*=0となる領域では、ブラックとライトブラックの2色に対して、第1の実施形態に係る処理を行う。そして、a*=b*=0近辺でa*=b*=0を除く領域ではブラック・ライトブラックの2色とシアン・マゼンタの2色の2組に対して、第1の実施形態に係る処理を行う。図16は、本実施形態に係る処理内容を示す図である。同図に示すように、それぞれの色のパワーと色味を考慮し、印刷装置に負荷の少ない形で、誤差拡散処理を行うことができる。
[Seventh Embodiment]
In a printing apparatus that includes inks of cyan, magenta, black, and light black, in the region where a * = b * = 0, the process according to the first embodiment is performed for two colors of black and light black. Do. In the region near a * = b * = 0 and excluding a * = b * = 0, two sets of black and light black and two sets of cyan and magenta are used according to the first embodiment. Process. FIG. 16 is a diagram showing processing contents according to the present embodiment. As shown in the figure, the error diffusion process can be performed with less load on the printing apparatus in consideration of the power and color of each color.

[第8の実施形態]
図1に示した各部は、専用のハードウェアでもって構成するようにしても良いし、プログラムでもって実装するようにしても良い。
[Eighth Embodiment]
Each unit shown in FIG. 1 may be configured with dedicated hardware, or may be implemented with a program.

前者の場合にはLUTについてはROMで構成し、このROMには対応するテーブルのデータを格納する。そして図1に示した構成を有する画像処理装置を印刷装置等に組み込むようにすればよい。   In the former case, the LUT is composed of a ROM, and the corresponding table data is stored in this ROM. The image processing apparatus having the configuration shown in FIG. 1 may be incorporated into a printing apparatus or the like.

一方、後者の場合には、図1に示した各部は、印刷装置やコンピュータのCPUに、図1に示した各部が行うべき処理を実行させるためのプログラム(図17に示したフローチャートに従った処理をCPUに実行させるためのプログラム)の機能構成とすることができる。このようなプログラムは印刷装置内のROMに格納しておき、CPUがこれを実行するようにしても良いし、コンピュータのハードディスクドライブ装置に保存させておき、必要に応じてこれをRAMにロードし、CPUがこれを実行するようもしても良い。   On the other hand, in the latter case, each unit shown in FIG. 1 is a program (in accordance with the flowchart shown in FIG. 17) for causing the CPU of the printing apparatus or computer to execute processing to be performed by each unit shown in FIG. The functional configuration of a program for causing the CPU to execute processing may be employed. Such a program may be stored in the ROM in the printing device and executed by the CPU, or may be stored in the hard disk drive of the computer and loaded into the RAM as necessary. The CPU may execute this.

図18は、このようなコンピュータの基本構成を示すブロック図である。   FIG. 18 is a block diagram showing the basic configuration of such a computer.

1801はCPUで、RAM1802やROM1803に格納されているプログラムやデータを用いて本コンピュータ全体の制御を行うと共に、例えば上記各実施形態に係る処理を行う。   Reference numeral 1801 denotes a CPU which controls the entire computer using programs and data stored in the RAM 1802 and ROM 1803, and performs, for example, processing according to the above embodiments.

1802はRAMで、外部記憶装置186からロードされたプログラムやデータを一時的に記憶する為のエリアを備えると共に、CPU1801が各種の処理を行うために使用するワークエリアを備える。   Reference numeral 1802 denotes a RAM which includes an area for temporarily storing programs and data loaded from the external storage device 186 and a work area used by the CPU 1801 for performing various processes.

1803はROMで、本コンピュータの設定データや、ブートプログラムを格納する。   Reference numeral 1803 denotes a ROM which stores setting data of the computer and a boot program.

1804は操作部で、マウスやキーボードなどにより構成されており、各種の指示をCPU1801に対して入力することができる。   An operation unit 1804 includes a mouse, a keyboard, and the like, and can input various instructions to the CPU 1801.

1805は表示部で、CRTや液晶画面などにより構成されており、CPU1801による処理結果を画像や文字などでもって表示することができる。   A display unit 1805 includes a CRT, a liquid crystal screen, and the like, and can display a processing result by the CPU 1801 using an image, text, or the like.

1806は外部記憶装置で、ハードディスクドライブ装置などに代表される大容量情報記憶装置であって、ここにOS(オペレーティングシステム)や、CPU1801に上記各実施形態に係る処理を実行させるために必要なプログラムやデータが保存されており、これらの一部、もしくは全部はCPU1801の制御によりRAM1802にロードされ、CPU1801の処理対象となる。なお、処理対象の画像のデータをここに保存するようにしても良い。   Reference numeral 1806 denotes an external storage device, which is a large-capacity information storage device typified by a hard disk drive device or the like. Are stored in the RAM 1802 under the control of the CPU 1801 and are processed by the CPU 1801. Note that the image data to be processed may be stored here.

1807はI/Fで、外部機器とのデータ通信を行うためのものであり、例えば処理対象の画像のデータを外部機器から入力することができる。   An I / F 1807 is used for data communication with an external device. For example, image data to be processed can be input from the external device.

1808は上述の各部を繋ぐバスである。   Reference numeral 1808 denotes a bus connecting the above-described units.

同図に示した構成は、例えば一般のPC(パーソナルコンピュータ)やWS(ワークステーション)の基本構成としても良いし、印刷装置のプリント処理部分以外の制御系、操作系、表示系の基本構成とするようにしても良い。   The configuration shown in the figure may be, for example, a basic configuration of a general PC (personal computer) or WS (workstation), or a basic configuration of a control system, an operation system, or a display system other than the print processing portion of the printing apparatus. You may make it do.

[その他の実施形態]
本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
[Other Embodiments]
The present invention can take an embodiment as, for example, a system, apparatus, method, program, or storage medium. Specifically, the present invention may be applied to a system including a plurality of devices, Moreover, you may apply to the apparatus which consists of one apparatus.

尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。   In the present invention, a software program (in the embodiment, a program corresponding to the flowchart shown in the figure) that realizes the functions of the above-described embodiment is directly or remotely supplied to the system or apparatus, and the computer of the system or apparatus Is also achieved by reading and executing the supplied program code.

従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, or the like.

プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。   As a recording medium for supplying the program, for example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card ROM, DVD (DVD-ROM, DVD-R) and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   As another program supply method, a client computer browser is used to connect to an Internet homepage, and the computer program of the present invention itself or a compressed file including an automatic installation function is downloaded from the homepage to a recording medium such as a hard disk. Can also be supplied. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on the instruction of the program is a part of the actual processing. Alternatively, the functions of the above-described embodiment can be realized by performing all of them and performing the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。   Furthermore, after the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or The CPU or the like provided in the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.

本発明の第1の実施形態に係る画像処理装置の基本構成を示すブロック図である。1 is a block diagram illustrating a basic configuration of an image processing apparatus according to a first embodiment of the present invention. 出力決定部2の基本構成を示すブロック図である。3 is a block diagram illustrating a basic configuration of an output determination unit 2. FIG. LUT4について示した図である。It is the figure shown about LUT4. 誤差計算部3a、3bの基本構成を示すブロック図である。It is a block diagram which shows the basic composition of the error calculation parts 3a and 3b. LUT5の構成例を示す図である。It is a figure which shows the structural example of LUT5. 本発明の第2の実施形態に係るLUT4について示した図である。It is the figure shown about LUT4 which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係るLUT5の構成例を示す図である。It is a figure which shows the structural example of LUT5 which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施形態に係るLUT4について示した図である。It is the figure shown about LUT4 which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施形態に係るLUT5の構成例を示す図である。It is a figure which shows the structural example of LUT5 which concerns on the 3rd Embodiment of this invention. LUT(7a、7b)の構成例を示す図である。It is a figure which shows the structural example of LUT (7a, 7b). 本発明の第2の実施形態に係るLUT7a、7bの構成例を示す図である。It is a figure which shows the structural example of LUT7a, 7b which concerns on the 2nd Embodiment of this invention. 本発明の第4の実施形態に係る出力決定部2の基本構成を示す図である。It is a figure which shows the basic composition of the output determination part 2 which concerns on the 4th Embodiment of this invention. 画素データI’0(I’1)の値を実際に所定の範囲内に正規化した場合に、近傍の整数値との距離dp0、dp1,dm0、dm1を示す図である。FIG. 6 is a diagram illustrating distances dp0, dp1, dm0, and dm1 from neighboring integer values when the value of pixel data I′0 (I′1) is actually normalized within a predetermined range. LUT1201a(1201b)の構成例を示す図である。It is a figure which shows the structural example of LUT1201a (1201b). 本発明の第5の実施形態に係る画像処理装置の基本構成を示す図である。It is a figure which shows the basic composition of the image processing apparatus which concerns on the 5th Embodiment of this invention. 本発明の第7の実施形態に係る処理内容を示す図である。It is a figure which shows the processing content which concerns on the 7th Embodiment of this invention. 本発明の第1の実施形態に係る処理のフローチャートである。It is a flowchart of the process which concerns on the 1st Embodiment of this invention. コンピュータの基本構成を示すブロック図である。It is a block diagram which shows the basic composition of a computer.

Claims (7)

画像処理方法であって、
画素Pの色成分毎の画素値を入力する入力工程と、
前記入力工程で入力された色成分毎の画素値を、複数のグループに分割する分割工程と、
注目グループ内のそれぞれの色成分について従前に計算された誤差値を、当該注目グループ内のそれぞれの色成分の画素値に加算する加算工程と、
前記加算工程による加算処理後のそれぞれの色成分の画素値の組み合わせに応じて、前記分割時における前記注目グループ内のそれぞれの色成分の画素値をN値化(N≧2)するN値化工程と
前記N値化工程によりN値化された結果を出力する出力工程と、
前記N値化工程によりN値化されたそれぞれの色成分の画素値を、前記分割時における前記注目グループ内のそれぞれの色成分の画素値が取りうる範囲内に正規化する正規化工程と、
前記加算工程で加算処理後の前記注目グループ内のそれぞれの色成分の画素値と、前記正規化工程で正規化処理後の前記注目グループ内のそれぞれの色成分の画素値との差分値を計算する差分計算工程と、
前記差分計算工程でそれぞれの色成分について求めた差分値を、前記入力工程で前記画素Pの次に入力する画素Rにおいて前記注目グループに対応するグループ内のそれぞれの色成分に前記加算工程で加算すべき誤差値として保持する保持工程と、
前記加算工程、前記N値化工程、前記出力工程、前記正規化工程、前記差分計算工程、前記保持工程を前記分割工程で分割されたそれぞれのグループについて繰り返す繰り返し工程と
を備えることを特徴とする画像処理方法。
An image processing method comprising:
An input step of inputting a pixel value for each color component of the pixel P;
A division step of dividing the pixel values for each color component input in the input step into a plurality of groups;
An adding step of adding the error value previously calculated for each color component in the group of interest to the pixel value of each color component in the group of interest;
N-value conversion for converting the pixel values of the respective color components in the group of interest into N-values (N ≧ 2) according to the combination of the pixel values of the respective color components after the addition processing in the addition step. A process and an output process for outputting the result of N-value conversion by the N-value conversion process;
A normalization step of normalizing the pixel values of the respective color components that have been N-valued by the N-value conversion step within a range that can be taken by the pixel values of the respective color components in the group of interest at the time of the division;
The difference value between the pixel value of each color component in the target group after addition processing in the addition step and the pixel value of each color component in the target group after normalization processing in the normalization step is calculated. Difference calculation step to
The difference value obtained for each color component in the difference calculation step is added in the addition step to each color component in the group corresponding to the group of interest in the pixel R input next to the pixel P in the input step. Holding process to hold as an error value to be
A repetition step of repeating the addition step, the N-value conversion step, the output step, the normalization step, the difference calculation step, and the holding step for each group divided in the division step. Image processing method.
前記N値化工程では、前記加算工程による加算処理後の色成分毎の画素値を所定範囲内に正規化し、正規化されたそれぞれの色成分の画素値の組み合わせに応じてグループ内のそれぞれの色成分の画素値をN値化することを特徴とする請求項1に記載の画像処理方法。   In the N-value conversion step, the pixel value for each color component after the addition processing in the addition step is normalized within a predetermined range, and each of the components in the group according to the combination of the normalized pixel values of the color components The image processing method according to claim 1, wherein the pixel value of the color component is converted to an N-value. 前記Nはそれぞれの色成分で異なりうることを特徴とする請求項1又は2に記載の画像処理方法。   The image processing method according to claim 1, wherein the N can be different for each color component. 前記分割工程では、前記入力工程で入力された色成分毎の画素値を、濃度が近い色成分のグループ、もしくは色相が近い色成分のグループに分割することを特徴とする請求項1乃至3の何れか1項に記載の画像処理方法。   4. The division step according to claim 1, wherein the pixel value for each color component input in the input step is divided into a color component group having a close density or a color component group having a close hue. The image processing method according to claim 1. 画像処理装置であって、
画素Pの色成分毎の画素値を入力する入力手段と、
前記入力手段が入力した色成分毎の画素値を、複数のグループに分割する分割手段と、
注目グループ内のそれぞれの色成分について従前に計算された誤差値を、当該注目グループ内のそれぞれの色成分の画素値に加算する加算手段と、
前記加算手段による加算処理後のそれぞれの色成分の画素値の組み合わせに応じて、前記分割時における前記注目グループ内のそれぞれの色成分の画素値をN値化(N≧2)するN値化手段と
前記N値化手段によりN値化された結果を出力する出力手段と、
前記N値化手段によりN値化されたそれぞれの色成分の画素値を、前記分割時における前記注目グループ内のそれぞれの色成分の画素値が取りうる範囲内に正規化する正規化手段と、
前記加算手段による加算処理後の前記注目グループ内のそれぞれの色成分の画素値と、前記正規化手段による正規化処理後の前記注目グループ内のそれぞれの色成分の画素値との差分値を計算する差分計算手段と、
前記差分計算手段がそれぞれの色成分について求めた差分値を、前記入力手段が前記画素Pの次に入力する画素Rにおいて前記注目グループに対応するグループ内のそれぞれの色成分に前記加算手段によって加算すべき誤差値として保持する保持手段と、
前記加算手段、前記N値化手段、前記出力手段、前記正規化手段、前記差分計算手段、前記保持手段による処理を前記分割手段で分割されたそれぞれのグループについて繰り返す繰り返し手段と
を備えることを特徴とする画像処理装置。
An image processing apparatus,
Input means for inputting a pixel value for each color component of the pixel P;
A dividing unit that divides pixel values for each color component input by the input unit into a plurality of groups;
Adding means for adding the error value previously calculated for each color component in the group of interest to the pixel value of each color component in the group of interest;
N-value conversion for converting the pixel values of the respective color components in the group of interest into N-values (N ≧ 2) according to the combination of the pixel values of the respective color components after the addition processing by the addition means Means and output means for outputting the result of the N-value conversion by the N-value conversion means;
Normalizing means for normalizing the pixel values of the respective color components that have been N-valued by the N-value converting means within a range that can be taken by the pixel values of the respective color components in the group of interest at the time of the division;
The difference value between the pixel value of each color component in the group of interest after the addition process by the addition unit and the pixel value of each color component in the group of interest after the normalization process by the normalization unit is calculated. Difference calculation means to
The addition means adds the difference value obtained for each color component by the difference calculation means to each color component in the group corresponding to the group of interest in the pixel R that is input next to the pixel P by the input means. Holding means for holding as an error value to be
A repeating means for repeating the processing by the adding means, the N-value converting means, the output means, the normalizing means, the difference calculating means, and the holding means for each group divided by the dividing means. An image processing apparatus.
コンピュータに請求項1乃至4の何れか1項に記載の画像処理方法を実行させることを特徴とするプログラム。   A program causing a computer to execute the image processing method according to any one of claims 1 to 4. 請求項6に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the program according to claim 6.
JP2004250935A 2004-08-30 2004-08-30 Image processor, and image processing method Withdrawn JP2006067510A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004250935A JP2006067510A (en) 2004-08-30 2004-08-30 Image processor, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004250935A JP2006067510A (en) 2004-08-30 2004-08-30 Image processor, and image processing method

Publications (1)

Publication Number Publication Date
JP2006067510A true JP2006067510A (en) 2006-03-09

Family

ID=36113539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004250935A Withdrawn JP2006067510A (en) 2004-08-30 2004-08-30 Image processor, and image processing method

Country Status (1)

Country Link
JP (1) JP2006067510A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020617A (en) * 2007-07-10 2009-01-29 Canon Inc Image processor, image processing method, and ink jet recording device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020617A (en) * 2007-07-10 2009-01-29 Canon Inc Image processor, image processing method, and ink jet recording device

Similar Documents

Publication Publication Date Title
JP4533218B2 (en) Image processing apparatus, image processing method, and image processing program
JP4243854B2 (en) Image processing apparatus, image processing method, image processing program, and storage medium
JP7005314B2 (en) Image processing equipment, image processing methods, and programs
US7889394B2 (en) Image processing apparatus and method
JP3992789B2 (en) Input image conversion method and pixel value quantization method
JP2010103861A (en) Image processing apparatus and image processing method
JP2009071831A (en) Image processor, image processing method, and image forming apparatus
US20060197989A1 (en) Multi-configured halftone system
JP2006067510A (en) Image processor, and image processing method
JP2003069819A (en) Image processor and image processing method
JP4525916B2 (en) Image forming apparatus, image forming method, image processing apparatus, and image processing method
JP3870056B2 (en) Image processing apparatus and method, computer program, and computer-readable storage medium
JPH10229501A (en) Image processing device and method
JP4208583B2 (en) Image processing apparatus and method and program thereof
JP2004282344A (en) Image processing method
JP2012028953A (en) Image processor and image processing method
JPH11339032A (en) Image processing method and device therefor
JP2006261764A (en) Image processing method and apparatus, and image forming apparatus
JPH0556263A (en) Printer
JP4541181B2 (en) Color image processing device
US6765694B1 (en) Color image processor
JP2005341142A (en) Image processor, processing method and program, and recording medium with the program stored
JP3937645B2 (en) Image processing apparatus and image processing method
US20070058200A1 (en) System and method for generating multi-bit halftones using horizontal buildup
JPH09270931A (en) Image processor and its method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071106