CN101031088A - 一种用于视频编码器实现的快速十字运动估计方法 - Google Patents

一种用于视频编码器实现的快速十字运动估计方法 Download PDF

Info

Publication number
CN101031088A
CN101031088A CNA2006100242468A CN200610024246A CN101031088A CN 101031088 A CN101031088 A CN 101031088A CN A2006100242468 A CNA2006100242468 A CN A2006100242468A CN 200610024246 A CN200610024246 A CN 200610024246A CN 101031088 A CN101031088 A CN 101031088A
Authority
CN
China
Prior art keywords
sad
motion vector
search
point
cross
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.)
Pending
Application number
CNA2006100242468A
Other languages
English (en)
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.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai Co Ltd
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 Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CNA2006100242468A priority Critical patent/CN101031088A/zh
Priority to US11/712,845 priority patent/US8139634B2/en
Publication of CN101031088A publication Critical patent/CN101031088A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及数字视频压缩技术,特别是一种用于视频编码器实现的快速十字运动估计方法。该方法包括基于量化步长而设定提前终止阀值;基于前一帧的运动矢量图来做为当前的预测;用十字运动搜索寻找最匹配整数像素;用十字周边的最小累积绝对误差的整数和中心点做为半像素的预测等步骤。它主要改进现有快速运动估计方法的不足。比如,三步法很容易错误地落到本地最小值中,以及钻石搜索法的搜索方式有很多冗余等。基于这些改进,该方法能够真正大幅度地提高在实际的芯片实现中的视频编码器性能,并能运用到实际手机视频和其它应用中。

Description

一种用于视频编码器实现的快速十字运动估计方法
技术领域
本发明涉及数字视频压缩技术,特别是一种用于视频编码器实现的快速十字运动估计方法。
背景技术
在视频编码器的实现中,运动估计是整个编码中的速度瓶颈之一。一个快速而高精确度的运动估计方法将大大降低实现平台所需的单位时间所需要的指令周期(MIPS)。
传统快速运动估计方法,如:三步法(The three-step search,简称:TSS)的固定的搜索模式,其第一步过于粗糙,使得它可能很容易错误地落到本地最小值中,对于那些小的运动矢量往往效果不太好。
再如:钻石搜索(Diamond Search,简称:DS)法以搜索模板形状而得名,具有简单、鲁棒、高效的特点,是现有性能最优的快速搜索算法之一。其基本思想是利用搜索模板的形状和大小对运动估计算法速度及精度产生重要影响的特性。在搜索最优匹配点时,选择小的搜索模板可能会陷入局部最优,选择大的搜索模板则可能无法找到最优点。因此DS算法针对视频图像中运动矢量的基本规律,选用了两种形状大小的搜索模板。
1、大钻石搜索模板(Large Diamond Search Pattern,简称:LDSP),包含9个候选位置;
2、小钻石搜索模板(Small Diamond Search Pattern,简称:SDSP),包含5个候选位置。
DS算法搜索过程如下:开始阶段先重复使用大钻石搜索模板,直到最佳匹配块落在大钻石中心。由于LDSP步长大,因而搜索范围广,可实现粗定位,使搜索不会陷于局部最小,当粗定位结束后,可认为最优点就在LDSP周围8个点所围菱形区域中。然后再使用小钻石搜索模板来实现最佳匹配块的准确定位,以不产生较大起伏,从而提高运动估计精度。但是,这种搜索方式仍然会产生有很多冗余。
如上所述,这些搜索方法都有各自的优点,但是都不能真正大幅度地提高在实际的芯片实现中的视频编码器性能。
发明内容
本发明的目的是提供一种用于视频编码器实现的快速十字运动估计方法,主要解决现有三步法很容易错误地落到本地最小值中而对于那些小的运动矢量往往效果不太好,以及钻石搜索法会产生有很多冗余,以致于都不能真正大幅度地提高在实际的芯片实现中的视频编码器性能的技术问题,并能运用到实际手机视频和其它应用中。
为解决上述技术问题,本发明是这样实现的:
一种用于视频编码器实现的快速十字运动估计方法,其特征是步骤如下:
①根据SAD0的值来判断是不是可以提前结束搜索:
THRESHOLD=-500+MAP(QP)*256,其中MAP(QP)是可调的;如果SAD0<=THRESHOLD,其中那么终止搜索并把运动矢量设为0;否则,进行下一步;
②用前一帧相应位置的运动矢量做为预测点进行运动预测,如果当前帧是GOP的第一个P帧,那么用(0,0)做预测;选择和SAD0比较最小的SAD的点作为真正的预测点:SADpred=min(SADpred,SAD0),如果SADpred<=THRESHOLD,whereTHRESHOLD=-500+MAP(QP)*256,那么终止搜索并把运动矢量设为预测的点的对应的运动矢量;否则,进行下一步;
③以预测点为中心,用3×3十字搜索来进行搜索直到minSAD落到十字的中心,从而得到整数运动矢量;
④根据整数运动矢量对应的点,以及上一步得到的其周围四个十字点的最小SAD值来预测半像素点的位置;SAD_halfpred=min(SAD[k]...),where k=0,..3;如果SAD_halfpred<minSAD,那么最后的运动矢量就是所预测的半像素所对应的MV;否则,设整数运动矢量的值为最后的运动矢量;
上述步骤中:
THRESHOLD:阈值;
QP:量化步长;
MAP(QP):基于量化步长的函数;
ET:提前终止;
SAD0:零点的累积绝对误差;
GOP:帧序列;
SADpred:预测点的累积绝对误差;
minSAD:最小的累积绝对误差;
SAD_halfpred:半像素点的累积绝对误差。
该MAP函数如下表:
  QP   1-7   8-11   12-15
  映射值   4   5   6
藉由上述技术方案,本发明具有的技术效果是:
本发明方法大大减少了芯片视频编码器实现中运动估计的计算量,并大大降低了在实现中单位时间所需要的指令周期。在实现中的性能数据表明,在同等运动搜索精确度下,该方法对整数运动估计模块的速度提升是典型的快速三步运动估计算法(TSS)的4-6倍,并超过了目前已知文献所记载的最佳性能。另外,本发明方法中的半像素预测方法,大大提高了半像素部分运动估计的速度,并且免去了原来所需要的内插和运动补偿的计算量。
附图说明
图1是本发明方法的流程示意图。
具体实施方式
本发明提供了一种用于视频编码器实现的快速十字运动估计方法,其特点是:
a.基于QP而设定ET阀值。
b.基于前一帧的运动矢量图来做为当前的预测。
c.用十字运动搜索寻找最匹配整数像素。
d.用十字周边的最小累积绝对误差(SAD)的整数和中心点做为半像素的预测。
请结合参阅图1,以下是具体本发明方法步骤的描述:
1.零点ET:
根据SAD0的值来判断是不是可以提前结束搜索:
THRESHOLD=-500+MAP(QP)*256,其中MAP(QP)是可调的;如果SAD0<=THRESHOLD,其中那么终止搜索并把运动矢量设为0;否则,进行下一步;
MAP(QP)函数,仅作参考:
  QP   1-7   8-11   12-15
  映射值   4   5   6
2.运动预测和ET:
用前一帧相应位置的运动矢量做为预测点进行运动预测,如果当前帧是GOP的第一个P帧,那么用(0,0)做预测;选择和SAD0比较最小的SAD的点作为真正的预测点:SADpred=min(SADpred,SAD0),如果SADpred<=THRESHOLD,where THRESHOLD=-500+MAP(QP)*256,那么终止搜索并把运动矢量设为预测的点的对应的运动矢量;否则,进行下一步;
3.3×3十字搜索:以预测点为中心,用3×3十字搜索来进行搜索直到minSAD落到十字的中心,从而得到整数运动矢量;
4.半像素预测
根据整数运动矢量对应的点,以及上一步得到的其周围四个十字点的最小SAD值来预测半像素点的位置;SAD_halfpred=min(SAD[k]...),where k=0,..3;如果SAD_halfpred<minSAD,那么最后的运动矢量就是所预测的半像素所对应的MV;否则,设整数运动矢量的值为最后的运动矢量。
综上所述仅为本发明的较佳实施例而已,并非用来限定本发明的实施范围。即凡依本发明申请专利范围的内容所作的等效变化与修饰,都应为本发明的技术范畴。

Claims (2)

1、一种用于视频编码器实现的快速十字运动估计方法,其特征是步骤如下:
①根据SAD0的值来判断是不是可以提前结束搜索:
THRESHOLD=-500+MAP(QP)*256,其中MAP(QP)是可调的;如果SAD0<=THRESHOLD,其中那么终止搜索并把运动矢量设为0;否则,进行下一步;
②用前一帧相应位置的运动矢量做为预测点进行运动预测,如果当前帧是GOP的第一个P帧,那么用(0,0)做预测;选择和SAD0比较最小的SAD的点作为真正的预测点:SADpred=min(SADpred,SAD0),如果SADpred<=THRESHOLD,whereTHRESHOLD=-500+MAP(QP)*256,那么终止搜索并把运动矢量设为预测的点的对应的运动矢量;否则,进行下一步;
③以预测点为中心,用3×3十字搜索来进行搜索直到minSAD落到十字的中心,从而得到整数运动矢量;
④根据上一步整数运动矢量对应的点的minSAD,以及上一步得到的其周围四个十字点SAD[k]的最小SAD值来预测半像素点的位置;SAD_halfpred=min(SAD[k]...)其中k=0,..3;如果SAD_halfpred<minSAD,那么最后的运动矢量就是所预测的半像素所对应的运动矢量;否则,设整数运动矢量的值为最后的运动矢量;
上述步骤中:
THRESHOLD:阈值;
QP:量化步长;
MAP(QP):基于量化步长的函数;
ET:提前终止;
SAD0:零点的累积绝对误差;
GOP:帧序列;
SADpred:预测点的累积绝对误差;
minSAD:最小的累积绝对误差;
SAD_halfpred:半像素点的累积绝对误差。
2、根据权利要求1所述的用于视频编码器实现的快速十字运动估计方法,其特征是该MAP函数如下表: QP  1-7  8-11  12-15 映射值  4  5  6
CNA2006100242468A 2006-02-28 2006-02-28 一种用于视频编码器实现的快速十字运动估计方法 Pending CN101031088A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNA2006100242468A CN101031088A (zh) 2006-02-28 2006-02-28 一种用于视频编码器实现的快速十字运动估计方法
US11/712,845 US8139634B2 (en) 2006-02-28 2007-02-28 Methods and apparatuses of fast cross motion estimation for video encoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2006100242468A CN101031088A (zh) 2006-02-28 2006-02-28 一种用于视频编码器实现的快速十字运动估计方法

Publications (1)

Publication Number Publication Date
CN101031088A true CN101031088A (zh) 2007-09-05

Family

ID=38471450

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100242468A Pending CN101031088A (zh) 2006-02-28 2006-02-28 一种用于视频编码器实现的快速十字运动估计方法

Country Status (2)

Country Link
US (1) US8139634B2 (zh)
CN (1) CN101031088A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170696B (zh) * 2007-11-26 2010-12-01 电子科技大学 一种运动估计方法
CN102075748A (zh) * 2010-12-27 2011-05-25 北京自动测试技术研究所 用于视频编码运动估计的搜索方法
CN102238375A (zh) * 2010-04-23 2011-11-09 联芯科技有限公司 十字形搜索方法和装置
CN103327340A (zh) * 2013-06-20 2013-09-25 华为技术有限公司 一种整数搜索方法及装置
CN103583047A (zh) * 2011-03-14 2014-02-12 联发科技股份有限公司 用于导出候选运动矢量与候选运动矢量预测的方法与装置
US9781414B2 (en) 2011-03-17 2017-10-03 Hfi Innovation Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027949B2 (en) * 2008-07-16 2011-09-27 International Business Machines Corporation Constructing a comprehensive summary of an event sequence
US8363727B2 (en) 2008-09-30 2013-01-29 Microsoft Corporation Techniques to perform fast motion estimation
WO2011094871A1 (en) * 2010-02-05 2011-08-11 Sensio Technologies Inc. Method and apparatus of frame interpolation
CN117544787A (zh) * 2018-03-19 2024-02-09 英迪股份有限公司 图像解码方法、图像编码方法和存储比特流的记录介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006254349A (ja) * 2005-03-14 2006-09-21 Toshiba Corp 動きベクトル検出方法、動きベクトル検出装置およびコンピュータ上で動きベクトル検出処理を実行するコンピュータプログラム
JP4064973B2 (ja) * 2005-03-23 2008-03-19 株式会社東芝 ビデオエンコーダ及びこれを用いた携帯無線端末装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170696B (zh) * 2007-11-26 2010-12-01 电子科技大学 一种运动估计方法
CN102238375A (zh) * 2010-04-23 2011-11-09 联芯科技有限公司 十字形搜索方法和装置
CN102238375B (zh) * 2010-04-23 2014-05-28 联芯科技有限公司 用于视频编码的十字形搜索方法和装置
CN102075748A (zh) * 2010-12-27 2011-05-25 北京自动测试技术研究所 用于视频编码运动估计的搜索方法
CN102075748B (zh) * 2010-12-27 2013-12-25 北京自动测试技术研究所 用于视频编码运动估计的搜索方法
CN103583047A (zh) * 2011-03-14 2014-02-12 联发科技股份有限公司 用于导出候选运动矢量与候选运动矢量预测的方法与装置
US9860552B2 (en) 2011-03-14 2018-01-02 Hfi Innovation Inc. Method and apparatus for derivation of motion vector candidate and motion vector prediction candidate
US9781414B2 (en) 2011-03-17 2017-10-03 Hfi Innovation Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
CN103327340A (zh) * 2013-06-20 2013-09-25 华为技术有限公司 一种整数搜索方法及装置
CN103327340B (zh) * 2013-06-20 2016-06-15 华为技术有限公司 一种整数搜索方法及装置

Also Published As

Publication number Publication date
US20070206677A1 (en) 2007-09-06
US8139634B2 (en) 2012-03-20

Similar Documents

Publication Publication Date Title
CN101031088A (zh) 一种用于视频编码器实现的快速十字运动估计方法
CN1198467C (zh) 用于混合型高速运动估计的方法和设备
CN1233175C (zh) 采用改进直接模式的块预测方法
CN1144472C (zh) 运动补偿编码器、解码器以及运动补偿编码和解码方法
CN1993994A (zh) 运动矢量检测装置及运动矢量检测方法
CN1156168C (zh) 快速视频运动估计方法
CN1791224A (zh) 一种基于h.264的自适应块搜索范围快速运动估计方法
CN1719901A (zh) 基于运动估计多分辨率方法及存储执行其程序的记录介质
CN1956547A (zh) 运动矢量检测装置及运动矢量检测方法
CN100337482C (zh) 基于对象边缘的形状快速运动估值的方法
CN106604035B (zh) 一种用于视频编码和压缩的运动估计的方法
CN1492687A (zh) 多种块模式的快速整像素运动估计方法
CN1917642A (zh) 迭代计算全局运动参数集的方法和设备
CN1708132A (zh) 用于预测运动的方法和设备
CN1713731A (zh) 用于估计基于混合块的运动的装置和方法
CN1627825A (zh) 用于运动图像编码的运动估计方法
CN1436002A (zh) 运动矢量搜索范围的自适应确定方法
CN1325220A (zh) 运动向量编码方法
CN1212014C (zh) 基于时空域相关性快速运动估计的视频编码方法
CN1852442A (zh) 一种分层运动估计方法和超大规模集成电路
CN103384332A (zh) 一种avs视频编码hfps算法的改进算法
US8837595B2 (en) Motion estimation method
CN1317898C (zh) 一种视频编解码过程中进行运动估计搜索计算的方法
CN102075748B (zh) 用于视频编码运动估计的搜索方法
CN1816146A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication