谁来给我讲讲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的格式看了很久了,基本上就剩下这点,请高手一定出手相助,多谢。

...全文
745 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
thundered 2003-05-18
  • 打赏
  • 举报
回复
强烈建议看看《图像文件格式Windows编程》(上)网上有下载的,超星电子书,jpeg一章
JIFEX 2003-05-18
  • 打赏
  • 举报
回复
我的QQ:3175001
不过不一定好用我在局域网内
xzygod 2003-05-18
  • 打赏
  • 举报
回复
上qq接
JIFEX 2003-05-18
  • 打赏
  • 举报
回复
唉我找了一个下午也没找到好用的超星阅读器....
xzygod 2003-05-18
  • 打赏
  • 举报
回复
yes
JIFEX 2003-05-18
  • 打赏
  • 举报
回复
再问一句,16X16的像素矩阵切割成8*8的是不是就是说这一个16x16的切成了4个8*8的?然后MCU里分别按左上右上左下右下的顺序排列这四个Y的8*8,然后加上UV的8*8。组成一个MCU?
xzygod 2003-05-17
  • 打赏
  • 举报
回复
如果RGB分量相等就呈现灰度的效果,就像黑白电视机一样,这是只要一个信号就可以表示了,就是一个MCU只有一个DU

8x8 or 16x16象素的象素矩阵(R-G-B)-切割8x8块-色彩空间变换-FDCT-量化-Huffman编码-结束
tianzhen 2003-05-17
  • 打赏
  • 举报
回复
能讲讲图象压缩的原理吗,什么叫灰度,还有压缩的思路
xzygod 2003-05-17
  • 打赏
  • 举报
回复
1.先试试把.觉得平均值合理些
2,不是16x16 是 8x8,每个du就是8x8编码后的内容,16x16对齐是为了411采样时CrCb也能被8x8分割

4,448

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧