YUV420视频序列文件研究

在网上可以很容易的找到YUV420的视频序列文件,这些文件都以.yuv作为后缀,文件存储的是一段视频的yuv420图像格式的一连串数据。文件中不包含视频和帧的尺寸及其他信息,只是纯图像数据。

 

     首先,先阐释一下YUV420的采样格式。

     其实并不是如字面那样的Y:U:V = 4:2:0,4:2:0并不意味着只有Y(Cb)而没有V(Cr)分量。420是对于每一条扫描线而言的,比如第一行扫描线的Y:U:V = 4:2:0,第二条扫描线的Y:U:V = 4:0:2。对于整幅图的采样来说,Y:U:V = 4:1:1。

 

如下图:

YUV420视频序列文件研究
对于第一行来说,只有U,没有V;对于第二行来说,只有V,没有U;对于整幅图而言,Y:U:V = 4:1:1。

 

      理解了420的采样格式后,就能够很容易地理解序列文件的存储。对于一帧图像来说,文件先写入全部的Y,再写入全部的U,再写入全部的V。值得注意的是,文件以左下角的像素点为起点,从左往右,从下往上写入。写完一帧接着再写下一帧。

 

     另外,因为文件中并不包含尺寸信息,因此没有办法从文件本身获取。一般来说,可以通过文件名来进行判断。常见的几种尺寸如下例:

filename_pal.yuv               720x576
filename _vga.yuv             640x480
filename _cif.yuv               352x288
filename _qcif.yuv             176x144

 

     了解了以上信息后,就可以读出每一帧图像的数据,从而还原一帧图像。还原图像时,如图中每四个像素共用一个U,一个V。

     接下来还可以将YUV转成RGB,并将数据写入位图文件,就可以通过一般的图像工具打开了。

 

附:YUV转RGB转换关系:

                    r = 1.164*(y-16) + 1.596*(cr-128);

                    g = 1.164*(y-16) - 0.813*(cr-128) - 0.392*(cb-128);

                                        b = 1.164*(y-16) + 2.017*(cb-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值