CN1787642A - 一种基于h.264的图像单元块的帧间快速搜索方法 - Google Patents
一种基于h.264的图像单元块的帧间快速搜索方法 Download PDFInfo
- Publication number
- CN1787642A CN1787642A CN 200510062090 CN200510062090A CN1787642A CN 1787642 A CN1787642 A CN 1787642A CN 200510062090 CN200510062090 CN 200510062090 CN 200510062090 A CN200510062090 A CN 200510062090A CN 1787642 A CN1787642 A CN 1787642A
- Authority
- CN
- China
- Prior art keywords
- point
- motion vector
- starting point
- adjacent block
- sad value
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种基于H.264的钻石帧间快速预测方法,包括以下步骤:初步预测选定的参考点在上帧图像中的位置;用原始点运动矢量法和中值运动矢量法分别确定两个候选预测起始点,并选择其中SAD值最小的候选预测起始点作为预测起始点;然后将该起始点为搜索中心及其周围的点作为检查点,计算所有检查点的SAD值,直到该起始点为中心的SAD值最小的那个检查点所在的图像单元块即为搜索到的图像单元块。与现有技术相比,采用本发明的方法,其运动估计运算更加简单、运算量明显减少、并且找到的全局最优点更加准确。
Description
技术领域
本发明涉及计算机领域中视频图像编码数据的运动估计方法的技术领域,特别是涉及一种基于H.264的图像单元块的帧间快速搜索方法。
背景技术
H.264是由国际电信联盟(ITU)和国际标准化组织(ISO)共同制定的新一代视频编码标准,该标准采用了一系列先进编码技术,在编码效率、网络适应性等诸多方面都超越以往的视频编码标准,代表了未来多媒体数据压缩编码的发展趋势。使及时跟踪和掌握H.264的核心技术,并结合实际应用在某些关键方向上有所创新,成为一项很有价值的工作。这一编码标准可以获得很高的编码效率,尤其在低码率视频编码方面比MPEG4有明显提高,非常适合于低带宽质量网络视频的应用需要,但是,由于H.264为了提高编码效率,采用了许多高计算复杂度的运算方法,使得编解码计算量很大,因而很难用软件方式进行实时编解码,同时为硬件实现编解码也增加了难度。
为了使H.264能比较容易地在低码率、高实时性的应用系统中实现,必须对其编码预测方法进行优化。通过对H.264编码器各个预测方法模块进行的分析可以看出,由于运动估计模块的计算量占整个编码器运算量的80%以上,因此,若对整个编码器进行优化,运动估计模块应作为首选。
关于运动估计,目前主要有以下几种方法:
方法一:一次一个方向搜索法
一次一个方向搜索法(OTS)又称共VE方向搜索方法(CDS),它是一种快速搜索法,具体步骤如下:
首先固定dy=0,改变dx,找到使MAD最小时的d,设为dx0。然后,固定dx=dx0,改变dy,找出在dx0上使MAD最小的值,设为dy。由此,最终求匹配点的位移矢量(dx0,dy0)。设搜索范围为MAX(dx)=MAX(dy)=W,则该方法最大搜索点数约为2W+3,相对于全搜索法(2W+1)2,次搜索来说,运算量大大减少了,但该方法搜索得到的不一定就是最优点,所以有待于进一步改进。
方法二:二维对数法
二维对数法(TDL)的基本思想是通过快速搜索跟踪最小
MAD(两子块间亮度差绝对 值的均值)点。从运动矢量(0,0)开始,以十字型分布的五个点构成每次搜索的点群,求出MAD的最小点,如MAD最小点出现在十字型点群的边缘,则下次搜索以该点为新十字形搜索点群的中心点,而步长不变。但若MAD最小点出现在十字型点群之中心点,则下次搜索仍以该点为中心点构成十字形点群,但步长减半。依次类推,直至步长为1,此时所找到的MAD最小点即为所求最优匹配点。注意,在上述搜索过程中,如发现新的十字形搜索点群的中心点位于搜索区的边缘,则步长减半。该方法的前提是假使搜索区内只有一个谷点。但如搜索区内存在很多谷点时,该方法找到的可能是局部最小点,不能保证找到全局最优点也正是大部分快速搜索预测方法的通病。而该方法的最大搜索点数为2+log2W。
方法三:三步搜索法
三步搜索法(TSS)与二维对数法类似。从(dx,dy)=(0,0)开始,以最大搜索长度的一半为步长,检测中心的及周围8个邻点的MAD值,找到MAD最小点。下一步以该最小点为中心,步长减半,并在缩小的方形边上9点中寻找MAD最小点。依次类推,直至搜索精度满足要求。例如MAX(dx)=MAX(dy)=7,搜索精度为1个像素,则最初步长为4,以后递减为4、2、1,共需三步搜索即可满足要求。这也是三步搜索法名称的由来。实际上,当搜索范围大于7时,仅用三步是不够的。搜索步数的一般表达式应为log2(MAX(dx)+1),该TSS法的最大搜索点数为1+8×log2(W)。
虽然这些快速预测方法均取得了优异的搜索性能,但是它们并不是非常适合于H.264,因为H.264的运动估计采用了7种块大小和形状,如果每一种方式的运动估计都执行一遍,则这些快速预测方法增加的复杂度会变得不可接受。
发明内容
本发明所要解决的技术问题是针对上述现有技术现状而提供一种运动估计运算更加简单、运算量明显减少、并且找到的全局最优点更加准确的基于H.264的钻石帧间快速预测方法。
本发明解决上述技术问题所采用的技术方案为:该基于H.264的图像单元块的帧间快速搜索方法,包括以下步骤:
步骤一,选定当前图像单元块(E)中的一个点作为参考点;
步骤二,初步预测选定的参考点在上帧图像中的位置,即预测起始点;用以下原始点运动矢量法和中值运动矢量法分别确定两个候选预测起始点,并最终选择其中SAD(sum of absolute differences,绝对差之和)值最小的候选预测起始点作为预测起始点:
原始点运动矢量法:所谓原始点即运动矢量为(0,0)矢量的点,就直接用(0,0)矢量来计算SAD值,即把该参考点直接作为第一候选预测起始点;
中值运动矢量法:
如果当前图像单元块(E)不在整帧图像的边界上,则把当前图像单元块(E)的左相邻块(A)、上相邻块(B)和右上相邻块(C)的中值作为预测起始点的运动矢量(Xpred,Ypred);
如果当前图像单元块(E)在整帧图像的边界上,则分两种情况:
当左相邻块(A)、上相邻块(B)和右上相邻块(C)中只有一个块在在整帧图像的边界外,则将另外两个块的中值作为预测起始点的运动矢量(Xpred,Ypred);
当左相邻块(A)、上相邻块(B)和右上相邻块(C)中有两个块在在整帧图像的边界外,则将剩下的那个块的运动矢量作为预测起始点的运动矢量(Xpred,Ypred);
所述的参考点按所述的运动矢量(Xpred,Ypred)位移后的点即为第二候选测试起始点;
步骤三:
①按步骤二中确定的起始点为搜索中心(x,y),将该搜索中心及其周围的八个点(x,y+2)、(x+1,y+1)、(x+2,y)、(x+1,y-1)、(x,y-2)、(x-1,y-1)、(X-2,y)、(x-1,y)作为检查点,并且计算所有检查点的SAD值,如果这个搜索中心(x,y)的SAD值小于其他所有检查点的SAD值,则转到第③步,否则转到第②步;
②将第①步中SAD值最小的那个检查点作为搜索中心,再重新转入第①步;
③以第②步中的搜索中心(x,y)为中心,将该搜索中心以及周围的四个点(x,y+1)、(x+1,y)、(x,y-1)、(x-1,y)作为检查点,并且计算所有五个检查点的SAD值,其中SAD值最小的那个检查点所在的图像单元块即为搜索到的图像单元块。
与现有技术相比,采用本发明的方法,其运动估计运算更加简单、运算量明显减少、并且找到的全局最优点更加准确。
附图说明
图1为当前块与相邻块的关系图;
图2为H.264的7种帧间预测模式;
图3为本发明实施例中步骤三的第①步中九个检查点的示意图;
图4为本发明实施例中步骤三的第②步进行再搜索的示意图;
图5为本发明实施例中步骤三的第③步中五个检查点的示意图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
如图1~图5所示,该基于H.264的图像单元块的帧间快速搜索方法,包括以下步骤:
步骤一,选定当前图像单元块(E)中的一个点作为参考点;
步骤二,初步预测选定的参考点在上帧图像中的位置,即预测起始点;用以下原始点运动矢量法和中值运动矢量法分别确定两个候选预测起始点,并最终选择其中SAD(sum of absolute differences,绝对差之和)值最小的候选预测起始点作为预测起始点:
原始点运动矢量法:所谓原始点即运动矢量为(0,0)矢量的点,就直接用(0,0)矢量来计算SAD值,即把该参考点直接作为第一候选预测起始点;
中值运动矢量法:
如果当前图像单元块(E)不在整帧图像的边界上,则把当前图像单元块(E)的左相邻块(A)、上相邻块(B)和右上相邻块(C)的中值作为预测起始点的运动矢量(Xpred,Ypred):
如果当前图像单元块(E)在整帧图像的边界上,则分两种情况:
当左相邻块(A)、上相邻块(B)和右上相邻块(C)中只有一个块在在整帧图像的边界外,则将另外两个块的中值作为预测起始点的运动矢量(Xpred,Ypred);
当左相邻块(A)、上相邻块(B)和右上相邻块(C)中有两个块在在整帧图像的边界外,则将剩下的那个块的运动矢量作为预测起始点的运动矢量(Xpred,Ypred);
所述的参考点按所述的运动矢量(Xpred,Ypred)位移后的点即为第二候选测试起始点;
步骤三:
①大钻石搜索方法:按步骤二中确定的起始点为搜索中心(x,y),将该搜索中心及其周围的八个点(x,y+2)、(x+1,y+1)、(x+2,y)、(x+1,y-1)、(x,y-2)、(x-1,y-1)、(x-2,y)、(x-1,y)作为检查点,并且计算所有检查点的SAD值,如果这个搜索中心(x,y)的SAD值小于其他所有检查点的SAD值,则转到第③步,否则转到第②步;
②将第①步中SAD值最小的那个检查点作为搜索中心,再重新转入第①步;
③小钻石搜索算法:以第②步中的搜索中心(x,y)为中心,将该搜索中心以及周围的四个点(x,y+1)、(x+1,y)、(x,y-1)、(x-1,y)作为检查点,并且计算所有五个检查点的SAD值,其中SAD值最小的那个检查点所在的图像单元块即为搜索到的图像单元块。
如果上述选出的最小SAD值仍大于与事先设定的阈值,则按从H.264中定义的模式2到模式7进行等级划分,逐步细化图像单元块,参见图2,上层块的运动矢量(如模式5、模式6是模式7的上层块,模式4是模式5或模式6的上层块等)将被用作下层的一个候选预测,并对细化后的每个图像单元块按上述方法进行帧间搜索,直至最后选出的SAD值小于阈值,即不再作图像单元块细化。
为验证本发明方法的效果,利用了5个具有不同运动特征的视频序列进行了测试,其中foreman和silent序列的运动范围较大,而miss_am、container和claire序列的局部运动则较为剧烈;量化参数(Quantity parameter,QP)分别选择28,32,36和40。下面是实验时JM94的统一设置;
(1)编码时搜索范围为16pixels;
(2)参考帧数为1;
(3)I帧的插入周期为16;
(4)每秒帧率为30;
(5)用了哈德马变换;
(6)熵编码方法为CABAC(Context-based adaptive binary arithmetic coding):
(7)用RD(Rate distortion)优化模式判定。
测试结果如表1、表2所示:
表1.不同搜索算法下搜索时间和比特率的比较(量化参数Q=28)
测试序列 | 搜索算法 | 平均运动估计时间(ms) | 运动估计时间提高率(%) | 比特率(kbit/s) |
foreman(400) | full | 1344 | 64.21 | 166.37 |
fast | 481 | 166.93 | ||
miss am(150) | full | 1328 | 65.66 | 44.66 |
fast | 456 | 44.55 | ||
container(300) | full | 1341 | 66.74 | 74.97 |
fast | 446 | 74.82 | ||
silent(300) | full | 1369 | 65.08 | 119.38 |
fast | 478 | 119.84 | ||
claire(494) | full | 1272 | 65.57 | 47.34 |
fast | 438 | 47.32 |
表2.不同搜索算法下的信噪比比较(QP=28)
测试序列 | 搜索算法 | SNRY(dB) | SNRU(dB) | SNRV(dB) |
foreman(400) | full | 35.52 | 39.07 | 40.38 |
fast | 35.49 | 39.06 | 40.37 | |
miss_am(150) | full | 40.35 | 39.3 | 39.5 |
fast | 40.33 | 39.31 | 39.52 | |
container(300) | full | 36.41 | 41.32 | 41.11 |
fast | 36.4 | 41.32 | 41.1 | |
silent(300) | full | 36.06 | 38.82 | 39.9 |
fast | 36.06 | 38.8 | 39.9 | |
claire(494) | full | 40.25 | 40.29 | 42.71 |
fast | 40.25 | 40.28 | 42.69 |
测试表明,本发明的快速搜索方法比JM94全搜索算法在码率增加不超过1%,SNR下降不超过0.1dB情况下,编码速度提高将近65%。
Claims (1)
1、一种基于H.264的图像单元块的帧间快速搜索方法,其特征在于包括以下步骤:
步骤一,选定当前图像单元块(E)中的一个点作为参考点;
步骤二,初步预测选定的参考点在上帧图像中的位置,即预测起始点;用以下原始点运动矢量法和中值运动矢量法分别确定两个候选预测起始点,并最终选择其中SAD(sum of absolute differences,绝对差之和)值最小的候选预测起始点作为预测起始点:
原始点运动矢量法:所谓原始点即运动矢量为(0,0)矢量的点,就直接用(0,0)矢量来计算SAD值,即把该参考点直接作为第一候选预测起始点;
中值运动矢量法:
如果当前图像单元块(E)不在整帧图像的边界上,则把当前图像单元块(E)的左相邻块(A)、上相邻块(B)和右上相邻块(C)的中值作为预测起始点的运动矢量(Xpred,Ypred);
如果当前图像单元块(E)在整帧图像的边界上,则分两种情况:
当左相邻块(A)、上相邻块(B)和右上相邻块(C)中只有一个块在在整帧图像的边界外,则将另外两个块的中值作为预测起始点的运动矢量(Xpred,Ypred);
当左相邻块(A)、上相邻块(B)和右上相邻块(C)中有两个块在在整帧图像的边界外,则将剩下的那个块的运动矢量作为预测起始点的运动矢量(Xpred,Ypred);
所述的参考点按所述的运动矢量(Xpred,Ypred)位移后的点即为第二候选测试起始点;
步骤三:
①按步骤二中确定的起始点为搜索中心(x,y),将该搜索中心及其周围的八个点(x,y+2)、(x+1,y+1)、(x+2,y)、(x+1,y-1)、(x,y-2)、(x-1,y-1)、(x-2,y)、(x-1,y)作为检查点,并且计算所有检查点的SAD值,如果这个搜索中心(x,y)的SAD值小于其他所有检查点的SAD值,则转到第③步,否则转到第②步;
②将第①步中SAD值最小的那个检查点作为搜索中心,再重新转入第①步;
③以第②步中的搜索中心(x,y)为中心,将该搜索中心以及周围的四个点(x,y+1)、(x+1,y)、(x,y-1)、(x-1,y)作为检查点,并且计算所有五个检查点的SAD值,其中SAD值最小的那个检查点所在的图像单元块即为搜索到的图像单元块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510062090 CN1787642A (zh) | 2005-12-19 | 2005-12-19 | 一种基于h.264的图像单元块的帧间快速搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510062090 CN1787642A (zh) | 2005-12-19 | 2005-12-19 | 一种基于h.264的图像单元块的帧间快速搜索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1787642A true CN1787642A (zh) | 2006-06-14 |
Family
ID=36784905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510062090 Pending CN1787642A (zh) | 2005-12-19 | 2005-12-19 | 一种基于h.264的图像单元块的帧间快速搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1787642A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179734B (zh) * | 2006-11-28 | 2010-09-15 | 腾讯科技(深圳)有限公司 | 一种视频压缩的帧内预测方法和系统 |
CN104159124A (zh) * | 2014-08-20 | 2014-11-19 | 哈尔滨工业大学 | 一种改进的多视点视频运动估计搜索方法 |
WO2017059790A1 (zh) * | 2015-10-09 | 2017-04-13 | 腾讯科技(深圳)有限公司 | 基于图像块的搜索匹配方法、系统及视频处理设备 |
CN112868233A (zh) * | 2019-02-28 | 2021-05-28 | 华为技术有限公司 | 编码器、解码器及相应的帧间预测方法 |
-
2005
- 2005-12-19 CN CN 200510062090 patent/CN1787642A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179734B (zh) * | 2006-11-28 | 2010-09-15 | 腾讯科技(深圳)有限公司 | 一种视频压缩的帧内预测方法和系统 |
CN104159124A (zh) * | 2014-08-20 | 2014-11-19 | 哈尔滨工业大学 | 一种改进的多视点视频运动估计搜索方法 |
CN104159124B (zh) * | 2014-08-20 | 2017-05-03 | 哈尔滨工业大学 | 一种改进的多视点视频运动估计搜索方法 |
WO2017059790A1 (zh) * | 2015-10-09 | 2017-04-13 | 腾讯科技(深圳)有限公司 | 基于图像块的搜索匹配方法、系统及视频处理设备 |
US10425658B2 (en) | 2015-10-09 | 2019-09-24 | Tencent Technology (Shenzhen) Company Limited | Image block-based matching method and system, and video processing device |
CN112868233A (zh) * | 2019-02-28 | 2021-05-28 | 华为技术有限公司 | 编码器、解码器及相应的帧间预测方法 |
US11336916B2 (en) | 2019-02-28 | 2022-05-17 | Huawei Technologies Co., Ltd. | Encoder, a decoder and corresponding methods for inter-prediction |
US11736719B2 (en) | 2019-02-28 | 2023-08-22 | Huawei Technologies Co., Ltd. | Encoder, a decoder and corresponding methods for inter-prediction |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1233175C (zh) | 采用改进直接模式的块预测方法 | |
CN101416524B (zh) | 运动估计搜索范围和扩展的运动矢量范围的动态选择 | |
CN1719735A (zh) | 编码源图像序列的方法和设备 | |
CN1719901A (zh) | 基于运动估计多分辨率方法及存储执行其程序的记录介质 | |
CN100338957C (zh) | 一种复杂度可分级的模式选择方法 | |
CN104394409B (zh) | 基于空域相关性的hevc预测模式快速选择方法 | |
CN1791224A (zh) | 一种基于h.264的自适应块搜索范围快速运动估计方法 | |
CN1874519A (zh) | 使用视频对称的帧内预测方法和设备及编解码方法及设备 | |
CN1830213A (zh) | 用于视频编码的方法和设备 | |
CN104333756B (zh) | 基于时域相关性的hevc预测模式快速选择方法 | |
CN1956547A (zh) | 运动矢量检测装置及运动矢量检测方法 | |
CN1976476A (zh) | 融合多参考帧选择和运动估计的快速帧间模式判决方法 | |
CN1236624C (zh) | 多种块模式的快速整像素运动估计方法 | |
CN1275469C (zh) | 一种复杂度可分级的帧内预测方法 | |
CN1753501A (zh) | 一种h.264/avc的帧间运动估计的模式选择方法 | |
CN1774933A (zh) | 确定视频编码器中的自适应运动矢量的搜索范围的方法及设备 | |
CN1688164A (zh) | 基于对象边缘的形状快速运动估值的方法 | |
CN1325220A (zh) | 运动向量编码方法 | |
CN1604650A (zh) | 用于分级运动估计的方法 | |
CN1320830C (zh) | 噪声估计方法和设备、以及利用其编码视频的方法和设备 | |
CN1719900A (zh) | 选择编码模式的方法和设备 | |
CN1662066A (zh) | 一种帧内预测模式选取方法 | |
CN1627825A (zh) | 用于运动图像编码的运动估计方法 | |
CN1209928C (zh) | 一种基于预测块组的采用帧内预测的帧内编码帧编码方法 | |
CN1194544C (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 |