可适应媒体处理架构的制作方法

文档序号:7770032阅读:164来源:国知局
可适应媒体处理架构的制作方法【专利摘要】提供了各种方法和系统用于可适应媒体处理架构。在一个例子中,其中,服务于媒体流的可适应编码架构包括媒体处理资源和控制器,该控制器通过将媒体处理管线资源置于单流配置来支持第一媒体流,并导致媒体处理资源从单流配置到多流配置的转换。例如,可以做出转换从而同时支持编码或解码另一媒体流。在另一例子中,装置包括媒体处理资源和控制器,该控制器导致媒体处理资源适应性重配置从而支持新媒体流和至少一个正在进行媒体流的同时编码相关处理,这可以导致媒体处理资源的至少一部分从正在进行媒体流重分配到新媒体流。【专利说明】可适应媒体处理架构[0001]相关申请的交叉参考[0002]本申请要求2012年12月28日提交的美国申请第13/730,267号以及2012年9月18日提交的美国临时申请第61/702,712号的优先权,该申请的全部内容通过引用结合到本文。【
技术领域
】[0003]本发明涉及可适应媒体处理架构,更具体地讲,涉及可适应编码架构和可适应解码架构。【
背景技术
】[0004]随着世界转向多媒体,处理需求提升。由于支持全高清视频共享的一些站点,互联网多媒体内容的可用性继续改善。视频会议的添加使用也增加了对更优质量和更快处理的需求。另外,蜂窝电话越来越多地用作数码相机和摄影机。移动设备的发展不断增加对低功耗、高分辨率图像处理的需求。【
发明内容】[0005]本发明的一个方面涉及一种用于服务多个媒体流的可适应编码架构,所述可适应编码架构包括:多个媒体处理管线资源;控制器,可操作用于通过以单流配置安排所述多个媒体处理管线资源的至少第一部分来支持所述多个媒体流的第一媒体流,所述单流配置定义单流编码路径;以及所述控制器可操作用于使得从所述单流配置转换到所述多个媒体处理管线资源的多流配置,进行所述转换以同时支持所述第一媒体流和所述多个媒体流的第二媒体流,所述多流配置既定义用于所述第一媒体流的第一编码路径又定义用于所述第二媒体流的第二编码路径,所述第一编码路径不同于所述单流编码路径。[0006]上述的可适应编码架构中,优选所述控制器至少部分基于与所述第一媒体流关联的编码标准和可用媒体处理资源来适应性配置所述单流编码路径以编码所述第一媒体流。[0007]上述的可适应编码架构中,优选所述控制器通过释放被包括在所述单流编码路径中的至少一个媒体处理管线资源来适应性重配置所述单流编码路径以形成所述第一编码路径。[0008]上述的可适应编码架构中,优选为形成所述第一编码路径的所述单流编码路径的所述适应性重配置包括用由通用处理资源执行的至少一个软件模块代替至少一个管线元件。[0009]上述的可适应编码架构中,优选所述单流编码路径的所述适应性重配置与所述第一媒体流中的转换同步。[0010]上述的可适应编码架构中,优选所述控制器适应性配置所述第二编码路径以编码所述第二媒体流,所述第二编码路径包括通过为形成所述第一编码路径的所述单流编码路径的所述适应性重配置所释放的所述至少一个媒体处理管线资源。[0011]本发明的另一方面涉及一种用于服务多个编码媒体流的可适应解码架构,所述可适应解码架构包括:多个媒体处理管线资源;控制器,可操作用于通过以单流配置安排所述多个媒体处理管线资源的至少第一部分来支持所述多个编码媒体流的第一编码媒体流,所述单流配置定义单流解码路径;以及所述控制器可操作用于使得从所述单流配置转换到所述多个媒体处理管线资源的多流配置,进行所述转换以同时支持所述第一编码媒体流和所述多个编码媒体流的第二编码媒体流,所述多流配置既定义用于所述第一编码媒体流的第一解码路径又定义用于所述第二编码媒体流定义第二解码路径,所述第一解码路径不同于所述单流解码路径。[0012]上述的可适应解码架构中,优选所述控制器至少部分基于与所述第一编码媒体流关联的编码标准来适应性配置所述单流解码路径以解码所述第一编码媒体流。[0013]上述的可适应解码架构中,优选所述控制器至少部分基于与所述第二编码媒体流关联的编码标准和可用媒体处理管线资源来适应性配置所述第二解码路径以解码所述第二编码媒体流。[0014]上述的可适应解码架构中,优选所述第一解码路径和所述第二解码路径共享至少一个媒体处理管线资源。[0015]上述的可适应解码架构中,优选所述控制器响应于所述第一编码媒体流的终止进一步使所述第二解码路径适应,其中所述第二解码路径被重配置为通过利用包括在所述第一解码路径中的至少一个媒体处理管线资源形成用于所述第二编码媒体流的另一编码路径。[0016]上述的可适应解码架构中,优选如果可用媒体处理管线资源低于预定限制,则所述控制器将第三编码媒体流引导至用于解码的另一可适应解码架构。[0017]上述的可适应解码架构中,优选所述单流解码路径基于预定路径特征(pathwayprofile)而配置,所述预定路径特征对应于与所述第一编码媒体流关联的所述编码标准。[0018]本发明的又一方面涉及一种支持多个媒体流的装置,所述装置包括:多个媒体处理资源;以及控制器,可操作用于使得所述多个媒体处理资源的至少一部分适应性重配置以支持新的媒体流和至少一个正在进行的媒体流同时进行编码相关处理,所述适应性重配置使得所述多个媒体处理资源的至少一部分从所述至少一个正在进行的媒体流重分配给所述新的媒体流。[0019]上述的装置中,优选所述编码相关处理包括解码处理。[0020]上述的装置中,优选所述编码相关处理包括编码处理。[0021]上述的装置中,优选所述控制器进一步可操作用于当所述至少一个正在进行的媒体流的一个正在进行的媒体流终止时使得进行第二适应性重配置。[0022]上述的装置中,优选所述重分配包括用至少一个释放的管线元件代替软件模块。[0023]上述的装置中,优选所述新的媒体流和所述至少一个正在进行的媒体流的编码相关处理包括解码路径和编码路径。[0024]上述的装置中,优选所述控制器包括能由所述装置的通用处理资源执行的路径适应模块。【专利附图】【附图说明】[0025]本公开的许多方面可以参考附图更好地理解。在附图中的部件不一定按比例绘制,相反,重点在于清晰地示出本公开的原理。此外,在附图中,相似的参考符号在所有附图中指示对应的部件。[0026]图1是根据本公开各种实施方式的视频装置的例子的图示。[0027]图2是示出根据本公开各种实施方式的视频处理的实时适应的例子的流程图。[0028]图3是示出根据本公开各种实施方式的可缩放((scalable)视频管线(pipeline,流水线)处理的例子的流程图。[0029]图4是示出根据本公开各种实施方式的视频像素块的像素块尺寸分解的例子的流程图。[0030]图5是包括利用根据本公开各种实施方式的可适应媒体处理架构(adaptablemediaprocessingarchitecture)的装置的媒体系统的例子的图示。[0031]图6是根据本公开各种实施方式的通过输送路径通信的适应性编码器、转码器和解码器的例子的图示。[0032]图7是根据本公开各种实施方式的图6的编码器的例子的图示,该编码器可以经适应性配置以编码原始媒体。[0033]图8是根据本公开各种实施方式的图6的解码器的例子的图示,该解码器可以经适应性配置解码已编码媒体。[0034]图9A至图9D是示出根据本公开各种实施方式的媒体处理架构的适应的例子的流程图。[0035]图10是包括根据本公开各种实施方式的适应处理架构的装置(或节点)的例子的示意框图。【具体实施方式】[0036]图像和多媒体处理可以通过以个别芯片或芯片组实施的处理电路提供。例如,多媒体处理可以用具有柔性和低功率架构的单芯片实施。处理器架构可以以硬件和/或由处理硬件(例如处理单元)执行的软件实施。大多数常规视频编码架构和设计(硬件和/或软件)专用于仅一种视频编码标准(codingstandard),并且基于该标准每次服务于一个视频流。[0037]可适应视频架构以硬件和由硬件执行的软件实施。可适应视频(转码(transcode)-编码-解码)架构被配置为完全且同时支持任何数目的视频流类型,其中每个类型由多个视频编码标准中的一个定义。[0038]大多数常规视频编码架构专用于单个视频编码标准并且基于该视频编码标准每次服务于一个视频流。基于软件的架构可以用于多个标准但每次仅服务于一个标准。另夕卜,基于软件的架构由于没有对专用硬件的访问并且用于抢占通用资源而面临相当大的限制(尤其对于前沿(cuttingedge)标准)。另一方面,专用硬件在设计上对功率、空间和成本有要求。为在架构中支持多媒体编码标准,做出折衷从而实施每个视频编码标准:(a)以软件(没有硬件加速);(b)以专用硬件;或((3)通过(a)和(b)的组合以低性能水平(例如以降低的帧速率、分辨率等);或完全不实施(或支持)视频编码标准。进一步地,一旦做出这样的折衷,则它们变为在特定流环境中可能或不能在装置中提供足够服务或对资源利用不足的固定设计约束。例如,MPEG2不可以用硬件加速来实施。然而,用户装置可能使用99%的时间观看MPEG2流,专用H.265硬件始终处于空闲。[0039]可适应转码-编码-解码架构使用两级架构适应性以克服限制。第一,实时适应可以用来最优支持一个或更多同时的视频流。这些流可以具有相同或不同的视频流类型。第二,柔性架构使得允许裁剪设计决策以配合具体平台。对于每个编码标准(或类型),可以供应若干层(tier)的支持(或流路径)以支持具有相同或不同类型的多个同时的视频流。这样的层包括可以以软件和/或用硬件加速执行的转码-编码-解码功能元件。串行、循环串行、并行及其组合都可以提供。提供有全部底层的该全面架构可以完全集成到装置中或可以通过消除具体“元件(element)”层来裁剪以配合当前设计约束而不需要底层重设计。[0040]参考图1,示出包括例如转码器、编码器或解码器的视频装置100的图示,该视频装置100包括用于处理一个或更多视频数据流的一条或更多硬件管线103或层。每条管线103a...103η包括用于处理视频流数据的多个元件106。管线103被配置为允许基于视频装置和/或视频流的系统状况将在管线元件106之间的互连109转向。可以通过将互连中的至少一个转向来重配置管线路径,允许由其他管线106和/或由软件模块112处理,该软件模块112由视频装置的共享通用处理资源执行。[0041]组成装置的全部元件层可以实时适应方式运作,从而支持用于负载平衡、在装置使用期间出现的多视频流状况和电池约束的共享处理资源。由视频装置的共享通用处理资源执行的路径适应模块监控视频装置的状况并且控制将管线互连重新路由。参考图2,示出说明管线路径200的实时适应的例子的流程图。以方框203开始,定义用于第一视频流的管线路径200。例如在解码器中,解码路径200可以被定义为在解码路径200中为了最高性能选择每个管线元件106,但以相当大的功率利用来来服务于单个视频流。解码路径200可以以硬件或软硬件组合实施,该软件由共享通用处理资源例如处理器、专用芯片和/或其他适当硬件执行。在方框206中,检测到一个或更多系统状况的改变。例如,在第一视频流的视觉呈现期间,电池状况可能改变。[0042]可以在方框209中至少部分基于状况改变来选择替换路径。例如,可以选择提供更优电池性能的同时输送可接受视频质量的替换解码器路径200a。替换管线路径200a可以包括例如将在管线元件106之间的互连109转向以便由其他管线元件106或由执行的软件模块112处理、绕开管线元件106(可以将其停用以减小功率使用)、和/或重新路由到另一管线路径。可以基于定义的状况集合从多个预定管线路径选择替换管线路径200a,或可以使用专家系统(或其他适当样式识别系统)基于系统状况确定替换管线路径200a。如果选择了替换路径200a,那么在方框212中视频流转移到替换路径(例如通过同步到基准帧在两条路径200和200a之间转移),并返回方框206以检测下一个状况改变。如果没有检测到替换路径,那么视频流保持在当前路径上,并且返回方框206以检测下一个状况改变。[0043]然后可能检测到状况的另一改变,例如用户选择相同或不同类型的第二视频流在共享屏幕布置中显示。再次,在方框209中确定是否应使用替换路径。例如,通过选择各种元件层形成两个管线路径,一个路径用于处理两个流中的每个,解码架构可以适应以最佳地支持两个流。在方框212中,视频流转移并且序列(sequence)返回到方框206从而检测下个状况改变。序列继续适应状况的另外改变。例如,在装置上操作的非视频流任务可能对共享通用处理资源提出更高需求,这在方框206中检测到。在方框209中,通过选择较低共享资源消耗或在专用硬件中操作的其他解码器管线元件106,解码架构可以适应以将其对这样的共享资源的依赖最小化。在方框212中,在返回方框206之前流被转移。这些和其他适应例子可以同样应用于转码器和编码器元件以及层。[0044]在另一实施方式中,可适应视频架构可以提供可缩放视频管线。视频处理利用源自先前视频帧的先前内容预测当前帧内容。例如,H.264使用用于视频处理的该时间编码。其他空间和质量编码也可以用于视频处理。可缩放视频编码(SVC)是使用在不同分辨率的视频信息预测当前帧内容的H.264的延伸。SVC定义多个子集位流,其中每个子集以与单个H.264位流相似的方式独立可解码。仅通过从较大总位流丢包,可以暴露子集位流。每个子集位流可以代表可缩放分辨率、帧速率和质量视频信号中的一个或更多。更特别地,子集位流代表在SVC内的视频层。基础层与H.264(其是单层标准定义)完全兼容。当传输(例如通过无线广播)总位流时,接收装置可以使用适当子集位流以执行视频处理。另外的子集位流层可以放弃或用于时间的、空间的和/或信号质量改善。[0045]可适应视频(转码-编码-解码)架构具有至少两个模式。第一,对H.264解码或其他单层标准可适应架构被实例化一次。第二,可适应架构被多次实例化,每个实例被设计为将一个SVC层的解码加速从而改善生成的视频图像。例如,较低分辨率的H.264解码管线(M)可以从内部方面转出,然后可以被读入下一个更高分辨率层(M+1)。例如,值的信息可以被敲出(tapout),例如运动向量、变换系数和/或去块滤波(deblockingfilter),以便在更高分辨率管线中使用。层间内插(例如升采样(upsampling)和/或滤波)可以由软件模块在外部进行,该软件模块由视频装置的共享通用处理资源执行。[0046]这可以延伸到覆盖模态(covermodality)从而服务于多个同时的流,以及(i)仅软件模式;(ii)连续串行实例和使用;(iii)周期性串行流程(cyclicalserialflow);以及(iv)(ii)和(iii)的混合。例如在一些实施方案中,解码器可以包括多条解码管线103(图1),其中每条解码管线103与不同分辨率关联。解码管线103可以以硬件和/或软件模块执行,该软件模块由共享通用处理资源执行。信息可以从较低分辨率解码管线(M)敲出,使用层间内插处理,并且供应到下个更高分辨率解码管线(M+1)以便使用。在其他实施方案中,解码管线可以用于在多个分辨率执行视频处理。在此情况下,解码管线103在第一分辨率(M)执行视频处理,其中信息被适当地提取。然后,解码管线103可以在下一个分辨率(M+1)或另一更高分辨率(例如M+2)执行视频处理。可以通过适当地将流程排序经过不同解码管线103来调整处理流程。另外,编码器和转码器管线可以共享部分相同功能性。[0047]参考图3,示出说明可缩放视频管线处理的例子的流程图。以方框303开始,由视频装置获得视频流。视频流包括可以由例如视频装置的视频解码管线处理的多个子集位流。在方框306中,具有第一分辨率的第一子集位流在视频装置的视频管线中处理。如上面讨论,与第一子集位流关联的视频信息在第一子集位流的处理期间从视频管线提取(或敲出)。在方框309中,对所提取的视频信息的至少一部分执行层间内插。[0048]在方框312中,所提取的视频数据的至少一部分被提供至视频装置的视频管线,以在方框315中处理具有比第一分辨率更高的第二分辨率的第二子集位流。在方框318中,如果另一更高分辨率子集位流有待处理,那么流程返回到方框309,其中在第二子集位流的处理期间对所提取的视频信息的至少一部分执行层间内插。流程继续直到更高子集位流的处理在方框318结束。[0049]在一些实施方式中,可适应视频架构可以提供用于由标准定义的标准像素块尺寸的像素块尺寸分解(decomposition)。参考图4,示出说明标准像素块的分解/重组的流程图。以方框403开始,原像素块可以分解成多个子块,在方框409中重组所得子块以形成经处理的像素块之前,该多个子块在方框406中被馈送通过编码(解码-编码-转码)管线元件。每个子块可以由不同管线处理。这样的多元件管线也可以是具有多个编码元件的单管线,该多个编码元件恰好在重组成之前对每个子块循环。在一些情况下,可以实现单元件分解和重组成。可以通过子块的并行处理来实现性能和效率的改善。[0050]可适应视频架构可以在用于各种媒体应用的装置中应用,例如高清电视(HDTV)、视频播放器、视频或图像摄影机、计算装置(例如膝上计算机、服务器等)、机顶盒、视频游戏单元、视频会议单元、移动装置(例如蜂窝电话、平板计算机等)等等,这些装置可以包括编码器、转码器和/或解码器从而处理多媒体,例如视频、音频、图像等。例如,包括显示器或服务于显示器的任何装置可以利用可适应视频架构以适应视频流的改变。另外,许多装置可以包括视频或图像摄影机从而捕捉可以由编码器、转码器和/或解码器处理的图像和/或视频信息。本申请可以处理具有利用相同或不同媒体编码标准的一个或更多媒体格式的多媒体。[0051]参考图5,示出包括利用根据本公开各种实施方式的可适应视频(或媒体处理)架构的装置的媒体系统500的例子。媒体系统500包括通过一条或更多输送路径同时接收并处理多个媒体流的一个或更多装置503。[0052]取决于实施方式,装置503可以包含单个媒体装置例如增强电视或智能电话,或可以包含被布置为提供基础功能性的媒体装置的组合。这样组合的例子可以是机顶盒与通信耦合到机顶盒的单独的电视。[0053]也可以考虑在一个或更多装置503下功能性的各种其他划分。例如,一个或更多装置503可以包括高清电视(HDTV)、数字无线电设备、视频播放器、视频或图像摄影机、计算装置(例如服务器、桌面计算机、膝上计算机、平板计算机或手持计算装置等)、蜂窝电话、无绳电话、智能电话、接入点、家庭基站(femtocell)、集线器、路由器、网关、机顶盒、视频游戏单元、视频会议单元等中的任何一个或组合。[0054]媒体流可以通过接口(I/F)电路506从多个媒体源中的任何一个或多个向一个或更多装置503提供。这样的多个媒体源可以包括例如:a)经直接路由路径调度多媒体内容输送的“点播”媒体服务器509;b)通过所有可用输送路径广播媒体内容的广播媒体服务器512。在任一情况下,这样的路径可以包括穿过公共和私有网络例如互联网和内部网的一条或更多有线光纤和/或无线通信路径。更具体地,这样的路径可以包括通过互联网和内部网515、卫星基础设施518、电缆和/或光纤基础设施521、其他有线和/或无线连接或其组合的路径。[0055]部分或全部媒体流可以源于:(i)在卫星基础设施518和/或电缆-光纤基础设施521内;(ii)通过上面提到的输送路径中的一个或经其自己的独立输送路径(例如USB或蓝牙连接)的本地和/或远程媒体存储装置或服务器24和/或视频和/或图像摄影机527;以及(iii)在一个或更多装置503内的媒体源。在后者的情况下,原始和/或编码(R/E)媒体(例如音频、视频和/或图像数据)的媒体流可以由内部媒体存储器530和/或内部视频和/或图像摄影机533提供。[0056]媒体存储装置或服务器524和内部媒体存储器530可以包括例如随机访问存储器(RAM)、只读存储器(ROM)、硬盘驱动器、光存储器、固态驱动器、USB闪存驱动器、存储器卡、光盘例如紧凑光盘(CD)或数字通用光盘(DVD)、软盘、磁带或其他存储器部件。这样的存储器可以经目录系统访问和/或关联服务器应用来管理。媒体流可以从存储在媒体存储装置或服务器524或内部媒体存储器530中的音频、视频和/或图像数据提供。视频和/或图像摄影机527和533也可以被配置为存储原始和/或编码(R/E)媒体以便作为媒体流由一个或更多装置503访问。[0057]由一个或更多装置503接收的媒体流可以以编码格式提供,或由未编码的或原始的数据构成。一个或更多装置503包括经可适应解码架构536、可适应编码架构539与跨越架构536和539的可适应转码架构的可适应编码和/或解码路径。[0058]可适应架构536、539及其组合(例如用于转码)对多个进入的原始和/或未编码媒体流提供同时的服务。例如,一旦从基于互联网的媒体服务接收第一编码媒体流,可适应解码架构536自动地配置自己以提供可以最优地服务所接收的媒体流(即第一编码媒体流)的单流配置(singlestreamconfiguration)的路径。这样的配置涉及通过解码管线路径或诸如上面关于图1至图4描述的流程的元件构造(包括硬件和/或软件解码元件的选择和互连)的元件。当没有其他竞争媒体流存在时,通过利用可用于解码所接收的媒体流的全部媒体处理管线资源(例如图2的管线元件106和可执行软件模块112)可以将单流配置更容易地最优化。[0059]此后,当服务于第一编码媒体流时,例如通过用户与一个或更多装置503交互,可以发起第二编码媒体流的输送。通过配置第二解码管线路径以服务第二编码媒体流作为多流配置的以部分,可适应解码架构536可以反应。如果充足的未使用媒体处理资源(例如管线元件106)保持在可适应解码架构536内以支持第二解码路径,则该第二解码路径可以不需要第一解码路径的修改。如果不存在支持第二管线路径配置的充足未使用媒体处理管线资源,则第一解码路径可能必须适应(adapt,调整)为替换解码管线(路径)配置。[0060]取决于这样的适应(或重配置)的性质,当可适应解码架构536将第一解码路径重配置从而提供第二解码路径时,欣赏与第一编码媒体流关联的感官呈现的用户可能体验(即察觉)或可能没有体验(即察觉)感官质量的改变或转换。对管线路径的这样适应可能涉及用户体验的感官质量的提高或降低。例如,当仅服务于一个视频流时,特别硬件元件可以断电从而省电。当多个流存在时,将这样的硬件元件加电可能是有效的,由此第一解码路径的适应可以提供改善的质量。[0061]在其他实施方案中,适应可以采取从主要硬件加速的解码路径切换到主要软件的对应部分的形式,或从专用于管线路径的完全硬件加速元件切换到这样硬件元件的时分共享或部分重分配的形式。即,为了同时服务于两个流,最优配置可能涉及如下配置:第一和第二解码路径经由第一和第二编码流之间的来回切换以向第一和第二解码路径提供服务(例如以TDD或时域划分方式)的时间共享、或经由第一和第二解码路径之间的这样元件的全时调用划分(fulltimecommitteddivision)来共享某些硬件元件。[0062]这样的适应也可以同步从而将由一个或更多装置503的用户体验的可能感官影响最小化。对于视频,这可能涉及将转换与基准帧转换同步。对于音频,这可能涉及与低音频输出的周期例如(接近)无声或低于阈值的周期同步。另外,为了将这样的影响最小化,代替单个重配置转换,可适应解码架构536可以将第一解码路径逐渐转换到第二配置。这可以经缓慢、平滑且连续的重配置或经一系连串重配置步骤完成,从而最终达到管线路径的全面重配置。[0063]例如,第一解码路径的初始配置可以主要包括硬件加速的元件(具有每个硬件元件的全时分配)以仅服务于第一编码媒体流。一旦接收第二编码媒体流,可适应解码架构536首先考虑是否可以在不修改第一解码路径的情况下服务第二编码媒体流。如果这是可能的,则可适应解码架构536可以配置第二解码路径并开始用第二解码路径服务第二编码媒体流。当服务第一和第二编码媒体流时,可能出现解码第三媒体流的需要。于是,可适应解码架构536可以决定至少部分重配置是必需的以提供第三解码路径。这可能涉及仅重配置第一解码路径、第二解码路径或第一和第二解码路径。例如,通过将解码元件从硬件转移或修改至软件、从软件转移或修改至硬件,或转移或修改至共享硬件实施,可以使解码路径中的一个或更多适应。尽管不是必需的,但一旦编码媒体流完成或终止(例如由用户、链接失败或媒体源终止事件),可以由适应解码架构536再次应用适应以更好地服务于剩余的正在进行的媒体流。[0064]适应不仅涉及基础硬件、软件或混合软硬件资源(例如图2的管线元件106和可执行软件模块112)的选择。也涉及视频分辨率、帧速率、解码处理途径等,以及音频配置(单音/立体声/环绕)、采样率和/或位分辨率。换言之,适应可能涉及影响用户体验的下游感官质量的直接改变,但这可能需要允许处理多个同时的媒体流。例如,适应可以影响单个解码元件和/或其需要的处理(经由例如质量改变),或通过在当前解码路径内的一些或全部元件影响多个改变。[0065]这样的适应功能性也可以在适应编码器架构539中发现。无论是源自适应编码器架构539或直接经接口电路306或这两者,一个或更多原始媒体流可以由适应编码器架构539经一连串可重配置编码路径(encodepathway)同时服务。这样的路径从所有可用软硬件资源配置和重配置以支持媒体流的需要,包括由单个工业或专有标准以及完全不同的标准支持的多个编码途径。可适应编码路径的配置和重配置也可以如上面关于适应解码架构536提到的那样影响感官质量。[0066]例如,一旦接收第一原始(未编码)媒体流,可适应编码架构539可以考虑支持一个或更多专有或工业编码标准的全部硬件、软件、混合编码元件配置。也可以考虑所需要和提供的质量特性。通过这样的考虑(例如,经预定逻辑或表查询)和下游需要的考虑(实时消耗、在呈现之前的更长期存储、通信限制、感官装置限制等),可适应编码架构539可以选择与多个可用编码标准中的一个关联的第一操作配置。这样的第一配置定义第一编码路径,该第一编码路径包括从全部可用和可应用的编码资源(硬件和软件)选择的元件配置的元件。[0067]为了服务第二未编码流,可适应编码架构539可能或不可能在不改变第一编码路径的情况下提供服务。如需要,则可以做出转换(例如以同步的和/或逐渐的方式)以使第一编码路径适应,从而提供第二编码路径。这样的适应可以涉及例如:a)从第一到与当前编码标准关联的第二操作配置的改变山)从一个编码标准到另一编码标准的切换;c)质量级改变,例如影响颜色、分辨率、压缩损失、帧速率、音频位速率、声道、环绕复杂度、采样率等的改变;d)在软件和硬件加速之间的改变;e)在完全分配的部分工作循环或另一工作循环的硬件资源的时间共享分配;或f)在编码流之间的并行硬件管线元件的划分。[0068]也可以给予一些媒体流高于其他媒体流的优先权。即,每个媒体流可以固有地或如经用户交互或服务提供商定义具有特别服务质量(QoS)需求。这样,一个媒体流可以在配置、重配置和适应处理中接收优先权。例如,主屏AV(音频-视觉)电影可以接收比在图片窗口电影中的图片更高的优先权或更高的QoS。相似地,与关注窗口关联的音频或视频(经用户输入表示的)可以接收高于重叠或已减小窗口的媒体内容的适应优先权。在一些情况下,当用户在支持不同媒体流的窗口之间移动时,媒体流的优先权和/或质量特性可以改变。[0069]配置和重配置(或适应)因素可以包括例如:a)进入的多流输入处理需要;b)外发的多流处理目标和限制;以及c)总体可适应资源限制。为更改进入处理需要,可适应解码架构536可以向媒体源上游通信从而请求编码流修改。相似地,可适应编码架构539可以向媒体源或可适应解码架构536发送请求以改变未编码(原始)媒体流。[0070]为了更改外发处理目标或需求,可适应解码架构536和可适应编码架构539中的任一个或两个可以用一个或更多感官输出装置/部件与下游通信以布置改变。这样的布置可以在没有可适应架构536和539的具体方向的情况下执行,或要求直接控制的重配置。或者,如果感官输出装置/部件能够自动接受更改后的输入,则可以不需要这样的通信和控制。感官装置/部件包括例如内部的屏幕和/或扬声器组件和/或装置542,以及外部的屏幕和/或扬声器组件和/或装置545。[0071]对适应的约束也可以预定,可以在装置的启动或接口连接时协商,或可以要求至少一个服务用户接受。例如,为了服务HDTV(外部装置545的一个可能类型),可能要求以每秒30帧的至少720p(优选以每秒60帧的1080p)的编码输出。如果接受一个原始(未编码)媒体流,则可适应编码架构539很容易以每秒60帧的全IOSOp输送。在更多的流引入(例如为了支持在图片窗口或其他内部和/或外部装置542和545中的图片)时这可能仍然维持。在某一时刻,更多媒体流的引入有可能通过一连串中间适应强制适应至720p每秒30帧。通过再引入其他的媒体流,在没有用户提示的同意的情况下可能不允许HDTV流的进一步适应。这样的限制也可以限制到也完成高端性能的范围。另外,限制也可以应用于任何质量特性或任何元件或路径配置。限制可以在架构536和539内或经架构536和539定义或配置。进一步限制(或对已定义并本地存储的限制的修改)也可以从媒体源(上游)传送和/或源于下游,例如源自组件或装置542或545或中间装置。当被布置为提供全转码功能时,对于可适应解码架构536的一个示例中间装置可以是可适应编码架构539。[0072]更具体地,一个或更多编码媒体流可以由可适应解码架构536处理从而为以下两个情况提供一个或更多原始媒体流:a)直接输送到对原始媒体流操作的感官呈现元件和装置中的一个或更多,例如选择组件和/或装置542和545中的组件和/或装置;以及b)经输送到可适应编码架构539,间接输送到这样的感官呈现元件和装置542和545中的其他元件和装置(可能要求编码媒体流输入的元件和装置),完成全转码路径。[0073]未编码(原始)媒体流可以由可适应编码架构539从可适应解码架构536接收或直接从媒体源(例如媒体服务器509或512)经接口电路506接收。例如,一个或多个第一编码媒体流可以通过I/F电路506向内部的屏幕和/或扬声器组件或装置542提供,而同时第一编码媒体流可以经可适应解码架构536输送到屏幕和/或扬声器组件或装置545。在进一步的流引入时,可适应架构536和539中的任一者或两者的配置和重配置可以进行以致力于经同时的仅解码、仅编码和/或转码路径来提供至少足够的质量支持。[0074]在一些情况下,原始和/或编码(R/E)媒体流数据可以至少暂时存储在内部媒体存储器530中以便后来检索和感官呈现。在其他实施方案中,由于为实时呈现缓冲并处理的正常支持的整个路径可能是足够的或期望的,因此可以不需要内部媒体存储器530。[0075]媒体系统500可以包括多个独立装置,其每个含有在图5的一个或更多装置503内示出的功能性和元件的全部或一部分。这样的独立装置中的一些可以在没有内部的屏幕/扬声器组件或装置542的情况下充当中间节点(例如机顶盒、家庭基站、路由器等)。这样的独立装置中的其他装置可以含有可适应解码架构536但没有可适应编码架构539,反之亦然。当然部分独立装置也可以含有示出的一切。[0076]进一步地,可适应解码架构536和可适应编码架构539可以在单个装置503内完整存在。在这样的实施方式中,全部适应编码和解码路径在这样的装置内并且穿过这样的装置延伸。在一些替代实施方式中,可适应架构536和539具有在另外的装置503内的复制副本。这样的复制品可以经本地化多流适应架构接收并服务全部并发媒体流的子集。另夕卜,为了载荷平衡或利用潜在更优的可适应编码/解码架构资源,或利用到屏幕/扬声器组件或装置545的更优或更少受约束的路径,一些进入媒体流可以在可用复制副本装置503之间切换。[0077]例如,在家庭媒体网络中,接入点装置和机顶盒都可以用可适应架构536和539配置。电视(屏幕/扬声器装置545的例子)可以最初接收已由接入点装置转码的MPEG编码视频流,并且从由点播媒体服务器509输送的WebM编码视频流进行了质量调整。当其他资源竞争媒体流由接入点装置接收时,这样的转码可以随时间推移适应。在某一时刻,接入点装置可以发现其适应转码资源过多地拉伸(例如,其中管线路径的进一步适应不再满足编码/解码约束或需求),并可以挑选以通过将资源竞争媒体流中的一些卸载到机顶盒来适应。即,例如WebM编码媒体流可以不再在接入点装置上转码。代替地,接入点装置将WebM编码媒体流输送到机顶盒以便经机顶盒内可适应架构536和539的其他版本转码。通过这样的卸载,于是接入点装置可以重配置保留的媒体流编码和解码路径从而提供更最优化的服务。[0078]此外,在接入点装置上运行的一些媒体流可以卸载以利用在机顶盒上可用的编码或解码路径元件的特别实例,例如硬件加速器。卸载也可以作为负载平衡机制在装置503例如接入点装置和机顶盒之间更多地实施。负载平衡可以在有或没有赋予接入点装置或机顶盒或流过那里的特别编码/解码流的优先权(QoS)的情况下执行。当然,可以添加带有适应架构536和539中的任一者或两者的许多另外的装置。如果适应架构中的仅一个在特别装置上可用(536或539),则可以在其上服务媒体流的部分卸载。例如,转码路径的一半(编码或解码)可以由装置服务,或选择的流类型可以在其上服务。此外,如所提到的那样,因为在媒体装置和显示器或扬声器装置(例如组件或装置545中的任何一个)之间的接近性或链接可用性和/或可靠性,媒体流的处理可以从由这样的媒体装置的可适应架构536和539管理的处理的至少最终阶段受益,即使另一装置可能在初始阶段操作。[0079]因此,多个进入媒体流的编码、解码和转码可以经可适应编码和解码架构536和539的单个实例完全在装置503中的一个内同时管理。在替换实施方案中,负载平衡、直接资源导向(包括编码标准支持或其缺乏),以及下游配置可以将这样的单点适应流延伸到联网(或点到点)多媒体基础设施,其中本地(在单个装置内)地并跨多个这样的装置管理流适应。[0080]可以触发对本地适应或对经完全或部分切换的适应的需要的另外机制也可以包括,例如:a)本地处理资源使用(尤其是其中装置执行其他功能,该其他功能可以仅部分涉及(如有的话)基础媒体流路径中一个或更多的支持);以及b)上游或下游输送路径约束、中断(disruption)或延迟。在前面的状况下,例如,共用处理电路可能用来提供不相关功能,该不相关功能限制处理电路的总体可用性以提供编码和/或解码路径资源。在这样的环境下,编码和解码路径可以适应以提供不相关功能的资源加载。替换地或附加地,挂起的编码/解码路径可以卸载到装置503的另一实例。[0081]媒体服务器和/或媒体存储器,例如“点播”媒体服务器509、广播媒体服务器512和/或本地和/或远程媒体存储装置或服务器524以及外部视频和/或图像摄影机527也可以是包括用于处理媒体流的编码器、解码器和/或转码器的组合的装置。另外在输送路径内的部件,例如互联网和/或内部网515、卫星基础设施518以及电缆和/或光纤基础设施521可以是包括用于处理媒体流的编码器、解码器和/或转码器的组合的装置。因此,架构536和539的实例尽管未示出,但可以在任何媒体源装置例如服务器509、512、,基础设施518、521,存储和/或服务器524,以及摄影机527发现。[0082]参考图6,示出通过输送路径,例如有线和/或无线网络如互联网、内部网、光网络等,以及在各种装置、节点和/或部件内的接口电路通信的适应编码器、转码器和解码器的例子。如图6所示,一个或更多媒体源编码器603从一个或更多源606获得原始媒体。媒体源编码器603可以包括编码器603a和/或编码器603b,编码器603a被配置为将源自单个源606的一个或更多原始媒体流编码该编码器603b被配置将源自多个源606的一个或更多原始媒体流编码。编码媒体流然后可以通过输送路径609向例如多路径转码器612和/或目的地解码器615提供,多路径转码器612被配置为将一个或更多编码媒体流转码,目的地解码器615被配置为将一个或更多编码媒体流解码。多路径转码器612可以包括多输入/多输出(多I/O)解码器和通过输送路径618向目的地解码器615提供转码流的多I/O编码器。[0083]适应可以在图6的例子中示出的任何可适应架构(例如编码器603、转码器612和/或解码器615)中发生。在可适应架构的可用资源的需求变化时,编码和/或解码路径的一部分可以响应于改变而适应。适应可能需要配置和/或重配置一条或更多路径从而最优地服务于媒体处理需求。例如,单源编码器603a可以基于在编码器资源上的压力使编码路径适应。当从相应的媒体源606服务单媒体流时,管线路径可以被配置为将媒体流编码,利用在编码器603a中可用的全部资源。为了支持单媒体流,可适应编码器603a可以利用硬件管线元件106(图1)来最优化编码过程。适应也可以基于所提供媒体的质量和/或输送路径或其他可适应元件的能力而发生。例如,管线路径可以至少部分基于工业或专有编码标准、视频分辨率、帧速率、位分辨率、通信限制、下游需要(或限制)等而配置。使用编码器603、转码器612和/或解码器615的现有管线元件106和/或软件模块112适应性重配置管线路径的能力允许未来的或其他专有的媒体标准的潜在支持。未使用硬件元件可以断电从而省电。[0084]在建立另外的媒体流以满足服务需求时,另外的管线路径可以被适应性配置,包括管线元件106、可执行软件模块112(图2)或其组合。例如,如果充足的未使用硬件资源可用,则可以主要使用管线元件106或管线元件106和由一个或更多处理器执行的软件模块112的组合建立第二管线路径。当更多媒体流由编码器603a处理时,另外的管线路径可以被配置为支持媒体流。如果充足未使用资源不可用于支持另外的媒体流,则现有管线路径可以被重配置为更改路径配置,该路径配置包括管线元件106和由通用处理器执行的软件模块112的组合。在一些情况下,由管线元件106执行的功能可以转换到软件模块112从而释放管线元件106用于另一管线。在其他实施方案中,通过在由编码器603a处理的媒体流之间来回切换(例如以TDD方式共享),管线元件106可以在两条(或更多)管线路径之间共享。在路径配置之间的转换可以与在媒体流中的转换同步,从而减小对下游部件的影响或对最终用户的感官影响。在一些情况下,在两个配置之间的转换可以以逐渐方式实施,使得硬件元件到软件模块(或软件模块到硬件元件)的转换交错从而减小对媒体流的感官影响。[0085]在一些实施方式中,当可用资源降至低于预定水平时或使用水平超过预定阈值时,可适应编码器603a可以被配置将管线的一些或全部处理卸载到另一适应编码器603a。例如,当硬件资源完全利用并且在高于阈值下使用处理能力时;媒体流处理的至少一部分可以转移到另一编码器603a。在一些情况下,一个或更多媒体流的处理可以切换到另一编码器603a从而减轻对原编码器603a的资源的压力或负担。这样的转换可以用各种方式执行从而减小或避免由另一最终用户察觉。例如,转换可以与媒体流中的转换同步。在一些情况下,在将编码流之间的转换同步之前,第二编码器603a可以开始与第一编码器603a并行将媒体流编码。在其他情形下,编码器603a的管线路径可以被配置为处理在使用较少编码器资源的第一格式的媒体流。然后媒体流可以被发送到例如多路径转码器612用于进一步处理以提供第二格式的媒体流,以满足下游QoS。这样的编码器处理适应可以至少部分基于在编码器603a和/或多路径转码器612之间输送路径609的能力(或限制)。[0086]当媒体流结束或终止时,编码器603a的资源变得空闲,可用于现有媒体流和/或新的媒体流。于是,编码器603a可以使现有管线路径适应从而利用可用的另外的管线元件106和/或另外的处理能力。现有管线路径中的一条或更多可以被重配置为使用另外的管线元件106以改善媒体流吞吐量或QoS。如果处理的一部分已转移到编码器603a外的资源,则其可以返回到编码器603a以减小延迟。现有管线路径的适应配置可以基于编码器603、媒体源606、输送路径609的能力,以及其他下游架构(例如转码器612和解码器615)的能力。[0087]多I/O编码器603b可以被配置为编码来自多个源606的原始媒体流。如同单源编码器603a,通过配置和/或重配置一条或更多路径最优地服务于媒体处理需要,多I/O编码器603b可以适应媒体处理需求的改变。当从媒体源606中一个服务单媒体流时,管线路径可以被配置为将媒体流编码从而利用在多I/O编码器603b中可用的全部资源。为了支持单媒体流,可适应编码器603a可以利用管线元件106和软件模块112的组合或可以着眼于使用硬件管线元件106(图1),从而改善或最优化处理。[0088]当另外的流从相同或其他媒体源606添加时,多I/O编码器603b可以适应性配置包括管线元件106、可执行软件模块112或其组合的另外的管线路径。如果充足的未使用资源可用于处理另外的媒体流,则可以在不修改现有管线路径的情况下配置新路径。然而,如果没有充足的未使用资源可用于支持另外的媒体流,则现有管线路径可以重配置成替换路径(备用路径),其包括管线元件106和由通用处理器执行的可执行软件模块112的组合。例如,现有路径可以被重配置为通过利用软件模块112执行相同功能性,腾出(或释放)管线元件106用于其他路径。在其他情况下,管线元件可以在处理来自相同或不同源606的媒体流的多条管线路径之间共享(例如以TDD方式)。[0089]可以使哪些现有管线路径适应可以至少部分基于例如相应媒体流的优先权。例如,因为例如以下的因素:受保证的QoS、媒体流的来源、媒体类型、最终用户需求等,现有流可能具有比其他流更高的优先权。在此情况下,处理高优先权流的管线路径可以不修改,而编码器603b的其他现有管线路径可以适应性重配置从而符合改变的需求。将现有路径中的哪些重配置以及其中将它们重配置的顺序可以基于它们的相应媒体流的优先权。也可以实施对处理后的媒体流避免或最小化感官影响的适应。在一些实施方式中,可适应编码器603可以将管线的一些或全部处理卸载到另一适应编码器603,从而避免对处理高优先权流的管线路径的修改。如果例如新的媒体流具有比现有流中的任何更低的优先权,那么新管线路径可以在不修改任何现有路径的情况下适应性配置,或新的媒体流可以卸载到用于处理的另一编码器603。[0090]适应性架构也可以用来控制在单源编码器603a和/或多I/O编码器603b内或之间的负载平衡。例如,可适应编码器603的管线路径可以被配置为平衡来自不同媒体源606的媒体流之间的负载。这可以包括例如使媒体流之间的硬件资源相等地平衡,或配置管线路径以平衡不同媒体流的处理时间。也可以通过卸载不同媒体流的处理的至少一部分以平衡例如编码器603的处理时间、功耗或资源使用,从而平衡不同的单源编码器603a和/或多I/O编码器603b的负载。[0091]在图6中示出的多路径转码器612也可以适应媒体流以及上游和下游状况的改变。当另外的媒体流由多路径转码器612接收时,可适应架构配置解码管线路径和/或编码管线路径以使用可用资源(例如图2的管线元件102和可执行软件模块112)处理媒体流。现有管线路径可以被重配置为腾出(或释放)资源从而支持另外的路径。例如,通过使用可执行软件模块腾出硬件管线元件108以便由其他管线路径使用,多路径转码器612可以修改解码和/或编码路径。修改哪些管线和怎样使它们适应可以基于例如关联媒体流的优先权、现有和新媒体流的处理需要、硬件元件的使用等。[0092]管线路径的配置或重配置也可以至少部分基于上游和下游能力,例如媒体流数据的缓冲或存储,或处理后的流的使用的延迟。媒体流可以被配置为利用这些能力(或避免这些能力的限制)。多路径转码器612可以适应上游输送路径609和部件、以及下游输送路径618和部件的改变状况。例如,如果用于媒体流的输送路径609的带宽限制多路径转码器612的数据传输,那么解码管线路径可以被重配置为引起减小的媒体流传输速率,由此在媒体流中避免错误并潜在腾出资源以便在其他管线路径中使用。[0093]编码管线路径也可以被重配置(或重配置)为引起多路径转码器612的解码管线路径的改变。在一些实施方案中,管线元件106可以用于在解码和编码路径中执行功能。因此管线元件106可以在解码和编码管线路径之间共享(例如以TDD方式)。在一些实施方案中,管线元件106的分派可以在解码和编码路径之间平衡。[0094]另外,当媒体流完成或终止时,腾出在对应管线路径中的资源以便在其他路径中使用。现有管线路径可以被重配置利用另外的资源以改善处理。如果路径因为有限可用资源而在之前进行了重配置,则原路径可以在资源变得可用时恢复。同样,如果路径被配置为利用多个软件模块112,则其可以被重配置使用变得自由的管线元件106。重配置可以与在媒体流中的转换同步或可以是逐渐进展,从而将对媒体流处理的影响最小化。这样,解码和编码管线路径可以在运行中应对(accommodate)改变的处理需求。[0095]解码器615也可以被配置为使解码路径适应对解码器的可用资源的改变的需求。解码器615可以通过输送路径609/618从编码器603和转码器612接收编码媒体流。尽管图6示出被配置为从单源和多I/O编码器603以及多路径转码器612接收编码流的一个多I/O解码器615,但可以使用单源和多I/O解码器615的其他组合。如同编码器603和多路径转码器612,通过配置和/或重配置一条或更多路径最佳地服务于媒体流,多I/O解码器615可以适应媒体处理需求的改变。当编码媒体流由多I/O解码器615接收时,可适应解码器615配置管线路径从而解码该流。可适应解码器615可以利用管线元件106和软件模块112的配置或可以着眼于利用硬件管线元件106(图1),从而改善或最优化处理。[0096]当另外的媒体流由多I/O解码器615接收时,多I/O解码器615可以适应性配置包括管线元件106、可执行软件模块112或其组合的另外的管线路径。如果充足的未使用资源可用于处理另外的媒体流,则可以在不修改现有管线路径的情况下配置新路径。然而,如果没有充足的未使用资源可用于支持另外的媒体流,则现有管线路径可以重配置成替换路径,其包括管线元件106和由通用处理器执行的可执行软件模块112的组合。例如,现有路径可以被重配置为通过利用软件模块112执行相同功能性,腾出(或释放)管线元件106用于其他路径。在其他情况下,管线元件可以在处理来自相同或不同源的媒体流的多条管线路径之间共享(例如以TDD方式)。[0097]多I/O解码器615也可以使管线路径适应其他因素,例如用于显示的解码流的质量,或上游资源的消耗、可用性或限制,输送路径能力等。多I/O解码器615可以使现有管线路径适应例如视频分辨率、帧速率、位分辨率等的改变。例如在机顶盒中,对应于高清(HD)频道的媒体流可以在单独观看时以高分辨率提供。当由用户选择显示媒体指南时,新管线路径可以被配置为解码用于显示的媒体指南信息。当媒体指南呈现时,当前HD频道可以减小到允许分辨率降低的背景显示窗口。在机顶盒中的多I/O解码器615可以适应性重配置对应于HD频道的现有管线路径,从而以较低分辨率提供媒体。例如,管线元件106的一部分可以由软件模块112(或其他管线元件106)代替从而提供较低分辨率输出。未使用管线106可以释放(或腾出)以便在其他路径中使用。在一些情况下,未使用管线元件可以暂时置于睡眠模式或关闭从而省电,直到通过媒体指南做出选择。如果选择原HD频道,那么管线元件106可以重激活并且管线路径可以转换回到其原配置。如果选择另一频道,那么管线路径可以被重配置为处理新的媒体流,并且未使用管线元件可用于在其他路径中的使用。[0098]如果没有资源可用于在多I/O解码器615中处理另外的流或降至低于预定阈值,则解码器615可以将媒体流处理的至少一部分卸载到上游部件,例如多路径转码器612、编码器603或其他解码器615。例如,处理步骤中的一个或更多可以由多路径转码器612执行从而在多I/O解码器615中腾出一部分资源。多I/O解码器615也可以使现有路径适应从而调整一个或更多流的质量以满足解码器的处理需求。这样的适应可以基于媒体流的优先权。例如,如果媒体流在背景中显示(其可能对应于较低优先权),则对应管线路径可以经适应性重配置在不影响用户体验的情况下提供降低的分辨率。这样的重配置可能需要到不同硬件元件的转换,或利用软件模块腾出另外的硬件资源以便在其他路径中使用。在一些情况下,在适应发生之前可能需要用户同意或接受改变。[0099]尽管管线路径的适应已在个别编码器603、转码器612和解码器615的背景下讨论,但可以理解这样的适应可以同样应用于其他可适应编码器603、转码器612和解码器615。这样的管线路径适应可以响应于在部件的可用资源上的需求(或压力)执行。为了进行另外的媒体流的处理,由硬件管线元件106执行的功能可以转换到其他管线元件106或由共享通用处理资源执行的软件模块112,从而为其他路径腾出资源。当媒体流终止时处理资源变得可用,并且可以通过将功能转移到可用资源以改善性能来适应性重配置现有路径。这样,编码器603、转码器612和解码器615可以在运行中适应以支持实时变化。[0100]接下来参考图7,示出被配置为编码原始媒体例如原始视频媒体流703的编码器700的例子。原始视频样本生成段(stage,级)706处理媒体流的帧数据从而生成输入样本,该输入样本可以被例如逐块地处理。在没有反馈的模式中,离散余弦变换(DCT)段709在输入样本上执行DCT从而计算系数值,然后在量化器段712中将DCT系数量化。量化产生小数目的非零系数,该非零系数输送到熵编码器段715以便无损编码,例如上下文适应性二进制算术编码(CABAC)或上下文适应性可变长度编码(CAVLC),以及编码媒体流718的输出。从输入流703生成721的原始图像样本可以被相似地处理。[0101]在有反馈的模式中,量化信号在逆向量化器段724和逆向DCT段727中处理,从而产生可以存储在帧缓冲器730中的再生帧数据。运动预测段733使用当前帧和邻近帧的再生帧数据以及原输入样本来确定在运动补偿段736中使用的运动矢量(MV)。从原输入样本减去运动补偿段736的输出,从而产生由DCT段709、量化器段712和熵编码器段715处理的低能量剩余。[0102]每个处理段可以用一个或更多硬件管线元件106(图1)和/或由共享通用处理资源执行的一个或更多软件模块112(图1)实施,可以基于初始系统状况和系统状况(或触发事件)的改变使该共享通用处理资源适应。管线元件106和软件模块112中的每个可以对处理媒体流703具有不同的效果。例如,处理后的媒体的质量(例如媒体标准、位分辨率、帧速率等)可以指示哪些管线元件106和/或软件模块用来实现编码器700的一个或更多处理段。管线元件106或软件模块112的选择也可以影响编码路径的处理延迟。也可以基于电源的限制功耗或可用容量确定管线元件106或软件模块112的使用。此外,一个或更多处理段的适应可以在运行中执行从而实时应对可用资源的需求或压力的改变。[0103]当接收媒体流以编码时,编码路径可以至少部分基于可用于编码器700的资源和使用的媒体标准来适应性配置。如果没有其他媒体流由编码器700处理,则可以使用硬件管线元件106配置编码路径,从而减小路径的处理时间。当接收其他媒体流以编码时,另外的编码路径被适应性配置为使用可用处理资源来处理每个关联媒体流。当媒体流的编码完成或终止时,处理资源变得可由其他编码路径使用。当需求改变时现有路径可以经适应性重配置腾出或利用处理资源。适应可以在现有路径的个别处理段中发生,或可以是编码路径的完全重配置。[0104]例如,原始样本生成段706和721可以用一个管线元件106和/或一个或更多软件模块112的各种组合来实施,取决于例如硬件和/或软件资源的可用性、适当标准、以及为下个处理段提供合适输出所需要的功能性。合适元件可以被适应性配置(或重配置)为基于例如原视频或图像格式、图像尺寸、位分辨率等因素来提供具有希望的分辨率、格式和/或其他特性的生成样本。在一些实施方式中,滤波可以在原始媒体上适应并执行。管线元件106和/或软件模块112的不同配置可以基于不同图像块尺寸实施,例如4X4、8X8、16X16等。样本生成段706和721的配置也可以基于输入媒体特性的改变来适应。[0105]相似地,管线元件106和/或软件模块112也可以被适应性配置(或重配置)为实施编码器700的其他处理段。例如,DCT段709、量化器段712、熵编码器段715、逆向量化器段724和逆向DCT段727可以用一个或更多管线元件106和/或软件模块112实现,该管线元件106和/或软件模块112可以适应于可用资源和/或其他处理需求的改变。编码器700的运动预测段733和运动补偿段736以及其他处理段也可以适应。当在编码器700的可用资源上的压力改变时,处理段中的一个或更多可以被适应性配置以对变化的需求进行调整。按照在当前标准内的可允许配置,一些段可以替换或完全放弃。尽管图7示出编码器700的一个配置,但编码器700可以基于从一个标准到另一工业或专有标准的切换而完全重配置。[0106]例如,可以使用管线元件106和/或软件模块112的许多不同配置中的一个获得DCT功能性。关于使用哪个配置的选择可以基于用来实施DCT段709的管线元件106的可用性、利用该实施路径的DCT性能、关于相应标准的性能、由其他下游处理段使用的输出信息、所选择的DCT样式等。可以选择段的配置以使用全部可用硬件资源为初始媒体流最优化DCT性能。当添加新的媒体流时,另外的DCT段709可以被配置为支持每个另外的流的编码。可以使用单个管线元件106和/或由通用处理器和/或数字信号处理器执行的软件模块112配置的另外的DCT段709,或者另外的DCT段709可以用管线元件106和/或软件模块112的组合实现。[0107]也可以通过例如用软件模块112代替管线元件106从而腾出另外的硬件资源以便在其他编码器处理段中使用,从而重配置现有DCT段709。例如,当对可用资源的压力增加时,现有DCT段709中的一个或更多可以被重配置为减轻对硬件资源的需求或平衡硬件元件之间的负载。在一些实施方案中,可以使用另一类型的变换来代替DCT。在第一配置中使用一个或更多硬件元件的DCT段709可以切换到软件模块112,以应对使用相同DCT硬件配置的优先权媒体流从而满足优先权处理需求。进一步地,用于优先权媒体流的该配置可以使用基于替换标准的完全不同的编码方案。此外,重配置可以在中游发生,并且可以与第一媒体流的转换协作。[0108]当处理多个媒体流时(例如在图6的多I/O编码器603b中),可以对关联流编码器中的每个以相同(或不同)格式实施多个DCT段709。例如,相同配置可以用于两个或更多DCT段709以并行处理不同媒体流。具体硬件管线元件106可以专用于单个DCT段709从而支持相应媒体流的处理或可以专用于多个DCT段709,其中管线元件106被共享以处理不同的流。在一些实施方式中,配置有管线元件106和/或软件模块112的组合的DCT段709可以在不同编码器700之间共享,从而使用例如时分多路复用来服务于多个流的需求。[0109]尽管DCT段709用作对改变的可能适应的例子,但可以以相似方式使每个编码器段适应。量化器段712、熵编码器715、运动预测段733等可以被适应性配置或重配置以应对需求的改变。在许多情况下,一个或更多管线元件106和/或软件模块112的不同组合可能能够实施在处理段中利用的相同功能。实现哪个配置可以基于例如可应用编码标准、资源的可用性、处理性能、输入数据格式、用于下游段的输出等来确定。另外,管线元件106和/或软件模块112可以在编码器700中不同处理段之间共享。例如,DCT段709和逆向DCT段727(或量化器段712和逆向量化器段724)可以利用可以在两个分段之间共享的一个或更多共用管线元件106和/或软件模块112从而腾出其他资源。在一些实施方案中,管线元件106和/或软件模块112可以在作为路径的一部分的处理段之间共享以基于时间划分实施不同功能性(例如作为熵编码器715和运动预测段733的一部分),从而改善可用资源的利用。[0110]编码器700的处理段也可以经适应以响应于对可用资源上的压力修改位流的质量。处理段中的一个或更多可以适应以改变位流特性例如视频分辨率、帧速率和/或位分辨率,从而减轻对编码器资源的需求。处理段的重配置可以基于例如编码标准、媒体流的来源、输送路径和下游部件的能力等。例如,DCT段709和/或量化器段712可以经适应以提供可与当前编码标准兼容的较低输出分辨率,并由此腾出可用于其他媒体流的处理的另外的资源。DCT段709和/或量化器段712的适应也可以在编码器700中触发其他处理段的适应。例如,也可以使逆向DCT段727和/或逆向量化器段724适应。DCT段709和逆向DCT段727(以及量化器段712和逆向量化器段724)的适应可以同步从而在编码过程中避免错误。[0111]也可以执行编码器700的上游和下游段的适应。例如,当DCT和量化器段709/712适应时,熵编码器段715可以经重配置以更有效的方式处理量化器段712的输出的改变。在一些情况下,熵编码段715可以经重配置以实施不同的编码过程。相似地,原始视频样本生成段706、运动预测段733和/或运动补偿段736可能需要以协作方式适应,从而在DCT段709适应时向其提供适当的信息。这可以需要暂时实施并行处理段以协作所述转换来减小或最小化对输出的影响。例如,一个或更多并行处理段可以使用软件模块112暂时实施,并用来从现有处理段配置转换到新的处理段配置。[0112]处理段也可以适应于输送路径和/或下游部件的能力的改变。如果在输送路径上的拥塞或对下游解码器或转码器的需求提高到高于阈值水平,则编码器700中的一个或更多段可以适应以减轻对系统的压力。在一个实施方式中,熵编码器段715可以适应以提供利用较小输送路径带宽的压缩格式的输出流718。在另一实施方式中,熵编码器段715可以适应以减小输出流718的分辨率和频率,从而减轻压力。这也可能需要使在编码器700中的其他处理段适应以针对下游状况最优化其操作。在一些情况下,输出流的质量改变可以基于转换的用户批准。[0113]接下来参考图8,示出被配置为将编码媒体例如编码视频媒体流803解码的解码器800的例子。熵解码器段806解码媒体流803并向逆向量化器段809和逆向变换段812(例如逆向DCT)提供信息以产生再生帧数据。运动补偿可以由运动补偿段815应用于再生帧数据。运动补偿可以包括例如高级运动矢量预测、基于DCT的内插、方向内插和/或双线性内插。滤波段818可以在提供解码媒体流821之前将重构数据滤波。可以理解的是,滤波可以包括例如去块环路滤波器、适应环路滤波器和/或其他滤波或调整。如同在图7中的编码器700,处理段中的每个可以用可基于初始系统状况和在系统状况(或触发事件)的改变而适应的一个或更多硬件管线元件106(图1)和/或由共享通用处理资源执行的一个或更多软件模块112(图1)实施。在一些情况下,共用管线元件106和/或软件模块112可以在解码器800内的多个段中利用和/或在编码器700以及解码器800的段中应用。[0114]管线元件106和/或软件模块112中的每个可以在处理编码媒体流803上具有不同效果。例如,处理后媒体的质量(例如媒体标准、位分辨率、帧速率等)可以指示哪些管线元件106和/或软件模块用来实现解码器800的一个或更多处理段。管线元件106或软件模块112的选择也可能影响编码路径的处理延迟。也可以基于电源的限制功耗或可用容量确定管线元件106或软件模块112的使用。此外,一个或更多处理段的适应可以在运行中执行从而实时适应对可用资源的需求或压力的改变。[0115]当接收编码媒体流以便由解码器800解码时,解码路径至少部分基于可用于解码器800的资源和使用的媒体编码标准来配置。可以使用可用管线元件106和/或软件模块112来配置熵解码器段806以及逆向量化器段809和逆向变换段812以将解码媒体流解码。如果没有其他媒体流由解码器800处理,则可以使用硬件管线元件106配置解码路径,从而减小路径的处理时间。当接收另外的媒体流以解码时,另外的解码路径被适应性配置以使用可用处理资源处理每个关联媒体流。现有路径可以被适应性重配置以腾出处理资源在另外的解码路径中使用。例如,解码路径的硬件管线元件106的一部分可以由软件模块代替从而允许管线元件106用于另外的媒体流。当媒体流的解码完成或终止时,处理资源变得可由其他解码路径使用。现有路径可以被适应性重配置以利用变得可用的处理资源,从而改善处理速度和/或质量。适应可以在现有路径的个别处理段中发生,或可以是编码路径的完全重配置。[0116]例如,熵解码器段806可以取决于例如硬件和/或软件资源的可用性、适当标准、以及为下一处理段提供合适输出所需要的功能性,用一个或更多管线元件106和/或一个或更多软件模块112的各种组合来执行。合适元件可以被适应性配置(或重配置)以基于例如编码视频或图像格式、图像尺寸、位分辨率等因素,提供具有希望分辨率、格式和/或其他特性的生成样本。管线元件106和/或软件模块112的不同配置可以基于不同解码方案实施。熵解码器段806的配置也可以基于编码媒体特性的改变来适应。[0117]相似地,管线元件106和/或软件模块112也可以经适应性配置(或重配置)以实施解码器800的其他处理段。例如,逆向量化器段809和逆向变换(例如DCT)段812可以用一个或更多管线元件106和/或软件模块112实现,该管线元件106和/或软件模块112可以适应于可用资源和/或其他处理需求的改变。解码器800的滤波段818和运动补偿段815以及其他处理段也可以适应。当在解码器800的可用资源上的压力改变时,处理段中的一个或更多可以被适应性配置针对变化的需求进行调整。按照在当前标准内的可允许配置,一些段可以被替换或完全舍去。尽管图8示出解码器800的一个配置,但解码器800可以基于例如从一个标准到另一工业或专有标准的切换而完全重配置。[0118]例如,可以使用管线元件106和/或软件模块112的许多不同配置中的一个获得逆变换功能性。关于使用哪个配置的选择可以基于例如用来实施逆向量化器和逆变换段809和812的管线元件106的可用性、利用该实施路径的逆变换性能、关于相应标准的性能、由其他下游处理段使用的输出信息、所选择DCT样式等。可以选择处理段的配置以使用全部可用硬件资源为初始编码媒体流最优化DCT性能。当添加新的媒体流时,另外的逆向量化器和逆变换段809和812可以被配置为支持每个另外的流的编码。另外的逆向量化器和逆变换段809和812可以使用单个管线元件106和/或由通用处理器和/或数字信号处理器执行的软件模块112配置,或者可以用管线元件106和/或软件模块112的组合实现。[0119]也可以通过例如用软件模块112代替管线元件106从而腾出另外的硬件资源以便在其他解码器处理段中使用,从而重配置现有逆向量化器和逆变换段809和812。例如,当在可用资源上的压力增加时,现有处理段中的一个或更多可以被重配置以减轻对硬件资源的需求或平衡硬件元件之间的负载。在一些实施方案中,可以使用另一类型的变换代替DCT。在第一配置中使用一个或更多硬件的逆变换段812可以切换到软件模块112,以应对使用相同硬件配置的优先权媒体流从而符合优先权处理需求。进一步地,重配置可以在中游发生,并且可以与第一媒体流的转换协作。[0120]当处理多个编码流时(例如在图6的多I/O解码器615中),可以对关联流解码器中的每个以相同(或不同)格式实施多个逆向量化器和逆变换段809和812。例如,相同配置可以用于两个或更多处理段以并行处理不同媒体流。在一些实施方式中,具体硬件管线元件106可以专用于单个逆变换段812以支持相应媒体流的处理或可以专用于多个逆变换段812,其中管线元件106被共享以处理不同流。在一些实施方式中,配置有管线元件106和/或软件模块112的组合的处理段可以在不同解码器800之间共享,从而使用例如时分多路复用服务于多个流的需求。[0121]运动补偿段815和滤波段818也可以经用相似方式适应性配置或重配置以适应处理需求的改变。在许多情况下,一个或更多管线元件106和/或软件模块112的不同组合可能能够实施在处理段中利用的相同功能。实现哪个配置可以基于例如可应用编码标准、资源的可用性、处理性能、输入数据格式、用于下游段的输出等来确定。另外,管线元件106和/或软件模块112可以在解码器800中不同处理段之间共享从而腾出其他资源。在一些实施方案中,管线元件106和/或软件模块112可以在作为路径的一部分的处理段之间共享以基于时间划分实施不同功能性,从而改善可用资源的利用。解码器800的处理器段也可以经适应以响应于在可用资源上的压力修改解码流821的质量。一个或多个处理段可以适应以改变流特性例如视频分辨率、帧速率和/或位分辨率,从而减轻对编码器资源的需求。处理段的重配置可以基于例如编码标准、媒体流的来源、输送路径和下游部件的能力等。一个处理段的适应也可以触发解码器800中其他处理段的适应。[0122]解码器800的处理段的适应也可以例如在处理媒体流的中间执行。这可以需要暂时实施并行处理段以协作所述转换来减小或最小化对输出的影响。例如,一个或更多并行处理段可以使用软件模块112暂时实施,并用来从现有处理段配置转换到新的处理段配置。处理段也可以适应于输送路径、上游部件和/或下游部件的能力的改变。如果在输送路径上的拥塞或对上游编码器或转码器的需求增加到高于阈值水平,则在解码器800中的一个或更多段可以适应以减轻系统上的压力。在一个实施方式中,熵编码器段806可以适应以处理利用较少输送路径带宽的压缩格式的编码流803。这也可能需要使在解码器800中的其他处理段适应以针对下游状况最优化其操作。在一些情况下,解码流821的质量的改变可以基于转换的用户批准。[0123]如先前的讨论,用于例如在图5中示出的各种媒体应用的装置可以以实时适应方式运作,从而为负载平衡、在装置使用期间出现的多视频流状况、和电池约束支持共享处理资源。另外,该装置可以适应于上游和/或下游状况和/或约束,例如上游和/或下游装置的处理能力和输送路径状况。控制器(例如由该装置和/或其他适当电路的共享通用处理资源执行的路径适应模块)监控该装置的操作状况,并控制在管线元件106和/或软件模块112之间的管线互连的路由。[0124]例如,路径适应模块可以确定装置或节点的初始操作状况,并将包括管线元件106和/或软件模块112的组合的一个或更多管线路径初始化,从而基于和媒体编码标准关联、编码过程和/或对应于所确定状况的路径特征,实施编码器、解码器和/或转码器。路径特征包括和/或表示用于实施编码过程的管线元件106和/或软件模块112的一个或更多编码配置。不在媒体流处理中利用的管线元件106可以为了省电而由路径适应模块断电。如果路径适应模块检测到表示操作状况的改变的触发事件,则路径适应模块可以基于和修改后状况对应的路径特征的另一编码配置来重配置一个或更多管线的管线元件106和/或软件模块112。在其他实施方式中,路径适应模块可以基于一组定义规则和/或关系(例如,使用一组预定本地存储规则、专家系统或其他适当样式识别系统)来重配置管线元件106和/或软件模块112。对现在使用的管线元件106给电,而不再利用的管线元件106可以由路径适应模块断电。[0125]参考图9A,示出说明路径适应模块进行的管线路径的适应的例子的流程图。从方框903开始,诸如视频流或音频流的媒体流由装置获得用于处理。例如,媒体服务器(例如图5的“点播”媒体服务器509或广播媒体服务器512)可以获得用于处理和传输的视频流,或者装置或节点503(图5)例如机顶盒、电视接收机或媒体记录装置可以从媒体服务器或其他外部或内部媒体存储器524/530(图5)获得视频流。在方框906中,路径适应模块确定哪个编码标准与媒体流关联。例如,如果获得编码媒体流,则路径适应模块确定用于解码或转码的关联编码标准。如果媒体流有待转码,则路径适应模块还确定与转码媒体流关联的编码标准。相似地,如果获得原始媒体流,则路径适应模块确定用于编码该流的关联编码标准。[0126]在方框909中,路径适应模块然后确定(或定义)硬件管线元件106和/或软件模块112的一个或更多编码(即解码、编码和/或转码)配置,从而实施用于处理媒体流的编码器、解码器和/或转码器。管线元件106和/或软件模块112的组合基于和媒体流关联的编码标准,以及装置的其他状况例如负载平衡、功率约束、可用硬件资源等。路径适应模块也可以引起上游和/或下游操作装置的操作特性与输送路径特性。另外,可以考虑用户可定义优选或优先权。例如,用户可以指定低功率配置用来减小装置的功耗。[0127]编码配置(或多个配置)的确定可以用各种方式实现。例如,与一个或更多编码标准中的每个关联的一个或更多路径特征可以存储在装置的存储器中。每个路径特征可以包括基于例如编码标准、编码过程、装置操作状况和/或装置的可用管线元件和处理资源的一个或更多预定编码配置。路径适应模块可以基于和媒体流关联的编码标准、媒体处理的类型(即解码、编码和/或转码)和/或装置的其他状况例如负载平衡、功率约束、可用的专用硬件和处理资源等来鉴别适当路径特征(和编码配置)。在其他实施方案中,路径适应模块可以使用例如基于一组定义规则和/或关系的专家系统和/或其他适当样式识别系统来鉴别编码配置。编码配置可以是预定编码配置,或可以基于该组定义规则和/或关系生成。在一些情况下,预定编码配置可以由路径适应模块基于该组定义规则和/或关系鉴别并修改。[0128]在方框912中,配置用于处理(例如编码、解码和/或转码)媒体流的管线路径。管线元件106和/或软件模块112的组合被配置和/或执行以实施编码过程。到管线配置的转换可以与媒体流协作从而减小或避免输出流的中断。例如,如果视频流包括帧间编码的(inter-coded)(1-帧)、预测的(P-帧)和双向预测的(B-帧)图片,则在1-帧的转换在流处理中减小或消除任何中断。如果正处理多个媒体流,则转换可以在受管线重配置影响的媒体流之间协作。在一些情况下,一个或更多媒体流的处理可以延迟以同步关联管线的转换。然后可以使用配置的管线继续处理媒体流。[0129]在方框915中,路径适应模块监控装置的可以触发管线的适应和重配置的状况改变,例如媒体流数目的改变、由输送路径特性和来源/或目的地能力的变化引起的媒体流流程的改变、在管线元件106之间的负载平衡、编码标准的改变、由装置执行的非编码应用程序的改变等。如果在方框918中没有检测到触发事件,则路径适应模块继续在方框915中监控装置。当检测到触发事件作为新的媒体流时(方框921),那么流程返回到在方框909中确定编码配置之前确定与新的媒体流关联的编码标准的方框906。否则,流程返回到基于已知编码标准确定编码配置的方框909。这样,路径适应模块可以响应于装置或节点的状况的实时改变。[0130]例如,如果检测到另一媒体流,那么路径适应模块至少部分基于和另外的媒体流关联的编码标准确定另外的媒体流的编码配置。所确定的编码配置也可以基于其他因素,例如未使用管线元件或可以与另一管线路径时间共享的管线元件、用于执行软件模块和/或其他非编码应用程序的可用处理资源、电源或电池负载、在管线元件之间的负载平衡、媒体流的质量水平、媒体流来源和/或处理后流的目的地的能力、和/或输送路径的特性。路径适应模块也可以基于这些相同状况重配置其他管线路径。例如,路径适应模块可以重配置一个或更多管线路径以将一个或更多管线元件时间共享从而符合媒体流处理需求。相似地,通过用由可用处理资源执行的软件模块代替管线元件使得被代替管线元件可以用来实施另一管线路径,路径适应模块可以重配置现有管线路径。[0131]装置状况的其他改变也可以触发一各或更多现有管线路径的重配置。例如,如果媒体流的来源以比装置能够处理的速率更低的速率传输(这可以由例如降低的缓冲水平来表示),那么路径适应模块可以重配置当前管线路径以利用较低处理需求。例如,路径适应模块可以用以软件模块处理代替由管线元件的一部分的处理,并将未使用管线元件断电。这样,功率使用可以降低同时仍符合处理需求。在其他实施方案中,另一管线路径也可以被重配置以利用已移除管线元件改善性能。这样,路径适应模块可以使管线路径适应以基于例如规则或其他标准改善或最优化装置的性能。[0132]当管线元件在块尺寸上操作时,媒体流的块尺寸的改变也可以触发管线路径的重配置。例如,如果块尺寸从16X16改变成8X8,则可能需要不同路径特征和/或编码配置。路径适应模块可以鉴别新编码配置,并且使现有管线路径(和其他管线路径)适应以实施新编码配置。输送路径特性的改变也可以触发管线路径的重配置,从而提供例如改善在输送路径上媒体流的传输的编码。非编码应用程序执行的改变也可以触发管线路径的重配置,例如从软件模块转换到管线元件从而为非编码应用程序腾出处理资源。功率使用的改变可以触发从管线元件到软件模块的转换,这可以导致较低功率使用和延长的操作时间。可以理解,装置操作状况的其他改变也可以触发一个或更多管线路径的重配置。[0133]例如,用于将装置的处理路径适应的方法可以包括至少部分基于和媒体流关联的编码标准来确定编码配置;配置装置的管线路径以实施编码配置;以及使用所配置的管线路径处理媒体流。在一些实施方式中,编码配置可以基于编码标准来编码和/或解码媒体流。在其他实施方式中,编码配置可以基于和媒体流关联的编码标准和第二编码标准转码媒体流。编码配置可以进一步基于装置的操作状况,该操作状况可以包括处理另一媒体流的另一编码配置和/或管线元件实施编码配置的可用性。所配置的管线路径可以包括适应性互连以实施编码配置的至少一个管线元件和/或由装置执行的至少一个软件模块的组合。在一些实施中,所配置的管线路径可以包括适应性互连以实施编码配置的多个管线元件。在其他实施方案中,所配置的管线路径包含适应性互连以实施编码配置的由装置执行的多个软件模块。[0134]该方法也可以包括获得第二媒体流;至少部分基于和第二媒体流关联的编码标准确定第二编码配置;配置装置的第二管线路径以实施第二编码配置;以及使用所配置的第二管线路径处理第二媒体流。该方法可以进一步包括至少部分基于和第一媒体流关联的编码标准和第二编码配置来确定用于处理第一媒体流的编码重配置;以及重配置装置的第一管线路径以实施编码重配置。在一些情况下,该方法可以包括检测装置操作状况的改变;至少部分基于和媒体流关联的编码标准和检测出的改变来确定编码重配置;以及重配置装置的管线路径以实施编码重配置。操作状况的改变可以包括装置可用功率的改变和/或媒体流传输速率的改变。在一些实施方式中,确定编码配置包括鉴别路径特征,该路径特征包括对应于和媒体流关联的编码标准的预定编码配置。在其他实施方式中,确定编码配置包括使用基于规则的专家系统来鉴别编码配置。该方法也可以包括将未用于媒体流处理的管线元件断电。[0135]包括可适应架构的装置可以包括多个编码元件,该多个编码元件包括管线元件和可由装置的处理资源执行的软件模块;以及可由装置的处理资源执行的路径适应模块,该路径适应模块被配置为将编码元件适应性互连,从而至少部分基于和媒体流关联的编码标准处理媒体流。路径适应模块可以将多个管线元件和软件模块互连以编码和/或解码媒体流。路径适应模块可以被进一步配置以响应于装置操作状况的改变将互连编码元件适应性重配置。路径适应模块可以基于和编码标准以及媒体流处理对应的预定编码配置来确定编码元件的互连。路径适应模块也可以被配置为将未用于媒体流处理的管线元件断电。[0136]另一例子包括用于处理媒体流的可适应编码架构。可适应编码架构包括媒体处理资源,该媒体处理资源包括多个管线元件和可由编码架构的通用处理资源执行的一个或更多软件模块,并包括响应于所接收的媒体流使包括媒体处理资源的至少一部分的编码路径适应的路径适应控制。路径适应控制可以将编码路径适应性配置从而至少部分基于和所接收的媒体流关联的编码标准和可用媒体处理资源来编码所接收的媒体流。路径适应控制可以将编码路径适应性重配置,从而释放包括在用于编码所接收的媒体流的编码路径中的至少一个管线元件。编码路径的适应性重配置可以包括用由通用处理资源执行的至少一个软件模块代替至少一个管线元件。编码路径的适应性重配置可以与在由编码路径编码的媒体流中的转换同步。路径适应控制也可以将第二编码路径适应性配置从而编码所接收的媒体流,该第二编码路径包括由第一编码路径的适应性重配置释放的至少一个管线元件。第一编码路径的适应性重配置可以包括与第二编码路径共享第一编码路径的至少一个管线元件。路径适应控制也可以响应于所接收的媒体流的终止使编码路径适应,其中该编码路径被重配置以利用包括在用于编码所终止的媒体流的编码路径中的至少一个管线元件。[0137]用于处理媒体流的可适应解码架构可以包括媒体处理资源,该媒体处理资源包含多个管线元件和可由编码架构的通用处理资源执行的一个或更多软件模块,并且包含响应于编码媒体流使包括媒体处理资源的至少一部分的至少一个解码路径适应的路径适应控制。路径适应控制可以将第一解码路径适应性配置,从而至少部分基于和编码媒体流关联的编码标准将编码媒体流解码。路径适应控制可以将第二解码路径适应性配置,从而至少部分基于和第二编码媒体流关联的编码标准以及可用媒体处理资源将第二编码媒体流解码。第一解码路径和第二解码路径可以共享至少一个管线元件。路径适应控制可以响应于第一编码媒体流的终止使第二解码路径适应,其中该第二解码路径被重配置为利用包括在第一解码路径中的至少一个管线元件。如果可用媒体处理资源低于预定限制,则路径适应控制可以将第二编码媒体流引导到用于解码的另一可适应解码架构。第一解码路径可以基于预定路径特征而配置,该预定路径特征对应于和编码媒体流关联的编码标准。[0138]装置包括从该装置的媒体处理资源配置的多条编码路径以处理相应媒体流,该媒体处理资源包含多个管线元件和可由该装置的通用处理资源执行的一个或更多软件模块;并且包括路径适应控制,其响应于对装置的媒体处理资源的需求的改变,在相应媒体流的处理期间将编码路径中的至少一个适应性重配置。路径适应控制可以将至少一个编码路径适应性重配置以包括当相应媒体流结束时从另一编码路径释放的至少一个管线元件。至少一个编码路径可以被适应性重配置以用至少一个已释放管线元件代替软件模块。多个编码路径可以包括解码路径和编码路径。路径适应控制可以是可由装置的通用处理资源执行的路径适应模块。[0139]接下来参考图9B,示出说明媒体处理架构的适应的例子的流程图。以方框924开始,媒体流由例如编码、解码或转码架构接收,并且在方框927中确定(例如由路径适应模块)初始路径配置以符合媒体流处理需要。例如,通过基于一组定义状况来选择预定路径特征和/或使用基于规则的系统例如专家系统(或其他适当样式识别系统)来确定配置,从而可以鉴别出适当路径103以便使用。初始管线路径103可以至少部分基于可适应架构的资源和与媒体流关联的编码标准来确定,从而提供例如减小的处理时间、功耗和/或其他希望性能。例如,初始路径配置可以使用全部可用硬件管线元件106实施编码器、解码器和/或转码器以处理所接收的媒体流。如果在方框930中没有其他媒体流由可适应处理架构处理,则初始管线路径103在方框933中配置并且所接收的媒体流在方框936中由所配置的管线路径103处理。[0140]如果在方框930中媒体流已由可适应架构处理,那么在方框939中确定(例如由路径适应模块)可适应架构的未使用处理资源是否可用于配置初始管线路径103。如果所需要的处理资源(例如具体的硬件管线元件106)在方框939中可用,那么在方框933中配置处理路径并且在方框936中处理所接收的媒体流。如果所需要的处理资源在方框939中不可用,那么在方框942中确定(例如由路径适应模块)是否可以使得在一个或更多现有管线路径103中使用的处理资源可用于初始管线路径103的配置。例如,可以通过用由例如共享通用处理资源执行的软件模块112代替由路径103使用的一部分硬件管线元件106来重配置现有管线路径103,从而允许管线元件106用于处理另一媒体流。在方框942中的确定可以至少部分基于例如现有媒体流的处理需要和/或媒体流的优先权。例如,因为例如受保证的QoS、媒体流的来源、媒体类型、最终用户需求等因素,现有流可以具有高于所接收的媒体流的优先权。在此情况下,处理高优先权流的管线路径可以不修改,而其他现有管线路径可以适应性重配置以符合改变的需求。将现有路径中的哪些重配置以及使它们适应的顺序可以基于它们的相应媒体流的优先权。[0141]如果通过重配置一个或更多现有路径可以腾出处理资源以供使用,那么现有路径在方框945中被重配置以释放处理资源。可以实施适应从而避免或最小化对处理后媒体流的感官影响。然后可以在方框933中使用可用处理资源配置初始管线路径103,并且在方框936中由所配置的管线路径103处理所接收的媒体流。[0142]如果在方框942中所需要处理资源不可从现有管线路径103获得,那么在方框948中确定(例如由路径适应模块)替换路径配置。例如,新的媒体流可能具有低于任何现有流的优先权,或现有路径103的处理需要可能不允许重配置。替换路径103可以至少部分基于因为现有管线103在可用资源中的限制来确定。例如,可以使用基于规则的系统例如专家系统(或其他适当样式识别系统)确定替换路径103的配置。在一些实施方式中,初始路径配置可以由基于规则的系统修改从而将使用替换配置对媒体流处理的影响最小化。然后可以在方框933中使用可用处理资源配置替换管线路径103,并且在方框936中由已配置管线路径103处理所接收的媒体流。在一些情况下,因为可用硬件管线元件106和用于执行软件模块112的通用处理资源的限制,替换路径配置是不可能的。在此情况下,所接收的媒体流可以卸载到用于处理的另一装置。[0143]接下来参考图9C,示出说明媒体处理架构的适应的另一例子的流程图。以方框951开始,由例如媒体流内容的结束(conclusion)、或由例如输送路径中断或用户选择另一程序或频道引起的处理终止,媒体流的处理停止。在方框954中,确定(例如由路径适应模块)不再用于处理媒体流的处理资源。也可以在方框954中确定(或确认)可用的其他未使用资源。然后可以确定是否可以使用未使用处理资源改善任何现有管线路径103(或编码、解码或转码架构的处理段)的处理。例如,新腾出的硬件管线元件106的使用可以改善当前使用由通用处理资源执行的软件模块112以实施一部分媒体流处理的现有管线路径103的性能。在其他情况下,将已腾出通用处理资源重分配以由现有管线路径103中的一个或更多使用可以改善路径103的处理性能。[0144]如果在方框957中可以通过利用未使用处理资源改善现有路径103的处理,那么在方框960中确定相应管线路径103的修改。已腾出处理资源的分配可以至少部分基于例如被处理媒体流的优先权。例如,可以为处理具有最高优先权的媒体流的管线路径103首先确定使用哪些未使用处理资源。然后可以确定在处理具有次最高优先权的媒体流的管线路径103中使用的哪些未使用处理资源。该确定也可以考虑由处理更高优先权媒体流的路径的重配置腾出的处理资源。该确定可以为任何剩余管线路径103继续。也可以在方框960中确定管线路径103的重配置的协作。[0145]然后可以在方框963中执行现有管线路径的重配置。在路径配置之间的转换可以与在媒体流中的转换同步以减小对下游部件的影响或对最终用户的感官影响。在一些情况下,在两个配置之间的转换可以用逐渐方式实施,使得硬件元件到软件模块(或软件模块到硬件元件)的转换交错从而减小对媒体流的感官影响。然后,未使用资源例如管线元件106可以在方框966中断电从而减小功耗。如果现有路径103的处理在方框957中不会改善,那么可以在方框966中将未使用资源例如管线元件106断电。[0146]除媒体流的添加或终止之外,编码、解码或转码架构的一个或更多现有管线路径103(或处理段)可以经用相似方式适应性配置或重配置(例如由路径适应模块)从而应对系统状况和/或处理需求的改变。适应可以在运行中执行从而实时应对在可用资源上的需求或压力的改变。例如,当在可用资源上的压力增加时,现有处理段(或路径)可以被重配置以减轻在硬件资源上的需求或平衡硬件元件之间的负载。在一些情况下,可以使管线路径(或处理段)适应以时间共享一个或更多管线元件从而符合媒体流处理需求。可以使哪些现有管线路径适应可以至少部分基于例如相应媒体流的优先权。例如,因为如受保证的QoS、媒体流的来源、媒体类型、最终用户需求等因素,现有流可以具有比其他流更高的优先权。[0147]路径103(或处理段)也可以适应输送路径、上游部件和/或下游部件的能力改变。如果在输送路径上的拥塞或需求增加超过阈值水平,则一个或更多编码或解码段可以适应以减轻在系统上的压力。处理段也可以适应以改变流特性例如视频分辨率、帧速率和/或位分辨率,从而减轻对编码器资源的需求。[0148]接下来参考图9D,示出说明在相应媒体流的处理期间媒体处理架构的现有管线路径103的适应的例子的流程图。以方框969开始,可以检测到处理需求的改变。例如,高于或低于阈值的缓冲水平可以表示下游或上游需求的改变。在其他情况下,传输错误可以表示在输送路径上的拥塞。相似地,系统状况例如电池功率水平的改变也可以触发现有路径103的适应。在方框972中,确定是否响应于需求的改变使一个或更多现有路径(或处理段)适应。例如,如果改变是不同分辨率或帧速率,那么现有路径可以被重配置以满足新需求。然而,如果现有配置能够应付需求的改变,那么可以不需要重配置。如果在方框972中现有路径有待适应,那么在方框975中确定相应管线路径103的修改,并且在方框978中重配置路径103。类似地,在方框975中可以确定编码、解码或转码处理段的修改,并且在方框978中可以重配置处理段。在方框984中相应媒体流的处理由重配置后管线路径103继续。如果在方框972中不使现有路径(或处理段)适应,则在方框984中继续处理媒体流。[0149]参考图10,示出包括根据本公开的各种实施方式的可适应处理架构的装置(或节点)的示意框图。装置1000包括例如具有都耦接到本地接口1009的处理器1003和存储器1006的至少一个处理器电路1001。为此,每个装置1000可以包含例如至少一个媒体装置,如高清电视(HDTV)、数字无线电、视频播放器、视频或图像摄影机、计算装置(例如桌面计算机、膝上计算机、服务器、路由器等)、机顶盒、媒体记录单元、视频游戏单元、视频会议单元、家庭基站、移动装置(例如蜂窝电话、智能电话、平板计算机等)、或处理媒体流的其他装置。可以理解的是,本地接口1009可以包含例如具有伴随地址/控制总线或其他总线结构的数据总线。[0150]存储在存储器1006中的是数据和可由处理器1003执行的若干部件(component)。特别地,存储在存储器1006中并可由处理器1003执行的是路径适应模块1012、实施编码功能性的软件模块112和可由处理器1003执行的潜在其他非编码应用程序1015。同样存储在存储器1006中的可以是数据存储1018和其他数据。例如,数据存储1018可以包括多个预定路径特征1021,该多个预定路径特征1021中的一个或更多可以与一个或更多编码标准1024中的每个关联。路径特征1021可以包括一个或更多预定编码配置1027,和/或可以鉴别在例如数据存储1018中分离存储的一个或更多预定编码配置1027。另外,操作系统1030可以存储在存储器1006中并可由处理器1003执行。装置1000也包括在硬件中实施编码功能性的多个管线元件106。编码配置定义处理媒体流以便编码、解码和/或转码的管线元件106和/或软件模块112的组合。编码配置1027包括管线元件106和/或由例如处理器1003或其他处理资源执行的软件模块112的组合,以便实施编码过程例如媒体流的编码、解码和/或转码。[0151]可以理解的是,当然可以具有存储在存储器1006中并且可由处理器1003执行的其他应用程序。其中在此讨论的任何部件以软件的形式实施,可以采用大量编程语言中的任何一种,例如C、C++、C#、ObjectiveC、Java'\JavaScript\Perl、PHP、VisualBasicPython!'、Ruby、DelphiK:、Flash'或其他编程语言。[0152]数个软件部件存储在存储器1006中,并且可由处理器1003执行。在此方面,术语“可执行”意思是程序文件处于可以最终由处理器1003或其他处理资源运行的形式。可执行程序的例子可以是例如可以翻译为能加载到存储器1006的随机访问部分并由处理器1003执行的格式的机器码的汇编程序、可以用合适格式例如能够加载到存储器1006的随机访问部分并由处理器1003执行的目标码表达的源代码、或者可以由另一可执行程序解释从而在存储器1006的随机访问部分中生成待由处理器1003执行的指令的源代码,等等。可执行程序可以存储在存储器1006的部件的任何部分中,包括例如随机访问存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪存驱动器、存储器卡、光盘例如紧凑光盘(⑶)或数字通用光盘(DVD)、软盘、磁带或其他存储器部件。[0153]存储器1006在此定义为包括易失性和非易失性存储器和数据存储部件。易失性部件是一旦掉电不保留数据值的部件。非易失性部件是一旦掉电保留数据值的部件。因此,存储器1006可以包含例如随机访问存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪存驱动器、经存储器读卡器访问的存储器卡、经关联软盘驱动器访问的软盘、经光盘驱动器访问的光盘、经适当磁带驱动器访问的磁带、和/或其他存储器部件、或这些存储器部件中的任何两种或更多的组合。另外,RAM可以包含例如静态随机访问存储器(SRAM)、动态随机访问存储器(DRAM)或磁随机访问存储器(MRAM)以及其他这样的装置。ROM可以包含例如可编程只读存储器(PR0M)、可擦写可编程只读存储器(EPR0M)、电可擦写可编程只读存储器(EEPR0M)或其他相似存储器装置。[0154]此外,处理器1003可以代表多个处理器1003,而存储器1006可以代表分别在并行处理电路中操作的多个存储器1006。在这样的情况下,本地接口1009可以是在多个处理器1003中的任何两个之间、在任何处理器1003和任何存储器1106之间、或在存储器1006、管线元件1006等中的任何两个之间促进通信的适当网络。本地接口1009可以包含被设计为将协作通信(包括例如执行负载平衡)的另外系统。处理器1003可以具有电气构造或一些其他可用构造。[0155]尽管路径适应模块1012、软件模块112、非编码应用程序1015和在此描述的其他各种系统可以如上讨论在由通用硬件执行的软件或代码中实施,但同样作为替代,也可以在专用硬件或软件/通用硬件和专用硬件的组合中实施。如果在专用硬件中实施,则每个可以实施为采用数种技术中的任何一种或组合的电路或状态机。这些技术可以包括但不限于具有用于一旦一个或更多数据信号的施加实施各种逻辑功能的逻辑门的分立逻辑电路、具有适当逻辑门的专用集成电路或其他部件等。这样的技术一般由本领域技术人员众所周知,因此不在此详细讨论。[0156]图2至图4和图9A至图9D的流程图示出路径适应模块1012的多个部分的实施的功能性和操作。如果以软件实施,则每个方框可以代表包含实施具体逻辑功能的程序指令的代码的模块、分段或部分。程序指令可以用包含以编程语言或机器码编写的人类可读状态的源代码的形式实施,该编程语言或机器码包含可由合适执行系统例如在计算机系统或其他系统中的处理器1003识别的数值指令。机器码可以从源代码等转换。如果以硬件实施,则每个方框可以代表实施具体逻辑功能的电路或数个互连电路。[0157]尽管图2至图4和图9A至图9D的流程图示出具体执行顺序,但可以理解执行顺序可以不同于所示出的顺序。例如,两个或更多方框的执行顺序可以相对于所示出的顺序打乱。同样,在图2至图4和图9A至图9D中连续示出的两个或更多方框可以同时或部分同时执行。进一步地,在一些实施方式中,在图2至图4和图9A至图9D中示出的方框中的一个或更多可以跳过或省略。另外,为增强实用性、记账、性能测量或提供一些故障查找帮助等,任何数目的计数器、状态变量、警告信号或消息可以添加到在此描述的逻辑流程。当然所有这样的变化在本公开的保护范围内。[0158]此外,在此描述的包括路径适应模块1012与包含软件或代码的软件模块112的任何逻辑和应用程序可以体现在任何非暂时计算机可读介质中,以便由指令执行系统例如在计算机系统或其他系统中的处理器1003使用或与指令执行系统关联。在此意义上,逻辑可以包含例如状态,该状态包括可以从计算机可读介质提取并由指令执行系统执行的指令和声明。在本公开的背景下,“计算机可读介质”可以是可含有、存储或维持在此描述的逻辑或应用程序以便由指令执行系统使用或与指令执行系统关联的任何介质。[0159]计算机可读介质可以包含多种物理介质中的任何一种,例如磁、光或半导体介质。合适计算机可读介质的更多具体例子包括但不限于磁带、磁软盘、磁硬盘驱动器、存储器卡、固态驱动器、USB闪存驱动器或光盘。此外,计算机可读介质也可以是随机访问存储器(RAM),包括例如静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)或磁随机访问存储器(MRAM)。另外,计算机可读介质可以是只读存储器(ROM)、可编程只读存储器(PR0M)、可擦写可编程只读存储器(EPR0M)、电可擦写可编程只读存储器(EEPROM)或其他类型的存储器装置。[0160]应强调本公开的上述实施方式仅是为本公开原理的清晰理解所阐述的实施的可能例子。可以在基本上不背离本公开的精神和原理的情况下对上述实施方式做出许多变化和修改。所有这样的修改和变化将包括在本公开的保护范围内。【权利要求】1.一种用于服务多个媒体流的可适应编码架构,所述可适应编码架构包括:多个媒体处理管线资源;控制器,可操作用于通过以单流配置安排所述多个媒体处理管线资源的至少第一部分来支持所述多个媒体流的第一媒体流,所述单流配置定义单流编码路径;以及所述控制器可操作用于使得从所述单流配置转换到所述多个媒体处理管线资源的多流配置,进行所述转换以同时支持所述第一媒体流和所述多个媒体流的第二媒体流,所述多流配置既定义用于所述第一媒体流的第一编码路径又定义用于所述第二媒体流的第二编码路径,所述第一编码路径不同于所述单流编码路径。2.根据权利要求1所述的可适应编码架构,其中,所述控制器至少部分基于与所述第一媒体流关联的编码标准和可用媒体处理资源来适应性配置所述单流编码路径以编码所述第一媒体流。3.根据权利要求1所述的可适应编码架构,其中,所述控制器通过释放被包括在所述单流编码路径中的至少一个媒体处理管线资源来适应性重配置所述单流编码路径以形成所述第一编码路径。4.根据权利要求3所述的可适应编码架构,其中,为形成所述第一编码路径的所述单流编码路径的所述适应性重配置包括用由通用处理资源执行的至少一个软件模块代替至少一个管线元件。5.根据权利要求4所述的可适应编码架构,其中,所述单流编码路径的所述适应性重配置与所述第一媒体流中的转换同步。6.根据权利要求3所述的可适应编码架构,其中,所述控制器适应性配置所述第二编码路径以编码所述第二媒体流,所述第二编码路径包括通过为形成所述第一编码路径的所述单流编码路径的所述适应性重配置释放的所述至少一个媒体处理管线资源。7.一种用于服务多个编码媒体流的可适应解码架构,所述可适应解码架构包括:多个媒体处理管线资源;控制器,可操作用于通过以单流配置安排所述多个媒体处理管线资源的至少第一部分来支持所述多个编码媒体流的第一编码媒体流,所述单流配置定义单流解码路径;以及所述控制器可操作用于使得从所述单流配置转换到所述多个媒体处理管线资源的多流配置,进行所述转换以同时支持所述第一编码媒体流和所述多个编码媒体流的第二编码媒体流,所述多流配置既定义用于所述第一编码媒体流的第一解码路径又定义用于所述第二编码媒体流定义第二解码路径,所述第一解码路径不同于所述单流解码路径。8.根据权利要求7所述的可适应解码架构,其中,所述控制器至少部分基于与所述第一编码媒体流关联的编码标准来适应性配置所述单流解码路径以解码所述第一编码媒体流。9.根据权利要求8所述的可适应解码架构,其中,所述控制器至少部分基于与所述第二编码媒体流关联的编码标准和可用媒体处理管线资源来适应性配置所述第二解码路径以解码所述第二编码媒体流。10.一种支持多个媒体流的装置,所述装置包括:多个媒体处理资源;以及控制器,可操作用于使得所述多个媒体处理资源的至少一部分适应性重配置以支持新的媒体流和至少一个正在进行的媒体流同时进行编码相关处理,所述适应性重配置使得所述多个媒体处理资源的至少一部分从所述至少一个正在进行的媒体流重分配给所述新的媒体流。【文档编号】H04N19/625GK103686347SQ201310412752【公开日】2014年3月26日申请日期:2013年9月11日优先权日:2012年9月14日【发明者】詹姆斯·贝内特申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1