atrac3p:serialized_bandlet_levels
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
atrac3p:serialized_bandlet_levels [2009/11/21 16:28] – megadiscman | atrac3p:serialized_bandlet_levels [2010/07/23 16:55] (current) – delete renamed page (bandlet -> QU) megadiscman | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Serialized bandlet levels ===== | ||
- | The bandlet levels are logarithmically scaled scale factor for the band coefficients. An increase of three in the bandlet level value gives rise to an factor of two in the scaling value. The range of the level values is between 1 and 63. There are four level encoding modes, and all but mode 0 are different for the master and the slave channel. | ||
- | |||
- | Trailing bands with a quantizer of zero (i.e. no data) are trimmed. | ||
- | |||
- | ===== Encoding ===== | ||
- | ==== Serialized Bandlet Levels Block ==== | ||
- | * 2 bit: Coding mode | ||
- | === Mode 0: direct coding === | ||
- | * for each untrimmed bandlet | ||
- | * 6 bit: Level | ||
- | |||
- | ==== Serialized Quantizer Block ==== | ||
- | * 2 bit coding mode | ||
- | |||
- | === Coding mode 0: direct coding === | ||
- | * for each coded bandlet | ||
- | * 3 bits quantizer | ||
- | |||
- | === Coding mode 1 on master channel: base + direct delta === | ||
- | * 2 bit: selection of [[level base table]], 3 meaning choose from big list | ||
- | * if not choosing from big list | ||
- | * 5 bit: number of bandlets with full precision level delta (//n//) | ||
- | * 3 bit: bits of non-full-precision deltas (//b//), 7 being invalid | ||
- | * 6 bit: base value for non-full-precision deltas (//c//) | ||
- | * for each full-precision bandlet | ||
- | * 6 bits of level | ||
- | * for each reduced-precision bandlet | ||
- | * //b// bits of level. | ||
- | * if choosing from big list | ||
- | * 6 bit: level of bandlet 0/1/2 for base | ||
- | * 6 bit: selection of level table from [[big level table list]] | ||
- | * 5 bit: number of bandlets with high precision level delta (//n//) | ||
- | * 2 bit: bits of low-precision deltas (//b//) | ||
- | * 4 bit: base value for low-precision deltas (//c//), offset by 7 | ||
- | * for each high-precision bandlet | ||
- | * 4 bits of level delta (offset by 7, no sign expansion) | ||
- | * for each low-precision bandlet | ||
- | * //b// bits of level delta (not sign expanded. offset already in base value) | ||
- | |||
- | === Coding mode 1 on slave channel: delta to first === | ||
- | * 2 bit: selection of [[level delta encoding huffman tree]], 6-bit-tree used | ||
- | * for each bandlet: | ||
- | * huffman code for delta (gets added to master channel quantizer, wrapping around) | ||
- | |||
- | |||
- | === Coding mode 3 on master channel: base + walking delta === | ||
- | * 2 bit: selection of [[level base table]], 3 meaning choose from big table | ||
- | * 2 bit: selection of [[level delta encoding huffman tree]] | ||
- | * if not using big tables, use the 6-bit-tree given by the tree selection | ||
- | * 6 bit: level delta for bandlet 0 | ||
- | * for remaining bandlets | ||
- | * huffman code representing delta between previous and this level | ||
- | * if using data from the big base table (use 4-bit-trees) | ||
- | * 6 bit: level of bandlet 0/1/2 for base | ||
- | * 6 bit: selection of level table from [[big level table list]] | ||
- | * 4 bit: level delta for bandlet 0 | ||
- | * for remaining bandlets | ||
- | * huffman code representing delta between previous and this level (sign expanded) | ||
- | |||
- | === Coding mode 3 on slave channel: clone master ==== | ||
- | * no data | ||
atrac3p/serialized_bandlet_levels.1258820923.txt.gz · Last modified: 2009/11/21 16:28 by megadiscman