具体实施方式
本发明的基本原理是,可变数据文档从页面构成对象级别来说,有可重用元素和非可重用元素,而从页面最终点阵区域来说,可划分为不可变区域和可变区域。落在不可变区域内的页面元素不须进行组装,只组装落在可变区域范围内的页面元素,而且在传输数据时,不须传送不可变区域的数据,而只传送可变区域的数据,由外部合并模块实现可变区域与不可变区域的快速合并。以下将参考附图和实施例详细描述本发明。
为了实现上述方法,在RIP程序中增加页面区域管理模块,从而构建一个基于可变区域的页面组装***。如图1所示,该***包括RIP 1000、页面管理模块2000和外部设备3000,其中,RIP 1000扫描页面,并将页面描述语言所描述的版面信息解释转换成可供输出设备输出的数据信息;页面区域管理模块2000基于可变区域对RIP扫描和解释的页面上的图元进行组装,具体地讲,将栅格图像处理器扫描和解释的页面划分为可变区域和不可变区域,对该页面的可变区域内的图元进行组装,标示该页面的基准页信息,并将该页面的可变区域的数据传送给包括在外部设备3000中的快速合并器3002;快速合并器3002根据从页面区域管理模块接收的基准页信息对所述页面的可变区域的数据和不可变区域的数据进行合并,得到该页面的点阵数据,外部设备3000可输出从快速合并器3002接收的页面点阵。
从图1可看出,页面区域管理模块2000包括信息管理模块2100、区域管理模块2200、组装模块2300和传输模块2400,其中,信息管理模块2100从所述页面的页面内容创建组装页面图元所需的信息,如果所需的任一信息已存在,则不添加该信息;区域管理模块2200,从所述信息生成所述页面所划分的各个区域的区域信息,根据该区域信息确定该页面的基准页,并将该页面与其基准页进行比较来识别可变区域和不可变区域;组装模块2300对所述页面的可变区域内的图元进行组装;传输模块2400标示所述页面的基准页信息,并将该页面的可变区域的数据传送给快速合并器3002。
所述组装页面图元所需的信息可包括图元信息、图形状态信息、图元绘制信息和图元组合信息,所述各个区域的区域信息可包括该区域的图元组合信息。稍后将结合实施例详细描述这些信息。当然,所述组装页面图元所需的信息并不限于此,而是可利用任何可用于组装页面图元的信息及其组合。
在上述前面的情况下,信息管理模块2100可包括图元信息管理器2102、图形状态管理器2104、图元绘制信息管理器2106、图元组合信息管理器2108,区域管理模块2200可包括页面区域信息记录管理器2202、页面可变区域管理器2204。
图元信息管理器2102记录图元自身固有信息,包括图元主键、图元类型以及其它自身属性信息。
图形状态管理器2104记录图元绘制时的图形状态信息,包括当前坐标变换矩阵、当前剪裁、当前颜色等信息。
图元绘制信息管理器2106记录图元如何绘制到版面上的信息,由图元信息和图形状态信息绘制区域而形成,包括图元绘制主键、图元主键、当前图形状态主键等。
图元组合信息管理器2108记录多个图元的组合信息,包括图元组合主键、图元组合的信息,图元组合的信息即该图元组合是由哪些图元绘制信息按照先后次序组合而来。
页面区域信息记录管理器2202记录页面所划分的各个区域的组合信息,即,各个区域的最终点阵是由哪些图元依次组装而形成的,包括多个页面区域信息记录,如基准页和当前页。
页面可变区域管理器2204记录页面所划分的各个区域是否为可变区域,仅管理当前页信息。
相应地,本发明提供一种基于可变区域进行页面组装的方法。在该方法中,对于将组装的每个页面,重复执行以下步骤:
步骤1、从当前页的页面内容创建组装页面图元所需的信息,如果所需的任一信息已存在,则不添加该信息;
步骤2、从所述信息生成当前页所划分的各个区域的区域信息,根据该区域信息确定该页面的基准页,并将该页面与其基准页进行比较来识别可变区域和不可变区域;
步骤3、对可变区域内的图元进行组装;
步骤4、标示当前页的基准页信息,并将可变区域的数据传送给外部;
步骤5、外部通过根据基准页的点阵数据将可变区域的数据和不可变区域的数据合并来获得当前页的页面点阵数据。
其中,步骤2可包括以下步骤:
步骤21、根据所述信息生成当前页所划分的各个区域的区域信息;
步骤22、根据所述区域信息将当前页与基准页集合中的基准页进行相似度比较来确定基准页;
步骤23、通过根据所述区域信息将当前页与基准页进行比较来识别各个区域是可变区域还是不可变区域。
如上所述,所述组装页面图元所需的信息可包括图元信息、图形状态信息、图元绘制信息和图元组合信息,所述各个区域的区域信息可包括该区域的图元组合信息。
图2是根据本发明的基于可变区域进行页面组装的方法的具体流程图。参考图2,该方法包括以下步骤:
步骤S200、页面内容解析
对页面内容进行解析,当遇到单个图元或图形状态时,若该图元信息或图形状态信息在图元信息管理器2102和图形状态管理器2104中不存在,则将该图元信息或图形状态信息添加到图元信息管理器2102和图形状态管理器2104中。同样,将图元与图形状态组合形成图元绘制信息添加到图元绘制信息管理器2106中。最终,所有的图元绘制信息形成当前页的图元组合信息,添加到图元组合信息管理器2108中。
步骤S202、可变区域与不可变区域识别
对于页面的可变区域与不可变区域的识别实际上是一个探索发现的过程,稍后将参考图3进行描述。
步骤S204、组装
遍历当前页面的图元组合信息,当图元的绘制区域完全在不可变区域内时,直接跳过该步骤,当图元的绘制区域部分或完全在可变区域内时,只对可变区域内的图元进行组装。对可变区域内的图元进行组装时,可将可变区域按块划分,并为这些块分配相应的块内存,然后将可变区域内的图元的数据写入到相应块中的相应位置上,从而通过这些内存块可获取对应块的点阵数据,也可根据组装的图元,修改该点阵数据。
步骤S206、数据传输
在向外部设备传送数据时,标示基准页信息,并只传送可变区域的数据。基准页是指当前页以其作为参照确定可变区域与不可变区域的页面,并且根据基准页信息可获取当前页的不可变区域的数据。
步骤S208、可变区域与不可变区域数据的合并
外部设备根据基准页信息,拷贝基准页的点阵作为背景点阵,将接收的可变区域数据替代其对应位置上的点阵,从而得到最终的页面点阵数据。
图3是识别可变区域的过程的流程图。以下将参考图3描述这个步骤。
首先,在步骤S300中,生成当前页的区域信息记录。具体地讲,将当前页划分为N个一定大小的区域,区域的大小可设为256*256个像素,此也为经验值,可以酌情修改。根据该页面的图元组合信息中各图元的分布情况,即,该图元是否与某个区域有交集,形成M个新的图元组合信息(M<=N)。记录N个区域与M个图元组合信息的映射关系,并将新形成的M个图元组合信息添加到图元组合信息管理器2108中。
其后,确定基准页。页面的布局可能有周期性的变化。比如,如果有8页文件,有可能1、3、5、7页相似,而2、4、6、8页相似。如此,则有两个基准页。基准页的确定也是一个探索匹配的过程。具体地讲,在步骤S302中判断当前解释页面是否为第一页。如果当前解释页面为第一页,则在步骤S310中直接以当前页作为基准页,并将当前页添加到基准页集合中。如果当前解释页面不是第一页,则在步骤S304中将当前解释页面与基准页集合中的页面进行比较,获得最高的相似度,并在步骤S306中判断最高相似度是否超过阈值T,阈值T为一个经验值,可设为例如60%。如果最高相似度超过阈值T,则在步骤S308中以基准页集合中的该最近似的页面作为当前页的基准页,并增加该基准页的权值,比如,将基准页的权值加1。如果最高相似度没有超过阈值T,则在步骤S310中以当前页作为基准页,并将当前页添加到基准页集合中,如果基准页集合中页面数已达到上限,选择权值较低的页面,将其从基准页集合淘汰。
其后,识别可变区域,即,通过依次将当前页面所划分的各个区域的区域信息,即,在步骤S300中形成的图元组合信息与基准页的对应的区域信息进行比较来识别该区域是否与基准页的对应区域相同。具体地讲,在步骤S308或S310中确定基准页之后,在步骤S312中获取当前页面所划分的一个区域,然后在步骤S314中判断基准页是否为当前页。如果基准页即为当前页,则在步骤S318中,将当前页上的所有区域都视为可变区域。如果基准页不是当前页,则在步骤S316中判断该区域的区域信息与基准页的对应的区域信息是否相同。如果相同,则在步骤S320中将该区域视为不可变区域。如果不同,则在步骤S318中将该区域视为可变区域。然后,在步骤S322中判断当前页面的所有区域是否已遍历完毕。如果没有遍历完毕,则从步骤S312开始重复操作,直到当前页面的所有区域都遍历完毕。
下面结合实施例对本发明作进一步的描述。
在以下实施例中,可变数据作业由100页文档构成。如图4所示,所有页面都具有相似性,都由1个可重用图像400、若干可重用文字402以及若干非重用文字404和3个非重用图像406构成。在该文档中,图形状态只有1个,其设定了当前颜色、叠印类型以及当前剪裁。
首先,对第1页进行光栅化。
步骤1、解析第1页页面内容
对于可重用图像400,由于其图元信息在图元信息管理器2102中不存在,因此,将可重用图像400的信息加入到图元信息管理器2102中,并为其分配图元主键1。同理,对于可重用文字402,将所有的重用文字402的信息加入图元信息管理器2102中,并为各个可重用文字402分别分配图元主键2至n,记为[2,n]。对于非重用文字404和非重用图像406,将所有的非重用文字404的信息和所有的非重用图像406的信息加入到图元信息管理器2102中,并为它们统一分配一个图元主键-1。也就是说,在图元信息管理器2102中,图元主键-1表示所有的非重用图元404和406的信息,图元主键1表示可重用图像400的信息,图元主键2至n分别表示各个可重用文字402的信息。
对于图形状态,由于目前在图形状态管理器104中不存在图形状态,因此,将该图形状态信息加入图形状态管理器2104中,并为其分配主键1。
对于可重用图像400与其图形状态,绘制区域形成图元绘制信息,由于该图元绘制信息在图元绘制信息管理器2106中不存在,因此,将该图元绘制信息加入到图元绘制信息管理器2106中,并为其分配主键为1。同理,对于可重用文字402与图形状态,绘制区域形成图元绘制信息,将这些图元绘制信息加入到图元绘制信息管理器2106中,并为这些图元绘制信息分别分配主键2至n,记为[2,n]。对于非重用文字404和非重用图像406与图形状态,绘制区域形成图元绘制信息,将这些图元绘制信息加入到图元绘制信息管理器2106中,并为这些图元绘制信息分别分配主键n+1至m,记为[n+1,m]。也就是说,在图元绘制信息管理器2106中,图元绘制主键1表示可重用图像400与图形状态结合而形成的图元绘制信息,图元绘制主键2至n分别表示各个可重用文字402与图形状态结合而形成的图元绘制信息,图元绘制主键n+1至m分别表示各个非重用图元与图形状态结合而形成的图元绘制信息。
最终,第1页的图元组合信息为{1,2,…,m},其中,1表示第1页的第1个图元,即,可重用图像400的绘制信息,m表示第1页的最后一个图元,即,最后一个非重用图元的图元绘制信息。也就是说,图元组合信息为组合图元所包含的所有图元的绘制信息。由于这个图元组合信息在图元组合信息管理器2108中不存在,所以将这个图元组合信息{1,2,…,m}加入到图元组合信息管理器2108中,并为其分配主键1。也就是说,在图元组合信息管理器2108中,图元组合主键1表示第1页的图元组合信息{1,2,…,m}。此外,图元组合信息{0}表示无任何图元,默认分配主键0,图元组合信息{-1}表示该组合图元中含有非重用图元,即,非重用文字和非重用图像,默认分配主键-1。
步骤2、可变区域与不可变区域识别
1)生成当前页的区域信息记录
如图7所示,将第1页划分为N个区域,其中,这N个区域与其图元组合信息的映射关系如下:
有N0个区域的图元组合信息为{0},表示在N0个区域内无任何图元;
有N1个区域的图元组合信息为{1},表示在N1个区域内仅包含可重用图像400的图元绘制信息,将{1}加入到图元组合信息管理器2108中,并为其分配主键2;
有N2个区域的图元组合信息为{1,X},X∈{2,3,…,n},表示在N2个区域内包含可重用图像400和可重用文字402的图元绘制信息,将{1,X}加入到图元组合信息管理器2108中,并为其分配主键3至k,这里k为一个不定值,根据该区域上实际的图元组合信息而定,比如,这些区域包括{1,2}{1,3}{1,2,3}{1,3,4}等图元组合信息,则分别为这些图元组合信息分配主建3、4、5、6等,依次类推;
有N3个区域的图元组合信息为{1,Y},Y∈{n+1,…,m},表示在N3个区域内包含可重用图像400和非重用图元的图元绘制信息,由于Y是非重用图元的集合,因此,如上所述,在图元组合信息管理器2108中,将其组合信息修改为{-1},默认分配主键-1;
有N4个区域的图元组合信息为{1,X,Y},Y∈{n+1,…,m},表示在N4个区域内包含可重用图像400、可重用文字402和非重用图元的图元绘制信息,同上,将其组合信息修改为{-1},默认分配主键-1;
其中,N=N0+N1+N2+N3+N4。
2)基准页的确定
当前页为第1页,因此,直接将当前页加入到基准页的集合中,形成基准页集合{1},并将第1页的权值修改为1。
3)识别可变区域和不可变区域
第1页为基准页,因此,如图8所示,将其页面划分的N个区域都标识为可变区域,并将其记录到页面可变区域管理器2204中。在图8中,用“T”表示该区域为可变区域。
步骤3、组装
遍历第1页的图元组合信息{1,2,…,n}。由于第1页的所有区域都为可变区域,因此,对于所有区域,都正常组装。
步骤4、数据传输
标示第1页为基准页,将第1页上的所有区域的数据都传送给外部,如图5所示。
步骤5、可变区域与不可变区域数据的合并
第1页为基准页,不用进行可变区域与不可变区域数据的合并。
接着,对第2页进行光栅化
步骤1、解析第2页页面内容
可重用图像400和可重用文字402的信息在图元信息管理器2102中已存在,已被分配主键1至n,而对于非重用图元,则被统一分配图元主键-1。
图形状态在图像状态管理器2104中已存在,已被分配主键1。
可重用图像400的图元绘制信息在图元绘制信息管理器2106中已存在,已被分配主键1。可重用文字402的图元绘制信息在图元绘制信息管理器2106中已存在,已被分配主键2至n。而对于第2页的非重用图元,它们的图元绘制信息在图元绘制信息管理器2106中不存在,因此,将它们加入到图元绘制信息管理器2106中,并为它们分配主键m+1至p,记为[m+1,p]。
最终,第2页的图元组合信息为{1,2,…,n,m+1,…,p},将其加入到图元组合信息管理器2108中,并为其分配主键k+1。
步骤2、可变区域和不可变区域识别
1)生成当前页的区域信息记录
如图9所示,将第2页划分为N个区域,其中,各个区域与其图元组合信息的映射关系如下:
有N5个区域的图元组合信息为{0};
有N6个区域的图元组合信息为{1},已为其分配主键2;
有N7个区域的图元组合信息为{1,X},X∈{2,3,…,n},如果这些区域中的图元组合信息已存在,则直接获取已分配的主键,如果不存在,则将该图像组合信息添加到图元组合信息管理器2108中,并依次为其分配主键。
有N8个区域的图元组合信息为{1,Y},有N9个区域的图元组合信息为{1,X,Y},X∈{2,3,…,n},Y∈{m+1,…,p},由于Y为非重用图元的集合,所以如上所述,将其组合信息修改为{-1},默认分配主键-1;
其中,N=N5+N6+N7+N8+N9。
2)基准页的确定
当前页不是第1页,因此,将当前页与基准页集合{1}中的第1页进行比较,即,将图7与图9进行比较。具体地讲,比较相同区域的图元组合信息主键,如果组合信息主键相同且该主键不为-1,则表示该区域的内容相同,相同区域的数目加1,直到当前页上所有区域都比较完毕为止,从而获得相同区域数目M。用M/N×100表示与基准页的相似度,如果M/N×100>T,其中,T为阈值,则认为第1页为当前页的基准页,并将第1页的权值加1,修改为2。如上所述,阈值T可设为60%。
3)识别可变区域和不可变区域
第2页与其基准页第1页进行区域比较,即,比较相同区域的图元组合信息主键,如果组合信息主键相同且该主键不为-1,则表示该区域为不可变区域,否则该区域为可变区域,并将其记录到页面可变区域管理器2204中,如图10所示。在图10中,用“T”表示可变区域,用“F”表示不可变区域。
步骤3、组装
遍历第2页的图元组合信息{1,2,…,n,m+1,…,p},只对落在可变区域内的图元进行组装。具体地讲,如果当前图元绘制信息中的图元为可重用图元,比如,可重用图像400,则判断其所在组装区域是否为可变区域,如果其所在组装区域为可变区域,则进行组装,如果其所在组装区域为不可变区域,则直接跳过,而不进行组装。如果当前图元绘制信息中的图元为非重用图元,比如,非重用图像406,则其所在组装区域必为可变区域,进行组装。
步骤4、数据传输
标示第2页的基准页为第1页,并将第2页上所有可变区域的数据都传送给外部,如图6所示。
步骤5、可变区域与不可变区域数据的合并
外部合并模块获取到第2页的基准页为第1页,则将第1页的页面内容进行复制作为第2页的背景内容,并将第2页所传送的可变区域的数据合并到背景内容中,即,将第2页的可变区域的数据替代背景内容的点阵中对应位置上的点阵,从而获得第2页的实际点阵内容。
第3-100页的组装方式与第2页相同。
以上实施例同样适用于图形状态有多个的可变数据格式文件,处理方法类似。
从以上实施例可看出,本发明针对可变数据印刷的需求,将页面划分为可变区域和不可变区域,只对落在可变区域内的图元进行组装,并且相对于基准页,只传送可变区域的数据,而由外部合并模块将可变区域的数据和基准页中包含的不可变区域的数据进行合并,从而降低了向外传输数据的数据量,大大地降低了组装的时间,尤其是加快了多页可变数据格式文件的组装,使得RIP以及数据传输不再是可变数据印刷***发展的瓶颈,大大提高了可变数据印刷***的输出速度,为可变数据印刷的推广提供有利的支持。
以上参考实施例描述了本发明。但是,本领域的技术人员应该理解,本发明不限于所公开的实施例,在不脱离本发明的基本原理的情况下,任何类似的修改、替换或变形都应包括在本发明的保护范围内。比如,对于页面的不可变区域的数据,不限于通过基准页获取的方式,还可以采取其它保存或缓冲的方式。