專利名稱:一種嵌入式Linux多媒體信號(hào)采集處理裝置及其傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明屬于多媒體信號(hào)采集處理領(lǐng)域,尤其涉及一種使用網(wǎng)絡(luò)傳輸?shù)那度胧絃inux多媒體信號(hào)采集處理裝置及其傳輸方法。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)成為IT業(yè)的新寵,在嵌入式平臺(tái)下開發(fā)網(wǎng)絡(luò)多媒體系統(tǒng)將有著廣闊的發(fā)展前景。流媒體技術(shù)是網(wǎng)絡(luò)和多媒體相結(jié)合的產(chǎn)物,它的國際標(biāo)準(zhǔn)和基礎(chǔ)研究正在成為目前產(chǎn)業(yè)界和科研機(jī)構(gòu)密切關(guān)注的焦點(diǎn)?,F(xiàn)在典型的流媒體系統(tǒng)有Microsoft Windows Media,RealSystem,Apple QuickTime等,但這些軟件的大小都在幾十兆以上,不適合與嵌入式系統(tǒng)相結(jié)合,需要高性能的PC服務(wù)器支持,對(duì)使用環(huán)境要求高。而目前面世的簡(jiǎn)易網(wǎng)絡(luò)監(jiān)控系統(tǒng)存在以下局限性信息的安全性得不到保證,無QoS,不可自適應(yīng)網(wǎng)絡(luò)狀況調(diào)節(jié)編碼碼率,也沒有提供多路媒體同步,另外也不能提供攝像頭的控制。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種嵌入式Linux多媒體信號(hào)采集處理裝置,它融合了多媒體、網(wǎng)絡(luò)流媒體傳輸和嵌入式系統(tǒng)三種技術(shù),能簡(jiǎn)易部署遠(yuǎn)程音視頻實(shí)時(shí)監(jiān)控系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程控制、網(wǎng)絡(luò)資源預(yù)留、可變比特率壓縮編碼、自適應(yīng)網(wǎng)絡(luò)流媒體傳輸、信息傳輸保密。
本發(fā)明的另一目的在于提供上述嵌入式Linux多媒體信號(hào)采集處理裝置的傳輸方法。
本發(fā)明的嵌入式Linux多媒體信號(hào)采集處理裝置,包括一個(gè)嵌入式服務(wù)器、若干個(gè)客戶端和一個(gè)云臺(tái),嵌入式服務(wù)器和云臺(tái)通過RS485總線連接;嵌入式服務(wù)器和客戶端通過實(shí)時(shí)傳輸協(xié)議/實(shí)時(shí)傳輸控制協(xié)議(RTP/RTCP)進(jìn)行交互控制和數(shù)據(jù)傳輸,使用資源預(yù)留協(xié)議(RSVP)實(shí)現(xiàn)服務(wù)質(zhì)量(QoS)資源預(yù)留;嵌入式服務(wù)器包括音視頻采集器、壓縮編碼器和嵌入式系統(tǒng),音視頻采集器把音頻和視頻信號(hào)從模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),并發(fā)送數(shù)據(jù)給壓縮編碼器,壓縮編碼器通過MPEG4/H.263/H.264和G.729的壓縮編碼得到數(shù)據(jù)并傳送給嵌入式系統(tǒng)。
所述客戶端包括音頻解碼器、視頻解碼器、流媒體數(shù)據(jù)接收緩沖區(qū)、網(wǎng)絡(luò)通信狀況估算器和調(diào)整碼率的決策器,流媒體數(shù)據(jù)接收緩沖區(qū)接收嵌入式服務(wù)器的數(shù)據(jù)并發(fā)送數(shù)據(jù)給音頻解碼器和視頻解碼器,網(wǎng)絡(luò)通信狀況估算器從流媒體數(shù)據(jù)接收緩沖區(qū)中取得網(wǎng)絡(luò)狀況統(tǒng)計(jì)參數(shù)并把估算后的網(wǎng)絡(luò)通信狀況參數(shù)發(fā)送給調(diào)整碼率的決策器,調(diào)整碼率的決策器控制嵌入式服務(wù)器改變編碼碼率。
嵌入式服務(wù)器和客戶端之間,在傳輸層使用非面向連接的用戶報(bào)文協(xié)議(UDP),保證傳輸?shù)膶?shí)時(shí)性,減少占用的傳輸帶寬;在應(yīng)用層使用RTP/RTCP協(xié)議,實(shí)現(xiàn)流媒體的實(shí)時(shí)傳輸。
客戶端可以同時(shí)在不同的PC上運(yùn)行,同時(shí)登陸到同一部嵌入式服務(wù)器,在進(jìn)行登陸和對(duì)服務(wù)器進(jìn)行控制時(shí),需要提供用戶名和密碼,合法的用戶可以登陸服務(wù)器并接收到服務(wù)器發(fā)送的RTP媒體數(shù)據(jù)分組和使用RTCP的應(yīng)用分組(APP)控制服務(wù)器的工作狀態(tài)。
上述嵌入式Linux多媒體信號(hào)采集處理裝置的傳輸方法是第一步登陸時(shí),客戶端軟件向嵌入式服務(wù)器發(fā)送實(shí)時(shí)傳輸控制協(xié)議的源描述分組;嵌入式服務(wù)器根據(jù)接入安全級(jí)別驗(yàn)證用戶名和IP地址,如果驗(yàn)證失敗嵌入式服務(wù)器記錄該用戶名和IP地址,短時(shí)間內(nèi)相同的用戶名或IP地址連續(xù)多次驗(yàn)證失敗會(huì)導(dǎo)致該用戶名或IP地址被記錄入黑名單并對(duì)其停止服務(wù),如果驗(yàn)證成功就登記該用戶名和IP地址到用戶列表并分配接入權(quán)限;所述源描述分組(SDES)帶有客戶端登陸的用戶名、密碼、加密公鑰以及資源預(yù)留協(xié)議(RSVP)的資源預(yù)留信息。
所述的嵌入式服務(wù)器的接入安全級(jí)別分為四級(jí),分別是無接入控制、限制用戶名、限制IP地址、限制用戶名和IP地址。
所述的接入權(quán)限分為兩個(gè)級(jí)別,分別是監(jiān)控級(jí)別和控制級(jí)別。
第二步用戶登陸嵌入式服務(wù)器后,嵌入式服務(wù)器開始向用戶列表內(nèi)的客戶端發(fā)送流媒體數(shù)據(jù),如果該用戶要求服務(wù)器對(duì)發(fā)送給它的流媒體數(shù)據(jù)進(jìn)行加密,則服務(wù)器在進(jìn)行流媒體數(shù)據(jù)發(fā)送時(shí),會(huì)執(zhí)行加密操作;客戶端的流媒體數(shù)據(jù)接收緩沖區(qū)接收流媒體數(shù)據(jù)分組并處理對(duì)于播放時(shí)限前到達(dá)的流媒體數(shù)據(jù)分組,確定其在流媒體數(shù)據(jù)接收緩沖區(qū)內(nèi)的位置,重新排列亂序到達(dá)的流媒體數(shù)據(jù)分組;對(duì)于播放時(shí)限后到達(dá)的流媒體數(shù)據(jù)分組做丟棄處理;流媒體數(shù)據(jù)接收緩沖區(qū)定時(shí)統(tǒng)計(jì)網(wǎng)絡(luò)傳輸狀況,包括流媒體數(shù)據(jù)分組到達(dá)峰值、到達(dá)均值及丟失率;第三步在進(jìn)行流媒體數(shù)據(jù)傳輸?shù)臅r(shí)候,嵌入式服務(wù)器產(chǎn)生RTP格式的流媒體數(shù)據(jù)分組,并產(chǎn)生媒體時(shí)間戳,媒體時(shí)間戳寫入每個(gè)流媒體數(shù)據(jù)分組;客戶端回放時(shí),音頻解碼器計(jì)算全局媒體時(shí)間以及用戶設(shè)定私有媒體微調(diào)時(shí)間,視頻解碼器使用這兩個(gè)時(shí)間來計(jì)算私有媒體時(shí)間戳,視頻解碼器帶著私有媒體時(shí)間戳讀取流媒體數(shù)據(jù)緩沖區(qū)的數(shù)據(jù),實(shí)現(xiàn)視頻和音頻同步播放;
所述產(chǎn)生媒體時(shí)間戳的方法是讀取64bit嵌入式系統(tǒng)的時(shí)間,該嵌入式系統(tǒng)時(shí)間高32bit是以秒(S)為單位的數(shù)值,低32bit是以微秒(uS)為單位的數(shù)值,取秒數(shù)值的低16bit值與微秒數(shù)值的中間的第23位~第8位的16bit數(shù)值,合并起來,成為32bit的媒體時(shí)間戳,簡(jiǎn)化了媒體時(shí)間戳的計(jì)算;第四步,客戶端定時(shí)調(diào)用網(wǎng)絡(luò)通信狀況估算器,從流媒體數(shù)據(jù)接收緩沖區(qū)讀取網(wǎng)絡(luò)狀況統(tǒng)計(jì)參數(shù),然后發(fā)送RTCP APP的回環(huán)時(shí)間測(cè)試分組,取得回環(huán)時(shí)間參數(shù);網(wǎng)絡(luò)通信狀況估算器估算網(wǎng)絡(luò)剩余帶寬、時(shí)延抖動(dòng)的均值、時(shí)延抖動(dòng)的標(biāo)準(zhǔn)差以及流媒體數(shù)據(jù)的有效帶寬;客戶端定時(shí)調(diào)用調(diào)整碼率的決策器,自適應(yīng)的發(fā)送APP控制嵌入式服務(wù)器的壓縮編碼質(zhì)量,達(dá)到用戶滿意的可接受性。
本發(fā)明的嵌入式服務(wù)器對(duì)客戶端提供以下的控制接口①編碼質(zhì)量控制;②編碼幀率控制;③視頻采集格式D1/CIF/QCIF切換控制;④云臺(tái)控制(上下左右轉(zhuǎn)動(dòng)以及縮放);⑤RSVP QoS資源預(yù)留服務(wù)接口。其中,上述前三項(xiàng)功能由嵌入式服務(wù)器調(diào)用設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn),第四項(xiàng)功能由嵌入式服務(wù)器通過RS485接口向云臺(tái)發(fā)送指令實(shí)現(xiàn),第五項(xiàng)功能由嵌入式服務(wù)器調(diào)用RSVP API支持庫控制后臺(tái)運(yùn)行的RSVP守護(hù)程序完成。
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)和有益效果(1)本發(fā)明裝置的壓縮編碼器使用MPEG4/H.263/H.264和G.729的壓縮編碼實(shí)現(xiàn)低碼率壓縮,減少了網(wǎng)絡(luò)傳輸時(shí)對(duì)帶寬的占用;(2)本發(fā)明嵌入式服務(wù)器采用黑名單安全策略,使得服務(wù)器免受攻擊;采用分級(jí)的接入安全策略,保證服務(wù)器授控的安全性;采用流媒體加密策略保證流媒體在網(wǎng)絡(luò)傳輸?shù)陌踩裕?3)本發(fā)明客戶端的網(wǎng)絡(luò)自適應(yīng)策略保證了數(shù)據(jù)分組傳輸?shù)捻樞虻竭_(dá)和數(shù)據(jù)通信量對(duì)以太網(wǎng)通信狀況的適應(yīng),使得本裝置在有限帶寬網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸時(shí)實(shí)現(xiàn)帶寬占用和回放可接受性的平衡;(4)本發(fā)明客戶端以音頻播放時(shí)間為基準(zhǔn)同步驅(qū)動(dòng)視頻回放,改善媒體流回放的可接受性,簡(jiǎn)化的媒體時(shí)間戳產(chǎn)生方式可以減少媒體時(shí)間戳的計(jì)算量,提高同步的精準(zhǔn)度;(5)本裝置簡(jiǎn)單,易于部署,而且功耗低,能提供多樣的控制接口以實(shí)現(xiàn)交互操作。
圖1是本發(fā)明的嵌入式Linux多媒體信號(hào)采集處理裝置的結(jié)構(gòu)示意圖;圖2是本發(fā)明的嵌入式服務(wù)器的結(jié)構(gòu)示意圖;圖3本發(fā)明的嵌入式服務(wù)器和客戶端功能邏輯結(jié)構(gòu)及數(shù)據(jù)流向示意圖;圖4本發(fā)明的客戶端媒體同步方法示意圖。
具體實(shí)施例方式
為了更好地理解本發(fā)明,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地描述。
如圖1和圖2所示,本發(fā)明的嵌入式Linux多媒體信號(hào)采集處理裝置,包括一個(gè)嵌入式服務(wù)器1、若干個(gè)客戶端2和一個(gè)云臺(tái),嵌入式服務(wù)器1和云臺(tái)通過RS485總線連接;嵌入式服務(wù)器1和客戶端2通過RTP/RTCP進(jìn)行交互控制和數(shù)據(jù)傳輸,使用RSVP實(shí)現(xiàn)QoS資源預(yù)留;嵌入式服務(wù)器1包括音視頻采集器、壓縮編碼器和嵌入式系統(tǒng),音視頻采集器把音頻和視頻信號(hào)從模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),并發(fā)送數(shù)據(jù)給壓縮編碼器,壓縮編碼器通過MPEG4/H.263/H.264和G.729的壓縮編碼得到數(shù)據(jù)并傳送給嵌入式系統(tǒng)。
客戶端2包括音頻解碼器、視頻解碼器、流媒體數(shù)據(jù)接收緩沖區(qū)、網(wǎng)絡(luò)通信狀況估算器和調(diào)整碼率的決策器,流媒體數(shù)據(jù)接收緩沖區(qū)接收嵌入式服務(wù)器l的數(shù)據(jù)并發(fā)送數(shù)據(jù)給音頻解碼器和視頻解碼器,網(wǎng)絡(luò)通信狀況估算器從流媒體數(shù)據(jù)接收緩沖區(qū)中取得網(wǎng)絡(luò)狀況統(tǒng)計(jì)參數(shù)并把估算后的網(wǎng)絡(luò)通信狀況參數(shù)發(fā)送給調(diào)整碼率的決策器,調(diào)整碼率的決策器控制嵌入式服務(wù)器1改變編碼碼率。
嵌入式服務(wù)器1和客戶端2之間,在傳輸層使用非面向連接的用戶報(bào)文協(xié)議(UDP),保證傳輸?shù)膶?shí)時(shí)性,減少占用的傳輸帶寬;在應(yīng)用層使用RTP/RTCP協(xié)議,實(shí)現(xiàn)流媒體的實(shí)時(shí)傳輸。
嵌入式服務(wù)器1提供了視頻輸入端口、音頻輸入端口、云臺(tái)控制接口和RJ45端口,以完成信號(hào)從模擬到數(shù)字的轉(zhuǎn)換、數(shù)字信號(hào)的壓縮編碼以及網(wǎng)絡(luò)傳輸。其中視頻輸入端口輸入的是基帶全電視信號(hào);音頻輸入端口輸入的是音頻模擬信號(hào);云臺(tái)控制接口是符合RS485的工業(yè)控制總線端口,嵌入式服務(wù)器1為主端,云臺(tái)是從端;嵌入式服務(wù)器1通過RJ45端口與以太網(wǎng)相連,遠(yuǎn)端的客戶端2運(yùn)行在安裝了Windows操作的PC兼容機(jī)上,通過RTCP向嵌入式服務(wù)器l發(fā)起連接,并可發(fā)送控制信息,也可以接收到嵌入式服務(wù)器1以RTP格式封裝的流媒體數(shù)據(jù)。嵌入式服務(wù)器1和客戶端2均通過RSVP與提供資源預(yù)留的路由通信,實(shí)現(xiàn)網(wǎng)絡(luò)帶寬資源預(yù)留,實(shí)現(xiàn)網(wǎng)絡(luò)通信的服務(wù)質(zhì)量保證QoS。
音視頻采集器把音頻和視頻信號(hào)從模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。其中,音頻信號(hào)經(jīng)過8KHz的低通濾波之后進(jìn)行抽樣。輸入的模擬視頻信號(hào)是基帶全電視信號(hào),由音視頻采集器的解碼芯片將其轉(zhuǎn)變?yōu)榉螴TU-656格式的數(shù)字視頻信號(hào)。運(yùn)行在現(xiàn)場(chǎng)可編程門陣列(FPGA)內(nèi)的數(shù)據(jù)采集緩沖控制軟件負(fù)責(zé)將這些數(shù)字信號(hào)組織、存儲(chǔ)在RAM中,等待上層的壓縮編碼軟件來讀取。
壓縮編碼器內(nèi)運(yùn)行的是MPEG4/H.263/H.264和G.729的壓縮編碼軟件。兩者均是高壓縮比的壓縮編碼算法,計(jì)算量較大,由專用的數(shù)字信號(hào)處理器(DSP)來完成。其中,MPEG4/H.263/H.264的算法軟件已經(jīng)專門為DSP進(jìn)行了算法的優(yōu)化,以便實(shí)現(xiàn)實(shí)時(shí)壓縮編碼。壓縮編碼器在工作時(shí),對(duì)于上層,要按照專門為DSP的主機(jī)外設(shè)接口(HPI)設(shè)計(jì)的數(shù)據(jù)讀取接口和控制接口操作規(guī)程進(jìn)行動(dòng)作,接受上層驅(qū)動(dòng)程序的控制,并按照操作規(guī)程送出數(shù)據(jù);對(duì)于下層,根據(jù)壓縮編碼器當(dāng)前的工作狀態(tài),控制數(shù)據(jù)采集器,并讀取數(shù)據(jù)。
嵌入式系統(tǒng)的操作系統(tǒng)、設(shè)備驅(qū)動(dòng)程序、RSVP API支持庫、流媒體服務(wù)器程序共同運(yùn)行在基于ARM內(nèi)核微處理器的嵌入式系統(tǒng)上,提供流媒體實(shí)時(shí)傳輸服務(wù)。設(shè)備驅(qū)動(dòng)程序?qū)η度胧较到y(tǒng)的操作系統(tǒng)掩蓋了壓縮編碼設(shè)備的具體操作特征,表現(xiàn)為一個(gè)抽象的通用的字符設(shè)備,向操作系統(tǒng)提供數(shù)據(jù)讀取和設(shè)備控制的系統(tǒng)調(diào)用接口;操作系統(tǒng)統(tǒng)一管理各種設(shè)備,向用戶程序提供設(shè)備讀取、控制的服務(wù);RSVP API支持庫提供了訪問RSVP后臺(tái)守護(hù)程序的應(yīng)用程序接口;流媒體服務(wù)器程序所完成的RSVP協(xié)議資源預(yù)留功能實(shí)際上是通過調(diào)用RSVPAPI支持庫的接口函數(shù),由RSVP后臺(tái)守護(hù)程序來完成的。流媒體服務(wù)器程序?qū)h(yuǎn)程客戶端提供流媒體實(shí)時(shí)傳輸服務(wù)。
如圖3所示的本發(fā)明的嵌入式服務(wù)器和客戶端功能邏輯結(jié)構(gòu)及數(shù)據(jù)流向示意圖中,流媒體服務(wù)器程序3由服務(wù)主控制線程4、RTCP監(jiān)聽線程5、RTP數(shù)據(jù)發(fā)送線程6、RSVP消息處理線程7組成。主控制線程4負(fù)責(zé)處理接收來自本地的控制信息(例如控制臺(tái)管理信息)以及管理其他線程的狀態(tài)和交互各種數(shù)據(jù)信息。流媒體服務(wù)器程序3內(nèi)的各種消息和數(shù)據(jù)流包括RTCP線程控制流8、RTP線程控制流9、RSVP控制流10、RTP線程與RTCP線程間數(shù)據(jù)流11。RTP數(shù)據(jù)發(fā)送線程6負(fù)責(zé)從設(shè)備驅(qū)動(dòng)程序獲得流媒體數(shù)據(jù),并把流媒體數(shù)據(jù)打包加上RTP包頭,把生成的RTP數(shù)據(jù)流13發(fā)送給客戶端,并且生成各種統(tǒng)計(jì)信息給RTCP監(jiān)聽線程5調(diào)用。RTCP監(jiān)聽線程5通過RTP線程與RTCP線程間數(shù)據(jù)流11獲得RTP統(tǒng)計(jì)數(shù)據(jù),分析并周期性生成RTCP分組流12發(fā)送給遠(yuǎn)程客戶端,并且反饋給服務(wù)主控制線程4,以便及時(shí)調(diào)整RTP服務(wù)的性能。RSVP消息處理線程7負(fù)責(zé)處理RSVP數(shù)據(jù)流14,保證服務(wù)的質(zhì)量??蛻舳?5由客戶端主控制線程16、RTCP通信線程17、估算器和決策器線程18、RTP數(shù)據(jù)接收線程19、RSVP消息處理線程20以及媒體播放線程21組成??蛻舳酥骺刂凭€程16負(fù)責(zé)處理接收來自本地的控制信息(例如用戶圖象界面?zhèn)鬟f的控制管理信息)以及管理其他線程的狀態(tài)和交互各種數(shù)據(jù)信息。客戶端15內(nèi)的各種消息和數(shù)據(jù)流包括RTCP線程控制流22、決策器控制RTCP線程消息流23、決策器控制RTCP接收緩沖區(qū)消息流24、RSVP線程控制消息流25、播放媒體數(shù)據(jù)流27和媒體播放器到估算器消息流26。RTP數(shù)據(jù)接收線程19負(fù)責(zé)從網(wǎng)絡(luò)接收獲得流媒體數(shù)據(jù)接入它的流媒體數(shù)據(jù)接收緩沖區(qū)。RTCP通信線程17接收客戶端主控線程16的控制消息,實(shí)現(xiàn)用戶登陸和登出的通信請(qǐng)求和控制云臺(tái)動(dòng)作等請(qǐng)求;另外,該線程接收估算器和決策器線程18的控制消息流,實(shí)現(xiàn)控制嵌入式服務(wù)器編碼方式的請(qǐng)求。RSVP消息處理線程20負(fù)責(zé)處理RSVP控制數(shù)據(jù)流14,保證服務(wù)的質(zhì)量。
服務(wù)器RTCP監(jiān)聽線程5收到客戶端15的RTCP通信線程17向流媒體服務(wù)器程序3發(fā)送RTCP的SDES,流媒體服務(wù)器程序3接收到該類型的數(shù)據(jù)分組,根據(jù)嵌入式服務(wù)器的安全級(jí)別,判定要對(duì)客戶信息的哪些信息進(jìn)行驗(yàn)證,例如需要對(duì)用戶名和密碼驗(yàn)證或者對(duì)客戶登陸的IP地址進(jìn)行驗(yàn)證。嵌入式服務(wù)器的接入安全級(jí)別分為四級(jí),分別是無接入控制、限制用戶名、限制IP地址、限制用戶名和IP地址。若嵌入式服務(wù)器工作在需要驗(yàn)證的模式并且驗(yàn)證失敗,一分鐘內(nèi)相同的用戶名或IP地址連續(xù)三次驗(yàn)證失敗會(huì)導(dǎo)致該用戶名或IP地址被記錄入黑名單并對(duì)其停止服務(wù),如果驗(yàn)證成功就登記該用戶名和IP地址到用戶列表并分配接入權(quán)限。接入權(quán)限分為兩個(gè)級(jí)別,監(jiān)控級(jí)別和控制級(jí)別,享有監(jiān)控級(jí)別的客戶端只可以接收嵌入式服務(wù)器發(fā)送的多路流媒體,享有控制級(jí)別的客戶端除了可以接收嵌入式服務(wù)器發(fā)送的多路流媒體還可以控制嵌入式服務(wù)器的音視頻編碼器和云臺(tái)的動(dòng)作。
RTP數(shù)據(jù)發(fā)送線程6負(fù)責(zé)把RTP數(shù)據(jù)流13發(fā)送給客戶端,從設(shè)備驅(qū)動(dòng)程序讀取MPEG4/H.263/H.264數(shù)據(jù)或者G.729數(shù)據(jù),產(chǎn)生RTP格式的流媒體數(shù)據(jù)分組,并產(chǎn)生媒體時(shí)間戳,媒體時(shí)間戳寫入每個(gè)流媒體數(shù)據(jù)分組。產(chǎn)生媒體時(shí)間戳的方法是讀取64bit嵌入式系統(tǒng)的時(shí)間,該嵌入式系統(tǒng)時(shí)間高32bit是以秒(S)為單位的數(shù)值,低32bit是以微秒(uS)為單位的數(shù)值,取秒數(shù)值的低16bit值與微秒數(shù)值的中間的第23位~第8位的16bit數(shù)值,合并起來,成為32bit的媒體時(shí)間戳,簡(jiǎn)化了媒體時(shí)間戳的計(jì)算。在向客戶端發(fā)送數(shù)據(jù)前,如果該客戶端要求嵌入式服務(wù)器對(duì)發(fā)送給它的流媒體數(shù)據(jù)進(jìn)行加密,則服務(wù)器在進(jìn)行流媒體數(shù)據(jù)前執(zhí)行加密操作再發(fā)送該數(shù)據(jù)。
RTP數(shù)據(jù)接收線程19的流媒體數(shù)據(jù)接收緩沖區(qū)接收流媒體數(shù)據(jù)分組并處理①對(duì)于播放時(shí)限前到達(dá)的流媒體數(shù)據(jù)分組,每一個(gè)流媒體數(shù)據(jù)分組的包頭會(huì)包含包的序列號(hào),接收到一個(gè)分組后,先在流媒體數(shù)據(jù)接收緩沖區(qū)內(nèi)尋找參考分組,即當(dāng)前最舊的分組,然后根據(jù)參考分組的序列號(hào)決定當(dāng)前分組在流媒體數(shù)據(jù)接收緩沖區(qū)內(nèi)的存儲(chǔ)位置。由于分組編號(hào)的序列號(hào)程度有限,流媒體數(shù)據(jù)接收緩沖區(qū)要處理分組序列號(hào)從最大編號(hào)跳變?yōu)?編號(hào)的情況,重新排列亂序到達(dá)的流媒體數(shù)據(jù)分組;②對(duì)于播放時(shí)限后到達(dá)的流媒體數(shù)據(jù)分組,丟棄。此外,流媒體數(shù)據(jù)接收緩沖區(qū)要定時(shí)統(tǒng)計(jì)網(wǎng)絡(luò)傳輸狀況,包括流媒體數(shù)據(jù)分組到達(dá)峰值、到達(dá)均值及丟失率。
估算器和決策器線程18定時(shí)調(diào)用網(wǎng)絡(luò)通信狀況估算器從流媒體數(shù)據(jù)接收緩沖區(qū)讀取網(wǎng)絡(luò)狀況統(tǒng)計(jì)參數(shù),然后發(fā)送RTCP APP的回環(huán)時(shí)間測(cè)試分組,取得回環(huán)時(shí)間參數(shù)。網(wǎng)絡(luò)通信狀況估算器估算網(wǎng)絡(luò)剩余帶寬、時(shí)延抖動(dòng)的均值、時(shí)延抖動(dòng)的標(biāo)準(zhǔn)差以及流媒體數(shù)據(jù)的有效帶寬。之后,估算器和決策器線程18再調(diào)用調(diào)整碼率的決策器。決策器根據(jù)網(wǎng)絡(luò)通信狀況估算器計(jì)算出的網(wǎng)絡(luò)剩余帶寬自適應(yīng)的發(fā)送APP應(yīng)用分組控制嵌入式服務(wù)器的壓縮編碼質(zhì)量,達(dá)到用戶滿意的可接受性。當(dāng)網(wǎng)絡(luò)通信狀況較差時(shí),從以下幾個(gè)方面兼顧媒體回放時(shí)的可接受性和傳輸所占據(jù)的帶寬①降低圖象編碼質(zhì)量;②減少圖象壓縮編碼的幀率;③把圖像格式從D1切換到CIF或QCIF;④如果網(wǎng)絡(luò)支持,啟動(dòng)RSVP協(xié)議的資源預(yù)留。若網(wǎng)絡(luò)狀況逐漸好轉(zhuǎn),則上述幾個(gè)措施執(zhí)行反操作。另外,如果收到媒體播放線程21發(fā)送的解碼出錯(cuò)報(bào)告消息,估算器和決策器線程18會(huì)立即進(jìn)行新的一輪操作。
如圖4所示的本發(fā)明的客戶端媒體同步方法示意圖,顯示了使用音頻播放時(shí)間作為媒體回放推動(dòng)時(shí)間的音視頻同步的機(jī)制。同時(shí)播放同一個(gè)同步源的音視頻數(shù)據(jù),還必須保證音視頻間的同步。另外,由于媒體源打時(shí)間戳?xí)r有可能發(fā)生偏差,要求客戶端還必須具備同步微調(diào)的功能,以保證客戶端的觀感。因?yàn)槎嗝襟w系統(tǒng)對(duì)聲音的QoS要求較高,人對(duì)音頻連續(xù)性比對(duì)視頻連續(xù)性更為敏感,并且音頻的播放速率是恒定的,所以客戶端以音頻解碼時(shí)間為基準(zhǔn),其它媒體的播放以音頻的播放速度作為參考。媒體播放線程21調(diào)用音頻解碼器和視頻解碼器進(jìn)行媒體回放,音頻解碼器可以計(jì)算出全局媒體時(shí)間,并使用全局變量的方式發(fā)布該全局媒體時(shí)間。視頻解碼器使用全局媒體時(shí)間和私有媒體微調(diào)時(shí)間來計(jì)算私有媒體時(shí)間戳,視頻解碼器帶著私有媒體時(shí)間戳讀取流媒體數(shù)據(jù)緩沖區(qū)的數(shù)據(jù),實(shí)現(xiàn)視頻和音頻同步播放;視頻解碼器對(duì)于沒有成功解碼的幀進(jìn)行差錯(cuò)掩蔽,改善媒體流回放的可接受性;并向估算器和決策器線程18報(bào)告其解碼錯(cuò)誤消息,通知其進(jìn)行新一輪的網(wǎng)絡(luò)自適應(yīng)動(dòng)作。
本裝置簡(jiǎn)單,易于部署,而且功耗低,能提供多樣的控制接口以實(shí)現(xiàn)交互操作。
權(quán)利要求
1.一種嵌入式Linux多媒體信號(hào)采集處理裝置,包括一個(gè)嵌入式服務(wù)器、若干個(gè)客戶端和一個(gè)云臺(tái),嵌入式服務(wù)器和云臺(tái)通過RS485總線連接,其特征在于嵌入式服務(wù)器和客戶端通過實(shí)時(shí)傳輸協(xié)議/實(shí)時(shí)傳輸控制協(xié)議進(jìn)行交互控制和數(shù)據(jù)傳輸,使用資源預(yù)留協(xié)議實(shí)現(xiàn)服務(wù)質(zhì)量資源預(yù)留。
2.根據(jù)權(quán)利要求1所述的嵌入式Linux多媒體信號(hào)采集處理裝置,其特征在于所述嵌入式服務(wù)器包括音視頻采集器、壓縮編碼器和嵌入式系統(tǒng),音視頻采集器把音頻和視頻信號(hào)從模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),并發(fā)送數(shù)據(jù)給壓縮編碼器,壓縮編碼器通過MPEG4/H.263/H.264和G.729的壓縮編碼得到數(shù)據(jù)并傳送給嵌入式系統(tǒng)。
3.根據(jù)權(quán)利要求2所述的嵌入式Linux多媒體信號(hào)采集處理裝置,其特征在于所述客戶端包括音頻解碼器、視頻解碼器、流媒體數(shù)據(jù)接收緩沖區(qū)、網(wǎng)絡(luò)通信狀況估算器和調(diào)整碼率的決策器,流媒體數(shù)據(jù)接收緩沖區(qū)接收嵌入式服務(wù)器的數(shù)據(jù)并發(fā)送數(shù)據(jù)給音頻解碼器和視頻解碼器,網(wǎng)絡(luò)通信狀況估算器從流媒體數(shù)據(jù)接收緩沖區(qū)中取得網(wǎng)絡(luò)狀況統(tǒng)計(jì)參數(shù)并把估算后的網(wǎng)絡(luò)通信狀況參數(shù)發(fā)送給調(diào)整碼率的決策器,調(diào)整碼率的決策器控制嵌入式服務(wù)器改變編碼碼率。
4.權(quán)利要求3所述的嵌入式Linux多媒體信號(hào)采集處理裝置的傳輸方法,其特征在于步驟如下第一步登陸時(shí),客戶端軟件向嵌入式服務(wù)器發(fā)送實(shí)時(shí)傳輸控制協(xié)議的源描述分組;嵌入式服務(wù)器根據(jù)接入安全級(jí)別驗(yàn)證用戶名和IP地址,如果驗(yàn)證失敗嵌入式服務(wù)器記錄該用戶名和IP地址,短時(shí)間內(nèi)相同的用戶名或IP地址連續(xù)多次驗(yàn)證失敗會(huì)導(dǎo)致該用戶名或IP地址被記錄入黑名單并對(duì)其停止服務(wù),如果驗(yàn)證成功就登記該用戶名和IP地址到用戶列表并分配接入權(quán)限;第二步用戶登陸嵌入式服務(wù)器后,嵌入式服務(wù)器開始向用戶列表內(nèi)的客戶端發(fā)送流媒體數(shù)據(jù),如果該用戶要求服務(wù)器對(duì)發(fā)送給它的流媒體數(shù)據(jù)進(jìn)行加密,則服務(wù)器在進(jìn)行流媒體數(shù)據(jù)發(fā)送時(shí),會(huì)執(zhí)行加密操作;客戶端的流媒體數(shù)據(jù)接收緩沖區(qū)接收流媒體數(shù)據(jù)分組并處理對(duì)于播放時(shí)限前到達(dá)的流媒體數(shù)據(jù)分組,確定其在流媒體數(shù)據(jù)接收緩沖區(qū)內(nèi)的位置,重新排列亂序到達(dá)的流媒體數(shù)據(jù)分組;對(duì)于播放時(shí)限后到達(dá)的流媒體數(shù)據(jù)分組做丟棄處理;流媒體數(shù)據(jù)接收緩沖區(qū)定時(shí)統(tǒng)計(jì)網(wǎng)絡(luò)傳輸狀況,包括流媒體數(shù)據(jù)分組到達(dá)峰值、到達(dá)均值及丟失率;第三步在進(jìn)行流媒體數(shù)據(jù)傳輸?shù)臅r(shí)候,嵌入式服務(wù)器產(chǎn)生RTP格式的流媒體數(shù)據(jù)分組,并產(chǎn)生媒體時(shí)間戳,媒體時(shí)間戳寫入每個(gè)流媒體數(shù)據(jù)分組;客戶端回放時(shí),音頻解碼器計(jì)算全局媒體時(shí)間以及用戶設(shè)定私有媒體微調(diào)時(shí)間,視頻解碼器使用這兩個(gè)時(shí)間來計(jì)算私有媒體時(shí)間戳,視頻解碼器帶著私有媒體時(shí)間戳讀取流媒體數(shù)據(jù)緩沖區(qū)的數(shù)據(jù),實(shí)現(xiàn)視頻和音頻同步播放;第四步,客戶端定時(shí)調(diào)用網(wǎng)絡(luò)通信狀況估算器,從流媒體數(shù)據(jù)接收緩沖區(qū)讀取網(wǎng)絡(luò)狀況統(tǒng)計(jì)參數(shù),然后發(fā)送實(shí)時(shí)傳輸控制協(xié)議應(yīng)用分組的回環(huán)時(shí)間測(cè)試分組,取得回環(huán)時(shí)間參數(shù);網(wǎng)絡(luò)通信狀況估算器估算網(wǎng)絡(luò)剩余帶寬、時(shí)延抖動(dòng)的均值、時(shí)延抖動(dòng)的標(biāo)準(zhǔn)差以及流媒體數(shù)據(jù)的有效帶寬;客戶端定時(shí)調(diào)用調(diào)整碼率的決策器,自適應(yīng)的發(fā)送APP控制嵌入式服務(wù)器的壓縮編碼質(zhì)量,達(dá)到用戶滿意的可接受性。
5.根據(jù)權(quán)利要求4所述的嵌入式Linux多媒體信號(hào)采集處理裝置的傳輸方法,其特征在于所述第一步中源描述分組帶有客戶端登陸的用戶名、密碼、加密公鑰以及資源預(yù)留協(xié)議的資源預(yù)留信息。
6.根據(jù)權(quán)利要求4所述的嵌入式Linux多媒體信號(hào)采集處理裝置的傳輸方法,其特征在于所述第一步中嵌入式服務(wù)器的接入安全級(jí)別分為四級(jí),分別是無接入控制、限制用戶名、限制IP地址、限制用戶名和IP地址。
7.根據(jù)權(quán)利要求4所述的嵌入式Linux多媒體信號(hào)采集處理裝置的傳輸方法,其特征在于所述第一步中接入權(quán)限分為兩個(gè)級(jí)別,分別是監(jiān)控級(jí)別和控制級(jí)別。
8.根據(jù)權(quán)利要求4所述的嵌入式Linux多媒體信號(hào)采集處理裝置的傳輸方法,其特征在于所述第三步中產(chǎn)生媒體時(shí)間戳的方法是讀取64bit嵌入式系統(tǒng)的時(shí)間,該嵌入式系統(tǒng)時(shí)間高32bit是以秒為單位的數(shù)值,低32bit是以微秒為單位的數(shù)值,取秒數(shù)值的低16bit值與微秒數(shù)值的中間的第23位~第8位的16bit數(shù)值,合并起來,成為32bit的媒體時(shí)間戳。
全文摘要
本發(fā)明公開了一種嵌入式Linux多媒體信號(hào)采集處理裝置及其傳輸方法,其裝置包括一個(gè)嵌入式服務(wù)器、若干個(gè)客戶端和一個(gè)云臺(tái),嵌入式服務(wù)器和云臺(tái)通過RS485總線連接;嵌入式服務(wù)器和客戶端通過RTP/RTCP進(jìn)行交互控制和數(shù)據(jù)傳輸,使用RSVP實(shí)現(xiàn)QoS資源預(yù)留。本發(fā)明采用安全策略,使得服務(wù)器免受攻擊,保證服務(wù)器授控的安全性和流媒體在網(wǎng)絡(luò)傳輸?shù)陌踩?;客戶端的網(wǎng)絡(luò)自適應(yīng)策略使得本裝置在有限帶寬網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸時(shí)實(shí)現(xiàn)帶寬占用和回放可接受性的平衡。本發(fā)明可應(yīng)用于遠(yuǎn)程監(jiān)控領(lǐng)域,特別是在無人值守、環(huán)境惡劣的邊遠(yuǎn)地區(qū)實(shí)現(xiàn)安全穩(wěn)定可靠的實(shí)時(shí)交互式音視頻監(jiān)控。
文檔編號(hào)H04L29/06GK1805356SQ200610033058
公開日2006年7月19日 申請(qǐng)日期2006年1月20日 優(yōu)先權(quán)日2006年1月20日
發(fā)明者馮穗力, 葉梧, 周衛(wèi), 呂俊輝, 張靜, 李兆南 申請(qǐng)人:華南理工大學(xué)