多年来,对于大部分人来说,对图形信号的认识不外有三种:射频信号,复合视频信号,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是亮度分量,UV分别为R-YB-Y分量,又称为色差分量。Y、U、V与R、G、B一样构成一个彩色矢量空间。RGB需要三个分量表示色彩,而YUV只需用R-Y和B-Y两个分量即可。所以YUV特别适合在图像的数字处理中用于数据的传输和存储,象以MPEG、JPEC为标准的图像压缩就是在YUV上进行的,这就是为什么高档DVD机都有色差输出端子。

RGB 是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好像有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和(两盏灯的亮度嘛!),越混合亮度越高,即加法混合。
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的更多相关文章

  1. 多媒体编程基础之RGB和YUV

    一.概念 1.什么是RGB? 对一种颜色进行编码的方法统称为“颜色空间”或“色域”.用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量.RGB(红.绿.蓝)只是众多颜色空间 ...

  2. 关于RGB转换YUV的探讨与实现

    最近在Android手机上使用相机识别条形码工作取得了比较理想的进展,自动识别功能基本完成,然而在手动识别指定条形码图片时遇到困难,由于Zxing开源Jar包识别图片的颜色编码式为YUV,而普通的图片 ...

  3. 【性能优化】优化笔记之一:图像RGB与YUV转换优化

    本文主要介绍如何优化您自己的CODE,实现软件的加速.我们一个图象模式识别的项目,需要将RGB格式的彩色图像先转换成黑白图像.图像转换的公式如下: Y = 0.299 * R + 0.587 * G ...

  4. Android 音视频编解码——RGB与YUV格式转换

    一.RGB模型与YUV模型 1.RGB模型 我们知道物理三基色分别是红(Red).绿(Green).蓝(Blue).现代的显示器技术就是通过组合不同强度的红绿蓝三原色,来达成几乎任何一种可见光的颜色. ...

  5. LCD LED OLED区别 以及RGB、YUV和HSV颜色空间模型

    led 液晶本身不发光,而是有背光作为灯源,白色是由红绿蓝三色组成,黑色是,液晶挡住了led灯光穿过显示器. lcd比led更薄. oled:显示黑色时,灯是灭的,所以显示黑色更深,效果更好. 这就不 ...

  6. 音视频编解码——RGB与YUV格式转换

    一.RGB模型与YUV模型 1.RGB模型 我们知道物理三基色分别是红(Red).绿(Green).蓝(Blue).现代的显示器技术就是通过组合不同强度的红绿蓝三原色,来达成几乎任何一种可见光的颜色. ...

  7. 视音频数据处理入门:RGB、YUV像素数据处理

    ===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...

  8. [转载] 视音频数据处理入门:RGB、YUV像素数据处理

    ===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...

  9. 视音频数据处理入门:RGB、YUV像素数据处理【转】

    转自:http://blog.csdn.net/leixiaohua1020/article/details/50534150 ==================================== ...

随机推荐

  1. 第五十篇、OC中常用的第三插件

    1.UIViewController-Swizzled 当你接手一个新项目的时候,使用该插件,可以看到控制器的走向,当前控制是哪个,下一个跳转到哪里 2. 一个Xcode小插件,将Json直接转成模型 ...

  2. Cocos2d-x中使用音频CocosDenshion引擎介绍与音频文件的预处理

    Cocos2d-x提供了一个音频CocosDenshion引擎,CocosDenshion引擎可以独立于Cocos2d-x单独使用,CocosDenshion引擎本质上封装了OpenAL音频处理库.具 ...

  3. 免费的HTML5连载来了《HTML5网页开发实例详解》连载(六)媒体查询

    响应式设计的另一个重要技术手段是媒体查询.如果只是简单的设计一个流式布局系统,那么可以保证每个网格按比例的放大和缩小,但有可能会使得在小屏幕下(如手机设备)网格太小而严重影响阅读,这样的设计称不上响应 ...

  4. UML建模文章总结

    一.为什么要学习UML UML是Unified Modeling Language(统一建模语言)的简称.UML是对软件密集型系统中的制品进行可视化.详述.构造和文档化的语言.制品{Artifact} ...

  5. C++ 中 const 和 static 的作用

    目录 const 的主要应用如下: const 关键字使用的注意点: C++中static关键字有三个明显的作用: const的主要应用如下: const 用于定义常量:const定义的常量编译器可以 ...

  6. 实现android上解析Json格式数据功能

    实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧. package com.practic ...

  7. Android 自定义CheckBox 样式

    新建Android XML文件,类型选Drawable,根结点选selector,在这定义具体的样式. <?xml version="1.0" encoding=" ...

  8. iterm2 配色修改

    打开终端 输入 cd ~ vim .bash_profile 插入 export CLICOLOR= export LSCOLORS=gxfxcxdxbxegedabagacad export PS1 ...

  9. 如何使用Git——(一)

    一.git与github git 是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目. github 是一个网站,给用户提供git仓库托管服务,是开源代码库以及版本控制系统.在 ...

  10. 巧用system函数个性化屏幕显示

    函数名:system 功  能: 发出一个DOS命令 用  法: system("DOS命令");             (system函数需加头文件<stdlib.h&g ...