reset password
Author Message
LuisG72
Posts: 36
Posted 15:32 Apr 24, 2020 |

For the DCT formula, we create and 8x8 block. Does this block have one Quantize(Fuv) or does it have one Quantized(Fuv) for every pixel in the 8x8 block?

If the blocks have only one quantized(Fuv) value do we save those values into the quantY/Cb/Cr.

What I mean is if an image is 64x64 we have 64 blocks in the image so will we have 64 quantized(Fuv) values and do we save those 64 values into a quantY array of size [8][8].

 

 

yzhao52
Posts: 32
Posted 15:54 Apr 24, 2020 |

Array of quantY/quantCb/quantCr shall be the same size as Y444/Cb420/Cr420. For example, for one 64x64 image, Y is 64x64, Cb/Cr are both 32x32, the quantY shall be one integer array of 64x64, and quantCb/quantCr shall be both 32x32.

Now, the follwing summarizes the details in combined E3/E4 steps:

  1. Copy one 8x8 block from the inpY444/inpCb420/inpCr420 plane. (still pixel value)
  2. Conduct 2-D DCT on this block and obtain 64 DCT coefficients.
  3. Apply quantization (each coefficient is using different quantization step) and get 64 quantized DCT coefficients.
  4. Copy these 64 quantized DCT coefficients to the corresponding 8x8 block in the array of quantY/quantCb/quantCr.

The combined steps D1/D2 just reverse the previous work:

  1. Copy 64 quantized DCT coefficients for one 8x8 block from quantY/quantCb/quantCr.
  2. Apply dequantization and get 64 dequantized DCT coefficients.
  3. Conduct 2-D IDCT and recover 64 pixel values in this 8x8 block.
  4. Copy the 64 recovered pixel values back to outY444/outCb420/outCr420.

 

Last edited by yzhao52 at 15:57 Apr 24, 2020.
LuisG72
Posts: 36
Posted 16:15 Apr 24, 2020 |

Thank you professor!