日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

html做全景视频播放器,一种全景视频播放方法及播放器的制造方法

發(fā)布時(shí)間:2024/3/26 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html做全景视频播放器,一种全景视频播放方法及播放器的制造方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一種全景視頻播放方法及播放器的制造方法

【技術(shù)領(lǐng)域】

[0001]本發(fā)明涉及視頻播放領(lǐng)域,尤其涉及一種全景視頻播放方法及播放器。

【背景技術(shù)】

[0002]隨著近年來視頻拍攝技術(shù)的發(fā)展,全景圖片、全景視頻已經(jīng)慢慢走入大眾視野,全景視頻是指用全景相機(jī)或2-6個(gè)相機(jī)組成的相機(jī)組隊(duì)同一空間進(jìn)行拍攝,使得拍攝場景能覆蓋整個(gè)空間場景,拍攝出來的視頻具有360度視角。

[0003]該種視頻在傳統(tǒng)PC上播放時(shí),將360°視頻以平面窗口形式展現(xiàn)給用戶看,雖然視角很大,但是感受不到身臨其境的感覺。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的是提供一種視頻播放方法及視頻播放器,應(yīng)用于頭戴顯示設(shè)備上,用一種全新的方式播放360°全景視頻,讓用戶感受身臨其境的感覺。

[0005]為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供了一種全景視頻播放方法,應(yīng)用于頭戴顯示設(shè)備上,包括:對(duì)全景視頻文件進(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ì)算顯示到窗口的圖像范圍,并同步輸出音頻數(shù)據(jù)。

[0006]其中,所述視點(diǎn)位置包括觀察點(diǎn)位置和觀察方向。

[0007]優(yōu)選的,所述預(yù)先設(shè)定的三維幾何模型包括球模型、橢球型、圓柱體、圓錐體、立方體中的一種。

[0008]其中,當(dāng)預(yù)設(shè)的三維幾何模型為球模型時(shí),二維視頻幀圖像的點(diǎn)坐標(biāo)和預(yù)先設(shè)定的三維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系為:

[0009]P (X,,y,,z,)

[0010]P (x, y)

[0011]X= (1.0+arctan (y,/x,) / π ) *0.5

[0012]y = (1.0—arcsin (z,) *2.0/π ) *0.5

[0013]其中,p(x',y',z')為三幾何模型上的三維坐標(biāo),p (x, y)為二維視頻幀圖像上的二維坐標(biāo)。

[0014]優(yōu)選的,所述預(yù)先建立的二維視頻幀圖像的點(diǎn)坐標(biāo)和預(yù)先設(shè)定的三維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系,其建立過程包括:對(duì)三維幾何模型表面進(jìn)行三角形劃分,記錄每個(gè)三角面的頂點(diǎn)及頂點(diǎn)三維坐標(biāo);根據(jù)三維幾何模型類型及所述頂點(diǎn)三維坐標(biāo),計(jì)算對(duì)應(yīng)頂點(diǎn)在視頻幀圖像上的二維坐標(biāo);記錄每個(gè)三角面的頂點(diǎn)序號(hào)、每個(gè)頂點(diǎn)的三維坐標(biāo)和二維坐標(biāo),建立映射關(guān)系。

[0015]其中,當(dāng)所述三維幾何模型為球模型時(shí),所述對(duì)三維幾何模型表面進(jìn)行三角形劃分,具體為:對(duì)球模型進(jìn)行表面坐標(biāo)點(diǎn)米樣,根據(jù)米樣點(diǎn)對(duì)球模型表面進(jìn)行三角形劃分。

[0016]優(yōu)選的,所述方法還包括:檢測(cè)球模型上的三維坐標(biāo)點(diǎn)在轉(zhuǎn)換為視頻幀圖像上的二維左邊點(diǎn)過程中,已劃分好的三角形是否被切分,若是,則對(duì)被切分的三角形部分進(jìn)行新的三角形劃分。

[0017]其中,當(dāng)所述三維幾何模型為球模型時(shí):設(shè)二維視頻幀圖像的x、y坐標(biāo)取值為[0,I];設(shè)球模型球心位于原點(diǎn),半徑為I ;在建立映射關(guān)系時(shí),保證二維視頻幀圖像二維坐標(biāo)點(diǎn)[0.5,α ]和[0.5,l-α ]在對(duì)應(yīng)的三維模型上被采樣到,同時(shí)保證球模型表面的三維坐標(biāo)點(diǎn)(O, O, I)和(O, 0,-1)被采樣到,其中α取值范圍為0.65?0.95。

[0018]其中,當(dāng)所述全景視頻播放方法應(yīng)用于雙目頭戴顯示設(shè)備上時(shí),所述全景視頻播放方法還包括:對(duì)顯示到窗口的圖像進(jìn)行左右分屏處理。

[0019]相應(yīng)的,本發(fā)明還提供一種全景視頻播放器,安裝于頭戴顯示設(shè)備上,包括:

[0020]存儲(chǔ)模塊,用于預(yù)先建立的二維視頻幀圖像的點(diǎn)坐標(biāo)和預(yù)先設(shè)定的三維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系;

[0021]解碼模塊,用于對(duì)全景視頻文件進(jìn)行音視頻分離和解碼,得到二維視頻幀圖像序列和音頻數(shù)據(jù);

[0022]映射模塊,用于根據(jù)所述存儲(chǔ)模塊中存儲(chǔ)的映射關(guān)系,將所述二維視頻幀圖像序列作為紋理,依次逐幀映射到預(yù)先設(shè)定的三維幾何模型上;

[0023]視窗范圍調(diào)整模塊,用于根據(jù)預(yù)設(shè)視點(diǎn)位置或經(jīng)用戶調(diào)整后的視點(diǎn)位置,實(shí)時(shí)計(jì)算并調(diào)整顯示到窗口的圖像范圍;

[0024]音頻輸出模塊,用于在映射模塊映射紋理的同時(shí),同步輸出音頻數(shù)據(jù)。

[0025]其中,當(dāng)所述全景視頻播放器安裝于雙目頭戴顯示設(shè)備上時(shí),所述播放器還包括分屏模塊,用于對(duì)顯示到窗口的圖像進(jìn)行左右分屏處理。

[0026]本發(fā)明能解決全景視頻在頭戴顯示設(shè)備上播放的問題,讓用戶體驗(yàn)真正的360度視頻,而不是在平面視角去體驗(yàn),本發(fā)明視頻播放方法及播放器,能為用戶構(gòu)建一個(gè)包圍空間,將全景視頻幀圖像作為紋理360度映射于包圍空間,用戶戴上頭戴顯示設(shè)備,感覺上處于包圍空間內(nèi)部,可通過旋轉(zhuǎn)頭部等方式切換觀看角度,真正感受全景視頻帶來的魅力。

【附圖說明】

[0027]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖:

[0028]圖1為本發(fā)明全景視頻播放方法一種較佳實(shí)施方式的流程示意圖;

[0029]圖2為本發(fā)明實(shí)施例中,球模型三角劃分采樣結(jié)果示意圖;

[0030]圖3為圖2球模型剖線及示例三角形示意圖;

[0031]圖4為圖3展開后示例三角形被分離示意圖;

[0032]圖5為圖3展開后,示例三角形頂點(diǎn)錯(cuò)誤的組合示意圖;

[0033]圖6為圖3展開后,示例三角形頂點(diǎn)處理后的三角形劃分示意圖;

[0034]圖7為本發(fā)明全景視頻播放器一種較佳實(shí)施方式的結(jié)構(gòu)示意圖;

[0035]圖8為本發(fā)明全景視頻播放器另一種較佳實(shí)施方式的結(jié)構(gòu)示意圖。

【具體實(shí)施方式】

[0036]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

[0037]本發(fā)明涉及全景視頻文件的播放方法,所述的全景視頻文件可以是通過全景相機(jī)拍攝而成;也可以是采用η個(gè)(通常采用2?6個(gè))攝像機(jī)組成的攝像機(jī)組對(duì)同一空間進(jìn)行拍攝,使得拍攝場景能覆蓋整個(gè)空間場景,然后對(duì)各相攝像機(jī)拍攝的視頻幀進(jìn)行一系列處理,如畸變處理、重疊剪裁處理等,使相鄰攝像機(jī)拍攝的視頻幀能很好的拼接在一起并覆蓋整個(gè)空間場景。

[0038]參見圖1,為本發(fā)明全景視頻播放方法一種較佳實(shí)施方式的流程示意圖,本實(shí)施例全景視頻播放方法,應(yīng)用于頭戴顯示設(shè)備上,包括如下步驟:

[0039]SlOl:對(duì)全景視頻文件進(jìn)行音視頻分離和解碼,得到二維視頻幀圖像序列和音頻數(shù)據(jù);

[0040]S102:根據(jù)預(yù)先建立的二維視頻幀圖像的點(diǎn)坐標(biāo)和預(yù)先設(shè)定的三維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系,將所述二維視頻幀圖像序列作為紋理,依次逐幀映射到預(yù)先設(shè)定的三維幾何模型上。所述預(yù)先設(shè)定的三維幾何模型包括球模型、橢球型、圓柱體、圓錐體、立方體中的一種。

[0041]S103:根據(jù)預(yù)設(shè)視點(diǎn)位置或經(jīng)用戶調(diào)整后的視點(diǎn)位置,實(shí)時(shí)計(jì)算顯示到窗口的圖像范圍,并同步輸出音頻數(shù)據(jù)。根據(jù)視點(diǎn)位置計(jì)算顯示到窗口的圖像范圍,具體為調(diào)用openGL中的glLookAt函數(shù)進(jìn)行,其計(jì)算過程中需結(jié)合三維幾何模型的中心位置進(jìn)行,一般三維幾何模型中心位置只要模型設(shè)定好,中心位置隨即固定,因此變量只有視點(diǎn)位置這一參數(shù)。

[0042]所述視點(diǎn)位置包括觀察點(diǎn)位置和觀察方向,在本發(fā)明實(shí)施中,會(huì)預(yù)先設(shè)置一個(gè)初始視點(diǎn)位置,如果用戶不進(jìn)行調(diào)整,則根據(jù)初始視點(diǎn)位置計(jì)算顯示到窗口的圖像范圍;用戶如果覺得視點(diǎn)過近或過遠(yuǎn),可以通過頭戴顯示設(shè)備所支持的用戶指令,對(duì)視點(diǎn)位置進(jìn)行調(diào)整。所述用戶指令可以包括手勢(shì)指令、觸摸指令、頭部擺動(dòng)指令、語音指令中的一種或多種。其中頭部擺動(dòng)指令可以通過頭戴顯示設(shè)備內(nèi)置傳感器采集頭部擺動(dòng)數(shù)據(jù),進(jìn)而轉(zhuǎn)換為視點(diǎn)位置調(diào)整指令,特別是觀察方向,用頭部轉(zhuǎn)動(dòng)來控制,會(huì)比較符合用戶使用習(xí)慣。

[0043]在步驟S102中所提及的“預(yù)先建立的二維視頻幀圖像的點(diǎn)坐標(biāo)和預(yù)先設(shè)定的三維幾何模型的點(diǎn)坐標(biāo)的映射關(guān)系”,其建立過程包括:

[0044]A:對(duì)三維幾何模型表面進(jìn)行三角形劃分,記錄每個(gè)三角面的頂點(diǎn)及頂點(diǎn)三維坐標(biāo);

[0045]B:根據(jù)三維幾何模型類型及所述頂點(diǎn)三維坐標(biāo),計(jì)算對(duì)應(yīng)頂點(diǎn)在視頻幀圖像上的二維坐標(biāo);

[0046]C:記錄每個(gè)三角面的頂點(diǎn)序號(hào)、每個(gè)頂點(diǎn)的三維坐標(biāo)和二維坐標(biāo),建立映射關(guān)系。

[0047]值得注意的是,三角劃分方式有多種方法,在立方體這種由平面組成的三維模型中,三角劃分以立方體頂點(diǎn)為三角形頂點(diǎn)即可;而在包含曲面的三維模型中(如球模型),由于三維紋理的組織方式是用大量的小三角面模擬曲面紋理,三角面越多,包含曲面的三維模型精度越高,因此在顯示時(shí),對(duì)應(yīng)的顯示三角面越多,越容易還原用來表征三維場景的三維模型,進(jìn)而失真度越低。

[0048]過程B中,相當(dāng)于將三維幾何模型表面沿一剖線剖開,進(jìn)行局部拉伸等處理方式,展開成為一個(gè)平面二維圖像。

[0049]本發(fā)明實(shí)施例全景視頻播放方法應(yīng)用于雙目頭戴顯示設(shè)備上時(shí),所述全景視頻播放方法還包括:對(duì)顯示到窗口的圖像進(jìn)行左右分屏處理,使得用戶使用雙目頭戴顯示設(shè)備時(shí),左右眼同時(shí)看見同樣的畫面。

[0050]下面以三維幾何模型為球模型為例,詳細(xì)說明如何為全景視頻文件建立基于球模型的映射關(guān)系。

[0051]首先需要對(duì)球模型進(jìn)行表面坐標(biāo)點(diǎn)采樣,根據(jù)采

總結(jié)

以上是生活随笔為你收集整理的html做全景视频播放器,一种全景视频播放方法及播放器的制造方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。