本發(fā)明涉及多媒體
技術(shù)領(lǐng)域:
,尤其涉及一種全景視頻渲染方法和裝置。
背景技術(shù):
:目前在移動終端的視頻播放器中,渲染全景視頻的原理為:通過構(gòu)建虛擬球體,將全景圖像映射到球體的內(nèi)平面(內(nèi)球面),此時從球心處觀察內(nèi)球面可以獲得360度觀看的體驗。僅針對全景視頻渲染領(lǐng)域,目前的解決方案存在運算量大的缺點,僅能較好的支持高端設(shè)備,并且,不能靈活運用設(shè)備的運算特性。尤其是,在低端設(shè)備上無法像在高端設(shè)備一樣流暢地播放全景視頻。技術(shù)實現(xiàn)要素:技術(shù)問題有鑒于此,本發(fā)明要解決的技術(shù)問題是,如何在終端設(shè)備上流暢的播放全景圖像。解決方案為了解決上述技術(shù)問題,根據(jù)本發(fā)明的一實施例,提供了一種全景視頻渲染方法,包括:計算虛擬球體的第一頂點坐標(biāo)以及映射圖案需要的第一紋理坐標(biāo);根據(jù)所述第一頂點坐標(biāo)和所述第一紋理坐標(biāo)對待處理視頻進行全景渲染,并計算所述全景渲染所花費的實際時間;根據(jù)所述實際時間和待處理視頻的每幀渲染所花費的最大時間,確定是否重新計算所述第一頂點坐標(biāo)和所述第一紋理坐標(biāo),以適應(yīng)終端設(shè)備的當(dāng)前處理能力。對于上述方法,在一種可能的實現(xiàn)方式中,還包括:根據(jù)所述待處理視頻的幀率,計算所述最大時間。對于上述方法,在一種可能的實現(xiàn)方式中,根據(jù)所述第一頂點坐標(biāo)和所述第一紋理坐標(biāo)對所述待處理視頻進行全景渲染,并計算所述全景渲染所花費的實際時間,包括:根據(jù)終端設(shè)備的控制參數(shù),對所述第一頂點坐標(biāo)進行預(yù)處理;根據(jù)預(yù)處理后的第二頂點坐標(biāo)創(chuàng)建球體,并根據(jù)所述第一紋理坐標(biāo)在所創(chuàng)建的球體的表面創(chuàng)建全景圖像紋理;計算所述待處理視頻的RGB數(shù)據(jù),并將所述RGB數(shù)據(jù)和所述全景圖像紋理映射到所創(chuàng)建的球體表面,以生成全景圖像;計算從預(yù)處理步驟到生成全景圖像步驟所花費的實際時間。對于上述方法,在一種可能的實現(xiàn)方式中,計算虛擬球體的第一頂點坐標(biāo)以及映射圖案需要的第一紋理坐標(biāo),包括:采用下式2至式4計算所述第一頂點坐標(biāo);采用下式5至式6計算所述第一紋理坐標(biāo);Sx=cos((Av+Sv)*PI/180)*sin(Ah*PI/180)式2,Sy=sin((Av+Sv)*PI/180)式3,Sz=cos((Av+Sv)*PI/180)*cos(Ah*PI/180)式4,Tx=Ah/360式5,Ty=(Av+Sv)/180+0.5式6,其中,Sx,Sy,Sz是所述第一頂點坐標(biāo);Tx,Ty是所述第一紋理坐標(biāo);PI=π;Av是當(dāng)前縱向構(gòu)建角度,取值范圍是0至180度;Ah為當(dāng)前橫向構(gòu)建角度,取值范圍是0至360度;Sv為角度增幅,能夠自定義。對于上述方法,在一種可能的實現(xiàn)方式中,根據(jù)終端設(shè)備的控制參數(shù),對所述第一頂點坐標(biāo)進行預(yù)處理,包括:根據(jù)所述終端設(shè)備的控制參數(shù)構(gòu)建控制矩陣;根據(jù)所述第一頂點坐標(biāo)和所述控制矩陣得到所述第二頂點坐標(biāo)。對于上述方法,在一種可能的實現(xiàn)方式中,計算所述待處理視頻的RGB數(shù)據(jù),包括:從所述待處理視頻中獲取YUV數(shù)據(jù);對所述YUV數(shù)據(jù)進行色彩空間轉(zhuǎn)化,得到所述RGB數(shù)據(jù)。為了解決上述技術(shù)問題,根據(jù)本發(fā)明的另一實施例,提供了一種一種全景視頻渲染裝置,包括:第一坐標(biāo)計算模塊,用于計算虛擬球體的第一頂點坐標(biāo)以及映射圖案需要的第一紋理坐標(biāo);全景渲染模塊,與所述第一坐標(biāo)計算模塊連接,用于根據(jù)所述第一頂點坐標(biāo)和所述第一紋理坐標(biāo)對待處理視頻進行全景渲染,并計算所述全景渲染所花費的實際時間;校正模塊,與所述第一坐標(biāo)計算模塊和全景渲染模塊分別連接,用于根據(jù)所述實際時間和待處理視頻的每幀渲染所花費的最大時間,確定是否使所述第一坐標(biāo)計算模塊重新計算所述第一頂點坐標(biāo)和所述第一紋理坐標(biāo),以適應(yīng)終端設(shè)備的當(dāng)前處理能力。對于上述裝置,在一種可能的實現(xiàn)方式中,還包括:最大時間計算模塊,與所述校正模塊連接,用于根據(jù)所述待處理視頻的幀率,計算所述最大時間。對于上述裝置,在一種可能的實現(xiàn)方式中,所述全景渲染模塊包括:預(yù)處理單元,用于根據(jù)終端設(shè)備的控制參數(shù),對所述第一頂點坐標(biāo)進行預(yù)處理;創(chuàng)建單元,與所述預(yù)處理單元連接,用于根據(jù)預(yù)處理后的第二頂點坐標(biāo)創(chuàng)建球體,并根據(jù)所述第一紋理坐標(biāo)在所創(chuàng)建的球體的表面創(chuàng)建全景圖像紋理;RGB數(shù)據(jù)計算單元,用于計算所述待處理視頻的RGB數(shù)據(jù);全景圖像生成單元,與所述創(chuàng)建單元和所述RGB數(shù)據(jù)計算單元分別連接,用于將所述RGB數(shù)據(jù)和所述全景圖像紋理映射到所創(chuàng)建的球體表面,以生成全景圖像;實際時間計算單元,與所述預(yù)處理單元、所述創(chuàng)建單元、所述RGB數(shù)據(jù)計算單元和所述全景圖像生成單元分別連接,用于計算從所述預(yù)處理單元進行預(yù)處理到所述全景圖像生成單元生成全景圖像所花費的實際時間。對于上述裝置,在一種可能的實現(xiàn)方式中,所述第一坐標(biāo)計算模塊具體用于:采用下式2至式4計算所述第一頂點坐標(biāo);采用下式5至式6計算所述第一紋理坐標(biāo);Sx=cos((Av+Sv)*PI/180)*sin(Ah*PI/180)式2,Sy=sin((Av+Sv)*PI/180)式3,Sz=cos((Av+Sv)*PI/180)*cos(Ah*PI/180)式4,Tx=Ah/360式5,Ty=(Av+Sv)/180+0.5式6,其中,Sx,Sy,Sz是所述第一頂點坐標(biāo);Tx,Ty是所述第一紋理坐標(biāo);PI=π;Av是當(dāng)前縱向構(gòu)建角度,取值范圍是0至180度;Ah為當(dāng)前橫向構(gòu)建角度,取值范圍是0至360度;Sv為角度增幅,能夠自定義。對于上述裝置,在一種可能的實現(xiàn)方式中,所述預(yù)處理單元具體用于根據(jù)所述終端設(shè)備的控制參數(shù)構(gòu)建控制矩陣;根據(jù)所述第一頂點坐標(biāo)和所述控制矩陣得到所述第二頂點坐標(biāo)。對于上述裝置,在一種可能的實現(xiàn)方式中,所述RGB數(shù)據(jù)計算單元具體用于從所述待處理視頻中獲取YUV數(shù)據(jù);對所述YUV數(shù)據(jù)進行色彩空間轉(zhuǎn)化,得到所述RGB數(shù)據(jù)。有益效果本發(fā)明實施例能夠根據(jù)終端設(shè)備的處理能力,動態(tài)調(diào)整虛擬球體的頂點坐標(biāo)和紋理坐標(biāo),有利于靈活的適配各種類型的終端設(shè)備,從而根據(jù)終端設(shè)備的計算能力生成較好的球體構(gòu)建方案,以在各種終端設(shè)備上流暢的播放全景圖像。進一步地,本發(fā)明實施例能夠在流暢播放全景視頻的前提下,還可以實時響應(yīng)終端設(shè)備的外界需求,根據(jù)終端設(shè)備的控制參數(shù)對頂點坐標(biāo)進行預(yù)處理,以實現(xiàn)交互式渲染,從而靈活調(diào)整終端設(shè)備的當(dāng)前全景視頻播放狀態(tài),以提供更好的觀影體驗。根據(jù)下面參考附圖對示例性實施例的詳細(xì)說明,本發(fā)明的其它特征及方面將變得清楚。附圖說明包含在說明書中并且構(gòu)成說明書的一部分的附圖與說明書一起示出了本發(fā)明的示例性實施例、特征和方面,并且用于解釋本發(fā)明的原理。圖1示出根據(jù)本發(fā)明一實施例的全景視頻渲染方法的流程圖;圖2示出根據(jù)本發(fā)明一實施例的全景視頻渲染方法的步驟102的流程圖;圖3示出根據(jù)本發(fā)明另一實施例的全景視頻渲染方法的流程圖;圖4示出根據(jù)本發(fā)明一實施例的全景視頻渲染裝置的結(jié)構(gòu)示意圖;圖5示出根據(jù)本發(fā)明另一實施例的全景視頻渲染裝置的結(jié)構(gòu)示意圖;圖6示出根據(jù)本發(fā)明另一實施例的全景視頻渲染裝置的結(jié)構(gòu)示意圖。具體實施方式以下將參考附圖詳細(xì)說明本發(fā)明的各種示例性實施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實施例的各種方面,但是除非特別指出,不必按比例繪制附圖。在這里專用的詞“示例性”意為“用作例子、實施例或說明性”。這里作為“示例性”所說明的任何實施例不必解釋為優(yōu)于或好于其它實施例。另外,為了更好的說明本發(fā)明,在下文的具體實施方式中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有某些具體細(xì)節(jié),本發(fā)明同樣可以實施。在一些實例中,對于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本發(fā)明的主旨。實施例1圖1示出根據(jù)本發(fā)明一實施例的全景視頻渲染方法的流程圖。如圖1所示,該全景視頻渲染方法主要可以包括:步驟101、計算虛擬球體的第一頂點坐標(biāo)以及映射圖案需要的第一紋理坐標(biāo)。步驟102、根據(jù)所述第一頂點坐標(biāo)和所述第一紋理坐標(biāo)對待處理視頻進行全景渲染,并計算所述全景渲染所花費的實際時間。步驟103、根據(jù)所述實際時間和待處理視頻的每幀渲染所花費的最大時間,確定是否重新計算所述第一頂點坐標(biāo)和所述第一紋理坐標(biāo),以適應(yīng)終端設(shè)備的當(dāng)前處理能力。具體而言,在采用終端設(shè)備例如手機、電腦、掌上電腦等智能設(shè)備對待處理視頻進行全景渲染的過程中,需要構(gòu)建虛擬球體。本實施例不限定終端設(shè)備的具體類型,只要能夠具有全景渲染功能的設(shè)備均可以使用。本實施例中,在步驟102構(gòu)建虛擬球體的頂點坐標(biāo)和映射圖案的紋理坐標(biāo)后,采用所構(gòu)建的虛擬球體的頂點坐標(biāo)和映射圖案的紋理坐標(biāo)進行全景渲染。如果全景渲染所花費的時間小于或等于該待處理視頻在該終端設(shè)備上每幀渲染所花費的最大時間,則可以判定該終端設(shè)備的當(dāng)前處理能力能夠流暢的播放該待處理視頻的全景圖像。如果全景渲染所花費的時間大于該待處理視頻在該終端設(shè)備上每幀渲染所花費的最大時間,則可以判定該終端設(shè)備的當(dāng)前處理能力不能流暢的播放該待處理視頻的全景圖像。在終端設(shè)備處理能力不夠的情況下,可以執(zhí)行步驟101重新計算虛擬球體的頂點坐標(biāo)和映射圖案的紋理坐標(biāo),本次計算時所計算的頂點坐標(biāo)和紋理坐標(biāo)計算量可以適當(dāng)減少,從而適應(yīng)終端設(shè)備的當(dāng)前處理能力。在一種可能的實現(xiàn)方式中,該全景視頻渲染方法還可以包括:步驟100、根據(jù)待處理視頻的幀率,計算待處理視頻的每幀渲染所花費的最大時間。舉例而言,計算渲染時間tmax如下式1:tmax=1000/f式1,其中,f為所述待處理視頻的幀率,在本示例中f的單位是fps(FramesPerSecond,每秒傳輸幀數(shù)),采用式1可以計算出該待處理視頻在該終端設(shè)備上每幀渲染所花費的最大時間。在一種可能的實現(xiàn)方式中,步驟101具體可以包括:采用下式2至式4計算所述第一頂點坐標(biāo);采用下式5至式6計算所述第一紋理坐標(biāo);Sx=cos((Av+Sv)*PI/180)*sin(Ah*PI/180)式2,Sy=sin((Av+Sv)*PI/180)式3,Sz=cos((Av+Sv)*PI/180)*cos(Ah*PI/180)式4,Tx=Ah/360式5,Ty=(Av+Sv)/180+0.5式6,其中,Sx,Sy,Sz是所述第一頂點坐標(biāo);Tx,Ty是所述第一紋理坐標(biāo);PI=π;Av是當(dāng)前縱向構(gòu)建角度,取值范圍是0至180度;Ah為當(dāng)前橫向構(gòu)建角度,取值范圍是0至360度;Sv為角度增幅,能夠自定義,以動態(tài)調(diào)整需要計算的Sx,Sy,Sz和Tx,Ty的個數(shù),從而控制終端設(shè)備的計算量。其中,Ah可以從0度開始取值,Av可以從0度開始取值,Sv的初始取值可以設(shè)置一個預(yù)定值,例如Sv的初始取值為10。其中,Sv的初始取值為10僅是一種示例,并非限定,具體可以根據(jù)經(jīng)驗選擇Sv的初始取值。舉例而言,假設(shè)Sv的初始取值為10,則Av的初始取值為19個,分別為(0,10,20,30,……160,170,180);Ah的初始取值為37個,分別為(0,10,20,30,……,340,350,360)。將Sv、Av、Ah的各個初始取值分別代入式2至式6,可以計算出初始的虛擬球體的第一頂點坐標(biāo)Sx,Sy,Sz和第一紋理坐標(biāo)Tx,Ty。在一種可能的實現(xiàn)方式中,如圖2所示,步驟102具體可以包括:步驟201、根據(jù)終端設(shè)備的控制參數(shù),對所述第一頂點坐標(biāo)進行預(yù)處理;步驟202、根據(jù)預(yù)處理后的第二頂點坐標(biāo)創(chuàng)建球體,并根據(jù)所述第一紋理坐標(biāo)在所創(chuàng)建的球體的表面創(chuàng)建全景圖像紋理;步驟203、計算所述待處理視頻的RGB數(shù)據(jù);步驟204、將所述RGB數(shù)據(jù)和所述全景圖像紋理映射到所創(chuàng)建的球體表面,以生成全景圖像;步驟205、計算從預(yù)處理步驟201到生成全景圖像步驟204所花費的實際時間。在一種可能的實現(xiàn)方式中,步驟201具體可以包括:根據(jù)所述終端設(shè)備的控制參數(shù)構(gòu)建控制矩陣;根據(jù)所述第一頂點坐標(biāo)和所述控制矩陣得到所述第二頂點坐標(biāo)。在一種可能的實現(xiàn)方式中,步驟203具體可以包括:從所述待處理視頻中獲取YUV數(shù)據(jù);對所述YUV數(shù)據(jù)進行色彩空間轉(zhuǎn)化,得到所述RGB數(shù)據(jù)。其中,YUV和RGB是兩種不同的色彩空間格式,二者之間能夠轉(zhuǎn)換,本實施例采用轉(zhuǎn)換后的RGB數(shù)據(jù)生成全景圖像。在步驟103中,如果計算出的全景渲染所花費的實際時間大于每幀渲染所花費的最大時間,可以通過調(diào)整Sv的值來控制角度增幅,從而動態(tài)地調(diào)整虛擬球體的頂點坐標(biāo)和紋理坐標(biāo)的計算量。其中,Sv的調(diào)整幅度可以根據(jù)實際時間和最大時間來確定。例如,采用式來確定Sv的當(dāng)前取值,以所確定的Sv的當(dāng)前取值來重新計算虛擬球體的第一頂點坐標(biāo)和第一紋理坐標(biāo)。其中,tr為上述的實際時間,tmax為上述的最大時間,Sv初始為Sv的初始取值,Sv當(dāng)前為Sv的當(dāng)前取值。例如,在Sv的初始取值為10、實際時間為60s、最大時間為40的情況下,則Sv的當(dāng)前取值為15。這樣,調(diào)整后Av的當(dāng)前取值為13個,分別為(0,15,30,……150,165,180);Ah的當(dāng)前取值為25個,分別為(0,15,30,……,330,345,360)。將調(diào)整后的將Sv、Av、Ah的各個當(dāng)前取值分別代入式2至式6,可以計算出當(dāng)前的虛擬球體的第一頂點坐標(biāo)Sx,Sy,Sz和第一紋理坐標(biāo)Tx,Ty。由于調(diào)整后的Av、Ah的當(dāng)前取值個數(shù)減少,減少了所計算的頂點坐標(biāo)和紋理坐標(biāo)計算量,通常也可以減少當(dāng)前全景渲染所花費的實際時間,以更好的適應(yīng)根據(jù)終端設(shè)備的當(dāng)前實際處理能力。本實施例的全景視頻渲染方法基于幀率計算待處理視頻在終端設(shè)備上每幀渲染所花費的最大時間,屬于一種基于頻域的智能交互式全景視頻渲染方法,通過比較終端設(shè)備對待處理視頻進行全景渲染所花費的實際時間,以及待處理視頻在該終端設(shè)備中每幀渲染所花費的最大時間,能夠確定終端設(shè)備的處理能力,從而根據(jù)終端設(shè)備的處理能力,動態(tài)調(diào)整虛擬球體的頂點坐標(biāo)和紋理坐標(biāo)。本發(fā)明實施例有利于靈活的適配各種類型的終端設(shè)備,從而根據(jù)終端設(shè)備的計算能力生成較好的球體構(gòu)建方案,以在各種終端設(shè)備上流暢的播放全景圖像。進一步地,本發(fā)明實施例能夠在流暢播放全景視頻的前提下,還可以實時響應(yīng)終端設(shè)備的外界需求,根據(jù)終端設(shè)備的控制參數(shù)對頂點坐標(biāo)進行預(yù)處理,以實現(xiàn)交互式渲染,從而靈活調(diào)整終端設(shè)備的當(dāng)前全景視頻播放狀態(tài),以提供更好的觀影體驗。實施例2圖3示出根據(jù)本發(fā)明另一實施例的全景視頻渲染方法的流程圖。如圖3所示,在全景視頻渲染方法中,虛擬球體的構(gòu)建方法可以決定全景視頻渲染的質(zhì)量和運算量。通過在球體表面生成不同位置的點來構(gòu)建三角面,進而模擬生成球體面。具體而言,該全景視頻渲染方法的基本步驟包括:S1、根據(jù)待處理視頻的幀率計算每幀渲染最多可花費時間。S2、計算初始的虛擬球體的頂點坐標(biāo),以及映射圖像需要的紋理坐標(biāo)。S3、接收外部例如終端設(shè)備的控制參數(shù),對頂點坐標(biāo)進行預(yù)處理。舉例而言,控制參數(shù)可以是表示終端設(shè)備目前的位置和姿勢等信息的參數(shù)。S4、根據(jù)預(yù)處理后的頂點坐標(biāo)創(chuàng)建球體,以及根據(jù)紋理坐標(biāo)在所構(gòu)建的球體表面例如內(nèi)表面構(gòu)建全景圖像紋理。S5、計算待處理視頻的RGB數(shù)據(jù),將全景圖像映射到所構(gòu)建的球體表面。S6、輸出全景圖像,并計算當(dāng)前渲染花費的實際時間。例如可以計算采用當(dāng)前的虛擬球體執(zhí)行步驟S3至步驟S5對待處理視頻進行渲染所花費的實際時間。S7、根據(jù)渲染花費的實際時間和最多可花費時間,可以判斷是否需要重新設(shè)定球體頂點坐標(biāo)和紋理坐標(biāo)。具體而言,如果實際時間大于最多可花費時間,表明目前所用的頂點坐標(biāo)和紋理坐標(biāo)不合適,需要減少計算量。這種情況下,可以進入步驟S2,重新初始的虛擬球體的頂點坐標(biāo)和映射圖像需要的紋理坐標(biāo)。并且,在計算時可以參見下式2至6,增加角度增幅Sv的數(shù)值,從而減少計算得到的Sx,Sy,Sz以及Tx,Ty的個數(shù),以減少終端設(shè)備的運算量。如果實際時間小于或等于最多可花費時間,表明采用當(dāng)前的虛擬球體與終端設(shè)備的當(dāng)前處理能力適配,終端設(shè)備目前可以流暢播放待處理視頻的全景圖像。其中,步驟S1計算渲染時間tmax如式1:tmax=1000/f式1,其中,f為待處理視頻的幀率。在步驟S2中,采用式2至式4計算初始的虛擬球體的頂點坐標(biāo),并采用式5和式6計算紋理坐標(biāo):Sx=cos((Av+Sv)*PI/180)*sin(Ah*PI/180)式2,Sy=sin((Av+Sv)*PI/180)式3,Sz=cos((Av+Sv)*PI/180)*cos(Ah*PI/180)式4,Tx=Ah/360式5,Ty=(Av+Sv)/180+0.5式6,其中,Sx,Sy,Sz是初始的虛擬球體的頂點坐標(biāo);Tx,Ty是映射圖像需要的紋理坐標(biāo);PI=π。Av是當(dāng)前縱向構(gòu)建角度,取值范圍是0至180度;Ah為當(dāng)前橫向構(gòu)建角度,取值范圍是0至360度;Sv為角度增幅。通過控制這幾個變量我們可以控制生成的球體頂點坐標(biāo)及紋理坐標(biāo)的個數(shù),從而控制運算量。具體而言,用戶能夠自定義Sv的數(shù)值,以控制Av和Ah的增幅,從而控制計算出的Sx,Sy,Sz以及Tx,Ty的個數(shù),例如:從7千至4萬個不等。對應(yīng)具有不同運算性能的終端設(shè)備,可以選擇不同的Sv,以適應(yīng)各種終端設(shè)備的性能。進一步地,步驟S3可以包括以下子步驟:S31、獲取當(dāng)前的球體頂點坐標(biāo)postion:postion=(Sx,Sy,Sz)式7,S32、根據(jù)所獲得的控制參數(shù),構(gòu)建3x3控制矩陣:S33、根據(jù)控制矩陣對頂點坐標(biāo)進行預(yù)處理,得到預(yù)處理后的頂點坐標(biāo):postion*projection式9,進一步地,步驟S5包括以下子步驟:S51、獲取待處理視頻的YUV數(shù)據(jù),并對所獲取的YUV數(shù)據(jù)進行色彩空間轉(zhuǎn)化,得到RGB數(shù)據(jù)。其中,YUV到RGB的轉(zhuǎn)化矩陣的示例如下:101.59581-0.39173-0.8129012.0170.]]>S52、將轉(zhuǎn)換后的RGB數(shù)據(jù)添加到步驟S4得到的全景圖像紋理中,構(gòu)建得到全景圖像(或稱為全景視頻圖像)。實施例3圖4示出根據(jù)本發(fā)明一實施例的全景視頻渲染裝置的結(jié)構(gòu)示意圖。如圖4所示,該全景視頻渲染裝置主要可以包括:第一坐標(biāo)計算模塊41,用于計算虛擬球體的第一頂點坐標(biāo)以及映射圖案需要的第一紋理坐標(biāo);全景渲染模塊43,與所述第一坐標(biāo)計算模塊41連接,用于根據(jù)所述第一頂點坐標(biāo)和所述第一紋理坐標(biāo)對待處理視頻進行全景渲染,并計算所述全景渲染所花費的實際時間;校正模塊45,與所述第一坐標(biāo)計算模塊41和全景渲染模塊43分別連接,用于根據(jù)所述實際時間和待處理視頻的每幀渲染所花費的最大時間,確定是否使所述第一坐標(biāo)計算模塊41重新計算所述第一頂點坐標(biāo)和所述第一紋理坐標(biāo),以適應(yīng)終端設(shè)備的當(dāng)前處理能力。實施例4圖5示出根據(jù)本發(fā)明另一實施例的全景視頻渲染裝置的結(jié)構(gòu)示意圖。圖5中標(biāo)號與圖4相同的組件具有相同的功能,為簡明起見,省略對這些組件的詳細(xì)說明。如圖5所示,與上一實施例的主要區(qū)別在于,該全景視頻渲染裝置還可以包括:最大時間計算模塊47,與所述校正模塊45連接,用于根據(jù)所述待處理視頻的幀率,計算所述最大時間。在一種可能的實現(xiàn)方式中,所述全景渲染模塊43包括:預(yù)處理單元431,用于根據(jù)終端設(shè)備的控制參數(shù),對所述第一頂點坐標(biāo)進行預(yù)處理;創(chuàng)建單元433,與所述預(yù)處理單元431連接,用于根據(jù)預(yù)處理后的第二頂點坐標(biāo)創(chuàng)建球體,并根據(jù)所述第一紋理坐標(biāo)在所創(chuàng)建的球體的表面創(chuàng)建全景圖像紋理;RGB數(shù)據(jù)計算單元435,用于計算所述待處理視頻的RGB數(shù)據(jù);全景圖像生成單元437,與所述創(chuàng)建單元433和所述RGB數(shù)據(jù)計算單元435分別連接,用于將所述RGB數(shù)據(jù)和所述全景圖像紋理映射到所創(chuàng)建的球體表面,以生成全景圖像;實際時間計算單元439,與所述預(yù)處理單元431、所述創(chuàng)建單元433、所述RGB數(shù)據(jù)計算單元435和所述全景圖像生成單元437分別連接,用于計算從所述預(yù)處理單元431進行預(yù)處理到所述全景圖像生成單元437生成全景圖像所花費的實際時間。在一種可能的實現(xiàn)方式中,所述第一坐標(biāo)計算模塊41具體用于:采用下式2至式4計算所述第一頂點坐標(biāo);采用下式5至式6計算所述第一紋理坐標(biāo);Sx=cos((Av+Sv)*PI/180)*sin(Ah*PI/180)式2,Sy=sin((Av+Sv)*PI/180)式3,Sz=cos((Av+Sv)*PI/180)*cos(Ah*PI/180)式4,Tx=Ah/360式5,Ty=(Av+Sv)/180+0.5式6,其中,Sx,Sy,Sz是所述第一頂點坐標(biāo);Tx,Ty是所述第一紋理坐標(biāo);PI=π;Av是當(dāng)前縱向構(gòu)建角度,取值范圍是0至180度;Ah為當(dāng)前橫向構(gòu)建角度,取值范圍是0至360度;Sv為角度增幅,能夠自定義。在一種可能的實現(xiàn)方式中,所述預(yù)處理單元431具體用于根據(jù)所述終端設(shè)備的控制參數(shù)構(gòu)建控制矩陣;根據(jù)所述第一頂點坐標(biāo)和所述控制矩陣得到所述第二頂點坐標(biāo)。在一種可能的實現(xiàn)方式中,所述RGB數(shù)據(jù)計算單元435具體用于從所述待處理視頻中獲取YUV數(shù)據(jù);對所述YUV數(shù)據(jù)進行色彩空間轉(zhuǎn)化,得到所述RGB數(shù)據(jù)。本發(fā)明實施例的全景視頻渲染裝置的各模塊能夠執(zhí)行上述實施例1和實施例2中全景視頻渲染方法的步驟。具體執(zhí)行過程和示例,可以參見上述示例的相關(guān)描述,在此不再贅述。實施例5圖6示出根據(jù)本發(fā)明的另一實施例的全景視頻渲染裝置的結(jié)構(gòu)示意圖。所述全景視頻渲染裝置1100可以是具備計算能力的主機服務(wù)器、個人計算機PC、或者可攜帶的便攜式計算機或終端等。本發(fā)明具體實施例并不對計算節(jié)點的具體實現(xiàn)做限定。所述全景視頻渲染裝置1100包括處理器(processor)1110、通信接口(CommunicationsInterface)1120、存儲器(memory)1130和總線1140。其中,處理器1110、通信接口1120、以及存儲器1130通過總線1140完成相互間的通信。通信接口1120用于與網(wǎng)絡(luò)設(shè)備通信,其中網(wǎng)絡(luò)設(shè)備包括例如虛擬機管理中心、共享存儲等。處理器1110用于執(zhí)行程序。處理器1110可能是一個中央處理器CPU,或者是專用集成電路ASIC(ApplicationSpecificIntegratedCircuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。存儲器1130用于存放文件。存儲器1130可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatilememory),例如至少一個磁盤存儲器。存儲器1130也可以是存儲器陣列。存儲器1130還可能被分塊,并且所述塊可按一定的規(guī)則組合成虛擬卷。在一種可能的實施方式中,上述程序可為包括計算機操作指令的程序代碼。該程序具體可用于:執(zhí)行實施例1和實施例2所述的全景視頻渲染方法。本領(lǐng)域普通技術(shù)人員可以意識到,本文所描述的實施例中的各示例性單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件形式來實現(xiàn),取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以針對特定的應(yīng)用選擇不同的方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。如果以計算機軟件的形式來實現(xiàn)所述功能并作為獨立的產(chǎn)品銷售或使用時,則在一定程度上可認(rèn)為本發(fā)明的技術(shù)方案的全部或部分(例如對現(xiàn)有技術(shù)做出貢獻的部分)是以計算機軟件產(chǎn)品的形式體現(xiàn)的。該計算機軟件產(chǎn)品通常存儲在計算機可讀取的非易失性存儲介質(zhì)中,包括若干指令用以使得計算機設(shè)備(可以是個人計算機、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各實施例方法的全部或部分步驟。而前述的存儲介質(zhì)包括U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準(zhǔn)。當(dāng)前第1頁1 2 3