專利名稱:具有區的二維陣列的顯示表結構的制作方法
技術領域:
本發明涉及圖象處理,具體地說涉及建立與使用顯示表的方法。
在諸如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的大小不一定是固定的,而可以是任意大小的可變長度塊。
雖然已示出與描述了本發明的特定實施例,對于熟悉本技術的人員顯而易見可以作出改變與修正而在更寬的范圍內不脫離本發明,因此,所附的權利要求書在它們的范圍內包羅了所有落入本發明的正確精神的與范圍內的這種改變與修正。
權利要求
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的裝置,其中用于執行存儲器增強的所述裝置還執行壓縮所述區的光柵化數據以減少存儲在該區的所述顯示表中的數據量的步驟,其中將光柵化數據存儲在該區的所述顯示表中的所述步驟包括將壓縮光柵化數據存儲在所述區的所述顯示表中的步驟。
全文摘要
本發明不是將要打印的一頁分成一些整幅的傳統顯示表配置,其中各幅是作為一個單位處理的,而是采用將各幅分成多個區(或片)的顯示表并將各區作為一個獨立單位處理的方案。用分析程序將進入顯示表的對象修剪到水平與垂直區邊界上。顯示表中的各個區最終由圖象處理器光柵化,并將若干個光柵化區暫時存儲在位映象緩沖器中,因而,現在有可能在一個單個幅中混合0、1與3平面(CMY)區,而得到較快的吞吐量,這是因為描繪、旋轉、復制及擦除較少的象素。本發明還得到對顯示表存儲器與位映象存儲器兩者的較低存儲容量的需求。
文檔編號G06K15/02GK1148223SQ9611148
公開日1997年4月23日 申請日期1996年8月23日 優先權日1995年8月23日
發明者P·蘭姆錢德倫 申請人:惠普公司