动态插值的FPGA工程方法、装置、存储介质和终端与流程

文档序号:24160977发布日期:2021-03-05 16:49阅读:105来源:国知局
动态插值的FPGA工程方法、装置、存储介质和终端与流程
动态插值的fpga工程方法、装置、存储介质和终端
技术领域
[0001]
本发明涉及图像处理技术领域,尤其涉及的是一种动态插值的fpga工程方法、装置、存储介质和终端。


背景技术:

[0002]
双线性插值,又称双线性内插。在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次性插值。如图1所示,q11、q12、q21和q22是函数f的4个已知数据点,其中q11=(x1,y1)、q12=(x1,y2)、q21=(x2,y1)、q22=(x2,y2),假如我们想得到未知函数f在点p=(x,y)的值。
[0003]
第一步:x方向的线性插值,在点q12、点q22之间插入点r2,在点q11、点q21之间插入点r1,得到:。
[0004]
第二步:y方向的线性插值,通过第一步计算出的r1与r2在y方向上插值计算出p点。
[0005]

[0006]
双线性插值作为数值分析中的一种插值算法,广泛应用在信号处理、数字图像和视频处理等方面。在双相机方案的内窥镜摄像系统中,当两个相机sensor(探测光传感器)版面大小不一致时,需要用fpga对其中一个相机的图像进行裁剪再双线性插值放大,并且由于装配工艺的问题,在实际操作中,该双线性插值放大的具体倍数是需要根据两个相机图像细节的重合度不断调试才能确定的。
[0007]
如图2所示,一开始上电初始化后,上游的数据读取模块a会将宽w0高h0的初始化图像数据传给下游的双线性插值放大模块b,b模块将图像数据放大到1920*1080后推送给输出显示模块c显示。当控制总线接收到改变参数的指令,将新的参数发送给a、b模块,a模块读取传送新的宽w1高h1图像数据给b模块,b模块再将其放大到1920*1080后输出显示。
[0008]
由于fpga是并行流数据操作,图像数据是逐行逐列传送而非一整副图像传送。当控制总线传送新的图像宽高参数给a、b模块时,a、b模块不会立即响应新的参数,而是等到下一帧起始点到来才响应新的参数。因此在实际工程操作中,如果控制总线与a、b模块没有协调一致,会出现如下两种技术缺陷情况,如图3所示:1、当传送进b模块的数据宽高小于应当放大的数据宽高,根据双线性插值的原理,插值放大到某一行的p点时,会出现无q12和q22数据,这时因为b模块的输出数据中断而c模块一直停留输出最后一帧图像,fpga工程表现为输出视频冻结住。
[0009]
2、当传送进b模块的数据宽高大于应当放大的数据宽高,根据双线性插值的原理,插值放大到某一列的p点时,会出现使用的部分或全部q点值不是所需的q点值,会导致插值放大后的图像细节不正确。
[0010]
因此,现有的技术还有待于改进和发展。


技术实现要素:

[0011]
本发明的目的在于提供一种动态插值的fpga工程方法、装置、存储介质和终端,既能保证双相机方案正常的1080p@50hz高清输出,又能实现双线性插值参数的动态变换。
[0012]
本发明的技术方案如下:一种动态插值的fpga工程方法,其中,具体包括以下步骤:接收新图像参数;根据新图像参数计算得到新像素和;将新像素和与由旧图像参数计算得到的旧像素和作比较,若新像素和大于等于旧像素和,先将新图像参数传送给数据读取模块,等待若干帧间隔后,再将新图像参数传送给双线性插值放大模块;若新像素和小于旧像素和,先将新图像参数传送给双线性插值放大模块,等待若干帧间隔后,再将新图像参数传送给数据读取模块;将新图像参数分别赋值给旧图像参数,使新图像参数覆盖旧图像参数。
[0013]
所述的动态插值的fpga工程方法,其中,所述若干帧间隔一般不大于10帧图像帧间隔。
[0014]
所述的动态插值的fpga工程方法,其中,所述若干帧间隔为2帧图像帧间隔。
[0015]
所述的动态插值的fpga工程方法,其中,像素和通过以下公式计算得到:s=w*h,其中w为图像的宽,h为图像的高。
[0016]
所述的动态插值的fpga工程方法,其中,所述接收新图像参数,具体过程如下:接收根据串口指令发送过来的新图像参数,解析串口指令。
[0017]
一种动态插值的fpga工程装置,其中,包括:参数接收模块,接收新图像参数;像素和计算模块,根据新图像参数计算得到新像素和;比较模块,将新像素和与由旧图像参数计算得到的旧像素和作比较;参数传送模块,若新像素和大于等于旧像素和,先将新图像参数传送给数据读取模块,等待若干帧间隔后,再将新图像参数传送给双线性插值放大模块;若新像素和小于旧像素和,先将新图像参数传送给双线性插值放大模块,等待若干帧间隔后,再将新图像参数传送给数据读取模块;参数覆盖模块,将新图像参数分别赋值给旧图像参数,使新图像参数覆盖旧图像参数。
[0018]
所述的动态插值的fpga工程装置,其中,所述参数接收模块采用fpga的内部控制总线实现。
[0019]
所述的动态插值的fpga工程装置,其中,所述参数传送模块采用fpga的内部控制总线实现。
[0020]
一种存储介质,其中,所述存储介质中存储有计算机程序,当所述计算机程序在计
算机上运行时,使得所述计算机执行上述任一项所述的方法。
[0021]
一种终端设备,其中,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行上述任一项所述的方法。
[0022]
本发明的有益效果:本发明通过提供一种动态插值的fpga工程方法、装置、存储介质和终端,在新旧参数切换过程中,始终保持数据读取模块实际传输给双线性插值放大模块的数据量大于双线性插值放大模块所需的数据量,不但在fpga工程上实现双线性插值参数的动态变换,解决双相机方案在生产装配过程中图像重合度的调试问题,还有效保证内窥镜摄像系统的运行稳定,避免用户使用时更换摄像头调整图像参数而出现系统输出画面卡死冻结的情况;本技术方案过程简洁高效,无需重构双线性插值放大模块和数据读取模块的代码;特别适用在双相机方案的内窥镜摄像系统中,既能保证双相机方案正常的1080p@50hz高清输出,又能实现双线性插值参数的动态变换。
附图说明
[0023]
图1是现有技术中双线性插值过程示意图。
[0024]
图2是现有技术双相机方案的内窥镜摄像系统中双线性插值放大示意图。
[0025]
图3是现有技术中控制总线与双线性插值放大模块、数据读取模块没有协调一致时的技术缺陷示意图。
[0026]
图4是本发明中动态插值的fpga工程方法的步骤流程图。
[0027]
图5是本发明中动态插值的fpga工程装置示意图。
[0028]
图6是本发明中终端示意图。
具体实施方式
[0029]
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0030]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0031]
如图4所示,一种动态插值的fpga工程方法,假设当相机装配人员觉得两个相机图像细节重合度不够时,通过串口指令发送新的图像参数给fpga(field programmable gate array,现场可编程门阵列),fpga解析指令后将新参数给到内部控制总线,具体包括以下步骤:s1:控制总线接收到新图像参数w1、h1,计算像素和s1=w1*h1,并将s1与与之前已经存储在fpga内的由旧图像参数w0、h0计算得到的像素和s0=w0*h0作比较。
[0032]
s2:当s1 ≥ s0时,控制总线先将新图像参数w1、h1传送给数据读取模块,等待若
干帧间隔后,控制总线再将新图像参数w1、h1传送给双线性插值放大模块。
[0033]
s3:当s1 < s0时,控制总线先将新图像参数w1、h1传送给双线性插值放大模块,等待若干帧间隔后,控制总线再将新图像参数w1、h1传送给数据读取模块。
[0034]
s4:将新的图像参数w1、h1分别赋值给w0、h0,使新参数覆盖旧参数。
[0035]
本技术方案在新旧参数切换过程中,始终保持数据读取模块实际传输给双线性插值放大模块的数据量大于双线性插值放大模块所需的数据量。
[0036]
在某些具体实施例中,根据人肉眼可以识别的范围,所述若干帧间隔一般不大于10帧帧间隔。根据多次试验总结,所述若干帧间隔取2帧帧间隔时,图像的显示效果最佳。
[0037]
以1080p@50hz高清视频为例,帧间隔为20ms,在2帧等待时间(即40ms)内,传送进双线性插值放大模块的实际数据量大于所需数据量,则会出现如背景技术中第2点提到的技术缺陷情况,即出现插值放大后的图像细节不正确的问题;但采用本技术方案后,该情况仅维持2帧时间,40ms后传送的数据量恢复正常所需数据量,这细节差异对人眼来说无法察觉。
[0038]
由于在新旧参数切换过程中,始终保持实际传送给传送进双线性插值放大模块的数据量大于传送进双线性插值放大模块所需的数据量,则不会出现如背景技术中第1点提到的技术缺陷情况,这有效避免了内窥镜摄像系统在运行过程中出现画面卡死冻结住的灾难性后果。
[0039]
如图5所示,一种动态插值的fpga工程装置,包括:参数接收模块101,接收新图像参数;像素和计算模块102,根据新图像参数计算得到新像素和;比较模块103,将新像素和与由旧图像参数计算得到的旧像素和作比较;参数传送模块104,若新像素和大于等于旧像素和,先将新图像参数传送给数据读取模块,等待若干帧间隔后,再将新图像参数传送给双线性插值放大模块;若新像素和小于旧像素和,先将新图像参数传送给双线性插值放大模块,等待若干帧间隔后,再将新图像参数传送给数据读取模块;参数覆盖模块105,将新图像参数分别赋值给旧图像参数,使新图像参数覆盖旧图像参数。
[0040]
请参照图6,本发明实施例还提供一种终端。如示,终端300包括处理器301和存储器302。其中,处理器301与存储器302电性连接。处理器301是终端300的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或调用存储在存储器302内的计算机程序,以及调用存储在存储器302内的数据,执行终端的各种功能和处理数据,从而对终端300进行整体监控。
[0041]
在本实施例中,终端300中的处理器301会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器302中,并由处理器301来运行存储在存储器302中的计算机程序,从而实现各种功能:接收新图像参数;根据新图像参数计算得到新像素和;将新像素和与由旧图像参数计算得到的旧像素和作比较,若新像素和大于等于旧像素和,先将新图像参数传送给数据读取模块,等待若干帧间隔后,再将新图像参数传送给双线性插值放大模块;若新像素和小于旧像素和,先将新图像参数传送给双线性插值放大模块,等待若干帧间隔后,再将新图像参数传送给数据读取模块;将新图像参数分别赋值给旧
图像参数,使新图像参数覆盖旧图像参数。
[0042]
存储器302可用于存储计算机程序和数据。存储器302存储的计算机程序中包含有可在处理器中执行的指令。计算机程序可以组成各种功能模块。处理器301通过调用存储在存储器302的计算机程序,从而执行各种功能应用以及数据处理。
[0043]
本申请实施例提供一种存储介质,所述计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的方法,以实现以下功能:接收新图像参数;根据新图像参数计算得到新像素和;将新像素和与由旧图像参数计算得到的旧像素和作比较,若新像素和大于等于旧像素和,先将新图像参数传送给数据读取模块,等待若干帧间隔后,再将新图像参数传送给双线性插值放大模块;若新像素和小于旧像素和,先将新图像参数传送给双线性插值放大模块,等待若干帧间隔后,再将新图像参数传送给数据读取模块;将新图像参数分别赋值给旧图像参数,使新图像参数覆盖旧图像参数。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory, 简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory, 简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory, 简称eprom),可编程只读存储器(programmable red-only memory, 简称prom),只读存储器(read-only memory, 简称rom),磁存储器,快闪存储器,磁盘或光盘。
[0044]
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0045]
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0046]
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0047]
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0048]
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1