处理纵列区域中的图像数据带转让专利

申请号 : CN201180071845.4

文献号 : CN103608764B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : M.T.普伦R.W.埃尔南德斯J.哈里斯B.R.拉森

申请人 : 惠普发展公司有限责任合伙企业

摘要 :

一种处理图像数据的装置和方法,其中图像流水线以串行方式处理图像数据的多行带的纵列区域。

权利要求 :

1.一种采用具有至少一个着色器的打印机打印行列格式的代表图像像素的连续色调图像数据的方法,包括:识别连续色调数据的多行带,所述带被划分成连续色调数据的多个重叠的多列纵列区域;以及通过为每个区域动态再编程图像流水线,通过图像流水线串行处理所述带的每个区域的所述连续色调数据,以便为所述着色器中的一个单个着色器生成与所述带相对应的打印数据。

2.根据权利要求1的方法,包括:

将对应于所述带的纵列区域的连续色调数据压缩成压缩带的一组压缩列块;以及在串行处理相应纵列区域之前,把所述压缩带的每个压缩列块串行解压缩成所述相应纵列区域的连续色调数据。

3.根据权利要求1或2的方法,其中动态再编程所述图像流水线包括:对于每个纵列区域,在生成所述打印数据之前,加载与所述纵列区域关联的状态数据;以及在生成所述打印数据之后,保存与所述纵列区域关联的状态数据。

4.根据权利要求1或2的方法,包括:

将为所述单个着色器的所述纵列区域所生成的打印数据缝合到用于所述着色器的存储器缓冲器的相应纵列位置,所述存储器缓冲器被以所述图像的行列格式组织。

5.根据权利要求4的方法,包括:

在用于所有纵列区域的打印数据都已经被放置在存储器缓冲器中之后,通过将来自所述存储器缓冲器的生成的打印数据应用到所述着色器,在打印介质上打印所述带的至少一部分。

6.根据权利要求4的方法,其中,所述缝合包括从打印数据剪切与相邻纵列区域重叠的纵列部分。

7.根据权利要求1或2的方法,包括:

在所述处理之后,选择至少一个不同的多行带或一个不同的着色器,并且重复所述处理。

8.根据权利要求7的方法,其中所述选择包括:对于至少一个特定着色器,评估用于接收打印数据的特定着色器的存储器缓冲器的可用性、所述特定着色器已经等待所述打印数据的时间以及要为特定着色器处理的下一个多行带中的至少一个。

9.一种为期望介质尺寸和打印分辨率配置打印机的方法,包括:确定与图像行的介质尺寸和打印分辨率相对应的像素数量M;

为配置成处理预定的较少数量m个像素的图像行的打印机的图像流水线,基于M和m计算重叠列的数量N;以及配置所述图像流水线,以通过串行处理N个纵列部分中的连续色调图像数据的M个像素的多行带而将所述带转换为与所述带相对应的打印数据。

10.根据权利要求9的方法,包括:

重复所述确定、计算和配置,以重新配置图像流水线,以适应不同的介质尺寸或不同的打印分辨率中的至少一个。

11.根据权利要求9或10的方法,其中,所述配置图像流水线包括:为图像流水线的控制器生成指令以使所述带的N个纵列部分顺序通过所述流水线。

12.一种打印机,包括:

打印引擎,具有至少一个着色器;

压缩器,用于将行列格式的连续色调图像数据转换为压缩的多行带,每个所述带被划分成多个重叠的多列纵列区域;

图像流水线,用于处理选定的一个所述带的纵列区域以便为选定的一个着色器生成打印数据,所述打印数据对应于选定带的纵列区域;以及控制器,用于动态再编程所述流水线以串行处理选定带的每个所述纵列区域。

13.根据权利要求12的打印机,其中所述控制器通过在所述纵列区域被处理之前将与所述纵列区域相关联的先前保存的状态数据从状态存储器加载到所述流水线,并且在用于所述纵列区域的所述打印数据被生成之后将与所述纵列区域相关联的修改的状态数据保存到所述状态存储器,而为每个纵列区域动态再编程所述流水线。

14.根据权利要求12或13的打印机,其中所述流水线处理预定最大宽度的纵列区域,并且其中所述流水线被基于所述最大宽度、指定的介质尺寸和指定的打印分辨率采用编程方式配置成处理在N个纵列区域的所述带。

15.根据权利要求12或13的打印机,包括:

存储器,用于为所述选定带和选定着色器缓冲从所述流水线接收的打印数据;以及其中所述打印引擎被配置成在所有的纵列区域已经被所述流水线处理之后,使用选定的着色器在打印介质上打印为选定带而缓冲的打印数据。

说明书 :

处理纵列区域中的图像数据带

背景技术

[0001] 黑白和彩色打印机二者都被广泛应用于商业和家庭中。这样的打印机包括激光打印机、喷墨打印机和其它打印技术。除独立(stand-alone)的打印机外,打印机也被广泛地并入到利用打印子系统的其他产品中,诸如:复印机、传真机和多功能设备(例如:打印机、扫描仪、复印机和传真机中至少两种的组合),如此等等。通常,打印机接收图像数据,并将图像数据转换为用于在打印介质上打印图像的打印数据。

附图说明

[0002] 图1是根据本公开的实施例的打印机的结构图表示。
[0003] 图2 是使用与本公开的实施例相一致的可使用图1中打印机打印的连续色调图像数据的示意性表示。
[0004] 图3是与本公开的实施例相一致的图1中打印机的图像压缩器及其操作的示意性表示。
[0005] 图4是与本公开的实施例相一致的图1中打印机的图像流水线的结构图表示。
[0006] 图5 是与本公开的实施例相一致的使用图1中打印机处理图像数据的带的重叠纵列区域以形成打印数据的剪切纵列区域的示意性表示。
[0007] 图6 是与本公开的实施例相一致的通过图5中的图像流水线顺序处理图像数据的带的纵列区域的示意性表示。
[0008] 图7 是与本公开的实施例相一致的示例性指令流的示意性表示和由图1的打印机的控制器52对它的执行。
[0009] 图8 是与本公开的实施例相一致的为期望的介质尺寸和打印分辨率而配置打印机的方法的流程图。
[0010] 图9A-B 是与本公开的实施例相一致的采用具有至少一个着色器的打印机打印代表图像像素的行列格式的连续色调数据的方法的流程图。

具体实施方式

[0011] 正如背景技术部分所指出,打印机被广泛应用于多种产品和应用。许多用户期望这些产品对于给定水平的性能和质量而言具有低成本。许多用户也期望在不同时间在不同尺寸的打印介质上打印。例如,在一时间用户可能希望在较小的A4尺寸介质上打印,而在其他的时间在较大的A3尺寸介质上打印。类似地,用户可能希望在不同的时间以不同的打印分辨率打印,例如,在一时间以300点每英寸(dpi)的分辨率,在另一时间以1200 dpi。
[0012] 打印介质可以是任何类型的合适的片材或卷材,例如:纸、卡片纸(card stock)、布或其他织物、幻灯片和聚脂薄膜等等,但是为了方便,所示实施例中使用纸作为打印介质。
[0013] 打印机被设计为满足其支持的最为严格的需求。在上面的举例中,打印机会被设计为以1200 dpi 在A3介质上打印,但也可以在A4介质和300dpi下加以使用。更严格的需求增加了各种打印机组件的成本。例如,许多打印机处理将打印到一系列图像宽带(image-wide strips)上的图像数据。处理和存储用于A3宽,1200dpi 图像带的数据比A4宽,300dpi的图像要使用具有更多逻辑电路和存储器的组件。一个这样的组件可以是实现用于将图像数据转换为用于打印引擎的打印数据的图像流水线的专用集成电路(ASIC)。在一种情形下,这些组件以最严格的要求设计,并且这些成本被传递给所有的购买者,连那些没有严格打印需求的购买者也都被传递到。可替代地,不同的组件针对每组打印需求而设计,但是这又给制造厂商业务的许多方面增加了复杂度和成本。此外,如果新的需求出现(例如,以2400dpi打印A3宽带)已经存在的组件很可能不能适应它。
[0014] 现在参考附图,附图示出以串行方式处理图像数据带的纵列区域的打印机和打印方法的实例。所述打印机包括被动态再编程以处理所述带的每个区域的图像流水线。要为一个带而处理的纵列区域的数量基于介质尺寸、打印分辨率以及纵列区域的预定宽度而被配置。通过改变要为一个带而处理的纵列区域的数量,介质尺寸和打印分辨率的不同组合可以被所述专用集成电路(ASIC)适应。在图像处理吞吐量很少或不减少的情况下,这个宽度可以被合宜地选择以通过减少ASIC内部和外部的存储器和逻辑电路数量的方式有利地降低打印机的成本。相同的ASIC可以在多种具有一系列不同的介质尺寸和打印分辨率需求的打印机中使用。此外,通过增加带中纵列区域的数量,所述ASIC可以被用来在更新的以及更大的介质尺寸上并且以更新的以及增大的打印分辨率打印。
[0015] 参照附图1能最好地理解的是:打印机10的一个例子具有打印引擎12,用于将至少一个着色剂14沉积在打印介质16上。如本文以及所附权利要求中定义的,“着色剂”应该被广泛地理解为表示被沉积在打印介质上以形成打印图像的至少一部分的特定颜色的物质。打印引擎12具有至少一个着色器18。如本文以及所附权利要求中定义的,“着色器”将被广泛地理解为表示直接或间接地将特定着色剂沉积在打印介质上的打印引擎子系统。例如,引擎12可以具有四个着色器18,每个着色器配置成沉积蓝绿色(C)、红紫色(M)、黄色(Y)和黑色(K)不同着色剂中的一个。这样的着色剂是使彩色图像能够被打印在打印介质16上的着色剂集合中的一个实例。在其他的实例中,取代具有多个着色器18的单独打印引擎12,可以用均具有一个或多个着色器18的多个打印引擎12。
[0016] 打印机10具有压缩器20。压缩器20被配置为将行列格式的连续色调(contone)图像数据22转换为压缩的多行像素带40。如本文以及所附权利要求中定义的,“连续色调图像数据”将被广义地理解为表示共同地表示一幅图像的像素的二维排列,其中所述像素具有足够范围的值以至于对于一名观察者而言所述图像呈现出实质上连续的色调。所述连续色调图像数据图像可以是灰色级的(grayscale)或彩色的。连续色调图像数据被典型地表示在色彩空间中。色彩空间的一个示例是RGB,其中每个像素具有一个红色值、一个绿色值和一个蓝色值,其共同定义了三维色彩空间中像素的颜色。RGB色彩空间被认为是“设备独立”(device-independen)的,因为单独的R、G和B值不对应于任何特定图像着色设备。例如,这些值不对应于用于打印机10的着色器18的 C、M、Y和K值。
[0017] 连续色调图像数据22可以是经由接口24从打印机10外部的源(诸如像计算机)接收的外部数据28。在一些实例中,高级别的图像数据(例如页面描述语言(PDL)中的数据)可以被发送到打印机10,并且打印机10处理所述PDL数据以生成连续色调图像数据22。所述连续色调图像数据22可替换地或另外地被经由接口24从打印机10内部的图像源26接收。该图像源例如可以是包含在例如复印机或多功能打印设备里的光学扫描仪。不同格式的连续色调图像数据22可以被输入到压缩器20,并且所述压缩器20可以被配置成用于压缩多种不同连续色调数据格式。
[0018] 现进一步详细考虑连续色调图像数据22,并进一步参照附图2,所述数据22被以独立像素34的行列格式阵列加以排列。为清楚起见,示例了少数这样的像素34,不过可以理解:这样的像素存在于以二维行列方式排列的数据22的各处。例如,行35是一个这样的像素(34)行。对于被压缩器20执行压缩的数据,图像数据22可以被分成N个未压缩的多行带30,诸如标示为30A到30N的带。每条带30包含多个行的所有像素34。在一些实例中,带30可以包含64行或128行的所有像素34。
[0019] 现进一步详细考虑压缩器20的操作,并进一步参照附图3,压缩器20将未压缩带30划分成多个重叠的多列纵列区域32以便压缩。每个区域32包括多列独立像素34。图3图示了带的左侧32A,中间32B和右侧32C重叠的纵列区域32,具有用大括号 (“{“)指示的边界。中间区域32B表示0到N中间区域。一些实例的带30包括左侧和右侧纵列区域32A,32C以及零中间区域32B,而在其他实例的带30包括多个中间区域32B。重叠区域36中的像素34被包括在两个重叠区域32中,这将随后参照附图5更详细地讨论。
[0020] 在未压缩带32的重叠纵列区域32已经被识别后,压缩器20将纵列区域32转换成压缩多行带40的压缩重叠纵列区域42。除了多种其他的压缩技术以外,压缩器20可以利用一个或多个不同种压缩技术,诸如像:JPEG、JPEG 2000以及LZW等技术。在一些实例中,压缩的纵列区域42可以包含单个平面,其中,压缩的R、G、B像素值相互交错。在其他的实例中,压缩的纵列区域42可以包括用于R、G、B像素值的单独平面。
[0021] 进一步参考附图1,压缩带40可以被存储于压缩图像存储器46中。在一些情形中,多个压缩带40可以在压缩带40下游处理开始之前被存储于所述存储器46中。例如,多个对应于将打印的整页图像的压缩带40可以在下游处理开始之前被存储。
[0022] 打印机10包括图像流水线50 ,其被配置为串行处理一个所选压缩带40的均压缩的纵列区域42,以便为一个所选着色器18生成与纵列区域42相对应的打印数据80,并且将所述打印数据80存储于打印数据存储器90。
[0023] 现进一步详细考虑图像流水线50,并进一步参考附图4,所述流水线具有多个处理压缩重叠纵列区域42A的级。如本文以及所附权利要求中定义的,“流水线”应该被广义理解为表示一种元件,其中它的多个级(通过硬件、软件或二者的结合)基本上以并行方式执行不同的数据变换,所述数据被串行从一级到一级串行向前推进通过所述流水线。压缩纵列区域42进入解压器级52,其解压所述区域42以便为重叠纵列区域生成被解压的设备独立的连续色调数据54。在一些实例中,所述设备独立数据54被组织(organized)成多个(I个)平面。例如,在所述设备独立数据54采用这种方式被组织的情况下,在所述设备独立数据54中可以有三个独立的R、G、B像素(34)值的平面。然后所述设备独立的数据54进入色彩空间转换器级56,其将所述数据54转换为多个(J个)用于纵列区域的着色器独立数据58的平面。例如,在被解压的纵列区域数据54中这可以是四个独立的C、M、Y和K像素(34)值的平面。着色器独立的数据58的J个平面被提供到色彩空间多路复用器60。所述多路复用器60选择所述J个平面中的一个以便由打印发生器级70进行处理。根据着色器独立数据58的被选择平面的像素,打印发生器级70生成用于对应于J个平面中被选择一个的那个特定着色器18的打印数据80的对应像素。典型地,所述打印数据80具有用于着色器18的控制信号,当所述控制信号被应用时, 所述控制信号使着色器18在打印介质16上沉积对应于所述图像的各种像素值的适当量的着色剂14。如随后参照附图5更加详细地讨论的,打印数据80与无压缩纵列区域32的剪切(cropped)部分的像素34相对应。
[0024] 打印发生器级70可以包括多个子级。缩放器子级72可以对行和/或列方向上着色器独立数据58的所选平面进行缩放。例如,缩放器72可以通过执行2X缩放操作将300 dpi数据转换为600 dpi数据,或者通过执行4X缩放操作转换为1200 dpi数据。在一些实例中可以执行其他量的缩放,包括从列的方向沿着行的方向不同量的缩放。增强器子级74能够处理着色器独立数据58,以提高所打印图像的质量。半色调器(halftoner)子级76把所述数据半调色( halftones)成与用于着色器18的打印数据相一致的分辨率,并且还可以进一步提高将用打印数据生成的图像的质量。缓冲器管理器子级78最终确定打印数据80的格式,并且将其存储于打印数据存储器90(图1)。
[0025] 现进一步详细考虑打印数据80,并进一步参考附图5,如此前讨论,图像流水线50处理连续色调数据的重叠纵列区域42,并且生成用于特定着色器18的打印数据的剪切纵列区域80。所述图像流水线50的缓冲器管理器子级78执行消除重叠的剪切操作。例如,重叠纵列区域12A-C被分别处理以生成剪切的纵列区域80A-C。纵列区域42A-C被定义成包括重叠部分36,因为打印数据生成器70执行的各种操作(例如像那些由增强器74和/或半调色器76所执行的)可以在数据的滑动窗口上加以执行,通过滑动窗口一个像素的打印数据值可以至少部分地用其邻近像素加以确定。由于每个重叠纵列区域42被图像流水线50串行处理以生成相应的剪切纵列区域80,重叠36宽到足以包括影响正被处理的纵列区域42的打印数据80的相邻纵列区域42的那些值像素。左侧的42A和右侧的42C重叠的纵列区域具有一个重叠区域,而中间重叠纵列区域42B具有两个重叠区域。
[0026] 左侧的剪切列80A通过从打印数据剪切区域84A生成。中间的剪切列80B通过从打印数据剪切两个区域84B生成。右侧剪切列80C通过从打印数据剪切区域84C生成。打印数据80的剪切纵列区域的作为结果的宽度是重叠纵列区域42减去相应的剪切区域84的宽度。
[0027] 在一些实例中,通过所述流水线处理的所有重叠纵列区域42A-C可以具有相同的宽度。在此情形下,作为结果的中间剪切纵列区域80B将比左侧80A和右侧80C剪切纵列区域窄。在其他实例中,由图像流水线50所输出的剪切纵列区域80A-C都可以具有相同的宽度。在此情形下,中间重叠纵列区域42B将比左侧42A和右侧42C重叠纵列区域宽。宽度上的其他变化也是可能的。
[0028] 现在更详细地考虑打印数据缓冲器存储器90 ,并参考图6,所述打印数据存储器90被逻辑上以行列格式组织为每个打印数据80的着色器18有一个平面。所述图像流水线50把为特定着色器18而生成的打印数据80存储到所述存储器90相应的平面。
[0029] 所述存储器90典型地具有足够的深度以存储打印数据80的多个带88,其中打印数据的每个带88对应于图像数据22的带30。图像流水线50的缓冲器管理器子级78将为每个纵列区域42生成的打印数据80A-C缝合(stitches)到所述存储器90的适合平面的对应列86A-C中的位置。例如,左侧纵列区域42A被图像流水线50在通道1中处理以生成打印数据80A,其被存储到特定带88的列86A的存储器位置。相似地,中间纵列区域42B被图像流水线50在通道2至(N-1)中处理以生成被存储到特定带88的列86B的存储器位置的打印数据80B。右侧纵列区域42C被图像流水线50在通道N中处理以生成被存储到特定带88的列86C的存储器位置中的打印数据80C。在一些实例中,为了降低或最小化打印机10的成本,所述存储器90的大小能够基于打印引擎12的速度和宽度被最优化。
[0030] 当与特定着色器18相关联的一个特定带88的所有打印数据80都已经被生成并存储在所述存储器90中,它可由打印引擎12的着色器18使用来消耗以在打印介质16上沉积相应的着色剂14。
[0031] 现在更详细地考虑压缩带40的处理过程 ,并参考图6,图像流水线50的操作由控制器52协调。控制器52可以是在包括图像流水线50的ASIC 100中实现的微控制器。控制器52被配置成执行存储在可由控制器52访问的指令存储器54中的至少一个指令流,以动态地再编程所述流水线50来按串行方式处理所选带的每个所述纵列区域42。所述指令存储器54可以位于ASIC100内,或可以是ASIC100外部的组件并通信地耦合到ASIC100。控制器52也能够访问ASIC100中的SRAM 存储器56。SRAM存储器56典型地被用于存储由图像流水线50生成并使用的中间数据。在一些实例中,所述SRAM存储器56的量可以与能够被图像流水线50进行处理的纵列区域42的预定的最大宽度相对应。
[0032] 控制器52通过在纵列区域42被处理之前将以前保存的与纵列区域42关联的状态数据从状态存储器58加载到所述流水线50中,并在用于纵列区域42的打印数据80被生成之后,将与纵列区域42关联的修改的状态数据保存在状态存储器58中,来为每个纵列区域42动态地再编程图像流水线50。状态存储器58典型是位于ASIC100的外部,但也可以替代地位于ASIC100的内部。对于给定的带40,用于纵列区域42从状态存储器58加载的状态数据典型地包括先前处理的带的纵列区域的一行或更多行(与所述给定的带相邻的)相关联的数据。这个数据被所述打印数据生成器70在滑动窗口操作中使用,所述操作用与先前处理的带相邻的给定带的行执行,以便正确地解决先前处理的带中相邻像素对给定带的这些行上像素的影响。所述状态数据也可以包括足以正确地启用对特定纵列区域42(例如左侧、中间或右侧)处理的图像流水线50的各种子系统的状态的信息。
[0033] 现在考虑由控制器52对示例性指令流110的执行,并参考图7,所述指令流110取决于包括压缩带40的纵列区域42的数量。示例性指令流110被配置成使控制器52和图像流水线50来处理每个压缩带40的三个纵列区域42(左侧的42A,中间的42B和右侧的42C)。在112,控制器52将用于左侧纵列区域42A的状态数据从状态存储器58恢复到图像流水线50。在114,图像流水线50被配置成处理左侧纵列区域42A。配置图像流水线50典型地包括设置图像流水线50的各种控制寄存器和表,并初始化用于处理区域的各种图像流水线子级。配置之后,图像流水线50处理纵列区域42A,生成打印数据80A,并把所述打印数据80A存储到打印数据存储器90中用于相应带88的列86A处。图像流水线处理是通过控制器52向图像流水线50发送信号以处理116纵列区域42A而启动。尽管图像流水线50正处理着纵列区域42A以生成打印数据80A,控制器52却在等待来自图像流水线50的“区域完成”信号。在一些实例中,控制器52在等待来自图像流水线50的这个信号之时可以执行管理任务。例如,这可以包括评估与用于接收打印数据80的各种着色器18关联的所述存储器缓冲器90的平面的可用性、各种着色器18已经等待了打印数据80的时间和要为每个着色器18处理的下个带中的至少一个。
[0034] 在打印数据80A已经被生成和存储之后,图像流水线50向控制器52发送“区域完成”信号,指示:纵列区域42A的处理已经完成。作为响应,控制器52将可用于处理下一个左侧纵列区域42A的状态数据存储在状态存储器58中。
[0035] 中间的纵列区域42B由指令120、122和126,以及操作124类似地处理。右侧的纵列区域42C由指令128、130和134,以及操作132类似地处理。在带40的所有纵列区域42已被处理以及相应的打印数据80已被存储在所述存储器90之后,控制器52或所述图像流水线50可向打印引擎12发出“带完成”信号以通知打印引擎12用于特定着色器18的打印数据80的带可以用于打印了。然后,存储器平面可用性、着色器等待时间以及下个一条带的标识可以被控制器52利用以动态选择将被图像流水线50用于下一条带的处理操作的带40以及着色器18。由控制器52动态地选择的带40和着色器18序列共同地为所有的着色器18和图像数据22的所有带40生成打印数据80。
[0036] 现在更详细的考虑图像流水线50的所述配置以处理在N个纵列区域42的带,并向回参照附图1,打印机10包括配置器140。配置器140通过生成相应的指令流110并将其存储在指令存储器54中来采用编程方式配置所述流水线50以处理在N个纵列区域42中的带40。如此前所描述的,所述图像流水线50处理预定最大宽度的列42,以减少用于图像流水线50的ASIC100中存储器和逻辑电路的数量,并且允许单个ASIC100能够在具有一系列不同介质尺寸和打印分辨率需求的各种打印机中得以使用。在带40比图像流水线50的最大宽度宽的情况下,带40被划分成N个纵列区域42以供处理。配置器140也配置和生成由控制图像流水线50的控制器52执行的指令流。
[0037] 带40被划分成的纵列区域42的数量N被基于最大宽度、打印介质16的指定尺寸以及要打印打印数据80所用的指定打印分辨率而加以确定。介质尺寸和/或打印分辨率可以为给定打印机10预先确定;可以被确定为打印机10上电顺序的一部分;或者由用户指定。例如,用户可以经由打印机的用户界面输入这些参数。打印机10可以包括为此目的而使用的键盘和显示器(未示出)或者其他机构。例如,打印机可以根据介质托盘的用户为适应打印机中期望的介质所做的调整来确定介质尺寸。带40将被划分成的纵列区域42的数量N可以通过按照图像流水线50的预先确定的最大宽度在打印数据80的全宽度行上划分多个单独打印元素(例如“点”)而确定。
[0038] 一旦数量N已经被确定,配置器140能够生成对应N的指令流110,并将其存储在指令存储器54中。所述指令存储器54典型地包括用于每个着色器18的不同指令流110。在极大程度上,所述不同的指令流110是相似的,但是由于图像质量的原因,图像流水线50可具有一些不同的控制寄存器和/或与不同着色器18关联的表设置。如果在与不同着色器18关联的指令流110之间没有差异,共同的指令流110能够被控制器52使用。控制器52使用与特定着色器18对应的相称指令流110,对于该特定着色器18,用于带40的打印数据80正在由图像流水线50生成。
[0039] 在一些实例中,配置器140包括耦合到包含固件指令的存储器144的处理器142,所述固件指令(当其被处理器142执行时)确定介质尺寸和打印分辨率,计算每个带的纵列区域的数量N,生成指令流110,并将指令流110存储到指令存储器54中。
[0040] 本公开的另一个实例(参照附图8能最好理解)是一种为期望的介质尺寸和打印分辨率配置打印机10的方法200。在一些情况下,附图8的流程图可以被认为是在打印机10中(例如由控制器52和处理器142中的一个或多个分别执行指令存储器54和存储器144中的指令)实现的方法中的步骤。
[0041] 方法200开始于(在202)确定对应于连续色调图像数据22的行的介质尺寸和打印分辨率的像素的数量M。在204,为被配置成处理像素34中预定较少数量m个像素34的图像行的打印机10的图像流水线50,重叠列32的数量N被基于M和m确定。在206,图像流水线50被配置成将连续色调图像数据22的M个像素34的多行的带30转换为对应带30的打印数据80。图像流水线50通过串行处理在N个纵列部分或区域42的带30的压缩版本40而转换带30。在一些实例中,方法200包括(在208)生成用于图像流水线50的控制器52的指令110。指令110将带的N个纵列部分42按顺序通过所述流水线50。在一些实例中,方法200包括(在210)重复确定202,计算204,以及配置206以重新配置图像流水线50来适应为打印机设置的不同介质尺寸或不同打印分辨率中的至少一个。
[0042] 本公开的另一个实例(参照附图9能最好理解)是一种采用具有包括至少一个着色器18的打印机10打印代表图像像素34的行列格式的连续色调数据22的方法300。在一些情况下,图9的流程图可以被认为是在打印机10中(诸如由控制器52和处理器142中的一个或多个分别执行指令存储器54和存储器144中的指令)实现的方法中的步骤。
[0043] 方法300开始于(在302)将对应于多行带30的重叠多列纵列区域32的连续色调数据22压缩为压缩带40的一组压缩纵列块42。在一些实例中,用于一页的所有带的连续色调数据可以在任意带被解压缩(在306)之前压缩。在304,连续色调数据的带被识别。在306,每个对应于被识别带的压缩纵列块42被串行解压缩为对应纵列区域32的连续色调数据54。在308,带30的每个区域32的连续色调数据54通过图像流水线50被串行处理以通过动态再编程所述图像流水线50而为所述着色器中的一个单个着色器18生成对应于所述带的打印数据80以处理每个所述区域32。在310,在一些实例中,与纵列区域32相关联的状态数据被在生成打印数据80之前加载,并且与纵列区域32相关联的状态数据被在生成打印数据80之后保存(在312)。在314,为单个着色器18的纵列区域32所生成的打印数据80被缝合(stitched)到用于着色器18的存储器缓冲器90的相应纵列位置86,其中存储器缓冲器90以图像数据22的行列格式被组织。在316,所述缝合包括从打印数据80剪切与相邻纵列区域重叠的纵列部分84。在318,在用于带的所有纵列区域32的打印数据80都已经被放置在存储器缓冲器90之后,所述带的至少一部分被通过将来自存储器缓冲器90的生成的打印数据80应用到着色器18以将着色剂14沉积在打印介质16上而打印到打印介质16。如果不再剩有更多的带要加以处理(320的“否(NO)”分支),那么方法300结束。如果剩有更多的带要加以处理(320的“是(YSE)”分支),那么在322不同的多行带或不同的一个着色器18中的至少一个被选择,并且处理通过分支到306被重复。在一些实例中,这个选择包括:为至少一个特定着色器,评估用于接收打印数据80的特定着色器18的存储器缓冲器90的可用性、所述特定着色器18已经等待打印数据80的时间以及要为特定着色器18处理的下一个多行带中的至少一个。
[0044] 从上文可以理解,由本公开提供的打印机和方法代表本领域的显著进步。定向和相对位置的术语(例如: “上”、“底”、“侧”、“左”和“右”等等 )并非旨在要求任何元件或组件的特定定向,其被用于方便说明和描述。虽然几个具体实施例已被描述和说明,但是本公开并不限于如此描述和说明部分的特定方法,形式或安排。例如,本公开的实例并不限于一个特定的印刷技术,但可以包括激光打印机和喷墨打印机(仅举几例)。这种描述应被理解为包括本文所述元件的所有新颖的和非显而易见的组合,并且权利要求可以以这些元素的任何新颖的和非显而易见的组合被呈现在这个或今后的申请中。前述实例是说明性的,并且没有单个特征或元件对于要求在此或今后申请中的所有可能的组合是必不可少的。除非另有规定,不必按照规定的次序来执行方法权利要求的步骤。
[0045] 本公开并不限于上述实现方式,而是由所附的权利要求根据它们等价的全部范围限定。在权利要求引用“一”或“第一”其等价的元素的情况下,这些权利要求应被理解为包括一个或多个这样的元素的结合,既不要求也不排除两个或更多个这样的元件。