开发者学堂课程【高校精品课-华中科技大学 -智能媒体计算:变换编码(下)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/811/detail/15687
变换编码(下)
内容介绍
一、傅立叶变换
二、课外推荐
三、离散余弦变换-DTC 变换
本章讲述用途最广、同时也是各种变换基础的傅里叶变换。
一、傅立叶变换
1.由来
傅立叶变换是由傅里叶提出的,他是热学的物理学家,在1811年发表热的传导文章。在热的传导的特性推导中提出了傅立叶变换的思想。下图描述了傅立叶变换的基本原理:图中,每个人手中不同频率的正弦波组成一起就可以产生特定的信号。
2.傅立叶变换的内涵
内涵:多个正余弦波叠加就可以用来近似任何一个原始的周期函
数。换言之,任何一个周期性信号都可以用多个正余弦波叠加形成的。下图描述了矩形波是由不同频率的波叠加而成的。
实质:频域函数和时域函数的转换
时域是永远随着时间的变化而变化的
频域是装着正余弦波的空间,理论上是无穷多个
频域空间中,每一条线代表特定频率的正余弦波的幅值。
比如:三角函数,角 A 的 sin 值是 a/c,cos 值是 b/c。
3.傅立叶变换的基本原理
多个正余弦波(蓝色表示)可以近似一个原始的周期信号(红色
表示)。红色表示原始的矩形波,矩形波是通过不同频率的正余弦函数叠加的。
将空间展开可以看出,不同频率和幅值的正余弦波。
每一条线就是特定频率正余弦函数的幅值。
锯值波、三角波的演变,可以看出也是叠加而成的。
由图可知,时域的空间描述的是矩形波。而频域的空间描述的是一系列的不同频率的正弦波,向左投影,变为频域图像上若干条垂直的线,而这些线的高度就是正弦波的幅值,水平轴是频率值。这样我们把时域变化的信号变化为频域,而频域里面是频率和幅值。时域里面是幅值和随着时间的变化而变化的无穷大的量。
4.相位
除了幅值和频率外,要想准确描述频域空间的波,还有一个参数:
相位
相位是对于一个波,特定的时刻在它循环的位置:
一种它是否在波峰、波谷或者它们之间的某点的标度。
相位决定了波的位置。
对于频域分析,仅仅有幅值是不够的,还需要一个相位谱。
相位谱中每一个点就是指它距离它最近的峰值的距离,也就是相位差。若干个相位差画在一个空间里面就组成了相位谱。
相位决定了特定的波在特定时刻的位置,也就是不同频率的波,我们把它的位置确定下来之后,再进行叠加,就可以精确的产生我们特定的信号的波形。理论上,需要无穷多个;实际上,只要达到一定精度后,就采用有限的正余弦波,这就是傅立叶变换的含义。
二、课外推荐
详细的讲解可以参考李永乐老师的傅立叶变换的视频,非常形象生动。
1. 李永乐老师讲解傅立叶变换
https://www.bilibili.com/video/BV1A4411Y7vj?from=search&seid=3973485274726036796
2. 相关书籍
关于信号处理可参考此书:
Steven W. Smith.The Scientist and Engineer 's Guide to DigitalSignal Processing. ( http://wap.dspguide.com/ )
傅里叶变换看不懂,5分钟教你快速理解!
https://baijiahao.baidu.com/s?id=1636833728798493906&wfr=spider&for=pc
在讲任何变换的时候,注意要记住的不是复杂的公式,而是公式背后解释的物理意义。傅里叶变换的本质是我们任意一个周期函数可以用无穷多个正余弦波的叠加而形成。
三、离散余弦变换-DTC 变换
1.概念
离散余弦变换又称,DTC 变换。其中 D 表示 Discrete,C 表示 Cosine,T 表示Transform。
余弦变换是傅里叶变换的一种特殊情况:
在傅立叶级数展开式中,如果被展开的函数是实偶函数,那么,
其傅立叶级数中只包含余弦项。
将其离散化称之为离散余弦变换 DCT ( Discrete Cosine
Transform)。
离散余弦变换广泛应用于傅立叶变换中,因为离散余弦变换具有
很强的"能量集中"特性:
大多数的自然信号(包括声音和图像)的能量都集中在离散余弦变
换后的低频部分。
当信号具有接近马尔科夫过程(Markov processes)的统计特性
时,离散余弦变换的去相关性接近于K-L变换(Karhunen-Loeve变换—最佳变换)的性能。
高频部分描述信号的细节。
2. 总结
主要内容在低频部分已经表现,而高频部分只描述细节。若使用时对细节要求不高时,重点将低频部分描述清楚即可。六分量为低频,交流分量为高频。
3. DCT 变换的特点
离散余弦变换在数字图像数据压缩编码中可与最佳变换K-L变换
媲美。
DCT 压缩性能和误差很接近 K-L 变换
DCT 计算复杂度适中
DCT 有快速变换算法
在图像数据压缩中广泛应用:
JPEG(静态图像,视频图像的帧中)
MPEG
H.26X
4. 图像分块
在变换前,要对图像进行分块,可分为若干个8*8、4*4、2*2的块,分块是为了使块内的相关性更强,同时也便于我们对其进行硬性处理。
5. 二维 DCT 公式
对每个单独的彩色图像分量,把整个分量图像空间分成一个任意
几*几,此处以8×8的图像块为例,并作为二维离散余弦变换 DCT 的输入
通过 DCT 变换,把能量集中在少数几个系数上
(离散余弦变换)
6. 变换公式
(1)正变换(FDCT)
F 表示 forward 向前,表示正向。u,v 分别为幅度和频率,C(u)C(v)则是两个参数。
(公式1)
(2)逆变换(IDCT)
f(i,j)表示的是时域中的,在像素中为像素值和亮度值或色差值。
(公式2)
正变换中自变量为i,j颜色值的分量值,将每个点累加而成。逆变换与之相反,自变量为 u,v。
其中
f(i,j)经过变换后,在变换域中F(0,0)是直流系数,其他为交流系数。
在计算二维的 DCT 变换时,可使用下面的计算公式把两维的 DCT 变换变成一维的DCT 变换,先按照一列列的变换,再将每一列的结果一行行的变换,即把矩阵变为一维的向量进行变换。
(公式3)
(公式4)
如图,先进行垂直方向的变换,再进行水平方向变换。
(二维DCT变换方法)
本章内容到此结束,下章结合 JPEG 图像压缩讲述 DCT 变换前后的区别。