亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種全景視頻并行編碼方法和裝置與流程

文檔序號:11844858閱讀:301來源:國知局
一種全景視頻并行編碼方法和裝置與流程

本發(fā)明涉及虛擬現(xiàn)實(Virtual Reality,VR)視頻技術領域,尤其涉及一種全景視頻并行編碼方法和裝置。



背景技術:

目前市場上的VR(虛擬現(xiàn)實)視頻,以球形全景視頻為主,視頻覆蓋角度為水平360度,豎直180度,相較于正常視頻,全景視頻的文件數(shù)據(jù)量增加很大,網(wǎng)絡傳輸?shù)呢摀泊蟠笤黾印?/p>

另外,為了獲得沉浸感較好的VR體驗,要求全景視頻需具有高幀率(90~120fps),高分辨率比如4k,8k甚至更高。這都遠遠超出了現(xiàn)有硬件的實時處理能力。因此,全景視頻的編碼效率成為決定VR視頻能否快速應用的重要因素。

為了加快編碼速度,現(xiàn)有編碼技術H.265/HEVC標準中采用波浪形并行處理(Wavefront Parallel Processing,WPP)方法對全景視頻進行編碼。該WPP通過先后啟動不同的線程實現(xiàn)了并行編碼,提高了編碼效率。

另外,由于相鄰塊間的相關性,即在編碼過程中,WPP編碼方法當前塊的編碼依賴其相鄰塊的編碼結果。如圖1所示,線程2中對視頻塊X2的編碼依賴線程1中視頻塊X1的編碼結果,線程3中對視頻塊X3的編碼依賴線程2中視頻塊X2的編碼結果,等等,如此,線程2中對視頻塊X2的編碼必須待視頻塊X1編碼結束后才能啟動,線程3中對視頻塊X3的編碼必須待視頻塊X2編碼結束后才能啟動。如此,多核處理器的多線程不能同時啟動對VR視頻的編碼,導致多核處理器無法全部達到其設計性能,而且并行加速效果隨著CPU(中央處理器)核數(shù)的增加而大打折扣,比如,對于一個4核CPU,加速倍數(shù)通常為單核CPU的2.5倍,達到3倍非常困難,而對一個8核CPU而言,加速倍數(shù)很難達到單核CPU的4倍,而且隨著CPU核數(shù)的增加,CPU的利用率會越來越低,如此,現(xiàn)有的WPP編碼方法不利于充分利用CPU的多核處理能力,無法做到全景視頻的實時編碼,限制了全景視頻的大規(guī)模產(chǎn)業(yè)化應用和普及。



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

有鑒于此,本發(fā)明提供了一種全景視頻并行編碼方法和裝置,以充分利用CPU的多核處理能力,促進全景視頻的大規(guī)模產(chǎn)業(yè)化應用和普及。

為了解決上述技術問題,本發(fā)明采用了如下技術方案:

一種全景視頻并行編碼方法,包括:

獲取球面全景視頻;

按照預設映射方式將所述球面全景視頻映射為平面全景視頻,并將所述平面全景視頻分割為多個平面視圖;

將所述平面全景視頻重組為多個視頻序列;其中,每一個視頻序列中的平面視圖為映射到同一位置、并按照時間順序組成的平面視圖;

對各個所述視頻序列進行并行編碼;

將解碼后的視頻按照各自在平面全景視頻中的位置復原拼接為完整的平面全景視頻;

將所述完整的平面全景視頻逆映射為球面全景視頻。

可選地,所述將所述球面全景視頻映射為平面全景視頻之前,還包括:

確定預設映射方式的類型。

可選地,映射為平面全景視頻后,重組為多個視頻序列前,還包括:

判斷平面視圖的形狀是否均為矩形,如果否,將形狀為非矩形的平面視圖形狀處理為矩形。

可選地,所述預設映射方式包括立方體映射方式、經(jīng)緯圖映射方式、四棱錐映射方式;

所述四棱錐映射方式為將球體映射為外接四棱錐,展開成一個正方形和4個三角形的映射方式。

可選地,所述預設映射方式為四棱錐映射方式,所述四棱錐映射方式為將球體映射為外接四棱錐,展開成一個正方形和4個三角形的映射方式;

所述將形狀為非矩形的平面視圖形狀處理成矩形,具體包括:

將形狀為三角形的四個平面視圖拼接為兩個正方形平面視圖;

所述將所述平面全景視頻重組為多個視頻序列,具體包括:

將各個拼接后的正方形平面視圖分別按照時間順序組成新視頻序列。

可選地,所述預設映射方式為四棱錐映射方式,所述四棱錐映射方式為將球體映射為外接四棱錐,展開成一個正方形和4個三角形的映射方式;其中,映射生成的一個正方形視圖和4個三角形視圖拼接為一個正方形視圖;

所述將形狀為非矩形的平面視圖形狀處理成矩形,具體包括:

將拼接后的正方形視圖分割為多個矩形視圖;

所述將所述平面全景視頻重組為多個視頻序列,具體包括:

將各個矩形視圖按照時間順序分別組成新視頻序列。

一種全景視頻并行編碼裝置,包括:

獲取單元,用于獲取球面全景視頻;

映射單元,用于按照預設映射方式將所述球面全景視頻映射為平面全景視頻,并將所述平面全景視頻分割為多個平面視圖;

重組單元,用于將所述平面全景視頻重組為多個視頻序列;其中,每一個視頻序列中的平面視圖為映射到同一位置、并按照時間順序組成的平面視圖;

編碼單元,用于對各個所述視頻序列進行并行編碼;

復原拼接單元,用于將解碼后的視頻按照各自在平面全景視頻中的位置復原拼接為完整的平面全景視頻;

逆映射單元,用于將所述完整的平面全景視頻逆映射為球面全景視頻。

可選地,所述裝置還包括:

確定單元,用于在映射為平面全景視頻之前,確定預設映射方式的類型。

可選地,所述裝置還包括:

判斷單元,用于在映射為平面全景視頻后,重組為多個視頻序列前,判斷平面視圖的形狀是否均為矩形;

處理單元,用于當所述判斷單元的判斷結果為否時,將形狀為非矩形的平面視圖形狀處理為矩形。

可選地,所述預設映射方式包括立方體映射方式、經(jīng)緯圖映射方式、四棱錐映射方式;

所述四棱錐映射方式為將球體映射為外接四棱錐,展開成一個正方形和4個三角形的映射方式。

相較于現(xiàn)有技術,本發(fā)明具有以下有益效果:

通過以上技術方案可知,本發(fā)明提供的全景視頻并行編碼方法將球面全景視頻映射為平面全景視頻,再將平面全景視頻重組為多個視頻序列,其中,每一個視頻序列中的平面視圖為映射到同一位置、并按照時間順序組成的平面視圖。如此,本發(fā)明將映射到同一位置的平面視圖按照時間順序組成一個新視頻序列,如此就將球面全景視頻重組為多個相互獨立的新視頻序列,本發(fā)明提供的方法能夠?qū)υ摱鄠€相互獨立的新視頻序列并行編碼,如此,多核CPU/GPU能夠?qū)χ亟M的多個新視頻序列進行并行編碼。因此,該方法能夠充分利用CPU/GPU的多核處理能力對全景視頻進行編碼,提升了全景視頻的編碼速度,實現(xiàn)全景視頻的實時編碼,有利于促進全景視頻的大規(guī)模產(chǎn)業(yè)化應用和普及。

附圖說明

為了清楚地理解本發(fā)明和現(xiàn)有技術的技術方案,下面將描述本發(fā)明具體實施方式時用到的附圖做一簡要說明。顯而易見地,這些附圖僅是本發(fā)明的部分實施例,本領域技術人員在未付出創(chuàng)造性勞動的前提下,獲得的其它附圖均在本發(fā)明的保護范圍之列。

圖1是現(xiàn)有技術中采用WPP方法對全景視頻進行編碼的示意圖

圖2是本發(fā)明實施例一提供的全景視頻并行編碼方法流程示意圖;

圖3是相關技術中立方體映射方式示意圖;

圖4是相關技術中四棱錐映射方式示意圖;

圖5是相關技術中自適應矩形分割方式示意圖;

圖6是相關技術中TB Cylinder映射方式示意圖;

圖7是相關技術中Circle-Tiles Segmentation映射方式示意圖;

圖8是本發(fā)明實施例二提供的全景視頻并行編碼方法流程示意圖;

圖9是本發(fā)明實施例三提供的全景視頻并行編碼方法流程示意圖;

圖10是本發(fā)明實施例四提供的全景視頻并行編碼方法流程示意圖;

圖11是本發(fā)明實施例五提供的全景視頻并行編碼裝置結構示意圖。

具體實施方式

為使本發(fā)明解決的技術問題、技術方案和技術效果更加清楚、完整,下面結合附圖對本發(fā)明的具體實施方式進行詳細描述。

首先參見實施例一。

實施例一

圖2是本發(fā)明實施例一提供的全景視頻并行編碼方法流程示意圖。如圖2所示,該方法包括以下步驟:

S201、獲取球面全景視頻。

S202、判斷映射方式是否為預設映射方式,如果是,執(zhí)行步驟S203:

需要說明的是,在本發(fā)明實施例中,預設映射方式包括但不限于以下幾種映射方式:立方體映射(Cubic Projection)方式、四棱錐映射方式、經(jīng)緯圖映射方式。作為示例,預設映射方式還可以包括:自適應矩形分割(Adaptive Tile Segmentation)方式、TB Cylinder的映射方式以及Circle-Tiles Segmentation映射方式。

如圖3所示,立方體映射方式是將球體映射為立方體展開成6個正方向的映射方法。

如圖4所示,四棱錐映射方式將球體映射為外接四棱準,展開成一個正方形和4個三角形,并最終整合成一個大正方形的映射方案。

經(jīng)緯圖映射方式為將球體映射為長方形視圖的映射方法。

如圖5所示,自適應矩形分割方式將全景視頻先用equirectangular(經(jīng)緯圖映射)表示,再將其沿豎直方向分割成長方形,并根據(jù)緯度線長度來調(diào)整這些長方形的大小,使得在保證最低采樣率與投影前一致的情況下,這些長方形的總面積最小。

如圖6所示,TB cylinder映射方式將球面的南極北極投影成兩個圓形,其余部分按equirectangular(經(jīng)緯圖映射)展開。

如圖7所示,Circle-Tiles Segmentation映射方式為:將球面沿緯線分割為幾部分并分別投影的最佳分割方案。在將球面沿緯線分割為幾部分后,南北極區(qū)域的弧面被投影成圓形,其余部分的環(huán)形圖案按equirectangular(經(jīng)緯圖映射)的方式展開為長方形。

S203、按照預設映射方式將球面全景視頻映射為平面全景視頻,并將所述平面全景視頻分割為多個平面視圖:

在本發(fā)明實施例中,分割后的每個平面視圖的形狀為矩形。

需要說明的是,球面全景視頻中的圖像映射成的平面全景視頻中包括多少個平面視圖取決于映射方式。本步驟以映射方式為立方體映射方式為例說明。本步驟具體為:按照立方體映射方式將球面全景視頻中的每一圖像分別映射為由前、后、左、右、上、下6個位置的正方形平面視圖組成的平面全景視頻。

S204、將所述平面全景視頻重組為多個視頻序列:

本步驟具體為:將映射到同一位置的平面視圖按照時間順序排列組成一個視頻序列,如此,每一個視頻序列中的平面視圖為映射到同一位置、并按照時間順序組成的平面視圖。

本步驟以預設映射方式為立方體映射方式為例說明。屬于一個視頻序列中的平面視圖可以為映射到前位置的正方形平面視圖。

需要說明的是,相較于球面全景視頻,重組后的新視頻序列的分辨率較低。

本步驟仍以立方體映射方式為例說明。將映射到前、后、左、右、上、下6個位置的平面視圖分別按照時間順序組成6個新視頻序列。這6個新視頻序列的分辨率較球面全景視頻的分辨率較低。按照如此新視頻序列組成方式,能夠?qū)⑶蛎嫒耙曨l重組為6個相互獨立的新視頻序列。

S205、對各個所述視頻序列進行并行編碼。

S206、將解碼后的視頻按照各自在平面全景視頻中的位置復原拼接為完整的平面全景視頻。

S207、將所述完整的平面全景視頻逆映射為球面全景視頻。

此外,為了顯示球面全景視頻,步驟S207之后,還可以包括步驟S208:

S208、將球面全景視圖輸出到全景視頻顯示設備。

以上為本發(fā)明實施例提供的全景視頻并行編碼方法的具體實施方式。本發(fā)明提供的全景視頻并行編碼方法按照預設映射方式將平面全景視圖重組為多個視頻序列,其中,每一個視頻序列中的平面視圖為映射到同一位置、并按照時間順序組成的平面視圖。如此,本發(fā)明將映射到同一位置的平面視圖按照時間順序組成一個新視頻序列,如此就將球面全景視頻重組為多個相互獨立的新視頻序列,本發(fā)明提供的方法能夠?qū)υ摱鄠€相互獨立的新視頻序列并行編碼和解碼,如此,多核CPU/GPU能夠?qū)χ亟M的多個新視頻序列進行并行編碼。因此,該方法能夠充分利用CPU/GPU的多核處理能力對全景視頻進行編碼,提升了全景視頻的編碼速度,實現(xiàn)全景視頻的實時編碼,有利于促進全景視頻的大規(guī)模產(chǎn)業(yè)化應用和普及。

需要說明的是,本領域相關的編碼技術一般只能對形狀為矩形的圖像進行編碼,所以,為了能夠?qū)τ成渖傻拿總€平面視圖均能夠進行編碼,本發(fā)明實施例還提供了實施例二。

實施例二

圖8是本發(fā)明實施例二提供的全景視頻并行編碼方法流程示意圖。如圖8所示,該方法包括以下步驟:

S801、獲取球面全景視頻。

S802、判斷映射方式是否為預設映射方式,如果是,執(zhí)行步驟S803:

S803、按照預設映射方式將球面全景視頻映射為平面全景視頻,并將所述平面全景視頻分割為多個平面視圖:

S804、判斷平面視圖的形狀是否均為矩形,如果否,執(zhí)行步驟S805,如果是,執(zhí)行步驟S806,如果是,執(zhí)行步驟S806:

S805、將形狀為非矩形的平面視圖形狀處理為矩形:

作為示例,將形狀為非矩形的平面視圖形狀處理成矩形,可以采用以下方式:作非矩形平面視圖的外接矩形。將內(nèi)嵌有形狀為非矩形平面視圖的外接矩形作為處理后的平面視圖。

S806、將所述平面全景視頻重組為多個視頻序列:

本步驟所述的平面視圖包括映射生成的形狀為矩形的平面視圖以及經(jīng)過步驟S805處理生成的形狀為矩形的平面視圖。

S807、對各個所述視頻序列進行并行編碼。

S808、將解碼后的視頻按照各自在平面全景視頻中的位置復原拼接為完整的平面全景視頻。

S809、將所述完整的平面全景視頻逆映射為球面全景視頻。

此外,為了顯示球面全景視頻,步驟S809之后,還可以包括步驟S810:

S810、將球面全景視圖輸出到全景視頻顯示設備。

以上為本發(fā)明實施例二提供的全景視頻并行編碼方法的具體實施方式。在該具體實施方式中,在對新視頻序列進行編碼之前,將形狀為非矩形的平面視圖預先處理成矩形。如此,采用本領域相關的編碼技術能夠?qū)τ成渖傻乃衅矫嬉晥D均能夠進行編碼。

為了更加清楚地理解本發(fā)明的具體實施方式,下面以映射方式為四棱錐映射方式為例更加具體地描述本發(fā)明的具體實施方式。具體參見實施例三。

實施例三

圖9是本發(fā)明實施例三提供的全景視頻并行編碼方法的流程示意圖。如圖9所示,該方法包括以下步驟:

S901、獲取球面全景視頻:

S902、判斷映射方式是否為四棱準映射方式,如果是,執(zhí)行步驟S903:

S903、按照四棱錐映射方式將球面全景視頻映射為平面全景視圖,并將平面全景視頻分割為一個正方形視圖和4個三角形視圖:

需要說明的是,如圖4所示,映射成的一個正方形視圖S和4個三角形視圖T1至T4整合成一個大正方形。

S904、將形狀為三角形的四個平面視圖拼接為兩個正方形平面視圖:

在本發(fā)明實施例中,4個三角形視圖T1至T4中,任意兩個三角形視圖均可拼接為一個正方形平面視圖,如此,4個三角形平面視圖拼接為兩個正方形平面視圖。作為示例,T1和T2拼接為一個正方形平面視圖,T3和T4拼接為一個正方形視圖。

S905、將映射生成的所有正方形視圖S按照時間順序組成一新視頻序列s1,將由所有三角形視圖T1和T2處理成的一正方形視圖按照時間順序組成另一新視頻序列s2,將由所有三角形視圖T3和T4處理成的另一正方形視圖按照時間順序組成又一新視頻序列s3。

S906、對新視頻序列s1、s2和s3并行編碼。

S907、將解碼后的新視頻序列s1、s2和s3按照各自在平面全景視頻中的位置復原拼接為完整的平面全景視頻。

S908、將所述完整的平面全景視頻逆映射為球面全景視頻。

以上為本發(fā)明實施例三提供的全景視頻并行編碼方法的具體實施方式,在該具體實施方式中,通過將形狀為三角形的四個平面視圖拼接為兩個正方形平面視圖的方式將非矩形平面視圖處理成矩形平面視圖。此外,作為本發(fā)明實施例的變型,還可以采用分割的方式將非矩形平面視圖處理成矩形平面視圖,具體參見實施例四。

實施例四

圖10是本發(fā)明實施例四提供的全景視頻編碼方法流程示意圖。如圖10所示,該方法包括以下步驟:

S1001、獲取球面全景視頻:

S1002、判斷映射方式是否為四棱準映射方式,如果是,執(zhí)行步驟S1003:

S1003、按照四棱錐映射方式將球面全景視頻映射為平面全景視圖,并將平面全景視頻分割為一個正方形視圖和4個三角形視圖:

需要說明的是,如圖4所示,映射成的一個正方形視圖S和4個三角形視圖T1至T4整合成一個大正方形。

S1004、將拼接后的正方形視圖均分為4個正方形視圖ss1至ss4:

需要說明的是,實際上,作為本發(fā)明實施例的擴展,將拼接后的正方形視圖分割為多個矩形視圖,就能采用本領域相關的編碼技術能夠?qū)τ成渖傻乃衅矫嬉晥D均能夠進行編碼。

S1005、將映射生成的所有正方形視圖ss1按照時間順序組成一新視頻序列VS1,將映射生成的所有正方形視圖ss2按照時間順序組成一新視頻序列VS2、將映射生成的所有正方形視圖ss3按照時間順序組成一新視頻序列VS3、將映射生成的所有正方形視圖ss4按照時間順序組成一新視頻序列VS4。

S1006、對新視頻序列VS1、VS2、VS3和VS4并行編碼。

S1007、將解碼后的新視頻序列VS1、VS2、VS3和VS4按照各自在平面全景視頻中的位置復原拼接為完整的平面全景視頻。

S1008、將所述完整的平面全景視頻逆映射為球面全景視頻。

以上為本發(fā)明實施例四提供的全景視頻并行編碼方法的具體實施方式。

基于上述實施例提供的全景視頻并行編碼方法,本發(fā)明還提供了全景視頻并行編碼裝置,具體參見實施例五。

實施例五

圖11是本發(fā)明實施例五提供的全景視頻并行編碼裝置結構示意圖。如圖11所示,該裝置包括以下單元:

獲取單元111,用于獲取球面全景視頻;

映射單元112,用于按照預設映射方式將所述球面全景視頻映射為平面全景視頻,并將所述平面全景視頻分割為多個平面視圖;

重組單元113,用于將所述平面全景視頻重組為多個視頻序列;其中,每一個視頻序列中的平面視圖為映射到同一位置、并按照時間順序組成的平面視圖;

編碼單元114,用于對各個所述視頻序列進行并行編碼;

復原拼接單元115,用于將解碼后的視頻按照各自在平面全景視頻中的位置復原拼接為完整的平面全景視頻;

逆映射單元116,用于將所述完整的平面全景視頻逆映射為球面全景視頻。

以上為本發(fā)明實施例五提供的全景視頻并行編碼裝置的基本結構。該編碼裝置將映射到同一位置的平面視圖按照時間順序組成一個新視頻序列,如此就將球面全景視頻重組為多個相互獨立的新視頻序列,因此該裝置能夠?qū)υ摱鄠€相互獨立的新視頻序列并行編碼和解碼,如此,多核CPU/GPU能夠?qū)χ亟M的多個新視頻序列進行并行編碼。因此,該裝置能夠充分利用CPU/GPU的多核處理能力對全景視頻進行編碼,提升了全景視頻的編碼速度,實現(xiàn)全景視頻的實時編碼,有利于促進全景視頻的大規(guī)模產(chǎn)業(yè)化應用和普及。

作為本發(fā)明的一具體實施例,所述裝置還可以包括:

確定單元117,用于在將球面全景視頻映射為平面全景視頻之前,確定映射方式為預設映射方式。

作為本發(fā)明的另一具體實施例,所述裝置還可以包括:

判斷單元118,用于在映射為平面全景視頻后,重組為多個視頻序列前,判斷平面視圖的形狀是否均為矩形;

處理單元119,用于當所述判斷單元的判斷結果為否時,將形狀為非矩形的平面視圖形狀處理為矩形。

以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1