劉克軒,李永紅*,岳 妮,麻少軒
(1.中北大學(xué)儀器與電子學(xué)院,太原030051;2.內(nèi)蒙古蒙東能源鄂溫克電廠,內(nèi)蒙古呼倫貝爾021000)
基于FPGA和DSP的音視頻采集處理系統(tǒng)設(shè)計*
劉克軒1,李永紅1*,岳妮2,麻少軒2
(1.中北大學(xué)儀器與電子學(xué)院,太原030051;2.內(nèi)蒙古蒙東能源鄂溫克電廠,內(nèi)蒙古呼倫貝爾021000)
為了實時記錄飛機飛行及作業(yè)過程中的各種信息,提出了一種基于FPGA和DSP的機載音視頻采集處理系統(tǒng)。FPGA作為協(xié)處理器,完成對高清視頻信號和音頻信號的采集、解碼以及格式的轉(zhuǎn)換。DSP作為主處理器,在Linux系統(tǒng)的開發(fā)環(huán)境下,以視頻H.264編碼算法和音頻G.711編碼算法為核心完成了對音視頻信號的壓縮和存儲。該系統(tǒng)性能穩(wěn)定,實用性強,能夠滿足飛機飛行6小時的5路視頻和2路音頻信號的采集、存儲和回放,達到了設(shè)計要求,具有一定的參考價值。
機載記錄儀;嵌入式系統(tǒng);DM8168;H.264編碼
伴隨著數(shù)字信息技術(shù)、數(shù)字多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)飛速發(fā)展,可視化應(yīng)用技術(shù)在視頻監(jiān)控、圖形識別、復(fù)雜環(huán)境探測等應(yīng)用領(lǐng)域得到了廣泛的應(yīng)用[1]。特別是在航空工業(yè)領(lǐng)域,經(jīng)常需要實現(xiàn)在飛機飛行過程中對各種機載狀態(tài)信息的實時記錄。盡管音視頻信號,特別是視頻信號數(shù)據(jù)量大,技術(shù)要求高,隨著大規(guī)模集成電路的發(fā)展與計算機技術(shù)的進步,采用光纖傳輸、數(shù)字圖像壓縮技術(shù)實現(xiàn)高壓縮比、高質(zhì)量的圖像數(shù)字化壓縮記錄已成為可能[2]。數(shù)字化的記錄方法可以將視頻數(shù)據(jù)經(jīng)過壓縮記錄在大容量的存儲器上,有效消除噪聲,增加記錄時間,快速拷貝和復(fù)制,快速回放和查找[3-4]。本設(shè)計即應(yīng)用在某飛機的音視頻記錄系統(tǒng)上,通過高清攝像頭、機通等設(shè)備和光纖等,將外界信息記錄并壓縮存儲,飛機飛行任務(wù)完成后,可解壓縮回放音視頻圖像數(shù)據(jù)?;谇度胧降囊粢曨l信號采集及處理系統(tǒng)在飛機日常執(zhí)行任務(wù)中發(fā)揮著十分重要的作用[5-8]。該系統(tǒng)可以實時記錄飛行器飛行及作業(yè)過程中的各種信息。它能夠直觀、真實地反映飛機執(zhí)行任務(wù)書在空中飛行和操作情況。通過地面回放設(shè)備的回放,可以準(zhǔn)確掌握飛機執(zhí)行任務(wù)時各種作業(yè)情況,用于相關(guān)人員的分析,提高實際作業(yè)水平。
項目來源:山西省青年基金項目(2012021013-6)
收稿日期:2015-06-26修改日期:2015-10-09
機載音視頻采集處理系統(tǒng)包括音視頻信號采集、處理、數(shù)據(jù)存儲與回放顯示4部分。其中音視頻信號采集、處理、數(shù)據(jù)存儲功能在機載記錄儀上完成。記錄儀主要由信號處理板、存儲板、加熱板、電源板4個功能板再配上底板和轉(zhuǎn)接板組成,其中4個功能單板之間的互聯(lián)關(guān)系及與外部信號間的關(guān)系如圖1所示。記錄儀核心板為信號處理板,核心芯片主要有TI公司DM8168和Kintex7 352T,對音視頻數(shù)據(jù)進行處理后壓縮。系統(tǒng)將對5路ARINC818傳輸格式的視頻流以及實時采集的2路音頻信號進行處理,其中5路經(jīng)光纖傳輸?shù)囊曨l流需經(jīng)過光模塊進行光電轉(zhuǎn)換后,通過FPGA進行ARINC818解碼,將視頻由RGB格式轉(zhuǎn)為YUV格式后通過DSP對數(shù)據(jù)進行H.264壓縮處理;音頻信息進行模數(shù)轉(zhuǎn)換(ADC)后,將數(shù)字音頻信息嵌入時統(tǒng)信息(精確到秒)和Mark點信息,處理完成后通過DSP對音頻信息進行G.711壓縮,最后,將壓縮處理后的音頻信號數(shù)據(jù)、視頻信號數(shù)據(jù)通過SATA接口分路存儲到儲存板中。
圖1 音視頻采集處理系統(tǒng)整體結(jié)構(gòu)
2.1硬件設(shè)計
信號處理模塊核心芯片主要有Kintex 7352T和TI公司DM8168,用以完成高清視頻信號和音頻信號的采集、處理和存儲工作。新一代FPGA Kintex 7352T,被認(rèn)為是業(yè)界最快的28 nm產(chǎn)品,具有業(yè)界最高系統(tǒng)性能和容量。實時記錄的視頻信息為RGB格式的高清視頻信息分辨率為1 920像素× 1 080像素,像元深度為24 bit,幀率為60幀/s左右,傳輸帶寬達到 1 920×1 080×24×60≈2.986 Gbit/s。傳輸?shù)臄?shù)據(jù)量大,傳輸速度非???,一般的嵌入式設(shè)備很難達到此要求,根據(jù)處理需求,選用Xilinx公司高性能的Kintex 7325T,它支持高達12.5 Gbit/s的高速串行收發(fā)器,能夠?qū)崿F(xiàn)信號處理性能、功耗和成本的最佳平衡。
信號處理板上另一塊主要芯片為DM8168芯片具備一個主頻高達1.35 GHz的ARM Cortex-A8 RISC處理器和一個主頻高達1.125 GHz的C674 x DSP處理器,ARM核心作為主控來處理各個線程的協(xié)調(diào)與調(diào)度,DSP核心專門用來壓縮數(shù)據(jù)。DSP與ARM之間通過共享內(nèi)存的方式交互視頻數(shù)據(jù),即ARM將視頻數(shù)據(jù)通過共享內(nèi)存?zhèn)鬏斀oDSP,DSP編碼壓縮完成后再回傳給ARM,在DSP編碼壓縮數(shù)據(jù)的過程中,ARM有大量時間做其他的事情,如將音頻信息、視頻信息串行數(shù)據(jù)流通過SATA接口存入至存儲板。針對有5路高清視頻的采集任務(wù),DSP采用兩片TI公司的TMS320DM8168 Davinci數(shù)字媒體處理器。第1片DM8168處理3路視頻,第2片DM8168處理2路視頻。具體硬件設(shè)計如圖2所示。
上述選用的硬件設(shè)計方案可以實現(xiàn)系統(tǒng)功能,Kintex7 352 T完成高清視頻信號的采集與格式轉(zhuǎn)換,DM8168中DSP專注于視頻圖像及音頻信息處理,ARM負(fù)責(zé)應(yīng)用程序管理及各個外設(shè)的控制。系統(tǒng)各器件協(xié)調(diào)工作,可靠性高。
圖2 音視頻處理模塊硬件設(shè)計框圖
2.2軟件設(shè)計
系統(tǒng)不僅要能夠?qū)崿F(xiàn)對音視頻數(shù)據(jù)的采集、存儲,更重要的是在保證音視頻數(shù)據(jù)質(zhì)量的前提下要能夠完成對音視頻數(shù)據(jù)的壓縮處理。根據(jù)前面的分析,針對上述功能形成下述系統(tǒng)軟件設(shè)計思路。(1)高清視頻信號的采集與格式轉(zhuǎn)換。(2)配置嵌入式linux系統(tǒng)。(3)高清視頻信號的壓縮。(4)音頻信號的壓縮處理。(5)將壓縮完成后的音視頻數(shù)據(jù)通過SATA接口存儲到儲存板中。其中,在RGB三基色模型中,圖像中的每一個像素用RGB分量數(shù)值來分別表示3種顏色的比率。人眼對亮度變化敏感,對色度的變化相對要差一些,若按色度和亮度分開后,可以分別按不同采樣比例,結(jié)果并不影響人的視覺效果。YUV(也稱為YCrCb)正是基于這種理論的一種顏色編碼方法。其中的Y代表亮度,U和V代表色差,各個色度量的計算方式是求R、G、B和Y之間的差值。YUV色彩空間巧妙的利用了人類視覺系統(tǒng)對色度敏感度低于對亮度敏感度的特點,降低了色度分量的分辨率或者取樣點,進而降低其所需要表示的數(shù)據(jù)量,從而在編碼時達到更高的壓縮比。FPGA在進行格式轉(zhuǎn)換時,先通過轉(zhuǎn)換矩陣作用,將RGB信號轉(zhuǎn)換為YUV并行信號,再根據(jù)YUV的信號格式得到最終的YUV422格式的視頻信息。
對高清視頻流的讀取工作和對壓縮處理后的數(shù)據(jù)的存儲工作要求時效性很強,要求操作系統(tǒng)除具備一般操作系統(tǒng)最基本的功能,還要具有較強的實時性、良好的體系結(jié)構(gòu)的伸縮性和外設(shè)接口的統(tǒng)一性等優(yōu)點。采用嵌入式系統(tǒng)作為機載記錄儀的操作系統(tǒng)無疑是個良好的選擇。雖然目前常用的嵌入式操作系統(tǒng)中VxWorks,Windows CE,uC/OS-II,Linux等,但嵌入式Linux具有應(yīng)用廣泛、功能強大、可應(yīng)用于多種硬件平臺等一系列優(yōu)點。因此,選用嵌入式Linux作為機載記錄儀的操作系統(tǒng)。
在嵌入式Linux操作系統(tǒng)上,系統(tǒng)的軟件設(shè)計主要包括底層驅(qū)動程序設(shè)計及應(yīng)用程序設(shè)計。底層的驅(qū)動程序完成與硬件系統(tǒng)的連接及溝通。驅(qū)動部分包括硬件的驅(qū)動程序、引導(dǎo)/加載程序及參數(shù)配置程序等。應(yīng)用程序部分包括視頻編碼、壓縮、存儲程序設(shè)計等。系統(tǒng)采用C語言編程,并在一個進程下采用多個線程的方式實現(xiàn)視頻的編碼、壓縮、存儲等功能。系統(tǒng)軟件設(shè)計框圖如圖3所示。
圖3 音視頻處理模塊軟件設(shè)計框圖
3.1視頻流處理流程
DM8168是一款多核異構(gòu)的片上SoC,它擁有ARMCortexA8以及DSPC674x+、M3VIDEO、M3VPSS等協(xié)處理器,具有強大的視頻圖像處理能力。本系統(tǒng)在軟件設(shè)計時,采用MCFW(Multichannel Frame Work)軟件框架來實現(xiàn)多個核之間的通信和分工合作,視頻流處理流程如圖4所示。
從圖4可以看到本系統(tǒng)的視頻處理流程,首先,M3VPSS核使用 CaptureLink(視頻捕獲)從TVP5158芯片捕獲到視頻信號,由于捕獲進來的視頻圖像為隔行掃描格式,不利于在算法中對圖像作處理,所以需要使用DeiLink預(yù)先做反交疊處理,使圖像轉(zhuǎn)換為逐行掃描模式。接著,分別利用IPC_OUTLink和IPC_FRAMES_OUTLink將視頻幀“引”到M3VIDEO核和DSP核。其中,M3VIDEO可以使用Encode/DecodeLink完成視頻編解碼,編碼后的視頻幀通過Cortex-A8核上運行的linux文件系統(tǒng)存放在存儲介質(zhì)中,同樣也可以通過用戶操作,將存儲的視頻讀取、解碼并傳回到M3VPSS進行顯示;C674xDSP核在接收到M3VPSS核的視頻圖像幀后,根據(jù)需要執(zhí)行相應(yīng)算法,如均值偏移算法,圖像被處理好后,又返回到 M3VPSS。SWMSLink的主要作用是負(fù)責(zé)將多路圖像進行拼接,使它們能夠在同一幀圖像上同時顯示,當(dāng)然每一幅圖像的大小會被縮小,SWMSLink通常被用在視頻監(jiān)控的縮略圖像中。在視頻經(jīng)過所有處理后,分別以標(biāo)清和高清的形式顯示在對應(yīng)屏幕上。
圖4 MCFW視頻流處理流程
3.2基于DM8168下的視頻H.264編碼壓縮
在本設(shè)計中,首先將輸入的視頻信號進行處理,劃分為H.264的基本單位宏塊(16像素×16像素大?。?。每個序列的第一幅圖像,即IDR(Instantaneous Decoding Refresh)幀,采用幀內(nèi)(intra)編碼模式,該模式的每個像素的空間預(yù)測只能將同一幀內(nèi)與之相鄰的像素點作為參考。兩個IDR幀之間的圖像使用幀間(inter)編碼,該模式下首先進行時間預(yù)測,在進行變換編碼前,需將預(yù)測后的殘差再劃分為更小的4×4的塊,利用整數(shù)變換對每一塊進行處理,量化變換后的系數(shù),最后熵編碼輸出。編碼器端若包含一個將下一幀編碼圖像的參考幀的重構(gòu)過程,即一次進行量化后的系數(shù)進行與解碼器同步的反量化和反變換過程,重構(gòu)出解碼預(yù)測殘差,再和運動估計圖像相加,能夠更準(zhǔn)確地進行預(yù)測。視頻采集通過TI DSP/BIOS Driver Developer's Kit實現(xiàn),它提供了C語言接口的視頻接口驅(qū)動程序Vport。主要步驟如圖5所示。
圖5 視頻編碼主要步驟圖
本系統(tǒng)中5路視頻均為全高清,有3路視頻為1 920像素×1 080像素/60 frame/s,其余3路視頻為1 920像素×1 080像素/30 frame/s,視頻碼率為16 Mbit/s。6 h視頻壓縮后的數(shù)據(jù)量為 151.2 Gbyte,6 h音頻壓縮的數(shù)量為675 Mbyte;系統(tǒng)硬盤為1 Tbyte,足夠滿足飛機每次執(zhí)行任務(wù)的時間(最多飛行6 h)。
飛機音視頻記錄的工作環(huán)境復(fù)雜、外界干擾強,通過優(yōu)化系統(tǒng)設(shè)計減少了獲取圖像的干擾,通過地面解碼回放軟件對機載音視頻信息進行回放,可對飛機每次執(zhí)行任務(wù)的工作情況進行再現(xiàn),有利于提高飛機日常作業(yè)的工作效率等?;胤沤缑嫒鐖D6所示。
圖6 音視頻回放界面
本文介紹了一種基于嵌入式的音視頻信號采集及處理系統(tǒng)。該系統(tǒng)性能穩(wěn)定,實用性強,能夠滿足飛機飛行6 h的5路視頻和2路音頻信號的采集、存儲和回放,滿足最初的設(shè)計要求。此系統(tǒng)可廣泛運用于軍工視頻采集、記錄、軌道交通實時視頻監(jiān)控、醫(yī)療視頻監(jiān)控采集等需求高清視頻和視頻實時性較高的行業(yè)。高清視頻的壓縮存儲為后續(xù)的安防等行業(yè)提供備查信息。結(jié)構(gòu)設(shè)計合理,集成度高,具有很強的通用性,軟件模塊可以進一步豐富,對其他的音視頻信號采集及處理系統(tǒng)也有一定的借鑒意義。
[1] 劉芳.車載嵌入式高清視頻處理終端的設(shè)計與實現(xiàn)[D].北京:北京交通大學(xué),2012.
[2] 李易難,牛燕雄,楊露,等.基于DSP+FPGA視頻圖像采集處理系統(tǒng)的設(shè)計[J].電子測量技術(shù),2014,37(1):58-61.
[3] Zhan Zh H.A Design of Versatile Image Processing Platform Based on the Multi-Core DSP and FPGA[J].2012 Fifth International Symposium on Computational Intelligence and Design,2012:236-239.
[4] 姜忠兵,羅鈞,楊曉花,等.基于TMS320DM8168的高清視頻編碼技術(shù)與實現(xiàn)[J].數(shù)據(jù)采集與處理,2013(6):690-695.
[5] 呂勇.基于DSP的機載視頻記錄儀設(shè)計[D].南京:南京航空航天大學(xué),2003.
[6] 李超,肖健.嵌入式Linux開發(fā)技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2008:15-18.
[7] 劉云峰,黃英,何新鵬.基于arm9的嵌入式Linux系統(tǒng)移植器[J].工業(yè)控制計算機,2011,24(6):44-45.
[8] 劉喜龍,石中鎖.基于H.264的嵌入式視頻服務(wù)器的設(shè)計[J].微計算機信息,2005,21(1):133-134.
[9] 曹貝貞,李志康,薛松.基于無線網(wǎng)絡(luò)技術(shù)的數(shù)字視頻監(jiān)控系統(tǒng)[J].計算機工程,2007,33(1):247-249.
[10]張廷華,樊桂花.基于DSP和FPGA的視頻格式轉(zhuǎn)換[J].國外電子測量技術(shù),2013,32(2):57-59.
[11]蘇磊,張登福,劉濤,等.基于FPGA的RGB到Y(jié)UV422的數(shù)字視頻轉(zhuǎn)換[J].電視技術(shù),2009,33:105-107.
[12]馬超,章明朝,李佩玥,等.基于FPGA的實時視頻采集預(yù)處理系統(tǒng)設(shè)計[J].光電技術(shù)應(yīng)用,2015,36(3):518-521.
[13]景遠軍.基于DSP和FPGA的高速視頻采集與傳輸系統(tǒng)研究[D].南京:南京理工大學(xué),2012.
劉克軒(1990-),男,漢族,碩士研究生,主要研究方向為動態(tài)測試與智能儀器,675700155@qq.com;
李永紅(1967-),男,漢族,教授,碩士生導(dǎo)師,主要研究方向為特殊環(huán)境條件下的測試技術(shù),466678237@qq.com。
The Design of Audio and Video Sampling and Processing System Based on FPGA and DSP*
LIU Kexuan1,LI Yonghong1*,YUE Ni2,MA Shaoxuan2
(1.School of Instrument and Electronics,North University of China,Taiyuan 030051,China;2.Inner Mongolia Mengdong Energy Ewenke Power Plant,Hulunbeier Inner Mongolia 021000,China)
An audio and video sampling and processing system based on FPGA and DSP was proposed to record a variety of information of aircraft flight and operation process in real time.FPGA as a coprocessor completed the collection,decoding and format conversion of high-definition video and audio signals.DSP as a processor completed compression and storage of audio and video signal by video H.264 encoding algorithm and audio G.711 encoding algorithm in the development environment of Linux system.The system is stable and practical,and can achieve the collection,storage and playback of 5-channel video and 2-channel audio signals.It meets the design requirements and has a certain reference value.
aviation recording system;embedded system;DM8168;H.264 coding
TP277
A
1005-9490(2016)03-0703-06
EEACC:6450C;781010.3969/j.issn.1005-9490.2016.03.039