用于向客戶端提供圖形用戶界面的服務(wù)器,以及客戶端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)圖形領(lǐng)域,尤其涉及圖形用戶界面的呈現(xiàn)。
【背景技術(shù)】
[0002]眾多應(yīng)用主要關(guān)注的是通過(guò)通信網(wǎng)絡(luò)提供圖形用戶界面。例如在將多媒體內(nèi)容從服務(wù)器流式傳輸?shù)娇蛻舳藭r(shí)提供圖形用戶界面。
[0003]圖形用戶界面可包括不同的圖形用戶界面元素,這些元素可允許用戶控制客戶端的功能。圖形用戶界面常被稱為遠(yuǎn)程圖形用戶界面,這是因?yàn)閳D形用戶界面的呈現(xiàn)通常由服務(wù)器遠(yuǎn)程進(jìn)行。因此,可通過(guò)通信網(wǎng)絡(luò)將呈現(xiàn)的圖形用戶界面從服務(wù)器傳送到客戶端。
[0004]服務(wù)器處圖形用戶界面的呈現(xiàn)通常包括在服務(wù)器的幀緩沖器內(nèi)處理整個(gè)圖形用戶界面。然后,可編碼幀緩沖器的內(nèi)容以將圖形用戶界面?zhèn)魉徒o客戶端。為此,通常在服務(wù)器處使用硬件加速器。
[0005]然而,在連接客戶端的數(shù)量不斷增長(zhǎng)的情況下,普通技術(shù)的可擴(kuò)展性不足。此外,在服務(wù)器處呈現(xiàn)整個(gè)圖形用戶界面會(huì)導(dǎo)致編碼效率降低。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是提供一種用于通過(guò)通信網(wǎng)絡(luò)從服務(wù)器向客戶端提供圖形用戶界面的高效概念。
[0007]該目的由獨(dú)立權(quán)利要求的特征來(lái)實(shí)現(xiàn)。其它實(shí)施形式在從屬權(quán)利要求、具體說(shuō)明和附圖中顯而易見(jiàn)。
[0008]本發(fā)明基于如下發(fā)現(xiàn):可以通過(guò)分別提供圖形用戶界面元素的元素形狀和元素文本來(lái)更高效地提供所述圖形用戶界面內(nèi)的所述圖形用戶界面元素。所述元素形狀通過(guò)視頻數(shù)據(jù)表示并由所述服務(wù)器編碼。所述元素文本通過(guò)元素文本數(shù)據(jù)表示,所述元素文本數(shù)據(jù)在檢測(cè)到與所述圖形用戶界面元素有關(guān)的變化后與所述視頻數(shù)據(jù)分別從所述服務(wù)器傳輸?shù)剿隹蛻舳?。所以,所述視頻數(shù)據(jù)和所述元素文本數(shù)據(jù)在客戶端接收并組合。因此,可實(shí)現(xiàn)所述圖形用戶界面的高壓縮比和編碼效率。
[0009]根據(jù)第一方面,本發(fā)明涉及一種用于通過(guò)通信網(wǎng)絡(luò)向客戶端提供圖形用戶界面的服務(wù)器,所述圖形用戶界面包括圖形用戶界面元素,所述圖形用戶界面元素由元素形狀和元素文本組成,所述元素形狀通過(guò)元素形狀數(shù)據(jù)表示,所述元素文本通過(guò)元素文本數(shù)據(jù)表示;所述服務(wù)器包括用于將所述元素形狀數(shù)據(jù)編碼為視頻數(shù)據(jù)的編碼器,用于檢測(cè)與所述圖形用戶界面內(nèi)的所述圖形用戶界面元素有關(guān)的變化的檢測(cè)器,以及用于通過(guò)所述通信網(wǎng)絡(luò)分別傳輸所述視頻數(shù)據(jù)和所述元素文本數(shù)據(jù)的通信接口,其中所述元素文本數(shù)據(jù)在檢測(cè)到與所述圖形用戶界面元素有關(guān)的所述變化后傳輸以向所述客戶端提供所述圖形用戶界面。這樣,可實(shí)現(xiàn)一種用于通過(guò)通信網(wǎng)絡(luò)從服務(wù)器向客戶端提供圖形用戶界面的高效概念。
[0010]所述編碼器可用于編碼所述服務(wù)器的幀緩沖器,其中所述幀緩沖器包括所述元素形狀而不包括所述元素文本。所述幀緩沖器可為虛擬幀緩沖器。所述編碼器可用于使用MPEG-4,1 TU-T Η.264或ITU-T H.265等視頻編解碼器將所述元素形狀數(shù)據(jù)編碼為視頻數(shù)據(jù)。
[0011]所述檢測(cè)器可用于通過(guò)監(jiān)控所述圖形用戶界面元素來(lái)檢測(cè)與所述圖形用戶界面元素有關(guān)的所述變化。所述圖形用戶界面元素的所述元素形狀和所述元素文本可由應(yīng)用分別提供。
[0012]所述通信接口可用于通過(guò)所述通信網(wǎng)絡(luò)建立所述服務(wù)器和所述客戶端之間的通信鏈路。所述通信鏈路可基于TCP(Transmiss1n Control Protocol,傳輸控制協(xié)議)協(xié)議和/或UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)協(xié)議。所述通信網(wǎng)絡(luò)可為互聯(lián)網(wǎng)。
[0013]所述視頻數(shù)據(jù)可作為視頻流通過(guò)所述通信網(wǎng)絡(luò)傳輸??墒褂肕PEG-4、ITU-T H.264或ITU-T H.265等視頻編解碼器壓縮所述視頻數(shù)據(jù)??墒褂肕PEG-TS或MPEG-DASH等音頻和/或視頻流協(xié)議通過(guò)所述通信網(wǎng)絡(luò)將所述視頻數(shù)據(jù)傳輸給所述客戶端。
[0014]所述檢測(cè)器可用于在所述圖形用戶界面元素被復(fù)制到所述服務(wù)器的所述幀緩沖器之前檢測(cè)與所述圖形用戶界面內(nèi)的所述圖形用戶界面元素有關(guān)的所述變化。所述檢測(cè)器可用于阻止所述元素文本在所述服務(wù)器的所述幀緩沖器中呈現(xiàn)和/或禁止將所述呈現(xiàn)的元素文本復(fù)制到所述服務(wù)器的所述幀緩沖器中。這樣,所述檢測(cè)器可用于在所述元素文本被復(fù)制到所述服務(wù)器的所述幀緩沖器之前通過(guò)所述服務(wù)器阻攔所述元素文本的呈現(xiàn)。
[0015]在根據(jù)如上所述第一方面的所述服務(wù)器的第一實(shí)施形式中,所述圖形用戶界面還包括視頻元素,所述視頻元素通過(guò)其它視頻數(shù)據(jù)表示,其中所述通信接口用于通過(guò)所述通信網(wǎng)絡(luò)分別傳輸所述其它視頻數(shù)據(jù)、所述視頻數(shù)據(jù)和所述元素文本數(shù)據(jù)。這樣,可向所述客戶端提供所述圖形用戶界面的視頻元素。
[0016]在根據(jù)如上所述第一方面或根據(jù)所述第一方面的任一前述實(shí)施形式的所述服務(wù)器的第二實(shí)施形式中,所述視頻數(shù)據(jù)包括指示所述視頻數(shù)據(jù)的有效期的第一定時(shí)表,所述元素文本數(shù)據(jù)包括指示所述元素文本數(shù)據(jù)的有效期的第二定時(shí)表。這樣,可在客戶端實(shí)現(xiàn)所述視頻數(shù)據(jù)和所述元素文本數(shù)據(jù)的及時(shí)同步。
[0017]所述第一定時(shí)表或所述第二定時(shí)表可包括時(shí)間戳。所述第一定時(shí)表或所述第二定時(shí)表可指示表示為日期、小時(shí)、分鐘、秒和/或毫秒的有效期。所述視頻數(shù)據(jù)的所述第一定時(shí)表可以是MPEG元數(shù)據(jù)的一部分。所述元素文本數(shù)據(jù)的所述第二定時(shí)表可通過(guò)時(shí)間文本標(biāo)記語(yǔ)言等標(biāo)記語(yǔ)言定義。
[0018]在根據(jù)如上所述第一方面或根據(jù)所述第一方面的任一前述實(shí)施形式的所述服務(wù)器的第三實(shí)施形式中,所述編碼器用于基于所述元素形狀數(shù)據(jù)生成若干視頻幀以將所述元素形狀數(shù)據(jù)編碼為所述視頻數(shù)據(jù),所述若干視頻幀用于組成所述視頻數(shù)據(jù)。這樣,可有效地編碼所述元素形狀數(shù)據(jù)。因?yàn)樗鲈匚谋緮?shù)據(jù)可能不是所述視頻數(shù)據(jù)的一部分,所以可實(shí)現(xiàn)有效編碼。
[0019]在根據(jù)如上所述第一方面或根據(jù)所述第一方面的任一前述實(shí)施形式的所述服務(wù)器的第四實(shí)施形式中,所述服務(wù)器包括文本編碼器,用于將所述元素文本編碼為純文本數(shù)據(jù)和布局?jǐn)?shù)據(jù),所述布局?jǐn)?shù)據(jù)指示文本大小、文本字體或所述元素文本在所述圖形用戶界面元素內(nèi)的文本路徑,所述純文本數(shù)據(jù)和所述布局?jǐn)?shù)據(jù)組成所述元素文本數(shù)據(jù)。這樣,可有效地編碼所述元素文本。
[0020]所述文本編碼器可用于基于矢量圖形格式或矢量圖形表示將所述元素文本編碼為純文本數(shù)據(jù)和布局?jǐn)?shù)據(jù)。所述文本編碼器可用于根據(jù)開(kāi)放矢量圖形(Open VectorGraphics,0penVG)規(guī)范、可縮放矢量圖形(Scalable Vector Graphics,SVG)規(guī)范、級(jí)聯(lián)樣式表(Cascading Style Sheets,CSS)規(guī)范或附錄(Postscript,PS)規(guī)范將所述元素文本編碼為純文本數(shù)據(jù)和布局?jǐn)?shù)據(jù)。
[0021]由所述純文本數(shù)據(jù)和所述布局?jǐn)?shù)據(jù)組成的所述元素文本數(shù)據(jù)可使用數(shù)據(jù)流協(xié)議等通過(guò)所述通信網(wǎng)絡(luò)作為數(shù)據(jù)流傳輸給所述客戶端。
[0022]所述檢測(cè)器可用于基于所述矢量圖形形式或矢量圖形表示對(duì)于所述純文本數(shù)據(jù)和/或所述布局?jǐn)?shù)據(jù)阻攔和/或解釋所述元素文本。所述檢測(cè)器可用于根據(jù)所述開(kāi)放矢量圖形(Open Vector Graphics,OpenVG)規(guī)范、所述可縮放矢量圖形(Scalable VectorGraphics,SVG)規(guī)范、所述級(jí)聯(lián)樣式表(Cascading Style Sheets,CSS)規(guī)范或所述附錄(P0StSCript,PS)規(guī)范對(duì)于所述純文本數(shù)據(jù)和/或所述布局?jǐn)?shù)據(jù)阻攔和/或解釋所述元素文本。
[0023]在根據(jù)如上所述第一方面或所述第一方面的所述第一實(shí)施形式到所述第四實(shí)施形式的所述服務(wù)器的第五實(shí)施形式中,所述服務(wù)器包括用于將所述元素文本編碼為圖像數(shù)據(jù)的圖像編碼器,所述圖像數(shù)據(jù)表示所述圖像用戶界面元素的所述元素文本的圖像,所述圖像數(shù)據(jù)組成所述元素文本數(shù)據(jù)。這樣,可有效地編碼所述元素文本。
[0024]所述圖像編碼器可用于使用LZ4壓縮、JPEG壓縮、JPEG 2000壓縮、JPEG XR壓縮、WebP壓縮和/或HEVC-MSP壓縮將所述元素文本編碼為圖像數(shù)據(jù)。
[0025]由所述圖像數(shù)據(jù)組成的所述元素文本數(shù)據(jù)可使用數(shù)據(jù)流協(xié)議等通過(guò)所述通信網(wǎng)絡(luò)作為數(shù)據(jù)流傳輸給所述客戶端。由所述圖像數(shù)據(jù)組成的所述元素文本數(shù)據(jù)可以包括一套字形和/或一個(gè)標(biāo)識(shí)。由所述圖像數(shù)據(jù)組成的所述元素文本數(shù)據(jù)可僅包括一個(gè)標(biāo)識(shí)。
[0026]所述檢測(cè)器可用于在所述元素文本已在服務(wù)器上呈現(xiàn)之后但在其被復(fù)制到幀緩沖器或虛擬幀緩沖器之前中斷所述元素文本的呈現(xiàn)。所述幀緩沖器或虛擬幀緩沖器可反映所述客戶端的顯示能力,其中,大小和/或顏色深度與所述服務(wù)器相比可不同。所述元素文本可解壓并直接復(fù)制到所述客戶端的幀緩沖器中,而不在所述客戶端中使用任何字體引擎。
[0027]所述檢測(cè)器可用于按所述純文本數(shù)據(jù)、所述布局?jǐn)?shù)據(jù)和/或所述圖像數(shù)據(jù)攔截和/或解釋所述檢測(cè)器檢測(cè)出的所述元素文本。所述純文本數(shù)據(jù)、所述布局?jǐn)?shù)據(jù)和/或所述圖像數(shù)據(jù)可組成所述元素文本數(shù)據(jù)。
[0028]在根據(jù)如上所述第一方面或根據(jù)所述第一方面的任一前述實(shí)施形式的所述服務(wù)器的第六實(shí)施形式中,所述元素文本數(shù)據(jù)指示所述元素文本相對(duì)于所述圖形用戶界面元素的所述元素形狀的位置、方向或移動(dòng)。這樣,可有效地指示所述元素文本和所述元素形狀之間的相對(duì)布置或移動(dòng)。
[0029]在根據(jù)如上所述第一方面或根據(jù)所述第一方面的任一前述實(shí)施形式的所述服務(wù)器的第七實(shí)施形式中,所述通信接口用于接收請(qǐng)求信號(hào),所述請(qǐng)求信號(hào)請(qǐng)求與所述圖形用戶界面內(nèi)的所述圖形用戶界面元素有關(guān)的變化,其中所述通信接口用于在接收所述請(qǐng)求信號(hào)后通過(guò)所述通信網(wǎng)絡(luò)分別傳輸所述視頻數(shù)據(jù)和所述元素文本數(shù)據(jù)。這樣,在接收所述請(qǐng)求信號(hào)后可進(jìn)行所述圖形用戶界面元素的更新。
[0030]所述請(qǐng)求信號(hào)可指示所述客戶端處的用戶事件。所述用戶事件可以是所述用戶的輸入和/或所述用戶在所述客戶端處的擊鍵。所述請(qǐng)求信號(hào)還可涉及所述服務(wù)器處的應(yīng)用事件或系統(tǒng)事件,所述事件可發(fā)生在所述客戶端處的呈現(xiàn)的元素文本上。
[0031]在根據(jù)如上所述第一方面或根據(jù)所述第一方面的任一前述實(shí)施形式的所述服務(wù)器的第八實(shí)施形式中,所述圖形用戶界面元素包括窗口元素、文本框元素、按鈕元素、圖標(biāo)元素、列表框元素、菜單元素或輪播菜單元素。這樣,可使用所述圖形用戶界面元素的標(biāo)準(zhǔn)化元素形狀。所述圖形用戶界面元素可在二維(two-dimens1nal,2D)和/或三維(three-dimens1nal ,3D)表不中表不。
[0032]在根據(jù)如上所述第一方面或根據(jù)所述第一方面的任一前述實(shí)施形式的所述服務(wù)器的第九可能實(shí)施形式中,與所述圖形用戶界面元素有關(guān)的所述變化包括所述圖形用戶界面內(nèi)的所述圖形用戶界面元素的重新布置、所述圖形用戶界面內(nèi)的所述圖形用戶界面元素的縮放或所述圖形用戶界面內(nèi)的所述圖形用戶界面元素的所述元素文本的修改。這樣,可有效地檢測(cè)與所述圖形用戶界面元素有關(guān)的所述變化。所述元素文本的所述修改可包括所述元素文本的刷新和/或所述元素文本的更新。
[0033]與所述圖形用戶界面元素有關(guān)的所述變化可涉及與所述元素文本和/或所述元素形狀有關(guān)的變化。
[0034]與所述元素文本有關(guān)的所述變化可涉及純文本數(shù)據(jù)和/或布局?jǐn)?shù)據(jù)的變化,所述純文本數(shù)據(jù)和/或布局?jǐn)?shù)據(jù)指示用來(lái)繪制所述文本的文本大小、文本字體、文本路徑、文本屆IJ、文本像素色或透明度。與所述元素文本有關(guān)的所述變化還可涉及呈現(xiàn)的元素文本,或所述元素文本的圖像。與所述元素形狀有關(guān)的所述變化可涉及指示包括所述元素文本在內(nèi)的所述元素形狀的所述變化的語(yǔ)義信息,例如,從點(diǎn)A到點(diǎn)B的轉(zhuǎn)換。
[0035]根據(jù)第二方面,本發(fā)明涉及用一種于通過(guò)通信網(wǎng)絡(luò)從服務(wù)器獲取圖形用戶界面的客戶端,所述圖形用戶界面包括圖形用戶界面元素,所述圖形用戶界面元素由元素形狀和元素文本組成,所述元素形狀通過(guò)元素形狀數(shù)據(jù)表示,所述元素文本通過(guò)元素文本數(shù)據(jù)表示;所述客戶端包括用于通過(guò)所述通信網(wǎng)絡(luò)分別接收視頻數(shù)據(jù)和所述元素文本數(shù)據(jù)的通信接口,所述元素形狀數(shù)據(jù)被編碼為所述視頻數(shù)據(jù),以及用于組合所述視頻數(shù)據(jù)與所述元素文本數(shù)據(jù)以從所述服務(wù)器獲取所述圖形用戶界面的組合器。這樣,可實(shí)現(xiàn)一種用于通過(guò)通信網(wǎng)絡(luò)從服務(wù)器向客戶端提供圖形用戶界面的高效概念。所述客戶端可為瘦客戶端或零客戶端。
[0036]所述通信接口可用于通過(guò)所述通信網(wǎng)絡(luò)建立所述服務(wù)器和所述客戶端之間的通信鏈路。所述通信鏈路可基于TCP (Transmi ss 1n Control Protocol,傳輸控制協(xié)議)協(xié)議和/或UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)協(xié)議。所述通信網(wǎng)絡(luò)可為互聯(lián)網(wǎng)。
[0037]所述組合器可用于基于所述視頻數(shù)據(jù)生成視頻層,基于所述元素文本數(shù)據(jù)生成文本層,以及將所述視頻層與所述文本層合并以組合所述視頻數(shù)據(jù)與所述元素文本數(shù)據(jù)。所述組合器可用于在所述客戶端的幀緩沖器內(nèi)組合所述視頻數(shù)據(jù)與所述元素文本數(shù)據(jù)。
[0038]在根據(jù)如上所述第二方面的所述客戶端的第一實(shí)施形式中,所述圖形用戶界面還包括視頻元素,所述視頻元素通過(guò)其它視頻數(shù)據(jù)表示,其中所述通信接口用于通過(guò)所述通信網(wǎng)絡(luò)分別接收所述其它視頻數(shù)據(jù)、所述視頻數(shù)據(jù)和所述元素文本數(shù)據(jù),以及所述組合器用于組合所述其它視頻數(shù)據(jù)與所述視頻數(shù)據(jù)及所述元素文本數(shù)據(jù)。這樣,可向所述客戶端提供所述圖形用戶界面的視頻元素。
[0039]所述組合器用于基于所述視頻數(shù)據(jù)生成視頻層,基于所述其它視頻數(shù)據(jù)生成其它視頻層,基于所述元素文本數(shù)據(jù)生成文本層,以及將所述視頻層與所述其它視頻層和所述文本層合并以組合所述其它視頻數(shù)據(jù)與所述視頻數(shù)據(jù)及所述元素文本數(shù)據(jù)。
[0040]在根據(jù)如上所述第二方面或根據(jù)所述第二方面的任一前述實(shí)施形式的所述客戶端的第二實(shí)施形式,所述視頻數(shù)據(jù)包括指示所述視頻數(shù)據(jù)的有效期的第一定時(shí)表,所述元素文本數(shù)據(jù)包括指示所述元素文本數(shù)據(jù)的有效期的第二定時(shí)表,其中所述客戶端包括用于基于所述第一定時(shí)表和所述第二定時(shí)表及時(shí)將所述視頻數(shù)據(jù)與所述元素文本數(shù)據(jù)同步的同步器,以及所述組合器用于在所述視頻數(shù)據(jù)與所述元素文本數(shù)據(jù)同步后組合所述視頻數(shù)據(jù)與所述元素文本數(shù)據(jù)。這樣,可實(shí)現(xiàn)所述視頻數(shù)據(jù)和所述元素文本數(shù)據(jù)的及時(shí)同步。
[0041]所述同步器可用于比較所述第一定時(shí)表和所述第二定時(shí)表以便確定所述元素文本數(shù)據(jù)和所述視頻數(shù)據(jù)之間的時(shí)間偏差。
[0042]在根據(jù)如上所述第二方面或根據(jù)所述第二方面的任一前述實(shí)施形式的所述客戶端的第三實(shí)施形式中,所述客戶端包括檢測(cè)器,用于檢測(cè)對(duì)與所述圖形用戶界面內(nèi)的所述圖形用戶界面元素有關(guān)的變化的請(qǐng)求以獲得請(qǐng)求信號(hào),以及所述通信接口用于在檢測(cè)到對(duì)與所述圖形用戶界面元素有關(guān)的所述變化的所述請(qǐng)求后通過(guò)所述通信網(wǎng)絡(luò)傳輸所述請(qǐng)求信號(hào)。這樣,在檢測(cè)到與所述圖形用戶界面元素有關(guān)的變化后可開(kāi)始所述圖形用戶界面元素的更新。
[0043]所述檢測(cè)器可用于通過(guò)監(jiān)控所述客戶端處的事件來(lái)檢測(cè)與所述圖形用戶界面元素有關(guān)的所述變化。
[0044]所述請(qǐng)求信號(hào)可指示所述客戶端處的用戶事件。所述用戶事件可