多路嵌入式H.264視頻服務(wù)器的設(shè)計(jì)詳解
發(fā)布時(shí)間:2008/8/18 0:00:00 訪問次數(shù):418
1 引 言
隨著計(jì)算機(jī)網(wǎng)絡(luò)和視頻壓縮技術(shù)的快速發(fā)展,多媒體技術(shù)的研究和應(yīng)用受到了越來越多的重視,其中視頻服務(wù)器的發(fā)展尤為迅速,特別是嵌入式視頻服務(wù)器[1][2]。
由于具有體積小,安裝靈活的特點(diǎn),只要能接入到internet, 它就可以為任何授權(quán)的用戶提供實(shí)時(shí)的視頻監(jiān)控服務(wù),避免了鋪設(shè)專門線路進(jìn)行視頻信號(hào)傳輸?shù)陌嘿F費(fèi)用。
嵌入式視頻服務(wù)器是一種能提供視頻采集,視頻數(shù)據(jù)壓縮,網(wǎng)絡(luò)傳輸功能的一種多媒體信息服務(wù)器。其傳輸處理的是視頻流,而視頻傳輸具有實(shí)時(shí)性高、數(shù)據(jù)量大等特點(diǎn),它需要滿足以下三點(diǎn)要求:一:高帶寬,高帶寬保證大數(shù)據(jù)量的多媒體數(shù)據(jù)傳輸效率;二:支持qos,保證傳輸?shù)馁|(zhì)量、資源預(yù)留;三:支持多種傳輸方式。由于嵌入式環(huán)境資源的限制,在視頻數(shù)據(jù)的實(shí)時(shí)性傳輸和圖象質(zhì)量方面,其qos一直得不到保證。特別是多路的情況,實(shí)時(shí)視頻的傳輸質(zhì)量隨路數(shù)的增加會(huì)急劇下降。嵌入式視頻服務(wù)器性能的瓶頸主要在于視頻數(shù)據(jù)的傳輸上,因此縮短視頻數(shù)據(jù)的傳輸時(shí)間就能提高視頻服務(wù)器的性能。縮減視頻數(shù)據(jù)的傳輸時(shí)間可以從兩個(gè)方面入手:一:減少視頻數(shù)據(jù)傳輸?shù)男畔⒘。主要通過采用高性能的壓縮編碼技術(shù)來減少傳輸?shù)男畔⒘俊6翰捎眠m合多媒體數(shù)據(jù)的傳輸協(xié)議?紤]到嵌入式的系統(tǒng)資源及其寶貴,故我們選用了目前編碼效率最高的h.264[3]技術(shù)和專門為傳輸多媒體數(shù)據(jù)的rtp[4]傳輸協(xié)議設(shè)計(jì)了本文這套系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,該嵌入式視頻服務(wù)器在不影響圖象質(zhì)量的前提下,能夠比以往的視頻服務(wù)器占用更低的帶寬。
2 系統(tǒng)的硬件組成
我們在設(shè)計(jì)中采用了hharm2410嵌入式開發(fā)套件,它由核心板和底板組成,核心板上集成samsung s3c2410 處理器(203m 的主頻,100m的總線速度),64m sdram以及16m 的flash。底板上提供以下外設(shè)接口:一個(gè)四線rs-232 串口,一個(gè)usb host接口,一個(gè)10m/100m自適應(yīng)以太網(wǎng)接口,一個(gè)tft lcd接口, 一個(gè)觸摸屏接口。操作系統(tǒng)采用裁減過的嵌入式linux。該嵌入式視頻服務(wù)器的結(jié)構(gòu)框圖如圖1所示。
應(yīng)用程序通過編碼器模塊采集h.264視頻流,按照rtp協(xié)議實(shí)時(shí)打包,并通過以太網(wǎng)接口 實(shí)現(xiàn)實(shí)時(shí)流傳輸( ip streaming) 。另外還可以擴(kuò)充一塊802. 11b /g無線模塊,來達(dá)到無線網(wǎng)絡(luò)傳輸?shù)哪康?并可通過ide接口擴(kuò)充一塊ide硬盤作為本地h.264視頻圖像存儲(chǔ)之用。
3 服務(wù)器軟件設(shè)計(jì)
服務(wù)器是整個(gè)系統(tǒng)的核心,它工作在嵌入式linux平臺(tái)上,嵌入式linux是標(biāo)準(zhǔn)linux經(jīng)裁減得到的,同linux一樣,具有穩(wěn)定,安全,高效率,實(shí)時(shí)性好等優(yōu)點(diǎn)。服務(wù)器端采用模塊化設(shè)計(jì),從功能角度,服務(wù)器端的軟件體系結(jié)構(gòu)可劃分為5個(gè)模塊:采集模塊,編碼模塊,網(wǎng)絡(luò)傳輸模塊,存儲(chǔ)模塊,設(shè)備控制模塊。其體系結(jié)構(gòu)如圖2所示:
。1)采集模塊,主要完成視頻的采集,圖像格式的轉(zhuǎn)換,在此處設(shè)定采集的圖像格式
為yuv。采用linux的v4l[5]來實(shí)現(xiàn),v4l是linux中提供的一個(gè)音視頻接口規(guī)范,所有的音視頻設(shè)備的驅(qū)動(dòng)編寫要用到這些接口。
。2)編碼模塊,主要完成對(duì)采集的圖像的壓縮編碼。對(duì)采集到的圖像數(shù)據(jù)進(jìn)行壓縮可以有兩種方案,一種是用硬件來壓縮,它可以有專用系統(tǒng)和通用系統(tǒng)兩種形式,其中,專用系統(tǒng)使用專用芯片實(shí)現(xiàn)圖像的硬件壓縮,通用系統(tǒng)則利用通用芯片實(shí)現(xiàn)數(shù)據(jù)壓縮。相對(duì)于通
用系統(tǒng),用專用芯片對(duì)圖像用硬件進(jìn)行壓縮可以快速進(jìn)行圖象壓縮,減少處理器的開銷等點(diǎn)。第二種壓縮方法就是用軟件來實(shí)現(xiàn),這種方法對(duì)機(jī)器的硬件配置要求較高,但運(yùn)用起來靈活,考慮到現(xiàn)在硬件技術(shù)已經(jīng)比較成熟,故我們采用第二種方案,對(duì)采集到的圖像數(shù)據(jù)進(jìn)行軟壓縮,此處利用h.264標(biāo)準(zhǔn)進(jìn)行壓縮。h.264壓縮標(biāo)準(zhǔn)是一種新的編碼方法。與其他壓縮編碼方式比較,利用h.264標(biāo)準(zhǔn)可以獲得更高的壓縮比及更好的圖象質(zhì)量。h.264編碼器都是開源的,可以從網(wǎng)上下載,此處用的是t264,對(duì)采集到的yuv格式的數(shù)據(jù)進(jìn)行逐幀壓縮。
。3)網(wǎng)絡(luò)傳輸模塊,完成現(xiàn)場多媒體數(shù)據(jù)及歷史多媒體數(shù)據(jù)的網(wǎng)絡(luò)的傳輸,用于支持瀏覽端的現(xiàn)場預(yù)覽和記錄回放功能。其基本過程是碼流經(jīng)碼率控制部分進(jìn)行碼率調(diào)整,然后由rtp組件傳送到網(wǎng)絡(luò)中。傳輸啟動(dòng)之初,組播控制器根據(jù)多用戶代理提供瀏覽端的組播策略來協(xié)商組播策略;傳輸過程中,rtcp組件實(shí)時(shí)監(jiān)測網(wǎng)絡(luò)狀況并反饋給決策控制器,決策控制器控制分離器、視頻抽幀器和碼流復(fù)合器組件,完成碼流的動(dòng)態(tài)整合。其傳輸體系結(jié)構(gòu)如圖3所示:
(4)存儲(chǔ)模塊,多個(gè)攝像頭采集的多路視頻數(shù)據(jù)經(jīng)編碼壓縮后形成復(fù)合媒體流,通過存儲(chǔ)組件,存為h.264文件,同時(shí)向數(shù)據(jù)庫中寫相應(yīng)的文件信息。
(5)設(shè)備控制模塊,設(shè)備控制器接收用戶界面發(fā)出的或網(wǎng)絡(luò)傳送來的控制命令,控制解碼器,完成對(duì)云臺(tái)、鏡頭等設(shè)備的控制。
4 客戶端軟件設(shè)計(jì)
客戶端主要完成視頻數(shù)據(jù)的接收,解碼和顯示工作,同時(shí)還可以動(dòng)態(tài)設(shè)置編碼
1 引 言
隨著計(jì)算機(jī)網(wǎng)絡(luò)和視頻壓縮技術(shù)的快速發(fā)展,多媒體技術(shù)的研究和應(yīng)用受到了越來越多的重視,其中視頻服務(wù)器的發(fā)展尤為迅速,特別是嵌入式視頻服務(wù)器[1][2]。
由于具有體積小,安裝靈活的特點(diǎn),只要能接入到internet, 它就可以為任何授權(quán)的用戶提供實(shí)時(shí)的視頻監(jiān)控服務(wù),避免了鋪設(shè)專門線路進(jìn)行視頻信號(hào)傳輸?shù)陌嘿F費(fèi)用。
嵌入式視頻服務(wù)器是一種能提供視頻采集,視頻數(shù)據(jù)壓縮,網(wǎng)絡(luò)傳輸功能的一種多媒體信息服務(wù)器。其傳輸處理的是視頻流,而視頻傳輸具有實(shí)時(shí)性高、數(shù)據(jù)量大等特點(diǎn),它需要滿足以下三點(diǎn)要求:一:高帶寬,高帶寬保證大數(shù)據(jù)量的多媒體數(shù)據(jù)傳輸效率;二:支持qos,保證傳輸?shù)馁|(zhì)量、資源預(yù)留;三:支持多種傳輸方式。由于嵌入式環(huán)境資源的限制,在視頻數(shù)據(jù)的實(shí)時(shí)性傳輸和圖象質(zhì)量方面,其qos一直得不到保證。特別是多路的情況,實(shí)時(shí)視頻的傳輸質(zhì)量隨路數(shù)的增加會(huì)急劇下降。嵌入式視頻服務(wù)器性能的瓶頸主要在于視頻數(shù)據(jù)的傳輸上,因此縮短視頻數(shù)據(jù)的傳輸時(shí)間就能提高視頻服務(wù)器的性能。縮減視頻數(shù)據(jù)的傳輸時(shí)間可以從兩個(gè)方面入手:一:減少視頻數(shù)據(jù)傳輸?shù)男畔⒘。主要通過采用高性能的壓縮編碼技術(shù)來減少傳輸?shù)男畔⒘俊6翰捎眠m合多媒體數(shù)據(jù)的傳輸協(xié)議。考慮到嵌入式的系統(tǒng)資源及其寶貴,故我們選用了目前編碼效率最高的h.264[3]技術(shù)和專門為傳輸多媒體數(shù)據(jù)的rtp[4]傳輸協(xié)議設(shè)計(jì)了本文這套系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,該嵌入式視頻服務(wù)器在不影響圖象質(zhì)量的前提下,能夠比以往的視頻服務(wù)器占用更低的帶寬。
2 系統(tǒng)的硬件組成
我們在設(shè)計(jì)中采用了hharm2410嵌入式開發(fā)套件,它由核心板和底板組成,核心板上集成samsung s3c2410 處理器(203m 的主頻,100m的總線速度),64m sdram以及16m 的flash。底板上提供以下外設(shè)接口:一個(gè)四線rs-232 串口,一個(gè)usb host接口,一個(gè)10m/100m自適應(yīng)以太網(wǎng)接口,一個(gè)tft lcd接口, 一個(gè)觸摸屏接口。操作系統(tǒng)采用裁減過的嵌入式linux。該嵌入式視頻服務(wù)器的結(jié)構(gòu)框圖如圖1所示。
應(yīng)用程序通過編碼器模塊采集h.264視頻流,按照rtp協(xié)議實(shí)時(shí)打包,并通過以太網(wǎng)接口 實(shí)現(xiàn)實(shí)時(shí)流傳輸( ip streaming) 。另外還可以擴(kuò)充一塊802. 11b /g無線模塊,來達(dá)到無線網(wǎng)絡(luò)傳輸?shù)哪康?并可通過ide接口擴(kuò)充一塊ide硬盤作為本地h.264視頻圖像存儲(chǔ)之用。
3 服務(wù)器軟件設(shè)計(jì)
服務(wù)器是整個(gè)系統(tǒng)的核心,它工作在嵌入式linux平臺(tái)上,嵌入式linux是標(biāo)準(zhǔn)linux經(jīng)裁減得到的,同linux一樣,具有穩(wěn)定,安全,高效率,實(shí)時(shí)性好等優(yōu)點(diǎn)。服務(wù)器端采用模塊化設(shè)計(jì),從功能角度,服務(wù)器端的軟件體系結(jié)構(gòu)可劃分為5個(gè)模塊:采集模塊,編碼模塊,網(wǎng)絡(luò)傳輸模塊,存儲(chǔ)模塊,設(shè)備控制模塊。其體系結(jié)構(gòu)如圖2所示:
(1)采集模塊,主要完成視頻的采集,圖像格式的轉(zhuǎn)換,在此處設(shè)定采集的圖像格式
為yuv。采用linux的v4l[5]來實(shí)現(xiàn),v4l是linux中提供的一個(gè)音視頻接口規(guī)范,所有的音視頻設(shè)備的驅(qū)動(dòng)編寫要用到這些接口。
。2)編碼模塊,主要完成對(duì)采集的圖像的壓縮編碼。對(duì)采集到的圖像數(shù)據(jù)進(jìn)行壓縮可以有兩種方案,一種是用硬件來壓縮,它可以有專用系統(tǒng)和通用系統(tǒng)兩種形式,其中,專用系統(tǒng)使用專用芯片實(shí)現(xiàn)圖像的硬件壓縮,通用系統(tǒng)則利用通用芯片實(shí)現(xiàn)數(shù)據(jù)壓縮。相對(duì)于通
用系統(tǒng),用專用芯片對(duì)圖像用硬件進(jìn)行壓縮可以快速進(jìn)行圖象壓縮,減少處理器的開銷等點(diǎn)。第二種壓縮方法就是用軟件來實(shí)現(xiàn),這種方法對(duì)機(jī)器的硬件配置要求較高,但運(yùn)用起來靈活,考慮到現(xiàn)在硬件技術(shù)已經(jīng)比較成熟,故我們采用第二種方案,對(duì)采集到的圖像數(shù)據(jù)進(jìn)行軟壓縮,此處利用h.264標(biāo)準(zhǔn)進(jìn)行壓縮。h.264壓縮標(biāo)準(zhǔn)是一種新的編碼方法。與其他壓縮編碼方式比較,利用h.264標(biāo)準(zhǔn)可以獲得更高的壓縮比及更好的圖象質(zhì)量。h.264編碼器都是開源的,可以從網(wǎng)上下載,此處用的是t264,對(duì)采集到的yuv格式的數(shù)據(jù)進(jìn)行逐幀壓縮。
(3)網(wǎng)絡(luò)傳輸模塊,完成現(xiàn)場多媒體數(shù)據(jù)及歷史多媒體數(shù)據(jù)的網(wǎng)絡(luò)的傳輸,用于支持瀏覽端的現(xiàn)場預(yù)覽和記錄回放功能。其基本過程是碼流經(jīng)碼率控制部分進(jìn)行碼率調(diào)整,然后由rtp組件傳送到網(wǎng)絡(luò)中。傳輸啟動(dòng)之初,組播控制器根據(jù)多用戶代理提供瀏覽端的組播策略來協(xié)商組播策略;傳輸過程中,rtcp組件實(shí)時(shí)監(jiān)測網(wǎng)絡(luò)狀況并反饋給決策控制器,決策控制器控制分離器、視頻抽幀器和碼流復(fù)合器組件,完成碼流的動(dòng)態(tài)整合。其傳輸體系結(jié)構(gòu)如圖3所示:
(4)存儲(chǔ)模塊,多個(gè)攝像頭采集的多路視頻數(shù)據(jù)經(jīng)編碼壓縮后形成復(fù)合媒體流,通過存儲(chǔ)組件,存為h.264文件,同時(shí)向數(shù)據(jù)庫中寫相應(yīng)的文件信息。
(5)設(shè)備控制模塊,設(shè)備控制器接收用戶界面發(fā)出的或網(wǎng)絡(luò)傳送來的控制命令,控制解碼器,完成對(duì)云臺(tái)、鏡頭等設(shè)備的控制。
4 客戶端軟件設(shè)計(jì)
客戶端主要完成視頻數(shù)據(jù)的接收,解碼和顯示工作,同時(shí)還可以動(dòng)態(tài)設(shè)置編碼
熱門點(diǎn)擊
- 2G/3G RAN承載網(wǎng)解決方案
- GPRS DT/CQT測試中異常問題分析
- Semtech推出集成IEEE1588 PT
- Linux串口通信編程(Linux Seri
- 采用開放式芯片協(xié)議(OCP)總線的跟蹤儀器與
- Fulcrum推出10-Gigabit以太網(wǎng)
- H.248協(xié)議在通信網(wǎng)絡(luò)中的應(yīng)用
- SiGe半導(dǎo)體推出SE4150L超小雙天線輸
- LitePoint解密多種無線通訊標(biāo)準(zhǔn)的測試
- 輕量級(jí)TCP/IP協(xié)議棧OpenTCP的移植
推薦技術(shù)資料
- 100A全集成電源模塊R
- Teseo-VIC6A GNSS車用精準(zhǔn)定位
- 高效先進(jìn)封裝工藝
- 模數(shù)轉(zhuǎn)換器 (Analog-to-Digit
- 集成模數(shù)轉(zhuǎn)換器(ADC)
- 128 通道20 位電流數(shù)字轉(zhuǎn)換器̴
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究