流水线化的图像处理引擎制造技术

技术编号:4133835 阅读:177 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了流水线化的图像处理引擎。本发明专利技术涉及通过将图像帧分成为多块图像数据来通过效果流水线处理图像帧。示例方法包括:从每帧生成多个块,以预定的连续顺序通过效果流水线来处理每块,并且通过组合每个经处理块中的主要像素来聚合经处理的块以产生输出帧。效果流水线可以被分布在多个处理节点中,并且每个效果可以处理被提供作为节点的输入的块。每个处理节点可以独立地利用效果对块进行处理。

【技术实现步骤摘要】

本专利技术一般涉及流水线化的图像处理引擎,并且更具体地涉及用于通过多核处理系统上的效果流水线(effect pipeline)来处理多个图像帧的系 统和方法。
技术介绍
随着制造技术的持续提高,基于半导体的微电子的物理极限也扩展来 满足对更有能力的微处理器的需要。处理速度上的限制带来了这样的适应 性通过采用多核或分布式体系结构以分布工作负荷的并行化来平衡现有 处理器速度和性能,由此增加了处理能力并减少了处理时间。电影/视频/成像空间中的应用常常以流水线方式将多个图像处理效果 链接起来。这些图像处理流水线可以从通过多核或分布式体系结构提供的 并行化中受益。执行这种图像处理的应用共享共同的特性,包括以实时的 速率处理并移动大量数据的需求。这种系统的传统实施方式遭受了差的吞吐量、高延时以及增加的复杂 性这些问题的组合,这降低了可扩展性和可縮放性。如在流水线系统中那 样,在将依赖于连续执行的多个分立效果链接起来时,使这些限制增加。在处理视频时,'效果流水线'指以定义的顺序对图像应用视觉效 果。类似地,'效果'指效果流水线的各级。在效果流水线中将硬件资源分布在各个效果间的现有方法通常受到许 多关于并行化的限制的影响。一种方法将各个图像帧的数据定义为最小工作份额,这允许各个效果 独立地对给定帧或其它帧操作。虽然这种方法允许多个效果共同存在于共 享系统中而不会在它们之间强加紧密集成,然而,这种方法也导致了整个 系统的高延时。这种延时与效果流水线中的效果数目有关。6'流水线性能'将性能测量为延时和计算时间的组合。'延时'指流 水线系统发出给定单位的数据所需的时间。对于效果流水线,'延时'指 流水线中的每个图像帧自进入流水线中第一效果的时刻起到离开流水线中 最后一个效果的时间为止所花费的时间。H十算时间'指处理标准单位的数据,例如图像帧所需的时间。此 外,计算时间可以表示为视频系统的帧频的函数,或者处理帧的实际时间 的函数。图11图示出了多核系统中的6级基于帧的效果流水线。在图11中, 在假设流水线中的处理器数目等于或大于效果数目的最佳情况下,各个效 果被指派给处理器(或核)。每个处理器每次对一个完整图像帧上的效果 进行处理。图像帧可能来源于视频流或图像帧的其它源。各个进入帧依次 顺序地被处理。为了简化起见,假设每个效果花费相同量的时间来处理 帧,这表示了输出每个帧所需的最佳时间,以便维持一致的帧频。在时间tl,帧1进入流水线,并且由处理器1将第一效果应用到帧 1。在时间t2,帧2被处理器l载入并处理,并且帧l被处理器2载入并处 理。在时间t3,帧3被处理器1载入并处理,帧2被处理器2载入并处 理,并且帧l被处理器3载入并处理。从时间t4至t6,帧4至帧6被引入 流水线,并且帧1-3沿着流水线前进。在时间t6的结尾处,帧1从流水线 中出来。可以将流水线延时测量为通过流水线中的所有级处理一帧所需的时 间,或者以 <帧时间',即在帧N离开效果流水线之前管道中的第一效果 所处理的帧数来测量流水线延时。作为帧时间的函数,流水线延时被计算为PLFT = M-N (式l) 其中 PLpr是以帧时间为单位的流水线延时。 M是在时刻T时进入流水线的帧。 .N是在时刻T时离开流水线的帧,并且]VKN。对于基于帧的体系结构,流水线延时也可以被定义为链中的最慢效果7的处理时间与流水线中的效果(或级)数之积。这被计算为PLCT = NxTFM (式2)其中 PLcT是作为计算时间的流水线延时。,N是流水线中的级数。 TFM是流水线中的最慢效果M处理帧所需的时间。假设每120 ms新的帧被馈送入流水线中,流水线包含6个级或效果, 并且流水线中的最慢效果也花费120ms来处理一帧的数据,则图11中的 基于帧的系统的流水线延时(PL)为6x120 = 960 ms。此外,由于流水线延时被测量为第一帧,即帧1进入和离开流水线时 的时间的函数,因此,通过使各个处理器并行地连续运行每个效果不会带 来益处。即,即使每个帧立即可用于处理,而不是每120ms将新的帧连续 馈送到流水线中,基于第一帧进入和离开流水线的时间,流水线将仍然具 有6帧延时以及960 ms的计算时间延时。上面的系统受到可用硬件资源的限制,即,如果效果数超过了可用独 立处理组件数,或者如果每个处理器中的可用缓存不能存储一整帧,则处 理将变得相当慢。
技术实现思路
本专利技术提供了实现灵活可扩展流水线的流水线化图像处理引擎,流水 线能够针对受限的硬件资源进行调节。实施例还可以包括静态和动态负荷 平衡。示例实施例移除或减少了许多上述限制,同时还提供了以更高效的 方式执行效果的一般架构。本专利技术的示例实施例可以包括用于通过效果流水线处理图像帧的方 法。该方法可以包括从每帧生成多个块,以预定的连续顺序通过效果流水 线来处理每块,并且通过组合每个经处理块中的像素来聚合经处理的块以 产生输出帧。每个块可以包含一组主要像素和一组总像素,总像素包括效 果流水线中的效果产生针对主要像素的输出所需的作为输入的任何像素。 每个块中的主要像素是将用于由效果流水线生成的最后一帧的像素。8效果流水线可以被分布在多个处理节点中,并且每个效果可以处理被 提供作为节点的输入的块,以产生针对块的主要像素的输出。每个处理节 点可以独立地利用效果对块进行处理。可以针对调度的目的来分析效果, 以便减少处理每帧中的第一块与输出每帧中的最后一块之间的延时。效果可以包括空间效果或时间效果。当处理空间效果时,块中的总像 素可以包括邻近块中的多个像素。当处理时间效果时,总像素可以包括来 自时间上邻近的图像帧的多个像素。块处理和生成可以采用不同策略,例如下面描述的减小范畴或固定范 畴策略,但是不限于此而是可以包括不同策略的组合和子组合。例如,效 果流水线的不同部分可以利用不同策略进行操作。在一个实施例中,生成总像素可以包括识别通过效果流水线中的多 个效果连续地处理块以产生针对主要像素的输出的任何像素。这可以包 括分析第一效果以确定产生针对主要像素的输出所需的总像素,并且分 析第二效果以确定生成针对所述总像素的输出所需的总像素,所针对的总 像素是第一效果产生针对主要像素的输出所需的。处理步骤然后可以在通 过第二效果处理块之后并且在处理所述第一效果之前减少该块中的总像素 的数目。在另一实施例中,处理步骤可以包括在处理第一效果之后并且在处 理第二效果之前,利用来自至少一个邻近块的主要像素来更新块中的总像 素。另一示例实施例可以是用于通过效果流水线处理图像帧链的装置。该 装置可以包括主要处理器、多个辅助处理器以及总线。总线可以互连主要 处理器、多个辅助处理器以及存储器接口。主要处理器可以包括块生成器、效果分布器和块聚合器。块生成器可 以从经由存储器接口提供的输入图像帧中生成多个块。效果分布器可以管 理效果和多个块在多个辅助处理器间的分布和处理顺序。最后,块聚合器 可以组合经处理的块。多个辅助处理器的每个可以包括存储来自块生成器的块的内容的最小 存储器缓存。多个辅助处理器的每个可以以连续顺序通过效果流水线一次9处理一个块。效果流水线可以被分布在多个辅助处理器中。每个辅助处理 器可以独立地执行效果,以产生针对给定块的主要像素的输出。附图说明本文档来自技高网
...

【技术保护点】
一种用于通过效果流水线处理图像帧的方法,所述方法包括: 生成多个块,每个块包含一组主要像素和一组总像素,所述总像素包括所述效果流水线中的效果产生针对所述主要像素的输出所需的作为输入的任何像素; 以预定的连续顺序通过所述效果流水线来处理每 个块,所述效果流水线被分布在多个处理节点中;以及 通过组合经处理块中的所述主要像素,来聚合经处理的块以产生输出帧, 其中,所述效果流水线中的每个效果处理作为输入被提供给节点的块,以产生针对所述块的所述主要像素的输出。

【技术特征摘要】
US 2008-9-9 61/191,557;US 2009-6-24 12/457,8581.一种用于通过效果流水线处理图像帧的方法,所述方法包括生成多个块,每个块包含一组主要像素和一组总像素,所述总像素包括所述效果流水线中的效果产生针对所述主要像素的输出所需的作为输入的任何像素;以预定的连续顺序通过所述效果流水线来处理每个块,所述效果流水线被分布在多个处理节点中;以及通过组合经处理块中的所述主要像素,来聚合经处理的块以产生输出帧,其中,所述效果流水线中的每个效果处理作为输入被提供给节点的块,以产生针对所述块的所述主要像素的输出。2. 如权利要求1所述的方法,其中,总块像素包括所述主要像素以及 至少一个效果产生针对所述主要像素的输出所需的作为输入的任何其它像 素。3. 如权利要求1所述的方法,其中,生成多个块还包括分析效果以 确定生成针对所述主要像素的输出所需要的总像素。4. 如权利要求3所述的方法,其中,生成多个块包括分析第一效果以确定产生针对所述主要像素的输出所需要的总像素;以及分析第二效果以确定生成针对所述总像素的输出所需的总像素,所针 对的总像素是所述第一效果产生针对所述主要像素的输出所需的。5. 如权利要求4所述的方法,其中,所述处理步骤在通过所述第二效 果处理块之后并且在处理所述第一效果之前,减少所述块中的总像素的数 目。6. 如权利要求1所述的方法,其中,所述处理步骤包括在处理第一 效果之后并且在处理第二效果之前,利用来自至少一个邻近块的主要像素 来更新块中的总像素。7. 如权利要求1所述的方法,其中,所述总像素包括通过所述效果流水线中的多个效果连续地处理块以产生针对所述主要像素的输出所需的作 为输入的任何像素。8. 如权利要求1所述的方法,其中,生成多个块包括分析每个效果 以判断所述效果是像素效果、区域效果还是范围效果。9. 如权利要求1所述的方法,其中,生成多个块包括分析节点可用 的资源以及效果,以确定所述多个块中的每个块的总像素和主要像素的数 目。10. 如权利要求1所述的方法,其中,所述总像素包括来自时间上邻 近的图像帧的多个像素。11. 如权利要求1所述的方法,其中,所述总像素包括输入图像帧内 的多个空间上邻近的像素。12. 如权利要求1所述的方法,其中,当通过效果流水线处理每个块 时,每个处理节点独立地利用效果对块进行处理。13. 如权利要求1所述的方法,其中,所述处理步骤包括调度效果 以减少每帧中的第一块的开始处理与每帧中的最后一块的输出之间的延 时。14. 一种用于通过效果流水线处理图像帧链的装置,包括 主要处...

【专利技术属性】
技术研发人员:赫曼K加拉
申请(专利权)人:索尼株式会社索尼电子有限公司
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1