用主高速缓存器和打印机高速缓存器提高文本打印性能的制作方法

文档序号:6410804阅读:222来源:国知局
专利名称:用主高速缓存器和打印机高速缓存器提高文本打印性能的制作方法
技术领域
本发明涉及基于文本的打印机,更具体地说,涉及两个字符超高速缓存器的使用,其中主超高速缓存器位于打印机中,副超高速缓存器在主计算机内。
当今的打印设备都能生成展示多种不同字体的文本输出,例如基于墨水和激光的打印机就是如此。由打印设备输出一个图象需要在打印过程中的某个地方形成光栅图象(raster image)。在字符情况下,每个需要打印字符的光栅位图(raster bitmap)存储于存储器中,一旦需要打印,只要将其由存储器拷贝至打印设备即可。存储器中可以保存一套完整的字符,但这需要存储各种所需点数和分辨率下的特定字符,所以不可行。另一种办法是可以对一套字符如此编码,即允许在适合选定设备的特定分辨率下将特定大小的字符转换成位图。重复使用的字符可存于超高速缓存器内以便于快速打印。一次典型的打印任务需要单一大小和分辨率下的所有小写字符以及很多但并非全部的大写字符。因此,在一次打印任务期间可生成所有这些字符中每个的位图并将其存于超高速缓存器内,然后可刷新超高速缓存器并存入下次打印任务所需字符。典型的打印机存储器可提供为数不多、对于一个小任务已经足够的字体。但当一次任务需要很多字体和/或点时,超高速缓存器就会溢出,使得有些字符的位图需要多次重新生成。
当今的打印设备采用诸如Bezier数字曲线、Spleen数字曲线等表示字符的轮廓的函数式而不是传统的点阵字体(即位图字体),以及用于在其中存储数字函数式连接点的轮廓字体和用于控制连接点的参数。
任何采用轮廓字体的程序在打印字符前必须将轮廓信息转换为位图。在典型的应用中,轮廓被定义在一个通常称作字符空间的高分辨率坐标系统中。为了在标记装置上打印,轮廓必须按比例换算为所需大小并映射到适于标记装置的坐标系统中。第二个坐标系统一般称为设备空间。设备空间中的轮廓填充有逼近原始轮廓字符的一系列像素。字符在字符空间或设备空间中可以加以调整或“暗示”,以提高设备空间像素栅格中最终字符的一致性。
运用轮廓字体,可以容易地改变字符的大小和格式,例如黑体字和空心字。然而,运用轮廓字体时,由于需要生成基于该轮廓字体的位图数据,因而有处理时间长的缺点。为减少处理时间长的不利影响,当同一个字符被反复使用时,一般提供一个字体超高速缓存器来避免由轮廓字体反复生成位图字体。即当第一次生成该位图字符时,将它存储于字体超高速缓存器内。当再次打印同一字符时,可以基于字体超高速缓存器中的位图字符进行打印,因而便于高速打印。
轮廓字体之于位图字体的主要优点也是它的主要缺点。轮廓化的字体可以用来对于任意字号(size)的字符由单一轮廓字体生成一个位图。这提供了一定的灵活性和紧凑存贮,但如上所述,为制备每个所需的位图耗费了时间,并且为确保所有位图再现时具有美感也增加了额外的负担。可以通过对位图字体进行特殊编辑以达到最优结果,但这只对特定字号而言。别的字号需要另外的位图。通常位图字体具有速度优势,而且位图可以直接进行打印。需要在速度和存储容量要求之间进行折衷。
为克服轮廓字体的速度劣势,现有技术打印机预制了所有的轮廓字体。当打印机加电时,将所有轮廓字体转换为具有特定字号的位图字体存入字体超高速缓存器中,这就是预制的过程。当打印机从主计算机接收到一个待打印字符代码时,轮廓字体已经被转换为相应的位图字体。
在由种类繁多的应用程序加以控制的常规打印机中运用预制技术,字体型号和字符大小需要根据相应的用于打印机的应用程度对字体加以区分。打印机用户也可对字体型号和字符大小加以区分。因而,即使位图字体由轮廓字体预制而得,但可能并不常使用。
对于拉丁语系所使用的打印机,字体大小可以使整个字体由只读存储器中读出且已预先光栅化为位图状态,当打印设备访问时即可用于打印。在现有技术的打印机中,构造了一些打印指针表,随情况不同它们可指向位图数据或轮廓字体数据。对于有字符数据被用到的每种字体,都要为其每个方向、点数和数据类型建立一个表。因为拉丁字符的代码范围是0~255,所以表这种方法使得高性能的存取技术成为可能,而指针表占用存储器空间也相当低。
与此相反,亚洲字符集所采用的字体包含成千上万个不同的字符。由于这些表要占用很大的存储空间,因而对字体数据准备指针表的方法显得不可行,甚至不能想象字体数据所需存储空间。进而,由于所需的亚洲字符数量庞大,采用将轮廓字体预光栅化并保持为位图形式的技术将会占用极多的存贮空间。因而,虽然将亚洲字体预光栅化的即刻可行性使打印可高速进行,但因之而付出的代价却是不可取的。
当前的方法基于软件将字符轮廓转换为位图字体。这些软件方法具有一定灵活性,却明显限制了字符位图生成的速度。对于需要大量字体或字号的打印任务,基于软件生成器的局限性显得更为突出,因为每种字体不同字号的字符都必须以位图提供给打印装置。如果所需字符尚未转换为所需字号和字体,于是相应的轮廓必须加以调整和转换。在打印诸如汉字的外文时,由于所用字符数量庞大且重复率低,基于软件的生成器的局限性就更加明显。每当超高速缓存器中没有所需字符的位图时,就必须生成新的位图。如果可用超高速缓存器已满,那么为存储新的位图就常常需要覆盖先前贮存的字符位图。
为了实施本发明,提供了一种管理主机中主超高速缓存器和打印机中打印超高速缓存器的方法,这些超高速缓存器用于存储字符数据。主机中保存有一对表,一个对应于主存储器,另一个对应打印机存储器。每个表的安排使得主机能够确定哪个字符数据驻留在相应的超高速缓存器内。
当主机接到打印某个字符的请求时,它根据表来确定此字符的位图是否在打印机存储器中。如果在,就指示打印机打印该字符。如果位图不在,主机根据表来确定此位图是否在主机存储器中。如果位图在主机超高速缓存器中,那么将它由主存储器拷贝至打印机存储器中并指示打印机打印该字符。
如果主超高速缓存器和打印机超高速缓存器中都无该位图,那么主机创建该字符的位图并将它存于主存储器区内,然后更新主存储器表。如前所述从主存储器拷贝该位图至打印机存储器,并指示打印机打印该字符。
在拷贝位图至打印机超高速缓存器前,主机检查打印机存储器中是否有足够空间存贮该位图。如果没有足够的空间,主机在打印机超高速缓存器中为该第一字符数据开辟空间。在优选实施方案中,主机通过简单地删除打印机超高速缓存器中所有位图以开辟空间。最后,更新表以指示该字符现已在打印机超高速缓存器中。
参照附图阅读以下详细描述将会更好地理解本发明。其中

图1是说明主机及与其连接的打印机内部构成的高级框图,两个设备都被加以调整以体现本发明。
图2是说明本发明优选实施方案的高级流程图。
优选实施方案的详细描述本发明不仅限于此处说明的特定实施方案。具体参照图1,主计算机10通过标准I/O接口14和打印机12相连。为便于描述,假设主计算机10为个人计算机,打印机12是激光打印机。
主计算机10包括中央处理单元16和被分为多个区的随机存取存储器(RAM)。RAM区18包括控制主计算机应用程序15的软件代码、打印机驱动器功能17和用户接口13。RAM区18还包括系统变量和主机操作系统。只读存储器(ROM)20包括控制基本输入/输出系统(BIOS)的微程序语言和控制主机其它功能的代码。RAM区22包含打印机驱动器软件,该软件使得主机10能够从PCL模式24或另一模式23进行操作。在这里,PCL是“打印机控制语言”,它是一种标准的、广泛用于打印机的页面描述语言(PDL)。本领域的技术人员将会明白本发明不只限于特定的一种或数种语言。又一块旁置的RAM区25充当用于已由打印驱动器22格式化的位图数据的字符超高速缓存器。字符超高速缓存器的操作将在下面进行更详细的描述。图中所示还有存贮介质21,它可包括一个硬盘驱动器和一个可移动的软盘驱动器。
在打印机12内,微处理器30控制打印机的和其各子部件全部功能。只读存储器32包含以PCL模式33和另一模式35控制打印器(printengine)34的微程序语言代码。PCL模式33微程序语言使得所接收的PCL形式的代码转换为页面中间形式,再进而形成光栅格式供打印器34打印。PCL模式33的I/O驱动器部分控制I/O硬件模式36,以正确响应接收到的PCL命令和数据。
RAM38划分为由当前运行环境定义的多个段。对本发明来说,假定打印机运行在PCL模式33。打印机12运行在PCL模式33时,RAM分为控制语言/数据缓存器50、52、54和字符超高速缓存器40。
在PCL模式,到达的控制代码首先送入I/O硬件36,由该硬件转入I/O缓存器50。在微处理器30的指示下,到达的指令代码数据流首先转换为“页面中间”形式,并存于中间页RAM54中。中间页数据再转换为光栅图象数据。光栅图象数据转换过程将中间页面被分为一定数量的条,成组的条在条存储区52中顺序地转换为光栅像素数据。每个条被送至打印器34时条存储区52为空,可以用来暂时存储下一条。只有最初的一组条被转换为光栅像素数据后打印器才会开始打印。这时打印器34按一定速度打印数据,直至打印完所有的条为止。如果新的光栅化数据不能按一定速率上打印器操作,那么就会发生打印“溢出”,该页就不可打印。
当某个条被光栅化后,任一个部分或全部位于条中的字符,都必须具有放置在条中的该字符的位图映射。现在参考图2,在本发明的优选实施方案中,主计算机10首先确定(101)字符的位图备份是否存在于打印机字符超高速缓存器40中。可以采用数种装置来通知主机打印机字符超高速缓存器40的内容。在优选实施方案中,主机中有一个局部表,它列出在打印机字符超高速缓存器40中有哪些字符。因此,主机搜索打印机局部表以确定位图是否在打印机中。其它实施方案通过查询打印机来确定位图的存在。
如果发现了位图字符,也称为一次命中,那么从字符超高速缓存器40中简单地将该字符的位图映射拷贝至条存储区52以便为打印该条(108)准备。在另一种情况下,在字符超高速缓存器40中没有发现位图字符,主计算机10检查(102)字符超高速缓存器25以确定位图字符是否存在。在优选实施方案中,主计算机10搜索用于表明在主机的字符高速缓存器25中有哪些字符的局部表,以确定位图映射字符是否在字符高速缓存器25中。对于不在主机超高速缓存器的位图字符,主机根据该字符的轮廓信息生成位图字符(103),然后将它放(104)于超高速缓存器25中并更新主机列表。
在主机对位图字符卸载前,它必须确定(105)打印机在字符超高速缓存器40中是否有空间来存贮所需位图字符。如果没有足够空间容纳新的位图字符,那么打印机必须通过减小当前所用超高速缓存器大小或刷新超高速缓存器来开辟空间(106)。减小超高速缓存器可通过数种已有方法进行,例如最近最少使用法(LRU)。然而,在本发明优选实施方案中,简单地刷新打印机字符超高速缓存器40就非常有效。在大多数情况下,主机字符超高速缓存器25中有存于打印机超高速缓存器的位图字符的拷贝,因而可以避免重新生成。一旦字符超高速缓存器25中存有位图字符且打印机的字符超高速缓存器40中有空间,就将位图字符卸载(107)至打印机并更新打印机表以表示打印机字符超高速缓存器40中存有该位图字符。最后,在字符超高速缓存器40中存有位图字符的情况下,微处理器30可将位图字符放入条存储器52中以便于打印(108)。
确定打印机字符超高速缓存器中是否有足够的空间(105)以加入新位图需要两个条件。首先,需要用一个阈值用于指示打印机字符超高速缓存器40的大小。其次,需要一些装置用来检测增加新的位图是否会导致超出该阈值。在优选实施方案中,其中主机存有关于打印机字符超高速缓存器40内容的表,主机能够迅速确定在打印机字符超高速缓存器中加入新位图是否会是否会超出该阈值。本优选实施方案允许用户更改阈值,因而提供了更大的灵活性。另外,由于主机中存有列表和阈值,使得确定是否有足够空间的过程(105)可以迅速完成。但这种方法需要主机知道打印机字符超高速缓存器40的最大容量。这个信息可以在主机中“硬编码”,也可由打印机获得。另一实施方案包括允许用户基于可用的打印机超高速缓存器调节阈值、将阈值送至打印机或将阈值在打印机中“硬编码”,以及然后向打印机查询是否有阈值溢出。
本发明优选实施方案在具有有限资源的打印机上实现了有效文本打印。所说的有限的打印机是指那些无机载字体,也不支持主机所支持的字体技术,有有限的机载RAM,或者是其处理器性能相对主机较低。采用本发明优选实施方案,通过减少机载存储器、提供很少或没有打印机驻留的字体和采用廉价的中央处理单元,可将成本降至最低。
尽管前面说明本发明优选实施方案,描述了相应的结构,但是对于本领域的技术人员来说很显然在不偏离本发明的宗旨或附加的权利要求范围的情况下可以容易地做各种各样的改进。
权利要求
1.一种用于管理主机中主超高速缓存器和打印机中打印机超高速缓存器的方法,所说主超高速缓存器和打印机超高速缓存器用于存贮字符数据,所说打印机与所说主机相连接,所说方法包括以下步骤响应打印第一字符的请求,所说主机首先确定所说打印机存储器中是否有第一字符数据,如果所说的第一字符数据不在该打印机存储器中,那么该主机然后确定该主存储器中是否有该第一字符数据,如果第一字符数据不在主存储器中,那么主机根据所说第一字符生成第一字符数据并将其存入主存储器中;如果打印机存储器中没有第一字符数据,那么将第一字符数据由主存储器拷贝至打印机存储器内;以及指示该打印机打印第一字符数据。
2.按照权利要求1的方法,还包含以下步骤第一步,将第一表保存于主存储器中,所说的第一表如此安排,使得所说主机能够确定所说第一字符数据是否驻留在主存储器内;并且第二步,将第二表保存于主存储器中,所说的第二表如此安排,使得该主机能够确定该第一字符数据是否驻留在打印机存储器中。
3.按照权利要求2的方法,其中所说生成的步骤还包括更新所说第一表以表示所说第一字符数据现在位于主存储器中的步骤。
4.按照权利要求2的方法,其中所说拷贝的步骤进一步包括以下步骤检查该打印机存储器中是否有足够空间存储第一字符数据;如果打印机存储器中没有足够空间,那么在打印机存储器中为第一字符数据开辟空间;将第一字符数据的一个拷贝转送至打印机存储器;并且更新所说第二表以表示第一个字符数据现在位于打印机存储器中。
5.按照权利要求4的方法,其中所说开辟空间的步骤进一步包括以下步骤删除打印机存储器中的所有字符数据;并且修正所说第二表以表示打印机存储器已空。
6.按照权利要求4的方法,其中所说开辟空间的步骤进一步包括以下步骤删除一个表明最低使用权限的字符数据;并且修正所说第二表以表示所说表明所说最低权限的字符数据现在已不在打印机存储器中。
7.按照权利要求4的方法,其中所说检查是否有足够空间的步骤进一步包括以下步骤设定一个阈值;定义一个可指示存储所说第一字符所需的存储器空间量的增量;计算所说打印机存储器当前使用量;并且比较所说现用量与所说增量相加后是否已大于所说阈值。
8.按照权利要求7的方法,其中所说计算步骤进一步包括以下步骤从主机存储器向打印机存储器拷贝字符数据时,在总当前运行量上增加一个字符登记项(character entry)的大小。
9.一种管理主机中主存储器和打印机中打印机存储器的方法,所说主存储器和打印机存储器用于存贮字符数据,所说打印机与所说主机相连接,所说方法包括以下步骤在所说主存储器中保存第一表和第二表,所说第一表的安排使得该主机能够确定该主存储器中驻留有哪些字符数据,所说第二表的安排使得主机能够确定所说打印机存储器中驻留有哪些第一字符数据;响应打印第一字符的请求,主机用该第二表首先确定代表所说第一字符的第一字符数据是否在该打印机存储器中,如果所说第一字符数据在打印机存储器中,则然后首先指示打印机打印该第一字符数据;如果第一字符数据不在打印机存储器内,主机用第一表再次确定第一字符数据是否在主存储器内,如果第一字符数据在主存储器中,首先将第一字符数据由主存储器拷贝到打印机存储器,然后再次指示打印机打印第一字符数据;并且如果第一字符数据既不在主存储器中又不在打印存储器中,主机由所说第一字符生成第一字符数据并将第一字符数据存于主存储器内,然后再次将第一字符数据由主存储器拷贝到打印机存储器中,然后第三次指示打印机打印第一字符数据。
10.按照权利要求9的方法,其中所说生成的步骤进一步包括更新所说第一表以表示第一字符数据现在位于主存储器中的步骤。
11.按照权利要求9的方法,其中所说第一次拷贝和第二次拷贝的步骤进一步包括以下步骤检查打印机存储器中是否有足够空间存贮第一字符数据;如果打印机存储器中没有足够空间,在打印机存储器中为第一字符数据开辟空间;将第一字符数据拷贝至打印机存储器;并且更新所说第二表以指示第一字符数据现在存于打印机存储器内。
12.按照权利要求11的方法,其中所说开辟空间的步骤进一步包含以下步骤删除打印机存储器中所有字符数据;并且修正所说第二表以表示打印机存储器已空。
13.按照权利要求11的方法,其中所说开辟空间的步骤进一步包含以下步骤删除一个表明最低使用权限的字符数据;并且修正所说第二表以指示所说表明所说最低使用权限的字符数据现在已不在打印机存储器中。
14.按照权利要求11的方法,其中所说检查是否有足够空间的步骤进一步包含以下步骤设定一个阈值;定义一个可指示存储第一字符数据所需要的存储器空间的增量;计算打印机存储器当前使用量;并且比较所说当前使用量与所说增量相加后是否已大于所说阈值。
15.按照权利要求14的方法,其中所说计算步骤进一步包含以下步骤当从主机存储器向打印机存储器拷贝字符数据时,在当前运行总量上增加上一个字符登记项的大小。
16.一个打印系统,包括一台打印机,所说打印机包括打印机械装置;存储字符数据的打印机存储器;与该打印机相连接的主计算机,所说主计算机包括存储字符数据的主机存储器;以及连同超高速缓存器管理过程一起工作的处理器,用于响应打印第一字符的请求,首先确定第一字符数据是否在所说打印机存储器中,如果所说第一字符数据不在该打印机存储器中,则确定所说第一字符数据是否在所说主机存储器中,如果所说第一字符数据不在该主机存储器中,由所说第一字符生成该第一字符数据并将它存于主机存储器中,如果主机存储器中已有第一字符数据而打印机存储器中没有,则将第一字符数据由主机存储器拷贝至打印机存储器。
17.按照权利要求16的打印系统,其中在将第一字符数据由主机存储器拷贝到打印机存储器前,所说处理器检查打印机存储器中是否有足够空间来存储第一字符数据,如果该打印机存储器中没有足够空间,则在该打印机存储器中为第一字符数据开辟空间。
18.按照权利要求17的打印系统,其中所说处理器通过删除表明最低使用权限的字符数据来开辟空间。
19.按照权利要求17的打印系统,其中所说处理器通过删除打印机存储器中的所有字符数据来开辟空间。
20.按照权利要求17的打印系统,其中的处理器通过比较打印机存储器当前使用量与表示存储所说第一字符所必须的存储器空间的增量相加后是否大于某个阈值,来检查是否有足够空间。
全文摘要
两个字符位图高速缓存器,主缓存器位于主机内而从缓存器位于打印机内,均由主机控制,能提高文本打印性能。当有打印字符的要求时,主机先检查位图字符是否在从缓存器内。如在,就简单地打印字符。如不在,就搜索主缓存器。如果在主缓存器内,就将它卸载并存于从缓存器中。如果两个缓存器中均无所需位图,主机由轮廓信息生成相应位图字符。新生成位图字符存于主缓存器内,然后卸载并存于从缓存器内。在此之前,主机检查从缓存器中是否有足够空间存储位图字符。若无,主机删除从缓存器中所有位图开辟空间。多数情况下,主缓存器中有所需位图字符的拷贝,从而避免其重新生成。
文档编号G06F13/14GK1155696SQ9612150
公开日1997年7月30日 申请日期1996年12月10日 优先权日1996年12月10日
发明者C·韦扬德, J·A·卡瓦菲卡 申请人:惠普公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1