CN1148223A - 具有区的二维阵列的显示表结构 - Google Patents
具有区的二维阵列的显示表结构 Download PDFInfo
- Publication number
- CN1148223A CN1148223A CN96111484A CN96111484A CN1148223A CN 1148223 A CN1148223 A CN 1148223A CN 96111484 A CN96111484 A CN 96111484A CN 96111484 A CN96111484 A CN 96111484A CN 1148223 A CN1148223 A CN 1148223A
- Authority
- CN
- China
- Prior art keywords
- district
- data
- indicator gauge
- rasterisation
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0005—Accepting output data; Preparing data for the controlling system
- G06K2215/0014—Transforming the printer input data into internal codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0062—Handling the output data combining generic and host data, e.g. filling a raster
- G06K2215/0065—Page or partial page composition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0082—Architecture adapted for a particular function
- G06K2215/0094—Colour printing
Abstract
本发明不是将要打印的一页分成一些整幅的传统显示表配置,其中各幅是作为一个单位处理的,而是采用将各幅分成多个区(或片)的显示表并将各区作为一个独立单位处理的方案。用分析程序将进入显示表的对象修剪到水平与垂直区边界上。显示表中的各个区最终由图象处理器光栅化,并将若干个光栅化区暂时存储在位映象缓冲器中,因而,现在有可能在一个单个幅中混合0、1与3平面(CMY)区,而得到较快的吞吐量,这是因为描绘、旋转、复制及擦除较少的象素。本发明还得到对显示表存储器与位映象存储器两者的较低存储容量的需求。
Description
本发明涉及图象处理,具体地说涉及建立与使用显示表的方法。
在诸如HP DeskJet 1200C打印机等许多类型的打印机中,从主计算机到打印机的控制与显示信息是以高级页描述语言(PDL)提供的,然后由打印机转换成光栅扫描型格式。打印机则把数据以光栅扫描格式加到打印机械上在介质上进行打印。由于是打印机而不是主计算机执行高级命令的处理,计算机便能更快地支持用户。
HP DeskJet 1200C是一使用黑笔、兰绿色笔、深红色笔及黄笔的彩色喷墨型打印机。这些笔安置在横越介质扫描的一个托架中以印刷诸如文本、矢量图形或照片等图象的幅或带。在每印完一幅之后,介质在垂直于扫描的方向上移位。扫描喷墨打印头有选择地喷出黑色墨水或彩色墨水点,在介质上形成点或象素。这些点是间隔紧密或重叠的,并且单个的点是不能互相分辨的。 兰绿色、深红色与黄色墨水的各种组合产生许多颜色。
传输给打印机的页描述语言利用坐标及诸如矩形矢量、圆或多边形等原语描述要显示的形状。文本是用指定字符、位置及字体而不是描述字符的外观来描述的。页描述语言还标识在形状上执行的操作,例如在一个特定的背景图案或颜色上复制一个形状。这种页描述语言与简单的逐个象素描述不同,后者是以光栅扫描次序将要印刷的各象素传输给打印机并存储在一个帧缓冲器中的,虽然在超过一个复杂性阈值时这种以光栅扫描格式的传输与高级语言在一起是允许的。
语言分析程序(下面要描述)执行PDL指令的某些处理,并将要打印的对象及它们的属性存储在显示表中。该显示表以逐幅为基础记录诸如颜色、图案、逻辑操作及其它描述符等属性。美国专利5,250,940;5,05 8,042及4,694,405中描述了某些显示表结构,通过引用把这些专利结合于此以提供显示装置中使用的传统部件的更多细节及通报本技术的当前技术的水平。
然后,图象处理器光栅化显示表中的对象供打印机械打印,AnthongParkhurst等人的论文:“HP DeskJet 1200C打印机的连通性”,Hewlett-Packard Journal 1994年2月,85-97页,描述主计算机与HPDeskJet 1200C彩色打印机之间的这一著名接口。通过引用将这一论文溶合于此。这种接口类似于其它打印机采用的接口。
一种著名的页描述语言便是在名为“PCL 5打印机语言技术参考手册”手册分册号5961-0509,1992年的惠普出版物中详细描述的PCL-5C语言,通过引用结合于此。开发图形程序的程序员可利用这种PCL-5语言定义要显示的图象,其它页描述语言包含PostScript及HP-GL/2等等。
打印机中所需的显示表存储器容量及成功地描绘与打印一页所用的时间与页描述的复杂程度成正比。HP DeskJet 1200C的存储器容量为2兆字节,但对于较复杂的图形可扩充到26兆字节。
图1展示了打印机中将来自主计算机的高级PDL数据流转换成打印机械的简单数据流的一些关键部件。
打印机中的语言分析程序10扫描进入PCL数据流、识别数据流中的命令及执行所请求的功能。这些功能涉及诸如一页上的一个对象的描述与位置及要在该对象上执行的操作。分析程序10还可生成所请求的文本字符的位图。分析程序10的输出存储在显示表12中。
显示表12由存储器中描述要打印的一页的数据构成。将数据分段成幅表(Swath List)13的一个数组,每一个幅表13用于要在页上打印的各带,各幅表保持属于该带的要打印的所有对象。一旦完成了显示表12中的页描述,便由图象处理器14顺序地处理幅表13并描绘成供存储在位映象幅缓冲器16中的光栅数据的水平带。然后用一个格式化器进一步处理位映象的象素数据,诸如旋转与移动,并将其送至打印机械18内的打印缓冲器供在扫描中打印。打印缓冲器中的象素数据是专门为所采用的特定扫描打印头布置的。例如,象素数据在打印缓冲器中的布置取决于扫描打印头的喷嘴配置。
位映象幅缓冲器16统计分配的两个全色幅的存储器,从而图象处理器14能光栅化成在幅缓冲器16中的一组CMY平面,而处理缓冲器16中的另一组CMY平面中的象素数据为了打印机械18的使用正被处理。
为每英寸300点(dpi)的打印机展示了页布置20的一个实例。在一个实例中,每页25幅,每幅为128点高及2,450点宽。图2示出在其上印有对象与正文22的一个打印的页21。虚线23表示幅边界。
根据一个对象在页上的位置,语言分析程序10识别显示表12中的适当幅表13,并将对象信息复制到标记为该幅表13的数据块24中。各数据块24为例如512字节,而数据块24构成一个链接表,其中各数据块24标识要处理的下一个数据块24。一幅中所需的数据块24的数目取决于要在该幅中打印的图象的复杂性。跨越幅边界的任何对象被分成剪裁成幅限度的子对象。从主计算机将对象传输给打印机的次序并不一定是对象出现在页上的次序,因为语言分析程序10执行这一定位功能。
图象处理器14按顺序处理各数据块24。处理器14察看各对象的操作码并将其光栅化成兰绿、深红与黄(C,M,Y)位映象图象28(对于彩色打印)或单色图象30(对于单色打印)。将光栅化数据存储在幅缓冲器16中。如上所述,打印机械18中的格式化器进一步处理这一光栅化数据供实际打印。
从上面的描述中可知,显示表12所耗用的存储器容量与页描述的复杂性成正比。某些极度复杂的页能使显示表12潜在地增长得非常大而用尽存储器。
在某些打印机设计中,诸如HP DeskJet 1600C,通过利用存储器增强技术(MEt)将存储器争用问题缓解到一定程度。MEt包括应用在数据格式化过程的不同阶段的不同存储器优化技术。频繁地使用MEt的阶段之一便是在分析与建立显示表12时。每当检测到一幅的复杂性超过一个预定的阈值时,如有必要该幅便用传统的存储器增强技术进行预光栅化与压缩。现将压缩的数据存储在幅表中。这减少了存储该幅所需的存储器容量,并释放未使用的显示表块。这样便为一幅使用的存储器上设置了一个上限。
新一代的惠普打印机引入600dpi分辨率上的打印。这将300dpi打印机的点密度增加到四倍。单纯地将位映象幅缓冲器16的存储器大小增加四倍是相对昂贵的,并伴随增加了图象处理硬件/软件的复杂性。因此,所需要的是为打印处理图象数据的一个创新设计,使得更有效地使用打印机中的存储器。此外还希望提高象素分辨率不会明显地减慢处理功能。
本发明的方案不是将要打印的一页分成几个整幅(full swath)的一种传统的显示表,其中每幅作为一个单位处理,而是采用将各幅分成多个区(或片)的显示表,并且各区作为一个独立单位处理的方案。
分析程序修剪进入显示表的对象至水平与垂直区边界。图象处理器最终光栅化显示表中这些单独的区,并将若干光栅化区暂时存储在位映象缓冲器(实际上是单一存储器的一部分)中。
在先有技术的用于存储一幅的光栅化位的缓冲器中,通常使用两整幅的一个缓冲器容量:一个存储供打印机械访问的幅,而另一个存储供图象处理器在光栅化从显示表来的数据时访问的幅。如果将传统技术用在具有两倍先有技术的300dpi打印机的分辨率(例如600dpi)的打印机上,则必须将静态幅缓冲器容量增加一个因子4。然而采用本发明,假定每幅四个区,在典型的情况中只需分配五个区的位映象缓冲器便能支持打印机械与图象处理器两者。根据与采用传统技术的两整幅的容量相比,这只转换成1.25幅的一个位映象存储器容量。对于600dpi的打印机,这一技术节省大约400千字节的存储器。
此外,在先有计术设计中,将显示表中一个整幅的复杂性与预定的阈值进行相比来确定该幅是否应光栅化,及如必要时加以压缩以节省显示表存储器。如果打印机的分辨率增加一倍,一幅的复杂性阈值上升一个因子4,导致非常大的显示表存储器。通过将各幅分成四个区,各区的复杂性阈值可同低分辨率打印机中的各幅的复杂性阈值相同。这便减少了显示表所需的规模。
除外,由于现在作为一个单位处理的是一个区而不是一整幅,将显示表内容翻译成存储在区缓冲器中的光栅化数据的图象处理器也能传送一个一平面单色片或一个三平面CMY彩色片给打印机械,即使这些片是在同一幅中,由于占用较少的时间来处理一个单一平面片这就改进了性能。因而,现在有可能在一个单一的幅中未混合0、1与3平面片,得到较快的吞吐量,这是由于打印机械要描绘、旋转、复制与擦除的象素较少。
本发明中可利用每页任何数目的区。
相应地,本发明在显示表和存储供打印用的光栅化象素的位映象缓冲器两者中得到了巨大的存储器节省。
图1展示了典型的300dpi打印机的页布局配置连同其相关的显示表存储器结构、图象处理器及幅缓冲器。
图2展示了在其上面印有用虚线示出幅边界的一定图形的一打印页。
图3展示了按照本发明的一个显示装置的相关部件。
图4是一按照本发明的较佳实施例描述用于减少显示表所必需的存储器的各种存储器增强技术(MEt)步骤的流程图。
如上所述,本发明使打印机或其它显示装置的页存储存储器(即显示表)与位映象存储器与具有相同分辨率的传统显示装置的存储器相比具有相对地小的容量。
图3展示了从主计算机接收页描述语言(PDL)命令及数据并最终将这一PDL信息转换成光栅化象素数据供打印(或其它显示)机械使用的一种新颖打印机或其它显示装置的相关部分。打印(或其它显示)机械可以用传统的喷墨打印机、传真机、绘图仪、复印机、CRT、LCD屏幕或其它显示装置中的机械。
图3示出了上面印有一个椭圆32、一个矩形34及一个任意形状对象36合成的印刷页30的一个实例。假定矩形为一单色的灰色图象,而图形32与36假定为需要CMY墨组合的彩色图象。页30示出被分成的区0-99,虽然这些区边界并不印在页上。
用来存储要印在页30上的对象连同它们的特征、位置等的显示表40示出有数据存储在各区的512字节/块的数据块42中。各区在显示表40中所需的存储器通常与要印在一个特定区中的图象的复杂性有关。例如,如果一个区是空白的,则该区不利用显示表40中的存储器。从而每区的块42的数目是可变的。熟悉本技术的人员应能理解,可以利用节省显示表存储器的传统技术,诸如不重复图案描述(如字母)而只指定前面的图案的位置并发布一条复制命令。
块42配置在一张链接表中,其中与一个区相关的各块42是顺序读取的。
为了示例的目的假定用户已在主计算机48上构成了图形32、34与36的特定图案,并已启动了将这一图象印在介质上的打印序列。
有时利用早先在主计算机48中编程的打印机驱动程序例程将一台特定的打印机与一个应用程序相连接。由于本发明可以完全在打印机本身内部实现,因此打印机驱动程序无须专门修改便适用于本发明。然而,应理解按照要求可以修改打印机驱动程序,如果在采用本发明时这种修改能改进打印机的性能的话。
将主计算机48的PDL输出传送到打印机。在本较佳实施例中,PDL是用PCL-5格式。打印机所使用的PCL-5格式化器结构是基于由语言分析程序50从进入PCL-5数据流中生成的对象的一个显示表的构造的。分析程序50识别数据流中的命令并按照本发明生成适当的数据与操作码。分析程序50的输出作为一张显示表40存储在位于打印机中的一个存储中。
显示表40可在打印机中的较大存储器的一部分构成而不需要一个分立部件。例如,该存储器还可是同时存储打印机的指令的一个动态存储器(DRAM)。显示表40不断增长直到完成页描述及关闭该页为止。显示表40中的对象(诸如对象32、34与36)没有必要由计算机48以对象出现在页中的从上到下次序传输。
显示表40中的对象最终被诸如黑、兰绿、深红与黄喷墨打印头光栅化成一平面单色或三平面CMY片(每区一片)并传送给打印机器供进一步处理与实际打印。除了基本对象定义,显示表40还接收某些属性,诸如在其描绘进程中表征显示表对象的特征的前景彩色、图案与其它功能(如光栅操作)等。状态改变一般在它们影响对象之前在显示表40中进行排队。这种通用显示表格式是众所周知的无须进一步详细描述。熟悉处理页描述语言或其它类似高级语言的显示装置技术的人员一定已十分熟悉诸如图1中所展示的现有装置;因此,本公开的内容将主要集中在传统装置与本发明之间的差别上。
依据从主计算机48接收到PDL数据,分析程序50选择将对象印在页上的一个(区0至区99)或多个适当的区,并将对象信息连同操作码标识符与区标识符复制到数据块42中。
分析程序50所生成的操作码标识符唯一地标识显示表中的一个对象类型。显示表中对象的实例包含:矩形、水平矢量、垂直矢量、陡峭矢量(steep vector)、表面矢量(shallow vector)、小矢量、正文字符、前景彩色、逻辑算符、及剪切窗口。这些对象是用组合位字段结构定义并复制到512字节数据块42中的。各结构用4至8位标识对象的操作码起始。而在解拆显示表40的组合时,图象处理器58检验最前面的4位作为对象组信息,以及检验后面的4位作为对象类型。图象处理器5 8从该操作码中了解要解开多少字节来读取整个对象定义。下面给出矩形的操作码字段的一个实例:
对象类型一矩形 (7字节)
主操作码: 4位 (多边形组)
辅助操作码: 4位 (矩形)
Y : 8位 (距区顶部距离)
X : 16位(距区左边距离)
宽度 : 14位(以区的象素表示的区中的矩形宽度)
高度 : 10位(区中矩形高度)
数据块42中的信息标识下一个数据块42的地址,因此块42构成一个链接表。任何跨入另一个区中的对象被分割成剪切到区界限上的子对象。例如,可将一个大的多区矩形分割成若干较小的矩形。标识一个对象在区中的位置的操作码是参照区边界的。与一个特定的区相关的数据块42的数目当然将与要在该区内打印的信息的实际复杂性相关。
由于显示表存储器的大小有限,本发明的较佳实施例还包括一个用于判定区中的图形的复杂性的装置,并且如果这一复杂性超过一定的阈值水平,便将该数据转换成预光栅化图象并在如果需要时用传统的压缩技术加以压缩。然后用这一压缩光栅图象取代显示表40中对应的数据,从而释放数据块42供其它区在需要时使用。更具体地,复杂性阈值电路或算法54分析在一特定区中的数据并判定该显示数据所需的存储器是否超过一定的复杂性阈值。如果未超过阈值,在显示表40上不采取任何行动。如果超过了阈值,光栅化电路/算法56光栅化该区中的显示数据,并且如果必要采用诸如扫描宽度编码等传统压缩技术压缩该数据。然后为对应的区将压缩数据写入显示表40中。这种光栅化与压缩在一个单一的区所需的存储器上设置一个上限,使显示表40在存储整页信息时更有希望将不用完存储器。
在稍后描述的图4中提供了由功能块54与56执行的一个较佳实施例存储器增强技术(MEt)例程的更全面的描述。
一旦显示表40中已存储了一整页的信息,图象处理器5 8便为光栅化各区中的信息顺序地处理与各区相关的数据。除非这里另有所指,图象处理器58所使用的光栅化过程可依靠已在打印机处理PDL中使用的传统技术。
图象处理器58用指针(0-99)顺序地访问各区位置来判定该区在显示表40中是否有数据。
只处理包含图象数据的区。当区中没有数据时,便控制打印机械70跳到需要打印的下一区上。还可控制纸输送机构将纸张向前送到继续打印的下一个位置上。
然后将图象处理器58对一个区的光栅化输出存储在五个静态区缓冲器61至65(实际上是一单一存储器芯片的部分)之一中,其中各区缓冲器61-65是一具有对应于页30上的单个区中的各点位置的单元的单色或CMY彩色片的位映象存储器。各缓冲器61-65的大小当然取决于一页中的区数。一个区的高度没有必要与一次单一的扫描中打印机械70所打印的单个幅相同。所要求的缓冲器数目取决于横跨页30的区数目和图象处理速度,这是因为缓冲器61-65正常情况下由图象处理器58和打印机械70两者访问。在较佳实施例中,所使用的区缓冲器数(即5),比横跨一页30的区数大1。
打印机械70必须以打印托架ASIC能访问的格式将区缓冲器数据复制到其打印缓冲器中。打印机械70中的扫描打印头通常只在全部格式化了一整次扫描(或幅)的打印控制数据(4个区的数据)并将它们存储在打印机械的打印缓冲器中之后,才横越页30的宽度进行扫描。通常用ASIC来执行供存储在打印缓冲器中的象素数据的处理。象素数据在打印缓冲器中的配置取决于所采用的特定扫描打印头。因此,打印机械70通常需要存储单个幅,或本实例中四个区的全部象素数据所必需的打印缓冲器存储器大小。
由于在大多数情况中,在格式化器首先将整幅加载进打印缓冲器之前,打印机械70中的打印头不能开始打印一个幅,而在处理象素数据供存储在打印机械的打印缓冲器中时,打印机械70可将四个区缓冲器(诸如62-65)联合在一起图象处理器58具有一个第五区缓冲器来工作的时间是非常短的时间间隔这只是把并发运行的不同任务之间的延迟减到最小。从而在每幅四个区的特定实例中,认为只需要五个缓冲器61-65(即比一整幅多一个),其中多达四个区缓冲器正在受访问供打印机械70使用,而一个或多个剩下的缓冲器正在由图象处理器58写入。
在一个较佳实施例中,甚至当此打印机修改得溶合了本发明,现有的打印机中的打印机械70仍保持基本不变。
在彩色打印机中,各缓冲器61-65包含三个平面的存储器,每一个平面用于三基色、兰绿、深红与黄之一。只用黑色墨的区中的单色图象需要缓冲器61-65中的单一平面来存储这一光栅化单色图象。
区缓冲器61-65的存储器受存储器管理程序的控制。如果一个区在显示表40中标记为单色,图象处理器58请求一个单一平面缓冲器,否则请求一个三平面缓冲器。当打印机械70中的格式化器处理区缓冲器61-65中的数据时,它一道发送描述诸如顶部位移、左侧位移、尺寸及平面格式等的报头。平面格式字段指示要为该区打印的象素是CMY还是黑色的。根据这一信息,打印机械70在检索从区缓冲器61-65中来的数据时查找一个或三个平面的数据。
一旦为扫描打印头正确地格式化了光栅化数据,这时打印机械70便可有选择地激励扫描打印头中的各个喷墨元件,或有选择地控制任何形式的显示屏或其它显示装置中的适当象素元件。图象处理器58与打印机械70通常顺序访问缓冲器61-65。用在打印机械或其它显示形式机械中的格式化象素数据可以是传统的并早已为熟悉本技术的人员所熟知的。
如果采用传统的技术而不是用图3中的区缓冲器61-65来存储光栅化数据,如对于图1中的缓冲器16所描述的,将需要等于两整幅的幅缓冲存储器容量。然而在上述实例中采用本发明,只需要1.25幅的容量。在600dpi上,对所有三个平面,存储器节省达到400千字节以上。
在转让给本受让人的名为“用于打印机中多喷嘴部件的改进的对准的数据形成”的美国专利5,408,746中,描述了具有扫描打印头的打印机的一个实例,通过引用溶合于此。
图4展示了图3中的功能块54与56所执行的较佳存储器增强技术(MEt)例程。图4中所示的MEt进程力图保证将有足够的存储空间来存储一张完整的显示表40。
在第一步骤中,为各区初始化一个阈值标准。这一阈值标准可以是允许一个单一的区使用的数据块42的最大数目。由于正在处理的只是单独的一些区,假定采用每幅四个区,这一阈值标准可以是必须将整幅中的数据与阈值比较的传统打印机所使用的四分之一。
下一步骤为建立显示表40,如上所述,其中分析程序50将来自主计算机48的PCL数据转换成供存储在显示表40中的数据。
将存储一个区的对象信息所需的数据块或显示表(DL)块的数目与区阈值进行比较。如果这些DL块的数目不超过区阈值,则继续为下一个区建立显示表40。
如果一个区的DL块的数目超过区阈值,则判定是否为进一步处理该区的这一数据分配了存储空间。如果这是这一进程的第一次循环,将不分配存储器。这一存储器通常是在主打印机存储器中找到的,主打印机存储器也被显示表40所使用。
假定这是MEt过程的第一次循环,现在分配区存储器。如果能得到这一存储器,那么光栅化该区的DL块中的对象信息。然后将光栅化块在一个最近最少使用(LRU)链中排队。在接近建立显示表40的结尾时,这一LRU链将成为关联的,判定现在有必要压缩较早存储的数据以保证有充分的存储器来存储整个显示表40。
由于将采用现在存储在存储器中的光栅化数据而不是原始对象信息,所以释放原始DL块。
然后降低该区的区阈值以考虑该区的当前大小,并且当要存储在该区中的其它数据接踵而来时,便将降低的阈值应用在新数据上。如果该区的后面的数据超过这一降低了的阈值时,将根据需要重复图4中所描述的MEt进程。
如果判定一个区的DL块的数目超过了阈值且在存储器中已有可利用的区存储器,则光栅化这一区数据并将其存储在可利用的区存储器中。调整LRU链来适应新的适应次序,并释放原始DL块。然后调整该区的区阈值。
如果判定在完成显示表40之前存储器有可能耗尽,则可以进一步相应地降低区阈值。
如果判定一个区的DL块的数目超过了区阈值且不能得到充分的存储器来存储光栅化数据,则必须暂时利用区缓冲器61-65来存储光栅化象素数据。
在这一情况中,所存储的光栅化数据用扫描宽度编码压缩。在一个较佳实施例中,水平与垂直扫描宽度编码与增量行编码一起使用以确定相邻的行间是否存在变化。
然后释放原始包含该区数据的DL块。为压缩的数据在显示表40存储器中分配空间。最好这一空间在显示表40存储器内是连接的。如果找到连接的空间,便将压缩数据存储在连接的DL块中,然后相应地调整区阈值。
如果在显示表40存储器中找不到连续的空间,则在存储器中分配若干较小的块,并用分段的链将压缩数据复制到存储器中。然后调整区阈值。
如在接近建立显示表40结尾时,连存储压缩数据都找不到足够的存储器,则光栅化最近最少使用(LRU)的DL块中的数据并加以压缩以释放存储空间。在这一情况中,区阈值将被降低到将整个显示表40存储在存储器中所需的水平。
虽然已经描述了一个特定的MEt进程,但在实施本发明中并不需要这一进程。
通过采用本发明,除了降低了用于存储光栅化象素数据的位映象存储缓冲器的大小外,还能从传统的显示表存储器中减少显示表存储器大小。这是因为由于区是整幅的四分之一,因此阈值电路54(图3)用于各区的复杂性阈值现在例如只是一个整幅的传统复杂性阈值的四分之一。因此对于600dpi打印机,这一复杂性阈值将同一个完整幅的300dpi阈值大致相同。这在一个区的存储器大小上设置一个最大上限,而不是在一整幅的存储器大小上设置一个最大上限。由于要在一幅中打印的事项假定复杂性不同,所以单个幅中某些超过复杂性阈值的区可以用传统的光栅化与压缩装置56预光栅化与压缩,而同一幅中的其它一些区可能不超过复杂性阈值。从而,将幅中各区作为互相独立的处理,能在跨越一页的复杂性变化极大的复杂图形描绘上得到巨大的存储器节省。
此外,由于需要处理的只是一个区中的数据而不是一幅中的所有数据,因此,比采用传统技术降低了处理复杂性。因为在每一操作中较少的象素需要描绘、定位、复制与擦除而得到较快的吞吐量。
此外,将一幅分成多个区便有可能在一个单一的幅中混合0,1与3平面区,而降低各幅的处理量并得到较快的吞吐量,因为要描绘、旋转、复制与擦除的象素较少。
如果一个区的象素高度小于打印头一次单一扫描的象素高度,则在打印头的各次扫描之前,打印机械70必须格式化存储在区缓冲器61-65中的多个光栅图象。
应理解用在每页的幅数、每幅的点数、数据块的大小、及区缓冲器61-65的大小与数目等各种数字中的例子只是为了例示的目的。这些值能随页大小、分辨率及其它设计因素改变。例如,取决于一个区的大小、图象处理器58的速度、及打印机械70的速度,区缓冲器的数目可在2至10或更多之间。然而,区缓冲器的数目通常比存储一整幅所需的多一,尽管这假设所使用的是传统的打印机械。片的粒度可通过改变其宽度与高度而改变,并不影响总体结构。然而,对于一定大小以下的片,存在着一个与导致减少返回的各片相关的显示表开销。
可以理解区缓冲器可以是将其地址分配给单个区的单一存储器的一部分。显示表块42的大小不一定是固定的,而可以是任意大小的可变长度块。
虽然已示出与描述了本发明的特定实施例,对于熟悉本技术的人员显而易见可以作出改变与修正而在更宽的范围内不脱离本发明,因此,所附的权利要求书在它们的范围内包罗了所有落入本发明的正确精神的与范围内的这种改变与修正。
Claims (20)
1、一种方法,包括下述步骤:
接收用于在一显示装置上显示一个或多个对象的页描述语言的显示指令;
在要将所述一个或多个对象显示在其上面的介质上标识区,并对各自的区分配这些要显示的对象至它们各自的区上,所述区包括跨越所述介质的所述区的一个二维阵列;
在对象所在的各所述区的显示表中存储描述所述对象的对象描述;
为对象所在的各所述区处理所述显示表中的显示数据而为各所述区光栅化所述显示数据;
向位映象存储器存储从所述显示表来的光栅化显示数据;以及
寻址所述位映象存储器内的所述光栅化显示数据,供施加到将所述对象显示在所述介质上的显示装置上。
2、权利要求1的方法,其中所述显示装置在扫描方向上横越所述介质进行扫描以便在所述介质上显示所述一个或多个对象,其中在所述扫描方向上横越所述介质的区数为N,及其中分配给存储所述光栅化显示数据的所述位映象存储器大于N个区所需要的但小于2N个区所需要的。
3、权利要求2的方法,其中所述位映象存储器具有分配给N+1个区的空间。
4、权利要求2的方法,其中N等于4。
5、权利要求1的方法,还包括由主计算机生成页描述语言的显示指令供传输给连接在所述显示装置上的接收器的步骤,及其中所述接收显示指令的步骤包括接收来自所述主计算机的所述显示指令。
6、权利要求1的方法,其中为各所述区将对象描述存储在所述显示表中的所述步骤包括:
为对象所在的各所述区,将描述所述对象的对象描述存储在显示表存储器中的一个预定字节数的数据块中,要显示在一个区中的一个或多个对象的位置是参照该区的边界的。
7、权利要求1的方法,其中处理所述显示表中的显示数据的所述步骤包括:
为对象所在的各所述区在所述显示表中寻址数据,其中该数据是按介质上的区的相同顺序次序寻址的。
8、权利要求1的方法,其中各所述区在所述显示表中的数据指示在一个特定的区内的对象是彩色的还是单色的,
其中,如果该区中的所述对象是彩色的,则将该区的三组位映象数据存储在所述位映象存储器中,每一基色一组,能为所述显示装置显示,
其中,如果所述区中的所述对象是单色的,则将该区的一组位映象数据存储在所述位映象存储器中,以及
其中,如果在该区中没有要显示的对象,则没有该区的对象描述数据存储在所述位映象存储器中,这样所述位映象存储器取决于要显示在所述介质上的对象,为多个区存储任何组合的0、1或3组位映象数据。
9、权利要求1的方法,其中所述显示装置为一具有一个或多个扫描打印头的打印机,及其中寻址所述位映象存储器内的所述光栅化显示数据的所述步骤包括下述步骤:
格式化所述位映象存储器中的所述光栅化显示数据供存储在一个打印缓冲存储器中,所述打印缓冲存储器中的数据用于在所述打印头横越所述介质的至少一次扫描中,控制所述一个或多个扫描打印头。
10、权利要求9的方法,其中在所述打印头的扫描方向上横越所述介质的区的所述位映象存储器中的位映象数据不包含一个区中的数据、 包含一个区中一组单色数据、一个区中三组基色数据,或者它们的任何组合,这取决于要打印在横越所述介质的那些区中的对象。
11、权利要求1的方法,还包括在供存储在所述显示表中的显示数据上执行存储器增强以限制存储一个区的对象信息所需要的存储空间量的步骤,所述存储器增强执行下述步骤:
判定用于存储一个区的对象信息的存储器是否超过一个阈值;
如果所述对象信息超过所述阈值,则光栅化所述区内的对象;以及
将光栅化数据存储在对应于所述区内的所述对象的所述显示表中。
12、权利要求11的方法,还包括下述步骤:
调整一个区的所述阈值以考虑已为该区存储在所述显示表中的数据量。
13、权利要求11的方法,还包括压缩所述区的光栅化数据以减少要为该区存储在所述显示表中的数据量的步骤,其中为所述区将光栅化数据存储在所述显示表中的所述步骤包括为所述区将压缩光栅化数据存储在所述显示表中的步骤。
14、权利要求11的方法,还包括分配用于存储所述区的光栅化数据的存储器的步骤。
15、权利要求14的方法,其中所述分配存储器的步骤包括在所述位映象存储器中分配用于存储一个区的所述光栅光数据的空间的步骤,及其中将光栅化数据存储在所述显示表中的所述步骤包括将来自所述位映象存储器的压缩光栅化数据存储在所述显示表中。
16、一种装置,包括:
一个接收器,用于接收页描述语言的显示指令将一个或多个对象显示在显示装置上;
连接在所述接收器上的一个分析程序,用于在要显示所述一个或多个对象的介质上标识区,及将要显示的对象分配到各自的区上,所述区包括跨越所述介质的所述区的一个二维阵列;
一个显示表存储器,用于存储所述分析程序为对象所在的各所述区生成的描述所述对象的对象描述;
一个图象处理器,用于为对象所在的各所述区处理所述显示表存储器中的显示数据,以便为各所述区光栅化所述显示数据;
连接在所述图象处理器上的一个位映象存储器,用于为各所述区存储来自所述显示表存储器的光栅化显示数据;以及
一个格式化器,用于寻址所述位映象存储器内的所述光栅化显示数据,及将所述光栅化显示数据以显示所述对象的一个显示装置所使用的格式显示在所述介质上。
17、权利要求16的装置,还包括所述显示装置,其中所述显示装置为一台打印机,该打印机具有在扫描方向上横越所述介质扫描以在所述介质上打印所述一个或多个对象的一个或多个打印头,其中所述扫描方向上横越所述介质的区的数目为N,及其中为存储所述光栅化显示数据所分配的所达位映象存储器大于N个区所需的但小于2 N个区所需的。
18、权利要求17的装置,其中所达位映象存储器具有为N+1个区分配的空间。
19、权利要求16的装置,还包括一个对存储在所述显示表中的显示数据执行存储器增强以限制存储一个区的对象信息所需的存储空间量的装置,所述用于执行存储器增强的装置执行下述步骤:
判定用于存储一个区的对象信息的存储器是否超过一个阈值;
如果所述对象信息超过所述阈值,则光栅化所述区内的对象;以及
将光栅化数据存储在对应于所述区内所述对象的所述显示表中。
20、权利要求19的装置,其中用于执行存储器增强的所述装置还执行压缩所述区的光栅化数据以减少存储在该区的所述显示表中的数据量的步骤,其中将光栅化数据存储在该区的所述显示表中的所述步骤包括将压缩光栅化数据存储在所述区的所述显示表中的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51863495A | 1995-08-23 | 1995-08-23 | |
US518634 | 1995-08-23 | ||
US518,634 | 1995-08-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1148223A true CN1148223A (zh) | 1997-04-23 |
CN1105369C CN1105369C (zh) | 2003-04-09 |
Family
ID=24064816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN96111484A Expired - Fee Related CN1105369C (zh) | 1995-08-23 | 1996-08-23 | 具有区的二维阵列的显示表结构 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5805174A (zh) |
EP (1) | EP0764918B1 (zh) |
JP (1) | JP3753263B2 (zh) |
KR (1) | KR100432307B1 (zh) |
CN (1) | CN1105369C (zh) |
DE (1) | DE69625760T2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571946B (zh) * | 2008-04-28 | 2013-11-13 | 佳能株式会社 | 图像处理装置及图像处理方法 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998013787A1 (en) * | 1996-09-24 | 1998-04-02 | Colorage, Inc. | Adaptive block image compression |
US5923820A (en) * | 1997-01-23 | 1999-07-13 | Lexmark International, Inc. | Method and apparatus for compacting swath data for printers |
JPH11203061A (ja) | 1998-01-12 | 1999-07-30 | Fuji Xerox Co Ltd | 画像処理装置、出力装置、画像処理システムおよび画像処理方法 |
US5995117A (en) * | 1998-02-19 | 1999-11-30 | Tektronix, Inc. | Rasterization control method |
US6018400A (en) * | 1998-05-05 | 2000-01-25 | Hewlett-Packard Company | Laser printer employing overlapped color plane processing |
FR2801396B1 (fr) * | 1999-11-22 | 2002-11-08 | Canon Kk | Convertion en mode point de donnees numeriques |
JP3406557B2 (ja) * | 2000-02-18 | 2003-05-12 | パナソニック コミュニケーションズ株式会社 | 複合機 |
US7576730B2 (en) | 2000-04-14 | 2009-08-18 | Picsel (Research) Limited | User interface systems and methods for viewing and manipulating digital documents |
US7450114B2 (en) | 2000-04-14 | 2008-11-11 | Picsel (Research) Limited | User interface systems and methods for manipulating and viewing digital documents |
US7055095B1 (en) | 2000-04-14 | 2006-05-30 | Picsel Research Limited | Systems and methods for digital document processing |
US6781600B2 (en) | 2000-04-14 | 2004-08-24 | Picsel Technologies Limited | Shape processor |
DE10117035B4 (de) | 2000-04-27 | 2006-08-17 | Hewlett-Packard Development Co., L.P., Houston | Drucktechnik zum Verbergen von Bandgrenzen-Banderscheinungen |
AUPQ995700A0 (en) * | 2000-09-07 | 2000-09-28 | Canon Kabushiki Kaisha | Method and apparatus for printing computer generated images |
JP4184631B2 (ja) * | 2001-06-28 | 2008-11-19 | 株式会社沖データ | 印刷制御方法及び上位・印刷装置 |
AU2002320804B2 (en) * | 2001-12-21 | 2004-12-02 | Canon Kabushiki Kaisha | Print System with Dynamic Address Generation for Print Data |
US7324229B2 (en) * | 2002-04-10 | 2008-01-29 | Texas Instruments Incorporated | Rendering in a printer using bands |
KR20040002032A (ko) * | 2002-06-29 | 2004-01-07 | 주식회사 케이티 | 행단위 서브-샘플링을 통한 래스터 맵 데이터 액세스 속도향상 방법 |
US7289243B2 (en) * | 2002-08-07 | 2007-10-30 | Lexmark International, Inc. | Apparatus and method for data compression optimized by print head architecture |
US8045215B2 (en) * | 2002-10-18 | 2011-10-25 | Hewlett-Packard Development Company, L.P. | Printer object list resolutions |
US20040246502A1 (en) * | 2003-06-09 | 2004-12-09 | Jacobsen Dana A. | Rendering sub-sections |
US7817302B2 (en) * | 2004-03-26 | 2010-10-19 | Lexmark International, Inc. | Optimizing raster operation functions during print job processing |
US7385729B2 (en) * | 2004-03-26 | 2008-06-10 | Lexmark International, Inc. | Optimization techniques during processing of print jobs |
US7835030B2 (en) * | 2004-03-26 | 2010-11-16 | Lexmark International, Inc. | Processing print jobs |
US20050213142A1 (en) * | 2004-03-26 | 2005-09-29 | Clark Raymond E | Optimization techniques during processing of print jobs |
US7859716B2 (en) * | 2004-03-26 | 2010-12-28 | Lexmark International, Inc. | Optimizing to-be-printed objects during print job processing |
JP2006067577A (ja) | 2004-08-26 | 2006-03-09 | Oce Technologies Bv | 装置で画像をレンダリングするために、メモリに記憶される画像データを処理する方法、機器、およびコンピュータプログラム製品 |
EP1638049A3 (en) * | 2004-08-26 | 2006-11-02 | Océ-Technologies B.V. | Method, apparatus and computer program product for processing image data stored on a memory for rendering an image on a device |
US7817307B2 (en) | 2005-01-06 | 2010-10-19 | Zenographics, Inc. | Digital image processing without rasterization |
US7880750B2 (en) * | 2005-01-06 | 2011-02-01 | Zenographics, Inc. | Digital image processing with inherent compression |
US7515285B2 (en) * | 2005-09-26 | 2009-04-07 | Kabushiki Kaisha Toshiba | Method and apparatus for image processing |
US8208169B2 (en) | 2006-05-24 | 2012-06-26 | Lexmark International, Inc. | Method and system for rendering a transparent object in an image |
WO2009099446A1 (en) * | 2008-02-08 | 2009-08-13 | Hewlett-Packard Development Company, L.P. | Printing method using multiple processors |
US8243313B2 (en) | 2009-05-26 | 2012-08-14 | Infoprint Solutions Company Llc | Cache optimization mechanism |
US8767240B1 (en) | 2011-01-28 | 2014-07-01 | Marvell International Ltd. | Method and apparatus for encoding data to perform real-time rendering |
US20120218277A1 (en) * | 2011-02-25 | 2012-08-30 | ST-Ericcson SA | Display list mechanism and scalable display engine structures |
JP2014002591A (ja) * | 2012-06-19 | 2014-01-09 | Canon Inc | 画像処理装置、画像処理方法、コンピュータプログラム |
US8766986B1 (en) | 2012-06-22 | 2014-07-01 | Google Inc. | Efficient caching and drawing of objects whose rendering properties change frequently |
CN104216914B (zh) * | 2013-06-04 | 2017-09-15 | Sap欧洲公司 | 大容量数据传输 |
US9818051B2 (en) * | 2016-01-29 | 2017-11-14 | Ricoh Company, Ltd. | Rotation and clipping mechanism |
US10472867B2 (en) * | 2016-12-15 | 2019-11-12 | GM Global Technology Operations LLC | System and method for controlling a vehicle door lock system |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4723211A (en) * | 1984-08-30 | 1988-02-02 | International Business Machines Corp. | Editing of a superblock data structure |
US4694405A (en) * | 1985-07-09 | 1987-09-15 | Office Automation Systems, Inc. | Laser printer controller data alignment device |
US5058042A (en) * | 1989-04-03 | 1991-10-15 | Hewlett-Packard Company | Method for employing a hierarchical display list in global rendering |
US5063608A (en) * | 1989-11-03 | 1991-11-05 | Datacube Inc. | Adaptive zonal coder |
CA2028701C (en) * | 1989-11-15 | 2001-04-24 | Yitshak Birk | Method and apparatus for pipelined parallel rasterization |
US5509115A (en) * | 1990-08-08 | 1996-04-16 | Peerless Systems Corporation | Method and apparatus for displaying a page with graphics information on a continuous synchronous raster output device |
JP3110746B2 (ja) * | 1990-10-09 | 2000-11-20 | キヤノン株式会社 | 画像処理方法 |
US5250940A (en) * | 1991-01-18 | 1993-10-05 | National Semiconductor Corporation | Multi-mode home terminal system that utilizes a single embedded general purpose/DSP processor and a single random access memory |
US5319748A (en) * | 1992-04-30 | 1994-06-07 | Ricoh Company, Ltd. | Method and apparatus to manage picture and pageset for document processing |
US5295235A (en) * | 1992-02-14 | 1994-03-15 | Steve Newman | Polygon engine for updating computer graphic display employing compressed bit map data |
US5594860A (en) * | 1995-01-27 | 1997-01-14 | Varis Corporation | Method for banding and rasterizing an image in a multiprocessor printing system |
-
1996
- 1996-07-16 JP JP18582196A patent/JP3753263B2/ja not_active Expired - Fee Related
- 1996-08-09 EP EP96305861A patent/EP0764918B1/en not_active Expired - Lifetime
- 1996-08-09 DE DE69625760T patent/DE69625760T2/de not_active Expired - Fee Related
- 1996-08-20 KR KR1019960034343A patent/KR100432307B1/ko not_active IP Right Cessation
- 1996-08-23 CN CN96111484A patent/CN1105369C/zh not_active Expired - Fee Related
-
1997
- 1997-10-17 US US08/953,223 patent/US5805174A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571946B (zh) * | 2008-04-28 | 2013-11-13 | 佳能株式会社 | 图像处理装置及图像处理方法 |
Also Published As
Publication number | Publication date |
---|---|
DE69625760D1 (de) | 2003-02-20 |
JP3753263B2 (ja) | 2006-03-08 |
EP0764918A2 (en) | 1997-03-26 |
EP0764918B1 (en) | 2003-01-15 |
JPH0958069A (ja) | 1997-03-04 |
EP0764918A3 (en) | 1998-01-14 |
CN1105369C (zh) | 2003-04-09 |
KR970012110A (ko) | 1997-03-29 |
KR100432307B1 (ko) | 2004-08-06 |
US5805174A (en) | 1998-09-08 |
DE69625760T2 (de) | 2003-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1105369C (zh) | 具有区的二维阵列的显示表结构 | |
CN1129061C (zh) | 一种打印设备和打印方法 | |
US7999971B2 (en) | Optimization techniques during processing of print jobs | |
CN1294525C (zh) | 用于产生位置编码图案的打印输出方法、系统、打印机装置和打印机 | |
US5542031A (en) | Halftone computer imager | |
US4300206A (en) | Flexible text and image generator for a raster printer | |
CN1226699C (zh) | 用于打印机的精简分割行数据的方法和设备 | |
US6490055B1 (en) | Printing apparatus with execution of software rendering and hardware rendering | |
US4942541A (en) | Patchification system | |
US5600768A (en) | Image generation with dynamically consolidated list of image data | |
US6323958B1 (en) | Printing apparatus | |
US8054493B2 (en) | Optimizing raster operation functions during print job processing | |
EP1901233A2 (en) | Techniques for image segment accumulation in document rendering | |
CA1100644A (en) | Raster printer with sufficient printing flexibility | |
US8339667B2 (en) | Optimizing to-be printed objects during print job processing | |
US6317217B1 (en) | Printing system and printing control method | |
US6069709A (en) | Bi-directional printing with overlap using both breaks and transition regions | |
CN1174311C (zh) | 信息处理设备、打印系统、以及命令生成方法 | |
JP3780103B2 (ja) | 情報処理装置、情報処理方法、記憶媒体、及び、印刷システム | |
EP0398681B1 (en) | Output apparatus | |
EP0310228B1 (en) | Page printing system using a virtual memory | |
US20040246510A1 (en) | Methods and systems for use of a gradient operator | |
US20060098230A1 (en) | Data processing apparatus, data processing method, computer program, and storage medium | |
CN1333519A (zh) | 用于生成光栅对象的方法、系统、程序和数据结构 | |
US5469534A (en) | Method for translating image processing data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |