近期,Google与Binomial宣布合作开源Basis Universal GPU纹理编解码器,在保持GPU性能效率的同时,提升Web、桌面端与移动应用程序中图像传输的性能。本文来自Google开源博客。

文 /  Google开源博客

译 / John

原文

https://opensource.googleblog.com/2019/05/google-and-binomial-partner-to-open.html

近期,Google和Binomial宣布已合作开源Basis Universal GPU纹理编解码器(https://github.com/binomialLLC/basis_universal),在保持GPU性能效率的同时,提升Web、桌面端和移动应用程序中图像传输的性能。此版本填补了图形压缩生态系统中的一个关键技术空白,同时也补充了Draco几何压缩的部分早期工作。

Basis Universal纹理格式在GPU上的资源占用比传统JPEG格式小6-8倍,但文件存储所需空间大小却与JPEG相似,这使得它成为当前那些效率低下且无法跨平台运行的GPU压缩方法(如JPEG、PNG等)的一个良好替代方案。Basis Universa纹理格式创建的压缩文件适用于各种常见应用场景:游戏、VR和AR、地图、照片、短视频等。

如果没有通用纹理格式,开发人员将仅有以下两个选项:

  • 使用GPU格式但无法降低存储大小

  • 使用其它可减少存储大小的格式但却无法获得与GPU媲美的性能。

无论是对GPU制造商、软件开发人员还是无法获得良好跨平台体验的最终用户而言,改进并维护这么多不同的GPU格式对整个音视频开发生态来说都是一件负担。我们正在通过这个颇具内在灵活性的解决方案(如可选的更高质量模式)简化这一过程,对每个人来说都可以更轻松地改进与维护。

那么,这一切是如何运作的?首先我们使用编码器压缩图像并选择对于项目而言有意义的质量设置参数(例如在知道其共享同一个调色板的情况下,为短视频提交多个图像优化以提升其性能)。在渲染之前插入代码转换器转换代码从而将中间格式转换为计算机可以读取的GPU格式。即使在GPU上,图像也会在整个过程中保持压缩状态!GPU不需要解码和读取整个图像而只会读取需要的部分图像,从而尽可能发挥GPU的性能优势!

Basis Universal可有效针对最常见的GPU格式进行优化

Google和Binomial将会合作并继续支持、维护和添加新功能,Basis Universal的初始版本会将源文件转码为以下GPU格式:PVRTC1 opaque、ETC1、ETC2 basic alpha、BC1-5和BC7 opaque。未来几个月将会增加更多的功能,包括BC7 transparent、ASTC opaque和alpha、PVRTC1 transparent和更高质量的BC7 / ASTC等。

Basis Universal纹理格式显著降低纹理的透射,同时保持图像质量几乎不受到影响。

Basis Universal纹理格式提高.jpeg和.png的GPU内存使用率

通过建立这种合作伙伴关系,Google与 Binomial希望在所有主流浏览器中采用此转码器,通过WebGL API和即将推出的WebGPU API使每个人都可以访问高性能的跨平台压缩纹理。将这一套开源组件无缝集成至工作流程,让每位开发者都可尽情使用最先进的开源编码器。

LiveVideoStack  招募

LiveVideoStack正在招募编辑/记者/运营,与全球顶尖多媒及技术专家和LiveVideoStack年轻的伙伴一起,推动多媒体技术生态发展。了解岗位信息请在BOSS直聘上搜索“LiveVideoStack”,或通过微信“Tony_Bao_”与主编包研交流。

LiveVideoStackCon 2019北京正在招募讲师,无论你是技术派还是学术派,亦或是行业专家,无论你的团队有多小、有多新,都可以来申请成为LiveVideoStackCon的讲师。点击【阅读原文】了解更多大会相关信息。

Google与Binomial合作开源Basis Universal GPU纹理编解码器相关推荐

  1. PVRTexTool现支持KTX™2.0和 Basis Universal超级压缩

    在Imagination,我们一直在努力帮助客户充分利用他们的图形管线,在此,我们自豪地宣布PVRTexTool现在支持Basis Universal超级压缩纹理以及KTX™ 2.0和Basis纹理容 ...

  2. Google 开发新的开源系统 Fuchsia

    google 最新os 下载 https://github.com/fuchsia-mirror/magenta 本文转自:http://www.oschina.net/news/76094/goog ...

  3. Google code 100个开源项目

    1. ZXing http://code.google.com/p/zxing/ 条形码.二维码 2. K-9 Mail http://code.google.com/p/k9mail/ 邮件客户端 ...

  4. 截断骨干用于检测,YOLO-ReT开源:边缘GPU设备上的高性能检测器

    作者丨happy 编辑丨极市平台 论文链接:https://arxiv.org/pdf/2110.13713.pdf 代码链接:https://github.com/prakharg24/yolore ...

  5. [转]Google的60款开源项目

    1.机器学习系统 TensorFlow 详情:https://github.com/tensorflow/tensorflow 2.material-design-icons 详情:http://go ...

  6. Google的60款开源项目

    1.机器学习系统 TensorFlow 详情:https://github.com/tensorflow/tensorflow 2.material-design-icons 详情:http://go ...

  7. MCC账户,Google 搜索网络合作伙伴怎么批量取消?

    在搜索网络合作伙伴网站上,您的广告可以在以下位置展示:搜索结果页.网站目录页或与用户的搜索有关的其他网页. 为什么会有这个想法产生呢.因为如果是MCC账户推广,一个人管的账户比较多.投放谷歌搜索广告的 ...

  8. gnome桌面 kde_GNOME和KDE在Linux桌面上合作,为Nvidia GPU打开文档,这是一种强大的扫描固件漏洞的新方法,还有更多新闻...

    gnome桌面 kde 在本期开放源代码新闻摘要中,我们介绍了两个新的功能强大的数据可视化工具,Nvidia开源GPU文档,令人兴奋的新工具以保护自动驾驶汽车的固件等! GNOME和KDE在Linux ...

  9. Google Android 平台正式开源

    Google 推出移动设备软件平台 Android 之时,曾向开发者开放 SDK 包,并许诺将在开源许可模式下开放其全部代码,今天,Google 与其合作伙伴,在 Open Handset Allia ...

最新文章

  1. 超级智能的定义,一个已经诞生并不断深刻影响人类的新智能
  2. jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。
  3. [转]ASP.NET Core 指定环境发布(hosting environment)
  4. Spring的@Primary注释在起作用
  5. Linux: I/O多路转接之poll(有图有代码有真相!!!)
  6. LeetCode 题 - 67. 二进制求和 python实现
  7. PyTorch 多目标跟踪
  8. android listview添加数据_Android系统列表控件
  9. 栈实现队列(队列实现栈)
  10. POJ 2396 有上下界的可行流
  11. 如何定时备份远程mysql数据库
  12. linux 高并发网络编程之epoll详解
  13. dockerfile 多端口映射 expose
  14. catia装配体怎么把零件旋转180度_工件180度翻转装置的设计
  15. Windows实现微信多开+美化图标
  16. python爬取电子病历_利用 BERT 模型解析电子病历
  17. 网页保存到mysql数据库_把网页数据保存到数据库
  18. 近期你已经授权登录过_不查不知道,我的微信、QQ 居然授权登录过这么多应用!...
  19. 莫队算法学习笔记(一)——普通莫队
  20. Python飞机大战(究极迫害版)

热门文章

  1. ElasticSearch6.5.0 【安装IK分词器】
  2. IBM科学家实现存储器重大突破
  3. Hyperledger fabric 1.0Beta网络组成及构建流程
  4. Swift基础:创建第一个Swift工程:Swift的基本语法
  5. 开源项目SlidingMenu的使用(Android)
  6. 找出带环单向链表的环入口(交点)
  7. 域环境下用组策略禁止客户机更改IP
  8. UVA - 12338 Anti-Rhyme Pairs(后缀数组)
  9. 中石油训练赛 - 腿部挂件(可持久化字典树)
  10. CodeForces - 801C Voltage Keepsake(二分)