LCD接口和RGB介绍
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介绍的更多相关文章
- LCD接口和RGB介绍【转】
转自:https://www.cnblogs.com/hzl6255/p/5470583.html 阅读目录 1. 介绍 2. 接口类型 3. RGB 4. YUV 5. FOURCC 回到顶部 1. ...
- 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系统: ...
随机推荐
- 第四篇:用IntelliJ IDEA 搭建基于jersey的RESTful api
编译器:Intellij IDEA 系统环境: MAC OS 相关技术:Maven.tomcat 7.jdk8 1.创建项目 首先创建一个web Application项目(这里我们打算用maven引 ...
- Comet之SSE(Server - Sent - Envent,服务器发送事件)
1.SSE API 先要创建一个新的EventSource对象,并传进一个入口点: var source = new EventSource("myenvent.php"); △: ...
- Spring邮件发送1
注意:邮件发送code中,邮件服务器的申请和配置是比较主要的一个环节,博主这里用的是QQ的邮件服务器.有需要的可以谷歌.百度查下如何开通. 今天看了下Spring的官方文档的邮件发送这一章节.在这里记 ...
- 20道Java面试必考题
系统整理了一下有关Java的面试题,包括基础篇,javaweb篇,框架篇,数据库篇,多线程篇,并发篇,算法篇等等,陆续更新中.其他方面如前端后端等等的面试题也在整理中,都会有的. 注:文末有福利!pd ...
- Python内置函数(54)——callable
英文文档: callable(object) Return True if the object argument appears callable, False if not. If this re ...
- 新概念英语(1-47)A cup of coffee
新概念英语(1-47)A cup of coffee How does Ann like her coffee? A:Do you like coffee, Ann? B:Yes, I do. A:D ...
- 百度地图api的用法
功能: 1.点击"江干区",地图自动定位到该区域,并且该区域出现overlay(红色) 2.点击"派出所"."社区"级别时,地图也自动定位同 ...
- Mybatis 中的转义字符
记录以下mybatis中的转义字符,方便以后自己看一下 Mybatis转义字符表 < < 小于 > > 大于 & & 与 ' ' 单引号 &q ...
- [Kaggle] dogs-vs-cats之模型训练
上一步建立好模型之后,现在就可以训练模型了. 主要代码如下: import sys #将当期路径加入系统path中 sys.path.append("E:\\CODE\\Anaconda\\ ...
- 1.3WEB API 默认以json格式返回数据,同时定义时间格式,返回格式
首先我们知道,web api 是可以返回任意类型的,然后在输出的过程中转为(默认的)xml. 但是xml是比较费流量的,而且大多前端都是用json对接,所以我们也只能随大流,把它输出改成json. 不 ...