CN101247523A - 用于h.264编码器的半像素运动估计方法 - Google Patents
用于h.264编码器的半像素运动估计方法 Download PDFInfo
- Publication number
- CN101247523A CN101247523A CN 200810034777 CN200810034777A CN101247523A CN 101247523 A CN101247523 A CN 101247523A CN 200810034777 CN200810034777 CN 200810034777 CN 200810034777 A CN200810034777 A CN 200810034777A CN 101247523 A CN101247523 A CN 101247523A
- Authority
- CN
- China
- Prior art keywords
- pixel
- pix
- optimum
- motion
- encoder
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种用于H.264编码器的半像素运动估计方法,其首先在预先确定的参考图像中设定待进行的运动搜索窗口的尺寸及位置,然后根据所设定的搜索窗口的尺寸及位置对当前待搜索的图像相应位置及尺寸内的图像块进行整像素运动矢量搜索以获得最优整像素点的位置,接着根据预先确定的半像素运动矢量搜索算法选择出所述最优整像素点周围需要进行后续处理的多个半像素点,并采用线性插值算法对所述多个半像素点进行相应运算以获得所述半像素点的半像素值,最后根据所获得的半像素点的半像素值、并预先确定的半像素运动矢量搜索算法进行搜索以在所述半像素点中选择出最优半像素点,由此可大幅提高H.264编码器的编码速率。
Description
技术领域
本发明涉及一种数字视频编解码技术领域,特别涉及用于H.264编码器的半像素运动估计方法。
背景技术
新一代视频压缩标准H.264较之传统标准具有更优的编码性能,为达到高效的性能,H.264视频压缩标准采用了复杂的半像素运动估计方法,其体现在:首先,半像素运动估计所参考的样本像素需要由整像素通过复杂的算法插值得到;其次,为找出最优半像素点需要对当前最优整像素点周围的8个半像素点进行非常耗时的遍历搜索。
为了提高搜索速度,目前人们提出了许多新方法,例如,文献“Zhibo Chen,Yun HePrediction based Directional Refinement(PDR)algorithm for Fractional Pixel MotionSearch Strategy[C]ITU-T,Doc.JVT-D069”提出了一种基于方向预测以减少半像素搜索次数的快速半像素运动估计方法;文献“李波,张荩尹,李炜一种快速半像素运动估计方法:中国200410073837.5[P]”公布了一种在整像素运动估计的基础上,直接计算出候选最优半像素位置,从而减少半像素搜索次数的方法;文献“姜有田,李金良一种适用于H.264的分数像素快速运动估计算法[J]计算机工程与设计2006年19期”利用搜索点失真度随着与全局最小点之间距离的增加而增大的特点、以及运动向量具有中心偏置的特性提出了一种减少了搜索点的数目的新快速分数像素运动估计算法;文献“董海燕,张其善一种快速半像素运动矢量搜索算法[J]中国图象图形学报2005年10期”提出了一种利用半像素搜索窗内的误差匹配曲面具有的单峰特性,减少搜索次数的快速方法。
上述众多方法从减少最优半像素点的搜索次数的角度降低了H.264编码器半像素运动估计的运算复杂度,但是,均未考虑到如何降低半像素参考样本插值的复杂度。
请参见图1,其为当前图像块的整像素点与半像素点示意图,其中,带阴影方格所标志为整像素点,空白方格标志为半像素点,每个半像素点的值通过6抽头滤波器(1,-5,20,20,-5,1)/32插值得到,例如,以a为代表的水平半像素点值a可根据下式(1)及(2)计算得到,以b为代表的垂直半像素值b根据下式(3)及(4)计算得到,以c为代表的顶角半像素值c根据下式(5)及(6)计算得到:
a1=(E-5*F+20*G+20*H-5*I+J) (1)
a=Clip((a1+16)>>5) (2)
b1=(A-5*C+20*G+20*M-5*R+T) (3)
b=Clip((b1+16)>>5) (4)
c1=cc-5*dd+20*a1+20*d1-5*ee+ff,OR
c1=aa-5*bb+20*b1+20*f1-5*gg+hh (5)
c=Clip((c1+512)>>10) (6)
其中,
由上可见,为搜索出最优半像素点,现有复杂的半像素参考样本插值计算需要进行密集的乘加运算和频繁的内存读写,如此给编码器的实时编码应用带来了困难,特别是在处理能力和存储资源都十分有限的DSP硬件平台上。因此,为提高H.264编码器的半像素运动估计编码速度,如何更为有效地降低半像素参考样本插值的复杂度已成为本领域技术人员亟待解决的技术课题。
发明内容
本发明的目的在于提供一种用于H.264编码器的半像素运动估计方法,能有效提高编码器的编码速度。
为了达到上述目的及其他目的,本发明提供的用于H.264编码器的半像素运动估计方法,其包括步骤:1)在预先确定的参考图像中设定待进行的运动搜索窗口的尺寸及位置;2)根据所设定的搜索窗口的尺寸及位置对当前待搜索的图像相应位置及尺寸内的图像块进行整像素运动矢量搜索以获得最优整像素点的位置;3)根据预先确定的半像素运动矢量搜索算法选择出所述最优整像素点周围需要进行后续处理的多个半像素点,并采用线性插值算法对所述多个半像素点进行相应运算以获得所述半像素点的半像素值;4)根据所获得的半像素点的半像素值、并采用预先确定的半像素运动矢量搜索算法进行搜索以在所述多个半像素点中选择出最优半像素点。
其中,所述步骤2)可采用三步、四步、十字形及菱形中的一种整像素运动矢量搜索方法来进行搜索;所述预先确定的半像素运动矢量搜索算法为小菱形算法;所述步骤4)可通过比较所述最优像素点及处于所述最优像素点周围小菱形顶点的4个半像素点的绝对误差和SAD来选择出最优半像素点。
综上所述,本发明的用于H.264编码器的半像素运动估计方法采用线性插值替代现有复杂的6抽头插值,并结合小菱形快速搜索算法,能够有效降低H.264编码器的半像运动估计运算复杂度,有效提高编码器的编码速度。
附图说明
图1为当前图像块的整像素点与半像素点示意图。
图2为本发明的用于H.264编码器的半像素运动估计方法的操作流程示意图。
图3为本发明的用于H.264编码器的半像素运动估计方法采用的小菱形示意图。
具体实施方式
请参阅图2,本发明的用于H.264编码器的半像素运动估计方法首先执行步骤S10,即在预先确定的参考图像中设定待进行的运动搜索窗口的尺寸及位置,通常所设定的运动搜索窗口的尺寸越大则半像素运动估计性能就越好,但相对复杂度也会越高,因此,在不同的应用情形下可根据实际情况设定不同的搜索窗口的尺寸,例如,对于图1所示的图像块,可将搜索窗口的尺寸设置在±16个整像素点大小,如此既能保证整像素运动估计具有较好的性能,又能降低整像素运动估计运算量,接着执行步骤S11。
在步骤S11中,根据所设定的搜索窗口的尺寸及位置对当前待搜索的图像相应位置及尺寸内的图像块进行整像素运动矢量搜索以获得最优整像素点的位置,通常可采用三步、四步、十字形、菱形等快速整像素运动矢量搜索方法以搜索出最优整像素点,在本实施例中,通过简单有效的快速菱形搜索方法,搜索出整像素点N为最优整像素点,所述快速菱形搜索方法具体步骤如下:1)从当前待搜索的图像相应位置及尺寸内的图像块的起始点及其周围小菱形顶点的4个点开始搜索,找出SAD值最小点;2)以SAD值最小点为新起始点,如果新的起始点为原起始点或新起始点超出±16个整像素点大小搜索窗口,取该点为最优整像素点并结束搜索,否则如步骤1)一样开始新一轮的搜索,直到找到最优整像素点为止,接着执行步骤S12。
在步骤S12中,根据预先确定的半像素运动矢量搜索算法选择出所述最优整像素点周围需要进行后续处理的多个半像素点,并采用线性插值算法对所述多个半像素点进行相应运算以获得所述半像素点的半像素值,即计算整像素点N周围的最多8个半像素点c,d,e,f,g,h,i,j的值,也就是由以下公式所述的线性插值算法计算相应各半像素点值:
c=(G+N+1)/2;(9)
d=(H+N+1)/2;(10)
e=(I+N+1)/2;(11)
f=(M+N+1)/2;(12)
g=(N+P+1)/2;(13)
h=(N+R+1)/2;(14)
i=(N+S+1)/2;(15)
j=(N+V+1)/2;(16)
本实施例中,所述预先确定的半像素运动矢量搜索算法为小菱形算法,因此只需计算最优像素点N周围小菱形顶点的4个半像素点d、f、g、i的值,接着执行步骤S13。
在步骤S13中,根据所获得的半像素点的半像素值、并采用如图3所示的小菱形搜索算法进行半像素运动矢量搜索以在所述半像素点中选择出最优半像素点,即通过比较所述最优像素点N及处于所述最优像素点周围小菱形顶点的4个半像素点d、f、g、i的绝对误差和(SAD)来选择出最优半像素点,SAD的计算方法如下:
其中,Ci,j为所述当前图像块坐标位置为(i,j)的像素亮度分量值,Ri,j为所述当前编码图像块运动矢量所对应参考帧图像中像素块中坐标位置为(i,j)的半像素亮度分量值,M、N分别为当前编码图像块宽和高,设最优整像素为N的SAD值为COSTN,半像素点d、f、g、i的SAD值分别为COSTd、COSTf、COSTg、COSTi,比较上述COST值,选取最小者计为COSTbest。若COSTbest等于COSTN,最优半像素点即为最优整像素点;若COSTbest等于COSTd,最优半像素点为d点;若COSTbest等于COSTf,最优半像素点为f点;若COSTbest等于COSTg,最优半像素点为g点;若COSTbest等于COSTi,最优半像素点为i点。
综上所述,本发明的用于H.264编码器的半像素运动估计方法较之现有快速半像素运动估计方法,在保持相当的编码图像质量情况下,能够进一步大幅降低计算复杂度。请参见下表一,其为H.264编码器采用本发明的方法与采用复杂的6抽头插值加小菱形运动矢量搜索(即现有方法),针对视频格式为2CIF的视频会议图像序列设置编码器参考帧数为1、编码200帧(第1帧为I帧,其余为P帧)的实验测试结果对比表:
表一:
由上表可见,本发明的用于H.264编码器的半像素运动估计方法较之现有方法,其通过降低半像素插值运算复杂度,在保证编码性能的情况下,能大幅提高H.264编码器的编码速度。
Claims (4)
1.一种用于H.264编码器的半像素运动估计方法,其特征在于包括步骤:
1)在预先确定的参考图像中设定待进行的运动搜索窗口的尺寸及位置;
2)根据所设定的搜索窗口的尺寸及位置对当前待搜索的图像相应位置及尺寸内的图像块进行整像素运动矢量搜索以获得最优整像素点的位置;
3)根据预先确定的半像素运动矢量搜索算法选择出所述最优整像素点周围需要进行后续处理的多个半像素点,并采用线性插值算法对所述多个半像素点进行相应运算以获得所述半像素点的半像素值;
4)根据所获得的半像素点的半像素值、并采用预先确定的半像素运动矢量搜索算法进行搜索以在所述多个半像素点中选择出最优半像素点。
2.如权利要求1所述的用于H.264编码器的半像素运动估计方法,其特征在于:所述步骤2)采用三步、四步、十字形及菱形中的一种整像素运动矢量搜索方法来进行搜索。
3.如权利要求1所述的用于H.264编码器的半像素运动估计方法,其特征在于:所述预先确定的半像素运动矢量搜索算法为小菱形算法。
4.如权利要求1所述的用于H.264编码器的半像素运动估计方法,其特征在于:所述步骤4)通过比较所述最优像素点及处于所述最优像素点周围小菱形顶点的4个半像素点的绝对误差和SAD来选择出最优半像素点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810034777 CN101247523B (zh) | 2008-03-18 | 2008-03-18 | 用于h.264编码器的半像素运动估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810034777 CN101247523B (zh) | 2008-03-18 | 2008-03-18 | 用于h.264编码器的半像素运动估计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101247523A true CN101247523A (zh) | 2008-08-20 |
CN101247523B CN101247523B (zh) | 2010-09-08 |
Family
ID=39947684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810034777 Active CN101247523B (zh) | 2008-03-18 | 2008-03-18 | 用于h.264编码器的半像素运动估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101247523B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014287A (zh) * | 2010-12-23 | 2011-04-13 | 芯原微电子(北京)有限公司 | 用于h.264亮度内插计算的操作方法 |
CN102572438A (zh) * | 2012-02-21 | 2012-07-11 | 清华大学 | 一种基于图像纹理和运动特征的运动预测方法 |
CN102625095A (zh) * | 2011-01-27 | 2012-08-01 | 联合信源数字音视频技术(北京)有限公司 | 一种基于avs的帧间预测方法 |
CN102625094A (zh) * | 2011-01-27 | 2012-08-01 | 联合信源数字音视频技术(北京)有限公司 | 一种基于avs的帧间预测方法 |
CN104378642A (zh) * | 2014-10-29 | 2015-02-25 | 南昌大学 | 一种基于cuda的h.264分数像素快速插值方法 |
WO2019085636A1 (zh) * | 2017-10-31 | 2019-05-09 | 腾讯科技(深圳)有限公司 | 一种视频图像的处理方法和装置 |
CN109756739A (zh) * | 2017-11-07 | 2019-05-14 | 华为技术有限公司 | 图像预测方法和装置 |
CN110786013A (zh) * | 2017-06-30 | 2020-02-11 | 华为技术有限公司 | 用于运动向量细化的搜索区域 |
CN112911313A (zh) * | 2021-01-14 | 2021-06-04 | 北京博雅慧视智能技术研究院有限公司 | 一种分像素运动估计方法及其电路装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1194553C (zh) * | 2002-04-18 | 2005-03-23 | 华为技术有限公司 | 一种图象运动估计方法 |
CN1256849C (zh) * | 2003-11-04 | 2006-05-17 | 浙江大学 | 1/4像素精度插值的方法和装置 |
-
2008
- 2008-03-18 CN CN 200810034777 patent/CN101247523B/zh active Active
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014287A (zh) * | 2010-12-23 | 2011-04-13 | 芯原微电子(北京)有限公司 | 用于h.264亮度内插计算的操作方法 |
CN102014287B (zh) * | 2010-12-23 | 2012-06-13 | 芯原微电子(北京)有限公司 | 用于h.264亮度内插计算的操作方法 |
CN102625095A (zh) * | 2011-01-27 | 2012-08-01 | 联合信源数字音视频技术(北京)有限公司 | 一种基于avs的帧间预测方法 |
CN102625094A (zh) * | 2011-01-27 | 2012-08-01 | 联合信源数字音视频技术(北京)有限公司 | 一种基于avs的帧间预测方法 |
CN102625094B (zh) * | 2011-01-27 | 2014-08-13 | 联合信源数字音视频技术(北京)有限公司 | 一种基于avs的帧间预测方法 |
CN102625095B (zh) * | 2011-01-27 | 2014-12-10 | 联合信源数字音视频技术(北京)有限公司 | 一种基于avs的帧间预测方法 |
CN102572438A (zh) * | 2012-02-21 | 2012-07-11 | 清华大学 | 一种基于图像纹理和运动特征的运动预测方法 |
CN102572438B (zh) * | 2012-02-21 | 2014-04-02 | 清华大学 | 一种基于图像纹理和运动特征的运动预测方法 |
CN104378642A (zh) * | 2014-10-29 | 2015-02-25 | 南昌大学 | 一种基于cuda的h.264分数像素快速插值方法 |
CN110786013A (zh) * | 2017-06-30 | 2020-02-11 | 华为技术有限公司 | 用于运动向量细化的搜索区域 |
US11082714B2 (en) | 2017-06-30 | 2021-08-03 | Huawei Technologies Co., Ltd. | Search region for motion vector refinement |
US11736718B2 (en) | 2017-06-30 | 2023-08-22 | Huawei Technologies Co., Ltd. | Search region for motion vector refinement |
WO2019085636A1 (zh) * | 2017-10-31 | 2019-05-09 | 腾讯科技(深圳)有限公司 | 一种视频图像的处理方法和装置 |
US10944985B2 (en) | 2017-10-31 | 2021-03-09 | Tencent Technology (Shenzhen) Company Limited | Method and device for processing video image |
US11589073B2 (en) | 2017-10-31 | 2023-02-21 | Tencent Technology (Shenzhen) Company Limited | Method and device for processing video image |
CN109756739A (zh) * | 2017-11-07 | 2019-05-14 | 华为技术有限公司 | 图像预测方法和装置 |
CN109756739B (zh) * | 2017-11-07 | 2022-09-02 | 华为技术有限公司 | 图像预测方法和装置 |
CN112911313A (zh) * | 2021-01-14 | 2021-06-04 | 北京博雅慧视智能技术研究院有限公司 | 一种分像素运动估计方法及其电路装置 |
CN112911313B (zh) * | 2021-01-14 | 2023-06-02 | 北京博雅慧视智能技术研究院有限公司 | 一种分像素运动估计方法及其电路装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101247523B (zh) | 2010-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101247523B (zh) | 用于h.264编码器的半像素运动估计方法 | |
US20210006818A1 (en) | Picture prediction method and related apparatus | |
US9883200B2 (en) | Method of acquiring neighboring disparity vectors for multi-texture and multi-depth video | |
CN106170093B (zh) | 一种帧内预测性能提升编码方法 | |
CN102263951B (zh) | 一种快速的分形视频压缩与解压缩方法 | |
CN109640097B (zh) | 自适应因子的视频仿射运动估计方法 | |
WO2019072246A1 (zh) | 视频编码中的运动估计方法、装置、电子设备及存储介质 | |
US20130272421A1 (en) | Motion estimation device, motion estimation method, motion estimation program and video image encoding device | |
CN103747262A (zh) | 一种基于gpu的运动估计方法 | |
US20060285597A1 (en) | Reusing interpolated values in advanced video encoders | |
CN108271022B (zh) | 一种运动估计的方法及装置 | |
CN109120940B (zh) | 自适应因子的视频缩放运动估计方法 | |
KR20130126698A (ko) | 영상 부호화 장치, 영상 부호화 방법 및 영상 부호화 프로그램 | |
CN104378642A (zh) | 一种基于cuda的h.264分数像素快速插值方法 | |
CN103618904B (zh) | 基于像素的运动估计方法及装置 | |
JP6294052B2 (ja) | 1パスビデオ超解像処理方法及びその映像処理を遂行する映像処理装置 | |
CN102300086A (zh) | 对参考帧边界进行扩展和对运动补偿参考样本位置进行限定的方法 | |
CN112422976B (zh) | 一种视频编码标准中的亮度分量运动补偿方法及视频编码方法 | |
CN102263954B (zh) | 一种基于对象的快速分形视频压缩与解压缩方法 | |
CN105611299B (zh) | 一种基于hevc的运动估计方法 | |
ITMI970575A1 (it) | Metodo per la stima del movimento in sequenze di immagini codificate a blocchi in particolare per la elaborazione del segnale video | |
KR100431075B1 (ko) | 동영상 부호화기를 위한 고속 블록 정합 움직임 추정방법 | |
TWI493977B (zh) | 影像搜尋模組及其方法 | |
Zhang et al. | Survey on block-based motion estimation for frame rate conversion | |
CN113518225B (zh) | 6次多项式拟合匹配误差曲面的快速缩放运动估计方法 |
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 | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: 200433 No. 335, National Road, Shanghai Patentee after: Information Technology Co., Ltd. Shanghai Avcon Address before: 200433 No. 335, National Road, Shanghai Patentee before: Shanghai Avcon Information Technology Co., Ltd. |