1. 介绍

Video的显示离不开LCD, 所以这里简单介绍一下LCD的接口和RGB

LCD的全称是Liquid Crystal Display的简称, 即液晶显示器; 目前已经取代CRT, 成为TV、PC等的标配

2. 接口

首先我们以传递的信号类型来区分主要有两大类:

- 模拟信号:
- VGA: Video Graphics Array
- 数字信号
- TTL: Transistor Transisor Logic
- LVDS: Low Voltage Differential Signaling
- TMDS: Transition Minimized Differential Signal

连接方式实例如下图所示

2.1 TTL

LCD TTL接口中一般包含

数据信号: 指RGB数据信号, 如R0~R5、G0~G5、B0~B5
时钟信号: 像素时钟信号(DCLK), 是传输数据和对数据信号进行读取的基准
控制信号: 包括数据有效信号(DE), 行同步信号(HSYNC)、场同步信号(VSYNC)

2.2 LVDS

LVDS是一种低压差分信号技术掊, 它是美国国家半导体公司为了克服以TTL电平方式传输宽带高码率数据时功耗大、电磁干扰大等缺点而研制的一种数字视频信号传输方式;传递的信号与TTL类型, 不累叙

2.3 TMDS

TMDS, 即过渡调制差分信号, 也被称为最小化传输差分信号
是一种微分信号机制, 运行先进的编码算法, 把8bit数据(R、G、B中每路基色信号)通过最小转换编码为10bit数据
这10bit数据包含行场同步信号信息、时钟信息、数据DE、纠错等, 经过DC平衡后, 采用差分信号传输数据
它和LVDS、TTL相比有较好的电磁兼容性能, 可以用低成本的专用电缆实现长距离、高质量的数据信号传输

3. RGB

从上面的接口可以发现, 从LCD传递的是RGB数据
这也是本人比较关注的东西

RGB一般是指RGB色彩模型(RGB color model), 是工业界的一种颜色标准
通过对红(Red)、绿(Green)、蓝(Blue)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的
RGB即是代表红、绿、蓝三个通道的颜色, 这个标准几乎包括了人类视力所能感知的所有颜色

通常一个颜色通道由8bit表示, 即每个颜色通道值得范围是0~255, 通常称RGB888/RGB24
三个颜色通道总共能组合出约1678(256×256×256)万种色彩, 通常也被简称为1600万色或千万色, 也称为24位色(2^24)

在实际的使用中, 除了RGB24, 还有RGB555,、RGB565、RGB32(另8bit用作alpha通道或者不用)

颜色名称

Red

Green

Blue

黑色 0 0 0
蓝色 0 0 255
绿色 0 255 0
青色 0 255 255
红色 255 0 0
洋红色 255 0 255
黄色 255 255 0
白色 255 255 255

4. YUV

颜色模型除了RGB, 还有CIE, YUV

其中YUV又包括YUV(PAL), Y'CbCr(是YUV压缩和偏移的版本)
通常YUV(PAL)用于彩色电视机, Y'CbCr在计算机系统中应用非常广泛, 我们一般说的YUV指的是Y'CbCr

历史上, YUV被用于电视系统PAL (NTSC里面使用YIQ, 是YUV color space的变种)的颜色信号的模拟编码
Y'PbPr/Y'CbCr 则被用于视频和静态图像处理系统中的颜色编码(例如MPEG/JPEG)

Y′是亮度(luma)分量, Cb指蓝色色度(chroma)分量,而Cr指红色色度(chroma)分量
Y′是区别于Y(亮度, luminance), 是光强(light)基于Gamma校正的RGB三原色的非线性编码
当只有Y′时, 显示出来的是黑白图像, 详细可参看下图

根据采样格式的不同 Y'CbCr又可分为Y′CbCr 4:2:0、Y′CbCr 4:2:2、Y′CbCr 4:1:1和Y′CbCr 4:4:4
以Y′CbCr 4:1:1为例, 其含义为: 每个点保存一个8bit 的亮度值(也就是Y′值), 每 2x2 个点保存一个Cr 和Cb 值, 图像在肉眼中的感觉不会起太大的变化

用RGB24模型, 每个点需要8x3=24 bits, 而Y′CbCr 4:1:1仅需要 8+(8/4)+(8/4)=12bits, 平均每个点占12bits
这样就把图像的数据压缩了一半

5. FOURCC

我们知道RGB/YUV按照不同采样格式有不同的类型, 在实际的使用中该如何简单快速地区分它们呢, 这里就得提到FOURCC了

FOURCC(four-character code)是一个4bit序列, 用来唯一标识一个数据格式(主要用于视频编解码);同时也包括了RGB和YUV的格式, 当然FOURCC所定义远不止它们

在Linux中, 可以通过v4l2_fourcc宏来定义该值(include/linux/Videodev2.h);比较常用的RGB和YCbCr格式有

/* RGB formats */
#define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */
#define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */
#define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */
#define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */ /* two planes -- one Y, one Cr + Cb interleaved */
#define V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */
#define V4L2_PIX_FMT_NV16 v4l2_fourcc('N', 'V', '1', '6') /* 16 Y/CbCr 4:2:2 */

参考:

<Android LCD>
<常见视频接口介绍>
<各种视频信号格式及端子介绍>
<深入理解color model(颜色模型)>

LCD接口和RGB介绍的更多相关文章

  1. LCD接口和RGB介绍【转】

    转自:https://www.cnblogs.com/hzl6255/p/5470583.html 阅读目录 1. 介绍 2. 接口类型 3. RGB 4. YUV 5. FOURCC 回到顶部 1. ...

  2. LCD接口(转载)

    LCD接口分类 1.   I8080接口,我觉得应该就是所谓的8080,通常会用在12864屏上面,且有内部sdram,不需要实时的刷新图片,速度有限制, 支持的数据宽度有8/9/16/18bit,接 ...

  3. 【转】Android LCD(三):Samsung LCD接口篇

    关键词:android LCD控制器 Framebuffer PWM  平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos ...

  4. Android LCD(三):Samsung LCD接口篇

    关键词:android LCD控制器 Framebuffer PWM  平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0  平台:samsung exy ...

  5. 对LCD接口的认识

    LCD接口类型: 1.首先我们以传递的信号类型来区分主要有两大类:- 模拟信号: - VGA: Video Graphics Array- 数字信号 - TTL: Transistor Transis ...

  6. List接口:(介绍其下的两个实现类:ArrayList和LinkedList)

    以下介绍接口: List接口:(介绍其下的两个实现类:ArrayList和LinkedList) ArrayList和数组非常类似,其底层①也用数组组织数据,ArrayList是动态可变数组. ①  ...

  7. JDBC常用接口、类介绍

    JDBC常用接口.类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令.API常用的类.接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connectio ...

  8. android系统平台显示驱动开发简要:Samsung LCD接口篇『三』

    平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...

  9. (转)常见LCD接口

    LCD常用接口原理 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 xubin 平台信息:内核:linux2.6/linux3.0系统: ...

随机推荐

  1. 从PRISM开始学WPF(六)MVVM(三)事件聚合器EventAggregator?

    从PRISM开始学WPF(一)WPF? 从PRISM开始学WPF(二)Prism? 从PRISM开始学WPF(三)Prism-Region? 从PRISM开始学WPF(四)Prism-Module? ...

  2. 直方图均衡化及matlab实现

    在处理图像时,偶尔会碰到图像的灰度级别集中在某个小范围内的问题,这时候图像很难看清楚.比如下图: 它的灰度级别,我们利用一个直方图可以看出来(横坐标从0到255,表示灰度级别,纵坐标表示每个灰度级别的 ...

  3. rcnn fast-rcnn faster-rcnn资料

    ---恢复内容开始--- 框架:https://github.com/rbgirshick 论文:链接: https://pan.baidu.com/s/1jIoChxG 密码: ubgm faste ...

  4. 火车头采集器对接织梦cms图集发布时, 采集网上图片超时的解决方法

    背景介绍: 火车头采集器对接织梦cms图片集发布时, 对于多张(超过30张)大图片时, 经常会出现图集发布超时的情况.  问题分析: 因为php对于资源的处理有默认的超时时间30秒, 而我尝试了好多方 ...

  5. php中(包括织梦cms)set_time_limit(0)不起作用的解决方法

    背景介绍: 在做织梦冗余图片清理的功能时, 由于冗余图片太多,导致每次清理时都会超时, 后来在网上搜索了各种文章,网上有如下的解决方法: set_time_limit(0) ini_set('max_ ...

  6. Linux的打印rpm包的详细信息的shell脚本

    #!/bin/bash # list a content summary of a number of RPM packages # USAGE: showrpm rpmfile1 rpmfile2 ...

  7. jenkins简单安装及配置(Windows环境)

    jenkins是一款跨平台的持续集成和持续交付.基于Java开发的开源软件,提供任务构建,持续集成监控的功能,可以使开发测试人员更方便的构建软件项目,提高工作效率. Windows平台下,一般安装方法 ...

  8. c# 工具类(字符串和时间,文件)

    using System; using System.IO; using System.Text.RegularExpressions; using System.Windows.Browser; n ...

  9. NHibernate从入门到精通系列(1)——NHibernate概括

    内容摘要 NHibernate简介 ORM简介 NHibernate优缺点 一.NHibernate简介 什么是?NHibernate?NHibernate是一个面向.NET环境的对象/关系数据库映射 ...

  10. django 配置URLconf和获取值

    django中正确配置url匹配找到视图: 1 在项目下的settings.py中ROOT_URLCONF = "项目名.urls" 表示 前台发来请求会先去项目下的test3/u ...