CN109961390A - 并行图像处理方法及系统 - Google Patents

并行图像处理方法及系统 Download PDF

Info

Publication number
CN109961390A
CN109961390A CN201810861410.3A CN201810861410A CN109961390A CN 109961390 A CN109961390 A CN 109961390A CN 201810861410 A CN201810861410 A CN 201810861410A CN 109961390 A CN109961390 A CN 109961390A
Authority
CN
China
Prior art keywords
moment
algorithm
image
image data
acquisition
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
Application number
CN201810861410.3A
Other languages
English (en)
Other versions
CN109961390B (zh
Inventor
王信红
沈斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vinno Technology Suzhou Co Ltd
Original Assignee
Vinno Technology Suzhou Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vinno Technology Suzhou Co Ltd filed Critical Vinno Technology Suzhou Co Ltd
Publication of CN109961390A publication Critical patent/CN109961390A/zh
Application granted granted Critical
Publication of CN109961390B publication Critical patent/CN109961390B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

本发明提供了一种一种并行图像处理方法,包括:于第一时刻采集图像数据;调度第一时刻采集的图像数据传送至待机的第一个处理线程;处理线程按算法的排列顺序依次调用算法对第一时刻采集的图像数据进行处理;在在第n时刻判断第一时刻采集的图像数据是否处理完毕;若第一时刻采集的图像未处理完毕,则继续采集图像数据;调度第n时刻采集的图像数据传送至待机的第n个处理线程;处理线程按算法的排列顺序依次调用算法对第n时刻采集的图像数据进行处理;若第一时刻采集的图像处理完毕,则停止采集图像数据,并将图像进行显示。

Description

并行图像处理方法及系统
技术领域
本发明提供了一种并行图像处理方法及系统,特别是一种能利用计算机空余资源的并行图像处理方法及系统。
背景技术
在图像处理过程中,一般会对采集到的原始图像数据进行若干处理,以消除噪声,提高对比度,或者提取关键信号,以满足不同行业的具体应用。每个处理过程可以称为一个算法,一般均是多个算法顺序执行,产生最终供显示的图像。
假定算法A的耗时为TA,算法B的耗时为TB,算法C的耗时为TC,采集的时间点为t1,t2,t3等,平均采集一副图像的时间间隔为T,则系统的采集帧频为1/T。那么如果要按照图像采集的速度显示最终图像,则要求图像处理的总耗时TA+TB+TC≤T。也就是说,“显示帧频”不能低于“采集帧频”,否则就会产生丢帧现象。为了达到这个目的,就需要对具体的算法进行优化,以确保所有算法的处理时间之和不能超出数据采集间隔。
另一个显而易见的要求为:图像必须按照采集时的时间顺序显示,比如t1时刻的图像必须比t2时刻的图像显示的早,否则图像显示不符合客观逻辑。
现有技术中,对于某个算法,会在算法内部对图像进行分块,每个小块交由一个处理线程或者GPU进行计算,加快处理速度。或者更简单的就是将图像逐行或者逐列分配给不同的处理线程或者GPU,任务调度模块等待所有行或者列处理完成后继续下个算法。
假设对于算法B进行了优化,使用3个线程并行计算,则理论上总耗时降低为TA+TB/3+TC。但是,不是所有的算法内部都能并行执行,这些算法在运行时只能使用一个CPU核心,用遍历的方式处理所有像素点。并且有些算法每个像素点是需要和像素点周围若干像素点进行平均,分块并行计算时边界处容易形成不连续的分界线。为了解决不连续现象,分块的图像就需要若干宽度或者高度的重叠,意思就是边界处重复计算,然后在合并时丢弃掉重叠部分,以消除或者减少分界线现象,随之带来的是计算资源的扩大和最终合成时的复杂。
发明内容
本发明针对现有技术存在的问题,其目的之一在于提供一种并行图像处理方法及系统。
为实现上述目的,本发明提供了一种并行图像处理方法,包括:
于第一时刻采集图像数据;
调度第一时刻采集的图像数据传送至待机的第一个处理线程;
处理线程按算法的排列顺序依次调用算法对第一时刻采集的图像数据进行处理;
在第二时刻判断第一时刻采集的图像数据是否处理完毕;
若未处理完毕,则继续采集图像数据;
调度第二时刻采集的图像数据传送至待机的第二个处理线程;
处理线程按算法的排列顺序依次调用算法对第二时刻采集的图像数据进行处理;
在第n时刻判断第一时刻采集的图像数据是否处理完毕;
若第一时刻采集的图像未处理完毕,则继续采集图像数据;
调度第n时刻采集的图像数据传送至待机的第n个处理线程;
处理线程按算法的排列顺序依次调用算法对第n时刻采集的图像数据进行处理;
若第一时刻采集的图像处理完毕,则停止采集图像数据,并将图像进行显示;
任意两个时刻之间的时间长度均小于每一处理线程的处理时间总长,n为≥1的整数。
作为本发明一实施例的进一步改进,所述算法包括时间相关算法及非时间相关算法。
作为本发明一实施例的进一步改进,若算法为非时间相关算法,所述“处理线程按算法的排列顺序依次调用算法对第n时刻采集的图像数据进行处理”包括:处理线程直接执行该处理算法。
作为本发明一实施例的进一步改进,若算法为时间相关算法,所述“处理线程按算法的排列顺序依次调用算法对第n时刻采集的图像数据进行处理”包括:
执行完该时间相关算法时,查看第n-1个处理线程中该时间相关算法的执行情况;
若第n-1个处理线程中该时间相关算法还没执行完,则阻塞当前线程,直至第n-1个处理线程的该时间相关算法已经执行完,第n个处理线程中该时间相关算法即执行完毕。
作为本发明一实施例的进一步改进,所述第一时刻、第二时刻至第n时刻相邻时刻之间间隔的时间长度一致。
为实现上述目的,本发明提供了一种并行图像处理系统,包括:
图像采集模块,用以在不同时刻采集图像;
任务调度模块,用以传送采集图像;
处理线程模块,包括n个处理线程,用以接收采集图像,并对采集图像进行处理;
算法模块,用以被所述处理线程模块调用并对采集图像进行处理,所述处理线程模块包括至少一个图像处理算法模块;
显示模块,用以显示最终图像。
作为本发明一实施例的进一步改进,所述并行图像处理系统还包括:时间同步器,用以对线程中的算法模块的处理时间进行控制。
本发明的有益效果:本发明可以在不改变具体算法内部执行逻辑的情况下,充分利用计算机的多线程空闲资源,简单稳定。并且可容许一个线程内所有算法总花费时间为数据采集时间的N倍,这样即可在处理链上增加更多的处理算法,或者使用更耗时但效果更好的算法,而无需担心系统的显示帧频降低。
附图说明
图1为本发明并行图像处理方法的流程图;
图2为本发明并行图像处理方法一种实施情况下的示意图;
图3为本发明并行图像处理方法另一种实施情况下的示意图。
具体实施方式
以下将结合附图所示的各实施例对本发明进行详细描述。但这些实施例并不限制本发明,本领域的普通技术人员根据这些实施例所做出的结构或功能上的变换均包含在本发明的保护范围内。
如图1至图3所示,本发明提供了一种并行图像处理方法,具体的,包括:
于第一时刻采集图像数据;
调度第一时刻采集的图像数据传送至待机的第一个处理线程;
处理线程按算法的排列顺序依次调用算法对第一时刻采集的图像数据进行处理;
在第二时刻判断第一时刻采集的图像数据是否处理完毕;
若未处理完毕,则继续采集图像数据;
调度第二时刻采集的图像数据传送至待机的第二个处理线程;
处理线程按算法的排列顺序依次调用算法对第二时刻采集的图像数据进行处理;
在第n时刻判断第一时刻采集的图像数据是否处理完毕;
若第一时刻采集的图像未处理完毕,则继续采集图像数据;
调度第n时刻采集的图像数据传送至待机的第n个处理线程;
处理线程按算法的排列顺序依次调用算法对第n时刻采集的图像数据进行处理;
若第一时刻采集的图像处理完毕,则停止采集图像数据,并将图像进行显示;
若第一时刻采集的图像还未处理完毕,则继续采集图像数据,并对图像继续进行处理;
其中,任意两个时刻之间的时间长度均小于每一处理线程的处理时间总长,n为≥1的整数。
并且,上述所述第一时刻、第二时刻至第n时刻相邻时刻之间间隔的时间长度一致,即图像采集的频率稳定。且每一线程中所采取的算法的种类和顺序均完全相同。
所述算法包括时间相关算法及非时间相关算法。若算法为非时间相关算法,所述“处理线程按算法的排列顺序依次调用算法对第n时刻采集的图像数据进行处理”包括:处理线程直接执行该处理算法。若算法为时间相关算法,所述“处理线程按算法的排列顺序依次调用算法对第n时刻采集的图像数据进行处理”包括:执行完该时间相关算法时,查看第n-1个处理线程中该时间相关算法的执行情况;若第n-1个处理线程中该时间相关算法还没执行完,则阻塞当前线程,直至第n-1个处理线程的该时间相关算法已经执行完,第n个处理线程中该时间相关算法即执行完毕。
即,当处理线程执行完某个时间相关算法时,需要监控上一个处理线程中该时间相关算法的执行情况,若还未执行结束,则等待至上一个处理线程中该时间相关算法执行完毕后,才算执行完毕。从而,可确保图像的处理顺序和显示顺序,防止后采集的图像在先显示的情况发生。
本发明还提供了一种并行图像处理系统,包括:
图像采集模块,用以在不同时刻采集图像;
任务调度模块,用以传送采集图像;
处理线程模块,包括n个处理线程,用以接收采集图像,并对采集图像进行处理;
算法模块,用以被所述处理线程模块调用并对采集图像进行处理,所述处理线程模块包括至少一个图像处理算法模块;
显示模块,用以显示最终图像。
并且,当所采用的算法为时间相关算法时,所述并行图像处理系统还包括:时间同步器,用以对线程中的算法模块的处理时间进行控制。
具体的,如图2至图3所示,首先,为了方便叙述,将采集图像的时间点定为t1,t2,t3,t4……,其中t1早于t2,依次类推,并且采集图像的时间间隔相等且均为T,从而采集的频帧为1/T。再将算法A的耗时记为为TA,算法B的耗时记为TB,算法C的耗时记为TC
具体的,如图2所示,若所采用的算法为非时间相关性算法,所述并行图像处理方法包括:
在t1时刻,将采集的图像分配给线程1执行;
在t2时刻,将采集的图像分配给线程2执行;
在t3时刻,将采集的图像分配给线程3执行;
在t4时刻,由于线程1中的图像处理已经完成,则线程1空闲,从而将采集到的图像重新分配给线程1执行。
在t1至t3时间段,不同算法按照顺序在不同的线程上并行运行。甚至同一算法也可以同时在不同的线程上运行,如图2中线程1的算法B还未执行完,线程2的算法B已经开始执行了。
在t4时刻,由于线程1已经完成工作,所以任务调度模块将采集的图像分配给线程1执行。
此过程依次重复。
从而,即使算法A、算法B、算法C的时间即TA+TB+TC>T(T=t2-t1),但是由于多个线程的参与,如本实施例中有3个线程,那么平均下来单位时间内的图像显示速度还是1/T。仅仅是图像显示的延时变为了TA+TB+TC。从而在不影响显示频帧的基础上,既可以利用计算机的空余资源,又可以采用需要时间更长的更难的算法模块。
但是由于计算机的线程调度并非严格和时间先后相关,很可能发生线程2执行的比线程1快的现象,因此,若采用的算法为时间相关算法,本发明通过时间同步器来解决这个问题。
具体的,如图3所示,以算法C为例,若算法C标记为“时间相关”的算法,当线程2的算法C执行时,它需要线程1的算法C提供输出图像,那么由“时间同步器”来确保就算线程1的算法C由于某种原因没有计算完,线程2的算法C也会等待直到线程1的算法C完成,然后使用将此结果应用到自己的算法逻辑中,完成线程2的算法C的输出。
类似的,图像显示也必须严格按照时间先后进行显示,在图3中,线程2的图像由“时间同步器”确保它会在线程1的图像显示后才显示。
综上,本发明可以在不改变具体算法内部执行逻辑的情况下,充分利用计算机的多线程空闲资源,简单稳定。并且可容许一个线程内所有算法总花费时间为数据采集时间的N倍(N为设定的并行计算线程数),这样即可在处理线程上增加更多的处理算法,或者使用更耗时但效果更好的算法,而无需担心系统的显示帧频降低。
以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的精神和范围。

Claims (7)

1.一种并行图像处理方法,其特征在于:包括:
于第一时刻采集图像数据;
调度第一时刻采集的图像数据传送至待机的第一个处理线程;
处理线程按算法的排列顺序依次调用算法对第一时刻采集的图像数据进行处理;
在第二时刻判断第一时刻采集的图像数据是否处理完毕;
若未处理完毕,则继续采集图像数据;
调度第二时刻采集的图像数据传送至待机的第二个处理线程;
处理线程按算法的排列顺序依次调用算法对第二时刻采集的图像数据进行处理;
在第n时刻判断第一时刻采集的图像数据是否处理完毕;
若第一时刻采集的图像未处理完毕,则继续采集图像数据;
调度第n时刻采集的图像数据传送至待机的第n个处理线程;
处理线程按算法的排列顺序依次调用算法对第n时刻采集的图像数据进行处理;
若第一时刻采集的图像处理完毕,则停止采集图像数据,并将图像进行显示;
任意两个时刻之间的时间长度均小于每一处理线程的处理时间总长,n为≥1的整数。
2.根据权利要求1所述的并行图像处理方法,其特征在于:所述算法包括时间相关算法及非时间相关算法。
3.根据权利要求2所述的并行图像处理方法,其特征在于:若算法为非时间相关算法,所述“处理线程按算法的排列顺序依次调用算法对第n时刻采集的图像数据进行处理”包括:处理线程直接执行该处理算法。
4.根据权利要求2所述的并行图像处理方法,其特征在于:若算法为时间相关算法,所述“处理线程按算法的排列顺序依次调用算法对第n时刻采集的图像数据进行处理”包括:
执行完该时间相关算法时,查看第n-1个处理线程中该时间相关算法的执行情况;
若第n-1个处理线程中该时间相关算法还没执行完,则阻塞当前线程,直至第n-1个处理线程的该时间相关算法已经执行完,第n个处理线程中该时间相关算法即执行完毕。
5.根据权利要求1所述的并行图像处理方法,其特征在于:所述第一时刻、第二时刻至第n时刻相邻时刻之间间隔的时间长度一致。
6.一种并行图像处理系统,其特征在于:包括:
图像采集模块,用以在不同时刻采集图像;
任务调度模块,用以传送采集图像;
处理线程模块,包括n个处理线程,用以接收采集图像,并对采集图像进行处理;
算法模块,用以被所述处理线程模块调用并对采集图像进行处理,所述处理线程模块包括至少一个图像处理算法模块;
显示模块,用以显示最终图像。
7.根据权利要求1所述的并行图像处理系统,其特征在于:所述并行图像处理系统还包括:时间同步器,用以对线程中的算法模块的处理时间进行控制。
CN201810861410.3A 2017-12-22 2018-08-01 并行图像处理方法及系统 Active CN109961390B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2017113996758 2017-12-22
CN201711399675.8A CN107886467A (zh) 2017-12-22 2017-12-22 一种并行图像处理方法及系统

Publications (2)

Publication Number Publication Date
CN109961390A true CN109961390A (zh) 2019-07-02
CN109961390B CN109961390B (zh) 2023-07-21

Family

ID=61772166

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201711399675.8A Pending CN107886467A (zh) 2017-12-22 2017-12-22 一种并行图像处理方法及系统
CN201810861410.3A Active CN109961390B (zh) 2017-12-22 2018-08-01 并行图像处理方法及系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201711399675.8A Pending CN107886467A (zh) 2017-12-22 2017-12-22 一种并行图像处理方法及系统

Country Status (1)

Country Link
CN (2) CN107886467A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468724A (zh) * 2020-11-26 2021-03-09 上海思客琦智能装备科技股份有限公司 一种基于相机回调函数及多线程技术的图像采集处理方法
CN114125299A (zh) * 2021-11-26 2022-03-01 凌云光技术股份有限公司 一种工业相机及其控制方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117687772B (zh) * 2023-07-31 2024-09-20 荣耀终端有限公司 一种算法调度方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050206920A1 (en) * 2004-03-01 2005-09-22 Satoshi Yamazaki Load assignment in image processing by parallel processing
CN103631568A (zh) * 2013-12-20 2014-03-12 厦门大学 面向医学图像的多线程并行计算方法
CN104168439A (zh) * 2013-05-17 2014-11-26 腾讯科技(深圳)有限公司 一种视频编码方法和装置
CN106447594A (zh) * 2016-08-17 2017-02-22 北京集创北方科技股份有限公司 图像处理装置及其方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050206920A1 (en) * 2004-03-01 2005-09-22 Satoshi Yamazaki Load assignment in image processing by parallel processing
CN104168439A (zh) * 2013-05-17 2014-11-26 腾讯科技(深圳)有限公司 一种视频编码方法和装置
CN103631568A (zh) * 2013-12-20 2014-03-12 厦门大学 面向医学图像的多线程并行计算方法
CN106447594A (zh) * 2016-08-17 2017-02-22 北京集创北方科技股份有限公司 图像处理装置及其方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468724A (zh) * 2020-11-26 2021-03-09 上海思客琦智能装备科技股份有限公司 一种基于相机回调函数及多线程技术的图像采集处理方法
CN114125299A (zh) * 2021-11-26 2022-03-01 凌云光技术股份有限公司 一种工业相机及其控制方法
CN114125299B (zh) * 2021-11-26 2023-10-10 凌云光技术股份有限公司 一种工业相机及其控制方法

Also Published As

Publication number Publication date
CN109961390B (zh) 2023-07-21
CN107886467A (zh) 2018-04-06

Similar Documents

Publication Publication Date Title
CN109961390A (zh) 并行图像处理方法及系统
RU2771008C1 (ru) Способ и устройство для обработки задач на основе нейронной сети
US20160132329A1 (en) Parallel processing in hardware accelerators communicably coupled with a processor
US20100058086A1 (en) Energy-efficient multi-core processor
Goossens et al. Gang FTP scheduling of periodic and parallel rigid real-time tasks
US20080022288A1 (en) Signal Processing Appatatus
US9244733B2 (en) Apparatus and method for scheduling kernel execution order
Weinstock et al. Time-decoupled parallel SystemC simulation
US10572399B2 (en) Memory request arbitration
US9250910B2 (en) Current change mitigation policy for limiting voltage droop in graphics logic
US10083066B2 (en) Processing data by using simultaneous multithreading
Hidri et al. Bounding strategies for the hybrid flow shop scheduling problem
CN111124626B (zh) 一种众核系统及其数据处理方法和处理装置
Wasly et al. Bundled scheduling of parallel real-time tasks
US7383426B2 (en) Processor employing loadable configuration parameters to reduce or eliminate setup and pipeline delays in a pipeline system
JP2014191655A (ja) マルチプロセッサ、電子制御装置、プログラム
Davidović et al. Parallel local search to schedule communicating tasks on identical processors
JP2012159920A (ja) マルチプロセッサ装置
Ward Relaxing resource-sharing constraints for improved hardware management and schedulability
Osborne et al. Simultaneous multithreading applied to real time
JP4950325B2 (ja) モンテカルロ法の効率的な並列処理手法
CN104572027A (zh) 基于多核处理器的哈里斯特征点检测并行实现方法
Lee et al. CPU-GPU hybrid computing for feature extraction from video stream
KR20070031307A (ko) 신호 스트림 처리 작업의 조합을 실행하기 위한 방법, 장치및 시스템, 실행 파라미터를 계산하는 방법 및 장치,컴퓨터 프로그램 제품
Berten et al. Sufficient ftp schedulability test for the non-cyclic generalized multiframe task model

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 215123 5th floor, building a, 4th floor, building C, No. 27, Xinfa Road, Suzhou Industrial Park, Jiangsu Province

Applicant after: Feiyinuo Technology (Suzhou) Co.,Ltd.

Address before: 215123 5th floor, building a, 4th floor, building C, No. 27, Xinfa Road, Suzhou Industrial Park, Jiangsu Province

Applicant before: VINNO TECHNOLOGY (SUZHOU) Co.,Ltd.

Address after: 215123 5th floor, building a, 4th floor, building C, No. 27, Xinfa Road, Suzhou Industrial Park, Jiangsu Province

Applicant after: Feiyinuo Technology Co.,Ltd.

Address before: 215123 5th floor, building a, 4th floor, building C, No. 27, Xinfa Road, Suzhou Industrial Park, Jiangsu Province

Applicant before: Feiyinuo Technology (Suzhou) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant