CN1765118A - 图象输出控制系统、图象处理装置及其方法 - Google Patents
图象输出控制系统、图象处理装置及其方法 Download PDFInfo
- Publication number
- CN1765118A CN1765118A CNA2004800083297A CN200480008329A CN1765118A CN 1765118 A CN1765118 A CN 1765118A CN A2004800083297 A CNA2004800083297 A CN A2004800083297A CN 200480008329 A CN200480008329 A CN 200480008329A CN 1765118 A CN1765118 A CN 1765118A
- Authority
- CN
- China
- Prior art keywords
- pixels
- group
- image
- pixel
- image point
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4051—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4055—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern
- H04N1/4057—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a clustered dots or a size modulated halftone pattern the pattern being a mixture of differently sized sub-patterns, e.g. spots having only a few different diameters
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
本发明的图象处理系统,在图象处理装置中对图象数据实施图象处理后,将获得的数据供给到图象输出装置输出图象。所述图象处理装置,对于构成图象的多个象素被归纳为所定的多个的象素组,求得在该象素组内形成的象点的个数,并将求得的象点个数的数据输出到图象输出装置。在图象输出装置中,多个存储在象素组内各象素中形成有象点的象素的序列。当取得象点个数的数据后,选择1个序列,在象素组内的象素位置决定后,将象素位置形成象点输出图象。这样,由图象处理装置到图象输出装置,供给象点个数的数据后,即使是象素数量多的图象,也可以迅速供给数据,从而可以迅速输出图象。
Description
技术领域
本发明涉及对图象数据实施所定的图象处理后输出图象的技术,详细地说,涉及将经过图象处理的图象数据迅速向图象输出装置传输,从而使图象的输出迅速化的技术。
背景技术
在印刷媒体及液晶画面等各种输出媒体上形成象点,从而表现图象的图象输出装置,作为各种图象机器的输出装置,得到广泛使用。在这些图象输出装置中,图象被细分成称作“象素”的小区域的状态处理,在这些象素上形成象点。在象素上形成象点时,毫无疑问,对每一个象素而言,只能成为形成象点或不形成象点中的某一个状态。可是,从整个图象上看,却有可能产生象点稠密形成的区域和稀疏形成的区域。这样,通过改变象点的形成密度,就可以多灰度(多梯度)的输出图象。例如,在印刷用纸上形成黑墨水的象点时,象点稠密形成的区域显得暗,反之,稀疏形成的区域则显得亮。另外,在液晶画面上形成光点的象点时,象点稠密形成的区域显得亮,稀疏形成的区域则显得暗。所以,如果适当控制象点的形成密度,就能输出多灰度的图象。
旨在控制象点的形成密度的数据,可通过对要输出的图象的数据,实施所定的图象处理后产生。得到的数据,被供给图象处理装置。在图象处理装置中,按照供给的数据,在各象素上形成象点。其结果,就可以在输出媒体上,以适当的密度形成象点,输出图象。
近几年来,对这些图象输出装置,提出了输出图象的高质量化及大图象化的要求。对于高质量化的要求,将图象分割成更细的象素,是个有效的途径。这样,将象素变小后,在象素上形成的象点就不醒目,可以使图象质量得到提高(例如,特开2000-115716号公报)。另外,对于大图象化的要求,也可以通过增加象素数量的方法实现。毫无疑问,使每一个象素变大,也能加大输出图象,但这样会带来图象质量的下降,所以对于大型化的要求,增加象素数量是行之有效的。
可是,满足输出图象的高质量化及大图象化的要求后,势必会出现难以迅速输出图象的问题,就是说,为了大图象化而增加象素数量的情况就不必说了,为了图象的高质量化而将一个个象素变小时,结果也使1个图象包含的象素数量增加。如前所述,由于图象输出装置是接收供给的控制象点的形成的数据后输出图象的,所以1个图象包含的象素数量增加后,供给数据所需的时间就要增加,迅速输出图象就成为一件困难的事情。
发明内容
本发明针对现有技术的上述课题,目的在于将控制象点的形成的数据,迅速供给图象输出装置,从而可以使图象的输出迅速化。
为了达到上述目的,本发明的图象输出控制系统采用下述结构。即其特征在于:在包括:对图象数据实施所定的图象处理的图象处理装置、和根据该图象处理的结果形成象点从而输出图象的图象输出装置的图象输出控制系统中,所述图象处理装置,具有:将构成所述图象的多个象素按照多个归纳形成象素组的象素组生成单元;将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定该象素组内形成的象点的个数的形成个数决定单元;以及将按照所述各象素组决定的象点个数的数据,输出到所述图象输出装置的个数数据输出单元。所述图象输出装置,包括:接受关于所述各象素组的象点个数的数据的个数数据接受单元;按照每个所述象素组,特定在所述象素组内各象素中形成有象点的象素的序列的序列特定单元;根据所述象点个数的数据和所述特定的序列,对在所述象素组内形成象点的象素位置按照该象素组的每一个进行决定的象素位置决定单元;以及根据所述决定的象素位置形成象点的象点形成单元。
另外,上述图象输出系统对应的本发明的图象输出方法,是对图象数据实施所定的图象处理,根据该图象处理的结果形成象点,从而输出图象的图象输出控制方法,包括:将构成所述图象的多个象素多个地归纳,生成象素组的第1工序;将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定该象素组内形成的象点的个数的第2工序;按照所述各象素组特定在所述象素组内形成象点的象素的序列的第3工序;根据所述象点个数的数据和所述特定的序列,按照各该象素组决定在所述象素组内形成象点的象素位置的第4工序;以及根据所述决定的象素位置形成象点的第5工序。
依据本发明的图象输出系统及图象输出方法,归纳多个象素后形成象素组。在这里,所为象素组的生成是指,将已经存在的象素多个一组进行归纳的操作;或者将为了使图象高清晰而将象素分割为小象素而得到的象素归纳的操作;或者对为了将图象大型化生成多个象素得到的象素进行归纳的操作。对于这样形成的象素组,按照象素组的每一个决定在该象素组内形成的象点的个数。另外,按照象素组的每一个特定构成象素组的象素间的象点的形成序列,根据该特定的序列和象素组的象点个数的数据,决定在该象素组内象点形成的象素位置。根据这样决定的象素位置形成象点。
这样,由于对于多个象素被归纳的象素组,象素组内的各象素的图象数据由特定的图象数据统一代表进行处理,所以可以极其迅速的进行象点形成的判断。另外,由于是根据决定的象点个数和个象素组特定的序列决定其象素位置,所以象点的形成位置也能迅速的决定,并且象点形成的序列按照个象素组决定,所以容易抑制特定图形的产生,可以抑制输出图象的画质下降。
并且,从构成图象数据的各象素,生成具有与该象素相同图象数据的多个象素,从而增加象素数量,由相同象素生成的多个象素归纳象素组后,从以下的理由可以输出高画质的图象。在上述的象素组内象点形成的象素位置,根据象点个数和象素间的序列决定,在决定时,在象素组内的象素间,图象数据不同造成的影响没有考虑。但是,在象素组内的各象素中象点形成的有无的判断中,某一象素中象点形成,在表示象素间的象点形成难易度的序列之外,还受到各象素间的图象数据的差异的影响。因此,象素间的图象数据的差异变大时,有可能产生正确确定象素位置变得困难的情况。对此,如果将相同象素生成的多个象素作为象素组一齐处理,象素组内所有象素将具有相同的图象数据。为此,即使根据象素组的象点个数的数据和象素间的序列确定的情况,也可以正确确定象素位置,从而可以以高画质输出图象。
此外,在象素组内形成的象点的个数,与对象素组内的各象素的象点的形成状况相比,可以用极少的数据量表示。因此,一旦将图象数据变换成象素组的象点个数的数据,可以减少数据的传送量,并可以快速传送。为此,即使象素数较多的图象,也只需极少的时间完成数据传送,可以迅速输出图象。
再有,在确定象素组内的象素位置时,也可以从多个存储的序列中对每一个象素组选择一个序列,根据该序列和象点个数的数据进行决定。这样,即使由相同个数的象点形成的象素组连续的情况,对于每个象素组也成为在不同象素位置形成象点。从而,可以避免以规则的图案形成的象点变得现眼而使得画质变差的担心。
在这样的图象输出系统或者图象输出方法中,每个象素组的象点个数也可以如下方式确定。首先,保存多个用于将集中在上述象素组的象素的象素数据变换成在该象素组内形成的象点个数的对应关系。然后,在确定象点个数时,从这些多个的对应关系中选择一个对应关系,采用所选择的对应关系,将集中在该象素组的象素的象素数据变换成象点个数。
这样,根据如下理由,可以输出更高画质的图象。例如,在变换具有相同图象数据的象素组连续存在的区域时,在该区域内对每个象素组变换成不同的象点。因此,即使各象素组的象点个数只能取整数值的情况,从区域整体观察时的平均象点个数也成为可以取整数以外的值,并且该值可以根据各象素组中的象点个数的出现频度而连续变化。由此,如果预先正确设定多个对应关系,对于区域整体,可以将图象数据变换成正确的象点个数的数据,从而可以输出高画质的图象。
此外,如果根据与图象数据的对应关系确定在象素组内形成的象点个数,由于不需要特定象素组内的象素就可以决定,因而具有可以简便决定象点个数的优点。
作为用于将图象数据变换成象点个数的多个对应关系,也可以存储多个由多个临界值构成的临界值列。在此,各个临界值列假定由与构成象素组的象素数量相当的个数的临界值所构成。然后,从这些多个临界值列中对每个象素组选择一个临界值列,在所选择的临界值列中,也可以将比作为象素组集中的象素的象素数据还小的临界值的个数,作为在该象素组内形成的象点的个数而确定。
这样,只要将对应关系作为临界值列保存,就可以用极少的容量保存多个对应关系,因而优选。
再有,在这样的临界值列中,也可以将包含在临界值列中的多个临界值,与表示在该临界值列中的大小顺序的信息一起保存。然后,也可以通过在考虑大小顺序的情况下比较象素组的图象数据和各临界值,确定在该象素组内形成的象点个数。
对于各临界值,只要知道临界值列中的大小顺序,就可以迅速求出比象素组的图象数据还小的临界值个数。例如,大小顺序为第N个的临界值虽然比图象数据小,但只要知道大小顺序为第N+1个的临界值比图象数据还大,则不需要将图象数据与其他临界值比较,包含在该临界值列中的比图象数据小的临界值个数就为N个,因此,可以将在该象素组内形成的象点个数确定为N。或者,当临界值列由多个临界值构成时(例如为20个),只要知道各临界值的大小顺序,就可以按如下方式确定象点个数。首先,将大小顺序大致在中央(例如第10个)的临界值与图象数据比较。如果图象数据较小,则没有必要再将比第10个临界值大的临界值与图象数据比较。为此,在比第10个临界值小的临界值中,将大小顺序大致在中央(例如第10个)的临界值与图象数据比较。例如,假定第1个临界值是最小的临界值时,则将图象数据与第5个临界值进行比较。在此,如果图象数据大,则没有必要再将比第5个临界值小的临界值与图象数据比较,只要将从第6个到第9个临界值与图象数据比较即可。这样,对于各个临界值,只要知道表示大小顺序的信息,通过对其考虑的情况下将图象数据与临界值进行比较,可以迅速确定在象素组内形成的象点个数,因而优选。
再有,作为表示在临界值列中的顺序的信息,虽然只要将表示大小顺序的数字与各临界值建立对应进行保存即可,但为了简便,按大小顺序排列各临界值,例如在从小临界值到逐渐增大的临界值的顺序排列的状态下,或者相反,在从大临界值到小临界值的顺序排列的状态下进行保存。
这样,不需要消耗任何存储容量就可以保存表示大小顺序的信息,并且可以简便保存,因而优选。
再有,对于临界值如果知道大小的顺序时,可以按如下方式迅速确定在象素组内形成的象点个数。例如,在象素组内集中的象素的图象数据,比所定的第1临界值大时,也可以将图象数据从临界值列中大的临界值开始进行比较。或者,当图象数据比所定第2临界值还小时,也可以从临界值列中小的临界值开始进行比较。
这样,由于当图象数据大时,从大的临界值开始进行比较,或者当当图象数据小时,从小的临界值开始进行比较,可以迅速确定在象素组内形成的象点个数。
进一步,对于临界值如果知道大小的顺序时,也可以从临界值列中的多个临界值中,将根据紧接之前确定象点个数所选择的顺序的临界值,首先与象素组的图象数据进行比较。
在通常的图象中,图象数据一般缓慢变化,在相邻的象素组间,一般在象素组内形成的象点个数没有大的变化。因此,某一象素组内形成的象点个数是N个时,下一处理的象素组内形成的象点个数一般也在N左右。若从大小顺序为第N或其附近的顺序的临界值开始进行比较,则可以迅速的决定象点个数。
另外,多个对应关系,也可以存储简易抖动矩阵的形态、也就是说、存储多个临界值列按照所定的顺序二维排列的形态。这样,在从这些对应关系中选则1个对应关系时,可以在图象中的对应象素组的位置选择1个临界值列。
这样,通过事先适当排列多个临界值列,可以使象点个数适当分布,从而可以输出高画质的图象,是优选的。
另外,不仅多个的对应关系,也可以事先存储矩阵形态的表示在所述象素组内的象点的形成难易度的多个序列。也就是说,事先存储以所定的顺序二维排列的序列矩阵的多个序列。在这种情况下,简易抖动矩阵及序列矩阵,相互间也可以是行方向及列方向的象素数量的评价的矩阵的大小是相同的矩阵。
图象的大小,由于通常比矩阵大,所以是将1个矩阵在图象上的位置错开反复使用进行图象处理。在此,简易抖动矩阵及序列矩阵的大小若有差异,则矩阵的位置错位时相互位置关系变化,因此处理不稳定,结果造成画质恶化。因此,若将简易抖动矩阵及序列矩阵成为相同大小的矩阵,则可以使相互的位置关系始终保持一定进行稳定的处理,从而维持良好的画质,因而是期望的。
还可以如下所述。首先,在决定象点个数一侧,作为简易抖动矩阵,存储以下矩阵。也就是说,将与二维排列的象素的每一个关联对应临界值的抖动矩阵分割到多个所述象素组,由该象素组内的各象素的临界值构成的多个所述临界值,存储以该象素组的顺序排列的矩阵。然后,在象点个数决定象素位置的一侧,将表示象点的形成难易度的多个序列,按以下形态存储。也就是说,将该抖动矩阵分割到多个象素组,根据在该象素组内的各象素对应的临界值的大小关系在象素组的每个中决定象素的序列,按照该象素组的顺序以矩阵状排列的形态,存储所述多个序列。然后,在由象点个数的数据决定象素位置时,选择对应图象中的象素组位置的1个序列,决定象素位置。
详细后述。这样,象点个数决定一侧与象点个数决定象素位置一侧,根据相同抖动矩阵进行各自处理后可以适当地决定象素位置,从而可以输出高画质的图象。
当然,上述的图象输出系统及图象输出方法中,象点个数决定一侧及象点个数决定象素位置一侧的各自中存储相同的抖动矩阵,根据相关的矩阵,进行各自的处理也行。
另外,为了达到上述目的,本发明的图象处理装置,采用以下构成。即:
在形成象点后输出图象的图象输出装置对表示该图象的图象数据,实施所定的图象处理,生成用于控制该象点的形成而使用的控制数据的图象处理装置中,
具有:
将构成所述图象的多个象素多个地归纳,生成象素组的象素组生成单元;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定该象素组内形成的象点的个数的形成个数决定单元;以及
将按照所述各象素组决定的象点个数的数据,输出到所述图象输出装置的个数数据输出单元。
另外,与上述图象处理装置对应的本发明的图象处理方法,是形成象点后输出图象的图象输出装置对表示该图象的图象数据,实施所定的图象处理,生成用于控制该象点的形成而使用的控制数据的图象处理方法,
具有:
将构成所述图象的多个象素多个地归纳,生成象素组的工序A;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定Z该象素组内形成的象点的个数的工序B;以及
将按照所述各象素组决定的象点个数的数据,输出到所述图象输出装置的工序C。
依据本发明的图象处理装置和图象处理方法,归纳多个象素后形成象素组。对于这样形成的象素组,按照象素组的每一个决定在该象素组内形成的象点的个数。并将得到的象点个数的数据作为所述控制数据输出。
如上所述,在象素组内形成的象点个数,可以用比在象素组内的各象素的象点形成的有无稍多的数据量表示。因此,这样,例如即使象素数量较多的图象,也可以迅速的象图象输出装置供给数据,迅速的输出图象。
另外,若作为象素组归纳由相同象素生成的多个象素,则象素组内的象素就具有相同的图象数据。因此,由上述理由,就可以适当决定在象素组内形成象点的象素位置,就可以输出高画质的图象。
与上述的图象输出系统一样,在这种图象处理装置及图象处理方法中,也可以按以下方式决定各象素组中的象点个数。也就是说,多个存储用于将图象数据变换到象点个数的对应关系,从这些多个的对应关系中选择1个对应关系,将图象数据变换到象点个数也行。
这样,通过事先适当设定多个对应关系,就可以将图象数据变换成适当的象点个数的数据,从而输出高画质的图象。
另外,将实现上述的图象输出方法或图象处理方法的程序读入计算机,用计算机实现也行。因此,本发明也包含以下程序或记录了该程序的记录媒体。
也就是说,上述的图象输出方法对应的本发明的程序,是由计算机实施、根据对图象数据实施所定的图象处理得到的结果形成象点、从而输出图象的程序,其特征在于:具有:
将构成所述图象的多个象素多个地归纳,生成象素组的第1功能;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定该象素组内形成的象点的个数的第2功能;
按照所述各象素组特定在所述象素组内形成象点的象素的序列的第3功能;
根据所述象点个数的数据和所述特定的序列,按照各该象素组决定在所述象素组内形成象点的象素位置的第4功能;以及
根据所述决定的象素位置形成象点的第5功能。
上述程序实现的所述第2功能可以如下所述。也就是说,包括:多个存储用于将代表所述象素组的所述图象数据,变换到在该象素组内形成的象点的个数的对应关系的功能;和从所述多个对应关系中给各象素组选择1个对应关系的功能,并且,根据代表所述象素组的所述图象数据和所述选择的对应关系,决定在该象素组内形成的象点的个数的功能。
另外,与上述的图象处理方法对应的程序,是由计算机实施、用于形成象点后输出图象的图象输出装置对表示该图象的图象数据,实施所定的图象处理,生成用于控制该象点的形成而使用的控制数据的程序,其特征在于:
具有:
将构成所述图象的多个象素多个地归纳,生成象素组的功能A;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定Z该象素组内形成的象点的个数的功能B;以及
将按照所述各象素组决定的象点个数的数据,输出到所述图象输出装置的功能C。
再加上,本发明还可以作为这些各种程序可以被计算机读取地记录的记录媒体把握。
如果使计算机读入这些程序或被记录媒体记录的程序,使用该计算机实现上述的各种功能后,即使是象素甚多的图象,也能迅速输出图象。
附图说明
图1是以印刷系统为例,讲述发明的概要的说明图。
图2是表示作为本实施方式的图象处理装置的计算机的结构的说明图。
图3是表示本实施方式的打印机的简要结构的说明图。
图4是表示墨水喷出头中墨水喷嘴Nz的排列的说明图。
图5是表示第1实施方式的图象处理装置中进行的图象印刷处理的流程的流程图。
图6(a)、图6(b)是表示进行析象度变换的情况的说明图。
图7是表示第1实施方式的个数数据生成处理的流程的流程图。
图8是放大例示抖动矩阵的一部分的说明图。
图9是表示参照抖动矩阵,判断各象素是否形成象点的情况的说明图。
图10(a)、图10(b)是表示按照象素组求出象点个数的数据的情况的说明图。
图11是表示第1实施方式的象素位置决定处理的流程的流程图。
图12(a)~图12(d)是表示在第1实施方式的象素位置决定处理中求出象点个数根据象点个数的数据决定象素位置处理的情况的说明图。
图13(a)~图13(c)是表示在第1变形例中的个数数据生成处理中的求出象点个数的情况的说明图。
图14(a)~图14(c)是表示在第2变形例的个数数据生成处理中的求出象点个数的情况的说明图。
图15是表示第2实施方式的个数数据生成处理的流程的流程图。
图16(a)、图16(b)是表示按照象素组内有无边缘,用平均灰度值置换象素组内各象素的灰度值的情况的说明图。
图17(a)~图17(c)是表示第2实施方式中,由计算机输出的数据的形式的说明图。
图18是表示第2实施方式中,由计算机输出的数据形式的其它样态的说明图。
图19是表示第2实施方式的象素位置决定处理的流程的流程图。
图20是表示第3实施方式的图象印刷处理的流程的流程图。
图21是表示第3实施方式的大中小象点数据变换处理中参照的变换表的示意图。
图22(a)、图22(b)是表示在第3实施方式的个数数据生成处理中,由象点数据生成象点个数数据的情况的说明图。
图23是表示第3实施方式的个数数据生成处理的流程的流程图。
图24是表示参照抖动矩阵,决定形成各种象点的象素位置的情况的说明图。
图25是为了将各种象点的个数数据编码化而参照的变换表的示意图。
图26是表示以在第3实施方式的个数数据生成处理中,不特定象素位置地求出象点个数的情况的说明图。
图27是表示第3实施方式的象素位置决定处理的流程的流程图。
图28是表示在第3实施方式的象素位置决定处理中,根据象点个数的数据决定象素位置的情况的说明图。
图29是表示在第3实施方式的第1变形例的象素位置决定处理中参照的译码化表的示意图。
图30是表示在第1变形例的图象印刷处理中进行的个数数据生成处理的流程的流程图。
图31是表示根据象素组内的平均灰度值,唯一性地求出象点个数的情况的示意图。
图32是表示在第2变形例的图象印刷处理中进行的个数数据生成处理的流程的流程图。
图33是表示在第3变形例的图象印刷处理中进行的象素位置决定处理的流程的流程图。
图34是表示存储多个象素组内的象素的序列的示意图。
具体实施方式
为了更明确地讲述本发明的作用、效果,下面,按照如下顺序讲述本发明的实施方式。
A、实施方式的概要:
B、第1实施方式:
B-1、装置构成:
B-2、图象印刷处理的概要:
B-3、第1实施方式的个数数据生成处理:
B-4、第1实施方式的象素位置决定处理:
B-5、变形例:
C、第2实施方式:
C-1、第2实施方式的个数数据生成处理:
C-2、第2实施方式的象素位置决定处理:
D、第3实施方式:
D-1、第3实施方式的图象印刷处理概要:
D-2、第3实施方式的个数数据生成处理:
D-3、第3实施方式的象素位置决定处理:
E、其它变形例:
A、实施方式的概要:
在详细讲述实施方式之前,参照图1,讲述本发明的实施方式的概要。图1是以印刷系统为例,讲述实施方式的概要的说明图。作为图象输出控制系统的印刷系统,由作为图象处理装置的计算机10和作为图象输出装置的打印机20等构成,将所定的程序,装入计算机10,并使其执行后,计算机10及打印机20等就作为整体,作为一个印刷系统发挥作用。打印机20通过在印刷媒体上形成象点,从而印刷图象。计算机10对要印刷的图象的象素数据实施所定的图象处理,生成旨在控制打印机20在每个象素上形成象点的数据,供给该打印机20。
在这里,在通常的印刷系统中,计算机将图象数据变换成表示构成图象的每个象素是否形成象点的的数据后,供给打印机,根据该数据形成象点,从而印刷图象。在这里,要印刷的图象的象素数增多后,伴随着它,表示每个象素是否形成象点的的数据的数据量也要增多,所以由计算机向打印机供给数据就需要较长的时间,印刷所需的时间也要增加。考虑到这一点,就在图1所示的计算机10中,设置象点个数决定模块和个数数据生成模块,进行如下的处理。
象点个数决定模块,对于构成图象的多个象素被按照所定多个归纳的象素组,根据图象数据,决定该象素组内形成的象点个数。在这里,每个象素组的个数数据,可以将图象数据归纳成象素组后,通过判断每个象素组是否形成象点后生成。或者先将图象变换成的是否形成象点的表现形式后,将象素归纳为所定的多个,生成象素组,决定各象素组内形成的象点个数。此外,作为象素组归纳的多个象素,不是相互邻接的象素也行。另外,个数数据生成模块,将每个象素组决定的象点个数的数据,向打印机20供给。
在图1所示的打印机20中,设置着序列存储模块、象素位置决定模块和象点形成模块。在序列存储模块中,存储着多个在象素组内各象素中形成有象点的象素的序列。象素位置决定模块,一边参照序列存储模块,一边按照下述方式决定每个象素组中应当形成象点的象素位置。首先,接收一个象素组的个数数据后,从序列存储模块存储的多个序列中选择1个序列。然后,按照选择的序列,从构成象素组的多个象素中,将个数数据指定的个数的象素,作为应该形成象点的象素选择。这样,象素位置决定模块接收个数数据后,给各象素组选择序列,决定形成象点的象素位置。象点形成模块,在这样决定的象素上形成象点。其结果,就在印刷媒体上形成图象。
这样,在图1所示的印刷系统中,在由计算机10向打印机20供给表示是否形成象点的数据之际,不是供给每个象素的数据,而是供给表示每个象素组形成的象点的个数的数据。这样,与向每个象素供给是否形成象点的情况相比,可以减少供给的数据量。因此,例如,在象素包含的象素数增加时,也能由计算机10向打印机20迅速供给数据,迅速印刷图象。下面,以这种印刷系统为例,详细讲述各种实施方式。
B、第1实施方式:
B-1、装置构成:
图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连接,还可以取得与通信线路300连接的存储装置310存储的数据。
图3是表示本实施方式的彩色打印机200的简要结构的说明图。彩色打印机200,是可以形成蓝绿、洋红、黄、黑的4色墨点的喷墨打印机。毫无疑问,在这4种颜色的基础上,还可以形成包括染料浓度低的蓝绿(淡蓝绿)墨水和染料浓度低的洋红(淡洋红)墨水共计6色墨点的喷墨打印机。此外,以后根据情况,有时将蓝绿墨水、洋红墨水、黄墨水、黑墨水、淡蓝绿墨水和淡洋红墨水分别简称C墨水、M墨水、Y墨水、K墨水、LC墨水、LM墨水。
彩色打印机200,如图所示,由下述部件构成:驱动搭载在托架240上的打印头241,进行喷出墨水及形成象点的机构;在托架电动机230的作用下,使该托架240朝压纸卷筒236的轴向往复运动的机构;在给纸电动机235的作用下,输送印刷用纸P的机构;控制象点的形成、托架240的移动及印刷用纸的输送的控制电路260。
在托架240上,安装着收纳K墨水的卡盘242和收纳C墨水、M墨水、Y墨水的各种墨水的卡盘243。在托架240上安装卡盘242、243后,卡盘内的各种墨水通过未图示的导入管,被供送给设置在打印头241的下面的每个颜色的墨水喷出头244~247。
图4是表示墨水喷出头244~247中墨水喷嘴Nz的排列的说明图。如图所示,在墨水喷出头的底面,形成喷出C、M、Y、K的各种颜色的墨水的4组喷嘴列,每组的喷嘴列,以一定的喷嘴间距K摆列着48个喷嘴Nz。
控制电路260,成为由总线将CPU及ROM、RAM等相互连接的结构。控制电路260,通过控制托架电动机230及给纸电动机235的动作,从而控制托架240的主扫描动作及副扫描动作,同时还根据由计算机100供给的印刷数据,控制各喷嘴在适当的时刻喷出墨滴。这样,在控制电路260的控制下,在印刷媒体上的适当位置上就形成各种颜色的墨点,从而可以使彩色打印机200印刷彩色图象。
此外,从各色的墨水喷出头喷出墨滴的方法,可以采用各种方法。即:可以采用使用压电元件喷出墨水的方式,以及用配置在墨水通路上的加热器使墨水通路内起泡(泡沫)后喷出墨滴的方法等。另外,还可以取代喷出墨水,使用利用热复制等的现象在印刷用纸上形成墨点的方式,以及利用静电使各色的墨粉附着在印刷媒体上的方式的打印机。
具有上述硬件结构的彩色打印机200,通过驱动托架电动机230,使喷出各种颜色的墨水喷出头244~247对印刷用纸P而言,沿着主扫描方向移动;还通过驱动给纸电动机235,使印刷用纸P沿着副扫描方向移动。控制电路260按照印刷数据,一边使托架240反复进行主扫描及副扫描,一边在适当的时候驱动喷嘴喷出墨水,这样彩色打印机200就在印刷用纸上印刷彩色图象。
B-2、图象印刷处理的概要
图5是表示本实施方式的计算机100及彩色打印机200对图象数据实施所定的图象处理后,在印刷媒体上印刷图象的处理的流程的流程图。该图象印刷处理,正如后文所述,前半部分利用计算机100内置的CPU的功能,后半部分利用彩色打印机200的控制电路260内置的CPU的功能实施。下面,参照图5讲述本实施方式的图象印刷处理。
计算机100开始图象印刷处理后,首先,开始读入应当变换的图象数据(步骤S100)。在这里,图象数据是作为RGB彩色图象数据进行讲述。但并不局限于,对单色的图象数据也能同样运用。
继读入彩色图象数据后,进行颜色变换处理(步骤S102)。所谓颜色变换处理,是将由R、G、B的灰度值的组合表现的RGB彩色图象数据,变换成印刷使用的由各色的灰度值的组合表现的图象数据的处理。如前所述,彩色打印机200使用C、M、Y、K的4色墨水印刷图象。因此,在本实施方式的中的颜色变换处理,是将由R、G、B各色表现的图象数据,变换成由C、M、Y、K各色的灰度值表现的数据。图象数据的处理,参照被称作颜色变换表(LUT)的三维数表进行。在LUT中,预先存储着对RGB彩色图象数据,经过颜色变换得到的C、M、Y、K各色的灰度值,所以如果参照该LUT进行变换,就能够迅速地进行颜色变换。
结束颜色变换处理后,开始析象度变换处理(步骤S104)。所谓“析象度变换处理”,是将图象数据的析象度,变换成打印机200进行印刷的析象度(印刷析象度)的处理。如前所述,为了提高印刷图象质量,将象素变小,以更高的析象度印刷是非常有效的。可是,在提高印刷析象度的时候,未必需要提高原来的图象数据的析象度。因为形成象点、印刷图象时,每个象素只能在是否形成象点上二者择一,即使改变了象点的大小等,每个象素所能表现的灰度数也顶多不过几灰度。与此不同,读入的图象数据,即使是1个字节的数据,每个象素也能表现256灰度。这样,每个象素能表现的灰度就存在很大的差异,所以将印刷析象度设定成比读入的图象数据的析象度高的析象度,就能提高印刷图象质量。基于这一理由,在图5的步骤S104中,进行将图象数据的析象度变换成更高的析象度——印刷析象度的处理。此外,印刷更大的图象时,有时需要保持析象度进行增加象素数量的处理。这种处理,在由一个象素生成具有相同图象数据的多个象素方面,与上述的析象度变换处理完全相同。在下的说明中,对提高图象析象度的情况加以说明,但若将提高析象度的处理理解为增加象素数量的处理,就可以将以下的说明应用于印刷大图象的情况。
图6(a)、图6(b)是表示第1实施方式中进行的析象度变换的情况的说明图。此外,如前所述,经过颜色变换,可以获得及C、M、Y、K各种颜色的每一个的图象数据,但在以后讲述的处理中,对这些各种颜色的图象数据的哪一个,都是同样进行的。所以,为了避免繁琐讲述,以下的讲述就不特定颜色。
图6(a)是将颜色变换后的图象数据中的一部分扩大后的示意图。如图所示,图象数据是将灰度值分配给晶格状排列的象素的每一个的数据。图6(a)中示出的多个矩形,分别示意性地表示象素,矩形中示出的数值,表示分配给各象素的灰度值。为了将这些图象数据的析象度,变换成更高的析象度,可以在象素间进行插补运算,从而生成新的象素。但在本实施方式中,作为最简便的方法,采用将象素分割成更小的象素的方法,进行析象度变换。
图6(b)是表示分割象素进行析象度变换的情况的说明图。在图示的例子中,将每个象素,在主扫描方向(在图中为左右方向)分割成4分,在副扫描方向(在图中为上下方向)分割成2分,从而将1个象素分割成8个象素。图6(b)中的虚线,表示象素被分割的情况。给这样生成的小象素,分配与分割前的原来的象素的灰度值相同的灰度值。实施以上的处理后,图象数据的析象度,就在主扫描方向上被变换成为4倍的析象度、在副扫描方向上被变换成为2倍的析象度。毫无疑问,析象度的增加比例,可以根据需要设定成各种比例。
如上所述,将析象度变换成印刷析象度后,计算机100(步骤S100)就开始个数数据生成处理(步骤S106)。在这里,进行如下处理。颜色变换后的图象数据,是灰度值被分配给每个象素的灰度数据。对此,打印机200以适当的密度在象素位置形成象点,从而印刷图象。这样,将灰度数据变换成由每个象素是否形成象点的形式表现的数据后,需要向打印机200传输。另外,将表示是否形成象点的数据,以象素单位向打印机200传输,由于随着象素数增多,传输需要的时间就要增加,所以难以迅速印刷图象。于是,在本实施方式的图象印刷处理中,将象素按照所定的多个,作为象素组归纳,将象素组内形成的象点个数的数据,向打印机200传输。在这里,象素组内形成的象点个数的数据,可以预先将图象数据变换成表示各象素是否形成象点的数据后,将多个象素,作为象素组归纳。或者如后文所述,可以先将多个象素归纳为象素组,然后决定象素组内各象素形成的象点的个数。在步骤S106的个数数据生成处理中,就这样生成象素组内形成的象点的个数后,进行向打印机200传输的处理。关于个数数据生成处理的详细内容,后文再述。
打印机200的控制电路260内置的CPU,接受由计算机100供给的象点个数的数据后,开始象素位置决定处理(步骤S108)。在这里,进行如下处理。如前所述,计算机100取代表示各象素是否形成象点的数据,供给表示象素组内形成的象点的个数的数据。因此,在象素位置决定处理中,根据各象素组接受的象点个数的数据,进行决定象素组内形成象点的象素位置的处理。关于象素位置决定处理的详细过程,将在后文讲述。
这样,在决定应当形成象点的象素位置后,就在决定的象素位置进行形成象点的处理(步骤S110)。就是说,如使用图3进行的讲述那样,一边使托架240反复进行主扫描和副扫描,一边驱动喷墨头喷出墨滴,从而在印刷用纸上形成墨点。这样,通过形成象点,就印刷出与图象数据对应的图象。
B-3、第1实施方式的个数数据生成处理:
图7是表示第1实施方式的个数数据生成处理的流程的流程图。下面,参照流程图,详细讲述个数数据生成处理的内容。
开始个数数据生成处理后,首先,归纳所定的多个象素,生成象素组(步骤S200)。在这里,由于在析象度变换处理中将1个象素分割成8个象素,所以就将分割同一象素后得到的8个象素作为象素组归纳。例如,在图6(a)中左上角的象素,在图6(b)中,被分割成位于左上方的纵2列、横4列的8个象素,所以归纳这些象素,生成象素组。此外,作为象素组归纳的象素,不必是互相邻接的象素,只要具有所定的位置关系,无论什么样的象素,都可以作为象素组归纳。
另外,这样将同一象素分割的象素作为象素组归纳时,还可以省略图5的析象度变换处理。这时,在以下的讲述中,将有“象素组”的部分,改读作“进行析象度变换前的象素”后,就能进行大致相同的处理。
接着,从作为象素组归纳的象素中,设定一个为了判断是否形成象点而着眼的象素(着眼象素)(步骤S202)。然后,比较分配给着眼象素的灰度值和抖动矩阵的临界值,从而判断着眼象素是否形成象点(步骤S204)。所谓抖动矩阵,是多个临界值被晶格状存储的二维的数表。关于使用抖动矩阵判断是否形成象点的处理,可以按照图8及图9进行讲述。图8是例示抖动矩阵的一部分的说明图。在图示的抖动矩阵中,给纵横分别为64个象素、合计4096个象素,随机存储着从灰度值1~255的范围中没有遗漏地选择的临界值。在这里,临界值的灰度值,从1~255的范围中选择,因为在本实施方式中图象数据是1字节数据,分配给象素的灰度值,是与可以取得0~255的值对应的值。此外,抖动矩阵的大小,并不局限于图8例示的纵横为64个象素,包含纵和横的象素数不同的情况在内,可以采用各种各样的大小。
图9是参照抖动矩阵,判断着眼象素是否形成象点的情况的概念性的说明图。在判断着眼象素是否形成象点之际,首先,比较着眼象素的灰度值和抖动矩阵中的对应位置存储的临界值。图中示出的细虚线的箭头,示意性地表示出比较着眼象素的灰度值和抖动矩阵中的对应位置存储的临界值的情况。而且,在着眼象素的灰度值大于抖动矩阵的临界值时,就判断该象素形成象点。反之,在抖动矩阵的临界值大于着眼象素的灰度值时,就判断该象素不形成象点。如果再根据图9进行说明,关于图象数据的左上角的象素,由于该图象数据的灰度值是97,抖动矩阵的临界值是1,所以判断该象素形成象点。在图9中,用实线所示的箭头,是表示判断该象素形成象点后,将判断结果写入存储器的情况。另一方面,关于该象素的右邻的象素,由于其图象数据的灰度值是97,抖动矩阵的临界值是117,临界值的一方大,所以判断该象素不形成象点。在图7的步骤S204中,就这样进行一面参照抖动矩阵,一面判断着眼象素是否形成象点的处理。
接着,判断对象素组内所有的象素,是否进行了以上的处理(步骤S206),象素组中还有未处理的象素时(步骤S206:no),返回步骤S202,继续进行这一系列的处理。这样,对象素组内所有的象素,是否形成象点的判断完毕后(步骤S206:yes),检出象素组内形成的象点的个数,以与象素组对应附加的状态存储到存储器中(步骤S208)。在图9的示例中,因为对图象的左上角的象素组,判断在3个象素中形成象点,所以对该象素组,存储象点的个数是“3”。
这样,对一个象素组的处理结束后,判断对所有的象素是否结束了处理(步骤S210),如果还有未处理的象素,就返回步骤S200,生成新的象素组后,继续进行这一系列的处理,存储该象素组形成的象点的个数。这样,对图象中的所有的象素的处理结束后(步骤S210:yes),检出各象素组内存储的象点的个数,向打印机200输出(步骤S212),结束图7所示的个数数据生成处理。
图10(a)是对图象数据实施上述个数数据生成处理后得到的数据的概念性的说明图。图中示出的多个矩阵,分别表示象素组,象素组内表示的数值,表示存储该象素组内形成的象点个数的情况。在本实施方式中,计算机100将颜色变换后的图象数据变换成图10(a)所示的那种数据后,只将各象素组存储的个数的数据向打印机200输出。这样,只输出个数的数据后,与输出表示各象素是否形成象点的数据相比,数据量减少,所以能够迅速输出。关于这一点,再予以补充说明。
图10(b)是表示对象素组内的各象素判断是否形成象点的情况的说明图。图10(b)中的细虚线,表示象素组由多个象素构成的情况,带斜线的象素,表示判断该象素形成象点。
现在,假设由计算机100向打印机200输出图10(b)所示的状态的数据,即输出表示各象素是否形成象点的数据。象点的种类,假设是1种,各象素只能成为形成或不形成象点中的某一种状态,所以每个象素的数据量,用1比特就足够。由于象素组用8个象素构成,所以应该向打印机200输出的数据量,每个象素组就成为8比特。
与此不同,象本实施方式这样,输出各象素组形成的象点的个数时,由于1个象素组内形成的象点的个数,只能成为0~8的值,所以每个象素组只要有4比特,就能够表现象点的个数。就是说,与输出表示每个象素是否形成象点的数据时相比,可以使数据量减少一半。因此,通过输出各象素组形成的象点的个数,就可以将数据迅速向打印机200输出。这样由计算机100传输的数据,在打印机200中,经过下文讲述的象素位置决定处理,变换成表示每个象素是否形成象点的数据。下面,讲述象素位置决定处理。
B-4、第1实施方式的象素位置决定处理:
图11是表示第1实施方式的在图象印刷处理中进行的象素位置决定处理的流程的流程图。该处理,打印机200的控制电路260内置的CPU,接受由计算机100传输来的表示各象素组的象点个数的数据后实施。另外,图12是概念性地示出表示各象素组的象点个数的数据经过象素位置决定处理后变换成表示每个象素是否形成象点的数据的情况的说明图。下面,参照图11及图12,讲述象素位置决定处理的内容。
开始象素位置决定处理后,首先,选择1个作为处理对象的象素组(图11的步骤S300),取得该象素组形成的象点个数(步骤S302)。在图12(a)中,概念性地示出由计算机100给各象素组传输来的表示象点个数的数据。作为决定象素位置的象素组,在这里,选择图中左上角的象素组。在图11的步骤S302中,作为选择的象素组形成的象点个数,取得“3”。
下面,参照流程图,详细讲述个数数据生成处理的内容。在图象印刷处理中进行的
接着,参照象素组内各象素中形成有象点的序列,从而进行决定形成象点的象素处理(步骤S304)。在这里,将抖动矩阵,作为形成象点的序列改读后利用。正如使用图8讲述的那样,在抖动矩阵的各象素上设置着临界值。另外,在判断某象素是否形成象点之际,比较图象数据的灰度值和抖动矩阵的临界值,如果灰度值大,就断定该象素形成象点。就是说,由于抖动矩阵的临界值小的象素,容易形成象点,所以可以考虑用抖动矩阵表示形成象点的象素序列。在本实施方式中,着眼于抖动矩阵具有的这一性质,将抖动矩阵作为象素组内的各象素的序列加以利用。
再参照图12,进行详细讲述。在这里,作为对象的象素组,是图12(a)中的左上角的象素组,所以在抖动矩阵上,取得与该象素组的各象素对应的位置存储的临界值。图12(b)是从图8所示的抖动矩阵中读出对应的象素位置存储的临界值的情况的示意图。这样读出的临界值从最小的象素开始,依次形成象点。由于如图12(a)所示,处理中的象素组形成象点的个数是3个,所以可以如图12(c)所示,根据各象素中形成有象点的序列,决定象素位置。就是说,在图12(c)中,可以将用实线围住后表示的临界值最小的象素、用虚线围住的第2小的象素、用点划线围住的第3小的象素等3个象素,作为形成象点的象素决定。
通过以上操作,对作为处理对象选择的象素组决定了象素位置后,判断对所有的象素组的处理是否结束(图11的步骤S306),还有未处理的象素组时(步骤S306:no),返回步骤S300,选择新的象素组,继续进行这一系列的处理。反复进行这些处理后,图12(a)例示的各象素组表示象点个数的数据,就一个个变换成图12(d)所示的表示各象素是否形成象点的数据,此外,在图12(d)中带斜线的象素,表示形成象点的象素。然后,对所有的象素组的处理结束后(步骤S306:),就结束图11所示的象素位置决定处理,返回图5的图象印刷处理。
以上,详细讲述了第1实施方式的图象印刷处理及在该处理中进行的个数数据生成处理、象素位置决定处理。这样,在第1实施方式的图象印刷处理中,将经过图象处理的数据,由计算机100向打印机200传输之际,取代表示各象素是否形成象点的数据,传输表示象素组形成的象点个数。这样,因为能够大幅度减少数据的传输量,所以即使图象包含的象素数增加了,也能迅速完成数据的传输,迅速印刷图象。
另外,如上所述,如果将计算机100一侧的个数数据生成处理中参照的抖动矩阵,作为和打印机200一侧的象素位置决定处理中参照的抖动矩阵相同的矩阵,那么由计算机100向打印机200只压缩传输象点个数的信息时,也能完全使象素位置复原。实际上,比较图10(b)和图12(d),就可以知道:在计算机100一侧判断各象素后得到的象素位置,和在打印机200一侧决定的象素位置一致,表示象素位置完全复原。这样,一边由计算机100迅速传输象点个数的数据,一边在打印机200一侧适当决定形成象点的象素位置,从而迅速印刷高质量的图象。
B-5、变形例:
在上述第1实施方式中,存在各种变形。下面,简单讲述这些变形。
(1)第1变形例:
正如使用图7~图10讲述的那样,在第1实施方式的个数数据生成处理中,先将图象数据变换成表示各象素是否形成象点的数据后,再将得到的数据,变换成表示各象素组的象点个数的数据后向打印机200传输。就是说,尽管在计算机100内,以特定象素位置的状态,判断是否形成象点,但在向打印机200传输的阶段,却省略掉有关象素位置的信息,只传输各象素组形成象点个数的信息。针对这一点,在第1变形例的个数数据生成处理中,在不特定象素位置,只生成象素组内形成的象点个数。
图13是表示第1变形例中进行的个数数据生成处理的概要的说明图。图13(a)是例示第1变形例的个数数据生成处理中参照的简易抖动矩阵的说明图。在第1实施方式中参照的这种通常使用的抖动矩阵,给每个象素设定临界值(参照图8)。与此不同,在第1变形例中参照的简易抖动矩阵,不给每个象素设定临界值,而是以归纳到一起的状态使各象素组存储,换言之,以将多个临界值归纳成1组后,与各象素组对应附加的状态存储。另外,各象素组存储的临界值的个数,与构成象素组的象素的数量是相同的数字。在图13(a)的示例中,概念性地示出在简易抖动矩阵的左上角的象素组中,被对应附加存储由{255、212、177、170、109、58、42、1}8个值构成的临界值的组的情况。同样,在其右邻的象素组中,存储着由{242、223、186、161、79、70、48、5}8个值构成的临界值的组。
在第1变形例中进行的个数数据生成处理中,通过将象素组的图象数据,与这种临界值的组进行比较,从而不是特定象素位置,而是决定象素组内应该形成的象点个数。在这里,为了便于讲述,设要处理的图象数据,和在第1实施方式的讲述中使用的图象数据相同(参照图6)。观察图象数据的左上角的象素组后,可知该象素组内所有的象素的灰度值都成为97。另一方面,在简易抖动矩阵上对应位置的象素组中,存储着8个临界值{255、212、177、170、109、58、42、1}在这8个临界值中,比象素组的灰度值97小的值,有{58、42、1}3个,所以判断该象素组形成3个象点。在图13(b)中。用虚线围住一部分临界值,是表示这些临界值小于象素组的灰度值。这样,如果预先按照各象素组存储临界值的组,与象素组的灰度值比较后,就可以不特定象素组内的象素位置地决定象点个数。对所有的象素组,进行以上的操作后,就能够如图13(c)所示,给各象素组决定象点个数。
另外,在第1变形例中参照的简易抖动矩阵,成为与在第1实施方式的讲述中使用的通常的抖动矩阵对应的矩阵。就是说,在图13的简易抖动矩阵中按各象素组存储的临界值的组,成为将图8的抖动矩阵的各象素存储的临界值,按象素组归纳成一组。这样,如果将简易抖动矩阵作为与通常的抖动矩阵对应的矩阵,那么使用简易抖动矩阵,不特定象素组内的象素位置地决定象点个数时,也可以得到和使用通常的抖动矩阵一面特定象素组内的象素位置一面决定象点个数完全相同的结果。实际上,对于相同的图象数据,使用通常的抖动矩阵得到的象点个数的数据(参照图10(a)),和使用简易抖动矩阵得到的数据(参照图13(c))完全一致。
综上所述,在第1变形例中,只比较按象素存储的临界值的组,和图象数据的灰度值,就可以求出象素组应该形成的象点个数。就是说,因为不需要按照象素组内的象素逐一比较临界值和图象数据的灰度值,所以能够迅速得到表示各象素组的象点个数的数据。
另外,在第1变形例中,因为只要求出小于图象数据的灰度值的临界值的个数即可,所以如果在各自的组内将临界值按照大小的顺序排列存储,就可以进一步提高处理速度。现在,再参照图13的例示进行讲述。左上角的象素组,图象数据的灰度值是97,按照大小顺序存储着{255、212、177、170、109、58、42、1}临界值的组。因为可以取得0~255的值,所以灰度值97,可以说是比较小的值。因此,将该灰度值,从小的临界值开始,依次比较大小。就是说,首先,和最小的临界值“1”比较。当然,灰度值“97”大,所以再与相邻存储的一个较大的临界值“42”比较。这次也因为灰度值“97”大,所以再与相邻的临界值“58”比较。这样,将灰度值从小的一侧的临界值依次比较下去。然后,在和临界值“109”比较时,才判断灰度值“97”小。因为组内的临界值是按照大小顺序存储的,所以一旦判断灰度值小后,就可以知道以后的临界值都比灰度值大,没有必要再一一比较。因此,尽管各象素组存储着8个临界值,但对该象素组只比较4个临界值,就能够决定象点个数。具体地说,事先确定所定的临界值(例如100),当图象数据的灰度值小于该临界值时,就从较小的临界值接着比较下去。
毫无疑问,图象数据的灰度值是比较大的值时,从较大一侧的临界值开始比较好。例如,在上述的说明中,假设临界值是“200”,从最大的临界值“255”开始,只要再和其相邻的临界值“212”,进而再和其相邻的临界值“177”等3个临界值比较,就能决定该象素组应该形成的象点个数。具体地说,事先确定所定的临界值(例如155),当图象数据的灰度值大于该临界值时,就从较大的临界值接着比较下去。
或者,也可根据上一处理的象素组中的处理结果选择与图象数据的灰度值进行比较的临界值。再次参照图13进行说明。对于左上角的象素组,比图象数据的灰度值还小的临界值是3个(也就是说象点个数是3个)。于是,对于该象素组的右临的象素组,首先,将在临界值的组中的第3小的临界值与图象数据的灰度值进行比较。也就是说,从设定在右临的象素组中的8个临界值{242、223、186、161、79、70、48、5}中的第3小的临界值“70”开始,首先将该临界值与图象数据的灰度值“102”进行比较。这时,因为图象数据的灰度值比临界值大,所以接下来与第4小的临界值“79”进行比较,再接下来与第5小的临界值“161”进行比较。第5小的临界值“161”因为比图象数据的临界值“102”大,所以就该象素组而言可以确定象点个数是4个。其结果,仅3次比较图象数据的灰度值与临界值就可确定象点个数。此外,在这里是从与在先处理的象素组的象点个数相同顺序的第3个临界值开始进行比较的,但并没有必要必须从相同顺序开始,例如,也可以从大1个的第4个临界值开始进行比较,或从小1个的第2个临界值开始进行比较。
一般,图象数据的灰度值,通常是缓慢变化的,所以在相邻的象素组之间,通常形成在象素组内的象点个数也变化不大。因此,如上所述,若根据在先处理的象素组的象点个数选择与图象数据的灰度值进行比较的临界值,就可以以较少的比较的次数确定象点个数。
综上所述,若将与象素组对应的临界值按大小顺序存储后,就可以迅速地确定应形成在象素组内的象点个数。
(2)第2变形例:
在前文讲述的第1实施方式的象素位置决定处理中,接收按照象素组表示的象点个数的数据后,参照抖动矩阵,决定在各象素组内形成象点的象素位置(参照图12)。可是,因为根据象点个数决定形成象点的象素位置,所以未必需要知道每个象素的临界值,只要知道象素组内的各象素的形成象点的象素的序列就行。鉴于这一点,在第2变形例的象素位置决定处理中,取代抖动矩阵,参照存储了象素的序列的矩阵(以下将这种矩阵称作“序列矩阵”)决定象素位置。
图14是表示在第2变形例的象素位置决定处理中,参照序列矩阵决定象素位置的情况的示意图。图14(a)是序列矩阵的示意图。图中用粗实线围住的矩形,表示象素组,各象素组如用细虚线所示,划分为8个象素。另外,各象素中显示的数字,表示象素组内形成象点的序列(换言之,是形成象点的顺序号)。
使用这种序列矩阵后,能够根据象点个数简便地决定象素位置。在这里,以象点个数的数据是图12(a)所示的数据为例,具体讲述。此外,该数据与前文讲述过的第1实施方式的象素位置决定处理中使用的数据相同。采用图12(a)所示的数据后,左上角的象素组形成的象点个数就成为“3”。因此,从图14(a)所示的序列矩阵的左上角的象素组中,选择序列为1号~3号的3个象素,决定象素位置。图14(b)是表示这样选择3个象素决定象素位置的情况的示意图,围住象素中的数字的实线,表示选择了该象素。对所有的象素组反复进行以上的操作后,可以如图14(c)所示,决定所有的形成象点的象素位置。此外,在图14(c)中带斜线的象素,表示形成象点。
这样,根据象素组内各象素中形成有象点的序列,决定象素位置后,只要选择序列的数字为象点个数以下的象素,就能决定象素位置。就是说,不需要一面计算选择的象素的个数,一面选择象点个数表示的数的象素,所以能够简便地决定象素位置。
另外,序列矩阵存储的数值顶多只能获得1个象素组包含的象素的数量,是比抖动矩阵存储的临界值小的数值。因此,序列矩阵能够以比抖动矩阵小得多的容量存储。由于进行象素位置决定处理的打印机,往往没有搭载足够大的存储容量,所以如果使用序列矩阵决定象素位置,还可以得到能够节约打印机的存储容量的优点。
此外,图14(a)所示的序列矩阵,成为与在个数数据生成处理中为了判断各象素是否形成象点而参照的抖动矩阵对应的矩阵。就是说,在对第1实施方式的象素位置决定处理的讲述中说过,在抖动矩阵中设定的临界值,可以认为表示象点形成的序列。而在图14(a)的序列矩阵中设定的序列,对于象素组内的各象素来说,成为与取决于抖动矩阵的序列相同的序列。这样,如果将序列矩阵,作为与在个数数据生成处理中参照的抖动矩阵对应的矩阵,那么即使使用序列矩阵时,也能适当决定象素位置。实际上,比较图14(c)和图10(b)后可知:参照序列矩阵决定的象素位置,和判断各象素是否形成象点后求出的象素位置一致,象素位置被适当地决定。
另外,所述的简易抖动矩阵(图13参照),是根据他8的抖动矩阵生成的,图14所示的序列矩阵是对应图8的抖动矩阵的矩阵。这样,通过相同抖动矩阵,使用相互对应的简易抖动矩阵及序列矩阵,就可以确定合适的象素位置。即使在这些矩阵相互没有对应关系时,也希望使矩阵大小一致。在此,2个矩阵的大小相等是指,在矩阵之间行方向及列方向的象素数量相等。
当处理比矩阵还大的图象时,将1个矩阵在图象上将位置错开反复使用。若简易抖动矩阵及序列矩阵的大小不同时,由于每次错位都会使相互的位置关系不同,所以会造成处理不安定,结果有可能使画质恶化。因此,若使简易抖动矩阵及序列矩阵成为相同的大小的矩阵,就可以始终将相互的位置关系保持一定。其结果,可以进行稳定的处理,维持良好的画质。C、第2实施方式:
在以上讲述的第1实施方式中,对将1个象素分割成多个象素,并将同一个象素分割成的那些象素作为象素组归纳的情况进行了讲述。将1个象素分割成多个象素,例如,在要用比输入的图象数据高的析象度印刷图象等时容易发生。在这种第1实施方式中,作为象素组归纳的各象素,具有相同的灰度值。可是,本发明还能适用于象素组内的各象素,具有不同的灰度值时。例如,将印刷析象度设定成和输入的图象数据相同的析象度,在1个象素组中,包含图象数据的多个象素时,容易产生象素组内的各象素灰度值不同的情况。另外,为了用比输入的图象数据高的析象度印刷图象而生成新的象素时,通过插补运算决定新生成的象素的灰度值时,象素组内的各象素,灰度值成为不同的值。进而,印刷析象度只比图象数据的析象度略高一点时,即使分割1个象素,生成多个新的象素,也可以认为在1个象素组内包含由不同的象素生成的象素。这时,象素组内的各象素也不局限于具有相同的灰度值。下面,作为第2实施方式,对在这种情况下应用本发明的实施方式进行讲述。
C-1、第2实施方式的个数数据生成处理:
图15是表示第2实施方式的个数数据生成处理的流程的流程图。该处理也和前文讲过的第1实施方式的个数数据生成处理一样,是在图5所示图象印刷处理中由计算机100的CPU实施的处理。
在第2实施方式的个数数据生成处理中,也首先归纳所定的多个象素,生成象素组(步骤S400)。在这里,仿照第1实施方式,归纳纵2列、横4列的8个象素,生成象素组。毫无疑问,作为象素组的归纳方法,并不局限于这种归纳方法。可以采用各种方法归纳。
接着,判断象素组内是否包含边缘(步骤S402)。在本实施方式中,在象素组包含的多个象素中,最大的灰度值和最小的灰度值的灰度差为所定值以上时,就断定是该象素组内包含边缘。毫无疑问,边缘的检出方法,不限于这种方法,可以采用各种方法。
然后,断定象素组不包含边缘(步骤S402:no)时,计算出象素组的平均灰度值,用平均灰度值置换各象素的灰度值(步骤S404)。其结果,象素组内的各象素成为相同的灰度值,所以可以使用和前文讲过的第1实施方式同样的方法,决定象素组内形成的象点个数。
图16是表示判断象素组内有无边缘、断定没有边缘时,用平均灰度值置换象素组内各象素的灰度值的情况的说明图。在图16(a)中,示出象素组内各象素的灰度值。在图中左上角的象素组,最大灰度值和最小灰度值分别是灰度值100和灰度值97,其灰度差是3,成为比较小的值。与此不同,位于该象素组的右下方的象素组,最大灰度值是32,最小灰度值是99,灰度差高达33。于是,设定适当的临界值(例如灰度值20),象素组内的灰度差大于临界值时,就断定包含边缘。反之,象素组内的灰度差小于临界值时,则断定不包含边缘,计算出象素组内的平均灰度值,用平均灰度值置换所有的象素的灰度值。
图16(b)是表示这样判断象素组不包含边缘时,用平均灰度值置换象素组内各象素的灰度值的情况。在图示的例子中,左上角的象素组及其右邻或下方的象素组,灰度差都很小,所以象素组内所有的象素,被分别用平均灰度值99、103、94置换。这种象素的灰度值被用平均灰度值置换的象素组,因为象素组内的各象素成为完全相同的灰度值,所以可以和前文讲过的第1实施方式一样,决定象素组内应该形成的象点个数(图15的步骤S406)。
与此不同,右下方的象素组,灰度差高达33,被认为包含边缘,所以不进行这种灰度值置换。对于这种象素组,一边比较象素的灰度值和抖动矩阵的临界值,以便判断各象素是否形成象点(参照图9),存储对各象素的判断结果(图15的步骤S408)。
这样,对一个象素组的处理结束后,判断图象数据中的所有的象素的处理是否结束(步骤S410)。还有未处理的象素时(步骤S410:no),就返回步骤S400,生成新的象素组,继续反复进行一系列的处理。这样,将所有的象素,作为象素组归纳,结束上述处理后步骤S410:yes),对不包含边缘的象素组将步骤S406存储的象点个数,对包含边缘的象素组则将步骤S408存储的表示各象素是否形成象点的数据(象点数据)向打印机200输出(步骤S412)。其结果,象素组的象点个数的数据,和表示象素组内各象素是否形成象点的数据,就以混在一起的状态向打印机200输出。在第2实施方式的个数数据生成处理中,为了一边区别象点个数的数据和表示各象素是否形成象点的数据一边输出,所以用下述形态输出这些数据。
图17是表示第2实施方式中,由计算机100向打印机200输出的数据的形成的说明图。输出象素组形成的象点个数时,如图17(a)所示,平均每个象素组输出4比特的数据。在这里,由于1个象素组采用8个象素构成,所以象点个数只能取0~8的值,有4比特就能表现象点个数。另一方面,当不是输出象点个数,而是输出表示各象素是否形成象点的象点数据时,就用图17(b)所示的形成输出数据。就是说,在起初的4比特中,设定9~15中的某一个值(在图17(b)的例示中,设定为“9”),在随后的8比特的数据中,设定各象素是否形成象点。因为象点个数只能取0~8的值,所以前头的4比特的数据成为9以上的值时,随后的8比特的数据就可以解释为不是表示象点个数,而是表示各象素是否形成象点。然后,如果将各比特例如按照图17(c)所示的那种顺序号与各象素一一对应,就能输出表示象素组内是否形成象点的数据。用这种图17所示的形式输出数据时,对于不包含边缘的象素组,作为4比特的数据向打印机200传输;对于包含边缘的象素组,则作为12比特的数据传输。
毫无疑问,将象点个数的数据和表示各象素的象点数据混在一起后输出方法,并不局限于这种方法,例如,还可以附加识别用的比特。例如,就象图18中的符号(a)所示,识别用的比特为“0”时,断定随后的4比特的数据是表示象点个数的数据。另外,就象图18中的符号(b)所示,识别用的比特为“1”时,可以断定随后的8比特的数据是表示象点数据。这样输出数据时,对于不包含边缘的象素组,就作为5比特的数据向打印机200传输;对于包含边缘的象素组,则作为9比特的数据传输。此外,在图18中,识别用的比特是以在象点个数的数据或表示象点形成的有无的象点数据的前头附加传送进行说明的,但并不局限于此,也可以与象点个数的数据和象点数据分开,只传送识别用的比特。
比较图17的传输方法和图18的传输方法的数据传输量,可知:对于不包含边缘的象素组,采用图17的方法,数据传输量比采用图18的方法减少。可是,对于包含边缘的象素组,却反而是采用图18的方法能够减少数据传输量。因此,象素组中包含边缘的比例大时,可以采用使用识别用比特的图18的方法传输数据;反之,包含边缘的比例小时,则可以采用图17的方法传输数据。通常,象素组中包含边缘的比例不那么大,所以采用图17的方法可以迅速传输数据。
在图15的步骤S412中,如上所述,象素组的象点个数的数据,和表示各象素是否形成象点的象点数据,以混在一起的状态向打印机200输出。这样,输出所有的象素组的数据后,就结束图15所示的第2实施方式的个数数据生成处理,返回图象印刷处理。
C-2、第2实施方式的象素位置决定处理:
如前所述,在第2实施方式中,象点个数的数据和表示每个象素是否形成象点的数据,同时由计算机100发送过来,所以在打印机200中,就按照下述方式决定形成象点的象素位置。此外,在以下的讲述中,采用图17所示的方法传输数据。
图19是表示在第2实施方式中决定形成象点的象素位置的处理流程的流程图。开始处理后,首先读入前4比特的数据(步骤S500)。然后,判断读入的数据是不是9以上(步骤S502)。如前所述,在这里,象素组包含的象素数是8个,象点个数只能取0~8的值。因此,如果读入的数据是9以上的值,就可以认为该数据不表示象点个数,而是表示后面的数据是表示象点数据。反之,如果读入的数据是0~8的值,就可以认为该数据是表示象素组形成的象点个数的数据。
因此,判断读入的数据是不是9以上,不是9以上时(步骤S502:no),将读入的数据理解为象点个数的数据,和上述第1实施方式一样,决定象素组内形成象点的象素位置(步骤S504)。
另一方面,读入的数据是9以上时(步骤S502:yes),读入随后的8比特的数据,将该数据理解为表示各象素是否形成象点的数据,从而决定形成象点的象素位置(步骤S506)。
这样,对一个象素组决定形成象点的象素位置后,判断所有的象素组的处理是否结束(步骤S508)。还有未处理的象素组时,就返回步骤S500,继续进行一系列的处理。这样,反复进行上述处理,直到对所有的象素组决定象素位置为止,对所有的象素组的处理结束后,就结束图19所示的第2实施方式的象素位置决定处理,返回图象印刷处理。
采用进行图15~图18所示的个数数据生成处理及图19所示的象素位置决定处理的第2实施方式的图象印刷处理后,在象素组内各象素的灰度值不是相同值时,也能对不包含边缘的象素组传输表示象点个数的数据,所以能够迅速地向打印机200传输数据,迅速印刷图象。
另外,在第2实施方式的图象印刷处理中,因为对包含边缘的象素组传输表示各象素是否形成象点的象点数据,所以包含边缘的象素组的比例越大,向打印机200传输数据所需的时间就越长。因此,提高检出有无边缘的判定基准后,就不容易检出边缘,从而使向打印机200传输数据所需的时间变短,进而可以迅速印刷图象。
然而,另一方面,对于没有检出边缘的象素组,由于象素组内的各象素的灰度值被平均灰度值置换,所以为了缩短数据传输时间而将边缘判定基准提得过于高后(不容易检出边缘后),就有可能使印刷图象质量下降。
可是,印刷图象质量要求高的图象,通常将印刷析象度设定成高于输入的图象数据的析象度。因为变换成高析象度,所以在析象度变换处理中(图5的步骤S104)分割象素、生成新的象素时,或者进行插补运算生成新的象素时,在大多数象素组中,灰度值都是稍微变化。因此,对于印刷图象质量要求高的图象,在大多数情况下,不提高边缘判定基准也能在大部分的象素组中检测不到边缘,可以在维持高图象质量的前题下迅速传输数据。
另一方面,印刷析象度和输入的图象数据的析象度是相同程度的低析象度时,象素组中检出边缘的比例就增大。所以,为了缩短向打印机200传输数据所需的时间,就需要提高判定基准,使边缘不容易检测到。可是,在这种将印刷析象度设定成比较低的值时,往往重视图象质量,而不要求迅速的印刷,所以即使提高边缘的判定基准,也不会出现图象质量下降的问题。
D、第3实施方式:
以上讲述各种实施方式,对一个个象素只能表现与形成象点的状态或不形成象点的状态对应的2个灰度值的情况进行了讲述。可是,在打印机中,有的打印机,可以通过改变形成的象点的大小,或改变为了形成象点而使用的墨水的浓度,从而使一个个象素能够单独表现更多的灰度值。本发明对这种所谓多值打印机也能够有效地适用。下面,讲述将本发明用于多值打印机的第3实施方式。
D-1、第3实施方式的图象印刷处理的概要:
图20是表示第3实施方式的图象印刷处理的流程的流程图。第3实施方式的图象印刷处理,与使用图5讲述的第1实施方式的图象印刷处理的最大的不同之处是:将颜色变换处理后的数据,变换成大中小象点的数据。下面,以此差异为中心,讲述第3实施方式的图象印刷处理。此外,在这里。对打印机200是可以改变象点大小的多值打印机的情况进行讲述。但毫无疑问,以下的讲述,对于不改变象点大小,而改变墨水的浓度的打印机,以及可以同时改变象点大小和墨水的浓度的打印机,也能够同样适用。
在第3实施方式的图象印刷处理中,也和第1实施方式的图象印刷处理一样,首先,读入应该变换的图象数据(步骤S600),对读入的图象数据进行颜色变换处理(步骤S602)。经过颜色变换处理后,图象数据变换成由C、M、Y、K各种颜色的灰度值表现的灰度值数据。
在这里,在前文讲述的第1实施方式的打印机200中,不能改变象点的大小,只能按照各种颜色形成象点或不形成象点中的某一个状态。因此,根据颜色变换处理后的数据,立即判断各象素是否形成象点。与此不同,在第3实施方式的打印机200中,可以改变象点的大小,形成大象点、中象点、小象点等三种象点。因此,将颜色变换处理后获得的灰度数据,先按照各种颜色变换成大象点用的数据、中象点用的数据和小象点用的数据(步骤S604)。
由灰度数据向大象点、中象点、小象点的各个象点数据的变换,参照图21所示的变换表进行。如图所示,在变换表中,与灰度数据对应,存储着大象点数据、中象点数据和小象点数据,参照该变换表,变换颜色变换后的灰度数据。
接着,对大象点数据、中象点数据和小象点数据的每一个数据进行析象度变换处理(步骤S606)。析象度变换可以采用各种方法,但为了使讲述简便,在这里,和第1实施方式一样,采用分割象素变换析象度的方法。在分割后形成的新的象素中,设定和原来的象素的灰度值相同的灰度值。
这样,将析象度变换成印刷析象度后,进行个数数据生成处理(步骤S608)。在第3实施方式中,打印机200可以形成大象点、中象点、小象点等三种象点。与此对应,在个数数据生成处理中,生成这些各种象点的象点个数的数据,将得到的象点个数数据向打印机200输出。
图22是表示在第3实施方式的个数数据生成处理中,由象点数据生成象点个数数据的情况的说明图。图22(a)是给作为象素组归纳的各象素,设定大中小的各种象点的象点数据的情况的示意图。图中示出的实线矩阵,分别表示象素组。象素组由多个象素构成,对各象素设定象点数据,但为使图示简化,在图22中,省略了一个个象素的显示,取而代之的是作为给象素组设定象点数据的显示。例如,图22(a)的左上角的象素组,显示Data(L、M、S)=(2,90,32),表示给该象素组的各象素设定大象点的象点数据“2”、中象点的象点数据“90”、小象点的象点数据“32”。毫无疑问,正如在第1实施方式中也讲述的那样,构成象素组的所有象素具有相同的灰度值时,也可以不进行析象度变换处理,在个数数据生成处理中,实质地进行析象度变换。
在第3实施方式的个数数据生成处理中,对这些各种象点的象点数据,通过后文讲述的处理,生成图22(b)所示的象点个数数据。在图22(b)中,也和图22(a)一样,实线的矩阵形表示象素组。象素组由多个象素构成,但省略了一个个象素的显示,显示给象素组生成象点个数的数据。例如,图22(b)的左上角的象素组中,显示Dot(L、M、S)=(1,2,1),表示对构成该象素组的各象素,作为大象点、中象点、小象点的象点个数,分别生成“1”、“2”、“1”。关于第3实施方式的个数数据生成处理的内容,后文再述。
打印机200接受计算机100输出的象点个数的数据后,进行象素位置决定处理(步骤S610)。在第3实施方式中,因为形成大象点、中象点、小象点等3种象点,所以在象素位置决定处理中,决定形成这些各种象点的象素位置。关于第3实施方式的象素位置决定处理的内容,后文再述。
这样决定象素位置后,打印机200一边使托架240反复进行主扫描和副扫描,一边驱动喷墨头,从而在印刷用纸上形成大中小的各象点(步骤S612)。其结果,就印刷出与图象数据对应的图象。
D-2、第3实施方式的个数数据生成处理:
下面,讲述第3实施方式的个数数据生成处理的内容。图23是表示第3实施方式的个数数据生成处理的流程的流程图。该处理也由计算机100内置的CPU实施
开始第3实施方式的个数数据生成处理后,CPU首先从图象数据中归纳所定的多个象素,生成象素组(步骤S700)。在个数数据生成处理之前进行的析象度变换处理(图20的步骤S606)中,和第1实施方式一样,分割象素后生成新的象素,所以在这里也将分割同一象素后得到的多个象素作为象素组归纳。
接着,对象素组内的各象素,读入大象点、中象点、小象点的象点数据(步骤S702)。此外,在这里,构成象素组的象素,都由相同的象素分割后具有相同的灰度值,所以也可以不必对每个象素一一读入象点数据,而对每个象素组读入一个象素的值即可。
这样,读入各种象点的象点数据后,参照抖动矩阵,判断是否形成大象点、中象点、小象点(步骤S704)。图24是表示参照抖动矩阵,判断着眼象素应该形成大象点、中象点、小象点中的哪一个象点的方法的说明图。此外,在图24中,作为象点数据,使用图22(a)所示的数据,作为抖动矩阵,使用图8所示的矩阵。
图24表示对图象左上角的象素组,判断是否形成各种象点的情况。图中,粗实线的矩形表示象素组,象素组被用细虚线划分,表示象素组由多个象素构成。另外,象素中示出的数值,表示在抖动矩阵的对应位置上设定的临界值的值。
开始判断是否形成象点后,首先,比较大象点的象点数据和抖动矩阵设定的临界值,对象点数据大的象素,判断形成大象点。图24的符号(a),表示这样对象素组内的各象素,判断是否形成大象点的情况。具体地说,因为大象点的象点数据是“2”,所以只有最左上角的灰度值是“1”的象素,象点数据的值大,其余的象素都是抖动矩阵的临界值的值大。因此,在该象素组中,只形成1个大象点。在图24的符号(a)中,给抖动矩阵的临界值是“1”的象素附加细斜线,表示判断该象素形成大象点。
判断了是否形成大象点后,接着判断是否形成中象点。在对中象点进行判断之际,将大象点的象点数据与中象点的象点数据相加,计算出中象点用的中间数据。比较该中间数据和抖动矩阵设定的临界值。然后,将中间数据大于临界值的象素,断定为形成中象点的象素。这时,对已经断定形成大象点的象素,不进行是否形成中象点的判断。如果使用图24的符号(b)具体讲述的话,因为大象点的象点数据是“2”,中象点的象点数据是“90”,所以计算出中象点用的中间数据是“92”。但是,因为象素组中最左上角的象素,已经断定形成大象点,所以不进行这一比较。然后,对于抖动矩阵的临界值是“42”的象素和“58”的象素来说,由于中间数据大,所以断定形成中象点。在图24的符号(b)中,给这些象素附加斜线,表示判断该象素形成中象点。
判断了是否形成中象点后,最后判断是否形成小象点。在对小象点进行判断之际,将中象点用的中间数据与小象点的象点数据相加,计算出小象点用的中间数据。对还没有断定形成象点的象素,比较该中间数据和抖动矩阵设定的临界值。然后,将中间数据大的象素,断定为形成小象点的象素。如果使用图24的符号(c)具体讲述的话,因为中象点用的中间数据是“92”,中象点的象点数据是“90”,所以加上小象点的象点数据是“32”,计算出小象点用的中间数据是“124”。比较该中间数据和抖动矩阵设定的临界值。然后,对于抖动矩阵的临界值是“109”的象素来说,由于中间数据大,所以断定该象素形成小象点。在图24的符号(c)中,给这些象素附加粗斜线,表示判断该象素形成中象点。在图23的步骤S704中,就这样对象素组内的各象素判断是否形成大象点、中象点、小象点。
判断是否形成各种象点后,存储该象素组应该形成的各种象点的个数(步骤S706)。在图24的示例中,作为大象点、中象点、小象点的个数,分别存储1个、2个、1个。
这样,将多个象素归纳为象素组,存储该象素组内应该形成的各种象点的个数后,判断图象数据包含的所有的象素的处理是否结束(步骤S708),还有未处理的象素时(步骤S708:no),就返回步骤S700,生成新的象素组后,继续进行一系列的处理。这样,对所有的象素组的处理结束后(步骤S708:yes),就将每个象素组存储该的各种象点的个数向打印机200输出(步骤S710)。在这里,为了进一步减少向打印机200输出的数据量,对各种象点的个数数据,以下述编码化状态输出。
图25是为了将各种象点的个数数据编码化而参照的变换表的示意图。在变换表中,按照大象点、中象点、小象点的各种象点个数的组合,一个一个地设定编码号。例如,大象点、中象点、小象点的任何一种的个数都是0的组合,设定编码号为“0”。另外,大象点和中象点的个数是0个,小象点的个数是“1”个的组合,设定编码号为“1”。
这样,将各种象点的个数变换成编码号后,向打印机200输出,就可以减少数据量。关于其理由,下面讲述几个。在这里,因为将象素组作为由8个象素构成的,所以可以取得各种象点的最大个数是8个。这样,象点个数的数据,对每种象点的种类来说,有4比特就足够。由于象点的种类是3种,所以每个象素组必要的数据量就成为12比特。与此不同,如图25所示,由于编码号只能取得0~164的值,所以编码化后,每个象素组只要有8比特就足够。就是说,仅仅这样就可以使数据量减少三分之一。
进而,在各种象点个数的组合中,还包含许多在实际印刷中不出现的组合,对这些组合当然不需要设定编码号。这样,如果只给必要的组合设定编码号,哪么每个象素组必要的数据量就会比8比特还少,所以可以使数据量进一步减少。
在图23的步骤S710中,基于上述理由,将各种象点的个数的数据编码化后向打印机200输出。这样,按照象素组以编码化的状态将各种象点的个数向打印机200输出后,就结束第3实施方式的个数数据生成处理,返回图20的图象印刷处理。
此外,在以上讲述的第3实施方式的个数数据生成处理中,一边特点象素一边判断是否形成各种象点。但向打印机200供给的信息,其只是象点个数的信息,没有供给象素位置的信息。因此,可以和前文讲述的第1实施方式的第1变形例一样(参照图13),不特定象素位置地求出象点个数。图26是这种不特定象素位置地求出各种象点的象点个数的情况的示意图。
图26是表示以在图24的讲述中使用的象素组为例,不特定象素位置地求出各种象点的象点个数的方法的说明图。对多种象点计算象点个数时,也和计算单一的象点的象点个数一样,使用简易抖动矩阵。如前所述,所谓简易抖动矩阵,是在抖动矩阵中与象素组内的各象素对应的临界值,被作为不与各象素对应地按象素组归纳的临界值的组存储的矩阵。例如,在图24所示的象素组中,与象素组内的各象素对应,设定抖动矩阵的临界值。与此不同,在使用简易抖动矩阵的图26中,在象素组上设定着这些临界值的组{255、212、177、170、109、58、42、1}。下面,按照图26,对不特定象素位置地求出各种象点的象点个数的方法进行讲述。
象点个数,按照先求出大象点的象点个数,再求出中象点的象点个数,最后求出小象点的象点个数的顺序进行计算。图26的符号(a)表示求出大象点的象点个数的情况,图26的符号(b)表示求出中象点的象点个数的情况,图26的符号(c)表示求出小象点的象点个数的情况,为了求出大象点的象点个数,比较大象点的象点数据和给象素组设定的临界值的组。然后,判断只有小于象点数据的临界值的个数形成大象点。在图26的符号(a)所示的例子中,因为大象点的象点数据是“2”,所以小于象点数据的临界值只有1个,这样,可以求出大象点的象点个数是1个。在图26的符号(a)中,给临界值“1”加上细斜线,就是表示断定该临界值形成大象点。
求出大象点的象点个数后,再将大象点的象点数据和中象点的象点数据相加,求出中象点用的中间数据。然后,比较该中间数据和临界值的组,判断只有小于中间数据的临界值的个数形成中象点。但是,不和已经判断形成大象点的临界值比较。在图26的符号(b)所示的例子中,因为大象点的象点数据是“2”,中象点的象点数据是“90”,所以求出中象点用的象点数据是“92”。除了已经判断形成大象点的临界值“1”之外,小于该中间数据“92”的临界值有2个。这样,可以求出该象素组形成的中象点的个数是2个。在图26的符号(b)中,给临界值“42”和临界值“58”加上斜线,就是表示断定这些临界值形成中象点。
求出中象点的象点个数后,再将中象点用的中间数据和小象点的象点数据相加,求出小象点用的中间数据。然后,比较该中间数据和临界值的组,从而求出小象点的象点个数。在图26的符号(c)所示的例子中,因为中象点用的中间数据是“92”,小象点的象点数据是“32”,所以求出小象点用的象点数据是“124”。在没有形成任何象点的临界值中,小于该中间数据的临界值只有1个,所以可以判断该象素组形成的小象点的个数是1个。在图26的符号(c)中,给临界值“109”加上斜线,就是表示断定该临界值形成小象点。
这样,如果一面参照简易抖动矩阵,一面计算各种象点的象点个数,就能够不特定象素位置地计算象点个数。这样,只要将象点数据或中间数据与临界值的组比较就能计算象点个数,而不需要与各元素设定的临界值比较,所以可以迅速计算各种象点的象点个数的数据。
D-3、第3实施方式的象素位置决定处理:
如前所述,在第3实施方式的象素位置决定处理中,按各象素组求出各种象点的象点个数后,将表示象点个数的数据向打印机,200传输。在打印机200中,接收传输来的数据,决定形成各种象点的象素位置后,按照决定,在印刷用纸上形成各种象点,从而印刷图象。下面,讲述根据表示象点个数的数据决定形成各种象点的象素位置的处理。
图27是表示第3实施方式的象素位置决定处理的流程的流程图。该处理由打印机200的控制电路260内置的CPU实施。
开始第3实施方式的象素位置决定处理后,首先,选择要决定象素位置的象素组(步骤S800),接着,从传输来的数据中取得选择的象素组的数据(步骤S802)。在这里,如用图25讲述的那样,将象点个数的数据以编码化的状态传输。因此,将编码化的数据译码成表示各种象点的象点个数的数据(步骤S804)。
数据的译码化,从编码号的一侧起,参照图25所示的变换表进行。例如,如果编码化的数据是“126”,那么就可以由变换表中与编码号“162”对应的象点个数,译码成大象点7个、中象点0个、小象点1个的象点个数的数据。
这样得到各种象点的象点个数后,通过参照抖动矩阵,从而决定形成各种象点的象素位置(步骤S806)。关于该处理,参照图28加以讲述。
图28是表示对某个象素组,给予各种象点的象点个数时,一边参照抖动矩阵,一边决定形成这些象点的象素位置的情况的说明图。图中示出的粗实线的矩线,表示象素组。划分象素组的细虚线,表示象素组由多个象素构成。另外,象素中示出的数值,表示在与抖动矩阵对应位置上设定的临界值。此外,抖动矩阵使用和为了计算象点个数而使用的矩阵一样的矩阵。
现在,假设该象素组形成的各种象点的个数是大象点1个、中象点2个、小象点1个后,首先决定形成大象点的象素位置。如前所述,抖动矩阵的临界值,可以认为表示象点形成的难易,所以如果只形成1个大象点,那就在设定的临界值最小的象素上形成。决定了大象点的象素位置后,接着决定形成中象点的象素位置。中象点形成2个,而且临界值最小的象素已经形成大象点,所以就判断在临界值第2小的象素和第3小的象素的2个象素中形成中象点。继中象点之后,决定小象点的象素位置。小象点只形成1个,而且从临界值最小的象素到第3小的象素已经形成大象点或中象点,所以就判断临界值第4小的象素形成小象点。
图28表示这样按照大象点、中象点、小象点的顺序,决定形成象点的象素的情况。在图中,带细斜线的象素,表示判断形成大象点的象素;带中等斜线的象素,表示判断形成中象点的象素;带粗斜线的象素,表示判断形成小象点的象素。在图27的步骤S806中,就这样一边参照抖动矩阵,一边决定形成各种象点的象素位置。
此外,在上述说明中,说明了对被编码的数据进行译码时,在各种象点的象点个数的数据进行译码的情况,但如上所述,也可以按照大象点、中象点、小象点的顺序决定象素位置后,在大象点的个数、大象点和中象点的合计个数、大象点和中象点及小象点的合计个数进行译码,而不是各种象点的象点个数。例如,在图28所示的例子中,取代译码成{大象点:1个、中象点:2个、小象点:1个},译码成{大象点:1个、大象点+中象点:3个、大象点+中象点+小象点:4个}。
图29是表示在上述译码中参照的译码化表的示意图。若这样进行译码,则可以如下所述地提高决定象素位置的处理。例如,以说明决定中象点的象素位置为例,由于大象点+中象点的个数被译码为3个,所以选择从设定的临界值为最小的一端开始第3个之前的象素。然后,除了已经形成有其他象点(大象点)的象素之外,可以得出在选择的象素中形成中象点的判断。这样,因为可以不考虑已经有形成其他象点的判断象素数量来决定象素位置,所以可以实现处理的迅速化。
这样,对一个象素组决定形成各种象点的象素位置后(步骤S806),判断对计算机100供给的所有的象素组的数据是否结束决定象素位置的处理(步骤S808)。还有未处理的象素组时(步骤S808:no),就返回步骤S800,对新的象素组继续反复进行一系列的处理。这样,判断对所有的象素组决定了象素位置后(步骤S808:yes),就结束图27所示的象素位置决定处理,返回图象印刷处理。在印刷纸上形成各种象点。其结果,就印刷出与图象数据对应的图象。
打印机200是所谓多值打印机时,通过上述第3实施方式的图象印刷处理,可以一边由计算机100向打印机200传输各种象点的象点个数,一边印刷图象。这样,可以比供给表示各象素是否形成象点的数据更迅速地供给,所以即使是象素数甚多的图象,也能迅速印刷图象。
E、其它变形例:
本发明除了上述的实施方式外,还存在各种变形例。下面,简单讲述这些变形例。
(1)第1变形例:
在上述的各种实施方式的个数数据生成处理中,使用所谓抖动法判断是否形成象点。可是,只要按照图象数据的灰度值,就能成为适当密度地求出象点个数,所以使用哪种手法也行。
例如,可以象图30所示的变形例的个数数据生成处理那样,计算出象素组内的各象素的平均灰度值,根据该平均灰度值,根本性地求出象素组内形成的象点个数。下面,按照图30的流程图,简单讲述。
开始个数数据生成处理后,首先将所定的多个象素作为象素组归纳(步骤S900),计算出象素组内的各象素的平均灰度值(步骤S902),根据该平均灰度值,根本性地求出象素组内形成的象点个数。就是说,如图31所示,与平均灰度值对应,预先决定象素组内形成的象点个数,按照这种对应关系,根据象素组的平均灰度值,决定象点个数。此外,在图31中,示出象点种类为3种的情况,但象点种类不局限于3种。
接着,各象素组存储这样决定的象点个数后(步骤S906),判断对所有的象素的处理是否结束(步骤S908)。然后,如果还有未处理的象素时,返回步骤S900,继续反复进行一系列的处理。判断结束了所有的象素的处理后,使用存储象点个数的图29,采用讲述的方法编码化后,将编码化的象点个数的数据向打印机200输出(步骤S910)。
在打印机200中,接受由计算机100输出的象点个数的数据后,进行前文讲述的象素位置决定处理,印刷图象。这样,因为能够简便地求出各象素组的象点个数的数据,所以能够迅速输出象点个数的数据,进而能够更迅速地印刷图象。
(2)第2变形例:
在上述的各种实施方式的个数数据生成处理中,首先将多个象素作为象素组归纳后,决定象素组内形成的象点个数。可是,还可以首先判断各象素是否形成象点,然后将多个象素作为象素组归纳。
例如,在图32所示的变形例中,首先对图象数据采用所谓误差扩散法,对所有的象素,判断是否形成象点(步骤S950)。然后,将所定的多个象素作为象素组归纳(步骤S952),按象素组数着存储形成的象点个数(步骤S954)。
各象素组存储这样决定的象点个数后,判断对所有的象素的处理是否结束(步骤S956),还有未处理的象素时,返回步骤S900,继续反复进行一系列的处理。判断结束了所有的象素的处理后,将各象素组存储的象点个数向打印机200输出(步骤S958)。
在打印机200中,接受由计算机100输出的象点个数的数据后,进行前文讲述的象素位置决定处理,按象素组决定形成象点的象素位置。此外,在图32所示的变形例中,根据误差扩散法求出象点个数,但这时也可以如前所述,参照抖动矩阵决定象素位置。
另外,我们知道,一般地说,使用误差扩散法判断是否形成象点时,在象点的形成密度低的区域,可以获得杂波少的良好的图象质量。因此,例如在印刷象点一个也不形成的许多象素组中形成象点的象素组稀疏分布的那种象点密度低的图象时,根据误差扩散法,求出象素组的象点个数,就可以使象点适当分布,得到高质量的图象。
(3)第3变形例:
在以上讲述的各种实施方式中,讲述了根据抖动矩阵决定象素位置的情况。一边参照前文讲述的序列矩阵一边决定象素位置时,虽然不是直接参照抖动矩阵,但因为序列矩阵是根据抖动矩阵生成的,所以可以认为是间接性地根据抖动矩阵决定象素位置。可是,如果能够使用不同的序列给每个象素组决定象素位置,就未必需要根据抖动矩阵决定。
例如,可以如图33所示,存储多个序列,从中给各象素选择适当的序列,决定象素位置。下面,按照图33的流程图简单讲述。
打印机200的控制电路260内置的CPU,开始变形例的象素位置决定处理后,首先选择要决定象素位置的象素组,取得该象素组的象点个数的数据(步骤S970)。接着,从预先存储的多个序列中,任意选择一个序列(步骤S972)。在控制电路260的ROM中,对象素组内的各象素,预先存储着多个序列。图34是ROM存储的多个序列的示意图。在步骤S972中,从这些序列中选择1个序列。
然后,参照选择的序列,决定象素组内形成象点的象素位置(步骤S974)。这样,对一个象素组决定象素位置后,判断对所有的象素组的处理是否结束(步骤S976),还有未处理的象素组时,就返回步骤S970,继续进行一系列的处理,决定象素位置。然后,直到结束对所有的象素组的处理为止,反复进行上述处理。
这样做,也能根据各象素组的象点个数的数据,决定形成象点的象素位置。另外,为了决定象素位置而参照的序列,几乎按照象素组选择不同的序列,所以不存在用一个模式形成象点而引起图象质量恶化的危险。
以上,对各种实施方式进行了讲述。但本发明并不局限于以上那些实施方式。在不违背其宗旨的范围内,可以用各种样态实施。例如,可以将实现上述功能的软件程序(应用程序),通过通信线路,供给计算机系统的主存储器或外部存储装置后实施。毫无疑问,还可以读入CD-ROM及软盘存储的软件程序后实施。
另外,在以上的实施方式中,讲述了将本发明应用于在印刷用纸上形成象点、印刷图象的打印机。但本发明的应用范围并不局限于打印机。例如,在液晶显示画面上,以适当的密度使光亮点分散,从而表现灰度连续变化的图象的液晶显示装置等中,也能恰当地使用本发明。
Claims (29)
1、一种图象输出控制系统,包括:对图象数据实施所定的图象处理的图象处理装置、和根据该图象处理的结果形成象点从而输出图象的图象输出装置,其特征在于:
所述图象处理装置,具有:
将构成所述图象的多个象素按照多个归纳形成象素组的象素组生成单元;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定该象素组内形成的象点的个数的形成个数决定单元;以及
将按照所述各象素组决定的象点个数的数据,输出到所述图象输出装置的个数数据输出单元,
所述图象输出装置,包括:
接受关于所述各象素组的象点个数的数据的个数数据接受单元;
按照每个所述象素组,特定在所述象素组内各象素中形成有象点的象素的序列的序列特定单元;
根据所述象点个数的数据和所述特定的序列,对在所述象素组内形成象点的象素位置按照该象素组的每一个进行决定的象素位置决定单元;以及
根据所述决定的象素位置形成象点的象点形成单元。
2、如权利要求1所述的图象输出控制系统,其特征在于:
所述图象处理装置,还具有:从构成所述图象数据的各象素,生成具有与该象素相同图象数据的多个象素,从而增加象素数量的象素数量增加单元,
所述象素组生成单元,归纳由相同象素所生成的多个象素而构成象素组。
3、如权利要求1所述的图象输出控制系统,其特征在于:
所述序列特定单元,从预先预备的多种序列中,给所述各象素组选择1个序列,从而特定该序列。
4、如权利要求1所述的图象输出控制系统,其特征在于:
所述形成个数决定单元,包括:
存储有多个用于将代表所述象素组的所述图象数据,变换成在该象素组内形成的象素个数的对应关系对应关系存储单元;和
从所述多个对应关系中给每个象素组选择1个对应关系的对应关系选择单元,
并根据代表所述象素组的所述图象数据和所述选择的对应关系,决定在该象素组内形成的象点的个数。
5、如权利要求4所述的图象输出控制系统,其特征在于:
所述对应关系存储单元,存储有多个作为所述多个对应关系由相当于所述象素组内的象素数量的多个临界值构成的临界值列,
所述对应关系选择单元,从所述多个临界值列中选择1个临界值列,
所述形成个数决定单元,将比在所述选择的临界值列中所述象素组的图象数据小的临界值的个数,作为该象素组内形成的象点的个数进行决定。
6、如权利要求5所述的图象输出控制系统,其特征在于:
所述对应关系存储单元,将所述临界值列中所含的所述多个临界值,与在该临界值列中的表示大小顺序的信息一起存储,
所述形成个数决定单元,考虑所述大小的顺序对所述象素组的图象数据与所述临界值进行比较,从而决定在该象素组内形成的象点的个数。
7、如权利要求6所述的图象输出控制系统,其特征在于:
所述对应关系存储单元,将所述临界值列中所含的所述多个临界值,按照该临界值的大小顺序排列的状态进行存储,从而存储表示所述大小顺序的信息。
8、如权利要求6或7所述的图象输出控制系统,其特征在于:
所述形成个数决定单元,在所述象素组的图象数据大于所定的第1临界值时,将该图象数据,从所述选择的临界值列中的大的临界值开始进行比较,从而决定所述象点的个数。
9、如权利要求6或7所述的图象输出控制系统,其特征在于:
所述形成个数决定单元,在所述象素组的图象数据小于所定的第2临界值时,将该图象数据,从所述选择的临界值列中的小的临界值开始进行比较,从而决定所述象点的个数。
10、如权利要求6所述的图象输出控制系统,其特征在于:
所述形成个数决定单元,从根据上一决定的象点个数选择所述象素组的图象数据的顺序的临界值开始进行比较,从而决定在该象素组内形成的象点的个数。
11、如权利要求5所述的图象输出控制系统,其特征在于:
所述对应关系存储单元,按照多个的所述临界值列以所定的顺序二维排列的简易抖动矩阵的形态,存储所述多个对应关系,
所述对应关系选择单元,从所述简易抖动矩阵中存储的多个临界值列中,选择所述图象中对应所述象素组的位置的1个临界值列,
所述形成个数决定单元,根据被归纳到所述象素组的象素的图象数据和构成所述选择的临界值列的各临界值的大小关系,决定在该象素组内形成的象点个数。
12、如权利要求11所述的图象输出控制系统,其特征在于:
所述序列存储单元,将在所述象素组内的各象素中形成有象点的所述序列,按照以所定的顺序二维排列的序列矩阵的形态,进行所述多个存储,
所述简易抖动矩阵与所述序列矩阵,在行方向及列方向的象素数量的评价的大小,是相同的矩阵。
13、如权利要求11所述的图象输出控制系统,其特征在于:
所述对应关系存储单元,作为所述简易抖动矩阵,存储将针对二维排列的象素的每一个关联对应的临界值的抖动矩阵分割到多个所述象素组,而由该象素组内的各象素的临界值构成的多个所述临界值列,以该象素组的顺序排列的矩阵,
所述序列存储单元,
将所述抖动矩阵分割到所述多个象素组,根据针对该象素组内的各象素关联对应的临界值的大小关系对各象素组决定的象素的序列,按照该象素组的顺序排列的矩阵的形态,存储所述多个序列,
所述序列选择单元,从按照所述矩阵的形态所存储的所述多个序列中,选择所述图象中对应所述象素组的位置的1个序列。
14、如权利要求1所述的图象输出控制系统,其特征在于:
所述形成个数决定单元,
具有存储针对二维排列的象素的每一个关联对应的临界值的抖动矩阵的抖动矩阵存储单元,并且,
对于所述象素组内的各象素,对代表该象素组的图象数据与在所述抖动矩阵上的对应的位置存储的所述临界值进行比较,从而决定该象素组的象点个数,
所述序列特定单元,作为在所述各象素组特定的序列,特定在所述抖动矩阵上对应所述象素组的位置存储的多个临界值的集合,
所述象素位置决定单元,根据所述象点个数的数据和该特定的多个临界值的集合,决定所述象素位置。
15、一种图象处理装置,形成象点后输出图象的图象输出装置对表示该图象的图象数据,实施所定的图象处理,生成用于控制该象点的形成而使用的控制数据,其特征在于:
具有:
将构成所述图象的多个象素多个地归纳,生成象素组的象素组生成单元;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定该象素组内形成的象点的个数的形成个数决定单元;以及
将按照所述各象素组决定的象点个数的数据,输出到所述图象输出装置的个数数据输出单元。
16、如权利要求15所述的图象处理装置,其特征在于:
还具有:从构成所述图象数据的各象素,生成具有与该象素相同图象数据的多个的象素,从而使象素数量增加的象素数量增加单元,
所述象素组生成单元,归纳由相同象素生成的多个象素来构成象素组。
17、如权利要求15所述的图象处理装置,其特征在于:
所述形成个数决定单元,
包括:多个存储用于将代表象素组的所述图象数据,变换成在该象素组内形成的象点个数的对应关系的对应关系存储单元;和
从所述多个对应关系中给各象素组选择1个对应关系的对应关系选择单元,并且,
根据代表所述象素组的所述图象数据和所述选择的对应关系,决定在该象素组内形成的象点的个数。
18、一种图象输出控制方法,是对图象数据实施所定的图象处理,根据该图象处理的结果形成象点,从而输出图象的图象输出控制方法,其特征在于:包括:
将构成所述图象的多个象素多个地归纳,生成象素组的第1工序;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定该象素组内形成的象点的个数的第2工序;
按照所述各象素组特定在所述象素组内形成象点的象素的序列的第3工序;
根据所述象点个数的数据和所述特定的序列,按照各该象素组决定在所述象素组内形成象点的象素位置的第4工序;以及
根据所述决定的象素位置形成象点的第5工序。
19、如权利要求18所述的图象输出控制方法,其特征在于:
所述第1工序,具有以下前工序:从构成所述图象数据的各象素,生成具有与该象素相同图象数据的多个象素,从而增加象素数量。
20、如权利要求18所述的图象输出控制方法,其特征在于:
所述第2工序,是包括:
多个存储用于将代表所述象素组的所述图象数据,变换到在该象素组内形成的象点的个数的对应关系的工序;和
从所述多个对应关系中给各象素组选择1个对应关系的工序,并且,
根据代表所述象素组的所述图象数据和所述选择的对应关系,决定在该象素组内形成的象点的个数的工序。
21、一种图象处理方法,是形成象点后输出图象的图象输出装置对表示该图象的图象数据,实施所定的图象处理,生成用于控制该象点的形成而使用的控制数据的图象处理方法,其特征在于:
具有:
将构成所述图象的多个象素多个地归纳,生成象素组的工序A;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定在该象素组内形成的象点的个数的工序B;以及
将按照所述各象素组决定的象点个数的数据,输出到所述图象输出装置的工序C。
22、如权利要求21所述的图象处理方法,其特征在于:
所述工序A,包括:从构成所述图象数据的各象素,生成具有与该象素相同图象数据的多个象素,从而增加象素数量的工序;和
归纳由相同象素生成的多个象素来构成象素组的工序。
23、一种程序,是由计算机实施、根据对图象数据实施所定的图象处理得到的结果形成象点、从而输出图象的程序,其特征在于:具有:
将构成所述图象的多个象素多个地归纳,生成象素组的第1功能;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定该象素组内形成的象点的个数的第2功能;
按照所述各象素组特定在所述象素组内形成象点的象素的序列的第3功能;
根据所述象点个数的数据和所述特定的序列,按照各该象素组决定在所述象素组内形成象点的象素位置的第4功能;以及
根据所述决定的象素位置形成象点的第5功能。
24、如权利要求23所述的程序,其特征在于:
所述第1功能,具有以下功能:从构成所述图象数据的各象素,生成具有与该象素相同图象数据的多个象素,从而增加象素数量。
25、如权利要求23所述的程序,其特征在于:
所述第2功能,是包括:
多个存储用于将代表所述象素组的所述图象数据,变换到在该象素组内形成的象点的个数的对应关系的功能;和
从所述多个对应关系中给各象素组选择1个对应关系的功能,并且,
根据代表所述象素组的所述图象数据和所述选择的对应关系,决定在该象素组内形成的象点的个数的功能。
26、一种程序,是由计算机实施、用于形成象点后输出图象的图象输出装置对表示该图象的图象数据,实施所定的图象处理,生成用于控制该象点的形成而使用的控制数据的程序,其特征在于:
具有:
将构成所述图象的多个象素多个地归纳,生成象素组的功能A;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定在该象素组内形成的象点的个数的功能B;以及
将按照所述各象素组决定的象点个数的数据,输出到所述图象输出装置的功能C。
27、如权利要求26所述的程序,其特征在于:
所述功能A,包括:从构成所述图象数据的各象素,生成具有与该象素相同图象数据的多个象素,从而增加象素数量的功能;和
归纳由相同象素生成的多个象素来构成象素组的功能。
28、一种图象输出控制系统,包括:对图象数据实施所定的图象处理的图象处理装置、和根据该图象处理的结果形成象点从而输出图象的图象输出装置,其特征在于:
所述图象处理装置,具有:
将构成所述图象的多个象素按照多个归纳形成象素组的发生器;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定该象素组内形成的象点的个数的个数决定器;以及
将按照所述各象素组决定的象点个数的数据,输出到所述图象输出装置的数据发送器,
所述图象输出装置,包括:
接受关于所述各象素组的象点个数的数据的数据接收器;
按照每个所述象素组,特定在所述象素组内各象素中形成有象点的象素的序列的选择器;
根据所述象点个数的数据和所述特定的序列,对在所述象素组内形成象点的象素位置按照该象素组的每一个进行决定的运算器;以及
根据所述决定的象素位置形成象点的象点形成器。
29、一种图象处理装置,形成象点后输出图象的图象输出装置对表示该图象的图象数据,实施所定的图象处理,生成用于控制该象点的形成而使用的控制数据,其特征在于:
具有:
将构成所述图象的多个象素按照多个归纳形成象素组的发生器;
将所述象素组内的各象素的图象数据,用特定的图象数据统一代表,根据该代表的图象数据,决定该象素组内形成的象点的个数的个数决定器;以及
将按照所述各象素组决定的象点个数的数据,输出到所述图象输出装置的数据发送器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003087190 | 2003-03-27 | ||
JP087190/2003 | 2003-03-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1765118A true CN1765118A (zh) | 2006-04-26 |
Family
ID=33095091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800083297A Pending CN1765118A (zh) | 2003-03-27 | 2004-03-29 | 图象输出控制系统、图象处理装置及其方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7929183B2 (zh) |
EP (1) | EP1608143A4 (zh) |
JP (1) | JP4225319B2 (zh) |
CN (1) | CN1765118A (zh) |
WO (1) | WO2004086749A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4561049B2 (ja) * | 2003-06-20 | 2010-10-13 | セイコーエプソン株式会社 | 所定領域内に形成されるドット個数の情報に基づいて画像を印刷する印刷システム |
JP4297033B2 (ja) * | 2004-09-30 | 2009-07-15 | セイコーエプソン株式会社 | 複数画素ずつ多値化を行う画像処理装置 |
WO2008075755A1 (en) * | 2006-12-19 | 2008-06-26 | Canon Kabushiki Kaisha | Image processing apparatus, printing apparatus and image processing method |
JP4757210B2 (ja) * | 2007-02-09 | 2011-08-24 | 大日本スクリーン製造株式会社 | 閾値マトリクス生成方法、閾値マトリクス生成装置および閾値マトリクス |
JP2013258570A (ja) | 2012-06-13 | 2013-12-26 | Brother Ind Ltd | 印刷制御装置、および、コンピュータプログラム |
JP2013258621A (ja) * | 2012-06-14 | 2013-12-26 | Brother Ind Ltd | 印刷制御装置、および、コンピュータプログラム |
JP6613597B2 (ja) | 2015-04-06 | 2019-12-04 | セイコーエプソン株式会社 | 画像処理装置、印刷装置、画像処理方法および印刷方法 |
US10015366B2 (en) * | 2016-03-04 | 2018-07-03 | Esko Software Bvba | Variable resolution lookup table for accelerated color conversion |
JP2019061099A (ja) * | 2017-09-27 | 2019-04-18 | キヤノン株式会社 | 液晶駆動装置および画像表示装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59205874A (ja) * | 1983-05-10 | 1984-11-21 | Canon Inc | 画像デ−タ圧縮装置 |
JPS6173477A (ja) | 1984-09-19 | 1986-04-15 | Minolta Camera Co Ltd | 画像処理方法 |
JPS62176371A (ja) | 1986-01-30 | 1987-08-03 | Toshiba Corp | デイザ中間調伝送方式 |
JPS63182973A (ja) | 1987-01-23 | 1988-07-28 | Sharp Corp | フアクシミリ装置の擬似中間調画像伝送方法 |
JPH03159372A (ja) | 1989-11-16 | 1991-07-09 | Ricoh Co Ltd | 画像信号処理装置 |
US5124803A (en) | 1991-02-25 | 1992-06-23 | Ecrm | Method and apparatus for generating digital, angled halftone screens using pixel candidate lists and screen angle correction to prevent moire patterns |
JPH05292273A (ja) | 1992-04-07 | 1993-11-05 | Konica Corp | 画像形成装置 |
JPH05292297A (ja) | 1992-04-06 | 1993-11-05 | Konica Corp | 画像形成装置 |
EP0564868A3 (en) | 1992-04-06 | 1993-11-10 | Konishiroku Photo Ind | Image forming apparatus |
JPH06152986A (ja) | 1992-11-10 | 1994-05-31 | Fuji Xerox Co Ltd | 画像圧縮方法及び装置 |
JPH0865511A (ja) * | 1994-08-22 | 1996-03-08 | Murata Mach Ltd | 中間調画像データの伝送方法 |
JPH08116440A (ja) | 1994-10-17 | 1996-05-07 | Fuji Xerox Co Ltd | 階調画像2値化装置 |
JP3374551B2 (ja) | 1994-10-28 | 2003-02-04 | ミノルタ株式会社 | 画像処理装置 |
JP3581460B2 (ja) | 1995-10-31 | 2004-10-27 | キヤノン株式会社 | 画像処理方法とその装置 |
US5771105A (en) | 1996-03-04 | 1998-06-23 | Hewlett-Packard Company | High speed system for grey level image scaling, threshold matrix alignment and tiling, and creation of a binary half-tone image |
JP2000071439A (ja) | 1998-08-31 | 2000-03-07 | Seiko Epson Corp | 画像処理装置および方法並びに記録媒体 |
JP4135229B2 (ja) | 1998-09-29 | 2008-08-20 | ソニー株式会社 | 映像信号の変換装置および変換方法、並びにそれを使用した画像表示装置およびテレビ受信機 |
JP2000350022A (ja) | 1999-03-30 | 2000-12-15 | Canon Inc | 画像処理方法及び装置 |
JP3859122B2 (ja) | 2001-03-05 | 2006-12-20 | セイコーエプソン株式会社 | ハーフトーン処理装置及びハーフトーン処理方法 |
JP2002271623A (ja) | 2001-03-13 | 2002-09-20 | Fuji Xerox Co Ltd | 画像処理装置および画像処理プログラム |
-
2004
- 2004-03-29 WO PCT/JP2004/004474 patent/WO2004086749A1/ja not_active Application Discontinuation
- 2004-03-29 US US10/550,900 patent/US7929183B2/en not_active Expired - Fee Related
- 2004-03-29 JP JP2005504134A patent/JP4225319B2/ja not_active Expired - Fee Related
- 2004-03-29 EP EP04724126A patent/EP1608143A4/en not_active Withdrawn
- 2004-03-29 CN CNA2004800083297A patent/CN1765118A/zh active Pending
-
2011
- 2011-03-02 US US13/039,116 patent/US20110149304A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2004086749A1 (ja) | 2004-10-07 |
EP1608143A1 (en) | 2005-12-21 |
US7929183B2 (en) | 2011-04-19 |
JP4225319B2 (ja) | 2009-02-18 |
US20110149304A1 (en) | 2011-06-23 |
US20070188777A1 (en) | 2007-08-16 |
JPWO2004086749A1 (ja) | 2006-06-29 |
EP1608143A4 (en) | 2007-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1223170C (zh) | 利用校正表的彩色图像数据的校正方法 | |
CN1221390C (zh) | 打印装置和方法、打印控制装置和方法和计算机程序产品 | |
CN1255766C (zh) | 图像处理方法及其装置 | |
CN1681288A (zh) | 图像处理设备、图像数据产生和传输方法及其程序 | |
CN1234533C (zh) | 记录装置及记录方法 | |
CN1993976A (zh) | 利用熵编码的彩色图像数据的无损压缩 | |
CN1828432A (zh) | 颜色判断装置及颜色判断方法 | |
CN1557090A (zh) | 阈值矩阵产生方法、图像输出系统、存储介质、灰度再现方法、阈值矩阵、图像处理方法、图像处理装置、图像形成装置以及打印机驱动器 | |
CN1774031A (zh) | 图像处理装置及图像处理方法、以及计算机程序 | |
CN1893535A (zh) | 浓度确定方法、成像设备和图像处理系统 | |
CN100340403C (zh) | 记录装置和记录方法 | |
CN1957594A (zh) | 点数据处理装置、图像输出系统及其方法 | |
CN1809116A (zh) | 图像处理装置、方法、图像形成装置、图像读取处理装置 | |
CN1947409A (zh) | 对每多个像素进行多值化的图像处理装置 | |
CN1764228A (zh) | 图像处理装置、图像形成装置、图像处理方法 | |
CN1171462C (zh) | 固体彩色摄像装置 | |
CN1262986C (zh) | 图象处理方法及图象处理装置 | |
CN1882026A (zh) | 信息埋入网屏编码的生成方法 | |
CN1216484C (zh) | 图象处理装置、印刷控制装置、图象处理方法和记录媒体 | |
CN1306789C (zh) | 图像处理设备、方法、程序及记录该程序的记录介质 | |
CN1765118A (zh) | 图象输出控制系统、图象处理装置及其方法 | |
CN1762149A (zh) | 进行彩色图像数据转换的图像处理装置和图像处理方法 | |
CN1918898A (zh) | 基于规定区域内形成的像点个数的信息输出图像的图像输出系统 | |
CN1479994A (zh) | 色变换装置及色变换方法 | |
CN1810508A (zh) | 打印装置、其控制方法、打印用数据生成装置和生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |