QOI - O(n) の可逆画像圧縮
(phoboslab.org)<p>"Quite OK Image" <br />
- PNGに近いサイズでRGB/RGBA圧縮を実行<br />
→ 圧縮は20〜50倍高速で、展開は3〜4倍高速 <br />
→ 300行のシングルヘッダーファイルによるCコードのオープンソース <br />
→ SIMDを使わないシンプルなシングルスレッド実装 <br />
- 技術的な詳細 <br />
→ 単一パスで画像をエンコード/デコード <br />
→ すべてのピクセルに一度だけ触れ、各ピクセルは4つの方法のいずれかでエンコード <br />
⇨ 直前のピクセルと同じなら前のピクセルのrun-lengthを増やし、異なるなら新しいピクセルを次の3つの方法のいずれかでパック <br />
⇨ すでに処理したピクセルと同じならそのピクセルのインデックスを使用。これのために直近64個のピクセルに対する配列を保持<br />
⇨ 前のピクセルとの差が大きくなければ、そのRGBA差分値を保存 <br />
⇨ 前の3つの方法が失敗した場合はピクセルのRGBA値を保存。ただし直前のピクセルと異なる部分だけを保存 </p>
3件のコメント