YCbCr

http://blog.csdn.net/shizhixin/article/details/4494358

YCbCr 则是在世界数字组织视频标准研制过程中作为ITU - R BT1601 建议的一部分, 其实是YUV经过缩放和偏移的翻版。其中Y与YUV 中的Y含义一致, Cb , Cr 同样都指色彩, 只是在表示方法上不同而已。在YUV 家族中, YCbCr 是在计算机系统中应用最多的成员, 其应用领域很广泛,JPEGMPEG均采用此格式。一般人们所讲的YUV大多是指YCbCr。YCbCr 有许多取样格式, 如4∶4∶4 , 4∶2∶2 , 4∶1∶1 和4∶2∶0。
  YUV
  视频编解码器功能
  视频编码器要求YUV4:2:0格式的视频输入,因此可能根据应用需要进行视频输入的预处理,即对YUV4:2:2隔行扫描(例如从摄像机)到YUV
4:2:0非隔行扫描转换,仅抽取但不过滤UV分。对视频解码器而言,还需要进行后处理,以将解码的YUV
4:2:0数据转换为RGB进行显示,包括:YUV
4:2:0到RGB转换;16位或12位RGB显示格式;0到90度旋转,实现横向或纵向显示。此外,视频编解码器通常还要求具有以下功能和特性:
  支持MPEG-4简单类 0、1 与 2 级;
  兼容H.263与 MPEG-4 编解码标准;
  MPEG-4视频解码器支持的可选项有:AC/DC预测、可逆可变长度编码(RVLC)、再同步标志(RM)、数据分割(DP)、错误隐藏专利技术、支持每个宏块4个运动矢量(4MV)、自由运动补偿、解码VOS层;
  MPEG-4视频编码器选项有:RVLC、RM、DP、支持每个宏块4个运动矢量(4MV)、报头扩展码、支持编码期间码率改变、支持编码期间编码帧率改变、插入或不插入可视对象序列起始码;
  支持编码期间序列中插入I帧;
  支持编码器自适应帧内刷新(AIR);
  支持多编解码器,可用相同代码运行多个编解码器实例。
  YCbCr
  在DVD、摄像机、数字电视等消费类视频产品中,常用的色彩编码方案是YCbCr,其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量。
人的肉眼对视频的Y分量更敏感,因此在通过对色度分量进行子采样来减少色度分量后,肉眼将察觉不到的图像质量的变化。主要的子采样格式有 YCbCr
4:2:0、YCbCr 4:2:2 和 YCbCr 4:4:4。
  4:2:0表示每4个像素有4个亮度分量,2个色度分量
(YYYYCbCr),仅采样奇数扫描线,是便携式视频设备(MPEG-4)以及电视会议(H.263)最常用格式;4:2:2表示每4个像素有4个亮度
分量,4个色度分量(YYYYCbCrCbCr),是DVD、数字电视、HDTV
以及其它消费类视频设备的最常用格式;4:4:4表示全像素点阵(YYYYCbCrCbCrCbCrCbCr),用于高质量视频应用、演播室以及专业视频
产品。
  YUV主要的采样格式
  主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。其中YCbCr 4:1:1
比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值), 每 2x2 个点保存一个 Cr 和Cb 值,
图像在肉眼中的感觉不会起太大的变化。所以, 原来用 RGB(R,G,B 都是 8bit unsigned) 模型, 1 个点需要 8x3=24
bites(如下图第一个图). 而现在仅需要 8+(8/4)+(8/4)=12bites,
平均每个点占12bites(如下图第二个图)。这样就把图像的数据压缩了一半。
  上边仅给出了理论上的示例,在实际数据存储中是有可能是不同的,下面给出几种具体的存储形式:
  (1) YUV 4:4:4
  YUV三个信道的抽样率相同,因此在生成的图像里,每个象素的三个分量信息完整(每个分量通常8比特),经过8比特量化之后,未经压缩的每个像素占用3个字节。
  下面的四个像素为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
  存放的码流为: Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3
  (2) YUV 4:2:2
  每个色差信道的抽样率是亮度信道的一半,所以水平方向的色度抽样率只是4:4:4的一半。对非压缩的8比特量化的图像来说,每个由两个水平方向相邻的像素组成的宏像素需要占用4字节内存。
  下面的四个像素为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
  存放的码流为: Y0 U0 Y1 V1 Y2 U2 Y3 V3
  映射出像素点为:[Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3]
  (3) YUV 4:1:1
  4:1:1的色度抽样,是在水平方向上对色度进行4:1抽样。对于低端用户和消费类产品这仍然是可以接受的。对非压缩的8比特量化的视频来说,每个由4个水平方向相邻的像素组成的宏像素需要占用6字节内存
  下面的四个像素为: [Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
  存放的码流为: Y0 U0 Y1 Y2 V2 Y3
  映射出像素点为:[Y0 U0 V2] [Y1 U0 V2] [Y2 U0 V2] [Y3 U0 V2]
  (4)YUV4:2:0
  4:2:0并不意味着只有Y,Cb而没有Cr分量。它指得是对每行扫描线来说,只有一种色度分量以2:1的抽样率存储。相邻的扫描行存储不同的色度分
量,也就是说,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是4:2:0...以此类推。对每个色度分量来说,水平方向和竖直方向的抽样率
都是2:1,所以可以说色度的抽样率是4:1。对非压缩的8比特量化的视频来说,每个由2x2个2行2列相邻的像素组成的宏像素需要占用6字节内存。
  下面八个像素为:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
  [Y5 U5 V5] [Y6 U6 V6] [Y7U7 V7] [Y8 U8 V8]
  存放的码流为:Y0 U0 Y1 Y2 U2 Y3
  Y5 V5 Y6 Y7 V7 Y8
  映射出的像素点为:[Y0 U0 V5] [Y1 U0 V5] [Y2 U2 V7] [Y3 U2 V7]
  [Y5 U0 V5] [Y6 U0 V5] [Y7U2 V7] [Y8 U2 V7]
  YCbCr与RGB的相互转换
  Y=0.299R+0.587G+0.114B
  Cb=0.564(B-Y)
  Cr=0.713(R-Y)
  R=Y+1.402Cr
  G=Y-0.344Cb-0.714Cr
  B=Y+1.772Cb

时间: 2024-10-11 21:07:55

YCbCr的相关文章

Video for Linux Two API Specification revision0.24【转】

转自:http://blog.csdn.net/jmq_0000/article/details/7536805#t136 Video for Linux Two API Specification Revision 0.24 Michael H Schimek <[email protected]> Bill Dirks Hans Verkuil Martin Rubli Copyright © 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,

RGB、YUV和YCbCr(转)

http://blog.sina.com.cn/s/blog_a85e142101010h8n.html 之前对RGB.YUV和YCbCr一直没有清晰的理解和认识,今天打算做一个小结,结合网上的文章谈谈自己的看法,也希望有机会看到这篇文章的人能指点一二,相互交流,共同进步. 首先要说明,上述的RGB.YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩色空间).它的用途是在某些标准下用通常可接受的方式对彩色加以说明.本质上,彩色模型是坐标系统和子空间的阐述. [1]RGB R

RGB 与 (RGB转 YCbCr再转为 RGB)的图像

RGB 与 (RGB转 YCbCr再转为 RGB)的图像   不可逆,可以从 矩阵的逆运算看出来. 附上 matlab 代码: clc,clear; Source=imread('1.jpg');%读入原始RGB图像 figure(1); subplot(1,2,1); imshow(Source):title('original image');%显示图像 [r c d]=size(Source);%计算图像大小 %------计算红色分量并显示分解图------% R(:,:,1)=Sour

85.YCbCr与YUV的区别

yuv色彩模型来源于rgb模型,该模型的特点是将亮度和色度分离开,从而适合于图像处理领域. YCbCr模型来源于yuv模型,应用于数字视频,ITU-R BT.601 recommendation 通过上面的比较可以确定,我们在h.264,mpeg等编码标准中用的yuv其实是YcbCr,大家不要被名称搞混淆了. 为了使用人的视角特性以降低数据量,通常把RGB空间表示的彩色图像变换到其他彩色空间.目前采用的彩色空间变换有三种:YIQ, YUV和YCrCb.每一种彩色空间都产生一种亮度分量信号和两种色

RGB和YUV、YCbCr

比较好的文章收集链接: https://www.douban.com/note/76361504/ http://blog.sina.com.cn/s/blog_a85e142101010h8n.html 下面是我从链接文章中粘贴的,方便我自己查询. [1]RGB RGB(红绿蓝)是依据人眼识别的颜色定义出的空间,可表示大部分颜色.但在科学研究一般不采用RGB颜色空间,因为它的细节难以进行数字化的调整.它将色调,亮度,饱和度三个量放在一起表示,很难分开.它是最通用的面向硬件的彩色模型.该模型用于

RGB与YCbCr颜色空间的互相转换公式

http://blog.csdn.net/a14730497/article/details/17886127 Y:明亮度(Luminance或Luma),也就是灰阶值.“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起. Cb:反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异.Cr:反映了RGB输入信号红色部分与RGB信号亮度值之间的差异. 在以下两个公式中RGB和YCbCr各分量的值的范围均为0-255. RGB转换为YCbCr Y   = 0.257*R

RGB、YUV和YCbCr介绍【转】

RGB: 就是常说的红(Red).绿(Green)和蓝(Blue),每个图像的像素点由RGB三个通道的值组成. YUV和YCbCr: YUV与RGB的转换: Y'= 0.299*R' + 0.587*G' + 0.114*B' U'= -0.147*R' - 0.289*G' + 0.436*B' = 0.492*(B'- Y') V'= 0.615*R' - 0.515*G' - 0.100*B' = 0.877*(R'- Y') R' = Y' + 1.140*V' G' = Y' - 0.

RGB颜色空间与YCbCr颜色空间的互转

在人脸检测中会用到YCbCr颜色空间,因此就要进行RGB与YCbCr颜色空间的转换.在下面的公式中RGB和YCbCr各分量的值的范围均为0-255. RGB转到YCbCr: float y= (color.r * 0.256789 + color.g * 0.504129 + color.b * 0.097906)+ 16.0; float cb= (color.r *-0.148223 + color.g * -0.290992 + color.b * 0.439215)+ 128.0; fl

彩色图像--色彩空间 YIQ 、YUV 、YCbCr 、YC1C2 和I1I2I3

学习DIP文章64天 转载请注明文章出处:http://blog.csdn.net/tonyshengtan .出于尊重文章作者的劳动,转载请标明出处.文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro 开篇废话 背后有人,今天不说废话. ... YIQ NTSC电视系统指定的色彩空间.为了压缩RGB的传输带宽提高传输速度. YIQ中Y代表亮度信号(Luminance),IQ作为附加信息,I表示相位(In-phase)色彩从橙色到青色,Q表示正交(

YUV像素和ycbcr

一幅彩色图像的基本要素是什么? 说白了,一幅图像包括的基本东西就是二进制数据,其容量大小实质即为二进制数据的多少.一幅1920x1080像素的YUV422的图像,大小是1920X1080X2=4147200(十进制),也就是3.95M大小.这个大小跟多少个像素点和数据的存储格式有关.下面简述yuv与像素的关系: YUV与像素的关系: YUV是利用一个亮度(Y).两个色差(U,V)来代替传统的RGB三原色来压缩图像.传统的RGB三原色使用红绿蓝三原色表示一个像素,每种原色占用一个字节(8bit),