在TM1300上實現(xiàn)H.26L的4%26#215;4點整數(shù)變換 作者: 時間:2007-03-09 來源:網(wǎng)絡 加入技術交流群 掃碼加入和技術大咖面對面交流海量資料庫查詢 收藏 摘要:H.26L是下一代視頻編碼標準。它的編碼性超越了所有現(xiàn)存標準,包括H.263+和MPEG-4(SP)。該文分析H.26L引入的多種新的編碼特性,著重講述4%26;#215;4點整數(shù)變換,并提出一種在TM1300上實現(xiàn)的快速變換算法。關鍵詞:H.26L UVLC 4%26;#215;4點整數(shù)變換 TM1300 引言 H.26L是下一代視頻編碼標準。最初,H.26L由ITU-T的VCEG小組開始著手制訂。2001年11月,MPEG和VCEG聯(lián)合成立JVT小組共同參與制訂H.26L。也正因為MPEG的加入,H.26L將被納入MPEG-4的第十部分。由于H.26L標準還在制訂過程中,本文暫時以JVT提供的測試模型TML8為參考。 H.26L信源編碼的基本編碼框架類似于當前流行的視頻編碼標準,采用結合變換編碼和預測編碼的混合編碼技術。它出色的性能主要來源于引入的新編碼特性:4%26;#215;4點整數(shù)變換、使用UVLC進行熵編碼、1/4~1/8像素精度的運行矢量、有多種塊大小進行運動估計等等。這些新的編碼技術從不同側面提高了壓縮性能和容錯性能。尤其是4%26;#215;4點整數(shù)變換,是所有視頻壓縮協(xié)議中獨一無二的。 雖然H.26L標準還在制訂中,但是在初步的測試中,它的編碼性能超越了現(xiàn)存所有標準,包括H.263+和MPEG-4(Simple profile)。這些試驗結果表明,在取得相同的客觀視頻質(zhì)量下,H.26L比H.263+能夠節(jié)省20%~50%的碼率,比MPEG-4(SP)節(jié)省多達50%的碼率。作為下一代視頻編碼標準,H.26L展示了其巨大的發(fā)展前景。 1 H.26L的4%26;#215;4點整數(shù)變換 1.1 變換簡介 在H.26L編碼技術中,4%26;#215;4點整數(shù)變換可以看作是DCT變換的整數(shù)版本,主要完成去除圖像的空間相關性,與4%26;#215;4點DCT變換有著相同的性質(zhì)。先考慮一維的整數(shù)變換:設a,b,c,d是4個待變換的點,A,B,C,D是對應的4個變換系數(shù),則可以用以下公式表示a,b,c,d點的正變換: A=13a+13b+13c+13d B=17a+7b-7c-17d C=13a-13b-13c+13d D=7a-17b+17c-7d 反變換公式如下: a"=13A+17B+13C+7D b"=13A+7B-13C-17D c"=13A-7B-13C+17D d"=13A-17B+13C-7D 其中a和a"的關系是a"=676a。也就是說,經(jīng)過反變換后,還需要進行歸一化操作,使得正變換和變換尺度一致。 同樣二維的4%26;#215;4整數(shù)變換的變換核是可分離的。分離的變換將計算復雜度從O(N4)降到O(N3)。 1.2 與8%26;#215;8點DCT變換的比較 與傳統(tǒng)的DCT變換相比,H.26L采用4%26;#215;4點整數(shù)變換為視頻編碼帶來了以下優(yōu)點: ①有助于減少塊斑和環(huán)形斑,提高了圖像質(zhì)量。由于對變換系數(shù)進行了量化,造成了高頻系數(shù)丟失,所以恢復的圖像中會有塊班和環(huán)形班。在H.26L中,采用了更小的4%26;#215;4點變換,可以有效抑制塊斑和環(huán)形斑。 ②整數(shù)變換減小了積累誤差。傳統(tǒng)的積累誤差來自兩個方面:正變換和反變換不匹配造成的誤與量化造成的誤差。為了達到壓縮的目的,第二種誤差不可避免。但是,由于H.26L采用了精確的整數(shù)變換,所以正變換和反變換不會產(chǎn)生誤差,這樣有效地減少了積累誤差。 ③運算速度快。因為H.26L采用的變換公式是一個簡單的整數(shù)方程,也就是說計算都是基于整數(shù)的,而不是浮點數(shù),所以它減少了單個變換的計算量,也有利于采用定點的DSP實現(xiàn)。 2 在TM1300中的實現(xiàn) TM1300是一款32位超高性能的多媒體處理器。它的核心處理器采用的是VLIW超長指令字結構,可以在每一個時鐘周期內(nèi)同時進行5個操作;支持高度并行的定制操作,能大大加快數(shù)字信號處理和多媒體應用中常見的特殊運行的性能,而定制操作在使用上類似于C語言函數(shù)調(diào)用,方便了程序的設計。 本文針對4%26;#215;4點整數(shù)變換的特點和TM1300的定制運算指令的特點,對整數(shù)變換作了以下調(diào)整:先做行變換,再做列變換。由于行變換的結果不會超過16位的表示范圍,故在作列變換之前,重新合并數(shù)據(jù),再作列變換,這樣作是基于以下兩點考慮。 第一,由于視頻輸入數(shù)據(jù)為無符號的字節(jié)型,而TM1300是32位的處理器,以字為單位訪問內(nèi)存,能提高訪問的效率。當前4%26;#215;4數(shù)據(jù)塊(指針為P1)和參考幀4%26;#215;4數(shù)據(jù)塊(指針為P2)的數(shù)據(jù)組織如下。待變換的點為當前數(shù)據(jù)塊的值與參考幀數(shù)據(jù)塊對應的值之差。 P1:cal,cb1,cc1,cd1 P2:ra1,rb1,rc1,rd1 ca2,cb2,cc2,cd2 ra2,rb2,rc2,rd2 ca3,cb3,cc3,cd3 ra3,rb3,rc3,rd3 ca4,cb4,cc4,cd4 ra4,rb4,rc4,rd4 第二,可以利用8位乘/累加的定制操作,一個操作能完成4個8位乘/累加,一個機器周期(CLK)最多能執(zhí)行5個操作。與非定制的乘/累加相比,減少了運算的次數(shù),提高了程序運行的并行度。圖1為ifir8ui定制操作功能示意圖。 3 實驗結果 本文提出的基于TM1300的4%26;#215;4整數(shù)變換的快速算法,使用了并行算是技術大大減少了計算量。實驗表明,進行1個4%26;#215;4點整數(shù)變換,直接用乘法和加法運算需要80個機器周期,改進后的算法只需28個機器周期;而利用TM1300進行1個8%26;#215;8點定點DCT變換需要180個機器周期,也明顯大于4個4%26;#215;4點整數(shù)變換時間。在變換方面H.264的變換編碼運算復雜度小于其它編碼方法。
評論