[go: up one dir, main page]

CN1199197A - 一种打印设备和打印方法 - Google Patents

一种打印设备和打印方法 Download PDF

Info

Publication number
CN1199197A
CN1199197A CN98115266.XA CN98115266A CN1199197A CN 1199197 A CN1199197 A CN 1199197A CN 98115266 A CN98115266 A CN 98115266A CN 1199197 A CN1199197 A CN 1199197A
Authority
CN
China
Prior art keywords
data
data block
bitmap
printing
tabulation
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
Application number
CN98115266.XA
Other languages
English (en)
Other versions
CN1129061C (zh
Inventor
达林·李·达芬
小詹姆斯·H·埃利斯
小菲利普·D·欧文
孔·M·洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lexmark International Inc
Original Assignee
Lexmark International Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lexmark International Inc filed Critical Lexmark International Inc
Publication of CN1199197A publication Critical patent/CN1199197A/zh
Application granted granted Critical
Publication of CN1129061C publication Critical patent/CN1129061C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0077Raster outputting to the print element(s)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0077Raster outputting to the print element(s)
    • G06K2215/008Raster outputting to the print element(s) from more than one raster memory

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

本发明提供一种改进的打印机,这种打印机能够该设备从一个主机接收打印作业并将一个被打印页面的光栅化位图图像分成多个数据块或数据板。每个包含非零数据的图像块都将存储在打印机的存储器系统中,通常位于一个相对于其它数据块不连续的存储器单元中。不将零图像数据块存储在打印机存储器系统中,而是仅仅将它们在实际打印页面中的位置存储在“数据块列表”中。在该数据块列表中的每个目录项不仅包含含有其中一个图像数据块的实际随机存取存储区域的初始地址,而且还包含与特定图像数据块相关的其它变量和属性。

Description

一种打印设备和打印方法
本发明涉及一种打印设备,特别涉及一种一次只打印光栅化处理过的图像数据的一扫描行的激光打印机。本发明特别披露了这样一种激光打印机,即这种打印机能够形成位图图像数据块或数据板并且可将其存储在动态随机存储器的不连续区域中,然后能从所需要的每个区域中实时地取出一行数据,以串行方式将其送至激光打印机驱动装置。
在目前所用的常规激光打印机中,硬件和软件操作系统的结构是将位图页面图像数据分成多个被称为“数据块”的方格单元。每页中数据块的数量取决于纸张的大小、数据块的大小、以dpi(每英寸的网点数)为单位的打印头分辨率以及以比特/像素(bit/pel)为单位的位图分辨率。例如,一个规格为8.5″×11″的页面可被分成20个水平矩形块×100个垂直矩形块。在打印头分辨率为1200dpi以及位图分辨率为1比特/像素时,每个数据块为512像素宽×128像素高。
通常,打印机中的随机存取存储器(RAM)的尺寸小于存储一整页的位图所需的尺寸。因此,当通过光栅化处理将信息“写入”每个数据块中时,以数据块的方式配置存储器。因而,每个位图图像数据块存储在与其它类似数据块分开的区域中,并且这些小区域将分散在打印机RAM的所有不同的存储器地址单元中。但是在常规的打印机中,当打印位图图像时,必须将存储在RAM中的数据从“分散”的数据块页面表示方式转换成“聚集”的成行的页面表示方式,在所述“聚集”的成行的页面表示方式中,“一行”包括贯穿打印页面的整个宽度的一组水平数据块。这种建立行的处理方法将不连续的数据块复制到“行缓冲器”中,每个所述“行缓冲器”都在连续的存储器中存储一个页面宽度的数据。
根据打印机的输出能力(即每分钟输出的页数),在打印图像之前必须在缓冲器中存储多行数据。在许多打印机中,在打印机的主RAM系统中设置一套专用的存储单元以存储这些行数据。通常在系统的RAM中最少存储两行数据:(1)作为串行数据流当前正被送至激光打印头的一行数据,(2)目前正在处理的一行数据,它将在前一行数据被打印完之前能够被处理完(可以打印)。
常规打印机中后端执行软件所存在的主要问题是该建立行的方法包括将位图图像数据从不连续的RAM单元中的分散的数据块中复制到预设的用于实时存储行数据的连续的RAM存储单元中的操作(同时打印纸通过打印机),而需要占用处理器的部分操作。另外,零或“空”数据块必须像“存有数据”的数据块一样被复制到所述行缓冲器中,因此需要占据存储器带宽的存储器的存取操作(即需要访问时间以便使用存储器系统的地址总线和数据总线)。另外,必须设置用于将零数据存储在不连续的附加的RAM单元以及存储多行缓冲数据的存储空间。
披露打印机的建立图像系统的一些专利如下:
美国专利No.4,942,541(由Hoel所提出的)披露一个修补模拟(patchification)系统,该系统在打印机中使用了用于绘制图像数据的虚拟存储器。实际存储器被设置为“修补元件(patch)”并且所述实际存储器用于形成一个页面图像位图。一个修补元件以位图形式与一个页面矩形区域相对应,并利用虚拟(或逻辑)存储器的不连续区段表示每个修补元件,当将所述修补元件设计成实际存储器时,这些修补元件是连续的。当在设置实际存储器的步骤中建立一个“空白”修补元件时,该空白修补元件被设计成一个单一“空白”实际修补元件。所有这些空白修补元件都被设计成该单一空白实际修补元件。在打印过程中,该空白实际修补元件设计在逻辑页面图像的实际空白区域中。这些情况会出现在一个串行化处理过程中,并且如果一个特别设计的实际修补元件被设为零修补元件时,那么在存储器中的该单一空白实际修补元件被存取以将正确的空白数据(对于空白逻辑修补元件)传送到打印机。利用逻辑修补化地址将非空白数据绘制到实际存储器地址,在所述逻辑修补化地址中的实际地址可以是不连续的。当需要将数据传送到打印机时,连续的逻辑地址利用一个补偿值(指针)寻找正确实际地址以提供如打印机所需要的合适数据。这包括了作为打印机所需要的用于零数据和非零数据的专用数据修补元件。
美国专利No.5,502,804(由Butterfield所提出的)披露一种能实时地产生输出页面图像的激光打印机。Butterfield提出这样的技术方案,即通过建立一个单一行来启动打印过程,然后在建立所述第一行后,在打印所述第一行时形成一个第二行,而不需要在将整个页面送至打印机驱动装置之前以问题形式建立该整个页面。利用这种方法,由于不需要形成一个整个位图页面,因此在将数据送至打印机驱动装置之前大量的存储器可以得到存取。即使利用足够的存储器来建立一个完整页面时,也可利用Butterfield所提出的行技术在打印一行中的第一页的同时建立另一行中的第二页。Butterfield可以接收高级语言打印作业数据并且将这样的数据转换成“图形指令”,而不是将其直接转换成位图。由于一个简单的图形命令可以对一个以上的行起作用,因此利用在存储器中以表格形式存在的“命令块”对一个序列进行多次处理。首先实施一个“指令形成步骤”,并且利用将多个输入命令与单一命令块结合(从而使存储器最小化)来消除剩余指令。第一(过渡)图像绘制步骤与所述指令形成步骤同时进行,并且绘制页面图像中的目标图像。这些目标图像存储在用户存储器中,所述用户存储器作为下一个(第二)绘制步骤的数据源。当该页面图像的所有指令形成时第二(延迟)图像绘制步骤开始。该步骤可以对序列命令进行多次处理,一个指令对每个图像行都起作用。
美国专利No.5,574,953(由Rust所提出的)披露了一种在不连续的存储器中存储压缩数据的数据压缩和解压缩系统。当将数据数据压缩并存储在存储器中时,利用在指向所用下一个存储器的最终位置处设置一个指针使不连续区段被指示。在设置指针之前,存储一个特定的“连接”符,该“连接”符可将不连续存储器逻辑地连接在一起。当数据被解压缩时,如果该符号是一个连接符,则地址指针将该系统引到存储器中存储下一个压缩数据的下一个位置以检索该区段。如果该符号不是一个连接符,则该符号(或数据)被解压缩。
美国专利No.5,129,088(由Auslander所提出的)披露了一种在硬盘驱动器上根据不连续的数据块组形成一个虚拟磁盘的数据处理系统。将实际存储器单元的每个驱动器(多个驱动器)分成多个实际分区,每个分区包括预定数量的可寻址的连续数据块。尽管“逻辑”数据块是连续的,可是在每一组数据块中的分区不必实际连续。当系统存储器需要进一步设置存储单元时,该系统可以自动地设置一个或多个附加分区,并这是动态发生的以进一步存储信息。
美国专利No.4,555,802(由Fedak所提出的)披露了一个将图像数据分成多个区段的系统,其中每个区段是正方形或者是矩形的。对所述区段进行分析以确定是包含空白或零数据的区段还是包含至少一比特的非零数据的区段。可以不考虑所述空白区段,并存储和检索所述非空白区段。形成一个目录以指示每组非空白区段的存储单元以及与信号的矩形光栅列相关的每组非空白区段的空间位置。所有压缩和解压缩设备操作都不依赖于所述区段的足够比特的信息含量。
美国专利No.5,416,615(由Shirota所提出的)披露了一个同时在水平方向和垂直方向上扩展数据并且形成一个n×n像素“初始数据块”的数字数据传送装置。根据这样的启示,实施一个诸如二维余弦转换的转换过程,从而形成一个包括m×m像素数据的“微分数据块”。该微分数据块数据是“转换编码”以产生“有效数据”,并且一个“标志产生线路”用于传送该有效数据。但是,如果当没有有意义的数据(通常指的是空白数据)时存在有效数据传送的遗漏,则该标志产生线路产生一个标志,并且一个单独的传送线路将传送所述一个标志或多个标志以及数据块的像素数据。
在常规的现有打印机中,一个光栅化位图图像数据的“行”在作为串行数据被送至激光打印机驱动装置之前必须建立在连续的存储器中。实际上,在大多数的常规打印机中,两个独立的行具有存储在随机存取存储器中的特定单元,一组连续存储器单元用于正输出到激光打印头的行,第二组连续存储器单元用于正在建立的行。当第一行的数据被完全送至激光打印头时,所述第二行完整地形成在连续存储器中,并且也将按照需要被送至激光打印头。
用于行建立过程中的随机存取存储器(RAM)的数量是重要的。例如,在分辨率为1200dpi(每英寸的网点数),一个覆盖8-1/2″宽页面并且含有128个水平光栅行的行需要160字节的存储器。为了存储两个行(或者存储器中存储空间至少用于两个这样行),该打印机存储器必须留有320字节的空间。由于多数打印机都具有2M字节的RAM,因此320字节的需要量是整个打印机存储器的一个重要部分。如果能够消除行建立过程中的存储器需要量,那么大量地节省存储器空间和存储器行宽将成为一个重要的商业优势,并且还能节省打印机的操作。
因此,本发明的一个主要目的在于提供一种打印设备,该打印设备能够消除对存储器中存储空间的要求以建立将被送至激光打印头的行。
本发明的另一个目的在于提供一种打印设备,该打印设备能够将一个被打印页面的光栅化位图图像分成多个数据块或数据板,将包含非零数据的数据块(即“真实”数据)暂时存储在随机存取存储器中,在将零数据块的位置记录在图像页面上的同时废弃所述零数据块,并且当为激光打印头提供位图数据时,从一个特定的寄存器中而不是从随机存取存储器中提供零数据块。
本发明的另一个目的在于提供一种打印设备,该打印设备能够将一个被打印页面的光栅化位图图像分成多个数据块或数据板,将包含非零数据的数据块暂时存储在随机存取存储器中,并且在将串行化位图数据提供到激光打印头的串行化处理过程中提供一个高速缓存存储器以存储几个利用处理线路可方便存取的数据块目录项。
本发明的另一个目的在于提供一种打印设备,该打印设备能够将一个被打印页面的光栅化位图图像分成多个数据块或数据板,将包含非零数据的数据块暂时存储在随机存取存储器中,并且利用一个高速缓存存储器存储几个数据块目录信息项,即使地产生一个可以“在空中”的传送方式传送到打印头上的位图数据“行”,其中行的长度或页宽不是由打印机存储器系统中的如何一个预定的存储器单元界定。
对于本发明的其它目的、优点以及新的技术特征,一部分体现在下面的叙述中,本领域技术人员可以根据下文的描述或者在实施本发明的过程中明显得到另外一部分。
为了达到上述目的和其它目的,本发明提供了一种改进的打印设备,该设备从一个数据源(例如一个主机)接收打印作业,翻译这些数据,如果需要的话,对这些数据进行光栅化处理使之成为一个位图,然后利用一个软件页图(PMAP)编码将一个被打印页面的光栅化位图图像分成多个数据块或数据板。该软件使用一种用于所有位图数据块的被称为压缩页图(CPM)结构,并且该CPM包括一个表示诸如分辨率和纸张尺寸等等的页面特征的控制首部。在所述控制首部之后,该CPM包括在页面上的每个数据块的目录项。
该CPM的每个目录项是一个指示数据块结构的指针,所述数据块结构包括一个表示诸如分辨率和纸张尺寸等等的页面特征的控制首部。在所述控制首部之后,该数据块结构包含通常为8字节的真实数据块。
当开始一个新的页面时,因为零数据不具有设置在RAM中的存储器,因此打印机软件检查所有数据块。当该软件将黑色像素涂到位图中时,首先检查数据块,看看它们是零数据(全白)还是真实数据(非全白)。如果所要涂的数据块是零数据块,则在进行涂色之前必须首先设置用于数据块的存储器(在翻译和光栅化过程中)。如果数据块是真实数据块,则它们已经被预先设置并且立即进行涂色。
当进行打印时,打印机软件必须对数据进行串行化处理以便将所述数据转换成为激光打印头能够理解的格式。利用对CPM中的目录项进行处理使所述软件能够建立一个“数据块列表”(BLT)。在BLT中的目录项按照从“目录项0”到“目录项N”的顺序排列以与穿过页面的数据块排列顺序相应。该顺序在一个单面页面和一个双面页面的正面上是从左到右,而在一个双面页面的背面上是从右到左。
虽然在一个特定页面上的每个数据块可能位于一个相对于其它数据块不连续的存储器单元中,但是每个包含非零数据的图像块都将存储在打印机的存储器系统中。在串行化处理步骤中,不将零图像数据块(例如,在一个使用一个利用位图中的逻辑1比特进行显示黑色像素的打印机构的打印机中仅仅包含逻辑0的那些图像块)存储在打印机存储器系统中,而是仅仅将它们在实际打印页面中的位置存储在数据块列表中。在该数据块列表中的每个目录项不仅包含含有其中一个图像数据块的实际随机存取存储区域的初始地址,而且还包含与特定图像数据块相关的其它变量和属性,例如一个扩展因子,该数据块是否为穿过打印页面的一个“行”的列表中最后一个数据块,以及该数据块是一个标准的非零数据块(即一个“真实”数据块)还是一个包含零数据的“空操作”(或“NOP”)数据块。当然,因为没有实际的RAM区域需要存储零位图图像数据,所以零数据块不需要记录在数据块列表的目录项中的实际存储器地址。
本发明没有在将光栅化处理的数据送至激光打印头之前在连续的存储器中建立一行,而是实时地建立了许多位图数据的光栅行区段并以“在空中”的传送方式将这些数据传送到激光打印头上,根据需要一个数据块接着一个数据块地检索一个单一数据光栅行区段以完成一个单一整行,要求所述单一整行确定一个“扫描行”,利用由输出的激光照射的一个旋转多棱镜使所述“扫描行”在一个感光鼓上。这种当需要时可从每个数据块中读取单一行的优选方法能够存取被打印的单一行的数据块列表,将4个数据块目录项放入形成在打印机ASIC中的一个高速缓存存储器中,在所述打印机ASIC内,利用分段线性直接存储器存取(PWLDMA)线路在所述高速缓存存储器内可容易地将单独的数据块目录项从一个数据块存取到下一个数据块。
如果单一行包括穿过该行水平宽度的20个独立数据块,那么读取该行的一个单一光栅行将需要4组数据块目录项进出高速缓存存储器的5次独立转换。当一个特定数据块目录项在高速缓存存储器中时,在适当的时间检查该数据块地址以从存储该特定数据块的位图“真实数据”的RAM相应区域中指示一个读取操作。利用指针,从RAM中相应的存储器单元中读取合适的位图数据光栅化行段,并且将其传送到ASIC(通常包括一个具有多个端口的寄存器)中的一个先进先出(FIFO)存储器中。当激光打印头需要该特定行段的数据时,该FIFO存储器将以适当的数据传送速率提供串行化数据。
如果该特定数据块是一个零数据块,那么当对其留在高速缓存存储器中的相应数据块目录项进行检查时,其“NOP”属性将指示打印机图像系统不应该期望RAM寻找该特定数据块光栅行段的“真实数据”,而应该从ASIC内的一个专用NOP寄存器中取出一个零数据行区段。该NOP寄存器将所有0,s或1,s的行区段(取决于打印页面所希望的是标准图像数据还是反图像数据)提供给ASIC中的FIFO存储器。应该理解的是,NOP寄存器是一个通常装入所有1,s或0,s的32比特的通用寄存器,但是该寄存器并不仅限于这个子集,并且该寄存器所设置的数据也可包含其它数值,例如0,s和1,s交替所形成的集合。再在适当的时间将该零数据从FIFO存储器的底部以合适的数据传送速率送至激光打印头。
对于一个特定打印作业的存储在ASIC中一个属性是被打印数据块的宽度,该宽度取决于被打印的实际数据块的分辨率(单位为比特/像素)和宽度(单位为比特)。当所述分段线性DMA线路移动到数据块目录高速缓存存储器中的下一个目录项时确定该数据块宽度属性以便在打印页面上建立一个特定的行。在一些情况下,不要求一行的“最终数据块”是一个“满”数据块,仅仅需要一个“部分充满”的数据块以完成打印一个打印页面的特定行或特定行。本发明提供了“满数据块”和“部分充满数据块”,并且当需要建立行时还利用一些数据块在不限制行的数据块数量的前提下使行的尺寸不受约束。而且,在输出一个特定行数据并且最终数据块达到时,将数据块列表中的“最终数据块”属性通知该系统。
在下面将要述及的优选实施例中,利用分段线性寻址直接存储器存取(DMA)方式使数据以将来自单独数据块的单一光栅行的行段加入FIFO存储器中的方式从RAM中输出。常规打印机是先利用从RAM中的一个特定存储器单元输出读取数据再利用行缓存器将相同数据返回RAM中的另一个特定存储器单元中,与这样的常规打印机不同,本发明仅仅从RAM中读取来自用于存储一个特定数据块相应行段数据的存储器单元的适量数据,然后再将这些数据引导到FIFO存储器中。
下面立即描述当利用打印机软件在RAM中建立数据块列表(BLT)后本发明所用的方法,其中通过ASIC中的数据块目录地址寄存器BLA1和BLA2、行转换计算寄存器BTC1和BTC2以及数据块宽度寄存器BW0和BW1使所述BLT“传给”(“handed off”)到ASIC软件。
1.BLA1寄存器存储表示位图第一行的第一数据块列表的RAM中的地址。
2.BLA2寄存器存储表示位图第二行的第二数据块列表的RAM中的地址。
3.BTC1寄存器存储行1中DMA转换的32比特字符的数量。
4.BTC2寄存器存储行2中DMA转换的32比特字符的数量。
5.BW0寄存器确定在行中除了最右边数据块以外所有数据块的宽度(为32比特字符)。
6.BW1寄存器确定在行中最右边数据块的宽度(为32比特字符)。
从这一点出发,利用操纵在ASIC中的软件可以根据不连续数据块建立连续光栅行,如下:
1.BLA1是BLT的初始地址,并且可将目录项1、2、3和4从BLT(在RAM中)复制到ASIC中的数据块目录高速缓存存储器(BLC)。
2.从BLC的目录项1开始,在ASIC中的光栅FIFO中建立光栅行区段。
a.如果不设置NOP区域,则BLT目录项的地址区域用于将光栅行区段从RAM复制到光栅行FIFO。
b.如果设置NOP区域,则将光栅行区段从ASIC中的NOP寄存器复制到光栅行FIFO。
c.在(2a)和(2b)中,复制数据的大小取决于LB区域(行中最终数据块),如果不设置LB区域,则光栅行区段的大小由BW0限定;如果设置LB区域,则光栅行区段的大小由BW1限定。
d.在完成(2a)和(2b)的复制操作后,BLC中的地址区域由数据块宽度加1,并且LB区域限定下一个处理的BLC目录项。如果不设置LB区域,则处理BLC中的下一个后续目录项;如果设置LB区域,则完成行的光栅行并且下一个目录项为由BLA1寻址的在BLT中的第一目录项。
3.在处理了BLC的目录项1、2、3和4后,起伏的BLC必须写回RAM中的BLT中,并且将目录项5、6、7和8从BLT复制到BLC中。目录项进出BLC,每次都是4个目录项被高速缓存,直至找到最终数据块LB。
4.多个光栅行被复制到光栅行FIFO中直至BTC1终止,表示行1的末端,于是:
a.分段线性DMA自动从BLA1和BTC1寄存器(表示行1的)移动到BLA2和BTC2寄存器(表示行2的),并且没有缝隙地将光栅扫描行连续地复制到FIFO中。
b.将一个中断信号传送到微处理器,并且软件用表示行3的值改写BLA1和BTC1寄存器。
5.继续进行处理直至BTC2终止表示行2的末端,于是:
a.分段线性DMA自动从BLA2和BTC2寄存器(表示行2的)移动到BLA1和BTC1寄存器(表示行1的),并且没有缝隙地将光栅扫描行连续地复制到FIFO中。
b.将一个中断信号传送到微处理器,并且软件用表示行4的值改写BLA2和BTC2寄存器。
6.继续步骤(4)和(5)的处理终止达到页面末端。
本领域技术人员可以通过下面的叙述和附图中进一步了解本发明的其它目的,其中描述了一个本发明的优选实施例。应该理解的是,本发明可以其它不同的方式实施,在不脱离本发明的基础上,可以在对具体结构进行各个方面的改进。因此,下面的附图和叙述内容仅仅是为了描述本发明,而不是限定本发明。
下面的附图作为本发明说明书的一个部分,并且与说明书和权利要求书结合一起对本发明的原理进行说明。附图中:
图1是用于根据本发明原理设计的一个激光打印机中的的主要元件的硬件框图。
图2表示利用图1的打印机打印的一个页面的一部分位图,其中位图已被分成多个数据块或数据板。
图3是图1打印机的随机存取存储器中的一部分的示意图,表示能够包含被打印页面的位图图像数据的存储器单元的各个区域。
图4是本发明所用的数据块列表的一部分的示意图,该数据块列表用于存储占据图2的打印页面的图像数据块的位置信息和其它属性。
图5是存储来自图4的数据块列表的4个数据块目录项的高速缓存存储器的示意图。
图6是存储图4的数据块列表的两个地址的数据块目录地址寄存器的示意图。
图7是存储将被传送到图1的激光打印头的位图图像数据的一个先进先出(FIFO)存储器的示意图。
图8是图1打印机所用的另外两个寄存器的示意图,一个空操作(NOP)寄存器和一个数据块宽度(BW)寄存器。
现详细参照本发明的一个优选实施例,其中一个示例表示在附图中,所有附图中的相同的标号表示相同的元件。
现参照附图,图1表示由附图标号10所示的激光打印机的一个硬件的框图。激光打印机10最好包括一些标准的元件,例如有不同电压值的多路输出的直流电源12、具有地址线、数据线以及控制和/或中断线的微处理器14、只读存储器(ROM)16以及由软件操作分成几个部分、可用于执行几种不同功能的随机存取存贮器(RAM)。
激光打印机10还包括至少一个串行输入端口或并行输入端口,在许多情况下激光打印机10既包括串行输入端口还包括并行输入端口,在附图1中用标号18表示串行输入端口,附图标号20表示并行输入端口。端口18和20都与一个相应的输入缓冲器连续,输入缓冲器在图1中用标号22表示。串行输入端口18通常与一个微机或工作站的串行输出端口连续,所述微机或工作站具有一个诸如文字处理程序或图形程序包或计算机辅助绘图程序包的软件程序。类似地,并行输入端口20可与具有同样类型程序的微机或工作站的同类并行输出端口连续。图1中,这样的输入装置分别用标号24和26来表示。
在输入缓冲器22接收到文本数据或图形数据以后,所述数据被传输到由标号28所示的一个或多个译码器28中。一种常用的译码器为PostScriptTM,这是一种大部分激光打印机所采用的工业标准。在输入数据被翻译后,通常将所述的输入数据送至一个光栅化处理的通用图形驱动装置(common graphics engine),所述光栅化处理通常在图1中用标号30表示的RAM的一部分中进行。为了提高光栅化处理的速度,在大部分激光打印机内的ROM或RAM中分别存储有字库,可能还包括一个字体高速缓冲存储器,这些字库在图1中用标号32表示。这样的字库和字体高速缓冲存储器为通用字母符号提供位图格式,以使所述通用图形驱动装置30能够在最短的时间内毫不费力地将所述符号都转换成位图。
在对所述数据进行光栅化处理后,将所述数据引入一个队列管理器或页面缓冲器中,所述队列管理器或页面缓冲器是用标号34表示的RAM的一部分,。虽然在常规的激光打印机中,在实际打印某页的硬拷贝所需占用的那段时间内,整页的光栅化处理数据存储在队列管理器中,但是本发明处理这些光栅化处理数据的方式与现有的打印机完全不同。所述队列管理器内的数据实时地传输到由标号36所示的打印机驱动装置中。打印机驱动装置36包括打印头内的一个激光光源,所述打印机的输出46是在一张纸上用实际的墨粉进行处理,作为激光打印机10的最终打印输出。
打印机驱动装置36包括一个专用集成电路(Application SpecificIntegrated Circuit)(下文简称ASIC)40,该专用集成电路40作为所述打印机驱动装置内的各种硬件的一个控制器和数据管理装置。来自队列管理器34的位图打印数据由ASIC40接收,并在适当时刻将该位图打印数据送至激光打印头。
应该理解的是,所述地址线、数据线和控制线通常聚集为总线,所述总线是与激光打印机10内的各种电子元件并联(有时也可多路传输)的导电线路。例如,通常将地址总线和数据总线送至所有ROM和RAM的集成电路,并通常将控制线或中断线引向作为缓冲器的所有的输入或输出集成电路。另外,如在后面将要详细描述的,标号38所示的一组总线不仅能将位图图像数据从队列管理器34送至打印机驱动装置36,而且还可将地址指令从ASIC40送至队列管理器34。
如上所述,不要求本发明的队列管理器34在打印机驱动装置36开始打印以前存储有整页的图像数据。由于需要打印的一页的位图图像被分成多个矩形“块(block)”或“板(tile)”,所以将每一个矩形块或板的实际位图数据暂时存储在RAM的一个特定区域中,这些“区域”在这里被称为“块”。如上所述,即使存储要打印的那一行的位图数据时,RAM的分离的区域或块也可能是不连续的,这些不连续的存储块用标号50表示。一个“数据块”列表52也存储在动态随机存储器中,该数据块列表是一个信息描述表,在该表中的各个区域表示各个数据块的属性。该表中的一个区域是“地址区域”,该“地址区域”指向存储其中一个位图图像数据块的实际动态随机存储器中的一个区域。后面将详细叙述这些内容。
打印机驱动装置36的ASIC40包括几个本发明专用的新元件。设置一个高速缓冲存储器60以存储从所述数据块列表52的几个人口。另外,一对“数据块目录地址”寄存器62包括用于两个数据块列表52的位于动态随机存储器中的实际存储器地址的地址信息(即指针)。ASIC40还包括一个特定的“空操作”寄存器64,该“空操作”寄存器64包括当打印“空白”位图图像块时(或者更确切地说,“当不打印这些空白块时”,这是因为在实际一张纸的空白区域中,没有打印像素出现在纸上)用到的“零”数据。这种“空操作”寄存器64也可称为“NOP”寄存器。
ASIC40还包括一个先进先出(FIFO)存储器66,该存储器66用于存储沿一条通向激光打印头44的数据通道42进行最终输出的光栅化处理的位图数据。当将光栅化处理的线段信息放入FIFO存储器66的顶部时,FIFO存储器66的“底部”以将串行数字数据送至激光打印头所需的数据传送速率被排空,这样使FIFO存储器66可实时地在感光鼓(未示出)上形成适当的图像。
图1还表示了这样的情况,即主系统的地址总线和数据总线被打印机10的微处理器14和各种RAM元件使用,而且还可引入打印机驱动装置36的ASIC40中。
图2表示需要用打印机10进行打印的一页的一部分,其左上角部分用标号100表示。例如由标号102、104、106、112和122所表示的各个矩形块代表整页位图图像被分成的所谓的方格。矩形块的顶行(即矩形块102、104、106和108)是最左边的矩形块,这些矩形块构成将由打印机驱动装置36的激光打印头逐线打印的最上面一行。相应地,矩形块112、114、116和118形成从页面的最上面起第二行的最左边的矩形块,矩形块122、124、126和128形成从页面的最上面起第三行的最左边的矩形块。
在优选实施例中,在位图分辨率为1比特/像素时,所述每个矩形块都包括128行×512列的像素或像素数据,在图2中分别用“H”和“W”表示所述的行与列。可用动态随机存储器中的8192字节的一个区域(即8K,每个字节包含8比特)表示这样规格的矩形块位图图像数据,并且每个8K区域都可存储为在打印机RAM的存储图中某处的一个独立的个体。如上所述,这些存储区域在这里还被成为“数据块”,并且图3表示了这样一个包含由标号B0-B9表示的10个这样的数据块的存储图50。
每个诸如矩形块102的图像块或图像板的每个像素通常包含一个网点。但是,应该理解的是,图像数据可以表示彩色数据或灰阶数据,例如要求4bit/像素,从而需要32KB的存储区域。假设1bit/像素,在分辨率为1200dpi(每英寸的网点数)时,一个规格为8.5″×11″的标准页可被分成20个水平矩形块×100个垂直矩形块的矩阵,从而要求每一页有2000个矩形块。每个所述矩形块需要RAM的8KB空间以存储像素数据,因此可以看出,一行位图图像数据需要打印机10的动态随机存储器中的20个这样的数据块或者160KB的存储空间。
当然如果能用存储图50将这样大量的数据分成几个较小的图3所示的存储区域,将可比较容易地为所述大量的数据分配所用的动态随机存储器中的存储空间。在图3中,存储图的每个方格表示打印机10的RAM的8KB存储空间,相邻方格的存储单元在RAM中可具有连续的存储器地址。因为图像数据块可以分成8KB小部分,所以不必使涉及某一行的所有数据块相互邻接地存储在一组连续的存储器地址中。例如,在图3中,一行的前10个数据块用符号B0-B9表示,并且这些数据块分散在存储图50的各处。例如,数据块B0可表示存储图2中的矩形块102的位图图像数据的存储区域。相应地,数据块B1表示存储矩形块104的位图图像数据的存储区域,数据块B2表示存储矩形块106的位图图像数据的存储区域。
这种划分的存储单元的设置在一些现代常规打印机中是很常见的,并且在存储图中的这些设置通常仅仅是暂时的,直至生成由激光打印头打印的该行数据的时候。在常规的打印机中,需要将数据块B0-B9(以及形成一个由20个数据块所构成的完整行所需的其它数据块)从动态随机存储器中的表示在存储图50上的其存储单元中取出,然后将这些数据块移至新的实际存储器地址(未示出)中,以生成该行数据,这些新的实际存储器地址通常位于专供行缓冲器的一组专用存储器地址中。从下文可以看出,本发明无需取出这些位图信息块,再重新写入新的存储器地址中。
图4表示由标号52所示的一个数据块列表。如上所述,数据块列表52是一个信息描述表,在该表中的每项都表示不同区域的信息。例如,第一项,由标号150表示,包括不同的信息区域,诸如表示一个“数据块扩展因子”的两比特,即152所表示的一个比特“BX1”和153所表示的一个比特“BX0”。在优选实施例中,如果将比特BX1和比特BX0都设成0,那么扩展因子比等于1∶1,也就是原始位图图像数据的复制品。如果BXn比特值等于“01”,那么扩展因子比等于1∶2,并且对于每个逻辑1数据比特,送出两个黑像素信号。类似地,1∶4和1∶8的扩展因子也可用在该优选实施例中,其中,对于每个逻辑1的位图值,送出4个或8个黑像素信号。
标号154表示数据块列表52中第一项150的“地址区域”。在图4中,地址区域154表示存储图50中存有数据块B0的图像位图数据的区域。在优选实施例中,在地址区域留有一个27比特的存储器地址空间,对于包含该图像数据块的打印机动态随机存储器的一个特定区域,所述27比特存储器地址代表一个指向连续的存储器的起始地址的指针。
数据块列表52中的第一项150其它区域包括一个“LB”位156和一个“NOP”位158。在优选实施例中,如果LB=0,那么数据块列表中的项150不表示该位图图像数据特定行在列表中的最后一个数据块。如果LB=1,那么数据块列表中的该项表示该特定行在列表中是最后一个数据块,因此该数据块可能是一个“独立”数据块。当打印一个页面的正面时,该行中的最后一个数据块可为一个独立数据块。如果特定行的被打印像素的数量恰恰不是“块宽”的整倍数,那么可能使用所述独立数据块,所述“块宽”是存储在ASIC40中的另一个参数。另一方面,如果双面打印时打印背面,那么第一个数据块可为一个独立数据块。这些内容将在下面进行详细描述。
如果NOP位=1,那么该数据块目录项的真实图像数据块是一个零数据块(含有空或零数据),并且系统要求一个数据“空操作”转换,该数据“空操作”转换是在ASIC40中的一个寄存器中进行的,而不是在打印机存储系统的动态随机存储器中的一组存储元件中进行的。另一方面,如果NOP位=0,则意味着这是一个正规的转换,在所述转换中,利用诸如数据块B0的地址区域154中特定的指针从打印机的动态随机存储器中取出“真实数据”。
类似地,数据块目录项160包括数据块B1的一个地址指针164,并且还具有分别由标号166和168表示的参数“最后一个数据块”和“空操作”。数据块列表中的第三项170类似地包括数据块B2的一个地址部分174,以及相应的分别由标号176和178表示的最后数据块和空操作的比特数。
如果(如在优选实施例中的)一行的数据块的数量等于20,那么位图图像数据可能包含小于20个的具有一些实际需要打印的像素数据的位图图像数据块。换言之,行内的某些数据块可能是“空”的或为零数据,其中没有像素打印在真实页面的这些实际数据块位置处。图2的上部第一行一共包含20个位图图像数据块;但是仅仅其中10个含有实际打印的“真实”数据,它们由图3和图4中的B0-B9来表示。如果数据块B0-B9表示被打印到页面上的前10个最左边实际数据块,并且该上部第一行的后10个数据块仅包含空或零数据,那么图4包含一个其中所有前10个数据块目录项(即数据块B0-B9的目录项)的NOP比特都设定为逻辑0的数据块列表。后10个数据块目录项所包含的NOP值则等于逻辑1。
在该示例中,标号180所表示的第10数据块目录项包含由标号188所示的等于逻辑0的一个NOP。如果数据块列表上的目录项190是后10个数据块中的一个,那么标号198所示的NOP值设定为逻辑1。在这样的条件下,由于在打印机10的动态随机存储器中不存在包含数据块的零数据的实际区域,因此数据块“BN”的地址区域被忽略,或设为0。根据本发明,零数据数据块不存储在存储器中,当临时存储被打印的一页位图图像数据时所述存储器留有大量的存储空间。以后当到了打印包含数据块BN的行时候,如图8所示,将零数据从一个NOP寄存器送至打印机驱动装置。后面将对此进行详细描述。
图4中的数据块列表52有助于利用ASIC40内的一个直接存储存取(DMA)控制器70和一个直接存储存取通道进行分段线性寻址。每个数据块目录项(例如目录项150)的宽度最好为32比特或4字节。当在打印机的动态随机存储器中存储信息时,最好使用独立的实际存储单元存储这些数据块目录项,以便仅仅使地址指针移动4个字节就可一个接着一个地存储这些数据块目录项。
一个由图6中的标号62所示的“数据块目录地址”参数寄存器提供所述数据块列表的起始地址。例如,数据块B0的数据块目录地址由标号250表示,并且当直接存储存取存储器经过数据块时对数据块列表中的下一目录项进行寻址,在不利用增加值修正寄存器的情况下,将一个数值(数据块号*4)加入数据块目录地址寄存器中。这会使目录中的每一个通道的目录地址相同。数据块目录地址寄存器是双缓冲的,并且在数据存储器中的所述数据块列表也是双缓冲的以支持直接存储存取通道“自动重装”模式。在上文中已经对这种自动重装模式进行了清楚的描述,并当将光栅行式数据连续复制到FIFO66中时使各种行连续地在第一数据块列表250(即BLA1)和第二数据块列表252(即BLA2)中进出。
一个由图5中标号60所示的高速缓冲存储器建立在ASIC40的存储元件中。在优选实施例中,高速缓冲存储器60在一个给定的时刻包含4个数据块目录项。例如,数据块目录项150可存在于标号200所示的高速缓冲存储器#1中。如果数据块目录项150可存在于标号200所示的高速缓冲存储器#1中,那么数据块目录项160可能存在于标号210所示的高速缓冲存储器#2中,数据块目录项170可存在于标号220所示的高速缓冲存储器#3中,数据块B3的目录项可存在于标号230所示的高速缓冲存储器#4中。在这个示例中,现存在于高速缓冲存储器#1中的地址区域204可能与地址区域154相同。当LB比特206可能与LB比特156相同并且NOP比特208的数值可能与NOP比特158的数值相同时,比特扩展因子202和203可能与比特扩展因子152和153相同。高速缓冲存储器#2-#4中的地址区域分别由标号214、224和234表示。在这个示例中,通常存在于高速缓冲存储器60中的所有4个数据块目录项包含“真实数据”并且地址区域204、214、224和234都将指向位于打印机10的动态随机存储器中的实际实际存储器。
在打印机的动态随机存储器中所用的数据块目录地址(BLA)寄存器62最好包含2个含有当前需要处理数据数据块列表的存储单元指针。在这个示例中,由标号250所示的BLA1指针将指向包含第一数据块列表54的第一字节的存储元件,并且由标号252所示的BLA2指针将指向第二数据块列表的第一字节(未示出)。
本发明的一个重要方面在于,快速存取需要实时地建立一行单一光栅行的数据的能力以及当纸张通过打印机时将该光栅行“在空中”传送到打印机驱动装置的能力。这可以利用存取由BLA寄存器62所示的前4个数据块目录项来完成,并且对于该特定的行,这可能是数据块B0-B3。当从数据块列表52中存取这4个数据块目录项时,可将它们快速地放置于高速缓冲存储器60中的高速缓冲存储器#1-#4处。如上所述,与目录项150、160、170和270有关的所有4个数据块快速地在所述两个BLA寄存器中循环。
当图8中由标号68所示的“数据块宽度”参数确定在寄存器“BW1”和“BW0”(它们是存在于ASIC40中的寄存器)中后,可从打印机的动态随机存储器中一个数据块接着一个数据块地得到实际的位图图象数据。最好,在DMA控制器70的控制下得到实际的位图图象数据,所述DMA控制器70将来自动态随机存储器中的位图图象数据传送到图7中所示的一个先进先出(FIFO)存储器66中,所述先进先出(FIFO)存储器66也是ASIC40的一个部分。
在将所述4个数据块目录项放置于高速缓冲存储器60中后,所述DMA控制器70检查地址区域(即标号200所示的高速缓冲存储器#1中区域204)以寻找包含数据块B0的位图图象的开始存储元件。在读取由数据块宽度参数BW1和BW0所确定的数据比特的数量之后,将适量的位图图象传送到FIFO66的由标号260所示的第一寄存器中。应该理解的是,整个数据块B0的图象数据,即包括信息比特行与列的矩阵的图象数据(如BW0和BW1所确定的,通常为128×512比特)并没有被传送到FIFO66的由标号260所示的寄存器中,而仅仅来自数据块B0的单一光栅行被传送到FIFO66中。因此,由标号260所示的寄存器#1仅仅包含512比特的图象数据,最终这些图象数据将作为串行信息(即一个激光打印机的所希望得到的结果)的单一光栅行被传送到打印机驱动装置36的打印头。
接着,DMA控制器70注意由标号210所示的高速缓冲存储器#2中的地址区域214的地址指针,所述指针将指向包含数据块B1的“真实数据”的存储元件单元。该DMA控制器现将存取在打印机动态随机存储器中的图像数据的合适部分以从数据块B1中仅仅抽取单一光栅行,并且将该单一光栅行区段放置于FIFO66中。这样,来自数据块B1的单一光栅行区段将被放置于的FIFO66顶部的寄存器260中。同时,寄存器260以前所包含的内容将被向下移动到由FIFO中的寄存器#2所示的下面一个寄存器262中。
这些类型的操作继续用于下两个数据块(即用于数据块B2和B3),这两个数据块的数据块目录项放置于高速缓冲存储器60的存储单元220和230中,并且DMA控制器70将在打印机动态随机存储器中相应地寻找被指向数据的合适光栅行区段以在寄存器260引入被装入FIFO66顶部的两个多组512比特图像数据。在整个FIFO66被载入4组光栅行区段之后,所有4个FIFO66的寄存器260、262、264和266将被载入占据被打印页面的一行光栅行五分之一的4个连续光栅行区段的位图图像数据。同时,数据块B0的光栅行区段存在于寄存器266中,并能以适当的数据传送速率沿着数据通道42被传送到激光打印头44,所述适当的数据传送速率指的是激光打印头需要接收数据的速率。当这组512比特的数据被传送到激光打印头时,数据块B1的光栅行区段数据(暂时存在于寄存器264中)将被向下传送到底部寄存器266,并且也可将其传送到激光打印头44。
本发明的另一个优点在于,利用高速缓冲存储器60根据存储器带宽进行保存以同时存储4个数据块目录项的信息。当DMA控制器70利用将数据块目录项150、160、170和270传送到高速缓冲存储单元200、210、220和230中来为高速缓冲存储器60加载时,需要4个时钟周期以引入第一数据块目录项。在高速缓冲存储器60栽入这些数据块目录项后,打印机能够快速地通过高速缓冲存储器60给出增量以检查其它的数据块目录项。由于每个这样的增量都需要一个时钟周期,因此仅仅需要7个时钟周期检查高速缓冲存储器60内全部4个数据块目录项。或者,如果每个数据块目录项是特殊标准的,那么可能一共需要16个时钟周期。利用这个通过高速缓冲存储器60存储的快速周转时间,打印机能够在激光打印头44中很快地引入将要进行打印的4个数据块的适当光栅行区段数据。
在一个或多个将要进行打印的数据块是零数据块的情况下,如果其它的数据块目录项包含真实数据,那么将该零数据块的数据块目录项载入高速缓冲存储器60中。但是,当读取其NOP属性时,该系统意识到DMA控制器70不需在打印机动态随机存储器中进行存储实际的存储单元。而NOP寄存器64(ASIC40内)将被存储以提供合适的512比特的光栅行区段数据。如果在一个“正常”打印模式状态下,则NOP寄存器64将提供具有一个逻辑0数值的512连续比特(即,假设这是由BW0寄存器确定的“满数据块”)。如果在一个“反向”视频模式打印时,则NOP寄存器64将提供具有一个逻辑1数值的512连续比特。本发明的这个特征不仅利用不将零数据块存储在第一个位置来保存实际的RAM空间,而且不载入打印机10的存储总线和数据总线,因此在不将存储器带宽容量排空的情况下即可提高其效率。
高速缓冲存储器60利用数据块目录项的最终数据块(LB)属性以通过引入适当的图像数据块的4个连续数据块目录项的方式告诉DMA控制器70进入下一个数据块光栅行或一个完整的新数据块的时间。这时,将被存储的下一个数据块目录项将返回第一个目录项,继续其程序直到“数据传送”终止,所述“数据传送”终止指的是行的末端已经达到。当在自动重新装载模式下数据传送终止时,数据块目录地址和所传送的数据将从一个“存储寄存器”传送到一个“现用寄存器”,并且重新装备DMA通道以连续处理DMA请求。当达到一个最终数值并且DMA通道不在自动重新装载模式时,一个中断器将启动一个中断保护程序以重新装备DMA通道。
如上所述,在一行中的最终数据块可能是一个“部分”数据块,该“部分”数据块需要用于具有不是数据块宽度精确倍数的一个数据宽度的行。所述“BW0”参数寄存器在被打印在页面正面的一行中用于经过紧接着最终数据块的第一数据块的数据块宽度。对于该行中的最终数据块,“BW1”参数寄存器用于其数据块宽度。当然,BW1具有与是一个数据块宽度精确倍数的行的BW0相等的一个数值。为了在一个双面打印操作中打印背面,“BW1”参数寄存器用于该行中第一数据块的数据块宽度。对于该行中紧接着经过的最终数据块,“BW0”参数寄存器用于其数据块宽度。
为了便于说明,上面对本发明的一个优选实施例进行了描述。但是本发明所披露的内容并不仅限于此。在所述实施例的启示下可以对本发明进行各种显而易见的改进和变形。选择该实施例并对其描述是为了更好地叙述本发明的原理和具体实施方式,从而使本领域技术人员能够根据实际情况以各种具体形式和改进方式更好地实施本发明。下面的权利要求书限定了本发明的保护范围。

Claims (21)

1.一种打印设备,包括:
(a)一个存储线路,该存储线路包含由多个存储元件构成的一个主区域和由多个存储元件构成的一个高速缓存区域;
(b)一个输入位图打印数据并以一种打印媒体的方式表示输出结果的打印机驱动装置;以及
(c)一个处理线路,该处理线路用于控制所述存储线路和所述打印机驱动装置之间的数据传送并且能够将位图打印数据提供给所述打印机驱动装置,该处理线路还用于处理存在于所述存储线路内的打印作业数据以利用所述打印机驱动装置在每个被打印页面上形成多个位图打印数据的行,所述每个行都包括多个位图打印数据块,并且所述每个位图打印数据块在一个数据块列表中都具有相应的目录项;其特征在于:
所有数据块包含暂时存储在所述存储线路的由多个存储元件构成的所述主区域的一个图像表中的非零数据,并且所有数据块包含没有存储在所述图像表中的零数据;
所述数据块列表的多个目录项中的一部分暂时存储在所述高速缓存存储器中并且当所述这些目录项在所述高速缓存存储器中时对它们进行处理;以及
当形成适于所述打印机驱动装置打印的所述每个行时,在所述高速缓存存储器中的目录项的控制下,在不使用一行缓冲器即可将包含在现有行内所有数据块的零数据实时地传送到所述打印机驱动装置的情况下,从一个内部寄存器填充在现有行内包含零数据的所有数据块,并且在不使用一行缓冲器即可将包含在现有行内所有数据块的非零数据实时地传送到所述打印机驱动装置的情况下,从所述图像表填充在现有行内包含非零数据的所有数据块。
2.如权利要求1所述的打印设备,其特征在于,利用所述高速缓存存储器和一个数据块列表使行宽度不受约束。
3.如权利要求1所述的打印设备,其特征在于,由非零数据形成的数据块存储在图像表的不连续的实际存储单元中。
4.如权利要求1所述的打印设备,其特征在于,所述数据块列表存储了一个用于每个行的所有数据块的所述图像表中的存储地址指针。
5.如权利要求1所述的打印设备,其特征在于,所述打印设备还包括至少一个包括一个存储单元指针的数据块目录地址寄存器,该数据块目录地址寄存器表示所述多个数据块列表中至少一个。
6.如权利要求1所述的打印设备,其特征在于,所述内部寄存器包含一个用于零数据块的数据。
7.如权利要求1所述的打印设备,其特征在于,所述图像表包括随机存取存储器,并且所述内部寄存器包括一个包含在所述打印机驱动装置中的专用集成电路(ASIC)的多个存储单元。
8.一种打印设备,包括:
(a)一个存储线路,该存储线路包含由多个存储元件构成的一个主区域和由多个存储元件构成的一个高速缓存区域;
(b)一个输入位图打印数据并以一种打印媒体的方式表示输出结果的打印机驱动装置;以及
(c)一个处理线路,该处理线路用于控制所述存储线路和所述打印机驱动装置之间的数据传送并且能够将位图打印数据提供给所述打印机驱动装置,该处理线路还用于将被所述打印机驱动装置打印在每个页面上的光栅化处理的位图打印作业数据分成多个位图打印数据块,并且所述每个位图打印数据块在一个数据块列表中都具有相应的目录项;其特征在于:
所有数据块包含暂时存储在所述存储线路的由多个存储元件构成的所述主区域的一个图像表中的非零数据,并且所有数据块包含没有存储在所述图像表中的零数据;
所述数据块列表的多个目录项中的一部分暂时存储在所述高速缓存存储器中;
从包含非零数据的数据块的所述图像表中和包含零数据的数据块的一个NOP寄存器中检索与存储在所述高速缓存存储器中的数据块列表的数据块相对应的位图图像数据;以及
位图图像数据实时地传送到所述打印机驱动装置,以便以一个数据块接着一个数据块的方式打印存储在所述高速缓存存储器中的数据块列表的所述数据块。
9.如权利要求8所述的打印设备,其特征在于,由非零数据形成的数据块存储在图像表的不连续的实际存储单元中。
10.如权利要求8所述的打印设备,其特征在于,所述数据块列表存储了一个用于所有数据块的所述图像表中的存储地址指针。
11.如权利要求8所述的打印设备,其特征在于,所述打印设备还包括至少一个包括一个存储单元指针的数据块目录地址寄存器,该数据块目录地址寄存器表示所述多个数据块列表中至少一个。
12.如权利要求8所述的打印设备,其特征在于,所述NOP寄存器包含一个用于零数据块的数据。
13.如权利要求8所述的打印设备,其特征在于,所述图像表包括随机存取存储器,并且所述NOP寄存器包括一个包含在所述打印机驱动装置中的专用集成电路(ASIC)的多个存储单元。
14.如权利要求8所述的打印设备,其特征在于,从所述图像表和所述NOP寄存器其中一个中检索目前存储在所述高速缓存存储器中数据块列表的每个所述数据块位图图像数据的单一光栅行,然后将所述位图图像数据的单一光栅行传送到一个具有足够空间的FIFO存储器以存储与存储在所述高速缓存存储器中数据块列表的至少一个所述数据块的单一光栅行相对应的位图图像数据,并且在适当的时间内实时地将所述位图图像数据传送到所述打印机驱动装置。
15.在一个具有一个存储器存储装置、一个打印机驱动装置和一个处理线路的打印系统中,一种有效地存储位图打印数据以及不用打印缓冲就可实时地将零数据和非零数据结合的方法,该方法包括下列步骤:
(a)将被所述打印机驱动装置打印在每个页面上的光栅化处理的位图打印作业数据分成多个位图打印数据块,并且所述每个位图打印数据块在一个数据块列表中都具有相应的目录项;
(b)暂时地存储包含在所述存储器存储装置的一个主区域的一个图像表中的所有非零数据块,以及暂时地存储关于在一个数据块列表一个目录项中的每个所述非零数据块的信息;
(c)暂时地存储关于在一个数据块列表一个目录项中的每个所述零数据块的信息;
(d)暂时地存储在一个高速缓存存储器中的所述数据块列表多个所述目录项的一部分;
(e)从包含非零数据的数据块的所述图像表中和包含零数据的数据块的一个NOP寄存器中检索与存储在所述高速缓存存储器中的数据块列表的数据块相对应的位图图像数据;以及
(f)将位图图像数据实时地传送到所述打印机驱动装置,以便以一个数据块接着一个数据块的方式打印存储在所述高速缓存存储器中的数据块列表的所述数据块。
16.如权利要求15所述的方法,还包括下列步骤:
(g)从所述图像表和所述NOP寄存器其中一个中检索目前存储在所述高速缓存存储器中数据块列表的每个所述数据块位图图像数据的单一光栅行;
(h)将目前存储在所述高速缓存存储器中数据块列表的所有数据块的单一光栅行传送到一个FIFO存储器;以及
(i)在适当的时间内实时地将所述位图图像数据从所述FIFO传送到所述打印机驱动装置。
17.如权利要求15所述的方法,其特征在于,由非零数据形成的数据块存储在图像表的不连续的实际存储单元中。
18.如权利要求15所述的方法,其特征在于,所述方法还包括在所述数据块列表中存储一个用于所有数据块的所述图像表中的存储地址指针的步骤。
19.如权利要求15所述的方法,其特征在于,所述方法还包括提供至少一个包括一个存储单元指针的数据块目录地址寄存器的步骤,所述数据块目录地址寄存器表示所述多个数据块列表中至少一个。
20.如权利要求15所述的方法,其特征在于,所述NOP寄存器包含一个用于零数据块的数据。
21.如权利要求15所述的方法,其特征在于,所述图像表包括随机存取存储器,并且所述NOP寄存器包括一个包含在所述打印机驱动装置中的专用集成电路(ASIC)的多个存储单元。
CN98115266.XA 1997-05-12 1998-05-12 一种打印设备和打印方法 Expired - Fee Related CN1129061C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/854,607 US5870535A (en) 1997-05-12 1997-05-12 Method and apparatus for building rasterized lines of bitmap data to be printed using a piecewise-linear direct memory access addressing mode of retrieving bitmap data line segments
US854607 1997-05-12

Publications (2)

Publication Number Publication Date
CN1199197A true CN1199197A (zh) 1998-11-18
CN1129061C CN1129061C (zh) 2003-11-26

Family

ID=25319148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98115266.XA Expired - Fee Related CN1129061C (zh) 1997-05-12 1998-05-12 一种打印设备和打印方法

Country Status (7)

Country Link
US (1) US5870535A (zh)
EP (1) EP0887763B1 (zh)
JP (1) JPH1191173A (zh)
KR (1) KR100597879B1 (zh)
CN (1) CN1129061C (zh)
DE (1) DE69831835T2 (zh)
TW (1) TW424201B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006072205A1 (en) * 2005-01-07 2006-07-13 Peking University Founder Group Co., Ltd Printing control method capable of reducing printing memory requirement
CN1299196C (zh) * 2004-02-23 2007-02-07 致伸科技股份有限公司 动态调整打印作业的系统及其方法
CN1325265C (zh) * 2003-03-27 2007-07-11 佳能株式会社 记录装置
CN100351856C (zh) * 2004-06-04 2007-11-28 北京北大方正电子有限公司 一种能够减少页面预光栅化时间的打印控制方法
CN100356395C (zh) * 2005-06-13 2007-12-19 北京北大方正电子有限公司 一种能够避免打印越界错误的打印控制方法
US7405839B2 (en) 2002-04-15 2008-07-29 Canon Kabushiki Kaisha Printing apparatus printer driver, and buffer management method
CN100430884C (zh) * 2005-10-07 2008-11-05 佳能株式会社 图像处理设备及其控制方法
CN100437462C (zh) * 2005-09-30 2008-11-26 三星电子株式会社 具有选择打印功能的图像形成设备和打印系统及方法
CN101178775B (zh) * 2007-12-11 2010-04-14 北大方正集团有限公司 二值图打印数据的处理方法
CN1737747B (zh) * 2004-08-20 2010-06-09 日本冲信息株式会社 信息处理装置
CN108415674A (zh) * 2018-03-14 2018-08-17 杭州朔天科技有限公司 一种多通道并行输出的打印控制方法、装置及其芯片
CN113238977A (zh) * 2021-07-12 2021-08-10 深之蓝(天津)水下智能科技有限公司 数据传输方法、装置、系统、电子设备及存储介质

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0971013A (ja) * 1995-05-10 1997-03-18 Canon Inc 印刷制御装置及びメモリ制御方法及び印刷制御方法及び制御プログラムを記憶した記憶媒体
US6115134A (en) * 1997-12-05 2000-09-05 Hewlett-Packard Company Scan line splitting in a multi-staged image processing pipeline
US6181835B1 (en) * 1997-12-26 2001-01-30 International Business Machines Corporation Non-integer scaling of raster images with image quality enhancement using an anamorphically scaled intermediate bitmap
US6226420B1 (en) * 1997-12-26 2001-05-01 International Business Machines Corporation Non-integer scaling of raster images
US6195473B1 (en) * 1997-12-26 2001-02-27 International Business Machines Corporation Non-integer scaling of raster images with image quality enhancement
JPH11348358A (ja) * 1998-06-09 1999-12-21 Ricoh Co Ltd 画像形成装置
US6502181B1 (en) 1999-09-17 2002-12-31 Zilog, Inc. Method and apparatus for an enhanced processor
FR2801396B1 (fr) * 1999-11-22 2002-11-08 Canon Kk Convertion en mode point de donnees numeriques
JP2001158146A (ja) * 1999-12-03 2001-06-12 Fujitsu Ltd 印字制御装置
US6238037B1 (en) 2000-02-07 2001-05-29 Lexmark International, Inc. Method of multi-dot interlace printing
US6651116B1 (en) * 2000-05-15 2003-11-18 International Business Machines Corporation Output interface for a raster object memory in a method, system and program
US6557135B1 (en) * 2000-05-17 2003-04-29 Lucent Technologies Inc. Cycling through entirety of error-indicating acknowledgment information
US8270023B2 (en) * 2000-05-23 2012-09-18 Zamtec Limited Print engine controller for double-buffered processing
AU770625B2 (en) * 2000-12-28 2004-02-26 Canon Kabushiki Kaisha Pipelining of rendered data with variable sized buffers
US6697881B2 (en) * 2001-05-29 2004-02-24 Hewlett-Packard Development Company, L.P. Method and system for efficient format, read, write, and initial copy processing involving sparse logical units
US7324229B2 (en) * 2002-04-10 2008-01-29 Texas Instruments Incorporated Rendering in a printer using bands
JP4018433B2 (ja) 2002-04-15 2007-12-05 キヤノン株式会社 記録装置
JP4371632B2 (ja) * 2002-06-05 2009-11-25 キヤノン株式会社 画像記録装置及びその記録制御方法
US7710602B2 (en) * 2003-03-31 2010-05-04 Sharp Laboratories Of America, Inc. Systems and methods for context-based adaptive image processing using segmentation
US7359082B2 (en) * 2003-10-20 2008-04-15 Marvell International Technology Ltd. Independent video hardware blocks to support laser printers
US7684076B2 (en) * 2004-07-23 2010-03-23 Kabushiki Kaisha Toshiba Method and apparatus for raster image processing
CN100361067C (zh) * 2004-12-31 2008-01-09 东友科技股份有限公司 打印文件的分页方法
JP4603933B2 (ja) 2005-05-23 2010-12-22 キヤノン株式会社 記録装置
US8488133B2 (en) * 2006-08-30 2013-07-16 Lexmark International, Inc. System and method for marking print media
JP4881140B2 (ja) * 2006-12-07 2012-02-22 キヤノン株式会社 データ転送装置、データ転送制御方法、およびデータ転送制御プログラム
US8472066B1 (en) 2007-01-11 2013-06-25 Marvell International Ltd. Usage maps in image deposition devices
DE102008052421A1 (de) * 2008-10-21 2010-04-22 Giesecke & Devrient Gmbh Vorrichtung und Verfahren zum Bedrucken eines Banderolenstreifens
JP5268617B2 (ja) * 2008-12-17 2013-08-21 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びコンピュータプログラム
US8243313B2 (en) * 2009-05-26 2012-08-14 Infoprint Solutions Company Llc Cache optimization mechanism
CN102381058A (zh) * 2010-09-03 2012-03-21 上海商务数码图像技术有限公司 一种用于数码彩色印刷的作业信息处理方法及装置
CN104782091B (zh) * 2012-10-24 2017-09-22 松下知识产权经营株式会社 通信系统、接收终端、发送终端及流量控制方法
CN104281419B (zh) * 2013-07-08 2017-05-03 南京南瑞继保电气有限公司 基于中间件的变电站装置通用打印方法
US11704077B2 (en) * 2021-10-20 2023-07-18 Ricoh Company, Ltd. Rasterized print job compression
US11907588B2 (en) * 2021-11-15 2024-02-20 International Business Machines Corporation Accelerate memory decompression of a large physically scattered buffer on a multi-socket symmetric multiprocessing architecture

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4555802A (en) * 1983-01-10 1985-11-26 International Business Machines Corporation Compaction and decompaction of non-coded information bearing signals
US4942541A (en) * 1988-01-22 1990-07-17 Oms, Inc. Patchification system
US5129088A (en) * 1987-11-30 1992-07-07 International Business Machines Corporation Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device
US5237645A (en) * 1988-03-09 1993-08-17 Oki America Industry Co., Ltd. Printing apparatus
US5043918A (en) * 1989-11-09 1991-08-27 Dataproducts Corporation Multiple bus image controller structure for color page printers
DE69117112T2 (de) * 1990-08-08 1996-06-27 Peerless Group Verfahren und Vorrichtung zur Bildwiedergabe
JPH05103212A (ja) * 1991-10-03 1993-04-23 Sony Corp データ伝送装置
US5339164A (en) * 1991-12-24 1994-08-16 Massachusetts Institute Of Technology Method and apparatus for encoding of data using both vector quantization and runlength encoding and using adaptive runlength encoding
US5585864A (en) * 1992-06-24 1996-12-17 Seiko Epson Corporation Apparatus for effecting high speed transfer of video data into a video memory using direct memory access
US5539865A (en) * 1992-11-10 1996-07-23 Adobe Systems, Inc. Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements
US5590286A (en) * 1993-10-07 1996-12-31 Sun Microsystems, Inc. Method and apparatus for the pipelining of data during direct memory accesses
US5574953A (en) * 1994-08-19 1996-11-12 Hewlett-Packard Company Storing compressed data in non-contiguous memory
US5579452A (en) * 1994-09-29 1996-11-26 Xerox Corporation Method of managing memory allocation in a printing system
US5563987A (en) * 1994-10-28 1996-10-08 International Business Machines Corporation Pagemap memory representation in RISC processor printers
US5608848A (en) * 1995-06-06 1997-03-04 Apple Computer, Inc. Processing blank data-lines of print data

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7405839B2 (en) 2002-04-15 2008-07-29 Canon Kabushiki Kaisha Printing apparatus printer driver, and buffer management method
CN1325265C (zh) * 2003-03-27 2007-07-11 佳能株式会社 记录装置
CN1299196C (zh) * 2004-02-23 2007-02-07 致伸科技股份有限公司 动态调整打印作业的系统及其方法
CN100351856C (zh) * 2004-06-04 2007-11-28 北京北大方正电子有限公司 一种能够减少页面预光栅化时间的打印控制方法
CN1737747B (zh) * 2004-08-20 2010-06-09 日本冲信息株式会社 信息处理装置
CN100351857C (zh) * 2005-01-07 2007-11-28 北京北大方正电子有限公司 一种能够减少打印内存需求的打印控制方法
WO2006072205A1 (en) * 2005-01-07 2006-07-13 Peking University Founder Group Co., Ltd Printing control method capable of reducing printing memory requirement
US7995233B2 (en) 2005-01-07 2011-08-09 Peking University Founder Group Co., Ltd. Printing control method capable of reducing printing memory requirement
CN100356395C (zh) * 2005-06-13 2007-12-19 北京北大方正电子有限公司 一种能够避免打印越界错误的打印控制方法
CN100437462C (zh) * 2005-09-30 2008-11-26 三星电子株式会社 具有选择打印功能的图像形成设备和打印系统及方法
CN100430884C (zh) * 2005-10-07 2008-11-05 佳能株式会社 图像处理设备及其控制方法
CN101178775B (zh) * 2007-12-11 2010-04-14 北大方正集团有限公司 二值图打印数据的处理方法
CN108415674A (zh) * 2018-03-14 2018-08-17 杭州朔天科技有限公司 一种多通道并行输出的打印控制方法、装置及其芯片
CN113238977A (zh) * 2021-07-12 2021-08-10 深之蓝(天津)水下智能科技有限公司 数据传输方法、装置、系统、电子设备及存储介质

Also Published As

Publication number Publication date
KR19980086978A (ko) 1998-12-05
JPH1191173A (ja) 1999-04-06
EP0887763A3 (en) 2001-04-11
TW424201B (en) 2001-03-01
EP0887763A2 (en) 1998-12-30
DE69831835T2 (de) 2006-06-14
DE69831835D1 (de) 2005-11-17
EP0887763B1 (en) 2005-10-12
CN1129061C (zh) 2003-11-26
US5870535A (en) 1999-02-09
KR100597879B1 (ko) 2007-04-25

Similar Documents

Publication Publication Date Title
CN1129061C (zh) 一种打印设备和打印方法
EP0703524B1 (en) Variable data fields in a page description language
CN1105369C (zh) 具有区的二维阵列的显示表结构
US5542031A (en) Halftone computer imager
US4555802A (en) Compaction and decompaction of non-coded information bearing signals
RU2360288C2 (ru) Файлы, содержащие смешанный растр
JP3168580B2 (ja) ページ記述言語インタープリタ
US4581710A (en) Method of editing dot pattern data for character and/or image representations
US8368969B2 (en) Methods and devices for rasterizing transparent pages
US5615316A (en) Printing control method and apparatus
CN1031144A (zh) 存贮字符图形的方法和字符图形应用系统
CN101082907A (zh) 混合拼版方法及系统
US6860203B2 (en) Method and apparatus for printing computer generated images
JPH0930060A (ja) プリンタ制御装置及び方法
US5608848A (en) Processing blank data-lines of print data
US20090091564A1 (en) System and method for rendering electronic documents having overlapping primitives
US7333238B2 (en) Rendering a printing device pixel map
EP0782739B1 (de) Controller zur aufbereitung von kodierten bildinformationen
JP2726271B2 (ja) パッチ化システム
EP0764919B1 (en) Printer with high bandwidth compression architecture
US5758044A (en) Method and apparatus for rendering using a band by band depth adjustment
US6903842B2 (en) Method for generating full-page print data
JP2746396B2 (ja) ページプリンタ
JP2854344B2 (ja) ミクストモード文書の表示方法
JPH0729448B2 (ja) プリンタ制御装置

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