User Tools

Site Tools


atrac3p:atrac_spectrum_anatomy

ATRAC3+ anatomy

ATRAC3+ spectrum layout

The spectrum (0..22.05kHz) for 44.1kHz sample rate is divided into 16 bands of equal spectral width of 1378.125Hz. Some of these 16 bands are further divided into quantization units (all quantization units of the same bands have the same spectral), as at low frequencies the same spectral width occupies a higher relative spectrum range (i.e. a higher pitch interval). All quantization units' data has to be combined into the total band data before the IMDCT synthesis can be performed, so all processing steps in time domain work on band basis or even more coarse, while the spectral data itself is encoded on the level of quantization units.

The selection of spectral dither noise amplitude uses a scheme of dither groups that contain several quantization units. Borders of dither groups coincide with borders of bands except for the first dither group that leaves out the first two quantization units of the first band.

The layout is like this

dither group none 0 1 2 3 4
band 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
quantization unit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

One ATRAC3+ block contains 128 spectral samples per band, yielding 2048 samples in total. The lapped structure of the IMDCT, working on 4096 input samples at a time, causes the the transform window size to be cited as 4096 even though the block size is just 2048 samples.

Data in an ATRAC3+ substream block by level

  • Per substream data:
    • highest used quantization unit (used to calculate highest non-zero band and highest non-zero dither group)
    • Mute flag
    • Time-domain dither info
  • Per channel data
  • Per dither-group data
    • Frequency-domain dither level
  • Per band data
    • Joint-stereo info
    • Envelopes
    • Tone data
  • Per quantization unit data
    • Spectral quantizers
    • Spectral levels
    • Coefficient encoding tree selection
    • Coefficients
atrac3p/atrac_spectrum_anatomy.txt · Last modified: 2010/11/16 18:37 by megadiscman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki