图像压缩编解码的FPGA设计与实现
发布时间:2021-03-08 13:30
随着计算机和信息科学技术的不断发展,图像处理在航空航天、生物医学、遥感监测、信息安全等领域都发挥着重要作用,尤其是高分辨率图像的实时处理对相关领域的发展尤为关键。鉴于仅仅使用纯软件的方式来实现图像的处理需要耗费大量的时间,并不能达到快速和实时性的要求,而采用FPGA(现场可编程门阵列)与高效率硬件描述语言Verilog HDL相结合的方法,可以充分发挥其流水线的并行处理能力,进而大大加速系统的设计进程,提供了硬件支持和软件保障。目前,图像压缩算法的优化及其硬件实现,仍有很大的研究和发展空间。论文以Cyclone II系列FPGA作为中央处理器,选用DE2开发平台,并在Quartus II中采用硬件描述语言进行编程,最终设计了一种基于FPGA的图像压缩编解码系统。系统集图像采集、JPEG图像压缩以及数据传输功能为一体。其中,图像采集模块选用以CMOS传感器MT9P001芯片为核心的D5M开发套件,实现图像捕获并实时地将Bayer格式转换成便于操作的RGB格式。图像压缩模块完成了基于FPGA的JPEG编码器的实现。为此,先对图像进行预处理,将RGB格式转换为YCbCr格式。然后在Chen算...
【文章来源】:南京林业大学江苏省
【文章页数】:62 页
【学位级别】:硕士
【部分图文】:
JPEG实现流程图
6图2-1JPEG实现流程图Fig.2-1FlowchartofJPEGimplementation2.2.1图像分块和色彩空间的转换常见的数字图像有两种:由红色、绿色和蓝色组成的彩色图像以及没有色度只具备亮度分量的灰度图像。如果对彩色图像进行压缩,首先需要对其进行色彩空间的转换。鉴于每一个色彩空间都存在着自身的亮度和色度分量,我们可以根据不同的需求来选择适合的色彩空间。而为了获取最好的压缩效果,应该选择YCbCr色彩空间,即在进行后续操作前,需要将原本的RGB格式转换为适合图像压缩的YCbCr格式。其中,RGB与YCrCb空间转换的公式如下:(2-1)同时,为了后面编码操作的方便,需要在现有信号数值基础上减去128,将数值范围变为[-128,127]。而在解码操作时,需要相应的加上128,从而恢复成无符号数[10]。2.2.2离散余弦变换在空域,难以获取图像特征,直接压缩图像有一定的困难。因此,需对图像进行转换。常见的图像变换算法有DCT、DWT等。图像经2D-DCT变换后,其能量将主要往低频部分集中,这使得图像可以呈现一定的规律性。一个8x8的数据块,它的直流分量往往集中处于左上侧。图2-2是对源图像做离散余弦变换后的结果,从图中可以发现,它的绝大多数能量都聚集在左上角。图2-2DCT变换能量分布图Fig.2-2EnergydistributionofDCTtransformation
8频分量来降低图像的数据量是最直接有效的途径,而量化便可以实现这一步。量化表由变换后的数据除以常量组成,选取不同的常量将得到不同的量化表,通常需要在图像品质和压缩比之间做出选择。理论上,图像之间是具有很大差异性的,想要达到最好的压缩效果,应该采取不同的量化表来适应他们的特性。通过专家组成员大量的实验,最终发现了可以满足绝大多数图像特性的量化表。如图2-3所示,分别是JPEG专家组推荐的亮度和色度量化表。想要获得与测试图像理论上最为符合的量化表,往往需要对图像和数据进行复杂的计算,而采用标准量化表便会省略这一运算,从而大大提高了效率。此外,通过大量测试表明,采用理论上最适合的量化表和采用官方推荐的量化表进行操作,其结果基本没有差别。图2-3JPEG标准亮/色度量化表Fig.2-3JPEGstandardbrightness/chromaquantizationtable2.2.4Zigzag扫描经过量化后的频率分量系数大部分变为“0”值,或者说非常接近于“0”,这样可以为后续的编码奠定更为高效的基矗同时,为了获得更多的连续零值,需要通过Zigzag扫描对量化后的系数进行有效重排,从而更好的达到压缩目的。如图2-4所示,其作用是将一个8×8的系数矩阵扫描排序成长度为64的一维数据链,其中,频率较低的系数被放置在前面部分。完成Zigzag扫描后的数据,其第一位系数被称为直流分量,剩下的63个系数均为交流分量。每个经过DCT变换后的矩阵都需要进行Zigzag编码重新排序,从而在不改变第一个数据系数(DC)的情况下,尽可能地使交流系数中连续“0”的个数增多。最终得到的含有更多连续重复的数字组合将为后续游程编码提供便利,使压缩比有显著提高。
本文编号:3071127
【文章来源】:南京林业大学江苏省
【文章页数】:62 页
【学位级别】:硕士
【部分图文】:
JPEG实现流程图
6图2-1JPEG实现流程图Fig.2-1FlowchartofJPEGimplementation2.2.1图像分块和色彩空间的转换常见的数字图像有两种:由红色、绿色和蓝色组成的彩色图像以及没有色度只具备亮度分量的灰度图像。如果对彩色图像进行压缩,首先需要对其进行色彩空间的转换。鉴于每一个色彩空间都存在着自身的亮度和色度分量,我们可以根据不同的需求来选择适合的色彩空间。而为了获取最好的压缩效果,应该选择YCbCr色彩空间,即在进行后续操作前,需要将原本的RGB格式转换为适合图像压缩的YCbCr格式。其中,RGB与YCrCb空间转换的公式如下:(2-1)同时,为了后面编码操作的方便,需要在现有信号数值基础上减去128,将数值范围变为[-128,127]。而在解码操作时,需要相应的加上128,从而恢复成无符号数[10]。2.2.2离散余弦变换在空域,难以获取图像特征,直接压缩图像有一定的困难。因此,需对图像进行转换。常见的图像变换算法有DCT、DWT等。图像经2D-DCT变换后,其能量将主要往低频部分集中,这使得图像可以呈现一定的规律性。一个8x8的数据块,它的直流分量往往集中处于左上侧。图2-2是对源图像做离散余弦变换后的结果,从图中可以发现,它的绝大多数能量都聚集在左上角。图2-2DCT变换能量分布图Fig.2-2EnergydistributionofDCTtransformation
8频分量来降低图像的数据量是最直接有效的途径,而量化便可以实现这一步。量化表由变换后的数据除以常量组成,选取不同的常量将得到不同的量化表,通常需要在图像品质和压缩比之间做出选择。理论上,图像之间是具有很大差异性的,想要达到最好的压缩效果,应该采取不同的量化表来适应他们的特性。通过专家组成员大量的实验,最终发现了可以满足绝大多数图像特性的量化表。如图2-3所示,分别是JPEG专家组推荐的亮度和色度量化表。想要获得与测试图像理论上最为符合的量化表,往往需要对图像和数据进行复杂的计算,而采用标准量化表便会省略这一运算,从而大大提高了效率。此外,通过大量测试表明,采用理论上最适合的量化表和采用官方推荐的量化表进行操作,其结果基本没有差别。图2-3JPEG标准亮/色度量化表Fig.2-3JPEGstandardbrightness/chromaquantizationtable2.2.4Zigzag扫描经过量化后的频率分量系数大部分变为“0”值,或者说非常接近于“0”,这样可以为后续的编码奠定更为高效的基矗同时,为了获得更多的连续零值,需要通过Zigzag扫描对量化后的系数进行有效重排,从而更好的达到压缩目的。如图2-4所示,其作用是将一个8×8的系数矩阵扫描排序成长度为64的一维数据链,其中,频率较低的系数被放置在前面部分。完成Zigzag扫描后的数据,其第一位系数被称为直流分量,剩下的63个系数均为交流分量。每个经过DCT变换后的矩阵都需要进行Zigzag编码重新排序,从而在不改变第一个数据系数(DC)的情况下,尽可能地使交流系数中连续“0”的个数增多。最终得到的含有更多连续重复的数字组合将为后续游程编码提供便利,使压缩比有显著提高。
本文编号:3071127
本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/3071127.html