取决于帧类型的减小复杂性的视频译码的制作方法

文档序号:7525715阅读:168来源:国知局
专利名称:取决于帧类型的减小复杂性的视频译码的制作方法
技术领域
本发明总的涉及视频压缩,更具体地,涉及取决于帧类型的处理,它按照被处理的图象或帧的类型来执行不同类型的处理。
包含离散余弦变换(DCT)和运动预测的视频压缩是在多个国际标准(诸如在MPEG-1,MPEG-2,MPEG-4,和H.262)中采用的一种技术。在各种DCT/运动预测视频编码方案中,MPEG-2是在DVD、卫星DTV广播和数字电视的美国ATSC标准中最广泛地使用的。


图1显示MPEG视频译码器的例子。MPEG视频译码器是基于MPEG的用户视频产品的重要部件。这样的译码器的设计目标是使得复杂性最小化而同时保持良好的视频质量。
如图1所示,输入视频流首先传送到可变长度译码器(VLD)2,以便产生运动矢量和对于离散余弦变换(DCT)系数的指数。运动矢量被发送到运动补偿(MC)单元10。DCT指数被发送到逆向扫描和逆向量化(ISIQ)单元6,以便产生DCT系数。
而且,逆离散余弦变换(IDCT)单元6把DCT系数变换成象素。取决于帧类型(I,P或B),最终产生的图象或者进到直接视频输出(I),或者被加法器8添加到运动补偿的固定帧(anchor frame),然后送到视频输出(P和B)。当前译码的I或P帧被存储在帧存储器12作为用于译码以后的帧的固定帧。
应当指出,MPEG译码器的所有的部件按照输入分辨率(例如,高清晰度)来运行。这样的译码器所需要的帧存储器是HD帧的存储器的三倍,其中一个用于当前的帧,一个用于前向预测固定帧以及一个用于后向预测固定帧。如果HD帧的大小表示为H,则所需要的帧存储器的总的大小为3H。
视频缩放是可被利用于译码视频的另一个技术。这个技术被利用来对视频帧重新定尺寸或将视频帧缩放到显示尺寸。然而,在视频缩放中,不仅仅帧的尺寸改变,而且分辨率也改变。
一种被称为内部缩放的缩放类型首先由Hitachi(日立公司)在题目为“An SDTV Decoder With HDTV CapabilityAn ALL-Format ATVDecoder(具有HDTV能力的SDTV译码器全一格式ATV译码器)”,Proceedings of the 1994 IEEE International Conference ofConsumer E1ectronics的文章中公开介绍。还有一项题目为“LowerResolution HDTV Receiver(较低的分辨率的HDTV接收机)”的专利,1993年11月6日颁布的、转让给RCA Thompson Licensing的美国专利No.5,262,854。
上面提到的两个系统被设计用于HD压缩帧的标准清晰度(SD)显示,或作为过渡到HDTV的中间步骤。采取上述方案是由于HD显示器过高的成本,或主要是通过使它的各个部件以较低的分辨率工作从而减小HD视频译码器的复杂性。这种类型的译码技术被称为“全格式译码”(AFD),虽然这样的技术的目的不一定必须能够处理多视频格式。
本发明涉及取决于帧类型(FTD)的处理,其中不同类型的处理(包括缩放)按照被处理的图象或帧的类型(I,B或P)来执行。按照本发明,前向固定帧用第一算法进行译码。后向固定帧也用第一算法进行译码。B-帧则用第二算法进行译码。
而且,按照本发明,第二算法比起第一算法具有较低的计算复杂性。另外,第二算法比起第一算法可以利用较少的存储器来译码视频帧。
现在参照附图,相同的参考数字在全文中代表相应的部件图1是MPEG译码器的方框图;图2是显示不同的算法的例子的图;图3是带有外部缩放的MPEG译码器的方框图;图4是带有内部空间缩放的MPEG译码器的方框图;图5是带有内部频域缩放的MPEG译码器的方框图;图6是带有内部频域缩放的MPEG译码器的另一个方框图;图7是带有混合缩放的MPEG译码器的方框图;图8是按照本发明的取决于帧类型的处理的一个例子的流程图;以及图9是按照本发明的系统的一个例子的方框图。
本发明涉及取决于帧类型的处理,它按照被译码的视频帧的类型来使用不同的译码算法。图2显示可在本发明中利用的这种不同的算法的例子。正如可以看到的,算法被分类为外部缩放、内部缩放或混合缩放。
在外部缩放中,在译码环路外进行重新定尺寸。图3上显示包括外部缩放的译码算法的例子。正如可以看到的,除了外部缩放器14被放置在加法器8的输出端以外,这个算法是与图1所示的MPEG编码器相同的。所以,输入比特流首先如通常那样进行译码,然后被外部缩放器14缩放到显示器尺寸。
在内部缩放时,在译码环路内部进行重新定尺寸。然而,内部缩放可以进一步被分类为DCT域缩放或空间域缩放。
图4上显示包括内部空间缩放的译码算法的例子。正如可以看到的,下缩放器18被放置在加法器8与帧存储器12之间。因此,缩放是在进行用于运动补偿的贮存之前,在空间域中执行的。正如还可以看到的,上缩放器16也被放置在帧存储器12与MC单元之间。这使得来自MC单元的帧能够放大到当前被译码的帧的尺寸,这样,这些帧可被组合在一起。
图5-6中显示一种包括内部的DCT域缩放在内的译码算法的例子。正如可以看到的,下缩放器24被放置在VLD 2与MC单元26之间。因此,缩放是在逆DCT之前在DCT域中执行的。内部DCT域缩放还被划分成可执行4x4 IDCT的和可执行8x8 IDCT的一种缩放。图5的算法包括8x8 IDCT 20,而图6的算法包括4x4 IDCT 28。在图5上,分样单元22被放置在8x8 IDCT 20与加法器8之间。这使得从8x8 IDCT20接收的帧能够与来自MC单元26的帧的尺寸相匹配。
在混合缩放中,外部的和内部的缩放的组合被使用于水平和垂直方向。图7上显示包括混合缩放在内的译码算法的例子。正如可以看到的,垂直缩放器32被连接到加法器8的输出端,以及水平缩放器34被耦合在VLD 2与MC单元36之间。所以,这个算法在水平方向上利用内部频域缩放以及在垂直方向上利用外部缩放。
在图7的混合算法中,假设在两个方向上的2的缩放因子。因此,引入8x4 IDCT 30以便构成内部地执行水平缩放。而且,MC单元36通过提供在水平方向上的四分之一象素运动补偿和在垂直方向上的半个象素运动补偿,从而也构成内部缩放。
每个上述的译码算法具有不同的存储器和计算的功率要求。例如,对于外部缩放所需要的存储器大约是正常的MPEG译码器的存储器的三倍(3H),其中HD帧的尺寸表示为H。对于内部缩放所需要的存储器大约是正常的MPEG译码器的存储器的三倍(3H)除以缩放因子。在多数情况下,假设对于水平和垂直方向上的一个等于2的缩放因子。在这个假设下,内部缩放使用3H/4存储器,它与外部缩放相比,减小到1/4。
至于所需要的计算功率,它们之间的比较是较复杂的。虽然内部空间缩放减小所需要的存储器量,但是它实际上要使用更多的计算功率。这是由于它需要有用于贮存的下缩放和用于运动补偿的上缩放,它们都是在空间域执行的,因此具体用软件来实现它将是非常昂贵的。然而,当缩放和滤波被移到DCT域时,计算复杂性被大大地减小,因为用于空间滤波的卷积将被变换成DCT域中的乘法。
为了提高视频质量,诸如图3中的带有外部缩放的译码器是最佳的,因为译码环路是很完整的。与在编码器一侧的固定帧相比较,任何内部地执行一维或两维缩放的技术,都会改变用于运动补偿的固定帧,因此已译码的图象将偏离于“校正确的”图象。而且,由于以后的图象是根据不准确地译码的图象预测的,这个偏差不断增长。这个现象通常称为“预测偏移”,它使得输出的视频在质量上按照图象组(GOP)结构而改变。
在预测偏移中,视频质量对于内部图象(Intra Picture)从高开始,以及正好在下一个内部图象之前恶化到最低。视频质量具体地从一个GOP的最后的图象到下一个内部图象的这种周期性起伏,是特别恼人的。如果输入视频流是交织的,预测偏移和质量恶化的问题是严重的。
在所有的非混合内部缩放算法中间,空间缩放以较高的计算复杂性为代价而提供最好的质量。另一方面,频域缩放技术(特别是4x4IDCT变化方案),导致最低的计算复杂性,但质量恶化比起空间缩放更严重。
关于混合缩放算法,垂直缩放对质量恶化的影响最大。因此,包括内部水平缩放和外部垂直缩放的图7的混合算法提供非常好的质量。然而,由这种算法使用的存储器是全部存储器的一半,它是非混合内部缩放方案的两倍。而且,这种混合算法的复杂性的降低也不如频域缩放算法。
应当指出,图7的算法只是混合算法的一个例子。其他的缩放算法可被混合起来以便以不同方式处理视频的水平和垂直尺度。然而,取决于算法的组合,存储器和计算要求可能变化。
如前所述,本发明涉及取决于帧类型(FTD)的处理,其中不同类型的处理(包括缩放)按照被处理的图象或帧的类型(I,B或P)来执行。FTD处理的基础在于B图象的误差不传播到其他的图象,因为译码的B图象并不用作为用于其他类型的图象的固定帧,换句话说,因为I或P图象不依赖于B图象,B图象中的任何误差不扩散到任何其他图象。
鉴于上述的内容,按照本发明的FTD处理的概念是I和P图象通过利用更多的存储器和需要更多的计算功率的复杂性更高的算法,可以以更高的质量被处理。这使得I和P图象中的预测偏移最小化,以便提供更高质量的帧。而且,按照本发明,B图象通过利用较少的存储器和需要较少计算功率的较低复杂性的算法,将以较低的质量被处理。
在FTD处理中,因为被使用来预测B图象的I和P图象具有较好的质量,比起其中所有三种类型的图象都以相同的质量被处理的方案,B图象的质量也得以提高。所以,本发明把更多的存储器和处理功率放在对于总的视频质量最关键的图象上。
按照本发明,FTD图象处理跟与帧类型无关的(FTI)处理相比,可以节省存储器和计算功率。这个节省可以是静态的或动态的,这取决于存储器和计算功率分配是最坏情形还是自适应的。以下的讨论使用存储器节省作为例子,然而,同样的讨论对于计算功率节省也是正确的。
所使用的存储器按照被译码的图象类型而变化。如果I图象被译码,则只需要一个(可以是完全的或者是缩小的,这要取决于缩放的任选方案)帧缓存器。I图象放置在存储器中,用于译码以后的图象。如果P图象被译码,则需要两个帧缓存器,其中包括用于固定的(参考)帧(可以是I或P,取决于当前的P图象是否为GOP中的第一个P帧)和当前的帧。P图象放置在存储器中,并且连同先前的固定的帧一起用作为后向和前向参考帧,以便译码B图象。因此,译码B图象需要三个帧缓存器。
如上所述,所使用的存储器量是变化的,取决于被译码的图象的类型。这种存储器使用量变化的重要的意义是,如果存储器分配是最坏的情形,则需要三个帧缓存器,即使I和P图象只需要一个或两个帧缓存器。如果用于B图象的存储器由于某种原因被减小,则这个要求可以是宽松的。在自适应存储器分配的情形下,对于减小的B帧存储器使用,“曲线”的走向是向下的。
类似于存储器使用,B图象可能需要最大的计算功率来进行译码,因为可能要在两个固定帧上执行运动补偿,这与对于I帧不用在固定帧上执行运动补偿以及对于P帧需要在一个固定帧上执行运动补偿是不同的。所以,如果B图象处理被减小,则最大的(在最坏情形)或动态的处理功率要求可被减小。
图8上显示按照本发明的FTD处理的一个例子。通常,对于视频序列的FTD处理的事例流程是,I和P图象利用较复杂的/较好的质量算法按照复杂度C1和存储器使用量M1来译码,而B图象利用较不复杂的/较低的质量算法按照复杂度C2和存储器使用量M2来译码。应当指出,被处理的视频序列可以包括一个或多个图象组(GOP)。
在步骤42,前向固定帧利用具有复杂度C1的“第一选择”算法进行译码。这时,被译码的前向固定帧以X1的分辨率被存储,因此所使用的存储器是X1。而且,如果前向固定帧是一个闭合的GOP中的第一帧,则它将是I图象。否则,前向固定帧是P图象。
在步骤44,被译码的前向固定帧被输出,以用于在显示之前进一步处理。在步骤46,后向固定帧也利用具有复杂度C1的“第一选择”算法进行译码。这时,被译码的后向固定帧也以X1的分辨率被存储,因此所使用的存储器是X1+X1=2X1。而且,后向固定帧是P图象。
在步骤48,前向固定帧被下缩放成具有分辨率X2的显示器尺寸。这时,前向固定帧以X1或X2的分辨率被存储以用于运动补偿。由于假设X1>X2,以X2分辨率存储前向固定帧将节省存储器。如果前向固定帧以X2被存储以用于MC和输出,则所使用的存储器是X1+X2。如果前向固定帧以X1被存储以用于MC,则所使用的存储器是X1+X1=2X1。
在步骤50,在前向和后向固定帧之间的一个或多个B帧被译码和被输出。在步骤50,一个或多个B帧通过使用具有较低的复杂度C2的“第二选择”算法,利用X2分辨率前向固定帧和X1分辨率后向固定帧而被译码。因为“第二选择”算法具有较低的复杂度C2,B图象的质量将不如其他帧好,然而,对于译码B图象所必须的计算功率量也将是较少的。这时,译码的B帧以X2的分辨率被存储,因此所使用的总的存储器是X1+2X2。
在步骤52,当前的前向固定帧被输出以用于显示和进一步处理。而且,在步骤54,当前的后向固定帧变成为前向固定帧。这使得下一个后向固定帧和B帧能够被处理。
在步骤54后,处理具有多个选择。如果在序列中不再有帧留下要处理,则处理过程将进到步骤56以及退出。如果在同一个GOP中还有帧留下要处理,则处理过程将循环返回到步骤46。如果在当前的GOP中不再有留下的帧和下一个GOP不依赖于当前的GOP(闭合的GOP),则处理过程将循环返回到步骤42,以及开始处理下一个GOP。
从上述的按照本发明的FTD可以得出几个观点。由于固定帧总是以较好的质量被译码,在这些帧中出现较少的预测偏移。另外,由于X2<X1,对于B图象所使用的存储器或最大使用量将被减小。而且,由于B图象以较少的复杂度被译码,每帧的平均计算量被减小。
还应当指出,“第一选择”和“第二选择”算法可以用已知的或新开发的算法的多种不同的组合来实施。唯一的要求是“第二选择”算法应当比具有复杂度C1的“第一选择”算法具有较低的复杂度C2,以及使用较少的存储器。这样的组合的例子将包括图1的基本MPEG算法(它被用作为“第一选择”算法)和被用作为“第二选择”算法的图3-7的任一种算法。
其他组合将包括被用作为“第一选择”算法的图3的外部缩放算法,并且连同被用作为“第二选择”算法的图4-7中的算法。图7的混合算法也可被用作为“第一选择”算法,并且连同被用作为“第二选择”算法的图4-6中的算法。而且,其他组合也包括用于运动补偿的不同的滤波任选方案,诸如用作为“第一选择”算法的多相滤波,以及用作为“第二选择”算法的双线性滤波。
在图8的FTD处理的更详细的例子中,图7的混合算法是“第一选择”算法,以及图6的内部频域缩放算法是“第二选择”算法。在本例中,对于水平和垂直方向,假设缩放因子为2。
在步骤42,前向固定帧用具有C1的计算复杂度(混合复杂度)的混合算法被译码。这时,译码的前向固定帧以分辨率H/2被存储,因此这时所使用的存储器是H/2。在步骤44,译码的前向固定帧被输出。在步骤46,下一个后向固定帧也用具有C1的计算复杂度的混合算法被译码。这时,译码的后向固定帧也以分辨率H/2被存储,因此所使用的存储器是H/2+H/2=H。
在步骤48,前向固定帧被下缩放到H/4的分辨率。因此,前向固定帧以H/4或H/2被存储,以用于运动补偿。现在所使用的存储器是H/2+H/4=3H/4(前向固定帧以H/4被存储以用于运动补偿)或H/2+H/2=H(前向固定帧以H/2被存储以用于运动补偿)。
在步骤50,在前向和后向固定帧之间的一个或多个B帧被译码和被输出。在执行步骤50时,这一个或多个固定帧通过具有复杂度C2(小于C1)的内部频域缩放算法,用H/2分辨率后向固定帧和H/4或H/2分辨率前向固定帧被译码。这时,B帧以H/4的分辨率被存储,因此所使用的总的存储器是H/2+H/4+H/4=H(H/4前向固定帧)或H/2+H/2+H/4=5H/4(H/2前向固定帧)。
在步骤52,后向固定帧被输出,以及在步骤54,当前的后向固定帧变成为前向固定帧。如前所述,处理过程可以在步骤56退出,或循环回到步骤42或46。
对于以上的取决于帧类型的混合算法(FTD混合)所使用的存储器决不超过5H/4或H(取决于前向固定帧的分辨率),这跟与帧类型无关的混合算法的3H/2形成对照。FTD混合的计算节省只是针对于B图象的。对等于3的典型的M数值(每三个帧一个固定帧),每帧的平均计算量变成为(C1+2C2)/3,这与对于FTI混合的C1形成对照。
图9上显示其中可以实施按照本发明的FTD处理的系统的一个例子。例如,该系统可以代表电视机、机顶盒、桌上、膝上或掌上计算机,个人数字助理(PDA)、视频/图象贮存装置(诸如盒式磁带录像机(VCR)、数字视频录像机(DVR)、TiVO设备)等等,以及这些和其他设备的部分或组合。该系统包括一个或多个视频源62、一个或多个输入/输出设备70、处理器64和存储器66。
视频/图象源62可以代表例如电视接收机、VCR或其他视频/图象贮存设备。源62替换地可以代表一个或多个网络连接,用于通过例如全球计算机通信网(诸如互联网)、宽域网、城域网、局域网、地面广播系统、有线网、卫星网、无线网、或电话网以及这些和其他类型的网络的部分或组合接收来自服务器的视频。
输入/输出设备70、处理器64和存储器66通过通信媒体68进行通信。通信媒体68可以代表例如总线、通信网、电路、电路卡或其他装置的一个或多个内部连接,以及这些和其他通信媒体的部分和组合。来自源62的输入视频数据按照被存储在存储器64中的一个或多个软件程序被处理,以及由处理器66执行处理,以便产生输出的视频/图象,提供到显示装置72去。
在一个实施例中,应用了图8的FTD处理的译码操作是通过由系统执行的计算机可读的代码而实施的。代码可被存储在存储器66或从存储器媒体(诸如CD-ROM或软盘)中被读出/被下载。在其他的实施例中,可以使用硬件电路来代替软件指令或与其相组合,从而去实施本发明。
虽然本发明是对于具体的例子描述的,但应当看到,本发明并不打算限于这里所揭示的例子。例如,本发明是通过使用MPEG-2结构来进行描述的。然而,应当指出这里描述的概念和方法也可应用于任何DCT/运动预测方案,以及在更一般的意义上,可应用于其中允许具有不同的相互依从关系的图象类型的任何基于帧的视频压缩方案。所以,本发明意图覆盖被包括在附属权利要求的精神和范围内的各种结构和它们的修改。
权利要求
1.一种用于译码视频的方法,包括以下步骤用第一算法译码前向固定帧;用第一算法译码后向固定帧;以及用第二算法译码B帧。
2.权利要求1的方法,其中第二算法比起第一算法具有较低的计算复杂度。
3.权利要求1的方法,其中第二算法比起第一算法利用较少的存储器来译码视频帧。
4.权利要求1的方法,还包括把前向固定帧下缩放到一个减小的分辨率。
5.权利要求4的方法,还包括以减小的分辨率存储前向固定帧。
6.权利要求1的方法,还包括丢弃前向固定帧。
7.权利要求6的方法,还包括使得后向固定帧成为第二前向固定帧。
8.权利要求1的方法,其中前向固定帧或者是I帧,或者是P帧。
9.权利要求1的方法,其中后向固定帧是P帧。
10.一种包括用于译码视频的代码的存储器媒介,所述代码包括用第一算法译码前向固定帧的代码;用第一算法译码后向固定帧的代码;以及用第二算法译码B帧的代码。
11.一种用于译码视频的设备,包括存储器,用于存储可执行的代码;以及处理器,用于执行被存储在存储器中的代码,以便(i)用第一算法译码前向固定帧,(ii)用第一算法译码后向固定帧,以及(iii)用第二算法译码B帧。
全文摘要
本发明涉及取决于帧类型(FTD)的处理,其中不同类型的处理(包括缩放)按照被处理的图象或帧的类型(I,B或P)来执行。FTD处理的基础在于,由于译码的B图象不被用作为其他类型的图象的固定帧,B图象中的误差不传播到其他图象。换句话说,由于I或P图象不取决于B图象,B图象中的任何错误不会扩散到任何其他图象。所以,本发明把更多的存储器和处理功率放在对于总的视频质量最关键的图象上。
文档编号H03M7/30GK1425252SQ01808320
公开日2003年6月18日 申请日期2001年12月5日 优先权日2000年12月19日
发明者Y·陈, Z·钟 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1