亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        H.264 JM模型中丟包算法的研究及改進(jìn)

        2011-08-09 05:04:00唐貴進(jìn)朱秀昌
        電視技術(shù) 2011年13期
        關(guān)鍵詞:碼流包率數(shù)據(jù)包

        唐貴進(jìn),朱秀昌

        (南京郵電大學(xué) 江蘇省圖像處理與圖像通信重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210003)

        責(zé)任編輯:哈宏疆

        0 引言

        隨著通信技術(shù)的不斷發(fā)展,現(xiàn)有網(wǎng)絡(luò)的帶寬和傳輸質(zhì)量都得到了很大的提高,然而丟包問(wèn)題依然是通信網(wǎng)絡(luò)研究領(lǐng)域中不可避免的問(wèn)題[1-2]。一般來(lái)說(shuō),當(dāng)數(shù)據(jù)包在網(wǎng)絡(luò)上傳輸時(shí),發(fā)生丟包的原因大致有兩個(gè):擁塞丟包與無(wú)線鏈路差錯(cuò)丟包。前者發(fā)生的主要原因是網(wǎng)絡(luò)上數(shù)據(jù)傳輸量過(guò)大,導(dǎo)致網(wǎng)絡(luò)設(shè)備傳送處理不及時(shí),使得設(shè)備隊(duì)列緩沖區(qū)溢出而丟包。這往往造成突發(fā)丟包(即連續(xù)丟包)。后者的發(fā)生又大致分為兩種情況,一種是受隨機(jī)差錯(cuò)(如高斯白噪聲)的影響從而造成隨機(jī)丟包,另一種則是由于移動(dòng)信號(hào)的多徑和快衰落等從而造成連續(xù)丟包。

        H.264是國(guó)際電信聯(lián)盟ITU-T和國(guó)際標(biāo)準(zhǔn)化組織ISO聯(lián)合開(kāi)發(fā)的新一代視頻壓縮編碼標(biāo)準(zhǔn),JM(jointmod?el)[3]是其官方測(cè)試源代碼,它實(shí)現(xiàn)了H.264的所有特性。H.264碼流文件有兩種格式,分別為附錄B格式和RTP打包格式,分別用于模擬數(shù)據(jù)存儲(chǔ)在介質(zhì)(如DVD光盤)上和網(wǎng)絡(luò)傳輸環(huán)境中。對(duì)于前者,一般不必考慮數(shù)據(jù)丟失,而對(duì)于后者,由于網(wǎng)絡(luò)的不確定性,往往有數(shù)據(jù)包丟失[4-6]。為了研究丟包對(duì)重建視頻質(zhì)量的影響,從JM13.0模型開(kāi)始,增加了名稱為rtp_loss的丟包工具,可以對(duì)RTP打包格式的H.264碼流進(jìn)行丟包。然而,本文在模擬丟包時(shí)發(fā)現(xiàn),此丟包工具存在如下3個(gè)問(wèn)題:1)實(shí)際的丟包率與所設(shè)定的預(yù)期值經(jīng)常會(huì)有偏差,且偏差在百分之十以上,當(dāng)RTP數(shù)據(jù)包較少時(shí),偏差將更為明顯;2)只能模擬隨機(jī)丟包,不能模擬突發(fā)丟包;3)在丟包率不變的情況下,對(duì)同一個(gè)碼流進(jìn)行多次丟包實(shí)驗(yàn),則每次實(shí)驗(yàn)丟棄包的序號(hào)總是一樣的,達(dá)不到隨機(jī)的效果。本文將對(duì)以上3個(gè)問(wèn)題進(jìn)行分析并提出改進(jìn)方法。

        1 JM模型中的丟包算法

        1.1 RTP封裝及寫入文件的格式

        JM模型中對(duì)網(wǎng)絡(luò)抽象層單元(Net Abstract Layer Unit,NALU)的RTP封裝方案稱為“簡(jiǎn)單包”方案(即直接將一個(gè)NALU放進(jìn)一個(gè)RTP包),而沒(méi)有采用復(fù)雜的RFC3984[7]的方案(依據(jù)RFC3984,可以將多個(gè)NALU放進(jìn)一個(gè)RTP包或者將一個(gè)NALU拆開(kāi)放進(jìn)多個(gè)RTP包中)。對(duì)于RTP包,采用RFC3550【8】格式封裝,具體如圖1所示。

        圖1 把一個(gè)NALU封裝進(jìn)一個(gè)RTP包

        對(duì)于已經(jīng)封裝好的RTP包,JM中對(duì)其又進(jìn)行了再次封裝(這里將此封裝樣式稱為寫文件包),然后寫入文件中。此處再次封裝的格式為(見(jiàn)圖2):先寫4 byte的包長(zhǎng),之后是4 byte的時(shí)間戳,但這個(gè)時(shí)間戳是固定值,恒為-1(即0XFF FF FF FF),最后是數(shù)據(jù)體(即RTP包)。每個(gè)RTP包寫入文件的封裝依此類推。

        圖2 把RTP包再次封裝

        1.2 丟包算法流程及問(wèn)題分析

        1.2.1 丟包算法流程

        在JM的丟包算法中,包含3個(gè)必需參數(shù)和1個(gè)可選參數(shù),其中3個(gè)必需參數(shù)為:參數(shù)1表示H.264的碼流文件,參數(shù)2表示生成的有丟包的H.264文件,參數(shù)3表示設(shè)定的丟包率,1個(gè)可選參數(shù)表示從碼流文件的第多少個(gè)包后可以開(kāi)始丟包,即一開(kāi)始保留多少包不允許丟棄。具體流程如圖3所示。

        1.2.2 問(wèn)題分析

        對(duì)于實(shí)際的丟包率與所設(shè)定的預(yù)期值經(jīng)常會(huì)有偏差問(wèn)題,從圖3中可以看出,JM模型的丟包算法是基于大數(shù)定律的,其內(nèi)容就是在試驗(yàn)不變的條件下,重復(fù)試驗(yàn)多次,隨機(jī)事件的頻率近似于它的概率。結(jié)合此算法,就是丟包的數(shù)目應(yīng)該等于設(shè)定的丟包率。而大數(shù)定理的基本條件就是實(shí)驗(yàn)要重復(fù)多次,也就是說(shuō)數(shù)據(jù)包的數(shù)目要盡可能的多,一旦H.264碼流文件中RTP包數(shù)目較少,則實(shí)際的丟包數(shù)往往與設(shè)定的不能一致。RTP包的數(shù)目越少,這種不一致的現(xiàn)象表現(xiàn)得越明顯。

        對(duì)于不能模擬突發(fā)丟包問(wèn)題則比較簡(jiǎn)單,從圖3的流程中可以看出,此算法中沒(méi)有此功能。

        至于在相同丟包率條件下對(duì)同一個(gè)碼流進(jìn)行多次丟包時(shí)丟棄包的序號(hào)相同的問(wèn)題可以這樣解釋:在圖3中有一個(gè)“產(chǎn)生一個(gè)0~100之間隨機(jī)數(shù)”的功能模塊,其在具體代碼實(shí)現(xiàn)過(guò)程中直接調(diào)用的rand()函數(shù)。而rand()函數(shù)在生成隨機(jī)數(shù)序列時(shí),需要一個(gè)稱為“隨機(jī)數(shù)種子”的參數(shù),如果每次實(shí)驗(yàn)時(shí)這個(gè)參數(shù)值一樣,則每次實(shí)驗(yàn)產(chǎn)生的隨機(jī)數(shù)序列也將一樣,反之,則不一樣。如果未設(shè)定隨機(jī)數(shù)種子,rand()函數(shù)在調(diào)用時(shí)會(huì)自動(dòng)設(shè)隨機(jī)數(shù)種子為1,而JM丟包算法的代碼中恰恰沒(méi)有設(shè)定隨機(jī)數(shù)種子,因此,每次實(shí)驗(yàn)時(shí)種子參數(shù)值都相同,從而導(dǎo)致在丟包率不變的情況下,對(duì)同一個(gè)碼流做多次丟包實(shí)驗(yàn),其每次產(chǎn)生的丟包序列的序號(hào)將完全一樣。

        鑒于以上分析,提出了本文對(duì)解決這3個(gè)問(wèn)題的改進(jìn)算法。

        2 改進(jìn)的算法

        針對(duì)前面所述3個(gè)問(wèn)題,筆者提出了解決辦法,現(xiàn)分別敘述之:

        1)對(duì)于丟包數(shù)不準(zhǔn)確,采用了先計(jì)算出丟包數(shù),再嚴(yán)格按照丟包數(shù)隨機(jī)丟包的方法。具體步驟如下:

        步驟(1):首先讀取H.264碼流文件,統(tǒng)計(jì)其寫文件包的總數(shù)N總。

        步驟(2):根據(jù)設(shè)定的丟包率RLS和N總,確定丟包數(shù)N L。

        步驟(3):產(chǎn)生一個(gè)Nstart-N總之間的隨機(jī)數(shù)ilost,并置序號(hào)為ilost的寫文件包的標(biāo)志位為“l(fā)ost”標(biāo)志,其中

        步驟(4):重復(fù)步驟3)的過(guò)程(如果新產(chǎn)生的隨機(jī)數(shù)與先前產(chǎn)生的隨機(jī)數(shù)相同或者相近,則重新產(chǎn)生隨機(jī)數(shù),以避免同一個(gè)數(shù)據(jù)包要被丟棄兩次以及使丟包的序號(hào)看起來(lái)更加的隨機(jī)),直至共設(shè)置了NL個(gè)“l(fā)ost”標(biāo)志位。

        步驟(5):依次讀取H.264碼流文件的寫文件包,如果此包的標(biāo)志位為“l(fā)ost”,則丟棄該包,否則將該包寫入到丟包的H.264碼流文件中,直至文件讀取結(jié)束。

        2)對(duì)于突發(fā)丟包,采用Gilbert-Elliott模型[9](簡(jiǎn)稱GE模型,見(jiàn)圖4)生成。

        在GE模型中,PG表示當(dāng)傳輸通道處于“好”(G)狀態(tài)時(shí)發(fā)生數(shù)據(jù)包遺失的概率;PB表示當(dāng)傳輸通道處于“壞”(B)狀態(tài)時(shí)發(fā)生數(shù)據(jù)包遺失的概率;PGB代表傳輸通道的狀態(tài)從好變成壞的概率;PBG代表傳輸通道的狀態(tài)從壞變成好的概率。在穩(wěn)態(tài)的情形下,傳輸通道處于“好”的狀態(tài)和“壞”的狀態(tài)的概率分別為

        因此,對(duì)于GE模型而言,整體的平均丟包率為

        3)對(duì)于每次實(shí)驗(yàn)結(jié)果都一致的問(wèn)題,采取給rand函數(shù)每次實(shí)驗(yàn)時(shí)賦不同隨機(jī)數(shù)種子的方法。這個(gè)賦值工作在程序中借助srand函數(shù)完成,調(diào)用srand函數(shù)將會(huì)把其參數(shù)值傳遞給rand函數(shù)的種子。而為了讓每次運(yùn)行程序的種子值是不同的,可以用time函數(shù)的返回值作為srand函數(shù)的參數(shù),time函數(shù)返回從1970年1月1日零時(shí)零分零秒到目前為止(即程序執(zhí)行時(shí))所經(jīng)過(guò)的時(shí)間,單位為秒。因?yàn)槊看芜\(yùn)行程序的時(shí)間是不同的,從而保證了每次實(shí)驗(yàn)時(shí)種子值是不同的,也就保證了每次實(shí)驗(yàn)生成的丟包序號(hào)的不一樣。

        3 實(shí)驗(yàn)結(jié)果及分析

        下面采用JM15.0對(duì)視頻foreman.cif進(jìn)行編碼,編碼結(jié)構(gòu)為IPPP…,GoP大小為15,QPISlice和QPPSlice均為28,RTP打包方式,每個(gè)包長(zhǎng)設(shè)為100 byte。具體測(cè)得的實(shí)際丟包率如表1所示。

        表1 不同幀數(shù)、不同丟包率下本文算法與原算法的實(shí)際丟包率

        根據(jù)表1的數(shù)據(jù),計(jì)算出兩個(gè)算法的實(shí)際丟包率RLA與設(shè)定丟包率RLS的差值RΔ,計(jì)算公式為

        將差值RΔ圖形化表示,結(jié)果如圖5所示。

        由圖4可見(jiàn),JM中算法的實(shí)際丟包率與設(shè)定丟包率之間的差值較大,而且當(dāng)幀數(shù)較少(即相應(yīng)的編碼生成的數(shù)據(jù)包較少)時(shí),差值往往更大。而本文算法的差值則遠(yuǎn)小于原來(lái)的算法,差值絕大多數(shù)都圍繞在0的附近。

        接下來(lái)測(cè)試突發(fā)丟包模塊以及每次實(shí)驗(yàn)所得序列是否不同。以100幀foreman.cif碼流為測(cè)試對(duì)象,設(shè)定丟包率為1%。丟包結(jié)果如表2所示。

        表2 不同實(shí)驗(yàn)下本文算法與原算法的丟包序列

        從表2中可以看出,本文的突發(fā)丟包模塊能夠正確地模擬連續(xù)的丟包。同時(shí),原算法每次實(shí)驗(yàn)時(shí)丟包序列都一樣,而本文算法,不管是隨機(jī)丟包還是突發(fā)丟包,每次實(shí)驗(yàn)結(jié)果都不一樣,從而達(dá)到了“隨機(jī)”的目的。

        4 小結(jié)

        盡管網(wǎng)絡(luò)通信技術(shù)發(fā)展迅猛,但是數(shù)據(jù)丟包始終是其無(wú)法回避的問(wèn)題。本文對(duì)H.264建議的參考軟件JM模型中丟包算法進(jìn)行了研究,分析了其存在的問(wèn)題,并提出了相應(yīng)的解決辦法。實(shí)驗(yàn)結(jié)果表明,本文的算法能夠比較精確地進(jìn)行隨機(jī)丟包和突發(fā)丟包,并具有隨機(jī)的效果。

        [1]李秀敏,王立,李桂苓.數(shù)字電視傳送流丟包和丟包率研究[J].電視技術(shù),2005,29(6):43-45.

        [2]盧劉明,陸肖元.基于網(wǎng)絡(luò)丟包的網(wǎng)絡(luò)視頻質(zhì)量評(píng)估[J].中國(guó)圖象圖形學(xué)報(bào),2009,14(1):52-58.

        [3]H.264/AVC Reference Software[EB/OL].[2010-06-01].http://iphome.hhi.de/suehring/tml/.

        [4]LIN T-L,COSMAN P C,REIBMAN A R.Perceptual Impactof Bursty Versus Isolated Packet Losses in H.264 Compressed Video[C]//Proc.15th IEEE International Conference on Image Processing.[S.l.]:IEEE Press,2008:2780-2783.

        [5]KANUMURI S,SUBRAMANIAN S G,COSMAN P C,et al.Predicting H.264 packetloss visibility using a generalized linear model[C]//IEEE International Conference on Image Processing,2006.[S.l.]:IEEE Press,2006:2245-2248.

        [6]楊林濤,江昊,郭成城,等.基于Markov鏈Packet-Level的VANET差錯(cuò)預(yù)測(cè)模型及性能預(yù)估[J].電子學(xué)報(bào),2009,37(10):2333-2337.

        [7]WENGER S,HANNUKSELA M M,STOCKHAMMER T,et al.RTP payload formatfor H.264 video:RFC3984[S].2005.

        [8]SCHULZRINNE H,CASNER S,F(xiàn)REDERICK R,etal.RTP:A transport protocolforreal-time applications:RFC 3550[S].2003.

        [9]EBERT J-P,WILLIG A.A gilbert-elliotbiterrormodeland the efficient use in packetlevelsimulation:TKN-99-002[R].Berlin:TKN,1999.

        猜你喜歡
        碼流包率數(shù)據(jù)包
        支持向量機(jī)的船舶網(wǎng)絡(luò)丟包率預(yù)測(cè)數(shù)學(xué)模型
        一種基于噴泉碼的異構(gòu)網(wǎng)絡(luò)發(fā)包算法*
        分布式碼流實(shí)時(shí)監(jiān)控與錄制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        數(shù)字電視TS碼流協(xié)議簡(jiǎn)要分析
        視聽(tīng)(2021年8期)2021-08-12 10:53:42
        SmartSniff
        一種新的VANET網(wǎng)絡(luò)鏈路丟包率估計(jì)算法
        TCN 協(xié)議分析裝置丟包率研究
        一種比較ASN.1碼流差異的方法
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        基于梯度的CCSDS壓縮碼流控制算法研究
        国产亚洲综合一区二区三区| 日本av在线精品视频| 老岳肥屁熟女四五十路| 国产成人精品免费视频大全软件| 免费看黄色电影| 女性自慰网站免费看ww| 97激情在线视频五月天视频| 亚洲成在人线视av| 国产最新进精品视频| 亚洲日产无码中文字幕| 人妻秘书被社长浓厚接吻| 天天做天天爱夜夜爽女人爽| 射死你天天日| 精精国产xxxx视频在线播放器| 快射视频网站在线观看| 国产夫妇肉麻对白| 午夜精品一区二区三区在线观看| 国产亚洲曝欧美不卡精品| 国产亚洲精品在线视频| 末成年女a∨片一区二区| 亚洲综合欧美在线| 日韩精品高清不卡一区二区三区| 一二三四五区av蜜桃| 亚洲av无码专区电影在线观看| av一区二区三区亚洲| 视频区一区二在线观看| 久久久久人妻一区精品| 亚洲自拍另类制服在线| 一区二区三区在线免费av| 日本妇人成熟免费2020| 欧美日韩国产一区二区三区不卡| 日韩久久av电影| 国产三级精品三级男人的天堂| 亚洲春色在线视频| 国产精品成人午夜久久| 成人全部免费的a毛片在线看| 午夜三级a三级三点在线观看| 日本少妇人妻xxxxx18| 男子把美女裙子脱了摸她内裤| 末成年人av一区二区| 天堂一区人妻无码|