数字图像处理JPEG压缩举例说明_第1页
数字图像处理JPEG压缩举例说明_第2页
数字图像处理JPEG压缩举例说明_第3页
数字图像处理JPEG压缩举例说明_第4页
数字图像处理JPEG压缩举例说明_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、123 167 220 126 152 177 164 119123 128 113 101 110 131 141 11888 62 74 186 199 140 132 12674 45 105 179 190 125 136 11844 74 185 209 193 161 132 10883 87 148 166 180 132 113 94117 103 85 91 107 109 98 89158 131 114 82 118 108 100 8581 129 149 102 138 166 153 10377 78 49 74 87 109 117 87 40 48 150 17

2、1 111 99 95 46 22 72 150 162 95 106 94 23 41 139 169 148 132 104 83 49 57 99 119 139 102 88 74 95 104 74 66 86 83 71 63162 144 125 95 130 88 66 56 71 123 163 105 141 171 160 104 71 82 69 77 93 112 118 83 47 41 48 147 171 108 90 87 45 20 65 152 160 91 100 88 19 30 120 167 145 127 93 68 37 48 78 108 1

3、33 81 70 59 92 148 103 75 85 58 57 53 182 177 159 140 168 82 56 471. 1. 颜色空间转换颜色空间转换 人眼对亮度更敏感,提取亮度特征,将RGB转换为YCbCr模型,编码时对亮度采用特殊编码:Y = 0.299R + 0.5870G + 0.1140BCb = 0.1787R 0.3313G +0.5000B +128Cr = 0.5000R 0.4187G 0.0813B + 128颜色解码: R =Y+1.40200(Cr128)G=Y0.34414(Cb128)0.71414(Cr128) B = Y+1.77200(Cb

4、128)转换公式中系数的来源转换公式中系数的来源(联合国)国际电信联盟无线电部1982年制定的标准 ITU-RBT.601 建议书里面记载了五种色彩变换式,分别是:1. 模拟 RGB 讯号转为模拟 Y, (B-Y), (R-Y)2. 模拟 (B-Y), (R-Y) 转为模拟 Cb, Cr3. 模拟 YCbCr 数字化(取样、量化)成为数字 YCbCr4. 模拟 RGB 数字化(取样、量化)成为数字 RGB5. 数字 RGB 转为数字 YCbCrITU-RBT.601文档关于文档关于RGB到到YUV的转换关系截图的转换关系截图 2.2.数据分块数据分块 构造子图像 子图像尺寸:8 x 83. D

5、CTDCT变换变换 对于灰度级是2n的像素,通过减去2n-1,替换像素本身 对于n=8,即将0-255的值域,通过减去128,转换为值域在-128-127之间的值 目的:使像素的绝对值出现3位10进制的概率大大减少 用8x8的JEPG基线标准,压缩并重构下列子图525561667061647363596690109856972625968113144104667363587112215410670696761681041268868707965607077685875857164595561658387796968657678940 0偏置转换后偏置转换后-76-73-67-62-58-67-

6、64-55-65-69-62-38-19-43-59-56-66-69-60-1516-24-62-55-65-70-57-626-22-58-59-61-67-60-24-2-40-60-58-49-63-68-58-51-65-70-53-43-57-64-69-73-67-63-45-41-49-59-60-63-52-50-34 频域变换 频域变换产生64个系数,第一个系数称为直流系数(DC系数),其余的63个系数称为交流系数(AC系数)。clear;clc;X=round(rand(4)*100);%随机生成的数据A=zeros(4);%变换矩阵for i=0:3 for j=0:3

7、 if i=0 a=sqrt(1/4); else a=sqrt(2/4); end A(i+1,j+1)=a*cos(pi*(j+0.5)*i/4); endend%YY=dct2(X);%用matlab中的函数进行DCT变换Y=A*X*A;%DCT变换 DCT变换的基本思路是将图像分解为88的子块,并对每一个子块进行单独的DCT变换,然后对变换结果进行量化、编码。 DCT变换可以消除图像的空间冗余, Huffman编码可以消除图像的信息熵冗余。 DCT 是无损的,它只将图像从空间域转换到变换域上,使之更能有效地被编码。 图片的有损压缩主要是系数量化导致的。利用matlab定义好的二维DCT

8、变换F=Dct2(X)正向DCT变换(N = 8)后变成-415-29-62 25 55-20-1 3 7-21-62 9 11-7-6 6-46 8 77-25-30 10 7-5-50 13 35-15-9 6 0 3 11-8-13-2-1 1-4 1-10 1 3-3-1 0 2-1-4-1 2-1 2-3 1-2-1-1-1-2-1-1 0-14.4.系数量化系数量化1)正向量化:Squv=round(Suv/Quv) 其中: Suv是DCT系数, Quv量化模板系数2)逆向量化:Ruv=SquvQuv例:Sq(0,0)=round-415/16 =round-25.9=-26 Ru

9、v(0,0)=-26*16=-416对于亮度和颜色使用不同的量化阈值模板,并取整 亮度的量化模板系数16 11101624405161121214192658605514131624405769561417222951878062182237566810910377243555648110411392496478871031211201017292959811210010399 颜色的量化模板系数17 1824479999999918212666999999992426569999999999476699999999999999999999999999999999999999999999999

10、99999999999999999999999999999量化变换后的数组,比例化并消去系数-26-3-6 2 2000 1-2-4 0 0000-3 1 5 -1 -1000-4 1 2 -1 0000 1 0 0 0 0000 0 0 0 0 0000 0 0 0 0 0000 0 0 0 0 0000实例:图片采用256*256尺寸bmp位图图像量化因子0.1量化因子3通过量化阈值表,比例化并消去DCT变换后的系数, 降低高频部分5 5Z Z形扫描形扫描 将量化后的系数按Z字形扫描Z字形扫描ZIG-Zag(锯齿形转角)像素点乱置算法。像素的灰度没有变,采用Z字形扫描是为了增加0的行程长度

11、,从而更有利于压缩系数的重要性一定程度上是按照zigzag模式进行排列。6. DC6. DC编码编码 DCT变换的64个系数经量化后,其中F(0,0)为直流系数DC,其余的63个为交流系数AC。DC的大小反映了一个88数据块的平均亮度。 88相邻子块之间DC系数有很强的相关性,所以JPEG对DC系数采用DPCM差分编码. 以前一数据块的同一分量的DC系数作为当前块的预测值,再对当前块的实际值与预测值的差值进行哈夫曼编码或算术编码。 n 若DC系数的动态范围为-10241024,则差值的动态范围可达-2047+2047;n 由于差分值范围太大,JPEG没有采用对每一个差分值赋予一个码字,而是对码

12、表进行了简化,采用“前缀码(SSSS)+尾码”表示;n 前缀码指明了尾码的有效位数前缀码指明了尾码的有效位数B B,可以根据差分值从表8-12中查出前缀码对应的哈夫曼编码。尾码的取值取决于DC系数的差值和前缀码;n 如DC系数的差分值(D)大于等于0,则尾码的码字为差分值的原码;否则,取差分值的B位反码。 表表8-12 图像分量为图像分量为8位时位时DC系数差值的典型哈夫曼编码表系数差值的典型哈夫曼编码表 DCDC系数编码步骤系数编码步骤 n (1) 对差分值进行判断 如果差分值大于0,将差分值转换为二进制表示,并获得差值所占的位数。例如,差值为5时,其二进制表示为101,差分值得位数为3;

13、如果差分值小于0,则取绝对值后转换为二进制码表示,再获得该编码值的反码。例如,差值为-5时,最后得反码为010,差分值的位数为3。 n (2) 根据“前缀码(SSSS)+尾码”的表示方法,以差分值所占的位数为索引值查表获得该差分值的编码。 表8-12为亮度系数(DC)的哈夫曼编码表。 查表可获得差分值为5时编码为100,结合前缀码(SSSS)和尾码,最终的编码值为100101;差值为-5时的最终编码为100010。 表8-12表明,DC系数差分值的最大位数为11位。 JPEG基本系统对63个AC系数采用行程编码行程编码,采用Z字形扫描是为了增加0的行程长度,从而更有利于压缩数据。 AC系数编码可采用哈夫曼编码或算术编码。JPEG在对AC系数进行Z行程编码后,将一个非零AC系数及其前面的0行程长度称为一个组合,记为NNNN/SSSS ,将每个组合以“NNNN/SSSS+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论