I've read in dozens of articles, scientific papers, and toy implementations that the steps in JPEG compression are roughly as follows
- Take 8x8 DCT
- Divide by quantization matrix
- Round to integers
- Run-length & Hufmann
And then the inverse is pretty much the same. What is left out in everything on the topic I've found so far is the magnitude of the data and the corresponding serialization.
It appears implicitly assumed that all the coefficients are stored as unsigned bytes. However, as I understand it, the DC coefficient is in the range 0-255, while the AC coefficients can be negative. Are the AC coefficients in the range ±255, or ±127, or something else?
What is the common way to store these coefficients in a compact way?