本發(fā)明涉及虛擬現(xiàn)實(Virtual Reality,VR)視頻技術(shù)領(lǐng)域,尤其涉及一種全景視頻關(guān)鍵幀的編碼方法和裝置。
背景技術(shù):
目前市場上的VR(虛擬現(xiàn)實)視頻,以全景視頻為主。全景視頻的視頻覆蓋角度為水平360度,豎直180度,相較于正常視頻,全景視頻的文件數(shù)據(jù)量增加很大。
另外,當前對全景視頻的關(guān)鍵幀(I幀)的編碼過程中,如采用HEVC(High Efficiency Video Coding,是一種新的視頻壓縮標準,可以替代H.264/AVC編碼標準)或AVS(Audio Video coding Standard,音視頻編碼標準)對I幀進行編碼,只利用了幀內(nèi)的空間相關(guān)性,導致I幀的壓縮效率較低。
如此導致當前的全景視頻體積大,傳輸時耗費很多網(wǎng)絡(luò)流量,帶寬成本較高,限制了全景視頻的推廣應(yīng)用。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種全景視頻關(guān)鍵幀的編碼方法和裝置,以提高全景視頻I幀的壓縮效率,減小全景視頻體積,節(jié)省網(wǎng)絡(luò)帶寬。
為了解決上述技術(shù)問題,本發(fā)明采用了如下技術(shù)方案:
一種全景視頻關(guān)鍵幀編碼方法,包括:
獲取球面全景視頻關(guān)鍵幀;
按照預(yù)設(shè)映射方式將所述球面全景視頻關(guān)鍵幀映射為平面全景視頻圖像,并將所述平面全景視頻圖像分割為多個平面視圖;
將所述多個平面視圖按掃描順序排列成一個新視頻序列;
將所述新視頻序列中的一個平面視圖按照I幀方式編碼,其余平面視圖按照P幀方式編碼;
將解碼后的平面視圖按照各自在平面全景視頻圖像中的位置復(fù)原整合為平面全景視頻圖像;
將所述平面全景視頻圖像逆映射為球面全景視頻關(guān)鍵幀。
可選地,映射平面全景視頻圖像后,排列成新視頻序列之前,還包括:
判斷平面視圖的形狀是否均為矩形,如果否,將形狀為非矩形的平面視圖形狀處理為矩形。
可選地,所述預(yù)設(shè)映射方式包括立方體映射方式、經(jīng)緯圖映射方式、四棱錐映射方式;
所述四棱錐映射方式為將球體映射為外接四棱錐,展開成一個正方形和4個三角形的映射方式。
可選地,所述預(yù)設(shè)映射方式為四棱錐映射方式,所述四棱錐映射方式為將球體映射為外接四棱錐,展開成一個正方形和4個三角形的映射方式;
所述將形狀為非矩形的平面視圖形狀處理成矩形,具體包括:
將形狀為三角形的四個平面視圖拼接為兩個正方形平面視圖。
可選地,所述預(yù)設(shè)映射方式為四棱錐映射方式,所述四棱錐映射方式為將球體映射為外接四棱錐,展開成一個正方形和4個三角形的映射方式;
所述將形狀為非矩形的平面視圖形狀處理成矩形,具體包括:
將拼接后的正方形視圖分割為多個矩形視圖。
一種全景視頻關(guān)鍵幀編碼裝置,包括:
獲取單元,用于獲取球面全景視頻關(guān)鍵幀;
映射單元,用于按照預(yù)設(shè)映射方式將所述球面全景視頻關(guān)鍵幀映射為平面全景視頻圖像,并將所述平面全景視頻圖像分割為多個平面視圖;
排列單元,用于將所述多個平面視圖按掃描順序排列成一個新視頻序列;
編碼單元,用于將所述新視頻序列中的一個平面視圖按照I幀方式編碼,其余平面視圖按照P幀方式編碼;
整合單元,用于將解碼后的平面視圖按照各自在平面全景視頻圖像中的位置復(fù)原整合為平面全景視頻圖像;
逆映射單元,用于將所述平面全景視頻圖像逆映射為球面全景視頻關(guān)鍵幀。
可選地,所述裝置還包括:
判斷單元,用于在映射平面全景視頻圖像后,編碼之前,判斷平面視圖的形狀是否為矩形;
處理單元,用于當所述判斷單元的判斷結(jié)果為否時,將形狀為非矩形的平面視圖形狀處理為矩形。
可選地,所述預(yù)設(shè)映射方式包括立方體映射方式、經(jīng)緯圖映射方式、四棱錐映射方式;
所述四棱錐映射方式為將球體映射為外接四棱錐,展開成一個正方形和4個三角形的映射方式。
相較于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:
全景視頻的映射方式?jīng)Q定了映射成的多個平面視圖之間具有空間相關(guān)性。本發(fā)明提供的全景視頻關(guān)鍵幀的編碼方法中就是利用了這種空間相關(guān)性,在對全景視頻關(guān)鍵幀的編碼過程中,將球面全景視頻關(guān)鍵幀映射為平面全景視頻圖像,并將該平面全景視頻圖像分割為多個平面視圖,再將分割后的一個平面視圖按照I幀方式編碼,將其作為參考幀,其余的平面視圖按照P幀方式編碼。按照I幀方式編碼能夠保證幀畫面完整保留,而按照P幀方式編碼只保留與參考幀幀之間的差別。如此,按照P幀方式編碼的圖像的壓縮效率比按照I幀方式編碼的圖像壓縮效率大,因而,相較于現(xiàn)有技術(shù)中僅利用I幀方式對全景視頻關(guān)鍵幀編碼的方法,本發(fā)明提供的全景視頻關(guān)鍵幀編碼方法提高了全景視頻關(guān)鍵幀的壓縮效率,減小了全景視頻體積,節(jié)省了網(wǎng)絡(luò)帶寬,有利于全景視頻的推廣應(yīng)用。
附圖說明
為了清楚地理解本發(fā)明和現(xiàn)有技術(shù)的技術(shù)方案,下面將描述本發(fā)明具體實施方式時用到的附圖做一簡要說明。顯而易見地,這些附圖僅是本發(fā)明的部分實施例,本領(lǐng)域技術(shù)人員在未付出創(chuàng)造性勞動的前提下,獲得的其它附圖均在本發(fā)明的保護范圍之列。
圖1是本發(fā)明實施例一提供的全景視頻關(guān)鍵幀編碼方法流程示意圖;
圖2是相關(guān)技術(shù)中立方體映射方式示意圖;
圖3是相關(guān)技術(shù)中四棱錐映射方式示意圖;
圖4是相關(guān)技術(shù)中自適應(yīng)矩形分割方式示意圖;
圖5是相關(guān)技術(shù)中TB Cylinder映射方式示意圖;
圖6是相關(guān)技術(shù)中Circle-Tiles Segmentation映射方式示意圖;
圖7是本發(fā)明實施例二提供的全景視頻關(guān)鍵幀編碼方法流程示意圖;
圖8是本發(fā)明實施例三提供的全景視頻關(guān)鍵幀編碼方法流程示意圖;
圖9是本發(fā)明實施例四提供的全景視頻關(guān)鍵幀編碼方法流程示意圖;
圖10是本發(fā)明實施例五提供的全景視頻關(guān)鍵幀編碼裝置結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明解決的技術(shù)問題、技術(shù)方案和技術(shù)效果更加清楚、完整,下面結(jié)合附圖對本發(fā)明的具體實施方式進行詳細描述。
全景視頻的映射方式?jīng)Q定了映射成的多個平面視圖之間具有空間相關(guān)性,本發(fā)明提供的全景視頻關(guān)鍵幀的編碼方法中就是利用了這種空間相關(guān)性,在對全景視頻關(guān)鍵幀的編碼過程中,將映射生成的部分平面視圖按照I幀方式編碼,其余的平面視圖按照P幀方式編碼。如此,編碼后的全景視頻關(guān)鍵幀中既有I幀方式編碼塊(INTRA塊),又有P幀方式編碼塊(INTER塊),由于P幀方式編碼塊的壓縮率高于I幀方式編碼塊,所以,相較于現(xiàn)有技術(shù)中只按照I幀方式編碼的方法,本發(fā)明提供的方法提高了關(guān)鍵幀壓縮率。具體實現(xiàn)方式請參見以下實施例,首先參見實施例一。
實施例一
圖1是本發(fā)明實施例一提供的全景視頻關(guān)鍵幀編碼方法流程示意圖。如圖1所示,該方法包括以下步驟:
S101、獲取球面全景視頻關(guān)鍵幀。
S102、按照預(yù)設(shè)映射方式將所述球面全景視頻關(guān)鍵幀映射為平面全景視頻圖像,并將所述平面全景視頻圖像分割為多個平面視圖;
本步驟具體為:按照預(yù)設(shè)映射方式將全景視頻關(guān)鍵幀圖像直接映射為平面全景視頻圖像,再將平面全景視頻圖像分割為多個平面視圖。這些平面視圖相互之間存在一定的時空相關(guān)性。根據(jù)映射方式的不同,映射生成的多個平面視圖的分辨率可以相同,也可以不同。
需要說明的是,在本發(fā)明實施例中,預(yù)設(shè)映射方式包括但不限于以下幾種映射方式:立方體映射(Cubic Projection)方式、四棱錐映射方式、經(jīng)緯圖映射(Equirectangular Projection)。其中,經(jīng)緯圖映射是將球體映射為長方形視圖的映射方式。作為示例,預(yù)設(shè)映射方式還可以包括:自適應(yīng)矩形分割(Adaptive Tile Segmentation)方式、TB Cylinder的映射方式以及Circle-Tiles Segmentation映射方式。
如圖2所示,立方體映射方式是將球體映射為立方體展開成6個正方向的映射方法。
如圖3所示,四棱錐映射方式將球體映射為四棱準,展開成一個正方形和4個三角形,并最終整合成一個大正方形的映射方案。
如圖4所示,自適應(yīng)矩形分割方式將全景視頻先用equirectangular(經(jīng)緯圖映射)表示,再將其沿豎直方向分割成長方形,并根據(jù)緯度線長度來調(diào)整這些長方形的大小,使得在保證最低采樣率與投影前一致的情況下,這些長方形的總面積最小。
如圖5所示,TB cylinder映射方式將球面的南極北極投影成兩個圓形,其余部分按equirectangular(經(jīng)緯圖映射)展開。
如圖6所示,Circle-Tiles Segmentation映射方式為:將球面沿緯線分割為幾部分并分別投影的最佳分割方案。在將球面沿緯線分割為幾部分后,南北極區(qū)域的弧面被投影成圓形,其余部分的環(huán)形圖案按equirectangular(經(jīng)緯圖映射)的方式展開為長方形。
S103、將所述多個平面視圖按掃描順序排列成一個新視頻序列:
需要說明的是,映射生成的多個平面視圖可以組成一個新視頻序列,所謂視頻序列即為有時空聯(lián)系的多個視頻圖像按照一定順序的排列。
S104、將所述新視頻序列中的一個平面視圖按照I幀方式編碼,其余平面視圖按照P幀方式編碼:
需要說明的是,按照I幀方式編碼生成的模塊即為INTRA模塊,按照P幀方式編碼生成的模塊即為INTER模塊。由于映射生成的多個平面視圖中,既有按照I幀方式編碼的平面視圖,又有按照P幀方式編碼的平面視圖,所以后續(xù)步驟中整合的全景視頻關(guān)鍵幀圖像中既有INTRA模塊,又有INTER模塊。
S105、將解碼后的平面視圖按照各自在平面全景視頻圖像中的位置復(fù)原整合為平面全景視頻圖像。
S106、將所述平面全景視頻圖像逆映射為球面全景視頻關(guān)鍵幀。
以上為本發(fā)明實施例一提供的全景視頻關(guān)鍵幀的編碼方法的具體實施方式。在該具體實施方式中,按照I幀方式編碼能夠保證幀畫面完整保留,而按照P幀方式編碼只保留與前幀之間的差別。如此,按照P幀方式編碼的圖像的壓縮效率比按照I幀方式編碼的圖像壓縮效率大,因而,相較于現(xiàn)有技術(shù)中僅利用I幀方式對球面全景視頻關(guān)鍵幀編碼的方法,本發(fā)明提供的編碼方法提高了全景視頻關(guān)鍵幀的壓縮效率,減小了全景視頻體積,節(jié)省了網(wǎng)絡(luò)帶寬,有利于全景視頻的推廣應(yīng)用。
另外,本領(lǐng)域相關(guān)的編碼技術(shù)一般只能對形狀為矩形的圖像進行編碼,所以,為了能夠?qū)τ成渖傻拿總€平面視圖均能夠進行編碼,本發(fā)明實施例還提供了實施例二。
實施例二
圖7是本發(fā)明實施例二提供的全景視頻關(guān)鍵幀編碼方法流程示意圖。如圖7所示,該方法包括以下步驟:
S701、獲取球面全景視頻關(guān)鍵幀。
S702、按照預(yù)設(shè)映射方式將所述球面全景視頻關(guān)鍵幀映射為平面全景視頻圖像,并將所述平面全景視頻圖像分割為多個平面視圖:
步驟S701至步驟S702與實施例一中的步驟S101至S102相同,為了簡要起見,在此不再詳細描述,詳細信息具體參見實施例一的相關(guān)描述。
S703、判斷平面視圖的形狀是否均為矩形,如果否,執(zhí)行步驟S704,如果是,執(zhí)行步驟S705:
S704、將形狀為非矩形的平面視圖形狀處理成矩形。
作為示例,將形狀為非矩形的平面視圖形狀處理成矩形,可以采用以下方式:作非矩形平面視圖的外接矩形。將內(nèi)嵌有形狀為非矩形平面視圖的外接矩形作為處理后的平面視圖。
S705、將所述多個平面視圖按掃描順序排列成一個新視頻序列:
S706、將所述新視頻序列中的一個平面視圖按照I幀方式編碼,其余平面視圖按照P幀方式編碼。
S707、將解碼后的平面視圖按照各自在平面全景視頻圖像中的位置復(fù)原整合為平面全景視頻圖像。
S708、將所述平面全景視頻圖像逆映射為球面全景視頻關(guān)鍵幀。
以上為本發(fā)明實施例二提供的全景視頻并行編碼方法的具體實施方式。在該具體實施方式中,在對平面視圖進行編碼之前,將形狀為非矩形的平面視圖預(yù)先處理成矩形。如此,采用本領(lǐng)域相關(guān)的編碼技術(shù)能夠?qū)τ成渖傻乃衅矫嬉晥D均能夠進行編碼。
為了更加清楚地理解本發(fā)明的具體實施方式,下面以映射方式為四棱錐映射方式為例更加具體地描述本發(fā)明的具體實施方式。具體參見實施例三。
實施例三
圖8是本發(fā)明實施例三提供的全景視頻關(guān)鍵幀編碼方法流程示意圖。如圖8所示,該方法包括以下步驟:
S801、獲取球面全景視頻關(guān)鍵幀。
S802、按照四棱錐映射方式將球面全景視頻關(guān)鍵幀映射為平面全景視頻圖像,并將該平面全景視頻圖像分割為一個正方形視圖和4個三角形視圖。
S803、判斷平面視圖的形狀是否均為矩形,如果否,執(zhí)行步驟S804。
S804、將形狀為三角形的四個平面視圖拼接為兩個正方形平面視圖。
S805、將映射成的正方形視圖以及拼接形成的兩個正方形平面視圖按掃描順序排列成一個新視頻序列。
S806、將視頻序列中的一個平面視圖按照I幀方式編碼,其余兩個平面視圖按照P幀方式編碼。
S807、將解碼后的平面視圖按照各自在平面全景視頻圖像中的位置復(fù)原整合為平面全景視頻圖像。
S808、將所述平面全景視頻圖像逆映射為球面全景視頻關(guān)鍵幀。
此外,作為本發(fā)明實施例的變型,還可以采用分割的方式將非矩形平面視圖處理成矩形平面視圖,具體參見實施例四。
實施例四
圖9是本發(fā)明實施例四提供的全景視頻關(guān)鍵幀的編碼方法流程示意圖。如圖9所示,該方法包括以下步驟:
S901、獲取球面全景視頻關(guān)鍵幀。
S902、按照四棱錐映射方式將所述球面全景視頻關(guān)鍵幀映射為平面全景視頻圖像,并將所述平面全景視頻圖像分割為一個正方形視圖和4個三角形視圖:
S903、判斷平面視圖的形狀是否均為矩形,如果否,執(zhí)行步驟S904。
S904、將拼接后的正方形視圖均分為4個正方形視圖ss1至ss4:
S905、將4個正方形視圖ss1至ss4按掃描順序排列成一個新視頻序列。
S906、將視頻序列中的一個平面視圖按照I幀方式編碼,其余三個平面視圖按照P幀方式編碼。
S907、將解碼后的平面視圖按照各自在平面全景視頻圖像中的位置復(fù)原整合為平面全景視頻圖像。
S908、將所述平面全景視頻圖像逆映射為球面全景視頻關(guān)鍵幀。
以上為本發(fā)明實施例四提供的全景視頻并行編碼方法的具體實施方式。
基于上述實施例提供的全景視頻關(guān)鍵幀編碼方法的具體實施方式,本發(fā)明還提供了全景視頻關(guān)鍵幀編碼裝置的具體實施例。具體參見實施例五。
實施例五
圖10是本發(fā)明實施例五提供的全景視頻關(guān)鍵幀編碼裝置結(jié)構(gòu)示意圖。如圖10所示,該裝置包括以下單元:
獲取單元101,用于獲取球面全景視頻關(guān)鍵幀;
映射單元102,用于按照預(yù)設(shè)映射方式將所述球面全景視頻關(guān)鍵幀映射為平面全景視頻圖像,并將所述平面全景視頻圖像分割為多個平面視圖;
排列單元103,用于將所述多個平面視圖按掃描順序排列成一個新視頻序列;
編碼單元104,用于將所述新視頻序列中的一個平面視圖按照I幀方式編碼,其余平面視圖按照P幀方式編碼;
整合單元105,用于將解碼后的平面視圖按照各自在平面全景視頻圖像中的位置復(fù)原整合為平面全景視頻圖像;
逆映射單元106,用于將所述平面全景視頻圖像逆映射為球面全景視頻關(guān)鍵幀。
此外,作為本發(fā)明的另一具體實施例,上述所述的裝置還可以包括:
判斷單元107,用于在映射平面全景視頻圖像后,編碼之前,判斷平面視圖的形狀是否為矩形;
處理單元108,用于當所述判斷單元的判斷結(jié)果為否時,將形狀為非矩形的平面視圖形狀處理為矩形。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。