用于可伸缩视频编码和解码的方法和设备的制作方法

文档序号:7507298阅读:237来源:国知局
专利名称:用于可伸缩视频编码和解码的方法和设备的制作方法
技术领域
本发明总的来说涉及视频压缩,尤其是,涉及根据限定的时间级顺序的具有通过运动补偿时间滤波的时间可伸缩性(scalab)的视频编码。
背景技术
包括互联网的信息通信技术的发展导致视频通信的增长。然而,消费者对现有基于文本的通信方案并不满意。为了使消费者满意,包含多种包括文本、图像和音乐等的信息的多媒体数据被越来越多地提供。多媒体数据通常较庞大,从而其需要具有大容量的存储介质。而且,为了传输多媒体数据需要宽带。例如,具有640×480分辨率的24位真彩色图像需要每帧640×480×24的容量,换句话说,大约7.37Mbits的数据。在这点上,需要大约1200Gbits的带宽以便以30帧/秒传输此数据,并且需要大约1200Gbits的存储空间以便存储具有90分钟长度的电影。考虑到这点,在传输包括文本、图像或声音的多媒体数据时使用压缩编码方案是必须的。
数据压缩的基本原理是消除数据间的冗余。数据冗余是指三种冗余空间冗余、时间冗余和感觉-视觉(perceptional-visual)冗余。空间冗余指的是在图像中相同的色彩或对象的重复,时间冗余指的是在运动图像帧中的相邻帧间没有或极少变化或音频中的相同声音的连续重复,并且感觉-视觉冗余指的是人的视觉和感觉对于高频率的迟钝。通过消除这些冗余,数据可被压缩。数据压缩的类型可分为取决于源数据是否丢失的有损/无损压缩、取决于数据是否相对于每一帧而被独立压缩的帧内/帧间压缩、月月角取决于数据的压缩和恢复是否需要相同的时间周期的对称/非对称压缩。此外,当压缩和解压缩中的整个端到端延迟时间不超过50ms时,这被称作实时压缩。当帧具有多种分辨率时,这被称作可伸缩压缩。无损压缩主要用于压缩文本数据或媒体数据,并且有损压缩主要用于压缩多媒体数据。另一方面,帧内压缩通常用于消除空间冗余,并且帧间压缩用于消除时间冗余。
用于传输多媒体数据的各种传输媒介依照介质具有不同的容量。当今使用的传输媒介具有多种传输速率,覆盖了能够每秒传输数十Mbits数据的超高速通信网络、具有每秒384kbits传输速率移动通信网络等。在传统视频编码算法,例如MPEG-1、MPEG-2、H.263或H.264中,通过基于运动补偿预测编码方案的运动补偿来消除时间冗余,并且通过变换编码方案来消除空间冗余。这些方案在压缩中具有较好性能,但是,因为方案的主算法采用递归方法,所以它们对于真正的可伸缩比特流不太具有灵活性。为此,最近的研究集中在基于小波的可伸缩视频编码上。可伸缩视频编码指的是具有可伸缩性的视频编码,可伸缩性的特性使部分压缩的比特流可被解码。由于该特性,可从比特流获得不同的视频。术语“可伸缩性”在此用于总地指可用于控制视频分辨率的特定可伸缩性、可用于控制视频质量的信噪比(SNR)可伸缩性和可用于控制视频的帧速率的时间可伸缩性,及其组合。
在用于基于小波的可伸缩视频编码方案中的众多技术中,由Ohm(J.R.Ohm,“Three-dimensional subband coding with motion compensation,”IEEETrans.Image Proc.,Vol.3,No.5,Sept.1994)提出的并由Choi和Wood(S.J.Choi and J.W.Woods,“Motion compensated 3-D subband coding of video,”IEEE Trans.Image Proc.,Vol.8,No.2,Feb.1999)改进的运动补偿时间滤波(MCTF)是用于消除时间冗余,并执行具有时间灵活性的可伸缩视频编码的核心技术。在MCTF中,以图像组(GOP)为基础执行编码操作,并且在运动方向上对成对的当前帧和参考帧进行时间滤波。参照图1a,此技术将被更详细地描述。
图1a显示在采用MCTF方案的可伸缩视频编码和解码处理中的时间分解。
在图1a中,L帧表示低频或平均帧,并且H帧表示高频或差别帧。如其中所示,为了执行编码处理,对最低时间级上的帧对进行第一时间滤波,以因此将在低时间级的帧变换为在较高时间级的L帧和H帧,并且对被变换的L帧对再次进行滤波并将其变换为在较高时间级的帧。编码器通过使用在最高级的L帧和经过小波变换的H帧来产生比特流。以图1a中的较暗颜色标记的帧表示它们被小波变换。时间级顺序从在较低级的帧向在较高级的帧进行。解码器通过操作通过以从在较高级的帧向在较低级的帧的顺序进行的逆小波变换而获得的较暗颜色的帧来恢复帧。通过使用在第三时间级的L帧和H帧来恢复两个在第二时间级的L帧并且通过使用在第二时间级的两个L帧和两个H帧来恢复在第一时间级的四个L帧。最后,通过使用在第一时间级的四个L帧和四个H帧来恢复八个帧。采用原始MCTF方案的视频编码具有时间上灵活的可伸缩性,但是其具有一些缺点,诸如单方向运动高级性能较差和在低时间速率时质量较低等。已有一些尽力改进这些缺点的研究。它们中的一个是由Turaga和mihaela(D.S.Turaga and Mihaela van der Schaar,“Unconstrained motion compensated temporal filtering,”ISO/IECJTC1/SC29/WG11,MPEG03/M8388,2002)提出的非限定MCTF(UMCTF)。将参照图1b描述UMCTF。
图1b显示在采用UMCTF方案的可伸缩视频编码和解码处理中的时间分解。
在UMCTF方案中,可用多个参考帧和双向滤波,因此提供更通用的结构。另外,通过使用未被滤波帧(A帧)的适当的插入,可在UMCTF方案方案中进行非二元时间滤波。因为由于缺乏准确的运动估计而导致L帧的视觉质量有时严重下降,所以A帧的使用在较低的时间级上改善了视觉质量,以代替被滤波的L帧。在过去的研究中,很多实验结果显示没有更新步骤(update-step)的UMCTF具有比原始MCTF更好的性能。因此,尽管UMCTF的最通用格式允许适应性选择低通滤波器,但是通常使用没有更新步骤的UMCTF的特定格式。
很多诸如视频会议的需要低端到端延迟的应用需要低编码侧延迟以及低解码侧延迟。由于MCTF和UMCTF二者都从最低时间级上的帧进行分析,编码侧延迟应该和GOP的大小一样长。然而,具有等于GOP大小的延迟的视频编码对于很多实时应用来说实际上是不可接受的。尽管我们知道UMCTF可通过限制未来参考帧的数量来降低延迟需求,但是没有明确的用于控制端到端延迟的解决方案。另外,没有提供编码侧时间可伸缩性,为此,视频编码不能在任一时间级上停止并且不能传输比特流。然而,编码侧时间可伸缩性对实时双向视频流应用是很有用的。换句话说,当在编码处理中操作不能进行时,在当前时间级上的操作应该被挂起并且应该即时传输比特流。传统方案在这点上有缺陷。
考虑到上述问题,需要对视觉质量产生相对较小影响的并且能够控制端到端延迟以便提供低端到端延迟的视频编码算法。另外,需要用于提供从最高时间级到最低时间级的时间结构的视频编码算法,以便允许编码侧和解码侧二者具有时间可伸缩性。

发明内容
因此,提出本发明以满足上述需要。本发明的一方面在于提供视频编码和解码方法和设备,其中,端到端延迟时间可被控制,并且编码器侧具有时间可伸缩性。
根据本发明的示例性实施例,一种用于视频编码的方法包括从构成输入的视频序列的多个帧中以限定的时间级顺序消除时间冗余,以及通过量化从其时间冗余已被消除的帧中获得的变换系数来产生比特流。
在消除步骤中输入的帧可以是在通过小波变换之后其空间冗余已被消除的帧。
在产生步骤中的变换系数可通过执行其时间冗余已被消除的帧的空间变换而被获得。空间变换基于小波变换而被执行。
帧的时间级可具有二元体系结构。
限定的时间级顺序可以是在最高到最低的时间级上的帧的顺序和具有在相同的时间级中最低到最高指数的帧的顺序。限定的时间级顺序基于GOP大小而被周期性重复。此刻,最高时间级上的帧具有在构成GOP的帧中的GOP的最低帧指数。
基于GOP执行时间冗余的消除,其中,在GOP中的最高时间级上的第一帧被编码为I帧,随后根据限定的时间级顺序从各个剩余帧消除时间冗余,并且对于此消除,剩余帧的每一个均涉及在高于其自身的时间级上的一个或多个参考帧,或涉及在等于其自身的时间级上的帧中的其帧指数低于其自身的一个或多个参考帧。在具有高于它们自身的时间级的一个或多个帧之中,涉及从各个帧中消除时间冗余的参考帧可以包括其指数差最小的一个或两个帧。
在时间冗余消除处理中每一帧涉及的参考帧还包括它们本身(当前在滤波处理中的帧)。当前在滤波处理中的帧被编码为其中当前在滤波处理中的帧涉及在时间冗余消除处理中的它们自身的比率大于预定值的I帧。
在时间冗余消除处理中涉及的参考帧还可包括在下一GOP中的一个或多个帧,所述帧的时间级高于当前在滤波处理中的帧的每一个。
限定的时间级顺序根据编码模式而被确定。根据编码模式而被确定的限定的时间级顺序在相同的编码模式下基于GOP而周期性地重复。在构成GOP的帧中的最高时间级上的帧可具有最低帧指数。
在产生步骤中,关于编码模式的信息被加入比特流。
在产生步骤中,关于空间消除和时间消除的顺序的信息被加入比特流。
编码模式根据端到端延迟参数D而被确定,其中限定的时间级顺序以这样的方式进行,即,从在具有与还未被时间滤波的最低时间级上的帧相比不超过D的帧指数的帧之中的最高时间级上的帧向最低时间级上的帧,并且从相同时间级上的最低指数的帧向最高指数的帧进行。基于GOP执行对时间冗余的消除,其中,在GOP中的最高时间级上的第一帧被编码为I帧,随后根据限定的时间级顺序从各个剩余帧消除时间冗余,并且对于此消除,剩余帧的每一个涉及高于其自身的时间级上的一个或多个参考帧,或涉及在等于其自身的时间级上的帧之中其指数低于其自身的一个或多个参考帧。涉及从各个帧中消除时间冗余的参考帧优选地包括在具有高于它们自身的时间级的一个或多个帧之中的一个或两个其指数差最小的帧。
在GOP内的最高时间级上的帧具有最低帧指数。
在时间冗余消除处理中,每一帧所涉及的一个或多个参考帧包括它们自身。当前在滤波处理中的帧被编码为其中当前在滤波处理中的帧在时间冗余处理中涉及它们自身的比率超过预定比率值的I帧。
在时间冗余消除处理中涉及的参考帧还包括在下一GOP上的一个或多个帧,所述帧的时间级高于当前在滤波处理中的帧的每一个并且其到当前在滤波处理中的帧的每一个的时间距离在D之内。
根据本发明的示例性实施例,一种视频编码器包括时间变换单元,用于从多个输入的帧中以限定的时间级顺序消除时间冗余;空间变换单元,用于从帧中消除空间冗余;量化单元,用于量化在消除时间冗余和空间冗余的处理中获得的变换系数;以及比特流产生单元,通过使用量化的变换系数产生比特流。
视频时间变换单元消除帧的时间冗余并且将其时间冗余已被消除的帧传输到空间变换单元,随后空间变换单元消除其时间冗余已被消除的帧的空间冗余,并且因此获得变换系数。此时,空间变换单元通过小波变换消除帧的空间冗余。
空间变换编码器通过小波变换消除帧的冗余并且将其空间冗余已被消除的帧传输到时间变换单元,随后时间变换单元消除其空间冗余已被消除的帧的时间冗余,并且因此获得变换系数。
时间变换单元包括运动估计单元,用于从多个输入的帧获得运动矢量;时间滤波单元,通过使用运动矢量,从多个输入的帧以限定的时间级顺序进行时间滤波;以及模式选择单元,用于确定限定的时间级顺序。模式选择单元选择的限定的时间级顺序基于GOP大小的周期功能。
模式选择单元确定最高到最低时间级上的帧的和在相同时间级中的最小到最大帧指数的帧的限定的时间级顺序。由模式选择单元确定的限定的时间级顺序可基于GOP大小而被周期性地重复。
模式选择单元通过参照延迟控制参数D而确定限定的时间级顺序,其中,限定的时间级顺序是在与其时间冗余未被消除的最低级上的帧相比不超过D的指数的帧之中的最高到最低时间级上的帧的顺序,和在相同的时间级中的最小到最大帧指数的帧的顺序。
根据由模式选择单元选择的限定的时间级顺序,时间滤波单元基于GOP消除时间冗余,其中,GOP内的最高时间级上的帧被编码为I帧,随后从各个剩余帧消除时间冗余,并且对于此消除,剩余帧的每一个均涉及比其自身高的时间级上的一个或多个参考帧,或涉及在等于其自身的时间级上的帧之中其指数低于其自身的一个或多个参考帧。涉及从帧中消除时间冗余的参考帧包括在高于当前滤波帧的时间级上的一个或多个帧之中具有与当前在滤波处理中的帧相比的最小指数差的一个或两个帧。
GOP内的最高时间级上的帧具有最低时间帧指数。
时间滤波单元还包括当从当前滤波的帧中消除时间冗余时涉及参考帧的当前在滤波处理中的帧。此时,时间滤波单元将当前滤波的帧编码为I帧,其中当前滤波的帧涉及其自身的比率超过预定值。
比特流产生单元产生包括关于限定的时间级顺序的信息的比特流。比特流产生单元可产生包括关于消除时间和空间冗余的顺序的(冗余消除顺序)信息的比特流以获得变换系数。
根据本发明的示例性实施例,一种视频解码方法包括通过接收输入的比特流并且解释它们来提取关于编码的帧的信息;通过反量化关于编码的帧的信息来获得变换系数;以及通过以限定的时间级顺序对变换系数进行反时间变换来恢复帧。
在恢复步骤中,通过对变换系数进行反时间变换并且其后通过对结果进行反小波变换来获得帧。
在恢复步骤中,通过在反时间变换之前对系数进行反空间变换并且其后通过对结果进行反时间变换来获得帧。反空间变换优选地采用反小波变换。
限定的时间级顺序涉及从最高到最低时间级上的帧的顺序,并且涉及在相同时间级中的最大到最小指数的帧。限定的时间级顺序基于GOP大小而被周期性地重复。反时间变换涉及对帧进行的反时间滤波,在GOP内,根据限定的时间级顺序,所述时间滤波从最高时间级上的编码帧开始并且处理。
限定的时间级顺序根据从输入的比特流中提取的编码模式信息而被确定。限定的时间级顺序在相同的编码模式下基于GOP大小而被周期性地重复。
确定限定的时间级顺序的编码模式信息可包括端到端延迟控制参数D,其中,由编码模式信息确定的限定的时间级顺序以这样的方式进行,即从在具有与还未被解码的最低时间级上的帧相比不超过D的指数的帧之中的最高时间级上的编码帧向最低时间级上的编码帧,并且从在相同的时间级中的最低指数向最高指数的帧进行。
冗余消除顺序从输入的比特流中被提取。
根据本发明的示例性实施例,一种从输入的比特流恢复帧的视频解码器包括比特流解释单元,用于解释比特流以从其提取关于编码的帧的信息;反量化单元,对编码的帧信息进行反量化以从其获得变换系数;反空间变换单元,执行反空间变换处理;以及反时间变换单元,以限定的时间级顺序执行反时间变换处理,其中,通过变换系数的反时间变换处理来恢复帧。
视频解码器还包括反小波变换单元,对通过由反空间变换单元运算变换系数而获得的结果执行反小波变换。
视频解码器还包括反空间变换单元,对变换系数执行反空间变换,其中,通过变换系数的反空间变换获得的结果被反时间变换单元进行反时间变换。
反空间变换单元基于反小波变换执行反空间变换,并且限定的时间级顺序从最高时间级上的编码帧开始向最低时间级上的编码帧进行。限定的时间级顺序基于GOP大小而周期性地重复。
反时间变换单元基于GOP执行反时间变换,并且编码的帧被反时间滤波,从GOP之内的最高时间级上的帧开始向最低时间级上的帧进行。
比特流解释单元从输入的比特流提取关于编码的信息,并且根据编码模式信息确定限定的时间级顺序。限定的时间级顺序基于GOP而被周期性地重复。
确定限定的时间级顺序的编码模式信息包括端到端延迟控制参数D,其中,由编码模式信息确定的限定的时间级顺序以这样的方式进行,即,从在具有与还未被解码的最低时间级上的帧相比不超过D的指数的帧之中的最高时间级上的编码的帧向最低时间级上的编码的帧,并且从在相同时间级中的最低指数的帧向最高指数的帧进行。
冗余消除顺序被从输入的流中提取。


通过下面结合附图进行的详细描述,本发明的上述和其他目的、特点和优点将会被理解得更清楚,其中图1a显示在采用MCTF方案的可伸缩视频编码和解码处理中的时间分解;图1b显示在采用UMCTF方案的可伸缩视频编码和解码处理中的时间分解;图2是显示根据本发明的示例性实施例的可伸缩视频编码器的功能方框图;图3是显示根据本发明的示例性实施例的可伸缩视频编码器的功能方框图;图4是显示根据本发明的示例性实施例的可伸缩视频解码器的功能方框图;图5显示根据本发明的示例性实施例的连续时间逼近和参照(星)算法的基本概念;图6显示在星算法中的帧之间的众多可能的联系;图7显示根据本发明的示例性实施例的GOP之间的参照;图8显示根据本发明的示例性实施例的在非二元时间滤波的帧之间的可能的联系;图9显示根据本发明的示例性实施例的在端到端延迟控制参数为0的时间滤波中的帧之间的可能的联系;图10显示根据本发明的示例性实施例的在端到端延迟控制参数为1的时间滤波中的帧之间的可能的联系;图11显示根据本发明的示例性实施例的在端到端延迟控制参数为3的时间滤波中的帧之间的可能的联系;图12显示根据本发明的示例性实施例的在端到端延迟控制参数为3并且GOP大小为16的时间滤波中的帧之间的可能的联系;图13显示前向、后向、双向和内部预测模式;图14显示根据本发明的示例性实施例的在时间滤波中包括4种预测模式帧之间的可能的联系;图15a显示根据图14的示例性实施例的快速改变的视频序列中的视频编码的例子;图15b显示根据图14的示例性实施例的慢速改变的视频序列中的视频编码的例子;图16是示出在视频编码方案中的福曼通用中间格式(Foreman commonintermediate format(CIF))序列的峰值信噪比(PSNR)结果的图表;图17是示出在视频编码方案中的移动CIF序列的PSNR结果的图表;图18是示出在视频编码方案中的具有不同的端到端延迟设定的福曼CIF序列的PSNR结果的图表;图19是示出在视频编码方案中的具有不同的端到端延迟设定的移动CIF序列的PSNR结果的图表;图20是示出当通过使用四种预测模式对一部分从电影“Matrix 2”快速改变的场景进行编码以及不使用该四种预测模式进行编码时的PSNR结果的图表。
具体实施例方式
以下,参照附图来详细说明本发明的示例性实施例。
图2是显示根据本发明的示例性实施例的可伸缩视频编码器的功能方框图。
可伸缩视频编码器接收多个输入的帧以构成视频序列,并且将它们压缩以产生比特流。为了执行此工作,可伸缩视频编码器包括时间变换单元10,用于消除多个帧之间的时间冗余;空间变换单元20,用于消除帧之间的空间冗余;量化单元30,用于量化通过消除时间和空间冗余而产生的变换系数;以及比特流产生单元40,用于产生将量化的变换系数和其它信息结合的比特流。
为了补偿帧之间的运动并执行时间滤波,时间变换单元10包括运动估计单元12、时间滤波单元14和模式选择单元16。
运动估计单元12获得用于在当前在时间滤波操作中的帧的每一宏块和与其对应的参考帧的每一宏块之间的运动补偿的运动矢量。关于运动矢量的信息被提供给时间滤波单元14,并且时间滤波单元14通过使用关于运动矢量的信息执行对多个帧的时间滤波。在此示例性实施例中,基于GOP执行时间滤波。
模式选择单元16确定用于时间滤波的顺序。在此示例性实施例中的时间滤波基本上以从GOP内的最高时间级上的帧开始向最低时间级上的帧进行的顺序来处理。当帧在相同的时间级上时,时间滤波以从最低指数的帧开始向最高指数的帧进行的顺序中被处理。帧指数是表示构成GOP的帧之间的时间顺序的指数。因此,在构成一个GOP的帧的数量是n时,通过定义为GOP的最早帧的GOP的第一帧为0,在时间顺序中的最后帧具有指数n-1。
在此示例性实施例中,通过例子的方法,最低指数的帧被用作在构成GOP的帧之中具有最高时间级的帧。这应该被解释为GOP内的最高时间级上的其它帧的选择也被本发明的技术概念覆盖。
模式选择单元16可以以限定延迟的模式执行视频编码处理以降低在视频编码处理中产生的端到端延迟。在此情况下,根据端到端延迟控制参数D的值,模式选择单元16可限制时间滤波以便作为如上所述的最高到最低时间级上的帧的顺序。另外,考虑到编码处理中的操作性能的限制,模式选择单元16可改变时间滤波的顺序或者通过删除一些帧来执行时间滤波。下面,术语“限定的时间级顺序”将被使用,其是指考虑到全部相关因素的时间滤波的顺序。限定的时间级顺序规定时间滤波从最高时间级上的帧开始。
从其中消除了时间冗余的帧,即,被时间滤波的帧,通过空间变换单元20以从其消除空间冗余。通过使用空间变换,空间变换单元20从已被时间滤波的帧中消除空间冗余。在本示例性实施例中,使用小波变换。在当前公知的小波变换中,一帧被四分,四分之一帧被在区域中四分但是几乎等于该帧中的完整图像的缩小的图像(L图像)所代替,并且该帧中的其它三个四分之一帧被可用于恢复完整图像的信息(H图像)所代替。同样的,L帧可再次被四分,并且被具有四分之一区域的L图像和用于恢复L图像的信息所代替。这种利用小波变换的压缩方案已被应用于JPEG2000压缩方案。可通过基于小波的变换消除该方案的空间冗余。不同于DCT变换,在小波变换中,原始图像信息被存储在大小被缩小的变换的图像中,因此通过使用缩小的图像使具有空间可伸缩性的视频编码能够进行。然而,小波变换的方案在此通过例子的方式而被使用,其中不需要完成空间可伸缩性,DCT方案可被用作诸如MPEG-2的传统运动图像压缩方案。
通过空间变换,时间滤波的帧被变换为变换系数。变换系数被传输到量化单元30并且随后被量化。量化单元30量化为浮点数类型系数的变换系数,并且将它们变换为整数类型的变换系数。即,代表图像数据的比特数可通过量化而被减少。在此示例性实施例中,通过嵌入式的量化方案,量化变换系数的处理被执行。由于变换系数的量化通过嵌入式的量化方案而被执行,所以视频序列所需的信息量可通过量化而被减少,并且SNR可伸缩性可通过嵌入式的量化而被获得。术语“嵌入式”被用于表示编码的比特流包含量化。换句话说,压缩的数据以视觉上重要的顺序而生成,并且按视觉重要性而被标记。实际上,量化(或视觉重要性)等级可用于解码器或传输信道。如果传输带宽、存储容量和显示资源被允许,则图像可被高质量地恢复。否则,图像仅被量化为被大多数限定的资源容许的限度。传统的嵌入式量化算法包括嵌入式零元树(zerotree)小波变换(EZW)、多级树集合分裂(set partitioningin hierarchical trees(SPIHT))、嵌入式零块编码(embedded zero block coding(EZBC))、具有最佳切断的嵌入式块编码(embedded block coding withoptimal truncation(EBCOT))等。在本示例性实施例中,可使用任何已知的算法。
比特流产生单元40通过在其上附上报头(header)来产生将关于编码的图像的信息和关于从运动估计单元12获得的运动矢量的信息结合的比特流。在此示例性实施例中,关于限定的时间级顺序的信息,比特流和延迟参数等被包括在关于比特流的信息中。
在小波变换被用于消除空间冗余时,变换的帧的原始图像的形状保持不变。为此,不同于基于DCT的运动图像编码方案,图像可按顺序通过空间变换、时间变换和量化以产生比特流。此处理的另一示例性实施例将参照图3而被描述。
图3是显示根据本发明的示例性实施例的可伸缩视频编码器的功能方框图。
参照图3,可伸缩视频编码器包括空间变换单元60,用于从多个帧中消除空间冗余;时间变换单元70,用于从帧中消除时间冗余;量化单元80,用于量化通过消除空间和时间冗余二者而获得的变换系数;以及比特流产生单元90,用于产生将编码的图像信息和其它信息结合的比特流。
在传统运动图像压缩中,因为空间变换在时间滤波之后已被应用,所以术语“变换系数”通常指的是由空间变换产生的值。此术语换句话说指的是其中值通过DCT变换而被产生的DCT系数。因此,术语“小波系数”被用于通过小波变换而产生值的情况。在本发明中,术语“变换系数”表示通过在它们被(嵌入式)量化之前从多个帧中消除空间和时间冗余二者而产生的值。在这一点上,应该注意术语“变换系数”是指通过图2中的空间变换而产生的系数,以及通过图3中的时间变换而产生的系数。
空间变换单元60消除构成视频序列的多个帧之间的空间冗余。在此情况下,通过使用小波变换,空间变换单元60消除在帧内存在的空间冗余。从其消除了空间冗余的帧,即,空间变换的帧,被传输到时间变换单元70。
时间变换单元70消除空间变换的帧的时间冗余。为了执行此工作,时间变换单元70包括运动估计单元72、时间滤波单元74和模式选择单元76。在此示例性实施例中,不同于图2,除输入的帧是空间变换的帧之外,时间变换单元70以与图2中相同的方式工作。而且,图3中的示例性实施例和图2中的示例性实施例之间的不同在于时间变换单元70产生用于量化其时间冗余在它们的空间冗余已被消除之后被消除的帧的变换系数。
量化单元80量化变换系数以产生量化的图像信息(编码的图像信息),并且将产生的图像信息传输到比特流产生单元40。类似于图2,嵌入式量化被执行,并且与将被最终产生的比特流相关的SNR可伸缩性被获得。
比特流产生单元90通过在其上附上报头来产生将编码的图像信息和关于运动矢量的信息结合的比特流。此时,类似于图2,端到端延迟控制参数和时间级顺序可被包括。
图2的比特流产生单元40和图3的比特流产生单元90可包括关于消除比特流中的时间冗余和空间冗余的顺序(此后被称作“冗余消除顺序”)的信息,以便允许解码器侧确定是根据图2对视频序列进行编码还是根据图3对视频序列进行编码。冗余消除顺序可被包括在使用不同的方案的比特流中。在比特流中可选择一个方案作为基本方案并且分别地表示其它方案。例如,如果图2中使用的方案被选为基本方案,则由图2的视频可伸缩编码器产生的比特流可被表示为不具有关于冗余消除顺序的信息,而是可被表示为仅具有关于由图3的可伸缩视频编码器产生的冗余消除顺序。与此相反,关于冗余消除顺序二者的信息可都被表示在图2和图3二者的方案中。
通过对图2和3的方案中的视频序列进行编码和比较,还可通过创造具有分别根据图2和3的可伸缩视频编码器侧功能二者的可伸缩视频编码器来产生具有出色的编码效率的比特流。在此情况下,冗余消除顺序可被包括在比特流中。基于序列或GOP,冗余消除顺序可被确定。在前面的情况下,冗余消除顺序应该被包括在视频序列的报头中;在后面的情况下,冗余消除顺序应该被包括在GOP的报头中。
图2和3中显示的示例性实施例都可通过硬件来实现,但是它们也可通过具有软件模块和执行它们的计算能力的任一装置而被实现。
图4是显示根据本发明的示例性实施例的可伸缩视频解码器的功能方框图。
可伸缩视频解码器包括比特流解释单元100,用于解释输入的比特流并且提取构成比特流的每一分量;第一解码单元200,用于恢复根据图2编码的图像;以及第二解码单元300,用于恢复根据图3编码的图像。
第一和第二解码单元200和300可通过硬件或软件模块而被实现。当它们通过硬件或软件模块而被实现时,它们可以被以分离的方式或综合的方式来实施。如果它们被以综合的方式来实现,则第一和第二解码单元200和300通过以相反的方式应用冗余消除顺序来从在比特流解释单元100中获得的比特流中恢复被消除的数据。
视频可伸缩解码器可被实现以便恢复在不同的冗余消除顺序中编码的全部图像,但是它也可被实现从而仅在冗余消除顺序二者之一中编码的图像可被恢复。
比特流解释单元100解释输入的比特流,提取编码的图像信息(编码的帧)并且确定用于冗余消除的顺序。如果冗余消除顺序被第一解码单元200解码,则视频序列通过第一解码单元200而被恢复。如果冗余消除顺序被第二解码单元300解码,则视频序列通过第二解码单元300而被恢复。另外,比特流解释单元100解释比特流,以因此确定限定的时间级顺序,即,用于当时间冗余被消除时的帧的时间滤波的顺序。在此示例性实施例中,限定的时间级顺序可基于确定编码模式的延迟控制参数的值而被确定。在从编码的图像信息恢复视频序列的处理中,由第一解码单元200进行的解码将被首先描述,并且由第二解码单元300进行的解码将被随后描述。
关于输入到第一解码单元200的解码的帧的信息被反量化单元210反量化并且被变换为变换系数。变换系数被反空间变换单元220反空间变换。反空间变换类型取决于编码的空间变换类型。在小波变换被用于空间变换的情况下,反小波变换被执行以用于反空间变换。在DCT变换被用于空间变换的情况下,反DCT变换被执行。通过反空间变换,变换系数被变换为全部被时间上反滤波的I帧和H帧。在这点上,反时间滤波单元230以限定的时间级顺序通过反时间变换恢复构成视频序列的帧。通过解释由比特流解释单元100输入的比特流,限定的时间级顺序可被获得。为了反时间变换,反时间滤波单元230使用通过解释比特流而获得的运动矢量。
关于输入到第二解码单元300的编码的帧的信息被反量化单元310反量化并且被转换为变换系数。变换系数被反时间变换单元320反时间变换。用于反时间变换的运动矢量和限定的时间级顺序可从通过由比特流的比特流解释单元100解释而获得的信息中而被获得。关于已通过反时间变换的编码的图像的信息被变换为在已通过空间变换的状态下的帧。已通过空间变换的状态下的帧在反空间变换单元330中被反空间变换,并且被恢复为构成视频序列的帧。用在反空间变换单元330中的反空间变换采用反小波变换方案。
对在具有保持时间可伸缩性并控制端到端延迟的限定的时间级顺序中的帧进行时间变换的处理将被更详细地描述。
根据本发明,通过连续的时间逼近和参照算法,即星算法,帧可具有在编码侧和解码侧二者上的时间可伸缩性并且端到端延迟可被控制。
图5显示星算法的基本概念。
比特流描述星算法的基本概念,每一时间级上的每一帧被表示为节点,并且帧之间的参照关系被表示为弧。在每一时间级上,仅必要帧被定位,例如,在最高时间级上仅GOP的第一帧被需要。在此示例性实施例中,F(0)帧在最高时间级上。在下一时间级上,时间分解被连续细化,并且具有高频率的损失(missing)帧被具有已被处理的帧指数的原始帧预测。如果GOP的大小是8,则指数0的帧被编码为最高时间级上的I帧,并且通过使用指数0的原始帧,指数4的帧被编码为下一时间级上的中间帧(inter-frame)(H帧)。其后,通过使用指数0和4的原始帧,指数2和6的帧被编码为中间帧。最后,通过使用指数0、2、4和6的原始帧,指数1、3、5和7的帧被编码为中间帧。在此,术语“原始帧”主要指的是构成视频序列的帧,但是它也被用于指通过解码之前编码的帧而获得的帧。在解码处理中,指数0的帧被首先解码。其后,指数4的帧参照解码的指数0的帧而被解码。在相同的方式下,指数2和6的帧参照解码的指数0和4的帧而被解码。最后,指数1、3、5和7的帧参照解码的指数0、2、4和6的帧而被解码为中间帧。
如图5中所示,编码侧和解码侧二者都可使用相同的可提供编码侧的时间可伸缩性的时间级处理流程。编码侧可在任一时间级停止,但是解码侧应该按照目标时间级对帧进行解码。即,由于最高时间级上的帧被首先编码,所以编码侧可获得时间可伸缩性。例如,如果当指数0、4、2和6的帧已被编码时编码处理停止,则解码侧解码指数0的帧,参照指数0的帧解码指数4的帧,并且参照指数0和4的帧解码指数2和6的帧。在此情况下,解码侧可输出帧0、2、4和6。最高时间级上的帧(在此示例性实施例中的F(0))被编码到I帧而不被编码到需要对其它帧操作的L帧是优选的,以便保持编码侧时间可伸缩性。
为了比较,基于MCTF或UMCTF的传统的可伸缩视频编码算法可具有解码侧时间可伸缩性,但是编码侧在保证时间可伸缩性上有困难。参照图1a和1b,时间级3上的L帧或H帧需要被执行解码处理。然而,在MCTF和UMCTF算法的情况下,最高时间级上的L帧或H帧可仅在编码处理完成后而被获得,但是解码处理可在任一时间级上停止。
在编码和解码侧二者上保持时间可伸缩性的需求将在下面被描述。
假设F(k)是第k个帧并且T(k)是F(k)的时间级。如果在某一时间级上的帧参照等于或小于该时间级的时间级上的帧而被编码,则时间可伸缩性被建立。例如,指数4的帧不能参照指数2的帧。这是因为如果这种参照被允许则编码处理不能在指数0和4的帧上停止。换句话说,指数2的帧不能在指数4的帧在之前被编码时被编码。可由帧F(k)参照的参考帧的集合Rk如等式(1)而被定义。
Rk={F(1)|(T(1)>T(k))or((T(1)=T(k))and(1<=k))} (1)其中,“1”表示帧指数。
在等式(1)中,((T(1)=T(k))and(1=k))表示在将在后面被描述的时间滤波处理(内模式)中帧(k)参照其自身执行时间滤波。
利用星算法的编码和解码处理将在下面被描述。
编码处理操作步骤(1)将GOP的第一帧编码为I帧。
(2)对于下一时间级上的帧,利用满足等式(1)的可能的参考帧进行运动预测并且对预测间残留(inter-prediction residuals)进行编码。在相同的时间级上,帧以从左到右的顺序(以从最低到最高帧指数的顺序)被编码。
(3)重复操作步骤(2)直到全部帧被编码,并且其后编码下一GOP直到对全部帧的编码被完成。
解码处理操作步骤(1)解码GOP的第一帧(2)利用已被解码的帧中的合适的参考帧解码下一时间级上的帧。在相同的时间级上,帧以从左到右的顺序(以从最低到最高帧指数的顺序)被解码。
(3)重复操作步骤(2)直到全部帧被解码,并且其后解码下一GOP直到对全部帧的解码被完成。
如图5中所示,标记I的帧被内编码(intra-coded)(不参照其它帧),并且标记H的帧在高频子带内。高频子带表示帧参照一个或多个帧而被编码。
在图5中,在GOP的大小为8时,帧的时间级是用于说明性目的的0、4、(2、6)、(1、3、5、7)的顺序。另外,即使在其以1、5、(3、7)、(0、2、4、6)的顺序的情况下,在编码侧时间可伸缩性和解码侧时间可伸缩性方面也几乎没有问题。同样地,2、6、(0、4)、(1、3、5、7)的顺序可被容许。换句话说,可满足编码侧时间可伸缩性和解码侧时间可伸缩性的时间级上的任何帧可被容许。
然而,当帧以0、5、(2、6)、(1、3、4、7)的时间级顺序的情况下,这能满足编码侧时间可伸缩性和解码侧时间可伸缩性,但是因为帧间的间隔是奇数所以它不是优选的。
图6显示在星算法中的帧之间的众多可能的联系。
参照图6,用于时间滤波的帧之间的可能的联系的例子将被描述。
根据等式(1),帧F(k)可涉及很多帧。该特性允许算法适于使用多个参考帧。在此示例性实施例中,GOP的大小为8时的帧之间的可能的联系被示出。从帧开始并且返回该帧(被称作自循环帧)的弧表示帧在内模式下被预测。具有包括在相同时间级中的H帧位置上的指数的之前编码的指数的全部原始帧可被用作参考帧,而仅仅在相同时间级中的帧之中的H帧位置上的原始帧之中的L或A帧可在大多数传统方法中被涉及。此特征构成本发明和传统方法之间的差别。例如,在传统方法中,F(5)可涉及F(3)和F(1),但是F(5)不能涉及F(0)、F(2)和F(4)。
尽管多个参考帧极大地增加了时间滤波和处理延迟所需的内存,支持此特征的可能性还是有价值的。
如上所述,假设一个GOP内的最高时间级上的帧通过例子的方法具有最低帧指数。另外,应该注意最高时间级上的帧可具有另一帧指数。
为了方便,在实验的结果中,用于对帧进行编码的参考帧的数量将被限制在用于双向预测的两个和用于单向预测的一个。
图7显示根据本发明的示例性实施例的GOP之间的参照。在图7中,示出使用双向预测和交叉GOP优化的星编码算法。
星算法可参照其它GOP的帧对帧进行编码,其被称作交叉GOP优化。因为UMCTF和星编码算法使用未被时间滤波的A或I帧,所以UMCTF也支持交叉GOP优化。参照图5和6,指数7的帧中的预测误差是指数0、4和6的帧的预测误差之和。然而,如果指数7的帧涉及下一GOP的指数0的帧(如果以当前GOP计算则指的是指数8的帧),则此预测误差的漂移可被显著降低。而且,因为下一GOP的指数0的帧被帧内编码,所以指数7的帧的质量可被显著改善。
图8显示根据本发明另一示例性实施例的非二元时间滤波中的帧之间的可能的联系。
与UMCTF编码算法通过任意地插入A帧来容易地支持非二元时间分解一样,星算法也可通过以简单的方式改变图形结构来支持非二元时间分解。此示例性实施例示出支持1/3和1/6时间分解的星分解的例子。通过改变图形结构,全部帧速率的任何片段可被容易地获得。
星算法规定编码侧和解码侧在时间级上具有相同的处理顺序,并且支持如上所述的多个参考帧和交叉GOP优化。通过传统方法,这些特征中的一些可以以限定的方式实现,但是很容易用传统方法控制端到端延迟。按照惯例,减小GOP的大小但是会导致性能显著下降的方法已被用于降低延迟。在使用星算法时,通过引入端到端延迟控制参数(D)的概念,直到帧在视频序列中再次通过编码和解码处理之后被恢复到视频序列的端到端延迟可被容易地控制。
参照图9到12,在延迟被限定时星算法将被考虑。
等式(1)中的时间可伸缩性条件应该为延迟控制而被稍做改变,其将由等式(2)来定义。
RkD={F(1)|(T(1)>T(k))and((1-k)<=D))or((T(1)=T(k))and(1<=k))}(2)其中,当容许的延迟被定义为D时,RkD代表当前编码的帧可涉及的参考帧的集合。为了解释等式(2),最高时间级上的每一帧不能总是参考帧。尤其是,参考帧的指数和当前编码的帧的指数之间的差不超过D。在这点上,应该注意D表示容许编码F(k)的最大端到端延迟。参照图7,需要指数4的帧以编码指数2的帧,并且因此,如果D等于2则它是足够的。然而,应该注意需要指数2的帧编码指数1的帧,并且需要指数4的帧编码指数2的帧,并且因此,D等于3。如果指数1的帧不涉及指数2的帧,并且指数5的帧不涉及指数6的帧,如果D等于2则它是足够的。总而言之,为了对图7中所示的结构进行编码,则D应被设定为3。
还应该注意到,甚至在等式(2)的情况下,如上所述的多个参考帧或交叉GOP优化也可被应用。此特征对于以直接的和简单的方式实现延迟控制的情况是有利的。
星算法方法的优点在于不需要牺牲时间可伸缩性。减小GOP大小的传统方法引起了最大时间级大小的减小,从而解码器侧的时间可伸缩性被严重限制。例如,在GOP的大小是8时,能够被解码器侧选择的帧速率被限制在1、1/2、1/4和1/8。如果GOP的大小被设定为4以定义D为3,则可选择的帧速率仅为1、1/2和1/4。当GOP的大小为2时,可选择的帧速率仅为1和1/2。如上所述,GOP大小的减小具有视频编码效率被严重降低的缺点。相反的,即使当D通过使用星算法将D严格限制为0时,解码器侧的时间可伸缩性不会被影响,即,仅对编码侧的可伸缩性有损。即,当GOP的大小为8并且D为0时,如果在该数量的帧中基于GOP的编码器侧的处理能力被限制为2,则指数0和1的帧应被编码并且随后被传输到解码器侧。在此情况下,解码器侧可恢复具有1/4帧速率的视频序列,但是被恢复的视频帧的时间间隔是奇数。
参照图9到12,不同的端到端延迟的例子将被描述。
图9显示根据本发明的另一示例性实施例在延迟控制参数被设定为0的时间滤波中的帧之间的可能的联系。
在图9中,支持双向预测和交叉GOP优化的星算法的时间结构,当D的值被设定为0时的延迟的限制被显示。因为延迟控制参数是0,所以交叉GOP优化被自动减活,并且全部帧仅涉及时间上在后面的帧(即,较低指数的帧)。因此,帧以0、1、2、3、4、5、6和7的顺序来传输。即,一帧被处理,并且被立即参数到解码器侧。在此情况下,延迟仅对I帧缓冲存在。此特征也被保持在解码器侧,其解码器可在帧一到达时即开始解码。最终延迟仅为包括解码器侧操作延迟的两帧(在30Hz下67ms)。但是在此情况下,与将D的值设定为大于0相比较,性能有所下降。
图10显示根据本发明的示例性实施例的在延迟控制参数为1的时间滤波中的帧之间的可能的联系。
在此示例性实施例中,交叉GOP优化的特性被自动激活。通过使用双向预测,最低时间级上的全部帧可被预测,并且GOP的最末帧可涉及下一GOP的第一帧。在此情况下,帧的编码顺序为0、2、1、4、3、6、5、7和8(下一帧的0)。仅需要在编码器侧缓冲两帧的延迟和在解码器侧操作的延迟。总延迟时间是3帧(在30Hz下100ms),并且双向预测被应用于大多数帧并且交叉GOP优化被用于最末帧。
图11显示根据本发明的示例性实施例的在延迟时间控制参数为3的时间滤波中的帧之间的可能的联系。
如图11所示,如果D为3,指数2的帧可涉及指数4的帧,并且指数6的帧可涉及下一GOP的第一帧。
D为3而不为2的原因是因为两帧的延迟是足够的,这是由于指数4的帧对于编码指数2的帧是必需的,但是指数2的帧对于编码指数1的帧是必需的,并且指数2的帧需要两帧的延迟,因此需要三帧作为总的延迟时间。当延迟时间为3时,除了指数4的帧参照指数8的帧(下一帧的0帧),参照全部帧是可能的。此时的编码顺序为0、4、2、1、3、8(下一GOP的0帧)、6、5和7。如果D为4,则图7中示出的结构是可能的。图12中显示了GOP大小扩展到16。
图12显示根据本发明的另一示例性实施例的当GOP大小为16时在延迟时间控制参数为3的时间滤波中的帧之间的可能的联系。在此情况下,帧的编码顺序(与传输顺序相同)是0、4、2、1、3、8、6、5、7、12、10、9、11、16(下一GOP的0帧)、14、13和15。应该注意星算法规定总的端到端延迟可仅被参数D控制。此特征使延迟控制简单化,因此根据总的端到端延迟导致编码效率的适度降低。因为根据没有重大改变而在编码系统上的任何应用的特点总的端到端延迟可被容易地控制,所以此一个架构中的灵活的延迟是很有用的。在单向视频流中,总的端到端延迟不重要。因此,D的值可被设定以具有最大值(例如GOP大小的1/2)。相反地,在双向视频会议中,总的端到端延迟被认为是非常重要的。在此情况下,如果总的端到端延迟被设定为小于2,即使当编码效率稍稍降低,总的端到端延迟也可以很短。表1中显示总的端到端延迟和延迟参数D的值之间的关系。
表1


总的端到端延迟T可被简单地表示为等式(3)。
T=min(2,2D+1) (3)其中,T表示总的端到端延迟的值,其单位为一帧时间。关于由于总的端到端延迟导致的PSNR降低的实验的结果将在下面描述。
图13显示前向、后向、双向和宏块内预测模式。
基本上,星算法支持多模式时间预测。如图13中所示,前向预测模式(1)、后向预测模式(2)、双向预测模式(3)和宏块内预测模式(4)中的预测被支持。在传统方法下,前三种模式已经连同可伸缩视频编码一起而被支持,但是星算法通过将内预测模式加入其中来改善快速改变的视频序列的编码效率。
以下将首先描述由宏块内预测模式的确定。
因为星算法允许双向预测和多参考帧,所以前向、后向和双向预测可被容易地实现。尽管公知的HVBSM算法可被用于此设定,但是本示例性实施例将受固定的块大小运动预测方案的限定。令E(k,-1)为具有前向预测的第k个绝对差之和(SAD),并且B(k,-1)为量化前向预测的运动矢量的总的运动比特。类似地,假定E(k,+1)为具有后向预测模式的第k个SAD,B(k,+1)为被赋值以量化后向预测模式的运动矢量的总的运动比特,E(k,*)为具有双向预测模式的第k个SAD,并且B(k,*)为被赋值以量化双向预测模式的运动矢量的总的运动比特。用于前向、后向和双向预测模式的开销可被描述为等式(4)Cf=E(k,-1)+λB(k,-1),Cb=E(k,1)+λB(k,1),和Cbi=E(k,*)+λ{B(k,-1)+B(k,1)} (4)其中,Cf、Cb和Cbi分别指的是用于前向、后向和双向预测模式的开销。
λ是用于控制运动和结构(图像)比特之间的平衡的拉格朗日(Lagrangian)系数。因为可伸缩视频编码器不能知道最终的比特率,λ应该相对于主要在目的应用中使用的视频序列和比特率的性质而被优化。通过计算如在等式(4)中定义的最小开销,可以确定最佳优化的宏块间预测模式。
接下来,下面将描述由宏块内预测模式的确定。
在一些视频序列中,场景改变得很快。在极端情况下,可观察到绝对不具有与邻近帧间的时间冗余的一帧。为了克服此缺点,通过MC-EZBC实现的编码方法支持作为“适于GOP大小”的特征。当不相关联的像素的数量大于预定阈值(典型的是总像素的30%)时,此对于GOP大小的适应停止时间分解并且将帧编码为L帧。此方法可被应用于星算法,但是从在标准混合编码器中使用的宏块内模式的概念借鉴的更灵活的方法被用在此示例性实施例中。通常,由于预测漂移,包括用星算法的编解码器的开环编解码器不能使用关于相邻宏块的信息,而混合编解码器可使用多宏块内预测模式。因此,在用于内预测模式的此示例性实施例中采用DC预测。在此模式下,宏块被用于Y、U和V分量的其DC值内预测。如果用于内预测模式的开销小于上述间预测模式下的最佳开销,则可选择内预测模式。在此情况下,原始像素和DC值之间的差和代替运动矢量的三个DC值之间的差被编码。用于内预测模式的开销可被定义为等式(5)。
Ci=E(k,0)+λB(k,0), (5)其中,E(k,0)为SAD(原始亮度值和在第k内预测上的DC值之间的差)并且B(k,0)为用于编码三个DC值的总的比特。
如果Ci小于由等式(5)计算的值,则编码在宏块内预测模式下被实现。一句话,如果帧中的全部宏块在仅使用一组DC值的宏块内预测模式下被编码,则该帧可被编码为I帧。同时,如果用户想要在视频序列中看任一点则具有视频序列中的很多I帧或者自动编辑视频是我们所期望的。在此情况下,用I帧代替H帧是好的解决方案。
在不是帧中的全部宏块被以内预测模式编码时,如果在内预测模式下超过其预定百分比(例如,90%)被编码,则帧可被编码为I帧。通过这样做,视频中的I帧增加,并且作为结果,对用户来说看视频中的任一点或者编辑视频是较容易的。
尽管星算法提供实现多模式时间预测的简单的方法,还是应该注意MC-EZBC使用的其它方法和其它编解码器也可被使用。除第一帧之外的全部剩余帧中的全部宏块可以以上述四种类型中的任一类型而被编码,所述四种类型是前向预测、后向预测、双向预测和宏块内预测。本发明所属的本领域普通技术人员可以理解在星算法中的上述图的“H帧”指的是间预测的和内预测的宏块的混合形式。而且,可以知道位于H帧的帧被改变为I帧并且随后被编码。这种灵活性在快速改变的视频序列和淡入/淡出的帧中是很有用的。
图14显示根据本发明的另一示例性实施例的在时间滤波中的4种预测模式下的帧之间的可能的联系。
在图14中,“I+H”意味着该帧包括间预测的宏块和内预测的宏块二者,并且“I”意味着完整的帧通过不用间预测的它们自身而被编码。尽管内预测可被用在GOP的开始帧(在最高时间级上)中,但是因为它不像原始帧的小波变换那样有效率,所以它未被用在图14中。
图15a和15b显示具有多种模式的快速改变的视频序列和慢速或很少改变的视频序列中的视频编码的例子,其中,“百分比”表示预测模式的速率。即,I表示帧(但是GOP的第一帧不使用内预测)中的内预测块的速率,BI表示双向预测的速率,F表示前向预测的速率并且B表示后向预测的速率。
参照图15a,因为指数1的帧非常类似于指数0的帧,所以F的百分比构成压倒性的多数,75%,并且因为其接近指数0和4的帧的中间级,在指数2的帧(即,使指数0的帧明亮的图像)中,BI构成压倒性的多数87%。因为指数4的帧不同于其它帧,所以编码的I块为100%。但是,因为指数4的帧非常不同于指数6的帧但是类似于指数6的帧,所以编码的B块在指数6的帧中为94%。
参照图15b,全部的帧看上去大体类似,其中BI实际上在非常相似的帧中示出最佳性能。因此,BI的比率在图15b中通常是最高的。
用于确定星算法的性能的几个模拟被实施,其中,星算法被应用于时间滤波处理。对于运动估计,具有来自于从4乘4到16乘16的大小的子块的多模式分割的公知的菱形快速搜索的变量被使用。为了性能比较,MC-EZBC被使用,并且EZBC算法还被用于实现本发明的嵌入式量化。
福曼和移动CIF序列的前64帧被作为实验材料。本发明关注的是改善时间传输。因此,不进行空间可伸缩性的实验。两种材料都在足够的比特率下被编码,并且其比特流被截断以具有用于传输的2048kbps、1024kbps、512kbps、256kbps和128kbps并且在其后被解码。
为了性能测量,具有加权值的PSNR被使用。加权的PSNR在等式(6)中被定义。
PSNR=(4PSNRY+PSNRU+PSNRV)/6 (6)为了检测星算法,为了简单除了多参考帧,上述的全部特征被包括。最后,基于GOP级的恒定的比特分配被用于星算法,而动态比特分配被用于MC-EZBC算法。如果其被应用于星算法,则动态比特分配可显示较好的性能。
图16和17是示出在视频编码方案中的福曼CIF序列和移动CIF序列的PSNR(峰值信噪比)结果的图表。
30Hz的帧速率被用于2048kbps和1024kbps。15Hz的帧速率被用于512kbps和256kbps。7.5Hz的帧速率被用于128kbps。对于星算法,双向预测和交叉GOP优化二者都被使用,其中,16的GOP大小和四分之一像素运动精确度被用于两种编码器。另外,当全部其它部分没有为不考虑其它部分的性能而仅比较时间分解效率而改变时,采用双向预测的MCTF算法被用在为星算法而实施的编解码器中。这在图中被标记为用MCTF。这些图示出星算法的性能在福曼CIF序列中比MC-EZBC和MCTF方案提高了1dB。MCTF的性能几乎类似于MC-EZBC的性能。然而,在移动序列中星算法在性能上几乎等于MC-EZBC,但是它显示了比MCTF更好的性能。能够想到用在MC-EZBC中的其它重要的编码技术,诸如动态比特分配和可变大小块匹配技术,有不同,并且如果它们二者都被应用于星算法,则能期望比MC-EZBC更好的结果。星算法清楚地超过MCTF 3.5dB,从其明显可知星算法比MCTF好。我们能够得出星算法明显比MCTF好,并且在时间分解效率的方面与MC-EZBC编码器兼容的结论。
为了比较低延迟编码模式的性能,不同的端到端延迟设定的几个实验被进行。对于星算法,延迟控制参数D被从0变到8,这对应于与2到16的GOP大小对应的67ms到567ms的端到端延迟。然而,为了测定不同的端到端延迟条件,从2048kbps到256kbps的比特率被使用,但是空间可伸缩性未被使用。宏块内预测模式也未被使用,以便仅比较时间分解结构之间的差别。
图18示出了与用于改变端到端延迟条件的福曼CIF序列的567ms的最大延迟设定比较的PSNR下降。如图18所示,PSNR值在具有减小的GOP大小的MC-EZBC中显著下降。尤其是,在2的GOP大小的情况下的性能明显低于其它GOP大小。即使具有4的GOP大小,端到端延迟也超过150ms。相反地,PSNR下降在星算法中不严重。即使在最短端到端延迟(67ms)中,仅大约1.3dB的PSNR下降和在可接受的低延迟模式(100ms)下的PSNR下降仅为0.8dB。在两种算法之间的最大PSNR值的减小中的最大差达到3.6dB。
图19示出与移动CIF序列的最大延迟设定相比的PSNR下降。在图19中,MC-EZBC的PSNR下降比已被描述的福曼CIF序列的情况更严重。对于星算法,最大和最小端到端延迟之间的PSNR下降大约达到2.3dB,并且在MC-EZBC编码器中大约达到6.9dB。具有100ms的端到端延迟的PSNR下降仅为1.7dB并且MC-EZBC的PSNR下降达到6.9dB。具有100ms的端到端延迟的两种算法之间的PSNR下降的最大差达到5.1dB。而且,星算法支持甚至具有最短延迟设定的完全时间可伸缩性,而传统方法仅支持具有2的GOP大小的一级时间可伸缩性。PSNR值之间的差别在表2中被描述。
表2

将参照图20描述快速改变的视频序列之间的比较。
图20是示出当通过使用四种预测模式对一部分来自于电影“Matrix 2”的快速改变的场景进行编码以及不使用该四种预测模式对其进行编码时的PSNR结果的图表。
对于实验,仅一个16帧的GOP被使用。选择的帧包括很快速的运动、场景改变、空白帧和淡入/淡出。星算法被应用于具有宏块内预测和不具有宏块内预测的情况,并且MC-EZBC的结果被包括以用于比较。为了检验合适的GOP大小特征,当MC-EZBC配置字段中的“adapt_flag”被打开和关闭时的结果被包括。
如图20所示,内预测的结果很出色。在具有和不具有内预测特征的星算法之间PSNR差超过5dB,并且在具有和不具有合适的GOP大小特征的MC-EZBC之间超过10dB。另外,具有宏块内预测的星算法的性能超过具有合适的GOP大小特征的MC-EZBC主要由于更灵活的基于宏块的内预测方法导致的1.5dB的清楚边缘。
根据本发明,可控制端到端延迟并执行引起短的端到端延迟中不严重的性能下降的视频编码。另外,快速改变的视频序列可被更有效率地压缩。而且,延迟控制不影响视频序列的时间可伸缩性。
尽管已经为了示例性的目的而公开了本发明的优选实施例,淡本领域普通技术人员将会理解,在不脱离所附权利要求所公开的本发明的范围和实质的情况下,可进行各种改变、增加和代替。
权利要求
1.一种用于视频编码的方法,包括(a)从视频序列的多个帧中以限定的时间级顺序消除时间冗余,以及(b)通过量化从其时间冗余已被消除的帧中获得的变换系数来产生比特流。
2.如权利要求1所述的方法,其中,在步骤(a)中的帧是在通过小波变换之后其空间冗余已被消除的帧。
3.如权利要求1所述的方法,其中,在步骤(b)中的变换系数通过执行其时间冗余已被消除的帧的空间变换而被获得。
4.如权利要求3所述的方法,其中,空间变换基于小波变换而被执行。
5.如权利要求1所述的方法,其中,帧的时间级具有二元体系结构。
6.如权利要求1所述的方法,其中,限定的时间级顺序是从最高时间级到最低的时间级的帧的顺序和从相同的时间级上的最低帧指数到最高帧指数的帧的顺序。
7.如权利要求6所述的方法,其中,限定的时间级顺序基于图像组(GOP)而被周期性重复。
8.如权利要求7所述的方法,其中,最高时间级上的帧具有在构成GOP的帧中的GOP的最低帧指数。
9.如权利要求8所述的方法,在步骤(a)中,基于GOP执行时间冗余的消除,在GOP中的最高时间级上的第一帧被编码为I帧,随后根据限定的时间级顺序从各个剩余帧消除时间冗余,并且在等于剩余帧的时间级的时间级上的帧中,基于在高于剩余帧的时间级的时间级上的至少一个参考帧或具有低于剩余帧的帧指数的帧指数的至少一个参考帧来执行从剩余帧中消除时间冗余。
10.如权利要求9所述的方法,其中,参考帧包括在具有高于剩余帧的时间级的帧中的帧指数差最小的帧。
11.如权利要求9所述的方法,其中,从剩余帧对时间冗余的消除基于剩余帧而被执行。
12.如权利要求11所述的方法,其中,帧被编码为其中帧在对时间冗余进行的消除中涉及它们自身的比率大于预定值的I帧。
13.如权利要求9所述的方法,其中,从剩余帧进行的对时间冗余的消除基于下一GOP的至少一帧而被执行,所述帧的时间级高于当前在步骤(a)中被处理的帧的每一个。
14.如权利要求1所述的方法,其中,限定的时间级顺序基于编码模式而被确定。
15.如权利要求14所述的方法,其中,基于编码模式而被确定的限定的时间级顺序在相同的编码模式下基于图像组(GOP)而周期性地重复。
16.如权利要求15所述的方法,其中,在构成GOP的帧中的最高时间级上的帧具有最低帧指数。
17.如权利要求16所述的方法,在步骤(b)中,关于编码模式的信息被加入比特流。
18.如权利要求16所述的方法,在步骤(b)中,关于空间消除和时间消除的顺序的信息被加入比特流。
19.如权利要求15所述的方法,其中,编码模式根据根据端到端延迟参数D而被确定,其中限定的时间级顺序以这样的方式进行,即,从在具有与还未被时间冗余消除的最低时间级上的帧相比不超过D的帧指数的帧之中的最高时间级上的帧向最低时间级上的帧,并且从相同时间级上的最低指数的帧向最高指数的帧进行。
20.如权利要求19所述的方法,在基于GOP执行对时间冗余的消除的步骤(a)中,在GOP中的最高时间级上的第一帧被编码为I帧,随后在等于剩余帧的时间级的时间级上的帧中,根据限定的时间级顺序从各个剩余帧消除时间冗余,并且基于至少一个在高于剩余帧的时间级上的参考帧或至少一个具有低于剩余帧的帧指数的帧指数的参考帧来执行从剩余帧对时间冗余的消除。
21.如权利要求20所述的方法,其中,参考帧包括在高于剩余帧的时间级时间级上的帧之中其帧指数差最小的帧。
22.如权利要求20所述的方法,其中,在GOP内的最高时间级上的帧具有最低帧指数。
23.如权利要求20所述的方法,其中,从剩余帧对时间冗余的消除基于剩余帧而被执行。
24.如权利要求23所述的方法,其中,帧被编码为其中帧在对时间冗余的消除中涉及它们自身的比率超过预定值的I帧。
25.如权利要求20所述的方法,其中,基于下一GOP的至少一个帧执行从剩余帧对时间冗余的消除,所述帧的时间级高于当前在步骤(a)中被处理的帧的每一个的时间级,并且所述帧到当前在步骤(a)中被处理的帧的每一个的时间距离小于或等于D。
26.一种视频编码器,包括时间变换单元,用于从输入的视频序列的多个帧中以限定的时间级顺序消除时间冗余;空间变换单元,用于从帧中消除空间冗余;量化单元,用于量化从在时间变换单元中消除时间冗余和在空间变换单元中消除空间冗余而获得的变换系数;以及比特流产生单元,基于由量化单元产生的量化的变换系数产生比特流。
27.如权利要求26所述的视频编码器,其中,时间变换单元消除帧的时间冗余并且将其时间冗余已被消除的帧传输到空间变换单元,并且空间变换单元消除其时间冗余已被消除的帧的空间冗余以产生变换系数。
28.如权利要求27所述的视频编码器,其中,空间变换单元通过小波变换消除帧的空间冗余。
29.如权利要求26所述的视频编码器,其中,空间变换编码器通过小波变换消除帧的空间冗余并且将其空间冗余已被消除的帧传输到时间变换单元,并且时间变换单元消除其空间冗余已被消除的帧的时间冗余以产生变换系数。
30.如权利要求26所述的视频编码器,其中,时间变换单元包括运动估计单元,用于从帧中获得运动矢量;时间滤波单元,基于由运动估计单元获得的运动矢量,以限定的时间级顺序进行时间滤波;以及模式选择单元,用于确定限定的时间级顺序。
31.如权利要求30所述的视频编码器,其中,由模式选择单元确定的限定的时间级顺序基于图像组(GOP)的周期功能。
32.如权利要求30所述的视频编码器,其中,模式选择单元从最高时间级到最低时间级并且从相同时间级中的最低帧指数到最高帧指数确定帧的限定的时间级顺序。
33.如权利要求32所述的视频编码器,其中,由模式选择单元确定的限定的时间级顺序基于图像组(GOP)而被周期性地重复。
34.如权利要求30所述的视频编码器,其中,模式选择单元基于延迟控制参数D而确定限定的时间级顺序,其中,确定的时间级顺序是从与其时间冗余未被消除的最低级上的帧相比不超过D的指数的帧之中的最高时间级到最低时间级的帧的顺序,和在相同的时间级中的最低帧指数到最高帧指数的帧的顺序。
35.如权利要求34所述的视频编码器,其中,根据由模式选择单元选择的限定的时间级顺序,时间滤波单元基于图像组(GOP)消除时间冗余,其中,GOP内的最高时间级上的帧被编码为I帧,随后从各个剩余帧消除时间冗余,并且在等于剩余帧的时间级的时间级上的帧中,基于在高于剩余帧的时间级的时间级上的至少一个参考帧或具有低于剩余帧的帧指数的帧指数的至少一个参考帧来执行从剩余帧中消除时间冗余。
36.如权利要求35所述的视频编码器,其中,参考帧包括在高于剩余帧的时间级的时间级上的帧之中其帧指数差最小的帧。
37.如权利要求35所述的视频编码器,其中,GOP内的最高时间级上的帧具有最低时间帧指数。
38.如权利要求35所述的视频编码器,其中,基于剩余帧执行从剩余帧对时间冗余的消除。
39.如权利要求38所述的视频编码器,其中,时间滤波单元将当前滤波的帧编码为I帧,其中当前滤波的帧涉及其自身的比率超过预定值。
40.如权利要求26所述的视频编码器,其中,比特流产生单元产生包括关于限定的时间级顺序的信息的比特流。
41.如权利要求26所述的视频编码器,其中,比特流产生单元产生包括关于消除时间和空间冗余的顺序的信息的比特流以获得变换系数。
42.一种视频解码方法,包括(a)通过接收并解释比特流来提取关于编码的帧的信息;(b)通过反量化关于编码的帧的信息来获得变换系数;以及(c)通过以限定的时间级顺序对变换系数进行反时间变换来恢复被编码的帧。
43.如权利要求42所述的方法,在步骤(c)中,通过对变换系数执行反时间变换并且通过对已被反时间变换的变换系数执行反小波变换来恢复被编码的帧。
44.如权利要求42所述的方法,在步骤(c)中,通过对变换系数进行反空间变换并且通过对已被反空间变换的变换系数执行进行反时间变换恢复被编码的帧。
45.如权利要求44所述的方法,其中,所述反空间变换采用反小波变换。
46.如权利要求42所述的方法,其中,限定的时间级顺序是从最高时间级到最低时间级编码的帧的顺序,和从相同时间级中的最高帧指数到最低帧指数编码的帧的顺序。
47.如权利要求46所述的方法,其中,限定的时间级顺序基于图像组(GOP)而被周期性地重复。
48.如权利要求47所述的方法,其中,反时间变换包括对编码的帧进行的反时间滤波,在GOP内,根据限定的时间级顺序,所述反时间滤波从在最高时间级上的编码的帧开始并且处理。
49.如权利要求42所述的方法,其中,限定的时间级顺序根据从输入的比特流中提取的编码模式信息而被确定。
50.如权利要求49所述的方法,其中,限定的时间级顺序在相同的编码模式下基于图像组(GOP)而被周期性地重复。
51.如权利要求49所述的方法,其中,确定限定的时间级顺序的编码模式信息包括端到端延迟控制参数D,其中,由编码模式信息确定的限定的时间级顺序以这样的方式进行,即,从在具有与还未被解码的最低时间级上的编码的帧相比不超过D的指数的编码的帧之中的最高时间级上的编码帧向最低时间级上的编码帧,并且从在相同的时间级中的最低指数的编码的帧向最高指数的帧进行。
52.如权利要求42所述的方法,其中,冗余消除顺序从比特流中被提取。
53.一种从比特流恢复帧的视频解码器,包括比特流解释单元,用于解释比特流以从其提取关于编码的帧的信息;反量化单元,对关于编码的帧信息进行反量化以从其获得变换系数;反空间变换单元,执行反空间变换处理;以及反时间变换单元,以限定的时间级顺序执行反时间变换处理,其中,通过对变换系数执行反空间处理和反时间变换处理来恢复比特流的编码的帧。
54.如权利要求53所述的视频解码器,其中,反空间变换单元对已经被反时间变换单元反时间变换的变换系数执行反小波变换。
55.如权利要求53所述的视频解码器,其中,反空间变换单元对变换系数执行反空间变换处理,并且反时间变换单元对已经被反空间变换单元反空间变换的变换系数执行反时间变换处理。
56.如权利要求55所述的视频解码器,其中,反空间变换单元基于反小波变换执行反空间变换。
57.如权利要求53所述的视频解码器,其中,限定的时间是从最高时间级到最低时间级的编码的帧的顺序,和从在相同的时间级中的最高帧指数到最低帧指数的编码的帧的顺序。
58.如权利要求57所述的视频解码器,其中,限定的时间级顺序基于图像组(GOP)而周期性地重复。
59.如权利要求58所述的视频解码器,其中,反时间变换单元基于GOP来执行反时间变换,并且编码的帧被反时间滤波,从GOP之内的最高时间级上的帧开始向最低时间级上的帧进行。
60.如权利要求53所述的视频解码器,其中,比特流解释单元从输入的比特流提取编码模式信息,并且根据编码模式信息确定限定的时间级顺序。
61.如权利要求60所述的视频解码器,其中,限定的时间级顺序基于图像组(GOP)而被周期性地重复。
62.如权利要求60所述的视频解码器,其中,确定限定的时间级顺序的编码模式信息包括端到端延迟控制参数D,其中,由编码模式信息确定的限定的时间级顺序以这样的方式进行,即,从在具有与还未被解码的最低时间级上的编码的帧相比不超过D的帧指数的帧之中的最高时间级上的编码的帧向最低时间级上的解码的帧,并且从在相同时间级中的最低帧指数的帧向最高帧指数的帧进行。
63.如权利要求53所述的视频解码器,其中,冗余消除顺序被从输入的流中提取。
64.一种其上记录有计算机可读的程序以执行视频编码方法的存储介质,包括从视频序列的多个帧中以限定的时间级顺序消除时间冗余;以及通过量化从其时间冗余已被消除的帧中获得的变换系数来产生比特流。
65.一种其上记录有计算机可读的程序以执行视频编码方法的存储介质,包括通过接收和解释比特流来提取关于编码的帧的信息;通过反量化关于编码的帧的信息来获得变换系数;以及通过以限定的时间级顺序对变换系数进行反时间变换来恢复编码的帧。
全文摘要
提供一种用于可伸缩视频编码和解码的方法和设备。一种用于视频编码的方法,包括从构成输入的视频序列的多个帧中以限定的时间级顺序消除时间冗余,以及通过量化从其时间冗余已被消除的帧中获得的变换系数来产生比特流。一种用于执行编码方法视频编码器,包括时间变换单元、空间变换单元、量化单元和比特流产生单元。一种视频解码方法大体上对视频编码序列反转执行,其中,通过通过接收输入的比特流来提取关于编码的帧的信息并解释它们来执行解码。
文档编号H03M7/30GK1625265SQ200410096448
公开日2005年6月8日 申请日期2004年12月1日 优先权日2003年12月1日
发明者韩宇镇 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1