新聞中心

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

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

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

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

本文引用地址:http://www.butianyuan.cn/article/201611/340853.htm

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

引言

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

1 系統(tǒng)設(shè)計

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

1.1 嵌入式模塊設(shè)計

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

1.1.1 視頻監(jiān)控

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

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

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

1.1.3 廣告播放

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

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

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

1.2 PC模塊設(shè)計

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

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

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

2.1 視頻格式

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

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

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

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

(1)

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

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

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

2.2 基于S5pv210的硬件編碼

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

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

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

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

3.1

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

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

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

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

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

3.2.1 添加程序文件

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

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


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉