<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 電梯監控系統中的視頻編解碼關(guān)鍵技術(shù)

電梯監控系統中的視頻編解碼關(guān)鍵技術(shù)

作者:茅劍 劉晉明 張杰敏 時(shí)間:2016-11-30 來(lái)源:電子產(chǎn)品世界 收藏
編者按:本文針對電梯運行環(huán)境,設計了視頻監控和廣告播放一體化嵌入式系統,實(shí)現了電梯監控、視頻播放、網(wǎng)絡(luò )傳輸等功能。為降低產(chǎn)品化后的硬件成本和體積,系統基于S5PV210嵌入式芯片開(kāi)發(fā)以單CPU結構實(shí)現所有應用功能。為保證系統的運行效率,針對視頻的采集、傳輸和播放,設計實(shí)現了硬件編解碼技術(shù)。實(shí)驗證明,利用該視頻編解碼技術(shù),可使系統各功能模塊高效并行工作,從而大大降低系統資源占用率,提高產(chǎn)品的市場(chǎng)競爭力。

作者/ 茅劍1,2 劉晉明1,2 張杰敏1   1.集美大學(xué) 計算機工程學(xué)院(福建 廈門(mén) 361021) 2.國防科學(xué)技術(shù)大學(xué) 電子科學(xué)與工程學(xué)院(湖南 長(cháng)沙 410073)

本文引用地址:http://dyxdggzs.com/article/201611/340853.htm

摘要:本文針對電梯運行環(huán)境,設計了視頻監控和廣告播放一體化系統,實(shí)現了、視頻播放、網(wǎng)絡(luò )傳輸等功能。為降低產(chǎn)品化后的硬件成本和體積,系統基于S5PV210芯片開(kāi)發(fā)以單CPU結構實(shí)現所有應用功能。為保證系統的運行效率,針對視頻的采集、傳輸和播放,設計實(shí)現了硬件編解碼技術(shù)。實(shí)驗證明,利用該技術(shù),可使系統各功能模塊高效并行工作,從而大大降低系統資源占用率,提高產(chǎn)品的市場(chǎng)競爭力。

引言

  近年來(lái),我國電梯安全事故頻發(fā),暴露出電梯運行維護中存在著(zhù)諸多問(wèn)題。如何從技術(shù)層面消除電梯運行的安全隱患,保障電梯的正常運行及乘坐人員的人身安全,是相關(guān)工程技術(shù)人員急需解決的問(wèn)題。此外,由于電梯通常安裝于公共場(chǎng)所,乘客具有相當的流動(dòng)性,所以電梯也成為一個(gè)重要的廣告投放媒介。面對傳統紙質(zhì)廣告投放更新效率低下的現狀,利用信息化技術(shù)提高電梯廣告的投放效率和效果,也是電梯廣告業(yè)界的迫切需求?;谏鲜鲇懻?,本文針對轎廂式電梯設計開(kāi)發(fā)了一套電梯遠程安全監控及視頻廣告系統[1-2]。該系統基于三星公司的S5pv210芯片開(kāi)發(fā),實(shí)現了對電梯運行狀態(tài)和轎廂進(jìn)出人員的實(shí)時(shí)監控,以及針對電梯用戶(hù)的視頻廣告播放。

1 系統設計

  嵌入式電梯遠程安全監控及視頻廣告系統的整體設計如圖1所示。系統分為嵌入式前端模塊和PC后端模塊兩大部分。嵌入式模塊部署在電梯轎廂內,PC模塊安放在樓宇的主控機房,二者通過(guò)IP網(wǎng)絡(luò )互聯(lián),實(shí)現雙向實(shí)時(shí)訪(fǎng)問(wèn)。PC模塊和嵌入式模塊之間基于一對多關(guān)系設計,在主控機房的工作人員可以通過(guò)PC模塊,同時(shí)訪(fǎng)問(wèn)控制分布在不同電梯內的多個(gè)嵌入式模塊。

1.1 嵌入式模塊設計

  嵌入式模塊以S5pv210芯片為核心設計開(kāi)發(fā),移植Linux嵌入式操作系統內核,通過(guò)多種接口和外設通訊,實(shí)現對電梯狀態(tài)的監控、轎廂內監控視頻采集處理、廣告播放等功能。S5pv210芯片支持多接口連接,并內置多媒體處理內核,可支持攝像頭和多種視頻格式的硬件編解碼[3]。嵌入式模塊各功能簡(jiǎn)要介紹如下:

1.1.1 視頻監控

  視頻監控子模塊通過(guò)USB接口外接攝像頭實(shí)時(shí)采集電梯轎廂內視頻場(chǎng)景,記錄電梯運行和人員進(jìn)出的視頻圖像信息[4]。在該子模塊中,設計實(shí)現了硬件編碼技術(shù),將監控視頻以格式進(jìn)行實(shí)時(shí)壓縮處理,以提高視頻的處理、傳輸和存儲效率。視頻根據記錄時(shí)間分割,實(shí)時(shí)存儲到本地SD卡,并依據控制指令,通過(guò)IP網(wǎng)絡(luò )上傳至PC服務(wù)器。

1.1.2 運行狀態(tài)監控

  狀態(tài)監控子模塊通過(guò)RS232和RS485總線(xiàn)連接電梯控制箱,實(shí)時(shí)采集電梯運行狀態(tài)數據,并以規定編碼格式實(shí)時(shí)反饋至PC服務(wù)器。電梯運行如有異常,控制室內工作人員可立即獲取警告信息。

1.1.3 廣告播放

  廣告播放子模塊通過(guò)HDMI接口外接LCD顯示屏,根據客戶(hù)要求滾動(dòng)播放廣告視頻[5-6]。該子模塊選擇視頻播放器,并用設計實(shí)現的硬件解碼算法更新源碼,以改善視頻播放效率。

1.1.4 網(wǎng)絡(luò )通信

  考慮到電梯內外的施工環(huán)境復雜,本系統在嵌入式核心板上集成了有線(xiàn)和無(wú)線(xiàn)兩種IP網(wǎng)絡(luò )接口。嵌入式模塊可以通過(guò)有線(xiàn)和無(wú)線(xiàn)兩種連接方式和PC模塊保持通信。

1.2 PC模塊設計

  PC模塊部署在PC服務(wù)器上,提供系統相關(guān)的Web服務(wù)和數據庫服務(wù),實(shí)現用戶(hù)可視化交互訪(fǎng)問(wèn)[7-8]。PC模塊通過(guò)IP網(wǎng)絡(luò )和各嵌入式模塊保持實(shí)時(shí)通信,實(shí)現對嵌入式模塊的遠程訪(fǎng)問(wèn)和控制。由于嵌入式模塊采用SD卡作為存儲設備,存儲容量有限,而監控視頻需要長(cháng)期保存,所以大量的視頻數據均須在PC服務(wù)器上備份存儲。視頻根據錄制時(shí)間分割存儲,可隨時(shí)調取查看。

2 視頻監控中的硬件編碼技術(shù)

  本文中所設計的嵌入式電梯遠程安全監控及視頻廣告系統是市場(chǎng)化的升級換代產(chǎn)品。相對于前代產(chǎn)品,本系統的優(yōu)點(diǎn)在于采用了嵌入式單CPU設計,大大降低產(chǎn)品的生產(chǎn)和部署成本。在降低硬件成本的同時(shí),還要保證系統的運行效率,就需要良好的性能支持,因此,嵌入式硬件編解碼技術(shù)成為系統開(kāi)發(fā)的關(guān)鍵。

2.1 視頻格式

  為了獲取更高的圖像壓縮比,從而提高視頻的遠程傳輸效率和本地存儲效率,系統采用作為視頻格式[9]。實(shí)時(shí)監控視頻輸出為CIF格式,分辨率352×288,幀率為25幀/秒,可調節碼流。

  由于系統要求對目標進(jìn)行每天24小時(shí)不間斷監控,并能追溯過(guò)去的視頻記錄,這就對視頻的存儲時(shí)長(cháng)提出了較高的要求。在嵌入式設備存儲容量一定的情況下,提高視頻存儲的壓縮比就成為最好的選擇。此外,系統需要實(shí)時(shí)傳輸監控畫(huà)面至后臺監控室,在網(wǎng)絡(luò )帶寬一定的前提下,也必須通過(guò)提高視頻壓縮比來(lái)保障傳輸效率。因此,本系統采用高壓縮比的YUV420視頻格式,如圖2所示。

  YUV420格式對視頻的亮度分量Y和色度分量U、V的采樣比為4:1:1。相對于亮度分量Y而言,色度分量U、V使用隔行采樣加間隔采樣的方式。也就是說(shuō),對于一幀畫(huà)面,在存儲每個(gè)像素的亮度值的同時(shí),只留下奇數行中奇數列的色度值。

  例如,對一個(gè)分辨率為W×H的視頻幀,采用YUV420格式進(jìn)行采樣。幀中每個(gè)像素的亮度分量都被保存下來(lái),即保存了W×H個(gè)Y值;但是只有四分之一像素的色度分量留下來(lái),即保存了W×H/4個(gè)U和V值。定義亮度分量Y(m,n),m和n表示對應像素在圖像中所處的位置,m取值范圍在0到H-1之間,n的取值范圍在0到W-1之間。那么色度分量U(k)、V(k)所對應的像素位置關(guān)系為:

(1)

  其中k的取值范圍在0至H×W/4-1之間。

  存儲YUV420格式視頻時(shí),有兩種存儲格式:YV12和NV12,如圖3和圖4所示。兩種存儲格式占用的存儲空間一樣,存儲過(guò)程中均將亮度分量和色度分量分離。對于一幀視頻而言,二者都是先存儲所有像素的Y分量數值,然后存儲U、V分量數值。區別在于,YV12格式將U、V分塊存儲,先存儲所有V分量數值,然后是U分量;而NV12格式則是將U、V分量交替存儲,一個(gè)像素的U分量數值之后是該像素的V分量數值。

  由于攝像頭在采集監控視頻時(shí)輸出的視頻格式是YV12,而S5pv210芯片執行硬件編碼時(shí)所需要的是NV12格式輸入,所以在硬件編碼之前需要進(jìn)行格式轉換,將YV12格式的視頻數據幀轉為NV12格式。

2.2 基于S5pv210的硬件編碼

  本文的硬件編碼主要是利用S5pv210芯片的多格式編解碼技術(shù)(MFC)實(shí)現[10],視頻硬件編碼的流程如圖5所示。系統以視頻幀為單位進(jìn)行硬件編碼,開(kāi)啟S5pv210芯片的MFC之后,將視頻數據幀順序讀入。在讀入第一幀后,需要對編碼參數進(jìn)行初始化,初始化參數主要包括視頻尺寸和視頻質(zhì)量,其中的視頻質(zhì)量參數“FrameQp”賦值范圍在0到51之間。本系統將視頻質(zhì)量參數置為30,經(jīng)過(guò)實(shí)驗測試,視頻播放效果較好。初始化過(guò)程中,還需從首幀中獲取視頻文件頭信息,并將其寫(xiě)入H.264文件。初始化后,其余視頻幀依次輸入緩存,進(jìn)行YV12至NV12的格式轉換之后,由芯片執行硬件編碼。相應的編碼結果可以從輸出緩沖中依次獲得,并寫(xiě)入H.264文件。通過(guò)循環(huán)執行幀編碼指令,就可完成整個(gè)視頻的硬件編碼。

  為了保證監控視頻的實(shí)時(shí)傳輸和存儲,視頻的編碼和傳輸幾乎是同時(shí)進(jìn)行的。當某一幀視頻的編碼完成之后,編碼后的數據幀除了存入本地的H.264文件之外,還通過(guò)網(wǎng)絡(luò )服務(wù)程序發(fā)送至遠程PC服務(wù)器。PC服務(wù)器根據時(shí)間戳,就可以將接收的數據幀重建成視頻文件,也能實(shí)時(shí)播放監控視頻。經(jīng)過(guò)測試,硬件編碼的高效率執行很好地保障了視頻監控的實(shí)時(shí)性,同時(shí)編碼的高壓縮率也降低了系統的存儲成本。

3 視頻播放中的硬件解碼技術(shù)

  為了在系統資源有限的嵌入式設備上同時(shí)實(shí)現視頻采集、傳輸和播放,必須對視頻播放中解碼技術(shù)進(jìn)行優(yōu)化[11-13]。通過(guò)解碼優(yōu)化,僅使用一個(gè)嵌入式芯片,就能在執行監控視頻采集和傳輸的同時(shí),保證廣告視頻的圖像清晰、播放流暢。

3.1

  本文選用Mplayer作為系統的嵌入式多媒體播放器。Mplayer功能強大,可運行在不同體系結構上,能播放多種格式的視頻文件,并支持多種視頻圖像輸出驅動(dòng)。由于Mplayer是一款完全開(kāi)源的播放軟件,因此可以很方便地根據需要修改其源碼,實(shí)現視頻解碼器的優(yōu)化。

  Mplayer采用音視頻數據分流的方式,對視頻文件進(jìn)行處理。Mplayer讀入視頻文件后,通過(guò)解析將文件分流為視頻和音頻兩部分;然后根據文件格式選擇不同的解碼器,分別進(jìn)行音、視頻解碼;最終將解碼后的音、視頻同步輸出[14-16]。本文只關(guān)注分流后的視頻流數據,并基于系統芯片重新設計Mplayer的視頻解碼器,從而改善視頻解碼性能,優(yōu)化視頻播放。

3.2 基于S5pv210的硬件解碼技術(shù)

  與硬件編碼方法類(lèi)似,硬件解碼也是基于S5pv210芯片的MFC設計實(shí)現的。解碼過(guò)程同樣以幀為單位進(jìn)行,因此,在解碼之前需要初始化幀參數,開(kāi)辟存儲空間。視頻數據從視頻文件中讀取之后,被拷貝到S5pv210的解碼緩沖區,經(jīng)過(guò)MFC解碼后,將己解碼的視頻數據放入輸出緩沖區中,最后驅動(dòng)設備將視頻顯示到LCD屏幕上。視頻硬件解碼的流程如圖6所示。

  硬件解碼實(shí)現之后,還需將其封裝為Mplayer可調用的解碼器。完成解碼器的植入,必須對Mplayer的工作原理和源碼組織有著(zhù)深入理解。向Mplayer植入編碼器的關(guān)鍵步驟如下:

3.2.1 添加程序文件

  首先,將實(shí)現的硬件解碼器保存為.C文件,添加至libmpcodec 目錄下。在這個(gè)源文件中需要實(shí)現兩個(gè)關(guān)鍵的結構體: vd_info_t和vd_functions_t。vd_info_t定義了解碼器的相關(guān)信息,包含五個(gè)字符串參數,都必須填寫(xiě)。其中的第二個(gè)參數short name為定義的編碼器名,需要和配置文件codec_conf中的driver保持一致。 vd_functions_t定義了與解碼有關(guān)的函數,通過(guò)info 的定義以及 LIBVD_EXTERN 的調用使解碼器的vd_functions_t結構體在Mplaer全局生效。通過(guò)上述過(guò)程,從而完成 S5pv210硬解碼實(shí)現和 Mplayer 調用接口之間的銜接定義。

本文來(lái)源于中國科技期刊《電子產(chǎn)品世界》2016年第11期第35頁(yè),歡迎您寫(xiě)論文時(shí)引用,并注明出處。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>