视频编码快速运动搜索方法及系统与流程

文档序号:19221397发布日期:2019-11-26 02:10阅读:374来源:国知局
视频编码快速运动搜索方法及系统与流程

本发明涉及视频压缩技术领域,尤其涉及一种视频编码快速运动搜索方法及系统。



背景技术:

自1948年shannon提出信源编码理论以来,人们对图像压缩编码技术进行了广泛的研究。经过近60年的研究和发展,出现了大量的视频压缩技术和方法,包括预测编码、矢量编码、变换编码、熵编码、基于对象的形状编码以及小波变换编码、分形编码等。

预测编码是数据压缩最有效的手段之一。视频中一帧图像内的数据相关性使得对于某个数据块可以利用其相邻块的数据信息进行预测,仅保留原始像素与预测像素之差,从而减小或者消除空间冗余,此为帧内预测;视频中相邻像素帧之间的时间相关性使得数据块可以利用其相邻图像帧(参考帧)进行预测,仅保留原始像素与预测像素之差,消除或者减小时间相关性,此为帧间预测。

通常,在实现帧间预测时,对于每一个块划分,需要在参考帧中相应的搜索范围内查找最匹配的参考块,确定最匹配块的准则主要有mse、mae和sad三种。相对而言,sad准则最为简单,在多种国际视频压缩标准中都推荐使用sad准则。然而,虽然采用sad准则较其他准则简单,但在匹配过程中,计算量还是非常大的。

在现有的运动搜索快速算法中,通常是通过采用某种及早停止准则,在搜索过程中尽可能的省略不可能是最优匹配的搜索点和块划分模式的方法。即使这样做,由于还是在块内采用像素点全采样的方式进行运算,因此其计算量相当庞大。



技术实现要素:

本发明解决的技术问题是提供一种能有效减少搜索过程中计算量的视频编码快速运动搜索方法及系统。

为解决上述技术问题,发明提供的视频编码快速运动搜索方法,所述方法包括步骤:

获取当前宏块,并判断所述当前宏块是否满足稳定条件;

当判断到所述当前宏块满足所述稳定条件时,判定所述当前宏块为稳定块,根据所述当前宏块在参考帧中的相对应位置进行搜索起点的定位,并根据定位结果进行搜索;

当判断到所述当前宏块未满足所述稳定条件时,判定所述当前宏块为非稳定块,并获取所述非稳定块的纹理值;

根据所述纹理值进行策略匹配,以得到目标搜索策略,并根据所述目标搜索策略对所述非稳定块进行搜索。

优选的,所述根据定位结果进行搜索的步骤包括:

放弃针对第一粗糙层和第二粗糙层的搜索,并控制缩小搜索窗仅针对精确层进行搜索。

优选的,所述获取所述非稳定块的纹理值所采用的技术公式为:

dxi,j=pi-1,j+1+2×pi,j+1+pi+1,j+1-pi-1,j-1-2×pi,j-1-pi+1,j-1

dyi,j=pi+1,j-1+2×pi+1,j+pi+1,j+1-pi-1,j-1-2×pi-1,j-pi-1,j+1;

其中,h(r,c)为所述纹理值。为(i,j)点的边界向量;dxi,j表示(i,j)点边界向量的x分量;dyi,j表示(i,j)点边界向量的y分量;pi,j表示(i,j)点的像素值;表示(i,j)点边界向量的振幅。

优选的,所述根据所述纹理值进行策略匹配的步骤包括:

当判断到所述纹理值大于第一阈值时,则判定所述非稳定块为高度纹理宏块,所述目标搜索策略为高度搜索策略;

当判断到所述纹理值大于第二阈值且小于所述第一阈值时,则判定所述非稳定块为中度纹理宏块,所述目标搜索策略为中度搜索策略;

当判断到所述纹理值小于所述第二阈值时,则判定所述非稳定块为同质块,所述目标搜索策略为低度搜索策略。

优选的,所述根据所述目标搜索策略对所述非稳定块进行搜索的步骤包括:

当所述目标搜索策略为所述高度搜索策略时,放弃针对第一粗糙层和第二粗糙层的搜索,并根据预设矢量确定搜索起点后,仅针对精确层进行搜索。

优选的,所述根据所述目标搜索策略对所述非稳定块进行搜索的步骤包括:

当所述目标搜索策略为所述中度搜索策略时,放弃针对第二粗糙层的搜索,根据预设矢量在第一粗糙层确定搜索起点后进行降采样搜索;

将所述第一粗糙层得到的最佳位置设置为精确层搜索的中心点,并根据所述中心点的位置对所述精确层进行搜索。

优选的,所述根据所述目标搜索策略对所述非稳定块进行搜索的步骤包括:

当所述目标搜索策略为所述低度搜索策略时,直接采用mmea对所述当前宏块进行搜索。

与相关技术相比较,本发明提供的视频编码快速运动搜索方法具有如下有益效果:采取自适应的方式,利用空域的相似性和时域的稳定性的特点来确定帧间预测的最佳模式,进而有效的减小了计算量,提高了搜索的准确性,减少了搜索最优匹配块的时间,获得了更高的编码效率。

本发明实施例的另一目的在于提供一种视频编码快速运动搜索系统,包括:

稳定性判断模块,用于获取当前宏块,并判断所述当前宏块是否满足稳定条件;

稳定块搜索模块,用于当判断到所述当前宏块满足所述稳定条件时,判定所述当前宏块为稳定块,根据所述当前宏块在参考帧中的相对应位置进行搜索起点的定位,并根据定位结果进行搜索;

纹理计算模块,用于当判断到所述当前宏块未满足所述稳定条件时,判定所述当前宏块为非稳定块,并获取所述非稳定块的纹理值;

搜索控制模块,用于根据所述纹理值进行策略匹配,以得到目标搜索策略,并根据所述目标搜索策略对所述非稳定块进行搜索。

优选的,所述稳定块搜索模块还用于:

放弃针对第一粗糙层和第二粗糙层的搜索,并控制缩小搜索窗仅针对精确层进行搜索。

优选的,所述搜索控制模块还用于:

当判断到所述纹理值大于第一阈值时,则判定所述非稳定块为高度纹理宏块,所述目标搜索策略为高度搜索策略;

当判断到所述纹理值大于第二阈值且小于所述第一阈值时,则判定所述非稳定块为中度纹理宏块,所述目标搜索策略为中度搜索策略;

当判断到所述纹理值小于所述第二阈值时,则判定所述非稳定块为同质块,所述目标搜索策略为低度搜索策略。

附图说明

图1为本发明第一实施例提供的视频编码快速运动搜索方法的流程示意图;

图2为本发明第二实施例提供的视频编码快速运动搜索方法的流程示意图;

图3为本发明第二实施例提供的宏块搜索效果图;

图4为本发明第二实施例提供的4:1降采样的结构示意图;

图5为本发明第二实施例提供的16:1降采样的结构示意图;

图6为本发明第三实施例提供的视频编码快速运动搜索系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

请参阅图1,是本发明第一实施例提供的视频编码快速运动搜索方法的流程示意图,包括步骤:

步骤s10,获取当前宏块,并判断所述当前宏块是否满足稳定条件;

其中,所述稳定条件中的稳定参数可以根据用户的需求进行设置,所述稳定条件用于判断所述当前宏块的运动是否稳定;

当步骤s10判断到所述当前宏块满足所述稳定条件时,执行步骤s20;

步骤s20,判定所述当前宏块为稳定块,根据所述当前宏块在参考帧中的相对应位置进行搜索起点的定位,并根据定位结果进行搜索;

其中,稳定块指的是在时域维度几乎没有移动的块。如果当前宏块被判定为稳定块,将以宏快相对应位置为起点进行较小范围的搜索。在自然序列中,当前帧与参考帧之间存在一定的关联,当前宏块与参考帧宏块之间的差别可以用以下公式计算:

当步骤s10判断到所述当前宏块未满足所述稳定条件时,执行步骤s30;

步骤s30,判定所述当前宏块为非稳定块,并获取所述非稳定块的纹理值;

步骤s40,根据所述纹理值进行策略匹配,以得到目标搜索策略,并根据所述目标搜索策略对所述非稳定块进行搜索;

本实施例中,采取自适应的方式,利用空域的相似性和时域的稳定性的特点来确定帧间预测的最佳模式,进而有效的减小了计算量,提高了搜索的准确性,减少了搜索最优匹配块的时间,获得了更高的编码效率。

实施例二

请参阅图2至图5,是本发明第二实施例提供的视频编码快速运动搜索方法的流程示意图,包括步骤:

步骤s11,获取当前宏块,并判断所述当前宏块是否满足稳定条件;

当步骤s11判断到所述当前宏块满足所述稳定条件时,执行步骤s21;

步骤s21,判定所述当前宏块为稳定块,根据所述当前宏块在参考帧中的相对应位置进行搜索起点的定位;

其中,稳定块指的是在时域维度几乎没有移动的块;

步骤s31,放弃针对第一粗糙层和第二粗糙层的搜索,并根据所述搜索起点控制缩小搜索窗仅针对精确层进行搜索;

其中,如果当前宏块被判定为稳定块,将以宏快相对应位置为起点进行较小范围的搜索。在自然序列中,当前帧与参考帧之间存在一定的关联,当前宏块与参考帧宏块之间的差别可以用以下公式计算:

当步骤s11判断到所述当前宏块未满足所述稳定条件时,执行步骤s41;

步骤s41,判定所述当前宏块为非稳定块,并获取所述非稳定块的纹理值;

其中,匀质块指的是在空间域具有相同纹理的宏块。宏块的边界信息可以带边纹理的复杂度,由此可以检测出匀质块。利用sobel算法来获取边界信息是平衡计算量和搜索质量的好方法。苏贝尔运算符有两个3×3卷积核来计算相似性,一个是水平方向的一个是垂直方向的;

具体的,所述获取所述非稳定块的纹理值所采用的技术公式为:

dxi,j=pi-1,j+1+2×pi,j+1+pi+1,j+1-pi-1,j-1-2×pi,j-1-pi+1,j-1

dyi,j=pi+1,j-1+2×pi+1,j+pi+1,j+1-pi-1,j-1-2×pi-1,j-pi-1,j+1;

其中,h(r,c)为所述纹理值。为(i,j)点的边界向量;dxi,j表示(i,j)点边界向量的x分量;dyi,j表示(i,j)点边界向量的y分量;pi,j表示(i,j)点的像素值;表示(i,j)点边界向量的振幅;

步骤s51,当判断到所述纹理值大于第一阈值时,则判定所述非稳定块为高度纹理宏块,所述目标搜索策略为高度搜索策略;

其中,当h(r,c)大于第一阈值时,当前宏块被判定为纹理高度复杂的宏块,即高度纹理宏块,在这种情况下,降采样产生的性能退化将不能被忽略;

步骤s61,当判断到所述纹理值大于第二阈值且小于所述第一阈值时,则判定所述非稳定块为中度纹理宏块,所述目标搜索策略为中度搜索策略;

其中,当h(r,c)大于第二阈值且小于第一阈值时,当前宏块被判定为中度复杂的宏块,即中度纹理宏块;

步骤s71,当判断到所述纹理值小于所述第二阈值时,则判定所述非稳定块为同质块,所述目标搜索策略为低度搜索策略;

步骤s81,根据所述目标搜索策略对所述非稳定块进行搜索;

优选的,该步骤中,当所述目标搜索策略为所述高度搜索策略时,放弃针对第一粗糙层和第二粗糙层的搜索,并根据预设矢量确定搜索起点后,仅针对精确层进行搜索,其中,由于降采样产生的性能退化将不能被忽略,因此,不进行第一粗糙层(level1)与第二粗糙层(level2)的搜索(将放弃粗糙层的搜索,取而代之的是仅在精确层进行搜索窗较大的搜索)。由于当前宏块不是稳定块,搜索起点由预测矢量确定。

当所述目标搜索策略为所述中度搜索策略时,放弃针对第二粗糙层的搜索,根据预设矢量在第一粗糙层确定搜索起点后进行降采样搜索,将所述第一粗糙层得到的最佳位置设置为精确层搜索的中心点,并根据所述中心点的位置对所述精确层进行搜索,其中,由于level2层采用16:1的降采样,仅进行level1与level0层的搜索,搜索中心由预测矢量确定,采用4:1降采样搜索。在level1层得到的最小cost的最佳位置作为level0层搜索的中心点。

当所述目标搜索策略为所述低度搜索策略时,直接采用mmea对所述当前宏块进行搜索,其中,level0层可以仅在较小的范围内进行搜索。

具体的,本实施例由于采用了自适应的搜索策略,针对不同图像空域的相似性和时域的稳定性的特点,来确定搜索范围和降采样频率,提高了搜索的准确性。

本实施例由于采用降采样的搜索方式,在不改变视频编码流程的框架的前提下有效的减少了计算的复杂度,保留了sad的特点,提高了搜索效率。

本实施例采用了多层搜索的策略,每一不同的搜索层具有不同的搜索精度与搜索窗大小,在减少了计算复杂度的基础上,一定程度上避免了陷入局部最优解的情况,相对于其他的快速搜索算法,实现了搜索速度与搜索准确度的兼备。

请查阅下表和图3,相对于传统算法,本实施例在几乎可以忽略的psnr损失的基础上,减少了计算的复杂度。通过实验验证,本实施例的psnr平均损失了0.01db,然而在计算时间上,相对于传统算法,节约了31.33%的时间。

其中qs表示不同的量化步长,选取(24,28,32,36)四个不同量化步长分别进行实验;time表示运算时间;psnr表示输入输出图像的信噪比;bitrate表示比特率。

本实施例中,利用空域的相似性和时域的稳定性的特点来确定帧间预测的最佳模式。空域的的相似性主要由宏块的边缘强度决定,时域的稳定性主要由当前宏块与参考帧中相对应位置宏块的差异决定。考虑到相对稳定的宏块只运动很小的范围,所以搜索起点定位在当前宏块在参考帧中的相对应位置,另外可以缩小搜索窗的大小来减小计算量。当宏块被判断为匀质块,在粗糙层采用降采样搜索产生的性能损失可以忽略,因此可以在大的搜索窗中进行降采样搜索。相反的,对于非匀质块,降采样搜索带来的性能损失是不能忽略的,在这种情况下,将放弃粗糙层的搜索,取而代之的是仅在精确层进行搜索窗较大的搜索。

实施例三

请参阅图6,是本发明第三实施例提供的视频编码快速运动搜索系统100的结构示意图,包括:稳定性判断模块10、稳定块搜索模块11、纹理计算模块12和搜索控制模块13,其中:

稳定性判断模块10,用于获取当前宏块,并判断所述当前宏块是否满足稳定条件。

稳定块搜索模块11,用于当判断到所述当前宏块满足所述稳定条件时,判定所述当前宏块为稳定块,根据所述当前宏块在参考帧中的相对应位置进行搜索起点的定位,并根据定位结果进行搜索。

其中,所述稳定块搜索模块11还用于:放弃针对第一粗糙层和第二粗糙层的搜索,并控制缩小搜索窗仅针对精确层进行搜索。

纹理计算模块12,用于当判断到所述当前宏块未满足所述稳定条件时,判定所述当前宏块为非稳定块,并获取所述非稳定块的纹理值。

搜索控制模块13,用于根据所述纹理值进行策略匹配,以得到目标搜索策略,并根据所述目标搜索策略对所述非稳定块进行搜索。

其中,所述搜索控制模块13还用于:当判断到所述纹理值大于第一阈值时,则判定所述非稳定块为高度纹理宏块,所述目标搜索策略为高度搜索策略;当判断到所述纹理值大于第二阈值且小于所述第一阈值时,则判定所述非稳定块为中度纹理宏块,所述目标搜索策略为中度搜索策略;当判断到所述纹理值小于所述第二阈值时,则判定所述非稳定块为同质块,所述目标搜索策略为低度搜索策略。

优选的,所述搜索控制模块13还用于:当所述目标搜索策略为所述高度搜索策略时,放弃针对第一粗糙层和第二粗糙层的搜索,并根据预设矢量确定搜索起点后,仅针对精确层进行搜索。

进一步地,所述搜索控制模块13还用于:当所述目标搜索策略为所述中度搜索策略时,放弃针对第二粗糙层的搜索,根据预设矢量在第一粗糙层确定搜索起点后进行降采样搜索;将所述第一粗糙层得到的最佳位置设置为精确层搜索的中心点,并根据所述中心点的位置对所述精确层进行搜索。

此外,所述搜索控制模块13还用于:当所述目标搜索策略为所述低度搜索策略时,直接采用mmea对所述当前宏块进行搜索。

本实施例中,利用空域的相似性和时域的稳定性的特点来确定帧间预测的最佳模式。空域的的相似性主要由宏块的边缘强度决定,时域的稳定性主要由当前宏块与参考帧中相对应位置宏块的差异决定。考虑到相对稳定的宏块只运动很小的范围,所以搜索起点定位在当前宏块在参考帧中的相对应位置,另外可以缩小搜索窗的大小来减小计算量。当宏块被判断为匀质块,在粗糙层采用降采样搜索产生的性能损失可以忽略,因此可以在大的搜索窗中进行降采样搜索。相反的,对于非匀质块,降采样搜索带来的性能损失是不能忽略的,在这种情况下,将放弃粗糙层的搜索,取而代之的是仅在精确层进行搜索窗较大的搜索。

本实施例还提供一种视频编码快速运动搜索装置,包括存储设备以及处理器,所述存储设备用于存储计算机程序,所述处理器运行所述计算机程序以使所视频编码快速运动搜索装置执行上述的视频编码快速运动搜索方法。

本实施例还提供了一种存储介质,其上存储有上述视频编码快速运动搜索

装置中所使用的计算机程序,该程序在执行时,包括如下步骤:

获取当前宏块,并判断所述当前宏块是否满足稳定条件;

当判断到所述当前宏块满足所述稳定条件时,判定所述当前宏块为稳定块,根据所述当前宏块在参考帧中的相对应位置进行搜索起点的定位,并根据定位结果进行搜索;

当判断到所述当前宏块未满足所述稳定条件时,判定所述当前宏块为非稳定块,并获取所述非稳定块的纹理值;

根据所述纹理值进行策略匹配,以得到目标搜索策略,并根据所述目标搜索策略对所述非稳定块进行搜索。所述的存储介质,如:rom/ram、磁碟、光盘等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成,即将存储装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施方式中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。

本领域技术人员可以理解,图6中示出的组成结构并不构成对本发明的视频编码快速运动搜索系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,而图1-2中的视频编码快速运动搜索方法亦采用图6中所示的更多或更少的部件,或者组合某些部件,或者不同的部件布置来实现。本发明所称的单元、模块等是指一种能够被视频编码快速运动搜索系统中的处理器(图未示)所执行并功能够完成特定功能的一系列计算机程序,其均可存储于视频编码快速运动搜索系统的存储设备(图未示)内。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1