使用FFMpeg 模仿Android MediaPlayer

播放器基础--YUV色彩模型

2020-06-06  本文已影响0人  llm_5243

做过camera, 播放器,图片处理的对YUV都不会陌生,但是关于YUV有很多的格式YUV420, NV21, YUV420sp, YV12等等往往令人混乱

介绍

YUV色彩模型利用人类视觉对亮度的敏感度比对色度的敏感度高的特点获得较RGB色彩模型的优势.Y为亮度信息,UV为色差(Chroma)信息。U/V分别等于blue–luminance/red–luminance. Y信号分量为黑白灰度图。U、V信号分量为单色彩色图。如果只需获取灰度图,只要获取Y分量就好了.

YUV主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB要求三个独立的视频信号同时传输)

采样格式

YUV的采样格式主要有3种:YUV444 , YUV422, YUV420

YUV 4:4:4采样,每一个Y对应一组UV分量。
YUV 4:2:2采样,每两个Y共用一组UV分量。
YUV 4:2:0采样,每四个Y共用一组UV分量。

如下图,黑点表示采样该像素点的Y分量,空心圆圈表示采用该像素点的UV分量


yuv采样.jpg

存储格式

我们也经常看到YUV420SP, YUV420P 这些后面带这P和SP表示的是存储的方式

两大类:planar和packed。

YUV420SP, YUV420P中的P表示的都是planar, SP 是 semi-Planar .他们的区别是

常见的代码中YUV格式定义

内存空间的计算

以yuv420为例
Y = width * height
U = Y / 4
V = Y / 4

所以一帧YUV420的图片 占用的内存空间大小为
Y + U + V = width * height + width * height / 4 + width * height / 4 = width * height * 3 /2

参考
https://blog.csdn.net/asahinokawa/article/details/80596655
https://www.cnblogs.com/justkong/p/6570914.html

上一篇 下一篇

猜你喜欢

热点阅读