对每多个像素进行多值化的图像处理装置的制作方法

文档序号:2610383阅读:301来源:国知局
专利名称:对每多个像素进行多值化的图像处理装置的制作方法
技术领域
本发明涉及一种基于图像数据输出图像的技术,详细来说,涉及一种通过对图像数据施以规定的图像处理使之以适当的密度产生点,从而输出图像的技术。
背景技术
通过在打印介质或液晶画面这样的各种输出介质上形成点从而输出图像的图像输出装置,被作为各种图像机器的输出装置而广泛应用。在这些图像输出装置中,图像在被细分为称作像素的很小的区域的状态下进行处理,由这些像素形成点。在由像素形成点时,如果看一个个的像素,则当然只能知道是形成了点还是没有形成点的状态。但是,如果看具有某种程度宽度的区域,则可使所形成的点的密度产生疏密,通过改变点的形成密度从而可输出多灰度的图像。
例如,在打印用纸上形成黑色印墨的点时,形成点密集的区域显得很暗,相反形成点稀疏的区域显得很亮。并且,在液晶画面形成亮点的点时,形成点密集的区域显得很亮,形成点稀疏的区域显得很暗。因此,只要适当控制点的形成密度便可输出多灰度的图像。这样,通过对要输出的图像施以规定的图像处理,从而产生用于控制点的形成的数据以得到适当的形成密度,近年来,在这些图像输出装置中需求输出图像的高图像质量化或大图像化。对于高图像质量化的需求,较为有效的是将图像分割成更细的像素。如果使像素变小,则由于由像素形成的点不显眼因此可以使图像质量提高。并且,通过使像素数增加从而便与大图像化的需求对应了。当然,虽然通过使各个像素变大从而也可以使输出图像变大,但由于这样会导致图像质量的降低,因此对于大型化的需求而言增加像素数较为有效。
不过,如果构成图像的像素数增加则图像处理的时间会增加,难以迅速输出图像。因此,提出了一种可迅速执行图像处理的技术(例如,参照特开2002-185789号公报)但是,即便能迅速执行图像处理,在图像数据的传送或者处理完成的图像数据的传送方面要耗费时间,因而使图像的输出迅速化的效果自然受到限制。
并且,近年来,还存在将由数码相机等所摄影的图像的数据直接向打印装置等图像输出装置供给并立即输出图像的需求。这样的情况下,无法采用所谓个人计算机等这样的具备高处理能力的图像处理装置进行图像处理。因此,需要按照由数码相机等图像摄影装置或图像输出装置中的任一方来执行、或者由两者分担执行的方式预先进行简单的图像处理。
专利文献1特开2002-185789号公报发明内容本发明就是用于解决以往技术中的上述问题而形成的,其目的在于提供一种仍然维持足够的输出图像质量,且可高速执行图像处理以及数据传送,并且即使不采用个人计算机等这样的具有高处理能力的机器也可执行图像处理的简单的图像处理技术。
为了解决上述问题的至少一部分,本发明的图像处理装置,采用如下结构。即,本发明是一种图像处理装置,对表示由规定灰度数所表现的图像的图像数据进行处理,针对构成图像的各像素,以比上述规定灰度数少的灰度数进行多值化,其要旨在于,具备对应关系准备机构,其预先准备像素组灰度值与多值化结果值之间的对应关系,其中像素组灰度值为代表集中多个像素后的像素组的灰度值,多值化结果值表示有关构成该像素组的各像素的上述多值化的结果;像素组灰度值决定机构,其从表示上述图像的图像数据中取出相当于上述像素组的像素的集合,按作为该被取出的像素的集合的每个像素组,决定上述像素组灰度值;多值化机构,其通过参照上述对应关系,基于上述像素组灰度值,获得有关构成上述图像的各像素组的多值化结果值;和控制数据输出机构,其根据按每个上述像素组所得到的多值化结果值,生成用于形成上述图像的控制数据并输出。
并且,与上述图像处理装置对应的本发明的图像处理方法为,对表示由规定灰度数所表现的图像的图像数据进行处理,针对构成图像的各像素,以比上述规定灰度数少的灰度数进行多值化,其要旨在于,预先准备像素组灰度值与多值化结果值之间的对应关系,其中像素组灰度值为代表集中多个像素后的像素组的灰度值,多值化结果值表示有关构成该像素组的各像素的上述多值化的结果;从表示上述图像的图像数据中取出相当于上述像素组的像素的集合,按作为该被取出的像素的集合的每个像素组,决定上述像素组灰度值;通过参照上述对应关系,基于上述像素组灰度值,获得有关构成上述图像的各像素组的多值化结果值;和根据按每个上述像素组所得到的多值化结果值,生成用于形成上述图像的控制数据并输出。
在本发明的图像处理装置以及图像处理方法中,对构成图像的像素按每规定个数集中后的每个像素组,决定作为代表该像素组的灰度值的像素组灰度值,并对所得到的像素组灰度值进行多值化。在此,作为像素组,可以是始终集中相同数量的像素,但也可以是例如根据规定的图案或者规定的规则分别集中不同个数的像素。并且,在决定像素组灰度值时,例如可以基于像素组内包含的各像素的图像数据进行决定。例如,可以适当采用多个像素的灰度值的平均值、代表值、合计值等。根据按照这样按每个像素组所得到的多值化结果值,生成用于形成图像的控制数据并输出。
详细情况后述,如果与表示关于图像的所有像素的有无形成点的数据相比,多值化结果值,可以以非常少的数据量对图像整体进行多值化来表现。因此,如果输出根据多值化结果值所生成的控制数据,则可以迅速输出图像。并且,在接收这样的控制数据的图像输出装置中,通过采用后述的方法,从而在针对像素组内的各像素判断有无形成点之后,便可以基于判断结果输出图像。因此,只要可以这样向图像输出装置迅速供给控制数据,因此便可以迅速输出图像。
并且,在执行像素组灰度值的多值化时,由于一边参照像素组灰度值与多值化结果值之间的对应关系一边进行多值化,因此可以迅速得到多值化结果值。因而,可以迅速生成控制数据,进一步可以更迅速地输出控制数据。
进而,在多值化时,通过参照按每个像素组设定的对应关系从而进行多值化。如果可以按每个像素组设定对应关系,则由于可以使不同的像素组灰度值对应相同的多值化结果值,因此与不区别像素组仅对像素组灰度值进行多值化的情况相比,可以使多值化结果值的个数减少。其结果为,与仅对像素组灰度值进行多值化的情况相比,可以使控制数据的数据量减少,进一步可以迅速输出数据。
此外,详细情况后述,由于可以非常容易地求出像素组的像素组灰度值,因此用于生成多值化结果值的主处理,是参照对应关系这样的简单处理。因而,为了进行多值化,不需要进行许多比较或者复杂的分支处理等的计算机等、具备高处理能力的机器。即使是无法高速进行条件判断等的机器,也可以以足够实用的速度进行处理。因此,例如还可以将图像数据不经由计算机等而直接向图像输出装置供给,在图像输出装置的内部对图像数据实施这些图像处理,并适当地输出图像。
在这样的图像处理装置中,也可以按照如下方式对像素组灰度值进行多值化。首先,获得对每个像素组赋予的分类号码。然后,通过参照按每个分类号码设定的对应关系,也可以对像素组灰度值进行多值化。在此,由于对应关系是按每个分类号码设定的,因此还可以按每个分类号码全部设定固有的对应关系。
如果按照这样,则通过对像素组赋以适当的分类号码,便可以对各像素组的像素组灰度值适当进行多值化。并且,由于可以采用分类号码识别像素组,因此还可以实现对像素组灰度值进行多值化的处理的简单化。
并且,在这样的图像处理装置中,通过根据在图像中的位置将像素组分类成多个种类,从而也可以对各个像素组赋予分类号码。按照这样,即使没有预先给像素组赋予分类号码,也可以根据需要适当地赋予分类号码。并且,通过根据在图像中的位置赋予分类号码故而可以适当地赋予分类号码。
另外,在进行多值化时参照的对应关系,也可以是如下这样的对应关系。即,也可以是对每个像素组仅设定根据分类号码规定的个数的多值化结果值这样的对应关系。
由于多值化时参照的对应关系是按每个像素组设定的,因此多值化结果值的个数可以按每个像素组自由设定。并且,如果可以按每个像素组改变多值化结果值的个数,则不用担心像一般的多值化处理那样,多值化结果值按一定的模式(pattern)重复。因此,如果基于按照这样生成的控制数据输出图像,则始终可以得到稳定的图像质量。
进而,在多值化时参照的对应关系,也可以是如下这样的对应关系。即,也可以是按每个分类号码规定像素组灰度值对应的多值化结果值的对应关系。
或者,按每一个分类号码存储可以知道在像素组内形成点的顺序的数据,作为上述多值化结果值,获得在像素组内形成的点的个数,根据可以知道多值化机构所获得的点的个数与形成点的顺序的数据,输出控制数据,作为决定该像素组内的哪些像素形成点的数据。按照这样,便可以用简单的数据使形成点的机器知道是在像素组内的哪个位置形成点的。
并且,这时,也可以使切换多值化的结果的灰度值的数据与在各灰度值中在该像素组中应形成的点的个数对应存储,作为对应关系。由于多值化结果值在规定的灰度范围内取相同的值,因此只要存储切换多值化的结果的灰度值的数据便可以进行处理。按照这样便可以减少作为对应关系应存储的数据量。
在此,虽然可以知道形成点的顺序的数据也可以是给像素组内的各像素赋予的值本身,但还可以是描述点的形成顺序的顺序值。虽然即便直接使对应关系本身具有例如抖动矩阵(dither matrix)的阈值也是可以进行处理的,但在本申请的发明中,由于不是通过比较灰度值与阈值而求出关于各像素是否形成点的,因此不需要具有阈值等。因而,只要存储作为单纯的顺序值即可,由此可以降低所存储的数据量。
多值化可以是所谓的二值化,也可以是三值化以上。例如,关于最终形成的L种类的点(L为1以上的自然数),获得各种类的点的形成个数作为上述多值化结果,从L种类的点中每个单位面积的浓度高的种类的点开始,根据上述顺序输出控制数据作为形成点的数据。按照这样可以简单地指定多个种类的点的形成。
进而,作为准备对应关系的方法,可以考虑如下这样的方法。首先,假设由方形区域所包含的横P个×纵Q个(P,Q为2以上的自然数)的像素所构成的像素组作为像素组,将在横M个×纵N个(M、N为8以上的自然数)的矩阵中分散作为点形成的判断基准的灰度的阈值并存储的大面积的抖动矩阵,分割成与上述像素组对应的多个上述方形区域,取所被分割后的各区域中所包含的P×Q个阈值的每组赋予上述一个分类号码S进行管理。然后,对赋予分类号码S的每个区域分别应用换算成最终形成的L种类的点的记录率后的灰度值,生成各灰度值中哪个位置的像素是否形成哪个种类的点的信息,并按每个上述分类号码S存储该形成点的位置与灰度值之间的对应关系。如果这样的处理结束,则不需要存储与原始的抖动矩阵或像素组对应的方形区域内的各阈值等。
如果采用这样的对应关系的准备方法,则由于不会给相邻的多个像素组赋予相同分类号码,因此如果按每个分类号码规定像素组灰度值对应的多值化结果值,则例如即使在多个像素组中有相同的像素组灰度值连续时,多值化结果值也不会连续相同。因此,在基于这样的控制数据输出图像时,可以避免按一定的图案产生点。
并且,在这样的图像处理装置中,还可以参照如下这样的对应关系对像素组灰度值进行多值化。即,针对至少100个以上分类中的每一个,可以参照设定了像素组灰度值与多值化结果值的对应关系。
例如,如果只有几个分类号码,则排列分类号码的组合数未必足够。因此,例如即使在基于按每个分类号码设定的对应关系进行多值化时,根据情况,产生点的图案也有可能表现一定的规则性。为了避免这样的担心,优选分类号码的个数较多,根据经验,如果分类号码的个数为100个以上,则可以将点的形成以一定的图案表现这样的现象抑制在不会产生实用问题的程度,因此而优选。
或者,在这样的图像处理装置中,也可以按照对应关系中设定的分类号码的个数与每个像素组中包含的像素数之间的相乘值至少为1000以上的方式,设定分类号码的个数或者每个像素组的像素组。
如果像素组中包含的像素数很多,则即使在一个像素组内点的产生图案也可以取很多图案。因此,即使在分类号码的个数不够多时,如果像素组中包含的像素数很多,则也可以补偿以抑制点的产生图案表现一定的规则性。根据经验,如果按照分类号码的个数与像素组中包含的像素数之间的相乘值在1000以上进行选择,则可以抑制点的形成中表现一定的图案,避免产生实用上的问题。
进而,本发明还可以将用于实现上述图像处理方法的程序读入计算机中,并采用计算机来实现。因此,本发明也可以包含作为如下这样的程序产品、或者记录程序产品的记录介质的形式。
如果将这样的程序产品、或者记录介质中记录的程序读入计算机中,并采用该计算机实现上述各种功能,则可以迅速执行图像处理以及数据传送,迅速输出高图像质量的图像。
另外,本申请包含如下的图像处理装置的发明的概念。即,一种图像处理装置,除规定的图像处理外,形成点并输出图像的图像输出装置还在表示该图像的图像数据中生成用于控制该点的形成所采用的控制数据,具备像素组灰度值决定机构,其对将构成上述图像的像素按每规定个数集中后的每个像素组,决定作为代表该像素组的灰度值的像素组灰度值;多值化机构,其通过参照按每个上述像素组设定上述像素组灰度值与通过对该像素组灰度值进行多值化所得到的多值化结果值后的对应关系,从而对该像素组的像素组灰度值进行多值化;和控制数据输出机构,其将按每个上述像素组所得到的多值化结果值输出作为上述控制数据。
并且,本申请还包含如下的图像处理方法的发明概念,即,一种图像处理方法,除规定的图像处理外,形成点并输出图像的图像输出装置还在表示该图像的图像数据中生成用于控制该点的形成所采用的控制数据,具备第一步骤,其对将构成上述图像的像素按每规定个数集中后的每个像素组,决定作为代表该像素的灰度值的像素组灰度值;第二步骤,其通过参照按每个上述像素组设定上述像素组灰度值与通过对该像素组灰度值进行多值化所得到的多值化结果值后的对应关系,从而对该像素组的像素组灰度值进行多值化;和第三步骤,其将按每个上述像素组所得到的多值化结果值输出作为上述控制数据。


图1为用于以打印系统为例来说明本发明的概要的说明2为表示作为本实施例的图像处理装置的计算机的结构的说明图。
图3为表示本实施例的彩色打印机的概略结构的说明图。
图4为表示喷墨用打印头中的印墨喷嘴的排列的说明图。
图5(a)以及图5(b)为表示通过控制墨滴的喷吐从而形成大小不同的点的原理的说明图。
图6为表示第一实施例的图像打印处理的整体流程的流程图。
图7为表示第一实施例的图像打印处理中进行的多值化结果值生成处理的流程的流程图。
图8(a)以及图8(b)为表示决定像素组的分类号码的方法的说明图。
图9为示意性表示第一实施例的多值化结果值生成处理中所参照的多值化表格的说明图。
图10为例示随着像素组灰度值的增加而多值化结果值阶段性增加的模样的说明图。
图11为表示第一实施例的有无形成点的决定处理的流程的流程图。
图12为示意性表示第一实施例的有无形成点的决定处理中参照的变换表格的说明图。
图13为表示编码化后的个数数据与各编码数据所表示的各种点的个数之间的对应关系的说明图。
图14(a)~图14(c)为例示第一实施例的有无形成点的决定处理所参照的顺序值矩阵的说明图。
图15为示意性表示一边参照顺序值矩阵一边基于点个数的数据决定在像素组内形成各种点的像素位置的模样的说明图。
图16为示意性例示抖动矩阵的一部分的说明图。
图17为示意性表示一边参照抖动矩阵一边针对各像素判断有无形成点的模样的说明图。
图18(a)~图18(c)为表示用于决定每个像素组的分类号码的方法的说明图。
图19(a)~图19(c)为表示计算像素组的分类号码的方法的说明图。
图20为表示根据注目像素组的坐标值的二进制数表示来求出分类号码的方法的说明图。
图21为表示发展抖动法并可按每个像素决定有无大中小各点的形成的半色调(halftone)处理的流程的流程图。
图22为示意性表示在将图像数据的灰度值变换成有关大中小各点的密度数据时参照的点密度变换表格的说明图。
图23为示意性表示针对像素组内的各像素判断有无大中小各点的形成的模样的说明图。
图24为表示设定多值化表格的处理流程的流程图。
图25为表示设定变换表格的处理的流程图的流程图。
图26(a)~图26(c)为表示设定顺序值矩阵的方法的说明图。
图27为示意性表示在第一实施例的有无形成点的决定处理中根据多值化结果值按每个像素决定有无大中小各点的形成的处理的大致流程的说明图。
图28(a)~图28(c)为表示根据像素组在图像上的位置决定分类号码的方法的说明图。
图29为表示为了决定分类号码而根据像素组的坐标值(i,j)求出在抖动矩阵上的位置的方法的说明图。
图30为示意性表示在变形例的多值化结果值生成处理中所参照的阈值表格的说明图。
图31为表示变形例的有无形成点的决定处理的流程的流程图。
图32为表示使表示点个数的编码数据与中间数据对应的对应表的说明图。
图33为表示通过从中间数据中读出与顺序值对应的地方的数据从而决定有无形成点的模样的说明图。
图34为示意性表示第二实施例的有无形成点的决定处理所参照的变换表格的说明图。
图35(a)以及图35(b)为表示在第二实施例的变换表格中设定的点数据的数据结构的说明图。
图36为表示第二实施例的有无形成点的决定处理的流程的流程图。
具体实施例方式
以下,为了更加清楚地说明本发明的作用以及效果,将根据以下顺序说明本发明的实施方式A实施例的概要B装置结构C第一实施例的图像打印处理的概要C-1多值化结果值生成处理的概要C-2有无形成点的决定处理的概要C-3抖动法(dither method)的概要C-4用于决定分类号码的方法C-5多值化表格的设定方法C-6变换表格的设定方法C-7顺序值矩阵的设定方法C-8根据多值化结果值可适当决定有无形成点的原理C-9根据像素组的位置决定分类号码的方法C-10变形例D第二实施例D-1第二实施例的有无形成点的决定处理的原理D-2第二实施例的有无形成点的决定处理A实施例的概要在进入实施例的详细说明之前,参照图1针对实施例的概要进行说明。图1为用于以打印系统为例来说明本发明的概要的说明图。本打印系统由作为图像处理装置的计算机10、作为图像输出装置的打印机20等构成,在将规定的程序下载在计算机10中并执行时,计算机10以及打印机20等整体作为一体化的图像输出系统发挥作用。打印机20,通过在打印介质上形成点从而打印图像。计算机10,通过对要打印的图像的图像数据施以规定的图像处理,从而打印机20按每个像素生成用于控制点的形成的数据,并向该打印机20供给。
在一般的打印系统中,按照如下打印图像。首先,通过由计算机施以规定的图像处理,从而将图像数据变换为表示在每个像素有无形成点的数据。接着,将所得到的数据向打印机供给,在打印机中通过依据所供给的数据形成点从而打印图像。在此,如果要打印的图像的像素数变多,则随之图像处理所需要的时间增加,难以迅速打印图像。并且,随着像素数变多,由于按每个像素表示有无形成点的数据的数据量增加,因此用于从计算机向打印机输出数据所需要的时间变长,那样打印所需要的时间会增加。
鉴于此,在图1所例示的打印系统中,按照如下打印图像。首先,在计算机10中,将构成图像的像素按每个规定的个数集中并生成像素组,对于各像素组决定作为代表像素组的灰度值的像素组灰度值。接着,通过对像素组灰度值进行多值化从而生成多值化结果值。通过获得对每个像素组赋予的分类号码,并参照将像素组灰度值和多值化结果值与每个分类号码对应后的对应关系从而执行多值化。
在打印机20中,在接收关于各像素组的多值化结果值时,变换成作为与在像素组内应形成的点个数关联的数据的个数数据。该变换是在多值化结果值变换模块(module)中进行的。接着,有无形成点的决定模块,基于在像素组内按每个像素形成点的像素的序列与个数数据,决定有关各像素的点有无形成。在此,在有无形成点的决定模块中,也可以预存储适当的像素的序列。如果存储像素的序列,则可以迅速决定适当的序列。在按照这样决定的像素位置,通过由点形成模块形成点从而打印图像。
在此,与按每个像素表示有无形成点的数据相比,每个像素组的多值化结果值可以成为非常小的数据量。因此,如果代替从计算机10向打印机20供给按每个像素表示有无形成点的数据,而供给每个像素的多值化结果值,则可极其迅速地传送数据。
并且,多值化结果值是在计算机10内按照如下生成的。首先,在像素组灰度值决定模块中,决定像素组灰度值。例如,可以基于像素组内的各像素的图像数据而决定像素组灰度值。另一方面,在对应关系存储模块中,按每个像素组的分类号码存储将像素组灰度值与多值化结果值对应的对应关系。在此,既可以依据在图像中的位置将各像素组分类成多个种类从而设定像素组的分类号码,或者在按照图像总是分割得相同时等,也可以按每个像素组预先赋予适当的分类号码。进而,为了方便也可以采用随机数等随机赋予分类号码。多值化模块,在接收像素组的像素组灰度值时,通过从对应关系存储模块中参照与像素组的分类号码相应的对应关系,从而将像素灰度值变换成多值化结果值。
这样由于一边参照对应关系一边生成多值化结果值,因此可以极其迅速地生成多值化结果值。因此,结合可将所生成的多值化结果值迅速向打印机20供给,例如即便是像素数多的图像也可以迅速打印图像。并且,如果参照对应关系生成多值化结果值,则可以以非常简单的处理生成。因此,为了生成多值化结果值,即使没有采用计算机10这样的具有高处理能力的机器,也可以在打印机20或者数码相机等的内部生成个数数据。以下,通过采用这样的打印系统为例,针对本发明的各种实施例详细进行说明。
B装置结构图2为表示作为本实施例的图像处理装置的计算机100的结构的说明图。计算机100,是一种以CPU102为中心,通过总线116将ROM104或RAM106等相互连接所构成的公知的计算机。
在计算机100中,连接有用于读入软盘124或压缩盘126等的数据的盘驱动器DDC109、或用于与周边机器进行数据的收发的周边机器接口PIF108、用于驱动CRT114的视频接口VIF112等。在PIF108中,连接有后述的彩色打印机200、或硬盘118等。并且,如果将数码相机120或彩色扫描仪122等与PIF108连接,则还可打印由数码相机120或彩色扫描仪122所取入的图像。并且,如果安装网络接口卡NIC110,则还可以将计算机100与通信线路300连接,获得存储在与通信线路连接的存储装置310中的数据。
图3为表示本实施例的彩色打印机200的概略结构的说明图。彩色打印机200,是可形成蓝(cyan)、红(magenta)、黄和黑4种颜色印墨的点的喷墨打印机。当然,除这4种颜色的印墨外,还可以采用可形成包含染料或者颜料浓度低的蓝(淡蓝)印墨和染料或者颜料浓度低的红(淡红)印墨在内的合计6种颜色的墨点的喷墨打印机。另外,以下根据情况将蓝色印墨、红色印墨、黄色印墨、黑色印墨、淡蓝印墨、淡红印墨分别简称为C墨、M墨、Y墨、K墨、LC墨、LM墨。
如图所示,彩色打印机200,其结构具有对搭载在托架(carriage)240上的打印头241进行驱动并喷吐印墨以及形成点的机构、通过托架电动机230使该托架240在卷筒(platen)236的轴方向往返运动的机构、通过送纸电动机235载送打印用纸P的机构、和抑制点的形成或托架240的移动以及打印用纸的载送的控制电路260等。
在托架240上,安装收纳K印墨的印墨盒(ink carriage)242、收纳C印墨、M印墨、Y印墨的各种印墨的印墨盒243。在将印墨盒242、243安装在托架240上时,盒内的各印墨通过未图示的导入管向被设置在打印头241下面的每种颜色的印墨喷头244~247供给。
图4为表示印墨喷头244~247中的印墨喷嘴Nz的排列的说明图。如图所示,在印墨喷头的底面,形成喷吐C、M、Y、K各种颜色的印墨的4组喷嘴列,每一组喷嘴列的48个喷嘴Nz以一定的喷嘴间距k排列着。
控制电路260,由以总线将CPU、ROM、RAM、PIF(周边机器接口)等相互连接而构成。控制电路260,通过控制托架电动机230以及送纸电动机235的动作从而控制托架240的主扫描动作以及副扫描动作,并且基于从计算机100供给的打印数据,控制从各喷嘴在适当的时刻喷吐墨滴。这样,在控制电路260的控制下,通过在打印介质上的适当位置形成各种颜色的墨点从而彩色打印机200便可以打印彩色图像了。
另外,本实施例的彩色打印机200,通过控制所喷吐的墨滴的大小,从而可控制墨点的大小。以下,针对彩色打印机200形成大小不同的墨点的方法进行说明,但作为其准备,首先针对喷吐各种颜色印墨的喷嘴的内部结构进行说明。
图5(a)为表示喷吐印墨的喷嘴的内部结构的说明图。在各种颜色的喷墨用头244~247中,设置多个这样的喷嘴。如图所示,在各喷嘴中设置印墨通道255、印墨室(chamber)256,在印墨室的上面设置压电元件PE。如果在托架240上安装印墨盒242、243,则盒内的印墨经由印墨通道(gallery)257向印墨室256供给。压电元件PE,是一种公知的在施加电压时因结晶结构变形而非常高速地进行能量的电能-机械能变换的元件。在本实施例中,通过向设置在压电元件PE的两端设置的电极之间施加规定波形的电压,从而使印墨室256的侧壁变形。其结果为,印墨室256的容积减少,相当于容积的减少量的印墨变成墨滴Ip,并从喷嘴Nz喷出。因该墨滴Ip浸入被装载在滚筒236中的打印用纸P中,从而在打印用纸上形成墨点。
图5(b)为表示通过控制向压电元件PE施加的电压波形从而变更所喷吐的墨滴的大小的原理的说明图。为了从喷嘴喷出墨滴Ip,向压电元件PE施加负电压,一旦从印墨通道257向印墨室256吸入印墨,则之后向压电元件PE施加正电压使印墨室容积减少,使墨滴Ip喷出。在此,如果印墨的吸引速度适当,则吸入相当于印墨室容积的变化量的印墨,但若吸引速度过快,则由于印墨通道257与印墨室256之间存在通路电阻,因此来自印墨通道257的印墨的流入便不合适。其结果为,印墨通道255的印墨在印墨室内逆流,成为喷嘴附近的印墨界面大大后退的状态。图5(b)中实线所示的电压波形a,表示以适当的速度吸引印墨的波形,虚线所示的电压波形b,表示以大于适当的速度吸引的波形一例。
在将足够的印墨向印墨室256内供给的状态下,若向压电元件PE供给正电压,则相当于印墨室256的容积减少的体积的墨滴Ip从喷嘴Nz喷出。相反,若印墨的供给量不足并在印墨界面大大后退的状态下施加正电压,则所喷吐的墨滴变成很小的墨滴。这样,在本实施例的打印机200中,通过控制在墨滴的喷吐前所施加的负的电压波形并对印墨的吸引速度进行变更,从而控制所喷吐的墨滴的大小,可形成大点、中点、小点3种墨点。
当然,并非限于3个种类也可以形成其它种类的点。进而,也可以采用一次喷吐多个细微的墨滴并控制所喷吐的墨滴的数量的方法,对形成在打印用纸上的墨点的大小进行控制。如果按照这样控制墨点的大小,则通过根据要打印的图像的区域分别使用大小不同的墨点,从而也可以打印图像质量更高的图像。
另外,关于从各种颜色的喷墨头喷吐墨滴的方法,可以应用各种方法。即,可以采用使用压电元件喷吐墨滴的方式、或用配置在印墨通路中的加热器在印墨通路内产生气泡(泡沫)而喷吐墨滴的方法等。并且,代替喷吐墨滴,也可以使用利用热转印等现象在打印用纸上形成墨点的方式、或利用静电使打印介质上附着各种颜色的墨粉(toner)的方式的打印机。
具有以上这样的硬件结构的彩色打印机200,通过驱动托架电动机230,从而使各种颜色的喷墨用头244~247相对打印用纸P在主扫描方向移动,或者通过驱动送纸电动机235,从而使打印用纸P在副扫描方向移动。控制电路260,通过一边与托架240的主扫描以及副扫描的动作同步,一边在适当的时刻驱动喷嘴并喷吐墨滴,从而彩色打印机200在打印用纸上打印彩色图像。
另外,由于在彩色打印机200和控制电路260内都搭载有CPU、RAM、ROM等,因此也可在彩色打印机200内实施计算机100执行的处理。这样的情况下,通过将由数码相机120等所摄影的图像的图像数据直接向彩色打印机200供给,并在控制电路260内施以必要的图像处理,从而还可从彩色打印机200直接打印图像。
C第一实施例的图像打印处理的概要以下,针对为了打印图像而分别在上述计算机100以及彩色打印机200各自的内部执行的图像处理(图像打印处理)进行说明。在此,为了便于理解,首先针对图像打印处理的概要进行说明,接着针对通过执行图像打印处理从而可迅速打印图像且不会降低图像质量的原因进行说明。
另外,以下虽然就图像打印处理的前半部分由计算机100实施,后半部分由彩色打印机200实施作了说明,但也可以在彩色打印机200的内部实施计算机100执行的处理,或者在数码相机120等生成图像数据的机器内部实施。即,根据第一实施例的图像打印处理,如后面详细说明,由于可以使前半部分的处理非常简单,因而即使在采用不具备高处理能力的CPU的情况下,也可以迅速实施。因此,即使在彩色打印机200或数码相机等中加入图像打印处理的前半部分的情况下,也可以构成非常实用的打印系统。
图6为表示第一实施例的图像打印处理的整体流程的流程图。如图所示,在开始图像打印处理时,首先计算机100开始读入图像数据(步骤S100)。在此,虽然就图像数据作为RGB彩色图像数据作了说明,但并非限于彩色图像数据,关于单色图像数据也同样可以应用。并且,并非限于彩色打印机,关于单色打印机也同样可以应用。
继读读入彩色图像数据,进行颜色变换处理(步骤S102)。所谓颜色变换处理,是一种将由R、G、B的灰度值的组合所表现的RGB彩色图像数据变换成由有关为了打印所使用的印墨各种颜色的灰度值的组合所表现的图像数据的处理。如上述,彩色打印机200,采用C、M、Y、K4种颜色的印墨打印图像。因此,在颜色变换处理中,将由RGB各种颜色所表现的图像数据变换成由C、M、Y、K各种颜色的灰度值所表现的数据。颜色变换处理,是通过参照称作颜色变换表格(LUT)的三维数字表进行的。在LUT中,对于RGB彩色图像数据预先存储通过颜色变换所得到的C、M、Y、K各种颜色的灰度值。在步骤S102的处理中,通过参照该LUT,从而可将RGB彩色图像数据迅速颜色变换成C、M、Y、K各种颜色的图像数据。
在颜色变换处理结束时,开始分辨率变换处理(步骤S104)。所谓分辨率变换处理,是指将图像数据的分辨率变换成打印机200打印图像的分辨率(打印分辨率)的处理。在图像数据的分辨率低于打印分辨率时,进行插补运算在像素之间生成新的图像数据,相反在图像数据的分辨率高于打印分辨率时,通过以一定的比例间隔提取数据,从而执行使图像数据的分辨率与打印分辨率一致的处理。
按照以上若将分辨率变换成打印分辨率,则计算机100开始多值化结果值生成处理(步骤S106)。多值化结果值生成处理的详细内容后面详细说明,在此仅说明概要。在多值化结果值生成处理中,通过将每规定个数的邻接像素集中作为像素组,从而将一个图像分割成多个像素组。作为像素组集中的像素数,并不一定需要所有的像素组是相同数量,例如也可以有规则地切换多个像素数,或者根据在图像中的位置来切换在像素组中集中的像素数,但在此为了方便理解,就所有像素组具有相同数量的像素的最简单的情况进行说明。这样将多个像素集中在像素组中,在求出代表各像素组的灰度值的像素组灰度值之后,进行像素组灰度值的多值化。其结果为,将每个像素组的像素组灰度值变换成多值化结果值。
在此,在本实施例的多值化结果值生成处理中,作为多值化的结果所取得的状态数依每个像素组而不同。即,虽然在一般执行的多值化中,在例如一个图像中没有切换二值化与三值化,但在本实施例的多值化结果值生成处理中,多值化的级数按每个像素组而不同。并且,将按每个像素组以个数级数对像素组灰度值进行多值化所得到的结果值向彩色打印机200输出。如果按照这样按每个像素组以固有的级数对像素组灰度值进行多值化,并输出所得到的结果,则可以大大降低应向彩色打印机200输出的数据量。并且,如后述,由于可以迅速生成每个像素组的多值化结果值,加上数据量较小,因此可以极其迅速地将多值化结果值向彩色打印机200输出。关于这样的多值化结果值生成处理的详细情况后述。
内置于彩色打印机200的控制电路260中的CPU,在接收从计算机100向每个像素组供给的多值化结果值的数据时,开始有无形成点的决定处理(步骤S108)。如上述,多值化结果值,是对像素组灰度值进行多值化所得到的值,并非表示是否可由像素组内的某个像素形成点的值。作为根据像素组的多值化结果值决定形成点的像素位置的方法,公知有所谓的称作浓度图案(pattern)法的方法,但本实施例的多值化结果值按每个像素组以固有的级数进行多值化,无法直接应用浓度图案法。因此,在第一实施例的有无形成点的决定处理中,通过采用后述的特殊方法,从而根据按每个像素组所得到的多值化结果值决定形成点的像素位置。
并且,在所谓的浓度图案法中,实质分辨率降低至进行多值化后的像素组的分辨率,存在易导致图像质量的恶化的倾向。与此相对,根据第一实施例的有无形成点的决定处理,如后述不会依赖于像素组的大小而导致图像质量劣化。进而,可打印将点良好分散后的高品质图像,如同通过采用所谓的称作蓝色噪声屏蔽(blue noise mask)、或者绿色噪声屏蔽(greennoise mask)的抖动矩阵所实现的那样。关于第一实施例的有无形成点的决定处理的详细内容、以及通过应用该处理决定有无形成点从而得到这样的特性的原因,后面详细说明。
如果按照这样决定应形成点的像素位置,则执行在所决定的像素位置形成点的处理(步骤S110)。即,如采用图3所说明,通过一边重复托架240的主扫描以及副扫描一边驱动喷墨用头并喷吐墨滴,从而在打印用纸上形成印墨的点。通过按照这样形成点,从而打印与图像数据对应的图像。
C-1多值化结果值生成处理的概要图7为表示由上述第一实施例的图像打印处理所执行的多值化结果值生成处理的流程的流程图。在此,虽然就多值化结果值生成处理由计算机100实施作了说明,但如后述由于多值化结果值生成处理可以是极其简单的处理,因此也可以在彩色打印机200或者数码相机120内实施。以下,根据流程图进行说明。
在开始本实施例的多值化结果值生成处理时,首先集合相互邻接的规定个数的像素并生成像素组(步骤S200)。在此,将在主扫描方向的4个像素、在副扫描方向的2个像素的合计8个像素集合成像素组。另外,作为像素组集合的像素,不需要是象这样纵横位置一致呈矩形状的像素,只要是相互邻接且处于规定的位置关系,则什么样的像素都可以集合作为像素组。
接着,决定像素组灰度值和像素组的分类号码(步骤S202)。所谓像素组灰度值是指代表像素组的灰度值,可以按照如下方式简单求出。例如,可以求出分配给像素组内的每个像素的图像数据的平均值并作为像素组灰度值。或者,还可以将给像素组中最多的像素分配的图像数据、进一步在像素组内位于特定位置的像素的图像数据作为像素组灰度值。
并且,像素组的分类号码,可以按照如下方式非常简单地决定。图8为表示决定像素组的分类号码的说明图。图8(a)表示将图像中的8个像素集中所生成的一个像素组。以下,针对决定有关该像素组的分类号码的方法进行说明。另外,将如图8(a)所示的为了决定分类号码所注目的像素组称作注目像素组。
现在,以图像的最左上角为原点,由从原点至主扫描方向以及副扫描方向的像素数来表示像素位置。并且,像素组的位置由位于像素组的左上角的像素的像素位置表示。在图8(a)中,对表示注目像素组的位置的像素赋以黑色点来表示。令该像素的像素位置为(X,Y)。用2进制数表示X、Y,只要读出存储在规定位的数据便可非常容易地决定注目像素组的分类号码。例如,如图8(b)所示,令表示注目像素组的位置的X、Y分别为10位数据。并且,令读出从X的最高位的第4位至第8位的数据所得到的值为N,令从Y的最高位的第4位至第8位的数据所得到的值位M。在本实施例的情况下,通过计算N+(M-1)×32 ……(1)从而便可以简单决定像素组的分类号码。关于可按照这样决定像素组的分类号码的原因后述。
如果按照这样决定像素组的分类号码和像素组灰度值,则通过参照后述的多值化表格,从而对像素组灰度值进行多值化(步骤S204)。图9为示意性表示在多值化时所参照的多值化表格的说明图。如图所示,在多值化表格中,按每个像素组的分类号码将像素组灰度值对应的多值化结果值对应关联并存储,多值化结果值随着像素组灰度值的增加而阶段性增加着。
图10为例示随着像素组灰度值的增加多值化结果值阶段性增加的模样的说明图。在图10中,采用以横轴为像素组灰度值,以纵轴为多值化结果值的折线图,来表示像素组灰度值对应的多值化结果值。另外,图中,虽然表示有关具有不同的分类号码N1~N5的5个像素组的多值化结果,但是为了避免这些像素组的折线重叠难以判别,而在纵轴方向稍微错开多值化结果值的原点位置而显示。
作为一例,若针对图中粗的实线所示的分类号码N1的像素组进行说明,则虽然在像素组灰度值为0~4的范围内,多值化结果值为“0”,但在像素组灰度值为5~20的范围内多值化结果值增加至“1”。接着,在像素组灰度值为21~42的范围内,多值化结果值增加至“2”,在像素组灰度值为43~69的范围内,多值化结果值增加至“3”。按照这样随着像素组灰度值的增加多值化结果值也阶段性地增加,最终多值化结果值增加至“15”。即,关于分类号码N1的像素组,将取灰度值0~255的范围的像素组灰度值多值化为灰度值0~15的16个阶段(即16值化)。
同样,关于图中粗的虚线所示的分类号码N2的像素组、或粗的点划线所示的分类号码N3的像素组,将取灰度值0~255的范围的像素组灰度值多值化为灰度值0~17的18个阶段(即18值化)。进而,关于由细的实线所示的分类号码N4的像素组以及细的点划线所示的分类号码N5的像素组,将像素组灰度值多值化为灰度值0~20的21个阶段(即21值化)。按照这样在本实施例的多值化结果值生成处理中,各像素组的多值化的级数(作为多值化的结果所取的状态数)不同,根据像素组的分类号码以固有的级数进行多值化。其结果为,即使在对相同像素组灰度值进行多值化的情况下,像素组的分类号码也不同,因此如果多值化的级数不同,则被多值化为不同的结果值。
并且,即使多值化级数相同,也不一定得到相同的多值化结果值。例如,比较如图10所示的分类号码N2的像素组与分类号码N3的像素组显然可知,有关这些像素组的多值化级数都是18级,但在很多情况下切换多值化结果值的像素组灰度值不一致。关于分类号码N4的像素组和分类号码N5的像素组也同样,虽然这些像素组的多值化级数都是21级,但切换多值化结果值的像素组灰度值不一致的较多。因此,例如即便像素组的多值化级数相同,如果分类号码不同,则得到不同的多值化结果值。
在如图9所示的多值化表格中,按像素组的每个分类号码存储像素组灰度值对应的多值化结果值。然后,如图10所示,像素组灰度值与多值化结果值之间的对应关系为按每个分类号码固有的对应关系。在如图7所示的多值化结果值生成处理的步骤S204中,通过参照这样的多值化表格并对像素组灰度值进行多值化,从而执行按每个像素组生成多值化结果值的处理。另外,关于如图9所示的多值化表格的设定方法,后面详细说明。
如果按照以上这样将多个像素集中为像素组,并生成该像素组的多值化结果值,则判断是否结束有关所有像素的处理(步骤S206)。然后,在剩下未处理的像素时(步骤S206否),则返回步骤S200生成新的像素组,通过执行后述的一连串处理,则生成关于该像素组的多值化结果值。反复这样的操作,若判断关于所有像素的处理结束了(步骤S206是),则将关于各像素组所得到的多值化结果值向彩色打印机200输出之后,结束图7的多值化结果值生成处理。
按照这样如果按每个像素组输出多值化结果值,则与按每个像素输出表示有无形成点的数据的情况相比,可以使应向彩色打印机200供给的数据量大幅减少。以下,针对这方面进行说明。
在本实施例中,由于可形成大点、中点、小点3种点,因此如果也包含不形成点的情况下,则每个像素可取4种状态,因而为了表示有无形成点则每个像素需要2位(bit)的数据量。并且,在本实施例中,由于一个像素组是由8个像素构成的,因此如果按每个像素表示有无形成点,则每个像素组需要16位(=2位×8个像素)的数据量。
另一方面,在如图7所示的多值化结果值生成处理中,虽然因像素组的分类号而不同,但多值化的级数为15~21左右(参照图9、图10)。关于按每个像素组决定多值化的级数的方法后述,但认为多值化的级数估计最多不超过30。因此,如果是像素组的多值化结果值,则每一个像素组只要有5位的数据量便可足够表示。如上述,在按每个像素表示有无形成点时,因每个像素组需要16位的数据量,故而如果输出对像素组灰度值进行多值化所得到的结果值,则可以使应向彩色打印机200输出的数据量减少至1/3以下。这样在本实施例的图像打印处理中,由于输出像素组的多值化结果值,因此可以使数据量大大减少,可以向彩色打印机200迅速输出数据。
彩色打印机200,在按照这样从计算机100接收多值化结果值时,通过执行以下所说明的有无形成点的决定处理,从而决定有关像素组内的各像素的有无形成点。
C-2有无形成点决定处理的概要图11为表示上述第一实施例的图像打印处理所执行的有无形成点的决定处理的流程的流程图。该处理是一种在从计算机100按每个像素组接收多值化结果值之后,通过彩色打印机200执行的处理。以下,根据图11的流程图进行说明。
在开始第一实施例的有无形成点的决定处理时,首先选择一个作为处理对象的像素组,获得所选择的像素组的多值化结果值(步骤S300、S302)。接着,将像素组的多值化结果值变换成表示在该像素组中形成的点个数的数据(步骤S304)。在此,如图9以及图10所示,只要像素组的分类号码不同,则即便例如像素灰度值相同,多值化结果值也取不同的值。由此显然像素组的多值化结果值是一种仅在相同的分类号码的像素组之间可比较结果值的大小,而关于分类号码不同的像素组则无法比较多值化结果值的数据。
因此,考虑将依赖于像素组的分类号码的多值化结果值变换成不依赖于分类号码的多值化结果值。如果将多值化结果值变换成不依赖于分类号码的值,则由于可以比较关于所有像素组的多值化结果值的大小,因此根据各个变换值的序列便可与表示大点/中点/小点的适当的形成个数、即点个数的数据对应。
在图11的步骤S304中,基于这样的方法,将依赖于像素组的分类号码的多值化结果值变换成表示应在像素组中形成的点的个数的数据。实际的变换仅通过参照按像素组的分类号码与多值化结果值之间的每个组合预先设定适当的点个数的数据的变换表格,便可以非常迅速地执行。
图12为示意性表示在将像素组的分类号码与多值化结果值之间的组合变换成表示点个数的数据时所参照的变换表格的说明图。如图所示,在变换表格中,按每个分类号码设定与多值化结果值对应的点个数的数据。作为一例,在针对分类号码1的像素组进行说明时,对于多值化结果值0设定“0”作为点个数的数据。该点个数的数据“0”是表示大点、中点、小点的形成个数都是0个的编码(code)数据。并且,对于多值化结果值1,设定“1”作为点个数的数据。点个数数据“1”是表示大点、中点的形成个数为0个,小点的形成个数为1个的编码数据,进而,对于多值化结果值15设定点个数数据“164”。点个数数据“164”是表示形成8个大点、不形成中点以及小点的编码数据。
由此在变换表格中设定表示点个数的数据作为编码后的数据。即,即使个数数据不是直接表示点个数的,只要由某种方法可特定点个数,则个数数据可以是任意形式的数据。并且,关于分类号码1的像素组,对于大于“16”的多值化结果值不设定表示点个数的数据。这是因为对应于分类号码1的像素组的多值化级数为16级,多值化结果值只能取0~15的值。因此,关于如分类号码2的像素组那样多值化级数为18级的像素组,仅对0~17的多值化结果值设定表示点个数的数据,对于大于“18”的多值化结果值,不设定表示点个数的数据。
图13为表示编码化后的个数数据、与各编码数据表示的大点/中点/小点的个数的组合之间的对应关系的说明图。按照这样对各种点的个数进行编码化加以处理是基于以下理由进行的。
在此,由于一个像素组是集中8个像素构成的,因此大点、中点、小点的形成个数分别取0~8个的值。所以,如果不对各点的个数进行编码化而是直接表示,则为了表示大点的个数、中点的个数、小点的个数,每个分别需要4位,合计12位的数据量。
另一方面,由于一个像素组由8个像素构成,因此像素组可形成的点个数的合计最大为8个。例如,大点4个、中点3个、小点2个这样的点个数的组合,由于点个数合计为9个超过8个,因此实际上不会产生。如果注目这个方面,则认为实际上会产生的点个数的组合不会有更多的种类。如果按实际计算的话则如下。像素组中包含8个像素,如果就各像素来看,可取“形成大点”、“形成中点”、“形成小点”、“不形成点”的4种状态。因此,像素组可形成的点个数的组合,由于与从这4种状态中选择8次且允许重复时的组合的数量相等,因此通过4H8(=4+8-1C8)便能求出,结果最大只能出现和165一样的组合。在此,nHr是求出从n个对象中选择r次且允许重复时的重复组合数的运算符。并且,nCr是求出在从n个对象中选择r次且不允许重复时的组合数的运算符。如果是和165一样的组合,则只要8位便可以表示。因此,如果在实际能产生的点个数的组合中设定编码号码,则可以由8位数据表示像素组应形成的点个数的组合。结果为,通过对点个数的组合进行编码化,从而与按每个点的种类表示形成个数的情况相比,可以降低所需要的数据量。根据这样的理由,如图13所示对个数数据进行编码化并表示,在如图12所示的变换表格中,对于每个分类号码的多值化结果值,设定被编码化后的点个数的数据。另外,关于设定如图12所示的变换表格的方法,采用其它附图后面详细说明。
在如图11所示的有无形成点的决定处理中,通过参照如图12所示的变换表格,从而进行将像素组的多值化结果值变换成表示点个数的编码数据的处理。另外,为了参照如图12所示的变换表格,除多值化结果值外还需要像素组的分类号码。在此,如采用图8的上述所示,在本实施例中,像素组的分类号码是基于图像中的像素组的位置来决定的。由于多值化结果值是按每个像素组供给的,因此基于供给多值化结果值的顺序,便可以知道要处理的多值化结果值的像素组是在图像上的哪个位置了,由此便可以简单决定分类号码。关于根据像素组在图像上的位置决定分类号码的方法后述。另外,也可以说从计算机100向彩色打印机200与多值化结果值一起输出分类号码。
接着,进行读入与像素组对应的顺序值矩阵的处理(步骤S306)。在此,所谓顺序值矩阵,是指关于像素组内的各像素设定形成点的顺序的矩阵。图14为例示顺序值矩阵的说明图。如图所示,顺序值矩阵也是按像素组的每个分类号码设定不同的矩阵。作为一例,针对如图14(a)所示的分类号码1的顺序值矩阵进行说明。分类号码1的像素组,是在构成像素组的8个像素中位于左上角的像素为最易形成点的像素。将顺序值矩阵的左上角的像素设定为数值“1”,是表示该像素是第一个形成点的像素。另外,将设定在顺序值矩阵中的表示这样的顺序的数值称作顺序值。并且,将像素组的右下角的像素设定顺序值“2”表示该像素是像素组中第二个形成点的像素。按照这样,在顺序值矩阵中,针对像素组中包含的8个像素设定表示形成点的顺序的顺序值。
这样的顺序值矩阵,是因像素组的分类号码而不同的矩阵。例如,在如图14(b)所示的分类号码2的顺序值矩阵中,第一个形成点的像素(顺序值“1”的像素),是从下一行的左边开始第二个像素,第二个形成点的像素(顺序值“2”的像素)是右下角的像素。在如图14(c)所示的分类号码3顺序值矩阵中,第一个形成点的像素(顺序值“1”的像素),是从上一行的右边开始的第二个像素,第二个形成点的像素(顺序值“2”的像素)是右下角的像素。
在第一实施例的彩色打印机200中搭载的ROM中,按像素组的每个分类号码预先存储如图14所例示的顺序值矩阵。并且,在图11的步骤S306中,执行从ROM中读出与像素组的分类号码对应的顺序值矩阵的处理。另外,关于按每个像素组的分类号码设定顺序值矩阵的方法,采用其它图详细说明。
在读入与像素组对应的顺序值矩阵时,从构成像素组的8个像素中决定最先形成大点的像素(步骤S308)。由于大点比其它的点容易引人注目,因此优选比其它点优先决定形成点的像素位置以尽可能地将点分散形成。因此,首先就是决定形成大点的像素。在决定形成点的像素时,使用变换像素组的多值化结果值所得到的点个数的数据与对应于像素组的顺序值矩阵。
图15为示意性表示采用点个数的数据与顺序值矩阵在像素组内决定形成各种点的像素的模样的说明图。例如,表示在像素组中应形成的点个数的编码数据,表示大点1个、中点2个、小点1个的组合。如上述,在顺序值矩阵中设定在像素组内的各像素中形成点的顺序,并且由于首先根据形成大点的像素来决定,因此在设定顺序值“1”的像素中形成大点。当然,假如大点的形成个数为2个,则除顺序值“1”的像素外,在顺序值“2”的像素中也形成大点。在图15中,将形成大点的像素用细的斜线来表示。在图11的步骤S308中,按照这样基于点个数的数据与顺序值矩阵来执行决定形成大点的像素的处理。
若决定了形成大点的像素,则接着决定形成中点的像素(图11的步骤S310)。在图15所示的例中,应形成中点的个数为2个。由于在顺序值“1”的像素中已经形成了大点,因此中点是由顺序值“2”的像素与顺序值“3”的像素形成的。在图15中,将形成中点的像素用稍微粗的斜线来表示。在图11的步骤S310中,按照这样执行从未形成大点的像素中决定形成中点的像素的处理。
若决定了形成中点的像素,则本次决定形成小点的像素(图11的步骤S312)。在如图15所示的例中,应形成小点的个数为1个,由于在顺序值“1”~顺序值“3”的像素中已经形成大点以及中点,因此小点由顺序值“4”的像素形成。在图15中,将形成小点的像素用粗的斜线表示。
若按照这样决定了形成大点、中点、小点的像素,则只要决定像素组中剩余的像素为未形成点的像素即可(图11的步骤S314)。在以上处理全部执行后,针对像素组内的所有像素决定有无形成点。
接着,判断是否对所有像素组执行了上述处理并决定有无形成点(步骤S316),如果剩下未处理的像素组(步骤S316否),则返回步骤S300并选择新的像素组,针对该像素组进行后续一连串的处理。重复这样的操作,如果最终判断有关所有像素组的处理结束了(步骤S316是),则结束如图11所示的有无形成点的决定处理,恢复至如图6所示的图像打印处理。在如上述的图像打印处理中,通过根据有无形成点的决定结果形成点,从而在打印用纸上打印图像。
如以上所说明,在第一实施例的图像打印处理中,集中多个像素构成像素组,对每个像素组进行多值化,将所得到的多值化结果值向彩色打印机200输出。在进行像素组的多值化之际,求出像素组的分类号码与像素组灰度值,仅参照如图9所示的多值化表格便可以立即得到多值化结果值。由于像素组的分类号码与像素组灰度值都可以如上述非常简单地求出,因此像素组的多值化结果值可以非常迅速地由非常简单的处理求出。
另外,由于多值化结果值可以由每个像素组很少的位数表示(在本实施例中最高为5位),因此与按每个像素表示有无形成点的数据相比,可以使数据量大幅减少。因此,代替按每个像素表示有无形成点的数据,如果是将每个像素组的多值化结果值向彩色打印机200输出,则因数据量减少故而也可以迅速地供给数据。
并且,在彩色打印机200中,在接收每个像素组的多值化结果值时,将其变换成表示在像素组内应形成的点的个数的数据。该变换仅通过参照如图12所示的变换表格便可以迅速进行。接着,在基于表示变换所得到的点个数的数据与顺序值矩阵,决定有无形成大点/中点/小点之后,形成点并打印图像。如果参照顺序值矩阵,则可以比较简单地决定形成大点/中点/小点的像素。因此,在彩色打印机200中,在接收每个像素组的多值化结果值时,也可以由比较简单的处理迅速决定每个像素的有无形成点,进而可迅速地打印图像。
此外,在第一实施例的图像打印处理中,不仅可以迅速打印图像,还可以以足够的图像质量打印图像。尤其,通过根据像素组的分类号码适当决定多值化表格、变换表格以及顺序值矩阵,便可打印将点良好分散的高图像质量图像,如同采用所谓的称作蓝色噪音屏蔽或者绿色噪音屏蔽的抖动矩阵所实现的那样。以下,针对也包含可以进行上述那样的理由在内决定像素组的分类号码的考虑方式,设置多值化表格、变换表格、顺序值矩阵等的方法依次说明。
C-3抖动法的概要上述第一实施例的图像打印处理是一种发展所谓的称作抖动法的方法并改进的处理。因此,作为说明决定像素组的分类号码的方法、多值化表格、变换表格、顺序值矩阵等设定方法的准备,首先针对抖动法的概要简单进行说明。
作为抖动法,是一种用于将图像数据变换成按每个像素表示有无形成点的数据所采用的代表性的方法。在该方法中,预先在称作抖动矩阵的矩阵中设定阈值,按每个像素比较图像数据的灰度值与抖动矩阵中设定的阈值,对图像数据的灰度值一方大的像素判断形成点,对其它像素判断不形成点。如果针对图像中的所有像素都进行了这样的判断,则可以将图像数据变换成按每个像素表示有无形成点的数据。
图16为将抖动矩阵的一部分放大后例示的说明图。在图示的矩阵中,对横向(主扫描方向)128个像素、纵向(副扫描方向)64个像素、合计8192个像素,随机存储从灰度值1~255的范围内随便选择的阈值。在此,从1~255的范围内选择阈值的灰度值的原因在于,在本实施例中,图像数据作为可取灰度值0~255的值的1个字节数据,此外在图像数据的灰度值与阈值相等时,判断在该像素中形成点。
即,在只有图像数据的灰度值大于阈值的像素形成点时(即,在灰度值与阈值相等的像素中不形成点)时,在具有与图像数据可取的最大灰度值相同的阈值的像素中绝不形成点。为了避免这种情况,令阈值可取的范围为从图像数据可取的范围内除去最大灰度值后的范围。相反,在图像数据的灰度值与阈值相等的像素中也形成点时,在具有与图像数据可取的最小灰度值相同的阈值的像素中始终形成点。为了避免这种情况,令阈值可取的范围为从图像数据可取的范围中除去最小灰度值的范围。在本实施例中,图像数据可取的灰度值为0~255,由于在图像数据与阈值相等的像素中形成点,因此令阈值可取的范围为1~255。另外,抖动矩阵的大小并非限于如图16所例示这样的大小,可以是还包含纵横轴的像素数相等的矩阵在内的各种大小。
图17为示意性表示参照抖动矩阵判断有关各像素的有无形成点的模样的说明图。在判断有无形成点时,首先选择要判断的像素,比较有关该像素的图像数据的灰度值与在抖动矩阵中对应的位置存储的阈值。图17中所示的细的虚线的箭头示意表示按每个像素比较图像数据的灰度值与存储在抖动矩阵中的阈值。例如,关于图像数据的左上角的像素,图像数据的灰度值为97,由于抖动矩阵的阈值为1,因此判断在该像素中形成点。图17中实线所示的箭头示意表示判断在该像素中形成点并将判断结果写入存储器中的模样。另一方面,关于该像素的右边相邻像素,图像数据的灰度值为97,抖动矩阵的阈值为177,由于阈值一方较大,因此关于该像素判断不形成点。在抖动法中,通过一边按照这样参照抖动矩阵一边按每个像素判断是否形成点,从而将图像数据变换成按每个像素表示有无形成点的数据。
依据以上所说明的内容,以下针对决定像素组的分类号码的方法、多值化表格、变换表格、顺序值矩阵等的设定方法进行说明。
C-4用于决定分类号码的方法以下,首先说明赋予像素组的分类号码的方法。接着,采用图8根据上述简便的方法针对求出像素组的分类号码的理由进行说明。
图18为表示用于决定每个像素组的分类号码的方法的说明图。图18(a)为示意性表示通过在图像的最左上角的地方集中横向4个像素、纵向2个像素合计8个像素从而生成1个像素组的模样。
如上述,比较在抖动法中分配给像素的图像数据的灰度值与设定在抖动矩阵中的对应位置的阈值,按每个像素判断有无形成点。另一方面,在本实施例中,由于将邻接的规定数量的像素集中作为像素组,因此关于设定在抖动矩阵中的阈值,也每隔与像素组对应的规定数集中并生成块(block)。图18(b)表示将如图16所示的抖动矩阵中设定的阈值每隔横向4个纵向2个集中并生成多个块的模样。如图16所示的抖动矩阵,由于设定横向(主扫描方向)128个像素、纵向(副扫描方向)64个像素的合计8192个像素的阈值,因此如果将这些阈值中每隔横向4个、纵向2个集中成块,则抖动矩阵的横纵轴分别被分割为32个,合计被分割为1024个块。
现在,如图18(b)所示,对这些块赋予1~1024这样的连续号码。然后,在图像数据中应用抖动矩阵时,根据在各像素组的位置中适用的块的连续号码,对像素组进行分类。例如,如图18(c)所示,由于在位于图像的最左上角的像素组中,应用图18(b)中的连续号码1的块,因此该像素组分类为分类号码1的像素组。以上是用于决定像素组的分类号码的基本方法。
接着,针对根据采用图8的上述方法可计算像素组的分类号码的理由进行说明。图19为表示计算像素组的分类号码的方法的说明图。图19(a)表示在图像中生成的1个像素组。以下,针对以该像素组作为注目像素组,计算分类号码的方法进行说明。如上述,注目像素组的位置由位于像素组的左上角的像素的像素位置表示。在图19(a)中,将表示像素组的位置的像素赋予黑色点表示。令该像素的像素位置为(X,Y)。于是,由于各像素组的大小为主扫描方向4个像素,副扫描方向2个像素,因此存在X=4n+1、Y=2m+1这样的n、m(在此,n、m为0以上的正整数)。换言之,在注目像素组的左侧排列n个像素组,在注目像素组的上侧排列m个像素组。
在此,如上述由于像素组在图像数据中应用了抖动矩阵时,是基于在注目像素组中应用的块的连续号码进行分类的(参照图18),因此根据一边使抖动矩阵移动一边应用于图像数据的方法,即便是相同的像素组也会分类成不同的分类号码。实际上,虽然一边移动抖动矩阵,一边应用于图像数据的方法可以是任意方法,但在此为了方便说明,就最简单的方法即、使抖动矩阵在横向移动进行说明。图19(b)示意性表示一边横向一点点地移动抖动矩阵,一边反复应用于图像数据中的模样。
图19(c)示意性表示一边如图19(b)所示反复采用抖动矩阵,一边在如图19(a)所示的注目像素组中应用抖动矩阵的模样。这样在使抖动矩阵移动时,抖动矩阵中的任一块都会应用于注目像素组中。在此,在注目像素组中应用抖动矩阵中第M行N列的块。于是,如图19(a)所示在注目像素组的左侧存在n个像素组,在上侧存在m个像素组,在N和n以及M与m之间,分别成立以下关系N=n-int(n/32)×32+1M=m-int(m/32)×32+1在此,int是表示舍弃小数点后面而取整的运算符。即,int(n/32)表示通过对n/32的计算结果舍弃小数点后面的数值所得到的整数值。这样,如果知道注目像素组的位置,则只要根据如图19(d)所表示的上述关系式求出数值M以及N,将抖动矩阵中第M行第N列的块的块号码作为该注目像素组的分类号码即可。更实际地,如采用图8所述,通过从二进制表示注目像素组的坐标值X、Y的数据中取出规定位的数据便可以非常简单地求出。以下针对其理由进行说明。
图20为表示根据注目像素组的坐标值的二进制数表示求出分类号码的方法的说明图。令注目像素组的坐标值为(X,Y),X、Y由10位表示。图20(a)示意性示出表示数值X的10位2进制数的数据。在图中,为了识别各位,从最高位的位向最低位的位附加1~10的连续号码来显示。
如采用图19所述,位于注目像素组的左侧的像素组的个数n,只要从数值X中减去1再除以4便可以得到。在此,由于通过仅向右移动2位便可以实施除以4,因此只要从数值X中减1,使所得到的二进制数据仅向右移位2位即可。进而,由于数值X并非取任意值,而是只能取由4n+1的形式可表示的数值,因此不用减去1,只要使二进制数的数据向右移位2位便可以得到像素组的个数n。图20(b)示意性表示按照这样将数值X移位所得到的个数n的二进制数数据。
接着,计算int(n/32)。即,执行将个数n除以32,并舍弃小数点后面的数值的操作。用32执行的除法可通过仅使二进制数向右移位5位便可执行,并且,如果由整数形式处理数据,则小数点后面的数值会自动舍弃。结果,int(n/32)的二进制数据可以通过使个数n的二进制数据仅向右移位5位便可以得到。图20(c)示意性表示对个数n进行移位所得到的int(n/32)的二进制数据。
将按照这样得到的int(n/32)乘以32。用32执行的乘法可以通过使二进制数数据仅向左移位5位便可以实施。图20(d)示意性表示将个数n移位所得到的int(n/32)×32的二进制数据。
接着,如果从个数n中减去int(n/32)×32,便可以得到上述数值N。如果比较个数n的二进制数据(参照图20(b))与int(n/32)×32的二进制数据(参照图20(d))显然可知,这些二进制数据的高位5位相同,减去侧的数值的低位5位全部为“0”。因此,只要直接取出被减去侧的数值(个数n)的低位5位便可以得到所求的数值M。即,对于如图20(b)所示的二进制数据,仅作用如图20(f)所示的屏蔽数据(mask data)便可以非常简便地得到数值N。或者,通过在表示如图20(a)所示的注目像素组的位置的数值X的二进制数据中作用图20(g)这样的屏蔽数据,并直接取出第4~8位的数据,也可以得到数值N。
在图20中,虽然针对根据表示注目像素组的位置的坐标值(X,Y)的数值X求出表示在抖动矩阵中的块位置的数值N的情况作了说明,但都一样表示块位置的数值M也可以根据数值Y求出。结果,如果知道注目像素组的位置,则只要从二进制数据中取出特定位的位置的数据,便可以知道注目像素组在抖动矩阵中是与哪行哪列的块对应了,只要计算该块的连续号码便可以得到注目像素组的分类号码。采用图8所述的分类号码的计算方法就是按照这样推导的方法。
C-5多值化表格的设定方法接着,针对设定如图9所示的多值化表格的方法进行说明。如上述在多值化表格中按每个像素组的分类号码设定像素组灰度值对应的多值化结果值,通过一边参照多值化表格一边进行多值化,从而像素组灰度值便如图10所示以与像素组的分类号码相应的固有形式多值化了。
本实施例的多值化表格,是按照对大小不同的多种点可按每个像素判断有无形成点的方式,基于发展上述抖动法的方法所设定的。该方法的详细内容在特许3292104号中公开了。在说明多值化表格的设定方法之前,作为其准备,针对在上述特许公报中公开的技术的概要简单进行说明。
图21为表示发展抖动法并可按每个像素决定有无形成大点/中点/小点的半色调处理流程的流程图。在开始半色调处理时,首先选择要判断有无形成点的像素,获得该像素的图像数据(步骤S400)。接着,将所获得的图像数据变换成关于大中小各点的密度数据。在此,所谓密度数据,是表示以怎样的密度形成点的数据。密度数据表示灰度值越大、以越高的密度形成点。例如,密度数据的灰度值“255”,表示点的形成密度为100%,即,在所有的像素中形成点,密度数据的灰度值“0”,表示点的形成密度为0%,即任一像素都不能形成点。向这样的密度数据的变换,是通过参照称作点密度变换表格的数字表进行的。
图22为示意性表示将图像数据的灰度值变换成有关大中小各点的密度时参照的点密度变换表格的说明图。如图所示,在点密度变换表格中,对图像数据的灰度值设定有关小点/中点/大点各点的密度数据。在图像数据为灰度值“0”附近的区域,中点/大点的密度数据都设定为灰度值“0”。虽然随着图像数据的灰度值变大,小点的密度数据在增加,但在图像数据达到某个灰度值时则此时相反开始减少,代之中点的密度数据开始增加。在图像数据的灰度值进一步增加并到达某个灰度值时,小点的密度数据变成灰度值“0”,中点的密度数据开始减少,代之大点的密度数据一点点增加。在图21的步骤S402中,一边参照该点密度变换表格一边执行将图像数据的灰度值变换成大点的密度数据、中点的密度数据、小点的密度数据的处理。
关于作为处理对象的像素,如果得到大中小各点的密度数据,则首先判断有关大点的有无形成(图21的步骤S404)。该判断是通过比较大点的密度数据与设定在作为处理对象的像素的对应位置的抖动矩阵的阈值而进行的。在大点的密度数据比阈值大时,判断在处理对象的像素中形成大点,相反在密度数据一方较小时,判断不形成大点。
接着,判定是否判断在处理对象的像素中形成大点(步骤S406),在判断形成大点时(步骤S406是),则省略有关中点以及小点的判断,并判断是否结束了所有的像素(步骤S418)。然后,在剩下未判断有无形成点的像素时(步骤S418否),则返回步骤S400选择新的像素,并执行后续的一连串处理。
另一方面,在未判断处理对象的像素中形成大点时(步骤S406否),则应判断有关中点的有无形成,将大点的密度数据加上中点的密度数据并计算中点用的中间数据(步骤S408)。比较按照这样得到的中点用的中间数据与抖动矩阵的阈值。然后,如果中点用的中间数据一方比阈值大,则判断形成中点,相反,如果抖动矩阵的阈值一方比中间数据大,则判断形成中点(步骤S410)。
接着,判定是否判断在处理对象的像素中形成中点(步骤S412),在判断形成中点时(步骤S412是),则省略有关小点的判断,并判断是否结束了所有像素(步骤S418)。
在未判断处理对象的像素中形成中点时(步骤S412否),则应判断有关有无形成小点,将中点用的中间数据加上小点的密度数据并计算小点用的中间数据(步骤S414)。然后,比较所得到的小点用的中间数据与抖动矩阵的阈值。然后,如果小点用的中间数据比阈值大,则判断形成小点,相反,如果抖动矩阵的阈值一方比中间数据大,则判断不形成任何点(步骤S416)。
即,针对抖动矩阵中设定的阈值一方比大点的密度数据大的像素(未形成大点的像素),将大点的密度数据加上中点的密度数据,比较所得到的中间数据与阈值,如果中间数据一方较大,则判断形成中点。另一方面,针对阈值一方依然大于中间数据的像素,将中间数据加上小点的密度数据计算新的中间数据。然后,比较该中间数据与阈值,如果新的中间数据一方较大,则判断形成小点,关于阈值一方依然较大的像素,判断不形成任何点。
通过执行以上处理,从而可以针对处理对象的像素判断是形成大点、中点、小点中的某个点,或者不形成任何点。因此,在判断关于所有像素的处理是否结束(步骤S418),且剩下未判断的像素时(步骤S418否),则返回步骤S400选择新的像素,进行后继一连串的处理。按照这样针对作为处理对象所选择的像素逐个判断是否形成大中小中的某种点。然后,如果判断关于所有像素的处理结束了(步骤S418是),则结束如图21所示的半色调处理。
以上针对利用抖动矩阵判断有关大中小各点的形成有无的方法作了说明。以下,依据上述说明针对如图9所示的多值化表格的设定方法进行说明。
如上述在多值化结果值生成处理中,通过由像素组灰度值代表像素组内包含的各像素的图像数据,从而集中像素组进行多值化。因此,在设定多值化表格时,首先考虑像素组内的所有像素具有与像素灰度值相同值的图像数据,并针对各像素判断有关大中小各种点的形成有无。有关各种点的形成有无的判断,是通过采用图21所述的半色调处理进行的。
图23为示意性表示针对像素组内的各像素判断有无形成大中小各点的样子的说明图。在图中,用粗的实线包围表示为了执行半色调处理所注目的像素组。像素组由8个像素构成,各像素的图像数据都具有与像素组灰度值相同的值(在图示的例中为灰度值97)。为了判断有无形成大中小各种点,将图像数据变换成有关各点的密度数据。向密度数据的变换,是通过参照如图22所示的点密度变换表格进行的。在此,由于像素组内的所有像素都具有相同的图像数据,因此即使对于各种点,密度数据也是关于所有像素都相同的值。在图示的例中,表示大点的密度数据的灰度值为“2”,中点的密度数据的灰度值为“95”,小点的密度数据的灰度值为“30”的情况。
接着,如采用图21所说明,通过将大点的密度数据、中点用的中间数据或者小点用的中间数据、与设定在抖动矩阵中的阈值进行比较,从而按每个像素判断有关各种点的形成有无。在此,比较所采用的抖动矩阵的阈值,采用在抖动矩阵中设定在与所注目的像素组对应的地方的阈值。例如,在如图23所示的例中,由于像素组位于图像的左上角,因此即使关于阈值,也采用设定在抖动矩阵中的左上角的像素组中的阈值。
然后,对设定在像素组中的8个阈值中被设定为比大点的密度数据小的阈值的像素,判断形成大点。在此,由于大点的密度数据为灰度值“2”,因此形成大点的像素仅为设定阈值“1”的像素。在图23中,将判断了形成大点的像素附加细斜线来表示。对被设定为比大点的密度数据“2”大、且比将大点的密度数据与中点的密度数据相加所得到的中点用的中间数据“97”小的阈值的像素,判断形成中点。这样的像素,仅有设定阈值“42”的像素、以及设定阈值“58”的像素这两种像素。在图23中,将判断形成中点的像素赋以有点粗的斜线来表示。然后,最后对被设定为比中点用的中间数据“97”大、且比将中点用的中间数据加上小点用的密度数据所得到的小点用的中间数据“127”小的阈值的像素,判断形成小点。这样的像素仅有设定阈值“109”的像素。在图23中,将判断形成小点的像素赋以粗的斜线来表示。由此,判断大点、中点、小点的形成有无的结果为,在注目的像素组的像素组灰度值为“97”时,形成大点1个、中点2个、小点1个。
如果像素组灰度值大大不同,则形成在像素组内的大点、中点、小点的个数也不同。并且,如果使像素组灰度值从“0”向“255”为止改变,则随之大点、中点、小点的个数也一定会按一定的阶段产生改变。进而,如果像素组的分类号码不同,则由于抖动矩阵的阈值也不同,因此点个数的变化方法也一定不同。如图9所示的多值化表格,是通过按每个分类号码调查在使像素组灰度值从“0”向“255”改变时的各种点的个数阶段性改变的行为而设定的。
图24为表示实际上设定多值化表格的处理流程的流程图。以下,根据流程图进行说明。在开始多值化数据的设定处理时,首先选择一个像素组的分类号码(步骤S500)。例如,在此选择分类号码1。
接着,从抖动矩阵中读出与所选择的分类号码的像素组对应的阈值(步骤S502)。例如,由于在此选择分类号码1,因此从如图16所例示的抖动矩阵中,读出在图18(b)中被设定在表示1的块位置的8个阈值。
然后,将多值化结果值RV以及像素组灰度值BD设定为“0”(步骤S504),进而,将大点、中点、小点的形成个数都设定为0个(步骤S506)。
接着,通过参照如图22所示的点密度变换表格,从而将像素组灰度值变换成有关大点、中点、小点的密度数据之后(步骤S508),基于这些密度数据与之前读入的阈值,决定有关大中小各种点的形成个数(步骤S510)。即,如采用图21或者图23所说明,求出比大点的密度数据小的阈值的个数,将所得到的个数作为大点的形成个数。并且,求出比大点的密度数据大且比中点用的中间数据小的阈值的个数,将其作为中点的形成个数。进而,求出比中点用的中间数据大且比小点用的中间数据小的阈值的个数,并将其作为小点的形成个数。
判断按照这样求出的各种点的形成个数是否相对之前设定的形成个数产生了变更(步骤S512)。然后,如果判断形成个数变更了(步骤S512是),则使多值化结果值RV仅增加“1”(步骤S514),将所得到的多值化结果值RV与像素组灰度值BD对应存储(步骤S516)。另一方面,在判断形成个数未变更时(步骤S512否),则不使多值化结果值RV增加,而是直接将其值与像素组灰度值BD对应存储(步骤S516)。
如果按照以上这样存储与某个像素组灰度值对应的多值化结果值,则判断像素组灰度值BD是否达到灰度值255(步骤S518)。如果没有达到灰度值255(步骤S518否),则使像素组灰度值BD仅增加“1”(步骤S520),在返回步骤S508并再次将像素组灰度值BD变换成密度数据之后,进行后续一连串的处理,与新的像素组灰度值BD对应存储多值化结果值RV(步骤S516)。在像素组灰度值BD达到灰度值255之前,重复这样的操作。然后,如果像素组灰度值BD达到灰度值255(步骤S516是),则对所选择的分类号码设定所有的多值化结果值。
因此,对所有的分类号码,判断是否进行以上这样的处理(步骤S522),在剩下未处理的分类号码时(步骤S522否),则返回步骤S500并再次进行上述处理。重复这样的处理,在判断对所有的分类号码设定了所有的多值化结果值时(步骤S522是),结束如图24所示的多值化表格设定处理。
由以上说明显然可知,多值化结果值,由对像素组灰度值进行变换所得到的大中小各点的密度数据与存储在抖动矩阵中与像素组对应的位置的阈值所决定。在此,如图22所示的点密度变换表格,由于即使像素组的分类号码不同也参照相同的表格,因此像素组灰度值对应的各点的密度数据不依赖于分类号码也都是相同密度的数据。但是,从抖动矩阵所读出的阈值的组依每个分类号码而不同。原因在于,抖动矩阵是按照使阈值尽可能地分散且尽可能随机地设定的,以避免因在图像上按一定的图案形成点,或者在接近的位置聚集形成点而导致图像质量恶化。因此,在将像素组中包含的多个阈值视为一组时,认为全部成为相同的组合的可能性非常低。由于这样的原因,在本实施例的多值化结果值生成处理所参照的多值化表格中,像素组灰度值与多值化结果值之间的对应关系因每个分类号码而不同,并且,多值化结果值改变的次数(如图10所示的多值化的级数)也因分类号码而不同。
C-6变换表格的设定方法接着,针对采用图12所述的变换表格的设定方法进行说明。该变换表格,是一种在如图11所示的有无形成点的决定处理中用于使多值化结果值与分类号码组合,并变换成表示在像素组中形成的点个数的数据所参照的表格。
由采用图24所述的多值化表格的设定方法显然可知,设定在多值化表格中的多值化结果值是基于像素组中形成的大中小各点的个数而决定的。当然多值化结果值并不是与像素组中所形成的点个数的组合直接对应的,而是只有通过组合多值化结果值与像素组的分类号码才可以与具体的点个数的组合对应。原因在于,多值化结果值是在如下状态下设定的在像素组灰度值从灰度值0增加至灰度值255时,仅提取大中小各点的形成个数是否改变,而省略了表示具体各点的个数的组合是怎样改变的信息。
也就是说,如果知道像素组的分类号码,则根据相当于该像素组中产生变化的次数的、即多值化结果值便可以特定有关各种点的具体个数的组合。因此,按每个分类号码求出各种点的具体个数,其将成为设定多值化结果值的根据,将与所得到的点个数的组合对应的编码数据与多值化结果值对应存储。如图12所示的变换表格,是通过针对所有的分类号码执行这样的操作所设定的。
图25为表示设定变换表格的具体处理流程的流程图。以下,针对流程图进行说明。在开始变换表格设定处理时,首先选择一个作为设定对象的分类号码(步骤S600),将多值化结果与RV设定为0(步骤S602)。
接着,获得与多值化结果值RV对应的大中小各点的个数(步骤604)。例如,若令多值化结果值为“N”,则对其分类号码的像素组,一边使像素组灰度值从“0”至“255”改变一边判断有无形成大中小各点,并获得点的形成个数改变至第N个时的大点、中点、小点的个数。
将按照这样获得的各点的个数的组合变换成编码数据(步骤S606)。从点个数的组合向编码数据的变换,是通过参照如图13所示的对应表进行的。接着,在将所得到的编码数据与多值化结果值对应存储之后(步骤S608),判断是否达到有关作为对象的分类号码的最大多值化结果(步骤S610)。即,如采用图9所说明,由于多值化结果的最大值因像素组的分类号码而不同,因此判断是否达到有关作为对象的分类号码的多值化结果的最大值。
然后,在未达到多值化结果的最大值时(步骤S610否),则使多值化结果RV的值仅增加“1”(步骤S612)。然后,返回步骤S604,在获得与新的多值化结果值RV对应的各点的个数之后,重复后继一连串的处理。重复这样的操作,在判断达到作为对象的分类号码的最大多值化结果值时(步骤S610是),则对该分类号码将所有的数据设定在变换表格中。
那么本次针对所有的分类号码判断是否执行了同样的处理(步骤S614)。而且,在剩下尚未处理的分类号码时,返回步骤S600选择新的分类号码,对该分类号码执行上述一连串的处理。按照这样在对所有的分类号码判断处理已结束时(步骤S614是),由于设定了变换表格的所有数据,因此结束如图25所示的处理。
第一实施例的彩色打印机200,预先将按照这样设定的变换表格存储在内置于控制电路260中的ROM内。然后,在如图11所示的有无形成点的决定处理中,通过参照该变换表格从而将多值化结果值变换成个数数据。
C-7顺序值矩阵的设定方法接着,针对设定图14所例示的顺序值矩阵的方法进行说明。如上述,所谓顺序值矩阵,是指对像素组内的各像素设定形成点的顺序的矩阵。在如图11所示的有无形成点的决定处理中,读入与像素组对应的顺序值矩阵,依据设定在矩阵中的顺序决定形成大点、中点、小点的像素。
顺序值矩阵也与上述多值化表格同样,是根据在特许3292104号中公开的方法(发展抖动法并可判断大小不同的多种点的形成有无的方法)而设定的。即,在设定多值化表格时,如上述像素组内的所有像素具有相同的图像数据(像素组灰度值),一边决定在像素组内形成的大中小点的个数,一边使像素组灰度值从“0”至“255”改变,这时着重形成各点的个数的变化来设定多值化结果值。并且,如图12所示,如果组合多值化结果值与分类号码,则可以恢复至在像素组内形成的大中小各点的个数为止。但是,有关这些各种点是像素组内的哪些像素形成的信息被省略,无法根据多值化结果值或者分类号码而得知。顺序值矩阵,可以认为存储了与在像素组内形成各种点的像素位置相关的信息。即,如果将特许3292104号中公开的方法应用于像素组,则如采用图21~图23所述,不仅各种点的形成个数,甚至还可决定像素组内形成点的像素位置,但是本实施例中将该方法分解成2个要素,可以认为关于各种点的形成个数相关的信息,主要反映在多值化结果值(正确来说是多值化结果值以及分类号码的组合)中,关于形成点的像素位置相关的信息,反映在顺序值矩阵中。这样的顺序值矩阵,实际上可以比较简单地设定。
图26为具体示出有关设定顺序值矩阵的方法的说明图。以下,参照附图进行说明。在设定顺序值矩阵时,首先,将抖动矩阵分割成具有与像素组相同大小的多个块,给各块赋予连续号码。如采用图18所述,该连续号码仍然是像素组的分类号码。图26(a)为示意性表示将抖动矩阵分割成多个块的模样的说明图。现在,若令抖动矩阵具有如图16所示的大小(即,主扫描方向128个像素,副扫描方向64个像素),则由于一个像素组具有在主扫描方向4个像素、副扫描方向2个像素的大小,因此如图26(a)所示,抖动矩阵被分割为主扫描方向以及副扫描方向分别32块、整体为赋予了分类号码1~1024的1024个块。
若将抖动矩阵分割成多个块,则由每个块按每组生成顺序值矩阵。图26(b)为表示作为一例的由分类号码1的块生成顺序值矩阵的模样的说明图。图26(b)的左半侧表示分类号码1的块中包含的抖动矩阵的阈值。如采用图23所述,点由设定阈值小的像素按顺序形成。因此,可以认为在如图26(b)所示的一个块中第一个形成点的像素是设定阈值“1”的像素。因此,对该像素设定“1”作为顺序值。同样地,可以认为第二个形成点的像素是设定阈值第二小的“42”的像素。因此,对该像素设定顺序值“42”。如果按照这样从设定在块内的阈值较小的像素开始按顺序决定顺序值“1”至顺序值“8”,则可以得到图26(b)的右半侧所示的分类号码1的顺序值矩阵。
图26(c)表示同样地从块内设定最小的阈值的像素开始按顺序设定顺序值“1”至顺序值“8”从而得到分类号码2的顺序值矩阵的模样。关于图26(a)所示的分类号码“1”~“1024”的所有块,通过执行以上操作,从而可以得到分类号码“1”~“1024”的顺序值矩阵。
第一实施例的彩色打印机200,使按照这样设定的顺序值矩阵与像素组的分类号码对应并预先存储在内置于控制电路260中的ROM内。并且,在实施如图11所示的有无形成点的决定处理时,从所存储的顺序值矩阵中读出与像素组的分类号码对应的矩阵。
C-8可根据多值化结果值适当决定有无形成点的原理按照以上所说明,在第一实施例的图像打印处理中,将多个像素集中为像素组,通过参照图9所例示的多值化表格,从而按每个像素组决定多值化结果值。接着,一边参照图12所例示的变换表格以及图14所例示的顺序值矩阵,一边基于多值化结果值决定在像素组内形成各种点的像素位置。即使在按照这样决定形成点的像素位置的情况下,也可以输出将点适当分散的高图像质量的图像。此外,尽管每次将比较少(在本实施例中为每8个)的像素组集中进行处理,但是都可以得到良好的点分布,如同采用以所谓的蓝色噪音屏蔽、或者绿色噪音屏蔽为代表的像素数超过千个这样的大规模抖动矩阵所实现的那样。以下针对可以这样的原理进行说明。
如果采用上述特许3292104号中公开的技术,则如采用图21以及图22所述,通过将图像数据变换成大点的密度数据、中点用的中间数据、小点用的中间数据,并与设定在抖动矩阵中的阈值进行比较,从而便可以判断有关大中小各点的形成有无。进而,如果将这时参照的抖动矩阵作为考虑以所谓的蓝色噪音屏蔽、或者绿色噪音屏蔽为代表的分散性的矩阵,则可以得到将点良好分散的高图像质量的图像。
并且,图像数据一般倾向于在邻接的像素之间分配近似(或者相同)的灰度值。近年来,虽然由于高图像质量化的需求因此存在图像数据的分辨率日益提高的倾向,但图像数据的分辨率越高,在邻接的像素之间分配近似或者相同的灰度值的倾向越表现得显著。因此,即使如采用图23所述将多个像素集中作为像素组,令像素组内的像素全部具有相同的图像数据并判断有无形成大中小各点的情况下,实际上图像质量差别也较少。
在此,在上述本实施例的多值化结果值生成处理中,对像素组灰度值进行多值化并生成依赖于像素组的分类号码的多值化结果值。按照这样生成的多值化结果值,通过与像素组的分类号码组合而成为表示在像素组内形成的各种点的个数的数据。关于如图23所示的像素组,因与像素组的分类号码组合从而生成表示大点、中点、小点的形成个数分别为1个、2个、1个这样的多值化结果值。
在上述第一实施例的有无形成点的决定处理中,在接收这样的多值化结果值时,对像素组内的各像素决定有关大中小各点的有无形成。图27为示意性概括在上述有无形成点的决定处理中,接收多值化结果值并对像素组内的各像素判断有无形成大中小各点的处理的大致流程的说明图。如图所示,在接收多值化结果值时,在求出该结果值表示的像素组的分类号码之后,基于多值化结果值与分类号码,获得大中小各点的形成个数。并且,从预先存储的顺序值矩阵中读出与分类号码对应存储的矩阵。另外,针对求出分类号码的方法后述。
如果假设如图23所示的像素组进行说明,则由于像素组位于图像的左上角因此求出分类号码为1。通过使该像素组的多值化结果值与所求出的分类号码组合,从而可知分别在该像素组中形成大点1个、中点2个、小点1个。为了决定这些各点是由像素组内的哪些像素形成的,因而参照分类号码1的顺序值矩阵。该顺序值矩阵,是在图23中由判断有无形成点所采用的抖动矩阵的相应部分、即用于对像素组内的各像素判断有无形成点所采用的相应部分所生成的顺序值矩阵。
基于按照这样得到的大中小各点的个数与顺序值矩阵,决定像素组内形成这些点的像素位置。决定像素位置的具体方法,由于已经采用图15说明了,因此在此省略说明仅表示其结果,大点是由顺序值1的像素形成的,中点是由顺序值2的像素与顺序值3的像素形成,小点由顺序值4的像素形成。在图27中,仿照图15将形成大点的像素赋以细的影线(hatching)表示,将形成中点的像素赋以稍粗的影线表示,将形成小点的像素赋以粗影线表示。如果比较按照这样得到的点的分布与按每个如图23所示的像素判断有无形成点所得到的点的分布,则可知两者的点分布是完全一致的。
即,即使在仅接收依赖于分类号码的多值化结果值时,如果采用上述方法决定有无形成点,在应用上述特许3292104号一边参照抖动法一边按每个像素判断有无形成大中小各点的情况下,也可以得到全部相同的点分布。因此,可以得到将点良好分散的高图像质量的图像。
此外,为了生成多值化结果值所参照的多值化表格,是基于抖动矩阵所设定的(参照图25)。同样地,根据多值化结果值决定有无形成点的过程所参照的变换表格或者顺序值表格,也是基于抖动矩阵设定的(参照图25、图26)。因此,作为这些表格类的设定所采用的抖动矩阵,如果采用所谓的蓝色噪音屏蔽、或者绿色噪音屏蔽,则也可以得到只有采用这些屏蔽才能得到的高品质图像。
C-9根据像素组的位置决定分类号码的方法在此,针对根据像素组在图像上的位置求出该像素组的分类号码的方法,简单进行说明。
图28为表示基于像素组在图像上的位置求出分类号码的方法的说明图。现在,如图28(a)所示,令作为对象的像素组处于以图像的最左上角为基准的主扫描方向第i个像素组、副扫描方向的第j个像素组的位置。并且,由坐标值(i,j)表示这样的像素组的位置。并且,由于抖动矩阵的大小一般没有图像那样大,因此如采用图19(b)所述那样,一边在主扫描方向移动抖动矩阵,一边反复使用。
由于一个抖动矩阵中主扫描方向/副扫描方向分别包含32个块(参照图18(b)),因此如果令抖动矩阵中对象像素组所处的位置为I行J列,则J、J可以分别由下式求出。
I=i-int(i/32)×32J=j-int(j/32)×32在此,int是表示舍弃小数点以后并进行整数化的上述运算符。因此,可知通过在像素组的坐标值(i,j)中应用上式并求出I、J,因而该像素组便处于抖动矩阵中的I行J列。由此,分类号码便可以通过下式求出I+(J-1)×32 ……(2)并且,表示像素组在抖动矩阵中的位置的值I、J,即使不执行上述这样的计算而仅从i,j的二进制数表示中取出规定位的数据也可以非常简单地求出。图29为具体表示根据像素组的坐标值(i,j)求出像素组在抖动矩阵中的位置的方法的说明图。图29(a)示意性示出表示数值i的10位二进制数表示的数据。另外,在图29(a)中,为了识别各位,从最高位的位至最低位的位赋以1至10的连续号码来表示。
在求出表示像素组的位置的值I时,首先计算int(i/32)。该运算是通过仅使i的二进制数据向右仅位移5位而执行的(参照图29(b))。接着,计算int(i/32)×32。该运算是通过使int(i/32)的二进制数据仅向左移位5位而执行的(参照图29(c))。最后,如果从数值i中减去int(i/32)×32,便可以得到目的数值I。该操作最后只是仅从数值i的二进制数据中取出低位的5位即可,因此可以非常简单地得到数值I。同样,通过从数值j的二进制数据中仅取出低位的5位便可以非常简单地得到数值J。如果按照这样求出数值I以及J,便可以采用上述式(2)计算分类号码。
以上针对在第一实施例的图像打印处理中执行的多值化结果值生成处理(图6的步骤S106)以及有无形成点的决定处理(图6的步骤S108)的内容作了详细说明。在上述多值化结果值生成处理中,集中规定数量的像素生成像素组,并生成对该像素组的像素组灰度值进行多值化所得到的结果值。通过参照多值化表格,从而可以非常迅速地生成多值化结果值。此外,虽然按照这样得到的多值化结果值是依赖于像素组的分类号码的结果值,但由于数据量远远小于按每个像素表示有无形成点的数据,因此可以从计算机100向彩色打印机200非常迅速地输出数据。即,在上述多值化结果值生成处理中,可高速执行多值化结果值的生成以及输出,因此可以迅速打印图像。
此外,生成多值化结果值的处理,只不过是参照多值化表格的处理,由于用于参照多值化表格所使用的分类号码或像素组灰度值也可以通过非常简单的处理求出,因此即使在采用计算机100这样的具有较高的处理能力的机器的情况下,也能够以非常实用的速度进行处理。
进而,由于处理内容的大部分是仅参照表格这样的非常简单的处理,因此采用嵌入专用逻辑电路的IC芯片由硬件便很容易执行,而不用采用CPU来由软件执行,这样也可以非常高速地执行处理。因此,即使在将数码相机120等生成图像数据的机器与彩色打印机200直接连接的情况下,通过由数码相机120或彩色打印机200的内部执行多值化结果值生成处理,从而也可以迅速打印图像。
另一方面,在由第一实施例的图像打印处理中执行的有无形成点的决定处理中,在接收多值化结果值时,对像素组内的各像素决定有无形成点。在决定有无形成点时,通过参照变换表格从而将多值化结果值变换成点个数的组合。而且,通过参照顺序值矩阵从而决定各种点的形成位置。即,通过参照变换表格以及顺序值矩阵,从而可以迅速决定形成各种点的像素位置。
一般,在可形成的点的种类增加时,决定形成这些各种点的像素位置的处理会变得更加复杂。对此,在上述第一实施例的有无形成点的决定处理中,即使在点的种类增加时,参照变换表格以及顺序值矩阵这样的基本处理内容也是相同的,处理内容没有复杂化。根据这一点,如果采用第一实施例的有无形成点的决定处理也可以实现简单且迅速的处理。进而,与上述多值化结果生成处理同样,在本实施例的有无形成点的决定处理中,由于大部分处理内容是仅参照表格这样的非常简单的处理,因此采用嵌入专用的逻辑电路的IC芯片由硬件也很容易执行,而不必采用CPU由软件来执行,这样可以实现非常高速的处理。
C-10变形例C-10-1第一变形例在上述第一实施例的多值化结果值生成处理中,按每个从灰度值0至灰度值255的像素组灰度值,参照存储对应的多值化结果值的多值化表格。但是,由于多值化结果值仅随着像素组灰度值的增加而阶段性增加,因此只要存储切换多值化结果值的像素组灰度值便可以求出像素组灰度值对应的多值化结果值。在以下说明的第一变形例的图像打印处理中,执行这样的变形例的多值化结果值生成处理。
图30为示意性表示在变形例的多值化结果值生成处理中所参照的阈值表格的说明图。如图所示,在阈值表格中按每个分类号码设定与多值化结果值对应的阈值。该阈值表示在使像素组灰度值从灰度值0至灰度值255增加时成为其多值化结果值的最大像素组灰度值。作为一例,针对分类号码1的像素组进行说明。关于分类号码1,对多值化结果值“0”设定阈值“2”。这表示关于分类号码1的像素组,如果像素组灰度值处于“0”~“2”的范围内则多值化结果值为“0”。并且,对于多值化结果值“1”设定阈值“15”。这表示关于分类号码1的像素组,如果像素组灰度值处于“3”~“15”的范围内则多值化结果值为“1”。同样,对于多值化结果值“14”设定阈值“243”,并且对于多值化结果值“15”设定阈值“255”。这表示如果像素组灰度值处于“244”至“255”的范围,则多值化结果值为“15”;并且关于分类号码1的像素组,多值化结果值的最大值为“15”。
另外,在图30中,每个分类号码的阈值被设定为分别与多值化结果值对应。但是,也可以不是特别对应于多值化结果值,而是按每个分类号码仅存储阈值的组。这种情况下,通过数比像素组灰度值小的阈值的个数便可以求出多值化结果值。再次以分类号码1的像素组为例进行说明。例如,令像素组灰度值为“20”。在设定分类号码1的阈值的组中,大于灰度值20的阈值为“2”、“15”、“18”这3个。因此也可以求出像素组灰度值20对应的多值化结果值为“3”。
在以上所说明的变形例的多值化结果值生成处理中,在求出有关像素组的像素组灰度值与分类号码之后,通过参照图30所例示的阈值表格,从而生成多值化结果值。阈值表格,可以以小于上述第一实施例的多值化结果值生成处理中所参照的多值化表格(参照图9)的数据量来存储。因此,变形例的多值化结果值的生成处理,与作为第一实施例所表示的处理相比,可节约存储器的使用量。对此,第一实施例的多值化结果值生成处理,根据分类号码与像素组灰度值仅参照多值化表格便可以立即求出多值化结果值。即,由于不需要如变形例中的处理那样比较像素组灰度值与阈值,因此可以迅速执行多值化。
C-10-2第二变形例在上述第一实施例的有无形成点的决定处理中,在接收像素组的分类号码与多值化结果值时,一次将其变换成表示在像素组内形成的各种点的个数的数据。然后,在判断有无形成点时,按每个点的种类决定是否对像素组内的各像素形成点。例如,在如图11所示的流程图中,按照首先判断有关大点的有无形成点,接着进行有关中点的判断,最后针对小点进行判断的方式,按每种点判断有无形成点。但是,判断有无形成点的方法并非限于这些方法。例如,可以从像素组内逐个选择像素,并对各像素判断是形成大中小各种点还是不形成点。在以下所说明的第二变形例的图像打印处理中,执行这样的变形例的有无形成点的决定处理。
图31为表示变形例的有无形成点的决定处理的流程的流程图。以下,根据流程图,针对变形例的有无形成点的决定处理进行说明。
即使在变形例的有无形成点的决定处理中也与上述第一实施例的处理一样,在开始处理时首先选择一个作为处理对象的像素组(步骤S700)。接着,获得所选择的像素组的多值化结果值(步骤S702),基于像素的分类号码与多值化结果值,获得表示在该像素组中形成的点个数的数据(步骤S704)。点个数的数据,根据分类号码与多值化结果值之间的组合,通过参照如图12所示的变换表格便可以迅速获得。
在变形例的有无形成点的决定处理中,一次将按照这样获得的点个数的数据变换成16位长的中间数据(步骤S706)。即,虽然在图12的变换表格中为了降低数据量,而将点个数的数据表示为8位长的编码数据,但在变形例的有无形成点的决定处理中,一次变换成由可更简单地决定有无形成点的形式所表示的中间数据。在此,中间数据的数据长为16位的原因在于,像素组内包含的像素数为8个,有关各像素的点形成的有无只要由2位便可以表示。换言之,中间数据是一种以每两位为一组,采用相当于像素数的8组数据表示点个数的数据。由于只要以这样的形式表示在像素组中形成的点个数,便很容易如后述与像素之间对应,因此可简单决定有无形成点。在变形例的有无形成点的决定处理中,预存储表示点个数的编码数据与中间数据之间的对应关系,在步骤S706的处理中,通过参照该对应关系从而获得中间数据。
图32为表示使表示点个数的编码数据与中间数据对应的对应表的说明图。上述编码数据,由于与有关各种点的个数的组合对应(参照图13),因此如果以2位为一组表示位的种类,并将该位的组变换成仅由相当于点的个数的数字排列的表现形式,便可以得到16位的数据。16位长的中间数据,是按照这样对编码数据的表现形式进行变换所得到的数据。
例如,编码数据“1”表示大点0个、中点0个、小点1个的组合。另外,作为参考,在图32的右侧表示各个编码数据所表示的点个数的组合。现在,如果令表示小点的2位数据为“01”,则与编码数据“1”对应的16位数据,只包含1组“01”,其它7组2位数据是“00”这样的数据。另外,2位数据“00”是表示不形成点的数据。
同样,编码数据“163”表示大点7个、中点1、小点0个的组合。现在,如果令表示大点的2位数据为“11”、令表示中点的2位数据为“10”,则与编码数据“163”对应的16位数据为包含7组“11”这样的2位数据,包含1组“10”这样的2位数据。
另外,这些2位数据,是以大点、中点、小点的顺序右对齐设定的。例如,若令点个数的组合为大点1个、中点2个、小点3个,则在8组2位数据中,表示大点的2位数据“11”在右端仅设定1组,接着其左边设置2组表示中点的2位数据“10”,再往其左边,设定3组表示小点的2位数据“01”,在剩下的2组设定表示不形成点的2位数据“00”。自然也可以左对齐设定这2位数据。即,以大点、中点、小点的顺序从左按顺序设定。
在如图31所示的变形例的有无形成点的决定处理的S706中,通过参照如图32所示的对应关系,从而执行将表示点个数的数据变换成中间数据的处理。另外,在以上说明中,通过参照如图12所示的变换表格,从而在将分类号码以及像素组灰度值的组合一次变换成表示点个数的8位编码数据之后,基于如图32所示的对应关系,将编码数据变换成16位的中间数据。自然,由于编码数据与中间数据是一对一对应的,因此在如图12所示的变换表格中设定16位的中间数据而不是8位的编码数据,根据像素组的分类号码以及像素组灰度值的组合也可以直接获得中间数据。如果按照这样,则虽然变换表格的数据量大,但可以迅速得到中间数据。
若按照以上方式获得中间数据,则在读入与像素组对应的顺序值矩阵之后(步骤S708),从像素组中选择一个要决定有无形成点的像素(步骤S710),并获得设定在顺序值矩阵中所选择的像素位置的顺序值(步骤S712)。
接着,通过从之前所获得的中间数据中读出设定在与顺序值对应的地方的2位数据,从而决定有关所选择的像素的有无形成点(步骤S714)。图33为表示通过从中间数据中读出与顺序值对应的地方的数据从而决定有无形成点的模样的说明图。图33(a)例示了对在某个像素组中形成的点个数的数据进行变换所得到的中间数据。如上述的中间数据,为16位长的数据,每2位由8组的数据构成。并且,图33(a)所表示的中间数据中,包含1组表示大点的2位数据“11”、2组表示中点的2位数据“10”、3组表示小点的2位数据“01”、2组表示不形成点的2位数据“00”,这2位数据是以大点、中点、小点的顺序右对齐设定的。
现在,令要决定有无形成点的像素的顺序值为“3”。这种情况下,如果读出中间数据中设定在从右数第三组的2位数据,便可以决定顺序值3的像素应形成的点的种类。图33(b)示意性表示读出从中间数据的右端数处于第三组的2位数据的模样。在图示的例中,由于所读出的2位数据为“10”,因此只要决定该像素形成中点即可。相反,如果顺序值为“1”,则读出设定在中间数据的右端的2位数据,只要决定形成大点即可。
按照这样在变形例的有无形成点的决定处理中,通过从中间数据中读出设定在相当于顺序值的2位数据这样的非常简单的操作,便可以决定有无形成点。这是由于如下理由。首先,在中间数据中右对齐设定表示大点、中点、小点的2位数据。另一方面,如图21或者图23所示,在采用抖动法判断大中小各点的形成有无的处理中,按大点、中点、小点的顺序决定有无形成点。因此,如果从右端按顺序读出设定在中间数据中的2位数据,则以与应用采用图21或者图23所述的方法决定形成各种点的像素位置的顺序相同的顺序,得到表示大点、中点、小点的2位数据的排列。
并且,在采用图21或者图23所述的方法中,从在抖动矩阵中阈值设定小的像素按顺序形成点。另一方面,设定在顺序值矩阵中的顺序值,表示设定在抖动矩阵中阈值较小的顺序。因此,顺序值,与采用图21或者图23所述的方法判断有无形成点时形成点的顺序一致。
由此,如果知道作为对象的像素的顺序值,则在应用图21或者图23的方法时,可以知道该像素是在像素组中第几个形成点的像素,进而,如果读出中间数据中从右端数第顺序值组的2位数据,便可以知道在应用图21或者图23的方法时所得到的有无形成点的判断结果。
另外,以上就根据顺序值变更中间数据中读出2位数据的地方作了说明。但是,也可以不改变中间数据中读出数据的地方,而是固定读出数据的地方,只要使中间数据仅移动相当于顺序值的组数即可。按照这样也可以决定有无形成点。图33(c)为示意性表示通过使中间数据移动从而决定有无形成点的模样的说明图。在图示的例中,读出位于中间数据的右端的2位数据,使中间数据向右仅移动与像素的顺序值相应的组数(具体为比顺序值仅少1的组数)。比较图33(b)和图33(c)可知,在执行任何操作时,结果都读出中间数据中设定在相同地方的2位数据。由于使数据仅移动规定位数的处理,可比较高速地实施,因此如果按照这样移动中间数据,则可以迅速读出与顺序值相应的地方的2位数据,并迅速针对注目的像素决定有无形成点。
由此,在通过从中间数据中读出被设定在相当于顺序值的地方的2位数据,从而针对所着重的像素决定有无形成点时(图31的步骤S712),针对作为处理对象的像素组内的所有像素判断是否决定了有无形成点(步骤S714)。然后,在像素组内还剩下未决定有无形成点的像素时(步骤S714否),返回步骤S710并选择1个新的像素,针对所选择的像素在执行上述后续一连串的处理之后,再次针对像素组内的所有像素判断是否决定了有无形成点(步骤S716)。重复这样的操作,直至针对像素组内的所有像素决定有无形成点为止(步骤S716是),在针对所有像素都判断决定了时(步骤S716是),则本次针对图像中的所有像素组进行上述处理并判断是否决定了有无形成点(步骤S718)。并且,如果剩下未处理的像素组(步骤S718否),则返回步骤S700并选择新的像素组,关于该像素组执行后续一连串的处理。重复这样的操作,在最终判断结束了有关所有像素组的处理时(步骤S718是),则结束图31所述的变形例的有无形成点的决定处理。
如以上所说明,在变形例的有无形成点的决定处理中,从中间数据中仅读出设定在与顺序值相应的适当的地方的2位数据,便可以简单地决定有无形成点。在第二变形例的图像打印处理中,由于按照这样可以迅速决定有无形成点,因此可迅速打印图像。
D第二实施例在以上所说明的第一实施例的有无形成点的决定处理中,在接收每个像素组的多值化结果值时,通过参照如图12所示的变换表格而将其一次变换成表示点个数的数据之后,一边参照顺序值矩阵一边决定像素组内形成点的像素位置。但是,在接收每个像素组的多值化结果值时,也可以立即决定形成各种点的像素位置。以下,针对这样的第二实施例的有无形成点的决定处理进行说明。
D-1第二实施例的有无形成点的处理的原理如图27所示,第一实施例的有无形成点的决定处理中,在按每个像素组接收多值化结果值时,在求出像素组的分类号码之后,根据多值化结果值与分类号码之间的组合,决定在像素组内所形成的各种点的个数。然后,针对形成这些点的像素位置,通过参照与分类号码对应的顺序值矩阵便能决定。即,只要决定像素组的多值化结果值以及分类号码,则可以决定像素组内的各像素所形成的点的种类。因此,只要预先按多值化结果值与分类号码之间的每个组合,求出像素组内的各像素所形成的点的种类并存储在对应表中,则仅参照该对应表便一定可以立即决定有无形成点。第二实施例的有无形成点的决定处理,基于这样的概念,根据像素组的多值化结果值便可迅速决定有关各像素的有无形成点。
图34为示意性表示第二实施例的有无形成点的决定处理中所参照的变换表格的说明图。如图所示,在第二实施例的变换表格中,与多值化结果值与分类号码之间的组合对应,设定表示在像素组内的各像素所形成的点的种类的数据。以下,将这样的数据称作点数据。如果参照如图34所示的变换表格,则根据像素组的分类号码与像素组灰度值之间的组合,便可以立即读出对应的点数据。例如,如果分类号码为i,像素组灰度值为j,则点数据为DD(i,j)。在按照这样读出的点数据中描述有关像素组内的各像素的有无形成点图35为表示设定在第二实施例的变换表格中的点数据的数据结构的说明图。如图35(a)所示,点数据为由2位的每位8组数据所构成的16位长的数据。在此,1位点数据由8组数据构成,对应于在本实施例的图像打印处理中,在1个像素组中包含8个像素。因此,例如,在1个像素组由4个像素构成时,1位点数据由4组数据构成。并且,1组数据为2位,对应于本实施例的彩色打印机200的每个像素可表现“形成大点”、“形成中点”、“形成小点”、“不形成点”的4种状态。即,如果每个像素只能取4种状态,则由2位便可表现。因此,将与每一个像素对应的1组数据作为2位的数据长。
如图35所示,构成点数据的8组数据,分别与像素组内的规定位置的像素对应。例如,如图35(b)所示,位于图35(a)所示的点数据的开头的第一组数据,与像素组内左上角的像素对应。并且,距点数据的开头的第二组数据,与像素组内从上一行的左边开始的第二个像素对应。这样,构成点数据的8组数据,分别预先对应于像素组内的规定位置的像素。
而且,各组数据的内容表示对应的像素所形成的点的种类。即,2位数据“11”是指形成大点。2位数据“10”是指形成中点,“01”是指形成小点,而且“00”是指不形成点。由以上说明可知,图35(a)所例示的点数据,是指在像素组的左上角的像素形成大点,从上一行的左边开始的第三个像素形成中点,从下一行的左边开始的第二个像素形成小点,在像素组的右下角的像素形成中点,并且其它像素不形成点的数据。
如果参照这样的变换表格,则基于像素组的分类号码与多值化结果值便可迅速决定有关各像素的有无形成点。
D-2第二实施例的有无形成点的决定处理接着,针对在第二实施例的有无形成点的决定处理中,根据多值化结果值针对像素组内的各像素决定有无形成点的具体处理进行说明。
图36为表示第二实施例的有无形成点的决定处理的流程的流程图。以下,根据流程图简单进行说明。在开始第二实施例的有无形成点的决定处理时,选择一个作为处理对象的像素组(步骤S800)。接着,获得所选择的像素组的多值化结果值(步骤S802)。这时,如果不赋以像素组的分类号码,也计算分类号码。并且,基于分类号码与多值化结果值的组合,通过参照如图34所示的变换表格,从而读出表示有关像素组内的各像素的有无形成点的点数据(步骤S804)。在第二实施例的有无形成点的决定处理中,按照这样仅从变换表格中读出存储在对应的位置的点数据,便可以针对像素组内的各像素决定有无形成点。
接着,针对所有像素组判断是否决定了有无形成点(步骤S806),如果剩下未处理的像素组(步骤S806否),则返回步骤S800并选择新的像素组,针对该像素组执行后续一连串的处理。重复这样的处理,在判断结束了所有像素组的处理时(步骤S806是),则结束如图36所示的第二实施例的有无形成点的决定处理。
如以上所说明,在第二实施例的有无形成点的决定处理中,仅参照1次变换表格,根据多值化结果值便可以立即决定有关像素组内的各像素的有无形成点。因此,即使对于如图11所示的第一实施例的有无形成点的决定处理,也可以更加迅速地决定有无形成点,甚至可以非常迅速地输出图像。
以上,虽然针对各种实施例作了说明,但本发明并非限于上述所有实施例,在不脱离其主旨的范围内还可以由各种形式实施。例如,在以上实施例中,虽然针对在打印用纸上形成点并打印图像的情况作了说明,但本发明的应用范围并非限于打印图像的情况。例如,通过在液晶显示画面上以适当的密度使亮点分散,从而也可以将本发明适当地应用于表现灰度连续改变的图像的液晶显示装置等中。
权利要求
1.一种图像处理装置,对表示由规定灰度数所表现的图像的图像数据进行处理,针对构成图像的各像素,以比上述规定灰度数少的灰度数进行多值化,该图像处理装置具备对应关系准备机构,其预先准备像素组灰度值与多值化结果值之间的对应关系,其中像素组灰度值为代表集中多个像素后的像素组的灰度值,多值化结果值表示有关构成该像素组的各像素的上述多值化的结果;像素组灰度值决定机构,其从表示上述图像的图像数据中取出相当于上述像素组的像素的集合,按作为该被取出的像素的集合的每个像素组,决定上述像素组灰度值;多值化机构,其通过参照上述对应关系,基于上述像素组灰度值,获得有关构成上述图像的各像素组的多值化结果值;和控制数据输出机构,其根据按每个上述像素组所得到的多值化结果值,生成用于形成上述图像的控制数据并输出。
2.根据权利要求1所述的图像处理装置,其特征在于,上述对应关系准备机构,准备多种上述对应关系,并且对该多种对应关系赋予分类号码,上述多值化机构,获得对每个上述像素组所赋予的分类号码,并通过参照对每个该分类号码所准备的上述对应关系,获得上述多值化结果值。
3.根据权利要求2所述的图像处理装置,其特征在于,具备分类号码赋予机构,其通过根据在上述图像中的位置将上述像素组分类成多个种类,从而按该各个像素组赋予上述分类号码。
4.根据权利要求2所述的图像处理装置,其特征在于,上述对应关系准备机构,对上述每个像素组仅准备根据上述分类号码所确定的个数的多值化结果值,上述多值化机构,通过参照该所准备的对应关系,从而基于上述像素组灰度值,从上述所准备的个数的上述多值化结果值中获得一个多值化结果值。
5.根据权利要求2所述的图像处理装置,其特征在于,上述对应关系存储机构,将上述灰度值的范围与在该范围内所形成的点的种类以及位置的信息对应存储。
6.根据权利要求2所述的图像处理装置,其特征在于,上述对应关系准备机构,按每个分类号码存储可以得知上述像素组内形成点的顺序的数据,上述多值化机构,获得在该像素组内形成的点的个数作为上述多值化结果值,上述控制数据输出机构,输出上述控制数据,作为根据多值化机构所获得的上述点的个数和可得知上述顺序的数据,可以决定该像素组内的哪个像素形成点的数据。
7.根据权利要求6所述的图像处理装置,其特征在于,上述对应关系准备机构,将切换多值化的结果的灰度值的数据、和在各灰度值中该像素组应形成的点的个数对应存储,作为上述对应关系。
8.根据权利要求6所述的图像处理装置,其特征在于,可得知形成上述点的顺序的数据,为描述点的形成顺序的顺序值。
9.根据权利要求6~8中任一项所述的图像处理装置,其特征在于,上述多值化机构,针对最终形成的L种类的点(L为1以上的自然数),获得各种类点的形成个数作为上述多值化结果值,上述控制数据输出机构,从上述L种类的点中每单位面积的浓度高的种类的点开始,按照上述顺序输出上述控制数据作为形成点的数据。
10.根据权利要求2所述的图像处理装置,其特征在于,上述对应关系准备机构,具备分类号码管理机构,其假设由方形区域所包含的横P个×纵Q个(P,Q为2以上的自然数)的像素所构成的像素组作为上述像素组,将在横M个×纵N个(M、N为8以上的自然数)的矩阵中分散作为点形成的判断基准的灰度的阈值并存储的大面积的抖动矩阵,分割成与上述像素组对应的多个上述方形区域,取该被分割后的各区域中所包含的P×Q个阈值的每组赋予上述一个分类号码S并进行管理;和对应关系存储机构,其对赋予该分类号码S后的各个区域分别应用换算成最终形成的L种类的点的记录率后的灰度值,生成各灰度值中在哪个位置的像素是否形成哪个种类的点的信息,并按每个上述分类号码S存储该形成点的位置与灰度值之间的对应关系。
11.根据权利要求2~10中的任一项所述的图像处理装置,其特征在于,上述对应关系准备机构,对每至少100个以上的上述分类号码准备使上述像素组灰度值与上述多值化结果值对应的上述对应关系。
12.根据权利要求2~10中的任一项所述的图像处理装置,其特征在于,在上述对应关系中设定的分类号码的个数与每个上述像素组中所包含的像素数之间的相乘值至少为1000以上。
13.根据权利要求1所述的图像处理装置,其特征在于,上述多值化机构,针对最终形成的L种类的点(L为1以上的自然数)中的每一个,获得上述多值化结果值作为是否在上述像素组内的各位置形成该点的信息。
14.根据权利要求1所述的图像处理装置,其特征在于,上述像素组,由2个像素×2个像素或者2个像素×4个像素构成。
15.一种图像处理方法,对表示由规定灰度数所表现的图像的图像数据进行处理,针对构成图像的各像素,以比上述规定灰度数少的灰度数进行多值化,预先准备像素组灰度值与多值化结果值之间的对应关系,其中像素组灰度值为代表集中多个像素后的像素组的灰度值,多值化结果值表示有关构成该像素组的各像素的上述多值化的结果;从表示上述图像的图像数据中取出相当于上述像素组的像素的集合,按作为该被取出的像素的集合的每个像素组,决定上述像素组灰度值;通过参照上述对应关系,基于上述像素组灰度值,获得有关构成上述图像的各像素组的多值化结果值;和根据按每个上述像素组所得到的多值化结果值,生成用于形成上述图像的控制数据并输出。
16.一种由计算机实现图像处理的程序产品,该图像处理为对表示由规定灰度数所表现的图像的图像数据进行处理,针对构成图像的各像素,以比上述规定灰度数少的灰度数进行多值化,该产品具备实现上述处理的程序代码和记录该程序的介质,该程序代码,具备第一程序代码,预先准备像素组灰度值与多值化结果值之间的对应关系,其中像素组灰度值为代表集中多个像素后的像素组的灰度值,多值化结果值表示有关构成该像素组的各像素的上述多值化的结果;第二程序代码,从表示上述图像的图像数据中取出相当于上述像素组的像素的集合,对作为该被取出的像素的集合的每个像素组,决定上述像素组灰度值;第三程序代码,通过参照上述对应关系,基于上述像素组灰度值,获得有关构成上述图像的各像素组的多值化结果值;和第四程序代码,根据按每个上述像素组所得到的多值化结果值,生成用于形成上述图像的控制数据并输出。
17.一种由图像处理装置和与之连接的打印装置构成的图像形成装置,上述图像处理装置,是一种对表示由规定灰度数所表现的图像的图像数据进行处理,针对构成图像的各像素,以比上述规定灰度数少的灰度数进行多值化的装置,该图像处理装置,具备对应关系准备机构,其预先准备像素组灰度值与多值化结果值之间的对应关系,其中像素组灰度值为代表集中多个像素后的像素组的灰度值,多值化结果值表示有关构成该像素组的各像素的上述多值化的结果;像素组灰度值决定机构,其从表示上述图像的图像数据中取出相当于上述像素组的像素的集合,按作为该被取出的像素的集合的每个像素组,决定上述像素组灰度值;多值化机构,其通过参照上述对应关系,基于上述像素组灰度值,获得有关构成上述图像的各像素组的多值化结果值;和控制数据输出机构,其根据按每个上述像素组所得到的多值化结果值,生成用于形成上述图像的控制数据并输出,上述打印装置,具备打印机构,其在打印介质上形成与上述较少的灰度数对应的种类的点;控制数据接收机构,其接收上述图像处理装置所输出的上述控制数据;像素位置运算机构,其依据该所接收的控制数据,运算各像素组的位置与该像素组内点形成的位置;和点形成控制机构,其采用上述打印机构在该所运算的打印介质上的该位置上形成上述点。
全文摘要
将像素按每规定个数集中成像素组,并决定代表像素组的像素组灰度值。接着,通过参照按每个像素组设定像素组灰度值与通过对该像素组灰度值进行多值化所得到的多值化结果值后的对应关系,从而对像素组灰度值进行多值化。将按照这样按每个像素组得到的多值化结果值作为图像输出装置的控制数据供给。在图像输出装置中,在基于所供给的控制数据,针对像素组内的各像素决定点的有无形成之后,在输出介质上形成点并输出图像。按照这样,由于不仅可迅速生成多值化结果值,还可以迅速供给所生成的多值化结果值,因此可迅速输出图像。
文档编号G09G3/20GK1947409SQ200580012398
公开日2007年4月11日 申请日期2005年4月22日 优先权日2004年4月22日
发明者角谷繁明 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1