chp4 数字图像编码
2020-03-01 141浏览
- 1.多媒体技术基础 ( 第 3 版 ) 第 4 章 数字图像编码 浙江理工大学数字媒体技术系
- 2.第 4 章 数字图像编码目录 4.1 彩色数字图像基础 4.1.1 4.1.2 4.1.3 4.1.4 视觉系统对颜色的感知 颜色空间 图像的基本属性 图像的种类 4.2 数字图像压缩方法的分 类 4.3 图像数据压缩编码标准 4.2.1 JPEG 算法概要 4.2.2 JPEG 算法的主要计算步骤 4.2.3 JPEG 压缩和编码举例 2019年5月14日 星 期二 4.4 小波变换编码 4.4.1 小波介绍 4.4.2 小波变换编码 — EZW 算法 4.4.5 JPEG2000 简介
- 3.4.1.1 视觉系统对颜色的感知 颜色是什么 视觉系统对可见光的感知结果 颜色只存在于眼睛和大脑 可见光是波长在 380 ~ 780 nm 之间的电磁波,我们 看到的大多数光不是一种波长的光,而是由许多不同 波长的光组合成的,因此有多种颜色的感觉 人的视网膜有对红、绿、蓝颜色敏感程度不同的三种 锥体细胞 杆状体细胞在光功率极低的条件下才起作用 区分颜色的三个特性 2019年5月14日 星 期二 色调 (hue) 饱和度 (saturation) 明度 (brightness)
- 4.4.1.1 视觉系统对颜色的感知 色调 (hue) 又称为色相,即视觉系统对可见物体辐射或发射的 光波波长的感觉 色调数目多于 1000 万种 2019年5月14日 星 期二 色调是最容易把颜色区分开的属性 色调用红 (red ) 、橙 (orange) 、黄 (yellow) 、绿 (green) 、青 (cyan) 、蓝 (blue) 、靛 (indigo) 、紫 (violet) 等术语来刻画 黑、灰、白为无色彩 普通人可区分 200 种 颜色专业人士可辨认的色调数大约 300 ~ 400 种
- 5.4.1.1 视觉系统对颜色的感知 饱和度 (saturation) 颜色的纯洁性 可用来区别颜色明暗的程度 当一种颜色掺入其他光成分越多时,就说该颜色越 不饱和 完全饱和的颜色是指没有渗入白光所呈现的颜色 单一波长的光谱色是完全饱和的颜色 下图所示的七种颜色具有相同的色调和明度,但具 有不同的饱和度,左边的饱和度最浅,右边的饱和 度最深 饱和度表示法 2019年5月14日 星 期二
- 6.4.1.1 视觉系统对颜色的感知 明度 (brightness) 视觉系统对可见物体辐射光或发射光多少的 感知属性 例如,一根点燃的蜡烛在黑暗中看起来要比在白 炽光下亮 明度的主观感觉值目前无法用物理设备测量 可用亮度 (luminance) 即辐射的能量来度量 有色表面的明度取决于亮度和表面的反射率,与 反射率不成正比,认为是一种对数关系 用一个数值范围表示,一个极端是黑色 ( 没有光 ) ,另一个极端是白色,在这两个极端之间是灰色 2019年5月14日 星 期二
- 7.4.1.1 视觉系统对颜色的感知 在图中,七种颜色具有 相同色调和饱和度 不同的明度 底部的明度最小 顶部的明度最大 明度示例 2019年5月14日 星 期二
- 8.4.1.2 颜色空间 颜色空间 通常用三维模型表示 常用代表三个参数的三维坐标来指定,这些参数描述颜 色在颜色空间中的位置,其颜色要取决于使用的坐标 “ 颜色空间 (color space)” 和“颜色模型 (color model)” 互 为同义词 常用颜色空间 2019年5月14日 星 期二 视觉系统: HSI/HSL 彩色空间 计算机显示: RGB 彩色空间 彩色印刷: CMY 彩色空间 彩色电视信号: YUV 彩色空间 YIQ 彩色空间
- 9.4.1.2 颜色空间 HSI/HSL 彩色空间 色调 - 饱和度 - 亮度 (hue-saturation-luminance, HSL) 色调 - 饱和度 - 光强度 (hue-saturation-intensity, HIS) 大量试验表明,人的眼睛能 分辨 128 种不同的色 调, 10 - 30 种不同的饱和 度,而对亮度非常敏感。 2019年5月14日 星 期二
- 10.4.1.2 颜色空间 RGB 彩色空间 计算机的彩色显示器的输入需要 RGB 三个颜色分 量,通过三个分量的不同比例,在屏幕上合成所 需要的任意颜色 颜色= R( 红的百分比 ) + G( 绿的百分比 ) + B( 蓝 的百分比 ) 2019年5月14日 星 期二
- 11.4.1.2 颜色空间 RGB 模型称为相加混色模型 相加混色是计算机应用中定义颜色的基本方法 当三基色等量相加时,得到白色;等量的红绿相 加而蓝为 0 时得到黄色;等量的红蓝相加而绿为 0 时得到品红色;等量的绿蓝相加而红为 0 时得到 青色。 相加混色 2019年5月14日 星 期二
- 12.4.1.2 颜色空间 CMY 彩色空间 CMY 模式主要用于彩色打印机和彩色图片印 刷这类吸光物体上。 CMY 模型称为相减混色模型 2019年5月14日 星 期二 用三种基本颜色即青色 (cyan) 、品红 (magenta) 和黄色 (yellow) 的颜料按一定比例混合得到颜色 的方法,通常写成 CMY ,称为 CMY 模型 从理论上说,任何一种颜色都可以用青色 (cyan) 、品红 (magenta) 和黄色 (yellow) 混合得到
- 13.4.1.2 颜色空间 在相减混色中 , 三基色相减结果如下图所示: 相减混色 2019年5月14日 星 期二
- 14.4.1.2 颜色空间 相加色与相减色是互补色 在 RGB 中的颜色值为 1 的地方,在 CMY 对应的位 置上,其颜色值为 0 。 相加色与相减色的关系 2019年5月14日 星 期二 相加混色 (RGB) 相减混色 (CMY) 生成的颜颜 色 000 111 黑 001 110 蓝 010 101 绿 011 100 青 100 011 红 101 010 品红 110 001 黄 111 000 白
- 15.4.1.2 颜色空间 YUV 和 YIQ 彩色空间 在彩色电视制式中,使用 YUV 和 YIQ 模型来表示彩色图像 在 PAL 彩色电视制式中使用 YUV 模型, Y 表示亮度, U 、 V 表示色差,是构成彩色的 两个分量 在 NTSC 彩色电视制式中使用 YIQ 模型, Y 表示亮度, I 、 Q 是两个彩色分量 2019年5月14日 星 期二
- 16.4.1.2 颜色空间 色差与亮度 亮度信号 Y 表示了单位面积上反射光线的强度 色差是指基色信号中的三个分量信号(即 R 、 G 、 B )与亮度信号之差 Y 0.299 R 0.587G 0.114 B U 0.493( B Y ) V 0.877( R Y ) Y � �0.299 0.587 0.114 �� R� � � � � �� � U 0.147 0.289 0.436 G �� � �� � � V� B� � � � �0.615 0.515 0.1 � �� � � 2019年5月14日 星 期二
- 17.4.1.2 颜色空间 YUV 表示法的优点 YUV 表示法的重要性是它的亮度信号 (Y) 和 色差信号 (U 、 V) 是相互独立的,也就是 Y 信号分量构成的黑白灰度图与用 U 、 V 信号 构成的另外两幅单色图是相互独立的。可以 对这些单色图分别进行编码。 黑白电视能接收彩色电视信号也就是利用了 YUV 分量之间的独立性。 2019年5月14日 星 期二
- 18.4.1.2 颜色空间 YUV 表示法的优点 另一个优点是可以利用人眼的特性来降低数字 彩色图像所需要的存储容量。 人眼对彩色细节的分辨能力远比对亮度细节的分辨能力 低。所以,就可把彩色分量的分辨率降低而不明显影响 图像的质量,因而就可以把几个相邻像素不同的彩色值 当作相同的彩色值来处理,从而减少所需的存储容量。 在 PAL 彩色电视制式中: Y 带宽 4.43MHz ( PAL )(因为人眼敏感,用以保证足 够的清晰度) U 、 V 带宽 1.3MHz ( 因为人眼不敏感,减少带宽 ) 2019年5月14日 星 期二
- 19.4.1.2 颜色空间 例:要存储 R∶G∶B = 8∶8∶8 的彩色图像,即 R 、 G 、 B 分量都用 8 比特表示,图像的大小为 640×480 像素,所需要的存储容量为 640×480×(8+8+8)/ 8 = 921 600 字节 如用 Y∶U∶V = 4∶1∶1 来表示同一幅彩色图像,对于 亮度信号 Y ,每个像素仍用 8 比特表示,而对于色 差信号 U 、 V ,每 4 个像素用 8 比特表示,则存储 量变为 640×480×(8+2+2)/8 = 460 800 字节 数据量减少了一半,但人眼察觉不出有明显 变化。 2019年5月14日 星 期二
- 20.4.1.3 图像的基本属性 图像分辨率 (resolution) 屏幕分辨率 (screen resolution) 衡量显示设备再现图像时所能达到的精细程度的度量 方法。也称显示分辨率 用“水平像素数 × 垂直像素数”表示。常见的屏幕分 辨率 : 640×480 , 800×600 , 1024×768 , 1280×1024 传统电视屏幕的宽高比为 4:3 ;高清晰度电视屏幕的 宽高比为 16∶9 图像分辨率 (image resolution) 2019年5月14日 星 期二 图像精细程度的度量方法。对同样尺寸的一幅图,如 果像素数目越多,则说明图像的分辨率越高,看起来 就越逼真。相反,图像显得越粗糙 图像分辨率也称空间分辨率 (spatial resolution) 和像素 分辨率 (pixel resolution)
- 21.4.1.3 图像的基本属性 在图像显示应用中的图像分辨率表示法 在图像数字化和打印应用中的图像分辨率表示法 (1) 物理尺寸:每毫米线数 ( 或行数 ) (2) 行列像素 (3) 像素总数 (4) 单位长度上的像素:如像素每英寸 (pixels per inch , PPI) 通常用多少点每英寸 (dots per inch , DPI) 表示,如 300 DPI 图像分辨率与屏幕分辨率是两个不同的概念 从行列像素角度看,图像分辨率是构成一幅图像的像素数目 ,而屏幕分辨率是显示图像的区域大小 2019年5月14日 星 期二
- 22.4.1.3 图像的基本属性 像素深度与阿尔法 (α) 通道 存储每个像素所用的位数 像素深度决定彩色图像的每个像素可能有的颜色数,或 者确定灰度图像的每个像素可能有的灰度级数 例如,用 R , G , B 三个分量表示的彩色图像,若每个分量 用 8 位表示,那么一个像素共用 24 位表示,就说像素深度为 24 位 例如,像素深度为 24 位时,每个像素可以是 224=16 777 216 种 颜 色 中的一种 像素深度越深,表达的颜色数目就越多,所占用的存储 空间也越大。相反,如果像素深度太浅,则影响图像的 质量,图像看起来让人觉得很粗糙和很不自然 由于受到设备和人眼分辨率的限制,不一定要追求特别 深的像素深度 2019年5月14日 星 期二
- 23.4.1.3 图像的基本属性 阿尔法 (α) 通道 在每个像素用 32 位表示的图像表示法中的高 8 位, 其余 24 位是颜色通道,红色、绿色和蓝色分量各 占一个 8 位的通道 用于表示像素在对象中的透明度 2019年5月14日 星 期二 例如,一个像素 (A , R , G , B) 的四个分量都用颜 一 颜 化的数值表示时,像素值为 (1 , 1 , 0 , 0) 时显示红色 ,表示红色强度为 1 ;像素值为 (0.5 , 1 , 0 , 0) 时, 使用 α 通道中的预乘数 0.5 与 R , G , B 相乘,其结果为 (0.5,0.5,0,0) ,表示红色强度为 0.5 。 又如,用两幅颜颜 像A 和 B 混合成一幅新颜颜 像,新 颜 颜 颜颜 像 (New) 的 像素为: New pixel =(alpha)(pixel A color) +(alpha)(pixel B color)
- 24.4.1.4 图像的种类 灰度图 (gray-scale image 或 intensity image) 只有明暗不同的像素而没有彩色像素组成的图像 只有黑白两种颜色的图像称为单色图像 (monochrome/bit image) , 每个像素的像素值用一位存储,其值是“ 0” 或“ 1” 用一个字节表示一个像素的灰度图 (256 级灰度 ) 一幅 640×480 的灰度图像需要占据的存储空间? ( 300 KB ) a 标准单色图 2019年5月14日 星 期二 b 标准灰度图
- 25.4.1.4 图像的种类 彩色图像 (color image) 每个像素包含颜色信息的图像。 可按照颜色的数目划分 2019年5月14日 星 期二 256 色图像:每个像素的 R 、 G 和 B 值用一个字节来表示 ,一幅 640×480 的彩色图像需要 300 KB 的存储空间 真彩色图像:每个像素的 R , G , B 分量分别用一个字 节表示,一幅 640×480 的真彩色图像需要存储空间? 256 色图像 24 位真彩色图像
- 26.4.2 数字图像压缩方法的分类 • • 按照信息论的角度,数字图像压缩方法可 分为: 可逆编码( Reversible Coding 或 Information Preserving Coding ),也称为无损压缩。 这种方法的解码图像与原始图像严格相同,压缩是完 全可恢复的或无偏差的,无损压缩不能提供较高的压 缩比。 不可逆编码( Non-Reversible Coding ),也称为 有损压缩。 用这种方法恢复的图像较原始图像存在一定的误差, 但视觉效果一般是可接受的,它可提供较高的压缩比 。 2019年5月14日 星 期二
- 27.4.2 数字图像压缩方法的分类 2019年5月14日 星 期二
- 28.4.2 数字图像压缩方法的分类 • • 按照压缩方法的原理,数字图像压缩方 法可分为: 预测编码( Predictive Coding )。 预测编码是一种针对统计冗余进行压缩的方法, 它主要是减少数据在空间和时间上的相关性,达 到对数据的压缩,是一种有失真的压缩方法。 预测编码中典型的压缩方法有 DPCM 和 ADPCM 等,它们比较适合于图像数据的压缩。 2019年5月14日 星 期二
- 29.4.2 数字图像压缩方法的分类 • • 变换编码( Transform Coding )。 变换编码也是一种针对统计冗余进行压缩的 方法。这种方法将图像光强矩阵(时域信号 )变换到系数空间(频域)上进行处理。 常用的正交变换有 DFT (离散傅氏变换) 、 DCT (离散余弦变换)、 DST (离散正 弦变换)、哈达码变换。 2019年5月14日 星 期二
- 30.4.2 数字图像压缩方法的分类 信息熵编码( Entropy Coding )。根据信息 熵原理,用短的码字表示出现概率大的信息 ,用长的码字表示出现概率小的信息。常见 的方法有哈夫曼编码、游程编码以及算术编 码。 子带编码( Sub-band Coding )。子带编码 将图像数据变换到频域后,按频率分带,然 后用不同的量化器进行量化,从而达到最优 的组合。 2019年5月14日 星 期二
- 31.4.2 数字图像压缩方法的分类 结构编码( Structure Coding ),也称为第二 代编码( Second Generation Coding )。编码 时首先求出图像中的边界、轮廓、纹理等结构 特征参数,然后保存这些参数信息。解码时根 据结构和参数信息进行合成,从而恢复出原图 像。 基于知识的编码( Knowledge-Based Coding ) 。对于人脸等可用规则描述图像,利用人们对 其的知识形成一个规则库,据此将人脸的变化 等特征用一些参数进行描述,从而用参数加上 模型就可以实现人脸的图像编码与解码。 2019年5月14日 星 期二
- 32.4.3 图像数据压缩编码标准 JPEG 是什么 Joint Photographic Experts Group 的 缩写,联合图像专家组 JPEG 标准 静态图像数据压缩标准,用于压缩灰度图像和彩色图 像。两种基本压缩算法: 采用以预测技术为基础的无损压缩算法,压缩比 大约 2 : 1 有损压缩算法:以离散余弦变换 (DCT) 为基础, 在压缩比为 25∶1 的情况下,压缩后还原得到的 图像与原始图像相比,非图像专家难于找出它们 之间的区别 JPEG 格式 2019年5月14日 星 期二 存放使用 JPEG 压缩的图像文件交换格式,以这种格 式存放的图像文件的后缀是 .JPG 或 .JFF 。也称 JFIF
- 33.4.3.1 JPEG 算法概要 JPEG 算法概要 利用视觉系统特性,使用变换、量化和熵 编码相结合的方法,以去掉或减少视觉的 冗余信息和数据本身的冗余信息 JPEG 标准的压缩算法大致分成三个步骤 : 2019年5月14日 星 期二 使用正向离散余弦变换 (FDCT) 把空间域表示 的图变换成频率域表示的图 使用加权函数对 DCT 系数进行量化,加权函 数对人的视觉系统是最佳的 使用霍夫曼编码器对量化系数进行编码
- 34.4.3.1 JPEG 算法概要 8×8 图像块 基于DCT的熵 熵 熵 器 FDCT 量化器 熵熵熵 器 量化表 熵编码表 压缩图像数据 源图像数据 (a) JPEG压缩算法框图 8×8图像块 基于DCT的解码器 压缩图像数据 熵解码器 逆量化器 IDCT 重构图像数据 熵编码表 量化表 (b) JPEG解压缩算法框图 JPEG 压缩 - 解压缩算法框图 2019年5月14日 星 期二
- 35.4.3.1 JPEG 算法概要 JPEG 算法与颜色空间无关 RGB 和 YUV 之间的变换不包含在 JPEG 算法 中 JPEG 算法处理单独的图像彩色分量,因此可 压缩来自不同颜色空间的数据,如 RGB, CMY JPEG 标准文档 2019年5月14日 星 期二 标准号: ISO/IEC IS 10918-1 或 ITU-T Recommendation T.81 标准名: Information technology — Digital compression and coding of continuous-tone still images ( 信息技术 — 连续色调静态图像的数字 压缩和编码 )
- 36.4.3.2 JPEG 算法的主要计算步骤 JPEG 压缩编码算法的主要计算步骤 (1) 正向离散余弦变换 (FDCT) (2) 量化 (quantization) (3) Z 字形编码 (zigzag scan) 。 (4) 使用差分脉冲编码调制 (DPCM) 对直 流系数 (DC) 进行编码 (5) 使用行程长度编码 (RLE) 对交流系数 (AC) 进行编码 (6) 熵编码 (entropy coding) 2019年5月14日 星 期二
- 37.4.3.2 JPEG 算法的主要计算步骤 离散余弦变换 (DCT) discrete cosine transform 的缩写 用余弦函数的离散值构成的变换矩阵对信号的一系列样本值 进行运算的数学变换 Y AXAT X AT YA (2 j 1)i 其中 Aij Ci cos 2N � �Ci 1/ N � Ci 2 / N � (i 0) , (i 0) 特点:变换后,信号的能量不变,但分布会有变化,信号的 能量会集中到少数一些项上,可将能量集中到频率较低的系 数上 2019年5月14日 星 期二
- 38.4.3.2 JPEG 算法的主要计算步骤 为了保证平稳性和相关性,同时也为了减少 运算量,在变换编码中,一般在发送端先将 原始图像分成若干个子像块。 变换块的尺寸不要太小:变换块的尺寸选得太小,不 利于提高压缩比,当 N 小到一定程度时,可能在块与 块之间边界上会存在被称为“边界效应”的不连续点。 变换块的尺寸不要太大:变换块选得大,计入的相关 像素也多,压缩比就会提高,计算也变得更复杂。 结论:一般选择变换块的大小为 8×8 或 16×16 。 2019年5月14日 星 期二
- 39.4.3.2 JPEG 算法的主要计算步骤 将分量图像分成 8×8 的图块 f (i, j ) F (u , v) DCT 离散余弦变换 f(i, j) 实质上是 64 点离散信号(空间范围 i 和 j 的函数) , FDCT 将其变换成 64 个正交基信 号。 FDCT 的输出 F(u,v) 是 f(i, j) 的 64 个 DCT 系数(即基信号振幅)。 2019年5月14日 星 期二
- 40.4.3.2 JPEG 算法的主要计算步骤 DCT 变换使用下式计算 �7 7 1 (2i 1)u (2 j 1)v � F (u, v) C (u )C (v) � f ( i , j ) cos cos � � � 4 16 16 �i 0 j 0 � 逆变换使用下式计算 1 (2i 1)u (2 j 1)v � �7 7 F (i, j ) C (u )C (v) � f (u, v) cos cos � � � 4 16 16 u 0 v 0 � � 其中, C (u ), C (v) = 1/ 2 当 u,v=0 ; C (u ), C (v) 1 其他 2019年5月14日 星 期二
- 41.4.3.2 JPEG 算法的主要计算步骤 二维DCT的计算 将二维DCT变成一维DCT �7 1 (2 j 1)v � G (i, v) C (v) � f (i, j ) cos � � 2 16 j 0 � � 1 (2i 1)u � �7 F (u, v) C (u ) � G (i, v) cos � � 2 16 �i 0 � 当计算精度足颜颜 高颜颜 DCT , 变换不会损失图像质量 f (i, j ) 2019年5月14日 星 期二 垂直方向 8×1 DCT G (i, v ) 水平方向 8×1 DCT F (u , v)
- 42.4.3.2 JPEG 算法的主要计算步骤 图区块 8 DC 低頻 8 中頻 高頻 大部分图像区域中相邻像素的变化很小,所以大部 分图像信号的能量都集中在低频成分,高频成分中 可能有不少数值为 0 或接近 0 值。 2019年5月14日 星 期二
- 43.4.3.2 JPEG 算法的主要计算步骤 DCT 转换的例子 频率域原始资料 : 0: 200 0 0 0 0 0 0 0 1: 0 0 0 0 0 0 0 0 2: 0 0 0 0 0 0 0 0 3: 0 0 0 0 0 0 0 0 4: 0 0 0 0 0 0 0 0 5: 0 0 0 0 0 0 0 0 6: 0 0 0 0 0 0 0 0 7: 0 0 0 0 0 0 0 0 IDCT 转换后的结果 : 0: 153 153 153 153 153 1: 153 153 153 153 153 2: 153 153 153 153 153 3: 153 153 153 153 153 2019年5月14日 星 4: 153 153 153 153 期二 153 153 153 153 153 153 153 153 153 153 153 153 153 153 153 所对照的影像
- 44.4.3.2 JPEG 算法的主要计算步骤 量化 对 FDCT 变换后的 ( 频率的 ) 系数进行量 化 量化目的是降低 非“ 0” 系数的幅度以 及增加“ 0” 值系数的 数目 量化是造成图像质量 下降的最主要原因 量化用右式计算 2019年5月14日 星 期二 量化DCT 系数输出 DCT 系数输入 图 5-4 均匀量化器 F (u , v) ˆ F (u , v) round ( ) Q(u , v)
- 45.4.3.2 JPEG 算法的主要计算步骤 量化步距 按照系数所在的位置和每种颜色分量的色调值来 确定的 因为人眼对亮度信号比对色差信号更敏感,因此 使用两种量化表:如表所示的亮度量化表和色差 量化表 2019年5月14日 星 期二 由于人眼对低频分量的图像比对高频分量的图像更敏 感,因此表中的左上角的量化步距要比右下角的量化 步距小 如果不使用这两种表,用户也可以用自己的量化 表替换它们
- 46.4.3.2 JPEG 算法的主要计算步骤 亮度量化表 色差量化表 16 11 10 16 24 40 51 61 17 18 24 47 99 99 99 99 12 12 14 19 26 58 60 55 18 21 26 66 99 99 99 99 14 13 16 24 40 57 69 56 24 26 56 99 99 99 99 99 14 17 22 29 51 87 80 62 47 66 99 99 99 99 99 99 18 22 37 56 68 109 103 77 99 99 99 99 99 99 99 99 24 35 55 64 81 104 113 92 99 99 99 99 99 99 99 99 49 64 78 87 103 121 120 101 99 99 99 99 99 99 99 99 72 92 95 98 112 100 103 99 99 99 99 99 99 99 99 99 2019年5月14日 星 期二
- 47.4.3.2 JPEG 算法的主要计算步骤 量化实例 2019年5月14日 星 期二
- 48.4.3.2 JPEG 算法的主要计算步骤 Z 字形编排 为增加连续的“ 0” 值系数的个数,即“ 0” 的游程长度 ,如图所示 DCT 系数的序号如图所示,序号小的位置表示频率 较低,把一个 8 8 的矩阵变成一个 1 64 的矢量 DC系数 AC系数开始 量化 DCT 系数的编排 2019年5月14日 星 期二 DCT 系数序号
- 49.4.3.2 JPEG 算法的主要计算步骤 • 系数编码 对 DC 系数采用 DPCM 编码, 63 个 AC 系数 采用行程编码 熵编码:经过 DPCM 编码的直流项和经 过行程编码的交流项再进行霍夫曼编码 或自适应二进制算术编码 2019年5月14日 星 期二
- 50.4.3.2 JPEG 算法的主要计算步骤 2019年5月14日 星 期二
- 51.4.3.2 JPEG 算法的主要计算步骤 游程编码 例如,字符串 5310000000000110000000012000000000000 可 以压缩为 5310-10110-08120-12 游程编码的压缩率不高,但编码、解码的速 度快,仍被得到广泛的应用,特别是在变换 编码后再进行游程编码,有很好的效果。 2019年5月14日 星 期二
- 52.4.3.2 JPEG 算法的主要计算步骤 DPCM 示意图 2019年5月14日 星 期二
- 53.4.3.2 JPEG 算法的主要计算步骤 DPCM 示意图 2019年5月14日 星 期二
- 54.4.3.2 JPEG 算法的主要计算步骤 熵编码 先将 8×8 图像块的 DC 系数和 63 个 AC 系数用中间 符号表示,中间符号由两个符号组成 一个符号是表示数据大小的可变长度码 (variable-length code , VLC) ,用的代码是霍夫曼码 一个符号是直接表达实际幅度的可变长度整数 (variablelength integer , VLI) 由于 DC 系数和 AC 系数的统计特性不同,因此在熵编码 时需要对 DC 系数和 AC 系数分别处理 用霍夫曼编码器 2019年5月14日 星 期二 理由是可用简单的查表 (lookup table) 方法进行编码,这种 可变长度的霍夫曼码表可事先定义 霍夫曼编码器对出现频度比较高的符号分配比较短的代码 ,而对出现频度较低的符号分配比较长的代码
- 55.4.3.2 JPEG 算法的主要计算步骤 熵编码( DC 系数) DC 系数 120 , 18 , 12 , -14 , 20 , -13 DC 差值的中间符号 符号 1 符号 2 SSSS(Size) DIFF(Amplitude) VLC (可变长度码) VLI (可变长度整数) 转换成中间符号:( 7 , 120 )、( 5 , 18 )、 ( 4 , 12 )、( 4 , -14 )、( 5 , 20 )、( 4 , -13 ) 查表得( 11110 , 1111000 )、( 110 , 10010 )、 ( 1110 , 1100 )、( 1110 , 0001 )、( 110 , 10100 )、( 1110 , 0010 ) 2019年5月14日 星 期二
- 56.4.3.2 JPEG 算法的主要计算步骤 熵编码( AC 系数) AC 系数的中间符号 符号 1 符号 2 RRRRSSSS (Run-length, Size) AC 系数 (Amplitude) VLC (可变长度码) VLI (可变长度整数) 例如, AC 系数 zz(11)~zz(29) 都为 0 , zz(30)=3 中间符号就为 15/0 、( 3/2 , 3 ) 查表得 11111111001 、 111110111 11 2019年5月14日 星 期二
- 57.4.3.3 JPEG 压缩和编码举例 假设有一个 8×8 亮度图像块,在它之前的一个 8×8 图像块计算得到的 DC 系数值为 20 ,整个 编码过程说明如下 (1) 在这个例子中,计算正向离散余弦变换 (FDCT) 之前对源图像中的每个样本数据减去了 128 ,在逆向 离散余弦变换之后对重构图像中的每个样本数据加了 128 。 (2) 经过 DCT 变换和量化之后的系数如图 (f) 所示 (3) 经过 Z 字形排列后的系数为 15 , 0 , -2 , 1 , -1 , -1 , 0 , 0 , -1 , 0 ,……, 0 。 (4) DC 系数和 AC 系数的中间符号以及经过编码后的 代码如下所示 2019年5月14日 星 期二
- 58.4.3.3 JPEG 压缩和编码举例 JPEG 压缩编码举例 2019年5月14日 星 期二
- 59.4.4 小波变换编码 4.4.1 小波介绍 4.4.2 小波变换编码 4.4.3 JPEG2000 简介 2019年5月14日 星 期二
- 60.4.4.1 小波介绍 小波 (wavelet) 是什么 在有限时间范围内变化且其平均值为零的数学函数 具有有限的持续时间和突变的频率和振幅 在有限的时间范围内,它的平均值等于零 2019年5月14日 星 期二
- 61.4.4.1 小波介绍 部分小波 许多数缩放函数和小波函数以开发者的名字命名,例如, Moret 小波函数是 Grossmann 和 Morlet 在 1984 年开发的 db6 缩放函数和 db6 小波函数是 Daubechies 开发的 正弦波与小波——部分小波 2019年5月14日 星 期二
- 62.4.4.1 小波介绍 小波变换 对一个函数在空间和时间上进行局部化的一种数学变换 对比傅立叶变换 通过平移母小波 (mother wavelet) 获得信号的时间信息 通过缩放母小波的宽度 ( 或称尺度 ) 获得信号的频率特性 对母小波的平移和缩放操作是为计算小波的系数,这些系数代 表局部信号和小波之间的相互关系 提供了频率域的信息,但丢失了时间域的局部化信息 小波分析中常用的三个基本概念 连续小波变换 离散小波变换 小波重构 2019年5月14日 星 期二
- 63.4.4.1 小波介绍 连续小波变换 (continuous wavelet transform , CWT CWT 的变换过程示例, 可分如下 5 步 1. 2. 3. 4. 5. 小波 ψ (t) 和原始信号 f(t) 的开始部分颜 行比 颜颜 颜 计算系数 C—— 颜 部 分信 号与小波的近似程度; C 颜 越 高表示信号与小波相 似程度越高 小波右移 k 得到的小波函 数为 ψ (t-k) 直到信号颜颜 束 颜展 小波,如 颜颜展一倍,得 颜 颜颜 颜 到的小波函数为 ψ (t/2) , 然后重复步骤 1 ~ 3 对所有缩放,重复步骤 1~4 2019年5月14日 星 期二 连续小波变换的过程
- 64.4.4.1 小波介绍 连续小波变换用下式表示 � C ( scale, position) �f (t ) ( scale, position, t )dt � 该式含义:小波变换是信号 f(t) 与被缩放和平移的小波函数 Ψ 之积在信号存在的整个期间里求和 CWT 变换的结果是许多小波系数 C ,这些系数是缩放因子 (scale) 和位置 (position) 的函数 离散小波变换 (discrete wavelet transform , DWT) 用小波的基函数 (basis functions) 表示一个函数的方法 小波的基函数序列是由单个小波或称为母小波函数通过缩放和 平移得到的 缩放因子和平移参数都选择 2j (j >0 的整数 ) 的倍数,这种变换 称为双尺度小波变换 (dyadic wavelet transform) 2019年5月14日 星 期二
- 65.4.4.1 小波介绍 执行 DWT 的有效方法 用 Mallat 在 1988 年开发的滤波器,称为 Mallat 算法 S 表示原始的输入信号;通过两个互补的滤波器产生 A 和 D 两个信号 双通道滤波过程 2019年5月14日 星 期二 A 表示信号的近似值 (approximations) ,大的缩 放因子产生的系数,表示 信号的低频分量 D 表示信号的细节值 (detail) ,小的缩放因子产 生的系数,表示信号的高 频分量
- 66.4.4.1 小波介绍 注意:在使用颜 波器 颜颜颜颜 真颜 颜 的数字信号 颜颜颜颜颜颜 行颜 颜 颜 颜 , 得到的数据将是原始数据的两倍 例如,如果原始信号的数据样本为 1000 个,通过滤波之后每 一个通道的数据均为 1000 个,总共为 2000 个。于是 , 根据 尼奎斯特 (Nyquist) 采样定理就提出了采用降采样 (downsampling) 的方法,即在每个通道中每两个样本数据中 取一个,得到的离散小波变换的系数 (coefficient) 分别用 cD 和 cA 表示 降采样过程 2019年5月14日 星 期二
- 67.4.4.1 小波介绍 小波重构 重构概念 把分解的系数还原成原始信号的过程叫做小波重 构 (wavelet reconstruction) 或合成 (synthesis) ,数 学上叫做逆离散小波变换 (inverse discrete wavelet transform , IDWT) 两个过程 2019年5月14日 星 期二 在使用滤波器做小波变换时包含滤波和降采样 (downsampling) 两个过程,在小波重构时包含升 采样 (upsampling) 和滤波两个过程
- 68.4.4.1 小波介绍 重构滤波器 滤波器关系到能否重构出满意的原始信号。在信号的分 解期间,降采样会引进畸变,这种畸变叫做混叠 (aliasing) 。这就需要在分解和重构阶段精心选择关系紧 密但不一定一致的滤波器才有可能取消这种混叠 低通分解滤波器 (L) 和 高通分解滤波器 (H) 以 及重构滤波器 (L' 和 H') 构成一个系统,这 个系统叫做正交镜像 滤波器 (quadrature mirror filters , QMF) 系统 2019年5月14日 星 期二 正交镜像滤波器系统
- 69.4.4.1 小波介绍 二维小波变换 2019年5月14日 星 期二 基于二维离散小波变换的图像分解示意图
- 70.4.4.1 小波介绍 2019年5月14日 星 期二
- 71.4.4.1 小波介绍 (a) 原始图像 (c) 1/16 分辨率图像 (b) 1/4 分辨率图像 (d) 1/64 分辨率图像 使用小波分解产生多种分辨率图像 2019年5月14日 星 期二
- 72.4.4.2 小波变换编码 — EZW 算法 EZW 是什么 embedded zerotree wavelet 的缩写 EZW 是多分辨率图像编码算法 Lewis , A. S. 和 Knowles, G. 于 1992 年介绍了表示小波变 换系数的一种树形数据结构; Shapiro, J. M. 于 1993 年将这种树形数据结构称为“零树 (zerotree)” ,并开发了称为嵌入式零树小波 (embedded zerotree wavelet , EZW) 的图像编码算法,用于熵编码 量化 小波变换 EZW中的 Zerotree, Embedding EZW 算法结构 2019年5月14日 星 期二 熵编码
- 73.4.4.2 小波变换编码 — EZW 算法 EZW( 嵌入式零树小波 ) 图像编码 2019年5月14日 星 期二 “ 小波”表示该算法以离散小波变换为基础,以颜 颜后 的大系数比小系数更重要 以及颜 颜 颜 颜 颜 颜 小系数可以忽略颜背 景 “ 零树”表示小波变换系数之间的数据结构,用 颜颜颜颜颜颜颜颜颜颜颜颜颜颜颜颜颜颜颜颜颜 一棵树,如果树根及其子孙的小波系数的绝对值 小于某个给定域值,则这棵树就称为零树 “ 嵌入”表示一幅图像可以分解成一幅低分辨率 图像和分辨率由低到高的许多子图像 按用颜颜颜颜 像分辨率的不同要求, 颜颜 颜颜颜 颜颜颜 颜 EZW 编码器进行多次编码
- 74.4.4.2 小波变换编码 — EZW 算法 标记 小波颜 颜 颜 后的系 颜颜 数、名称和符号,以三级小 波分解为例 图中的数字 1 、 2 和 3 表示 分解的级数编号 LL3 表示第 3 级的低频子图像 HL3 表示第 3 级分解在水平 方向上的子图像 LH3 表示第 3 级分解在垂直 方向上的子图像 HH3 表示第 3 级分解在对角 线方向上的子图像 Lena 三级分解图像 2019年5月14日 星 期二
- 75.4.4.2 小波变换编码 — EZW 算法 系数树 各级子图像中的系数之间 的关系可用树的形式描述 最低频率的子图像在左上 角,最高频率的在右下角 由同一方向和相同空间位 置上的所有小波系数组成 一棵树 (a)构造方法 EZW 编码树的构造 2019年5月14日 星 期二
- 76.4.4.2 小波变换编码 — EZW 算法 按箭头所指的方向,各级系 数的名称分别用祖系数、父 系数、子系数和孙系数来称 呼 例如, LL3 的系数为 {63}, HH2 和 HH1 的系数分别为 {3} 和 {4, 6, 3, -2}, 由这些系数构 成的树见图 (b) 。如果把 {63} 指定颜颜 父系数, 颜 颜 颜 {3} 就称为 子系数,而 {4, 6, 3, -2} 中的 4 个系数就称为孙系数 (b) 小波系数举例 EZW 编码树的构造 2019年5月14日 星 期二
- 77.4.4.2 小波变换编码 — EZW 算法 零树 假设编码开始时的阈值为 T0=32 ,由于 63 比 32 大,这 样的树称为非零树,见图 (a) 假设下次编码时的阈值为 T1=16 ,把 -13 当作父系数, 它的幅度比 16 小,而它的所 有 4 个子系数的幅度都比 16 小,这种树称为零树,见图 (b) ,系数 -13 称为零树根 定义零颜 的目的 颜颜颜 2019年5月14日 星 期二 可用一个预先定义的符号表示, 从而可提高压缩比
- 78.4.4.2 小波变换编码 — EZW 算法 扫描方法 对小波系数进行编码的次序叫做扫描,两种方法 光栅扫描 (raster scan) ,见图 (a) 迂回扫描 (morton scan) ,见图 (b) (a) 光栅扫描 (b) 迂回扫描 小波变换系数扫描方法 2019年5月14日 星 期二
- 79.4.4.2 小波变换编码 — EZW 算法 算法 阈值 T 的选择 初始阈值: T0 2 log 2 (MAX( X i )) x 表示其颜颜颜 其中 , �� 等于或小于 颜颜颜 颜 x 的最大整数 (≤x) MAX(.) 表示最大的系数值, X i 表示小波变换分解到第 i 颜颜的 以后每扫描一次,阈值减少一半 2019年5月14日 星 期二 系数
- 80.4.4.2 小波变换编码 — EZW 算法 给系数分配符号 每一次扫描需执行两种扫描并产生两种输出符 号 2019年5月14日 星 期二 主扫描 (dominant pass) :将小波系数与阈值进行比 较,指定 4 个系数符号之一 。产生系数符号序列
- 81.4.4.2 小波变换编码 — EZW 算法 辅扫描:把主扫描取出的带符号 P 或 N 的系数进行 量化,产生对应量化值的量化符号“ 0” 或“ 1” 在量化系数之前要构造量化器 2019年5月14日 星 期二 量化器的输入间隔为 [Ti-1, 2Ti-1) ,该间隔被 1.5Ti-1 分成两个 部分: [Ti-1 , 1.5Ti-1) 和 [1.5 Ti-1, 2 Ti-1) ,量化间隔为 0.5 Ti-1, 其中 i 为第 i 次编码 量化器的输出为量化符号“ 0” 和“ 1” ,“ 0” 对应量化值为 (1.5-0.25) Ti-1, “1” 对应量化值为 (1.5+0.25) Ti-1 例如,第一次扫描时的阈值 T0=32 ,量化器的间隔就为 [32 , 64) ,该间隔 [32 , 64) 被 48 分成两个相等的部分 : [32 , 48) 和 [48 , 64) ,量化间隔为 16 。对系数进行量 化时,如果幅度在 [32 , 48) 的范围里,该系数的量化值 为“ 0” ,对应的量化值为 (1.5-0.25) T0=40 ;如果幅度在 [48 , 64) 的范围里,该系数的量化符号为“ 1” ,它的量 化值为 (1.5+0.25) T0=56 。
- 82.4.4.2 小波变换编码 — EZW 算法举 例 实例 假设有一幅 8×8 的图像,经过 3 级分解的小波图像 系数见图 (a) ,扫描方式见 (b) (a) 小波图像数据 8×8 小波变换图像 2019年5月14日 星 期二 (b) 迂回扫描
- 83.4.4.2 小波变换编码 — EZW 算法举 例 树结构 上图最低分辨率子图像 ( 即第 3 级 ) 中的每一个系 数在高一级分辨率子图像 ( 即第 2 级 ) 中有 3 个子 系数 (a) 8×8 子图像小波变换系数 (b) 最低频带小波变换系 数树 编码树的结构 (1) 2019年5月14日 星 期二
- 84.4.4.2 小波变换编码 — EZW 算法举 例 在其他子图像中,任何一个系数在高一级分辨率子图像中都 有 4 个子系数与它有关,它们之间构成的树见图 8-12(b) ,图 中只表示了一部分的树 (a) 8×8 子图像系数 (b) 2 级子图像部分系数树 编码树的结构 (2) 2019年5月14日 星 期二
- 85.4.4.2 小波变换编码 — EZW 算法举 例 第 1 次扫描 步骤 1: 最大的系数为 63 ,选择 T=32 0 步骤 2: 指定系数的符号 2019年5月14日 星 期二 存放系数符号的缓存为 D1 每个系数与阈值 32 比较。当系数为符号 T 时,其所有子 孙系数就不再扫描,并用“ ×” 表示 D1 中的系数符号 : P N T T P T T Z T T T T T T T P T T (a) 系数符号和标记 第一次主扫描 (b) 系数量化
- 86.4.4.2 小波变换编码 — EZW 算法举 例 步骤 3: 对带符号 P/N 的系数进行量化 存放量化符号的缓存为 S1 阈值 T0=32 ,大于 32 的 4 个系数为 {63 , 34 , 49 , 47} 用 48 把间隔 [32 , 64) 分成两部分。幅度在 [32 , 48) 中的系数指定其符号为“ 0”, 幅度在 [48 , 64) 中的系数指 定其符号为“ 1” ,这 4 个系数的量化符号见下表 1010 系数 {63-P, 34-N, 49-P, 47-P} 在 S1 中的量化符号: 第一次颜 颜 颜 描量化表 颜颜颜 系数幅度 量化符号 重构幅度 63 1 56 34 0 40 49 1 56 47 0 40 2019年5月14日 星 期二
- 87.4.4.2 小波变换编码 — EZW 算法举 例 步骤 4 :重新排列带 P/N 符号的数据。 为便于设置第二次扫描时所用的量化间隔,以提高解码的 系数精度。把系数集 {63-P, 34-N, 49-P, 47-P} 排列成 {63-P, 49-P, 34-N, 47-P} 步骤 5 :输出编码信息 颜 颜 器颜 颜 颜 颜 出两 颜颜 颜 信息,一 颜 颜颜颜 颜 是颜 颜 解颜 颜 器的系数符号系列等 颜 颜颜 颜颜 颜 信息,另一类是用于下一次扫描的阈值和大于阈值的系数 颜 等 信息。 用于颜 解 颜 颜颜 器的系数符号系列等信息包含三种: 颜 颜颜 颜颜 颜颜颜 颜颜颜 颜颜颜 颜 用于下次扫描的阈值和大于阈值的系数值等信息包含三种 : 2019年5月14日 星 期二 HEADER ( 即 T0=32 ),D1:P N T T P T T Z T T T T T T T P T T “AND”S1:1 0 1 0 T0=32, {63-P, 49-P, 34-N, 47-P} “AND” 子带图像
- 88.4.4.2 小波变换编码 — EZW 算法举 例 解码 EZW 的解码过程是 EZW 编码的逆过程,编 码时扫描多少次,解码时也可以解多少次 解码过程大致分为三个步骤 解码器设置阈值 构造逆量化器 开始解读位流中包含的位置和小波系数值 注意 2019年5月14日 星 期二 解码时用的逆量化器与编码时用的量化器相同, 因此颜 称 颜颜颜 量化器 颜颜 像颜 颜 颜 颜 那颜 颜 ,每次解 颜颜颜颜颜 都需要构造量化器 颜颜颜颜颜颜颜
- 89.4.4.2 小波变换编码 — EZW 算法举 例 第 1 次解码 解码器开始时的阈值 T0=32 ,接收到来自编码器 第一次扫描输出的系数符号为 PNTTPTTZTTTTTTTPTT/ 1 0 1 0 量化符号与系数符号之间有如下的对应关系 D1 P N S1 1 0 2019年5月14日 星 期二 T T P 1 T T Z T T T T T T T P 0 T T
- 90.4.4.2 小波变换编码 — EZW 算法举 例 按照编码时的扫描和量化方法进行解码。 第 1 个系数符号是 P ,对应的量化符号位是“ 1” ,因此第 1 个系数是 56 第 2 个系数符号是 N ,对应的量化符号位是“ 0" ,因此第 2 个系数是 -40 第 3 个系数符号是 T ,在相应的图像系数位置上 用“ 0” 表示它的系数 …… 第一次解码的结果见下图 2019年5月14日 星 期二 用“ 0” 表示的系数已经扫描过,它们对应符号 T 或者 Z 用“ ×” 表示的系数不需要扫描,是零树根的子孙
- 91.4.4.2 小波变换编码 — EZW 算法举 例 在第一次解码之后,解码器需要判断是否要进一步 重构比较精细的图像 如果不需要,则退出解码 如果需要则进入第二次解码 PNTTPTTZTTTTTTTPTT 2019年5月14日 星 期二 第一次解码
- 92.4.4.2 小波变换编码 — EZW 算法举 例 第二次解码 分两步 使用编码器生成的第二次编码时的信息 提高第一次解码时得到的系数精度 求解未解码的系数D2:N P T T T T T T T T T T T T T T T S2 : 1 0 0 1 1 0 下一步确定是否继续进行解码以得到更精细的图像 2019年5月14日 星 期二 如果要退出,则把两次解码的结果合成之后就可退出 如果继续,则进入第三次解码
- 93.4.4.2 小波变换编码 — EZW 算法举 例 第二次解码 2019年5月14日 星 期二
- 94.4.4.3 JPEG 2000 简介 JPEG 2000 是什么 ITU-T SG8 和 ISO/IEC JTC1 SC29 WG1 联合开发 的静态图像压缩编码标准 (ISO 15444) 标准名为“ JPEG 2000: Image Coding System” ,文 件扩展名为 .jp2( 用于 ISO 15444-1) 、 .jpx( 用于 ISO 15444-2) 和 image/jp2( 用于 MIME 类型 ) 2019年5月14日 星 期二
- 95.4.4.3 JPEG 2000 简介 JPEG 2000 的基本结构 JPEG 2000 编码器的方框图如下图所示。首 先对源图像数据进行小波变换,再对变换的 系数进行量化,然后在形成代码流 (codestream) 或称位流 (bitstream) 之前进行 熵 (entropy) 编码。 解码器与编码器正好相反。首先对码流进行 熵解码,然后进行逆量化和逆向变换,最后 重构图像 2019年5月14日 星 期二
- 96.4.4.3 JPEG 2000 简介 源图像数据 (Source Image Data) 正变换 (Forward Transform) 量化 (Quantisation) 熵编码 (Entropy Encoding) (a) 编码器 重构像数据 (Reconstructed Image Data) 逆变换 (Inverse Transform) 逆量化 (Dequantisation) 存储或者传输 (Store or Transmit) 熵解码 (Entropy Decoding) (b) 译码器 JPEG 2000 的基本结构 2019年5月14日 星 期二 压缩图像数据 (Compressed Image Data) 压缩图像数据 (Compressed Image Data)
- 97.4.4.3 JPEG 2000 简介 JPEG 2000 的主要功能 在相同质量的前提下与 JPEG 标准相比, JPEG 2000 标准的压缩比可提高 20% 以上 JPEG 2000 能实现渐进传输 (progressive transmission) 可先传输低分辨率的图像或图像的轮廓,然后逐步传 输其他数据,不断提高图像质量,以满足用户的需要 支持兴趣区 (region of interest, ROI) 的编码 2019年5月14日 星 期二 可指定感兴趣的图像区域,在压缩时对这些图像区指 定特定的压缩质量,这给用户带来了极大的方便。例 如,在有些情况下图像中只有一小块区域对用户是有 用的,对这些区域采用低压缩比,而其他区域采用高 压缩比,在保证不丢失重要信息的同时能有效地压缩 数据量
- 98.END 第 4 章 彩色数字图像 基础