您的位置:控制工程论坛网论坛 » 人机界面 » 在EM642采集的图象存储时,象素以y,cb,cr存储,其每个值是怎么存放的,什么形式?

yangran

yangran   |   当前状态:离线

总积分:491  2024年可用积分:0

注册时间: 2010-03-25

最后登录时间: 2017-06-12

空间 发短消息加为好友

在EM642采集的图象存储时,象素以y,cb,cr存储,其每个值是怎么存放的,什么形式?

yangran  发表于 2010/4/27 10:13:32      1507 查看 0 回复  [上一主题]  [下一主题]

手机阅读

问题的提出:在DM642采集的图象存储时,象素以y,cb,cr存储,其每个值是怎么存放的,什么形式?

问题的解决: 

YUV格式有两大类:planar和packed。
对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。
对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。
以dm642的H263loopback例子程序为例,
发送线程中,视频捕获后我们得到YUV422 planar数据,
然后转化成YUV420 planar数据,再进行编码。
以720×488大小图象YUV420 planar为例,其存储格式是:
共大小为(720×480×3>>1)字节,分为三个部分:Y,U和V
Y分量:    (720×480)个字节  
U(Cb)分量:(720×480>>2)个字节
V(Cr)分量:(720×480>>2)个字节
三个部分内部均是行优先存储,三个部分之间是Y,U,V 顺序存储。
即YUV数据的0--720×480字节是Y分量值,
           720×480--720×480×5/4字节是U分量
           720×480×5/4 --720×480×3/2字节是V分量。

4 :2: 2 和4:2:0 转换:

最简单的方式:
YUV4:2:2 ---> YUV4:2:0  Y不变,将U和V信号值在行(垂直方向)在进行一次隔行抽样。
YUV4:2:0 ---> YUV4:2:2  Y不变,将U和V信号值的每一行分别拷贝一份形成连续两行数据。
DM642中好像就是这么处理的,至少图像显示没有问题。

1楼 0 0 回复