Re: JPEG Compression Algorithm




cr88192 wrote:
"fulltime" <PiaoChieh@xxxxxxxxx> wrote in message
news:1166940638.096656.325160@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
i) After reading in an image using imread, the image is in RGB format,
so I converted it to YCbCr. Am I correct to say the 3D array
corresponds to Y(1st), Cb(2nd) and Cr(3rd) component?

Hi, Thks for replying.. wat i mean is after u do Image =
imread(input.jpg)
Image will be a m by n by 3 RGB array. after converting to YCbCr,
Image(m,n,1) is of Y component, Image(m,n,2) is for Cb component and so
on, am i right?

When u say u downsample to 1/4 of the Cb and Cr coefficients, do u mean
u keep the first 2 row and columns? This downsample to 1/4, is it
acording to any refernece books or websites?


no, you are rather far off track.

nothing is done to the coefficients.


rather, you have 800x600 image, now, it is split into 3 planes.

800x600 Y
800x600 Cb
800x600 Cr

downsampling Cb and Cr:
800x600 Y
400x300 Cb
400x300 Cr

then, after this, one does the DCT transform.


and note, we downsample by 1/2, which leads to 1/4 as many pixels, but
saying that one downsamples by 1/4 is rather innaccurate.

basically, 1/4 is a result of the 2 1/2 scales:
1/2 x 1/2 = 1/4

note that this is related to the definition of area:
Area=Width*Height

i got a qn regarding wat u mentioned. after downsampling the Cb n Cr
components, it will be 400x300, then at the decoder end, since the Y
and the Cb and Cr components are of different size, wat do we do?

.