用于控制打印的设备及方法

文档序号:6420939阅读:118来源:国知局
专利名称:用于控制打印的设备及方法
技术领域
本发明涉及在高速彩色打印设备中控制打印。
背景技术
高速彩色打印要求有效的计算和通信资源。在每点8比特、每英寸600点时,每张信纸大小的页面在CMYK(用于打印的四分色)彩色空间内包括了大约128MB的未压缩数据。通过使用多种结构,例如MODCA,PostScript和PCL描述页面,打印流使用更少的数据来描述每张页面。这允许打印服务器相对快捷地生成更复杂的输出。
另一方面,打印引擎要求位图,因此打印机控制器,例如IBM高级功能通用控制单元(AFCCU)必须将输入数据转换或光栅化为位图。在将数据流发送至打印头的准备中,光栅图像处理还被公知为“rip”或“ripping”(raster image processing)。现有的高端彩色打印机工作在每分钟130+页的速度下,且在该速度下最大限度的利用了可用的计算资源。下一代彩色打印机将运行在每分钟2000+页的速度下。尽管打印头本身可能不支持每点8比特,然而在打印机中打印数据仍然通常规定为该比特深度和半色调。
高速打印机趋向于基于连续表单技术。在该种技术中,打印头必须以额定的速度送纸,否则引擎必须停止,或者空白页面必须被发送。使用现有的电子照相打印头,每一边都有四个头,其共享一个定影组件,因此一些空白页面总被发送。这不仅浪费且昂贵,而且趋向于破坏后处理设备。
当前发展的喷墨打印机将能够通过翻转页面来避免发送空白页面,但由于控制单元低估所引起的卡纸(backhitching)仍旧将会导致生产率损失,引擎磨损及输出质量问题。对于这一原因,控制器制造者所作的每项努力都将维持该额定速度。
在高速彩色打印中,通过严格限制能被打印的数据结构,要求打印数据发生器生成“有效的”数据来实现维持额定速度。例如,连续色调的图像必须使用合适的尺寸,分辨率和方向来生成,因此在打印机中不进行图像处理。专门的硬件被大量使用以用于诸如加网、合并、上升采样和解压缩的操作。此外,大型共享存储器多处理器机被用作打印机控制器。
或者,控制器构造为操作在“预光栅图像处理”模式下,这里每项任务被预先进行光栅图像处理,并存储在“靠近”打印头的磁盘中。这种方法不适于语句打印和要求长时间运行唯一或者频繁变化的页面的类似应用。
现有的光栅图像处理和打印解决方案的很多地方值得考虑。常规的硬件开发昂贵且难以修改。打印流限制给应用发生器和客户施加了沉重的负担。最终,所要求的大型打印服务器和控制器使得打印机的价格翻番。为了支持更高的生产量,所有这些缺点将变得越来越紧迫。

发明内容
通过前述说明,本发明的一个目的是提出一种用于高速打印控制器的完全不同的设计。控制器被设计为使用廉价的商用处理器,例如商用的、市场上可买到的、个人计算机系统来代替常规硬件和昂贵的快速多处理器机。传统上,这种方法不被视为可行的,其原因在于商用机缺乏有用的足够高的I/O和存储器性能。本发明通过引入页面流水线来避免这一问题,以便使光栅化位图不返回到常用的点。通过这种方式,系统每一部分上的处理要求急剧减少。
因此,打印控制器具有比现有方法更高的性能和更低的成本。此外,由于商用处理器和商用可用网络的改进,可以以直接的方式提高其性能。通过使用此处描述的设计,每个控制器可以通过增加RIP机和连接网络进行配置,以适应每个客户的需要。


已经叙述了本发明的一些目的,当结合附图时,其它目的将随着进一步的描述而体现,其中图1为根据本发明的设备并结合打印服务器和打印机的示意性表示;图2为根据本发明的控制器设备的示意性表示;图3为由根据本发明实现的图1和图2的设备执行的步骤示意性表示;及图4为带有产生图3的方法步骤的性能的计算机可执行指令的计算机可读介质的表示。
具体实施例方式
尽管下面将参考附图对本发明进行更详细的描述,其中示出本发明的优选实施例,应该理解,从描述的开始起,在相关领域的技术人员可以修改此处所描述的本发明而仍然获得本发明的满意结果。因此,下列描述应当理解为对于适当领域的技术人员是广泛的,示教的公开引导,而不是作为对本发明的限定。
在开始处,回顾某些将被用在下列讨论中的术语是很有用的。“打印任务”通常为存储的数据文件,其对于诸如高性能个人计算机或网络服务器信息处理系统是可访问的。数据文件可以以多种对打印技术人员已知的方式生成,包括原始文件键入,扫描,使用图形设计程序等。打印任务可以理解为定义一个页面序列。一页是一张纸的一个表面。该张纸可以为一个切片,如同单片的对大多数人已知的信纸大小的纸,或是连续的卷纸。由于具有两面,一张纸可以接收到两页。在将打印任务传送给打印机时,操作者将创建一个“任务门票”,其向打印机或打印服务器描述将打印任务以创建者需要的形式出现在完成的页面上所必要的控制功能。这些控制功能可以包括特殊特征或元素的组合,从一页到另一页的某个特征或元素的重复,字体或页面的改变等等。
指令(诸如在任务门票中的那些指令)以特定的数据流表达,例如智能打印机数据流(IPDS)。在可选的实施例中,可以使用可选的数据流,例如PostScript,惠普打印机控制语言(PCL),打印机任务语言(PJL)或Apple Talk打印机访问协议(PAP)。然而,优选地,所采用的数据流即是结构化的又是双向的。“结构化”的意思是,一组标准化的控制与规定这些数据是如何表示的原始数据被一并发送。“双向”的意思是,在主机(例如打印服务器或其他数据流发生器)和接收者(例如打印机或其他输出设备)之间提供一种同步机构,允许它们在数据流的各个点上同步化。例如,根据提供用于主机启动的查询和接收者回复信息之间交换的承认协议,主机和接收者可以能够在一个命令或页面级上同步。此外,尽管本发明的实施例将参考特殊传输级协议(还被称作运送协议或通信协议),即传输控制协议(TCP)进行描述,也可以采用其他在两端之间提供无差错,双向字节流的协议,例如施乐网络系统(XNS),S/370并行通道主机连接或类似的其它协议。后面描述的作为本发明的特定实例的控制器,可以例如被功能性地插入到此处描述的主机和接收者之间。
本发明的一个重要概念是流水线页面处理。在现有的控制器设计中,每个页面可以通过不同的处理器并行进行光栅图像处理,但它们被重新组合并从一个单独的点卷绕在头装置上。总线争用和存储器访问(即使在需要的速度下清空存储器也是一个挑战)是主要瓶颈。
现在更具体地参考附图,根据本发明的打印控制器在图1中所示,通常在10处识别。如此处所示,打印控制器包括多个分别表示的元件,如将参考图2在此处描述的那样。然而,应当理解,从一开始,本发明设想这里分别所示和描述的功能可以以各种方式和组合合并,而保持在本发明的范围之内。
在图1的方案中,控制器10被放置在打印服务器11和打印机12之间。打印机12具有多个打印头14。尽管这里未具体描述,打印机领域内的技术人员,尤其是使用卷筒送纸式高速彩色打印机的技术人员将会理解,可以为纸张的正面和背面提供打印头,以打印纸张两个表面上的页面,以及为各种多彩色打印诸如CMYK所必需的各种着色剂提供打印头。
这里提出的设计将打印机控制器10分成具有三个逻辑级的流水线。在最常用的实现方案中,每个级在一个或多个独立的机器上运行。在由本发明设想的其它实现方案中,这些级可以合并为更小数目的机器,或者甚至是具有足够处理能力以执行必要的计算步骤的单一的机器。下面将参考图2对流水线级进行描述。
第一级为序列发生器21,其接收来自打印服务器的数据流。它处理所有通信和集合,并报告回所有必需的应答和错误信息。序列发生器21是控制器中的“主协调者”,它知道哪一页位于流水线中的哪一点上。
如上文提到的,由通过打印服务器传送的数据流定义的打印页面可以包括两类数据局部的和全局的。局部数据只影响当前页面。全局数据,即使被包含在一个打印页面之内,也能改变全局打印状态并因此影响后续的页面。全局数据还可以在页面之间存在。序列发生器21分析输入页面并且更新全局状态。注意序列发生器不需要完全分解输入数据,只要识别全局操作就足够了。作为一种特殊的方式,序列发生器可以一次在多个页面上操作,其中每个页面生成一个对于全局状态的“增量(delta)”。序列发生器接着将具有全局状态的每个页面打包,该全局状态在该页面被启动时有效。页面/状态组合现在是独立的,并能够从所有其它页面中被单独地处理。注意序列发生器21可以在其它单元中进行打包工作,因此,例如在单独一个纸张上的所有页面被打包为一个单元。
序列发生器保持一个以这种方式生成的独立工作单元序列。该序列由页面RIP处理器在下一个流水线级访问。
在所描述的表格内,页面RIP流水线级22包括多个独立的RIP机22a,22b,22c...22n。为了使网络争用最小化,可以使用多个物理网络将这些RIP机连接到序列发生器21。注意系统可以以这样一种方式组织,即序列发生器到页面rip网络的加载要远远小于从打印服务器到序列发生器21的网络连接。
每次当RIP机能够接收另一个工作单元时,它联系序列发生器21并获得下一个工作单元。依赖于RIP机的大小和速度,每次可以工作在多个工作单元之上。还要注意RIP机可以有不同的大小,而且可以与序列发生器显著不同。例如,序列发生器21可以为具有良好I/0性能的高端机器,而RIP机22a及下列等可以更廉价并低速。还要注意,该设计中每个RIP机在其准备好时要求更多的工作,该设计提供用于自动加载平衡。
如果一个RIP机遇到一个错误,该错误被报告回序列发生器21。由于每个工作单元被进行光栅图像处理(RIP),产生出很多的位图。该数目可以为零(空白页面),1(单色),4(CMYK),或者如果打印引擎使用超过四色时甚至更多。每个RIP机知道工作单元将被打印在纸张的正面还是背面,因此知道该使用哪一个头。RIP机向序列发生器报告该单元已经完毕,然后向下一个流水线阶段,头驱动器24a及下列等发送位图。如果任一位图为空,则将该情况报告给相关的头驱动器。
由于位图可以非常大,该通信是一个重要的点。基于这一原因,RIP到头驱动器通信可以被分成多个网络,如图2所示在25处,被置于RIP机22a及下列等和头驱动器24a及下列等之间。作为一种极端的情况,每个头驱动器可以具有一个专用的网络。一种更合理的方式将在两个专用网络上具有黑色打印头,其原因在于它们可能具有绝大多数的数据要打印,且其它头可以以某种方式共享网络。
头驱动器24a及下列等接收来自RIP机22的位图,并将这些位图发送至打印机12中的实际打印头14。由于每个纸张面需要不同的时间量来处理,位图可以到达序列之外。头驱动器将收到的位图放入正确的序列中,并将它们以适当的顺序发送给打印头。
当RIP机完成一项分配的任务时,序列发生器21可以当作同步装置,向RIP机发出一条命令以发送所处理的纸张面的适当色彩板,如打印头驱动器24a及下列等所需要的那样。根据可提供的处理能力,序列发生器和同步装置的功能可以由还用作RIP机的系统来执行。或者,这些功能可以以其它方式分离或组合,如通过让一个RIP机22a还用作序列发生器21,而另一个RIP机22b还用作同步装置。
或者,一些实现方法可以优选在RIP机和头驱动器之间使用不同的中间格式,而代替位图。这里有很多种可能的策略,每一种都表示一种在所需的带宽和所需的由头驱动器的处理之间不同的折中。
更广泛的理解,本发明执行如图3中示意地表示一系列步骤。如此处所示,在100处,一个输入打印数据流被接收并分解为局部部分。局部部分然后传递给多个RIP机,并在101处,在多个光栅图像处理机中并行处理,以产生适合驱动相关打印机的打印头的打印头数据流,此处描述为位图数据流。打印头数据流在102处被输出至适当的打印机的打印头驱动器。
本发明可以提供作为一种计算机程序产品,该产品包括在其上存储的可以用于对计算机(或其他电子设备)进行编程的指令的机器可读介质200(图4),来执行根据本发明和如图3所示的处理。机器可读介质可以包括,但不限于,磁盘,光盘,CD-ROM,磁光盘,ROM,RAM,EPROM,EEPROM,磁或光卡,或是其它类型的适用于存储电子指令的介质/机器可读介质。而且,本发明可以作为计算机程序产品下载,其中程序可以通过包含在载波中的数据信号的方式或其它通过通信线路的传播介质(例如,调制解调器或网络连接),从远端计算机传送至请求计算机。
在附图和说明书中阐明了本发明的优选实施例,尽管使用了特定术语,该描述只是以一般性的和描述的意义使用术语,而不是出于限制的目的。
权利要求
1.一种装置,包括元件流水线处理打印控制数据,具有多个打印头驱动器,每个驱动器控制对纸张的着色剂的使用并具有一个接收数据信号的输入端口;多个光栅图像处理器,每个处理器具有一个与所述多个打印头驱动器的输入端口通信的输出端口,以便向这些输入端口发送控制对纸张的着色剂的使用的信号,及一个接收分解的页面数据的输入端口;及一个序列发生器,具有一个与所述多个光栅图像处理器的输入端口通信的输出端口,以及一个接收打印数据流的输入端口,所述序列发生器监视在流水线元件中流过的数据流,并将打印数据流分解为关于单个页面的局部数据部分和关于多个页面共享特征的全局状态数据部分,所述序列发生器将分解的页面局部和全局状态数据部分一同打包;所述光栅图像处理器并行处理关于多个页面的打包的分解页面数据,并生成数据信号,所述信号被发送至由所述序列发生器指示的所述打印头驱动器。
2.根据权利要求1的设备,其中所述序列发生器对将被发送至所述光栅图像处理器的打包的单个页面数据排队,并且进一步,其中所述光栅图像处理器的各个处理器从所述排队数据中取出数据作为完成的关于单个页面的数据处理,所生成的数据信号被传送至打印头驱动器。
3.根据权利要求1的设备,其中每个所述光栅图像处理器将数据从作为打印数据流传输的形式转化为作为数据信号传输到打印头驱动器的形式。
4.根据权利要求3的设备,其中每个所述光栅图像处理器将数据从作为打印数据流传输的形式转化为依赖于单个页面是否为空白或用单色打印或用多色打印的可变数目部分。
5.一种设各,包括元件处理打印控制数据流水线,具有多个打印头驱动器,每个驱动器控制对纸张的着色剂的使用并具有一个接收数据信号的输入端口;多个光栅图像处理器,每个处理器具有一个与所述多个打印头驱动器的输入端口通信的输出端口,以便向这些输入端口发送控制对纸张的着色剂的使用的信号,及一个接收分解的页面数据的输入端口;及一个序列发生器,具有一个与所述多个光栅图像处理器的输入端口通信的输出端口,以及一个接收打印数据流的输入端口,所述序列发生器监视在流水线元件中流过的数据流,并将打印数据流分解为关于单个页面的局部数据部分和关于多个页面共享特征的全局状态数据部分,所述序列发生器将分解的页面局部和全局状态数据部分一起打包;所述光栅图像处理器并行处理关于多个页面的打包的分解页面数据,并生成数据信号,所述数据信号被发送至由所述序列发生器指示所述打印头驱动器,每个所述光栅图像处理器将数据从作为打印数据流传输的形式转化为依赖于单个页面是否为空白或用单色打印或用多色打印的可变数目的位图。
6.一种方法,包括下列步骤接收打印数据流并将该数据流分解为局部和全局部分;把分解的局部和全局打印流数据部分打包在一起;将打包的打印流数据部分排队;将排队的打包打印流数据部分发送至多个光栅图像处理器;并行处理多个发送的打包打印流数据部分,以生成打印头驱动数据信号;并将生成的打印头驱动数据信号发送至打印机的打印头。
7.根据权利要求6的方法,其中所述打包打印流数据部分的步骤包括打包适用于单个页面的部分。
8.根据权利要求6的方法,其中所述处理的步骤包括生成位图数据信号。
9.一种程序产品包括计算机可读介质;及存储在对于计算机系统可访问的所述介质中的程序指令并且当在计算机系统上执行时有效,以便使系统接收打印数据流并将该数据流分解为局部和全局部分;把分解的局部和全局打印流数据部分打包在一起;将打包的打印流数据部分排队;将排队的打包打印流数据部分发送至多个光栅图像处理器;并行处理多个发送的打包打印流数据部分,以生成打印头驱动数据信号;并将生成的打印头驱动数据信号发送至打印机的打印头。
全文摘要
一种打印控制器,方法和程序产品,其中打印流数据被接收、分解为局部和全局部分、被打包用于进一步的光栅图像处理,然后由多个光栅图像处理器并行处理。
文档编号G06F3/12GK1506230SQ20031011817
公开日2004年6月23日 申请日期2003年11月13日 优先权日2002年11月14日
发明者N·里贾维, N 里贾维 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1