谁来给我讲讲jpeg里什么是一个MCU,和DU?
JIFEX 2003-05-15 02:50:21 这里的信息是怎么组织的?文章中说一个MCU包含了(Hmax*8)X(Vmax*8)的信息。可是Y值和CbCr值就是怎么组织的?
下面是文章中原话,请高手帮忙理解一下,多谢了!
一般情况 (即: Y 逐点采样, Cr Cb 每 2x2 点一次) 下: Y 有最高的采样率, 横向采
样系数HY=2 纵向采样系数 VY=2; Cb 的横向采样系数 HCb=1, 纵向采样系数 VCb=1;
同样 HCr=1, VCr=1
在 Jpeg 里, 8x8 个原始数据, 经过 RLE, Huffman 编码后的一串数据流称为一个
Data Unit (DU) JPG 里按 DU 为单位的编码次序如下:
1) for (counter_y=1;counter_y<=VY;counter_y++)
for (counter_x=1;counter_x<=HY;counter_x++)
{ 对 Y 的 Data Unit 编码 }
2) for (counter_y=1;counter_y<=VCb ;counter_y++)
for (counter_x=1;counter_x<=HCb;counter_x++)
{ 对 Cb 的 Data Unit 编码 }
3) for (counter_y=1;counter_y<=VCr;counter_y++)
for (counter_x=1;counter_x<=HCr;counter_x++)
{ 对 Cr 的 Data Unit 编码 }
按我上面的例子: (HY=2, VY=2 ; HCb=VCb =1, HCr,VCr=1) 就是这样一个次序
YDU,YDU,YDU,YDU,CbDU,CrDU
这些就描述了一块 16x16 的图形. 16x16 = (Hmax*8 x Vmax*8) 这里 Hmax=HY=2
Vmax=VY=2
问题有以下几个:
1.Cb值和Cr值怎么取?是四个像素取第一个像素的值么?还是每个像素都取算平均值。
2.作者是这样描述的:YDU,YDU,YDU,YDU,CbDU,CrDU。这第一个YDU的值就是这16*16的数据块的开始的64个像素点的数据么?然后依次是第二个64个像素点的数据么?这样岂不是和后面的CbDU,CrDU不同步了么?
JPEG的格式看了很久了,基本上就剩下这点,请高手一定出手相助,多谢。