用于支持运动可缩放性的方法和设备的制作方法

文档序号:7617125阅读:102来源:国知局
专利名称:用于支持运动可缩放性的方法和设备的制作方法
技术领域
根据本发明的设备和方法涉及视频压缩,更具体地讲,涉及在视频编码中提供运动矢量的可缩放性。
背景技术
随着包括互联网的信息通信技术的发展,视频通信以及文本和语音通信已经极迅速地增加。传统的文本通信不能满足用户的各种需要,因此,能够提供例如文本、图片、和音乐的各种类型信息的多媒体服务已经增加。由于多媒体数据的数量通常很大,所以多媒体数据需要大容量的存储介质和宽带宽以用于传输。因此,对于传输包括文本、视频、和音频的多媒体数据,压缩编码方法是必需的。
数据压缩的基本原则是消除数据冗余。通过消除其中在图像中相同颜色或者目标被重复的空间冗余、其中在运动图像中邻近的帧之间几乎没有变化或者在音频中相同的声音被重复的时间冗余、或者考虑到人类视觉和对高频率的有限感觉的心理视觉冗余,数据能够被压缩。
目前,大多数视频编码标准是基于运动补偿/估计编码。通过使用基于运动补偿的时间滤波,时间冗余被消除,并且通过利用空间转换,空间冗余被消除。
需要传输介质以传输在消除数据冗余之后产生的多媒体。根据传输介质,传输性能是不同的。目前使用的传输介质具有各种传输速度。例如,超高速通信网络每秒能够传输几十兆位的数据,而移动通信网络具有每秒384千比特的传输速度。
为了支持具有各种速度的传输介质或者为了以适应传输环境的速度传输多媒体,具有可缩放性的数据编码方法可与多媒体环境相适应。
可缩放性表示使解码器或者预解码器能够根据例如比特率、误码率、和系统资源的条件部分地解码单个压缩比特流的特性。通过只利用已经根据具有可缩放性的方法编码的比特流的一部分,解码器或者预解码器能够重建具有不同画面质量、分辨率、或者帧频的多媒体序列。
运动图像专家组-21(MPEG-21)13部分提供可缩放视频编码标准。基于小波的空间变换方法被认为是标准的可缩放的视频编码最有力的候选物。而且,在美国第2003/0202599A1号专利公开的技术正作为支持时间可缩放性的编码方法而被逐渐地注意。
尽管不使用基于小波的压缩,但MPEG4或者H.264也利用多层来提供空间和时间可缩放性。
很多努力通常被用于支持视频质量、空间和时间可缩放性,然而,却很少对提供同样作为对于有效的数据压缩的重要因素的运动矢量的可缩放性进行研究。
最近几年,研究已经开始成为用于支持运动矢量的可缩放性的技术。图1显示包括多层的运动矢量的例子。在低比特率的视频传输中,通过节省用于例如运动矢量、用于运动估计的块的可变大小和位置、和为每个可变大小块确定的运动矢量的信息(以下共同称为“运动信息”)的比特并将这些比特分配给组织信息,视频质量将提高。因此,希望在运动估计之后传输分为多层的运动信息。
对于具有16×16大小的包括16×16、16×8、8×16、8×8、8×4、4×8、和4×4子块组合的每个宏块执行可变块大小运动预测。每个子块被分配具有四分之一象素精度的运动矢量。根据以下步骤运动矢量被分解成层第一,在16×16的块大小上以一个象素的精度执行运动矢量搜索。搜索的运动矢量表示运动矢量基层。例如,图1显示在基层中的宏块的运动矢量1。
第二,在16×16和8×8的块大小上以半个象素的精度执行运动矢量搜索。搜索的运动矢量和基层的运动矢量之差是之后被传输到解码器终端的第一增强层的运动矢量残余。残余矢量11至14被计算以用于由第一增强层确定的可变块大小。然而,在残余矢量11至14的每一个和基层运动矢量1之间的残余实际上被传输到解码器终端。第一增强层的运动矢量残余分别对应于图2显示的残余矢量15至18。
第三,在所有子块大小上以四分之一象素的精度执行运动矢量搜索。搜索的运动矢量和基层运动矢量1与第一增强层的每一个运动矢量残余之和的差是之后被传输到解码器终端的第二增强层的运动矢量残余。例如,宏块A的运动矢量残余通过从残余矢量142减去残余矢量14,即残余矢量18和运动矢量1之和,而得到。
最后,这三层的运动信息被单独编码。
参照图1,原始的运动矢量被分成三层基层和第一及第二增强层。由于在空间分解中具有运动信息的每一个帧被分解成如上所述的基层和几个增强层,所以整个运动矢量信息被组织成如图1显示的组。基层包括在传输期间不能够被忽略的具有最高优先权的基本运动矢量信息。
因此,基层的比特率必须等于或者小于由网络支持的最小带宽,而传输基层和增强层的比特率必须等于或者小于最大带宽。
为了覆盖宽范围的空间分辨率和比特率,上述方法通过根据空间分辨率确定矢量精度使得可支持运动信息的可缩放性。
对于以低比特率压缩的比特流,由于更多比特被分配到运动矢量并且较少比特被分配到组织信息中,所以视频质量的降低能够经常发生。为了解决这个问题,根据图1显示的运动精度,比特流能够被组织成基层和增强层。
然而,当运动矢量信息的数量太少而不能被解码为基层并且运动矢量信息的数量太大而不能被解码为增强层时,分层方法使得可确定运动矢量信息的最佳数量并实现真正的运动矢量可缩放性。因此,分层方法不能够根据变化网络情况调整运动矢量信息的数量。
也就是说,当上述方法能够实现每层的可缩放性时,当在单个层中一部分运动信息在任意位置被截断时,性能降低。由于运动信息被布置在一层内而不管相关的重要性,所以在任意点截断可导致重要运动信息的丢失。

发明内容
本发明提供一种用于通过提高由每层支持的运动可缩放性来在一层内适应地执行运动矢量可缩放性的方法。
本发明还提供一种为了支持在一层内运动矢量的可缩放性而根据重要性重排列运动矢量的方法。
本发明还提供一种仅利用低层的信息重排列运动矢量而不需要附加信息的方法。
根据本发明的一个方面,提供了一种运动估计设备,包括运动估计模块,用于根据预定的象素精度搜索使每层的开销函数J最小化的可变块大小和运动矢量;采样模块,当象素精度小于一个象素大小时用于上采样原始帧,在搜索具有比原始帧低的分辨率的层的运动矢量之前下采样原始帧到低分辨率;运动残余模块,计算在各层发现的运动矢量之间的残余;重排列模块,用于利用从搜索的低层获得的重要性重排列在发现的运动矢量之间的残余和发现的可变块大小信息。
根据本发明的另一个方面,提供了一种视频编码器,包括运动信息产生模块,为了确定运动矢量而对画面组(GOP)中的对帧执行运动估计并根据它们的重要性重排列运动矢量;时间滤波模块,用于通过利用运动矢量沿时间轴方向将帧分解为低通帧和高通帧来减少时间冗余;空间变换模块,用于从已经被时间滤波模块消除时间冗余的帧消除空间冗余,并创建变换系数;和量化模块,用于量化变换系数。
根据本发明的另一个方面,提供了一种视频解码器,包括平均信息量解码模块,用于解释比特流并从该比特流中提取组织信息和运动信息;运动信息重建模块,用于利用运动信息之中的低层的运动信息发现重要性并且通过参照重要性按原始顺序相反地排列当前层的运动矢量;逆空间变换模块,用于为了将包含在组织信息中的系数相反地变换为空间域中的变换系数而执行逆空间变换;和逆时间滤波模块,用于利用相反地排列的运动矢量来对空间域的变换系数执行逆时间滤波并重建组成视频序列的帧。
根据本发明的另一个方面,提供了一种运动估计方法,包括从原始帧获得基层的可变块大小和运动矢量;获得第一增强层的运动矢量;计算基层的运动矢量和第一增强层的运动矢量之间的残余;和按运动矢量的重要性的顺序重排列运动矢量残余。
根据本发明的另一个方面,提供了一种运动估计方法,包括执行原始帧的第一下采样到基层的分辨率;执行对以第一下采样获得的帧的搜索以发现基层的可变块大小和运动矢量;执行原始帧的第二下采样到第一增强层分辨率;执行对以第二下采样获得的帧的搜索以发现第一增强层的可变块大小和运动矢量;为了使基层和第一增强层的运动矢量比例相等,通过相应于第一增强层的分辨率对基层的分辨率的倍数的比例因子对在基层发现的运动矢量按比例缩放;计算第一增强层的运动矢量和基层的缩放到运动矢量之间的残余;和按从包括在基层中的运动信息获得的重要性的顺序重排列残余。
根据本发明的另一个方面,提供了一种视频编码方法,包括为了确定运动矢量而对在画面组(GOP)中的帧执行运动估计,并且重排列运动矢量;利用运动矢量来减少帧中的时间冗余;消除已经被消除时间冗余的帧中的空间冗余;和量化通过消除空间冗余创建的变换系数和重排列的运动矢量。
根据本发明的另一个方面,提供了一种视频解码方法,包括解释输入的比特流并从该比特流中提取组织信息和运动信息;按原始顺序相反排列在运动信息中包括的运动矢量;和对在组织信息中包括的变换系数执行逆空间变换并且利用运动矢量对获得的变换系数执行逆时间滤波。


下面通过结合附图详细地描述其示例性实施例,本发明的上述和其他方面将会变得更加清楚,其中图1示出计算多层运动矢量的概念;图2显示在图1中显示的第一增强层的例子;图3显示视频/图像编码系统总的结构;图4A是根据本发明的示例性实施例的编码器的方框图;图4B是图4A显示的运动信息产生模块120的方框图;图5是用于解释根据本发明的第一示例性实施例在一层中实现运动矢量可缩放性的方法的示图;图6A显示分解成子宏块的宏块的例子;图6B显示进一步分解成更小块的子宏块的例子;图7示出用于具有八分之一象素精度的运动矢量搜索的插值过程;图8显示从基层中获得重要性信息的过程的例子;图9是解释用于根据本发明的第二示例性实施例在一层中执行运动矢量可缩放性的方法的示图;图10显示另一个从基层中获得重要性信息的过程的例子;图11A是根据本发明示例性实施例的解码器的方框图;图11B是在图11A中显示的运动信息重建模块的方框图;图12A示意性显示比特流的总的格式;图12B显示在图12A中显示的每一个画面组(GOP)字段的具体结构;和图12C显示在图12B中显示的MV字段的具体结构。
具体实施例方式
现在参照其中显示本发明示例性实施例的附图来更详细地说明本发明的示例性实施例。参照以下示例性实施例和附图的详细说明,本发明的各方面和实现其方法可以被更容易地理解。然而,本发明可以以很多不同的形式来实现,并且不应该被解释成仅限制于这里阐述的示例性实施例。当然,这些示例性实施例被提供从而公开将彻底和完整并且将本发明的概念全面传达给本领域技术人员,本发明仅被所附权利要求定义。整个说明书中相同的标号表示相同的元件。
图3显示视频/图像编码系统总的结构。参照图3,视频/图像编码系统包括编码器100、预解码器200、和解码器300。编码器100将输入的视频/图像编码为比特流20。预解码器200根据鉴于与解码器300通信的环境和性能而确定的例如比特率、分辨率、或者帧频的提取条件截断从编码器100接收的比特流20并提取各种比特流25。
替代于预解码器200,解码器300接收提取的比特流25并且产生输出视频/图像30。当然,解码器300或者预解码器200,或者它们二者都可以根据提取条件提取比特流25。
图4A是视频编码系统中编码器100的方框图。编码器100包括分割模块110、运动信息产生模块120、时间滤波模块130、空间变换模块140、量化模块150、和平均信息量编码模块160。
分割模块110将输入视频10分解成几个画面组(GOP),画面组的每个作为单位被独立编码。
运动信息产生模块120提取输入的GOP,为了确定运动矢量,对GOP的帧执行运动估计,并且根据它们相对的重要性重排序运动矢量。参照图4B,运动信息产生模块120包括运动估计模块121、采样模块122、运动残余模块123、和重排列模块124。
根据预定的象素精度,运动估计模块121搜索使在每层中的开销函数最小化的可变块大小和运动矢量。
采样模块122当象素精度小于一个象素大小时通过预定的滤波器上采样原始帧,并且在搜索比原始帧分辨率低的每层的运动矢量之前下采样原始帧为低分辨率。
运动残余模块123计算并且存储在各层发现的运动矢量之间的残余。
重排列模块124利用来自低层的重要性信息来重新排序关于当前层的信息。
运动信息产生模块120的操作现在将被说明。本发明的各方面使用通过产生包括如参照图1和图2所说明的多层的运动矢量来支持运动矢量可缩放性的方法。在一种模式中,通过根据运动矢量搜索的精度对具有相同分辨率的帧产生包括多层的运动矢量,运动矢量可缩放性独立于空间可缩放性而被执行(“第一示例性实施例”)。在另一种模式中,运动矢量可缩放性通过与空间可缩放性的相互作用,即通过随着增加分辨率而增加运动矢量搜索的精度而被执行(“第二示例性实施例”)。
参照图5本发明第一实施例将被说明。参照图5,原始帧被分成分别使用1/2、1/4、和1/8象素精度的基层和第一及第二增强层。这里提供的仅为例子,并且对本领域的技术人员很清楚,这些层的数量或象素精度可变化。
首先,在操作步骤S1中,运动矢量搜索以1/2的象素精度被执行,以发现原始帧中基层的可变块大小和运动矢量。
通常,为了实现运动矢量搜索,当前图像帧被分成预定大小即16×16象素的宏块,并且为了导出两个宏块之差(误差),根据预定象素精度将参考图像帧中的宏块与当前图像帧中的相应宏块逐象素相比。提供最小误差和的矢量被指定为在当前图像帧中宏块的运动矢量。搜索范围可以利用参数被预先确定。当运动矢量在搜索范围中存在时,小范围搜索减少搜索时间并展示良好性能。然而,由于运动矢量可能不在该范围中存在,所以对于快速运动图像,预测的精度将被减少。因此,根据图像的特性,搜索范围被适当地选择。由于在基层的运动矢量影响对其他层的运动矢量搜索的精度和效率,所以整个区搜索是被希望的。
利用代替上述固定大小块的可变大小块,运动估计可以被执行。这个方法也在逐块基础上(例如,16×16象素块)被执行。如图6A所示,宏块被分成四个子宏块,即16×16、16×8、8×16、和8×8块。如图6B所示,8×8子宏块还能够分成更小的块,即8×8、8×4、4×8、和4×4块。
为了在宏块和子宏块之间确定用于运动估计的最佳块大小,使用由等式(1)定义的开销函数JJ=D+λ×R 等式(1),其中,D是用于编码帧的差的比特的数量,R是用于编码估计的运动矢量的比特的数量,和λ是拉格朗日系数。然而,当执行例如运动补偿时间滤波(MCTF)或无约束的MCTF(UMCTF)的时间滤波时,在时间低通帧中的能量随时间水平变得更高而增加。因此,为了当增加时间水平时维持不变的速率-失真关系,拉格朗日系数λ的值必须也增加。例如,拉格朗日系数λ的值随着时间水平增加到2的平方根( )倍。
用于利用开销函数在某个区上的运动估计的最佳块大小在16×16、16×8、8×16、8×8、8×4、4×8、和4×4块之中被确定以最小化开销函数。
实际上,最佳块大小和与该块大小关联的运动矢量分量不是被单独确定而是被一起确定以最小化开销函数。
以预定的象素精度做运动矢量搜索。一个象素精度搜索不需要附加过程,而具有小于一个象素的步长的1/2、1/4、和1/8象素精度搜索在执行逐个象素搜索前需要分别以2、4、和8作为因子来上采样原始帧。
图7示出具有1/8象素精度的运动矢量搜索的插值过程。对于1/8象素运动矢量搜索,原始帧必须通过因子8被上采样(比率为8∶1)。原始帧利用滤波器1而被上采样到2∶1分辨率帧,利用滤波器2使2∶1分辨率帧被上采样到4∶1分辨率帧,并且利用滤波器3使4∶1分辨率帧被上采样到8∶1分辨率帧。三个滤波器可以相同或者不同。
返回参照图5,在操作步骤S1中获得基层的最佳可变块大小和运动矢量之后,在操作步骤S2中对第一增强层的运动矢量执行运动矢量搜索。利用在基层中找到的运动矢量作为开始点,运动矢量搜索在相同位置附近的搜索区内被执行,因此,与在基层中的全区搜索相比,显著减少了计算载荷。
在第一实施例中,由于基层的空间分辨率与第一和第二增强层的空间分辨率相同,所以从在基层中的运动矢量搜索中找到的可变块大小也能够被用于在增强层中的运动矢量搜索。然而,由于开销函数随着象素精度改变,所以可变块大小也可以变化。因此,如果编码器100支持充分的处理能力,则通过搜索新可变块大小更好的结果可以被获得。在说明性的实施例中,为基层找到的可变块大小被用于在增强层中的运动矢量搜索。
在操作步骤S3中,在基层中的运动矢量和在第一增强层中的运动矢量之间的残余(差)被计算。通过仅将使用基层运动矢量的残余存储在第一增强层中,存储运动矢量所需的数据量能够被减少。
在操作步骤S4中,以运动矢量重要性的顺序,在运动矢量之间的残余被重新排序。通过将其截断轻微影响图像质量的运动矢量安置在最后,可在单个层内实现可缩放性。
各种类型的信息能够被使用以确定运动矢量的重要性。该信息能够是运动矢量系数的绝对值、可变块大小运动搜索中运动块的大小、或者两者的组合。当两个标准的组合能够被用作重要性信息时,除了按他们的量值(第二标准)的顺序被排列的相同块大小的运动矢量之外,运动矢量按运动块大小(第一标准)的顺序被排列,或者反之亦然。
大运动矢量系数表示很多运动。运动矢量按从最大运动到最小运动的顺序被重排列,并且比特流按从最小运动到最大运动的顺序被顺序截断,因此,有效地提高运动矢量的可缩放性。
大的可变块大小被用在单调的和统一的运动区例如背景画面,而小的可变块大小经常被用在复杂的和快速地改变的运动区。因此,更小块大小的运动矢量可以被认为具有更高重要性。
重要性信息能够通过低层的运动信息被获得。通过获得基层的运动信息,第一增强层能够确定如何排列运动矢量残余。由于仅残余能够被存储在第一增强层中,所以第二增强层需要获得基层和第一增强层的运动信息。也就是说,通过基层的运动信息,第一增强层的运动矢量能够被识别。
图8显示从基层获得重要性信息的过程的例子。参照图8,基层的运动矢量按由数字显示的顺序被排列,然后在不重排序的情况下被编码。由于在获得重要性信息时被参考的低层的缺少,基层的运动信息不能够被重排序。然而,因为基层的整个运动或者组织信息被传输给解码器(图3的300),所以,基层的运动矢量不必具有可缩放性。
在第一增强层中的运动矢量残余利用基层的重要性信息被重排列。然后,预解码器(图3的200)在末端从运动矢量截断,因此,在第一增强层内实现可缩放性。
将重排列运动矢量残余的顺序单独存储在第一增强层中以用于传输给解码器300可导致额外费用而非实现可缩放性。然而,本发明仅基于特定标准确定重要性并且因为重要性信息能够被低层中的数据识别而不需要重排序信息被记录在单独空间中。
例如,当重要性由运动矢量的数量确定时,在第一增强层中相应块的运动矢量残余可以按基层中的运动矢量数量的顺序被重排列。解码器300也决定如何按在基层中的没有单独的排序信息的运动矢量数量的相反顺序排列第一增强层中的运动矢量残余。
转向图5,在操作S5中,运动矢量搜索被执行以发现第二增强层的运动矢量。然后,在操作S6中,在搜索的运动矢量和与基层的运动矢量和第一增强层的运动矢量残余之和相应的第一增强层的运动矢量之间的残余被计算。最后,在操作S7中,获得的残余按来自低层的重要性的顺序被重排列。
图9是,用于解释当基层和第一和第二增强层具有不同的识别率时根据本发明的第二示例性实施例在一层中执行运动矢量的可缩放性的方法的示图。这里,原始帧被分成基层和第一和第二增强层,并且每一层具有紧挨着的低层的两倍分辨率和象素精度。
在操作S10中,由于第二增强层具有原始帧大小,所以原始帧在基层中被下采样其四分之一大小。在操作S11中,运动矢量搜索被执行以发现基层的可变块大小和运动矢量。
在操作S12中,原始帧在第一增强层中被下采样到其一半大小,接下来在操作S13中执行运动矢量搜索以发现第一增强层的可变块大小和运动矢量。与第一实施例不同,由于第一增强层具有与基层不同的分辨率,所以需要第一增强层确定单独的可变块大小。
在操作S14中,在计算第一增强层的运动矢量残余之前,在基层中发现的运动矢量被放大到两倍以使在基层和第一增强层中的运动矢量的比例相等。在操作S15中,在第一增强层的运动矢量和放大的基层的运动矢量之间的残余被计算。
在操作S16中,残余按从基层的运动信息中获得的重要性的顺序被重排列。图10示出操作S16。对于具有原始帧的四分之一大小的基层,运动信息按预定顺序被排列而不被重排序。另一方面,对于第一增强层,运动信息按从基层中获得的重要性的顺序被重排列。然而,由于可变大小的形状或者数量逐层地改变,所以在第二增强层的所有块的重要性信息可能无法从基层获得。
基层的信息使图10中的块1a到1d和块4a到4c的重要性等级不能够彼此区分。在这种情况下,这些块的运动矢量被认为具有相同的优先权并能够被随机排列。
此外,即使运动矢量在第一增强层中被随机排列,利用第一增强层的可变块大小,运动矢量仍能够按特定顺序被重排列。例如,如图10所示,在块4a至4c之间最大的4c被指定比剩余的块4a和4b低的优先权。
参照图4A,为了减少时间冗余,时间滤波模块130使用被运动估计模块121获得的运动矢量以在时间轴方向上将帧分解成低通帧和高通帧。作为时间滤波算法,MCTF、或者UMCTF能够被使用。
空间变换模块140利用离散余弦变换(DCT)变换或者小波变换从已经被时间滤波模块130消除时间冗余的帧中消除空间冗余,并且创建变换系数。
量化模块150对由空间变换模块140获得的变换系数执行量化。量化是通过截断十进制数字将实变换系数转换成离散值的过程。详细地说,当小波变换被用于空间变换时,嵌入量化被经常使用。嵌入量化的例子包括内嵌零树小波编码算法(EZW)、分层树的集合划分算法(SPIHT)、内嵌式零块编码(EZBC),等等。
平均信息量编码模块160将被量化模块150量化的变换系数和由运动信息产生模块120产生的运动信息无损编码成比特流20。
图11A是根据本发明示例性实施例的视频编码系统中的解码器300的方框图。
解码器300包括平均信息量解码模块310、逆量化模块320、逆空间变换模块330、逆时间滤波模块340、和运动信息重建模块350。
与平均信息量编码模块(图4A的160)执行相反操作的平均信息量解码模块310解释输入的比特流20并且从比特流20提取组织信息(编码的帧数据)和运动信息。
运动信息重建模块350从平均信息量解码模块310接收运动信息,利用运动信息之中的低层的运动信息来发现重要性,并且通过参考该重要性按原始顺序相反地排列当前层的运动矢量。这是将用于支持运动矢量可缩放性的重排列的格式转换回原始格式的过程。
参照图11B,运动信息重建模块350的操作将被更详细地说明。参照图11B,运动信息重建模块350包括逆排列模块351和运动相加模块352。
逆排列模块351利用预定的重要性按原始顺序相反地排列从平均信息量解码模块310中接收的运动信息。解码器300除了从基层和增强层已经接收的信息之外,不需要任何逆排列的单独信息。
通过将根据其运动信息将被重排列的重要性信息记录在保留字段的一部分(“重要性类型字段”)中以用于传输给解码器300,重要性能够在各种重要性标准之中被预先确定。例如,如果重要性类型字段被分别地设置为“00”、“01”、和“02”,则这些可以指重要性分别基于运动矢量的绝对量值、可变块大小、和两者的结合(前者和后者是第一和第二标准)被确定。
例如,如果重要性通过运动矢量的量值被确定,则在基层的运动信息按运动矢量量值2.48、1.54、4.24、和3.92的顺序被排列。由于第一增强层的运动矢量残余按当前重要性的顺序被排列,所以这些残余需要按基层的运动矢量的量值的顺序被排列。也就是说,当从比特流中读取的运动矢量残余按分别具有4.24、3.92、2.48、和1.54量值的a、b、c、和d的顺序被排列时,残余应该按基层运动矢量被排列的c、d、a、和b原始顺序被排列。
为了重建当前层的运动矢量,运动相加模块352从按原始顺序相反地排列的运动信息中获得运动残余并且将每一个运动残余相加到低层的运动矢量。
逆量化模块320对于提取的组织信息执行逆量化并输出变换系数。根据选择的量化方案,可不需要逆量化。当选择嵌入量化需要逆嵌入量化时,解码器300可以不包括用于其它典型量化方法的逆量化模块320。
执行空间变换模块(图4A的140)的相反操作的逆空间变换模块330将变换系数相反地变换为空间域的变换系数。例如,对于DCT变换,变换系数从频域被逆变换到空间域。对于小波变换,变换系数从小波域被逆变换到空间域。
逆时间滤波模块340利用从运动信息重建模块350输出的重建运动矢量对空间域的变换系数,即由逆空间变换模块340创建的时间残余图像,执行逆时间滤波,以重建组成视频序列的帧。
在这里使用的术语“模块”指执行某种任务的软件或者硬件元素,例如现场可编程门阵列(FPGA)或者专用集成电路(ASIC),但是不被限制在这些。模块可以方便地被配置成驻留在可寻址存储介质上和被配置成在一个或多个处理器上执行。因此,模块可以包括作为例子的元素例如软体元素、面向对象的软件元素、类元素和任务元素、处理、函数、隅性、过程、子程序、程序代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、表、数组、和变量。在元素和模块提供的功能可以被组合成更少的元素和模块或者进一步分成附加的元素和模块。此外,元素和模块可以被实现从而在通信系统中他们执行一个或者多个计算机。
图12A至图12C示出根据本发明示例性的实施例的比特流400的结构,其中,图12A显示比特流400的总的格式。
参照图12A,比特流400包括序列头字段410和包括430至450的至少一个GOP字段的数据字段420。
序列头字段410指定例如帧宽度(2字节)和高度(2字节)、GOP大小(1字节)、和帧频(1字节)的图像特性。数据字段420指定整体图像信息和重建图像需要的其它信息(运动矢量、参考帧号)。
图12B显示每个GOP字段430的详细结构。参照图12B,GOP字段430包括GOP头字段460、指定指关于经受时间滤波的第一帧(在不参考另一个帧的情况下被编码)的信息的T(0)字段470、指定一组运动矢量的MV字段480、和指定关于除了第一帧之外的帧(参考另一个帧被编码)的信息的“其他T”字段490。与指定整个视频序列的特性的序列头字段410不同,GOP头字段460指定例如和GOP关联的时间滤波顺序或者时间水平的关于GOP的图像特性。
图12C显示包括MV(1)至MV(n-1)字段的MV字段480的详细结构。
MV(1)至MV(n-1)字段的每个指定例如大小和位置的每个可变大小块的一对信息和运动矢量信息。根据本发明提出的“重要性”,信息被记录到MV(1)至MV(n-1)字段的顺序被确定。如果预解码器(图3的200)或者解码器(图3的300)想要支持运动可缩放性,则按需要MV字段480可以从末端被截断。也就是,运动可缩放性能够通过从更少的运动重要信息中截断而实现。
尽管参照其示例性实施例本发明已经被详细显示和说明,但本领域的普通技术人员应该理解,在不脱离由下述权利要求定义的本发明的精神和范围的情况下,可对其做出各种形式和细节上的改变。
本发明实现真正的运动矢量可缩放性,因此,将包括适当数量比特的比特流提供给用户以适应改变的网络情况。
本发明也能够通过根据环境的特定要求如需要增加/减少它们以互补方式调整运动信息和组织信息的数量,因此,提高了图像质量。
权利要求
1.一种运动估计设备,包括运动估计模块,用于根据预定的象素精度搜索使多层的每层的开销函数J最小化的可变块大小和运动矢量;运动残余模块,计算在各层发现的运动矢量之间的残余;和重排列模块,用于利用从搜索的低层获得的重要性重排列在发现的运动矢量之间的残余和发现的可变块大小信息。
2.如权利要求1所述的设备,其中,利用等式J=D+λ×R,开销函数J被计算,其中,D是用于编码帧差的比特的数量,R是用于编码估计的运动矢量的比特的数量,和λ是拉格朗日控制变量。
3.如权利要求1所述的设备,其中,通过利用预定滤波器在象素之间插值,帧被上采样。
4.如权利要求1所述的设备,其中,重要性由低层的运动矢量系数的绝对值来确定。
5.如权利要求1所述的设备,其中,重要性由低层的可变块大小来确定。
6.一种视频编码器,包括运动信息产生模块,为了确定运动矢量而对帧执行运动估计并根据它们的重要性重排列运动矢量;时间滤波模块,用于通过利用运动矢量沿时间轴方向将帧分解为低通帧和高通帧来减少时间冗余;空间变换模块,用于从已经被时间滤波模块消除时间冗余的帧消除空间冗余,并创建变换系数;量化模块,用于量化变换系数;和平均信息量编码模块,用于无损编码量化的变换系数和重排列的运动矢量。
7.如权利要求6所述的视频编码器,其中,通过利用离散余弦变换(DCT)或者小波变换,空间变换被执行。
8.如权利要求6所述的视频编码器,其中,运动信息产生模块包括运动估计模块,用于根据预定的象素精度使开销函数J最小化的可变块大小和运动矢量;和重排列模块,用于根据它们的重要性来重排列运动矢量和可变块大小信息。
9.如权利要求6所述的视频编码器,其中,运动信息产生模块包括运动估计模块,用于根据预定的象素精度从帧搜索使多层的每层的开销函数J最小化的可变块大小和运动矢量;运动残余模块,计算在各层发现的运动矢量之间的残余;和重排列模块,用于利用从搜索的低层获得的重要性重排列在发现的运动矢量之间的残余和发现的可变块大小信息。
10.如权利要求9所述的视频编码器,其中,重要性由低层的运动矢量系数的绝对值来确定。
11.如权利要求9所述的视频编码器,其中,重要性由低层的可变块大小来确定。
12.一种视频解码器,包括平均信息量解码模块,用于解释比特流并从该比特流中提取组织信息和运动信息;运动信息重建模块,用于利用运动信息之中的低层的运动信息发现重要性并且通过参照重要性按原始顺序相反地排列当前层的运动矢量;逆空间变换模块,用于为了将包含在组织信息中的系数相反地变换为空间域中的变换系数而执行逆空间变换;和逆时间滤波模块,用于利用相反地排列的运动矢量来对空间域的变换系数执行逆时间滤波并重建组成视频序列的帧。
13.如权利要求12所述的解码器,还包括逆量化模块,在执行逆空间变换前逆量化变换系数。
14.如权利要求12所述的解码器,其中,运动信息重建模块包括逆排列模块,用于利用在编码方案中预定的重要性按原始顺序相反地排列从平均信息量解码模块接收到的运动信息;和运动相加模块,用于从被相反排列的运动信息中获得运动残余并将每个运动残余相加到低层的运动矢量。
15.如权利要求14所述的解码器,其中,通过将根据其运动信息将被重排列的重要性信息记录在比特流的一部分中以用于传输给解码器,重要性在多种重要性标准之中被预先确定。
16.一种运动估计方法,包括从原始帧获得基层的可变块大小和运动矢量;获得第一增强层的运动矢量;计算基层的运动矢量和第一增强层的运动矢量之间的残余;和按运动矢量的重要性的顺序重排列运动矢量残余。
17.如权利要求16所述的运动估计方法,还包括搜索在第二增强层中的运动矢量;计算搜索的运动矢量和基层的运动矢量与第一增强层的运动矢量残余之和之间的残余;和根据从低层获得的重要性重排列残余。
18.如权利要求16所述的运动估计方法,其中,确定使利用等式J=D+λ×R计算的开销函数J最小化的可变块大小和运动矢量,其中,D是用于编码帧差的比特的数量,R是用于编码估计的运动矢量的比特的数量,和λ是拉格朗日控制变量。
19.如权利要求16所述的运动估计方法,其中,重要性通过低层的运动矢量系数的绝对值被确定。
20.如权利要求16所述的运动估计方法,其中,重要性通过低层的可变块大小被确定。
21.一种运动估计方法,包括执行原始帧的第一下采样到基层的分辨率;执行对以第一下采样获得的帧的搜索以发现基层的可变块大小和运动矢量;执行原始帧的第二下采样到第一增强层的分辨率;执行对以第二下采样获得的帧的搜索以发现第一增强层的可变块大小和运动矢量;为了使基层和第一增强层的运动矢量比例相等,通过相应于第一增强层的分辨率对基层的分辨率的倍数的比例因子对在基层发现的运动矢量按比例缩放;计算第一增强层的运动矢量和基层的缩放的运动矢量之间的残余;和按从包括在基层中的运动信息获得的重要性的顺序重排列残余。
22.一种视频编码方法,包括为了确定运动矢量而对在画面组(GOP)中的帧执行运动估计,并且重排列运动矢量;利用运动矢量来减少帧中的时间冗余;消除已经被消除时间冗余的帧中的空间冗余;和量化通过消除空间冗余创建的变换系数和重排列的运动矢量。
23.如权利要求22所述的视频编码方法,其中,根据由各运动矢量表示的帧块的重要性,运动矢量被重排列。
24.如权利要求22所述的视频编码方法,其中,消除空间冗余包括执行离散余弦变换(DCT)或者小波变换。
25.如权利要求23所述的视频编码方法,还包括将量化的变换系数和产生的运动信息无损编码为比特流。
26.如权利要求23所述的视频编码方法,其中,运动矢量的确定和重排列包括搜索原始帧中的基层的可变块大小和运动矢量;搜索在第一增强层中的运动矢量;计算在基层的运动矢量和第一增强层的运动矢量之间的残余;和按运动矢量的重要性的顺序重排列运动矢量残余。
27.如权利要求23所述的视频编码方法,其中,重要性通过低层的运动矢量系数的绝对值被确定。
28.如权利要求23所述的视频编码方法,其中,重要性通过低层的可变块大小被确定。
29.一种视频解码方法,包括解释输入的比特流并从该比特流中提取组织信息和运动信息;按原始顺序相反排列在运动信息中包括的运动矢量;和对在组织信息中包括的变换系数执行逆空间变换并且利用运动矢量对变换系数执行逆时间滤波。
30.如权利要求29所述的视频解码方法,还包括在执行逆空间变换之前,逆量化变换系数。
31.如权利要求29所述的视频解码方法,其中,相反地排列运动矢量包括利用预定的重要性按原始顺序相反地排列运动信息;和通过从按原始顺序相反地排列的运动信息中获得运动残余并将每个运动残余相加到低层的运动矢量来重建当前层的运动矢量。
32.如权利要求29所述的视频解码方法,其中,通过将根据其运动信息将被重排列的重要性信息记录在比特流的一部分中以用于传输给解码器,重要性在多种重要性标准之中被预先确定。
全文摘要
提供了一种用于在可缩放的视频编码中支持运动矢量可缩放性的方法和设备。该运动估计设备包括运动估计模块,用于根据预定的象素精度搜索使每层的开销函数最小化的可变块大小和运动矢量;采样模块,当象素精度小于一个象素大小时用于上采样原始帧,在搜索具有比原始帧低的分辨率的层的运动矢量之前下采样原始帧到低分辨率;运动残余模块,计算在各层发现的运动矢量之间的残余;和重排列模块,用于利用从搜索的低层获得的重要性重排列在发现的运动矢量之间的残余和发现的可变块大小信息。因此,真正的运动可缩放性能够被实现以提高对变化的网络环境的适应性。
文档编号H04N7/26GK1684517SQ20051006347
公开日2005年10月19日 申请日期2005年4月11日 优先权日2004年4月13日
发明者李培根, 车尚昌, 河昊振, 韩宇镇 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1