CN109544591B - 一种运动估计方法、装置、电子设备及存储介质 - Google Patents
一种运动估计方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109544591B CN109544591B CN201811289840.9A CN201811289840A CN109544591B CN 109544591 B CN109544591 B CN 109544591B CN 201811289840 A CN201811289840 A CN 201811289840A CN 109544591 B CN109544591 B CN 109544591B
- Authority
- CN
- China
- Prior art keywords
- motion estimation
- distortion cost
- preset
- minimum value
- pixel
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例提供了一种运动估计方法、装置、电子设备及存储介质,该方法包括:读取当前预测模式下针对当前编码块已完成的半像素运动估计结果;针对当前编码块,确定1/4像素搜索范围;从半像素运动估计结果中,获取半像素搜索时各搜索点所对应的失真代价中的最大值D1,以及最小值D2;判断最大值D1和最小值D2是否满足预设第一失真代价条件,其中,预设第一失真代价条件是根据编码性能需求设置的;当最大值D1和最小值D2满足预设第一失真代价条件时,缩小1/4像素搜索范围;根据缩小后的1/4像素搜索范围进行运动估计。采用这种自适应的方式来调整运动估计的搜索范围,可以在提高编码速度的基础上,减少编码性能的损失。
Description
技术领域
本发明涉及视频编码技术领域,特别是涉及一种运动估计方法、装置、电 子设备及存储介质。
背景技术
视频编码(也称视频压缩)的目的是消除视频信号间的冗余信息,在视频 编码过程中,需要进行预测。预测又分为帧内预测和帧间预测,帧间预测中最 关键的技术是运动估计。运动估计是指针对当前编码块,在参考帧中搜索最佳 匹配编码块,并确定当前编码块与最佳匹配编码块之间的相对偏移量的过程, 其中,相对偏移量又被称为运动矢量。运动估计过程中,假如针对待编码的视 频帧a所选定的参考帧为b1、b2、b3,使用A预测模式和B预测模式进行运动 估计,具体的,采用A预测模式针对视频帧a中的编码块a1,在b1、b2、b3等参考帧中搜索最佳匹配编码块,采用B预测模式针对视频帧a中的编码块 a1,在b1、b2、b3等参考帧中搜索最佳匹配编码块,将两次搜到的最佳匹配编 码块进行比较,确定针对编码块a1的最佳匹配编码块。
运动估计一般包括整像素运动估计、半像素运动估计和1/4像素运动估计 三个步骤,半像素位置和1/4像素位置的像素值是使用原始像素值经过插值算 法计算得到的。目前,1/4像素运动估计的加速是比较重要的一个研究方向。 传统的1/4像素运动估计过程中,以半像素运动估计确定的最佳匹配编码块的 左上角点为搜索的中心点,以该中心点确定一个矩形搜索范围(一般是9×9 个像素点的矩形范围),然后在这个矩形搜索范围内进行1/4像素运动估计。
为了提高视频编码速度,通常会以上述中心点确定一个较小的矩形搜索范 围(如3×3个像素点的矩形范围),可以理解的是,在较小的搜索范围内搜索 可以在一定程度上提高视频编码速度,但是,忽略的一些搜索点可能会导致编 码性能损失较大。
发明内容
本发明实施例的目的在于提供一种运动估计方法、装置、电子设备及存储 介质,以在提高编码速度的基础上,减少编码性能损失。具体技术方案如下:
第一方面,本发明实施例提供了一种运动估计方法,所述方法包括:
读取当前预测模式下针对当前编码块已完成的半像素运动估计结果;
针对所述当前编码块,确定1/4像素搜索范围;
从所述半像素运动估计结果中,获取半像素搜索时各搜索点所对应的失真 代价中的最大值D1,以及最小值D2;
判断所述最大值D1和所述最小值D2是否满足预设第一失真代价条件,其 中,所述预设第一失真代价条件是根据编码性能需求设置的;
当所述最大值D1和所述最小值D2满足所述预设第一失真代价条件时,根 据预设缩小规则,缩小所述1/4像素搜索范围;
根据缩小后的1/4像素搜索范围进行运动估计。
可选的,所述针对所述当前编码块,确定1/4像素搜索范围的步骤,包括:
从所述半像素运动估计结果中,确定最佳匹配编码块;
将所确定的最佳匹配编码块中的左上角点确定为搜索的中心点;
根据所述中心点,确定预设大小的矩形范围,并将所述矩形范围确定为针 对所述当前编码块的1/4像素搜索范围。
可选的,所述判断所述最大值D1和所述最小值D2是否满足预设第一失真 代价条件的步骤,包括:计算所述最大值D1与所述最小值D2的差值△;
获得失真代价差值阈值;
判断所述差值△与所述失真代价差值阈值的大小;如果所述差值△大于所 述失真代价差值阈值,则所述最大值D1与所述最小值D2满足预设第一失真代 价条件;否则,所述最大值D1与所述最小值D2不满足预设第一失真代价条件。
可选的,所述当所述最大值D1和所述最小值D2满足预设第一失真代价条 件时,根据预设缩小规则,缩小所述1/4像素搜索范围的步骤,包括:
读取已完成的预测模式下针对所述当前编码块的第一运动估计结果;从所 述第一运动估计结果中,获取搜索时各搜索点所对应的失真代价中的最小值D3;
判断所述最小值D2和所述最小值D3是否满足预设第二失真代价条件,其 中,所述预设第二失真代价条件是根据编码性能需求设置的;
当所述最大值D1和所述最小值D2满足预设第一失真代价条件,且所述最 小值D2和所述最小值D3满足预设第二失真代价条件时,根据预设缩小规则, 缩小所述1/4像素搜索范围。
可选的,所述判断所述最小值D2和所述最小值D3是否满足预设第二失真 代价条件的步骤,包括:
对所述最小值D3进行归一化处理;
获得比较阈值;
从所述半像素运动估计结果中,获取半像素搜索时各搜索点所对应的失真 代价中的最小值D2;
计算所述比较阈值与所述最小值D2的乘积;
判断所述乘积与归一化后的最小值D3的大小;如果所述乘积大于归一化后 的最小值D3,则所述最小值D2和所述最小值D3满足预设第二失真代价条件; 否则,所述最小值D2和所述最小值D3不满足预设第二失真代价条件。
可选的,所述获得失真代价差值阈值的步骤,包括:
获取所述当前预测模式下的计算参数;
根据所述计算参数计算失真代价差值阈值;
其中,所述计算参数包括以下至少一个:
当前预测模式下的量化参数、当前编码速度级别、当前编码块大小。
可选的,所述获得失真代价差值阈值的步骤,包括:
接收失真代价差值阈值,将所接收的失真代价差值阈值确定为获得的失真 代价差值阈值;
其中,所述失真代价差值阈值是根据以下任意一个对象或任意多个对象设 置的:
当前预测模式下的量化参数、当前编码速度级别、当前编码块大小。
可选的,所述获得比较阈值,包括:
接收比较阈值,将所接收到的比较阈值确定为获得的比较阈值,其中,所 述比较阈值是根据当前编码速度级别设置的。
可选的,所述根据预设缩小规则,缩小所述1/4像素搜索范围的步骤,包括:
根据预设缩小规则,缩小所述1/4像素搜索范围至空;
所述根据缩小后的1/4像素搜索范围进行运动估计的步骤,包括:
将所述半像素运动估计结果确定为所述当前预测模式下针对所述当前编 码块的运动估计结果。
可选的,所述根据预设缩小规则,缩小所述1/4像素搜索范围的步骤,包括:
根据预设缩小规则,缩小所述1/4像素搜索范围至部分搜索点;
所述根据缩小后的1/4像素搜索范围进行运动估计的步骤,包括:
在所述部分搜索点中进行运动估计,获得第二运动估计结果;
根据所述半像素运动估计结果和所述第二运动估计结果,确定所述当前预 测模式下针对所述当前编码块的运动估计结果。
可选的,所述根据预设缩小规则,缩小所述1/4像素搜索范围的步骤,包括:
按照预设的选择方式,选择以下任意一种方式执行:
方式一:根据预设缩小规则,缩小所述1/4像素搜索范围至空;
方式二:根据预设缩小规则,缩小所述1/4像素搜索范围至部分搜索点;
所述根据缩小后的1/4像素搜索范围进行运动估计的步骤,包括:
当缩小后的1/4像素搜索范围为空时,将所述半像素运动估计结果确定为所 述当前预测模式下针对所述当前编码块的运动估计结果;
当缩小后的1/4像素搜索范围仅包含部分搜索点时,在所述部分搜索点中进 行运动估计,获得第二运动估计结果;根据所述半像素运动估计结果和所述第 二运动估计结果,确定所述当前预测模式下针对所述当前编码块的运动估计结 果。
第二方面,本发明实施例提供了一种运动估计装置,所述装置包括:
读取模块,用于读取当前预测模式下针对当前编码块已完成的半像素运动 估计结果;
确定模块,用于针对所述当前编码块,确定1/4像素搜索范围;
获取模块,用于从所述半像素运动估计结果中,获取半像素搜索时各搜索 点所对应的失真代价中的最大值D1,以及最小值D2;
判断模块,用于所述最大值D1和所述最小值D2是否满足预设第一失真代 价条件,其中,所述预设第一失真代价条件是根据编码性能需求设置的;
缩小模块,用于当所述最大值D1和所述最小值D2满足所述预设第一失真 代价条件时,根据预设缩小规则,缩小所述1/4像素搜索范围;
估计模块,用于根据缩小后的1/4像素搜索范围进行运动估计。
可选的,所述确定模块,用于:
从所述半像素运动估计结果中,确定最佳匹配编码块;
将所确定的最佳匹配编码块中的左上角点确定为搜索的中心点;
根据所述中心点,确定预设大小的矩形范围,并将所述矩形范围确定为针 对所述当前编码块的1/4像素搜索范围。
可选的,所述获取模块,用于:
计算所述最大值D1与所述最小值D2的差值△;
获得失真代价差值阈值;
判断所述差值△与所述失真代价差值阈值的大小;如果所述差值△大于所 述失真代价差值阈值,则所述最大值D1与所述最小值D2满足预设第一失真代 价条件;否则,所述最大值D1与所述最小值D2不满足预设第一失真代价条件。
可选的,所述缩小模块,用于:
读取已完成的预测模式下针对所述当前编码块的第一运动估计结果;从所 述第一运动估计结果中,获取搜索时各搜索点所对应的失真代价中的最小值D3;
判断所述最小值D2和所述最小值D3是否满足预设第二失真代价条件,其 中,所述预设第二失真代价条件是根据编码性能需求设置的;
当所述最大值D1和所述最小值D2满足预设第一失真代价条件,且所述最 小值D2和所述最小值D3满足预设第二失真代价条件时,根据预设缩小规则, 缩小所述1/4像素搜索范围。
可选的,所述缩小模块用于判断所述最小值D2和所述最小值D3是否满足 预设第二失真代价条件时,用于:
所述判断所述最小值D2和所述最小值D3是否满足预设第二失真代价条件 的步骤,包括:
对所述最小值D3进行归一化处理;
获得比较阈值;
从所述半像素运动估计结果中,获取半像素搜索时各搜索点所对应的失真 代价中的最小值D2;
计算所述比较阈值与所述最小值D2的乘积;
判断所述乘积与归一化后的最小值D3的大小;如果所述乘积大于归一化后 的最小值D3,则所述最小值D2和所述最小值D3满足预设第二失真代价条件; 否则,所述最小值D2和所述最小值D3不满足预设第二失真代价条件。
可选的,所述获取模块用于获得失真代价差值阈值时,用于:
获取所述当前预测模式下的计算参数;
根据所述计算参数计算失真代价差值阈值;
其中,所述计算参数包括以下至少一个:
当前预测模式下的量化参数、当前编码速度级别、当前编码块大小。
可选的,所述获取模块用于获得失真代价差值阈值时,用于:
接收失真代价差值阈值,将所接收的失真代价差值阈值确定为获得的失真 代价差值阈值;
其中,所述失真代价差值阈值是根据以下任意一个对象或任意多个对象设 置的:
当前预测模式下的量化参数、当前编码速度级别、当前编码块大小。
可选的,所述缩小模块用于获得比较阈值时,用于:
接收比较阈值,将所接收到的比较阈值确定为获得的比较阈值,其中,所 述比较阈值是根据当前编码速度级别设置的。
可选的,缩小模块用于:
根据预设缩小规则,缩小所述1/4像素搜索范围至空;
所述根据缩小后的1/4像素搜索范围进行运动估计的步骤,包括:
将所述半像素运动估计结果确定为所述当前预测模式下针对所述当前编 码块的运动估计结果。
可选的,缩小模块用于:
根据预设缩小规则,缩小所述1/4像素搜索范围至部分搜索点;
所述根据缩小后的1/4像素搜索范围进行运动估计的步骤,包括:
在所述部分搜索点中进行运动估计,获得第二运动估计结果;
根据所述半像素运动估计结果和所述第二运动估计结果,确定所述当前预 测模式下针对所述当前编码块的运动估计结果。
可选的,缩小模块用于:
按照预设的选择方式,选择以下任意一种方式执行:
方式一:根据预设缩小规则,缩小所述1/4像素搜索范围至空;
方式二:根据预设缩小规则,缩小所述1/4像素搜索范围至部分搜索点;
所述估计模块,用于:
当缩小后的1/4像素搜索范围为空时,将所述半像素运动估计结果确定为所 述当前预测模式下针对所述当前编码块的运动估计结果;
当缩小后的1/4像素搜索范围仅包含部分搜索点时,在所述部分搜索点中进 行运动估计,获得第二运动估计结果;根据所述半像素运动估计结果和所述第 二运动估计结果,确定所述当前预测模式下针对所述当前编码块的运动估计结 果。
第三方面,本发明实施例提供了一种电子设备,其特征在于,包括处理器 和存储器,其中:
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一运动估计方法 所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于, 该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实 现上述任一运动估计方法所述的方法步骤。
第五方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在 计算机上运行时,使得计算机执行上述任一运动估计方法所述的方法步骤。
第六方面,本发明实施例提供了一种计算机程序,当其在计算机上运行时, 使得计算机执行上述任一运动估计方法所述的方法步骤。
本发明实施例提供的一种运动估计方法、装置、电子设备及存储介质,其 中,方法包括:读取当前预测模式下针对当前编码块已完成的半像素运动估计 结果;针对当前编码块,确定1/4像素搜索范围;从半像素运动估计结果中,获 取半像素搜索时各搜索点所对应的失真代价中的最大值D1,以及最小值D2; 判断最大值D1和最小值D2是否满足预设第一失真代价条件,其中,预设第一 失真代价条件是根据编码性能需求设置的;当最大值D1和最小值D2满足预设 第一失真代价条件时,根据预设缩小规则,缩小1/4像素搜索范围;根据缩小后 的1/4像素搜索范围进行运动估计。通过预设第一失真代价条件对已完成的半像 素运动估计结果所包含的各搜索点所对应的失真代价中的最大值D1,以及最小 值D2进行预先审核,对于满足预设第一失真代价条件的情况,根据缩小后的1/4 像素搜索范围进行运动估计,可以提高编码速度,同时,又保证了一定的编码 性能;对于不满足预设第一失真代价条件的情况,可以根据原来的1/4像素搜索 范围进行运动估计,这样可以进一步保证编码性能。因此,采用这种自适应的 方式进行运动估计,可以在提高编码速度的基础上,减少编码性能的损失。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所 有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种运动估计方法的流程示意图;
图2为本发明实施例中确定1/4像素搜索范围步骤的流程示意图;
图3为发明实施例中1/4像素搜索范围的示意图;
图4为本发明实施例中判断最大值D1和最小值D2是否满足预设第一失真 代价条件步骤的一种流程示意图;
图5为本发明实施例中当最大值D1和最小值D2是否满足预设第一失真代 价条件时,缩小1/4像素搜索范围步骤的一种流程示意图;
图6为本发明实施例提供的一种运动估计装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
现有技术中,直接通过确定较小搜索范围进行1/4像素运动估计,虽然可 以提高编码速度,但是会导致编码性能损失较大。为了解决该技术问题,本发 明实施例提供了一种运动估计方法、装置、电子设备及存储介质。
在对本发明实施例提出的一种运动估计方法、装置、电子设备及存储介质 进行详细介绍之前,先对本文涉及的部分现有技术进行简单介绍。
视频帧:视频中的图像又称为视频帧,视频帧类型包括三种:I帧、P帧 和B帧;
其中,I帧:I帧中所有编码块的编码都使用帧内预测,编解码时使用本帧 数据就可以重构完整图像;P帧:参考前面的已经编码且已经重构的视频帧进 行编码,前面的是指按照显示顺序,在当前P帧之前的;B帧:参考前面的和 后面的已经编码且已重构的视频帧进行编码,前面的是指按照显示顺序,在当 前B帧之前的,后面的是指按照显示顺序,在当前B帧之后的。
P帧和B帧较I帧具有更好的压缩性能,视频编码中的预测技术一般分为 两类预测模式,一类是帧内预测模式,一类是帧间预测模式,其中,帧间预测 模式还可以包括合并模式、inter2Nx2N模式、interNx2N模式等。帧间预测可 以减少时域冗余,利用相邻视频帧之间的相关性进行预测编码,当前待编码的 视频帧使用其它已经编码并已重构的图像作为参考帧;针对当前编码块,在其 所属的视频帧的参考帧中,搜索最佳匹配编码块作为预测值,根据预测值对当 前编码块进行编码。
自H261视频编码标准以来,主流的视频编码标准均采用“基于块的预测和 变换”的混合编码框架。具体的,从若干预测模式中,选择最优的一种预测模 式,对输入的视频信号进行预测,得到预测信号;将预测信号与原始信号做差, 得到残差信号;对残差信号进行变换、量化处理后,再通过商编码器进行编码, 最终输出码流。由此可知,通过视频编码可以减小传输带宽和存储空间。
下面首先对本发明实施例提出的一种运动估计方法进行介绍。
参照图1,本发明实施例提供的运动估计方法,包括如下步骤:
S101、读取当前预测模式下针对当前编码块已完成的半像素运动估计结果。
在编码过程中,需要对视频帧进行块的划分,当前编码块是指当前处于编 码中的块。这里的半像素运动估计结果是指在当前预测模式下,针对当前编码 块,进行了整像素运动估计和半像素运动估计后得到的估计结果。
半像素运动估计结果具体可以包括:半像素搜索时搜索点所对应的失真代 价、确定的最佳匹配编码块等等结果。
S102、针对当前编码块,确定1/4像素搜索范围。
1/4像素搜索范围是指进行1/4像素运动估计时,用于1/4像素搜索且由1/4 像素点组成的搜索范围。参照图2,本步骤可以包括S201-S203三个子步骤,具 体如下:
S201、从半像素运动估计结果中,确定最佳匹配编码块;
当前预测模式下,首先进行整像素运动估计,再进行半像素运动估计,此 时,获得的最佳匹配编码块是进行整像素搜索和半像素搜索后,将两次获得的 搜索结果进行比较后所确定的最佳匹配编码块。也就是说,这里的最佳匹配编 码块可以是整像素搜索时获得的,也可以是半像素搜索时获得的。
S202、将所确定的最佳匹配编码块中的左上角点确定为搜索的中心点;
一般可以将最佳匹配编码块中左上角的一个像素点确定为搜索的中心点, 也可以作为搜索的起始点。如图3所示,针对一个2×2的当前编码块,半像 素运动估计时确定一个最佳匹配编码块,可以确定这个最佳匹配编码块上的左 上角点为中心点,图3中的O点是中心点。
S203、根据该中心点,确定预设大小的矩形范围,并将矩形范围确定为针 对当前编码块的1/4像素搜索范围。
预设大小可以是本领域技术人员根据实际经验来设置的,如图3中所示的 9×9的矩形范围,图3中显示的是1/4像素点,当然,这里对预设大小不做具体 限定。
S103、从半像素运动估计结果中,获取半像素搜索时各搜索点所对应的失 真代价中的最大值D1,以及最小值D2。
半像素搜索时各搜索点是指半像素搜索时在所使用的搜索范围内各个用 于搜索的半像素位置。进行半像素运动估计后,针对每个搜索点都会得到一个 失真代价,最大值D1是这些失真代价中的最大值,最小值D2是指这些失真代 价中的最小值。
S104、判断最大值D1和最小值D2是否满足预设第一失真代价条件,其中, 预设第一失真代价条件是根据编码性能需求设置的。
参照图4,S104可以按照以下方式实现:
S1041、计算最大值D1与最小值D2的差值△;
可以用最大值D1减去最小值D2获得差值△。
S1042、获得失真代价差值阈值;
本步骤中的失真代价差值阈值可以是人为设置并预先输入的,也可以是其 他设备发送来的。在本实施方式中,本步骤可以包括:
(1)、接收失真代价差值阈值;
(2)、将所接收的失真代价差值阈值确定为获得的失真代价差值阈值;
其中,失真代价差值阈值是根据以下任意一个对象或任意多个对象设置的: 当前预测模式下的量化参数、当前编码速度级别、当前编码块大小。当前预测 模式下的量化参数越大/越小,可以对应的将失真差值阈值设置的越大/越小; 当前编码速度级别越快/越慢,可以对应的将失真差值阈值设置的越大/越小; 当前编码块大小越大/越小,可以对应的将失真差值阈值设置的越大/越小。
当然,在其他实施方式中,本步骤可以包括:
(1)、获取当前预测模式下的计算参数;
(2)、根据计算参数计算失真代价差值阈值;
其中,计算参数可以包括以下至少一个:量化参数、当前编码速度级别、 当前编码块大小。具体的,使用SAD来计算失真差值阈值,计算公式为((iWidth *iHeight)*iAmvqThreshold)>>3,其中,iWidth和iHeight是当前编码块的宽度 和高度,iAmvqThreshold是跟当前编码速度级别相关的参数,如最快档次下设 置iAmvqThreshold超过50。
S1043、判断差值△与失真代价差值阈值的大小;
如果差值△大于失真代价差值阈值,则最大值D1和最小值D2满足预设第 一失真代价条件;否则,最大值D1和最小值D2不满足预设第一失真代价条件, 也就是说,如果差值△不大于失真代价差值阈值,则最大值D1和最小值D2不 满足预设第一失真代价条件。
S105、当最大值D1和最小值D2满足预设第一失真代价条件时,根据预设 缩小规则,缩小1/4像素搜索范围。
需要说明的是,编码性能是一个综合的概念,与编码后的视频质量和压缩 码率相关,同等视频质量,压缩码率越小,编码性能越好;同等压缩码率,视 频质量越好,编码性能越好。
为了方便失真代价的计算,在预测时一般使用原始值与预测值的差值作为 失真代价,失真代价在一定程度上能够反映编码性能的好坏。由于预设第一失 真代价条件是根据编码性能需求设置的,因此,通过对失真代价的审核,可以 确定已经进行的运动估计是否可以保证一定的编码性能。也就是说,如果半像 素运动估计结果所包含的失真代价中的最大值D1和最小值D2满足预设第一失 真代价条件,代表已经进行的运动估计具有一定的编码性能。预设第一失真代 价条件的具体内容可以是根据经验设置的,也可以是根据实验获得的。预设第 一失真代价条件可以为一个对于失真代价大小进行限制的不等式,例如,失真 代价小于失真代价阈值,或最大失真代价与最小失真代价的差值大于失真差值 阈值等。具体判断时,可以通过判断失真代价是否满足预设第一失真代价条件 对应的不等式来实现。
本实施例中,可以根据预设第一失真代价条件来自适应的调整搜索范围, 可以设置不同的预设缩小规则,以实现不同方式的缩小。
本发明实施例中的一种实施方式中,S105可以包括:缩小1/4像素搜索范 围至空。
搜索范围缩小为空,也就是说当前预测模式下,之前已进行的运动估计可 以保证一定的编码性能,因此,针对当前编码块,不再进行1/4像素运动估计, 不仅可以更大程度地提高编码速度,也可以保证一定的编码性能。具体应用时, 可以直接跳过1/4像素搜索来实现本步骤。
本发明实施例中的另一种实施方式中,S105可以包括:缩小1/4像素搜索 范围至部分搜索点。
搜索范围缩小为部分搜索点,也就是说当前预测模式下,之前已进行的运 动估计可以保证一定的编码性能,因此,针对当前编码块,用于进行1/4像素运 动估计搜索范围缩小了部分,不仅可以更大程度地提高编码速度,也可以保证 一定的编码性能。例如:可以从原来的1/4像素搜索范围中,任选一些搜索点组 成缩小后的1/4像素搜索范围,也可以以原来的1/4像素搜索范围的中心点为中 心,确定一个包括较少搜索点的矩形搜索范围,当然,还可以以原来的1/4像素 搜索范围的中心点为中心,确定一个包括较少搜索点的菱形搜索范围。
本发明实施例中的另一种实施方式中,S105可以包括:
按照预设的选择方式,选择以下任意一种方式执行:
方式一:缩小1/4像素搜索范围至空;
方式二:缩小1/4像素搜索范围至部分搜索点。
其中,预设的选择方式可以是根据实际需求进行设置的,例如,可以随机 的选择,也可以根据当前编码块所属的视频帧的参考帧的数量来设置。其中, 根据当前编码块所属的视频帧的参考帧的数量来设置:可以设置一个数量阈值, 当超过了这个数量阈值,说明参考帧的数量多,可以对应选择方式一,没有超 过数量阈值,说明参考帧的数量少,可以对应选择方式二。具体采用什么样的 选择方式,在此不做具体限定。
按照预设的选择方式来选择缩小方式,可以自适应的调整1/4像素搜索范围, 相比于上述两种采用单一方式来调整1/4像素搜索范围的情况,可以更大程度的 兼顾编码速度的提高和保证一定的编码性能。
示例性的,如图3所示,确定了一个9×9的矩形范围,可以设置预设缩小规 则为:将该范围缩小至空。也可以设置预设缩小规则为:以O点为中心点,缩 小至8×8的矩形范围,或其他较小尺寸的矩形范围。当然,还可以设置预设缩 小规则为:以O点为中心,缩小至9×9的矩形范围内的最大菱形范围。
S106、根据缩小后的1/4像素搜索范围进行运动估计。
在S105包括“缩小1/4像素搜索范围至空”的情况下,S106可以包括:将 当前预测模式下的半像素运动估计结果确定为当前预测模式下针对当前编码 块的运动估计结果。
在S105包括“缩小1/4像素搜索范围至部分搜索点”的情况下,S106可以 包括:在部分搜索点中进行运动估计,获得第二运动估计结果;根据半像素运 动估计结果和第二运动估计结果,确定当前预测模式下针对当前编码块的运动 估计结果。具体的,可以将两者的运动估计结果进行比较,选择较优的一个作 为当前预测模式下针对当前编码块的运动估计结果。
在S105包括“按照预设的选择方式,选择以下任意一种方式执行:方式一: 缩小1/4像素搜索范围至空;方式二:缩小1/4像素搜索范围至部分搜索点”的 情况下,S106可以包括:
当缩小后的1/4像素搜索范围为空时,将半像素运动估计结果确定为当前预 测模式下针对当前编码块的运动估计结果;
当缩小后的1/4像素搜索范围仅包含部分搜索点时,在部分搜索点中进行运 动估计,获得第二运动估计结果;根据半像素运动估计结果和第二运动估计结 果,确定当前预测模式下针对当前编码块的运动估计结果。
本发明实施例的一种实施方式中,当最大值D1和最小值D2满足预设第一 失真代价条件时,可以根据1/4像素搜索范围进行运动估计。针对半像素运动估 计结果所包含的失真代价中的最大值D1和最小值D2不满足预设第一失真代价 条件即不满足编码性能需求的情况,通过进一步的1/4像素运动估计,可以进一 步保证编码性能。
应用图1所示实施例,通过预设第一失真代价条件对已完成的半像素运动 估计结果所包含的失真代价中最大值D1和最小值D2进行预先审核,对于满足 预设第一失真代价条件的情况,根据缩小后的1/4像素搜索范围进行运动估计, 可以提高编码速度,同时,又保证了一定的编码性能;对于不满足预设第一失 真代价条件的情况,可以根据原来的1/4像素搜索范围进行运动估计,这样可以 进一步保证编码性能。因此,采用这种自适应的方式进行运动估计,可以在提 高编码速度的基础上,减少编码性能的损失。
本发明实施例的一种实施方式中,参照图5,S105、当最大值D1和最小值D2 是否满足预设第一失真代价条件时,缩小1/4像素搜索范围具体可以按照以下步 骤实现:
S1051、读取已完成的预测模式下针对当前编码块的第一运动估计结果; 从第一运动估计结果中,获取搜索时各搜索点所对应的失真代价中的最小值D3。
S1052、判断最小值D2和最小值D3是否满足预设第二失真代价条件,其中, 预设第二失真代价条件是根据编码性能需求设置的。
S1503、当最大值D1和最小值D2满足预设第一失真代价条件,且最小值D2 和最小值D3满足预设第二失真代价条件时,根据预设缩小规则,缩小1/4像素 搜索范围。
在缩小1/4像素搜索范围后,继续执行S106。当最大值D1和最小值D2不满 足预设第一失真代价条件,或最小值D2和最小值D3不满足预设第二失真代价 条件时,可以执行根据1/4像素搜索范围进行运动估计。
进一步的,判断最小值D2和最小值D3是否满足预设第二失真代价条件的 步骤,包括:
(1)、对最小值D3进行归一化处理。
例如,当前预测模式下,当前编码块的大小是8×8,第一运动估计结果是 合并模式下的运动估计结果,合并模式下,当前编码块的大小是4×8,需要将 合并模式下的最小值D3乘以2,以完成归一化操作。
(2)、获得比较阈值。
本步骤可以包括:
首先,接收比较阈值;其中,比较阈值是根据当前编码速度级别设置的。 该比较阈值小于等于1,其大小跟当前编码速度级别有关,当前编码速度级别 越快/越慢,设置该比较阈值越小/越大,在最快档次下,可以设置比较阈值为 0.9。
其次,将所接收到的比较阈值确定为获得的比较阈值。
(3)、从半像素运动估计结果中,获取半像素搜索时各搜索点所对应的失 真代价中的最小值D2;
(4)、计算比较阈值与最小值D2的乘积;
(5)、判断乘积与归一化后的最小值D3的大小;如果乘积大于归一化后的 最小值D3,则最小值D2和最小值D3满足预设第二失真代价条件;否则,最小 值D2和最小值D3不满足预设第二失真代价条件。也就是说,如果乘积不大于 归一化后的最小值D3,则最小值D2和最小值D3不满足预设第二失真代价条件。
示例性的,基于上述运动估计方法,进行实验,实验结果如表一所示,从 表一中可以看出,针对不同类型的视频进行编码,平均可以实现超过1%的加 速。同时,针对不同类型的视频编码,编码性能有所提升。
表一
相应的,基于上述运动估计方法,本发明实施例提高的一种运动估计装置, 下面将对该运动装置进行详细介绍。
参照图6,本发明实施例提供的运动估计装置包括:
读取模块61,用于读取当前预测模式下针对当前编码块已完成的半像素运 动估计结果;
确定模块62,用于针对当前编码块,确定1/4像素搜索范围;
获取模块63,用于从半像素运动估计结果中,获取半像素搜索时各搜索点 所对应的失真代价中的最大值D1,以及最小值D2;
判断模块64,用于最大值D1和最小值D2是否满足预设第一失真代价条件, 其中,预设第一失真代价条件是根据编码性能需求设置的;
缩小模块65,用于当最大值D1和最小值D2满足预设第一失真代价条件时, 根据预设缩小规则,缩小1/4像素搜索范围;
估计模块66,用于根据缩小后的1/4像素搜索范围进行运动估计。
本发明实施例的一种实施方式中,确定模块62,用于:
从半像素运动估计结果中,确定最佳匹配编码块;
将所确定的最佳匹配编码块中的左上角点确定为搜索的中心点;
根据中心点,确定预设大小的矩形范围,并将矩形范围确定为针对当前编 码块的1/4像素搜索范围。
本发明实施例的一种实施方式中,获取模块63,用于:
计算最大值D1与最小值D2的差值△;
获得失真代价差值阈值;
判断差值△与失真代价差值阈值的大小;如果差值△大于失真代价差值阈 值,则最大值D1与最小值D2满足预设第一失真代价条件;否则,最大值D1与 最小值D2不满足预设第一失真代价条件。
本发明实施例的一种实施方式中,缩小模块65,用于:
读取已完成的预测模式下针对当前编码块的第一运动估计结果;从第一运 动估计结果中,获取搜索时各搜索点所对应的失真代价中的最小值D3;
判断最小值D2和最小值D3是否满足预设第二失真代价条件,其中,预设 第二失真代价条件是根据编码性能需求设置的;
当最大值D1和最小值D2满足预设第一失真代价条件,且最小值D2和最小 值D3满足预设第二失真代价条件时,根据预设缩小规则,缩小1/4像素搜索范 围。
本发明实施例的一种实施方式中,缩小模块65用于判断最小值D2和最小值 D3是否满足预设第二失真代价条件时,用于:
判断最小值D2和最小值D3是否满足预设第二失真代价条件的步骤,包括:
对最小值D3进行归一化处理;
获得比较阈值;
从半像素运动估计结果中,获取半像素搜索时各搜索点所对应的失真代价 中的最小值D2;
计算比较阈值与最小值D2的乘积;
判断乘积与归一化后的最小值D3的大小;如果乘积大于归一化后的最小值 D3,则最小值D2和最小值D3满足预设第二失真代价条件;否则,最小值D2和 最小值D3不满足预设第二失真代价条件。
本发明实施例的一种实施方式中,获取模块63用于获得失真代价差值阈值 时,用于:
获取当前预测模式下的计算参数;
根据计算参数计算失真代价差值阈值;
其中,计算参数包括以下至少一个:
当前预测模式下的量化参数、当前编码速度级别、当前编码块大小。
本发明实施例的一种实施方式中,获取模块63用于获得失真代价差值阈值 时,用于:
接收失真代价差值阈值,将所接收的失真代价差值阈值确定为获得的失真 代价差值阈值;
其中,失真代价差值阈值是根据以下任意一个对象或任意多个对象设置的:
当前预测模式下的量化参数、当前编码速度级别、当前编码块大小。
本发明实施例的一种实施方式中,缩小模块65用于获得比较阈值时,用于:
接收比较阈值,将所接收到的比较阈值确定为获得的比较阈值,其中,比 较阈值是根据当前编码速度级别设置的。
本发明实施例的一种实施方式中,缩小模块65用于:
根据预设缩小规则,缩小1/4像素搜索范围至空;
根据缩小后的1/4像素搜索范围进行运动估计的步骤,包括:
将半像素运动估计结果确定为当前预测模式下针对当前编码块的运动估 计结果。
本发明实施例的一种实施方式中,缩小模块65用于:
根据预设缩小规则,缩小1/4像素搜索范围至部分搜索点;
根据缩小后的1/4像素搜索范围进行运动估计的步骤,包括:
在部分搜索点中进行运动估计,获得第二运动估计结果;
根据半像素运动估计结果和第二运动估计结果,确定当前预测模式下针对 当前编码块的运动估计结果。
本发明实施例的一种实施方式中,缩小模块65用于:
按照预设的选择方式,选择以下任意一种方式执行:
方式一:根据预设缩小规则,缩小1/4像素搜索范围至空;
方式二:根据预设缩小规则,缩小1/4像素搜索范围至部分搜索点;
估计模块66,用于:
当缩小后的1/4像素搜索范围为空时,将半像素运动估计结果确定为当前预 测模式下针对当前编码块的运动估计结果;
当缩小后的1/4像素搜索范围仅包含部分搜索点时,在部分搜索点中进行运 动估计,获得第二运动估计结果;根据半像素运动估计结果和第二运动估计结 果,确定当前预测模式下针对当前编码块的运动估计结果。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器210和存储 器220,其中,
存储器220,用于存放计算机程序;
处理器210,用于执行存储器220上所存放的程序时,实现上述实施例中任 一的运动估计方法,在本发明的一个实施例中,可以实现如下步骤:
读取当前预测模式下针对当前编码块已完成的半像素运动估计结果;
针对当前编码块,确定1/4像素搜索范围;
从半像素运动估计结果中,获取半像素搜索时各搜索点所对应的失真代价 中的最大值D1,以及最小值D2;
判断最大值D1和最小值D2是否满足预设第一失真代价条件,其中,预设 第一失真代价条件是根据编码性能需求设置的;
当最大值D1和最小值D2满足预设第一失真代价条件时,根据预设缩小规 则,缩小1/4像素搜索范围;
根据缩小后的1/4像素搜索范围进行运动估计。
关于该方法各个步骤的具体实现以及相关解释内容可以参见上述图1所示 的方法实施例,在此不做赘述。
另外,处理器210执行存储器220上所存放的程序而实现的应用设置方法的 其它实现方式,与前述方法实施例部分所提及的实现方式相同,这里也不再赘 述。
上述电子设备可以具备有实现上述电子设备与其它设备之间通信的通信 接口。
上述的处理器210,通信接口,存储器220通过通信总线完成相互间的通信, 此处所提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制 总线等。
存储器220可以包括随机存取存储器(Random Access Memory,RAM), 也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁 盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器210可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处 理器(DigitalSignal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array, FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组 件。
应用本发明实施例提供的电子设备,通过预设第一失真代价条件对已完成 的半像素运动估计结果所包含的各搜索点所对应的失真代价中的最大值D1,以 及最小值D2进行预先审核,对于满足预设第一失真代价条件的情况,根据缩小 后的1/4像素搜索范围进行运动估计,可以提高编码速度,同时,又保证了一定 的编码性能;对于不满足预设第一失真代价条件的情况,可以根据原来的1/4 像素搜索范围进行运动估计,这样可以进一步保证编码性能。因此,采用这种 自适应的方式进行运动估计,可以在提高编码速度的基础上,减少编码性能的 损失。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计 算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上 述实施例中任一的运动估计方法。
应用本发明实施例提供的计算机可读存储介质,通过预设第一失真代价条 件对已完成的半像素运动估计结果所包含的各搜索点所对应的失真代价中的 最大值D1,以及最小值D2进行预先审核,对于满足预设第一失真代价条件的 情况,根据缩小后的1/4像素搜索范围进行运动估计,可以提高编码速度,同时, 又保证了一定的编码性能;对于不满足预设第一失真代价条件的情况,可以根 据原来的1/4像素搜索范围进行运动估计,这样可以进一步保证编码性能。因此, 采用这种自适应的方式进行运动估计,可以在提高编码速度的基础上,减少编 码性能的损失。
在本发明提供的再一实施例中,还提供了一种包含指令的计算机程序产品, 当其在计算机上运行时,使得计算机执行上述任一运动估计方法的方法步骤。
应用本发明实施例提供的计算机程序产品,通过预设第一失真代价条件对 已完成的半像素运动估计结果所包含的各搜索点所对应的失真代价中的最大 值D1,以及最小值D2进行预先审核,对于满足预设第一失真代价条件的情况, 根据缩小后的1/4像素搜索范围进行运动估计,可以提高编码速度,同时,又保 证了一定的编码性能;对于不满足预设第一失真代价条件的情况,可以根据原 来的1/4像素搜索范围进行运动估计,这样可以进一步保证编码性能。因此,采 用这种自适应的方式进行运动估计,可以在提高编码速度的基础上,减少编码 性能的损失。
在本发明提供的再一实施例中,还提供了一种计算机程序,当其在计算机 上运行时,使得计算机执行上述任一运动估计方法的方法步骤。
应用本发明实施例提供的计算机程序,通过预设第一失真代价条件对已完 成的半像素运动估计结果所包含的各搜索点所对应的失真代价中的最大值D1, 以及最小值D2进行预先审核,对于满足预设第一失真代价条件的情况,根据缩 小后的1/4像素搜索范围进行运动估计,可以提高编码速度,同时,又保证了一 定的编码性能;对于不满足预设第一失真代价条件的情况,可以根据原来的1/4 像素搜索范围进行运动估计,这样可以进一步保证编码性能。因此,采用这种 自适应的方式进行运动估计,可以在提高编码速度的基础上,减少编码性能的 损失。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些 实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包 含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素 的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的 其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在 没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包 括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相 似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。 尤其,对于装置、系统、电子设备、计算机可读存储介质、计算机程序产品以 及计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简 单,相关之处参见方法实施例的部分说明即可。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡 在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本 发明的保护范围内。
Claims (14)
1.一种运动估计方法,其特征在于,所述方法包括:
读取当前预测模式下针对当前编码块已完成的半像素运动估计结果;
针对所述当前编码块,确定1/4像素搜索范围;
从所述半像素运动估计结果中,获取半像素搜索时各搜索点所对应的失真代价中的最大值D1,以及最小值D2;
判断所述最大值D1和所述最小值D2是否满足预设第一失真代价条件,其中,所述预设第一失真代价条件是根据编码性能需求设置的;
当所述最大值D1和所述最小值D2满足所述预设第一失真代价条件时,根据预设缩小规则,缩小所述1/4像素搜索范围;
根据缩小后的1/4像素搜索范围进行运动估计;
所述判断所述最大值D1和所述最小值D2是否满足预设第一失真代价条件的步骤,包括:
计算所述最大值D1与所述最小值D2的差值△;
获得失真代价差值阈值;
判断所述差值△与所述失真代价差值阈值的大小;如果所述差值△大于所述失真代价差值阈值,则所述最大值D1与所述最小值D2满足预设第一失真代价条件;否则,所述最大值D1与所述最小值D2不满足预设第一失真代价条件。
2.根据权利要求1所述的方法,其特征在于,所述针对所述当前编码块,确定1/4像素搜索范围的步骤,包括:
从所述半像素运动估计结果中,确定最佳匹配编码块;
将所确定的最佳匹配编码块中的左上角点确定为搜索的中心点;
根据所述中心点,确定预设大小的矩形范围,并将所述矩形范围确定为针对所述当前编码块的1/4像素搜索范围。
3.根据权利要求1所述的方法,其特征在于,所述当所述最大值D1和所述最小值D2满足预设第一失真代价条件时,根据预设缩小规则,缩小所述1/4像素搜索范围的步骤,包括:
读取已完成的预测模式下针对所述当前编码块的第一运动估计结果;从所述第一运动估计结果中,获取搜索时各搜索点所对应的失真代价中的最小值D3;
判断所述最小值D2和所述最小值D3是否满足预设第二失真代价条件,其中,所述预设第二失真代价条件是根据编码性能需求设置的;
当所述最大值D1和所述最小值D2满足预设第一失真代价条件,且所述最小值D2和所述最小值D3满足预设第二失真代价条件时,根据预设缩小规则,缩小所述1/4像素搜索范围。
4.根据权利要求3所述的方法,其特征在于,
所述判断所述最小值D2和所述最小值D3是否满足预设第二失真代价条件的步骤,包括:
对所述最小值D3进行归一化处理;
获得比较阈值;
从所述半像素运动估计结果中,获取半像素搜索时各搜索点所对应的失真代价中的最小值D2;
计算所述比较阈值与所述最小值D2的乘积;
判断所述乘积与归一化后的最小值D3的大小;如果所述乘积大于归一化后的最小值D3,则所述最小值D2和所述最小值D3满足预设第二失真代价条件;否则,所述最小值D2和所述最小值D3不满足预设第二失真代价条件。
5.根据权利要求1所述的方法,其特征在于,所述获得失真代价差值阈值的步骤,包括:
获取所述当前预测模式下的计算参数;
根据所述计算参数计算失真代价差值阈值;
其中,所述计算参数包括以下至少一个:
当前预测模式下的量化参数、当前编码速度级别、当前编码块大小。
6.根据权利要求1所所述的方法,其特征在于,所述获得失真代价差值阈值的步骤,包括:
接收失真代价差值阈值,将所接收的失真代价差值阈值确定为获得的失真代价差值阈值;
其中,所述失真代价差值阈值是根据以下任意一个对象或任意多个对象设置的:
当前预测模式下的量化参数、当前编码速度级别、当前编码块大小。
7.根据权利要求4所述的方法,其特征在于,所述获得比较阈值,包括:
接收比较阈值,将所接收到的比较阈值确定为获得的比较阈值,其中,所述比较阈值是根据当前编码速度级别设置的。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述根据预设缩小规则,缩小所述1/4像素搜索范围的步骤,包括:
根据预设缩小规则,缩小所述1/4像素搜索范围至空;
所述根据缩小后的1/4像素搜索范围进行运动估计的步骤,包括:
将所述半像素运动估计结果确定为所述当前预测模式下针对所述当前编码块的运动估计结果。
9.根据权利要求1-7任一项所述的方法,其特征在于,所述根据预设缩小规则,缩小所述1/4像素搜索范围的步骤,包括:
根据预设缩小规则,缩小所述1/4像素搜索范围至部分搜索点;
所述根据缩小后的1/4像素搜索范围进行运动估计的步骤,包括:
在所述部分搜索点中进行运动估计,获得第二运动估计结果;
根据所述半像素运动估计结果和所述第二运动估计结果,确定所述当前预测模式下针对所述当前编码块的运动估计结果。
10.根据权利要求1-7任一项所述的方法,其特征在于,所述根据预设缩小规则,缩小所述1/4像素搜索范围的步骤,包括:
按照预设的选择方式,选择以下任意一种方式执行:
方式一:根据预设缩小规则,缩小所述1/4像素搜索范围至空;
方式二:根据预设缩小规则,缩小所述1/4像素搜索范围至部分搜索点;
所述根据缩小后的1/4像素搜索范围进行运动估计的步骤,包括:
当缩小后的1/4像素搜索范围为空时,将所述半像素运动估计结果确定为所述当前预测模式下针对所述当前编码块的运动估计结果;
当缩小后的1/4像素搜索范围仅包含部分搜索点时,在所述部分搜索点中进行运动估计,获得第二运动估计结果;根据所述半像素运动估计结果和所述第二运动估计结果,确定所述当前预测模式下针对所述当前编码块的运动估计结果。
11.一种运动估计装置,其特征在于,所述装置包括:
读取模块,用于读取当前预测模式下针对当前编码块已完成的半像素运动估计结果;
确定模块,用于针对所述当前编码块,确定1/4像素搜索范围;
获取模块,用于从所述半像素运动估计结果中,获取半像素搜索时各搜索点所对应的失真代价中的最大值D1,以及最小值D2;
判断模块,用于所述最大值D1和所述最小值D2是否满足预设第一失真代价条件,其中,所述预设第一失真代价条件是根据编码性能需求设置的;
缩小模块,用于当所述最大值D1和所述最小值D2满足所述预设第一失真代价条件时,根据预设缩小规则,缩小所述1/4像素搜索范围;
估计模块,用于根据缩小后的1/4像素搜索范围进行运动估计;
所述判断模块用于:
计算所述最大值D1与所述最小值D2的差值△;
获得失真代价差值阈值;
判断所述差值△与所述失真代价差值阈值的大小;如果所述差值△大于所述失真代价差值阈值,则所述最大值D1与所述最小值D2满足预设第一失真代价条件;否则,所述最大值D1与所述最小值D2不满足预设第一失真代价条件。
12.根据权利要求11所述的装置,其特征在于,所述缩小模块用于:
读取已完成的预测模式下针对所述当前编码块的第一运动估计结果;从所述第一运动估计结果中,获取搜索时各搜索点所对应的失真代价中的最小值D3;
判断所述最小值D2和所述最小值D3是否满足预设第二失真代价条件,其中,所述预设第二失真代价条件是根据编码性能需求设置的;
当所述最大值D1和所述最小值D2满足预设第一失真代价条件,且所述最小值D2和所述最小值D3满足预设第二失真代价条件时,根据预设缩小规则,缩小所述1/4像素搜索范围。
13.一种电子设备,其特征在于,包括处理器和存储器,其中:
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-10任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811289840.9A CN109544591B (zh) | 2018-10-31 | 2018-10-31 | 一种运动估计方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811289840.9A CN109544591B (zh) | 2018-10-31 | 2018-10-31 | 一种运动估计方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109544591A CN109544591A (zh) | 2019-03-29 |
CN109544591B true CN109544591B (zh) | 2021-05-28 |
Family
ID=65846293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811289840.9A Active CN109544591B (zh) | 2018-10-31 | 2018-10-31 | 一种运动估计方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109544591B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022088033A1 (zh) * | 2020-10-30 | 2022-05-05 | 深圳市大疆创新科技有限公司 | 数据处理方法和装置、图像信号处理器、可移动平台 |
CN114189693A (zh) * | 2021-12-06 | 2022-03-15 | 深圳市爱协生科技有限公司 | 像素位置的确定方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889092A (zh) * | 2005-06-30 | 2007-01-03 | 中国科学院自动化研究所 | 基于运动估计的扫描指纹图像重构方法 |
CN104768008A (zh) * | 2015-03-26 | 2015-07-08 | 哈尔滨工业大学 | 一种用于可伸缩视频编码的快速编码方法 |
CN108259912A (zh) * | 2018-03-28 | 2018-07-06 | 天津大学 | 一种分像素运动估计的并行实现方法 |
CN108419082A (zh) * | 2017-02-10 | 2018-08-17 | 北京金山云网络技术有限公司 | 一种运动估计方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10593015B2 (en) * | 2016-05-04 | 2020-03-17 | Texas Instruments Incorporated | Apparatus and method for efficient motion estimation |
-
2018
- 2018-10-31 CN CN201811289840.9A patent/CN109544591B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889092A (zh) * | 2005-06-30 | 2007-01-03 | 中国科学院自动化研究所 | 基于运动估计的扫描指纹图像重构方法 |
CN104768008A (zh) * | 2015-03-26 | 2015-07-08 | 哈尔滨工业大学 | 一种用于可伸缩视频编码的快速编码方法 |
CN108419082A (zh) * | 2017-02-10 | 2018-08-17 | 北京金山云网络技术有限公司 | 一种运动估计方法及装置 |
CN108259912A (zh) * | 2018-03-28 | 2018-07-06 | 天津大学 | 一种分像素运动估计的并行实现方法 |
Non-Patent Citations (1)
Title |
---|
《HEVC编码器中运动估计的VLSI构架设计》;刘凯丽;《中国优秀硕士学位论文全文数据库 信息科技辑》;20171115(第11期);第I136-257页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109544591A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112385211B (zh) | 用于视频编码和解码的运动补偿 | |
US10205953B2 (en) | Object detection informed encoding | |
CN109089121B (zh) | 一种基于视频编码的运动估计方法、装置及电子设备 | |
CN109803146B (zh) | 视频的二次压缩方法、装置、介质和设备 | |
EP4262203A1 (en) | Method and apparatus for video predictive coding | |
US20180199058A1 (en) | Video encoding and decoding method and device | |
US10349071B2 (en) | Motion vector searching apparatus, motion vector searching method, and storage medium storing motion vector searching program | |
CN113170210A (zh) | 视频编码和解码中的仿射模式信令 | |
WO2020258055A1 (zh) | 环路滤波的方法与装置 | |
JP5613319B2 (ja) | 映像符号化装置、映像符号化方法および映像符号化プログラム | |
US20240163470A1 (en) | Method for inter prediction method, video picture encoder and decoder | |
CN109544591B (zh) | 一种运动估计方法、装置、电子设备及存储介质 | |
CN111416977A (zh) | 视频编码器、视频解码器及相应方法 | |
CN109561315B (zh) | 一种运动估计方法、装置、电子设备及存储介质 | |
CN109660806B (zh) | 一种编码方法、装置和电子设备 | |
KR20100136883A (ko) | 의사 난수 필터를 이용한 영상 필터링 방법 및 장치 | |
CN113596452B (zh) | 一种编码方法、装置、电子设备、存储介质 | |
CN112385229A (zh) | 虚拟时间仿射候选 | |
CN101860755A (zh) | 用于台标字幕插入系统的解码方法及图像插入方法 | |
CN112203094B (zh) | 编码方法、装置、电子设备及存储介质 | |
JP2015226199A (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム | |
CN116982262A (zh) | 视频编码中依赖性量化的状态转换 | |
CN111970517B (zh) | 基于双向光流的帧间预测方法、编码方法及相关装置 | |
US11770524B2 (en) | Loop filter utilized in encoder and associated signal processing method | |
WO2024108391A1 (zh) | 视频编解码方法、装置、设备、系统、及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |