麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

全景視頻的編解碼方法和裝置與流程

文檔序號(hào):11157561閱讀:1072來源:國(guó)知局
全景視頻的編解碼方法和裝置與制造工藝

本發(fā)明實(shí)施例涉及視頻編碼技術(shù),尤其涉及一種全景視頻的編解碼方法和裝置。



背景技術(shù):

視頻的編解碼技術(shù)被廣泛的應(yīng)用于對(duì)電影視頻、攝像機(jī)視頻等多媒體數(shù)據(jù)的壓縮。隨著虛擬現(xiàn)實(shí)技術(shù)的普及,傳統(tǒng)的視頻形態(tài)已經(jīng)不僅僅局限于單路的視頻電影,單路攝像機(jī)拍攝的影像,而由多路攝像機(jī)同時(shí)拍攝并拼接合成的全景視頻,已經(jīng)成為一種新的視頻形式。

現(xiàn)有技術(shù)中,對(duì)全景視頻進(jìn)行編碼,都是采用H264\H265等主流的編碼技術(shù),將全景視頻視為一路視頻媒體,采用與單路攝像機(jī)拍攝的視頻一樣的編碼方案進(jìn)行編碼。由于全景視頻通常是由多路攝像機(jī)視頻拼接而成,數(shù)據(jù)量巨大,在編碼時(shí)直接將全景視頻幀進(jìn)行編碼,以支持用戶通過轉(zhuǎn)動(dòng)VR(Virtual Reality,虛擬現(xiàn)實(shí))頭盔,觀看到水平360度、垂直360度的全方位視頻內(nèi)容,導(dǎo)致編碼后的視頻碼率很大,遠(yuǎn)遠(yuǎn)大于單路視頻的碼率。大碼率輸出,給網(wǎng)絡(luò)帶寬帶來了巨大的壓力,導(dǎo)致高清全景視頻的網(wǎng)絡(luò)傳輸無法實(shí)時(shí)或無法完成,直接影響全景視頻的直播應(yīng)用。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例提供一種全景視頻的編解碼方法和裝置,以減少網(wǎng)絡(luò)帶寬的壓力,解決全景直播視頻無法實(shí)時(shí)傳輸?shù)膯栴}。

第一方面,本發(fā)明實(shí)施例提供了一種全景視頻的編碼方法,所述方法包括:

編碼端獲取全景視頻幀的各分塊編碼數(shù)據(jù),其中,所述全景視頻幀按照在播放端的播放位置進(jìn)行分塊,每個(gè)分塊編碼數(shù)據(jù)的碼率根據(jù)該分塊的播放位置與播放端當(dāng)前視點(diǎn)位置的相對(duì)位置關(guān)系確定;

所述編碼端將所述全景視頻幀發(fā)送至播放端,以指示播放端進(jìn)行解碼播放。

第二方面,本發(fā)明實(shí)施例還提供了一種全景視頻的編碼裝置,所述裝置包括:

分塊數(shù)據(jù)獲取模塊,配置于編碼端中,用于獲取全景視頻幀的各分塊編碼數(shù)據(jù),其中,所述全景視頻幀按照在播放端的播放位置進(jìn)行分塊,每個(gè)分塊編碼數(shù)據(jù)的碼率根據(jù)該分塊的播放位置與播放端當(dāng)前視點(diǎn)位置的相對(duì)位置關(guān)系確定;

視頻幀發(fā)送模塊,配置于所述編碼端中,用于將所述全景視頻幀發(fā)送至播放端,以指示播放端進(jìn)行解碼播放。

第三方面,本發(fā)明實(shí)施例還提供了一種全景視頻的解碼方法,所述方法包括:

播放端獲取用戶在全景視頻顯示屏中的當(dāng)前視點(diǎn)位置,并發(fā)送給編碼端,以指示編碼端采用所述當(dāng)前視點(diǎn)位置確定的分塊碼率對(duì)全景視頻幀進(jìn)行編碼;

所述播放端接收編碼端發(fā)送的編碼后的全景視頻幀;

所述播放端對(duì)所述全景視頻幀進(jìn)行解封裝,得到分塊編碼數(shù)據(jù)及該分塊編碼數(shù)據(jù)在全景視頻幀中的位置;

所述播放端對(duì)全景視頻幀的各分塊編碼數(shù)據(jù)進(jìn)行解碼;

所述播放端播放解碼后的全景視頻幀。

第四方面,本發(fā)明實(shí)施例還提供了一種全景視頻的解碼裝置,所述裝置包括:

視點(diǎn)位置獲取模塊,配置于播放端中,用于獲取用戶在全景視頻顯示屏中的當(dāng)前視點(diǎn)位置,并發(fā)送給編碼端,以指示編碼端采用所述當(dāng)前視點(diǎn)位置確定的分塊碼率對(duì)全景視頻幀進(jìn)行編碼;

視頻幀接收模塊,配置于所述播放端中,用于接收編碼端發(fā)送的編碼后的全景視頻幀;

解封裝模塊,配置于所述播放端中,用于對(duì)所述全景視頻幀進(jìn)行解封裝,得到分塊編碼數(shù)據(jù)及該分塊編碼數(shù)據(jù)在全景視頻幀中的位置;

解碼模塊,配置于所述播放端中,用于對(duì)全景視頻幀的各分塊編碼數(shù)據(jù)進(jìn)行解碼;

播放模塊,配置于所述播放端中,用于播放解碼后的全景視頻幀。

本發(fā)明實(shí)施例的技術(shù)方案,通過全景視頻幀案子在播放端的播放位置進(jìn)行分塊,每個(gè)分塊編碼數(shù)據(jù)的碼率根據(jù)該分塊的播放位置與播放端當(dāng)前視點(diǎn)位置的相對(duì)位置關(guān)系確定,使得距離當(dāng)前視點(diǎn)位置較近的分塊的碼率較高,距離當(dāng)前視點(diǎn)位置較遠(yuǎn)的分塊的碼率較低,從而全景視頻幀中的分塊編碼數(shù)據(jù)采用不同的碼率,不再統(tǒng)一維持相同的高碼率,大大降低了編碼后的視頻碼率,減少了網(wǎng)絡(luò)帶寬的壓力,而且由于根據(jù)當(dāng)前視點(diǎn)位置確定各分塊的碼率,可以保證人眼始終能獲得高清視頻質(zhì)量的觀看效果,解決了全景直播視頻無法實(shí)時(shí)傳輸?shù)膯栴},使得全景直播視頻可以實(shí)時(shí)傳輸。

附圖說明

圖1是本發(fā)明實(shí)施例一提供的一種全景視頻的編碼方法的流程圖;

圖2是本發(fā)明實(shí)施例二提供的一種全景視頻的編碼方法的流程圖;

圖3是本發(fā)明實(shí)施例提供的全景視頻的編碼方法中的一個(gè)全景視頻幀的分塊示例圖;

圖4是本發(fā)明實(shí)施例提供的全景視頻的編碼方法中的當(dāng)前視點(diǎn)位置落在其中一個(gè)分塊中的示意圖;

圖5a-圖5d是本發(fā)明實(shí)施例提供的全景視頻的編碼方法中的四種區(qū)域劃分方式的示意圖;

圖6是本發(fā)明實(shí)施例三提供的一種全景視頻的編碼方法的流程圖;

圖7是本發(fā)明實(shí)施例四提供的一種全景視頻的編碼裝置的結(jié)構(gòu)示意圖;

圖8是本發(fā)明實(shí)施例五提供的一種全景視頻的解碼方法的流程圖;

圖9是本發(fā)明實(shí)施例六提供的一種全景視頻的解碼裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。可以理解的是,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部?jī)?nèi)容。

實(shí)施例一

圖1是本發(fā)明實(shí)施例一提供的一種全景視頻的編碼方法的流程圖,本實(shí)施例可適用于根據(jù)播放端中當(dāng)前視點(diǎn)位置而對(duì)全景視頻幀中的分塊采用不同的碼率進(jìn)行編碼的情況,該方法可以由全景視頻的編碼裝置來執(zhí)行,該全景視頻的編碼裝置配置于編碼端中,該方法具體包括如下步驟:

步驟110,編碼端獲取全景視頻幀的各分塊編碼數(shù)據(jù),其中,所述全景視頻幀按照在播放端的播放位置進(jìn)行分塊,每個(gè)分塊編碼數(shù)據(jù)的碼率根據(jù)該分塊的播放位置與播放端當(dāng)前視點(diǎn)位置的相對(duì)位置關(guān)系確定。

其中,全景視頻與普通的單路視頻不同,全景視頻是由多路攝像機(jī)同時(shí)拍攝并拼接合成的能覆蓋水平360度、垂直180度視角的大場(chǎng)景視頻,視頻播放時(shí),需要通過投影算法,將360度×180度的全景視頻,投影到以用戶為中心的球的內(nèi)壁上,用戶可通過VR頭盔等播放設(shè)備,進(jìn)行觀看,獲得身臨其境的沉浸感,然而,每個(gè)觀看視點(diǎn)的范圍始終還是人眼的有效視角范圍,其它角度的解碼視頻信息屬于閑置信息。

本實(shí)施例中,編碼端可以是推流端,也可以是云平臺(tái)端。當(dāng)編碼端是推流端時(shí),推流端獲取到全景視頻幀后,對(duì)該全景視頻幀進(jìn)行分塊,并根據(jù)每個(gè)分塊的播放位置與播放端當(dāng)前視點(diǎn)位置的相對(duì)位置關(guān)系,確定各分塊的編碼碼率,并依據(jù)相應(yīng)的碼率對(duì)各分塊進(jìn)行編碼,得到分塊編碼數(shù)據(jù)。當(dāng)編碼端是云平臺(tái)端時(shí),從推流端中獲取不同碼率編碼后的分塊編碼數(shù)據(jù)形成的全景視頻幀,并根據(jù)每個(gè)分塊的播放位置與播放端當(dāng)前視點(diǎn)位置的相對(duì)位置關(guān)系確定每個(gè)分塊編碼數(shù)據(jù)的碼率,將根據(jù)不同碼率編碼得到的分塊編碼數(shù)據(jù)封裝為全景視頻幀。

其中,距離當(dāng)前視點(diǎn)位置較近的分塊采用的碼率較高,距離當(dāng)前視點(diǎn)位置較遠(yuǎn)的分塊采用的碼率較低,以保證在觀看用戶的視野范圍內(nèi)能夠觀看到清晰的影像。當(dāng)前視點(diǎn)位置是播放端采用陀螺儀等獲取到,并發(fā)送給編碼端的。

在對(duì)每個(gè)分塊進(jìn)行編碼時(shí),可以采用視頻編解碼技術(shù)標(biāo)準(zhǔn),如H264、H265、AVS等,在編碼實(shí)施過程中,都是基于宏塊對(duì)視頻序列分塊進(jìn)行幀內(nèi)和幀間編碼的編碼方式,去除信息冗余。首先將各分塊的圖像分成16×16或64×64的像素塊,作為編碼處理的基本單元,然后通過運(yùn)動(dòng)估計(jì)和變換編碼,消除時(shí)間和空間冗余,達(dá)到壓縮視頻信息的目的。

步驟120,所述編碼端將所述全景視頻幀發(fā)送至播放端,以指示播放端進(jìn)行解碼播放。

編碼端將由不同碼率編碼得到的分塊編碼數(shù)據(jù)組成的全景視頻幀發(fā)送至播放端,使得播放端在接收到全景視頻幀時(shí)進(jìn)行解碼播放。

本實(shí)施例的技術(shù)方案,通過全景視頻幀案子在播放端的播放位置進(jìn)行分塊,每個(gè)分塊編碼數(shù)據(jù)的碼率根據(jù)該分塊的播放位置與播放端當(dāng)前視點(diǎn)位置的相對(duì)位置關(guān)系確定,使得距離當(dāng)前視點(diǎn)位置較近的分塊的碼率較高,距離當(dāng)前視點(diǎn)位置較遠(yuǎn)的分塊的碼率較低,從而全景視頻幀中的分塊編碼數(shù)據(jù)采用不同的碼率,不再統(tǒng)一維持相同的高碼率,大大降低了編碼后的視頻碼率,減少了網(wǎng)絡(luò)帶寬的壓力,而且由于根據(jù)當(dāng)前視點(diǎn)位置確定各分塊的碼率,可以保證人眼始終能獲得高清視頻質(zhì)量的觀看效果,解決了全景直播視頻無法實(shí)時(shí)傳輸?shù)膯栴},使得全景直播視頻可以實(shí)時(shí)傳輸。

實(shí)施例二

圖2是本發(fā)明實(shí)施例二提供的一種全景視頻的編碼方法的流程圖,本實(shí)施例在實(shí)施例一的基礎(chǔ)上進(jìn)行了優(yōu)化,將編碼端獲取全景視頻幀的各分塊編碼數(shù)據(jù)進(jìn)一步優(yōu)化為:推流端按照全景視頻幀在播放端的播放位置進(jìn)行分塊,得到分塊視頻數(shù)據(jù);所述推流端從至少兩個(gè)碼率中順序選擇一個(gè)碼率,作為當(dāng)前碼率,并采用當(dāng)前碼率對(duì)所有分塊視頻數(shù)據(jù)進(jìn)行編碼;所述推流端按照碼率,將所有編碼后的分塊視頻數(shù)據(jù)進(jìn)行分類并封裝,發(fā)送給云平臺(tái)端;所述云平臺(tái)端作為所述編碼端,獲取根據(jù)播放端的當(dāng)前視點(diǎn)位置以及各分塊的播放位置確定的各分塊的碼率;所述云平臺(tái)端根據(jù)各分塊的碼率,從各碼率對(duì)應(yīng)的封裝包中查找對(duì)應(yīng)的分塊;所述云平臺(tái)端按照分塊的播放位置,將查找到的分塊拼合成為編碼后的全景視頻幀。該方法具體包括如下步驟:

步驟210,推流端按照全景視頻幀在播放端的播放位置進(jìn)行分塊,得到分塊視頻數(shù)據(jù)。

推流端獲取全景視頻幀,并對(duì)全景視頻幀進(jìn)行分塊,便于后續(xù)的編碼處理,可以按照全景視頻幀在播放端的播放位置進(jìn)行分塊,如可以分為16×16或64×64的分塊,當(dāng)然,還可以按照全景視頻幀在播放端的播放位置分為其他的分塊。

其中,推流端按照全景視頻幀在播放端的播放位置進(jìn)行分塊,得到分塊視頻數(shù)據(jù)優(yōu)選包括:

所述推流端依據(jù)人眼生理特點(diǎn),對(duì)所述全景視頻幀進(jìn)行分塊。

根據(jù)人眼立體視覺透射原理及人眼生理特點(diǎn),人兩眼重合視域有124度,也就是說在人眼觀看到的范圍內(nèi),只有這124度視角內(nèi)的物體才有立體感,但這個(gè)角度太大,通常人視覺在10度是敏感區(qū),10~20度可以正確識(shí)別信息,20~30度對(duì)動(dòng)態(tài)東西比較敏感,因此,可以依據(jù)該特點(diǎn),對(duì)全景視頻幀進(jìn)行分塊,且獲得較好的立體感。

其中,所述推流端依據(jù)人眼生理特點(diǎn),對(duì)所述全景視頻幀進(jìn)行分塊優(yōu)選包括:

所述推流端依據(jù)人眼生理特點(diǎn),將所述全景視頻幀分為水平方向?yàn)?0塊、垂直方向?yàn)?塊的分塊。

當(dāng)圖像的垂直方向視角為20度,水平方向的視角為36度時(shí),就會(huì)有非常好的視覺臨場(chǎng)感,而且也不會(huì)因?yàn)轭l繁轉(zhuǎn)動(dòng)眼球造成疲倦。基于人眼的這些特點(diǎn),將全景視頻按照空間視角進(jìn)行分塊,在水平方向,水平360度視角區(qū)域可分成10個(gè)塊,每個(gè)分塊水平方向覆蓋視角為36度,在垂直方向,垂直180度視角分成9個(gè)塊,每個(gè)塊垂直方向覆蓋的視角為20度,最后得到的各個(gè)分塊覆蓋36度×20度視角,共形成90個(gè)分塊,如圖3所示,圖3是本發(fā)明實(shí)施例提供的全景視頻的編碼方法中的一個(gè)全景視頻幀的分塊示例圖。

步驟220,所述推流端從至少兩個(gè)碼率中順序選擇一個(gè)碼率,作為當(dāng)前碼率,并采用當(dāng)前碼率對(duì)所有分塊視頻數(shù)據(jù)進(jìn)行編碼。

其中,至少兩個(gè)碼率可以是預(yù)先設(shè)置的碼率,也可以是接收的用戶配置的碼率,還可以是根據(jù)預(yù)先設(shè)置的一個(gè)碼率或者用戶配置的一個(gè)碼率計(jì)算得到其他碼率。在根據(jù)一個(gè)碼率計(jì)算得到其他碼率時(shí),假設(shè)該碼率為n,則以碼率n為基礎(chǔ),對(duì)全幀圖像即全景視頻幀的編碼可以采用多種檔次的碼率規(guī)格,這里以采用三種檔次的碼率規(guī)格為例,分別記為R1,R2,R3,其中R1=n,R2=R1/2,R3=R2/2,1<n<30,相應(yīng)的,各分塊的碼率分別R1f=R1/N,R2f=R2/N,R3f=R3/N,其中,N是全景視頻幀中分塊的總數(shù)量。

所述至少兩個(gè)碼率以從高到低的順序進(jìn)行了排序,推流端首先選擇碼率最高的碼率作為當(dāng)前碼率,并采用當(dāng)前碼率對(duì)全景視頻幀中的所有分塊視頻數(shù)據(jù)進(jìn)行編碼;然后再依次采用低一級(jí)的碼率作為當(dāng)前碼率,對(duì)所有分塊視頻數(shù)據(jù)進(jìn)行編碼。

步驟230,所述推流端按照碼率,將所有編碼后的分塊視頻數(shù)據(jù)進(jìn)行分類并封裝,發(fā)送給云平臺(tái)端。

推流端將按照同一碼率編碼的分塊視頻數(shù)據(jù)分為一類,并將按照相同碼率編碼后的分塊視頻數(shù)據(jù)按照該分塊在全景視頻幀中的位置進(jìn)行封裝,并發(fā)送給云平臺(tái)端。在進(jìn)行封裝時(shí),將各個(gè)分塊按照分塊的播放位置從左到右、從上到下的順序封裝在一起。其中,在將封裝包發(fā)送給云平臺(tái)端時(shí)可以采用RTMP(Real Time Messaging Protocol,實(shí)時(shí)消息傳輸協(xié)議)進(jìn)行推流。

步驟240,所述云平臺(tái)端作為所述編碼端,獲取根據(jù)播放端的當(dāng)前視點(diǎn)位置以及各分塊的播放位置確定的各分塊的碼率。

所述云平臺(tái)端可以由多個(gè)服務(wù)器組成,以能夠處理大的數(shù)據(jù)量。所述云平臺(tái)端作為所述編碼端,獲取播放端反饋的當(dāng)前視點(diǎn)位置,并根據(jù)各分塊的播放位置與當(dāng)前視點(diǎn)位置的相對(duì)位置關(guān)系確定各分塊的碼率,使得播放位置距離當(dāng)前視點(diǎn)位置較近的分塊的碼率較高,播放位置距離當(dāng)前視點(diǎn)位置較遠(yuǎn)的分塊的碼率較低。

其中,所述編碼端獲取根據(jù)播放端的當(dāng)前視點(diǎn)位置以及各分塊的播放位置確定的各分塊的碼率可選包括:

所述編碼端從播放端獲取當(dāng)前視點(diǎn)位置;

所述編碼端根據(jù)所述當(dāng)前視點(diǎn)位置,確定分塊的類型為遞進(jìn)區(qū)域或閑置區(qū)域,其中,所述當(dāng)前視點(diǎn)位置在所述遞進(jìn)區(qū)域中,所述閑置區(qū)域在所述遞進(jìn)區(qū)域的外圍;

所述編碼端根據(jù)分塊的類型確定各分塊的碼率,其中,所述遞進(jìn)區(qū)域的分塊對(duì)應(yīng)的碼率大于所述閑置區(qū)域的分塊對(duì)應(yīng)的碼率。

所述云平臺(tái)端作為所述編碼端。所述編碼端從播放端獲取當(dāng)前視點(diǎn)位置,根據(jù)當(dāng)前視點(diǎn)位置,確定觀看視頻的遞進(jìn)區(qū)域和閑置區(qū)域,不同區(qū)域應(yīng)用不同碼率的編碼數(shù)據(jù),合成用戶觀看視頻幀壓縮碼流,當(dāng)用戶觀看視點(diǎn)發(fā)生變化時(shí),實(shí)時(shí)地根據(jù)當(dāng)前視點(diǎn)位置調(diào)整遞進(jìn)區(qū)域和閑置區(qū)域,重新構(gòu)造視頻幀。在確定遞進(jìn)區(qū)域和閑置區(qū)域后,根據(jù)每個(gè)分塊在全景視頻幀中的播放位置,確定每個(gè)分塊的類型為遞進(jìn)區(qū)域或者閑置區(qū)域。并根據(jù)遞進(jìn)區(qū)域和閑置區(qū)域?qū)?yīng)的碼率,確定各分塊的碼率。由于當(dāng)前視點(diǎn)位置在所述遞進(jìn)區(qū)域中,閑置區(qū)域在所述遞進(jìn)區(qū)域的外圍,而且遞進(jìn)區(qū)域的分塊對(duì)應(yīng)的碼率大于閑置區(qū)域的分塊對(duì)應(yīng)的碼率,使得用戶可以清楚地觀看到眼前清晰的影像,后面看不到的影像可以相對(duì)模糊,從而大大降低了碼率。

其中,所述遞進(jìn)區(qū)域可以包括核心區(qū)、輔助區(qū)和擴(kuò)充區(qū),所述當(dāng)前視點(diǎn)位置在所述核心區(qū)中,所述輔助區(qū)在所述核心區(qū)的外圍,所述擴(kuò)充區(qū)在所述輔助區(qū)的外圍,所述閑置區(qū)域在所述擴(kuò)充區(qū)的外圍。

在所述全景視頻幀分為水平方向?yàn)?0塊、垂直方向?yàn)?塊的分塊中,遞進(jìn)區(qū)域可以為水平方向?yàn)?塊、垂直方向?yàn)?塊,從而構(gòu)建水平方向180度視野、垂直方向100度視野,構(gòu)建180×100度的視場(chǎng),即該視場(chǎng)由核心區(qū)、輔助區(qū)和擴(kuò)充區(qū)組成,不同區(qū)域采用不同的碼率進(jìn)行編碼,當(dāng)觀看視點(diǎn)發(fā)生變化時(shí),通過播放端實(shí)時(shí)反饋的當(dāng)前視點(diǎn)位置,相應(yīng)的對(duì)核心區(qū)、輔助區(qū)、擴(kuò)充區(qū)和閑置區(qū)域進(jìn)行同步更新,使得人眼始終能獲得高清視頻質(zhì)量的觀看效果。

圖4是本發(fā)明實(shí)施例提供的全景視頻的編碼方法中的當(dāng)前視點(diǎn)位置落在其中一個(gè)分塊中的示意圖,如圖4所示,當(dāng)前視點(diǎn)位置1落在某個(gè)分塊中時(shí),可以根據(jù)當(dāng)前視點(diǎn)位置與該分塊的關(guān)系,對(duì)應(yīng)四種區(qū)域劃分方式,即,當(dāng)前視點(diǎn)位置在該分塊的中心的左上方、左下方、右上方、右下方,分別對(duì)應(yīng)圖5a-圖5d所示的四種區(qū)域劃分方式,當(dāng)前視點(diǎn)位置在該分塊的中心的左上方時(shí),對(duì)應(yīng)圖5a的區(qū)域劃分方式;當(dāng)前視點(diǎn)位置在該分塊的中心的左下方時(shí),對(duì)應(yīng)圖5b的區(qū)域劃分方式;視點(diǎn)位置在該分塊的中心的右上方時(shí),對(duì)應(yīng)圖5c的區(qū)域劃分方式;視點(diǎn)位置在該分塊的中心的右下方時(shí),對(duì)應(yīng)圖5d的區(qū)域劃分方式,在圖5a-圖5d中,10是核心區(qū),20是輔助區(qū),30是擴(kuò)充區(qū),40是閑置區(qū)域。在上述三種檔次的碼率規(guī)格中,核心區(qū)的分塊采用的碼率為R1f=R1/N,輔助區(qū)的分塊采用的碼率為R2f=R2/N,擴(kuò)充區(qū)的分塊采用的碼率為R3f=R3/N,閑置區(qū)域的分塊采用的碼率為0,這里,N為90。因?yàn)殚e置區(qū)域在用戶的視野范圍之外,所以不顯示影像也不影響用戶的觀看,而且在檢測(cè)到用戶的當(dāng)前視點(diǎn)位置發(fā)生變化時(shí),可以實(shí)時(shí)更新顯示的區(qū)域。通過這樣遞減的碼率,大大降低了傳輸?shù)拇a率,減少了網(wǎng)絡(luò)帶寬的壓力。

步驟250,所述云平臺(tái)端根據(jù)各分塊的碼率,從各碼率對(duì)應(yīng)的封裝包中查找對(duì)應(yīng)的分塊。

所述云平臺(tái)端對(duì)各碼率對(duì)應(yīng)的封裝包分別進(jìn)行解封裝,并根據(jù)確定的各分塊的碼率,從各碼率對(duì)應(yīng)的封裝包中查找對(duì)應(yīng)的分塊。

步驟260,所述云平臺(tái)端按照分塊的播放位置,將查找到的分塊拼合成為編碼后的全景視頻幀。

所述云平臺(tái)端按照各分塊在全景視頻幀中的播放位置,將查找到的分塊拼合成為編碼后的全景視頻幀并封裝。

步驟270,所述編碼端將所述全景視頻幀發(fā)送至播放端,以指示播放端進(jìn)行解碼播放。

本實(shí)施例的技術(shù)方案,通過推流端對(duì)全景視頻幀進(jìn)行分塊,并按照不同的碼率分別對(duì)全景視頻幀的各分塊視頻數(shù)據(jù)進(jìn)行編碼,將相同碼率編碼的分塊視頻數(shù)據(jù)封裝在一起并發(fā)送給云平臺(tái)端,由云平臺(tái)端根據(jù)播放端的當(dāng)前視點(diǎn)位置以及各分塊的播放位置確定各分塊的碼率,并從各碼率對(duì)應(yīng)的封裝包中提取對(duì)應(yīng)的分塊,并進(jìn)行碼流重構(gòu)即拼合成為編碼后的全景視頻幀,從而全景視頻幀中的分塊編碼數(shù)據(jù)采用不同的碼率,不再統(tǒng)一維持相同的高碼率,大大降低了編碼后的視頻碼率,減少了網(wǎng)絡(luò)帶寬的壓力,而且由于根據(jù)當(dāng)前視點(diǎn)位置確定各分塊的碼率,可以保證人眼始終能獲得高清視頻質(zhì)量的觀看效果,避免了全景視頻直播過程中由于網(wǎng)絡(luò)帶寬不足造成的視頻緩沖,解決了全景直播視頻無法實(shí)時(shí)傳輸?shù)膯栴},使得全景直播視頻可以實(shí)時(shí)傳輸,提升了高清全景視頻直播的體驗(yàn)效果,而且通過推流端和云平臺(tái)端來協(xié)同處理,可以大大提高處理的速率。

實(shí)施例三

圖6是本發(fā)明實(shí)施例三提供的一種全景視頻的編碼方法的流程圖,本實(shí)施例在實(shí)施例一的基礎(chǔ)上進(jìn)行了優(yōu)化,將編碼端獲取全景視頻幀的各分塊編碼數(shù)據(jù)進(jìn)一步優(yōu)化為:所述編碼端按照全景視頻幀在播放端的播放位置進(jìn)行分塊,得到分塊視頻數(shù)據(jù);所述編碼端獲取根據(jù)播放端的當(dāng)前視點(diǎn)位置以及各分塊的播放位置確定的各分塊的碼率;所述編碼端根據(jù)各分塊的碼率對(duì)分塊視頻數(shù)據(jù)進(jìn)行編碼,以形成編碼后的全景視頻幀。該方法具體包括如下步驟:

步驟310,所述編碼端按照全景視頻幀在播放端的播放位置進(jìn)行分塊,得到分塊視頻數(shù)據(jù)。

所述編碼端按照全景視頻幀在播放端的播放位置進(jìn)行分塊,得到分塊視頻數(shù)據(jù),如可以分為16×16或64×64的分塊,當(dāng)然,還可以按照全景視頻幀在播放端的播放位置分為其他的分塊。

其中,編碼端按照全景視頻幀在播放端的播放位置進(jìn)行分塊,得到分塊視頻數(shù)據(jù)優(yōu)選包括:

所述編碼端依據(jù)人眼生理特點(diǎn),對(duì)所述全景視頻幀進(jìn)行分塊。

其中,所述編碼端依據(jù)人眼生理特點(diǎn),對(duì)所述全景視頻幀進(jìn)行分塊優(yōu)選包括:

所述編碼端依據(jù)人眼生理特點(diǎn),將所述全景視頻幀分為水平方向?yàn)?0塊、垂直方向?yàn)?塊的分塊。

步驟320,所述編碼端獲取根據(jù)播放端的當(dāng)前視點(diǎn)位置以及各分塊的播放位置確定的各分塊的碼率。

編碼端獲取播放端反饋的當(dāng)前視點(diǎn)位置,并根據(jù)各分塊的播放位置與當(dāng)前視點(diǎn)位置的相對(duì)位置關(guān)系確定各分塊的碼率,使得播放位置距離當(dāng)前視點(diǎn)位置較近的分塊的碼率較高,播放位置距離當(dāng)前視點(diǎn)位置較遠(yuǎn)的分塊的碼率較低。

其中,所述編碼端獲取根據(jù)播放端的當(dāng)前視點(diǎn)位置以及各分塊的播放位置確定的各分塊的碼率可選包括:

所述編碼端從播放端獲取當(dāng)前視點(diǎn)位置;

所述編碼端根據(jù)所述當(dāng)前視點(diǎn)位置,確定分塊的類型為遞進(jìn)區(qū)域或閑置區(qū)域,其中,所述當(dāng)前視點(diǎn)位置在所述遞進(jìn)區(qū)域中,所述閑置區(qū)域在所述遞進(jìn)區(qū)域的外圍;

所述編碼端根據(jù)分塊的類型確定各分塊的碼率,其中,所述遞進(jìn)區(qū)域的分塊對(duì)應(yīng)的碼率大于所述閑置區(qū)域的分塊對(duì)應(yīng)的碼率。

編碼端確定各分塊的碼率的方式與實(shí)施例二中的方式相同,這里不再贅述。

步驟330,所述編碼端根據(jù)各分塊的碼率對(duì)分塊視頻數(shù)據(jù)進(jìn)行編碼,以形成編碼后的全景視頻幀。

編碼端根據(jù)確定的每個(gè)分塊的碼率分別對(duì)該分塊對(duì)應(yīng)的分塊視頻數(shù)據(jù)進(jìn)行編碼,并按照分塊視頻數(shù)據(jù)在全景視頻幀中的播放位置進(jìn)行封裝,形成編碼后的全景視頻幀。

步驟340,所述編碼端將所述全景視頻幀發(fā)送至播放端,以指示播放端進(jìn)行解碼播放。

本實(shí)施例的技術(shù)方案,通過編碼端按照全景視頻幀在播放端的播放位置進(jìn)行分塊,獲取根據(jù)播放端的當(dāng)前視點(diǎn)位置以及各分塊的播放位置確定的各分塊的碼率,根據(jù)各分塊的碼率對(duì)相應(yīng)的分塊視頻數(shù)據(jù)進(jìn)行編碼,形成編碼后的全景視頻幀,以使得距離當(dāng)前視點(diǎn)位置較近的分塊的碼率較高,距離當(dāng)前視點(diǎn)位置較遠(yuǎn)的分塊的碼率較低,從而大大降低了碼率,且不影響用戶的觀看質(zhì)量,減少了網(wǎng)絡(luò)帶寬的壓力,解決了全景直播視頻無法實(shí)時(shí)傳輸?shù)膯栴},使得全景直播視頻可以實(shí)時(shí)傳輸。

實(shí)施例四

圖7是本發(fā)明實(shí)施例四提供的一種全景視頻的編碼裝置的結(jié)構(gòu)示意圖,如圖7所示,本實(shí)施例所述的全景視頻的編碼裝置包括:分塊數(shù)據(jù)獲取模塊410和視頻幀發(fā)送模塊420。

其中,分塊數(shù)據(jù)獲取模塊410,配置于編碼端中,用于獲取全景視頻幀的各分塊編碼數(shù)據(jù),其中,所述全景視頻幀按照在播放端的播放位置進(jìn)行分塊,每個(gè)分塊編碼數(shù)據(jù)的碼率根據(jù)該分塊的播放位置與播放端當(dāng)前視點(diǎn)位置的相對(duì)位置關(guān)系確定;

視頻幀發(fā)送模塊420,配置于所述編碼端中,用于將所述全景視頻幀發(fā)送至播放端,以指示播放端進(jìn)行解碼播放。

可選的,所述分塊數(shù)據(jù)獲取模塊包括:

第一視頻幀分塊單元,配置于推流端中,用于按照全景視頻幀在播放端的播放位置進(jìn)行分塊,得到分塊視頻數(shù)據(jù);

視頻幀編碼單元,配置于所述推流端中,用于從至少兩個(gè)碼率中順序選擇一個(gè)碼率,作為當(dāng)前碼率,并采用當(dāng)前碼率對(duì)所有分塊視頻數(shù)據(jù)進(jìn)行編碼;

視頻幀發(fā)送單元,配置于所述推流端中,用于按照碼率,將所有編碼后的分塊視頻數(shù)據(jù)進(jìn)行分類并封裝,發(fā)送給云平臺(tái)端;

第一分塊碼率獲取單元,配置于所述云平臺(tái)端中,所述云平臺(tái)端作為所述編碼端,用于獲取根據(jù)播放端的當(dāng)前視點(diǎn)位置以及各分塊的播放位置確定的各分塊的碼率;

分塊查找單元,配置于所述云平臺(tái)端中,用于根據(jù)各分塊的碼率,從各碼率對(duì)應(yīng)的封裝包中查找對(duì)應(yīng)的分塊;

碼流重構(gòu)單元,配置于所述云平臺(tái)端中,用于按照分塊的播放位置,將查找到的分塊拼合成為編碼后的全景視頻幀。

可選的,所述分塊數(shù)據(jù)獲取模塊包括:

第二視頻幀分塊單元,配置于所述編碼端中,用于按照全景視頻幀在播放端的播放位置進(jìn)行分塊,得到分塊視頻數(shù)據(jù);

第二分塊碼率獲取單元,配置于所述編碼端中,用于獲取根據(jù)播放端的當(dāng)前視點(diǎn)位置以及各分塊的播放位置確定的各分塊的碼率;

分塊編碼單元,用于所述編碼端根據(jù)各分塊的碼率對(duì)分塊視頻數(shù)據(jù)進(jìn)行編碼,以形成編碼后的全景視頻幀。

可選的,所述第一分塊碼率獲取單元或所述第二分塊碼率獲取單元具體用于:

從播放端獲取當(dāng)前視點(diǎn)位置;

根據(jù)所述當(dāng)前視點(diǎn)位置,確定分塊的類型為遞進(jìn)區(qū)域或閑置區(qū)域,其中,所述當(dāng)前視點(diǎn)位置在所述遞進(jìn)區(qū)域中,所述閑置區(qū)域在所述遞進(jìn)區(qū)域的外圍;

根據(jù)分塊的類型確定各分塊的碼率,其中,所述遞進(jìn)區(qū)域的分塊對(duì)應(yīng)的碼率大于所述閑置區(qū)域的分塊對(duì)應(yīng)的碼率。

可選的,第一視頻幀分塊單元或第二視頻幀分塊單元包括:

分塊子單元,配置于推流端或編碼端中,用于依據(jù)人眼生理特點(diǎn),對(duì)所述全景視頻幀進(jìn)行分塊。

可選的,所述分塊子單元具體用于:

依據(jù)人眼生理特點(diǎn),將所述全景視頻幀分為水平方向?yàn)?0塊、垂直方向?yàn)?塊的分塊。

上述全景視頻的編碼裝置可執(zhí)行本發(fā)明任意實(shí)施例所提供的全景視頻的編碼方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參見本發(fā)明任意實(shí)施例提供的全景視頻的編碼方法。

實(shí)施例五

圖8是本發(fā)明實(shí)施例五提供的一種全景視頻的解碼方法的流程圖,本實(shí)施例可適用于對(duì)根據(jù)當(dāng)前視點(diǎn)位置而對(duì)全景視頻幀中的分塊采用的不同碼率編碼進(jìn)行解碼的情況,該方法可以由全景視頻的解碼裝置來執(zhí)行,該全景視頻的解碼裝置配置于播放端(如VR頭盔等)中,該方法具體包括如下步驟:

步驟510,播放端獲取用戶在全景視頻顯示屏中的當(dāng)前視點(diǎn)位置,并發(fā)送給編碼端,以指示編碼端采用所述當(dāng)前視點(diǎn)位置確定的分塊碼率對(duì)全景視頻幀進(jìn)行編碼。

播放端通過陀螺儀實(shí)時(shí)獲取位置信息,并根據(jù)位置信息,獲得用戶在全景視頻顯示屏中的當(dāng)前視點(diǎn)位置,并發(fā)送給編碼端,以指示編碼端采用所述當(dāng)前視點(diǎn)位置確定的分塊碼率對(duì)全景視頻幀進(jìn)行編碼。當(dāng)用戶轉(zhuǎn)頭、走動(dòng)等引起位置發(fā)生變化時(shí),相應(yīng)的當(dāng)前視點(diǎn)位置將觸發(fā)編碼端實(shí)時(shí)更新各分塊的碼率并重構(gòu)碼流進(jìn)行視頻傳輸分發(fā)。其中,所述編碼端為云平臺(tái)端和/或推流端,即所述編碼端可以為云平臺(tái)端或推流端,也可以是云平臺(tái)端和推流端共同作為編碼端。

其中,播放端獲取用戶在全景視頻顯示屏中的當(dāng)前視點(diǎn)位置,并發(fā)送給編碼端可選包括:

所述播放端根據(jù)所述當(dāng)前視點(diǎn)位置,確定分塊的類型為遞進(jìn)區(qū)域或閑置區(qū)域,其中,所述當(dāng)前視點(diǎn)位置在所述遞進(jìn)區(qū)域中,所述閑置區(qū)域在所述遞進(jìn)區(qū)域的外圍;

所述播放端將所述分塊的類型和/或各類型對(duì)應(yīng)的分塊碼率,發(fā)送給所述編碼端。

播放端也可以根據(jù)當(dāng)前視點(diǎn)位置確定全景顯示屏中的遞進(jìn)區(qū)域和閑置區(qū)域,從而確定各分塊的類型為遞進(jìn)區(qū)域或閑置區(qū)域,從而將分塊的類型發(fā)送給編碼端,或者將各類型對(duì)應(yīng)的分塊碼率發(fā)送給編碼端,或者同時(shí)將分塊的類型和各類型對(duì)應(yīng)的分塊碼率發(fā)送給編碼端。

步驟520,所述播放端接收編碼端發(fā)送的編碼后的全景視頻幀。

播放端按YV21的格式在視頻流中取出全景視頻幀。

步驟530,所述播放端對(duì)所述全景視頻幀進(jìn)行解封裝,得到分塊編碼數(shù)據(jù)及該分塊編碼數(shù)據(jù)在全景視頻幀中的位置。

播放端提取各分塊的信息,解封裝所述全景視頻幀,得到各分塊的壓縮信息,即分塊編碼數(shù)據(jù)及該分塊編碼數(shù)據(jù)在全景視頻幀中的位置。

步驟540,所述播放端對(duì)全景視頻幀的各分塊編碼數(shù)據(jù)進(jìn)行解碼。

根據(jù)各分塊編碼采用的標(biāo)準(zhǔn),對(duì)各分塊進(jìn)行視頻解碼,比如h264\h265等的解碼。

在解碼之后,還可以包括:對(duì)解碼的分塊編碼數(shù)據(jù)進(jìn)行分塊融合。

在分塊邊緣處,以邊界為中心,各分塊兩邊選取2~20個(gè)像素點(diǎn)為處理區(qū)域(如選取10個(gè)像素點(diǎn)為處理區(qū)域),采用8鄰域中值濾波的方式,融合分塊邊緣數(shù)據(jù),使得顯示的視頻在分塊邊緣處較為平滑。

步驟550,所述播放端播放解碼后的全景視頻幀。

播放端將解碼后的全景視頻幀采用常規(guī)方法,投影到球面上進(jìn)行雙屏輸出,用戶通過VR頭盔等可以觀看到該全景視頻。

本實(shí)施例的技術(shù)方案,通過播放端獲取用戶在全景視頻顯示屏中的當(dāng)前視點(diǎn)位置,并發(fā)送給編碼端,以指示編碼端采用所述當(dāng)前視點(diǎn)位置確定的分塊碼率對(duì)全景視頻幀進(jìn)行編碼,接收編碼端發(fā)送來的編碼后的全景視頻幀,對(duì)該全景視頻幀進(jìn)行解碼播放,由于編碼端傳輸來的全景視頻幀是根據(jù)當(dāng)前視點(diǎn)位置確定的不同的分塊碼率對(duì)各分塊進(jìn)行的編碼,使得距離當(dāng)前視點(diǎn)位置較近的分塊的碼率較高,距離當(dāng)前視點(diǎn)位置較遠(yuǎn)的分塊的碼率較低,從而大大降低了碼率,且不影響用戶的觀看質(zhì)量,減少了網(wǎng)絡(luò)帶寬的壓力,解決了全景直播視頻無法實(shí)時(shí)傳輸?shù)膯栴},使得全景直播視頻可以實(shí)時(shí)傳輸。

實(shí)施例六

圖9是本發(fā)明實(shí)施例六提供的一種全景視頻的解碼裝置的結(jié)構(gòu)示意圖,如圖9所示,本實(shí)施例所述的全景視頻的解碼裝置包括:視點(diǎn)位置獲取模塊610、視頻幀接收模塊620、解封裝模塊630、解碼模塊640和播放模塊650。

其中,視點(diǎn)位置獲取模塊610,配置于播放端中,用于獲取用戶在全景視頻顯示屏中的當(dāng)前視點(diǎn)位置,并發(fā)送給編碼端,以指示編碼端采用所述當(dāng)前視點(diǎn)位置確定的分塊碼率對(duì)全景視頻幀進(jìn)行編碼;

視頻幀接收模塊620,配置于所述播放端中,用于接收編碼端發(fā)送的編碼后的全景視頻幀;

解封裝模塊630,配置于所述播放端中,用于對(duì)所述全景視頻幀進(jìn)行解封裝,得到分塊編碼數(shù)據(jù)及該分塊編碼數(shù)據(jù)在全景視頻幀中的位置;

解碼模塊640,配置于所述播放端中,用于對(duì)全景視頻幀的各分塊編碼數(shù)據(jù)進(jìn)行解碼;

播放模塊650,配置于所述播放端中,用于播放解碼后的全景視頻幀。

可選的,所述視點(diǎn)位置獲取模塊包括:

分塊類型確定單元,配置于所述播放端中,用于根據(jù)所述當(dāng)前視點(diǎn)位置,確定分塊的類型為遞進(jìn)區(qū)域或閑置區(qū)域,其中,所述當(dāng)前視點(diǎn)位置在所述遞進(jìn)區(qū)域中,所述閑置區(qū)域在所述遞進(jìn)區(qū)域的外圍;

分塊碼率發(fā)送單元,配置于所述播放端中,用于將所述分塊的類型和/或各類型對(duì)應(yīng)的分塊碼率,發(fā)送給所述編碼端。

其中,所述編碼端可選為云平臺(tái)端和/或推流端。

上述全景視頻的解碼裝置可執(zhí)行本發(fā)明任意實(shí)施例所提供的全景視頻的解碼方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。未在本實(shí)施例中詳盡描述的技術(shù)細(xì)節(jié),可參見本發(fā)明任意實(shí)施例提供的全景視頻的解碼方法。

注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
主站蜘蛛池模板: 平陆县| 洛隆县| 筠连县| 临沭县| 兰西县| 铁岭市| 册亨县| 聊城市| 百色市| 综艺| 项城市| 玉环县| 克什克腾旗| 高要市| 健康| 清徐县| 铜鼓县| 雷波县| 盐池县| 芜湖市| 吉水县| 梓潼县| 西乡县| 张家界市| 仁布县| 深水埗区| 栾城县| 东港市| 通化市| 南安市| 敖汉旗| 静乐县| 会东县| 焦作市| 郑州市| 慈溪市| 金塔县| 万全县| 大兴区| 林西县| 新巴尔虎右旗|