视频基础知识

图像有两种数值表示方法,它们分别是RGB表示方式和YUV表示方式

RGB表示方式:像素包含了浮点表示和整数表示

1.浮点表示:取值范围为0.0~1.0,比如,在OpenGL ES中对每一个像素点的表示

2.整数表示:取值范围为0~255,8个比特表示要给子像素,32个比特表示一个像素,类似于RGBA_8888数据格式。还有RGB_565数据格式,即是使用16个比特表示一个像素,R用5个比特表示,G用6个比特表示,B用5个比特表示

例如当前使用的手机一般都是1920*1080,它代表的是手机屏幕里面有1920行,每行包括了1080个像素。所以它的图像如果按照RGBA_8888格式计算的话,那么就是1920*1080*32/8/1024/1024=7.91MB。这就是位图在内存中所占用的大小,所以每一张图的裸数据是很大的。

YUV表示方式:主要应用于优化彩色视频信号的传输,使其向后兼容老式黑白电视。与RGB视频信号传输相比,它最大的有点在于只需要占用极少的频宽(RGB要求三个独立的视频信号同时传输)。其中Y表示明亮度;U和V表示色,它们的作用是描述影像的色彩及饱和度,用于指定像素的颜色。“亮度”是透过RGB输⼊信号来建⽴的,⽅法是将RGB信号的特定部分 叠加到⼀起。“⾊度”则定义了颜⾊的两个⽅⾯——⾊调与饱和度,分别⽤ Cr和Cb来表⽰。其中,Cr反映了RGB输⼊信号红⾊部分与RGB信号亮度值 之间的差异,⽽Cb反映的则是RGB输⼊信号蓝⾊部分与RGB信号亮度值之 间的差异。 之所以采⽤YUV⾊彩空间,是因为它的亮度信号Y和⾊度信号U、V是 分离的。如果只有Y信号分量⽽没有U、V分量,那么这样表⽰的图像就是 ⿊⽩灰度图像。彩⾊电视采⽤YUV空间正是为了⽤亮度信号Y解决彩⾊电 视机与⿊⽩电视机的兼容问题,使⿊⽩电视机也能接收彩⾊电视信号,最 常⽤的表⽰形式是Y、U、V都使⽤8个字节来表⽰,所以取值范围就是0~ 255。在⼴播电视系统中不传输很低和很⾼的数值,实际上是为了防⽌信号 变动造成过载,因⽽把这“两边”的数值作为“保护带”,不论是Rec.601还是 BT.709的⼴播电视标准中,Y的取值范围都是16~235,UV的取值范围都 是16~240。而且,相较于RGB,在相同的1920*1080下,如果使用YUV420P的格式表示,它的数据量大小为:1920*1080*8/8/1024/1024+1920*1080*4/8/1024/1024=2.96MB。即使如此,如果每张图片都差不多3M,那么一部电影90分钟,那么整部电影放下来:2.96*24*60*90/1024=374.625GB,这么大的空间,哪部手机也承受不了。所以需要进行压缩

 I420: YYYYYYYY UU VV ->YUV420P

YV12: YYYYYYYY VV UU ->YUV420P

NV12: YYYYYYYY UVUV ->YUV420SP

NV21: YYYYYYYY VUVU ->YUV420SP

视频编码:Mpeg  H264

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tiwolf_li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值