CN108885776B - 图像处理装置、图像处理方法及存储介质 - Google Patents
图像处理装置、图像处理方法及存储介质 Download PDFInfo
- Publication number
- CN108885776B CN108885776B CN201780019388.1A CN201780019388A CN108885776B CN 108885776 B CN108885776 B CN 108885776B CN 201780019388 A CN201780019388 A CN 201780019388A CN 108885776 B CN108885776 B CN 108885776B
- Authority
- CN
- China
- Prior art keywords
- image processing
- unit
- objects
- image
- tasks
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 315
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 239000000284 extract Substances 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 33
- 230000015654 memory Effects 0.000 claims description 31
- 238000000605 extraction Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 6
- 238000003786 synthesis reaction Methods 0.000 description 16
- 230000015572 biosynthetic process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000002194 synthesizing effect Effects 0.000 description 10
- 238000010276 construction Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 4
- 238000004886 process control Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/162—Segmentation; Edge detection involving graph-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20072—Graph-based image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/52—Parallel processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种图像处理装置、图像处理方法及存储介质。作为具备多个处理器核心的图像处理装置发挥功能的计算机从多个用于执行图像处理的图像处理模块以定向非循环图的形式连结而成的对象组抽取被串联连结的多个图像处理模块,并使多个处理器核心之中的相同的处理器核心执行基于所抽取的多个图像处理模块的各图像处理模块而进行的图像处理。
Description
技术领域
本公开技术涉及一种图像处理装置、图像处理方法及图像处理程序。
背景技术
以往,已知有按照对象组进行图像处理的技术,该对象组以DAG(Directe dAcyclic Graph:定向非循环(非周期性)图)形式连结有多个用于执行图像处理的对象(参考日本特开2012-118932号公报)。
并且,已知有使用多个处理器按照DAG形式的任务流程图进行并行处理的技术(参考日本特开2014-164664号公报)。该技术中在第1任务和作为第1 任务的前一任务的第2任务而被分配于不同的处理器中的情况下,直至由分配有第1任务的第1处理器能够参照基于第2任务的输出数据为止,等待第1任务的执行。
并且,已知有预测从第1处理器核心向第2处理器核心转移线程,并将与线程相关的数据从第1处理器核心转移到第2处理器核心的技术(参考日本特表2013-501296号公报)。该技术中将与线程相关的数据从第1处理器核心转移到第2处理器核心之后,将线程从第1处理器核心转移到第2处理器核心。
发明内容
发明要解决的技术课题
然而,在由多个处理器核心执行处理的情况下,作为决定在哪一个处理器核心上执行处理的执行单位即线程的调度方案的一例,已知有贪心调度(gree dy schedule)。贪心调度是指不使已结束执行处理的线程成为空闲状态的调度方案,在存在未执行处理的处理器核心的情况下,处理器核心立即执行下一个处理。从而,在贪心调度中存在的问题是有时导致由不同的处理器核心来执行参考相同的存储器上的区域连续执行的处理的各处理。
在日本特开2012-118932号公报中所记载的技术中,关于该问题却未考虑到。并且,在日本特开2014-164664号公报及日本特表2013-501296号公报中所记载的技术中,导致在不同的处理器核心之间转移(复制)时费时间,并且在转移数据期间执行处理被中断的结果,有时无法高速进行图像处理。
本公开技术提供一种与由不同的处理器核心来执行多个图像处理的各图形处理的情况相比,能够高速进行图像处理的图像处理装置、图像处理方法及图像处理程序。
用于解决技术课题的手段
本发明的第1方式的图像处理装置具备多个处理器核心,所述图像处理装置具备:抽取部,从多个用于执行图像处理的对象以定向非循环图的形式连结而成的对象组抽取被串联连结的多个对象;及执行部,使多个处理器核心之中的相同的处理器核心执行基于由抽取部抽取的多个对象的各对象而进行的图像处理。
另外,本发明的第2方式的图像处理装置在第1方式的图像处理装置中,抽取部可以抽取连结到前级的对象数为0或1的多个对象来作为被串联连结的多个对象。
并且,本发明的第3方式的图像处理装置在第1方式或第2方式的图像处理装置中,执行部使相同的处理器核心以分割区域为单位执行基于由抽取部抽取的多个对象的各对象而进行的图像处理,并且按每一个分割区域使不同的处理器核心执行基于被抽取的多个对象的各对象而进行的图像处理,其中,所述分割区域是通过将被设为基于被抽取的多个对象而进行的图像处理的执行对象的图像分割为多个区域而得到的。
并且,本发明的第4方式的图像处理装置在第3方式的图像处理装置中,还可以具备分割部,该分割部将被设为基于由抽取部抽取的多个对象而进行的图像处理的执行对象的图像分割为处理器核心的数量以下的多个分割区域。
并且,本发明的第5方式的图像处理装置在第3方式的图像处理装置中,还可以具备分割部,该分割部将被设为基于由抽取部抽取的多个对象而进行的图像处理的执行对象的图像以执行图像处理的运算部所具有的缓存存储器的容量以下的大小分割为多个分割区域。
并且,本发明的第6方式的图像处理装置在第1方式至第5方式中任一方式所述的图像处理装置中,多个处理器核心可以具有使用于图像处理中的缓存存储器。
本发明的第7方式的图像处理方法为一种通过具备多个处理器核心的图像处理装置而进行的图像处理方法,从对象组抽取被串联连结的多个对象,并使所述多个处理器核心之中的相同的处理器核心执行基于所抽取的多个对象的各对象而进行的图像处理,所述对象组以定向非循环图形式连结有多个用于执行图像处理的对象。
本发明的第8方式的图像处理程序用于使计算机作为本发明的第1方式至第6方式中任一方式的图像处理装置的抽取部及执行部发挥功能。
发明效果
根据本发明的一实施方式,与由不同的处理器核心执行多个图像处理的各图像处理的情况相比,能够高速进行图像处理。
附图说明
图1是表示作为实施方式所涉及的图像处理装置发挥功能的计算机的结构的一例的框图。
图2A是表示图像处理DAG的一例的概略图。
图2B是将输入输出用存储器添加到图像处理DAG的情况的概略图。
图3是表示实施方式所涉及的处理控制部的功能性结构的一例的框图。
图4是用于说明实施方式所涉及的合成模块的一例的概略图。
图5是用于说明实施方式所涉及的合成模块的一例的概略图。
图6是用于说明实施方式所涉及的合成模块的一例的概略图。
图7是用于说明实施方式所涉及的合成模块的一例的概略图。
图8是表示用于说明输入图像的分割处理的概略图。
图9是表示图像处理模块被分割为部分处理的图像处理DAG的一例的概略图。
图10是表示图像处理模块被分割为部分处理的图像处理DAG的一例的概略图。
图11是表示实施方式所涉及的图像处理程序的处理流程的流程图。
具体实施方式
以下,参考附图对用于实施本公开技术的方式例详细地进行说明。
首先,参考图1对作为图像处理装置发挥功能的计算机10的结构进行说明。另外,计算机10可以是组装到图像处理设备中的计算机,所述图像处理设备在复印机、打印机、传真装置、兼具这些装置的功能的复合机及扫描仪等的内部进行图像处理。并且,计算机10可以是PC(Personal Computer:个人电脑)等独立的计算机,也可以是组装到PDA(PersonalDigital Assistant:个人数字助理)及移动电话等移动设备中的计算机。
如图1所示,本实施方式所涉及的计算机10具备第1运算部12A、第2运算部12B、存储器14、显示部16、操作部18、存储部20、图像数据供给部22 及图像输出部24。并且,第1运算部12A、第2运算部12B、存储器14、显示部16、操作部18、存储部20、图像数据供给部22及图像输出部24的各部经由总线26而彼此连接。
本实施方式所涉及的第1运算部12A是计算机10的主处理器,作为一例为CPU(Central Processing Unit:中央处理器)。并且,本实施方式所涉及的第2运算部12B作为一例为内部具有本地存储器13的GPU(Graphics Proce ssing Unit:图形处理器)。并且,本实施方式所涉及的第2运算部12B具有缓存存储器及多个(本实施方式中为4个)处理器核心。另外,第2运算部12 B可以是与第1运算部12A相同种类的CPU,也可以是不同种类的CPU。并且,第2运算部12B可以是内置于第1运算部12A中的GPU。并且,第2运算部12 B可以是内部不具有本地存储器13的GPU。并且,第1运算部12A及第2运算部12B可以是FPGA(FieldProgrammable Gate Array:现场可编程门阵列) 等运算器。
存储器14是第1运算部12A及第2运算部12B临时存储数据的非易失性存储构件。在由本实施方式所涉及的第2运算部12B进行图像处理的情况下,第1运算部12A将存储在存储器14或存储部20的存储区域中的图像数据经由总线26而传送到第2运算部12B。然后,第2运算部12B将从第1运算部12A 传送过来的图像数据存储到本地存储器13中,并对所存储的图像数据进行图像处理。另外,第2运算部12B可以直接读取存储在存储器14或存储部20中的图像数据并进行图像处理。
在计算机10组装到前述图像处理设备中的情况下,显示部16及操作部18 例如适用设置在图像处理设备中的LCD(Liquid Crystal Display:液晶显示器)等显示面板及数字键等。并且,在计算机10为独立的计算机的情况下,显示部16及操作部18例如适用连接在计算机10上的显示器及键盘、鼠标等。并且,显示部16及操作部18可以是触控面板及显示器成一体化而构成的触控面板显示器等。并且,存储部20适用HDD(Hard Disk Drive:硬盘驱动器)、 SSD(Solid State Drive:固态硬盘)及闪存等非易失性存储介质。
图像数据供给部22只要供给处理对象的图像数据即可,例如适用图像读取部,该图像读取部读取记录在纸张或胶卷等记录材料上的图像并输出图像数据。并且,图像数据供给部22例如适用经由通信线路而从外部装置接收图像数据的接收部、及存储图像数据的图像存储部(存储器14或存储部20)等。
图像输出部24只要输出经过图像处理的图像数据或经过图像处理的图像数据所表示的图像即可,例如适用将图像数据所表示的图像记录在纸张或感光材料等记录材料上的图像记录部。并且,图像输出部24适用将图像数据所表示的图像显示于显示器等上的显示部(显示部16)、将图像数据写入CD-ROM (Compact Disk Read Only Memory:光盘只读存储器)等记录介质上的写入装置。并且,图像输出部24适用经由通信线路而将经过图像处理的图像数据发送到外部装置的发送部。并且,图像输出部24可以是存储经过图像处理的图像数据的图像存储部(存储器14或存储部20)。
如图1所示,存储部20中存储有通过第1运算部12A及第2运算部12B 而执行的各种程序。在存储部20中,作为各种程序而存储有资源管理、程序执行的管理及将计算机10与外部装置的通信等进行管理的操作系统30的程序。并且,在存储部20中,作为各种程序而存储有用于使计算机10作为图像处理装置发挥功能的图像处理程序组34。并且,在存储部20中,作为各种程序而存储有对上述图像处理装置进行所希望的图像处理的各种应用程序组32(以下,称作“应用程序32”。)。
图像处理程序组34是以减轻在开发由前述图像处理设备、移动设备及PC 等执行的图像处理程序时的负担为目的所开发出来的程序。并且,图像处理程序组34是以在前述图像处理设备、移动设备及PC等各种设备(平台)中能够共同执行的方式开发出来的程序。
通过图像处理程序组34而实现的图像处理装置按照来自应用程序32的构建指示,构建进行由应用程序32指示的图像处理的图像处理DAG50A(详细内容将进行后述)。而且,上述图像处理装置按照来自应用程序32的执行指示而执行图像处理DAG50A的处理。因此,图像处理程序组34将界面提供于应用程序32,所述界面用于指示进行所希望的图像处理的图像处理DAG50A的构建,或者用于指示通过所构建的图像处理DAG50A而执行图像处理。
根据以上结构,在新开发出需要在内部进行图像处理的任意的设备等情况下,关于进行上述图像处理的程序的开发,也只要如下所示进行开发即可。该情况下,只要开发出利用上述界面使图像处理程序组34进行在上述任意的设备中所需要的图像处理的应用程序32即可。从而,开发人员不需要重新开发出实际进行图像处理的程序,可以减轻开发人员的负担。
接着,关于本实施方式所涉及的图像处理程序组34详细地进行说明。如图1所示,图像处理程序组34包括模块库36、处理构建部42的程序及处理控制部46的程序。
模块库36中分别登录有进行预先设定的彼此不同的图像处理的多种图像处理模块38的程序。作为该图像处理,例如可以举出输入处理、过滤处理、色彩转换处理、放大/缩小处理(图1中标记为“缩放处理”)、倾斜角检测处理、图像旋转处理、图像合成处理及输出处理等。
并且,模块库36中也登录有图像处理的种类相同且所执行的图像处理的内容不同的图像处理模块38。在图1中,将这种图像处理模块在末尾标注数字而区别为“模块1”、“模块2”。例如关于进行放大/缩小处理的图像处理模块38,准备有进行缩小处理的图像处理模块38,所述缩小处理为在水平方向及垂直方向的各方向上均对所输入的图像数据每隔1个像素进行间隔剔除,由此将图像的纵横大小缩小为50%。而且,例如关于进行放大/缩小处理的图像处理模块38,准备有以所指定的放大/缩小率对所输入的图像数据进行放大/缩小处理的图像处理模块38等。
并且,例如关于进行色彩转换处理的图像处理模块38,准备有将RGB(Re d(红)Green(绿)Blue(蓝))色彩空间的图像转换为CMYK(Cyan(青) Magenta(洋红)Yellow(黄)Key-Plate(黑))色彩空间的图像的图像处理模块38及将CMYK色彩空间的图像转换为RGB色彩空间的图像的图像处理模块38。进而,例如关于进行色彩转换处理的图像处理模块38,准备有将RGB 色彩空间的图像转换为YCbCr色彩空间的图像的图像处理模块38及将YCbCr 色彩空间的图像转换为RGB色彩空间的图像的图像处理模块38等。
并且,模块库36中也登录有具备用于存储图像数据的存储区域(缓冲) 的缓冲模块40。
本实施方式所涉及的处理构建部42根据来自应用程序32的指示而构建DA G形式的图像处理DAG50A。在图像处理DAG50A中,作为一例,如图2A所示, 1个以上的图像处理模块38经由配置在各图像处理模块38的前级及后级中的至少一方的缓冲模块40而被连结。
另外,各个图像处理模块38为对输入图像数据执行图像处理并输出图像数据的对象的一例。并且,图像处理DAG50A为连结有多个图像处理模块38的对象组的一例。并且,在图2A所示例中,在由前级的图像处理模块38进行的图像处理结束的情况下,经由缓冲模块40而在前级连结有图像处理模块38的图像处理模块38示出能够执行本身的图像处理。并且,在前级的多个图像处理模块38的所有图像处理结束的情况下,经由缓冲模块40而在前级连结有多个图像处理模块38的图像处理模块38示出能够执行本身的图像处理。
并且,图2A中示出只有各模块按处理顺序连接的DAG,在执行该DAG时,如图2B所示被输入存储在存储器14中的图像数据,并按照DAG进行图像处理。然后,最终在存储器14中存储完成处理的图像数据等处理结果。另外,由第2 运算部12B执行通过各图像处理模块38而执行的图像处理的情况下,图2B中示出的存储器14成为本地存储器13。
接着,参考图3对本实施方式所涉及的处理控制部46的功能性结构进行说明。如图3所示,处理控制部46具备抽取部60、合成部62、分割部64、执行部66及输出部68。
本实施方式所涉及的抽取部60从由处理构建部42构建的图像处理DAG50A 中抽取被串联连结的多个图像处理模块38。在本实施方式中,抽取部60抽取连结到前级的图像处理模块38的数量为0或1的多个图像处理模块38来作为被串联连结的多个图像处理模块38。
本实施方式所涉及的合成部62构建图像处理DAG50B,该图像处理DAG50B 将由抽取部60抽取的多个图像处理模块38替换为内含被抽取的多个图像处理模块38的合成模块52。参考图4~图7,关于通过抽取部60及合成部62进行的处理详细地进行说明。另外,图4~图7示出通过各合成部62进行的处理后的图像处理DAG50B的一例。
如图4所示,在3个图像处理模块38经由缓冲模块40而连结成一列的情况下,抽取部60抽取被串联连结的3个图像处理模块38。然后,合成部62构建图像处理DAG50B,该图像处理DAG50B将由抽取部60抽取的3个图像处理模块38替换为内含被抽取的3个图像处理模块38的合成模块52。
另一方面,如图5所示,在5个图像处理模块38经由缓冲模块40而被连结的情况下,抽取部60抽取由图5的虚线包围的被串联连结的3个图像处理模块38。然后,合成部62构建图像处理DAG50B,该图像处理DAG50B将由抽取部60抽取的3个图像处理模块38替换为内含被抽取的3个图像处理模块38 的合成模块52。
并且,如图6所示,在4个图像处理模块38经由缓冲模块40而被连结的情况下,抽取部60抽取由图6的虚线包围的被串联连结的3个图像处理模块3 8。然后,合成部62构建图像处理DAG50B,该图像处理DAG50B将由抽取部60 抽取的3个图像处理模块38替换为内含被抽取的3个图像处理模块38的合成模块52。另外,该情况下,抽取部60也可以抽取由图6的单点划线包围的被串联连结的3个图像处理模块38。
如图6所示,在存在多组作为抽取部60的抽取对象的被串联连结的多个图像处理模块38、且一部分图像处理模块38重复的多个图像处理模块38的情况下,通过抽取部60进行的抽取方法并无特别的限定。该情况下,例如抽取部60在多组图像处理模块38组中可以随机抽取任一个图像处理模块38组。
并且,该情况下,例如抽取部60在多组图像处理模块38组中可以抽取图像处理模块38的数量最多的图像处理模块38组。并且,该情况下,例如对每一个图像处理模块38预先赋予优先度,抽取部60在多组图像处理模块38组中可以抽取优先度的合计值最大的图像处理模块38组。
进而,如图7所示,在6个图像处理模块38经由缓冲模块40而被连结的情况下,抽取部60抽取由图7的虚线包围的被串联连结的3个图像处理模块3 8。并且,该情况下,抽取部60也抽取由图7的单点划线包围的被串联连结的 2个图像处理模块38。然后,合成部62构建图像处理DAG50B,该图像处理DA G50B将由抽取部60抽取的2组图像处理模块38组替换为内含被分别抽取的图像处理模块38组的合成模块52。
本实施方式所涉及的分割部64将由作为输入图像数据的处理对象的部分来表示的图像分割为多个分割图像(分割区域)。作为一例,如图8所示,分割部64将由作为输入图像数据的处理对象的部分来表示的图像G分割为多个 (图8所示例中为3个)分割图像B1~B3。另外,以下,将表示分割图像的图像数据称作“分割图像数据”。并且,作为输入图像数据的处理对象的部分是指,如色彩转换处理一样,在将整个输入图像作为处理对象的图像处理中,整个输入图像数据作为处理对象的部分。并且,作为输入图像数据的处理对象的部分是指,如剪切(修剪)处理一样,在将输入图像的一部分作为对象的图像处理中输入图像的一部分。以下,为了避免复杂化,将作为输入图像数据的处理对象的部分简称为“输入图像数据”。
并且,在图8所示例中,分割部64将图像G进行上下分割,但并不限定于此。例如分割部64可以将图像G进行左右分割,也可以进行上下左右分割。
在本实施方式中,分割部64将输入图像数据分割为执行通过图像处理DAG 50B而进行的图像处理的运算部(本实施方式中为第2运算部12B)所具有的处理器核心数量以下且2以上的数量。另外,分割部64也可以以预先规定的数量或大小来分割输入图像数据。
并且,分割部64也可以以执行通过图像处理DAG50B而进行的图像处理的运算部所具有的缓存存储器的容量以下的大小来分割输入图像数据。该情况下,例如例示出如下形式:分割部64以离执行通过图像处理DAG50B进行的图像处理的运算部的处理器最远级别的缓存存储器所谓LLC(Last Level Cache:末级缓存)的容量以下且与LLC的容量尽量一致的大小来分割输入图像数据。
并且,作为一例,如图9及图10所示,分割部64相对于图像处理DAG50B,将由各图像处理模块38执行的图像处理分割为与各个分割图像数据对应的部分处理39(任务),从而构建图像处理DAG50C。另外,在图9、图4所示的图像处理DAG50B中,示出将输入图像数据分割为2个分割图像数据的情况的图像处理DAG50C。并且,图10示出在图5所示的图像处理DAG50B中,将输入图像数据分割为4个分割图像数据的情况的图像处理DAG50C。另外,在图9及1 0中,为了避免复杂化,省略了缓冲模块40的图示。
进而,分割部64根据由图像处理模块38执行的图像处理的种类,在连结在前级的图像处理模块38的部分处理39与连结在后级的图像处理模块38的部分处理39之间赋予依赖关系。另外,在图9及图10中,用虚线的箭头来表示该依赖关系。
例如,如色彩转换处理一样,在仅对作为处理对象的像素进行图像处理的处理中,各部分处理39也成为1对1的依赖关系。另一方面,例如,如过滤处理一样,在也需要作为处理对象的像素的周边像素的图像处理中,对周边像素进行图像处理的前级的部分处理39中也赋予依赖关系。在不存在与前级有存在依赖关系的部分处理39的情况下,或者在有依赖关系的所有部分处理39 结束的情况下,能够执行各部分处理39。
本实施方式所涉及的执行部66使第2运算部12B按照图像处理DAG50C而执行图像处理。在本实施方式中,执行部66使第2运算部12B的多个处理器核心中的相同的处理器核心执行通过内含于合成模块52中的多个图像处理模块38的各图像处理模块而进行的图像处理。具体而言,在本实施方式中,执行部66使相同的处理器核心以分割图像数据单位执行通过内含于合成模块52 中的多个图像处理模块38的各图像处理模块而进行的图像处理。并且,执行部66使不同的处理器核心对每一个分割图像数据执行通过内含于合成模块52中的多个图像处理模块38的各图像处理模块而进行的图像处理。另外,以下,将对合成模块52中的各分割图像数据进行处理的多个部分处理39称作“部分处理组54”(也参考图9及图10)。
例如在构建了图9所示的图像处理DAG50C的情况下,执行部66使第2运算部12B的相同的处理器核心执行内含于各部分处理组54中的各部分处理39。并且,该情况下,执行部66在各部分处理组54之间使不同的处理器核心执行内含于部分处理组54中的部分处理39。另外,关于除了合成模块52以外的图像处理模块38,执行部66只要使第2运算部12B的处理器核心以贪心调度等预先规定的调度方案执行即可。
本实施方式所涉及的输出部68输出由图像处理DAG50C的最终阶段的图像处理模块38执行的图像处理结果而得到的输出图像数据。在本实施方式中,输出部68将所得到的输出图像数据显示于显示部16。另外,输出部68可以将输出图像数据输出(发送)到外部装置。并且,在计算机10组装到打印机的情况下,输出部68可以将由输出图像数据来表示的输出图像输出(形成)到纸张等记录材料。
接着,参考图11对本实施方式所涉及的计算机10的作用进行说明。另外,图11是表示在由应用程序32输入了图像处理的开始执行指示的情况下,通过第1运算部12A而执行的图像处理程序的处理流程的流程图。并且,图像处理程序预先安装在存储部20中。并且,通过第1运算部12A执行图像处理程序,第1运算部12A作为前述处理构建部42、抽取部60、合成部62、分割部64、执行部66及输出部68发挥功能。
在图11的步骤100中,处理构建部42按照来自应用程序32的构建指示而构建进行应用程序32所指示的图像处理的图像处理DAG50A。下一个步骤10 2中,如前所述,抽取部60从在步骤100中构建的图像处理DAG50A中抽取被串联连结的多个图像处理模块38。
下一个步骤104中,合成部62构建图像处理DAG50B,该图像处理DAG50B 将在步骤102中抽取的多个图像处理模块38替换为内含被抽取的多个图像处理模块38的合成模块52。
下一个步骤106中,如前所述,分割部64将输入图像数据分割为多个分割图像数据。然后,分割部64根据由图像处理模块38执行的图像处理的种类,在连结到前级的图像处理模块38的部分处理39与连结到后级的图像处理模块 38的部分处理39之间赋予依赖关系。通过本步骤106的处理,分割部64构建图像处理DAG50C。
在步骤108中,如前所述,执行部66按照图像处理DAG50C使第2运算部 12B执行图像处理。第2运算部12B将从第1运算部12A传送过来的输入图像数据存储在本地存储器13中,并按照图像处理DAG50C而执行图像处理。若通过图像处理DAG50C而进行的图像处理结束,则第2运算部12B将最终得到的 (即,从图像处理DAG50A的最终阶段的图像处理模块38输出的)输出图像数据从本地存储器13传送到第1运算部12A。
因此,在步骤110中,输出部68进行输出图像数据的接收等待。若输出部68接收输出图像数据,则步骤110成为肯定判定,处理转移到步骤112。在步骤112中,输出部68将在步骤110中接收到的输出图像数据输出到显示部1 6之后,结束该图像处理。
如以上说明,根据本实施方式,从图像处理DAG50A中抽取被串联连结的多个图像处理模块38。然后,将所抽取的多个图像处理模块38替换为合成模块52,使相同的处理器核心执行合成模块52。由此,由相同的处理器核心执行通过将相同的区域的图像数据作为处理对象的图像处理模块38而进行的图像处理的结果,可抑制处理器核心之间的线程的转移及图像数据传送的频率。从而,与在不同的处理器核心上执行多个图像处理的各图像处理的情况相比,能够高速进行图像处理。
进而,根据本实施方式,使相同的处理器核心执行合成模块52,因此缓存存储器的命中率也提高。由此,与在不同的处理器核心上执行多个图像处理的各图像处理的情况相比,能够高速进行图像处理。
并且,根据本实施方式,将输入图像数据分割为多个分割图像数据,从而以分割图像数据单位执行图像处理。由此,图像处理并行执行的程度提高的结果,能够进一步高速进行图像处理。
另外,在上述实施方式中,关于将输入图像数据分割为多个分割图像数据的情况进行了说明,但并不限定于此。例如也可以设为不分割输入图像数据而对输入图像数据进行图像处理的形式。作为该情况的形式例,例示出按照图像处理DAG50B而执行图像处理的形式。
并且,在上述实施方式中,关于使第2运算部12B执行通过图像处理DAG5 0C进行的图像处理的情况进行了说明,但并不限定于此。例如也可以设为使第 1运算部12A执行通过图像处理DAG50C进行的图像处理的形式,也可以设为使第1运算部12A及第2运算部12B两者执行的形式。
并且,在上述实施方式中,对各种程序预先存储(安装)在存储部20中的方式进行了说明,但并不限定于此。各种程序可以以记录在CD-ROM、DVD-RO M(DigitalVersatileDisk Read Only Memory:数字多功能磁盘只读存储器)、USB(Universal Serial Bus:通用串行总线)存储器等记录介质中的形式而被提供。并且,各种程序也可以设为经由网络从外部装置下载的形式。
本申请主张基于2016年3月24日于日本申请的日本专利申请2016-06052 3号的公开通过参考而援用于本说明书中。
在本说明书中记载的所有文献、专利申请及技术标准中,通过参考而援用各文献、日本专利申请及技术标准的情况与通过具体且与分别记载的情况相同的程度,通过参考而援用于本说明书中。
符号说明
10-计算机,12A-第1运算部,12B-第2运算部,13-本地存储器,14-存储器,16-显示部,18-操作部,20-存储部,22-图像数据供给部,24-图像输出部,26-总线,30-操作系统,32-应用程序组,34-图像处理程序组,36-模块库,38-图像处理模块,39-部分处理,40-缓冲模块,42-处理构建部,46- 处理控制部,50A、50B、50C-图像处理DAG,52-合成模块,54-部分处理组,6 0-抽取部,62-合成部,64-分割部,66-执行部,68-输出部,B1~B3-分割图像,G-图像。
Claims (8)
1.一种图像处理装置,其具备多个处理器核心,
所述图像处理装置的特征在于,具备:
抽取部,从多个用于执行图像处理的对象以定向非循环图的形式连结而成的对象组抽取被串联连结的多个对象;
分割部,将被设为基于由所述抽取部抽取的多个对象而进行的图像处理的执行对象的图像分割为多个分割区域,并且将所述图像处理分割为分别与所述分割区域对应的多个任务,在所述多个任务之中的、与所述被串联连结的多个对象中包含的连结到前级的对象对应的任务、和所述多个任务之中的、与所述被串联连结的多个对象中包含的连结到后级的对象对应的任务之间,根据所述图像处理的种类赋予依赖关系;及
执行部,使所述多个处理器核心之中的相同的处理器核心执行由所述分割部分割而得到的所述多个任务的各任务,并且在所述多个任务间使不同的处理器核心执行由所述分割部分割而得到的所述多个任务的各任务。
2.根据权利要求1所述的图像处理装置,其中,
所述抽取部抽取连结到前级的对象数为0或1的多个对象来作为所述被串联连结的多个对象。
3.根据权利要求1或2所述的图像处理装置,其中,
所述执行部对于被设为基于由所述抽取部抽取的多个对象而进行的图像处理的执行对象的图像,使相同的处理器核心以所述分割区域为单位执行基于该被抽取的多个对象的各对象而进行的图像处理,并且按每一个分割区域使不同的处理器核心执行基于该被抽取的多个对象的各对象而进行的图像处理。
4.根据权利要求3所述的图像处理装置,其中,
所述分割部将被设为基于由所述抽取部抽取的多个对象而进行的图像处理的执行对象的图像分割为所述处理器核心的数量以下的多个所述分割区域。
5.根据权利要求3所述的图像处理装置,其中,
所述分割部将被设为基于由所述抽取部抽取的多个对象而进行的图像处理的执行对象的图像以执行所述图像处理的运算部所具有的缓存存储器的容量以下的大小分割为多个所述分割区域。
6.根据权利要求1或2所述的图像处理装置,其中,
所述多个处理器核心具有使用于所述图像处理中的缓存存储器。
7.一种图像处理方法,其为通过具备多个处理器核心的图像处理装置而进行的图像处理方法,所述图像处理方法的特征在于,
从多个用于执行图像处理的对象以定向非循环图的形式连结而成的对象组抽取被串联连结的多个对象,
将被设为基于所抽取的多个对象而进行的图像处理的执行对象的图像分割为多个分割区域,将所述图像处理分割为分别与所述分割区域对应的多个任务,在所述多个任务之中的、与所述被串联连结的多个对象中包含的连结到前级的对象对应的任务、和所述多个任务之中的、与所述被串联连结的多个对象中包含的连结到后级的对象对应的任务之间,根据所述图像处理的种类赋予依赖关系,
使所述多个处理器核心之中的相同的处理器核心执行分割而得到的所述多个任务的各任务,并且在所述多个任务间使不同的处理器核心执行分割而得到的所述多个任务的各任务。
8.一种存储有图像处理程序的存储介质,其特征在于,
所述图像处理程序用于使计算机作为权利要求1或2所述的图像处理装置的抽取部、分割部及执行部发挥功能。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-060523 | 2016-03-24 | ||
JP2016060523 | 2016-03-24 | ||
PCT/JP2017/002573 WO2017163591A1 (ja) | 2016-03-24 | 2017-01-25 | 画像処理装置、画像処理方法、及び画像処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108885776A CN108885776A (zh) | 2018-11-23 |
CN108885776B true CN108885776B (zh) | 2022-09-27 |
Family
ID=59901143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780019388.1A Active CN108885776B (zh) | 2016-03-24 | 2017-01-25 | 图像处理装置、图像处理方法及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10949942B2 (zh) |
JP (1) | JP6534492B2 (zh) |
CN (1) | CN108885776B (zh) |
WO (1) | WO2017163591A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3837622A4 (en) * | 2018-09-11 | 2021-10-13 | Huawei Technologies Co., Ltd. | HETEROGENEOUS PLANNING FOR SEQUENTIAL CALCULATION DAG |
JP7367365B2 (ja) * | 2019-07-23 | 2023-10-24 | 富士通株式会社 | タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム |
CN112750079A (zh) * | 2020-12-29 | 2021-05-04 | 深圳市鸿合创新信息技术有限责任公司 | 图像处理方法、装置及一体机 |
US12075016B1 (en) | 2023-12-11 | 2024-08-27 | Ricoh Company, Ltd. | Reordered multibit halftone processing with a threshold array |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873690A (zh) * | 2005-06-03 | 2006-12-06 | 富士施乐株式会社 | 图像处理设备、方法和存储有程序的存储介质 |
CN102483842A (zh) * | 2009-08-26 | 2012-05-30 | 国立大学法人东京大学 | 图像处理装置和图像处理方法 |
CN102707952A (zh) * | 2012-05-16 | 2012-10-03 | 上海大学 | 嵌入式异构多核处理器上基于用户描述的程序设计方法 |
US9223551B1 (en) * | 2014-07-22 | 2015-12-29 | Here Global B.V. | Rendergraph compilation method and use thereof for low-latency execution |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7554550B2 (en) * | 2005-06-24 | 2009-06-30 | Microsoft Corporation | Non-destructive processing of digital image data |
JP2007287084A (ja) * | 2006-04-20 | 2007-11-01 | Fuji Xerox Co Ltd | 画像処理装置及びプログラム |
JP4942095B2 (ja) * | 2007-01-25 | 2012-05-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチコア・プロセッサにより演算を行う技術 |
JP2009054001A (ja) * | 2007-08-28 | 2009-03-12 | Fujifilm Corp | 画像処理装置及びプログラム |
US20110066830A1 (en) | 2009-09-11 | 2011-03-17 | Andrew Wolfe | Cache prefill on thread migration |
JP2012118932A (ja) | 2010-12-03 | 2012-06-21 | Fuji Xerox Co Ltd | 情報処理装置及びプログラム |
CN102193826B (zh) * | 2011-05-24 | 2012-12-19 | 哈尔滨工程大学 | 一种异构多核处理器高效任务调度方法 |
JP5775386B2 (ja) * | 2011-07-14 | 2015-09-09 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 並列化方法、システム、及びプログラム |
JP5479519B2 (ja) * | 2012-03-30 | 2014-04-23 | 富士フイルム株式会社 | 画像処理装置、方法及びプログラム |
JP6011006B2 (ja) * | 2012-04-27 | 2016-10-19 | ブラザー工業株式会社 | 液滴噴射装置 |
US9384522B2 (en) * | 2012-12-28 | 2016-07-05 | Qualcomm Incorporated | Reordering of command streams for graphical processing units (GPUs) |
JP2014164664A (ja) | 2013-02-27 | 2014-09-08 | Nec Corp | タスク並列処理方法、装置及びプログラム |
CN103336713A (zh) * | 2013-06-19 | 2013-10-02 | 西北工业大学 | 一种基于任务复制与聚簇的并行任务分配方法 |
US9146747B2 (en) * | 2013-08-08 | 2015-09-29 | Linear Algebra Technologies Limited | Apparatus, systems, and methods for providing configurable computational imaging pipeline |
AU2013260722A1 (en) * | 2013-11-22 | 2015-06-11 | Canon Kabushiki Kaisha | Scheduling interpreting and rasterising tasks in a multi-threaded RIP |
US9652817B2 (en) * | 2015-03-12 | 2017-05-16 | Samsung Electronics Co., Ltd. | Automated compute kernel fusion, resizing, and interleave |
US9965824B2 (en) * | 2015-04-23 | 2018-05-08 | Google Llc | Architecture for high performance, power efficient, programmable image processing |
US10387988B2 (en) * | 2016-02-26 | 2019-08-20 | Google Llc | Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform |
-
2017
- 2017-01-25 JP JP2018507079A patent/JP6534492B2/ja active Active
- 2017-01-25 WO PCT/JP2017/002573 patent/WO2017163591A1/ja active Application Filing
- 2017-01-25 CN CN201780019388.1A patent/CN108885776B/zh active Active
-
2018
- 2018-09-19 US US16/134,974 patent/US10949942B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873690A (zh) * | 2005-06-03 | 2006-12-06 | 富士施乐株式会社 | 图像处理设备、方法和存储有程序的存储介质 |
CN102483842A (zh) * | 2009-08-26 | 2012-05-30 | 国立大学法人东京大学 | 图像处理装置和图像处理方法 |
CN102707952A (zh) * | 2012-05-16 | 2012-10-03 | 上海大学 | 嵌入式异构多核处理器上基于用户描述的程序设计方法 |
US9223551B1 (en) * | 2014-07-22 | 2015-12-29 | Here Global B.V. | Rendergraph compilation method and use thereof for low-latency execution |
Also Published As
Publication number | Publication date |
---|---|
JP6534492B2 (ja) | 2019-06-26 |
JPWO2017163591A1 (ja) | 2018-08-09 |
US10949942B2 (en) | 2021-03-16 |
US20190019270A1 (en) | 2019-01-17 |
CN108885776A (zh) | 2018-11-23 |
WO2017163591A1 (ja) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108463836B (zh) | 图像处理装置、图像处理方法和图像处理程序 | |
CN108885776B (zh) | 图像处理装置、图像处理方法及存储介质 | |
US10795725B2 (en) | Image processing device, image processing method, and non-transitory computer readable medium for image processing | |
US11257178B2 (en) | Image processing device, image processing method, and storage medium | |
US11341599B2 (en) | Image processing apparatus, image processing method, and computer readable medium storing image processing program | |
CN108780565B (zh) | 图像处理装置、图像处理方法及存储介质 | |
US11315212B2 (en) | Image processing apparatus, image processing method, and computer readable medium for executing partial processes on image-section data items | |
JP7039424B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
US10783604B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP2016021641A (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 Capital of Japan Applicant after: FUJIFILM Corp. Applicant after: Fuji film business innovation Co.,Ltd. Address before: Tokyo Capital of Japan Applicant before: FUJIFILM Corp. Applicant before: Fuji Xerox Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |