IT资讯 新的开源图像格式 QOI ,压缩速度比 PNG 快 20-50 倍

bentley · 2021-12-24 19:30:06 · 热度: 36

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 ,压缩速度比 PNG 快 20-50 倍

<无可否认,QOI 在压缩/解压缩性能这一块有一些优势,但它仍然存在相当多的问题。比如,作为一个全新的图像文件格式, QOI 对伽马/色度/ICC 等内容的支持几乎是空白的。从实现过程来看, QOI 是将整个图像文件加载到 RAM 中,并且没有针对性能进行优化,这使得它在处理亿级像素的图像时对设备的要求极高。

以上种种导致它还不能作为一个成熟的文件格式以供日常使用,短时间内也不会出现在浏览器端(web 对压缩比较为重视,QOI 对此并不占优势),未来或许它可以出现在游戏的图像处理或者其他主机程序中,因为这些场景更注重性能优势。

事实上,QOI 一开始只是 Dominic 的一个玩具项目,但现在它将变成一个正式的项目 —— 距离首次提交还未满一个月,QOI 就已收获了 3K star,并引发了热烈的讨论。且过去的几周已陆续出现了许多不同语言和库的 QOI 实现。包括 Zig、 Rust(QOI 的 Rust 实现)、 Rust(QOI 的 Rust 编码器/解码器)、 Rust(快速实现 QOI 格式)、 Go、 TypeScript、 Haskell、 Ć一种编程语言)、  C#、 Elixir、 Swift、 Java 和  Pascal ,以及 Python 和 Lua 的 包装器 。

相关链接

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册