基于窗口运算的数据处理方法、系统以及装置的制造方法

文档序号:10656811阅读:514来源:国知局
基于窗口运算的数据处理方法、系统以及装置的制造方法
【专利摘要】一种基于窗口运算的数据处理方法,包括:获取并缓存设置的窗口的高度参数H与宽度参数W;根据所缓存的参数配置所述窗口的尺寸;读取数据输入帧;在所述读取数据输入帧的过程中,若获取到的所述窗口的高度参数H和宽度参数W改变,则分别更新并缓存所述窗口的高度参数H和宽度参数W为新的参数H’和W’;以及根据所更新的参数重新配置所述窗口的尺寸。本发明还提供一种基于窗口运算的数据处理系统和装置、以及存储器。本发明所述数据处理方法可动态配置领域窗口的大小,从而可灵活配置参与比较图像像素的个数与位置,具有灵活性强、实时性好、资源可重用性强的优点。
【专利说明】
基于窗口运算的数据处理方法、系统从及装置
技术领域
[0001] 本发明设及数据处理技术,特别设及一种基于窗口运算的数据处理方法、系统W 及装置。
【背景技术】
[0002] 图像中边缘的自动检测是机器视觉研究领域里的一个重要环节。非极大值抑制是 进行边缘检测的重要步骤,通俗意义上是指寻找像素点局部最大值。为提高系统处理图像 的速度,满足系统实时性的要求,常使用如现场可编程口阵列FPGA(Field-Programmable Gate Array )进行图像预处理。具体地,在FPGA上实现非极大值抑制,并利用滑动窗口进行 流水处理,从而大大提高非极大值抑制的计算效率。
[0003] 然而,当前在FPGA上实现非极大值抑制时,滑动窗口通常是固定大小的,但当多个 模块都需要做非极大值抑制,且进行非极大值抑制的邻域大小不同,或同一个模块实现非 极大值抑制时需要根据其内容调整邻域大小时,运样的设计就十分不灵活,且资源可重用 性也不高。

【发明内容】

[0004] 有鉴于此,有必要提出一种基于窗口运算的数据处理方法、系统W及装置,W解决 上述问题。
[0005] -种基于窗口运算的数据处理方法,包括: 获取并缓存设置的窗口的高度参数H与宽度参数W; 根据所缓存的参数配置所述窗口的尺寸; 读取数据输入帖; 在所述读取数据输入帖的过程中,若获取到的所述窗口的高度参数H和宽度参数W改 变,则分别更新并缓存所述窗口的高度参数H和宽度参数W为新的参数H'和r; W及 根据所更新的参数重新配置所述窗口的尺寸。
[0006] 进一步地,所述读取数据输入帖步骤,具体包括:读取图像数据输入帖。
[0007] 进一步地,在所述读取数据输入帖之后,还包括: 在读取到当前输入帖的第H行第W列像素的数据之后,输出所读取的所述当前输入帖的 数据; 根据配置的所述窗口的尺寸输出相应的窗口; W及 在所述窗口内对输出的所述当前输入帖的数据进行数据处理。
[000引进一步地,所述数据处理方法还包括步骤:当获取到的所述窗口的高度参数H与宽 度参数W改变时,若所述输入帖的当前图像数据未读取完毕,则继续读取当前图像数据,并 继续在当前输出的所述窗口中对所述当前图像数据进行数据处理。
[0009]进一步地,所述数据处理方法还包括步骤: 当获取到的所述窗口的高度参数H与宽度参数W改变时,若所述输入帖的当前图像数据 已经读取完毕,则读取下一图像的数据; 在读取到所述下一图像的第H'行第W'列像素的数据之后,输出所读取的所述下一图像 的数据; 根据重新配置的所述窗口的尺寸输出新的窗口; W及 在所述新的窗口内对输出的所述下一图像的数据进行数据处理。
[0010] 进一步地,在所述窗口内对输出的所述输入帖的当前图像数据进行数据处理步骤 之后,还包括: 将所述计算结果连同相应的所述高度参数和宽度参数一并输出。
[0011] 进一步地,所述获取并缓存设置的窗口的高度参数H与宽度参数W,根据所缓存的 参数配置所述窗口的尺寸步骤具体包括: 获取所述图像数据输入帖中包括的每个图像数据所对应的窗口配置参数H和W,根据所 述参数配置所述窗口的尺寸。
[0012] 进一步地,获取所述图像数据中一并携带的配置参数H和W。
[0013] 进一步地,获取所述图像数据,并根据所述图像数据获取预存的对应的配置参数H 和W。
[0014] 进一步地,所述数据处理为非极大值抑制处理、FAST(Features From Accelerated Se卵ent Test)运算或高斯滤波运算。
[0015] 进一步地,在读取数据输入帖的图像数据之前还包括: 根据所缓存的窗口的高度参数在FPGA中配置片上RAM的数量;W及 根据所缓存的窗口的宽度参数配置每一所述片上RAM的存储深度。
[0016] 进一步地,所读取的输入帖中的图像数据的行像素个数等于所配置的所述片上 RAM的存储深度。
[0017] 进一步地,所读取的输入帖中的图像数据按行循环存储在所配置的所述片上RAM 中。
[001引进一步地,在所述FPGA中配置的片上RAM的数量至少为存储的窗口的高度参数减 O
[0019] 进一步地,所述窗口的高度参数与宽度参数缓存于寄存器中。
[0020] 一种基于窗口运算的数据处理系统,应用于FPGA中。所述数据处理系统包括: 读取模块,用于获取设置的窗口的高度参数H与宽度参数WW及读取数据输入帖; 控制模块,用于将获取的所述高度参数H与宽度参数W缓存于寄存单元中;W及 配置模块,用于根据所缓存的参数配置所述窗口的尺寸; 其中,在所述读取数据输入帖的过程中,当所述读取模块获取到的所述窗口的高度参 数H和宽度参数W改变时,所述控制模块还用于分别更新所述窗口的高度参数H和宽度参数W 为新的参数H'和r,并将更新后的参数缓存于所述寄存单元中;W及 所述配置模块还用于根据所更新的参数重新配置所述窗口的尺寸。
[0021 ]进一步地,所述读取模块所读取的数据输入帖为图像数据输入帖。
[0022]进一步地,所述数据处理系统还包括: 输出模块,用于在所述读取模块读取到输入帖的当前图像数据的第H行第W列像素的数 据之后,输出所读取的所述输入帖的当前图像数据,W及用于根据配置的所述窗口的尺寸 输出相应的窗口; W及 数据处理模块,用于在所述窗口内对输出的所述输入帖的当前图像数据进行数据处 理。
[0023] 进一步地,当所述读取模块获取到的所述窗口的高度参数H与宽度参数W改变时, 若所述输入帖的当前图像数据未读取完毕,则所述读取模块继续读取当前图像数据,且所 述数据处理模块继续在当前输出的所述窗口中对所述当前图像数据进行数据处理。
[0024] 进一步地,当所述读取模块获取到的所述窗口的高度参数H与宽度参数W改变时, 若所述读取模块读取完所述输入帖的当前图像数据,则所述读取模块读取下一图像的数 据; 所述读取模块读取到下一图像的第H'行第W'列像素的数据之后,所述输出模块输出所 述读取模块读取的所述下一图像的数据,并根据重新配置的所述窗口的尺寸输出新的窗 口;W及 所述数据处理模块还用于在所述新的窗口内对输出的所述下一图像的数据进行数据 处理。
[0025] 进一步地,所述输出模块还用于在所述数据处理之后将所述计算结果连同相应的 所述高度参数和宽度参数一并输出。
[0026] 进一步地,所述读取模块具体用于获取所述图像数据输入帖中包括的每个图像数 据所对应的窗口配置参数H和W,所述配置模块根据所述参数配置所述窗口的尺寸。
[0027] 进一步地,所述读取模块具体还用于获取所述图像数据中一并携带的配置参数H 和W。
[0028] 进一步地,所述读取模块具体还用于获取所述图像数据,并根据所述图像数据获 取预存的对应的配置参数H和W。
[0029] 进一步地,所述数据处理为非极大值抑制处理、FAST运算或高斯滤波运算。
[0030] 进一步地,所述配置模块还用于根据所缓存的窗口的高度参数在FPGA中配置片上 RAM的数量,W及根据所缓存的窗口的宽度参数配置每一所述片上RAM的存储深度。
[0031] 进一步地,所述读取模块所读取的输入帖中的图像数据的行像素个数等于所配置 的所述片上RAM的存储深度。
[0032] 进一步地,所述输出模块还用于将所输出的输入帖中的图像数据按行循环存储在 所配置的所述片上RAM中。
[0033] 进一步地,所述配置模块在所述FPGA中配置的所述片上RAM的数量至少为存储的 窗口的高度参数减一。
[0034] 进一步地,所述片上RAM的类型为片上双口 RAM或片上单口 RAM。
[0035] 一种基于窗口运算的数据处理装置,包括: 处理器W及存储装置,所述处理器用于: 获取设置的窗口的高度参数H与宽度参数W; 将获取的所述高度参数H与宽度参数W缓存于所述存储装置中;W及 根据所缓存的参数配置所述窗口的尺寸并读取数据输入帖; 其中,在所述读取数据输入帖的过程中,当所述处理器获取到的所述窗口的高度参数H 和宽度参数W改变时,所述处理器还用于: 分别更新所述窗口的高度参数H和宽度参数W为新的参数H'和W',并将更新后的参数缓 存于所述存储装置中;W及 根据所更新的参数重新配置所述窗口的尺寸。
[0036] 进一步地,所述处理器读取的数据输入帖为图像数据输入帖。
[0037] 进一步地,所述处理器还用于: 在读取到输入帖的当前图像数据的第H行第W列像素的数据之后,输出所读取的所述输 入帖的当前图像数据,W及用于根据配置的所述窗口的尺寸输出相应的窗口; W及 在所述窗口内对输出的所述输入帖的当前图像数据进行数据处理。
[0038] 进一步地,所述处理器还用于当获取到的所述窗口的高度参数H与宽度参数W改变 时,若所述输入帖的当前图像数据未读取完毕,则继续读取当前图像数据,并继续在当前输 出的所述窗口中对所述当前图像数据进行数据处理。
[0039] 进一步地,所述处理器还用于: 当获取到的所述窗口的高度参数H与宽度参数W改变时,若读取完所述输入帖的当前图 像数据,则读取下一图像的数据; 在读取到下一图像的第H'行第W'列像素的数据之后,输出所读取的所述下一图像的数 据,并根据重新配置的所述窗口的尺寸输出新的窗口; W及 在所述新的窗口内对输出的所述下一图像的数据进行数据处理。
[0040] 进一步地,所述处理器还用于在所述数据处理后将所述计算结果连同相应的所述 高度参数和宽度参数一并输出。
[0041] 进一步地,所述处理器具体还用于获取所述图像数据输入帖中包括的每个图像数 据所对应的窗口配置参数H和W,W及根据所述参数配置所述窗口的尺寸。
[0042] 进一步地,所述处理器具体还用于获取所述图像数据中一并携带的配置参数H和 W。
[0043] 进一步地,所述处理器具体还用于获取所述图像数据,并根据所述图像数据获取 预存的对应的配置参数H和W。
[0044] 进一步地,所述数据处理为非极大值抑制处理、FAST运算或高斯滤波运算。
[0045] 进一步地,所述存储装置包括片上RAM,所述处理器还用于根据所缓存的窗口的高 度参数在FPGA中配置片上RAM的数量,W及根据所缓存的窗口的宽度参数配置每一所述片 上RAM的存储深度。
[0046] 进一步地,所述处理器所读取的输入帖中的图像数据行像素个数等于所配置的所 述片上RAM的存储深度。
[0047] 进一步地,所述处理器还用于将所读取的输入帖中的图像数据按行循环存储在所 配置的所述片上RAM中。
[004引进一步地,所述处理器在所述FPGA中配置的所述片上RAM的数量至少为存储的窗 口的高度参数减一。
[0049] 进一步地,所述片上RAM的类型为片上双口 RAM或片上单口 RAM。
[0050] 进一步地,所述存储装置包括寄存器,所述寄存器用于缓存所述窗口的高度参数 与宽度参数。
[0051 ] -种存储器,用于存储程序指令,所述程序指令可被处理器获取并执行,W实现上 述的数据处理方法。
[0052] 本发明的所述基于窗口运算的数据处理方法,可动态配置领域窗口的大小,从而 可灵活配置参与比较图像像素的个数与位置,具有灵活性强、实时性好、资源可重用性强的 优点。
【附图说明】
[0053] 图1是本发明一实施例的一种基于窗口运算的数据处理方法的流程图。
[0054] 图2是本发明一实施例的一种按预定规则输入的图像数据存储格式的示意图。
[0055] 图3是本发明另一实施例的一种基于窗口运算的数据处理方法的流程图。
[0056] 图4是本发明实施例的一种基于窗口运算的数据处理装置的结构示意图,所述数 据处理装置包括一数据处理系统。
[0057] 图5是图4中的数据处理系统的功能模块图。
[005引丰要元件符号说明
如下【具体实施方式】将结合上述附图进一步说明本发明。
【具体实施方式】
[0059] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0060] 本发明实施例提供一种基于窗口运算的数据处理方法,所述数据处理方法包括: 获取并缓存设置的窗口的高度参数H与宽度参数W,根据所缓存的参数配置所述窗口的尺 寸,读取数据输入帖。在所述读取数据输入帖的过程中,若获取到的所述窗口的高度参数H 和宽度参数W改变,则分别更新并缓存所述窗口的高度参数H和宽度参数W为新的参数H'和 W',W及根据所更新的参数重新配置所述窗口的尺寸。
[0061] 在其中一些实施例中,所述读取数据输入帖步骤具体包括:读取图像数据输入帖。
[0062] 在其中一些实施例中,在所述读取数据输入帖之后,还包括:在读取到输入帖的当 前图像数据的第H行第W列像素的数据之后,输出所读取的所述输入帖的当前图像数据,根 据配置的所述窗口的尺寸输出相应的窗口,W及在所述窗口内对输出的所述输入帖的当前 图像数据进行数据处理。
[0063] 在其中一些实施例中,所述数据处理方法还包括步骤:当获取到的所述窗口的高 度参数H与宽度参数W改变时,若所述输入帖的当前图像数据未读取完毕,则继续读取当前 图像数据,并继续在当前输出的所述窗口中对所述当前图像数据进行数据处理。
[0064] 在其中一些实施例中,所述数据处理方法还包括步骤:当获取到的所述窗口的高 度参数H与宽度参数W改变时,若所述输入帖的当前图像数据已经读取完毕,则读取下一图 像的数据;在读取到所述下一图像的第H'行第W'列像素的数据之后,输出所读取的所述下 一图像的数据;根据重新配置的所述窗口的尺寸输出新的窗口; W及在所述新的窗口内对 输出的所述下一图像的数据进行数据处理。
[0065] 本发明实施例还提供一种基于窗口运算的数据处理系统,应用于FPGA中。所述数 据处理系统包括读取模块、控制模块、W及配置模块,其中,所述读取模块用于获取设置的 窗口的高度参数H与宽度参数WW及读取数据输入帖。所述控制模块用于将获取的所述高度 参数H与宽度参数W缓存于寄存单元中。所述配置模块用于根据所缓存的参数配置所述窗口 的尺寸。其中,在所述读取数据输入帖的过程中,当所述读取模块获取到的所述窗口的高度 参数H和宽度参数W改变时,所述控制模块还用于分别更新所述窗口的高度参数H和宽度参 数W为新的参数H'和W',并将更新后的参数缓存于所述寄存单元中。所述配置模块还用于根 据所更新的参数重新配置所述窗口的尺寸。
[0066] 在其中一些实施例中,所述读取模块所读取的数据输入帖为图像数据输入帖。
[0067] 本发明实施例还提供一种基于窗口运算的数据处理装置,包括处理器W及存储装 置。所述处理器用于:获取设置的窗口的高度参数H与宽度参数W;将获取的所述高度参数H 与宽度参数W缓存于所述存储装置中;W及根据所缓存的参数配置所述窗口的尺寸并读取 数据输入帖。其中,在所述读取数据输入帖的过程中,当所述处理器获取到的所述窗口的高 度参数H和宽度参数W改变时,所述处理器还用于分别更新所述窗口的高度参数H和宽度参 数W为新的参数H'和r,并将更新后的参数缓存于所述存储装置中,W及根据所更新的参数 重新配置所述窗口的尺寸。
[0068] 本发明实施例还提供一种存储器,用于存储程序指令,所述程序指令可被处理器 获取并执行,W实现W上所述的数据处理方法。
[0069] 具体地,请参阅图1,是本发明实施例的一种基于窗口运算的数据处理方法100的 流程图。应说明的是,本发明实施例的所述方法并不限于图1所示的流程图中的步骤及顺 序。根据不同的实施例,图1所示的流程图中的步骤可W增加、移除、或者改变顺序。在本实 施方式中,所述数据处理方法100可W从步骤101开始。
[0070] 步骤101,获取并缓存设置的窗口的高度参数H与宽度参数W。
[0071 ]在本实施方式中,所述窗口的高度参数与宽度参数缓存于寄存器中。
[0072] 步骤102,根据所缓存的参数配置所述窗口的尺寸。
[0073] 在本实施方式中,所述数据处理方法100还包括: 根据所缓存的窗口的高度参数在FPGA中配置片上RAM的数量;W及 根据所缓存的窗口的宽度参数配置每一所述片上RAM的存储深度。
[0074] 在本实施方式中,如图2所示,在所述FPGA中配置的片上RAM的数量为存储的窗口 的高度参数减一或与所述窗口的高度参数相等。其中,所述片上RAM的类型为片上双口RAM 或片上单口 RAM。
[0075] 可W理解,所述片上RAM的数量也可W为其他值,如大于所述高度参数或片上RAM 的数量为1。当片上RAM数量为1时,所述数据可W通过处理后存储于一个RAM上。
[0076] 步骤103,读取数据输入帖。
[0077] 在本实施方式中,所述读取数据输入帖步骤,具体包括: 读取图像数据输入帖。
[0078] 可W理解,所述数据也可为其他数据,本实施例中W图像数据为例进行说明。
[0079] 在本实施方式中,在所述窗口内对读取的输入帖的当前图像数据进行数据处理。
[0080] 步骤104,在所述读取数据输入帖的过程中,若获取到的所述窗口的高度参数H和 宽度参数W改变,则分别更新并缓存所述窗口的高度参数H和宽度参数W为新的参数H'和r。 [0081 ]在本实施方式中,当获取到的所述窗口的高度参数H和宽度参数W改变时,若所述 输入帖的当前图像数据已经读取完毕,则所述数据处理方法100才分别更新并缓存所述窗 口的高度参数H和宽度参数W为新的参数H'和W',并依照新的参数H'和W'读取下一图像数 据。具体地,在读取到所述下一图像的第H'行第W'列像素的数据之后,输出所读取的所述下 一图像的数据。
[0082] 可W理解,当所述输入帖的当前图像数据未读取完毕时,也可先缓存所述新的参 数H'和W'。
[0083] 在本实施方式中,所述数据处理方法100具体还包括步骤:当获取到的所述窗口的 高度参数H与宽度参数W改变时,若所述输入帖的当前图像数据未读取完毕,则继续读取当 前图像数据,并继续在当前输出的所述窗口中对所述当前图像数据进行数据处理。也就是 说,在读取输入帖的当前图像数据的过程中,保持所缓存的高度参数和宽度参数不变。
[0084] 步骤105,根据所更新的参数重新配置所述窗口的尺寸。
[0085] 在当前图像数据读取完成之后,根据更新的参数重新配置所述窗口,并依照新的 参数H'和r读取下一图像数据。
[0086] 在所述重新配置的窗口内对读取的下一图像数据进行数据处理。
[0087] 在所述数据处理之后,将所述计算结果连同相应的所述高度参数和宽度参数一并 输出。具体地,如将所述计算结果连同相应的高度参数和宽度参数一并写入交互的接口中, 如DDR存储或寄存器、软件终端、软件查询等交互过程或元件中,W便后续处理时使用。
[0088] 请参阅图3,所示为本发明另一实施例所示的基于窗口运算的数据处理方法300, 所述数据处理方法300包括: 步骤301,获取并缓存设置的窗口的高度参数H与宽度参数W。
[0089] 步骤302,根据所缓存的参数配置所述窗口的尺寸。
[0090] 步骤303,读取数据输入帖。
[0091 ]在本实施方式中,所述读取数据输入帖步骤,具体包括: 读取图像数据输入帖,当然也可读取其他数据输入帖。
[0092]步骤304,在读取到输入帖的当前图像数据的第H行第W列像素的数据之后,输出所 读取的所述输入帖的当前图像数据。也就是说,所述输入帖包括多张图像数据,每次读取一 张图像数据并输出一组H行W列的数据。
[0093] 其中,在获取该输入帖中的图像数据时,可根据每个图像数据的ID等信息获取预 存的对应的配置参数H和W。或者,所述图像数据中一并携带所述配置参数H和W,从而在读取 所述图像数据时可获取所述配置参数H和W。
[0094] 具体地,如一帖数据包括十张图片,每张图片由于像素大小等差异所配置的参数H 和W也存在差异。故在每读取相应图片时,根据该图片信息中包含的配置参数H和W配置窗口 大小,或获取该图片的ID等信息,然后根据该信息获取与该图片对应的预存的配置参数W 便配置窗口大小。所述每张图片所对应的配置参数H和W可W为根据一定算法设定的参数或 人为根据需要设置的参数。当读取一帖数据时,每读取其中的一张图片,则相应更新一次窗 口配置。
[0095] 在本实施方式中,输出的所述输入帖的图像数据缓存于所述片上RAM中。其中,所 读取的图像数据的行像素个数等于所配置的所述片上RAM的存储深度,且所输出的输入帖 的图像数据按行循环存储在所配置的所述片上RAM中。
[0096] 步骤305,根据配置的所述窗口的尺寸输出相应的窗口,并在所述窗口内对输出的 所述输入帖的当前图像数据进行数据处理。
[0097] 步骤306,在所述读取数据输入帖的过程中,若获取到的所述窗口的高度参数H和 宽度参数W改变,则分别更新并缓存所述窗口的高度参数H和宽度参数W为新的参数H'和r。
[0098] 在本实施方式中,当获取到的所述窗口的高度参数H和宽度参数W改变时,若所述 输入帖的当前图像数据已经读取完毕,则所述数据处理方法300才分别更新并缓存所述窗 口的高度参数H和宽度参数W为新的参数H'和W',并依照新的参数H'和W'读取下一图像数 据。具体地,在读取到所述下一图像的第H'行第W'列像素的数据之后,输出所读取的所述下 一图像的数据。
[0099] 可W理解,当所述输入帖的当前图像数据未读取完毕时,也可先缓存所述新的参 数H'和W'。
[0100] 在本实施方式中,所述数据处理方法300具体还包括步骤:当获取到的所述窗口的 高度参数H与宽度参数W改变时,若所述输入帖的当前图像数据未读取完毕,则继续读取当 前图像数据,并继续在当前输出的所述窗口中对所述当前图像数据进行数据处理。也就是 说,在读取输入帖的当前图像数据的过程中,保持所缓存的高度参数和宽度参数不变。
[0101] 步骤307,根据所更新的参数重新配置所述窗口的尺寸。
[0102] 在当前图像数据读取完成之后,根据更新的参数重新配置所述窗口。
[0103] 步骤308,读取下一图像数据。
[0104] 在本实施方式中,依照新的参数H'和r读取下一图像数据。
[0105] 步骤309,在读取到所述下一图像数据的第H'行第r列像素的数据之后,输出所读 取的所述下一图像数据。
[0106] 步骤310,根据重新配置的所述窗口的尺寸输出新的窗口,W及在所述新的窗口内 对输出的所述下一图像数据进行数据处理。
[0107] 在所述数据处理之后,将所述计算结果连同相应的所述高度参数和宽度参数一并 输出。
[0108] 可W理解的是,在所述读取输入帖的图像数据的过程中,若读取到的所述窗口的 高度参数H和宽度参数W未改变,且所述输入帖的当前图像数据已经读取完毕时,则继续读 取下一图像数据,并继续在当前输出的所述窗口中对所述下一图像数据进行数据处理。
[0109] 在本实施方式中,所述数据处理可为非极大值抑制处理、FASlXFeatures From Accelerated Se卵ent Test)运算或高斯滤波运算。
[0110] 可W理解的是,所述数据处理方法可应用于基于窗口运算的多种数据处理领域 中,W实现领域窗口大小的动态配置,而不限定于应用在图像数据处理中,即不限定于对图 像数据做非极大值抑制处理、FAST运算或高斯滤波运算。
[0111] 本发明的所述基于窗口运算的数据处理方法,在基于FPGA为控制核屯、的硬件电路 上实现基于非极大值抑制技术的数据处理,可动态配置领域窗口的大小,即利用寄存器改 变非极大值抑制时中屯、点的领域窗口大小,从而可灵活配置参与比较图像像素的个数与位 置,具有灵活性强、实时性好、资源可重用性强的优点。
[0112] 请参阅图4,是本发明实施例的一种基于窗口运算的数据处理装置20的结构示意 图。在本实施方式中,所述数据处理装置20包括,但不限于,处理器21W及存储装置22。其 中,所述存储装置22用于存储所述数据处理装置20的各类数据。所述存储装置22可W是所 述数据处理装置20的内存、RAM、寄存器等,还可W是可移除的存储装置,例如可移除媒体 卡、外置U盘、及其他闪存或存储器。所述处理器21用于控制所述数据处理装置20工作。所述 处理器21可为中央处理器(Cen化al Processing化it, CPU)、微处理器、数字信号处理器 或其他数据处理忍片。
[0113] 在本实施方式中,所述数据处理装置20还包括数据处理系统23,所述数据处理系 统23W软件程序或指令的形式设置在所述存储装置22中,并可由所述处理器21获取并执 行。在本实施方式中,所述数据处理系统23可W被分割成一个或多个模块,所述一个或多个 模块被存储在所述存储装置22中并被配置成由一个或多个处理器(本实施例为一个处理器 21)执行,所述数据处理装置20利用所述数据处理系统23可动态配置领域窗口的大小,从而 可灵活配置参与比较数据的个数与位置。
[0114] 请参阅图5,是本发明实施例的数据处理装置20中的数据处理系统23的功能模块 图。所述数据处理系统23包括,但不限于,读取模块231、控制模块232及配置模块233。上述 各功能模块是能够完成特定功能的一系列程序指令段,比软件程序本身更适合于描述软件 在计算机中的执行过程,如在所述数据处理装置20的处理器21中执行,因此本发明对软件 程序的描述都W模块描述。另外,上述各功能模块亦可W由硬件、固件(firmware)等方式实 现。
[0115] 在本实施方式中,所述读取模块231用于获取设置的窗口的高度参数H与宽度参数 W。
[0116] 在本实施方式中,所述存储装置22包括寄存器,所述控制模块232用于将获取的所 述高度参数H与宽度参数W缓存于所述寄存器中。
[0117] 所述配置模块233用于根据所缓存的参数配置所述窗口的尺寸。
[0118] 在本实施方式中,所述存储装置22还包括RAM,所述配置模块233还用于根据所缓 存的窗口的高度参数在FPGA中配置片上RAM的数量,W及根据所缓存的窗口的宽度参数配 置每一所述片上RAM的存储深度。
[0119] 在本实施方式中,如图2所示,所述配置模块233在所述FPGA中配置的片上RAM的数 量为存储的窗口的高度参数减一或与所述窗口的高度参数相等。其中,所述片上RAM的类型 为片上双口 RAM或片上单口 RAM。
[0120] 可W理解,所述片上RAM的数量也可W为其他值,如大于所述高度参数或片上RAM 的数量为1。当片上RAM数量为1时,所述数据可W通过处理后存储于一个RAM上。
[0121] 所述读取模块231还用于读取数据输入帖。在本实施方式中,W图像数据输入帖为 例对所述数据输入帖进行阐述。在其他实施方式中,所述数据输入帖可为其他类型的数据 输入帖,例如视频或音频数据输入帖。
[0122] 在本实施方式中,所述数据处理系统23进一步还包括输出模块234W及数据处理 模块235。
[0123] 所述输出模块234用于在所述读取模块231读取到输入帖的当前图像数据的第H行 第W列像素的数据之后,输出所读取的所述当前图像数据。也就是说,所述输入帖包括多张 图像数据,每次读取一张图像数据并输出一组H行W列的数据。
[0124] 其中,所述读取模块231在获取该输入帖中的图像数据时,可根据每个图像数据的 ID等信息获取预存的对应的配置参数H和W。或者,所述图像数据中一并携带所述配置参数H 和W,从而所述读取模块231在读取所述图像数据时可获取所述配置参数H和W。
[0125] 具体地,如一帖数据包括十张图片,每张图片由于像素大小等差异所配置的参数H 和W也存在差异。故在每读取相应图片时,根据该图片信息中包含的配置参数H和W配置窗口 大小,或获取该图片的ID等信息,然后根据该信息获取与该图片对应的预存的配置参数W 便配置窗口大小。所述每张图片所对应的配置参数H和W可W为根据一定算法设定的参数或 人为根据需要设置的参数。当读取一帖数据时,每读取其中的一张图片,则相应更新一次窗 口配置。
[0126] 在本实施方式中,所述读取模块231所读取的输入帖的图像数据的行像素个数等 于所配置的所述片上RAM的存储深度。所述输出模块234还用于将所输出的输入帖的图像数 据按行循环存储在所配置的所述片上RAM中。
[0127] 在本实施方式中,所述输出模块234还用于根据配置的所述窗口的尺寸输出相应 的窗口。所述数据处理模块235用于在所述窗口内对输出的所述输入帖的当前图像数据进 行数据处理。
[0128] 进一步地,在所述读取数据输入帖的过程中,当所述读取模块231获取到的所述窗 口的高度参数H和宽度参数W改变时,所述控制模块232还用于分别更新所述窗口的高度参 数H和宽度参数W为新的参数H'和W',并将更新后的参数缓存于所述寄存单元中。
[0129] 在本实施方式中,在获取到的所述窗口的高度参数H和宽度参数W改变,且所述输 入帖的当前图像数据已经读取完毕时,所述控制模块232才分别更新并缓存所述窗口的高 度参数H和宽度参数W为新的参数H'和W',并依照新的参数H'和W'读取下一图像数据。具体 地,在所述读取模块231读取到所述下一图像的第H'行第W'列像素的数据之后,所述输出模 块234输出所读取的所述下一图像的数据。
[0130] 可W理解,当所述输入帖的当前图像数据未读取完毕时,所述新的参数H'和W'也 可先缓存。
[0131 ]在本实施方式中,当所述窗口的高度参数H与宽度参数W改变时,若所述输入帖的 当前图像数据未读取完毕,则所述读取模块231继续读取当前图像数据,且所述数据处理模 块235继续在当前输出的所述窗口中对所述当前图像数据进行数据处理。也就是说,在读取 输入帖的当前图像数据的过程中,保持所缓存的高度参数和宽度参数不变。
[0132] 所述配置模块233还用于根据所更新的参数重新配置所述窗口的尺寸。所述输出 模块234还用于当所述窗口的高度参数H与宽度参数W改变时,若所述读取模块231已读取完 所述输入帖的当前图像数据,则读取到下一图像数据的第H'行第W'列像素的数据之后,输 出所读取的所述下一图像数据,W及根据重新配置的所述窗口的尺寸输出新的窗口。所述 数据处理模块235还用于在所述新的窗口内对输出的所述下一图像数据进行数据处理。
[0133] 在所述数据处理之后,所述输出模块234还用于将所述计算结果连同相应的所述 高度参数和宽度参数一并输出。
[0134] 可W理解的是,在所述读取模块231读取输入帖的图像数据的过程中,若获取到的 所述窗口的高度参数H和宽度参数W未改变,且所述输入帖的当前图像数据已经读取完毕 时,则所述读取模块231继续读取下一图像数据,所述数据处理模块235继续在当前输出的 所述窗口中对所述下一图像数据进行数据处理。
[0135] 在本实施方式中,所述数据处理可为非极大值抑制处理、或FAST(Fea化res From Accelerated Se卵ent Test)运算或高斯滤波运算。
[0136] 可W理解的是,所述数据处理系统23可应用于基于窗口运算的多种数据处理领域 中,W实现领域窗口大小的动态配置,而不限定于应用在图像数据处理中,即不限定于对图 像数据做非极大值抑制处理、FAST运算或高斯滤波运算。
[0137] 本发明的所述基于窗口运算的数据处理系统23,在基于FPGA为控制核屯、的硬件电 路上实现基于非极大值抑制技术的数据处理,可动态配置领域窗口的大小,即利用寄存器 改变非极大值抑制时中屯、点的领域窗口大小,从而可灵活配置参与比较图像像素的个数与 位置,具有灵活性强、实时性好、资源可重用性强的优点。
[0138] 需要说明的是,本发明实施例中所述数据处理系统23的各个功能模块的具体实现 可对应地参考上述图1对应实施例中相关步骤的描述。
[0139] 在本发明所提供的几个实施例中,应该理解到,所掲露的相关装置和方法,可W通 过其它的方式实现。例如,W上所描述的装置实施例仅仅是示意性的,例如,所述模块或单 元的划分,仅仅为一种逻辑功能划分,实际实现时可W有另外的划分方式,例如多个单元或 组件可W结合或者可W集成到另一个系统,或一些特征可W忽略,或不执行。另一点,所显 示或讨论的相互之间的禪合或直接禪合或通信连接可W是通过一些接口,装置或单元的间 接禪合或通信连接,可W是电性,机械或其它的形式。
[0140] 所述作为分离部件说明的单元可W是或者也可W不是物理上分开的,作为单元显 示的部件可W是或者也可W不是物理单元,即可W位于一个地方,或者也可W分布到多个 网络单元上。可W根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0141] 另外,在本发明各个实施例中的各功能单元可W集成在一个处理单元中,也可W 是各个单元单独物理存在,也可W两个或两个W上单元集成在一个单元中。上述集成的单 元既可W采用硬件的形式实现,也可W采用软件功能单元的形式实现。
[0142] 所述集成的单元如果W软件功能单元的形式实现并作为独立的产品销售或使用 时,可W存储在一个计算机可读取存储介质中。基于运样的理解,本发明的技术方案本质上 或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可WW软件产品的形式 体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用W使得计算机处理 器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包 括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memo巧)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可W存储程序代码的介质。
[0143] 最后应说明的是,W上实施例仅用W说明本发明的技术方案而非限制,尽管参照 较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可W对本发明的 技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
[0144] 本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权 所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该 专利披露。
【主权项】
1. 一种基于窗口运算的数据处理方法,其特征在于,包括: 获取并缓存设置的窗口的高度参数Η与宽度参数W; 根据所缓存的参数配置所述窗口的尺寸; 读取数据输入帧; 在所述读取数据输入帧的过程中,若获取到的所述窗口的高度参数Η和宽度参数W改 变,则分别更新并缓存所述窗口的高度参数Η和宽度参数W为新的参数Η'和W' ;以及 根据所更新的参数重新配置所述窗口的尺寸。2. 如权利要求1所述的基于窗口运算的数据处理方法,其特征在于,所述读取数据输入 帧步骤,具体包括: 读取图像数据输入帧。3. 如权利要求2所述的基于窗口运算的数据处理方法,其特征在于,在所述读取数据输 入帧之后,还包括: 在读取到输入帧的当前图像数据的第Η行第W列像素的数据之后,输出所读取的所述输 入帧的当前图像数据; 根据配置的所述窗口的尺寸输出相应的窗口;以及 在所述窗口内对输出的所述输入帧的当前图像数据进行数据处理。4. 如权利要求3所述的基于窗口运算的数据处理方法,其特征在于,所述数据处理方法 还包括步骤: 当获取到的所述窗口的高度参数Η与宽度参数W改变时,若所述输入帧的当前图像数据 未读取完毕,则继续读取当前图像数据,并继续在当前输出的所述窗口中对所述当前图像 数据进行数据处理。5. 如权利要求4所述的基于窗口运算的数据处理方法,其特征在于,所述数据处理方法 还包括步骤: 当获取到的所述窗口的高度参数Η与宽度参数W改变时,若所述输入帧的当前图像数据 已经读取完毕,则读取下一图像的数据; 在读取到所述下一图像的第Η'行第W'列像素的数据之后,输出所读取的所述下一图像 的数据; 根据重新配置的所述窗口的尺寸输出新的窗口;以及 在所述新的窗口内对输出的所述下一图像的数据进行数据处理。6. 如权利要求3所述的基于窗口运算的数据处理方法,其特征在于,在所述窗口内对输 出的所述输入帧的当前图像数据进行数据处理步骤之后,还包括: 将所述计算结果连同相应的所述高度参数和宽度参数一并输出。7. 如权利要求2所述的基于窗口运算的数据处理方法,其特征在于,所述获取并缓存设 置的窗口的高度参数Η与宽度参数W,根据所缓存的参数配置所述窗口的尺寸步骤具体包 括: 获取所述图像数据输入帧中包括的每个图像数据所对应的窗口配置参数Η和W,根据所 述参数配置所述窗口的尺寸。8. 如权利要求7所述的基于窗口运算的数据处理方法,其特征在于,获取所述图像数据 中一并携带的配置参数Η和W。9. 如权利要求7所述的基于窗口运算的数据处理方法,其特征在于,获取所述图像数 据,并根据所述图像数据获取预存的对应的配置参数Η和W。10. 如权利要求3-6中任意一项所述的基于窗口运算的数据处理方法,其特征在于,所 述数据处理为非极大值抑制处理、FAST(Features From Accelerated Segment Test)运算 或高斯滤波运算。11. 如权利要求3或5或7所述的基于窗口运算的数据处理方法,其特征在于,在读取数 据输入帧的图像数据之前还包括: 根据所缓存的窗口的高度参数在FPGA中配置片上RAM的数量;以及 根据所缓存的窗口的宽度参数配置每一所述片上RAM的存储深度。12. 如权利要求11所述的基于窗口运算的数据处理方法,其特征在于,所读取的输入帧 中的图像数据的行像素个数等于所配置的所述片上RAM的存储深度。13. 如权利要求12所述的基于窗口运算的数据处理方法,其特征在于,所读取的输入帧 中的图像数据按行循环存储在所配置的所述片上RAM中。14. 如权利要求11所述的基于窗口运算的数据处理方法,其特征在于,在所述FPGA中配 置的片上RAM的数量至少为存储的窗口的高度参数减一。15. 如权利要求11所述的基于窗口运算的数据处理方法,其特征在于,所述窗口的高度 参数与宽度参数缓存于寄存器中。16. -种基于窗口运算的数据处理系统,应用于FPGA中,其特征在于,所述数据处理系 统包括: 读取模块,用于获取设置的窗口的高度参数Η与宽度参数W以及读取数据输入帧; 控制模块,用于将获取的所述高度参数Η与宽度参数W缓存于寄存单元中;以及 配置模块,用于根据所缓存的参数配置所述窗口的尺寸; 其中,在所述读取数据输入帧的过程中,当所述读取模块获取到的所述窗口的高度参 数Η和宽度参数W改变时,所述控制模块还用于分别更新所述窗口的高度参数Η和宽度参数W 为新的参数Η'和W',并将更新后的参数缓存于所述寄存单元中;以及 所述配置模块还用于根据所更新的参数重新配置所述窗口的尺寸。17. 如权利要求16所述的基于窗口运算的数据处理系统,其特征在于,所述读取模块所 读取的数据输入帧为图像数据输入帧。18. 如权利要求17所述的基于窗口运算的数据处理系统,其特征在于,所述数据处理系 统还包括: 输出模块,用于在所述读取模块读取到输入帧的当前图像数据的第Η行第W列像素的数 据之后,输出所读取的所述输入帧的当前图像数据,以及用于根据配置的所述窗口的尺寸 输出相应的窗口;以及 数据处理模块,用于在所述窗口内对输出的所述输入帧的当前图像数据进行数据处 理。19. 如权利要求18所述的基于窗口运算的数据处理系统,其特征在于,当所述读取模块 获取到的所述窗口的高度参数Η与宽度参数W改变时,若所述输入帧的当前图像数据未读取 完毕,则所述读取模块继续读取当前图像数据,且所述数据处理模块继续在当前输出的所 述窗口中对所述当前图像数据进行数据处理。20. 如权利要求19所述的基于窗口运算的数据处理系统,其特征在于,当所述读取模块 获取到的所述窗口的高度参数Η与宽度参数W改变时,若所述读取模块读取完所述输入帧的 当前图像数据,则所述读取模块读取下一图像的数据; 所述读取模块读取到下一图像的第Η'行第W'列像素的数据之后,所述输出模块输出所 述读取模块读取的所述下一图像的数据,并根据重新配置的所述窗口的尺寸输出新的窗 口;以及 所述数据处理模块还用于在所述新的窗口内对输出的所述下一图像的数据进行数据 处理。21. 如权利要求18所述的基于窗口运算的数据处理系统,其特征在于,所述输出模块还 用于在所述数据处理之后将所述计算结果连同相应的所述高度参数和宽度参数一并输出。22. 如权利要求17所述的基于窗口运算的数据处理系统,其特征在于,所述读取模块具 体用于获取所述图像数据输入帧中包括的每个图像数据所对应的窗口配置参数Η和W,所述 配置模块根据所述参数配置所述窗口的尺寸。23. 如权利要求22所述的基于窗口运算的数据处理系统,其特征在于,所述读取模块具 体还用于获取所述图像数据中一并携带的配置参数Η和W。24. 如权利要求22所述的基于窗口运算的数据处理系统,其特征在于,所述读取模块具 体还用于获取所述图像数据,并根据所述图像数据获取预存的对应的配置参数Η和W。25. 如权利要求18-21中任意一项所述的基于窗口运算的数据处理系统,其特征在于, 所述数据处理为非极大值抑制处理、FAST运算或高斯滤波运算。26. 如权利要求18或20或22所述的基于窗口运算的数据处理系统,其特征在于,所述配 置模块还用于根据所缓存的窗口的高度参数在FPGA中配置片上RAM的数量,以及根据所缓 存的窗口的宽度参数配置每一所述片上RAM的存储深度。27. 如权利要求26所述的基于窗口运算的数据处理系统,其特征在于,所述读取模块所 读取的输入帧中的图像数据的行像素个数等于所配置的所述片上RAM的存储深度。28. 如权利要求27所述的基于窗口运算的数据处理系统,其特征在于,所述输出模块还 用于将所输出的输入帧中的图像数据按行循环存储在所配置的所述片上RAM中。29. 如权利要求26所述的基于窗口运算的数据处理系统,其特征在于,所述配置模块在 所述FPGA中配置的所述片上RAM的数量至少为存储的窗口的高度参数减一。30. 如权利要求26所述的基于窗口运算的数据处理系统,其特征在于,所述片上RAM的 类型为片上双口 RAM或片上单口 RAM。31. -种基于窗口运算的数据处理装置,包括: 处理器以及存储装置,所述处理器用于: 获取设置的窗口的高度参数Η与宽度参数W; 将获取的所述高度参数Η与宽度参数W缓存于所述存储装置中;以及 根据所缓存的参数配置所述窗口的尺寸并读取数据输入帧; 其中,在所述读取数据输入帧的过程中,当所述处理器获取到的所述窗口的高度参数Η 和宽度参数W改变时,所述处理器还用于: 分别更新所述窗口的高度参数Η和宽度参数W为新的参数Η'和W',并将更新后的参数缓 存于所述存储装置中;以及 根据所更新的参数重新配置所述窗口的尺寸。32. 如权利要求31所述的基于窗口运算的数据处理装置,其特征在于,所述处理器读取 的数据输入帧为图像数据输入帧。33. 如权利要求32所述的基于窗口运算的数据处理装置,其特征在于,所述处理器还用 于: 在读取到输入帧的当前图像数据的第Η行第W列像素的数据之后,输出所读取的所述输 入帧的当前图像数据,以及用于根据配置的所述窗口的尺寸输出相应的窗口;以及 在所述窗口内对输出的所述输入帧的当前图像数据进行数据处理。34. 如权利要求33所述的基于窗口运算的数据处理装置,其特征在于,所述处理器还用 于当获取到的所述窗口的高度参数Η与宽度参数W改变时,若所述输入帧的当前图像数据未 读取完毕,则继续读取当前图像数据,并继续在当前输出的所述窗口中对所述当前图像数 据进行数据处理。35. 如权利要求34所述的基于窗口运算的数据处理装置,其特征在于,所述处理器还用 于: 当获取到的所述窗口的高度参数Η与宽度参数W改变时,若读取完所述输入帧的当前图 像数据,则读取下一图像的数据; 在读取到下一图像的第Η'行第W'列像素的数据之后,输出所读取的所述下一图像的数 据,并根据重新配置的所述窗口的尺寸输出新的窗口;以及 在所述新的窗口内对输出的所述下一图像的数据进行数据处理。36. 如权利要求33所述的基于窗口运算的数据处理装置,其特征在于,所述处理器还用 于在所述数据处理后将所述计算结果连同相应的所述高度参数和宽度参数一并输出。37. 如权利要求32所述的基于窗口运算的数据处理装置,其特征在于,所述处理器具体 还用于获取所述图像数据输入帧中包括的每个图像数据所对应的窗口配置参数Η和W,以及 根据所述参数配置所述窗口的尺寸。38. 如权利要求37所述的基于窗口运算的数据处理装置,其特征在于,所述处理器具体 还用于获取所述图像数据中一并携带的配置参数Η和W。39. 如权利要求37所述的基于窗口运算的数据处理装置,其特征在于,所述处理器具体 还用于获取所述图像数据,并根据所述图像数据获取预存的对应的配置参数Η和W。40. 如权利要求33-36中任意一项所述的基于窗口运算的数据处理装置,其特征在于, 所述数据处理为非极大值抑制处理、FAST运算或高斯滤波运算。41. 如权利要求33或35或37所述的基于窗口运算的数据处理装置,其特征在于,所述存 储装置包括片上RAM,所述处理器还用于根据所缓存的窗口的高度参数在FPGA中配置片上 RAM的数量,以及根据所缓存的窗口的宽度参数配置每一所述片上RAM的存储深度。42. 如权利要求41所述的基于窗口运算的数据处理装置,其特征在于,所述处理器所读 取的输入帧中的图像数据行像素个数等于所配置的所述片上RAM的存储深度。43. 如权利要求42所述的基于窗口运算的数据处理装置,其特征在于,所述处理器还用 于将所读取的输入帧中的图像数据按行循环存储在所配置的所述片上RAM中。44. 如权利要求41所述的基于窗口运算的数据处理装置,其特征在于,所述处理器在所 述FPGA中配置的所述片上RAM的数量至少为存储的窗口的高度参数减一。45. 如权利要求41所述的基于窗口运算的数据处理装置,其特征在于,所述片上RAM的 类型为片上双口 RAM或片上单口 RAM。46. 如权利要求31所述的基于窗口运算的数据处理装置,其特征在于,所述存储装置包 括寄存器,所述寄存器用于缓存所述窗口的高度参数与宽度参数。47. -种存储器,用于存储程序指令,所述程序指令可被处理器获取并执行,以实现权 利要求1-5中任意一项所述的数据处理方法。
【文档编号】G06T1/20GK106023062SQ201610336834
【公开日】2016年10月12日
【申请日】2016年5月20日
【发明人】王启光, 杨康, 高明明
【申请人】深圳市大疆创新科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1