新的开源图像格式 QOI ,压缩速度比 PNG 快 20-50 倍
2021 年 11 月 29 日 ,Dominic Szablewski 创建一种新的图像文件格式规范 “QOI”,QOI 的全称是 Quite OK Image Format,直译为“相当棒的图像格式”。QOI 可以用于将 RGB 和 RGBA 图像无损地压缩为与 PNG 类似的大小,相同的文件大小下,QOI 的压缩和解压缩比 PNG 要快 3-4 倍。另外,QOI 可以和 PNG 格式相互转化。
QOI 非常简洁,它源代码只有大约 300 行 C语言;文件格式规范也非常简短,只有一页PDF。但简短并不意味着简单,与 C/C++ 图像处理库 stb_image / stb_image_write 和 libpng 相比,QOI 的编码速度提高了 20-50 倍,解码速度提高了 3-4 倍,压缩率提高了 20%。
无可否认,QOI 在压缩/解压缩性能这一块有一些优势,但它仍然存在相当多的问题。比如,作为一个全新的图像文件格式, QOI 对伽马/色度/ICC 等内容的支持几乎是空白的。从实现过程来看, QOI 是将整个图像文件加载到 RAM 中,并且没有针对性能进行优化,这使得它在处理亿级像素的图像时对设备的要求极高。
以上种种导致它还不能作为一个成熟的文件格式以供日常使用,短时间内也不会出现在浏览器端(web 对压缩比较为重视,QOI 对此并不占优势),未来或许它可以出现在游戏的图像处理或者其他主机程序中,因为这些场景更注重性能优势。
事实上,QOI 一开始只是 Dominic 的一个玩具项目,但现在它将变成一个正式的项目 —— 距离首次提交还未满一个月,QOI 就已收获了 3K star,并引发了热烈的讨论。且过去的几周已陆续出现了许多不同语言和库的 QOI 实现。包括 Zig、 Rust、 Rust、 Rust、 Go、 TypeScript、 Haskell、 Ć、 Python、 C#、 Elixir、 Swift、 Java 和 Pascal ,以及 Python 和 Lua 的 包装器 。
相关链接
- https://github.com/phoboslab/qoi - QOI 源代码
- https://qoiformat.org/ - QOI 官网
- https://qoiformat.org/qoi-specification.pdf - QOI 文件格式规范
- https://github.com/floooh/qoiview - 原生 QOI 图像查看器
- https://github.com/pfusik/qoi-ci/releases/tag/qoi-ci-1.0.0 - GIMP、Paint.NET 和 XnView MP 的 QOI 插件安装程序
- https://github.com/iOrange/QoiFileTypeNet/releases/tag/v0.2 - Paint.NET 的 QOI 插件
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ahooks —— 高质量可靠的 React Hooks 库
ahooks 是一套高质量可靠的 React Hooks 库。 特性 易学易用 支持 SSR 对输入输出函数做了特殊处理,避免闭包问题 包含大量提炼自业务的高级 Hooks 包含丰富的基础 Hooks 使用 TypeScript 构建,提供完整的类型定义文件 安装 $ npm install --save ahooks # or $ yarn add ahooks 使用 import { useRequest } from 'ahooks';
- 下一篇
树莓派 v3dv Vulkan 驱动已支持 Android
主要用于树莓派 Raspberry Pi 4 的开源 v3dv Vulkan 驱动现在可以在 Android 上使用运行了。 Mesa 的 v3d 图形驱动栈包括一个符合 GLES3.1 标准的 v3d 驱动和一个 Vulkan 图形驱动 v3dv,后者主要用于 Raspberry Pi 4。在 Raspberry Pi 4 上,内核使用 vc4 DRM 驱动来支持显示。 熟悉树莓派的开发者应该都知道 v3dv Vulkan 驱动早已支持能在其上运行的传统 Linux 发行版,但如果开发者使用的是 Android 的话,就没那么幸运了,因为 v3dv 此前一直缺乏这方面的支持。 近日,开发者 Marge Bot 提交的更新为 Raspberry Pi 4 上的 v3dv Vulkan 带来了 Android 系统的支持,补全了这一块“拼图”。 对于那些在 Raspberry Pi 4 上使用 Android 系统而非传统 Linux 发行版的用户而言,v3dv 现在可以在 Android 平台上正常运行,并提供了 Vulkan API 支持。根据开发者提交的注释来看,这种支持是基于 A...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- 设置Eclipse缩进为4个空格,增强代码规范
- Windows10,CentOS7,CentOS8安装Nodejs环境