YUV420视频序列文件研究
2014-08-20 14:32
288 查看
在网上可以很容易的找到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。
如下图:
对于第一行来说,只有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
首先,先阐释一下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。
如下图:
对于第一行来说,只有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
相关文章推荐
- 视频文件解码与起始码(startcode) 研究
- C间隔帧读取yuv视频序列并将提取出的帧序列组成新的yuv文件
- 视频文件解码与起始码(startcode) 研究
- MATLAB与图像处理(四):将图片序列转化为视频文件,将视频文件转化为图片
- iOS GPUImage研究四:为视频文件添加滤镜
- matlab下将图片序列转化为视频文件
- YUV420视频序列转化为单帧PGM灰度图像脚本
- 视频测试序列下载:YUV文件
- 视频测试序列下载:YUV文件
- matlab下将图片序列转化为视频文件 && 将为视频文件转化图片序列
- 视频文件格式研究
- ffmpeg编码YUV420视频序列
- MATLAB与图像处理(四):将图片序列转化为视频文件,将视频文件转化为图片
- iOS GPUImage研究五:短视频拍摄(滤镜、文件写入)
- 关于Global.asa文件的深入研究与session变量失效提示的具体方法
- 基于WGS和CBC测序策略的DNA序列拼接算法研究(三)
- 研究了三天的文件上传(jspsmart实现)file和text表单同时提交的问题
- 基于WGS和CBC测序策略的DNA序列拼接算法研究(七)
- MPEG-4视频编码核心思想及技术研究
- [导入]关于ASP.NET返回文件的继续研究