王琰 于大海 沈霽 鄭璧青 袁杰
摘要:H.264視頻壓縮技術(shù)在傳輸過程中由于物理信道的的損傷會引入噪聲,本文通過糾錯控制機制提高H.264編解碼的適應(yīng)性。本方法適合在空間信道不穩(wěn)定、碼流易丟易錯的情況下使用,便于硬件實現(xiàn)。
關(guān)鍵詞:H.264;加解擾;碼流控制;BPM算法
中圖分類號:TN79 文獻標(biāo)識碼:A 文章編號:1007-9416(2019)04-0062-02
0 引言
圖像因為直觀生動作為最常見的信息傳輸方式和表現(xiàn)形式,能提供比其它形式數(shù)據(jù)更多的信息,在航天系統(tǒng)中也必不可少。在航天應(yīng)用中,由于空間環(huán)境造成無線信道的不穩(wěn)定性,在傳輸圖像數(shù)據(jù)時會因為信道損傷導(dǎo)致比特流數(shù)據(jù)錯誤或丟失,引入很多的噪聲,從而導(dǎo)致傳輸視頻時發(fā)生誤碼、丟包以及延遲等現(xiàn)象,無法滿足衛(wèi)星等高可靠性產(chǎn)品的要求。而航天產(chǎn)品需要面對惡劣的空間環(huán)境,因而在設(shè)計時必須考慮非可靠信道下的圖像編解碼問題。
因為像素數(shù)據(jù)間的相關(guān)性,圖像壓縮具有可行性。H.264視頻壓縮技術(shù)作為新一代視頻壓縮國際標(biāo)準(zhǔn),具有目前視頻標(biāo)準(zhǔn)中最好的壓縮效率。為適應(yīng)運載火箭的信道特點、追求更好的壓縮性能,本文在H.264編解碼的基礎(chǔ)上改進,對數(shù)據(jù)流進行加解擾和幀率控制的措施,從而降低信道誤碼的概率并減小誤碼、丟包帶來的影響??刂屏鞒虉D如圖1。
1 碼流加解擾
1.1 加擾措施
數(shù)字通信中的數(shù)據(jù)中免不了有長串的連“0”和連“1”,會導(dǎo)致數(shù)據(jù)流中有相當(dāng)大的低頻成分的能量,并且不利于解碼時數(shù)據(jù)流中時鐘信號的提取。加擾是對對信號碼元作有規(guī)律的隨機化處理,它可以減少連“0”或連“1”長度,保證接收機能提取到位定時信號,使加擾后的信號頻譜更能適合基帶傳輸。它的原理是以能產(chǎn)生偽隨機序列的線形反饋移位寄存器理論為基礎(chǔ)。它以數(shù)據(jù)輸入和線性反饋輸出的模二加為加擾器的輸出,輸出由數(shù)據(jù)輸入和移位寄存器的狀態(tài)決定。這樣就改變了輸入數(shù)據(jù)的形式。本文使用一個10級移位寄存器構(gòu)成的加擾器,它的級聯(lián)多項式是一個本原多項式:
硬件結(jié)構(gòu)原理圖如圖2所示。對編碼后的碼流進行加擾后,碼流中不再出現(xiàn)連“0”或連“1”的信號,保證接收機能提取到位定時信號,使加擾后的信號頻譜更能適合基帶傳輸。
1.2 解擾恢復(fù)碼流
解擾是加擾的逆過程,在接收端實施。它的工作原理和加擾器的工作原理剛好相反。由于加擾器用的是10級移位寄存器,所以解擾器用的也是10級移位寄存器。
2 幀率控制策略
2.1 幀率預(yù)測
在易失信道中,可能會發(fā)生丟包問題而造成圖像碼流傳輸中發(fā)生丟幀或誤幀引起視頻不連續(xù)的現(xiàn)象。為解決此問題,本文在解碼的同時,進行幀率控制。根據(jù)幀計數(shù)判斷圖像的連續(xù)性,當(dāng)發(fā)生丟幀或誤幀的情況時,采用插值算法對丟失或錯誤圖像進行預(yù)測,確保輸出圖像的連續(xù)性。
預(yù)測方法如下:
(1)首先判斷缺失的圖像幀數(shù),當(dāng)連續(xù)缺失幀數(shù)大于5幀時,預(yù)測因為不精確變得沒有意義,則采用持續(xù)播放前一幀數(shù)據(jù)的策略。(2)當(dāng)連續(xù)缺失幀數(shù)小于等于5幀時,每25幀圖像分為一組,進行一次預(yù)測。預(yù)測出的運動矢量將在下一組圖像中使用。假設(shè)每組圖像的第一幀為參考幀,在相鄰兩幀圖像間采用位平面匹配(Bit Plane Matching, BPM)算法。(3)以參考幀和上一組圖像估計出的運動矢量對缺失幀進行預(yù)測,確保輸出圖像的連續(xù)性。
2.2 BPM算法
BPM算法是一種塊匹配算法,其基本流程如下:統(tǒng)計當(dāng)前塊中各像素點灰度值的平均值,并將之與當(dāng)前塊和搜索窗口中像素點灰度值的大小相比較,將它們轉(zhuǎn)換成由0和1構(gòu)成的位平面(Bit Plane,BP),在位平面中進行搜索匹配。
BPM算法通過計算當(dāng)前塊和待匹配塊對應(yīng)的2個位平面中不同元素的個數(shù)(NNMP)衡量兩者是否匹配,當(dāng)NNMP小于閾值Ta時,認(rèn)為兩者是匹配的,保留當(dāng)前塊,用于后面的處理;否則,認(rèn)為這2個塊是不可能匹配的。
式中,N表示塊的大小;Bblock(i,j)表示當(dāng)前塊對應(yīng)的位平面中(i,j)位置的元素值,Bsw(m+i,n+j)表示搜索窗中(m,n)位置待匹配塊對應(yīng)的位平面中(i,j)位置的元素值。滿足NNMP匹配條件的位置很多,從中找出真正的匹配塊,要進行SAD計算,選取SAD最小的位置作為最佳匹配位置,計算運動矢量。每組25幀圖像求出的運動矢量求均值,作為下一組有缺失的圖像中使用。
3 實驗結(jié)果分析
下面是信道出現(xiàn)丟幀或誤幀時,實驗分別采用本文提出的幀率控制算法,和原始H.264編解碼兩種方案,進行的恢復(fù)圖像效果比較。原始H.264解碼器輸出圖像發(fā)生丟幀現(xiàn)象,出現(xiàn)黑屏直至下一次解碼正確,如圖3所示,采用本文的幀率控制方法后,可以對缺失的圖像進行預(yù)測,預(yù)測圖像有效,減小了視頻流卡頓的現(xiàn)象,實現(xiàn)了提高圖像在空間信道傳輸?shù)目煽啃缘哪康摹?/p>
4 結(jié)語
本文通過加解擾和幀率控制來進行糾錯控制,提供了一種基于H.264圖像壓縮標(biāo)準(zhǔn)的非可靠信道下的圖像編解碼方法,達到了提高數(shù)據(jù)可靠性的目的。適用于在信道不穩(wěn)定的情況下傳輸圖像,提高了運載火箭圖像傳輸?shù)目煽啃浴?/p>
參考文獻
[1] 薛漪,馬伍新.基于TMS320DM642芯片H.264編碼器的設(shè)計[J].計算機工程與設(shè)計,2005(05):1158-1160+1163.
[2] 呂治國.基于FPGA的加擾解擾設(shè)計[J].福建電腦,2010,26(07):134+123.
[3] 姜峰,尚書林,梁利平.基于DSP的H.264/AVC解碼器運動補償模塊的優(yōu)化[J].微電子學(xué)與計算機,2012,29(10):85-88+93.
[4] 高放,趙杰.一種改進的線性圖像插值算法[J].電子設(shè)計工程,2012,20(15):12-14+17.
[5] 李進偉,陳更生,尹文波.一種改進的位平面匹配運動估計算法[J].計算機工程,2012,38(02):259-260+263.