CN109151245A - 基于fpga的图像数据传输方法、系统、存储介质及fpga - Google Patents
基于fpga的图像数据传输方法、系统、存储介质及fpga Download PDFInfo
- Publication number
- CN109151245A CN109151245A CN201810945252.XA CN201810945252A CN109151245A CN 109151245 A CN109151245 A CN 109151245A CN 201810945252 A CN201810945252 A CN 201810945252A CN 109151245 A CN109151245 A CN 109151245A
- Authority
- CN
- China
- Prior art keywords
- image
- packet
- value
- look
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00095—Systems or arrangements for the transmission of the picture signal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种基于FPGA的图像数据传输方法、系统、存储介质及FPGA,包括以下步骤:接收图像接收端发送的图像采集指令,按照预设帧率采集图像帧,并为所述图像帧编号;将每个图像帧拆分成多个图像包并编号,每个图像包记录对应图像帧编号及图像包编号;为每个图像帧建立一一对应的查找表,所述查找表的每个数据与每个图像帧对应的多个图像包编号一一对应,且每个数据都设定为第一值;对于每个图像帧,发送所包含的图像包至图像接收端;接收图像接收端发送的图像接收包;更新查找表;重传所述查找表中取值为第一值的数据对应的图像包。本发明的一种基于FPGA的图像数据传输方法、系统、存储介质及FPGA,更便捷传输未收到的图像包。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种基于FPGA的图像数据传输方法、系统、存储介质及FPGA。
背景技术
在以太网传输协议中,最常用的是用户数据报协议(User Datagram Protocol,简称UDP)和传输控制协议(Transmission Control Protocol,简称TCP)。其中TCP协议可提供可靠的数据传输,但其在传输的实时性上有明显的劣势;而UDP协议实时性更好,额外开销小且传输效率高,但通常会因为网络连接不稳定而造成数据包丢包的情况,接收端如果接收高帧率图像时,数据包丢包往往会造成显示丢帧、跳帧的现象,从而影响用户体验。
现有技术中针对丢包的情况是由数据接收端对收到的数据包进行检测,这样会占用数据接收端的内存,这样会进一步加重数据包丢包的程度。
因此,希望能够解决由于数据接收端对收到的数据包进行检测而导致的数据接收端的丢包率高的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于FPGA的图像数据传输方法、系统、存储介质及FPGA,用于解决现有技术中由于数据接收端对收到的数据包进行检测而导致的数据接收端的丢包率高的问题。
为实现上述目的及其他相关目的,本发明提供一种基于FPGA的图像数据传输方法,包括以下步骤:接收图像接收端发送的图像采集指令,按照预设帧率采集图像帧,并为所述图像帧编号;将每个图像帧拆分成多个图像包并编号,每个图像包记录对应图像帧编号及图像包编号;为每个图像帧建立一一对应的查找表,所述查找表的每个数据与每个图像帧对应的多个图像包编号一一对应,且每个数据都设定为第一值;对于每个图像帧,发送所包含的图像包至图像接收端;接收图像接收端发送的图像接收包,所述图像接收包包含对应图像帧编号及图像包编号;将所述图像接收包对应的图像帧编号及图像包编号对应的查找表的数据更新为第二值;重传所述查找表中取值为第一值的数据对应的图像包。
于本发明的一实施例中,重传所述查找表中取值为第一值的数据对应的图像包时,按照预设的第一时间间隔和核对次数核对对应的查找表,并重传所述查找表中取值为第一值的数据对应的图像包。
于本发明的一实施例中,前一图像帧的图像包传输与后一图像帧的图像包传输按照预设的第二时间间隔进行。
于本发明的一实施例中,当所述查找表中的数值全部更新为第二值时则不再重传图像包;当所述查找表中的数值全部为第一值时则不重传图像包;当所述查找表中的数值的第一值与第二值的比值小于预设值时则重传图像包;当所述查找表中的数值的第一值与第二值的比值大于等于预设值时则不再重传图像包。
于本发明的一实施例中,还包括将所述图像帧中的图像包缓存至与所述图像帧一一对应的图像缓存区。
于本发明的一实施例中,按照图像缓存区缓存图像包的先后顺序依次重传图像包。
为实现上述目的,本发明还提供一种基于FPGA的图像数据传输系统,包括:接收模块、编号模块、查找表建立模块和处理模块;所述接收模块用于接收图像接收端发送的图像采集指令,按照预设帧率采集图像帧,并为所述图像帧编号;所述编号模块用于将每个图像帧拆分成多个图像包并编号,每个图像包记录对应图像帧编号及图像包编号;所述查找表建立模块用于为每个图像帧建立一一对应的查找表,所述查找表的每个数据与每个图像帧对应的多个图像包编号一一对应,且每个数据都设定为第一值;所述处理模块用于对于每个图像帧,发送所包含的图像包至图像接收端;接收图像接收端发送的图像接收包,所述图像接收包包含对应图像帧编号及图像包编号;将所述图像接收包对应的图像帧编号及图像包编号对应的查找表的数据更新为第二值;重传所述查找表中取值为第一值的数据对应的图像包。
为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一上述基于FPGA的图像数据传输方法。
为实现上述目的,本发明还提供一种FPGA,包括:处理器和存储器;所述存储器用于存储计算机程序;所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使所述FPGA执行任一上述的基于FPGA的图像数据传输方法。
最后,本发明还提供一种基于FPGA的图像数据传输系统,包括:包括上述的FPGA和图像接收端;所述图像接收端用于接收图像帧对应的图像包;生成与所述图像包对应的图像接收包;缓存图像包并读出图像帧对应的图像。
如上所述,本发明的一种基于FPGA的图像数据传输方法、系统、存储介质及FPGA,具有以下有益效果:基于图像包发送端检测数据包是否被接收,而不是利用图像接收端判断数据包是否被接收,这样有效降低图像接收端的内存占用率,而达到降低丢包率的效果。通过规定重传数据包的范围而不是所有未成功传输的数据包都传输而在进一步降低丢包率。通过优先传送刚采集到的图像包,其次图像缓存区缓存图像包的先后顺序依次重传图像包,充分利用发送端的工作效率。
附图说明
图1显示为本发明的基于FPGA的图像数据传输方法于一实施例中的流程图;
图2显示为本发明的基于FPGA的图像数据传输方法的图像帧的传输时间于一实施例中的流程图;
图3显示为本发明的基于FPGA的图像数据传输方法的图像帧的传输时间于又一实施例中的流程图;
图4显示为本发明的基于FPGA的图像数据传输方法的图像帧的传输时间于再一实施例中的流程图;
图5显示为本发明的基于FPGA的图像数据传输系统于一实施例中的结构示意图;
图6显示为本发明的FPGA于一实施例中的结构示意图;
图7显示为本发明的FPGA于又一实施例中的结构示意图;
图8显示为本发明的基于FPGA的图像数据传输系统于又一实施例中的结构示意图。
元件标号说明
51 接收模块
52 编号模块
53 查找模块
54 处理模块
61 处理器
62 存储器
711 UDP协议接口
712 分配模块
713 指令解析模块
714 解析更新模块
7141 查找表模块
7142 查找表模块
7143 查找表模块
7144 查找表模块
715 采集图像生成模块
716 控制器模块
717 图像包生成模块
718 读取模块
719 发送模块
81 FPGA
82 图像接收端
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的基于FPGA的图像数据传输方法、系统、存储介质及FPGA,基于图像包发送端检测数据包是否被接收,而不是利用图像接收端判断数据包是否被接收,这样有效降低图像接收端的内存占用率,而达到降低丢包率的效果。通过规定重传数据包的范围而不是所有未成功传输的数据包都传输而在进一步降低丢包率。通过优先传送刚采集到的图像包,其次图像缓存区缓存图像包的先后顺序依次重传图像包,充分利用发送端的工作效率。
如图1所示,于一实施例中,本发明的基于FPGA的图像数据传输方法,包括以下步骤:
步骤S11、接收图像接收端发送的图像采集指令,按照预设帧率采集图像帧,并为所述图像帧编号。
于本发明一实施例中,所述图像接收端可为电脑、智能手机、智能平板的等终端设备,接收所述图像接收端发送的图像采集指令,所述图像采集指令基于以太网传输协议进行传输,具体地,基于用户数据报协议或传输控制协议进行传输。按照预设帧率采集图像帧,按照预设的帧率从视频采集得到所述图像帧,根据图像接收端对视频清晰度的要求以及视频本身清晰度限定帧率。按照采集图像帧的先后时间顺序为所述图像帧编号,依次为第一图像帧、第二图像帧……第N图像帧和第N+1图像帧。
步骤S12、将每个图像帧拆分成多个图像包并编号,每个图像包记录对应图像帧编号及图像包编号。
将所述第一图像帧拆分成多个图像包,将所述多个图像包编号并记录如将第一图像帧拆分成四个图像包,分别命名为第一图像包、第二图像包、第三图像包、第四图像包。每个图像包记录对应图像帧编号及图像包编号。具体地,每个图像包首部若干字节记录当前图像帧编号及图像包编号。如第一图像帧的第一图像包的首部若干字节记录当前图像帧编号为1且图像包编号为1。如第一图像帧的第二图像包的首部若干字节记录当前图像帧编号为1且图像包编号为2。所述每一图像帧拆分的图像包数量可根据具体图像帧大小决定。
步骤S13、为每个图像帧建立一一对应的查找表,所述查找表的每个数据与每个图像帧对应的多个图像包编号一一对应,且每个数据都设定为第一值。
于本发明一实施例中,所述每个图像帧都有与其一一对应的查找表,例如第一图像帧对应第一查找表,而第一查找表中有多个数据,所述第一查找表中的数据个数与所述第一图像帧的图像包个数相同,且每个数据对应一个图像包。将所述每个数据都同一设定为第一值,所述第一值可为“0”。
步骤S14、对于每个图像帧,发送所包含的图像包至图像接收端;接收图像接收端发送的图像接收包,所述图像接收包包含对应图像帧编号及图像包编号;将所述图像接收包对应的图像帧编号及图像包编号对应的查找表的数据更新为第二值;重传所述查找表中取值为第一值的数据对应的图像包。
于本发明一实施例中,按照采集图像帧的先后时间顺序依次发送图像帧对应的图像包至图像接收端。所述图像接收端接收图像包后生成图像接收包,所述图像接收包与接收到的图像包一一对应,所述图像接收包记录接收到的图像包对应的图像帧编号及图像包编号。例如图像接收包对应第一图像帧,所述图像接收包记录第一图像帧的编号和图像包编号。接收所述图像接收端发送的图像接收包,将图像接收包记录的图像帧编号及图像包编号与相应的查找表对应上。如所述图像接收包记录图像帧编号为1及图像包编号为2,则将与第一图像帧对应的查找表中与图像帧编号为1且图像包编号为2的数据更新为第二值,所述第二值可为“1”。所述图像接收包记录所有接收到的图像帧编号及图像包编号。根据所述图像接收包更新完对应的查找表的数值后,重新发送图像包。具体地,更新完对应的查找表的数值后,例如查找表对应第一图像帧,所述查找表中的某个为第一值的数值对应所述第一图像帧的第二图像包,则重新发送所述第一图像帧的第二图像包。
于本发明一实施例中,重传所述查找表中取值为第一值的数据对应的图像包时,按照预设的第一时间间隔和核对次数核对对应的查找表,并重传所述查找表中取值为第一值的数据对应的图像包。
于本发明一实施例中,前一图像帧的图像包传输与后一图像帧的图像包传输按照预设的第二时间间隔进行。
于本发明一实施例中,如设置第一帧的图像包传输与第二帧的图像包传输的第二时间间隔为T1,核对次数为三次,则在T1的时间内完成三次第一帧的图像包传输的重传。若达到第二时间间隔T1前已完成三次重传,则等待第二帧采集开始。若达到第二时间间隔T1但尚未完成第一帧的图像包传输的三次重传,则结束重传动作,等待下一帧采集开始。
于本发明一实施例中,根据查找表的数值情况决定是否重传图像包,当所述查找表中的数值全部更新为第二值时则不再重传图像包;当所述查找表中的数值全部为第一值时则不重传图像包;当所述查找表中的数值的第一值与第二值的比值小于预设值时则重传图像包;当所述查找表中的数值的第一值与第二值的比值大于等于预设值时则不再重传图像包。所述预设值可定为1:3。其他情况则不重传图像包。即每一图像帧存在最大允许丢图像包数,丢图像包不超过该值则重传,若超过则考虑到实际带宽原因不重传。这样能够更好地利用带宽的基础上,重传丢图像包较少的图像帧。
于本发明一实施例中,按照图像缓存区缓存图像包的先后顺序依次重传图像包。在按照图像缓存区缓存图像包的先后顺序依次重传图像包之前先传输刚采集到的图像包,然后再根据图像缓存区缓存图像包的先后顺序依次重传图像包。先重传图像缓存区最早缓存的图像帧所丢失的图像包,然后重传图像缓存区其次缓存的图像帧所丢失的图像包,最后重传图像缓存区最后缓存的图像帧所丢失的图像包。
如图2所示,于一实施例中,本发明的基于FPGA的图像数据传输方法的图像帧的帧间隔,每一图像帧进行三次重传,每次重传时间分别为从T1至T2、从T3至T4、从T5至T6,且第二帧的图像帧在第一图像帧完成三次重传之后才开始采集。从第一图像帧开始采集到第一图像帧的三次重传完成预设时间为T6,如果T6时间到达还没有完成第一图像帧的三次重传也结束重传,等待下一图像帧的采集。
如图3所示,于一实施例中,每一图像帧进行三次重传,在第一图像帧完成三次重传之前就开始第二图像帧的采集和重传,且按照如下规则依次重传图像包:在按照图像缓存区缓存图像包的先后顺序依次重传图像包之前先传输刚采集到的图像包,然后再根据图像缓存区缓存图像包的先后顺序依次重传图像包。先重传图像缓存区最早缓存的图像帧所丢失的图像包,然后重传图像缓存区其次缓存的图像帧所丢失的图像包,最后重传图像缓存区最后缓存的图像帧所丢失的图像包。例如,在第二图像帧采集开始后先重传刚刚采集到的第二图像帧的图像包,然后再重传图像缓存区最早缓存的图像帧所丢失的图像包,即第一图像帧的图像包。
如图4所示,于一实施例中,创建了N个图像缓存区,所述图像缓存区与图像帧一一对应,开始采集第N+1帧时,相应的计时器从0开始计时,同时原来第一图像帧对应的图像缓存区内更新为第N+1帧的图像包。所述图像帧都重传三次,且第一图像帧的最后一次结束时间为T6,则T6的取值范围应该小于图像帧间隔时间与图像缓存区个数的乘积。,例如:FPGA设置32个图像缓存区,按300fps计算,T6可设置为100ms。具体地,每一图像帧都对应一个时间阈值T6,每一图像帧相应的计时器从0开始计时,当计时到T6时,不管三次重传过程是否已完成,都应当结束对该帧图像帧的重传动作。T6的取值范围应该小于图像帧间隔时间与图像缓存区个数的乘积。因为开始传输第N+1帧时,对应第一图像帧的图像缓存区域即将被第N+1帧的图像数据覆盖,并且对应第一图像帧的计时器即将清零重新为第N+1帧开始计时。举例,N=32,即该系统可创建32帧图像缓存,且该系统以300帧每秒的帧率采集图像帧,即帧间隔时间为3.33ms,则T6的取值范围应该小于106ms(即3.33ms*32)。
如图5所示,于一实施例中,本发明的基于FPGA的图像数据传输系统,包括接收模块51、编号模块52、查找表建立模块53和处理模块54。
所述接收模块51用于接收图像接收端发送的图像采集指令,按照预设帧率采集图像帧,并为所述图像帧编号。
于本发明一实施例中,所述图像接收端可为电脑、智能手机、智能平板的等终端设备,接收所述图像接收端发送的图像采集指令,所述图像采集指令基于以太网传输协议进行传输,具体地,基于用户数据报协议或传输控制协议进行传输。按照预设帧率采集图像帧,按照预设的帧率从视频采集得到所述图像帧,根据图像接收端对视频清晰度的要求以及视频本身清晰度限定帧率。按照采集图像帧的先后时间顺序为所述图像帧编号,依次为第一图像帧、第二图像帧……第N图像帧和第N+1图像帧。
所述编号模块52用于将每个图像帧拆分成多个图像包并编号,每个图像包记录对应图像帧编号及图像包编号。
于本发明一实施例中,将所述第一图像帧拆分成多个图像包,将所述多个图像包编号并记录如将第一图像帧拆分成四个图像包,分别命名为第一图像包、第二图像包、第三图像包、第四图像包。每个图像包记录对应图像帧编号及图像包编号。具体地,每个图像包首部若干字节记录当前图像帧编号及图像包编号。如第一图像帧的第一图像包的首部若干字节记录当前图像帧编号为1且图像包编号为1。如第一图像帧的第二图像包的首部若干字节记录当前图像帧编号为1且图像包编号为2。所述每一图像帧拆分的图像包数量可根据具体图像帧大小决定。
所述查找表建立模块53用于为每个图像帧建立一一对应的查找表,所述查找表的每个数据与每个图像帧对应的多个图像包编号一一对应,且每个数据都设定为第一值。
于本发明一实施例中,每个图像帧都有与其一一对应的查找表,例如第一图像帧对应第一查找表,而第一查找表中有多个数据,所述第一查找表中的数据个数与所述第一图像帧的图像包个数相同,且每个数据对应一个图像包。将所述每个数据都同一设定为第一值,所述第一值可为“0”。
所述处理模块54用于对于每个图像帧,发送所包含的图像包至图像接收端;接收图像接收端发送的图像接收包,所述图像接收包包含对应图像帧编号及图像包编号;将所述图像接收包对应的图像帧编号及图像包编号对应的查找表的数据更新为第二值;重传所述查找表中取值为第一值的数据对应的图像包。
于本发明一实施例中,按照采集图像帧的先后时间顺序依次发送图像帧对应的图像包至图像接收端。所述图像接收端接收图像包后生成图像接收包,所述图像接收包与接收到的图像包一一对应,所述图像接收包记录接收到的图像包对应的图像帧编号及图像包编号。例如图像接收包对应第一图像帧,所述图像接收包记录第一图像帧的编号和图像包编号。接收所述图像接收端发送的图像接收包,将图像接收包记录的图像帧编号及图像包编号与相应的查找表对应上。如所述图像接收包记录图像帧编号为1及图像包编号为2,则将与第一图像帧对应的查找表中与图像帧编号为1且图像包编号为2的数据更新为第二值,所述第二值可为“1”。所述图像接收包记录所有接收到的图像帧编号及图像包编号。根据所述图像接收包更新完对应的查找表的数值后,重新发送图像包。具体地,更新完对应的查找表的数值后,例如查找表对应第一图像帧,所述查找表中的某个为第一值的数值对应所述第一图像帧的第二图像包,则重新发送所述第一图像帧的第二图像包。
需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
于本发明一实施例中,本发明还包括一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一基于FPGA的图像数据传输方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
如图6所示,于一实施例中,本发明的FPGA包括:处理器61和存储器62;所述存储器62用于存储计算机程序;所述处理器61与所述存储器62相连,用于执行所述存储器62存储的计算机程序,以使所述FPGA执行任一所述的基于FPGA的图像数据传输方法。
具体地,所述存储器62包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
优选地,所述处理器61可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
如图7所示,于一实施例中,本发明的基于FPGA,分配模块712用于分配通过UDP协议接口711接收到的指令至指令解析模块713或解析更新模块714。所述指令解析模块713用于处理图像接收端发送的图像采集指令,采集图像生成模块715用于按照预设帧率采集图像帧,并为所述图像帧编号。读取模块718用于将每个图像帧拆分成多个图像包并编号,每个图像包记录对应图像帧编号及图像包编号。控制器模块716用于缓存图像包。所述解析更新模块714用于为每个图像帧建立一一对应的查找表,所述查找表的每个数据与每个图像帧对应的多个图像包编号一一对应,且每个数据都设定为第一值。查找表模块用于对应一个图像帧建立一个查找表,查找表模块7141用于存储查找表并与一个图像帧对应。查找表模块7142用于存储查找表并与一个图像帧对应。查找表模块7143用于存储查找表并与一个图像帧对应。查找表模块7144用于存储查找表并与一个图像帧对应。所述解析更新模块714用于分析图像接收端发送的图像接收包,将所述图像接收包对应的图像帧编号及图像包编号对应的查找表的数据更新为第二值。具体地,将对应的查找表模块中的查找表中的数据更新为第二值。图像包生成模块717用于针对每个图像帧包含一个单独计时器,按照预设的第一时间间隔和核对次数核对对应的查找表,并重传所述查找表中取值为第一值的数据对应的图像包。当计时器达到每个图像帧的总传输时间则停止传输该图像帧。发送模块719用于对于每个图像帧,发送所包含的图像包至图像接收端。
如图8所示,于一实施例中,本发明的基于FPGA的图像数据传输系统,包括上述的FPGA81和图像接收端82。
所述图像接收端82用于接收图像帧对应的图像包;生成与所述图像包对应的图像接收包;缓存图像包并读出图像帧对应的图像。所述图像接收端用于接收图像帧对应的图像包,解析该图像包对应的图像帧的图像帧编号及图像包编号,并生成图像接收包,所述图像接收包包含对应图像帧编号及图像包编号。所述图像接收端为每一图像帧分配独立的缓存区并将图像包放进对应图像包号的缓存地址内。图像接收端从创建图像帧对应的图像包开始计时,达到每个图像帧的总传输时间后读出缓存区中的图像。
综上所述,本发明基于FPGA的图像数据传输方法、系统、存储介质及FPGA,基于图像包发送端检测数据包是否被接收,而不是利用图像接收端判断数据包是否被接收,这样有效降低图像接收端的内存占用率,而达到降低丢包率的效果。通过规定重传数据包的范围而不是所有未成功传输的数据包都传输而在进一步降低丢包率。通过优先传送刚采集到的图像包,其次图像缓存区缓存图像包的先后顺序依次重传图像包,充分利用发送端的工作效率。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种基于FPGA的图像数据传输方法,其特征在于,包括以下步骤:
接收图像接收端发送的图像采集指令,按照预设帧率采集图像帧,并为所述图像帧编号;
将每个图像帧拆分成多个图像包并编号,每个图像包记录对应图像帧编号及图像包编号;
为每个图像帧建立一一对应的查找表,所述查找表的每个数据与每个图像帧对应的多个图像包编号一一对应,且每个数据都设定为第一值;
对于每个图像帧,发送所包含的图像包至图像接收端;接收图像接收端发送的图像接收包,所述图像接收包包含对应图像帧编号及图像包编号;将所述图像接收包对应的图像帧编号及图像包编号对应的查找表的数据更新为第二值;重传所述查找表中取值为第一值的数据对应的图像包。
2.根据权利要求1所述的基于FPGA的图像数据传输方法,其特征在于,重传所述查找表中取值为第一值的数据对应的图像包时,按照预设的第一时间间隔和核对次数核对对应的查找表,并重传所述查找表中取值为第一值的数据对应的图像包。
3.根据权利要求1所述的基于FPGA的图像数据传输方法,其特征在于,前一图像帧的图像包传输与后一图像帧的图像包传输按照预设的第二时间间隔进行。
4.根据权利要求1所述的基于FPGA的图像数据传输方法,其特征在于,
当所述查找表中的数值全部更新为第二值时则不再重传图像包;
当所述查找表中的数值全部为第一值时则不重传图像包;
当所述查找表中的数值的第一值与第二值的比值小于于预设值时则重传图像包;
当所述查找表中的数值的第一值与第二值的比值大于等于预设值时则不再重传图像包。
5.根据权利要求1所述的基于FPGA的图像数据传输方法,其特征在于,还包括将所述图像帧中的图像包缓存至与所述图像帧一一对应的图像缓存区。
6.根据权利要求5所述的基于FPGA的图像数据传输方法,其特征在于,按照图像缓存区缓存图像包的先后顺序依次重传图像包。
7.一种基于FPGA的图像数据传输系统,其特征在于,包括:接收模块、编号模块、查找表建立模块和处理模块;
所述接收模块用于接收图像接收端发送的图像采集指令,按照预设帧率采集图像帧,并为所述图像帧编号;
所述编号模块用于将每个图像帧拆分成多个图像包并编号,每个图像包记录对应图像帧编号及图像包编号;
所述查找表建立模块用于为每个图像帧建立一一对应的查找表,所述查找表的每个数据与每个图像帧对应的多个图像包编号一一对应,且每个数据都设定为第一值;
所述处理模块用于对于每个图像帧,发送所包含的图像包至图像接收端;接收图像接收端发送的图像接收包,所述图像接收包包含对应图像帧编号及图像包编号;将所述图像接收包对应的图像帧编号及图像包编号对应的查找表的数据更新为第二值;重传所述查找表中取值为第一值的数据对应的图像包。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7中任一项所述基于FPGA的图像数据传输方法。
9.一种FPGA,其特征在于,包括:处理器和存储器;
所述存储器用于存储计算机程序;
所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使所述FPGA执行权利要求1至7中任一项所述的基于FPGA的图像数据传输方法。
10.一种基于FPGA的图像数据传输系统,其特征在于,包括权利要求10所述的FPGA和图像接收端;
所述图像接收端用于接收图像帧对应的图像包;生成与所述图像包对应的图像接收包;缓存图像包并读出图像帧对应的图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810945252.XA CN109151245B (zh) | 2018-08-20 | 2018-08-20 | 基于fpga的图像数据传输方法、系统、存储介质及fpga |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810945252.XA CN109151245B (zh) | 2018-08-20 | 2018-08-20 | 基于fpga的图像数据传输方法、系统、存储介质及fpga |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109151245A true CN109151245A (zh) | 2019-01-04 |
CN109151245B CN109151245B (zh) | 2021-01-19 |
Family
ID=64790128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810945252.XA Active CN109151245B (zh) | 2018-08-20 | 2018-08-20 | 基于fpga的图像数据传输方法、系统、存储介质及fpga |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109151245B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111163362A (zh) * | 2019-12-30 | 2020-05-15 | 北京佳讯飞鸿电气股份有限公司 | 一种自适应重传等待时间的视频接收方法及系统 |
CN114389760A (zh) * | 2021-12-21 | 2022-04-22 | 成都善思微科技有限公司 | 一种辐射成像探测器用高可靠性数据传输系统及方法 |
CN115550606A (zh) * | 2022-08-31 | 2022-12-30 | 合肥埃科光电科技股份有限公司 | 一种基于网络协议的图像采集系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6134692A (en) * | 1997-03-21 | 2000-10-17 | Kabushiki Kaisha Toshiba | Information identification system for identifying response units by a control unit, and the control unit and the response units for the information identification system |
US20010028300A1 (en) * | 2000-04-06 | 2001-10-11 | Toshiba Tec Kabushiki Kaisha | Electronic shelf label system |
CN101667901A (zh) * | 2008-09-05 | 2010-03-10 | 中兴通讯股份有限公司 | 用于恒定调度的混合自动重传实现方法及系统 |
CN103780971A (zh) * | 2012-10-23 | 2014-05-07 | 北京网动网络科技股份有限公司 | 一种互联网条件下基于rudp的实时视频传输方法 |
CN106973188A (zh) * | 2017-04-11 | 2017-07-21 | 北京图森未来科技有限公司 | 一种图像传输装置和方法 |
CN107197116A (zh) * | 2017-05-25 | 2017-09-22 | 天津大学 | 一种基于udp协议实时可靠图像传输方案 |
-
2018
- 2018-08-20 CN CN201810945252.XA patent/CN109151245B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6134692A (en) * | 1997-03-21 | 2000-10-17 | Kabushiki Kaisha Toshiba | Information identification system for identifying response units by a control unit, and the control unit and the response units for the information identification system |
US20010028300A1 (en) * | 2000-04-06 | 2001-10-11 | Toshiba Tec Kabushiki Kaisha | Electronic shelf label system |
CN101667901A (zh) * | 2008-09-05 | 2010-03-10 | 中兴通讯股份有限公司 | 用于恒定调度的混合自动重传实现方法及系统 |
CN103780971A (zh) * | 2012-10-23 | 2014-05-07 | 北京网动网络科技股份有限公司 | 一种互联网条件下基于rudp的实时视频传输方法 |
CN106973188A (zh) * | 2017-04-11 | 2017-07-21 | 北京图森未来科技有限公司 | 一种图像传输装置和方法 |
CN107197116A (zh) * | 2017-05-25 | 2017-09-22 | 天津大学 | 一种基于udp协议实时可靠图像传输方案 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111163362A (zh) * | 2019-12-30 | 2020-05-15 | 北京佳讯飞鸿电气股份有限公司 | 一种自适应重传等待时间的视频接收方法及系统 |
CN111163362B (zh) * | 2019-12-30 | 2021-12-24 | 北京佳讯飞鸿电气股份有限公司 | 一种自适应重传等待时间的视频接收方法及系统 |
CN114389760A (zh) * | 2021-12-21 | 2022-04-22 | 成都善思微科技有限公司 | 一种辐射成像探测器用高可靠性数据传输系统及方法 |
CN114389760B (zh) * | 2021-12-21 | 2024-03-08 | 成都善思微科技有限公司 | 一种辐射成像探测器用高可靠性数据传输系统及方法 |
CN115550606A (zh) * | 2022-08-31 | 2022-12-30 | 合肥埃科光电科技股份有限公司 | 一种基于网络协议的图像采集系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109151245B (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111327402B (zh) | 重传数据的方法、装置和系统 | |
RU2221338C2 (ru) | Устройство и способ передачи и приема данных в соответствии с протоколом линии радиосвязи в системе связи с подвижными объектами | |
CN109151245A (zh) | 基于fpga的图像数据传输方法、系统、存储介质及fpga | |
US7286551B2 (en) | Media access control device guaranteeing communication quality in wireless LAN for VoIP | |
CN109936510A (zh) | 多路径rdma传输 | |
US5418912A (en) | System and method for controlling buffer transmission of data packets by limiting buffered data packets in a communication session | |
CN104038845B (zh) | 报文传输方法及装置 | |
CN106792262A (zh) | 视频数据传输方法及装置 | |
CN104484295B (zh) | 并行计算机系统中基于接收方滑动窗口的数据传输方法 | |
CN104735077B (zh) | 一种使用环形缓存和环形队列实现udp高效并发的方法 | |
CN104104479A (zh) | 经由无线网络和无线装置发送/接收数据的方法和设备 | |
CN107360247B (zh) | 处理业务的方法和网络设备 | |
CN110460412A (zh) | 用于数据传输的方法和rdma网卡 | |
WO2020134755A1 (zh) | 数据传输方法和装置 | |
CN105379164A (zh) | 用于发送和接收数据的方法和设备以及用于执行所述方法的记录介质 | |
CN112783455B (zh) | 数据传输的控制方法、装置、介质及电子设备 | |
CN109039548A (zh) | Pdcp状态报告的发送方法、装置及计算机可读存储介质 | |
CN109905205A (zh) | 数据发送、接收的方法及设备、数据传输方法及系统 | |
CN107371246B (zh) | 一种业务数据的传输方法、终端及网络侧设备 | |
CN103944880B (zh) | 一种ZigBee数据传输的方法 | |
US20020150078A1 (en) | Data transmitter, data receiver, and data transmitting/receiving method | |
CN114500528A (zh) | 一种基于云平台的数据传输方法及装置 | |
CN107359972B (zh) | 一种数据接收方法及装置 | |
WO2020007278A1 (zh) | 数据发送方法及发送设备、数据接收方法及接收设备 | |
WO2017063589A1 (zh) | 数据传输的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |