CN1314051A - 运动估计 - Google Patents
运动估计 Download PDFInfo
- Publication number
- CN1314051A CN1314051A CN00801039A CN00801039A CN1314051A CN 1314051 A CN1314051 A CN 1314051A CN 00801039 A CN00801039 A CN 00801039A CN 00801039 A CN00801039 A CN 00801039A CN 1314051 A CN1314051 A CN 1314051A
- Authority
- CN
- China
- Prior art keywords
- symbol
- pel
- pel array
- array
- quadrature
- 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.)
- Granted
Links
Images
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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
提供一个确定(20)在第一画面中的第一个像素阵列和在基准图像的一个搜索区域中的第二像素阵列之间的最佳匹配的方法。该方法包括步骤:提供(22)包括一组水平取和以及第一组垂直取和的第一像素阵列的第一全正交取和符号;提供(22)用于多个第二像素阵列各阵列之一的多个局部正交取和符号;使用该多个局部正交取和符号,同时地计算(25)用于多个第二像素阵列各阵列之一的多个第二全正交取和符号。以及,把第一全正交取和符号与第二全正交取和符号的每一个比较(27、29、31、33),以便确定在第一和第二像素阵列之间的最佳匹配。
Description
本发明涉及一种简单、快速以及比当前可用技术廉价的高效率的运动估计方法。
一般来说,MPEG视频数据流的编码需要若干步骤。第一步骤包括把每一画面分成宏数据块。理论上讲,随后将把该MPEG视频数据流与全部可能的16×16像素阵列比较,该16×16像素阵列定位在固定画面中对应位置的当前宏数据块的规定垂直和水平搜索范围之内。在理论上,“全检索算法”(即为了最佳匹配而在搜索区域中搜索每个可能的数据块)总是产生该最佳匹配,但是其很少使用在实际应用中,因为它要求极大的计算量,例如对于N×N的一个数据块尺寸和一个(N+2w)×(N+2w)的搜索区域,失真函数MAE必须针对每一数据块计算(2w+1)2次,这将是一个极大的计算量。实际上是仅把该全检索算法用作基准或测定判据,使之与能够快速和以较少计算执行的不同的更实际的运动估计相比较。这些更实际的运动估计算法通常称作“快速检索算法”。
上述针对给定预测模式的搜索或“运动估计”过程产生对应于在指定搜索范围之内的固定画面中的最接近匹配宏数据块(根据一个规定的匹配判据)的位置的一个运动矢量。一旦确定了预测模式和运动矢量,就从当前宏数据块的对应于像素减去最接近匹配宏数据块的像素值,产生16×16的差像素的阵列随后被执行一个离散余弦变换(DCT)而被转变成8×8“数据块”,其中产生的系数被逐一量化和霍夫曼编码(按照预测类型、运动矢量和其它关于该宏数据块的信息),以便产生MPEG比特数据流。如果在该固定画面中没有检测到充分的宏数据块匹配,即如果该当前画面是一个帧内,即“I-”画面,则上述过程将对于当前宏数据块的实际像素执行(即不相对于任何其它画面中的像素提取差值),并且该宏数据块被指定为一个“帧内”宏数据块。
针对所有的MPEG-2预测模式,运动估计的基础技术包括:把当前宏数据块与固定画面中的16×16像素阵列比较,根据指定度量估计匹配的质量,并且针对定位在该搜索范围之内的这种16×16像素阵列的每一个重复该过程。执行这种搜索的硬件或软件被通常称为“搜索引擎”,并且存在若干用于确定该匹配质量的熟知判据。在这些判据当中最熟知的是最小绝对误差(MAE),其中的搜索度量包括在该宏数据块中的256个像素的每一个与在该匹配固定画面宏数据块中的对应像素的差值的绝对值取和;以及最小平方误差(MSE),其中该度量包括上述像素差值的平方的取和。不论那种状况,具有对应于取和的最小值的匹配被选择作为在规定搜索范围之内的最佳匹配,并且相对于该当前宏数据块的水平和垂直位置因此构成该运动矢量。然而如果该产生的最小取和被认为太大,则不存在针对该当前宏数据块的适当匹配,而其被作为一个帧内宏数据块编码。为本发明的目的,可用上述两个判据的任一个或任何其它适当的判据。
各种快速检索算法仅以该搜索区域之内的该候选运动矢量位置的一个预定子集估算该失真函数(例如MAE函数),从而减小了总体计算工作量。这些算法是以一种假设为基础,即在该最佳匹配预测的方向上该失真测量是单调减少的。即使这种假设并不总是真实的,但是仍然能够用少得多的计算找到一个次最佳的运动矢量。
解决运动估计最通常的方法是通常分成若干处理步骤的一个混合近似法。首先,能够通过像素平均抽取该图像。随后,对于小数目的像素执行快速检索算法操作,产生一个接近最佳匹配的结果。随后,围绕一个较小搜索区域执行获得运动矢量的一个全检索算法。如果要求半像素矢量(如利用MPEG-2),则作为一个单独步骤或与有限的全部搜索结合执行一个半像素搜索。
即使在运动估计的混合近似法中能够实现很大的计算节省,但是为了计算MAE的每一迭代仍然必须执行巨量计算。假定对于每一数据块偏移都必须计算每一时钟周期的失真函数,其失真函数在要求应用例如其中运动数据块尺寸是16×16的MPEG-2HDTV中是所希望的,则一个失真函数计算单元(DFCU)将包括若干从8(被用于运动判断的8比特亮度数据)开始增加比特宽度的简单电路,以便产生MAE。该数字将等于下面的取和:256每一DFCU的以8开始增加比特宽度的总数为757个电路,256个减法电路、256个绝对值计算电路、255个增加比特宽度的累加电路。
根据画面清晰度,对于一个实际系统来说需要若干这样的极端复杂的单元。在一个DFCU内部使用较小数目的电路以便重复使用其硬件是可能的,但是这将实质上增加处理时间,并且在例如HDTV的提出的应用中可能是不可接受的。在此情况中,不得不简单地增加DFCU的数量以便通过增强的并行处理做补偿。
在实现运动估计的混合近似法(粗略搜索)中的第一步骤通常是硬件利用考虑的最需要的步骤,因为该步骤必须覆盖最大的搜索区域以便产生相当精确的匹配。
根据上述内容,当前在本专业中存在的一种需要是用于运动估计的一种方法,其能够增强执行运动估计的速度,大大地降低运动估计或要求执行运动估计的DFCU硬件的总量和复杂性,并且以合理的代价提供显著的图像质量的改善。本发明人在序列号为09,287161的美国申请(1999年,4月6日提交,我们的参考号码为PHA 23.652)公开了该运动估计方法,标题是“使用正交取和数据块匹配的运动估计方法”,产生小得多的数据总量,为了标识最佳匹配,该总量的数据必须被比较,并且通过借助于比较唯一的宏数据块符号、而不是借助比较当前宏数据块和搜索区域中的排列像素的分别的亮度值而搜索最佳匹配,实现该运动估计搜索引擎中的一种实质上的降低。但是,该发明的方法不直接解决加速该运动估计查找过程的问题。
本发明的一个目的是提供一个改进的运动估计。为此目的,本发明提供了一种在独立的权利要求中定义的一种方法和一个运动估计搜索引擎。在从属权利要求中定义了有益的实施例。
本发明的一个方面的方法与装置直接地用于解决由于多方面再使用针对该基准图像搜索区域中的宏数据块计算的正交取和而产生的问题,以便在单一尝试中产生多个高质量的运动判断搜索结果。
本发明包含一种用于确定在第一画面中的第一个像素阵列和在基准图像的一个搜索区域中的多个第二像素阵列之间的一个最佳匹配的方法,其中第一和第二像素阵列包括单个像素值的多行R和多列C。
从下面结合附图的详细描述,将容易地理解本发明的其它目的、特点和优点,其中:
图1是一个基准图像的搜索区域中的9×9像素阵列的通用结构的示意图;
图2A是描述由图1中描述的9×9像素阵列包含的一个8×8像素阵列的通用结构和像素编号结构的示意图;
图2B是描述一个8×8像素阵列的位置和结构的示意图,其起源是图1描述的9×9像素阵列的坐标R1,C1定位的像素;
图2C是描述一个8×8像素阵列的位置和结构的示意图,其起源是图1描述的9×9像素阵列的坐标R1,C2定位的像素;
图2D是描述一个8×8像素阵列的位置和结构的示意图,其起源是图1描述的9×9像素阵列的坐标R2,C1定位的像素;
图2E是描述一个8×8像素阵列的位置和结构的示意图,其起源是图1描述的9×9像素阵列的坐标R2,C2定位的像素;
图3A是根据本发明最佳实施例的运动估计方法描述针对图1中示出9×9像素阵列的一组局部水平取和SH1-SH9的示意图;
图3B是根据本发明最佳实施例的运动估计方法描述针对图1中示出9×9像素阵列的一组局部垂直取和SV1-SV9的示意图;
图3C是根据本发明最佳实施例的运动估计方法的示意图,示出适当地把像素值左或右相加到一个局部水平取和的原理,以便计算用于在图1描述的9×9像素阵列之内的一个给定的8×8像素阵列的全部水平取和;
图3D是根据本发明最佳实施例的运动估计方法的示意图,示出适当地把像素值上或下相加到一个局部垂直取和的原理,以便计算用于在图1描述的9×9像素阵列之内的一个给定的8×8像素阵列的全部垂直取和;和
图4是构成本发明一个最佳实施例的运动估计搜索引擎的方框图。
总的来说,本发明的运动估计方法通常包括下列步骤。
首先,按照美国申请序列号09/287161公开的方式,通过计算表示宏数据块行的单个像素值的取和的一组水平取和以及表示该宏数据块列的分别像素值取和的第一组垂直取和,计算当前被编码的宏数据块的一个全正交取和符号。该公开的美国申请在此处被用作参考。
其次,计算用于包含基准图像的搜索区域中的多个基准像素阵列的各像素阵列的多个局部正交取和符号,该多个局部正交取和符号的每一个包括表示该基准像素阵列各个阵列之一的多行M的各像素值的取和的一组局部水平取和以及表示该基准像素阵列各个阵列之一的多列N的各像素值的取和的一组局部垂直取和,其中M<R并且N<C。
第三,使用该多个局部正交取和符号计算用于多个基准像素阵列各个阵列之一的多个全正交取和符号。最终,当前被编码的该宏数据块的全正交取和符号与该基准像素阵列的全正交取和符号的每一个比较,以便确定在该宏数据块以及该基准像素阵列之间的最佳匹配。
在当前最佳实施例中,N=C-1并且M=R-1,并且该局部水平取和的组表示包含在容括全部基准像素阵列的一个(C+1)×(R+1)像素阵列的R+1行的N列中的取和,而局部垂直取和的组表示该(C+1)×(R+1)像素阵列的C+1列M行中包含的各像素值的取和。该R+1行和该C+1列总共包括拥有全部该基准像素阵列的该(C+1)×(R+1)像素阵列,并且该M行和N列是在该(C+1)×(R+1)像素阵列的中心。将被理解,C可以等于或不等于R,而M可以等于或不等于N。
使用一个规定的最佳匹配搜索度量,例如一个最小绝对误差(MAE)搜索度量执行该比较步骤,虽然本发明不局限于这种或任何其它特定的实施方案。
当前被编码的宏数据块和基准像素阵列的每一个构成抽取或未抽取的宏数据块,具有由MPEG标准,例如MPEG-2标准定义的一个结构。而且,如在下文详细描述的那样,本发明的运动估计方法最好在一个数字视频编码器的运动估计搜索引擎中执行,例如在一个MPEG-2数字视频编码器的运动估计搜索引擎中执行。
提供多个局部正交取和符号的步骤最好通过首先计算每一个局部水平取和以及每一个局部垂直取和、然后把该计算的局部水平及垂直取和存储在该运动估计搜索引擎的一个存储器中执行,而计算多个全正交取和符号的步骤的执行最好通过:针对每一个第二像素阵列,通过适当地把来自该M行的上或下的(C+1)×(R+1)像素阵列的一个选定行的像素值加到每一局部垂直取和而计算一组全垂直取和;以及针对每一个第二像素阵列,通过适当地把来自在该N列上或下的(C+1)×(R+1)像素阵列的一个选定列的像素值加到每一局部水平取和而计算一组全水平取和。最好这两个计算子步骤同时地执行。
参考图1、2A-2E和3A-3D描述本发明的运动估计方法的一个最佳实施例。首先应该认识到,虽然本发明描述的是8×8宏数据块,但是本发明当然并不局限于任何特定的数据块尺寸或结构。该8×8宏数据块的描述仅是用于说明本发明的原理的。
更具体地说,图1中能够见到的是描述定位在基准图像的一个规定搜索区域中的一个9×9像素阵列的通用结构的示意图。该9×9像素阵列9个列C1-C9,以及9个行R1-R9。如将在下面描述的那样,具有图2A中描述的结构以及像素编号构形的四个分别的基准8×8像素阵列(即基准宏数据块)被包含(或容括)在该9×9像素阵列中,如图1中以方框标记×指示的各9×9像素阵列,具有源以R1-C1、R1-C2、R2-C1、以及R2-C2的像素坐标。起源是R1-C1的基准8×8像素阵列在图2B中描述:起源是R1-C2的基准8×8像素阵列在图2C中描述;起源是R2-C1的基准8×8像素阵列在图2D中描述;以及,起源是R2-C2的基准8×8像素阵列在图2E中描述。
如将被在下文中详细描述的那样,根据本发明最佳实施例的运动估计方法,使用在一个存储器中的存储预先估计的局部水平取和以及局部垂直取和同时地计算四个单独的基准8×8像素阵列的每一个的全正交取和符号,然后这四个基准8×8像素阵列的全正交取和符号被同时地与当前被编码的该宏数据块的全正交取和符号比较,以便根据例如规定的搜索度量,例如最小绝对误差(MAE),确定这四个基准8×8像素阵列的哪一个最佳匹配该当前编码的宏数据块。当然,本发明并不局限于基准像素阵列的任何特定数目,例如比四个基准像素阵列或多或少的正交取和符号差能够被同时地计算,然后根据本发明的原理而同时地与当前编码的该宏数据块的正交取和符号比较,从而在单一传送(尝试)中同时地执行多个运动估计。
现在参考图3A-3D,一组局部水平取和SH1-SH9(图3A)和一组局部垂直取和SV1-SV9(图3B)被计算,并且最好随后存储在该运动估计搜索引擎内部的一个存储器中。该局部水平取和SH1-SH9表示图1中描述的9×9像素阵列的九个分别的行R1-R9中定位的中间七列C2-C8的分别的像素(亮度)值的取和。该局部垂直取和SV1-SV9表示图1中描述的9×9像素阵列的九个单独的行C1-C9中定位的中间七行R2-R8的单独的像素(亮度)值的取和。容易理解,局部水平取和SH1-SH8对于起源为R1-C1和R1-C2(图2B和2C中分别描述)的两个基准8×8像素阵列是共同的,并且局部水平取和SH2-SH9对于起源为R2-C1和R2-C2(图2D和2E中分别描述)的两个基准8×8像素阵列是共同的;并且,局部垂直取和SV1-SV8对于起源为R1-C1和R2-C1(图2B和2D中分别描述)的两个基准8×8像素阵列是共同的,并且局部垂直取和SV2-SV9对于起源为R1-C2和R2-C2(图2C和2E中分别描述)的两个基准8×8像素阵列是共同的。
随后,如图3C中示意地示出,只通过把局部水平取和SH1-SH9的左或右的像素值适当地加到该局部水平取和SH1-SH9,就能够容易地计算用于四个单独的基准8×8像素阵列的每一行的全水平取和;并且,如图3D中示意地示出,只通过把局部垂直取和SV1-SV9的上或下的像素值适当地加到该局部垂直取和SV1-SV9,就能够容易地计算用于四个单独的基准8×8像素阵列的每一列的全垂直取和。
针对分别四个基准8×8像素阵列(即产生的基准像素阵列的正交取和符号)每一个产生的完全的水平和垂直取和组能因此同时地与当前被编码的宏数据块的正交取和符号比较,以便确定四个基准像素阵列的哪一个构成最佳匹配。被发现构成该最佳匹配的基准像素阵列能因此被选择,用于在该运动估计搜索引擎中进一步处理。因此,利用本发明的最佳实施例,四个基准像素阵列的每一个的完全正交取和符号能够利用通过广泛地反复使用这四个基准像素阵列共用的局部水平和局部垂直取和而计算的一个最小值同时地计算,并且能够以单一尝试(传送)确定构成与当前被编码的宏数据块最佳匹配的该基准像素阵列之一,用于进一步的处理。
现在参考图4,示出用于实现本发明运动估计方法的最佳实施例的运动估计搜索引擎20的一个方框图。如所见,搜索引擎20包括计算逻辑和存储器22,计算及存储该局部水平取和SH1-SH9以及局部垂直取和SV1-SV9。局部水平取和SH1-SH9和局部垂直取和SV1-SV9被作为输出提供,以及定位在坐标R1C1-R9C1、R1C2-R1C8、R9C2-R9C8和R1C9-R9C9的分别的像素值以两个分别的输出提供。多个加法器25用于把各像素值R1C1-R9C1、R1C2-R1C8、R9C2-R9C8和R1C9-R9C9适当之一添加到局部水平取和SH1-SH9和局部垂直取和SV1-SV9的适当之一,以便产生将要与当前被编码的宏数据块(“编码宏数据块”)比较的四个基准像素阵列每一个全水平取和组以及全垂直取和组。
具体地说,将看到用于图2B中描述的基准像素阵列(即起源是R1-C1)的该全水平取和是R1C1+SH1、R2C1+SH2、R3C1+SH3、R4C1+SH4、R5C1+SH5、R6C1+SH6、R7C1+SH7、以及R8C1+SH8。这些全水平取和在图4中标记为“HOR.SUMS LEFT1”。类似地,图2B中描述的用于该基准像素阵列的全垂直取和是R1C1+SV1、R1C2+SV2、R1C3+SV3、R1C4+SV4、R1C5+SV5、R1C6+SV6、R1C7+SV7、以及R1C8+SV8。这些全垂直取和在图4中标记为“VSUMS UP1”。以类似的方式计算针对其它三个基准像素阵列的全水平以及垂直取和。
具体地说,用于图2C中描述的基准像素阵列(即起源是R1-C2)的该全水平取和是R1C9+SH1、R2C9+SH2、R3C9+SH3、R4C9+SH4、R5C9+SH5、R6C9+SH6、R7C9+SH7、以及R8C9+SH8。这些全水平取和在图4中标记为“HSUMSRGHT1”。类似地,图2C中描述的用于该基准像素阵列的全垂直取和是R1C2+SV2、R1C3+SV3、R1C4+SV4、R1C5+SV5、R1C6+SV6、R1C7+SV7、R1C8+SV8、以及R1C9+SV9。这些全垂直取和在图4中标记为“VSUMS UP2”。
用于图2D中描述的基准像素阵列(即起源是R2-C1)的该全水平取和是R2C1+SH2、R3C1+SH3、R4C1+SH4、R5C1+SH5、R6C1+SH6、R7C1+SH7、R8C1+SH8、以及R9C1+SH9。这些全水平取和在图4中标记为“HSUMS LFT2”。类似地,图2D中描述的用于该基准像素阵列的全垂直取和是R9C1+SV1、R9C2+SV2、R9C3+SV3、R9C4+SV4、R9C5+SV5、R9C6+SV6、R9C7+SV7、以及R9C8+SV8。这些全垂直取和在图4中标记为“VSUMS DWN1”。
用于图2E中描述的基准像素阵列(即起源是R2-C2)的该全水平取和是R2C9+SH2、R3C9+SH3、R4C9+SH4、R5C9+SH5、R6C9+SH6、R7C9+SH7、R8C9+SH8、以及R9C9+SH9。这些全水平取和在图4中标记为“HSUMS RGHT2”。类似地,图2E中描述的用于该基准像素阵列的全垂直取和是R9C2+SV2、R9C3+SV3、R9C4+SV4、R9C5+SV5、R9C6+SV6、R9C7+SV7、R9C8+SV8、以及R9C9+SV9。这些全垂直取和在图4中标记为“VSUMS DWN2”。
继续参考图4,构成起源是R1-C1的基准像素阵列的正交的取和(即正交取和符号)的“HSUMS LFT 1”和“VSUMS UP1”被作为输入加到第一MAE计算电路(“计算MAE1”)27,其以另一输入端接收对应的当前编码的宏数据块(即“编码宏数据块”)的正交取和(即正交取和符号)。构成起源是R1-C2的基准像素阵列的正交的取和(即正交取和符号)的“HSUMS RGHT1”和“VSUMS UP2”被作为输入加到第二MAE计算电路(“计算MAE2”)29,其以另一输入端接收该编码宏数据块的对应的正交的取和(即正交的取和符号)。构成起源是R2-C1的基准像素阵列的正交的取和(即正交取和符号)的“HSUMS LFT2”和“VSUMSDWN1”被作为输入加到第三MAE计算电路(“计算MAE3”)31,其以另一输入端接收对应的该编码宏数据块(即“编码宏数据块”)的正交取和(即正交取和符号)。构成起源是R2-C2的基准像素阵列的正交的取和(即正交取和符号)的“HSUMSRGHT2”和“VSUMSDWN2”被作为输入加到第四MAE计算电路(“计算MAE3”)33,其以另一输入端接收对应的该编码宏数据块(即“编码宏数据块”)的正交取和(即正交取和符号)。
继续参考图4,将容易地理解,MAE计算电路27、29、31和33把分别基准像素阵列的正交取和符号与编码宏数据块的正交取和符号比较,然后计算各MAE(和/或任何其它适当的失真函数/检索度量)。由于MAE计算电路27、29、31和33并行排列,所以它们同时地操作计算该分别的MAE。最终,一个选择电路35(标记“选择四个的最佳”)接收由MAE计算电路27、29、31和33输出的MAE(MAE1-MAE4),并且选择最低的一个作为该最佳值,以及输出结果供该运动估计处理中进一步使用。
本发明最佳实施例的运动估计搜索引擎20以单一尝试(传送)同时地把在定位(基准)画面中的四个宏数据块位置(基准像素阵列)的正交取和与该编码宏数据块的正交取和比较,以便根据指定的搜索度量(在此情况中是MAE)确定这四个基准像素阵列的哪一个包括该最佳匹配。当然,如在前已经表明的那样,本发明并不局限于基准像素阵列的任何特定数目,例如比四个基准像素阵列或多或少的正交取和符号差能够被同时地计算,然后根据本发明的原理而同时地与当前编码的该宏数据块的正交取和符号比较,从而在单一传送(尝试)中同时地执行多个运动估计。而且,应该认识到本发明的这种方法仅要求在该运动估计搜索过程开始时利用该局部正交取和写入该存储器一次,从而以在此之前描述的方式在该运动估计搜索引擎水平和垂直搜索时广泛地反复使用该存储的局部正交取和。
如前所述,DFCU的计算复杂性是运动估计电路(搜索引擎)造价的主要因素。但是,由于本发明的运动估计方法提供在DFCU的造价和复杂性方面的显著降低,因此使得以未抽取或低级抽取的视频信号开始进行运动估计搜索成为更加实际,从而极大改进了运动估计的搜索精确度,并且最终改进图像质量。在此连接方式中,本发明的运动估计方法不仅实现运动估计级在数量上的降低,而且避免了对于全部删除抽取级所需的特殊视频滤波电路。利用这种硬件的节省,该搜索处理有可能以未抽取的视频开始而以合理的造价获得大的质量改善。
以本发明的运动估计方法实现的另一优点是极大地提高运行速度。传统上,为了比较配置的亮度幅值需要多级逻辑,实际地排除了以单一时钟周期获得结果的可能性。为此原因,或是不得不实际上把系统时钟频率降低,或是系统不得不流水线地使用实际逻辑资源。本发明的运动估计方法允许在单一时钟周期中容易地实现同时/并行地计算多个正交取和,从而由于对应于在基准图像的搜索区域中的基准像素阵列的多个(例如四个)的多个对应MAE(例如四个)的同时/并行计算,而极大降低MAE的计算时间。
除了这些优点之外,本发明使用前面引用序列号为09/287161的美国申请公开的正交取和数据块匹配而极大加速该运动估计方法。
而且本发明实现了胜过当前可用技术的三个显著的特点:
由于正交取和计算的硬件共享而实质上减少硬件;
在使用高共享硬件的单一搜索步骤中同时地判断多个(例如4个)宏数据块位置X。与视频抽取相比,这种实现的X倍的加速不会危害搜索质量;和,
能够使用本发明的运动估计方法和装置执行全部搜索运动估计算法。
虽然在此之前已经详细描述了本发明的最佳实施例,但是应该清楚地理解,本专业的技术人员在所附的权利要求书定义的本发明基本构思指教的范围中能够进行许多变化和/或修改。
在权利要求书中,在圆括号之间的任何标号不应解释为限制该权利要求。单词’包括’不排除在权利要求中所列出之外的另一单元或步骤的存在。本发明能够利用若干不同的单元硬件实现以及利用适当的程序控制计算机实现。在装置权利要求列举的若干装置中,若干这些装置能够由同一个硬件项实现。在互不相同的从属权利要求中引用措施的事实并不表明这些措施的组合不能被优化使用。
总之,提供一个确定(20)在第一画面中的第一个像素阵列和在基准图像的一个搜索区域中的多个第二像素阵列之间的一个最佳匹配的方法,其中第一和第二像素阵列包括分别像素值的多行R和多列C。该方法包括步骤:提供(22)第一像素阵列的第一全正交取和符号,包括该第一像素阵列的行的分别像素值总数的一组水平取和以及该第一像素阵列的列的分别像素值总数的第一组垂直取和;提供(22)用于多个第二像素阵列分别之一的多个局部正交取和符号,多个局部正交取和符号的每一个包括表示该第二像素阵列分别之一的多行M的分别像素值的取和的一组局部水平取和以及表示该第二像素阵列分别之一的多列N的分别像素值的取和的一组局部垂直取和,其中M<R及N<C;使用该多个局部正交取和符号,同时地计算(25)用于多个第二像素阵列各个阵列之一的多个第二全正交取和符号。以及,把第一全正交取和符号与第二全正交取和符号的每一个比较(27、29、31、33),以便确定在第一和第二像素阵列之间的最佳匹配。
Claims (12)
1.一种用于确定在第一画面中的第一个像素阵列和在基准图像的一个搜索区域中的多个第二像素阵列之间的一个最佳匹配的方法,其中第一和第二像素阵列包括各像素值的多行R和多列C,该方法包括步骤:
提供第一像素阵列的第一全正交取和符号,包括该第一像素阵列的行的各像素值总数的一组水平取和以及该第一像素阵列的列的各像素值总数的第一组垂直取和;
提供用于多个第二像素阵列各阵列之一的多个局部正交取和符号,多个局部正交取和符号的每一个包括表示该第二像素阵列各阵列之一的多行M的各像素值的取和的一组局部水平取和以及表示该第二像素阵列各阵列之一的多列N的各像素值的取和的一组局部垂直取和,其中M<R及N<C,以及其中R可以等于或不等于C,而M可以等于或不等于N;
使用该多个局部正交取和符号,计算用于该多个第二像素阵列各阵列之一的多个第二全正交取和符号;以及,
把第一全正交取和符号与第二全正交取和符号的每一个比较,以便确定在第一和第二像素阵列之间的最佳匹配。
2.按照权利要求1的方法,其中N=C-1而M=R-1。
3.按照权利要求2的方法,其中:
该局部水平取和的组表示包含在容括全部第二像素阵列的一个(C+1)X(R+1)像素阵列的R+1行的N列的取和,而局部垂直取和的组表示该(C+1)×(R+1)像素阵列的C+1列的M行中包含的分别像素值的取和;
该R+1行和C+1列总共地包括拥有全部第二像素阵列的该(C+1)×(R+1)像素阵列;和,
该M行和N列是以该(C+1)×(R+1)像素阵列为中心的。
4.按照权利要求1的方法,其中的提供多个局部正交取和符号的步骤是通过首先计算每一个局部水平取和以及每一个局部垂直取和、然后把计算的局部水平和垂直取和存储在一个存储器中执行的。
5.按照权利要求3的方法,其中计算多个第二全正交取和符号的步骤的执行是通过:
针对每一个第二像素阵列,通过适当地把在该M行的上或下的(C+1)×(R+1)像素阵列的一个选定行的像素值加到每一局部垂直取和而计算一组全垂直取和;和
针对每一个第二像素阵列,通过适当地把在该N列上或下的(C+1)×(R+1)像素阵列的一个选定列的像素值加到每一局部水平取和而计算一组全水平取和。
6.按照权利要求5的方法,其中针对每一个第二像素阵列的计算一组全垂直取和的子步骤以及针对每一个第二像素阵列的计算一组全水平取和的子步骤被同时地执行。
7.按照权利要求1的方法,其中使用多个局部正交取和符号计算用于多个第二像素阵列分别之一的多个第二全正交取和符号的步骤是与计算该第二全正交取和符号的每一个同时地执行。
8.按照权利要求3的方法,其中使用多个局部正交取和符号计算用于多个第二像素阵列分别之一的多个第二全正交取和符号的步骤是与计算该第二全正交取和符号的每一个同时地执行。
9.一种用于确定在第一画面中的第一个像素阵列和在基准图像的一个搜索区域中的多个第二像素阵列之间的一个最佳匹配的运动估计搜索引擎,其中第一和第二像素阵列包括各像素值的多行R和多列C,该运动估计搜索引擎包括:
提供第一像素阵列的第一全正交取和符号的电路,该第一全正交取和符号包括该第一像素阵列的行的分别像素值总数的一组水平取和以及该第一像素阵列的列的分别像素值总数的第一组垂直取和;
提供用于多个第二像素阵列分别之一的多个局部正交取和符号的电路,多个局部正交取和符号的每一个包括表示该第二像素阵列各阵列之一的多行M的各像素值的取和的一组局部水平取和以及表示该第二像素阵列各阵列之一的多列N的各像素值的取和的一组局部垂直取和,其中M<R及N<C,以及其中R可以等于或不等于C,而M可以等于或不等于N;
使用该多个局部正交取和符号,计算用于该多个第二像素阵列各阵列之一的多个第二全正交取和符号的电路;以及,
把第一全正交取和符号与第二全正交取和符号的每一个比较的电路,以便确定在第一和第二像素阵列之间的最佳匹配。
10.按照权利要求9的运动估计搜索引擎,其中第一和第二像素阵列的每一个是具有由MPEG标准定义的一个结构的宏数据块。
11.按照权利要求10的运动估计搜索引擎,其中计算多个第二全正交取和符号的电路的操作是:针对每一个第二像素阵列,通过适当地把在该M行的上或下的(C+1)×(R+1)像素阵列的一个选定行的像素值加到每一局部垂直取和而计算一组全垂直取和;以及,
针对每一个第二像素阵列,通过适当地把在该N列上或下的(C+1)×(R+1)像素阵列的一个选定列的像素值加到每一局部水平取和而计算一组全水平取和。
12.按照权利要求9的运动估计搜索引擎,其中计算多个第二全正交取和符号的电路的操作将同时地计算第二全正交取和符号的每一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/287,160 US6400764B1 (en) | 1999-04-06 | 1999-04-06 | Motion estimation method featuring orthogonal-sum concurrent multi matching |
US09/287,160 | 1999-04-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1314051A true CN1314051A (zh) | 2001-09-19 |
CN1189037C CN1189037C (zh) | 2005-02-09 |
Family
ID=23101710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008010390A Expired - Fee Related CN1189037C (zh) | 1999-04-06 | 2000-04-04 | 确定不同图像的像素阵列间最佳配置方法和运动估计搜索引擎 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6400764B1 (zh) |
EP (1) | EP1086590A1 (zh) |
JP (1) | JP2003524933A (zh) |
KR (1) | KR20010052630A (zh) |
CN (1) | CN1189037C (zh) |
WO (1) | WO2000060874A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1312637C (zh) * | 2001-12-03 | 2007-04-25 | 皇家飞利浦电子股份有限公司 | 图像数据检索 |
CN101056411B (zh) * | 2006-04-11 | 2010-09-01 | 义隆电子股份有限公司 | 检测图像位移的方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1243141B1 (en) * | 1999-12-14 | 2011-10-19 | Scientific-Atlanta, LLC | System and method for adaptive decoding of a video signal with coordinated resource allocation |
US6987866B2 (en) * | 2001-06-05 | 2006-01-17 | Micron Technology, Inc. | Multi-modal motion estimation for video sequences |
CN1290027C (zh) * | 2001-08-27 | 2006-12-13 | 皇家飞利浦电子股份有限公司 | 高速缓存方法 |
US20030059089A1 (en) * | 2001-09-25 | 2003-03-27 | Quinlan James E. | Block matching at the fractional pixel level for motion estimation |
US7274857B2 (en) * | 2001-12-31 | 2007-09-25 | Scientific-Atlanta, Inc. | Trick modes for compressed video streams |
WO2004057497A2 (en) * | 2002-12-19 | 2004-07-08 | Koninklijke Philips Electronics N.V. | Reordered search of media fingerprints |
US7966642B2 (en) * | 2003-09-15 | 2011-06-21 | Nair Ajith N | Resource-adaptive management of video storage |
US8600217B2 (en) | 2004-07-14 | 2013-12-03 | Arturo A. Rodriguez | System and method for improving quality of displayed picture during trick modes |
US20090033791A1 (en) * | 2007-07-31 | 2009-02-05 | Scientific-Atlanta, Inc. | Video processing systems and methods |
US20110205438A1 (en) * | 2007-09-10 | 2011-08-25 | Trident Microsystems (Far East) Ltd. | Method and apparatus for motion estimation and motion compensation in video image data |
US8300696B2 (en) * | 2008-07-25 | 2012-10-30 | Cisco Technology, Inc. | Transcoding for systems operating under plural video coding specifications |
US9998750B2 (en) | 2013-03-15 | 2018-06-12 | Cisco Technology, Inc. | Systems and methods for guided conversion of video from a first to a second compression format |
CN105684441B (zh) | 2013-10-25 | 2018-09-21 | 微软技术许可有限责任公司 | 视频和图像编码中的基于散列的块匹配 |
US11076171B2 (en) | 2013-10-25 | 2021-07-27 | Microsoft Technology Licensing, Llc | Representing blocks with hash values in video and image coding and decoding |
WO2015131326A1 (en) | 2014-03-04 | 2015-09-11 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
KR102185245B1 (ko) | 2014-03-04 | 2020-12-01 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 해시 기반 블록 매칭을 위한 해시 테이블 구성 및 이용가능성 검사 |
EP3158751B1 (en) | 2014-06-23 | 2019-07-31 | Microsoft Technology Licensing, LLC | Encoder decisions based on results of hash-based block matching |
EP3202142B1 (en) | 2014-09-30 | 2020-11-11 | Microsoft Technology Licensing, LLC | Hash-based encoder decisions for video coding |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5710603A (en) * | 1992-10-07 | 1998-01-20 | Daewoo Electronics Co., Ltd. | Method for detecting motion vectors |
US5638128A (en) * | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
FR2742248B1 (fr) * | 1995-12-06 | 1998-01-23 | Thomson Multimedia Sa | Procede de traitement de donnees dans des reseaux matriciels dans un systeme d'estimation de mouvement |
US5652625A (en) * | 1996-06-19 | 1997-07-29 | United Microelectronics Corp. | Multi-stage pipeline architecture for motion estimation block matching |
US6192148B1 (en) * | 1998-11-05 | 2001-02-20 | Winbond Electronics Corp. | Method for determining to skip macroblocks in encoding video |
-
1999
- 1999-04-06 US US09/287,160 patent/US6400764B1/en not_active Expired - Lifetime
-
2000
- 2000-04-04 KR KR1020007013856A patent/KR20010052630A/ko not_active Application Discontinuation
- 2000-04-04 EP EP00917036A patent/EP1086590A1/en not_active Withdrawn
- 2000-04-04 JP JP2000610236A patent/JP2003524933A/ja active Pending
- 2000-04-04 CN CNB008010390A patent/CN1189037C/zh not_active Expired - Fee Related
- 2000-04-04 WO PCT/EP2000/002921 patent/WO2000060874A1/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1312637C (zh) * | 2001-12-03 | 2007-04-25 | 皇家飞利浦电子股份有限公司 | 图像数据检索 |
CN101056411B (zh) * | 2006-04-11 | 2010-09-01 | 义隆电子股份有限公司 | 检测图像位移的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2003524933A (ja) | 2003-08-19 |
US6400764B1 (en) | 2002-06-04 |
EP1086590A1 (en) | 2001-03-28 |
WO2000060874A1 (en) | 2000-10-12 |
KR20010052630A (ko) | 2001-06-25 |
CN1189037C (zh) | 2005-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1189037C (zh) | 确定不同图像的像素阵列间最佳配置方法和运动估计搜索引擎 | |
US11966835B2 (en) | Deep neural network accelerator with fine-grained parallelism discovery | |
Chang et al. | A fast LBG codebook training algorithm for vector quantization | |
CN1708133A (zh) | 降低位精度的用于子像素运动估计的方法和设备 | |
CN100527848C (zh) | 运动矢量检测装置及运动矢量检测方法 | |
Juang et al. | Low-error carry-free fixed-width multipliers with low-cost compensation circuits | |
Hui et al. | New adaptive partial distortion search using clustered pixel matching error characteristic | |
US8442117B2 (en) | Method of block matching-based motion estimation in video coding | |
US7804900B2 (en) | Method for fast SATD estimation | |
CN1688164A (zh) | 基于对象边缘的形状快速运动估值的方法 | |
KR20040047963A (ko) | 움직임 예측 유닛 및 방법 및 이러한 움직임 예측 유닛을구비하는 이미지 처리 장치 | |
CN107943903A (zh) | 视频检索方法及装置、计算机设备、存储介质 | |
US8379712B2 (en) | Image search methods for reducing computational complexity of motion estimation | |
US8837595B2 (en) | Motion estimation method | |
CN1190949C (zh) | 确定一个数据样本与其它数据样本的内插值之间相似程度 | |
US8014610B2 (en) | Method of multi-path block matching computing | |
US20090141802A1 (en) | Motion vector detecting apparatus, motion vector detecting method, and program | |
CN110267049A (zh) | 一种稀疏编码的存储优化方法 | |
CN1201589C (zh) | 运动估计方法和装置 | |
Palaniraj et al. | Hybrid motion estimation algorithm based on PSO with dynamic threshold on static block detection | |
Zheng et al. | Motion estimation using maximum sub-image and sub-pixel phase correlation on a DSP platform | |
FI110743B (fi) | Menetelmä ja järjestelmä liike-estimoinnin suorittamiseksi | |
US20110299596A1 (en) | Fractional motion estimation method with adaptive mode selection | |
CN113838014B (zh) | 基于双重空间扭曲的航空发动机损伤视频检测方法 | |
JP4859168B2 (ja) | 動き検出装置及び動き検出方法 |
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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |