一种基于多cpu平台提高特技处理效率的方法

文档序号:6613874阅读:207来源:国知局
专利名称:一种基于多cpu平台提高特技处理效率的方法
技术领域
本发明涉及节目制作技术领域,特别是涉及一种基于多CPU平台提高特
技处理效率的方法。
背景技术
随着计算机技术和集成电路技术的不断进步,线性编辑系统(用于录像 带和胶巻的系统)已经非常陈旧,目前已被以计算机硬件平台、 一见音频处理 卡和大规4莫数字存储载体为基础的非线性编辑系统所取代。
非线性编辑系统是计算机和数字化电视技术相结合的产物,它基本上是 由计算机加视音频处理卡配以相应的非线性编辑软件组成。数字非线编辑技 术应用在视频节目制作过程中具有编辑功能强大,搡作方便快捷等特点,因 此被广泛用于电视节目的制作中。其中,非线性编辑系统中的"非线性"是指不 以线性方式为工作流程,即它突破了以往在线性工作环境下操作者必须以节 目时间先后为顺序的操作模式。在非线性工作方式下,操作者可以自由地选 择工作对象,不必以时间先后为顺序。简单说,就是剪辑时不用^f象编辑7磁带 那样来回地快进或是到带来搜寻画面。
在传统线性编辑方式下,通常需要录放机、切换台、特技台、调音台、 字幕机等多台设备组合,来完成节目的后期剪辑、串编、特技制作、字幕叠 加、视音频混合等工作。而在以数字技术为基础的非线性编辑方式下,只需 要1台非线性编辑系统即可完成上述传统编辑方式下数台设备、多位技术人 员配合才能完成的工作。在传统线性节目制作过程,因为线性编辑无法快速 方便地进行修改,有时只能依靠复制来达到目的。由于修改量大,所以很大 程度上影响了图像质量,也延长了节目制作的时间。而非线性编辑系统最大 的优点就在于它的非线性编辑,它可以方便快捷地对节目进行剪接,且非线 性编辑系统在计算机磁盘记录方式下,每一段素材都是以一个计算才几文件的形式存储在计算机磁盘上的,借助编辑软件,可以自由地组合这些文件来完 成整个节目的编辑工作。如果需要在已完成的节目中间修改片段,加长或是 缩短,只需修改相关的文件序列即可。
因为非线性编辑系统存在上述巨大优势,因此很快在电视台的节目制作 中得到了广泛的应用。通常对于非线性编辑的工作流程,都可以简单地看成
输入、编辑、输出等步骤,其使用流程主要分成如下
1、 素材采集与输入,采集就是利用非线性编辑系统将模拟视频、音频信 号转换成数字信号存储到计算机中,或者将外部的数字视频存储到计算机中, 成为可以处理的素材。输入主要是把其它软件处理过的图像、声音等等,导 入到非线性编辑系统中。
2、 素材编辑,素材编辑就是设置素材的入点与出点,以选择最合适的部 分,然后按时间顺序组接不同素材。
3、 特技处理,对于视频素材,特技处理包括转场、特效、合成叠加;对 于音频素材,特技处理包括转场、特效;令人震撼的画面效果,就是在这一 过程中产生的。因此在特技处理中对非线性编辑系统的软硬件能力要求非常 高,如果不能达到要求不仅处理速度非常慢,而且往往特技效果的实时性也 不能达到要求。
4、 字幕制作,字幕是节目中非常重要的部分,它包括文字和图形两个方 面。非线性编辑系统制作字幕很方便,几乎没有无法实现的效果,并且还有
大量的模板可以选择。
5、 输出与生成,节目编辑完成后,就可以输出回录到录^f象带上;也可以 生成纟见频文件,发布到网上、刻录VCD和DVD等等。
随着观众对电视节目要求的不断增加,电视台在制作节目时需要大量使 用视音频特技以达到渲染素材的效果。因此随着计算机技术的不断发展,在 这种需求的牵引下,越来越多的非线性编辑系统使用多CPU平台和多核以及 超线程技术,提升非线性编辑系统的硬件能力。上述技术在非线性编辑系统 中的应用加快了特技算法的处理速度,能够增加更多层数的轨道,提高特技 效果的实时性。然而本发明发明人在实现本发明时,发现现有技术中至少存在如下技术
缺陷虽然在现有的非线性编辑系统中大量采用多CPU平台和多核以及超线 程技术的平台,但是现有的特技处理过程依然依靠其中的一个单CPU处理其 特技算法,使得多CPU平台的性能不能够得到充分的发挥,并且造成其他CPU 的闲置,是对现有非线性编辑系统资源的极大浪费。

发明内容
本发明实施例要解决的问题是提供一种基于多CPU平台提高特技处理 效率的方法,用于将特技处理任务分配到各个CPU上执行,最大限度的增大 CPU的使用率,从而客服现有技术中多CPU平台的性能不能够得到充分发挥
的4支术缺陷。
为达到上述目的,本发明实施例一方面提出一种基于多CPU平台提高特 技处理效率的方法,包括以下步骤创建特技处理任务;根据所述多CPU平 台的CPU数量将所述特技处理任务分配到每个CPU上执行;汇总各个CPU 的执行结果并提交。
其中,所述根据多CPU平台的CPU数量将所述特技处理任务分配到每个 CPU上执行具体包括根据所述多CPU平台的CPU数量将所述特技处理任 务平均分配到每个CPU上执行。
其中,还包括,在所述各个CPU执行分配的特技处理任务时,将其他特 技处理任务设置为阻塞状态。
其中,在所述汇总客个CPU的执行结果并提交之后,还包括以下步骤 标记所述特技处理任务为已完成状态。
其中,在所述特技处理任务标记为已完成状态后,执行其他特技处理任务。
其中,通过Windows API实现将所述特技处理任务分配到每个CPU上执行。
其中,所述根据多CPU平台的CPU数量将所述特技处理任务平均分配到 每个CPU上执行具体包括:将需加载特技的图像平均分配到每个CPU上执行。
6本发明实施例还提出 一种计算机程序,包括若干指令用以执行前述基于
多CPU平台提高特技处理效率的方法。
本发明实施例还提出 一种存储介质,存储上述的计算机程序。
本发明实施例还提出一种计算机设备,包括用以执行前述基于多CPU平
台提高特技处理效率的方法的软件及与软件配合的硬件。
本发明实施例的技术方案具有以下优点,本发明实施例通过将特技处理
任务分配到各个CPU上执行,增大了CPU的使用效率,提高了多CPU平台 的特技处理效率。并且通过本发明实施例对CPU的特技处理独占式调用方式, 能够保证特技处理任务操作的连贯性,减少任务之间的切换,更好地利用CPU 中的CACHE,进一步提高了非线性编辑系统特技制作流程的性能,从而在节 目制作中可以获得更多实时的特技效果,剪辑出更高质量的节目,提高观众 的满意度。


图1为本发明实施例一的基于多CPU平台提高特技处理效率的方法的 流程图2为本发明实施例多CPU特技执行示意图3为本发明实施例二的基于多CPU平台提高特技处理效率的方法的 流程图4为本发明实施例独占式特技调用流程图。
具体实施例方式
本发明发明人针对现有技术中采用多CPU平台的非线性编辑系统的
技术缺陷,能够在执行特技处理任务时,将该特技处理任务分配到各个
CPU上执行,不仅能够充分利用现有多CPU平台的非线性编辑系统的资
源,还能够通过任务分割提高整体特技处理任务的处理速度。并且本发明
实施例还提出了一种对CPU的独占式特技调用方式,能够充分保证CPU 使用的连续性,减少任务切换对CPU处理速度的影响,能够更好地利用CPU中的CACHE,进一步提高了非线性编辑系统特技制作流程的性能。 下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述 如图1所示,为本发明实施例一的基于多CPU平台提高特技处理效率
的方法的流程图,通过该实施例能够提高非线性编辑系统的性能,该实施例
包括以下步骤
步骤S101,创建特技处理任务。其中特技处理任务需要执行大量的特技 算法,是一个算法密集型的处理过程。
步骤S102,特技执行模块调取上述特技处理任务,并根据非线性编辑系 统中多CPU平台的CPU数量将该特技处理任务分配到每个CPU上执行。这 样不仅能够提高特技处理速度,并且还能够充分利用其他CPU资源。如图2 所示,为本发明实施例多CPU特技执行示意图,在该实施例中将特技任务 分割,分酉己到CPU0、 CPU1、 CPU2和CPU3这四个CPU上执行,通过四 个CPU同时执行一个特技处理任务,提高特技处理的速度,满足特技效果 的实时性要求。其中,作为一个优选的实施例,发明人发现如果各个CPU 分配到的特技处理任务不同,有的多有的少,那么就会出现分配到较多处 理任务的CPU处理的时间就会较长,而分配较少任务的CPU任务执行完 后还需要等待任务较多的CPU,因此还是会存在一定的资源浪费问题。因 此本发明实施例提出将特技处理任务平均分配到每个CPU上执行,这样CPU
之间也无需相互等待,进一步提高非线性编辑系统的使用效率。例如在为一
帧图像加载特技时,可将该图像横向或纵向等分为四份,分别交由图2中的 四个CPU分别执行,这样这四个CPU执行的时间基本一致,从而保证了最高 效的处理速度。其中,本发明实施例还提出一种通过Windows API实现将特 技处理任务分配到每个CPU上执行的方式,然而此方式并不是唯一能够进行 特技处理任务分配的方式,因此通过其他方式实现特技处理任务的分配,也 均应为本发明实施例保护范围所涵盖。
步骤S103,在各个CPU完成任务后,汇总各个CPU的执行结果并提交。 如图3所示,为本发明实施例二的基于多CPU平台提高特技处理效率的 方法的流程图,该实施例在实施例一的基础上通过对CPU的独占式特:忮调用模式,能够保证CPU使用的连续性,进一步提高非线性编辑系统的性能。该
实施例包括以下步骤
步骤S301,创建特技处理任务。其中特技处理任务需要执行大量的特技 算法,是一个算法密集型的处理过程。
步骤S302,特技执行模块调取上述特技处理任务,并根据非线性编辑系 统中多CPU平台的CPU数量将该特技处理任务分配到每个CPU上执行。这 样不仅能够提高特技处理速度,并且还能够充分利用其他CPU资源。如图2 所示,为本发明实施例多CPU特技执行示意图,在该实施例中将特技任务 分割,分配到CPUO、 CPU1、 CPU2和CPU3这四个CPU上执行,通过四 个CPU同时执行一个特技处理任务,提高特技处理的速度,满足特技效果 的实时性要求。其中,作为一个优选的实施例,发明人发现如果各个CPU 分配到的特技处理任务不同,有的多有的少,那么就会出现分配到较多处 理任务的CPU处理的时间就会较长,而分配较少任务的CPU任务执行完 后还需要等待任务较多的CPU,因此还是会存在一定的资源浪费问题。因 此本发明实施例提出将特技处理任务平均分配到每个CPU上执行,这样CPU
之间也无需相互等待,进一步提高非线性编辑系统的使用效率。例如在为一
帧图像加载特技时,可将该图像横向或纵向等分为四份,分别交由图2中的 四个CPU分别执行,这样这四个CPU执行的时间基本一致,从而保证了最高 效的处理速度。其中,本发明实施例还提出一种通过Windows API实现将特 技处理任务分配到每个CPU上执行的方式,然而此方式并不是唯一能够进行 特技处理任务分配的方式,因此通过其他方式实现特技处理任务的分配,也 均应为本发明实施例保护范围所涵盖。
步骤S303,在各个CPU执行分配的特技处理任务时,将其他特技处理任 务设置为阻塞状态。因为对于多任务操作系统Windows来说,同一时间可能 会有多个任务在运行,任务之间需要互相切换执行,这样在切换任务的过程 中需要CONTEXT SWITCH,即保留当前任务的现场,载入下一个任务的现 场并执行下一个任务。因此任务切换会降低系统性能,由于保留当前任务的 现场也会使CPU中的CACHE性能大大降低。为了保证特技处理任务能够尽
9可能连续使用CPU,需要减少CONTEXT SWITCH,更好的利用CACHE。本 发明实施例通过对特技处理任务的控制调度,确保在单一进程内,两次独立 的算法操作不会同时进行。因此在各个CPU执行分配的特技处理任务时,会 将其他特技处理任务设置为阻塞状态。如图4所示,为本发明实施例独占式 特技调用流程图,特技执行模块正在执行特技处理任务1,因此将特技处理任 务2设置为阻塞状态,因此保证特技处理任务1能够独占当前特技执行^t块。 步骤S304,在在各个CPU完成任务后,汇总各个CPU的执行结果并提交。
步骤S305,标记所述特技处理任务为已完成状态。
步骤S306,在特技处理任务标记为已完成状态后,执行其他特技处理任 务。如图4中,在特技处理任务1完成后会将其标记为已完成状态,此时特 技执行模块会接受特技处理任务2并执行,同样在执行特技处理任务2时也 需要将其他特技处理任务设置为阻塞状态。
本发明实施例通过将特技处理任务分配到各个CPU上执行,增大了 CPU 的使用效率,提高了多CPU平台的特技处理效率。并且通过本发明实施例对 CPU的特技处理独占式调用方式,能够保证特技处理任务l喿作的连贯性,减 少任务之间的切换,更好地利用CPU中的CACHE,进一步提高了非线性编 辑系统特技制作流程的性能,从而在节目制作中可以获得更多实时的特技效 果,剪辑出更高质量的节目,提高观众的满意度。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技 术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使 得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行 本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应^L为本发明的保护范围
权利要求
1、一种基于多CPU平台提高特技处理效率的方法,其特征在于,包括以下步骤创建特技处理任务;根据所述多CPU平台的CPU数量将所述特技处理任务分配到每个CPU上执行;汇总各个CPU的执行结果并提交。
2、 如权利要求1所述基于多CPU平台提高特技处理效率的方法,其特 征在于,所述根据多CPU平台的CPU数量将所述特技处理任务分配到每个 CPU上执行具体包括根据所述多CPU平台的CPU数量将所述特技处理任务平均分配到每个 CPU上执行。
3、 如权利要求1所述基于多CPU平台提高特技处理效率的方法,其特 征在于,还包括,在所述各个CPU执行分配的特技处理任务时,将其他特技 处理任务设置为阻塞状态。
4、 如权利要求1所述基于多CPU平台提高特技处理效率的方法,其特 征在于,在所述汇总各个CPU的执行结果并提交之后,还包括以下步骤标记所述特技处理任务为已完成状态。
5、 如权利要求3所述基于多CPU平台提高特技处理效率的方法,其特 征在于,在所述特技处理任务标记为已完成状态后,执行其他特技处理任务。
6、 如权利要求1所述基于多CPU平台提高特技处理效率的方法,其特 征在于,通过Windows API实现将所述特技处理任务分配到每个CPU上执行。
7、 如权利要求2所述基于多CPU平台提高特技处理效率的方法,其特 征在于,所述根据多CPU平台的CPU数量将所述特技处理任务平均分配到每 个CPU上执行具体包括:将需加载特技的图像平均分配到每个CPU上执行。
8、 一种计算机程序,其特征在于,包括若干指令用以执行前述权利要求 l-7所述的基于多CPU平台提高特技处理效率的方法。
9、 一种存储介质,其特征在于,存储权利要求8所述的计算机程序。
10、 一种计算机设备,其特征在于,包括用以执行前述权利要求l-7所述基于多CPU平台提高特技处理效率的方法的软件及与软件配合的硬件。
全文摘要
本发明公开了一种基于多CPU平台提高特技处理效率的方法,包括以下步骤创建特技处理任务;根据所述多CPU平台的CPU数量将所述特技处理任务分配到每个CPU上执行;汇总各个CPU的执行结果并提交。本发明实施例通过将特技处理任务分配到各个CPU上执行,增大了CPU的使用效率,提高了多CPU平台的特技处理效率。并且通过本发明实施例对CPU的特技处理独占式调用方式,能够保证特技处理任务操作的连贯性,减少任务之间的切换,进一步提高了非线性编辑系统特技制作流程的性能,从而在节目制作中可以获得更多实时的特技效果,剪辑出更高质量的节目,提高观众的满意度。
文档编号G06F9/50GK101446908SQ20071017805
公开日2009年6月3日 申请日期2007年11月26日 优先权日2007年11月26日
发明者何宇飞, 郝晓锋 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1