View Single Post
Old 24th June 2018, 16:17   #716  |  Link
blurred
Registered User
 
Join Date: Jul 2016
Posts: 14
Quote:
Originally Posted by Phanton_13 View Post
(...)in the range coder of daala most multiplication are constant*value(...)
If I properly understand, there are 16 multiplications due to "maximal alphabet size" = 16 - it needs to multiply "range size" by CDF value for all 16 symbols.
In contrast, rANS needs to multiply by only one value (p[s] = CDF[s+1]-CDF[s]), where s is the currently decoded symbol.

CDF changes with data type (context), and can be adapted - these are definitely not constant values.
In hardware you can build 16 parallel multipliers not to increase frequency, but it would need 16x more gates, and most importantly: consume 16x more energy.
blurred is offline   Reply With Quote