白话文理解DCT离散余弦变换
DCT全称为Discrete Cosine Transform,即离散余弦变换。DCT变换属于傅里叶变换的一种,常用于对信号和图像(包括图片和视频)进行数据压缩的基础。
在视频压缩历史上重要的发明之一就是DCT。没有DCT,后面的H.26X, JPEG等一系列压缩标准将无从谈起。
DCT有比较复杂的数学公式,我们这里仅做简单理解:
如下图,下图是个一张图中的一部分(3*3的像素块)

对这个像素矩阵做DCT,相当于将矩阵的能量压缩到第一个元素中,被称为直流(DC)系数。其余的系数被称为交流(AC)系数。这意味着输出的二维DCT的左上角被称为DC系数。它是DCT最重要的输出,包含了很多关于原始图像的信息。其余的系数被称为交流系数(AC coefficients)。如果你使用DCT对图像进行转换,AC系数包含了图像的更多细节。同时,如果把这些DCT系数应用于反向的2D-DCT,将得到原始系数。DCT本身并不会压缩数据,它为随后的量化之类的操作,提供了一个良好的基础。
相当于把除了第一个格的部分信息(特征)都抽取了一部分到第一个格
第一个格的像素值就是这个图像块的低频信息,其余格的就是图像的高频信息
低频信息表示的是一张图的总体样貌。一般低频系数的值也比较大。而高频信息主要表示的是图像中人物或物体细节。高频系数的数量多,做完了 DCT 变换之后,低频和高频信息就分离开来了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库