樣點(diǎn)對球模型表面進(jìn)行三角形劃分。假設(shè)視頻源(即全景視頻文件)中視頻幀圖像(二維)的X、y坐標(biāo)取值為[0,I],一般地,視頻源的[0.5,α ]和[0.5, l-α],分別對應(yīng)視頻的“天空”與“地面,其中α取值范圍為0.65?0.95,例如:α取值為0.85時,[0.5,0.85]和[0.5,0.15]分別對應(yīng)視頻的“天空”與“地面,假設(shè)球模型球心位于原點(diǎn),半徑為I ;在建立映射關(guān)系時,為了保證視頻播放過程中,畫面變形失真,需在采樣過程中采用指定部分點(diǎn)的方式,保證視頻幀圖像二維坐標(biāo)點(diǎn)[0.5,0.85]和[0.5,0.15]在對應(yīng)的三維模型上被采樣到,同時保證球模型表面的三維坐標(biāo)點(diǎn)(0,0,I)和(0,0,-1)被采樣到,且其他采樣點(diǎn)符合從xyz三個軸劃分符合均勻原貝1J,即為X軸原點(diǎn)兩側(cè)的點(diǎn)數(shù)量相同且位置對稱,yz軸同理,其中一種采樣結(jié)果示意圖參見圖2,連接相鄰采樣點(diǎn),記錄每個三角面的頂點(diǎn)、二維坐標(biāo)和三維坐標(biāo),其中球模型的點(diǎn)坐標(biāo)和作為紋理的視頻幀圖像的點(diǎn)坐標(biāo)轉(zhuǎn)換方式如下:
[0052]P (X,,y’,z’)
[0053]P (X, y)
[0054]X= (1.0+arctan (y,/χ,) / π ) *0.5
[0055]y = (1.0—arcsin (z,)*2.0/π ) *0.5
[0056]其中,p(x',y',z')為球模型上的三維坐標(biāo),p (x, y)為二維視頻幀圖像上的二維坐標(biāo)。
[0057]當(dāng)球模型或圓柱體等模型采樣結(jié)束,轉(zhuǎn)換為二維坐標(biāo)時,無論將球模型或圓柱體從何位置剖開,總有劃分好的三角形被切分到二維矩形的左右兩側(cè)。
[0058]例如在圖2采樣結(jié)果圖中,按圖3虛線方式將球模型剖開,以圖3上ABC三點(diǎn)組成的三角形為例,剖開后C與AB亮點(diǎn)分別被劃分到兩側(cè)如圖4,如果不采取特殊處理方式,在紋理映射時,剖開的ABC三點(diǎn)會形成如圖5所示的新三角形,造成紋理映射錯誤,新形成的ABC三角形紋理會擋住應(yīng)該顯示的其他部分。因此本發(fā)明需要對被剖的三角形進(jìn)行特殊處理,檢測球模型上的三維坐標(biāo)點(diǎn)在轉(zhuǎn)換為視頻幀圖像上的二維左邊點(diǎn)過程中,已劃分好的三角形是否被切分,若是,則對被切分的三角形部分進(jìn)行新的三角形劃分。處理方式參見圖6,假設(shè)剖線與ABC三角形邊的交點(diǎn)為EF,展開后以EF作為新的采樣點(diǎn),與ABC組合形成新的三角形,如圖6,E與E’球模型上位同一點(diǎn),F(xiàn)與F’在球模型上位同一點(diǎn),轉(zhuǎn)換為二維坐標(biāo)時,以增加E、F、E’、F’四個點(diǎn),然后將AB同EF—起組成兩個三角形,將E’F’與C點(diǎn)組成一個三角形。
[0059]在實(shí)際實(shí)施過程中,檢測已劃分好的三角形是否被切分,可以根據(jù)一個三角形頂點(diǎn)內(nèi)任意兩點(diǎn)的橫坐標(biāo)差值來判斷,當(dāng)差值大于采樣間隔時,表示這個三角形兩個點(diǎn)被切分到兩側(cè)。此時,在球模型上,根據(jù)剖線與原三角形的交點(diǎn),重新確定兩個點(diǎn),對被切分的三角形部分進(jìn)行新的三角形劃分,如圖6。
[0060]本發(fā)明實(shí)施例還提供了一種全景視頻播放器,其結(jié)構(gòu)參加圖7,包括:存儲模塊1、解碼模塊2、映射模塊3、視窗范圍調(diào)整模塊4和音頻輸出模塊5,其中:
[0061]所述存儲模塊1,用于預(yù)先建立的二維視頻幀圖像的點(diǎn)坐標(biāo)和預(yù)先設(shè)定的三維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系;映射關(guān)系的建立方法,參見前述的全景視頻播放方法實(shí)施例中的介紹,在此不贅述。
[0062]所述解碼模塊2,用于對全景視頻文件進(jìn)行音視頻分離和解碼,得到二維視頻幀圖像序列和音頻數(shù)據(jù);
[0063]所述映射模塊3,用于根據(jù)所述存儲模塊中存儲的映射關(guān)系,將所述二維視頻幀圖像序列作為紋理,依次逐幀映射到預(yù)先設(shè)定的三維幾何模型上。所述預(yù)先設(shè)定的三維幾何模型包括球模型、橢球型、圓柱體、圓錐體、立方體中的一種。
[0064]所述視窗范圍調(diào)整模塊4,用于根據(jù)預(yù)設(shè)視點(diǎn)位置或經(jīng)用戶調(diào)整后的視點(diǎn)位置,實(shí)時計算并調(diào)整顯示到窗口的圖像范圍;根據(jù)視點(diǎn)位置計算顯示到窗口的圖像范圍,具體為調(diào)用openGL中的glLookAt函數(shù)進(jìn)行,其計算過程中需結(jié)合三維幾何模型的中心位置進(jìn)行,一般三維幾何模型中心位置只要模型設(shè)定好,中心位置隨即固定,因此變量只有視點(diǎn)位置這一參數(shù)。視點(diǎn)位置及視點(diǎn)位置如何調(diào)整,參見前述的全景視頻播放方法實(shí)施例中的介紹,在此不贅述。
[0065]所述音頻輸出模塊5,用于在映射模塊映射紋理的同時,同步輸出音頻數(shù)據(jù)。
[0066]本發(fā)明實(shí)施例所述全景視頻播放器安裝于雙目頭戴顯示設(shè)備上時,所述播放器結(jié)構(gòu)參見圖8,還包括分屏模塊6,用于對顯示到窗口的圖像進(jìn)行左右分屏處理。
[0067]本發(fā)明能解決全景視頻在頭戴顯示設(shè)備上播放的問題,讓用戶體驗(yàn)真正的360度視頻,而不是在平面視角去體驗(yàn),本發(fā)明視頻播放方法及播放器,能為用戶構(gòu)建一個包圍空間,將全景視頻幀圖像作為紋理360度映射于包圍空間,用戶戴上頭戴顯示設(shè)備,感覺上處于包圍空間內(nèi)部,可通過旋轉(zhuǎn)頭部等方式切換觀看角度,真正感受全景視頻帶來的魅力。
[0068]本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
[0069]本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子而已。
[0070]本發(fā)明并不局限于前述的【具體實(shí)施方式】。本發(fā)明擴(kuò)展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。
【主權(quán)項】
1.一種全景視頻播放方法,應(yīng)用于頭戴顯示設(shè)備上,其特征在于,包括: 對全景視頻文件進(jìn)行音視頻分離和解碼,得到二維視頻幀圖像序列和音頻數(shù)據(jù);根據(jù)預(yù)先建立的二維視頻幀圖像的點(diǎn)坐標(biāo)和預(yù)先設(shè)定的三維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系,將所述二維視頻幀圖像序列作為紋理,依次逐幀映射到預(yù)先設(shè)定的三維幾何模型上; 根據(jù)預(yù)設(shè)視點(diǎn)位置或經(jīng)用戶調(diào)整后的視點(diǎn)位置,實(shí)時計算顯示到窗口的圖像范圍,并同步輸出音頻數(shù)據(jù)。2.如權(quán)利要求1所述的全景視頻播放方法,其特征在于,所述視點(diǎn)位置包括觀察點(diǎn)位置和觀察方向。3.如權(quán)利要求2所述的全景視頻播放方法,其特征在于,所述預(yù)先設(shè)定的三維幾何模型包括球模型、橢球型、圓柱體、圓錐體、立方體中的一種。4.如權(quán)利要求3所述的全景視頻播放方法,其特征在于,當(dāng)預(yù)設(shè)的三維幾何模型為球模型時,二維視頻幀圖像的點(diǎn)坐標(biāo)和預(yù)先設(shè)定的三維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系為:ρ(χ,,y,,z,)ρ (χ,y)x = (1.0+arctan (y Vx,)/ π ) *0.5y = (1.0-arcsin (z,) *2.0/ π ) *0.5 其中,p(x',y',z')為三幾何模型上的三維坐標(biāo),p(x, y)為二維視頻幀圖像上的二維坐標(biāo)。5.如權(quán)利要求1至4任一項所述的全景視頻播放方法,其特征在于,所述預(yù)先建立的二維視頻幀圖像的點(diǎn)坐標(biāo)和預(yù)先設(shè)定的三維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系,其建立過程包括: 對三維幾何模型表面進(jìn)行三角形劃分,記錄每個三角面的頂點(diǎn)及頂點(diǎn)三維坐標(biāo); 根據(jù)三維幾何模型類型及所述頂點(diǎn)三維坐標(biāo),計算對應(yīng)頂點(diǎn)在視頻幀圖像上的二維坐標(biāo); 記錄每個三角面的頂點(diǎn)序號、每個頂點(diǎn)的三維坐標(biāo)和二維坐標(biāo),建立映射關(guān)系。6.如權(quán)利要求5所述的全景視頻播放方法,其特征在于,當(dāng)所述三維幾何模型為球模型時,所述對三維幾何模型表面進(jìn)行三角形劃分,具體為:對球模型進(jìn)行表面坐標(biāo)點(diǎn)采樣,根據(jù)采樣點(diǎn)對球模型表面進(jìn)行三角形劃分。7.如權(quán)利要求6所述的全景視頻播放方法,其特征在于,檢測球模型上的三維坐標(biāo)點(diǎn)在轉(zhuǎn)換為視頻幀圖像上的二維左邊點(diǎn)過程中,已劃分好的三角形是否被切分,若是,則對被切分的三角形部分進(jìn)行新的三角形劃分。8.如權(quán)利要求6所述的全景視頻播放方法,其特征在于,當(dāng)所述三維幾何模型為球模型時:設(shè)二維視頻幀圖像的x、y坐標(biāo)取值為[0,1];設(shè)球模型球心位于原點(diǎn),半徑為1 ;在建立映射關(guān)系時,保證二維視頻幀圖像二維坐標(biāo)點(diǎn)[0.5,α ]和[0.5,l-α ]在對應(yīng)的三維模型上被采樣到,同時保證球模型表面的三維坐標(biāo)點(diǎn)(0,0,1)和(0,0,_1)被采樣到,其中α取值范圍為0.65?0.95。9.一種全景視頻播放器,安裝于頭戴顯示設(shè)備上,其特征在于,包括: 存儲模塊,用于預(yù)先建立的二維視頻幀圖像的點(diǎn)坐標(biāo)和預(yù)先設(shè)定的三維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系; 解碼模塊,用于對全景視頻文件進(jìn)行音視頻分離和解碼,得到二維視頻幀圖像序列和音頻數(shù)據(jù); 映射模塊,用于根據(jù)所述存儲模塊中存儲的映射關(guān)系,將所述二維視頻幀圖像序列作為紋理,依次逐幀映射到預(yù)先設(shè)定的三維幾何模型上; 視窗范圍調(diào)整模塊,用于根據(jù)預(yù)設(shè)視點(diǎn)位置或經(jīng)用戶調(diào)整后的視點(diǎn)位置,實(shí)時計算并調(diào)整顯示到窗口的圖像范圍; 音頻輸出模塊,用于在映射模塊映射紋理的同時,同步輸出音頻數(shù)據(jù)。10.如權(quán)利要求9所述的全景視頻播放器,其特征在于,當(dāng)所述全景視頻播放器安裝于雙目頭戴顯示設(shè)備上時,所述播放器還包括: 分屏模塊,用于對顯示到窗口的圖像進(jìn)行左右分屏處理。
【專利摘要】本發(fā)明公開了一種全景視頻播放方法及播放器,解決全景視頻在頭戴顯示設(shè)備上播放的問題,讓用戶體驗(yàn)真正的360度視頻,而不是在平面視角去體驗(yàn),本發(fā)明視頻播放方法及播放器,能為用戶構(gòu)建一個包圍空間,將全景視頻幀圖像作為紋理360度映射于包圍空間,用戶戴上頭戴顯示設(shè)備,感覺上處于包圍空間內(nèi)部,可通過旋轉(zhuǎn)頭部等方式切換觀看角度,真正感受全景視頻帶來的魅力。
【IPC分類】H04N13/04, H04N7/18
【公開號】CN105245838
【申請?zhí)枴緾N201510634087
【發(fā)明人】黃敏, 陳卓, 鄧旭
【申請人】成都虛擬世界科技有限公司
【公開日】2016年1月13日
【申請日】2015年9月29日