1、ch6 图像编码 第四节 变换编码,杨文霞,有损编码的基本思想,利用图象的视觉冗余,以彩色信号为例,,前面讲的有损预测编码即该基本思想的利用。,变换编码的基本思想 变换编码的基本理论 变换编码的基本原理 变换系数截取模板函数 误差评估 实现变换压缩算法的主要问题 变换的选择 子图尺寸的选择 压缩的位分配,变换编码讲解安排,变换编码(1)变换编码的基本思想,(1)用一个可逆的、线性的变换(如DCT),把图像映射到变换系数集合。,(2)对该系数集合进行量化和编码,(3)对于大多数自然图像,重要系数的数量是比 较少的,因而可以用量化(或完全抛弃),且仅以较 小的图像失真为代价。,Note:,对图象的
2、压缩并不是在变换步骤取得的,而是在量化变换的系数时取得,变换编码(2)正交变换编码的基本原理,正交变换之所以能够压缩数据,主要是具有如下性质:,(1)正交变换具有熵保持性质,即正交变换并不丢失图象信息。,(2)正交变换有能量保持性质。,(3)能量重新分配与集中。,(4)去相关性。有可能使相关的空间域变换为不相关的变换域,使得存在于相关性的冗余可以去除。,DCT信息集中能力较强,计算复杂性不大,应用较多。,变换编码(3)最佳变换,最佳变换应满足的条件: (1)使变换系数之间的相关性全部解除; (2)使变换系数之方差高度集中。,最佳的准则: 均方误差最小,分区编码 根据信息论中的不确定性原理,具有
3、最大方差的变换系数带有最多的图像信息,应当保留;,均方误差准则下的最佳统计变换叫K-L变换,(又叫主成分分析),其最佳变换实现的方法:,(1)给定一幅图象,求出其协方差矩阵Cx;,(2)用正交变换法将Cx化成标准型,并求出其正交变换矩阵T;,(3)T即为K-L变换的变换矩阵。,缺点:对给定大小的图象,变换矩阵不是唯一的。需要每次都计算。基图像是数据依赖的。,变换编码KL变换及其评价,FFT的块效应严重,实现较复杂(复数运算),变换编码各种正交变换变换及其评价,DCT其优点有:1)基本没有块效应2)信息封装能力强,把最多的信息封装在最少的系数中,已被国际标准采纳,作成芯片。,沃尔什-哈达玛变换1
4、)运算量小,易于硬件实现2)压缩效果较差,变换编码(3)编码、解码流程,编码流程,解码流程,变换编码(4)分区编码,将一幅图片分成若干n*n个小块,如图:,然后再对每一块做正交变换,再对正交变换后的系数进行编码。,对每个单独的彩色图像分量,把整个分量图像 分成88的图像块,如图所示,并作为两维离散余 弦变换DCT的输入。通过DCT变换,把能量集中在少 数几个系数上。,因为人眼对亮度信号比对色差信号更敏感,因 此使用了两种量化表:亮度量化值和色差量化值。此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此图中的左上角的量化步距要比右下角的量化步距小。,变换编码(5)理论依据,52 55
5、61 66 70 61 64 73 63 59 66 90 109 85 69 72 62 59 68 113 144 104 66 73 63 58 71 122 154 106 70 69 67 61 68 104 126 88 68 70 79 65 60 70 77 68 58 75 85 71 64 59 55 61 65 83 87 79 69 68 65 76 78 94,610 -29 -62 25 55 -20 -1 26 -21 -62 8 12 -7 -6 7-46 8 77 -26 -30 10 6 -5-49 12 34 -14 -10 6 1 111 -8 -12
6、-2 0 1 -5 2-10 1 3 -3 0 0 2 0-3 -1 1 0 1 -4 2 -3-1 -1 0 -3 0 0 -1 0,原始图像 相应的DCT系数,MATLAB使用:先输入矩阵II为左边的原始 图象数据,然后运行如下指令: coe=dct2(II); round(coe);,实现变换压缩算法的主要问题 变换的选择 子图尺寸的选择 编码,变换编码(6)关键问题,子图尺寸的选择 子图尺寸的选择有两个原则: 1) 如果n是子图的维数,n应该是2的整数次方。为便于降低计算复杂度。 2) n一般选为8x8或16x16。由实践得到。,实现变换压缩算法的主要问题 变换的选择 子图尺寸的选择
7、编码,常用的编码方法有两种: (1)区域编码法 (2)门限编码法,变换编码(6)关键问题,(1)区域编码法,大部分的信息应该包含在最大方差的变换系数中。每一个DCT变换系数被认为是一个随机变量,该变量的分布可以在所有变换子图像的集合上进行计算。 找出取最大方差的m个系数的位置,并同时确定系数的坐标u和v,对所有子图像,这m个系数的T(u,v)值是保留的,其他的T值被抛弃。其中m是一个可选常数。译码时对舍弃的系数进行补零处理,变换编码(7)区域编码法,如,对88的子区间,消去87.5%的系数的模板为,最大方差的计算: 1)方差本身可以直接由(N/n)2个变换子图像数组的集合计算得到。 2)或者基
8、于一个假想的图像模型得到。 3)根据最大方差的分布情况得到系数截取模板 4)方差最大的地方置1,其它地方置0,变换编码(7)区域编码法,(2)门限编码法(适应性编码) 基本思想:没有一个消取系数的固定模板。 不同的子图保留不同的系数。通过一个阈值T,来决定一个系数的去留。If a(系数) T(阈值) m(u,v) = 1Else m(u,v) = 0 由于其简单性,阈值编码是实际应用中更常使用的编码方法。,理论根据: 1)取值最大的变换系数,在重构子图的质量中起的作用也最重要。 2)最大系数的分布随子图的不同而不同。,变换编码(8)门限编码法,阈值的选取,常有三种取法。 1) 所有子图使用同一
9、个全局阈值。,压缩率的大小随图像的不同而不同。由超过全局阈 值的系数的个数所决定,2) 对每个子图使用不同的阈值。,每个子图保留的系数的个数事先确定,即总保留N 个最大的。称为N-最大化编码。对于每个子图同样 多的系数被丢弃。因此,每个子图的压缩率是相 同的,并且是预先知道的。,变换编码(8)门限编码法,3) 阈值作为子图系数位置的函数。所有子图使用同一个全局阈值模板,但阈值的取值,与系数的位置相关,阈值模板给出了,不同位置上系数的相应阈值。,变换编码(8)门限编码法,I = imread(cameraman.tif);/读入文件 I = im2double(I); /变成双精度 T = dc
10、tmtx(8); /求8*8模板的dct变换矩阵 B = blkproc(I,8 8,P1*x*P2,T,T); /施DCT变换B=TIT; mask = 1 1 1 1 0 0 0 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0; B2 = blkproc(B,8 8,P1.*x,mask); /只取10个有效点 I2 = blkproc(B2,8 8,P1*x*P2,T,T); /IDCT变换 imshow(I), figur
11、e, imshow(I2) /显示原图与idct变换后的图,MATLAB演示举例,结果如下:,第四节 图象编码的国际标准,图象编码标准:JBIG,H.26x,JPEG,MPEG,国际标准化组织(ID)和国际电报电话咨询委员会(CCITT)联合成立的专家组JPEG(Joint Photographic Experts Group)于1991年3月提出了ISO CDIO918号建议草案:多灰度静止图像的数字压缩编码(通常简称为JPEG标准)。这是一个适用于彩色和单色多灰度或连续色调静止数字图像的压缩标准。它包括基于DPCM(差分脉冲编码调制)、DCT(离散余弦变换)和Huffman编码的有损压缩算
12、法两个部分。,JPEG,在JPEG中,定义了三种编码系统1)基于DCT的有损编码基本系统2)用于高压缩比、高精度或渐进重建应用的扩展编码系统3)用于无失真应用场合的无损系统,JPEG中压缩比及图像保真度是可调节的,供用户选 择;压缩率可达25:1,适应于不同的应用场合。,第四节 图象编码的国际标准,JPEG压缩编码算法的主要计算步骤如下: 正向离散余弦变换(FDCT)。 量化(quantization)。 Z字形编码(zigzag scan)。 使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码。 使用行程长度编码(
13、run-length encoding,RLE)对交流系数(AC)进行编码。 熵编码(entropy coding)。,JPEG压缩编码算法,(源于http:/ Pictures Experts Group)是 ISO/IEC/JTC/SC2/WG11的一个小组。它的工作兼顾了JPEG标准和CCITT专家组的H.261标准,于1990年形成了一个标准草案。,MPEG标准分成两个阶段:第一个阶段(MPEG-I)是针对传输速率为 lMb/s到l.5Mb/s的普通电视质量的视频信号的压缩;第二个阶段(MPEG-2)目标则是对每秒30帧的720x572分辨率的视频信号进行压缩;在扩展模式下,MPEG-2可以对分辨率达1440Xl152高清晰度电视(HDTV)的信号进行压缩。,MPEG-3:原本针对于HDTV(19201080),后来被MPEG-2代替。 MPEG-4:针对多媒体应用的图像编码标准。 MPEG-7:基于内容表示的标准,应用于多媒体信息的搜索,过滤,组织和处理。,MPEG,