CN1568014A - 快速运动预测方法及其结构 - Google Patents

快速运动预测方法及其结构 Download PDF

Info

Publication number
CN1568014A
CN1568014A CN 03147938 CN03147938A CN1568014A CN 1568014 A CN1568014 A CN 1568014A CN 03147938 CN03147938 CN 03147938 CN 03147938 A CN03147938 A CN 03147938A CN 1568014 A CN1568014 A CN 1568014A
Authority
CN
China
Prior art keywords
data
macro block
macro
candidate
ram
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
Application number
CN 03147938
Other languages
English (en)
Other versions
CN1283107C (zh
Inventor
陈剑军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GAOTE INFORMATION TECHNOLOGY Co Ltd HANGZHOU CITY
Original Assignee
GAOTE INFORMATION TECHNOLOGY Co Ltd HANGZHOU CITY
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GAOTE INFORMATION TECHNOLOGY Co Ltd HANGZHOU CITY filed Critical GAOTE INFORMATION TECHNOLOGY Co Ltd HANGZHOU CITY
Priority to CN 03147938 priority Critical patent/CN1283107C/zh
Publication of CN1568014A publication Critical patent/CN1568014A/zh
Application granted granted Critical
Publication of CN1283107C publication Critical patent/CN1283107C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及在图像信号处理等的信息压缩中使用的一种运动预测方法及其结构。它的主要特点是在三步搜索法的基础上,重复利用每次从外部ram装载的像素数据,采用9个计算单元并行处理的结构,实现实时图像运动预测,提高图像处理速度。利用本发明的运动预测方法及其结构,不但运算量大量减少,图像处理速度获得提高,而且本发明结构规整,适合用FPGA实现。本发明可以应用于各种图像数据压缩技术中,尤其是可以广泛用于可视电话、视频会议等低码率的运动图像的预测中。

Description

快速运动预测方法及其结构
技术领域
本发明涉及在图像信号处理等的信息压缩中使用的一种运动预测方法及其结构,尤其涉及在低码率压缩标准制式中,通过获取运动矢量来生成被压缩图像的预测的一种快速的运动预测方法及其结构。
技术背景
在已得到广泛应用的图像压缩编码方法与标准中,主要利用三种手段对图像进行压缩,利用DCT和矢量量化来消除图像的帧内空间冗余,利用运动预测来消除帧间时间冗余,利用熵编码来消除编码冗余,而帧间冗余度远大于帧内冗余度和符号编码冗余度,因此运动预测的准确程度对帧间编码的压缩效果非常重要,它直接影响到图像编解码的效率。尤其是在视频会议系统、可视电话等多媒体视频通信这样的设备中,此类设备的图像的活动部分往往是局部的而且比较缓慢,属于低码率的运动图像,较一般的运动图像有更强的时间和空间上的相关性,因此在压缩此类图像的时候,运动预测就有着非常关键的作用。如果预测作的好,那么被压缩图像与预测图像相减后只留下很小的值用于编码和传输,可以大大加速编解码的效率。
运动预测以宏块为单位进行,计算被压缩图像与参考图像对应位置上的宏块间的位置偏移。这种位置偏移是以运动矢量来描述的,一个运动矢量代表水平和垂直两个方向上的位移。人们用运动矢量来表示物体究竟移动了多少,用运动补偿来表示把前一帧相应的运动部分填补到新的一帧画面中还有多大的不同需要修正,这样就达到了数据压缩的目的。
运动预测方法可以归为两类:一类为图样匹配方法,一类为递归方法。第一类方法假定一个图块中的所有象素做同一运动,所以运动预测可以从前一帧中搜索最佳匹配得到;后一种方法是基于递归思想,如果连续帧中,象素数据的变化是因为物体的移位引起的,该方法就会在梯度方向做迭代运算,使连续的运算最后收敛于一个运动预测矢量。基于这两种方法,各类实用的方法纷纷出现,其中主要有块匹配法BMA(block matching algorithms)、象素递归法、相位相关法、全局运动算法估计等,其中,块匹配法因其简单有效,以及易于大规模集成而在视频编码中得到广泛应用。
块匹配方法中,每帧图像被分成二维的N×N象素的子块(一般取N=16),该类子块称为搜索块,假定每个搜索块内的象素都作相等的平移运动,而相对当前帧的前一帧则被分为数目相对应的大搜索窗,各搜索窗又被再分为多个与搜索块同样大小的候选宏块。当前帧的搜索块在前一帧对应的大搜索窗口内搜索到与之最匹配的子块,当前搜索块与匹配块在二维平面上的位移即为运动预测得到的运动矢量。
为了在当前帧中确定一个搜索块的运动矢量,将当前帧的搜索块分别和先前帧中对应的一个搜索区内的多个候选块进行一次相似性计算。采用不同的误差函数来计算相似性,就有多种匹配标准,比如均方差MSE函数,平均绝对误差MAD函数,最大匹配点数MPC函数、互相关函数CCF、最大误差最小函数MME。其中,MME匹配函数过于简单,没有充分利用匹配块所包含的特征信息,使运动估计的精度大大降低;CCF匹配函数的计算过于复杂;与MSE比较而言,MAD匹配函数的计算量相对较小,不需要乘法运算而效果接近于MSE,因此得到广泛的应用。假设帧n的被搜索的块的左上角的坐标是(k,l),在帧n-1中的位移为(u,v),并假设块的大小是M×N,那么MAD匹配规则定义如下:
MAD ( k , l ; u , v ) = 1 MN Σ i = 0 M - 1 Σ j = 0 N - 1 | I n ( k + i , l + j ) - I n - 1 ( k + i + u , l + j + v ) | .
目前,寻找匹配块的方法有很多种,其中以全搜索法获得的预测效果为最好。全搜索法也称穷举法或遍历法,它在预测一个象素的位移时,取以该象素为中心的一个子块,然后在前一帧图像中所有可能的位置寻找一个与之最匹配的子块,该子块的中心与当前象素的位移即为估计的位移矢量。在全搜索条件下,块匹配法可达到全局最优,但是缺点是运算量大,特别是对于分辨率高、运动速度快的图像更是如此。以16×16象素模块在3×16×3×16象素区域内搜索为例,如果采用全搜索法,共有16×16种可能的结果,每计算一次结果,需要计算256次减法,255次加法。可见,此种方法虽然精度高,但复杂度也很高。为了减少全搜索法的运动搜索复杂度,出现了很多改进的运动预测方法,其中大部分的快速BMA方法是通过减少检验点而达到减少运算量的目的。这些方法包括如三步搜索法、共轭方向搜索法、二维对数搜索法、交叉搜索法、分层块匹配、动态搜索窗调整搜索法等,其中三步搜索法是最简单有效的,也是最常用的。另外还有一些快速方法通过减少计算块失真时需要的点数来达到减少计算量的目的,这类方法包括分层偏失真搜索等。
基于上述的技术理论,已经存在多种运动预测的方法及其结构,图1所示的就是一种采用改进的全局搜索法来寻找匹配块,从而实现运动预测的电路结构图。该方法以 E = min m i , m j &Sigma; i = 0 M - 1 &Sigma; j = 0 N - 1 | I n ( i , j ) - I n - 1 ( i + m i , j + m j ) | < threshold 为标准寻找匹配块,其中In(i,j)表示当前帧中M×N大的宏块中的象素值,图中以c表示,In-1(i,j)表示当前块在前一帧中的搜索域内的象素值,图中以p,p表示,(mi,mj)表示得到的运动矢量,threshold表示预先设定的门限值。图1所示的实施例当前帧中宏块的大小为16×16象素,前一帧搜索区域的大小为32×32象素,搜索范围为(-8,+7),具体的实现步骤包括以下几部分:1.输入的前一帧的搜索区域的象素数据分成2个数据流,分别从p和p串行输入,存入寄存器Q和R中,每16个时钟,Q中的数据并行输入到R中;2.每个时钟从R中并行输出一个数据,与c中串行输入的当前帧象素数据同时送入PE运算单元,进行加减、取绝对值、累加运算;3.每256个时钟,PE运算单元的结果并行输入到寄存器S中;4.S中的数据串行送入CMP比较单元与threshold进行比较,4096个时钟后获得与当前宏块相关性最好的匹配块,输出运动矢量mi,mj。按照这个结构寻找匹配块,找到一个最佳匹配块需要4096个时钟,85436次加法,85436次减法,85436次取绝对值,可见运算量还是很大,运算速度也不理想。
发明内容
为了解决上述问题,本发明的目的是提供一种运算速度快,复杂性低,适合于可视电话、视频会议等运动图像的一种快速运动预测方法及其结构,它可以对由16×16的宏块组成的图像帧进行快速运动预测。本发明的快速运动预测结构包括:(1)与外部ram接口单元,它输出当前宏块数据和搜索窗数据及控制信号;(2)当前宏块象素存储单元,它将从(1)单元接收到的数据串行输出到PE运算单元;(3)I/P宏块判别阈值产生单元,它接收来自(1)单元和(2)单元的数据,经过一系列运算后输出宏块判别阈值;(4)搜索窗数据存储单元,它将串行接收到的数据分别存入9个ram块中,在地址信号控制下,读取数据并行输出给PE运算单元;(5)PE运算单元,它将接收到的候选宏块数据和当前宏块数据进行减法和取绝对值运算,将运算结果输出给宏块匹配处理单元;(6)宏块匹配处理单元,它接收来自(5)单元和(3)单元的数据,将(5)单元的数据按照一定的规则进行累加后,与阈值进行比较,得到匹配宏块,输出该宏块的一个基准点的地址和运动矢量,经过四次匹配后得到最佳匹配宏块;(7)匹配宏块象素存取地址产生单元,它根据输入的匹配宏块的基准点象素的数据在搜索窗内的地址值计算第二次匹配所需候选宏块的数据的地址,输出到(4)单元,进行第二次的块匹配运算。
此外,(2)单元包括以下两部分:(1)当前宏块象素存储缓存单元,(2)当前宏块象素存取地址产生单元;(6)单元包括以下两部分:(1)数据累加电路,(2)数据比较电路。
本发明的快速运动预测方法是将当前宏块数据逐个存入当前宏块象素单元;同时按公式(3)、(4)求解出I/P宏块阈值(tg_thrsd),其中公式(3)、(4)为:
MB _ mean = ( &Sigma; i = 1 , j = 1 16,16 original ) / 256 - - - ( 3 )
tg _ thrsd = &Sigma; i = 1 , j = 1 16,16 | original - MB _ mean | - - - ( 4 )
并同时进行以下步骤:
①存贮搜索窗数据
搜索窗由前一帧中与当前宏块位置相同的宏块为中心的9个宏块组成,将竖直方向每列3个宏块的数据以16个时钟为周期,以3个ram为一组逐行存入ram0~ram8中;当前宏块数据也同时逐个存入当前宏块象素单元;
②从搜索窗中获取候选块数据
在搜索窗中选定中心宏块的一个点为基准点,以该基准点为中心,取步长为8的8个点作为8个候选宏块的基准点,确定9个候选宏块在搜索窗中的地址,根据公式(1)将候选宏块的地址逐个换算成ram中ram0~ram8的读地址rd_addr1(0~8),再经过查表运算,确定所对应的ram,实现ram内部地址切换;9个候选宏块同时进行,并且每个时钟得到的9个地址分别对应9个ram;其中公式(1)为:
③获取匹配宏块
将9个候选宏块数据与当前宏块进行相减取绝对值,其中ram与运算电路PE一一对应,累加器与候选宏块一一对应,累加器将对应候选宏块中的运算电路PE的输出值进行累加,在256个时钟后获得9个候选宏块的MAD值;将9个MAD值与阈值进行比较,获得匹配宏块;
④将步长设定为前一次步长的一半,并且以获得的匹配宏块的基准点为中心点,重复步骤2、3,直至步长<1为止;
⑤输出最佳匹配宏块的运动矢量。
本发明的快速运动预测方法及其结构,在三步搜索法的基础上,重复利用每次从外部ram装载的象素数据,采用9个计算单元并行处理的结构,实现实时图像运动预测,提高图像处理速度。利用本发明的运动预测方法及其结构,对16×16的当前宏块完成三步搜索,求得有效运动矢量,搜索范围为(-15,15),只需要256×9=2304个时钟,需要9216次减法,9216次加法,9216次取绝对值,可见运算量大大减少。
附图说明
图1是现有的一种基于全局搜索法的快速运动预测结构图。
图2是本发明的实施例的系统电路图。
图3是本发明的实施例在搜索窗的组成及其在ram中的存储方式。
图4是本发明的实施例的宏块MB0~MB2的数据写入ram的地址时序及地址与象素位置、地址与ram块的对应关系。
图5是本发明的实施例步长为4时从ram0,ram1,ram2读取数据的顺序。
图6是本发明的实施例中确定rd_add1地址所属的ram所用到的表。
具体实施方式
本实施例的运动预测结构,是在三步搜索的基础上,重复利用每次从外部ram装载的象素数据,采用9个计算单元并行处理的结构,快速实现16×16宏块的运动预测。
三步搜索法(3SS)是Koga等人在1981年提出的。这个算法的思想是精度由粗到细变化,检查步长step按照指数规律递减。最初的步长定为最大可能运动位移d的一半,也就是
Figure A0314793800081
在每一步,检查和中心点相距为step的9个点,选择其中BDM最小点为下一步搜索的中心点。对于d=7而言,需要检查的点数为9+8+8=25点。对于更大搜索窗口(也就是更大的d),3SS可以很容易的扩展到n步搜索法,它总共的搜索点数为
搜索窗通常由以前一帧中与当前宏块位置相同的宏块为中心的9个宏块组成,其大小为48×48象素。由宏块匹配的过程可以看出同一行相邻的两个当前宏块对应搜索窗数据有6个宏块是重叠的。考虑对重叠的数据应有效的重复加以利用,因此每次装载搜索窗数据时只需装载新出现的3个宏块的数据(当前宏块所处的行改变时,搜索窗数据要全部重新装载)。系统采用9个ram(0-9)来交替存储搜索窗数据,每个ram大小设置为32×16象素,为实现前一帧数据写入与读出ram内缓存同时进行,每个ram又分成4个区,大小分别为8×16象素,用来交替存储搜索窗竖直方向每列3个宏块的数据。在一次块匹配全搜索时间段内,搜索窗数据由9个ram的其中3个区组成,一个ram对应一个PE,9个ram的数据并行的输出到PE中处理,同时将从外部RAM送来的下一搜索窗新的三个宏块数据写入ram中的另一个区。具体有关写入ram的方式参照图3和图4。
当搜索窗数据都写入ram之后,从ram中读取数据输出到PE就要按照一定的规则。读取ram时每个时钟都要给出9个地址,对应ram0~ram8。只要确定每个时钟各个ram所需读取的象素在搜索窗中的位置swx(0~8),swy(0~8),参考图4(b)存储地址与象素位置对应关系,即可通过下面公式解算出ram0~ram8的读地址rd_addr1(
Figure A0314793800091
其中函数div(x,y)指x整除y得到的商,函数mod(x,y)指x整除y得到的余数。swx(i),swy(i)的取值范围为0~47,0~47,即搜索窗的长与宽值。
求出的rd_addr1(0~8)分别对应MB0~MB8的象素的存储地址,再经过查表运算,确定所对应的ram,实现ram内部地址切换。这部分功能由匹配宏块象素存取地址产生电路7来完成,实现9个候选宏块的象素并行读取。
求出的rd_addr1(0~8)分别对应MB0~MB8的象素的存储地址。但各象素存储于ram0~ram8哪一个ram中,在每个时钟都不一样。通过查找map_tab0,map_tab1,将rd_addr1(0~8)映射为rd_addr2(0~8)。rd_addr2(0~8)顺序与ram0~ram8的地址端口绑定。rd_addr1(0~8),rd_addr2(0~8)都为10位,其中高4位是对ram0~ram8的选择实现ram内部地址切换。这部分功能由匹配宏块象素存取地址产生电路7来完成,实现9个候选宏块的象素并行读取。
本发明是在三步搜索的基础上提出的,以搜索范围为(-15,+15)为例的话,需要搜索4步才找到最佳匹配宏块,每次的步长分别为8,4,2,1。每步搜索需要256个时钟,其中所需的256组swx(i),swy(i)值由上一步搜索返回的匹配宏块的起始象素点在搜索窗的地址值(cntr_swy,cntr_swx)结合该步搜索步长step以及象素在宏块所处的行列值求得。先根据上一步搜索返回的匹配宏块的起始象素点的地址值(cntr_swy,cntr_swx)结合该步搜索步长step求出9对基准点(swy_base(i),swx_base(i)),也就是该步搜索9个宏块的起始象素点位置(swy(i),swx(i)),这里的起始象素点在本发明都定义为每个候选宏块的左上角第一个象素点。由于上步搜索返回匹配宏块的左上角数据的地址值(cntr_swy,cntr_swx)就是该步搜索的中心宏块的起始象素点位置,于是映射方法如下:
以起始象素点的位置(swy_base(i),swx_base(i))为基准,其余255时钟周期对应swx(i),swy(i)根据步长值step和行、列计数值运算,得到该象素在搜索窗中的坐标(swx,swy)。
以48×48象素大小的搜索窗为例,数据的地址定义为(swy,swx),其中起始象素点的地址为(0,0),当进行第一次块匹配时,步长为8,候选宏块L0的起始象素点在搜索窗的地址是(8,8),以此类推,(8,16)、(8,24)、(16,8)、(16,16)、(16,24)、(24,8)、(24,16)、(24,24)分别是其余8个候选宏块的起始象素点在搜索窗的地址,9个候选宏块的集合在搜索窗内的范围就是(8,8)~(40,40)。以第一步搜索到的匹配宏块的起始象素点为中心点,开始步长为4的区域搜索,直到步长为1,得到最佳匹配宏块。
另外,本发明的I/P宏块判别阈值求解方法采用下列公式:
MB _ mean = ( &Sigma; i = 1 , j = 1 16,16 original ) / 256 - - - ( 3 )
tg _ thrsd = &Sigma; i = 1 , j = 1 16,16 | original - MB _ mean | - - - ( 4 )
在宏块匹配处理单元的比较电路中,将宏块的MAD值与tg_thrsd进行比较,小于tg_thrsd的宏块就是P宏块,否则就是I宏块,其中P宏块中MAD最小的就是匹配宏块。
下面来说明本发明的运算结构的组成。
图2是用来说明本实施例的系统结构图。在图中,整个系统由以下几部分构成:与外部ram接口的电路1,它输出当前宏块和搜索窗数据及控制信号,其中当前宏块数据同时送入当前宏块象素存储电路和判别阈值产生电路,搜索窗数据送入搜索窗存储电路;当前宏块象素存储电路2,它将从电路1接收的数据串行输出到PE运算电路;I/P宏块判别阈值产生电路3,它接收来自电路1和电路2的数据,经过一系列运算后输出宏块判别阈值,输出到宏块匹配处理电路;搜索窗数据存储电路4,它按照一定的存储规则将串行接收到的数据分别存入9个ram块中,在地址信号的控制下,读取搜索窗数据并行输出给PE运算电路;PE运算电路5,它将接收到的候选宏块据和当前宏块数据进行减法和取绝对值运算,将运算结果输出给宏块匹配处理电路;宏块匹配处理电路6,它接收来自电路5和电路3的数据,将电路5的数据按照一定的规则进行累加后,与阈值进行比较,获得匹配宏块,经过4次匹配处理后得到最佳匹配宏块和有效的运动矢量;匹配宏块象素存取地址产生电路7,它根据输入的匹配宏块的起始象素点在搜索窗内的地址值计算第二次匹配所需候选宏块的数据的地址,输出给搜索窗数据存储电路,进行第二次的块匹配运算。
另外,上述电路2包括以下两部分:(1)当前宏块象素存储缓存电路,(2)当前宏块象素存取地址产生电路;电路6包括以下两部分:(1)数据累加电路,其中累加器不是与PE一一对应的,而是与9个候选宏块一一对应,按三个PE一组,每16个时钟循环一次的方式进行PE输出数据的组合,送入累加器进行累加,得到每个候选宏块的MAD;(2)数据比较电路,匹配成功输出运动矢量和匹配块的起始象素的地址,匹配失败,进入下一次的块匹配操作。
图3是用来说明本发明的实施例在搜索窗的组成及其在ram中的存储方式。如图所示,在时间段T0内,搜索窗由MB0~MB8组成,按箭头所示方向串行存入ram的1区,2区和3区中,新数据写入4区,在时间段T1内,搜索窗由MB3~MB11组成,新数据写入1区,如此递推。由于搜索区域在原重构帧中是连续而且交叠的,所以这样处理可以有效的重复利用搜索窗重叠部分数据。
图4是宏块MB0~MB2的数据写入ram的地址时序及地址与象素位置、地址与ram块的对应关系。本发明中ram采用交替式存储,以实现数据的并行输出。搜索窗的存储格式应该能够同步的向9个PE提供所需数据,以满足计算单元并行处理的要求,因此这里将搜索窗的数据交替式存入9个存储块ram0,ram1……ram8中。图4(a)所示的就是搜索窗数据写入ram时的写地址时序,图4(b)所示的就是写地址与象素位置对应关系,图4(c)所示就是搜索窗数据写入ram的存储格式。图4c中标号为0~8的象素分别表示存储在ram0~ram8中,可见ram0~ram8中的数据交替出现在搜索窗内。图中用小黑框标出的数据代表步长为4时所需要的8个参考点,虚线框标出的数据代表步长为4时的3个候选宏块的象素点。粗黑线左边是搜索窗竖直一列3个宏块的所有数据,右边是相邻另一列3个宏块的数据(不全),三列共9个宏块的数据合起来构成搜索窗。由于4步搜索本身的特性,相邻的两个候选宏块对应象素点之间的距离肯定是2k(k=2,1或0)。2k被3除余数肯定不为0,这样就保证了每一步搜索时在每个时钟周期内9个PE所读取的数据分别来自9个存储块ram0~ram8。利用这种存储结构可以有效的实现搜索窗数据9通道并行输出。
图5是步长为4时从ram0,ram1,ram2读取数据的顺序。由公式(1)可知,每个时钟从匹配宏块象素存取地址产生电路7输出的9个地址分别对应9个ram,搜索窗数据存储电路4按照这9个地址分别从9个ram读取数据输出给PE,完成减法和取绝对值运算,256个时钟之后就形成了9个候选宏块,如图4(c)所示。因此,在第二步搜索0~15个时钟周期,ram0所读取的象素所属的候选宏块顺序为:
L2→L1→L0→L2→L1→L0→L2→L1→L0→L2→L1→L0→L2→L1→L0→L2;
ram1所读取的象素所属的候选宏块顺序为:
L0→L2→L1→L0→L2→L1→L0→L2→L1→L0→L2→L1→L0→L2→L1→L0;
ram2所读取的象素所属的候选宏块顺序为:
L1→L0→L2→L1→L0→L2→L1→L0→L2→L1→L0→L2→L1→L0→L2→L1。
同时,如图5中所示,每个候选宏块MAD累加次序也正好是按图中所示的次序进行,只是需要注意的是,第一个16个时钟周期是取ram0-ram2的数据累加,第二个周期取ram3-ram5,第三个周期取ram6-ram8,如此循环,直到256个时钟结束,并行得到9个候选宏块的MAD。
图6是确定rd_addrl地址所属ram的表。查表的结果与地址组合成新的地址进行ram内数据的读取,输出给PE运算电路。
综上所述,本发明的快速运动预测方法及其结构,在三步搜索的基础上,采用9个计算单元并行处理的结构,充分利用已装载的数据,完成块匹配操作,获得最佳匹配宏块,只需要2304个时钟,9216次减法/加法/取绝对值运算,与现有的运动预测技术相比,不但运算量大量减少,图像处理速度获得提高,而且本发明结构规整,适合用FPGA实现。本发明可以应用于各种图像数据压缩技术中,尤其是可以广泛用于可视电话、视频会议等低码率的运动图像的预测中。

Claims (4)

1、快速运动预测方法,其特征在于将当前宏块数据逐个存入当前宏块象素单元;同时按公式(3)、(4)求解出I/P宏块阈值(tg_thrsd),其中公式(3)、(4)为:
MB _ mean = ( &Sigma; i = 1 , j = 1 16,16 original ) / 256 - - - ( 3 )
tg _ thrsd = &Sigma; i = 1 , j = 1 16,16 | original - MB _ mean | - - ( 4 )
并同时进行以下步骤:
①存贮搜索窗数据
搜索窗由前一帧中与当前宏块位置相同的宏块为中心的9个宏块组成,将竖直方向每列3个宏块的数据以16个时钟为周期,以3个ram为一组逐行存入ram0~ram8中;
②从搜索窗中获取候选块数据
在搜索窗中选定中心宏块的一个点为基准点,以该基准点为中心,取步长为8的8个点作为8个候选宏块的基准点,确定9个候选宏块在搜索窗中的地址,根据公式(1)将候选宏块的地址逐个换算成ram中ram0~ram8的读地址rd_addr1(0~8),再经过查表运算,确定所对应的ram,实现ram内部地址切换;9个候选宏块同时进行,并且每个时钟得到的9个地址分别对应9个ram;其中公式(1)为:
③获取匹配宏块
将9个候选宏块数据与当前宏块进行相减取绝对值,其中ram与运算电路PE一一对应,累加器与候选宏块一一对应,累加器将对应候选宏块中的运算电路(PE)的输出值进行累加,在256个时钟后获得9个候选宏块的MAD值;将9个MAD值与阈值进行比较,获得匹配宏块;
④将步长设定为前一次步长的一半,并且以获得的匹配宏块的基准点为中心点,重复步骤2、3,直至步长<1为止;
⑤输出最佳匹配宏块的运动矢量。
2、快速运动预测结构,其特征在于包括:
____与外部ram接口单元(1),它输出当前宏块数据和搜索窗数据及控制信号;
____当前宏块象素存储单元(2),它将从与外部ram接口单元(1)接收到的数据串行输出到运算单元PE;
____I/P宏块判别阈值产生单元(3),它接收来自与外部ram接口单元(1)和当前宏块象素存储单元(2)的数据,经过运算后输出宏块判别阈值;
____搜索窗数据存储单元(4),它将串行接收到的数据分别存入9个ram块中,在地址信号控制下,读取数据并行输出给运算单元PE;
____(5)运算单元PE,它将接收到的候选宏块数据和当前宏块数据进行减法和取绝对值运算,将运算结果输出给宏块匹配处理单元;
____宏块匹配处理单元(6),它接收来自运算单元PE(5)和I/P宏块判别阈值产生单元(3)的数据,将(5)单元的数据按照一定的规则进行累加后,与阈值进行比较,得到匹配宏块,输出该宏块的一个基准点的地址和运动矢量,经过四次匹配后得到最佳匹配宏块;
____(7)匹配宏块象素存取地址产生单元,它根据输入的匹配宏块的基准点象素的数据在搜索窗内的地址值计算第二次匹配所需候选宏块的数据的地址,输出到搜索窗数据存储单元(4),进行第二次的块匹配运算。
还在于ram与运算电路PE一一对应,累加器与候选宏块一一对应。
3、如权利要求2所述的快速运动预测结构,其特征在于所述的当前宏块象素存储单元(2)包括当前宏块象素存储缓存单元和当前宏块象素存取地址产生单元。
4、如权利要求2所述的快速运动预测结构,其特征在于所述的宏块匹配处理单元(6)包括数据累加电路和数据比较电路。
CN 03147938 2003-06-30 2003-06-30 快速运动预测方法及其装置 Expired - Fee Related CN1283107C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03147938 CN1283107C (zh) 2003-06-30 2003-06-30 快速运动预测方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03147938 CN1283107C (zh) 2003-06-30 2003-06-30 快速运动预测方法及其装置

Publications (2)

Publication Number Publication Date
CN1568014A true CN1568014A (zh) 2005-01-19
CN1283107C CN1283107C (zh) 2006-11-01

Family

ID=34472095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03147938 Expired - Fee Related CN1283107C (zh) 2003-06-30 2003-06-30 快速运动预测方法及其装置

Country Status (1)

Country Link
CN (1) CN1283107C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146222B (zh) * 2006-09-15 2012-05-23 中国航空无线电电子研究所 视频系统的运动估计内核装置
CN103873874A (zh) * 2014-02-19 2014-06-18 同观科技(深圳)有限公司 一种基于可编程并行处理器的全搜索运动估计方法
CN108429913A (zh) * 2011-01-12 2018-08-21 株式会社Ntt都科摩 图像预测解码装置、图像预测解码方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146222B (zh) * 2006-09-15 2012-05-23 中国航空无线电电子研究所 视频系统的运动估计内核装置
CN108429913A (zh) * 2011-01-12 2018-08-21 株式会社Ntt都科摩 图像预测解码装置、图像预测解码方法
CN108429912A (zh) * 2011-01-12 2018-08-21 株式会社Ntt都科摩 图像预测编码装置及方法、图像预测解码装置及方法
CN108429912B (zh) * 2011-01-12 2022-01-14 株式会社Ntt都科摩 图像预测编码装置及方法、图像预测解码装置及方法
CN108429913B (zh) * 2011-01-12 2022-01-14 株式会社Ntt都科摩 图像预测解码装置、图像预测解码方法
CN103873874A (zh) * 2014-02-19 2014-06-18 同观科技(深圳)有限公司 一种基于可编程并行处理器的全搜索运动估计方法
CN103873874B (zh) * 2014-02-19 2017-06-06 同观科技(深圳)有限公司 一种基于可编程并行处理器的全搜索运动估计方法

Also Published As

Publication number Publication date
CN1283107C (zh) 2006-11-01

Similar Documents

Publication Publication Date Title
US6430317B1 (en) Method and apparatus for estimating motion using block features obtained from an M-ary pyramid
US8218635B2 (en) Systolic-array based systems and methods for performing block matching in motion compensation
CN101610413B (zh) 一种视频的编码/解码方法及装置
CN1316856A (zh) 运动估计器
KR101235132B1 (ko) 비디오 코딩을 위한 효율적인 변환 기술들
CN100471275C (zh) 用于h.264/avc编码器的运动估计方法
CN1134090A (zh) 编码/解码视频信号的方法与装置
CN1095286C (zh) 从一个或两个预测数据块计算象素值的装置和方法
CN1767655A (zh) 一种多视点视频图像视差估计的方法
CN105681807A (zh) 一种基于h264协议的分像素运动矢量计算方法和装置
CN101505427A (zh) 视频压缩编码算法中的运动估计装置
CN101873490B (zh) 图像处理方法和使用该方法的图像信息编码设备
CN1232125C (zh) 通过参考离散余弦变换系数来估计运动的方法及其装置
JPH09233477A (ja) 動きベクトル生成方法
CN1968420B (zh) 应用于影像译码器与编码器的影像处理方法
GB2375673A (en) Image compression method using a table of hash values corresponding to motion vectors
CN1627825A (zh) 用于运动图像编码的运动估计方法
Chao et al. A novel hybrid motion estimator supporting diamond search and fast full search
CN1852442A (zh) 一种分层运动估计方法和超大规模集成电路
CN1736108A (zh) 有效的预测图像参数估计
US8837595B2 (en) Motion estimation method
CN1283107C (zh) 快速运动预测方法及其装置
CN1263309C (zh) 用于视频编码的运动矢量预测方法
CN1520187A (zh) 用于视频数据压缩的系统和方法
US20020168008A1 (en) Method and apparatus for coding moving pictures

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: 20061101