CN108475213A - 图像处理装置、图像处理方法和图像处理程序 - Google Patents

图像处理装置、图像处理方法和图像处理程序 Download PDF

Info

Publication number
CN108475213A
CN108475213A CN201680078715.6A CN201680078715A CN108475213A CN 108475213 A CN108475213 A CN 108475213A CN 201680078715 A CN201680078715 A CN 201680078715A CN 108475213 A CN108475213 A CN 108475213A
Authority
CN
China
Prior art keywords
processing
image
unit
image data
dependence
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
CN201680078715.6A
Other languages
English (en)
Other versions
CN108475213B (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.)
Fujifilm Corp
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Corp
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 Fuji Xerox Co Ltd, Fujifilm Corp filed Critical Fuji Xerox Co Ltd
Publication of CN108475213A publication Critical patent/CN108475213A/zh
Application granted granted Critical
Publication of CN108475213B publication Critical patent/CN108475213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Landscapes

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

Abstract

图像处理装置使得多个计算装置并行执行:更新处理,其中由多个图像处理模块按照DAG配置链接的对象群中的各个图像处理模块执行的图像处理被更新为用于对指示分割图像的各条分割图像数据执行图像处理的部分处理,所述分割图像通过将由输入图像数据指示的输入图像分割成多个部分区域而获得;应用处理,其中在链接的图像处理模块的部分处理之间应用处理依赖关系;以及能够基于依赖关系被执行的部分处理。

Description

图像处理装置、图像处理方法和图像处理程序
技术领域
本发明涉及图像处理装置、图像处理方法和图像处理程序。
背景技术
专利文献1公开了一种信息处理装置,其将表示程序模块的组合的图结构转换为通过分割各个分割输入数据的节点而获得的图结构,并且在完成先前节点的处理之后并行执行具有转换的图结构的节点的处理。
另外,非专利文献1和非专利文献2公开了一种根据由有向非循环图(DAG)表示的图像处理的执行顺序并行执行图像处理的技术。
在先技术文献
专利文献
专利文献1:日本专利第4965995号公报
非专利文献
非专利文献1:遅延モード画像処理フレームワーク,[在线],[2016年3月11日搜索],互联网<URL:http://www.isus.jp/article/library-special/deferred-mode-image-processing-framework/>
非专利文献2:The OpenVX Specification,[在线],[2016年3月11日搜索],互联网<URL:https://www.khronos.org/registry/vx/specs/1.0.1/OpenVX_Specification_1_0_1.pdf>
发明内容
发明要解决的技术问题
在针对所有对象执行将用于执行图像处理的对象按照DAG形式彼此连接的对象群的各个对象更新为多个部分处理的处理之后执行各个部分处理的情况下,在一些情况下对象群的图像处理会花费更多时间。
本发明的至少一个实施方式的目的在于提供一种图像处理装置、图像处理方法和图像处理程序,其与在针对所有对象执行将用于执行图像处理的对象按照DAG形式彼此连接的对象群的各个对象更新为多个部分处理的处理之后执行各个部分处理的情况相比,能够改进图像处理的处理速度。
问题的解决方案
[1]根据本发明的一方面,提供了一种通过以有向非循环图的形式连接多个对象而成的对象群中的各个对象来执行图像处理的图像处理装置。该图像处理装置包括:处理单元,该处理单元执行更新处理和赋予处理,所述更新处理是将所述对象群中的各个对象执行的图像处理更新为部分处理,所述部分处理是对表示分割图像的各分割图像数据执行图像处理,所述分割图像是将输入图像数据所表示的输入图像分割成多个部分区域而得的,所述赋予处理是在彼此连接的所述对象的所述部分处理之间赋予处理的依赖关系;以及控制单元,该控制单元执行控制以使得多个计算装置并行执行所述处理单元的所述更新处理和所述赋予处理以及基于所述依赖关系而变得能够执行的所述部分处理。
[2]在根据[1]所述的图像处理装置中,优选地,所述控制单元将针对所述对象群按照每个对象顺序地执行所述更新处理和所述赋予处理的任务存储在任务队列中,并且将基于所述依赖关系变得能够执行的所述部分处理顺序地存储在所述任务队列中,并且进行所述并行执行的控制,其中所述多个计算装置中的每一个从所述任务队列顺序地读取并执行所存储的任务。
[3]在根据[1]或[2]所述的图像处理装置中,优选地,在对多条输入图像数据连续地执行图像处理的情况下,所述处理单元进一步执行优先级赋予处理,该优先级赋予处理是对于对先输入的输入图像数据执行图像处理的部分处理,赋予比对后输入的输入图像数据执行图像处理的部分处理更高的优先级,并且在多个所述部分处理基于所述依赖关系而变得能够执行的情况下,所述控制单元进一步执行控制以按照所述优先级的降序执行所述部分处理。
[4]在根据[1]至[3]中的任一项所述的图像处理装置中,优选地,所述依赖关系是在彼此连接的所述对象之间,在前级连接的所述对象的部分处理完成的情况下,后级连接的所述对象的部分处理变得能够执行的关系。
[5]根据本发明的另一方面,提供了一种图像处理装置的图像处理方法,所述图像处理装置通过以有向非循环图的形式连接多个对象而成的对象群中的各个对象来执行图像处理。该图像处理方法包括以下步骤:执行控制以使得多个计算装置并行执行:更新处理和赋予处理,所述更新处理是将所述对象群中的各个对象执行的图像处理更新为部分处理,所述部分处理是对表示分割图像的各分割图像数据执行图像处理,所述分割图像是将输入图像数据所表示的输入图像分割成多个部分区域而得的,所述赋予处理是在彼此连接的所述对象的所述部分处理之间赋予处理的依赖关系;以及基于所述依赖关系而变得能够执行的所述部分处理。
[6]根据本发明的另一方面,提供了一种图像处理程序,其使得计算机作为根据[1]至[4]中的任一项所述的图像处理装置进行工作的处理单元和控制单元。
本发明的效果
根据[1]所述的装置、[5]所述的方法以及[6]所述的程序,与在针对所有对象执行将用于执行图像处理的对象按照DAG形式彼此连接的对象群中的各个对象更新为多个部分处理的处理之后执行各个部分处理的情况相比,可改进图像处理的处理速度。
根据[2]所述的装置,利用任务队列,可容易地改进图像处理的处理速度。
根据[3]所述的装置,在对多条输入图像数据连续地执行图像处理的情况下,可防止对稍后输入的输入图像数据的图像处理在对先前输入的输入图像数据的图像处理完成之前完成。
根据[4]所述的装置,可基于依赖关系可靠地确定部分处理是否可执行。
附图说明
图1是示出用作根据实施方式的图像处理装置的计算机的配置的示例的框图。
图2A是示出图像处理DAG的示例的示意图。
图2B是示出输入/输出存储器被添加到图像处理DAG的情况的示例的示意图。
图3是示出根据实施方式的处理控制单元的功能配置的示例的框图。
图4是用于说明输入图像的分割处理的示例的示意图。
图5是示出图像处理模块被分割成部分处理的图像处理DAG的示例的示意图。
图6是示出根据实施方式的DAG配置处理程序的处理流程的流程图。
图7是用于说明根据实施方式的DAG更新处理的示意图。
图8是示出根据实施方式的DAG更新处理程序的处理流程的流程图。
图9是用于说明最前级图像处理模块的部分处理的执行的示意图。
图10是示出根据实施方式的部分处理执行处理程序的处理流程的流程图。
图11是用于说明新近变得可执行的部分处理的执行的示意图。
图12是示出在对一条图像数据串行和并行执行用于更新图像处理DAG的任务和部分处理的情况下的执行时间的示例的示意图。
图13是示出在对多条图像数据串行和并行执行用于更新图像处理DAG的任务和部分处理的情况下的执行时间的示例的示意图。
具体实施方式
以下,将参照附图详细描述根据本发明的示例性实施方式。
首先,将参照图1描述用作图像处理装置的计算机10的配置。计算机10可以是复印机、打印机、传真机、具有这些装置的功能的多功能机或者包含在诸如扫描仪的执行图像处理的图像操纵装置中的计算机。另外,计算机10可以是诸如个人计算机(PC)的独立计算机,并且可以是包含在诸如个人数字助理(PDA)或移动电话的便携式装置中的计算机。
如图1所示,根据本示例性实施方式的计算机10包括计算单元12、存储器14、显示单元16、操作单元18、存储单元20、图像数据供给单元22和图像输出单元24。另外,计算单元12、存储器14、显示单元16、操作单元18、存储单元20、图像数据供给单元22和图像输出单元24中的各个单元经由总线26彼此连接。
根据本示例性实施方式的计算单元12是计算机10的主处理器,并且作为示例,是包括多个处理器内核13(以下称为“内核13”)的中央处理单元(CPU)。各个内核13是执行图像处理的计算装置的示例。在以下描述中,在区分各个内核13的情况下,如内核13A和内核13B中一样,在标号13的末尾添加字母。.
如上所述,在本示例性实施方式中,尽管描述了提供一个计算单元12的情况,本发明不限于此。可提供多个计算单元12。在提供多个计算单元12的情况下,所述多个计算单元12可以是相同类型的CPU或不同类型的CPU。另外,在提供多个计算单元12的情况下,所述多个计算单元12可包括图形处理单元(GPU)或者诸如现场可编程门阵列(FPGA)的计算装置。
存储器14是用于暂时地存储计算单元12的数据的非易失性存储装置。
在计算机10被包含在图像操纵装置中的情况下,作为显示单元16和操作单元18,例如,可使用设置在图像操纵装置上的诸如液晶显示器(LCD)、数字键等的显示面板。在计算机10是独立计算机的情况下,作为显示单元16和操作单元18,例如,可使用连接到计算机10的显示器、键盘、鼠标等。另外,显示单元16和操作单元18可以是通过将触摸面板和显示器集成而形成的触摸面板显示器等。另外,作为存储单元20,可使用诸如硬盘驱动器(HDD)、固态驱动器(SSD)或闪存的非易失性存储介质。
图像数据供给单元22可以是任何装置,只要图像数据供给单元供应图像数据作为处理目标即可。例如,可使用读取记录在记录材料(例如,纸张或照相胶片)上的图像并输出图像数据的图像读取单元。另外,作为图像数据供给单元22,例如,可使用经由通信线路从外部装置接收图像数据的接收单元以及存储图像数据的图像存储单元(存储器14或存储单元20)。
图像输出单元24可以是任何装置,只要图像输出单元输出经受图像处理的图像数据或者由经受图像处理的图像数据表示的图像。例如,作为图像输出单元,可使用将图像数据所表示的图像记录在记录材料(例如,纸张或感光材料)上的图像记录单元。另外,作为图像输出单元24,可使用将图像数据所表示的图像显示在显示器等上的显示单元(显示单元16)或者将图像数据写在诸如紧凑盘只读存储器(CD-ROM)的记录介质上的写入装置。另外,作为图像输出单元24,可使用经由通信线路将经受图像处理的图像数据发送到外部装置的传输单元。另外,图像输出单元24可以是存储经受图像处理的图像数据的图像存储单元(存储器14或存储单元20)。
如图1所示,存储单元20存储要由计算单元12执行的各种程序。存储单元20将操作系统30的程序存储为各种程序,所述程序包括用于资源管理的程序、用于程序执行管理的程序、用于计算机10与外部装置之间的通信的程序等。另外,存储单元20将使得计算机10用作图像处理装置的图像处理程序群34存储为各种程序。另外,存储单元20将使得图像处理装置执行期望的图像处理的各种应用程序群32(以下称为“应用32”)存储为各种程序。
图像处理程序群34包括为了在开发要由图像操纵装置、便携式装置、PC等执行的图像处理程序时减轻负荷而开发的程序。另外,图像处理程序群34包括被开发以在诸如图像操纵装置、便携式装置、PC等的各种类型的装置(平台)上共同执行的程序。
由图像处理程序群34实现的图像处理装置根据来自应用32的配置指令来配置执行由应用32指示的图像处理的图像处理DAG 50A(将详细描述)。图像处理装置根据来自应用32的执行指令来执行图像处理DAG 50A的处理。以这样的方式,图像处理程序群34为应用32提供接口,该接口指示执行期望的图像处理的图像处理DAG50的配置或者指示由所配置的图像处理DAG 50A执行图像处理。
通过该配置,即使在新开发需要内部执行图像处理的特定装置的情况下,为了开发执行该图像处理的程序,可使用该接口来开发使得图像处理程序群34执行特定装置中所需的图像处理的应用32。因此,开发者不需要新开发实际执行图像处理的程序,因此开发者的负荷减轻。
接下来,将详细描述根据本示例性实施方式的图像处理程序群34。如图1所示,图像处理程序群34包括模块库36、用作处理配置单元42的程序以及用作处理控制单元46的程序。
在模块库36中,注册有执行彼此不同的预定图像处理的多种类型的图像处理模块38的程序。例如,图像处理的示例包括输入处理、过滤处理、颜色转换处理、放大处理和缩小处理(在图1中表示为“缩放处理”)、倾斜角检测处理、图像旋转处理、图像合成处理、输出处理等。
另外,在模块库36中,还注册有具有相同的图像处理类型以及要执行的不同的图像处理内容的图像处理模块38。在图1中,图像处理模块通过在末尾添加数字来彼此区分,如“模块1”、“模块2”等中一样。例如,作为执行缩放处理的图像处理模块38,准备这样的图像处理模块38,其执行通过在水平方向和垂直方向中的每一个方向上将输入图像数据拉长间隔一个像素来将图像的水平和垂直尺寸缩小至50%的处理。此外,例如,作为执行缩放处理的图像处理模块38,准备这样的图像处理模块38,其以指定的缩放比执行输入图像数据的缩放处理。
另外,例如,作为执行颜色转换处理的图像处理模块38,准备将红色、绿色和蓝色(RGB)颜色空间中的图像转换为青色、品红色、黄色和主版(黑色)(CMYK)颜色空间中的图像的图像处理模块38以及将CMYK颜色空间中的图像转换为RGB颜色空间中的图像的图像处理模块38。此外,例如,作为执行颜色转换处理的图像处理模块38,准备将RGB颜色空间中的图像转换为YCbCr颜色空间中的图像的图像处理模块38以及将YCbCr颜色空间中的图像转换为RGB颜色空间中的图像的图像处理模块38。
另外,在模块库36中,还注册有包括用于存储图像数据的存储区域(缓存区)的缓存模块40。
根据来自应用32的指令,根据本示例性实施方式的处理配置单元42以DAG形式配置图像处理DAG 50A。如图2A所示,在图像处理DAG 50A中,作为示例,一个或更多个图像处理模块38经由设置在各个图像处理模块38的前级和后级中的至少一个中的缓存模块40彼此连接。
各个图像处理模块38是对输入图像数据执行图像处理的对象的示例。另外,图像处理DAG 50A是多个图像处理模块38彼此连接的对象群的示例。另外,在图2A所示的示例中,对于经由缓存模块40连接到前级图像处理模块38的图像处理模块38,在前级图像处理模块38的图像处理完成的情况下,可执行图像处理模块38的图像处理。另外,在图2A所示的示例中,对于经由缓存模块40连接到多个前级图像处理模块38的图像处理模块38,在多个前级图像处理模块38的所有图像处理完成的情况下,可执行图像处理模块38的图像处理。
另外,图2A示出模块仅按照处理的顺序彼此连接的DAG。另一方面,当执行DAG时,如图2B所示,输入存储在存储器14中的图像数据,并且根据DAG执行图像处理。诸如经受处理的图像数据的处理结果最终被存储在存储器14中。
接下来,将参照图3描述根据本示例性实施方式的处理控制单元46的功能配置。如图3所示,处理控制单元46包括处理单元60、控制单元62、任务队列64和输出单元66。
根据本示例性实施方式的处理单元60将作为输入图像数据的处理目标的部分所表示的图像分割成多个部分区域(以下称为“分割图像”)。如图4所示,作为示例,处理单元60将作为输入图像数据的处理目标的部分所表示的图像G分割成多个(在图4所示的示例中,三个)分割图像B1至B3。在以下描述中,表示分割图像的图像数据被称为“分割图像数据”。另外,在整个输入图像是处理目标的诸如颜色转换处理的图像处理中,作为输入图像数据的处理目标的部分意指整个输入图像数据是处理目标的部分。另外,在输入图像的一部分是处理目标的诸如剪辑(修剪)处理的图像处理中,作为输入图像数据的处理目标的部分意指输入图像的一部分。在以下描述中,为了避免混淆,作为输入图像数据的处理目标的部分被简称为“输入图像数据”。
另外,在图4所示的示例中,尽管处理单元60在从正面看时垂直地分割图像G,本发明不限于此。例如,处理单元60可在从正面看时水平地分割图像G,或者在从正面看时垂直地和水平地分割图像G。
处理单元60对输入图像数据的分割数不受特别限制。例如,处理单元60可按照预定数量或大小来分割输入图像数据。另外,例如,处理单元60可将输入图像数据分割成等于或小于通过图像处理模块38执行图像处理的计算单元的处理器内核的数量并且当等于或大于二的数量。
另外,例如,处理单元60可按照等于或小于通过图像处理模块38执行图像处理的计算单元的高速缓存存储器的容量的大小来分割输入图像数据。在这种情况下,例如,举例说明处理单元60按照大小分割输入图像数据的形式,该大小等于或小于距通过图像处理模块38执行图像处理的计算单元的处理器最远级别的高速缓存存储器(所谓的末级高速缓存(LLC))的容量,并且最大与LLC的容量匹配。
如图5所示,作为示例,处理单元60将图像处理DAG 50A的各个图像处理模块38所执行的图像处理分割成与各个分割图像数据对应的部分处理39,并将图像处理DAG 50A更新为图像处理DAG 50B。图5示出图2A所示的图像处理DAG 50A的输入图像数据被分割成四条分割图像数据的情况下的图像处理DAG 50B。在图5中,为了避免混淆,未示出缓存模块40。
根据图像处理模块38所执行的图像处理的类型,根据本示例性实施方式的处理单元60赋予连接到前级的图像处理模块38的部分处理39与连接到后级的图像处理模块38的部分处理39之间的依赖关系。在图5中,依赖关系由虚线箭头指示。
例如,如颜色转换处理中一样,在仅对作为处理目标的像素执行图像处理的处理中,控制单元向各个部分处理39赋予一对一依赖关系。另一方面,例如,如过滤处理中一样,在还需要与作为处理目标的像素相邻的像素的图像处理中,控制单元还将依赖关系赋予对相邻像素执行图像处理的前级部分处理39。即,依赖关系是彼此连接的图像处理模块38之间的关系,其中可在连接到前级的图像处理模块38的部分处理39完成的情况下执行连接到后级的图像处理模块38的部分处理39。因此,各个部分处理39可在不存在赋予依赖关系的前级部分处理39的情况下,或者在赋予依赖关系的所有前级部分处理39均完成的情况下执行。
具体地,例如,图5所示的部分处理39A和部分处理39B可在开始执行图像处理时执行。另外,例如,图5所示的部分处理39C可在赋予依赖关系的前级部分处理39A和前级部分处理39B二者均完成时执行。
根据本示例性实施方式的控制单元62执行控制用于使得多个内核13并行执行处理单元60的图像处理DAG 50A的更新处理和依赖关系的赋予处理以及基于依赖关系变得可执行的部分处理39。这里,并行处理意指更新处理和赋予处理以及基于依赖关系变得可执行的部分处理39中的至少一部分处理由多个内核13并行(同时)执行。具体地,控制单元62将用于针对各个图像处理模块38执行图像处理DAG 50A的更新处理和依赖关系的赋予处理的任务(处理)存储在任务队列64中,使得多个内核13中的每一个顺序地读取并执行所存储的任务。此外,在处理单元60的更新处理和赋予处理期间,控制单元62将基于依赖关系变得可执行的部分处理39顺序地存储在任务队列64中。
在控制单元62的控制下,根据本示例性实施方式的输出单元66输出通过由图像处理DAG 50B的末级图像处理模块38执行图像处理而获得的输出图像数据。在本示例性实施方式中,输出单元66将由所获得的输出图像数据表示的输出图像显示在显示单元16上。输出单元66可将输出图像数据输出(发送)到外部装置。另外,在计算机10被并入打印机的情况下,输出单元66可在诸如纸张的记录材料上输出(形成)由输出图像数据表示的输出图像。
接下来,将参照图6至图11描述根据本示例性实施方式的计算机10的操作。图6是示出在通过应用32输入开始执行图像处理的指令的情况下由计算单元12执行的DAG配置处理程序的处理流程的流程图。另外,DAG配置处理程序被预先安装在存储单元20中。另外,在计算单元12中不执行任何任务,并且能够执行任务的内核13执行DAG配置处理程序。因此,该程序用作处理配置单元42和控制单元62。
在图6的步骤100中,处理配置单元42根据来自应用32的配置指令来配置执行由应用32指示的图像处理的图像处理DAG 50A。在下一步骤102中,控制单元62将用于针对各个图像处理模块38执行在步骤100中配置的图像处理DAG 50A的更新处理和依赖关系的赋予处理的任务存储在任务队列64中,然后结束DAG配置处理。
如图7所示,作为示例,通过步骤102的处理,用于针对各个图像处理模块38执行图像处理DAG 50A的更新处理和依赖关系的赋予处理的任务T被存储在任务队列64中。能够执行任务的内核13(在图7所示的示例中,内核13C)从任务队列64读取任务T,并执行任务T。因此,执行图8所示的DAG更新处理。
图8是示出DAG更新处理程序的处理流程的流程图,并且DAG更新处理程序也预先被安装在存储单元20中。另外,能够执行任务的内核13执行DAG更新处理程序,因此,该程序用作处理单元60和控制单元62。
在图8的步骤110中,处理单元60通过已知排序方法(例如,拓扑排序)对包括在图像处理DAG 50A中的所有图像处理模块38进行排序。在以下步骤112至118的重复处理中,假设图像处理模块38作为处理目标(以下称为“处理目标模块38”)从在步骤110中排序的所有图像处理模块38的顶部按顺序一个接一个顺序地执行。
在步骤112中,如上所述,处理单元60将输入图像数据分割成多条分割图像数据。如上所述,处理单元60将由处理目标模块38执行的图像处理更新为与各条分割图像数据对应的部分处理39。在下一步骤114中,处理单元60确定图像处理模块38是否连接到处理目标模块38的前级。在确定结果为是的情况下,处理单元60前进到步骤118,在确定结果为否的情况下,处理单元60前进到步骤116。
在步骤116中,控制单元62将在步骤112中分割的处理目标模块38的部分处理39顺序地存储在任务队列64中。另一方面,在步骤118中,如上所述,根据由处理目标模块38执行的图像处理的类型,处理单元60赋予连接到前级的图像处理模块38的部分处理39与处理目标模块38的部分处理39之间的依赖关系。
在步骤120中,处理单元60确定是否针对图像处理DAG 50A的所有图像处理模块38执行了步骤112至118的处理。在确定结果为否的情况下,处理单元60返回到步骤112,在确定结果为是的情况下,处理单元60结束DAG更新处理。
如图9所示,作为示例,通过步骤116的处理,最前级图像处理模块38的部分处理39被顺序地存储在任务队列64中。能够执行任务的内核13(在图9所示的示例中,内核13A和13B)从任务队列64读取部分处理39,并执行部分处理39。另一方面,对于最前级图像处理模块以外的图像处理模块38,顺序地执行步骤112和步骤116的处理。即,如图9所示,任务T和部分处理39由多个内核13并行执行。
另一方面,图10是示出在通过应用32输入开始执行图像处理的指令的情况下由计算单元12执行的部分处理执行处理程序的处理流程的流程图。另外,部分处理执行处理程序也被预先安装在存储单元20中。另外,能够执行任务的内核13执行部分处理执行处理程序,因此该程序用作控制单元62。
在图10的步骤130中,控制单元62确定任务队列64中是否存储有部分处理39。在确定结果为否的情况下,控制单元62重复地执行步骤130的处理,在确定结果为是的情况下,控制单元62前进到步骤132。
在步骤132中,控制单元62从任务队列64的顶部读取一个部分处理39,并执行所读取的部分处理39。在下一步骤134中,当通过步骤132的处理执行部分处理39完成时,控制单元62更新依赖关系,并将基于依赖关系新近变得可执行的部分处理39顺序地存储在任务队列64中。
在下一步骤136中,控制单元62确定是否图像处理DAG 50B的所有图像处理模块38的所有部分处理39完成。在确定结果为否的情况下,控制单元62返回到步骤130,在确定结果为是的情况下,控制单元62结束部分处理执行处理。另外,当所有图像处理模块38的所有部分处理39完成时,输出单元66将由图像处理DAG 50B的末级图像处理模块38的部分处理39输出的输出图像数据所表示的输出图像输出到显示单元16。
如图11所示,作为示例,存储在任务队列64中的部分处理39由内核13(在图11所示的示例中,内核13A和13B)执行。当部分处理39的执行完成时,图像处理DAG 50A的依赖关系被更新,并且基于依赖关系而新近变得可执行的部分处理39被存储在任务队列64中。在图11中,执行完成的部分处理39由阴影圈示出,基于依赖关系而新近变得可执行的部分处理39由黑色圈示出。
如上所述,根据本示例性实施方式,任务T和部分处理39并行执行。因此,如图12所示,作为示例,与任务T和部分处理39串行执行的情况相比,图像处理的处理速度改进。在图12的上部,示出任务T和部分处理39串行执行的情况,在图12的下部,示出任务T和部分处理39如本示例性实施方式中一样并行执行的情况。
另外,如图13所示,作为示例,在对多条输入图像数据连续地执行图像处理的情况下,即使对先前输入的输入图像数据的所有部分处理39没有完成时,也开始对稍后输入的输入图像数据执行任务T和部分处理39。因此,在这种情况下,与任务T和部分处理39串行执行的情况相比,图像处理的处理速度进一步改进。在图13的上部,示出任务T和部分处理39串行执行的情况,在图13的下部,示出任务T和部分处理39如本示例性实施方式中一样并行执行的情况。
这里,在对多条输入图像数据连续地执行图像处理的情况下,例如,与用于对稍后输入的输入图像数据执行图像处理的部分处理39相比,可赋予用于对先前输入的输入图像数据执行图像处理的部分处理39更高的优先级。在这种情况下,在多个部分处理39变得可执行的情况下,部分处理39可按照优先级的降序存储在任务队列64中。由此,可防止对稍后输入的图像数据的图像处理在对先前输入的图像数据的图像处理完成之前完成。
另外,在上述实施方式中,尽管描述了各种程序被预先存储(安装)在存储单元20中的模式,本发明不限于此。各种程序可通过记录在诸如CD-ROM、数字多功能盘只读存储器(DVD-ROM)或通用串行总线(USB)存储器的记录介质上来提供。另外,各种程序可经由网络从外部装置下载。
尽管上面描述了各种示例性实施方式,这些实施方式可彼此适当地组合。
另外,本公开不限于上述各个实施方式,而是在不脱离本公开的精神的情况下可按照各种形式自由地修改。
本申请基于并要求2016年3月24日提交的日本专利申请No.2016-060526的优先权,其完整内容通过引用并入本文。
符号说明
10:计算机
12:计算单元
13、13A至13C:内核
14:存储器
16:显示单元
18:操作单元
20:存储单元
22:图像数据供给单元
24:图像输出单元
26:总线
30:操作系统
32:应用程序群
34:图像处理程序群
36:模块库
38:图像处理模块
39、39A至39C:部分处理
40:缓存模块
42:处理配置单元
46:处理控制单元
50A、50B:图像处理DAG
60:处理单元
62:控制单元
64:任务队列
66:输出单元
B1至B3:分割图像
G:图像
T:任务

Claims (6)

1.一种通过以有向非循环图的形式连接多个对象而成的对象群中的各个对象来执行图像处理的图像处理装置,该图像处理装置包括:
处理单元,该处理单元执行更新处理和赋予处理,所述更新处理是将所述对象群中的各个对象执行的图像处理更新为部分处理,所述部分处理是对表示分割图像的各分割图像数据执行图像处理,所述分割图像是将输入图像数据所表示的输入图像分割成多个部分区域而得的,所述赋予处理是在彼此连接的所述对象的所述部分处理之间赋予处理的依赖关系;以及
控制单元,该控制单元执行控制以使得多个计算装置并行执行所述处理单元的所述更新处理和所述赋予处理以及基于所述依赖关系而变得能够执行的所述部分处理。
2.根据权利要求1所述的图像处理装置,其中,所述控制单元将针对所述对象群按照每个对象顺序地执行所述更新处理和所述赋予处理的任务存储在任务队列中,并且将基于所述依赖关系变得能够执行的所述部分处理顺序地存储在所述任务队列中,由此进行所述并行执行的控制,其中所述多个计算装置中的每一个从所述任务队列顺序地读取并执行所存储的任务。
3.根据权利要求1或2所述的图像处理装置,
其中,在对多条输入图像数据连续地执行图像处理的情况下,
所述处理单元进一步执行优先级赋予处理,该优先级赋予处理是对于对先输入的输入图像数据执行图像处理的部分处理,赋予比对后输入的输入图像数据执行图像处理的部分处理更高的优先级,并且
在多个所述部分处理基于所述依赖关系而变得能够执行的情况下,所述控制单元进一步执行控制以按照所述优先级的降序执行所述部分处理。
4.根据权利要求1至3中的任一项所述的图像处理装置,其中,所述依赖关系是在彼此连接的所述对象之间,在前级连接的所述对象的部分处理完成的情况下,后级连接的所述对象的部分处理变得能够执行的关系。
5.一种图像处理装置的图像处理方法,所述图像处理装置通过以有向非循环图的形式连接多个对象而成的对象群中的各个对象来执行图像处理,所述图像处理方法包括以下步骤:
执行控制以使得多个计算装置并行执行:更新处理和赋予处理,所述更新处理是将所述对象群中的各个对象执行的图像处理更新为部分处理,所述部分处理是对表示分割图像的各分割图像数据执行图像处理,所述分割图像是将输入图像数据所表示的输入图像分割成多个部分区域而得的,所述赋予处理是在彼此连接的所述对象的所述部分处理之间赋予处理的依赖关系;以及基于所述依赖关系而变得能够执行的所述部分处理。
6.一种使得计算机作为根据权利要求1至4中的任一项所述的图像处理装置的处理单元和控制单元进行工作的图像处理程序。
CN201680078715.6A 2016-03-24 2016-07-27 图像处理装置、图像处理方法和图像处理程序 Active CN108475213B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016060526 2016-03-24
JP2016-060526 2016-03-24
PCT/JP2016/072032 WO2017163442A1 (ja) 2016-03-24 2016-07-27 画像処理装置、画像処理方法、及び画像処理プログラム

Publications (2)

Publication Number Publication Date
CN108475213A true CN108475213A (zh) 2018-08-31
CN108475213B CN108475213B (zh) 2021-11-30

Family

ID=59899872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680078715.6A Active CN108475213B (zh) 2016-03-24 2016-07-27 图像处理装置、图像处理方法和图像处理程序

Country Status (4)

Country Link
US (1) US10795725B2 (zh)
JP (1) JP6648257B2 (zh)
CN (1) CN108475213B (zh)
WO (1) WO2017163442A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111937029A (zh) * 2018-09-18 2020-11-13 富士施乐株式会社 图像处理装置、图像处理方法、图像处理程序和存储介质
CN111937029B (zh) * 2018-09-18 2024-05-24 富士胶片商业创新有限公司 图像处理装置、图像处理方法、图像处理程序和存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102569086B1 (ko) 2017-11-20 2023-08-22 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 태스크 병렬 처리 방법, 장치, 시스템, 기억 매체 및 컴퓨터 기기
KR102579058B1 (ko) * 2018-09-11 2023-09-14 후아웨이 테크놀러지 컴퍼니 리미티드 Dag을 순차적으로 계산하기 위한 이종 스케줄링
US11263529B2 (en) 2018-10-10 2022-03-01 Google Llc Modifying machine learning models to improve locality

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976348A (zh) * 2010-10-21 2011-02-16 中国科学院深圳先进技术研究院 图像聚类方法和系统
JP4964219B2 (ja) * 2008-12-16 2012-06-27 富士フイルム株式会社 画像処理装置、方法及びプログラム
JP5036588B2 (ja) * 2008-02-21 2012-09-26 富士ゼロックス株式会社 画像処理装置、画像処理プログラム
CN102930246A (zh) * 2012-10-16 2013-02-13 同济大学 一种基于点云片段分割的室内场景识别方法
CN103150148A (zh) * 2013-03-06 2013-06-12 中国科学院对地观测与数字地球科学中心 一种基于任务树的大尺度遥感影像并行镶嵌方法
CN103268614A (zh) * 2013-05-31 2013-08-28 电子科技大学 一种用于多前景共分割的前景谱图生成方法
US20140259563A1 (en) * 2013-03-15 2014-09-18 The Procter & Gamble Company Subassemblies comprising folded fastening tab members
US20150046678A1 (en) * 2013-08-08 2015-02-12 Linear Algebra Technologies Limited Apparatus, systems, and methods for providing configurable computational imaging pipeline
CN104620574A (zh) * 2012-09-14 2015-05-13 高通股份有限公司 用于数字图像的高效重新取样和调整大小的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4965995B2 (ja) 2006-12-22 2012-07-04 株式会社東芝 プログラム処理方法、処理プログラム及び情報処理装置
US9348560B2 (en) * 2013-06-04 2016-05-24 Qualcomm Incorporated Efficient execution of graph-based programs
US9652817B2 (en) * 2015-03-12 2017-05-16 Samsung Electronics Co., Ltd. Automated compute kernel fusion, resizing, and interleave

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5036588B2 (ja) * 2008-02-21 2012-09-26 富士ゼロックス株式会社 画像処理装置、画像処理プログラム
JP4964219B2 (ja) * 2008-12-16 2012-06-27 富士フイルム株式会社 画像処理装置、方法及びプログラム
CN101976348A (zh) * 2010-10-21 2011-02-16 中国科学院深圳先进技术研究院 图像聚类方法和系统
CN104620574A (zh) * 2012-09-14 2015-05-13 高通股份有限公司 用于数字图像的高效重新取样和调整大小的方法和装置
CN102930246A (zh) * 2012-10-16 2013-02-13 同济大学 一种基于点云片段分割的室内场景识别方法
CN103150148A (zh) * 2013-03-06 2013-06-12 中国科学院对地观测与数字地球科学中心 一种基于任务树的大尺度遥感影像并行镶嵌方法
US20140259563A1 (en) * 2013-03-15 2014-09-18 The Procter & Gamble Company Subassemblies comprising folded fastening tab members
CN103268614A (zh) * 2013-05-31 2013-08-28 电子科技大学 一种用于多前景共分割的前景谱图生成方法
US20150046678A1 (en) * 2013-08-08 2015-02-12 Linear Algebra Technologies Limited Apparatus, systems, and methods for providing configurable computational imaging pipeline

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111937029A (zh) * 2018-09-18 2020-11-13 富士施乐株式会社 图像处理装置、图像处理方法、图像处理程序和存储介质
CN111937029B (zh) * 2018-09-18 2024-05-24 富士胶片商业创新有限公司 图像处理装置、图像处理方法、图像处理程序和存储介质

Also Published As

Publication number Publication date
WO2017163442A1 (ja) 2017-09-28
CN108475213B (zh) 2021-11-30
US20180365059A1 (en) 2018-12-20
US10795725B2 (en) 2020-10-06
JPWO2017163442A1 (ja) 2019-01-17
JP6648257B2 (ja) 2020-02-14

Similar Documents

Publication Publication Date Title
Kempe et al. An experimental demonstration of the effect of group size on cultural accumulation
CN108463836A (zh) 图像处理装置、图像处理方法和图像处理程序
US10068518B2 (en) Method, apparatus and system for dithering an image
CN103366338A (zh) 图像处理装置和图像处理方法
CN108475213A (zh) 图像处理装置、图像处理方法和图像处理程序
Jovanovic et al. Fixed set search application for minimizing the makespan on unrelated parallel machines with sequence-dependent setup times
US10949942B2 (en) Image processing apparatus, image processing method, and image processing program
CN108780565B (zh) 图像处理装置、图像处理方法及存储介质
US20200402197A1 (en) Image processing apparatus, image processing method, and computer readable medium
CN110741408B (zh) 图像处理装置、图像处理方法和图像处理程序
Costa et al. Exploiting different types of parallelism in distributed analysis of remote sensing data
US20150062155A1 (en) Need-below processing across z-band boundaries
JP2020035000A (ja) 機械学習システムおよびボルツマンマシンの計算方法
US20210312325A1 (en) Mixed-precision neural processing unit (npu) using spatial fusion with load balancing
JP7039424B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
US10783604B2 (en) Image processing apparatus, image processing method, and image processing program
JP6840860B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP6915455B2 (ja) 画像処理装置、画像形成装置、及びプログラム
CN111937029B (zh) 图像处理装置、图像处理方法、图像处理程序和存储介质
Kanaka et al. Deep Learning in Neural Networks and their Application in Genomics
JP7348446B2 (ja) 手書きフォント生成サービスを提供する方法およびシステム
JP7091940B2 (ja) 照合装置、照合方法および照合プログラム
IT202100026552A1 (it) &#34;Metodo e prodotto per la sintesi di dati di stampa e per la fornitura degli stessi ad una stampante&#34;
Ma et al. Self-supervised Contrastive Feature Refinement for Few-Shot Class-Incremental Learning
Rivest et al. Advances in Machine Learning and Mathematical Modeling for Optimization Problems

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

Address after: Tokyo, Japan

Applicant after: Fuji film business innovation Co.,Ltd.

Applicant after: FUJIFILM Corp.

Address before: Tokyo, Japan

Applicant before: Fuji Xerox Co.,Ltd.

Applicant before: FUJIFILM Corp.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant