专利名称:运行时间可配置的虚拟视频流水线的利记博彩app
技术领域:
本发明涉及计算机处理领域,特别涉及一种用于动态配置多管道流水线系统(比如视频处理流水线系统)的方法和系统。
流水线系统通常用于顺序地处理数据。以连续的方式顺序地将数据从一个功能单元传输到下一个功能单元,在数据行进通过各功能单元的过程中对其进行一种或多种变换。举例来说,视频数据被顺序地处理以便缩放图像以用于显示、锐化对比度、校正颜色失真等等。
多管道系统通常用在高级视频处理系统中,以便产生作为来自多个源的图像的组合和/或同一图像上的不同效果的组合的合成图像。例如,通过独立地处理被组合成画中画(PIP)图像的两个图像中的每一个来形成包含画中画的合成图像。
图1和2说明了传统的多管道系统的例子,其包括用来处理源110和混合器150之间的数据流的流水线120、220-222,该混合器150基于对通过每条流水线的各数据流的处理来产生合成输出。其中功能块F1-F5的不同大小表示每个块消耗不同的资源量,比如面积、成本、功率等等。
图1说明了一种通用同构多管道系统100,其中每个管道120包括相同的功能块组合F1-F2-F3-F4-F5-F6。数据获取模块110将形成输入数据流的数据提供给每个管道,所述管道通常形成一个存储器或其它流水线。每个数据流行进通过相同的功能块序列,基于被提供给每个块的参数,所述数据流可能经受不同的变换。举例来说,每个图像流经受不同的缩放。因为每条流水线120都是完全相同的,所以提供了最大的灵活性,因为每条流水线120都可被用于提供任何想要的功能F1-F6。
另一方面,图2说明了一种异构多管道系统200,其中流水线220-222在可用功能方面各不相同。由于每条流水线不必包含所有的可用功能F1-F6,所以消耗更少的资源。当已知或假设某些数据流不需要特定功能时,使用这样的系统200。例如,在一个PIP系统中,可能假设只需要缩放较小的插入图像,因此处理完全尺度图像的流水线不必包括缩放功能。类似地,处理经缩放图像的流水线不必包括对比度增强块。由于流水线220-222各被定制成所预期的应用,所以在其它应用中使用系统200的灵活性就受到限制。
除了提供灵活性之外,系统100的同构性还方便了对系统100进行编程或控制以执行一组给定变换的任务,这是通过适当地设置每个功能块F1-F6的参数而完成的。另一方面,异构系统200通常需要为每一条不同流水线220-222定制的控制方案。
本发明的一个目的是提供一种多流水线系统,该系统合并了同构系统的灵活性以及异构系统的效率。本发明的另一个目的是提供一种动态可配置的多流水线系统,以便实现每条流水线的不同功能组合。
这些目的以及其它目的是通过一种多流水线系统实现的,该系统包括一个可以按需提供以便选择流水线的辅助功能块池。该多流水线系统中的每条流水线被配置成包括一组同构核心功能。提供了一个辅助功能池,以便在所选流水线的核心功能之间选择性插入辅助功能。每个辅助功能包括一个多路复用器,以便允许将该功能选择性地耦合在每条流水线内。
图1说明了一个现有技术同构多流水线系统的示例方框图;图2说明了一个现有技术异构多流水线系统的示例方框图;图3说明了一个根据本发明的可配置多流水线系统的示例方框图;图4说明了一个根据本发明的用于可配置多流水线系统的辅助功能块的示例方框图;图5说明了一个根据本发明的经配置的多流水线系统的示例数据流图。
在这些图中,相同的附图标记指代相同元件或者执行基本相同的功能的元件。
图3说明了一个根据本发明的可配置多流水线系统300的示例方框图。本发明基于这样的观察在一个多流水线系统中,很少在所有流水线中都需要所有的功能。然而,与基于同样前提的传统异构系统相比,本发明还基于这样的观察在每条流水线中预先定义功能子集并不总是实际或可行的。
在本发明的一个优选实施例中,每条示例流水线320包括一个同构的功能块安排,如图1中的示例块F1-F6所示。为便于参考,这些功能块F1-F6被记为“核心”功能块,因为它们被包含在每条流水线中。在图3中还示出了辅助功能块A-E 335的池330。根据本发明,核心功能块F1-F6之间的耦合包括开关325,该开关选择性地将数据从一个核心功能块F1-F6的输出路由到一个所选辅助块A-E,然后回到序列F1-F6中的下一个核心功能块。按照这种方式,每条流水线320可以被配置成在该流水线320被配置时只包含所需要的辅助功能。控制块350对开关325实施控制,以便在每条流水线内实现想要的功能配置。
辅助块A-E 335通常将包括消耗大量资源但却不总需要的“专用功能”,而核心功能块F1-F6则是通常在任何流水线内都需要的功能以及/或者消耗很少资源的功能。例如在用于视频处理的一个优选实施例中,核心功能块F1包括到获取模块110的接口以便接收和格式化像素信息从而用于后续处理,而辅助功能A 335包括一个颜色查找表,用于转换/扩展利用颜色索引编码的像素信息。所有的流水线320可能都需要到数据模块110的接口,但是只有当数据是颜色索引编码的并且需要颜色信息以用于后续处理时,流水线才需要访问该颜色查找表。在所示系统300中,提供了辅助功能A的两个拷贝,从而在该示例实施例中允许配置任意两条流水线来处理颜色索引的数据。类似地,在一个优选实施例中,其它辅助功能块B-F包括颜色瞬态改进器、采样率上变换器、直方图修改器、亮度锐化器以及颜色特征(肤色、蓝延伸(blue-stretch)等等)模块。在该优选实施例中,核心功能F2-F6包括用于重叠视频和/或图形层的色度键控、去抖动器、色度上采样器、线性内插器、以及对比度平衡器和颜色空间转换器。
在一个优选实施例中,为了便于路由和开关的任务,以及为了便于高效的数据处理,将辅助块A-F分配到流水线320内的特定位置。也就是说,例如将辅助块A配置成放置在核心功能块F1和F2之间;将辅助块B和C配置成放置在核心功能块F2和F3之间,依此类推。使用这一预先配置的安排,如果没有辅助块被分配到放置在特定核心功能块之间,则可以去除某些开关325。本领域技术人员将认识到,本发明的原理不需要预先配置的安排,并且可以应用本发明的原理来实现在每条流水线320内的不受限制的辅助块335的安排。
图4说明了一个根据本发明的用于可配置多流水线系统300的辅助功能块A 335的示例方框图。块A 335包括一个输入开关/选择器/路由器410以及一个功能模块420。如图所示,开关410选择将每条流水线内的核心功能块F1的输入(如果有的话)施加到功能模块420。来自每条未选流水线内的功能块F1的输出被透明地前送到该流水线内的功能块F2的输入,对于所选流水线则将功能模块420的输出前送到该流水线内的功能块F2的输入。在该优选实施例中,通常作为图3的控制模块350的组件的控制寄存器Ra 430控制将流水线数据选择性地路由通过辅助块A 335的每个拷贝。
图5利用控制寄存器矩阵520说明了一个根据本发明的经配置的多流水线系统的示例数据流图。矩阵530的每一行S1,S2,...S5分别对应于流水线320a,320b,...320e。每一列A,B,...E对应于相应的辅助块A-E;在特定行的列中的“1”表示在相应的流水线中使用了所述块。举例来说,第一行S1中所示的“11000”将块A和B插入到第一流水线320a中;第二行S2中所示的“01101”将块B、C和E插入到第二流水线320b中;依此类推。应该注意,由于将辅助块A-E预先配置成插入在特定核心块F1-F6之间,不需要指示将在哪里插入所选辅助块。还应该注意,图3的辅助块335的池330说明只有两个块B的拷贝可用,因此其它行/流水线不能被配置成包含块B,这是因为已经将块B的两个可用拷贝分配给了流水线320a、320b。
本领于技术人员将认识到,可以根据本发明设想替换方案来控制流水线数据通过所选辅助功能块的所选路由。还可以认识到,该控制可以在每个应用的开始处实施,或者也可以在一个应用内动态地实施,或者可以在制造时实施以便按照需要创建专用装置。
前面的内容仅仅是说明本发明的原理。因此,本领域技术人员将能够在本发明的精神和范围内设想未在这里明确描述但却可以体现本发明原理的各种实施方案。举例来说,虽然所示的优选实施例包括多条同构流水线,但是本领域技术人员将认识到,所述同构性并不是本发明的先决条件。例如,可以将一条或多条流水线配置成包含那些可能被包括在多数视频处理流水线的所有功能单元,而其它流水线则可以包括那些可能被包括在多数图形处理流水线中的核心单元,或者那些可能被包括在通常使用的功能简化流水线(比如PIP流水线)中的核心单元。类似地,某些辅助单元可以是可配置的,以便只插入流水线的一个子集中。此外,虽然将辅助块A-E呈现为“功能块”,本领于技术人员将认识到一个或多个块A-E可以包括“被动块”,比如按照需要被分配给特定流水线的存储器块。根据本公开内容,这些和其它系统配置和优化特征对于本领于技术人员来说将是显然的,并且被包括在所附权利要求书的范围内。
权利要求
1.一种处理系统(300),包括多条流水线(320),所述多条流水线(320)中的每条流水线包括多个核心流水线元件(F1-F6)和多个辅助元件(335),所述多个核心流水线元件(F1-F6)被配置成当数据行经该流水线时顺序地处理该数据,所述多个辅助元件(335)中的每个辅助元件被配置成被选择性地耦合在所述多个核心流水线元件(F1-F6)中的一对核心流水线元件之间,以便当数据行经该对核心元件之间时处理该数据。
2.如权利要求1所述的处理系统(300),其中所述数据包括视频数据和图形数据的至少其中之一。
3.如权利要求2所述的处理系统(300),其中被提供给两条或多条流水线的所述数据对应于一幅共用图像。
4.如权利要求2所述的处理系统(300),其中被提供给两条或多条流水线的所述数据对应于不同的图像。
5.如权利要求2所述的处理系统(300),其中所述多个核心流水线元件(F1-F6)包括以下各项的至少其中之一像素获取元件,像素格式化器,色度键控元件,去抖动器,色度上采样器,线性内插器,对比度平衡器和颜色空间转换器。
6.如权利要求5所述的处理系统(300),其中所述多个辅助元件(335)包括以下各项的至少其中之一颜色查找表,颜色瞬态改进器,采样率上变换器,直方图修改器,亮度锐化器以及颜色特征模块。
7.如权利要求2所述的处理系统(300),其中所述多个辅助元件(335)包括以下各项的至少其中之一颜色查找表,颜色瞬态改进器,采样率上变换器,直方图修改器,亮度锐化器以及颜色特征模块。
8.如权利要求1所述的处理系统(300),其中每个辅助元件被配置成被选择性地耦合在所述多个核心流水线元件(F1-F6)中的预定的一对核心流水线元件之间。
9.如权利要求1所述的处理系统(300),其中每个辅助元件包括功能模块(420)和开关(410),其中该开关(410)被配置成在所述多条流水线(320)中间作选择,以便将所述辅助元件选择性地耦合到所选流水线。
10.如权利要求1所述的处理系统(300),还包括一个寄存器(430),该寄存器(430)被配置成控制将所述辅助元件(335)选择性地耦合到所述多条流水线(320)内。
11.如权利要求1所述的处理系统(300),还包括一个适于耦合到每条流水线的数据获取模块(110)和一个适于耦合到每条流水线的混合器(150),所述数据获取模块(110)被配置成便于获取数据,所述混合器(150)被配置成合并来自所述多条流水线(320)中的两条或多条流水线的数据。
12.如权利要求1所述的处理系统(300),其中所述多个辅助元件(335)包括一个功能元件(A-E)的多个复制拷贝,该功能元件(A-E)的复制拷贝的数量少于所述多条流水线(320)中的流水线的数量。
13.如权利要求1所述的处理系统(300),还包括一个控制器(350),该控制器(350)便于将所述辅助元件(335)选择性地耦合到所述多条流水线(320)内。
14.如权利要求13所述的处理系统(300),其中所述控制器(350)被配置成在由该处理系统(300)执行的应用的开始时实施所述选择性耦合。
15.一种包括多条同构流水线(320)和一个控制器(350)的集成电路,该控制器(350)被配置成允许修改所述多条流水线(320)中的一条或多条流水线,以便产生多条异构流水线(320a-320e)。
16.如权利要求15所述的集成电路,还包括一个或多个辅助元件(335),所述一个或多个辅助元件(335)被配置成由所述控制器(350)选择性地插入到所述一条或多条流水线(320)内,以便产生所述多条异构流水线(320a-320e)。
全文摘要
一个多流水线系统(300)包括一个辅助功能块(A-E 335)的池(330),所述辅助功能块被按照需要提供给所选流水线。该多流水线系统(300)中的每条流水线(320)被配置成包括一组同构核心功能(F1-F6)。提供了一个辅助功能(A-E 335)的池(330),以便将辅助功能(A-E 335)选择性地插入所选流水线的核心功能(F1-F6)之间。每个辅助功能包括一个多路复用器,该多路复用器允许将该辅助功能选择性地耦合在每条流水线内。
文档编号G06F15/80GK1833238SQ200480009384
公开日2006年9月13日 申请日期2004年4月2日 优先权日2003年4月3日
发明者S·杜塔, J·伦纳特 申请人:皇家飞利浦电子股份有限公司