專利名稱:利用應(yīng)用元數(shù)據(jù)的圖形用戶接口的自適應(yīng)視頻壓縮的制作方法
技術(shù)領(lǐng)域:
概括地講,本發(fā)明涉及壓縮技術(shù),并且具體地講涉及利用基于區(qū)域的編碼方案在像素區(qū)域上進(jìn)行操作的壓縮技術(shù),上述編碼方案基于應(yīng)用元數(shù)據(jù)以不同的方法編碼不同類型的數(shù)據(jù)。而且更具體地講,本發(fā)明的圖像壓縮技術(shù)估算將要被壓縮的圖像以確定它的編排,并且利用該信息來確定要使用的編碼技術(shù)的最有效的組合以獲得理想的壓縮比。
背景技術(shù):
例如像典型的臺式個人電腦(PC)或工作站之類的計(jì)算機(jī)系統(tǒng)通常使用幀緩沖器來為顯示監(jiān)視器(CRT或LCD)上的每個圖像元素存儲圖像數(shù)據(jù)。最近在網(wǎng)絡(luò)帶寬方面的增長已經(jīng)使遠(yuǎn)程視頻幀緩沖器的實(shí)現(xiàn)成為可能,甚至用于圖像密集和高幀頻的顯示器。功能上,在顯示器屏幕上的每個圖像元素具備相應(yīng)的被通常稱為像素的圖像數(shù)據(jù)的實(shí)例。當(dāng)遠(yuǎn)程地使用幀緩沖器時,通過局域網(wǎng)(LAN)連接上述幀緩沖器至視頻顯示系統(tǒng)的計(jì)算和呈現(xiàn)引擎。目前,典型的局域網(wǎng)由結(jié)點(diǎn)組成,上述結(jié)點(diǎn)通過以大約100或1000每秒百萬位的最大理論值操作的網(wǎng)絡(luò)鏈路連接。由于所有的網(wǎng)絡(luò)應(yīng)用共享帶寬,所以對于給定應(yīng)用僅可獲得一小部分帶寬。因此,傳輸至上述遠(yuǎn)程視頻幀緩沖器的數(shù)據(jù)必須被壓縮,以適應(yīng)上述可獲得的網(wǎng)絡(luò)帶寬范圍,并且當(dāng)總體網(wǎng)絡(luò)負(fù)載變化時能夠適應(yīng)網(wǎng)絡(luò)帶寬的變化的可用性。
用于上述目的的壓縮算法的效率依賴于已壓縮數(shù)據(jù)大小與原始數(shù)據(jù)大小的比值,以及可以執(zhí)行壓縮和解壓縮的速度。典型地,壓縮算法被調(diào)整用于特別目的的應(yīng)用情形,例如,對圖像壓縮利用圖像中的像素梯度小的假定;對單色呈現(xiàn)的圖像,利用大塊類似的像素值在屏幕上極接近的假定。這些算法通常對嚴(yán)密定制的應(yīng)用是有效的,但是可能對其他的應(yīng)用是很無效、效率低和不適當(dāng)?shù)?。例如,JPEG和MPEG圖像壓縮對照片圖像而不是對線條畫有效。這意味著能夠滿足由圖像、線條畫和單色組成的混合視頻顯示,而對例如像JPEG或MPEG之類的單一壓縮算法就不夠有效了。在另一方面,簡單的矢量元可以有效地編碼線圖,但是對于編碼照片圖像或視頻是低效的。因此,上述對圖像的大量空間特征的認(rèn)識使得選擇最佳的壓縮算法成為可能。
視頻流是當(dāng)順序顯示時產(chǎn)生運(yùn)動圖像視頻的靜態(tài)圖像序列?;诒伙@示圖像的類型,可以通過利用上述關(guān)于圖像在序列中彼此接近的普遍特性的知識獲得額外的壓縮效率。這個方法被稱為幀間壓縮。例如,MPEG視頻壓縮對于壓縮視頻流是有效的,其中連續(xù)圖像的不同僅在于從一個圖像幀到下一個圖像幀的對象的增量運(yùn)動。然而,由于上述壓縮算法必須對運(yùn)動著的圖像的部分執(zhí)行窮舉搜索,所以MPEG壓縮是典型的耗費(fèi)計(jì)算的操作。如果這些“運(yùn)動矢量”事先是已知的,則MPEG壓縮將不會那么難以執(zhí)行??傊鲜龌ㄙM(fèi)大量計(jì)算才能推算出來的視頻流的大量時間特征的知識,在產(chǎn)生上述流之后,會極大地輔助上述壓縮算法的計(jì)算效率。
由于如上所述的理由,以及由于其他的通過閱讀和理解本說明書將會對本領(lǐng)域技術(shù)人員變得顯而易見的下述理由,在該技術(shù)中需要用于壓縮數(shù)據(jù)的計(jì)算高效的系統(tǒng)。還有對于改善的系統(tǒng)和用于增加通信信道吞吐量的方法的需要。
發(fā)明內(nèi)容
在此陳述了以上所述的缺點(diǎn)、缺陷和問題,通過閱讀和研究下列說明其將會被理解。
在一個方面,描述了用于在產(chǎn)生具備一個或多個媒體區(qū)域的數(shù)據(jù)的源設(shè)備和圖像幀緩沖器之間傳輸數(shù)據(jù)的方法。分析上述一個或多個媒體區(qū)域以選擇依賴于元數(shù)據(jù)的最好地適合于上述給定數(shù)據(jù)區(qū)域的壓縮算法。元數(shù)據(jù)描述是配置文件元數(shù)據(jù)、源原始元數(shù)據(jù)和應(yīng)用高級元數(shù)據(jù)其中之一。上述方法可以選擇MPEG壓縮、JPEG圖像壓縮、矢量圖壓縮、霍夫曼編碼、H.261壓縮或用戶定義的或相關(guān)的壓縮算法。當(dāng)元數(shù)據(jù)描述不適用于壓縮算法的選擇時,則上述系統(tǒng)選擇默認(rèn)壓縮或通過不壓縮發(fā)送上述包。
在另一個方面,通過劃分混合媒體流為多個區(qū)域,具備可執(zhí)行指令的計(jì)算機(jī)可訪問介質(zhì)用于命令數(shù)據(jù)處理器發(fā)送數(shù)據(jù)至遠(yuǎn)程幀緩沖器??梢酝ㄟ^關(guān)于用于上述混合媒體流數(shù)據(jù)的區(qū)域的顯示的功能和類型的高級元數(shù)據(jù)、識別來自原始操作的關(guān)于應(yīng)用元數(shù)據(jù)的源原始元數(shù)據(jù)、識別上述混合媒體流數(shù)據(jù)區(qū)域的定義特定和時間特征的信息,描述每一個區(qū)域。于是上述處理器選擇基于上述應(yīng)用元數(shù)據(jù)的壓縮方法。
在又一個方面,所描述的數(shù)據(jù)壓縮系統(tǒng)具備處理器、存儲設(shè)備和在上述處理器中執(zhí)行的用于識別至少一個元數(shù)據(jù)并基于上述所識別的元數(shù)據(jù)壓縮輸入流的軟件方法。
在此描述變化范圍的系統(tǒng)、客戶機(jī)、服務(wù)器、方法和計(jì)算機(jī)可讀介質(zhì)。除在本概要中描述的上述方面和優(yōu)點(diǎn)之外,通過參考附圖和通過閱讀隨后的詳細(xì)說明,更多方面和優(yōu)點(diǎn)會變得顯而易見。
圖1是描述用于壓縮來自呈現(xiàn)引擎和用于保持用于后續(xù)顯示的解壓縮輸入數(shù)據(jù)的幀緩沖器的輸入數(shù)據(jù)的實(shí)施方式的系統(tǒng)級概述的圖;圖2描述根據(jù)用于壓縮輸入數(shù)據(jù)的實(shí)施方式的使用配置、原始和應(yīng)用元數(shù)據(jù);圖3根據(jù)用于壓縮輸入數(shù)據(jù)的實(shí)施方式,示例了配置、原始和應(yīng)用元數(shù)據(jù)的詳圖;圖4是描述可用于壓縮輸入數(shù)據(jù)的內(nèi)容和壓縮方法的表格;圖5是根據(jù)基于已識別屬性用于壓縮輸入數(shù)據(jù)的實(shí)施方式的方法流程圖;圖6是根據(jù)基于已獲得的元數(shù)據(jù)用于壓縮輸入數(shù)據(jù)的實(shí)施方式的方法流程圖;圖7是根據(jù)基于已獲得的獨(dú)立或從屬元數(shù)據(jù)用于壓縮輸入數(shù)據(jù)的實(shí)施方式的方法的流程圖;圖8是可以在其中實(shí)現(xiàn)不同實(shí)施方式的硬件和操作環(huán)境的方塊圖;圖9是由上述用于壓縮輸入數(shù)據(jù)的處理器執(zhí)行的操作的方塊表示;以及圖10是具有當(dāng)由處理器執(zhí)行時壓縮輸入數(shù)據(jù)的指令的數(shù)據(jù)幀的圖。
具體實(shí)施例方式
在以下詳細(xì)說明中,在此參考成為其一部分的上述附圖,并且在其中通過描述可以被實(shí)現(xiàn)的具體實(shí)施方式
的方式被顯示。這些實(shí)施方式被足夠詳細(xì)地描述以使本領(lǐng)域技術(shù)人員能夠?qū)嵤┥鲜鰧?shí)施方式,而且可以理解的是,可以利用其他的實(shí)施方式并可以進(jìn)行邏輯的、機(jī)械的、電學(xué)的及其他的改變而不脫離這些實(shí)施方式的范圍。因此,以下詳細(xì)說明不被理解為限制的含義。
該詳細(xì)說明被分成五部分。在第一部分中,描述系統(tǒng)級概述。在第二部分中,描述實(shí)施方式的方法。在第三部分中,描述連同其可以被實(shí)施的實(shí)施方式的硬件和操作環(huán)境。在第四部分中,描述具體的實(shí)現(xiàn)。最后,在第五部分中,提供詳細(xì)說明的結(jié)論。
系統(tǒng)級概述圖1是提供用于在呈現(xiàn)引擎和顯示設(shè)備之間交換數(shù)據(jù)的系統(tǒng)的系統(tǒng)級概述的方塊圖。系統(tǒng)100解決在本技術(shù)中用于增加通信信道吞吐量的需要。
圖1描述用于輸入、存取和與來自呈現(xiàn)引擎104的信息進(jìn)行交互的網(wǎng)絡(luò)配置100。用戶通過諸如124之類的終端訪問上述呈現(xiàn)引擎104。上述終端124向用戶提供關(guān)于上述呈現(xiàn)引擎104的簽到工具,以及為某些用戶提供改變或定制上述呈現(xiàn)引擎104的能力。來自呈現(xiàn)引擎104的信息可以被保存在存儲器服務(wù)器110,供計(jì)算機(jī)系統(tǒng)124稍后進(jìn)行查看或用于由呈現(xiàn)引擎104做進(jìn)一步處理。更進(jìn)一步地,在服務(wù)器110中的信息可以以壓縮或解壓縮格式被存儲并且會依賴于系統(tǒng)100中的可用資源。舉例來說,為了為其他用戶或應(yīng)用保存網(wǎng)絡(luò)102的帶寬,以壓縮狀態(tài)存儲信息將會是更有利的。然而,在上述計(jì)算機(jī)系統(tǒng)124和上述服務(wù)器110之間的直接連接中,傾向于對上述信息用解壓縮狀態(tài)進(jìn)行存儲,因?yàn)樗鼤p少由在顯示器120處的解壓縮程序116引入的延遲。在上述系統(tǒng)100的優(yōu)選實(shí)施方式中,在終端124的用戶可以訪問網(wǎng)絡(luò)102以與呈現(xiàn)引擎104進(jìn)行連接。在其他的實(shí)施方式中,呈現(xiàn)引擎104可以駐留在內(nèi)部網(wǎng)、外部網(wǎng)、局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)或任何其他類型的網(wǎng)絡(luò)或獨(dú)立計(jì)算機(jī)上。如果上述呈現(xiàn)引擎104駐留在網(wǎng)絡(luò)上,那么在124處的計(jì)算機(jī)或終端是任何一種能夠與該網(wǎng)絡(luò)連接的機(jī)器或設(shè)備。如果可以通過國際互聯(lián)網(wǎng)絡(luò)訪問上述呈現(xiàn)引擎104,那么在124處的計(jì)算機(jī)或終端是任何一種能夠與上述國際互聯(lián)網(wǎng)絡(luò)連接的機(jī)器或設(shè)備。如果在122處的計(jì)算機(jī)系統(tǒng)是獨(dú)立計(jì)算機(jī),那么上述呈現(xiàn)引擎是與在122處的計(jì)算機(jī)相同的設(shè)備??梢酝ㄟ^光纖電纜、無線系統(tǒng),通過網(wǎng)關(guān),通過網(wǎng)絡(luò)或這些連接設(shè)備的組合連接用戶至上述呈現(xiàn)引擎104。
上述呈現(xiàn)引擎104是產(chǎn)生由一個或多個視頻、圖形或用于在計(jì)算機(jī)124上再現(xiàn)的其他媒體組成的數(shù)據(jù)流的設(shè)備。上述數(shù)據(jù)流可以被認(rèn)為是輸入數(shù)據(jù)、輸入數(shù)據(jù)流、混合媒體數(shù)據(jù)和混合媒體數(shù)據(jù)流,而不脫離定義數(shù)據(jù)是一個或多個視頻、圖形、文本、動畫或任何其他的由計(jì)算機(jī)產(chǎn)生的數(shù)據(jù)或信息的原始概念??梢栽谟?jì)算機(jī)124上劃分上述數(shù)據(jù)流以顯示在上述顯示器的區(qū)域中,或者由再生上述數(shù)據(jù)的諸如音頻、視頻或文本再生設(shè)備之類的其他設(shè)備進(jìn)行顯示。呈現(xiàn)引擎104可被用在較高分辨率的醫(yī)學(xué)成像中,在計(jì)算斷層分析(CT)的立體繪制和磁共振成象(MRI)中,在允許旋轉(zhuǎn)和縮放的3D可視化中,或者在認(rèn)識物質(zhì)世界時用于輔助的任何其他目的中。
元數(shù)據(jù)提取器106采集關(guān)于輸入數(shù)據(jù)流的數(shù)據(jù),所述輸入數(shù)據(jù)流指示一個或多個配置文件元數(shù)據(jù)、原始對象或由上述呈現(xiàn)引擎104使用以產(chǎn)生數(shù)據(jù)流的應(yīng)用。上述元數(shù)據(jù)提取器106采集關(guān)于由上述呈現(xiàn)引擎104產(chǎn)生的數(shù)據(jù)的數(shù)據(jù)。
壓縮引擎108是一個或多個可以被用于壓縮由上述呈現(xiàn)引擎104產(chǎn)生的數(shù)據(jù)流的壓縮方案。此壓縮可以被用于上述數(shù)據(jù)流的區(qū)域或上述整個流。壓縮引擎108是接收來自上述呈現(xiàn)引擎104的數(shù)據(jù)流和關(guān)于來自上述元數(shù)據(jù)提取器106的數(shù)據(jù)流的數(shù)據(jù),以選擇適當(dāng)壓縮算法的程序或設(shè)備。上述壓縮算法可以是運(yùn)動圖像專家組(MPEG)壓縮、聯(lián)合圖像專家組(JPEG)壓縮、小波壓縮、碎片壓縮、矢量圖壓縮、霍夫曼編碼、H261及其他用戶選擇的壓縮技術(shù)之一。上述壓縮技術(shù)的目標(biāo)是減少用于表示上述數(shù)據(jù)流或上述數(shù)據(jù)流的已處理部分的比特?cái)?shù)。這些技術(shù)通常設(shè)法權(quán)衡傳輸時間、在信道上的數(shù)據(jù)量(帶寬)和所接收數(shù)據(jù)流的品質(zhì)之間的利弊。這些技術(shù)中的一些是無損的,意思是指它們保存上述原始數(shù)據(jù)的所有信息以便當(dāng)解壓縮上述數(shù)據(jù)時能精確地再生。其他的技術(shù)通常稱為有損的,丟棄的信息是在視覺上可忽略的。僅僅通過近似上述原始數(shù)據(jù)(而不是精確地再生它),有損的技術(shù)通常能夠比無損的技術(shù)產(chǎn)生更高的壓縮比。在那些目前可利用的壓縮技術(shù)中選擇適當(dāng)?shù)膲嚎s技術(shù)的過程中,用戶必須考慮具體的將要被壓縮的流數(shù)據(jù)、理想的壓縮比和品質(zhì)以及傳輸時間和帶寬要求,同時理解高壓縮比帶來低傳輸時間和低帶寬要求但是亦產(chǎn)生較低品質(zhì)的圖像。應(yīng)當(dāng)注意,傳輸時間是上述數(shù)據(jù)流從上述呈現(xiàn)引擎104出發(fā)并到達(dá)計(jì)算機(jī)124所花費(fèi)的時間。雖然上述信道帶寬加上上述傳輸時間,但是壓縮算法的選擇具有對上述傳輸時間以及上述壓縮品質(zhì)的本質(zhì)的影響。
解壓縮引擎116擴(kuò)展由上述呈現(xiàn)引擎104產(chǎn)生的數(shù)據(jù)流以在顯示器120上進(jìn)行顯示。來自局域網(wǎng)102的每一屏幕(區(qū)域)的混合媒體數(shù)據(jù)由解壓縮引擎116讀出,并且在適當(dāng)?shù)奶幚碇蟊粋鬏斨翈彌_器118。于是,幀緩沖器118寫入并存儲上述每一個對應(yīng)于一個屏幕的從解壓縮引擎電路116通過數(shù)據(jù)總線(未示出)傳輸?shù)幕旌厦襟w數(shù)據(jù)。在顯示器120中的內(nèi)部電路從每一個對應(yīng)于一個屏幕的從解壓縮引擎電路116傳輸?shù)纳鲜龌旌厦襟w數(shù)據(jù)產(chǎn)生圖像信號,因此,使上述圖像信號能在顯示器120上被顯示。
幀緩沖器118保持上述數(shù)據(jù)流直到它可以被顯示。上述幀緩沖器118的每一個地址對應(yīng)于上述顯示終端120上的像素。因此,上述幀緩沖器是上述顯示器表面的表示,并且形成圖像或顯示器片段的一簇像素可以被表示為在上述幀緩沖器118上地址的集合。幀緩沖器118,由可寫的半導(dǎo)體存儲器(例如,SDRAM(同步動態(tài)隨機(jī)存取存儲器))、DRAM(動態(tài)隨機(jī)存取存儲器)、Rambus DRAM等等組成,并且寫入和存儲通過數(shù)據(jù)總線從解壓縮引擎116傳輸?shù)拿恳黄聊?幀)的混合媒體數(shù)據(jù)。當(dāng)用戶查看時,上述被存儲的混合媒體數(shù)據(jù)被通過顯示器120一屏一屏地從幀緩沖器118讀出。
圖2是提供用于在呈現(xiàn)引擎104和顯示設(shè)備120之間交換數(shù)據(jù)的元數(shù)據(jù)提取器106的系統(tǒng)級概述的方塊圖。系統(tǒng)106解決在本技術(shù)中用于增加通信信道的吞吐量和提高計(jì)算機(jī)124中的已解壓縮流的品質(zhì)的需要。
配置文件元數(shù)據(jù)202表示關(guān)于保存在配置文件中的應(yīng)用元數(shù)據(jù)的信息或數(shù)據(jù),所述配置文件定義上述幀緩沖器118的幾何區(qū)域并聲明上述區(qū)域的大量特定和時間特征。上述壓縮引擎可以使用這些信息以對每一個區(qū)域使用適當(dāng)?shù)木幗獯a器??梢詿o需修改上述應(yīng)用程序源代碼對任何應(yīng)用采用這個技術(shù)。
上述原始元數(shù)據(jù)204用本地的、模塊化的呈現(xiàn)引擎直接從上述呈現(xiàn)原始操作的檢查中采集關(guān)于系統(tǒng)的數(shù)據(jù)或信息。舉例來說,X窗口服務(wù)器具有關(guān)于分配給顯示器120上的每一個軟件應(yīng)用程序的窗口對象的有用信息,以及隨著執(zhí)行上述應(yīng)用程序時間的過去呈現(xiàn)操作的分配。如果發(fā)現(xiàn)一個單獨(dú)的應(yīng)用利用單色填充操作要對特定的窗口呈現(xiàn),上述X服務(wù)器可以產(chǎn)生命令上述壓縮引擎利用適當(dāng)?shù)木幗獯a器的元數(shù)據(jù),并且當(dāng)上述窗口被重新配置到上述屏幕上的不同位置時,上述服務(wù)器可以直接更新上述元數(shù)據(jù)??梢圆恍薷膽?yīng)用程序源代碼,而通過修改上述呈現(xiàn)引擎源代碼利用這個技術(shù)。
應(yīng)用程序元數(shù)據(jù)206利用以下事實(shí)軟件應(yīng)用程序可以包含輯邏以確定它在執(zhí)行什么功能,以及什么類型的顯示器120被用于顯現(xiàn)上述應(yīng)用程序數(shù)據(jù)。依賴于上述應(yīng)用程序的邏輯流程,當(dāng)分配上述顯示器120的區(qū)域供圖像、視頻或單色或線條畫用戶接口呈現(xiàn)之用時可以直接產(chǎn)生元數(shù)據(jù)。
上述配置元數(shù)據(jù)202、原始元數(shù)據(jù)204以及應(yīng)用程序元數(shù)據(jù)206可以彼此協(xié)作以產(chǎn)生由上述壓縮引擎108使用的組合的元數(shù)據(jù)包。同樣地,上述壓縮引擎108可以分別地處理來自上述元數(shù)據(jù)組成部分的單獨(dú)的數(shù)據(jù)以減少上述數(shù)據(jù)流的比特?cái)?shù)。
圖3是提供用于在呈現(xiàn)引擎104和顯示設(shè)備120之間交換數(shù)據(jù)的元數(shù)據(jù)提取器106的系統(tǒng)級概述的方塊圖,并且,特別地,上述功能由每個元數(shù)據(jù)模塊執(zhí)行。系統(tǒng)106解決在上述技術(shù)中用于增加通信信道吞吐量的需要。
配置文件元數(shù)據(jù)202是可以被預(yù)編譯并且當(dāng)執(zhí)行壓縮功能時可以被從源代碼調(diào)用的庫函數(shù)。當(dāng)調(diào)用上述功能時檢查定義上述幀緩沖器的幾何區(qū)域的配置文件并且聲明上述區(qū)域的大量特定和時間特征。于是利用這個信息為上述呈現(xiàn)引擎的104數(shù)據(jù)流的每一個區(qū)域選擇適當(dāng)?shù)木幗獯a器。
原始元數(shù)據(jù)204是可以被預(yù)編譯并且當(dāng)執(zhí)行上述壓縮功能時可以被從上述源代碼調(diào)用的庫函數(shù)。上述功能確定被選擇以由呈現(xiàn)引擎104執(zhí)行呈現(xiàn)操作的被分配對象306。更進(jìn)一步地,上述功能隨著時間的過去查看呈現(xiàn)操作308的分布以確定用在上述壓縮引擎上的適當(dāng)?shù)膲嚎s算法。
應(yīng)用元數(shù)據(jù)206是可以被預(yù)編譯并且當(dāng)執(zhí)行壓縮功能時可以被從源代碼調(diào)用的庫函數(shù)。上述應(yīng)用元數(shù)據(jù)利用在上述源執(zhí)行的功能310以及在計(jì)算機(jī)124處的顯示器的類型312以便選擇適當(dāng)?shù)膲嚎s算法。
上述壓縮引擎106的能力是查看將要分配給上述幀緩沖器118的區(qū)域的特征、由呈現(xiàn)引擎104利用的對象以及被上述呈現(xiàn)引擎選擇的應(yīng)用程序以選擇適當(dāng)?shù)膲嚎s算法,以便保持?jǐn)?shù)據(jù)保真度和優(yōu)化計(jì)算資源。
圖4示出描述上述媒體內(nèi)容404、406、408、410以及當(dāng)選擇壓縮數(shù)據(jù)流時可能選擇的不同壓縮算法402的表格。由于來自上述呈現(xiàn)引擎的數(shù)據(jù)流可能包含一個或多個媒體內(nèi)容,所以上述壓縮引擎106的目標(biāo)是通過分析如上在圖3中所闡述的元數(shù)據(jù)以選擇最適當(dāng)?shù)膲嚎s算法。
聯(lián)合圖像專家組(JPEG)壓縮適用于圖像內(nèi)容404和視頻內(nèi)容410。JPEG壓縮適用于能夠在減少的帶寬的情況下以較低的幀頻為代價維持圖像質(zhì)量的柔性降級,與圖像復(fù)雜性無關(guān)的恒定的圖像質(zhì)量;可利用的標(biāo)準(zhǔn)壓縮和解壓縮;低損耗的編碼和解碼;更快和更簡單地執(zhí)行內(nèi)容搜索與實(shí)行圖象處理;更少的密集計(jì)算以至可以解碼許多信道并在顯示監(jiān)視器上進(jìn)行顯示;對實(shí)時影像和清晰的單獨(dú)圖像適用的低延遲編碼和解碼;以及,等同于如果包丟失發(fā)生的情況下快速圖像流恢復(fù)的緩沖性。然而,JPEG需要以高于五(5)每秒幀的幀頻的高帶寬消耗和存儲器需求;并且,沒有用于同步聲音的支持。
運(yùn)動圖像專家組(MPEG)壓縮算法適用于恒定幀頻(CBR)、引起以幀頻高于5fps(幀每秒)的低帶寬需求,以幀頻高于5fps的低存儲器需求的高壓縮,并且,由于恒定比特率簡化了網(wǎng)絡(luò)設(shè)計(jì)而且可以維持帶寬供應(yīng)。然而,MPEG需要復(fù)雜的壓縮處理需求,并且由于它的低魯棒性,如果帶寬低于特定閾值,則所有的視頻將被丟失。
矢量圖較適合用于作為一系列說明如何利用形狀、線和變換的序列再現(xiàn)圖像的指令被傳輸?shù)木€和圖形。這類似于通過精密地記錄筆跡、顏料選擇和混合然后再現(xiàn)原來用于產(chǎn)生它的筆跡順序再現(xiàn)繪畫作品。矢量圖通常是數(shù)據(jù)高效的,特別是當(dāng)被壓縮時,具有最小的存儲器和帶寬要求。當(dāng)印刷或縮放時,甚至當(dāng)放大或擴(kuò)大時,它們被呈現(xiàn)而不會產(chǎn)生像素看起來不在其原來的位置且圖象歪斜的情況(pixilation)。因此,矢量圖可以帶著有限精確的細(xì)節(jié)再現(xiàn)圖形,允許它被分解為基本的形狀和曲線。
霍夫曼編碼提供在實(shí)現(xiàn)方面的簡單性,因?yàn)樗梢酝ㄟ^表查找被完成,并且對于給定塊大小,霍夫曼編碼給予最好的編碼效率。然而,霍夫曼編碼需要獲得會引起高計(jì)算成本的源統(tǒng)計(jì)。
在上述壓縮引擎106中也可能存在其他的壓縮算法。除上述算法之外,上述呈現(xiàn)引擎104的用戶還可以選擇更加適當(dāng)?shù)乃惴ǘ幻撾x系統(tǒng)100的上述主要優(yōu)點(diǎn)。其他的算法是H261、小波壓縮、碎片壓縮和Macromedia Flash。
已經(jīng)在上述詳細(xì)說明的本部分中描述了實(shí)施方式的操作的系統(tǒng)級概述。為了在呈現(xiàn)引擎104和諸如計(jì)算機(jī)124之類的計(jì)算機(jī)之間傳輸數(shù)據(jù),描述了數(shù)據(jù)壓縮配置。一些實(shí)施方式在諸如圖1和圖8中的計(jì)算機(jī)122之類的計(jì)算機(jī)上的多處理、多線程操作環(huán)境中操作。
雖然上述系統(tǒng)100不局限于任何一種具體的網(wǎng)絡(luò)配置,但是為清楚起見已經(jīng)描述了一簡化的局域網(wǎng)。
實(shí)施方式的方法在上述部分中,已經(jīng)描述了實(shí)施方式操作的系統(tǒng)級概述。在本部分中,通過參考一系列流程圖描述由這些實(shí)施方式的服務(wù)器和客戶機(jī)執(zhí)行的特定方法。通過參考流程圖描述上述方法使本領(lǐng)域技術(shù)人員能夠開發(fā)這樣的程序、固件或硬件,包含在適當(dāng)?shù)挠?jì)算機(jī)化的客戶機(jī)上執(zhí)行的指令,上述客戶機(jī)的處理器執(zhí)行來自計(jì)算機(jī)可讀介質(zhì)的上述指令。類似地,上述服務(wù)器計(jì)算機(jī)程序、固件或硬件執(zhí)行的方法還由計(jì)算機(jī)可執(zhí)行指令組成。方法500、600、700和900由在計(jì)算機(jī)上執(zhí)行的客戶機(jī)程序執(zhí)行,或由計(jì)算機(jī)的一部分固件或硬件執(zhí)行,上述計(jì)算機(jī)是諸如在圖2中的計(jì)算機(jī)122,并且包括要求由上述呈現(xiàn)引擎104、壓縮引擎108和元數(shù)據(jù)提取器106執(zhí)行的動作。
圖5是由客戶機(jī)根據(jù)實(shí)施方式執(zhí)行的方法500的流程圖。在當(dāng)前的配置中,上述客戶機(jī)是一個或多個諸如計(jì)算機(jī)122之類的計(jì)算機(jī)、壓縮引擎106或呈現(xiàn)引擎104。方法500解決在上述技術(shù)中用于增加吞吐量和用于適應(yīng)當(dāng)總體網(wǎng)絡(luò)負(fù)載變化時變化的網(wǎng)絡(luò)帶寬利用率的需要。
上述方法從由上述呈現(xiàn)引擎104輸入數(shù)據(jù)的動作502開始,并且接收并分析來自上述元數(shù)據(jù)提取器106的數(shù)據(jù)以適應(yīng)上述傳輸信道的帶寬要求。來自上述呈現(xiàn)引擎104的數(shù)據(jù)是表示視頻、文本、圖形、圖畫和音頻的混合媒體流。通過激活適當(dāng)?shù)娘@示驅(qū)動器、音頻驅(qū)動器或其他的設(shè)備,可以在計(jì)算機(jī)124上顯示或再現(xiàn)上述混合視頻。上述顯示可以是平鋪顯示、幀式的或拆分式的以顯示每一個單獨(dú)的媒體。一旦在動作502已經(jīng)接收上述輸入數(shù)據(jù),控制轉(zhuǎn)到動作504進(jìn)行更進(jìn)一步的處理。
在動作504中,確定用于上述輸入數(shù)據(jù)流的屬性。上述屬性是配置文件元數(shù)據(jù)、原始元數(shù)據(jù)、應(yīng)用元數(shù)據(jù)中的至少一個。這些屬性中的每一個表示元數(shù)據(jù)、描述上述輸入數(shù)據(jù)流的數(shù)據(jù),其被上述壓縮引擎108用于有效地壓縮上述混合媒體流以適應(yīng)諸如局域網(wǎng)102之類的通信信道的帶寬要求。一旦已經(jīng)確定上述屬性,控制轉(zhuǎn)到動作506進(jìn)行更進(jìn)一步的處理。
在動作506中,基于在動作504中的已識別屬性為上述輸入數(shù)據(jù)流選擇上述壓縮算法。具有上述識別屬性的壓縮引擎108選擇適當(dāng)?shù)乃惴ㄒ詨嚎s上述輸入數(shù)據(jù)流。上述被選擇的壓縮算法可以對于上述輸入數(shù)據(jù)流的每一個區(qū)域是專用的或者對于上述輸入數(shù)據(jù)流的每一個區(qū)域是通用的。當(dāng)上述流是混合媒體流時,那么基于對那些區(qū)域最適當(dāng)?shù)膲嚎s算法壓縮媒體的每一個區(qū)域。當(dāng)圖像是上述輸入數(shù)據(jù)流的一部分時,那么很可能選擇JPEG算法,在線和圖畫的情況下,那么選擇矢量圖壓縮或可能是霍夫曼編碼。在視頻的情況下,那么選擇MPEG壓縮算法。在可供選擇的方案中,可以對上述輸入流中的任何媒體選擇單獨(dú)的算法。如果在帶寬方面有所增加,可以預(yù)料可能不需要壓縮或者可以緩和上述壓縮比以減少與執(zhí)行壓縮操作固有地有關(guān)的延遲。在已經(jīng)為每一個媒體或者區(qū)域選擇上述壓縮算法之后,控制轉(zhuǎn)到動作508用于更進(jìn)一步的處理。
在動作508中,根據(jù)上述在動作506中選擇的壓縮算法,壓縮上述輸入數(shù)據(jù)流。在上述壓縮之后,引入上述輸入流到上述局域網(wǎng)以便在顯示器120上呈現(xiàn)或者在文件倉庫110中存儲用于隨后使用。
圖6是客戶機(jī)根據(jù)實(shí)施方式執(zhí)行的方法600的流程圖。在當(dāng)前的配置中,上述客戶機(jī)是一個或多個諸如計(jì)算機(jī)122之類的計(jì)算機(jī)、壓縮引擎106或呈現(xiàn)引擎104。方法600解決在上述技術(shù)中用于增加吞吐量和用于適應(yīng)當(dāng)總體網(wǎng)絡(luò)負(fù)載變化時變化的網(wǎng)絡(luò)帶寬利用率的需要。
上述方法600由從上述呈現(xiàn)引擎104和上述元數(shù)據(jù)提取器106輸入數(shù)據(jù)的動作602開始。來自上述呈現(xiàn)引擎104的數(shù)據(jù)表示視頻、文本、圖形、圖畫和音頻,其共同地被稱為混合媒體流。通過激活上述適當(dāng)?shù)娘@示驅(qū)動器、音頻驅(qū)動器或者其他設(shè)備,可以在計(jì)算機(jī)124上顯示或者再現(xiàn)混合視頻。上述顯示可以是平鋪顯示、幀式的或者拆分式的以顯示每一個單獨(dú)的媒體。一旦在動作602中已經(jīng)接收到上述輸入數(shù)據(jù),控制轉(zhuǎn)到動作604進(jìn)行更進(jìn)一步的處理。
在動作604中,獲得元數(shù)據(jù)用于上述混合媒體數(shù)據(jù)。上述屬性是配置文件元數(shù)據(jù)、原始元數(shù)據(jù)、應(yīng)用元數(shù)據(jù)中的至少一個。這些屬性的每一個表示元數(shù)據(jù)、描述上述輸入數(shù)據(jù)流的數(shù)據(jù),上述壓縮引擎108可用其來有效地壓縮上述混合媒體流以適應(yīng)諸如局域網(wǎng)102之類的通信信道的帶寬要求。一旦已經(jīng)獲得上述元數(shù)據(jù),控制轉(zhuǎn)到動作606用于更進(jìn)一步的處理。
在動作606中,劃分上述混合媒體數(shù)據(jù)為區(qū)域??梢员挥成涞缴鲜鲲@示器120和上述幀緩沖器118的上述混合媒體數(shù)據(jù)的每一個區(qū)域,被劃分為它的分類組件諸如文本、視頻、圖像、圖形及其他媒體。在劃分上述混合媒體數(shù)據(jù)為區(qū)域之后,控制則轉(zhuǎn)到動作608用于更進(jìn)一步的處理。
在動作608中,基于上述已獲得的元數(shù)據(jù)604和上述被劃分的區(qū)域606選擇上述壓縮算法用于上述輸入數(shù)據(jù)流。具有用于每一個區(qū)域的上述已獲得元數(shù)據(jù)的上述壓縮引擎108選擇適當(dāng)?shù)乃惴ㄒ詨嚎s上述輸入數(shù)據(jù)流。當(dāng)上述流是混合媒體流時,則基于用于那些區(qū)域的最適當(dāng)?shù)膲嚎s算法壓縮媒體的每一個區(qū)域。當(dāng)圖像是部分上述輸入數(shù)據(jù)流時,那么很可能選擇JPEG算法,在線和圖畫的情況下,那么選擇矢量圖壓縮或者可能是霍夫曼編碼。在視頻的情況下,那么選擇MPEG壓縮算法。如果在帶寬方面有增加,可以預(yù)料可能不需要壓縮或者可以緩和上述壓縮比以減少與執(zhí)行壓縮操作有關(guān)地固有的延遲。在已經(jīng)為每個媒體或區(qū)域選擇上述壓縮算法之后,控制轉(zhuǎn)到動作610用于更進(jìn)一步的處理。
在動作610中,根據(jù)在動作608中選擇的壓縮算法壓縮上述輸入數(shù)據(jù)流的每個區(qū)域。在上述壓縮之后,引入上述輸入流到上述局域網(wǎng)以在顯示器120上呈現(xiàn)或者保存在文件倉庫110中用于隨后使用。
在動作612中,引入上述輸入數(shù)據(jù)流到上述局域網(wǎng)的流量中以被再現(xiàn)或存儲在上述網(wǎng)絡(luò)的另一個節(jié)點(diǎn)。當(dāng)計(jì)算機(jī)124接收時,在顯示器120上再現(xiàn)它。當(dāng)存儲器服務(wù)器110接收時,用于上述呈現(xiàn)引擎104隨后的還原或計(jì)算機(jī)124在120的顯示。
圖7是形成實(shí)施方式的方法700的流程圖。方法700解決在上述技術(shù)中用于增加網(wǎng)絡(luò)吞吐量的需要。
圖7從動作702開始,其中接收輸入數(shù)據(jù)流。上述輸入數(shù)據(jù)流是在呈現(xiàn)引擎104產(chǎn)生的和在顯示器120過早地呈現(xiàn)的文本、視頻、圖像或其他媒體的數(shù)據(jù)。一旦已經(jīng)接收到上述輸入,控制轉(zhuǎn)到動作704用于更進(jìn)一步的處理。
在動作704中,分析上述輸入數(shù)據(jù)以確定正在為上述媒體流的每一區(qū)域呈現(xiàn)什么類型的媒體。如前所述,上述區(qū)域可以是一個或多個文本、視頻、圖像或其他的媒體。一旦已經(jīng)識別上述輸入數(shù)據(jù)流的區(qū)域,控制轉(zhuǎn)到動作706為更進(jìn)一步的處理。
在動作706中,在從屬元數(shù)據(jù)區(qū)域和獨(dú)立元數(shù)據(jù)區(qū)域之間拆分或劃分上述輸入流。上述拆分的目的是確定那些區(qū)域存在元數(shù)據(jù)信息,并且可以導(dǎo)致嚴(yán)密地適合在那些區(qū)域中的媒體類型的壓縮算法的選擇。一旦執(zhí)行這個判別功能,利用對上述已識別區(qū)域最適當(dāng)?shù)乃惴▔嚎s從屬元數(shù)據(jù)區(qū)域708。利用任何一種缺省的壓縮算法,壓縮上述獨(dú)立元數(shù)據(jù)區(qū)域710。應(yīng)當(dāng)注意,對于上述從屬和獨(dú)立元數(shù)據(jù)兩者可能存在沒有選擇壓縮上述區(qū)域的情況。在那些罕有的情況中,通過上述傳輸信道而不用任何壓縮發(fā)送上述區(qū)域。在已經(jīng)壓縮上述區(qū)域之后,控制轉(zhuǎn)到動作712用于更進(jìn)一步的處理。
在動作712中,通過上述信道傳輸上述輸入數(shù)據(jù)流以在顯示器120上顯示或者保存在存儲器服務(wù)器110中。
在一些實(shí)施方式中,方法500-700以包含在載波中的計(jì)算機(jī)數(shù)據(jù)信號被實(shí)現(xiàn),那表示當(dāng)由諸如在圖8中的處理器804之類的處理器執(zhí)行時的指令序列,使上述處理器執(zhí)行上述各自的方法。在其他的實(shí)施方式中,以具備能夠命令諸如在圖8中的處理器804之類的處理器的可執(zhí)行指令的計(jì)算機(jī)可訪問介質(zhì)實(shí)現(xiàn)方法500-700,以執(zhí)行各自的方法。在變化的實(shí)施方式中,上述介質(zhì)是磁介質(zhì)、電子介質(zhì)或者光學(xué)介質(zhì)。
硬件和操作環(huán)境圖8是上述硬件和操作環(huán)境800的方塊圖,其中可以實(shí)施不同的實(shí)施方式。圖8的描述提供計(jì)算機(jī)硬件和適當(dāng)?shù)挠?jì)算環(huán)境連同一些可以實(shí)現(xiàn)的實(shí)施方式的概述。按照執(zhí)行計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)描述實(shí)施方式。然而,可以在計(jì)算機(jī)硬件中全部實(shí)現(xiàn)一些實(shí)施方式,其中在只讀存儲器中實(shí)現(xiàn)計(jì)算機(jī)可執(zhí)行指令。還可以在客戶機(jī)/服務(wù)器計(jì)算環(huán)境中實(shí)現(xiàn)一些實(shí)施方式,其中執(zhí)行任務(wù)的遠(yuǎn)程設(shè)備通過通信網(wǎng)絡(luò)連接。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地的和遠(yuǎn)程的存儲裝置兩者中。
計(jì)算機(jī)124包含處理器804,可商業(yè)地從英特爾公司、摩托羅拉公司、美國Cyrix公司以及其它公司獲得。計(jì)算機(jī)124還包含隨機(jī)存取存儲器(RAM)806、壓縮和解壓縮引擎116、幀緩沖器118、只讀存儲器(ROM)808以及一個或多個海量存儲器810,與可操作地耦合各個系統(tǒng)組成部分至上述處理單元804的系統(tǒng)總線812。上述存儲器806、808和海量存儲器,810,是計(jì)算機(jī)可訪問介質(zhì)的類型。更具體地說海量存儲器810是非易失性的計(jì)算機(jī)可訪問介質(zhì)的類型,并且可以包含一個或多個硬盤驅(qū)動器、軟盤驅(qū)動器、光盤驅(qū)動器和磁帶驅(qū)動器。上述處理器804執(zhí)行存儲在計(jì)算機(jī)可訪問介質(zhì)上的計(jì)算機(jī)程序。
通過通信設(shè)備816,可以通信地連接計(jì)算機(jī)124至國際互聯(lián)網(wǎng)絡(luò)814。在本領(lǐng)域中國際互聯(lián)網(wǎng)絡(luò)814連接性是公知的。在一個實(shí)施方式中,通信設(shè)備816是響應(yīng)通信驅(qū)動器以通過在本領(lǐng)域中公知的為“撥號連接”與國際互聯(lián)網(wǎng)絡(luò)連接的調(diào)制解調(diào)器。在另一個實(shí)施方式中,通信設(shè)備816是Ethernet(以太網(wǎng))或連接到局域網(wǎng)(LAN)的類似的硬件網(wǎng)絡(luò)卡,上述局域網(wǎng)本身通過在本領(lǐng)域公知的作為“直接連接”(例如,T1線等等)連接到國際互聯(lián)網(wǎng)絡(luò)。
用戶通過諸如鍵盤818或點(diǎn)擊設(shè)備820之類的輸入裝置輸入命令和信息到計(jì)算機(jī)124中。上述鍵盤818允許輸入文本信息到計(jì)算機(jī)124中,如本領(lǐng)域所公知的那樣,并且實(shí)施方式不局限于任何一種具體類型的鍵盤。點(diǎn)擊設(shè)備820可以控制由諸如微軟公司W(wǎng)indows版本之類的操作系統(tǒng)的圖形用戶界面(GUI)提供的屏幕指針。實(shí)施方式不局限于任何一種具體的點(diǎn)擊設(shè)備820。這樣的點(diǎn)擊設(shè)備包含鼠標(biāo)、觸摸板、跟蹤球、遠(yuǎn)程控制和指示棒。其他的輸入裝置(未示出)可以包含麥克風(fēng)、游戲桿、游戲襯墊(game pad)、圓盤式衛(wèi)星電視天線(satellite dish)、掃描儀等等。
在一些實(shí)施方式中,可操作地耦合計(jì)算機(jī)124至顯示設(shè)備822。顯示設(shè)備822與上述系統(tǒng)總線812連接。顯示設(shè)備822允許顯示信息,包含計(jì)算、視頻及其他信息,用于計(jì)算機(jī)用戶查看。實(shí)施方式不局限于任何一種具體的顯示設(shè)備822。上述的顯示設(shè)備包含陰極射線管(CRT)顯示器(監(jiān)視器),和諸如液晶顯示器(LCD′s)之類的平板顯示器。除監(jiān)視器之外,計(jì)算機(jī)通常包含其他的諸如打印機(jī)(未示出)之類的外圍輸入/輸出設(shè)備。揚(yáng)聲器824和826提供信號的音頻輸出。揚(yáng)聲器824和826也與上述系統(tǒng)總線812連接。
計(jì)算機(jī)124還包含存儲在上述計(jì)算機(jī)可訪問介質(zhì)RAM 806、ROM 808和海量存儲器810上的操作系統(tǒng)(未示出),并且是由上述處理器804執(zhí)行。操作系統(tǒng)的實(shí)施方式包含微軟Windows、蘋果MacOS、Linux、UNIX。然而,實(shí)施方式不局限于任何一種具體的操作系統(tǒng),并且上述操作系統(tǒng)的結(jié)構(gòu)和使用在本領(lǐng)域是公知的。
計(jì)算機(jī)124的實(shí)施方式不局限于任何一種類型的計(jì)算機(jī)124。在變化的實(shí)施方式中,計(jì)算機(jī)124包含PC兼容的計(jì)算機(jī)、MacOS兼容的計(jì)算機(jī)、Linux兼容的計(jì)算機(jī)或UNIX兼容的計(jì)算機(jī)。上述計(jì)算機(jī)的結(jié)構(gòu)和操作在本領(lǐng)域中是公知的。
可以利用至少一個操作系統(tǒng)操作計(jì)算機(jī)124以提供包含用戶可控制指針的圖形用戶界面(GUI)。計(jì)算機(jī)124可以具備至少一個在至少一個操作系統(tǒng)中執(zhí)行的web瀏覽器應(yīng)用程序,以允許計(jì)算機(jī)124的用戶訪問內(nèi)部網(wǎng)或由通用資源定位符(URL)地址定址的國際互聯(lián)網(wǎng)絡(luò)萬維網(wǎng)頁。瀏覽器應(yīng)用程序的實(shí)施方式包含美國Netscape公司的Navigator和微軟公司的Intemet Explorer。
計(jì)算機(jī)124可以在利用邏輯連接至一個或多個諸如遠(yuǎn)程計(jì)算機(jī)122之類的遠(yuǎn)程計(jì)算機(jī)的網(wǎng)絡(luò)環(huán)境中操作。通過耦合計(jì)算機(jī)124或其一部分的通訊裝置實(shí)現(xiàn)上述邏輯連接。實(shí)施方式不局限于具體類型的通信設(shè)備。上述遠(yuǎn)程計(jì)算機(jī)122可以是另一臺計(jì)算機(jī)、服務(wù)器、路由器、呈現(xiàn)引擎104、壓縮引擎102、網(wǎng)絡(luò)個人計(jì)算機(jī)(PC)、客戶機(jī)、對等設(shè)備或其他的公用網(wǎng)絡(luò)結(jié)點(diǎn)。在圖8中描述的邏輯連接包含局域網(wǎng)(LAN)830和廣域網(wǎng)(WAN)832。上述的連網(wǎng)環(huán)境在辦公室、企業(yè)界計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)部網(wǎng)和國際互聯(lián)網(wǎng)絡(luò)中是普遍的。
當(dāng)在局域網(wǎng)連網(wǎng)環(huán)境中應(yīng)用時,上述計(jì)算機(jī)124和遠(yuǎn)程計(jì)算機(jī)122通過網(wǎng)絡(luò)接口或適配器834被連接到局部網(wǎng)絡(luò)830,網(wǎng)絡(luò)接口或適配器834是通信設(shè)備816的一類。遠(yuǎn)程計(jì)算機(jī)122還包含網(wǎng)絡(luò)設(shè)備836。當(dāng)應(yīng)用在普通的廣域網(wǎng)連網(wǎng)環(huán)境中時,計(jì)算機(jī)124和遠(yuǎn)程計(jì)算機(jī)122與廣域網(wǎng)832通過調(diào)制解調(diào)器(未示出)通信。上述調(diào)制解調(diào)器,可以是內(nèi)部的或外部的,被連接到上述系統(tǒng)總線812。在網(wǎng)絡(luò)環(huán)境中,所描述的程序模塊對應(yīng)于計(jì)算機(jī)124,或它的部分,可以被存儲在上述遠(yuǎn)程計(jì)算機(jī)122中。
計(jì)算機(jī)124還包含電源838。每個電源可以是電池。
實(shí)現(xiàn)參見圖9,連同在圖8中的系統(tǒng)概述以及連同附圖5、6和7描述的方法描述具體實(shí)現(xiàn)900。上述附圖使用統(tǒng)一建模語言(UML),其是規(guī)定、可視化、構(gòu)造以及證明上述面向?qū)ο蟮能浖到y(tǒng)的制造物的工業(yè)標(biāo)準(zhǔn)語言。在上述附圖中,在類之間的空心箭頭被用于指示在父類之下從上述父類繼承屬性和方法的子類。此外,實(shí)心填充的菱形被用于指示上述類的對象,另一個類的對象由下面描述的對象組成。成分定義類的實(shí)例的屬性作為包含其他類的一個或多個存在的實(shí)例中的實(shí)例,其中上述組合對象沒有從它被組成的上述對象(們)繼承。
圖9是上述硬件和操作環(huán)境800的方塊圖,在其中可以實(shí)施不同的實(shí)施方式。裝置900解決在上述技術(shù)中用于增加吞吐量和用于適應(yīng)當(dāng)總計(jì)網(wǎng)絡(luò)負(fù)載變化時變化的網(wǎng)絡(luò)帶寬利用率的需要。
裝置900從計(jì)算機(jī)可訪問介質(zhì)接收軟件912,載波信號用于操作裝置900。圖10示出利用帶有用于錯誤檢查和傳送有效負(fù)載至正確的服務(wù)器或裝置900的頭指針的幀中繼的傳輸。如圖所示,上述有效負(fù)載由指令組成,當(dāng)通過裝置900編譯上述指令時,使像804之類的處理器用已選擇的壓縮算法執(zhí)行壓縮上述數(shù)據(jù)流的區(qū)域的動作。上述軟件可以是用于使上述裝置執(zhí)行壓縮輸入媒體流的方法,在可供選擇的方案中,根據(jù)正被使用的操作系統(tǒng),上述軟件可以是用于執(zhí)行上述方法和用于操作裝置900的指令,并產(chǎn)生正被使用的格式的數(shù)據(jù)和指令以通過通信信道發(fā)送已壓縮數(shù)據(jù)。
裝置900從媒體源914接收上述輸入數(shù)據(jù)流。如前所述,上述輸入數(shù)據(jù)流由一個或多個視頻、文本、圖像或其他的媒體組成。
在通過使用軟件指令912已經(jīng)配置上述裝置以執(zhí)行上述方法之后,那么上述裝置準(zhǔn)備接收上述輸入數(shù)據(jù)流914并處理上述數(shù)據(jù)流用于傳輸。
在動作904中,為上述混合媒體數(shù)據(jù)獲取元數(shù)據(jù)。上述屬性是配置文件元數(shù)據(jù)、原始元數(shù)據(jù)、應(yīng)用元數(shù)據(jù)中的至少一個。這些屬性中的每一個表示元數(shù)據(jù)、描述上述輸入數(shù)據(jù)流的數(shù)據(jù),其可用于上述壓縮引擎108以有效地壓縮上述混合媒體流以適應(yīng)諸如局域網(wǎng)102之類的通信信道的帶寬要求。一旦已經(jīng)獲得上述元數(shù)據(jù),控制轉(zhuǎn)到動作904用于更進(jìn)一步的處理。
在動作904中,上述混合媒體數(shù)據(jù)被劃分為區(qū)域。上述混合媒體數(shù)據(jù)的每個區(qū)域,其可以被映射到上述顯示器120和上述幀緩沖器118,被劃分為它的諸如文本、視頻、圖像、圖形及其他媒體之類的分類組件。在上述混合媒體數(shù)據(jù)被劃分為區(qū)域之后,那么控制轉(zhuǎn)到動作906用于更進(jìn)一步的處理。
在動作906中,基于上述已獲得的元數(shù)據(jù)902和上述已劃分的區(qū)域904選擇上述壓縮算法用于上述輸入數(shù)據(jù)流。上述具有用于每個區(qū)域的已獲得元數(shù)據(jù)的壓縮引擎108選擇適當(dāng)?shù)乃惴ㄒ詨嚎s上述輸入數(shù)據(jù)流。當(dāng)上述流是混合媒體流時,則基于對于那個區(qū)域最適當(dāng)?shù)膲嚎s算法壓縮媒體的每個區(qū)域。當(dāng)圖像是上述輸入數(shù)據(jù)流的一部分時,則很可能選擇JPEG算法,在線和圖畫的情況下,則選擇矢量圖壓縮或可能選擇霍夫曼編碼。在視頻的情況下,則選擇MPEG壓縮算法。如果在帶寬方面有增加,可以預(yù)料可能不需要壓縮或者可以緩和壓縮比以減少與執(zhí)行壓縮操作固有地有關(guān)的延遲。在已經(jīng)為每個媒體或區(qū)域選擇上述壓縮算法之后,控制轉(zhuǎn)到動作908用于更進(jìn)一步的處理。
在動作908中,根據(jù)在動作906中選擇的壓縮算法壓縮上述輸入數(shù)據(jù)流的每個區(qū)域。在上述壓縮之后,上述輸入流被引入上述局域網(wǎng)以在顯示器120上被呈現(xiàn)或存儲在文件倉庫110中用于隨后使用。
在動作910中,上述輸入數(shù)據(jù)流被引入上述局域網(wǎng)的流量中以被再現(xiàn)或存儲在上述網(wǎng)絡(luò)的另一個節(jié)點(diǎn)。當(dāng)計(jì)算機(jī)124接收到時,它在顯示器120上被再現(xiàn)。當(dāng)存儲器服務(wù)器110接收到時,用于隨后的上述呈現(xiàn)引擎104的再現(xiàn)或者計(jì)算機(jī)124在120的顯示。
裝置900的組件902-910可以具體化為計(jì)算機(jī)硬件電路或計(jì)算機(jī)可讀程序或者兩者的結(jié)合。在另一個實(shí)施方式中,在應(yīng)用程序服務(wù)供應(yīng)商(ASP)系統(tǒng)中實(shí)現(xiàn)系統(tǒng)900。
更具體地說,在計(jì)算機(jī)可讀程序的實(shí)施方式中,可以在利用諸如Java、Smalltalk或C++之類的面向?qū)ο笳Z言的面向?qū)ο笾袠?gòu)造上述程序,并且可以在利用諸如COBOL或C之類的過程語言的面向過程中構(gòu)造上述程序。上述軟件組件以對本領(lǐng)域技術(shù)人員公知的很多手段中的任何一種方式進(jìn)行通信,例如應(yīng)用程序接口(API)或諸如遠(yuǎn)程過程調(diào)用(RPC)、公共對象請求代理結(jié)構(gòu)(CORBA)、組件對象模型(COM)、分布組件對象模型(DCOM)、分布式系統(tǒng)對象模型(DSOM)和遠(yuǎn)程方法調(diào)用(RMI)之類的進(jìn)程間通信技術(shù)。上述組件在與在圖8中的計(jì)算機(jī)122或124一樣少的一個計(jì)算機(jī)上執(zhí)行,或者在至少與組件同樣多的計(jì)算機(jī)上執(zhí)行。
結(jié)論我們已經(jīng)描述了用于數(shù)據(jù)壓縮的系統(tǒng)和方法。盡管在這里已經(jīng)說明和描述了具體的實(shí)施方式,本領(lǐng)域普通技術(shù)人員會理解任何一種適用于實(shí)現(xiàn)同樣目的的配置可以替換上述所示的具體實(shí)施方式
。本申請意圖覆蓋任何一種修改或變化。舉例來說,盡管用面向?qū)ο笮g(shù)語進(jìn)行描述,但一個本領(lǐng)域普通技術(shù)人員會理解可以在程序設(shè)計(jì)環(huán)境中或提供上述需求關(guān)系的任何一種其他的設(shè)計(jì)環(huán)境中完成實(shí)施。
特別地,一個本領(lǐng)域技術(shù)人員會容易地理解上述方法和裝置的名稱并不意味著限制實(shí)施方式。此外,可以增加附加的方法和裝置到上述組件,可以在上述組件中重新配置功能,并且可以引入以對應(yīng)于日后改進(jìn)的新的組件和在實(shí)施方式中使用的物理設(shè)備而不脫離實(shí)施方式的上述范圍。一個本領(lǐng)域技術(shù)人員會容易地認(rèn)識到實(shí)施方式適用于日后的通信設(shè)備、不同的文件系統(tǒng)和新的數(shù)據(jù)類型。
權(quán)利要求
1.一種用于在源數(shù)據(jù)設(shè)備(104)和遠(yuǎn)程視頻幀緩沖器(118)之間壓縮數(shù)據(jù)的方法,包含從上述源數(shù)據(jù)設(shè)備(104)接收源數(shù)據(jù),上述源數(shù)據(jù)具備一個或多個對應(yīng)于遠(yuǎn)程視頻幀緩沖器(118)位置的媒體區(qū)域;識別元數(shù)據(jù)(504),該元數(shù)據(jù)(504)描述對應(yīng)于遠(yuǎn)程視頻幀緩沖器(118)位置的上述一個或多個媒體區(qū)域;如果識別出上述區(qū)域的元數(shù)據(jù),則在上述區(qū)域上執(zhí)行從屬元數(shù)據(jù)數(shù)據(jù)(708)壓縮;以及在沒有識別元數(shù)據(jù)的區(qū)域上選擇獨(dú)立元數(shù)據(jù)數(shù)據(jù)(710)壓縮。
2.權(quán)利要求1中的方法,其中識別元數(shù)據(jù)還包含識別配置文件元數(shù)據(jù)、源原始元數(shù)據(jù)、應(yīng)用高級元數(shù)據(jù)其中之一,其中選擇獨(dú)立元數(shù)據(jù)數(shù)據(jù)壓縮還包含MPEG壓縮、JPEG圖像壓縮、矢量圖壓縮、霍夫曼編碼、H.261、用戶選擇(402)的壓縮其中之一。
3.權(quán)利要求2中的方法,其中識別元數(shù)據(jù)還包含以下之一識別關(guān)于用于輸入數(shù)據(jù)區(qū)域的顯示的功能和類型的應(yīng)用高級元數(shù)據(jù)(206),從原始操作識別關(guān)于應(yīng)用元數(shù)據(jù)的源原始元數(shù)據(jù)(204),識別定義上述輸入數(shù)據(jù)的區(qū)域的信息(706),以及識別定義輸入數(shù)據(jù)區(qū)域的特定和時間特征(302)的信息。
4.一種用于在通信鏈路上從數(shù)據(jù)處理器(900)到遠(yuǎn)程幀緩沖器(118)傳輸混合媒體流數(shù)據(jù)以進(jìn)行顯示的方法,該方法包含劃分(606)上述混合媒體流數(shù)據(jù)為若干區(qū)域,上述區(qū)域表示將要被顯示的混合媒體流;從上述數(shù)據(jù)處理器(106)獲得定義上述混合媒體流數(shù)據(jù)的每個區(qū)域的元數(shù)據(jù)屬性;基于上述已獲得的定義上述混合媒體流數(shù)據(jù)的每個區(qū)域的元數(shù)據(jù)屬性,為上述混合媒體流數(shù)據(jù)的每個區(qū)域選擇壓縮方法(402);對上述混合媒體流數(shù)據(jù)的每個區(qū)域應(yīng)用上述所選擇的壓縮方法(402,404,406,408,410);以及在上述通信鏈路上傳輸(712)上述已壓縮的混合媒體流數(shù)據(jù)至上述幀緩沖器以進(jìn)行顯示。
5.權(quán)利要求4中的數(shù)據(jù)壓縮方法,其中上述元數(shù)據(jù)屬性還包含配置文件元數(shù)據(jù)(202)、源原始元數(shù)據(jù)(204)、應(yīng)用高級元數(shù)據(jù)(206)其中之一。
6.一種用于壓縮至少一批輸入數(shù)據(jù)的計(jì)算機(jī)化系統(tǒng),包含用于識別上述輸入數(shù)據(jù)(902,904)的至少一個屬性的設(shè)備;用于響應(yīng)上述已識別的屬性(892)選擇(906)至少一個數(shù)據(jù)壓縮方法的設(shè)備;以及利用上述所選擇的至少一個數(shù)據(jù)壓縮方法,用于壓縮(908,108)上述一批輸入數(shù)據(jù)的設(shè)備。
7.權(quán)利要求6中的計(jì)算機(jī)化系統(tǒng),其中上述屬性還包含配置文件元數(shù)據(jù)(202)、源原始元數(shù)據(jù)(204)、應(yīng)用高級元數(shù)據(jù)(206)其中之一。
8.權(quán)利要求7中的計(jì)算機(jī)化系統(tǒng),其中配置文件元數(shù)據(jù)的屬性還包含定義上述輸入數(shù)據(jù)(904)的區(qū)域的信息、定義輸入數(shù)據(jù)區(qū)域的特定和時間特征(302)的信息中的至少一個。
9.權(quán)利要求8中的計(jì)算機(jī)化系統(tǒng),其中上述源原始元數(shù)據(jù)(204)的屬性還包含來自原始操作的應(yīng)用元數(shù)據(jù)(206)。
10.權(quán)利要求9中的計(jì)算機(jī)化系統(tǒng),其中上述應(yīng)用高級元數(shù)據(jù)的屬性還包含描述用于上述輸入數(shù)據(jù)(120,118,206)的區(qū)域的顯示的功能和類型的信息。
全文摘要
本發(fā)明提供系統(tǒng)、方法和計(jì)算機(jī)可訪問介質(zhì),通過其,在進(jìn)入網(wǎng)絡(luò)(102)以被耦合遠(yuǎn)程視頻幀緩沖器(118)的顯示呈現(xiàn)之前,基于已識別的媒體區(qū)域的一個或多個配置文件元數(shù)據(jù)(202)、源原始元數(shù)據(jù)(204)和應(yīng)用高級元數(shù)據(jù)(206)壓縮包括一個或多個媒體區(qū)域的輸入數(shù)據(jù)流(104)。通過利用一個或多個MPEG壓縮、JPEG壓縮、矢量圖壓縮、霍夫曼編碼或用戶定義的壓縮方案(402,404,406,408,410)壓縮輸入數(shù)據(jù)流。
文檔編號H04N7/26GK1984330SQ20061017293
公開日2007年6月20日 申請日期2006年6月23日 優(yōu)先權(quán)日2005年6月25日
發(fā)明者D·M·迪文 申請人:通用電氣公司