【信息科学技术与创新】数据压缩的理论方法与现实意义 信息论 压缩编码 通信的数学理论 Huffman编码 LZ算法 虚幻引擎与数据压缩

数据压缩的理论方法与现实意义

摘要

  1. 首先通过信息论引出数据压缩编码的理论方法
  2. 接着结合目前技术发展分析压缩编码的现实意义
  3. 最后总结思考未来通信与存储的压缩方法

一、 信息论与压缩编码的理论方法

通过网络我们容易知道信息论是运用概率论与数理统计的方法研究信息、信息熵、通信系统、数据传输、密码学、数据压缩等问题的应用数学学科,简而言之信息论就是对信息本身以及如何处理和传达信息的研究。人们通常将香农于1948年10月发表于《贝尔系统技术学报》上的论文**《A Mathematical Theory of Communications》(通信的数学理论)**作为现代信息论研究的开端。

而为了实现高效、可靠和保密的通信与存储,香农认为关键的事情就是基于信源信号中数据中不同符号出现的随机性规律进行编码,通过对数据压缩、纠错和加密等功能提高传输效率、减少传输错误以及增加信息鲁棒性和安全性。下面我们来思考压缩编码的理论方法。

首先,压缩编码的基本思路是对代表和承载原始信息的数据进行某种变换,去除数据中相关联的冗余,从而产生一组更为简洁的表述,以达到降低通信和存储成本、提高效率的目的。而香农所提出的信源编码定理正好为数据压缩编码提供了理论基础,而其又借鉴了热力学的概念,把信息中排除了冗余后的平均信息量作为信息熵,并给出了计算信息熵的数学表达式,并证明了在信源不同数据出现概率已知的条件下,压缩编码所能产生的平均字节长度最短不可能小于信息熵,从而给出了数据压缩编码的最小极限长度,因此这个理论成果也被称为压缩编码定理,香农用一个简单明了的公式优美地揭示了评估数据冗余的理论基础,给出了平均意义上的信息比特上下极限。

不过完备的理论并不等于实用的技术,要将理论变为实践,编码方法是极为重要的一步,1948年,香农在提出信息熵理论的同时,事实上也给出了一种简单的编码方法–Shannon编码。1952年,麻省理工学院的罗伯特·法诺又进一步提出了Fano编码。两者后来被称为Shannon-Fano编码,这种早期的编码方法揭示了变长编码的基本规律,也确实可以取得一定的压缩效果,但离真正实用的压缩算法还相去甚远。

Huffman编码是第一个真正实用的编码方法,由戴维· 霍夫曼在1952年提出。当时霍夫曼是麻省理工学院的一名学生,据说为了向老师法诺证明自己可以不参加信息论课程的期末考试,他设计了这个看似简单却影响深远的编码方法。Huffman编码效率高,运算速度快,实现方式灵活,从20世纪60年代直到现在,在数据压缩领域得到了广泛的应用。而20世纪80年代初,Huffman编码又出现在CP/M和DOS系统中,即使在今天,在许多知名的压缩工具和压缩算法里(如WinZip和JPEG),也都有Huffman编码的身影。不过,Huffman编码所得的编码长度只是对信息熵计算结果的一种近似,并不能真正逼近信息熵的极限。
(霍夫曼数据压缩编码的树状表示)
LZ算法是其发明者亚伯拉罕·伦佩尔和雅各布·齐夫和两个犹太人姓氏的缩写。此二人于1977年发表题为《顺序数据压缩的一个通用算法》的论文,论文中描述的算法被后人称为LZ77算法。1978年,二人又发表了该论文的续篇,描述了后来被命名为LZ78的压缩算法。其实LZ系列的算法并不新鲜,其中既没有高深的理论背景,也没有复杂的数学公式。它们只是简单的延续了千百年来人们对字典的追崇和喜好,并用一种极为巧妙的方式将字典技术运用于通用数据压缩领域。简单的说如果你习惯用字典中的页码和行号代替文章中的每个单词的时候,那实际上你已经掌握了LZ系列算法的真谛,因此这类编码算法被统称为Dictionary coders

在1984年,Terry Welch发表论文描述了他在Sperry研究中心(现在Unisys公司的一部分)的研究成果,也就是后来非常有名的LZW算法。它实质上是LZ78算法的一个变种,但被认为是一个独立的编码算法。LZW继承了LZ77和LZ78压缩效果好、速度快的优点,而且在算法描述上更容易被人们接受,实现也相对简单。而在其后发展出来的各式各样的字典编码算法,基本上都是这三种编码算法的分支或变体。也就是说LZ77、LZ78和LZW是字典编码中基础的3种编码算法。今天我们熟悉的PKZIP、WinZip、WinRAR等压缩工具都是LZ系列算法的受益者,甚至连PGP这样的加密文件格式也选择了LZ系列算法作为其数据压缩的标准。

字典式编码不但在压缩效果上大大超过了Huffman编码,而且在实现上,压缩和解压缩的速度也异常惊人。于是LZ系列算法的优越性很快就在数据压缩领域里体现出来,使用LZ系列算法的工具软件数量呈爆炸式增长。UNIX系统上最先出现了使用LZW算法的Compress程序,该程序性能优良,很快成为UNIX世界的压缩程序标准。紧随其后的是MS-DOS环境下的ARC程序,还有像PKARC等仿制品。LZ78和LZW一时间几乎统治了UNIX和DOS两大平台。但最终由于专利权等等原因,技术实现上更为优秀的LZ78和LZW没有成为主流的算法,目前为止占据个人用户计算机的主流压缩工具几乎都采用LZ77变种算法。

二、 当今相关技术发展与压缩编码的现实意义

通过《数据智能科学技术导论》中的视频数据传输所包含的信息量可知简单传输和存储原始数据将消耗大量的通信和存储资源,而在这篇报告中我想从当今游戏方面所包含的数据量的角度分析压缩编码的现实意义。
关注游戏方面的玩家大都知道最近美国游戏开发商 Epic Games 宣布虚幻引擎更新到了第五代(Unreal Engine 5),并公布了一段 PlayStation5 上的真机演示视频,为我们揭开了虚幻引擎5的神秘面纱。人类对于次世代的愿景就是让实时渲染细节能够媲美电影CG和真实世界,并通过高效的工具和内容库让不同规模的开发团队都能实现这一目标,在看完虚幻引擎五的真机演示之后不仅让我感慨于游戏引擎品质上的飞跃与技术团队的极致追求,更让我感慨这个引擎所产生的数据量之大。
(虚幻引擎五的演示封面)
该演示展示了虚幻引擎5的两大全新核心技术:首先是Nanite虚拟微多边形几何体可以让美术师们创建出人眼所能看到的一切几何体细节。Nanite虚拟几何体的出现意味着由数以亿计的多边形组成的影视级美术作品可以被直接导入虚幻引擎——无论是来自Zbrush的雕塑还是用摄影测量法扫描的CAD数据。Nanite几何体可以被实时流送和缩放,因此无需再考虑多边形数量预算、多边形内存预算或绘制次数预算了,也不用再将细节烘焙到法线贴图或手动编辑LOD,画面质量不会再有丝毫损失。
其次Lumen是一套全动态全局光照解决方案,能够对场景和光照变化做出实时反应,且无需专门的光线追踪硬件。该系统能在宏大而精细的场景中渲染间接镜面反射和可以无限反弹的漫反射;小到毫米级、大到千米级,Lumen都能游刃有余。美术师和设计师们可以使用Lumen创建出更动态的场景,例如改变白天的日照角度,打开手电或在天花板上开个洞,系统会根据情况调整间接光照。Lumen的出现将为美术师省下大量的时间,大家无需因为在虚幻编辑器中移动了光源再等待光照贴图烘焙完成,也无需再编辑光照贴图UV。同时光照效果将和在主机上运行游戏时保持完全一致。
与此同时,虚幻引擎五现有的引擎功能还有Chaos物理与破坏系统、Niagara VFX、卷积混响和环境立体声渲染,这些毫无疑问都会带来惊人的数据量,并且其远远高出视频数据许多,可见数据压缩在人类追求细节极限时所产生的极大数据量的通信与存储方面的重大意义,其与计算机与通信的其他技术密不可分,相辅相成,共同革新进步,改变着我们现有的世界并刷新我们的认知。

三、 总结与思考未来通信与存储的压缩方法

从Shannon编码到Huffman编码,从LZ算法到WinRAR,再从视频压缩到游戏压缩,数据压缩技术沿着时间的洪流不断革新,进步,随着人类对信息数量与质量永无止境的追求,一代又一代人不断接近数据压缩的极限,但我们依然满怀期待着未来会有更多的像香农,像霍夫曼的改变世界的伟人出现,引领我们走向更好的未来。
(bzip2)
如今, BWT 算法在开放源码的压缩工具bzip中获得了巨大的成功, bzip 对于文本文件的压缩效果要远好于使用 LZ 系列算法的工具软件。这至少可以表明,即便在日趋成熟的通用数据压缩领域,只要能在思路和技术上不断创新,我们仍然可以找到新的突破口。另外,分形压缩是图像压缩领域里最有潜力的一种技术体系,在经过了几十年的高速发展之后,我们可能需要一种新的理论来支撑和推动数据压缩技术继续向前跃进,但不管怎样,可以预见的是随着信息产业的进一步发展,数据压缩技术还会以更完美的形式出现,给未来的大数据通信与存储带来更大的发展空间,也会促进人工智能,虚拟现实等前沿技术的突破与革新。

参考文献
[1] 黄卫平. 数据智能科学技术导论
[2] https://www.sciencedirect.com/
[3] https://baike.baidu.com/

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zanebla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值