最近,在国际电信联盟-电信标准化部
门(ITU-T)的H.261、H.263和ISO/IEC的运动图像专家组-1(MPEG-1)、MPEG-2、MPEG-4之后,为发展新的运动图像标准,已经建立了ITU-T H.264(ISO/IEC MPEG4 AVC)。H.264标准与传统的运动图像压缩标准相比,其通过使用更加多的和复杂的技术显著地提高了压缩率和图像品质。因此,H.264作为一种用于
数字多媒体广播(DMB)和数字多功能盘(DVD)的应用技术替代了传统的运动图像压缩标准并引起了关注。
图1是H.264
编码器的方
框图。
参考图1,H.264编码器具有预测单元110、变换和量化单元120和
熵编码单元130。
预测单元110执行
帧间预测和
帧内预测。帧间预测是指使用参考图像来执行当前图像的
块预测,对于该参考图像,解码和去块滤波已经被执行并且被存储在
缓冲器中。即,使用图像之间的信息来执行预测。为此,提供了
运动估计(ME)单元111和
运动补偿(MC)单元112。帧内预测是指在已经被解码的图像内,使用与将被预测的块相邻的块的象素数据来执行块预测。为此,提供了帧内预测执行单元116。根据图像如I-图像、P-图像和B-图像的属性来执行帧内预测和/或帧间预测。参考图像和重构图像被存储在外部
存储器(SDRAM(同步动态
随机存取存储器))中。ME单元111在内部具有独立的内部存储器111a。通过总线采用直接存储器存取(DMA)
访问外部存储器,而不需通过总线访问内部存储器,因此,对于总线不存在负担。
变换和量化单元120变换、量化和压缩通过在预测单元110执行预测而得到的预测的
采样。
熵编码单元130根据特定的方法对量化的图像数据执行编码,以输出符合H.264标准的比特流。
如上所述,H.264/MPEG-4视频压缩器/解压缩器以块单元对采样数据执行预测处理的方式压缩视频数据,从而得到包括预测采样的预测块,并且这个预测块被变换和量化。
在图像压缩器/解压缩器中,ME单元111复杂,并且需要大量计算。
ME是使用特定的测量函数从前些帧中搜索与当前帧内的宏块最相似的宏块、并且获得表示两个宏块的运动
位置差的
运动矢量的过程。对于搜索最相似宏块的代表方法,存在用于确定搜索范围、在该范围内逐个象素地移动宏块、使用特定的测量方法计算两个宏块之间的相似度、并搜索最相似的宏块的方法。
特定的测量方法的例子是分别获得对应于在当前帧内的宏块和在搜索范围内的宏块的象素值之间的差的绝对值的方法,并且如果关于该宏块通过相加该绝对值而获得的值是最小的,则确定那个宏块为最相似宏块。
更具体地讲,前一帧和当前帧之间的宏块的相似度使用匹配参考值即相似度来判断,该相似度值是使用包括在前一帧和当前帧的宏块中的象素值来计算的。匹配参考值使用特定的测量函数来计算,对于该测量函数,可使用SAD(绝对差和)、SATD(绝对变换差和)或SSD(平方差和)。
由于用于计算匹配参考值的过程复杂,并且计算量很大,因此在对实时视频数据编码时需要许多
硬件资源。因此,已经提出了所谓的分层ME技术,以减少运动估计的计算量。分层ME技术是指将原始帧分成不同
分辨率的帧并且生成关于各分辨率的帧的分层运动矢量的技术。现在,对于众所周知的方法,存在多分辨率多候选搜索(MRMCS)。
该技术根据搜索被执行的程度分为全搜索和局部搜索。全搜索是搜索搜索区域内的所有范围,局部搜索是搜索搜索范围的一部分。
图2是示出分层ME方法的示图。
参考图2,在其中示出分层ME方法,将被编码的当前帧和前一帧分成:下层230,具有完全的原始分辨率;中层220,其分辨率通过将下层230的图像
抽取成一半而被降低;上层210,其分辨率通过再次将中层220的图像抽取成一半而被降低。该分层ME方法通过执行ME可以高速估计运动,在ME中,使用其分辨率根据各个层而不同的图像来采用各种搜索范围。
将更详细地说明分层ME方法。在下面对图2的说明中,假设通过大小为16×16的宏块单元执行ME,并且ME的搜索范围为[-16,+16]。
在第一步操作中,上层210从前几帧中搜索与大小为4×4的当前宏块最相似的宏块,该当前宏块的大小为原始宏块的1/4,该前几帧的大小已经被缩小为原始大小的1/4。搜索范围变为[-4,+4],原始搜索范围的1/4。通常,对于用于测量匹配参考值即相似度的测量函数,使用上述SAD函数。SAD是通过从当前宏块的象素值减去搜索宏块的象素值、计算其绝对值、并将所有的绝对值进行累加而获得的值。通过SAD值找到的并且与当前宏块最相似的宏块、和与当前宏块第二相似的宏块被确定,并获得各自情况的运动矢量。
在第二步操作中,中层220在前一帧的搜索范围[-s,+s]内执行搜索,并获得与当前宏块最相似的宏块及其运动矢量,该前一帧的大小被缩小为原始尺寸的一半,主要用于总共三个搜索点,包括对应于在第一步操作中找到的两个运动点的搜索点和由预测的运动矢量(PMV)指示的搜索点。该预测的运动矢量(PMV)是通过计算位于当前宏块左侧、上侧和右上侧的三个宏块的运动矢量的中值而获得的,该当前宏块在已被编码并确定运动矢量的宏块中。通常,s值取为2到4之间。
在第三步操作中,主要在下层的前一帧即原始大小的前一帧中对搜索点执行[-s,+s]的部分搜索,并获得与当前宏块最相似的宏块及其最终运动矢量,该搜索点与在第二步操作中找到的宏块对应,即宏块的左上侧的
顶点。因此,由于如果使用的是分层搜索方法而不是全搜索则减小了搜索区域,所以可减少用于ME消耗的时间和硬件资源。
以这种方式减少ME的计算量,已经提出快速ME方法。即,由于如果通过
硬件实现ME中的全搜索则使所用的内部存储器的大小变大,所以使用分层ME方法以减小内部存储器。
然而,由于H.264/AVC中所用的直接运动矢量的矢量值不在确定的值域内,所以在选择了编码器的预测模式的情况下,必须访问外部存储器以获得用于直接运动矢量的开销。因此,在H.264编码器中所用的直接运动矢量的预测开销是使用运动补偿(MC)而获得的。在这点上,由于必须访问外部存储器,因此存在增加总线负担的问题。
为解决上述和/或其他问题,本发明的一方面提供一种用于在分层运动估计方法中不需访问外部存储器地来预测运动的方法和设备。
根据本发明的一方面,提供一种使用分层运动估计方法预测运动的方法,包括:使用存储在运动估计方法中所用的内部存储器中的数据补偿运动,而不需要访问存储在外部存储器中的数据。
分层运动估计方法可遵循H.264标准,可使用直接存储器存取方法访问存储在外部存储器中的数据。
根据本发明的另一方面,提供一种用于预测运动的方法,包括:获得直接运动矢量;检查该直接运动矢量是否在运动估计(ME)中所用的内部存储器内;当该直接运动矢量在内部存储器内时,使用存储在内部存储器中的最后一层的数据对该直接运动矢量执行运动补偿(MC),而不需访问存储在外部存储器中的数据;和当该直接运动矢量不在内部存储器内时,略去对该直接运动矢量的MC。
根据本发明的另一方面,提供一种用于预测运动的设备,包括:运动估计(ME)单元,使用分层运动估计(ME)方法获得直接运动矢量;和运动补偿(MC)单元,检查该直接运动矢量是否在ME单元的内部存储器内,当该直接运动矢量在内部存储器内时,使用存储在内部存储器中的最后一层的数据对该直接运动矢量执行运动补偿,而不需访问存储在外部存储器中的数据,当该直接运动矢量不在内部存储器内时,略去对该直接运动矢量的MC。
根据本发明的另一方面,提供一种包括上述用于预测运动的设备的编码设备。
根据本发明的另一
实施例,提供一种减少用于运动补偿(MC)的处理时间的方法,包括:执行基于分层的运动估计(ME),并从外部存储器访问存储的参考图像及重构图像,以将最后一层的数据存储在内部存储器中;对双向预测和预测的运动矢量(PMV)执行MC,并得到其开销;使用内部存储器对直接模式执行MC,并得到其开销;和基于得到的开销值,确定帧间预测模式。
本发明的和/或其他方面和优点,部分内容会在后续的说明中阐述,而部分在描述中是显而易见的,或者可从本发明的实践中获知。
附图说明
通过下面结合附图进行的详细描述,本发明的上述和/或其他方面和优点将会变得清楚和更加易于理解,其中:图1是H.264编码器的方框图;图2是示出分层运动估计方法的示图;图3是根据本发明实施例的用于预测运动的方法的
流程图;和图4是根据本发明实施例的用于关于直接模式预测运动的方法的流程图。
现在,参考以下附图来详细说明本发明的实施例。在附图中相同的部件始终使用相同的标号表示。以下参考附图对实施例进行说明来解释本发明。
运动矢量具有与相邻的运动矢量相似的值,该相邻的运动矢量称作该运动矢量的相关。此外,由于直接模式的运动矢量使用运动矢量的相关而得,因此它与相邻的运动矢量具有相似的值。具体地讲,由于分层运动估计方法使用相邻运动矢量的相关,因此直接运动矢量有很大可能存在于存储ME所需的数据的内部存储器内。如果直接运动矢量不存在于内部存储器内,即使通过访问外部存储器单独获得该直接运动矢量,其开销也会很高。因此,在那种情况下,即使不对直接模式进行MC,对于压缩器/解压缩器的性能也不会产生大的影响。
因此,本发明的一方面在于提供一种用于估计运动的方法和设备。当使用分层ME技术获得用于直接模式的运动矢量时,该方法和设备通过使用ME单元111中的内部存储器能减少处理时间和由于访问外部存储器而导致的总线负担。
图3是根据本发明实施例的用于预测运动的方法的流程图。
参考图3,根据本实施例的用于预测运动的方法执行上述分层ME技术以获得开销,访问存储了参考图像及重构图像的外部存储器,以将上述最后一层的数据存储在ME单元的内部存储器中(操作310)。即,由于全搜索需要大量计算量和大容量的内部存储器,因此使用分层ME方法。在这点上,只有分层ME方法的最后一层即如图2所示的下层230的下层所需的特定区域中的数据通过访问外部存储器而被存储在内部存储器中。
接下来,对双向预测和PMV(预测的运动矢量)执行MC,并得到其开销(操作320)。此外,对直接模式使用内部存储器执行MC,并得到其开销(操作330)。最后,使用操作310到330中所得的开销值确定帧间预测的最终预测模式(操作340)。
图4是根据本发明实施例的用于关于直接模式预测运动的方法的流程图。
参考图3和4,更详细地示出了用于对直接模式执行ME(操作330)的过程。首先,获得直接运动矢量(操作432),并且检查得到的直接运动矢量是否在ME所用的内部存储器内(操作434)。如果该直接运动矢量在内部存储器内,则使用存储在内部存储器中的最后一层的数据对直接模式执行MC(操作436)。如果该直接运动矢量不在内部存储器内,则略去对该直接模式的运动补偿,并转到下一步操作(操作438)。
如上所述,通过分层ME方法获得的运动矢量与相邻宏块的运动矢量具有显著的相关性。因此,当前宏块的最终运动矢量也与相邻宏块的运动矢量有很大可能是相似的。因此,新获得的运动矢量很大可能包括在存储最后一层的数据的内部存储器内。在那种情况下,由于使用存储在内部存储器中的值执行MC,而不需通过总线访问外部存储器,因此可减少用于MC的处理时间和总线负担。
即使新获得的当前宏块的最终运动矢量不存在于内部存储器内,考虑到运动矢量的相关性,预测开销也不会增加。因此,即使不使用这个运动矢量,对图像品质也不会有大的影响。因此,在那种情况下,略去对直接模式的MC处理也是没有太大关系的。
根据上述本发明的实施例,提供了一种使用存储在ME所用的内部存储器中的数据补偿运动的方法和设备,不需访问分层ME方法中的外部存储器。
因此,使用ME中的内部存储器,而不用访问外部存储器,因此可减轻总线负担和用于MC的处理时间。
虽然已显示和描述了本发明的实施例,但本发明并不限于上述实施例。本领域的技术人员应该理解,在不脱离本发明原理和精神的情况下,可对实施例进行
修改,其范围由
权利要求及其等同物所限定。