劉克軒,李永紅*,岳 妮,麻少軒
(1.中北大學儀器與電子學院,太原030051;2.內蒙古蒙東能源鄂溫克電廠,內蒙古呼倫貝爾021000)
基于FPGA和DSP的音視頻采集處理系統設計*
劉克軒1,李永紅1*,岳妮2,麻少軒2
(1.中北大學儀器與電子學院,太原030051;2.內蒙古蒙東能源鄂溫克電廠,內蒙古呼倫貝爾021000)
為了實時記錄飛機飛行及作業過程中的各種信息,提出了一種基于FPGA和DSP的機載音視頻采集處理系統。FPGA作為協處理器,完成對高清視頻信號和音頻信號的采集、解碼以及格式的轉換。DSP作為主處理器,在Linux系統的開發環境下,以視頻H.264編碼算法和音頻G.711編碼算法為核心完成了對音視頻信號的壓縮和存儲。該系統性能穩定,實用性強,能夠滿足飛機飛行6小時的5路視頻和2路音頻信號的采集、存儲和回放,達到了設計要求,具有一定的參考價值。
機載記錄儀;嵌入式系統;DM8168;H.264編碼
伴隨著數字信息技術、數字多媒體技術和網絡技術飛速發展,可視化應用技術在視頻監控、圖形識別、復雜環境探測等應用領域得到了廣泛的應用[1]。特別是在航空工業領域,經常需要實現在飛機飛行過程中對各種機載狀態信息的實時記錄。盡管音視頻信號,特別是視頻信號數據量大,技術要求高,隨著大規模集成電路的發展與計算機技術的進步,采用光纖傳輸、數字圖像壓縮技術實現高壓縮比、高質量的圖像數字化壓縮記錄已成為可能[2]。數字化的記錄方法可以將視頻數據經過壓縮記錄在大容量的存儲器上,有效消除噪聲,增加記錄時間,快速拷貝和復制,快速回放和查找[3-4]。本設計即應用在某飛機的音視頻記錄系統上,通過高清攝像頭、機通等設備和光纖等,將外界信息記錄并壓縮存儲,飛機飛行任務完成后,可解壓縮回放音視頻圖像數據。基于嵌入式的音視頻信號采集及處理系統在飛機日常執行任務中發揮著十分重要的作用[5-8]。該系統可以實時記錄飛行器飛行及作業過程中的各種信息。它能夠直觀、真實地反映飛機執行任務書在空中飛行和操作情況。通過地面回放設備的回放,可以準確掌握飛機執行任務時各種作業情況,用于相關人員的分析,提高實際作業水平。
項目來源:山西省青年基金項目(2012021013-6)
收稿日期:2015-06-26修改日期:2015-10-09
機載音視頻采集處理系統包括音視頻信號采集、處理、數據存儲與回放顯示4部分。其中音視頻信號采集、處理、數據存儲功能在機載記錄儀上完成。記錄儀主要由信號處理板、存儲板、加熱板、電源板4個功能板再配上底板和轉接板組成,其中4個功能單板之間的互聯關系及與外部信號間的關系如圖1所示。記錄儀核心板為信號處理板,核心芯片主要有TI公司DM8168和Kintex7 352T,對音視頻數據進行處理后壓縮。系統將對5路ARINC818傳輸格式的視頻流以及實時采集的2路音頻信號進行處理,其中5路經光纖傳輸的視頻流需經過光模塊進行光電轉換后,通過FPGA進行ARINC818解碼,將視頻由RGB格式轉為YUV格式后通過DSP對數據進行H.264壓縮處理;音頻信息進行模數轉換(ADC)后,將數字音頻信息嵌入時統信息(精確到秒)和Mark點信息,處理完成后通過DSP對音頻信息進行G.711壓縮,最后,將壓縮處理后的音頻信號數據、視頻信號數據通過SATA接口分路存儲到儲存板中。

圖1 音視頻采集處理系統整體結構
2.1硬件設計
信號處理模塊核心芯片主要有Kintex 7352T和TI公司DM8168,用以完成高清視頻信號和音頻信號的采集、處理和存儲工作。新一代FPGA Kintex 7352T,被認為是業界最快的28 nm產品,具有業界最高系統性能和容量。實時記錄的視頻信息為RGB格式的高清視頻信息分辨率為1 920像素× 1 080像素,像元深度為24 bit,幀率為60幀/s左右,傳輸帶寬達到 1 920×1 080×24×60≈2.986 Gbit/s。傳輸的數據量大,傳輸速度非常快,一般的嵌入式設備很難達到此要求,根據處理需求,選用Xilinx公司高性能的Kintex 7325T,它支持高達12.5 Gbit/s的高速串行收發器,能夠實現信號處理性能、功耗和成本的最佳平衡。
信號處理板上另一塊主要芯片為DM8168芯片具備一個主頻高達1.35 GHz的ARM Cortex-A8 RISC處理器和一個主頻高達1.125 GHz的C674 x DSP處理器,ARM核心作為主控來處理各個線程的協調與調度,DSP核心專門用來壓縮數據。DSP與ARM之間通過共享內存的方式交互視頻數據,即ARM將視頻數據通過共享內存傳輸給DSP,DSP編碼壓縮完成后再回傳給ARM,在DSP編碼壓縮數據的過程中,ARM有大量時間做其他的事情,如將音頻信息、視頻信息串行數據流通過SATA接口存入至存儲板。針對有5路高清視頻的采集任務,DSP采用兩片TI公司的TMS320DM8168 Davinci數字媒體處理器。第1片DM8168處理3路視頻,第2片DM8168處理2路視頻。具體硬件設計如圖2所示。
上述選用的硬件設計方案可以實現系統功能,Kintex7 352 T完成高清視頻信號的采集與格式轉換,DM8168中DSP專注于視頻圖像及音頻信息處理,ARM負責應用程序管理及各個外設的控制。系統各器件協調工作,可靠性高。

圖2 音視頻處理模塊硬件設計框圖
2.2軟件設計
系統不僅要能夠實現對音視頻數據的采集、存儲,更重要的是在保證音視頻數據質量的前提下要能夠完成對音視頻數據的壓縮處理。根據前面的分析,針對上述功能形成下述系統軟件設計思路。(1)高清視頻信號的采集與格式轉換。(2)配置嵌入式linux系統。(3)高清視頻信號的壓縮。(4)音頻信號的壓縮處理。(5)將壓縮完成后的音視頻數據通過SATA接口存儲到儲存板中。其中,在RGB三基色模型中,圖像中的每一個像素用RGB分量數值來分別表示3種顏色的比率。人眼對亮度變化敏感,對色度的變化相對要差一些,若按色度和亮度分開后,可以分別按不同采樣比例,結果并不影響人的視覺效果。YUV(也稱為YCrCb)正是基于這種理論的一種顏色編碼方法。其中的Y代表亮度,U和V代表色差,各個色度量的計算方式是求R、G、B和Y之間的差值。YUV色彩空間巧妙的利用了人類視覺系統對色度敏感度低于對亮度敏感度的特點,降低了色度分量的分辨率或者取樣點,進而降低其所需要表示的數據量,從而在編碼時達到更高的壓縮比。FPGA在進行格式轉換時,先通過轉換矩陣作用,將RGB信號轉換為YUV并行信號,再根據YUV的信號格式得到最終的YUV422格式的視頻信息。
對高清視頻流的讀取工作和對壓縮處理后的數據的存儲工作要求時效性很強,要求操作系統除具備一般操作系統最基本的功能,還要具有較強的實時性、良好的體系結構的伸縮性和外設接口的統一性等優點。采用嵌入式系統作為機載記錄儀的操作系統無疑是個良好的選擇。雖然目前常用的嵌入式操作系統中VxWorks,Windows CE,uC/OS-II,Linux等,但嵌入式Linux具有應用廣泛、功能強大、可應用于多種硬件平臺等一系列優點。因此,選用嵌入式Linux作為機載記錄儀的操作系統。
在嵌入式Linux操作系統上,系統的軟件設計主要包括底層驅動程序設計及應用程序設計。底層的驅動程序完成與硬件系統的連接及溝通。驅動部分包括硬件的驅動程序、引導/加載程序及參數配置程序等。應用程序部分包括視頻編碼、壓縮、存儲程序設計等。系統采用C語言編程,并在一個進程下采用多個線程的方式實現視頻的編碼、壓縮、存儲等功能。系統軟件設計框圖如圖3所示。

圖3 音視頻處理模塊軟件設計框圖
3.1視頻流處理流程
DM8168是一款多核異構的片上SoC,它擁有ARMCortexA8以及DSPC674x+、M3VIDEO、M3VPSS等協處理器,具有強大的視頻圖像處理能力。本系統在軟件設計時,采用MCFW(Multichannel Frame Work)軟件框架來實現多個核之間的通信和分工合作,視頻流處理流程如圖4所示。
從圖4可以看到本系統的視頻處理流程,首先,M3VPSS核使用 CaptureLink(視頻捕獲)從TVP5158芯片捕獲到視頻信號,由于捕獲進來的視頻圖像為隔行掃描格式,不利于在算法中對圖像作處理,所以需要使用DeiLink預先做反交疊處理,使圖像轉換為逐行掃描模式。接著,分別利用IPC_OUTLink和IPC_FRAMES_OUTLink將視頻幀“引”到M3VIDEO核和DSP核。其中,M3VIDEO可以使用Encode/DecodeLink完成視頻編解碼,編碼后的視頻幀通過Cortex-A8核上運行的linux文件系統存放在存儲介質中,同樣也可以通過用戶操作,將存儲的視頻讀取、解碼并傳回到M3VPSS進行顯示;C674xDSP核在接收到M3VPSS核的視頻圖像幀后,根據需要執行相應算法,如均值偏移算法,圖像被處理好后,又返回到 M3VPSS。SWMSLink的主要作用是負責將多路圖像進行拼接,使它們能夠在同一幀圖像上同時顯示,當然每一幅圖像的大小會被縮小,SWMSLink通常被用在視頻監控的縮略圖像中。在視頻經過所有處理后,分別以標清和高清的形式顯示在對應屏幕上。

圖4 MCFW視頻流處理流程
3.2基于DM8168下的視頻H.264編碼壓縮
在本設計中,首先將輸入的視頻信號進行處理,劃分為H.264的基本單位宏塊(16像素×16像素大小)。每個序列的第一幅圖像,即IDR(Instantaneous Decoding Refresh)幀,采用幀內(intra)編碼模式,該模式的每個像素的空間預測只能將同一幀內與之相鄰的像素點作為參考。兩個IDR幀之間的圖像使用幀間(inter)編碼,該模式下首先進行時間預測,在進行變換編碼前,需將預測后的殘差再劃分為更小的4×4的塊,利用整數變換對每一塊進行處理,量化變換后的系數,最后熵編碼輸出。編碼器端若包含一個將下一幀編碼圖像的參考幀的重構過程,即一次進行量化后的系數進行與解碼器同步的反量化和反變換過程,重構出解碼預測殘差,再和運動估計圖像相加,能夠更準確地進行預測。視頻采集通過TI DSP/BIOS Driver Developer's Kit實現,它提供了C語言接口的視頻接口驅動程序Vport。主要步驟如圖5所示。

圖5 視頻編碼主要步驟圖
本系統中5路視頻均為全高清,有3路視頻為1 920像素×1 080像素/60 frame/s,其余3路視頻為1 920像素×1 080像素/30 frame/s,視頻碼率為16 Mbit/s。6 h視頻壓縮后的數據量為 151.2 Gbyte,6 h音頻壓縮的數量為675 Mbyte;系統硬盤為1 Tbyte,足夠滿足飛機每次執行任務的時間(最多飛行6 h)。
飛機音視頻記錄的工作環境復雜、外界干擾強,通過優化系統設計減少了獲取圖像的干擾,通過地面解碼回放軟件對機載音視頻信息進行回放,可對飛機每次執行任務的工作情況進行再現,有利于提高飛機日常作業的工作效率等。回放界面如圖6所示。

圖6 音視頻回放界面
本文介紹了一種基于嵌入式的音視頻信號采集及處理系統。該系統性能穩定,實用性強,能夠滿足飛機飛行6 h的5路視頻和2路音頻信號的采集、存儲和回放,滿足最初的設計要求。此系統可廣泛運用于軍工視頻采集、記錄、軌道交通實時視頻監控、醫療視頻監控采集等需求高清視頻和視頻實時性較高的行業。高清視頻的壓縮存儲為后續的安防等行業提供備查信息。結構設計合理,集成度高,具有很強的通用性,軟件模塊可以進一步豐富,對其他的音視頻信號采集及處理系統也有一定的借鑒意義。
[1] 劉芳.車載嵌入式高清視頻處理終端的設計與實現[D].北京:北京交通大學,2012.
[2] 李易難,牛燕雄,楊露,等.基于DSP+FPGA視頻圖像采集處理系統的設計[J].電子測量技術,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的高清視頻編碼技術與實現[J].數據采集與處理,2013(6):690-695.
[5] 呂勇.基于DSP的機載視頻記錄儀設計[D].南京:南京航空航天大學,2003.
[6] 李超,肖健.嵌入式Linux開發技術與應用[M].北京:電子工業出版社,2008:15-18.
[7] 劉云峰,黃英,何新鵬.基于arm9的嵌入式Linux系統移植器[J].工業控制計算機,2011,24(6):44-45.
[8] 劉喜龍,石中鎖.基于H.264的嵌入式視頻服務器的設計[J].微計算機信息,2005,21(1):133-134.
[9] 曹貝貞,李志康,薛松.基于無線網絡技術的數字視頻監控系統[J].計算機工程,2007,33(1):247-249.
[10]張廷華,樊桂花.基于DSP和FPGA的視頻格式轉換[J].國外電子測量技術,2013,32(2):57-59.
[11]蘇磊,張登福,劉濤,等.基于FPGA的RGB到YUV422的數字視頻轉換[J].電視技術,2009,33:105-107.
[12]馬超,章明朝,李佩玥,等.基于FPGA的實時視頻采集預處理系統設計[J].光電技術應用,2015,36(3):518-521.
[13]景遠軍.基于DSP和FPGA的高速視頻采集與傳輸系統研究[D].南京:南京理工大學,2012.

劉克軒(1990-),男,漢族,碩士研究生,主要研究方向為動態測試與智能儀器,675700155@qq.com;

李永紅(1967-),男,漢族,教授,碩士生導師,主要研究方向為特殊環境條件下的測試技術,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