⼀,引⾔
YUV(亦称YCrCb)是被欧洲电视系统所采⽤的⼀种颜⾊编码⽅法(属于PAL)。YUV主要⽤于优化彩⾊视频信号的传输,使其向后兼容⽼式⿊⽩电视。与RGB视频信号传输相⽐,它最⼤的优点在于只需占⽤极少的带宽(RGB要求三个独⽴的视频信号同时传输)。 \"Y\"表⽰明亮度(Lumina nce或Luma),也就是灰阶值;是个基带信号。⽽\"U\"和\"V\"表⽰的则是⾊度(Chrominance或Chroma),作⽤是描述影像⾊彩及饱和度,⽤于指定像素的颜⾊。U和V不是基带信号,它俩是被正交调制了的。
\"亮度\"是通过RGB输⼊信号来创建的,⽅法是将RGB信号的特定部分叠加到⼀起。\"⾊度\"则定义了颜⾊的两个⽅⾯ - ⾊调与饱和度,分别⽤Cr和CB来表⽰。其中,Cr反映了RGB输⼊信号红⾊部分与RGB信号亮度值之间的差异。⽽CB反映的是RGB输⼊信号蓝⾊部分与RGB信号亮度值之同的差异。通过运算,YUV三分量可以还原出R(红),G(绿),B(兰)。 ⼆,概念
1)RGB 颜⾊空间
在⾊度学中,为了确切表⽰某⼀种彩⾊,采⽤亮度、⾊调和⾊饱和度三个基本参量。
彩⾊视觉是⼈眼对这个三个参量的总体感觉。亮度是光作⽤于⼈眼所引起的明亮程度的感觉。 ⾊调是反映了彩⾊的类别。也就是通常所说的红,绿,蓝等就指的是⾊调。 ⾊和度是指彩⾊光所呈现彩⾊的深浅程度。
对于同⼀中颜⾊的彩⾊光,彩⾊越浓,⾊饱和度越⾼。根据⾊度学的介绍,不同波长的单⾊光会引起不同的彩⾊感觉,但相同的彩⾊感觉却可以来源于不同的光谱成分组合。⾃然界中⼏乎所有的颜⾊都能⽤三种基本彩⾊混合配出,在彩⾊电视技术中选择红⾊、绿⾊、和蓝⾊作为三基⾊。其他的颜⾊都可以⽤红⾊、绿⾊和蓝⾊按照不同的⽐例混合⽽成。所选取的红⾊、绿⾊和蓝⾊三基⾊空间。简称为 RGB 颜⾊空间。 2)在彩⾊的⼴播电视中,并不是直接传送 RGB 三基⾊信号的。⽽是把三基⾊经过转换成可以代表三基⾊信号的新的三个基本参量来传输的。也就是⼀个亮度信号 Y 和两个⾊差信号 Cb 和 Cr。新的亮度信号和⾊差信号同三基⾊信号的转换关系如下: Y = 0.30 R + 0.59G + 0.11B
( R − Y ) = 0.70 R − 0.59G − 0.11B ( B − Y ) = −0.30 R − 0.59G + 0.89 B
在发送时,把经过平衡正交调制的⾊差信号同亮度信号叠加组成符合信号
Y + C sin(ω sc t + θ ) 作为彩⾊电视图像信号。其中经过正交平衡调制的⾊差信号如下: U c (t ) = ( B − Y ) sin ω sc t + ( R − Y ) cos ω sc t = C sin(ω sc t + θ )
由于得到的彩⾊图像的动态范围⽐较⼤,其对⾼电平为(Y+C) 最低电平为(Y-C)所以要对⾊差信号进⾏压缩,公式如下: U = 0.493( B − Y ) V = 0.877( R − Y )
经过压缩的⾊差信号同前⾯的亮度信号组成新的⾊度空间,简称为 YUV 空间。三,YUV与YCbCr和RGB之间换算公式的差异 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.394*U'' - 0.581*V'' B'' = Y'' + 2.032*U'' yCbCr<-->rgb
Y’ = 0.257*R'' + 0.504*G'' + 0.098*B'' + 16
Cb'' = -0.148*R'' - 0.291*G'' + 0.439*B'' + 128 Cr'' = 0.439*R'' - 0.368*G'' - 0.071*B'' + 128 R'' = 1.164*(Y’-16) + 1.596*(Cr''-128)
G'' = 1.164*(Y’-16) - 0.813*(Cr''-128) - 0.392*(Cb''-128) B'' = 1.164*(Y’-16) + 2.017*(Cb''-128)
Note: 上⾯各个符号都带了⼀撇,表⽰该符号在原值基础上进⾏了gamma correction
三、 来源上的差异
yuv⾊彩模型来源于rgb模型,该模型的特点是将亮度和⾊度分离开,从⽽适合于图像处理领域。
应⽤:basic color model used in analogue color TV broadcasting.⽤在模拟彩⾊电视⼴播的基本颜⾊模型中 YCbCr模型来源于yuv模型。YCbCr is a scaled and offset version of the YUV color space. 应⽤:数字视频,ITU-R BT.601 recommendation
ps:通过上⾯的⽐较可以确定,我们在h.264,mpeg等编码标准中⽤的yuv其实是YcbCr,⼤家不要被名称搞混淆了。
四,知识汇总
⼈类视觉系统(HVS)相⽐亮度来说对于颜⾊不是那么敏感的。在RGB颜⾊空间中,三种颜⾊被平等地看待,并⽤相同的分辨率存放起来。但是通过把亮度与颜⾊信息分离,并对亮度值取更⾼的分辨率可以更有效地表⽰⼀个颜⾊图像。
YCbCr颜⾊空间和它的变换(通常写为YUV)是⼀种流⾏⽽⾼效的表⽰⼀个颜⾊图像的⽅法。Y是亮度值,由R,G,B的加权平均可以得到: Y=krR + kgG + kbB 这⾥k是加权因⼦。 颜⾊信号可以由不同的颜⾊差别来表⽰: Cb = B-Y Cr = R-Y Cg = G-Y
对于⼀个颜⾊图像的完整的描述由给定Y和三个⾊差:Cb,Cr,Cg来表⽰。
⽬前为⽌,我们的表⽰⽅法好像并不那么好,因为相⽐RGB表⽰来说,我们这次⽤了四个参数。然后Cb+Cr+Cg是⼀个常数,那么我们只需要两个⾊度参数就可以了,第三个可以通过其他两个计算出来。在YCbCr空间中,只有Y和Cb,Cr值被传输和存储,⽽且Cb和Cr的分辨率可以⽐Y低,因为⼈类视觉系统对于亮度更加敏感。这就减少了表⽰图像的数据量。通常的观察情况下,RGB和YCbCr表⽰的图像看上去没有什么不同。对于⾊度采⽤⽐亮度低的分辨率进⾏采样是⼀种简单⽽有效的压缩办法。
⼀个RGB图像可以在捕捉之后转换为YCbCr格式⽤来减少存储和传输负担。在显⽰图象之前,再转回为RGB.注意没有必要去指明分别的加权值kg(因为kb+kr+kg=1),⽽且G可以从YCbCr中解压出来,这说明不需要存储和传输Cg参数。 Y = kr R + (1-kb-kr)G + kb B Cb = 0.5/(1-kb) * (B-Y) Cr = 0.5/(1-kr) * (R-Y) R = Y + (1-kr)/0.5 * Cr
G = Y - 2kb(1-kb)/(1-kb-kr) * Cb - 2kr(1-kr)/(1-kb-kr) * Cr B = Y + (1-kb)/0.5 * Cb
ITU-R的BT.601决议定义了kb=0.114,kr=0.299,那么代换参数就有了如下等式: 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五, YCbCr采样格式
4:4:4采样就是说三种元素Y,Cb,Cr有同样的分辨率,这样的话,在每⼀个像素点上都对这三种元素进⾏采样。数字4是指在⽔平⽅向上对于各种元素的采样率,⽐如说,每四个亮度采样点就有四个Cb的Cr采样值。4:4:4采样完整地保留了所有的信息值。
4:2:2采样中(有时记为YUY2),⾊度元素在纵向与亮度值有同样的分辨率,⽽在横向则是亮度分辨率的⼀半(4:2:2表⽰每四个亮度值就有两个Cb和Cr采样)4:2:2视频⽤来构造⾼品质的视频彩⾊信号。
4:2:0采样格式中(常记为YV12)Cb和Cr在⽔平和垂直⽅向上有Y分辨率的⼀半.4:2:0有些不同,因为它并不是指在实际采样中使⽤4:2:0,⽽是在编码史中定义这种编码⽅法是⽤来区别于
4:4:4和4:2:2⽅法的)。4:2:0采样被⼴泛地应⽤于消费应⽤中,⽐如视频会议,数字电视和DVD存储中。因为每个颜⾊差别元素中包含了四分之⼀的Y采样元素量,那么4:2:0YCbCr视频需要刚好4:4:4或RGB视频中采样量的⼀半。
4:2:0采样有时被描述是⼀个\"每像素12位\"的⽅法。这么说的原因可以从对四个像素的采样中看出。使⽤4:4:4采样,⼀共要进⾏12次采样,对每⼀个Y,Cb和Cr,就需要12*8=96位,平均下来要96/4=24位。使⽤4:2:0就需要6*8=48位,平均每个像素48/4=12位。
在⼀个4:2:0隔⾏扫描的视频序列中,对应于⼀个完整的视频帧的Y,Cb,Cr采样分配到两个场中。可以得到,隔⾏扫描的总采样数跟渐进式扫描中使⽤的采样数⽬是相同的。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务