首页 > 代码库 > 数字视频基础(三)
数字视频基础(三)
2.3 HDMI和DVI
2.3.1 HDMI
2.3.1.1 概述
如下图所示,HDMI电缆和连接器有4对差分线,3对TMDS数据线和1对时钟通道。这些通道用来传输视频、音频和辅助数据。另外,HDMI还有DDC通道,DDC是用来配置显示器和获得显示器状态,这里我们不讨论DDC。
音频、视频和辅助数据通过3个TMDS数据通道来传输,TMDS时钟,其频率通常是视频像素时钟频率,作为接收器的参考频率。TMDS将每个TMDS数据通道的并行8bit数据转换为直流平衡跳变最少的串行10bit数,因此发送是每个TMDS时钟周期发送10bit的数。
视频数据可以是24、30、36或48bit,一般是24bit,如果超过24bit,则使用更高的TMDS时钟速率。如果像素时钟速率过低,比如PAL视频像素时钟为13.5MHz,则发送时使用像素复制方法。视频像素可以是RGB、YCbCr444或YCbCr422格式。
为了通过TMDS通道传输音频和辅助数据,HDMI使用包结构。为了获得较高的传输可靠性,这些数据采用BCH纠错技术。
基本的音频功能支持IEC60958L-PCM音频流,采样速率32KHz,44.1KHz,48KHz。也能兼容通常的立体声数据流。
3.3.1.2 基本数据结构
- 视频数据周期(Video Data Period):传输视频数据,使用TMDS编码,每个通道8bit,每个像素24bit。
- 数据岛周期(Data Island Period):使用TMDS及纠错编码,每个通道传输4bit,每个时钟周期传输12bit
- 控制周期(Control Period):每通道2bit,每个TMDS时钟周期6bit,这6bit是HSYNC、VSYNC、CTL0、CTL1、CTL2、CTL3。在每个控制周期结束附近,有一个前缀,它使用CTLx位,指示下个数据周期是一个视频数据周期还是一个数据岛周期。
每个视频数据周期和数据岛周期开始于前导监视段(Leading Guard Band),用来可靠地确定由控制周期到数据周期的转变。这个前导监视段(Leading Guard Band)由2个特殊字符组成。
数据岛周期还使用后缀监视段(Trailing Guard Band)来保护,用来可靠地确定到控制段的转换。
2.3.2 DVI
HDMI和DVI都是采用TMDS编码方式,只不过HDMI在消隐期间增加了数据岛包用来传输音频数据,而DVI没有传输数据岛。其他两者是兼容的。
这里我们没有介绍TMDS(Transition Minimized DifferentialSignaling)是如何将并行数据转换为串行数据的。也没有介绍数据岛包的具体定义。详细内容见有关标准。
下图简单说明一下TMDS的概念:
0-1和1-0之间的变化会引起干扰,使这个变化次数最少,可以降低干扰,提高数据传输的带宽。
2.4 SDI
2.4.1 概述
SDI接口必须进行2个处理工作:数据组合和串行化。数据组合发生在源端,是将视频、同步、音频、辅助数据等组合成一个并行格式的数据流。然后由串行化电路将这并行的数据流转换成串行数据流用于传输。在解码端是个逆向过程。
2.4.2 数据组合
我们对上面的数据流应该很面熟才是,其实就是源自BT656。
辅助数据格式:
1) 辅助数据标志(Aux Data Flag):1个字,3FCh
2) 数据ID(Data ID):1个字。指示数据类型,低8位有效,高2位为校验位。尽管有256种类型,但是目前仅定了AES/EBU格式的音频数据类型。ID = 0FFh表示音频,000h表示无格式化音频数据。
3) 数据块编号(Data Block Number),同一数据ID的数据块编号。
4) 数据个数(Data Count),最大255。
5) 用户数据。
6) 检查和:包含从Data ID到用户数据的检查和。
2.4.3 串行编码器
形成并行的数据之后,为了串行传输,需要将并行数据转换为串行数据,SDI一般采用扰码编码编码方式进行并转串。关于扰码技术,我们今后会仔细讨论这个问题,大家在此知道一下就可以了。