压缩方法小结(无损压缩)
基于统计的方法
霍夫曼编码
香农-范诺方法
算术编码方法
行程编码( RLE)
词典编码
LZSS
LZW
压缩方法小结(有损压缩)
量化
均匀量化
非均匀量化
(自适应)预测编码
变换编码
小波变换
DCT变换
整数变换彩色图像压缩算法概要
JPEG(Joint Photographic Experts Group) 是一个由
ISO和 CCITT两个组织机构联合组成的一个图像专家小组,负责制定静态的数字图像数据压缩编码标准,这个专家组开发的算法称为 JPEG算法,并且成为国际上通用的标准,因此又称为 JPEG标准。 JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。 JPEG不仅适于静止图像的压缩,电视图像的帧内图像的压缩编码,也常采用此算法。
标准包含两种基本的压缩算法,一种是采用以离散余弦变换 (Discrete Cosine Transform,DCT)为基础的有损压缩算法,另一种是采用以预测技术为基础的 DPCM无损压缩算法。
JPEG编码标准
JPEG压缩编码算法的主要计算步骤如下:
1.正向离散余弦变换 (FDCT)。
2.量化 (quantization)。
3.Z字形编码 (zigzag scan)。
4.使用差分脉冲编码调制 (differential pulse code
modulation,DPCM)对直流系数 (DC)进行编码。
5.使用行程长度编码 (run-length encoding,RLE)对交流系数 (AC)进行编码。
6.熵编码 (entropy coding)。
JPEG编码标准压缩编码大致分成三个步骤:
1.使用正向离散余弦变换 (forward discrete cosine transform,FDCT)把空间域表示的图变换成频率域表示的图。
2.使用加权函数对 DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的。
3.使用霍夫曼可变字长编码器对量化系数进行编码。
JPEG编码标准
FDCT
译码或者叫做解压缩的过程与压缩编码过程正好相反。
IDCT
JPEG编码标准正向离散余弦变换对每个单独的彩色图像分量,把整个分量图像分成 8× 8的图像块,如图所示,并作为两维离散余弦变换 DCT的输入。通过 DCT变换,把能量集中在少数几个系数上。
DCT变换使用下式计算逆变换使用下式计算
JPEG编码标准
FDCT变换本质
每个 8× 8图像采样数据块,实质上生成 64点离散信号。
假想在一个 64维的向量空间中,64点离散信号对应一个高维数据点。
寻找一个新的正交向量基,求取高维数据点的新坐标
产生二维频域的变换参数。
量化对于有损压缩算法,JPEG
算法使用如图所示的均匀量化器进行量化,量化步距是按照系数所在的位置和每种颜色分量的色调值来确定。
JPEG编码标准量化因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表:亮度量化值和色差量化值。此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此图中的左上角的量化步距要比右下角的量化步距小。
JPEG编码标准
DC系数编码和 AC系数 ZIGZAG编码
JPEG编码标准
JPEG编码示例熵 编码使用熵编码还可以对 DPCM编码后的直流 DC系数和 RLE编码后的交流 AC系数作进一步的压缩。
在 JPEG有损压缩算法中,使用霍夫曼编码器来减少熵。
使用霍夫曼编码器的理由是可以使用很简单的查表 (lookup
table)方法进行编码。压缩数据符号时,霍夫曼编码器对出现频度比较高的符号分配比较短的代码,而对出现频度较低的符号分配比较长的代码。这种可变长度的霍夫曼码表可以事先进行定义。
JPEG编码标准基于 DPCM的预测 编码无失真编码器源图像数据 压缩的图像数据预测器 熵编码器表说明
DPCM预测编码框图
JPEG编码标准
JPEG2000编码标准
需求:新的多媒体应用,网络应用,以及对压缩比的更高要求。
JPEG 2000 正式名称为,ISO 15444,同样是由 JPEG 组织负责制定。该标准是由联合摄影专家组于 1997年开始征集提案,把它作为 JPEG标准的一个更新换代标准。它的目标是进一步改进目前压缩算法的性能,以适应低带宽、高噪声的环境,以及医疗图像、电子图书馆、传真,Internet网上服务和保安等方面的应用。国际标准化组织的 WG1小组已于 2000年 8月制定了最终的国际标准化草案( The Final
Draft International Standard,简称 FDIS)。
JPEG2000新特征
高压缩率,JPEG2000格式的图片压缩比可在现在的 JPEG基础上再提高 10%~ 30%,而且压缩后的图像显得更加细腻平滑。
无损压缩和有损压缩,JPEG2000提供无损和有损两种压缩方式。
同时 JPEG2000提供的是嵌入式码流,允许从有损到无损的渐进解压。
渐进传输,现在网络上的 JPEG图像下载时是按“块”传输的,因此只能一行一行地显示,而采用 JPEG 2000格式的图像支持渐进传输 (Progressive Transmission)。所谓的渐进传输就是先传输图像轮廓数据,然后再逐步传输其他数据来不断提高图像质量。
JPEG2000新特征
感兴趣区域压缩 ( Region of Interest)
码流的随机访问和处理
容错性
开放的框架结构
基于内容的描述
JPEG2000基本结构小波变换 量化 熵编码 压缩图像数据熵解码 压缩图像数据逆量化小波反变换源图像数据合成图像数据编码器解码器存储或传输图像分块示意图
JPEG2000编码过程
把原图像分解成各个成分(亮度信号和色度信号)。
把图像和它的各个成分分解成矩形图像片。
对每个图像片实施小波变换。
对分解后的小波系数进行量化并组成矩形的编码块
对在编码块中的系数“位平面”熵编码。
为使码流具有容错性,在码流中添加相应的标识符。
可选的文件格式用来描述图像和它的各个成分的意义。