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