張正華, 許 曄 , 劉國澍, 徐 翔, 蘇 權
(1.揚州大學 信息工程學院,江蘇 揚州 225127;2.揚州國脈通信發(fā)展有限責任公司 江蘇 揚州 225002;3.揚州市公安局交通巡邏警察支隊 江蘇 揚州 225007)
智能交通的信息采集系統(tǒng)主要由線圈檢測器、車輛通行的RFID電子信息卡、視頻等組成。如果只用線圈檢測器或者RFID卡檢測交通流量,只能檢測到某個路口的流量信息,而不能判斷某個區(qū)域中的交通擁堵情況,通過視頻采集的交通圖像,可以反映出某個區(qū)域的整體交通情況。但在道路上視頻數(shù)據(jù)傳輸?shù)沫h(huán)境比較惡劣,如路口的視頻圖像通過無線信道傳輸?shù)铰房诘墓た貦C,若使用現(xiàn)有的算法,則工控機接收到的視頻數(shù)據(jù)不太理想,因此針對如何改善在帶寬較窄、誤碼率高的信道中傳輸?shù)囊曨l圖像質量進行研究。
ITU和ISO聯(lián)合制定的H.264/AVC標準通過各種編碼工具提供高效編碼,同時提供了一系列容錯工具,改善不可靠信道上傳送視頻碼流的可靠性[1-2]。FMO是H.264中引進的新機制,通過在視頻幀中分散傳輸差錯引起的失真,結合適當?shù)牟铄e隱藏技術,減小丟包等傳輸差錯的視覺影響,是一種有效的容錯機制[3-5]。文獻[6]為進一步增強在不可靠信道上傳輸視頻的魯棒性,提出了在運動向量搜索的率失真優(yōu)化框架下,結合靈活宏塊排列容錯機制,對差錯隱藏失真進行優(yōu)化。文獻 [7]綜合FMO與非同等差錯保護 (Unequal Error Protection),給予圖像中的重要區(qū)域(region of interest)更好的保護,但這同時也帶來了如何確定重要區(qū)域的問題;文獻[8]則根據(jù)宏塊對差錯隱藏的重要性,利用FMO機制將宏塊劃分為一個重要組和一個次要組;文獻[9]對7種FMO編碼模式的性能做了詳細的比較,在編碼效率和解碼質量之間各有所長,最主要的模式有3個:分別是FMO模式0、FMO模式1和FMO模式2,如何充分利用這3種模式間的優(yōu)勢,彌補他們的缺點,達到最佳的效果是我們接下來需要討論的重點。
視頻圖像的編碼碼流具有很大的不確定性,它依賴于視頻圖像之間的運動相關性,如每幀交通視頻圖像中的運動目標,都與前一幀圖像中的運動目標有一定的相關性,即便把碼流限定在某一固定值,它也會圍繞固定值上下波動。無線傳輸系統(tǒng)中,信道帶寬是相當有限的,而視頻圖像的內(nèi)容一般我們又不能限制它,如交通視頻圖像中的內(nèi)容是經(jīng)常變化的。而解決這個問題前人想出了碼率控制算法來解決問題,而經(jīng)典的碼率控制算法就有TM5、TMN8、VM8等多種。筆者將碼率控制和抗誤碼能力二者結合起來考慮,使編碼器既能控制碼率的穩(wěn)定,又能兼顧容錯編碼的抗誤碼能力,這對帶寬窄、誤碼高的無線信道中非常的適用。
為了在編碼碼率和抗誤碼能力之間有一個平衡,筆者利用一幀中預測模式的選擇來判斷當前幀的運動復雜度,根據(jù)復雜度自適應的選擇編碼所需的FMO模式。在圖像運動劇烈時一幀圖像的幀間預測模式中小宏塊分割在當前幀中所有分割模式中所占比例會急劇上升,程序自動調(diào)整使用編碼效率高的FMO編碼模式,暫時性降低抗誤碼能力,反之亦然。
在幀間預測中有7種不同的塊尺寸來進行運動估計/補償(16×16,16×8,8×16,8×8,8×4,4×8,4×4)。 小宏塊的分割方式使得圖像更加的細膩和清晰,但同時也帶來了編碼復雜度的增加,增加了硬件的實現(xiàn)復雜度。在實驗中為了減少編碼時間,降低運算復雜度,筆者使用了4種不同的塊尺寸(16×16,16×8,8×16,8×8)來進行幀間預測,減少編碼時間。 分別用stat->mode_use[P_SLICE][P16×16]、stat->mode_use[P_SLICE][P16 ×8]、stat->mode_use[P_SLICE][P8 ×16]、stat->mode_use[P_SLICE][P8×8]、stat->mode_use[P_SLICE][P4×4]來表示。
使用 slice_group_map_type 標記幀間預測模式,a、b、c、d、e分別表示對應4種塊尺寸的加權系數(shù),i表示圖像運動復雜度。那么圖像運動復雜度i可以表示為:
為了判斷當前幀的FMO模式的選擇,以當前圖像運動復雜度為依據(jù),設置兩個閾值 Vth1、Vth2(Vth1
經(jīng)過以上分析,文中算法步驟總結如下:
1)首先檢測當前一幀圖像的幀間預測模式,分別記錄16×16、16×8、8×16 和 8×8、4×4 5 種分割模式在一幀圖像中的個數(shù)。
2)根據(jù)得到的5種分割模式在一幀圖像中的多少計算當前圖像的運動復雜度i的值。
3)設置運動復雜度的兩個閾值Vth1、Vth2,當i
4)判斷i是否大于Vth2,如果是則調(diào)用FMO模式2進行 FMO的初始化,然后跳向(6);否則跳向(5);
5)調(diào)用FMO模式0進行FMO的初始化,然后跳向(6);
6)根據(jù)FMO初始化得到的模板進行編碼;
算法流程圖如圖1所示。
圖1 自適應FMO優(yōu)化算法流程圖Fig.1 Flow chart of the adaptive FMO optimization algorithm
為了分析筆者提出的自適應FMO方法的可行性,文中使用了標準測試序列Forman、Slice、hall和grandma對算法進行了測試,將無FMO、FMO模式0、FMO模式1、FMO模式2和提出的自適應FMO方法做性能的比較。
從表1可以看出,foreman序列的碼率最大,這是因為foreman序列運動復雜并且有鏡頭抖動,殘差較大,編碼效率較低;grandma序列背景簡單并且只有人物頭部有輕微的運動,殘差較小,編碼效率最高。其他序列其次。同一序列在不同F(xiàn)MO模式下也有明顯的差別,F(xiàn)MO模式1碼率最大,效率最低,這一點早得到前人的證明。同時我們也可以看出本文提出的自適應FMO模式的效率介于FMO模式0和無FMO之間,這是因為自適應模式的選擇是在3種FMO模式中根據(jù)圖像運動復雜度自適應的選擇。從圖2可以看出客觀效果圖。
表1 不同的QCIF序列在不同F(xiàn)MO情況下的編碼總比特率(kb/s)Tab.1 Total encoding bit rate of different QCIF sequence in different FMO case (kb/s)
從表2可以看出,4種測試序列在各種編碼模式下編碼后圖像質量差別很小,幾乎沒有變化。說明編碼模式的選擇對圖像編碼后的圖像影響可以忽略不計。這從圖3可以更清晰地看出,在該圖中肉眼幾乎無法分辨這些圖像間的微小差別。
從表3中可以看出文中的自適應FMO編碼模式所花費的時間最長,這是因為文中的自適應FMO編碼模式算法相對復雜,在FMO初始化之前先進行了一遍幀間預測模式選擇的過程,得到各分割模式的數(shù)量,接著計算出當前圖像的運動復雜度,自適應地產(chǎn)生初始化模版,然后進行正常的編碼過程。增加了運算的復雜度,從而增加了編碼過程中的時間。
圖2 不同的QCIF序列在不同F(xiàn)MO情況下的編碼總比特率 (kb/s)Fig.2 Total encoding bit rate of different QCIF sequence in different FMO case (kb/s)
表2 不同QCIF序列在不同F(xiàn)MO情況下編碼的Y分量平均信噪比(SNR/dB)Tab.2 Encoded Y component of the average signal-to-noise ratio of different QCIF sequence in different FMO case (SNR/dB)
圖3 不同QCIF序列在不同F(xiàn)MO情況下編碼后圖像主觀質量Fig.3 Coding frame subjective quality of different QCIF under different FMO
表3 不同QCIF序列在不同F(xiàn)MO情況下所用的編碼時間(T/s)Tab.3 Coding time of different QCIF under different FMO(T/s)
從表4中可以看出運動復雜度低的grandma序列解碼后信噪比比較高,那是因為運動復雜度低的圖像更有利于空間隱藏,提高了隱藏效果;運動復雜度高的foreman序列解碼后信噪比比較低,因為運動變化比較大,圖像間的相關性大大降低,隱藏效果自然不如運動復雜度低的視頻序列。對同一序列而言,使用自適應FMO編碼方法解碼出來的圖像質量適中。
表4 不同QCIF序列在不同F(xiàn)MO情況下解碼后圖像質量(SNR/dB)Tab.4 Decoding frame quality of different QCIF under different FMO (SNR/dB)
圖4 不同QCIF序列在不同F(xiàn)MO情況下解碼后圖像質量(SNR/dB)Fig.4 Decoding frame quality of different QCIF under different FMO (SNR/dB)
為了更加直觀地反映解碼后圖像的重建效果,我們截取slice測試序列,在不同F(xiàn)MO模式下的解碼后圖像主觀質量做一個對比。
從上面的仿真數(shù)據(jù)可以看出,利用圖像幀間編碼預測模式中的5種分割的數(shù)量,反映當前圖片的運動復雜度,根據(jù)固定的計算公式計算出圖像的運動復雜度,然后判斷圖像的復雜度來使用不同的FMO模式進行編碼是完全可行的,效果是好的,尤其在運動復雜度變化比較頻繁和劇烈的時候該方法的效果更明顯。有效地平衡了編碼效率和抗誤碼能力在編碼中的應用,提高了編碼碼率的恒定性,尤其在帶寬有限且高誤碼的無線信道中該方面更適合使用。
圖5 slice序列解碼后原始圖像、無FMO、FMO各模式圖像主觀質量Fig.5 Subjective image quality of the decoding slice sequence of original image,no FMO,the each mode of FMO
文中將幀間預測模式選擇與FMO結合起來,提出了一種自適應FMO編碼方法,根據(jù)圖像的復雜度自適應的選擇編碼所需的FMO模式。仿真結果表明這種FMO編碼方式完全可行,且有效地平衡了編碼效率和抗誤碼能力的矛盾。利用此方法實現(xiàn)智能交通系統(tǒng)中視頻圖像的傳輸將是下一步的工作,進一步地證明FMO編碼方式可使用于環(huán)境惡劣的無線信道中。
[1]畢厚杰.新一代視頻壓縮編碼標準H.264/AVC[M].北京:人民郵電出版社,2005.
[2]沈蘭蓀,卓力.小波編碼與網(wǎng)絡視頻傳輸[M].北京:科學出版社,2005.
[3]Wenger S.H.264/AVC over IP[J].IEEE Trans Cir Syst Video Technol,2003,7(13):645-656.
[4]Wenger S,Horowitz M.Scattered slices:a new error resilience tool for H.26L,JVT-B027[S].2002-02.
[5]馬宇峰,魏維,楊科利.視頻通信中的錯誤隱藏技術[M].北京:國防工業(yè)出版社,2007.
[6]謝治平,鄭更生.一種基于FMO的H.264容錯編碼[J].計算機工程與應用,2006(31):200-203.
XIE Zhi-ping,ZHENG Geng-sheng.H.264 error resilient coding scheme based on flexible macroblock ordering[J].Computer Engineering and Applications,2006(31):200-203.
[7]Hannuksela M M,Wang Y K,Gabbouj M.Isolated regions in video coding[J].IEEE Trans Multimedia,2004,6(2):259-267.
[8]Im S K,Pearmain A J.Unequal error protection with the H.264 flexible macroblock ordering[C]//Beijing:Proc SPIE VCIP,2005:1033-1040.
[9]萬里晴,李學明.H.264的差錯控制與錯誤隱藏技術研究[J].計算機工程與應用,2007,43(16):53-57.
WAN Li-qing,LI Xue-ming.Error control and error concealment techniques used in H.264[J].Computer Engineering and Applications,2007,43(16):53-57.