本發(fā)明涉及人機交互技術(shù)領(lǐng)域,尤其是一種3D畫面的渲染方法和系統(tǒng)、及移動終端。
背景技術(shù):
隨著移動終端及4G等網(wǎng)絡(luò)能力的不斷提升,諸如移動在線游戲、移動立體導航、AR(Augmented Reality,增強型虛擬現(xiàn)實)等3D交互式應用日益普及,3D內(nèi)容持續(xù)豐富,并不斷給用戶帶來全新的視覺沖擊與沉浸式體驗。
然而,復雜3D立體場景、實時全局/間接光照(Real-time Global Illumination)等新一代3D渲染技術(shù)對大規(guī)模圖形數(shù)據(jù)處理能力要求極高,而移動終端因處理、存儲能力及能耗受限,無法應用上述技術(shù),從而限制了移動終端3D應用領(lǐng)域及效果的呈現(xiàn)。
鑒于此,業(yè)界提出了基于云服務器的實時渲染技術(shù),由云端負責全部3D畫面計算,然后以壓縮幀的圖像方式或者是純視頻方式傳輸給終端顯示。然而,這種方式仍存在如下問題:
一、云端渲染負載較大。云端需按終端原始分辨率計算渲染所有畫面,并將其進行高分辨率實時視頻編碼,云端需要巨大的計算處理能力,導致云端負載量大,服務成本過高,難以服務于海量并發(fā)用戶;
二、實時交互性較差。純云端計算方式渲染效率和傳輸效率相對較低,難以應用于實時交互響應要求較高(例如>30fps)的3D應用場合,該問題在信道容量及QoS(Quality of Service,服務質(zhì)量)相對難以保障的移動應用場合下尤為顯著;
三、難以保障畫面質(zhì)量。簡單的云視頻傳輸方式無法靈活適應移動信道容量及QoS等隨機因素的變化,不便于保障畫面質(zhì)量,導致畫面 模糊、走樣,該問題在具備大分辨率的移動終端上尤為顯著。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例所要解決的其中一個技術(shù)問題是:提供一種3D畫面的渲染方法和系統(tǒng)、及移動終端,既能解決移動終端3D畫面渲染能力不足的問題,又能提升3D畫面的渲染效率和交互響應效率。
根據(jù)本發(fā)明的一方面,提供一種3D畫面的渲染方法,包括:移動終端接收云端對3D背景畫面進行渲染后輸出的3D背景渲染畫面;移動終端對3D前景畫面進行渲染以得到3D前景渲染畫面;移動終端將所述3D背景渲染畫面和所述3D前景渲染畫面合成為3D渲染畫面。
在一個實施例中,所述3D背景渲染畫面的分辨率小于移動終端的分辨率;所述方法還包括:移動終端將接收到的3D背景渲染畫面重建為具有移動終端的分辨率的3D背景渲染畫面。
在一個實施例中,移動終端還接收云端輸出的時域超采樣控制信息,所述時域超采樣控制信息包括采樣數(shù)量n;所述移動終端將接收到的3D背景渲染畫面重建為具有移動終端的分辨率的3D背景渲染畫面包括:移動終端根據(jù)采樣數(shù)量n將云端輸出的連續(xù)n幀3D背景渲染畫面緩存;移動終端將緩存的第n幀3D背景渲染畫面和第n幀之前的n-1幀3D背景渲染畫面重建成一幀具有移動終端的分辨率的3D背景渲染畫面,其中n為大于1的整數(shù)。
在一個實施例中,所述時域超采樣控制信息還包括像素區(qū)域劃分方式;所述移動終端將緩存的第n幀3D背景渲染畫面和第n幀之前的n-1幀3D背景渲染畫面重建成一幀具有移動終端的分辨率的3D背景渲染畫面包括:移動終端根據(jù)像素區(qū)域劃分方式將需要重建的每個像素的像素區(qū)域劃分為n個面積均等的區(qū)域;移動終端在每個區(qū)域中各進行一次隨機采樣,從而獲取到每個像素所對應的n個子像素;移動終端計算每個像素所對應的n個子像素的像素值的平均值,并將該平均值作為相應像素的像素值。
在一個實施例中,n個面積均等的區(qū)域為扇形。
在一個實施例中,所述方法還包括:云端接收渲染當前幀3D背景畫面所需的應用信息;云端根據(jù)所述應用信息實現(xiàn)與終端的幀狀態(tài)同步,并獲取渲染當前幀3D背景畫面所需的場景描述信息;云端根據(jù)所述場景描述信息獲取當前幀3D背景渲染畫面并輸出到移動終端。
在一個實施例中,所述云端根據(jù)所述場景描述信息獲取3D背景渲染畫面并輸出到移動終端包括:云端根據(jù)所述場景描述信息判斷場景緩沖數(shù)據(jù)庫中是否已有當前幀3D背景渲染畫面;如果場景緩沖數(shù)據(jù)庫中已有當前幀3D背景渲染畫面,則云端直接從場景緩沖數(shù)據(jù)庫調(diào)用當前幀3D背景渲染畫面并輸出到移動終端;如果場景緩沖數(shù)據(jù)庫中沒有當前幀3D背景渲染畫面,則云端根據(jù)所述場景描述信息從場景數(shù)據(jù)庫中調(diào)用相應的場景信息,根據(jù)所述場景描述信息對所述場景信息進行渲染生成當前幀3D背景渲染畫面,并將新生成的當前幀3D背景渲染畫面與所述場景描述信息對應地保存至所述場景緩沖數(shù)據(jù)庫。
在一個實施例中,所述場景描述信息是無狀態(tài)信息。
根據(jù)本發(fā)明的另一方面,提供一種移動終端,包括:接收單元,用于接收云端對3D背景畫面進行渲染后輸出的3D背景渲染畫面;前景渲染單元,用于對3D前景畫面進行渲染以得到3D前景渲染畫面;合成單元,用于將所述3D背景渲染畫面和所述3D前景渲染畫面合成為3D渲染畫面。
在一個實施例中,所述3D背景渲染畫面的分辨率小于移動終端的分辨率;所述移動終端還包括:重建單元,用于將接收到的3D背景渲染畫面重建為具有移動終端的分辨率的3D背景渲染畫面。
在一個實施例中,所述接收單元,還用于還接收云端輸出的時域超采樣控制信息,所述時域超采樣控制信息包括采樣數(shù)量n;所述重建單元包括:緩存模塊,用于根據(jù)采樣數(shù)量n將云端輸出的連續(xù)n幀3D背景渲染畫面緩存;重建模塊,用于將緩存的第n幀3D背景渲染畫面和第n幀之前的n-1幀3D背景渲染畫面重建成一幀具有移動終端的分辨率的3D背景渲染畫面,其中n為大于1的整數(shù)。
在一個實施例中,所述時域超采樣控制信息還包括像素區(qū)域劃分方 式;所述重建模塊包括:劃分子模塊,用于根據(jù)像素區(qū)域劃分方式將需要重建的每個像素的像素區(qū)域劃分為n個面積均等的區(qū)域;采樣子模塊,用于在每個區(qū)域中各進行一次隨機采樣,從而獲取到每個像素所對應的n個子像素;計算子模塊,用于計算每個像素所對應的n個子像素的像素值的平均值,并將該平均值作為相應像素的像素值。
在一個實施例中,n個面積均等的區(qū)域為扇形。
根據(jù)本發(fā)明的又一方面,提供一種3D畫面的渲染系統(tǒng),包括:上述任意一個實施例所述的移動終端和云端。
在一個實施例中,所述云端包括:接收單元,用于接收渲染當前幀3D背景畫面所需的應用信息;同步單元,用于根據(jù)所述應用信息實現(xiàn)與終端的幀狀態(tài)同步,并獲取渲染當前幀3D背景畫面所需的場景描述信息;背景渲染單元,用于根據(jù)所述場景描述信息獲取當前幀3D背景渲染畫面并輸出到移動終端。
在一個實施例中,所述背景渲染單元包括:判斷模塊,用于根據(jù)所述場景描述信息判斷場景緩沖數(shù)據(jù)庫中是否已有當前幀3D背景渲染畫面;調(diào)用模塊,用于在場景緩沖數(shù)據(jù)庫中已有當前幀3D背景渲染畫面的情況下直接從場景緩沖數(shù)據(jù)庫調(diào)用當前幀3D背景渲染畫面并輸出到移動終端;背景渲染模塊,用于在場景緩沖數(shù)據(jù)庫中沒有當前幀3D背景渲染畫面的情況下根據(jù)所述場景描述信息從場景數(shù)據(jù)庫中調(diào)用相應的場景信息,根據(jù)所述場景描述信息對所述場景信息進行渲染生成當前幀3D背景渲染畫面,并將新生成的當前幀3D背景渲染畫面與所述場景描述信息對應地保存至所述場景緩沖數(shù)據(jù)庫。
在一個實施例中,所述場景描述信息是無狀態(tài)信息。
本發(fā)明由云端和移動終端分別負責大面積的3D背景畫面和小面積的3D前景畫面的渲染,可以兼顧移動終端和云端的渲染能力,既能解決移動終端3D畫面渲染能力不足的問題,又能提升3D畫面的渲染效率和交互響應效率。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明3D畫面的渲染方法一個實施例的流程示意圖;
圖2是本發(fā)明3D畫面的渲染方法另一個實施例的流程示意圖;
圖3是本發(fā)明3D畫面的渲染方法又一個實施例的流程示意圖;
圖4示出了本發(fā)明像素區(qū)域劃分方式與現(xiàn)有的像素區(qū)域劃分方式的對比示意圖;
圖5是本發(fā)明3D畫面的渲染方法再一個實施例的流程示意圖;
圖6是本發(fā)明3D畫面的渲染方法還一個實施例的流程示意圖;
圖7是本發(fā)明移動終端一個實施例的結(jié)構(gòu)示意圖;
圖8是本發(fā)明移動終端另一個實施例的結(jié)構(gòu)示意圖;
圖9是本發(fā)明3D畫面的渲染系統(tǒng)一個實施例的結(jié)構(gòu)示意圖;
圖10是本發(fā)明3D畫面的渲染系統(tǒng)的架構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數(shù)字表達式和數(shù)值不限制本發(fā)明的范圍。
同時,應當明白,為了便于描述,附圖中所示出的各個部分的尺寸并不是按照實際的比例關(guān)系繪制的。
對于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳 細討論,但在適當情況下,所述技術(shù)、方法和設(shè)備應當被視為授權(quán)說明書的一部分。
在這里示出和討論的所有示例中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它示例可以具有不同的值。
應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
圖1是本發(fā)明3D畫面的渲染方法一個實施例的流程示意圖。如圖1所示,該方法包括如下步驟:
步驟102,移動終端接收云端對3D背景畫面進行渲染后輸出的3D背景渲染畫面。
這里,將3D畫面分為大面積的3D背景畫面和小面積的3D前景畫面,由云端負責3D背景畫面的渲染,并輸出到移動終端。另外,在一個實施例中,也可以將3D背景渲染畫面編碼成視頻流并封裝成復用碼流后再輸出到移動終端。例如,可以使用云端實時編碼器采用諸如H.264的標準視頻編碼機制將3D背景渲染畫面編碼成視頻流,然后通過云端碼流-傳輸服務器將視頻流進行封裝,最終生成可以供網(wǎng)絡(luò)傳輸?shù)膹陀么a流形式,再經(jīng)由接入服務器通過網(wǎng)絡(luò)傳輸至移動終端。
步驟104,移動終端對3D前景畫面進行渲染以得到3D前景渲染畫面。
3D前景畫面通常為小面積的焦點畫面,由移動終端3D前景畫面進行渲染可以分擔云端的壓力,提高渲染效率和交互響應效率。
步驟106,移動終端將3D背景渲染畫面和3D前景渲染畫面合成為3D渲染畫面。
作為與用戶的交互反饋,移動終端在合成3D渲染畫面后可以將其輸出。另外,如果移動終端接收到的3D背景渲染畫面為復用碼流的形式,則先對復用碼流進行解碼,然后執(zhí)行上述合成操作。
本實施例中,由云端和移動終端分別負責大面積的3D背景畫面和 小面積的3D前景畫面的渲染,可以兼顧移動終端和云端的渲染能力,既能解決移動終端3D畫面渲染能力不足的問題,又能提升3D畫面的渲染效率和交互響應效率。
現(xiàn)有技術(shù)中,云端按照移動終端的原始分辨率渲染所有3D畫面,對云端的計算處理能力要求很高,云端服務成本也很高。圖2是本發(fā)明3D畫面的渲染方法另一個實施例的流程示意圖。如圖2所示,該實施例的方法包括如下步驟:
步驟102,移動終端接收云端對3D背景畫面進行渲染后輸出的3D背景渲染畫面。
這里,3D背景渲染畫面的分辨率小于移動終端的分辨率。在實際應用中,云端的渲染分辨率可以根據(jù)移動終端設(shè)備及網(wǎng)絡(luò)傳輸能力進行靈活調(diào)整,從而實現(xiàn)重建畫質(zhì)效果與交互式響應效果的平衡。
步驟202,移動終端將接收到的3D背景渲染畫面重建為具有移動終端的分辨率的3D背景渲染畫面。
可選地,可以對重建后的3D背景渲染畫面進行反走樣處理。
步驟104,移動終端對3D前景畫面進行渲染以得到3D前景渲染畫面。
步驟106,移動終端將3D背景渲染畫面和3D前景渲染畫面合成為3D渲染畫面。
需要說明的是,步驟102、步驟104、步驟106的具體實現(xiàn)可以參照圖1所示實施例的描述,在此不再贅述。另外,上述步驟并非必然表示嚴格的時序步驟,例如步驟202也可以步驟104之后執(zhí)行。
本實施例中,由云端生成小于移動終端設(shè)備的分辨率的3D背景渲染畫面,然后傳輸給移動終端,移動終端再將接收到的3D背景渲染畫面重建為具有移動終端的分辨率的3D背景渲染畫面,可以進一步降低對云端的要求,減輕了云端的壓力和服務成本,進一步提高了渲染效率和交互響應效率。
圖2所示步驟202中重建3D背景渲染畫面的方式可以有多種。為了兼顧渲染效率和畫面質(zhì)量,本發(fā)明提供了一種基于時域超采樣的重建 方式。下面結(jié)合圖3所示實施例進行詳細說明。
圖3是本發(fā)明3D畫面的渲染方法又一個實施例的流程示意圖。該實施例的步驟102中,移動終端還接收云端輸出的時域超采樣控制信息,該時域超采樣控制信息可以包括采樣數(shù)量n和/或像素區(qū)域劃分方式。其中n為大于1的整數(shù),優(yōu)選地,1<n≤8。n可以根據(jù)移動終端應用的實時響應需求、畫質(zhì)質(zhì)量要求及顯示適配策略而動態(tài)調(diào)整,或者,也可以人為配置。如圖3所示,該實施例中的步驟202可以包括:
步驟212,移動終端根據(jù)采樣數(shù)量n將云端輸出的連續(xù)n幀3D背景渲染畫面緩存,例如緩存到緩沖區(qū)。這里,連續(xù)n幀3D背景渲染畫面的分辨率小于移動終端的分辨率。
步驟222,移動終端將緩存的第n幀3D背景渲染畫面和第n幀之前的n-1幀3D背景渲染畫面重建成一幀具有移動終端的分辨率的3D背景渲染畫面。
本實施例將分辨率小于移動終端的分辨率的連續(xù)n幀3D背景渲染畫面重建為一幀具有移動終端的分辨率的3D背景渲染畫面可以提高畫面質(zhì)量。
作為步驟222的一種實現(xiàn)方式,移動終端可以根據(jù)時域超采樣控制信息中的像素區(qū)域劃分方式將需要重建的每個像素的像素區(qū)域劃分為n個面積均等的區(qū)域,本發(fā)明提出將一個像素的像素區(qū)域劃分為n個面積均等的扇形,后文將作詳細說明。
然后,移動終端在每個區(qū)域中各進行一次隨機采樣,從而獲取到每個像素所對應的n個子像素,該n個子像素即為云端輸出的連續(xù)n幀3D背景渲染畫面。
最后,移動終端計算每個像素所對應的n個子像素的像素值的平均值,并將該平均值作為相應像素的像素值。通過上述方法,移動終端可以得到每個需要重建像素的像素值,從而完成3D背景渲染畫面的重建。
移動終端完成一幀具有移動終端的分辨率的3D背景渲染畫面的重建之后,執(zhí)行后續(xù)步驟106中將該幀3D背景渲染畫面和該幀前景渲染畫面進行合成的操作。
另外,移動終端在完成每一幀3D背景渲染畫面和前景渲染畫面的合成操作之后,可以將幀傳輸延遲、實時幀頻、畫面重建時間、緩沖區(qū)占用率等一系列性能統(tǒng)計信息隨同交互控制信息一并反饋給云端。云端可以利用性能統(tǒng)計信息判斷是否需要對時域超采樣控制信息及其生成的背景渲染畫面的分辨率進行動態(tài)調(diào)整,如果需調(diào)整,則云端在對下一幀3D背景畫面渲染時將3D背景畫面渲染成調(diào)整后的分辨率,并將3D背景渲染畫面和調(diào)整之后的時域超采樣控制信息封裝在可復用傳輸視頻流中輸出到移動終端,以便移動終端側(cè)根據(jù)時域超采樣控制信息及時進行同步調(diào)整。
圖4示出了本發(fā)明像素區(qū)域劃分方式與現(xiàn)有的像素區(qū)域劃分方式的對比示意圖。如圖4所示,現(xiàn)有的像素區(qū)域劃分方式均是將一個正方形的像素區(qū)域完全劃分為正方形或三角形區(qū)域。而本發(fā)明將一個像素的像素區(qū)域劃分為n個面積均等的扇形,即將正方形像素區(qū)域的內(nèi)切圓均分為n個面積均等的扇形。這種方式可以實現(xiàn)單像素區(qū)域范圍內(nèi)均勻采樣區(qū)域的任意數(shù)量劃分,且具備旋轉(zhuǎn)不變性,從而可實現(xiàn)子像素采樣數(shù)量的平滑動態(tài)調(diào)整。例如,按照本發(fā)明的像素區(qū)域劃分方式,在從4個子像素均勻采樣方式(即,連續(xù)4幀混合)平滑切換至5個子像素采樣方式(即,連續(xù)5幀混合)時,可以利用可旋轉(zhuǎn)特性,選擇最佳的劃分位置,從而盡可能重用已有的采樣點,以盡可能地保障過渡時期的合成畫面質(zhì)量。
圖5是本發(fā)明3D畫面的渲染方法再一個實施例的流程示意圖。如圖5所示,與圖1所示實施例相比,該實施例的方法還包括如下步驟:
步驟502,云端接收渲染當前幀3D背景畫面所需的應用信息。
這里,應用信息包括但不限于移動終端的鏡頭信息,例如鏡頭位置和鏡頭指向。移動終端可以將應用信息以及用戶鍵控等交互控制信息傳輸給云端的接入服務器,通過負載均衡調(diào)度給相應的云端邏輯服務器進行處理。
步驟504,云端根據(jù)應用信息實現(xiàn)與終端的幀狀態(tài)同步,并獲取渲染當前幀3D背景畫面所需的場景描述信息。
這里,場景描述信息包括應用信息以及根據(jù)應用信息得到的3D模型列表信息。云端邏輯服務器可以對應用信息執(zhí)行相應的邏輯運算,實現(xiàn)與終端的幀狀態(tài)同步,并根據(jù)應用信息得到3D模型列表信息,然后將場景描述信息調(diào)度給云端渲染集群進行處理。例如,云端邏輯服務器根據(jù)鏡頭指向裁剪3D模型列表,從而得到渲染當前幀3D背景畫面所需的3D模型列表信息。優(yōu)選地,場景描述信息是無狀態(tài)信息,從而可以進一步減小云端的壓力。
步驟506,云端根據(jù)場景描述信息獲取當前幀3D背景渲染畫面并輸出到移動終端。之后,執(zhí)行后續(xù)步驟102-步驟106的操作。
圖6是本發(fā)明3D畫面的渲染方法還一個實施例的流程示意圖。如圖6所示,該實施例中的步驟506可以包括:
步驟516,云端根據(jù)場景描述信息判斷場景緩沖數(shù)據(jù)庫中是否已有當前幀3D背景渲染畫面;如果是,即場景緩沖數(shù)據(jù)庫中已有當前幀3D背景渲染畫面,則執(zhí)行步驟526,如果否,即,場景緩沖數(shù)據(jù)庫中沒有當前幀3D背景渲染畫面,則執(zhí)行步驟536。
步驟526,云端直接從場景緩沖數(shù)據(jù)庫調(diào)用當前幀3D背景渲染畫面并輸出到移動終端。
步驟536,云端根據(jù)場景描述信息從場景數(shù)據(jù)庫中調(diào)用相應的場景信息,根據(jù)場景描述信息對場景信息進行渲染生成當前幀3D背景渲染畫面,并將新生成的當前幀3D背景渲染畫面與場景描述信息對應地保存至場景緩沖數(shù)據(jù)庫。這里,場景數(shù)據(jù)庫中包括渲染所需的3D模型、貼圖、材質(zhì)、Shader等信息。云端渲染生成的3D背景畫面包括RGBA四個顏色通道,且其像素分辨率大小為移動終端原始像素分辨率大小的m倍(0.5≤m≤1),在實際應用中,m的具體取值可隨移動終端/信道適配策略動態(tài)調(diào)整。
本實施例將3D背景渲染畫面與場景描述信息對應地保存至場景緩沖數(shù)據(jù)庫,與傳統(tǒng)的單用戶渲染服務應用場景相比,本實施例可以實現(xiàn)云端渲染場景的跨用戶會話緩沖共享的目的。
另外,云端除生成3D背景渲染畫面之外,云端還可選地將生成時 域超采樣控制信息,如采樣數(shù)量和像素區(qū)域劃分方式等;并且還將可選地生成其他的相關(guān)場景信息,如單色通道的屏幕空間深度圖(Depth Map)、場景主燈光陰影圖(Shadow Map)等,以輔助后續(xù)移動終端對3D前景畫面的渲染計算。上述相關(guān)場景信息可以根據(jù)移動終端側(cè)應用的需求選擇性地輸出。
上述3D畫面的渲染方法適于但不限于移動3D在線游戲、立體導航、增強型虛擬現(xiàn)實等移動交互應用,利用上述方法可以有效解決移動終端設(shè)備3D實時渲染能力不足的問題,同時有效改善傳統(tǒng)渲染云端所存在的云端負載量大、處理能力不足,畫面顯示延遲時間較長、交互式響應遲鈍等問題,進而極大提升移動3D在線游戲、立體導航等交互式3D應用的體驗。
本說明書中各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似的部分相互參見即可。對于移動終端和系統(tǒng)實施例而言,由于其與方法實施例基本對應,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
圖7是本發(fā)明移動終端一個實施例的結(jié)構(gòu)示意圖。如圖7所示,該移動終端包括:
接收單元701,用于接收云端對3D背景畫面進行渲染后輸出的3D背景渲染畫面;
前景渲染單元702,用于對3D前景畫面進行渲染以得到3D前景渲染畫面;
合成單元703,用于將3D背景渲染畫面和3D前景渲染畫面合成為3D渲染畫面。
本實施例中,由云端和移動終端分別負責大面積的3D背景畫面和小面積的3D前景畫面的渲染,可以兼顧移動終端和云端的渲染能力,既能解決移動終端3D畫面渲染能力不足的問題,又能提升3D畫面的渲染效率和交互響應效率。
圖8是本發(fā)明移動終端另一個實施例的結(jié)構(gòu)示意圖。該實施例中, 接收單元701接收到的3D背景渲染畫面的分辨率小于移動終端的分辨率。如圖8所示,移動終端還包括:
重建單元801,用于將接收到的3D背景渲染畫面重建為具有移動終端的分辨率的3D背景渲染畫面。
在一個實施例中,參見圖8,接收單元701,還用于還接收云端輸出的時域超采樣控制信息,時域超采樣控制信息包括采樣數(shù)量n。該實施例中的重建單元801包括:
緩存模塊811,用于根據(jù)采樣數(shù)量n將云端輸出的連續(xù)n幀3D背景渲染畫面緩存;
重建模塊821,用于將緩存的第n幀3D背景渲染畫面和第n幀之前的n-1幀3D背景渲染畫面重建成一幀具有移動終端的分辨率的3D背景渲染畫面,其中n為大于1的整數(shù)。
本實施例將分辨率小于移動終端的分辨率的連續(xù)n幀3D背景渲染畫面重建為一幀具有移動終端的分辨率的3D背景渲染畫面可以提高畫面質(zhì)量。
在另一個實施例中,時域超采樣控制信息還包括像素區(qū)域劃分方式;重建模塊821包括:
劃分子模塊,用于根據(jù)像素區(qū)域劃分方式將需要重建的每個像素的像素區(qū)域劃分為n個面積均等的區(qū)域。在一個實施例中,n個面積均等的區(qū)域為扇形。
采樣子模塊,用于在每個區(qū)域中各進行一次隨機采樣,從而獲取到每個像素所對應的n個子像素。
計算子模塊,用于計算每個像素所對應的n個子像素的像素值的平均值,并將該平均值作為相應像素的像素值。
本實施例中的像素區(qū)域劃分方式可以實現(xiàn)單像素區(qū)域范圍內(nèi)均勻采樣區(qū)域的任意數(shù)量劃分,且具備旋轉(zhuǎn)不變性,從而可實現(xiàn)子像素采樣數(shù)量的平滑動態(tài)調(diào)整。
本發(fā)明還提供了一種3D畫面的渲染系統(tǒng),包括上述任意一個實施例所述的移動終端和云端。
圖9是本發(fā)明3D畫面的渲染系統(tǒng)一個實施例的結(jié)構(gòu)示意圖。如圖9所示,云端包括:
接收單元901,用于接收渲染當前幀3D背景畫面所需的應用信息。
同步單元902,用于根據(jù)應用信息實現(xiàn)與終端的幀狀態(tài)同步,并獲取渲染當前幀3D背景畫面所需的場景描述信息。在一個實施例中,場景描述信息是無狀態(tài)信息。
背景渲染單元903,用于根據(jù)場景描述信息獲取當前幀3D背景渲染畫面并輸出到移動終端。
在本發(fā)明3D畫面的渲染系統(tǒng)的另一個實施例中,背景渲染單元903可以包括:
判斷模塊,用于根據(jù)場景描述信息判斷場景緩沖數(shù)據(jù)庫中是否已有當前幀3D背景渲染畫面;
調(diào)用模塊,用于在場景緩沖數(shù)據(jù)庫中已有當前幀3D背景渲染畫面的情況下直接從場景緩沖數(shù)據(jù)庫調(diào)用當前幀3D背景渲染畫面并輸出到移動終端;
背景渲染模塊,用于在場景緩沖數(shù)據(jù)庫中沒有當前幀3D背景渲染畫面的情況下根據(jù)場景描述信息從場景數(shù)據(jù)庫中調(diào)用相應的場景信息,根據(jù)場景描述信息對場景信息進行渲染生成當前幀3D背景渲染畫面,并將新生成的當前幀3D背景渲染畫面與場景描述信息對應地保存至場景緩沖數(shù)據(jù)庫。
本實施例中,云端將3D背景渲染畫面與場景描述信息對應地保存至場景緩沖數(shù)據(jù)庫,與傳統(tǒng)的單用戶渲染服務應用場景相比,本實施例可以實現(xiàn)云端渲染場景的跨用戶會話緩沖共享的目的。
需要說明的是,上述3D畫面的渲染系統(tǒng)中各單元/模塊所實現(xiàn)的功能可以用一個設(shè)備來實現(xiàn),也可以利用兩個或多個獨立的設(shè)備來實現(xiàn),例如接收單元、同步單元和背景渲染單元所實現(xiàn)的功能可以用多個服務器來實現(xiàn)。
圖10是本發(fā)明3D畫面的渲染系統(tǒng)的架構(gòu)示意圖。圖9所示的接收單元901、同步單元902和背景渲染單元903可以分別采用圖10所示的 前端接入服務器1002、邏輯服務器集群1003、云端渲染集群1004來實現(xiàn)。另外,還可以設(shè)置視頻編碼集群1005和碼流封裝-傳輸服務器集群1006,其中,實時視頻編碼集群1005將云端渲染集群1004輸出的小分辨率3D背景渲染畫面編碼為視頻碼流;前端碼流封裝-傳輸服務器1005負責將云端渲染集群1004輸出的時域超采樣控制信息、場景信息、以及實時視頻編碼集群1005輸出的視頻流封裝為時間軸上同步的復用碼流,最終由經(jīng)接入服務器1002傳輸給移動終端1001。然后,移動終端1001可以通過上述各實施例所述的方法進行3D畫面的渲染。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計適于特定用途的帶有各種修改的各種實施例。