QOI影像壓縮格式介紹

引入了一種新的輕量級無損影像壓縮格式 - QOI(相當好的影像),它允許您非常快速地壓縮 RGB 和 RGBA 色彩空間中的影像。 與 PNG 格式進行效能比較時,QOI 格式的 C 語言單執行緒參考實現,不使用 SIMD 指令和彙編優化,編碼速度比 libpng 和 stb_image 函式庫快 20-50 倍,3解碼速度快-4倍。 就壓縮效率而言,QOI 在大多數測試中接近 libpng(在某些測試中稍微領先,在另一些測試中稍遜一籌),但總體上明顯領先於 stb_image(增益高達 20%)。

QOI 的 C 參考實作只有 300 行程式碼。 原始碼根據 MIT 許可證分發。 此外,愛好者們還準備了 Go、Zig 和 Rust 語言的編碼器和解碼器的實作。 該專案由 Dominic Szablewski 開發,他是一位遊戲開發人員,在創建用於解碼 MPEG1 影片的庫方面擁有豐富的經驗。 作者希望使用 QOI 格式來表明,可以創建一種有效且簡單的替代方案來取代過於複雜的現代影像編碼格式。

QOI 表現與編碼影像的解析度和性質無關 (O(n))。 編碼和解碼一次執行 - 每個像素僅處理一次,並且可以透過 4 種方式之一進行編碼,具體選擇取決於先前像素的值。 如果下一個像素與前一個像素重合,則重複計數器只會增加。 如果該像素與 64 個過去像素緩衝區中的值之一匹配,則該值將被替換為過去像素的 6 位元偏移量。 如果前一個像素的顏色略有不同,則以簡短形式指示差異(適合 2,4、5 和 XNUMX 位的顏色分量差異的簡短編碼)。 如果最佳化不適用,則提供完整的 rgba 值。

來源: opennet.ru

添加評論