`

视频基础 之RGB、YUV和YCbCr

阅读更多

RGB、YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩色空间)。它的用途是在某些标准下用通常可接受的方式对彩色加以说明。本质上,彩色模型是坐标系统和子空间的阐述。

 

一、RGB

 

RGB(红绿蓝)是依据人眼识别的颜色定义出的空间,可表示大部分颜色。但在科学研究一般不采用RGB颜色空间,因为它的细节难以进行数字化的调整。它将色调,亮度,饱和度三个量放在一起表示,很难分开。它是最通用的面向硬件的彩色模型。由于RGB模式在输出时需要3个独立的图像信号同时传输,带宽占用较高。RGB模式通常用于最原始的视频数据和图像。

 

二、YUV 和 YCbCr

 

YUV模型来源于RGB模型。在 YUV 空间中,每一个颜色有一个亮度信号 Y,和两个色度信号 U 和 V。亮度信号是强度的感觉,它和色度信号分开,可以在不影响颜色的情况下改变。YUV 使用RGB的信息,但它从全彩色图像中产生一个黑白图像,然后提取出三个主要的颜色变成两个额外的信号来描述颜色。把这三个信号组合回来就可以产生一个全彩色图像。

 

YCbCr模型来源于YUV模型。YCbCr是在世界数字组织视频标准研制过程中作为ITU - R BT.601 建议的一部分, 其实是YUV经过缩放和偏移的翻版。其中Y与YUV 中的Y含义一致,是指亮度分量,Cb 指蓝色色度分量, Cr 指红色色度分量, 只是在表示方法上不同而已。在YUV 家族中, YCbCr 是在计算机系统中应用最多的成员, 其应用领域很广泛,我们在h.264,mpeg等编码标准中用的YUV其实是YcbCr。

 

YCbCr 主要的采样格式有 YCbCr 4∶4∶4 , YCbCr 4∶2∶2 , YCbCr 4∶1∶1 和 YCbCr 4∶2∶0。其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值), 每 2 x 2 个点保存一个 Cb和Cr值, 图像在肉眼中的感觉不会起太大的变化。所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 每个点需要 8x3=24 bits, 而现在仅需要 8+(8/4)+(8/4)=12bits, 平均每个点占12bits。这样就把图像的数据压缩了一半。

 

YUV与YCbCr这两个概念之间界限比较模糊且是有部分重叠的,因为YUV是用于电视系统中模拟颜色信息的编码,而YCbCr适用于对以MPEG及JPEG为代表的视频及静态图片的压缩及传输等场景下对颜色信息的数字编码。

 

三、颜色取值范围

 

一种是Full Range [0,255],也就是RGB色彩的白与黑之间分的级数,即最大化颜色信息显示。

一种是Video Range(Limited Range) [16, 235],其原理是:

 

本来0-255的一条色彩区段,通过挤压,把黑0向里挤压16格,白255向里挤压20格,得到的色彩区段变短36格,而变短的部分就是灰色(中间色)部分。然后以16-235的色彩区段长度拉伸为0-255显示出来。此时因为色彩区段被拉伸,所以会在不同位置出现断层,也就是丢色。具体体现为,接近黑的灰色会更黑。接近白色的浅灰会变成更白,也就是细节丢失。因为柔和的中间色被挤压丢了大部分,虽然让色彩看上去更鲜艳(靠近纯色的颜色会变的接近纯色比如红绿蓝),但是丢失细节,比如阴影和高光处,比较容易出现黑一片和白一片的现象。

 

四、颜色转换标准

 

1982年CCIR(International Radio Consultative Committee国际无线电咨询委员会)制定了彩色视频数字化标准,称为CCIR 601标准,现改为ITU-R BT.601标准,简称BT.601。该标准规定了彩色视频转换成数字图像时使用的采样频率,RGB和YCbCr两个彩色空间之间的转换关系等,是标准数字电视(SDTV)的国际标准。

 

1990年发布了高清数字电视(HDTV)的国际标准ITU-R BT.709,简称BT.709.

 

2012年发布了超高清数字电视(Ultra HDTV)的国际标准:ITU-R BT.2020,简称BT.2020。

 

小结

 

1、颜色标准的选择会影响主观画质

 

2、不同平台对颜色标准的支持不一样

 

3、BT.601标准兼容性更好,但是BT.709及后续标准更先进

分享到:
评论

相关推荐

    YUV(YCbCr)RGB显示工具

    总之,理解和掌握YUV与RGB颜色模型,以及它们之间的转换,是深入探索数字图像处理领域的重要基础。而“YUV(YCbCr)RGB显示工具”则提供了直观的学习和实践平台,使得这一过程变得更加便捷和有趣。通过使用这个工具...

    444_rgb_rgb888图像格式_rgb_RGB888对比YUV444_YCbCr444转RGB888_ycbcr转rgb8

    相比之下,YUV和YCbCr是用于视频编码和传输的颜色空间,它们在存储和传输时节省带宽。YUV444和YCbCr444这两种格式的区别在于它们的采样率,"444"表示每个像素都有独立的Y(亮度)、U(蓝色差)和V(红色差)分量,...

    RGB_YUV_YCbCr差异1

    RGB 和 YUV/YCbCr 颜色空间是两种广泛使用的颜色表示方法,它们在数字图像处理和视频编码中扮演着重要角色。RGB 颜色空间基于红(Red)、绿(Green)和蓝(Blue)三原色,这三种颜色按照不同比例混合可以产生人眼能感知的...

    RGB2YUV.rar_RGB 转 YCBCR_RGB24_RGB2YUV互转_YUV42

    RGB代表红(Red)、绿(Green)和蓝(Blue),是显示器和其他显示设备使用的基本颜色模型,而YUV(也常写作YCbCr)则是为优化存储和传输效率而设计的颜色空间,尤其在电视和视频领域。 标题"RGB2YUV.rar_RGB 转 ...

    RGB-YUV转换工具 - Android App

    YUV,也称为YCbCr,是一种将亮度(Y)与两个色度分量(Cb和Cr)分开的色彩模型,主要用于优化视频编码和压缩。 该Android App提供了以下功能: 1. **RGB转YUV**:用户输入RGB三通道的数值,应用将计算出对应的YUV...

    rgb2yuv.zip_RGB YUV_rgb to yuv_rgb2yuv

    YUV,或称YCbCr,是一种减色颜色模型,主要用于视频和图像编码,尤其是数字电视和视频压缩技术,如MPEG和JPEG。它将颜色信息分解为亮度(Y)和两个色差分量(U和V),以节省带宽和存储空间。Y通道表示亮度,而U和V则...

    RGB-YUV.rar_RGB YUV_RGB2YUV VHDL_YUV VHDL_rgb2yuv_vhdl rgb yuv

    YUV,也称为YCbCr,是电视和视频系统中常用的减色颜色模型,它通过亮度(Y)和两个色差信号(Cb和Cr)来表示颜色,旨在减少存储和传输数据的需求。 在VHDL中实现RGB到YUV的转换,通常涉及以下步骤: 1. **理解颜色...

    RGB2YCbCr422_rgb_RGB2YCbCr422_yuv422_YCbCr422_

    该程序支持RGB24bits深度直接转成YUV422./*Y = 0.257*R+0.564*G+0.098*B+16Cb = -0.148*R-0.291*G+0.439*B+128Cr = 0.439*R-0.368*G-0.071*B+128Y = (66 * R(d) / 256) + (144 * G(d) / 256) + (25 * B(d) / 256) + ...

    YCbCr 编码格式(YUV)1

    在YUV家族中,YCbCr是最常被计算机系统采用的成员,尤其在JPEG和MPEG等图像和视频编码标准中。YCbCr包含三个分量:Y代表亮度,Cb和Cr则分别代表蓝色和红色的色度分量。人眼对亮度更为敏感,因此可以通过降低色度分量...

    YUV-RGB.rar_RGB YUV_YUV RGB_yuv查表法

    YUV颜色空间分为多个变种,如YCbCr,它是数字视频和图像编码中常用的一种,与YUV类似但进行了量化,使得它更适合于数字信号处理。在YCbCr中,Y仍然是亮度分量,Cb和Cr分别代表蓝色差和红色差,它们包含了色彩信息。 ...

    YUV转RGB 的verilog代码

    YUV色彩空间主要用于电视和视频信号传输,因为它能有效地利用带宽,而RGB(红绿蓝)是显示器上常用的色彩模型。本篇文章将详细讲解如何用Verilog硬件描述语言实现YUV到RGB的转换,并探讨其工作原理。 YUV色彩空间...

    YUV420与RGB24转换

    在图像处理领域,色彩空间的转换...总之,YUV420和RGB24之间的转换涉及到颜色空间的变换和分辨率调整,这对于视频处理和图像显示至关重要。理解并正确执行这些转换可以确保图像数据在不同系统间正确无误地传输和呈现。

    RGBYUV格式互转

    RGB和YUV是两种常见的颜色空间,它们在数字图像处理和视频编码中广泛使用。RGB代表红(Red)、绿(Green)和蓝(Blue),是基于加色混合原理的颜色模型,而YUV则是一种适合于存储和传输的减色模型,尤其在电视和视频系统中...

    视频序列YUV转RGB

    YUV主要用于存储和传输视频信号,特别是在考虑到带宽限制和解码效率的情况下,而RGB则是我们日常生活中显示器上显示颜色的基础。 YUV(也称为YCbCr)是一种亮度和色度分离的颜色模型。"Y"代表亮度(Luma),而"U"和...

    RGB2YCbCr.rar

    本压缩包包含的"RGB2YCbCr.rar"是关于RGB到YUV转换的源代码,采用纯C语言编写,便于理解和移植。 在RGB色彩空间中,我们有红色(Red)、绿色(Green)和蓝色(Blue)三个原色,可以组合出人眼能识别的所有颜色。而...

    RGB_TO_YCBCR

    总之,RGB到YCbCr色彩空间转换是图像处理和视频编码中的基础操作,它通过分离亮度和色度信息来优化数据表示。在Verilog中实现这一转换,需要理解和应用数字逻辑设计,包括信号处理、并行计算以及可能的浮点到定点...

    RGB转YUV快速算法

    其中,RGB色彩空间主要用于显示设备,而YUV色彩空间则被广泛用于计算机图像和视频处理中。随着嵌入式系统对视频处理速度要求的提高,色彩空间转换算法的效率变得尤为重要。 本文介绍了一种基于乘法元的RGB转YUV快速...

    RGB格式图像转YUV.rar_RGB 转yuv_RGB数据_YUV转RGB_rgb转yuv_yuv to rgb

    而YUV,又称为YCbCr,是一种为优化视频存储和传输而设计的颜色空间,尤其在电视系统和压缩视频格式如JPEG、MPEG中应用广泛。 在RGB到YUV的转换过程中,我们首先需要理解YUV色彩空间的构成。Y代表亮度(Luma),是...

    rgb2yuv.rar_rgb2yuv_yuv处理

    RGB到YUV转换是图像处理领域中的一个常见操作,尤其在视频编码和数字信号处理中。这个名为"rgb2yuv.rar_rgb2yuv_yuv处理"的压缩包包含了一个名为"rgb2yuv.exe"的可执行文件,用于将RGB格式的图像转换成YUV格式。下面...

    YUV和RGB相互转换

    YUV(也称为YCbCr)是一种面向电视和视频信号传输的颜色编码系统。它将颜色信息分为三个分量:亮度(Y)、色度蓝差(Cb)和色度红差(Cr)。这种分离主要是为了节省带宽,因为人眼对亮度信息更敏感,所以可以降低...

Global site tag (gtag.js) - Google Analytics