专利名称:信息处理装置和信息处理方法
技术领域:
本公开涉及通过使用例如GPU(图形处理单元)来执行图像处理的信息处理装置以及信息处理方法。
背景技术:
近年来,通用计算机硬件的增强性能和高功能性使得能够通过使用通用计算机硬件来执行以前只有专用硬件才能够执行的图像处理。在通用计算机硬件中,具体而言,被用作主要存储器的CPU(中央处理单元)和RAM(随机存取存储器)展示出了极高的速度,因此,可以在经济的令人满意的时间段中执行对于大容量图像数据的复杂特效处理。通过引入GPU(图形处理单元)可以以更高的速度执行图像处理,其中GPU是被设计为专用于并行算术处理的算术处理设备。GPU的并行算术处理是以这样的机制实现的, 该机制包括向多个算术单元发送相同的指令并且由各个算术单元独立地执行相同指令。相反,在CPU中,不同的指令被发送给多个算术单元并且算术单元分别执行不同的指令。因此,GPU在部分处理的算术结果不影响整个处理的处理(诸如图像处理)中可以展示出增强的性能。相反,CPU适合于顺序执行。此外,近来,已经知道使得GPU不仅能够执行图像处理而且能够被用于其它数字处理的GPGPU(图像处理单元上的通用计算)技术领域。日本专利申请早期公开No. 2008-98911(第0057、0068和0072段)(以下称为专利文件1)记载了以下内容在GPU对数据执行多次特效处理的情况中,为了减少系统存储器和GPU之间为每个特效处理而传送/接收数据的次数,GPU通过在GPU存储器中所设置的缓冲器之间交换数据来执行多次特效处理,并将最终的特效处理结果传送给CPU存储器。此外,还记载了 CPU向GPU通知将由GPU执行的多个特效的种类和次序。在如专利文件1的技术中所记载的GPU对数据执行多次特效处理的情况中,必须在GPU存储器中保留用于相应特效的保存特效处理目标数据的缓冲器和保存特效处理结果数据的缓冲器(GPU存储器的初始化),并且根据相应特效的执行顺序来设置相应缓冲器的连接关系。同时,诸如特效的种类、数目、执行顺序等的特效内容可以由用户任意改变。在特效的数目被增大/减小等的情况中,特效内容的改变会要求改变CPU存储器中所要保留的缓冲器的数目。因此,在CPU存储器被初始化并且各个缓冲器的连接关系每当特效内容被改变时都会被设置的情况中,诸如传递多个特效之一或仅改变多个特效的执行顺序之类的小的改变需要用于对CPU存储器进行初始化、设置相应缓冲器的连接关系等的操作时间, 从而存在总体效率降低的担心。
发明内容
鉴于以上提及的情况,希望提供可以缩短由于由图像处理单元连续执行的多条特效处理的改变而导致的图像处理单元的操作时间,从而改善总体效率的信息处理装置和信息处理方法。根据本公开的一个实施例,提供一种信息处理装置,包括图像处理单元,该图像处理单元能够处理图像;存储器部件,该存储器部件能够提供输入缓冲器和输出缓冲器,输入缓冲器能够保存作为图像处理单元的每个处理的处理目标的图像数据,并且输出缓冲器能够保存作为处理结果的图像数据;输入部件,用户通过输入部件选择将由图像处理单元执行的多种处理以及多种处理的执行顺序;以及控制器部件,该控制器部件被配置为基于用户通过输入部件所选择的信息来在存储器部件中保留用于每个处理的输入缓冲器和输出缓冲器,设置缓冲器之间的输入输出连接关系,并且基于所设置的连接关系来向图像处理单元通知存储器部件中用于由图像处理单元顺序执行的每个处理的输入缓冲器和输出缓冲器的地址信息。根据本公开,在图像处理单元对图像数据连续应用多条处理的情况中,图像数据被输入到/输出自存储器部件中被分配给相应特效的输入/输出缓冲器,从而连续执行这多条处理,使得在图像处理单元和另一处理单元之间交换图像的次数最少(为幻。因此,特效处理的速度可以更高。此外,根据本公开,控制器部件设置存储器部件中为每个处理保留的缓冲器之间的输入输出连接关系,并且基于所设置的连接关系来向图像处理单元通知存储器部件中用于由图像处理单元顺序执行的每个处理的输入缓冲器和输出缓冲器的地址信息。因此,可以按照需要减少由图像处理单元执行的特效的数目或者改变特效的执行顺序。输入部件能够从用户接收取消将由图像处理单元执行的多种处理中的一部分的指令,并且控制器部件可以被配置为基于所输入的指令内容来更新缓冲器之间的输入输出连接关系,并且基于更新后的连接关系来向图像处理单元通知存储器部件中用于由图像处理单元顺序执行的每个处理的输入缓冲器和输出缓冲器的地址信息。此外,输入部件能够从用户接收改变将由图像处理单元执行的多种处理的执行顺序的指令,并且控制器部件可以被配置为基于所输入的指令内容来更新缓冲器之间的输入输出连接关系;基于更新后的连接关系来向图像处理单元通知存储器部件中用于由图像处理单元顺序执行的每个处理的输入缓冲器和输出缓冲器的地址信息。根据本公开的另一实施例,提供一种信息处理方法,包括由用户通过输入部件选择将由能够处理图像的图像处理单元执行的多种处理和多种处理的执行顺序;由控制器部件基于用户通过输入部件所选择的信息来在存储器部件中保留用于每个处理的输入缓冲器和输出缓冲器,存储器部件能够提供输入缓冲器和输出缓冲器,输入缓冲器能够保存作为图像处理单元的每个处理的处理目标的图像数据,并且输出缓冲器能够保存作为处理结果的图像数据;由控制器部件设置缓冲器之间的输入输出连接关系;由控制器部件基于所设置的连接关系来向图像处理单元通知存储器部件中用于由图像处理单元顺序执行的每个处理的输入缓冲器和输出缓冲器的地址信息。根据本公开,由于由图像处理单元连续执行的多条特效处理的改变而导致的图像处理单元的操作时间可以被缩短,从而改善总体效率。本公开的这些和其它目的、效果和优势将鉴于以下对附图中所示的本公开的最佳实施例的详细描述而变得显而易见。
图1是示出根据本公开的实施例的信息处理装置的结构的示图;图2是示出编辑环境屏幕的示例的示图;图3是示出显示用于设置散焦参数的特效⑶I窗口的编辑环境屏幕的示例的示图;图4是与CPU单元和GPU单元之间的特效执行控制有关的序列图;图5是示出图4的序列中的由CPU进行的GPU存储器的初始化处理的流程的流程图;图6是示出图4的序列中的由CPU进行的GPU特效的执行控制的流程的流程图;图7是示出图4的序列中的由GPU进行的特效处理的流程的流程图;图8是示出各个特效的输入/输出缓冲器的连接关系的示例的示图;图9是在特效㈧、特效⑶和特效(C)三者中的特效⑶被基于用户的指令而取消从而使得特效设置信息被改变的情况中,与CPU单元与GPU单元之间的特效执行控制有关的序列图;图10是示出在特效设置信息被改变的情况中由CPU进行的GPU特效的执行控制的流程的流程图;图11是示出各个特效的输入/输出缓冲器的更新后的连接关系的示图;图12是示出在特效的数目被改变从而使得特效㈧、特效⑶和特效(C)三者中的特效(A)被取消的情况中各个特效的输入/输出缓冲器的连接关系的示图;图13是示出在特效的数目被改变从而使得特效㈧、特效⑶和特效(C)三者中的特效(C)被取消的情况中各个特效的输入/输出缓冲器的连接关系的示图;以及图14是示出在特效㈧、特效⑶和特效(C)三者中的特效⑶和特效(C)的执行顺序被改变的情况中各个特效的输入/输出缓冲器的连接关系的示图。
具体实施例方式以下将参考附图来描述本公开的实施例。(第一实施例)(信息处理装置的结构)该实施例涉及一种信息处理装置,其可以通过在安装了 CPU(中央处理单元)和 GPU(图形处理单元)的计算机上执行视频编辑程序来对图像数据执行诸如特效之类的图像处理。图1是示出根据本公开的实施例的信息处理装置的结构的示图。如图1中所示,信息处理装置10包括CPU单元11、GPU单元12、显示器接口单元 14、操作输入接口单元15、存储设备16、以及将它们互连的总线17。CPU单元11包括CPU 111(控制器部件)和存储器(以下称为“CPU存储器112”)。 CPU 111基于被存储在CPU存储器112中的视频编辑程序来控制GPU单元12用于对图像数据进行视频编辑和特效处理的算术处理。CPU 111可以在视频编辑程序的动作中反映由用户通过连接到操作输入接口单元15的操作输入设备18所输入的各种指令。GPU单元12包括GPU 121 (图像处理单元)和存储器(以下称为“GPU存储器122”)(存储器部件)。在CPU 111的控制下,GPU 121可以将从CPU存储器112读出的图像数据通过总线17存储在被设置在GPU存储器122中的缓冲器中,并且针对通过分割图像获得的每个单元(诸如线程)对图像数据并行地执行特效处理。显示器接口单元14是到显示设备19的接口。显示器接口单元14接收以下的图像数据,并且将描画数据提供给显示设备19,其中CPU单元11或GPU单元12对该图像数据应用特效以执行描画处理。操作输入接口单元15是到操作输入设备18的接口,并且执行诸如将由用户从操作输入设备18输入的数据或指令提供给CPU 111等的处理。存储设备16存储构成未编辑的和编辑后的运动图像的相应帧的图像数据。此外, 存储设备16还存储视频编辑程序。被存储在存储设备16中的视频编辑程序被装载在CPU 单元11的CPU存储器112中,并且CPU 111对视频编辑程序进行解析以供执行。(视频编辑程序的结构)视频编辑程序包括视频编辑主程序、使得CPU 111执行特效处理的用于CPU的特效程序、使得GPU 121执行特效处理的用于GPU的特效程序等等。分别为各种特效准备用于CPU的特效程序和用于GPU的特效程序。那些特效程序可以作为能够单独并且有选择地连接到视频编辑程序的插件程序被提供。视频编辑主程序包括这样的GUI程序,该GUI程序允许用户选择特效目标帧、对该帧的图像数据应用的特效的种类、用于特效的参数、多个特效的执行顺序等,并且将它们作为特效设置信息输入。在基于⑶I程序被显示在显示设备19的显示器上的编辑环境中,用户可以通过使用操作输入设备18来输入上述特效设置信息。输入的特效设置信息被保存在CPU存储器112中所设置的预定区域中。注意,用于CPU的特效程序和用于GPU的特效程序中的一者是考虑如下信息而选择并用于由用户选择的相应特效的图像处理区域是图像的一部分还是整个图像,GPU存储器122的消耗率,CPU 111的负荷等等。例如,用于CPU的特效程序被选择用于对图像的一部分进行处理,而用于GPU的特效程序被选择用于对整个图像进行处理。此外,鉴于GPU 存储器122的消耗率、CPU 111上的负荷等等,所选择的结果可以被修改。这里,将描述GPU单元12连续执行多条特效处理的情况。在此情况中,GPU 121通过使用分配给GPU存储器122的用于相应特效的输入/输出缓冲器来连续地执行多条特效处理。因此,希望提供一种管理相应特效的输入/输出缓冲器的连接关系的技术。根据本实施例,视频编辑程序使得CPU 111管理相应特效的输入/输出缓冲器的连接关系。(该实施例的信息处理装置的动作)接着,将描述该实施例的信息处理装置的动作。这些动作将按如下顺序来描述1、特效设置,2、GPU存储器的初始化处理,3、特效执行,和4、特效数目和执行顺序的改变。(1、特效设置)CPU 111在CPU存储器112中存储由用户通过使用操作输入设备18选择的特效设置信息,诸如A、( 一种或多种)特效,B、用于相应特效的参数,以及C、多个特效的执行顺序。将描述用户选择特效设置信息的具体示例。首先,CPU 111根据用户的指令在显示设备19上显示用于选择运动图像中的场景的信息。用于选择场景的信息例如是通过降低表示该场景的帧图像的分辨率而获得的图像数据(缩略图)等。在用户希望对其应用特效的场景是通过使用诸如鼠标之类的操作输入设备18从用于选择场景的信息中选出的情况中,CPU 111从被设置在CPU存储器112中的预定缓冲器中的存储设备16读出属于所选场景的一个或多个帧的图像数据。随后,CPU 111从用户接收输出条件的输入,输出条件诸如放大/缩小率和帧率。CPU 111根据输出条件,请求显示器接口单元14输出被存储在CPU存储器112的缓冲器中的图像数据。结果, 根据输出条件处理后的帧的图像数据作为特效目标图像数据被显示在显示设备19上的编辑环境屏幕(稍后描述)上。接着,开始编辑的指令被用户通过操作输入设备18输入。接收到开始编辑的指令,CPU 111在显示设备19上显示能够在编辑环境屏幕(稍后描述)上执行的特效的名称的列表。在其中一个特效名称被用户从该列表中选择的情况中,与所选特效名称相对应的特效程序被激活,并且对图像数据的特效处理被执行。图2是示出编辑环境屏幕40的示图。如图2中所示,输出图像显示窗口 41、追踪显示窗口 42、特效候选列表43等被显示在编辑环境屏幕40上。输出图像显示窗口 41是显示作为特效目标图像的根据输出条件而被放大/缩小后的帧的图像数据的窗口或显示特效结果图像的窗口。追踪显示窗口 42是同时显示与用户选择的部分场景相对应的多个连续帧的图像数据的窗口。在追踪显示窗口 42中,水平方向表示时间的方向。通过用户通过操作输入设备18在左右水平方向上操作用于选择时间位置的滑块(未示出),被同时显示在追踪显示窗口 42上的多个帧的图像数据的时间位置被移动(被转变)。通过该转变,用户可以看到所选场景中所包括的所有帧的图像数据。此外,将被显示在输出图像显示窗口 41上的一帧的图像数据可以由用户通过操作输入设备18来从被显示在追踪显示窗口 42上的多个帧的图像数据中选择。特效候选列表43是将要应用于被显示在输出图像显示窗口 41上的帧的图像数据的特效的种类的列表。将被应用于被显示在输出图像显示窗口 41上的帧的图像数据的特效种类由用户通过诸如鼠标之类的操作输入设备18来选择。在一个特效名称被从特效候选列表43中选择的情况中,CPU 111显示用于设置特效名称被选择的特效的各种参数的特效GUI窗口。由用户通过诸如鼠标之类的操作输入设备18来针对特效GUI窗口上的每个项目调节参数。例如,将描述散焦被选作特效种类的情况。在散焦被选择的情况中,用于设置散焦的参数的特效⑶I窗口 46被显示在编辑环境屏幕40上,如图3中所示。通过针对散焦的特效GUI窗口 46,用户可以通过使用诸如鼠标之类的操作输入设备18,通过操作按钮来选择圆弧(iris)的形状并且通过操作滑块来调节诸如半径、角度和曲率之类的参数。根据用户通过特效⑶I窗口 46选择的参数,CPU 111对被显示在输出图像显示窗口 41上的帧的图像数据执行特效处理。在该情况中,特效处理被与每个参数的选择操作实时地执行并被反映在被显示在输出图像显示窗口 41上的帧的图像数据中,从而针对每个项目的最佳参数可被高效地选择。在参数被调节之后,用户可以通过使用操作输入设备18来将包括参数调节结果的指令输入到CPU 111中,用于对所选场景中所包括的所有帧的图像数据执行特效。指令是通过点击设置在编辑环境屏幕40上的处理输出按钮等做出的。如图2和图3中所示,处理输出按钮包括再现按钮44和记录按钮45。在再现按钮44被用户操作的情况中,包括被应用于用户所选择的帧的图像数据上的参数的调节结果的特效被类似地应用于该场景中所包括的其它帧的图像数据,并且与该场景相对应的运动图像被输出给输出图像显示窗口 41。用户可以观看被显示在输出图像显示窗口 41上的运动图像,并且确认被应用于整个场景的特效的结果。此外,在记录按钮45被用户操作的情况中,包括被应用于用户所选择的帧的图像数据上的参数的调节结果的特效被类似地应用于该场景中所包括的其它帧的图像数据,并被写入存储设备16。此外,在对帧的图像数据应用多种特效处理的情况中,在选择一个特效并调节参数之后,可以继续重复地选择另一种特效并调节参数。在此情况中,由用户选择的特效次序被原样设置为相应特效的执行顺序。通过上述操作,(一种或多种)特效、用于每个特效的参数以及多个特效的执行顺序作为特效设置信息被设置。特效设置信息被存储在CPU存储器112中的预定区域中。这里,将描述在假定其中已经进行了设置从而使得GPU 121对每帧的图像数据连续地执行三次特效处理的情况中的后续动作。注意,三次特效处理可以不必是不同种类的特效处理。以下,将参考图4至图6的流程图来描述后续动作。图4是与CPU单元11和GPU单元12之间的特效执行控制有关的序列图。图5是示出图4的序列中由CPU 111进行的GPU存储器的初始化处理的流程的流程图。图6是示出图4的序列中由CPU 111进行的GPU特效的执行控制的流程的流程图。图7是示出图4的序列中由GPU 121进行的特效处理的流程的流程图。(2、GPU存储器的初始化处理)接着,将描述在如上所述已经进行了设置从而使得GPU 121连续执行多条特效处理的情况中由GPU存储器122进行的初始化处理。CPU 111基于视频编辑程序执行如下控制。首先,CPU111 保留 GPU 单元 12(图 4 :S401/S401R,,图 5 :S501)。结果,CPU 111 辨认出通过总线17连接的GPU单元12,并且获得诸如GPU存储器122的容量之类的信息。这里,在CPU 111由于某些原因而没能辨认出GPU单元12或没能获得诸如GPU存储器122的容量之类的信息的情况中(图5 :S502,否),CPU 111通过例如显示它(图5 S507)来执行预定的错误应对(error handling),并且结束视频编辑程序。在CPU 111成功辨认出GPU单元12并且获得诸如GPU存储器122的容量之类的信息的情况中(图5:S502,是),CPU 111尝试在GPU存储器122中保留用于上述多个特效中的每一个的输入/输出缓冲区域(图5:S503)。S卩,CPU 111基于CPU存储器112中所存储的特效设置信息来生成保留用于每个特效的输入/输出缓冲区域的请求,并且将其发送给
9GPU 121 (图4 :S402)。响应于该请求,GPU 121在GPU存储器122中保留用于每个特效的输入/输出缓冲区域,并且向CPU 111通知有关每个输入/输出缓冲器的地址信息(图4: S402R)。在CPU 111因为某些原因没能保留每个输入/输出缓冲器的情况中(图5 :S504, 否),CPU 111通过例如显示它来执行预定的错误应对(图5 :S507),并且结束视频编辑程序。此外,在CPU 111成功保留每个输入/输出缓冲器的情况中(图5:S504,是),CPU 111 对输入/输出缓冲器进行初始化(图4 :S403/S403R,图5 :S505)。随后,CPU 111基于CPU存储器112中所存储的特效设置信息来设置有关用于每个特效的输入/输出缓冲器的连接信息,并且将其存储在CPU存储器112中(图4 :S404, 图5 :S506)。有关用于每个特效的输入/输出缓冲器的连接信息是示出每个特效从GPU存储器122中的哪个地址(缓冲器)获取图像数据以及每个特效将特效处理结果写入GPU存储器122中的哪个地址(缓冲器)中的信息。图8是示出在GPU 121设置为连续执行三条特效处理的情况中各个特效的输入/ 输出缓冲器的连接关系的示例的示图。这里,特效(A)、特效⑶和特效(C)被设置为被连续执行。用于图像数据的输出缓冲器21-0和输入缓冲器21-1中的每一个通过视频编辑程序被分配给CPU存储器112,并且输出缓冲器21-0存储特效目标的图像数据。图8的各个特效的输入/输出缓冲器的连接关系被描述如下输入缓冲器31-1和输出缓冲器31-0被分配给特效(A)。输入缓冲器32_1和输出缓冲器32-0被分配给特效(B)。输入缓冲器33-1和输出缓冲器33-0被分配给特效(C)。 CPU存储器112中所设置的输出缓冲器21-0中所保存的图像数据被传送给分配给特效㈧ 的输入缓冲器31-1。GPU 121对输入缓冲器31-1中所保存的图像数据执行特效(A)的处理,并且结果被写入输出缓冲器31-0。输出缓冲器31-0被用作用于特效(B)的输入缓冲器 32-1。GPU 121对输入缓冲器32-1中所存储的图像数据执行特效(B)的处理,并且结果被写入输出缓冲器32-0中。随后,输出缓冲器32-0被用作用于特效(C)的输入缓冲器33-1。 GPU 121对输入缓冲器33-1中所存储的图像数据执行特效(C)的处理,并且结果被写入输出缓冲器33-0中。随后,输出缓冲器33-0中所保存的图像数据被传送到分配给CPU存储器112的输入缓冲器21-1。CPU 111基于CPU存储器112中所存储的特效设置信息来设置相应特效的输入/ 输出缓冲器的上述连接关系。注意,CPU存储器112中所设置的输出缓冲器21-0和输入缓冲器21-1不是基于特效设置信息而是基于视频编辑程序而设置的。此后,CPU 111控制GPU 121如下对特效目标的图像数据执行特效㈧、特效⑶ 和特效(C)中的每个处理。(3、特效执行)在设置各个缓冲器的连接关系之后,CPU 111根据视频编辑程序接收开始执行特效的指令,并且调用用于执行特效的子例程。图6是示出用于执行特效的子例程的流程图。CPU 111根据视频编辑程序获得保存特效目标图像的输出缓冲器21-0在CPU存储器112中的地址以及将保存从GPU单元12返回的图像数据的输入缓冲器21-1在CPU存储器112中的地址(图4 :S405,图6 :S601)。接着,CPU 111将来自CPU存储器112中的输出缓冲器21-0的特效目标图像数据传送到分配给特效(A)的输入缓冲器31-1 (图4 :S406/S406R,图6 :S602)。接着,CPU 111基于CPU存储器112中所存储的各个特效输入/输出缓冲器的连接关系,提取有关被分配给特效(A)的输入/输出缓冲器31-1、31-0的地址信息(图6: S604)。随后,CPU 111从被存储在CPU存储器112中的特效设置信息提取特效(A)的参数 (图6 :S605)。此后,CPU 111从存储设备16读出特效㈧的用于GPU的特效程序,向用于 GPU的特效程序添加作为自变量(argument)的有关输入/输出缓冲器31_1、31_0的地址信息、特效(A)的参数、线程的数目、网格的数目等来获取特效执行请求,并且将特效执行请求传送给 GPU 121 (图 4 :S407,图 6 :S606)。如图7中所示,接收执行特效(A)的请求(图7 :S701),GPU 121基于作为自变量获得的输入/输出缓冲器31-1、31-0的地址来计算用于相应线程的存取目标地址(图 7 :S702)。此后,GPU 121参考作为自变量给出的参数基于用于GPU的特效程序对位于作为相应存取目标计算出的输入缓冲器31-1中的地址中的数据以线程为单位并行地执行特效处理,并且将结果写入作为相应写入目标计算出的输出缓冲器31-0中的地址中(图7 S703)。此后,GPU 121通过总线17向CPU 111通知特效(A)的处理已结束(图4 :S407R)。 如上所述,特效(A)的处理结束。从GPU 121接收到特效㈧的处理已结束的通知,CPU 111使得GPU 121执行随后的特效(B)的处理。S卩,CPU 111基于被存储在CPU存储器112中的各个特效输入/输出缓冲器的连接关系,来提取有关被分配给特效(B)的输入/输出缓冲器32-1、32-0的地址信息(图6:S604)。随后,CPU 111从被存储在CPU存储器112中的特效设置信息中提取特效⑶的参数(图6 :S605)。之后,CPU 111从存储设备16读出特效⑶的用于GPU的特效程序,向用于GPU的特效程序添加作为自变量的有关输入/输出缓冲器32-1、32-0的地址信息、特效(B)的参数、线程的数目、网格的数目等来获取特效执行请求,并且将特效执行请求传送给GPU 121 (图4 :S408,图6 :S606)。接收到执行特效(B)的请求(图7 :S701),GPU 121基于作为自变量获得的输入/ 输出缓冲器32-1、32-0的地址来计算用于相应线程的存取目标地址(图7:S702)。之后, GPU 121参考作为自变量给出的参数基于用于GPU的特效程序对位于作为相应存取目标计算出的输入缓冲器32-1中的地址中的数据以线程为单位并行地执行特效处理,并且将结果写入作为相应写入目标计算出的输出缓冲器32-0中的地址中(图7:S703)。此后,GPU 121通过总线17向CPU 111通知特效⑶的处理已结束(图4 :S408R)。如上所述,特效
(B)的处理结束。从GPU 121接收到特效(B)的处理已结束的通知,与以上类似,CPU 111将用于使GPU 121通过类似的处理来执行特效(C)的处理的特效执行请求传送给GPU 121(图4: S409,图6 :S606)。S卩,CPU 111基于被存储在CPU存储器112中的各个特效输入/输出缓冲器的连接关系,来提取有关被分配给特效(C)的输入/输出缓冲器33-1、33-0的地址信息(图6 :S604)。随后,CPU 111从被存储在CPU存储器112中的特效设置信息中提取特效
(C)的参数(图6:S605)。之后,CPU 111从存储设备16读出特效(C)的用于GPU的特效程序,向用于GPU的特效程序添加作为自变量的有关输入/输出缓冲器33-1、33-0的地址信息、特效(C)的参数、线程的数目、网格的数目等来获取特效执行请求,并且将特效执行请求传送给 GPU 121 (图 4 :S409,图 6 :S606)。
接收到执行该特效的请求,GPU 121基于作为自变量获得的有关输入/输出缓冲器33-1、33-0的相应地址信息来计算用于相应线程的存取目标地址(图7 :S702)。之后, GPU 121参考作为自变量给出的参数基于用于GPU的特效程序对位于作为相应存取目标计算出的输入缓冲器33-1中的地址中的数据以线程为单位并行地执行特效处理,并且将结果写入作为相应写入目标计算出的输出缓冲器33-0中的地址中(图7:S703)。此后,GPU 121通过总线17向CPU 111通知特效(C)的处理已结束(图4 :S409R)。如上所述,特效 (C)的处理结束。接收到特效(C)的处理已结束的通知(图6 :S603,是),CPU 111将输出缓冲器 33-0中保存的图像数据存储到通过视频编辑程序设置的CPU存储器112中的输入缓冲器 21-1中(图4 :S410/S410R,图6 :S607)。被保存在CPU存储器112中的输入缓冲器21-1 中的图像数据被记录到存储设备16中。之后,CPU 111从CPU存储器112中的输出缓冲器21_0中的存储设备16读取下一帧的图像数据,并且将图像数据通过总线17从输出缓冲器21-0传送给被分配给特效(A) 的输入缓冲器31-1。之后,类似地,GPU单元12对图像数据应用相应的特效处理并且将图像数据返回给CPU存储器112中的输入缓冲器21-1。(4、特效数目和执行顺序的改变)接着,将描述在各个特效的输入/输出缓冲器的连接关系已被设置之后改变特效的数目或特效的执行顺序的情况中的动作。特效的数目或特效的执行顺序例如因为如下目的而被改变。例如,当对一个场景中的多帧视频连续执行特效处理时,CPU 111根据来自用户的指令而中止特效处理,从用户接收特效数目或特效的执行顺序的改变,并且在对随后帧的图像数据的特效处理中反映这些改变。注意,特效的数目或特效的执行顺序可以通过显示设备19的显示器被改变。例如,CPU 111显示改变操作画面,该画面用于选择将被用户取消的特效或输入用户的改变特效的执行顺序的指令。根据用户使用操作输入设备18通过该改变操作屏幕而输入的改变指令,CPU 111改变被存储在CPU存储器112中的特效设置信息。图9是在特效㈧、特效⑶和特效(C)三者中的特效⑶基于用户的指令被取消从而使得特效设置信息被改变的情况中,与CPU单元11和GPU单元12之间的特效执行控制有关的序列图。图10是示出在特效设置信息被改变的情况中由CPU 111进行的GPU特效的执行控制的流程的流程图。假定帧1到帧300的图像数据是特效目标图像数据。现在假定,在对帧200的图像数据执行特效处理期间,中止特效处理的指令被用户输入。接收到该指令,CPU 111在对帧200的特效处理结束时,中止特效处理。之后,假定改变特效的数目从而使得特效(A)、特效(B)和特效(C)三者中的特效 (B)被取消的请求被用户输入。根据该改变请求,CPU 111改变被存储在CPU存储器112中的特效设置信息(图9 :S901,图10 =SlOOl)。在特效设置信息被改变之后,基于改变后的特效设置信息,CPU 111在原样使用初始化处理中在GPU存储器122中保留的输入/输出缓冲器的同时,仅更新有关输入/输出缓冲器的连接信息(图10 :S1002)。之后,用于执行特效的子例程(图6)被执行。
图11是示出各个特效的输入/输出缓冲器的更新后的连接关系的示图。如图11 中所示,在更新后,输出缓冲器31-0和输入缓冲器33-1的连接关系被设置,从而使得被分配给特效㈧的输出缓冲器31-0中的图像数据被传送给被分配给特效(C)的输入缓冲器 33-1。在针对帧201和随后帧的图像数据的特效执行控制中,CPU 111基于各个特效的输入/输出缓冲器的更新后的连接关系来生成执行各个特效的请求。因此,当特效(C)的特效执行被请求时,GPU 121被通知有关作为输入到输入缓冲器33-1中的图像数据的源的输出缓冲器31-0的地址信息以及有关被分配给特效(C)的输入/输出缓冲器33-1、33-0 的地址信息。结果,GPU 121可以进行控制来将输出缓冲器31-0中的图像数据存储到输入缓冲器33-1中,以对图像数据执行特效处理,并且将结果写入输出缓冲器33-0中。注意,将被取消的特效可以从多个特效中自由选择。图12是示出在特效的数目被改变从而使得特效㈧、特效⑶和特效(C)三者中的特效㈧被取消的情况中各个特效的输入/输出缓冲器的连接关系的示图。在此情况中, CPU存储器112中的输出缓冲器21-0被连接到输入缓冲器32-1,从而使得CPU存储器112 中的输出缓冲器21-0中保存的图像数据通过总线被传送给被分配给特效(B)的输入缓冲器 32_1。图13是示出在特效的数目被改变从而使得特效㈧、特效⑶和特效(C)三者中的特效(C)被取消的情况中各个特效的输入/输出缓冲器的连接关系的示图。在此情况中, 输出缓冲器32-0被连接到CPU存储器112中的输入缓冲器21-1,从而使得被分配给特效 (B)的输出缓冲器32-0中保存的图像数据被传送到CPU存储器112中的输入缓冲器21_1。此外,图14是示出在特效㈧、特效⑶和特效(C)三者中的特效⑶和特效(C) 的执行顺序被改变的情况中各个特效的输入/输出缓冲器的连接关系的示图。在如上所述改变多个特效的执行顺序的情况中,类似地,基于改变后的特效设置信息,在原样使用初始化处理中在GPU存储器122中保留的输入/输出缓冲器的同时,仅有关输入/输出缓冲器的连接信息可以被改变。即,CPU 111将输出缓冲器31-0连接到输入缓冲器33-1,从而使得被分配给特效(A)的输出缓冲器31-0中保存的图像数据被传送到被分配给特效(C)的输入缓冲器33-1。此外,CPU 111将输出缓冲器33-0连接到输入缓冲器32-1,从而使得保存在被分配给特效(C)的输出缓冲器33-0中的图像数据被传送给被分配给特效(B)的输入缓冲器32-1。此外,CPU 111将输出缓冲器32-0连接到CPU存储器112中的输入缓冲器 21-1,从而使得保存在被分配给特效(B)的输出缓冲器32-0中的图像数据被传送给CPU存储器112中的输入缓冲器21-1。这同样适用于其它执行顺序改变。如上所述,根据该实施例,在GPU 121对图像数据连续应用多条特效处理的情况中,图像数据被输入到/输出自GPU存储器122中被分配给各个特效的输入/输出缓冲器从而连续执行多个特效,从而CPU存储器112和GPU存储器122之间的图像数据的交换次数可以被最小化O)。结果,特效处理的速度可以更高。此外,根据该实施例,在用于各个特效的输入/输出缓冲器在GPU存储器122中被保留之后,可以根据需要减少GPU 121执行的特效的数目或者改变特效的执行顺序。此外, 在减少特效的数目或在改变特效的执行顺序时,不必再次通过GPU存储器122执行初始化处理来重新保留必要的输入/输出缓冲器。这样的特效数目的减少或特效执行顺序的改变可以立即被反映在实际的特效处理中,并且整个编辑处理可以被高效地进行。(修改例1)在上述实施例中,每当GPU 121执行一条特效处理时,有关被分配该特效的输入/ 输出缓冲器的地址信息被传送给GPU 121。不限于此,例如,在执行第一特效处理之前或在特效目标图像数据被从CPU存储器112传送给GPU存储器122之前,有关被分配给将由GPU 121执行的所有特效的各个输入/输出缓冲器的地址信息可以被一同通知给GPU 121。注意,本公开不限于上述实施例,而是可以在本公开想到的技术范围之内被不同地修改。本公开包含于2010年6月四日于日本专利局提交的日本优先权专利申请JP 2010-148192中所公开的主题有关的主题,该申请的全部内容通过引用结合于此。本领域技术人员应当理解,根据设计要求和其它因素可以进行各种修改、组合、子组合和更改,只要它们在所附权利要求及其等同物的范围内即可。
权利要求
1.一种信息处理装置,包括图像处理单元,所述图像处理单元能够处理图像;存储器部件,所述存储器部件能够提供输入缓冲器和输出缓冲器,所述输入缓冲器能够保存作为所述图像处理单元的每个处理的处理目标的图像数据,并且所述输出缓冲器能够保存作为所述图像处理单元的处理结果的图像数据;输入部件,用户通过所述输入部件选择将由所述图像处理单元执行的多种处理以及所述多种处理的执行顺序;以及控制器部件,所述控制器部件被配置为基于用户通过所述输入部件所选择的信息,在所述存储器部件中保留用于每个处理的输入缓冲器和输出缓冲器,设置所述缓冲器之间的输入输出连接关系,并且基于所设置的连接关系,向所述图像处理单元通知所述存储器部件中用于由所述图像处理单元顺序执行的每个处理的输入缓冲器和输出缓冲器的地址信息。
2.根据权利要求1所述的信息处理装置,其中所述输入部件能够从用户接收取消将由所述图像处理单元执行的所述多种处理中的一部分的指令,并且所述控制器部件被配置为基于所输入的指令内容,更新所述缓冲器之间的输入输出连接关系,以及基于更新后的连接关系,向所述图像处理单元通知所述存储器部件中用于由所述图像处理单元顺序执行的每个处理的输入缓冲器和输出缓冲器的地址信息。
3.根据权利要求1所述的信息处理装置,其中所述输入部件能够从用户接收改变将由所述图像处理单元执行的所述多种处理的执行顺序的指令,并且所述控制器部件被配置为基于所输入的指令内容,更新所述缓冲器之间的输入输出连接关系;并且基于更新后的连接关系,向所述图像处理单元通知所述存储器部件中用于由所述图像处理单元顺序执行的每个处理的输入缓冲器和输出缓冲器的地址信息。
4.根据权利要求1至3中任一项所述的信息处理装置,其中所述图像处理单元是能够针对通过分割所述图像获得的每个单元并行地执行图像处理的单元。
5.一种信息处理方法,包括由用户通过输入部件选择将由能够处理图像的图像处理单元执行的多种处理和所述多种处理的执行顺序;由控制器部件基于用户通过所述输入部件所选择的信息来在存储器部件中保留用于每个处理的输入缓冲器和输出缓冲器,所述存储器部件能够提供所述输入缓冲器和所述输出缓冲器,所述输入缓冲器能够保存作为所述图像处理单元的每个处理的处理目标的图像数据,并且所述输出缓冲器能够保存作为所述图像处理单元的处理结果的图像数据; 由所述控制器部件设置所述缓冲器之间的输入输出连接关系;以及由所述控制器部件基于所设置的连接关系来向所述图像处理单元通知所述存储器部件中用于由所述图像处理单元顺序执行的每个处理的输入缓冲器和输出缓冲器的地址信肩、ο
全文摘要
本发明公开了信息处理装置和信息处理方法。存储器部件提供输入缓冲器和输出缓冲器,输入缓冲器能够保存作为图像处理单元的每个处理的处理目标的图像数据并且输出缓冲器能够保存作为处理结果的图像数据。通过输入部件,用户选择将由图像处理单元执行的多种处理以及多种处理的执行顺序。控制器部件基于用户通过输入部件选择的信息来在存储器部件中保留用于每个处理的输入缓冲器和输出缓冲器,设置缓冲器之间的输入输出连接关系,并且基于所设置的连接关系向图像处理单元通知存储器部件中用于由图像处理单元顺续执行的每个处理的输入缓冲器和输出缓冲器的地址信息。
文档编号G06T1/60GK102393950SQ20111017497
公开日2012年3月28日 申请日期2011年6月22日 优先权日2010年6月29日
发明者西牧悠史, 金丸昌宪 申请人:索尼公司