□ 涂麗萍
為了達到最佳3D立體視頻觀看效果,會產(chǎn)生巨量的視音頻數(shù)據(jù),這使得3D立體視頻的制作、存儲、傳輸和播出等各類硬件系統(tǒng)都必須提高硬件配置來應(yīng)對海量的數(shù)據(jù)處理,同時對傳輸網(wǎng)絡(luò)的帶寬也有極高的要求。因此,高效率、高質(zhì)量、低成本的視音頻壓縮策略將是3D立體視頻在未來被廣泛應(yīng)用的關(guān)鍵環(huán)節(jié)。
MPEG-2分級編碼是目前圖像壓縮編碼的一種主流方式。分級編碼的主要原理是先提取一個分辨率較低的基礎(chǔ)圖層,傳輸時采用低碼率。在此基礎(chǔ)上每增加一層圖像細節(jié)信息,就能提高一級圖像的分辨率。在提高分辨率的同時提高傳輸碼率,進而實現(xiàn)視頻圖像的分級傳輸。借助這種分級傳輸技術(shù),我們可對3D立體視頻進行有效地壓縮處理,從而減少數(shù)據(jù)量。利用MPEG-2編碼的分級特性,還可以有效去除3D立體視頻中左右眼對應(yīng)視頻通道之間的相關(guān)性,進一步提高壓縮效率。本文提出的基于MPEG-2時域分級的3D立體視頻壓縮編碼方法,主要原理是首先對左眼序列進行獨立編碼,右眼序列利用自身冗余進行壓縮編碼,同時利用左右序列的相關(guān)性,進一步去除通道冗余提高壓縮比。
現(xiàn)實中的場景都是三維立體的,人類可以通過兩只眼睛觀看事物的細微差別來分辨出物體的空間位置,感知周圍的三維世界。3D立體視頻就是利用人眼睛的雙目視差原理,雙目各自獨立地接收來自同一場景的特定攝像點的左右圖像,左眼看偏左的圖像,右眼看偏右的圖像,形成雙目視差,大腦能得到圖像的深度信息,使人們能欣賞到有強烈深度感、逼真感的圖像。在3D立體視頻的顯示過程中,將一幅圖像的左右兩個視域同時顯示出來,使景象的左眼視域僅為左眼可見,右眼視域僅為右眼可見,使觀察者在觀看一幅圖像時左右眼接收到不同的圖像信息,從而產(chǎn)生三維視覺。
在MPEG-2壓縮編碼中,主要通過離散余弦變換和運動預(yù)測技術(shù)來對圖像的空間冗余和時間冗余進行壓縮。先通過運動估計和運動補償去除圖像序列間的時間冗余,然后通過離散余弦變換將差值信號的空間冗余去除,使系數(shù)能量集中于低頻部分,再通過量化和變長編碼最終達到壓縮編碼的目的。分級(Scalability)編碼的碼流采用分級結(jié)構(gòu),不同部分不同層級的碼流可通過調(diào)節(jié)解碼器單獨解碼,從而獲得所需的不同分辨率和碼率的視音頻流。
可分級的碼流結(jié)構(gòu)如圖1所示。其中基本層碼流可單獨解碼獲得到一個低分辨率的解碼圖像0。若增加增強層1和基本層一起解碼,即可獲得一個較高分辨率的解碼圖像1;若增加增強層2、增強層1和基本層一起解碼,便可獲得一個更高分辨率的解碼圖像2。依此類推,即每疊加一個增強層,解碼后所得到圖像的分辨率會顯著提高,但所需的碼率也會相應(yīng)增加。
圖1 可分級碼流結(jié)構(gòu)示意圖
可分級編解碼的意義在于使碼流可獨立分層傳輸并可分層疊加解碼,大大提升了碼流的靈活性和適應(yīng)性。
3D立體視頻拍攝常用的方法是采用兩個攝像頭模擬人類的左右眼從兩個不同視角對同一景物進行拍攝,拍攝得到的視頻包括左右兩個通道圖像序列,并且兩個通道的圖像序列之間存在很強的關(guān)聯(lián)性。對于3D立體視頻編碼來說,左右通道分別進行視頻編碼,并不能達到很好的壓縮效果。于是我們可以利用MPEG-2的時域分級特性對3D立體視頻圖像進行壓縮編碼,設(shè)定左通道的視頻信號對應(yīng)MPEG-2的基本層,右通道的視頻信號對應(yīng)為增強層,同時利用空間冗余信息(視差矢量)及時間冗余信息(運動矢量)進行壓縮編碼,大大提高壓縮效率。
一、獨立運動補償預(yù)測(MCP)編碼。獨立運動補償預(yù)測編碼是把3D立體視頻圖像當作兩組不相關(guān)的運動序列,分別進行獨立編碼。此方案系統(tǒng)實施最為簡單經(jīng)濟,但由于沒有利用兩個通道間的相關(guān)性,導(dǎo)致編碼效率低、壓縮比低。
圖2 獨立運動補償預(yù)測編碼
圖3 層間視差補償預(yù)測編碼
圖4 層內(nèi)MCP和層間DCP相結(jié)合的編碼
二、層間視差補償預(yù)測(DCP)編碼。在層間視差補償預(yù)測編碼方案中,左通道采用MPEG-2進行獨立編碼,右通道采用基于左通道的視差補償預(yù)測進行編碼。此方案充分利用了兩通道圖像間的空間相關(guān)性,但右通道圖序列之間的時域相關(guān)性并沒有得到充分利用,導(dǎo)致編碼效率依然不高。
三、層內(nèi)運動補償預(yù)測和層間視差補償預(yù)測相結(jié)合的編碼。該方案中左通道圖像采用MPEG-2編碼,右通道圖像將通過來自左通道(基本層)的層內(nèi)運動補償預(yù)測和來自右通道(增強層)的層間視差補償預(yù)測相結(jié)合的預(yù)測方式,盡量減小預(yù)測誤差,有效地去除左右通道內(nèi)部前后幀圖像之間的時域信息冗余以及通道間圖像的空域相關(guān)性。
通過對三種方案的比較,層內(nèi)運動補償預(yù)測和層間視差補償預(yù)測相結(jié)合的編碼方案是最優(yōu)選擇,既可以處理左右序列間視差補償預(yù)測關(guān)系,又可以處理獨立通道中的前后幀間運動補償預(yù)測關(guān)系。
3D立體視頻編碼流程圖如圖5所示。在本文中,由于B幀具有高壓縮率并且可以分別對基本層和增強層做預(yù)測,因此在增強層中所有幀均被設(shè)為B幀。編碼序列結(jié)構(gòu)如圖6所示,左序列按照MPEG-2標準進行編碼,而對于右序列第一幀,分別以左序列第一幀、第二幀作為前向預(yù)測幀和后向預(yù)測幀。其他幀則加載基本層的同步幀作為后向預(yù)測幀,使用先前已編碼的幀作為前向預(yù)測幀進行預(yù)測。
圖5 3D立體視頻編碼器
圖6 序列結(jié)構(gòu)示意圖
本文提出的基于MPEG-2時域分級采用層內(nèi)MCP和層間DCP結(jié)合的編碼方式,能高效地去除3D立體視頻中左右通道的相關(guān)性及每個獨立通道中連續(xù)幀之間的相關(guān)性,大大提升了壓縮編碼的效率,為3D立體視頻的廣泛應(yīng)用奠定了良好基礎(chǔ)。