CN1297134C - 用于扫描搜索区内参考宏块窗口的运动估计装置和方法 - Google Patents
用于扫描搜索区内参考宏块窗口的运动估计装置和方法 Download PDFInfo
- Publication number
- CN1297134C CN1297134C CNB021227438A CN02122743A CN1297134C CN 1297134 C CN1297134 C CN 1297134C CN B021227438 A CNB021227438 A CN B021227438A CN 02122743 A CN02122743 A CN 02122743A CN 1297134 C CN1297134 C CN 1297134C
- Authority
- CN
- China
- Prior art keywords
- reference macroblock
- memory cell
- current
- register
- image 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.)
- Expired - Fee Related
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/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/55—Motion estimation with spatial constraints, e.g. at image or region borders
-
- 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
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- 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/423—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 characterised by memory arrangements
-
- 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
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
公开了一种运动估计技术,将当前宏块与参考帧搜索区中的不同参考宏块进行比较。将当前宏块的运动矢量从与当前宏块最为匹配的参考宏块中导出。为减少装载新参考宏块所需的指令数目,复用参考宏块之间的重叠部分并且仅将非重叠部分装载到存储器存储部件。
Description
技术领域
本发明涉及一种运动估计装置和方法。更具体地说,本发明涉及用于扫描搜索区内参考宏块窗口的运动估计装置和方法。
背景技术
该申请享有2001年7月9日申请的申请号为2001-40904的韩国专利申请的优先权,这里完整引入其内容以供参考。
视频编码器生成遵守视频压缩国际标准,比如H.261、H.263、MPEG-1、MPEG-2、MPEG-4、MPEG-7、以及MPEG-21的位流。这些标准广泛地应用于数据存储、基于互联网的图像服务、娱乐、数字广播、便携式视频终端等领域。
视频压缩标准使用将当前帧分成多个宏块(macroblock)(MB)的运动估计技术。计算当前MB和存在于参考帧搜索区内的其它参考MB之间的差异。搜索区中与当前MB最相似的参考MB被认为是“匹配块”并将其选中。将指示当前MB和匹配块之间相位差的当前MB的运动矢量进行编码。相位差是指当前MB和匹配块之间的位置差。由于只传送当前MB的运动矢量,故需要传送或存储的为较小量数据。
当前MB与搜索区的关系如图1所示。根据四分之一公共中间格式(Quarter Common Intermediate Format,QCIF),一帧包含176×144个像素,当前帧2包含99个当前MB,并且每个当前MB 10包含16×16个像素。在参考帧4中计算当前MB 10的运动矢量。参考帧4中搜索区12包括48×48个像素。
在搜索区12中,将与当前MB 10最相似的16×16参考MB识别为匹配块。可以用各种不同的方法计算当前MB与参考MB之间的差。例如通过使用绝对差均值(MAD)、绝对方差均值(MAE)、或绝对差总和(SAD)。SAD最为普遍因为它只需要减法和加法运算。
图2说明了一种基本完全搜索,其中将像素10_1和14_1分别装载到32位寄存器15和17。然后使用算术逻辑单元(ALU)30计算SAD。在用ALU 30比较当前MB 10和参考MB 14a之前,将它们存储在存储器中并一个像素一个像素地装载到32位寄存器15和17中。将存在于搜索区12中的参考MB14a、14b、14c等与当前MB 10一个像素一个像素地进行比较。
这种简单思想的估计方法提供了高精确度。但是,因为有太多的计算故限制了传送速率。该方法也不适合于由一些处理能力有限的多用途的中央处理单元(CPU),比如一些在手持个人计算机(PC)中使用的CPU进行的实时解码。
通过比较当前MB与搜索区内有限数目的参考MB可以使用一种快速搜索算法(没有示出)计算SAD。与上述完全搜索方法相比该种快速搜索算法可以显著地减少计算次数。然而,这种快速搜索算法降低了画面质量。
使用完全搜索方法发展出了一种快速计算SAD的方法。使用单指令多数据(Single Instruction Multiple Data,SIMD)方法可同时计算多个像素的SAD。该减少的运算次数提高了传送速率。
图3说明了使用SIMD部件的SAD计算。当前MB 10和参考MB 14a各自的八个像素10_8与14_8分别装载到64位寄存器16和18。SIMD机20同时计算装载到64位寄存器16和18中的八个像素的SAD。与典型的完全搜索算法其中单独计算每个像素的SAD不同,使用SIMD技术可以实现对多个像素同时并行计算SAD。
计算量随着搜索区12中下一个MB移位的方向而变化。如图3所示,每当选择下一个MB进行水平移位,必须从存储器中访问当前MB 10和参考MB 14中的八个像素并将其装载到寄存器16和18。这种大量的存储器访问增加了导出运动矢量所需的时间量并增加了能量消耗。
由于大量的存储器访问以及伴随的大能量消耗,这些传统运动估计方法不适合于移动环境。本发明致力于解决该问题以及其它与现有技术相关的问题。
发明内容
运动估计技术将当前宏块与参考帧搜索区内的不同参考宏块进行比较。从与当前宏块最为匹配的参考宏块中导出当前宏块的运动矢量。为减少装载新参考宏块所需的指令数目,复用参考宏块之间重叠的部分、并只将没有重叠的部分装载到存储器存储部件中。
附图说明
通过参考附图对本发明优选实施例的详细描述本发明前述的及其它目的、功能和优点将变得更为清楚。
图1是说明如何导出运动矢量的现有技术示意图。
图2是说明使用完全搜索方法并使用绝对差总和(SAD)的方法、执行运动矢量搜索的传统方法的现有技术示意图。
图3是说明使用单指令多数据(SIMD)方法执行运动矢量搜索的传统方法的现有技术示意图。
图4是根据本发明执行运动估计的***的方框图。
图5是抽取过滤器的示意图。
图6是说明抽取后的当前宏块和相应的搜索区的示意图。
图7是说明根据本发明如何使用两组寄存器的示意图。
图8说明根据本发明如何在搜索区移位参考宏块。
图9是说明根据本发明如何识别运动矢量的流程图。
图10A-10D是比较不同运动估计技术的指令计数的图表。
图11A-11D说明传统运动估计方法与根据本发明的运动估计方法之间的其它差别。
图12比较根据本发明的垂直扫描技术和其它扫描技术并说明在存储器访问方面的差别。
图13概念性地说明图4中差异计算单元110的一部分。
具体实施方式
本发明通过在搜索区扫描参考MB时复用公共寄存器提供减少存储器访问次数的高效运动估计。。
图4是本发明优选实施例运动估计***的方框图。运动估计***包括当前帧(C/F)100、第一寄存器组102、差异计算单元110、搜索区(S/A)104、第二寄存器组106、以及控制器108。第一和第二寄存器组102及106分别为当前帧100的一个宏块(MB)和搜索区104的一个宏块存储像素。在一个例子中,一个MB的大小为16×16像素。第一和第二寄存器组102及106的每一个都可以存储一个16×16像素的数组。控制器108可以用软件或硬件构造。
图5说明了使用4∶1抽取过滤器实施的预处理步骤。在当前帧100(图4)上使用n∶1抽取过滤器以减少所需硬件资源。当前帧在图5中由输入帧130表示。帧130由四个4∶1抽取过滤器126a、126b、126c和126d分成四种抽取帧a、b、c和d,并存储在帧存储器128中。从电荷耦合图像捕获部件(CCD)120输出的视频信号通过模-数转换器(ACD)122转换成数字信号。从ADC 122输出的信号是RGB信号。预处理器124将RGB信号转换成YCbCr信号。在一个实施例中,抽取过滤器126只对Y信号进行抽取。
抽取过滤器126a用于输入帧130中的a种像素,抽取过滤器126b用于b种像素,抽取过滤器126c用于c种像素,并且抽取过滤器126d用于d种像素。抽取之后,抽取后帧a、b、c、和d存储在帧存储器128中。
作为对输入帧130进行4∶1抽取的结果,一个MB的大小减小到8×8个像素。对搜索区104进行与当前帧130同样比率的抽取。例如,对48×48个像素的搜索区进行4∶1抽取将搜索区的大小减小到24×24个像素。图6说明了经过4∶1抽取后一个当前MB 140及其相应的搜索区150。
为解释之便,将当前帧描述为经过图5中4∶1抽取过滤器的四种抽取后帧a、b、c、和d之一。当前帧100中的每个MB的大小为8×8个像素并且经过4∶1抽取过滤器的搜索区104的大小为24×24个像素。
第一寄存器组102(图4)存储当前帧100的一个当前MB,并且第二寄存器组106存储搜索区104的一个参考MB。第一和第二寄存器组102及106以图7中描述为画圈的数字的预定次序存储像素。对八个像素的各个组来说在第一和第二寄存器组102及106中每一个的计算次序都是确定的。
图7说明了图4中第一和第二寄存器组102及106的结构和装载顺序。第一寄存器组102存储当前MB并包括每个都存储八个像素的寄存器。以预定的次序从0到7指定这些寄存器。第二寄存器组106包括每个都存储八个像素的寄存器并且以预定的次序从8到15指定这些寄存器。为计算存储在第一寄存器组102中的当前MB与存储在第二寄存器器组106中的参考MB之间的差,用下面公式计算当前参考块的SAD和运动矢量MV。
其中,k(m,n)是第k个帧在(M,N)处的像素值。运动矢量(MVx,MVy)表示当前块到参考帧中最匹配块的位移。
差异计算单元110(图4)用图3中的单指令多数据(SIMD)方法同时计算八个像素的差。
图13概念性地说明了图4中的差异计算单元110。第一寄存器组102的每个寄存器142的每个像素和第二寄存器组106的每个寄存器144的每个像素之间的绝对差值存储在寄存器132中。例如,142a和144a之间的绝对差值存储在132a中,并且142b和144b之间的绝对差值存储在132b中。为计算142和144之间的绝对差,执行一个内部求和指令将存储在图13的点划线框内寄存器132中的每个差值相加。
如图13的点划线框所示,一个内部求和指令的执行仅用到多个相加器。在传统方法中为了将每个值相加,用一个相加指令和移位指令执行求和,因此与本方法相比需要额外的循环。所以,为完整地计算抽取后当前MB和抽取后参考MB之间的匹配块需执行八个内部求和指令。
一旦计算了当前MB 10和参考MB 14所有像素的SAD,通过将每个像素的SAD相加计算参考MB 14a的内部总和。在计算了搜索区12的所有参考MB的内部总和之后,将具有最小内部总和的参考MB识别为匹配块,并且计算结果作为图4中的MB差(E_MB)输出。图4中的控制器108控制如何使用SIMD扫描方法在搜索区104中移位参考MB窗口以减小存储器访问次数。
图12更详细地说明传统扫描方法和根据本发明的扫描方法的一些差别。对于完全搜索,根据传统扫描方法,当前参考块在水平或垂直方向移位一个像素得到下一个参考块,分别如图12_1和12_2所示。在这些情况下,当前比较的参考块中的大部分像素与下一个要比较的参考块中使用的像素相重叠。
对于图12_1中所示的水平扫描,只有下一个寄存器组106’_2的最右边区域包括相对于寄存器组106’_1中的像素而言的新像素。同样的,对于图12_2中所示的垂直扫描,只有下一个寄存器组106”_2的最下边区域包括相对于当前寄存器组106”_1而言的新像素。即便只有边缘区域包括新像素,对整个参考宏块106执行存储器访问。
根据本发明用于SIMD方案的垂直扫描在图12_3中说明。在图4中只有新像素106_2从主存储器装载到第二寄存器组106中。如图7所示,第二寄存器组160b复用存储在第一寄存器组160a中9到15寄存器区域中的重叠像素。将新的一行像素值只装载到第二寄存器组160b的第一寄存器区域8。在第二寄存器组160b中第一寄存器区域8下移到最后一个位置。存储与下一个参考块重叠的像素行的其它寄存器区域9至15在序列中上移1。例如,寄存器区域9移到了第一个位置,寄存器10移到了第二个位置,寄存器11移到了第三个位置等。
这种参考MB移位只需要一次存储器访问以在搜索区104中在每次垂直移位时读取一行新的没有重叠的像素(图4)。由于不需要从存储器中读取下一个参考MB的整个8×8像素数组,从而减少了用于扫描搜索区104的存储器访问次数。
图8说明了参考MB在搜索区104中的移位。图4中在控制器108的控制下垂直扫描参考MB窗口。参考MB窗口每次垂直移位一个像素行。虽然这里说明了垂直窗口移位,同样的技术可以用于水平窗口移位。当像素沿当前和参考帧的垂直列存储在存储器中的连续位置时可以使用水平移位。
如上所述,当使用能够存储一个MB数据的寄存器并且在搜索区中垂直移位参考MB窗口时,复用当前参考MB和下一个参考MB之间的重叠像素。这减少了控制器108扫描搜索区所需的存储器访问次数。当前MB存储在第一寄存器组中,并且当前参考MB存储在第二寄存器组中。
图9是更详细地说明本发明SIMD扫描方案的流程图。在步骤170,以n∶1的比率抽取当前帧和参考帧。为解释之便,在本实施例中n=4。参数HS指明搜索区中第一个参考MB的最后一列的位置,参数VS指明搜索区中第一个参考MB的最后一行的位置,以及参数DCM指明四个抽取后帧。
这里,第一个参考MB是搜索区中左边最上面的MB,并且第一个参考MB的第一个参数HS和第二个参数VS为零。在步骤172中,参数HS、VS、DCM都初始化为零,并且最小差异E_MIN初始化为尽可能大的值,例如,无穷大。
将标识号0、1、2、和3分别分配给四个抽取后帧。在步骤174将参数DCM与值4进行比较以确定最后一个抽取帧的运动估计是否完成。如果最后一个抽取后帧的运动估计没有完成,在步骤176将当前MB装载到第一寄存器组140(参见图7)。
在步骤178确定HS参数是否小于17。当HS参数不小于17时,完成搜索区中最后一列(HS16)的运动估计。在步骤192将HS重设为零并且在块198中将DCM加1到下一个DCM帧。处理然后回到步骤174。
如果到HS16的运动估计没有完成,在步骤180确定VS参数是否小于17。如果VS小于17,在步骤182和184执行流水线操作程序。在步骤182只有最后一行VS1装载到参考MB(参见图8)。如果到最后一行的运动估计没有完成,即,如果参考MB窗口没有移位到最后一行VS16,在步骤182将参考MB装载到第二寄存器组160a。在步骤184计算当前MB和参考MB之间的差。
在这种情况下,垂直方向上的新行VS1存储到第一寄存器位置的寄存器区序列中。例如,将下一个参考MB的下一个新的没有重叠的像素行装载到第二寄存器组160b的寄存器8($register 8)中。其它的寄存器区,即,寄存器9($register 9)到寄存器15($register 15),在序列中向上移1位。即,图7中的第二寄存器组160b复用存储在寄存器区寄存器9($register 9)到寄存器15($register 15)中的像素。因此,仅从存储器中访问新行VS1(图8)的像素并将其存储在第二寄存器组160b的寄存器区寄存器8($register 8)中。
在步骤184,计算装载到图7中第一和第二寄存器组140及160中的MB之间的差。在步骤186将MB差异E_MB与最小差异E_MIN相比较。如果MB差异E_MB小于最小差异E_MIN,在步骤188将最小差异E_MIN设置为MB差异E_MB。如果MB差异E_MB不小于最小差异E_MIN,保持当前最小差异E_MIN,并且在步骤190将参数VS加1。然后重复步骤180到190直到对参考MB的垂直扫描到达最后一行VS16(图8)。
如果在步骤180确定了作为扫描到最后一行VS16的结果第二个参数VS不小于17,在步骤200将参数VS初始化为零。在步骤202将参数HS加1,并且处理回到步骤178。换句话说,参考MB窗口向右移位了一个像素位置。然后重复步骤180到190。
在参考MB窗口在水平方向移位到最后一列HS16后,即,如果在步骤178确定了参数HS不小于17,在步骤192将第一个参数HS重新初始化到零。在步骤198将DCM参数加1并且处理回到步骤174。增加DCM参数意味着执行了另一个抽取后帧的运动估计。
当所有抽取后帧的运动估计都已完成,即,如果在步骤174确定了DCM参数不小于4,在步骤204将具有最小差异的参考MB识别为匹配块。通过对当前帧所有MB重复上述的处理完成当前帧的运动估计。
如上所述,第一和第二寄存器组存储当前MB和参考MB。在搜索区中垂直移位参考MB窗口以进行运动估计。复用当前参考MB和下一个参考MB之间的重叠像素。结果,当将下一个参考MB装载到第二寄存器组中时需要较少的指令(装载/存储)。这样可以以较小的能量消耗获取快速运动估计。
图10a至10d说明了本发明相对于传统运动估计方法的优点。图10a指明了不执行抽取(即,完全搜索算法)的传统运动估计方法的指令计数。下面情况得到了确定:图10a的传统方法中总指令计数的26.2%用作存储器访问指令,并且指令计数的余下73.8%用于非存储器访问。图10a与图2对应,其中在搜索区中水平移位参考MB并且用SAD为每个像素执行运动估计。图10b说明了执行抽取的传统运动估计方法的总指令计数。图10c说明了使用抽取和SIMD的传统运动估计方法的总指令计数。
图10d说明了使用本发明的运动估计方法的总指令计数。对于图10b到10d中说明的三种情况,百分比27.0%、1.6%、以及0.9%分别为与图10a的传统运动估计方法相比较的存储器访问指令计数的相对比率。很显然用正交扫描访问非重叠部分的方法是减小存储器访问计数的最高效技术。
图11说明具有要求的四分之一公共中间格式(QCIF)的两帧提取99个最小SAD所需的总时钟周期数。在图11中,11a对应于图10a,11b对应于图10b,11c对应于图10c,以及11d对应于图10d。用正交扫描方案访问非重叠部分相对于使用普通SIMD的传统运动估计方法性能提高了两倍。
上述扫描技术可以使用用于比较当前宏块和参考宏块的单指令多数据(SIMD)部件或较长指令字(VLIW)部件来实现。用于匹配宏块的方案可以包括绝对差均值(MAD)、绝对方差均值(MAE)、或绝对差总和(SAD)方案。用于选择下一个参考宏块的方法可以包括快速算法或完全搜索算法。当然,也可以使用其它单指令/多数据部件、匹配方案、以及搜索算法。
该发明可以通过在通用数字计算机中运行一个来自计算机可用媒介,包括但不限于如磁存储媒介(例如,ROM、软盘、硬盘等)、光可读媒介(例如,CD-ROM、DVD等)的存储媒介、以及载波(例如,在互联网上传送)的程序实施。计算机可用媒介可以在由网络连接的分布式计算机***中存储和执行。
上述***可以使用专用处理器***、微控制器、可编程逻辑部件、或执行一些或所有操作的微处理器。上述一些操作可以用软件实现并且其它操作可以用硬件实现。
为方便起见,将操作描述为各种内连的功能块或不同的软件模块。但是,这是不必要的并且可能会存在下面情况,即,这些功能块或模块等价地聚集在单独一个逻辑部件,程序或操作中而没有明显的界限。无论如何,功能块和软件模块或灵活的接口的各种功能特征可以单独实现,或者以硬件方式或软件方式与其它操作联合实现。
在以本发明的优选实施例描述和说明了其原理之后,应该清楚可以在布局和细节方面修改本发明而不悖离这些原理。所请求保护的是在下面权力要求的精神和范围内的所有修改和变化。
Claims (29)
1.一种通过使用宏块来处理图像的图像处理装置,包括:
第一存储单元,用于存储当前宏块;
第二存储单元,用于存储第一参考宏块;
计算单元,用于计算第一存储单元和第二存储单元所存储的内容的差作为图像处理装置的输出;以及
控制器,用于通过将第一参考宏块的非重叠部分替换为第二参考宏块的非重叠部分而将第二参考宏块装载到第二存储单元中,其中第一参考宏块和第二参考宏块是在搜索区中部分重叠并且从搜索区中依次选择的宏块,所述控制器还协调第一存储单元、第二存储单元和计算单元的操作。
2.如权利要求1所述的图像处理装置,其中计算单元的结果用于确定运动矢量。
3.如权利要求1所述的图像处理电路,其中计算单元包括单指令多数据部件。
4.如权利要求1所述的图像处理装置,其中通过由计算单元计算第一存储单元和第二存储单元之间的差,在第二存储单元中复用第一参考宏块与第二参考宏块重叠的部分。
5.如权利要求1所述的图像处理装置,其中第一存储单元包含每个都为当前宏块存储一组像素值的多个寄存器,以及第二存储单元包含每个都为第一参考宏块存储一组像素值的多个寄存器。
6.如权利要求5所述的图像处理装置,其中计算单元同时将存储在第一存储单元的每个寄存器中的一组像素值与存储在第二存储单元的每个寄存器中的一组像素值进行比较。
7.如权利要求5所述的图像处理装置,其中第一存储单元中多个寄存器的每一个都存储当前宏块的一行或一列,以及第二存储单元中多个寄存器的每一个存储第一参考宏块的一行或一列。
8.如权利要求1所述的图像处理装置,其中通过用第二参考宏块的非重叠部分代替第一参考宏块的非重叠部分而将第二参考宏块的非重叠部分从存储器装载到第二存储单元。
9.如权利要求1所述的图像处理装置,其中控制器通过将第二存储单元中存储非重叠部分的第一个寄存器位置移动到最后一个寄存器位置、并将第二存储单元中存储第一参考宏块重叠部分的其它寄存器按次序上移,从而将第二参考宏块装载到第二存储单元。
10.如权利要求1所述的图像处理装置,包括预处理器,将当前帧抽取为多个抽取后当前帧、并将参考帧抽取为多个抽取后参考帧。
11.如权利要求1所述的图像处理装置,其中控制器和计算单元以软件或硬件形式实现。
12.如权利要求5所述的图像处理装置,其中计算单元包括:
第三存储单元,用于存储第一存储单元的每个寄存器的每个像素与第二存储单元的每个寄存器的每个像素之间的绝对差;以及
求和电路,用于导出存储在第三存储单元中的绝对差值的总和。
13.如权利要求12所述的图像处理装置,其中求和电路仅包含多个加法器。
14.如权利要求12所述的图像处理装置,其中单个内部求和指令导致求和电路生成所有存储在第三存储单元中的绝对差值的总和。
15.一种运动估计方法,包括:
装载当前宏块;
装载当前参考宏块;
比较当前宏块和当前参考宏块;以及
通过将装载后的当前参考宏块的非重叠部分替换成下一个参考宏块的非重叠部分来装载下一个参考宏块,其中当前参考宏块和下一个参考宏块是在搜索区中部分重叠并且从搜索区中依次选择的宏块。
16.如权利要求15所述的方法,包括:复用当前参考宏块的重叠部分,以比较下一个参考宏块和当前宏块。
17.如权利要求15所述的方法,包括:
在一条指令下将非重叠的一组像素从下一个参考宏块装载到当前包含当前参考宏块非重叠部分像素的标识的寄存器;以及
复用其它寄存器中与下一个参考宏块重叠的像素。
18.如权利要求17所述的方法,包括从存储参考帧的存储器装载所标识的寄存器。
19.如权利要求17所述的方法,包括将存储下一个参考宏块的非重叠部分的标识寄存器的次序移动到最后一个寄存器位置,并将其它寄存器的次序上移。
20.如权利要求15所述的方法,包括将装载后当前宏块的每组像素值与装载后当前参考宏块的每组像素值同时进行比较。
21.如权利要求20所述的方法,其中每组像素值包含当前宏块的一行或一列、或当前参考宏块的一行或一列。
22.如权利要求15所述的方法,包括使用单指令多数据部件或较长指令字部件,用于比较当前宏块和当前参考宏块。
23.如权利要求15所述的方法,包括使用匹配宏块方案比较当前宏块和当前参考宏块。
24.如权利要求23所述的方法,其中匹配宏块方案为绝对差均值、绝对方差均值、或绝对差总和。
25.如权利要求15所述的方法,包括使用快速算法或完全搜索算法选择下一个参考宏块。
26.如权利要求15所述的方法,包括:
将当前帧抽取为多个抽取后当前帧;
将参考帧抽取为多个抽取后参考帧;
从抽取后当前帧选择当前宏块;
在抽取后参考帧的搜索区中移位所选择的当前宏块,以识别与当前宏快最相似的参考宏块;以及
导出所识别出的参考宏块的运动矢量。
27.如权利要求20所述的方法,包括:
存储装载后的当前宏块的每组像素值与装载后的当前参考宏块的每组像素值之间的绝对差;以及
导出该绝对差值的总和。
28.如权利要求27所述的方法,包括仅使用加法器导出绝对差值的总和。
29.如权利要求28所述的方法,包括使用一条单独内部求和指令生成所有绝对差值的总和。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR40904/01 | 2001-07-09 | ||
KR40904/2001 | 2001-07-09 | ||
KR20010040904 | 2001-07-09 | ||
US10/112,011 US20030012281A1 (en) | 2001-07-09 | 2002-03-29 | Motion estimation apparatus and method for scanning an reference macroblock window in a search area |
US10/112,011 | 2002-03-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1396762A CN1396762A (zh) | 2003-02-12 |
CN1297134C true CN1297134C (zh) | 2007-01-24 |
Family
ID=26639222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021227438A Expired - Fee Related CN1297134C (zh) | 2001-07-09 | 2002-06-10 | 用于扫描搜索区内参考宏块窗口的运动估计装置和方法 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2003125415A (zh) |
KR (1) | KR100486249B1 (zh) |
CN (1) | CN1297134C (zh) |
GB (1) | GB2378345B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120941A (zh) * | 2018-09-03 | 2019-01-01 | 山东师范大学 | 一种视频图像数据重用方法、处理器及*** |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519115B2 (en) * | 2003-03-31 | 2009-04-14 | Duma Video, Inc. | Video compression method and apparatus |
WO2005025230A1 (ja) * | 2003-08-28 | 2005-03-17 | Hitachi Ulsi Systems Co., Ltd. | 画像処理装置 |
KR100621137B1 (ko) * | 2004-02-27 | 2006-09-13 | 세이코 엡슨 가부시키가이샤 | 동화상 부호화 장치 및 동화상 처리장치 |
TWI370691B (en) * | 2005-01-19 | 2012-08-11 | Via Tech Inc | A method and system for hierarchical search with cache |
KR100677562B1 (ko) | 2005-02-03 | 2007-02-02 | 삼성전자주식회사 | 움직임 추정 방법 및 장치 |
CN100370808C (zh) * | 2005-06-13 | 2008-02-20 | 北京中星微电子有限公司 | 一种运动检测方法 |
US8118676B2 (en) | 2005-07-08 | 2012-02-21 | Activevideo Networks, Inc. | Video game system using pre-encoded macro-blocks |
US8284842B2 (en) | 2005-07-08 | 2012-10-09 | Activevideo Networks, Inc. | Video game system using pre-encoded macro-blocks and a reference grid |
US9061206B2 (en) * | 2005-07-08 | 2015-06-23 | Activevideo Networks, Inc. | Video game system using pre-generated motion vectors |
US8270439B2 (en) | 2005-07-08 | 2012-09-18 | Activevideo Networks, Inc. | Video game system using pre-encoded digital audio mixing |
KR100678911B1 (ko) * | 2005-07-21 | 2007-02-05 | 삼성전자주식회사 | 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치 |
US8074248B2 (en) | 2005-07-26 | 2011-12-06 | Activevideo Networks, Inc. | System and method for providing video content associated with a source image to a television in a communication network |
JP4182442B2 (ja) * | 2006-04-27 | 2008-11-19 | ソニー株式会社 | 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体 |
KR101328931B1 (ko) * | 2006-11-28 | 2013-11-14 | 엘지전자 주식회사 | 비디오 복호기 및 복호방법 |
WO2008088741A2 (en) | 2007-01-12 | 2008-07-24 | Ictv, Inc. | Interactive encoded content system including object models for viewing on a remote device |
US9826197B2 (en) | 2007-01-12 | 2017-11-21 | Activevideo Networks, Inc. | Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device |
KR101520027B1 (ko) | 2007-06-21 | 2015-05-14 | 삼성전자주식회사 | 움직임 추정 방법 및 장치 |
KR100909390B1 (ko) * | 2007-09-18 | 2009-07-24 | 한국과학기술원 | 고속 움직임 보상 장치 및 방법 |
CN101179724B (zh) * | 2007-12-11 | 2010-09-29 | 北京中星微电子有限公司 | 帧间压缩编码中的帧存储方法及装置 |
CN101800893B (zh) * | 2009-02-06 | 2013-01-16 | 宏碁股份有限公司 | 执行运动估计的低功率高性能视频编码方法 |
US8194862B2 (en) | 2009-07-31 | 2012-06-05 | Activevideo Networks, Inc. | Video game system with mixing of independent pre-encoded digital audio bitstreams |
CN102340617B (zh) * | 2010-07-14 | 2014-06-11 | 奇景光电股份有限公司 | 运动估算及运动补偿电路 |
AU2011315950B2 (en) | 2010-10-14 | 2015-09-03 | Activevideo Networks, Inc. | Streaming digital video between video devices using a cable television system |
EP2695388B1 (en) | 2011-04-07 | 2017-06-07 | ActiveVideo Networks, Inc. | Reduction of latency in video distribution networks using adaptive bit rates |
US10409445B2 (en) | 2012-01-09 | 2019-09-10 | Activevideo Networks, Inc. | Rendering of an interactive lean-backward user interface on a television |
US9800945B2 (en) | 2012-04-03 | 2017-10-24 | Activevideo Networks, Inc. | Class-based intelligent multiplexing over unmanaged networks |
US9123084B2 (en) | 2012-04-12 | 2015-09-01 | Activevideo Networks, Inc. | Graphical application integration with MPEG objects |
US10275128B2 (en) | 2013-03-15 | 2019-04-30 | Activevideo Networks, Inc. | Multiple-mode system and method for providing user selectable video content |
US9294785B2 (en) | 2013-06-06 | 2016-03-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
EP3005712A1 (en) | 2013-06-06 | 2016-04-13 | ActiveVideo Networks, Inc. | Overlay rendering of user interface onto source video |
US9219922B2 (en) | 2013-06-06 | 2015-12-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
US9788029B2 (en) | 2014-04-25 | 2017-10-10 | Activevideo Networks, Inc. | Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2327827A (en) * | 1996-11-29 | 1999-02-03 | Sony Corp | Motion vector detection image processing apparatus |
EP0959626A2 (en) * | 1998-05-19 | 1999-11-24 | Nippon Telegraph And Telephone Corporation | Motion vector search method and apparatus |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07264602A (ja) * | 1994-03-24 | 1995-10-13 | Sony Corp | 動きベクトル検出方法 |
KR100205146B1 (ko) * | 1996-09-12 | 1999-07-01 | 이득렬 | 디지탈 비데오 인코더 시스템에서 움직임 예측 방법 |
KR100397055B1 (ko) * | 2000-07-21 | 2003-09-06 | (주)씨앤에스 테크놀로지 | 저전송율 영상통신을 위한 움직임 예측기 구조 |
KR100446235B1 (ko) * | 2001-05-07 | 2004-08-30 | 엘지전자 주식회사 | 다중 후보를 이용한 움직임 벡터 병합 탐색 방법 |
-
2002
- 2002-06-10 GB GB0213247A patent/GB2378345B/en not_active Expired - Fee Related
- 2002-06-10 CN CNB021227438A patent/CN1297134C/zh not_active Expired - Fee Related
- 2002-07-08 JP JP2002199065A patent/JP2003125415A/ja active Pending
- 2002-07-09 KR KR10-2002-0039835A patent/KR100486249B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2327827A (en) * | 1996-11-29 | 1999-02-03 | Sony Corp | Motion vector detection image processing apparatus |
EP0959626A2 (en) * | 1998-05-19 | 1999-11-24 | Nippon Telegraph And Telephone Corporation | Motion vector search method and apparatus |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120941A (zh) * | 2018-09-03 | 2019-01-01 | 山东师范大学 | 一种视频图像数据重用方法、处理器及*** |
Also Published As
Publication number | Publication date |
---|---|
JP2003125415A (ja) | 2003-04-25 |
GB2378345B (en) | 2004-03-03 |
CN1396762A (zh) | 2003-02-12 |
GB2378345A (en) | 2003-02-05 |
KR100486249B1 (ko) | 2005-05-03 |
KR20030007087A (ko) | 2003-01-23 |
GB0213247D0 (en) | 2002-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1297134C (zh) | 用于扫描搜索区内参考宏块窗口的运动估计装置和方法 | |
US7020201B2 (en) | Method and apparatus for motion estimation with all binary representation | |
CN1157956C (zh) | 运动估计器 | |
Tuan et al. | On the data reuse and memory bandwidth analysis for full-search block-matching VLSI architecture | |
US6970509B2 (en) | Cell array and method of multiresolution motion estimation and compensation | |
US5995080A (en) | Method and apparatus for interleaving and de-interleaving YUV pixel data | |
US20070071101A1 (en) | Systolic-array based systems and methods for performing block matching in motion compensation | |
Yin et al. | A hardware-efficient multi-resolution block matching algorithm and its VLSI architecture for high definition MPEG-like video encoders | |
CN1729486A (zh) | 基于段的运动估计 | |
WO1997022083A1 (en) | Method and apparatus for motion estimation in a video signal | |
Shen et al. | A novel low-power full-search block-matching motion-estimation design for H. 263+ | |
CN101044765A (zh) | 图像编码装置及图像编码方法 | |
Luo et al. | A novel all-binary motion estimation (ABME) with optimized hardware architectures | |
US20030012281A1 (en) | Motion estimation apparatus and method for scanning an reference macroblock window in a search area | |
CN1852442A (zh) | 一种分层运动估计方法和超大规模集成电路 | |
US6016163A (en) | Methods and apparatus for comparing blocks of pixels | |
WO1999063751A1 (en) | Low-power parallel processor and imager integrated circuit | |
US20050047502A1 (en) | Method and apparatus for the efficient representation of interpolated video frames for motion-compensated coding | |
Lin et al. | Low-power parallel tree architecture for full search block-matching motion estimation | |
CN101040530A (zh) | 具有视频模式检测的运动估计 | |
CN1875633A (zh) | 跟踪快速移动的小物体的运动矢量场求精法 | |
Chen | A cost-effective three-step hierarchical search block-matching chip for motion estimation | |
Li et al. | A VLSI architecture design of an edge based fast intra prediction mode decision algorithm for H. 264/AVC | |
CN1201589C (zh) | 运动估计方法和装置 | |
CN100340118C (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070124 Termination date: 20100610 |