简介
HDMI是(High Definition Multimedia Interface)的英文缩写,意思是高清晰度多媒体接口,它是一种数字化视频/音频接口技术,可同时传输影像与音频信号,最高数据传输速度为48Gbps(2.1版),目前HDMI高清视频接口十分常见,目前主流的显卡、主板、笔记本、液晶电视等都带有HDMI接口,是普通VGA显示接口无法比拟的,犹如宽带中电话线宽带与光纤一样,传输数据能力有着较大区别。
HDMI主要满足1080P以上高清视频需求,比如主板或者显卡中配备HDMI接口,说明配备该主板或者显卡的电脑支持1080P以上的视频输出。
版本演化
HDMI 1.1
2004年5月提出
- 支持DVD-Audio
HDMI 1.2
2005年8月提出
- 支持8声道1bit音频(SACD所用户)
- 让PC讯源可使用HDMI Type A接头
- 在维持YCbCr CE色域前提之下开放PC讯源使用原生RGB色域
- 要求HDMI 1.2以上显示器支持低电压讯源
HDMI 1.2a
2005年12月提出
- 完全确立CEC沟道的功能,指令集,以及兼容性测试程序
HDMI 1.3
2006年6月22日提出
- 扩增single-link模式的带宽至340 Mhz(数据发送速度10.2 Gbps)
- 从24bit色域(1677万色)扩张支持至30-bit, 36-bit,与48-bit(RGB or YCbCr)色域(相当于超过十亿色显示)
- 支持新的xvYCC色彩标准
- 支持自动语音同步(台词对嘴)机能
- 支持Dolby TrueHD以及DTS-HD Master Audio信号输出至外接解码器如果播放机具有直接将此二种信号解码的能力,则不需要支持HDMI 1.3,因为所有的HDMI规格都可以发送未压缩的音频信号。
- 提出新的小型化接头以支持轻便型摄像机
- SonyPlayStation 3是第一个上市的HDMI 1.3播放机。
- Sony BRAVIA KDL- 46X2500、KDL-40X2500是第一个上市的HDMI 1.3显示屏。(1080p支持新的xvYCC色彩标准, 36bits deep color)
- EPSON EMP-TW1000是第一个上市的HDMI 1.3的投影机(支持30-bit deep color)
HDMI 1.3a
2006年11月10日提出
- 修改Cable and Sink的HDMI C Type接头
- Source termination recommendation
- 移除上升时间(rise time)和下降时间(fall time)的最高最低限制
- 改变CEC电容限制
- 澄清RGB视频量化范围
- 增加CEC指令关于时间及声音控制
- 同时Released认证的测试规格文件
HDMI 1.3b
2007年3月26日提出
- 主要是修改HDMI测试规格(HDMI Testing specification),而HDMI Specification依然是HDMI 1.3a。所以第一次出现当时的主要的HDMI Specification跟测试规格(HDMI Testing specification)是不同版本的情况发生。
- 1.3b 2007/03/26 Modifications to TE overview and policy description(4.1)
- Addition of Agilent TDR to Recommended TE(4.2.1.11)
- Clarification of tentative cable emulators(4.2.1.17)
- Jitter tolerance test changes (8-7)
- Added cable tests for TMDS_CLOCK channel (5-3)
- New VL triggering (7-2)
- Editorial and clarifications on CEC Line Degradation(7-15, 8-14)
- Added testing of additional source-supported Deep Color formats (7-34)
- Additional HDMI VSDB EDID checks (8-3)
- Additional TTC usage(5-3, 8-5, 8-6, 8-7)
- Incorporated Tek-recommended setup and calibration for TDR (8-8)
- Clarification on Sink Deep Color Recommended Test Method (8-25)
- Added long cable or cable emulator use for Repeater test (9-3)
- Added color-depths for each format in Source_Video_Formats(App. 3)
- Removed test for filler bytes (8-3)
- Removed Tektronix part number of cable emulator EFF-HDMI-CE-01
HDMI 1.3b1
2007年8月1日提出
- 仅修正关于测试设备上Type C connector的固定器(fixture)的些微内容
HDMI 1.3c
2008年7月25日提出
- 和1.3b、1.3b1一样是为1.3a制订的测试标准
- 与之前版本的主要差异为线材的测试(增加线材测试条目或修正其内容有助于HDMI设备的互连兼容性)
- 亦有部分修改与repeater和CEC相关
HDMI 1.4
2009年5月28日提出
- 新增HDMI百兆以太网沟道,允许基于互联网的HDMI设备和其它HDMI设备共享互联网接入,无需另接一条以太网线。
- 新增音频回授沟道(ARC, Audio return channel),让高清电视可通过HDMI线把音频信号独立传送到A/V功放接收机、音响设备上输出。
- 定义通用3D格式和分辨率。实现家庭3D系统输入输出部分的标准化,最高支持两条1080p分辨率的视频流。
- 最高支持4K×2K(3840×2160p@24Hz/25Hz/30Hz或4096×2160p@24Hz)
- 拓展支持色彩空间,专为数字相机设计的色彩空间,包括sYCC601、Adobe RGB、AdobeYCC601,可在连接数字相机的时候+ 显示更精确的逼真色彩。
- 新增Micro HDMI迷你接口,新的Micro HDMI接口将比19针普通接口小50%左右。
- 支持汽车连接系统,一种为车载高清内容传输设计的线缆规范,可避免发热、震动、噪音等汽车内部常见环境的影响,也为汽车制造商在车内传送高清内容提供一套切实可行的解决方案。[2]
HDMI 1.4a
2010年3月4日提出
- 新增Top-and-Bottom(上下)格式
- 新增两套应用于广播系统中的强制性3D画面传输格式标准
- Side-by-Side Horizontal(并发水平)
- Top-and-Bottom(上下)
- 定义强制性广播、游戏、电影3D标准
HDMI 1.4a标准要求:
- 3D显示设备帧封装水平须达到720p@50、1080p@24或720p@60、1080p@24
- Side-by-Side Horizontal需达到1080i@50或1080i@60
- top-and-bottom需达到720p@50、1080p@24或720p@60、1080p@24
HDMI 1.4b
2011年10月11日提出
- 支持3D1080p120Hz
HDMI 2.0
2013年9月4日提出
- 新增2160p@50 YCbCr 4:2:0、2160p@60 YCbCr 4:2:0(4K分辨率)
- 支持21:9长宽比
- 32声道,4组音频流
- 传输带宽18Gbps
- 线材兼容HDMI 1.4(没有定义新的数据线和接头)
- 支持CEC扩展
- 支持双画面
- 动态自动声画同步
HDMI 2.0a
2015年4月8日提出
- 支持高动态范围成像(HDR)
HDMI 2.0b
- 支持高动态范围成像(HDR)视频的传输 带宽高达18Gbps 4K @ 50与/ 60(2160P),这是1080/60的视频分辨率的清晰的4倍 多达32个音频沟道进行多维身临其境的音频体验 最多的最高音频保真度1536kHz音频采样频率 双视频的同时递送流提供给多个用户在同一屏幕上 同时传送多路音频多用户(最多4) 9视频宽高比:为广角戏剧21支持 视频和音频流的动态同步 CEC扩展通过单一控制点提供更多的扩展命令和消费电子设备的控制
HDMI 2.1
2017年1月4日提出
- HDMI 2.1根据飞利浦撰写的白皮书增加支持“动态元”
- 简而言之:“HDMI 2.0A涵盖HDR EOTF信令和静态元数据元数据的动态是HDMI 2.1所涵盖。”
- 带宽提升至48Gbps
- 支持4K 120Hz及8K 60Hz
- 支持高动态范围成像(HDR),可以针对场景或帧数进行优化
- 支持eARC功能
- 可针对游戏帧数进行信号同步,减少画面撕裂
- 向后兼容HDMI 2.0、HDMI 1.4
接口规格
HDMI有A,B,C,D,E五种引脚类型。
HDMI A Type
其中A类(Type A)是最常见的,一般平板电视或视频设备,都提供了这种尺寸的接口,Type A有19针,宽度为13.9毫米、厚度为4.45毫米,现在能看到的设备99%都是这样尺寸的HDMI接口。
HDMI B Type
B类(TypeB)非常罕见,传输带宽几乎比A类大了一倍,在家庭应用中完全是过于“强悍”,现在只应用于一些专业场合。有29针,宽度达到21毫米,可传输HDMl A type两倍的TMDS资料量,相对等于DVI Dual-Link传输,用于传输高分辨率(WQxGA 2560×1600以上)。
HDMI C Type
C类(Type C)是为小型设备而生的,其尺寸为10.42×2.4毫米比Type A小了将近1/3,应用范围很小。
总共有19pin,可以说是缩小版的HDMl A type,但脚位定义有所改变。主要是用在便携式装置上,例如DV、数码相机、便携式多媒体播放机等。现在已有SONY HDR-DR5E DV利用此规格接头作为影像输出接口。(常常有人称为该规格为mini-HDMl,这可算是自行创造的名称,实际上HDMI官方并没此名称)
HDMI D Type
D类(Type D)是最新的接口类型,尺寸进一步减小,采用了双排针脚设计,尺寸近似于miniUSB接口,更适用于便携和车载设备。俗称Micro HDMI是定义为HDMl1.4版本的,保持hdmi标准的19pin.尺寸为2.8mm×6.4mm,比mini hdmi(2.42mmx10.42mm)小很多,主要应用在一些小型的移动设备上,如手机,MP4等等。
与DVI的关系
HDMI的接口虽然不同,但功能都是一样的,通常质量合格的HDMl接口,插拨寿命不会少于5000次,每天插拔能用10年,应该说是很耐用的。另外值得一提的是,HDMI可以向下兼容DVI接口,通过市售的HDMI-DVI转接头,可以连接一些较老的DVI设备,因为DVI 同样采用了TMDS方式,设备连接后,会发现DVI设备没有CEC(consumer electronics control)功能,也不能接受音频信号,但基本不影响视频信号的传输(有可能需要进行灰度调整),所以一些只有DVI接口的显示器,也可以连接HDMI设备。
HDMI到DVI的转换属于物理转换,转接线内没有芯片。
HDMI A型接口引脚
- 1-9 都是TMDS数据传输实际上用到的引脚,分为0,1,2三组
- 10-12 为TMDS时钟信号,如当前Video Timing为480p@60Hz(Htotal:800,Vtotal:525),则TMDS clock = 800x525x60 = 25.2MHz。TMDS clock就像是对像素的打包,一个clock分别在三个Channel传输一个像素的R、G、B(8bit)信号。
- 13 为CEC(consumer electronic control)类似一种扩展的HDMI功能,供厂家自己定制HDMI消息,(比如说你有一台sony的DVD与TV,两者用HDMI线接上,如果你用TV的遥控器可以控制DVD,另DVD执行某种功能,那么该功能的命令信号就是通过TV与DVD间的CEC引脚传输的)
- 14 为保留引脚,未使用(或者也可以为CEC提供多一个引脚)
- 15-16 为I2C引脚,用于DDC(Display Data Channel,主要用于EDID与HDCP的传输)传输,具体可以查看。在HDMI的流程中,DDC通信几乎是最先做的(前有Hotplug),因为HDMI的主从两个设备需要通过DDC来获得他们对方设备的EDID,从而得到各种信息,并且通过比较timming以确定以后送出来的timming为最合适的
- 17 为接地引脚
- 18 为5v的AC引脚
- 19 为Hotplug(热拔插)引脚(用于监测HDMI设备有没有存在,如果存在(Hotplug为high)那么可以通过DDC去读EDID),HDMI有规定在HDMI 5vAC断电时source device可以读reciever device的EDID,也就是需要Hotplug为High。其中有两种Hotplug相关的情况会导致HDMI被识别为DVI:
1、 Hotplug为High,不过EDID并没有准备好,那么信号源设备会由于无法读到EDID而认为接收设备为DVI,这样会导致HDMI有图像无声的问题。
2、Hotplug为Low,也会导致信号源无法读到EDID而认为接收设备为DVI,从而导致HDMI有图无声
3、在TV这种有多个HDMI通道的情况下,有时会在多个HDMI通道进行切换,切换后HDMI通道应当先初始化,即先把Hotplug拉低,通知HDMI source device之前所用的EDID已经改变,需要重新读取,那么source device在Hotplug被拉高的时候会去读取新的EDID,但是拉低这个过程至少需要100ms,否则source device有可能不会去读取新的EDID,从而输出DVI信号。
DDC
DDC(显示数据通道)主要用于HDMI源端设备(Source)与接收端设备(Sink)之间进行EDID数据及HDCP密钥的交流。通过EDID交流,源端设备可以了解到接收端设备音视频的接收能力;通过HDCPKey的交流,可以实时的进行数据流的内容保护认证,从而达到数据内容保护的目的。
硬件实现上是标准的IIC接口。
EDID
EDID(Extended Display Identification Data)扩展显示标识数据,是VESA组织制定的PC显示器的显示格式规范。EDID中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串。这些信息保存在显示器的EEPROM中,通过一个 DDC(Display Data Channel)与系统进行通信。这是在显示器和PC图形适配器之间进行的。EDID发展到现在已有很多版本,最新版本的EDID还可以在CRT、LCD以及将来的显示器类型中使用,这是因为EDID提供了几乎所有显示参数的通用描述。
一个HDMI设备的EDID通常包含两个模块,第一个是EDID1.3 的数据模块,第二个是CEA861B模块。HDMI规范规定,EDID的第一个128Byte必须是符合EDID1.3的数据结构,第二个128Byte必须是符合EIA/CEA-861B 的CEAEDID时序扩展数据结构。
下图是EDID1.3 数据结构及其字段详细说明:
下面是CEA-861B数据结构及各字段详细说明:
EDID是HDMI接口的一个重要组成部分。HDMI接口的发送端和接收端,通过EDID来协商双方传输的各项参数。比如,HDMI接口的发送端通过读取接收端的EDID数据,来判断接收端显示器的扫描方式(是1080P,1080i,还是480P,等)、显示器的信息、显示器可接收的信号的范围、显示器的接收端是否为HDMI设备,等等。
HDMI以其优异的性能被广泛使用在高清图像传输中。 HDMI双方以什么方式传输图像,依赖于接收端EDID数据结构的内容。EDID数据决定了接收端显示设备的属性。发送端靠从接收设备读来的EDID判断监视器的属性,决定用什么方式传输图像。如果EDID设置不正确,系统就有可能不能正确识别HDMI设备,不能以高清格式传输图像。因此,EDID的设置至关重要。本文详细分析了EDID各字段的含义,正确设置EDID可以实现HDMI设备之间高清图像的传输。
传输流程
HDMI TMDS传输的数据类型有三种(加上Hsync与Vsync就算4种):
- Preamble(控制信息),主要用于控制接下来传输的数据是Data Island或者Video Data
- Data Island(数据包),各种类型的包信息,包括音频数据包,图像信息包等
- Video Data (视频信息),视频像素数据,HDMI可以传输RGB与YUV两种格式的像素数据
- 还有Hsync与Vsync
HDMI的数据传输有TMDS0,TMDS1,TMDS2三个通道,每个通道的传输流程都是一样的:
如果是8bit的数据进入TMDS编码器,得到抗干扰性强的10bit TMDS信号,然后再进行串行化输出;在接收端收到串行的HDMI信号后,进行信号复原,得到10bit的TMDS信号,最后用TMDS解码器解码得到原来的8bit数据。
总体传输流程如下:
- 如果传输的是Video Data,并且格式为RGB,那么会占用三个通道的所有24bit输入,Channel0[7:0]用于传输B,Channel1[7:0]用于传输G,Channel2[7:0]用于传输R。
- 如果传输的是Data Island,则占用三个通道共10bit输入,Channel0[3:2]用于传输Data Island Header(包头),Channel1[0:3]与Channel2[0:3]用于传输Data Island Content(包内数据)。
- 如果传输的是Preamble,则占用1,2两个通道共4bit输入,Channel1[1:0]与Channel2[1:0]分别为CTL0,CTL1,CTL2,CTL3,用于判断接下来输入的是Video Data或者Data Island
对于Hsync与VSync,会占用Channel0通道的两个bit输入,Channel0[0]为Hsync,Channel0[1]为Vsync
热插拔HotPlug
HotPlug即热拔插,当接上接口时就可以判定设备是否存在,以进行后续工作。
HDMI source device(HDMI HPD)会监测sink device的Hotplug端口,如果Hotplug为High,则证明设备可以工作,然后去读取DCC,如果为low,则证明设备已断开。
HDMI sink device应该通过把Hotplug拉低,来通知source device EDID已经被改变,那么source device在Hotplug被拉高后,就会重新来读取新的EDID,拉低这段时间应该多于100ms。
HDMI规定,HDMI 的5v引脚通电时,可以通过DCC去读取EDID,即需要保证Hotplug为high,有些Hotplug是直接接到5V上的(如下)。
Hotplug接法:(HDMI HPD(Hotplug detect ?)检测sink的Hotplug端)
上面用5V引脚进行供电,并接上Hotplug,这样做就能保证每次source device接上sink device时,都可以去读取到EDID。但是这样做有一个缺点,当5V电源断开时,会有5v的电压回灌给HDMI HPD与Hotplug,5V电压会冲击Hotplug,一旦Hotplug引脚无法承受5V电压的回灌,会被打穿。
下面有个较好的Hotplug接法:
上面用的是额外的GPIO引脚加上三极管控制HDMI HPD为0还是1,如果HDMI0_HPD_CTL输出0,那么三极管断开,HDMI0_HPD侦测到High,如果HDMI0_HPD_CTL输出1,那么三极管打通,HDMI0_HPD侦测到low。