Code Poetry
and Text Adventures

by catid posted (>30 days ago) 11:30am Mon. Apr 22nd 2013 PDT
Writing this down so I don't forget:

- 1-RLE and 255-RLE in addition to zRLE

- Using left chaos metric only

- Recent post-filter color palette with escape symbols

- Same-as-last post-filter escape symbol

- LZ4HC of post-filter data followed by entropy encoding

- LZ4HC of non-zero post-filter data (seemed to be better but this didn't include non-zero escape symbols and stuff..  seems hard to implement with dubious value)

- Global post-filter color palette (i didn't actually try this but investigated: most popular dual-color palette is 255,255,0 -- only covers 2k/500k pixels, so cannot help compression more than 0.2% to include)

- Global pre-filter color palette applied to tricolor post-filter pixels (same: seems like the most common color palette entry that can help here only covers 1k pixels, so not worth it)

I'm guessing that tricolor pixels take about 9 bits on average since these would be the most common symbols overlapping.  This doesn't give much room for improvement using a global color palette since the lookup for that would take about 8 bits anyway.  The gains may be realized in longer zRLE runs in U, V, and (less likely) A channels.  Those would probably be offset by the palette overhead.  Not worth it.
last edit by catid edited (>30 days ago) 12:33pm Mon. Apr 22nd 2013 PDT