前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >播放器基础--YUV色彩模型

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

作者头像
小蚂蚁与大象
发布2020-06-09 08:08:52
9000
发布2020-06-09 08:08:52
举报

做过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。

  • 平面格式(planar formats) :先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V,UV的顺序可能会调换
  • 紧缩格式(packed formats):对于packed的YUV格式,每个像素点的Y,U,V是连续交替存储的,如yuv444 可能是YUV YUV YUV YUV, yuv420 可能是YYUV,YYUV,UV的顺序可能会调换. 有些代码里面packed 也称为 Interleaved

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

  • YUV420P: YUV都是planer格式, 即 YYYY UU VV的顺序(UV的顺序可能会调换)
  • YUV420SP: Y是planer格式, UV是packet格式,即 YYYY YYYY UV UV的顺序(UV的顺序可能会调换)

常见的代码中YUV格式定义

  • NV21 这是Android camera1 常用的格式 属于YUV420sp, 即YYYY YYYY VU VU
  • NV12 属于YUV420sp, 即YYYY YYYY UV UV
  • YV12 属于YUV420p, 即 YYYY YYYY VV UU
  • YU12: 属于YUV420p, 即 YYYYYYYY UUVV
  • YUV_420_888 Android camera2引入了这个格式,解析起来比较复杂点. 420表示YUV420格式的集合,888 表示表示Y、U、V分量中每个颜色占8bit. 其他人的博客有关于YUV_420_888的讲解,这里转一下 Android: Image类浅析(结合YUV_420_888)

内存空间的计算

以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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 采样格式
  • 存储格式
  • 常见的代码中YUV格式定义
  • 内存空间的计算
相关产品与服务
图片处理
图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档