專利名稱::用于數(shù)字文件處理的系統(tǒng)和方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)處理系統(tǒng),更具體來講,涉及用于處理數(shù)字文件以產(chǎn)生源文件的輸出表示、作為直觀顯示、硬備份或以其它顯示格式表現(xiàn)的方法和系統(tǒng)。
背景技術(shù):
:本文所用的術(shù)語″數(shù)字文件″用來描述由數(shù)據(jù)處理系統(tǒng)處理的任一類型數(shù)據(jù)的數(shù)字表示,它最終以某種形式完全或部分地輸出給人類用戶,一般是通過被顯示或直觀再現(xiàn)(例如,借助于直觀顯示單元或打印機(jī)),或者是通過文本-語音轉(zhuǎn)換等等。數(shù)字文件可以包括任何能夠表示的特征,包括但不僅限于文本;圖形圖像;動(dòng)畫圖形圖像;全動(dòng)視頻圖像;交互圖標(biāo)、按鈕、菜單或超鏈接。數(shù)字文件還可以包括非直觀單元,例如音頻(聲音)單元。數(shù)據(jù)處理系統(tǒng),例如個(gè)人計(jì)算機(jī)系統(tǒng),一般要求處理“數(shù)字文件”,這些文件可能來源于許多本地或遠(yuǎn)端源中的任何一個(gè),并且可能以多種數(shù)據(jù)格式(“文件格式”)中的任何一種存在。為了產(chǎn)生該文件的一輸出版本,例如無論作為一直觀顯示或打印副本,都需要該計(jì)算機(jī)系統(tǒng)解釋該原始數(shù)據(jù)文件并產(chǎn)生與相關(guān)的輸出裝置(例如監(jiān)視器或其他直觀顯示設(shè)備或打印機(jī))兼容的輸出。通常,該處理涉及用于解釋數(shù)據(jù)文件的應(yīng)用程序、計(jì)算機(jī)的操作系統(tǒng)、專用于該期望輸出設(shè)備的軟件“驅(qū)動(dòng)器”以及在某些情況下(特別是對(duì)于監(jiān)視器或其他直觀顯示裝置)作為擴(kuò)展卡形式的輔助硬件。用于處理數(shù)字文件以產(chǎn)生輸出的傳統(tǒng)方法,就硬件資源、軟件開銷以及處理時(shí)間而言效率很低,而且完全不適用于包括無線遠(yuǎn)程通信系統(tǒng)在內(nèi)的低功率、便攜式數(shù)據(jù)處理系統(tǒng),也不適用于低成本數(shù)據(jù)處理系統(tǒng),例如網(wǎng)路終端等等。在傳統(tǒng)的數(shù)字文件處理系統(tǒng)中還會(huì)遇到其他問題,包括需要配置多個(gè)系統(tǒng)組件(包括硬件和軟件組件)以便以期望的方式進(jìn)行交互,以及在通過不同系統(tǒng)(例如在格式化、色彩再現(xiàn)等等方面不同)對(duì)同一原始資料的處理中的不一致性。此外,用于數(shù)字文件處理的傳統(tǒng)方法不能利用文件格式組件的通用性和/或再可用性。發(fā)明概述本發(fā)明的目的是提供數(shù)字文件處理方法和系統(tǒng),以及結(jié)合該方法和系統(tǒng)的設(shè)備,它們消除或減輕了上述的傳統(tǒng)方法和系統(tǒng)的缺陷。此處所述的系統(tǒng)和方法提供一種顯示技術(shù),將一應(yīng)用程序的底層的功能性與圖形顯示處理分離,從而消除或減少了應(yīng)用程序?qū)刂圃O(shè)備顯示以及為顯示提供圖形用戶界面工具與控制的需要。此外,這樣的系統(tǒng)減少或消除了在處理系統(tǒng)上、當(dāng)顯示由應(yīng)用程序創(chuàng)建或?yàn)閼?yīng)用程序創(chuàng)建的數(shù)據(jù)(例如文件或視頻信息流)時(shí)、對(duì)該應(yīng)用程序的需要。因而可以理解的是,在一方面中,此處所述的系統(tǒng)和方法可以顯示內(nèi)容,包括文件、視頻信息流或其他的內(nèi)容,并且將為查看所顯示文件提供圖形用戶功能,例如圖象縮放、全景展開或其他此類功能,而無需在顯示該內(nèi)容的系統(tǒng)上存在其底層的應(yīng)用程序。此處所述的系統(tǒng)和方法優(yōu)越于現(xiàn)有技術(shù)的有益效果包括允許在同樣的工作空間內(nèi)、在同一顯示器上、顯示來自不同的應(yīng)用程序的不同類型的內(nèi)容。很多的有益效果對(duì)于本領(lǐng)域中普通技術(shù)人員是顯而易見的,而且本領(lǐng)域中普通技術(shù)人員還能夠領(lǐng)會(huì)使用本發(fā)明的底層技術(shù)的很多方式,用以創(chuàng)建另外的系統(tǒng)、設(shè)備和應(yīng)用程序。這些修改的系統(tǒng)和替代的系統(tǒng)與實(shí)際應(yīng)用應(yīng)該被理解為在本發(fā)明的范圍之內(nèi)。更具體來講,此處所述的系統(tǒng)和方法包括一數(shù)字內(nèi)容處理系統(tǒng),它包括一個(gè)應(yīng)用程序調(diào)度模塊(dispatcher),用于接收以若干預(yù)先確定的數(shù)據(jù)格式之一表示源數(shù)據(jù)的輸入字節(jié)流,并用于將該輸入字節(jié)流與該預(yù)先確定數(shù)據(jù)格式之一相關(guān)聯(lián)。該系統(tǒng)還可以包括一文件代理模塊(agent),用于將該輸入字節(jié)流解釋為該相關(guān)聯(lián)的預(yù)先確定數(shù)據(jù)格式的函數(shù),并用于將該輸入字節(jié)流解析為文件對(duì)象流,該文件對(duì)象流提供在該輸入字節(jié)流內(nèi)的基本結(jié)構(gòu)的內(nèi)部表示。該系統(tǒng)還包括一個(gè)核心文件引擎,用于這些該文件對(duì)象轉(zhuǎn)換為一個(gè)內(nèi)部表示數(shù)據(jù)格式,并用于將該內(nèi)部表示映射到顯示器上的一個(gè)位置。該系統(tǒng)內(nèi)的一個(gè)形狀處理器處理該內(nèi)部表示數(shù)據(jù),以便驅(qū)動(dòng)一輸出裝置以通過該內(nèi)部表示表達(dá)的方式呈現(xiàn)該內(nèi)容。現(xiàn)在將參照附圖描述本發(fā)明的實(shí)施例,并僅僅作為示例。附圖的簡(jiǎn)短說明根據(jù)下面參照附圖的進(jìn)一步說明,本發(fā)明的上述及其他目的和有益效果將更清楚,其中圖1是示出根據(jù)本發(fā)明的數(shù)字文件處理系統(tǒng)的一個(gè)實(shí)施例的方框圖。圖2的方框圖以更多細(xì)節(jié)呈現(xiàn)圖1中描述的系統(tǒng);圖3是一個(gè)文件代理模塊的流程圖;圖4示意地描述了可以被圖1中的系統(tǒng)處理的類型的示范性文件;圖5描述了被用來減少文件的內(nèi)部表示中的冗余的兩個(gè)示范性處理的流程圖;而圖6-8描述了用于存儲(chǔ)一處理后的源文件的內(nèi)部表示的示范性數(shù)據(jù)結(jié)構(gòu)。圖示實(shí)施例的詳細(xì)說明此處所述的系統(tǒng)和方法包括計(jì)算機(jī)程序,這些計(jì)算機(jī)程序運(yùn)行以便處理輸出流或輸出文件,其中的輸出流或輸出文件是通過應(yīng)用程序?yàn)榱嗽谳敵鲅b置(例如視頻顯示器)上提供該輸出而產(chǎn)生的。根據(jù)本發(fā)明的應(yīng)用程序可以處理這些流以便創(chuàng)建該輸出的內(nèi)部表示,并且可以進(jìn)一步處理該內(nèi)部表示,以便產(chǎn)生新的輸出流,該新的輸出流可以作為本發(fā)明的應(yīng)用程序產(chǎn)生的輸出被顯示在輸出裝置上。因此,本發(fā)明的系統(tǒng)將應(yīng)用程序與顯示處理分離,從而使得該應(yīng)用程序不用必須在一特定的顯示設(shè)備上顯示其輸出,并進(jìn)一步消除了當(dāng)為了顯示該該應(yīng)用程序的輸出而處理該輸出時(shí)、提供該應(yīng)用程序的需要。為了圖示這種操作,圖1提供了一系統(tǒng)10的高層功能方框圖,該系統(tǒng)允許若干應(yīng)用程序(集中以單元13一起示出)將他們的輸出流傳送到一計(jì)算機(jī)處理過程8,該計(jì)算機(jī)處理過程8處理那些輸出流,并產(chǎn)生由那些流創(chuàng)建的集合輸出的表示,以用于顯示在設(shè)備26上。該應(yīng)用程序13的集合輸出在圖1中通過輸出打印機(jī)設(shè)備26來說明,該輸出打印機(jī)設(shè)備26呈現(xiàn)由不同應(yīng)用程序13產(chǎn)生的輸出內(nèi)容。本領(lǐng)域中普通技術(shù)人員可以理解,該輸出裝置26呈現(xiàn)由計(jì)算機(jī)處理過程8產(chǎn)生的輸出,而這些輸出集中傳送多個(gè)應(yīng)用程序13的內(nèi)容。在由圖1提供的圖示中,所呈現(xiàn)的內(nèi)容包括若干圖像,并且該輸出設(shè)備26是一個(gè)顯示器。然而對(duì)于本領(lǐng)域中普通技術(shù)人員顯而易見的是,在其他實(shí)際應(yīng)用中,該內(nèi)容可以用除圖像以外的格式傳送,例如聽覺的、觸覺的或適合于將信息傳達(dá)給用戶的任何其他格式或格式的組合。此外,本領(lǐng)域中普通技術(shù)人員可以理解的是,輸出設(shè)備26的類型將根據(jù)該應(yīng)用程序而變化,并且可以包括用于呈現(xiàn)音頻內(nèi)容、視頻內(nèi)容、打印內(nèi)容、繪制內(nèi)容或任何其他類型內(nèi)容的設(shè)備。為了說明起見,此處所述的系統(tǒng)和方法將主要被示為通過顯示設(shè)備顯示圖形內(nèi)容,然而可以理解的是,這些示范性的系統(tǒng)僅僅是為了說明起見,而無論如何不能被理解為限制性的說明。因此,由該應(yīng)用程序13產(chǎn)生的輸出由計(jì)算機(jī)處理過程8處理和集合,以便創(chuàng)建一個(gè)單一顯示,其中包括由單獨(dú)的應(yīng)用程序13產(chǎn)生的全部?jī)?nèi)容。在所述實(shí)施例中,顯示器26上顯現(xiàn)的每一表示輸出為一文件,并且每一所述文件可以與應(yīng)用程序13之一相關(guān)聯(lián)。應(yīng)該理解的是,這里所用的術(shù)語文件將包含文件、流式視頻、流式音頻、網(wǎng)頁以及任何其他可以由計(jì)算機(jī)處理過程8處理和顯示的數(shù)據(jù)形式。計(jì)算機(jī)處理過程8產(chǎn)生一個(gè)單一的輸出顯示,包括在其中顯示有應(yīng)用程序13產(chǎn)生的一個(gè)或多個(gè)文件。所顯示的文件的集合表示由該應(yīng)用程序13產(chǎn)生的內(nèi)容,而這一內(nèi)容被顯示在由計(jì)算機(jī)處理過程8產(chǎn)生的程序窗口內(nèi)。用于計(jì)算機(jī)處理過程8的程序窗口還可以包括一組圖標(biāo),表示配置有圖形用戶接口的工具,并能夠使得用戶能夠在顯示的情況中、控制在程序窗口中出現(xiàn)的文件的操作。與此相反,傳統(tǒng)方法讓每個(gè)應(yīng)用程序形成其自己的顯示,這將導(dǎo)致在顯示設(shè)備26上形成包括若干程序窗口的表示,一般每個(gè)應(yīng)用程序13對(duì)應(yīng)一個(gè)窗口。此外,每個(gè)不同類型的程序窗口將包括一組不同的工具,用于對(duì)顯示在窗口中的內(nèi)容進(jìn)行操作。因此,本發(fā)明的系統(tǒng)10具有這樣的優(yōu)點(diǎn)提供一個(gè)一致用戶界面,并且僅僅要求了解一組用于顯示和控制不同文件的工具。此外,該計(jì)算機(jī)處理過程8對(duì)應(yīng)用程序13的輸出進(jìn)行操作,從而僅僅要求該輸出來創(chuàng)建出現(xiàn)在程序窗口內(nèi)的文件。因此,沒有必要讓該應(yīng)用程序13駐留在與處理過程8相同的機(jī)器上,也不需要應(yīng)用程序13與計(jì)算機(jī)處理過程8協(xié)同操作。該計(jì)算機(jī)處理過程8僅僅需要這些應(yīng)用程序13的輸出,而這個(gè)輸出可以源自于由該應(yīng)用程序13在早些時(shí)侯創(chuàng)建的已存儲(chǔ)數(shù)據(jù)文件。然而,此處所述的系統(tǒng)和方法,可以作為系統(tǒng)的一部分使用,其中一應(yīng)用程序能夠呈現(xiàn)其自己的內(nèi)容、控制至少顯示器26的一部分并在一個(gè)與所述應(yīng)用程序相關(guān)聯(lián)的程序窗口內(nèi)呈現(xiàn)內(nèi)容。在這些實(shí)施例中,本發(fā)明的系統(tǒng)和方法可以作為單獨(dú)應(yīng)用程序來工作,這些單獨(dú)應(yīng)用程序出現(xiàn)在顯示器上并在為其使用而設(shè)的顯示器的一部分內(nèi)。更具體來講,圖1描述了若干應(yīng)用程序13。這些應(yīng)用程序可以包括文字處理程序,例如Word、WordPerfect或其他任何類似的文字處理程序。它還可以進(jìn)一步包括這樣的程序產(chǎn)生HTML文件的NetscapeComposer、處理PDF文件的AdobeAcrobat,傳送XML或HTML的網(wǎng)絡(luò)服務(wù)器、產(chǎn)生音頻-視頻數(shù)據(jù)流的流式服務(wù)器、電子郵件客戶機(jī)或服務(wù)器、數(shù)據(jù)庫、電子制表軟件或以一文件、數(shù)據(jù)流或者任何其他種類的應(yīng)用程序,而該其他種類的應(yīng)用程序傳送輸出作為文件、數(shù)據(jù)流或以某些適合于由計(jì)算機(jī)處理過程使用的其它格式。在圖1的實(shí)施例中,每一應(yīng)用程序13將其輸出內(nèi)容提交給計(jì)算機(jī)處理過程8。操作中,這個(gè)過程可以通過讓應(yīng)用程序處理過程13將其輸出流作為輸入字節(jié)流引導(dǎo)給計(jì)算機(jī)處理過程8來實(shí)現(xiàn)。數(shù)據(jù)流的使用對(duì)于本領(lǐng)域中普通技術(shù)人員是公知的,并在文獻(xiàn)中已經(jīng)說明了,例如包括StephenG.Kochan撰寫的“ProgramminginC”,HaydenPublishing(1983)??蛇x擇的是,應(yīng)用程序13可以創(chuàng)建諸如Word文件的數(shù)據(jù)文件,該文件可以通過單獨(dú)的應(yīng)用程序或者通過計(jì)算機(jī)處理過程8以流方式進(jìn)入計(jì)算機(jī)處理過程8。所述計(jì)算機(jī)處理過程8能夠處理各種輸入流,以創(chuàng)建在顯示設(shè)備26上顯示的集合顯示。為此,并將在以下更詳細(xì)說明,計(jì)算機(jī)處理過程8處理這些輸入流,以產(chǎn)生每一輸入流的內(nèi)部表示。在實(shí)際應(yīng)用中,該內(nèi)部表示被指定為看起來盡可能接近相應(yīng)的應(yīng)用程序13的輸出流。然而在其他的實(shí)施例中,該內(nèi)部表示可被創(chuàng)建為對(duì)于由相應(yīng)的應(yīng)用程序13產(chǎn)生的輸出流具有經(jīng)過挑選的、簡(jiǎn)化的或局部的相似性。另外并且可選的是,此處所述的系統(tǒng)和方法還可對(duì)所述被解釋內(nèi)容采用過濾器,從而允許從所顯示的內(nèi)容中除去所述內(nèi)容的某些部分,或者相反來呈現(xiàn)所述內(nèi)容的某些部分。進(jìn)一步來講,此處所述的系統(tǒng)和方法可以允許源文件結(jié)構(gòu)的變更、允許在一文件內(nèi)復(fù)原內(nèi)容、重排所述文件的結(jié)構(gòu)或僅僅選擇某些類型的數(shù)據(jù)。同樣,在一可選實(shí)施例中,可以在解釋處理期間添加內(nèi)容,包括鏈接到網(wǎng)絡(luò)站點(diǎn)的有效內(nèi)容。不論是哪種情況,由該計(jì)算機(jī)處理過程8創(chuàng)建的內(nèi)部表示都可以由計(jì)算機(jī)處理過程8進(jìn)一步處理,以驅(qū)動(dòng)所述顯示設(shè)備26創(chuàng)建圖1中表示的集合圖像?,F(xiàn)在來看圖2,圖2呈現(xiàn)了圖1中的所述系統(tǒng)的一個(gè)更詳細(xì)的表示。具體來講,圖2描述了包括所述計(jì)算機(jī)處理過程8、所述源文件11、和一顯示設(shè)備26的系統(tǒng)10。所述計(jì)算機(jī)處理過程8包括若干文件代理模塊12、一內(nèi)部表示格式文件和處理過程14、緩沖存儲(chǔ)器15、類屬對(duì)象庫16、核心文件引擎(在該實(shí)施例中包括解析模塊18和呈現(xiàn)(rendering)模塊19)、一內(nèi)視圖20、一形狀處理器22和一終端輸出24。圖2進(jìn)一步描述了一可選的輸入設(shè)備30,用于將用戶輸入40傳輸給計(jì)算機(jī)處理過程8。所述實(shí)施例包括一個(gè)處理過程8,其中包括一形狀處理器22。然而,對(duì)于本領(lǐng)域中普通技術(shù)人員顯而易見的是,所述處理過程8僅僅是示范性的,所述處理過程8可以通過替代的處理和體系結(jié)構(gòu)來實(shí)現(xiàn)。例如,所述形狀處理器22可以選擇性地被實(shí)現(xiàn)為硬件部件,例如一半導(dǎo)體器件,它支持所述處理過程8的其他組件的操作。此外,很清楚的是,盡管圖2以包括單個(gè)系統(tǒng)的功能方框圖呈現(xiàn)處理過程8,處理過程8也可能是分布在許多不同的平臺(tái)上,還可能是所述組件在不同的時(shí)間運(yùn)行,而來自處理過程8的一個(gè)組件的輸出隨后才被作為輸入傳送給處理過程8的下一組件。如上所述,每個(gè)源文件11與文件代理模塊12相關(guān)聯(lián),它能夠?qū)⑤斎氲奈募g成所述源文件11的內(nèi)容的內(nèi)部表示。為了確定適當(dāng)?shù)奈募砟K12來處理源文件11,圖1中的所述系統(tǒng)10包括一應(yīng)用程序調(diào)度模塊(沒有示出),它控制應(yīng)用程序和所述系統(tǒng)10之間的接口。在一實(shí)際應(yīng)用中,外部應(yīng)用編程接口(API)的使用是通過所述應(yīng)用程序調(diào)度模塊解決的,它傳遞數(shù)據(jù)、調(diào)用適當(dāng)?shù)奈募砟K12、或者相反實(shí)現(xiàn)由應(yīng)用程序提出的請(qǐng)求。為了給一特定的源文件11選擇適當(dāng)?shù)奈募砟K12,所述應(yīng)用程序調(diào)度模塊將所述源文件11通知給所有加載的文件代理模塊12。然后這些文件代理模塊12以與它們的特定適配性相關(guān)的信息為響應(yīng),以便翻譯所公布的源文件11的內(nèi)容。一旦所述文件代理模塊12已經(jīng)作出響應(yīng),所述應(yīng)用程序調(diào)度模塊選擇一個(gè)文件代理模塊12,并將一個(gè)指針(例如所述源文件的一個(gè)URI(通用資源識(shí)別碼))傳遞給所選定的文件代理模塊12。在一實(shí)際應(yīng)用中,所述計(jì)算機(jī)處理過程8可以作為一項(xiàng)業(yè)務(wù)運(yùn)行,經(jīng)由該業(yè)務(wù)可以創(chuàng)建若干進(jìn)程活動(dòng),借以支持多個(gè)文件源11的多重處理。在其他實(shí)施例中,所述處理過程8并不支持多進(jìn)程活動(dòng),而是在當(dāng)前進(jìn)程活動(dòng)中將調(diào)用由所述應(yīng)用程序調(diào)度模塊所選定的文件代理模塊12。很清楚的是,圖2中的該示范性的實(shí)施例提供了用于處理不同文件格式的輸入數(shù)據(jù)流的一個(gè)靈活和可擴(kuò)展的前端。例如可選的是,如果該應(yīng)用程序調(diào)度模塊確定該系統(tǒng)缺少一個(gè)適用于翻譯該源文件11的文件代理模塊12,該應(yīng)用程序調(diào)度模塊可以發(fā)信號(hào)給相應(yīng)的應(yīng)用程序13,指出該源文件的格式未被識(shí)別??蛇x的是,該應(yīng)用程序13可以選擇允許源文件11的重新格式化,例如通過將由該應(yīng)用程序13產(chǎn)生的源文件11從它的現(xiàn)在的格式轉(zhuǎn)換為另一個(gè)由所述應(yīng)用程序13支持的格式。例如一個(gè)應(yīng)用程序13可以確定該源文件11需要以一個(gè)不同的格式(例如該文件格式的一個(gè)早期版本)存儲(chǔ)。結(jié)果,應(yīng)用程序13支持所述格式,該應(yīng)用程序13可以用這些支持的格式重新存儲(chǔ)該源文件11,以便由該系統(tǒng)10提供的一個(gè)文件代理模塊12能夠翻譯該源文件11??蛇x的是,該應(yīng)用程序調(diào)度模塊一旦檢測(cè)到所述系統(tǒng)10缺少一適當(dāng)?shù)奈募砟K12,就可以向用戶指示可能需要一新的特定類型的文件代理模塊用于翻譯當(dāng)前源文件11。為此,該計(jì)算機(jī)處理過程8可以指示該用戶需要將一個(gè)新的文件代理模塊載入該系統(tǒng)10,并且可能將該用戶指引到一個(gè)可以從中下載該新的文件代理模塊12的位置,例如一個(gè)網(wǎng)絡(luò)站點(diǎn)??蛇x的是,該系統(tǒng)可以自動(dòng)地取出該代理程序而無需詢問該用戶,或者可以識(shí)別一個(gè)類屬代理程序12,例如一個(gè)可以抽取源文件表示文本的部分的類屬文本代理程序。進(jìn)一步來講,還可以提供代理程序,來提示用戶在翻譯處理期間的輸入和指令。在一個(gè)更進(jìn)一步的可選實(shí)施例中,一個(gè)應(yīng)用程序調(diào)度模塊和該文件代理模塊12結(jié)合在一起作為一個(gè)輸入模塊工作,用于根據(jù)各種標(biāo)準(zhǔn)中的任何一個(gè)來識(shí)別源文件11的文件格式,例如該文件內(nèi)部的一個(gè)明確的文件類型標(biāo)識(shí)符,根據(jù)文件名,包括文件名擴(kuò)展部分,或者根據(jù)已知的特定文件類型的內(nèi)容特征。該字節(jié)流被輸入給該文件代理模塊12,指定為該源文件11的文件格式。盡管以上的說明已經(jīng)論述了由一個(gè)流或者計(jì)算機(jī)文件提供輸入數(shù)據(jù),但應(yīng)該能被本領(lǐng)域中普通技術(shù)人員理解的是,該系統(tǒng)10還可以被施加從一輸入設(shè)備(諸如數(shù)字式攝象機(jī)或者掃描儀)接收的輸入,以及從可以直接地將它的輸出流給該處理過程8或者通過一個(gè)操作系統(tǒng)將它的輸出流給該處理過程8的應(yīng)用程序接收的輸入。在該情況下,輸入字節(jié)流可以直接來源于該輸入設(shè)備而不是來源于一個(gè)源文件11。然而,該輸入字節(jié)流仍將是適用于由所述系統(tǒng)10處理的數(shù)據(jù)格式,并且為了本發(fā)明的目的,從這樣一個(gè)輸入設(shè)備接收的輸入可以被認(rèn)為是一個(gè)源文件11。如圖2所示,所述文件代理模塊12采用標(biāo)準(zhǔn)對(duì)象庫16來產(chǎn)生內(nèi)部表示14,以按照在所述庫16中定義的類屬類型的文件對(duì)象的集合、連同定義所述文件內(nèi)部的各種文件對(duì)象的特定實(shí)例的性質(zhì)的參數(shù),來描述所述源文件的內(nèi)容。因此,所述庫16提供了一組所述文件代理模塊12、所述解析程序18以及所述系統(tǒng)10已經(jīng)了解的若干類型的對(duì)象。例如,所述內(nèi)部表示14中采用的所述文件對(duì)象可以包括文本、位形以及矢量圖形文件對(duì)象,這些矢量圖形文件對(duì)象可能是活動(dòng)的、或者可能不是活動(dòng)的,并且可能是兩維或者三維的視頻、音頻以及各種類型的交互對(duì)象(例如按鈕和圖標(biāo))。矢量圖形文件對(duì)象可能是具有規(guī)定的填充和透明度的類似PostScript(頁面描述語言)的路徑。位形文件對(duì)象可能包括一組子對(duì)象類型,例如JPEG、GIF和PNG對(duì)象類型。文本文件對(duì)象可表示一個(gè)特殊文本的區(qū)域。所述區(qū)域可以包括一個(gè)文本段落,一般被理解為一組字符,出現(xiàn)在兩個(gè)分隔符(類似一對(duì)回車符)之間。每個(gè)文本對(duì)象可以包括一連串字符和所述字符串的樣式信息,包括一個(gè)或多個(gè)相關(guān)聯(lián)的字體、標(biāo)點(diǎn)及其他此類的樣式信息。定義文件對(duì)象的特定實(shí)例的參數(shù)通常包括定義所述文件對(duì)象的物理形狀、大小和位置的空間坐標(biāo)系以及任何相應(yīng)的用于定義性質(zhì)隨時(shí)間而變的文件對(duì)象的瞬態(tài)數(shù)據(jù),從而允許所述系統(tǒng)處理動(dòng)態(tài)文件結(jié)構(gòu)和/或顯示功能。例如,一個(gè)視頻輸入流可以由所述系統(tǒng)10作為一系列以例如30幀每秒的速率變化的圖形來處理。在該情況下,這種圖形對(duì)象的瞬態(tài)特征指示所述圖形對(duì)象每秒更新30次。如上所述,對(duì)于文本對(duì)象,所述參數(shù)一般地還包括被應(yīng)用于字符串的字體和大小。對(duì)象參數(shù)還可能定義其他性質(zhì),例如透明度。很清楚的是,所述內(nèi)部表示可以本地的文件格式存儲(chǔ)/存放到所述系統(tǒng),而輸入給所述系統(tǒng)10的可能的源文件范圍可以包括所述系統(tǒng)中的本地文件格式的文件。還可能是使用適當(dāng)?shù)霓D(zhuǎn)換代理程序,在需要的時(shí)候?qū)⑺鰞?nèi)部表示14轉(zhuǎn)換為一些其他文件格式中的任何一個(gè)。圖3描述了可以由一個(gè)文件代理模塊12執(zhí)行的一個(gè)示范性處理的流程圖。具體來講,圖3描述了表示一個(gè)示例文件代理模塊12的操作的一處理過程50,在該情況下,該文件代理模塊12適用于將MicrosoftWord文件的內(nèi)容翻譯為內(nèi)部表示格式。具體來講,所述處理過程50包括一個(gè)初始化步驟52,其中所述處理過程50初始化數(shù)據(jù)結(jié)構(gòu)、存儲(chǔ)空間及其他將由所述處理過程50在翻譯所述源文件11期間使用的資源。在步驟52之后,所述處理過程50進(jìn)行一系列步驟54、58和60,其中所述源文件11被分析并被分成子節(jié)。在圖3中所述處理過程50中,步驟54、58和60在所述源文件11流入到所述文件代理模塊12中時(shí)首先將其細(xì)分為小節(jié),然后將所述小節(jié)細(xì)分為段落,然后將段落細(xì)分為組成所述段落的單獨(dú)的字符??梢栽谝粡埛謮K表格(piecetable)內(nèi)識(shí)別出所述源文件11內(nèi)識(shí)別出的所述小節(jié)、段落和字符,該表格包含在所述源文件11內(nèi)指向不同子節(jié)的指針。本領(lǐng)域中普通技術(shù)人員可以理解的是,在圖3中描述的該分塊表格表示由MSWord采用的一構(gòu)造,用于提供指向文件的不同的、所識(shí)別的子節(jié)的指針??梢赃M(jìn)一步理解的是,分塊表格或者類似結(jié)構(gòu)的分塊表格的使用是可選的,而且取決于使用的應(yīng)用程序,包括取決于被處理的文件的類型。當(dāng)在步驟60中所述處理過程50開始識(shí)別出現(xiàn)在一特定段落內(nèi)的不同的字符時(shí),該處理60可以進(jìn)行到步驟62,其中一個(gè)樣式被施加于在步驟60中識(shí)別出的字符或一組字符。一個(gè)樣式的施加被理解為將所述識(shí)別出的字符與表示樣式相關(guān)聯(lián),該表示樣式與那些字符一起被使用。所述表示樣式可以包括與所述字符相關(guān)聯(lián)的性質(zhì),包括字體類型、字體大小,無論所述字符是被加粗、變斜或是采用其他樣式。另外,在步驟62中,所述處理可以確定該字符是否被旋轉(zhuǎn),或者是否沿一曲線軌跡或者其他形狀放置。另外,在步驟62中,與字符在其中的段落相關(guān)聯(lián)的樣式也可以被識(shí)別出并與這些字符相關(guān)聯(lián)。這樣的性質(zhì)可以包括與段落相關(guān)聯(lián)的行距、與該段落相關(guān)聯(lián)的頁邊距、字符之間的間隔及其他此類性質(zhì)。在步驟62之后,該處理過程50進(jìn)行到步驟70,其中該內(nèi)部表示被建立。說明文件結(jié)構(gòu)的對(duì)象在步驟64中被作為內(nèi)部表示內(nèi)的一個(gè)對(duì)象創(chuàng)建,該對(duì)象的關(guān)聯(lián)樣式連同其包含的字符串在步驟68在內(nèi)部表示內(nèi)被獨(dú)立地創(chuàng)建。將在之后更詳細(xì)解釋的圖6、7和8,這些圖描述了由該處理過程50創(chuàng)建的文件結(jié)構(gòu),其中一個(gè)文件的結(jié)構(gòu)由一組文件對(duì)象記錄,而與這些文件對(duì)象相關(guān)聯(lián)的數(shù)據(jù)被保存在一個(gè)單獨(dú)的數(shù)據(jù)結(jié)構(gòu)中。在步驟70之后,處理過程50進(jìn)行到判定塊72,其中該處理過程50確定與上次已處理字符相關(guān)聯(lián)的段落是否完成。如果該段落沒有完成,該處理過程50返回到步驟60,讀取該段落的下一字符?;蛘?,如果該段落是完成的,該處理過程50進(jìn)行到判定塊74,在其中處理過程50確定該節(jié)是否完成。如果該節(jié)是完成的,該處理過程50返回到步驟58,讀取該表格的下一段落?;蛘?,如果該節(jié)是完成的,該處理過程50進(jìn)行到步驟54,其中如果存在下一節(jié)的話就從所述分塊表格讀取下一節(jié),并且處理繼續(xù)。一旦所述文件已經(jīng)被處理完,系統(tǒng)8可以傳輸、存儲(chǔ)、輸出或者相反為后來的使用存貯所述解釋后的文件。所述系統(tǒng)可以用一個(gè)與所述內(nèi)部表示兼容的格式存貯所述解釋后的文件,并且可選用其他格式以及包括與所述源文件11的文件格式兼容的格式(可以采用沒有示出的“輸出文件代理模塊”,能夠接收內(nèi)部表示數(shù)據(jù)和創(chuàng)建源文件數(shù)據(jù))存貯,或者采用二進(jìn)制格式,文本文件描述結(jié)構(gòu),標(biāo)記文本(marked-uptext),或者用任何其他適當(dāng)?shù)母袷酱尜A;而且可以采用一通用的文本編碼模型,包括unicode(統(tǒng)一代碼)、shiftmapping(移位映射)、big-5(繁體代碼)以及亮度/色度模型。從上述可以看出,所述內(nèi)部表示14的格式將如由所述對(duì)象類型與它們的參數(shù)說明的所述文件的″結(jié)構(gòu)″(或者″布局″)與各種對(duì)象的″內(nèi)容″分離;例如一文本對(duì)象的字符串(內(nèi)容)與所述對(duì)象的空間參數(shù)分離;一圖形對(duì)象的圖像數(shù)據(jù)(內(nèi)容)與它的空間參數(shù)分離。這允許以一種壓縮的方式定義文件結(jié)構(gòu),并且為遠(yuǎn)端存儲(chǔ)并只有當(dāng)需要時(shí)才由系統(tǒng)取出的內(nèi)容數(shù)據(jù)提供了選項(xiàng)。所述內(nèi)部表示14用″高級(jí)″描述來說明所述文件和它的構(gòu)成對(duì)象。如上參照?qǐng)D3所述的文件代理模塊12,能夠處理由MSWord字處理應(yīng)用軟件創(chuàng)建的一數(shù)據(jù)文件,并將該數(shù)據(jù)文件翻譯為一個(gè)內(nèi)部表示,該內(nèi)部表示由一組從所述庫16中選擇出來的對(duì)象類型形成,表示所述處理文件的內(nèi)容。因此,所述文件代理模塊12分析所述Word文件并將該文件的結(jié)構(gòu)和內(nèi)容翻譯為一個(gè)內(nèi)部表示為所述計(jì)算機(jī)處理8所知的內(nèi)部表示。在圖4中描述了可以由所述文件代理模塊12處理的一種Word文件的一個(gè)例子。具體來講,圖4描述了由MSWord應(yīng)用程序創(chuàng)建的Word文件32。所述文件32包括一個(gè)信息頁面,其中一個(gè)頁面包括兩列文本34和一個(gè)圖表36。圖4進(jìn)一步描述了這些文本列34和圖表36是以這樣一種方法位于頁面38上一列文本從頁38的頂端一直排到頁面38的底部,第二列文本從頁面的中部附近一直排到到頁面底部,而圖表36被置于第二列文本34上方。如上參照?qǐng)D3所述,所述文件代理模塊12開始通過確定所述文件32包括一個(gè)頁面和包含若干不同的對(duì)象來處理所述文件32。對(duì)于由所述文件代理模塊12發(fā)現(xiàn)的一個(gè)頁面,該文件代理模塊12識(shí)別所述頁面的樣式,例如可能是一個(gè)肖像畫格式的8.5×11頁面的頁面樣式。由該文件代理模塊12識(shí)別出的頁面樣式被嵌入到該內(nèi)部表示中,以供以后由解析程序18在將文本格式化和使文本流進(jìn)由處理過程8創(chuàng)建的文件時(shí)使用。對(duì)于圖4中所描述的文件32僅僅給出一個(gè)頁面。然而,很清楚的是,文件代理模塊12可以處理包括若干頁面的Word文件。在這種情況下,文件代理模塊12將分別通過創(chuàng)建一個(gè)頁面然后用在庫中發(fā)現(xiàn)的類型的對(duì)象填充它來處理每個(gè)頁面。因此頁面樣式信息可以包括一個(gè)文件包含若干頁面以及這些頁面具有一特定大小。其它的頁面樣式信息可以由該文件代理模塊12識(shí)別出,而識(shí)別出的頁面樣式信息可以根據(jù)該應(yīng)用程序變化。從而,可以由一個(gè)能夠處理MicrosoftExcel文件或者一實(shí)時(shí)介質(zhì)數(shù)據(jù)流的文件代理模塊識(shí)別出不同的頁面樣式信息。進(jìn)一步參照?qǐng)D4描述,一旦該文件代理模塊12已經(jīng)識(shí)別出該頁面樣式,該文件代理模塊12可以開始將該文件32分解為若干個(gè)對(duì)象,這些對(duì)象可以被映射到為該系統(tǒng)所知的、并且一般保存在庫16中的文件對(duì)象。例如,該文件代理模塊12可以處理該文件32,以發(fā)現(xiàn)文本對(duì)象、位圖對(duì)象和矢量圖形對(duì)象??梢赃x擇提供其他類型的對(duì)象類型,包括視頻類型、動(dòng)畫類型、按鈕類型和手寫體類型。在該實(shí)際應(yīng)用中,該文件代理模塊12將識(shí)別出一個(gè)文本對(duì)象34,其相關(guān)的樣式具有兩列。在該文本對(duì)象34內(nèi)出現(xiàn)的文本段落可以被分析,來識(shí)別每個(gè)相應(yīng)的段落中的每個(gè)字符。處理過程50可以將樣式性質(zhì)施加于每個(gè)識(shí)別出的字符串,而在文件32內(nèi)識(shí)別出的每個(gè)字符串可以被映射到該庫16內(nèi)列舉類型的文本對(duì)象。每個(gè)字符串和施加的樣式可以被理解為由文件代理模塊12識(shí)別出的對(duì)象,如已經(jīng)在文件32內(nèi)被發(fā)現(xiàn),并且已經(jīng)被譯為一個(gè)文件對(duì)象,在該情況下,該文件對(duì)象是庫16內(nèi)列舉類型的一文本對(duì)象。該內(nèi)部表示對(duì)象可以從文件代理模塊12流進(jìn)內(nèi)部表示14。該文件代理模塊12可以繼續(xù)將在文件32內(nèi)出現(xiàn)的對(duì)象翻譯成為系統(tǒng)10所知的文件對(duì)象,直到每個(gè)對(duì)象都已經(jīng)被翻譯。這些對(duì)象類型可能適合于該應(yīng)用程序,并且可能包括適用于翻譯源數(shù)據(jù)的對(duì)象類型,該源數(shù)據(jù)表示數(shù)字文件、音頻/視頻表示、音樂文件、交互腳本、用戶界面文件和圖像文件、以及任何其他文件類型。現(xiàn)在來看圖5,能夠看出圖5中描述的處理過程80允許將源文件11的內(nèi)部表示中出現(xiàn)的相似對(duì)象進(jìn)行壓縮,以便減少內(nèi)部表示的尺寸。舉例來說。圖5描述了一處理過程80,其中步驟82具有一基本庫對(duì)象A,在步驟84中通過將基本對(duì)象插入到將成為源文件11的內(nèi)部表示的文件中來處理該基本庫對(duì)象A。在步驟88中,另一個(gè)由文件代理模塊12提供的對(duì)象B被傳送給該內(nèi)部表示文件處理14。然后該處理過程80進(jìn)行步驟序列92-98,其中將對(duì)象A的特征與對(duì)象B的特征進(jìn)行比較,以確定這兩個(gè)對(duì)象是否具有相同的特征。舉例來說,如果對(duì)象A和對(duì)象B表示兩個(gè)字符例如字母P和字母N,如果字符P和N色彩相同、字體相同、尺寸相同并且樣式(例如粗體或者斜體)也相同,那么處理過程80在步驟94中將這兩個(gè)對(duì)象結(jié)合在一起,并處于存貯在內(nèi)部表示內(nèi)的一個(gè)對(duì)象分類中。如果這些特征不匹配,那么處理過程80將他們作為兩個(gè)單獨(dú)的對(duì)象添加到內(nèi)部表示中。圖5描述了一個(gè)處理過程80,其中該內(nèi)部表示文件14將這些對(duì)象壓縮為一個(gè)物理上鄰近對(duì)象的相似性的函數(shù)。本領(lǐng)域中普通技術(shù)人員可理解的是,這僅僅是用于壓縮對(duì)象的一種處理,可以采用其他方法。例如,在一可選實(shí)際應(yīng)用中,該壓縮過程可以包括用于壓縮視覺上鄰近的對(duì)象的處理。圖6、7和8描述了已經(jīng)由圖1和2中描述的系統(tǒng)處理過的文件的內(nèi)部表示之結(jié)構(gòu)。該文件的內(nèi)部表示可以作為存儲(chǔ)在磁心存儲(chǔ)器中的計(jì)算機(jī)文件或者數(shù)據(jù)來嵌入。然而,對(duì)于本領(lǐng)域中普通技術(shù)人員顯而易見的是,所選的用于記錄或者傳輸該內(nèi)部表示的數(shù)據(jù)結(jié)構(gòu)可以根據(jù)應(yīng)用而變化,而且任何適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)都可以與此處所述的系統(tǒng)和方法結(jié)合使用,而不會(huì)脫離本發(fā)明的范圍。在下文將更詳細(xì)的說明被處理文件的內(nèi)部表示的結(jié)構(gòu)將文件的結(jié)構(gòu)與文件的內(nèi)容分離開。具體來講,文件的結(jié)構(gòu)由數(shù)據(jù)結(jié)構(gòu)記錄,該數(shù)據(jù)結(jié)構(gòu)指出組成該文件的不同文件對(duì)象以及這些文件對(duì)象相互之間排列的方式。在圖6中示出結(jié)構(gòu)與內(nèi)容的分離,其中數(shù)據(jù)結(jié)構(gòu)110記錄被處理的文件的結(jié)構(gòu),并以一種與該文件相關(guān)聯(lián)的內(nèi)容無關(guān)的數(shù)據(jù)格式存儲(chǔ)該結(jié)構(gòu)。具體來講,該數(shù)據(jù)結(jié)構(gòu)110包括一資源表112和一個(gè)文件結(jié)構(gòu)114。該資源表112提供一個(gè)用于構(gòu)造該文件的內(nèi)部表示的資源列表。例如該資源表112可以包括一個(gè)或多個(gè)出現(xiàn)在文件內(nèi)部的公共結(jié)構(gòu)之表格,例如字體、鏈接和色彩列表。可以在該資源表112內(nèi)用編號(hào)引用這些公共結(jié)構(gòu)。資源表112的資源涉及在文件結(jié)構(gòu)114內(nèi)安置的文件對(duì)象。如圖6所示,文件結(jié)構(gòu)114包括若干由嵌套括號(hào)組表示的存儲(chǔ)包(container)118。在存儲(chǔ)包118內(nèi)是若干文件對(duì)象120。如圖6所示,存儲(chǔ)包118表示在正在被處理的文件內(nèi)出現(xiàn)的文件對(duì)象的集合。圖6進(jìn)一步示出,存儲(chǔ)包118還能夠擁有子存儲(chǔ)包。例如,文件結(jié)構(gòu)114包括一個(gè)由外面一組標(biāo)為1的括號(hào)識(shí)別出的頂級(jí)存儲(chǔ)包,還具有三個(gè)嵌套存儲(chǔ)包2、3和4。另外,存儲(chǔ)包4在存儲(chǔ)包1和存儲(chǔ)包3內(nèi)被兩次嵌套。每個(gè)存儲(chǔ)包118表示在文件內(nèi)的特征,其中這些特征可以是單獨(dú)的文件對(duì)象(例如所述文件對(duì)象120)的一個(gè)集合。這樣舉例來說,一個(gè)文件例如圖4中描述的文件32,可以包括一個(gè)表示該字符串的存儲(chǔ)包,其中該字符串包括在列34內(nèi)出現(xiàn)的文本。舉例來說,在該字符串存儲(chǔ)包內(nèi)出現(xiàn)的不同文件對(duì)象120可以由該字符串內(nèi)出現(xiàn)的不同段落表示。該字符串存儲(chǔ)包具有一個(gè)與之相關(guān)聯(lián)的樣式。舉例來說,圖4中描述的字符串可以包括表示該字符字體類型、字體大小、樣式(例如粗體或者斜體字樣式)的樣式信息,以及表示該列的尺寸包括寬度和長(zhǎng)度的樣式信息,該列中存在該字符串或者該字符串的一部分。這些樣式信息可以在以后被解析模塊18使用,用來對(duì)上下文專用視窗20內(nèi)的文本重新格式化和使之回流。存儲(chǔ)包的另一個(gè)例子可以是一個(gè)表格,舉例來說可以出現(xiàn)在文件32的一列34內(nèi)。該表格可以是一個(gè)具有對(duì)象的存儲(chǔ)包。存儲(chǔ)包的其他類型和運(yùn)用將根據(jù)涉及的應(yīng)用而變化,而本發(fā)明的系統(tǒng)和方法不局限于任何特定的對(duì)象類型組或者存儲(chǔ)包。因此,當(dāng)文件代理模塊12翻譯源文件11時(shí),將遇到屬于已知對(duì)象類型的對(duì)象,而該文件代理模塊12將請(qǐng)求庫16創(chuàng)建一個(gè)適當(dāng)對(duì)象類型的對(duì)象。該文件代理模塊12于是將所創(chuàng)建的文件對(duì)象放置到文件結(jié)構(gòu)114內(nèi)的適當(dāng)位置,以保持源文件11的整體結(jié)構(gòu)。舉例來說,當(dāng)文件代理模塊12遇到源文件11中的圖像36時(shí),文件代理模塊12將圖像36(例如可能是一個(gè)JPEG圖像)識(shí)別為一個(gè)位圖類型的對(duì)象,而可選子類型為JPEG。如圖3中步驟64和68所示,這個(gè)文件代理模塊12可以創(chuàng)建適當(dāng)?shù)奈募?duì)象120并且可以將所創(chuàng)建的文件對(duì)象120放置到結(jié)構(gòu)114中。另外,用于JPEG圖像文件對(duì)象120的數(shù)據(jù),或者在另一個(gè)例子中,用于字符的數(shù)據(jù)以及一字符串的相關(guān)樣式,可以被存貯在圖8中描述的數(shù)據(jù)結(jié)構(gòu)150內(nèi)。當(dāng)源文件11正在被處理時(shí),文件代理模塊12可以識(shí)別其他的存儲(chǔ)包,其中這些其他的存儲(chǔ)包可以表示在一個(gè)已存在的存儲(chǔ)包(例如字符串)內(nèi)出現(xiàn)的子特征。例如,這些子特征可以包括到參考資料的鏈接,或者是到出現(xiàn)在文件內(nèi)、并且包含單獨(dú)的文件對(duì)象120的集合的剪貼的直觀區(qū)域或者特征的鏈接。該文件代理模塊可以將這些文件對(duì)象120放置在一個(gè)單獨(dú)的存儲(chǔ)包內(nèi),而該存儲(chǔ)包將被嵌套到已經(jīng)存在的存儲(chǔ)包中。圖7A中以一樹狀結(jié)構(gòu)130示出這些文件對(duì)象120以及存儲(chǔ)包118的布局,其中單獨(dú)的存儲(chǔ)包1、2、3和4分別被示為存儲(chǔ)包對(duì)象132、134、138和140。存儲(chǔ)包118和文件對(duì)象120被以樹狀結(jié)構(gòu)布置,該樹狀結(jié)構(gòu)示出文件結(jié)構(gòu)的嵌套的存儲(chǔ)包結(jié)構(gòu)以及在該存儲(chǔ)包118內(nèi)存在的不同文件對(duì)象120。圖7A的樹狀結(jié)構(gòu)還圖示出該結(jié)構(gòu)114記錄和保持了源文件11的結(jié)構(gòu),以文件對(duì)象120的分級(jí)結(jié)構(gòu)顯示了源文件,其中該文件對(duì)象120包括樣式信息,例如在其中出現(xiàn)一字符串的列的尺寸,或者是瞬態(tài)信息,例如用于流式內(nèi)容的幀頻。因此,通過一系列參數(shù)化的組件說明了每個(gè)文件的圖形結(jié)構(gòu)。在下面的表1中給出了一個(gè)例子。表1可以看出,表1給出了可以用來說明一個(gè)文件的圖形結(jié)構(gòu)的參數(shù)的一個(gè)例子。表1給出例如對(duì)象類型的參數(shù)的例子,在該情況下是一個(gè)位圖對(duì)象類型。提供了邊界框參數(shù),并給出該文件對(duì)象在源文件11中的位置。表1進(jìn)一步提供了采用的填充以及一個(gè)表示該對(duì)象的透明度的阿爾法因子。形狀參數(shù)提供了一個(gè)關(guān)于對(duì)象形狀的句柄(handle),在該情況下可以是一條定義對(duì)象輪廓的路徑,包括不規(guī)則形狀的對(duì)象。表1還給出一個(gè)時(shí)間參數(shù),它表示該對(duì)象的瞬態(tài)變化。在這個(gè)例子中,該圖像是穩(wěn)定的及沒有隨時(shí)間而變化。然而,如果該圖像對(duì)象給出流式媒體,那么該參數(shù)可以包含一個(gè)指示該對(duì)象變化的速率的瞬態(tài)特性,例如該內(nèi)容的可與期望幀頻相比較的速率。因此,該構(gòu)造單元都是具有可流動(dòng)數(shù)據(jù)內(nèi)容的存儲(chǔ)包,這些可流動(dòng)數(shù)據(jù)單獨(dú)保持并通過存儲(chǔ)包的一個(gè)句柄引用。以這種方法,可以根據(jù)該文件結(jié)構(gòu)遠(yuǎn)端地保持任何或者所有的數(shù)據(jù)內(nèi)容。這允許文件以可以本地保持和遠(yuǎn)端保持的數(shù)據(jù)內(nèi)容的混合的方式呈現(xiàn)文件。另外,該數(shù)據(jù)結(jié)構(gòu)允許對(duì)源文件的內(nèi)部表示的快速漸進(jìn)的呈現(xiàn),可以首先呈現(xiàn)較寬泛和較高層的對(duì)象,而細(xì)微特征可以在隨后順序中被呈現(xiàn)。因此,單獨(dú)的結(jié)構(gòu)和數(shù)據(jù)允許在流式數(shù)據(jù)“填充”內(nèi)容的時(shí)候呈現(xiàn)視覺文件。另外,內(nèi)容和結(jié)構(gòu)的分離允許容易地編輯或者改變文件的內(nèi)容。因?yàn)槲募Y(jié)構(gòu)與內(nèi)容無關(guān),可以將不同的內(nèi)容代入該文件結(jié)構(gòu)。這可以通過存儲(chǔ)包原理在存儲(chǔ)包上完成或者對(duì)整個(gè)文件進(jìn)行。文件的結(jié)構(gòu)可以被傳送而獨(dú)立于內(nèi)容,而在之后提供內(nèi)容,或者是該結(jié)構(gòu)被傳送所至的平臺(tái)上進(jìn)行呈現(xiàn)。此外,圖7A表明源文件11的結(jié)構(gòu)可以被表示為一個(gè)樹狀結(jié)構(gòu)130。在一實(shí)際應(yīng)用中,該樹狀結(jié)構(gòu)可以被修改和編輯,以改變?cè)次募?1的表示。例如,該樹狀結(jié)構(gòu)可以被修改以便向該樹130增加另外的結(jié)構(gòu)和內(nèi)容。這在圖7B中進(jìn)行了描述,圖7B示出圖7A在一高層存儲(chǔ)包下復(fù)制和呈現(xiàn)的原始樹狀結(jié)構(gòu)。這樣,圖7B示出可以通過處理由文件代理模塊12產(chǎn)生的樹狀結(jié)構(gòu)130創(chuàng)建一個(gè)新的文件結(jié)構(gòu),從而創(chuàng)建一個(gè)新的表示。這就允許對(duì)一個(gè)文件內(nèi)的對(duì)象的視覺位置進(jìn)行改變,而不同的對(duì)象120的相對(duì)位置可以保持相同。通過調(diào)整樹狀結(jié)構(gòu)130,此處所述的系統(tǒng)可以編輯和修改內(nèi)容。例如,在那些其中樹狀結(jié)構(gòu)130中的內(nèi)容表示視覺內(nèi)容的應(yīng)用中,此處所述的系統(tǒng)可以編輯該樹狀結(jié)構(gòu)以便復(fù)制該文件的圖像并且并排地呈現(xiàn)文件的圖像。替換的方案是,該樹狀結(jié)構(gòu)130可以被編輯并被補(bǔ)充,以便增加另外的視覺信息,例如通過增加一個(gè)新文件或者文件的一部分的圖像。此外,通過控制樹狀結(jié)構(gòu)改變的速率,此處所述的系統(tǒng)可以創(chuàng)建一個(gè)文件逐漸改變的錯(cuò)覺,例如滑過一個(gè)例如顯示設(shè)備26的顯示器,或者逐漸改變?yōu)橐粋€(gè)新的文件。還可以實(shí)現(xiàn)其他效果,例如縮略圖的創(chuàng)建及其他類似結(jié)果,本領(lǐng)域中的普通技術(shù)人員通過對(duì)此處所述的系統(tǒng)和方法做修改,而這樣修改后的系統(tǒng)和方法將屬于本發(fā)明的范圍。該源文件11的數(shù)據(jù)獨(dú)立于結(jié)構(gòu)114存貯。為此,每個(gè)文件對(duì)象120包括一個(gè)指向與對(duì)象相關(guān)聯(lián)的數(shù)據(jù)的指針,而這個(gè)信息可以被安排在一個(gè)間接尋址列表內(nèi),例如圖8中描述的間接尋址列表。如圖8所示,在這個(gè)實(shí)際應(yīng)用中,每個(gè)文件對(duì)象120被編號(hào)并創(chuàng)建了一個(gè)間接尋址列表152,其中每個(gè)文件對(duì)象編號(hào)154與一個(gè)偏移量158相關(guān)聯(lián)。例如,由附圖標(biāo)記160標(biāo)志出的文件對(duì)象編號(hào)1可以與由附圖標(biāo)記162標(biāo)志的偏移量700相關(guān)聯(lián)。這樣,該間接尋址列表將對(duì)象編號(hào)1與偏移量700相關(guān)聯(lián)。該偏移量700可以表示磁心存儲(chǔ)器中的一個(gè)位置,或者一個(gè)文件偏移量,其中與對(duì)象1相關(guān)聯(lián)的數(shù)據(jù)可以駐留。如在圖8中進(jìn)一步示出的,可以存在一數(shù)據(jù)結(jié)構(gòu)150,其中可以存貯表示與一相應(yīng)的文件對(duì)象120相關(guān)聯(lián)的內(nèi)容的數(shù)據(jù)。因此舉例來說,位于跳轉(zhuǎn)位置700的所述對(duì)象1,可以包括表示在圖6中描述的存儲(chǔ)包1的字符串中存在的字符的Unicode字符。類似地,在圖8中由附圖標(biāo)記172描述的對(duì)象2數(shù)據(jù),與由附圖標(biāo)記170識(shí)別的磁心存儲(chǔ)器位置810相關(guān)聯(lián),可以表示JPEG位圖,該位圖與在圖6的文件結(jié)構(gòu)內(nèi)引用的位映象文件對(duì)象120相關(guān)聯(lián)。本領(lǐng)域中普通技術(shù)人員應(yīng)注意的是,因?yàn)閿?shù)據(jù)與結(jié)構(gòu)獨(dú)立,一源文件的內(nèi)容被保存在一集中式儲(chǔ)存庫(centralizedrepository)中。因而,此處所述的系統(tǒng)允許對(duì)不同類型的數(shù)據(jù)對(duì)象壓縮。這樣的處理在有限資源系統(tǒng)中提供更大的存儲(chǔ)靈活性。返回到圖2,很清楚的是,一旦用于壓縮一個(gè)內(nèi)部表示文件的內(nèi)容的處理完成了對(duì)不同的對(duì)象的壓縮,這些對(duì)象被傳遞給解析模塊18。該解析模塊18對(duì)在內(nèi)部表示的結(jié)構(gòu)部分中識(shí)別的對(duì)象進(jìn)行解析,并參照與這一對(duì)象相關(guān)聯(lián)的數(shù)據(jù)內(nèi)容,再次將位置和樣式信息應(yīng)用到每個(gè)對(duì)象。呈現(xiàn)組件19產(chǎn)生一個(gè)由內(nèi)部表示14表示的文件的上下文特定表示,也就是″視圖″20。所要求的視圖可以是所有這些文件、一個(gè)完整文件或者一個(gè)或一些文件的一部分。該呈現(xiàn)組件19接收視圖控制輸入40,該視圖控制輸入40定義將要被產(chǎn)生的特定文件視圖的所視上下文以及任何有關(guān)瞬態(tài)參數(shù)。舉例來說,可以要求該系統(tǒng)10產(chǎn)生一個(gè)文件的一部分的圖象縮放視圖,然后變?yōu)槿罢归_或者滾動(dòng)該圖象縮放視圖以顯示該文件的鄰近部分。該視圖控制輸入40被該呈現(xiàn)組件19解釋,以確定特定的視圖要求內(nèi)部表示的哪一部分,以及該視圖怎樣顯示、何時(shí)顯示和顯示多長(zhǎng)時(shí)間。該上下文特定的表示/視圖20是用基本形狀和參數(shù)表達(dá)的。該呈現(xiàn)組件19還可以在產(chǎn)生源文件11之所要求的視圖20時(shí),對(duì)內(nèi)部表示的相關(guān)部分執(zhí)行另外的預(yù)處理功能。該視圖表示20被輸入給一形狀處理器22,用于處理以產(chǎn)生一個(gè)適當(dāng)格式的輸出,來驅(qū)動(dòng)一個(gè)輸出設(shè)備26,例如顯示設(shè)備或者打印機(jī)。該呈現(xiàn)組件19的預(yù)處理功能可以包括色彩校正、分辯率調(diào)整/增強(qiáng)和防疊處理(anti-aliasing)。分辯率增強(qiáng)可以包括圖象縮放功能,當(dāng)由目的輸出設(shè)備顯示或者再現(xiàn)對(duì)象的內(nèi)容時(shí)保持其清晰度。分辨率調(diào)整可以上下文相關(guān);例如當(dāng)該文件視圖是靜態(tài)的時(shí)候,在該顯示文件視圖正在展開或者滾動(dòng)和增加期間,特定的對(duì)象的顯示分辯率可以被減少??蛇x的是,在解析模塊18和內(nèi)部表示14之間可以有一條反饋路徑42,例如為了觸發(fā)內(nèi)部表示14的內(nèi)容的更新,比如在由內(nèi)部表示所表示的源文件11包括多幀動(dòng)畫的情況。該呈現(xiàn)組件19的輸出以基本對(duì)象表示文件。對(duì)于每一文件對(duì)象,該呈現(xiàn)組件19的表示至少以一物理的、矩形邊界框定義該對(duì)象,而該對(duì)象的實(shí)際輪廓路徑由該邊界框、對(duì)象的數(shù)據(jù)內(nèi)容和它的透明度界定。該形狀處理器22解釋該基本對(duì)象并將它轉(zhuǎn)換為適合于目標(biāo)輸出設(shè)備26的輸出幀格式;例如對(duì)于打印機(jī)的點(diǎn)映射,對(duì)于繪圖儀的向量指令組或者對(duì)于顯示設(shè)備的位圖。一個(gè)對(duì)形狀處理器22的輸出控制輸入44給該形狀處理器22提供信息,以便產(chǎn)生適用于特別的輸出設(shè)備26的輸出。該形狀處理器22最好處理由視圖表示20用″形狀″(即對(duì)象的輪廓形狀)、″填充″(對(duì)象的數(shù)據(jù)內(nèi)容)以及″阿爾法″(對(duì)象的透明度)來定義的對(duì)象,執(zhí)行適合于所要求的視圖和輸出設(shè)備的圖象縮放和剪貼(一般利用通過掃描轉(zhuǎn)換或類似手段得到的像素,用于大多數(shù)種類的顯示設(shè)備或者打印機(jī))。該形狀處理器22可選地包括一邊緣緩存器,它利用掃描轉(zhuǎn)換的像素定義對(duì)象的形狀,并且最好是對(duì)輪廓形狀應(yīng)用防疊處理??梢杂靡环N以輸出設(shè)備26的特征確定的方式,通過對(duì)對(duì)象邊界施加灰度級(jí)梯度(grey-scaleramp)執(zhí)行防疊處理。該方法啟用儲(chǔ)存有效的形狀剪貼以及形狀交叉處理,并且也是存儲(chǔ)有效的和處理器有效的??梢圆捎貌檎冶砘蛘咂渌夹g(shù)來定義多頻聲響應(yīng)曲線,提供非線性的呈現(xiàn)控制。由形狀處理器22處理的單獨(dú)的基本對(duì)象被組合成合成輸出幀。在題為ShapeProcessor(形狀處理器)、與此同一日期申請(qǐng)的專利申請(qǐng)中,更詳細(xì)的示出了適合與此處所述的系統(tǒng)一同使用的一種形狀處理器的設(shè)計(jì)方案,該申請(qǐng)的內(nèi)容合并作為參考。然而,可以采用任何適當(dāng)?shù)男螤钐幚砥飨到y(tǒng)或者處理過程,而不會(huì)脫離本發(fā)明的范圍。如上所述,圖1中描述的處理過程8可以被實(shí)現(xiàn)為一個(gè)軟件組件,在一數(shù)據(jù)處理系統(tǒng)上運(yùn)行,所述數(shù)據(jù)處理系統(tǒng)比如是手持式計(jì)算機(jī)、移動(dòng)電話、機(jī)頂盒、傳真機(jī)、復(fù)印機(jī)或者其他辦公設(shè)備、嵌入式計(jì)算機(jī)系統(tǒng)、Windows或者UNIX工作站或者任何其他能夠完全或者部分地支持如上所述的文件處理系統(tǒng)的計(jì)算機(jī)/處理平臺(tái)。在這些實(shí)施例中,所述系統(tǒng)可以用C語言計(jì)算機(jī)程序或者以任何高級(jí)語言(包括C++、Fortran、Java或者Basic)編寫的計(jì)算機(jī)程序?qū)崿F(xiàn)。此外,在采用微控制器或者DSP(數(shù)字信號(hào)處理器)的實(shí)施例中,所述系統(tǒng)可以使用以微代碼編寫的計(jì)算機(jī)程序或者是以高級(jí)語言編寫并且被編譯為可在所采用平臺(tái)上執(zhí)行的微代碼的計(jì)算機(jī)程序?qū)崿F(xiàn)。此類系統(tǒng)的開發(fā)對(duì)于本領(lǐng)域中普通技術(shù)人員是已知的,而且此類技術(shù)在IntelStrongARMprocessorsSA-1110MicroprocessorAdvancedDeveloper’sManual進(jìn)行了闡述。此外,用于高級(jí)編程的一般技術(shù)是已知的,舉例來說,在StephenG.Kochan的ProgramminginC(HaydenPublishing,1983)中就進(jìn)行了闡述。應(yīng)注意的是,數(shù)字信號(hào)處理器特別適合于實(shí)現(xiàn)信號(hào)處理功能,包括諸如通過調(diào)整對(duì)比度、邊緣清晰度和亮度進(jìn)行圖像增強(qiáng)的預(yù)處理功能。用于數(shù)字信號(hào)處理器和微控制器系統(tǒng)的代碼開發(fā)按照在本
技術(shù)領(lǐng)域:
中公知的原理。因此,盡管圖1和2用圖形將該計(jì)算機(jī)處理過程8描述為包括若干功能塊單元,對(duì)于本領(lǐng)域中普通技術(shù)人員顯而易見的是,這些單元可以實(shí)現(xiàn)為能夠在數(shù)據(jù)處理平臺(tái)上運(yùn)行的計(jì)算機(jī)程序或者部分計(jì)算機(jī)程序,從而將該數(shù)據(jù)處理平臺(tái)配置為根據(jù)本發(fā)明的系統(tǒng)。此外,盡管圖1以一個(gè)文件處理過程8和顯示設(shè)備26的集成化裝置描述該系統(tǒng)10,對(duì)于本領(lǐng)域中普通技術(shù)人員顯而易見的是這僅僅是一實(shí)施例,此處所述的系統(tǒng)可以通過其他體系結(jié)構(gòu)和布局實(shí)現(xiàn),包括將處理過程8的文件處理功能與由顯示器26執(zhí)行的文件顯示操作分離的系統(tǒng)體系結(jié)構(gòu)。此外,很清楚的是,本發(fā)明的系統(tǒng)不局限于包括顯示器或者輸出設(shè)備的那些系統(tǒng),而是本發(fā)明的系統(tǒng)將包含處理一個(gè)或多個(gè)數(shù)字文件、以便創(chuàng)建可以在一輸出設(shè)備上呈現(xiàn)的輸出的處理系統(tǒng)。然而,該輸出可以被保存在一個(gè)數(shù)據(jù)文件中,用于隨后在顯示設(shè)備上表示,用于長(zhǎng)期存儲(chǔ)、經(jīng)由網(wǎng)絡(luò)傳送或者其它不同于直接顯示的目的。因此,對(duì)于本領(lǐng)域中普通技術(shù)人員顯而易見的是,此處所述的系統(tǒng)和方法可以支持許多不同的文件和內(nèi)容處理應(yīng)用程序,而且用于特定應(yīng)用程序的系統(tǒng)或者處理的結(jié)構(gòu)將根據(jù)該應(yīng)用程序及設(shè)計(jì)者的選擇而變化。根據(jù)以上所述,可以理解的是,本發(fā)明的系統(tǒng)可以是″硬布線的″;例如在ROM中實(shí)現(xiàn)和/或集成到專用集成電路(ASIC)或者其他單片系統(tǒng)里,或者可以實(shí)現(xiàn)為固件(可編程只讀存儲(chǔ)器,例如可擦除可編程只讀存儲(chǔ)器),或者被實(shí)現(xiàn)為軟件,被本地或者遠(yuǎn)端存貯并在一特定設(shè)備要求時(shí)被取出和執(zhí)行。這樣的改善和修改可以被合并而不會(huì)脫離本發(fā)明的范圍。本領(lǐng)域中的普通技術(shù)人員僅僅使用常規(guī)實(shí)驗(yàn)就會(huì)知道或者能夠確定,有許多等效于此處所述的實(shí)施例和實(shí)際應(yīng)用的方案。舉例來說,此處所述的系統(tǒng)和方法可以是用于處理源文件11的獨(dú)立系統(tǒng),但是可以選擇性的是,這些系統(tǒng)可以許多不同的方式被合并到各種類型的數(shù)據(jù)處理系統(tǒng)和設(shè)備中,以及合并到外圍設(shè)備里。在一通用數(shù)據(jù)處理系統(tǒng)(″主機(jī)系統(tǒng)″)中,本發(fā)明的系統(tǒng)可以與所述主機(jī)系統(tǒng)的操作系統(tǒng)和應(yīng)用程序并列合并,或者可以被完全地或者部分地合并到所述主機(jī)操作系統(tǒng)里。舉例來說,此處所述的系統(tǒng)能夠在具有LCD顯示器的便攜式數(shù)據(jù)處理裝置上快速顯示各種類型的數(shù)據(jù)文件,而無需要求使用瀏覽器或者應(yīng)用程序。采用本系統(tǒng)的便攜式數(shù)據(jù)處理裝置的例子包括″掌上型″計(jì)算機(jī)、便攜式數(shù)字助理(PDA,包括片型PDA,其中主要的用戶界面包括圖形顯示,用戶通過它直接依靠一指示筆設(shè)備進(jìn)行交互)、可訪問因特網(wǎng)的移動(dòng)電話及其他通訊裝置。為了便攜性,這類數(shù)據(jù)處理裝置要求小型、低功率的處理器。一般,這些設(shè)備采用在ASIC(專用集成電路)中設(shè)計(jì)的高級(jí)RISC型核心處理器,以便使該電子器件封裝是小型的和集成的。這類設(shè)備還具有有限的隨機(jī)存取存儲(chǔ)器,并且一般沒有非易失性的數(shù)據(jù)存儲(chǔ)器(例如硬盤)。傳統(tǒng)的操作系統(tǒng)模式,例如在標(biāo)準(zhǔn)臺(tái)式計(jì)算系統(tǒng)(PC)采用的操作系統(tǒng)模式,要求大功率的中央處理器和大容量存儲(chǔ)器,用于處理數(shù)字文件并產(chǎn)生有效輸出,是完全不適于這類數(shù)據(jù)處理裝置的。具體來講,傳統(tǒng)的系統(tǒng)不提供以一集成的方式對(duì)多文件格式的處理。相形之下,此處所述的系統(tǒng)對(duì)所有文件格式采用公共的處理與傳遞途徑,從而提供一個(gè)高度集成的文件處理系統(tǒng),它在功率消耗和系統(tǒng)資源的利用方面是極其高效的。本發(fā)明的系統(tǒng)可以被集成在便攜式數(shù)據(jù)處理裝置的BIOS級(jí),能夠用比傳統(tǒng)系統(tǒng)模式低得多的系統(tǒng)開銷進(jìn)行文件處理與輸出。另一方式是,這些系統(tǒng)可以被實(shí)現(xiàn)在僅僅高于傳輸協(xié)議棧(transportprotocolstack)的最低系統(tǒng)級(jí)。舉例來說,所述系統(tǒng)可以被合并到一網(wǎng)絡(luò)設(shè)備(卡)或者系統(tǒng)中,以提供網(wǎng)絡(luò)業(yè)務(wù)量的嵌入處理(例如在TCP/IP系統(tǒng)中的分組級(jí)工作)。此處所述系統(tǒng)可以被配置為用一預(yù)定組數(shù)據(jù)文件格式和特定的輸出設(shè)備運(yùn)行;例如所述設(shè)備的直觀顯示裝置和/或至少一種打印機(jī)。此處所述的系統(tǒng)還可以被合并到低成本數(shù)據(jù)處理終端中,例如增強(qiáng)的電話和“薄的”網(wǎng)絡(luò)客戶終端(例如具有有限局部處理和存儲(chǔ)資源的網(wǎng)路終端),以及可交互/可訪問因特網(wǎng)的有線電視系統(tǒng)使用的“機(jī)頂盒”。所述系統(tǒng)還可以被合并到外圍設(shè)備中,例如硬拷貝設(shè)備(打印機(jī)和繪圖儀)、顯示設(shè)備(例如數(shù)字投影儀)、網(wǎng)絡(luò)設(shè)備、輸入裝置(攝像機(jī)、掃描儀等等)以及多功能外圍設(shè)備(MFP)。當(dāng)合并到打印機(jī)中時(shí),所述系統(tǒng)使該打印機(jī)能夠接收來自主機(jī)數(shù)據(jù)處理系統(tǒng)的原始數(shù)據(jù)文件,并準(zhǔn)確地再現(xiàn)所述原始數(shù)據(jù)文件的內(nèi)容,而無需由所述主機(jī)系統(tǒng)提供特別的應(yīng)用程序或者驅(qū)動(dòng)程序。這避免或者減少了對(duì)配置計(jì)算機(jī)系統(tǒng)以驅(qū)動(dòng)特定類型打印機(jī)的需要。本系統(tǒng)直接地產(chǎn)生源文件的點(diǎn)映射圖像,適用于由打印機(jī)輸出(無論本系統(tǒng)是否被合并到打印機(jī)本身還是合并到主機(jī)系統(tǒng)中都可以)。類似的設(shè)想適用于其他硬拷貝設(shè)備,例如繪圖儀。當(dāng)合并到一顯示設(shè)備(例如一投影儀)中時(shí),本系統(tǒng)使該設(shè)備能夠準(zhǔn)確地顯示原始數(shù)據(jù)文件的內(nèi)容,而無需使用主機(jī)系統(tǒng)上的應(yīng)用程序或者驅(qū)動(dòng)程序,也無需主機(jī)系統(tǒng)和/或顯示設(shè)備的特定的配置。當(dāng)這些類型的外圍設(shè)備裝備有本系統(tǒng)時(shí),可以通過任何類型的數(shù)據(jù)通信網(wǎng)絡(luò),接收與輸出來自任何源的數(shù)據(jù)文件。此外,此處所述的系統(tǒng)和方法可以被合并到汽車內(nèi)系統(tǒng)中以為駕駛員提供信息、或者娛樂系統(tǒng),有助于在車輛內(nèi)傳送信息或者是將信息分送給車輛以外進(jìn)行通信的網(wǎng)絡(luò)。進(jìn)一步來講,應(yīng)該理解的是,此處所述的系統(tǒng)可以驅(qū)動(dòng)具有多個(gè)輸出源的設(shè)備,以便僅僅對(duì)控制參數(shù)修改就能維持一致的顯示。例子包括但是不局限于合并有一個(gè)直觀顯示器和打印頭的一個(gè)STB或者汽車內(nèi)系統(tǒng),從而允許文件的查看和打印而無需源應(yīng)用程序和驅(qū)動(dòng)程序。根據(jù)以上所述,應(yīng)該理解的是,本發(fā)明的系統(tǒng)可以是″硬布線的″;例如實(shí)現(xiàn)在ROM中和/或集成到專用集成電路ASIC或者其他單片系統(tǒng)里,或者可以被實(shí)現(xiàn)為固件(可編程只讀存儲(chǔ)器,例如可擦除可編程只讀存儲(chǔ)器ePROM),或者被實(shí)現(xiàn)為軟件,并被本地或者遠(yuǎn)端存貯而在一特定設(shè)備要求時(shí)被取出和執(zhí)行。因此應(yīng)該理解的是,本發(fā)明不限于此處公開的實(shí)施例,而是要根據(jù)權(quán)利要求書理解,依法解釋為相應(yīng)的范圍。權(quán)利要求1.一種數(shù)字文件處理系統(tǒng),包括一應(yīng)用程序調(diào)度模塊,用于接收以若干預(yù)定數(shù)據(jù)格式之一表示源數(shù)據(jù)的輸入字節(jié)流,并用于將所述輸入字節(jié)流與所述若干預(yù)定數(shù)據(jù)格式之一相關(guān)聯(lián),一文件代理模塊,用于將所述輸入字節(jié)流譯為所述相關(guān)聯(lián)的預(yù)定數(shù)據(jù)格式的函數(shù),并用于將所述輸入字節(jié)流解析為一連串的文件對(duì)象,這些文件對(duì)象表示所述輸入字節(jié)流內(nèi)基本結(jié)構(gòu)的內(nèi)部表示,以及一個(gè)核心文件引擎,用于將所述文件對(duì)象轉(zhuǎn)換為內(nèi)部表示數(shù)據(jù)格式,并用于將所述內(nèi)部表示數(shù)據(jù)映射到顯示器上的位置。2.如權(quán)利要求1所述的數(shù)字文件系統(tǒng),進(jìn)一步包括一形狀處理器,用于處理所述內(nèi)部表示數(shù)據(jù)以驅(qū)動(dòng)輸出設(shè)備。3.如權(quán)利要求1或2所述的數(shù)字文件系統(tǒng),其中,所述源數(shù)據(jù)定義數(shù)字文件的內(nèi)容和結(jié)構(gòu),其中所述內(nèi)部表示數(shù)據(jù)用若干數(shù)據(jù)類型和參數(shù)的文件對(duì)象、獨(dú)立地根據(jù)所述內(nèi)容說明所述結(jié)構(gòu),所述參數(shù)定義所述文件對(duì)象的特定實(shí)例的性質(zhì)。4.如權(quán)利要求3所述的數(shù)字文件處理系統(tǒng),其中,所述定義特定實(shí)例的性質(zhì)的參數(shù)包括選自于空間性質(zhì)、瞬態(tài)性質(zhì)和物理性質(zhì)中的性質(zhì)。5.如權(quán)利要求3或者4所述的數(shù)字文件處理系統(tǒng),進(jìn)一步包括一個(gè)對(duì)象類型庫,所述內(nèi)部表示數(shù)據(jù)基于所述庫的內(nèi)容。6.如權(quán)利要求3至5中的任一項(xiàng)所述的數(shù)字文件處理系統(tǒng),其中,所述核心文件引擎包括解析和呈現(xiàn)模塊,適用于根據(jù)對(duì)所述解析和呈現(xiàn)模塊的第一控制輸入,產(chǎn)生所述內(nèi)部表示數(shù)據(jù)的至少一部分的特定視圖的、基于參數(shù)和對(duì)象的表示。7.如權(quán)利要求6所述的數(shù)字文件處理系統(tǒng),其中,所述基于參數(shù)的表示包括選自填充、路徑、邊界框和透明度中的參數(shù)。8.如權(quán)利要求5至7中的任一項(xiàng)所述的數(shù)字文件處理系統(tǒng),進(jìn)一步包括一形狀處理模塊,用于接收來自所述解析和呈現(xiàn)模塊的、所述特定視圖的基于對(duì)象和參數(shù)的表示,并用于將所述基于對(duì)象和參數(shù)的表示轉(zhuǎn)換為適用于驅(qū)動(dòng)特定的輸出設(shè)備的輸出數(shù)據(jù)格式。9.如權(quán)利要求8所述的數(shù)字文件處理系統(tǒng),其中,所述形狀處理模塊根據(jù)所述對(duì)象的形狀處理所述對(duì)象,所述形狀由所述邊界框、所述對(duì)象的所述數(shù)據(jù)內(nèi)容和所述對(duì)象的所述透明度界定。10.如權(quán)利要求8或9所述的數(shù)字文件處理系統(tǒng),其中,所述形狀處理模塊根據(jù)定義所述對(duì)象的的形狀處理所述對(duì)象,所述對(duì)象的所述形狀由邊界框界定,該邊界框表示在可以其上呈現(xiàn)對(duì)象的顯示器上的已定義區(qū)域。11.根據(jù)前面任一權(quán)利要求所述的數(shù)字文件處理系統(tǒng),其中,所述系統(tǒng)采用基于色度/亮度的色彩模式來描述色彩數(shù)據(jù)。12.根據(jù)前面任一權(quán)利要求所述的數(shù)字文件處理系統(tǒng),其中,所述系統(tǒng)采用通用文本編碼模型。13.如權(quán)利要求12所述的數(shù)字文件處理系統(tǒng),其中,通用的文本編碼包括unicode、shift-mapping和big-5。14.根據(jù)前面任一權(quán)利要求所述的數(shù)字文件處理系統(tǒng),進(jìn)一步包括一個(gè)處理,用于通過組合具有類似屬性的文件對(duì)象來壓縮源文件的內(nèi)部表示。15.根據(jù)前面任一權(quán)利要求所述的數(shù)字文件處理系統(tǒng),進(jìn)一步包括一個(gè)處理,用于通過組合具有類似樣式屬性的文件對(duì)象壓縮源文件的內(nèi)部表示。16.根據(jù)前面任一權(quán)利要求所述的數(shù)字文件處理系統(tǒng),其中,所述系統(tǒng)適合于多重并行執(zhí)行過程,用于處理來自一個(gè)或多個(gè)數(shù)據(jù)源的源數(shù)據(jù)并產(chǎn)生一組或多組輸出表示數(shù)據(jù)。17.根據(jù)前面任一權(quán)利要求所述的數(shù)字文件處理系統(tǒng),進(jìn)一步包括一圖形用戶接口,用于產(chǎn)生交互直觀顯示的內(nèi)部表示,由一用戶利用其來控制所述數(shù)字文件處理系統(tǒng)。18.如權(quán)利要求17所述的數(shù)字文件處理系統(tǒng),包括一數(shù)據(jù)處理設(shè)備,其中合并了圖形用戶接口。19.根據(jù)前面任一權(quán)利要求所述的數(shù)字文件處理系統(tǒng),具有適用于被嵌入到一設(shè)備里的平臺(tái),所述設(shè)備是從由便攜式計(jì)算機(jī)、移動(dòng)電話、機(jī)頂盒、傳真機(jī)、復(fù)印機(jī)、嵌入式計(jì)算機(jī)系統(tǒng)、打印機(jī)、汽車內(nèi)系統(tǒng)以及計(jì)算機(jī)工作站組成的組中被選擇出來的。20.根據(jù)前面任一權(quán)利要求所述的數(shù)字文件處理系統(tǒng),具有包括核心處理器系統(tǒng)的處理器。21.如權(quán)利要求20所述的數(shù)字文件處理系統(tǒng),其中,所述核心處理器是RISC處理器。22.根據(jù)前面任一權(quán)利要求所述的數(shù)字文件處理系統(tǒng),其中,所述文件代理模塊包括用于以選定格式輸出數(shù)據(jù)的輸出處理過程。23.根據(jù)前面任一權(quán)利要求所述的數(shù)字文件處理系統(tǒng),適用于在多處理系統(tǒng)上進(jìn)行工作。24.一種用于顯示內(nèi)容的方法,包括接收表示數(shù)字內(nèi)容的數(shù)據(jù)源,該數(shù)字內(nèi)容具有結(jié)構(gòu)和數(shù)據(jù)內(nèi)容,處理所述數(shù)據(jù)源,以識(shí)別與之相關(guān)聯(lián)的文件格式,將所述數(shù)據(jù)源作為其所識(shí)別的文件格式的函數(shù)、譯為內(nèi)部表示,該內(nèi)部表示包括一個(gè)第一數(shù)據(jù)結(jié)構(gòu),用于存貯關(guān)于所述數(shù)字內(nèi)容的結(jié)構(gòu)的信息,以及一個(gè)第二數(shù)據(jù)結(jié)構(gòu),用于存貯關(guān)于所述數(shù)字內(nèi)容中包含的數(shù)據(jù)內(nèi)容的信息,通過處理第一數(shù)據(jù)結(jié)構(gòu)以確定用于所述內(nèi)容文件的一部分的結(jié)構(gòu),以及通過處理第二數(shù)據(jù)結(jié)構(gòu)以確定用于所述內(nèi)容文件的相應(yīng)部分的數(shù)據(jù)內(nèi)容,產(chǎn)生內(nèi)容文件,它表示將要呈現(xiàn)給用戶的內(nèi)容的內(nèi)部表示。25.如權(quán)利要求24所述的方法,其中,接收數(shù)據(jù)源包括接收來自一數(shù)據(jù)源的一連串輸入數(shù)據(jù)。26.如權(quán)利要求25所述的方法,其中,所述數(shù)據(jù)源是從由數(shù)據(jù)文件、由外圍設(shè)備產(chǎn)生的字節(jié)流以及由數(shù)據(jù)文件產(chǎn)生的字節(jié)流組成的組中選出來的。27.如權(quán)利要求25或者26所述的方法,其中,處理所述數(shù)據(jù)源包括將關(guān)于所述數(shù)據(jù)源的信息提供給若干文件代理模塊,每一文件代理模塊能夠?qū)⒁阎募袷降臄?shù)據(jù)源譯為內(nèi)部表示。28.如權(quán)利要求24至27中任一項(xiàng)所述的方法,其中,將所述數(shù)據(jù)源譯為內(nèi)部表示包括處理所述數(shù)據(jù)源以識(shí)別出其中的數(shù)據(jù),并將識(shí)別的數(shù)據(jù)映射至一組對(duì)象類型,該組對(duì)象類型表示出現(xiàn)在數(shù)據(jù)源中的內(nèi)容之類型。29.如權(quán)利要求28所述的方法,其中,映射包括將被識(shí)別的數(shù)據(jù)映射至一組適用于翻譯源數(shù)據(jù)的對(duì)象類型,該源數(shù)據(jù)表示從由數(shù)字文件、音頻/視頻表示、音樂文件、交互腳本、用戶界面文件和圖像文件組成的組中被選擇出來的內(nèi)容。30.如權(quán)利要求24至29中任一權(quán)利要求所述的方法,其中,映射包括將被識(shí)別的數(shù)據(jù)映射至一組對(duì)象類型,該組對(duì)象類型包括位圖對(duì)象類型、矢量圖形對(duì)象類型、視頻類型、動(dòng)畫類型、按鈕類型、手寫體類型和文本對(duì)象類型。31.如權(quán)利要求24至30中任一權(quán)利要求所述的方法,其中,翻譯所述數(shù)據(jù)源包括濾除部分所述源數(shù)據(jù),以便創(chuàng)建所述源文件的過濾后的內(nèi)部表示。32.如權(quán)利要求24至31中任一權(quán)利要求所述的方法,其中,翻譯所述數(shù)據(jù)源包括改變所述第一數(shù)據(jù)結(jié)構(gòu)以調(diào)整所述數(shù)字內(nèi)容的結(jié)構(gòu)。33.如權(quán)利要求24至32中任一權(quán)利要求所述的方法,其中,翻譯所述數(shù)據(jù)源包括進(jìn)一步的步驟用第二數(shù)據(jù)結(jié)構(gòu)替代數(shù)據(jù)內(nèi)容,從而修改在所述內(nèi)部表示內(nèi)出現(xiàn)的內(nèi)容。34.如權(quán)利要求24至33中任一權(quán)利要求所述的方法,其中,翻譯所述數(shù)據(jù)源包括將所述數(shù)據(jù)源翻譯為一組已知對(duì)象類型的文件對(duì)象,其中的文件對(duì)象包括一組定義所述文件對(duì)象的空間特性、瞬態(tài)特性和物理特性的參數(shù)。35.如權(quán)利要求24至34中任一權(quán)利要求所述的方法,其中,所述處理適用于在多處理器上運(yùn)行。36.如權(quán)利要求24至35中任一權(quán)利要求所述的方法,其中,所述處理提供文本編碼處理,用于以從由unicode、shift-mapping和big-5組成的組中被選擇出來的一種格式進(jìn)行編碼。37.如權(quán)利要求24至36中任一權(quán)利要求所述的方法,其中,產(chǎn)生內(nèi)容數(shù)據(jù)文件包括對(duì)一組具有相關(guān)聯(lián)的參數(shù)的文件對(duì)象進(jìn)行解析,以定義所述內(nèi)容數(shù)據(jù)文件的結(jié)構(gòu)和內(nèi)容。38.如權(quán)利要求37所述的方法,進(jìn)一步包括處理所述內(nèi)容數(shù)據(jù)文件的結(jié)構(gòu)和內(nèi)容,以創(chuàng)建一組對(duì)象,該組對(duì)象定義所述內(nèi)容數(shù)據(jù)文件并能夠被呈現(xiàn)在輸出設(shè)備上。39.如權(quán)利要求37或者38所述的方法,其中,處理所述文件對(duì)象包括處理所述相關(guān)聯(lián)的參數(shù),用于使內(nèi)容流入由所述文件對(duì)象定義的結(jié)構(gòu)里。40.如權(quán)利要求38或者依賴于權(quán)利要求38的權(quán)利要求39所述的方法,其中,所述輸出設(shè)備包括顯示器,該顯示器選自于由視覺顯示器、音頻揚(yáng)聲器、視頻播放機(jī)、電視顯示器、打印機(jī)、磁盤驅(qū)動(dòng)器、網(wǎng)絡(luò)以及嵌入式顯示器組成的組。41.一種用于與數(shù)字文件中的內(nèi)容交互的系統(tǒng),包括一文件代理模塊,用于將所述數(shù)字文件中的內(nèi)容轉(zhuǎn)換為一組表示基本結(jié)構(gòu)的內(nèi)部表示的文件對(duì)象,以及一核心文件引擎,用于呈現(xiàn)所述文件對(duì)象,以產(chǎn)生表示所述數(shù)字內(nèi)容的顯示,一用戶接口,用于檢測(cè)輸入信號(hào),該輸入信號(hào)表示用于修改所述數(shù)字文件的內(nèi)容的輸入,以及一個(gè)處理模塊,用于改變所述內(nèi)容的所述內(nèi)部表示為所述輸入信號(hào)的函數(shù),以修改所述數(shù)字內(nèi)容的顯示。42.如權(quán)利要求41所述的系統(tǒng),其中,所述用戶接口包括從由鼠標(biāo)、觸摸板、觸摸屏、操縱桿、遙控裝置以及鍵盤組成的組中被選擇出來的輸入設(shè)備。全文摘要顯示技術(shù),將應(yīng)用程序的底層的功能性與圖形顯示處理分離,從而消除或減少應(yīng)用程序的需要以控制設(shè)備顯示以及提供用于顯示的圖形用戶界面工具與控制。另外,這樣的系統(tǒng)減少或消除了在處理系統(tǒng)中當(dāng)顯示由應(yīng)用程序創(chuàng)建或?yàn)閼?yīng)用程序創(chuàng)建的數(shù)據(jù)(例如文件或視頻信息流)時(shí)、對(duì)提供該應(yīng)用程序的需要。因而可以理解的是,在一方面中,這些系統(tǒng)和方法可以顯示內(nèi)容,包括文件、視頻流或其他的內(nèi)容,并且將提供用于查看所顯示文件的圖形用戶功能,例如圖像縮放、全景展開或其他此類功能,而無需在顯示該內(nèi)容的系統(tǒng)上提供底層的應(yīng)用程序。這些系統(tǒng)和方法優(yōu)越于現(xiàn)有技術(shù)的有益效果包括允許在同樣的工作空間內(nèi)在同一顯示器上顯示來自不同應(yīng)用程序的不同類型的內(nèi)容。文檔編號(hào)G06T15/00GK1434960SQ0180795公開日2003年8月6日申請(qǐng)日期2001年4月17日優(yōu)先權(quán)日2000年4月14日發(fā)明者馬希德·安瓦爾申請(qǐng)人:皮克塞(研究)有限公司