專利名稱:用于對數(shù)據(jù)進行光柵化和編碼的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)的編碼和解碼,尤其涉及多區(qū)域數(shù)據(jù)的光柵化和編碼。
背景技術:
編碼技術和系統(tǒng)允許壓縮數(shù)據(jù),即降低帶寬和存儲要求,從而能夠以更高的速度和更容易地存儲、顯示、打印、發(fā)送或以其他方式操作數(shù)據(jù)。在顯示和打印應用中,例如,通常使用壓縮來降低光柵化位圖數(shù)據(jù)的帶寬要求,因為大型或頁面大小的未壓縮位圖可能占用大量的存儲空間或通信帶寬。例如,壓縮的光柵化數(shù)據(jù)能夠在低帶寬的總線或其它通信信道上快速地發(fā)送給適當?shù)妮敵鲈O備。而且,編碼和壓縮對于降低在輸出設備上的數(shù)據(jù)的存儲要求是有用的,從而在顯示或打印之前可以更容易地將數(shù)據(jù)緩存在有限的內(nèi)存空間或存儲器空間內(nèi)。當將數(shù)據(jù)發(fā)送或處理到設備的輸出組件,例如打印機上的打印頭或機構時,壓縮在輸出設備內(nèi)也是很有用的。
高壓縮比通過多種方式實現(xiàn),并且可以是無損失的,從而在解壓縮之后不丟失原數(shù)據(jù),或者是有損失的,其中可能丟失一些數(shù)據(jù)。在一種高效的無損失編碼技術中,使用符號表示將數(shù)據(jù)壓縮成結構化格式,例如以頁面描述語言(PDL)提供的數(shù)據(jù)。在一種現(xiàn)有的用于光柵化文本數(shù)據(jù)的符號壓縮技術中,提供PDL格式的數(shù)據(jù),它是用對于以適合于顯示或打印的格式存儲數(shù)據(jù)而言有用的特定格式編碼的數(shù)據(jù)。例如,該PDL格式可以是由Adobe系統(tǒng)公司提供的Postscript或便攜文件格式(PDF)或者IBM公司的智能打印機數(shù)據(jù)流(IPDS)。將PDL數(shù)據(jù)光柵化成頁面位圖,提取該頁面位圖內(nèi)的位圖形狀,用在符號字典內(nèi)提供的單個位圖“標記”表示重復的形狀。所述標記在不將它們識別為特定字符或符號的意義上是“偽符號”,但是以類似符號的方式將它們匹配給文件內(nèi)的重復形狀。這樣,能夠實現(xiàn)真正的壓縮,因為僅需要存儲每個位圖形狀(標記)之一,同時僅需要存儲其它匹配重復形狀的標識符和位置,這與存儲位圖相比節(jié)省了大量的存儲空間。在經(jīng)常重復相同形狀的數(shù)據(jù)或文檔內(nèi)(例如在文本文檔內(nèi)的字符),使用這種方法實現(xiàn)的壓縮可以是實質性的。此外,因為將實際的位圖存儲在字典中,并提供在解壓縮的位圖內(nèi),所以在符號識別中不會存在質量損失或錯誤。
這種使用標記提供壓縮的技術的一個問題是分析頁面位圖、從位圖中提取形狀和匹配所提取的形狀與在字典內(nèi)存儲的標記可能花費大量的時間。對于要求非??斓拇蛴』蝻@示速率的應用來說,這種技術可能太慢。例如,速度在諸如生成打印機等系統(tǒng)內(nèi)極為重要,其中可能需要以超過1000ipm(圖像/分鐘)的速度對頁面進行光柵處理、存儲和打印。某些壓縮技術可以允許直接編輯,其中非標準的光柵化器臨近地和直接地耦合到編碼器,以便不生成中間頁面位圖,因而不需要執(zhí)行分析、提取或匹配以建立壓縮數(shù)據(jù)。然而,這種實施方式需要為希望處理的每種打印數(shù)據(jù)流(PDS)數(shù)據(jù)格式實施非標準的光柵化器和編碼器,這可能過于麻煩。將光柵化器和編碼器隔離開,也就是使它們相互獨立,將更加節(jié)省成本和更為實際,因為僅需要提供一個編碼器。
現(xiàn)有的壓縮技術還可能因為其它原因(包括與在單個頁面上使用多種類型的數(shù)據(jù)有關的原因)導致太慢或者低效。許多PDL允許在單個頁面上提供不同類型的數(shù)據(jù),包括文本、藝術線條圖形和位像,每種類型的數(shù)據(jù)在頁面的不同“區(qū)域”內(nèi)。一些壓縮技術(或壓縮“工具”)允許為頁面上的不同區(qū)域使用不同的壓縮格式或方法。例如,聯(lián)合二值圖像專家組2(JBIG2)標準可以用于二值(雙色調)圖像(例如僅在如白色的背景色上包括如黑色這一種顏色的圖像)的有損和無損壓縮,并可以編碼和合成掃描和生成的二值圖像。它能夠實現(xiàn)數(shù)倍于其它標準的壓縮比,因為它可以使用適合于該數(shù)據(jù)類型的壓縮格式定制每個區(qū)域的壓縮。例如,JBIG2標準在文本區(qū)域內(nèi)使用符號表示(如上面所描述的)和在某些類型的圖像區(qū)域(例如其中數(shù)據(jù)類型是未知的或者是多類型的“類屬”區(qū)域)內(nèi)使用算術編碼器。
然而,多區(qū)域壓縮的一個問題是必需分析頁面位圖以在頁面上發(fā)現(xiàn)多種類型的數(shù)據(jù)和分割成區(qū)域,這可能耗費時間且不準確。此外,分割技術當前是積極研究的領域,有效的分割器運行起來比許多通用壓縮算法慢很多。因此,諸如JBIG2等多區(qū)域編碼器或壓縮工具包通常并不提供這樣的分割處理。在一些實施方式中,可以將分割信息從外部處理提供給編碼器;在其它的實施方式中,忽略分割。在許多JBIG2實施方式中,JBIG2編碼器從光柵化器接收完整的頁面位圖,和將“類屬”種類的編碼應用于整個頁面,忽略不同的區(qū)域并將它們同等對待。然而,這種方法顯然忽略了使用定制壓縮格式能夠實現(xiàn)的高級壓縮,例如用于文本區(qū)域的符號表示。
因此,需要一種用于對多區(qū)域數(shù)據(jù)進行快速光柵化和壓縮的設備和方法,其中根據(jù)其類型適當?shù)貕嚎s各個區(qū)域。本發(fā)明滿足了這種需要。
發(fā)明內(nèi)容
本申請的發(fā)明涉及一種用于對多區(qū)域數(shù)據(jù)進行光柵化和編碼的系統(tǒng)和方法。在本發(fā)明的一個方面,一種用于對數(shù)據(jù)進行光柵化和編碼的方法,包括從打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出描述性信息,所述PDS數(shù)據(jù)描述輸出設備的輸出,其中所述描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個文本數(shù)據(jù)區(qū)域的指定,和描繪至少一個文本數(shù)據(jù)區(qū)域的位圖數(shù)據(jù)。將位圖數(shù)據(jù)提供給編碼器,而不將位圖數(shù)據(jù)包括在PDS數(shù)據(jù)的光柵化頁面位圖中,使用編碼器和適合于文本數(shù)據(jù)的壓縮格式將位圖數(shù)據(jù)編碼成壓縮數(shù)據(jù),所述壓縮數(shù)據(jù)描繪所述至少一個文本數(shù)據(jù)區(qū)域。本發(fā)明的類似方面提供一種用于實現(xiàn)類似特征的系統(tǒng)和計算機可讀介質。
在本發(fā)明的另一個方面,一種用于對數(shù)據(jù)進行光柵化和編碼的方法,包括使用光柵化器從打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出描述性信息,所述PDS數(shù)據(jù)描述輸出設備的輸出,其中所述描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個數(shù)據(jù)區(qū)域的描述。生成從PDS數(shù)據(jù)導出并包括至少一個數(shù)據(jù)區(qū)域的位圖數(shù)據(jù),所述位圖數(shù)據(jù)使用光柵化器生成。經(jīng)允許在光柵化器和編碼器之間通信的通用應用程序接口(API)將描述性信息從光柵化器提供給編碼器,使用編碼器將位圖數(shù)據(jù)編碼成壓縮數(shù)據(jù),所述位圖數(shù)據(jù)從PDS數(shù)據(jù)導出,其中在編碼中使用描述性信息以確定適合于位圖數(shù)據(jù)內(nèi)至少一個區(qū)域的壓縮格式。
在本發(fā)明的另一個方面,一種用于對要編碼的數(shù)據(jù)進行光柵化的方法,包括從打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出描述性信息,所述PDS數(shù)據(jù)描述輸出設備的輸出,其中所述描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個數(shù)據(jù)文本區(qū)域的描述。將PDS數(shù)據(jù)光柵化成包括描繪至少一個文本區(qū)域的位圖數(shù)據(jù)的附加描述性信息,其中所述位圖數(shù)據(jù)不包括在PDS數(shù)據(jù)的光柵化頁面位圖內(nèi);和將所述描述性信息和附加描述性信息提供給編碼器,以便當將位圖數(shù)據(jù)編碼成壓縮數(shù)據(jù)時,編碼器可使用所述描述性信息,其中所述描述性信息被用于確定適合于由位圖數(shù)據(jù)描繪的至少一個文本區(qū)域的壓縮格式。本發(fā)明的類似方面提供一種提供類似特征的計算機可讀介質和光柵化器。
在本發(fā)明的另一個方面,一種用于對數(shù)據(jù)進行編碼的方法,包括從光柵化器接收描述性信息,所述描述性信息從描述輸出設備的輸出的打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出。所述描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個數(shù)據(jù)文本區(qū)域的描述和描繪至少一個數(shù)據(jù)文本區(qū)域的位圖數(shù)據(jù),其中所述位圖數(shù)據(jù)不包括在PDS數(shù)據(jù)的光柵化頁面位圖內(nèi)。將位圖數(shù)據(jù)編碼成壓縮數(shù)據(jù),其中在編碼中使用所述描述性信息以確定適合于描繪至少一個數(shù)據(jù)文本區(qū)域的位圖數(shù)據(jù)的壓縮格式。本發(fā)明的類似方面提供一種提供類似特征的計算機可讀介質和編碼器。
本發(fā)明允許非常高速和高效地壓縮諸如頁面位圖等多區(qū)域位圖數(shù)據(jù)。結構化輸入數(shù)據(jù)的特征可以由光柵化器確定,并直接饋送給多區(qū)域編碼器,例如JBIG2,它可以使用這些特征根據(jù)適當?shù)膲嚎s格式快速地分割和壓縮不同區(qū)域以實現(xiàn)很高的壓縮比。此外,光柵化器和編碼器可以是相互獨立的,通過諸如API等公用接口通信,因而在提供光柵化/編碼系統(tǒng)時允許非常高的靈活性。
圖1是圖示用于從頁面描述語言(PDL)數(shù)據(jù)光柵化的數(shù)據(jù)的符號文本壓縮的現(xiàn)有技術系統(tǒng)的方框圖;圖2是圖示適合于本發(fā)明的硬件系統(tǒng)的方框圖;圖3是圖示本發(fā)明的光柵化和編碼系統(tǒng)的方框圖;圖4是圖示本發(fā)明的解壓縮和輸出系統(tǒng)的方框圖;圖5是圖示用于對多區(qū)域數(shù)據(jù)進行光柵化和編碼的本發(fā)明的方法的流程圖;圖6是圖示圖5的步驟的流程圖,在該步驟中,光柵化器提供描述性信息給編碼器;圖7是圖示由本發(fā)明的編碼器使用的數(shù)據(jù)壓縮處理的流程圖,其中編碼器已經(jīng)從光柵化器接收區(qū)域信息;圖8是圖示由本發(fā)明的編碼器使用的數(shù)據(jù)壓縮處理的流程圖,其中編碼器已經(jīng)從光柵化器接收區(qū)域信息和字符位圖;圖9是圖示本發(fā)明的壓縮所嵌入壓縮圖像的處理的流程圖,其中已經(jīng)從光柵化器接收所壓縮圖像的格式信息;和圖10是圖示本發(fā)明的解碼處理的流程圖。
具體實施例方式
本發(fā)明涉及數(shù)據(jù)的編碼和解碼,尤其涉及多區(qū)域數(shù)據(jù)的光柵化和編碼。下文的描述將使本領域的普通技術人員能夠實現(xiàn)和使用本發(fā)明,并在專利申請及其要求的情況下提供此描述。對于本領域的技術人員來說,對在此描述的優(yōu)選實施例和普通原理和特征的各種修改將是顯而易見的。因而,本發(fā)明將并不限制于所圖示的實施例,而是根據(jù)與在此所描述的原理和特征相一致的最寬的范圍。
主要以在具體實施方式
中提供的具體系統(tǒng)的形式描述本發(fā)明。然而,本領域的普通技術人員將很容易地認識到這種方法和系統(tǒng)將在其它的實施方式中有效地操作。例如,可與本發(fā)明一起使用的處理系統(tǒng)和輸出設備可以采取多種不同的形式。還將在包含確定步驟的具體方法的情況下描述本發(fā)明。然而,有效地操作用于包含不同和/或附加步驟的其它方法的方法和系統(tǒng)并非與本發(fā)明不一致。
為了更具體地描述本發(fā)明的特征,請結合下文的討論參考圖1至圖10。
圖1是圖示用于對從頁面描述語言(PDL)數(shù)據(jù)光柵化的數(shù)據(jù)的符號壓縮的現(xiàn)有技術系統(tǒng)10的方框圖。這樣一種系統(tǒng)在美國專利US5,884,014中更完整地進行了描述。
提供文檔的輸入PDL表示12,例如PostScript文件。將PDL表示輸入給標記化編譯器14,由其解釋該PDL表示和生成該文檔的至少一部分的標記化表示(該文檔的一些區(qū)域可以不標記化)。將標記化表示16輸入給解壓縮器和再現(xiàn)引擎18,由其根據(jù)標記化表示16再現(xiàn)(render)頁面位像,并使用諸如顯示屏幕、圖像輸出終端等輸出設備輸出所再現(xiàn)的圖像作為輸出圖像表示20。
標記化編譯器14使用PDL解壓縮器30根據(jù)PDL表示12生成標記化表示16,所述PDL解壓縮器30接收PDL表示12和生成作為存儲在頁面圖像緩沖器內(nèi)的頁面位圖的頁面圖像32。隨后,標記化器34分析頁面圖像以識別其中的形狀,然后匹配所提取的形狀與在字典內(nèi)存儲的標記,其中將相同形狀的多次出現(xiàn)分配給單個標記,并存儲所提取形狀的位置和標識。這樣,實現(xiàn)了壓縮,因為僅需要存儲用于每個重復形狀的單個位圖標記。以解壓縮器和再現(xiàn)引擎18在適當?shù)碾A段能夠識別和處理成原始頁面圖像32的預定格式,存儲標記字典、位置信息和任何其它需要的信息。
如前面所指出的,在這種現(xiàn)有技術的系統(tǒng)內(nèi),分析頁面位圖、從位圖提取形狀和匹配所提取的形狀與在字典內(nèi)存儲的標記可能將花費大量的時間。而且,將非標準的光柵化器耦合到編碼器的直接編輯技術要求為希望處理的PDL數(shù)據(jù)的每種格式實施不同的編碼器,這可能并不實際。
圖2是本發(fā)明的硬件系統(tǒng)100的方框圖。系統(tǒng)100可以包括多個組件,包括計算機設備102和一個或多個周邊設備,包括存儲設備104、打印機設備106、顯示設備108和傳真設備110。根據(jù)需要可以包括各種其它的輸出設備和其它組件,在此并未圖示。
計算機設備102可以是能夠存儲和/或將數(shù)據(jù)提供給系統(tǒng)100的其它組件的任意一種電子處理器或設備。例如,計算機設備102可以是臺式計算機、工作站、其它通用計算機或者網(wǎng)絡服務器或打印服務器??蛇x擇地,計算機設備102可以是便攜式計算機、電子設備或控制器、主機計算機等。計算機設備102的一個或多個微處理器和存儲器可以實施應用程序和/或其它程序,所述程序執(zhí)行諸如生成文檔,將將要輸出的打印數(shù)據(jù)流(PDS)提供給一個或多個周邊設備等操作,和執(zhí)行所需要的其它計算或數(shù)據(jù)存儲。如眾所周知的,計算機系統(tǒng)102可以包括一個或多個處理器(微處理器、專用集成電路等)、存儲器(RAM和/或ROM)和輸出/輸出(I/O)組件(網(wǎng)絡接口、諸如鍵盤、指示筆、鼠標、麥克風、掃描儀等輸入設備)。
存儲設備104可以耦合到計算機設備102以存儲由計算機設備102發(fā)送或提取的數(shù)據(jù)。存儲設備104可以是任意一種這樣的設備,包括硬盤驅動器、非易失性存儲器、CD-ROM驅動器、DVD-ROM驅動器、磁帶或其它光或磁存儲設備。通常在與計算機設備102相同的外殼內(nèi)提供一些存儲設備,同時其它的存儲設備可以由計算機設備102經(jīng)計算機網(wǎng)絡存取。存儲設備104例如可以存儲由本發(fā)明壓縮的隨后將要提取和輸出的數(shù)據(jù)。
打印機設備106耦合到計算機設備102,并用于在諸如紙件、塑料或其它適當?shù)牟牧系却蛴〗橘|上提供輸出。打印機設備106可以是多種打印設備中的任一種設備,包括激光打印機、墨水打印機(噴墨、點陣等)、熱敏打印機、復印機等。在本發(fā)明的情況下,打印機設備106可以是光柵顯示設備,它能夠如在現(xiàn)有技術中公知的通過根據(jù)頁面位圖的像素打印點來打印基于位圖的輸出。一些類型的打印機設備是雙色調的,這樣它們可以僅打印兩個輸出數(shù)值,例如黑和白,其中黑是打印墨或調色劑,而白是在白紙上沒有這樣的墨水或調色劑。其它的打印機設備可以輸出多種顏色或灰度。
打印機設備106可以從計算機設備102(或其它源)接收命令和數(shù)據(jù)并打印所指示的數(shù)據(jù)。打印機設備106還可以將狀態(tài)信號或數(shù)據(jù)發(fā)送給計算機設備102。打印機設備106可以使用任何公知的技術建立打印文本和/或圖像。例如,多種雙色調打印機設備能夠打印半色調圖像,其中改變點的大小以實現(xiàn)不同的陰影和輪廓效果,而不必使用顏色的不同陰影。
打印機設備106可以包括控制器107,它可以包括處理器、非易失性和易失性存儲器和其它組件??刂破?07可以預處理來自計算機設備102的數(shù)據(jù),從而為打印做好準備??刂破?07例如可以從計算機設備102(或其它設備)接收PDS數(shù)據(jù),并可以執(zhí)行如下文中參考圖5至圖10所述的本發(fā)明的處理以生成壓縮數(shù)據(jù)(還執(zhí)行用于輸出的解壓縮)??蛇x擇地,控制器107可以接收已經(jīng)由本發(fā)明(使用另一個組件,例如計算機設備102或其它計算機系統(tǒng))壓縮的數(shù)據(jù),并將其解壓縮以打印該數(shù)據(jù)。在又一個實施例中,本發(fā)明的壓縮和解壓縮可以出現(xiàn)在其它設備內(nèi),例如計算機設備102,可以將最終解壓縮的頁面位圖發(fā)送給控制器107和打印機設備106。
顯示設備108可以接收來自計算機設備102的數(shù)據(jù)以將數(shù)據(jù)的輸出顯示給用戶。例如,可以使用顯示屏幕(陰極射線管(CRT)、液晶顯示器(LCD)等)、投影設備或其它顯示設備。在本發(fā)明的情況下,如現(xiàn)有技術中公知的,顯示設備108可以是光柵顯示設備,它能夠使用掃描線和顯示像素顯示來自數(shù)據(jù)的頁面位圖的輸出。
通過多種公知的技術,類似于打印機設備106,傳真設備110可以輸出文本、圖像或任何其它類型的輸出。此外,傳真設備可以在網(wǎng)絡或通信信道上接收數(shù)據(jù),并且如果需要的話,將所接收的數(shù)據(jù)提供給計算機設備102,從而其可由存儲設備104存儲,由打印機設備106打印,由顯示設備108顯示,或者以其它方式操作。
在系統(tǒng)100的各種組件之間的通信線路可以是物理鏈路(有線連接、網(wǎng)絡連接等)或通過無線電信號、紅外信號等實現(xiàn)的無線鏈路。計算機系統(tǒng)102和/或任一外圍設備還可以包括到其它計算機系統(tǒng)或設備的通信鏈路。聯(lián)網(wǎng)設備可以通過一種或多種公知的聯(lián)網(wǎng)或通信協(xié)議進行通信。
圖3是圖示本發(fā)明的光柵化和壓縮系統(tǒng)150的方框圖。該系統(tǒng)可以完整地在計算機設備102或者在外圍設備106、108或110內(nèi)實現(xiàn),或者系統(tǒng)150的一些組件可以在一個設備內(nèi)實現(xiàn),其它組件可以在一個或多個其它設備內(nèi)實現(xiàn)。系統(tǒng)150的方框可以表示軟件程序、硬件組件或者其組合。下面參考圖4描述用于解壓縮由系統(tǒng)150壓縮的數(shù)據(jù)的解壓縮系統(tǒng)。
將PDS數(shù)據(jù)152提供給系統(tǒng)150。PDS數(shù)據(jù)152可以是允許高保真度地表示和輸出在文檔內(nèi)的文本和圖形的結構化格式(即頁面描述語言或PDL),或者可以是非結構化格式,例如從掃描儀設備獲得的掃描原始位圖。許多結構化的格式提供的數(shù)據(jù)在存儲要求方面是緊湊的,但又能使從這樣一種格式生成的輸出頁面準確地描繪由此格式描述的文本、圖形和圖像的外觀。這樣的格式可以使用代碼以符號方式表示文本字符、圖形對象和藝術線條以及其它形狀,并且還包括允許以所期望和準確的方式進行輸出的命令和描述性信息;例如,字體、大小、方向、顏色、紋理和字符位置信息全部都可以包括在PDS數(shù)據(jù)內(nèi)。而且,多種這樣的格式包括圖像,并允許隨后輸出或者在其中輸出文本、圖形對象和圖像。適合于與PDS數(shù)據(jù)一起使用的結構化格式包括Adobe系統(tǒng)公司的PostScript、IBM公司的智能打印機數(shù)據(jù)流(IPDS)、Adobe系統(tǒng)公司的便攜文本格式(PDF)、惠普發(fā)展公司的打印機控制語言(PCL)、IBM公司的高級功能打印(AFP)和其它格式。
由光柵化器154接收PDS數(shù)據(jù)152,該光柵化器154能夠分析PDS數(shù)據(jù)和將該PDS數(shù)據(jù)光柵化成位圖數(shù)據(jù)。光柵化器154可以由輸出外圍設備或計算機設備內(nèi)的控制器實施為軟件(或硬件)。因為該系統(tǒng)設計能夠處理的PDS數(shù)據(jù)152的每種格式通常由獨立的光柵化器處理,光柵化器模塊154表示多個獨立的光柵化器,每個獨立的光柵化器都能夠分析不同的PDS格式。在一種應用中,光柵化器154能夠為由PDS數(shù)據(jù)152描述的文件內(nèi)的每個數(shù)據(jù)頁面生成頁面位圖。在本發(fā)明中,光柵化器能夠將PDS數(shù)據(jù)光柵化成區(qū)域位圖、字符位圖或頁面位圖部分,如下文所描述的。
光柵化器能夠分析PDS數(shù)據(jù)內(nèi)的描述性信息(如果存在的話),并能夠確定在它將要建立的位圖內(nèi)出現(xiàn)的文本、圖形和圖像的外觀和其它細節(jié)。在此所使用的術語“描述性信息”可以包括多種不同類型信息中的任一種信息,可以取決于提供PDS數(shù)據(jù)的具體格式。例如,在一些PDS格式中,描述性信息可以包括區(qū)域信息,它描述如何在PDS文檔內(nèi)分割區(qū)域,即區(qū)域的位置和尺寸,其中每個區(qū)域具有基于該區(qū)域內(nèi)數(shù)據(jù)內(nèi)容的分類的類型;因而,文本區(qū)域包括文本字符,圖形區(qū)域可以包括藝術線條對象或其它繪制圖形,圖像區(qū)域可以包括嵌入的位圖,等等。在一些結構化格式中,所包括的描述性信息包括更大量的信息,例如字符符號代碼或標識符、根據(jù)字體字典內(nèi)的字體描述文本字符的字體和外觀的字體信息等。光柵化器154還可以根據(jù)在PDS數(shù)據(jù)內(nèi)的信息,例如各個字符位圖,提供或生成描述性信息的格式。
在本發(fā)明中,光柵化器154從PDS數(shù)據(jù)提取具體信息,并提供該信息作為和/或生成描述性信息156,以便編碼器156可以訪問此信息。所提取和提供的具體描述性信息可以取決于所實施的本發(fā)明的具體實施例;在下文中將參考圖5和圖6更詳細地予以討論。在本發(fā)明的實施例中,將描述性信息通過公共接口提供給諸如編碼器158等的其它組件,所述公共接口例如是在光柵化器154和編碼器158運行的環(huán)境內(nèi)實施的通用應用程序接口(API),這些組件可以使用該接口進行通信。例如,通過提供具有定義將數(shù)據(jù)發(fā)送給編碼器的光柵化器的類型的參數(shù)的API,單個編碼器158能夠與在光柵化器154內(nèi)包括的每種光柵化器或者任意的光柵化器154通信。特定的光柵化器可以在API內(nèi)設置其參數(shù),編碼器可以讀取和解釋這些參數(shù),因而獲知是否需要任何一種特定協(xié)議以與API通信。
在一些實施例中,光柵化器154還光柵化來自PDS數(shù)據(jù)152的頁面位圖(或整個頁面位圖的一部分),所述PDS數(shù)據(jù)還可用于編碼器158。光柵化器使用PDS數(shù)據(jù)內(nèi)的任一描述性信息和其它信息以建立(未結構化的)頁面位圖157,包括分割和確定區(qū)域尺寸,根據(jù)字體和字號信息生成文本字符位圖,作為位圖繪制圖形形狀,確定哪些區(qū)域是位像和如何操作這些圖像,等等。頁面位圖與建立它的特定PDL格式無關。在一些實施例中,頁面位圖157由光柵化器存儲在運行光柵化器的設備(或與該光柵化器通信的其它設備)的存儲器內(nèi)實施的頁面緩沖器內(nèi),編碼器158從其讀取頁面位圖。在其它的實施例中,光柵化器154可以將編碼器158視為“虛擬頁面緩沖器”,并將頁面位圖直接寫入編碼器158的緩沖器內(nèi),所述編碼器158可以是邏輯的或在物理上與光柵化器154相分離。在一些實施例中,可能沒有足夠的存儲空間用于整個頁面位圖,因而一次僅寫入它的一部分,光柵化器等待當緩沖器清除時寫入下一部分。例如,這可以用于條狀數(shù)據(jù)(banded data),如果沒有足夠的存儲空間存儲整個頁面,則一次處理固定數(shù)目的文本行(小于頁面高度)。一些實施例可以將PDS數(shù)據(jù)劃分成位圖數(shù)據(jù)頁面(頁面位圖),而其它實施例可以提供未如此分割的連續(xù)位像。
其它的實施可能不建立頁面位圖157。例如,光柵化器可能能夠分割PDS數(shù)據(jù)內(nèi)的區(qū)域,并將每個區(qū)域作為一個或多個位圖,例如通過API,作為附加描述性信息,直接地和分別地提供給編碼器158。在這樣一種實施例中,光柵化器154不再需要建立完整的頁面位圖157。在一些實施例中,光柵化器154可以建立并不包括它的所有區(qū)域的頁面位圖157,例如可以將文本區(qū)域作為描述性信息直接發(fā)送給編碼器158,同時可以將非文本區(qū)域光柵化成頁面位圖157,編碼器158通過它來讀取那些非文本區(qū)域。
使用編碼器158壓縮由光柵化器154生成并提供給編碼器的位圖數(shù)據(jù)。這樣的位圖數(shù)據(jù)可以包括作為描述性信息(例如通過API)發(fā)送的區(qū)域位圖和/或字符位圖和/或頁面位圖157。壓縮數(shù)據(jù)最終將放置在頁面位圖內(nèi)以輸出。因為位圖數(shù)據(jù)通常需要大量的存儲空間,希望壓縮以便于將位圖數(shù)據(jù)存儲在有限的存儲空間內(nèi),并加速位圖數(shù)據(jù)的輸出處理。例如,通常非??焖俚貙嚎s位圖數(shù)據(jù)解壓縮并使用輸出設備予以輸出,而不是在輸出時將PDS數(shù)據(jù)光柵化成頁面位圖。因此,可以將壓縮位圖從存儲器提供給解碼器和輸出設備,如參考圖4所描述的,而不是在輸出時提供PDS數(shù)據(jù)。
根據(jù)本發(fā)明,編碼器158是多區(qū)域編碼器,即該編碼器根據(jù)數(shù)據(jù)類型在特定區(qū)域內(nèi)的數(shù)據(jù)上使用多種可用壓縮格式中的一種適當格式。因而,多區(qū)域編碼器可以使用文本壓縮格式壓縮頁面的文本區(qū)域,使用圖像壓縮格式壓縮頁面的圖像區(qū)域。這允許實現(xiàn)較好的壓縮,因為例如文本壓縮格式在壓縮文本時比其它通用格式或者專用于其它類型數(shù)據(jù)的格式更加高效。圖像數(shù)據(jù)壓縮格式通常能夠實現(xiàn)對圖像較高的壓縮比,因為可以使用有損壓縮;壓縮圖像時數(shù)據(jù)損失通常是可接受的,因為圖像整體外觀保持完整,但是這種損失對于其它類型的數(shù)據(jù)可能是不能接受的。
本發(fā)明的編碼器158能夠在由光柵化器提供的位圖數(shù)據(jù)的不同區(qū)域內(nèi)為特定類型的數(shù)據(jù)使用高效的壓縮格式。這是因為光柵化器154提供描述性信息156,該信息包括描述區(qū)域和在這些區(qū)域內(nèi)的數(shù)據(jù)內(nèi)容類型的信息。這允許編碼器158使用區(qū)域專用的壓縮格式,而不必分析頁面位圖的區(qū)域信息,或者不必從必需分析頁面位圖的某個其它程序接收區(qū)域信息。使用區(qū)域專用的壓縮方案,能夠實現(xiàn)非常高的壓縮,與現(xiàn)有的多區(qū)域編碼器相比尤其如此,現(xiàn)有的多區(qū)域編碼器通常在整個位圖上使用通用的壓縮方案,因為不能輕易地獲得區(qū)域信息。在一些實施例中還可以由光柵化器提供附加描述性信息以進一步加速壓縮處理,將參考圖5和圖6更詳細地進行描述。
此外,因為編碼器158通過由光柵化器使用的API接收描述性信息156,因而,可以獨立地設計編碼器158和光柵化器154,僅需要API的共享信息,而不需要以相同的方式定義特征(feature)。例如,在光柵化器內(nèi)字體字典的格式不需要是已知的,或者與由編碼器158使用的任何符號字典相兼容。類似地,由編碼器提供的壓縮區(qū)域的類型不需要受到在光柵化器內(nèi)使用的任何特定區(qū)域標識的限制,因為可以使用API指定將在每個區(qū)域內(nèi)使用的壓縮的廣泛類別或類屬類別,將該廣泛類別轉換成每個組件自己的具體協(xié)議。光柵化器和編碼器的這種獨立性允許任意地實現(xiàn)這些將要使用的組件,還允許與各種光柵化器一起僅使用一個編碼器158,大大降低了系統(tǒng)成本。
編碼器158可以使用多種類型的壓縮。適合于本發(fā)明的其中一種壓縮“工具包”是JBIG2,它允許雙值圖像的多區(qū)域壓縮。JBIG2提供在文本區(qū)域內(nèi)的符號表示,即在文本區(qū)域內(nèi)的重復形狀可以與在符號字典內(nèi)的標記相關聯(lián),允許存儲單個字符位圖以表示一類圖像,例如字符的多次出現(xiàn)。JBIG2還在某些類型的圖像區(qū)域內(nèi)提供算術和/或霍夫曼編碼器。
在其它的實施例中,可以使用其它類型的壓縮工具包或格式,包括CCITT組-4編碼、用于有損壓縮的聯(lián)合攝影專家組(JPEG)等??梢允褂枚喾N區(qū)域定制壓縮格式以有效地壓縮多種類型的數(shù)據(jù)。
在一些實施例中,編碼器158可以接收各個區(qū)域的(或者其它單個的、劃分的或分割的)位圖,這包括來自否則將進入頁面位圖的PDS數(shù)據(jù)152并可以由編碼器158壓縮的數(shù)據(jù)。在這些實施例中的一些實施例中,頁面位圖157不是由光柵化器154生成,而是在其它裝置內(nèi)生成,由光柵化器提供頁面位圖157,它包括將不作為單獨位圖或描述性信息發(fā)送的頁面的區(qū)域或部分。
編碼器158生成壓縮數(shù)據(jù)160,可以將其存儲在存儲設備104上,發(fā)送給輸出設備,通過網(wǎng)絡復制到服務器或計算機設備,或者根據(jù)需要以其它方式操作。如果由諸如打印機設備106、顯示設備108或傳真設備110等輸出設備輸出壓縮數(shù)據(jù)160,則可以使用在圖4中描述的組件。由于有了編碼器158提供的壓縮,壓縮數(shù)據(jù)160在存儲要求上通常遠小于頁面位圖157。
可選擇地,輸入PDS數(shù)據(jù)152可以是非結構化的,例如沒有由頁面描述語言(PDL)提供的任何結構的原始位圖。例如,可以由掃描儀設備、不同的光柵化器或其它組件或設備生成位圖。光柵化器154不能提取與該位圖相關的描述性信息,因而建立與輸入位圖近似相同的頁面位圖,并提供適合于特定輸出設備輸出的任何尺寸重定、填充、旋轉或其它的處理。因為尚未由光柵化器154從結構化PDS數(shù)據(jù)建立頁面位圖,編碼器158并不接收任何描述性信息以協(xié)助壓縮;然而,編碼器158可能能夠進行它自己的某些位圖分析以確定有效的壓縮方案,如下文參考圖5描述的。
在一些實施例中,附加變碼器162可以定位在光柵化器154和編碼器158之間。該變碼器可以將PDS數(shù)據(jù)內(nèi)的壓縮圖像轉換成更適合于編碼器158的壓縮方案,并且在此任務中,可以使用來自光柵化器的描述性信息。在下文中將參考圖6和圖9進行更詳細地描述。
圖4是圖示本發(fā)明的解壓縮和輸出系統(tǒng)170的方框圖。系統(tǒng)170接收由編碼器158提供的壓縮數(shù)據(jù)160,如上文參考圖3描述的。壓縮數(shù)據(jù)160可以從存儲設備104、聯(lián)網(wǎng)計算機設備或其它設備提取得到?;蛘?,壓縮數(shù)據(jù)160可以在編碼器158生成它之后被立即提供給系統(tǒng)170以輸出。
將壓縮數(shù)據(jù)160提供給解碼器172,它能夠使用與由編碼器158使用的壓縮格式類似的適當解壓縮格式來解壓縮該壓縮數(shù)據(jù)。因而,解碼器172能夠確定在壓縮數(shù)據(jù)內(nèi)的多個區(qū)域,將適當?shù)慕鈮嚎s格式用于每個區(qū)域以將數(shù)據(jù)解壓縮成它的解壓縮格式。
解碼器172將解壓縮數(shù)據(jù)提供給頁面置標塊174??梢詫K174實施在解碼器172內(nèi),例如作為解壓縮處理的一部分。
可選擇地,頁面置標塊174可以是獨立的功能塊,或者位于另一個組件內(nèi),例如光柵化器154。頁面置標模塊174根據(jù)由解碼器172提供的解壓縮數(shù)據(jù)建立一個或多個頁面位圖176。頁面位圖176與由圖3內(nèi)的光柵化器154生成的位圖數(shù)據(jù)基本上相同(在頁面格式上),除了因為壓縮和解壓縮可能已經(jīng)產(chǎn)生的任何數(shù)據(jù)損失。
將頁面位圖176提供給輸出硬件組件178,它提供適合于所使用的輸出設備類型的輸出圖像180。例如,輸出組件178可以是在打印機設備內(nèi)的打印機構或者在顯示設備內(nèi)的顯示設備和屏幕。輸出圖像180表示所期望的由圖3的PDS數(shù)據(jù)152生成的輸出。
一些實施例可以使用“顯示列表”處理,其在打印之前立即從在頁面位圖內(nèi)放置的元素列表建立頁面,并且沒有足夠的存儲空間存儲在頁面位圖內(nèi)的所有單元。因而,將中間格式即壓縮數(shù)據(jù)提供給存儲器存儲,隨后組成頁面以輸出??梢酝ㄟ^在打印時由專用硬件,或者在需要發(fā)送給輸出機構時由軟件建立每個掃描行來組成該頁面。上述操作可通過獲知各個區(qū)域的位置并根據(jù)需要解碼其組成部分以進行輸出來實現(xiàn)。
圖5是圖示用于光柵化和編碼(壓縮)多區(qū)域數(shù)據(jù)的本發(fā)明的方法200的流程圖。最好使用程序指令(軟件、固件等)執(zhí)行方法200以及在此所述的其它方法,所述程序指令可以由諸如計算機設備102等計算機系統(tǒng)和/或諸如打印機設備106或顯示設備108等輸出外圍設備等執(zhí)行,并存儲在計算機可讀介質上,例如存儲器、硬盤驅動器、光盤(CD-ROM、DVD-ROM等)、磁盤等??蛇x擇地,可以通過硬件(邏輯門等)或者硬件和軟件之組合執(zhí)行這些方法。
該方法開始于202,在步驟204,在光柵化器154上接收PDS數(shù)據(jù)152。光柵化器可以在總線、網(wǎng)絡連接或其它通信信道上接收PDS數(shù)據(jù)。如果提供多種類型的光柵化器(例如一個用于Postscript格式,一個用于IBM IPDS,等等),則為數(shù)據(jù)提供能夠解釋PDS數(shù)據(jù)類型的特定類型的光柵化器。在步驟206,該方法檢查在PDS數(shù)據(jù)內(nèi)是否可以獲得描述性信息。如果PDS數(shù)據(jù)是沒有區(qū)域或分割信息、字符或符號標識或者在本發(fā)明中使用的其它描述性信息的非結構化位圖,則不存在可用的描述性信息,該方法前進到在下文中詳細描述的步驟220。
如果能夠獲得描述性信息,則該處理前進到步驟208,其中光柵化器在預期建立位圖數(shù)據(jù)時從PDS數(shù)據(jù)提取描述性信息。在步驟210,光柵化器將適當?shù)拿枋鲂孕畔⑻峁┙o編碼器158。在所描述的實施例中,經(jīng)編碼器也已知的API提供描述性信息,如上文中參考圖3所解釋的,因為這樣一種實施方式允許與編碼器相互獨立地設計光柵化器。在其它的實施例中,在沒有API的情況下,光柵化器可以將描述性信息直接提供給編碼器158。由光柵化器提供的描述性信息的內(nèi)容可以根據(jù)實施例而改變-可提供最少的描述性信息,需要光柵化器和編碼器之間最低的協(xié)作度,或者可以提供較多的信息,需要更多的協(xié)作。參考圖6更詳細地描述包括不同等級描述性信息的一些實施例和例子。
在可選擇的步驟212中,光柵化器154根據(jù)公知的技術從PDS數(shù)據(jù)建立頁面位圖。應當指出可以以任意順序或同時地執(zhí)行步驟210和212。如上文指出的,在一些實施例中,不需要建立頁面位圖,因為在步驟210中可以將共同描繪PDS數(shù)據(jù)的單個或獨立的位圖數(shù)據(jù)分量從光柵化器直接提供給編碼器?;蛘撸诓襟E212中建立的頁面位圖可以不包括PDS數(shù)據(jù)的所有區(qū)域,因為在其它區(qū)域內(nèi)的位圖數(shù)據(jù)在描述性信息內(nèi)提供給編碼器(步驟210)。
在步驟214,編碼器使用由光柵化器提供的描述性信息壓縮由光柵化器提供并描述PDS數(shù)據(jù)的位圖數(shù)據(jù)。如上面所解釋的,編碼器是多區(qū)域編碼器,它可以根據(jù)更適合于這些區(qū)域類型的壓縮格式壓縮不同的區(qū)域類型,實現(xiàn)更高的壓縮比和速度。描述性信息協(xié)助該多區(qū)域編碼。
例如,來自光柵化器的諸如區(qū)域信息的描述性信息指定在位圖數(shù)據(jù)內(nèi)的區(qū)域,例如表示區(qū)域的位置和尺寸和在這些區(qū)域內(nèi)的內(nèi)容類型,所述描述性信息可以由編碼器用于選擇和使用適合于這些類型的適當壓縮算法??梢允褂弥T如字符位圖和字符標識信息等其它描述性信息顯著地降低壓縮文本區(qū)域的速度。參考圖7至圖9更詳細地描述使用描述性信息的編碼的若干實施例。
一旦編碼器在步驟214中已經(jīng)壓縮位圖數(shù)據(jù),則可以如上文參考圖3描述的,存儲該壓縮數(shù)據(jù),發(fā)送以在另一個設備內(nèi)處理,和/或輸出。隨后,該處理在216結束。
如果在步驟206中在PDS數(shù)據(jù)內(nèi)未發(fā)現(xiàn)可用的描述性信息,則執(zhí)行步驟220。在步驟220中,類似于步驟212,光柵化器根據(jù)PDS數(shù)據(jù)建立頁面位圖。光柵化器可能需要執(zhí)行對PDS數(shù)據(jù)的一些處理以建立頁面位圖,例如尺寸重定、填充、剪裁和旋轉。在步驟222,編碼器讀取頁面位圖和試圖推斷其中的區(qū)域特征,例如通過分析在頁面位圖內(nèi)的比特模式或特征。例如,編碼器可以通過分析黑/白轉換頻率(其中高轉換速率可能表示文本行,等等)或歸一化運行結束計數(shù),嘗試推斷出在位圖內(nèi)的區(qū)域內(nèi)容類型。
在步驟224,該處理檢查是否可以根據(jù)步驟222的分析推斷出區(qū)域類型,如果可以,則檢查如此推斷出的所有區(qū)域是否都可能具有文本內(nèi)容。如果兩個條件都滿足,則該處理前進到步驟214,其中編碼器使用推斷出的描述性信息壓縮該頁面位圖。例如,所推斷的描述性信息可以包括定義文本區(qū)域和非文本區(qū)域的尺寸和位置的區(qū)域信息。
如果根據(jù)如此的分析不能推斷出任何區(qū)域類型,或者如果確定沒有任何區(qū)域可能被確定為文本,則該處理前進到步驟226,其中可以使用類屬的區(qū)域編碼。例如,JBIG2具有在這些情況下可以使用的類屬壓縮方案,它提供總體可以接受的壓縮比和速度。對于未知的內(nèi)容來說,與特定內(nèi)容類型的編碼相比,這種類屬壓縮方案通常效率更高,例如,文本區(qū)域編碼在半色調圖像或藝術線條(圖形)區(qū)域上可能是低效的。隨后,該處理在216完成。
圖6是圖示圖5的步驟210的流程圖,其中光柵化器將描述性信息提供給編碼器。方法210的每個連續(xù)步驟表示在不同實施例中由光柵化器提供的大量描述性信息。在可能的情況下,不需要以方法210中所示的順序執(zhí)行這些步驟。
該處理開始于252,在步驟254,光柵化器將區(qū)域信息作為描述性信息提供給編碼器。這是本發(fā)明的最基本的實施例,需要在光柵化器和編碼器之間最少量的協(xié)作。通常,結構化的文檔或數(shù)據(jù),光柵化器可以訪問區(qū)域分割數(shù)據(jù),包括在該數(shù)據(jù)內(nèi)不同區(qū)域的位置和尺寸,即不同的區(qū)域是如何分割的。此外,光柵化器還能夠訪問在分割區(qū)域內(nèi)包括的數(shù)據(jù)類型,例如圖形藝術線條或對象,或者圖像(可以在PDS數(shù)據(jù)內(nèi)標識、標記并很好地定義某些區(qū)域類型)。在某些掃描文檔和位圖中,區(qū)域信息還可以對光柵化器可用;例如,可能已經(jīng)為在共同色調(contone)(對于每個像素連續(xù)色調、多個陰影)和雙色調(兩個像素等級)掃描區(qū)域之間的掃描文檔執(zhí)行前端區(qū)域分割。光柵化器可以訪問這些區(qū)域的位置和尺寸。
所訪問的區(qū)域信息還可以包括其它的區(qū)域特征。例如,在半色調圖像區(qū)域內(nèi),光柵化器還可以訪問區(qū)域信息,例如用于半色調圖像數(shù)據(jù)網(wǎng)屏(screen)的半色調網(wǎng)屏(即半色調網(wǎng)屏特征,例如點大小和形狀、網(wǎng)屏角度和線數(shù)等)。
在多個打印機設備和其它輸出設備上使用的標準控制器或控制單元內(nèi),例如IBM公司的高級功能公用控制單元(AFCCU),光柵化器可以訪問所有這些類型的區(qū)域信息。
光柵化器能夠將該區(qū)域信息的任一部分或全部提供給編碼器158以協(xié)助編碼器選擇用于不同區(qū)域的不同壓縮格式。在下文中參考圖7至圖8描述接收步驟254的區(qū)域信息的編碼器實施例,參考圖7將更詳細地描述。
本發(fā)明的一種實施例提供僅包括步驟254的區(qū)域信息的描述性信息,在下文中參考圖7描述該實施例。
其它實施例可以提供附加的描述性信息,如在步驟256中所示的。這尤其適合于包括文本數(shù)據(jù)的文本區(qū)域。在步驟256,光柵化器154還將字符位圖作為描述性信息提供給編碼器158。當PDS數(shù)據(jù)包括結構化(所生成的)文本區(qū)域時,用于該種結構化格式的光柵化器通常能夠訪問字體字典,該字體字典包括在PDS數(shù)據(jù)內(nèi)使用的特定字體中的字符位圖,因此,光柵化器能夠建立包括所期望的文本字符外觀的頁面位圖。在分析該PDS數(shù)據(jù)時,光柵化器確定在頁面位圖內(nèi)放置每個字符位圖的位置。
在本發(fā)明中,光柵化器能夠將這些字符位圖以及表示將它們放置在頁面位圖內(nèi)什么位置的文本放置信息提供給編碼器。這允許編碼器接收在頁面位圖內(nèi)已經(jīng)提取的形狀,而不必自己提取這些形狀。每個文本區(qū)域已經(jīng)被有效地標記化,即已經(jīng)在文本區(qū)域內(nèi)有效地提取所有的形狀,因而,編碼器僅需要執(zhí)行模式匹配,如在下文中參考圖8描述的。
在一些實施例中,可以為藝術線條圖形區(qū)域執(zhí)行類似的步驟,所述區(qū)域包括光柵化器可以根據(jù)PDS數(shù)據(jù)內(nèi)的命令繪制的圖形形狀位圖。光柵化器可以建立這些圖形形狀位圖,并將它們與作為描述性信息的它們的位置一起提供給編碼器158,類似于如上所述的字符位圖,編碼器可以處理圖形位圖。
因為在步驟256中將字符位圖和它們在頁面布局內(nèi)的相對位置(例如坐標)作為描述性信息直接提供給編碼器,所以光柵化器不需要實際地建立或創(chuàng)建包括那些字符位圖的頁面位圖的文本區(qū)域。(類似地,如果類似地處理圖形目標,則不需要由光柵化器建立頁面位圖的圖形區(qū)域)。
下面將參考圖8描述一種編碼器的實施例,它接收步驟254的區(qū)域信息和步驟256的字符位圖,和壓縮由光柵化器提供的頁面位圖內(nèi)的文本區(qū)域。
其它實施例可以將附加描述性信息提供給編碼器158,如步驟258所表示的。在步驟258,除了字符位圖之外,光柵化器154將字符標識信息作為描述性信息提供給編碼器158,用于PDS數(shù)據(jù)的文本區(qū)域。更高等級的字符標識信息節(jié)省在編碼器內(nèi)的附加處理時間。當PDS數(shù)據(jù)包括結構化文本區(qū)域時,光柵化器通常訪問字符標識信息,該信息可以包括用于每個文本字符的字符編號或字符代碼(例如ASCII編碼)以及標識將與該字符一起使用的字體的字體編號或代碼。該信息允許光柵化器根據(jù)其字體字典提供以正確的字體用于字符的正確字符位圖。在一些實施例中,還可以作為字符標識信息提供字體大小信息以表示文本正確的顯示大小,或者可以提供其它類型的字符標識信息。
在本發(fā)明中,光柵化器可以將字符標識信息的全部或一部分提供給編碼器,以便編碼器不需要執(zhí)行在上述實施例中需要的字符位圖的模式匹配。如在步驟256的實施例中,由光柵化器建立的頁面位圖(如果建立的話)不需要包括包含發(fā)送給編碼器的字符位圖和字符標識信息的文本區(qū)域。以下將更詳細地描述一種編碼器的實施例,它接收步驟254的區(qū)域信息,步驟256的字符位圖和步驟258的字符標識信息,和壓縮由光柵化器提供的頁面位圖內(nèi)的文本區(qū)域。作為描述性信息從光柵化器提供給編碼器且包括字符位圖、文本放置信息和字符標識信息的文本信息也可以稱作“符號文本數(shù)據(jù)”,由編碼器將其編碼成壓縮文本數(shù)據(jù)。
其它的實施例可以將附加描述性信息提供給編碼器158,例如在步驟260所表示的。在步驟260,光柵化器154還將圖像壓縮格式信息作為描述性信息提供給編碼器158。結構化PDS數(shù)據(jù)152可以包括先前以特定格式壓縮的嵌入圖像數(shù)據(jù)。該圖像數(shù)據(jù)可以與其它類型的數(shù)據(jù)一起嵌入在文本頁面內(nèi),所述其它類型的數(shù)據(jù)例如是文本字符、圖形目標或藝術線條等。光柵化器能夠訪問在PDS數(shù)據(jù)內(nèi)表示用于嵌入圖像數(shù)據(jù)的特定壓縮格式的信息,并且如果需要的話,可以解壓縮該圖像,以便該圖像可以包括在頁面位圖內(nèi)。
然而,在本發(fā)明中,通過將嵌入的壓縮圖像依然以其壓縮格式提供給API,能夠避免這樣的解壓縮。光柵化器還將描述嵌入圖像的壓縮格式的描述性信息提供給API。壓縮圖像和描述性信息都可以由變碼器(transcoder)162接收,變碼器162也可以與API通信??梢允褂米兇a器將壓縮圖像轉換成編碼器可以使用的壓縮格式。將參考圖9對此進行更詳細的描述。當變碼器是速度和壓縮有效的類型時,這一特征能夠顯著地提高在由編碼器生成的壓縮數(shù)據(jù)160內(nèi)提供壓縮圖像的速度。
如果光柵化器分別地光柵化不同區(qū)域,則除了描述性信息之外,類似于上面描述的嵌入圖像數(shù)據(jù),可以經(jīng)API將每個比特位圖區(qū)域分別提供給編碼器,而不是以標準方式建立頁面位圖。
該處理在262結束。
圖7是圖示由本發(fā)明的編碼器使用的數(shù)據(jù)壓縮處理300的流程圖,其中編碼器158已經(jīng)從光柵化器接收到區(qū)域信息,如從圖6的步驟254接收到的。該處理大大簡化了實際的實施方式,如在JBIG2中規(guī)定的,并意味著表示該處理中的通用步驟。
該處理開始于302,在步驟304,編碼器根據(jù)由光柵化器最好通過API提供的區(qū)域信息確定在頁面位圖157內(nèi)的區(qū)域和它們的類型(或者其它所接收的位圖區(qū)域或數(shù)據(jù))。使用該區(qū)域信息,編碼器能夠確定這些區(qū)域的位置和尺寸以及在這些區(qū)域內(nèi)的數(shù)據(jù)類型。在步驟306,使用適當?shù)膲嚎s格式壓縮在位圖數(shù)據(jù)內(nèi)的任何非文本區(qū)域,其中可以在任意適當?shù)臅r候,例如在步驟308至318中描述的文本壓縮之前、之后或者同時,執(zhí)行步驟306。例如,JBIG2提供文本、類屬和周期/半色調區(qū)域壓縮算法,由光柵化器提供的區(qū)域信息允許JBIG2編碼器識別在位圖數(shù)據(jù)內(nèi)的區(qū)域,并在這些算法之中選擇用于該頁面位圖內(nèi)每個所識別區(qū)域的適當算法。
此外,區(qū)域信息可以包括半色調信息,例如點的周期或網(wǎng)屏描述性信息,它可以由編碼器從光柵化器接收以描述周期/半色調區(qū)域,并便于周期/半色調數(shù)據(jù)的編碼器壓縮,例如便于解除網(wǎng)屏,如果希望解除網(wǎng)屏的話,或者便于為JBIG2周期性地選擇周期區(qū)域壓縮。解除網(wǎng)屏是用于將半色調圖像數(shù)據(jù)轉換成連續(xù)色調圖像數(shù)據(jù)的空間過濾或平均,并可以例如在先前已經(jīng)進行了半色調或“網(wǎng)屏”的圖像的JPEG壓縮之前執(zhí)行,例如,JBIG2通??梢愿鶕?jù)圖像位圖數(shù)據(jù)確定和提取半色調周期;然而,如果光柵化器如在本發(fā)明的合適實施例中提供半色調數(shù)據(jù),則編碼器不需要如此執(zhí)行,從而節(jié)省了時間和處理周期。此外,使光柵化器訪問PDS數(shù)據(jù)中的精確半色調網(wǎng)屏信息和將其提供給編碼器能夠避免錯誤地確定網(wǎng)屏頻率的風險,假如是編碼器自己確定此信息的話。這種錯誤的確定可能降低解壓縮的圖像質量。
在一些實施例中,當編碼器實施壓縮工具包時,例如JBIG2,在類屬區(qū)域編碼中可以使用若干模板,其中“模板”是用于預測編碼像素的數(shù)值的一組圖像像素。類屬區(qū)域是具有尚未識別為特定類型的任意類型的位圖特征的區(qū)域,它具有多種類型,或者它沒有專用的壓縮格式。特定模板可能更適合于某些類型的數(shù)據(jù),而不那么適合于其它類型的數(shù)據(jù),例如適合于圖形藝術線條或對象而不適合于圖像。由編碼器從光柵化器接收的描述類屬區(qū)域的特定數(shù)據(jù)內(nèi)容的區(qū)域信息可以用于在模板之間選擇。例如,圖形對象內(nèi)容結構(GOCA)圓圖可能是具有較簡單結構的圖形對象,對于較小和較簡單的模板來說,可能是很好的匹配以允許更快的編碼。然而,復雜的半色調圖像可能更適合于更復雜的模板,它為該類型的內(nèi)容提供更佳的壓縮比。
步驟308至318描述用于圖7的實施例的符號文本壓縮。在步驟308,編碼器分析頁面位圖的分割文本區(qū)域的形狀(在文本區(qū)域內(nèi),其通常對應于字符位圖)和提取形狀。用于分析連接像素和繪制圍繞隨后提取的形狀的邊界框的技術是公知的。編碼器只需要分析指定文本區(qū)域的文本字符,因為區(qū)域信息已經(jīng)向編碼器通知其它區(qū)域具有其它類型的數(shù)據(jù)內(nèi)容。
在步驟310中,在已經(jīng)提取這些形狀之一之后,該處理檢查所提取的形狀是否匹配由編碼器為此PDS數(shù)據(jù)或頁面建立的字典內(nèi)的標記(先前存儲的表示位圖形狀)。為了執(zhí)行該匹配,該處理可以比較該形狀的比特模式與標記(在預先確定的容差范圍內(nèi)近似匹配是可能的,例如用于掃描的數(shù)據(jù),其中在表示同一字符的兩個位圖之間可能存在很小的差別)。如果未發(fā)現(xiàn)與字典內(nèi)任一標記的匹配,則在步驟312,將該形狀作為表示該形狀的另一個標記存儲在字典中,并將其與在未來迭代中找到的其它形狀進行比較。在步驟312之后,或者如果發(fā)現(xiàn)所提取的形狀匹配標記,則在步驟314為所提取的形狀存儲特定信息,其中該特定信息可以包括用于該形狀的唯一標識符、該形狀在該區(qū)域或頁面內(nèi)的位置和到相關標記的鏈接。隨后,該處理在步驟316檢查是否需要從文本區(qū)域中提取任何其它形狀;如果是,則該處理返回步驟308。如果不是,則該處理可以在步驟318執(zhí)行附加壓縮以壓縮標記和用于該形狀的特定信息,該處理在319結束。如果將要壓縮在頁面位圖內(nèi)的附加文本區(qū)域,則該處理可以在302再次開始。
圖8是圖示由本發(fā)明的編碼器使用的數(shù)據(jù)壓縮處理320的流程圖,其中編碼器已經(jīng)從光柵化器接收到區(qū)域信息和字符位圖,如從圖6的步驟256。
該處理在322開始,在步驟324,編碼器根據(jù)由光柵化器提供的區(qū)域信息確定在頁面位圖157和/或其它位圖數(shù)據(jù)內(nèi)的區(qū)域和它們的類型,類似于參考圖7的步驟304所描述的(可能僅需要描述文本區(qū)域的位置和/或內(nèi)容的用于文本區(qū)域的最少數(shù)量的文本信息)。在步驟326中,使用適當?shù)膲嚎s格式壓縮在位圖數(shù)據(jù)內(nèi)的任何非文本區(qū)域,其中可以在任意適當?shù)臅r間上,例如在步驟328-338之前、之后或同時,執(zhí)行步驟326。
在步驟328,編碼器獲取字符位圖。該字符位圖應已經(jīng)由光柵化器作為(所生成的)描述性信息通過API提供給編碼器,如在圖6的步驟256中所表示的。此外,編碼器接收與每個字符位圖相關的文本放置信息(位置信息),它表示將在頁面位圖內(nèi)(或者其它大小的位圖內(nèi))定位或顯示相關字符信息的位置。在步驟330,該處理檢查該字符位圖是否匹配由編碼器為該PDS數(shù)據(jù)或頁面建立的字典內(nèi)的標記(先前存儲的代表性字符位圖)。為了執(zhí)行該匹配,該處理可以比較當前字符位圖的比特模式與在該符號字典內(nèi)存儲的字符位圖(如先前解釋的,該匹配可以是類似的)。如果未發(fā)現(xiàn)與字典內(nèi)的任何標記的匹配,則在步驟332,將該字符位圖作為表示該字符位圖的另一個標記存儲在字典中,其將與在未來迭代中找到的其它位圖進行比較。在步驟332之后,或者如果發(fā)現(xiàn)當前的字符位圖匹配一個標記(在這種情況下不需要存儲當前的字符位圖),則在步驟334中為字符位圖的出現(xiàn)存儲特定信息,其中該特定信息可以包括用于該字符位圖的唯一標識符、用于該字符位圖在區(qū)域或頁面內(nèi)的放置信息和到相關標記的鏈接。隨后,該處理在步驟336檢查是否已經(jīng)接收到和需要處理在文本區(qū)域內(nèi)的任何其它字符位圖,例如匹配和存儲的模式;如果是,則該處理返回步驟328。如果不是,則該處理可以在步驟338執(zhí)行附加壓縮以壓縮該字符位圖的標記和特定信息,該處理在340結束。如果接收到來自頁面內(nèi)的附加文本區(qū)域的字符位圖,則該處理可以在322重新開始。
因而,由于接收到字符位圖,該方法避免了分析頁面位圖或其它位圖數(shù)據(jù)、圍繞在位圖數(shù)據(jù)內(nèi)的形狀繪制邊界框和提取在圖7的編碼器實施例內(nèi)發(fā)現(xiàn)的形狀,從而在編碼器上節(jié)省了大量的處理時間。
應當指出編碼器可以首先將從光柵化器接收到的所有字符位圖存儲在編碼器自己的緩沖器內(nèi),隨后在所有接收到的字符位圖上執(zhí)行模式匹配和壓縮;或者,當在編碼器上接收到每個字符位圖時,可以執(zhí)行壓縮(即如果字符位圖已經(jīng)存在于字典內(nèi),則不將其存儲在編碼器的緩沖器)。
以下將說明由本發(fā)明的編碼器使用的數(shù)據(jù)壓縮處理過程,其中該編碼器已經(jīng)從光柵化器接收到區(qū)域信息、字符位圖和字符標識信息,如從圖6的步驟258接收到的。
首先執(zhí)行確定步驟,編碼器根據(jù)由光柵化器提供的區(qū)域信息確定在頁面位圖157或其它位圖數(shù)據(jù)內(nèi)的區(qū)域和它們的類型,類似于參考圖7的步驟304所描述的。接著執(zhí)行壓縮步驟,使用適當?shù)膲嚎s格式壓縮在位圖數(shù)據(jù)內(nèi)的任何非文本區(qū)域。
接下來執(zhí)行獲取步驟,編碼器獲取字符位圖(和描述它在該區(qū)域或頁面內(nèi)位置的放置信息)和字符標識信息,其中該字符標識信息包括字符代碼、字體代碼、點大小信息和/或其它字符標識或字符描述性信息。由光柵化器通過例如API將字符標識信息提供給編碼器,如圖6的步驟258所表示的。
然后執(zhí)行第一檢查步驟,檢查該字符標識信息是否匹配(或近似匹配)由編碼器為該PDS數(shù)據(jù)或頁面建立的字典內(nèi)的任何已經(jīng)存儲的字符標識信息(標記)。該處理比較當前字符標識信息(例如用于字符的字符代碼和字體代碼)的一部分或全部與標記的等同存儲編碼以確定相關的字符位圖是否已經(jīng)在該字典內(nèi)(該字典包括字符標識信息和標記的字符位圖)。因而,與圖7和圖8的實施例相比,此實施例可以節(jié)省大量的處理時間。在圖7和圖8的實施例中,編碼器必需匹配形狀或字符的比特模式與標記的位圖,而此實施例可以非常快速地為頁面構建符號字典。
如果未發(fā)現(xiàn)與該字典內(nèi)的任何字符標識信息的匹配,則執(zhí)行第一個存儲步驟,將與該字符標識信息相關的字符位圖存儲在字典中,因而隨后可以生成正確出現(xiàn)的位圖;將相關的字符標識信息作為代表該字符的標記存儲在字典中,其將與在未來迭代中接收到的其它字符進行比較。在這之后,或者如果當前的字符標識信息匹配標記(在這種情況下,不需要將當前的字符位圖和字符標識信息存儲在字典中),執(zhí)行第二存儲步驟,為字符位圖的出現(xiàn)存儲特定信息,其中該特定信息可以包括用于該字符的唯一標識符、該字符在該區(qū)域或頁面內(nèi)的位置和到相關字符位圖的鏈接或引用。隨后,執(zhí)行第二檢查步驟,檢查是否已經(jīng)接收到和需要處理(例如比較和存儲)用于文本區(qū)域內(nèi)字符的任何其它字符標識信息;如果是,則該處理返回執(zhí)行獲取步驟。如果不是,則該處理可以執(zhí)行附加壓縮步驟,以壓縮用于該字符的字符位圖和特定信息,隨后,該處理結束。如果從光柵化器接收到來自頁面內(nèi)其它文本區(qū)域的字符,則該處理可以重新開始。
與圖8的實施例相同,編碼器可以首先將從光柵化器接收到的所有字符標識信息存儲在編碼器自己的緩沖器內(nèi),隨后對所有接收到的字符執(zhí)行處理和壓縮,或者,當在編碼器上接收到每個字符標識信息時,可以執(zhí)行壓縮。
在一些替代實施例中,光柵化器154可以檢查字符標識信息和字符位圖先前是否已經(jīng)發(fā)送給編碼器158,并且可以僅當先前未發(fā)送這些位圖時將字符位圖發(fā)送給編碼器?;蛘?,光柵化器可以發(fā)送一些其它伴隨信息,表示所發(fā)送的字符數(shù)據(jù)與先前發(fā)送的字符數(shù)據(jù)相同。因而,在這些實施例的一些實施例中,可能不需要執(zhí)行前述第一檢查步驟的檢查,因為通過檢查缺少附加字符位圖或者通過檢查其它所接收的信息,編碼器可以確定所接收的字符標識信息是否是標記。
另外,可以在任意適當?shù)臅r間上執(zhí)行前述壓縮步驟,例如在獲取步驟、第一檢查步驟、第一個存儲步驟、第二存儲步驟、第二檢查步驟、附加壓縮步驟之前、之后或同時,執(zhí)行該壓縮步驟。
圖9是圖示本發(fā)明壓縮嵌入壓縮圖像的處理400的流程圖,其中已經(jīng)從光柵化器接收到壓縮圖像信息,如從圖6的步驟260接收到的。在該處理中,將變碼器162(參見圖3)提供在光柵化器154和編碼器158之間,并執(zhí)行該處理。變碼器能夠將一種壓縮格式的圖像直接轉成另一種壓縮格式的圖像。
該處理在402開始,在步驟404,變碼器例如通過API從光柵化器接收嵌入的圖像格式信息(描述性信息),如在圖6的步驟260所表示的。該信息描述嵌入壓縮圖像數(shù)據(jù)的壓縮格式,所以變碼器知道所使用的壓縮格式。該格式信息還可以包括用于變碼器執(zhí)行圖像處理操作的其它描述性信息,如果需要的話,例如描述所需要的剪裁、填充、定標和旋轉的信息。在步驟406中,變碼器例如通過API從光柵化器(不通過光柵化的頁面位圖)直接接收嵌入壓縮圖像(可以以任意順序執(zhí)行步驟404和步驟406)。在步驟408中,變碼器將嵌入壓縮圖像轉換成具有與編碼器158兼容的壓縮格式的嵌入壓縮圖像;可以如此執(zhí)行,因為變碼器知道該圖像的原始壓縮格式,并且知道由編碼器使用的等同壓縮格式。在步驟410,變碼器將已轉換的嵌入壓縮圖像(以編碼器兼容的壓縮格式)提供給編碼器,它將嵌入圖像合并在由編碼器生成的壓縮數(shù)據(jù)160內(nèi)。
例如,在JBIG2編碼器的實施例中,變碼器162可以將原始算術壓縮格式的圖像轉換成等同的JBIG2算術壓縮格式,隨后,編碼器可以直接接收該壓縮圖像,并將其包括它自己的壓縮數(shù)據(jù)輸出內(nèi),而不進行任何進一步的處理。當變碼器很快且高效時,這一特征可以大大地提高在由編碼器生成的壓縮數(shù)據(jù)160內(nèi)提供壓縮圖像的速度,因為不需要由光柵化器執(zhí)行解壓縮。
該實施例可能要求當將嵌入圖像插入到頁面位圖內(nèi)時,就在將其輸出之前,不要求嵌入壓縮圖像的定標、填充、剪裁或旋轉,即可以在解碼器172的解壓縮階段將嵌入圖像直接放置在輸出頁面位圖內(nèi),而不需要任何這樣的定標、填充或旋轉。填充是圍繞圖像(例如白色空間)插入內(nèi)容,以便可以將較小的圖像放置在較大的區(qū)域內(nèi),或者以便可以使與圖像相鄰的一些內(nèi)容在圖像附近消隱(通常,這假設該圖像已經(jīng)被網(wǎng)屏)。通常將由光柵化器執(zhí)行該操作,但是在本發(fā)明中,避免了這一操作??蛇x擇地,如果需要定標、填充、剪裁和/或旋轉該嵌入圖像,則當變碼器162將輸入的壓縮格式轉換成編碼器的壓縮格式時,可以使用變碼器162執(zhí)行這些操作。在一些實施例中,取決于使用的變碼器處理,這些操作可能涉及由變碼器對圖像數(shù)據(jù)進行一定程度的解壓縮和重新壓縮。圖9的實施例可以與結合圖7、圖8等說明的本發(fā)明的編碼器使用的數(shù)據(jù)壓縮處理中的編碼器的實施例一起使用,或者其本身自行使用。
圖10是圖示本發(fā)明的解碼(解壓縮)處理450的流程圖。如在上文中參考圖4描述的,該處理通常遵循圖5的壓縮處理200,用于對壓縮數(shù)據(jù)160解壓縮,從其建立輸出頁面位圖,和使用輸出設備輸出數(shù)據(jù)。
該處理在452開始,在步驟454,解碼器172接收已經(jīng)由編碼器158壓縮的壓縮數(shù)據(jù)160。在步驟456,解碼器使用與編碼器使用的壓縮格式類似的壓縮格式對壓縮數(shù)據(jù)解壓縮。通過讀取在壓縮數(shù)據(jù)內(nèi)的相關信息,解碼器可以確定在特定壓縮數(shù)據(jù)內(nèi)使用的壓縮格式,并使用該信息選擇多區(qū)域編碼器/解碼器可用的若干壓縮格式之一。
在步驟458,從解壓縮數(shù)據(jù)建立頁面位圖176。在一些實施例中,該步驟可以與解壓縮步驟456相組合。例如,在如上所述壓縮的文本區(qū)域內(nèi),讀取字符符號信息,表示特定的字符及其字體,從在壓縮數(shù)據(jù)內(nèi)包括的字典內(nèi)提取相應的字符位圖;隨后,在字符符號信息內(nèi)包括的位置上將該字符位圖插入在頁面位圖176內(nèi)。或者,所讀取的字符符號信息可以是到字典內(nèi)字符位圖的引用,因而解碼器不需要引用字體。根據(jù)特定的壓縮格式類似地解壓縮圖像區(qū)域,并將其插入到頁面位圖內(nèi)。如果解碼器執(zhí)行該頁面建立功能,則該解碼器可以在解壓縮區(qū)域時將每個解壓縮區(qū)域放置在頁面位圖內(nèi);或者,在其它的實施例中,可以將所有的區(qū)域解壓縮到緩沖器內(nèi),隨后將這些區(qū)域插入到頁面位圖內(nèi)。可選擇地,可以由其它組件執(zhí)行頁面建立功能。
在步驟460,作為輸出圖像,由諸如顯示屏、打印機等光柵輸出設備的輸出組件178輸出頁面位圖176。隨后,該處理在462結束??梢灶愃频亟鈮嚎s和輸出附加頁面位圖。
盡管已經(jīng)根據(jù)所圖示的實施例描述了本發(fā)明,本領域的普通技術人員將很容易地理解可能存在這些實施例的多種變化,這些變化將在本發(fā)明的精神和范圍之內(nèi)。因此,在不脫離權利要求的精神和范圍的情況下,本領域的普通技術人員可以進行多種修改。
權利要求
1.一種用于對數(shù)據(jù)進行光柵化和編碼的方法,該方法包括從打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出描述性信息,所述PDS數(shù)據(jù)描述輸出設備的輸出,其中所述描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個文本數(shù)據(jù)區(qū)域的指定,和表示至少一個文本數(shù)據(jù)區(qū)域的位圖數(shù)據(jù);將位圖數(shù)據(jù)提供給編碼器,而不將位圖數(shù)據(jù)包括在PDS數(shù)據(jù)的光柵化頁面位圖中;和使用編碼器和適合于文本數(shù)據(jù)的壓縮格式將位圖數(shù)據(jù)編碼成壓縮數(shù)據(jù),所述壓縮數(shù)據(jù)描繪所述至少一個文本數(shù)據(jù)區(qū)域。
2.權利要求1的方法,其中位圖數(shù)據(jù)包括多個單獨的字符位圖,每個均表示在至少一個文本數(shù)據(jù)區(qū)域內(nèi)的字符,并且其中所述描述性信息在編碼中使用并包括描述單獨字符位圖在輸出頁面內(nèi)的位置的放置信息。
3.權利要求1的方法,其中至少一個文本數(shù)據(jù)區(qū)域的指定包括描述至少一個文本數(shù)據(jù)區(qū)域在PDS數(shù)據(jù)的輸出頁面內(nèi)的位置和尺寸的分割信息。
4.權利要求1的方法,還包括從PDS數(shù)據(jù)導出非文本描述性信息,所述非文本描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個非文本數(shù)據(jù)區(qū)域的指定;將至少一個非文本數(shù)據(jù)區(qū)域光柵化成非文本位圖數(shù)據(jù);和將非文本位圖數(shù)據(jù)編碼成非文本壓縮數(shù)據(jù),其中至少一個非文本區(qū)域的指定在編碼中使用,以確定適合于所述至少一個非文本數(shù)據(jù)區(qū)域的壓縮格式。
5.權利要求4的方法,其中將所述至少一個非文本數(shù)據(jù)區(qū)域光柵化成頁面位圖。
6.權利要求4的方法,其中從非文本描述性信息確定在至少一個非文本區(qū)域內(nèi)的數(shù)據(jù)的類型,并且其中所述類型被用于選擇用于編碼的多種可用壓縮格式之一,其中每種可用壓縮格式適合于特定類型的數(shù)據(jù)。
7.權利要求6的方法,其中至少一個非文本區(qū)域的類型是圖像類型。
8.權利要求2的方法,其中描述性信息包括從PDS數(shù)據(jù)中提取的字符標識信息,其中從所述字符標識信息導出單獨字符位圖。
9.權利要求8的方法,其中編碼包括通過比較每個字符位圖與已經(jīng)存儲在符號字典內(nèi)的字符位圖以確定接收的字符位圖是否已經(jīng)存儲在字典中,來構建符號字典;和如果字符位圖尚未存儲在符號字典中,則將字符位圖存儲在符號字典中。
10.權利要求8的方法,還包括將字符標識信息提供給編碼器并在編碼中使用所述字符標識信息,其中所述字符標識信息包括標識在PDS數(shù)據(jù)內(nèi)的字符的字符代碼,每個字符與字符位圖之一相關聯(lián)。
11.權利要求10的方法,其中字符標識信息包括標識每個字符的字體的字體代碼和標識每個字符的大小的點大小信息的至少之一。
12.權利要求10的方法,其中編碼包括通過比較每個特定字符代碼與已經(jīng)存儲在符號字典內(nèi)的字符代碼以確定與特定字符代碼相關聯(lián)的字符位圖是否已經(jīng)存儲在字典中,來構建符號字典;和如果相關聯(lián)的特定字符代碼尚未存儲在符號字典中,則將字符位圖和相關聯(lián)的特定字符代碼存儲在符號字典內(nèi)。
13.權利要求6的方法,其中在至少一個非文本區(qū)域內(nèi)的數(shù)據(jù)的類型是先前已經(jīng)壓縮過的圖像數(shù)據(jù),并且其中非文本描述性信息包括描述先前壓縮的信息。
14.權利要求13的方法,還包括將先前壓縮的圖像轉換成具有用于編碼的可用壓縮格式之一的壓縮圖像。
15.權利要求4的方法,其中如果PDS數(shù)據(jù)內(nèi)不存在文本描述性信息或非文本描述性0信息,則還包括分析光柵化頁面位圖以得到表示在光柵化頁面位圖中至少一個區(qū)域的分割的信息。
16.權利要求1的方法,其中通過通用應用程序接口(API)提供位圖數(shù)據(jù)用于編碼。
17.權利要求1的方法,其中對壓縮數(shù)據(jù)進行解壓縮并從解壓縮數(shù)據(jù)建立頁面位圖,其中頁面位圖從輸出設備輸出。
18.一種用于對數(shù)據(jù)進行光柵化和編碼的系統(tǒng),該系統(tǒng)包括接收打印數(shù)據(jù)流(PDS)數(shù)據(jù)的光柵化器,所述PDS數(shù)據(jù)描述輸出設備的輸出,其中光柵化器從打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出描述性信息,所述描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個文本數(shù)據(jù)區(qū)域的指定,和描繪至少一個文本數(shù)據(jù)區(qū)域的位圖數(shù)據(jù);和耦合到光柵化器的編碼器,所述編碼器直接從光柵化器接收位圖數(shù)據(jù),而不從光柵化頁面位圖中提取位圖數(shù)據(jù),所述編碼器使用適合于文本數(shù)據(jù)的壓縮格式將位圖數(shù)據(jù)編碼成描繪至少一個文本數(shù)據(jù)區(qū)域的壓縮數(shù)據(jù)。
19.權利要求18的系統(tǒng),其中位圖數(shù)據(jù)包括多個單獨的字符位圖,每個均表示在至少一個文本數(shù)據(jù)區(qū)域內(nèi)的字符,并且其中所述描述性信息由編碼器接收并包括描述單獨字符位圖在輸出頁面內(nèi)的位置的文本放置信息。
20.權利要求18的系統(tǒng),其中光柵化器從PDS數(shù)據(jù)導出非文本描述性信息,所述非文本描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個非文本數(shù)據(jù)區(qū)域的指定,并將至少一個非文本數(shù)據(jù)區(qū)域光柵化成非文本位圖數(shù)據(jù);并且其中編碼器將非文本位圖數(shù)據(jù)編碼成非文本壓縮數(shù)據(jù),其中將至少一個非文本區(qū)域的指定用于編碼中,以確定適合于所述至少一個非文本數(shù)據(jù)區(qū)域的壓縮格式。
21.權利要求20的系統(tǒng),其中描述性信息指示在至少一個區(qū)域內(nèi)的數(shù)據(jù)的類型,并且其中編碼器接收和使用所述類型來選擇用于編碼的多種可用壓縮格式之一,其中每種可用壓縮格式適合于特定類型的數(shù)據(jù)。
22.權利要求19的系統(tǒng),其中編碼器通過比較每個字符位圖與已經(jīng)存儲在符號字典內(nèi)的字符位圖以確定接收的字符位圖是否已經(jīng)存儲在該字典內(nèi),來構建符號字典,并且如果字符位圖尚未存儲在符號字典中,則將字符位圖存儲在符號字典中。
23.權利要求19的系統(tǒng),其中描述性信息包括從PDS數(shù)據(jù)中提取的字符標識信息,并且其中從字符標識信息導出單獨字符位圖,還包括在編碼中使用字符標識信息,其中所述字符標識信息包括標識在PDS數(shù)據(jù)內(nèi)的字符的字符代碼,每個字符與字符位圖之一相關聯(lián)。
24.權利要求23的系統(tǒng),其中編碼器通過比較每個特定字符代碼與已經(jīng)存儲在符號字典內(nèi)的字符代碼以確定與特定字符代碼相關聯(lián)的字符位圖是否已經(jīng)存儲在字典中,來構建符號字典,并且如果相關聯(lián)的特定字符代碼尚未存儲在符號字典中,則將字符位圖和相關聯(lián)的特定字符代碼存儲在符號字典內(nèi)。
25.權利要求20的系統(tǒng),其中在至少一個非文本區(qū)域內(nèi)的數(shù)據(jù)的類型是先前已經(jīng)使用壓縮格式壓縮過的壓縮數(shù)據(jù),并且其中描述性信息包括描述先前壓縮格式的信息。
26.權利要求25的系統(tǒng),還包括接收來自光柵化器的描述性信息并將壓縮圖像轉換成具有用于編碼的可用壓縮格式之一的等同壓縮圖像的變碼器,其中所述變碼器將等同壓縮圖像提供給編碼器。
27.權利要求18的系統(tǒng),其中光柵化器通過應用程序接口(API)將描述性信息提供給編碼器。
28.權利要求18的系統(tǒng),其中解碼器接收壓縮數(shù)據(jù),對該數(shù)據(jù)解壓縮,并建立輸出頁面位圖,并且輸出設備輸出所述輸出頁面位圖。
29.一種用于對數(shù)據(jù)進行光柵化和編碼的方法,該方法包括使用光柵化器從打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出描述性信息,所述PDS數(shù)據(jù)描述輸出設備的輸出,其中所述描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個數(shù)據(jù)區(qū)域的描述;和生成從PDS數(shù)據(jù)導出并包括至少一個數(shù)據(jù)區(qū)域的位圖數(shù)據(jù),所述位圖數(shù)據(jù)使用光柵化器生成;經(jīng)允許在光柵化器和編碼器之間通信的通用應用程序接口(API)將描述性信息從光柵化器提供給編碼器;和使用編碼器將位圖數(shù)據(jù)編碼成壓縮數(shù)據(jù),所述位圖數(shù)據(jù)從PDS數(shù)據(jù)導出,其中在編碼中使用描述性信息以確定適合于位圖數(shù)據(jù)內(nèi)至少一個區(qū)域的壓縮格式。
30.權利要求29的方法,其中位圖數(shù)據(jù)通過通用API將描述性信息提供給編碼器,而不在光柵化頁面位圖內(nèi)包括所述位圖數(shù)據(jù)。
31.權利要求29的方法,其中在光柵化頁面位圖內(nèi)提供位圖數(shù)據(jù)。
32.權利要求29的方法,其中從描述性信息確定在至少一個區(qū)域內(nèi)的數(shù)據(jù)的類型,并且其中使用所述類型來選擇用于編碼多種可用壓縮格式之一,其中每種可用壓縮格式適合于特定的數(shù)據(jù)類型。
33.權利要求32的方法,其中至少一個區(qū)域包括文本數(shù)據(jù),并且其中編碼包括通過從位圖數(shù)據(jù)中提取至少一個形狀,并比較每個形狀的位圖模式與已經(jīng)存儲在符號字典內(nèi)的形狀位圖以確定每個提取的形狀位圖是否已經(jīng)存儲在字典中,來構建符號字典;和如果形狀位圖尚未存儲在符號字典中,則將提取的形狀位圖存儲在符號字典中。
34.權利要求32的方法,其中位圖數(shù)據(jù)包括字符位圖,其中將字符位圖提供給編碼器,而不將字符位圖包括在光柵化頁面位圖中。
35.權利要求32的方法,其中描述性信息包括從PDS數(shù)據(jù)提取的字符標識信息,其中字符標識信息包括標識在PDS數(shù)據(jù)內(nèi)的字符的字符代碼,每個字符與字符位圖之一相關聯(lián),并且其中將字符標識信息提供給編碼器并用于編碼中。
36.權利要求32的方法,其中在至少一個區(qū)域內(nèi)的數(shù)據(jù)的類型是先前已經(jīng)使用先前的壓縮格式壓縮過的圖像數(shù)據(jù),并且描述性信息包括描述先前壓縮格式的信息,還包括將先前壓縮過的圖像轉換成具有用于編碼的可用壓縮格式的壓縮圖像。
37.一種用于對要編碼的數(shù)據(jù)進行光柵化的方法,該方法包括從打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出描述性信息,所述PDS數(shù)據(jù)描述輸出設備的輸出,其中所述描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個數(shù)據(jù)文本區(qū)域的描述;將PDS數(shù)據(jù)光柵化成包括描繪至少一個文本區(qū)域的位圖數(shù)據(jù)的附加描述性信息,其中所述位圖數(shù)據(jù)不包括在PDS數(shù)據(jù)的光柵化頁面位圖內(nèi);和將所述描述性信息和附加描述性信息提供給編碼器,以便當將位圖數(shù)據(jù)編碼成壓縮數(shù)據(jù)時,編碼器可使用所述描述性信息,其中所述描述性信息被用于確定適合于由位圖數(shù)據(jù)描繪的至少一個文本區(qū)域的壓縮格式。
38.權利要求37的方法,其中位圖數(shù)據(jù)包括多個單獨字符位圖,每個均表示在至少一個數(shù)據(jù)文本區(qū)域內(nèi)的字符,并且其中描述性信息包括描述單獨字符位圖在輸出頁面內(nèi)的位置的文本放置信息。
39.權利要求38的方法,其中描述性信息包括從PDS數(shù)據(jù)提取的字符標識信息,其中字符標識信息將用于編碼中,其中字符標識信息包括標識在PDS數(shù)據(jù)內(nèi)的字符的字符代碼以及使字符與字符位圖相關聯(lián)的字體代碼。
40.權利要求37的方法,還包括從PDS數(shù)據(jù)導出非文本描述性信息,所述非文本描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個非文本數(shù)據(jù)區(qū)域的指定;將至少一個非文本數(shù)據(jù)區(qū)域光柵化成非文本位圖數(shù)據(jù);和將非文本位圖數(shù)據(jù)編碼成非文本壓縮數(shù)據(jù),其中在編碼中使用至少一個非文本區(qū)域的指定以確定適合于至少一個非文本數(shù)據(jù)區(qū)域的壓縮格式。
41.權利要求37的方法,其中通過應用程序接口(API)將描述性信息提供給編碼器。
42.一種便于對數(shù)據(jù)進行編碼的光柵化器,該光柵化器包括用于從打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出描述性信息的裝置,所述PDS數(shù)據(jù)描述輸出設備的輸出,其中所述描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個數(shù)據(jù)文本區(qū)域的描述;用于將PDS數(shù)據(jù)光柵化成包括描繪至少一個文本區(qū)域的位圖數(shù)據(jù)的附加描述性信息的裝置,其中位圖數(shù)據(jù)不包括在PDS數(shù)據(jù)的光柵化頁面位圖內(nèi);和用于將所述描述性信息和附加描述性信息提供給編碼器,以便當將位圖數(shù)據(jù)編碼成壓縮數(shù)據(jù)時,編碼器可使用所述描述性信息的裝置,其中所述描述性信息被用于確定適合于由位圖數(shù)據(jù)描繪的至少一個文本區(qū)域的壓縮格式。
43.一種用于對數(shù)據(jù)進行編碼的方法,該方法包括從光柵化器接收描述性信息,所述描述性信息從描述輸出設備的輸出的打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出,其中所述描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個數(shù)據(jù)文本區(qū)域的描述和描繪至少一個數(shù)據(jù)文本區(qū)域的位圖數(shù)據(jù),其中所述位圖數(shù)據(jù)不包括在PDS數(shù)據(jù)的光柵化頁面位圖內(nèi);和將位圖數(shù)據(jù)編碼成壓縮數(shù)據(jù),其中在編碼中使用所述描述性信息以確定適合于描繪至少一個數(shù)據(jù)文本區(qū)域的位圖數(shù)據(jù)的壓縮格式。
44.權利要求43的方法,其中位圖數(shù)據(jù)包括多個單獨字符位圖,每個均表示在至少一個數(shù)據(jù)文本區(qū)域內(nèi)的字符,并且其中描述性信息包括描述單獨字符位圖在輸出頁面內(nèi)的位置的文本放置信息。
45.權利要求44的方法,其中編碼包括通過比較每個字符位圖與已經(jīng)存儲在符號字典內(nèi)的字符位圖以確定接收的字符位圖是否已經(jīng)存儲在字典中,來構建符號字典;和如果字符位圖尚未存儲在符號字典中,則將字符位圖存儲在符號字典中。
46.權利要求44的方法,其中描述性信息包括從PDS數(shù)據(jù)提取的字符標識信息,其中字符標識信息在編碼中使用并包括標識在PDS數(shù)據(jù)內(nèi)的字符的字符代碼和使字符與字符位圖相關聯(lián)的字體代碼。
47.權利要求46的方法,其中編碼包括通過比較每個特定字符代碼與已經(jīng)存儲在符號字典內(nèi)的字符代碼以確定與特定字符代碼相關聯(lián)的字符位圖是否已經(jīng)存儲在字典中,來構建符號字典;和如果相關聯(lián)的特定字符代碼尚未存儲在符號字典中,則將字符位圖存儲在符號字典中。
48.權利要求44的方法,其中通過應用程序接口(API)從光柵化器接收描述性信息。
49.權利要求43的方法,其中使用多區(qū)域壓縮工具包JBIG2執(zhí)行編碼。
50.一種用于對數(shù)據(jù)進行編碼的編碼器,該編碼器包括用于從光柵化器接收描述性信息的裝置,所述描述性信息從描述輸出設備的輸出的打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出,其中所述描述性信息包括在PDS數(shù)據(jù)內(nèi)至少一個數(shù)據(jù)文本區(qū)域的描述和描繪至少一個數(shù)據(jù)文本區(qū)域的位圖數(shù)據(jù),其中位圖數(shù)據(jù)不包括在PDS數(shù)據(jù)的光柵化頁面位圖內(nèi);和用于將位圖數(shù)據(jù)編碼成壓縮數(shù)據(jù)的裝置,其中所述描述性信息被用于確定適合于描繪至少一個數(shù)據(jù)文本區(qū)域的位圖數(shù)據(jù)的壓縮格式。
51.一種計算機可讀介質,包括用于執(zhí)行前述方法權利要求中的任一方法的程序指令。
全文摘要
用于對多區(qū)域數(shù)據(jù)進行光柵化和編碼的系統(tǒng)和方法。在一個方面,光柵化器從打印數(shù)據(jù)流(PDS)數(shù)據(jù)導出描述性信息,其中所述描述性信息包括至少一個文本數(shù)據(jù)區(qū)域在PDS數(shù)據(jù)內(nèi)的指定和描繪文本數(shù)據(jù)區(qū)域的位圖數(shù)據(jù)。將所述位圖數(shù)據(jù)提供給編碼器,而不在PDS數(shù)據(jù)的光柵化頁面位圖中包括該位圖數(shù)據(jù),并使用編碼器和適合于文本數(shù)據(jù)的壓縮格式將該位圖數(shù)據(jù)編碼成壓縮數(shù)據(jù)。在另一方面,使用從光柵化器通過應用程序接口(API)提供給編碼器的描述性信息,壓縮數(shù)據(jù)區(qū)域。
文檔編號H04N1/41GK1825893SQ20061000243
公開日2006年8月30日 申請日期2006年1月27日 優(yōu)先權日2005年1月31日
發(fā)明者朗·阿普斯, 簡恩·M.·阿伸布倫奈爾, 科爾尼留·M.·康斯坦丁內(nèi)斯庫, 詹尼弗·Q.·特雷列維茨, 羅斯·E.·維索斯基 申請人:國際商業(yè)機器公司