1.参考论文:
itu-r bt.656定义了一个并行的硬件接口用来传送一路4:2:2的ycbcr的数字视频流。视频流的分辨率为720×576像素的d1格式。我们需要发送的视频数据源通常是经过mpeg2压缩的,分辨率为352×288像素的cif格式。在输出到显示终端前,处理器需要对cif格式的图像数据插值为d1(720×576像素)格式,然后再通过itu-r bt.656并行的硬件接口输出给视频编码器。在这种前提下,可以利用一个itu-r bt.656的硬件接口传输4路不同的cif格式的视频数据流,然后在接收侧通过fpga(现场可编程门阵列)将4路视频数据流分离、插值生成d1格式的数据输出给视频编码器。通过该方式,可以克服某些视频处理器输出端口的限制,使视频输出端口扩展为原来的4倍。同时,由于使用fpga进行插值运算,分担了一部分视频处理器的工作量。
1 硬件连接
图1展示了一个bt.656并行硬件接口用来连接一个视频处理器和视频编码器的情况。该硬件接口由8根数据信号和1根时钟信号组成。
图2所示是通过fpga扩展4路视频的连接方式。fpga通过bt.656接口接收视频处理器发出的数据信号,然后将4路视频信号分离、插值后通过4路bt.656并行硬件接口输出到4个视频编码器,实现视频处理器一个视频输出端口同时输出4路视频信号。
2 数据结构
2.1 标准bt.656并行数据结构
bt.656并行接口除了传输4:2:2的ycbcr视频数据流外,还有行、列同步所用的控制信号。如图3所示,一帧图像数据由一个625行、每行1 728字节的数据块组成。其中,23~311行是偶数场视频数据,336~624行是奇数场视频数据,其余为垂直控制信号。
bt.656每行的数据结构如图4所示。
图4中,每行数据包含水平控制信号和ycbcr。视频数据信号。视频数据信号排列顺序为cb-y-cr-y。每行开始的288字节为行控制信号,开始的4字节为eav信号(有效视频结束),紧接着280个固定填充数据,最后是4字节的sav信号(有效视频起始)。
sav和eav信号有3字节的前导:ff、ff、00;最后1字节xy表示该行位于整个数据帧的位置及如何区分sav、eav。xy字节各比特位含义见图5。
图5中,最高位bit7为固定数据1;f=0表示偶数场,f=1表示奇数场;v=0表示该行为有效视频数据,v=1表示该行没有有效视频数据;h=0表示为sav信号,h=1表示为eav信号;p3~p0为保护信号,由f、v、h信号计算生成;p3=v异或h;p2=f异或h;p1=f异或v;p0=f异或v异或h。
2.2 使用bt.656并行接口传输4路cif格式视频的数据结构
视频处理器的输出是灵活多变的,可以改变处理器的输出数据结构来同时传送4路252×288像素的视频信号。bt.656并行接口传输的有效视频数据流为720×586,正好可以分割为4个360×288像素的空间来传输4路352×288像素的视频数据。多余的空间用固定数据“8010”进行填充。
修改后的数据结构如图6所示。
原来存放第1场的数据的位置用来存放第1、第2路视频数据;原来存放第2场的数据的位置用来存放第3、第4路视频数据。
3 fpga实现的功能
fpga主要用来完成4路352×288像素视频流的分离,以及将视频流插值到标准bt.656接口所需的720×586像素的分辨率。同时,该fpga还要重新生成sav、eav帧控制信号,结合插值后的4路视频流产生新的符合bt.656结构的数据帧传送给视频编码设备。其功能框图如图7所示。
首先,4路352×288像素的视频流从bt.656结构的帧结构中分离出来,分别存储到各自的存储空间。然后,352×288像素的视频流被读取、插值为704×288像素,然后再填充为720×288像素的视频流。在成帧的模块中,产生bt.656的帧结构所需的sav、eav信号;将插值生成的720×288像素的数据作为偶数场的数据填入bt.656的帧结构中,奇数场的数据复制偶数场的数据。最后,将生成的bt.656标准视频流发送给视频编码器输出到显示终端上。
3.1 存储器选择
由于需要同时存储4路352×288的视频流,需要的存储空间为4路×288行×352×2字节(视频流为4:2:2的ycbcr信号,一个点通过亮度信号和色差信号来表示,所以图像的一个点实际占用2字节)。计算可得需要800 kb左右的空间。低成本的fpga内部很难提供如此多的存储空间,可以外挂一片1mb容量的sram用于存储视频数据。
bt.656接口定义的时钟频率为27 mhz。sram要能提供1路8 bit×27 mhz数据写入,4路8bit×27 mhz读出,总共1gbit/s以上的数据带宽。可以选择位宽为16 bit、工作时钟频率100 mhz、带宽为1.6gbit/s的sram。
3.2 插值算法
将352×288像素的原始视频流变换为714×288像素的视频流就需要进行插值。该插值运算是一维的,也就是说只需要加倍每行的点数而行数不变。插值运算前,应该先将y、cb、cr信号分离,然后分别对y、cb、cr信号进行插值。简单的插值法有最近邻域法和线性插值法等。最近邻域法是插入点的值简单复制邻近点的值;线性插值法是插入点相邻的两个数据取算术平均值,得到插入值。应用更加复杂的插值算法可以改善图像质量。在本文设计中,实现这两种简单的插值方法就已经满足需求。
4 结束语
本文提出一种利用一个bt.656接口传输4路视频流的方法。该方法利用fpga接收4路cif格式的视频数据,然后分离、插值为4路d1格式视频流后,重新生成bt.656的数据帧发送给视频编码芯片,从而实现视频处理器的一个硬件接口传输4路视频图像。通过该方法可以克服视频处理器芯片输出端口的限制,增加了其扩展性。在实际测试和应用中,取得了满意的效果。
标准BT.656并行数据结构
BT.656并行接口除了传输4:2:2的YCbCr视频数据流外,还有行、列同步所用的控制信号。如图3所示,一帧图像数据由一个625行、每行1 728字节的数据块组成。其中,23~311行是偶数场视频数据,336~624行是奇数场视频数据,其余为垂直控制信号。
BT.656每行的数据结构如图4所示。
图4中,每行数据包含水平控制信号和YCbCr。视频数据信号。视频数据信号排列顺序为Cb-Y-Cr-Y。每行开始的288字节为行控制信号,开始的4字节为EAV信号(有效视频结束),紧接着280个固定填充数据,最后是4字节的SAV信号(有效视频起始)。
SAV和EAV信号有3字节的前导:FF、FF、00;最后1字节XY表示该行位于整个数据帧的位置及如何区分SAV、EAV。XY字节各比特位含义见图5。
图5中,最高位bit7为固定数据1;F=0表示偶数场,F=1表示奇数场;V=0表示该行为有效视频数据,V=1表示该行没有有效视频数据;H=0表示为SAV信号,H=1表示为EAV信号;P3~P0为保护信号,由F、V、H信号计算生成;P3=V异或H;P2=F异或H;P1=F异或V;P0=F异或V异或H。
*****************************************************************************************************
ITU-R601/656 原名CCIR601/656,是国际电信协会提出的一个视频标准。
名词解释:BT.656 : This ITU recommendation defines a parallel interface (8-bit or 10-bit, 27 MHz) and a serial interface (270 Mbps) for the transmission of 4:3 BT.601 4:2:2 YCbCr digital video between pro-video equipment.
国际电信联盟无线电通信部门656-3号建议书:
工作在ITU-RBT.601建议(部分A)的4:2:2级别上的525行和625行
电视系统中的数字分量视频信号的接口
国际电联无线电通信全会考虑到:
a)对于电视广播机构和节目制作者,在525行和625行系统的数字演播室标准方面有最多个数的相同重要参数有明显好处;
b)一种世界范围兼容的数字方法将会使设备的开发具有许多共同特点,运行会更经济,并便于国际间节目’的交换;
c)为实现上述目标,已以ITU-RBT.601建议的形式对数字电视演播室的基本编码参数达成了协议;d)ITU-RBT.601建议的实际实施要求规定接口和通过接口的数据流的细节;e)这些接口在525行和625行两型问应该具有最大的共同性;f)在ITU-RBT.601建议的实际实施中,希望对接口的串行和并行两种形式都作出规定;
g)这些接口所产生的数字电视信号有可能是对其它业务的潜在干扰源,必须对无线电规则No.964给予应有的注意。建议凡在电视演播室里需要分量编码数字视频信号接口的地方,这些接口和通过它们的数据流应符合规定比特并行和比特串行实施的如下说明:
1引言
本建议描述了运行在525行或625行制式并符合ITU-RBT.601建议(部分A)中所规定的4:2:2编码参数的数字电视设备的互连方法。
第一部分:接口的通用信号格式
1, 接口的一般描述
接口为在单一信号源与单一终点之间提供单向互连。并行和串行接口通用的单一信号格式在第2 节中描述。数据信号采取编码成8 比特字(也可任选10 比特字’)的二进制信息的形式。这些信号是:
1:视频信号,
2:定时基准信号,
3:辅助信号。
2,视频数据
表1 场间隔定义
注1:信号F和V在数字行的开始时与有效视频定时基准码同步改变状态。
注2:行数的定义见ITU-RBT.470 建议。注意数字行的行号如在ITU-R BT。601 建议(部分A)中描述的,在011 之前改变状态。
2.1 编码特性
视频数据符合ITU-R BT.601 建议(部分A)和示于表l 的场消隐定义。
2.2 视频数据格式
8 个最高有效比特都是l 或都为0 的数据字用于标识目的,所以256 个8 比特字中只有254 个(1024 个10 比特字中的1016 个)可以用于表示信号值。视频数据字是以27 兆字/秒的速率复用传送的,其顺序是:Cb,Y,Cr,Y,Cb,Y,Cr,…… 其中,Cb,Y,Cr 这三个字指的是同址的亮度和色差信号取样,后面的Y 字对应于下一个亮度取样。
2.3 接口信号结构
图l 示出了视频取样数据如何加入到接口数据流中。图l 中的取样标识符号符合ITU-RBT.601 建议(部分A)的标识符号。
2.4 视频定时基准码(SAV,EAV)
有两个定时基准信号,一个在每个视频数据块的开始(Start of ActiveVideo,SAV),另一个在每个视频数据块的结束(End of Active Video,EAV),如图l 所示。
每个定时基准信号由4 个字的序列组成,格式如下:
FF 00 00 XY (数值以16 进制表示,FF 00 留供定时基准信号用。)头三个是固定前缀,第4 个字包含定义第二场标识、场消隐状态和行消隐状态的信息。
定时基准信号内的比特分配列于表2。
数据比特号 第一字(FF) 第二字(00) 第三字(00) 第四字(XY)
注1:示出的数值是为10 比特接口的建议值。
注2:为了与已有的8 比特接口兼容,D1和DO 比特的值末作规定。F=0/1 第l/2 场时,V=0/1 其它处/场消隐时。H=0/1 有效视频开始处(SAV)/有效视频结束处(EAV)P0,P1,P2,P3:保护比特(见表3)MSB:最高有效比特表l 规定了V 和F 比特的状态。P0,P1,P2,P3 比特的状态决定于F,V 比特的状态,见表3。在接收机中,这种安排容许纠正l 比特误码和检出2 比特误码。
2.5 辅助数据
对在消隐期间以27 MWord/s 的速率同步插入到复用组中的辅助数据做了规定。辅助数据信号可以以10 比特形式只在行消隐期间传送,还可以以8 比特形式只在场消隐中的行的有效期间传送(应当指出:符合ITU-RBT.657 建议的数字录像机既不记录行消隐期间的数据,也不记录场消隐期间的某些行)。数据值00.Xh 和FF.Xb(见第2.2节)保留用于标识目的。所以不能在辅助数据中出现。
在场消隐期间的行有效部分载送的所有辅助数据信号必需加前缀:FF.x FF.x 除非作为一件特殊设备想要有的功能,辅助信号不应被设备改变。
2.6 消隐期间的数据字
在数字消隐期间出现不用作定时基准码或辅助数据的数据字时,应在复用起来的数据中的适当位置上填入相当于Cb,Y,Cr,Y 信号消隐电平的80.0h,10.0h,80.0h, 10.0h 等序列。Horizontal Format
The overall format of one complete line of the digital video data stream includes the following sections. The horizontal scan is considered to start with the beginning of the EAV section.
· EAV - End of Active Video (timing reference signal) 2 samples (4 words)
· Horizontal blanking 134 samples (268 words)
· SAV - Start of Active Video (timing reference signal) 2 samples (4 words)
· Active video 720 samples (1440 words)
EAV Timing Reference Signal:
The EAV Timing Reference consists of four words in the following format:
where:
F = Field select (defines which vertical scan during interlace scanning)
V = Vertical blanking
H = 1 indicating EAV
E3 = V xor H
E2 = F xor H
E1 = F xor V
E0 = F xor V xor H
Horizontal Blanking:
The horizontal blanking section consists of a repeating pattern: 1000 0000 0001 0000 ........
SAV Timing Reference Signal:
The SAV Timing Reference consists of four words in the following format:
where:
F = Field select (defines which vertical scan during interlace scanning)
V = Vertical blanking
H = 0 indicating SAV
E3 = V xor H
E2 = F xor H
E1 = F xor V
E0 = F xor V xor H
Active Video:
The active video section consists of the Y, Cb, Cr data in the following sequence. The Y, Cb and Cr values are the scaled, offset, digitized versions of Y, U and V.
· Cr
· Y
· Cb
· Y
Vertical Format
The details of the vertical format are shown in the complete screen diagrammed below. The scan is of the interlace type which means that the odd lines are scanned first, followed by the even lines. The symbols "F" and "V" refer to the values contained in bits P8 and P7 of the EAV and SAV timing reference words