基于H.264視頻編解碼DSP實(shí)現與優(yōu)化
摘要:H.264是最新的視頻編碼國際標準,是圖像通信研究領(lǐng)域的熱點(diǎn)問(wèn)題之一,利用高性能數字信號處理器來(lái)實(shí)現H.264:實(shí)時(shí)編解碼是一種快速有效的方法,有助于H.264視頻標準的迅速推廣和應用。TI公司生產(chǎn)的DM64X系列芯片具有很強的并行處理能力和信號處理功能,是實(shí)現H.264編解碼的理想平臺。給出視頻編解碼在DSP中實(shí)現的一些關(guān)鍵問(wèn)題,針對DM642的整體系統方案,設計出為H.264的實(shí)時(shí)實(shí)現搭建了良好的硬件平臺,并給出系統的性能測試結果。解碼速度達到了實(shí)時(shí)的效果,圖像主觀(guān)質(zhì)量較好,無(wú)明顯方塊效應,碼率也比較低。
關(guān)鍵詞:H.264標準;數字信號處理器;視頻編解碼;DM642
0 引言
基于互聯(lián)網(wǎng)的數字視頻產(chǎn)業(yè)前景看好,而3G的規模部署,也會(huì )推動(dòng)移動(dòng)視頻通信成為現實(shí)。但數字化后的視頻圖像具有數據海量性,給圖像的存儲和傳輸造成較大的困難。數字視頻壓縮編碼技術(shù)是解決這一問(wèn)題的關(guān)鍵技術(shù)。H.264以其良好的網(wǎng)絡(luò )適應性和高編碼壓縮效率,靈活的語(yǔ)法配置,在視頻處理領(lǐng)域比以往的視頻編碼標準更加適合視頻處理的發(fā)展方向,更加適合不同應用環(huán)境的對象。H.264充分考慮了多媒體通信對視頻編解碼的各種要求,有著(zhù)多個(gè)技術(shù)閃光點(diǎn),在保留運動(dòng)補償和變換編碼技術(shù)的基礎上,加入了諸如類(lèi)離散余弦整數變換(DCT)、基于內容的自適應可變長(cháng)編碼(CAVLC)、基于上下文的自適應二進(jìn)制算術(shù)編碼(CABAC),以及高精度、多模式的運動(dòng)估計等新技術(shù),進(jìn)一步提高了編碼算法的壓縮效率和圖像回放質(zhì)量。在肉眼主觀(guān)感受相同的情況下,H.264較之H.263的編碼效率提高了50%左右。
利用高性能數字信號處理器(DSP)來(lái)實(shí)現H.264實(shí)時(shí)編碼器是一種快速有效的方法,有助于H.264視頻標準的迅速推廣和應用,也指明了視頻圖像壓縮領(lǐng)域最新的研究方向。
1 H.264編碼的關(guān)鍵技術(shù)
1.1 基于靈活分割宏塊(MB)的運動(dòng)矢量估計和補償以及增加變換的壓縮效果
H.264根據宏塊的編碼特性采用亮度塊直流變換,色度塊直流變換與普通差值變換相結合的方法。在運動(dòng)估計時(shí),H.264信源編碼采用基于4×4塊的整數變換,可以靈活地選擇塊的大小。而其他標準處理的像素塊大小均為16×16或者8x8。H.264以可變大小的塊來(lái)適應不同應用環(huán)境和要求,采用16×16,16×8,8×16,8×8四種模式;當劃分為8×8模式時(shí),又可進(jìn)一步采用8×4,4×8,4×4三種子宏塊劃分模式進(jìn)一步劃分,如圖1所示。根據需要由不同尺寸的宏塊來(lái)執行,采用整數變換既可以使運動(dòng)物體的劃分更加精確,不可以減小運動(dòng)物體邊緣的銜接誤差,處理好需要更多運動(dòng)細節的場(chǎng)合,即以引入更小運動(dòng)補償塊可以提高一般和特殊情況下的預測質(zhì)量,它可以提高主觀(guān)視覺(jué)效果,同時(shí)又減小了變換過(guò)程中的計算量。實(shí)驗表明,應用7種不同大小和形狀的塊可以比單一利用16×16塊進(jìn)行的編碼提高15%以上的壓縮率。
1.2 支持l/4像素或l/8像素精度的運動(dòng)估值
運動(dòng)估計與補償算法是目前視頻壓縮技術(shù)中最為關(guān)鍵的部分,影響著(zhù)編碼的速度、質(zhì)量和碼率,其編碼的復雜度也是整個(gè)編碼系統中最高的。
在H.264中通過(guò)6階FIR濾波器的內插獲得1/2像素位置的預測值。當獲得1/2像素值后,通過(guò)取整數像素位置和1/2像素位置像素值均值的方式獲得l/4像素位置的值。在高碼率情況下,提供1/8像素精度的運動(dòng)估計。采用高精度運動(dòng)估計會(huì )進(jìn)一步減小幀間預測誤差,減少經(jīng)變換和量化后的非0比特數,提高了編碼效率。利用1/4像素空間精度可以比原有的一個(gè)像素精度(整數精度)預測提高20%的編碼效率。
1.3 多參考幀預測
參考幀是幀間預測編碼,也就是運動(dòng)補償的基礎,根據它與待預測幀之間的位置關(guān)系,可分為前向參考幀和后向參考幀。
以往的編解碼技術(shù)在對P幀圖像進(jìn)行幀間預測時(shí),只允許以參考前一幀圖像進(jìn)行編碼,即以前一個(gè)I圖像或P圖像為參考幀,在對B圖像進(jìn)行預測時(shí),只允許參考前后幀圖像進(jìn)行編碼,即以前后兩個(gè)I圖像或P圖像為參考圖像。H.264則打破了這些限制,允許在從當前幀的前幾幀中選擇一幀作為參考幀圖像,對宏塊進(jìn)行運動(dòng)預測,當選用多參考幀模式時(shí)。編碼器從幾個(gè)參考幀中選擇一個(gè)效果最好的參考幀,達到最佳的預測效果,參考幀圖像甚至可以是采用雙向預測編碼方式的圖像,大幅度降低了預測誤差。另外,幀問(wèn)編碼部分還引入了SP幀,用于有效地實(shí)現編碼率環(huán)境下的切換,可用于隨機、快速播放過(guò)程,比單參考幀的方法節省5%~lO%的傳碼率,并且有利于比特流的錯誤恢復、解碼恢復更高圖像質(zhì)量。因此,多參考幀預測對周期性運動(dòng)和背景切換能夠提供更好的預測效果。
評論