Nibnib 是作为一种实验性解决方案开发的,旨在解决特定的硬件限制:即在 RP2350 等微控制器上显示图像。在这些设备上,处理预算极其紧张——大约每像素仅有六个周期。这个预算仅够执行像素获取、调色板查找和存入行缓冲区,几乎没有空间留给复杂的解压缩逻辑。为了满足这一要求,Nibnib 优先考虑确定且简单的解码过程,而非编码的复杂性。
该格式通过从单个输入字节中同时解码两个像素,实现了 4bpp(每像素比特数)的压缩率。与存储绝对颜色的标准调色板图像不同,Nibnib 使用颜色增量(delta)调色板。这种方法显著提高了图像中“软”区域的质量。解码机制的工作原理是:从调色板中获取一个增量值,并将其加到上一个已解码像素的双倍版本上。此操作产生两个 16bpp(RGB 565 格式)像素,其中低 16 位代表左侧像素。由于解码仅涉及简单的加法和位移操作,它可以以受限硬件上实时显示所需的极高速度执行。

该图表解释了具体的解码机制,即将增量值加到上一个像素的双倍版本上。
这种高解压缩速度是以高度不对称的编码过程为代价的。虽然解码几乎是瞬时的,但编码器必须在所有可能的编码图像空间中进行复杂的搜索,以找到原始图像的高质量副本。此搜索涉及选择最佳调色板和最佳码字,使得编码器的速度比解码器慢几个数量级。目前,贪婪搜索算法可能会导致在锐利边缘右侧出现伪影。此外,调色板尚未根据特定输入图像进行自适应选择,这是未来提高质量的主要领域。虽然该格式不用于长期存档,但其设计旨在与解码器紧密集成,以实现高性能、低功耗的视觉输出。

此图像说明了第三段中提到的贪婪搜索算法的当前局限性。

此图像作为与伪影较多版本的对比,展示了该格式编码过程的潜力。