CN1645938A - 一种复杂度可分级的运动估计方法 - Google Patents
一种复杂度可分级的运动估计方法 Download PDFInfo
- Publication number
- CN1645938A CN1645938A CN 200510048982 CN200510048982A CN1645938A CN 1645938 A CN1645938 A CN 1645938A CN 200510048982 CN200510048982 CN 200510048982 CN 200510048982 A CN200510048982 A CN 200510048982A CN 1645938 A CN1645938 A CN 1645938A
- Authority
- CN
- China
- Prior art keywords
- search
- piece
- motion vector
- value
- static
- 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
Abstract
本发明公开了视频编码中一种复杂度可分级的运动估计方法。此方法由三个有效步骤组成:首先检测静止块;其次对非静止块进行运动矢量的预测;最后进行局部的精细搜索,得到最终的运动矢量。通过对预测点数量和精细搜索的空间大小进行合理配置,从而实现计算复杂度的分级,使此方法能够适合于不同计算性能的设备,保证了视频编码的实时性。此方法避免了对静止块的搜索,且利用了空间相关性进行预测,本身具有较低的复杂度。复杂度可分级的策略使得此方法考虑了计算复杂度和运动估计准确性之间的权衡,可满足更低性能设备的应用需求,特别适合于嵌入式、移动设备上的实时视频编码应用。
Description
技术领域
本发明属于多媒体中的视频编码领域,针对嵌入式和移动设备计算性能低的特点,提出了一种复杂度可分级的运动估计方法。
背景技术
随着有线网络和无线网络的发展,新的实时视频通信技术得到了普及和应用,例如视频监控,视频电视,视频会议等。但是不同的应用对视频的质量、分辨率和帧率的要求也不同。也就是说,不同的视频应用具有不同的视频编码计算复杂度。由于计算复杂度的限制,许多高复杂度的算法不能直接应用于实时视频编码。虽然可以设计特定的算法来满足特定的应用环境和硬件平台,但是由于应用环境的多变性和平台的各异性,导致了算法的多样性。因此,设计计算复杂度可分级的算法便可以使得舍得同一算法能够满足于不同计算性能设备的应用需求。
运动估计在视频编码中扮演了重要的角色。它消除了视频帧之间的时间相关性,从而大大提高编码的效率。在当前的视频编码标准中(MPEG-1/2/4,H.261/263/264)都是采用块匹配的运动估计方法。虽然块匹配的运动估计方法相对于其他运动估计方法已经很简单和高效,但是运动估计仍然消耗了大部分视频编码的时间。完全搜索的运动估计方法将占用80%以上的编码时间,所以快速的运动估计算法一直是视频编码领域研究的一个热点问题。虽然很多快速算法被提出,但是它们的计算复杂度是不可控的,即不可配置。不能满足低端设备的实时视频编码应用。
随着嵌入式移动通讯设备的发展,在嵌入式平台上实现实时视频通信已成为可能。针对嵌入式平台的各异性,提出了一种计算复杂度可分级的运动估计方法。此方法充分利用了视频帧的时间相关性和空间相关来进行预测,从而降低了运动估计的计算复杂度,而且通过有效的配置,能够使计算复杂度得以进行分级,从而使得同一算法能够满足各种性能嵌入式平台的实时视频编码应用。降低了算法的设计开发成本。
发明内容
本发明的目的在于提供一种复杂度可分级的运动估计方法,解决了一种方法满足不同性能的设备应用需求的问题。
本发明解决其技术问题采用的运动估计方法由如下几个步骤组成:
1)对静止块的判定
相邻视频帧之间存在较强的时间相关性,在视频帧中总是存在大量的静止或近似静止的区域,目前,通用的块匹配采用的准则是绝对误差和,其定义如下:
其中:
SAD是绝对误差和;
abs表示求绝对值;
f(i,j,n)表示第n帧在(i,j)位置的象素值;
判定静止区域的方法完全根据统计特性,静止块在(0,0)处的绝对误差和的值总是大于非静止块在(0,0)处的绝对误差和的值,而且通过统计得到,静止块的绝对误差和的平均值范围在450~1000之间,为了降低静止块判定的错误率、保证运动估计的准确性,本方法选择一个阈值550,当一个块在(0,0)处的绝对误差和的值小于该阈值时,确定此块为静止块,其运动矢量为(0,0);
2)利用空间相关性对非静止块的运动矢量进行预测
视频帧内部存在较强的空间相关性,即相邻块的运动矢量往往表现出一致性,通过周围已经得到运动矢量来预测当前块的运动矢量可以大大减少搜索点数,此方法采用了相邻的左边块,左上块和上面块的运动矢量作为当前块的预测值,通过预测来选择一个具有最小的绝对误差和值的预测矢量作为新的搜索中心;
3)使用限制性精细搜索来得到最终的运动矢量
通过预测之后,预测运动矢量与最优的运动矢量已经非常接近,故采用小菱形搜索方法来完成最后的精细搜索,预测运动矢量和最优运动矢量之间的距离绝大部分小于4,故对于精细搜索,此方法限制了精细搜索的最大递归次数为4,从而既保证了搜索的准确性,又避免了大量无谓的搜索;
4)对预测点数量和精细搜索的空间大小进行配置来实现计算复杂度的分级
可配置的预测点个数:1~3
1-左块P1;2-左块P1、上块P2;3-左块P1、上块P2、左上块P3;
可配置的精细搜索递归次数:0~4
0-不做递归搜索;1-限制一次递归搜索;2-限制两次递归搜索;3-限制三次递归搜索;4-限制四次递归搜索;
通过以上配置的组合使用从而实现了对运动估计整体计算复杂度的配置。
本发明具有的有益的效果是:
通过试验验证,此运动估计三步法对于运动区域集中在中心的视频,例如“news”和“silence”等视频序列,其速度比传统的菱形算法和六变形算法平均提高4倍,而运动估计准确性几乎没有下降。对于运动比较复杂或者拥有全局运动的视频序列,如“foreman”和“coastguard”等,速度比菱形算法和六变形算法平均提高了2倍,由于利用了相关性,运动估计的准确性反而有所提高。而对于计算性能低的嵌入式和移动设备,通过对计算复杂度的有效配置,可以很好的保证视频编码的实时性。而且此方法非常实用于设备性能多样性的应用环境,同一方法仅仅通过简单的配置而不需要重新修改便可以应用于不同性能的设备,从而保证了计算复杂性和运动估计准确性的权衡。
附图说明
图1是利用空间相关性进行运动矢量的预测图;
图2是小菱形搜索算法,其中(a)是第一步搜索,(b)是递归搜索。
具体实施方式
1.静止块的检测
通常情况下,视频帧中的块运动都是非常小的,大多数块都被认为是静止或者是近似静止的块。特别是对于视频会议或者视频电话等应用,运动区域往往集中在视频帧的中央,而周围总是静止的背景区域。如果能快速的检测处这些静止区域的块,从而避免了后续的运动矢量的搜索,便可以大大的降低计算复杂度。通常情况下,大小为16×16的宏块被用于运动估计块,SAD作为常用的块匹配的准则。通过统计分析得到,静止块在(0,0)处的SAD值总是比非静止块在(0,0)处的SAD值小。而且通过对标准视频序列进行测试,静止块在(0,0)处的平均SAD值在450到1000范围之间。因此可以设定一个阈值T,当此宏块在(0,0)处的SAD值小于T时,认为此宏块是静止的块。否则是非静止块。为了减少静止块检测的错误率,经过测试分析,将T设置为550将获得较大的加速比,而几乎不会影响运动估计的准确性。
2.运动矢量的预测
连续的视频帧之间存在较强的时间相关性,视频帧内部存在较强的空间相关性。在运动估计中,可以充分利用视频帧的时间相关性和空间相关性进行运动的预测,从而降低运动估计的复杂度。为了减少内存的开销,此方法中只考虑了空间相关性的利用。通过3个相邻块的运动矢量来估计当前块的运动矢量。3个相邻块分别是左块、上块和左上块(如图1所示)。分别计算当前块在3个预测矢量下的SAD值,选取和保存SAD值最小的运动矢量作为下一步局部精细搜索的搜索中心。
3.局部的精细搜索
通过利用空间相关性进行运动矢量预测之后,预测的运动矢量与最优的运动矢量之间的距离已经非常小。此距离D定义为:
D=max{|PMVx-TMVx|,|PMVy-TMVy|} (2)
公式(2)中PMVx和PMVy分别表示预测运动矢量的x和y分量;TMVx和TMVy分别表示最优运动矢量的x和y分量。
通过对多个视频测试序列进行统计分析得到,98%以上的块的预测矢量与最优矢量之间的距离小于等于4。也就是说通过预测之后,预测运动矢量与最优运动矢量大多数情况已经非常接近。所以对于局部精细搜索,采用了小菱形搜索算法,小菱形搜索算法由两个部分组成,其一是第一步搜索中心点A的上下左右四个点a,b,c,d(如图2a所示),其二是根据前一次搜索结果进行方向性递归搜索(如图2b所示),例如前一次的搜索结果是点c,则递归搜索点c的周围点e,f,g。由于经过预测之后,预测矢量与最优矢量的误差小于等于4占绝大多数比例,为了避免不必要的运算来降低精细搜索的计算复杂度,故在小菱形搜索算法的方向性递归搜索过程中限制最大递归搜索次数为4。试验结果证明,此限制条件不仅能加快局部精细搜索的搜索速度,而且能够比较好的保证运动估计的准确性。
4.计算复杂度的配置方法
本发明中的运动估计方法由三个步骤组成:静止块预测,运动矢量的预测和局部精细搜索。由于运动估计的大多数时间花费在SAD值的计算上,所以可以将计算复杂度量化为SAD的计算次数。1个搜索点需要进行一次SAD的计算,复杂度又可以表现为搜索点的个数。对于静止块预测过程,只需要计算(0,0)处的SAD值,所以其计算复杂度为1。在运动矢量的预测过程中,有三个预测运动矢量需要计算其SAD值,通过对选择不同的预测矢量的个数可以得到不同的复杂度,故其计算复杂度为1~3。在精细搜索过程中,对递归搜索次数的进行配置,计算复杂度范围为4~16之间。所以对一个块完成运动矢量的搜索,其计算复杂度CMB可以表示为:
CMB=A+a(p+(B+rC)) (3)
公式(3)中A=1,B=4,C=3是常数,A表示静止块检测的复杂度,B表示小菱形搜索中第一步过程中搜索的4个点,B表示小菱形搜索中递归一次搜索需要搜索3个点;a二值系数表示是否此块为静止块,0表示静止块,1表示非静止块;p是预测点数,p的取值范围是1~3;r是限制的递归次数,r的取值范围是0~4。
通过对p和r值的配置,便可以规定运动估计计算复杂度的上界Cmax,从而严格保证了视频编码的实时性。不同的p和r的配置对应的Cmax值如下表所示:
表一、运动估计计算复杂度配置方式及其复杂度上界
p | r | Cmax | p | r | Cmax | p | r | Cmax |
1 | 0 | 6 | 2 | 0 | 7 | 3 | 0 | 8 |
1 | 1 | 9 | 2 | 1 | 10 | 3 | 1 | 11 |
1 | 2 | 12 | 2 | 2 | 13 | 3 | 2 | 14 |
1 | 3 | 15 | 2 | 3 | 16 | 3 | 3 | 17 |
1 | 4 | 18 | 2 | 4 | 19 | 3 | 4 | 20 |
不同的配置方式得到不同的计算复杂度上限,同时得到不同的运动估计精确度。
Claims (1)
1.一种复杂度可分级的运动估计方法,其特征在于:
1)对静止块的判定
相邻视频帧之间存在较强的时间相关性,在视频帧中总是存在大量的静止或近似静止的区域,目前,通用的块匹配采用的准则是绝对误差和,其定义如下:
具甲:
SAD是绝对误差和;
abs表示求绝对值;
f(i,j,n)表示第n帧在(i,j)位置的象素值;
判定静止区域的方法完全根据统计特性,静止块在(0,0)处的绝对误差和的值总是大于非静止块在(0,0)处的绝对误差和的值,而且通过统计得到,静止块的绝对误差和的平均值范围在450~1000之间,为了降低静止块判定的错误率、保证运动估计的准确性,本方法选择一个阈值550,当一个块在(0,0)处的绝对误差和的值小于该阈值时,确定此块为静止块,其运动矢量为(0,0);
2)利用空间相关性对非静止块的运动矢量进行预测
视频帧内部存在较强的空间相关性,即相邻块的运动矢量往往表现出一致性,通过周围已经得到运动矢量来预测当前块的运动矢量可以大大减少搜索点数,此方法采用了相邻的左边块,左上块和上面块的运动矢量作为当前块的预测值,通过预测来选择一个具有最小的绝对误差和值的预测矢量作为新的搜索中心;
3)使用限制性精细搜索来得到最终的运动矢量
通过预测之后,预测运动矢量与最优的运动矢量已经非常接近,故采用小菱形搜索方法来完成最后的精细搜索,预测运动矢量和最优运动矢量之间的距离绝大部分小于4,故对于精细搜索,此方法限制了精细搜索的最大递归次数为4,从而既保证了搜索的准确性,又避免了大量无谓的搜索;
4)对预测点数量和精细搜索的空间大小进行配置来实现计算复杂度的分级可配置的预测点个数:1~3
1-左块(P1);2-左块(P1)、上块(P2);3-左块(P1)、上块(P2)、左上块(P3);可配置的精细搜索递归次数:0~4
0-不做递归搜索;1-限制一次递归搜索;2-限制两次递归搜索;3-限制三次递归搜索;4-限制四次递归搜索;
通过以上配置的组合使用从而实现了对运动估计整体计算复杂度的配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100489822A CN100340116C (zh) | 2005-01-21 | 2005-01-21 | 一种复杂度可分级的运动估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100489822A CN100340116C (zh) | 2005-01-21 | 2005-01-21 | 一种复杂度可分级的运动估计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1645938A true CN1645938A (zh) | 2005-07-27 |
CN100340116C CN100340116C (zh) | 2007-09-26 |
Family
ID=34876484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100489822A Expired - Fee Related CN100340116C (zh) | 2005-01-21 | 2005-01-21 | 一种复杂度可分级的运动估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100340116C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008003220A1 (en) * | 2006-06-28 | 2008-01-10 | Hong Kong Applied Science And Technology Research Institute Co. Ltd. | Motion vector estimation method |
CN101115206B (zh) * | 2007-08-30 | 2011-01-19 | 四川长虹电器股份有限公司 | 视频编码运动估计中标志位的设定方法 |
CN101455083B (zh) * | 2006-03-24 | 2012-04-11 | 韩国电子通信研究院 | 利用细粒度可伸缩性层的运动数据降低层间冗余的编码方法及其装置 |
CN101297557B (zh) * | 2005-10-25 | 2012-07-04 | 西门子公司 | 用于确定并重建预测的图像区域的方法和装置 |
CN101534440B (zh) * | 2008-03-10 | 2013-01-16 | 联发科技股份有限公司 | 视频信号编码方法 |
CN103067714A (zh) * | 2013-01-09 | 2013-04-24 | 北京大学 | 一种运动矢量预测的方法 |
US9706470B2 (en) | 2012-09-26 | 2017-07-11 | Fujitsu Limited | Communications apparatus, communications system, and communications method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1086591A1 (en) * | 1999-04-06 | 2001-03-28 | Koninklijke Philips Electronics N.V. | Motion estimation |
CN1159919C (zh) * | 2000-07-28 | 2004-07-28 | 三星电子株式会社 | 运动估计方法 |
CN1156168C (zh) * | 2001-01-12 | 2004-06-30 | 北京航空航天大学 | 快速视频运动估计方法 |
EP1442601A1 (en) * | 2001-10-26 | 2004-08-04 | Koninklijke Philips Electronics N.V. | Method and appartus for spatial scalable compression |
CN1181691C (zh) * | 2003-01-24 | 2004-12-22 | 杭州国芯科技有限公司 | 视频运动估计方法 |
-
2005
- 2005-01-21 CN CNB2005100489822A patent/CN100340116C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101297557B (zh) * | 2005-10-25 | 2012-07-04 | 西门子公司 | 用于确定并重建预测的图像区域的方法和装置 |
CN101455083B (zh) * | 2006-03-24 | 2012-04-11 | 韩国电子通信研究院 | 利用细粒度可伸缩性层的运动数据降低层间冗余的编码方法及其装置 |
WO2008003220A1 (en) * | 2006-06-28 | 2008-01-10 | Hong Kong Applied Science And Technology Research Institute Co. Ltd. | Motion vector estimation method |
CN101115206B (zh) * | 2007-08-30 | 2011-01-19 | 四川长虹电器股份有限公司 | 视频编码运动估计中标志位的设定方法 |
CN101534440B (zh) * | 2008-03-10 | 2013-01-16 | 联发科技股份有限公司 | 视频信号编码方法 |
US8982951B2 (en) | 2008-03-10 | 2015-03-17 | Mediatek Inc. | Adaptive motion estimation coding |
US9706470B2 (en) | 2012-09-26 | 2017-07-11 | Fujitsu Limited | Communications apparatus, communications system, and communications method |
CN103067714A (zh) * | 2013-01-09 | 2013-04-24 | 北京大学 | 一种运动矢量预测的方法 |
CN103067714B (zh) * | 2013-01-09 | 2016-08-03 | 北京大学 | 一种运动矢量预测的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100340116C (zh) | 2007-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100340116C (zh) | 一种复杂度可分级的运动估计方法 | |
CN1791224A (zh) | 一种基于h.264的自适应块搜索范围快速运动估计方法 | |
Paul et al. | Video coding using the most common frame in scene | |
JP2003528500A (ja) | 動き推定アルゴリズム | |
KR100455119B1 (ko) | 움직임 벡터 영역의 적응적 결정 방법 | |
CN100337482C (zh) | 基于对象边缘的形状快速运动估值的方法 | |
US20100080298A1 (en) | Refined Weighting Function and Momentum-Directed Genetic search pattern algorithm | |
Young et al. | Automatic layout generation for CMOS operational amplifiers | |
Kerfa et al. | An efficient algorithm for fast block matching motion estimation using an adaptive threshold scheme | |
CN100474932C (zh) | 基于最佳预测模式概率的视频帧内图像快速编码方法 | |
US8379712B2 (en) | Image search methods for reducing computational complexity of motion estimation | |
CN106658024B (zh) | 一种快速的视频编码方法 | |
CN1688165A (zh) | 基于对象的纹理快速运动估值的方法 | |
Metkar et al. | Performance evaluation of block matching algorithms for video coding | |
CN101001380A (zh) | 视频编码的移动估计方法 | |
CN1787642A (zh) | 一种基于h.264的图像单元块的帧间快速搜索方法 | |
KR100431075B1 (ko) | 동영상 부호화기를 위한 고속 블록 정합 움직임 추정방법 | |
Hui et al. | Fast motion estimation of arbitrarily shaped video objects in MPEG-4 | |
KR101486850B1 (ko) | 불가능 후보블록 순차제거에 의한 고속 전영역 무손실 움직임 예측방법 | |
US20080043841A1 (en) | Method for video coding | |
Zamanshoar et al. | Parallel Motion Estimation Based on GPU and Combined GPU-CPU | |
KR101585120B1 (ko) | 조기 종료 기준을 이용한 모션 추정 방법 및 그 장치 | |
Damodharan et al. | Analysis of particle swarm optimization in block matching algorithms for video coding | |
Virk et al. | Low complexity recursive search based motion estimation algorithm for video coding applications | |
Manjunatha et al. | Low power 8× 8 Sum of Absolute Difference engine for Motion Estimation in video compression |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070926 Termination date: 20160121 |
|
EXPY | Termination of patent right or utility model |