资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
JPEG图像压缩与编码,张成 电子与通信工程 电子信息学院,2018年10月23日,JPEG图像压缩与编码目录,1 JPEG算法概要 1.1 JPEG是什么 1.2 JPEG算法概要 2 JPEG算法的主要计算步骤 2.1 离散余弦变换 2.2 量化 2.3 Z字形编排 2.4 熵编码 3 JPEG文件格式,JPEG图像压缩与编码,2018年10月23日,JPEG图像压缩与编码,1 JPEG算法概要,1.1 JPEG是什么 Joint Photographic Experts Group的缩写,联合图像专家组 由ISO和IEC两个组织机构联合组成的专家组,负责制定静态的数字图像数据压缩编码标准 JPEG标准 静态图像数据压缩标准,用于压缩灰度图像和彩色图像。两种基本压缩算法: 有损压缩算法:以离散余弦变换(DCT)为基础,在压缩比为251的情况下,压缩后还原得到的图像与原始图像相比,非图像专家难于找出它们之间的区别 采用以预测技术为基础的无损压缩算法 JPEG格式 存放使用JPEG压缩的图像文件交换格式 大多数浏览器都支持这种格式的文件。以这种格式存放的图像文件的后缀是.JPG或.JFF。也称JFIF,2018年10月23日,JPEG图像压缩与编码,1 JPEG算法概要,1.2 JPEG算法概要 利用视觉系统特性,使用变换、量化和熵编码相结合的方法,以去掉或减少视觉的冗余信息和数据本身的冗余信息 JPEG标准的压缩算法大致分成三个步骤: 使用正向离散余弦变换(FDCT)把空间域表示的图变换成频率域表示的图 使用加权函数对DCT系数进行量化,加权函数对人的视觉系统是最佳的 使用霍夫曼编码器对量化系数进行编码,2018年10月23日,JPEG图像压缩与编码,1 JPEG算法概要,JPEG压缩编码流程图,2018年10月23日,JPEG图像压缩与编码,1 JPEG算法概要,JPEG算法与颜色空间无关 RGB和YUV之间的变换不包含在JPEG算法中 JPEG算法处理单独的图像彩色分量,因此可压缩来自不同颜色空间的数据,如RGB, YCbCr, CMYK。 色彩变换公式,2018年10月23日,JPEG图像压缩与编码,2 JPEG算法的主要计算步骤,2.1 离散余弦变换(DCT) discrete cosine transform的缩写 用余弦函数的离散值构成的变换矩阵对信号的一系列样本值进行运算的数学变换 可将能量集中到频率较低的系数上 将分量图像分成88的图块,如图5-2 所示,离散余弦变换,2018年10月23日,JPEG图像压缩与编码,2 JPEG算法的主要计算步骤,DCT变换使用下式计算,逆变换使用下式计算,当u,v=0;,其他,其中,,2018年10月23日,JPEG图像压缩与编码,2 JPEG算法的主要计算步骤,二维DCT的计算 将二维DCT变成一维DCT,如图5-3所示 实际的快速计算方法可参看参考文献C. Loeffler 当计算精度足够高时,DCT变换不会损失图像质量,二维DCT变换方法,2018年10月23日,JPEG图像压缩与编码,2 JPEG算法的主要计算步骤,2.2 量化 对FDCT变换后的(频率的)系数进行量化 量化目的是降低非“0”系数的幅度以及增加“0”值系数的数目 用图5-4所示的均匀量化器量化 量化是造成图像质量下降的最主要原因 量化用右式计算,均匀量化器,2018年10月23日,JPEG图像压缩与编码,2 JPEG算法的主要计算步骤,量化步距 按照系数所在的位置和每种颜色分量的色调值来确定的 因为人眼对亮度信号比对色差信号更敏感,因此使用两种量化表:如表4-6所示的亮度量化表和表4-7所示的色差量化表 由于人眼对低频分量的图像比对高频分量的图像更敏感,因此表中的左上角的量化步距要比右下角的量化步距小 表4-6和表4-7中的数值对CCIR 601标准电视图像已经是最佳的 如果不使用这两种表,用户也可以用自己的量化表替换它们,2018年10月23日,JPEG图像压缩与编码,2 JPEG算法的主要计算步骤,亮度量化表,色差量化表,2018年10月23日,JPEG图像压缩与编码,2 JPEG算法的主要计算步骤,2.3 Z字形编排 为增加连续的“0”值系数的个数,即“0”的游程长度,如图5-5所示 DCT系数的序号如图5-6所示,序号小的位置表示频率较低,把一个8 8的矩阵变成一个1 64的矢量,量化DCT系数的编排,DCT系数序号,2018年10月23日,JPEG图像压缩与编码,2 JPEG算法的主要计算步骤,2.4 熵编码 用于进一步压缩采用DPCM编码后的DC系数差值和RLE编码后的AC系数 先将88图像块的DC系数和63个AC系数用中间符号表示,中间符号由两个符号组成 一个符号是表示数据大小的可变长度码(variable-length code,VLC),用的代码是霍夫曼码 一个符号是直接表达实际幅度的可变长度整数(variable-length integer,VLI) 由于DC系数和AC系数的统计特性不同,因此在熵编码时需要对DC系数和AC系数分别处理 行程编码利用相同的内容会重复出现很多次,那么就可以用一种简化的方法来记录这一串数字:,2 JPEG算法的主要计算步骤,举例说明: 57,45,0,0,0,0,23,0,-30,-16,0,0,1,0,0,0,0 ,0 ,0 ,0,0 可以表示为 (0,57) ; (0,45) ; (4,23) ; (1,-30) ; (0,-16) ; (2,1) ; EOB 即每组数字的头一个表示数字如57前的0的个数,而且为了能更有利于后续的处理, 霍夫曼编码器 理由是可用简单的查表(lookup table)方法进行编码 霍夫曼编码器对出现频度比较高的符号分配比较短的代码,而对出现频度较低的符号分配比较长的代码 这种可变长度的霍夫曼码表可事先定义,2018年10月23日,JPEG图像压缩与编码,3 JPEG文件格式,JPEG格式 Joint Photographic Experts Group的缩写 JPEG委员会在制定JPEG标准时定义了许多标记(marker),用来区分和识别图像数据及其相关信息 广泛使用的JPEG文件格式是JPEG文件交换格式(JPEG File Interchange Format,JFIF),版本号为1.02,这是1992年9月由在C-Cube Microsystems公司工作的Eric Hamilton提出的。 由于JFIF文件格式直接使用JPEG标准为应用程序定义的许多标记,因此JFIF格式就成了事实上的JPEG文件交换格式标准。,Thank you,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号