電梯監(jiān)控系統(tǒng)中的視頻編解碼關(guān)鍵技術(shù)
3.2.2 修改配置文件
本文引用地址:http://www.ljygm.com/article/201611/340853.htmMplayer所有可用的音、視頻解碼器均在etc 目錄下的 codec.conf 文件中聲明。所以,植入時(shí)需要在該文件中注冊(cè)自定義的硬件解碼器。文件中,使用 videocodec 關(guān)鍵字聲明新解碼器名;info關(guān)鍵字指明-help 命令執(zhí)行時(shí)打印的信息;status 關(guān)鍵字表示該解碼器的工作狀態(tài);fourcc 關(guān)鍵字說(shuō)明解碼器可解析的視頻類(lèi)型,其格式為四字符的國(guó)際通用的視頻壓縮標(biāo)準(zhǔn); driver 關(guān)鍵字指明集成在 Mplayer 內(nèi)部的解碼器模塊,即所實(shí)現(xiàn)的解碼器名,必須和vd_info_t中定義的第二個(gè)字符串short name參數(shù)一致;out 關(guān)鍵字說(shuō)明解碼后輸出的色彩編碼格式。
3.2.3 添加解碼驅(qū)動(dòng)
在libmpcodec/vd.c中加入MFC的解碼驅(qū)動(dòng)。在vd.c中將硬件解碼器的vd_functions_t結(jié)構(gòu)體變量添加到全局?jǐn)?shù)組vd_functions_t* mpcodecs_vd_drivers[]中,該數(shù)組中保存了Mplayer當(dāng)前可用的所有的視頻解碼器,這些解碼器可以通過(guò)vd_info_t中的short name所保存的全局唯一字符串來(lái)查找。MPlayer運(yùn)行時(shí),會(huì)將codec.conf中所有的視頻解碼器讀入程序,并保存在全局的數(shù)組codecs_st video_codecs[]中。vd.c中的init_best_Video_codec函數(shù)會(huì)根據(jù)video_codecs[]數(shù)組中的信息匹配當(dāng)前視頻的最佳解碼器,并在mpcodecs_vd_drivers[]中查找相應(yīng)的解碼函數(shù)。
3.2.4 移植Mplayer至開(kāi)發(fā)板
修改libmpcodec/Makefile文件,在SRCS_COMMON中添加新植入的解碼器文件以及其它相關(guān)的新增源文件。交叉編譯后,將Mplayer移植到開(kāi)發(fā)板上。為了保證最終的視頻播放效果,可以根據(jù)LCD顯示屏尺寸修改/.mplayer/config文件中的顯示配置參數(shù)。
至此,通過(guò)向Mplayer中植入硬件編碼器,在嵌入式設(shè)備上實(shí)現(xiàn)了基于S5pv210芯片的硬件解碼技術(shù)。
4 實(shí)驗(yàn)測(cè)試
通過(guò)上述方法,設(shè)計(jì)實(shí)現(xiàn)了一套兼具廣告視頻播放功能的電梯監(jiān)控系統(tǒng)樣機(jī)。系統(tǒng)的嵌入式端硬件實(shí)現(xiàn)是以S5pv210核心板為基礎(chǔ),根據(jù)電梯監(jiān)控應(yīng)用環(huán)境擴(kuò)展外圍電路,支持有線和無(wú)線以太網(wǎng)接入,支持HDMI視頻輸出以及外接SD卡存儲(chǔ)。軟件開(kāi)發(fā)平臺(tái)為嵌入式Linux操作系統(tǒng),視頻采集利用V4L2框架實(shí)現(xiàn),視頻傳輸使用UDP協(xié)議,其中視頻的硬件編解碼基于S5pv210的MFC開(kāi)發(fā)實(shí)現(xiàn)。針對(duì)系統(tǒng)的嵌入式端進(jìn)行運(yùn)行測(cè)試,目的是驗(yàn)證當(dāng)前設(shè)計(jì)是否能滿足市場(chǎng)應(yīng)用要求,即在降低硬件成本的同時(shí),保證系統(tǒng)性能。
為了測(cè)試硬件編解碼的運(yùn)行效率,系統(tǒng)加載了上一代監(jiān)控產(chǎn)品的軟件編解碼代碼,進(jìn)行對(duì)比運(yùn)行測(cè)試。測(cè)試過(guò)程中,實(shí)時(shí)查詢系統(tǒng)的CPU占用率,以執(zhí)行代碼時(shí)的CPU占用率作為運(yùn)行效率的量化評(píng)價(jià)指標(biāo)。
對(duì)比測(cè)試發(fā)現(xiàn),采用軟件編解碼技術(shù)的代碼執(zhí)行效果很差。僅運(yùn)行視頻采集功能模塊,即運(yùn)行視頻編碼時(shí),在不向服務(wù)器傳輸實(shí)時(shí)視頻的情況下,CPU占用率已經(jīng)達(dá)到71%。若同時(shí)開(kāi)啟編碼和傳輸功能,CPU占用率則上升至85%,服務(wù)器端的監(jiān)視畫(huà)面出現(xiàn)延遲、卡頓現(xiàn)象。嘗試讓系統(tǒng)在采集傳輸視頻的同時(shí),再播放廣告視頻,即同時(shí)運(yùn)行編解碼程序,系統(tǒng)死機(jī)完全無(wú)響應(yīng),可認(rèn)為CPU占用率達(dá)到100%。這說(shuō)明,嵌入式芯片的有限處理能力無(wú)法負(fù)荷針對(duì)PC 環(huán)境開(kāi)發(fā)的軟件編解碼程序。
對(duì)本文所設(shè)計(jì)的硬件編解碼程序,在相同條件下進(jìn)行測(cè)試。在單獨(dú)執(zhí)行編碼程序的情況下,CPU占用率僅為30%;若同時(shí)開(kāi)啟編碼和傳輸功能,CPU占用率僅增加了3%。從測(cè)試結(jié)果來(lái)看,增加視頻傳輸對(duì)系統(tǒng)開(kāi)銷(xiāo)的影響幾乎可以忽略,這是由于本文設(shè)計(jì)的傳輸程序是伴隨視頻幀編碼同時(shí)進(jìn)行的,采用H.264編碼格式傳輸?shù)臄?shù)據(jù)量很小,對(duì)系統(tǒng)資源消耗很少。此外,從監(jiān)控畫(huà)面來(lái)看,視頻無(wú)卡頓,僅有少許延遲。如果再同時(shí)運(yùn)行解碼程序,CPU占用率上升至67%,系統(tǒng)依然正常運(yùn)行,無(wú)卡頓。廣告視頻播放流暢,畫(huà)面清晰,色彩無(wú)失真。
對(duì)比測(cè)試的結(jié)果如表1所示,結(jié)果表明本文設(shè)計(jì)實(shí)現(xiàn)的視頻硬件編解碼技術(shù)很好地發(fā)揮了S5pv210芯片的多媒體處理能力,表現(xiàn)出良好的系統(tǒng)運(yùn)行效率。
5 結(jié)束語(yǔ)
本文基于S5pv210芯片設(shè)計(jì)實(shí)現(xiàn)了一個(gè)嵌入式電梯遠(yuǎn)程安全監(jiān)控及視頻廣告系統(tǒng)。為提高電梯監(jiān)控視頻的采集、傳輸、處理及存儲(chǔ)效率,監(jiān)控視頻采用H.264格式,并針對(duì)S5pv210芯片研究并實(shí)現(xiàn)了H.264視頻硬件編碼技術(shù);為減少?gòu)V告視頻播放過(guò)程中的系統(tǒng)資源占用,針對(duì)廣告視頻開(kāi)發(fā)了硬件解碼技術(shù),從而在一個(gè)嵌入式芯片上同時(shí)實(shí)現(xiàn)監(jiān)控視頻采集和廣告視頻播放,以達(dá)到降低系統(tǒng)硬件成本及減小設(shè)備尺寸的目的。通過(guò)系統(tǒng)的運(yùn)行測(cè)試,表明設(shè)計(jì)實(shí)現(xiàn)的硬件編解碼技術(shù),相對(duì)軟件編解碼而言,系統(tǒng)資源占用率更低,系統(tǒng)運(yùn)行效率更高。由于采用嵌入式設(shè)計(jì)和硬件編解碼技術(shù),該系統(tǒng)產(chǎn)品化后,與前一代產(chǎn)品相比,將大大降低產(chǎn)品生產(chǎn)和施工部署成本。
參考文獻(xiàn):
[1]茅劍,林奇.基于聲紋識(shí)別的嵌入式防盜系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化, 2009(11):163-165.
[2]J Mao, Y Li.An embedded voiceprint recognition system based on GMM[C]// Computer Science & Education (ICCSE), 2015 10th International Conference on. IEEE, London, UK; 2015:38-41.
[3]S5PV210 RISC Microprocessor User's Manual. Samsung Electronics Co: REV 1.00[R].2010.
[4]程少煉.基于H.264的嵌入式視頻監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[D].武漢科技大學(xué), 2011.
[5]劉福良.嵌入式網(wǎng)絡(luò)廣告機(jī)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2012.
[6]楊功銀.基于ARM平臺(tái)的嵌入式流媒體播放系統(tǒng)的研究與設(shè)計(jì)[D].湖南師范大學(xué), 2012.
[7]周強(qiáng),費(fèi)章君,王強(qiáng),等.基于H.264的嵌入式網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計(jì)與開(kāi)發(fā)[J].計(jì)算機(jī)應(yīng)用,2010,30(2):555-559.
[8]劉喜龍,石中鎖.基于H264的嵌入式視頻服務(wù)器的設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2005(1):133-134.
[9]Alexis Michael Tourapis, Athanasios Leontaris, Karsten Sühring, Gary Sullivan. H.264/14496-10 AVC Reference Software Manual. Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG:[R].2010.
[10]S5PV210 Multi-Format Codec Release Notes. Samsung Electronics Co: REV 2.1[R]. 2009
[11]Feghali R, Speranza F, Wang D, et al. Video Quality Metric for Bit Rate Control via Joint Adjustment of Quantization and Frame Rate[J]. Broadcasting IEEE Transactions on, 2007, 53(1):441-446.
[12]Yang E H, Zheng L, He D K, et al. Rate Distortion Theory for Causal Video Coding: Characterization, Computation Algorithm, and Comparison[J]. IEEE Transactions on Information Theory, 2011, 57(8):5258-5280.
[13]Pescador F, Maturana G, Garrido M J, et al. An H.264 video decoder based on a latest generation DSP[J]. IEEE Transactions on Consumer Electronics, 2009, 55(1):205-212.
[14]缐曉林.基于Freescale i.MX27的視頻編解碼的研究與應(yīng)用[D].北京郵電大學(xué),2010.
[15]王彤.基于FFmpeg的H.264解碼器實(shí)現(xiàn)[D].大連理工大學(xué), 2011.
[16]胡紹江.基于MX21平臺(tái)的MPEG-4視頻解碼系統(tǒng)研究與優(yōu)化[D].武漢理工大學(xué),2009.
本文來(lái)源于中國(guó)科技期刊《電子產(chǎn)品世界》2016年第11期第35頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。
評(píng)論