一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图像模拟器中高速数据的动态处理方法和装置与流程

2021-11-05 21:23:00 来源:中国专利 TAG:


1.本发明涉及的是图像数据处理领域,特别涉及一种图像模拟器中高速数据的动态处理方法和装置。


背景技术:

2.随着航天卫星高分相机的分辨率也越来越大,随之带来图像传输的速率要求急剧增大。因此地面测试系统也需要在各项性能上紧跟时代的需求,数传子系统和存储子系统在地面测试时,需要能和真实高分相机一样能产生大数据量且配置灵活的模拟源设备。现今图像模拟源设备为了兼顾以上两个需求,会采用fpga加cpu这种异构硬件方案,例如中国专利cn2020103376500《一种可灵活定制帧格式的测试数据模拟方法和装置》,该发明的优点是充分利用两种处理的优缺点进行互补。fpga优点在于时序性强,吞吐量大用来实现例如10gb/s以上的高速接口,同时使用cpu作为图像数据的配置面,在图像帧格式的配置做到灵活配置,做到更通用化。fpga和cpu之间的连接是通过dma来实现,图像数据在cpu侧准备好之后便可通过dma发送给fpga,其传输速度可达到40gb/s,最终由fpga组成光纤传输协议进行发送。
3.然而,该方案中仍然缺少在数据开始发送后,满足动态改变数据内容,实现数据调整的需求,例如传输的图像的亮度、对比度、动态增强等需求。


技术实现要素:

4.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分解决上述问题的一种图像模拟器中高速数据的动态处理方法和装置。
5.为了解决上述技术问题,本技术实施例公开了如下技术方案:
6.一种图像模拟器中高速数据的动态处理方法,包括:
7.s100.将图像模拟器中cpu侧的相机数据按照第一预设规则进行内存预处理;
8.s200.将图像模拟器中cpu侧预处理好的相机数据,按照第二预设规则,发送给图像模拟器中fpga侧;
9.s300.fpga侧接收cpu侧预处理好的数据,并进行解析,对原图像进行动态处理。
10.进一步地,s100中,相机数据的每一帧数据包括dma头数据、辅助数据和图像数据。
11.进一步地,dma头数据、辅助数据和图像数据的个数相同。
12.进一步地,dma头数据、辅助数据和图像数据按第一预设规则进行内存预处理的方法为:dma头数据与辅助数据按前后顺序相连,并一起存储在一块内存地址中,图像数据单独储存在另外一块内存地址上。
13.进一步地,dma头数据与辅助数据相连后,并与下一帧相连的dma头数据与辅助数据按顺序排列,图像数据与下一帧图像数据按顺序排列。
14.进一步地,s200中,第二预设规则为:cpu侧通过2路dma发送到fpga侧的对应端口,dma头数据和辅助数据通过辅助数据通道发送到辅助数据端口,图像数据通过图像数据通
道发送到数据端口。
15.进一步地,s100中,当内存中存放文件的长度不是相机数据帧的整数倍时,需要对文件长度的尾部进行循环补齐。
16.进一步地,对文件长度的尾部进行循环补齐的方法为:
17.获取图形文件长度s和相机数据帧中图像部分长度记为m;
18.用图形文件长度s除以相机数据帧中图像部分长度m的余数记为n,即n=s%m;
19.假设发送的循环周期为k 1,则k 1=(m

n)和m的最小公倍数;
20.图像文件进行循环补齐的长度记为s’,则通过s’=k(m

n),计算补齐的长度。
21.进一步地,当cpu侧的相机数据向fpga侧发送时,会将调整图像特性的参数写入到dma头中,当图像帧进入到fpga后,fpga解析dma头中的变化信息,然后在对图像数据做相应的处理。
22.进一步地,调整图像特性的参数至少包括:图像的亮度调整参数、图像的对比度调整参数和图像的视觉增强参数。
23.本发明还公开了一种图像模拟器中高速数据的动态处理装置,包括:内存预处理模块、数据传输模块、数据解析模块;其中:
24.内存预处理模块,用于将图像模拟器中cpu侧的相机数据按照第一预设规则进行内存预处理,其中,dma头数据、辅助数据和图像数据按第一预设规则进行内存预处理的方法为:dma头数据与辅助数据按前后顺序相连,并一起存储在一块内存地址中,图像数据单独储存在另外一块内存地址上;dma头数据与辅助数据相连后,并与下一帧相连的dma头数据与辅助数据按顺序排列,图像数据与下一帧图像数据按顺序排列;还包括当内存中存放文件的长度不是相机数据帧的整数倍时,对文件长度的尾部进行循环补齐。
25.数据传输模块,用于将图像模拟器中cpu侧预处理好的相机数据,按照第二预设规则,发送给图像模拟器中fpga侧;具体的,第二预设规则为:cpu侧通过2路dma发送到fpga侧的对应端口,dma头数据和辅助数据通过辅助数据通道发送到辅助数据端口,图像数据通过图像数据通道发送到数据端口。
26.数据解析模块,用于接收cpu侧预处理好的数据,并进行解析,调整图像特性,对原图像进行动态处理,调整图像特性的参数至少包括:图像的亮度调整参数、图像的对比度调整参数和图像的视觉增强参数。
27.本发明实施例提供的上述技术方案的有益效果至少包括:
28.本发明公开的一种图像模拟器中高速数据的动态处理方法和装置,包括:将图像模拟器中cpu侧的相机数据按照第一预设规则进行内存预处理;将图像模拟器中cpu侧预处理好的相机数据,按照第二预设规则,发送给图像模拟器中fpga侧;fpga侧接收cpu侧预处理好的数据,并进行解析,对原图像进行动态处理。本发明解决了现有技术中,cpu侧和fpga侧的相机数据发送过程中,在数据开始发送后,满足动态改变数据内容,实现数据调整的需求。
29.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
30.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实
施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
31.图1为本发明实施例1中,一种图像模拟器中高速数据的动态处理方法的流程图;
32.图2为本发明实施例1中,dma头数据、辅助数据和图像数据在内存中的排列方式;
33.图3为本发明实施例1中,图像文件长度的尾部进行循环补齐的示意图;
34.图4为本发明实施例1中,fpga侧接收cpu侧预处理好的数据的示意图。
具体实施方式
35.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
36.为了解决现有技术中存在的问题,本发明实施例提供一种图像模拟器中高速数据的动态处理方法和装置。
37.实施例1
38.本实施例公开了一种图像模拟器中高速数据的动态处理方法,如图1,包括:
39.s100.将图像模拟器中cpu侧的相机数据按照第一预设规则进行内存预处理。
40.具体的,本实施例中,相机数据的每一帧数据包括dma头数据、辅助数据和图像数据。如图2,dma头数据、辅助数据和图像数据按第一预设规则进行内存预处理的方法为:dma头数据与辅助数据按前后顺序相连,并一起存储在一块内存地址中,图像数据单独储存在另外一块内存地址上。dma头数据与辅助数据相连后,并与下一帧相连的dma头数据与辅助数据按顺序排列,图像数据与下一帧图像数据按顺序排列。
41.在本实施例中,内存中辅助数据和图像数据独立存放,一个dma帧内部由多个连续的辅助头组成,或者多个连续图像数据帧组成。发送时辅助数据头dma和图像数据dma交替发送,并且包含的用户帧数是一样的。fpga约定从辅助数据管道读取一个辅助数据头后,再从图像数据通道取一个用户帧的图像数据,拼接后发送出去。
42.在一些实施例中,如图3,当内存中存放文件的长度不是相机数据帧的整数倍时,需要对文件长度的尾部进行循环补齐。具体的,对文件长度的尾部进行循环补齐的方法为:
43.获取图形文件长度s和相机数据帧中图像部分长度记为m;
44.用图形文件长度s除以相机数据帧中图像部分长度m的余数记为n,即n=s%m;
45.假设发送的循环周期为k 1,则k 1=(m

n)和m的最小公倍数/(m

n);
46.图像文件进行循环补齐的长度记为s’,则通过s’=k(m

n),计算补齐的长度。
47.例如,当文件长度s=4096字节,相机数据帧中图像部分长度m=1012字节时,通过n=s%m,得到n=48,m

n=964和m=1012的最小公倍数为243982,则k 1=243982/964=252;k=252。则图像文件进行循环补齐的长度s’=k(m

n)=252x964=242928字节。
48.因此,在发送第4个m时,会多发s’中964字节的数据,那么发送第5个m时,从s的开头处偏移964字节开始发送,这样就能保证跟第4个m的内容能接上。同理发送第8个m后,会多发s’中964*2字节,第9个m就要从s的964*2字节开始发送。
49.最后到k 1=253时,首个m发送的偏移回到s的0偏移点。
50.最后在内存中图像数据区域要铺满(s s’)
×
(k 1)图像数据,便能满足一个循环
发送缓冲区。
51.s200.将图像模拟器中cpu侧预处理好的相机数据,按照第二预设规则,发送给图像模拟器中fpga侧;具体的,本实施例中,如图4,第二预设规则为:cpu侧通过2路dma发送到fpga侧的对应端口,dma头数据和辅助数据通过辅助数据通道发送到辅助数据端口,图像数据通过图像数据通道发送到数据端口。
52.s300.fpga侧接收cpu侧预处理好的数据,并进行解析,对原图像进行动态处理。具体的,在数据发送时通道调整图像特性是通过cpu将需要发送的变化动态写入到dma头中,当图像帧进入到fpga后,fpga解析dma头中的变化信息,然后在对图像数据做相应的处理。比如对原图像进行亮度、对比度、视觉增强等变化。在一些优选实施例中,相机数据的数据结构如下表一。
53.表一
[0054][0055]
fpga解析dma头中的变化信息,然后在对图像数据做相应的处理的具体解析方式如表二。
[0056]
表二
[0057][0058]
本实施例公开的一种图像模拟器中高速数据的动态处理方法,包括:将图像模拟器中cpu侧的相机数据按照第一预设规则进行内存预处理;将图像模拟器中cpu侧预处理好的相机数据,按照第二预设规则,发送给图像模拟器中fpga侧;fpga侧接收cpu侧预处理好的数据,并进行解析,对原图像进行动态处理。本发明解决了现有技术中,cpu侧和fpga侧的相机数据发送过程中,在数据开始发送后,满足动态改变数据内容,实现数据调整的需求。
[0059]
实施例2
[0060]
本实施例公开了一种图像模拟器中高速数据的动态处理装置,包括:内存预处理模块、数据传输模块、数据解析模块;其中:
[0061]
内存预处理模块,用于将图像模拟器中cpu侧的相机数据按照第一预设规则进行内存预处理,其中,dma头数据、辅助数据和图像数据按第一预设规则进行内存预处理的方法为:dma头数据与辅助数据按前后顺序相连,并一起存储在一块内存地址中,图像数据单独储存在另外一块内存地址上;dma头数据与辅助数据相连后,并与下一帧相连的dma头数据与辅助数据按顺序排列,图像数据与下一帧图像数据按顺序排列;还包括当内存中存放文件的长度不是相机数据帧的整数倍时,对文件长度的尾部进行循环补齐。
[0062]
具体的,对文件长度的尾部进行循环补齐的方法为:
[0063]
获取图形文件长度s和相机数据帧中图像部分长度记为m;
[0064]
用图形文件长度s除以相机数据帧中图像部分长度m的余数记为n,即n=s%m;
[0065]
假设发送的循环周期为k 1,则k 1=(m

n)和m的最小公倍数/(m

n);
[0066]
图像文件进行循环补齐的长度记为s’,则通过s’=k(m

n),计算补齐的长度。具体的补齐例子已在实施例1中进行了详细描述,本实施例在此不再进行赘述。
[0067]
数据传输模块,用于将图像模拟器中cpu侧预处理好的相机数据,按照第二预设规则,发送给图像模拟器中fpga侧;具体的,第二预设规则为:cpu侧通过2路dma发送到fpga侧的对应端口,dma头数据和辅助数据通过辅助数据通道发送到辅助数据端口,图像数据通过图像数据通道发送到数据端口。
[0068]
数据传输模块的具体的传输规则已在实施例1中进行了详细描述,本实施例在此不再进行赘述。
[0069]
数据解析模块,用于接收cpu侧预处理好的数据,并进行解析,调整图像特性,对原图像进行动态处理,调整图像特性的参数至少包括:图像的亮度调整参数、图像的对比度调整参数和图像的视觉增强参数。数据解析模块解析的数据结构和解析方式已在实施例1中表一和表二进行了详细描述。
[0070]
本实施例公开的一种图像模拟器中高速数据的动态处理装置,通过内存预处理模块将图像模拟器中cpu侧的相机数据按照第一预设规则进行内存预处理;通过数据传输模块将图像模拟器中cpu侧预处理好的相机数据,按照第二预设规则,发送给图像模拟器中fpga侧;通过数据解析模块,在fpga侧接收cpu侧预处理好的数据,并进行解析,对原图像进行动态处理。本发明解决了现有技术中,cpu侧和fpga侧的相机数据发送过程中,在数据开始发送后,满足动态改变数据内容,实现数据调整的需求。
[0071]
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
[0072]
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
[0073]
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
[0074]
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动磁盘、cd

rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且
可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。该asic可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
[0075]
对于软件实现,本技术中描述的技术可用执行本技术所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
[0076]
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献