- Feb 02, 2011
-
-
This stores the caps array in 32nd bits/sample instead of 1/2 bits scaled by LM and the channel count, which is slightly less less accurate for the last two bands, and much more accurate for all the other bands. A constant offset is subtracted to allow it to represent values larger than 255 in 8 bits (the range of unoffset values is 77...304). In addition, this replaces the last modeline in the allocation table with the caps array, allowing the initial interpolation to allocate 8 bits/sample or more, which was otherwise impossible.
-
- Feb 01, 2011
-
-
Previously, we would only split a band if it was allocated more than 32 bits. However, the N=4 codebook can only produce about 22.5 bits, and two N=2 bands combined can only produce 26 bits, including 8 bits for qtheta, so if we wait until we allocate 32, we're guaranteed to fall short. Several of the larger bands come pretty far from filling 32 bits as well, though their split versions will. Greg Maxwell also suggested adding an offset to the threshold to account for the inefficiency of using qtheta compared to another VQ dimension. This patch uses 1 bit as a placeholder, as it's a clear improvement, but we may adjust this later after collecting data on more possibilities over more files.
-
- Jan 31, 2011
-
-
Use measured cross-entropy to estimate the real cost of coding qtheta given the allocated qb parameter, instead of the entropy of the PDF. This is generally much lower, and reduces waste at high rates. This patch also removes some intermediate rounding from this computation.
-
This extends the previous rebalancing for fine energy in N=1 bands to also allocate extra fine bits for bands that go over their cap.
-
- Jan 29, 2011
-
-
Jean-Marc Valin authored
-