具有选择性运动补偿的可缩放mpeg-2视频译码器的制作方法

文档序号:7717248阅读:240来源:国知局
专利名称:具有选择性运动补偿的可缩放mpeg-2视频译码器的制作方法
技术领域
本发明涉及译码压缩的视频信号,更具体地,涉及在MPEG-2视频译码器的运动补偿系统中用于缩放B图象的处理的系统和方法。
MPEG标准是由运动图象专家组(MPEG)开发的、用于视频和音频压缩的一系列演进的标准。MPEG-1被设计来用于编码约每秒150万比特的传输速率的逐行的视频。它是专门被设计来用于视频CD和CD-I媒介的。MPEG-2被设计来用于编码约每秒400万比特的传输速率的交织的视频。MPEG-2标准被使用于各种应用,诸如数字电视(DTV)广播,数字通用光盘(DVD)技术,和视频贮存系统。
按照MPEG-2标准,视频序列被划分成一系列GOP(图象组)。每个GOP从帧内编码的图象(I图象),后面接着安排前向预测编码的图象(P图象)和双向预测编码的图象(B图象)。I图象被场编码或帧编码为独立的静止图象。P图象相对于最靠近的I或P帧被场编码或帧编码,导致前向预测处理。通过使用运动补偿,P图象比起I图象允许更多的压缩,以及也用作为用于B图象和将来的P图象的参考。B图象用使用最相邻的过去的和将来的I和P图象作为参考的场或帧被编码,导致双向预测。
由于数字电视开始在电视机市场上逐渐占优势以及其他视频应用变为更想要的,对于具有处理MPEG-2图象的先进的能力的系统的要求变得越来越强烈。用于处理MPEG-2图象的当前出现的结构,诸如在DTV机顶盒和高端数字电视机中发现的结构,典型地利用数字信号处理中央处理器(DSPCPU),控制处理器,共处理器和软件应用。不幸地,即使用所有这些资源,先进的视频/视频处理功能比起通常可提供的设备往往消耗更多的计算功率。
MPEG-2处理中的一个关键的单元是MPEG-2译码器,它把压缩的MPEG-2数据流11变换成象素图象。

图1上显示标准MPEG-2译码器10的主要的部件。有四个功能块可变长度译码器(VLD)12,逆量化(IQ)系统14,逆离散余弦变换系统(IDCT)16和运动补偿(MC)系统18。存储器20被使用来存储参考帧。加法器22组合从IDCT 16输出的剩余误差与运动补偿结果,形成最后的视频输出24。不幸地,每个这些功能部件消耗大量的计算功率,这导致花费上升和限制数字视频系统使用MPEG-2技术的灵活性。因此,制作高效率、花费经济的译码器成为所有的电子制造商的主要目标之一。
对于解决MPEG-2译码器的处理要求的一个解决方案是提供专门化的硬件系统,其中增加计算功率。不幸地,在总的硬件成本不断下降的同时,在诸如这样的设计和构建专门的硬件方面的成本却增加译码器的花费。所以,优选的解决方案是在软件方面实施尽可能多的功能,它比起硬件解决方案能提供重大的成本和灵活性的优点。具体地,软件解决方案减小对于昂贵的硬件,诸如共处理器,的需要,以及将允许多个视频功能同时在DSPCPU上运行。然而,在需要计算强度大的应用时软件应用在处理事务时往往运行得太慢。因此,有需要提供增强的软件系统,它提供便宜的MPEG-2译码器解决方案,而同时保持可接受的视频质量水平。
本发明通过提供一个其中B图象处理的复杂性由可缩放的运动补偿系统缩放的译码系统,而克服上述问题以及其他问题。第一方面,本发明提供用于处理运动补偿系统中的B图象的方法,包括以下步骤把B图象中的每个宏块的运动矢量幅度与预定的门限值进行比较;对于其中运动矢量幅度大于预定门限值的每个宏块执行常规的译码运行;以及对于其中运动矢量幅度小于或等于预定门限值的每个宏块,从参考图象复制相应的宏块。
第二方面,本发明提供用运动补偿系统处理邻接的B图象的方法,包括以下步骤计算对于第一B图象的平均运动矢量幅度;以及如果第一B图象的平均运动矢量幅度小于或等于预定门限值,则用第一B图象代替下一个邻接的B图象。
第三方面,本发明提供被存储在可读的媒介上的、在执行时用于处理运动补偿系统中的B图象的程序产品,包括用于把B图象中的每个宏块的运动矢量幅度与预定的门限值进行比较的系统;用于对于其中运动矢量幅度大于预定门限值的每个宏块执行常规的译码运行的系统;以及用于对于其中运动矢量幅度小于或等于预定门限值的每个宏块,从参考图象复制相应的宏块的系统。
第四方面,本发明提供被存储在可读的媒介上的、在执行时用于处理在运动补偿系统中邻接的B图象的程序产品,包括用于计算对于第一B图象的平均运动矢量幅度的系统;以及用于如果平均运动矢量幅度小于或等于预定门限值,则用第一B图象代替下一个邻接的B图象的系统。
第五方面,本发明提供具有运动补偿系统的译码器系统,其中运动补偿系统包括用于把B图象中的每个宏块的运动矢量幅度与预定的门限值进行比较的系统;用于对于其中运动矢量幅度大于预定门限值的每个宏块执行常规的译码运行的系统;以及用于对于其中运动矢量幅度小于或等于预定门限值的每个宏块,从参考图象复制相应的宏块的系统。
第六方面,本发明提供具有运动补偿系统的译码器系统,其中运动补偿系统包括用于计算对于第一B图象的平均运动矢量幅度的系统;以及用于如果平均运动矢量幅度小于或等于预定门限值,则用第一B图象代替下一个邻接的B图象的系统。
第七方面,本发明提供具有运动补偿系统的译码器系统,其中运动补偿系统包括用于计算对于参考图象的平均运动矢量幅度的系统;以及用于如果平均运动矢量幅度小于或等于预定门限值,则用参考图象代替B图象的系统。
因此,本发明的优点是提供在视频处理系统中用于缩放B图象的处理的系统。
另一个优点是提供用于有效地缩放译码器内的运动补偿系统而同时保持可接受的输出质量水平的系统和方法。
此后结合附图描述本发明的优选的示例性实施例,其中相同的符号表示相同的单元,以及图1显示视频译码器的功能图。
图2显示具有可缩放的运动补偿系统的视频译码器的功能图。
图3显示按照本发明的优选实施例的、具有第一和第二缩放系统的运动补偿系统的功能图。
参照图2,图上显示可缩放的MPEG-2译码器50。可缩放的MPEG-2译码器50包括具有缩放系统29的运动补偿系统19(下面更详细地描述),它由系统复杂性要求27指挥。如上所述,在MPEG-2标准中,有三种类型的图象I,P和B,以及在被称为图象组(GOP)的单元内被编码。从MPEG-2译码系统看来,I图象只需要沿着第一处理路径(PATH 1)进行译码,它译码编码的象素数据。对于译码P和B图象,存在两条处理路径。具体地,第一处理路径(PATH 1)译码编码的预测剩余误差以及第二处理路径(PATH 2)译码运动补偿结果。这两条路径的组合给出最后的译码的象素输出。
本发明提供用于选择地减小(即,缩放)由典型的译码器所需要的计算资源的缩放系统29。为了达到这一点,考虑三个重要因素。首先,实验表明,对于译码典型的I,P或B图象,大于30%的计算资源被运动补偿系统使用。因此,重大的计算节省可通过缩放运动补偿系统19而潜在地达到。
其次,在三种图象中,B图象提供最好的缩放机会,因为B图象不贡献误差积累和传播。也就是,B图象不影响以后的图象的质量。替换地,在对于I和P图象(即,参考图象),如果预测不精确,则预测偏移积累,以及将传播到以后的图象。因此,不像B图象,在I和P图象中造成的任何误差可以对于以后的图象造成关键的结果。
第三,B图象是计算上最复杂的类型的图象。因此,B图象的缩放提供最大的潜在计算节省。
给出以上的因素后,本发明提供用于缩放在运动补偿系统19内的B图象处理的缩放系统29,以便节省资源,而同时保持可接受的总的质量恶化的水平。
参照图3,图上更详细地显示可缩放的运动补偿系统19。运动补偿系统19包括具有第一和第二缩放系统30和31的缩放系统,用于缩放B图象的处理。应当看到,两个系统301和31可以一起地、分开地、或与其他缩放系统相组合地被实施。另外,虽然优选实施例是参照MPEG-2译码器描述的,但应当看到,本发明可应用于任何类型的视频编码系统。
第一缩放系统30在宏块(MB)级别上缩放B图象的处理。正如技术上公知的,MPEG-2编码方案中每个图象由多个宏块组成,它们在译码运行期间被单独地处理。另外,每个宏块通常包括运动矢量,它通过指向参考图象的宏块使得易于实行数据压缩。第一缩放系统30利用比较系统34来比较每个宏块的运动矢量的幅度与预定的门限值32,以便确定应当任何处理该宏块。如果当前的宏块的运动矢量小于或等于预定门限值32,则当前的宏块不被译码。而是,来自参考图象的相应的宏块由MB复制系统36被检索,由此消除处理当前的宏块的需要。因此,系统30仅仅使用先前的宏块的已经译码的版本。替换地,如果运动矢量大于预定的门限值32,则用常规的译码程序过程38处理该宏块(例如,相应的参考MB从存储器21中被获取,以及MB被译码)。
假设宏块i具有运动矢量 令Tv代表预先选择的门限。第一缩放系统30可实施用于B图象的可缩放性的以下的法则如果 不译码当前的B MB,以及不从参考存储器中获取相应的MB,复制先前的帧的MB。
如果 进行常规译码。
在这样的公式下,复杂性程度可被估计为如下。假设(M,N)的GOP尺寸,其中N是GOP中图象的数目,M-1是在参考帧(I和P)之间的B图象的数目。令Cj代表每个图象对于图1的通用译码器所需要的平均计算功率(复杂性程度),其中j表示VLD 12、IQ 14、IDCT 16、MC 18和加法器22。对于通用译码器10,在一个GOP内每个图象的平均复杂度,表示为Cg,被估计为Cg=CVLD·N+CIQ+IDCT·N+CMC·NP+B+Cadder·NP+BN]]>令Cs代表具有建议的方案的MPEG-2译码器50的复杂性程度,以及α是译码的宏块数对宏块的总数的比值。则平均复杂性程度变为Cs=CVLD·N+CIQ+IDCT·(Cl+P+αNB)+CMC·(NP+αNB)+Cadder·(NP+αNB)N]]>如果假设Cg=1,则Cs=1-NBN(1-α)(CIQ+IDCT+CMC+Cadder)]]>对于N=15和M=3,NB=10。所以,如果α=0.5,它表示50%的B图象被译码,则Cs=1-13(CIQ+IDCT+CMC+Cadder)]]>如果CIQ+IDCT+Cadder≈30%和CMC≈35%(在MPEG-2译码器链中合理的假设),则Cs≈78%,它是总的非缩放的复杂性度的78%。
显然,使用第一缩放系统30对于存储器带宽是非常有利的。在图象/视频处理相关的集成电路中,处理带宽是极重要的。大多数利用的存储器结构是共享的存储器结构,由于从存储器接入的大量图象/视频数据,它的运行经常出现阻塞状态。对于建议的系统30,从共享存储器请求的数据少得多,由此节省带宽。
第二缩放系统31可被实施来补充第一缩放系统30,或作为独立的缩放系统单独地被实施。通常,当运动补偿系统19处理多个接连的P图象时,即,当多个B图象处在参考(I和P)图象之间时,第二缩放系统31被利用。在处理当前的B图象之前,第二缩放系统31利用计算系统42检验先前的B图象的平均矢量幅度。然后,比较系统被利用来确定平均矢量幅度是否低于预定的门限值40(表示低的活动性)。如果先前的B图象的平均矢量幅度小于门限值,则通过使用图象代替系统46,用先前的B图象代替当前的B图象。应当看到,图象代替系统46并不需要实际执行存储器复制运行。而是由于先前的B图象已处在存储器缓存器中(从先前的B图象处理运行),系统46可以仅仅参考在存储器缓存器中的先前的B图象。
替换地,如果先前的B图象的平均矢量幅度大于门限值(表示高的活动性),则可以利用预定的处理运行48。预定的处理运行48可包括任何类型的译码,以及可包括第一缩放系统30,常规的译码运行38,或某些其他缩放运行。
下面描述其中第二缩放系统31被实施来补充第一缩放系统30的情形。如上所述,为了第二缩放系统要被实施,必须有邻接的B图象流,即,M>2,表示在参考图象之间有很大数目的B图象。在两个参考图象之间的第一B图象通过预定的处理运行48被译码。以后的B图象被如下地译码假定在预先解码的B图象Bp中有L个宏块。通过将各宏块的各矢量幅度求和并除以L算出先前B图象的平均矢量幅度。预定的阈值Tave被用作Bp的运动测量,这样,当前的B图象被判断为(1)预定义解码,或从Bp中复制。上述判断依据以下公式
使用这个公式,总的复杂度可被如下地估计。在一个GOP内的B图象的总数,ξB,被估计为 如果β代表使用第一缩放系统30的ξB个B图象(即,不被复制的图象)的分数,则总的复杂度被估计为Cs=1-NBN(1-β)(CVLD+CIQ+IDCT+CMC+Cadder)]]>使用与以上给予第一缩放系统30所示的相同的例子,以及假设β=0.5,则每个图象的总的复杂度将为Cs=1-13(CVLD+CIQ+IDCT+CMC+Cadder)]]>如果CIQ+IDCT+Cadder≈30%,CMC≈35%和CVLD≈35%(在MPEG-2译码器链中合理的假设),则Cs≈66%,它是总的复杂度的66%。
正如将预期的,当第二缩放系统31与第一缩放系统30相组合时,甚至可以得到更多的复杂性节省。从两个系统节省的复杂度可被使用于其他更需要的计算。特别有利地指出,从跳过整个B图象计算(第二缩放系统31)节省的计算功率是很大的。这样的节省可以容易地被重新引导到更紧迫的后处理运行。
在另一个实施例中,第二缩放系统31可被实施来检验参考图象,确定如何处理B图象。具体地,平均矢量幅度计算系统42可检验参考图象的平均矢量幅度。如果平均矢量幅度小于或等于预定的门限值,则B图象可以被参考图象代替。通过使用这个方法,在参考图象后的第一B图象的处理也可被缩放,进一步节省资源。
应当看到,运动补偿系统19以及第一和第二缩放系统30和31可以用硬件、软件或硬件和软件的组合实施。它们可以通过任何类型的计算机系统,或适合于实行这里描述的方法的其他设备来实施。硬件和软件的典型的组合可以是具有计算机程序的通用计算机系统,这些计算机程序被装载和被执行时,控制计算机系统,以使得它实行这里描述的方法。替换地,可以利用包含用于实行本发明的一个或多个功能性任务的专门化硬件的专用计算机。本发明也可被嵌入在计算机程序产品中,它包括使能实施这里描述的功能的方法的所有的特性,以及在它被装载到计算机系统时,能够实行这些方法和功能。计算机程序、软件程序、程序、程序产品或软件,在本方面的装置中,打算使得具有信息处理能力的系统直接地或在以下任一个运行以后或在二者以后执行特定的功能的一组指令以任何语言、代码或符号的任何表示式(a)变换到另一种语言、代码或符号;(b)以不同的材料显示重新产生。
本发明的优选实施例的以上的说明是为了说明和描述而给出的。它们并不是穷举的或用于将本发明限制为所揭示的精确的形式,显然,从以上的教导看来,可能有许多修正和变化。这样的修正和变化对于本领域技术人员是明显的,以及打算被包括在由所附权利要求规定的本发明的范围内。例如,虽然这里提供的说明总的涉及到MPEG-2译码器,应当看到,本发明可被应用于任何处理B图象的、基于小波或基于运动的编码方案(或它们的等价物)。这样的方案的例子包括,但不限于,MPEG-1,MPEG-2,MPEG-4,H.26L,H.261和H.263。
权利要求
1.一种用于译码运动补偿系统中[19]的B图象的方法,包括以下步骤把B图象中的每个宏块的运动矢量幅度与预定的门限值[32]进行比较;对于其中运动矢量幅度大于预定门限值[32]的每个宏块执行常规的译码操作;以及对于其中运动矢量幅度小于或等于预定门限值[32]的每个宏块,从参考图象复制相应的宏块。
2.权利要求1的方法,其中执行常规的译码运行的步骤包括从参考存储器中获取相应的宏块。
3.权利要求1的方法,其中运动补偿系统[19]是MPEG-2译码器[50]的一部分。
4.权利要求1的方法,其中下一个邻接的B图象通过使用以下步骤被处理从先前的B图象计算平均运动矢量幅度;以及如果平均运动矢量幅度小于或等于第二预定门限值[40],则用先前的B图象代替下一个邻接的B图象。
5.权利要求4的方法,还包括以下步骤如果平均运动矢量幅度大于第二预定门限值[40],则使用权利要求1的比较、执行和复制步骤来处理下一个邻接的B图象。
6.权利要求4的方法,其中平均运动矢量幅度是通过把每个宏块的运动矢量幅度相加和被除以宏块的数目而被计算的。
7.一种用运动补偿系统[19]译码接连的B图象的方法,包括以下步骤使用预定的处理操作译码第一B图象;计算第一B图象的平均运动矢量幅度;以及如果平均运动矢量幅度小于或等于预定门限值[32],则用第一B图象代替下一个接连的B图象。
8.权利要求7的方法,包括另一个步骤;如果平均运动矢量幅度大于预定门限值[32],则使用预定的处理操作处理下一个邻接的B图象。
9.一种被存储在可读的媒介上的、在执行时用于处理运动补偿系统中的B图象的程序产品,包括用于把B图象中的每个宏块的运动矢量幅度与预定的门限值[32]进行比较的系统[34];用于对于其中运动矢量幅度大于预定门限值[32]的每个宏块执行常规的译码运行的系统[38];以及用于对于其中运动矢量幅度小于或等于预定门限值[32]的每个宏块,从参考图象复制相应的宏块的系统[36]。
10.权利要求9的程序产品,其中执行常规的译码运行从参考存储器[21]中获取相应的宏块。
11.权利要求9的程序产品,其中运动补偿系统[19]是MPEG-2译码器[50]的一部分。
12.权利要求9的程序产品,还包括用于处理接连的B图象的系统,包括用于从第一B图象计算平均运动矢量幅度的系统[42];以及用于如果平均运动矢量幅度小于或等于第二预定门限值[40],则用第一B图象代替第二邻接的B图象的系统[46]。
13.权利要求12的程序产品,还包括用于如果平均运动矢量幅度大于第二预定门限值[40],则使用比较、执行和复制系统来处理第二B图象的系统。
14.权利要求12的程序产品,其中平均运动矢量幅度是通过把每个宏块的运动矢量幅度相加和被除以宏块的数目而被计算的。
15.被存储在可读的媒介上的、在执行时用于处理在运动补偿系统[19]中邻接的B图象的程序产品,包括用于计算第一B图象的平均运动矢量幅度的系统[42];以及用于如果平均运动矢量幅度小于或等于预定门限值[40],则用第一B图象代替下一个邻接的B图象的系统[46]。
16.权利要求15的程序产品,还包括用于如果平均运动矢量幅度大于预定门限值,则使用预定的处理运行处理下一个邻接的B图象的系统。
17.具有运动补偿系统[19]的译码器系统[50],其中运动补偿系统[19]包括用于把B图象中的每个宏块的运动矢量幅度与预定的门限值[32]进行比较的系统[34];用于对于其中运动矢量幅度大于预定门限值[32]的每个宏块执行常规的译码操作的系统[38];以及用于对于其中运动矢量幅度小于或等于预定门限值[32]的每个宏块,从参考图象复制相应的宏块的系统[36]。
18.权利要求17的译码器系统[50],其中执行常规的译码操作从参考存储器中获取相应的宏块。
19.权利要求17的译码器系统[50],其中译码器系统是MPEG-2译码器。
20.权利要求17的译码器系统[50],其中运动补偿系统[19]还包括用于处理接连的B图象的系统[31],用于处理接连的B图象的系统包括用于从第一B图象计算平均运动矢量幅度的系统[42];以及用于如果平均运动矢量幅度小于或等于第二预定门限值,则用第一B图象代替第二邻接的B图象的系统[46]。
21.权利要求20的译码器系统[50],其中运动补偿系统[19]还包括用于如果平均运动矢量幅度大于第二预定门限值[40],则使用比较、执行和复制系统来处理第二B图象的系统[30]。
22.一种具有运动补偿系统[19]的译码器系统[50],其中运动补偿系统包括用于计算对于第一B图象的平均运动矢量幅度的系统[42];以及用于如果平均运动矢量幅度小于或等于预定门限值,则用第一B图象代替下一个邻接的B图象的系统[46]。
23.权利要求22的译码器系统,其中运动补偿系统[19]还包括用于如果平均运动矢量幅度大于预定门限值[40],则使用预定的处理运行处理下一个邻接的B图象的系统[48]。
24.具有运动补偿系统[19]的译码器系统[50],其中运动补偿系统包括用于计算对于参考图象的平均运动矢量幅度的系统[42];以及用于如果平均运动矢量幅度小于或等于预定门限值[40],则用参考图象代替B图象的系统[46]。
25.权利要求24的译码器系统[50],其中运动补偿系统[19]还包括用于如果平均运动矢量幅度大于预定门限值[40],则使用预定的处理运行处理B图象的系统[48]。
26.权利要求24的译码器系统[50],其中平均运动矢量幅度是通过把每个宏块的运动矢量幅度相加和被除以宏块的数目而被计算的。
全文摘要
一种译码器系统具有运动补偿系统,它缩放B图象的处理,以便节省计算资源。运动补偿系统具有第一缩放系统,包括用于把B图象中的每个宏块的运动矢量幅度与预定的门限值进行比较的系统;用于对于其中运动矢量幅度大于预定门限值的每个宏块执行常规的译码运行的系统;以及用于对于其中运动矢量幅度小于或等于预定门限值的每个宏块,从参考图象复制相应的宏块的系统。运动补偿系统具有第二缩放系统,包括用于计算对于第一B图象的平均运动矢量幅度的系统;以及用于如果平均运动矢量幅度小于或等于预定门限值,则用第一B图象代替下一个邻接的B图象的系统。第二缩放系统还可包括用于计算对于参考图象的平均运动矢量幅度的系统;以及用于如果平均运动矢量幅度小于或等于预定门限值,则用参考图象代替B图象的系统。
文档编号H04N7/46GK1460383SQ02800940
公开日2003年12月3日 申请日期2002年3月15日 优先权日2001年3月29日
发明者S·彭, M·范德沙尔 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1