本发明涉及视频接口处理领域,尤其是一种sdi视频信号光纤传输方法。
背景技术:
串行数据接口(sdi)是一种是针对广播应用提出的用单根同轴电缆来串行传输未经压缩的数字视音频信号的接口。sdi接口是遵循smpte259标准制定的,它传送4:2:2串行不压缩数字分量信号,最远传输距离为300m。
相较dvi等标准,sdi具有传输线缆轻便、传输距离远的特点,广泛应用于各类嵌入式视频处理系统中。进一步的,将sdi信号通过电光——光电转换,通过光纤传输可进一步减少线缆重量,提升信号抗干扰能力和传输距离。
光电\电光转换模块具有一定的低频截止频率,当传输线上传输连续“0”或“1”电平时,光电模块可能工作异常。
sdi通过在发送端对传输信号进行扰码编码和nrz-nrzi转换编码,增加电平的变化频率,有利于提升传输线上直流均衡程度。解码端针做对应解码实现数据恢复。(见图1)但是在部分极端情况下,仍可能会出现传输线上连续20个“1”及20个“0”情况,或者1个“1”及19个“0”情况,即“病态码”传输情况,会引发光电转换失效,导致链路失锁或数据传输错误。
技术实现要素:
为了克服现有技术的不足,本发明提供一种抗病态码sdi视频信号光纤传输方法。本发明的目的是针对sdi信号通过光纤传输“病态码”可能引发光电转换模块异常,导致视频故障的问题,提出一种易行的解决方案,在像素送sdi发送处理前进行预编码处理,避免传输线的“长0”或“长1”电平情况。
本发明解决其技术问题所采用的技术方案的详细步骤如下:
步骤1:在fpga内通过64kbram方式实现一个18位输入、2位输出的查找表lut,查找表的配置参数通过仿真计算得到,ram地址线接{pn[9:2],p'n-1[9:0]},数据线接p'n[1:0];
其中输入像素为pn[9:0],输出像素为p'n[9:0],前一个输出像素为p'n-1[9:0],则有p'n[1:0]=f({pn[9:2],p'n-1[9:0]}),且有p'n[9:2]=pn[9:2],其中f为编码函数;
步骤2:在fpga内设一个预编码模块,实现10位像素的预编码,其中高8位为输入像素10位的高8位,低2位由编码函数f实现;
步骤3:将步骤2的预编码模块嵌入到sdi发送端前,对数据进行预编码处理后送sdi发送;
步骤4:接收端后处理部分将接收的10位像素数据低2位抛掉,形成8位有效位的视频数据,或将低2位替换成0作为10位有效位的视频。
本发明的有益效果在于充分利用sdi10位数据得低2位,对像素数据预编码,处理资源占用较少,易于实施。
附图说明
图1是sdi接口发送端及接收端处理流程图。
图2为本发明提出的预处理实现方式示意图。
图3为本发明提出的预编码函数f(x)实现方式。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
本发明的技术方案是:采用fpga对送sdi发送的像素流进行预处理,在接收端对输出的像素进行对应的后处理,详细步骤如下:
步骤1:在fpga内通过64kbram方式实现一个18位输入、2位输出的查找表lut,查找表的配置参数通过仿真计算得到,ram地址线接{pn[9:2],p'n-1[9:0]},数据线接p'n[1:0];
设输入像素为pn[9:0],输出像素为p'n[9:0],前一个输出像素为p'n-1[9:0],则有p'n[1:0]=f({pn[9:2],p'n-1[9:0]}),且有p'n[9:2]=pn[9:2],其中f为编码函数;
步骤2:在fpga内设一个预编码模块,实现10位像素的预编码,其中高8位为输入像素10位的高8位,低2位由编码函数f实现;
步骤3:将步骤2的预编码模块嵌入到sdi发送端前,对数据进行预编码处理后送sdi发送;
步骤4:接收端后处理部分将接收的10位像素数据低2位抛掉,形成8位有效位的视频数据,或将低2位替换成0作为10位有效位的视频。
发送端预处理策略为利用像素10位数据的低2位(lsb)数据作为扰动位预编码f(x),将形成的并行数据送sdi发送端。为避免该像素编码出的线上码型与前一个像素码型组成“长0”或“长1”码型,编码函数f(x)将上一个编码输出像素同当前输入像素的高8位(msb)并起来作为输入,输出为一个2bit像素,作输出为当前像素的低2位,当前输出像素的高8位为当前输入像素的高8位。
预处理实现方式示意图见2。
对于8位有效位像素则补充2位扰动位,形成10位像素送sdi发送端,该2位扰动位编码方式描述同上。
编码f函数通过1个18位输入,2位输出的查找表(lut)实现,该查找表通过仿真计算方式得出。该查找表在fpga中可通过1个64kb的ram实现,ram地址线接{pn[9:2],p'n-1[9:0]},数据线接p'n[1:0];lut查找表配置参数(及ram固化数据),通过仿真计算得出。
预处理函数实现示意图见图3。
接收端后处理部分将接收的10位像素数据低2位抛掉形成8位有效位的视频数据,或替换成0作为10位有效位的视频,或不做处理。