鄭學(xué)偉
遼寧廣播電視大學(xué) (沈陽(yáng) 110034)
在不可靠低速無(wú)線網(wǎng)絡(luò)傳輸過(guò)程中,視頻碼流易發(fā)生信息包丟失,從而導(dǎo)致接收端無(wú)法正確解碼。本文旨在設(shè)計(jì)一種快速簡(jiǎn)單且碼率可連續(xù)分級(jí)的視頻多描述編碼解碼方法,以實(shí)現(xiàn)嵌入式設(shè)備在低速不可靠網(wǎng)絡(luò)傳輸視頻編碼碼流,主要方法為:對(duì)原始經(jīng)過(guò)3級(jí)三維小波分解的圖像序列產(chǎn)生的小波變換系數(shù)進(jìn)行基于方向性的奇偶拆分用于創(chuàng)建多描述,并用快速3D-SPIHT對(duì)各描述獨(dú)立編碼,然后通過(guò)網(wǎng)絡(luò)的不同信道傳輸編碼信息,當(dāng)其中一部分信息丟失時(shí),在解碼端依據(jù)其接收到的編碼信息對(duì)丟失信息采用一定程度的恢復(fù)以實(shí)現(xiàn)視頻解碼。
三維小波變換將圖像序列首先對(duì)原始CIF格式Y(jié)UV視頻(分辨率為352×288)以16幀為GOP按照時(shí)空交替方式采用9/7小波進(jìn)行3級(jí)三維變換,然后對(duì)GOP的每一幀圖像的小波系數(shù)采用基于方向性的奇偶拆分。所謂基于方向性的奇偶拆分是指根據(jù)小波變換后水平、垂直和對(duì)角方向上信息表現(xiàn)出來(lái)的不同相關(guān)性而進(jìn)行的分裂。最低頻的重要信息LL為共用部分。水平方向上的HL信息表現(xiàn)出很強(qiáng)的垂直相關(guān)性,該部分信息采取按列的奇偶分裂法;垂直方向上的LH信息則表現(xiàn)出很強(qiáng)的水平相關(guān)性,該部分信息采取按行的奇偶分裂法;對(duì)角方向的信息并沒(méi)有明顯的水平或垂直相關(guān)性,可采取列、行或者錯(cuò)位分裂法進(jìn)行信息分裂。對(duì)于拆分之后得到的兩個(gè)信息按照如下方法組成兩部分大小與原圖一樣的奇偶描述以待編碼:水平方向上提出的奇列信息、垂直方向上提出的奇行信息以及對(duì)角方向上提出的奇列信息,保留它們?cè)谠瓐D像中的位置,其它偶位置補(bǔ)零(補(bǔ)零位置不參與編碼),最低頻的重要信息LL則全部保留;對(duì)于偶描述處理也是一樣,低頻信息LL也同樣全部保留;這樣就得到了以奇偶位為代表的兩個(gè)子描述。接下來(lái)對(duì)兩個(gè)待編碼的子描述分別采用3D-SPIHT編碼,再分別經(jīng)奇偶信道獨(dú)立傳送至解碼端。當(dāng)然,也可按照以上思想,將兩描述拓展為多個(gè)描述。
當(dāng)只有一路編碼信息收到,比如只收到奇編碼信息,經(jīng)過(guò) 3D-SPIHT解碼、反量化、反變換再經(jīng)過(guò)恢復(fù)處理,就可以在一定程度上恢復(fù)原始圖像信息?;謴?fù)采用以下策略:例如當(dāng)偶描述的編碼信息丟失時(shí),由于奇描述的偶位置為零,不參與編碼,解碼所需的偶位置的小波系數(shù)需要根據(jù)小波系數(shù)采用公式(1)進(jìn)行恢復(fù):
對(duì)于只接收到偶編碼信息的情況也采用相同做法。當(dāng)有兩路信息接收到,對(duì)奇偶位置的編碼系數(shù)進(jìn)行匯總,采用聯(lián)合解碼得到質(zhì)量更佳的圖像。
三維等級(jí)樹(shù)集合劃分(3D-SPIHT)[8]不需要通過(guò)復(fù)雜的運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償來(lái)消除幀間冗余,而是采用三維小波變換。算法生成一個(gè)嵌入位流(embedded bit stream),使接收的位流在任意點(diǎn)中斷時(shí),都可解壓和重構(gòu)圖像,具有良好的漸進(jìn)傳輸特性;在系數(shù)子集的分割和重要信息的傳輸方面采用了獨(dú)特的方法,能夠在實(shí)現(xiàn)幅值大的系數(shù)優(yōu)先傳輸?shù)耐瑫r(shí),隱式地傳送系數(shù)的排序信息。同二維的SPIHT算法一樣,首先要定義用于時(shí)空方向樹(shù)劃分的4個(gè)坐標(biāo)集:
(1)O(i,j,k):位于(i,j,k)位置的小波變換系數(shù)C(i,j,k)的子女的坐標(biāo)集。
(2)D(i,j,k):位于(i,j,k)位置的小波變換系數(shù)的所有子孫的坐標(biāo)集;
(3)H(i,j,k):所有時(shí)空方向樹(shù)的根的坐標(biāo)(即最低頻LLL子帶中小波系數(shù)的7/8);
(4)L(i,j,k):L(i,j,k) =D(i,j,k) ?O(i,j,k),包含節(jié)點(diǎn)(i,j,k)的所有子孫的坐標(biāo)集。
傳統(tǒng)的SPIHT隨著閾值降低、掃描次數(shù)增加,算法中LSP、LIP和LIS鏈表需要存儲(chǔ)空間越來(lái)越大。針對(duì)儲(chǔ)存空間問(wèn)題,引入最小閾值(Tmin)和最小輸出位(bitmin)來(lái)解決。實(shí)驗(yàn)數(shù)據(jù)表明,一般圖像在相同的壓縮比下,最小閾值的取值大致相同,3D-SPIHT編碼的掃描順序按從上到下、從左到右的“Z”型次序排列。在對(duì)奇描述進(jìn)行編碼時(shí),掃描需要跳過(guò)其系數(shù)補(bǔ)零的偶位置。同理,在對(duì)偶描述進(jìn)行編碼時(shí),掃描需要跳過(guò)其系數(shù)補(bǔ)零的奇位置。
為了得到理想的嵌入式彩色碼流,把Y、U、V 分量作為一個(gè)整體進(jìn)行3D-SPIHT編碼。具體方式:將Y、U、V分量平面分別通過(guò)小波變換所得的系數(shù)作為一個(gè)整體進(jìn)行掃描,得到最大系數(shù)max{|C(i,j,k)|},確定初始化的最大幅度值的位次n= [log 2(max{|c(i,j,k)|})]。然后將Y、U、V分量看作整體,來(lái)初始化LIP和LIS集合。完成初始化后,各分量即可按自己的時(shí)空方向樹(shù)結(jié)構(gòu)進(jìn)行編碼。通過(guò)這樣的編碼,就可以實(shí)現(xiàn)在各分量間自動(dòng)進(jìn)行碼率分配,產(chǎn)生理想的嵌入式彩色碼流。
盡管對(duì)單一描述解碼所得的圖像序列平均PSNR僅有27.38dB,其圖像質(zhì)量仍在可接受范圍內(nèi)。而采用此方法,在120倍的壓縮比下依據(jù)兩個(gè)描述重建的圖像平均PSNR達(dá)35.91dB。為了進(jìn)一步驗(yàn)證本文方法的可行性,在Visual Studio 2010平臺(tái)從圖像峰值信噪比(PSNR)平均值和編碼算法花費(fèi)的時(shí)間兩方面將其與MDSQ和H.264進(jìn)行比較分析,其中H.264編解碼采用優(yōu)化較好的X.264,而MDSQ移植到VC環(huán)境,且MDSQ與本文方法重建圖像基準(zhǔn)均采用雙描述形式。實(shí)驗(yàn)數(shù)據(jù)仍選用288幀的news_cif測(cè)試序列,測(cè)試結(jié)果如表1和表2所示。
表1 三種編碼算法不同碼率下重建圖像的PSNR平均值(dB)
表2 三種編碼算法的時(shí)間對(duì)比(s)
如表1和表2所示:與傳統(tǒng)多描述編碼MDSQ相比,采用本文編碼方案得到的圖像重建質(zhì)量更好,原因是本文方法能夠創(chuàng)建質(zhì)量平衡的多描述,并能通過(guò)去除視頻的幀間冗余來(lái)提高壓縮比,當(dāng)然由于算法復(fù)雜度增加,編碼所花費(fèi)的時(shí)間比MDSQ略長(zhǎng);與X.264的H.264編碼方案相比,采用本文方法獲得的重建圖像PSNR略低,主要是因?yàn)镠.264引入復(fù)雜的運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償算法,可以明顯的提高視頻壓縮質(zhì)量,當(dāng)然其算法復(fù)雜度明顯高于本文算法,所以花費(fèi)的時(shí)間最長(zhǎng)。
視頻的多描述編碼各編碼信息通過(guò)獨(dú)立的信道進(jìn)行傳輸,同一幀編碼信息同時(shí)發(fā)生誤碼的概率較小,并且各描述的編碼信息存在相關(guān)性。本文提出的基于3D-SPIHT的視頻多描述編碼方案通過(guò)創(chuàng)建的質(zhì)量平衡的多描述,經(jīng)過(guò)編碼和分信道傳輸,提高了解碼端成功接收編碼比特流的概率,在解碼端通過(guò)對(duì)丟失的編碼信息進(jìn)行恢復(fù)來(lái)控制誤碼擴(kuò)散,以提高重建視頻的主觀感受質(zhì)量。同時(shí)該編碼方案通過(guò)有效去除視頻的幀間冗余,大大提高了壓縮比。仿真表明該編碼方案與ZigBee多信道網(wǎng)絡(luò)有較好的契合度,在有噪信道上可以獲得更高的傳輸可靠性,具有較高的應(yīng)用價(jià)值。