Skip to content
Snippets Groups Projects
  1. Feb 02, 2011
    • Timothy B. Terriberry's avatar
      Increase caps/allocation accuracy. · ce6d0904
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      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.
      ce6d0904
  2. Feb 01, 2011
    • Timothy B. Terriberry's avatar
      Adjust the splitting threshold. · 4499263b
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      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.
      4499263b
  3. Jan 31, 2011
    • Timothy B. Terriberry's avatar
      More band caps updates. · b5d123a5
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      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.
      b5d123a5
    • Timothy B. Terriberry's avatar
      Add generic fine-energy rebalancing. · 13bffd28
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      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.
      13bffd28
  4. Jan 29, 2011
Loading