由dct变换想到的
2014-04-11 16:01
197 查看
最近在看图像量化,看到了DCT变换,感觉跟之前的有些东西可以结合起来,于是写了一小段总结。
还是先从最简单的向量说起吧,我们有时希望将一个向量在不同的基底上表示,如果给定基底的话,则求基底的对应系数则转化为一个矩阵方程的格式,以四维为例,
,
F为变换矩阵,(这里也是4维,而且几个向量间是不相关的,矩阵是满秩的,所以方程是必然有解),于是矩阵乘向量也可以理解成为变换基底时对应坐标的变换。
将这个概念拓延到比较熟悉的傅里叶变换(以一维离散为例,连续的后面再另说),信号X的离散值对应右边的a矩阵,变换矩阵F则为
(u=0,1,2,3,N=4)。
左边b矩阵则为对应的变换系数,于是信号离散值可以理解为在DFT变换系数(也就是b)在变换矩阵几个向量基底的系数,然而离散傅里叶变换意义最鲜明的地方在于他的反变换,很明显这里变换矩阵向量不相关,所以存在逆矩阵,在这里,用相似的理解方式,DFT变换系数成了逆矩阵对应基向量(不同频率的信号)的系数,于是最终我们把信号的值表示成了不同频率的信号,这也就是它的意义所在。
在图像处理中,变换矩阵有很多种,常见的DCT变换,K-L变换,从数学意义上来说,我们关注的是离散信号在不同的空间描述中系数的特性,DCT变换系数可以把图像的信息充分压缩到低频段,K-L变换可以降低信号的维度,将信息集中到少部分的系数里。
现在再来看看连续的情况,我觉得连续函数可以看成一个无穷维的向量,它也可以展成系数乘以函数基底累加和的形式,最简单的以泰勒展开为例
n趋近于无穷。
我们求出了f(x)在这样一组基底上的空间的系数,但在这里基底函数之间虽然不相关,但是跟离散不同的是,很难指望用f(x)的值反过来去表示这些系数。可是有意思的是傅里叶变换做到了,能找到这样的函数基确实是件很伟大的事情。至于当中是否别有洞天,可能还需要揣摩,而且这里把函数看成无穷维向量,右边的系数矩阵也是无穷的,离散情况下他们维度应该是相同的,但在无穷的尺度下量级应该如何衡量呢?
还是先从最简单的向量说起吧,我们有时希望将一个向量在不同的基底上表示,如果给定基底的话,则求基底的对应系数则转化为一个矩阵方程的格式,以四维为例,
,
F为变换矩阵,(这里也是4维,而且几个向量间是不相关的,矩阵是满秩的,所以方程是必然有解),于是矩阵乘向量也可以理解成为变换基底时对应坐标的变换。
将这个概念拓延到比较熟悉的傅里叶变换(以一维离散为例,连续的后面再另说),信号X的离散值对应右边的a矩阵,变换矩阵F则为
(u=0,1,2,3,N=4)。
左边b矩阵则为对应的变换系数,于是信号离散值可以理解为在DFT变换系数(也就是b)在变换矩阵几个向量基底的系数,然而离散傅里叶变换意义最鲜明的地方在于他的反变换,很明显这里变换矩阵向量不相关,所以存在逆矩阵,在这里,用相似的理解方式,DFT变换系数成了逆矩阵对应基向量(不同频率的信号)的系数,于是最终我们把信号的值表示成了不同频率的信号,这也就是它的意义所在。
在图像处理中,变换矩阵有很多种,常见的DCT变换,K-L变换,从数学意义上来说,我们关注的是离散信号在不同的空间描述中系数的特性,DCT变换系数可以把图像的信息充分压缩到低频段,K-L变换可以降低信号的维度,将信息集中到少部分的系数里。
现在再来看看连续的情况,我觉得连续函数可以看成一个无穷维的向量,它也可以展成系数乘以函数基底累加和的形式,最简单的以泰勒展开为例
n趋近于无穷。
我们求出了f(x)在这样一组基底上的空间的系数,但在这里基底函数之间虽然不相关,但是跟离散不同的是,很难指望用f(x)的值反过来去表示这些系数。可是有意思的是傅里叶变换做到了,能找到这样的函数基确实是件很伟大的事情。至于当中是否别有洞天,可能还需要揣摩,而且这里把函数看成无穷维向量,右边的系数矩阵也是无穷的,离散情况下他们维度应该是相同的,但在无穷的尺度下量级应该如何衡量呢?
相关文章推荐
- 【opencv】【图像压缩】opencv下的DCT变换压缩图像
- [转] DCT变换、DCT反变换、分块DCT变换
- 基于Python二维离散余弦变换(DCT)及其反变换(IDCT)---程序对比
- dct变换
- H.264中整数DCT变换,量化,反量化,反DCT究竟是如何实现的?(无代码,无真相)
- DCT变换
- DCT变换
- DCT变换、DCT反变换、分块DCT变换
- DCT 变换的一些思考
- x264中的DCT变换 dct-a.asm
- DCT变换的基函数与基图像
- H.264编码之DCT变换公式推导
- JPEG解码:反DCT变换(三)
- DCT变换和量化
- 压缩感知稀疏基之离散余弦变换(DCT)和离散正弦变换(DST)
- DCT变换
- MATLAB DCT变换原理和源码
- DCT变换的学习
- DCT变换及量化的c++实现(基于opencv矩阵运算)
- H.264中整数DCT变换,量化,反量化,反DCT究竟是如何实现的?(无代码,无真相)