理解JPEG图像压缩算法,DCT变换

DCT算法原理及实现简介 DCT算法原理及实现简介 DCT算法DCT变换的全称是离散余弦变换(Discrete Cosine Transform),离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换,这个离散傅里叶变换是对一个实偶函数进行的。通过数字信号处理的学习我们知道实函数的傅立叶变换获得的频谱大多是复数,而偶函数的傅立叶变换结果是实函数。以此为基础,使信号函数成为偶函数,去掉频谱函数的虚部,是余弦变换的... 阅读详情

理解JEPG原理

JEPG不是一种文件格式,而是一类图像压缩算法.

1.彩色图像

灰度图像

灰度,一个pixel取值0-255.
这里写图片描述

彩色图像

需要比灰度图像更多的存储空间, 事实上, 所有颜色都可以用红绿蓝三原色的组合表示, 彩色图像可用RGB三通道表示.

这里写图片描述

YCbCr

研究发现对于图像压缩, RGB的表示不是最佳的.

人脑对亮度(luminance)和色差(chrominance)的微小变化不敏感. YCbCr用一层亮度和两层色差表示RGB图像. Y是亮度通道, Cb和Cr是色差通道.

RGB转YCbCr是这样定义的,对一个 (r,g,b) ( r , g , b ) 元组, 先归一化 (r,g,b)=(r/255,g/255,b/255) ( r ′ , g ′ , b ′ ) = ( r / 255 , g / 255 , b / 255 ) .

通过一下公式得到亮度值 y: y :

y=0.299r+0.587g+0.114b y = 0.299 r ′ + 0.587 g ′ + 0.114 b ′

色差通道通过计算red和blue两颜色通道和参照通道 y y 的差得到:
Cb=(by)/1.772

Cr=(ry)/1.402 C r = ( r ′ − y ) / 1.402

1.772和1.402做分母使Cb和Cr都落在区间 [1/2,1/2] [ − 1 / 2 , 1 / 2 ] .
最后一步, 为了显示将三通道缩放到 [0,255] [ 0 , 255 ] ,并取整:
Y=round(219y+16) Y = r o u n d ( 219 y + 16 )

Cb=round(224Cb+128) C b = r o u n d ( 224 C b + 128 )

Cr=round(224Cr+128) C r = r o u n d ( 224 C r + 128 )

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

2.JPEG算法

JPEG不是一种文件格式,而是一类图像压缩算法, 下面我介绍的是JPEG2000,最基础的算法,可以帮助理解整个过程.

首先说一下怎么理解图像压缩, 以huffman编码为例, 对图像每个byte做频率统计, 构造huffman树重新编码, 以减小编码长度. 但是, 直接对图像做huffman编码的压缩并不好, 因为需要对256个像素值都编码, 码长不会显著减小.

如果能将图像变换到一个含有比较少的不同值的空间中, huffman编码效果将会显著提升. 这就是jpeg的核心思想.

2.1 预处理

先将RGB转成YCbCr, 然后把这三层当作灰度图像看就行, 操作是一样的.

然后, 将图像切割成一堆 8×8 8 × 8 的块.

这里写图片描述
所有操作都是独立对这样每一个 8×8 8 × 8 的小块做的.

2.2 DCT变换

考虑一个 8×8 8 × 8 的块, 这个块在原图像中所占的比例是非常小的, 在大部分情况下, 这个块中pixel数值变化是很平滑的. 打个比方,一个块正好罩在一面墙壁上, 这块的pixel值在79-81之间变化, 若要用cos函数的组合去拟合这段离散的数值, 这些函数的频率会很高.

这些变化也被称为高频信息, 而人眼对高频信息不敏感, 对低频信息比较敏感. 如果一个块罩在墙和背景交界的地方, 块的pixel数值会出现不平滑的变化,跨度很大, 这时要用函数组合去拟合这段离散数值时, 就会出现低频.

因此, 再结合图像压缩的核心思想, 用较少的不同数值来表示图像, 就需要找到一种变换, 将图像高频的信息和低频的信息区分开来, 并将人眼不敏感的低频信息映射到接近或等于0.

JPEG用的就是DCT(Discrete Cosine Transformation), 下面就是DCT矩阵, 任何 8×8 8 × 8 块都可以用DCT矩阵表示.

U=1222cosπ16cos2π16cos3π16cos4π16cos5π16cos6π16cos7π1622cos3π16cos6π16cos9π16cos12π16cos15π16cos18π16cos21π1622cos5π16cos10π16cos15π16cos20π16cos25π16cos30π16cos35π1622cos7π16cos14π16cos21π16cos28π16cos35π16cos42π16cos49π1622cos9π16cos18π16cos27π16cos36π16cos45π16cos54π16cos63π1622cos11π16cos22π16cos33π16cos44π16cos55π16cos66π16cos77π1622cos13π16cos26π16cos39π16cos52π16cos65π16cos78π16cos91π1622cos15π16cos30π16cos45π16cos60π16cos75π16cos90π16cos105π16 U = 1 2 [ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 cos ⁡ π 16 cos ⁡ 3 π 16 cos ⁡ 5 π 16 cos ⁡ 7 π 16 cos ⁡ 9 π 16 cos ⁡ 11 π 16 cos ⁡ 13 π 16 cos ⁡ 15 π 16 cos ⁡ 2 π 16 cos ⁡ 6 π 16 cos ⁡ 10 π 16 cos ⁡ 14 π 16 cos ⁡ 18 π 16 cos ⁡ 22 π 16 cos ⁡ 26 π 16 cos ⁡ 30 π 16 cos ⁡ 3 π 16 cos ⁡ 9 π 16 cos ⁡ 15 π 16 cos ⁡ 21 π 16 cos ⁡ 27 π 16 cos ⁡ 33 π 16 cos ⁡ 39 π 16 cos ⁡ 45 π 16 cos ⁡ 4 π 16 cos ⁡ 12 π 16 cos ⁡ 20 π 16 cos ⁡ 28 π 16 cos ⁡ 36 π 16 cos ⁡ 44 π 16 cos ⁡ 52 π 16 cos ⁡ 60 π 16 cos ⁡ 5 π 16 cos ⁡ 15 π 16 cos ⁡ 25 π 16 cos ⁡ 35 π 16 cos ⁡ 45 π 16 cos ⁡ 55 π 16 cos ⁡ 65 π 16 cos ⁡ 75 π 16 cos ⁡ 6 π 16 cos ⁡ 18 π 16 cos ⁡ 30 π 16 cos ⁡ 42 π 16 cos ⁡ 54 π 16 cos ⁡ 66 π 16 cos ⁡ 78 π 16 cos ⁡ 90 π 16 cos ⁡ 7 π 16 cos ⁡ 21 π 16 cos ⁡ 35 π 16 cos ⁡ 49 π 16 cos ⁡ 63 π 16 cos ⁡ 77 π 16 cos ⁡ 91 π 16 cos ⁡ 105 π 16 ]

DCT每一行图示

row0是常数, 可以看出每行频率逐渐增加.

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
仔细看上图, 可以发现每个图橙色的点高度和为0. 这意味着, 对于一个constant vector(向量中每个数相同), 和row 1-7任意一个点乘的结果都是0, 而对近似constant vector点乘的结果接近0.(这就达到了将高频信息转换到接近0的效果)

DCT变换作用在 8×8 8 × 8 矩阵A上表现为 B=UAUT B = U A U T . 首先计算 C=UA C = U A , 若A是一个平滑的矩阵(near-constant), C C 往下会出现许多元素接近或等于0. 最终结果B=CUT, 将 U U 转制之后, 原来的row变成了column, 类似的, B往右会出现许多元素接近或等于0. 总的来看, DCT会将信息往左上角聚拢, 而剩下的信息都是接近或等于0的.

示例

下面是一个 8×8 8 × 8 矩阵 A A 只包含值100.

A=[100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100100]

DCT得到 B=UAUT B = U A U T .

B=800000000000000000000000000000000000000000000000000000000000000000 B = [ 800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]

可以看到整个块的信息除了 (1,1) ( 1 , 1 ) 位置都被变换为0. 再看另一个例子, 下面的矩阵 A A 只包含值50-52(near-constant), 对于图像来说,是平滑的一块, 包含的是高频信息.

A=[51525150505250525152515150525251505051525251515151505050525050515150505150505150505152525150505051525150525052505051525250515251]

经过DCT变换(保留小数点后三位), 也可以发现除了左上角407,其他的值都接近0.

B=4070.3521.9040.6611.0.2290.0230.1100.0580.6540.1161.3500.3350.1620.1730.3830.5181.0191.0.6891.1710.1151.7070.1050.5920.8180.5980.0550.1020.7111.5290.4700.50.1792.1740.4250.50.9560.6300.0050.1181.0740.3520.5990.0201.9020.1090.5680.5971.1900.2930.2540.8680.1081.0.4700.0861.1941.0060.4120.5021.4540.6030.111 B = [ 407 0.058 − 0.518 − 0.592 − 0.5 0.118 − 0.597 0.086 0.352 − 0.654 1.019 0.818 0.179 − 1.074 1.190 − 1.194 1.904 − 0.116 1. − 0.598 − 2.174 − 0.352 0.293 − 1.006 − 0.661 1.350 0.689 − 0.055 − 0.425 − 0.599 0.254 − 0.412 − 1. − 0.335 1.171 0.102 0.5 − 0.020 0.868 − 0.502 − 0.229 0.162 0.115 0.711 0.956 − 1.902 − 0.108 1.454 0.023 − 0.173 − 1.707 − 1.529 0.630 0.109 1. − 0.603 − 0.110 − 0.383 0.105 0.470 0.005 0.568 − 0.470 0.111 ]

DCT特点
  1. DCT 矩阵 U U 是可逆的, 同时 U是正交的, 有UT=U1.证明
  2. DCT计算 B=UAUT B = U A U T , 这是个相似变换. 可以通过FFT(Fast Fourier Transformation)加速.

2.3 Quantization量化

上一节看到, DCT矩阵是无理数组成的, 而输入矩阵是整数, 输出矩阵一般为实数. 而接下来的编码最好是作用在整数域. 所以JPEG有一步量化.

下面走一下JPEG流程来说明量化的工作机制. 给出一个经过预处理(-127)的block.

A=12212112294119647678494940522312280746631454253256484414510547512612212241353112245335357435066122701564434041188616384138248751421212253 A = [ − 122 49 66 41 41 43 40 38 − 121 49 31 45 35 50 41 24 − 122 40 45 105 31 − 66 18 87 − 94 52 42 47 − 122 − 122 8 51 − 119 − 23 53 51 45 70 61 42 − 64 − 122 − 25 − 26 33 15 6 12 − 76 − 80 − 64 − 122 53 64 38 − 122 − 78 − 74 − 84 − 122 57 43 41 − 53 ]

经过DCT变换(保留小数点后两位).

B=27.50168.2327.2030.1819.5070.5912.0871.15213.4751.6131.2443.078.4666.8819.1338.37149.6121.5432.2850.4733.5947.446.2575.9295.28239.52173.3967.1353.1132.6155.1629.29103.758.2451.1414.1236.758.2085.5916.4546.9524.5056.9411.142.9218.130.6023.4458.7252.664.0071.015.8022.998.034.2127.2396.6249.1418.0418.396.6311.2115.62 B = [ − 27.50 − 213.47 − 149.61 − 95.28 − 103.75 − 46.95 − 58.72 27.23 168.23 51.61 − 21.54 − 239.52 − 8.24 − 24.50 − 52.66 − 96.62 − 27.20 − 31.24 − 32.28 173.39 − 51.14 − 56.94 4.00 49.14 30.18 − 43.07 − 50.47 67.13 − 14.12 11.14 71.01 18.04 19.50 8.46 33.59 − 53.11 − 36.75 2.92 − 5.80 − 18.39 − 70.59 66.88 47.44 − 32.61 − 8.20 18.13 − 22.99 6.63 12.08 − 19.13 6.25 − 55.16 85.59 − 0.60 8.03 11.21 71.15 − 38.37 − 75.92 29.29 − 16.45 − 23.44 − 4.21 15.62 ]

为了量化block B B , JPEG用一个预设的表Z去除 B B (element-wise division)然后取整.

这个矩阵Z也体现了JPEG压缩的特点, 左上角的信息压缩的程度小, 右下角的信息压缩的程度大.通过缩放矩阵 Z Z ,达到控制压缩程度.

Z=[1611101624405161121214192658605514131624405769561417222951878062182237566810910377243555648110411392496478871031211201017292959811210010399]

得到一个新矩阵 Q Q , 其中qjk=round(bjk/zjk) for j,k=1,...,8 j , k = 1 , . . . , 8 .
Q=21422130119423020015222110161372111040101010101000001101000002100000 Q = [ − 2 − 19 − 15 − 6 − 4 − 1 − 1 0 14 4 − 2 − 13 0 0 − 1 − 2 − 2 − 2 − 2 7 − 1 − 1 0 1 2 − 3 − 2 2 0 0 1 0 1 0 1 − 1 − 1 0 0 0 − 3 2 1 − 1 0 0 0 0 0 0 0 − 1 1 0 0 0 1 0 − 1 0 0 0 0 0 ]

因为有取整的操作, JPEG是有损的压缩

逆转过程

要逆转过程, 重新得到原来的block A A ,只需先反转除法, 得到B, 其中 bjk=qjk×zjk b j k ′ = q j k × z j k . 注意到 B B ′ B B 的值是有一点不同的(lossy).

B=[322091509696405101684828247006011028263216840570562851445800800180375668000727055640000000871030007209500000]

然后作用inverse DCT, A=UTBU A ′ = U T B ′ U .下面对比一下原图像 A A 和恢复的A,可以看出JPEG有损的特点了.

A=12811011510511667677845394051241187969714504356476080634815218632411613822411312633304963326888998017694122654196212124952137660282910867 A ′ = [ − 128 45 71 63 22 32 22 52 − 110 39 4 48 41 68 65 13 − 115 40 50 152 13 − 88 − 4 76 − 105 51 43 18 − 126 − 99 19 60 − 116 − 24 56 63 33 80 62 28 − 67 − 118 − 47 − 24 30 17 − 12 29 − 67 − 79 − 60 − 116 49 69 12 − 108 − 78 − 69 − 80 − 138 63 41 49 − 67 ]

A=12212112294119647678494940522312280746631454253256484414510547512612212241353112245335357435066122701564434041188616384138248751421212253 A = [ − 122 49 66 41 41 43 40 38 − 121 49 31 45 35 50 41 24 − 122 40 45 105 31 − 66 18 87 − 94 52 42 47 − 122 − 122 8 51 − 119 − 23 53 51 45 70 61 42 − 64 − 122 − 25 − 26 33 15 6 12 − 76 − 80 − 64 − 122 53 64 38 − 122 − 78 − 74 − 84 − 122 57 43 41 − 53 ]

2.4 编码

JPEG最后一步是对变换,量化后的图像进行编码. 用huffman编码或者其他编码方式, 可以显著节省存储空间.

3. 参考

  1. Basic JEPG
  2. The Discrete Cosine Transformation
  3. Quantization
  4. comupterphile jpeg系列
图像处理中的DCT变换 其基本原理就是增强高频信息(与去噪相反),最简单的方法就是对高频信息乘以一个大于1的数。图像去噪是利用噪声在DCT图像中的分布特性(噪声一般为高频信息,DCT变换后频谱的右下角),基本的方法就是去除DCT变换图像的右下角信息,类似图像压缩图像压缩是利用人眼对低频信息比较敏感和对高频信息比较不敏感的原理,对DCT变换后的图像,去除部分高频信息,让人眼察觉不到改变,从而实现压缩。目前DCT变换广泛应用于图像处理中,主要是由于其频谱特性决定的,如下图所示,低频主要集中于左上角,高频集中于右下角。 阅读详情

相关推荐

基于MATLAB的余弦变换和霍夫曼编码JPEG压缩与解压

霍夫曼编码是一种将出现频率最高的符号用较短的比特串表示,而将出现频率较低的符号用较长的比特串表示的编码方法。在JPEG压缩中,图像首先会进行离散余弦变换DCT),然后将变换系数量化,并应用霍夫曼编码器对其进行压缩。在JPEG压缩中,采用了一种固定的量化表,它将系数矩阵中的每个元素除以相应的量化因子,并四舍五入到最接近的整数。离散余弦变换是一种将图像从空间域转换到频域的技术,它将图像表示为若干个余弦函数的加权和。在MATLAB中,我们可以利用idct2函数对量化系数进行逆离散余弦变换,还原压缩前的图像

2301_78484069的博客 311

jpeg2dct

直接来自JPEG的更快的神经网络:jpeg2dct子例程 该存储库包含源代码,这些源代码可用于再现 (ICLR workshop 2018)中提出的结果: @inproceedings{gueguen_2018_ICLR title={Faster Neural Networks Straight from JPEG}, author={Lionel Gueguen and Alex Sergeev and Ben Kadlec and Rosanne Liu and Jason Yosinski}, booktitle={International Conference on Learning Representations}, year={2018} } jpeg2dct子例程 jpeg2dct库提供了本机Python函数和TensorFlow运算符,可从JPEG格式

深入了解JPEG图像压缩算法及其实现

JPEG压缩算法是数字图像处理领域中的一项重要技术,主要用于减少图像文件的大小,而不显著降低图像质量。通过有损压缩方式,JPEG能够有效地将图片数据量减少到原始大小的几分之一,同时尽可能保持视觉上的质量。这种压缩技术特别适合用于需要节省存储空间和网络传输带宽的场合。

weixin_42613360的博客 1100

DCT变换

DCT变换 1.DCT变换公式及其性质 傅里叶变换表明,任何信号都能表示为多个不同振幅和频率的正弦或者余弦信号的叠加。如果采用的是余弦函数,则信号分解过程称为余弦变换;若输入信号是离散的,则称之为离散余弦变换(Discrete Cosine Transform,DCT)。数学上共存在8种类型的DCT。公式如下: ​ 其中,在图像视频领域中,最常用的是DCT-Ⅱ,平常说的DCT一般指的是...

BigDream123的博客 3万+

图片压缩知识

运动图像(视频)一般为位于一时间轴区间的一组连续画面,其中的相邻帧往往包含相同的背景和移动物体,只不过移动物体所在的空间位置略有不同,所以后一帧的数据与前一帧的数据有许多共同的地方,这种共同性是由于相邻帧记录了相邻时刻的同一场景画面,所以称为时间冗余。由于图像中表示颜色的数据出现的概率不同,对于出现频率高的赋(编)予较短字长的码,对出现频率小的编于较长字长的码,从而减少总的代码量,但不减少总的信息量。例如,人类视觉的一般分辨能力为26灰度等级,而一般的图像的量化采用的是28灰度等级,即存在视觉冗余。

gghhb12的博客 1万+

C++实现JPEG图像压缩算法详解与实战

在数字图像处理领域,JPEG(Joint Photographic Experts Group)作为一种广泛采用的有损压缩标准,凭借其高效的图像压缩能力,被广泛应用于数码相机、网页图像、移动设备等多种场景。其核心思想是通过去除图像中人眼感知不敏感的信息,从而实现数据量的显著减少。JPEG压缩的基本流程包括颜色空间转换、图像分块、离散余弦变换DCT)、量化、熵编码等多个步骤。这些步骤有机结合,实现了在保持视觉质量的同时,显著减少图像文件体积的目标。

weixin_33557333的博客 866

【python】《多媒体技术与应用》实验报告「数字图像压缩」「傅里叶变换

实验目的 理解图像压缩的主要原则和目的,理解有损和无损压缩的概念; 了解几种常用的图像压缩编码方法; 利用 Python 进行图像压缩算法验证。 求 RGB 彩色空间各个通道,彩色空间转换(RGB-HSI),信号的傅里叶变换,图像的傅里叶变换,基于频域滤波的图像压缩,JPEG压缩算法中的DCT部分.

Khalil三省的博客妙妙屋 2991

基于JPEG压缩编码的数据压缩算法的研究与实现

JPEG压缩方法由于其较高的压缩比和理想的压缩效果,是目前应用最广泛的图像压缩方法。它采用一种特殊的有损压缩算法,将不易被人眼察觉 的图像颜色删除,从而能够将图像压缩在很小的储存空间。JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高的压缩率的同时能展现 十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。 本文对JPEG图像压缩方法进行了基本...

datoplay 1507

经典图像压缩算法Matlab实现合集

虽然标准表适用于多数场景,但在特定应用中(如医学影像或遥感图像),可能需要自定义量化策略。一种常见优化思路是基于局部图像活动度(Activity Level)动态调整量化步长:% 输入:8x8图像块% 输出:自适应量化矩阵% 用方差衡量纹理活跃度% 平坦区域,精细量化else% 纹理区,粗略量化end% 添加频率梯度endendend逻辑解析:利用std2()计算块内方差作为活动度指标。若方差小,说明区域平坦,应减少量化强度以防止出现“马赛克”伪影。

weixin_35987118的博客 1061

Matlab学习11-图像处理之图像变换

matlab图像变换,傅里叶变换快速卷积、压缩算法

CHengYuP的博客 1170

基于DCT变换JPEG图像压缩原理

众所周知,当今人类社会具有三大支柱,即物质、能量、信息。当下已由物质过渡到信息,从农业现代化到工业现代化,再到当今的信息化时代。信息具有通用性、抽象性、无限性。其通用性表现在信息的无所不在和无时不在特点上;抽象性表现在信息不是一个具体的物理物质,没有重量,没有长度;而无限性表现在物质的不可分性,也可以理解为通信网络发展的不可预测,以及电话线模式的不断发展,

lxj_bsplee的专栏 3万+

图像压缩算法

GAN属于神经网络的一种,它使用两个神经网络彼此竞争的方式来产生更精确的分析和预测。LZMA算法,全称是Lempel-Ziv Markov chain Algorithm(LZMA),于1998年提出,是LZ77的改进版,旨在实现.7z格式的7-ZIp文件归档。这个算法目标是成为LZ77的一个线性时间替换算法,但编码后Udell指针可能指向文件的任意偏移量,意味着需要耗费可观的内存,因此表现不如LZ77。当然,如果这些算法都不适用于你的场景,你可以查看这篇文章来寻找适合你场景的算法 whaosoft

whaosoft143ai的博客 4487

DCT笔记】DCT变换DCT变换、分块DCT变换

DCT变换DCT变换、分块DCT变换 欢迎转载,但请注明出处! 一、引言 DCT变换的全称是离散余弦变换(Discrete Cosine Transform),主要用于将数据或图像的压缩,能够将空域的信号转换到频域上,具有良好的去相关性的性能。DCT变换本身是无损的,但是在图像编码等领域给接下来的量化、哈弗曼编码等创造了很好的条件,同时,由于DCT变换时对称的,所...

weixin_30609331的博客 1万+

JPEG图像压缩探索_DCT变换的应用

对于图像处理来说,细节部分一般具有亮度起伏大、较短的尺度下亮度变化次数多的特点,转换为数学方式的描述,就是图像细节部分一般为“高频信号”,因此,如果能使用“分频器”,把图像的“时域信号”转化为“频域信号”,即可实现筛选走一部分高频信号,只保留高频信号,使得表达图像时需要的空间减少。

轮子初级玩家 3756

DCT变换 / DWT变换 ----课堂笔记

之前也学过,但没有个具体总结,忘差不多了。 一、 DCT变换的全称是离散余弦变换DCT),主要用于数据或者图像的压缩,由于DCT能够将空域的信号转换到频域上,因此具有良好的去相关性的性能。DCT变换本身是无损的且具有对称性。对原始图像进行离散余弦变换变换DCT系数能量主要集中在左上角,其余大部分系数接近于零。将变换后的DCT系数进行门限操作,将小于一定值系数归零,这就是图像压缩中的量化...

yamgyutou的博客 1万+

DCT离散余弦变换原理与应用讲解

DCT离散余弦变换原理与应用

世界那么大,我想去看看~【随心更新,看世界去了😄】 9982

离散余弦变换DCT

通过研究发现,DCT除了具有一般的正交变换性质外,其变换阵的基向量很近似于Toeplitz矩阵的特征向量,后者体现了人类的语言、图像信号的相关特性。因此,在对语音、图像信号变换的确定的变换矩阵正交变换中,DCT变换被认为是一种准最佳变换。在近年颁布的一系列视频压缩编码的国际标准建议中,都把 DCT 作为其中的一个基本处理模块。

Barbara‘s Blog 1万+
上一篇: word2vec: 理解nnlm, cbow, skip-gram
下一篇: 对抗样本:知其然,知其所以然
nemoyy
博客等级 码龄11年 47粉丝 52原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值