《電子技術應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 一種提高視頻壓縮速度的改進算法

一種提高視頻壓縮速度的改進算法

2008-07-17
作者:江加加,楊成忠,周 韻

??? 摘 要: 分析了噪聲對視頻圖像壓縮速度的影響及傳統(tǒng)去噪" title="去噪">去噪方法的性能缺陷,提出了使用二次殘差算法來改進由于噪聲引起誤判的思想,以提高壓縮速度。實驗結果說明,該方法能有效地減少由噪聲帶來的誤判,在壓縮速度上也較傳統(tǒng)方法有一定的改善。
??? 關鍵詞: 視頻圖像? 壓縮速度? 殘差算法

?

??? 隨著全世界安防事業(yè)的迅猛發(fā)展,視頻監(jiān)控" title="視頻監(jiān)控">視頻監(jiān)控系統(tǒng)的應用越來越廣泛,視頻卡的需求也隨之增加。由于原始視頻數(shù)據(jù)量很大,直接對其進行存儲與傳輸實現(xiàn)起來比較困難。故在保證圖像質量的前提下,減少圖像的數(shù)量,提高壓縮速度將成為研究的重點。
??? 視頻圖像之所以可以被壓縮,是因為它們存在著很多數(shù)據(jù)冗余[1]:視覺冗余、空間冗余、時間冗余以及編碼冗余[2-3]。在視頻壓縮過程中,最重要的是減少視頻的時間冗余,即同一像素點在不同時刻具有很大的相關性,稱為時間上的冗余。由于視頻是一系列的圖像序列,很多時候前一幀與后一幀的差別并不大,如果每一幀圖像都傳送將會存在很多冗余。故對有運動的塊進行編碼傳輸,忽略沒有運動的塊,就可以達到比較高的壓縮比率。
??? 在判斷宏塊" title="宏塊">宏塊是否有運動的時候,通常采用殘差計算,當結果超過閾值時就進行后續(xù)運算編碼。但是在視頻監(jiān)控中的視頻壓縮與通常的影片視頻壓縮有很大的不同,在實際使用中會有很多圖像噪聲。而噪聲的引入會對判斷宏塊是否有運動造成影響,增加了許多額外的運動向量估計,減緩了壓縮速度。本文針對如何減少圖像噪聲帶來的影響,提出了一種改進的殘差計算方法,有效地優(yōu)化了視頻壓縮速度。
1 殘差算法改進的原因
1.1 圖像的噪聲

??? 在視頻監(jiān)控系統(tǒng)中,攝像頭中的CCD感光器件將光信號轉換成電信號形成了圖像信號,但是在這個過程中卻不可避免地引發(fā)了噪聲問題。圖像中的噪點一般是由CCD噪聲形成的,主要有散粒噪聲、暗電流噪聲、轉移噪聲。當CCD在低光照、低反差下應用時,散粒噪聲成為主要的噪聲源,它是CCD敏感器件所固有的噪聲,不能被后續(xù)電路所抑制或抵消[4]。因此,在視頻監(jiān)控實際使用過程中,圖像的噪點主要是由CCD形成的散粒噪聲所引起的。
??? 圖像去除白噪聲" title="白噪聲">白噪聲的方法已經(jīng)有很多經(jīng)典的算法,如平均濾波、中值濾波以及頻域濾波等。但是傳統(tǒng)的去噪方法不能完全適用,主要原因:(1)去噪算法本身需要增加很多運算量,因此很難加快壓縮速度。(2)由于白噪聲的隨機性,即使運用去噪算法,后兩幀所得的結果不會一致,還是會造成前后幀的殘差過大。(3)對于需要傳輸?shù)膱D像或者圖像的某一部分,壓縮算法都會進行離散余弦變換DCT(Discrete Cosine Transform),并且對高頻分量的量化步長會比較大,這也將影響圖像的去噪效果。
??? 因此傳統(tǒng)的去噪方法不會提高視頻壓縮的速度,故達不到所要求的目的。
1.2 殘差算法
??? 在視頻壓縮的過程中,最重要的工作是消除時間上的冗余性,即盡量去除幀與幀之間的冗余。對于XVID編碼格式,幀分成VOP_I與VOP_P。VOP_I采用幀間編碼模式,VOP_P采用幀內編碼模式。幀內編碼采用的是類似于JPEG壓縮算法即將一幀圖像傳輸過去,而幀間編碼是將兩幀之間的差值傳送過去。在幀間編碼的過程中,首先對圖像分成16×16的宏塊,然后判斷該宏塊是否相對于前一幀運動,如果沒有運動,則設置成SKIP模式不進行編碼;如果視頻能夠盡可能地使用幀間編碼方式,同時又有許多的宏塊是SKIP模式的,則可以不進行最為耗時的運動估計算法" title="估計算法">估計算法,而視頻流將會比較小,編碼的速度也會大大增加。
??? 在幀間編碼方式上,判斷一幀圖像是否有運動,需要將其編碼成SKIP模式,主要是與前一幀圖像進行如下殘差計算:

???

??? 由前面的分析可知,圖像的噪點主要是由散粒噪聲所引起的,特別是在光線不足的情況下噪點越發(fā)明顯。由于噪點的引入使得原本沒有變化的兩幀圖像計算得到的殘差SAD很大,超過了判斷閾值,被誤判為運動塊,進行了非常耗時的DCT或者運動向量估計算法,造成了視頻壓縮速度的降低以及傳輸碼流的增大。為此,提出了對SAD殘差算法的改進。
2 殘差SAD算法的改進
??? 由于噪點的引入,使得原有SAD算法判斷圖像運動與否的過程出現(xiàn)了很多誤判,為了減少這種誤判提出了對原有SAD算法的改進,增加了二次殘差判斷SAD′。二次計算殘差的SAD′算法如下:

???

??? 式(2)與式(1)原有的SAD相比只是將取絕對值放到了對所有點殘差求和之后。其實驗結果:兩幀沒有變化的圖像如圖1所示,將圖1中圖像的每個像素相減求差后得到結果如圖2所示。

?

?


??? 由圖2可以看出,差值基本符合白噪聲的規(guī)律。SAD算法是將每個差值取絕對值后累加得到的SAD(MBM×N),其值將遠遠大于運動閾值。而在本文提出的改進SAD′算法中是將每個差值直接累加后取絕對值。由于白噪聲的統(tǒng)計特性,所得到的結果SAD′(MBM×N)非常接近于0。即式(2)可以等效于式(3)。

???

式中,Y(x,y)為當前幀圖像,Ypre(x,y)為前一幀圖像,N(x,y)為當前幀散粒噪聲,Npre(x,y)為前一幀散粒噪聲。由于圖像未運動Y(x,y)=Ypre(x,y),又因為白噪聲的統(tǒng)計特性因此SAD′(MBM×N)理論值為0,與實驗結果相吻合。
??? 在運算殘差過程中,如果SAD值大大超過閾值,則需要進行二次閾值判斷SAD′;如果是噪聲引起的殘差值,則可以很有效地避免誤判,而不需要進行耗時的運動向量估計算法。
3 改進殘差算法的應用
??? 本文選用MPGE-4編碼器作為視頻編碼器,并采用源碼開發(fā)的XVID壓縮格式。為了提高壓縮速度,選用XVID中的single pass編碼方式[5]。
3.1 MPGE-4編碼器工作流程
??? 首先判斷采用幀內編碼模式還是幀間編碼模式,即判斷是否對整一幅圖像進行編碼還是對某些部分進行編碼。若采用幀內編碼其原理如JPEG算法;若采用幀間編碼,則需要將圖像分塊判斷該塊是否運動,通過殘差計算與前一幀圖像進行比較。如果是靜止塊則設置成SKIP模式進行簡單的處理;如果是運動塊則進行運動向量估計。編碼器的工作流程如圖3所示。

?


3.2 二次殘差算法的驗證
??? 在整個編碼流程中有兩處用到了殘差算法:
??? (1)在判斷是采用幀間編碼還是幀內編碼時調用了MEanalysis函數(shù)。MEanalysis的原理是:如果某個宏塊的殘差的sad大于該宏塊的平均值的偏離,則使用intra方式;否則使用inter方式,然后對這些宏塊進行統(tǒng)計,得到整幀的編碼方式,即if(sSAD>IntraThresh2) return I_VOP;//IntraThresh=90。
??? (2)在采用幀間編碼確定SKIP模塊時,每個宏塊調用sad16v計算本宏塊與參考幀對應位置的宏塊的亮度的殘差,將其保存在相應的數(shù)組中;然后調用sad8兩次,分別計算u分量和v分量的殘差,也保存在相應的數(shù)組中。如果該宏塊的量化差值為0,并且所記錄的最大亮度塊殘差沒有超過SKIP模式的閾值,則使用xvid_me_SkipDecisionP確認符合SKIP模式。即:
??? if(iSAD>=BFRAME_SKIP_THRESHHOLD?鄢pMB->quant)
??? { bSkip=0;/?鄢could not SKIP?鄢/}//BFRAME_SKIP_THRESHHOLD=30
?? ?通過上述函數(shù)分析可知,在幀內編碼模式和幀間編碼的確定過程中,都是通過計算殘差SAD得到的,而且在判斷宏塊是否為SKIP模式時還需要通過Y、U、V三次計算殘差。
??? 在本應用中將上述兩個判斷引入二次殘差算法計算SAD′,同時加大了閾值門限IntraThresh和BFRAME_SKIP_THRESHHOLD(分別增加了10%),并分別設為99和33,并且在判斷宏塊是否為SKIP模式時只對亮度信號進行殘差運算忽略色度信號,達到了一定效果。其編碼器速度優(yōu)化結果如表1所示。

?


??? 表1是在低照度、分辨率為360×288的情況下得到的結果。從表中數(shù)據(jù)可以看出,改進以后壓縮速度提高了40%以上,因此,在保證視頻顯示效果的同時,增加二次殘差計算能夠大大減少誤判,可有效提高壓縮速度。
??? 在保證圖像不失真的前提下,提高壓縮速度是當前視頻編碼的熱點問題。本文在原有殘差算法的基礎上,給出了一種適用于MPEG環(huán)境的二次殘差算法。與傳統(tǒng)算法相比,該方法可以更有效地避免由于噪聲引起的運動塊誤判。應用表明,改進后的算法可以明顯提高壓縮速度,有效解決由CCD噪聲引起的運動誤判問題。
參考文獻
[1] 薛文通,宋建社,袁禮海,等.圖像壓縮技術的現(xiàn)狀與發(fā)展.計算機工程與應用,2003,(2).
[2] TORRES L,KUNT M.Video coding:the second generation?approach[M].Englewood Cliffs,NJ:Kluwer,1996.
[3] SALEMBIER P,TORRES L,MEYER F,et al.Region-based video coding using mathematical morphology[J].Proc.IEEE,1995,83(6):843-857.
[4] 謝小權.低照度CCD圖像采集及噪聲預處理.電子技術應用,2000,26(8):11-12.
[5] 王文慶,毛文林,張利飛.基于MPEG-4的視頻監(jiān)控系統(tǒng)模型及實現(xiàn).計算機工程,2006,(11).

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。