0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

你们知道DCT究竟有多重要吗

讯维官方公众号 ? 来源:LiveVideoStack ? 作者:ALex、赵军 ? 2021-08-16 17:55 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Nasir Ahmed

声影传奇

#003#

前段时间,LiveVideoStack发布了一篇文章《视频压缩简史:从1920到2020》,这篇文章获得了很高的阅读量,文章中记录了一个又一个视频压缩历史上的里程碑事件,而其中最引人注目,也最重要的发明之一就是DCT。没有DCT,后面的H.26X, JPEG等一系列压缩标准将无从谈起。

什么是DCT?

随着现代人越来越依赖计算机,需要传输的数据数量和种类也越来越多,比如我们经常分享给别人的照片和视频。如何在不丢失主要信息的情况下,缩减数据量,提升存储空间,从而提高传输效率,降低传输成本呢?

数据压缩技术登场了。数据压缩分为无损压缩和有损压缩。无损压缩是指数据在解压缩时可以100%被恢复,而有损压缩(常用于声音、图片和视频的压缩)在解压缩的过程中会舍弃一部分数据,达到相对较高的压缩比,同时图像质量也会有所下降。但显而易见,有损压缩可以大大压缩文件数据,节省磁盘空间,并提高传输效率。

而有损压缩的核心之一就是DCT。

DCT全称为Discrete Cosine Transform,即离散余弦变换。DCT变换属于傅里叶变换的一种,常用于对信号和图像(包括图片和视频)进行有损数据压缩。

DCT将图像分成由不同频率组成的小块,然后进行量化。在量化过程中,舍弃高频分量,剩下的低频分量被保存下来用于后面的图像重建。

简单介绍一下整个图像压缩过程:

将图像分解为8*8的图像块

将表示像素的RGB系统转换成YUV系统

然后从左至右,从上至下对每个图像块做DCT变换,舍弃高频分量,保留低频分量

对余下的图像块进行量化压缩,由压缩后的数据所组成的图像大大缩减了存储空间

解压缩时对每个图像块做DCT反转换(IDCT),然后重建一幅完整的图像

由于舍弃了某些频率的图像,所以最终呈现出来的图像清晰度会有差异。

可以看到,压缩后的图像比原始图像模糊一些,但图像的主要特征仍然可以识别。

本质上,离散余弦变换需要一组N个相关(相似)的数据点,变换之后,返回N个去相关(不相似)的数据点(系数),其特点是能量被压缩在仅有的M个系数中,其中M《N。

技术文献中通常这样描述DCT,说它具备去相关性和能量集中的特性,初看可能稍有点难以理解。其中,DCT将矩阵的能量压缩到第一个元素中,被称为直流(DC)系数。其余的系数被称为交流(AC)系数。

这意味着输出的二维DCT的左上角被称为DC系数。它是DCT最重要的输出,包含了很多关于原始图像的信息。其余的系数被称为交流系数(AC coefficients)。如果你使用DCT对图像进行转换,AC系数包含了图像的更多细节。同时,如果把这些DCT系数应用于反向的2D-DCT,将得到原始系数。DCT本身并不会压缩数据,它为随后的量化之类的操作,提供了一个良好的基础。

DCT是谁发明的?

第一个提出DCT的人是Nasir Ahmed。

1940年,Nasir出生于印度的班加罗尔,并在那里完成了电机工程的本科学业。随后,他来到美国求学。在新墨西哥大学,他获得了电子和计算机工程专业的硕士和博士学位。

1966~1968年,Nasir就职于霍尼韦尔公司,之后在堪萨斯州立大学开始了他的教学生涯。1984年,他成为新墨西哥大学电子和计算机工程专业的教授,并一直留在那里任教,直到2001年退休。他现在是新墨西哥大学的荣誉退休教授。

在任教期间,Nasir同时还是桑迪亚国家实验室的顾问(1976~1990),这所实验室归属于霍尼韦尔公司,专注于与大学和公司合作进行科技创新。

DCT是Nasir一生中最重要的成就。

20世纪70年代中期,Nasir在堪萨斯州立大学带领一组研究人员开发了DCT技术。

DCT是世界上应用最广泛的数据压缩转换技术,同时也是大多数数字媒体标准(图像、视频和音频)的基础。

DCT是如何被创造出来的?

在上世纪60~70年代,关于数字正交变换及其在图像数据压缩中应用的研究层出不穷。许多变换声称与其他变换相比具有更好的性能,但这些对比全部是建立在定性比较的基础上,即查看一组使用变换编码技术进行数据压缩的“标准”图像。

同一时期,在定量比较方面取得了重要进展。方差准则(variance criterion)和率失真标准(rate distortion criterion)被开发出来并广泛用于评估图像数据压缩的性能指标。此外,KLT(Karhunen-Loeve transform,K-L变换)一跃成为用作比较目的的最优变换。

正是在这样的技术背景下,Nasir才能开始着手解决DCT问题。

Nasir发现,KLT确实是基于均方误差准则和一阶马尔科夫模型的最佳变换,但是却缺少有效算法来计算它。于是,如何有效计算 KLT 的最佳近似值成为了他的研究重点。

他当时想到一种值得研究的方法——切比雪夫插值。1972年,他将这一想法写成一份提案,提交给了美国国家科学基金会(NSF),希望获得该基金会的资助。在提案中,Nasir提出使用切比雪夫多项式来研究“余弦变换”——也就是后来大名鼎鼎的DCT:

f19c9d0a-fe6f-11eb-9bcf-12bb97331649.png

但令他非常失望的是,NSF 并没有为该提案提供资金,其中一位审查者给出的原因竟然是“太简单”。

不过Nasir并没有放弃,他找到了他的博士生T. Natarajan和他的朋友K.R.Rao,1973年的整个夏天,他们都在研究这一问题。最终,他们的研究有了结果,但这个结果好得让Nasir不敢相信。正巧之后Nasir要和Harry Andrews(美国数学家)一起出席新奥尔良的一个数学会议,所以Nasir决定在会上向他请教。

Harry Andrews建议Nasir使用率失真标准来检查这个“余弦变换”的性能,并发给他一个计算机程序帮助他计算结果。

最终,结果再次表明,DCT变换比其他所有变换都表现得更好,在性能上也与KLT十分接近。随后Harry Andrews建议Nasir发表这一成果。Nasir听从了他的建议,将论文以信件的形式发给了IEEE Computer Transactions(IEEE的通讯期刊),并在1974年1月获得发表。

据Nasir后来回忆,当初谁也没有想到DCT会在未来造成如此大的轰动。

DCT的重要性和其被发现的时间远不匹配,以至于Gilbert Strang在一篇1999年的论文中写道:“离散问题是如此之寻常,而且几乎是一个不可避免的问题,而让人异常惊讶的一个事实在于,业界直到1974年才由Nasir Ahmed等人发现了DCT。”最近也有一些研究证据表明,虽然DCT由 Ahmed 等人开发是一个无可置疑的事实,但冯诺依曼(John von Neumann)在1941年左右也对DCT做了一些开创性的研究,不过冯诺依曼自身可能并未意识到其重要性。

DCT的实现简介

DCT有8种形态,我们通常所说的DCT,其实指的是DCT-II,其对应的反变换是DCT-III。DCT-II、DCT-III的原始定义非常简单:

f1b7c9c2-fe6f-11eb-9bcf-12bb97331649.png

其中:X:X 是DCT输出.x:x 是DCT输入.k:k 是计算结果的输出数据索引, 从 0 to N?1N:N 变换元素的数目.s:s是缩放函数, 除去s(0)=0.5,其他s(y)=1

原始的N点的DCT-II变换算法最朴素的实现大概可以这样:

void dct_ii(int N, const double x[], double X[]) { for (int k = 0; k 《 N; ++k) { double sum = 0.; double s = (k == 0) ? sqrt(0.5) : 1.; for (int n = 0; n 《 N; ++n) { sum += s * x[n] * cos(PI * (n + 0.5) * k / N); } X[k] = sum * sqrt(2.0 / N); }}

随后,DCT的一些快速算法陆续被开发出来,其中最引入注目的大概是LLM DCT(LLM 来自于三位对应算法的作者:Loeffler、Ligtenberg和 Moschytz,其论文“Practical Fast 1-D DCT Algorithms with 11 Multiplications”)和AAN DCT(AAN 的名字也来自于三位算法作者: Arai、Agui 和 Nakajima,其对应的论文是“A fast DCT-SQ scheme for images”)。

LLM DCT的算法流程如下:

f1db842a-fe6f-11eb-9bcf-12bb97331649.png

它引入了非常经典的蝶形:

f1f1de64-fe6f-11eb-9bcf-12bb97331649.png

需要注意的是,LLM DCT的算法论文中,蝶形图的标识说明里面还有一个明显的错误在上面,其描述中,O1 均出现两次,明显第一个应该是O0。

AAN DCT的计算流程如下,该算法使用了五个乘法(加上八个用于缩放的后乘法,文章中认为这不算,因为它们可以被移到后面的量化矩阵中被平摊掉)。

以H.264标准为例,它实际上是把DCT 变换和后续的量化放在了一起,以减轻DCT变换计算的复杂度,所以有时候看H.264的DCT变换系数,你甚至第一眼很难想象它其实是个DCT的变换;从H.264的时代开始,DCT的变换开始使用整数变换,避免类似MPEG2年代因不同DCT、IDCT实现精度带来的编码、解码不完全匹配的问题。

DCT的应用

DCT的去相关和能量压缩特性使其在图像和视频压缩中极具吸引力。Karhunen-Loève变换(KLT)通常被称为理想变换,具有更好的去重特性,但在计算上是难以解决的。另一方面,DCT很容易编程,这使得它迅速占领了图像和视频压缩领域。现在常见的图片、视频压缩,如JPEG、H.26X、MPEG等,都用到了DCT。

图像

Nasir近况

今年二月份,在热播美剧《我们的生活》(This is Us)第5季第8集中,穿插了一段“艾哈迈德夫妇的故事”。这段故事取材于现实,讲述的正是Nasir和他的太太Esther之间发生的事。两人是新墨西哥大学的校友,在一次大学国际学生聚会中偶然结识并相恋,然后步入了婚姻殿堂,并且一直相知相守到今天。2018年,Nasir和Esther还出版了一本讲述他们生活故事的限量版图书——Parallel Lives In Curved Space。去年,两人庆祝了他们的结婚56周年纪念日。

《我们的生活》剧组工作人员正在和Nasir、Esther视频对话

为什么要在《我们的生活》剧集中穿插这样一段故事?

原来导演是想通过这个故事向DCT技术的发明者Nasir Ahmed致敬。如果没有Nasir,剧中的皮尔森一家不可能在新冠疫情期间通过视频会话保持联系,慰藉彼此。

现实中的我们也是一样。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像
    +关注

    关注

    2

    文章

    1094

    浏览量

    41480
  • 编码
    +关注

    关注

    6

    文章

    972

    浏览量

    55871
  • DCT
    DCT
    +关注

    关注

    1

    文章

    56

    浏览量

    20260
  • mpeg2
    +关注

    关注

    0

    文章

    7

    浏览量

    8564

原文标题:DCT如此重要,作者当初竟然不知道?

文章出处:【微信号:xunwei201508,微信公众号:讯维官方公众号】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Microsoft AD究竟有多重要

    勒索软件攻防已成一场永无止境的猫鼠游戏——在IT和安全团队不断提升能力的同时,攻击者也在不断寻找新的攻击路径,而AD作为集中管理的核心要素,已成为勒索软件攻击的主要目标和执行路径。
    的头像 发表于 07-22 13:57 ?242次阅读

    KSC DCT系列轻触开关的主要优势和应用领域

    双电路技术是指在一个轻触开关(单刀双掷,SPDT)内部产生两个独立输出信号的功能。请参见下面的SPDT电路。KSC DCT轻触开关有一个共用引脚、一个常关(NC)引脚和一个常开(NO)引脚。如果用户
    的头像 发表于 06-26 14:35 ?399次阅读
    KSC <b class='flag-5'>DCT</b>系列轻触开关的主要优势和应用领域

    家用电器气密性检测仪,背后究竟有啥神秘力量?

    在现代生活中,家用电器的气密性至关重要,它直接影响着产品的性能、使用寿命甚至是用户的安全。而家用电器气密性检测仪,就像是一位“隐形卫士”,默默守护着家电的质量。那么,它背后究竟隐藏着怎样的神秘力量呢
    的头像 发表于 06-12 14:19 ?228次阅读
    家用电器气密性检测仪,背后<b class='flag-5'>究竟有</b>啥神秘力量?

    FOC电机控制究竟该如何学?

    学习FOC电机控制究竟是学哪些内容? 电机知识 软件知识 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 05-09 14:09

    工业交换机究竟有何用

    的工业环境中发挥着至关重要的作用。本文将从工业交换机的技术特性、核心功能、应用场景及选型要点等方面,深入解析其价值,并结合济南有人物联网技术有限公司的白金系列工业交换机(如USR-ISG1005)为例,探讨其在实际工业
    的头像 发表于 04-16 16:51 ?505次阅读

    福禄克ST20MAX红外测温仪究竟有多好用

    “精准测量、智能预约、坚固耐用、贴心设计…” 小福带着首批ST20MAX客户试用心得来啦!ST20MAX 究竟有多好用?让我们一探究竟
    的头像 发表于 04-10 13:55 ?360次阅读

    ADC参考电压有多重要(可下载)

    工程中大家经常会用到 ADC 来采集模拟电压,把模拟量变为数字量进行系统处理,有时候 看到采集结果,什么?这个结果跟实际采集的信号怎么还有点小差距?那么就有可能是参考 电压的问题参考电压有多重要
    发表于 04-03 11:20 ?0次下载

    串口服务器究竟有何用途?看完这个你就恍然大悟了!

    在当今数字化快速发展的时代,串口服务器作为一种重要的网络设备,正悄然在各个领域发挥着关键作用。今天,我们就来深入了解一下串口服务器究竟有何用途。 工业自动化领域:保障生产高效稳定运行 在工业生产
    的头像 发表于 03-25 12:43 ?324次阅读

    Littelfuse推出KSC2 DCT系列轻触开关

    Littelfuse宣布推出C&K Switches KSC2 KSC双电路技术 (DCT) 系列轻触开关。这是C&K创新轻触开关系列的最新产品,致动器高度为3.5毫米,低于致动器
    的头像 发表于 02-26 15:08 ?694次阅读

    东京裸机云大宽带服务器的特别之处

    东京裸机云大宽带服务器,作为亚洲地区重要的数据中心节点,凭借其卓越的性能和配置,正逐步成为企业和个人用户的优选。那么,它究竟有何特别之处呢?
    的头像 发表于 12-02 09:44 ?391次阅读

    汇顶科技出售DCT资产组:优化资源配置,提升核心竞争力

    Engineering Service Pte. Ltd出售其全资孙公司DCT GmbH和DCT B.V.的100%股权。这次交易的目的在于优化资源配置,进一步提升公司的核心竞争力。
    的头像 发表于 11-06 15:12 ?1040次阅读

    DIR9001如果同轴输入的话,在网上看到有直接输入、还有用音频变压器输入的,不知道哪个更好些?

    1、DIR9001如果同轴输入的话,在网上看到有直接输入、还有用音频变压器输入的,不知道哪个更好些?请给个意见! 2、如下图,这样输入到DIR9001里,可以吗? 3、图中75欧下面的104电容可以不要吗?有什么影响?
    发表于 11-06 07:33

    dct变换的主要优点有哪些

    中的少数几个系数中,从而实现高效的压缩。以下是DCT变换的一些主要优点: 能量压缩 :DCT的一个显著优点是它能够将图像的能量集中在变换后的低频系数中。这意味着图像中最重要的信息(通常是图像的主要特征)被保留在少数几个系数中,
    的头像 发表于 09-30 16:30 ?1338次阅读

    芯片元器件的储存寿命究竟有多长呢?

    元器件
    芯广场
    发布于 :2024年09月05日 18:13:16

    请问lmh6554/6552只画双层板能满足需要吗

    layout example好像给的是六层板的示例。。新手还不会画那么复杂的,想问两层板设计能满足一般需要吗 器件layout参考datasheet里的来,应该不会出什么问题吧?
    发表于 08-27 08:10