[daala] Why not upgrading Daala range coding with much faster rANS or tANS?

Jarek Duda dudajar at gmail.com
Thu Dec 24 23:48:43 PST 2015

There are starting tests of ANS for VP10:
They use the variants with multiplication: rABS or uABS for binary 
(there are both implemented) plus rANS for large alphabet (e.g. DCT coef).

On 15/08/15 12:57, Timothy B. Terriberry wrote:
> Jarek Duda wrote:
>> Indeed I don't see multiplication by frequencies here.
>> If I properly understood,
>> OD_MAXI, OD_MINI is maximum, minimum of two variables
>> OD_SUBSATU(a,b) = a - min(a,b)
>> OD_ASSERT is only information for compiler
>> dif is the start of the range (?)
> This is documented in entdec.h: "The difference between the coded value
> and the low end of the current range."
>> r is its length
>> ft gives the proportions to focus inside the range
> ft is everywhere the total of the frequency counts (this is documented
> in a few places where it is passed directly).
>> I have to admit that I don't see how it finds the new range, lines 280 -
>> 291 seem to should do it (?), what is below seem to be renormalization
>> related (?)
> The new range is computed on line 316: r = v - u;
> u and v are evaluations of the partition function on fl and fh
> respectively (the low and high cumulative frequency counts of the
> decoded symbol). Renormalization happens in od_ec_dec_normalize().
>> It seems you have a general purpose entropy coder, which could be also put in different applications, so maybe it's worth benchmarking alone?
> Sure, I encourage other people to play around with it. Just saying it's
> not the test I'd use to decide if something should be included in Daala.
> _______________________________________________
> daala mailing list
> daala at xiph.org
> http://lists.xiph.org/mailman/listinfo/daala

dr Jarosław Duda
Institute of Computer Science and Computer Mathematics,
Jagiellonian University, Cracow, Poland

More information about the daala mailing list