图象输出控制系统和图象输出装置的制作方法

文档序号:7694188阅读:104来源:国知局
专利名称:图象输出控制系统和图象输出装置的制作方法
技术领域
本发明涉及对图象数据实施所定的图象处理后输出图象的技术,详细 地说,涉及将经过图象处理的图象数据迅速向图象输出装置传输,从而使 图象的输出迅速化的技术。
背景技术
在印刷媒体及液晶画面等各种输出媒体上形成象点,从而表现图象的 图象输出装置,作为各种图象机器的输出装置,得到广泛使用。在这些图 象输出装置中,图象被细分成称作"象素"的小区域的状态处理,在这些 象素上形成象点。在象素上形成象点时,毫无疑问,对每一个象素而言, 只能成为形成象点或不形成象点中的某一个状态。可是,从整个图象上看, 却有可能产生象点稠密形成的区域和稀疏形成的区域。这样,通过改变象 点的形成密度,就可以输出图象。例如,在印刷用纸上形成黑墨水的象点 时,象点稠密形成的区域显得暗,反之,稀疏形成的区域则显得亮。另外, 在液晶画面上形成光点的象点时,象点稠密形成的区域显得亮,稀疏形成 的区域则显得暗。所以,如果适当控制象点的形成密度,就能输出多灰度 的图象。
旨在控制象点的形成密度的数据,通过对要输出的图象的数据,实施 所定的图象处理后产生。得到的数据,被供给图象处理装置。在图象处理 装置中,按照供给的数据,在各象素上形成象点。其结果,就可以在输出 媒体上,以适当的密度形成象点,输出图象。
近几年来,对这些图象输出装置,提出了输出图象的高质量化及大图象化的要求。对于高质量化的要求,将图象分割成更细的象素,是个有效 的途径。这样,将象素变小后,在象素上形成的象点就不醒目,可以使图
象质量得到提高(例如,特开2000—115716号公报)。另外,对于大图象
化的要求,也可以通过增加象素数量的方法实现。毫无疑问,使每一个象 素变大,也能加大输出图象,但这样会带来图象质量的下降,所以对于大 型化的要求,增加象素数量是行之有效的。
可是,满足输出图象的高质量化及大图象化的要求后,势必会出现难 以迅速输出图象的问题,就是说,为了大图象化而增加象素数量的情况就 不必说了,为了图象的高质量化而将一个个象素变小时,结果也使1个图 象包含的象素数量增加。如前所述,由于图象输出装置是接收供给的控制 象点的形成的数据后输出图象的,所以1个图象包含的象素数量增加后, 供给数据所需的时间就要增加,迅速输出图象就成为一件困难的事情。

发明内容
本发明针对现有技术的上述课题,目的在于将控制象点的形成的数据, 組速供给图象输出装置,从而可以使图象的输出迅速化。
为了达到上述目的,本发明的第1图象输出控制系统采用下述结构。
即其特征在于
是包括对图象数据实施所定的图象处理的图象处理装置和根据该图象 处理的结果形成象点、从而输出图象的图象输出装置的图象输出控制系统, 所述图象处理装置,具有
对于构成所述图象的多个象素被按照所定多个归纳的象素组,根据所 述图象数据,决定该象素组内形成的象点的个数的象点个数决定单元;
将按照所述各象素组决定的象点个数的数据,供给所述图象输出装置 的个数数据供给单元;
所述图象输出装置,包括
接受关于所述各象素组的象点个数的数据的个数数据接受单元;
给每个所述象素组特定在所述象素组内各象素中形成有象点的象素的
序列的序列选择单元;
根据所述象点个数的数据和所述选择的序列,对在所述象素组内形成象点的象素位置按照该象素组的每一个进行决定的象素位置决定单元; 根据所述决定的象素位置形成象点的象点形成单元。
另外,与上述图象输出控制系统对应的本发明的第1图象输出控制方 法,其特征在于-
是对图象数据实施所定的图象处理,根据该图象处理的结果形成象点, 从而输出图象的图象输出控制方法,
' 对于构成所述图象的多个象素被按照所定多个归纳的象素组,根据所 述图象数据,决定该象素组内形成的象点的个数的第l工序;
给该每个象素组特定在所述象素组内各象素中形成有象点的象素的序 列的第2工序;
根据所述决定的象点的个数和所述选择的序列,对在所述象素组内形 成象点的象素位置按照该象素组的每一个进行决定的第3工序; 根据所述决定的象素位置形成象点的第4工序。
在本发明的这种图象输出控制系统及图象输出控制方法中,给每一个 由多个象素构成的象素组,生成该象素组内应该形成的象点的个数的数据。 另外,特定象素组内各象素中形成有象点的象素的序列。而且,在形成象 点之际,根据特定的序列和象素组的象点的个数的数据,决定该象素组内 形成象点的象素位置。根据这样决定的象素位置,形成象点。
象素组内形成的象点的个数,可以用比表示象素组内的各象素有无象 点的数据少得多的数据量表示。所以, 一旦将图象数据变换成象素组的象 点个数的数据后,就能够减少数据的传输量,进行迅速的传输。因此,例 如即使是象素数甚多的图象,也能用很短的时间完成数据输送,从而迅速 地输出图象。
另外,象素组内的象素位置,取决于象点个数的数据和象素的序列一 一表示该象素组内各象素以什么样的顺序形成象点的序列。在这里,在决 定象素位置之际,使用每个象素组特定的序列决定象素位置。因此,例如, 即使形成相同个数的象点的象素组连续时,也能使每个象素组在不同的象 素位置上形成象点。这样,用有规则的图案形成的象点就不醒目,就能避 ^使图象质量恶化的危险。
此外,在供给象点个数的数据之际,还可以采用编码化的状态供给。而且,还可以将该数据译码成象素组内应该形成的象点个数后决定象素位 置。将象点个数的数据编码化后,就能压縮数据量,有效地传输数据,进 而能够迅速地输出图象。
在这种第1图象处理系统及图象处理方法中,还可以采用下述方法。 首先,在决定象点个数之际,根据给二维排列的每一个象素对应附加的临 界值的抖动矩阵,决定所述象素组内应该形成的象点的个数。接着,在决 定象素位置之际,将决定所述象点个数使用的抖动矩阵,分割成多个象素 组,根据给该象素组内的各象素对应附加的临界值的大小关系,特定每个 象素组决定的象素的序列。然后,从多个存储的该序列中,选择与在图象 上的象素组的位置对应的1个序列,根据选择的序列和象点个数,决定象 素位置。
釆用抖动矩阵后,能够迅速决定象点个数。另外,如果根据和决定象 点个数使用的抖动矩阵相同的矩阵,设定为了由象点个数决定象素位置而 使用的序列后,决定象点个数的处理和决定象素位置的处理就亲自整合, 所以能够适当决定象素位置,进而还能够以很高的图象质量输出图象,作 为抖动矩阵,分散型及密集型的就不必说了,还可以使用蓝噪声矩阵或梯 度噪声矩阵等各种矩阵。使用这样的抖动矩阵后,形成的象点,就成为集
各种矩阵的特点于一身的象点。
为了达到上述目的,本发明的第2图象输出控制系统,其特征在于-
是包括对图象数据实施所定的图象处理的图象处理装置和根据该图象 处理的结果形成象点、从而输出图象的图象输出装置的图象输出控制系统,
所述图象处理装置,具有
将构成所述图象的多个象素多个地归纳,生成象素组的象素组生成单
元;
至少对于多个该象素组来说,以使与所述象素组对应的图象数据和该 象素组内应当形成的象点的个数的对应关系在该象素组的每一个中都互不 同的状态,决定该象点的个数的象点个数决定单元;
将按照所述各象素组决定的象点个数的数据,作为控制数据,供给所 述图象输出装置的个数数据供给单元;
所述图象输出装置,包括接受关于所述各象素组的象点个数的数据的个数数据接受单元; 根据所述象点个数的数据,对在所述象素组内形成象点的象素位置按
照该象素组的每一个进行决定的象素位置决定单元;
根据所述决定的象素位置,形成象点的象点形成单元。 采用这种图象输出控制系统后,在图象处理装置中,因为至少对于多 个象素组来说,以使象素组的每一个都互不同的状态,决定象点的个数,
所以可以降低以规则的图案形成的象点的可能性。还能构成与该第2图象 输出控制系统对应的第2图象输出控制方法,这时也能够获得同样的作用效果。
另外,为了达到本发明的目的,本发明的图象输出装置,采用下述结
构。即其特征在于
是接收经过所定的图象处理的图象数据,根据该图象数据,形成象点,
从而输出图象的图象输出装置,包括
作为所述图象数据,在将构成所述图象的多个象素按照所定的多个作 为象素组归纳的状态,接受该象素组内应该形成的象点个数的数据的个数 数据接受单元;
给每个所述象素组特定在所述象素组内各象素中形成有象点的象素的 序列的序列特定单元;
根据所述接受的象点个数的数据和所述特定的序列,对在所述象素组 fe形成象点的象素位置按照该象素组的每一个进行决定的象素位置决定单 元;
根据所述决定的象素位置,形成象点的象点形成单元。
另外,与上述图象输出装置对应的本发明的图象输出方法,其特征在

是接收经过所定的图象处理的图象数据,根据该图象数据,形成象点, 从而输出图象的图象输出方法,包括
作为所述图象数据,在将构成所述图象的多个象素按照所定的多个作 为象素组归纳的状态,接受该象素组内应该形成的象点个数的数据的工序 A;
给每个接受所述象点个数的数据的象素组特定在所述象素组内各象素中形成有象点的象素的序列的工序B;
根据所述接受的象点个数的数据和所述特定的序列,对在所述象素组 内形成象点的象素位置按照该象素组的每一个进行决定的工序C;
根据所述决定的象素位置,形成象点的工序D。
在本发明的这种图象输出装置及图象输出方法中,接受象素组内应该 形成的象点个数的数据,根据该图象数据,决定在象素组内形成象点的象 素位置,在决定的象素位置上形成象点,从而输出图象。
如前所述,象素组内形成的象点的个数,可以用比表示象素组内的各 象素有无象点的数据少得多的数据量表示。所以,如上所述地输出图象后, 例如即使是象素数甚多的图象,也能迅速地接受数据,所以能够迅速地输 出图象。
另外,象素组内为了决定象素位置而使用的象素的序列,给每个象素 组特定,因此,例如,即使形成相同个数的象点的象素组连续时,也能给 每个象素组决定不同的象素位置。这样,用有规则的图案形成的象点就不 醒目,就没有使图象质量恶化的危险。
此外,在接受象点个数的数据之际,还可以采用接受编码化状态的数 据,再将该数据译码成表示象素组内应该形成的象点的个数的数据后,决 定象素位置。将象点个数的数据编码化后,就能压縮数据量,所以能够有 效地接受象点个数的数据,能够更加迅速地输出图象。
在这种图象输出装置及图象输出方法中,可以将相互邻接、而且具有 所定位置关系的多个象素,作为所述象素组归纳。
作为象素组归纳的象素,未必需要相互邻接,但是如果将相互邻接、 而且具有所定位置关系的象素,作为所述象素组归纳,就使决定象点个数 或决定象素组内的象素位置的处理变得容易,所以是理想的。
进而,在这种图象输出装置及图象输出方法中,可以预先以该序列被 以所定的顺序二维排列的序列矩阵的形态,存储所述多个序列,在决定象 素位置之际,从该序列矩阵存储的多个序列中,选择1个与在图象上的象 素组的位置对应的序列,决定象素位置。
这时,以适当的顺序排列序列矩阵存储的多个序列,可以涉及多个象 素组,得到适当的象素位置。其结果,可以改善形成的象点的分布,以很高的图象质量输出图象。
在这种序列矩阵中,可以采用下述方法,根据抖动矩阵,进行设定。 首先,将抖动矩阵分割成多个象素组。这样得到的象素组,包含多个象素, 给各象素对应附加抖动矩阵的临界值。根据这些临界值的大小关系,给每 个象素组设定象素组内的各象素的序列。
抖动矩阵的临界值,设定成使形成的象点成为适当的分布,所以使用 根据抖动矩阵设定的序列矩阵,就可以输出象点适当分布的图象质量很高 的图象。
另外,在决定象素组内形成象点的象素位置之际,还可以采用如下方 法。即根据选择的序列,给每个象素决定象素组内的各象素中形成有象 点的顺序的顺序值。然后,比较象素组的象点个数的数据和决定的顺序值, 从而检出该象素组内形成象点的象素位置。
这样,只比较某个象素的顺序值和象点个数,就能立即判断该象素是 否形成象点。例如,假使某象素组形成N个象点,顺序值越小,越容易形 成象点,就可以认为顺序值从第1到第N的象素形成象点。所以,这时, 检出顺序值在象点个数以下的象素,就能迅速决定形成象点的象素位置。
或者,还可以采用如下方法决定象素位置。首先,设象素组包含的象
素数为N、该象素组形成的象点个数为M时,生成由意味着形成象点的M 个连续的数据和意味着不形成象点的N—M个连续的数据构成的中间数据。 这些中间数据,可以由象素组形成的象点个数的数据很容易地生成。接着, 根据选择的序列,给每个象素决定该象素组内的各象素中形成有象点的顺 序的顺序值。然后,根据该顺序值,从所述中间数据读出符合的数据,从 而检出该象素组内形成象点的象素位置。
' 这样,只要从中间数据读出符合于顺序值的部分的数据,就能迅速判 断该象素是否形成象点,所以能够迅速决定形成象点的象素位置。
另外,从中间数据读出符合的数据之际,还可以采用下述方法。首先, 将中间数据,向意味着形成象点的数据被分配的方向,位移相当于所述顺 序值的个数的数据。然后,作为符合的数据,读出位于该移动侧的端部的 数据。
这样,使中间数据位移后,只要始终读出位于中间数据的端部的数据就行,所以可以简便地读出符合的数据,是很合适的。
进而,为了达到本发明的目的,本发明的第1图象处理装置采用下述 结构。即其特征在于
是形成象点后输出图象的图象输出装置对表示该图象的图象数据,实 施所定的图象处理,生成为了控制该象点的形成而使用的控制数据的图象 处理装置,
具有
将构成所述图象的多个象素多个地归纳,生成象素组的象素组生成单
元;
至少对于多个该象素组来说,以使与所述象素组对应的图象数据和该 象素组内应当形成的象点的个数的对应关系在该象素组的每一个中都互不 相同的状态,决定该象点的个数的象点个数决定单元;
将按照所述各象素组决定的象点个数的数据,作为所述控制数据,供 给所述图象输出装置的个数数据供给单元。
: 另外,与上述图象处理装置对应的本发明的第1图象处理方法,其特 征在于
是形成象点后输出图象的图象输出装置对表示该图象的图象数据,实 施所定的图象处理,生成为了控制该象点的形成而使用的控制数据的图象 处理方法,
具有
将构成所述图象的多个象素多个地归纳,生成象素组的工序(a);
至少对于多个该象素组来说,以使与所述象素组对应的图象数据和该 象素组内应当形成的象点的个数的对应关系在该象素组的每一个中都互不 相同的状态,决定该象点的个数的工序(b);
, 将按照所述各象素组决定的象点个数的数据,作为所述控制数据,供 给所述图象输出装置的工序(C)。
在本发明的第1图象处理装置及第1图象处理方法中,即使相同的图 象数据在多个象素组中连续出现时,也能输出不同的个数数据。因此在 图象输出装置中,可以避免多个象素组在相同的位置形成象点,所以能够 切实避免以有规则的图案形成象点而导致图象质量恶化的现象。另外,象素组内形成的象点的个数,可以用比表示象素组内的各象素 有无象点的数据少得多的数据量表示。所以,即使是象素数甚多的图象, 也能迅速地将数据供给图象输出装置,迅速地输出图象。
另外,在决定象点个数之际,还可以通过比较被象素组归纳的象素的 图象数据,和相当于被该象素组归纳的象素数的图象数据的多个临界值, 从而决定象点的个数。在这里,多个临界值,既可以作为和构成象素组的 象素同样排列的临界值的矩阵,也可以作为只由多个临界值构成的临界值 的集合或数列。
这样,预先设定多组临界值,可以简便且适当地决定象素组内应当形 成的象点的个数。
此外,在供给控制数据之际,还可以先将象点个数的数据编码化后供 给。将象点个数的数据编码化后,就能压縮数据量,所以能够有效地供给 控制数据。
在这种图象处理装置及图象处理方法中,还可以按照所定的多个归纳 ^素,从而生成分割所述象素的多个象素组,同时根据该象素组归纳的象 素的图象数据,给每个象素组决定该象素组应该形成的象点的个数。
在决定象素组的象点的个数之际,还可以首先预先对各象素判断是否 形成象点后存储,接着根据判断结果,给每个象素组决定象点的个数。可 是,如果先将图象分割成多个象素组,再根据各象素组的图象数据,给每 个象素组决定象点的个数,就不需要预先存储多个象素的判断结果,所以 是理想的方法。
在第1图象处理装置及第1图象处理方法中,作为使象素组归纳的图 象数据和象素组的象点个数的对应关系,在各象素组中互不相同的样态, 可以采用各种样态。但采用下述方式较好。即决定象素组应该形成的象 点的个数后,使对象素组归纳的图象数据产生的灰度误差,至少在所定范 围内的象素组间相互抵消。这样,可以采用各种方法,例如给图象数据附 ll口杂波等。但如前所述,根据抖动矩阵,可以通过决定象点个数来实现。
这样,如果在象素组中产生的灰度误差,至少在所定范围内的象素组 间相互抵消,那么因为能够减少误差,所以可以改善输出图象的质量。
另外,为了达到本发明的目的,本发明的第2图象处理装置采用下述结构。即其特征在于
是形成象点后输出图象的图象输出装置对表示该图象的图象数据,实 施所定的图象处理,生成为了控制该象点的形成而使用的控制数据的图象 处理装置,
具有-
预先存储给二维排列的每个象素设定了临界值的抖动矩阵的抖动矩阵 存储单元;将构成所述图象的多个象素按照所定的多个地归纳,生成象素
组的象素组生成单元;
通过比较所述象素组归纳的各象素组的象素数据和所述抖动矩阵中对 应的象素设定的所述临界值,从而决定该象素组内应当形成的象点的个数
的象点个数决定单元;
将按照所述各象素组决定的象点个数的数据,作为所述控制数据,供 给所述图象输出装置的个数数据供给单元。
这样,通过和抖动矩阵的临界值进行比较,决定各象素组的象点个数 后,就能够按照图象数据适当决定象点个数,进而能够以很高的图象质量 输出图象,所以是很理想的。
进而,本发明还可以作为由计算机实施、旨在实现上述图象输出控制 方法、图象输出方法及图象处理方法的程序把握。因此,本发明还包含下 述程序,或作为记录了该程序的记录媒体的样态。就是说,与上述图象输 出控制方法对应的本发明的程序,即其特征在于
是由计算机实施、根据对图象数据实施所定的图象处理得到的结果形
成象点、从而输出图象的程序,具有
对于构成所述图象的多个象素被按照所定多个归纳的象素组,根据所 述图象数据,决定该象素组内形成的象点的个数的第l功能;
给每个所述象素组特定在所述象素组内各象素中形成有象点的象素的
序列的第2功能;
' 根据所述决定的象点个数和所述选择的序列,对在所述象素组内形成
象点的象素位置按照该象素组的每一个进行决定的第3功能; 根据所述决定的象素位置形成象点的第4功能。
这种程序实现的所述第1功能及所述第2功能,还可以作为如下的功能。即该第1功能,是根据给二维排列的每一个象素对应附加的临界值的 抖动矩阵,决定所述象素组内应该形成的象点的个数的功能。另外,该第2 功能,可以作为实现将决定所述象点个数使用的抖动矩阵,分割成多个象 素组,根据给该象素组内的各象素对应附加的临界值的大小关系,特定每 个象素组决定的象素的序列的功能,和从被所述抖动矩阵的各象素组存储 的序列中,选择与在所述图象上的象素组的位置对应的1个序列的功能的 功能。
或者,本发明程序,还可以作为如下的样态把握。即还可以作为实现 下述功能的程序把握
是由计算机实施、接收经过所定的图象处理的图象数据,根据该图象 数据,形成象点,从而输出图象的程序,包括
作为所述图象数据,在将构成所述图象的多个象素按照所定的多个作 为象素组归纳的状态,接受该象素组内应该形成的象点个数的数据的功能 (A);
给接受了所述象点个数的数据每个所述象素组特定在所述象素组内各
象素中形成有象点的象素的序列的功能(B);
根据所述接受的象点个数的数据和所述特定的序列,对在所述象素组
内形成象点的象素位置按照该象素组的每一个迸行决定的功能(C); 根据所述决定的象素位置,形成象点的功能(D)。 进而,与上述图象处理方法对应的本发明的程序,其特征在于 是由计算机实施、形成象点后输出图象的图象输出装置对表示该图象
的图象数据,实施所定的图象处理,生成为了控制该象点的形成而使用的
控制数据的程序,
实现下述功能
将构成所述图象的多个象素多个地归纳,生成象素组的功能(a);
至少对于多个该象素组来说,以使与所述象素组对应的图象数据和该 象素组内应当形成的象点的个数的对应关系在该象素组的每一个中都互不 相同的状态,决定该象点的个数的功能(b);
将按照所述各象素组决定的象点个数的数据,作为所述控制数据,供 给所述图象输出装置的功能(C)。再加上,本发明还可以作为这些各种程序可以被计算机读取地记录的 记录媒体把握。
如果使计算机读入这些程序或被记录媒体记录的程序,使用该计算机 实现上述的各种功能后,即使是象素甚多的图象,也能迅速输出图象。


图l是以印刷系统为例,讲述发明的概要的说明图。
图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是表示第2实施方式的个数数据生成处理的流程的流程图。
图17 (a)、图17 (b)是表示按照象素组内有无边缘,用平均灰度值
置换象素组内各象素的灰度值的情况的说明图。
图18 (a) 图18 (c)是表示第2实施方式中,由计算机输出的数据的形式的说明图。图19是表示第2实施方式中,由计算机输出的数据形式的其它样态的 说明图。图20是表示第2实施方式的象素位置决定处理的流程的流程图。 图21是表示第3实施方式的图象印刷处理的流程的流程图。 图22是表示第3实施方式的大中小象点数据变换处理中参照的变换表 的示意图。图23 (a)、图23 (b)是表示在第3实施方式的个数数据生成处理中,由象点数据生成象点个数数据的情况的说明图。图24是表示第3实施方式的个数数据生成处理的流程的流程图。图25是表示参照抖动矩阵,决定形成各种象点的象素位置的情况的说明图。图26是为了将各种象点的个数数据编码化而参照的变换表的示意图。 图27是表示以在第3实施方式的个数数据生成处理中,不特定象素位置地求出象点个数的情况的说明图。图28是表示第3实施方式的象素位置决定处理的流程的流程图。图29是表示在第3实施方式的象素位置决定处理中,根据象点个数的数据决定象素位置的情况的说明图。图30是表示在第3实施方式的第1变形例的象素位置决定处理中参照的译码化表的示意图。: 图31是表示第3实施方式中的第1变形例的象素位置决定处理的流程 的流程图。图32是表示第3实施方式中的第2变形例的象素位置决定处理的流程 的流程图。图33是表示第3实施方式中的第2变形例的象素位置决定处理的流程 的流程图。图34 (a) 图34 (c)是表示在第3实施方式的第2变形例的象素位 置决定处理中,使用中间数据决定象点的种类的情况的示意图。图35是表示在第1变形例的图象印刷处理中进行的个数数据生成处理 的流程的流程图。图36是表示根据象素组内的平均灰度值,根本性地求出象点个数的情 况的示意图。图37是表示在第2变形例的图象印刷处理中进行的个数数据生成处理的流程的流程图。图38是表示在第3变形例的图象印刷处理中进行的象素位置决定处理 的流程的流程图。图39是表示存储多个象素组内的象素的序列的示意图。
具体实施方式
为了更明确地讲述本发明的作用、效果,下面,按照如下顺序讲述本 发明的实施方式。A、 实施方式的概要B、 第1实施方式 B—l、装置构成B — 2、图象印刷处理的概要 B — 3、第1实施方式的个数数据生成处理 B — 4、第1实施方式的象素位置决定处理 B — 5、变形例C、 第2实施方式C一l、第2实施方式的个数数据生成处理 C一2、第2实施方式的象素位置决定处理D、 第3实施方式D—l、第3实施方式的图象印刷处理概要 D — 2、第3实施方式的个数数据生成处理 D — 3、第3实施方式的象素位置决定处理D — 4、变形例E、 其它变形例A、实施方式的概要-在详细讲述实施方式之前,参照图l,讲述本发明的实施方式的概要。 图1是以印刷系统为例,讲述实施方式的概要的说明图。作为图象输出控制系统的印刷系统,由作为图象处理装置的计算机IO和作为图象输出装置 的打印机20等构成,将所定的程序,装入计算机IO,并使其执行后,计算机10及打印机20等就作为整体,作为一个印刷系统发挥作用。打印机20 通过在印刷媒体上形成象点,从而印刷图象。计算机10对要印刷的图象的 象素数据实施所定的图象处理,生成旨在控制打印机20在每个象素上形成 象点的数据,供给该打印机20。在这里,在通常的印刷系统中,计算机将图象数据变换成表示构成图 象的每个象素是否形成象点的的数据后,供给打印机,根据该数据形成象 点,从而印刷图象。在这里,要印刷的图象的象素数增多后,伴随着它, 表示每个象素是否形成象点的的数据的数据量也要增多,所以由计算机向 打印机供给数据就需要较长的时间,印刷所需的时间也要增加。考虑到这 一点,就在图1所示的计算机10中,设置象点个数决定模块和个数数据生 成模块,进行如下的处理。象点个数决定模块,对于构成图象的多个象素被按照所定多个归纳的 象素组,根据图象数据,决定该象素组内形成的象点个数。在这里,每个 象素组的个数数据,可以将图象数据归纳成象素组后,通过判断每个象素 组是否形成象点后生成。或者先将图象变换成的是否形成象点的表现形式 后,将象素归纳为所定的多个,生成象素组,决定各象素组内形成的象点 个数。此外,作为象素组归纳的多个象素,不是相互邻接的象素也行。另 外,个数数据生成模块,将每个象素组决定的象点个数的数据,向打印机 20供给。在图l所示的打印机20中,设置着序列存储模块、象素位置决定模块 和象点形成模块。在序列存储模块中,存储着多个在象素组内各象素中形 成有象点的象素的序列。象素位置决定模块, 一边参照序列存储模块,一 边按照下述方式决定每个象素组中应当形成象点的象素位置。首先,接收 一个象素组的个数数据后,从序列存储模块存储的多个序列中选择1个序 列。然后,按照选择的序列,从构成象素组的多个象素中,将个数数据指 定的个数的象素,作为应该形成象点的象素选择。这样,象素位置决定模 块接收个数数据后,给各象素组选择序列,决定形成象点的象素位置。象 点形成模块,在这样决定的象素上形成象点。其结果,就在印刷媒体上形成图象。这样,在图1所示的印刷系统中,在由计算机10向打印机20供给表 示是否形成象点的数据之际,不是供给每个象素的数据,而是供给表示每 个象素组形成的象点的个数的数据。这样,与向每个象素供给是否形成象 点的情况相比,可以减少供给的数据量。因此,例如,在象素包含的象素数增加时,也能由计算机10向打印机20迅速供给数据,迅速印刷图象。下面,以这种印刷系统为例,详细讲述各种实施方式。B、第1实施方式 B—l、装置构成图2是表示作为本实施方式的图象处理装置的计算机100的结构的说 明图。计算机IOO,是以CPU102为中心,用总线116将ROM104及RAM106等连接而成的众所周知的计算机。' 计算机100,与旨在读取软盘124及小型盘126等中的数据的盘控制器 DDC109、旨在与外围设备进行数据交换的外围设备接口 PIF108以及旨在 驱动CRTU4的视频接口 VIF112等连接。外围设备接口 PIF108,与后叙的 彩色打印机200以及硬盘118等连接。另外,如果将数码相机120及彩色 扫描器122等与PIF108连接,还可以印刷数码相机120及彩色扫描器122 获得的图象。而如果安装网络接口卡NICllO,就将计算机IOO与通信线路 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印刷彩色图象。此外,从各色的墨水喷出头喷出墨滴的方法,可以采用各种方法。艮P: 可以采用使用压电元件喷出墨水的方式,以及用配置在墨水通路上的加热 器使墨水通路内起泡(泡沫)后喷出墨滴的方法等。另外,还可以取代喷 出墨水,使用利用热复制等的现象在印刷用纸上形成墨点的方式,以及利 用静电使各色的墨粉附着在印刷媒体上的方式的打印机。具有上述硬件结构的彩色打印机200,通过驱动托架电动机230,使喷 出各种颜色的墨水喷出头244 247对印刷用纸P而言,沿着主扫描方向移 动;还通过驱动给纸电动机235,使印刷用纸P沿着副扫描方向移动。控制 电路260按照印刷数据, 一边使托架240反复进行主扫描及副扫描, 一边 在适当的时候驱动喷嘴喷出墨水,这样彩色打印机200就在印刷用纸上印 刷彩色图象。B—2、图象印刷处理的概要图5是表示本实施方式的计算机100及彩色打印机200对图象数据实 施所定的图象处理后,在印刷媒体上印刷图象的处理的流程的流程图。该 图象印刷处理,正如后文所述,前半部分利用计算机IOO内置的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进行印刷的析象 度(印刷析象度)的处理。如前所述,为了提高印刷图象质量,将象素变 小,以更高的析象度印刷是非常有效的。可是,在提高印刷析象度的时候, 未必需要提高原来的图象数据的析象度。因为形成象点、印刷图象时,每 个象素只能在是否形成象点上二者择一,即使改变了象点的大小等,每个 象素所能表现的灰度数也顶多不过几灰度。与此不同,读入的图象数据, 即使是l个字节的数据,每个象素也能表现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,接受由计算机IOO供给的象 点个数的数据后,开始象素位置决定处理(步骤S108)。在这里,进行如下 处理。如前所述,计算机100取代表示各象素是否形成象点的数据,供给 表示象素组内形成的象点的个数的数据。因此,在象素位置决定处理中, 根据各象素组接受的象点个数的数据,进行决定象素组内形成象点的象素 位置的处理。关于象素位置决定处理的详细过程,将在后文讲述。这样,在决定应当形成象点的象素位置后,就在决定的象素位置进行 形成象点的处理(步骤S10)。就是说,如使用图3进行的讲述那样, 一边 使托架240反复进行主扫描和副扫描, 一边驱动喷墨头喷出墨滴,从而在 印刷用纸上形成墨点。这样,通过形成象点,就印刷出与图象数据对应的 图象。B — 3、第1实施方式的个数数据生成处理图7是表示第1实施方式的个数数据生成处理的流程的流程图。下面, 参照流程图,详细讲述个数数据生成处理的内容。开始个数数据生成处理后,首先,归纳所定的多个象素,生成象素组 (步骤S200)。在这里,由于在析象度变换处理中将1个象素分割成8个象 素,所以就将分割同一象素后得到的8个象素作为象素组归纳。例如,在 图6 (a)中左上角的象素,在图6 (b)中,被分割成位于左上方的纵2歹J、 横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)是对图象数据实施上述个数数据生成处理后得到的数据的概 念性的说明图。图中示出的多个矩阵,分别表示象素组,象素组内表示的 数值,表示存储该象素组内形成的象点个数的情况。在本实施方式中,计 算机IOO将颜色变换后的图象数据变换成图10 (a)所示的那种数据后,只 将各象素组存储的个数的数据向打印机200输出。这样,只输出个数的数 据后,与输出表示各象素是否形成象点的数据相比,数据量减少,所以能 够迅速输出。关于这一点,再予以补充说明。图10 (b)是表示对象素组内的各象素判断是否形成象点的情况的说明 图。图10 (b)中的细虚线,表示象素组由多个象素构成的情况,带斜线的 象素,表示判断该象素形成象点。现在,假设由计算机100向打印机200输出图10 (b)所示的状态的数 据,即输出表示各象素是否形成象点的数据。象点的种类,假设是1种, 各象素只能成为形成或不形成象点中的某一种状态,所以每个象素的数据 量,用1比特就足够。由于象素组用8个象素构成,所以应该向打印机200 输出的数据量,每个象素组就成为8比特。与此不同,象本实施方式这样,输出各象素组形成的象点的个数时, 由于l个象素组内形成的象点的个数,只能成为0 8的值,所以每个象素 组只要有4比特,就能够表现象点的个数。就是说,与输出表示每个象素 是否形成象点的数据时相比,可以使数据量减少一半。因此,通过输出各 象素组形成的象点的个数,就可以将数据迅速向打印机200输出。这样由 计算机100传输的数据,在打印机200中,经过下文讲述的象素位置决定 处理,变换成表示每个象素是否形成象点的数据。下面,讲述象素位置决 定处理。B—4、第1实施方式的象素位置决定处理图11是表示第1实施方式的在图象印刷处理中进行的象素位置决定处 理的流程的流程图。该处理,打印机200的控制电路260内置的CPU,接 受由计算机100传输来的表示各象素组的象点个数的数据后实施。另外, 图12是概念性地示出表示各象素组的象点个数的数据经过象素位置决定处理后变换成表示每个象素是否形成象点的数据的情况的说明图。下面,参 照图11及图12,讲述象素位置决定处理的内容。开始象素位置决定处理后,首先,选择1个作为处理对象的象素组(图11的步骤S300),取得该象素组形成的象点个数(步骤S302)。在图12 (a) 中,概念性地示出由计算机IOO给各象素组传输来的表示象点个数的数据。 作为决定象素位置的象素组,在这里,选择图中左上角的象素组。在图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、变形例在上述第l实施方式中,存在各种变形。下面,简单讲述这些变形。(1)第l变形例正如使用图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 (b))。观察图 象数据的左上角的象素组后,可知该象素组内所有的象素的灰度值都成为 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,可以说是比较小的值。因此,将该灰度值,从小的 临界值开始,依次比较大小。就是说,首先,和最小的临界值"l"比较。 ,然,灰度值"97"大,所以再与相邻存储的一个较大的临界值"42"比 fe。这次也因为灰度值"97"大,所以再与相邻的临界值"58"比较。这 样,将灰度值从小的一侧的临界值依次比较下去。然后,在和临界值"109" 比较时,才判断灰度值"97"小。因为组内的临界值是按照大小顺序存储 的,所以一旦判断灰度值小后,就可以知道以后的临界值都比灰度值大, 没有必要再一一比较。因此,尽管各象素组存储着8个临界值,但对该象 素组只比较4个临界值,就能够决定象点个数。
毫无疑问,图象数据的灰度值是比较大的值时,从较大一侧的临界值 开始比较好。例如,在上述的说明中,假设临界值是"200",从最大的临 界值"255"开始,只要再和其相邻的临界值"212",进而再和其相邻的临 界值"177"等3个临界值比较,就能决定该象素组应该形成的象点个数。 这样,如果按照大小顺序存储与象素组对应附加的临界值,就能迅速决定 象素组内应该形成的象点个数。 (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)中带斜线的象素,表示形成象 点。
图15是表示上述第2变形例的象素位置决定处理、即参照序列矩阵决 定象素位置的处理的流程的流程图。下面,按照流程图简单讲述。使用序 列矩阵决定象素位置时,也首先选择1个要决定象素位置的象素组(步骤 S350)。
接着,取得选择的象素组的象点个数的数据(步骤S352)。在这里,仿 照图14的讲述,选择左上角的象素组,作为象素组形成的象点个数,取得 "3"。
接着,从象素组中选择1个作为判断对象的象素后(步骤S354),参照 i^列矩阵,从而取得判断对象的象素中形成象点的顺序号(步骤S356)。例 如,在这里,因为选择的象素组在图象中是左上角的象素组,所以作为判 断对象的象素如果是象素组中左上角的象素,那么参照图14 (a)所示的序列矩阵,就可以知道判断对象的象素在象素组中第l个形成象点。就是说, 该象素的顺序号成为"1"号。另外,其右邻的象素,顺序号成为"6"号。
在图15的步骤S356中,就这样参照序列矩阵,取得作为判断对象的象素
的顺序号
接着,比较取得的象素的顺序号和象素组的象点个数(步骤S358)。然 后,判断象点个数大于象素的顺序号时(步骤S358: yes),就断定在作为 判断对象的象素中形成象点(步骤S360)。反之,判断象点个数小于象素的 顺序号时(步骤S358: no),则断定在该象素中不形成象点(步骤S362)。
这样,对一个象素判断是否形成象点后,判断对选择的象素组内的所 有的象素是否结束了处理(步骤S364)。然后,象素组内还有未处理的象素 时(步骤S364: no),就返回步骤S354,选择新的象素后,进行上述一系 列的处理。反复进行这样的处理,判断象素组内的所有的象素是否形成象 点后(步骤S364: yes),就决定了该象素组形成象点的象素位置。于是, 再判断对所有的象素组是否决定了形成象点的象素位置(步骤S366)。然后, 还有未处理的象素组时(步骤S364: no),就返回步骤S350,选择新的象 素组,进行上述一系列的处理。反复进行这样的处理,判断对象素组的处 理结束后(步骤S366: yes),就结束图15所示的第2变形例的象素位置决 定处理。
这样,根据象素组内各象素中形成有象点的序列,决定象素位置后, 比较象素的顺序号和象点个数,只要选择象素的顺序号小于象点个数的象 素,就能决定形成象点的象素位置。就是说,不需要一面计算选择的象素 的个数, 一面选择象点个数表示的数的象素,所以能够简便地决定象素位置。
另外,序列矩阵存储的数值(即象素的顺序号)顶多只能获得1个象 素组包含的象素的数量,是比抖动矩阵存储的临界值小的数值。因此,序 列矩阵能够以比抖动矩阵小得多的容量存储。由于进行象素位置决定处理 的打印机,往往没有搭载足够大的存储容量,所以如果使用序列矩阵决定 象素位置,还可以得到能够节约打印机的存储容量的优点。
此外,图14 (a)所示的序列矩阵,成为与在个数数据生成处理中为了 判断各象素是否形成象点而参照的抖动矩阵对应的矩阵。就是说,在对第1实施方式的象素位置决定处理的讲述中说过,在抖动矩阵中设定的临界值, 可以认为表示象点形成的序列。而在图14 (a)的序列矩阵中设定的序列, 对于象素组内的各象素来说,成为与取决于抖动矩阵的序列相同的序列。 这样,如果将序列矩阵,作为与在个数数据生成处理中参照的抖动矩阵对 应的矩阵,那么即使使用序列矩阵时,也能适当决定象素位置。实际上, 比较图14 (C)和图10 (b)后可知参照序列矩阵决定的象素位置,和判 断各象素是否形成象点后求出的象素位置一致,象素位置被适当地决定。 关于这一点,有若干补充。在前文讲述的个数数据生成处理中,只要 知道象素组内形成的象点个数即可,象素位置的信息、即有关各象点在象 素组内的哪个象素中形成的信息,是不需要的信息。与此对应,在个数数 据生成处理中,可以取代抖动矩阵,使用简易抖动矩阵求出象点个数。换 言之,如果使用抖动矩阵,不仅能决定象素组内形成的象点个数,而且连 形成各象点的象素位置也能决定,但是由于在个数数据生成处理中,象素 位置的信息是不需要的信息,所以可以使用从抖动矩阵中省略决定象素位 置的信息后的简略化的简易抖动矩阵。
另一方面,在象素位置决定处理中,将提供象素组形成的象点个数的 信息作为前提,只要能够决定应该形成这些象点的象素位置即可。与此对 应,在象素位置决定处理中,可以取代抖动矩阵,使用序列矩阵决定象素 位置。换言之,可以使用从抖动矩阵中省略决定象素组内形成的象点个数 的信息后的简略化的序列矩阵。
而且,这些简易抖动矩阵及序列矩阵,虽然各自包含的信息少于抖动 矩阵,但将它们合在一起后,却成为能够获得和抖动矩阵同等信息的矩阵。 所以,无论哪种特性的抖动矩阵,都能生成对应的简易抖动矩阵及序列矩 阵,使用简易抖动矩阵生成个数数据后,再使用序列矩阵决定象素位置, 从而成为和使用原来的抖动矩阵时完全相同的特性,可以产生象点。
C、第2实施方式
在以上讲述的第1实施方式中,对将1个象素分割成多个象素,并将 同一个象素分割成的那些象素作为象素组归纳的情况进行了讲述。将1个 象素分割成多个象素,例如,在要用比输入的图象数据高的析象度印刷图 象等时容易发生。在这种第1实施方式中,作为象素组归纳的各象素,具有相同的灰度值。可是,本发明还能适用于象素组内的各象素,具有不同 的灰度值时。例如,将印刷析象度设定成和输入的图象数据相同的析象度, 在1个象素组中,包含图象数据的多个象素时,容易产生象素组内的各象 素灰度值不同的情况。另外,为了用比输入的图象数据高的析象度印刷图 象而生成新的象素时,通过插补运算决定新生成的象素的灰度值时,象素 组内的各象素,灰度值成为不同的值。进而,印刷析象度只比图象数据的 析象度略高一点时,即使分割1个象素,生成多个新的象素,也可以认为 在1个象素组内包含由不同的象素生成的象素。这时,象素组内的各象素 也不局限于具有相同的灰度值。下面,作为第2实施方式,对在这种情况 下应用本发明的实施方式进行讲述。
C一l、第2实施方式的个数数据生成处理
图16是表示第2实施方式的个数数据生成处理的流程的流程图。该处 理也和前文讲过的第1实施方式的个数数据生成处理一样,是在图5所示
图象印刷处理中由计算机100的CPU实施的处理。
在第2实施方式的个数数据生成处理中,也首先归纳所定的多个象素, 生成象素组(步骤S400)。在这里,仿照第l实施方式,归纳纵2列、横4 列的8个象素,生成象素组。毫无疑问,作为象素组的归纳方法,并不局 限于这种归纳方法。可以采用各种方法归纳。
接着,判断象素组内是否包含边缘(步骤S402)。在本实施方式中,在 m素组包含的多个象素中,最大的灰度值和最小的灰度值的灰度差为所定 j直以上时,就断定是该象素组内包含边缘。毫无疑问,边缘的检出方法, 不限于这种方法,可以采用各种方法。
然后,断定象素组不包含边缘(步骤S402: no)时,计算出象素组的 平均灰度值,用平均灰度值置换各象素的灰度值(步骤S404)。其结果,象 素组内的各象素成为相同的灰度值,所以可以使用和前文讲过的第1实施 方式同样的方法,决定象素组内形成的象点个数。
图17是表示判断象素组内有无边缘、断定没有边缘时,用平均灰度值 置换象素组内各象素的灰度值的情况的说明图。在图17 (a)中,示出象素 组内各象素的灰度值。在图中左上角的象素组,最大灰度值和最小灰度值 分别是灰度值100和灰度值97,其灰度差是3,成为比较小的值。与此不同,位于该象素组的右下方的象素组,最大灰度值是32,最小灰度值是99,
灰度差高达33。于是,设定适当的临界值(例如灰度值20),象素组内的
灰度差大于临界值时,就断定包含边缘。反之,象素组内的灰度差小于临 界值时,则断定不包含边缘,计算出象素组内的平均灰度值,用平均灰度 值置换所有的象素的灰度值。
图17 (b)是表示这样判断象素组不包含边缘时,用平均灰度值置换象 素组内各象素的灰度值的情况。在图示的例子中,左上角的象素组及其右 邻或下方的象素组,灰度差都很小,所以象素组内所有的象素,被分别用 平均灰度值99、 103、 94置换。这种象素的灰度值被用平均灰度值置换的 象素组,因为象素组内的各象素成为完全相同的灰度值,所以可以和前文 讲过的第1实施方式一样,决定象素组内应该形成的象点个数(图16的步 骤S406)。
与此不同,右下方的象素组,灰度差高达33,被认为包含边缘,所以 不进行这种灰度值置换。对于这种象素组, 一边比较象素的灰度值和抖动 矩阵的临界值,以便判断各象素是否形成象点(参照图9),存储对各象素 的判断结果(图16的步骤S408)。
这样,对一个象素组的处理结束后,判断图象数据中的所有的象素的 处理是否结束(步骤S410)。还有未处理的象素时(步骤S410: no),就返 回步骤S400,生成新的象素组,继续反复进行一系列的处理。这样,将所 有的象素,作为象素组归纳,结束上述处理后步骤S410: yes),对不包含 边缘的象素组将步骤S406存储的象点个数,对包含边缘的象素组则将步骤 S408存储的各象素是否形成象点向打印机200输出(步骤S412)。其结果, 象素组的象点个数的数据,和表示象素组内各象素是否形成象点的数据, 就以混在一起的状态向打印机200输出。在第2实施方式的个数数据生成 处理中,为了一边区别象点个数的数据和表示各象素是否形成象点的数据 一边输出,所以用下述形态输出这些数据。
图18是表示第2实施方式中,由计算机100向打印机200输出的数据 的形成的说明图。输出象素组形成的象点个数时,如图18 (a)所示,平均 每个象素组输出4比特的数据。在这里,由于1个象素组采用8个象素构 成,所以象点个数只能取0 8的值,有4比特就能表现象点个数。另一方面,不是输出象点个数,而是输出各象素是否形成象点时,就用图18 (b) 所示的形成输出数据。就是说,在起初的4比特中,设定9 15中的某一
个值(在图18 (b)的例示中,设定为"9"),在随后的8比特的数据中, 设定各象素是否形成象点。因为象点个数只能取0 8的值,所以前头的4 比特的数据成为9以上的值时,随后的8比特的数据就可以解释为不是表 示象点个数,而是表示各象素是否形成象点。然后,如果将各比特例如按 照图18 (c)所示的那种顺序号与各象素一一对应,就能输出表示象素组内 是否形成象点的数据。用这种图18所示的形式输出数据时,对于不包含边 缘的象素组,作为4比特的数据向打印机200传输;对于包含边缘的象素 组,则作为12比特的数据传输。
毫无疑问,将象点个数的数据和表示各象素是否形成象点的数据混在 一起后输出方法,并不局限于这种方法,例如,还可以附加识别用的比特。 例如,就象图19中的符号(a)所示,识别用的比特为"0"时,断定随后 的4比特的数据是表示象点个数的数据。另外,就象图19中的符号(b) 所示,识别用的比特为"1"时,可以断定随后的8比特的数据是表示各象 素是否形成象点的数据。这样输出数据时,对于不包含边缘的象素组,就 作为5比特的数据向打印机200传输;对于包含边缘的象素组,则作为9 比特的数据传输。
比较图18的传输方法和图19的传输方法的数据传输量,可知对于 不包含边缘的象素组,采用图18的方法,数据传输量比采用图19的方法 减少。可是,对于包含边缘的象素组,却反而是釆用图19的方法能够减少 数据传输量。因此,象素组中包含边缘的比例大时,可以采用使用识别用 比特的图19的方法传输数据;反之,包含边缘的比例小时,则可以采用图 18的方法传输数据。通常,象素组中包含边缘的比例不那么大,所以采用 图18的方法可以迅速传输数据。
在图16的步骤S412中,如上所述,象素组的象点个数的数据,和表 示各象素是否形成象点的数据,以混在一起的状态向打印机200输出。这 样,输出所有的象素组的数据后,就结束图16所示的第2实施方式的个数 数据生成处理,返回图象印刷处理。
C一2、第2实施方式的象素位置决定处理如前所述,在第2实施方式中,象点个数的数据和表示每个象素是否 形成象点的数据,同时由计算机100发送过来,所以在打印机200中,就 按照下述方式决定形成象点的象素位置。此外,在以下的讲述中,采用图
18所示的方法传输数据。
图20是表示在第2实施方式中决定形成象点的象素位置的处理流程的 流程图。开始处理后,首先读入前4比特的数据(步骤S500)。然后,判断 读入的数据是不是9以上(步骤S502)。如前所述,在这里,象素组包含的 象素数是8个,象点个数只能取0 8的值。因此,如果读入的数据是9以 上的值,就可以认为该数据不表示象点个数,而是表示后面的数据是表示 各象素是否形成象点的数据。反之,如果读入的数据是0 8的值,就可以 认为该数据是表示象素组形成的象点个数的数据。
因此,判断读入的数据是不是9以上,不是9以上时(步骤S502: no), k读入的数据理解为象点个数的数据,和上述第1实施方式一样,决定象 素组内形成象点的象素位置(步骤S504)。
另一方面,读入的数据是9以上时(步骤S502: yes),读入随后的8 比特的数据,将该数据理解为表示各象素是否形成象点的数据,从而决定 形成象点的象素位置(步骤S506)。
这样,对一个象素组决定形成象点的象素位置后,判断所有的象素组 的处理是否结束(步骤S508)。还有未处理的象素组时,就返回步骤S500, 继续进行一系列的处理。这样,反复进行上述处理,直到对所有的象素组 决定象素位置为止,对所有的象素组的处理结束后,就结束图20所示的第 2实施方式的象素位置决定处理,返回图象印刷处理。
采用进行图16 图19所示的个数数据生成处理及图20所示的象素位 置决定处理的第2实施方式的图象印刷处理后,在象素组内各象素的灰度 值不是相同值时,也能对不包含边缘的象素组传输表示象点个数的数据, 所以能够迅速地向打印机200传输数据,迅速印刷图象。
另外,在第2实施方式的图象印刷处理中,因为对包含边缘的象素组 传输表示各象素是否形成象点的数据,所以包含边缘的象素组的比例越大, 向打印机200传输数据所需的时间就越长。因此,提高检出有无边缘的判 定基准后,就不容易检出边缘,从而使向打印机200传输数据所需的时间变短,进而可以迅速印刷图象。然而,另一方面,对于没有检出边缘的象 素组,由于象素组内的各象素的灰度值被平均灰度值置换,所以为了縮短 ,据传输时间而将边缘判定基准提得过于高后(不容易检出边缘后),就有 可能使印刷图象质量下降。
可是,印刷图象质量要求高的图象,通常将印刷析象度设定成高于输 入的图象数据的析象度。因为变换成高析象度,所以在析象度变换处理中 (图5的步骤S104)分割象素、生成新的象素时,或者进行插补运算生成 新的象素时,在大多数象素组中,灰度值都是稍微变化。因此,对于印刷 图象质量要求高的图象,在大多数情况下,不提高边缘判定基准也能在大 部分的象素组中检测不到边缘,可以在维持高图象质量的前题下迅速传输 数据。
另一方面,印刷析象度和输入的图象数据的析象度是相同程度的低析
象度时,象素组中检出边缘的比例就增大。所以,为了縮短向打印机200 传输数据所需的时间,就需要提高判定基准,使边缘不容易检测到。可是, 在这种将印刷析象度设定成比较低的值时,往往重视图象质量,而不要求 迅速的印刷,所以即使提高边缘的判定基准,也不会出现图象质量下降的 问题。
D、第3实施方式
以上讲述各种实施方式,对一个个象素只能表现与形成象点的状态或 不形成象点的状态对应的2个灰度值的情况进行了讲述。可是,在打印机 中,有的打印机,可以通过改变形成的象点的大小,或改变为了形成象点 而使用的墨水的浓度,从而使一个个象素能够单独表现更多的灰度值。本 发明对这种所谓多值打印机也能够有效地适用。下面,讲述将本发明用于 多值打印机的第3实施方式。
D—l、第3实施方式的图象印刷处理的概要
图21是表示第3实施方式的图象印刷处理的流程的流程图。第3实施 方式的图象印刷处理,与使用图5讲述的第1实施方式的图象印刷处理的 最大的不同之处是将颜色变换处理后的数据,变换成大中小象点的数据。 下面,以此差异为中心,讲述第3实施方式的图象印刷处理。此外,在这 里。对打印机200是可以改变象点大小的多值打印机的情况进行讲述。但毫无疑问,以下的讲述,对于不改变象点大小,而改变墨水的浓度的打印 机,以及可以同时改变象点大小和墨水的浓度的打印机,也能够同样适用。 在第3实施方式的图象印刷处理中,也和第1实施方式的图象印刷处 理一样,首先,读入应该变换的图象数据(步骤S600),对读入的图象数据
进行颜色变换处理(步骤S602)。经过颜色变换处理后,图象数据变换成由 C、 M、 Y、 K各种颜色的灰度值表现的灰度值数据。
在这里,在前文讲述的第1实施方式的打印机200中,不能改变象点 的大小,只能成为按照各种颜色形成象点或不形成象点中的某一个状态。 因此,根据颜色变换处理后的数据,立即判断各象素是否形成象点。与此 不同,在第3实施方式的打印机200中,可以改变象点的大小,形成大象 点、中象点、小象点等三种象点。因此,将颜色变换处理后获得的灰度数 据,先按照各种颜色变换成大象点用的数据、中象点用的数据和小象点用 的数据(步骤S604)。
由灰度数据向大象点、中象点、小象点的各个象点数据的变换,参照 图22所示的变换表进行。如图所示,在变换表中,与灰度数据对应,存储 着大象点数据、中象点数据和小象点数据,参照该变换表,变换颜色变换 后的灰度数据。
接着,对大象点数据、中象点数据和小象点数据的每一个数据进行析 象度变换处理(步骤S606)。析象度变换可以采用各种方法,但为了使讲述 简便,在这里,和第1实施方式一样,采用分割象素变换析象度的方法。 在分割后形成的新的象素中,设定和原来的象素的灰度值相同的灰度值。
这样,将析象度变换成印刷析象度后,进行个数数据生成处理(步骤 S608)。在第3实施方式中,打印机200可以形成大象点、中象点、小象点 等三种象点。与此对应,在个数数据生成处理中,生成这些各种象点的象 点个数的数据,将得到的象点个数数据向打印机200输出。
图23是表示在第3实施方式的个数数据生成处理中,由象点数据生成 象点个数数据的情况的说明图。图23 (a)是给作为象素组归纳的各象素, 设定大中小的各种象点的象点数据的情况的示意图。图中示出的实线矩阵, i、别表示象素组。象素组由多个象素构成,对各象素设定象点数据,但为 使图示简化,在图23中,省略了一个个象素的显示,取而代之的是作为给象素组设定象点数据的显示。例如,图23 (a)的左上角的象素组,显示
Data (L、 M、 S) = (2, 90, 32),表示给该象素组的各象素设定大象点的 象点数据"2"、中象点的象点数据"90"、小象点的象点数据"32"。毫无 疑问,正如在第1实施方式中也讲述的那样,构成象素组的所有象素具有 相同的灰度值时,也可以不进行析象度变换处理,在个数数据生成处理中, 实质地进行析象度变换。
在第3实施方式的个数数据生成处理中,对这些各种象点的象点数据, 通过后文讲述的处理,生成图23 (b)所示的象点个数数据。在图23 (b) 中,也和图23 (a) —样,实线的矩阵形表示象素组。
象素组由多个象素构成,但省略了一个个象素的显示,显示给象素组 生成象点个数的数据。例如,图23 (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实施方式的个数数据生成处理的内容。图24是表示第 3实施方式的个数数据生成处理的流程的流程图。该处理也由计算机100内 置的CPU实施
开始第3实施方式的个数数据生成处理后,CPU首先从图象数据中归 纳所定的多个象素,生成象素组(步骤S700)。在个数数据生成处理之前进 行的析象度变换处理(图21的步骤S606)中,和第1实施方式一样,分割 i素后生成新的象素,所以在这里也将分割同一象素后得到的多个象素作 为象素组归纳。接着,对象素组内的各象素,读入大象点、中象点、小象点的象点数 据(步骤S702)。此外,在这里,构成象素组的象素,都由相同的象素分割 后具有相同的灰度值,所以也可以不必对每个象素一一读入象点数据,而 对每个象素组读入一个象素的值即可。
, 这样,读入各种象点的象点数据后,参照抖动矩阵,判断是否形成大
象点、中象点、小象点(步骤S704)。图25是表示参照抖动矩阵,判断着 眼象素应该形成大象点、中象点、小象点中的哪一个象点的方法的说明图。 此外,在图25中,作为象点数据,使用图23 (a)所示的数据,作为抖动 矩阵,使用图8所示的矩阵。
图25表示对图象左上角的象素组,判断是否形成各种象点的情况。图 中,粗实线的矩形表示象素组,象素组被用细虚线划分,表示象素组由多 个象素构成。另外,象素中示出的数值,表示在抖动矩阵的对应位置上设 定的临界值的值。
开始判断是否形成象点后,首先,比较大象点的象点数据和抖动矩阵 设定的临界值,对象点数据大的象素,判断形成大象点。图25的符号(a), 表示这样对象素组内的各象素,判断是否形成大象点的情况。具体地说, 因为大象点的象点数据是"2",所以只有最左上角的灰度值是"l"的象素, 象点数据的值大,其余的象素都是抖动矩阵的临界值的值大。因此,在该 象素组中,只形成1个大象点。在图25的符号(a)中,给抖动矩阵的临 界值是"1"的象素附加细斜线,表示判断该象素形成大象点。
判断了是否形成大象点后,接着判断是否形成中象点。在对中象点进 行判断之际,将大象点的象点数据与中象点的象点数据相加,计算出中象 点用的中间数据。比较该中间数据和抖动矩阵设定的临界值。然后,将中 间数据大于临界值的象素,断定为形成中象点的象素。这时,对己经断定 形成大象点的象素,不进行是否形成中象点的判断。如果使用图25的符号 (b)具体讲述的话,因为大象点的象点数据是"2",中象点的象点数据是 "90",所以计算出中象点用的中间数据是"92"。但是,因为象素组中最 左上角的象素,已经断定形成大象点,所以不进行这一比较。然后,对于 抖动矩阵的临界值是"42"的象素和"58"的象素来说,由于中间数据大, 所以断定形成中象点。在图25的符号(b)中,给这些象素附加斜线,表示判断该象素形成中象点。
判断了是否形成中象点后,最后判断是否形成小象点。在对小象点进 行判断之际,将中象点用的中间数据与小象点的象点数据相加,计算出小 象点用的中间数据。对还没有断定形成象点的象素,比较该中间数据和抖 动矩阵设定的临界值。然后,将中间数据大的象素,断定为形成小象点的 象素。如果使用图25的符号(C)具体讲述的话,因为中象点用的中间数
据是"92",中象点的象点数据是"90",所以加上小象点的象点数据是"32", 计算出小象点用的中间数据是"124"。比较该中间数据和抖动矩阵设定的 临界值。然后,对于抖动矩阵的临界值是"109"的象素来说,.由于中间数 据大,所以断定该象素形成小象点。在图25的符号(c)中,给这些象素 附加粗斜线,表示判断该象素形成中象点。在图24的步骤S704中,就这 样对象素组内的各象素判断是否形成大象点、中象点、小象点。
判断是否形成各种象点后,存储该象素组应该形成的各种象点的个数 (步骤S706)。在图25的示例中,作为大象点、中象点、小象点的个数, 分别存储1个、2个、l个。
这样,将多个象素归纳为象素组,存储该象素组内应该形成的各种象 点的个数后,判断图象数据包含的所有的象素的处理是否结束(步骤S708), 还有未处理的象素时(步骤S708: no),就返回步骤S700,生成新的象素 组后,继续进行一系列的处理。这样,对所有的象素组的处理结束后(步 豳S708: yes),就将每个象素组存储该的各种象点的个数向打印机200输 出(步骤S710)。
在这里,为了进一步减少向打印机200输出的数据量,对各种象点的 个数数据,以下述编码化状态输出。
图26是为了将各种象点的个数数据编码化而参照的变换表的示意图。 在变换表中,按照大象点、中象点、小象点的各种象点个数的组合, 一个 一个地设定编码号。例如,大象点、中象点、小象点的任何一种的个数都 是0的组合,设定编码号为"0"。另外,大象点和中象点的个数是O个, 小象点的个数是"1"个的组合,设定编码号为"1"。
这样,将各种象点的个数变换成编码号后,向打印机200输出,就可 以减少数据量。关于其理由,下面讲述几个。在这里,因为将象素组作为由8个象素构成的,所以可以取得各种象点的最大个数是8个。这样,象 点个数的数据,对每种象点的种类来说,有4比特就足够。由于象点的种 类是3种,所以每个象素组必要的数据量就成为12比特。
与此不同,如图26所示,由于编码号只能取得0 164的值,所以编 码化后,每个象素组只要有8比特就足够。就是说,仅仅这样就可以使数 据量减少三分之一。
进而,在各种象点个数的组合中,还包含许多在实际印刷中不出现的 组合,对这些组合当然不需要设定编码号。这样,如果只给必要的组合设 定编码号,哪么每个象素组必要的数据量就会比8比特还少,所以可以使 数据量进一步减少。
在图24的步骤S710中,基于上述理由,将各种象点的个数的数据编 码化后向打印机200输出。这样,按照象素组以编码化的状态将各种象点 的个数向打印机200输出后,就结束第3实施方式的个数数据生成处理, 返回图21的图象印刷处理。
此外,在以上讲述的第3实施方式的个数数据生成处理中, 一边特点 象素一边判断是否形成各种象点。但向打印机200供给的信息,其只是象 点个数的信息,没有供给象素位置的信息。因此,可以和前文讲述的第1 实施方式的第1变形例一样(参照图13),不特定象素位置地求出象点个数。 图27是这种不特定象素位置地求出各种象点的象点个数的情况的示意图。
图27是表示以在图25的讲述中使用的象素组为例,不特定象素位置 地求出各种象点的象点个数的方法的说明图。对多种象点计算象点个数时, 也和计算单一的象点的象点个数一样,使用简易抖动矩阵。如前所述,所
谓简易抖动矩阵,是在抖动矩阵中与象素组内的各象素对应的临界值,被 作为不与各象素对应地按象素组归纳的临界值的组存储的矩阵。
例如,在图25所示的象素组中,与象素组内的各象素对应,设定抖动 矩阵的临界值。与此不同,在使用简易抖动矩阵的图27中,在象素组上设 定着这些临界值的组(255、 212、 177、 170、 109、 58、 42、 1}。下面,按 照图27,对不特定象素位置地求出各种象点的象点个数的方法进行讲述。
象点个数,按照先求出大象点的象点个数,再求出中象点的象点个数, 最后求出小象点的象点个数的顺序进行计算。图27的符号(a)表示求出大象点的象点个数的情况,图27的符号(b)表示求出中象点的象点个数
的情况,图27的符号(c)表示求出小象点的象点个数的情况,为了求出
大象点的象点个数,比较大象点的象点数据和给象素组设定的临界值的组。
然后,判断只有小于象点数据的临界值的个数形成大象点。在图27的符号 (a)所示的例子中,因为大象点的象点数据是"2",所以小于象点数据的 临界值只有l个,这样,可以求出大象点的象点个数是l个。在图27的符 号(a)中,给临界值"1"加上细斜线,就是表示断定该临界值形成大象点。
求出大象点的象点个数后,再将大象点的象点数据和中象点的象点数 据相加,求出中象点用的中间数据。然后,比较该中间数据和临界值的组, 判断只有小于中间数据的临界值的个数形成中象点。但是,不和已经判断 形成大象点的临界值比较。在图27的符号(b)所示的例子中,因为大象 点的象点数据是"2",中象点的象点数据是"90",所以求出中象点用的象 点数据是"92"。除了已经判断形成大象点的临界值"1"之外,小于该中 间数据"92"的临界值有2个。这样,可以求出该象素组形成的中象点的 个数是2个。在图27的符号(b)中,给临界值"42"和临界值"58"加 上斜线,就是表示断定这些临界值形成中象点。
求出中象点的象点个数后,再将中象点用的中间数据和小象点的象点 数据相加,求出小象点用的中间数据。然后,比较该中间数据和临界值的 组,从而求出小象点的象点个数。在图27的符号(c)所示的例子中,因 为中象点用的中间数据是"92",小象点的象点数据是"32",所以求出小 象点用的象点数据是"124"。在没有形成任何象点的临界值中,小于该中 间数据的临界值只有1个,所以可以判断该象素组形成的小象点的个数是1 个。在图27的符号(c)中,给临界值"109"加上斜线,就是表示断定该 临界值形成小象点。
这样,如果一面参照简易抖动矩阵, 一面计算各种象点的象点个数, 就能够不特定象素位置地计算象点个数。这样,只要将象点数据或中间数 据与临界值的组比较就能计算象点个数,而不需要与各元素设定的临界值 比较,所以可以迅速计算各种象点的象点个数的数据。
D—3、第3实施方式的象素位置决定处理如前所述,在第3实施方式的象素位置决定处理中,按各象素组求出 各种象点的象点个数后,将表示象点个数的数据向打印机200传输。
在打印机200中,接收传输来的数据,决定形成各种象点的象素位置
后,按照决定,在印刷用纸上形成各种象点,从而印刷图象。下面,讲述 根据表示象点个数的数据决定形成各种象点的象素位置的处理。
图28是表示第3实施方式的象素位置决定处理的流程的流程图。该处 理由打印机200的控制电路260内置的CPU实施。
开始第3实施方式的象素位置决定处理后,首先,选择要决定象素位 置的象素组(步骤S800),接着,从传输来的数据中取得选择的象素组的数 据(步骤S802)。在这里,如用图26讲述的那样,将象点个数的数据以编 码化的状态传输。因此,将编码化的数据译码成表示各种象点的象点个数 的数据(步骤S804)。
数据的译码化,从编码号的一侧起,参照图26所示的变换表进行。例 如,如果编码化的数据是"126",那么就可以由变换表中与编码号"162" 对应的象点个数,译码成大象点7个、中象点O个、小象点l个的象点个 数的数据。
这样得到各种象点的象点个数后,通过参照抖动矩阵,从而决定形成 各种象点的象素位置(步骤S806)。关于该处理,参照图29加以讲述。
图29是表示对某个象素组,给予各种象点的象点个数时, 一边参照抖 动矩阵, 一边决定形成这些象点的象素位置的情况的说明图。图中示出的 粗实线的矩线,表示象素组。划分象素组的细虚线,表示象素组由多个象 素构成。另外,象素中示出的数值,表示在与抖动矩阵对应位置上设定的 临界值。
此外,抖动矩阵使用和为了计算象点个数而使用的矩阵一样的矩阵。 现在,假设该象素组形成的各种象点的个数是大象点1个、中象点2 小、小象点1个后,首先决定形成大象点的象素位置。如前所述,抖动矩 阵的临界值,可以认为表示象点形成的难易,所以如果只形成l个大象点, 那就在设定的临界值最小的象素上形成。决定了大象点的象素位置后,接 着决定形成中象点的象素位置。中象点形成2个,而且临界值最小的象素 己经形成大象点,所以就判断在临界值第2小的象素和第3小的象素的2个象素中形成中象点。继中象点之后,决定小象点的象素位置。小象点只 形成1个,而且从临界值最小的象素到第3小的象素己经形成大象点或中 象点,所以就判断临界值第4小的象素形成小象点。
图29表示这样按照大象点、中象点、小象点的顺序,决定形成象点的 象素的情况。在图中,带细斜线的象素,表示判断形成大象点的象素;带 中等斜线的象素,表示判断形成中象点的象素;带粗斜线的象素,表示判 断形成小象点的象素。在图28的步骤S806中,就这样一边参照抖动矩阵, 一边决定形成各种象点的象素位置。
这样,对一个象素组决定形成各种象点的象素位置后,判断对计算机 100供给的所有的象素组的数据是否结束决定象素位置的处理(步骤S808)。 还有未处理的象素组时(步骤S808: no),就返回步骤S800,对新的象素 组继续反复进行一系列的处理。这样,判断对所有的象素组决定了象素位 置后(步骤S808: yes),就结束图28所示的象素位置决定处理,返回图象 印刷处理。在印刷纸上形成各种象点。其结果,就印刷出与图象数据对应 的图象。
打印机200是所谓多值打印机时,通过上述第3实施方式的图象印刷 处理,可以一边由计算机100向打印机200传输各种象点的象点个数,一 边印刷图象。这样,可以比供给表示各象素是否形成象点的数据更迅速地 供给,所以即使是象素数甚多的图象,也能迅速印刷图象。
D—4、变形例
在上述第3实施方式的象素位置决定处理中,也存在各种变形例。下 面,讲述这些变形例。 (1)第l变形例
在上述第3实施方式的象素位置决定处理中,讲述了将编码化的数据 译码化之际,译码成各种象点的象点个数的数据的情况。可是,如上所述, 因为按照大象点、中象点,小象点的顺序,决定象素位置,所以也可以不 是译码成各种象点的象点个数,而是译码成大象点的个数、大象点和中象 点的合计个数、大象点、中象点和小象点的合计个数。例如,在图29的例
示中,取代译码为(大象点l个、中象点2个、小象点1个},而译码 为(大象点1个、大象点+中象点3个、大象点+中象点+小象点4个}。
图30是表示为了进行这种译码而参照的译码化表的示意图。按照这种 形态译码后,可以迅速决定形成象点的象素位置。下面,讲述这种第1变 形例的象素位置决定处理。
图31是表示第3实施方式中的第1变形例的象素位置决定处理的流程 的流程图。下面,按照流程图进行讲述。开始第1变形例的象素位置决定 处理后,首先选择要决定象素位置的象素组,取得该象素组的个数数据(步 骤S830)。该个数数据,在前文讲述的个数数据生成处理中以编码化的状态 供给。
接着,参照图30所示的译码化表,将编码化的个数数据变换成大象点 的个数、大象点及中象点的个数的合计值、大象点和中象点及小象点的个 数的合计值。然后,将得到的大象点的个数作为大象点的临界值THL,大 象点及中象点的个数的合计值作为中象点的临界值THm,大象点和中象点 及小象点的个数的合计值作为小象点的临界值THs (步骤S832)。
取得各种象点的临界值后,从象素组中选择1个象素(步骤S834),接 着,参照序列矩阵,取得选择的象素的顺序号N (步骤S836)。然后,判断 象素的顺序号N和各种象点的临界值THL、 THm、 THs的大小关系(步骤 S838〉。其结果,如果象素的顺序号N小于大象点的临界值THL,就判断 该象素形成大象点(步骤S840)。象素的顺序号N虽然大于大象点的临界 值THL但是小于中象点的临界值THm时,就判断该象素形成中象点(步 骤S842)。象素的顺序号N虽然大于中象点的临界值THm但是小于小象点 的临界值THs时,就判断该象素形成小象点(步骤S844)。另外,象素的 顺序号N大于小象点的临界值THs时,就判断该象素不形成象点(步骤 S846)o
假如列举具体例子进行讲述的话,现在设大象点的临界值THL是2, 中象点的临界值THm是3,小象点的临界值THs是5。在该象素组中,由 于大象点只形成2个,所以大象点在最容易形成象点的象素(即象素的顺 序号为1号的象素)和仅次于它的容易形成象点的象素(即象素的顺序号 为2号的象素)中形成。这样,可以判断在象素的顺序号N小于大象点的 临界值THL的象素中形成大象点。另外,由于大象点的临界值THL是2、中象点的临界值THm是3,所以在该象素组中,只形成l个中象点。在这 里,象素的顺序号为1号和2号的象素,已经形成大象点,所以中象点就 在为第3个的象素中形成。因此,可以判断在象素的顺序号N大于大象点 的临界值THL、小于中象点的临界值THm的象素中形成中象点。同样,由 于在该象素组中,只形成2个小象点。所以,可以判断在象素的顺序号N 大于中象点的临界值THm小于小象点的临界值THs的象素中形成小象点。 然后,可以判断在象素的顺序号N大于小象点的临界值THs的象素中不形 成象点。
这样,对一个象素决定应该形成的象点的种类后,判断对选择的象素 组内的所有的象素是否决定了象点种类(步骤S848)。还有未处理的象素时 (步骤S848: no),就返回步骤S834,选择1个新象素,继续进行上述一 系列的处理。反复进行这种处理,对象素组内的所有的象素决定了象点种 类后(步骤S848: yes),就对该象素组决定形成各种象点的象素位置。于 是,判断对所有的象素组是否决定了象素位置(步骤S850)。还有未处理的 象素组时(步骤S850: no),就返回步骤S830,反复进行一系列的处理。 反复进行这种操作后,判断对所有的象素组决定了象素位置(步骤S850: yes),就结束图31所示的第1变形例的象素位置决定处理。
在以上讲述的第1变形例的象素位置决定处理中,在将编码化的数据 体码化之际,如图30所示,译码化成大象点的个数、大象点及中象点的个 数的合计值、大象点和中象点及小象点的个数的合计值。然后,将它们作 为临界值使用,判断象素的顺序与这些临界值的大小关系,从而可以立即 决定该象素应该形成的象点的种类。 (2)第2变形例
另外,如果在将编码化的数据译码化的形态上下功夫,不判断大小关 系,也能决定象素组内形成象点的象素位置。下面,讲述这种第2变形例。
图32是表示第3实施方式中的第2变形例的象素位置决定处理的流程 的流程图。在第2变形例的象素位置决定处理中,也在开始处理后,首先 选择要决定象素位置的象素组,取得该象素组的编码化的个数数据(步骤
接着,参照图33所示的译码化表,将编码化的个数数据译码化成中间数据。如图33所示,中间数据是8位的数字串,从低位一侧的位数起,依 次设定表示大象点的数字(在这里是"3")、表示中象点的数字(在这里是
"2")、表示小象点的数字(在这里是"l")、表示不形成象点的数字(在 这里是"0")。例如,大象点是1个、中象点是2个、小象点是3个时,最 低位的位数的数字就设定成表示大象点的数字"3",从低位起的第2及第3 的位数上设定表示中象点的数的"2",从低位起的第4 第6的位数上设定 表示小象点的数的"1",在剩下的位数上设定表示不形成象点的数字"0"。 结果,这时的中间数据成为图34 (a)所示的8位数的数字"00111223"。 反言之,这个中间数据成为表示大象点是l个、中象点是2个、小象点是3 个的组合。在图33中,设定着编码化的个数数据和这种中间数据的对应关 系。在图32的步骤S862中,参照这种对应关系,进行将编码化的个数数 据变换成中间数据的处理。此外,在这里,中间数据成为8位数的数据, 是对应于象素组包含的象素数是8个。所以,1个象素组包含的象素数是K 个时,中间数据就成为K位数的数据。
接着,从要决定象素位置的象素组中,选择1个作为对象的象素(步 骤S864),参照序列矩阵,取得选择的象素的顺序号N(步骤S866)。然后, 从刚才取得的中间数据的低位起,求出第N位数上设定的数字,与得到的 数字对应的象点,就在该象素上形成(步骤S868)。例如,假设象素组的中 间数据是如图34 (a)所示的数据,象素的顺序是第3,那么因为从低位数 起的第三位上设定的数字是"2",所以判断在该象素上形成中象点。图34
(b),是读出从低位数起的第三位上设定的数字后,决定在该象素上形成 中象点的情况的示意图。
这样,对从象素组内选择的一个象素决定象点的种类后,判断对象素 组内的所有的象素是否决定了象点种类(步骤S870)。还有未处理的象素时
(步骤S87(h no),就返回步骤S864,从象素组中选择1个新象素,进行 上述一系列的处理。反复进行这种处理,判断对象素组内的所有的象素决 定了象点种类后(步骤S870: yes),就对该象素组决定形成各种象点的象 素位置。于是,判断对所有的象素组是否决定了象素位置(步骤S872)。还 有未处理的象素组时(步骤S872: no),就返回步骤S860,选择新的象素 组,继续进行一系列的处理。反复进行这种操作后,判断对所有的象素组决定了象素位置(步骤S872: yes),就结束图32所示的第2变形例的象素 位置决定处理。
在以上讲述的第2变形例的象素位置决定处理中,将编码化的个数数 据译码化之际,变换成图33所示的那种表示象点的个数的中间数据,读出 相当于象素的顺序的位数上的数字,从而决定象点的种类。这样,采用从 中间数据读出相应位置设定的值这一极其简单的操作,就可以迅速决定象 点的种类。
另外,在第2变形例的象素位置决定处理中,和上述各种实施方式不 同,可以不进行条件判断地决定象点的种类。近几年来的计算机中,为了 实现处理的高速化,正在利用所谓流水线处理的技术。但另一方面,我们
知道对于包含条件分岔的处理,即使采用流水线处理的技术,也还有未
能提高处理速度,反而使处理速度下降的情况。在上述的第2变形例的象 素位置决定处理中,因为能够不进行条件判断地决定象点的种类,所以可 以使流水线处理的效果得到充分发挥,从这一观点上,可以说是适合高速 处理的处理。
此外,在以上的讲述中,讲述了从中间数据中,读出与象素的顺序对 应的位置设定的数字的情况。但也可以固定读出位置地使中间数据位移, 从而读出与象素的顺序对应的位置设定的数字。下面,使用图34的示例, 扭述这种方法。现在,设作为对象的象素的顺序是3号,那么该象素形成 的象点种类,就设定在从中间数据的低位起的第3位数上(参照图34 (b))。 于是,将中间数据向右位移2位数,生成图34 (c)所示的数据,读出最低 位的位数上设定的数字。如果作为对象的象素的顺序是N,那么将中间数 据向右位移N—1位数后,读出最低位的位数上的数字即可。这样,如果使 中间数据位移,就可以使读出数字的位置始终固定在相同的位置上。由于 使中间数据的位数位移的操作能够极其迅速地实施,所以固定读出数字的 位置后,就能更简便而且迅速地决定象点种类。
E、其它变形例
本发明除了上述的实施方式外,还存在各种变形例。下面,简单讲述 这些变形例。
(O第1变形例.-在上述的各种实施方式的个数数据生成处理中,使用所谓抖动法判断 是否形成象点。可是,只要按照图象数据的灰度值,就能成为适当密度地 求出象点个数,所以使用哪种手法也行。
例如,可以象图35所示的变形例的个数数据生成处理那样,计算出象 素组内的各象素的平均灰度值,根据该平均灰度值,根本性地求出象素组 内形成的象点个数。下面,按照图35的流程图,简单讲述。
开始个数数据生成处理后,首先将所定的多个象素作为象素组归纳(步
骤S900),计算出象素组内的各象素的平均灰度值(步骤S902),根据该平 均灰度值,根本性地求出象素组内形成的象点个数。就是说,如图36所示, 与平均灰度值对应,预先决定象素组内形成的象点个数,按照这种对应关 系,根据象素组的平均灰度值,决定象点个数。此外,在图36中,示出象 点种类为3种的情况,但象点种类不局限于3种。
接着,各象素组存储这样决定的象点个数后(步骤S906),判断对所有 的象素的处理是否结束(步骤S908)。然后,如果还有未处理的象素时,返 回步骤S900,继续反复进行一系列的处理。判断结束了所有的象素的处理 后,使用存储象点个数的图30,采用讲述的方法编码化后,将编码化的象 点个数的数据向打印机200输出(步骤S910)。
在打印机200中,接受由计算机100输出的象点个数的数据后,进行 前文讲述的象素位置决定处理,印刷图象。这样,因为能够简便地求出各 象素组的象点个数的数据,所以能够迅速输出象点个数的数据,进而能够 更迅速地印刷图象。
(2)第2变形例
在上述的各种实施方式的个数数据生成处理中,首先将多个象素作为 象素组归纳后,决定象素组内形成的象点个数。可是,还可以首先判断各 象素是否形成象点,然后将多个象素作为象素组归纳。
例如,在图37所示的变形例中,首先对图象数据采用所谓误差扩散法, 对所有的象素,判断是否形成象点(步骤S950)。然后,将所定的多个象素 作为象素组归纳(步骤S952),按象素组数着存储形成的象点个数(步骤 S954)。
各象素组存储这样决定的象点个数后,判断对所有的象素的处理是否结束(步骤S956),还有未处理的象素时,返回步骤S900,继续反复进行
一系列的处理。判断结束了所有的象素的处理后,将各象素组存储的象点
个数向打印机200输出(步骤S958)。
在打印机200中,接受由计算机100输出的象点个数的数据后,进行 前文讲述的象素位置决定处理,按象素组决定形成象点的象素位置。此外, 在图37所示的变形例中,根据误差扩散法求出象点个数,但这时也可以如 前所述,参照抖动矩阵决定象素位置。
另外,我们知道, 一般地说,使用误差扩散法判断是否形成象点时, 在象点的形成密度低的区域,可以获得杂波少的良好的图象质量。因此, 例如在印刷象点一个也不形成的许多象素组中形成象点的象素组稀疏分布 的那种象点密度低的图象时,根据误差扩散法,求出象素组的象点个数, 就可以使象点适当分布,得到高质量的图象。 (3)第3变形例
在以上讲述的各种实施方式中,讲述了根据抖动矩阵决定象素位置的 情况。 一边参照前文讲述的序列矩阵一边决定象素位置时,虽然不是直接 参照抖动矩阵,但因为序列矩阵是根据抖动矩阵生成的,所以可以认为是 间接性地根据抖动矩阵决定象素位置。可是,如果能够使用不同的序列给 每个象素组决定象素位置,就未必需要根据抖动矩阵决定。
例如,可以如图38的流程图所示,存储多个序列,从中给各象素选择 适当的序列,决定象素位置。下面,按照图38的流程图简单讲述。
打印机200的控制电路260内置的CPU,开始变形例的象素位置决定 处理后,首先选择要决定象素位置的象素组,取得该象素组的象点个数的 数据(步骤S970)。接着,从预先存储的多个序列中,任意选择一个序列(步 骤S972)。在控制电路260的ROM中,对象素组内的各象素,预先存储着 多个序列。图39是ROM存储的多个序列的示意图。在步骤S972中,从这 些序列中选择l个序列。
然后,参照选择的序列,决定象素组内形成象点的象素位置(步骤 S974)。这样,对一个象素组决定象素位置后,判断对所有的象素组的处理 是否结束(步骤S976),还有未处理的象素组时,就返回步骤S970,继续 进行一系列的处理,决定象素位置。然后,直到结束对所有的象素组的处理为止,反复进行上述处理。
这样做,也能根据各象素组的象点个数的数据,决定形成象点的象素 位置。另外,为了决定象素位置而参照的序列,几乎按照象素组选择不同 的序列,所以不存在用一个模式形成象点而引起图象质量恶化的危险。
以上,对各种实施方式进行了讲述。但本发明并不局限于以上那些实 施方式。在不违背其宗旨的范围内,可以用各种样态实施。
例如,可以将实现上述功能的软件程序(应用程序),通过通信线路, 供给计算机系统的主存储器或外部存储装置后实施。毫无疑问,还可以读 入CD — ROM及软盘存储的软件程序后实施。
另外,在以上的实施方式中,讲述了将本发明应用于在印刷用纸上形 成象点、印刷图象的打印机。但本发明的应用范围并不局限于打印机。例 如,在液晶显示画面上,以适当的密度使光亮点分散,从而表现灰度连续 变化的图象的液晶显示装置等中,也能恰当地使用本发明。
权利要求
1. 一种图象输出控制系统,其特征在于是包括对图象数据实施所定的图象处理的图象处理装置和根据该图象处理的结果形成象点、从而输出图象的图象输出装置的图象输出控制系统,所述图象处理装置,具有将构成所述图象的多个象素多个地归纳,生成象素组的象素组生成单元;至少对于多个该象素组来说,以使与所述象素组对应的图象数据和该象素组内应当形成的象点的个数的对应关系在该象素组的每一个中都互不同的状态,决定该象点的个数的象点个数决定单元;将按照所述各象素组决定的象点个数的数据,作为所述控制数据,供给所述图象输出装置的个数数据供给单元;所述图象输出装置,包括接受关于所述各象素组的象点个数的数据的个数数据接受单元;根据所述象点个数的数据,对在所述象素组内形成象点的象素位置按照该象素组的每一个进行决定的象素位置决定单元;根据所述决定的象素位置,形成象点的象点形成单元。
2、 如权利要求l所述的图象输出控制系统,其特征在于 所述序列特定单元,是从预先预备的多种序列中,给所述各象素组选择1个序列,从而特定该序列的单元。
3、 如权利要求l所述的图象输出控制系统,其特征在于 所述个数数据供给单元,具有以编码化的状态供给所述象点个数的数据的单元;所述个数数据接受单元,具有接受所述被编码化的象点个数的数据, 再译码成所述象素组内应该形成的象点的个数的单元;所述象素位置决定单元,是根据所述译码的象点个数的数据和所述选 择的序列,决定所述象素位置的单元。
4、 如权利要求l所述的图象输出控制系统,其特征在于所述象点个数决定单元,是根据给二维排列的每一个象素对应附加临 界值的抖动矩阵,决定所述象素组内应该形成的象点的个数的单元;所述序列选择单元,是在将决定所述象点个数使用的抖动矩阵,分割到多个象素组,根据 给该象素组内的各象素对应附加的临界值的大小关系,将给每个象素组决 定的象素的序列,作为所述多个序列进行存储的同时,还从根据抖动矩阵决定的多个序列中,选择与在所述图象上的象素组 的位置对应的l个序列的单元。
5、 一种图象输出控制方法,是对图象数据实施所定的图象处理,根 据得到的结果形成象点,从而输出图象的图象输出控制方法,其特征在于: 具有将构成所述图象的多个象素多个地归纳,生成象素组的第1工序;至少对于多个该象素组来说,以使与所述象素组对应的图象数据和该 象素组内应当形成的象点的个数的对应关系在该象素组的每一个中都互 不同的状态,决定该象点的个数的第2工序;根据该决定的象点的个数,对在所述象素组内形成象点的象素位置按 照该象素组的每一个进行决定的第3工序;根据所述决定的象素位置,形成象点的第4工序。
6、 如权利要求5所述的图象输出装置,其特征在于 所述序列特定单元,是从预先预备的多种序列中,给所述各象素组选择1个序列,从而特定该序列的单元。
7、 如权利要求5所述的图象输出装置,其特征在于 所述个数数据接受单元,具有以编码化的状态,接受所述象点个数的数据,再译码成所述象素组内应该形成的象点的个数的单元;所述象素位置决定单元,具有根据所述译码的象点个数的数据和所述 选择的序列,决定所述象素位置的单元。
8、 如权利要求5所述的图象输出装置,其特征在于所述个数数据接受单元,是接受由相互邻接、而且具有所定位置关系的多个象素构成的 象素组的所述象点个数的数据的单元。
9、 如权利要求5所述的图象输出装置,其特征在于所述序列选择单元,是在将所述多个序列,以该序列被以所定的顺序二维排列的序列矩阵 的形态存储的同时,还从所述序列矩阵存储的多个序列中,选择1个与在所述图象上的象 素组的位置对应的序列的单元。
10、 如权利要求5所述的图象输出装置,其特征在于-所述序列选择单元,是在将给二维排列的每一个象素对应附加了临界值的抖动矩阵,分割成多个所述象素组,根据给该象素组内的各象素对应 附加的临界值的大小关系,将给每个象素组决定的象素的序列,作为所述 序列矩阵存储的的单元。
11、 如权利要求5所述的图象输出装置,其特征在于 所述象素位置决定单元,具有根据所述选择的序列,给每个象素决定所述象素组内的各象素中形成有象点的顺序的顺序值的顺序值决定单元; 和根据所述象素组的象点个数的数据和所述顺序值,检出该象素组内形 成象点的象素位置的象素位置检出单元。
12、 如权利要求5所述的图象输出装置,其特征在于 所述象素位置决定单元,具有设所述象素组包含的象素数为N、该象素组形成的象点个数为M时, 根据所述象素组的象点个数的数据,生成由意味着形成象点的M个连续 的数据和意味着不形成象点的N—M个连续的数据构成的中间数据的中 间数据生成单元;和根据所述选择的序列,给每个象素决定所述象素组内的各象素中形成 有象点的顺序的顺序值的顺序值,再根据该顺序值,从所述中间数据中读 出符合的数据,从而检出该象素组内形成象点的象素位置的象素位置检出 单元。
13、 如权利要求5所述的图象输出装置,其特征在于 所述象素位置检出单元,是将所述中间数据,向意味着形成象点的数据被分配的方向,只位移相当于所述顺序值的个数的数据后,通过读出位 于该移动侧的端部的数据,从而检出所述象素位置的单元。
全文摘要
一种图象输出控制系统,包括对图象数据实施所定的图象处理的图象处理装置和根据该图象处理的结果形成象点、从而输出图象的图象输出装置,图象处理装置,具有对于构成图象的多个象素被按照多个归纳的象素组,根据图象数据,决定该象素组内形成的象点的个数的个数决定器;将按照各象素组决定的象点个数的数据,供给图象输出装置的数据传送器;图象输出装置,包括接受关于各象素组的象点个数的数据的数据接受器;给每个象素组选择在象素组内各象素中形成有象点的象素的序列的选择器;根据象点个数的数据和选择的序列,对在象素组内形成象点的象素位置按照该象素组的每一个进行决定的运算器;根据决定的象素位置形成象点的象点形成器。
文档编号H04N1/41GK101299796SQ200810108248
公开日2008年11月5日 申请日期2004年3月29日 优先权日2003年3月27日
发明者角谷繁明 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1