首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >音视频平凡之路之YUV像素介绍

音视频平凡之路之YUV像素介绍

作者头像
马上就说
发布于 2020-11-11 08:42:00
发布于 2020-11-11 08:42:00
1.2K0
举报
文章被收录于专栏:码上就说码上就说

了解过计算机图形图像学的同学应该知道,有两种方式表示图像,RGB和YUV,视频由一帧一帧的图像组成,每一张图片是由一个一个的像素点组成,既然有两种表示像素的方法,那肯定要了解一下两种表示方式的异同以及优缺点。

RGB像素

RGB像素表示法已经广为人知,这里只简单回顾一下。R、G、B分别是Red 红、Green 绿、Blue 蓝的首字母,是颜色的三原色,强度不同的组合可以形成大部分人眼可以看到的颜色。在计算机里,可以用三个字节分别表示RGB的值。一个字节8位(取值范围是0~255),三个字节就是24位,所以这种表示法会被叫做 RGB24 。为了方便表示,我们还常用16进制表示,例如下图的绿色,可以用16进制表示为 #7ba120 ,其中 7b 是红色分量, a1 是绿色分量, 20 是蓝色分量。绿色分量的值比其他分量大,所以显示的颜色偏绿色。RGB表示法简单直观,但很消耗存储资源,一个1024x1024的图像,需要1024x1024x3=3MB的存储空间。

YUV像素

RGB像素表示法很简单,如果你没做过数字图像和视频的开发,可能很少听说过YUV。但在数字图像和视频编码里领域,YUV像素表示法非常流行,有几个原因造成。首先,人眼对亮度更敏感,对颜色的敏感度稍弱,所以使用YUV来表示图像可以节省存储资源。其次由于数字摄像机传感器不能直接采样三原色,所以RGB也不适合硬件处理。因此YUV才如此应用广泛。

那什么是YUV呢?「Y」表示明亮度(Luminance、Luma),「U」和「V」则是色度、浓度(Chrominance、Chroma)。其实YUV是模拟信号的称呼,数字信号应该是表示为YCbCr。Cb是蓝色色度,Cr是红色色度。

上面的图片例子来源https://zh.wikipedia.org/wiki/YCbCr,很能说明YUV的特性,第一张是原图,第二张Y分量的表示图,第三张是U分量的表示图,第四张是V分量的表示图。

当然YUV与RGB之间通过一些公式可以转换的。

YUV相对RGB的优势就是压缩比高,那么YUV的采样就是值得研究的事情。

为什么说YUV可以比较节省存储空间?前面提到,人眼对亮度更敏感,对色度敏感度稍差,所以我们可以用完整的亮度和更少的色度来表示一张图像,也就是采样。用RGB表示每个像素必须用3个字节。但YUV表示一个像素,可能是3个字节,也可能是2个字节(丢掉U或者丢掉V),还可能只有1个字节(丢掉U和V)。占用字节大小的不同因为采用不同的采样方式。

常见YUV有很多规格,例如YUV444,YUV422和YUV420,后面的数字是表示采样的比例。其中YUV420是FFmpeg里最常用的,因为最省资源。

  • 4:4:4表示完全取样。
  • 4:2:2表示2:1的水平取样,垂直完全采样。
  • 4:2:0表示2:1的水平取样,垂直2:1采样。

假设我们有一个4x2像素的图像,用RGB表示为:

YUV444是全采样,也就是跟RGB一样,每个像素都是3个字节。上面的RGB图像可以通过计算,得到YUV444的表示:

YUV422是水平方向对UV进行2:1采样。每个像素只取U或者V,间隔进行,所以YUV422的UV只有YUV444的一半。

YUV420是水平方向和垂直方向都对UV进行2:1采样。例如第一行取U,第二行取V,并且每行的U或者V都是Y的一半,也就是YUV420的YUV是关系是4个Y一个U和一个V。这样YUV420的UV比YUV422的UV少一半,是YUV444的1/4。

上面只是举了一个例子,实际上YUV420有很多种采样方法,只要符合下图的规律,就是YUV420。

小结

YUV和RGB是图像图像编程的基础,了解了YUV的采样,接下来我们做播放器、音视频编辑和直播就少了很多障碍。

参考:微软的一篇介绍YUV的文章:https://docs.microsoft.com/en-us/windows/win32/medfound/recommended-8-bit-yuv-formats-for-video-rendering

FFmpeg源码定义图像格式的代码在libavutil/pixfmt.h中,代码很多,不赘述了。尽情看吧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 音视频平凡之路 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
YUV数据格式
最近在做直播视频通话、自定义采集应用,恶补了YUV格式相关的问题,这篇文章就记录一下。
ppchao
2020/11/13
1.6K0
YUV数据格式
常见图像格式总结
raw数据是sensor输出的原始数据,一般有raw8, raw10, raw12等,分别表示一个像素点有8bit、10bit、12bit数据。是sensor将光信号转化为电信号时的电平高低的原始记录,单纯地没有进行任何处理的图像数据,即摄像元件直接得到的电信号进行数字化处理而得到的。
刘盼
2023/09/11
2.4K0
常见图像格式总结
手机广告常见的10bit是什么?YUV444、YUV422、YUV420、YUV411是什么?
2)如何理解YUV444、YUV422、YUV420、YUV411?YUV420为何不命名为“更合理的YUV411”?
微帧Visionular
2024/11/18
7020
手机广告常见的10bit是什么?YUV444、YUV422、YUV420、YUV411是什么?
音视频知识体系(基础篇3)----图像颜色空间
我们从视频的信号表示方法开始讲起,逐步深入到视频压缩编码的原理。我们主要从下面几个要点来讲解或者加深记忆。
jerrypxiao
2021/02/04
2K0
详解YUV数据格式
我们在讲 FFmpeg 系列的时候,有提到 YUV 的。其中包括YUV播放器、简单的YUV格式介绍。
233333
2019/08/02
2K0
Linux音视频(YUV图像数据格式)
摄像头图像数据的主流封装格式是JPEG/MJPG/YUV等,这些都是经过编码压缩的数据,大大减少了图像尺寸,方便传输和存储。
用户2617681
2019/08/08
8340
Android二维码扫描开发(二):YUV图像格式详解
前一篇提到了,相机返回的是YUV格式的图像数据,那么YUV到底是怎样一种格式呢?本篇将对YUV图像格式进行详细的解释。 上一篇中,我们了解了Android二维码扫描开发的实现思路和原理。其中从相机里获
非著名程序员
2018/02/02
2.1K0
Android二维码扫描开发(二):YUV图像格式详解
【音视频原理】图像相关概念 ⑤ ( YUV 数据存储 | I444 格式说明 | I422 格式说明 | I420 格式说明 | NV12 格式说明 | NV21 格式说明 )
YUV 4:4:4 采样格式 , Y 亮度分量 与 UV 色度分量 的比例是 1:1 ;
韩曙亮
2024/01/21
1.6K0
【音视频原理】图像相关概念 ⑤ ( YUV 数据存储 | I444 格式说明 | I422 格式说明 | I420 格式说明 | NV12 格式说明 | NV21 格式说明 )
在视频中,使用YUV420好,还是YUV444好?
视频和图像的颜色空间类型有很多,比如 RGB、YUV、HSV、LAB 等,其中,YUV 颜色空间又有 YUV420、YUV422、YUV444 之分。先不考虑 YUV422 格式,直接对比 YUV420 和 YUV444,哪个格式更好,更具优势呢?
liuzhen007
2022/12/18
6.3K0
在视频中,使用YUV420好,还是YUV444好?
高清YUV极速转码,了解一下?
市面上主流摄像头的图像封装格式一般逃不过这三种:JPEG、MJPG和YUV。其中YUV编码既可以与灰度图像兼容,又利用了人眼对亮度和色度的定量优化,使其可以直接跟三原色RGB进行直接互换而到广泛青睐。但YUV与RGB的转码涉及大量浮点运算,对于高分辨率高速摄像头而言,转码对CPU的负担很重,本文来看看如何巧妙化解这个难点。
用户2617681
2019/08/08
1.6K0
高清YUV极速转码,了解一下?
音视频基础概念
HSV 色彩空间还可以表示为类似于上述圆柱体的圆锥体,色相沿着圆柱体的外圆周变化,饱和度沿着从横截面的圆心的距离变化,明度沿着横截面到底面和顶面的距离而变化。这种用圆锥体来表示 HSV 色彩空间的方式可能更加精确,有些图像在 RGB 或者 YUV 的色彩模型中处理起来并不精准,可以将图像转换为 HSV 色彩空间,再进行处理,效果会更好。
Cellinlab
2023/05/17
5290
音视频基础概念
音视频技术基础(三)--音视频数据格式
后面会讲关于音视频处理及渲染的内容,渲染和处理都是对音视频raw数据的操作,所以我们先来学习一下音视频的数据格式。
黑眼圈云豆
2020/07/09
1.5K0
0:什么是音视频?
音频:常见的音频格式是MP3格式,也就是我们使用网易云音乐听歌,歌曲就是音频文件。
春江花月夜
2023/12/16
8960
0:什么是音视频?
深入探索视频帧中的颜色空间—— RGB 和 YUV
接触前端音视频之后,需要掌握大量音视频和多媒体相关的基础知识。在使用 FFmpeg + WASM 进行视频帧提取时,涉及到视频帧和颜色编码等相关概念。本文将对视频帧中的颜色空间进行介绍。 一、视频帧 对于视频,我们都知道是由一系列的画面在一个较短的时间内(通常是 1/24 或 1/30 秒)不停地下一个画面替换上一个画面形成连贯的画面变化。这些画面称之为视频帧。 对于视频帧,在现代视频技术里面,通常都是用 RGB 颜色空间或者 YUV 颜色空间的像素矩阵来表示。在 ffmpeg 里面,我们可以看到源码 li
用户1097444
2022/06/29
2K0
深入探索视频帧中的颜色空间—— RGB 和 YUV
YUV420 YUV420sp 图像格式「建议收藏」
YUV定义:分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
全栈程序员站长
2022/07/25
1.1K0
【音视频原理】图像相关概念 ④ ( YUV 排列格式 | 打包格式 | 平面格式 | YUV 表示法 | YUV 采样格式表示方法 | YUV 4:2:2 采样 | 上采样与下采样概念 )
YUV 格式 的 颜色编码算法 有 很多排列格式 , 但是大概可以分为以下两大类 :
韩曙亮
2024/01/21
3280
【音视频原理】图像相关概念 ④ ( YUV 排列格式 | 打包格式 | 平面格式 | YUV 表示法 | YUV 采样格式表示方法 | YUV 4:2:2 采样 | 上采样与下采样概念 )
【音视频原理】图像相关概念 ⑥ ( YUV 与 RGB 之间的转换 | YUV444 颜色编码格式 转为 RGB 格式 | RGB 颜色编码格式 转为 YUV444 格式 )
YUV 颜色编码格式 转为 RGB 格式 的 转换公式 取决于 于 YUV 的具体子采样格式 :
韩曙亮
2024/01/22
3.1K0
播放器基础--YUV色彩模型
做过camera, 播放器,图片处理的对YUV都不会陌生,但是关于YUV有很多的格式YUV420, NV21, YUV420sp, YV12等等往往令人混乱
小蚂蚁与大象
2020/06/09
1.1K0
图像基础知识之YUV
YUV是编译true-color颜色空间(color space)的种类,Y’UV, YUV, YCbCr,YPbPr等专有名词都可以称为YUV,彼此有重叠。“Y”表示明亮度(Luminance、Luma),“U”和“V”则是色度与浓度(Chrominance、Chroma)
全栈程序员站长
2022/09/07
1.4K0
图像基础知识之YUV
一文读懂 YUV 的采样与格式
RGB 三个字母分别代表了 红(Red)、绿(Green)、蓝(Blue),这三种颜色称为 三原色,将它们以不同的比例相加,可以产生多种多样的颜色。
音视频开发进阶
2019/06/03
4.1K2
一文读懂 YUV 的采样与格式
推荐阅读
相关推荐
YUV数据格式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档