图像处理装置、图像处理方法及图像处理程序与流程

文档序号:15884588发布日期:2018-11-09 18:36阅读:122来源:国知局
图像处理装置、图像处理方法及图像处理程序与流程

本公开技术涉及一种图像处理装置、图像处理方法及图像处理程序。

背景技术

以往,已知有按照对象组进行图像处理的技术,该对象组以dag(directedacyclicgraph:定向非循环(非周期性)图)形式连结有多个用于执行图像处理的对象(参考日本专利4694264号公报)。

并且,已知有如下技术:在根据以dag形式连结有多个节点(任务)的图执行处理的情况下,当执行各节点时,按照图而搜索接下来执行的节点(参考日本专利第4491026号公报)。

并且,已知有如下技术:在根据以dag形式连结有多个执行图像处理的对象的对象组来执行图像处理的情况下,当执行图像处理时,伴随图像处理的进行而提高位于后级侧的对象的优先度(参考日本特开2007-323393号公报)。



技术实现要素:

发明要解决的技术课题

然而,在日本专利第4694264号公报中记载的技术中,例如依次执行根据由应用程序的指示所构建的上述对象组能够执行的处理,有时无法以处理效率从高到低的顺序执行处理。

并且,在日本专利第4491026号公报中记载的技术中,当执行各节点时,按照图而搜索接下来执行的节点,因此有时导致执行处理时的探索处理负荷较高且处理效率降低。

并且,在日本特开2007-323393号公报中记载的技术中,在执行通过上述对象组进行的图像处理时,变更位于后级侧的对象的优先度,因此有时导致在执行图像处理时的优先度的变更处理的负荷较高且处理效率降低。

本公开技术提供一种在存在多个能够执行的处理的情况下,能够选择抑制处理效率的降低且能够执行的处理的图像处理装置、图像处理方法及图像处理程序。

用于解决技术课题的手段

本发明的第1方式的图像处理装置通过以定向非循环图形式连结多个执行图像处理的对象而成的对象组的各对象,对按每一个部分区域分割由输入图像数据来表示的输入图像而成的各分割图像数据进行部分处理,所述图像处理装置具备:赋予部,对被连结的对象之间的部分处理赋予处理的依赖关系,并且对各部分处理赋予优先度;登录部,按照被赋予的优先度,将能够基于依赖关系执行的部分处理进行排列,并登录到可执行部分处理列表中;及执行部,按照通过登录部登录的可执行部分处理列表中的优先度从高到低的顺序执行部分处理。

另外,本发明的第2方式的图像处理装置在第1方式的图像处理装置中,依赖关系可以是如下关系,即,在被连结的对象之间,在连结到前级的对象的部分处理结束的情况下,能够执行连结到后级的对象的部分处理。

并且,本发明的第3方式的图像处理装置在第1方式或第2方式的图像处理装置中,赋予部可以对通过连结到后级的对象而执行的部分处理赋予比通过连结到前级的对象而执行的部分处理高的优先度。

并且,本发明的第4方式的图像处理装置在第1方式至第3方式中任一方方式的图像处理装置中,关于存在依赖关系的各部分处理,赋予部可以将根据连结到前级的对象的部分处理的优先度的优先度赋予到连结到后级的对象的部分处理。

并且,本发明的第5方式的图像处理装置在第1方式至第4方式中任一方式的图像处理装置中,在对象组中存在并行执行的对象的情况下,赋予部可以对并行执行的对象之间的部分处理赋予处理顺序交替的优先度。

并且,本发明的第6方式的图像处理装置在第1方式至第5方式中任一方式的图像处理装置中,分割图像数据为表示输入图像在主视图中被上下方分割的分割图像的图像数据,赋予部可以对处理表示输出图像的位于主视图上方的分割图像的分割图像数据的部分处理,赋予比处理表示输出图像的位于主视图下方的分割图像的分割图像数据的部分处理高的优先度。

本发明的第7方式的图像处理方法为通过图像处理装置进行的图像处理方法,所述图像处理装置通过以定向非循环图形式连结多个执行图像处理的对象而成的对象组的各对象,对按每一个部分区域分割由输入图像数据来表示的输入图像而成的各分割图像数据进行部分处理,所述图像处理方法对被连结的对象之间的部分处理赋予处理的依赖关系,并且对各部分处理赋予优先度,按照所赋予的优先度,将能够基于依赖关系执行的部分处理进行排列,并登录到可执行部分处理列表中,按照所登录的可执行部分处理列表中的优先度从高到低的顺序而执行部分处理。

本发明的第8方式的图像处理程序用于使计算机作为本发明的第1方式至第6方式中任一方式的图像处理装置的赋予部、登录部及执行部发挥功能。

发明效果

根据本发明的一实施方式,在存在多个能够执行的处理的情况下,能够选择抑制处理效率的降低且能够执行的处理。

附图说明

图1是表示作为实施方式所涉及的图像处理装置发挥功能的计算机的结构的一例的框图。

图2a是表示图像处理dag的一例的概略图。

图2b是表示将输入输出用存储器添加到图像处理dag的情况的一例的概略图。

图3是表示实施方式所涉及的处理控制部的功能性结构的一例的框图。

图4a是用于说明输入图像的分割处理的一例的概略图。

图4b是用于说明输入图像的分割处理的一例的概略图。

图5是表示图像处理模块被分割为部分处理的图像处理dag的一例的概略图。

图6是表示对部分处理赋予优先度的图像处理dag的一例的概略图。

图7是表示在进行图像的色彩转换处理的情况下对部分处理赋予的优先度的一例的概略图。

图8是表示在进行将图像的上下翻转的处理的情况下对部分处理赋予的优先度的一例的概略图。

图9是表示对部分处理赋予优先度的图像处理dag的一例的概略图。

图10是表示实施方式所涉及的可执行部分处理列表的一例的概略图。

图11是表示实施方式所涉及的图像处理程序的处理流程的流程图。

图12是表示通过实施方式所涉及的图像处理dag进行的图像处理的时序转移的一例的示意图。

图13是表示通过实施方式所涉及的图像处理dag进行的图像处理的时序转移的一例的示意图。

具体实施方式

以下,参考附图对用于实施本公开技术的方式例详细地进行说明。

首先,参考图1对作为图像处理装置发挥功能的计算机10的结构进行说明。另外,计算机10可以是组装到图像处理设备中的计算机,所述图像处理设备在复印机、打印机、传真装置、兼具这些装置的功能的复合机及扫描仪等的内部进行图像处理。并且,计算机10可以是pc(personalcomputer:个人电脑)等独立的计算机,也可以是组装到pda(personaldigitalassistant:个人数字助理)及移动电话等移动设备中的计算机。

如图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(centralprocessingunit:中央处理器)。并且,本实施方式所涉及的第2运算部12b作为一例为内部具有本地存储器13的gpu(graphicsprocessingunit:图形处理器)。另外,第2运算部12b可以是与第1运算部12a相同种类的cpu,也可以是不同种类的cpu。并且,第2运算部12b可以是内置于第1运算部12a中的gpu。并且,第2运算部12b可以是内部不具有本地存储器13的gpu。并且,第1运算部12a及第2运算部12b可以是fpga(fieldprogrammablegatearray:现场可编程门阵列)等运算器。

存储器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(liquidcrystaldisplay:液晶显示器)等显示面板及数字键等。并且,在计算机10为独立的计算机的情况下,显示部16及操作部18例如适用连接在计算机10上的显示器及键盘、鼠标等。并且,显示部16及操作部18可以是触控面板及显示器成一体化而构成的触控面板显示器等。并且,存储部20适用hdd(harddiskdrive:硬盘驱动器)、ssd(solidstatedrive:固态硬盘)及闪存等非易失性存储介质。

图像数据供给部22只要供给处理对象的图像数据即可,例如适用图像读取部,该图像读取部读取记录在纸张或胶卷等记录材料上的图像并输出图像数据。并且,图像数据供给部22例如适用经由通信线路而从外部装置接收图像数据的接收部、及存储图像数据的图像存储部(存储器14或存储部20)等。

图像输出部24只要输出经过图像处理的图像数据或经过图像处理的图像数据所表示的图像即可,例如适用将图像数据所表示的图像记录在纸张或感光材料等记录材料上的图像记录部。并且,图像输出部24适用将图像数据所表示的图像显示于显示器等上的显示部(显示部16)、将图像数据写入cd-rom(compactdiskreadonlymemory:光盘只读存储器)等记录介质上的写入装置。并且,图像输出部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(red(红)green(绿)blue(蓝))色彩空间的图像转换为cmyk(cyan(青)magenta(洋红)yellow(黄)key-plate(黑))色彩空间的图像的图像处理模块38及将cmyk色彩空间的图像转换为rgb色彩空间的图像的图像处理模块38。进而,例如关于进行色彩转换处理的图像处理模块38,准备有将rgb色彩空间的图像转换为ycbcr色彩空间的图像的图像处理模块38及将ycbcr色彩空间的图像转换为rgb色彩空间的图像的图像处理模块38等。

并且,本实施方式所涉及的图像处理模块38中包括运算部信息,该运算部信息表示由第1运算部12a及第2运算部12b中的哪一个运算部来执行各图像处理模块38。另外,运算部信息可以根据图像处理模块38的种类及图像处理内容中的至少一方被预先设定,也可以在根据来自应用程序32的指示通过后述处理构建部42而构建图像处理dag50a时被设定。

并且,模块库36中也登录有具备用于存储图像数据的存储区域(缓冲)的缓冲模块40。

本实施方式所涉及的处理构建部42根据来自应用程序32的指示而构建dag形式的图像处理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、登录部68、执行部70及输出部72。

本实施方式所涉及的分割部60将由作为输入图像数据的处理对象的部分来表示的图像分割为多个部分区域(以下,称作“分割图像”。)。作为一例,如图4a所示,分割部60将由作为输入图像数据的处理对象的部分来表示的图像g分割为多个(图4a所示例中为3个)分割图像b1~b3。另外,以下,将表示分割图像的图像数据称作“分割图像数据”。并且,作为输入图像数据的处理对象的部分是指,如色彩转换处理一样,在将整个输入图像作为处理对象的图像处理中,整个输入图像数据作为处理对象的部分。并且,作为输入图像数据的处理对象的部分是指,如剪切(修剪)处理一样,在将输入图像的一部分作为处理对象的图像处理中输入图像的一部分。以下,为了避免复杂化,将作为输入图像数据的处理对象的部分简称为“输入图像数据”。

并且,在图4a所示例中,分割部60将图像g在主视图中进行上下分割,但并不限定于此。例如分割部60可以将图像g在主视图中进行左右分割,如图4b所示,也可以在主视图中进行上下左右分割。

另外,通过分割部60进行的输入图像数据的分割数并无特别的限定。例如分割部60可以以预先规定的数或大小来分割输入图像数据。并且,例如分割部60可以将输入图像数据分割为通过图像处理模块38而执行图像处理的运算部所具有的处理器核心数以下且2以上的数。

并且,例如分割部60可以以通过图像处理模块38而执行图像处理的运算部所具有的缓存存储器的容量以下的大小来分割输入图像数据。该情况下,例如例示出如下形式:分割部60以离通过图像处理模块38而执行图像处理的运算部的处理器最远级别的缓存存储器所谓llc(lastlevelcache:末级缓存)的容量以下且与llc的容量尽量一致的大小来分割输入图像数据。

并且,作为一例,如图5所示,分割部60相对于图像处理dag50a,将由各图像处理模块38执行的图像处理分割为与分割图像数据的各分割图像数据对应的部分处理39(任务),从而构建图像处理dag50b。另外,图5在图2a所示的图像处理dag50a中示出将输入图像数据分割为4个分割图像数据的情况的图像处理dag50b。在图5中,为了避免复杂化,省略了缓冲模块40的图示。并且,后述图6及图9中也同样省略了缓冲模块40的图示。

本实施方式所涉及的赋予部62根据由图像处理模块38执行的图像处理的种类,在连结在前级的图像处理模块38的部分处理39与连结在后级的图像处理模块38的部分处理39之间赋予依赖关系。另外,在图5中,用虚线的箭头来表示该依赖关系。

例如,如色彩转换处理一样,在仅对作为处理对象的像素进行图像处理的处理中,各部分处理39也成为1对1的依赖关系。另一方面,例如,如过滤处理一样,在也需要作为处理对象的像素的周边像素的图像处理中,对周边像素进行图像处理的前级的部分处理39中也赋予依赖关系。即,该依赖关系为如下关系:在被连结的图像处理模块38之间,当连结到前级的图像处理模块38的部分处理39结束的情况下,能够执行连结到后级的图像处理模块38的部分处理39。从而,在不存在对前级赋予依赖关系的部分处理39的情况下,或者在被赋予依赖关系的前级的所有部分处理39结束的情况下,能够执行部分处理39。

具体而言,例如在通过图像处理dag50b开始执行图像处理时,能够执行图5所示的部分处理39a及部分处理39b。并且,例如在被赋予依赖关系的前级的部分处理39a及部分处理39b两者的处理结束的情况下,能够执行图5所示的部分处理39c。

并且,赋予部62对图像处理dag50b的各部分处理39赋予优先度。另外,该优先度是指执行部分处理39时的优先度,是指在能够同时执行多个部分处理39的情况下,从优先度高的部分处理开始依次执行。作为一例,如图6所示,本实施方式所涉及的赋予部62对由连结到后级的图像处理模块38执行的部分处理39赋予比由连结到前级的图像处理dag50b执行的部分处理39高的优先度。

另外,图6中的各部分处理39的内部字符串(“t11”等)是用于区别各部分处理39的字符串,以下,在区别说明各部分处理39的情况下,如部分处理t11一样,在末尾赋予内部字符串并进行说明。并且,图6中的部分处理39的左上端部的数字(“10”等)表示赋予各部分处理39的优先度。在本实施方式中,设为该数字的值越大则优先度越高的部分处理进行说明。另外,关于以图6为例进行说明的部分处理39的内部字符串及优先度,在后述图7~图10、图12及图13中也相同。

并且,关于存在依赖关系的各部分处理39,本实施方式所涉及的赋予部62将根据连结到前级的图像处理模块38的部分处理39的优先度的优先度赋予到连结到后级的图像处理模块38的部分处理39。例如如图6所示,关于赋予部62对最前级的图像处理模块38的部分处理t11、t12、t13赋予以部分处理t11、t12、t13的顺序降低的优先度的情况进行说明。该情况下,赋予部62对中级的图像处理模块38的部分处理t21、t22、t23赋予与有依赖关系的前级的部分处理t11、t12、t13的优先度相同顺序的优先度。

并且,本实施方式所涉及的赋予部62处理表示输出图像的位于主视图上方的分割图像的分割图像数据的部分处理39赋予比处理表示输出图像的位于主视图下方的分割图像的分割图像数据的部分处理39高的优先度。关于该优先度的赋予,参考图7及图8详细地进行说明。另外,以下,在只是记载为图像的“上方”、“下方”及“上下方”的情况下,是指图像的“主视图上方”、“主视图下方”及“主视图上下方”。

例如如图7所示,如色彩转换处理等一样,在输入图像的各像素和所对应的输出图像的各像素为相同位置的图像处理的情况下,赋予部62对部分处理t12、t11赋予比部分处理t13高的优先度。并且,该情况下,赋予部62对部分处理t11赋予比部分处理t12高的优先度。

另一方面,例如如图8所示,如上下翻转图像的处理等一样,在输入图像的各像素和所对应的输出图像的各像素的位置在上下方向上被替换的图像处理的情况下,赋予部62对部分处理t12、t13赋予比部分处理t11高的优先度。并且,该情况下,赋予部62对部分处理t13赋予比部分处理t12高的优先度。

并且,在图像处理dag50b中存在并行执行的图像处理模块38的情况下,本实施方式所涉及的赋予部62对并行执行的图像处理模块38的部分处理39赋予处理顺序交替的优先度。

作为一例,如图9所示,赋予部62对未赋予彼此依赖关系的部分处理t11、t12、t13及部分处理t41、t42、t43赋予按部分处理t11、t41、t12、t42、t13、t43的顺序降低的优先度。

本实施方式所涉及的列表存储部64包括后述可执行部分处理列表66的存储区域。

本实施方式所涉及的登录部68将根据图像处理dag50b基于在各部分处理39之间被赋予的依赖关系能够执行的部分处理39按照被赋予的优先度进行排列,并登录到可执行部分处理列表66中。作为一例,将通过图6所示的图像处理dag50b进行的图像处理刚开始执行之后的可执行部分处理列表66示于图10中。

如图6所示,在通过图像处理dag50b进行的图像处理刚开始执行之后,能够执行最前级的图像处理模块38的部分处理t11、t12、t13。即,如图10所示,登录部68将能够执行的部分处理t111、t12、t13按优先度从高到低的顺序即部分处理t11、t12、t13的顺序进行排列,并登录到可执行部分处理列表66中。

本实施方式所涉及的执行部70按由登录部68登录的可执行部分处理列表66中的优先度从高到低的顺序执行部分处理39。在执行该部分处理39时,在本实施方式中,作为一例,执行部70使由图像处理模块38的运算部信息表示的运算部(第1运算部12a或第2运算部12b)执行部分处理39。

本实施方式所涉及的输出部72输出由图像处理dag50b的最终阶段的图像处理模块38执行的图像处理的结果而得到的输出图像数据。在本实施方式中,输出部72将所得到的输出图像数据显示于显示部16。另外,输出部72可以将输出图像数据输出(发送)到外部装置。并且,在计算机10组装到打印机中的情况下,输出部72可以将由输出图像数据来表示的输出图像输出(形成)于纸张等记录材料。

接着,参考图11对本实施方式所涉及的计算机10的作用进行说明。另外,图11是表示在由应用程序32输入了图像处理的开始执行指示的情况下,通过第1运算部12a而执行的图像处理程序的处理流程的流程图。并且,该图像处理程序预先安装在存储部20中。并且,通过第1运算部12a执行图像处理程序,第1运算部12a作为前述处理构建部42、分割部60、赋予部62、登录部68、执行部70及输出部72发挥功能。

在图11的步骤100中,处理构建部42按照来自应用程序32的构建指示而构建进行应用程序32所指示的图像处理的图像处理dag50a。在下一步骤102中,如前所述,分割部60将输入图像数据分割为多个分割图像数据。然后,分割部60相对于在步骤100中构建的图像处理dag50a,将通过各图像处理模块38而执行的图像处理分割为与分割图像数据的各分割图像数据对应的部分处理39,从而构建图像处理dag50b。

在下一个步骤104中,赋予部62根据通过图像处理模块38而执行的图像处理的种类,在连结到前级的图像处理模块38的部分处理39与连结到后级的图像处理模块38的部分处理39之间赋予依赖关系。并且,如前所述,赋予部62对图像处理dag50b的各部分处理39赋予优先度。在下一个步骤106中,如前所述,登录部68将基于在步骤104中被赋予的依赖关系能够执行的部分处理39按照被赋予的优先度进行排列,并登录到可执行部分处理列表66中。

在下一个步骤108中,执行部70从可执行部分处理列表66的顶部获取预先设定的、表示并行执行的部分处理39的数量的并行度的部分处理39,并从可执行部分处理列表66删除所获取的部分处理39。在下一个步骤110中,执行部70使运算部执行在步骤108中获取的部分处理39,所述运算部由包括所获取的部分处理39的图像处理模块38的运算部信息来表示。

在下一个步骤112中,执行部70判定在步骤110中执行并结束的部分处理39中是否包括图像处理dag50b的最终阶段的图像处理模块38的部分处理39。执行部70在该判定为否定判定的情况下转移到步骤116,另一方面,在成为肯定判定的情况下转移到步骤114。

在步骤114中,输出部72将由图像处理dag50b的最终阶段的图像处理模块38的部分处理39所输出的输出图像数据输出到显示部16之后转移到步骤116。在步骤116中,执行部70判定图像处理dag50b的所有部分处理39的执行是否结束。执行部70在该判定成为否定判定的情况下转移到步骤118。

在步骤118中,登录部68基于图像处理dag50b的依赖关系将能够重新执行的部分处理39登录到可执行部分处理列表66中之后返回到步骤108。当进行该登录时,登录部68例如利用二分插入排序等排列方法登录能够重新执行的部分处理39之后,可执行部分处理列表66的部分处理39将部分处理39登录到按照优先度排列状态的位置。另一方面,执行部70在步骤116的判定成为肯定判定的情况下结束该图像处理。

接着,参考图12及图13,根据以上已进行说明的图像处理程序,对所执行的部分处理39、可执行部分处理列表66及能够重新执行的部分处理39的时序的转移进行说明。另外,图12示出按照图6所示的图像处理dag50b以并行度“1”进行图像处理的情况的时序的转移。并且,图13示出按照图9所示的图像处理dag50b以并行度“2”进行图像处理的情况的时序的转移。并且,为了简化说明,图13的并行执行的部分处理39(例如在时刻b执行的部分处理t11、t41)设为同时结束执行的部分处理进行说明。

如图12所示,在通过图6所示的图像处理dag50b进行的图像处理刚开始执行之后的时刻a,如下所示,能够执行的部分处理39登录到可执行部分处理列表66中。即,在时刻a,根据上述步骤106的处理,部分处理t11、t12、t13按优先度从高到低的顺序以部分处理t11、t12、t13的顺序进行排列,并登录到可执行部分处理列表66中。

在下一个时刻b,根据上述步骤108的处理,从可执行部分处理列表66的顶部获取并删除并行度数量(在此为1个)的部分处理t11。然后,根据上述步骤110的处理而执行所获取的部分处理t11。在部分处理t11的执行结束的时刻c,能够重新执行部分处理t21。在下一个时刻d,根据步骤118的处理,部分处理t21按照被赋予的优先度而登录到可执行部分处理列表66的顶部。

在下一个时刻e,根据上述步骤108的处理,从可执行部分处理列表66的顶部获取并删除并行度数量的部分处理t21。然后,根据上述步骤110的处理,执行所获取的部分处理t21。在部分处理t21的执行结束的时刻f,能够重新执行部分处理t31。在下一个时刻g,根据上述步骤118的处理,部分处理t31按照被赋予的优先度而登录到可执行部分处理列表66的顶部。以下,也反复进行相同的处理,因此在此省略说明。

另一方面,如图13所示,在通过图9中示出的图像处理dag50b进行的图像处理刚开始执行之后的时刻a,如下所示能够执行的部分处理39登录到可执行部分处理列表66中。即,在时刻a,根据上述步骤106的处理,部分处理t11~t13、t41~t43按优先度从高到低的顺序,以部分处理t11、t41、t12、t42、t13、t43的顺序进行排列,并登录到可执行部分处理列表66中。

在下一个时刻b,根据上述步骤108的处理,从可执行部分处理列表66的顶部获取并删除并行度数量(在此为2个)的部分处理t11、t41。然后,根据上述步骤110的处理,执行所获取的部分处理t11、t41。在部分处理t11、t41的执行结束的时刻c,能够重新执行部分处理t21。在下一个时刻d,根据上述步骤118的处理,部分处理t21按照被赋予的优先度而登录到可执行部分处理列表66的顶部。

在下一个时刻e,根据上述步骤108的处理,从可执行部分处理列表66的顶部获取并删除並行度的数量的部分处理t21、t12。然后,根据上述步骤110的处理,执行被获取的部分处理t21、t12。在部分处理t21、t12的执行结束的时刻f,能够重新执行部分处理t22、t31、t51。在下一个时刻g,根据上述步骤118的处理,部分处理t22、t31、t51按照被赋予的优先度,按部分处理t31、t51、t22的顺序登录到可执行部分处理列表66的顶部。以下,也反复进行相同的处理,因此在此省略说明。

如以上说明,根据本实施方式,对被连结的图像处理模块38之间的部分处理39赋予处理的依赖关系,并且对各部分处理39赋予优先度。并且,将基于依赖关系能够执行的部分处理39按照被赋予的优先度进行排列,并登录到可执行部分处理列表66中。然后,按可执行部分处理列表66中的优先度从高到低的顺序执行部分处理39。

当执行图像处理时,在选择通过以dag形式连结有多个对象的对象组而能够执行的处理的情况下,若跟踪对象为n个,则用于选择能够执行的处理的计算量成为0(n)。相对于此,在本实施方式中,将能够执行的部分处理39按照被赋予的优先度进行排列,并登录到可执行部分处理列表66中,在执行图像处理时,将登录到可执行部分处理列表66中的部分处理39从顶部获取并执行即可,因此计算量为0(1)即可。从而,根据本实施方式,在存在多个能够执行的处理的情况下,能够选择抑制处理效率的降低且能够执行的处理。另外,上述o(n)及o(1)是根据o记法的计算量,表示计算量(量级)。

并且,根据本实施方式,对由连结到后级的图像处理模块38执行的部分处理39赋予比由连结到前级的图像处理模块38执行的部分处理39高的优先度。其结果,例如如部分处理t11、t21、t31一样,对相同的区域的分割图像数据进行处理的部分处理39连续执行的可能性提高。该情况下,在部分处理39之间访问的存储区域的时间局部性提高,因此图像处理高速执行的可能性提高。从而,根据本实施方式,在存在多个执行的处理的情况下,能够选择进一步抑制处理效率的降低且能够执行的处理。

并且,根据本实施方式,关于存在依赖关系的各部分处理39,将根据连结到前级的图像处理模块38的部分处理39的优先度的优先度赋予到连结到后级的图像处理模块38的部分处理39。其结果,例如如部分处理t11、t21、t31一样,对相同区域的分割图像数据进行处理的部分处理39连续执行的可能性提高。该情况下,在部分处理39之间访问的存储区域的时间局部性提高,因此图像处理高速执行的可能性提高。从而,根据本实施方式,在存在多个能够执行的处理的情况下,能够选择进一步抑制处理效率的降低且能够执行的处理。

并且,根据本实施方式,在图像处理dag50b中存在并行执行的图像处理模块38的情况下,对并行执行的图像处理模块38之间的部分处理39赋予处理顺序交替的优先度。其结果,例如如部分处理t11、t21、t31一样,未等到包括部分处理t11、t12、t13的图像处理模块38的所有部分处理39结束,图像处理以分割图像数据单位结束的可能性提高。该情况下,未等到各图像处理模块38的所有部分处理39结束,对结束图像处理的每一个部分处理39,能够从存储区域删除分割图像数据。从而,根据本实施方式,能够减少存储区域的使用量。

并且,根据本实施方式,对处理表示输出图像的位于主视图上方的分割图像的分割图像数据的部分处理39赋予比处理表示输出图像的位于主视图下方的分割图像的分割图像数据的部分处理39高的优先度。由此,与处理表示位于主视图下方的分割图像的分割图像数据的部分处理39相比,处理表示位于主视图上方的分割图像的分割图像数据的部分处理39更早结束。

通常,对显示部的图像的显示及对纸张等记录材料的图像的形成,多数情况下通过光栅扫描而进行。在本实施方式中,从对表示位于主视图上方的分割图像的分割图像数据进行处理的部分处理39开始尽早结束,因此能够从主视图上方依次输出分割图像。从而,根据本实施方式,未等到图像处理dag50b的最终阶段的图像处理模块38的所有部分处理39结束,从已结束处理的部分处理39开始依次输出图像数据,由此能够缩短也包括图像输出的图像处理所需时间。

另外,在上述实施方式中,关于对各部分处理39赋予不同的优先度的情况进行了说明,但并不限定于此。也可以设为对一部分部分处理39赋予相同的优先度的形式。该形式例的情况下,例示出被赋予相同优先度的部分处理39例如按登录到可执行部分处理列表66的顺序执行的形式。

并且,对部分处理39赋予优先度的方法并不限定于由上述实施方式表示的例子。例如也可以设为根据运算部信息对部分处理39赋予优先度的形式。该形式例的情况下,例如在第2运算部12b的图像处理的速度性能比第1运算部12a高的情况下,例示出以下所示的形式。即,该情况下,例示出将由第2运算部12b执行的图像处理模块38的部分处理39的优先度设为比由第1运算部12a执行的图像处理模块38的部分处理39的优先度高的形式。

并且,在上述实施方式中,关于使由运算部信息来表示的运算部执行通过图像处理模块38进行的图像处理的情况进行了说明,但并不限定于此。例如如图9的连结到上级的3个图像处理模块38一样,也可以设为使相同的运算部执行通过对相同的图像进行图像处理的图像处理模块38而进行的图像处理的形式。

并且,在上述实施方式中,对各种程序预先存储(安装)在存储部20中的方式进行了说明,但并不限定于此。各种程序可以以记录在cd-rom、dvd-rom(digitalversatilediskreadonlymemory:数字多功能磁盘只读存储器)、usb(universalserialbus:通用串行总线)存储器等记录介质中的形式而被提供。并且,各种程序也可以设为经由网络从外部装置下载的形式。

本申请主张基于2016年3月24日于日本申请的日本专利申请2016-060524号的公开通过参考而援用于本说明书中。

在本说明书中记载的所有文献、专利申请及技术标准中,通过参考而援用各文献、日本专利申请及技术标准的情况与通过具体且与分别记载的情况相同的程度,通过参考而援用于本说明书中。

符号说明

10-计算机,12a-第1运算部,12b-第2运算部,13-本地存储器,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-可执行部分处理列表,68-登录部,70-执行部,72-输出部,b1~b3-分割图像,g-图像。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1