LCD接口和RGB介绍【转】
转自:https://www.cnblogs.com/hzl6255/p/5470583.html
1. 介绍
Video的显示离不开LCD, 所以这里简单介绍一下LCD的接口和RGB
LCD的全称是Liquid Crystal Display 的简称, 即液晶显示器
LCD目前已经取代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介绍【转】的更多相关文章
- LCD接口和RGB介绍
1. 介绍 Video的显示离不开LCD, 所以这里简单介绍一下LCD的接口和RGB LCD的全称是Liquid Crystal Display 的简称, 即液晶显示器LCD目前已经取代CRT, 成为 ...
- LCD接口(转载)
LCD接口分类 1. I8080接口,我觉得应该就是所谓的8080,通常会用在12864屏上面,且有内部sdram,不需要实时的刷新图片,速度有限制, 支持的数据宽度有8/9/16/18bit,接 ...
- 【转】Android LCD(三):Samsung LCD接口篇
关键词:android LCD控制器 Framebuffer PWM 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos ...
- Android LCD(三):Samsung LCD接口篇
关键词:android LCD控制器 Framebuffer PWM 平台信息: 内核:linux2.6/linux3.0 系统:android/android4.0 平台:samsung exy ...
- 对LCD接口的认识
LCD接口类型: 1.首先我们以传递的信号类型来区分主要有两大类:- 模拟信号: - VGA: Video Graphics Array- 数字信号 - TTL: Transistor Transis ...
- List接口:(介绍其下的两个实现类:ArrayList和LinkedList)
以下介绍接口: List接口:(介绍其下的两个实现类:ArrayList和LinkedList) ArrayList和数组非常类似,其底层①也用数组组织数据,ArrayList是动态可变数组. ① ...
- JDBC常用接口、类介绍
JDBC常用接口.类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令.API常用的类.接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connectio ...
- android系统平台显示驱动开发简要:Samsung LCD接口篇『三』
平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...
- (转)常见LCD接口
LCD常用接口原理 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 xubin 平台信息:内核:linux2.6/linux3.0系统: ...
随机推荐
- python的dir、help、str用法
当你给dir()提供一个模块名字时,它返回在那个模块中定义的名字的列表.当没有为其提供参数时, 它返回当前模块中定义的名字的列表.dir() 函数使用举例: 1 2 3 4 5 6 >>& ...
- V7000存储数据恢复_底层结构原理拆解及Mdisk磁盘掉线数据恢复方法
Storwize V7000(也就是我们常说的V7000)是新推出的一款中端存储系统,这款系统的定位虽然在中端,但是Storwize V7000提供有存储管理功能,这一功能以前只有高端存储才拥有(例如 ...
- 教你在不使用框架的情况下也能写出现代化 PHP 代码
我为你们准备了一个富有挑战性的事情.接下来你们将以 无 框架的方式开启一个项目之旅. 首先声明, 这篇并非又臭又长的反框架裹脚布文章.也不是推销 非原创 思想 .毕竟, 我们还将在接下来的开发之旅中使 ...
- Spring Boot 配置文件详解
Spring Boot配置文件详解 Spring Boot提供了两种常用的配置文件,分别是properties文件和yml文件.他们的作用都是修改Spring Boot自动配置的默认值.相对于prop ...
- LXC学习实践(2)安装LXC
1.准备工作: yum install gcc yum install libcap-devel yum install libcgroup 2.安装LXC 下载源代码:sourceforge.net ...
- python入门(14)定义函数和接收返回值
定义函数: 定义一个求绝对值的my_abs函数为例: def my_abs(x): if x >= 0: return x else: return -x 如果没有return语句,函数执行完毕 ...
- Android 自定义控件高度设置onMeasure方法
最近使用hellocharts需要表格横向显示,而activity需要竖屏显示,在旋转以后,默认宽度为不超过屏幕宽度,则一直无法显示全控件. 此时需要修改onMeasure方法,这个方法是用来控制控件 ...
- 使用 C#/.NET Core 实现单体设计模式
本文的概念内容来自深入浅出设计模式一书 由于我在给公司做内培, 所以最近天天写设计模式的文章.... 单体模式 Singleton 单体模式的目标就是只创建一个实例. 实际中有很多种对象我们可能只需要 ...
- github生成SSH公钥
ssh-keygen -t rsa -C "your_email@youremail.com" 然后输入github上的密码 Enter passphrase (empty for ...
- spark2.1操作json(save/read)
建筑物配置信息: case class BuildingConfig(buildingid: String, building_height: Long, gridcount: Long, gis_d ...