图象处理装置、印刷控制装置、图象处理方法和记录媒体的制作方法

文档序号:7647183阅读:120来源:国知局
专利名称:图象处理装置、印刷控制装置、图象处理方法和记录媒体的制作方法
技术领域
本发明涉及变换用构成图像的多个像素的色调值表现的图像数据的技术,详细而言,就是涉及将该图像数据变换为根据有无关于各像素的点的形成的表现形式的图像数据的技术。
背景技术
通过在印刷媒体或液晶画面这样的显示媒体上形成点来表现图像的图像显示装置,广泛地作为各种图像机器的输出装置使用。这样的图像显示装置只能局部地表现是否形成点的某种状态,但是,根据图像的色调值适当地控制点的形成密度,便可表现色调连续变化的图像。
在这样的图像显示装置中,为了根据图像的色调值以适当的密度形成点,用于对各像素判断有无点形成的方法有例如称为误差扩散法的方法和在数学上与其等价的称为平均误差最小法的方法等。
称为误差扩散法的方法将对目的像素形成点或不形成点而发生的色调表现的误差预先向目的像素周边的未判断像素扩散并进行存储,在判断有无对未判断像素的点形成时,判断有无点形成,用以消除从周边像素扩散来的误差。另外,称为平均误差最小法的方法不预先将通过有无点形成的判断而发生的色调表现的误差向周边像素扩散而存储到目的像素,代之以在判断有无对未判断像素的点形成时,读出周边像素存储的误差,判断有无对目的像素的点形成,用以抵消这些误差。
在这些方法中,由于图像由大量的像素构成,所以,不可能同时对全部像素进行有无点形成的判断。另一方面,图像数据根据扫描原图像而生成的关系是按照通过扫描而得到的像素的列(称为光栅)的顺序供给的。根据这些理由,有无点形成的判断就沿着构成图像的光栅进行。即,从位于光栅的端部的像素开始顺序进行有无点形成的判断,如果有无该光栅上的全部像素的判断结束了,就开始进行相邻的光栅的处理。在这样的方法中,即使在图像上是相互相邻的像素,属于不同的光栅的像素也不能连续地进行处理,所以,预先将通过点形成判断而发生的色调表现的误差存储到误差缓冲器中,在需要时从误差缓冲器中读出使用。这样,通过反映在周边像素中发生的色调表现的误差,并判断有无点形成用以消除误差,便可以与图像的色调值相应的适当的密度形成点,结果,便可在图像显示装置上显示高画质的图像。
但是,在这样的方法中,必须频繁地将每次进行有无点形成的判断时发生的色调表现的误差向误差缓冲器中读写,从而不能迅速地进行有无点形成的判断。即,在误差扩散法中,每次判断有无点形成时必须将应向周边像素扩散的扩散误差写入误差缓冲器,或者,在平均误差最小法中,每次判断有无点形成时必须将在周边像素中发生的色调表现的误差从误差缓冲器中读出,不论哪种情况,都要对误差缓冲器频繁地进行读写,从而判断有无点形成都需要一定的时间。如果判断有无点形成需要一定的时间,就难于迅速地显示图像。
本发明就是为了解决先有技术中的上述问题而提案的,目的旨在提供通过不招致画质恶化而缩短判断有无点形成所需要的时间从而可以迅速地显示高画质的图像的技术。
发明的公开为了解决上述问题的至少一部分,本发明的第图象处理装置采用以下的结构。即,本发明是一种接收表示各像素的色调值的图像数据并通过沿着该像素的列的光栅判断在构成该光栅的各像素中有无点形成而将该图像数据变换为有无点形成的表现形式的图象处理装置,其特征在于具有光栅群生成单元、最末尾光栅变换单元、第1误差扩散单元、开头光栅变换单元、第2误差扩散单元和其余光栅变换单元,光栅群生成单元将相互相邻的多条光栅集合起来生成光栅群;最末尾光栅变换单元选择位于上述光栅群中最末尾的最末尾光栅并通过对构成该最末尾光栅的各像素判断有无点形成而将该最末尾光栅变换为表示有无点形成的点列;第1误差扩散单元对构成上述最末尾光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差并向位于该各像素的周边的多个未判断的像素扩散;开头光栅变换单元选择位于与上述最末尾光栅相邻的光栅群中开头位置的开头光栅并通过考虑从该最末尾光栅向该开头光栅的各像素扩散的上述色调误差而对构成该开头光栅的各像素判断有无点形成,将该开头光栅变换为表示有无点形成的点列;第2误差扩散单元将在构成上述开头光栅的各像素中发生的上述色调误差向位于该各像素的周边的未判断的像素扩散;其余光栅变换单元通过对从上述光栅群中除了上述开头光栅的其余光栅考虑从属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素扩散的上述色调误差并判断该其余光栅的各像素有无点形成而与将该开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列,上述第1误差扩散单元和上述第2误差扩散单元是将向与判断上述有无点形成的像素不同的光栅群的像素扩散的误差存储到第1误差存储部而将向与判断有无该点形成的像素相同的光栅群的像素扩散的误差存储到第2误差存储部的单元。
另外,与上述第1图象处理装置对应的本发明的第1图象处理方法是接收表示各像素的色调值的图像数据并通过沿着该像素的列的光栅判断在构成该光栅的各像素中有无点形成而将该图像数据变换为有无点形成的表现形式的图象处理方法,其特征在于包括以下步骤,即(A)将相互相邻的多条光栅集合起来生成光栅群的步骤;(B)选择位于上述光栅群中最末尾的最末尾光栅并通过对构成该最末尾光栅的各像素判断有无点形成而将该最末尾光栅变换为表示有无点形成的点列的步骤;(C)对构成上述最末尾光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差并向位于该各像素的周边的多个未判断的像素扩散的步骤;(D)选择位于与上述最末尾光栅相邻的光栅群中开头位置的开头光栅并通过考虑从该最末尾光栅向该开头光栅的各像素扩散的上述色调误差而对构成该开头光栅的各像素判断有无点形成,将该开头光栅变换为表示有无点形成的点列的步骤;(E)将在构成上述开头光栅的各像素中发生的上述色调误差向位于该各像素的周边的未判断的像素扩散的步骤;(F)通过对从上述光栅群中除了上述开头光栅的其余光栅考虑从属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素扩散的上述色调误差并判断该其余光栅的各像素有无点形成而与将该开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列的步骤;上述步骤(C)和上述步骤(E)是将向与判断上述有无点形成的像素不同的光栅群的像素扩散的误差存储到第1误差存储部而将向与判断有无该点形成的像素相同的光栅群的像素扩散的误差存储到第2误差存储部的步骤。
在这样的第1图象处理装置和图象处理方法中,以由指定条数的相邻的光栅构成的光栅群为单位,通过对构成该光栅群的各光栅判断有无各像素的点形成而将各光栅变换为点列。这里,在将通过有无点形成的判断而发生的色调误差向周边的未判断像素扩散时,将向属于与发生该色调误差的判断像素相同的光栅群的像素扩散的误差和向与该判断像素不同的光栅群的像素扩散的误差有区别地存储。对开头光栅,读出从相邻的光栅群的像素扩散来的并已存储的色调误差,通过判断有无点形成而将该开头光栅变换为点列。另一方面,对上述其余光栅,考虑从属于与该位于光栅相同的光栅群并且已判断了有无点形成的像素扩散来的并已存储的色调误差,通过判断有无点形成,与将该开头光栅变换为上述点列的处理平行地将该其余光栅变换点列。
这样,只要与将上述开头光栅变换为点列的处理平行地执行将上述其余光栅变换为点列的处理,就可以迅速地变换光栅群的图像数据。另外,由于就图像数据按光栅群单位进行变换,所以,向属于相同的光栅群的像素扩散的误差就可以比向属于不同的光栅群的像素扩散的误差较早读出。因此,只要将向属于相同的光栅群的像素扩散的误差与向属于不同的光栅群的像素扩散的误差有区别地存储,就可以迅速地读出误差,从而可以更迅速地执行按光栅群单位变换图像数据的处理。
在这样的图象处理装置中,可以将向相同的光栅群的像素扩散的误差存储为可以比向不同的光栅群的像素扩散的误差迅速地执行数据的存储或读出中的至少一方的处理。
按光栅群单位变换图像数据时,通过判断有无点形成而发生的色调误差,向属于相同的光栅群的像素扩散的比向不同的光栅群的像素扩散的多。因此,只要将向属于相同的光栅群的像素扩散的误差存储为可以比向属于不同的光栅群的像素扩散的误差迅速地执行数据的存储或读出中的至少一方的处理,便可有效而迅速地进行扩散误差的处理。
在这样的图象处理装置中,对向不同的光栅群的像素扩散的误差,可以同时存储至少与构成上述开头光栅的像素数相同数以上的像素数,同时,对向相同的光栅群的像素扩散的误差,可以同时存储比构成该开头光栅的像素数少的像素数。
按光栅群单位变换图像数据时,向相同的光栅群的像素扩散的误差在将该光栅群的图像数据进行变换的变换中使用,以后不必进行存储,所以,存储该误差的存储部就可以存储向属于该光栅群的其他的像素扩散的误差。因此,对向相同的光栅群的像素扩散的误差,只要可以仅存储比构成该开头光栅的像素数少的像素数,就可以有效地使用存储部。
在使用计算机进行上述图像数据的变换的图象处理装置中,向相同的光栅群的像素扩散的误差可以存储到该计算机的运算装置可以直接执行数据的写入或读出的存储元件中,向不同的光栅群的像素扩散的误差可以存储到该运算装置间接地执行数据的写入或读出的存储元件中。
可以从计算机的运算装置直接写入或读出数据的存储元件可以迅速地进行写入或读出,因此,通过存储到这样的存储元件中,可以迅速地存储或读出向相同的光栅群的像素扩散的误差。这样的存储元件不限于可以从上述运算装置直接执行数据的写入或读出中的一方的存储元件,也可以是可以从运算装置直接执行写入和读出的存储元件。
在这样的图象处理装置中,在上述判断了有无点形成的像素的周边,使在上述最末尾光栅的各像素中发生的色调误差向属于不同的光栅群的未判断的像素扩散时,可以仅向与上述最末尾光栅相邻的上述开头光栅的像素扩散。
这样,色调误差从不同的光栅群的像素扩散的就仅是上述开头光栅的像素,不会向上述其余光栅的像素扩散。因此,仅在判断上述开头光栅的各像素有无点形成时读出上述第1误差存储部存储的误差,判断有无点形成,对于其余光栅,可以读出第2误差存储部存储的误差,判断有无点形成。结果,总体的处理就简化了,所以,可以迅速地进行判断有无点形成的处理。
此外,在这样的图象处理装置中,逐次将各2条光栅的图像数据变换为点列,可以将位于该2条光栅中前面的开头光栅和位于后面的最末尾光栅如以下所述的那样变换为点列。即,对该最末尾光栅的各像素通过判断有无点形成而发生的色调误差向该最末尾光栅的像素和与该最末尾光栅相邻的光栅群的上述开头光栅的像素扩散。另外,对该开头光栅的各像素通过判断有无点形成而发生的色调误差向该开头光栅的像素和该开头光栅之后的最末尾光栅的像素扩散。可以考虑这样扩散来的色调误差,对各光栅群的最末尾的各像素判断有无点形成。
这样,只要逐次将各2条光栅进行变换为点列的处理,便可将多个光栅通过简单的处理平行地进行变换为点列的处理。
在这样的图象处理装置中,将对各像素通过判断有无点形成而发生的色调误差从发生该色调误差的像素向位于指定值以上的远处的未判断像素扩散时,可以仅向与判断了有无该点形成的光栅群不同的光栅群的像素扩散。
将通过判断有无点形成而发生的色调误差向远处的未判断像素扩散时,即使扩散的像素的位置多少偏离,也不会对画质有大的影响。因此,向远处的未判断像素扩散时,只要集中地向与判断了有无点形成的光栅群不同的光栅群的像素扩散,就可以简单地进行扩散误差的处理。
另外,为了解决上述问题的至少一部分,本发明的第2图象处理装置采用以下的结构。即,本发明是一种接收表示各像素的色调值的图像数据并通过沿着该像素的列的光栅判断在构成该光栅的各像素中有无点形成而将该图像数据变换为有无点形成的表现形式的图象处理装置,其特征在于具有光栅群生成单元、选择光栅变换单元、第1色调误差存储单元、开头光栅变换单元、第2色调误差存储单元和其余光栅变换单元,光栅群生成单元将相互相邻的多条光栅集合起来生成光栅群;选择光栅变换单元至少包含位于上述光栅群的最末尾的最末尾光栅从该光栅群中选择光栅,通过对构成该选择的光栅的各像素判断有无点形成,就该选择的光栅变换为表示有无点形成的点列;第1色调误差存储单元对构成上述选择的光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差,使之与进行了该判断的各像素对应,并存储到第1存储部中;开头光栅变换单元选择位于与上述最末尾光栅相邻的光栅群中的开头位置的开头光栅,在构成该开头光栅的各像素的周边,考虑已判断了有无点形成的周边像素存储的上述色调误差,通过判断该各像素有无点形成,将该开头光栅变换为点列;第2色调误差存储单元使在构成上述开头光栅的各像素中发生的上述色调误差与进行了上述判断的各像素对应,并存储到第2存储部中;其余光栅变换单元对从上述光栅群中除了上述开头光栅的其余的光栅考虑在属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素中发生的上述色调误差,通过判断该其余光栅的各像素有无点形成,与将上述开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列。
与这样的第2图象处理装置对应的本发明的第2图象处理方法是接收表示各像素的色调值的图像数据并通过沿着该像素的列的光栅判断在构成该光栅的各像素中有无点形成而将该图像数据变换为有无点形成的表现形式的图象处理方法,其特征在于包括以下步骤。即,(A)将相互相邻的多条光栅集合起来生成光栅群的步骤;(B)至少包含位于上述光栅群的最末尾的最末尾光栅从该光栅群中选择光栅,通过对构成该选择的光栅的各像素判断有无点形成,就该选择的光栅变换为表示有无点形成的点列的步骤;(C)对构成上述选择的光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差,使之与进行了该判断的各像素对应而进行存储的步骤;(D)选择位于与上述最末尾光栅相邻的光栅群中的开头位置的开头光栅,在构成该开头光栅的各像素的周边,考虑已判断了有无点形成的周边像素存储的上述色调误差,通过判断该各像素有无点形成而将该开头光栅变换为点列的步骤;(E)使在构成上述开头光栅的各像素中发生的上述色调误差与在所述步骤C存储的色调误差相区分,同时与进行了上述判断的各像素对应而进行存储的步骤;(F)对从上述光栅群中除了上述开头光栅的其余的光栅考虑在属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素中发生的上述色调误差,通过判断该其余光栅的各像素有无点形成,与将上述开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列的步骤。
在这样的第2图象处理装置和图象处理方法中,与上述第1图象处理装置和图象处理方法一样,以由指定条数的相邻的光栅构成的光栅群为单位,对构成该光栅群的各光栅,通过判断各像素有无点形成,将各光栅变换为点列。这时,在第2图象处理装置和图象处理方法中,使在上述最末尾光栅的各像素中发生的色调误差与进行该判断的各像素对应而存储,在判断上述开头光栅的像素有无点形成时读出该像素的周边的上述最末尾光栅的各像素存储的色调误差,判断有无点形成。这样,在开头光栅的各像素中发生的色调误差预先与在上述最末尾光栅的各像素中发生的色调误差有区别地进行存储。对上述其余光栅,考虑在属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素中发生的色调误差,通过判断有无点形成,与将该开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列。
这样,只要将上述开头光栅和其余光栅平行地按光栅群单位把图像数据变换为点列,就可以迅速地变换图像数据。另外,由于按光栅群单位变换图像数据,所以,在处理中的光栅群的上述最末尾光栅中发生的色调误差与在其他光栅中发生的色调误差不同,在现在的光栅群的处理结束之后而读出。因此,只要将在光栅群的最末尾光栅中发生的色调误差与在其他光栅中发生的色调误差有区别地进行存储,就可以迅速地读出误差,从而可以迅速地变换图像数据。
在这样的图象处理装置中,可以将在最末尾光栅以外的光栅中发生的色调误差存储为可以比在最末尾光栅中发生的色调误差可以迅速地执行数据的存储或读出中的至少一方的处理。
按光栅群单位变换图像数据时,由于在1个光栅群中只存在1条最末尾光栅,而其他光栅则存在1条以上,所以,在判断有无点形成时,在最末尾光栅以外的光栅中发生的色调误差将比在最末尾光栅中发生的色调误差被频繁地读出。因此,只要将在最末尾以外的光栅中发生的色调误差存储为可以比在最末尾光栅中发生的色调误差迅速地执行数据的存储或读出中的至少一方的处理,就可以有效而迅速地进行按光栅群单位变换的处理。
在这样的图象处理装置中,对在上述最末尾光栅的各像素中发生的色调误差,可以同时存储至少与构成该最末尾光栅的像素相同数量以上的像素数,同时,对在上述开头光栅的各像素中发生的色调误差,可以体仅存储比构成该开头光栅的像素少的像素数。
在按光栅群单位变换图像数据时,通过判断有无点形成而发生的色调误差在对相同的光栅群的像素判断有无点形成时使用,而在以后不必存储,所以,存储该色调误差的存储部可以用于存储在属于相同光栅群的其他像素中发生的色调误差。因此,对在开头光栅的各像素中发生的色调误差,可以仅存储比构成该开头光栅的像素少的像素数,从而可以有效地使用存储部。
在使用计算机进行上述图像数据的变换的图象处理装置中,在上述开头光栅的各像素中发生的色调误差可以存储到该计算机的运算装置可以直接执行数据的写入或读出的存储元件中,在上述最末尾光栅的各像素中发生的色调误差可以存储到该运算装置间接地执行数据的写入或读出的存储元件中。
可以从计算机的运算装置中直接写入或读出数据的存储元件可以进行迅速的写入或读出,因此,只要将在开头光栅的像素中发生的色调误差存储到这样的存储元件中,就可以迅速地变换光栅群的图像数据。这样的存储元件可以是可从该运算装置执行数据的写入或读出的存储元件。
在这样的图象处理装置中,仅对上述光栅群中的上述最末尾光栅将在构成该光栅的各像素中发生的色调误差存储到该各像素中,可以作为在对上述开头光栅判断有无点形成时考虑的上述色调误差,考虑上述最末尾光栅的各像素的色调误差,将上述开头光栅变换为上述点列。
这样,可以仅在判断上述开头光栅的各像素有无点形成时读出在属于不同的光栅群的上述最末尾光栅的像素中发生的色调误差,而在判断其余光栅的各像素有无点形成时读出在不同的光栅群的像素中发生的色调误差,所以,可以迅速地变换光栅群的图像数据。
此外,在这样的图象处理装置中,逐次将各2条光栅的图像数据变换为点列,可以将位于该2条光栅中前面的开头光栅和位于后面的最末尾光栅如以下所述的那样变换为点列。即,仅将在最末尾光栅中发生的色调误差存储到上述第1存储部中,在判断构成开头光栅的各像素有无点形成时,读出该最末尾光栅的各像素存储的色调误差进行判断,在各像素中发生的色调误差存储到上述第2存储部中。对该开头光栅之后的最末尾光栅,与将该开头光栅变换为点列的处理平行地考虑在该开头光栅的各像素中发生的色调误差而变换为点列。
这样,只要逐次各2条光栅变换为点列,便可通过简单的处理平行地进行将多个光栅变换为点列的处理。
在这样的第1图象处理装置或第2图象处理装置中,为了反映在上述开头光栅的各像素中发生的色调误差并将上述其余光栅变换为点列,可以通过考虑从该开头光栅向该其余光栅的各像素扩散的扩散误差,判断有无点形成而将该其余光栅变换为点列。或者,可以通过考虑在该开头光栅的各像素中发生的色调误差,判断有无点形成而将该其余光栅变换为点列。
使用这些方法,可以反映在上述开头光栅的各像素中发生的色调误差,并且可以将上述其余光栅变换为点列。
另外,对在印刷媒体上形成喷墨点而印刷图像的印刷部,通过输出用于控制喷墨点的形成的印刷数据,在控制该印刷部的印刷控制装置中,可以利用本发明的上述第1图象处理装置或第2图象处理装置。
即,在上述第1图象处理装置或第2图象处理装置中,接收表示各像素的色调值的图像数据,可以相当地将该图像数据变换为由有无点形成决定的图像数据。因此,如果把这样的第1图象处理装置或第2图象处理装置应用于上述印刷控制装置,便可将图像数据迅速地变换为印刷数据。如果将这样得到的印刷数据向上述印刷部输出,便可由该印刷部迅速地印刷高画质的图像。
另外,本发明也可以使用计算机实现将实现上述第1图象处理方法或第2图象处理方法的程序读入计算机。因此,本发明也包含以下作为记录媒体的形式。即,与上述第1图象处理方法对应的记录媒体是通过接收表示各像素的色调值的图像数据并按照该像素的列而形成的光栅判断构成该光栅的各像素有无点形成而将实现把该图像数据变换为由有无点形成的表现形式的方法的程序记录为可以由计算机读取的记录媒体,其特征在于记录实现以下功能的程序,即(A)将相互相邻的多条光栅集合起来生成光栅群的功能;(B)选择位于上述光栅群中最末尾的最末尾光栅并通过对构成该最末尾光栅的各像素判断有无点形成而将该最末尾光栅变换为表示有无点形成的点列的功能;(C)对构成上述最末尾光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差并向位于该各像素的周边的多个未判断的像素扩散的功能;(D)选择位于与上述最末尾光栅相邻的光栅群中开头位置的开头光栅并通过考虑从该最末尾光栅向该开头光栅的各像素扩散的上述色调误差而对构成该开头光栅的各像素判断有无点形成,将该开头光栅变换为表示有无点形成的点列的功能;(E)将在构成上述开头光栅的各像素中发生的上述色调误差向位于该各像素的周边的未判断的像素扩散的功能;(F)通过对从上述光栅群中除了上述开头光栅的其余光栅考虑从属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素扩散的上述色调误差并判断该其余光栅的各像素有无点形成而与将该开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列的功能;同时,记录作为上述功能(C)和上述功能(E)而实现将向与判断了上述有无点形成的像素相同的光栅群的像素扩散的误差与向不同的光栅群的像素扩散的误差有区别地进行存储的功能的程序。
另外,与上述第2图象处理方法对应的记录媒体是通过接收表示各像素的色调值的图像数据并按照该像素的列而形成的光栅判断构成该光栅的各像素有无点形成而将实现把该图像数据变换为由有无点形成的表现形式的方法的程序记录为可以由计算机读取的记录媒体,其特征在于记录实现以下功能的程序,即(A)将相互相邻的多条光栅集合起来生成光栅群的功能;(B)至少包含位于上述光栅群的最末尾的最末尾光栅从该光栅群中选择光栅,通过对构成该选择的光栅的各像素判断有无点形成,就该选择的光栅变换为表示有无点形成的点列的功能;(C)对构成上述选择的光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差,使之与进行了该判断的各像素对应而进行存储的功能;(D)选择位于与上述最末尾光栅相邻的光栅群中的开头位置的开头光栅,在构成该开头光栅的各像素的周边,考虑已判断了有无点形成的周边像素存储的上述色调误差,通过判断该各像素有无点形成而将该开头光栅变换为点列的功能;(E)使在构成上述开头光栅的各像素中发生的上述色调误差在所述步骤C存储的色调误差相区分,同时与进行了上述判断的各像素对应而进行存储的功能;(F)对从上述光栅群中除了上述开头光栅的其余的光栅考虑在属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素中发生的上述色调误差,通过判断该其余光栅的各像素有无点形成,与将上述开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列的功能。
只要将这些记录媒体记录的程序读取计算机并使用该计算机实现上述各种功能,就可以将表示各像素的色调值的图像数据迅速地变换为由有无点形成的表现形式的图像数据。
附图的简单说明

图1是本实施例的印刷系统的概略结构图。
图2是表示作为本实施例的图象处理装置的计算机的结构的说明图。
图3是作为本实施例的图像显示装置的打印机的概略结构图。
图4是表示由本实施例的图象处理装置进行的图像数据变换处理的流程的流程图。
图5是概念式地表示使用误差扩散法判断有无点形成的情况的说明图。
图6是表示对各像素设定误差扩散系数的情况的说明图。
图7是表示在实施例1的色调系数变换处理中通过平行地进行多个光栅的处理而缩短处理时间的原理的说明图。
图8是表示实施例1的色调系数变换处理的流程的流程图。
图9是贯式地表示在实施例1的色调系数变换处理的变形例1中平行地处理多个光栅的情况的说明图。
图10是概念式地表示在实施例1的色调系数变换处理的变形例2中平行地处理多个光栅的情况的说明图。
图11是概念式地表示在实施例1的色调系数变换处理的变形例3中平行地处理多个光栅的情况的说明图。
图12是概念式地表示在实施例1的色调系数变换处理的变形例4中对向远处扩散的误差向误差缓冲器的某一像素扩散的误差扩散矩阵的说明图。
图13是概念式地表示在实施例2的色调系数变换处理中通过平行地进行多个光栅的处理而糁处理时间的原理的说明图。
图14是表示在实施例2的变形例的色调系数变换处理中对各像素设定权重系数的情况的说明图。
图15是表示实施例2的色调系数变换处理的流程的流程图。
图16是概念式地表示在实施例2的色调系数变换处理的变形例1中平行地处理多个光栅的情况的说明图。
实施发明的最佳的形式为了更明确地说明本发明的作用和效果,下面,按照以下的顺序说明本发明的实施例。
A.实施例B.实施例1B-1.装置结构B-2.图像数据变换处理的概要B-3.实施例1的色调系数变换处理B-4.变形例C.实施例2C-1.实施例2的色调系数变换处理C-2.变形例A.实施例下面,参照图1说明本发明的实施例。图1是以印刷系统为例用于说明本发明的实施例的说明图。本印刷系统由作为图象处理装置的计算机10和彩色打印机20等构成。计算机10从数码相机或彩色扫描仪等图像机器接收到彩色图像的色调图像数据时,就将该图像数据变换为利用可以由彩色打印机20进行印刷的有无各色点所表现的印刷数据。这样的图像数据的变换使用称为打印机驱动器12的专用的程序进行。彩色图像的色调图像数据也可以由计算机10使用各种应用程序而作成。
打印机驱动器12由解像度变换模块、色变换模块、色调数变换模块和称为交错模块的多个模块构成。色调数变换模块是进行将色调图像数据变换为有无点形成的表现形式的处理的模块。本实施例的色调数变换模块在对目的像素判断有无点形成时,考虑在周边像素中发生的色调误差,为了消除误差而判断目的像素有无点形成。对于由其他模块进行的处理,后面说明。彩色打印机20根据由这些各模块变换的印刷数据,通过在印刷媒体上形成各色墨点而遗少彩色图像。
供给打印机驱动器12的图像数据如图1概念式所示的那样,是使构成原稿图像的各像素的色调值从图像的一端开始顺序逐次1光栅1光栅地输出的数据结构。打印机驱动器12内的解像度变换模块和色变换模块按照供给的图像数据的数据结构逐次1光栅1光栅地进行它们的处理,在本发明的印刷系统的色调数变换模块中,利用后面所述的方法平行地进行相互相邻的指定条数的光栅的处理。图1作为一例,概念式地表示平行地处理3条光栅的情况。详细情况,后面说明,但是,如果可以这样平行地进行多条光栅的处理,则在平行地进行处理的多个光栅间,便可考虑在各光栅中发生的色调误差而进行点形成的判断,所以,不必将色调误差或扩散误差一一存储到误差缓冲器中。即,在本实施例的色调数变换模块中,不必对误差缓冲器频繁地进行读写,所以,可以迅速地进行有无点形成的判断。
这样,考虑在多条光栅间发生的色调误差而平行地进行有无点形成的判断的具体的方法就存在各种形式,下面,使用各种实施例说明这些各种形式。
B.实施例1B-1.装置结构图2是表示作为实施例1的图象处理装置的计算机100的结构的说明图。计算机100是以CPU102为中心、通过总线116将ROM104或RAM106等相互连接而构成的众所周知的计算机。CPU102由实际进行处理的运算器和暂时保持处理中的数据的多个寄存器构成。寄存器保持的数据远远比RAM106存储的数据可以高速地处理。
用于读入软盘124或小型盘126的数据的盘控制器DDC109、用于与外围设备进行数据的收发的外围设备接口P·I/F108、用于驱动CRT114的视频接口V·I/F112等与计算机100连接。后面所述的彩色打印机200和硬盘118等与P·I/F108连接。另外,如果将数码相机120或彩色扫描仪122等与P·I/F108连接,也可印刷由数码相机1220或彩色扫描仪122取入的图像。另外,如果安装网络接口卡NIC110,将计算机100与通信线路300连接,便可取得与通信线路连接的存储装置310存储的数据。
图3是表示实施例1的彩色打印机200的概略结构的说明图。彩色打印机200是可以形成青、品红、黄、黑等4色墨的点的喷墨打印机。当然,也可以使用在这4色墨之外可以形成包含染料浓度低的青(淡青)墨和染料浓度低的品红(淡品红)墨的共计6色的墨点的喷墨打印机。此外,也可以使用可以形成包括明度低的(暗的)黄(暗黄)墨的共计7色的墨点的喷墨打印机。下面,根据情况不同,将青墨、品红墨、黄墨、黑墨、淡青墨、淡品红墨、暗黄墨水分别简称为C墨水、M墨、Y墨、K墨、LC墨、LM墨和DY墨。
彩色打印机200如图所示,由驱动搭载在托架240上的印字头241用于进行墨水的喷出和点形成的机构、由托架电机230使该托架240沿着压纸滚筒236的轴向往复运动的机构、由送纸电机235传送印刷用纸P的机构和控制点的形成和托架240的移动以及印刷用纸的传送的控制电路260构成。
在托架240上,安装着收纳K墨水的墨盒242和收纳C墨水、M墨水、Y墨水的各种墨水的墨盒243。墨盒242、243安装到托架240上时,盒内的各墨水就通过图中未示出的导入管供给设置在印字头241的下面的各色的墨水喷头242~247。K墨水用的墨水喷头244如图所示,多个喷嘴Nz按一定的喷嘴间距k交错地排列成2列。其他色的墨水喷头245~247也一样,各设置1组按喷嘴间距k交错地排列的喷嘴列。
控制电路260由CPU261和ROM262、RAM263等构成,通过控制托架电机230和送纸电机235的动作来控制托架240的主扫描和副扫描,同时,根据从计算机100供给的印刷数据在适当的时刻从各喷嘴喷出墨水滴。这样,在控制电路260的控制下,通过在印刷媒体上的适当的位置形成各色的墨点,彩色打印机200便可印刷彩色图像。
从各色的墨水喷头喷出墨水滴的方法,可以应用各种方法。即,可以使用利用压电元件喷出墨水的方式或用配置在墨水通路上的加热器使墨水通路内发生气泡从而喷出墨水滴的方法等。另外,也可以使用利用热转印等现象在印刷用纸上形成墨点的方式或利用静电使各色的调色剂粉附着到印刷媒体上的方式的打印机,取代喷出墨水。
此外,也可以使用控制从墨水喷头喷出的墨水滴的大小或一次喷出多个微细的墨水滴而控制喷出的墨水滴的数的方法从而可以控制在印刷用纸上形成的墨点的大小的打印机,即所谓的可变点打印机。
B-2.图像数据变换处理的概要图4是表示通过对作为实施例1的图象处理装置的计算机100接收的图像数据进行指定的图象处理而将该图像数据变换为印刷数据的流程的流程图。这样的处理,通过计算机100的操作系统起动打印机驱动器12而开始。下面,参照图4简单滴说明实施例1的图像数据变换处理。
打印机驱动器12开始进行图像数据变换处理时,先开始读入应变换的TGB彩色图像数据(步骤S100)。图像数据按R(红)、G(绿)、B(篮)各色逐次1光栅1光栅滴读入打印机驱动器12。
然后,将取入的图像数据的解像度变换为彩色打印机200进行印刷的解像度(步骤S102)。在彩色图像数据的解像度比印刷解像度低时,通过进行线性内插,在相邻图像数据间生成新的数据,相反,在彩色图像数据的解像度比印刷解像度高时,通过按一定的比率间抽数据,将图像数据的解像度变换为印刷解像度。
在这样变换了解像度时,就进行彩色图像数据的色变换处理(步骤S104)。所谓色变换处理,就是将由R、G、B的色调值的组合所表现的彩色图像数据变换为由C、M、Y、K等彩色打印机200使用的各色的色调值的组合所表现的图像数据的处理。色变换处理可以通过参照称为色变换表(LUT)的3维的数表迅速地进行。以上说明的解像度变换处理(步骤S102)和色变换处理(步骤S104)按每一光栅进行。
在色变换处理结束时,就开始进行色调数变换处理(步骤S106)。所谓色调数变换处理,就是以下所述的处理。通过色变换处理而变换的色调数据,表现为各色具有256色调幅度的数据。与此相反,在本实施例的彩色打印机200中,只能采用「形成点」和「不形成点」中的某一状态。即,本实施例的彩色打印机200只能局部地表现2色调。因此,必须将具有256色调的图像数据变换为用彩色打印机200可以表现的2色调表现的图像数据。进行这样的色调数的变换的处理就是色调数变换处理。如前所述,在本实施例的色调数变换处理中,通过平行地判断多个光栅有无点形成,便可进行迅速的处理。关于色调数变换处理,后面详细说明。
这样,如果色调数变换处理结束了,打印机驱动器就开始进行交错处理(步骤S108)。交错处理,就是考虑点的形成顺序将变换为表示有无点的形成的形式的图像数据顺序变换为应向彩色打印机200传输的处理。打印机驱动器将进行交错处理而最后得到的图像数据作为印刷数据向彩色打印机200输出(步骤S110)。彩色打印机200按照印刷数据在印刷媒体上形成各色的墨点。结果,与图像数据对应的彩色图像就印刷到了印刷媒体上。
下面,说明在实施例1的色调数变换处理中通过平行地处理多个光栅而迅速地进行有无点形成的判断的处理。
B-3.实施例1的色调数变换处理(a)利用误差扩散法的色调数变换处理的概要下面,作为说明平行地进行多个光栅有无点形成的判断的方法和通过平行进行而缩短色调数变换处理所需要的时间的原理的准备,简单地说明在所谓的误差扩散法中判断沿着光栅有无点形成的方法。
图5是将要判断有无点形成的图像的一部分放大而概念式地表示的说明图。1各1各的小方格表示像素,像素排一横列,形成光栅。为了便于说明,把图5(a)所示的案板上面的光栅称为「光栅0」、就其下面的光栅称为「光栅1」,其他依次晁「光栅2」、「光栅3」。为了区别各个像素,对各像素也标为「Pmn」。像素Pmn表示光栅m的第n个像素。图4所示的色变换处理后的图像数据是使各色的色调值与各像素对应的数据。
误差扩散法,如以下说明的那样,沿着光栅逐个像素判断有无点形成。图5(a)是概念式地表示对像素P11有无点形成的情况的说明图。如像素P11那样,在本说明书中将要判断有无点形成的像素称为目的像素。图中,通过用粗线框住像素P11来表示目的像素。另外,图中画了斜线的区域表示该区域的像素已进行了有无点形成的判断。
如图5(a)所示,对目的像素P11判断有无点形成时,其结果则是在目的像素P11中将发生色调误差E11。即,不论像素P11形成了点或未形成了点,像素P11中表现的色调值(以下,将这样的色调值称为结果值)通常与该像素的图像数据的色调值不一致。因此,像素P11的结果值与像素P11的图像数据的色调值之差就在目的像素中发生色调误差。误差扩散法对目的像素的周边未判断像素加上指定的权重,将每次判断有无点形成时发生的色调误差扩散。向周边的未判断像素扩散时使用的权重系数称为误差扩散系数,以目的像素为中心,对每个像素预先进行确定。
图6是决定误差扩散系数的情况的说明图。图6中画了斜线的像素是目的像素,根据到目的像素的位置来决定各像素的误差扩散系数。这样,以目的像素为中心设定向周边像素的误差扩散系数的矩阵称为误差扩散矩阵。例如,在图6(a)的误差扩散矩阵中,对于目的像素右边相邻的像素,设定误差扩散系数K01为「1/4」。因此,使用图6(a)的误差扩散矩阵时,在目的像素中发生的色调误差的1/4误差分配给右边相邻的像素。同样,对于目的像素的左下、正下、右下方的各像素,也分配在目的像素中发生的色调误差的1/4误差。误差扩散矩阵不限于图6所示的示例,扩散误差的范围及误差扩散系数等可以设定为各种值,在实际的误差扩散法中,为了得到良好的画质,根据情况使用适当的误差扩散矩阵。为了避免说明的复杂化,在以下的说明中,使用示例的误差扩散矩阵中扩散范围最窄的矩阵即图6(a)的误差扩散矩阵进行说明。
作为误差扩散矩阵,如果使用图6(a)的矩阵,如图5(a)所示,在目的像素P11中发生的色调误差E11分别向右边相邻的像素P12、左下方的像素P20、正下方的像素P21、右下方的像素P22等共计4个像素各分配色调误差E00的1/4。4个周边像素中的像素P20、像素P21、像素P22等3个像素与目的像素P11不同,是属于光栅2的像素。这样,向目的像素周边的各像素扩散的误差(扩散误差)就在进行这些各像素的点形成判断时使用,所以,必须将各像素区别开进行存储。因此,扩散误差就存储到可以存储大量的像素的扩散误差的大容量的RAM106中(参见图2)。
如果将像素P11的色调误差向周边像素扩散了,就对右边相邻的像素P12开始进行有无点形成的判断。图5(b)是概念式地表示判断目的像素P12有无点形成的情况的说明图。在进行点形成判断时,首先,读出从周边像素向目的像素P12分配而积累的扩散误差,用读出的扩散误差修正目的像素P12的图像数据。如图5(b)所示,在目的像素P12上,积累了从已进行了点形成判断的周边像素即像素P01、像素P02、像素P03、像素P11等4个像素按照上述误差扩散矩阵扩散来的误差。从RAM106中读出该扩散误差,修正目的像素P12的图像数据,通过将得到的修正值与指定的阈值进行比较,判断有无点形成。图5(c)表示对新的目的像素P12判断有无点形成的状态。判断有无点形成的结果,是在新的目的像素P12中发生了色调误差E12,所以,和用图5(a)说明的一样,按照误差扩散矩阵将该色调误差向周边像素扩散。
如果将在像素P12中发生的色调误差向周边像素扩散了,就开始对位于更右边相邻的像素P13判断有无点形成。在新的目的像素P13中也发生色调误差,所以,按照误差扩散矩阵将该误差向周边像素扩散,并进行更右边相邻的像素有无点形成的判断。这样,如果将色调误差向周边像素扩散了,就使目的像素逐次向右移动1像素,如果到达了图像的右端的像素,就暂时返回到图像的左端,开始对位于下一光栅的像素(在图5所示的例中,是像素P20)进行有无点形成的判断。和光栅1一样,如果对光栅2也到达了图像的右端的像素,就再次返回到图像的左端,开始进行光栅3的处理。
这样,在误差扩散法中,就是沿着光栅使目的像素逐次移动1像素,考虑从周边像素扩散来的扩散误差而进行有无点形成的判断的。通过判断而在目的像素中发生的色调误差向周边的未判断像素扩散并进行存储,在判断这些未判断像素有无点形成时使用。
这里,如前所述,在周边像素中也包含与目的像素所属的光栅不同的光栅上的像素。有无点形成的判断沿着光栅进行,所以,即使已分配了扩散误差,在开始进行该像素所属的光栅的处理之前,也必须存储分配的扩散误差。此外,由于光栅中包含大量的像素,所以,对于相当数量的像素必须按区别各像素的状态存储分配来的扩散误差。为了存储扩散误差,使用存储容量大的RAM106的理由就在于此。
另外,为了将每次对目的像素判断有无点形成时发生的色调误差向周边的未判断像素扩散,必须对RAM106频繁地读写数据。如果对RAM106频繁地读写数据,就要增加该读写用的时间,从而将延长判断有无点形成所需要的时间。
(b)本实施例的色调数变换处理的概要与此相反,在本实施例的色调数变换处理中,如下所述,对多条光栅平行地进行有无点形成的判断。这样,将减少对RAM106读写数据的频度,所以,可以迅速地进行有无点形成的判断。下面,说明通过平行地进行多个光栅的处理而迅速地进行有无点形成的判断的原理。
图7是作为最简单的例子表示对2条光栅平行地进行有无点形成的判断的原理的说明图。这里,对光栅i和其下方的光栅j这2条光栅平行地进行有无点形成的判断。
首先,判断光栅i的最左侧的像素Pi0。图7(a)概念式表示判断像素Pi0有无点形成的情况。误差从位于光栅i的正上方的光栅h的像素Ph0及像素Ph1等分配来存储到像素Pi0中。因此,从计算机100的RAM106中读出像素Pi0存储的扩散误差,修正图像数据在像素Pi0中的色调值,通过将得到的修正值与指定的阈值进行比较,对像素Pi0判断有无点形成。这样,在判断像素Pi0有无点形成时,在像素Pi0中就发生色调误差,所以,按照误差扩散矩阵将其向周边像素扩散。这里,为了避免说明复杂化,使用图6(a)所示的比较简单的误差扩散矩阵进行说明。为了便于理解,将与图6(a)的误差扩散矩阵相同的矩阵示于图7(b)。在像素Pi0中发生的色调误差按照图7(b)的误差扩散矩阵分配给像素Pi1、像素Pj0、像素Pj1等3个像素,并且这些扩散误差的值存储到CPU102中内置的寄存器中。在图7(a)中,用粗箭头概念式地表示色调误差从像素Pi0向周边像素扩散的情况。
在本说明书中,平行地处理的多个光栅间的扩散误差(在图7中,例如从光栅i的像素向光栅j的像素扩散的扩散误差)存储到寄存器中,不是平行地处理的光栅间的扩散误差(在图7中,例如从光栅j的像素向光栅k的像素扩散的扩散误差)存储到RAM106中。如前所述,寄存器可以比RAM106高速地进行读写,所以,通过灵活使用寄存器,可以更迅速地进行色调数变换处理。平行地处理的光栅间的误差不是一定必须存储到寄存器中,也可以例如存储到RAM106中。这些立即要使用的扩散误差即使存储到RAM106中,通常,也可以使用留在CPU102的高速缓冲存储器内的值,所以,实际上可以高速地进行读写,从而可以迅速地进行色调数变换处理。
如果对像素Pi0判断了有无点形成并扩散了发生的色调误差,就开始进行右边相邻的像素Pi1的有无点形成的判断。对像素Pi1,位于其上一行的光栅h的像素中发生的色调误差按照图7(b)的误差扩散矩阵进行扩散,并预先存储到RAM106中。因此,读出从光栅h的像素扩散来的预先存储在RAM106中的误差,用该扩散误差和从像素Pi0分配给像素Pi1并存储到寄存器中的扩散误差修正像素Pi1的图像数据的色调值。这样,像素Pi1的图像数据就用从位于光栅h上像素Ph0、像素Ph1、像素Ph2和像素Pi0扩散来的误差进行了修正,所以,可以得到与通常的误差扩散法相等的修正值。
比较该修正值与指定的阈值的大小关系,如果修正值大于阈值,就判定在像素Pi1中形成了点,否则就判定未形成点。判断的结果,在像素Pi1中也发生色调误差,所以,按照误差扩散矩阵分配给周边的4个像素即像素Pi2、像素Pj0、像素Pj1和像素Pj2。分配给这4个像素的扩散误差的值按各像素存储到CPU102的寄存器中。在图7(a)中,用细的实线箭头概念式地表示在像素Pi1中发生的色调误差向周边像素扩散的情况。对于像素Pj0,已存储了从像素Pi0扩散来的扩散误差,所以,将从像素Pi1扩散来的扩散误差与该值相加后进行存储。另外,判断了像素Pi1中有无点形成时,就不需要存储向像素Pi1扩散的扩散误差所使用的寄存器了,所以,为了存储从像素Pi1分配给其他像素的扩散误差,可以使用该寄存器。
如果对位于光栅i上的像素Pi0和像素Pi1判断了有无点形成,就开始对位于光栅j的左端的像素Pj0进行有无点形成的判断。即,这里通过有无点形成的判断而发生的色调误差按照图7(b)的误差扩散矩阵向周边像素扩散,所以,如果分配了像素Pi0的扩散误差和像素Pi1的扩散误差,对像素Pj0就是分配了所有的扩散误差。因此,在进行了这2个像素的点形成的判断之后,进行像素Pj0的判断。
图7(c)是概念式地表示判断像素Pj0有无点形成的情况的说明图。按照图7(b)所示的误差扩散矩阵,误差从像素Pi0和像素Pi1向像素Pj0扩散,如上所述,该误差的值不是存储到RAM106中,而是存储在CPU102的寄存器内。因此,使用该值修正图像数据在像素Pj0中的色调值,根据修正值与阈值的大小关系判断有无点形成。判断的结果,在像素Pj0中发生的色调误差按照误差扩散矩阵向周边的像素Pj1、像素Pk0、像素Pk1等3个像素扩散。
这里,在图7所示的例中,平行地对光栅i的像素和光栅j的像素进行有无点形成的判断。这样,对像素Pk0和像素Pk1的2个像素的有无点形成的判断就是在光栅i和光栅j的像素的判断全部结束之后进行的。因此,向像素Pk0的扩散误差和向像素Pk1的扩散误差的值可以认为暂时不使用,所以,这些值存储到RAM106中。另一方面,向像素Pj1的扩散误差很快就要使用,所以,存储到CPU102的寄存器中。这样,由于对光栅i和光栅j平行地进行这2个光栅有无点形成的判断,所以,在光栅i之上的光栅中发生的向光栅i的像素扩散的误差存储到RAM106中。同样,在光栅j中发生的向光栅k的像素扩散的误差也存储到RAM106中。与此相反,在光栅i中发生的向光栅j的像素扩散的误差存储到CPU102的寄存器中。在图7中,在光栅i和光栅k中画斜线表示向这些光栅的像素扩散的扩散误差存储到RAM106中。
另外,在图7(c)中,从像素Pj0指向像素Pk0的箭头或从像素Pj0指向像素Pk1的箭头使用空心箭头,表示向这些像素分配的扩散误差存储在CPU102的寄存器中。对像素Pj0已判断了有无点形成,所以,可以将存储向像素Pj0的扩散误差的寄存器用于其他目的,利用用于存储向像素Pj1的扩散误差。
这样,如果将在像素Pj0中发生的色调误差向周边像素扩散了,就将判断光栅i的像素Pi1有无点形成而发生的色调误差向周边像素扩散,然后,判断光栅j的像素Pj1有无点形成。图7(d)是概念式表示该情况的说明图。在进行像素Pi2有无点形成的判断时,使用从光栅h的像素扩散来的存储在RAM106中的扩散误差和从像素Pi1扩散来的存储在寄存器中的扩散误差修正图像数据的色调值,判断有无点形成。通过判断而发生的色调误差向周边像素扩散。如图7(d)中用粗线箭头所示的那样,向周边像素的扩散误差存储到寄存器中。然后,在进行像素Pj1有无点形成的判断时,使用寄存器存储的扩散误差修正图像数据的色调值,根据与指定的阈值的大小关系判断有无点形成。通过判断我发生的色调误差和向光栅k的像素的扩散误差存储到RAM106中,向光栅j的像素的扩散误差存储到寄存器中。通过上述处理,如果对像素Pi2和像素Pj1的处理结束了,就按照同样的办法进行像素Pi3和像素Pj2的处理。
在图7(d)的像素中与圆圈引起标注的号码表示对光栅i的像素和光栅j的像素判断有无点形成的顺序。如图所示,对光栅i的像素和位于该像素的左下方的光栅j的像素交替地进行有无点形成的判断。这样,如果对光栅i和光栅j平行地进行了处理,就可以将向光栅j的像素的扩散误差存储到寄存器中,将向光栅k的像素的扩散误差存储到RAM106中。即,可以减少对RAM106写入读出扩散误差的频度,从而可以迅速地进行有无点形成的判断。
如图7所示,对于光栅i的左端的像素即像素Pi0,在该像素的左下方不存在光栅j的像素,所以,变通地在像素Pi0之后进行位于相同的光栅i上的像素Pi1的处理。在像素Pi0的左下方设想架空的像素Pj-1,在紧接像素Pi0进行架空的像素Pj-1的处理之后,对这样的架空像素Pj-1可以不使用有无点形成的判断结果而舍弃。这样,对于左端的像素,也可以对架空的像素进行通常的处理,所以,就不需要变通的处理了。
图8是表示对2条光栅平行地进行有无点形成的判断的处理的流程的流程图。该处理由计算机100的CPU102进行。如前所述,本实施例的彩色打印机是可以形成C、M、Y、K等4色的墨点的打印机,图8所示的色调数变换处理也按各色进行,但是,下面为了避免说明的复杂化,不特定墨点的颜色了说明。当然,除了上述4色外,还可以增加LC墨水、LM墨水,应用于6色打印机。
另外,如前所述,本实施例的彩色打印机也可以采用可以对各色形成大小变通的点的可变点打印机。使用可变点铥时,例如使用可以形成大点、中点、小点的各种点的可变点打印机时,以下说明的色调数变换处理就对各种大小的点进行。
这样,随着使用的墨水的颜色增加以及可以形成各种大小的点,进行色调数变换处理的次数也增加,所以,进行这些处理所需要的时间也将延长。用于以下说明的本实施例的色调数变换处理可以迅速的处理,所以,也极适合应用于这种情况。
开始进行本实施例的色调数变换处理时,首先,从平行地处理的光栅的第1条光栅中取得要判断有无点形成的像素的图像数据还向该像素扩散的扩散误差(步骤S200)。这里,设要处理的像素为光栅i的第n各像素Pin。图像数据Cdin还扩散误差Edin都存储到RAM106中。
然后,通过将像素Pin的图像数据Cdin还扩散误差Edin相加,计算像素Pin的修正数据Cxin(步骤S202)。比较这样得到的修正数据Cxin还指定的阈值th(步骤S204),如果修正数据大,就判定在像素Pin中形成了点,对表示判断结果的变数Cr写入表示形成点的值「1」(步骤S206)。否则就判定在像素Pin中未形成点,对变数Cr写入表示未形成点的值「0」(步骤S208)。
如果对光栅i的像素Pin判断了有无点形成,就计算伴随该判断而发生的色调误差(步骤S210)。根据形成了点或未形成点,从修正数据Cxin中减去在像素Pin中表现的色调值(结果值),便可求出色调误差Ein。将误差扩散系数乘以得到的色调误差,计算向周边像素扩散的扩散误差。误差扩散系数根据误差扩散矩阵对各像素设定。向这样求出的光栅i的像素扩散的扩散误差还向位于光栅i正下方的光栅j的像素扩散的扩散误差存储到寄存器中(步骤S212)。向除此以外的像素扩散的扩散误差例如若有向光栅k的像素扩散的扩散误差等,就存储到RAM106中。
这样,如果对光栅i的像素的有无点形成的判断还误差的扩散结束了,就开始对光栅j的像素Pjn-1进行有无点形成的判断。即,从RAM106中读出像素Pjn-1的图像数据Cdin(步骤S214),从寄存器中读入向像素Pjn-1扩散的扩散误差Edin-1(步骤S216)。从寄存器读入的扩散误差Edin-1中,也包括从刚进行了有无点形成的判断的像素Pin扩散来的扩散误差。光栅i的像素Pin是左端的像素Pi0时,就对架空的像素Pj-1进行这样的处理。
其次,将图像数据Cdin-1与扩散误差Edin-1相加,计算修正数据Cxin-1(步骤S218),比较得到的修正数据Cxin-1还指定的阈值th(步骤S220),如果修正数据大,就判断形成了点,对表示判断结果的变数Cr写入表示形成点的值「1」(步骤S222)。否则就写入表示未形成点的值「0」(步骤S224)。然后,计算伴随该判断而在像素Pjn-1中发生的色调误差Ejn-1(步骤S226)。从修正数据Cxin-1中减去像素Pjn-1的结果值,便可求出色调误差Ejn-1。将按照误差扩散矩阵设定的误差扩散系数乘以得到的色调误差,计算向周边像素扩散的扩散误差。这样,如果求出了扩散误差,就将向光栅j的像素扩散的扩散误差存储到寄存器中,将向光栅k的像素扩散的扩散误差存储到RAM106中(步骤S228)。
通过上述处理,如果对光栅i的像素和光栅j的像素的点形成判断和误差的扩散处理结束了,就判断光栅i和光栅j的全部像素的处理是否结束了(步骤S230)。还有未处理的像素时,就使像素的位置向右移动1像素,即用「n+1」的值置换「n」(步骤S232),并返回到步骤S200,继续进行一系列的处理。没有了未处理的像素时,就判定所有光栅的处理已结束了(步骤S234),还有未处理的光栅时,就使光栅位置向下移动2条光栅,即用「i+2」的值置换「i」(步骤S236),并返回到步骤S200,继续进行一系列的处理。没有了未处理的光栅时,图8所示的色调数变换处理即告结束,并返回到图4所示的图像数据变换处理。
如上所述,在实施例1的色调数变换处理中,对光栅i的像素还光栅j的像素平行地交替判断有无点形成。这样,对于光栅j的像素,紧接在光栅i的像素之后或很快就进行有无点形成的判断。因此,对于光栅j的像素有无点形成,不将从光栅i的像素向周边像素的扩散误差暂时存储到误差缓冲器中也可以直接进行判断,所以,可以减少向误差缓冲器的写入频度。只要可以减少向误差缓冲器的写入频度,就可以缩短判断有无点形成所需要的时间,所以,可以迅速地进行色调数变换处理。
另外,在需要节约误差缓冲器的存储容量时,进行对其他光栅的判断再次使用为了判断有无点形成而暂时使用的误差缓冲器的处理。这时,在上述实施例1的色调数变换处理中,对2条光栅可以将误差缓冲器按每1条光栅进行设置,所以,可以将误差缓冲器存储的全部光栅的条数减半。结果,即使不进行将判断点形成所使用的误差缓冲器为了其他光栅的判断而再次使用的处理,也可以节约误差缓冲器的容量。当然,如果平行地处理比2条多的多条光栅,可以对该多条光栅按每1条光栅设置误差缓冲器,所以,可以酒误差缓冲器的容量。
B-4.变形例(1)变形例1以上,作为最简单的例子,说明了对2条光栅平行地进行有无点形成的判断的情况,但是,平行地处理的光栅的条数不限于2条,也可以平行地进行3条以上的光栅的处理。图9是概念式地表示对3条光栅平行地进行有无点形成的判断的情况的说明图。在图9中,对光栅i、光栅j还光栅k等3条光栅平行地进行有无点形成的判断。为了避免说明的复杂化,和图7的情况一样,这里也使用图6(a)所示的误差扩散矩阵。
在光栅i和光栅L中画斜线,表示分配给这些光栅的像素的扩散误差存储到RAM106中。光栅i、光栅j和光栅k的各像素的圆圈符号中的数字表示判断各像素有无点形成的顺序。如图所示,对于开始的3个像素,按照和平行地处理在图7中说明的2个光栅时相同的顺序判断有无点形成。从以后的第4个像素开始,将光栅i、光栅j和光栅k的3个像素作为一组,按该顺序平行地判断有无点形成。这里,由于平行地进行光栅i~光栅k的3个光栅的处理,向这3个光栅的像素扩散的误差很快就要使用,所以,存储到CPU102的寄存器中。光栅L的像素扩散的误差在光栅i~光栅k的3个光栅的处理结束之后使用,所以,向光栅L的像素扩散的误差存储到RAM106中。通过反复进行这样的处理,便可平行地进行3个光栅的有无点形成的判断。
这样,如果平行地进行光栅i~光栅k的像素有无点形成的判断,在相互相邻的光栅i与光栅j或者光栅j与光栅k之间便可得到与平行地处理2光栅相同的效果。
此外,如果平行地进行光栅i~光栅k的处理,对于光栅k的像素,则在紧接光栅i的像素之后或不久就要判断有无点形成。因此,即使不将从光栅i的像素向周边像素扩散的扩散误差暂时存储到误差缓冲器中,也可以直接判断光栅k的像素有无点形成,于是,可以减少向误差缓冲器的读写频度,从而可以缩短进行有无点形成的判断所需要的时间。
(2)变形例2在以上的各种实施例中,为了避免说明的复杂化,误差扩散矩阵使用了图6(a)所示的比较小的矩阵。当然,使用其他误差扩散矩阵时,也可以按照同样的方法对多个光栅的像素平行地判断有无点形成。作为一例,使用图6(b)的误差扩散矩阵,并参照图10说明平行地判断2条光栅有无点形成的处理。
为了便于理解,将使用的误差扩散矩阵示于图10(a)。该矩阵与图6(b)所示的矩阵相同。使用这样的误差扩散矩阵时,在画着斜线的目的像素中发生的色调误差不仅向与目的像素相邻的像素而且向其邻近的像素扩散。如果将其与图10(b)对照,在像素Pj2中发生的色调误差,对于光栅i就是向像素Pi3和像素Pi4扩散,对于光栅j就是向像素Pj0~像素Pj4的个像素扩散。换言之,对于光栅j的像素Pj0,除了来自光栅i的像素Pi0的扩散误差和来自像素Pi1的扩散误差外,还分配了来自像素Pi2的扩散误差。因此,在对包含在光栅i中的3个像素的有无点形成的判断结束之后,开始进行位于光栅j中的像素Pj0的有无点形成的判断。即,使用图10(a)所示的误差扩散矩阵时,光栅i的像素与光栅j的像素的位置关系就是光栅j的像素相对于光栅i的像素滞后2像素的关系。这样,平行地进行多个光栅的处理时,包含在各光栅中的各个像素的位置关系可以根据扩散色调误差的范围来决定。保持着这样的位置关系,平行地判断这些光栅的像素有无点形成。
图10(b)是表示对光栅i的像素Pi2还光栅j的像素Pj0连续地进行有无点形成的判断的情况的说明图。图中与圆圈引起标出的数字表示在光栅i还光栅j的像素中该像素第几个进行有无点形成的判断。另外,从像素Pi2指向周边的像素的粗箭头概念式地表示在像素Pi2中发生的色调误差按照误差扩散矩阵向周边像素扩散的情况。如果将像素Pi2的色调误差向周边像素扩散了,就判断像素Pj0有无点形成。在像素Pj0中发生的色调误差中分配给光栅j的像素的扩散误差存储到CPU102的寄存器中,分配给光栅k的像素的扩散误差存储到RAM106中。从像素Pj0指向光栅k的像素的空心箭头表示分配给这些像素的扩散误差存储在RAM106中。如圆圈中的顺所示的那样,按照像素Pj01像素Pi3、像素Pj1这样的顺序对光栅i的像素还光栅j的像素交替地进行有无点形成的判断。分配给光栅i或光栅j的像素的扩散误差存储到CPU102的寄存器中,分配给光栅k的扩散误差存储到RAM106中。反复进行上述处理,如果对光栅i还光栅j的全部像素进行了有无点形成的判断,就使处理的光栅的位置向下移动2行,通过对光栅k和其之下的光栅反复进行同样的处理,使用图10(a)所示的误差扩散矩阵便可平行地进行2个光栅有无点形成的判断。
这样,在对光栅i和光栅j平行地进行有无点形成的判断时,也是在紧接光栅i的像素之后或很快就进行光栅j的像素有无点形成的判断。因此,即使不将从光栅i的像素向周边像素扩散的扩散误差暂时存储到误差缓冲器中,也可以直接进行光栅j的像素有无点形成的判断,所以,可以减少向误差缓冲器的读写频度。结果,减少向误差缓冲器的读写频度便可缩短进行有无点形成的判断所需要的时间。
(3)变形例3在以上的各种实施例中,说明了在目的像素中发生的色调误差向有目的像素的光栅的像素和该光栅之下1条光栅的像素扩散的情况,但是,不限定这样的情况。例如,如果使用图6(d)所示的误差扩散矩阵,在目的像素中发生的色调误差就从有目的像素的光栅下其下2条光栅的像素扩散。图11是作为一例概念式地表示使用图6(d)所示的误差扩散矩阵时平行地判断3条光栅有无点形成的处理的说明图。
为了便于理解,将使用的误差扩散矩阵示于图11(a)。该矩阵是和图6(d)的矩阵相同的矩阵。假定对光栅i、光栅j和光栅k这3条光栅平行地判断有无点形成。在光栅k的像素中发生的色调误差按照图11(a)的误差扩散矩阵下光栅k~光栅m的3条光栅的像素扩散,对于位于光栅L和光栅m这2条光栅上的像素,在光栅i~光栅k的3条光栅的处理结束之后判断有无点形成。因此,向光栅L和光栅m扩散的误差存储到RAM106中。在图11(b)中,在将扩散来的误差存储到RAM106中的像素中画上斜线进行表示。这样,使用图11(a)所示的误差扩散矩阵时,交替地出现扩散来的误差存储到CPU102的寄存器中的光栅和存储到RAM106中的2条光栅。
(4)变形例4将色调误差向宽的范围扩散时,从目的像素向指定远以上的远处扩散时,可以向误差缓冲器扩散。例如,设从目的像素向3像素以上的远处扩散的误差向存在误差缓冲器的像素扩散,可以使用图12(a)所示的误差扩散矩阵。在图12(a)中,从目的像素到远处跨越2条光栅,像素用虚线作为一体进行显示,是表示在这些区域中误差向2条光栅中存在误差缓冲器的光栅扩散。下面,参照图12(b)、(c)具体地说明。考虑目的像素位于存在误差缓冲器的光栅上的情况。这时,误差缓冲器位于有目的像素的光栅和其之下的2条光栅上,所以,结果便和按照图12(b)所示的矩阵扩散误差的情况相同。其次,考虑目的像素位于不存在误差缓冲器的光栅上的情况,这时,误差缓冲器位于从上下将有目的像素的光栅夹在中间的2条光栅上,所以,结果便和按照图12(c)所示的矩阵扩散误差的情况相同。
比较这样的图12(a)的误差扩散矩阵和与其对应的图6(c)的误差扩散矩阵可知,向图6(c)的像素K03和像素K13扩散的误差,在图12(a)中则集中在一起向距离目的像素3像素处的区域(图中表示为K3)扩散。同样,向图6(c)的像素K04和像素K14扩散的误差,在图12(a)中则集中在一起向距离目的像素4像素处的区域(图中表示为K4)扩散。
将在目的像素中发生的误差向远处扩散时,在经验上知道,即使扩散误差的像素的位置多少偏离,也不会发生太大的画质的恶化。因此,将色调误差向宽的范围扩散时,对于远处的像素,即使向有误差缓冲器的像素扩散,画质也不会发生恶化。在上述各种实施例中,不将误差向误差缓冲器扩散时,就存储到CPU102的寄存器中。因此,对于远处的像素,如果存储到误差缓冲器中,便可节约进行有无点形成的判断所使用的寄存器。如果减少了存储误差的寄存器的数量,便可使处理简化,此外,如果将节约的寄存器用于其他目的,便可迅速地进行有无点形成的判断。
在以上的说明中,假定将误差向跨越2条光栅的像素扩散,但是,如果使用图12(d)所示的误差扩散矩阵,也可以跨越3条光栅进行扩散。这样,向更多条的光栅扩散时,对于向远处扩散的误差,如果向误差缓冲器扩散,就不会招致画质恶化,从而可以简单而迅速地进行处理。
C.实施例2以上作为实施例1的色调数变换处理而说明的各种实施例,将通过判断有无点形成而在目的像素中发生的色调误差按照在误差扩散矩阵中设定的误差扩散系数向周边的像素扩散。从这个意义上说,可以认为实施例1的方法是基于称为所谓的误差扩散法的方法。利用不基于这样的方法而基于称为所谓的平均误差最小法的方法,也可以平行地进行多个光栅有无点形成的判断。下面,说明这样的实施例2的色调数变换处理。
C-1.实施例2的色调数变换处理图13是概念式地表示在实施例2的色调数变换处理中通过偏心地进行多个光栅的处理而迅速地进行有无点形成的判断的原理的说明图。在进入实施例2的色调数变换处理的详细说明之前,作为其准备,先使用图13简单地说明称为平均误差最小法的方法。
在平均误差最小法中,判断目的像素有无点形成时,从已判断了有无点形成的周边像素中读出在各像素中发生的色调误差,考虑这些色调误差,进行目的像素有无点形成的判断。下面,参照图13(a)说明这些处理。图13(a)是表示判断像素Pi0有无点形成的情况的说明图。要判断像素Pi0有无点形成时,先将指定的权重系数乘以在像素Pi0周边的像素Ph0和像素Ph1中发生的色调误差,并计算将它们相加之后的值。在图13(a)中,在像素Ph0和像素Ph1中分别表示为Eh0、Eh1的符号,表示在各像素中发生的色调误差Eh0和Eh1。其次,用计算的值修正像素Pi0的图像数据,根据得到的修正值与指定的阈值的大小关系判断有无点形成。与色调误差相乘的权重系数,根据各像素与目的像素的相对位置关系预先对各像素设定。图13(b)是表示以目的像素为中心对周边的各像素设定权重系数的情况的说明图。图中画了斜线的像素是目的像素。例如,对目的像素左边相邻的像素,设定其权重系数为「K0-1」。对目的像素周边的各像素设定权重系数的矩阵不限于图13(b)的矩阵,可以使用图14所示的各种矩阵。
这样,如果对像素Pi0进行了有无点形成的判断,就开始对位于右边相邻的像素Pi1进行有无点形成的判断。在进行像素Pi1的有无点形成的判断时,按照图13(b)中设定的矩阵,考虑在像素Ph0、像素Ph1、像素Ph2和像素Pi0中发生的色调误差,进行有无点形成的判断。如果对像素Pi1的判断结束了,进而就开始对位于右边相邻的像素Pi2进行判断。这样,就沿着光栅逐个像素进行有无点形成的判断。作为有无点形成的判断的结果而发生的色调误差存储到设置在RAM中的误差缓冲器中,在对位于现在处理中的光栅上的全部像素进行的有无点形成的判断结束之后,在位于其下的1个光栅的处理中,再次从RAM的误差缓冲器中读出进行使用。
如上所述,为了使用平均误差最小法进行有无点形成的判断,每次对目的像素进行有无点形成的判断时,都必须从设置在RAM中的误差缓冲器中读出周边像素的色调误差,另外,为了将通过判断而在目的像素中发生的色调误差用于进行其他像素的有无点形成的判断,必须预先存储到误差缓冲器中。这样,由于频繁地对误差缓冲器读写色调误差,所以,进行有无点形成的判断就需要一定的时间。
与此相反,在以下说明的实施例2的色调数变换处理中,通过平行地进行多个光栅的处理,可以迅速地进行有无点形成的判断。下面,参照图13说明通过平行地进行多个光栅的处理而迅速地进行有无点形成的判断的原理。
图13是作为最简单的例子表示对2条光栅平行地进行有无点形成的判断的原理的说明图。这里,假定对光栅i和紧在其之下的光栅j的2条光栅平行地进行有无点形成的判断。
首先,对光栅i的最左侧的像素Pi0进行有无点形成的判断。图13(a)概念式地表示判断像素Pi0有无点形成的情况。为了对目的像素Pi0进行判断,和上述平均误差扩散法一样,使用像素Ph0的色调误差Eh0和像素Ph1的色调误差Eh1。这些色调误差存储在计算机100的RAM106中。将在图13(b)的矩阵中设定的权重系数乘以从RAM106中读出的各色调误差,修正目的像素Pi0的图像数据。根据这样得到的修正值判断像素Pi0有无点形成。在图13(a)中,从像素Ph0或像素Ph1指向目的像素Pi0的粗线箭头概念式地表示为了判断目的像素Pi0有无点形成而考虑像素Ph0或像素Ph1的色调误差。
如果对像素Pi0进行了有无点形成的判断,在将发生的色调误差暂时存储到CPU102的寄存器中之后,开始对像素Pi0的右边相邻的像素Pi1进行有无点形成的判断。如在图13(b)中设定的那样,在像素Pi1的有无点形成的判断中,考虑在像素Ph0、像素Ph1、像素Ph2和像素Pi0的各像素中发生的色调误差。在图13(a)中,从各像素指向像素Pi1的细线箭头概念式地表示为了进行目的像素Pi1有无点形成的判断而考虑这些像素的色调误差。这4各色调误差中,像素Ph0的色调误差Eh0和像素Ph1的色调误差Eh1预先存储了在刚才对像素Ph0的有无点形成的判断中使用的值,所以,可以使用该值。另外,像素Pi0的色调误差可以使用刚才求出的值。因此,只要从RAM106中仅读出像素Ph2的色调误差Eh2,就可以对像素Pi1进行有无点形成的判断。作为判断的结果而在像素Pi1中发生的色调误差预先存储到CPU102的寄存器中。
在实施例2的色调数变换处理中,如果对位于光栅i上的像素Pi0和像素Pi1进行了有无点形成的判断,然后就对位于光栅j上的像素Pj0进行有无点形成的判断。图13(c)是概念式地表示判断像素Pj0有无点形成的情况的说明图。由图13(b)的矩阵可知,仅考虑像素Pi0和像素Pi1的色调误差,便可进行像素Pj0的有无点形成的判断。如前所述,这些色调误差Ei0和Ei1在像素Pj0之前求出,并存储到CPU102的寄存器中。因此,对于像素Pj0,不从RAM106中读出色调误差就可以进行有无点形成的判断。这样,如果对像素Pj0进行了有无点形成的判断,就将在像素Pj0中发生的色调误差存储到CPU102的寄存器和RAM106的误差缓冲器中,以后,就对光栅i的像素和光栅j的像素交替地进行有无点形成的判断。
将像素Pj0的色调误差存储到RAM106的误差缓冲器中的理由在于,在光栅i和光栅j的处理结束之后,对位于光栅k上的像素进行有无点形成的判断时,要使用色调误差Ej0。另外,不仅存储到误差缓冲器中而且也存储到CPU102的寄存器中,是由于在进行相邻的像素Pj1有无点形成的判断要使用。在进行上述像素Pi0或像素Pi1有无点形成的判断时,读出这样存储在RAM106中的色调误差进行使用。在图13中,在光栅h和光栅j的像素中画斜线是表示这些像素的色调误差存储在误差缓冲器中。
在图13(d)中,像素中圆圈符号中的顺表示对各像素进行有无点形成的判断的顺序。如图13(d)所示,在继像素Pj0之后进行有无点形成的判断的像素是位于光栅i上的像素Pi2的像素。在这样的像素的有无点形成判断中考虑的色调误差是像素Ph1、像素Ph2、像素Ph3和像素Pi1的4个色调值,但是,如果存储了上述像素Pi1时使用的色调误差,仅从RAM106中读出在像素Ph3中发生的色调误差便可进行有无点形成的判断。此外,在像素Pi2之后,进行光栅j的像素Pj1有无点形成的判断。在像素Pj1的有无点形成的判断中,使用像素Pi0、像素Pi1、像素Pi2和像素Pj0的各像素的色调误差,这些色调误差都在进行判断之前求出,并存储到CPU102的寄存器中。因此,对于像素Pj1,不从RAM106中读出色调误差就可以进行有无点形成的判断。这样,如果求出了像素Pj1的色调误差Ej1,就将色调误差Ej1存储到CPU102的寄存器和RAM106的误差缓冲器中。
如上所述,对光栅i的像素和位于该像素左下方的光栅j的像素交替地进行有无点形成的判断。这样,只要可以平行地进行与光栅i相邻的光栅j的处理,对于光栅j的像素,不从RAM106中读出色调误差便可进行有无点形成的判断。即,可以减少对RAM106的误差缓冲器进行读写的频度,从而可以迅速地进行有无点形成的判断。
如图13所示,对于光栅i的左端的像素即像素Pi0,由于在该像素的左下方不存在光栅j的像素,所以,变通地在像素Pi0之后进行位于相同的光栅i上的像素Pi1的处理。在像素Pi0的左下方设想架空的像素Pj-1,在紧接像素Pi0进行架空的像素Pj-1的处理之后,对这样的架空像素Pj-1可以不使用有无点形成的判断结果而舍弃。这样,对于左端的像素,也可以对架空的像素进行通常的处理,所以,就不需要变通的处理了。
图15是表示对2条光栅平行地进行有无点形成的判断的处理的流程的流程图。该处理由计算机100进行。和上述实施例1的色调数变换处理一样,实施例2的色调数变换处理也按彩色打印机具有的各色进行,为了避免说明的复杂化,不特定墨点的颜色而进行说明。另外,在使用所谓的可变点打印机时,实施例2的色调数变换处理按点的各种带进行,这和上述实施例1的情况相同。
在开始进行实施例2的色调数变换处理时,首先,从平行地进行处理的光栅的第1条光栅中取得要进行有无点形成的判断的像素的图像数据(步骤S300)。这里,和实施例1一致,设要处理的像素(目的像素)为光栅i的第n各像素Pin。图像数据Cdin存储到RAM106中。
其次,读出目的像素Pin的周边像素的色调误差(步骤S302)。所谓周边像素,就是在距离目的像素的指定区域内的在进行目的像素的有无点形成的判断中考虑色调误差的像素。在进行目的像素有无点形成的判断时,作为周边像素,可以考虑各种范围的像素,但是,为了避免说明的复杂化,下面,考虑图14(a)的矩阵所示的周边像素。在步骤S302读出周边像素的色调误差时,如使用图13说明的那样,将在进行目的像素Pin的左边相邻的像素Pin-1的判断时读出的各像素的色调误差预先存储到寄存器中,在步骤S302可以从RAM106中仅读出寄存器未存储的色调误差。
根据这样读出的周边像素的色调误差和目的像素Pin的图像数据Cdin计算目的像素Pin的修正数据Cxin(步骤S304)。即,将对各周边像素决定的指定的权重系数乘以周边像素的色调误差,求出这些计算值与目的像素Pin的图像数据Cdin之和,作为修正数据Cxin。周边像素的权重系数由图14(a)的矩阵对各像素进行决定。
比较这样得到的修正数据Cxin和指定的阈值th(步骤S306),如果修正数据大,就判定在像素Pin中形成了点,并将表示形成了点的值「1」写入表示判断结果的变数Cr(步骤S308)。否则就判定在像素Pin中未形成点,并将表示未形成点的值「0」写入变数Cr(步骤S310)。
如果对光栅i的像素Pin进行了有无点形成的判断,就计算伴随该判断而发生的基调误差Ein,并存储到CPU102的寄存器中(步骤S312)。和实施例1一样,通过从修正数据Cxin中减去目的像素Pin的结果值,便可求出色调误差Ein。
如上述那样,如果对光栅i上的像素Pin进行了有无点形成的判断并将色调误差存储到了CPU102的寄存器中,就开始对位于像素Pin的左下方的光栅j的像素Pjn-1进行有无点形成的判断的处理。首先,从RAM106中读出像素Pjn-1的图像数据Cdin-1(步骤S314),从CPU102的寄存器中读出周边的各像素的色调误差(步骤S316)。像素Pin是位于光栅i的左端的像素Pi0时,就对架空的像素Pj-1进行同样的处理。
下面,说明在步骤S316可以从寄存器中读出周边像素的色调误差而可以不从RAM106的误差缓冲器中读出的理由。如前所述,作为周边像素,考虑了图14(a)所示的范围,所以,在进行光栅j上的像素有无点形成的判断中,考虑位于相同的光栅i上的像素的色调误差和光栅j的像素的色调误差。这里,由于对光栅i的像素和光栅j的像素平行地进行有无点形成的判断,所以,在进行光栅j上的像素有无点形成的判断时成为周边像素的就全部都是此前刚刚进行了有无点形成的判断的像素。因此,如果将通过判断有无点形成而发生的色调误差暂时存储到CPU102的寄存器中,即使不从RAM106的误差缓冲器中读出,也可以从寄存器中全部读出周边像素的色调误差。
这样,如果对像素Pjn-1读出了周边像素的色调误差,和像素Pin的情况一样,可以进行有无点形成的判断,并计算膀该判断而发生的色调误差Ejn-1。即,根据周边像素的色调误差和目的像素Pjn-1的图像数据Cdin-1计算修正数据Cxin-1(步骤S318),比较得到的修正数据Cxjn-1和指定的阈值th(步骤S320),如果修正数据大,就判定在像素Pjn-1中形成了点,并将表示形成了点的值「1」写入表示判断结果的变数Cr(步骤S322)。否则就判定在像素Pjn-1中未形成点,并将表示未形成点的值「0」写入变数Cr(步骤S324)。然后,从修正数据Cxjn-1中减去目的像素Pjn-1的结果值,计算在目的像素Pjn-1中发生的色调误差Ejn-1。
通过上述处理,如果求出了光栅j上的像素Pjn-1的色调误差Ejn-1,就将该色调误差Ejn-1存储到CPU102的寄存器和RAM106的误差缓冲器中(步骤S328)。这里,将色调误差存储到寄存器和误差缓冲器中的理由如下。即,像素Pjn-1的色调误差Ejn-1在进行相邻的像素Pjn的有无点形成的判断和下一个光栅k上的像素有无点形成的判断中使用。这里,由于平行地进行光栅i和光栅j的处理,所以,相邻的像素Pjn的有无点形成的判断很快就进行,但是,位于光栅k上的像素的判断则要在光栅i和光栅j的处理结束之后蔡进行。因此,为了在像素Pjn的判断中使用像素Pjn-1的色调误差Ejn-1,存储到CPU102的寄存器中,同时,为了在光栅k的像素的判断中使用,也存储到RAM106的误差缓冲器中。
通过上述处理,如果对光栅i的像素和光栅j的像素进行有无点形成的判断结束了,就判断对光栅i和光栅j的所有的像素的处理是否结束了(步骤S330)。如果还有未处理的像素时,就使像素的位置向右移动1像素,即用「n+1」的值置换「n」,并返回到步骤S300,继续进行一系列的处理。如果已没有未处理的像素时,就判断所有的光栅的处理是否结束了(步骤S332),如果还有未处理的光栅,就使光栅位置向下移动2条光栅,即用「i+2」的值置换「i」,然后返回到步骤S300,继续进行一系列的处理。如果已没有未处理的光栅了,图15所示的色调数变换处理即告结束,并返回到图4所示的图像数据变换处理。
如上所述,按照实施例2的色调数变换处理,对光栅i的像素和光栅j的像素平行地交替地进行有无点形成的判断。这样,光栅j的像素就紧接在光栅i的像素之后或很快便进行有无点形成的判断,所以,即使不预先将在光栅i的像素这发生的色调误差存储到误差缓冲器中,也可以对光栅j的像素进行有无点形成的判断。如果可以不将在光栅i的像素中发生的色调误差存储到误差缓冲器中,就可以减少向误差缓冲器的写入频度,从而可以迅速地进行有无点形成的判断。当然,平行地处理的光栅的条数不限于2条,也可以对更多的光栅平行地进行有无点形成的判断。平行地处理的光栅的条数越多,向误差缓冲器的写入频度就越少,从而可以迅速地进行有无点形成的判断。
C-2.变形例上述实施例2的色调数变换处理,使用基于称为所谓的平均误差最小方的方法进行有无点形成的判断。即,就在目的像素中发生的色调误差预先存储到该目的像素中,在进行新的像素有无点形成的判断时,考虑存储到周边的像素中的色调误差来进行有无点形成的判断。另外,在上述实施例1的色调数变换处理中,使用基于称为所谓的误差扩散法的方法进行有无点形成的判断。即,就在目的像素中发生的色调误差向周边像素扩散,在进行新的像素有无点形成的判断时,考虑从周边的已判断像素扩散来的积累的扩散误差,进行有无点形成的判断。与它们相反,也可以同时 用平均误差最小方和误差扩散法进行有无点形成的判断。下面,简单地说明这样的实施例2的变形例。
图16是概念式表示实施例2的变形例的色调数变换处理的说明图。为了避免说明的复杂化,这里假定对光栅i和光栅j平行地进行处理。另外,在将色调误差向周边像素扩散时,按照图6(a)所示的简单的误差扩散矩阵进行扩散,在考虑周边像素的色调误差进行有无点形成的判断时按照图14(a)所示的简单的矩阵考虑各像素的色调误差。
图16(a)是表示对光栅i的左端的像素Pi0进行有无点形成的判断的情况的说明图。在判断光栅h上的像素有无点形成时,在各像素中发生的色调误差向光栅i的各像素扩散并进行存储。例如,从光栅h扩散来的扩散误差Edi0存储到像素Pi0中,从光栅h扩散来的扩散误差Edi1存储到像素Pi1中,扩散误差Ei2存储到像素Pi2中。为了便于理解,将使用的误差扩散矩阵示于图16(b)。另外,在图16(a)中,从光栅h的像素指向光栅i的像素的箭头概念式地表示从各像素扩散误差。
如果对像素Pi0进行了有无点形成的判断,就将膀判断而发生的色调误差Ei0存储到CPU102的寄存器中,然后开始进行右边相邻的像素Pi1有无点形成的判断。对像素Pi1的有无点形成的判断,和使用图7说明的实施例1的色调数变换处理一样进行。即,读出预先扩散并存储在像素Pi1中的扩散误差Edi1,考虑该扩散误差Edi1和从刚才进行了有无点形成的判断的像素Pi0扩散来的误差,根据图像数据进行有无点形成的判断。这样,如果对像素Pi1进行了有无点形成的判断,和像素Pi0的情况一样,将通过该判断而发生的色调误差存储到CPU102的寄存器中。
通过上述处理,如果对光栅i上的像素Pi0和像素Pi1进行了有无点形成的判断,就对位于光栅j的左端的像素Pj0进行判断。图16(c)是表示对光栅j的像素Pj0判断有无点形成的情况的说明图。对光栅j的像素的判断,使用基于平均误差最小法的方法判断有无点形成。即,对在周边像素中发生的色调误差,考虑根据矩阵对各像素决定的指定的权重进行有无点形成的判断。为了便于理解,将使用的矩阵示于图16(d)。
如图16(d)的矩阵所示的那样,对像素Pj0的有无点形成的判断,可以使用在像素Pi0和像素Pi1中发生的色调误差。如前所述,这些色调误差已求出并且已存储在CPU102的寄存器中,所以,可以对像素Pj0迅速地进行有无点形成的判断。这样对像素Pj0进行判断的结果,就是发生了色调误差,所以,现在就按照误差扩散矩阵向位于光栅k上的周边像素分配扩散误差。扩散误差的分配,使用图16(b)的误差扩散矩阵。这里,由于对光栅i和光栅j的像素平行地进行处理,所以,对光栅k的像素的有无点形成的判断就是在这些光栅的处理结束之后。因此,向光栅k的各像素扩散的扩散误差预先存储到RAM106的误差缓冲器中。在图16(c)中,从像素Pj0指向光栅k上的像素Pk0和像素Pk1的空心箭头表示存储在RAM106的误差缓冲器中。
如上所述,对光栅i的像素,根据误差扩散法进行有无点形成的判断,对光栅j的像素,根据平均误差最小法进行有无点形成的判断。在光栅j的像素中发生的色调误差,根据误差扩散法向周边像素扩散。通过反复进行这样的处理,可以对光栅i和光栅j的像素交替地进行有无点形成的判断。图16(e)是概念式地表示这样的处理的情况的说明图。在图16(e)中,通过在光栅i的像素中画斜线来表示从光栅h扩散来的扩散误差已存储在光栅i的像素中。同样,通过在光栅k的像素中画斜线来表示从光栅j扩散来的扩散误差已存储在光栅k的像素中。另外,在图16(e)的各像素中与圆圈符号一起表示的数字,表示进行像素的有无点形成的判断的顺序。如图所示,将光栅i的像素和位于其左下方的光栅j的像素作为1组,通过使处理的1组的位置逐次向右移动1像素而进行有无点形成的判断,便可平行地进行光栅i和光栅j的处理。
这样,只要对光栅i和光栅j的像素平行地交替进行有无点形成的判断,利用在光栅i的像素中发生的色调误差,就可以对此后的光栅j的像素进行有无点形成的判断,从而就不必将光栅i的像素的色调误差存储到误差缓冲器中。结果,便可减少对误差缓冲器进行读写的频度,从而可以迅速地进行有无点形成的判断。
在以上的说明中,是将基于误差扩散法的方法应用于对光栅i的像素进行有无点形成的判断,将基于平均误差最小法的方法应用于对光栅j的像素的判断,但是,将基于平均误差最小法的方法应用于对光栅i的像素的判断,将j的像素的判断,也可以获得同样的效果。
另外,在以上说明的实施例2的变形例中,是平行地进行光栅i和光栅j的2条光栅的处理,但是,也可以对更多的光栅的像素平行地进行有无点形成的判断。
以上,说明了各种实施例,但是,本发明不限于上述所有的实施例,在不脱离其主旨的范围内,可以用各种形式实施。例如,可以将实现上述功能的软件程序(应用程序)通过通信线路供给计算机系统的住存储器或外部存储装置来执行。当然,也可以读入CD-ROM或软盘存储的软件程序来执行。
另外,在上述各种实施例中,包含色调数变换处理的图像数据变换处理是在计算机内执行的,但是,也可以使用打印机侧的或专用的图象处理装置执行图像数据变换处理的一部分或全部。
此外,图像显示装置不限于在印刷媒体上形成墨点而印刷图像的印刷装置,也可以是例如在液晶显示画面上通过以适当的明度分散亮点而表现色调连续变化的图像的液晶显示装置。
产业上利用的可能性如上所述,按照本发明的图象处理装置、印刷控制装置和图象处理方法,可以不使画质恶化而迅速地变换图像数据,所以,极适合应用于图像的输出装置。特别是极适合于处理大尺寸的图像数据而印刷高画质的图像或者不使画质恶化而迅速地印刷图像的印刷装置。
权利要求
1.一种接收表示各像素的色调值的图像数据并通过沿着该像素的列的光栅判断在构成该光栅的各像素中有无点形成而将该图像数据变换为有无点形成的表现形式的图象处理装置,其特征在于具有光栅群生成单元、最末尾光栅变换单元、第1误差扩散单元、开头光栅变换单元、第2误差扩散单元和其余光栅变换单元,光栅群生成单元将相互相邻的多条光栅集合起来生成光栅群;最末尾光栅变换单元选择位于上述光栅群中最末尾的最末尾光栅并通过对构成该最末尾光栅的各像素判断有无点形成而将该最末尾光栅变换为表示有无点形成的点列;第1误差扩散单元对构成上述最末尾光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差并向位于该各像素的周边的多个未判断的像素扩散;开头光栅变换单元选择位于与上述最末尾光栅相邻的光栅群中开头位置的开头光栅并通过考虑从该最末尾光栅向该开头光栅的各像素扩散的上述色调误差而对构成该开头光栅的各像素判断有无点形成,将该开头光栅变换为表示有无点形成的点列;第2误差扩散单元将在构成上述开头光栅的各像素中发生的上述色调误差向位于该各像素的周边的未判断的像素扩散;其余光栅变换单元通过对从上述光栅群中除了上述开头光栅的其余光栅考虑从属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素扩散的上述色调误差并判断该其余光栅的各像素有无点形成而与将该开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列,上述第1误差扩散单元和上述第2误差扩散单元是将向与判断上述有无点形成的像素不同的光栅群的像素扩散的误差存储到第1误差存储部而将向与判断有无该点形成的像素相同的光栅群的像素扩散的误差存储到第2误差存储部的单元。
2.按权利要求1所述的图象处理装置,其特征在于上述第2误差存储部是可以比上述第1误差存储部迅速地执行数据的存储或读出中的至少一方的存储部。
3.按权利要求1所述的图象处理装置,其特征在于上述第1误差存储部是可以将上述扩散的误差以至少与构成上述开头光栅的像素相同数的像素数同时存储的存储部,上述第2误差存储部是将上述扩散的误差以比构成上述开头光栅的像素少的像素数体存储的存储部。
4.按权利要求3所述的图象处理装置,其特征在于使用计算机进行上述图像数据的变换,上述第1误差存储部是上述计算机的运算装置间接地进行写入或读出数据的存储元件,上述第2误差存储部善始善终运算装置直接进行写入或读出数据的存储元件。
5.按权利要求1所述的图象处理装置,其特征在于上述第1误差扩散单元是作为与判断了上述有无点形成的像素变通的光栅群的像素,而仅向与上述最末尾光栅相邻的上述开头光栅的像素扩散的单元。
6.按权利要求1所述的图象处理装置,其特征在于上述光栅群生成单元是将相互相邻的2条上述光栅集中在一起生成上述光栅群所单元,上述第1误差扩散单元是将上述色调误差向上述最末尾光栅的像素和与该最末尾光栅相邻的上述开头光栅的像素扩散的单元,上述第2误差扩散单元是将在上述开头光栅的像素中发生的上述色调误差向该开头光栅的像素和后续在该开头光栅之后的上述最末尾光栅的像素扩散的单元,上述其余光栅变换单元是与变换上述开头光栅的处理平行地将上述最末尾光栅变换为点列的单元。
7.按权利要求1所述的图象处理装置,其特征在于上述第1误差扩散单元或上述第2误差扩散单元中的至少一方是在上述色调误差从发生该色调误差的像素向指定值以上的远处的像素扩散时仅向与判断了上述有无点形成的像素变通的光栅群的像素扩散的单元。
8.一种接收表示各像素的色调值的图像数据并通过沿着该像素的列的光栅判断在构成该光栅的各像素中有无点形成而将该图像数据变换为有无点形成的表现形式的图象处理装置,其特征在于具有光栅群生成单元、选择光栅变换单元、第1色调误差存储单元、开头光栅变换单元、第2色调误差存储单元和其余光栅变换单元,光栅群生成单元将相互相邻的多条光栅集合起来生成光栅群;选择光栅变换单元至少包含位于上述光栅群的最末尾的最末尾光栅从该光栅群中选择光栅,通过对构成该选择的光栅的各像素判断有无点形成,就该选择的光栅变换为表示有无点形成的点列;第1色调误差存储单元对构成上述选择的光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差,使之与进行了该判断的各像素对应,并存储到第1存储部中;开头光栅变换单元选择位于与上述最末尾光栅相邻的光栅群中的开头位置的开头光栅,在构成该开头光栅的各像素的周边,考虑已判断了有无点形成的周边像素存储的上述色调误差,通过判断该各像素有无点形成,将该开头光栅变换为点列;第2色调误差存储单元使在构成上述开头光栅的各像素中发生的上述色调误差与进行了上述判断的各像素对应,并存储到第2存储部中;其余光栅变换单元对从上述光栅群中除了上述开头光栅的其余的光栅考虑在属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素中发生的上述色调误差,通过判断该其余光栅的各像素有无点形成,与将上述开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列。
9.按权利要求8所述的图象处理装置,其特征在于上述第2存储部是可以比上述第1存储部迅速地执行数据的存储或读出中的至少一方的存储部。
10.按权利要求8所述的图象处理装置,其特征在于上述第1存储部是可以将在构成上述最末尾光栅的各像素中发生的色调误差以与构成该最末尾光栅的像素数相同的像素数体存储的存储部,上述第2存储部是将在构成上述开头光栅的各像素中发生的色调误差以比构成该开头光栅的像素数少的像素数体存储的存储部。
11.按权利要求8所述的图象处理装置,其特征在于使用计算机进行上述图像数据的变换,上述第1存储部是上述计算机的运算装置间接地进行写入或读出数据的存储元件,上述第2存储部善始善终运算装置直接进行写入或读出数据的存储元件。
12.按权利要求8所述的图象处理装置,其特征在于上述第1色调误差存储单元是仅将在构成上述光栅群中的上述最末尾光栅的各像素中发生的色调误差存储到上述第1存储部的单元。
13.按权利要求8所述的图象处理装置,其特征在于上述光栅群生成单元是将相互相邻的2条上述光栅集中在一起生成上述光栅群的单元,上述第1色调误差存储单元是仅将在上述最末尾光栅中发生的色调误差存储到上述第1存储部的单元,上述其余光栅变换单元是与变换上述开头光栅的处理平行地将上述最末尾光栅变换为点列的单元。
14.按权利要求1或权利要求8所述的图象处理装置,其特征在于上述其余光栅变换单元是在将上述其余光栅变换点列时通过考虑从属于与该其余光栅相同的光栅群并且已进行了有无点形成的判断的像素扩散来的上述色调误差而判断有无点形成从而将该其余光栅变换为点列的单元。
15.按权利要求1或权利要求8所述的图象处理装置,其特征在于上述其余光栅变换单元是在将上述其余光栅变换为点列时通过考虑在属于与该其余光栅相同的光栅群并且已进行了有无点形成的判断的像素中发生的上述色调误差而判断有无点形成从而将该其余光栅变换为点列的单元。
16.一种接收表示各像素的色调值的图像数据并通过沿着该像素的列的光栅判断在构成该光栅的各像素中有无点形成而将该图像数据变换为利用有无点形成的表现形式的印刷数据、从而在印刷媒体上形成墨点并通过向印刷图像的印刷部输出该印刷数据而控制该印刷部的印刷控制装置,其特征在于具有光栅群生成单元、最末尾光栅变换单元、第1误差扩散单元、开头光栅变换单元、第2误差扩散单元、其余光栅变换单元和印刷数据输出单元,光栅群生成单元将相互相邻的多条光栅集合起来生成光栅群;最末尾光栅变换单元选择位于上述光栅群中最末尾的最末尾光栅并通过对构成该最末尾光栅的各像素判断有无点形成而将该最末尾光栅变换为表示有无点形成的点列;第1误差扩散单元对构成上述最末尾光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差并向位于该各像素的周边的多个未判断的像素扩散;开头光栅变换单元选择位于与上述最末尾光栅相邻的光栅群中开头位置的开头光栅并通过考虑从该最末尾光栅向该开头光栅的各像素扩散的上述色调误差而对构成该开头光栅的各像素判断有无点形成,将该开头光栅变换为表示有无点形成的点列;第2误差扩散单元将在构成上述开头光栅的各像素中发生的上述色调误差向位于该各像素的周边的未判断的像素扩散;其余光栅变换单元通过对从上述光栅群中除了上述开头光栅的其余光栅考虑从属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素扩散的上述色调误差并判断该其余光栅的各像素有无点形成而与将该开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列;印刷数据输出单元将上述变换的开头光栅的点列和上述其余光栅的点列作为上述印刷数据向上述印刷部输出,上述第1误差扩散单元和上述第2误差扩散单元是将向与判断上述有无点形成的像素不同的光栅群的像素扩散的误差存储到第1误差存储部而将向与判断有无该点形成的像素相同的光栅群的像素扩散的误差存储到第2误差存储部的单元。
17.一种接收表示各像素的色调值的图像数据并通过沿着该像素的列的光栅判断在构成该光栅的各像素中有无点形成而将该图像数据变换为利用有无点形成的表现形式的印刷数据、从而在印刷媒体上形成墨点并通过向印刷图像的印刷部输出该印刷数据而控制该印刷部的印刷控制装置,其特征在于具有光栅群生成单元、选择光栅变换单元、第1色调误差存储单元、开头光栅变换单元、第2色调误差存储单元、其余光栅变换单元和印刷数据输出单元,光栅群生成单元将相互相邻的多条光栅集合起来生成光栅群;选择光栅变换单元至少包含位于上述光栅群的最末尾的最末尾光栅从该光栅群中选择光栅,通过对构成该选择的光栅的各像素判断有无点形成,就该选择的光栅变换为表示有无点形成的点列;第1色调误差存储单元对构成上述选择的光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差,使之与进行了该判断的各像素对应,并存储到第1存储部中;开头光栅变换单元选择位于与上述最末尾光栅相邻的光栅群中的开头位置的开头光栅,在构成该开头光栅的各像素的周边,考虑已判断了有无点形成的周边像素存储的上述色调误差,通过判断该各像素有无点形成,将该开头光栅变换为点列;第2色调误差存储单元使在构成上述开头光栅的各像素中发生的上述色调误差与进行了上述判断的各像素对应,并存储到第2存储部中;其余光栅变换单元对从上述光栅群中除了上述开头光栅的其余的光栅考虑在属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素中发生的上述色调误差,通过判断该其余光栅的各像素有无点形成,与将上述开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列;印刷数据输出单元将上述变换的开头光栅的点列和上述其余光栅的点列作为上述印刷数据向上述印刷部输出。
18.一种接收表示各像素的色调值的图像数据并通过沿着该像素的列的光栅判断在构成该光栅的各像素中有无点形成而将该图像数据变换为有无点形成的表现形式的图象处理方法,其特征在于包括以下步骤,即(A)将相互相邻的多条光栅集合起来生成光栅群的步骤;(B)选择位于上述光栅群中最末尾的最末尾光栅并通过对构成该最末尾光栅的各像素判断有无点形成而将该最末尾光栅变换为表示有无点形成的点列的步骤;(C)对构成上述最末尾光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差并向位于该各像素的周边的多个未判断的像素扩散的步骤;(D)选择位于与上述最末尾光栅相邻的光栅群中开头位置的开头光栅并通过考虑从该最末尾光栅向该开头光栅的各像素扩散的上述色调误差而对构成该开头光栅的各像素判断有无点形成,将该开头光栅变换为表示有无点形成的点列的步骤;(E)将在构成上述开头光栅的各像素中发生的上述色调误差向位于该各像素的周边的未判断的像素扩散的步骤;(F)通过对从上述光栅群中除了上述开头光栅的其余光栅考虑从属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素扩散的上述色调误差并判断该其余光栅的各像素有无点形成而与将该开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列的步骤;上述步骤(C)和上述步骤(E)是将向与判断上述有无点形成的像素不同的光栅群的像素扩散的误差存储到第1误差存储部而将向与判断有无该点形成的像素相同的光栅群的像素扩散的误差存储到第2误差存储部的步骤。
19.一种接收表示各像素的色调值的图像数据并通过沿着该像素的列的光栅判断在构成该光栅的各像素中有无点形成而将该图像数据变换为有无点形成的表现形式的图象处理方法,其特征在于包括以下步骤。即,(A)将相互相邻的多条光栅集合起来生成光栅群的步骤;(B)至少包含位于上述光栅群的最末尾的最末尾光栅从该光栅群中选择光栅,通过对构成该选择的光栅的各像素判断有无点形成,就该选择的光栅变换为表示有无点形成的点列的步骤;(C)对构成上述选择的光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差,使之与进行了该判断的各像素对应而进行存储的步骤;(D)选择位于与上述最末尾光栅相邻的光栅群中的开头位置的开头光栅,在构成该开头光栅的各像素的周边,考虑已判断了有无点形成的周边像素存储的上述色调误差,通过判断该各像素有无点形成而将该开头光栅变换为点列的步骤;(E)使在构成上述开头光栅的各像素中发生的上述色调误差与在所述步骤C存储的色调误差相区分,同时与进行了上述判断的各像素对应而进行存储的步骤;(F)对从上述光栅群中除了上述开头光栅的其余的光栅考虑在属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素中发生的上述色调误差,通过判断该其余光栅的各像素有无点形成,与将上述开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列的步骤。
20.一种通过接收表示各像素的色调值的图像数据并按照该像素的列而形成的光栅判断构成该光栅的各像素有无点形成而将实现把该图像数据变换为由有无点形成的表现形式的方法的程序记录为可以由计算机读取的记录媒体,其特征在于记录实现以下功能的程序,即(A)将相互相邻的多条光栅集合起来生成光栅群的功能;(B)选择位于上述光栅群中最末尾的最末尾光栅并通过对构成该最末尾光栅的各像素判断有无点形成而将该最末尾光栅变换为表示有无点形成的点列的功能;(C)对构成上述最末尾光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差并向位于该各像素的周边的多个未判断的像素扩散的功能;(D)选择位于与上述最末尾光栅相邻的光栅群中开头位置的开头光栅并通过考虑从该最末尾光栅向该开头光栅的各像素扩散的上述色调误差而对构成该开头光栅的各像素判断有无点形成,将该开头光栅变换为表示有无点形成的点列的功能;(E)将在构成上述开头光栅的各像素中发生的上述色调误差向位于该各像素的周边的未判断的像素扩散的功能;(F)通过对从上述光栅群中除了上述开头光栅的其余光栅考虑从属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素扩散的上述色调误差并判断该其余光栅的各像素有无点形成而与将该开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列的功能;同时,记录作为上述功能(C)和上述功能(E)而实现将向与判断了上述有无点形成的像素相同的光栅群的像素扩散的误差与向不同的光栅群的像素扩散的误差有区别地进行存储的功能的程序。
21.一种通过接收表示各像素的色调值的图像数据并按照该像素的列而形成的光栅判断构成该光栅的各像素有无点形成而将实现把该图像数据变换为由有无点形成的表现形式的方法的程序记录为可以由计算机读取的记录媒体,其特征在于记录实现以下功能的程序,即(A)将相互相邻的多条光栅集合起来生成光栅群的功能;(B)至少包含位于上述光栅群的最末尾的最末尾光栅从该光栅群中选择光栅,通过对构成该选择的光栅的各像素判断有无点形成,就该选择的光栅变换为表示有无点形成的点列的功能;(C)对构成上述选择的光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差,使之与进行了该判断的各像素对应而进行存储的功能;(D)选择位于与上述最末尾光栅相邻的光栅群中的开头位置的开头光栅,在构成该开头光栅的各像素的周边,考虑已判断了有无点形成的周边像素存储的上述色调误差,通过判断该各像素有无点形成而将该开头光栅变换为点列的功能;(E)使在构成上述开头光栅的各像素中发生的上述色调误差与在所述步骤C存储的色调误差相区分,同时与进行了上述判断的各像素对应而进行存储的功能;(F)对从上述光栅群中除了上述开头光栅的其余的光栅考虑在属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素中发生的上述色调误差,通过判断该其余光栅的各像素有无点形成,与将上述开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列的功能。
22.一种通过接收表示各像素的色调值的图像数据并按照该像素的列而形成的光栅判断构成该光栅的各像素有无点形成而用于使用计算机实现将该图像数据变换为利用有无点形成的表现形式的方法的程序,其特征在于实现以下的功能,即(A)将相互相邻的多条光栅集合起来生成光栅群的功能;(B)选择位于上述光栅群中最末尾的最末尾光栅并通过对构成该最末尾光栅的各像素判断有无点形成而将该最末尾光栅变换为表示有无点形成的点列的功能;(C)对构成上述最末尾光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差并向位于该各像素的周边的多个未判断的像素扩散的功能;(D)选择位于与上述最末尾光栅相邻的光栅群中开头位置的开头光栅并通过考虑从该最末尾光栅向该开头光栅的各像素扩散的上述色调误差而对构成该开头光栅的各像素判断有无点形成,将该开头光栅变换为表示有无点形成的点列的功能;(E)将在构成上述开头光栅的各像素中发生的上述色调误差向位于该各像素的周边的未判断的像素扩散的功能;(F)通过对从上述光栅群中除了上述开头光栅的其余光栅考虑从属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素扩散的上述色调误差并判断该其余光栅的各像素有无点形成而与将该开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列的功能;同时,记录作为上述功能(C)和上述功能(E)而实现将向与判断了上述有无点形成的像素相同的光栅群的像素扩散的误差与向不同的光栅群的像素扩散的误差有区别地进行存储的功能的程序。
23.一种通过接收表示各像素的色调值的图像数据并按照该像素的列而形成的光栅判断构成该光栅的各像素有无点形成而用于使用计算机实现将该图像数据变换为利用有无点形成的表现形式的方法的程序,其特征在于实现以下的功能,即(A)将相互相邻的多条光栅集合起来生成光栅群的功能;(B)至少包含位于上述光栅群的最末尾的最末尾光栅从该光栅群中选择光栅,通过对构成该选择的光栅的各像素判断有无点形成,就该选择的光栅变换为表示有无点形成的点列的功能;(C)对构成上述选择的光栅的各像素计算通过判断上述有无点形成而在各像素中发生的色调误差,使之与进行了该判断的各像素对应而进行存储的功能;(D)选择位于与上述最末尾光栅相邻的光栅群中的开头位置的开头光栅,在构成该开头光栅的各像素的周边,考虑已判断了有无点形成的周边像素存储的上述色调误差,通过判断该各像素有无点形成而将该开头光栅变换为点列的功能;(E)使在构成上述开头光栅的各像素中发生的上述色调误差与进行了上述判断的各像素对应而进行存储的功能;(F)对从上述光栅群中除了上述开头光栅的其余的光栅考虑在属于与该其余光栅相同的光栅群并且已判断了有无点形成的像素中发生的上述色调误差,通过判断该其余光栅的各像素有无点形成,与将上述开头光栅变换为上述点列的处理平行地将该其余光栅变换为点列的功能。
全文摘要
将图像数据变换为利用有无点形成的表现形式时,变换成由相互相邻的指定条数的上述光栅构成的各光栅群。这时,在位于该光栅群中最末尾的最末尾光栅的各像素中发生的色调误差向周边像素扩散,存储到第1存储部中。对于与该最末尾光栅相邻的光栅群的开头光栅,从第1存储部中读出误差,判断有无点形成,通过该判断而发生的色调误差存储到可以比该第1存储部迅速地读写的第2存储部中。对于开头光栅之后的其余光栅,平行地进行将该开头光栅变换为上述点列的处理,反映在该开头光栅的各像素中发生的色调误差,通过判断该其余光栅的各像素有无点形成,将该位于光栅变换为点列。这样,将在相同的光栅群的像素中考虑的误差存储到可以迅速地进行读写的第2存储部中,可以迅速地变换光栅群的图像数据。
文档编号H04N1/405GK1393093SQ01803036
公开日2003年1月22日 申请日期2001年10月5日 优先权日2000年10月6日
发明者角谷繁明 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1