基于FPGA和DSP的音视频采集处理系统设计*

2016-08-18 01:46刘克轩李永红麻少轩
电子器件 2016年3期
关键词:音视频高清嵌入式

刘克轩,李永红*,岳 妮,麻少轩

(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

1 系统组成

机载音视频采集处理系统包括音视频信号采集、处理、数据存储与回放显示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 信号处理模块设计

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 实现的关键技术

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 视频编码主要步骤图

4 结果分析

本系统中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 音视频回放界面

5 结束语

本文介绍了一种基于嵌入式的音视频信号采集及处理系统。该系统性能稳定,实用性强,能够满足飞机飞行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

猜你喜欢
音视频高清嵌入式
高清大脑皮层发育新图谱绘成
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
3KB深圳市一禾音视频科技有限公司
TS系列红外传感器在嵌入式控制系统中的应用
教你玩转AV设备(一):4K高清播放机使用指南
WIFI音视频信号传输的关键问题探究
搭建基于Qt的嵌入式开发平台
高速公路整合移动音视频系统应用
数码单反拍摄高清视频时同期声的收录探索