董腾飞,袁家德
(福州大学物理与信息工程学院,福建 福州 350116)
近几年,随着数字电视技术的发展和人们对视频质量要求的提升,高清晰度电视和超高清晰度电视逐渐成为主流. 而数字分量串行接口(即SDI(serial digital interface)[1]接口)的易用性、非压缩性、高清实时性和利用率高等特性,特别适合用于长距离传输高质量的视频图像. 而4K[2]视频清晰度高、图像细节丰富、色彩艳丽、观感好,越来越成为当下数字电视的主流. 由于受到当前传输带宽的限制,现在的广播电视信号多采用4K/30P规格的电视信号,而非更为流畅的4K/60P和4K/120P. 在传输超清电视信号时,若选择单路SDI则需要极高的带宽和码率,甚至需要对视频源进行压缩合并,因此,选择4链路传输更为合适. 目前,无论是SMPTE的标准还是其他的研究,大都针对4链路3 G-SDI传输4K/60P视频,或者双链路1.5 G-SDI传输1 080P视频,然而对于使用4链路1.5 G-SDI(即HD-SDI)传输4K/30P视频并没有详细的涉及. 基于这一点,本研究着重探讨使用4链路1.5 G-SDI传输4K/30P视频的方法.
通过对SMPTE ST 425-5[3]和SMPTE ST 435-1[4]标准的深入研究,总结出了如图1所示的4链路1.5 G-SDI 的系统框架. 源图像通过双样本交织分割的方法,分割为四幅子图像,每幅子图像单独映射为一路SDI.
图1 基本框架图Fig.1 Basic frame diagram
图2 双样本交织分割Fig.2 2-sample interleave division
子图像1和子图像2中的像素点来源于源图像中偶数行的像素点,子图像3和子图像4中的像素点来源于源图像中奇数行的像素点. 源图像中偶数行每两个连续的水平像素点分别依次分给子图像1和子图像2. 同理,源图像中的奇数行每两个连续的水平像素点分别依次分给子图像3和子图像4. 具体的源图像和子图像中像素点的对应关系如表1所示.
表1 源图像和子图像中对应像素点和行号的关系
图3 子图像映射过程解析Fig.3 Analysis of sub image
图1中的“过程2: 子图像映射为SDI基本流”可以理解为首先将子图像映射为两路数据流(即亮度流和色度流),然后两路数据流交错复用为一路SDI基本流[5],如图3所示.
在进行子图像映射之前,要先清楚地了解数据流的基本结构和1.5 Gb·s-1基本流的结构,如图4,图5所示.
数据流的基本格式是固定的,子图像中的亮度信息映射到数据流1中,色度信息映射到数据流2中,因为采样方式为4∶2∶2,因此映射完成后,两路数据流的长度相等, 见图4. 映射完成后,两路数据流交错复用为一路1.5 G-SDI基本流,如图5所示.
图4 数据流基本结构Fig.4 Basic structure of data stream
图5 1.5 Gb·s-1 基本流结构Fig.5 Basic structure of 1.5 Gb·s-1 basic stream
有效载荷标识符(VPID)使用了描述SMPTE串行数字接口(SDI)接口规范的4个重要字节,包括: 数字接口标准、帧率、采样结构、纵横比、比色法、比特深度和信道(链路)分配等. 对于数据能否正确传输和恢复有着十分重要的作用.
因为本研究着重讨论的是HANC空间中VPID 的填充,因此数据流中其他字节的填充请参见标准SMPTE ST 292-1.
根据标准SMPTE ST 292-1[6],VPID(Payload Identifier)应该映射到数据流1(亮度流)中的辅助数据空间(HANC)中.
VPID长度为4个Byte,是用来确认数字接口所传输的负载类型的. 对于1 125线逐行扫描格式的视频,VPID应插入到第10行的HANC(水平辅助数据空间)中. 其一般结构如表2所示.
VPID辅助数据包的具体结构参见文[7]表1c. 其中,ADF,DID,SDID,DC为固定值000h、3FFh、3FFh,41h,01h,04h. 具体参见标准SMPTE ST 291-1.
本研究中4K视频格式参数特征与VPID各个Byte的对应关系如表3所示. VPID中的Byte1的值与所使用的接口有关,这里使用的是1.485 G-SDI接口,因此,VPID Byte1的值应为85 h.
表2 VPID的一般结构
表31.485G-SDI接口下1080线图像的VPID
Tab.3VPIDfor1080-lineinterlacedandprogressivepayloadsona1.485G-SDI
ByteBit7bit6bit5bit4bit3bit2bit1bit0Byte110000101Byte2隔行传输(0)逐行传输(1)保留保留帧率Byte3保留1920(0)2048(1)16∶9(1) 未知(0)保留采样结构Btye4ch1(0h), ch2(1h), ch3(2h), ch4(3h)保留保留保留8bit(0)10bit(1)
Byte2:
Byte2用于确认图像率和图像传输扫描时所用的方式.
Bits b3到b0用于确认图像的帧率,标准SMPTE ST 352[7]规定,图像的帧率为30帧·s-1时,Bits b3~b0的值应为7h.
因此,Byte2 的值应该为C7h.
Byte3:
Byte3用于定义所使用的屏幕纵横比,水平像素阵列尺寸以及采样结构.
Bit7保留,应设置为0.
Bit6用于定义子图像有效像素区域水平采样点数;
b6为0h时,表示有1 920个有效像素点;
b6为1h时,表示有2 048个有效像素点.
Bit5用于定义子图像的纵横比.
b5为0h时,表示子图像的纵横比未知;
b5为1h时,表示子图像的纵横比为16∶9;
Bits b3到b0用于确定所使用的采样结构,具体值的设置如表4所示.
因此,在本文所规定的视频规格下,Byte3应设置为20h.
Byte4:
Byte4用于信道识别和像素量化深度定义. 但是在其他标准中也可以用作其他作用.
当用做信道识别时Bits b7到b5定义如下:
b7到b5为0h时,表示单信道模式或者多信道模式下的信道1;
b7到b5为1h时,表示多信道模式下的信道2;
b7到b5为2h时,表示多信道模式下的信道3;
⋮
b7到b5为7h时,表示多信道模式下的信道8.
Bit0用于定义像素量化深度. 当量化深度为8 bits时,Bit0 置0; 当量化深度为10 bits时,Bit0 置1.
因此,Byte4 的值应这样设置: 链路1为01h,链路2为21h,链路3为41h,链路4为61h.
表4采样结构比特值对应
Tab.4Assignmentofsamplingstructurevalues
Byte3 b3∶b0值0h1h2h3h4h5h6h7h采样结构4∶2∶2(Y/Cb/Cr)4∶4∶4(Y/Cb/Cr)4∶4∶4(R/G/B)4∶2∶04∶2∶2∶4(Y/Cb/Cr/A)4∶4∶4∶4(Y/Cb/Cr/A)4∶4∶4∶4(R/G/B/A)SMPTE ST 2048-2 FSByte3 b3∶b0值8h9hAhBhChDhEhFh采样结构4∶2∶2∶4(Y/Cb/Cr/D)4∶4∶4∶4(Y/Cb/Cr/D)4∶4∶4∶4(R/G/B/D)保留保留保留4∶4∶4(X'Y'Z)保留
对SMPTE标准中没有明确提及的4链路1.5 G-SDI传输4K/30P的方法进行深入的探究和实验. 先后参考标准规定的单链路1.5 G-SDI,双链路1.5 G-SDI和多链路3 G-SDI等多种传输结构,提出了一种基于4链路1.5 G-SDI传输4K/30P视频的框架结构和映射方法,其难点在于子图像的映射模块和VPID的填充部分. 经过反复的实验验证和FPGA仿真,在尝试多种VPID填充方式之后,终于找到了本研究所讨论的具体填充方法. 结果表明,所提出的子图像映射方法和VIPD填充方法完全可行.