基于ADV212图像压缩系统设计与实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ADV212图像压缩系统设计与实现

基于ADV212图像压缩系统设计与实现   摘 要:本文在分析了单片JPEG2000压缩标准的专用编解码芯片ADV212的硬件结构和工作原理的基础上,实现了基于ADV212的图像压缩系统的硬件设计和FPGA逻辑设计。其中,该系统的数据输入接口采用LVDS,数据输出接口采用USB,FPGA主要实现对压缩芯片ADV212寄存器的配置,整个系统的数据流控制以及系统时序逻辑适配。实验结果表明,该系统满足系统对图像压缩实时性的要求,同时,重构后的图像与原始图像进行相比,具有较高的峰值信噪比(PSNR)。   关键词:图像压缩 ADV212 JPEG2000 FPGA   中图分类号:TN919 文献标识码:A 文章编号:1674-098X(2013)04(b)-0152-03   近年来,图像在航空航天领域的应用越来越普遍。众所周知,图像信息具有数据海量性的特点,在特定的环境下,受传输时间、存储空间和信道带宽的影响,携带大量数据的图像信息很难被快速的传输或存储,这成为图像信息处理发展的主要瓶颈之一。因此,研究有效的图像编码技术,以压缩的形式存储或传输,并且保证被压缩的图像重构后能被接受,这样就解决了在遥感等某些重要领域图像的快速存储和传输问题。   1 基于ADV212图像压缩系统设计   本文中的方案采用“FPGA+ADV212”的架构,用硬件电路实现系统中图像压缩子系统,该系统的结构框图如图1所示。FPGA逻辑设计主要实现对ADV212芯片的配置、整个系统的数据流控制以及系统时序逻辑适配,同时,系统中还有一些电源转换模块、存储模块、输入输出模块、USB模块以及显示模块。与传统的设计方法相比较,该方法具有开发周期短、设计效率高、扩展性和升级性好、设计灵活等特点。   1.1 ADV212硬件结构及工作原理   ADV212是AD公司推出的一款单片JPEG2000编解码芯片,是当今市场上少有的具有实时压缩和解压缩标准视频信号和高清晰度视频信号功能的芯片。该芯片适用于多种视频和静止图像格式。ADV212的内部功能框图如图2所示,该芯片主要由像素接口、小波变换引擎、熵编解码器、嵌入式处理器、存储器系统和内部DMA引擎等组成。输入图像和像素数据输入像素接口,采样值则经过隔行扫描传输到小波变换引擎中。在小波引擎中,每个图??或帧将通过5/3或9/7滤波器分解成许多子带。生成的小波系数写入内部寄存器中。熵编解码器将图像数据编码为符合JPEG2000标准的数据。内部DMA引擎提供存储器之间的高带宽传输及各模块和存储器之间的高性能传输。RISC处理器具有每一个程序和数据存储器、中断控制器、标准总线接口及定时器计数器所对应的ROM和RAM。   1.2 ADV212压缩芯片的初始化流程及关键寄存器说明   在本系统中,通过FPGA内嵌NIOSII软核实现对JPEG2000压缩芯片ADV212的初始化,初始化的过程包括直接寄存器的配置、间接寄存器的配置以及固件的加载,其中,配置所需的ADV212 RISC固件存储在NIOS II外部存储总线的FLASH芯片上。对于本系统中压缩芯片设置为HIPI 模式,其初始化的具体流程如图3所示。系统上电后,先进行上电复位(BOOT=0x008A),然后配置内部锁相环(PLL),至少等待20us锁相环配置成功后,设置No-Boot Host模式(BOOT=0x008A),配置主机接口访问方式(BMODE=0x000A,这里主要设置主机控制数据宽度和DMA数据宽度)和间接寄存器的访问方式(MMODE=0x000A,这里主要设置数据存取位数和间接地址步长大小),然后NIOS II软核将存储在片外FLASH中大小为32KB的固件读出并且写入ADV212中0x57F00~0x57FF0存储空间上,软复位(BOOT=0x008D),重新设置BUSMODE和MMODE,再设置编码参数(包括图像格式、精度、小波变换级数、小波类型、编码块的大小、压缩比、量化步长、输出码流格式等),配置间接寄存器(行列计数器、F0_START、F1_START、V0_START、V1_START、V0_END、V1_END、PIXEL_START、PIXEL_END、PMODE2、VMODE、DMA等),配置完这些寄存器后使能中断,查询固件是否正确加载(SWFLAG=0XFF82),如果固件被正确加载,清标志(EIRQFLAG=0xFFFF)后就可以进行编码了,否则继续查询。   1.3 ADV212压缩的时序控制模块   ADV212压缩的时序控制是通过管脚DACK,DREQ,WE,RD,HDATA,按照握手协议进行读写的时序控制。模块DMA_burst_write和模块DMA_burst_read是ADV212压缩的时序控制

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档