新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于ADV212的无人机遥感红外视频压缩系统设计 

基于ADV212的无人机遥感红外视频压缩系统设计 

作者:宋哲 朱铁林 张志芳时间:2018-05-30来源:电子产品世界收藏
编者按:针对无人机遥感红外相机传输视频实时性以及机载存储空间有限等问题,提出了一种FPGA结合专用芯片ADV212的视频压缩处理方案,该方案可对720×576分辨率的红外视频进行实时压缩并可通过串口接收外部命令调整视频压缩比,FPGA配置ADV212初始化以及接收ADV212压缩后的视频数据,数据经过FPGA处理后传输到机载收发信机并传回地面设备。测试结果表明,系统工作稳定可控,视频压缩实时性强,可广泛应用于无人机遥感领域。

作者 宋哲 朱铁林 张志芳 天津航天中为数据系统科技有限公司(天津 300457)

本文引用地址:http://www.eepw.com.cn/article/201805/380758.htm

  宋哲(1987-),男,硕士,工程师,研究方向:图像处理、无线通信。

摘要:针对遥感红外相机传输视频实时性以及机载存储空间有限等问题,提出了一种结合专用芯片处理方案,该方案可对720×576分辨率的红外视频进行实时压缩并可通过串口接收外部命令调整比,配置初始化以及接收压缩后的视频数据,数据经过处理后传输到机载收发信机并传回地面设备。测试结果表明,系统工作稳定可控,实时性强,可广泛应用于遥感领域。

0 引言

  在高空飞行时,机载遥感相机实时采集的视频数据量十分庞大,对其处理方法通常有两种:一是利用无人机机载存储设备直接存储视频数据,待无人机降落后再处理,然而机载存储空间毕竟有限,因此需将视频数据进行压缩后再存储;二是通过无线数据链设备实时地将视频数据传回地面,而实际可用的无线通信带宽非常有限,为了满足实时性的要求,必须将视频数据进行压缩后再进行无线传输[1]。传统的视频压缩方法,如MPEG-4、H.264是利用视频的帧间相关性进行压缩的,其解码时间长,对实时性要求较高的系统不适合[2-3]。而JPEG2000是把运动的视频序列作为连续的静止图像来处理,对每一帧图像单独压缩,图像恢复的实时性较好。

  ADI公司的ADV212芯片是目前市场上为数不多的能够单芯片支持JPEG2000编/解码功能的芯片[4],它们能对动/静态视频图像实时压缩与解压缩,并能获得高清晰度的实时图像,同时也能提供很好的图像传输灵活性和可扩缩性。由于具有弹性的界面,ADV212可用来与多种形式视频和静态影像格式搭配使用。ADV212的一个突出优点就是它可以多芯片并行工作,进而提高其编解码效率,同时也支持更高格式的影像。相对其它的硬件解决方案,ADV212的解决方案更完整,功能更全面,适用于多种视频和静态图像格式。

  本文提出了基于ADV212和FPGA的红外视频压缩系统,AD转换芯片ADV7189实时采集模拟视频信号并转换成10 bit数字信号输出到ADV212,通过FPGA对ADV212芯片进行初始化配置,ADV212以1:100的压缩率对输入的视频信号进行压缩,压缩后的数据经机载射频收发信机发送到地面接收设备。

1 系统总体设计

  整个系统包含三个模块:ADV7189负责模数转换,ADV212负责视频数据的压缩,FPGA负责芯片的配置和数据的接收,图1给出了视频压缩系统的总体架构。ADV7189芯片具有模拟视频信号的采集和模数转换的功能,其支持NTSC、PAL、SECAM等制式的模拟视频输入,数据格式包括CVBS、S-Video和YPrPb等。输出数字信号支持8、10、16和20位ITU-R BT.656 YCrCb数据。本系统红外模拟视频输入信号采用PAL制式YPbPr,分辨率为720×576,隔行扫描25 帧/s。FPGA通过I2C总线对ADV7189进行配置,工作时钟为27 MHz,输出数据位宽为10 bit,输出数据格式YCrCb为4:2:2,编码格式为EAV/SAV。

  ADV212芯片具有实时压缩和解压缩标清和高清视频信号的功能[5],支持最高6级的9/7和5/3小波变换;图像的尺寸可编程,3颜色分量4:2:2隔行扫描情况下宽带可达2048像素,单颜色分量情况下宽带可达4096像素;不可逆模式像素输入最大速率为65 MS/s,可逆模式像素输入最大速率为40 MS/s[6]。本系统中ADV212采用5级的5/3小波变换,每块图像的尺寸为128×32像素点,输入数据为ADV7189输出的数据,速率为20 MS/s,即160 Mbps。ADV212配置压缩比为100:1,即输出数据的速率为1.6 Mbps,输出数据的格式为JP2。

  FPGA选用Xilinx公司的Virtex-5系列XC5VFX70T[7],其具有11200个Slice,5 MB Block RAM,6个时钟管理单元,640个用户I/O,全局时钟由外部40 MHz晶振提供,完全可实现对ADV7189和ADV212的配置及数据的读写。

2 ADV212的工作原理及芯片配置流程

  2.1 ADV212的工作原理

  ADV212芯片内部工作原理如图2所示。该芯片由主机接口、像素接口、小波变换引擎、存储器系统、熵编码器和量化器、嵌入式处理器和内外部DMA等组成[8]。本系统工作在ADV212的主控编码模式(Normal Host),具体的工作流程为:视频数据通过像素接口输入到小波变换引擎中,进入小波变换引擎的数据,每个128×32的图块将通过5/3滤波器分解成许多频率不同的子带,将对应的小波系数写入内部存储器中。小波变换后的系数通过3个熵编码器被分解为独立的码块单元,采用量化、率失真优化和关联性建模等方式对数据进行压缩,压缩结束后以JPEG2000码流形式送回内部存储器。存储在内部存储器中的JPEG2000码流通过内部DMA引擎传输到编码FIFO中,编码FIFO作为高速内部存储器和低速主机接口间的缓存器,当编码FIFO达到设定的阈值时,JPEG2000码流便可以通过HDATA总线输出到芯片外部。

  2.2 ADV212芯片配置流程

  如图3所示,FPGA配置ADV212直接寄存器PLL_HI和PLL_LO,将ADV212内部时钟JCLK和HCLK配置为108 MHz,延时20 ms后设置ADV212为非主机启动模式,设置ADV212数据总线宽度为32 bit,间接寄存器访问模式为32 bit。FPGA通过间接地址寄存器IADDR和间接数据寄存器IDATA加载ADV212固件,固件参数来自ADI官方提供的.sea文件,存放在FPGA内部的32 KB Block RAM中[9]。固件加载完毕后,配置ADV212,进行软件重启,再次设置数据总线宽度和间接寄存器的访问模式,并设置视频编码参数和编码FIFO的阈值。所有的寄存器配置完毕后,通过EIRQIE寄存器使能FIFO中断,即当FIFO中的数据达到阈值时,系统会产生中断。通过检测系统的ID来判断固件程序是否加载正确,芯片处于压缩编码工作的ID为0xFF82。当芯片开始进行压缩编码正常工作时,系统不断检测FIFO中的数据是否达到阈值,达到阈值并产生中断后,FIFO中的数据将被读取到FPGA中。

3 FPGA与ADV212之间通信及仿真测试

  FPGA配置ADV212初始化和FPGA读取ADV212压缩后的数据过程中,FPGA与ADV212之间均采用异步通信方式,FPGA通过改变发送的地址来读写ADV212不同的寄存器值,下面给出具体的读写操作方式。

  3.1 FPGA写操作

  FPGA向ADV212写数据的时序如图4所示,ADDR为地址总线,CS_为片选信号,WE_为写使能信号,ACK_为ADV212握手信号,以上信号均为低电平有效,HDATA为数据总线。由图4可以看出,ADV212在WE_的上升沿对HDATA总线上的数据进行采样,采样前后需要确保建立时间tSD和保持时间tHD内数据不变。FPGA写操作具体流程如下:

  首先,FPGA向ADV212发出地址和片选使能,下一个时钟周期FPGA将写使能WE_拉低并将数据写入HDATA数据总线,等待ADV212响应写请求ACK_有效。若ACK_有效,将WE_拉高,当WE_由低电平(有效)跳变为高电平(无效)时,ADV212对HDATA数据线进行采样。WE_拉高后,FPGA数据线和地址线均需保持一个周期,以确保数据正确输入到ADV212中。

  3.2 FPGA读操作

  图5给出了FPGA从ADV212读数据的时序,RD_为读使能信号,其他信号与写操作相同。FPGA读操作具体流程如下:

  首先,FPGA向ADV212发出地址和片选使能,下一个时钟周期FPGA将写使能RD_拉低,等待ADV212响应写请求ACK_有效,此时FPGA不采样HDATA数据总线上的数据。当ACK_有效时,将RD_拉高,RD_由低电平(有效)跳变为高电平(无效)的时刻,FPGA对HDATA数据线进行采样。RD_拉高后,FPGA数据线和地址线均需保持一个周期,以保证数据正确采样到FPGA中。

  FPGA读写ADV212直接寄存器和间接寄存器的区别有两点:第一,读写直接寄存器时,FPGA接收到ADV212握手信号ACK_需要一个时钟周期,而读写间接寄存器时,FPGA需要一个或两个时钟周期;第二,FPGA读写间接寄存器需要通过数据总线HDATA来发送和接收间接地址,即完成一次数据的操作需要对HDATA进行两次操作,先发送或接收间接地址,再发送或接收间接数据。因此,FPGA操作直接寄存器至少需要三个时钟周期,而操作间接寄存器至少需要八个时钟周期。

  3.3 测试与仿真

  基于Xilinx ISE建立FPGA工程,通过ISE自带的ISim仿真软件对系统进行仿真,如图6所示,HDATA为FPGA与ADV212之间的数据总线,其端口类型为inout型,即双向端口。当HDATA作为输入端口时,需要屏蔽HDATA对外输出值,即将HDATA的输出赋值为高阻态。当IRQ_为低电平时,表明FIFO中的数据已达到阈值,FPGA开始从地址1中读取FIFO的数据。

4 结论

  JPEG2000算法可对视频进行高效压缩,然而其算法复杂度高、硬件实现困难、实现的系统规模大等一系列问题限制了其在无人机遥感领域的应用。ADV212专用芯片逐一解决了这一系列问题,该芯片体积小、功耗低、性能稳定,与FPGA共同搭建视频压缩处理系统可广泛应用于无人机遥感领域。经测试,本系统工作性能稳定,具有压缩比可调、实时性好、压缩数据易恢复和成本低等优点。

  参考文献:

  [1]谢清鹏.无人机序列图像压缩方法研究[D].武汉:华中科技大学, 2005.

  [2]石迎波.MPEG-4视频编码系统的研究与实现[D].西安:西安电子科技大学, 2005.

  [3]李枫.基于H.264的航拍视频实时压缩系统[D].北京:北京理工大学, 2011.

  [4]Analog Devices Inc. ADV212 JPEG2000 Video Processor User’s Guide (Revision 1.1)[EB/OL].www.analog.com, 2006.

  [5]刘春风,王惠平,潘利明.基于ADV212的高清视频压缩系统设计[J].电子设计工程, 2010, 18(3), 65-67.

  [6]薛旭成,张淑艳,李洪法,等.基于ADV202的遥感图像实时压缩系统设计[J]. 微电子学与计算机, 2008, 25(5):197-199.

  [7]Xilinx. Virtex-5 Family Overview [EB/OL]. www.xilinx.com, 2009.

  [8]刘永征,刘学斌,胡柄樑,等.基于ADV212的JPEG2000静态图像压缩系统设计[J].电子器件, 2009, 32(3), 504-508.

  [9]Analog Devices Inc. ADV212 JPEG2000 Programming Guide (Revision 2.0) [EB/OL]. www.analog.com, 2007.

  本文来源于《电子产品世界》2018年第6期第40页,欢迎您写论文时引用,并注明出处。



推荐阅读

评论

技术专区

关闭