视频图像中的YCbCr格式是怎么来的?

2024-04-11 19:04

本文主要是介绍视频图像中的YCbCr格式是怎么来的?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

颜色模型总述
想要知道视频图像中的YCbCr格式是怎么来的,首先简单里了解下述几种的颜色模型包括:
CIE RGB 颜色模型:基于人眼视觉感知三原色理论,CIE 通过大量实验数据建立 RGB 颜色模型,标准化了 RGB 表示。
CIE XYZ 颜色模型:为解决 RGB 模型中,与负光混合所带来的种种问题,CIE 从数学上定义了三种标准基色 XYZ,形成了 CIE XYZ 颜色模型。
NTSC YIQ 颜色模型:在模拟电视时代,RGB 工业显示器要求一幅彩色图像由分开的 R、G、B 信号组成,而电视显示器则需要混合信号输入,为了实现对这两种标准的兼容,NTSC 基于 XYZ 模型制定了 YIQ 颜色模型,实现了彩色电视和黑白电视的信号兼容。
PAL YUV 颜色模型:为了解决 NTSC YIQ 的组合模拟视频信号中分配给色度信息的带宽较低而影响了图像颜色质量的问题,PAL 引入了 YUV 颜色模型,支持用不同的采样格式来调整传输的色度信息量。
ITU-R YCbCr 颜色模型:进入数字电视时代,ITU-R 为数字视频转换制定了 YCbCr 颜色模型,成为我们现在最常使用的颜色模型。
颜色建模的背景
颜色模型:在某种特定上下文中对颜色的特性和行为进行解释的方法。没有哪种颜色模型能解释所有颜色问题,因此需要使用不同模型来帮助说明看到的不同的颜色特征。
实际应用,针对某一类型应用场景,人们希望尽量做到颜色模型统一和兼容,所以经历了一系列颜色建模和标准制定的过程。下图是颜色标准制定的关键节点图:
在这里插入图片描述
CIE 是国际照明协会的简称,是最早采用数学方式来定义颜色模型的。CIE 是从 1920 年代后期 W. David Wright(Wright 1928)和 John Guild(Guild 1931)做一系列实验中建立了初始的RGB颜色模型,且标准了RGB的表示,即为CIE RGB。
接下来,从 CIE RGB 开始依次介绍 CIE XYZ、NTSC YIQ、PAL YUV 等颜色模型,最后到 ITU-R YCbCr 结束,就来到了目前在视频开发中最常接触的 YCbCr 模型。希望在这趟历程里能帮你梳理清楚『颜色』这个概念的发展脉络。
CIE RGB 颜色模型
当光由两个或多个具有不同主频率的光源混合而成时,我们可以改变各个光源的强度来生成一系列其他颜色的光,这是构造颜色模型加色模式。
==其中用来生成其他颜色光源的色彩称为基色。==通过基色可以产生的所有颜色的集合称为该颜色模型的颜色范围(色域)。如果两种基色混合则生成白色光,就称它们为互补色,比如红色和青色、绿色和品红、蓝色和黄色都是互补色。
在基本颜色中,没有哪一组集合能组合生成所有可见的颜色。但三种基色对多数应用来说是够用的,且不包含在指定基色集的颜色范围中的颜色仍可使用扩充方法进行描述。RGB 即为一种加色模式,多种基色的量加在一起生成另一种颜色。
使用RGB表示时,要注意的是,在 光谱500 nm 附近的颜色需要从蓝光和绿光的混合光中再『减去』对应的红光得到(红光曲线在 500 nm 附近是负值)。由于这个『负光』的效果在 RGB 彩色显示器无法实现,所以 RGB 彩色显示器不能显示 500 nm 左右的颜色。
CIE XYZ 颜色模型
因为 RGB 模型中与『负光』混合所带来的种种问题,CIE 从数学上定义了三种标准基色 XYZ(是理论上的颜色,而非实际的颜色),形成了『CIE XYZ 颜色模型』。
此外,还定义了一组输出全部为正值的 『XYZ 颜色匹配函数』,指定描述任何一种光谱颜色所需要的各基色分量,XYZ 颜色匹配函数是基于 RGB 三基色颜色匹配函数的线性组合。
CIE XYZ 颜色模型是定义各种颜色的国际标准,并且使用 CIE 基色还能避免颜色负值匹配问题,以及选择一组实际基色有关的其他问题。
在 XYZ 颜色空间中任何颜色都可以表示为三个基色的单位向量 的加性组合,即:

在这里插入图片描述

其中 C(λ) 表示彩色光的亮度(luminance),对应颜色的亮度(brightness)特征。X、Y、Z 则为三基色比例系数。XYZ 颜色模型表示颜色时满足以下 3 个条件:
XYZ 颜色模型表示颜色时满足以下 3 个条件:
X、Y、Z 三色比例系数大于 0;
Y 的数值正好表示光的亮度值;
当 X = Y = Z 时,表示标准的白光。

NTSC YIQ 颜色模型
RGB 工业显示器要求一幅彩色图像由分开的 R、G、B 信号组成,而电视显示器则需要混合信号输入,为了实现对这两种标准兼容,NTSC(美国国家电视系统委员会)制定了 『YIQ 颜色模型』,主要优点是可实现对彩色电视和黑白电视兼容,即可用黑白电视收看彩色电视信号。
YIQ 颜色模型是以 CIE XYZ 颜色模型为基础定义,其参数 Y 与 XYZ 模型中参数 Y 相同,为图像的亮度信息。在没有色度情况下,Y 就对应黑白图像,或者说黑白电视只接收 Y 信号,参数 I 包含有橙-青颜色信息,提供鲜艳色彩的明暗度,参数 Q 包含绿-品红颜色信息。
NTSC 组合颜色信号的设计允许黑白电视机从一幅占 6 MHz 带宽的图像信息中提取所需的灰度信息,因此,YIQ 信息必须在 6 MHz 带宽限制下编码。亮度值和色度值用不同模拟信号进行编码,这样只是在原来的带宽内增加了颜色信息,黑白电视机仍然可以按原来的方式取得原样的亮度信号。
亮度信息(Y 值)以调幅的方式用带宽约为 4.2 MHz 的载波传输;色度信息(I、Q 值)被结合在一起用带宽约为 1.8 MHz 的载波传输。参数名称 I、Q 指的就是用来在载波上编码颜色信息的调制方法。
PAL YUV 颜色模型
上面提到,因为NTSC YIQ 组合模拟视频信号中分配给色度信息带宽较低,所以 NTSC YIQ 图像颜色质量会受一些影响。当开始追求更高图像品质时,需改善这个问题,诞生了多种 YIQ 编码变体来提高视频传输的颜色质量。『YUV 颜色模型』就是一种变体,它为 PAL 广播制式提供视频传输的组合颜色信息,它可用不同采样格式来调整传输的色度信息量。
YUV 颜色模型中用亮度、色度来表示颜色。它的亮度信息和色度信息是分离的,其中 Y 表示亮度通道,U 和 V 则表示色度通道。如果只有 Y 信息,没有 U、V 信息,表示的图像就是灰度图像。YUV 常用在各种影像处理场景中。YUV 在对照片或视频编码时,考虑到人眼对亮度信息的敏感度高于色度信息,允许降低色度的带宽。
ITU-R YCbCr 颜色模型
YCbCr 颜色模型是目前广泛使用的一种 YUV 变体,它是为数字视频转换而设计的颜色模型。YCbCr 由 ITU-R(国际电信联盟无线电通信部门,前身是国际无线电咨询委员会 CCIR)在 ITU-R BT.601 首次制定,并在后续的 ITU-R BT.709、ITU-R BT.2020 等标准中都有涉及。
ITU-R BT.601/709/2020 系列标准,规定了彩色视频转换成数字图像时使用的采样率,RGB 和 YCbCr 两个彩色模型之间的转换关系等,它们分别面向标清电视(SDTV)、高清电视(HDTV)、超清电视(UDTV)应用场景。各个标准下的颜色范围如下:
在这里插入图片描述
结论
下面对图像数字描述过程中的颜色建模的发展历程总结如下:
基于人眼视觉感知三原色理论,CIE 通过大量实验数据建立了 RGB 颜色模型,标准化了 RGB 表示 → 为解决 RGB 模型中与负光混合所带来的种种问题,CIE 从数学上定义了三种标准基色 XYZ,形成了 CIE XYZ 颜色模型 → 在模拟电视时代,RGB 工业显示器 要求一幅彩色图像由分开的 R、G、B 信号组成,而电视显示器则需要混合信号输入,为了实现对这两种标准的兼容,NTSC 基于 XYZ 模型制定了 YIQ 颜色模型,实现了彩色电视和黑白电视信号兼容 → 为解决 NTSC YIQ 的组合模拟视频信号中分配给色度信息的带宽较低,而影响了图像颜色质量的问题,PAL 引入了 YUV 颜色模型,支持用不同的采样格式来调整传输的色度信息量 → 进入数字电视时代,ITU-R 为数字视频转换制定了 YCbCr 颜色模型,成为我们现在最常使用的颜色模型。

这篇关于视频图像中的YCbCr格式是怎么来的?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/894919

相关文章

IDEA如何将String类型转json格式

《IDEA如何将String类型转json格式》在Java中,字符串字面量中的转义字符会被自动转换,但通过网络获取的字符串可能不会自动转换,为了解决IDEA无法识别JSON字符串的问题,可以在本地对字... 目录问题描述问题原因解决方案总结问题描述最近做项目需要使用Ai生成json,可生成String类型

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has