用于發(fā)送數(shù)字場景描述數(shù)據(jù)的方法以及發(fā)送器和接收器場景處理設(shè)備的制作方法
【專利摘要】公開了一種用于將數(shù)字場景描述數(shù)據(jù)從發(fā)送器場景處理設(shè)備發(fā)送至至少一個(gè)接收器場景處理設(shè)備的方法。所述方法包括步驟:通過為場景描述數(shù)據(jù)和相關(guān)渲染命令設(shè)置優(yōu)先級、和根據(jù)各自的優(yōu)先級動(dòng)態(tài)地將所述場景描述數(shù)據(jù)和相關(guān)渲染命令進(jìn)行重新排序,以便減少發(fā)送所需的帶寬和/或適應(yīng)于不可靠帶寬,在所述發(fā)送器場景處理設(shè)備中編碼場景描述數(shù)據(jù)和渲染命令;以及將經(jīng)編碼的場景描述數(shù)據(jù)和相關(guān)渲染命令發(fā)送至所述至少一個(gè)接收器場景處理設(shè)備,用于由所述至少一個(gè)接收器場景處理設(shè)備解碼并執(zhí)行與所發(fā)送的場景描述數(shù)據(jù)相關(guān)的渲染命令,以實(shí)現(xiàn)動(dòng)畫數(shù)字圖形。
【專利說明】用于發(fā)送數(shù)字場景描述數(shù)據(jù)的方法以及發(fā)送器和接收器場景處理設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種用于將數(shù)字場景描述數(shù)據(jù)從發(fā)送器場景處理設(shè)備發(fā)送至至少一個(gè)接收器場景處理設(shè)備的方法。
[0002]本發(fā)明還涉及一種發(fā)送器場景處理設(shè)備和接收器場景處理設(shè)備。
【背景技術(shù)】
[0003]存在將數(shù)字場景描述數(shù)據(jù)從發(fā)送器場景處理設(shè)備發(fā)送至至少一個(gè)接收器場景處理設(shè)備、且進(jìn)一步使用所發(fā)送的具有高質(zhì)量的數(shù)字場景描述數(shù)據(jù)的需要。然而,發(fā)送待使用的高質(zhì)量數(shù)字場景描述數(shù)據(jù)需要在合理的時(shí)間內(nèi)發(fā)送大量數(shù)據(jù)且在合理的時(shí)間內(nèi)處理數(shù)字場景描述數(shù)據(jù)。
[0004]在本領(lǐng)域中,用于減少待發(fā)送的數(shù)據(jù)量的渲染過程是公知的。渲染是利用例如在處理單元上執(zhí)行的計(jì)算機(jī)編程指令從至少一個(gè)模型或場景生成圖像的處理。場景包含定義的語言或數(shù)據(jù)結(jié)構(gòu)中的對象。場景包括屬性,例如用于定義幾何形狀、視點(diǎn)、紋理(texture)、光照和陰影,用以描述場景。對包括屬性的數(shù)字場景描述數(shù)據(jù)執(zhí)行渲染命令產(chǎn)生動(dòng)畫數(shù)字圖像或圖形圖像文件。
[0005]本申請中所述的術(shù)語“場景”包括至少一個(gè)圖片、圖片的巾貞、或圖片序列(即視頻)。
[0006]多個(gè)圖形處理工具對于公眾可用,包括OpenGL (開放圖形庫),其提供程序指令和相關(guān)可執(zhí)行文件用于渲染處理。
[0007]作為開放資源,包括渲染庫的OpenGL規(guī)范編碼資源可以無需許可證而在因特網(wǎng)中從OpenGL機(jī)構(gòu)(http://www.0pengl.0rg)獲得。在OpenGL參考手冊中進(jìn)一步描述了 OpenGL:0penGL的官方參考文檔,1.4版本(第4版),2004年3月26日,編輯DaveSchreiner,專業(yè)人員 Addison-Wesley ;以及 Dave Schreiner 的 OpenGL 編程指南:學(xué)習(xí)OpenGL的官方指南,3.0和3.1版本(第7版),2009年7月31日,專業(yè)人員Addison-Wesley0
[0008]US2007/0153004A1公開了為利用嵌入式系統(tǒng)圖形應(yīng)用編程接口顯示動(dòng)畫文件而提供的動(dòng)畫文件播放器。為了在圖形功能的移動(dòng)設(shè)備上顯示動(dòng)畫文件信息,將動(dòng)畫文件存儲并轉(zhuǎn)換為圖形渲染信息。將圖形渲染信息傳遞至移動(dòng)設(shè)備圖形子系統(tǒng),在所述移動(dòng)設(shè)備圖形子系統(tǒng)中,處理圖形渲染信息以獲得像素?cái)?shù)據(jù)。在移動(dòng)設(shè)備顯示器上顯示像素?cái)?shù)據(jù)的動(dòng)畫。
[0009]W02009/040313A1公開了用于使用OpenGL庫將圖形應(yīng)用遠(yuǎn)程可視化的方法和系統(tǒng)。本地計(jì)算機(jī)系統(tǒng)包括OpenGL庫和編碼器,所述編碼器用于將操作系統(tǒng)專用的OpenGL接口操作轉(zhuǎn)變?yōu)楠?dú)立于操作系統(tǒng)的用于在本地計(jì)算機(jī)系統(tǒng)與一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)系統(tǒng)之間發(fā)送的操作。至少一個(gè)遠(yuǎn)程計(jì)算機(jī)系統(tǒng)包括解碼器,其用于將獨(dú)立于操作系統(tǒng)的操作解碼為用于第二種操作系統(tǒng)的第二 OpenGL接口的操作。所述操作可以轉(zhuǎn)至(relay to)視窗系統(tǒng)專用的渲染方法。
【發(fā)明內(nèi)容】
[0010]現(xiàn)有技術(shù)的問題是在設(shè)備上處理數(shù)字場景描述數(shù)據(jù)需要大量有限的處理資源和有限的電池電力、以及用于發(fā)送為了更高分辨率顯示而所需的數(shù)字場景描述數(shù)據(jù)量的帶寬是有限的。
[0011]本發(fā)明的目的通過如權(quán)利要求1所述的方法、以及如獨(dú)立權(quán)利要求所述的發(fā)送器和接收器場景處理設(shè)備實(shí)現(xiàn)。
[0012]根據(jù)本發(fā)明,所述方法包括步驟:
[0013]-通過以下步驟在發(fā)送器場景處理設(shè)備中編碼場景描述數(shù)據(jù)和渲染命令:
[0014]-為場景描述數(shù)據(jù)和相關(guān)渲染命令設(shè)置優(yōu)先級,及
[0015]-根據(jù)各自的優(yōu)先級動(dòng)態(tài)地將場景描述數(shù)據(jù)和相關(guān)渲染命令進(jìn)行重新排序,以便減少發(fā)送所需的帶寬和/或適應(yīng)于不可靠帶寬;以及
[0016]-將經(jīng)編碼的場景描述數(shù)據(jù)和相關(guān)渲染命令發(fā)送至至少一個(gè)接收器場景處理設(shè)備,用于由所述至少一個(gè)接收器場景處理設(shè)備解碼并執(zhí)行與所發(fā)送的場景描述數(shù)據(jù)相關(guān)的渲染命令,以實(shí)現(xiàn)動(dòng)畫數(shù)字圖形。
[0017]根據(jù)本發(fā)明,將場景描述數(shù)據(jù)和相關(guān)的經(jīng)編碼的渲染命令從發(fā)送器場景處理設(shè)備發(fā)送至至少一個(gè)接收器場景處理設(shè)備,用于解碼并執(zhí)行與所發(fā)送的場景描述數(shù)據(jù)相關(guān)的經(jīng)編碼的?宣染命令。
[0018]因此,發(fā)送器場景處理設(shè)備可以是具有有限電池容量的移動(dòng)設(shè)備,因?yàn)閳?zhí)行渲染命令是在接收器場景處理設(shè)備上執(zhí)行的。
[0019]此外,發(fā)送數(shù)字場景描述數(shù)據(jù)所`需的帶寬在發(fā)送數(shù)字場景描述數(shù)據(jù)時(shí)顯著減少,且獨(dú)立于這些經(jīng)編碼的渲染命令。
[0020]根據(jù)本發(fā)明,動(dòng)態(tài)地將場景描述數(shù)據(jù)和相關(guān)渲染命令進(jìn)行重新排序,從而具有顯著減少用于待發(fā)送至至少一個(gè)接收器場景處理設(shè)備的數(shù)據(jù)的帶寬的效果。
[0021]通過重新排序場景描述數(shù)據(jù)和相關(guān)渲染命令而進(jìn)行編碼并且在接收器場景處理設(shè)備中執(zhí)行渲染命令、而非發(fā)送經(jīng)編碼的已經(jīng)渲染的動(dòng)畫數(shù)字圖形,由此,壓縮方式具有在沒有質(zhì)量損失的情況下維持?jǐn)?shù)字場景描述數(shù)據(jù)的完整信息的優(yōu)點(diǎn)。
[0022]所述方法、以及相關(guān)的發(fā)送器場景處理設(shè)備和接收器場景處理設(shè)備的效果是在發(fā)送器場景處理設(shè)備與至少一個(gè)接收器場景處理設(shè)備之間的不可靠且尤其是窄帶的鏈路上提供快速的反應(yīng)速度和流暢的動(dòng)畫。帶鏈路也可以是寬帶鏈路。除了有線鏈路(例如,TCP/IP鏈路和USB鏈路)之外,該方法對包括分布式無線鏈路的無線鏈路(例如,WiFi和Bluetooth (藍(lán)牙))也起到很好的作用。實(shí)現(xiàn)本發(fā)明的大部分的無線鏈路具體地是高負(fù)載且難處理的無關(guān)的干擾連接,例如許多并發(fā)的、無關(guān)的且可變的活動(dòng)鏈路作為干擾方的多WiFi接入點(diǎn)環(huán)境。
[0023]優(yōu)選的是,首先將壓縮的數(shù)字場景描述數(shù)據(jù)(特別是紋理數(shù)據(jù))從發(fā)送器場景處理設(shè)備發(fā)送至至少一個(gè)接收器場景處理設(shè)備。這將導(dǎo)致所得到的渲染的動(dòng)畫數(shù)字圖形的質(zhì)量下降。為了實(shí)現(xiàn)改善的圖形質(zhì)量,通過將具有較高質(zhì)量的之前壓縮的數(shù)字場景描述數(shù)據(jù)從發(fā)送器場景處理設(shè)備發(fā)送至至少一個(gè)接收器場景處理設(shè)備而稍后更新數(shù)字場景描述數(shù)據(jù)。因此,可用帶寬可以用于例如以未壓縮形式更新具有較高質(zhì)量的數(shù)字場景描述數(shù)據(jù)。因此,可以首先使用具有下降的質(zhì)量的動(dòng)畫數(shù)字圖形,其中稍后通過更新數(shù)字場景描述數(shù)據(jù)來改善動(dòng)畫數(shù)字圖形的圖片質(zhì)量,而無需干擾或中斷動(dòng)畫數(shù)字圖形的流。
[0024]在優(yōu)選實(shí)施例中,從發(fā)送器場景處理設(shè)備發(fā)送至至少一個(gè)接收器場景處理設(shè)備的數(shù)字場景描述數(shù)據(jù)包括被提供用于描述場景的場景點(diǎn)的頂點(diǎn)數(shù)據(jù)。所述頂點(diǎn)數(shù)據(jù)包括被提供用于渲染與頂點(diǎn)數(shù)據(jù)相關(guān)的對象的相應(yīng)場景點(diǎn)的位置和相應(yīng)場景點(diǎn)的屬性。
[0025]本申請中所述的頂點(diǎn)是描述二維(2D)、兩個(gè)半(2.5D)或三維(3D)空間中的場景點(diǎn)的數(shù)據(jù)結(jié)構(gòu)。2.是使得一系列圖像或場景當(dāng)它們實(shí)際上不是三維時(shí)偽造成或看似為三維(3D)的圖形投影。
[0026]當(dāng)利用平坦表面(例如三角形)的陣列來描述對象時(shí),由頂點(diǎn)來定義表面的角落的位置和其它屬性。因此,三角形的角點(diǎn)(corner points)的頂點(diǎn)與角點(diǎn)的位置關(guān)聯(lián),并且與包括頂點(diǎn)處的顏色、近似曲面在角點(diǎn)的位置處的法線以及相關(guān)三角形的表面的紋理和反射的附加圖形屬性關(guān)聯(lián)。因此,頂點(diǎn)數(shù)據(jù)包括數(shù)據(jù)組,其可以優(yōu)選地被編碼并被以經(jīng)編碼和壓縮的形式從發(fā)送器場景處理設(shè)備發(fā)送至至少一個(gè)接收器場景處理設(shè)備,以便減少數(shù)據(jù)量。
[0027]因?yàn)榭梢元?dú)立于頂點(diǎn)數(shù)據(jù)(例如在無需編碼且因此沒有質(zhì)量損失的情況下)而發(fā)送例如對于定義紋理有益的圖像數(shù)據(jù),所以,即使通過編碼減少數(shù)據(jù)量,也仍然可以以高分辨率和高質(zhì)量顯示動(dòng)畫圖形。
[0028]優(yōu)選的是,利用差值(delta)壓縮來編碼或壓縮數(shù)字場景描述數(shù)據(jù)、并且特別是頂點(diǎn)數(shù)據(jù)。在差值壓縮的方法中,計(jì)算并發(fā)送實(shí)際數(shù)字場景描述數(shù)據(jù)與前一組對應(yīng)的數(shù)字場景描述數(shù)據(jù)的差。在無損數(shù)據(jù)編碼的現(xiàn)有技術(shù)中,差值壓縮是公知的。差值壓縮的方法具有與發(fā)送一個(gè)圖片或幀本身的場景描述數(shù)據(jù)相比數(shù)據(jù)量顯著減少的優(yōu)點(diǎn)。
[0029]此外,優(yōu)選的是,與具有次級(較低)可見性或在動(dòng)畫數(shù)字圖形中不可見的(非優(yōu)先的)場景描述數(shù)據(jù)和相關(guān)渲染命令相比,以更高的優(yōu)先級發(fā)送在動(dòng)畫數(shù)字圖形中對于用戶主要可見的場景描述數(shù)據(jù)以及與這種優(yōu)先的(prior)場景描述數(shù)據(jù)相關(guān)的渲染命令。
[0030]因此,可用帶寬和包括電池電力的資源主要用于編碼和發(fā)送動(dòng)畫數(shù)字圖形的主要可見的內(nèi)容。以較低優(yōu)先級處理在背景中或不可見的具有次要(minor)優(yōu)先級的數(shù)據(jù)內(nèi)容。場景描述數(shù)據(jù)和相關(guān)渲染命令的優(yōu)先級可以根據(jù)從利用相關(guān)渲染命令渲染這些場景描述數(shù)據(jù)而得到的圖形內(nèi)容的可見性而設(shè)置。此對處理劃分優(yōu)先級(priorisation)的方法可以僅應(yīng)用于編碼和發(fā)送渲染命令、或者應(yīng)用于編碼和發(fā)送渲染命令以及發(fā)送(可選地,利用預(yù)先壓縮/編碼)相關(guān)數(shù)字場景描述數(shù)據(jù)兩者。
[0031]通過忽略與動(dòng)畫數(shù)字圖形的不可見部分相關(guān)的渲染命令、以及可選地忽略相關(guān)數(shù)字場景描述數(shù)據(jù)本身,減少了發(fā)送所需的處理資源和帶寬。當(dāng)以減低的優(yōu)先級處理具有次級可見性的場景描述數(shù)據(jù)和相關(guān)渲染命令時(shí),處理資源和帶寬可以在可用時(shí)被使用,而不減少用于處理動(dòng)畫圖形的主要可見內(nèi)容的數(shù)據(jù)的可用資源。
[0032]此外,優(yōu)選的是,通過在接收器場景處理設(shè)備中處理數(shù)字場景描述數(shù)據(jù),將由發(fā)送器場景處理設(shè)備提供的數(shù)字場景描述數(shù)據(jù)的渲染分辨率轉(zhuǎn)變?yōu)檫B接至接收器場景處理設(shè)備的顯示器所需的分辨率。因此,由接收器場景處理設(shè)備來使動(dòng)畫數(shù)字圖形適應(yīng)于接收器場景處理設(shè)備所需的分辨率。因此,節(jié)省了發(fā)送器場景處理設(shè)備上的包括可用電池電力的處理資源。通過利用根據(jù)如權(quán)利要求1中所主張的本發(fā)明的方法來發(fā)送數(shù)字場景描述數(shù)據(jù),在不顯著損失質(zhì)量的情況下實(shí)際適應(yīng)于接收器場景處理設(shè)備上的分辨率變?yōu)榭赡堋?br>
[0033]所述發(fā)送僅需要發(fā)送器場景處理設(shè)備和至少一個(gè)接收器場景處理設(shè)備兩者的松散的或依賴于優(yōu)先級的同步。原因是獨(dú)立于渲染命令而發(fā)送數(shù)字場景描述數(shù)據(jù),其中在接收器場景處理設(shè)備中對數(shù)字場景描述數(shù)據(jù)執(zhí)行以減少的數(shù)據(jù)量發(fā)送的渲染命令。
[0034]在接收器場景處理設(shè)備被阻礙而不能繼續(xù)處理數(shù)字?jǐn)?shù)據(jù)的時(shí)段超過預(yù)設(shè)時(shí)限的情況下,優(yōu)選的是,至少一個(gè)接收器場景處理設(shè)備向發(fā)送器場景處理設(shè)備發(fā)送同步信息。
[0035]在優(yōu)選實(shí)施例中,測量用于傳輸經(jīng)編碼的場景描述數(shù)據(jù)和相關(guān)渲染命令的信道的特征。關(guān)于信道的實(shí)際測量特征而控制動(dòng)態(tài)地進(jìn)行重新排序的步驟。信道的這些特征是例如數(shù)據(jù)傳輸統(tǒng)計(jì)、反應(yīng)時(shí)間(例如Ping (偵測)時(shí)間)等。這種關(guān)于信道的特性的信息通常用作接口設(shè)備的輸出、或者可以利用標(biāo)準(zhǔn)固件資源來實(shí)施。
[0036]根據(jù)信道特性控制編碼處理(即動(dòng)態(tài)重新排序的步驟)的優(yōu)點(diǎn)具有使要以最優(yōu)方式發(fā)送至接收器場景處理設(shè)備的數(shù)據(jù)量適應(yīng)于信道的可用帶寬的優(yōu)點(diǎn)。
[0037]此外,優(yōu)選的是,將場景描述數(shù)據(jù)緩存在接收器場景處理設(shè)備的數(shù)據(jù)存儲器中。當(dāng)在發(fā)送器場景處理設(shè)備中編碼場景描述數(shù)據(jù)時(shí),例如通過設(shè)置優(yōu)先級為零而不考慮這種已經(jīng)緩存在相關(guān)接收器場景處理設(shè)備中的場景描述數(shù)據(jù)。因此不再次發(fā)送所緩存的場景描述數(shù)據(jù)。當(dāng)解碼并執(zhí)行與所緩存的場景描述數(shù)據(jù)相關(guān)的渲染命令時(shí),接收器場景處理設(shè)備可以從存儲器中重新使用這種緩存的場景描述數(shù)據(jù)。這具有顯著減少要從發(fā)送器場景處理設(shè)備發(fā)送至至少一個(gè)接收器場景處理設(shè)備的數(shù)據(jù)量的效果。
[0038]所述目的還通過發(fā)送器場景處理設(shè)備實(shí)現(xiàn),所述發(fā)送器場景處理設(shè)備包括用于存儲數(shù)字場景數(shù)據(jù)的數(shù)據(jù)存儲器、至少一個(gè)處理單元和用于連接至至少一個(gè)接收器場景處理設(shè)備以將場景描述數(shù)據(jù)發(fā)送至所述至少一個(gè)接收器場景處理設(shè)備的至少一個(gè)接口。
[0039]根據(jù)本發(fā)明的發(fā)送器場景處理設(shè)備包括編碼器,其用于通過以下步驟在發(fā)送器場景處理設(shè)備中編碼場景描述數(shù)據(jù)和相關(guān)渲染命令:
[0040]-為場景描述數(shù)據(jù)和相關(guān)渲染命令設(shè)置優(yōu)先級,及
[0041]-根據(jù)各自的優(yōu)先級而動(dòng)態(tài)地將場景描述數(shù)據(jù)和相關(guān)渲染命令進(jìn)行重新排序,以便減少發(fā)送所需的帶寬和/或適應(yīng)于不可靠帶寬。
[0042]所述渲染命令包括指令,其用于當(dāng)在處理設(shè)備上執(zhí)行所述指令時(shí),從存儲在數(shù)據(jù)存儲器中的數(shù)字場景描述數(shù)據(jù)獲得動(dòng)畫圖形。所述發(fā)送器場景處理設(shè)備被布置為經(jīng)由至少一個(gè)接口將場景描述數(shù)據(jù)和相關(guān)的被編碼的渲染命令發(fā)送至至少一個(gè)接收器場景處理設(shè)備。
[0043]優(yōu)選地,所述發(fā)送器場景處理設(shè)備例如通過利用處理單元上執(zhí)行的可執(zhí)行文件的軟件編程而被布置為執(zhí)行意圖在發(fā)送器場景處理設(shè)備上執(zhí)行的前述步驟中的至少一個(gè)。
[0044]所述目的還通過接收器場景處理設(shè)備實(shí)現(xiàn),所述接收器場景處理設(shè)備包括用于存儲數(shù)字場景描述數(shù)據(jù)的數(shù)據(jù)存儲器、至少一個(gè)處理單元和用于互連至至少一個(gè)發(fā)送器場景處理設(shè)備的至少一個(gè)接口。所述接收器場景處理設(shè)備包括被布置用于解碼經(jīng)編碼的渲染命令的解碼器,其中,所述接收器場景處理設(shè)備被布置為執(zhí)行與渲染命令相關(guān)的經(jīng)編碼的指令,其用于當(dāng)在處理單元上執(zhí)行所述指令時(shí),從經(jīng)由接口從至少一個(gè)發(fā)送器場景處理設(shè)備接收的數(shù)字場景描述數(shù)據(jù)獲得動(dòng)畫圖形。
[0045]根據(jù)所述發(fā)送器場景處理設(shè)備,優(yōu)選地,所述接收器場景處理設(shè)備被布置為執(zhí)行意圖在接收器場景處理設(shè)備上執(zhí)行的步驟中的至少一個(gè)(例如,通過要在處理單元上執(zhí)行的軟件程序可執(zhí)行文件)?!緦@綀D】
【附圖說明】
[0046]下面,利用附圖通過實(shí)施例來例示地描述本發(fā)明。其示出:
[0047]圖1示出通過數(shù)據(jù)鏈路相互互連的發(fā)送器場景處理設(shè)備和接收器場景處理設(shè)備的框圖;
[0048]圖2示出用于將數(shù)字場景描述數(shù)據(jù)從發(fā)送器場景處理設(shè)備發(fā)送至至少一個(gè)接收器場景處理設(shè)備的方法的流程圖。
【具體實(shí)施方式】
[0049]圖1示出通過數(shù)據(jù)鏈路3而鏈接在一起的發(fā)送器場景處理設(shè)備I和接收器場景處理設(shè)備2的集合的框圖。此數(shù)據(jù)鏈路可以是例如利用如TCP/IP或USB協(xié)議等的數(shù)據(jù)傳輸協(xié)議的有線鏈路。更優(yōu)選地,數(shù)據(jù)鏈路3是利用如WiFi或Bluetooth等的數(shù)據(jù)協(xié)議的無線鏈路。窄帶數(shù)據(jù)鏈路(例如,WiFi和Bluetooth)在許多目標(biāo)設(shè)備中已經(jīng)可用,使得可以通過固件更新來實(shí)施本發(fā)明。
[0050]至少一個(gè)接收器場景處理設(shè)備2連接至顯示單元4,顯示單元4被提供用于顯示通過在接收器場景處理設(shè)備2上渲染數(shù)字場景描述數(shù)據(jù)而處理的動(dòng)畫圖形。
[0051]發(fā)送器場景處理設(shè)備I包括例如以可編程圖形處理器為形式的處理單元5、以及連接至處理單元5且被提供用于存儲數(shù)字場景描述數(shù)據(jù)的數(shù)據(jù)存儲器6。可選地,可以將軟件程序可執(zhí)行文件存儲在數(shù)據(jù)存儲器6中。
[0052]此外,發(fā)送器場景處理設(shè)備I包括渲染命令庫7,其包括用于渲染數(shù)字場景描述數(shù)據(jù)以實(shí)現(xiàn)動(dòng)畫圖形的可執(zhí)行文件和/或命令。這種渲染命令庫可以包括例如根據(jù)OpenGL開放源標(biāo)準(zhǔn)的OpenGL庫。然而,根據(jù)用戶的需要且根據(jù)當(dāng)設(shè)計(jì)發(fā)送器場景處理設(shè)備I時(shí)所選擇的【具體實(shí)施方式】,發(fā)送器場景處理設(shè)備I也可以支持任何其它渲染命令語言,如VirtualGL> WebGL 等。
[0053]發(fā)送器場景處理設(shè)備I還包括接口 8,用于連接至至少一個(gè)接收器場景處理設(shè)備2。接口 8可以是支持例如有線數(shù)據(jù)傳輸協(xié)議TCP/IP、USB等或無線數(shù)據(jù)傳輸協(xié)議WiF1、Bluetooth等的有線或無線接口 8。這些接口 8通常以硬件塊(集成電路)、固件或它們的組合的形式可用。
[0054]此外,發(fā)送器場景處理設(shè)備I包括編碼器9,其用于編碼場景描述數(shù)據(jù)和渲染命令庫7中存儲的相關(guān)渲染命令。編碼器9例如通過軟件編程或以邏輯硬件塊的形式被布置為:利用對場景描述數(shù)據(jù)和相關(guān)渲染命令設(shè)置優(yōu)先級并關(guān)于之前設(shè)置的優(yōu)先級而重新排序場景描述數(shù)據(jù)和渲染命令的步驟來編碼場景描述數(shù)據(jù)和相關(guān)渲染命令,使得減少了發(fā)送場景描述數(shù)據(jù)和相關(guān)渲染命令所需的帶寬和/或使場景描述數(shù)據(jù)和相關(guān)渲染命令的序列適應(yīng)于不可靠帶寬。
[0055]為了重新排序場景描述數(shù)據(jù)和相關(guān)渲染命令,與高優(yōu)先級的場景描述數(shù)據(jù)和相關(guān)渲染命令相比,編碼器9緩存(中間存儲)具有較低優(yōu)先級的場景描述數(shù)據(jù)和相關(guān)渲染命令。當(dāng)重新排序場景描述數(shù)據(jù)和相關(guān)渲染命令時(shí),編碼器9可有權(quán)訪問高速緩存存儲器,用于改變且優(yōu)化場景描述數(shù)據(jù)和相關(guān)渲染命令的序列順序,以實(shí)現(xiàn)前述目的。
[0056]優(yōu)選地,接口 8包括測量單元,其用于測量信道(即數(shù)據(jù)鏈路3)的特性。這些特性是例如數(shù)據(jù)傳輸速率、反應(yīng)時(shí)間(例如Ping時(shí)間)等。如虛線箭頭所示,接口 8控制編碼器
9、以及特別是設(shè)置優(yōu)先級、緩存和重新排序的步驟,以使編碼器9的數(shù)據(jù)流適應(yīng)于所測量的信道特性。
[0057]選擇之一是首先以壓縮的形式將數(shù)字場景描述數(shù)據(jù)從發(fā)送器場景處理設(shè)備I發(fā)送至至少一個(gè)接收器場景處理設(shè)備2。結(jié)果是高度減少了用于發(fā)送此種數(shù)據(jù)所需的帶寬。然而,當(dāng)基于壓縮數(shù)據(jù)顯示動(dòng)畫圖形時(shí)存在質(zhì)量損失的缺點(diǎn),因?yàn)楫?dāng)壓縮數(shù)據(jù)時(shí)存在信息損失。為了克服此缺點(diǎn),稍后將通過例如以非壓縮形式將具有較高質(zhì)量的之前壓縮的數(shù)字場景描述數(shù)據(jù)從發(fā)送器場景處理設(shè)備I發(fā)送至至少一個(gè)接收器場景處理設(shè)備2來更新數(shù)字場景描述數(shù)據(jù)??梢允褂梦从糜诎l(fā)送具有較高優(yōu)先級的數(shù)據(jù)的任何可用帶寬,在數(shù)據(jù)分組中發(fā)送場景描述數(shù)據(jù)。結(jié)果是動(dòng)畫圖形的質(zhì)量稍后改善了。
[0058]在實(shí)踐中,當(dāng)稍后改善圖形質(zhì)量時(shí),動(dòng)畫圖像在開始時(shí)的較低質(zhì)量對于用戶沒有
顯著影響。
[0059]另一選擇是編碼頂點(diǎn)數(shù)據(jù)以壓縮頂點(diǎn)數(shù)據(jù)。數(shù)字場景描述數(shù)據(jù)包括頂點(diǎn)數(shù)據(jù)等,其中頂點(diǎn)數(shù)據(jù)被提供用于描述場景的場景點(diǎn)。頂點(diǎn)數(shù)據(jù)包括相應(yīng)場景點(diǎn)的位置和相應(yīng)場景點(diǎn)的屬性。所述屬性可以包括關(guān)于紋理、照度、視點(diǎn)、線寬、縮放因子、顏色、相關(guān)表面的反射率、和近似曲面在頂點(diǎn)的位置處的法線的信息。
[0060]當(dāng)編碼數(shù)字場景描述數(shù)據(jù)、特別是頂點(diǎn)數(shù)據(jù)時(shí),可以應(yīng)用差值壓縮的方法。在現(xiàn)有技術(shù)中,差值壓縮被公知用于無損數(shù)據(jù)編碼。原則上,當(dāng)執(zhí)行差值壓縮的方法時(shí),計(jì)算并發(fā)送實(shí)際場景描述數(shù)據(jù)與前一組相關(guān)的場景描述數(shù)據(jù)的差。因此,不是實(shí)際場景描述數(shù)據(jù)的絕對值被編碼和發(fā)送,而是實(shí)際場景描述數(shù)據(jù)與前一組相關(guān)的場景描述數(shù)據(jù)的差被編碼和發(fā)送。與絕對數(shù)據(jù)相比,差值數(shù)據(jù)量顯著降低。
[0061]另一選擇是對產(chǎn)生動(dòng)畫數(shù)字圖形中對于用戶主要可見的圖形的場景描述數(shù)據(jù)和相關(guān)渲染命令設(shè)置提高的優(yōu)先級。因此,這些產(chǎn)生處于觀察者的焦點(diǎn)的動(dòng)畫圖形的場景描述數(shù)據(jù)和相關(guān)渲染命令優(yōu)先于涉及動(dòng)畫數(shù)字圖形的背景圖形或甚至不可見部分的場景描述數(shù)據(jù)和相關(guān)渲染命令。
[0062]接收器場景處理設(shè)備2還包括連接至數(shù)據(jù)鏈路3和發(fā)送器場景處理設(shè)備I的接口
10。接口10對應(yīng)于發(fā)送器場景處理設(shè)備的接口 8。
[0063]接收器場景處理設(shè)備2還包括圖形處理單元11和數(shù)據(jù)存儲器12,數(shù)據(jù)存儲器12被提供用于存儲包括數(shù)字場景描述數(shù)據(jù)的數(shù)字場景描述數(shù)據(jù)。
[0064]接收器場景處理設(shè)備2還包括解碼器13,其用于解碼從發(fā)送器場景處理設(shè)備I接收的數(shù)據(jù)流。所述數(shù)據(jù)流包括數(shù)字場景描述數(shù)據(jù)和相關(guān)渲染命令的序列。
[0065]接收器場景處理設(shè)備2的圖形處理單元11被布置為:執(zhí)行與從發(fā)送器場景處理設(shè)備I接收的數(shù)字場景描述數(shù)據(jù)相關(guān)接收的渲染命令。優(yōu)選地,圖形處理單元11由相應(yīng)的固件控制以執(zhí)行渲染命令并執(zhí)行用于圖形處理的渲染。
[0066]可選地,圖形處理單元11可以有權(quán)訪問包括可執(zhí)行文件的渲染命令庫14,可執(zhí)行文件例如為控制圖形處理單元11執(zhí)行具體渲染步驟的固件或軟件代碼的形式。于是,由接收器場景處理設(shè)備2從發(fā)送器場景處理設(shè)備I接收的渲染命令可以被限于涉及接收器場景處理設(shè)備2的渲染命令庫14中存儲的可執(zhí)行文件的碼字。
[0067]于是,渲染命令庫7可以被限制于這樣的碼字的庫,而無需將可執(zhí)行文件存儲在發(fā)送器場景處理設(shè)備I中。
[0068]在圖1中所示的實(shí)施例中,接收器場景處理設(shè)備2 (可選地)連接至被提供用于顯示動(dòng)畫數(shù)字圖形15的顯示器4。所述動(dòng)畫數(shù)字圖形15包括被提供用于描述場景的場景點(diǎn)16的頂點(diǎn)數(shù)據(jù)。
[0069]圖2示出根據(jù)本發(fā)明的用于發(fā)送數(shù)字場景描述數(shù)據(jù)和相關(guān)渲染命令的方法的流程圖。
[0070]在步驟a)中,基于數(shù)字場景描述數(shù)據(jù)的流,編碼場景描述數(shù)據(jù)(即SDD)和相關(guān)渲染命令。
[0071]編碼的步驟a)包括:用于為場景描述數(shù)據(jù)SDD和相關(guān)渲染命令設(shè)置優(yōu)先級的步驟al)、以及根據(jù)在步驟al)中設(shè)置的各自的優(yōu)先級動(dòng)態(tài)地將場景描述數(shù)據(jù)SDD和相關(guān)渲染命令進(jìn)行重新排序的步驟a2),以便減少發(fā)送所需的帶寬和/或適應(yīng)于不可靠帶寬。
[0072]編碼的步驟a)包括緩存場景描述數(shù)據(jù)和相關(guān)渲染命令的步驟,以在將降低的優(yōu)先級分配給此數(shù)據(jù)的情況下存儲這種數(shù)據(jù)。當(dāng)緩存這種數(shù)據(jù)時(shí),編碼器9稍后可以訪問此數(shù)據(jù),以將此數(shù)據(jù)包括在場景描述數(shù)據(jù)和相關(guān)渲染命令的流中。因此,例如由于相關(guān)動(dòng)畫圖形場景處于觀察者的焦點(diǎn)的可見性而具有高優(yōu)先級的場景描述數(shù)據(jù)和相關(guān)渲染命令優(yōu)先于具有較低優(yōu)先級的場景描述數(shù)據(jù)和相關(guān)渲染命令。
[0073]然后在步驟b)中,通過數(shù)據(jù)鏈路3將重新排序的數(shù)字場景描述數(shù)據(jù)和相關(guān)渲染命令的序列從發(fā)送器場景處理設(shè)備I發(fā)送至至少一個(gè)接收器場景處理設(shè)備2。應(yīng)注意,在優(yōu)選實(shí)施例中,場景描述數(shù)據(jù)SDD將與渲染命令通過同一信道(即數(shù)據(jù)鏈路3)分開發(fā)送。因此,步驟b)被劃分為用于發(fā)送數(shù)字場景描述數(shù)據(jù)SDD的步驟bl)和用于發(fā)送渲染命令的步驟b2)。數(shù)字場景描述數(shù)據(jù)SDD和相關(guān)渲染命令也可以通過不同信道彼此分開地發(fā)送、或者可以經(jīng)由同一信道而合并在共同的數(shù)據(jù)分組中發(fā)送。
[0074]在接收器場景處理設(shè)備2中,在步驟c)中接收所發(fā)送的數(shù)字場景描述數(shù)據(jù)SDD和相關(guān)渲染命令。
[0075]然后,在步驟d)中,解碼所接收的數(shù)字場景描述數(shù)據(jù)SDD,并可選地解碼相關(guān)渲染命令。
[0076]在步驟e)中,例如利用接收器場景處理設(shè)備2的渲染命令庫14中存儲的相關(guān)可執(zhí)行文件,執(zhí)行與已經(jīng)從發(fā)送器場景處理設(shè)備I接收的數(shù)字場景描述數(shù)據(jù)相關(guān)的渲染命令。這些相關(guān)的數(shù)字場景描述數(shù)據(jù)也可以是已經(jīng)緩存在接收器場景處理設(shè)備2中以用于后續(xù)對同一數(shù)據(jù)內(nèi)容的重用的數(shù)據(jù)。因此,僅允許從發(fā)送器場景處理設(shè)備I或任何其它源(例如數(shù)據(jù)存儲介質(zhì))發(fā)送一次重復(fù)的數(shù)據(jù)內(nèi)容至接收器場景處理設(shè)備2。
[0077]執(zhí)行渲染命令以處理數(shù)字場景描述數(shù)據(jù)的結(jié)果是可以在步驟f)中立即在顯示器上顯示、或者被存儲用于稍后使用的動(dòng)畫圖形。
[0078]下面,給出本發(fā)明的優(yōu)選實(shí)施例:
[0079]具體化(crystallization):在用于RemoteGPU (遠(yuǎn)程圖形處理單元)設(shè)置的多部件裝置中實(shí)施根據(jù)本發(fā)明的方法。這實(shí)施了用于在低且不可靠帶寬鏈路上的場景合成元素的協(xié)議編碼器、動(dòng)態(tài)信道估計(jì)器和解碼器方法。
[0080]實(shí)施本發(fā)明的系統(tǒng)采用用于在數(shù)據(jù)鏈路上有效預(yù)處理、編碼、發(fā)送、并解碼2D、
2.5D和3D場景合成元素、以及在給定時(shí)間幀和帶寬內(nèi)在連續(xù)的(subsequent)或者非連續(xù)但足夠的相關(guān)場景之間的變換的方法和裝置。該方法是將窄鏈路內(nèi)的位置優(yōu)化為對于具體顯示對象最優(yōu)的最小數(shù)據(jù)傳輸?shù)撵亍?br>
[0081]本發(fā)明的關(guān)鍵方法描述了在此最優(yōu)點(diǎn)上如何處理源-宿交互以仍然實(shí)現(xiàn)出色的反應(yīng)速度。下面將對此進(jìn)行詳細(xì)描述。
[0082]在后續(xù)章節(jié)中描述的關(guān)鍵創(chuàng)新是:
[0083]?引入優(yōu)化方法,其取代傳統(tǒng)的幀同步的或等步的、且因此為顯著冗余的、并因此為非常低效的對潛在用戶的顯示通信、以及本質(zhì)上異步的以應(yīng)用為目的的場景變換特征。
[0084]?特定于每個(gè)內(nèi)容相關(guān)的技術(shù)的最大冗余降低使用
[0085]?有關(guān)反應(yīng)速度與較不顯著的視覺內(nèi)容的辨識、去耦、優(yōu)先級劃分和再處理
[0086].用于動(dòng)態(tài)信道估計(jì)、編碼和解碼的處理高效裝置。
[0087]?基于被辨識的用戶交互和預(yù)估計(jì)的處理需要的節(jié)電。
[0088]?先驗(yàn)和按需信道特性估計(jì)器
[0089]?先驗(yàn)和按需應(yīng)用通信特性估計(jì)器
[0090]為實(shí)施根據(jù)本發(fā)明的方法而推薦的裝置可以至少出現(xiàn)在以下組合實(shí)施例中:
[0091]
【權(quán)利要求】
1.用于將數(shù)字場景描述數(shù)據(jù)和相關(guān)渲染命令從發(fā)送器場景處理設(shè)備發(fā)送至至少一個(gè)接收器場景處理設(shè)備的方法,所述渲染命令包括指令,其用于當(dāng)在處理設(shè)備上執(zhí)行所述指令時(shí),從數(shù)字場景描述數(shù)據(jù)獲得動(dòng)畫圖形,其特征在于 通過以下步驟在所述發(fā)送器場景處理設(shè)備中編碼場景描述數(shù)據(jù)和渲染命令: 為場景描述數(shù)據(jù)和相關(guān)渲染命令設(shè)置優(yōu)先級,和 根據(jù)各自的優(yōu)先級動(dòng)態(tài)地將所述場景描述數(shù)據(jù)和相關(guān)渲染命令進(jìn)行重新排序,以便減少發(fā)送所需的帶寬和/或適應(yīng)于不可靠帶寬;以及 將經(jīng)編碼的場景描述數(shù)據(jù)和相關(guān)渲染命令發(fā)送至所述至少一個(gè)接收器場景處理設(shè)備,用于由所述至少一個(gè)接收器場景處理設(shè)備解碼并執(zhí)行與所發(fā)送的場景描述數(shù)據(jù)相關(guān)的渲染命令,以實(shí)現(xiàn)動(dòng)畫數(shù)字圖形。
2.如權(quán)利要求1所述的方法,其特征在于 首先將壓縮的數(shù)字場景描述數(shù)據(jù)、特別是紋理數(shù)據(jù)從所述發(fā)送器場景處理設(shè)備發(fā)送至所述至少一個(gè)接收器場景處理設(shè)備,以及 稍后通過將具有較高質(zhì)量的之前壓縮的數(shù)字場景描述數(shù)據(jù)從所述發(fā)送器場景處理設(shè)備發(fā)送至所述至少一個(gè)接收器場景處理設(shè)備來更新所述數(shù)字場景描述數(shù)據(jù)。
3.如權(quán)利要求1或2所述的方法,其特征在于,編碼被提供用于描述場景的場景點(diǎn)的頂點(diǎn)數(shù)據(jù),并將經(jīng)編碼的頂點(diǎn)數(shù)據(jù)從所述發(fā)送器場景處理設(shè)備發(fā)送至所述至少一個(gè)接收器場景處理設(shè)備,所述頂點(diǎn)數(shù)據(jù)包括被提供用于渲染與所述頂點(diǎn)數(shù)據(jù)相關(guān)的對象的相應(yīng)場景點(diǎn)的位置和相應(yīng)場景點(diǎn)的屬性,所述頂點(diǎn)數(shù)據(jù)是數(shù)字場景描述數(shù)據(jù)的一部分。
4.如權(quán)利要求1至3之一所述的方法,其特征在于,利用差值壓縮來編碼場景描述數(shù)據(jù)、特別是頂點(diǎn)數(shù)據(jù),其中計(jì)算并發(fā)送實(shí)際場景描述數(shù)據(jù)與之前一組相關(guān)場景描述數(shù)據(jù)的差。
5.如在前權(quán)利要求之一所述的方法,其特征在于,對產(chǎn)生在動(dòng)畫數(shù)字圖形中對于用戶主要可見的圖形的場景描述數(shù)據(jù)和相關(guān)渲染命令設(shè)置用于在所述編碼的步驟中動(dòng)態(tài)地重新排序的提高的優(yōu)先級,所述提高的優(yōu)先級是對于被設(shè)置用于產(chǎn)生具有次級可見性或在動(dòng)畫數(shù)字圖形中不可見的圖形的場景描述數(shù)據(jù)和相關(guān)渲染命令的優(yōu)先級而提高的。
6.如在前權(quán)利要求之一所述的方法,其特征在于,將由所述發(fā)送器場景處理設(shè)備提供且被分配了第一分辨率的數(shù)字場景描述數(shù)據(jù)的渲染分辨率轉(zhuǎn)變至連接至接收器場景處理設(shè)備的顯示器所需的第二分辨率,所述轉(zhuǎn)變的步驟在所述接收器場景處理設(shè)備中執(zhí)行,并包括:將用于場景的場景描述數(shù)據(jù)乘以相應(yīng)的轉(zhuǎn)變因子,用于相關(guān)場景描述數(shù)據(jù)的所述轉(zhuǎn)變因子依賴于所述第一 分辨率、所需的第二分辨率、以及對于每個(gè)場景描述數(shù)據(jù)或場景的視點(diǎn)。
7.如在前權(quán)利要求之一所述的方法,其特征在于,在接收器場景處理設(shè)備被阻礙不能繼續(xù)處理數(shù)字?jǐn)?shù)據(jù)的時(shí)段超過預(yù)設(shè)時(shí)限的情況下,將同步信息從所述至少一個(gè)接收器場景處理設(shè)備之一發(fā)送至所述發(fā)送器場景處理設(shè)備。
8.如在前權(quán)利要求之一所述的方法,其特征在于,測量用于發(fā)送經(jīng)編碼的場景描述數(shù)據(jù)和相關(guān)渲染命令的信道的特性,并關(guān)于實(shí)際測量的所述信道的特性而控制動(dòng)態(tài)地重新排序的步驟。
9.如在前權(quán)利要求之一所述的方法,其特征在于,將場景描述數(shù)據(jù)緩存在接收器場景處理設(shè)備的數(shù)據(jù)存儲器中,當(dāng)在所述發(fā)送器場景處理設(shè)備中編碼所述場景描述數(shù)據(jù)和相關(guān)渲染命令時(shí),例如通過設(shè)置優(yōu)先級為零來省略考慮已經(jīng)緩存在相關(guān)接收器場景處理設(shè)備中這種場景描述數(shù)據(jù),并且,當(dāng)解碼并執(zhí)行與緩存的場景描述數(shù)據(jù)相關(guān)的渲染命令時(shí),由所述接收器場景處理設(shè)備從所述存儲器重新使用這種緩存的場景描述數(shù)據(jù)。
10.發(fā)送器場景處理設(shè)備,包括用于存儲數(shù)字場景描述數(shù)據(jù)的數(shù)據(jù)存儲器、至少一個(gè)處理單元以及用于連接至至少一個(gè)接收器場景處理設(shè)備以將場景描述數(shù)據(jù)發(fā)送至所述至少一個(gè)接收器場景處理設(shè)備的至少一個(gè)接口,其特征在于,所述發(fā)送器場景處理設(shè)備包括編碼器,用于通過以下操作在所述發(fā)送器場景處理設(shè)備中編碼場景描述數(shù)據(jù)和相關(guān)渲染命令: 為所述場景描述數(shù)據(jù)和相關(guān)渲染命令設(shè)置優(yōu)先級,和 根據(jù)各自的優(yōu)先級而動(dòng)態(tài)地將所述場景描述數(shù)據(jù)和相關(guān)渲染命令進(jìn)行重新排序,以便減少發(fā)送所需的帶寬和/或適應(yīng)于不可靠帶寬, 所述渲染命令包括指令,用于當(dāng)在處理設(shè)備上執(zhí)行所述指令時(shí),從存儲在所述數(shù)據(jù)存儲器中的數(shù)字場景描述數(shù)據(jù)獲得動(dòng)畫圖形,其中所述發(fā)送器場景處理設(shè)備被布置為經(jīng)由所述至少一個(gè)接口將場景描述數(shù)據(jù)和相關(guān)的已經(jīng)編碼的渲染命令發(fā)送至至少一個(gè)接收器場景處理設(shè)備。
11.如權(quán)利要求1所述的發(fā)送器場景處理設(shè)備,其特征在于,所述發(fā)送器場景處理設(shè)備被布置為執(zhí)行權(quán)利要求1-9的步驟中的至少一個(gè)。
12.接收器場景處理設(shè)備,包括用于存儲數(shù)字場景描述數(shù)據(jù)的數(shù)據(jù)存儲器、至少一個(gè)處理單元以及用于互連至至少一個(gè)發(fā)送器場景處理設(shè)備的至少一個(gè)接口,其特征在于,所述接收器場景處理設(shè)備包括被布置用于解碼根據(jù)權(quán)利要求1至9之一的方法編碼和發(fā)送的渲染命令的解碼器,其中,所述接收器場景處理設(shè)備被布置為執(zhí)行與所述渲染命令相關(guān)的經(jīng)編碼的指令,用于當(dāng)在所述處 理單元上執(zhí)行所述指令時(shí),從經(jīng)由所述接口從所述至少一個(gè)發(fā)送器場景處理設(shè)備接收的數(shù)字場景描述數(shù)據(jù)獲得動(dòng)畫圖形。
13.如權(quán)利要求12所述的接收器場景處理設(shè)備,其特征在于,所述接收器場景處理設(shè)備被布置為執(zhí)行根據(jù)權(quán)利要求1-9的方法的步驟中的至少一個(gè)。
【文檔編號】G06T9/00GK103688240SQ201180072421
【公開日】2014年3月26日 申請日期:2011年5月20日 優(yōu)先權(quán)日:2011年5月20日
【發(fā)明者】B.斯坦克 申請人:夢芯片技術(shù)股份有限公司