atrac3p:serialized_quantization_unit_levels
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
atrac3p:serialized_quantization_unit_levels [2010/07/23 16:55] – moved on bandlet -> QU megadiscman | atrac3p:serialized_quantization_unit_levels [2010/10/25 13:01] (current) – Explain signs of level prediction vectors correctly. megadiscman | ||
---|---|---|---|
Line 2: | Line 2: | ||
The quantization unit levels are logarithmically scaled scale factor for the band coefficients. An increase of three in the quantization unit 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. | The quantization unit levels are logarithmically scaled scale factor for the band coefficients. An increase of three in the quantization unit 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 | + | Trailing bands with a quantization precision |
- | ==== Base tables | + | ==== Prediction Vectors |
- | The base tabels | + | The prediction vectors |
- | If an extended | + | For the basic vectors only, the prediction vectors are to be subtracted from the data instead of added,so the no-wraparound condition means that encoding a delta of 6 (i.e. +6) while the prediction vector says 8 (i.e. -8) is an error. |
+ | |||
+ | If an extended | ||
==== Encoding Modes ==== | ==== Encoding Modes ==== | ||
Line 14: | Line 16: | ||
=== 1 (on master channel): Direct encoded delta === | === 1 (on master channel): Direct encoded delta === | ||
- | A base table is selected, and for each quantization unit a difference (delta) is stored. If a basic base table is used, for the first (//n// quantization units) a full 6-bit delta is stored (but still note the no-wraparound restriction), | + | A prediction vector |
=== 1 (on slave channel): Diffence to master === | === 1 (on slave channel): Diffence to master === | ||
Line 20: | Line 22: | ||
=== 2 (on master channel): Huffman-encoded delta === | === 2 (on master channel): Huffman-encoded delta === | ||
- | A base table from the extended | + | A vector |
=== 2 (on slave channel): Delta-encoded difference to master === | === 2 (on slave channel): Delta-encoded difference to master === | ||
Line 26: | Line 28: | ||
=== 3 (on master channel): Delta-encoded deltas to base === | === 3 (on master channel): Delta-encoded deltas to base === | ||
- | A base table (either | + | A prediction vector |
=== 3 (on slave channel): Copy from master channel === | === 3 (on slave channel): Copy from master channel === | ||
Line 39: | Line 41: | ||
=== Coding mode 1 on master channel: base + direct delta === | === Coding mode 1 on master channel: base + direct delta === | ||
- | * 2 bit: selection of [[level | + | * 2 bit: selection of [[basic level prediction vectors|basic level prediction vector]], 3 meaning choose from big list |
- | * if not choosing from big list | + | * if using a basic prediction vector |
* 5 bit: number of quantization units with full precision level delta (//n//) | * 5 bit: number of quantization units with full precision level delta (//n//) | ||
* 3 bit: bits of non-full-precision deltas (//b//), 7 being invalid | * 3 bit: bits of non-full-precision deltas (//b//), 7 being invalid | ||
Line 48: | Line 50: | ||
* for each reduced-precision quantization unit | * for each reduced-precision quantization unit | ||
* //b// bits of level. | * //b// bits of level. | ||
- | * if choosing from big list | + | * if using an extended prediction vector |
* 6 bit: level of quantization unit 0/1/2 for base | * 6 bit: level of quantization unit 0/1/2 for base | ||
- | * 6 bit: selection of level table from [[big level table list]] | + | * 6 bit: selection of level table from [[extended |
* 5 bit: number of quantization units with high precision level delta (//n//) | * 5 bit: number of quantization units with high precision level delta (//n//) | ||
* 2 bit: bits of low-precision deltas (//b//) | * 2 bit: bits of low-precision deltas (//b//) | ||
Line 62: | Line 64: | ||
* 2 bit: selection of [[level delta encoding huffman tree]], 6-bit-tree used | * 2 bit: selection of [[level delta encoding huffman tree]], 6-bit-tree used | ||
* for each quantization unit: | * for each quantization unit: | ||
- | * huffman code for delta (gets added to master channel | + | * huffman code for delta (gets added to master channel |
- | === Coding mode 2 on master channel: | + | === Coding mode 2 on master channel: |
* 2 bit: selection of 4-bit [[level delta encoding huffman tree]] | * 2 bit: selection of 4-bit [[level delta encoding huffman tree]] | ||
* 6 bit: level of quantization unit 0/1/2 for base | * 6 bit: level of quantization unit 0/1/2 for base | ||
- | * 6 bit: selection of level table from [[big level table list]] | + | * 6 bit: selection of level table from [[extended |
* for each quantization unit with delta: one huffman code (sign-expanded, | * for each quantization unit with delta: one huffman code (sign-expanded, | ||
Line 76: | Line 78: | ||
=== Coding mode 3 on master channel: base + walking delta === | === Coding mode 3 on master channel: base + walking delta === | ||
- | * 2 bit: selection of [[level | + | * 2 bit: selection of [[basic level prediction vectors|basic level prediction vector]], 3 meaning choose from big table |
- | * if using a primary base table | + | * if using a basic prediction vector |
* 2 bit: selection of 6-bit [[level delta encoding huffman tree]] | * 2 bit: selection of 6-bit [[level delta encoding huffman tree]] | ||
* 6 bit: level delta for quantization unit 0 | * 6 bit: level delta for quantization unit 0 | ||
* for remaining quantization units | * for remaining quantization units | ||
* huffman code representing delta between previous and this level | * huffman code representing delta between previous and this level | ||
- | * if using data from an extended | + | * if using an extended |
* 2 bit: selection of 4-bit [[level delta encoding huffman tree]] | * 2 bit: selection of 4-bit [[level delta encoding huffman tree]] | ||
* 6 bit: level of quantization unit 0/1/2 for base | * 6 bit: level of quantization unit 0/1/2 for base | ||
- | * 6 bit: selection of level table from [[big level table list]] | + | * 6 bit: selection of level table from [[extended |
- | * 4 bit: level delta for quantization unit 0 | + | * 4 bit: level delta for quantization unit 0, offset by 8 (so -8..7 are possible) |
* for remaining quantization units | * for remaining quantization units | ||
* huffman code representing delta between previous and this level (sign expanded) | * huffman code representing delta between previous and this level (sign expanded) |
atrac3p/serialized_quantization_unit_levels.txt · Last modified: 2010/10/25 13:01 by megadiscman