專利名稱:數(shù)字文件處理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng)。更具體來講,本發(fā)明涉及用于處理“數(shù)字文件”(如此處定義的)的方法和系統(tǒng),還涉及結(jié)合這樣的方法和系統(tǒng)的設(shè)備。概括來說,本發(fā)明涉及產(chǎn)生源文件的輸出表示;例如作為直觀顯示或者作為硬備份。
背景技術(shù):
本文所用的術(shù)語″數(shù)字文件″用來描述由數(shù)據(jù)處理系統(tǒng)處理的任一類型數(shù)據(jù)的數(shù)字表示,它最終以某種形式完全或部分地輸出給人類用戶,一般是通過被顯示或直觀再現(xiàn)(例如,借助于直觀顯示單元或打印機(jī)),或者是通過文本-語音轉(zhuǎn)換等等。數(shù)字文件可以包括任何能夠表示的特征,包括但不僅限于文本;圖形圖像;動畫圖形圖像;全動視頻圖像;交互圖標(biāo)、按鈕、菜單或超鏈接。數(shù)字文件還可以包括非直觀單元,例如音頻(聲音)單元。
數(shù)據(jù)處理系統(tǒng),例如個人計算機(jī)系統(tǒng),一般要求處理“數(shù)字文件”,這些文件可能來源于許多本地或遠(yuǎn)端源中的任何一個,并且可能以多種數(shù)據(jù)格式(“文件格式”)中的任何一種存在。為了產(chǎn)生該文件的一輸出版本,例如無論作為一直觀顯示或打印副本,都需要該計算機(jī)系統(tǒng)解釋該原始數(shù)據(jù)文件并產(chǎn)生與相關(guān)的輸出裝置(例如監(jiān)視器或其他直觀顯示設(shè)備、或打印機(jī))兼容的輸出。通常,該處理涉及用于解釋數(shù)據(jù)文件的應(yīng)用程序、計算機(jī)的操作系統(tǒng)、專用于該期望輸出設(shè)備的軟件“驅(qū)動器”以及在某些情況下(特別是對于監(jiān)視器或其他直觀顯示裝置)作為擴(kuò)展卡形式的附加硬件。
用于處理數(shù)字文件以產(chǎn)生輸出的傳統(tǒng)方法,就硬件資源、軟件開銷以及處理時間而言效率很低,而且完全不適用于包括無線遠(yuǎn)程通信系統(tǒng)在內(nèi)的低功率、便攜式數(shù)據(jù)處理系統(tǒng),也不適用于低成本數(shù)據(jù)處理系統(tǒng),例如網(wǎng)絡(luò)終端等等。在傳統(tǒng)的數(shù)字文件處理系統(tǒng)中還會遇到其他問題,包括需要配置多個系統(tǒng)組件(包括硬件和軟件組件)以便以期望的方式進(jìn)行交互,以及在通過不同系統(tǒng)(例如在格式化、色彩再現(xiàn)等等方面不同)對同一原始資料的處理中的不一致性。此外,用于數(shù)字文件處理的傳統(tǒng)方法不能利用文件格式組件的通用性和/或再可用性。
發(fā)明概要本發(fā)明的目的是提供數(shù)字文件處理方法和系統(tǒng),以及包含有這些方法和系統(tǒng)的設(shè)備,它們消除或減輕了上述的傳統(tǒng)方法和系統(tǒng)的缺陷。
本發(fā)明在其各個方面被限定于附加的權(quán)利要求書中。本發(fā)明的更多的方面和特征將根據(jù)下列說明而變得明白。
此處所述的系統(tǒng)和方法包括采用一個自適應(yīng)前端的系統(tǒng),用于確定一文件類型與來自一個源應(yīng)用程序的輸出相關(guān)聯(lián),并用于處理該輸出,作為該文件類型的一個函數(shù),以便產(chǎn)生一個顯示列表,用于表示對象和形狀,這些對象和形狀表示所述數(shù)據(jù)之直觀表示中的組件。所述顯示列表由一呈現(xiàn)引擎處理,該呈現(xiàn)引擎可以選擇性地位于一個嵌入設(shè)備上。所述呈現(xiàn)引擎處理所述顯示列表中包含的組件,以便呈現(xiàn)所述源應(yīng)用程序輸出的圖像,該圖像可以被呈現(xiàn)在所述設(shè)備的顯示器上。如將在下面所述的,所述自適應(yīng)前端確定所被處理的源的文件結(jié)構(gòu),從而提供一個設(shè)備,該設(shè)備可以對若干不同文件類型和源應(yīng)用程序運(yùn)行。
此外可選的是,此處所述的呈現(xiàn)引擎將在所述設(shè)備的顯示器上提供圖像的漸進(jìn)呈現(xiàn)。這提供了一個直觀顯示界面,通過在所述表示內(nèi)呈現(xiàn)更易于呈現(xiàn)的特征之后、再呈現(xiàn)更細(xì)密的特征來更迅速地呈現(xiàn)圖像。此外,此處所述的系統(tǒng)可以將一個文件分解成組件對象,每一對象可以被獨(dú)立地處理,包括用諸如底紋、色彩和透明度的特殊效果處理對象,從而為由此處所述的系統(tǒng)呈現(xiàn)的圖像提供一個層狀外觀。
在第一方面,此處所述的系統(tǒng)和方法涉及一數(shù)字文件處理系統(tǒng),包括一接收單元,用于接收輸入字節(jié)流,所述輸入字節(jié)流以若干預(yù)定數(shù)據(jù)格式之一表示源數(shù)據(jù);一解釋單元,用于解釋所述字節(jié)流;一轉(zhuǎn)換單元,用于將根據(jù)所述字節(jié)流解釋的內(nèi)容轉(zhuǎn)換為內(nèi)部表示數(shù)據(jù)格式;一個處理單元,用于處理所述內(nèi)部表示數(shù)據(jù),以產(chǎn)生適用于驅(qū)動輸出設(shè)備的輸出表示數(shù)據(jù)。
在第二方面中,本發(fā)明涉及一種用于數(shù)據(jù)處理系統(tǒng)的圖形用戶接口,在該數(shù)據(jù)處理系統(tǒng)中,通過根據(jù)本發(fā)明的第一方面的數(shù)字文件處理系統(tǒng)、產(chǎn)生被所述用戶接口采用的交互直觀顯示,還涉及包含有這樣一種圖形用戶接口的數(shù)據(jù)處理系統(tǒng)。
在更進(jìn)一步的方面中,本發(fā)明涉及包含有根據(jù)本發(fā)明的第一方面的數(shù)字文件處理系統(tǒng)的各種類型的設(shè)備,包括硬件設(shè)備、數(shù)據(jù)處理系統(tǒng)以及外圍設(shè)備。
在更進(jìn)一步的方面中,本發(fā)明涉及一種用于數(shù)據(jù)處理系統(tǒng)的圖形用戶接口,具有一個或多個新穎的和/或增強(qiáng)的特點(diǎn),還涉及包含有這樣一種圖形用戶接口的數(shù)據(jù)處理系統(tǒng)。
以下將參照附圖描述本發(fā)明的實(shí)施例,僅僅作為舉例。
附圖簡述以下參照附圖,進(jìn)一步說明本發(fā)明的上述及其他目的和有益效果,其中
圖1是示出根據(jù)本發(fā)明的數(shù)字文件處理系統(tǒng)的一個實(shí)施例的功能方框圖。
圖2是一個更詳細(xì)地示出本發(fā)明的系統(tǒng)的功能方框圖;以及圖3是進(jìn)一步示出根據(jù)本發(fā)明的數(shù)字文件處理系統(tǒng)的一個實(shí)施例的功能方框圖。
優(yōu)選實(shí)施例的詳細(xì)說明此處所述的系統(tǒng)和方法將會參照若干示例性應(yīng)用程序和實(shí)施例進(jìn)行說明,包括的實(shí)施例很好地適用于識別與源應(yīng)用程序的輸出相關(guān)聯(lián)的文件類型,比如由一字處理應(yīng)用軟件產(chǎn)生的文件,以便產(chǎn)生那些輸出的直觀顯示的表示,其中所述表示表現(xiàn)為一種概要形式,該概要形式可以被適用于特定平臺(比如一手持式設(shè)備)的呈現(xiàn)引擎(rendering engine)所呈現(xiàn),然而,此處所述的系統(tǒng)和方法僅僅是本發(fā)明的某些實(shí)施例的示例,無論如何不能被理解為限制。
現(xiàn)在參看圖1,圖1描述了根據(jù)本發(fā)明的一個系統(tǒng)8。具體來講,圖1描述該系統(tǒng)8、具有若干執(zhí)行處理過程的數(shù)據(jù)處理器13、若干輸出源流10和一個輸出顯示器26。該數(shù)據(jù)處理器13可以是任何一種適當(dāng)?shù)臄?shù)據(jù)處理平臺,包括傳統(tǒng)的數(shù)據(jù)處理平臺,比如PC工作站或者服務(wù)器。在該數(shù)據(jù)處理器上執(zhí)行的處理進(jìn)程可以是任何產(chǎn)生輸出源的應(yīng)用程序,所述輸出源被(或可以被)呈現(xiàn)在一個顯示器上。舉例來說,所述處理進(jìn)程可以包括產(chǎn)生.doc文件的文字處理程序,所述.doc文件可以被表現(xiàn)為直觀顯示器上的頁面。類似地,所述處理過程13可以包括一個網(wǎng)絡(luò)服務(wù)器(web server),它傳送HTML、XML、流式多媒體或者PDF文件,用于由瀏覽器顯示。所述輸出目標(biāo)設(shè)備26可以是任何一種適當(dāng)?shù)脑O(shè)備,它可以用于顯示由所述處理過程傳送的源。
因此,圖1描述本發(fā)明的系統(tǒng)8可以連接若干不同應(yīng)用程序的輸出源以及不同格式的輸出源。所述系統(tǒng)8可以識別每一源的格式并處理所述源,作為其格式的函數(shù)。該被處理的源可以表現(xiàn)為一種適用于在目標(biāo)設(shè)備26的顯示器上呈現(xiàn)的格式。
圖2更詳細(xì)地描述了圖1的系統(tǒng)8。具體來講,圖2描述了若干應(yīng)用程序源10,所述系統(tǒng)8包括一個輸入模塊11即前端、若干文件代理程序處理過程12、表示直觀圖像的內(nèi)部表示的顯示列表14、呈現(xiàn)模塊18以及一個類屬對象類型庫19,其中所述直觀圖像的內(nèi)部表示與被處理的應(yīng)用程序源10相關(guān)聯(lián)。
所述自適應(yīng)前端11包括若干文件代理模塊12。每一文件代理模塊12可以是能夠接收與一應(yīng)用程序源10相關(guān)聯(lián)的流(比如Unix流或者Java流)的軟件或者硬件模塊。所述文件代理模塊12可以通過所述流來分類,以確定所述代理模塊12是否識別那些流的格式。如果所述格式被識別為屬于那些代理模塊12,所述代理模塊12可以開始完全地處理所述輸入流。對一個輸出源的處理可以包括對所述源進(jìn)行解析,以便識別所述源內(nèi)表示被顯示的圖像的標(biāo)記。這些標(biāo)記可以包括測試、字體、位圖及其他此類標(biāo)識符。
在所述實(shí)施例中,前端11包括若干不同的文件代理模塊,每一文件代理模塊與一不同格式輸出源相關(guān)聯(lián)。通過提供若干文件代理模塊并允許每一文件代理模塊12檢查所述被處理的輸出源,圖2中的系統(tǒng)是一個多能的處理引擎,可以顯示多種文件的輸出源。
所述文件代理模塊12處理所述輸出流時,所述代理模塊12構(gòu)造一個新的數(shù)據(jù)文件,顯示列表14,它對由所述輸出源表示的直觀圖像編碼。所述顯示列表14包括直觀圖像的內(nèi)部表示。所述顯示列表14可以被傳送給所述呈現(xiàn)引擎18,它將會處理所述顯示列表內(nèi)的信息,以便創(chuàng)建所述目標(biāo)輸出設(shè)備26上的直觀圖像。為此,通過對于一個已知對象類型庫創(chuàng)建包括一組指針的文件,所述文件代理模塊12構(gòu)造直觀圖像的內(nèi)部表示。當(dāng)所述呈現(xiàn)引擎18運(yùn)行時,要參照所述已知對象類型庫19,而從所述庫19檢索出的對象用于在所述目標(biāo)輸出設(shè)備26上顯示。
盡管圖1和圖2圖示出該系統(tǒng)8為包括若干功能塊單元,對于本領(lǐng)域中普通技術(shù)人員顯而易見的是,這些單元可以被實(shí)現(xiàn)為計算機(jī)程序或者部分計算機(jī)程序,這些程序能夠在數(shù)據(jù)處理器平臺(比如目標(biāo)設(shè)備26)上運(yùn)行,從而將該數(shù)據(jù)處理器配置為根據(jù)本發(fā)明的系統(tǒng)。這些程序可以被實(shí)現(xiàn)為軟件組件,并在常規(guī)的數(shù)據(jù)處理系統(tǒng)(比如UNIX工作站)上運(yùn)行,可以被實(shí)現(xiàn)為C語言計算機(jī)程序、或者以任何高級語言(包括C++、Fortran、Java或者Basic)編寫的計算機(jī)程序。此外,在采用微控制器或者數(shù)字信號處理器的實(shí)施例中,所述系統(tǒng)可以被實(shí)現(xiàn)為計算機(jī)程序,這些計算機(jī)程序以微代碼編寫、或者是以高級語言編寫并且被編譯為可在所采用的平臺上執(zhí)行的微代碼。
現(xiàn)在參照附圖中的圖3,更詳細(xì)地示出一種具體實(shí)施本發(fā)明的數(shù)字文件處理系統(tǒng)8以及它的操作方法。
概括地說,所述系統(tǒng)8可以處理的源文件10包括已知格式的數(shù)據(jù)文件。對所述系統(tǒng)8的輸入是包括所述源文件的內(nèi)容的字節(jié)流。輸入模塊11根據(jù)各種標(biāo)準(zhǔn)之任一種識別所述源文件的文件格式,例如所述文件中的明確的文件類型標(biāo)識符、根據(jù)文件名(特別是文件名擴(kuò)展部分)、或者根據(jù)特定文件類型的內(nèi)容的已知特征。所述字節(jié)流被輸入給″文件代理模塊″12,專用于該源文件的文件格式。所述文件代理模塊12適用于解釋所述輸入字節(jié)流,并將其轉(zhuǎn)換為所述系統(tǒng)8所采用的標(biāo)準(zhǔn)格式,結(jié)果形成源數(shù)據(jù)的內(nèi)部表示14,該內(nèi)部表示14采用適用于由所述系統(tǒng)8處理的“本地”格式。所述系統(tǒng)8通常包括若干不同的文件代理模塊12,每一文件代理模塊12適于處理相應(yīng)的若干預(yù)定文件格式之一。
所述系統(tǒng)8還可以被用于從輸入設(shè)備(諸如數(shù)字?jǐn)z象機(jī)或者掃描儀)接收的輸入。在該情況下,所述輸入字節(jié)流可以直接來源于所述輸入設(shè)備,而不是同樣來源于一個″源文件″。然而,該輸入字節(jié)流仍將是一可預(yù)測的、適用于由該系統(tǒng)處理的數(shù)據(jù)格式,并且用于本發(fā)明的目的,從這樣一個輸入設(shè)備接收的輸入可以被認(rèn)為是一個″源文件″。
所述文件代理模塊12采用標(biāo)準(zhǔn)對象的庫16來產(chǎn)生內(nèi)部表示14,它按照類屬對象連同定義所述文件內(nèi)部的各種類屬對象的特定實(shí)例之性質(zhì)的參數(shù)的集合來描述所述源文件的內(nèi)容,其中類屬對象的類型被定義在所述庫16中。很清楚的是,所述內(nèi)部表示可以用所述系統(tǒng)本地的文件格式存儲/存放,而輸入給所述系統(tǒng)8的可能的源文件的范圍可以包括采用所述系統(tǒng)的本地文件格式的文件。使用適當(dāng)?shù)霓D(zhuǎn)換代理模塊(未示出),在需要的時候可將所述內(nèi)部表示14轉(zhuǎn)換為其他文件格式中的任何一個。
所述內(nèi)部表示14中采用的類屬對象一般包括文本、位形以及矢量圖(可能是或者可能不是活動的,并且可能是兩維或者三維的)、視頻、音頻、以及各種類型的交互對象,例如按鈕和圖標(biāo)。定義類屬對象的特定實(shí)例的參數(shù)通常包括定義對象的物理形狀、大小和位置的空間坐標(biāo)以及任何相應(yīng)的時間數(shù)據(jù),用于定義其特性隨時間而變的對象(使該系統(tǒng)能處理動態(tài)文件結(jié)構(gòu)和/或顯示功能)。對于文本對象,所述參數(shù)一般還包括應(yīng)用于字符串的字體和大小。對象參數(shù)還可以定義其他性質(zhì),例如透明度。
所述內(nèi)部表示14的格式將如由對象類型及其參數(shù)描述的文件的″結(jié)構(gòu)″(或者″布局″)與各種對象的″內(nèi)容″分離;例如文本對象的字符串(內(nèi)容)與該對象的空間參數(shù)分離;圖形對象的圖像數(shù)據(jù)(內(nèi)容)與它的空間參數(shù)分離。這使得文件結(jié)構(gòu)可以一種非常緊湊方式來定義,并且為遠(yuǎn)端存儲并只有當(dāng)需要時才由系統(tǒng)取出的內(nèi)容數(shù)據(jù)提供選項(xiàng)。
所述內(nèi)部表示14用″高級″描述來說明所述文件和它的構(gòu)成對象。
所述內(nèi)部表示數(shù)據(jù)14被輸入給一解析和呈現(xiàn)模塊18,該解析和呈現(xiàn)模塊18產(chǎn)生由內(nèi)部表示14表示的文件的上下文專用的表示(context-specific represnetation)20或″視圖″。所要求的視圖可以是整個文件的或者它的部分(子集)。所述解析模塊/呈現(xiàn)模塊18接收視圖控制輸入40,這些輸入定義將被產(chǎn)生的特定文件視圖的查看上下文和任何相關(guān)的時間參數(shù)。舉例來說,可以要求該系統(tǒng)10產(chǎn)生一個文件的一部分的圖象縮放視圖,然后全景展開或者滾動該縮放視圖,以顯示文件的鄰近部分。所述視圖控制輸入40由所述解析模塊/呈現(xiàn)模塊18解釋,以確定所述內(nèi)部表示的哪一部分被一特定的視圖需要,以及該視圖將被如何顯示、何時顯示和顯示多長時間。
所述上下文特定的表示/視圖20用基本形狀和參數(shù)表達(dá)。
該解析模塊/呈現(xiàn)模塊18還可以在產(chǎn)生源文件10的所要求視圖20時、對內(nèi)部表示的相關(guān)部分執(zhí)行另外的預(yù)處理功能。該視圖表示20被輸入給一形狀處理器模塊22,用于最終處理,以產(chǎn)生一個最終輸出24,其格式適用于驅(qū)動一個輸出設(shè)備26(或者多個輸出設(shè)備),例如顯示設(shè)備或者打印機(jī)。
該解析模塊/呈現(xiàn)模塊18的預(yù)處理功能可以包括色彩校正、分辨率調(diào)整/增強(qiáng)和防疊處理(anti-aliasing)。分辯率增強(qiáng)可以包括縮放功能,當(dāng)由目標(biāo)輸出設(shè)備顯示或者再現(xiàn)對象的內(nèi)容時,這些功能保持對象之內(nèi)容的清晰度。分辯率調(diào)整可以上下文相關(guān)的;例如在被顯示的文件視圖正在全景展開或者滾動時,特定的對象的顯示分辯率可以被減少,而當(dāng)該文件視圖是靜態(tài)的時候,分辨率增加。
在呈現(xiàn)模塊/解析模塊18和內(nèi)部表示14之間可以有一條反饋路徑42;例如,為了觸發(fā)內(nèi)部表示14的內(nèi)容的更新,比如在由該內(nèi)部表示表現(xiàn)的文件10包括多幀動畫的情況。
來自所述解析模塊/呈現(xiàn)模塊18的輸出表示20用″基本″對象來表示文件。對于每一文件對象,優(yōu)選的是,該表示20至少根據(jù)物理的、矩形的邊界框、由該邊界框界定的對象的實(shí)際形狀、對象的數(shù)據(jù)內(nèi)容和它的透明度來定義該對象。
該形狀處理器22解釋該表示20,并將它轉(zhuǎn)換為適合于目標(biāo)輸出設(shè)備26的輸出幀格式24;例如用于打印機(jī)的點(diǎn)映射,用于繪圖儀的向量指令組或者用于顯示設(shè)備的位圖。對形狀處理器22的輸出控制輸入44定義用于該形狀處理器22的必要的參數(shù),以便產(chǎn)生適用于特定輸出設(shè)備26的輸出24。
優(yōu)選的是,該形狀處理器22根據(jù)″形狀″(即對象的輪廓形狀)、″填充″(對象的數(shù)據(jù)內(nèi)容)和″阿爾法″(對象的透明度)來處理由視圖表示20定義的對象,執(zhí)行適合于所要求的視圖和輸出設(shè)備的圖象縮放和剪貼,并表示該對象以適于輸出設(shè)備(對于大多數(shù)種類的顯示設(shè)備或者打印機(jī),一般利用通過掃描轉(zhuǎn)換或類似手段的像素)。
該形狀處理器22最好包括一邊緣緩存器,它利用掃描轉(zhuǎn)換的像素定義對象的形狀,并且最好是對其輪廓形狀應(yīng)用防疊處理。優(yōu)選的是,通過在對象邊界上施加一個灰度級梯度(grey-scale ramp),可以用一種由輸出設(shè)備26的特性確定的方式(即根據(jù)所述控制輸入44)執(zhí)行防疊處理。該方法啟用存儲高效的形狀剪貼和形狀交叉處理。
可以采用查找表定義多頻聲響應(yīng)曲線,提供非線性的呈現(xiàn)控制(伽馬校正)。
由所述形狀處理器22處理的單獨(dú)對象被組合成合成的輸出幀24。最終輸出的質(zhì)量還可以由用戶通過所述輸出控制輸入44來控制。
形狀處理器22具有多級流水線結(jié)構(gòu)(pipeline architecture),該結(jié)構(gòu)適用于通過使用形狀處理器流水線的多個實(shí)例,對多個對象、或者多個文件、或者一個或多個文件的多個子集進(jìn)行并行處理。如果需要,所述流水線結(jié)構(gòu)還易于被修改,以包括另外的處理功能(例如過濾功能)。來自多個形狀處理器22的輸出可以產(chǎn)生多個輸出幀24,或者可以被合并在單個輸出幀24中。
該系統(tǒng)體系結(jié)構(gòu)本質(zhì)上是模塊化的。舉例來說,這使得當(dāng)需要時可以添加更多的文件代理模塊,以處理其他的源文件格式。所述模塊結(jié)構(gòu)還允許單個模塊(例如庫16、解析模塊/呈現(xiàn)模塊18或者形狀處理器22)被修改或者升級,而無需對其他模塊做修改。
所述系統(tǒng)體系結(jié)構(gòu)總體上還適用于完全或者部分的并行,用于通過一個或多個文件代理模塊12、12a同時處理采用一個或多個文件格式的多輸入文件10a、10b等等或者文件的子集。所述系統(tǒng)的集成的、模塊化的性質(zhì)使得當(dāng)需要時、在數(shù)據(jù)處理系統(tǒng)或設(shè)備內(nèi)可以產(chǎn)生系統(tǒng)模塊的多個實(shí)例,僅僅受可用的處理和存儲資源的限制。
由所述系統(tǒng)在總體上和形狀處理器22在細(xì)節(jié)上提供的所述靈活的并行性的潛力,使得為了可用帶寬和存儲可以優(yōu)化對于一給定設(shè)備的顯示路徑。顯示更新和動畫可以被改善、加快和需要較少的存儲。所采用的對象/參數(shù)文件模式是確定的和一致的。所述系統(tǒng)是完全可擴(kuò)展的,并且允許所述系統(tǒng)的多個實(shí)例通過多個CPU。
所述解析模塊/呈現(xiàn)模塊18和形狀處理器22響應(yīng)于視圖控制輸入40,以一種最優(yōu)化使用有效存儲和帶寬的方式動態(tài)地進(jìn)行交互。這特別適用于當(dāng)驅(qū)動一直觀顯示時的重新繪制(re-draw)功能,例如當(dāng)所述顯示正在由用戶滾動或者全景展開時。
首先,優(yōu)選的是,該系統(tǒng)實(shí)現(xiàn)一種可擴(kuò)展的延遲(deferred)重新繪制模式,因此文件視圖的顯示分辯率、或者在一視圖內(nèi)的一個或多個對象的顯示分辯率根據(jù)其中該顯示將被修改的方式動態(tài)地變化。正如前面提到的那樣,這一般可以包括在對象在屏上移動的同時以減少的分辯率顯示該對象、而靜止時以完全的分辯率顯示該對象。為此目的,所述系統(tǒng)可以采用多級顯示質(zhì)量。一般,這包括文件對象之預(yù)構(gòu)建的、低分辨率的位圖表示、和/或動態(tài)構(gòu)建并被調(diào)節(jié)的位圖,無論是否有插入。
該方法提供一個高度反應(yīng)的顯示,這能最好地使用有效存儲/帶寬。
所述呈現(xiàn)模塊/解析模塊18和形狀處理器22的交互作用最好還包括將所查看的頁面分解為若干區(qū)域。每一區(qū)域與所有包含在區(qū)域內(nèi)或者與區(qū)域重疊的對象的列表相關(guān)聯(lián)。因此,重新繪制可以根據(jù)這些區(qū)域處理,從而所述系統(tǒng)僅僅需要處理與受重新繪制影響的相關(guān)區(qū)域相關(guān)聯(lián)的對象。該方法便于并行處理,并且改善效率和減少冗余。區(qū)域的使用還有助于使用所述系統(tǒng)以便產(chǎn)生用于不同的顯示設(shè)備的不同的輸出(例如用于產(chǎn)生由一組獨(dú)立的顯示屏顯示的合成的/拼成的輸出)。
能夠處理透明的對象是該系統(tǒng)的一個重要的特點(diǎn)。然而,這要求在形狀處理器22中使用離屏緩存,以便組合最終輸出幀。一般,離屏緩存器將覆蓋比直接顯示區(qū)域更大的區(qū)域,使得在緩沖區(qū)內(nèi)允許有限度的全景展開/滾動,而當(dāng)所要求的顯示超出這些界限移動時,必須重新定中心和重新構(gòu)造整個緩存器。最好是,所述系統(tǒng)通過將該緩存器內(nèi)容定義為一組拼塊(tile)并附標(biāo)在一個有序列表中,來改善這種緩存處理的效率。當(dāng)所要求的顯示視圖在該緩沖區(qū)外移動時,那么僅僅需要丟棄那些不再需要的拼塊、構(gòu)造新的拼塊來覆蓋該顯示的新區(qū)域和更新拼塊列表。這比傳統(tǒng)的緩存處理更迅速和更有效,而且便于使用多緩存以及離屏高速緩存。它還有助于可中斷的重新繪制功能(例如以便響應(yīng)于用戶輸入而可以中斷當(dāng)前重新繪制而開始新的重新繪制)。
如上所述的分區(qū)和拼塊方案在原理上是獨(dú)立的,但是可以被方便地組合起來;即,區(qū)域可以與一個或多個拼塊相互關(guān)聯(lián)。這仍然有助于并行化以及優(yōu)化系統(tǒng)資源的使用。
該系統(tǒng)最好采用與設(shè)備無關(guān)的色彩模式,適合的有亮度/色度模式,比如CIE L*a*b*1976模式。這減少了圖形對象中的冗余,改善了數(shù)據(jù)壓縮性,并且改善了在不同的輸出設(shè)備之間色彩輸出的一致性?;趯π螤钐幚砥?2的設(shè)備相關(guān)的控制輸入44,可以采用設(shè)備相關(guān)的色彩校正。
圖2示出的系統(tǒng)具有一輸入端和一輸出端,在該輸入端接收源字節(jié)流,在該輸出端輸出來自該系統(tǒng)的最終輸出幀24。然而,很清楚的是,該系統(tǒng)可以包括在其他中間階段的中間輸入和輸出,比如為了取出數(shù)據(jù)內(nèi)容、或者為了存儲/轉(zhuǎn)換在處理的過程中產(chǎn)生的數(shù)據(jù)。
所述系統(tǒng)8可以被以許多不同的方式結(jié)合到各種數(shù)據(jù)處理系統(tǒng)和設(shè)備中,還可以被結(jié)合進(jìn)外圍設(shè)備中。
在一通用數(shù)據(jù)處理系統(tǒng)(″主機(jī)系統(tǒng)″)中,本發(fā)明的系統(tǒng)可以與所述主機(jī)系統(tǒng)的操作系統(tǒng)和應(yīng)用程序并列合并,或者可以被完全地或者部分地合并到該主機(jī)操作系統(tǒng)里。
舉例來說,本發(fā)明的系統(tǒng)允許在具有LCD顯示器的便攜式數(shù)據(jù)處理裝置上快速顯示各種類型的數(shù)據(jù)文件,而無需要求使用瀏覽器或者應(yīng)用程序。為了便攜性,這類數(shù)據(jù)處理裝置要求小型、低功率的處理器。一般,這要求使用被設(shè)計到ASIC(專用集成電路)中的高級RISC型核心處理器,以使所述電子器件封裝是盡可能小和高度集成。這類設(shè)備還具有有限的隨機(jī)存取存儲器,并且一般沒有非易失性的數(shù)據(jù)存儲器(例如硬盤)。傳統(tǒng)的操作系統(tǒng)模式,例如在標(biāo)準(zhǔn)臺式計算系統(tǒng)(PC)采用的操作系統(tǒng)模式,要求大功率的中央處理器和大量存儲空間,以便處理數(shù)字文件并產(chǎn)生有效輸出,這些模式完全不適應(yīng)于這類數(shù)據(jù)處理裝置。具體來講,常規(guī)的系統(tǒng)不提供以一集成方式對多文件格式處理。相形之下,本發(fā)明采用用于所有文件格式的公共處理與傳遞途徑,從而提供一個高度集成的文件處理系統(tǒng),該系統(tǒng)在功率消耗和系統(tǒng)資源的利用方面是非常有效的。
本發(fā)明的系統(tǒng)可以被集成在便攜式數(shù)據(jù)處理裝置的BIOS級,以便允許用比常規(guī)系統(tǒng)模式低得多的系統(tǒng)開銷進(jìn)行文件處理與輸出。另一方式是,本發(fā)明可以被實(shí)現(xiàn)在僅僅高于傳輸協(xié)議棧的最低系統(tǒng)級。舉例來說,所述系統(tǒng)可以被合并到一網(wǎng)絡(luò)設(shè)備(卡)或者系統(tǒng)中,以提供網(wǎng)絡(luò)業(yè)務(wù)的嵌入(in-line)處理(例如在TCP/IP系統(tǒng)中的分組級工作)。
在一具體設(shè)備中,本發(fā)明的系統(tǒng)被配置為用一預(yù)定組數(shù)據(jù)文件格式和特定的輸出設(shè)備運(yùn)行;例如所述設(shè)備的直觀顯示單元和/或至少一種打印機(jī)。
可采用本系統(tǒng)的便攜式數(shù)據(jù)處理裝置的例子包括″掌上型″計算機(jī)、便攜式數(shù)字助理(PDA,包括片型PDA,其中主要用戶界面包括圖形顯示,用戶直接依靠指示筆設(shè)備并利用該圖形顯示來交互)、可訪問因特網(wǎng)的移動電話及其他通訊裝置等。
所述系統(tǒng)還可以被合并到低成本數(shù)據(jù)處理終端中,例如增強(qiáng)的電話和″薄的″網(wǎng)絡(luò)客戶終端(例如具有有限局部處理和存儲資源的網(wǎng)絡(luò)終端)、以及可交互/可訪問因特網(wǎng)的有線電視系統(tǒng)使用的“機(jī)頂盒”。
當(dāng)與數(shù)據(jù)處理系統(tǒng)的操作系統(tǒng)集成時,本發(fā)明的系統(tǒng)還可以為所述操作系統(tǒng)(OS)形成一種新穎的圖形用戶接口(GUI)的基礎(chǔ)。由所述系統(tǒng)處理和顯示的文件可以包括交互特征,比如菜單、按鈕、圖標(biāo)等等,這些為操作系統(tǒng)的底層的功能提供用戶接口。經(jīng)過擴(kuò)展,可以用系統(tǒng)″文件″來表達(dá)、處理和顯示一個完全的OS/GUI。該OS/GUI可以包括具有多個″章節(jié)″的單一文件。
所述系統(tǒng)允許和/或有助于各種新穎的和/或增強(qiáng)的圖形用戶接口(GUI)特點(diǎn),包括但不限于下列 使用文件的縮略圖(thumbnail)圖像,用于導(dǎo)航和記錄用戶的活動(歷史);例如當(dāng)瀏覽網(wǎng)絡(luò)內(nèi)容時。 使用定點(diǎn)設(shè)備和/或觸摸屏技術(shù)的文件交互功能和基于手勢的命令;例如通過類似于動作的手勢,允許進(jìn)行文件交互,這些動作結(jié)合實(shí)際的文件或書使用,例如將指示器拖過頁面以便翻轉(zhuǎn)所述頁面(″翻頁″)、拖曳指示器以卷回頁面的角,以便查看隨后的頁面的下面部分(″卷頁″);通過從工具欄拖曳工具來提供工具選擇,而通過拖曳工具到該顯示的預(yù)定部分來解除選擇;符號光標(biāo)移動,以指示特定的OS命令,比如″標(biāo)以記號″、″注銷″和″循環(huán)″動作用于″確定″(OK)、″刪除″和″選擇″;基于傳統(tǒng)的″審校人″注釋的編輯命令; 通過旋轉(zhuǎn)或者在橫向和縱向格式之間的切換,重新格式化文件視圖; 實(shí)用程序和工具,比如一浮動虛擬″放大鏡″,它放大底層的文件區(qū)域,其中所放大的視窗是基于所述源文件的內(nèi)部表示14,而不是基于所述文件的位圖表示,它可以修改文件參數(shù),比如背景和/或前景色彩;一浮動虛擬的、半透明的鍵盤,用于使用定點(diǎn)設(shè)備/觸摸屏進(jìn)行文本輸入;一浮動、虛擬、半透明的標(biāo)尺,它利用各種用戶可選部件中的任意一種可重新調(diào)節(jié)。 替換的菜單或者“標(biāo)記的頁面”拖出/拉下功能。 實(shí)際慣量(inertia)/動量(momentum)的模擬,被應(yīng)用于頁面滾動/全景展開(panning)功能(例如當(dāng)拖動頁面的縮放顯示以滾動該顯示而并且被釋放時,該移動的顯示在釋放之后逐漸減速。
這類GUI特征提供新的或者增強(qiáng)的功能性和/或改善了所述用戶接口的主觀質(zhì)量。
本發(fā)明的系統(tǒng)還可以被合并到外圍設(shè)備中,例如硬備份設(shè)備(打印機(jī)和繪圖儀)、顯示設(shè)備(例如數(shù)字投影儀)、聯(lián)網(wǎng)設(shè)備、輸入裝置(攝像機(jī)、掃描儀等等)以及多功能外圍設(shè)備(MFP)。
當(dāng)結(jié)合到一個打印機(jī)中時,該系統(tǒng)允許所述打印機(jī)接收來自主機(jī)數(shù)據(jù)處理系統(tǒng)的原始數(shù)據(jù)文件,并且準(zhǔn)確地再現(xiàn)該原始數(shù)據(jù)文件的內(nèi)容,而無需由所述主機(jī)系統(tǒng)提供特定的應(yīng)用程序或者驅(qū)動程序。這避免了為了驅(qū)動一特定類型的打印機(jī)而配置計算機(jī)系統(tǒng)。本系統(tǒng)直接地產(chǎn)生源文件的點(diǎn)映射圖像,適用于由打印機(jī)輸出(無論本系統(tǒng)是否被合并到打印機(jī)本身還是合并到主機(jī)系統(tǒng)中都可以)。類似的設(shè)想適用于其他硬備份設(shè)備,例如繪圖儀。
當(dāng)被合并到一顯示設(shè)備例如一投影儀中時,本系統(tǒng)也允許該設(shè)備準(zhǔn)確地顯示原始數(shù)據(jù)文件的內(nèi)容,而無需使用主機(jī)系統(tǒng)上的應(yīng)用程序或者驅(qū)動程序,也無需主機(jī)系統(tǒng)和/或顯示設(shè)備的特定配置。當(dāng)這些類型的外圍設(shè)備配備有本系統(tǒng)時,可以通過任何類型的數(shù)據(jù)通信網(wǎng)絡(luò),接收與輸出來自任何源的數(shù)據(jù)文件。
根據(jù)以上所述,應(yīng)該理解的是,本發(fā)明的系統(tǒng)可以是“硬布線的”;例如被實(shí)現(xiàn)在ROM中、和/或集成到專用集成電路ASIC或者其他單片系統(tǒng)里,或者可以被實(shí)現(xiàn)為固件(可編程只讀存儲器,例如可擦寫可編程只讀存儲器),或者被實(shí)現(xiàn)為軟件,被本地或者遠(yuǎn)端存貯而在一特定設(shè)備要求時被取出和執(zhí)行。
不會脫離本發(fā)明的范圍,可以結(jié)合改進(jìn)和修改。
權(quán)利要求
1.一種數(shù)字文件處理系統(tǒng),包括接收裝置,用于接收輸入字節(jié)流,所述輸入字節(jié)流以若干預(yù)定數(shù)據(jù)格式之一表示源數(shù)據(jù);解釋裝置,用于解釋所述字節(jié)流;轉(zhuǎn)換裝置,用于將根據(jù)所述字節(jié)流解釋的內(nèi)容轉(zhuǎn)換為內(nèi)部表示數(shù)據(jù)格式;處理裝置,用于處理所述內(nèi)部表示數(shù)據(jù),以便產(chǎn)生適于驅(qū)動輸出設(shè)備的輸出表示。
2.一種數(shù)字文件處理系統(tǒng),包括一個自適應(yīng)前端,用于接收輸入流,該輸入流以若干預(yù)定數(shù)據(jù)格式之一表示源數(shù)據(jù)、并且包含表示直觀圖像的信息;一解釋模塊,用于解釋所述輸入流,以產(chǎn)生所述直觀圖像的內(nèi)部表示;以及一呈現(xiàn)引擎,用于處理所述內(nèi)部表示,并且產(chǎn)生適用于驅(qū)動輸出設(shè)備以呈現(xiàn)所述直觀圖像的輸出數(shù)據(jù)流。
3.如權(quán)利要求2所述的系統(tǒng),其中,所述自適應(yīng)前端包括一個處理過程,用于監(jiān)測數(shù)據(jù)流并且識別任何屬于由HTML、XML、PDF、DOC、RM、VRML和SGML組成的組中的格式的文件。
4.如權(quán)利要求1至3中任何一個所述的系統(tǒng),其中,所述源數(shù)據(jù)定義數(shù)字文件的內(nèi)容和結(jié)構(gòu),其中所述內(nèi)部表示數(shù)據(jù)用定義若干數(shù)據(jù)類型的類屬對象和定義類屬對象的特定實(shí)例的性質(zhì)的參數(shù)來描述所述結(jié)構(gòu),并獨(dú)立于所述內(nèi)容。
5.如權(quán)利要求4所述的系統(tǒng),進(jìn)一步包括一個類屬對象類型庫,所述內(nèi)部表示數(shù)據(jù)基于所述庫的內(nèi)容。
6.如權(quán)利要求4或者5所述的系統(tǒng),包括一個解析和呈現(xiàn)模塊,適用于根據(jù)所述解析和呈現(xiàn)模塊的第一控制輸入,產(chǎn)生至少一部分所述內(nèi)部表示數(shù)據(jù)的特定視圖的、基于對象和參數(shù)的表示。
7.如權(quán)利要求6中所述的系統(tǒng),進(jìn)一步包括形狀處理模塊,用于接收來自所述解析和呈現(xiàn)模塊的、所述特定視圖的基于所述對象和參數(shù)的表示,并用于將所述基于所述對象和參數(shù)的表示轉(zhuǎn)換為適用于驅(qū)動特定的輸出設(shè)備的輸出數(shù)據(jù)格式。
8.如權(quán)利要求7所述的系統(tǒng),其中,所述形狀處理模塊根據(jù)定義對象之邊界的邊界框、定義由該邊界框界定的所述對象之實(shí)際形狀的形狀、所述對象的所述數(shù)據(jù)內(nèi)容和所述對象的透明度來處理所述對象。
9.如權(quán)利要求8所述的系統(tǒng),其中,所述形狀處理器適用于對所述對象的邊緣采用灰度級防疊處理。
10.如權(quán)利要求7、8或者9所述的系統(tǒng),其中,所述形狀處理模塊具有流水線結(jié)構(gòu)。
11.如權(quán)利要求7至10中任何一個所述的系統(tǒng),其中,所述形狀處理器至少采用一個離屏顯示緩存器來產(chǎn)生所述輸出數(shù)據(jù),并且其中所述至少一個離屏顯示緩存器是通過一組附標(biāo)的拼塊定義的。
12.如權(quán)利要求11中所定義的系統(tǒng),其中,所述至少一個離屏顯示緩存器的內(nèi)容的更新是通過從所述組中除去選定拼塊、向所述組增加新的拼塊、并且更新所述拼塊的附標(biāo)來執(zhí)行的。
13.如權(quán)利要求7至12中任何一個所述的系統(tǒng),其中,所述解析和呈現(xiàn)模塊適用于用若干區(qū)域定義所述內(nèi)部表示數(shù)據(jù)的至少一部分,每一區(qū)域具有一個相關(guān)聯(lián)的對象列表,該對象列表包含在所述區(qū)域內(nèi)以及與所述區(qū)域重疊,而所述形狀處理器適用于在所述區(qū)域和相關(guān)聯(lián)的列表的基礎(chǔ)上處理所述基于對象和參數(shù)的表示。
14.如權(quán)利要求7至13中任何一個所述的系統(tǒng),其中,由所述輸出數(shù)據(jù)表示的顯示視窗的質(zhì)量可以依據(jù)所述第一控制輸入而被改變。
15.如權(quán)利要求14所述的系統(tǒng),其中,所述顯示視窗的質(zhì)量可以在多個步驟中被改變。
16.如權(quán)利要求4至14中任何一個所述的系統(tǒng),其中,所述對象參數(shù)包括空間的、物理的以及時間的參數(shù)。
17.如前面的任一權(quán)利要求所述的系統(tǒng),其中,所述系統(tǒng)采用基于色度/亮度的色彩模式,以描述色彩數(shù)據(jù)。
18.如前面的任一權(quán)利要求所述的系統(tǒng),其中,所述系統(tǒng)適合于完全或者部分地多重并行實(shí)施,用于處理來自一個或多個數(shù)據(jù)源的一組或多組源數(shù)據(jù)、以及產(chǎn)生一組或多組輸出表示數(shù)據(jù)。
19.一種用于數(shù)據(jù)處理系統(tǒng)的圖形用戶接口,其中,由所述用戶接口采用的交互直觀顯示是通過一個如權(quán)利要求1至18中任一項(xiàng)所述的數(shù)字文件處理系統(tǒng)產(chǎn)生的。
20.一種數(shù)據(jù)處理裝置,包含有如權(quán)利要求19所述的圖形用戶接口。
21.一種硬件設(shè)備,用于對如權(quán)利要求1至18中任一項(xiàng)所述的數(shù)字文件處理系統(tǒng)進(jìn)行數(shù)據(jù)處理和/或存儲編碼。
22.如權(quán)利要求21所述的硬件設(shè)備,進(jìn)一步包括一核心處理器系統(tǒng)。
23.如權(quán)利要求22所述的硬件設(shè)備,其中,所述核心處理器是RISC處理器。
24.一種數(shù)據(jù)處理系統(tǒng),包括如權(quán)利要求1至18中任一項(xiàng)所述的數(shù)字文件處理系統(tǒng)。
25.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),其中,所述數(shù)據(jù)處理系統(tǒng)包括便攜式數(shù)據(jù)處理裝置。
26.如權(quán)利要求25所述的數(shù)據(jù)處理系統(tǒng),其中,所述便攜式數(shù)據(jù)處理裝置包括無線遠(yuǎn)程通信裝置。
27.如權(quán)利要求24所述的數(shù)據(jù)處理系統(tǒng),其中,所述數(shù)據(jù)處理系統(tǒng)包括網(wǎng)絡(luò)用戶終端。
28.一種與數(shù)據(jù)處理系統(tǒng)結(jié)合使用的外圍設(shè)備,包括如權(quán)利要求1至18中任何一個所述的數(shù)字文件處理系統(tǒng)。
29.如權(quán)利要求28所述的外圍設(shè)備,其中,所述外圍設(shè)備是直觀顯示設(shè)備。
30.如權(quán)利要求28所述的外圍設(shè)備,其中,所述外圍設(shè)備是硬拷貝輸出設(shè)備。
31.如權(quán)利要求28所述的外圍設(shè)備,其中,所述外圍設(shè)備是輸入設(shè)備。
32.如權(quán)利要求28所述的外圍設(shè)備,其中,所述外圍設(shè)備是網(wǎng)絡(luò)設(shè)備。
33.如權(quán)利要求28所述的外圍設(shè)備,其中,所述外圍設(shè)備是多功能外圍設(shè)備。
34.一種用于數(shù)據(jù)處理系統(tǒng)的圖形用戶接口,包括至少下列特征之一-使用文件的縮略像,用于導(dǎo)航和記錄用戶活動;-文件交互功能和基于手勢的命令,使用定點(diǎn)設(shè)備和/或觸摸屏幕技術(shù),包括通過類似于動作的手勢進(jìn)行的文件交互,這些動作結(jié)合實(shí)際的文件或書使用;-工具選擇,通過從工具欄拖曳工具來進(jìn)行,并通過拖曳工具到顯示器的預(yù)定部分來解除選擇;-符號光標(biāo)移動,以指示命令;-通過旋轉(zhuǎn)或者進(jìn)行橫向和縱向格式之間的切換,對文件視圖重新格式化;-替換的菜單或者“標(biāo)記的頁面”拖出/拉下功能;-仿真實(shí)際慣量/動量,用于頁面滾動/全景展開功能。
35.一種用于數(shù)據(jù)處理系統(tǒng)的圖形用戶接口,包括至少下列實(shí)用程序/工具之一-一浮動虛擬放大鏡,適合于放大底層的文件區(qū)域,其中所放大的視圖基于源文件數(shù)據(jù);-一浮動虛擬的、半透明的鍵盤,用于使用一定點(diǎn)設(shè)備/觸摸屏進(jìn)行文本輸入;-一浮動、虛擬、半透明的標(biāo)尺,它利用各種用戶可選部件中的任意一種可重新調(diào)節(jié)。
36.一種數(shù)據(jù)處理系統(tǒng),包含有如權(quán)利要求34或者35所述的圖形用戶接口。
全文摘要
一種數(shù)字文件處理系統(tǒng),接收以若干預(yù)定數(shù)據(jù)格式之一表示源數(shù)據(jù)的輸入字節(jié)流,解釋所述字節(jié)流,將根據(jù)所述字節(jié)流解釋的內(nèi)容轉(zhuǎn)換為內(nèi)部表示數(shù)據(jù)格式,及處理所述內(nèi)部表示數(shù)據(jù),以便產(chǎn)生適合于驅(qū)動輸出設(shè)備(諸如直觀顯示器或者打印機(jī))的輸出表示數(shù)據(jù)。所述系統(tǒng)具有一個自適應(yīng)的前端,用于接收所述輸入流以便產(chǎn)生所述直觀圖像的內(nèi)部表示,還具有一個呈現(xiàn)引擎,用于處理所述內(nèi)部表示并用于產(chǎn)生適用于驅(qū)動所述輸出設(shè)備的輸出數(shù)據(jù)流。
文檔編號G06T15/00GK1423771SQ0180800
公開日2003年6月11日 申請日期2001年4月17日 優(yōu)先權(quán)日2000年4月14日
發(fā)明者馬希德·安瓦爾 申請人:皮克塞(研究)有限公司