HDMI简介
HDMI 是新一代的多媒体接口标准,英文全称是 High-Definition Multimedia Interface,即高清多媒体接口。它能够同时传输视频和音频,简化了设备的接口和连线;同时提供了更高的数据传输带宽,可以传输无压缩的数字音频及高分辨率视频信号。HDMI 1.0 版本于 2002 年发布,最高数据传输速度为 5Gbps;而2017 年发布的 HDMI 2.1 标准的理论带宽可达 48Gbps。HDMI 向下兼容 DVI,但是 DVI(数字视频接口)只能用来传输视频,而不能同时传输音频,这是两 者最主要的差别。
HDMI物理层
在物理接口上,DVI接口的尺寸明显大于HDMI接口,如下图所示:
上图右侧是生活中最常见的A型HDMI接口 ,其引脚定义如下图所示:
DVI和HDMI接口协议在物理层使用TMDS标准传输音视频数据。TMDS(Transition Minimized Differential Signaling,最小化传输差分信号)是美国 Silicon Image公司开发的一项高速数据传输技术,在DVI和HDMI视频接口中使用差分信号传输高速串行数据 。TMDS差分传输技术使用两个引脚 (如图 “数据 2+”和“数据 2 来传输一路信号,利用这两个引脚间的电压差的正负极性和大小来决定传输数据的数值( 0 或 1 )。
TMDS编码
(1) TMDS编码过程
编码
TMDS编码一般是将8位数据经过编码和直流平衡达到10位的最小数据。这仿佛是增加了冗余位,对传输要求更高了。但是实际上这种算法使得到的数据在同轴电缆中可靠性更强了。下图举例一种并转串编码过程,8位并行的RED数据编码后进行并转串。
- 将 8 位并行 RED 数据发送到 TMDS 収送端。
- 并/串转换。
- 进行最小化传输处理,加上第 9 位,即编码过程。第 9 位数据称为编码位。
直流平衡
直流平衡(DC-balanced)就是指在编码过程中保证信道中直流偏移为零。方法是在原来的 9 位数据癿后面加上第 10 位数据,返样,传输的数据趋于直流平衡,使信号对传输线的电磁干扰减少,提高信号传输的可靠性。
(2)TMDS发送和接收的链接示意图
上图是 TMDS 发送端和接收端的连接示意图。DVI 或 HDMI 视频传输所使用的 TMDS 连接通过四个串行通道实现。对于DVI来说,其中三个通道分别用于传输视频中每个像素点的红、绿、蓝三个颜色分量(RGB4:4:4格式)。HDMI 默认也是使用三个 RGB 通道,但是它同样可以选择传输像素点的亮度和色度信息(YCrCb4:4:4或YCrCb 4:2:2格式)。第四个通道是时钟通道,用于传输像素时钟。独立的 TMDS 时钟通道为接收端提供接收的参考频率,保证数据在接收端能够正确恢复。在传输视频图像的过程中,数据通道上传输的是编码后的有效像素字符。而在每一帧图像的行与行之间以及视频中不同帧之间的时间间隔(消隐期)内,数据通道上传输的则是控制字符。每个通道上有两位控制信号的输入接口,共对应四种不同的控制字符。这些控制字符提供了视频的行同步(HZYNC)以及帧同步(VSYNC)信息,也可以用来指定所传输数据的边界(用于同步)。对于DVI传输 ,整个视频的消 隐期都用来传输控制字符 。而HDMI传输的消隐期除了控制字符之外,还可以用于传输音频或者其他附加数据,比如字幕信息等。这就是DVI和HDMI协议之间最主要的差别。从上图中也可以看出这一差别, 即“ Auxiliary Data”接口标有HDMI Olny”,即它是HDMI所独有的接口。从前面的介绍中我们可以看出,TMDS连接从逻辑功能上可以划分成两个阶段:编码和并串转换。在编码阶段,编码器将视频源中的像素数 据、HDMI的音频/附加数据以及行同步和场同步信号分别编码成10位的字符流 。然后在并串转换阶段将上述的字符流转换成串行数据流并将其从三个差分输出通道发送出去。
给出了三个通道的DVI编码器示意图。对于像素数据的RGB三个颜色通道,编码器的逻辑是完全相同的。VDE用于各个通道选择输出视频像素数据还是控制数据。HSYNC和VSYNC信号在蓝色通道进行编码得到10位字符,然后在视频消隐期传输。绿色和红色通道的控制信号C0和 C1同样需要进行编码并在消隐期输出。但是DVI规范中这两个通道的控制信号是预留的未用到因此将其置为2’b00。每个通道输入的视频像素数据都要使用DVI规范中的TMDS编码算法进行编码。每个8 bit的数据都将被转换成460个特定10bit字符中的一个。这个编码机制大致上实现 了传输过程中的直流平衡,即一段时间内传输的高电平(数字1)的个数大致等于低电平(数字0的个数。同时,每个编码后的10bit字符中状态跳转(“由 1到 0”或者“由 0到 1)的次数将被限制在五次以内。除了视频数据之外,每个通道2 bit控制信号的状态也要进行编码 ,编码后分别对应四个不同的10bit控制字符,分别是10'b1101010100 ,10'b0010101011,10'b0101010100 和 10'b1010101011。可以看出,每个控制字符都有七次以上的状态跳转。视频字符和控制字符状态跳转次数的不同将会被用于发送和接收设备的同步 。