務(wù)器703執(zhí)行應(yīng)用705,并且包括編碼器707、虛擬機(jī)(virtual machine,VM)709和遠(yuǎn)程用戶界面(remote userinterfaCe,RUI)服務(wù)器711。編碼器101可包括視頻服務(wù)器701和編碼器707。檢測(cè)器103可執(zhí)行應(yīng)用705,并且可包括虛擬機(jī)(virtual machine,VM)709和遠(yuǎn)程用戶界面(remote userinterface,RUI)服務(wù)器711 ο
[0098]編碼器707等編碼器101可使用MPEG TS視頻⑶I流等提供表示圖形用戶界面元素的元素形狀的視頻數(shù)據(jù)。編碼器101還可使用MPEG TS視頻流等提供表示圖形用戶界面的視頻元素的其它視頻數(shù)據(jù)。遠(yuǎn)程用戶界面(remote user interfaCe,RUI)服務(wù)器711等檢測(cè)器103可使用文本遠(yuǎn)程過(guò)程調(diào)用(remote procedure call,RPC)等提供表示圖形用戶界面元素的元素文本的元素文本數(shù)據(jù)。文本遠(yuǎn)程過(guò)程調(diào)用(remote procedure call,RPC)可開始元素文本在客戶端200處的呈現(xiàn)。
[0099]客戶端200包括視頻解碼器713、其它視頻解碼器715、文本呈現(xiàn)器717和遠(yuǎn)程用戶界面(remote user interface,RUI)客戶端719。組合器203可包括視頻解碼器713、其它視頻解碼器715、文本呈現(xiàn)器717和遠(yuǎn)程用戶界面(remote user interface,RUI)客戶端719??蛻舳?00可為終端或機(jī)頂盒(set top box,STB)??蛻舳?00的通信接口可將遠(yuǎn)程調(diào)用(remote call,RC)事件指示符等請(qǐng)求信號(hào)傳輸給服務(wù)器100。
[0100]在客戶端200本地執(zhí)行一部分呈現(xiàn)的混合方法是下文中描述的方法??赏ㄟ^(guò)基于使用圖形硬件加速器等在客戶端200處增加本地呈現(xiàn)來(lái)運(yùn)用雙流架構(gòu),S卩,使用其它視頻數(shù)據(jù)和視頻數(shù)據(jù)的架構(gòu),其它視頻數(shù)據(jù)包括視頻元素的已壓縮音視頻流等,視頻數(shù)據(jù)包括圖形用戶界面元素的已壓縮音視頻流。
[0101]MPEG TS視頻GUI流等視頻數(shù)據(jù)可與MPEG TS視頻流等其它視頻數(shù)據(jù)使用不同的編解碼器,但可使用來(lái)自同一編解碼器家族的編解碼器,因?yàn)槠淇捎糜谝曨lPIP(Picture inPicture,畫中畫)和/或視頻PBP(Picture by Picture,畫旁畫)。這可能是大部分操控器使用的功能。因此,MPEG TS視頻GUI流等視頻數(shù)據(jù)可重用編解碼器,并且可避免在機(jī)頂盒(settop box,STB)片上系統(tǒng)(system on a chip,SoC)等客戶端200處使用更多特定技術(shù)以解碼MPEG TS視頻GUI流等視頻數(shù)據(jù)。
[0102]下文示例性地描述了圖形用戶界面(graphical user interface,⑶I)中的菜單漸顯和/或漸隱。可存在改進(jìn)圖形用戶界面在客戶端200上的呈現(xiàn)的若干選項(xiàng)。首先,可應(yīng)用通過(guò)內(nèi)插進(jìn)行的失幀計(jì)算。其次,例如來(lái)自圖形用戶界面(graphical user interface,GUI)引擎應(yīng)用編程接口(applicat1n programming interface ,API)的服務(wù)器 100處的“移至” (“moveto”)信息可用來(lái)提供給編碼器101以及繞過(guò)運(yùn)動(dòng)估計(jì)。這兩種方法可用于減少服務(wù)器100的負(fù)載,但例如如果視頻解碼機(jī)制在基于一種基于運(yùn)動(dòng)圖像專家組(movingpicture experts group,MPEG)的編解碼器時(shí)可能無(wú)法準(zhǔn)確匹配像素,則可維持該視頻解碼機(jī)制。第三,可使用硬件傳圖函數(shù)將菜單等圖形用戶界面元素的圖片以例如30fps的速度移動(dòng)。挑戰(zhàn)可在于,如果定期使用該方法,則可使用完整圖形用戶界面(graphical userinterface,GUI)呈現(xiàn)引擎。
[0103]如果該方法用于漸顯和/或漸隱等,可能希望檢測(cè)器103等檢測(cè)與服務(wù)器100上的圖形用戶界面元素有關(guān)的變化。為了在客戶端200處調(diào)用遠(yuǎn)程應(yīng)用編程接口(applicat1nprogramming interface,API),檢測(cè)器103等可阻攔本地應(yīng)用編程接口(applicat1nprogramming interface,API)調(diào)用,但語(yǔ)義可能較復(fù)雜,例如將圖形塊從一個(gè)位置復(fù)制到另一個(gè)位置。在服務(wù)器100處使用圖形用戶界面(graphical user interface,GUI)呈現(xiàn)引擎解決零客戶端技術(shù)的局限性可能無(wú)法與資源約束服務(wù)器100共同起作用。因此,可使用例如客戶端200的組合器203中的完整本地圖形用戶界面(graphical user interface ,GUI)引擎??蓽p少圖形用戶界面(graphical user interface,⑶I)視頻流等視頻數(shù)據(jù)和純視頻流等其它視頻數(shù)據(jù)之間的差異以在混合模式下使用零客戶端技術(shù)。
[0104]視頻數(shù)據(jù)的例如由編碼器101使用的編碼比特率可小于其它視頻數(shù)據(jù)的編碼比特率。這還可涉及服務(wù)器100上的編碼負(fù)載。事實(shí)上,該結(jié)果可起因于編碼期間的可消除低頻分量的離散余弦轉(zhuǎn)換(discrete cosine transform,DCT)量化。在圖形用戶界面元素中,可移除元素文本,這通常產(chǎn)生高頻分量??蛻舳?00處的文本呈現(xiàn)器等組合器203可能不提供完整圖形能力。
[0105]從一般角度來(lái)看,檢測(cè)器103可在服務(wù)器100中分析應(yīng)用705等應(yīng)用以何種方式生成圖形用戶界面元素,且圖形用戶界面可被分割為基本圖形用戶界面元素以實(shí)現(xiàn)在服務(wù)器100和客戶端200處的處理負(fù)載最小的高性能富圖形用戶界面??商峁﹫D形用戶界面元素的應(yīng)用中的性能,例如應(yīng)用705中的性能,可涉及可用性和響應(yīng)性兩者。高性能富圖形用戶界面可向客戶端200處的用戶操作提供恰當(dāng)、有用且直觀的顯示以及快速且順利的響應(yīng)。
[0106]換言之,可使用兩個(gè)機(jī)制在服務(wù)器100和客戶端200之間分配圖形用戶界面的提供和/或呈現(xiàn)。一個(gè)機(jī)制涉及使用MPEG TS視頻GUI流等視頻數(shù)據(jù)以提供和/或呈現(xiàn)圖形用戶界面元素的易于編碼的一部分,這可發(fā)生在服務(wù)器100上。另一機(jī)制涉及組合器203等使用元素文本數(shù)據(jù),例如使用典型圖形用戶界面引擎,以提供和/或呈現(xiàn)圖形用戶界面的像素精確的一部分,這可發(fā)生在客戶端200上。
[0107]圖形用戶界面的像素精確的部分在客戶端200處的本地提供和/或呈現(xiàn)的一個(gè)可能實(shí)施方式可基于客戶端200上的硬件加速機(jī)制和元素文本數(shù)據(jù)的矢量圖形表示,以便基于編碼器101使用的矢量圖形表示定義集來(lái)確定例如指示文本字體的純文本數(shù)據(jù)和布局?jǐn)?shù)據(jù)。矢量圖形可從用于定義線條、形狀和曲線的公式創(chuàng)建,其中形狀可通過(guò)移動(dòng)稱為節(jié)點(diǎn)的點(diǎn)或繪制點(diǎn)來(lái)編輯。矢量圖形可縮放或調(diào)整為任何分辨率。
[0108]更詳細(xì)地,可通過(guò)由組合器203等客戶端200將0penVG(0pen Vector Graphics,開放矢量圖形)用作硬件加速技術(shù)以及將如W3C(World Wide Web Consortium,萬(wàn)維網(wǎng)聯(lián)盟)等定義的SVG(Scalable Vector Graphics,可縮放矢量圖形)用于矢量圖形表示來(lái)實(shí)施元素文本的提供和/或呈現(xiàn)。EGL(Embedded System Graphics Library,嵌入式系統(tǒng)圖形庫(kù))本地平臺(tái)圖形界面是用于圖形資源管理的界面可移植層,并且可在OpenGL ES(0penGraphics Library for Embedded System,嵌入式系統(tǒng)的開放圖形庫(kù))或0penVG(0penVector Graphics,開放矢量圖形)等呈現(xiàn)應(yīng)用編程接口(applicat1n programminginterface,API)和底層本地平臺(tái)GPU(Graphics Processing Unit,圖形處理單元)之間運(yùn)作。EGL(Embedded System Graphics Library,嵌入式系統(tǒng)圖形庫(kù))可由各個(gè)硬件制造商提供且可嵌入芯片組中。0penVG(0pen Vector Graphics,開放矢量圖形)是跨平臺(tái)應(yīng)用編程接口(applicat1n programming interface,API),為矢量圖形庫(kù)提供了低層硬件加速接口。上述應(yīng)用編程接口可由服務(wù)器100和/或客戶端200使用。
[0109]在一項(xiàng)實(shí)施例中,元素文本數(shù)據(jù)和/或圖像數(shù)據(jù)可以W3C(World Wide WebConsortium,萬(wàn)維網(wǎng)聯(lián)盟)SVG(Scalable Vector Graphics,可縮放矢量圖形)方式編碼并可根據(jù)協(xié)議格式化,該協(xié)議可管理客戶端200處的元素文本的布局、服務(wù)器100和客戶端200之間的通信以及由組合器203等客戶端200解碼的不同圖形用戶界面元素的編排和效果。例如,以下富圖形用戶界面元素效果可用于在服務(wù)器100處具有最小處理的使用0penVG(0penVector Graphics,開放矢量圖形)的以及使用硬件加速將處理傳送給客戶端200的元素文本:如用于地圖和導(dǎo)航的反走樣、路徑行程和填充、輪廓字體、行程參數(shù)、圖像效果、樣本動(dòng)畫和/或繪制。
[0110]對(duì)于元素文本,可假設(shè)可在客戶端200上,例如在組合器203中,利用適當(dāng)?shù)氖噶孔煮w。例如客戶端200的組合器203中的W3C(World Wide Web Consortium,萬(wàn)維網(wǎng)聯(lián)盟)SVG(Scalable Vector Graphics,可縮放矢量圖形)客戶端可將元素文本提供和/或呈現(xiàn)到使用該矢量字體的0penVG(0pen Vector Graphics,開放矢量圖形)API (Appl icat1nprogramming interface,應(yīng)用編程接口)中,且可例如基于CSS(Cascading Style Sheet,級(jí)聯(lián)樣式表)使用 0penVG(0pen Vector Graphics,開放矢量圖形)API (Appl icat 1nprogramming interface,應(yīng)用編程接口)添加樣式層??蓪⒃匚谋疽苿?dòng)到使用OpenVG(Open Vector Graphics,開放矢量圖形)和硬件加速的文本的路徑上,且可使用圖像漸隱效果。許多其它圖形用戶界面元素效果會(huì)消耗服務(wù)器100上的編碼資源,例如編碼器101,這些效果在通過(guò)完整零客戶端等提供和/或呈現(xiàn)時(shí)可使用,例如路徑、混合、濾波器或阿爾法掩碼處理。為了減輕服務(wù)器100的處理負(fù)載,組合器203等可以使用客戶端200上的硬件加速在客戶端200中直接執(zhí)行這類函數(shù)。
[0111]此外,服務(wù)器100和/或客戶端200可使用CSS(Cascading Style Sheet,級(jí)聯(lián)樣式表)XSS是用于描述寫入標(biāo)記語(yǔ)言中的文件的外觀和格式的樣式表語(yǔ)言。CSS可設(shè)計(jì)用于使文件內(nèi)容與包括布局、顏色和字體等元素在內(nèi)的文件呈現(xiàn)分離。通過(guò)使用CSS語(yǔ)言來(lái)提供和/或呈現(xiàn)客戶端200上的元素文本,可在不將元素文本數(shù)據(jù)編碼為圖像數(shù)據(jù)的情況下實(shí)現(xiàn)主動(dòng)富圖形用戶界面文本能力。
[0112]此外,如果在W3C(WorldWide Web Consortium,萬(wàn)維網(wǎng)聯(lián)盟)CSS(CascadingStyle Sheet,級(jí)聯(lián)樣式表)內(nèi)使用SVG(Scalable Vector Graphics,可縮放矢量圖形),可使用標(biāo)準(zhǔn)布局標(biāo)記語(yǔ)言,該語(yǔ)言可通過(guò)使用0penVG(0pen Vector Graphics,開放矢量圖形)等在具有標(biāo)準(zhǔn)互聯(lián)網(wǎng)瀏覽器、低CPU(Central Processing Unit,中央處理器)能力和適當(dāng)?shù)挠布铀俚目蛻舳?00上提供和/或呈現(xiàn)。例如,組合器203內(nèi)等的特定分量可包括OpenVG EGL(0pen Vector Graphics for Embedded Systems,嵌入式系統(tǒng)的開放矢量圖形)和標(biāo)準(zhǔn)HTML5(Hypertext Markup Language 5,超文本標(biāo)記語(yǔ)言5)互聯(lián)網(wǎng)瀏覽器。然而,一些分量可能不會(huì)提供足夠的CPU(Central Processing Unit,中央處理器)功率以在使用高分辨率呈現(xiàn)時(shí)提供富圖形用戶界面體驗(yàn)。通過(guò)使用標(biāo)準(zhǔn)SVG( Scalable VectorGraphics,可縮放矢量圖形)和W3C(World Wide Web Consortium,萬(wàn)維網(wǎng)聯(lián)盟)標(biāo)記語(yǔ)言,在客戶端200處使用現(xiàn)有硬件和軟件的標(biāo)準(zhǔn)可能是可行的。
[0113]圖8所示為根據(jù)實(shí)施例的用于由服務(wù)器100通過(guò)通信網(wǎng)絡(luò)向客戶端200提供圖形用戶界面的通信系統(tǒng)300的圖。服務(wù)器100包括編碼器101和檢測(cè)器103。結(jié)合圖1描述的通信接口 105未示出。客戶端200包括組合器203。結(jié)合圖2描述的通信接口 201未示出。服務(wù)器100組成如結(jié)合圖1所描述的服務(wù)器100的可能實(shí)施方式??蛻舳?00組成如結(jié)合圖2所描述的客戶端200的可能實(shí)施方式。本圖基于矢量圖形在可能實(shí)施方式的上下文內(nèi)示出了圖7中描述的元素的功能的更多細(xì)節(jié)。
[0114]服務(wù)器100包括視頻服務(wù)器801和圖形用戶界面(graphical user interface,GUI)服務(wù)器803。圖形用戶界面(graphical user interface,GUI)服務(wù)器803包括虛擬機(jī)(virtual machine,VM) 805。虛擬機(jī)(virtual machine,VM )805 執(zhí)行應(yīng)用 807。虛擬機(jī)(virtual machine,VM)805包括虛擬表面809、覆蓋管理器811、用戶界面(user interface,UI)視頻編碼器813、文本編碼器815和圖像編碼器817。編碼器101可包括視頻服務(wù)器801、覆蓋管理器811、用戶界面(user interface,UI)視頻編碼器813、文本編碼器815和圖像編碼器817。檢測(cè)器103可執(zhí)行應(yīng)用807,且可包括虛擬表面809。引入了可等同于虛擬幀緩沖器的虛擬表面809。虛擬表面809或虛擬幀緩沖器可表示存儲(chǔ)器。覆蓋管理器811可由遠(yuǎn)程用戶界面(remote user interface,RUI)服務(wù)器組成,該服務(wù)器負(fù)責(zé)提供關(guān)于可如何在客戶端200處向用戶呈現(xiàn)視頻層的規(guī)范。
[0115]客戶端200可為機(jī)頂盒(set top box,STB)??蛻舳?00包括零客戶端(zeroclient,ZC)遠(yuǎn)程用戶界面(remote user interface,RUI)客戶端819、SVG(W3C)模塊821、OpenVG模塊823、0penMAX模塊825、設(shè)備控制器EGL(Embedded System Graphics Library,嵌入式系統(tǒng)圖形庫(kù))模塊827、視頻解碼器831以及其它視頻解碼器833。客戶端200可實(shí)現(xiàn)為硬件設(shè)備829ApenVG模塊823包括OpenVG API 835、0penVG引擎837以及OpenVG實(shí)用模塊839。組合器203可包括零客戶端(zero client,ZC)遠(yuǎn)程用戶界面(re mote userinterface,RUI)客戶端 819、SVG(W3C)模塊 821、0penVG 模塊823、0penMAX 模塊825、設(shè)備控制器EGL(Embedde