基于TMS320DM365的實(shí)時(shí)視頻無(wú)線(xiàn)傳輸
摘要:為了實(shí)現基于TMS320DM365編碼的實(shí)時(shí)視頻流通過(guò)CDMA2000 EVDO網(wǎng)絡(luò )傳輸后能夠流暢播放的功能,同時(shí)緩解視頻傳輸延遲和馬賽克現象,文中通過(guò)對CDMA2000 EVDO網(wǎng)絡(luò )傳輸過(guò)程中數據丟包率和時(shí)間抖動(dòng)等參數的分析和論證,提出了在視頻編碼發(fā)送端進(jìn)行速率整形以適應網(wǎng)絡(luò )帶寬的方法。該方法主要是在視頻數據編碼完成后,通過(guò)CDMA2000 EVDO網(wǎng)絡(luò )發(fā)送時(shí),對發(fā)送數據的速率做出了兩次平滑調整。其結果表明,該方法能有效的改善傳輸視頻的質(zhì)量,提升視頻的流暢性。
本文引用地址:http://dyxdggzs.com/article/201610/306404.htm現有CDMA2000 EVDO網(wǎng)絡(luò )的帶寬完全可以滿(mǎn)足經(jīng)過(guò)壓縮編碼后的實(shí)時(shí)視頻數據的傳輸,但由于視頻監控領(lǐng)域實(shí)時(shí)性的要求,須采用UDP/ IP協(xié)議,它是面向非連接的,不可靠的傳輸服務(wù);同時(shí),CDMA2000 EVDO網(wǎng)絡(luò )自身具有波動(dòng)性比較大、誤碼率高、傳輸延遲等諸多特點(diǎn);經(jīng)過(guò)傳輸的視頻通常會(huì )出現延遲大,出現馬賽克等質(zhì)量問(wèn)題。因此,有必要對CDMA2000 EVDO網(wǎng)絡(luò )的特性進(jìn)行有效評估,來(lái)指導視頻編碼發(fā)送端視頻流的動(dòng)態(tài)調節,從而達到降低丟包率,實(shí)現視頻流暢播放的目的。
筆者依據CDMA2000 EVDO網(wǎng)絡(luò )的諸多特點(diǎn)和參考RTP協(xié)議來(lái)制定出評估CDMA2000 EVDO網(wǎng)絡(luò )特性的相關(guān)參數,再經(jīng)過(guò)大量的實(shí)驗數據統計、分析和論證,得出該網(wǎng)絡(luò )的特性。提出了在視頻編碼發(fā)送端進(jìn)行速率整形以匹配網(wǎng)絡(luò )帶寬的策略,并利用TMS320DM365的開(kāi)發(fā)平臺,對經(jīng)過(guò)H.264編碼的視頻流進(jìn)行了實(shí)時(shí)傳輸的測試。
1 CDMA2000 EVDO網(wǎng)絡(luò )特性參數分析
相比有線(xiàn)網(wǎng)路,CDMA2000 EVDO網(wǎng)絡(luò )具有一定的特殊性,因此衡量其網(wǎng)絡(luò )特性也就相對比較復雜。這里主要依據RTP(real—time proto eol)協(xié)議RFC3550給出部分參數,諸如丟包率、時(shí)間抖動(dòng);同時(shí),從視頻傳輸的角度定義部分與網(wǎng)絡(luò )特性相關(guān)的參數,以下給出解釋。
1)丟包間隔
丟包間隔=當前包序列號-前一次包的序列號
丟包的間隔用來(lái)衡量網(wǎng)絡(luò )實(shí)時(shí)的狀態(tài),正常情況下丟包間隔應該為1,而丟包間隔越大,也就說(shuō)明數據包G失的越厲害。
2)數據流量
數據流量=收到的包個(gè)數/收到的時(shí)間間隔
對于數據流量的統計可以說(shuō)明網(wǎng)絡(luò )的帶寬狀況,實(shí)時(shí)反映了傳輸速率。這里,可以把時(shí)間間隔作為恒定參量,來(lái)統計收到的數據包數,或者把收到的數據包數作為恒定參量,來(lái)統計時(shí)間間隔,而該文主要采用了后一種辦法。
對于網(wǎng)絡(luò )特性參數的測試,可以利用依據RTP協(xié)議編寫(xiě)的函數庫jrtplib-3.7.1和jrtpthread-1.2.1,該函數庫具有很好的兼容性,可以在多種操作系統中應用。這里主要將其應用在基于達芬奇架構的TMS320DM365開(kāi)發(fā)平臺上和VC2008開(kāi)發(fā)軟件中。
2 CDMA2000 EVDO網(wǎng)絡(luò )測試數據分析
2.1 實(shí)驗硬件平臺
客戶(hù)端:TMS320DM365開(kāi)發(fā)平臺+CDMA2000 EVDO模塊(MC8630)
服務(wù)器:VC2008開(kāi)發(fā)軟件和有線(xiàn)網(wǎng)絡(luò )
2.2 實(shí)驗數據測試
測試條件:在同一時(shí)間段內進(jìn)行連續測量,數據流量為每收到100個(gè)數據包計算一次,時(shí)間抖動(dòng)為每?jì)蓚€(gè)數據包計算一次,丟包率為收到數據包后每5 s計算一次,數據包大小為1 kB。
1)網(wǎng)絡(luò )傳輸數據的實(shí)時(shí)統計分析,如圖1至圖4所示。其中圖1和圖2是在平均數據流量為86.3 kB/s的條件下測試所得,圖3和圖4是在平均數據流量為32.6 kB/s的條件下測試所得。

從圖1和圖2可以看出,時(shí)間抖動(dòng)和丟包間隔是同步變化的,而且時(shí)間抖動(dòng)比較劇烈,數據包丟失的也較多。
從圖3和圖4可以看出,時(shí)間抖動(dòng)變化比較緩和,G失的數據包也相對較少。
2)網(wǎng)絡(luò )傳輸數據的整體對比,如表1所示。

從表1中可以看出,網(wǎng)絡(luò )傳輸過(guò)程中的平均數據流量越高,平均時(shí)間抖動(dòng)就越大,平均丟包率也越高。而當平均數據流量降至32.6 kB/s時(shí),平均丟包率已經(jīng)降至1%以下。
綜合以上實(shí)驗數據,可以得出如下結論:發(fā)送數據速率(即數據流量)是決定CDMA2000 EVDO網(wǎng)絡(luò )傳輸特性的關(guān)鍵因素。而且,當前網(wǎng)絡(luò )帶寬一定的前提下,發(fā)送數據速率越高,時(shí)間抖動(dòng)就越大,丟包率就越高;反之亦然。
3 基于TMS320DM365平臺的速率整形
3.1 TMS320DM365平臺的硬件編碼特性分析
TMS320DM365是TI的DaVinci系列的雙核處理器,采用DSP進(jìn)行硬件視頻編碼,將輸入的BT.656格式的視頻流編碼為標準的H.264碼流輸出,該碼流會(huì )伴隨著(zhù)I幀或P幀的產(chǎn)生而出現頻繁的數據抖動(dòng)。而根據以上實(shí)驗總結的CDMA2000EVDO網(wǎng)絡(luò )的傳輸特性,當這種抖動(dòng)的碼流直接通過(guò)網(wǎng)絡(luò )傳輸的時(shí)候,一旦瞬時(shí)碼流超過(guò)網(wǎng)絡(luò )所能承受的帶寬,將會(huì )面臨很高的丟包率。實(shí)驗證明,這種情況下,碼流的丟包會(huì )達到60%以上,時(shí)間抖動(dòng)也會(huì )超過(guò)10000(單位是RTP時(shí)間戳單位)。因此,有必要對該碼流進(jìn)行速率整形,使其平滑后再通過(guò)CDMA2000 EVDO網(wǎng)絡(luò )傳輸。
3.2 H.264碼流速率整形參數分析
TMS320DM365開(kāi)發(fā)平臺上控制輸出碼流大小的參數主要有幀率、GOP、圖像質(zhì)量和圖像格式。其中,對碼流速率整形起著(zhù)重要作用的參數是幀率和COP。幀率,決定著(zhù)視頻圖像的播放速率。幀率越高,其圖像幀之間的間隔就越小,編碼后的數據速率就越大。GOP,是指圖像組,即每組圖像中包含多少個(gè)P幀和I幀。這兩個(gè)參數共同決定了編碼后輸出的H.264碼流的數據速率和I幀的時(shí)間間隔。于是,可以應用這組參數對需要傳輸的碼流予以速率整形。
3.3 速率整形的實(shí)現過(guò)程
該過(guò)程如圖5所示,其主要實(shí)現兩個(gè)部分的功能。

1)發(fā)送時(shí)間間隔的初步估計,主要是利用兩個(gè)或多個(gè)I幀之間的時(shí)間間隔除以統計的包數,得到平均時(shí)間來(lái)作為發(fā)送的時(shí)間間隔。但是,考慮到在不同視頻模式切換的過(guò)程中,會(huì )產(chǎn)生時(shí)間突變,這樣,得到的時(shí)間間隔就不夠精確,從而引起發(fā)送數據量的突變,使得模式切換時(shí)過(guò)度不夠平滑。所以,需要進(jìn)一步修正時(shí)間間隔。
2)修正時(shí)間間隔主要依賴(lài)于發(fā)送緩沖區中暫存的數據量。首先為發(fā)送緩沖區中的暫存數據量設定上下限Min_buf和Max_buf;然后對該數據量進(jìn)行判斷,當數據量處于Min_buf和Max_buf之間時(shí),說(shuō)明發(fā)送數據正常,就可以使用初步估計的時(shí)間間隔;當數據量低于下限Min_buf時(shí),說(shuō)明發(fā)送數據的速率過(guò)快,就需要將初步估計的時(shí)間延時(shí),以降低發(fā)送速率,從而使緩沖區里的數據量恢復到正常范圍,反之,當數據量高于上限Max_buf時(shí),則需要縮短初步估計的時(shí)間。
3.4 速率整形結果測試和分析
經(jīng)過(guò)初步速率整形之后,對視頻編碼發(fā)送端的數據速率進(jìn)行測試。
測試條件為:圖像格式CIF,幀率15 f/s,GOP=15,圖像質(zhì)量為A。
測試結果如圖6所示。

評論