攻克视频技术
李江
声网 Agora 视频专家
7494 人已学习
新⼈⾸单¥59
登录后,你可以任选3讲全文学习
课程目录
已完结/共 19 讲
攻克视频技术
15
15
1.0x
00:00/00:00
登录|注册

02|YUV & RGB:原来图像是这么丰富多彩的

你好,我是李江。今天我们一起来聊一聊图像的颜色空间。
图像的颜色空间是图像和视频技术里面的一个非常重要的知识点,在图像处理、视频编码等技术中你会经常遇到这个概念。
而至于它为什么重要,其实也很好理解。在现实世界中,我们的眼睛每天看到的颜色是千变万化的。为了能够更方便地表示和处理这些颜色,不同应用领域就建立了多种不同的颜色空间,主要包括 RGB 、YUV、CMYK 、 HSI 等(后面两种和这门课程没有关系,因此这里我们不再介绍)。
在视频技术中,我们经常碰到的颜色空间有两种:RGB 和 YUV,接下来我们就逐一看一看。

RGB

RGB 相对比较简单。顾名思义,它就是指图像的每一个像素都有 R、G、B 三个值。RGB 是我们平常遇到最多的一种图像颜色空间,比如摄像头采集的原始图像就是 RGB 图像,且显示器显示的图像也是 RGB 图像。
一般来说,我们的 RGB 图像,每一个像素都是分别存储 R、G、B 三个值,且三个值依次排列存储。比如对于一张 8bit 位深的 RGB 图,每个值占用一个字节。但是,需要注意的是 RGB 图像像素中 R、G、B 三个值并不一定是按 R、G、B 顺序排列的,也有可能是 B、G、R 顺序排列。
比如 OpenCV 就经常使用 BGR 的排列方式来存储图像。所以在存储和读取 RGB 图像的时候需要稍微注意一下。RGB 和 BGR 的存储方式如下图所示:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

图像和视频技术中的颜色空间是至关重要的。RGB和YUV是两种主要的颜色空间,分别用于表示和处理图像和视频。RGB以每个像素的R、G、B三个值表示颜色,而YUV将亮度信息Y与色彩信息U、V分离开来。YUV有多种类型和存储方式,其中最常用的是YUV 4:2:0。YUV在视频领域得到广泛应用,能够更有效地表示和压缩图像信息,并兼容彩色和黑白电视机。了解YUV颜色空间对图像和视频技术的学习和应用具有重要意义。 在RGB和YUV之间的转换中,需要考虑Color Range和转换标准(如BT601和BT709)。Color Range分为Full Range和Limited Range,而不同标准下的转换公式也不同。正确处理YUV和RGB之间的转换需要了解存储格式、转换标准和Color Range。此外,在处理YUV图像的存储和读取时,需要注意Stride的概念,确保正确读取每行像素的字节大小。 总的来说,本文介绍了RGB和YUV颜色空间的基本知识,包括它们的类型、存储方式以及在图像和视频处理中的重要性。文章还提到了转换标准、Color Range和Stride等概念,为读者深入了解图像和视频技术提供了重要参考。 通过本文的学习,读者可以了解为什么在编码时使用YUV图像而不使用RGB图像,以及在处理图像和视频时需要注意的关键概念。文章内容涵盖了颜色空间的基础知识和转换原理,适合对图像和视频技术感兴趣的读者学习参考。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《攻克视频技术》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(34)

  • 最新
  • 精选
  • yg
    这是因为 R、G、B 三个颜色是有相关性的,所以不太方便做图像压缩编码。 老师,您这里说的rgb是有相关性的,这个相关性怎么理解呢?

    作者回复: 相关性是指一幅图像在RGB格式的时候,将R、G、B三个通道分离开来当作图像来看的话,R、G、B三张图像内容几乎是一样的,只是颜色不同而已。具有相关性,如果拿来编码的话,三张图像同等重要,而且轮廓还差不多,但颜色又不同,因此不好编码。而YUV不同,YUV中只有Y是图像的大体轮廓,没有颜色信息。U、V是颜色信息。三张图像相互独立。并且人眼对于色彩信息相比图像的轮廓信息不敏感些。我们可以缩小U、V的大小,比如YUV420中U、V只有Y的1/4大小,本身就相比于RGB图像小了一半。然后我们编码的时候Y、U、V相关性很小,可以独立编码,也很方便。

    2021-12-01
    31
  • 阿金🥭
    感觉对U和V的介绍有点少,不利于理解为什么可以用422或420的采样来保证图片不失真

    作者回复: 会有失真的。只是人眼对于色度信息相对不敏感一些,这点失真可以接受。带来的好处是YUV420相比YUV444减少了一半的大小,这个收益对应这个付出是很明显的。

    2021-11-29
    2
    10
  • ForwardsHao
    江哥,那Limited Range的作用是什么,为什么一定要知道这个值,是需要做放缩吗? 假如做RGB和YUV的转换的时候,原来的色彩空间是limited,那么转换后以及最后恢复为原RGB的时候也是limited的值,那知道这个range的作用是啥。

    作者回复: 1、limitied range在电影里面会经常用到。作用貌似是拍摄暗场景还有对“吊威亚”等情况的时候好处理一些。 2、需要知道有limited range和full range之分,因为不同的range的RGB在和YUV互转的时候公式会不一样。当然有的时候大家都不管,直接转,画面其实能正常显示的,只是颜色跟最原始的颜色会有区别。一般要不就是比原始画面更亮,要不就是更暗。我们当然希望能够完全还原最原始的图像喽。所以最好还是注意一下。

    2021-11-24
    3
    9
  • 杨益祥
    请问江哥,nv21/nv12以及yu12/yv12怎样记住,这几个概念总是混淆了,每次用的时候都要翻出笔记看一下😂

    作者回复: nv是UV交错排列的,nv12中1在前代表U放在前,nv21中1在后代表U放在后。yv是先放完V再放U,yu先放U再放V的。可以这样记忆。其实可以不用记住的。要记住这几类有什么区别就可以了。用到的时候再查查笔记就可以了。我一般重点学习思想,细节都是查看资料,或看代码。因为脑袋装不下这么多东西。

    2021-11-29
    7
  • 西钾钾
    YUV比RGB更适合的原因: 1、大部分的YUV格式数据量小 2、YUV将亮度(Y分量)和彩色分量分开,人眼对Y分量比较敏感,在做压缩时可以将UV分量压缩的多些,Y分量压缩的少些。 老师,还有一个问题YUV是浮点类型的,RGB是整型的,他们两个直接相互转换应该会导致图像不清晰吧。

    作者回复: YUV一般会使用整型的。

    2021-11-24
    3
  • ShawnL
    YUV编码的时候使用的空间小,便于传输。那问题来了,使用422或者420的话,图像相对于原来的RGB会有损失么?

    作者回复: 色度会有损失的。

    2021-11-24
    3
  • 琥 珀
    请问,花屏除了Stride,还有别的可能原因吗?

    作者回复: 有的,花屏的原因有好几个,我们会在之后有一节课专门讲花屏卡顿问题。可以关注一下。

    2021-11-24
    2
    3
  • codeAL
    江哥,YUV 4:2:0 为啥不命名为 YUV 4:1:1 感觉更容易理解,只是好奇

    作者回复: YUV 4:1:1是有的,哈哈哈,只是不常见。YUV 4:1:1是每4个同一行的Y,对应1个U和1个V。

    2022-07-14归属地:浙江
    2
    2
  • 余健辉
    我现在是计算机研一学生,最近开始接触视频技术这方面的知识,想请问下江哥视频技术里有什么好的研究方向,然后是结合AI技术的

    作者回复: 其实视频和图像主要的研究工作会有一些区别。如果在视频技术里面结合AI技术的话,视频前处理和美颜特效这些会涉及一些AI技术,现在编码器其实也有一些AI技术引入。这两个方向都还不错。

    2021-11-24
    2
  • 蛮小满
    RGB转YUV420时,相当于每4个RGB才会产生一个UV?UV取的是哪个RGB转过来的有讲究吗?

    作者回复: 这个标准其实没有规定,取左上角的那个就可以,差别不大

    2022-11-20归属地:浙江
    1
收起评论
显示
设置
留言
34
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部