nibnib:把图片压到 4bpp、解码快到按周期数着算,Raph Levien 刚开源的实验性图片格式

nibnib 官方测试原图:一束花

nibnib 是 Raph Levien(Xi 编辑器等项目的作者)10 月 30 日刚开源的一个实验性图片格式,目标很具体:给 RP2350 这类单片机做 DVI 输出时,解码也要快到能实时出图。它一个字节存两个像素,压到 4bpp(每像素 4 位),解码时每像素大约只要 6 个 CPU 周期。

它的办法是调色板里存「差值」而不是绝对颜色:柔和区域的画质比普通调色板图好得多;解码过程就是查表加加法,确定又简单。编码端配了 Floyd–Steinberg 误差扩散,逐像素试 256 个调色板项、挑误差最小的那个。README 里有算法图解和三张对比图,能直观看到调色板加了随机值前后的画质差别。

先说清楚定位:作者自己说了,这个格式极其简单、没有元数据,不适合存档,更适合跟解码器紧耦合的嵌入式场景;目前编码器还很慢、画质也有提升空间,仓库只有 10 次提交、88 星,是个刚起步的实验。想玩图片格式、或者做嵌入式显示的,可以先读 README 再动手。站内之前发过的开源图片编辑器 PhotoCraft是另一路图片工具,可以对照着看。

来源:Hacker News @raphlinus,原文:https://github.com/raphlinus/nibnib

请登录后发表评论

    没有回复内容