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