论文部分内容阅读
随着图像处理技术的进步,视频编码器的设计实现日渐成熟。本文选择Zedboard开发板设计实现了AVS编码器。Zedboard作为新兴的Zynq-7000系列开发板,不仅集成了FPGA(PL),也具有双核ARM(PS),鉴于其具有丰富的资源以及双平台架构,本设计基于Zedboard提出了PL和PS结合使用的设计方案。PL部分负责硬件实现视频采集和AVS编码中的预测变换,PS部分则通过应用程序实现熵编码,二者之间通过AXI总线进行通信。在PL部分本设计应用实验室研制的片内云架构实现,将功能模块封装成三个原子构件,分别是负责图像采集、负责亮度预测变换和负责色度预测变换的原子构件。流程引擎对其重复部署以实现并行执行多个操作,大大减少了时钟数,提高了综合效率。除此之外,本设计提出两个优化思想以减少资源占用。第一个为环形队列,存储地址首尾相接并能稳定读写,这种缓存模式在大量流数据的传输中是十分必要的。第二个优化思想即为用VHDL语言描述实现ram的存储功能,减少了片上ram资源占用,这为片内云架构大量原子构件并行操作奠定了基础。PS部分要在ARM处理器上实现熵编码,熵编码一般采用两种算法,分别为CABAC(Context-basedAdaptive Binary Arithmetic Coding)和CAVLC(Context-Adaptive Variable-Length Coding)。本设计对两种算法分析介绍,并对多QP值、多视频序列分别编码测试,结果表明二者信噪比差别不大,CAVLC帧率更高,也就是说CAVLC算法编码更省时,而且也保证了图像质量。因此本设计采用CAVLC算法作为熵编码方案,以减少编码时间,进而使视频更流畅。PL完成视频采集和预测变换,PS部分完成熵编码,而如何将PL部分处理后的量化系数传送给PS部分,即实现两部分之间的数据通信,这也是本文研究的重点。本文详细介绍了如何建立PS和PL之间的通道,以完成量化系数的传输。最后通过解码方案验证整个AVS编码器的性能优劣,实验将PS部分输出的码流进行解码显示,结果表明满足了设计目标,实现了实时高效编码。