QOI – O(n)-verlustfreie Bildkomprimierung
(phoboslab.org)<p>„Quite OK Image“ <br />
- Führt RGB/RGBA-Komprimierung mit einer Größe ähnlich wie PNG aus<br />
→ Die Komprimierung ist 20x–50x schneller, das Dekomprimieren 3–4x schneller <br />
→ Open-Source-C-Code als Single-Header-Datei mit 300 Zeilen <br />
→ Einfache Single-Thread-Implementierung ohne SIMD <br />
- Technische Details <br />
→ Bildkodierung/-dekodierung in einem einzigen Durchlauf <br />
→ Jedes Pixel wird nur einmal verarbeitet, und jedes Pixel wird mit einer von vier Methoden kodiert <br />
⇨ Ist es identisch mit dem unmittelbar vorherigen Pixel, wird die Run-Length des vorherigen Pixels erhöht; andernfalls wird das neue Pixel mit einer der drei folgenden Methoden gepackt <br />
⇨ Ist es identisch mit einem bereits verarbeiteten Pixel, wird der Index dieses Pixels verwendet. Dafür gibt es ein Array für die letzten 64 Pixel<br />
⇨ Wenn es sich nicht stark vom vorherigen Pixel unterscheidet, werden die RGBA-Differenzwerte gespeichert <br />
⇨ Wenn die drei vorherigen Methoden fehlschlagen, werden die RGBA-Werte des Pixels gespeichert. Allerdings werden nur die Teile gespeichert, die sich vom vorherigen Pixel unterscheiden </p>
3 Kommentare