宋 睿,姜秀華,史 惠
(中國傳媒大學 信息工程學院,北京 100024)
由于移動多媒體廣播傳輸帶寬較窄,需要對視頻信號進行高倍數(shù)壓縮編碼,因此圖像質(zhì)量將會產(chǎn)生較大的損傷。為滿足人們的觀看需求及傳輸信道帶寬要求,移動多媒體的視頻質(zhì)量評價顯得越來越重要。量化處理等圖像壓縮過程是導致質(zhì)量下降的主要因素,而在壓縮域中可以直接提取量化參數(shù)等圖像編碼參數(shù)[1],因此壓縮域中進行視頻質(zhì)量評價具有較低的復雜性及較高的評價性能,并且可以邊解碼邊評價圖像質(zhì)量,具有較高的實際應用價值。
在移動多媒體廣播中廣泛采用的是H.264[2]視頻壓縮標準,筆者主要研究基于H.264壓縮域的視頻圖像質(zhì)量的客觀評價方法[3],從H.264編解碼程序中提取能夠代表圖像質(zhì)量的特征參數(shù),通過參數(shù)擬合對當前視頻碼流的圖像質(zhì)量進行客觀評價,并與PSNR全參考評價值進行比較。
主要分析與視頻圖像質(zhì)量相關(guān)的兩個重要參數(shù):量化參數(shù)(QP)以及編碼跳過的宏塊數(shù)(num_skip)。在視頻圖像編碼中,量化(Quantization)[4]處理往往與各種變換過程結(jié)合以達到去除圖像空間冗余度的目的。量化過程的優(yōu)劣直接影響圖像編碼質(zhì)量,H.264采用標量量化技術(shù),將每個圖像樣點編碼映射成較小的數(shù)值。一般標量量化器的原理為
式中:y為輸入樣本點編碼,QP為量化步長,F(xiàn)Q為y的量化值,round()為取整函數(shù)(其輸出為與輸入實數(shù)最近的整數(shù))。在量化和反量化過程中,量化步長QP決定量化器的編碼壓縮率及圖像精度。編碼器根據(jù)圖像值實際動態(tài)范圍自動改變QP值,在編碼長度和圖像精度之間折中,達到整體最佳效果。
除量化參數(shù)外,另一個在編碼過程中與圖像質(zhì)量息息相關(guān)的參數(shù)為編碼跳過的宏塊數(shù)。當圖像采用幀間預測編碼時,H.264允許在圖像平坦的區(qū)域使用“跳躍”塊,“跳躍”塊本身不攜帶任何數(shù)據(jù),解碼器通過周圍已重建的宏塊數(shù)據(jù)來恢復“跳躍”塊。因此,對于編碼跳過的宏塊數(shù)來說,跳過的宏塊數(shù)越多,不需要編碼的宏塊變多,則編碼后碼率越小,相應質(zhì)量變得更差。
經(jīng)分析,量化參數(shù)和編碼跳過的宏塊數(shù)都會不同程度地反映在壓縮過程中對視頻質(zhì)量的損傷。因此筆者以這2個參量作為研究對象,從壓縮程序中將其提取出來,以最佳線性擬合后的函數(shù)作為客觀評價模型。
在解碼端首先將H.264視頻碼流分割成多個NAL單元,然后對分割出來的每個NAL單元進行解碼,解出各種類型的片后對片(Slice)進行解碼。實現(xiàn)該解碼端參考程序主函數(shù)的框架如圖1所示。函數(shù)decode_one_frame()[5]是主函數(shù)中的核心函數(shù),套用一次循環(huán)將H.264序列解碼。decode_one_frame()函數(shù)循環(huán)執(zhí)行以下3個函數(shù):讀一個片 read_new_slice(),解一個片 decode_slice()和退出當前圖像exit_picture(),如圖2所示。
圖1 解碼器主函數(shù)執(zhí)行流程圖
圖2 decode_one_frame函數(shù)執(zhí)行圖
解碼器通過調(diào)用exit_picture()函數(shù)完成對圖像的解碼,錯誤隱藏以及將解碼后的圖像存入解碼緩沖區(qū)。當運行到exit_picture()函數(shù)時,片級信息已經(jīng)完全解碼出來,因此在該函數(shù)中添加提取量化參數(shù)值的算法,就能輸出量化參數(shù)QP。
對于編碼跳過的宏塊數(shù)的提取算法則應在宏塊層,在 decode_slice()函數(shù)中包括初始化宏塊 start_macroblock()、讀入宏塊 read_one_macroblock()和解宏塊decode_one_macroblock()。 其中,read_one_macroblock()中讀入了宏塊的基本信息,包括所要提取的編碼跳過的宏塊數(shù)。對mb_skip_run[6]的提取方法是:定義1個全局變量num_skip,每當讀取1個宏塊的信息時,就把mb_skip_run賦值給num_skip,使其進行累加,最后得到的num_skip就是整個序列編碼跳過的宏塊數(shù)。
采用的測試序列如表1所示,對300 kbit/s,350 kbit/s,400 kbit/s,450 kbit/s這4個不同碼率的3個測試序列進行了相應的測試。其中,“游艇”、“動畫”作為擬合序列,“獨輪車”作為測試序列。
表1 測試序列說明
PSNR[6]值由受損序列和原始參考序列計算得出,屬于全參考客觀評價方法,可以較好地比較原始圖像與受損圖像之間的差別,因此,將PSNR值作為評價標準進行相關(guān)性比較。
利用Microsoft Excel中的LINEST函數(shù)用對 “游艇”序列和“動畫”序列的量化參數(shù)QP值以及編碼跳過的宏塊數(shù)num_skip與相應的PSNR值進行線性擬合,得出客觀評價函數(shù)
利用該函數(shù)求得“獨輪車”、“游艇”和“動畫”3個序列客觀評價值,并與相應的PSNR值進行比較,如圖3所示。“獨輪車”,“游艇”和“動畫”這3個序列的特征值基本分布在一條直線上,由Microsoft Excel中的CORREL函數(shù)算得該評價系統(tǒng)的客觀評價值與PSNR值的相關(guān)性達99.33%,說明該客觀評價算法值與全參考PSNR值具有較強的相關(guān)性。
圖3 3個序列測試客觀評價值和PSNR的關(guān)系
針對移動多媒體廣播的視頻格式,提出基于H.264壓縮域的視頻客觀評價算法,在解壓過程中提取與受損視頻圖像相關(guān)的參數(shù),根據(jù)這些編碼參數(shù)來客觀評價視頻圖像質(zhì)量。由測試結(jié)果可知,該算法的客觀質(zhì)量評價值與PSNR全參考值有很強的相關(guān)性,且計算速度快,適用于移動多媒體廣播視頻質(zhì)量的實時評測。
[1]MICHALR, CATALINAC,OLIVIAN,etal.Contentbased video quality estimation for H.264/AVC video streaming[C]//Proc.IEEEWireless Communications&Networking Conference.Kowloon:IEEE Press,2007:1040-1044.
[2]姜秀華,張永輝.數(shù)字電視廣播原理及應用[M].北京:人民郵電出版社,2007.
[3]史惠,孟放,姜秀華.基于H.264碼流的高清視頻質(zhì)量評價算法[J].電視技術(shù),2009,33(11):113-116.
[4]畢厚杰.新一代視頻壓縮編碼標準——H.264/AVC[M].北京:人民郵電出版社,2005.
[5]中華視頻網(wǎng).關(guān)于 decode_on_frame()函數(shù)[EB/OL].[2009-11-01].http://bbs.chinavideo.org/forumdisplay.php?fid=29.
[6]ATUL P,XUEMIN C,AJAY L.Video coding using the H.264/MPEG-4 AVC compression standard[J].Signal Processing:Image Communication,2004,19:793-849.