用于快速颜色处理的系统和方法

文档序号:6558087阅读:263来源:国知局
专利名称:用于快速颜色处理的系统和方法
技术领域
本发明处于用于通过诸如彩色激光打印机的设备来呈现文本、图像和图形的数据的数字处理的领域中。具体而言,本发明处于在多个处理器之间分配处理数据的工作负荷的领域中。
背景技术
打印机系统被配置用来在准备打印时对数字打印数据进行一系列硬件和软件操作。打印机使用该数字打印数据来在打印表面上形成打印图像。打印机的示例包括扫描激光束打印机和喷墨打印机。通常,激光束或喷墨在打印表面上的一次扫描形成被称为扫描行的像素行。通过施加在打印表面上连续形成多个扫描行的一个或多个打印头来形成打印图像。
经过打印机流水线(pipeline)的数据通常包括文本、图形、图像和这些元素的组合。现代打印机中的点布局的密度不断增大,尤其是每个像素需要多于单色打印的额外比特的彩色打印。数据流水线向打印头发送数据所需要的带宽正相应地增大。为了充分利用打印引擎的日益增大的速度性能,打印机系统的流水线必须能够足够快地传送数据,以便向打印头提供连续的数据流。这允许打印机连续地打印数据。
文档通常是由诸如字处理应用的应用程序创建的数据集合,所述数据集合被逻辑地细分为页面。页面包括诸如要显示在纸张(sheet)的一个侧面上的文本、图像、图形对象和显示元素的对象,所述对象受到诸如大小、边距、字体、颜色等的各种格式化规格的控制。文档页面被呈现在纸张上。当向打印机提供文档时,打印机接收和处理包含要呈现的文档的数据流。理想地,根据打印机的性能,数据流应当在不同的打印机上以相同的格式产生相同的文档内容。
可以以直接模式或按需打印(POD)模式来由打印机或显示器呈现文档。在打印的直接模式中,所接收的用于纸张的数据被栅格化(rasterize)并且随后被传送到打印头以用于纸张的打印。在打印的POD模式中,一些数据在被栅格化器接收时被栅格化,但是一些栅格化数据是在被要打印在纸张上的元素的显示列表需要时从存储器中检索的。从存储器检索的这些对象通常是对于作为一组而不断地被重新打印的一组纸张出现一次的对象。
用于执行数据的栅格化的处理器从数据流接收和处理数据,以产生栅格化数据和纸张规格。纸张规格可以包括纸张长度、宽度、边距和纸张的其它格式参数。可以将栅格化数据存储在本地存储器中,并且使用指针来标识存储器中存储栅格化数据的位置。可以在打印机的同一或另一存储器中、在纸张队列中存储文档的每页纸张的纸张规格。然后,打印机访问和处理纸张队列中的每页纸张的纸张规格。
基于纸张队列中的下一个纸张规格,打印机在打印机存储系统中定位纸张的各个栅格化数据。打印机将纸张的栅格化数据引导到打印头。打印头接收纸张的各个栅格化数据,并相应地打印该纸张。因此,打印的直接模式包括利用在打印机存储器中本地存储的栅格化数据来打印文档的纸张。这种打印方法对于打印大量简单地编排格式的纸张、例如被打印用于帐单编制应用的大量纸张特别有用。
为了以POD模式呈现文档,打印机从纸张队列获得和处理下一个纸张规格。打印机将纸张侧面的侧面规格转发到打印控制单元中的侧面构建器。侧面构建器代码从数据库检索在纸张的纸张规格中列出的对象,并且构建纸张侧面的数据。在构建了纸张侧面的数据之后,将所构建的纸张侧面存储到本地打印机存储系统中。然后,打印机向打印头发送命令以便在构建侧面的数据之后打印所述纸张。响应于打印命令,打印头从打印机存储系统中检索纸张侧面的数据并打印该纸张。因此,打印的POD模式包括从存储在纸张队列中的对象列表构建纸张的侧面,并且访问存储在数据库中的对象以便构建纸张的侧面。这种打印方法对于打印具有更复杂的数据的纸张、例如从书中打印纸张特别有用。
在典型的四色打印系统中,提供了4个彩色打印头,一个用于青色,一个用于洋红色,一个用于黄色,并且一个用于黑色(CMYK)。图1A示出了如由IBM Infoprint Color 130 Plus例示的典型的彩色打印机系统150。打印系统150的主处理器160接收打印数据流,并且纸张侧面分析器162将打印数据流分析为逻辑纸张侧面。然后,将一个纸张侧面指派给若干处理单元164之一以进行处理。通过执行RIP和从数据流颜色规格向CMYK的颜色转换来进行处理。通常,使用8比特来描述每个像素的C、M、Y或K颜色级(level)。纸张侧面的C、M、Y和K数据被存储在由筛选(screen)处理器卡170使用的4个缓冲器172中;每种颜色1个。然后,从缓冲器读取数据并由筛选处理器174筛选。可以利用1、2或4比特来描述每个像素的亮度,这被称为比特密度。而且,每个筛选处理器处理不同颜色的数据,并且线接(wire)到打印头180。每个彩色打印头180从与其线连的对应筛选处理器接收用于其各自的颜色的数据。
这种方法存在若干问题,特别是当打印机变得更快时更是如此。对于单色纸张,使用一个筛选处理器而其它闲置。这降低了系统的可用处理功率。数据量和数据必须被通过系统传递所用的速率随着打印机的速度和每个像素的比特密度而提高。用于减少大数据量的典型技术包括当向筛选处理器传递数据时进行压缩、并且使用显示列表作为中间数据形式,使得可以更简明地描述整个纸张侧面。这些技术在处理器上施加了额外的计算负担以压缩和解压缩数据,因而对于所期望的给定打印速度需要更多的处理器。此外,打印机的速度受到筛选处理器的处理速度限制。

发明内容
上述问题大部分被在此公开的用于快速彩色打印的系统和方法解决。实施例实现了一种包括多个并行处理单元的打印机架构,每个处理单元被适配为处理要打印在纸张上的至少一种颜色的数据。并行处理单元为多个打印头服务,每个打印头被适配为打印多种颜色中不同的一种颜色。开关可控地形成连接以便在处理单元和打印头之间传送数据,使得处理单元可以向多于一个打印头提供数据,并且使得打印头可以连续地从不同的处理单元接收数据。
在一个实施例中,打印处理器包括头节点,用来接收打印数据流并且向多个处理单元的每一个分配要处理的数据。打印处理器还包括多个并行处理单元,用来从头节点接收和处理数据。开关在多个处理单元和多个打印头之间形成连接,使得处理单元可以连接到多于一个打印头,并且使得打印头可以依序从多于一个处理单元接收数据。
另一实施例是一种用于分配打印数据以进行处理和打印的方法。该方法包括接收纸张的打印数据,所述打印数据包括多个纸张侧面的纸张侧面数据。该方法还包括解释所接收的打印数据以确定多个纸张侧面的每一个的数据。所接收的每个纸张侧面的纸张侧面数据被分配给多个并行处理单元中的至少一个,使得多个处理单元中的任何一个可以接收至少一个纸张侧面的数据。该方法还包括在并行处理单元和打印头之间形成连接,以便将所处理的纸张侧面数据从处理单元传送到打印头。


当读取以下详细描述以及当参照附图时,本发明的其它目的和优点将变得清楚,在附图中,相同的附图标号可以表示相同的元件图1A图示了现有技术的打印机系统。
图1图示了从打印服务器接收打印数据流并且连接到多个打印头的打印处理器。
图2图示了具有用来控制向多个并行处理单元的数据分配的刀片(blade)控制器的头节点。
图3图示了用于处理颜色平面数据和对象数据的并行处理单元或刀片。
图4图示了具有缓冲器和数据解压缩器的打印头。
图5图示了用于提供快速颜色处理的实施例的流程图。
具体实施例方式
下面是在附图中图示的本发明的示例实施例的详细描述。该示例实施例非常详细以便清楚地揭示本发明。然而,所提供的细节量不意欲限制所预期的实施例的变化;而是相反,本发明要涵盖落入由所附权利要求限定的本发明的精神和范围内的所有修改、等同物和替换。下面的详细描述被设计用来使这种实施例对于本领域普通技术人员来说显而易见。
实施例包括用于快速彩色打印的系统和方法。打印处理器包括并行操作以处理不同纸张侧面的数据的多个处理单元。开关可以在一个或多个打印机的任何处理单元和任何打印头之间形成连接。可以指派多个并行处理单元中的任何一个来处理纸张侧面。因此,可以指派多个打印头中的每一个来从多个处理单元中的任何一个接收数据。系统是可以升级的。通过包括更多的处理单元来增大处理带宽,并且减少了每个处理单元所需的输入/输出带宽。
图1示出了打印系统100的实施例。打印服务器104管理打印信息向打印处理器106的传送。打印服务器104可以从由图1中的主机1和主机2示出的一个或多个主机102接收打印数据。主机通常是运行应用程序的计算机或工作站,所述应用程序能够生成文本、图形等并引导其被打印。打印服务器104也可以从打印处理器106接收状态信息。打印服务器104可以执行基本任务,诸如监控和配置附接的打印机并且提供打印作业管理。打印服务器104和打印处理器106也能够根据确认协议来在命令或页面级上同步,所述确认协议提供主机发起的查询和服务器答复信息的交换。打印服务器104可以是从多个工作站或计算机接收打印数据的单机设备。或者,打印服务器104可以被合并到工作站、计算机或其它生成用于打印的数据的设备中。而且,打印服务器104可以为多个打印处理器服务。因此,打印服务器104向打印处理器106提供数据流,并且可以向在图1中未示出的其它打印处理器提供数据流。
在由打印服务器通常提供的功能中,具有包含从计算机或工作站接收的打印数据的数据流向由该打印数据去往的打印机支持的数据流的转换。提供给打印服务器的数据流被很好地构造为传送要在打印作业中打印的每页纸张的每个侧面上要打印的内容。示例数据流可以使用由N.Y.Armonk的国际商业机器(“IBM”)公司开发的混合对象文档内容架构(Mixed Object DocumentContent Architecture,MODCA)。
由打印服务器提供给打印机的数据流同样被很好地构造,并且依赖于用来形成数据流的页面描述语言。页面描述语言是由打印机理解的编程语言,它允许对于页面的紧凑、灵活和与设备无关的描述。使用页面描述语言的打印文件列出了要打印在页面上的文本和图形。对要打印的对象的描述必须在被称为栅格化的处理中被转换为栅格位图以便被打印。
因此,不同的打印机制造商可以将它们的打印机设计为以共同的页面描述语言来接收和解释数据。反之,打印服务器可以例如将智能打印机数据流(IPDS)提供给被构造为接收和解释IPDS的一种类型的打印机,并且打印服务器可以将Post Script数据流提供给被构造为接收和解释该Post Script数据流的另一类型的打印机。可由打印服务器104提供的其它数据流包括惠普打印机控制语言(PCL)、惠普图形语言(HPGL)、打印机作业语言(PJL)或Apple Talk打印机访问协议(PAP)。优选的数据流包括与原始数据一起发送的一组标准化的控件(control),所述控件指定打印机将如何呈现数据。
因此,响应于接收到数据流中的打印作业,打印服务器104将打印文件翻译为适当的呈现数据流,诸如IPDS。打印处理器106接收该呈现数据流,并且可以在将该数据流传送到头节点108之前缓冲所述数据流。头节点108解释从打印服务器106接收的数据。因此,头节点108将分析所述数据,并且识别包含要打印的数据的纸张的打印文件。头节点108可以相应地产生要显示在纸张侧面上的元素的显示列表。头节点108将该显示列表和相关联的数据传送到在此被称为刀片的处理单元以进行处理。头节点108也可以将数据栅格化,并且将栅格化数据存储在存储器116中。可以在诸如IBMTotalStorage DS400的存储阵列中实现存储器116。头节点108也可以向刀片发送栅格化数据。栅格化是将数据转换为可传送到打印头的有序位图以使得以栅格模式打印该数据的处理。此处理使打印引擎能够打印页面,所述打印引擎通常从纸张的一边向相对边逐行地打印页面。
头节点108将纸张侧面的数据分配给多个刀片B1-Bn之一,其中n是整数。因此,刀片可以从头节点108接收纸张侧面的显示列表和相关联的数据。在图1中示出了三个刀片110、112和114,但是本领域技术人员将理解可以使用执行在此所述的功能的任何实用数量的刀片。在一个实施例中,每个刀片是可以为8个打印头服务的处理单元。术语刀片通常是指可被插入插槽中的印刷电路板。打印处理器的底板可以包括多行插槽,每个插槽容纳不同的刀片。刀片可以通过TCP/IP连接或者允许头节点与每个刀片通信的其它类型的连接而连接到头节点108。在一个实施例中,每个刀片可以处理包括例如青色、洋红色、黄色和黑色(CMYK)的四个颜色平面或层。刀片也可以处理多个对象、文本和图形层。刀片还可以执行颜色转换和半色调转换。因此,可以由多个刀片来为多个打印头服务。打印头可以是彩色的,可以提供磁性色粉或者有光泽的涂层或紫外线墨水。
因此,头节点108将处理数据的纸张的工作分配给刀片。每个刀片可以处理对应于纸张侧面的一个或多个不同的数据层。例如,刀片可以处理纸张侧面的一个或多个或者全部颜色平面。在一个实施例中,每个刀片同时处理不同纸张侧面的纸张侧面数据。在另一实施例中,一个刀片可以处理纸张的一个颜色平面,而所述纸张的其它颜色平面由其它刀片处理。因此,头节点108可以向不同的刀片分配不同层的工作。通常,头节点108将向处理单元尽量实用地平均分配工作负荷以提高处理效率。因此,刀片形成从头节点接收要并行处理的工作(数据和指令)的多个并行处理器。在一个实施例中,提供了四个刀片,每个刀片能够处理多达四种颜色。因此,对于四个刀片的实施例,可以并行处理多达四个纸张侧面。
每个刀片与多端口开关118通信。多端口开关118可以在刀片和打印头之间形成多个同时连接。一种示例开关是IBM TotalStorageSAN开关F16。多端口开关118可以将所述n个刀片中的任何一个连接到被标注为120、122、...、124的m个打印头P1、P2、...、Pm中的任何一个,其中m是整数。多端口开关118也可以将信息从一个刀片传送到另一个。由于任何刀片可以连接到任何打印头,因此头节点108可以将纸张侧面指派给任何一个刀片。例如,头节点108可以指派一个刀片处理一个纸张侧面而指派另一个刀片同时处理另一个纸张侧面。所有四个打印头可以从一个刀片接收数据以便打印一个纸张侧面,并且随后从下一个刀片接收数据以打印下一个纸张侧面。因此,彩色打印头可以连续地从不同的刀片接收数据。在另一个实施例中,可以指派第一刀片处理第一纸张的颜色青色,并且可以指派第二刀片处理第二纸张的颜色青色。然后,青色打印头将首先从第一刀片接收数据,并且随后从第二刀片接收数据。
在一个实施例中,每个刀片可以同时为多达四个打印头服务。因此,在四色系统中,可以指派一个刀片处理纸张侧面的全部四种颜色。在另一实施例中,可以将对于纸张的不同颜色的数据的处理分配给多于一个刀片。此外,注意,打印处理器106可以为多于一个打印机服务。例如,连接到开关118的打印头中的四个可以位于一个打印机中,并且连接到开关118的打印头中的四个可以位于另一打印机中。在这样的配置中,头节点108可以在多个刀片之间分配两种不同的打印机的工作,并且确保刀片的输出去往每个打印机的正确打印头。在一个实施例中,两个打印机耦接在一起以便在第一打印机中打印纸张的一侧并在第二打印机中打印纸张的相反侧。在替换实施例中,连接到开关118的四个打印头可以位于四个黑/白打印机中或者两个打印机中的前或后侧。取代需要一个打印机中的四个打印头的四种颜色,这四个打印机每个仅具有一个或两个打印头。如果至少一个打印机运行较高优先级的作业、而至少另一个打印机是单页(cut sheet)的并且可被无损失地停止和启动,则所述头节点可以在较高优先级的打印机需要额外的处理节点的任何时间停止向单页打印机分配纸张。
图2示出了如上所述从打印服务器104接收打印数据流的头节点108。在一个实施例中,头节点108包括解释器202,其提供在从打印服务器104接收的数据流中的信息的第一级解释。可以在写入对象容器(WOC)中接收数据,每个写入对象容器与不同的WOC控件(WOCC)相关联。对于要打印的一连串纸张的每页的每一侧,解释器202可以准备要显示在纸张侧面上的元素的显示列表。对于显示列表中的每个元素,解释器202将对应于所述元素的数据相关联。解释器202通过头节点和刀片之间的连接208来向刀片发送显示列表以及该列表中的每个元素的相关联的数据。
头节点108还包括栅格化器204。栅格化器204可以接收和栅格化对应于某些图形的数据。例如,栅格化器204可以将文本和条形码栅格化,并且将结果存储在存储器116中。一个或多个刀片稍后可以从存储器116访问这些结果。因此,存储器使得能够在头节点和刀片之间共享数据和共同使用的资源。栅格化器204也可以通过连接208向刀片发送栅格化数据。如上所述,连接208可以是TCP/IP连接。因此,解释器202分析输入数据流,并且创建被称为显示列表元素的绘元(drawing primitive)。栅格化器204可以使打印数据流中的纸张的元素成为准备好呈现的格式,例如与打印机硬件兼容的位图格式。
头节点108还包括刀片控制器206。刀片控制器206控制对刀片的纸张侧面数据和指令指派。刀片控制器206也可以协调刀片和打印头之间的转换。刀片控制器206可以接收关于刀片中的纸张数据的处理完成状态的状态信息。刀片控制器206确定如何在各种可用刀片之间划分处理纸张数据的工作。例如,刀片控制器206可以向一个刀片指派数据的一个纸张侧面以进行处理,并且向另一刀片指派数据的另一纸张侧面以进行处理。
通过开关118,每个打印头可以同时从任何一个刀片接收数据。因此,来自刀片的处理后的纸张数据被指派给适当的打印头。例如,在准备打印纸张时,青色打印头从被指派处理要以青色打印的数据的刀片接收数据。类似地,洋红色打印头可以从同一刀片或不同的刀片接收其数据。在一个实施例中,每个刀片可以处理多达四个打印头的数据。相应地,在四色系统中,每个刀片可以处理四种颜色(CMYK)中的一种、一些或全部,所述四种颜色对应四个不同的打印头,每种颜色一个打印头。因此,当处理一系列纸张时,打印头将以可控的顺序从不同的刀片接收数据。
在一个实施例中,头节点将打印头指针与纸张的显示列表和数据一起传递给刀片。打印头指针指向要从刀片接收数据的打印头。当要从刀片向打印头传递数据的时刻到达时,开关从所述刀片接收打印头指针。打印头指针告诉开关要将刀片连接到哪个打印头。在另一实施例中,头节点可以向打印头传递指示接下来要从哪个刀片接收数据的刀片指针。头节点可以将这个指针直接传递给打印头或通过刀片传递给打印头。打印头将刀片指针传递给开关,使开关在所指示的刀片和打印头之间形成连接。在另一实施例中,头节点向开关传递刀片指针和打印头指针,以向开关通知要在刀片和打印头之间形成的连接。
图3示出了诸如刀片112的刀片的一个实施例。刀片112与头节点108、存储器116和开关118通信。刀片112从头节点108接收显示列表和相关联的数据。刀片112接收的数据流可以是JPEG、Post Script或者其它提供用于呈现图形、文本等的数据的格式。解释器302接收该数据流,并且解释呈现方式和要打印的内容。例如,在数据流中嵌入的将是用于指示在纸张上何处布置每个对象的数据。此外,所述数据将包括纸张大小等。
用于呈现的数据可以被主机102压缩。因此,刀片112提供解压缩器304以解压缩呈现数据。颜色转换器306可用来在需要时对于未压缩的数据执行颜色转换。在一般的四色打印设备中,使用青色、洋红色、黄色和黑色(C,M,Y,K)来执行打印。因此,在执行彩色打印时,存在从三种基色红色、绿色和蓝色(R,G,B)向青色、洋红色、黄色和黑色(C,M,Y,K)四种颜色的颜色转换操作,并且还存在从灰度级显示向只有纯黑色和白色而不具有直接再现灰色调的能力(不使用网屏(screen)或半色调蒙片(mask))的显示的灰度级转换操作。为了执行颜色转换,在RGB空间的坐标和CMYK空间的坐标之间建立可选的对应,使得RGB空间中的任选点对应CMYK空间中的点。
栅格化器308在通过开关118进行传送之前将数据栅格化。在替换实施例中,颜色转换器306可跟随在栅格化器308之后,以便在通过开关进行传送之前执行栅格化数据的颜色转换。此外,刀片112可以将栅格化数据复制到存储器116以便在随后的纸张中再次使用。栅格化器308可以包括用于将不同层或颜色平面栅格化的多个栅格化器。因此,在一个实施例中,栅格化器308包括四个栅格化器,用于同时分别栅格化以下每种颜色的数据青色、洋红色、黄色、黑色(CMYK)。刀片112还包括用于合并和筛选操作的筛选处理器、以及用于在将数据传送到打印头之前压缩数据的压缩器312。
当打印机以直接模式工作时,栅格化器308将解压缩后的所接收的数据流中的数据栅格化以产生栅格化数据(即文本、图形、对象、条形码、字体等)。解释器302也产生正由刀片112处理的文档的当前纸张的纸张规格(例如纸张的长度、宽度、边距和其它格式参数)。然后,可以压缩直接模式的栅格化数据并通过开关118进行传送。在打印的直接模式中,来自栅格化器308的栅格化数据处于可由打印头直接打印的可呈现格式中。栅格化器308预处理该数据,使得在向打印头发送栅格化数据之前已经构建了纸张的每个侧面。文档的每页纸张的纸张规格被发送到打印头以控制该纸张的打印。打印头接收纸张的纸张规格和栅格化数据并且打印所述纸张。因此,打印的直接模式包括通过直接地呈现来自栅格化器308的栅格化数据来打印纸张(如果没有压缩和解压缩的话)。
刀片112可以还包括侧面构建器310。刀片112可以在按需打印(POD)模式中使用侧面构建器310来在打印之前构建纸张侧面。在POD模式中,侧面构建器310根据显示列表按照所需从存储器116中检索栅格化的对象数据。侧面构建器310也从栅格化器308接收对应于来自显示列表的元素的栅格化数据。因此,侧面构建器310可以从存储器116检索元素数据和/或从栅格化器308接收它。侧面构建器310根据显示列表来组配纸张,并且将所组配的纸张数据传送到压缩器312。侧面构建器310也可以类似于解释器302而从存储器116接收显示列表数据,因此在侧面构建器内部可以包含解释器、解压缩器、颜色转换器和栅格化器。
例如,页面可以包括一个或多个叠层(overlay)。叠层是头节点108或刀片的栅格化器308发送到本地存储器116的预先定义的页面或页面的一部分。叠层可以包括文本、图像、图形、条形码和/或其它对象。可以将叠层存储在本地打印处理器存储器中,直到它们被停用为止。叠层通常用来呈现不会逐个纸张移动的文档上的固定数据。可以通过在页面的数据中指定包括叠层的命令来在页面中包括叠层。侧面构建器310可以从存储器116接收栅格化的叠层。或者,栅格化器308可以从存储器316接收叠层数据,并且在将其发送到侧面构建器310之前将其栅格化。
诸如半色调生成器的刀片112的其它组件未被示出。本领域技术人员将认识到可以通过处理器来实现由图中示出的功能块描述的功能。因此,处理器可以在软件的指导下操作,以执行包括颜色转换、数据压缩和解压缩、侧面构建、栅格化和半色调产生的功能。此外,可以为了数据和指令的快速访问而提供每个刀片上的本地高速缓冲存储器。因此,处理器可以从指令高速缓冲存储器接收指令,并且与数据高速缓冲存储器交换数据。处理器可以包括指令提取器、指令缓冲器、分派单元、包括至少一个算术/逻辑单元的若干执行单元、以及完成单元。普通技术人员还将理解在此使用的术语刀片可以是任何处理单元,使得所述处理单元可以在头节点和开关之间并行操作。因为开关可以将多个打印头中的任何一个连接到多个处理单元中的任何一个,因此不同层的纸张数据可以由不同的刀片处理,并且被移交给任何一个打印头。
图4示出了诸如打印头122的打印头的一个实施例。缓冲器402从通过开关118连接到打印头的多个刀片之一接收用于打印纸张的压缩数据和纸张规格数据。解压缩器404将该呈现数据解压缩。打印头通过将墨水、色粉或染料放置在纸张上来输出解压缩后的呈现数据。
图5示出了用于快速颜色处理的实施例的流程图500。流程图500可以被看作包括并行处理的处理流水线。打印处理器接收数据流(元素(element)502)。打印处理器解释该数据,并且将数据的纸张区分开(元素504)。从所区分的纸张数据,打印处理器还可以区分多个颜色平面的每一个的数据(元素506)。同样从所区分的纸张数据,打印处理器在数据进入流水线时形成每页纸张的显示列表(元素508)。随后或者同时,打印处理器将向一个或多个并行处理单元指派纸张侧面数据以进行处理(元素510)。刀片的分配是可互换的。打印处理器还将打印头指派给刀片(元素512)。也就是说,可以指派多个刀片中的任何一个来处理多个纸张侧面的任何一个的数据。因此,全部四个打印头将从一个刀片接收数据以打印纸张侧面,然后从不同的刀片接收数据以打印下一个纸张侧面。
在另一实施例中,打印处理器可以根据哪个刀片已经被分配了纸张的哪些颜色来将打印头指派给刀片(元素512)。例如,如果将青色和洋红色指派给刀片1、并且将黄色和黑色指派给刀片2,则将指派青色打印头和洋红色打印头来从刀片1接收数据,并且将指派黄色打印头和黑色打印头来从刀片2接收数据。在下一个随后的纸张中,可以向不同的刀片指派所述颜色,并且不同的打印头将因此被指派给不同的刀片。每个刀片将处理其被指派的颜色平面(元素514)。当处理完成时,来自刀片的数据被传送到被指派从那个刀片接收数据的打印头(元素516)。当在打印头中准备好纸张的数据时,打印机打印该纸张(元素518)。由于刀片一次仅连接到一个打印头,因此头节点向刀片指派打印头并且向刀片指派纸张侧面,使得不存在由于刀片忙于向另一个打印头发送数据而使得用于打印头的数据被延迟的瓶颈。
因此,实施例包括多个处理单元,每个处理单元能够处理对应于纸张侧面和不同颜色的数据,并且每个处理单元能够处理多达四种颜色。头节点向一个或多个处理单元指派在打印数据流中接收的多页纸张的每一页的纸张侧面数据。因此,一个处理器可能正在处理一页纸张的纸张数据,而另一个处理器可能正在处理不同纸张的纸张数据。在一个实施例中,头节点以将处理功率的利用最大化这样的方式来将纸张的纸张数据指派给处理器,从而将尽可能多的处理器保持尽可能忙。因为每个打印头可以被指派给任何一个处理器,所以这是有可能的。在一个实施例中,头节点协调从刀片向正确的打印头的数据传送。这可以通过使用指向打印头要从中接收数据的下一个刀片的指针和/或指向要从刀片接收数据的打印头的指针来完成。
尽管针对一些实施例详细描述了本发明和一些它的优点,但是应当理解,在不脱离由所附权利要求限定的本发明的精神和范围的情况下,可以在其中进行各种改变、替换和更改。尽管本发明的实施例可以实现多个目的,但并不是落入所附权利要求范围内的每个实施例都将实现每个目的。而且,本申请的范围不意欲受限于在说明书中描述的处理、机器、制造品、物质的构成、装置、方法和步骤的特定实施例。如本领域普通技术人员将容易从本发明的公开认识到的那样,可以根据本发明而使用执行与在此描述的对应实施例基本相同的功能或取得基本相同的结果的、现存的或以后要开发的处理、机器、制造品、物质的构成、装置、方法和步骤。因此,所附权利要求意欲在它们的范围中包括这样的处理、机器、制造品、物质的构成、装置、方法或步骤。
权利要求
1.一种打印机架构,包括多个并行处理单元,连接到开关,每个处理单元被适配用来处理要打印在纸张上的多组数据;多个打印头,连接到开关,每个打印头被适配用来打印由并行处理单元处理的一组数据;以及开关,连接到所述多个并行处理单元和所述多个打印头,以便将数据从并行处理单元传送到打印头;所述开关响应控制信息,使得由多个处理单元中的任何一个处理的特定数据组的数据可以被传送到被适配用来打印该数据组的打印头,并且使得打印头可以连续地从不同的处理单元接收数据组。
2.根据权利要求1的打印机架构,还包括连接到多个并行处理单元的头节点,用于从打印数据流接收数据和指令,并且向多个并行处理单元分配多个数据组的数据,以便由该并行处理单元同时处理所述数据组。
3.根据权利要求2的打印机架构,其中,头节点还包括解释器,以便解释由头节点从打印数据流接收的指令。
4.根据权利要求2的打印机架构,其中,处理单元还包括栅格化器,以便将从打印数据流接收的数据栅格化。
5.根据权利要求1的打印机架构,还包括可由多个并行处理单元访问以共享数据的存储器。
6.根据权利要求1的打印机架构,其中,并行处理单元中的至少一个包括用于将所述多种颜色中的至少一种的数据栅格化的栅格化器。
7.根据权利要求1的打印机架构,其中,并行处理单元中的至少一个包括用于在颜色格式之间转换的颜色转换器。
8.一种打印处理器,包括头节点,用于接收打印数据流,向多个处理单元中的每一个分配打印数据流的数据,并且生成控制信息以控制从处理单元到多个打印头的处理后的数据的传送;多个处理单元,连接到头节点,用于从头节点接收和处理打印数据流的数据;以及开关,连接到处理单元和打印头以便将数据从处理单元传送到打印头;所述开关响应控制信息以便确定哪些打印头连接到哪些处理单元,使得特定数据组的数据能够被多个处理单元中的任何一个处理并且被传送到被适配用来打印该特定数据组的打印头,并且使得打印头能够连续地从不同的处理单元接收所述打印头被适配用来打印的数据组的数据。
9.根据权利要求8的打印处理器,还包括可由多个并行处理单元访问以共享从头节点接收的数据的存储器。
10.根据权利要求8的打印处理器,其中,多个处理单元每个包括栅格化器,以便将从头节点接收的数据栅格化。
11.根据权利要求8的打印处理器,其中,多个并行处理单元中的每一个能够被可互换地指派为处理纸张的至少一种颜色的数据。
12.根据权利要求8的打印处理器,其中,所述开关根据从并行处理单元之一接收的指针来确定在那一个处理单元和打印头之一之间的连接。
13.根据权利要求8的打印处理器,其中,所述开关根据从打印头之一接收的指针来确定在并行处理单元之一和那一个打印头之间的连接。
14.根据权利要求8的打印处理器,其中,所述开关根据从头节点接收的地址信息来确定在并行处理单元之一和打印头之一之间的连接。
15.一种用于分配打印数据以进行处理和打印的方法,包括接收纸张的打印数据,该打印数据包括多页纸张的纸张侧面数据;解释所接收的打印数据以确定多页纸张的每一页的纸张侧面数据;向多个并行处理单元中的至少一个分配所述多个纸张侧面的每一个的纸张侧面数据,使得多个并行处理单元中的任何一个可以接收纸张侧面的数据;以及在并行处理单元之一和至少一个打印头之间形成连接,以便将处理后的纸张侧面数据从所述并行处理单元传送到所述至少一个打印头。
16.根据权利要求15的方法,还包括将并行处理单元之一的地址从打印头传送到开关,以便在打印头之一和所述处理单元之间形成连接。
17.根据权利要求15的方法,还包括将打印头之一的地址从并行处理单元传送到开关,以便在并行处理单元之一和所述打印头之间形成连接。
18.根据权利要求15的方法,还包括处理由每个并行处理单元接收的数据,以便在并行处理单元中产生栅格化的颜色平面数据。
19.根据权利要求15的方法,其中,处理后的纸张侧面数据可以被传送到多个打印机中的任何一个。
20.根据权利要求15的方法,其中,分配所述多个纸张侧面的每一个的纸张侧面数据包括可交换地指派多个并行处理单元中的至少一个来处理多个颜色平面中的不同者的数据。
全文摘要
公开了用于实现快速彩色打印机架构的系统和方法。打印处理器包括多个处理单元,所述多个处理单元并行操作以处理不同层或颜色平面的数据。可以在一个或多个打印机的任何处理单元和任何打印头之间形成连接。可以指派多个并行处理单元中的任何一个来处理数据的颜色的一种、一些或全部。因此,可以指派多个打印头中的每一个来从多个处理单元中的任何一个接收数据。
文档编号G06F3/12GK1870007SQ20061007402
公开日2006年11月29日 申请日期2006年4月4日 优先权日2005年5月24日
发明者约翰·T·瓦尔加, 尼纳德·里杰维克, 苏珊娜·L·普赖斯, 拉里·M·厄恩斯特, 杰弗里·A·西金克, 拉里·D·特克利茨, 史蒂文·G·路德维格, J·B·康登, 莱因哈德·H·霍恩西, 琼·L·米切尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1