HDMI系统编码原理研究

2020-10-20 06:13周芝梅冯晨万勇王永刚
科技风 2020年27期

周芝梅 冯晨 万勇 王永刚

摘 要:HDMI是首个在单线缆上传输非压缩数字高清晰度视频、多声道音频和控制命令数据包的数字接口,满足了目前高清多媒体的应用需求,并得到快速发展。本文从基本结构、视频数据传输、音频数据传输、控制包传输等几个方面解析HDMI传输过程的编码原理。

关键词:HDMI;数字接口;视频格式

Abstract:HDMI is the first digital interface to transmit uncompressed digital high-definition video,multi-channel audio and control command data packets over a single cable.It meets the application requirements of high-definition multimedia at present and develops rapidly.The paper analyzes coding principle of HDMI transmission through the basic structure,video data transmission,audio data transmission,and control packet transmission.

Key words:High-Definition Multimedia Interface;Digital Interface;Video Format

1 绪论

随着生活水平的不断提高,人们对视听享受的需要越来越高,数字音视频接口逐渐替代模拟音视频接口成为消费电子的主流。在DVI接口的基础上,HDMI接口增加了对音频的传输和数字内容版权保护,而且大幅提高了传输速率,逐渐成为数字视频的主要传输技术,因此HDMI接口技术的研究具有极大的商业价值和社会意义。

2 HDMI基本结构

HDMI系统的基本结构由发射端和接收端组成,如图1所示,HDMI接口包含三组独立的数据通道:TMDS(最小转换差分信号)通道、DDC(显示数据)通道和CEC(消费电子控制)通道。其中TMDS通道主要传输音视频数据以及辅助数据。TMDS通道的数据传输作为HDMI传输的主体部分是本文讨论的重点。

TMDS通道包括三组差分数据信号和一组差分时钟信号,它们构成用于传输视频数据、音频数据和辅助信息数据的数据通道和时钟通道。通常情况下TMDS时钟工作在视频像素时钟上,在接收端它作为恢复三路TMDS数据通道内容的参考频率。在发送端TMDS编码将8-bit的TMDS视频数据转化为10-bit直流平衡、最小变化传输的差分信号。每一个视频像素在编码前可以用24,30,36或者48bit表示。默认情况下,24-bit色彩深度视频的像素时钟频率等于TMDS时钟频率,更高色彩深度的视频传输需要相应提高TMDS时钟频率。HDMI在TMDS通道中采用数据包的形式传输音频和辅助信息数据。

DDC通道按照标准I2C协议工作,信号高低电平采用5V和0V,被发射端用来读取接收端EDID(Extended Display Identification Data)数据,而EDID数据主要包含接收端可以支持的视频分辨率信息和音频格式信息。为了实现即插即用功能,发射端可以通过读取接收端的EDID信息来自动更改发出的音视频格式。高带宽数字内容保护功能HDCP也依靠DDC通道来交换密钥实现加密解密过程,达到音视频内容保护的目的。版权保护功能虽然是HDMI的要求,但是HDCP協议相对HDMI是独立存在的,限于篇幅本文不再讨论。CEC通道主要是将多个多媒体发送和接收设备互联,实现一键控制功能,CEC通道是HDMI协议的可选功能,目前尚未普遍使用。

3 HDMI数据编码与传输

HDMI链路包含三种工作模式:视频数据周期、数据岛周期、控制周期。在视频数据周期传输有效视频行的有效像素。在数据岛周期以多种数据包形式传输音频和辅助数据以及纠错码。在没有视频、音频或者辅助数据需要传输控制周期,控制周期用来指示下一个周期是视频数据周期还是数据岛周期,因此在任意两种非控制周期之间要传输一个控制周期。在进行HDMI编码之前,每个TMDS通道包含8bit视频数据、4bit音频数据包、2bit控制数据,这些数据在HDMI编码时按照不同的编码方式扩展成10bit。如图2所示是编码之前的数据在三个数据通道中的示意图。

3.1 HDMI视频数据周期

如前所述,视频传输主要发生在视频数据周期,每个视频周期内的前两个TMDS时钟周期作为视频数据周期的前防护带被称为Leading Guard Band。在视频周期内,三个TMDS通道的前防护带有其特定的值,此值以10-bit形式与编码后的视频数据共同存在,并不存在编码之前的8-bit数据,如表1:

在前防护带之后,就开始传输编码后的视频数据。视频数据编码将8位视频数据变换为10位,然后在视频数据周期传输。首先,将8位字符在最低位不变情况下,对剩下7位分别与其前1位通过“异或”或者“异或非”最小变化编码后,再加上编码指示位产生9位的字符(实际采用“异或”还是“异或非”由8位数据所包含的“1”的个数决定,第9位标志采用了哪种变换方式,0表示“异或非”,1表示“异或”)。然后根据已经传输的数据0和1的个数以及当前将传输数据的0和1个数,决定是否对第一步所产生的9位信息中的8个数据位作反转操作(如果已经传输了更多1,而且当前数据的1比0多,那么反转),变换成10位的直流平衡码(第10位标志是否作了反转,1表示作了反转,0表示没有反转)。最后,编码后的数据经过串行化之后在TMDS通道上以差分形式串行发送出去。

3.2 HDMI数据岛周期

数据岛周期用来传输音频采样数据和辅助数据。辅助数据包括信息包和其他一些描述视频或者音频有效与否的数据包。与视频数据周期类似,数据岛周期以一个前防护带开始,然后才是数据岛周期的第一个数据包,与视频数据周期不同的是数据岛周期以一个尾防护带Trailing Guard Band结束,而视频数据周期没有尾防护带。在数据岛周期中,数据通道1和2的Guard Band也有其特定的值,对应数据通道0的位置不按照Guard Band编码。具体如表2:

在数据岛周期的每一个TMDS时钟周期(包括两个Guard Band),数据通道0的第0位和第1位都传送经过编码的HSYNC和VSYNC。信号数据通道0的第2位用于传送数据包头,数据通道1和2各有低四位被用来传送数据包。每个数据包有32个像素的长度,并通过BCH错误校正码进行错误纠正和检测。数据岛周期中,三条TMDS通道都是在传送一系列由4位输入数据编码得到的10位数据,使用的是降错编码TERC4。如表3:

3.3 HDMI控制周期

控制周期传输引导数据,同时也用于接收端字符同步。每一个TMDS通道传输两位控制信息,如表4:

CTL0-CTL3用来指示接下来传输的是视频数据周期还是数据岛周期。只有下表两个值是有效的,其他都是非法值,如表5:

2位控制数据编码得到的10位数据如表6:

TMDS接收器需要在一系列的串行数据中确定数据边界的位置,一旦数据通道中的边界字符被确定,接收器将依此同步串行数据流,并且将TMDS通道传输的数据流解码。在视频数据周期和数据岛周期内,10位编码数据包含5次或更少的转换,而在控制周期则包含7次或更多的转换。内容转换次数多的编码字在控制周期中传送,成为解码器端字符同步的基础。

4 HDMI视频格式

视频格式的支持是目前消费电子厂家争相改进的重要方面。本节从以下三个方面讨论HDMI器件所支持的视频格式:像素编码、色彩深度、视频分辨率。

在像素编码方面,HDMI支持三种方式:RGB444、YUV422、YUV444,并且RGB444是要求必须支持的一种,另外两种可选。如果HDMI接收或者发送器件能以模拟分量视频或者数字视频支持YUV422或YUV444,那么就要求在HDMI发送端或者接收端也支持对应的格式,而且HDMI接收端对YUV422和YUV444的支持是同时的。

在色彩深度方面,所有的HDMI设备都必须支持24位色彩深度要求。超过24位的色彩深度被称为是深度色彩模式,30位、36位、48位三种色彩深度对于HDMI设备来说是可选的。如果HDMI设备支持深度色彩模式,那么首先必须支持36位色彩模式。对于24位色彩模式,TMDS时钟周期等于视频像素周期,而在深度色彩模式下TMDS时钟周期与视频像素周期成对应倍数关系。

在视频分辨率方面,HDMI发送端必须至少支持640*480p@60Hz、720*480p@60Hz、720*576p@50Hz中的一种。如果HDMI发送器件能以模拟分量视频或者数字视频支持1920*1080i@60Hz、1280*720p@60Hz、1920*1080i@50Hz、1280*720p@50Hz、720*576p@50Hz、720*480p@60Hz六种分辨率中的任意一种,那么要求HDMI发送端也能支持对应的分辨率。

对于HDMI接收端,要求都必须支持640*480p@60Hz。除此之外,所能支持的像素编码方式、色彩深度以及视频分辨率都必须在EDID信息中标明供HDMI发送端识别。

5 结语

篇幅所限,本文并不能对HDMI系统的所有内容详细介绍,主要从HDMI整体结构以及各类数据编解码方法对HDMI传输进行剖析,使读者对HDMI传输过程中的每一个时刻信号所代表的内容有一个直观而确定的认识,这是HDMI设计过程中最难理解也是最重要的部分。

常用的HDMI發送器能够支持RGB444/YUV422/YUV444三种像素编码格式和24位色彩深度。在分辨率方面,除了能支持1920*1080p@60Hz、1920*1080p@30Hz、1920*1080p@25Hz、1920*1080i@60Hz、1920*1080i@50Hz、1280*720p@60Hz、1280*720p@50Hz、720*480p@60Hz、720*576p@50Hz、720*480i@60Hz、720*576i@50Hz、640*480p@60Hz、640*480i@60Hz等HDMI规定的标准分辨率之外,还支持1024*768p@60Hz、1280*768p@60Hz等其他分辨率。

参考文献:

[1]Hitachi Ltd.,Panasonic Corporation.,Philips Consumer Electronics,International B.V.,Silicon Image Inc.,Sony Corporation,Technicolor S.A.,Toshiba Corporation,High-Definition Multimedia Interface Specification Version 1.4a,www.hdmi.org.

[2]向梓豪,陆安江.基于FPGA的HDMI多模式显示模块设计.电子技术应用,2017,12.

[3]魏国.一种基于HDMI2.0的编解码器设计.电子应用技术,2018,06.

[4]徐洪涛.HDMI高速数据传输研究与设计.西安电子科技大学,2009.

[5]任大鹏.HDMI芯片中的音频信号处理及实现.西安电子科技大学,2009.

[6]龙跃.高清晰度多媒体接口关键技术解析.信息技术与标准化,2013,07.

作者简介:周芝梅(1977—),女,硕士研究生,高级工程师,主要研究方向:信号处理与专用集成电路设计;冯晨(1985—),男,硕士研究生,中级工程师,主要研究方向:信号处理与专用集成电路设计;万勇(1981—),男,硕士研究生,中级工程师,主要研究方向:信号处理与专用集成电路设计;王永刚(1977—),男,硕士研究生,中级工程师,主要研究方向:模拟集成电路设计。