发明内容
针对上述存在的问题,本发明提供一种打印处理方法和装置,用以提高打印处理速率。
本发明提供了一种打印处理方法,包括:
接收待打印数据,所述待打印数据为一线数据;
对所述待打印数据进行复制,并分别将每份待打印数据存入对应的缓冲区中,生成每个缓冲区对应的存储索引表,每个存储索引表中记录有所述待打印数据中各像素数据的存储索引;其中,经复制后的待打印数据的数量与预划分得到的子喷头的数量相等,每个子喷头中包含的喷嘴属于初始喷头的全部喷嘴中的部分喷嘴,各子喷头与各缓冲区一一对应;
根据每个子喷头的映射表中所描述的子喷头中各喷嘴的位置排列结构与子喷头中各喷嘴对应的像素数据标识间的对应关系,以及每个子喷头对应的缓冲区的存储索引表,分别从每个子喷头对应的缓冲区中逐排依次读取对应子喷头中各喷嘴对应的像素数据;
将读取到的像素数据分别发送至对应的喷嘴,控制各子喷头中各喷嘴打印所述待打印数据。
本发明提供了一种打印处理装置,包括:
接收模块,用于接收待打印数据,所述待打印数据为一线数据;
复制缓存模块,用于对所述待打印数据进行复制,并分别将每份待打印数据存入对应的缓冲区中,生成每个缓冲区对应的存储索引表,每个存储索引表中记录有所述待打印数据中各像素数据的存储索引;其中,经复制后的待打印数据的数量与预划分得到的子喷头的数量相等,每个子喷头中包含的喷嘴属于初始喷头的全部喷嘴中的部分喷嘴,各子喷头与各缓冲区一一对应;
数据读取模块,用于根据每个子喷头的映射表中所描述的子喷头中各喷嘴的位置排列结构与子喷头中各喷嘴对应的像素数据标识间的对应关系,以及每个子喷头对应的缓冲区的存储索引表,分别从每个子喷头对应的缓冲区中逐排依次读取对应子喷头中各喷嘴对应的像素数据;
打印控制模块,用于将读取到的像素数据分别发送至对应的喷嘴,控制各子喷头中各喷嘴打印所述待打印数据。
本发明提供的打印处理方法和装置,针对需要打印的一线数据,复制多份分别进行缓存,另外,针对初始喷头进行逻辑上的子喷头划分,每个子喷头对应于部分喷嘴。每个子喷头对应于一个缓冲区,即可以从每个子喷头对应的缓冲区中获取该子喷头的部分喷嘴所分别对应的像素数据。具体来说,对于划分获得的每个子喷头,形成一个描述有该子喷头中各喷嘴的位置排列结构与其中各喷嘴对应的像数据点标识间的对应关系的映射表,对于每个缓冲区,形成记录有待打印数据中各像素数据的存储索引的存储索引表,从而,可以并行从每个子喷头对应的缓冲区中,按照子喷头中各喷嘴的位置排列结构逐排依次读取各喷嘴对应的像素数据标识所代表的像素点数据。进而,将读取到的各像素数据分别发送至对应的喷嘴处,控制各喷嘴打印一线数据。通过对喷头进行子喷头的划分,对一线数据进行多份的复制、分别缓存,从而可以在每个时钟周期,并行读取多个像素数据,提高打印处理速率。
具体实施方式
图3为本发明打印处理方法实施例一的流程图,如图3所示,该方法包括如下步骤:
步骤101、接收待打印数据,所述待打印数据为一线数据。
由于需要打印的数据一般都是以一线数据为单位进行逐步打印的,一线数据中包括多个像素数据。因此,本实施例中,以待打印数据为一线数据为例进行说明。
步骤102、对所述待打印数据进行复制,并分别将每份待打印数据存入对应的缓冲区中,生成每个缓冲区对应的存储索引表。
其中,每个存储索引表中记录有所述待打印数据中各像素数据的存储索引。
其中,经复制后的待打印数据的数量与预划分得到的子喷头的数量相等,每个子喷头中包含的喷嘴属于初始喷头的全部喷嘴中的部分喷嘴,各子喷头与各缓冲区一一对应。
本实施例中,对接收到的待打印数据进行复制,复制后的待打印数据的份数与子喷头数量相等,每份待打印数据被分别存入到对应的缓冲区中,并生成每个缓冲区对应的存储索引表。其中,每个缓冲区对应的存储索引表中记录有待打印数据中各像素数据的存储索引,即记录有每个像素数据标识与其对应的存储位置的对应关系。由于缓冲区与子喷头一一对应,从而,在需要读取每个子喷头所对应的像素数据时,可以并行的从每个子喷头对应的缓冲区中读取。
本实施例中,以图1所示的现有技术中的一种喷头的喷嘴排列结构为基础,该喷头以下称为初始喷头,对该初始喷头预先进行子喷头的划分,每个子喷头对应与初始喷头的全部喷嘴中的部分喷嘴,且各子喷头对应的喷嘴之间不重叠。
下面结合图2所示出的一种子喷头的划分结果进行说明,在对初始喷头进行子喷头划分时,可以采用等间隔采样的方式,对初始喷头中全部喷嘴进行逐排划分,得到每个子喷头中的每排喷嘴,进而生成每个子喷头的映射表。
具体来说,图2中以奇偶采样方式对初始喷头进行子喷头划分,但是值得说明的是,还可以采用比如以相邻两个喷嘴为一组,进行等间隔采样的方式进行划分等待。
从图1中可知,初始喷头的全部喷嘴排列成多排多列的方阵结构,在进行子喷头划分时,根据初始喷头的全部喷嘴的排列结构,将每排喷嘴按照各喷嘴的位置,进行奇偶位置的拆分,奇数位置的喷嘴被划分对应到一个子喷头,偶数位置的喷嘴被划分对应到另一个子喷头。具体地,可以将初始喷头的一排喷嘴从左到右编号0,1,2..,n,其中,偶数喷嘴0,2,4..,2m组成子喷头1的一排喷嘴,奇数喷嘴1,3,5,2m+1/2m-1组成子喷头2的一排喷嘴。
划分完之后,生成每个子喷头对应的映射表,每个子喷头的映射表中描述了该子喷头中各喷嘴的位置排列结构与该子喷头中各喷嘴对应的像素点标识间的对应关系。以图2中子喷头1的最左上角的喷嘴为例,该喷嘴的位置标识为(y0,x0),像素数据标识为0,其右边的喷嘴的位置标识为(y0,x2),像素数据标识为64,以此类推,记录没有喷嘴的位置标识以及对应的像素数据标识,从而形成该子喷头1的映射表。可以理解的是,子喷头中各喷嘴的位置排列结构可以理解为各喷嘴的位置标识,只是该位置标识表示的是对应喷嘴在初始喷头中的排列位置。
步骤103、根据每个子喷头的映射表中所描述的子喷头中各喷嘴的位置排列结构与子喷头中各喷嘴对应的像素数据标识间的对应关系,以及每个子喷头对应的缓冲区的存储索引表,分别从每个子喷头对应的缓冲区中逐排依次读取对应子喷头中各喷嘴对应的像素数据。
步骤104、将读取到的像素数据分别发送至对应的喷嘴,控制各子喷头中各喷嘴打印所述待打印数据。
在将复制的每份待打印数据分别存储到对应的缓冲区,并生成每个缓冲区对应的存储索引表之后,可以根据每个子喷头的映射表中所描述的子喷头中各喷嘴的位置排列结构与子喷头中各喷嘴对应的像素点标识间的对应关系,以及每个子喷头对应的缓冲区的存储索引表,分别从每个子喷头对应的缓冲区中逐排依次读取对应子喷头中各喷嘴对应的像素数据。
具体来说,本实施例中,针对每个子喷头来说,根据其对应的映射表中所描述的各喷嘴的位置排列结构,逐排的读取每排喷嘴对应的像素数据,针对一排喷嘴来说,也是依次即从左到右按照位置顺序或者说案子像素数据标识顺序读取每个喷嘴的像素数据。具体地,对于子喷头1来说,其映射表中描述的第一排第一个位置处的像素数据标识为0,则根据该像素数据标识查询子喷头1对应的缓冲区的存储索引表1,从中查找到像素数据标识为0的像素数据的存储位置,从该存储位置读取像素数据。同时即并行的,对于子喷头2来说,其映射表中描述的第一排第一个位置处的像素数据标识为32,则根据该像素数据标识查询子喷头2对应的缓冲区的存储索引表2,从中查找到像素数据标识为32的像素数据的存储位置,从该存储位置读取像素数据。由于各子喷头数据读取的过程是并行的,因此,在图2所示的结构中,在一个时钟周期内,可以读取到两个像素数据,与图1所示结构中一个时钟周期仅能读取一个像素数据相比,速率提高了一倍。
进而,将读取到的每个像素数据发送至对应的喷嘴处,每个子喷头的喷嘴的像素数据读取完毕后,可以控制全部喷嘴进行一线数据的打印。
本实施例中,针对需要打印的一线数据,复制多份分别进行缓存,另外,针对初始喷头进行逻辑上的子喷头划分,每个子喷头对应于部分喷嘴。每个子喷头对应于一个缓冲区,即可以从每个子喷头对应的缓冲区中获取该子喷头的部分喷嘴所分别对应的像素数据。具体来说,对于划分获得的每个子喷头,形成一个描述有该子喷头中各喷嘴的位置排列结构与其中各喷嘴对应的像数据点标识间的对应关系的映射表,对于每个缓冲区,形成记录有待打印数据中各像素数据的存储索引的存储索引表,从而,可以并行从每个子喷头对应的缓冲区中,按照子喷头中各喷嘴的位置排列结构逐排依次读取各喷嘴对应的像素数据标识所代表的像素点数据。进而,将读取到的各像素数据分别发送至对应的喷嘴处,控制各喷嘴打印一线数据。通过对喷头进行子喷头的划分,对一线数据进行多份的复制、分别缓存,从而可以在每个时钟周期,并行读取多个像素数据,提高打印处理速率。
图4为本发明打印处理方法实施例二的流程图,如图4所示,在图3所示实施例的基础上,步骤104之前还包括如下步骤:
步骤201、根据初始喷头映射表中所描述的初始喷头中全部喷嘴的位置排列结构与初始喷头中各喷嘴对应的像素数据标识间的对应关系,从读取到的各子喷头中各喷嘴对应的像素数据中,逐排获取与初始喷头中的当前排中各喷嘴对应的像素数据。
相应的,步骤104变为:
步骤202、将获取的与初始喷头中的当前排中各喷嘴对应的像素数据分别发送至各对应喷嘴。
步骤203、根据所述初始喷头中全部喷嘴的位置排列结构,控制所述初始喷头逐排打印所述待打印数据。
本实施例中,对于初始喷头,预先形成该初始喷头映射表,该映射表中描述了将该初始喷头中包含的全部喷嘴的位置排列结构与全部喷嘴中每个喷嘴对应的像素数据标识间的对应关系。以图1所示的喷头为初始喷头的举例来说,初始喷头映射表中记录了第一排第一列的位置标识为(y0,x0),对应的像素数据标识为0,第一排第二列的位置标识为(y0,x1),对应的像素数据标识为21,以此类推,将每个喷嘴的位置和对应的像素数据进行记录。
对于图1所示实施例中通过步骤103分别从每个子喷头对应的缓冲区中逐排依次读取的对应子喷头中各喷嘴对应的像素数据,本实施例中,根据初始喷头映射表,逐排获取与初始喷头中的当前排中各喷嘴对应的像素数据。
具体来说,仅以初始喷头中的第一排喷嘴为例,第一排喷嘴中,第一个喷嘴对应的是像素数据0、第二个喷嘴对应像素数据32,以此类推,第166个喷嘴对应像素5280。在第一个时钟周期,针对子喷头1和子喷头2来说,分别读取到像素数据0和像素数据32,从而,根据像素数据0和像素数据32在初始喷头中的位置排列结构,将像素数据0发至第一个喷嘴,将像素数据32发至第二个喷嘴,在第二个时钟周期,针对子喷头1和子喷头2来说,分别读取到像素数据64和像素数据96,从而,根据像素数据64和像素数据96在初始喷头中的位置排列结构,将像素数据64发至第三个喷嘴,将像素数据96发至第四个喷嘴,以此类推,直至在第83个时钟周期,针对子喷头1和子喷头2来说,分别读取到像素数据5248和像素数据5280,从而,根据像素数据5248和像素数据5280在初始喷头中的位置排列结构,将像素数据5248发至第165个喷嘴,将像素数据5280发至第166个喷嘴,从而完成第一排喷嘴的数据读取、发送处理。进而,相似的,获取其他剩余各排的喷嘴的像素数据。
相应的,在控制打印的过程中,可以根据初始喷头中全部喷嘴的位置排列结构,控制一排排的喷嘴逐排打印对应的一排像素数据。
本实施例中,在根据各子喷头的映射表并行分别获得每个子喷头的像素数据之后,根据初始喷头映射表进行按照初始喷头各喷嘴的位置排列结构的逐排重组,实现一线数据的打印。
图5为本发明打印处理装置实施例一的结构示意图,如图5所示,该打印处理装置包括:接收模块11、复制缓存模块12、数据读取模块13、打印控制模块14。
接收模块11,用于接收待打印数据,所述待打印数据为一线数据。
复制缓存模块12,用于对所述待打印数据进行复制,并分别将每份待打印数据存入对应的缓冲区中,生成每个缓冲区对应的存储索引表,每个存储索引表中记录有所述待打印数据中各像素数据的存储索引;其中,经复制后的待打印数据的数量与预划分得到的子喷头的数量相等,每个子喷头中包含的喷嘴属于初始喷头的全部喷嘴中的部分喷嘴,各子喷头与各缓冲区一一对应。
数据读取模块13,用于根据每个子喷头的映射表中所描述的子喷头中各喷嘴的位置排列结构与子喷头中各喷嘴对应的像素数据标识间的对应关系,以及每个子喷头对应的缓冲区的存储索引表,分别从每个子喷头对应的缓冲区中逐排依次读取对应子喷头中各喷嘴对应的像素数据。
打印控制模块14,用于将读取到的像素数据分别发送至对应的喷嘴,控制各子喷头中各喷嘴打印所述待打印数据。
该打印处理装置还包括:划分模块15、生成模块16。
划分模块15,用于采用等间隔采样方式,对所述初始喷头中全部喷嘴进行逐排划分,得到每个所述子喷头中的每排喷嘴。
生成模块16,用于生成每个所述子喷头的映射表。
其中,所述等间隔采样方式包括奇偶采样方式。
本实施例的打印处理装置可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明打印处理装置实施例二的结构示意图,如图6所示,在图5所示实施例的基础上,该打印处理装置还包括:获取模块21。
获取模块21,用于根据初始喷头映射表中所描述的初始喷头中全部喷嘴的位置排列结构与初始喷头中各喷嘴对应的像素数据标识间的对应关系,从读取到的各子喷头中各喷嘴对应的像素数据中,逐排获取与初始喷头中的当前排中各喷嘴对应的像素数据。
所述打印控制模块14包括:发送单元141、控制单元142。
发送单元141,用于将获取的与初始喷头中的当前排中各喷嘴对应的像素数据分别发送至各对应喷嘴。
控制单元142,用于根据所述初始喷头中全部喷嘴的位置排列结构,控制所述初始喷头逐排打印所述待打印数据。
本实施例的打印处理装置可以用于执行图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。