CN101938652B - 运动向量估计器 - Google Patents
运动向量估计器 Download PDFInfo
- Publication number
- CN101938652B CN101938652B CN201010253443.3A CN201010253443A CN101938652B CN 101938652 B CN101938652 B CN 101938652B CN 201010253443 A CN201010253443 A CN 201010253443A CN 101938652 B CN101938652 B CN 101938652B
- Authority
- CN
- China
- Prior art keywords
- sampling
- reference frame
- motion vector
- block
- data processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000005070 sampling Methods 0.000 claims description 167
- 238000000034 method Methods 0.000 claims description 25
- 238000001914 filtration Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 61
- 230000008569 process Effects 0.000 description 20
- 230000005055 memory storage Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000012804 iterative process Methods 0.000 description 3
- 235000017060 Arachis glabrata Nutrition 0.000 description 1
- 241001553178 Arachis glabrata Species 0.000 description 1
- 235000010777 Arachis hypogaea Nutrition 0.000 description 1
- 235000018262 Arachis monticola Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000020232 peanut Nutrition 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及运动向量估计器。提供一种数据处理装置,其配置成接收下采样源块和下采样参考帧部分。该数据处理装置包括内插电路,其配置成在所述下采样参考帧部分的像素之间内插以生成内插的下采样参考帧块的集合。成本函数计算电路计算成本函数值,所述成本函数值表示在下采样源块和每一个内插的下采样参考帧块之间的差异。最小化电路识别最低的成本函数值,以及估计运动向量生成电路据此生成估计运动向量。
Description
技术领域
本发明涉及视频编码,特别地涉及视频编码中的运动搜索,以便生成运动向量。
背景技术
运动搜索是当代视频编码的很重要的一部分,并且已知是高带宽且存储器密集型的活动。典型地,执行基于块的运动估计,其中当前帧被细分为像素块。这些像素块的每一个(这里也被称为源块)接着与参考帧(其可以例如是先前帧)相比较以在其中寻找最佳匹配的块。从这个最佳匹配的块的位置到当前源块的位移定义了运动向量,其被视频编码器用来参考该最佳匹配的块而利用运动向量以及表示这些块之间的任意剩余差别的另外信息来编码源块。
由于运动搜索的计算要求,特别是存储器访问带宽要求,已知的是采取不止一个步骤来执行运动搜索,初始实施粗略的搜索来识别近似的运动向量,接着是更详细的搜索,以细化粗略搜索的结果。在这个上下文中,已知的是粗略搜索在参考帧中搜索离散位置,或者搜索参考帧的下采样版本。下采样是从较高分辨率图像生成较低分辨率图像的过程。利用下采样的图像执行运动向量搜索具有减小存储器访问带宽的优势,但是代价是运动搜索的精度较低。
另外已知的是在多分辨率运动搜索中,采用不止两个步骤来实施运动搜索。例如,在Kwon Moon Nam等人的“A Fast Hierarchical Motion Vector EstimationAlgorithm Using Mean Pyramid”,IEEE Trans.Circuits and Systems for VideoTechnology,第5卷,第344-351页,1993年4月中,描述了一种多级运动搜索,其中运动搜索被分解为渐进分辨率的若干级。
因此,尽管下采样可以避免全分辨率搜索的高带宽要求,但是它遭受由下采样搜索图像的较低分辨率所导致的运动向量估计精度的降低。更为严重的是,当全分辨率图像包括高频细节时,图像的这种高频分量的丢失可能导致从下采样图像计算得到的运动向量与将从全分辨率图像计算得到的运动向量明显不同。
因此,希望提供一种在视频编码器中用于运动向量估计的改进技术,其具有提高的精度而没有全分辨率搜索的高带宽要求。
发明内容
从第一方面来看,本发明提供了一种数据处理装置,其配置成接收从源帧生成的下采样源块以及接收从参考帧生成的下采样参考帧部分,所述参考帧和所述源帧从视频帧的序列中获取,所述数据处理装置包括:
内插电路,配置成在所述下采样参考帧部分的像素之间内插,以生成内插的下采样参考帧块的集合;
成本函数计算电路,配置成计算成本函数值,该成本函数值表示在所述下采样源块和所述内插的下采样参考帧块的集合的每一个之间的差异;
最小化电路,配置成选择对应于所述成本函数值的最小值的内插的下采样参考帧块;以及
估计运动向量生成电路,配置成根据由所述最小化电路选择的所述内插的下采样参考帧块生成估计运动向量。
根据本发明的技术,该数据处理装置接收下采样源块和下采样参考帧部分,以便基于二者之间的比较生成估计运动向量。本发明的发明人认识到通过提供使用下采样参考帧部分来生成内插的下采样参考帧块的集合的内插电路,生成的估计运动向量的精度的提高可以被实现,而无需诉诸于从存储器取得较高分辨率图像以及将引起的存储器带宽增加。
提供了一种成本函数计算电路,其计算成本函数值,所述成本函数值表示在下采样源块和每一个内插的下采样参考帧块之间的差异。因此,该数据处理装置不仅可以计算在下采样参考帧中的整数像素位置处的成本函数,而且可以计算在那些整数像素位置之间的内插位置处的成本函数。结果,布置成找到下采样参考帧部分内的最小化成本函数值的下采样源块的那个位置的最小化电路可以以比仅参考下采样参考帧中的整数像素位置所可能的分辨率更高的分辨率找到成本函数的最小值。接着由估计运动向量生成电路生成的估计运动向量由此可以给结果运动向量生成电路提供用于全分辨率的运动搜索的更精确的开始点。当参考帧包括易于被下采样抹掉的高频分量时,尤其提高精度。
此外,本发明的技术使得能够提高估计运动向量的精度,而不需要增加存储器访问带宽要求,因为仅仅下采样的源和参考帧块是从存储器检索的以便存储在本地。
下采样源图像和下采样参考图像先前可能已经被生成并存储在存储器中,但是在一个实施例中,该数据处理装置还包括下采样电路,其被配置成生成所述下采样源块和所述下采样参考帧部分。提供下采样电路允许在需要下采样图像时生成所述下采样图像以存储在存储器中。
在一个实施例中,该数据处理装置还包括运动向量生成电路,其被配置成接收所述估计运动向量作为输入并从所述源图像和所述参考图像生成结果运动向量,所述结果运动向量被约束为在所述估计运动向量的预定范围内。将估计运动向量提供到结果运动向量生成器允许结果运动向量生成器限制其中它执行全分辨率运动搜索的区域,由比节约了存储器带宽和计算资源。
有利的是选择内插的下采样参考帧块的集合,使得成本函数的最小值可以更快被找到,并且在一个实施例中,所述内插的下采样参考帧块的集合是参考所述下采样参考帧部分中的点的预定集合而确定的。点的该集合可以以若干方式指定,但是在一个实施例中,所述预定集合的点相距块宽度的一半。
在另一个实施例中,所述内插的下采样参考帧块的集合是参考空(null)运动向量确定的。当执行视频编码时,常见的是,当来自源帧的源块相对于参考帧中的相同块没有(或几乎没有)移动时,将发现该块的运动向量具有与空运动向量接近的运动向量。
在又一个实施例中,所述内插的下采样参考帧块的集合是参考至少一个相邻源块的至少一个预定运动向量来确定的。当执行视频编码时,常见的是,例如由于大于块大小的对象的移动,给定块的运动向量将与相邻块的运动向量密切相关。在一个实施例中,该至少一个预定运动向量是所述下采样源块的预测运动向量。典型地,基于相邻块的运动向量,作为视频编码过程的一部分为每个源块生成预测运动向量。
尽管该数据处理装置可以在单个步骤中操作,为内插的下采样参考帧块的单个集合计算成本函数值,但是在一个实施例中,所述成本函数计算电路和所述最小化电路被配置成迭代地选择所述内插的下采样参考帧块的集合以找到所述成本函数值的局部最小值。这种布置允许该数据处理装置追踪(home in on)成本函数的最小值,迭代地选择内插的下采样参考帧块的集合以跟随成本函数的表面到局部最小值。
为了高效地执行运动搜索,下采样参考帧部分自然必须大于下采样源块,但是不应该使得其中要进行运动搜索的区域太大,因为这在计算资源和存储器访问带宽两方面将是繁重的负担。因此在一个实施例中,所述下采样参考帧部分比所述下采样源块近似大一数量级。
应该理解的是,下采样源块可以以若干方式根据源帧生成,并且在一个实施例中,所述下采样源块包括来自所述源图像的像素的子集。等效地,在一个实施例中,所述下采样参考帧部分包括来自所述参考图像的像素的子集。这些子集可以例如是每隔一个像素,每个第四像素或类似的像素。
在其他实施例中,所述下采样源块包括所述源图像的块的过滤版本,其例如可以通过在所述源图像的像素集合上进行平均而生成所述下采样源块的每个像素来提供。在2×2或4×4的像素集合上取像素平均值或像素中值是这样的示例。
类似地,在其他实施例中,所述下采样参考帧部分包括所述参考图像的块的过滤版本,其可以例如通过在所述参考图像的像素集合上进行平均而生成所述下采样参考帧部分的每个像素来提供。类似地,在2×2或4×4的像素集合上取像素平均值或像素中值是这样的示例。
由内插电路执行的内插可以以一定范围的比率执行,但是在一个实施例中,所述内插电路被配置成执行1/4像素内插。
通常,估计运动向量可以采用帧内的任意长度,但是,有利的是,在运动向量采用任意长度的自由和在较宽区域中进行搜索所需要的计算资源之间获得平衡,并且在一个实施例中,所述估计运动向量被约束为具有64像素的最大长度。
成本函数值可以以各种方式来计算,但是在有利地简单的实施例中,所述成本函数值是从所述下采样源块的像素和所述内插的下采样参考帧块的集合的每一个的像素之间的绝对差之和来计算的。
这个绝对差之和并没有计及编码大运动向量的成本,并且在一个实施例中,所述成本函数值还包括运动向量惩罚值。
在其他实施例中,成本函数值是基于绝对变换差和(SATD)算法、平方误差和(SSE)算法、均方误差(MSE)算法、平均绝对误差(MAE)算法以及平均绝对差值(MAD)算法之一来计算的。
从第二方面来看,本发明提供一种生成估计运动向量的方法,包括以下步骤:
接收从源帧生成的下采样源块,以及接收从参考帧生成的下采样参考帧部分,所述参考帧和所述源帧是从视频帧序列获取的;
在所述下采样参考帧部分的像素之间内插,以生成内插的下采样参考帧块的集合;
计算成本函数值,所述成本函数值表示在所述下采样源块和所述内插的下采样参考帧块的集合的每一个之间的差异;
选择对应于所述成本函数值的最小值的内插的下采样参考帧块;以及
根据由所述最小化电路选择的所述内插的下采样参考帧块,生成估计运动向量。
从第三方面来看,本发明提供了一种数据处理装置,配置成接收从源帧生成的下采样源块,以及接收从参考帧生成的下采样参考帧部分,所述参考帧和所述源帧从视频帧序列中获取,所述数据处理装置包括:
内插部件,用于在所述下采样参考帧部分的像素之间内插,以生成内插的下采样参考帧块的集合;
成本函数计算部件,用于计算成本函数值,所述成本函数值表示在所述下采样源块和所述内插的下采样参考帧块的集合的每一个之间的差异;
最小化部件,用于选择对应于所述成本函数值的最小值的内插的下采样参考帧块;以及
估计运动向量生成部件,用于根据由所述最小化部件选择的所述内插的下采样参考帧块,生成估计运动向量。
本发明的以上,以及其它目的,特征和优点将根据结合附图阅读的说明性实施例的以下详细描述而显而易见。
附图说明
附图1示意性地示出了用于生成运动向量的系统;
附图2示意性地示出了16×16块的下采样;
附图3示意性地示出了下采样源块和下采样参考帧部分;
附图4示意性地示出了在下采样参考帧部分中的点的预定集合;
附图5示意性地示出了1/4像素内插;
附图6示意性地示出了根据一个实施例的数据处理装置;
附图7示意性地示出了对于成本函数最小值的迭代搜索;
附图8A示意性地示出了在一个实施例中执行的一系列步骤;
附图8B示意性地示出了在一个实施例中执行的一系列步骤;
附图8C示意性地示出了在一个实施例中执行的一系列步骤;
附图8D示意性地示出了在一个实施例中执行的一系列步骤;
附图9示意性地表示给定源块的相邻块;以及
附图10示意性地示出了运动向量估计的示例改进。
具体实施方式
附图1示意性地示出了作为视频编码过程的一部分的用于生成运动向量的系统。外部存储器100存储从要被编码的视频帧的序列获取的视频数据的帧。同样存储在外部存储器100中的是根据已知技术生成的这些帧的下采样版本,所述技术例如从原始图像获取像素的子集(例如每个第四像素),或者通过过滤原始图像(例如通过在4×4的像素集合上进行平均)。存储在外部存储器100中的全分辨率帧被传送到运动向量生成单元110,运动向量生成单元110确定那些帧中的块的运动向量。然而,使用全分辨率帧的运动向量生成的这种过程在计算上开支非常浩大。为此,提供了运动向量估计单元120,其向运动向量生成单元110提供估计运动向量,所述估计运动向量将运动向量生成单元110执行的运动向量搜索约束为在有限的空间区内发生。运动向量估计单元120从外部存储器100接收下采样帧,并执行运动向量估计,以生成传送到运动向量生成单元110的估计运动向量。
利用下采样帧执行运动向量估计的缺点是原始全分辨率帧的高频元素可能会被这种运动向量估计过程漏掉,并且因此传送到运动向量生成单元110的估计运动向量表示全分辨率搜索的差的开始位置。然而,运动向量估计单元120被布置成(如以下将进一步描述的)在下采样帧的像素之间内插,并利用那些内插的帧执行运动向量估计。这使得运动向量估计单元能够保持仅仅从外部存储器100检索下采样帧的低带宽优点,同时提高了下采样帧单独可达到的分辨率,并且因此向运动向量生成单元110提供这样的估计运动向量,所述估计运动向量表示利用全分辨率帧执行运动向量生成的更精确的开始位置。
附图2示意性地示出了下采样的过程。每一个全分辨率帧被细分为宏块(也简称为块),其包括16×16个全分辨率像素,如栅格200所示。一旦被下采样,这种块就变成4×4的下采样像素的集合,如栅格210所示的。下采样的过程可以采用若干方式进行,例如通过在全分辨率帧中取像素的子集,即从16×16的全分辨率栅格200中取每个第四像素(垂直地和水平地)来提供4×4的栅格210。然而,在该所示实施例中,通过过滤16×16全分辨率栅格200,在每个4×4的像素集合上进行平均以生成4×4的块210的每个下采样像素来生成下采样块。
运动向量估计的过程还参考附图3来解释,其中示出了4×4的下采样源块300和40×40的下采样参考帧部分310。为了执行视频编码,正被编码的当前帧的每个块被轮流当作源块,该源块然后与参考帧比较以找到其中该源块最佳适合参考帧的位置。虽然原则上可能搜索整个参考帧,但这在计算上相当密集,尤其是要求从存储器检索更多的数据并将其存储在本地,并且在该实施例中,仅仅检查参考帧的一部分,也就是它的40×40(下采样)部份。使用40×40下采样像素的参考帧部份,因为这允许执行更高效的搜索过程,其中同时处理2×2配置的四个源块。邻近的源块将明显要求大部分重叠的参考帧并且对于2×2配置的源块,40×40的参考帧为每个源块提供了±64全分辨率像素的搜索窗口。因此附图1中的运动向量估计单元120从外部存储器100检索每个下采样源块300,以及从外部存储器100检索下采样参考帧部分310,从而将每一个存储在本地缓冲器中,同时执行搜索。
虽然原则上最初可以将源块300与参考部分310中的全部可能的位置进行比较,但是可以采取仍产生满意结果的计算上不那么密集的方法,其中,源块300最初与参考帧部分310中的点的预定集合相比较,如附图4中示意性示出的。这个集合的点400在这个实施例中相距块宽度的一半,即相距两个下采样像素间隔。这于是提供了参考帧部分310中对照其比较源块300的16×16的点集合。然后根据将在以后进一步描述的成本函数最小化技术来选择这些点中源块最佳适合的点(在附图4中示例被标记为410)。
附图5示意性地示出了在下采样参考帧部分的下采样像素之间内插,以生成将与下采样源块相比较的内插的下采样参考帧块。(注意,为了图示清楚起见,在本附图中仅仅示出了2×2的内插块。)执行这种内插意味着下采样源块不仅可以与下采样参考帧部分500(这里仅示出了其一部分)中的整数位置相比较,而且可以与那些整数位置之间的中间位置相比较。例如,内插的下采样参考帧块510从下采样参考帧部分的整数下采样像素位置向下和向右偏移1/4下采样像素。作为另一个例子,内插的下采样参考帧块520从下采样参考帧部分的整数位置向右偏移1/2下采样像素。这些偏移位置可以通过根据它们与整数位置像素的重叠面积来加权这些像素而产生。例如,内插的下采样参考帧块520的四个像素的每一个从其跨越的两个整数位置像素的每一个导出其值的50%。另一方面,内插的下采样参考帧块510的每个像素包括来自与其主要重叠的像素的9/16加权、来自直接水平和垂直邻近像素的3/16加权,以及来自与其拐角重叠的像素的1/16加权。
附图6示意性地示出了根据一个实施例的数据处理装置,用于在视频编码系统中生成运动向量估计。外部存储器600存储由系统剩余部分访问的图像(视频帧)。这些图像既以全分辨率存储,如在源图像605和参考图像615中的情况那样,并且还以下采样(DS)形式存储,如在DS源图像610和DS参考图像620中的情况那样。DS源图像610和DS参考图像620是由下采样器625分别根据源图像605和参考图像615生成的。
为了使系统执行运动向量估计,控制单元访问下采样源图像610,以便用从其获得的下采样源块填充源缓冲器635。类似地,控制单元630访问下采样参考图像620,以用从其获得的下采样参考帧部分填充参考缓冲器640。源缓冲器635中的内容被传送到搜索单元645,搜索单元645包括成本函数计算单元650、最小化单元655和控制单元660。参考缓冲器640的部分内容也通过内插器670被传送到成本函数计算器650。因此,搜索单元645在由参考缓冲器640提供的搜索窗口中搜索其中源缓冲器635的内容最佳适合的位置。如参考附图3所描述的,在一个实施例中,从存储器中一起检索2×2配置的源块,以便执行并行搜索,但是为了清楚起见,在附图6所示的实施例中,一次仅检索一个源块。如参考附图4A所描述的,最初参考该搜索窗口中的点的预定集合来执行该搜索。在这种情况下,内插器670仅仅传送4×4的像素集合到成本函数计算器650,成本计算器650然后将其与源缓冲器635中包括的4×4的下采样像素相比较。这种比较是通过计算成本函数而执行的,所述计算成本函数在该实施例中是通过计算4×4像素的每一个集合之间的绝对差之和来执行的。此外,由成本函数计算器计算的成本函数值还包括运动向量惩罚值,所述运动向量惩罚值表示编码描述参考缓冲器中的在研究当中的当前位置的运动向量的(在编码空间方面的)成本。例如,长的运动向量(表示源块和参考帧中的目标块之间的较大的移动)可能要求比较短运动向量更大的编码空间。无论如何,在该实施例中,估计运动向量被约束为具有64像素的最大长度。
当由此已经为参考缓冲器搜索窗口中的预定位置集合中的每一个计算了成本函数时,最小化单元655接着选择表示成本函数值的最低值的位置。该信息接着被传送到控制单元660,控制单元660控制内插器670在存储在参考缓冲器640中的下采样参考帧部分的下采样像素之间内插,以生成内插的下采样参考帧块的集合,其中每一个内插的下采样参考帧块接着依次被传送到成本函数计算器650以与源缓冲器635的内容比较。由内插器670生成的内插的下采样参考帧块的集合是由最小化单元655之前在搜索窗口中找到的具有最低成本函数值的点的紧邻(immediate vicinity)中的那些。因此,可以执行迭代过程,其中最小化单元从点的集合中找到最低的成本函数值,内插器670接着在该点的紧邻中生成内插的下采样参考帧块,成本函数计算器650计算与那些块的每一个相关的成本函数值,并且最小化单元655选择具有最低的成本函数值的块。
该迭代过程在附图7中示意性地被示出。在该附图中,每一个方块表示内插块的中央位置。在步骤700,原始中央位置(阴影线)表示开始点,还有与该位置直接邻近的内插的下采样参考帧块的集合(未划阴影线的块)。这些是通过内插器执行1/4下采样像素内插生成的,所以这些方块表示相对于原始位置在“左上”、“上”、“右上”、“左”、“右”、“左下”、“下”和“右下”的1/4像素内插。在这些内插位置中,最小化单元已经将右下(“右下”)位置选择为具有最低的成本函数值。接着在步骤710,内插单元在该新的最低成本函数值位置的紧邻中生成内插的下采样参考帧块的另外集合(其中一个(左上)对应于步骤700的中心处的原始位置),以及最小化电路选择导致最低成本函数值的块。最后,在步骤720,内插单元再次在前一阶段所选择的具有最低成本函数值的位置的紧邻中生成内插的下采样参考帧块的集合,但是现在具有最低成本函数值的位置仍然是中央点。因此,成本函数值的局部最小值已经被找到,并且该迭代过程结束。接着关于该位置产生所生成的估计运动向量。
除了计算预定的点集合的成本函数(见图4)外,搜索单元645还并行计算空运动向量(即,表示在源块和参考帧之间没有位置变化)的成本函数,而且还计算当前源块的预测运动向量(每一个源块具有从其邻居导出的相关预测运动向量)的成本函数值。从这些开始点的每一个,也执行同样的迭代最小化过程(也被称为“下降(descent)”),并且来自这三种方法的每一种的总最低成本函数值接着被选择以生成最终估计运动向量。
现在参考附图8A-8D的流程图来讨论根据这三种流程计算最小成本函数值的过程。在附图8A,从步骤800开始该流程,其中从外部存储器检索下采样(DS)的源和参考图像并将其缓存在本地。在步骤805,在下采样参考图像上的预定的点集合处(在参考帧缓冲器中所选择的那些)为下采样源图像计算成本函数,并且在步骤810,识别具有最低成本函数的点。接着在步骤815,执行对下采样参考图像的局部像素的内插,并且对于生成的每一个内插的下采样参考帧块计算成本函数值。如果由此找到比先前找到的成本函数值更低的成本函数值,则从步骤820,该流程移动到步骤825,其中该过程的焦点被转移成集中于所找到的那个新的最低成本函数值,并且该流程返回步骤815,其中执行在该局部区中的内插,接着是对应成本函数值的计算。如果在步骤820没有找到更低的成本函数值,那么该流程前进到步骤825,其中提供找到的最低成本函数值作为输出。
类似地在附图8B,从步骤830开始该流程,其中缓存已经从外部存储器检索的下采样的源和参考图像。在这个上下文中,仅仅所需的参考图像的部分是对应于源块的空运动向量的。在步骤835,计算这个空运动向量的成本函数,并且在步骤840,执行在该空运动向量的局部(local)区中的内插,接着是计算对应于由此生成的内插的下采样参考帧块的成本函数值。在步骤845,检查是否已经找到比为空运动向量自身计算的成本函数值更低的成本函数值,并且如果是,那么开始相同的迭代循环,通过步骤850将焦点转移到集中于找到的最低成本函数值,接着在步骤840进行内插和成本函数值计算。当在步骤845没有找到更低的成本函数值时,则该流程在步骤850结束,其中提供该最低成本函数值作为输出。
最后,在附图8C,类似地从步骤855开始该流程,其中下采样的源和参考图像被缓存。然而这里在步骤860,为当前考虑的源块的预测运动向量计算成本函数值。该预测运动向量从相邻源块导出,如附图9所示——从用交叉线标记的源块的所计算的运动向量生成划阴影线的源块的预测运动向量。这然后接着是相同的迭代循环(步骤865、870和875的迭代循环,如以上参考附图8A和8B所描述的)。最后,在步骤880提供找到的成本函数值的最小值作为输出。
然后在附图8D的第一步骤900中比较迭代“下降”的这三个开始点的结果。选择最低的成本函数值,并且在步骤910,生成对应于找到该最低成本函数值的位置的估计运动向量。在步骤920,该估计运动向量接着被传送到全分辨率搜索单元(附图1中的运动向量生成单元110),以执行全分辨率搜索。在步骤930,接着在估计运动向量的目标的8个像素内执行该全分辨率运动向量搜索。在步骤940,生成最终运动向量。
附图10示意性地示出了本发明的益处。大体标记为950的是8×8的块集合,每一个块用它们的计算的运动向量进行注释。可以看出,外围的块具有空运动向量(由点来表示),而在块集合的中央区中存在每个具有指向右侧的运动向量的块的子集。这例如可以对应于视野中的对象相对于静止的背景向右移动。然而,还可以看出,一个块的运动向量异乎寻常地长且处于与其它运动向量不同的角度。这是由于估计运动向量计算过程因为使用的下采样图像的较低分辨率错误地计算了估计运动向量而造成的。这样的原因根据为该块计算的且在960、970和980示出的成本函数值曲线图而变得显而易见。
在960所示的成本函数曲线图是在全分辨率为该块所计算的成本函数。这里可以看出,该成本函数的最低值发生在该分布的左侧的锐利谷底(sharp valley)的尖端处,即在小数目的像素处并且对应于短的运动向量,诸如在950的大部分块所具有的。
然而,在970处的根据下采样分辨率源块和参考帧生成的成本函数曲线图中可以看出,下采样在该图左侧已经丢失了高频特征,并且现在最小值已经被识别为在别处,也就是较长长度的运动向量处(如950所示)。
在980中可以看出内插下采样参考帧部分的优点,其中在与960中分布的最小值近似相同的位置中再次找到对应于短运动向量的最小值。因此,980中的最小值表示用于全分辨率的有限范围搜索的更有希望的开始点。
因此,根据本发明的技术,获得了对下采样源块和参考帧部分执行运动向量估计的带宽优势,然而通过在下采样参考帧部分的像素之间内插,成本函数值的最小值可以被更加精确地识别,并因此提供了用于有限范围全分辨率搜索的更好的开始点。
尽管在此参考附图详细描述了本发明的说明性实施例,但应该理解的是,本发明并不限于那些精确的实施例,并且本领域技术人员在不脱离由随附的权利要求定义的本发明的范围和精神的情况下可以在其中实现各种变化和修改。
Claims (21)
1.一种数据处理装置,其被配置成接收从源帧生成的下采样源块以及接收从参考帧生成的下采样参考帧部分,所述参考帧和所述源帧从视频帧的序列中获取,所述数据处理装置包括:
内插电路,配置成在所述下采样参考帧部分的像素之间内插,以生成内插的下采样参考帧块的集合;
成本函数计算电路,配置成计算成本函数值,所述成本函数值表示所述下采样源块和所述内插的下采样参考帧块的集合的每一个之间的差异;
最小化电路,配置成选择对应于所述成本函数值的最小值的内插的下采样参考帧块;
估计运动向量生成电路,配置成根据由所述最小化电路选择的所述内插的下采样参考帧块生成估计运动向量;以及
运动向量生成电路,配置成接收所述估计运动向量作为输入以及从所述源帧和所述参考帧生成结果运动向量,所述结果运动向量被约束为在所述估计运动向量的预定范围内。
2.如权利要求1所述的数据处理装置,还包括下采样电路,其配置成生成所述下采样源块和所述下采样参考帧部分。
3.如权利要求1所述的数据处理装置,其中所述内插的下采样参考帧块的集合是参考所述下采样参考帧部分中的点的预定集合确定的。
4.如权利要求3所述的数据处理装置,其中所述预定集合的点相距块宽度的一半。
5.如权利要求1所述的数据处理装置,其中所述内插的下采样参考帧块的集合是参考空运动向量确定的。
6.如权利要求1所述的数据处理装置,其中所述内插的下采样参考帧块的集合是参考至少一个相邻源块的至少一个预定运动向量而确定的。
7.如权利要求6所述的数据处理装置,其中所述至少一个预定运动向量是所述下采样源块的预测运动向量。
8.如权利要求1所述的数据处理装置,其中所述成本函数计算电路和所述最小化电路被配置成迭代地选择所述内插的下采样参考帧块的集合,以找到所述成本函数值的局部最小值。
9.如权利要求1所述的数据处理装置,其中所述下采样参考帧部分大约比所述下采样源块大一数量级。
10.如权利要求1所述的数据处理装置,其中所述下采样源块包括来自所述源图像的像素的子集。
11.如权利要求1所述的数据处理装置,其中所述下采样参考帧部分包括来自所述参考图像的像素的子集。
12.如权利要求1所述的数据处理装置,其中所述下采样源块包括所述源图像的块的过滤版本。
13.如权利要求12所述的数据处理装置,其中所述下采样源块的每个像素是通过在所述源图像的像素集合上进行平均而生成的。
14.如权利要求1所述的数据处理装置,其中所述下采样参考帧部分包括所述参考图像的块的过滤版本。
15.如权利要求14所述的数据处理装置,其中所述下采样参考帧部分的每个像素是通过在所述参考图像的像素集合上进行平均而生成的。
16.如权利要求1所述的数据处理装置,其中所述内插电路被配置成执行1/4像素内插。
17.如权利要求1所述的数据处理装置,其中所述估计运动向量被约束为具有64像素的最大长度。
18.如权利要求1所述的数据处理装置,其中所述成本函数值是从所述下采样源块的像素和所述内插的下采样参考帧块的集合的每一个的像素之间的绝对差之和(SAD)计算的。
19.如权利要求1所述的数据处理装置,其中所述成本函数值还包括运动向量惩罚值。
20.如权利要求1所述的数据处理装置,其中所述成本函数值是基于绝对变换差和(SATD)算法、平方误差和(SSE)算法、均方误差(MSE)算法、平均绝对误差(MAE)算法以及平均绝对差值(MAD)算法之一来计算的。
21.一种生成估计运动向量的方法,包括以下步骤:
接收从源帧生成的下采样源块,以及接收从参考帧生成的下采样参考帧部分,所述参考帧和所述源帧是从视频帧的序列中获取的;
在所述下采样参考帧部分的像素之间内插,以生成内插的下采样参考帧块的集合;
计算成本函数值,所述成本函数值表示所述下采样源块和所述内插的下采样参考帧块的集合的每一个之间的差异;
选择对应于所述成本函数值的最小值的内插的下采样参考帧块;
根据选择的所述内插的下采样参考帧块,生成估计运动向量;以及
接收所述估计运动向量作为输入以及从所述源帧和所述参考帧生成结果运动向量,所述结果运动向量被约束为在所述估计运动向量的预定范围内。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0911050.3A GB2471323B (en) | 2009-06-25 | 2009-06-25 | Motion vector estimator |
GB0911050.3 | 2009-06-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101938652A CN101938652A (zh) | 2011-01-05 |
CN101938652B true CN101938652B (zh) | 2015-07-22 |
Family
ID=41008284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010253443.3A Active CN101938652B (zh) | 2009-06-25 | 2010-06-25 | 运动向量估计器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9407931B2 (zh) |
JP (1) | JP2011010304A (zh) |
CN (1) | CN101938652B (zh) |
GB (1) | GB2471323B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8817878B2 (en) * | 2007-11-07 | 2014-08-26 | Broadcom Corporation | Method and system for motion estimation around a fixed reference vector using a pivot-pixel approach |
GB2471323B (en) | 2009-06-25 | 2014-10-22 | Advanced Risc Mach Ltd | Motion vector estimator |
GB2484969B (en) * | 2010-10-29 | 2013-11-20 | Canon Kk | Improved reference frame for video encoding and decoding |
US20120169845A1 (en) * | 2010-12-30 | 2012-07-05 | General Instrument Corporation | Method and apparatus for adaptive sampling video content |
WO2013059470A1 (en) * | 2011-10-21 | 2013-04-25 | Dolby Laboratories Licensing Corporation | Weighted predictions based on motion information |
US9781418B1 (en) * | 2012-06-12 | 2017-10-03 | Google Inc. | Adaptive deadzone and rate-distortion skip in video processing |
US9179155B1 (en) | 2012-06-14 | 2015-11-03 | Google Inc. | Skipped macroblock video encoding enhancements |
GB2496015B (en) * | 2012-09-05 | 2013-09-11 | Imagination Tech Ltd | Pixel buffering |
JP5890794B2 (ja) * | 2013-02-28 | 2016-03-22 | 株式会社東芝 | 画像処理装置 |
JP6336341B2 (ja) * | 2014-06-24 | 2018-06-06 | キヤノン株式会社 | 撮像装置及びその制御方法、プログラム、記憶媒体 |
US10368073B2 (en) * | 2015-12-07 | 2019-07-30 | Qualcomm Incorporated | Multi-region search range for block prediction mode for display stream compression (DSC) |
CN108848380B (zh) * | 2018-06-20 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 视频编码和解码方法、装置、计算机设备及存储介质 |
CN108848376B (zh) * | 2018-06-20 | 2022-03-01 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置和计算机设备 |
US11234017B1 (en) * | 2019-12-13 | 2022-01-25 | Meta Platforms, Inc. | Hierarchical motion search processing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622635A (zh) * | 2003-11-26 | 2005-06-01 | 联发科技股份有限公司 | 在视频压缩系统中进行运动估测的方法及相关装置 |
EP1617678A2 (en) * | 2004-07-13 | 2006-01-18 | Microsoft Corporation | Spatial scalability in 3D sub-band decoding of spatial domain MCTF-encoded video |
CN1961582A (zh) * | 2004-03-31 | 2007-05-09 | 三星电子株式会社 | 在多层结构中有效压缩运动向量的方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11122624A (ja) * | 1997-10-16 | 1999-04-30 | Matsushita Electric Ind Co Ltd | ビデオデコーダ処理量を低減する方法および装置 |
JP2004236023A (ja) * | 2003-01-30 | 2004-08-19 | Matsushita Electric Ind Co Ltd | 動きベクトル検出装置および方法 |
KR20040069865A (ko) * | 2003-01-30 | 2004-08-06 | 삼성전자주식회사 | 영상화면 내의 글자영역 확장장치 및 방법 |
JP2006197387A (ja) * | 2005-01-14 | 2006-07-27 | Fujitsu Ltd | 動きベクトル探索装置及び動きベクトル探索プログラム |
US20060222074A1 (en) * | 2005-04-01 | 2006-10-05 | Bo Zhang | Method and system for motion estimation in a video encoder |
TWI280805B (en) * | 2005-07-20 | 2007-05-01 | Novatek Microelectronics Corp | Method and apparatus for cost calculation in decimal motion estimation |
EP1915872A1 (en) * | 2005-08-15 | 2008-04-30 | Nokia Corporation | Method and apparatus for sub-pixel interpolation for updating operation in video coding |
WO2007078801A1 (en) * | 2005-12-15 | 2007-07-12 | Analog Devices, Inc. | Randomly sub-sampled partition voting(rsvp) algorithm for scene change detection |
JP2007235333A (ja) * | 2006-02-28 | 2007-09-13 | Victor Co Of Japan Ltd | 動きベクトル検出装置 |
JP4641995B2 (ja) * | 2006-09-22 | 2011-03-02 | パナソニック株式会社 | 画像符号化方法および画像符号化装置 |
GB2471323B (en) | 2009-06-25 | 2014-10-22 | Advanced Risc Mach Ltd | Motion vector estimator |
-
2009
- 2009-06-25 GB GB0911050.3A patent/GB2471323B/en active Active
-
2010
- 2010-06-24 JP JP2010143839A patent/JP2011010304A/ja active Pending
- 2010-06-25 CN CN201010253443.3A patent/CN101938652B/zh active Active
- 2010-06-25 US US12/801,789 patent/US9407931B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622635A (zh) * | 2003-11-26 | 2005-06-01 | 联发科技股份有限公司 | 在视频压缩系统中进行运动估测的方法及相关装置 |
CN1961582A (zh) * | 2004-03-31 | 2007-05-09 | 三星电子株式会社 | 在多层结构中有效压缩运动向量的方法和装置 |
EP1617678A2 (en) * | 2004-07-13 | 2006-01-18 | Microsoft Corporation | Spatial scalability in 3D sub-band decoding of spatial domain MCTF-encoded video |
Also Published As
Publication number | Publication date |
---|---|
US20100329345A1 (en) | 2010-12-30 |
CN101938652A (zh) | 2011-01-05 |
GB0911050D0 (en) | 2009-08-12 |
GB2471323B (en) | 2014-10-22 |
GB2471323A (en) | 2010-12-29 |
US9407931B2 (en) | 2016-08-02 |
JP2011010304A (ja) | 2011-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101938652B (zh) | 运动向量估计器 | |
US8130835B2 (en) | Method and apparatus for generating motion vector in hierarchical motion estimation | |
KR100492127B1 (ko) | 적응형 움직임 추정장치 및 추정 방법 | |
CN112866706B (zh) | 一种编解码方法、装置及其设备 | |
US8736767B2 (en) | Efficient motion vector field estimation | |
CN107197306A (zh) | 编码装置和方法、解码装置和方法以及存储介质 | |
TW201251470A (en) | Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and storage medium | |
CN103370937A (zh) | 用于压缩图像序列的编码方法和图像编码设备 | |
CN101326550A (zh) | 利用预测指导的抽取搜索的运动估计 | |
US6590937B1 (en) | Efficient motion vector detection | |
WO2006052029A1 (ja) | 撮像装置および画像の高解像化方法 | |
WO2008003220A1 (en) | Motion vector estimation method | |
CN112055203B (zh) | 帧间预测方法、视频编码方法及其相关装置 | |
US20050123039A1 (en) | Motion estimation method for motion picture encoding and recording medium having program recorded thereon to implement the motion estimation method | |
WO2021088695A1 (zh) | 一种编解码方法、装置及其设备 | |
US20060098886A1 (en) | Efficient predictive image parameter estimation | |
JP2024045191A (ja) | 符号化及び復号方法、装置及びデバイス | |
CN104104961B (zh) | 一种视频编码方法、解码方法和装置 | |
CN108900847B (zh) | 一种基于块匹配的大范围预测方法 | |
CN111968151B (zh) | 一种运动估计精细搜索方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |