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