A deep dive into why the ASTC texture compression format uses Integer Sequence Encoding (ISE) rather than simpler prefix codes or arithmetic coding. ISE encodes groups of trits (base-3 values) or quints (base-5 values) into fixed-size bit groups, achieving near-optimal packing. While ISE's expected bit savings over a basic prefix code are modest (~0.07 bits per symbol), the real advantage is predictability: ISE always encodes n values into exactly the same number of bits regardless of data content. ASTC blocks are only 128 bits total, so this fixed-size guarantee lets encoders infer coding parameters from remaining bits without extra header overhead. Prefix codes would introduce variability requiring additional signaling bits, negating any savings. Most other formats don't need ISE because prefix codes are good enough on average, and those needing tighter control typically use full arithmetic coding instead.

7m read timeFrom fgiesen.wordpress.com
Post cover image
Table of contents
Addendum: quintsRelated

Sort: