JPEG标准与原理解析

转载地址:
https://wenku.baidu.com/view/57716db7551810a6f52486d9.html
1.JPEG压缩算法是一种有损压缩算法,他根据人眼视觉特性剔除图像信息中视觉不敏感得成分,从而实现图像信息的高度压缩。所根据的视觉特性主要为:高频不敏感性和色彩不敏感性。
jpeg编码需要以下3个步骤:
1)信息空间压缩
2)信息数据压缩
3)数据编码压缩。对经前2步处理所得到的数据进行编码优化,从而进一步压缩数量量,最终形成目标jpeg代码。
一、信息空间压缩
原理:视觉对色彩不敏感,对亮度变化敏感,保留亮度分量,将4*4范围内的uv分量取均值,即可实现部分压缩。
实现方式:将RGB图像转化成YUV444格式,存储为yuv422,yuv420,yuv421等格式。即可实现50%的压缩。
二、信息数据编码
要利用人眼视觉的细节不敏感性,需要选择一种变换算法,以帮助提取图像信息中的主要能量,而丢弃那些影响很小或者没有影响的微小能量。适合图像压缩的变换有很多中,例如主成分分析法、离散傅里叶变换(DFT)、离散余弦变换(DCT)等
变换的基本思想是,找到一组基,让图像在这组基下能量集中(少量系数值较大,其余系数接近0)。变换必须是可逆的(否则无法解码),因此变换本身不能压缩信息。)

JPEG标准与原理解析_第1张图片
图像压缩的质量不但与所使用的变换方式有关,还和分块大小有关。对比图中各分块方式和变换方式。在DCT方式下,对8*8的分块做变换可以获得很好的效果。JPEG压缩选择了8*8的2维DCt算法。
由DCT变换,每个8*8分块经过计算都可以得到64个DCT系数。其中,F(0,0)称为直流系数,其他63个系统称交流系统。在典型的连续色调图像中,相邻像素之间往往差别不大,这意味着空间频率的幅值主要集中分布在信号的低频部分。对典型的8*8图像块而言,大多数频率的幅值是0或者接近0,因此在编码时可以被忽略。
JPEG标准与原理解析_第2张图片
观察上图最后得到的DCT系数块,它的物理意义就是将图像块由空间域转换到了频率域。这有两个优点:其一,信号能量的大部分通常集中在频率域的一个小范围内,这样一来,描述不重要的分量,只需要很少的比特数:其二,频率域分解映射了人类视觉系统的处理过程,并允许后继的量化过程满足其灵敏度的要求。

从DCT系数块可以看到,频谱中的主要能量几乎都集中在最左上角部分。其中,由前述可知F(0,0)是直流系数,其他的63个系数称为交流系数。在这里,DC系数幅度最大。以DC系数为出发点向下,向右的其他DCT系数,离DC分量越远,频率越高,幅度值越小。即图像信息的大部分集中于直流系数及其附近的低频频谱上,离DC系数越来越远的高频频谱几乎不含图像信息,甚至于只含杂波。DCT本身虽然没有压缩做用,却为以后压缩时的取舍奠定了必不可少的基础。
3、量化
量化是JPEG压缩中的关键处理步骤,是唯一会大幅损失信息的运算,也是用户控制压缩质量的唯一参与位置。
JPEG标准与原理解析_第3张图片
4、行程编码与熵编码
JPEG标准与原理解析_第4张图片
结束语:
前面提到,一个完整的JPEG文件中除去图像数据外还有其他关于格式方面的内容,如图像、码表、内容标志等。由于本文仅是介绍JPEG的编码,所以对文件格式不在详细介绍。

你可能感兴趣的:(tuxiang)