一种基于serdes通道的视频数据传输校验方法与流程

文档序号:31446137发布日期:2022-09-07 11:54阅读:129来源:国知局
一种基于serdes通道的视频数据传输校验方法与流程

1.本发明涉及视频图像数据传输技术领域,具体涉及一种基于serdes通道的视频数据传输校验方法。


背景技术:

2.对于视频数据来说,其传输数据量通常较大,通常需要高速传输,为了视频数据的高速传输,很多场景以及平台会采用serds通道实现。例如,目前很多的视频矩阵会基于fpga实现,在fgpa实现视频矩阵传输的框架系统中,通常包括输入卡、主机和输出卡三步法,输入卡输入的视频信号经编码后由serdes收发器发送给主机,主机在将视频信号发送给输出卡的serdes收发器,从而在输入卡和输出卡之间通过serdes通道实现了高速的视频数据传输。为了保证输出卡能够正确接收到来自输入卡的视频信号,通常需要在输出卡(即接收端)需要进行视频校验,若校验不一致,则意味着接收到的视频信号有误,需要重发或其他处理,以保证接收到的视频数据正常。
3.为了实现视频数据的校验,目标较为广泛的检测方法通常采用采用crc校验,但crc校验对数据本身(即视频数据)的耦合度较高,这意味着哪怕有一个像素点出现误差而导致的校验不一致(失败),则也视为传输错误,需要重发。但对视频而言,通常某一帧图像中出现一个像素点(或者极少数的像素点)并不会对肉眼观看视频/图像产生视觉上的干扰,这种轻微误差完全在可容忍的范围之内,不应该视为传输错误。可见,像与视频数据本身具有较高耦合度的crc等校验方法并不适合。


技术实现要素:

4.针对现有技术的不足,本发明的目的提供一种基于serdes通道的视频数据传输校验方法,其能够解决背景技术描述到的现有技术存在的问题。
5.实现本发明的目的的技术方案为:一种基于serdes通道的视频数据传输校验方法,包括如下步骤:
6.步骤1:在发送端将控制信号嵌入在视频数据中,控制信号包括vs、hs、de、clk四路控制信号,vs控制信号为帧同步信号,hs控制信号为行同步信号,de为有效数据选通信号,clk为时钟信号,其中,vs拉高时用第一k码表示,vs拉低时用第二k码表示,hs拉高时用第三k码表示,第一k码至第三k码相异,
7.在场后肩嵌入视频数据的行数信息,在行后肩嵌入视频数据的视频宽度信息,场后肩是指在vs信号拉高瞬间代表视频帧开始到正常传输视频帧的时间段,行后肩是指hs信号拉高瞬间代表视频帧开始到正常传输视频帧的时间段,
8.将嵌入有行数信息、视频宽度信息、控制信号的视频数据作为带控制信号的视频数据,将带控制信号的视频数据通过serdes通道发送给接收端,
9.步骤2:接收端通过serdes通道接收来自发送端发送过来的带控制信号的视频数据,并从接收到的第一k码后,从紧接于第一k码之后的数据中读取出行数信息,读取出的行
数信息记为行数信息a,从接收到的第三k码后,从紧接于第三k码之后的数据中读取出视频宽度信息,读取出的视频宽度信息记为视频宽度信息b,
10.同步地,还从接收到带控制信号的视频数据统计出视频宽度和行数信息,统计计算出的视频宽度记为视频宽度b’,统计计算出的行数记为行数信息a’,
11.比较a和a’,以及b和b’,若a和a’一致且b和b’一致,则视为视频数据层传输无误,否则,视为视频数据传输有误。
12.进一步地,应用于fpga平台,fpga平台包括发送端和接收端,发送端和接收端均各自包括一个serdes收发器,发送端的serdes收发器到接收端的serdes收发器之间的传输链路为serdes通道,发送端为输入卡,接收端为输出卡。
13.进一步地,第一k码用0xe1bc表示,第二k码用0xd2bc表示,第三k码用0xf7f7表示。
14.进一步地,将行数信息信息拼接在紧邻第一k码之后作为在场后肩嵌入视频数据的行数信息,将视频宽度信息拼接在紧邻第三k码拼之后作为在行后肩嵌入视频数据的视频宽度信息。
15.进一步地,在步骤2中,读取出的行数信息和视频宽度信息分别进行缓存。
16.进一步地,在两个相邻0xf7f7之间的视频长度作为所述视频宽度b’,在两个相邻的k码0xe1bc之间为一个视频帧的周期内统计出0xf7f7个数作为行数信息a’。
17.本发明的有益效果为:本发明根据视频数据在信道传输发生传输乱码的概率来说,若在同时满足上述两个条件下仍发生乱码的概率是极其低下的,因此,从概率学来说,在满足a和a’一致且b和b’一致的两个条件下仍有乱码的概率是极其低下的,因此,这可以准确完成视频数据传输校验。另外,在满足这两个条件的一帧视频数据中,基本可以认为信道是稳定的,也即传输链路稳定,传输过程中无重大干扰,视频数据传输无误。哪怕在这个过程中,满足这两个条件下,即使一个视频帧中,有极个别的视频数据(对应一个视频中的极少像素点)有误的情况下,这种也不视为是传输链路不稳定,接收端所接收端的视频的质量并无影响,满足观看。
附图说明
18.图1为本发明较佳实施例的流程示意图。
具体实施方式
19.为了使本技术的目的、技术方案和优点更加清楚,下面结合附图对本技术具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
20.如图1所示,一种基于serdes通道的视频数据传输校验方法,应用于fpga平台,fpga平台包括发送端和接收端,发送端和接收端均各自包括一个serdes收发器,发送端的
serdes收发器到接收端的serdes收发器之间的传输链路为serdes通道,包括如下步骤:
21.步骤1:将控制信号嵌入在视频数据中,控制信号包括vs、hs、de、clk四路控制信号,vs控制信号为帧同步信号,hs控制信号为行同步信号,de为有效数据选通信号,也即是视频宽度,clk为时钟信号。其中,vs拉高时(帧开始)用k码0xe1bc表示,vs拉低(帧结束)时用k码0xd2bc表示,hs拉高时用k码0xf7f7表示。当然,也可以采用其他k码来表示vs拉高、vs拉低和hs拉高,只需要确保各个k码是相异的。
22.在场后肩嵌入视频数据的行数信息,在行后肩嵌入视频数据的视频宽度信息。也即是在k码0xe1bc之后填入行数信息,在k码0xf7f7之后接入视频宽度信息。场后肩是指在vs信号拉高瞬间代表视频帧开始到正常传输视频帧的时间段,该时间段为空白期。行后肩是指hs信号拉高瞬间代表视频帧开始到正常传输视频帧的时间段,该时间段也为空白期。因此,可以在这两个空白期分别加入行数信息和视频宽度信息。
23.例如,某个视频是4k分辨率的视频,也即是3840*2160的分辨率,则意味着行数信息为2160,视频宽度信息为3840,因此,将2160拼接在k码0xe1bc之后,将3840拼接在k码0xf7f7之后。
24.将嵌入有行数信息、视频宽度信息、控制信号的视频数据作为带控制信号的视频数据,将带控制信号的视频数据通过serdes收发器向接收端发送视频数据。在serdes通道中,若是传输用于对视频数据进行对齐和校验的原有k码,则将原有k码的标志置1,若仅是正常传输视频数据,则将原有k码的标志置0。
25.在本步骤中,视频数据通常为rgb格式数据,其具有r、g、b三路视频数据,并且在输入卡(即发送端)和输出卡(即接收端)之间的serdes通道进行传输的过程中,通常需要进行编码。现有fpga的serdes收发器为高速串行收发器,为此,会在收发器中的协议规定每个一段时间发送k码进行数据对齐和校验,这种虽然是将k码和视频数据嵌入在一起的,即将k码嵌入在视频帧中,但是,这种k码对校验是无意义的。
26.在本实施例中,在场后肩和行后肩中,相当于增加了额外的k码。并且相比于传统的vs、hs等控制信号独立于视频数据传输,在传输视频数据的空隙(即场后肩、行后肩),遇到vs和hs时用k码来表示。
27.步骤2:接收端通过serdes通道接收来自发送端发送过来的带控制信号的视频数据,并从接收到的0xe1bc后,从紧接于0xe1bc之后的数据中读取出行数信息并缓存,读取出的行数信息记为行数信息a。从接收到的0xf7f7后,从紧接于0xf7f7之后的数据中读取出视频宽度信息并缓存,读取出的视频宽度信息记为视频宽度信息b。
28.同步地,还对接收到带控制信号的视频数据统计计算出其视频宽度,统计计算出的视频宽度记为视频宽度b’。以及统计计算出行数信息,统计计算出的行数记为行数信息a’。也即是在两个相邻的k码0xe1bc之间为一个视频帧的周期内统计出0xf7f7个数,该个数即作为行数信息a’,在两个相邻k码0xf7f7之间统计出的视频长度作为视频宽度b’。
29.比较a和a’,以及b和b’,若a和a’一致且b和b’一致,则视为视频数据层传输无误,否则,视为视频数据传输有误,也即是a和a’、b和b’中只要存在一个不一致,则视为视频数据传输有误,从而完成视频数据传输校验。
30.例如,对于480p分辨率(即720*480)的视频,在两个空白期(即场后肩、行后肩)分别嵌入720和480这两个数值,720作为视频宽度信息b,480作为行数信息a。在接收端统计每
一行的视频宽度,也即是在两个相邻0xf7f7之间的视频长度,该视频长度即是作为视频宽度b’。以及统计当前帧的视频行数,也即是该帧的0xf7f7个数,该个数作为行数信息a’。比较a和a’,以及b和b’。
31.根据视频数据在信道传输发生传输乱码的概率来说,若在同时满足上述两个条件下仍发生乱码的概率是极其低下的,因此,从概率学来说,在满足a和a’一致且b和b’一致的两个条件下仍有乱码的概率是极其低下的,因此,这可以准确完成视频数据传输校验。另外,在满足这两个条件的一帧视频数据中,基本可以认为信道是稳定的,也即传输链路稳定,传输过程中无重大干扰,视频数据传输无误。哪怕在这个过程中,满足这两个条件下,即使一个视频帧中,有极个别的视频数据(对应一个视频中的极少像素点)有误的情况下,这种也不视为是传输链路不稳定,接收端所接收端的视频的质量并无影响,满足观看。
32.本发明与视频数据本身的耦合度低,不会因为视频数据本身个别数据点造成误码而导致检测失真,可以容忍一定范围内的误码(例如某个像素点少量偏移并不影响用户体验,因此可以认为传输正确),并且效果高效,这体现在出错率极低,在有乱码数据的情况下几乎可以100%检测出来。
33.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
34.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
35.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
36.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
37.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1