How you've got this? Was it a long term private project, part of your Job or did you woke up one night from a dream and yelled "EUREKA"?I'll do a compression comparison with some other formats, I'll include BPG too.
I'll put the source on github.
Some of the main ideas behind the compression:
- it uses CABAC for entropy coding, just like FFV1
- for interlacing it uses a generalization of PNG's Adam7; unlike PNG, the geometry of the 2D interlacing is exploited heavily to get better pixel estimation, which means the overhead of interlacing is small (vs simple scanline encoding, which has the benefit of locality so usually compresses better)
- the colorspace is a lossless simplified variant of YIQ, alpha and Y channel are encoded first, chroma channels later
- the real innovation is in the way the contexts are defined for the arithmetic coding: during encoding, a decision tree is constructed (a description of which is encoded in the compressed stream) which is a way to dynamically adapt the CABAC contexts to the specific encoded image. We have called this method "MANIAC", which is a backronym for "Meta-Adaptive Near-zero Integer Arithmetic Coding".
I'll have to write a paper about this at some point to explain everything.
Last edited by a moderator: