基于DCT变换的图像压缩编码
- 格式:doc
- 大小:709.00 KB
- 文档页数:20
基于改进的DCT变换的图像压缩算法研究图像压缩是数字图像处理的重要研究领域之一。
图像压缩是指将数字图像的数据量缩小,以节省存储空间和传输代价。
图像压缩技术包括有损压缩和无损压缩两种。
有损压缩是在压缩过程中有一部分数据丢失,可以达到更高的压缩比,但会影响图像的质量。
而无损压缩则是在不丢失数据的情况下,压缩图像的数据量,但压缩比相对较小。
在数字图像中,我们可以用离散余弦变换(DCT)进行图像压缩。
DCT变换是将图像从空间域转换到频域的一种方法。
通过DCT变换,我们可以得到图像的频域系数,可以过滤掉一些高频的小波,达到图像压缩的目的。
但是DCT变换在压缩过程中存在问题,传统的DCT变换容易造成“块效应”现象,也就是说在压缩过程中,图像被分成若干个块,而每一块单独进行压缩,导致压缩后的图像存在明显的方块状失真。
因此,我们需要对DCT变换进行改进,以避免“块效应”现象。
改进后的DCT变换被称为改进算法DCT-IV变换。
改进算法DCT-IV变换通过交错扫描和直接DCT变换两种方法对块进行编码,有效地避免了“块效应”现象。
改进算法DCT-IV变换的编解码复杂度较传统DCT变换略高,但是在图像处理方面,具有更好的压缩性能和更高的视觉感受质量。
改进算法DCT-IV变换还具有更好的数据利用率和压缩能力,特别是当需要压缩高质量图像时,改进算法DCT-IV 变换将表现出更为先进的压缩性能。
但是,改进算法DCT-IV变换也存在一些问题。
首先,改进算法DCT-IV变换需要一定的计算量,特别是当需要处理大型图像时,需要更长的计算时间;其次,改进算法DCT-IV变换的压缩比相对于传统DCT变换而言并不是太高。
为了解决这些问题,研究人员正在发展新的基于改进的DCT变换的图像压缩算法。
这些算法采用改进算法DCT-IV变换的基础思想,对该算法进行了优化,以达到更高的压缩比和更高的图像品质。
例如,信噪比改进算法DCT(ISBDCT)就是这样一种基于改进的DCT变换的图像压缩算法。
多媒体技术实验报告学院:城南学院通信1202班姓名学号指导老师:***时间:2015/12/09实验四:数字图像压缩1.实验目的1)理解有损压缩和无损压缩的概念;2)理解图像压缩的主要原则和目的;3)了解几种常用的图像压缩编码方式;4)利用MATLAB程序进行图像压缩。
2. 实验原理1)图像压缩原理图像压缩主要目的是为了节省存储空间,增加传输速度。
图像压缩的理想标准是信息丢失最少,压缩比例最大。
不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。
压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。
信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。
高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。
编码压缩方法有许多种,从不同的角度出发有不同的分类方法,从信息论角度出发可分为两大类。
①冗余度压缩方法,也称无损压缩、信息保持编码或嫡编码。
具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。
②信息量压缩方法,也称有损压缩、失真度编码或烟压缩编码。
也就是说解码图像和原始图像是有差别的,允许有一定的失真。
本实验主要利用MA TLAB程序进行离散余弦变换(DCT)压缩和行程编码(Run Length Encoding,RLE)。
2)离散余弦变换(DCT)图像压缩原理离散余弦变换DCT在图像压缩中具有广泛的应用,它是JPEG、MPEG等数据压缩标准的重要数学基础。
用DCT压缩图像的过程为:①首先将输入图像分解为8×8或16×16的块,然后对每个子块进行二维DCT变换。
②将变换后得到的量化的DCT系数进行编码和传送,形成压缩后的图像格式。
用DCT解压的过程为:①对每个8×8或16×16块进行二维DCT反变换。
基于DCT变换的图像压缩算法图像处理技术一直是计算机科学的热门领域之一,其中基于DCT变换的图像压缩算法因其高效性和广泛应用而备受关注。
本文将探讨基于DCT变换的图像压缩算法的原理及其在实际应用中的表现。
一、原理概述DCT变换是一种将时域信号转换为频域信号的数学方法,被广泛应用于信号处理和图像压缩中。
在图像处理中,DCT变换被用于将一个N×N的图像块转换为N×N的系数矩阵,其中每个系数表示该图像块在特定空间频率上的响应。
基于DCT变换的图像压缩算法的原理是将图像分为若干个N×N的图像块,然后将每个图像块使用DCT变换转换为系数矩阵。
由于在图像中,高频分量的取值通常较小,而低频分量的取值通常较大,因此使用系数矩阵中的高频分量可以有效地压缩图像数据。
二、实际表现基于DCT变换的图像压缩算法在实际应用中表现良好。
例如,在数字摄像机、移动电话摄像头和医学成像设备中,都广泛采用了基于DCT变换的图像压缩算法。
此外,在图像传输和存储中,也经常使用基于DCT变换的图像压缩算法。
在实际应用中,基于DCT变换的图像压缩算法的主要优点是压缩比高、压缩速度快、重建质量好。
此外,基于DCT变换的图像压缩算法还可以进行可逆压缩和不可逆压缩,具有高容错性和灵活性。
三、应用举例在数字摄像机中,基于DCT变换的图像压缩算法被广泛传播和应用。
数字摄像机通常具有高分辨率和高帧速率的优点,但其生产成本较高。
因此,数字摄像机厂家采用基于DCT变换的图像压缩算法,以在不降低图像质量的情况下降低数据传输量。
在移动电话摄像头中,基于DCT变换的图像压缩算法同样被广泛采用。
由于移动电话摄像头的处理能力和存储能力较低,因此使用基于DCT变换的图像压缩算法有助于节省存储空间和传输带宽。
在医学成像设备中,基于DCT变换的图像压缩算法同样得到了广泛应用。
医学成像设备拍摄出的图像质量要求较高,因此使用基于DCT变换的图像压缩算法可以保证图像质量,同时降低数据传输量。
院(系、所)信息与机电学院专业通信与信息系统考试科目数字压缩第三学期研究生姓名张鹏学号*********摘要图像压缩是关于用最少的数据量来表示尽可能多的原图像的信息的一个过程。
对于图像来说,如果需要进行快速或实时传输以及大量存储,就需要对图像数据进行压缩,如果图像数据压缩后再传输,就可以传输更多的图像信息,也就可以增加通信的能力。
变换编码是把图像中的各个像素从一种空间变换到另一种空间.然后针对变换后的信号进行量化与编码操作的一种图象压缩编码技术。
本文提出了基于DCT变换的图像压缩编码算法进行研究,并用MATLAB进行实验仿真,重点介绍了压缩编码的具体过程和方法 ,详细介绍了编码中DCT变换、量化、熵编码等模块的原理和数学推导以及各模块的功能分析,基于DCT 变换的图像压缩方法简单、方便,既能保证有较高的压缩比,又能保证有较好的图像质量,应用MATLAB仿真出来的结果较好的反应了其编码算法原理。
关键词:图像压缩 DCT变换 MATLABAbstractˎ̥Image compression is a process about the least amount of data to show the original image information as much as possible. For images, if the requirement of high-speed and real-time transmission and a large amount of storage, we need to compress the image data, if the image data compression and transmission, can transmit more information of the image, also can increase the ability of communication. Transform coding is that each pixel in the image from a space to another space. Coding an image and then quantization and coding operation according to the transformed signal.This paper puts forward DCT transform for image compression coding algorithm based on study, and experimental simulation using MATLAB, focuses on process and compression coding method, a detailed analysis of principle and mathematical derivation of the DCT transform coding, quantization, entropy coding module and the function of each module, DCT transform for image the compression method is simple, convenient and based on, which can ensure a higher compression ratio, but also ensure a better image quality, the application of MATLAB simulation results reflect the coding algorithm.Key word:Image compression DCT transform MATLAB基于DCT变换的图像压缩及matlab仿真一.图像压缩编码的概念压缩的理论基础是信息论,从信息论的角度来看,压缩就是去掉信息中的冗余,即保留不确定的信息,去掉确定的信息(可推知的),也就是用一种更接近信息本质的描述来代替原有冗余的描述。
基于二维DCT的图像压缩编码及其实现
李春霞
【期刊名称】《现代电子技术》
【年(卷),期】2008(31)16
【摘要】DCT变换是图像压缩的一项重要技术,如何准确、快速进行图像压缩一直是国内外研究的热点.主要介绍基于DCT变换的图像压缩编码算法,给出具体的实现方法和步骤,并用Matlab进行了算法仿真.实验结果表明,该算法实现简单,在很大压缩范围内,都能得到很好的重建图像质量,满足不同场合要求不同图像质量的实际需要.这里利用Matlab做仿真实验,方法简单、速度快且误差小,大大提高了图像压缩的效率和精度.
【总页数】3页(P157-159)
【作者】李春霞
【作者单位】陕西科技大学电气与信息工程学院,陕西,西安,710021
【正文语种】中文
【中图分类】TP391
【相关文献】
1.基于移动多核GPU的并行二维DCT变换实现方法 [J], 龚若皓;杨斌
2.基于改进的分布式结构的二维DCT硬件实现 [J], 刘雄飞;马剑钊;盛利元
3.基于DCT变换的图像压缩编码的MATLAB实现 [J], 彭干涛;禹峰;林嘉居
4.基于FPGA的高速二维DCT变换的研究与实现 [J], 刘庆;陈金强;于沛玲
5.基于DCT的JPEG图像压缩编码算法的MATLAB实现 [J], 钱裕禄;周雪娇
因版权原因,仅展示原文概要,查看原文内容请购买。
实验作业7分别用区域编码和阈值编码方法实现图像压缩,用8×8DCT变换,保留50%的大系数,并对解码图像进行比较。
要求:DCT要自己实现,不能用matlab中的DCT函数区域编码程序代码:clear;I=imread('d:\3.jpg');I=double(rgb2gray(I));figure(1);imshow(uint8(I));title('原图像');Y=zeros(8,8);for i=1:8for j=1:8if i==1Y(i,j)=sqrt(1/8);elseY(i,j)=sqrt(2/8)*cos((pi*(2*(j-1)+1)*(i-1))/16);endendends=blkproc(I,[8 8],'P1*x*P2',Y,Y'); figure(2);imshow(uint8(s));for j=1:8for i=1:8if j<=8-i+1a(i,j)=1;elsea(i,j)=0;end;end;end;s=blkproc(s,[8 8],'P1.*x',a); figure(3);imshow(uint8(s));s=blkproc(s,[8 8],'P1*x*P2',Y',Y); figure(4);imshow(uint8(s));title('经过压缩处理的图像')运行结果:阈值编码程序代码clear;I=imread('d:\3.jpg'); I=rgb2gray(I); imshow(uint8(I)); title('原图像'); I=double(I); for i=1:8 for j=1:8 if (i==1)Y(i,j)=sqrt(1/8); elseY(i,j)=sqrt(2/8)*cos((i-1)*(2*j-1)*pi/(2*8)); end; end; end; s=blkproc(I,[8 8],'P1*x*P2',Y,Y'); a=ones(8,8); b=reshape(Y,1,64); midvalue=median(b); for i=1:8 for j=1:8if(abs(Y(i,j))<midvalue) a(i,j)=0; end; end; end;s=blkproc(s,[8 8],'P1.*x',a); s=blkproc(s,[8 8],'P1*x*P2',Y',Y); figure(2); imshow(uint8(s));title('被与之编码方式压缩的图像');运行结果:心得体会:由于第八章内容上课听的不是很明白,所以作业题拿到之后不知道怎么做,重新把第八章看了一遍,可是很多地方看了好久好多次还是不明白其原理,就像这次所涉及的DCT (虽然会做作业,但是实在是不理解),区域编码,门限编码,都是不明白什么意思!后来网上搜罗资料,看了颇久,请教了同学,才慢慢知道是什么一回事,做这题目的时候,遇到过不知道怎么分块的问题,后来也是同学告诉有个blkproc 的函数可以用,才使到程序精简化。
基于DCT 变换的图象压缩技术的Matlab 实现一、背景图象的离散余弦变换具有把高度相关数据能量集中的趋势,因此广泛用于图象压缩。
下面使用二维离散余弦变换进行图象压缩。
利用离散余弦变换进行图象压缩,首先要将输入图象分解为88⨯或1616⨯的块,然后对每个块进行二维离散余弦变换,最后将变换得到的DCT 系数进行编码和传送,解码时对每个88⨯或1616⨯的图象块进行二维DCT 反变换,最后将反变换后的块组合成一幅图象。
对于通常的图象来说,大多数的DCT 系数的值非常接近于0。
如果舍弃这些接近于0的DCT 系数值,在重构图象时并不会带来画面质量的显著下降。
所以,利用DCT 进行图象压缩可以节约大量的存贮空间。
压缩应该在最合理的近似原图象的情况下使用最少的系数,使用系数的多少也决定了压缩比的大小。
源程序:Sig1=imread('qq.bmp');Sig=rgb2gray(Sig1);rat=1/4;Sig=double(Sig)/255;[a,b]=size(Sig);figure(1);imshow(Sig);T=dctmtx(8);DCTcoe=blkproc(Sig,[8 8],'P1*x*P2',T,T'); coeVar=im2col(DCTcoe,[8 8],'distinct');coe=coeVar;[Y,Ind]=sort(coeVar);[m,n]=size(coeVar);%Snum=64-64*rat;for i=1:ncoe(Ind(1:Snum),i)=0;endB2=col2im(coe,[8 8],[a b],'distinct');I2=blkproc(B2,[8 8],'P1*x*P2',T',T);% figure(4);imshow(I2);二、实验内容1、调试上述程序,将运行结果显示如下。
《电子线路设计与制作》报告目录1.绪论 (1)2.设计任务 (2)2.1 任务描述 (2)2.2 技术指标 (2)3.设计原理 (3)3.1 原理框图 (3)3.2 程序流程图 (4)3.3 离散余弦变换 (5)3.4 量化 (6)3.4 Z形游程编码 (7)4.运行结果及分析 (8)4.1 不同量化系数图像编解码效果比较 (8)4.2 不同文件类型图像编解码比较 (10)5.总结 (12)6.参考文献 (13)附录 (14)1.绪论MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平[1]。
随着信息技术的发展,图像信息被广泛应用于多媒体通信和计算机系统中,但是图像数据的一个显著特点就是信息量大。
具有庞大的数据量,如果不经过压缩,不仅超出了计算机的存储和处理能力,而且在现有的通信信道的传输速率下,是无法完成大量多媒体信息实时传输的,因此,为了更有效的存储、处理和传输这些图像数据,必须对其进行压缩,因此有必要对图像压缩编码进行研究。
由于组成图像的各像素之间,无论是在水平方向还是在垂直方向上都存在着一定的相关性,因此只要应用某种图像压缩编码方法提取或者减少这种相关性, 就可以达到压缩数据的目的。
数字图像包含的冗余信息一般有以下几种:空问冗余、时间冗余、信息熵冗余、统计冗余、结构冗余、视觉冗余以及知识冗余等。
图像压缩算法就是要在保证图像一定的熏建质量的同时,尽可能多的去除这些冗余信息.以达到对图像压缩的目的。
随着科学技术的发展,图像压缩编码技术越来越引起人们的关注。
所谓的图像压缩编码技术就是对要处理的图像数据按一定的规则进行变换和组合, 从而达到以尽可能少的数据流来表示尽可能多的数据信息。
本设计基于DCT的JPEG、PNG、BMP等格式图像编解码设计算法进行研究,介绍了编码中DCT 变换、量化、游程编码等模块的原理和数学推导以及各模块的功能分析。
最后应用MATLAB进行了实验仿真并分析结果得出结论。
DCT变换后具有绝对的去相关性,并且变换后的矩阵从左上角到右下角频率规律的渐高。
有损压缩方法利用了人类视觉对图像中的某些频率成分不敏感的特性,允许压缩过程中损失一定的信息;虽然不能完全恢复原始数据,但是所损失的部分对理解原始图像的影响较小,却换来了大得多的压缩比。
因此舍弃高频分量保留低频分量的做法对于图像压缩具有绝对的优势。
只要损失的数据不太影响人眼主观接收的效果,就可采用。
DCT变换后的压缩此本设计采用经典的游程编码实现。
2.1 任务描述基于DCT的图像编解码设计(1)获取图像;(2)采用DCT实现对图像编解码设计;(3)分析编解码性能2.2 技术指标(1)可对JPEG、PNG、BMP等格式图像进行基于DCT的图像编解码;(2)为了便于分析比较,定义一个量化系数quotiety,越大压缩率越高。
(3)压缩编码、量化系数统一写入存储文件compressed_data.mat,实现可移植解压。
(4)观察压缩后图片大小,简便起见,分析只关心compressed_data.mat文件的大小。
(5)实现DCT变换和反变换以及JPEG标准量化矩阵的量化、反量化。
(6)根据DCT量化后矩阵特点,本设计编码采用Z字型扫描游程编码、解码。
(7)DCT压缩前后比较,以及不同量化系数比较3.1原理框图基于DCT的图像编码包括三个阶段:DCT变换、量化、编码。
根据DCT 量化后矩阵特点,本设计编码采用Z字型扫描游程编码、解码。
首先将输入图像颜色空间转换后分解为8×8大小的数据块,然后用正向二维DCT把每个块转变成64个DCT系数值,其中1个数值是直流(DC)系数,即8×8空域图像子块的平均值,其余的63个是交流(AC)系数,接下来对DCT系数进行量化,最后将变换得到的量化的DCT系数进行编码和传送,这样就完成了图像的压缩过程。
图3-1 编码过程基于DCT的图像编码包括三个阶段:译码、反量化、IDCT变换。
在解码过程中,形成压缩后的图像格式,先对已编码的量子化的DCT系数进行解码,然后求逆量化并把DCT系数转化为8×8样本像块(使用二维DCT反变换),最后将操作完成后的块组合成一个单一的图像。
这样就完成了图像的解压过程。
图3-2 解码过程3.2 程序流程图基于DCT的图像编解码设计的MATLAB实现的流程图如图3-3所示。
图3-3程序流程图3.3 离散余弦变换DCT变换利用傅立叶变换的性质。
采用图像边界褶翻将像变换为偶函数形式,然后对图像进行二维傅立叶变换,变换后仅包含余弦项,所以称之为离散余弦变换。
DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。
变换编码就是将图像光强矩阵(时域信号)变换到系数空间(频域信号)上进行处理的方法。
在空间上具有强相关的信号,反映在频域上是在某些特定的区域内能量常常被集中在一起,或者是系数矩阵的分布具有某些规律。
我们可以利用这些规律在频域上减少量化比特数,达到压缩的目的。
图像经DCT变换以后,DCT系数之间的相关性就会变小。
而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。
从原理上讲可以对整幅图像进行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理的方式效果不好。
为此,发送者首先将输入图像分解为8*8或16*16块,然后再对每个图像块进行二维DCT变换,接着再对DCT系数进行量化、编码和传输;接收者通过对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换。
最后将操作完成后所有的块拼接起来构成一幅单一的图像。
对于一般的图像而言,大多数DCT系数值都接近于0,所以去掉这些系数不会对重建图像的质量产生较大影响。
因此,利用DCT进行图像压缩确实可以节约大量的存储空间。
在实验中,先将输入的原始图像分为8*8的小块,然后再对每个块进行二维DCT变换。
二维离散余弦变换可以写成矩阵式(F(u,v))=(A)(f(x,y))(A)’(f(x,y))=(A)’(F(u,v))(A)式中,(f(x,y))是空间域数据阵列,(F(u,v))是变换系数阵列,(A)是系数阵列,变换矩阵(A)’是(A)的转置[5]。
设计中2维DCT变换函数代码如下:function Xpq=DCT2_function(xmn,M)T=dctmtx(M); %产生二维DCT变换矩阵Xpq=T*xmn*T';设计中2维IDCT变换函数代码如下:function xmn_resume=IDCT2_function(Xpq_resume,M)T=dctmtx(M); %生成变换矩阵xmn_resume=T'*Xpq_resume*T; % 用变化矩阵的乘法代替效率极低的for求和循环3.4 量化在DCT处理中得到的64个数据中,低频分量包含了图像亮度等主要信息。
在从空间域到频域的变换中,图像中的缓慢变化比快速变化更易引起人眼的注意,所以在重建图像时,低频分量的重要性高于高频分量。
因而在编码时可以忽略高频分量,即减小非“0”系数的幅度以及增加“0”值系数的数目,从而达到压缩的目的,这也是量化的根据和目的,也是图像质量下降的最主要原因。
在JPEG标准中,用具有64个独立元素的量化表来规定DCT域中相应的64个系数的量化精度,使得对某个系数的具体量化阶取决于人眼对该频率分量的视觉敏感程度。
理论上,对不同的空间分辨率、数据精度等情况,应该有不同的量化表。
不过,一般采用下图所示的量化表,可取得较好的视觉效果。
量化化就是用DCT变换后的系数除以量化表中相对应的量化阶后四舍五入取整。
由于量化表中左上角的值较小,而右下角的值较大,因而起到了保持低频分量、抑制高频分量的作用。
为了便于分析比较,定义一个量化系数quotiety,越大压缩率越高。
量化系数quotiety:程序中是将JPEG标准量化矩阵* quotiety作为真正的量化矩阵。
quotiety 取值为大于1的任意实数。
本设计中利用函数integral_function.m和deintegral_function实现量化和反量化。
图3-4 灰度值量化表量化会产生误差,上表是综合大量的图像测试的实验结果,对于大部分图像都有很好的结果[3]。
表中可以看出,高频部分对应的量化值大,目的就是将高频部分编程接近于0,以便以后处理。
JPEG可以在压缩比和图像质量间作取舍。
方法就是改变量化系数。
如果量化值放大,则有更多的系数值为0,提高了压缩比。
3.4 Z形扫描游程编码DCT系数量化后,构成一个稀疏矩阵,用Z(Zigzag)形扫描将其变成一维数列,将有利于游程编码。
Z形扫描的顺序如图3-4。
图3-5 Z形扫描顺序图游程编码是一种统计编码,该编码属于无损压缩编码,是栅格数据压缩的重要编码方法。
游程编码的基本原理是:用一个符号值或串长代替具有相同值的连续符号,使符号长度少于原始数据的长度。
只在各行或者各列数据的代码发生变化时,一次记录该代码及相同代码重复的个数,从而实现数据的压缩。
游程编码运算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码和解码运算,增加处理和操作时间的情况[2]。
本设计中利用两个函数Run_length_coding_function.m和Run_length_decoding_function.m分别实现Z字形游程的编码解码。
由于DCT变换后右下角频率高,左上角频率分量低。
而人眼对高频成分识别小,对低频成分识别大。
量化后0主要集中在右下方,于是Z字形扫描对于游程编码才有利[4]。
主要思路是将原矩阵的每个元素变化为用两个元素[a,b]表示,a表示在这个元素之前0的个数,b表示这个元素是什么。
当发现之后的多有元素都是0的时候用[0,0]作为结束标志。
这样,只要矩阵中0的个数超过一半,编码后数据量就比原来小。
由于在8*8中连续出现不为0的相同元素的几率极小,因此运用游程编码的思想时只考虑出现的0的个数。
4.运行结果及分析4.1 不同量化系数图像编解码效果比较量化系数quotiety:程序中是将Jpeg标准量化矩阵* quotiety作为真正的量化矩阵。
quotiety取值为大于1的任意实数。
下面以JPEG格式图像为标准,取不同的量化系数quotiety进行比较,原始图像大小为18.2KB:图4-1原始图像图4-2 quotiety=1时恢复图像此时压缩编码文件为compressed_data大小为14.0KB。