龙空技术网

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

开源中国OSC 2121

前言:

如今我们对“c语言显示图像”都比较珍视,大家都想要知道一些“c语言显示图像”的相关知识。那么小编也在网摘上汇集了一些有关“c语言显示图像””的相关资讯,希望咱们能喜欢,我们快快来了解一下吧!

出品|开源中国

文|罗奇奇

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 的 包装器 。

相关链接

- QOI 源代码

- QOI 官网

- QOI 文件格式规范

- 原生 QOI 图像查看器

- GIMP、Paint.NET 和 XnView MP 的 QOI 插件安装程序

- Paint.NET 的 QOI 插件


标签: #c语言显示图像