CN103384330A - 一种avs快速运动估计方法 - Google Patents
一种avs快速运动估计方法 Download PDFInfo
- Publication number
- CN103384330A CN103384330A CN2013101981698A CN201310198169A CN103384330A CN 103384330 A CN103384330 A CN 103384330A CN 2013101981698 A CN2013101981698 A CN 2013101981698A CN 201310198169 A CN201310198169 A CN 201310198169A CN 103384330 A CN103384330 A CN 103384330A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- search
- sds
- point
- sdp
- 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
本发明提供一种AVS快速运动估计方法。它对DS算法进行了改进,提出了一种新的搜索算法:SDS算法,算法流程如附图所示。SDS算法的模板SDP是在DS的小模板基础上,增加向四周延伸的正方形的4个顶点,形成一个新的综合模板,称为正方形—菱形模板SDP。SDS算法是基于并行处理的,可以根据图像中的运动类型,自适应选下一步相应的搜索模板,实现了基于内容的搜索。与DS算法相比,该算法可以有效地降低整像素运动估计所需搜索的点数,而且编码性能接近全搜索法。算法节省的计算量最多可达77.4%,且Bits降低程度大于PSNR下降程度,在不降低编码性能的情况下,能有效地提高运动估计的编码速度。
Description
技术领域
本发明涉及信号处理中的视频编码技术领域,具体涉及一种AVS快速运动估计方法。
背景技术
自1948年C.E.Shannon提出信源编码理论以来,人们对图像压缩编码技术进行了大量的研究。经过六十多年的研究和发展,出现了很多的技术和方法。AVS(Audio Video Coding Standard)是我国自主制定,拥有自主知识产权的音视频编解码标准。
在AVS视频编码中,运动估计(Motion Estimation, ME)是计算量最大的模块,约占整个编码计算量的76%。AVS的运动估计算法中,对每种块模式都要分别进行整像素、半像素和1/4像素的搜索。整像素运动估计约占整个编码68%的计算量,如何提高运动估计的效率,使运动估计算法的搜索过程更快速、更高效一直是视频编码研究领域的一个热点。
目前运动估计的快速搜索算法有很多种,典型算法有:三步法(Three Step Search, TSS),新三步法(Novel Three Step Search, NTSS),四步法(Four Step Search, FSS),菱形搜索法(Diamond Search, DS),六边形搜索法(Hexagon-based Search, HBS),二阶对数法(2-D LOGS)以及它们之间的结合使用等。前三种方法容易陷入局部最优先,并且搜索速度不够快。DS算法是先用大菱形匹配,进行最佳点的粗定位,搜索过程不会陷入局部极小,当粗定位结束后,再使用小菱形进行精确定位。HBS算法与DS相似,只是搜索模板不同,它使用了比DS算法更少的探测点,因此提高了算法的搜索速度。
发明内容
针对AVS需要更高效的快速运动估计方法,为了解决现有运动估计方法存在的不足,本发明公开一种AVS快速运动估计方法。该方法在保证图像质量和编码效率基本不变的同时,可有效地减少运动估计的计算量,提高编码速度。
本发明在对菱形算法(Diamond Search, DS)进行深入分析和研究的基础上,对菱形快速运动估计算法进行了改进,提出了一种新的搜索算法:正方形—菱形算法(Square-Diamond Search, SDS),简称SDS算法,算法包括以下步骤:
Step1 以搜索区原点对应SDP中心,在SDP上9个点处分别进行匹配计算,然后判断找出MBD点,若MBD位于中心,说明图像是静止的,SDS算法一步结束,进行Stp4;若MBD点位于正方形4个顶点处,说明图像的运较大,则进行Step2;若MBD点位于菱形4个顶点处,说图像的运动较小,则进行Step3;
Step2 以上一次找到的MBD点作为中心点,进行Step1相同的运算;
Step3 以上一次的MBD点作为中心点,将SDP收为DP模板,在5个点分别计算,然后找出新的MBD点,若MBD点位于中心,进行Step4;若MBD点位于周围4个点处,则重复Step3;
Step4 将该中心点作为最佳匹配点,得到运动矢量。
与现有技术比较,本发明的优点和积极效果为:与菱形算法相比,该算法可以有效地降低整像素运动估计所需搜索的点数,而且编码性能接近全搜索法。算法节省的计算量最多可达77.4%,且Bits降低程度大于PSNR下降程度,在不降低编码性能的情况下,能有效地提高运动估计的编码速度。
下面对菱形搜索算法和本发明的SDS算法这两部分作详细说明。
菱形搜索算法。
菱形搜索算法一直被认为是比较经典的搜索算法,是MPEG工作组推荐的MPEG4标准的搜索算法。
统计数据表明,视频图像中进行运动估值时,最优点通常在零矢量周围(以搜索窗口中心为圆心,两像素为半径的圆内),如附图1所示。
DS算法采用了两种搜索模板,分别是有9个检测点的大模板LDSP(Large Diamond Search Pattern)和有5个检测点的小模板SDSP(Small Diamond Search Pattern),如附图2所示,LDSP由一个中心点和它周围的8个搜索点构成,这9个点组成一个菱形。SDSP由5个搜索点构成。搜索模板太大,容易走错方向,搜索模板太小又可能导致收敛速度慢。用两种模板,结合了两者的优点,保持较好的性能。
菱形算法的步骤如下:
第1步 最初的LDSP以搜索窗口中心为中心点计算大菱形的9个搜索点的编码代价。若编码代价最小的搜索点位于中心,跳到第3步,否则进行第2步;
第2步 以上一步搜索的9个点中代价最小的点为大菱形的中心点,计算大菱形的9个搜索点的编码代价。若编码代价最小的搜索点位于中心,跳到第3步:否则,重复第2步;
第3步 以上一步搜索的9个点中代价最小的点为中心点,计算小菱形的5个搜索点的编码代价。编码代价最小的块为匹配块。
附图3是用大菱形模板搜索时的搜索路径示意,(a)显示的是顶角点最优,(b)显示的是边点最优时的状态。
尽管DS算法没有限定搜索的次数,但是实际上由于运动矢量的中心偏置,搜索都会很快结束。其运算复杂度一般比三步法要低得多,而且保持了很好的性能。
另外还有很多对各种经典算法提出各种改进算法,其中最典型的改进方法是在搜索过程中增加一些特征判断,当检测符合某个特征或某个条件成立时改变搜索路径或中途停止。这些算法在牺牲很小的性能的条件下,进一步减少了搜索的点数,大大提高了编码速度。但这些算法中条件判断很多,分支结构较多,不利于在DSP上实现。
附图4显示的一次菱形搜索过程示意,白三角形指示的是最后的最优点。
DS算法的特点在于它分析了视频图像中运动矢量的基本规律,选用了两种形状的搜索模板LDSP和SDSP。先用LDSP大范围搜索,再用SDSP来准确定位,所以它的性能优于其它算法。但是,DS算法只是一种搜索策略的折衷处理,其性能上的缺陷表现在两个方面:(1)对于运动稍微大一点的图像,如果取常用的±7个像素点的搜索范围,速度就比不上FSS,因为FSS采用5×5的正方形搜索窗,它的覆盖范围比LDSP大;(2)对于保持静止的图像序列,即运动矢量为零矢量的情况,DS算法必须要依次计算LDSP和SDSP两个模板的13个点,而理想情况是只需计算SDSP的5个点,即对于小运动搜索DS算法还有待改进。
综合分析DS及其它快速算法后可以发现,它们都是基于串行处理思想的,即为了保证算法的效率和收敛性,搜索模板和搜索步长只能由大到小,先进行粗定位,然后再准确定位。这种串行搜索方式不能根据图像的内容(运动类型)作灵活处理,这对小运动来说是一种浪费,而且当第一步的步长较大时还会误导搜索方向,影响搜索的速度和准确性。
针对这些问题,本发明提出的SDS算法能较好地解决了上面几个问题,使得SDS在时间和性能上都优于以往的快速运动估值算法。
SDS算法。
SDS的模板是在DS的小模板基础上,增加向四周延伸的正方形的4个顶点,形成一个新的综合模板,称为正方形—菱形模板 SDP(Square Diamond Pattern),如附图5(a)所示。
附图说明
图1为最优点的分布规律图。
图2为菱形搜索模式图。
图3为LDSP的搜索模式图。
图4为菱形法的搜索过程示意图。
图5为SDS算法模板示意图。
图6为搜索过程中模板改变的3种情况示意图。
图7为DS算法搜索到(-4,-2)的可能路径,共24个点示意图。
图8为SDS算法搜索到(-4,-2)的可能路径,共22个点示意图。
图9为本发明的SDS算法流程图。
具体实施方式
本发明的AVS快速运动估计算法流程如图9所示,其SDS算法的主要步骤如下:
Step1 以搜索区原点对应SDP中心,在SDP上9个点处分别进行匹配计算,然后判断找出MBD点,若MBD位于中心,说明图像是静止的,SDS算法一步结束,进行Stp4;若MBD点位于正方形4个顶点处,说明图像的运较大,则进行Step2;若MBD点位于菱形4个顶点处,说图像的运动较小,则进行Step3;
Step2 以上一次找到的MBD点作为中心点,进行Step1相同的运算;
Step3 以上一次的MBD点作为中心点,将SDP收为附图5(b)所示的菱形模板DP(Diamond Pattern),在5个点分别计算,然后找出新的MBD点,若MBD点位于中心,进行Step4;若MBD点位于周围4个点处,则重复Step3;
Step4 将该中心点作为最佳匹配点,得到运动矢量。
SDS算法有如下特点:
(1) SDS算法的搜索不需要经历模板由大到小的必然过程,有时一步即可完成搜索;
(2)使用SDS算法,可以根据图像中的运动类型,自适应选择下一步相应的搜索模板,实现了基于内容的搜索,从而得到较好的估计结果;
(3)SDP是正方形和菱形两种模板的组合,SDP综合模板的运算可以看作是两种不同模板并行运算的结果;
(4)用SDP搜索时,正方形模板保持了大模板粗定位的特性,而菱形模板则有准确“聚焦”的特性,这从本质上体现了SDP是粗定位和准确定位的并行实施。
上述特点说明SDS算法是基于并行处理的。SDS算法在搜索模板改变位置时,总有两个重叠的点,所以当重复使用SDP时只需计算7个新的检测点,重复使用DP时只要计算3个新的检测点,这就提高了搜索效率。附图6给出了搜索过程中模板改变的3种情况。
SDS算法在最低代价(最少检测点)下引入了大小模板并行处理的思想。运动较大时,可以持续用大步长来搜索,而同时保持了在局部范围内的“聚焦”特性,当真正遇到小运动时,又会灵活使用小步长的模板。例如零矢量的情况,SDS算法只需检测9个点即可获得运动矢量,而其它算法如TSS需要检测25个点、FSS需要检测17个点、DS也需要检测13个点。按视频图像运动矢量的统计规律,假设最佳点就在附图1所示的圆内,对DS和SDS两种算法需要检测的点数进行比较,如表1所示,从表中可以看出SDS总比DS少1~4个搜索点。
表1 DS和SDS在零矢量周围的搜索比较
用DS算法搜索到运动矢量(-4,-2)的例子,如附图7所示,搜索共有5步,使用了四次LDSP和一次SDSP,总共搜索了24个点。附图8是用SDS算法搜索到同样点的可能路径。可以看出,SDS算法有四步,用了两次SDP和两次DP,总共22个点,每一步检测的新点数分别为9、7、3和3点。总之,SDS要比DS在速度上有所提高。
SDS算法和DS算法一样,没有限制搜索的步数,而且搜索范围不必固定,所以使用起来非常灵活,同时SDS算法的收敛性是可以保证的。
使用一系列常用视频序列(CIF格式)测试RM50d参考代码的优化前后的实验结果见表2。
表2 常用CIF序列DS与SDS算法的性能比较
从表2可以看出编码速度得到不小的提高,但算法改进后图像质量(PSNR)没有多大的降低,对于部分视频序列,改进的SDS算法的编码效率甚至超过了原来的DS算法。
本发明的SDS算法没有用到中途停止功能,可与其它的基于中途停止的快速算法结合,在牺牲很少图像质量的条件下,可进一步减少块匹配的次数,提高编码速度。
应当指出,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的修改,变形、添加或替换,也应属于本发明的保护范围。
Claims (4)
1.一种AVS快速运动估计方法,其特征在于,其SDS算法包括以下步骤:
Step1 以搜索区原点对应SDP中心,在SDP上9个点处分别进行匹配计算,然后判断找出MBD点,若MBD位于中心,说明图像是静止的,SDS算法一步结束,进行Stp4;若MBD点位于正方形4个顶点处,说明图像的运较大,则进行Step2;若MBD点位于菱形4个顶点处,说图像的运动较小,则进行Step3;
Step2 以上一次找到的MBD点作为中心点,进行Step1相同的运算;
Step3 以上一次的MBD点作为中心点,将SDP收为DP模板,在5个点分别计算,然后找出新的MBD点,若MBD点位于中心,进行Step4;若MBD点位于周围4个点处,则重复Step3;
Step4 将该中心点作为最佳匹配点,得到运动矢量。
2.根据权利要求1所述的一种AVS快速运动估计方法,其特征在于:Step1中的SDP是SDS算法的模板,它是在DS的小模板基础上,增加向四周延伸的正方形的4个顶点,形成一个新的综合模板,称为正方形—菱形模板 SDP(Square Diamond Pattern)。
3.根据权利要求1所述的一种AVS快速运动估计方法,其特征在于:Step1中的SDS算法是在对菱形算法(Diamond Search, DS)进行深入分析和研究的基础上,对菱形快速运动估计算法进行了改进,提出了一种新的搜索算法:正方形—菱形算法(Square-Diamond Search, SDS),简称SDS算法。
4.根据权利要求1所述的一种AVS快速运动估计方法,其特征在于:SDS算法是基于并行处理的,可以根据图像中的运动类型,自适应选择下一步相应的搜索模板,实现基于内容的搜索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101981698A CN103384330A (zh) | 2013-05-26 | 2013-05-26 | 一种avs快速运动估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101981698A CN103384330A (zh) | 2013-05-26 | 2013-05-26 | 一种avs快速运动估计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103384330A true CN103384330A (zh) | 2013-11-06 |
Family
ID=49492016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101981698A Pending CN103384330A (zh) | 2013-05-26 | 2013-05-26 | 一种avs快速运动估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103384330A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756354A (zh) * | 2004-09-29 | 2006-04-05 | 腾讯科技(深圳)有限公司 | 一种视频数据压缩的运动估计方法 |
CN101184233A (zh) * | 2007-12-12 | 2008-05-21 | 中山大学 | 一种基于cfrfs数字视频压缩编码的方法 |
-
2013
- 2013-05-26 CN CN2013101981698A patent/CN103384330A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756354A (zh) * | 2004-09-29 | 2006-04-05 | 腾讯科技(深圳)有限公司 | 一种视频数据压缩的运动估计方法 |
CN101184233A (zh) * | 2007-12-12 | 2008-05-21 | 中山大学 | 一种基于cfrfs数字视频压缩编码的方法 |
Non-Patent Citations (2)
Title |
---|
刘海峰: "用于块匹配运动估值的正方形-菱形搜索算法", 《计算机学报》 * |
田应洪: "蝶形运动估计算法", 《计算机工程》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9852511B2 (en) | Systems and methods for tracking and detecting a target object | |
CN101420617B (zh) | 一种十字六边形运动估计搜索方法 | |
Chen et al. | Fast HEVC intra mode decision using matching edge detector and kernel density estimation alike histogram generation | |
US8199252B2 (en) | Image-processing method and device | |
CN101394566A (zh) | 一种十字菱形运动估计搜索方法 | |
CN106604035B (zh) | 一种用于视频编码和压缩的运动估计的方法 | |
CN1236624C (zh) | 多种块模式的快速整像素运动估计方法 | |
Li et al. | Fast motion estimation methods for HEVC | |
MX2021003675A (es) | Procesamiento de limites virtuales para filtrado de bucle adaptativo. | |
RU2011131824A (ru) | Поиск интра-режима для кодирования видеоинформации | |
CN103384324A (zh) | 一种avs-m视频编码快速亚像素运动估计方法 | |
US20170091946A1 (en) | Stereo image depth map generation device and method | |
CN103530895A (zh) | 一种检测马赛克的方法和设备 | |
CN103384332A (zh) | 一种avs视频编码hfps算法的改进算法 | |
CN103873862B (zh) | 一种帧内快速编码方法及*** | |
US20140126639A1 (en) | Motion Estimation Method | |
US8014610B2 (en) | Method of multi-path block matching computing | |
CN106658024B (zh) | 一种快速的视频编码方法 | |
CN103384330A (zh) | 一种avs快速运动估计方法 | |
CN103763563A (zh) | 运动估计搜索方法 | |
Belloulata et al. | A novel cross-hexagon search algorithm for fast block motion estimation | |
CN103402084A (zh) | 基于avs的运动估计快速算法 | |
US20090135255A1 (en) | Method and apparatus for detecting a noise value of a video signal | |
CN102238375B (zh) | 用于视频编码的十字形搜索方法和装置 | |
CN106101722A (zh) | 基于yang结构改进的分层准全搜索方法及*** |
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 |
Application publication date: 20131106 |