《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 嵌入式設(shè)備的靜止圖像編碼

嵌入式設(shè)備的靜止圖像編碼

2008-07-22
作者:溫淑鴻, 崔慧娟, 唐 昆

  摘 要:降低多媒體算法的復(fù)雜性和存儲器需求對于存儲器資源和運算能力都很有限的嵌入式設(shè)備" title="嵌入式設(shè)備">嵌入式設(shè)備是十分重要的,。在極低" title="極低">極低碼率應(yīng)用時,,JPEG存在嚴(yán)重的方塊效應(yīng),JPEG2000具有極高的運算復(fù)雜性和存儲器需求。分析了H.264 INTRA幀編碼的運算復(fù)雜性和存儲器需求,并提出了一種減小運算復(fù)雜性的有效方法。結(jié)果顯示,,H.264 INTRA幀編碼具有極低的運算量和存儲器需求,非常適合嵌入式設(shè)備的靜止圖像編碼" title="圖像編碼">圖像編碼,。
  關(guān)鍵詞: 靜止圖像編碼 H.264 JPEG2000 零塊檢測


  嵌入式多媒體設(shè)備的靜止圖像編碼有著廣泛的應(yīng)用,,如照片的拍攝與傳輸,。設(shè)備處理的圖像越來越大,存儲容量和傳輸能力都相當(dāng)有限,,因而靜止圖像編解碼要求具有較低的運算復(fù)雜性,、較少的存儲器需求和極好的壓縮性能。目前已經(jīng)制定的靜止圖像壓縮標(biāo)準(zhǔn)主要有JPEG和JPEG2000,。JPEG標(biāo)準(zhǔn)在中高速率上壓縮效果較好, 對于細(xì)節(jié)分量多的灰度圖像, 當(dāng)編碼壓縮率低于每像素0.25比特時,視覺失真大,重構(gòu)圖像存在嚴(yán)重的方塊效應(yīng),不能很好地適應(yīng)網(wǎng)絡(luò)傳輸圖像的需要,。JPEG2000為了降低運算中的存儲器需求,使用分塊技術(shù),對每個小塊進(jìn)行處理,,但采用較小的塊在低碼率時存在與JPEG一樣的方塊效應(yīng),。因而JPEG2000 在低比特率應(yīng)用時, 建議不分塊或者分成較大的塊,以保證良好的率失真性能, 但運算復(fù)雜性和存儲器需求都極高,。
  視頻編碼新標(biāo)準(zhǔn)H.264代表著繼MPEG1/2和MPEG4后的第三代視頻編碼標(biāo)準(zhǔn),。H.264比以前的標(biāo)準(zhǔn)提供了更高的編碼增益。H.264的INTRA幀編碼算法充分利用圖像中的空間相關(guān)和變換域的相關(guān)性,,提供了極高的編碼增益,可以用來對靜止圖像進(jìn)行編碼,。在文獻(xiàn)[1]中H.264采用JM73代碼,,JPEG2000 采用Jasper 1.700.5,對標(biāo)準(zhǔn)靜止測試圖像和視頻序列進(jìn)行測試。測試結(jié)果表明:與JPEG2000相比,,H.264 INTRA幀具有更高的客觀質(zhì)量和主觀質(zhì)量,,但譯碼器的運算復(fù)雜性卻比JPEG2000低50%左右。在嵌入式設(shè)備上,,多媒體應(yīng)用的實時性不僅取決于算法的運算次數(shù),,還取決于可得到的存儲器帶寬。CPU的工作頻率越來越高,,存儲器的頻率卻增加緩慢,,很多算法的瓶頸在于數(shù)據(jù)輸入輸出。有效減小算法的存儲器需求,,減少中間結(jié)果的存儲需求,,可縮減片外存儲器訪問次數(shù),提高應(yīng)用的實時性能,。下面主要討論降低H.264 INTRA幀編碼的運算復(fù)雜性和存儲器需求的方法,。


1 減少運算復(fù)雜性
  H.264 INTRA幀具有比JPEG2000更高的客觀質(zhì)量,這主要是由于INTRA幀采用的多種幀內(nèi)預(yù)測模式較好地去掉了空間冗余,。對于平滑的背景區(qū)域采用16×16大小的粗糙預(yù)測,,共有4種可能的預(yù)測方向。對于快速變化的圖像區(qū)域,,采用4×4的塊,,共有9種預(yù)測模式,。在預(yù)測后,對殘差信號進(jìn)行整型" title="整型">整型變換消除頻譜相關(guān)性,。高效的去方塊效應(yīng)濾波器改善了圖像的信噪比和主觀質(zhì)量,。圖1是H.264編碼器的結(jié)構(gòu)流程圖。從圖1可以看出,,在整幀圖像的熵編碼后,,對逆整型變換后的重建數(shù)據(jù)進(jìn)行去方塊效應(yīng),去方塊效應(yīng)后的重建圖像數(shù)據(jù)用作下一幀預(yù)測圖像的編碼,,或者用于編碼同時顯示重建圖像,。編碼器的作用主要是壓縮原始數(shù)據(jù)產(chǎn)生輸出碼流,若不需要在本地編碼器中顯示重建圖像(例如衛(wèi)星照片的拍攝),,則編碼器中的整幀圖像的去方塊效應(yīng)可以省去,,節(jié)省大約30%的運算。宏塊" title="宏塊">宏塊的幀內(nèi)預(yù)測包含9種4×4模式和4種16×16模式如圖2,。INTRA 16×16 預(yù)測僅僅采用左邊16個像素和上邊16個像素作參考,;INTRA 4×4 預(yù)測僅僅采用左邊4個像素和上邊9個像素作參考,因而在逆整型變換和重建(逆變換結(jié)果與預(yù)測值相加)時,,僅僅需要計算16×16宏塊的第16行與第16列像素,、4×4塊的第4行與第4列像素,沒有必要計算所有的像素,。對于16×16的塊,,減少224個重建像素的計算。對于4×4的塊,,減少8個重建像素的計算,。整型變換、量化,、逆量化,、掃描以及逆變換消耗比較多的編碼時間,可利用在模式選擇時計算的絕對差值和(SAD),,提前判斷整型變換后量化系數(shù)全0塊,,從而省去全0塊的整型變換、量化,、逆量化,、掃描以及逆變換這一系列操作。若SAD小于某個門限T,,各個變換系數(shù)絕對值小于量化步長(Qstep),,該塊為0塊。實驗中取T等于3Qstep,獲得了較高的檢測率和較低的檢測差錯率。H.264 采用整型變換,,為簡化門限的推導(dǎo),,其中的整型變換與4×4的離散余弦變換(DCT)相差較小,DCT變換為:
  系數(shù)量化為0,。由于該式是量化系數(shù)全為零的充分條件,,而不是必要條件。實驗結(jié)果顯示,,使用該門限檢測出零塊的正確性為100%,,大量的量化系數(shù)為全零塊卻檢測不出來。為了大幅提高零塊檢出率,,增大該門限T為3Qstep,,測量miss.qcf 20幀編碼的平均情況,測試結(jié)果見表1,。從表1可以看出,,零塊檢測率隨著量化索引增大而增大,可能將部分非零塊檢測成零塊,,但這對信噪比影響不大,。

?


2 縮減存儲器需求
  減少運算中的存儲器需求對于嵌入式設(shè)備十分重要。宏塊編碼的過程包含預(yù)測,、模式選擇,、變換量化掃描、逆量化等,。從圖2可以看出,在INTRA16×16的4種預(yù)測模式中,,只使用上邊和左邊的各16個像素作為預(yù)測參考,,在INTRA 4×4 的9種預(yù)測模式中,僅使用左邊4個像素和上邊9個像素作為預(yù)測參考,,因而重建圖像并不需要整幀存儲,,只需存儲這幾個參考點就可以了。假設(shè)宏塊編碼按照從左到右,、從上到下順序進(jìn)行,,則水平方向的像素需要存儲一整行。在INTRA 4×4模式編碼時,,由于相鄰的4×4塊模式高度相關(guān),,采用相鄰塊的預(yù)測模式預(yù)測當(dāng)前塊的最可能模式,同樣只需要存儲上邊一行4×4和左邊一個4×4塊的編碼模式(如圖3),。在對量化后變字長編碼(VLC)系數(shù)的個數(shù)進(jìn)行編碼時,,需要利用相鄰兩塊的非零系數(shù)個數(shù)對該塊進(jìn)行預(yù)測,也只需要存儲上邊一行4×4和左邊一個4×4塊的編碼模式的非零系數(shù)個數(shù),,如圖3,。在對整幀圖像的數(shù)據(jù)比特串(SODB)添加原始字節(jié)序列載荷(RBSP)結(jié)尾比特(RBSP trailing bits,,添加一比特的“1”和若干比特“0”,以便字節(jié)對齊)后,,再檢查RBSP 中是否存在連續(xù)的三字節(jié)“00000000 00000000 000000xx”;若存在這種連續(xù)的三字節(jié)碼,,在第三字節(jié)前插入一字節(jié)的“0×03”,以免與起始碼競爭,形成EBSP碼流,,這需要將近兩倍的整幀圖像碼流大小,。為了減小存儲器需求,在每個宏塊編碼結(jié)束后即檢查該宏塊SODB中的起始碼競爭問題,,并保留SODB最后兩字節(jié)的零字節(jié)個數(shù),,以便與下一宏塊的SODB的開始字節(jié)形成連續(xù)的起始碼競爭檢測;對一幀圖像的最后一個宏塊,,先添加結(jié)尾停止比特,,再檢測起始碼競爭。采用這種方法產(chǎn)生H.264 附錄B中的字節(jié)流時,,存儲器需求從兩幀碼流大小縮小到兩個宏塊碼流大小,。通過對碼流輸出過程的改進(jìn),使INTRA幀編碼需要的存儲器大小不隨圖像大小的增加而增加,,這時編碼過程中的存儲器不超過9K個整數(shù),。對于基于片上存儲器的多媒體處理器,存儲器需求的減少可以大量縮減中間結(jié)果的片外片上轉(zhuǎn)移,,減小數(shù)據(jù)轉(zhuǎn)移的負(fù)擔(dān),,提高程序的運行速度。


  采用H.264 INTRA幀對靜止圖像進(jìn)行編碼時,,在編碼器端不需要顯示本地重建圖像,,可省掉去方塊效應(yīng)濾波器;利用模式選擇時計算的絕對差值和,,可提前判斷量化后全零系數(shù)塊,,節(jié)省大量的計算。分階段地對各個宏塊的碼流插入競爭阻止字節(jié)(emulation prevention byte),,以保證原始字節(jié)序列載荷中不含起始碼,,有效減少存儲器的需求。運算復(fù)雜性和存儲器需求極低的H.264 INTRA編碼模式,,可代替JPEG2000,,用于嵌入式設(shè)備的靜止圖像編碼。


參考文獻(xiàn)
1 Aravind AL, Bindu P. Rao, Sudhir S. Kudva,et al. Quality and complexity comparison of H.264 intra mode with JPEG2000 and JPEG[J].ICIP2004, IEEE international conference on image processing: 525~528
2 Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec.H.264|ISO/IEC 14496-10 AVC) Joint Video Team (JVT),Mar.2003,Doc. JVT -G050
3 H.264/MPEG-4 Part 10: Intra Prediction. www.vcodex.com/h264_intrapred.pdf
4 zhou Xuan ,Yu zhenghua,Yu Songyu. Method for detecting all-zero DCT coefficients ahead of discrete cosine transfor-mation and quantization[J]. Electronics Letters:1839~1840

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