杨 珂,王 鹏
(西安工业大学 电子信息工程学院,陕西 西安 710000)
小型化高清视频压缩传输系统设计
杨珂,王鹏
(西安工业大学 电子信息工程学院,陕西 西安 710000)
针对炮射/弹载微小型飞行器有效空间对任务载荷的要求,设计了一种以DM368为核心处理器的低功耗高清视频压缩传输系统。依赖DM368内嵌的视频协处理器,对开源高清视频编码器X264进行移植优化,使得系统具有功耗低、处理延迟小等优势,编码延时缩短了66%,为实时传输战场图像提供了一种有效解决途径。
小型化;视频压缩;H264;网络传输;DM368
掌握战场的“制信息权”对取得现代战争的胜利有着至关重要的作用。炮射/弹载微小型飞行器尺寸小、重量轻、机动性和隐蔽性好,可完成侦察、目标指示、战场毁伤效果评估、精确打击、中继通信以及干扰等任务。随着视频技术的不断发展,如何在小型化条件下实时获取高清视频图像对战场侦察和毁伤评估具有重要的军事意义。H.264 视频编码标准是目前最有效地高清视频标准,具有压缩率高、差错恢复能力强,适用范围广等特点,受到了人们越来越多的重视。本文采用TI公司提供的DM368作为核心芯片,搭建了一个从视频采集、压缩到通过网络输出的系统,在DSP上应用H.264压缩编码技术,实现了低码率,高清晰的视频压缩效果。
1.1H.264 标准
H.264 标准是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像专家组)的联合视频组JVT(JointVideoTeam)开发的,也称为MPEG-4part10/AVC(高级视频编码)。H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。H.264协议标准公开发布以后,各种规格的H.264编解码器先后出现。X264是一个开源的H.264编解码器,它摒弃了一些对实际编码性能提高不大的功能,而且支持一些高效的汇编指令集,具有较好的实用性和时效性。综合考虑多方面因素,本文采用X264开源编码器为基础进行系统的软件设计。
1.2DM368
系统的主芯片选取TI公司生产的专用数字多媒体低功耗处理芯片TMS320DM368(DM368)。DM368具有高性能的主频为432MHz的ARM926EJ-S主核处理器,同时内置了16kB的指令缓存,8kB的数据缓存等诸多内部资源,可运行嵌入式实时Linux操作系统。同时,DM368片上集成了硬件化的图像处理协处理器(HDVICP和MJCP),上述协处理器可运行H.264-BP/MP/HP、MPEG4等多种视频编解码算法,在协处理器硬核上执行H.264编码等视频处理时,不占用ARM主核资源,适合嵌入式系统实时视频处理设计。
系统硬件结构由视频采集模块、视频预处理模块、存储模块和视频传输模块组成,如图1所示。其中视频编码模块为核心,主要包括DM368,完成基于H.264标准的视频压缩编码算法。视频预处理模块主要包括并串转换芯片TLK1501和FPGA芯片EP3C55F484C8。这个模块主要有两个功能:一是对输入的视频信号进行预处理解析;二是在没有外部视频信号输入的时候在FPGA中模拟视频信号。需要特别指出的是,为了视频数据传输的可靠性和保密性,系统前端输入的视频信号采用专用数字视频CML协议格式。视频压缩编码部分由DM368负责处理实现,将经过压缩编码之后的H.264视频码流传输给视频传输模块。LAN8187以太网接口芯片和DM368传输控制处理器共同构成了视频传输模块。DM368内部集成有MAC控制器,负责管理控制LAN8187,LAN8187将经过DM368封装后的码流分发传输出去。此外,系统存储模块包括SDRAM和Flash,完成视频数据的缓存和应用程序的下载存储。
图1 系统硬件结构
2.1视频预处理模块
视频预处理模块由两个部分构成,数据格式转换器TLK1501和图像预处理芯片FPGA。TLK1501是一款专门用于串并转换的芯片,具有极高的传输效率和处理效率,本系统中用于数字视频CML格式的串并格式变换。FPGA芯片采用Altera公司出产的CycloneIII系列芯片EP3C55F484C8。
TLK1501作为视频图像输入接口芯片,接口电路采用CML逻辑电平。TLK1501和EP3C55F484C8的连接关系如图2所示。EP3C55F484C8有两种工作模式:正常工作模式和回环测试模式。当选择正常工作模式时,外部输入的CML协议格式数字高清视频数据包以串行差分信号CML逻辑电平形式进入TLK1501,经过串转并变换以后经CML_RXD输出16位并行数据到EP3C55F484C8,再传送至DM368进行压缩编码处理;当选择回环测试模式时,EP3C55F484C8中视频模拟模块产生的16位并行视频信号经CML_TXD输入TLK1501,TLK1501回环工作模式下串行信号接收端口DINRXP、DINRXN和串行发送端口DOUTTXP、DOUTTXN内部相连,这样传入TLK1501的视频图像信号经CML_RXD以16位并行数据形式传送至EP3C55F484C8,再传送至DM368进行压缩编码处理。
图2 TLK1501和EP3C55F484C8的连接图
2.2视频编码传输模块
视频编码传输模块主要包括主控制器DM368、以太网接口芯片LAN8187,实现压缩编码后的视频码流在以太网上的传输。DM368通过专用视频接口接收FPGA预处理后的视频数据,进入DSP完成H264压缩编码,将得到的视频流通过网络接口传输。DM368有专用的10/100Mbit·s-1以太网控制器EMAC,设计如图3所示。
图3 视频网络传输设计
系统还包括电源模块以及存储器模块等其他模块,根据DM368器件接口进行标准设计即可。
系统重点在于软件设计,前端视频预处理主要是针对专用数字高清视频格式的变换处理,后端是DM368的编解码优化设计。
3.1视频预处理
在视频预处理模块前端输入采用CML协议视频格式的数字高清视频数据包。FPGA中设计了视频模拟和视频解析两个模块,分别对应回环测试模式和正常工作模式。通过外部开关选择使FPGA工作在视频解析或视频模拟工作状态。当FPGA处于视频模拟状态时,系统前端输入的视频数据会被丢弃,视频模拟模块会产生预设的一定帧率和大小的符合CML协议视频格式的数字灰度视频,方便测试编码器的传输延时;当FPGA处于视频解析状态时,视频解析模块对输入的数字高清视频数据包进行解析并产生行同步信号和场同步信号,然后传输给视频编码模块进行编码处理。
视频模拟模块可以模拟产生分辨率大小为M×N、任意帧率的基于灰度图像的视频,M和N的值可以根据系统的需要进行设定。这个模块的核心任务是产生CML协议视频格式灰度图像数据包并持续发送到TLK1501。为此作者设定系统实际图像大小为(M+M_left+M_right)×(N+N_up+N_bottom),其中M_left是左行消隐长度,N_left是右行消隐长度,N_up是上场消隐长度,N_bottom是下场消隐长度,如图4所示。
图4 实际图像大小
视频解析模块主要负责将TLK1501发送给FPGA的CML协议视频格式高清视频图像数据包,解析后发送给DM368进行编码处理。
3.2视频编码优化处理
采用X.264开源编码器为基础进行系统的设计。X.264编码器在DM368的移植工作已有很多研究。本文主要从内存优化和代码级优化实现编码过程。
(1)内存级优化。DM368的内核处理器结构支持分层内存,允许让使用最频繁的代码访问更快、更小的内存,视频数据缓冲区使用更大的内存。DM368内核处理器内具有统一的地址范围,包括L1内存、L2内存、SDRAM内存及异步内存空间。内部存储器L1内存运行内核时钟频率,与其他内存相比延迟最低,此外还具有分离的数据L1内存和指令L1内存空间。为了提高DM368的编码性能和效率,优化时应该在指令L1内存中存储指令代码,在数据L1内存中存储运算结果和参数。因为H.264编码器程序代码较多,需要占用大量的内存空间,在指令L1内存中存储全部程序是不切实际的,此外还要在数据L1中存储运算结果和参数,因此为了提高系统的工作性能和处理效率,优化时应提高L1内存的利用率。可以把数据L1和指令L1内存空间进行划分,一部分用于可寻址寄存器,另一部分设置成高速缓存区。被划分出来的内存空间只能是可寻址寄存器或高速缓存区的某一种。从本质上讲,高速缓存区相当于一个高级存储器,其存储量不大,但通过它能够与存储量较大的可缓存存储器相映射,将可缓存存储器区域的地址空间折叠存放于高速缓存区中,这样便于内核处理器在高速缓存区中快速找到自己需要读取的内容,而不用在大容量的存储器中寻找;
(2)代码级优化。代码中调用丰富的内联函数,可以直接映射成内联汇编指令;内联函数通过单指令多数据(SIMD)操作和数据打包提升代码的性能。可以将下划线放在函数前面,用于表示该函数是内联函数。与普通函数不同,硬件设备在进行编译时,会直接加载内联函数,并将其转化成汇编程序。合理使用内联函数能够显著降低程序占用的内存空间,使程序运行的速度和效率大幅提升。对于那些经常被调用的比较简单、耗时的函数或者函数难以用C语言表达,优化时应考用内联函数进行改写。还有其他优化,使用宏、采用计算表格化、浮点数定点化等编程优化。最后,采用汇编程序改写优化那些耗时多、占用空间大、频繁调用的函数。利用DSP硬件并行性和单指令多数据SIMD结构的优势,让若干个操作在同一个指令周期内同时进行,缩短指令周期所消耗的时间和资源。为了进一步提高执行效率,还能够通过专用指令实现特殊功能,如SAA视频指令,4Byte的绝对差通过一条指令即可实现,而且能够同时对地址内容进行更新,对运算进行并行处理,显著提高了系统编码的效率。CPU、绝对值、极值等专用指令也能够在同一个周期内实现多个功能,在保证程序执行质量的基础上,使程序执行效率显著提高。
为了解编码器的编码效率,作者用模拟的视频图像进行了压缩编码测试。首先把FPGA发送给DSP进行编码的视频数据同时通过DVI数字视频接口发送至显示器,经压缩编码后的视频码流通过传输模块的以太网口发送至专用解码单元解码输出至显示器。其中传输模块传输延迟时间为50ms,解码板解码时间延迟为70ms;FPGA模拟的视频中白色光带滑过显示屏的时间为1 500ms,白色光带循环出现周期为2s,这个时间远大于编码器编码延时。模拟测试结果分别如图5所示。对比两个显示器中光带位置,可以得出编码前和解码后的视频光带距离差大约为1/5的屏幕距离。这样可以计算出编码前的图像和编码后的图像延迟时间差为1/5×1 500=300ms,减去传输模块延迟时间50ms和解码板解码时间70ms,得到编码器时间延迟为180ms。
图5 模拟视频测试结果图
经过对H.264编码器从诸多方面进行性能优化后,本设计通过在摄像头前面放置秒表,并读取编码前和解码后显示屏中秒表读数差,精确计算了编码器延迟时间。图6和图7所示为秒表读数的时延结果图,图中左侧显示屏为编码前的视频图像,右侧显示屏为解码后的视频图像。对比两个显示器中秒表读数,可以得出前后两幅图像中秒表读数差值为78-60=47-29=18ms。这样可以计算出编码前的图像和编码后的图像传输时间差为18×10=180ms,减去传输模块延迟时间50ms和解码板解码时间70ms,得到编码器延迟时间为60ms。由图示结果可知,优化后的编码器图像编码效果良好,编化速度大幅提高,较好地满足了系统设计要求。
图6 优化后的实时秒表计时时延1
图7 优化后的实时秒表计时时延2
本文提出了一种基于DM368的小型化高清视频编码传输系统,系统结构简单,从处理器硬件资源特点和代码两个方面实现了H.264编码器X.264的移植优化。测试结果表明,通过优化后系统编码时延减小了66%,而且图像质量达到720P的高清标准,能满足弹载/炮射等小型化飞行器的特殊需求。
[1]杨涛.基于S3C2440的网络视频传输系统的设计与实现[D].武汉:武汉理工大学,2012.
[2]LIDongjie,YOUBo,YUZhilong,etal.WirelessvideotransmissionsystembasedonARM[C].Harbin:2012InternationalConferenceonMeasurement,InformationandControl,2012.
[3]石磊.基于3G无线网络的视频监控系统探析[J].计算机光盘软件与应用,2012(9):119-120.
[4]MengLM,LiJ,NiYJ.Designandimplementationofwirelessvideotransmissionsystem[C].Ningbo:InternationalConferenceonMultimediaTechnology,2010.
[5]高九岗.基于TIDaVinci技术的3G移动视频监控系统[D].成都:成都理工大学,2011.
[6]李家清.基于TMS320DM365的嵌入式无线视频传输系统的设计与实现[D].南京:南京邮电大学,2011.
[7]徐驰.基于ARM的无线视频传输系统的设计[J].电子设计工程,2011,19(10):154-156.
[8]傅中君.嵌入式GPRS无线通信模块的设计与实现[J].计算机工程与应用,2009,14(23):2162-165.
[9]张存利,吴怡,黄鸿强,等.基于802.11网络的无线视频传输系统设计[J].现代电子技术,2010,33(4):70-72.
[10]杨磊,蒋念平.嵌入式Linux下USB主控制器驱动设计[J].信息技术,2013,13(36):121-123.
[11]章浩.TD-LTE视频监控业务研究[J].电信工程技术与标准化,2010(12):80-84.
[12]焦阳.基于LTE技术的无线视频监控业务[J].中国铁路,2012(8):77-79.
[13]FanBin,ShenLianfeng,SongTiecheng.Thedesignandimplementationofawirelessreal-timevideotransmissionsystemoverWLAN[C].Nanjing:1stInternationalConferenceonInformationScienceandEngineering,2009.
[14]石晓栋,李全虎.嵌入式实时视频传输系统的设计与实现[D].呼和浩特:内蒙古大学,2012.
[15]刘林.基于DM365的高清视频编码传输系统的设计[D].西安:西安电子科技大学,2011.
Miniaturization of High-definition Video Compression Transmission System Design
YANGKe,WANGPeng
(SchoolofElectronicandInformationEngineering,Xi’anTechnologicalUniversity,Xi’an710000,China)
Aimedattherequirementofthelimitedspaceofartillcrylaunched/ammocarriedMicroAirVchicle,wedesignalow-powerHDvideocompressiontransmissionsystemwithDM368asthecoreprocessor.RelyonaembeddedvideoprocessorinDM368,toX264transplantofopen-sourceHDvideoencoderoptimization,whichhastheadvantagesofthelowpowerconsumptionandthesmallprocessingdelay,providingaefficaciouswaytotacklingtheproblemofreal-timetransmissionfortheimagesofbattlefield.
miniaturization;videocompression;H264;networktransmission;DM368
2016- 06- 28
杨珂 (1994-),女,本科。研究方向:图像处理,信号分析。王鹏 (1978-),男,副教授,硕士生导师。研究方向:嵌入式系统,无线传感器网络,机器视觉。
10.16180/j.cnki.issn1007-7820.2016.09.032
TN919.8
A
1007-7820(2016)09-118-04