Google释出开源基础通用贴图格式,取代常用的JPEG与PNG

发布于2019-05-23 21:50:56

导读: Google宣布与贴图供应商Binomial合作开源基础通用(BasisUniversal)贴图编码器,该格式的特点在于能维持GPU的高效运作,同时还能改进行动装置、桌面与
导读: 基础通用(Basis Universal)贴图格式的图片容量与JPEG相当,但在GPU上的大小却只有其六分之一

Google宣布与贴图供应商Binomial合作开源基础通用(Basis Universal)贴图编码器,该格式的特点在于能维持GPU的高效运作,同时还能改进行动装置、桌面与网页的图像传输效率,Google强调,这个格式填补了图像压缩生态系的空白,也补充了他们自家几何压缩Draco函式库的不足。

Google提到,开发者决定使用贴图的格式,通常需要在GPU效能以及储存空间中作权衡,当使用GPU专用的格式,则需要付出较大的空间储存贴图,而要贴图容量小,就无法有效利用GPU的高效能运算,而基础通用贴图格式则是能兼顾两种优点的选择。

基础通用贴图格式在GPU上的大小是JPEG的六分之一到八分之一,且其储存的大小则与JPEG相似,目前GPU压缩方法在低效率以及无法跨平台执行的缺点受人诟病,而新的基础通用贴图压缩方式效率更好,能使用于游戏、虚拟实境以及地图等应用,作为JPEG与PNG良好的替代品。

新的格式应用方式很直觉,开发者只要使用编码器压缩图像,以设定开发者需要的品质设定输出中继档案,并在图像渲染工作之前插入转码器,转码器会将中继格式转换成GPU可以读取的格式,图像在整个过程都保持压缩的状态,甚至在GPU中也不例外,而且GPU不需要进行解码或是读取整张贴图,可以只抓取需要的部分。

Google认为,现存这么多种的GPU格式对于整个生态系统是一种负担,从GPU制造商到软件开发者都是,甚至对无法在跨平台使用的终端使用者都造成困扰,Google与Binomial合作推出基础通用贴图格式,就是想要提供简化解决方案,使得应用更具弹性,维护起来也更简单。

Google和Binomial还会继续合作维护基础通用贴图格式,目前在这个初始版本中,支援的GPU格式有PVRTC1不透明、ETC1、ETC2基础Alpha通道、BC1-5以及BC7不透明,即将到来的支援格式还包括BC7透明、ASTC不透明与Alpha通道、PVRTC1透明和高品质BC7/ASTC。

而透过两方的合作关系,Google还希望在主流浏览器中加入基础通用贴图的转码器,让WebGL API以及WebGPU API都能高效地跨平台存取压缩贴图,让浏览器上的图像应用,也能因基础通用贴图格式而受惠。目前这个格式已经在GitHub上开源,支援C++与WebAssembly。