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

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

Info

Publication number
CN110741408B
CN110741408B CN201880039763.3A CN201880039763A CN110741408B CN 110741408 B CN110741408 B CN 110741408B CN 201880039763 A CN201880039763 A CN 201880039763A CN 110741408 B CN110741408 B CN 110741408B
Authority
CN
China
Prior art keywords
image processing
processing
image
sequence
image data
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.)
Active
Application number
CN201880039763.3A
Other languages
English (en)
Other versions
CN110741408A (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
Fujifilm Corp
Fujifilm Business Innovation 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 Fujifilm Corp, Fujifilm Business Innovation Corp filed Critical Fujifilm Corp
Publication of CN110741408A publication Critical patent/CN110741408A/zh
Application granted granted Critical
Publication of CN110741408B publication Critical patent/CN110741408B/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
    • 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
    • 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
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Abstract

计算机10设置有:分割单元60,其用于在图像处理就处理序列而言是顺序的情况下将要进行图像处理的图像数据分割为多段第一分割图像数据;以及控制单元62,其用于执行控制以使多个内核13并行地执行任务(部分处理39),该任务是针对由分割单元60分割出的分割图像数据要执行的图像处理并且可以根据前向‑后向依存关系以及处理序列依存关系被处理。

Description

图像处理装置、图像处理方法和图像处理程序
技术领域
本公开涉及图像处理装置、图像处理方法和图像处理程序。
背景技术
在专利文献1中已经公开了一种信息处理装置。该信息处理装置将表示程序模块的组合的图形结构转换为其中根据所分割的输入数据段来分割节点的图形结构,并且对转换后的图形结构的节点当中的其先前节点已被处理的节点应用并行处理。
另外,在非专利文献1和非专利文献2中公开了根据由DAG(有向非循环图)表示的图像处理的执行顺序来并行地执行图像处理的技术。
现有技术文件
专利文献
专利文献1:日本专利No.4965995
非专利文献
非专利文献1:Deferred Mode Image Processing Framework,[online],[searched on August 31,2017],Internet<URL:http://www.isus.jp/article/library-special/deferred-mode-image-processing-framework/>
非专利文献2:The OpenVX Specification,[online],[searched on August 31,2017],Internet<URL:https://www.khronos.org/registry/vx/specs/1.0.1/OpenVX_Specification_1_0_1.pdf>
发明内容
技术问题
存在由多个计算装置并行地执行基于图像处理的部分处理的情况。在这种情况下,当在处理序列上具有顺序性的一些图像处理被作为一个部分处理来处理时,会降低计算装置的操作效率以延长由有向非循环图形式表示的图像处理的总时间。
本公开的至少一个实施方式旨在提供一种图像处理装置、一种图像处理方法及一种图像处理程序,与在处理序列上具有顺序性的图像处理被作为一个部分处理进行处理的情况相比,通过本发明能够缩短以有向非循环图形式表示的图像处理的总图像处理时间。
技术方案
本公开的第一方面的图像处理装置是一种由客体群的每个客体执行图像处理的图像处理装置,在客体群中各自执行图像处理的客体以有向非循环图形式彼此连接,该装置包括:分割部,该分割部在图像处理是在处理序列上具有顺序性的处理时,将作为图像处理的对象的图像数据分割为多个第一分割图像数据段;以及控制部,该控制部进行控制以使计算装置能够并行地执行第一部分处理,该第一部分处理是要对第一分割图像数据段执行的图像处理的片段,并且被允许根据与前级和后级的依存关系以及处理序列依存关系进行处理。
本公开的第二方面的图像处理装置是根据第一方面的图像处理装置,其中:分割部在图像处理是在处理序列上不具有顺序性的处理时,将作为图像处理的对象的图像数据分割为多个第二分割图像数据段;并且控制部进行控制以使计算装置能够并行地执行第二部分处理和第一部分处理,该第二部分处理是要对第二分割图像数据段执行的图像处理的片段,并且被允许根据与前级和后级的依存关系进行处理。
本发明的第三方面的图像处理装置是根据第二方面的图像处理装置,其中:分割部将与第二部分处理相对应的第二分割图像段中的每一个再分割为第三分割图像数据段;并且控制部进行控制以使得计算装置能够并行地执行第三分割处理和第一部分处理,该第三分割处理是要对第三分割图像数据段执行的图像处理的片段。
本公开的第四方面的图像处理装置是根据第一方面至第三方面中的任何一个的图像处理装置,其中,客体中的每一个输出表示要执行的图像处理是否是在处理序列上具有顺序性的处理的信息。
本公开的第五方面的图像处理装置是根据第四方面的图像处理装置,其中,分割部基于由客体输出并表示图像处理是否是具有顺序性的处理的信息,向针对第一分割图像数据段的第一部分处理赋予根据处理序列的依存关系。
本公开的第六方面的图像处理装置是根据第一方面至第三方面中的任何一个的图像处理装置,其中,客体中的每一个保持表示要执行的图像处理是否是在处理序列上具有顺序性的处理的信息。
本公开的第七方面的图像处理装置是根据第六方面的图像处理装置,其中,分割部获取由客体保持并且表示图像处理是否是具有顺序性的处理的信息,并基于所获取的信息,向针对第一分割图像数据段的第一部分处理赋予根据处理序列的依存关系。
本公开的第八方面的图像处理装置是根据第一方面至第七方面中的任何一个的图像处理装置,其中,与前级和后级的依存关系是在属于对应图像处理的部分处理与属于在前级和后级中的图像处理的部分处理之间的依存关系,并且处理序列依存关系是在属于对应图像处理的部分处理之间的处理序列依存关系。
为了实现所述目的,本公开的第九方面的图像处理方法是由图像处理装置执行以由客体群的每个客体执行图像处理的图像处理方法,在该客体群中各自执行图像处理的客体以有向非循环图形式彼此连接,该方法包括以下处理:在图像处理是在处理序列上具有顺序性的处理时,将作为图像处理的对象的图像数据分割为多个第一分割图像数据段;以及进行控制以使计算装置能够并行地执行第一部分处理,该第一部分处理是要对第一分割图像数据段执行的图像处理的片段,并且被允许根据与前级和后级的依存关系以及处理序列依存关系进行处理。
本公开的第十方面的图像处理程序是用于使计算机起到根据第一方面至第八方面中的任一方面的图像处理装置的分割部和控制部的图像处理程序。
技术效果
根据本发明的第一方面、第九方面和第十方面,与在处理序列上具有顺序性的图像处理作为一个部分处理进行处理的情况相比,能够缩短由有向非循环图形式表示的图像处理的总图像处理时间。
根据本公开的第二方面,与在处理序列上具有顺序性的图像处理作为一个部分处理进行处理的情况相比,能够进一步缩短由有向非循环图形式表示的图像处理的总图像处理时间。
根据本公开的第三方面,与由多个计算装置分别并行执行第一部分处理和第二部分处理的情况相比,能够实现提高图像处理的处理效率的并行处理。
根据本公开的第四方面,与使用从除客体以外的任何其它地方输出并表示要执行的图像处理是否是在处理序列中具有顺序性的处理的信息的情况相比,能够容易地执行赋予每个依存关系的处理。
根据本公开的第五方面,与任何客体不输出表示要执行的图像处理是否是在处理序列上具有顺序性的处理的信息的情况相比,能够容易地执行赋予每个依存关系的处理。
根据本公开的第六方面,与任何对象不保持表示要执行的图像处理是否是在处理序列上具有顺序性的处理的信息的情况相比,能够容易地执行赋予每个依存关系的处理。
根据本公开的第七方面,与从除客体之外的任何其它地方获取表示要执行的图像处理是否是在处理序列上具有顺序性的处理的信息的情况相比,能够容易地执行赋予每个依存关系的处理。
根据本公开的第八方面,与其中与前级和后级的依存关系是与本配置不同的与前级和后级的依存关系并且处理序列依存关系是与本配置不同的处理序列依存关系的情况相比,能够极大地缩短由有向非循环图形式表示的图像处理的总图像处理时间。
附图说明
图1是示出了用作第一实施方式的图像处理装置的计算机的配置示例的框图。
图2A是示出了图像处理DAG的示例的示意图。
图2B是示出了将输入/输出存储器添加到图像处理DAG的情况的示例的示意图。
图3是示出了第一实施方式中的处理控制部的功能配置的示例的框图。
图4A是为了说明第一实施方式中的输入图像的分割处理的示例而提供的示意图。
图4B是为了说明第一实施方式中的输入图像的分割处理的示例而提供的示意图。
图5是示出了每个图像处理模块已经被分割为部分处理(任务)的图像处理DAG的示例的示意图。
图6是示出了第一实施方式中的DAG构建处理的流程的示例的流程图。
图7是示出了第一实施方式中的DAG更新处理的流程的示例的流程图。
图8是示出了第一实施方式中的任务执行处理的流程的示例的流程图。
图9是为了说明第一实施方式中的任务执行处理而提供的示意图。
图10A是为了说明第一实施方式中的效果而提供的示意图。
图10B是为了说明第一实施方式中的效果而提供的示意图。
图10C是为了说明第一实施方式中的效果而提供的示意图。
图11A是为了说明比较例的效果而提供的示意图。
图11B是为了说明比较例中的效果而提供的示意图。
图12是为了说明第二实施方式中的输入图像的分割处理的示例而提供的示意图。
图13是示出了第二实施方式中的任务执行处理的流程的示例的流程图。
具体实施方式
以下通过参照附图的示例来详细描述本发明的实施方式。
[第一实施方式]
首先,将参照图1描述用作图像处理装置的计算机10的配置。另外,计算机10可以是合并到诸如复印机、打印机、传真装置、具有这些装置的功能的多功能机、或扫描仪之类的、在内部执行图像处理的图像处理机中的计算机。另外,计算机10可以是诸如PC(个人计算机)之类的独立计算机,或者可以是合并到诸如PDA(个人数字助理)或移动电话之类的便携式机器中的计算机。
如图1所示,本实施方式中的计算机10设置有第一计算部12A、第二计算部12B、存储器14、显示部16、操作部18、储存部20、图像数据提供部22以及图像输出部24。另外,第一计算部12A、第二计算部12B、存储器14、显示部16、操作部18、储存部20、图像数据提供部22和图像输出部24通过总线26彼此连接。
本实施方式中的第一计算部12A是计算机10的主处理器。例如,第一计算部12A是具有多个处理器内核13(以下称为“内核13”)的CPU(中央处理单元)。在下面的描述中,可以以其中通过后缀有字母字符的符号来指代内核(诸如,内核13A或内核13B)的可区分方式来描述每个内核13。
另外,本实施方式中的第二计算部12B例如是内部具有本地存储器15的GPU(图形处理单元)。另外,第二计算部12B没有特别限制,只要它是设置有内部存储器(诸如本地存储器15)以对存储在内部存储器中的图像数据执行图像处理的计算装置即可。例如,第二计算部12B可以是CPU。另外,第二计算部12B可以是内置在第一计算部12A中的GPU。另外,第一计算部12A和第二计算部12B可以是诸如FPGA(现场可编程门阵列)之类的计算装置。本实施方式中的内核13和第二计算部12B是本公开中的计算装置的示例。
存储器14是第一计算部12A临时将数据存储在其中的非易失性储存单元。当在本实施方式中由第二计算部12B执行图像处理时,第一计算部12A通过总线26将存储器14或储存部20的储存区中所存储的图像数据传送给第二计算部12B。第二计算部12B将从第一计算部12A传送的图像数据存储到本地存储器15中,并对所存储的图像数据执行图像处理。
当计算机10被并入上述图像处理机中时,例如,设置在图像处理机中的诸如LCD(液晶显示器)的显示面板以及数字键等可以分别用作显示部16和操作部18。另外,当计算机10是独立计算机时,例如,连接至计算机10的显示器和键盘、鼠标等可以分别用作显示部16和操作部18。另外,显示部16和操作部18可以是其中触摸面板和显示器一体地配置的触摸面板显示器等。另外,诸如HDD(硬盘驱动器)、SSD(固态驱动器)或闪存之类的非易失性储存介质可以用作储存部20。
任何部都可以用作图像数据提供部22,只要它能够提供处理对象图像数据即可。例如,读取已经记录在诸如纸张或照相胶片之类的记录材料上的图像并且输出图像的数据的图像读取部可以用作图像数据提供部22。另外,例如,通过通信线从外部装置接收图像数据的接收部以及存储图像数据的图像存储部(存储器14或储存部20)等可以用作图像数据提供部22。
任何部都可以用作图像输出部24,只要它可以输出已经进行了图像处理的图像数据或者由已经进行了图像处理的图像数据所表示的图像即可。例如,将由图像数据表示的图像记录在诸如纸张或感光材料之类的记录材料上的图像记录部可以用作图像输出部24。另外,在显示器等上显示由图像数据表示的图像的显示部(显示部16)或者将图像数据写入到诸如CD-ROM(光盘只读存储器)之类的记录介质上的写入装置可以作为图像输出部24。另外,通过通信线路将已经进行了图像处理的图像数据发送到外部装置的发送部可以用作图像输出部24。另外,图像输出部24可以是存储已经进行了图像处理的图像数据的图像储存部(存储器14或储存部20)。
如图1所示,第一计算部12A和第二计算部12B要执行的各种程序被存储在储存部20中。执行资源管理、每个程序的执行管理、计算机10与每个外部装置之间的通信等的操作系统30的程序作为各种程序被存储在储存部20中。另外,使计算机10能够起到图像处理装置作用的图像处理程序群34作为各种程序被存储在储存部20中。另外,使上述图像处理装置能够执行期望的图像处理的各种应用程序群32(以下称为“应用32”)作为各种程序被存储在储存部20中。
图像处理程序群34是为了减轻开发要由上述图像处理机、便携机、PC等执行的图像处理程序的负载而开发的程序。另外,图像处理程序群34是被开发为由如上所述的图像处理机、便携机、PC等的各种机器(平台)可共同执行的程序。
由图像处理程序群34实现的图像处理装置根据来自应用32的构建指示,来构建用于执行由应用32指示的图像处理的图像处理DAG(有向非循环图)50A(将详细描述)。前述图像处理装置根据来自应用32的执行指示来执行图像处理DAG 50A的处理。因此,图像处理程序群34向应用32提供用于指示构建执行期望的图像处理的图像处理DAG 50A或者用于指示已构建的图像处理DAG 50A执行图像处理的接口。
由于上述配置,对于执行图像处理的程序的开发,仅当开发使用上述接口使得图像处理程序群34能够执行例如需要在内部执行图像处理的任何机器所需的图像处理的应用32时,才重新开发所述机器。因此,开发人员不必重新开发用于实际执行图像处理的程序。因此,能够减轻开发者的负担。
接下来,将详细描述本实施方式中的图像处理程序群34。如图1所示,图像处理程序群34包括模块库36、处理构建部42的程序和处理控制部46的程序。
执行彼此不同的预定图像处理的图像处理模块38的程序分别登记在模块库36中。作为图像处理,列出了例如输入处理、滤波处理、误差扩散处理、放大或缩小处理(在图1中称为“放大/缩小处理”)、颜色转换处理、倾斜角检测处理、图像旋转处理、图像合成处理、输出处理等(在图1描述了用于输入处理、滤波处理、误差扩散处理、放大/缩小处理和输出处理的相应处理模块)。
另外,图像处理类型相同但要执行的图像处理的内容不同的图像处理模块38也可以登记在模块库36中。例如,可以登记执行放大或缩小处理的两个图像处理模块38。也就是说,一个图像处理模块38执行缩小处理,以使输入的图像数据在水平方向和垂直方向的每个方向中每两个像素进行稀疏,以将图像的长度和宽度减小到50%,另一图像处理模块38以指定的放大率或缩小率来执行放大或缩小处理。
另外,在模块库36中还登记了设置有用于存储图像数据的储存区(缓冲器)的缓冲模块40。
本实施方式中的处理构建部42根据来自应用32的指示以DAG形式构建图像处理DAG 50A。例如,如图2A所示,一个或更多个图像处理模块38在图像处理DAG50A中通过设置在每个图像处理模块38的前级和后级中的至少一级中的缓冲模块40连接。
另外,图像处理模块38中的每一个是对输入图像数据执行图像处理的客体的示例。另外,图2A所示的示例示出了当由前级的图像处理模块38执行的图像处理已经完成时,该前级的图像处理模块38通过缓冲模块40所连接到的一个图像处理模块38可以执行其自己的图像处理。另外,示出了当前级中的多个图像处理模块38的图像处理当中的作为图像处理模块38自身的处理的输入所需的所有图像处理已完成时,该前级中的多个图像处理模块38通过缓冲模块40所连接到的图像处理模块38可以执行其自己的图像处理。
另外,在图2A中示出了仅各个模块以处理序列连接的DAG。在执行DAG时,输入存储器14中所存储的输入图像数据,然后根据DAG对输入图像数据执行图像处理,如图2B所示。最后将处理后的输出图像数据等的处理结果存储在存储器14中。
接下来,将参照图3描述本实施方式中的处理控制部46的功能配置。如图3所示,处理控制部46设置有分割部60、控制部62、任务队列64和输出部66。
本实施方式中的分割部60将由输入图像数据的处理对象部分表示的图像分割为多个部分区域(以下称为“分割图像”)。例如,如图4A所示,分割部60将由输入图像数据的处理对象部分表示的图像G分割为多个(在图4A所示的示例中为三个)分割图像B1至B3。另外,表示分割图像的图像数据将在下文中被称为“分割图像数据段”。另外,输入图像数据的处理对象部分是指在将整个输入图像用作处理对象的图像处理(诸如颜色转换处理)中整个输入图像数据被用作处理对象的部分。另外,输入图像数据的处理对象部分是指在将输入图像数据的一部分用作处理对象的图像处理(诸如剪裁(修剪)处理)中的输入图像的所述一部分。为了避免复杂化,输入图像数据的处理对象部分将在下文中被简称为“输入图像数据”。
另外,在图4A所示的示例中,分割部60在正视图中沿上/下方向分割图像G。然而,分割部60如何分割图像G不限于此。例如,如图4B所示,分割部60可以在正视图中沿左/右方向分割图像G,或者可以在正视图中沿上下方向和左/右方向分割图像G。
另外,由分割部60分割的输入图像数据的部分的数量没有特别限制。例如,分割部60可以将输入图像数据分割为预定数量或尺寸。另外,例如,分割部60可以将输入图像数据分割为数量不大于属于使用图像处理模块38执行图像处理的计算部的处理器内核的数目并且不小于2的部分。
另外,例如,分割部60可以按照不大于属于使用图像处理模块38执行图像处理的计算部的高速缓冲存储器的容量的尺寸来分割输入图像数据。在这种情况下,例如,根据一种形式,分割部60按照以下尺寸来分割输入图像数据:该尺寸不大于附接到由图像处理模块38执行图像处理的计算部的处理器的大容量级高速缓冲存储器(即,所谓的LCC(终级高速缓存))的容量并且尽可能地与LLC的容量一致。
本实施方式中的分割部60对多个内核13执行控制,以并行地执行与分割图像数据段相对应的任务。另外,在此提到的表述“并行”是指由多个内核13并行(同时)执行能基于依存关系执行的任务。
具体地,分割部60将要由图像处理DAG 50A的每个图像处理模块38执行的图像处理分割为分别与分割图像数据段相对应的部分处理39,以将图像处理DAG 50A更新为如作为示例在图5所示的图像处理DAG 50B。另外,图像处理DAG 50B表示在各个部分处理39的任务中的DAG,即,所谓的任务DAG。
另外,图5示出了图2A所示的图像处理DAG 50A中的输入图像数据被分割为四个分割图像数据段的情况下的图像处理DAG 50B。在图5中,省略了缓冲模块40的图示,以避免复杂化。
本实施方式中的分割部60根据由图像处理模块38执行的图像处理的类型,赋予部分处理39之间的依存关系。另外,依存关系由图5中的虚线箭头表示。
这里,将描述本实施方式中的图像处理。本实施方式中的图像处理被分类为两种类型的图像处理,即,在处理序列中具有顺序性的图像处理和在处理序列中不具有顺序性的图像处理。
例如,当图像处理是用于将由8比特组成的每个像素值(0至255)二值化为0或255的误差扩散处理时,必须将由图像处理引起的二值化误差传播到在处理序列位于处理对象像素之前的像素,以便对处理对象像素的像素值执行图像处理。
另外,例如,假设图像处理是利用诸如硬盘之类的外部储存装置的图像输入处理或图像输出处理。在这种情况下,存储图像文件的硬盘是一种物理介质。因此,当由多个计算装置等并行地从硬盘中读取/向硬盘写入数据时,数据的顺序可能被打乱,使得数据不能被正确地读取或写入。
在本实施方式中,诸如误差扩散处理之类的对于每个像素不独立的图像处理,或者诸如图像输入处理或图像输出处理之类的、必须按时间顺序依次执行对分割图像的图像处理部分的图像处理将被称为在处理序列中具有顺序性的图像处理,并且在下文中简称为具有顺序性的图像处理。另外,本公开中的具有顺序性的图像处理中的部分处理39中的每一个是本公开中的第一部分处理的示例。部分处理39的分割图像数据段是本公开中的第一分割图像数据段的示例。
另一方面,在诸如颜色转换处理之类的图像处理或其中通过使用诸如LUT(查找表)之类的转换表来转换图像的每个像素值的转换处理中,仅对每个处理对象像素执行图像处理。在这种情况下,图像处理对于每个像素是独立的,使得一个像素的像素值不受另一像素的像素值影响。
另外,在诸如卷积滤波处理之类的参照处理对象像素的周围像素的图像处理中,对处理对象像素的处理与对周围像素执行图像处理的前级部分处理39具有依存关系,但是滤波处理本身可以针对每个像素独立地执行。
在本实施方式中,因此每个像素独立的图像处理将被称为在处理序列中不具有顺序性的图像处理,并且在下文中简称为不具有顺序性的图像处理。另外,本公开中的不具有顺序性的图像处理中的部分处理39是本公开中的第二部分处理的示例,并且部分处理39的分割图像数据段是本公开中的第二分割图像数据段的示例。
另外,图像处理是否具有顺序性取决于图像处理模块38中的每一个的处理内容。因此,本实施方式具有其中指示图像处理是否具有顺序性的信息(以下称为“顺序性信息”)由图像处理模块38预先保持的形式。另外,该形式还包括以下形式中的至少一种形式:指示图像处理具有顺序性的信息由执行具有顺序性的图像处理的图像处理模块38预先保持的形式,以及指示图像处理不具有顺序性的信息由执行不具有顺序性的图像处理的图像处理模块38预先保持的形式。另外,形式不限于本实施方式,而是可以是例如这样的形式,其中从图像处理模块38中的每一个输出顺序性信息,而与图像处理模块38是否保持顺序性信息无关。
对于执行具有顺序性的图像处理的图像处理模块38B,分割部60将图像分割为分割图像(部分处理39),并赋予分割部分处理39之间的处理序列依存关系(参见图5中的图像处理模块38B中的部分处理39之间的箭头)。
另外,对于执行不具有顺序性的图像处理的图像处理模块38A和执行具有顺序性的图像处理的图像处理模块38B,分割部60赋予在前级中连接的图像处理模块38的部分处理39与在后级中连接的图像处理模块38的部分处理39之间的依存关系(参见图5中的图像处理模块38之间的箭头)。
具体地,在图5所示的情况下,当图像处理的执行开始时,图像处理模块38A1的部分处理39A、部分处理39B和部分处理39C可以被单独执行。另一方面,当赋予与部分处理39D的依存关系的部分处理39A和部分处理39B二者都完成时,可以执行图像处理模块38B的部分处理39D。另外,当赋予与部分处理39E的依存关系的部分处理39A、部分处理39B、部分处理39C和部分处理39D全部完成时,可以执行图像处理模块38B的部分处理39E。此外,当赋予与部分处理39F的依存关系的部分处理39D完成时,可以执行图像处理模块38A2的部分处理39F。
也就是说,当不存在作为预处理的赋予与部分处理39的依存关系的另一部分处理39时,或者当作为预处理的赋予与部分处理39的依存关系的所有部分处理39都已经完成时,能够执行部分处理39中的每一个。
另外,与分割图像数据相对应的部分处理39将在下文中也称为“任务”。
本实施方式中的控制部62将可执行任务存储到任务队列64中,使得每个内核13可以依次提取并执行所存储的任务。另外,同时存储在任务队列64中的任务的数量不限于本实施方式中的数量。然而,任务的数量优选地是两个或更多个,更优选地,其数量对应于计算装置(内核13等)的数量。假设在允许存储在任务队列64中的任务的数量小的情况下,除非完成任务的执行,否则不能将新任务存储到任务队列64中。在这种情况下,不能将新任务存储到任务队列64中,从而导致内核13中的空闲内核的数量增加。由此,内核13的操作率降低。另外,当能够被同时存储在任务队列64中的任务的数量不受限制时,在预处理(将在后面给出细节)中,针对存储在任务队列64中的所有任务确保了存储器。因此,确保的存储器的容量增加。
因此,通过由任务队列64限制允许同时存储的任务数量,能够抑制诸如在预处理中确保的存储器之类的资源数量的增加。因此,任务队列64允许同时存储的任务数量可以根据存储器的容量等确定,或者可以是根据内核13的操作率而可变的。
控制部62从任务队列64获取任务并执行所获取的任务。
本实施方式中的输出部66由控制部62控制,以输出作为由图像处理DAG 50B的最后级的图像处理模块38执行的图像处理的结果而获得的图像数据。在本实施方式中,输出部66在显示部16上显示由所获得的输出图像数据表示的输出图像。另外,输出部66可以向外部装置输出(发送)输出图像数据。另外,当计算机10被合并到打印机中时,输出部66可以将由输出图像数据表示的输出图像输出(形成)到诸如纸张之类的记录材料上。
接下来,将参照图6至图10描述本实施方式中的计算机10的效果。另外,图6是示出了一旦应用32输入了开始执行图像处理的指示,由第一计算部12A执行的DAG构建或执行处理的流程的示例的流程图。此外,用于DAG构建或执行处理的程序被预先安装在储存部20中。另外,不参与第一计算部12A中的任何任务但是可以执行任务的内核13执行DAG构建或执行处理程序,从而起到前述处理构建部42和前述控制部62的作用。
在图6的步骤100中,处理构建部42根据应用32的构建指示来构建用于执行由应用32指示的图像处理的图像处理DAG 50A。在下一步骤102中,控制部62将任务存储到任务队列中64。执行任务以执行在步骤100中构建的图像处理DAG 50A的更新处理以及针对每个图像处理模块38的依存关系赋予处理。然后,完成本DAG构建处理。
在本实施方式中,由内核13中的一个提取并执行存储在任务队列64中的前述任务中的每一个。因此,执行图7中作为示例示出的DAG更新处理。
另外,图7是示出了DAG更新处理程序的处理流程的流程图。DAG更新处理程序也被预先安装在储存部20中。此外,能够执行任务的内核13执行DAG更新处理程序,从而起到上述分割部60和上述控制部62的作用。
在图7的步骤120中,分割部60通过诸如拓扑排序之类的已知排序技术对图像处理DAG 50A中所包括的所有图像处理模块38进行排序。
在下一步骤122中,分割部60从通过上述步骤120排序的所有图像处理模块38当中从顶至底依次提取一个图像处理模块38作为处理对象。
在步骤124中,分割部60如上所述地将输入图像数据分割为多个分割图像数据部分。如上所述,分割部60将要由所提取的图像处理模块38执行的图像处理分割为分别与分割图像数据部分相对应的任务。
在下一步骤126中,分割部60确定所提取的图像处理模块38的图像处理是否是具有顺序性的图像处理。如上所述,在本实施方式中,顺序性信息由图像处理模块38保持。因此,分割部60参照由图像处理模块38所保持的顺序性信息来确定当前步骤。在图像处理不具有顺序性的情况下,步骤S126的确定为否定确定。然后,分割部60前进到步骤130。另一方面,在图像处理具有顺序性的情况下,步骤126的确定为肯定确定。然后,分割部60前进到步骤128。
在步骤128中,分割部60向所提取的图像处理模块38内的每个任务赋予表示处理序列的依存关系。
在下一步骤130中,分割部60确定图像处理模块38是否连接到所提取的图像处理模块38的前级。当图像处理模块38未连接前级时,步骤130的确定为否定确定。然后,分割部60前进到步骤134。另一方面,在图像处理模块38连接到前级的情况下,步骤130的确定为肯定确定。然后,分割部60前进到步骤132。
在步骤132中,如前所述,分割部60根据由所提取的图像处理模块38执行的图像处理的类型,赋予在前级中连接的图像处理模块38的任务与所提取的图像处理模块38的任务之间的依存关系。
在接下来的步骤134中,分割部60确定在上述步骤122中是否已经提取了所有图像处理模块。当存在尚未被提取的任何图像处理模块38时,步骤134的确定为否定确定。然后,分割部60返回到步骤122,在步骤122中,从顶至底提取下一个顺序图像处理模块38作为处理对象。然后,重复上述步骤124至134的处理。另一方面,当已经提取了所有图像处理模块38时,步骤134的确定为肯定确定。然后,本DAG更新处理完成。由于这样执行本实施方式中的DAG更新处理,因此生成图像处理DAG 50B。
另一方面,图8是示出了当应用32已经输入了开始执行图像处理的指示时由计算装置执行的任务执行处理程序的处理流程的流程图。此外,任务执行处理程序也被预先安装在储存部20中。另外,能够执行任务的内核13执行任务执行处理程序,从而起到控制部62的功能。
在图8的步骤140中,控制部62确定任务是否已经存储在任务队列64中。例如,当所有图像处理模块38的所有任务的执行都已经完成时,任务队列64中没有存储任务。因此,步骤140的确定为否定确定。然后,当前任务执行处理完成。由于当前任务执行处理已经完成,因此可以从输出部66获得应用32所期望的图像处理的结果。
另一方面,当在任务队列64中存储有任务时,步骤140的确定为肯定确定。然后,控制部62前进到步骤142。
在步骤142中,控制部62从任务队列64当中从顶至底提取一个任务。在下一步骤144中,控制部62指示第二计算部12B或第一计算部12A的内核13中的一个执行所提取的任务。另外,当指示任务要由第二计算部12B执行时,第一计算部12A的内核13执行使第二计算部12B执行任务的处理。因此,第二计算部12B执行任务。
另外,在执行任务之前(例如,在步骤144之前),可以执行预定前处理,诸如确保用于存储图像处理的结果的输出缓冲区或确保图像处理的变量的初始化等的计算资源的处理。另外,在任务执行之后(例如,在步骤144之后),可以执行释放所确保的计算资源等的预定后处理。
在下一步骤146中,控制部62删除依从于步骤144的处理已经执行的任务的任务的依存关系。
在下一步骤148中,控制部62将基于依存关系能够最新执行的任务依次存储到任务队列64中。然后,控制部62返回到步骤140。
例如,在图9中所示的图像处理DAG 50B中,将从任务TB1开始到任务TB3结束的依存关系赋予执行具有顺序性的图像处理的图像处理模块38B的任务TB1至TB3。另外,将与前级的图像处理模块38B的任务TB1至TB3的依存关系分别赋予执行不具有顺序性的图像处理的图像处理模块38A的任务TA1和TA2
在任务执行处理的步骤144中已经执行了任务TB1和任务TB2的情况下,在步骤146中删除了任务TB1与任务TB2和TA1之间的依存关系、以及任务TB2与任务TB3、TA1和TA2之间的依存关系。
因此,如图9所示,可以执行任务TB3和任务TA1,并且在步骤148中将它们分别存储在任务队列64中。
因此,能够执行任务的内核13(在图9所示的示例中为内核13A和内核13B)从任务队列64中提取任务(任务TB3和任务TA1)并执行所述任务。也就是说,如图9所示,执行具有顺序性的图像处理的图像处理模块38B的任务TB3和执行不具有顺序性的图像处理的图像处理模块38A的任务TA1由多个内核13并行地执行。
此外,将参照图10(图10A至图10C)具体地描述本实施方式中的计算机10的效果。例如,将描述图像处理DAG 50A是如图10A所示的DAG的情况,在该DAG中执行图像输入处理的图像处理模块38B1、执行滤波处理的图像处理模块38A3、执行误差扩散处理的图像处理模块38B2、执行缩小处理的图像处理模块38A4和执行图像输出处理的图像处理模块38B3相互连接。另外,图像处理模块38B1、38AB2和38B3是各自执行具有顺序性的图像处理的图像处理模块38,并且图像处理模块38A3和38A4是各自执行不具有顺序性的图像处理的图像处理模块38。
图10B示出了由分割部60更新的图像处理DAG 50B的示例,该分割部60将图10A所示的图像处理DAG 50A分割为部分处理,并向部分处理赋予依从性。如图10B所示,整个图像处理DAG 50B被分割为十八个任务(T1至T18)。具体地,图像处理模块38B1被分割为任务T1至T4,并且向任务T1至T4赋予根据任务之间的处理序列(从1至4的顺序)的依存关系。图像处理模块38A3被分割为任务T5至T8,并且向任务T5至T8赋予与前级的图像处理模块38B1的任务(T1至T4)的依存关系以及与后级的图像处理模块38B2的任务(T9至T12)的依存关系。另外,图像处理模块38B2被分割为任务T9至T12,并且向任务T9至T12赋予根据任务之间的处理序列(从9至12的顺序)的依存关系、与前级中的图像处理模块38A3的任务(T5至T8)之间的依存关系以及与后级的图像处理模块38A4的任务(T13至T15)的依存关系。另外,图像处理模块38A4被分割为任务T13至T15,并且向任务T13至T15赋予与前级中的图像处理模块38B2的任务(T9至T12)的依存关系以及与后级的图像处理模块38B3的任务(T16至T18)的依存关系。此外,图像处理模块38B3被分割为任务T16至T18,并且向任务T16至T18赋予根据任务之间的处理序列(从16至18的顺序)的依存关系以及与前级中的图像处理模块38A4的任务(T13至T15)的依存关系。
图10C示出了在图10B所示的任务T1至T18由四个内核13A至13D并行处理的情况下,由内核13A至13D执行的任务的处理流程的示例。另外,为了便于说明,在图10C中示出了假设处理所有任务中的每个任务花费相同时间的情况。由多个内核13并行执行任务的处理时间被延长了,而由一个内核13执行任务的处理时间被缩短。
另外,在图像输入处理和图像输出处理中的任务之间必须传递关于指示图像文件已经被读取了多少的位置的位置信息和指示图像文件已经被写入了多少的位置的位置信息,并且在误差扩散处理的任务之间必须传递从每个已处理像素传播的错误信息等。然而,这些条信息例如被预先存储在作为任务的产生源的图像处理模块38中,使得这些条信息可以在任务之间被传递。另外,赋予处理序列的每个依存关系,从而能够保证任务不会被并行处理。因此,无需排他控制就能够读取/写入这些条信息。
另一方面,在与本实施方式不同的具有顺序性的每个图像处理不能被分割为部分处理的比较例的情况下,图像处理DAG 50A被更新为其中包括关于整个图像的三个图像处理(G1至G3)和七个任务(T5至T8和T13至T15)的图像处理DAG 150B,如图11A所示。图像处理G1对应于前述任务T1至T4,图像处理G2对应于前述任务T9至T12,并且图像处理G3对应于前述任务T16至T18
图11B示出了当图11A所示的图像处理G1至G3、任务T5至T8以及任务T13至T15由四个内核13A至13D并行处理时由内核13A至13D执行的任务的处理流程的示例。另外,为了便于说明,图11B中还示出了假设处理任务所需的时间全部相等的情况。众所周知,以图11B所示的比较例的形式由内核13并行处理任务的处理时间比在本实施方式的情况下(参照图10C)的处理时间短。
另外,在比较例的情况下,在图像处理G1至G3中的每一个中需要与整个图像相对应的存储器(所谓的平面存储器)。另一方面,根据本实施方式中的计算机10,不需要这种平面存储器。例如,在如图10C所示地执行处理的情况下,只要完成任务T13的处理,就可以释放处理任务T9所需的存储器。因此,还能够提高存储器的使用效率。
[第二实施方式]
下面将参照附图详细描述本实施方式。
将描述与前述第一实施方式中的配置和操作类似或相同的要点,而将省略其详细描述。
本实施方式中的计算机10的配置与第一实施方式中的计算机10的配置(参照图1和图3)相似或相同,但是分割部60的一部分功能与第一实施方式中的不同。
除了第一实施方式中的分割部60所提供的功能之外,本实施方式中的分割部60还具有将要进行不具有顺序性的图像处理的图像已经分割成的分割图像(分割图像数据部分)中的每一个再分割为多个分割图像(以下将称为“再分割图像数据部分”的分割图像数据部分)的功能。例如,如图12所示,分割部60根据预定尺寸将分割图像B1至B3再分割为多个(在图12所示的示例中,将每个分割图像再分割为两个,总共有六个)再分割图像C11至C32。
换句话说,在将要进行不具有顺序性的图像处理的图像分割为任务时,本实施方式的分割部60一次将图像处理分割为中粒度任务,设置中粒度任务之间的依存关系,然后将中粒度任务存储到任务队列64中。在从任务队列64提取中粒度任务并执行该中粒度任务之前,将中粒度任务再分割为各自具有预定尺寸的细粒度任务,并由多个内核13并行处理。本实施方式中的每个细粒度任务是本公开中的第三部分处理的示例,并且细粒度任务的分割图像数据部分是本公开中的第三分割图像数据部分的示例。
另外,用于再分割任务的预定尺寸可以是任何尺寸,只要该尺寸小于上述中粒度任务的尺寸即可。在本实施方式中,例如,预定尺寸被设置为接近使用图像处理模块38执行图像处理的计算部的每个处理器的容量,并且不大于高速和小容量级别的高速缓冲存储器(即,所谓的L1(级别1)或L2(级别2)高速缓冲存储器)的容量。
另一方面,本实施方式中的计算机10关于DAG构建处理(参见图6)和DAG更新处理(参见图7)的效果与第一实施方式中的相似或相同。另一方面,任务执行处理包括与第一实施方式中的任务执行处理(见图8)不同的处理。因此,下面将描述本实施方式中的任务执行处理。
图13是示出了本实施方式中的任务执行处理的流程示例的流程图。如图13所示,本实施方式中的任务执行处理与第一实施方式中的任务执行处理的不同之处在于,在步骤142和步骤144之间包括步骤143A至143C的处理。
在本实施方式中,当控制部62在步骤142中从任务队列64中获取了任务时,分割部60在接下来的步骤143A中确定是否可以再分割。
在本实施方式中,当与在步骤142中获取的任务相对应的图像数据(分割图像数据段或再分割图像数据段)的尺寸不大于上述预定尺寸时,即,当获取到已被再分割的任务时,不可以进行再分割。
另外,例如,可以禁止由第二计算部12B执行图像处理的任务被分割部60再分割。在由第二计算部12B执行任务的情况下,作为开销而增加的处理(诸如向本地存储器15传送图像数据,或者激活第二计算部12B)比在第一计算部12A执行任务的情况下更大。每个任务都产生开销。因此,当任务被再分割时,开销与任务数量的增加相对应地增加。因此,可以不再分割第二计算部12B执行图像处理的任务,而是直接对中粒度任务执行图像处理。另外,当处理构建部42从图像处理DAG 50A生成图像处理DAG 50B时,可以给出指示任务是否应由第二计算部12B执行的信息。
当任务不能被再分割时,步骤143A的确定为否定确定。然后,流程前进到步骤144。另一方面,当任务可以被再分割时,步骤143A的确定为肯定确定。然后,流程前进到步骤143B。
在步骤143B中,分割部60将任务按照上述预定尺寸再分割为细粒度任务。
在下一步骤143C中,控制部62将通过再分割而获得的所有细粒度任务存储到任务队列64中。然后,控制部62返回到步骤142。
因此,根据本实施方式中的计算机10,由多个计算装置并行地执行要进行具有顺序性的图像处理的图像被分割而成的中等粒度任务和要进行不具有顺序性的图像处理的图像被分割然后进一步被再分割而成的细粒度任务。
因此,根据本实施方式中的计算机10,执行每个中粒度任务被再分割而成的细粒度任务,从而提高内核13或第二计算部12B的操作率。同时,抑制必要数据量的增加,从而能够防止容易发生高速缓冲存储器误击。
因此,根据本实施方式中的计算机10,能够实现图像处理的高效处理(即,所谓的可扩展性得到增强的并行处理)。
如上所述,前述实施方式中的每一个中的计算机10是其中由图像处理模块38群中的每个图像处理模块38执行图像处理的计算机10,在图像处理模块38群中各自执行图像处理的图像处理模块38以DAG形式彼此连接。计算机10设置有分割部60和控制部62。在图像处理是在处理序列上具有顺序性的处理的情况下,分割部60将作为图像处理的对象的图像数据分割为多个分割图像数据段。控制部62进行控制以使多个内核13能够并行执行任务(部分处理39)。任务是分别对由分割部60分割的分割图像数据段执行的图像处理的片段。允许根据与前级和后级的依存关系以及处理序列依存关系来处理任务。
根据上述配置,当图像处理是在处理序列上具有顺序性的处理时,在本实施方式中,图像处理能够由计算机10分割并作为部分处理而处理。因此,根据计算机10,能够相对延长其中使多个内核13(计算装置)并行执行任务的处理时间。
因此,根据上述实施方式中的每一个的计算机10,与在处理序列上具有顺序性的图像处理被处理为一个任务的情况相比,能够缩短图像处理DAG 50(图像处理模块38群)的总图像处理时间。
另外,根据本实施方式中的计算机10,以上述方式将图像处理作为部分处理来处理。因此,如上所述,在图像处理中省去了所谓的平面存储器。因此,能够提高存储器的使用效率。
另外,已经在将第二计算部12B设置在计算机10内部的情况下描述了前述实施方式中的每一个。然而,第二计算部12B可以设置在计算机10的外部,或者可以设置在与计算机10不同的另一计算机中。另外,可以省去第二计算部12B。
另外,在上述实施方式中的每一个中,已经描述了各种程序预先存储(安装)在储存部20中的状态。然而,本发明不限于此。可以按照将各种程序记录在诸如CD-ROM、DVD-ROM(数字通用光盘只读存储器)或USB(通用串行总线)存储器之类的记录介质中的形式来提供各种程序。另外,可以按照可通过网络从外部装置下载各种程序的形式来提供各种程序。
已经详细地或参照特定实施方式描述了本发明。然而,对于本领域技术人员显而易见的是,可以在不脱离本发明的精神和范围的情况下向本发明添加各种改变或修改。
本申请基于2017年9月15日提交的日本专利申请No.2017-177465,该日本专利申请的内容通过引用合并于本文中。
附图标记
10:计算机
12A:第一计算部
12B:第二计算部
13、13A至13D:内核
14:存储器
15:本地存储器
16:显示部
18:操作部
20:储存部
22:图像数据提供部
24:图像输出部
26:总线
30:操作系统
32:应用程序群(应用程序)
34:图像处理程序群
36:模块库
38、38A1至38A4、38B、38B1至38B3:图像处理模块
39、39A至39F:部分处理
40:缓冲模块
42:处理构建部
46:处理控制部
50A、50B:图像处理DAG
60:分割部
62:控制部
64:任务队列
66:输出部
B1至B3:分割图像
C11、C12、C21、C22、C31、C32:再分割图像
G:图像、G1至G3:图像处理
TA1、TA2、TB1至TB3:任务

Claims (7)

1.一种由客体群的客体中的每一个执行图像处理的图像处理装置,在所述客体群中各自执行所述图像处理的客体以有向非循环图形式彼此连接,该图像处理装置包括:
分割部,该分割部在所述图像处理是在处理序列上具有顺序性的处理时,将作为所述图像处理的对象的图像数据分割为多个第一分割图像数据段;以及
控制部,该控制部进行控制以使计算装置能够并行地执行第一部分处理,该第一部分处理是要对所述第一分割图像数据段执行的所述图像处理的片段,并且被允许根据与前级和后级的依存关系以及处理序列依存关系进行处理,其中,与前级和后级的所述依存关系是在属于对应图像处理的部分处理与属于前级和后级中的图像处理的部分处理之间的依存关系,并且所述处理序列依存关系是在属于所述对应图像处理的所述部分处理之间的处理序列依存关系,
其中,
所述分割部在所述图像处理是在处理序列上不具有顺序性的处理时,将作为所述图像处理的对象的图像数据分割为多个第二分割图像数据段,并且
所述控制部进行控制以使所述计算装置能够并行地执行第二部分处理和所述第一部分处理,该第二部分处理是要对所述第二分割图像数据段执行的所述图像处理的片段,并且被允许根据与前级和后级的依存关系进行处理,
其中,
所述分割部将与所述第二部分处理相对应的所述第二分割图像数据段中的每一个再分割为第三分割图像数据段,并且
所述控制部进行控制以使得所述计算装置能够并行地执行第三分割处理和所述第一部分处理,该第三分割处理是要对所述第三分割图像数据段执行的所述图像处理的片段。
2.根据权利要求1所述的图像处理装置,其中,
所述客体中的每一个输出表示要执行的所述图像处理是否是在处理序列上具有顺序性的处理的信息。
3.根据权利要求2所述的图像处理装置,其中,
所述分割部基于由所述客体输出并表示所述图像处理是否是具有顺序性的处理的信息,向针对所述第一分割图像数据段的所述第一部分处理赋予根据所述处理序列的依存关系。
4.根据权利要求1所述的图像处理装置,其中,
所述客体中的每一个保持表示要执行的所述图像处理是否是在处理序列上具有顺序性的处理的信息。
5.根据权利要求4所述的图像处理装置,其中,
所述分割部获取由所述客体保持并且表示所述图像处理是否是具有顺序性的处理的所述信息,并基于所获取的信息,向针对所述第一分割图像数据段的所述第一部分处理赋予根据所述处理序列的依存关系。
6.一种图像处理方法,该图像处理方法由图像处理装置执行以由客体群的客体中的每一个执行图像处理,在该客体群中各自执行所述图像处理的客体以有向非循环图形式彼此连接,该图像处理方法包括以下处理:
当所述图像处理是在处理序列上具有顺序性的处理时,将作为所述图像处理的对象的图像数据分割为多个第一分割图像数据段;
进行控制以使计算装置能够并行地执行第一部分处理,该第一部分处理是要对所述第一分割图像数据段执行的图像处理的片段,并且被允许根据与前级和后级的依存关系以及处理序列依存关系进行处理,其中,与前级和后级的所述依存关系是在属于对应图像处理的部分处理与属于前级和后级中的图像处理的部分处理之间的依存关系,并且所述处理序列依存关系是在属于所述对应图像处理的所述部分处理之间的处理序列依存关系;
当所述图像处理是在处理序列上不具有顺序性的处理时,将作为所述图像处理的对象的图像数据分割为多个第二分割图像数据段;
进行控制以使所述计算装置能够并行地执行第二部分处理和所述第一部分处理,该第二部分处理是要对所述第二分割图像数据段执行的所述图像处理的片段,并且被允许根据与前级和后级的依存关系进行处理;
将与所述第二部分处理相对应的所述第二分割图像数据段中的每一个再分割为第三分割图像数据段;以及
进行控制以使得所述计算装置能够并行地执行第三分割处理和所述第一部分处理,该第三分割处理是要对所述第三分割图像数据段执行的所述图像处理的片段。
7.一种记录介质,该记录介质上存储有图像处理程序,该图像处理程序用于使计算机起到根据权利要求1至5中的任一项所述的图像处理装置的分割部和控制部的作用。
CN201880039763.3A 2017-09-15 2018-02-14 图像处理装置、图像处理方法和图像处理程序 Active CN110741408B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017-177465 2017-09-15
JP2017177465 2017-09-15
PCT/JP2018/005135 WO2019053915A1 (ja) 2017-09-15 2018-02-14 画像処理装置、画像処理方法、及び画像処理プログラム

Publications (2)

Publication Number Publication Date
CN110741408A CN110741408A (zh) 2020-01-31
CN110741408B true CN110741408B (zh) 2023-08-01

Family

ID=65723627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880039763.3A Active CN110741408B (zh) 2017-09-15 2018-02-14 图像处理装置、图像处理方法和图像处理程序

Country Status (4)

Country Link
US (1) US11341599B2 (zh)
JP (1) JP6869360B2 (zh)
CN (1) CN110741408B (zh)
WO (1) WO2019053915A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7383420B2 (ja) 2019-08-09 2023-11-20 キヤノン株式会社 画像処理装置、記録装置、画像処理方法、及びプログラム
CN113221116B (zh) * 2021-04-12 2022-06-07 烽火通信科技股份有限公司 镜像的摘要计算方法、装置、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006262161A (ja) * 2005-03-17 2006-09-28 Ricoh Co Ltd 画像処理装置、画像処理方法、およびその方法を記憶する記憶媒体
CN1873686A (zh) * 2005-06-03 2006-12-06 富士施乐株式会社 图像处理装置、方法以及存储程序的存储介质
JP2007281914A (ja) * 2006-04-07 2007-10-25 Seiko Epson Corp 画像複写装置、画像データ変換装置、画像複写方法、および画像データ変換方法
CN101075346A (zh) * 2005-11-23 2007-11-21 爱克发-格法特公司 数字图像中用于感兴趣点吸引的方法
CN101166240A (zh) * 2006-10-19 2008-04-23 索尼株式会社 图像处理装置、成像装置、图像处理方法
CN101588435A (zh) * 2008-05-23 2009-11-25 富士施乐株式会社 图像处理装置、图像记录系统和图像处理方法
CN103366338A (zh) * 2012-03-30 2013-10-23 富士胶片株式会社 图像处理装置和图像处理方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067088A (en) * 1995-05-18 2000-05-23 Canon Kabushiki Kaisha Image processing method and apparatus thereof
US6378066B1 (en) 1999-02-04 2002-04-23 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for developing and executing data flow programs, and optimizing user input specifications
JP4112187B2 (ja) * 2001-03-01 2008-07-02 富士フイルム株式会社 画像処理方法および装置並びにプログラム
JP4014486B2 (ja) * 2002-10-25 2007-11-28 松下電器産業株式会社 画像処理方法及び画像処理装置
US7525547B1 (en) * 2003-08-12 2009-04-28 Nvidia Corporation Programming multiple chips from a command buffer to process multiple images
US20090135190A1 (en) * 2003-11-19 2009-05-28 Lucid Information Technology, Ltd. Multimode parallel graphics rendering systems and methods supporting task-object division
JP2005189975A (ja) * 2003-12-24 2005-07-14 Toshiba Corp 画像処理装置、画像処理方法およびプログラム
US8437805B2 (en) * 2006-03-28 2013-05-07 Research In Motion Limited Method and apparatus for transforming images to accommodate screen orientation
JP4446983B2 (ja) * 2006-07-07 2010-04-07 富士フイルム株式会社 画像処理装置及び画像処理プログラム
JP4965995B2 (ja) 2006-12-22 2012-07-04 株式会社東芝 プログラム処理方法、処理プログラム及び情報処理装置
JP4942095B2 (ja) 2007-01-25 2012-05-30 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチコア・プロセッサにより演算を行う技術
JP4973372B2 (ja) * 2007-08-06 2012-07-11 株式会社ニコン 画像処理装置、撮像装置および画像処理プログラム
JP2009054001A (ja) * 2007-08-28 2009-03-12 Fujifilm Corp 画像処理装置及びプログラム
JP5046801B2 (ja) * 2007-08-28 2012-10-10 富士フイルム株式会社 画像処理装置及びプログラム
JP4549418B2 (ja) * 2008-03-04 2010-09-22 シャープ株式会社 画像処理装置、画像処理方法、画像形成装置、並びに、プログラム、記録媒体
JP5112386B2 (ja) * 2008-06-05 2013-01-09 株式会社東芝 画像処理装置及び画像処理方法
JP5538792B2 (ja) * 2009-09-24 2014-07-02 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
JP5797030B2 (ja) * 2010-08-25 2015-10-21 キヤノン株式会社 画像処理装置およびその方法
WO2012046435A1 (ja) * 2010-10-04 2012-04-12 パナソニック株式会社 画像処理装置、画像符号化方法および画像処理方法
US9848101B2 (en) * 2014-10-21 2017-12-19 Kabushiki Kaisha Tokyo Kikai Seisakusho Image processing device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006262161A (ja) * 2005-03-17 2006-09-28 Ricoh Co Ltd 画像処理装置、画像処理方法、およびその方法を記憶する記憶媒体
CN1873686A (zh) * 2005-06-03 2006-12-06 富士施乐株式会社 图像处理装置、方法以及存储程序的存储介质
CN101075346A (zh) * 2005-11-23 2007-11-21 爱克发-格法特公司 数字图像中用于感兴趣点吸引的方法
JP2007281914A (ja) * 2006-04-07 2007-10-25 Seiko Epson Corp 画像複写装置、画像データ変換装置、画像複写方法、および画像データ変換方法
CN101166240A (zh) * 2006-10-19 2008-04-23 索尼株式会社 图像处理装置、成像装置、图像处理方法
CN101588435A (zh) * 2008-05-23 2009-11-25 富士施乐株式会社 图像处理装置、图像记录系统和图像处理方法
CN103366338A (zh) * 2012-03-30 2013-10-23 富士胶片株式会社 图像处理装置和图像处理方法

Also Published As

Publication number Publication date
JP6869360B2 (ja) 2021-05-12
JPWO2019053915A1 (ja) 2020-02-27
US11341599B2 (en) 2022-05-24
WO2019053915A1 (ja) 2019-03-21
CN110741408A (zh) 2020-01-31
US20200074584A1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
JP6632709B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
CN108475213B (zh) 图像处理装置、图像处理方法和图像处理程序
US11257178B2 (en) Image processing device, image processing method, and storage medium
CN110741408B (zh) 图像处理装置、图像处理方法和图像处理程序
US10878526B2 (en) Image processing apparatus, image processing method, and image processing program
US10949942B2 (en) Image processing apparatus, image processing method, and image processing program
JP6891153B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP7039424B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
US10783604B2 (en) Image processing apparatus, image processing method, and image processing program
JP2008140045A (ja) 画像処理装置、画像処理プログラム
JP2007079779A (ja) 画像処理装置、画像処理方法、プログラム、記録媒体
JP2009258908A (ja) 画像処理装置、画像処理プログラム

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