基于JPEG2000的静态图像压缩系统的研究与设计
作者单位:西安电子科技大学
学位级别:硕士
导师姓名:补钰煜;乐立鹏
授予年度:2022年
学科分类:08[工学] 080203[工学-机械设计及理论] 0802[工学-机械工程]
主 题:JPEG2000 小波变换 EBCOT 熵编码 码率控制 PCRD 码流组织
摘 要:随着多媒体技术和网络的快速发展,高清晰度、大尺寸图片越来越被人们所需要,但问题也随之出现,主要体现在存储图像所需的空间成本大大增加,以及传输图像所需的时间成本大幅攀升。ISO提出的JPEG2000图像压缩标准可以很好地解决这个问题,相较于其他压缩算法而言它有更高的压缩效率,同时支持可选无损/有损压缩、渐进传输、感兴趣区域编码等功能,因此广泛应用于打印、扫描、医疗、互联网、航空航天等通信领域。JPEG2000不同于传统JPEG标准,舍弃了DCT变换,转而采用具有更为集中的能量特性的小波变换和内嵌码块编码算法EBCOT。虽然JPEG2000有诸多优点,但是受限于其算法复杂性,硬件实现难度较大,同时需要很高的内部存储需求,故而对其算法进行研究和改进,简化其在硬件实现方面的难度具有重要意义。本文首先按照JPEG2000编码系统压缩图像的流程顺序,对其中各个编码模块进行阐述,接着着重对其中的重要部分小波变换和EBCOT编码模块进行了详细的介绍和研究设计,并提出优化方案。EBCOT主要由两部分组成,制约系统编码速率的瓶颈是EBCOT的Tier1部分。本文在详细介绍完位平面编码算法和MQ算术编码算法后,提出了一种并行熵编码的硬件处理结构,通过在编码前预先算出每个系数比特对应的状态信息值,大大节省了编码的时间。针对3级小波变换采用10个模块并行处理,每个模块处理对应的小波子带,由逻辑综合结果得到,该设计在适当增加功耗和规模的情况下,较大的提高了Tier1部分数据处理的速度。EBCOT的Tier2部分虽然较Tier1算法简单,但是其中率失真斜率的计算复杂繁琐,不利于硬件实现。本文首先详细介绍了码率控制模块中的压缩后率失真优化截断算法PCRD和优化截断点的选取。接着根据截断点的模糊斜率值选取特性,本文较JPEG2000标准提出了一种优化率失真斜率计算的新方法,通过对失真和码流长度取对数并查找对数查找表,再将得到的结果相减,巧妙地避开了除法运算。在截断点的选取上,由于JPEG2000算法中截断点的选取算法是通过二分法,不断迭代最终找到最优的截断点,且需要在Tier1编码完全结束后进行,这种方法需要耗费较长的时间。本文采用了一种实时记录率失真斜率和对应码流长度的记录表方法,可以并行执行Tier1编码和最优截断点的寻找,这种方法可以代替上述的二分法,大大节省了寻找截断点的时间。由逻辑综合结果得到,这种优化设计可以减少电路规模和功耗。得到压缩码流后,在码流组织模块中打包得到输出码流。最后将图像码流输入压缩系统,通过无损压缩、有损压缩、多种倍率的压缩,在视觉上直观展示了各种情况下该压缩系统的性能,得到在相同情况下,图像块越小,边界效应越严重的结论。接着本文对经SMIC公司成功流片的芯片进行测试结果分析,将多种图像分辨率、多种压缩比时芯片的峰值信噪比与Kakadu_V2.2.3软件模拟的同种情况下的峰值信噪比相比较,表明芯片可以达到预期压缩质量。