变换编码(上)| 学习笔记

简介: 快速学习变换编码(上),介绍了变换编码(上)系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算变换编码(上)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/811/detail/15686


变换编码(上)


内容介绍

一、变换编码的基本原理

二、变换编码压缩数据的原理

三、变换编码的历史及应用


一、变换编码的基本原理

1.变换编码的基本原理

不是直接对空域图像信号编码,而是将空域图像信号映射变换到

另一个正交矢量空间(又叫做变换域或频域)

变换之后就会产生一批变换系数

变换编码是对变换系数进行编码

2. 问题

由此产生一个问题:数字图像信号经过正交变换为什么能够压缩

数据呢?

①流程分析

根据变换流程图,可将其划分为8*8、16*16的块,越高级的编码可将其分的更小,而块越小块内的相关性越大。而对划分完的子块会进行正变换产生一批数据,然后对数据进行滤波去除噪声,即不需要的部分。再对其进行量化,最终进行无损压缩/有损压缩编码。之后通过信道传输至解码,解码先对其进行逆变换(变回若干子块),再对若干子块进行拼接成完整的图像。

流程中的变换是在量化之前,即变换之后再进行量化,而量化的对象是产生的一系列的变换系数。

图片14.png

②举例说明-1

一个最简单的时域三角函数的例子

y(t )=A sin2ntft

当f 从-o到+o改变时,y(t)是一个正弦波

在时域中描述正弦波需要采集许多点,而这些相邻的点相关性大,

导致数据冗余性高。可见y (t)在时域描述,数据之间的相关性大,数据冗余度大。

假如将其变换到频域表示,只需幅值A和频率f 两个参数就足够,

同时A和f无相关性,两者取值无关。由此可去除时域中的相关性。

转换到频域描述,数据相关性大大减少,数据冗余量减少,参数

独立,数据量减少。

③举例说明-2

设有两个相邻的数据样本x1与x2,每个样本采用3位编码,因此

各有23=8个幅度等级,其中两个样本可为图像中相邻的两个点,因为图像见有空间冗余,相邻的像素间有很大的相关性,即亮度和色差值很相近。

两个样本的联合事件,共有8×8=64种可能性,可用二维平面坐

标表示

X1轴与x2轴分别表示相邻两样本可能的幅度等级

图中,x1表示横坐标,x2表示纵坐标,小黑点表示联合概率的64种可能。图像表现相关性为:x1取值小,x2取值也小;x1取值大,x2取值也大,即x2会随着x1的变化而变化,如图中红色椭圆处。

④相关圈

阴影区内45度斜线附近的联合时间出现概率较大,将此阴影区之边界称为相关圈。出现该圈的原因是两者相关性极高,如:蓝天与白云,将点取在蓝天或白云上越是接近,两者的颜色分量值就会十分接近。

信源的相关性愈强,则相关圈愈加扁长或者形象地说,×1与x2

现“水涨船高的紧密关联特性,即x1小x2也小,x1大x2也大。

图片15.png

表示x1和x2需要相同位数,当x1需要3位时,x2也需要三位。同

时因其相关性使得不可以被压缩。可将坐标轴逆时针旋转45°(如图),查看两者关系:在新坐标上,随着y1的变化,y2的变化很小,此时若设置y2取值为3位,则y1的取值只需要1位或2位。

图片16.png

 

二、变换编码压缩数据的原理

变换的目的是为了降低信号之间的相关性,从而去除信号冗余

信号在变换域内相关性小,编码的位数减少。

图像的变换编码从频域的角度减小图像信号的空间相关性,减少

数据量。

变换是变换编码的核心,怎样变才能使得变换后的信号相关性小

是变换的关键。

理论上最理想的变换应使信号在变换域中的样本相互统计独立,

即完全不相关,使其没有任何压缩空间。

实际上一般不可能找到能产生统计独立样本的可逆变换,人们只

能退而要求信号在变换域中的样本相互线性无关

满足上述要求线性无关的变换,称为最佳变换,又称 k-l 变换

ü 实用的变换编码,还要在性能和效率方面综合考虑,既要性能好

又要效率快,因此在实际的变换编码中不得使用各种性能上接近最佳变换的算法

 

三、变换编码的历史及应用

1.历史

n 变换编码已有近30年的历史,技术上比较成熟,理论也比较完备

n 广泛应用于各种图像数据压缩

单色图像、彩色图像

电视帧内图像压缩和帧间图像压缩等

2.变换编码的种类

n 常见的正交变换编码种类如下:

傅立叶(Fourier)变换

沃尔什(Walsh)变换

哈尔(Haar)变换

斜(slant)变换

余弦变换

正弦变换

K-L(Karhunen-Loeve)变换小波变换

相关文章
|
算法 计算机视觉 开发者
镜头边界检测(上)| 学习笔记
快速学习镜头边界检测(上),介绍了镜头边界检测(上)系统机制, 以及在实际应用过程中如何使用。
362 0
镜头边界检测(上)| 学习笔记
|
计算机视觉
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
433 0
数字图像处理实验(七)| 形态学图像处理{生成结构元素strel、腐蚀运算imerode、膨胀运算imdilate、开运算imopen、闭运算imclose}(附代码和实验截图、汉字视力表项目、总结)
|
Web App开发 算法 计算机视觉
变换编码(下)| 学习笔记
快速学习变换编码(下),介绍了变换编码(下)系统机制, 以及在实际应用过程中如何使用。
143 0
变换编码(下)| 学习笔记
|
机器学习/深度学习 算法 计算机视觉
图像特征提取(上)| 学习笔记
快速学习图像特征提取(上),介绍了图像特征提取(上)系统机制, 以及在实际应用过程中如何使用。
203 0
图像特征提取(上)| 学习笔记
|
存储 编解码 图形学
数字图像基础(下)| 学习笔记
快速学习数字图像基础(下),介绍了数字图像基础(下)系统机制, 以及在实际应用过程中如何使用。
522 0
数字图像基础(下)| 学习笔记
|
存储 编解码 算法
数字图像基础(上)| 学习笔记
快速学习数字图像基础(上),介绍了数字图像基础(上)系统机制, 以及在实际应用过程中如何使用。
163 0
数字图像基础(上)| 学习笔记
|
机器学习/深度学习 算法 计算机视觉
镜头边界检测(下)| 学习笔记
快速学习镜头边界检测(下),介绍了镜头边界检测(下)系统机制, 以及在实际应用过程中如何使用。
241 0
镜头边界检测(下)| 学习笔记
|
机器学习/深度学习 开发者
镜头边界检测(中)| 学习笔记
快速学习镜头边界检测(中),介绍了镜头边界检测(中)系统机制, 以及在实际应用过程中如何使用。
267 0
镜头边界检测(中)| 学习笔记
|
存储 编解码 开发者
数字视频基础(上)| 学习笔记
快速学习数字视频基础(上),介绍了数字视频基础(上)系统机制, 以及在实际应用过程中如何使用。
145 0
数字视频基础(上)| 学习笔记
|
存储 编解码 图形学
数字视频基础(下)| 学习笔记
快速学习数字视频基础(下),介绍了数字视频基础(下)系统机制, 以及在实际应用过程中如何使用。
134 0
数字视频基础(下)| 学习笔记