实验1 RGB与YUV两彩色空间的互相转换

本文介绍了RGB到YUV以及YUV到RGB的转换原理,包括模拟信号和数字信号的转换表达式,并探讨了YUV的存储格式和下采样过程。通过实验,实现了RGB转YUV和YUV转RGB的代码,以达到色彩空间的互相转换。
摘要由CSDN通过智能技术生成


1 实验目的

  1. 编写RGB转化为YUV的程序,将给定的RGB文件转化为YUV文件。输出结果用YUVviewer打开,查看是否正确。
  2. 编写YUV转化为RGB的程序,将YUV文件转化为RGB文件。输出结果与原RGB文件进行比对,分析误差。

2 实验原理

2.1 RGB与YUV色彩空间的基础知识

2.1.1 RGB

在《现代电视原理》这门课程中,我们已经学习过,RGB计色系统的创立是为了准确地对颜色进行表述和计算。1931年CIE对三基色做了统一规定,如下图:
在这里插入图片描述
选择它们,则是因为它们的获取方法简单,色度稳定准确,而且可以混配出来的颜色较多。

为了实际计算方便,接下来还要规定基色的单位。

物理计色系统规定:以1各单位的三种基色光混合后,恰能产出等能白光。经过实验,选取了如下基色单位:

· 700nm,光通量1光瓦的红光作为1个红基色单位。
· 546.1nm,光通量4.5907光瓦的绿光为1个绿基色单位。
· 435.9nm,光通量0.0601光瓦的蓝光为1个蓝基色单位。

至此,任何一个色光均可以表示为:

                       F=R(R)+G(G)+B(B)

其中( R ) , ( G ) , ( B )即为基色单位,R、G、B为三种基色的强度系数。

通过计算与实验,我们可以用特定比例的R、G、B三色光调配出标准照明体C(色温6774K,也就是CIE规定的白色光),得到对应的亮度公式:

Y = 0.2990 R + 0.5870 G + 0.1140 B Y = 0.2990R + 0.5870 G + 0.1140 B Y=0.2990R+0.5870G+0.1140B

2.2.2 YUV

YUV与RGB的转换
模拟信号

Y = 0.2990 R + 0.5870 G + 0.1140 B Y = 0.2990R + 0.5870G +0.1140B Y=0.2990R0.5870G0.1140B
U = B − Y = - 0.2990 R - 0.5870 G + 0.8860 B ( 1 ) U = B-Y =-0.2990R - 0.5870G+0.8860B\qquad (1) U=BY=0.2990R0.5870G0.8860B(1)
V = R − Y = 0.7010 R − 0.5870 G − 0.1140 B V = R-Y = 0.7010R-0.5870G-0.1140B V=RY=0.7010R0.5870G0.1140B

数字信号

为了便于处理,模拟信号变为数字信号时需要进行归一化处理,使得色差信号的动态范围控制在±0.5之间。

归一化之后有:

U ′ = 0.564 ( B − Y ) = − 0.1684 R − 0.3316 G + 0.5 B ( 2 ) U^{'}= 0.564(B-Y) = -0.1684R-0.3316G+0.5B\qquad (2) U=0.564(BY)=0.1684R0.3316G+0.5B(2)

V ′ = 0.713 ( V − Y ) = 0.5 R − 0.4187 G − 0.0813 B V^{'}=0.713(V-Y)=0.5R-0.4187G-0.0813B V=0.713(VY)=0.5R0.4187G0.0813B

亮度信号量化后的电平分配

亮度信号在进行8 bit量化时,需要在上下两端留出HEADROOM,作为信号超越动态范围的保护带。

在256级的上端留出20级,下端留出16级作为余量,即 Y Y Y的动态范围为16—235;0与255为保护电平,不允许出现在视频数据流中。

在这里插入图片描述

色差信号量化后的电平分配

如上文所述,色差信号的动态范围在-0.5~0.5之间,对于两个色差信号,在256级的上端留出15级,下端留出16级作为余量,即的动态范围为16—240。
在这里插入图片描述

表达式

基于上述分析,可以得到表达式:
D Y = I N T ( 219 Y / 255 + 16 ) ∗ 2 n − 8 D_Y = INT(219Y /255 + 16) * 2^{n-8} DY=INT(219Y/255+16)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值