压缩软件不是那种需要经常关注界面的应用,比如你需要压缩一些文件,往往是设置好选项后后面的工作就由压缩软件本身完成,界面还能怎么改进呢?引入流行的所谓Ribbon?加入大量特效?这不是压缩软件的本职工作。老实说界面太花哨的压缩器往往还会让人怀疑其内在(压缩率、性能、文件是否会损坏)。

因为要兼容现存的压缩文档,所以对于一个旧的压缩器来说,压缩算法和文件格式部分最稳妥的做法是不要进行大的改动,最好是不改动,压缩器带来的一点点改进无关紧要,损坏了现存压缩包的文件问题就严重了。

如果是仅仅是从技术的角度来说,抛开兼容旧文档的压力(比如从头开发一个压缩软件),那么创新点还是很多的,但举几例:

文件修复:这个功能其实不算是新功能,但是并没有普及开,仅仅出现在部分压缩器上。

并行压缩:现在很多人电脑都具备多核心处理器,那么是不是能针对多核心进行优化以提升性能呢?这个在部分压缩器上已经实现了。

云压缩:把一些需要非常大计算能力的超强压缩算法。比如说该算法比一般传统压缩器压缩率提高30%(这不是玩笑,而且很有用,要压缩的数据越大这个30%所占比例越大),但是该算法运行时需要占用128GB内存,或者运行速度很慢,怎么办?做成云服务,由专业的服务提供商购买强大的计算机提供压缩服务。

特征自定义:给用户提供比较高的自由度用恰当的方式描述所压缩的数据的类型,这样可以提供比较高的压缩率,这个涉及的知识很多,用户如何描述这个“特征”?用图?用代码?。

自描述压缩格式:这里的“自描述”不是“自解压”的意思,而是在压缩文档中内置对压缩算法的描述。这样的做法有什么好处呢?就是每次解压可以通过自我描述的压缩算法来解压压缩包内的数据,直接带来的好处就是,以后压缩格式可以放肆地升级而不用考虑兼容了,反正压缩文档有解压缩该文件所需的信息,以后该压缩器的公司倒闭了或者再也不更新了也不怕。自描述功能目前我还没见到很多压缩器有,该功能的实现依赖对自描述信息的设计问题,假设这个自描述信息是给出一个跨平台的虚拟机标准的字节码(这是我见过的唯一做法),那如何设计这个虚拟机才能在很多平台上获得较高的性能?这涉及对流行计算机体系结构以及未来可能会流行的计算机体系结构的把握。说起来简单,实际做下去能作出什么效果还很难说。我目前还没成功实现过这个功能。

应该还有很多点子,如果你有好的主意也请告诉我。

— 完 —

本文作者:夏雨婷

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 8 个回答,查看全部。
延伸阅读:
Mac 上最方便的压缩解压缩软件是什么?
最好的视频编码转换(视频压缩)软件有哪些?

分享到