认识RGB和YUV
多年来,对于大部分人来说,对图形信号的认识不外有三种:射频信号,复合视频信号,S视频信号。射频信号是由复合视频信号调到高频上,普通电视机的天线输入信号用于射频信号,复合视频信号的输入出是用RGA端子。既是我们最常见的音频接口 ,S视频信号的入出是用四苡端子。俗称S端子。在清晰度上,S端子最高,复合视频次之,射频视合最差。
随着DVD播放机和数字机顶盒的出现,为了提供更清晰度的图形,两种新的视频形态也展现在大众眼前,这就是RGB和YUV信号,也叫彩色分量信号,说其新,其实对专业工作和视频玩家来说。是再熟不过了。另外,计算机显器的输入信号也是RGB,只不过通常人们不关心它罢了。
普通复合视频信号具有PAL、NTSC、SECAM等三制式,由于显示图像时经过了视编码和解码的过程,会产生一些附加的干扰。比如在高亮度下显示物体的边缘,会看到爬行的现象;当有多种色彩的物体在移动时,会有色彩不稳的现象等。RGB、YUV信号就不会出现这样的问题。因为现象管的三个阴极输入的信号就是R、G、B信号这就是最原始的,最直接的信号,RGB和YUV信号不存在色彩差的问题,不同制式只是与同步信号有关,复合视频信号和S视频信号的竺扫描频率固定在15.625KHZ(对PAL 制)或15.750(对PAL )。更高的扫描频率信号就要由RGB和YUV来提供。
关于RGB
RGB信号的应用要比YUV早的多,很多专业级监示器,投影同都有RGB输入。RGB信号必须与同步信号同时存在,其存在的形式有三种;第一种是同时存在5路信号,即R、G、B、H、V其中H和V分别是水平同步信号;第二种是同是存在4路信号即R、G、B、S其中S是含有水平的纯直信号同步视频信号的复合信号;第三种是3路信号,即R、G、B,其中同步信号加到了G信号上,玩在元投影机或高机监示器时,经常会遇到这样的问题,一定要引直注意,好在现在很多信号源都有切换开关,以便输出不同的形式,另外高级视频设备也可以自动识别不形式的RGB信号。
在以PAL制为主的欧洲地区,RGB信号包含在21针SCART端子里。值得注意的是此状态下R、G、B信号为0.7V,没有基座脉冲,G信号上也没有同步信号与其相加,同时也没有分离的同步信号与之相伴,而是用复合视频信号作为同步信号。SCART端子的内容相当丰富,还包括了左右声道立体声信号,下表是包含RGB信号的SCGRT端子插针说明。还有一种SCART端子的标准是包含Y、C信号的,与S端子相当。
但在北美及电视制式为NTSC的国家和地区,RGB信号用BNC插头分别进行连接。此状态下R、G、B的信号电平为0.714V,包含了基座脉冲。如果是G信号上加同步,则同步脉冲的电平为0.286V。关于YUV
人们对YUV比RGB知之更少,只有近年不才被人们所知。Y是亮度分量,U、V分别为R-Y和B-Y分量,又称为色差分量。Y、U、V与R、G、B一样构成一个彩色矢量空间。RGB需要三个分量表示色彩,而YUV只需用R-Y和B-Y两个分量即可。所以YUV特别适合在图像的数字处理中用于数据的传输和存储,象以MPEG、JPEC为标准的图像压缩就是在YUV上进行的,这就是为什么高档DVD机都有色差输出端子。
YUV 主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。与 RGB 视频信号传输相比,它最大的优点在于只需占用极少的频宽( RGB 要求三个独立的视频信号同时传输)。其中 “Y” 表示明亮度( Luminance 或 Luma ),也就是灰阶值;而 “U” 和 “V” 表示的则是色度( Chrominance 或 Chroma ),作用是描述影像色彩及饱和度,用于指定像素的颜色。主要的采样格式有 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 bits (如下图第一个图),(全采样后, YUV 仍各占 8bit )。按 4:1:1 采样后,而现在平均仅需要 8+(8/4)+(8/4)=12bits ( 4 个点, 8*4 ( Y ) +8(U)+8(V)=48bits ) , 平均每个点占 12bits( 如下图第二个图 ) 。这样就把图像的数据压缩了一半。
就是说,YUV格式比RGB格式储存空间小。
YUV 与 RGB 转换公式
Y = 0.257R + 0.504G + 0.098B + 16
U = 0.148R - 0.291G + 0.439B + 128
V = 0.439R - 0.368G - 0.071B + 128
B = 1.164(Y - 16) + 2.018(U - 128)
G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128)
R = 1.164(Y - 16) + 1.596(V - 128)
认识RGB和YUV的更多相关文章
- 多媒体编程基础之RGB和YUV
一.概念 1.什么是RGB? 对一种颜色进行编码的方法统称为“颜色空间”或“色域”.用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量.RGB(红.绿.蓝)只是众多颜色空间 ...
- 关于RGB转换YUV的探讨与实现
最近在Android手机上使用相机识别条形码工作取得了比较理想的进展,自动识别功能基本完成,然而在手动识别指定条形码图片时遇到困难,由于Zxing开源Jar包识别图片的颜色编码式为YUV,而普通的图片 ...
- 【性能优化】优化笔记之一:图像RGB与YUV转换优化
本文主要介绍如何优化您自己的CODE,实现软件的加速.我们一个图象模式识别的项目,需要将RGB格式的彩色图像先转换成黑白图像.图像转换的公式如下: Y = 0.299 * R + 0.587 * G ...
- Android 音视频编解码——RGB与YUV格式转换
一.RGB模型与YUV模型 1.RGB模型 我们知道物理三基色分别是红(Red).绿(Green).蓝(Blue).现代的显示器技术就是通过组合不同强度的红绿蓝三原色,来达成几乎任何一种可见光的颜色. ...
- LCD LED OLED区别 以及RGB、YUV和HSV颜色空间模型
led 液晶本身不发光,而是有背光作为灯源,白色是由红绿蓝三色组成,黑色是,液晶挡住了led灯光穿过显示器. lcd比led更薄. oled:显示黑色时,灯是灭的,所以显示黑色更深,效果更好. 这就不 ...
- 音视频编解码——RGB与YUV格式转换
一.RGB模型与YUV模型 1.RGB模型 我们知道物理三基色分别是红(Red).绿(Green).蓝(Blue).现代的显示器技术就是通过组合不同强度的红绿蓝三原色,来达成几乎任何一种可见光的颜色. ...
- 视音频数据处理入门:RGB、YUV像素数据处理
===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...
- [转载] 视音频数据处理入门:RGB、YUV像素数据处理
===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...
- 视音频数据处理入门:RGB、YUV像素数据处理【转】
转自:http://blog.csdn.net/leixiaohua1020/article/details/50534150 ==================================== ...
随机推荐
- linux中sed用法
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed ...
- JAVA UDP网络编程学习笔记
一.UDP网络编程概述 采用TCP协议通信时,客户端的Socket必须先与服务器建立连接,连接建立成功后,服务器端也会持有客户端连接的Socket,客户端的Socket与服务器端的Socket是对应的 ...
- ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码
实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回false 验证手机号是否正确 13,15,18 验证邮箱 验证网址 MD5加密,返 ...
- 实例介绍Cocos2d-x中Box2D物理引擎:使用关节
下面我们将使用Box2D物理引擎技术进行重构.使得关节能够掌握如何在Box2D使用关节约束.HelloWorldScene.cpp中与使用关节的相关代码如下: void HelloWorld::add ...
- 实例介绍Cocos2d-x中Box2D物理引擎:HelloBox2D
我们通过一个实例介绍一下,在Cocos2d-x 3.x中使用Box2D物理引擎的开发过程,熟悉这些API的使用.这个实例运行后的场景如图所示,当场景启动后,玩家可以触摸点击屏幕,每次触摸时候,就会在触 ...
- FastSocket学习笔记~制定自已的传输协议
对于TCP或者UDP来说,它们作于传输层的协议,有着自己的标准,或者叫格式,在我们看TCP格式之前先了解一下计算机的基础知识,字节,它是计算机世界的一个小单位,也是我们可以理会到的,如一个utf-8英 ...
- javascript-对象的创建(一)
<!DOCTYPE html> <%@ page language="java" contentType="text/html; charset=UTF ...
- 真正的inotify+rsync实时同步 彻底告别同步慢
真正的inotify+rsync实时同步 彻底告别同步慢 http://www.ttlsa.com/web/let-infotify-rsync-fast/ 背景 我们公司在用in ...
- WinForm窗体间如何传值的几种方法
(转) 窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式: 公共静态变量: 使用共有属性: 使用委托与事件: 通过构造函数把主窗体传递到从窗体中: 一.通过静态变量 特点: ...
- ES6学习笔记(九)
1.概述 ES5的对象属性名都是字符串,这容易造成属性名的冲突.比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin模式),新方法的名字就有可能与现有方法产生冲突.如果有一种机制 ...