对YUV420内容的一些理解

最近在做一个视频播放器,里面涉及到转码成YUV的内容,对这个YUV里面的内容非常不理解,百度又找不到自己需要的,所以特地做了下了解。


YUV是一种颜色编码方法,其中"Y"代表明亮度,,"U"和"V"代表其色度,最大的优点是只需要极少的频宽来进行视频信号传输。(摘自百度百科)


YUV420是YUV里的一种,其格式的Y:U:V的比例为4:2:0,即每4个Y用一组UV(这个还不是很理解)。


YUV420一帧的Y,U,V的容量占用为:

假设一帧的长 = width,宽 = height

Y:文件开头 -> width * height

U:width * height -> width * height + width /2 * height /2

V:width * height + width * height + width /2 * height /2 -> 文件末尾


为何容量会这么占用呢:

1.首先Y应该很容易理解,从开头到一帧的结尾(即width * height);

2.U这个,从Y的结束点开始(即width * height),到结束点这里可能有点不理解,为何不是一帧的大小呢(即width * height),而是width /2 * height /2?,先看下YUV420的大概结构(自己想的):




嗯,大概就这样,即”每4个Y用一组UV“(但是文件内YUV420的占用的排列方式却是按123这种顺序排列,很郁闷),这个图就可以看出,竖着的时候,每有两个Y就有一个UV,横着的时候,也是每有两个Y就有一个UV,也就是说UV是Y的一半,所以UV的一帧也要/2,所以需要width / 2 * height / 2;(嗯?好像有点新发现,即4个Y + 1个UV组成一个像素点?)

3.V和U一样,不在重复了。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值