atrac3p:serialized_quantization_unit_levels
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
atrac3p:serialized_quantization_unit_levels [2010/07/23 17:35] – quantizer -> quantization precision; fix cut'n'pasto megadiscman | atrac3p:serialized_quantization_unit_levels [2010/10/25 13:01] (current) – Explain signs of level prediction vectors correctly. megadiscman | ||
---|---|---|---|
Line 5: | Line 5: | ||
==== Prediction Vectors ==== | ==== Prediction Vectors ==== | ||
- | The prediction vectors (common distributions) of the levels fall into two classes. Three [[basic level prediction vectors]] (one of them completely zero) and 64 different [[extended level prediction vectors]]. The base tables | + | The prediction vectors (common distributions) of the levels fall into two classes. Three [[basic level prediction vectors]] (one of them completely zero) and 64 different [[extended level prediction vectors]]. 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 40: | Line 42: | ||
=== Coding mode 1 on master channel: base + direct delta === | === Coding mode 1 on master channel: base + direct delta === | ||
* 2 bit: selection of [[basic level prediction vectors|basic level prediction vector]], 3 meaning choose from big list | * 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 [[extended level prediction vectors]] | * 6 bit: selection of level table from [[extended level prediction vectors]] | ||
Line 64: | Line 66: | ||
* huffman code for delta (gets added to master channel level, wrapping around) | * huffman code for delta (gets added to master channel level, wrapping around) | ||
- | === 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 | ||
Line 77: | Line 79: | ||
=== Coding mode 3 on master channel: base + walking delta === | === Coding mode 3 on master channel: base + walking delta === | ||
* 2 bit: selection of [[basic level prediction vectors|basic level prediction vector]], 3 meaning choose from big table | * 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 [[extended level prediction | + | * 6 bit: selection of level table from [[extended level prediction |
- | * 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