专利名称:资源可分级解码的制作方法
技术领域:
本发明涉及对压缩视频信号的处理,特别涉及一种系统和方法,它用于在一个媒体处理内核(core)中,实现本地资源控制器对主码流解码过程的分级控制。
2.涉及的背景技术多媒体处理系统正在成为消费电子产品市场上一个快速增长的部分。基于视频处理的标准如MPEG2,MPEG4,H.263等,对于这一产业的成功已成为关键因素。在所有的视频处理功能中,视频解码通常是各种功能中消耗资源最多的过程。视频解码过程按照各种不同的标准之一进行,它保证了适当的输出信号质量水平。然而,这样的标准通常假设解码器工作于资源无限的环境之中。
多媒体处理系统的心脏是一个媒体处理器核(MPC),它完成全部处理功能。然而常会发现,对同时进行多媒体处理和解码功能的要求超出了MPC的能力(即计算能力)。当这种情况出现时,分配到每一个功能的资源(如CPU周期,存储容量,存储器带宽,功耗等)显得有限。对于受资源约束的系统,一个解决方法是"分级",即减少某种处理功能或算法的复杂性。然而,分级运行的代价是降低了输出信号质量。
对于资源有限的系统,特定的处理功能可利用的计算机资源根据系统的负载情况会随时间变化,。为保证系统能以适时的方式工作,算法的复杂程度通过以输出信号质量作交换始终要动态地适应可用的资源,。因此需要一种分级解码器,它能动态地适应资源的约束条件。进而言之,一种低价格、高效率且资源受限、复杂性可分级的视频解码器,对新一代多功能、多用途的多媒体视频设备来说是至关重要的发明概要本发明克服了上述及其它问题,提供一个复杂性可分级的解码器系统,它能动态地适应资源的约束条件;首先,本发明提供了一个复杂性可分级的解码器系统,包括具有多个功能块的解码器,用于解码压缩视频数据,其中,解码器还包括多个分级功能,可以有选择地降低至少一个功能块的复杂性;还有一个本地资源控制器,用于生成解码器分级规则,其中,分级规则的选择是为响应系统资源管理器的复杂性请求,还有,分级规则是从本地资源控制器可用的、多个预定的分级规则中进行选择。
其次,本发明提供了一种方法,在有多个处理功能和一个资源管理器的媒体处理器核中,提供一个复杂性可分级的解码器系统。该方法有以下步骤从资源管理器发送一个复杂性请求到与分级解码器相连接的本地资源控制器,响应该复杂性请求从查询表中选择一个分级规;传送该分级规则给分级解码器;基于传来的分级规则降低分级解码器的复杂性。
第三,本发明提供一个程序产品,存储在可记录介质上,当其运行时,对媒体处理器核中的分级解码器进行本地资源控制。该程序产品包括接收来自资源管理器的复杂性请求的程序代码;基于收到的复杂性请求,从多个预先确定的分级规则中选择一个规则的程序代码;以及传送所选择的分级规则给分级解码器的程序代码。
附图简述以下将结合附图描述本发明的优选实施例,图中用类似的符号表示对应的单元,和
图1描绘了一个按照本发明的媒体处理器核的方框图。
图2描绘了一个按照本发明的查询表。
图3描绘了一个按照本发明优选实施例的资源可分级解码系统。
图4描绘了一个可分级解码系统的典型流程图。
本发明的详细描述1.概述为便于说明,用MPEG2视频解码器的实施例来描述本发明。然而,应当理解本发明可用于任何具有类似结构的解码系统。标准的MPGE2视频解码器在本领域是众所周知的,它用四个功能块和一个加法器对MPEG2视频比特流解码。这些功能块是可变长度解码器(VLD),逆向扫描和逆向量化(IQ),反离散余弦变换(IDCT)和运动补偿(MC)。MPEG2解码器将两个帧缓存器用作参考帧存储。一般而言,帧分辩率愈高,所需解码资源(存储容量,存储器带宽,和计算的复杂性)也愈多。现已提出MPEG2分级解码器的各种方案,其中一些将在下面详细讨论。
参见图1,所示系统框图10含有不同的多媒体处理功能单元20,22,24,26,28。每一单元有自己的本地资源控制器(LRC1-LRC5)。媒体处理器核(MPC)的资源管理器18(这里示为"RM-MPC"或"资源管理器")通过各单元的本地资源控制器控制着每个功能单元。例如,RM-MPC18可以包含一个高质量的业务管理器和一个规则管理器。RM-MPC18监视着系统10中所有的功能单元的资源利用情况,并把这些资源动态地分配给各个功能单元。这样,当某个功能单元请求更多的资源时,RM-MPC18会对该请求的优先级加权并将全部资源重新分配;然后,MPC16给某个确定的功能单元断电,(如去掉某些复杂的后处理,产生较低质量的音频输出,或者减少主码流MPEG2解码的计算负荷)以支持别的单元。
2.资源可分级解码本发明的特征是提供一个资源可分级解码系统。在这个典型的实施例中,资源可分级解码系统是用LRC314和主码流MPEG2解码24实现的。在常规的运行模式中,是按缺省设计把资源分给每一个功能单元,这通常不会导致与主码流MPEG2解码过程(即解码器)24的资源冲突。例如,当执行主码流解码24时,PIP(画中画)编码/解码22不是总被激活。然而,当别的功能单元而不是主码流解码单元24请求相当多的资源时,LRC3就激活资源可分级MPEG2解码,从而减少主码流解码24占用的资源。例如,当一个观众想以高质量的数据格式(如MPEG2或MPEG4)把PIP记录在存储器中时,PIP编码器22就茯得更高的资源优先级,同时,主码流解码24不得不分级,以便释放它所占用的资源。
与主码流解码24相连的LRC314接收来自RM-MPC18的预定动态资源,并把收到的资源重新分配给解码器中的各个功能块。这样,LRC314采用一个或多个可能的分级规则来本地(locally)决定如何对解码过程进行资源分配。LRC3通过查询表来选择和控制分级规则,下文将参照图2和图3对查询表作详细描述。
3.查询表通过脱机实验推导出分级规则,把这些规则列在可分级的查询表中。为生成这个查询表,要向设计者提拱若干适用的分级功能或算法。每一分级功能以降低输出信号的质量为代价来减少解码器中某一功能块的复杂性。这样的分级功能的例子列于下列参考文献中,包括(1)自适应B帧分级,在共同待审的、于2001年3月29日提交的、序号为09/821140,标题为"可分级MPEG-2视频解码器"的美国专利申请中公开。(2)IDCT分级,在共同待审的,于2001年1月11日提交的、序号为09/759042、标题为"可分级MPEG2解码器"的美国专利申请中公开。(3)运动补偿分级,在共同待审的于2001年1月9日提交的,序号为09/709260,标题为"带选择性运动补偿的可分级MPEG-2视频解码器"的美国专利申请中公开;嵌入式存储容量重置(resizingscaling),在共同待审的于2001年5月30日提交的、序号为09/867970,标题为"隔行扫描视频在频域的垂直分级"的美国专利申请中公开。其他分级规则,诸如专用PIP处理过程,它优化了画中画的处理,也可以利用。因而,应该明白,上文所列分级功能仅为举出的几个范例,别的分级功能同样可以实现。
建立具有分级规则的查询表是为了对每一种可能的复杂性请求确定一个分级规则,每一个复杂性请求含有对一个或多个资源复杂性的限制。例如,一个复杂性请求可以叙述为带宽消耗必须降至80%以下,以及CPU处理能力必须降至90%以下。
设计者预先知道在什么情况下,每个解码器功能块可以定级到何种质量水平。例如,在激活PIP的情况下,可利用专门的PIP处理过程,按已知百分比去降低复杂性。对每一复杂性请求,设计者试验不同分级功能的各种可能的组合,以获得最佳结果。从所有满足复杂性请求的规则中,设计者选择这样的规则,它对于特定的复杂性程度有最好的主观质量水平。对每个复杂性请求重复这个过程,直到该复杂性查询表制作完成。
一个示范的查询表46示于图2,图2的左边是14个不同的复杂性请求。例如,复杂性请求"1",列举了上限为90%的存储器容量(即要求至少减小10%);复杂性请求"7",列举了上限为85%的带宽降低;复杂性请求"14",列举了上限为80%的存储器容量减少,CPU减至80%以下,画中画(PIP)激活等。对每个复杂性请求,存在着对应的分级规则(列于图2的右边)。在这个例子中,采用了5种分级功能的不同组合,即A=自适应B帧分级,I=IDCT分级,MC=运动补偿分级,E=嵌入式存储容量重置;以及P=PIP处理。例如,嵌入式存储容量重置E用于复杂性请求"1-4"。另外一种情况,自适应B帧(A),IDCT分级(I),嵌入式存储容量重置(E)以及PIP处理(P)的组合用于复杂性请求"14"。
应当认识到,图2中的表仅用于示例的目的,因此,条目的数量,复杂性的范围,复杂性的类型(存储器,带宽,CPU,功能),各种复杂性的组合,分级功能的组合,分级功能的类型等全都是为了举例说明,而不应成为对本发明的限制。例如,表中也可以包括电池的功耗。再者,每个分级功能的各种变形也可采用。例如,反离散余弦变换IDCT分级应有一种以上的变形。更进一步,查询表本身可用任何已知的格式实现,比如包括数据库,程序代码,数据对象等。
4.数据相关规则上述查询表由与数据无关的规则组成,这意味着,所要求的复杂性等级可根据对应的规则获得,而不论数据特性如何。本发明也可包含数据相关的规则体系,它能基于解码器所处理的数据特征动态地精选或改变分级规则。数据相关规则可以结合到上述查询表中,或由单独的规则体系统和/或查询表来处理。用于降低复杂性的两个数据相关规则的例子描述如下。
第一个例子包含着输出信号质量的退化,尤其是,若输出质量差到低于观众能接受的水平,那么就要选择另外的规则以改进质量。可以用客观质量测量(如测试数据)确定可接受的输出质量。若质量测量的结果低于门限值,那么,本地资源控制器能够动态地改变分级规则。例如,若在解码环路中采用IDCT分级算法获得80%的复杂性水平后,输出质量是不可接受的;那么,系统就能通过使B画面的尺寸减半,同时,改变IDCT分级算法进一步降低IDCT的复杂性来动态地精选规则,以便获得所要求的80%的复杂性水平。在解码回路具有小得多的复杂性以后,最后的画面尺寸可以恢复。
第二个例子包含按照数据特征进一步简化所选择的分级规则。例如,若一个序列的DCT数据被识别为"稀疏的"(即仅有少量的非零数据),则IDCT分级规则可被指令提供一个极低的复杂性。这样,原来要求的80%的复杂性可进一步减小而不会带来输出质量的任何退化。
应当理解,上述两例仅为举例说明,其它数据相关规则也可实现。
5.资源可分级解码系统参见图3,图中示出一个典型的复杂性可分级解码系统12,它由解码器24,本地资源控制器(LRC)14和脱机设计系统54组成。解码器24包含功能块42,它构成一个典型的解码器(如VLD,IQ,IDCT和MC)。相应地,解码器24接收比特流58并产生输出60。比特流58可以是离散余弦变换(DCT)数据,而输出则是基于视频图象的象素。解码器24还包括分级功能40,它可用于降低功能块42的复杂性。分级功能40的一些例子,包括自适应B帧分级,IDCT分级,嵌入式存储容量重置,运动补偿分级,和PIP处理已如上所述,应当承认,别的分级功能也能采用,因此,它们也属于本发明的范围。
规则50确定调用什么分级功能去实现可分级解码器。LRC14按如下方式确定规则50。首先,LRC规则管理器44从资源管理器接收复杂性请求56。然后,LRC规则管理器44考察查询表46,为提出的要求56选择适当的规则。参见图2,查询表的范例已如上述。一旦选定了适当的规则50,就把它提交给解码器24付诸实现。
LRC14还包括一个数据相关规则系统48,基于被解码器24的功能块42所处理的数据52,数据相关规则系统48能更换或精炼所选择的规则50。数据相关规则的例子已如上述,包括(1)把输出质量与门限进行比较,(2)确定非零数据量是否落在门限以下。
如上所述,查询表46和数据相关规则48是用脱机设计系统54在脱机状态下设计的。规则可通过试验和误差处理的过程获得,在这一过程中,设计者主观考察输出质量,和/或通过自动化的应用,如在序号为09/817981,于2001年3月27日提交的共同未决申请中所描述的那样(附参考文献)。
应当认识到,查询表46有着广义的解释,不一定要实际构成一个实在的表格。查询表46可以包含能根据收到的复杂性请求选择分级规则的任何系统。例如,表46可以包含"if-then-else"或者"case"程序代码语句。
6.规则范例参见图4,图中出示一个典型的可分级解码运算80。首先,资源管理器18从系统接收资源信息,包括PIP请求,存储器状态和计算能力状态。然后,资源管理器向MPEG2解码器LRC14提交有关资源约束的复杂性请求。接下来,LRC14确定解码器的复杂性是否需要减少62。若需要减少,就计算复杂性减少率64,同时调用解码器中的复杂性分级功能66。若不请求减少复杂性,则LRC14询问是否有PIP请求68。若有PIP请求,LRC14将输入PIP位置70,同时调用带B帧收缩72的分级解码功能。若没有提出PIP请求,LRC14将确定是否有减少存储容量的请求74。若有存储容量减少的请求,就调用解码器76中的嵌入式存储器容量重置分级功能。
应当明白,这里描述的系统和方法可以用硬件、软件或者硬件与软件两者的结合来实现。它们可以作为任一类型的计算机系统来实现,或者其它适于实现所述方法的装置。典型的软硬件的结合是一个带有计算机程序的通用计算机,当下载并运行这个程序时,它控制计算机系统实现这里描述的方法。另外,可以采用一台专用计算机,它包含有专用的硬件用于实现一个或多个本发明的功能性任务。本发明还能嵌入计算机程序产品中,该产品具有能实现所述方法和功能的全部特性,当下载到一个计算机系统时,它就能实现这些方法和功能。计算机程序,软件程序,程序,程序产品或者软件这些术语在本文中意味着一组指令的任何表达式,采用任何计算机语言,代码或标志,意图在于使系统具有信息处理能力,能直接完成特定的功能,或者在完成下述两件事或其中一件之后,能实现特定功能(a)变换为另一种语言、代码或标志,(b)以不同的介质形式复制。
前面所述的本发明的优选实施例仅用于叙述和说明,本实施例并非详尽无遗,也不用它把本发明限制于所述的具体形式。根据上述指教,实现方法可以出现许多不同的修改和变形。对本领域的普通技术人员来说显而易见的是,这些修改和变形正如权利要求书中所定义的那样也属于本发明的范围。例如,虽然本文所述一般涉及MPEG-2解码器,但本发明能用于采用MPEG-1,MPEG-4,H.26L,H.261和H.263标准的类似系统,也是不言自明的。
权利要求
1.一种复杂性可分级解码器系统[12],包括一个有多个功能块的解码器[24],用于对压缩视频数据[58]解码,其中,解码器[24]还包括多个可分级功能[40],用于有选择地降低至少一个功能块的复杂性;一个本地资源控制器[14],用于为解码器[24]产生分级规则[50],其中,分级规则[50]响应来自系统资源管理器[18]的复杂性的要求[56]进行选择,其中,分级规则[50]是在本地资源控制器[14]可用的多个预定的规则中进行选择的。
2.根据权利要求1的复杂性可分级解码器系统[12],其中,多个预定的分级规则列于查询表[46]。
3.根据权利要求1的复杂性可分级解码器系统[12],其中,多个预定的分级规则是脱机设计的[54]。
4.根据权利要求1中的复杂性可分级解码器系统[12],其中,多个预定的分级规则中的每一个规则,指示令至少一个分级功能如何减少解码器[24]的复杂性。
5.根据权利要求4的复杂性可分级解码器系统[12],其中,解码器复杂性是从包括下述内容组中选择的CPU处理能力要求,带宽要求,功耗和存储容量要求。
6.根据权利要求4的复杂性可分级解码器系统[12],其中,多个预定的分级规则中的至少一个含有处理提交到资源管理器[18]的PIP请求的规则。
7.根据权利要求6的复杂性可分级解码器系统[12],其中,处理PIP请求的分级规则包含一个PIP分级功能。
8.根据权利要求1的复杂性可分级解码器系统[12],其中,分级功能是从包括下述内容组中选择的自适应B帧分级,IDCT分级,运动补偿分级和嵌入式存储容量重置。
9.根据权利要求1的复杂性可分级解码器系统[12],其中,本地资源控制器[14]还包括一个数据相关规则系统[48],它考察解码器所处理的数据[52],当输出的复杂性等级低于预先确定的门限时,就改变选定的分级规则。
10.根据权利要求9的复杂性可分级解码器系统[12],其中,数据相关规则系统[48]包含一个系统,用于确定输出质量是否低于预先确定的门限。
11.根据权利要求9的复杂性可分级解码器系统[12],其中,数据相关规则系统[48]包含一个系统,用于确定解码器所处理的非零DCT数据量是否抵于预定的门限。
12.根据在有多个处理功能[20,22,24,26,28]和一个资源管理器[18]的媒体处理器核中提供复杂性可分级解码器系统[12]的方法,此方法包含以下步骤从资源管理器[18]复杂性请求发送一个复杂性请求到与分级解码器[24]相连的本地资源控制器[14],响应复杂性请求[56],从查询表[46]选择一个分级规则[50],将分级规则[50]传送到分级解码器,并且基于所传送的分级规则[50],降低分级解码器[24]的复杂性。
13.根据权利要求12的方法,还包含如下的步骤考察解码器所处理的数据[52];并且若考察的数据[52]突破预先确定的门限,则改变分级规则[50]。
14.根据权利要求13的方法,其中考察数据[52]包括输出质量水平。
15.根据权利要求13的方法,其中考察数据[52]包括统计非零数据量。
16.根据权利要求12的方法,包含下述预备步骤在脱机方式下,对多个减少复杂性请求中的每一个,确定一个优选的分级规则,基于优选的规则,生成查询表[46]。
17.根据权利要求12的方法,其中所选择的分级规则至少包含一个分级功能,它能完成从包括下述内容组中选择的减少复杂性的功能减少功耗,减少存储容量,减少带宽以及减少处理能力。
18.一种存储在可记录介质上的程序产品,当运行时,对媒体管理器核[16]中的可分级解码器[24]进行本地资源控制,该程序产品包括程序代码,用于接收来自资源管理器[18]的复杂性请求[56],程序代码,基于收到的复杂性请求[56],从多个预先确定的分级规则中选择一个分级规则[50];以及程序代码,用于把选择的分级规则[50]传送到分级解码器[24]。
19.根据权利要求18的程序产品,还包括程序代码,用于分析从解码器[24]收到的数据[52];以及程序代码,用于在所分析的数据[52]突破预先确定的门限时,改变选定的分级规则。
20.根据权利要求18的程序产品,还包括一个查询表[46],它含有多个预先确定的分级规则。
21.根据权利要求20中的程序产品,其中,在查询表[46]中,多个预先确定的分级规则中的每一个规则,包含一条相关的复杂性请求。
22.根据权利要求18中的程序产品,其中,多个预先确定的分级规则包括从由下述内容组成的组中选择的分级功能自适应B帧分级,IDCT分级,嵌入式存储容量重置,运动补偿分级,以及PIP处理。
全文摘要
复杂性可分级的解码器系统和方法。该系统包括具有多个功能块的解码器,用于对压缩视频数据解码。解码器还包括多个分级功能,可以有选择地减少至少一个功能块的复杂性。本地资源控制器用于为解码器生成分级规则,其中,为响应来自系统资源管理器的复杂性请求而选择一个分级规则,再者,分级规则是从本地资源控制器可用的多个预先确定的规则中进行选择。在查询表中查找预先确定的分级规则,而查询表是在脱机状态下设计的。
文档编号H04N7/50GK1522541SQ02813469
公开日2004年8月18日 申请日期2002年6月28日 优先权日2001年7月6日
发明者彭少敏, A M 范宗, C·C·A·M·范宗, 钟准 申请人:皇家菲利浦电子有限公司