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