基于DM6467T的音视频同步压缩传输系统设计
2019-05-09闫旭刚李博
闫旭刚,李博
(中北大学 仪器与电子学院,山西 太原 030051)
0 引言
随着大数据时代的到来,人们对音视频信息的需求越来越大,音视频处理技术的研究将需持续发展,其中高清音视频的同步技术研究一直是业内的主流话题。该系统设计了以DM6467T为核心的硬件电路为平台,利用H.264/AVC量化后的DCT系数奇偶性嵌入音频信息后进行同步压缩,先对视频文件进行帧内预测、运动估计、DCT变换、量化,之后利用DCT系数的奇偶性嵌入通过AIC32芯片处理后的二进制音频比特数,嵌入之后通过重排序、熵编码得到音视频混合文件。压缩完成之后的音视频混合文件经DM6467T板卡中的以太网口传输至PC机,在重排序之后分出压缩后的音频文件,同步采集同步压缩同步传输,解决音视频在压缩传输过程中的数据延时丢失情况,故而实现同步播放。
该系统是在DSP+ARM双核芯片DM6467T为核心的硬件电路上实现的[1],视频采集使用的是HDMI摄像头,音频采集使用的是3.5 mm麦克风,DSP芯片完成压缩工作,ARM芯片完成外围电路工作[2]。软件设计选择更为方便的Windows操作系统,在CCS 3.3软件中使用C语言编写完成。系统物理结构如图1所示。
图1 系统图Fig.1 Diagram of system
1 系统设计实现
本文系统选用HDMI高清摄像头进行视频采集,使用3.5 mm插头的麦克风进行音频采集,采集到的信息通过以TMS320DM6467T为主处理器的DSP+ARM双核开发板进行音视频同步压缩[1],压缩后的文件通过DM6467T中的以太网口进行网络传输至PC机进行观看。
1.1 硬件电路
硬件电路采用DSP与ARM相结合的方式来实现,系统的核心处理单元是以TMS320DM6467T作为主处理器[3],实现视频的多路H.264/AVC的编码与解码。DM6467T有2个独立的VICP视频编码协议处理单元,能很大程度上提高编码实现的效率,使之能适应高清图像或多路标清图像的处理。其主要由DM6467T处理器、DDR2的存储器、NAND FLASH存储器组成。其中平台的存储器有 32K×8 bits(AT25256A)的 SPI串行FLASH,128M×8 bits的NAND的FLASH和2片64M×16 bits的DDR2;外设接口有5个视频输入、4个视频输出、一路双声音音频的输入与输出及一通路S/PDIF光口、具有10M/100M/1 000M自适应功能的RJ45对外网络接口、可接入硬盘外设的SATA接口、USB 2.0接口、UART接口,完全可满足该系统的设计需求[2]。
故本文系统决定采用该板卡来设计,用具有VLIW的DSP核负责音视频压缩算法的实现[2]。ARM核则负责采集传输转换等外围设备的控制以及系统芯片的配置[1]。这样的设计使得DSP核占用减少,能够更大地提高压缩率。该系统的硬件实现如图2所示,高清HDMI摄像头和SII9125解码驱动共同完成采集视频工作,麦克风和AIC32芯片完成音频采集工作,采集后的音视频根据现下流行的H.264/AVC压缩编码进行DCT奇偶性同步压缩[4]。压缩后的视频通过以太网接口进行网络输出至PC机进行解码观看,实现在高清显示器上高质显示视频的工作。
1.2 软件系统设计
由于Windows操作系统具有更好的兼容性、可操作性与移植性,所以选用Windows操作系统作为软件系统的开发平台,在CCS 3.3中进行软件编程[1]。软件设计实现框图如图3所示。
图2 硬件系统结构图Fig.2 Structure diagram of hardware system
图3 软件框图Fig.3 Block diagram of software
1.2.1 音视频采集
对音频和视频进行分开采集。音频信息由Takstar的PCM-5560麦克风进行采集。采集的音频格式为WMA。该麦克风灵敏度可达-42 dB±3 dB;等效噪声级为小于等于 22 dB(IEC581-5);声压级为 128 dB(THD≤1%at1 kHz);频率响应范围 30 Hz~20 kHz;输出电抗为350(1+30%)Ω;负载阻抗>10 000 Ω;使用电压[5]为1.5 V。麦克风采集音频模拟信号通过AIC32芯片及周边电路转成数字二进制比特位信号,以IIS格式传给DM646T进入缓存区等待与视频文件一起压缩处理后经网络传输至PC机进行播放[5]。
由于HDMI高清摄像头小巧便携、使用方便,输出分辨率极高色彩还原度逼真能达到更好的成像效果,故选用HDMI高清摄像头及其常用的SII9152解码驱动来共同完成视频采集工作。采集工作中由HDMI高清摄像头采集的BT.1120格式的视频数据经SII9152驱动传输至DM6467T的VPIF接口[2],从而进入缓存区等待进行音视频同步压缩处理。工作流程如图4所示。
1.2.2 音视频同步压缩
音视频压缩编码选用当下最流行的H.264/AVC进行编码。H.264/AVC是2003年经联合视频组开发的一种新的视频标准[6],是当下最流行视频压缩标准,主要用于视频实时传输。由于H.264/AVC有更好的网络适配性和更大的视频压缩率,受到广大的应用和视频实时通信等各应用领域的共同认可,并随之发展成为最主要的视频压缩标准[6]。H.264/AVC编码流程主要包括5个部分:帧间和帧内预测、变换和反变换、量化和反量化、环路滤波、熵编码[7]。该系统在H.264/AVC视频压缩编码的DCT变换过程中加入音频信号进行同步压缩编码[8],将音频序列看作一个二进制比特流与DCT系数中微小改变对视频质量影响不大的中频部分建立某种联系,如DCT系数为偶数则传输音频比特位的0;为奇数则传输音频比特位为1。若系数不满足该关系,则强制修改系数使之满足,嵌入算法公式为[4]:
图5为音视频同步压缩流程。
图4 视频采集流程Fig.4 Flow chart of video acquisition
图5 音视频同步压缩流程Fig.5 Flow chart of audio-video synchronous compression
音视频同步编码流程为:首先,是把视频系列的每一帧进行分块[9],得到子块;然后,基于这些子块进行预测编码,I帧和P帧分开编码[4],函数H264 encode-Frame()完成视频编码;由函数 H264 encodeHeade()对动态的参数进行设置,包括亮度色度等,通过fseek()和fread()将原始待嵌入的音频流中的每个字节读取出来,通过奇偶性嵌入量化后的DCT系数level中,得到含有音视频信息的DCT系数;最后将得到的DCT系数经过重排序和熵编码得到音视频混合编码文件[8]。
1.2.3 实时网络传输
编解码完成之后的音视频文件通过DM6467T上的以太网接口根据RTP协议传输至PC机上进行实时观看[5]。网络传输之前,先通过emac net init()函数进行以太网的初始化,运用net phy getReg()函数读取PHY芯片的寄存器的值[2],同时利用net_phy_seReg()函数完成对 PHY 的设置;然后由 UDPCtrl_init()、bind()和socket()函数完成数据的打包处理。ARM核在接收到编码完成的数据后,先创建时间戳函数TSC(),对时间戳的文件UDPCtrl init()、bind()和socket()函数完成数据打包处理;最后利用RTP sendH264()函数将编码完成的数据通过网络传输至目的IP,传输至目标IP的音视频混合文件可通过式(2)解析出音频信息,在选定PC机上通过上位机进行观看[9],具体流程如图6所示。
图6 网络传输流程Fig.6 Flow chart of network transmission
2 测试结果
硬件平台搭建完成之后,启动板卡,在Windows下打开CCS 3.3,通过仿真器将软件程序下载至板卡中,运行程序后可查看未压缩的音视频文件,通过与压缩后传输至PC机的音视频文件对比,发现压缩后的音视频质量良好,传输实时性良好。至于压缩比的计算,视频采集时间为3 min,输入格式为PAL,帧率为25 f/s,分辨率为720P(1 280×720)。视频数据率=水平像素×垂直像素×3(3基色)×一种颜色深度(bit)×帧率,码率(KBPS)=[文件大小(]字节)×8×s-1×1000。经计算表明视频压缩比普遍高达到为160。如图7所示为压缩前后的图像质量对比。图8为压缩前后音频的时域滤波波形对比,可知压缩前后音视频质量保存完好[10]。
图7 压缩前后视频图像对比Fig.7 Comparison for video images before and after compression
图8 压缩前后音频时域波形对比Fig.8 Comparison for time domain waveforms of audios before and after compression
3 结论
本文所提系统经测试结果表明,基于DM6467T实现了H.264/AVC音视频同步压缩传输,得到了以下结论:压缩传输后视频清晰度高,压缩完之后的视频仍可达到720P分辨率;音频失真率小,压缩前后音频时域波形变化很小;压缩比高,视频压缩均可达到150以上,音频压缩比比传统音视频单独压缩提高7.5%;传输实时性好,虽有些延迟但不影响观看;采用DCT系数奇偶性同步音视频压缩算法省去了单独对音频进行编解码的部分,节约了硬件和网络资源,提高了编码效率;选用对视频质量影响不大的DCT系数中频部位,压缩后,既加大了音视频压缩比又降低了对音频质量的损害,当DCT系数为-1时,采用-1处理,避免在音频嵌入式将非零系数修改为0,或将0系数改为非0,进一步降低对视频图像的影响[3];音视频同步采集、同步压缩、同步传输,避免在分开压缩、分开传输过程中,因为信道受阻导致数据延迟、丢失而造成的音视频不同步现象,采用基于DCT系数奇偶性的音视频同步压缩传输更好地实现了音视频同步播放。