本发明属于图像目标检测领域,更具体地,涉及一种用于图像目标检测的协处理器调用方法和系统。
背景技术:
在图像目标检测领域,随着图像分辨率提高,导致计算量增大,同时各个领域都对图像目标检测的实时性有了更高的要求,巨大的计算量以及对计算速度的要求,使得图像目标检测技术依靠软件方法难以实现,当前多采用硬件加速的方法来提高计算速度,已达到满足实时性要求的情况下完成准确的图像目标检测。
当前图像目标检测硬件加速系统中,利用硬件电路可以并行运算的特性实现对图像处理的加速是一种常用的方法。一般由用户端(dsp/cpu)将图像数据输入硬件加速电路进行图像的预处理,由硬件加速电路输出处理结果至用户端进行进一步处理。当前,出现了一种集成有多个具有图像预处理的功能ip模块的协处理器,每个功能ip模块都是一个可以实现特定的图像处理流程(灰度形态学滤波、直方图统计、连通域标记与特征值统计等)的硬件加速电路,由用户端调用协处理器的不同的功能ip模块可以实现对不同的图像处理流程的加速。因此用户端可以通过灵活调用协处理器中不同的功能ip模块对不同的算法流程进行加速,大大提高了硬件加速架构的灵活性和通用性,同时,用户端可以通过调用空闲状态的功能ip模块工作,实现功能ip模块之间的并行工作,提高硬件加速架构的工作速度。
但是这种集成有多个功能ip模块并且各个功能ip模块可灵活调用的协处理器存在以下问题:在由用户端调用工作时,还未形成规范、有效的调用方法;用户端在调用多个功能ip模块并行工作以提高硬件加速的效率时,需要考虑各个功能ip模块之间相关性问题,即调用的功能ip模块需要等待其他正在工作的功能ip模块的运算结果;协调功能ip模块需要多组数据来源时数据传输的问题。
技术实现要素:
针对现有技术的以上缺陷或改进需求,本发明提供了一种用于图像目标检测的协处理器调用方法和系统,其目的在于,对集成有多个功能ip模块且各个功能ip模块可灵活调用的协处理器提供一种规范、有效的调用方法,以实现多个功能ip模块的并行工作。
为实现上述目的,按照本发明的一个方面提供了一种用于图像目标检测的协处理器调用方法,包括:
用户端采用预设格式的主命令包调用协处理器中不同的功能ip模块进行图像预处理;
主命令包包括;主命令编号、当前ip编号、前序ip编号、数据来源、数据去向和参数数据;
主命令编号,用于为主命令包进行编号;当前ip编号,用于指定主命令包调用的功能ip模块;前序ip编号,用于在前序ip编号对应的功能ip模块工作完成后,调用当前ip编号对应的功能ip模块;数据来源,表示当前ip编号调用的功能ip模块所需图像数据的来源;数据去向,表示当前ip编号调用的功能ip模块处理结果的接收对象;参数数据,用于对当前ip编号调用的功能ip模块进行参数配置。
进一步地,主命令包还包括:主命令包头、地址格式、图像数据和主命令包尾;
主命令包头为主命令包的起始标志;地址格式,用于在当前ip编号调用的功能ip模块所需图像数据的来源或处理结果的接收对象为存储器数据块时,指定访问存储器数据块的地址格式;图像数据,用于传送主命令包调用的功能ip模块工作所需的一组图像数据;主命令包尾,为主命令包的结束标志;主命令包头和主命令包尾共同用于保证主命令包在用户端和协处理器间的同步。
进一步地,当主命令包调用的功能ip模块需要多组图像数据时,用户端还需向协处理器发送多个副命令包;每个副命令包包括:副命令包头、副命令编号、ip编号、图像数据和副命令包尾;
副命令编号和ip编号与主命令包中的主命令编号和当前ip编号对应相同;
图像数据,用于向主命令包调用的功能ip模块提供其工作所需的其他单组图像数据。
进一步地,协处理器包括多个功能ip模块,且各个功能ip模块根据用户端的调用命令进行工作。
按照本发明的另一方面提供了一种用于图像目标检测的协处理器调用系统,包括:
主命令包传送模块,用于将用户端提供的设定格式的主命令包发送至协处理器,以调用协处理器中不同的功能ip模块进行图像预处理;
主命令包包括;主命令编号、当前ip编号、前序ip编号、数据来源、数据去向和参数数据;
主命令编号,用于为主命令包进行编号;当前ip编号,用于指定主命令包调用的功能ip模块;前序ip编号,用于在前序ip编号对应的功能ip模块工作完成后,调用当前ip编号对应的功能ip模块;数据来源,表示当前ip编号调用的功能ip模块所需图像数据的来源;数据去向,表示当前ip编号调用的功能ip模块处理结果的接收对象;参数数据,用于对当前ip编号调用的功能ip模块进行参数配置。
进一步地,主命令包还包括:主命令包头、地址格式、图像数据和主命令包尾;
主命令包头为主命令包的起始标志;地址格式,用于在当前ip编号调用的功能ip模块所需图像数据的来源或处理结果的接收对象为存储器数据块时,指定访问存储器数据块的地址格式;图像数据,用于传送主命令包调用的功能ip模块工作所需的一组图像数据;主命令包尾,为主命令包的结束标志;主命令包头和主命令包尾共同用于保证主命令包在用户端和协处理器间的同步。
进一步地,当主命令包调用的功能ip模块需要多组图像数据时,系统还包括多个副命令包传送模块;每个副命令包传送模块用于将用户端提供的设定格式的副命令包发送至协处理器,以向主命令包调用的功能ip模块提供其工作所需的其他单组图像数据;
副命令包包括:副命令包头、副命令编号、ip编号、图像数据和副命令包尾;
副命令编号和ip编号与主命令包中的主命令编号和当前ip编号对应相同。
进一步地,协处理器包括多个功能ip模块,且各个功能ip模块根据用户端的调用命令进行工作
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明在主命令包中添加前序ip编号,在用户端连续调用多个功能ip模块时,只有当前序ip编号对应的功能ip模块工作完成后,才会调用当前ip编号对应的功能ip模块工作,解决了各个功能ip模块相关性的问题,实现协处理器内多个功能ip模块的并行工作。
(2)本发明提出的命令包格式规范、简单,便于用户端对协处理器中不同的功能ip模块的简单高效调用。
(3)本发明通过副命令包的形式简化了需要多个图像数据来源的功能ip模块的调用方式。
(4)本发明的命令包格式中,主命令包设置包头和包尾,保证了用户端和协处理器的命令同步;副命令包设置与主命令包对应相同的命令编号与当前ip编号,保证了副命令包与主命令包的同步。
附图说明
图1为本发明实施例提供的在有多个功能ip模块协处理器上应用的主命令包格式。
图2为本发明实施例提供的协处理器上应用的副命令包格式。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明实施例提供了一种用于图像目标检测的协处理器调用方法,包括:用户端采用预设格式的主命令包调用协处理器中不同的功能ip模块进行图像预处理;如图1所示,主命令包包括;包头、命令编号、当前ip编号、前序ip编号、数据来源、数据去向、地址格式、参数数据、图像数据和包尾;包头为主命令包的起始标志;命令编号,用于为主命令包进行编号;当前ip编号,用于指定主命令包调用的功能ip模块;前序ip编号,用于在前序ip编号对应的功能ip模块工作完成后,调用当前ip编号对应的功能ip模块;若前序ip号为可扩展协处理器控制部件,则表明当前ip可以立即开始工作;数据来源,表示当前ip编号调用的功能ip模块所需图像数据的来源;数据去向,表示当前ip编号调用的功能ip模块处理结果的接收对象;地址格式,用于在当前ip编号调用的功能ip模块所需图像数据的来源或处理结果的接收对象为存储器数据块时,指定访问存储器数据块的地址格式;若数据来源和数据去向不是存储器,则该组数据无效;参数数据,用于对当前ip编号调用的功能ip模块进行参数配置;图像数据,用于传送主命令包调用的功能ip模块工作所需的图像数据;包尾,为主命令包的结束标志;包头和包尾,分别由两个特定的数据组成,共同用于保证主命令包在用户端和协处理器间的同步。
当主命令包调用的功能ip模块需要多组图像数据时,用户端还需向协处理器发送多个副命令包;如图2所示,每个副命令包包括:包头、命令编号、当前ip编号、图像数据和包尾;其中,命令编号和当前ip编号与主命令包中的命令编号和当前ip编号对应相同;图像数据,用于向主命令包调用的功能ip模块提供其工作所需的其他单个图像数据。
本发明方法所针对的协处理器包括多个功能ip模块,且各个功能ip模块可被用户端的命令灵活调用。
本发明实施例另一方面还提供了一种用于图像目标检测的协处理器调用系统,包括:主命令包传送模块,用于将用户端提供的设定格式的主命令包发送至协处理器,以调用协处理器中不同的功能ip模块进行图像预处理;主命令包包括;包头、命令编号、当前ip编号、前序ip编号、数据来源、数据去向、地址格式、参数数据、图像数据和包尾;包头为主命令包的起始标志;命令编号,用于为主命令包进行编号;当前ip编号,用于指定主命令包调用的功能ip模块;前序ip编号,用于在前序ip编号对应的功能ip模块工作完成后,调用当前ip编号对应的功能ip模块;若前序ip号为可扩展协处理器控制部件,则表明当前ip可以立即开始工作;数据来源,表示当前ip编号调用的功能ip模块所需图像数据的来源;数据去向,表示当前ip编号调用的功能ip模块处理结果的接收对象;地址格式,用于在当前ip编号调用的功能ip模块所需图像数据的来源或处理结果的接收对象为存储器数据块时,指定访问存储器数据块的地址格式;若数据来源和数据去向不是存储器,则该组数据无效;参数数据,用于对当前ip编号调用的功能ip模块进行参数配置;图像数据,用于传送主命令包调用的功能ip模块工作所需的图像数据;包尾,为主命令包的结束标志;包头和包尾,分别由两个特定的数据组成,共同用于保证主命令包在用户端和协处理器间的同步。
当主命令包调用的功能ip模块需要多组图像数据时,上述系统还包括多个副命令包传送模块;每个副命令包传送模块用于将用户端提供的设定格式的副命令包发送至协处理器,以向主命令包调用的功能ip模块提供其工作所需的其他单个图像数据;副命令包包括:包头、命令编号、当前ip编号、图像数据和包尾;命令编号和当前ip编号与主命令包中的命令编号和当前ip编号对应相同。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。