笨重的显卡、更强大的 CPU、高分辨率显示屏,所有这些都对高品质 3D 视觉体验十分重要——无论是对于游戏还是 VR。但如果用户需要等 n 年才能下载好高清内容,数据太大又无法直播,那么所有这一切都变得不重要。雷锋网小编就时常跟人开玩笑,PC 性能的瓶颈主要在于网速。这就是为什么互联网巨头们——比如谷歌,会投入巨大时间精力来研究压缩数据的新方法。上周,谷歌发布了一个开源 3D 模型压缩库"Draco",它功能简单但是潜力不可限量。
谷歌在官方博客中解释道,3D 数据正变得越来越常见,远远不局限于娱乐方面。点云(Point-clouds)和其他类似的存储信息的架构到处都是,但还没有专门对它们进行压缩的解决方案。目前,所有人仍依赖于通用压缩算法,比如用于 ZIP 的 Deflate 和针对 7z 的 LZMA。这就是 Draco 的价值所在。
谷歌表示:
“3D 图像是许多应用的基础,包括游戏、设计和数据可视化。如今,图像处理硬件和设计工具在不断提高,更大、更复杂的 3D 模型变得越来越常见,并为 VR、AR 领域的新应用提供了支持。但因为提高的模型复杂度,存储和带宽被迫追赶数据大爆炸后指数级增长的 3D 数据。 ”
Draco 由谷歌 Chrome 媒体团队设计,旨在大幅加速 3D 数据的编码、传输和解码。因为研发团队的 Chrome 背景,这个开源算法的首要应用对象是浏览器。但既然谷歌把它开源,现在全世界的开发者可以去探索 Draco 在其他场景的应用,比如说非网页端。目前,谷歌提供了它的两个版本: JavaScript 和 C++。
Draco 可以被用来压缩 mesh 和点云数据。它还支持压缩点( compressing points),连接信息,纹理协调,颜色信息,法线( normals)以及其他与几何相关的通用属性。下面是谷歌官方发布的 Draco Mesh 文件压缩率,可以看出,它大幅优于 ZIP。
图一:Draco 压缩率与 ZIP 之间的比较
注:第一行为未压缩数据
图二:Draco 编码/解码性能
谷歌宣称,若使用 Draco,含 3D 图像的应用,其文件大小能大幅缩小,并不在视觉保真度上做妥协。对于用户来说,这意味着 app 下载会更快,浏览器的 3D 图像载入得更快,VR 和 AR 画面的传输只需要占用原先一小部分的带宽、渲染得更快并且看起来画质清晰。
另外,在 Draco JavaScript 解码器支持下,传输 3D 图像的网页应用会变得非常地快;而该解码器可以和 3D 网页浏览器绑定起来。这意味着 Draco 普及之后,天朝网速拖后腿的广大群众都可以享受到在线看高清影视带来的满满幸福感。雷锋网获知,让所有连接网络的用户都能享受到高清视觉体验,正是 Draco 的使命之一。
不止于娱乐
Draco 的算法既支持有损模式,也支持无损。这给普通消费者带来的好处还不太明显——毕竟大多数人对分辨率并没有强迫症,有损压缩带来的轻微画质改变完全在承受范围之内。但对专业应用和科研应用的意义就很大了。这就好比 JPEG 之于 PNG。后者用于游戏和 VR 应用完全没有问题,降低的画质很难用肉眼察觉。但在科研点云数据中,任何信息都不能丢失。
乍看之下,Draco 并不像三星 AMOLED 屏或者新 GPU 架构那样吸引眼球。但作为能给 3D 数据压缩带来革命性改变的新算法,将来它给消费者体验带来的提升可能不亚于这两者——Draco 很可能会成为基于云端 3D 内容的支柱。
显然,谷歌开源 Draco 有助于它的快速普及。至于何时在线影音、网络游戏运营商会采用 Draco,减少用户们的视频缓冲、卡顿时间,开发者又能探索出那些新用途,雷锋网与大家一起拭目以待。
感兴趣的技术宅可以去 GitHub,一睹 Draco 真面目。
相关文章: