JPEG algorithm - Replacing DCT with Hadamard Transform

Viewed 455

I would like to replace the Discrete Cosine Transform in JPEG format with Hadamard Transform. But I don't know what stage have to be added/dropped/changed in the original algorithm. As I understand it the JPEG algorithm without the Huffman coding is as follows:

  1. Image division into 8x8 non-overlapping blocks;
  2. Each block is level-shift by subtracting 128 from it;
  3. DCT on each block to frequency domain. Here I want to use Hadamard instead;
  4. Quantization by quality factor;
  5. Reordering of each block in zig-zag pattern;
  6. Removing the trailing zeroes and inserting EOB symbol (End-Of-Block);

My guess is that the zig-zag reordering will not move all the frequencies with the highest energy concentration to the head of the vector, and all the zeroes will be trailing, hence have to be changed. Also the level-shift, which is used to reduce the range of the DCT coefficents (gives greater precision) may have to be changed. The answer may be in JPEG-XR format, which uses the HT instead of the DCT, but It will take a while before I can take a copy of it and understand all the mathematics behind it.

1 Answers
Related