一种ARINC818协议视频流的解析方法与装置与流程

文档序号:16315592发布日期:2018-12-19 05:27阅读:834来源:国知局
一种ARINC818协议视频流的解析方法与装置与流程

本发明属于计算机网络通信领域,具体涉及一种arinc818协议视频流的解析方法与装置。

背景技术

arinc818协议是基于fc-av协议推出的一种面向航空电子系统的专用的图像传输协议,称之为航空电子数字视频总线(advb),用于解决综合化航空电子系统显示模式发生变化后的多功能显示器、头盔显示器等系统图像远距离传输和显示问题,属于一种新型的机载通信协议。

根据arinc818协议,不同分辨率和不同传输速率的视频,在传输过程中需要使用不同的传输时序,所以无论发送端还是接收端都需要符合该时序参数,而现有的装置都只是针对某一种分辨率和某一种传输速率下的时序参数来进行视频流的解析,即固定参数解析,不能实现视频流的实时解析。



技术实现要素:

本发明的目的是提供一种arinc818协议视频流的解析方法与装置,用于解决现有技术无法实现实时解析不同分辨率或不同传输速率视频流的问题。

为解决上述技术问题,本发明提出一种arinc818协议视频流的解析方法,包括以下步骤:

1)接收发送端根据待传输视频的分辨率和传输速度配置的参数,包括数据区长度、数据包个数、数据帧之间的间隔时钟周期数,将所述参数写入配置寄存器;

2)利用所述配置寄存器中的参数,对视频帧中的数据帧的数据区长度进行计数,并取出视频数据净荷,实现待传输视频的解析。

本发明根据不同分辨率和/或不同传输速率的要求,通过配置待传输视频的参数,并将参数写入配置寄存器,通过对视频帧中的数据帧的数据区长度进行计数,取出视频数据净荷,实现不同分辨率或不同传输速率的待传输视频的解析。

进一步,每一视频帧的解析步骤如下:

2-1)判断视频帧的起始字符;

2-2)当视频帧的起始字符是sofi时,使用第零帧的帧头长度和数据区长度对视频帧进行计数和解析,取出视频数据净荷;

2-3)当视频帧的起始字符是sofn时,使用数据帧的帧头长度和数据区长度对视频帧进行计数和解析,取出视频数据净荷。

进一步,当视频帧的起始字符既不是sofi、也不是sofn时,等待下一视频帧进行判断。

进一步,当待传输视频的分辨率不变、传输速率变化时,仅改变写入配置寄存器的数据帧之间的间隔时钟周期数;当待传输视频的分辨率变化时,改变写入配置寄存器的所有参数。

进一步,通过ahb总线或axi总线将所述参数写入配置寄存器。

为解决上述技术问题,本发明还提出一种arinc818协议视频流的解析装置,包括以下装置方案:

包括参数配置模块、配置寄存器、视频帧解析模块,其中,参数配置模块用于接收发送端根据待传输视频的分辨率和传输速度配置的参数,包括数据区长度、数据包个数、数据帧之间的间隔时钟周期数;配置寄存器用于存储所述参数;视频帧解析模块用于利用所述配置寄存器中的参数,对视频帧中的数据帧的数据区长度进行计数,并取出视频数据净荷,实现待传输视频的解析。

本发明根据不同分辨率和/或不同传输速率的要求,通过配置待传输视频的参数,并将参数写入配置寄存器,通过对视频帧中的数据帧的数据区长度进行计数,取出视频数据净荷,实现不同分辨率或不同传输速率的待传输视频的解析。

进一步,每一视频帧的解析步骤如下:

(1)判断视频帧的起始字符;

(2)当视频帧的起始字符是sofi时,使用第零帧的帧头长度和数据区长度对视频帧进行计数和解析,取出视频数据净荷;

(3)当视频帧的起始字符是sofn时,使用数据帧的帧头长度和数据区长度对视频帧进行计数和解析,取出视频数据净荷。

进一步,当视频帧的起始字符既不是sofi、也不是sofn时,等待下一视频帧进行判断。

进一步,当待传输视频的分辨率不变、传输速率变化时,仅改变写入配置寄存器的数据帧之间的间隔时钟周期数;当待传输视频的分辨率变化时,改变写入配置寄存器的所有参数。

进一步,本发明通过ahb总线或axi总线将所述参数写入配置寄存器。

附图说明

图1是一种arinc818协议视频帧解析流程图;

图2是一种arinc818协议视频帧解析逻辑结构框图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步的说明。

实施例一:

为了能够解析不同分辨率、不同传输速率的视频流,本发明的arinc818协议视频流的解析方法,包括以下步骤:

1)接收发送端根据待传输视频的分辨率和传输速度配置的参数,包括数据区长度、数据包个数、数据帧之间的间隔时钟周期数,并将参数通过ahb总线或axi总线写入配置寄存器。

2)利用配置寄存器中的参数,对视频帧中的数据帧的数据区长度进行计数,并取出视频数据净荷,实现待传输视频的解析。

本发明根据不同分辨率和/或不同传输速率的要求,通过配置待传输视频的参数,并将参数写入配置寄存器,通过对视频帧中的数据帧的数据区长度进行计数,取出视频数据净荷,实现不同分辨率或不同传输速率的待传输视频的解析。

上述步骤2)中每一视频帧的解析子步骤如下:

2-1)判断视频帧的起始字符;

2-2)当视频帧的起始字符是sofi时,使用第零帧的帧头长度和数据区长度对视频帧进行计数和解析,取出视频数据净荷;

2-3)当视频帧的起始字符是sofn时,使用数据帧的帧头长度和数据区长度对视频帧进行计数和解析,取出视频数据净荷。

当视频帧的起始字符既不是sofi、也不是sofn时,等待下一视频帧,按照上述解析子步骤进行继续判断。

例如,一个分辨率为1280x1024,60帧/秒帧率,1.0625gbps传输速率的视频流,使用arinc818协议传输时,其参数经过计算是固定的,例如一幅图像被分成2049个arinc818帧传输,其中第零帧为该幅图像的容器头,其余2048个帧为数据帧。容器头帧长度为35个时钟周期,其中帧头为6个时钟周期,数据区长度为26个时钟周期。普通数据区帧头为6个时钟周期,数据区长度为480个时钟周期。

针对上述例子,步骤2-2)的含义,就是使用第零帧的帧头长度6进行计数,帧头结束后,进入数据区计数,使用参数26进行计数和解析。步骤2-3)的含义是对其余的2048个数据帧进行解析时,使用帧头为6,数据区为480个时钟周期的参数来计数和解析。

本发明的视频净荷数据是一幅图像中需要显示出来的数据。例如一幅图像分辨率是1280×1024,那么,该图像中有1280×1024个点,每个点是一个24bit的数据,而视频净荷数据指的就是这些点的数据。

上述配置参数的步骤采用软件驱动cpu,将配置参数通过总线写入配置寄存器中,例如ahb总线,但不限于ahb总线,其他总线例如axi总线等也可以。

配置参数的过程具体包括以下步骤:

选择配置的参数包括一个视频帧内数据包总个数,一个数据包长度,视频数据帧第一帧fc0与第二帧fc1之间的间隔时钟数gap1,第n帧与第n+1帧之间的间隔时钟数gap2,最后一帧与下一视频数据帧第一帧fc0之间的间隔时钟数gap3。

将上述配置的参数写入配置寄存器,作为待传输视频的解析依据。当分辨率不变化,只有传输速率变化时,需要发生改变的参数就是上述的gap1、gap2和gap3;当分辨率变化时,无论传输速率是否变化,上述5个参数都可能需要发生改变。

配置参数的具体求解过程如下;

数据包个数=图像分辨率行数×2;数字2为每行图像拆成的数据包个数;

数据包长度=图像分辨率列数×0.75;数字0.75为每个像素按照色彩信息的数据量,如:黑白=1,rgb\yuv444=3,除以每个时钟周期传输的数据量4;

中间值tmp=[线路传输速率÷(图像分辨率行数+36)÷帧频÷40];数字36为图像前后消隐共36行,数字40为每个时钟周期传输的数据量4b,经过8b10b编码后的bit数;

gap1=tmp×4-视频数据帧fc0长度;数字4为图像后消隐行数;

gap2=tmp÷2-视频数据帧fcn长度;数字2为每行图像拆成的数据包个数;

gap3=tmp*32+gap2;数字32为图像前消隐行数。

例如,当传输视频的分辨率为1280×1024,线路传输速率为3.1875gbps,其余参数为24位rgb格式,帧频60帧/秒。根据特定的arinc818时序计算工具,得出上述5个需要配置的参数为:

一个视频帧内数据包总个数:2049个;

一个数据包长度:489×4字节;

gap1:4973;

gap2:137;

gap3:40201。

当线路传输速率改变为4.25gbps,其余参数都不变时,上述5个参数中只有参数gap1、gap2、gap3需要改变,如下:

gap1:6680;

gap2:346;

gap3:53786。

当线路传输速率变化为4.25gbps,分辨率变化为768×615,其余参数都不变时,上述5个参数的改变,如下:

一个视频帧内数据包总个数:1231个;

一个数据包长度:297x4字节;

gap1:10880;

gap2:1063;

gap3:88103。

本发明在配置参数的过程中,当待传输视频的分辨率不变、传输速率变化时,仅改变写入配置寄存器的数据帧之间的间隔时钟周期数;当待传输视频的分辨率变化时,改变写入配置寄存器的所有参数。

本发明还提出了一种arinc818协议视频流的解析装置,包括参数配置模块、配置寄存器、视频帧解析模块,其中,参数配置模块用于接收发送端根据待传输视频的分辨率和传输速度配置的参数,包括数据区长度、数据包个数、数据帧之间的间隔时钟周期数;配置寄存器用于存储参数;视频帧解析模块用于利用配置寄存器中的参数,对视频帧中的数据帧的数据区长度进行计数,并取出视频数据净荷,实现待传输视频的解析。

上述实施例中所指的arinc818协议视频流的解析装置,实际上是基于本发明方法流程的一种计算机解决方案,即一种软件构架,可以应用到计算机中,上述装置即为与方法流程相对应的处理进程。由于对上述方法的介绍已经足够清楚完整,故不再详细进行描述。

实施例二:

为了实现对符合arinc818协议格式的各种传输速率、各种视频分辨率、各种帧率的视频流进行解析,取出其中的视频净荷数据,而且可以实时编程,修改配置数据,以便适应不同需求,本发明提出一种arinc818协议视频流的解析装置,包括依次连接的总线接口写入逻辑、参数配置寄存器、arinc818视频帧解析逻辑。其中,总线接口写入逻辑用于配置待传输视频流的参数,并通过ahb总线将配置参数写入参数配置寄存器中;参数配置寄存器用于存储配置参数;arinc818视频帧解析逻辑用于根据配置参数对视频帧中的数据帧的数据区长度进行计数,并取出视频数据净荷。

通过编程写入不同的配置参数,采用以下方法解析不同速率、不同分辨率的arinc818协议的视频流,如图1所示:

1)逻辑电路根据输入的字符判断是一个新的arinc818视频帧,还是一个原有的视频帧中的数据帧的开始;

2)若输入的字符是arinc818视频帧的起始字符sofi,表明是一个新的视频帧开始,则使用第零帧的帧头长度参数对其计数,帧头结束后,进入第零帧的数据区,使用第零帧的数据区长度参数进行计数,结束后,状态转入start起始状态;

3)若输入的字符是arinc818数据帧的起始字符sofn,表明是原有视频帧未结束,是其中的某个数据帧开始,则使用数据帧的相应参数对其帧头和数据区进行计数,结束后,状态转入start起始状态;

4)若输入的字符即不是sofi,也不是sofn,而是其他的数据,则依旧回到start起始状态,等待新的数据帧或视频帧。

具体的逻辑电路系统如图2所示,该图显示了该系统解析各种速率和分辨率的arinc818协议的视频流的各个功能模块和数据流向。通过ahb总线将配置参数写入到配置寄存器中后,启动电路的解析功能。当arinc818协议的视频流流入后通过上述方法的流程后,实时地解析出视频净荷数据,可以直接显示或者做后续数据处理。

本发明使用软件编程,写入配置寄存器,改变arinc818视频帧的参数,例如一个arinc818视频帧中包含数据帧的个数,每个数据帧的长度等参数。通过写入不同的参数,可以使得该arinc818视频帧接收解析装置能够解析多种传输速率、多种视频分辨率和多种视频帧率。多种传输速率,例如1.0625gbps,2.125gbps和3.1875gbps等。多种视频分辨率,例如1920×1080,1280×1024,1280×720,640×480,720×576等。多种帧率,例如60帧/秒,50帧/秒,30帧/秒,24帧/秒等。

本发明的方法及装置能够实时地解析多种传输速率、多种分辨率和多种帧率的arinc818视频帧,并且可以实时的配置解析参数,以适应不同参数的视频帧,而不需要重新生成逻辑设计。

本实施例中的数据总线优选为ahb总线,作为其他实施方式,数据总线还可选取现有技术中其他总线,如axi总线、avalon总线等,这里不再详细阐述。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1